diff --git a/.obsidian/plugins/datacore/data.json b/.obsidian/plugins/datacore/data.json new file mode 100644 index 0000000..908da63 --- /dev/null +++ b/.obsidian/plugins/datacore/data.json @@ -0,0 +1,17 @@ +{ + "importerNumThreads": 2, + "importerUtilization": 0.75, + "enableJs": false, + "defaultPagingEnabled": true, + "defaultPageSize": 50, + "scrollOnPageChange": false, + "maxRecursiveRenderDepth": 5, + "defaultDateFormat": "MMMM dd, yyyy", + "defaultDateTimeFormat": "h:mm a - MMMM dd, yyyy", + "renderNullAs": "\\-", + "indexInlineFields": true, + "indexListItems": true, + "recursiveTaskCompletion": true, + "taskCompletionText": "completedAt", + "taskCompletionUseEmojiShorthand": false +} \ No newline at end of file diff --git a/.obsidian/plugins/datacore/main.js b/.obsidian/plugins/datacore/main.js index 0bd53ac..f7eaf51 100644 --- a/.obsidian/plugins/datacore/main.js +++ b/.obsidian/plugins/datacore/main.js @@ -42230,18 +42230,24 @@ function setTaskCompletion(task, originalText, useEmojiShorthand, completionKey, parts[parts.length - 1] = processedPart.trimStart(); return parts.join("\n"); } -var LIST_ITEM_REGEX = /^[\s>]*(\d+\.|\d+\)|\*|-|\+)\s*(\[.{0,1}\])?\s*(.*)$/mu; +var LIST_ITEM_REGEX = /^[\s>\t]*(\d+\.|\d+\)|\*|-|\+)\s*(\[.{0,1}\])?\s*(.*)$/mu; async function rewriteTask(vault, core, task, desiredStatus, desiredText) { var _a; - if (task instanceof MarkdownTaskItem && desiredStatus == task.$status && (desiredText == void 0 || desiredText == task.$text)) - return; + console.log("CHECKS"); + console.log("status equal?", task instanceof MarkdownTaskItem && desiredStatus == task.$status); + console.log("text undefined?", desiredText == void 0); + console.log("same as prev?", desiredText == task.$text); + console.log("after first"); desiredStatus = desiredStatus == "" ? " " : desiredStatus; - let rawFiletext = await vault.adapter.read(task.$file); + const tfile = vault.getFileByPath(task.$file); + let rawFiletext = await vault.read(tfile); let hasRN = rawFiletext.contains("\r"); let filetext = rawFiletext.split(/\r\n|\r|\n/u); if (filetext.length < task.$line) return; + console.log("after 2nc"); let match4 = LIST_ITEM_REGEX.exec(filetext[task.$line]); if (!match4 || ((_a = match4[2]) == null ? void 0 : _a.length) == 0) return; + console.log("after 3rd"); let taskTextParts = task.$text.split("\n"); const statusPart = task instanceof MarkdownTaskItem ? `[${desiredStatus}]` : ""; let initialSpacing = /^[\s>]*/u.exec(filetext[task.$line])[0]; @@ -42249,7 +42255,7 @@ async function rewriteTask(vault, core, task, desiredStatus, desiredText) { if (desiredText) { let desiredParts = desiredText.split("\n"); let newTextLines = [`${initialSpacing}${task.$symbol} ${statusPart} ${desiredParts[0]}`].concat( - desiredParts.slice(1).map((l4) => initialSpacing + " " + l4.trimStart()) + desiredParts.slice(1).map((l4) => initialSpacing + " " + l4.trimStart()) ); filetext.splice(task.$line, task.$text.split("\n").length, ...newTextLines); cnt = newTextLines.length; @@ -42258,9 +42264,13 @@ async function rewriteTask(vault, core, task, desiredStatus, desiredText) { cnt = 1; } let newText = filetext.join(hasRN ? "\r\n" : "\n"); - await vault.adapter.write(task.$file, newText); - const tfile = vault.getFileByPath(task.$file); - console.log(task.$file, filetext.slice(task.$position.start, task.$position.start + cnt).join("\n")); + console.log("before modify"); + try { + await vault.modify(tfile, newText); + } catch (e3) { + console.error(e3); + } + console.log(task.$file, "\n", filetext.slice(task.$position.start, task.$position.start + cnt).join("\n")); if (tfile) core.reload(tfile); } async function completeTask(completed, task, vault, core) { @@ -42397,8 +42407,9 @@ async function setTaskText(app, core, text2, item) { for (let field in item.$infields) { withFields = setInlineField(withFields, field, item.$infields[field].raw); } - console.log("new text", withFields); + console.log("before"); await rewriteTask(app.vault, core, item, item.$status, withFields); + console.log("new text", withFields); } function useFinalizer(newValue, dispatch) { return async function() { @@ -42602,40 +42613,47 @@ function TextEditable(props) { text2.current = state2.content; dispatch({ type: "content-changed", newValue: state2.content }); }, [props.content, state2.content]); - const finalize = useFinalizer(state2.content, dispatch); - const onInput = useStableCallback( - async (e3) => { - if (props.inline) { - if (e3.key === "Enter") { - await finalize(); - } - } else { - if (e3.key === "Enter" && e3.ctrlKey) { - e3.preventDefault(); - await finalize(); - } + const onInput = async (e3) => { + const finalize = useFinalizer(state2.content, dispatch); + if (props.inline) { + if (e3.key === "Enter") { + await finalize(); } - }, - [text2.current, props.sourcePath, state2.updater, state2.content, state2.isEditing] - ); + } else { + if (e3.key === "Enter" && e3.ctrlKey) { + e3.preventDefault(); + await finalize(); + } + } + }; const dblClick = useStableCallback( (e3) => { dispatch({ type: "editing-toggled", - newValue: true + newValue: !state2.isEditing }); }, [text2.current, props.sourcePath, state2.updater, state2.isEditing, state2.content] ); const readonlyEl = /* @__PURE__ */ u3(b, { children: props.markdown ? /* @__PURE__ */ u3(Markdown, { content: text2.current, sourcePath: props.sourcePath || cfc, inline: false }) : /* @__PURE__ */ u3(Lit, { inline: false, sourcePath: props.sourcePath || cfc, value: text2.current }) }); - const editor = /* @__PURE__ */ u3(UncontrolledTextEditable, { onInput, inline: props.inline, dispatch, text: text2.current }); + const editor = /* @__PURE__ */ u3( + UncontrolledTextEditable, + { + toggler: dblClick, + onInput, + inline: props.inline, + dispatch, + text: text2.current + } + ); return /* @__PURE__ */ u3("span", { className: "has-texteditable", onDblClick: dblClick, children: /* @__PURE__ */ u3(Editable, { dispatch, editor, defaultRender: readonlyEl, state: state2 }) }); } function UncontrolledTextEditable({ inline: inline2, text: text2, dispatch, - onInput + onInput, + toggler }) { const [txt, setText] = h2(text2); y2(() => { @@ -42647,7 +42665,7 @@ function UncontrolledTextEditable({ }, [text2, dispatch] ); - return !inline2 ? /* @__PURE__ */ u3("textarea", { className: "datacore-editable", onChange: onChangeCb, onKeyUp: onInput, children: txt }) : /* @__PURE__ */ u3("input", { className: "datacore-editable", type: "text", onChange: onChangeCb, onKeyUp: onInput }); + return !inline2 ? /* @__PURE__ */ u3("textarea", { onDblClick: toggler, className: "datacore-editable", onChange: onChangeCb, onKeyUp: onInput, children: txt }) : /* @__PURE__ */ u3("input", { onDblClick: toggler, className: "datacore-editable", type: "text", onChange: onChangeCb, onKeyUp: onInput }); } function EditableListField({ props, @@ -46304,6 +46322,7 @@ function VanillaTable(props) { container: tableRef }); const pagedRows = T2(() => { + console.log("recalc rows"); if (paging.enabled) return Groupings.slice(props.rows, paging.page * paging.pageSize, (paging.page + 1) * paging.pageSize); else return props.rows; @@ -46370,11 +46389,19 @@ function TableGroupHeader({ return /* @__PURE__ */ u3("tr", { className: "datacore-table-group-header", children: /* @__PURE__ */ u3("td", { colSpan: width, children: renderable }) }); } function TableRow({ level, row, columns }) { - return /* @__PURE__ */ u3("tr", { className: "datacore-table-row", style: level ? `padding-left: ${level * 5}px` : void 0, children: columns.map((col) => /* @__PURE__ */ u3(TableRowCell, { row, column: col })) }); + return /* @__PURE__ */ u3( + "tr", + { + className: "datacore-table-row", + style: level ? `padding-left: ${level * 5}px` : void 0, + children: columns.map((col) => /* @__PURE__ */ u3(TableRowCell, { row, column: col })) + }, + "$id" in row ? row.$id : void 0 + ); } function TableRowCell({ row, column: column2 }) { var _a; - const value = T2(() => column2.value(row), [row, column2.value]); + const value = column2.value(row); const [editableState, dispatch] = useEditableDispatch({ content: value, isEditing: false, @@ -46382,11 +46409,10 @@ function TableRowCell({ row, column: column2 }) { }); const renderable = T2(() => { if (column2.render) { - let r4 = column2.render(editableState.content, row); - if (r4 && typeof r4 == "object" && "props" in r4) return { ...r4, props: { ...r4.props, dispatch } }; + let r4 = column2.render(column2.editable ? editableState.content : value, row); return r4; } else return value; - }, [row, column2.render, value]); + }, [row, column2.render, editableState.content, value]); const rendered = useAsElement(renderable); const { editor: Editor } = column2; return /* @__PURE__ */ u3( @@ -46394,7 +46420,7 @@ function TableRowCell({ row, column: column2 }) { { onDblClick: () => dispatch({ type: "editing-toggled", newValue: !editableState.isEditing }), className: "datacore-table-cell", - children: column2.editable && editableState.isEditing && Editor ? /* @__PURE__ */ u3(Editor, { dispatch, ...editableState, ...(_a = column2.editorProps) != null ? _a : {} }) : rendered + children: column2.editable && editableState.isEditing && Editor ? /* @__PURE__ */ u3(Editor, { dispatch, ...(_a = column2.editorProps) != null ? _a : {}, ...editableState }) : rendered } ); } @@ -47426,7 +47452,7 @@ function TreeTableRowCell({ isFirst = false }) { var _a; - const value = T2(() => column2.value(row.value), [row.value, column2.value, column2.value(row.value)]); + const value = column2.value(row.value); const updater = q2( (v3) => { column2.onUpdate && column2.onUpdate(v3, row.value); @@ -47771,12 +47797,12 @@ var DatacoreLocalApi = class { return DataArray.wrap(input2); } /** Sets the text of a given task programmatically. */ - setTaskText(newText, task) { - setTaskText(this.app, this.core, newText, task); + async setTaskText(newText, task) { + await setTaskText(this.app, this.core, newText, task); } /** Sets the completion status of a given task programmatically. */ - setTaskCompletion(completed, task) { - completeTask(completed, task, this.app.vault, this.core); + async setTaskCompletion(completed, task) { + await completeTask(completed, task, this.app.vault, this.core); } /** Memoize the input automatically and process it using a Data Array; returns a vanilla array back. */ useArray(input2, process2, deps) { @@ -49634,7 +49660,7 @@ function inlineWorker(scriptText) { // src/index/web-worker/importer.worker.ts function Worker2() { - return inlineWorker('var cl=Object.create;var Js=Object.defineProperty,fl=Object.defineProperties,dl=Object.getOwnPropertyDescriptor,hl=Object.getOwnPropertyDescriptors,pl=Object.getOwnPropertyNames,qr=Object.getOwnPropertySymbols,ml=Object.getPrototypeOf,zs=Object.prototype.hasOwnProperty,Mo=Object.prototype.propertyIsEnumerable;var Hs=(n,e)=>(e=Symbol[n])?e:Symbol.for("Symbol."+n),Dl=n=>{throw TypeError(n)};var Ao=(n,e,t)=>e in n?Js(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,R=(n,e)=>{for(var t in e||(e={}))zs.call(e,t)&&Ao(n,t,e[t]);if(qr)for(var t of qr(e))Mo.call(e,t)&&Ao(n,t,e[t]);return n},ye=(n,e)=>fl(n,hl(e));var Ys=(n,e)=>{var t={};for(var r in n)zs.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&qr)for(var r of qr(n))e.indexOf(r)<0&&Mo.call(n,r)&&(t[r]=n[r]);return t};var _o=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var yl=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of pl(e))!zs.call(n,s)&&s!==t&&Js(n,s,{get:()=>e[s],enumerable:!(r=dl(e,s))||r.enumerable});return n};var Vr=(n,e,t)=>(t=n!=null?cl(ml(n)):{},yl(e||!n||!n.__esModule?Js(t,"default",{value:n,enumerable:!0}):t,n));var gl=function(n,e){this[0]=n,this[1]=e};var S=n=>{var e=n[Hs("asyncIterator")],t=!1,r,s={};return e==null?(e=n[Hs("iterator")](),r=i=>s[i]=o=>e[i](o)):(e=e.call(n),r=i=>s[i]=o=>{if(t){if(t=!1,i==="throw")throw o;return o}return t=!0,{done:!1,value:new gl(new Promise(a=>{var u=e[i](o);u instanceof Object||Dl("Object expected"),a(u)}),1)}}),s[Hs("iterator")]=()=>s,r("next"),"throw"in e?r("throw"):s.throw=i=>{throw i},"return"in e&&r("return"),s};var ns=_o((pr,Ai)=>{(function(n,e){typeof pr=="object"&&typeof Ai=="object"?Ai.exports=e():typeof define=="function"&&define.amd?define([],e):typeof pr=="object"?pr.Parsimmon=e():n.Parsimmon=e()})(typeof self!="undefined"?self:pr,function(){return function(n){var e={};function t(r){if(e[r])return e[r].exports;var s=e[r]={i:r,l:!1,exports:{}};return n[r].call(s.exports,s,s.exports,t),s.l=!0,s.exports}return t.m=n,t.c=e,t.d=function(r,s,i){t.o(r,s)||Object.defineProperty(r,s,{configurable:!1,enumerable:!0,get:i})},t.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},t.n=function(r){var s=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(s,"a",s),s},t.o=function(r,s){return Object.prototype.hasOwnProperty.call(r,s)},t.p="",t(t.s=0)}([function(n,e,t){"use strict";function r(c){if(!(this instanceof r))return new r(c);this._=c}var s=r.prototype;function i(c,m){for(var E=0;E>7),buf:function(L){var A=o(function(M,U,te,Ee){return M.concat(te===Ee.length-1?Buffer.from([U,0]).readUInt16BE(0):Ee.readUInt16BE(te))},[],L);return Buffer.from(a(function(M){return(M<<1&65535)>>8},A))}(E.buf)}}),E}function l(){return typeof Buffer!="undefined"}function f(){if(!l())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function d(c){f();var m=o(function(A,M){return A+M},0,c);if(m%8!=0)throw new Error("The bits ["+c.join(", ")+"] add up to "+m+" which is not an even number of bytes; the total should be divisible by 8");var E,k=m/8,L=(E=function(A){return A>48},o(function(A,M){return A||(E(M)?M:A)},null,c));if(L)throw new Error(L+" bit range requested exceeds 48 bit (6 byte) Number max.");return new r(function(A,M){var U=k+M;return U>A.length?v(M,k.toString()+" bytes"):w(U,o(function(te,Ee){var pe=u(Ee,te.buf);return{coll:te.coll.concat(pe.v),buf:pe.buf}},{coll:[],buf:A.slice(M,U)},c).coll)})}function p(c,m){return new r(function(E,k){return f(),k+m>E.length?v(k,m+" bytes for "+c):w(k+m,E.slice(k,k+m))})}function h(c,m){if(typeof(E=m)!="number"||Math.floor(E)!==E||m<0||m>6)throw new Error(c+" requires integer length in range [0, 6].");var E}function b(c){return h("uintBE",c),p("uintBE("+c+")",c).map(function(m){return m.readUIntBE(0,c)})}function g(c){return h("uintLE",c),p("uintLE("+c+")",c).map(function(m){return m.readUIntLE(0,c)})}function D(c){return h("intBE",c),p("intBE("+c+")",c).map(function(m){return m.readIntBE(0,c)})}function T(c){return h("intLE",c),p("intLE("+c+")",c).map(function(m){return m.readIntLE(0,c)})}function I(c){return c instanceof r}function N(c){return{}.toString.call(c)==="[object Array]"}function y(c){return l()&&Buffer.isBuffer(c)}function w(c,m){return{status:!0,index:c,value:m,furthest:-1,expected:[]}}function v(c,m){return N(m)||(m=[m]),{status:!1,index:-1,value:null,furthest:c,expected:m}}function O(c,m){if(!m||c.furthest>m.furthest)return c;var E=c.furthest===m.furthest?function(k,L){if(function(){if(r._supportsSet!==void 0)return r._supportsSet;var ht=typeof Set!="undefined";return r._supportsSet=ht,ht}()&&Array.from){for(var A=new Set(k),M=0;M=0;){if(M in E){k=E[M].line,A===0&&(A=E[M].lineStart);break}(c.charAt(M)===`\n`||c.charAt(M)==="\\r"&&c.charAt(M+1)!==`\n`)&&(L++,A===0&&(A=M+1)),M--}var U=k+L,te=m-A;return E[m]={line:U,lineStart:A},{offset:m,line:U+1,column:te+1}}function j(c){if(!I(c))throw new Error("not a parser: "+c)}function Y(c,m){return typeof c=="string"?c.charAt(m):c[m]}function ee(c){if(typeof c!="number")throw new Error("not a number: "+c)}function ae(c){if(typeof c!="function")throw new Error("not a function: "+c)}function x(c){if(typeof c!="string")throw new Error("not a string: "+c)}var $=2,Q=3,ue=8,De=5*ue,Re=4*ue,Qt=" ";function Mt(c,m){return new Array(m+1).join(c)}function _t(c,m,E){var k=m-c.length;return k<=0?c:Mt(E,k)+c}function Ae(c,m,E,k){return{from:c-m>0?c-m:0,to:c+E>k?k:c+E}}function Bt(c,m){var E,k,L,A,M,U=m.index,te=U.offset,Ee=1;if(te===c.length)return"Got the end of the input";if(y(c)){var pe=te-te%ue,dt=te-pe,ve=Ae(pe,De,Re+ue,c.length),ht=a(function(le){return a(function(en){return _t(en.toString(16),2,"0")},le)},function(le,en){var tn=le.length,Rt=[],nn=0;if(tn<=en)return[le.slice()];for(var rn=0;rn=4&&(E+=1),Ee=2,L=a(function(le){return le.length<=4?le.join(" "):le.slice(0,4).join(" ")+" "+le.slice(4).join(" ")},ht),(M=(8*(A.to>0?A.to-1:A.to)).toString(16).length)<2&&(M=2)}else{var Xt=c.split(/\\r\\n|[\\n\\r\\u2028\\u2029]/);E=U.column-1,k=U.line-1,A=Ae(k,$,Q,Xt.length),L=Xt.slice(A.from,A.to),M=A.to.toString().length}var ll=k-A.from;return y(c)&&(M=(8*(A.to>0?A.to-1:A.to)).toString(16).length)<2&&(M=2),o(function(le,en,tn){var Rt,nn=tn===ll,rn=nn?"> ":Qt;return Rt=y(c)?_t((8*(A.from+tn)).toString(16),M,"0"):_t((A.from+tn+1).toString(),M," "),[].concat(le,[rn+Rt+" | "+en],nn?[Qt+Mt(" ",M)+" | "+_t("",E," ")+Mt("^",Ee)]:[])},[],L).join(`\n`)}function So(c,m){return[`\n`,"-- PARSING FAILED "+Mt("-",50),`\n\n`,Bt(c,m),`\n\n`,(E=m.expected,E.length===1?`Expected:\n\n`+E[0]:`Expected one of the following: \n\n`+E.join(", ")),`\n`].join("");var E}function ko(c){return c.flags!==void 0?c.flags:[c.global?"g":"",c.ignoreCase?"i":"",c.multiline?"m":"",c.unicode?"u":"",c.sticky?"y":""].join("")}function Br(){for(var c=[].slice.call(arguments),m=c.length,E=0;E=2?ee(m):m=0;var E=function(L){return RegExp("^(?:"+L.source+")",ko(L))}(c),k=""+c;return r(function(L,A){var M=E.exec(L.slice(A));if(M){if(0<=m&&m<=M.length){var U=M[0],te=M[m];return w(A+U.length,te)}return v(A,"valid match group (0 to "+M.length+") in "+k)}return v(A,k)})}function $t(c){return r(function(m,E){return w(E,c)})}function $r(c){return r(function(m,E){return v(E,c)})}function Rr(c){if(I(c))return r(function(m,E){var k=c._(m,E);return k.index=E,k.value="",k});if(typeof c=="string")return Rr(Bn(c));if(c instanceof RegExp)return Rr(ft(c));throw new Error("not a string, regexp, or parser: "+c)}function vo(c){return j(c),r(function(m,E){var k=c._(m,E),L=m.slice(E,k.index);return k.status?v(E,\'not "\'+L+\'"\'):w(E,null)})}function jr(c){return ae(c),r(function(m,E){var k=Y(m,E);return E=c.length?v(m,"any character/byte"):w(m+1,Y(c,m))}),tl=r(function(c,m){return w(c.length,c.slice(m))}),Ws=r(function(c,m){return m=0}).desc(m)},r.optWhitespace=ol,r.Parser=r,r.range=function(c,m){return jr(function(E){return c<=E&&E<=m}).desc(c+"-"+m)},r.regex=ft,r.regexp=ft,r.sepBy=Co,r.sepBy1=Us,r.seq=Br,r.seqMap=Pt,r.seqObj=function(){for(var c,m={},E=0,k=(c=arguments,Array.prototype.slice.call(c)),L=k.length,A=0;A255)throw new Error("Value specified to byte constructor ("+c+"=0x"+c.toString(16)+") is larger in value than a single byte.");var m=(c>15?"0x":"0x0")+c.toString(16);return r(function(E,k){var L=Y(E,k);return L===c?w(k+1,L):v(k,m)})},buffer:function(c){return p("buffer",c).map(function(m){return Buffer.from(m)})},encodedString:function(c,m){return p("string",m).map(function(E){return E.toString(c)})},uintBE:b,uint8BE:b(1),uint16BE:b(2),uint32BE:b(4),uintLE:g,uint8LE:g(1),uint16LE:g(2),uint32LE:g(4),intBE:D,int8BE:D(1),int16BE:D(2),int32BE:D(4),intLE:T,int8LE:T(1),int16LE:T(2),int32LE:T(4),floatBE:p("floatBE",4).map(function(c){return c.readFloatBE(0)}),floatLE:p("floatLE",4).map(function(c){return c.readFloatLE(0)}),doubleBE:p("doubleBE",8).map(function(c){return c.readDoubleBE(0)}),doubleLE:p("doubleLE",8).map(function(c){return c.readDoubleLE(0)})},n.exports=r}])})});var Ru=_o(Ne=>{"use strict";var Sf=Ne&&Ne.__extends||function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,s){r.__proto__=s}||function(r,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(r[i]=s[i])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(Ne,"__esModule",{value:!0});Ne.EmptyBTree=Ne.asSet=Ne.simpleComparator=Ne.defaultComparator=void 0;function Bu(n,e){if(Number.isFinite(n)&&Number.isFinite(e))return n-e;var t=typeof n,r=typeof e;if(t!==r)return te?1:n===e?0:Number.isNaN(n)?Number.isNaN(e)?0:-1:Number.isNaN(e)?1:Array.isArray(n)?0:Number.NaN}Ne.defaultComparator=Bu;function kf(n,e){return n>e?1:n=4?Math.min(r,256):32,this._compare=t||Bu,e&&this.setPairs(e)}return Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"length",{get:function(){return this._size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"isEmpty",{get:function(){return this._size===0},enumerable:!1,configurable:!0}),n.prototype.clear=function(){this._root=fo,this._size=0},n.prototype.forEach=function(e,t){var r=this;return t!==void 0&&(e=e.bind(t)),this.forEachPair(function(s,i){return e(i,s,r)})},n.prototype.forEachPair=function(e,t){var r=this.minKey(),s=this.maxKey();return this.forRange(r,s,!0,e,t)},n.prototype.get=function(e,t){return this._root.get(e,t,this)},n.prototype.set=function(e,t,r){this._root.isShared&&(this._root=this._root.clone());var s=this._root.set(e,t,r,this);return s===!0||s===!1?s:(this._root=new vf([this._root,s]),!0)},n.prototype.has=function(e){return this.forRange(e,e,!0,void 0)!==0},n.prototype.delete=function(e){return this.editRange(e,e,!0,Mu)!==0},n.prototype.with=function(e,t,r){var s=this.clone();return s.set(e,t,r)||r?s:this},n.prototype.withPairs=function(e,t){var r=this.clone();return r.setPairs(e,t)!==0||t?r:this},n.prototype.withKeys=function(e,t){for(var r=this.clone(),s=!1,i=0;i=s.length){a=3;continue e}if(++i[l]0;l--)s[l-1]=s[l][i[l]].children,i[l-1]=0;o=s[0][i[0]],u=-1,a=t!==void 0?1:0;continue;case 3:return{done:!0,value:void 0}}})},n.prototype.entriesReversed=function(e,t,r){if(e===void 0&&(e=this.maxKey(),r=void 0,e===void 0))return An();var s=this.findPath(e)||this.findPath(this.maxKey()),i=s.nodequeue,o=s.nodeindex,a=s.leaf;Le(!i[0]||a===i[0][o[0]],"wat!");var u=a.indexOf(e,0,this._compare);!r&&u=0)return{done:!1,value:[a.keys[u],a.values[u]]};l=2;continue;case 1:if(--u>=0)return t[0]=a.keys[u],t[1]=a.values[u],{done:!1,value:t};l=2;case 2:for(var f=-1;;){if(++f>=i.length){l=3;continue e}if(--o[f]>=0)break}for(;f>0;f--)i[f-1]=i[f][o[f]].children,o[f-1]=i[f-1].length-1;a=i[0][o[0]],u=a.keys.length,l=t!==void 0?1:0;continue;case 3:return{done:!0,value:void 0}}})},n.prototype.findPath=function(e){var t=this._root,r,s;if(t.isLeaf)r=_u,s=_u;else{r=[],s=[];for(var i=0;!t.isLeaf;i++){if(r[i]=t.children,s[i]=e===void 0?0:t.indexOf(e,0,this._compare),s[i]>=r[i].length)return;t=r[i][s[i]]}r.reverse(),s.reverse()}return{nodequeue:r,nodeindex:s,leaf:t}},n.prototype.diffAgainst=function(e,t,r,s){if(e._compare!==this._compare)throw new Error("Tree comparators are not the same.");if(this.isEmpty||e.isEmpty)return this.isEmpty&&e.isEmpty?void 0:this.isEmpty?r===void 0?void 0:n.stepToEnd(n.makeDiffCursor(e),r):t===void 0?void 0:n.stepToEnd(n.makeDiffCursor(this),t);for(var i=this._compare,o=n.makeDiffCursor(this),a=n.makeDiffCursor(e),u=!0,l=!0,f=n.compare(o,a,i);u&&l;){var d=n.compare(o,a,i),p=o.leaf,h=o.internalSpine,b=o.levelIndices,g=a.leaf,D=a.internalSpine,T=a.levelIndices;if(p||g){if(f!==0){if(d===0){if(p&&g&&s){var I=p.values[b[b.length-1]],N=g.values[T[T.length-1]];if(!Object.is(I,N)){var y=s(o.currentKey,I,N);if(y&&y.break)return y.break}}}else if(d>0){if(g&&r){var w=g.values[T[T.length-1]],y=r(a.currentKey,w);if(y&&y.break)return y.break}}else if(t&&p&&f!==0){var I=p.values[b[b.length-1]],y=t(o.currentKey,I);if(y&&y.break)return y.break}}}else if(!p&&!g&&d===0){var v=h.length-1,O=D.length-1,C=h[v][b[v]],V=D[O][T[O]];if(V===C){f=0,u=n.step(o,!0),l=n.step(a,!0);continue}}f=d,d<0?u=n.step(o):l=n.step(a)}if(u&&t)return n.finishCursorWalk(o,a,i,t);if(l&&r)return n.finishCursorWalk(a,o,i,r)},n.finishCursorWalk=function(e,t,r,s){var i=n.compare(e,t,r);if(i===0){if(!n.step(e))return}else i<0&&Le(!1,"cursor walk terminated early");return n.stepToEnd(e,s)},n.stepToEnd=function(e,t){for(var r=!0;r;){var s=e.leaf,i=e.levelIndices,o=e.currentKey;if(s){var a=s.values[i[i.length-1]],u=t(o,a);if(u&&u.break)return u.break}r=n.step(e)}},n.makeDiffCursor=function(e){var t=e._root,r=e.height;return{height:r,internalSpine:[[t]],levelIndices:[0],leaf:void 0,currentKey:t.maxKey()}},n.step=function(e,t){var r=e.internalSpine,s=e.levelIndices,i=e.leaf;if(t===!0||i){var o=s.length;if(t===!0||s[o-1]===0){var a=r.length;if(a===0)return!1;for(var u=a-1,l=u;l>=0;){if(s[l]>0)return ls?Of:void 0}),i},n.prototype.setPairs=function(e,t){for(var r=0,s=0;s>1;i0)o=a;else{if(u===0)return a;if(e===e)return s.length;throw new Error("BTree: NaN was used as a key")}a=i+o>>1}return a^t},n.prototype.minKey=function(){return this.keys[0]},n.prototype.minPair=function(e){if(this.keys.length!==0)return e[0]=this.keys[0],e[1]=this.values[0],e},n.prototype.maxPair=function(e){if(this.keys.length!==0){var t=this.keys.length-1;return e[0]=this.keys[t],e[1]=this.values[t],e}},n.prototype.clone=function(){var e=this.values;return new n(this.keys.slice(0),e===me?e:e.slice(0))},n.prototype.greedyClone=function(e){return this.isShared&&!e?this:this.clone()},n.prototype.get=function(e,t,r){var s=this.indexOf(e,-1,r._compare);return s<0?t:this.values[s]},n.prototype.getPairOrNextLower=function(e,t,r,s){var i=this.indexOf(e,-1,t),o=i<0?~i-1:r?i:i-1;if(o>=0)return s[0]=this.keys[o],s[1]=this.values[o],s},n.prototype.getPairOrNextHigher=function(e,t,r,s){var i=this.indexOf(e,-1,t),o=i<0?~i:r?i:i+1,a=this.keys;if(o0,"empty leaf at depth",e,"and baseIndex",r),s},n.prototype.set=function(e,t,r,s){var i=this.indexOf(e,-1,s._compare);if(i<0){if(i=~i,s._size++,this.keys.lengththis.keys.length&&(i-=this.keys.length,a=o),a.insertInLeaf(i,e,t,s),o}else return r!==!1&&(t!==void 0&&this.reifyValues(),this.keys[i]=e,this.values[i]=t),!1},n.prototype.reifyValues=function(){return this.values===me?this.values=this.values.slice(0,this.keys.length):this.values},n.prototype.insertInLeaf=function(e,t,r,s){if(this.keys.splice(e,0,t),this.values===me){for(;me.length>1,t=this.keys.splice(e),r=this.values===me?me:this.values.splice(e);return new n(t,r)},n.prototype.forRange=function(e,t,r,s,i,o,a){var u=i._compare,l,f;if(t===e){if(!r||(f=(l=this.indexOf(e,-1,u))+1,l<0))return o}else l=this.indexOf(e,0,u),f=this.indexOf(t,-1,u),f<0?f=~f:r===!0&&f++;var d=this.keys,p=this.values;if(a!==void 0)for(var h=l;h=a.length)return this.maxPair(i);var u=a[o].getPairOrNextLower(t,r,s,i);return u===void 0&&o>0?a[o-1].maxPair(i):u},e.prototype.getPairOrNextHigher=function(t,r,s,i){var o=this.indexOf(t,0,r),a=this.children,u=a.length;if(!(o>=u)){var l=a[o].getPairOrNextHigher(t,r,s,i);return l===void 0&&o1||t>0,"internal node has length",i,"at depth",t,"baseIndex",s);for(var a=0,u=this.children,l=this.keys,f=0,d=0;d=f,"wtf",s),Le(d===0||u[d-1].constructor===u[d].constructor,"type mismatch, baseIndex:",s),u[d].maxKey()!=l[d]&&Le(!1,"keys[",d,"] =",l[d],"is wrong, should be ",u[d].maxKey(),"at depth",t,"baseIndex",s),d===0||r._compare(l[d-1],l[d])<0||Le(!1,"sort violation at depth",t,"index",d,"keys",l[d-1],l[d]);var p=f===0;return(p||f>r.maxNodeSize*o)&&Le(!1,p?"too few":"too many","children (",f,a,") at depth",t,"maxNodeSize:",r.maxNodeSize,"children.length:",o,"baseIndex:",s),a},e.prototype.set=function(t,r,s,i){var o=this.children,a=i._maxNodeSize,u=i._compare,l=Math.min(this.indexOf(t,0,u),o.length-1),f=o[l];if(f.isShared&&(o[l]=f=f.clone()),f.keys.length>=a){var d;l>0&&(d=o[l-1]).keys.length0&&(b=h,l-=this.keys.length),b.insert(l+1,p),h},e.prototype.insert=function(t,r){this.children.splice(t,0,r),this.keys.splice(t,0,r.maxKey())},e.prototype.splitOffRightSide=function(){var t=this.children.length>>1;return new e(this.children.splice(t),this.keys.splice(t))},e.prototype.takeFromRight=function(t){this.keys.push(t.keys.shift()),this.children.push(t.children.shift())},e.prototype.takeFromLeft=function(t){this.keys.unshift(t.keys.pop()),this.children.unshift(t.children.pop())},e.prototype.forRange=function(t,r,s,i,o,a,u){var l=o._compare,f=this.keys,d=this.children,p=this.indexOf(t,0,l),h=p,b=Math.min(r===t?p:this.indexOf(r,0,l),f.length-1);if(i){if(h<=b)try{for(;h<=b;h++){d[h].isShared&&(d[h]=d[h].clone());var g=d[h].forRange(t,r,s,i,o,a,u);if(f[h]=d[h].maxKey(),typeof g!="number")return g;a=g}}finally{var D=o._maxNodeSize>>1;for(p>0&&p--,h=b;h>=p;h--)d[h].keys.length<=D&&(d[h].keys.length!==0?this.tryMerge(h,o._maxNodeSize):(f.splice(h,1),d.splice(h,1)));d.length!==0&&d[0].keys.length===0&&Le(!1,"emptiness bug")}}else for(;h<=b;h++){var g=d[h].forRange(t,r,s,i,o,a,u);if(typeof g!="number")return g;a=g}return a},e.prototype.tryMerge=function(t,r){var s=this.children;return t>=0&&t+1{let i=[e(s),s];return r&&t(r[0],i[0])===r[0]?r:i},null)[1]}function Ro(n,e){return e.reduce((t,r)=>(t[r]=n[r],t),{})}function kt(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function nt(n,e,t){return rr(n)&&n>=e&&n<=t}function bl(n,e){return n-e*Math.floor(n/e)}function re(n,e=2){let t=n<0,r;return t?r="-"+(""+-n).padStart(e,"0"):r=(""+n).padStart(e,"0"),r}function Dt(n){if(!(W(n)||n===null||n===""))return parseInt(n,10)}function Ct(n){if(!(W(n)||n===null||n===""))return parseFloat(n)}function sr(n){if(!(W(n)||n===null||n==="")){let e=parseFloat("0."+n)*1e3;return Math.floor(e)}}function an(n,e,t=!1){let r=10**e;return(t?Math.trunc:Math.round)(n*r)/r}function jt(n){return n%4===0&&(n%100!==0||n%400===0)}function qt(n){return jt(n)?366:365}function un(n,e){let t=bl(e-1,12)+1,r=n+(e-t)/12;return t===2?jt(r)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][t-1]}function ir(n){let e=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);return n.year<100&&n.year>=0&&(e=new Date(e),e.setUTCFullYear(e.getUTCFullYear()-1900)),+e}function ln(n){let e=(n+Math.floor(n/4)-Math.floor(n/100)+Math.floor(n/400))%7,t=n-1,r=(t+Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))%7;return e===4||r===3?53:52}function or(n){return n>99?n:n>60?1900+n:2e3+n}function Jr(n,e,t,r=null){let s=new Date(n),i={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(i.timeZone=r);let o=R({timeZoneName:e},i),a=new Intl.DateTimeFormat(t,o).formatToParts(s).find(u=>u.type.toLowerCase()==="timezonename");return a?a.value:null}function Vt(n,e){let t=parseInt(n,10);Number.isNaN(t)&&(t=0);let r=parseInt(e,10)||0,s=t<0||Object.is(t,-0)?-r:r;return t*60+s}function ei(n){let e=Number(n);if(typeof n=="boolean"||n===""||Number.isNaN(e))throw new fe(`Invalid unit value ${n}`);return e}function cn(n,e){let t={};for(let r in n)if(kt(n,r)){let s=n[r];if(s==null)continue;t[e(r)]=ei(s)}return t}function vt(n,e){let t=Math.trunc(Math.abs(n/60)),r=Math.trunc(Math.abs(n%60)),s=n>=0?"+":"-";switch(e){case"short":return`${s}${re(t,2)}:${re(r,2)}`;case"narrow":return`${s}${t}${r>0?`:${r}`:""}`;case"techie":return`${s}${re(t,2)}${re(r,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function ar(n){return Ro(n,["hour","minute","second","millisecond"])}var ti=/[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;var Fl=["January","February","March","April","May","June","July","August","September","October","November","December"],ni=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],El=["J","F","M","A","M","J","J","A","S","O","N","D"];function ri(n){switch(n){case"narrow":return[...El];case"short":return[...ni];case"long":return[...Fl];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var si=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ii=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],wl=["M","T","W","T","F","S","S"];function oi(n){switch(n){case"narrow":return[...wl];case"short":return[...ii];case"long":return[...si];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var ai=["AM","PM"],Tl=["Before Christ","Anno Domini"],Sl=["BC","AD"],kl=["B","A"];function ui(n){switch(n){case"narrow":return[...kl];case"short":return[...Sl];case"long":return[...Tl];default:return null}}function jo(n){return ai[n.hour<12?0:1]}function qo(n,e){return oi(e)[n.weekday-1]}function Vo(n,e){return ri(e)[n.month-1]}function Uo(n,e){return ui(e)[n.year<0?0:1]}function Ko(n,e,t="always",r=!1){let s={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},i=["hours","minutes","seconds"].indexOf(n)===-1;if(t==="auto"&&i){let d=n==="days";switch(e){case 1:return d?"tomorrow":`next ${s[n][0]}`;case-1:return d?"yesterday":`last ${s[n][0]}`;case 0:return d?"today":`this ${s[n][0]}`;default:}}let o=Object.is(e,-0)||e<0,a=Math.abs(e),u=a===1,l=s[n],f=r?u?l[1]:l[2]||l[1]:u?s[n][0]:n;return o?`${a} ${f} ago`:`in ${a} ${f}`}function Wo(n,e){let t="";for(let r of n)r.literal?t+=r.val:t+=e(r.val);return t}var Cl={D:on,DD:$n,DDD:Rn,DDDD:jn,t:qn,tt:Vn,ttt:Un,tttt:Kn,T:Wn,TT:Hn,TTT:Jn,TTTT:zn,f:Yn,ff:Zn,fff:Xn,ffff:tr,F:Gn,FF:Qn,FFF:er,FFFF:nr},we=class n{static create(e,t={}){return new n(e,t)}static parseFormat(e){let t=null,r="",s=!1,i=[];for(let o=0;o0&&i.push({literal:s,val:r}),t=null,r="",s=!s):s||a===t?r+=a:(r.length>0&&i.push({literal:!1,val:r}),r=a,t=a)}return r.length>0&&i.push({literal:s,val:r}),i}static macroTokenToFormatOpts(e){return Cl[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,R(R({},this.opts),t)).format()}formatDateTime(e,t={}){return this.loc.dtFormatter(e,R(R({},this.opts),t)).format()}formatDateTimeParts(e,t={}){return this.loc.dtFormatter(e,R(R({},this.opts),t)).formatToParts()}resolvedOptions(e,t={}){return this.loc.dtFormatter(e,R(R({},this.opts),t)).resolvedOptions()}num(e,t=0){if(this.opts.forceSimple)return re(e,t);let r=R({},this.opts);return t>0&&(r.padTo=t),this.loc.numberFormatter(r).format(e)}formatDateTimeFromString(e,t){let r=this.loc.listingMode()==="en",s=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",i=(h,b)=>this.loc.extract(e,h,b),o=h=>e.isOffsetFixed&&e.offset===0&&h.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,h.format):"",a=()=>r?jo(e):i({hour:"numeric",hourCycle:"h12"},"dayperiod"),u=(h,b)=>r?Vo(e,h):i(b?{month:h}:{month:h,day:"numeric"},"month"),l=(h,b)=>r?qo(e,h):i(b?{weekday:h}:{weekday:h,month:"long",day:"numeric"},"weekday"),f=h=>{let b=n.macroTokenToFormatOpts(h);return b?this.formatWithSystemDefault(e,b):h},d=h=>r?Uo(e,h):i({era:h},"era"),p=h=>{switch(h){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return o({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return o({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return o({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return a();case"d":return s?i({day:"numeric"},"day"):this.num(e.day);case"dd":return s?i({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return s?i({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return s?i({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return u("short",!0);case"LLLL":return u("long",!0);case"LLLLL":return u("narrow",!0);case"M":return s?i({month:"numeric"},"month"):this.num(e.month);case"MM":return s?i({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return u("short",!1);case"MMMM":return u("long",!1);case"MMMMM":return u("narrow",!1);case"y":return s?i({year:"numeric"},"year"):this.num(e.year);case"yy":return s?i({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return s?i({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return s?i({year:"numeric"},"year"):this.num(e.year,6);case"G":return d("short");case"GG":return d("long");case"GGGGG":return d("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return f(h)}};return Wo(n.parseFormat(t),p)}formatDurationFromString(e,t){let r=u=>{switch(u[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},s=u=>l=>{let f=r(l);return f?this.num(u.get(f),l.length):l},i=n.parseFormat(t),o=i.reduce((u,{literal:l,val:f})=>l?u:u.concat(f),[]),a=e.shiftTo(...o.map(r).filter(u=>u));return Wo(i,s(a))}};var de=class{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}};var ke=class{get type(){throw new je}get name(){throw new je}get ianaName(){return this.name}get isUniversal(){throw new je}offsetName(e,t){throw new je}formatOffset(e,t){throw new je}offset(e){throw new je}equals(e){throw new je}get isValid(){throw new je}};var ci=null,fn=class n extends ke{static get instance(){return ci===null&&(ci=new n),ci}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return Jr(e,t,r)}formatOffset(e,t){return vt(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}};var Yr={};function vl(n){return Yr[n]||(Yr[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),Yr[n]}var Ol={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function xl(n,e){let t=n.format(e).replace(/\\u200E/g,""),r=/(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(t),[,s,i,o,a,u,l,f]=r;return[o,s,i,a,u,l,f]}function Il(n,e){let t=n.formatToParts(e),r=[];for(let s=0;s=0?b:1e3+b,(p-h)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}};var fi=null,he=class n extends ke{static get utcInstance(){return fi===null&&(fi=new n(0)),fi}static instance(e){return e===0?n.utcInstance:new n(e)}static parseSpecifier(e){if(e){let t=e.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);if(t)return new n(Vt(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${vt(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${vt(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return vt(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}};var dn=class extends ke{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function Ve(n,e){let t;if(W(n)||n===null)return e;if(n instanceof ke)return n;if(Bo(n)){let r=n.toLowerCase();return r==="local"||r==="system"?e:r==="utc"||r==="gmt"?he.utcInstance:he.parseSpecifier(r)||ge.create(n)}else return tt(n)?he.instance(n):typeof n=="object"&&n.offset&&typeof n.offset=="number"?n:new dn(n)}var Ho=()=>Date.now(),Jo="system",zo=null,Yo=null,Go=null,Zo,X=class{static get now(){return Ho}static set now(e){Ho=e}static set defaultZone(e){Jo=e}static get defaultZone(){return Ve(Jo,fn.instance)}static get defaultLocale(){return zo}static set defaultLocale(e){zo=e}static get defaultNumberingSystem(){return Yo}static set defaultNumberingSystem(e){Yo=e}static get defaultOutputCalendar(){return Go}static set defaultOutputCalendar(e){Go=e}static get throwOnInvalid(){return Zo}static set throwOnInvalid(e){Zo=e}static resetCaches(){ne.resetCache(),ge.resetCache()}};var Qo={};function Ll(n,e={}){let t=JSON.stringify([n,e]),r=Qo[t];return r||(r=new Intl.ListFormat(n,e),Qo[t]=r),r}var di={};function hi(n,e={}){let t=JSON.stringify([n,e]),r=di[t];return r||(r=new Intl.DateTimeFormat(n,e),di[t]=r),r}var pi={};function Nl(n,e={}){let t=JSON.stringify([n,e]),r=pi[t];return r||(r=new Intl.NumberFormat(n,e),pi[t]=r),r}var mi={};function Al(n,e={}){let o=e,{base:t}=o,r=Ys(o,["base"]),s=JSON.stringify([n,r]),i=mi[s];return i||(i=new Intl.RelativeTimeFormat(n,e),mi[s]=i),i}var ur=null;function Ml(){return ur||(ur=new Intl.DateTimeFormat().resolvedOptions().locale,ur)}function _l(n){let e=n.indexOf("-u-");if(e===-1)return[n];{let t,r=n.substring(0,e);try{t=hi(n).resolvedOptions()}catch(o){t=hi(r).resolvedOptions()}let{numberingSystem:s,calendar:i}=t;return[r,s,i]}}function Bl(n,e,t){return(t||e)&&(n+="-u",t&&(n+=`-ca-${t}`),e&&(n+=`-nu-${e}`)),n}function Pl(n){let e=[];for(let t=1;t<=12;t++){let r=q.utc(2016,t,1);e.push(n(r))}return e}function $l(n){let e=[];for(let t=1;t<=7;t++){let r=q.utc(2016,11,13+t);e.push(n(r))}return e}function Gr(n,e,t,r,s){let i=n.listingMode(t);return i==="error"?null:i==="en"?r(e):s(e)}function Rl(n){return n.numberingSystem&&n.numberingSystem!=="latn"?!1:n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}var Di=class{constructor(e,t,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;let a=r,{padTo:s,floor:i}=a,o=Ys(a,["padTo","floor"]);if(!t||Object.keys(o).length>0){let u=R({useGrouping:!1},r);r.padTo>0&&(u.minimumIntegerDigits=r.padTo),this.inf=Nl(e,u)}}format(e){if(this.inf){let t=this.floor?Math.floor(e):e;return this.inf.format(t)}else{let t=this.floor?Math.floor(e):an(e,3);return re(t,this.padTo)}}},yi=class{constructor(e,t,r){this.opts=r;let s;if(e.zone.isUniversal){let o=-1*(e.offset/60),a=o>=0?`Etc/GMT+${o}`:`Etc/GMT${o}`;e.offset!==0&&ge.create(a).valid?(s=a,this.dt=e):(s="UTC",r.timeZoneName?this.dt=e:this.dt=e.offset===0?e:q.fromMillis(e.ts+e.offset*60*1e3))}else e.zone.type==="system"?this.dt=e:(this.dt=e,s=e.zone.name);let i=R({},this.opts);s&&(i.timeZone=s),this.dtf=hi(t,i)}format(){return this.dtf.format(this.dt.toJSDate())}formatToParts(){return this.dtf.formatToParts(this.dt.toJSDate())}resolvedOptions(){return this.dtf.resolvedOptions()}},gi=class{constructor(e,t,r){this.opts=R({style:"long"},r),!t&&Hr()&&(this.rtf=Al(e,r))}format(e,t){return this.rtf?this.rtf.format(e,t):Ko(t,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}},ne=class n{static fromOpts(e){return n.create(e.locale,e.numberingSystem,e.outputCalendar,e.defaultToEN)}static create(e,t,r,s=!1){let i=e||X.defaultLocale,o=i||(s?"en-US":Ml()),a=t||X.defaultNumberingSystem,u=r||X.defaultOutputCalendar;return new n(o,a,u,i)}static resetCache(){ur=null,di={},pi={},mi={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:r}={}){return n.create(e,t,r)}constructor(e,t,r,s){let[i,o,a]=_l(e);this.locale=i,this.numberingSystem=t||o||null,this.outputCalendar=r||a||null,this.intl=Bl(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=s,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=Rl(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),t=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&t?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:n.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone(ye(R({},e),{defaultToEN:!0}))}redefaultToSystem(e={}){return this.clone(ye(R({},e),{defaultToEN:!1}))}months(e,t=!1,r=!0){return Gr(this,e,r,ri,()=>{let s=t?{month:e,day:"numeric"}:{month:e},i=t?"format":"standalone";return this.monthsCache[i][e]||(this.monthsCache[i][e]=Pl(o=>this.extract(o,s,"month"))),this.monthsCache[i][e]})}weekdays(e,t=!1,r=!0){return Gr(this,e,r,oi,()=>{let s=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=t?"format":"standalone";return this.weekdaysCache[i][e]||(this.weekdaysCache[i][e]=$l(o=>this.extract(o,s,"weekday"))),this.weekdaysCache[i][e]})}meridiems(e=!0){return Gr(this,void 0,e,()=>ai,()=>{if(!this.meridiemCache){let t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[q.utc(2016,11,13,9),q.utc(2016,11,13,19)].map(r=>this.extract(r,t,"dayperiod"))}return this.meridiemCache})}eras(e,t=!0){return Gr(this,e,t,ui,()=>{let r={era:e};return this.eraCache[e]||(this.eraCache[e]=[q.utc(-40,1,1),q.utc(2017,1,1)].map(s=>this.extract(s,r,"era"))),this.eraCache[e]})}extract(e,t,r){let s=this.dtFormatter(e,t),i=s.formatToParts(),o=i.find(a=>a.type.toLowerCase()===r);return o?o.value:null}numberFormatter(e={}){return new Di(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new yi(e,this.intl,t)}relFormatter(e={}){return new gi(this.intl,this.isEnglish(),e)}listFormatter(e={}){return Ll(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}};function pn(...n){let e=n.reduce((t,r)=>t+r.source,"");return RegExp(`^${e}$`)}function mn(...n){return e=>n.reduce(([t,r,s],i)=>{let[o,a,u]=i(e,s);return[R(R({},t),o),a||r,u]},[{},null,1]).slice(0,2)}function Dn(n,...e){if(n==null)return[null,null];for(let[t,r]of e){let s=t.exec(n);if(s)return r(s)}return[null,null]}function ea(...n){return(e,t)=>{let r={},s;for(s=0;sh!==void 0&&(b||h&&f)?-h:h;return[{years:p(Ct(t)),months:p(Ct(r)),weeks:p(Ct(s)),days:p(Ct(i)),hours:p(Ct(o)),minutes:p(Ct(a)),seconds:p(Ct(u),u==="-0"),milliseconds:p(sr(l),d)}]}var Ql={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Ei(n,e,t,r,s,i,o){let a={year:e.length===2?or(Dt(e)):Dt(e),month:ni.indexOf(t)+1,day:Dt(r),hour:Dt(s),minute:Dt(i)};return o&&(a.second=Dt(o)),n&&(a.weekday=n.length>3?si.indexOf(n)+1:ii.indexOf(n)+1),a}var Xl=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;function ec(n){let[,e,t,r,s,i,o,a,u,l,f,d]=n,p=Ei(e,s,r,t,i,o,a),h;return u?h=Ql[u]:l?h=0:h=Vt(f,d),[p,new he(h)]}function tc(n){return n.replace(/\\([^()]*\\)|[\\n\\t]/g," ").replace(/(\\s\\s+)/g," ").trim()}var nc=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,rc=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,sc=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;function Xo(n){let[,e,t,r,s,i,o,a]=n;return[Ei(e,s,r,t,i,o,a),he.utcInstance]}function ic(n){let[,e,t,r,s,i,o,a]=n;return[Ei(e,a,t,r,s,i,o),he.utcInstance]}var oc=pn(ql,Fi),ac=pn(Vl,Fi),uc=pn(Ul,Fi),lc=pn(na),sa=mn(zl,yn,lr,cr),cc=mn(Kl,yn,lr,cr),fc=mn(Wl,yn,lr,cr),dc=mn(yn,lr,cr);function ia(n){return Dn(n,[oc,sa],[ac,cc],[uc,fc],[lc,dc])}function oa(n){return Dn(tc(n),[Xl,ec])}function aa(n){return Dn(n,[nc,Xo],[rc,Xo],[sc,ic])}function ua(n){return Dn(n,[Gl,Zl])}var hc=mn(yn);function la(n){return Dn(n,[Yl,hc])}var pc=pn(Hl,Jl),mc=pn(ra),Dc=mn(yn,lr,cr);function ca(n){return Dn(n,[pc,sa],[mc,Dc])}var yc="Invalid Duration",fa={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},gc=R({years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3}},fa),Me=146097/400,gn=146097/4800,bc=R({years:{quarters:4,months:12,weeks:Me/7,days:Me,hours:Me*24,minutes:Me*24*60,seconds:Me*24*60*60,milliseconds:Me*24*60*60*1e3},quarters:{months:3,weeks:Me/28,days:Me/4,hours:Me*24/4,minutes:Me*24*60/4,seconds:Me*24*60*60/4,milliseconds:Me*24*60*60*1e3/4},months:{weeks:gn/7,days:gn,hours:gn*24,minutes:gn*24*60,seconds:gn*24*60*60,milliseconds:gn*24*60*60*1e3}},fa),Kt=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Fc=Kt.slice(0).reverse();function Ut(n,e,t=!1){let r={values:t?e.values:R(R({},n.values),e.values||{}),loc:n.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||n.conversionAccuracy};return new B(r)}function Ec(n){return n<0?Math.floor(n):Math.ceil(n)}function da(n,e,t,r,s){let i=n[s][t],o=e[t]/i,a=Math.sign(o)===Math.sign(r[s]),u=!a&&r[s]!==0&&Math.abs(o)<=1?Ec(o):Math.trunc(o);r[s]+=u,e[t]-=u*i}function wc(n,e){Fc.reduce((t,r)=>W(e[r])?t:(t&&da(n,e,t,e,r),r),null)}var B=class n{constructor(e){let t=e.conversionAccuracy==="longterm"||!1;this.values=e.values,this.loc=e.loc||ne.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=t?bc:gc,this.isLuxonDuration=!0}static fromMillis(e,t){return n.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(e==null||typeof e!="object")throw new fe(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new n({values:cn(e,n.normalizeUnit),loc:ne.fromObject(t),conversionAccuracy:t.conversionAccuracy})}static fromDurationLike(e){if(tt(e))return n.fromMillis(e);if(n.isDuration(e))return e;if(typeof e=="object")return n.fromObject(e);throw new fe(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){let[r]=ua(e);return r?n.fromObject(r,t):n.invalid("unparsable",`the input "${e}" can\'t be parsed as ISO 8601`)}static fromISOTime(e,t){let[r]=la(e);return r?n.fromObject(r,t):n.invalid("unparsable",`the input "${e}" can\'t be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new fe("need to specify a reason the Duration is invalid");let r=e instanceof de?e:new de(e,t);if(X.throwOnInvalid)throw new Wr(r);return new n({invalid:r})}static normalizeUnit(e){let t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!t)throw new sn(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){let r=ye(R({},t),{floor:t.round!==!1&&t.floor!==!1});return this.isValid?we.create(this.loc,r).formatDurationFromString(this,e):yc}toHuman(e={}){let t=Kt.map(r=>{let s=this.values[r];return W(s)?null:this.loc.numberFormatter(ye(R({style:"unit",unitDisplay:"long"},e),{unit:r.slice(0,-1)})).format(s)}).filter(r=>r);return this.loc.listFormatter(R({type:"conjunction",style:e.listStyle||"narrow"},e)).format(t)}toObject(){return this.isValid?R({},this.values):{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=an(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let t=this.toMillis();if(t<0||t>=864e5)return null;e=R({suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended"},e);let r=this.shiftTo("hours","minutes","seconds","milliseconds"),s=e.format==="basic"?"hhmm":"hh:mm";(!e.suppressSeconds||r.seconds!==0||r.milliseconds!==0)&&(s+=e.format==="basic"?"ss":":ss",(!e.suppressMilliseconds||r.milliseconds!==0)&&(s+=".SSS"));let i=r.toFormat(s);return e.includePrefix&&(i="T"+i),i}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.as("milliseconds")}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let t=n.fromDurationLike(e),r={};for(let s of Kt)(kt(t.values,s)||kt(this.values,s))&&(r[s]=t.get(s)+this.get(s));return Ut(this,{values:r},!0)}minus(e){if(!this.isValid)return this;let t=n.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;let t={};for(let r of Object.keys(this.values))t[r]=ei(e(this.values[r],r));return Ut(this,{values:t},!0)}get(e){return this[n.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let t=R(R({},this.values),cn(e,n.normalizeUnit));return Ut(this,{values:t})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:r}={}){let s=this.loc.clone({locale:e,numberingSystem:t}),i={loc:s};return r&&(i.conversionAccuracy=r),Ut(this,i)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return wc(this.matrix,e),Ut(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(o=>n.normalizeUnit(o));let t={},r={},s=this.toObject(),i;for(let o of Kt)if(e.indexOf(o)>=0){i=o;let a=0;for(let l in r)a+=this.matrix[l][o]*r[l],r[l]=0;tt(s[o])&&(a+=s[o]);let u=Math.trunc(a);t[o]=u,r[o]=(a*1e3-u*1e3)/1e3;for(let l in s)Kt.indexOf(l)>Kt.indexOf(o)&&da(this.matrix,s,l,t,o)}else tt(s[o])&&(r[o]=s[o]);for(let o in r)r[o]!==0&&(t[i]+=o===i?r[o]:r[o]/this.matrix[i][o]);return Ut(this,{values:t},!0).normalize()}negate(){if(!this.isValid)return this;let e={};for(let t of Object.keys(this.values))e[t]=this.values[t]===0?0:-this.values[t];return Ut(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function t(r,s){return r===void 0||r===0?s===void 0||s===0:r===s}for(let r of Kt)if(!t(this.values[r],e.values[r]))return!1;return!0}};var fr="Invalid Interval";function Tc(n,e){return!n||!n.isValid?yt.invalid("missing or invalid start"):!e||!e.isValid?yt.invalid("missing or invalid end"):ee:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:t}={}){return this.isValid?n.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];let t=e.map(bn).filter(o=>this.contains(o)).sort(),r=[],{s}=this,i=0;for(;s+this.e?this.e:o;r.push(n.fromDateTimes(s,a)),s=a,i+=1}return r}splitBy(e){let t=B.fromDurationLike(e);if(!this.isValid||!t.isValid||t.as("milliseconds")===0)return[];let{s:r}=this,s=1,i,o=[];for(;ru*s));i=+a>+this.e?this.e:a,o.push(n.fromDateTimes(r,i)),r=i,s+=1}return o}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let t=this.s>e.s?this.s:e.s,r=this.e=r?null:n.fromDateTimes(t,r)}union(e){if(!this.isValid)return this;let t=this.se.e?this.e:e.e;return n.fromDateTimes(t,r)}static merge(e){let[t,r]=e.sort((s,i)=>s.s-i.s).reduce(([s,i],o)=>i?i.overlaps(o)||i.abutsStart(o)?[s,i.union(o)]:[s.concat([i]),o]:[s,o],[[],null]);return r&&t.push(r),t}static xor(e){let t=null,r=0,s=[],i=e.map(u=>[{time:u.s,type:"s"},{time:u.e,type:"e"}]),o=Array.prototype.concat(...i),a=o.sort((u,l)=>u.time-l.time);for(let u of a)r+=u.type==="s"?1:-1,r===1?t=u.time:(t&&+t!=+u.time&&s.push(n.fromDateTimes(t,u.time)),t=null);return n.merge(s)}difference(...e){return n.xor([this].concat(e)).map(t=>this.intersection(t)).filter(t=>t&&!t.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \\u2013 ${this.e.toISO()})`:fr}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:fr}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:fr}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:fr}toFormat(e,{separator:t=" \\u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:fr}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):B.invalid(this.invalidReason)}mapEndpoints(e){return n.fromDateTimes(e(this.s),e(this.e))}};var gt=class{static hasDST(e=X.defaultZone){let t=q.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return ge.isValidZone(e)}static normalizeZone(e){return Ve(e,X.defaultZone)}static months(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null,outputCalendar:i="gregory"}={}){return(s||ne.create(t,r,i)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null,outputCalendar:i="gregory"}={}){return(s||ne.create(t,r,i)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null}={}){return(s||ne.create(t,r,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null}={}){return(s||ne.create(t,r,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return ne.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return ne.create(t,null,"gregory").eras(e)}static features(){return{relative:Hr()}}};function ha(n,e){let t=s=>s.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=t(e)-t(n);return Math.floor(B.fromMillis(r).as("days"))}function Sc(n,e,t){let r=[["years",(a,u)=>u.year-a.year],["quarters",(a,u)=>u.quarter-a.quarter],["months",(a,u)=>u.month-a.month+(u.year-a.year)*12],["weeks",(a,u)=>{let l=ha(a,u);return(l-l%7)/7}],["days",ha]],s={},i,o;for(let[a,u]of r)if(t.indexOf(a)>=0){i=a;let l=u(n,e);o=n.plus({[a]:l}),o>e?(n=n.plus({[a]:l-1}),l-=1):n=o,s[a]=l}return[n,s,o,i]}function pa(n,e,t,r){let[s,i,o,a]=Sc(n,e,t),u=e-s,l=t.filter(d=>["hours","minutes","seconds","milliseconds"].indexOf(d)>=0);l.length===0&&(o0?B.fromMillis(u,r).shiftTo(...l).plus(f):f}var wi={arab:"[\\u0660-\\u0669]",arabext:"[\\u06F0-\\u06F9]",bali:"[\\u1B50-\\u1B59]",beng:"[\\u09E6-\\u09EF]",deva:"[\\u0966-\\u096F]",fullwide:"[\\uFF10-\\uFF19]",gujr:"[\\u0AE6-\\u0AEF]",hanidec:"[\\u3007|\\u4E00|\\u4E8C|\\u4E09|\\u56DB|\\u4E94|\\u516D|\\u4E03|\\u516B|\\u4E5D]",khmr:"[\\u17E0-\\u17E9]",knda:"[\\u0CE6-\\u0CEF]",laoo:"[\\u0ED0-\\u0ED9]",limb:"[\\u1946-\\u194F]",mlym:"[\\u0D66-\\u0D6F]",mong:"[\\u1810-\\u1819]",mymr:"[\\u1040-\\u1049]",orya:"[\\u0B66-\\u0B6F]",tamldec:"[\\u0BE6-\\u0BEF]",telu:"[\\u0C66-\\u0C6F]",thai:"[\\u0E50-\\u0E59]",tibt:"[\\u0F20-\\u0F29]",latn:"\\\\d"},ma={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},kc=wi.hanidec.replace(/[\\[|\\]]/g,"").split("");function Da(n){let e=parseInt(n,10);if(isNaN(e)){e="";for(let t=0;t=i&&r<=o&&(e+=r-i)}}return parseInt(e,10)}else return e}function _e({numberingSystem:n},e=""){return new RegExp(`${wi[n||"latn"]}${e}`)}var Cc="missing Intl.DateTimeFormat.formatToParts support";function G(n,e=t=>t){return{regex:n,deser:([t])=>e(Da(t))}}var vc="\\xA0",ba=`[ ${vc}]`,Fa=new RegExp(ba,"g");function Oc(n){return n.replace(/\\./g,"\\\\.?").replace(Fa,ba)}function ya(n){return n.replace(/\\./g,"").replace(Fa," ").toLowerCase()}function Ue(n,e){return n===null?null:{regex:RegExp(n.map(Oc).join("|")),deser:([t])=>n.findIndex(r=>ya(t)===ya(r))+e}}function ga(n,e){return{regex:n,deser:([,t,r])=>Vt(t,r),groups:e}}function Ti(n){return{regex:n,deser:([e])=>e}}function xc(n){return n.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,"\\\\$&")}function Ic(n,e){let t=_e(e),r=_e(e,"{2}"),s=_e(e,"{3}"),i=_e(e,"{4}"),o=_e(e,"{6}"),a=_e(e,"{1,2}"),u=_e(e,"{1,3}"),l=_e(e,"{1,6}"),f=_e(e,"{1,9}"),d=_e(e,"{2,4}"),p=_e(e,"{4,6}"),h=D=>({regex:RegExp(xc(D.val)),deser:([T])=>T,literal:!0}),g=(D=>{if(n.literal)return h(D);switch(D.val){case"G":return Ue(e.eras("short",!1),0);case"GG":return Ue(e.eras("long",!1),0);case"y":return G(l);case"yy":return G(d,or);case"yyyy":return G(i);case"yyyyy":return G(p);case"yyyyyy":return G(o);case"M":return G(a);case"MM":return G(r);case"MMM":return Ue(e.months("short",!0,!1),1);case"MMMM":return Ue(e.months("long",!0,!1),1);case"L":return G(a);case"LL":return G(r);case"LLL":return Ue(e.months("short",!1,!1),1);case"LLLL":return Ue(e.months("long",!1,!1),1);case"d":return G(a);case"dd":return G(r);case"o":return G(u);case"ooo":return G(s);case"HH":return G(r);case"H":return G(a);case"hh":return G(r);case"h":return G(a);case"mm":return G(r);case"m":return G(a);case"q":return G(a);case"qq":return G(r);case"s":return G(a);case"ss":return G(r);case"S":return G(u);case"SSS":return G(s);case"u":return Ti(f);case"uu":return Ti(a);case"uuu":return G(t);case"a":return Ue(e.meridiems(),0);case"kkkk":return G(i);case"kk":return G(d,or);case"W":return G(a);case"WW":return G(r);case"E":case"c":return G(t);case"EEE":return Ue(e.weekdays("short",!1,!1),1);case"EEEE":return Ue(e.weekdays("long",!1,!1),1);case"ccc":return Ue(e.weekdays("short",!0,!1),1);case"cccc":return Ue(e.weekdays("long",!0,!1),1);case"Z":case"ZZ":return ga(new RegExp(`([+-]${a.source})(?::(${r.source}))?`),2);case"ZZZ":return ga(new RegExp(`([+-]${a.source})(${r.source})?`),2);case"z":return Ti(/[a-z_+-/]{1,256}?/i);default:return h(D)}})(n)||{invalidReason:Cc};return g.token=n,g}var Lc={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"}};function Nc(n,e,t){let{type:r,value:s}=n;if(r==="literal")return{literal:!0,val:s};let i=t[r],o=Lc[r];if(typeof o=="object"&&(o=o[i]),o)return{literal:!1,val:o}}function Ac(n){return[`^${n.map(t=>t.regex).reduce((t,r)=>`${t}(${r.source})`,"")}$`,n]}function Mc(n,e,t){let r=n.match(e);if(r){let s={},i=1;for(let o in t)if(kt(t,o)){let a=t[o],u=a.groups?a.groups+1:1;!a.literal&&a.token&&(s[a.token.val[0]]=a.deser(r.slice(i,i+u))),i+=u}return[r,s]}else return[r,{}]}function _c(n){let e=i=>{switch(i){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},t=null,r;return W(n.z)||(t=ge.create(n.z)),W(n.Z)||(t||(t=new he(n.Z)),r=n.Z),W(n.q)||(n.M=(n.q-1)*3+1),W(n.h)||(n.h<12&&n.a===1?n.h+=12:n.h===12&&n.a===0&&(n.h=0)),n.G===0&&n.y&&(n.y=-n.y),W(n.u)||(n.S=sr(n.u)),[Object.keys(n).reduce((i,o)=>{let a=e(o);return a&&(i[a]=n[o]),i},{}),t,r]}var Si=null;function Bc(){return Si||(Si=q.fromMillis(1555555555555)),Si}function Pc(n,e){if(n.literal)return n;let t=we.macroTokenToFormatOpts(n.val);if(!t)return n;let i=we.create(e,t).formatDateTimeParts(Bc()).map(o=>Nc(o,e,t));return i.includes(void 0)?n:i}function $c(n,e){return Array.prototype.concat(...n.map(t=>Pc(t,e)))}function ki(n,e,t){let r=$c(we.parseFormat(t),n),s=r.map(o=>Ic(o,n)),i=s.find(o=>o.invalidReason);if(i)return{input:e,tokens:r,invalidReason:i.invalidReason};{let[o,a]=Ac(s),u=RegExp(o,"i"),[l,f]=Mc(e,u,a),[d,p,h]=f?_c(f):[null,null,void 0];if(kt(f,"a")&&kt(f,"H"))throw new mt("Can\'t include meridiem when specifying 24-hour format");return{input:e,tokens:r,regex:u,rawMatches:l,matches:f,result:d,zone:p,specificOffset:h}}}function Ea(n,e,t){let{result:r,zone:s,specificOffset:i,invalidReason:o}=ki(n,e,t);return[r,s,i,o]}var wa=[0,31,59,90,120,151,181,212,243,273,304,334],Ta=[0,31,60,91,121,152,182,213,244,274,305,335];function Be(n,e){return new de("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${n}, which is invalid`)}function Sa(n,e,t){let r=new Date(Date.UTC(n,e-1,t));n<100&&n>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);let s=r.getUTCDay();return s===0?7:s}function ka(n,e,t){return t+(jt(n)?Ta:wa)[e-1]}function Ca(n,e){let t=jt(n)?Ta:wa,r=t.findIndex(i=>iln(e)?(a=e+1,o=1):a=e,R({weekYear:a,weekNumber:o,weekday:i},ar(n))}function Ci(n){let{weekYear:e,weekNumber:t,weekday:r}=n,s=Sa(e,1,4),i=qt(e),o=t*7+r-s-3,a;o<1?(a=e-1,o+=qt(a)):o>i?(a=e+1,o-=qt(e)):a=e;let{month:u,day:l}=Ca(a,o);return R({year:a,month:u,day:l},ar(n))}function Qr(n){let{year:e,month:t,day:r}=n,s=ka(e,t,r);return R({year:e,ordinal:s},ar(n))}function vi(n){let{year:e,ordinal:t}=n,{month:r,day:s}=Ca(e,t);return R({year:e,month:r,day:s},ar(n))}function va(n){let e=rr(n.weekYear),t=nt(n.weekNumber,1,ln(n.weekYear)),r=nt(n.weekday,1,7);return e?t?r?!1:Be("weekday",n.weekday):Be("week",n.week):Be("weekYear",n.weekYear)}function Oa(n){let e=rr(n.year),t=nt(n.ordinal,1,qt(n.year));return e?t?!1:Be("ordinal",n.ordinal):Be("year",n.year)}function Oi(n){let e=rr(n.year),t=nt(n.month,1,12),r=nt(n.day,1,un(n.year,n.month));return e?t?r?!1:Be("day",n.day):Be("month",n.month):Be("year",n.year)}function xi(n){let{hour:e,minute:t,second:r,millisecond:s}=n,i=nt(e,0,23)||e===24&&t===0&&r===0&&s===0,o=nt(t,0,59),a=nt(r,0,59),u=nt(s,0,999);return i?o?a?u?!1:Be("millisecond",s):Be("second",r):Be("minute",t):Be("hour",e)}var Ii="Invalid DateTime",xa=864e13;function Xr(n){return new de("unsupported zone",`the zone "${n.name}" is not supported`)}function Li(n){return n.weekData===null&&(n.weekData=Zr(n.c)),n.weekData}function dr(n,e){let t={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new q(ye(R(R({},t),e),{old:t}))}function Pa(n,e,t){let r=n-e*60*1e3,s=t.offset(r);if(e===s)return[r,e];r-=(s-e)*60*1e3;let i=t.offset(r);return s===i?[r,s]:[n-Math.min(s,i)*60*1e3,Math.max(s,i)]}function Ia(n,e){n+=e*60*1e3;let t=new Date(n);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes(),second:t.getUTCSeconds(),millisecond:t.getUTCMilliseconds()}}function ts(n,e,t){return Pa(ir(n),e,t)}function La(n,e){let t=n.o,r=n.c.year+Math.trunc(e.years),s=n.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,i=ye(R({},n.c),{year:r,month:s,day:Math.min(n.c.day,un(r,s))+Math.trunc(e.days)+Math.trunc(e.weeks)*7}),o=B.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),a=ir(i),[u,l]=Pa(a,t,n.zone);return o!==0&&(u+=o,l=n.zone.offset(u)),{ts:u,o:l}}function hr(n,e,t,r,s,i){let{setZone:o,zone:a}=t;if(n&&Object.keys(n).length!==0){let u=e||a,l=q.fromObject(n,ye(R({},t),{zone:u,specificOffset:i}));return o?l:l.setZone(a)}else return q.invalid(new de("unparsable",`the input "${s}" can\'t be parsed as ${r}`))}function es(n,e,t=!0){return n.isValid?we.create(ne.create("en-US"),{allowZ:t,forceSimple:!0}).formatDateTimeFromString(n,e):null}function Ni(n,e){let t=n.c.year>9999||n.c.year<0,r="";return t&&n.c.year>=0&&(r+="+"),r+=re(n.c.year,t?6:4),e?(r+="-",r+=re(n.c.month),r+="-",r+=re(n.c.day)):(r+=re(n.c.month),r+=re(n.c.day)),r}function Na(n,e,t,r,s,i){let o=re(n.c.hour);return e?(o+=":",o+=re(n.c.minute),(n.c.second!==0||!t)&&(o+=":")):o+=re(n.c.minute),(n.c.second!==0||!t)&&(o+=re(n.c.second),(n.c.millisecond!==0||!r)&&(o+=".",o+=re(n.c.millisecond,3))),s&&(n.isOffsetFixed&&n.offset===0&&!i?o+="Z":n.o<0?(o+="-",o+=re(Math.trunc(-n.o/60)),o+=":",o+=re(Math.trunc(-n.o%60))):(o+="+",o+=re(Math.trunc(n.o/60)),o+=":",o+=re(Math.trunc(n.o%60)))),i&&(o+="["+n.zone.ianaName+"]"),o}var $a={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Rc={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},jc={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ra=["year","month","day","hour","minute","second","millisecond"],qc=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Vc=["year","ordinal","hour","minute","second","millisecond"];function Aa(n){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!e)throw new sn(n);return e}function Ma(n,e){let t=Ve(e.zone,X.defaultZone),r=ne.fromObject(e),s=X.now(),i,o;if(W(n.year))i=s;else{for(let l of Ra)W(n[l])&&(n[l]=$a[l]);let a=Oi(n)||xi(n);if(a)return q.invalid(a);let u=t.offset(s);[i,o]=ts(n,u,t)}return new q({ts:i,zone:t,loc:r,o})}function _a(n,e,t){let r=W(t.round)?!0:t.round,s=(o,a)=>(o=an(o,r||t.calendary?0:2,!0),e.loc.clone(t).relFormatter(t).format(o,a)),i=o=>t.calendary?e.hasSame(n,o)?0:e.startOf(o).diff(n.startOf(o),o).get(o):e.diff(n,o).get(o);if(t.unit)return s(i(t.unit),t.unit);for(let o of t.units){let a=i(o);if(Math.abs(a)>=1)return s(a,o)}return s(n>e?-0:0,t.units[t.units.length-1])}function Ba(n){let e={},t;return n.length>0&&typeof n[n.length-1]=="object"?(e=n[n.length-1],t=Array.from(n).slice(0,n.length-1)):t=Array.from(n),[e,t]}var q=class n{constructor(e){let t=e.zone||X.defaultZone,r=e.invalid||(Number.isNaN(e.ts)?new de("invalid input"):null)||(t.isValid?null:Xr(t));this.ts=W(e.ts)?X.now():e.ts;let s=null,i=null;if(!r)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[s,i]=[e.old.c,e.old.o];else{let a=t.offset(this.ts);s=Ia(this.ts,a),r=Number.isNaN(s.year)?new de("invalid input"):null,s=r?null:s,i=r?null:a}this._zone=t,this.loc=e.loc||ne.create(),this.invalid=r,this.weekData=null,this.c=s,this.o=i,this.isLuxonDateTime=!0}static now(){return new n({})}static local(){let[e,t]=Ba(arguments),[r,s,i,o,a,u,l]=t;return Ma({year:r,month:s,day:i,hour:o,minute:a,second:u,millisecond:l},e)}static utc(){let[e,t]=Ba(arguments),[r,s,i,o,a,u,l]=t;return e.zone=he.utcInstance,Ma({year:r,month:s,day:i,hour:o,minute:a,second:u,millisecond:l},e)}static fromJSDate(e,t={}){let r=Po(e)?e.valueOf():NaN;if(Number.isNaN(r))return n.invalid("invalid input");let s=Ve(t.zone,X.defaultZone);return s.isValid?new n({ts:r,zone:s,loc:ne.fromObject(t)}):n.invalid(Xr(s))}static fromMillis(e,t={}){if(tt(e))return e<-xa||e>xa?n.invalid("Timestamp out of range"):new n({ts:e,zone:Ve(t.zone,X.defaultZone),loc:ne.fromObject(t)});throw new fe(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(tt(e))return new n({ts:e*1e3,zone:Ve(t.zone,X.defaultZone),loc:ne.fromObject(t)});throw new fe("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};let r=Ve(t.zone,X.defaultZone);if(!r.isValid)return n.invalid(Xr(r));let s=X.now(),i=W(t.specificOffset)?r.offset(s):t.specificOffset,o=cn(e,Aa),a=!W(o.ordinal),u=!W(o.year),l=!W(o.month)||!W(o.day),f=u||l,d=o.weekYear||o.weekNumber,p=ne.fromObject(t);if((f||a)&&d)throw new mt("Can\'t mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&a)throw new mt("Can\'t mix ordinal dates with month/day");let h=d||o.weekday&&!f,b,g,D=Ia(s,i);h?(b=qc,g=Rc,D=Zr(D)):a?(b=Vc,g=jc,D=Qr(D)):(b=Ra,g=$a);let T=!1;for(let C of b){let V=o[C];W(V)?T?o[C]=g[C]:o[C]=D[C]:T=!0}let I=h?va(o):a?Oa(o):Oi(o),N=I||xi(o);if(N)return n.invalid(N);let y=h?Ci(o):a?vi(o):o,[w,v]=ts(y,i,r),O=new n({ts:w,zone:r,o:v,loc:p});return o.weekday&&f&&e.weekday!==O.weekday?n.invalid("mismatched weekday",`you can\'t specify both a weekday of ${o.weekday} and a date of ${O.toISO()}`):O}static fromISO(e,t={}){let[r,s]=ia(e);return hr(r,s,t,"ISO 8601",e)}static fromRFC2822(e,t={}){let[r,s]=oa(e);return hr(r,s,t,"RFC 2822",e)}static fromHTTP(e,t={}){let[r,s]=aa(e);return hr(r,s,t,"HTTP",t)}static fromFormat(e,t,r={}){if(W(e)||W(t))throw new fe("fromFormat requires an input string and a format");let{locale:s=null,numberingSystem:i=null}=r,o=ne.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0}),[a,u,l,f]=Ea(o,e,t);return f?n.invalid(f):hr(a,u,r,`format ${t}`,e,l)}static fromString(e,t,r={}){return n.fromFormat(e,t,r)}static fromSQL(e,t={}){let[r,s]=ca(e);return hr(r,s,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new fe("need to specify a reason the DateTime is invalid");let r=e instanceof de?e:new de(e,t);if(X.throwOnInvalid)throw new Ur(r);return new n({invalid:r})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Li(this).weekYear:NaN}get weekNumber(){return this.isValid?Li(this).weekNumber:NaN}get weekday(){return this.isValid?Li(this).weekday:NaN}get ordinal(){return this.isValid?Qr(this.c).ordinal:NaN}get monthShort(){return this.isValid?gt.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?gt.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?gt.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?gt.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}get isInLeapYear(){return jt(this.year)}get daysInMonth(){return un(this.year,this.month)}get daysInYear(){return this.isValid?qt(this.year):NaN}get weeksInWeekYear(){return this.isValid?ln(this.weekYear):NaN}resolvedLocaleOptions(e={}){let{locale:t,numberingSystem:r,calendar:s}=we.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:r,outputCalendar:s}}toUTC(e=0,t={}){return this.setZone(he.instance(e),t)}toLocal(){return this.setZone(X.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:r=!1}={}){if(e=Ve(e,X.defaultZone),e.equals(this.zone))return this;if(e.isValid){let s=this.ts;if(t||r){let i=e.offset(this.ts),o=this.toObject();[s]=ts(o,i,e)}return dr(this,{ts:s,zone:e})}else return n.invalid(Xr(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:r}={}){let s=this.loc.clone({locale:e,numberingSystem:t,outputCalendar:r});return dr(this,{loc:s})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let t=cn(e,Aa),r=!W(t.weekYear)||!W(t.weekNumber)||!W(t.weekday),s=!W(t.ordinal),i=!W(t.year),o=!W(t.month)||!W(t.day),a=i||o,u=t.weekYear||t.weekNumber;if((a||s)&&u)throw new mt("Can\'t mix weekYear/weekNumber units with year/month/day or ordinals");if(o&&s)throw new mt("Can\'t mix ordinal dates with month/day");let l;r?l=Ci(R(R({},Zr(this.c)),t)):W(t.ordinal)?(l=R(R({},this.toObject()),t),W(t.day)&&(l.day=Math.min(un(l.year,l.month),l.day))):l=vi(R(R({},Qr(this.c)),t));let[f,d]=ts(l,this.o,this.zone);return dr(this,{ts:f,o:d})}plus(e){if(!this.isValid)return this;let t=B.fromDurationLike(e);return dr(this,La(this,t))}minus(e){if(!this.isValid)return this;let t=B.fromDurationLike(e).negate();return dr(this,La(this,t))}startOf(e){if(!this.isValid)return this;let t={},r=B.normalizeUnit(e);switch(r){case"years":t.month=1;case"quarters":case"months":t.day=1;case"weeks":case"days":t.hour=0;case"hours":t.minute=0;case"minutes":t.second=0;case"seconds":t.millisecond=0;break;case"milliseconds":break}if(r==="weeks"&&(t.weekday=1),r==="quarters"){let s=Math.ceil(this.month/3);t.month=(s-1)*3+1}return this.set(t)}endOf(e){return this.isValid?this.plus({[e]:1}).startOf(e).minus(1):this}toFormat(e,t={}){return this.isValid?we.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):Ii}toLocaleString(e=on,t={}){return this.isValid?we.create(this.loc.clone(t),e).formatDateTime(this):Ii}toLocaleParts(e={}){return this.isValid?we.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:r=!1,includeOffset:s=!0,extendedZone:i=!1}={}){if(!this.isValid)return null;let o=e==="extended",a=Ni(this,o);return a+="T",a+=Na(this,o,t,r,s,i),a}toISODate({format:e="extended"}={}){return this.isValid?Ni(this,e==="extended"):null}toISOWeekDate(){return es(this,"kkkk-\'W\'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:r=!0,includePrefix:s=!1,extendedZone:i=!1,format:o="extended"}={}){return this.isValid?(s?"T":"")+Na(this,o==="extended",t,e,r,i):null}toRFC2822(){return es(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return es(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss \'GMT\'")}toSQLDate(){return this.isValid?Ni(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:r=!0}={}){let s="HH:mm:ss.SSS";return(t||e)&&(r&&(s+=" "),t?s+="z":e&&(s+="ZZ")),es(this,s,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():Ii}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let t=R({},this.c);return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",r={}){if(!this.isValid||!e.isValid)return B.invalid("created by diffing an invalid DateTime");let s=R({locale:this.locale,numberingSystem:this.numberingSystem},r),i=$o(t).map(B.normalizeUnit),o=e.valueOf()>this.valueOf(),a=o?this:e,u=o?e:this,l=pa(a,u,i,s);return o?l.negate():l}diffNow(e="milliseconds",t={}){return this.diff(n.now(),e,t)}until(e){return this.isValid?yt.fromDateTimes(this,e):this}hasSame(e,t){if(!this.isValid)return!1;let r=e.valueOf(),s=this.setZone(e.zone,{keepLocalTime:!0});return s.startOf(t)<=r&&r<=s.endOf(t)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let t=e.base||n.fromObject({},{zone:this.zone}),r=e.padding?thist.valueOf(),Math.min)}static max(...e){if(!e.every(n.isDateTime))throw new fe("max requires all arguments be DateTimes");return Xs(e,t=>t.valueOf(),Math.max)}static fromFormatExplain(e,t,r={}){let{locale:s=null,numberingSystem:i=null}=r,o=ne.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0});return ki(o,e,t)}static fromStringExplain(e,t,r={}){return n.fromFormatExplain(e,t,r)}static get DATE_SHORT(){return on}static get DATE_MED(){return $n}static get DATE_MED_WITH_WEEKDAY(){return Gs}static get DATE_FULL(){return Rn}static get DATE_HUGE(){return jn}static get TIME_SIMPLE(){return qn}static get TIME_WITH_SECONDS(){return Vn}static get TIME_WITH_SHORT_OFFSET(){return Un}static get TIME_WITH_LONG_OFFSET(){return Kn}static get TIME_24_SIMPLE(){return Wn}static get TIME_24_WITH_SECONDS(){return Hn}static get TIME_24_WITH_SHORT_OFFSET(){return Jn}static get TIME_24_WITH_LONG_OFFSET(){return zn}static get DATETIME_SHORT(){return Yn}static get DATETIME_SHORT_WITH_SECONDS(){return Gn}static get DATETIME_MED(){return Zn}static get DATETIME_MED_WITH_SECONDS(){return Qn}static get DATETIME_MED_WITH_WEEKDAY(){return Zs}static get DATETIME_FULL(){return Xn}static get DATETIME_FULL_WITH_SECONDS(){return er}static get DATETIME_HUGE(){return tr}static get DATETIME_HUGE_WITH_SECONDS(){return nr}};function bn(n){if(q.isDateTime(n))return n;if(n&&n.valueOf&&tt(n.valueOf()))return q.fromJSDate(n);if(n&&typeof n=="object")return q.fromObject(n);throw new fe(`Unknown datetime argument: ${n}, of type ${typeof n}`)}var bt=Vr(ns());var Fn=()=>/[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE89\\uDE8F-\\uDEC2\\uDEC6\\uDECE-\\uDEDC\\uDEDF-\\uDEE9]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;function Mi(n){return n==null?n:n.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds").normalize()}function ja(n,e,t,r){return n.second==0&&n.minute==0&&n.hour==0?n.toLocal().toFormat(e,{locale:r}):n.toLocal().toFormat(t,{locale:r})}function qa(n){n=Mi(n);let e="";return n.years&&(e+=`${n.years} years, `),n.months&&(e+=`${n.months} months, `),n.weeks&&(e+=`${n.weeks} weeks, `),n.days&&(e+=`${n.days} days, `),n.hours&&(e+=`${n.hours} hours, `),n.minutes&&(e+=`${n.minutes} minutes, `),n.seconds&&(e+=`${Math.round(n.seconds)} seconds, `),n.milliseconds&&(e+=`${Math.round(n.milliseconds)} ms, `),e.endsWith(", ")&&(e=e.substring(0,e.length-2)),e}function En(n){return n.includes("/")&&(n=n.substring(n.lastIndexOf("/")+1)),n.endsWith(".md")&&(n=n.substring(0,n.length-3)),n}function Va(n){return n.includes(".")?n.substring(n.lastIndexOf(".")+1):""}var Uc=bt.alt(bt.regex(new RegExp(Fn(),"")),bt.regex(/[0-9\\p{Letter}_-]+/u),bt.whitespace.map(n=>" "),bt.any.map(n=>" ")).many().map(n=>n.join("").split(/\\s+/).join(" ").trim());function Ua(n){return Uc.tryParse(n)}var xe=class n{static file(e,t=!1,r){return new n({path:e,embed:t,display:r,subpath:void 0,type:"file"})}static infer(e,t=!1,r){if(e.includes("#^")){let s=e.split("#^");return n.block(s[0],s[1],t,r)}else if(e.includes("#")){let s=e.split("#");return n.header(s[0],s[1],t,r)}else return n.file(e,t,r)}static header(e,t,r,s){return new n({path:e,embed:r,display:s,subpath:Ua(t),type:"header"})}static block(e,t,r,s){return new n({path:e,embed:r,display:s,subpath:t,type:"block"})}static fromObject(e){return new n(e)}static parseInner(e){let[t,r]=Kc(e);return n.infer(t,!1,r)}constructor(e){Object.assign(this,e)}withPath(e){return new n(Object.assign({},this,{path:e}))}withDisplay(e){return new n(Object.assign({},this,{display:e}))}withEmbed(e){return this.embed==e?this:new n(Object.assign({},this,{embed:e}))}withHeader(e){return n.header(this.path,e,this.embed,this.display)}withBlock(e){return n.block(this.path,e,this.embed,this.display)}equals(e){return e==null||e==null?!1:this.path==e.path&&this.type==e.type&&this.subpath==e.subpath}toString(){return this.markdown()}toObject(){return{path:this.path,type:this.type,subpath:this.subpath,display:this.display,embed:this.embed}}toFile(){return n.file(this.path,this.embed,this.display)}toEmbed(){return this.withEmbed(!0)}fromEmbed(){return this.withEmbed(!1)}markdown(){let e=(this.embed?"!":"")+"[["+this.obsidianLink();return e+="|",e+=this.displayOrDefault(),e+="]]",e}displayOrDefault(){if(this.display)return this.display;{let e=En(this.path);return(this.type=="header"||this.type=="block")&&(e+=" > "+this.subpath),e}}obsidianLink(){var t,r;let e=this.path.replace("|","\\\\|");return this.type=="header"?e+"#"+((t=this.subpath)==null?void 0:t.replace("|","\\\\|")):this.type=="block"?e+"#^"+((r=this.subpath)==null?void 0:r.replace("|","\\\\|")):e}fileName(){return En(this.path)}};function Kc(n){let e=-1;for(;(e=n.indexOf("|",e+1))>=0;)if(!(e>0&&n[e-1]=="\\\\"))return[n.substring(0,e).replace(/\\\\\\|/g,"|"),n.substring(e+1)];return[n.replace(/\\\\\\|/g,"|"),void 0]}var rs=Symbol.for("yaml.alias"),ss=Symbol.for("yaml.document"),Ke=Symbol.for("yaml.map"),_i=Symbol.for("yaml.pair"),Ie=Symbol.for("yaml.scalar"),Ft=Symbol.for("yaml.seq"),Te=Symbol.for("yaml.node.type"),We=n=>!!n&&typeof n=="object"&&n[Te]===rs,rt=n=>!!n&&typeof n=="object"&&n[Te]===ss,He=n=>!!n&&typeof n=="object"&&n[Te]===Ke,H=n=>!!n&&typeof n=="object"&&n[Te]===_i,K=n=>!!n&&typeof n=="object"&&n[Te]===Ie,Je=n=>!!n&&typeof n=="object"&&n[Te]===Ft;function Z(n){if(n&&typeof n=="object")switch(n[Te]){case Ke:case Ft:return!0}return!1}function J(n){if(n&&typeof n=="object")switch(n[Te]){case rs:case Ke:case Ie:case Ft:return!0}return!1}var Ka=n=>(K(n)||Z(n))&&!!n.anchor;var Ce=Symbol("break visit"),Wa=Symbol("skip children"),st=Symbol("remove node");function ze(n,e){let t=Ha(e);rt(n)?wn(null,n.contents,t,Object.freeze([n]))===st&&(n.contents=null):wn(null,n,t,Object.freeze([]))}ze.BREAK=Ce;ze.SKIP=Wa;ze.REMOVE=st;function wn(n,e,t,r){let s=Ja(n,e,t,r);if(J(s)||H(s))return za(n,r,s),wn(n,s,t,r);if(typeof s!="symbol"){if(Z(e)){r=Object.freeze(r.concat(e));for(let i=0;in.replace(/[!,[\\]{}]/g,e=>Wc[e]),it=class n{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},n.defaultYaml,e),this.tags=Object.assign({},n.defaultTags,t)}clone(){let e=new n(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new n(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:n.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},n.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:n.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},n.defaultTags),this.atNextDocument=!1);let r=e.trim().split(/[ \\t]+/),s=r.shift();switch(s){case"%TAG":{if(r.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;let[i,o]=r;return this.tags[i]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[i]=r;if(i==="1.1"||i==="1.2")return this.yaml.version=i,!0;{let o=/^\\d+\\.\\d+$/.test(i);return t(6,`Unsupported YAML version ${i}`,o),!1}}default:return t(0,`Unknown directive ${s}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(t(`Verbatim tags aren\'t resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),o)}let[,r,s]=e.match(new RegExp("^(.*!)([^!]*)$","s"));s||t(`The ${e} tag has no suffix`);let i=this.tags[r];if(i)try{return i+decodeURIComponent(s)}catch(o){return t(String(o)),null}return r==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,r]of Object.entries(this.tags))if(e.startsWith(r))return t+Hc(e.substring(r.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags),s;if(e&&r.length>0&&J(e.contents)){let i={};ze(e.contents,(o,a)=>{J(a)&&a.tag&&(i[a.tag]=!0)}),s=Object.keys(i)}else s=[];for(let[i,o]of r)i==="!!"&&o==="tag:yaml.org,2002:"||(!e||s.some(a=>a.startsWith(o)))&&t.push(`%TAG ${i} ${o}`);return t.join(`\n`)}};it.defaultYaml={explicit:!1,version:"1.2"};it.defaultTags={"!!":"tag:yaml.org,2002:"};function os(n){if(/[\\x00-\\x19\\s,[\\]{}]/.test(n)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(n)}`;throw new Error(t)}return!0}function Bi(n){let e=new Set;return ze(n,{Value(t,r){r.anchor&&e.add(r.anchor)}}),e}function Pi(n,e){for(let t=1;;++t){let r=`${n}${t}`;if(!e.has(r))return r}}function Ya(n,e){let t=[],r=new Map,s=null;return{onAnchor:i=>{t.push(i),s||(s=Bi(n));let o=Pi(e,s);return s.add(o),o},setAnchors:()=>{for(let i of t){let o=r.get(i);if(typeof o=="object"&&o.anchor&&(K(o.node)||Z(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=i,a}}},sourceObjects:r}}function Ot(n,e,t,r){if(r&&typeof r=="object")if(Array.isArray(r))for(let s=0,i=r.length;sce(r,String(s),t));if(n&&typeof n.toJSON=="function"){if(!t||!Ka(n))return n.toJSON(e,t);let r={aliasCount:0,count:1,res:void 0};t.anchors.set(n,r),t.onCreate=i=>{r.res=i,delete t.onCreate};let s=n.toJSON(e,t);return t.onCreate&&t.onCreate(s),s}return typeof n=="bigint"&&!(t!=null&&t.keep)?Number(n):n}var xt=class{constructor(e){Object.defineProperty(this,Te,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:r,onAnchor:s,reviver:i}={}){if(!rt(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},a=ce(this,"",o);if(typeof s=="function")for(let{count:u,res:l}of o.anchors.values())s(l,u);return typeof i=="function"?Ot(i,{"":a},"",a):a}};var Et=class extends xt{constructor(e){super(rs),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e){let t;return ze(e,{Node:(r,s)=>{if(s===this)return ze.BREAK;s.anchor===this.source&&(t=s)}}),t}toJSON(e,t){if(!t)return{source:this.source};let{anchors:r,doc:s,maxAliasCount:i}=t,o=this.resolve(s);if(!o){let u=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(u)}let a=r.get(o);if(a||(ce(o,null,t),a=r.get(o)),!a||a.res===void 0){let u="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(u)}if(i>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=as(s,o,r)),a.count*a.aliasCount>i)){let u="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(u)}return a.res}toString(e,t,r){let s=`*${this.source}`;if(e){if(os(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(i)}if(e.implicitKey)return`${s} `}return s}};function as(n,e,t){if(We(e)){let r=e.resolve(n),s=t&&r&&t.get(r);return s?s.count*s.aliasCount:0}else if(Z(e)){let r=0;for(let s of e.items){let i=as(n,s,t);i>r&&(r=i)}return r}else if(H(e)){let r=as(n,e.key,t),s=as(n,e.value,t);return Math.max(r,s)}return 1}var us=n=>!n||typeof n!="function"&&typeof n!="object",P=class extends xt{constructor(e){super(Ie),this.value=e}toJSON(e,t){return t!=null&&t.keep?this.value:ce(this.value,e,t)}toString(){return String(this.value)}};P.BLOCK_FOLDED="BLOCK_FOLDED";P.BLOCK_LITERAL="BLOCK_LITERAL";P.PLAIN="PLAIN";P.QUOTE_DOUBLE="QUOTE_DOUBLE";P.QUOTE_SINGLE="QUOTE_SINGLE";var Jc="tag:yaml.org,2002:";function zc(n,e,t){var r;if(e){let s=t.filter(o=>o.tag===e),i=(r=s.find(o=>!o.format))!=null?r:s[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return t.find(s=>{var i;return((i=s.identify)==null?void 0:i.call(s,n))&&!s.format})}function wt(n,e,t){var d,p,h;if(rt(n)&&(n=n.contents),J(n))return n;if(H(n)){let b=(p=(d=t.schema[Ke]).createNode)==null?void 0:p.call(d,t.schema,null,t);return b.items.push(n),b}(n instanceof String||n instanceof Number||n instanceof Boolean||typeof BigInt!="undefined"&&n instanceof BigInt)&&(n=n.valueOf());let{aliasDuplicateObjects:r,onAnchor:s,onTagObj:i,schema:o,sourceObjects:a}=t,u;if(r&&n&&typeof n=="object"){if(u=a.get(n),u)return u.anchor||(u.anchor=s(n)),new Et(u.anchor);u={anchor:null,node:null},a.set(n,u)}e!=null&&e.startsWith("!!")&&(e=Jc+e.slice(2));let l=zc(n,e,o.tags);if(!l){if(n&&typeof n.toJSON=="function"&&(n=n.toJSON()),!n||typeof n!="object"){let b=new P(n);return u&&(u.node=b),b}l=n instanceof Map?o[Ke]:Symbol.iterator in Object(n)?o[Ft]:o[Ke]}i&&(i(l),delete t.onTagObj);let f=l!=null&&l.createNode?l.createNode(t.schema,n,t):typeof((h=l==null?void 0:l.nodeClass)==null?void 0:h.from)=="function"?l.nodeClass.from(t.schema,n,t):new P(n);return e?f.tag=e:l.default||(f.tag=l.tag),u&&(u.node=f),f}function mr(n,e,t){let r=t;for(let s=e.length-1;s>=0;--s){let i=e[s];if(typeof i=="number"&&Number.isInteger(i)&&i>=0){let o=[];o[i]=r,r=o}else r=new Map([[i,r]])}return wt(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:n,sourceObjects:new Map})}var kn=n=>n==null||typeof n=="object"&&!!n[Symbol.iterator]().next().done,Sn=class extends xt{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(r=>J(r)||H(r)?r.clone(e):r),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(kn(e))this.add(t);else{let[r,...s]=e,i=this.get(r,!0);if(Z(i))i.addIn(s,t);else if(i===void 0&&this.schema)this.set(r,mr(this.schema,s,t));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${s}`)}}deleteIn(e){let[t,...r]=e;if(r.length===0)return this.delete(t);let s=this.get(t,!0);if(Z(s))return s.deleteIn(r);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${r}`)}getIn(e,t){let[r,...s]=e,i=this.get(r,!0);return s.length===0?!t&&K(i)?i.value:i:Z(i)?i.getIn(s,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!H(t))return!1;let r=t.value;return r==null||e&&K(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(e){let[t,...r]=e;if(r.length===0)return this.has(t);let s=this.get(t,!0);return Z(s)?s.hasIn(r):!1}setIn(e,t){let[r,...s]=e;if(s.length===0)this.set(r,t);else{let i=this.get(r,!0);if(Z(i))i.setIn(s,t);else if(i===void 0&&this.schema)this.set(r,mr(this.schema,s,t));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${s}`)}}};var Ga=n=>n.replace(/^(?!$)(?: $)?/gm,"#");function Pe(n,e){return/^\\n+$/.test(n)?n.substring(1):e?n.replace(/^(?! *$)/gm,e):n}var ot=(n,e,t)=>n.endsWith(`\n`)?Pe(t,e):t.includes(`\n`)?`\n`+Pe(t,e):(n.endsWith(" ")?"":" ")+t;var $i="flow",ls="block",Dr="quoted";function yr(n,e,t="flow",{indentAtStart:r,lineWidth:s=80,minContentWidth:i=20,onFold:o,onOverflow:a}={}){if(!s||s<0)return n;ss-Math.max(2,i)?l.push(0):d=s-r);let p,h,b=!1,g=-1,D=-1,T=-1;t===ls&&(g=Za(n,g,e.length),g!==-1&&(d=g+u));for(let N;N=n[g+=1];){if(t===Dr&&N==="\\\\"){switch(D=g,n[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}T=g}if(N===`\n`)t===ls&&(g=Za(n,g,e.length)),d=g+e.length+u,p=void 0;else{if(N===" "&&h&&h!==" "&&h!==`\n`&&h!==" "){let y=n[g+1];y&&y!==" "&&y!==`\n`&&y!==" "&&(p=g)}if(g>=d)if(p)l.push(p),d=p+u,p=void 0;else if(t===Dr){for(;h===" "||h===" ";)h=N,N=n[g+=1],b=!0;let y=g>T+1?g-2:D-1;if(f[y])return n;l.push(y),f[y]=!0,d=y+u,p=void 0}else b=!0}h=N}if(b&&a&&a(),l.length===0)return n;o&&o();let I=n.slice(0,l[0]);for(let N=0;N({indentAtStart:e?n.indent.length:n.indentAtStart,lineWidth:n.options.lineWidth,minContentWidth:n.options.minContentWidth}),ds=n=>/^(%|---|\\.\\.\\.)/m.test(n);function Yc(n,e,t){if(!e||e<0)return!1;let r=e-t,s=n.length;if(s<=r)return!1;for(let i=0,o=0;ir)return!0;if(o=i+1,s-o<=r)return!1}return!0}function gr(n,e){let t=JSON.stringify(n);if(e.options.doubleQuotedAsJSON)return t;let{implicitKey:r}=e,s=e.options.doubleQuotedMinMultiLineLength,i=e.indent||(ds(n)?" ":""),o="",a=0;for(let u=0,l=t[u];l;l=t[++u])if(l===" "&&t[u+1]==="\\\\"&&t[u+2]==="n"&&(o+=t.slice(a,u)+"\\\\ ",u+=1,a=u,l="\\\\"),l==="\\\\")switch(t[u+1]){case"u":{o+=t.slice(a,u);let f=t.substr(u+2,4);switch(f){case"0000":o+="\\\\0";break;case"0007":o+="\\\\a";break;case"000b":o+="\\\\v";break;case"001b":o+="\\\\e";break;case"0085":o+="\\\\N";break;case"00a0":o+="\\\\_";break;case"2028":o+="\\\\L";break;case"2029":o+="\\\\P";break;default:f.substr(0,2)==="00"?o+="\\\\x"+f.substr(2):o+=t.substr(u,6)}u+=5,a=u+1}break;case"n":if(r||t[u+2]===\'"\'||t.length\n`;let d,p;for(p=t.length;p>0;--p){let v=t[p-1];if(v!==`\n`&&v!==" "&&v!==" ")break}let h=t.substring(p),b=h.indexOf(`\n`);b===-1?d="-":t===h||b!==h.length-1?(d="+",i&&i()):d="",h&&(t=t.slice(0,-h.length),h[h.length-1]===`\n`&&(h=h.slice(0,-1)),h=h.replace(ji,`$&${l}`));let g=!1,D,T=-1;for(D=0;D")+(g?l?"2":"1":"")+d;if(n&&(y+=" "+a(n.replace(/ ?[\\r\\n]+/g," ")),s&&s()),f)return t=t.replace(/\\n+/g,`$&${l}`),`${y}\n${l}${I}${t}${h}`;t=t.replace(/\\n+/g,`\n$&`).replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g,"$1$2").replace(/\\n+/g,`$&${l}`);let w=yr(`${I}${t}${h}`,l,ls,fs(r,!0));return`${y}\n${l}${w}`}function Gc(n,e,t,r){let{type:s,value:i}=n,{actualString:o,implicitKey:a,indent:u,indentStep:l,inFlow:f}=e;if(a&&i.includes(`\n`)||f&&/[[\\]{},]/.test(i))return Cn(i,e);if(!i||/^[\\n\\t ,[\\]{}#&*!|>\'"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(i))return a||f||!i.includes(`\n`)?Cn(i,e):cs(n,e,t,r);if(!a&&!f&&s!==P.PLAIN&&i.includes(`\n`))return cs(n,e,t,r);if(ds(i)){if(u==="")return e.forceBlockIndent=!0,cs(n,e,t,r);if(a&&u===l)return Cn(i,e)}let d=i.replace(/\\n+/g,`$&\n${u}`);if(o){let p=g=>{var D;return g.default&&g.tag!=="tag:yaml.org,2002:str"&&((D=g.test)==null?void 0:D.test(d))},{compat:h,tags:b}=e.doc.schema;if(b.some(p)||h!=null&&h.some(p))return Cn(i,e)}return a?d:yr(d,u,$i,fs(e,!1))}function Wt(n,e,t,r){let{implicitKey:s,inFlow:i}=e,o=typeof n.value=="string"?n:Object.assign({},n,{value:String(n.value)}),{type:a}=n;a!==P.QUOTE_DOUBLE&&/[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f\\u{D800}-\\u{DFFF}]/u.test(o.value)&&(a=P.QUOTE_DOUBLE);let u=f=>{switch(f){case P.BLOCK_FOLDED:case P.BLOCK_LITERAL:return s||i?Cn(o.value,e):cs(o,e,t,r);case P.QUOTE_DOUBLE:return gr(o.value,e);case P.QUOTE_SINGLE:return Ri(o.value,e);case P.PLAIN:return Gc(o,e,t,r);default:return null}},l=u(a);if(l===null){let{defaultKeyType:f,defaultStringType:d}=e.options,p=s&&f||d;if(l=u(p),l===null)throw new Error(`Unsupported default string type ${p}`)}return l}function hs(n,e){let t=Object.assign({blockQuote:!0,commentString:Ga,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},n.schema.toStringOptions,e),r;switch(t.collectionStyle){case"block":r=!1;break;case"flow":r=!0;break;default:r=null}return{anchors:new Set,doc:n,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent=="number"?" ".repeat(t.indent):" ",inFlow:r,options:t}}function Zc(n,e){var s,i,o,a;if(e.tag){let u=n.filter(l=>l.tag===e.tag);if(u.length>0)return(s=u.find(l=>l.format===e.format))!=null?s:u[0]}let t,r;if(K(e)){r=e.value;let u=n.filter(l=>{var f;return(f=l.identify)==null?void 0:f.call(l,r)});if(u.length>1){let l=u.filter(f=>f.test);l.length>0&&(u=l)}t=(i=u.find(l=>l.format===e.format))!=null?i:u.find(l=>!l.format)}else r=e,t=n.find(u=>u.nodeClass&&r instanceof u.nodeClass);if(!t){let u=(a=(o=r==null?void 0:r.constructor)==null?void 0:o.name)!=null?a:typeof r;throw new Error(`Tag not resolved for ${u} value`)}return t}function Qc(n,e,{anchors:t,doc:r}){if(!r.directives)return"";let s=[],i=(K(n)||Z(n))&&n.anchor;i&&os(i)&&(t.add(i),s.push(`&${i}`));let o=n.tag?n.tag:e.default?null:e.tag;return o&&s.push(r.directives.tagString(o)),s.join(" ")}function Tt(n,e,t,r){var u,l;if(H(n))return n.toString(e,t,r);if(We(n)){if(e.doc.directives)return n.toString(e);if((u=e.resolvedAliases)!=null&&u.has(n))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(n):e.resolvedAliases=new Set([n]),n=n.resolve(e.doc)}let s,i=J(n)?n:e.doc.createNode(n,{onTagObj:f=>s=f});s||(s=Zc(e.doc.schema.tags,i));let o=Qc(i,s,e);o.length>0&&(e.indentAtStart=((l=e.indentAtStart)!=null?l:0)+o.length+1);let a=typeof s.stringify=="function"?s.stringify(i,e,t,r):K(i)?Wt(i,e,t,r):i.toString(e,t,r);return o?K(i)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}\n${e.indent}${a}`:a}function Qa({key:n,value:e},t,r,s){var O,C;let{allNullValues:i,doc:o,indent:a,indentStep:u,options:{commentString:l,indentSeq:f,simpleKeys:d}}=t,p=J(n)&&n.comment||null;if(d){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(Z(n)||!J(n)&&typeof n=="object"){let V="With simple keys, collection cannot be used as a key value";throw new Error(V)}}let h=!d&&(!n||p&&e==null&&!t.inFlow||Z(n)||(K(n)?n.type===P.BLOCK_FOLDED||n.type===P.BLOCK_LITERAL:typeof n=="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!h&&(d||!i),indent:a+u});let b=!1,g=!1,D=Tt(n,t,()=>b=!0,()=>g=!0);if(!h&&!t.inFlow&&D.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");h=!0}if(t.inFlow){if(i||e==null)return b&&r&&r(),D===""?"?":h?`? ${D}`:D}else if(i&&!d||e==null&&h)return D=`? ${D}`,p&&!b?D+=ot(D,t.indent,l(p)):g&&s&&s(),D;b&&(p=null),h?(p&&(D+=ot(D,t.indent,l(p))),D=`? ${D}\n${a}:`):(D=`${D}:`,p&&(D+=ot(D,t.indent,l(p))));let T,I,N;J(e)?(T=!!e.spaceBefore,I=e.commentBefore,N=e.comment):(T=!1,I=null,N=null,e&&typeof e=="object"&&(e=o.createNode(e))),t.implicitKey=!1,!h&&!p&&K(e)&&(t.indentAtStart=D.length+1),g=!1,!f&&u.length>=2&&!t.inFlow&&!h&&Je(e)&&!e.flow&&!e.tag&&!e.anchor&&(t.indent=t.indent.substring(2));let y=!1,w=Tt(e,t,()=>y=!0,()=>g=!0),v=" ";if(p||T||I){if(v=T?`\n`:"",I){let V=l(I);v+=`\n${Pe(V,t.indent)}`}w===""&&!t.inFlow?v===`\n`&&(v=`\n\n`):v+=`\n${t.indent}`}else if(!h&&Z(e)){let V=w[0],j=w.indexOf(`\n`),Y=j!==-1,ee=(C=(O=t.inFlow)!=null?O:e.flow)!=null?C:e.items.length===0;if(Y||!ee){let ae=!1;if(Y&&(V==="&"||V==="!")){let x=w.indexOf(" ");V==="&"&&x!==-1&&xn===ms||typeof n=="symbol"&&n.description===ms,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new P(Symbol(ms)),{addToJSMap:Vi}),stringify:()=>ms},Xa=(n,e)=>(Ye.identify(e)||K(e)&&(!e.type||e.type===P.PLAIN)&&Ye.identify(e.value))&&(n==null?void 0:n.doc.schema.tags.some(t=>t.tag===Ye.tag&&t.default));function Vi(n,e,t){if(t=n&&We(t)?t.resolve(n.doc):t,Je(t))for(let r of t.items)qi(n,e,r);else if(Array.isArray(t))for(let r of t)qi(n,e,r);else qi(n,e,t)}function qi(n,e,t){let r=n&&We(t)?t.resolve(n.doc):t;if(!He(r))throw new Error("Merge sources must be maps or map aliases");let s=r.toJSON(null,n,Map);for(let[i,o]of s)e instanceof Map?e.has(i)||e.set(i,o):e instanceof Set?e.add(i):Object.prototype.hasOwnProperty.call(e,i)||Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}function Ds(n,e,{key:t,value:r}){if(J(t)&&t.addToJSMap)t.addToJSMap(n,e,r);else if(Xa(n,t))Vi(n,e,r);else{let s=ce(t,"",n);if(e instanceof Map)e.set(s,ce(r,s,n));else if(e instanceof Set)e.add(s);else{let i=Xc(t,s,n),o=ce(r,i,n);i in e?Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[i]=o}}return e}function Xc(n,e,t){if(e===null)return"";if(typeof e!="object")return String(e);if(J(n)&&(t!=null&&t.doc)){let r=hs(t.doc,{});r.anchors=new Set;for(let i of t.anchors.keys())r.anchors.add(i.anchor);r.inFlow=!0,r.inStringifyKey=!0;let s=n.toString(r);if(!t.mapKeyWarned){let i=JSON.stringify(s);i.length>40&&(i=i.substring(0,36)+\'..."\'),ps(t.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${i}. Set mapAsMap: true to use object keys.`),t.mapKeyWarned=!0}return s}return JSON.stringify(e)}function vn(n,e,t){let r=wt(n,void 0,t),s=wt(e,void 0,t);return new ie(r,s)}var ie=class n{constructor(e,t=null){Object.defineProperty(this,Te,{value:_i}),this.key=e,this.value=t}clone(e){let{key:t,value:r}=this;return J(t)&&(t=t.clone(e)),J(r)&&(r=r.clone(e)),new n(t,r)}toJSON(e,t){let r=t!=null&&t.mapAsMap?new Map:{};return Ds(t,r,this)}toString(e,t,r){return e!=null&&e.doc?Qa(this,e,t,r):JSON.stringify(this)}};function gs(n,e,t){var i;return(((i=e.inFlow)!=null?i:n.flow)?tf:ef)(n,e,t)}function ef({comment:n,items:e},t,{blockItemPrefix:r,flowChars:s,itemIndent:i,onChompKeep:o,onComment:a}){let{indent:u,options:{commentString:l}}=t,f=Object.assign({},t,{indent:i,type:null}),d=!1,p=[];for(let b=0;bD=null,()=>d=!0);D&&(T+=ot(T,i,l(D))),d&&D&&(d=!1),p.push(r+T)}let h;if(p.length===0)h=s.start+s.end;else{h=p[0];for(let b=1;bD=null);bf||T.includes(`\n`))&&(l=!0),d.push(T),f=d.length}let{start:p,end:h}=t;if(d.length===0)return p+h;if(!l){let b=d.reduce((g,D)=>g+D.length+2,2);l=e.options.lineWidth>0&&b>e.options.lineWidth}if(l){let b=p;for(let g of d)b+=g?`\n${i}${s}${g}`:`\n`;return`${b}\n${s}${h}`}else return`${p}${o}${d.join(" ")}${o}${h}`}function ys({indent:n,options:{commentString:e}},t,r,s){if(r&&s&&(r=r.replace(/^\\n+/,"")),r){let i=Pe(e(r),n);t.push(i.trimStart())}}function It(n,e){let t=K(e)?e.value:e;for(let r of n)if(H(r)&&(r.key===e||r.key===t||K(r.key)&&r.key.value===t))return r}var oe=class extends Sn{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Ke,e),this.items=[]}static from(e,t,r){let{keepUndefined:s,replacer:i}=r,o=new this(e),a=(u,l)=>{if(typeof i=="function")l=i.call(t,u,l);else if(Array.isArray(i)&&!i.includes(u))return;(l!==void 0||s)&&o.items.push(vn(u,l,r))};if(t instanceof Map)for(let[u,l]of t)a(u,l);else if(t&&typeof t=="object")for(let u of Object.keys(t))a(u,t[u]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,t){var o;let r;H(e)?r=e:!e||typeof e!="object"||!("key"in e)?r=new ie(e,e==null?void 0:e.value):r=new ie(e.key,e.value);let s=It(this.items,r.key),i=(o=this.schema)==null?void 0:o.sortMapEntries;if(s){if(!t)throw new Error(`Key ${r.key} already set`);K(s.value)&&us(r.value)?s.value.value=r.value:s.value=r.value}else if(i){let a=this.items.findIndex(u=>i(r,u)<0);a===-1?this.items.push(r):this.items.splice(a,0,r)}else this.items.push(r)}delete(e){let t=It(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){var i;let r=It(this.items,e),s=r==null?void 0:r.value;return(i=!t&&K(s)?s.value:s)!=null?i:void 0}has(e){return!!It(this.items,e)}set(e,t){this.add(new ie(e,t),!0)}toJSON(e,t,r){let s=r?new r:t!=null&&t.mapAsMap?new Map:{};t!=null&&t.onCreate&&t.onCreate(s);for(let i of this.items)Ds(t,s,i);return s}toString(e,t,r){if(!e)return JSON.stringify(this);for(let s of this.items)if(!H(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),gs(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:r,onComment:t})}};var Ge={collection:"map",default:!0,nodeClass:oe,tag:"tag:yaml.org,2002:map",resolve(n,e){return He(n)||e("Expected a mapping for this tag"),n},createNode:(n,e,t)=>oe.from(n,e,t)};var be=class extends Sn{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Ft,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=bs(e);return typeof t!="number"?!1:this.items.splice(t,1).length>0}get(e,t){let r=bs(e);if(typeof r!="number")return;let s=this.items[r];return!t&&K(s)?s.value:s}has(e){let t=bs(e);return typeof t=="number"&&t=0?e:null}var Ze={collection:"seq",default:!0,nodeClass:be,tag:"tag:yaml.org,2002:seq",resolve(n,e){return Je(n)||e("Expected a sequence for this tag"),n},createNode:(n,e,t)=>be.from(n,e,t)};var Lt={identify:n=>typeof n=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:n=>n,stringify(n,e,t,r){return e=Object.assign({actualString:!0},e),Wt(n,e,t,r)}};var Ht={identify:n=>n==null,createNode:()=>new P(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new P(null),stringify:({source:n},e)=>typeof n=="string"&&Ht.test.test(n)?n:e.options.nullStr};var br={identify:n=>typeof n=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:n=>new P(n[0]==="t"||n[0]==="T"),stringify({source:n,value:e},t){if(n&&br.test.test(n)){let r=n[0]==="t"||n[0]==="T";if(e===r)return n}return e?t.options.trueStr:t.options.falseStr}};function Fe({format:n,minFractionDigits:e,tag:t,value:r}){if(typeof r=="bigint")return String(r);let s=typeof r=="number"?r:Number(r);if(!isFinite(s))return isNaN(s)?".nan":s<0?"-.inf":".inf";let i=JSON.stringify(r);if(!n&&e&&(!t||t==="tag:yaml.org,2002:float")&&/^\\d/.test(i)){let o=i.indexOf(".");o<0&&(o=i.length,i+=".");let a=e-(i.length-o-1);for(;a-- >0;)i+="0"}return i}var Fs={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\\.(?:inf|Inf|INF)|\\.nan|\\.NaN|\\.NAN)$/,resolve:n=>n.slice(-3).toLowerCase()==="nan"?NaN:n[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Fe},Es={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:n=>parseFloat(n),stringify(n){let e=Number(n.value);return isFinite(e)?e.toExponential():Fe(n)}},ws={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\\.[0-9]+|[0-9]+\\.[0-9]*)$/,resolve(n){let e=new P(parseFloat(n)),t=n.indexOf(".");return t!==-1&&n[n.length-1]==="0"&&(e.minFractionDigits=n.length-t-1),e},stringify:Fe};var Ts=n=>typeof n=="bigint"||Number.isInteger(n),Ui=(n,e,t,{intAsBigInt:r})=>r?BigInt(n):parseInt(n.substring(e),t);function eu(n,e,t){let{value:r}=n;return Ts(r)&&r>=0?t+r.toString(e):Fe(n)}var Ss={identify:n=>Ts(n)&&n>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(n,e,t)=>Ui(n,2,8,t),stringify:n=>eu(n,8,"0o")},ks={identify:Ts,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(n,e,t)=>Ui(n,0,10,t),stringify:Fe},Cs={identify:n=>Ts(n)&&n>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(n,e,t)=>Ui(n,2,16,t),stringify:n=>eu(n,16,"0x")};var tu=[Ge,Ze,Lt,Ht,br,Ss,ks,Cs,Fs,Es,ws];function nu(n){return typeof n=="bigint"||Number.isInteger(n)}var vs=({value:n})=>JSON.stringify(n),nf=[{identify:n=>typeof n=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:n=>n,stringify:vs},{identify:n=>n==null,createNode:()=>new P(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:vs},{identify:n=>typeof n=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:n=>n==="true",stringify:vs},{identify:nu,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(n,e,{intAsBigInt:t})=>t?BigInt(n):parseInt(n,10),stringify:({value:n})=>nu(n)?n.toString():JSON.stringify(n)},{identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:n=>parseFloat(n),stringify:vs}],rf={default:!0,tag:"",test:/^/,resolve(n,e){return e(`Unresolved plain scalar ${JSON.stringify(n)}`),n}},ru=[Ge,Ze].concat(nf,rf);var Fr={identify:n=>n instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(n,e){if(typeof Buffer=="function")return Buffer.from(n,"base64");if(typeof atob=="function"){let t=atob(n.replace(/[\\n\\r]/g,"")),r=new Uint8Array(t.length);for(let s=0;s1&&e("Each pair must have its own sequence indicator");let i=s.items[0]||new ie(new P(null));if(s.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${s.commentBefore}\n${i.key.commentBefore}`:s.commentBefore),s.comment){let o=(t=i.value)!=null?t:i.key;o.comment=o.comment?`${s.comment}\n${o.comment}`:s.comment}s=i}n.items[r]=H(s)?s:new ie(s)}}else e("Expected a sequence for this tag");return n}function Wi(n,e,t){let{replacer:r}=t,s=new be(n);s.tag="tag:yaml.org,2002:pairs";let i=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof r=="function"&&(o=r.call(e,String(i++),o));let a,u;if(Array.isArray(o))if(o.length===2)a=o[0],u=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let l=Object.keys(o);if(l.length===1)a=l[0],u=o[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=o;s.items.push(vn(a,u,t))}return s}var Er={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Ki,createNode:Wi};var On=class n extends be{constructor(){super(),this.add=oe.prototype.add.bind(this),this.delete=oe.prototype.delete.bind(this),this.get=oe.prototype.get.bind(this),this.has=oe.prototype.has.bind(this),this.set=oe.prototype.set.bind(this),this.tag=n.tag}toJSON(e,t){if(!t)return super.toJSON(e);let r=new Map;t!=null&&t.onCreate&&t.onCreate(r);for(let s of this.items){let i,o;if(H(s)?(i=ce(s.key,"",t),o=ce(s.value,i,t)):i=ce(s,"",t),r.has(i))throw new Error("Ordered maps must not include duplicate keys");r.set(i,o)}return r}static from(e,t,r){let s=Wi(e,t,r),i=new this;return i.items=s.items,i}};On.tag="tag:yaml.org,2002:omap";var wr={collection:"seq",identify:n=>n instanceof Map,nodeClass:On,default:!1,tag:"tag:yaml.org,2002:omap",resolve(n,e){let t=Ki(n,e),r=[];for(let{key:s}of t.items)K(s)&&(r.includes(s.value)?e(`Ordered maps must not include duplicate keys: ${s.value}`):r.push(s.value));return Object.assign(new On,t)},createNode:(n,e,t)=>On.from(n,e,t)};function su({value:n,source:e},t){return e&&(n?Hi:Ji).test.test(e)?e:n?t.options.trueStr:t.options.falseStr}var Hi={identify:n=>n===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new P(!0),stringify:su},Ji={identify:n=>n===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new P(!1),stringify:su};var iu={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\\.(?:inf|Inf|INF)|\\.nan|\\.NaN|\\.NAN)$/,resolve:n=>n.slice(-3).toLowerCase()==="nan"?NaN:n[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Fe},ou={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:n=>parseFloat(n.replace(/_/g,"")),stringify(n){let e=Number(n.value);return isFinite(e)?e.toExponential():Fe(n)}},au={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\\.[0-9_]*$/,resolve(n){let e=new P(parseFloat(n.replace(/_/g,""))),t=n.indexOf(".");if(t!==-1){let r=n.substring(t+1).replace(/_/g,"");r[r.length-1]==="0"&&(e.minFractionDigits=r.length)}return e},stringify:Fe};var Tr=n=>typeof n=="bigint"||Number.isInteger(n);function Os(n,e,t,{intAsBigInt:r}){let s=n[0];if((s==="-"||s==="+")&&(e+=1),n=n.substring(e).replace(/_/g,""),r){switch(t){case 2:n=`0b${n}`;break;case 8:n=`0o${n}`;break;case 16:n=`0x${n}`;break}let o=BigInt(n);return s==="-"?BigInt(-1)*o:o}let i=parseInt(n,t);return s==="-"?-1*i:i}function zi(n,e,t){let{value:r}=n;if(Tr(r)){let s=r.toString(e);return r<0?"-"+t+s.substr(1):t+s}return Fe(n)}var uu={identify:Tr,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(n,e,t)=>Os(n,2,2,t),stringify:n=>zi(n,2,"0b")},lu={identify:Tr,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(n,e,t)=>Os(n,1,8,t),stringify:n=>zi(n,8,"0")},cu={identify:Tr,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(n,e,t)=>Os(n,0,10,t),stringify:Fe},fu={identify:Tr,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(n,e,t)=>Os(n,2,16,t),stringify:n=>zi(n,16,"0x")};var xn=class n extends oe{constructor(e){super(e),this.tag=n.tag}add(e){let t;H(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new ie(e.key,null):t=new ie(e,null),It(this.items,t.key)||this.items.push(t)}get(e,t){let r=It(this.items,e);return!t&&H(r)?K(r.key)?r.key.value:r.key:r}set(e,t){if(typeof t!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let r=It(this.items,e);r&&!t?this.items.splice(this.items.indexOf(r),1):!r&&t&&this.items.push(new ie(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,r){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,r);throw new Error("Set items must all have null values")}static from(e,t,r){let{replacer:s}=r,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let o of t)typeof s=="function"&&(o=s.call(t,o,o)),i.items.push(vn(o,null,r));return i}};xn.tag="tag:yaml.org,2002:set";var Sr={collection:"map",identify:n=>n instanceof Set,nodeClass:xn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(n,e,t)=>xn.from(n,e,t),resolve(n,e){if(He(n)){if(n.hasAllNullValues(!0))return Object.assign(new xn,n);e("Set items must all have null values")}else e("Expected a mapping for this tag");return n}};function Yi(n,e){let t=n[0],r=t==="-"||t==="+"?n.substring(1):n,s=o=>e?BigInt(o):Number(o),i=r.replace(/_/g,"").split(":").reduce((o,a)=>o*s(60)+s(a),s(0));return t==="-"?s(-1)*i:i}function du(n){let{value:e}=n,t=o=>o;if(typeof e=="bigint")t=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return Fe(n);let r="";e<0&&(r="-",e*=t(-1));let s=t(60),i=[e%s];return e<60?i.unshift(0):(e=(e-i[0])/s,i.unshift(e%s),e>=60&&(e=(e-i[0])/s,i.unshift(e))),r+i.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\\d*$/,"")}var xs={identify:n=>typeof n=="bigint"||Number.isInteger(n),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(n,e,{intAsBigInt:t})=>Yi(n,t),stringify:du},Is={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*$/,resolve:n=>Yi(n,!1),stringify:du},In={identify:n=>n instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\\\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(n){let e=n.match(In.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,r,s,i,o,a]=e.map(Number),u=e[7]?Number((e[7]+"00").substr(1,3)):0,l=Date.UTC(t,r-1,s,i||0,o||0,a||0,u),f=e[8];if(f&&f!=="Z"){let d=Yi(f,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:n})=>n.toISOString().replace(/((T00:00)?:00)?\\.000Z$/,"")};var Gi=[Ge,Ze,Lt,Ht,Hi,Ji,uu,lu,cu,fu,iu,ou,au,Fr,Ye,wr,Er,Sr,xs,Is,In];var hu=new Map([["core",tu],["failsafe",[Ge,Ze,Lt]],["json",ru],["yaml11",Gi],["yaml-1.1",Gi]]),pu={binary:Fr,bool:br,float:ws,floatExp:Es,floatNaN:Fs,floatTime:Is,int:ks,intHex:Cs,intOct:Ss,intTime:xs,map:Ge,merge:Ye,null:Ht,omap:wr,pairs:Er,seq:Ze,set:Sr,timestamp:In},mu={"tag:yaml.org,2002:binary":Fr,"tag:yaml.org,2002:merge":Ye,"tag:yaml.org,2002:omap":wr,"tag:yaml.org,2002:pairs":Er,"tag:yaml.org,2002:set":Sr,"tag:yaml.org,2002:timestamp":In};function Ls(n,e,t){let r=hu.get(e);if(r&&!n)return t&&!r.includes(Ye)?r.concat(Ye):r.slice();let s=r;if(!s)if(Array.isArray(n))s=[];else{let i=Array.from(hu.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${i} or define customTags array`)}if(Array.isArray(n))for(let i of n)s=s.concat(i);else typeof n=="function"&&(s=n(s.slice()));return t&&(s=s.concat(Ye)),s.reduce((i,o)=>{let a=typeof o=="string"?pu[o]:o;if(!a){let u=JSON.stringify(o),l=Object.keys(pu).map(f=>JSON.stringify(f)).join(", ");throw new Error(`Unknown custom tag ${u}; use one of ${l}`)}return i.includes(a)||i.push(a),i},[])}var sf=(n,e)=>n.keye.key?1:0,kr=class n{constructor({compat:e,customTags:t,merge:r,resolveKnownTags:s,schema:i,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?Ls(e,"compat"):e?Ls(null,e):null,this.name=typeof i=="string"&&i||"core",this.knownTags=s?mu:{},this.tags=Ls(t,this.name,r),this.toStringOptions=a!=null?a:null,Object.defineProperty(this,Ke,{value:Ge}),Object.defineProperty(this,Ie,{value:Lt}),Object.defineProperty(this,Ft,{value:Ze}),this.sortMapEntries=typeof o=="function"?o:o===!0?sf:null}clone(){let e=Object.create(n.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};function Du(n,e){var u;let t=[],r=e.directives===!0;if(e.directives!==!1&&n.directives){let l=n.directives.toString(n);l?(t.push(l),r=!0):n.directives.docStart&&(r=!0)}r&&t.push("---");let s=hs(n,e),{commentString:i}=s.options;if(n.commentBefore){t.length!==1&&t.unshift("");let l=i(n.commentBefore);t.unshift(Pe(l,""))}let o=!1,a=null;if(n.contents){if(J(n.contents)){if(n.contents.spaceBefore&&r&&t.push(""),n.contents.commentBefore){let d=i(n.contents.commentBefore);t.push(Pe(d,""))}s.forceBlockIndent=!!n.comment,a=n.contents.comment}let l=a?void 0:()=>o=!0,f=Tt(n.contents,s,()=>a=null,l);a&&(f+=ot(f,"",i(a))),(f[0]==="|"||f[0]===">")&&t[t.length-1]==="---"?t[t.length-1]=`--- ${f}`:t.push(f)}else t.push(Tt(n.contents,s));if((u=n.directives)!=null&&u.docEnd)if(n.comment){let l=i(n.comment);l.includes(`\n`)?(t.push("..."),t.push(Pe(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=n.comment;l&&o&&(l=l.replace(/^\\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(Pe(i(l),"")))}return t.join(`\n`)+`\n`}var Nt=class n{constructor(e,t,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Te,{value:ss});let s=null;typeof t=="function"||Array.isArray(t)?s=t:r===void 0&&t&&(r=t,t=void 0);let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},r);this.options=i;let{version:o}=i;r!=null&&r._directives?(this.directives=r._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new it({version:o}),this.setSchema(o,r),this.contents=e===void 0?null:this.createNode(e,s,r)}clone(){let e=Object.create(n.prototype,{[Te]:{value:ss}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=J(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Ln(this.contents)&&this.contents.add(e)}addIn(e,t){Ln(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let r=Bi(this);e.anchor=!t||r.has(t)?Pi(t||"a",r):t}return new Et(e.anchor)}createNode(e,t,r){let s;if(typeof t=="function")e=t.call({"":e},"",e),s=t;else if(Array.isArray(t)){let D=I=>typeof I=="number"||I instanceof String||I instanceof Number,T=t.filter(D).map(String);T.length>0&&(t=t.concat(T)),s=t}else r===void 0&&t&&(r=t,t=void 0);let{aliasDuplicateObjects:i,anchorPrefix:o,flow:a,keepUndefined:u,onTagObj:l,tag:f}=r!=null?r:{},{onAnchor:d,setAnchors:p,sourceObjects:h}=Ya(this,o||"a"),b={aliasDuplicateObjects:i!=null?i:!0,keepUndefined:u!=null?u:!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:h},g=wt(e,f,b);return a&&Z(g)&&(g.flow=!0),p(),g}createPair(e,t,r={}){let s=this.createNode(e,null,r),i=this.createNode(t,null,r);return new ie(s,i)}delete(e){return Ln(this.contents)?this.contents.delete(e):!1}deleteIn(e){return kn(e)?this.contents==null?!1:(this.contents=null,!0):Ln(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return Z(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return kn(e)?!t&&K(this.contents)?this.contents.value:this.contents:Z(this.contents)?this.contents.getIn(e,t):void 0}has(e){return Z(this.contents)?this.contents.has(e):!1}hasIn(e){return kn(e)?this.contents!==void 0:Z(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=mr(this.schema,[e],t):Ln(this.contents)&&this.contents.set(e,t)}setIn(e,t){kn(e)?this.contents=t:this.contents==null?this.contents=mr(this.schema,Array.from(e),t):Ln(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e=="number"&&(e=String(e));let r;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new it({version:"1.1"}),r={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new it({version:e}),r={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,r=null;break;default:{let s=JSON.stringify(e);throw new Error(`Expected \'1.1\', \'1.2\' or null as first argument, but found: ${s}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(r)this.schema=new kr(Object.assign(r,t));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:r,maxAliasCount:s,onAnchor:i,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},u=ce(this.contents,t!=null?t:"",a);if(typeof i=="function")for(let{count:l,res:f}of a.anchors.values())i(f,l);return typeof o=="function"?Ot(o,{"":u},"",u):u}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let t=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${t}`)}return Du(this,e)}};function Ln(n){if(Z(n))return!0;throw new Error("Expected a YAML collection as document contents")}var Cr=class extends Error{constructor(e,t,r,s){super(),this.name=e,this.code=r,this.message=s,this.pos=t}},Qe=class extends Cr{constructor(e,t,r){super("YAMLParseError",e,t,r)}},vr=class extends Cr{constructor(e,t,r){super("YAMLWarning",e,t,r)}},Zi=(n,e)=>t=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map(a=>e.linePos(a));let{line:r,col:s}=t.linePos[0];t.message+=` at line ${r}, column ${s}`;let i=s-1,o=n.substring(e.lineStarts[r-1],e.lineStarts[r]).replace(/[\\n\\r]+$/,"");if(i>=60&&o.length>80){let a=Math.min(i-39,o.length-79);o="\\u2026"+o.substring(a),i-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\\u2026"),r>1&&/^ *$/.test(o.substring(0,i))){let a=n.substring(e.lineStarts[r-2],e.lineStarts[r-1]);a.length>80&&(a=a.substring(0,79)+`\\u2026\n`),o=a+o}if(/[^ ]/.test(o)){let a=1,u=t.linePos[1];u&&u.line===r&&u.col>s&&(a=Math.max(1,Math.min(u.col-s,80-i)));let l=" ".repeat(i)+"^".repeat(a);t.message+=`:\n\n${o}\n${l}\n`}};function at(n,{flow:e,indicator:t,next:r,offset:s,onError:i,parentIndent:o,startOnNewline:a}){let u=!1,l=a,f=a,d="",p="",h=!1,b=!1,g=null,D=null,T=null,I=null,N=null,y=null,w=null;for(let C of n)switch(b&&(C.type!=="space"&&C.type!=="newline"&&C.type!=="comma"&&i(C.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),b=!1),g&&(l&&C.type!=="comment"&&C.type!=="newline"&&i(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),C.type){case"space":!e&&(t!=="doc-start"||(r==null?void 0:r.type)!=="flow-collection")&&C.source.includes(" ")&&(g=C),f=!0;break;case"comment":{f||i(C,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let V=C.source.substring(1)||" ";d?d+=p+V:d=V,p="",l=!1;break}case"newline":l?d?d+=C.source:u=!0:p+=C.source,l=!0,h=!0,(D||T)&&(I=C),f=!0;break;case"anchor":D&&i(C,"MULTIPLE_ANCHORS","A node can have at most one anchor"),C.source.endsWith(":")&&i(C.offset+C.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),D=C,w===null&&(w=C.offset),l=!1,f=!1,b=!0;break;case"tag":{T&&i(C,"MULTIPLE_TAGS","A node can have at most one tag"),T=C,w===null&&(w=C.offset),l=!1,f=!1,b=!0;break}case t:(D||T)&&i(C,"BAD_PROP_ORDER",`Anchors and tags must be after the ${C.source} indicator`),y&&i(C,"UNEXPECTED_TOKEN",`Unexpected ${C.source} in ${e!=null?e:"collection"}`),y=C,l=t==="seq-item-ind"||t==="explicit-key-ind",f=!1;break;case"comma":if(e){N&&i(C,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),N=C,l=!1,f=!1;break}default:i(C,"UNEXPECTED_TOKEN",`Unexpected ${C.type} token`),l=!1,f=!1}let v=n[n.length-1],O=v?v.offset+v.source.length:s;return b&&r&&r.type!=="space"&&r.type!=="newline"&&r.type!=="comma"&&(r.type!=="scalar"||r.source!=="")&&i(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(l&&g.indent<=o||(r==null?void 0:r.type)==="block-map"||(r==null?void 0:r.type)==="block-seq")&&i(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:N,found:y,spaceBefore:u,comment:d,hasNewline:h,anchor:D,tag:T,newlineAfterProp:I,end:O,start:w!=null?w:O}}function At(n){if(!n)return null;switch(n.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(n.source.includes(`\n`))return!0;if(n.end){for(let e of n.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of n.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if(At(e.key)||At(e.value))return!0}return!1;default:return!0}}function Or(n,e,t){if((e==null?void 0:e.type)==="flow-collection"){let r=e.end[0];r.indent===n&&(r.source==="]"||r.source==="}")&&At(e)&&t(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function Ns(n,e,t){let{uniqueKeys:r}=n.options;if(r===!1)return!1;let s=typeof r=="function"?r:(i,o)=>i===o||K(i)&&K(o)&&i.value===o.value;return e.some(i=>s(i.key,t))}var yu="All mapping items must start at the same column";function gu({composeNode:n,composeEmptyNode:e},t,r,s,i){var f,d;let o=(f=i==null?void 0:i.nodeClass)!=null?f:oe,a=new o(t.schema);t.atRoot&&(t.atRoot=!1);let u=r.offset,l=null;for(let p of r.items){let{start:h,key:b,sep:g,value:D}=p,T=at(h,{indicator:"explicit-key-ind",next:b!=null?b:g==null?void 0:g[0],offset:u,onError:s,parentIndent:r.indent,startOnNewline:!0}),I=!T.found;if(I){if(b&&(b.type==="block-seq"?s(u,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in b&&b.indent!==r.indent&&s(u,"BAD_INDENT",yu)),!T.anchor&&!T.tag&&!g){l=T.end,T.comment&&(a.comment?a.comment+=`\n`+T.comment:a.comment=T.comment);continue}(T.newlineAfterProp||At(b))&&s(b!=null?b:h[h.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((d=T.found)==null?void 0:d.indent)!==r.indent&&s(u,"BAD_INDENT",yu);t.atKey=!0;let N=T.end,y=b?n(t,b,T,s):e(t,N,h,null,T,s);t.schema.compat&&Or(r.indent,b,s),t.atKey=!1,Ns(t,a.items,y)&&s(N,"DUPLICATE_KEY","Map keys must be unique");let w=at(g!=null?g:[],{indicator:"map-value-ind",next:D,offset:y.range[2],onError:s,parentIndent:r.indent,startOnNewline:!b||b.type==="block-scalar"});if(u=w.end,w.found){I&&((D==null?void 0:D.type)==="block-map"&&!w.hasNewline&&s(u,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&T.startn&&(n.type==="block-map"||n.type==="block-seq");function Fu({composeNode:n,composeEmptyNode:e},t,r,s,i){var D,T;let o=r.start.source==="{",a=o?"flow map":"flow sequence",u=(D=i==null?void 0:i.nodeClass)!=null?D:o?oe:be,l=new u(t.schema);l.flow=!0;let f=t.atRoot;f&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let d=r.offset+r.start.source.length;for(let I=0;I0){let I=ut(b,g,t.options.strict,s);I.comment&&(l.comment?l.comment+=`\n`+I.comment:l.comment=I.comment),l.range=[r.offset,g,I.offset]}else l.range=[r.offset,g,g];return l}function eo(n,e,t,r,s,i){let o=t.type==="block-map"?gu(n,e,t,r,i):t.type==="block-seq"?bu(n,e,t,r,i):Fu(n,e,t,r,i),a=o.constructor;return s==="!"||s===a.tagName?(o.tag=a.tagName,o):(s&&(o.tag=s),o)}function Eu(n,e,t,r,s){var p,h;let i=r.tag,o=i?e.directives.tagName(i.source,b=>s(i,"TAG_RESOLVE_FAILED",b)):null;if(t.type==="block-seq"){let{anchor:b,newlineAfterProp:g}=r,D=b&&i?b.offset>i.offset?b:i:b!=null?b:i;D&&(!g||g.offsetb.tag===o&&b.collection===a);if(!u){let b=e.schema.knownTags[o];if(b&&b.collection===a)e.schema.tags.push(Object.assign({},b,{default:!1})),u=b;else return b!=null&&b.collection?s(i,"BAD_COLLECTION_TYPE",`${b.tag} used for ${a} collection, but expects ${b.collection}`,!0):s(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),eo(n,e,t,s,o)}let l=eo(n,e,t,s,o,u),f=(h=(p=u.resolve)==null?void 0:p.call(u,l,b=>s(i,"TAG_RESOLVE_FAILED",b),e.options))!=null?h:l,d=J(f)?f:new P(f);return d.range=l.range,d.tag=o,u!=null&&u.format&&(d.format=u.format),d}function to(n,e,t){let r=e.offset,s=of(e,n.options.strict,t);if(!s)return{value:"",type:null,comment:"",range:[r,r,r]};let i=s.mode===">"?P.BLOCK_FOLDED:P.BLOCK_LITERAL,o=e.source?af(e.source):[],a=o.length;for(let g=o.length-1;g>=0;--g){let D=o[g][1];if(D===""||D==="\\r")a=g;else break}if(a===0){let g=s.chomp==="+"&&o.length>0?`\n`.repeat(Math.max(1,o.length-1)):"",D=r+s.length;return e.source&&(D+=e.source.length),{value:g,type:i,comment:s.comment,range:[r,D,D]}}let u=e.indent+s.indent,l=e.offset+s.length,f=0;for(let g=0;gu&&(u=D.length);else{D.length=a;--g)o[g][0].length>u&&(a=g+1);let d="",p="",h=!1;for(let g=0;gu||T[0]===" "?(p===" "?p=`\n`:!h&&p===`\n`&&(p=`\n\n`),d+=p+D.slice(u)+T,p=`\n`,h=!0):T===""?p===`\n`?d+=`\n`:p=`\n`:(d+=p+T,p=" ",h=!1)}switch(s.chomp){case"-":break;case"+":for(let g=a;gt(r+p,h,b);switch(s){case"scalar":a=P.PLAIN,u=uf(i,l);break;case"single-quoted-scalar":a=P.QUOTE_SINGLE,u=lf(i,l);break;case"double-quoted-scalar":a=P.QUOTE_DOUBLE,u=cf(i,l);break;default:return t(n,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${s}`),{value:"",type:null,comment:"",range:[r,r+i.length,r+i.length]}}let f=r+i.length,d=ut(o,f,e,t);return{value:u,type:a,comment:d.comment,range:[r,f,d.offset]}}function uf(n,e){let t="";switch(n[0]){case" ":t="a tab character";break;case",":t="flow indicator character ,";break;case"%":t="directive indicator character %";break;case"|":case">":{t=`block scalar indicator ${n[0]}`;break}case"@":case"`":{t=`reserved character ${n[0]}`;break}}return t&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${t}`),wu(n)}function lf(n,e){return(n[n.length-1]!=="\'"||n.length===1)&&e(n.length,"MISSING_CHAR","Missing closing \'quote"),wu(n.slice(1,-1)).replace(/\'\'/g,"\'")}function wu(n){var u;let e,t;try{e=new RegExp(`(.*?)(?i?n.slice(i,r+1):s)}else t+=s}return(n[n.length-1]!==\'"\'||n.length===1)&&e(n.length,"MISSING_CHAR",\'Missing closing "quote\'),t}function ff(n,e){let t="",r=n[e+1];for(;(r===" "||r===" "||r===`\n`||r==="\\r")&&!(r==="\\r"&&n[e+2]!==`\n`);)r===`\n`&&(t+=`\n`),e+=1,r=n[e+1];return t||(t=" "),{fold:t,offset:e}}var df={0:"\\0",a:"\\x07",b:"\\b",e:"\\x1B",f:"\\f",n:`\n`,r:"\\r",t:" ",v:"\\v",N:"\\x85",_:"\\xA0",L:"\\u2028",P:"\\u2029"," ":" ",\'"\':\'"\',"/":"/","\\\\":"\\\\"," ":" "};function hf(n,e,t,r){let s=n.substr(e,t),o=s.length===t&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;if(isNaN(o)){let a=n.substr(e-2,t+2);return r(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}function ro(n,e,t,r){let{value:s,type:i,comment:o,range:a}=e.type==="block-scalar"?to(n,e,r):no(e,n.options.strict,r),u=t?n.directives.tagName(t.source,d=>r(t,"TAG_RESOLVE_FAILED",d)):null,l;n.options.stringKeys&&n.atKey?l=n.schema[Ie]:u?l=pf(n.schema,s,u,t,r):e.type==="scalar"?l=mf(n,s,e,r):l=n.schema[Ie];let f;try{let d=l.resolve(s,p=>r(t!=null?t:e,"TAG_RESOLVE_FAILED",p),n.options);f=K(d)?d:new P(d)}catch(d){let p=d instanceof Error?d.message:String(d);r(t!=null?t:e,"TAG_RESOLVE_FAILED",p),f=new P(s)}return f.range=a,f.source=s,i&&(f.type=i),u&&(f.tag=u),l.format&&(f.format=l.format),o&&(f.comment=o),f}function pf(n,e,t,r,s){var a;if(t==="!")return n[Ie];let i=[];for(let u of n.tags)if(!u.collection&&u.tag===t)if(u.default&&u.test)i.push(u);else return u;for(let u of i)if((a=u.test)!=null&&a.test(e))return u;let o=n.knownTags[t];return o&&!o.collection?(n.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(s(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),n[Ie])}function mf({atKey:n,directives:e,schema:t},r,s,i){var a;let o=t.tags.find(u=>{var l;return(u.default===!0||n&&u.default==="key")&&((l=u.test)==null?void 0:l.test(r))})||t[Ie];if(t.compat){let u=(a=t.compat.find(l=>{var f;return l.default&&((f=l.test)==null?void 0:f.test(r))}))!=null?a:t[Ie];if(o.tag!==u.tag){let l=e.tagString(o.tag),f=e.tagString(u.tag),d=`Value may be parsed as either ${l} or ${f}`;i(s,"TAG_RESOLVE_FAILED",d,!0)}}return o}function Tu(n,e,t){if(e){t===null&&(t=e.length);for(let r=t-1;r>=0;--r){let s=e[r];switch(s.type){case"space":case"comment":case"newline":n-=s.source.length;continue}for(s=e[++r];(s==null?void 0:s.type)==="space";)n+=s.source.length,s=e[++r];break}}return n}var Df={composeNode:so,composeEmptyNode:As};function so(n,e,t,r){let s=n.atKey,{spaceBefore:i,comment:o,anchor:a,tag:u}=t,l,f=!0;switch(e.type){case"alias":l=yf(n,e,r),(a||u)&&r(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":l=ro(n,e,u,r),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":l=Eu(Df,n,e,t,r),a&&(l.anchor=a.source.substring(1));break;default:{let d=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;r(e,"UNEXPECTED_TOKEN",d),l=As(n,e.offset,void 0,null,t,r),f=!1}}return a&&l.anchor===""&&r(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&n.options.stringKeys&&(!K(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&r(u!=null?u:e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),i&&(l.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?l.comment=o:l.commentBefore=o),n.options.keepSourceTokens&&f&&(l.srcToken=e),l}function As(n,e,t,r,{spaceBefore:s,comment:i,anchor:o,tag:a,end:u},l){let f={type:"scalar",offset:Tu(e,t,r),indent:-1,source:""},d=ro(n,f,a,l);return o&&(d.anchor=o.source.substring(1),d.anchor===""&&l(o,"BAD_ALIAS","Anchor cannot be an empty string")),s&&(d.spaceBefore=!0),i&&(d.comment=i,d.range[2]=u),d}function yf({options:n},{offset:e,source:t,end:r},s){let i=new Et(t.substring(1));i.source===""&&s(e,"BAD_ALIAS","Alias cannot be an empty string"),i.source.endsWith(":")&&s(e+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+t.length,a=ut(r,o,n.strict,s);return i.range=[e,o,a.offset],a.comment&&(i.comment=a.comment),i}function Su(n,e,{offset:t,start:r,value:s,end:i},o){let a=Object.assign({_directives:e},n),u=new Nt(void 0,a),l={atKey:!1,atRoot:!0,directives:u.directives,options:u.options,schema:u.schema},f=at(r,{indicator:"doc-start",next:s!=null?s:i==null?void 0:i[0],offset:t,onError:o,parentIndent:0,startOnNewline:!0});f.found&&(u.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!f.hasNewline&&o(f.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),u.contents=s?so(l,s,f,o):As(l,f.end,r,null,f,o);let d=u.contents.range[2],p=ut(i,d,!1,o);return p.comment&&(u.comment=p.comment),u.range=[t,d,p.offset],u}function xr(n){if(typeof n=="number")return[n,n+1];if(Array.isArray(n))return n.length===2?n:[n[0],n[1]];let{offset:e,source:t}=n;return[e,e+(typeof t=="string"?t.length:1)]}function ku(n){var s;let e="",t=!1,r=!1;for(let i=0;i{let o=xr(t);i?this.warnings.push(new vr(o,r,s)):this.errors.push(new Qe(o,r,s))},this.directives=new it({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:r,afterEmptyLine:s}=ku(this.prelude);if(r){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${r}`:r;else if(s||e.directives.docStart||!i)e.commentBefore=r;else if(Z(i)&&!i.flow&&i.items.length>0){let o=i.items[0];H(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${r}\n${a}`:r}else{let o=i.commentBefore;i.commentBefore=o?`${r}\n${o}`:r}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:ku(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,r=-1){for(let s of e)yield*S(this.next(s));yield*S(this.end(t,r))}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(t,r,s)=>{let i=xr(e);i[0]+=t,this.onError(i,"BAD_DIRECTIVE",r,s)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=Su(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,r=new Qe(xr(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(r):this.doc.errors.push(r);break}case"doc-end":{if(!this.doc){let r="Unexpected doc-end without preceding document";this.errors.push(new Qe(xr(e),"UNEXPECTED_TOKEN",r));break}this.doc.directives.docEnd=!0;let t=ut(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let r=this.doc.comment;this.doc.comment=r?`${r}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Qe(xr(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let r=Object.assign({_directives:this.directives},this.options),s=new Nt(void 0,r);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),s.range=[0,t,t],this.decorate(s,!1),yield s}}};var io=Symbol("break visit"),gf=Symbol("skip children"),Cu=Symbol("remove item");function Jt(n,e){"type"in n&&n.type==="document"&&(n={start:n.start,value:n.value}),vu(Object.freeze([]),n,e)}Jt.BREAK=io;Jt.SKIP=gf;Jt.REMOVE=Cu;Jt.itemAtPath=(n,e)=>{let t=n;for(let[r,s]of e){let i=t==null?void 0:t[r];if(i&&"items"in i)t=i.items[s];else return}return t};Jt.parentCollection=(n,e)=>{let t=Jt.itemAtPath(n,e.slice(0,-1)),r=e[e.length-1][0],s=t==null?void 0:t[r];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function vu(n,e,t){let r=t(e,n);if(typeof r=="symbol")return r;for(let s of["key","value"]){let i=e[s];if(i&&"items"in i){for(let o=0;o":return"block-scalar-header"}return null}function Xe(n){switch(n){case void 0:case" ":case`\n`:case"\\r":case" ":return!0;default:return!1}}var xu=new Set("0123456789ABCDEFabcdef"),Ff=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*\'()"),_s=new Set(",[]{}"),Ef=new Set(` ,[]{}\n\\r `),lo=n=>!n||Ef.has(n),Lr=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){var s;if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let r=(s=this.next)!=null?s:"stream";for(;r&&(t||this.hasChars(1));)r=yield*S(this.parseNext(r))}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===" "||t===" ";)t=this.buffer[++e];return!t||t==="#"||t===`\n`?!0:t==="\\r"?this.buffer[e+1]===`\n`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let r=0;for(;t===" ";)t=this.buffer[++r+e];if(t==="\\r"){let s=this.buffer[r+e+1];if(s===`\n`||!s&&!this.atEnd)return e+r+1}return t===`\n`||r>=this.indentNext||!t&&!this.atEnd?e+r:-1}if(t==="-"||t==="."){let r=this.buffer.substr(e,3);if((r==="---"||r==="...")&&Xe(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&ethis.indentValue&&!Xe(this.charAt(1))&&(this.indentNext=this.indentValue),yield*S(this.parseBlockStart())}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&Xe(t)){let r=(yield*S(this.pushCount(1)))+(yield*S(this.pushSpaces(!0)));return this.indentNext=this.indentValue+1,this.indentValue+=r,yield*S(this.parseBlockStart())}return"doc"}*parseDocument(){yield*S(this.pushSpaces(!0));let e=this.getLine();if(e===null)return this.setNext("doc");let t=yield*S(this.pushIndicators());switch(e[t]){case"#":yield*S(this.pushCount(e.length-t));case void 0:return yield*S(this.pushNewline()),yield*S(this.parseLineStart());case"{":case"[":return yield*S(this.pushCount(1)),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*S(this.pushCount(1)),"doc";case"*":return yield*S(this.pushUntil(lo)),"doc";case\'"\':case"\'":return yield*S(this.parseQuotedScalar());case"|":case">":return t+=yield*S(this.parseBlockScalarHeader()),t+=yield*S(this.pushSpaces(!0)),yield*S(this.pushCount(e.length-t)),yield*S(this.pushNewline()),yield*S(this.parseBlockScalar());default:return yield*S(this.parsePlainScalar())}}*parseFlowCollection(){let e,t,r=-1;do e=yield*S(this.pushNewline()),e>0?(t=yield*S(this.pushSpaces(!1)),this.indentValue=r=t):t=0,t+=yield*S(this.pushSpaces(!0));while(e+t>0);let s=this.getLine();if(s===null)return this.setNext("flow");if((r!==-1&&r"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*S(this.pushUntil(t=>Xe(t)||t==="#"))}*parseBlockScalar(){let e=this.pos-1,t=0,r;e:for(let i=this.pos;r=this.buffer[i];++i)switch(r){case" ":t+=1;break;case`\n`:e=i,t=0;break;case"\\r":{let o=this.buffer[i+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`\n`)break}default:break e}if(!r&&!this.atEnd)return this.setNext("block-scalar");if(t>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=t:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let i=this.continueScalar(e+1);if(i===-1)break;e=this.buffer.indexOf(`\n`,i)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let s=e+1;for(r=this.buffer[s];r===" ";)r=this.buffer[++s];if(r===" "){for(;r===" "||r===" "||r==="\\r"||r===`\n`;)r=this.buffer[++s];e=s-1}else if(!this.blockScalarKeep)do{let i=e-1,o=this.buffer[i];o==="\\r"&&(o=this.buffer[--i]);let a=i;for(;o===" ";)o=this.buffer[--i];if(o===`\n`&&i>=this.pos&&i+1+t>a)e=i;else break}while(!0);return yield Ms,yield*S(this.pushToIndex(e+1,!0)),yield*S(this.parseLineStart())}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,r=this.pos-1,s;for(;s=this.buffer[++r];)if(s===":"){let i=this.buffer[r+1];if(Xe(i)||e&&_s.has(i))break;t=r}else if(Xe(s)){let i=this.buffer[r+1];if(s==="\\r"&&(i===`\n`?(r+=1,s=`\n`,i=this.buffer[r+1]):t=r),i==="#"||e&&_s.has(i))break;if(s===`\n`){let o=this.continueScalar(r+1);if(o===-1)break;r=Math.max(r,o-2)}}else{if(e&&_s.has(s))break;t=r}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Ms,yield*S(this.pushToIndex(t+1,!0)),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let r=this.buffer.slice(this.pos,e);return r?(yield r,this.pos+=r.length,r.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*S(this.pushTag()))+(yield*S(this.pushSpaces(!0)))+(yield*S(this.pushIndicators()));case"&":return(yield*S(this.pushUntil(lo)))+(yield*S(this.pushSpaces(!0)))+(yield*S(this.pushIndicators()));case"-":case"?":case":":{let e=this.flowLevel>0,t=this.charAt(1);if(Xe(t)||e&&_s.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*S(this.pushCount(1)))+(yield*S(this.pushSpaces(!0)))+(yield*S(this.pushIndicators()))}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,t=this.buffer[e];for(;!Xe(t)&&t!==">";)t=this.buffer[++e];return yield*S(this.pushToIndex(t===">"?e+1:e,!1))}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(Ff.has(t))t=this.buffer[++e];else if(t==="%"&&xu.has(this.buffer[e+1])&&xu.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*S(this.pushToIndex(e,!1))}}*pushNewline(){let e=this.buffer[this.pos];return e===`\n`?yield*S(this.pushCount(1)):e==="\\r"&&this.charAt(1)===`\n`?yield*S(this.pushCount(2)):0}*pushSpaces(e){let t=this.pos-1,r;do r=this.buffer[++t];while(r===" "||e&&r===" ");let s=t-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=t),s}*pushUntil(e){let t=this.pos,r=this.buffer[t];for(;!e(r);)r=this.buffer[++t];return yield*S(this.pushToIndex(t,!1))}};var Nr=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,r=this.lineStarts.length;for(;t>1;this.lineStarts[i]=0;)switch(n[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((t=n[++e])==null?void 0:t.type)==="space";);return n.splice(e,n.length)}function Lu(n){if(n.start.type==="flow-seq-start")for(let e of n.items)e.sep&&!e.value&&!zt(e.start,"explicit-key-ind")&&!zt(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Nu(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var Ar=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Lr,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let r of this.lexer.lex(e,t))yield*S(this.next(r));t||(yield*S(this.end()))}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*S(this.step()),this.offset+=e.length;return}let t=Ou(e);if(t)if(t==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*S(this.step()),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let r=`Not a YAML token: ${e}`;yield*S(this.pop({type:"error",offset:this.offset,message:r,source:e})),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*S(this.pop())}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&(!e||e.type!=="doc-end")){for(;this.stack.length>0;)yield*S(this.pop());this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*S(this.stream());switch(e.type){case"document":return yield*S(this.document(e));case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*S(this.scalar(e));case"block-scalar":return yield*S(this.blockScalar(e));case"block-map":return yield*S(this.blockMap(e));case"block-seq":return yield*S(this.blockSequence(e));case"flow-collection":return yield*S(this.flowCollection(e));case"doc-end":return yield*S(this.documentEnd(e))}yield*S(this.pop())}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e!=null?e:this.stack.pop();if(!t)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield t;else{let r=this.peek(1);switch(t.type==="block-scalar"?t.indent="indent"in r?r.indent:0:t.type==="flow-collection"&&r.type==="document"&&(t.indent=0),t.type==="flow-collection"&&Lu(t),r.type){case"document":r.value=t;break;case"block-scalar":r.props.push(t);break;case"block-map":{let s=r.items[r.items.length-1];if(s.value){r.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(s.sep)s.value=t;else{Object.assign(s,{key:t,sep:[]}),this.onKeyLine=!s.explicitKey;return}break}case"block-seq":{let s=r.items[r.items.length-1];s.value?r.items.push({start:[],value:t}):s.value=t;break}case"flow-collection":{let s=r.items[r.items.length-1];!s||s.value?r.items.push({start:[],key:t,sep:[]}):s.sep?s.value=t:Object.assign(s,{key:t,sep:[]});return}default:yield*S(this.pop()),yield*S(this.pop(t))}if((r.type==="document"||r.type==="block-map"||r.type==="block-seq")&&(t.type==="block-map"||t.type==="block-seq")){let s=t.items[t.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&Iu(s.start)===-1&&(t.indent===0||s.start.every(i=>i.type!=="comment"||i.indent=e.indent){let s=!this.onKeyLine&&this.indent===e.indent,i=s&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",o=[];if(i&&t.sep&&!t.value){let a=[];for(let u=0;ue.indent&&(a.length=0);break;default:a.length=0}}a.length>=2&&(o=t.sep.splice(a[1]))}switch(this.type){case"anchor":case"tag":i||t.value?(o.push(this.sourceToken),e.items.push({start:o}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"explicit-key-ind":!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):i||t.value?(o.push(this.sourceToken),e.items.push({start:o,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(zt(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(Nu(t.key)&&!zt(t.sep,"newline")){let a=Nn(t.start),u=t.key,l=t.sep;l.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:u,sep:l}]})}else o.length>0?t.sep=t.sep.concat(o,this.sourceToken):t.sep.push(this.sourceToken);else if(zt(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let a=Nn(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||i?e.items.push({start:o,key:null,sep:[this.sourceToken]}):zt(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let a=this.flowScalar(this.type);i||t.value?(e.items.push({start:o,key:a,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(a):(Object.assign(t,{key:a,sep:[]}),this.onKeyLine=!0);return}default:{let a=this.startBlockValue(e);if(a){s&&a.type!=="block-seq"&&e.items.push({start:o}),this.stack.push(a);return}}}}yield*S(this.pop()),yield*S(this.step())}*blockSequence(e){var r;let t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){let s="end"in t.value?t.value.end:void 0,i=Array.isArray(s)?s[s.length-1]:void 0;(i==null?void 0:i.type)==="comment"?s==null||s.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let s=e.items[e.items.length-2],i=(r=s==null?void 0:s.value)==null?void 0:r.end;if(Array.isArray(i)){Array.prototype.push.apply(i,t.start),i.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;t.value||zt(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let s=this.startBlockValue(e);if(s){this.stack.push(s);return}}yield*S(this.pop()),yield*S(this.step())}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let r;do yield*S(this.pop()),r=this.peek(1);while(r&&r.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case"map-value-ind":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:s,sep:[]}):t.sep?this.stack.push(s):Object.assign(t,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let r=this.startBlockValue(e);r?this.stack.push(r):(yield*S(this.pop()),yield*S(this.step()))}else{let r=this.peek(2);if(r.type==="block-map"&&(this.type==="map-value-ind"&&r.indent===e.indent||this.type==="newline"&&!r.items[r.items.length-1].sep))yield*S(this.pop()),yield*S(this.step());else if(this.type==="map-value-ind"&&r.type!=="flow-collection"){let s=Bs(r),i=Nn(s);Lu(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:i,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*S(this.lineEnd(e))}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`\n`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`\n`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let t=Bs(e),r=Nn(t);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Bs(e),r=Nn(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!1:e.every(r=>r.type==="newline"||r.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*S(this.pop())))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*S(this.pop()),yield*S(this.step());break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*S(this.pop()))}}};function wf(n){let e=n.prettyErrors!==!1;return{lineCounter:n.lineCounter||e&&new Nr||null,prettyErrors:e}}function Au(n,e={}){let{lineCounter:t,prettyErrors:r}=wf(e),s=new Ar(t==null?void 0:t.addNewLine),i=new Ir(e),o=null;for(let a of i.compose(s.parse(n),!0,n.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Qe(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return r&&t&&(o.errors.forEach(Zi(n,t)),o.warnings.forEach(Zi(n,t))),o}function co(n,e,t){let r;typeof e=="function"?r=e:t===void 0&&e&&typeof e=="object"&&(t=e);let s=Au(n,t);if(!s)return null;if(s.warnings.forEach(i=>ps(s.options.logLevel,i)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:r},t))}var js=Vr(Ru());var F=Vr(ns());var et;(N=>{N.DEFAULT_TO_STRING={nullRepresentation:"-",dateFormat:"MMMM dd, yyyy",dateTimeFormat:"h:mm a - MMMM dd, yyyy"};function e(y,w=N.DEFAULT_TO_STRING,v=!1){let O=t(y);if(!O)return w.nullRepresentation;switch(O.type){case"null":return w.nullRepresentation;case"string":return O.value;case"number":case"boolean":return""+O.value;case"link":return O.value.markdown();case"function":return"";case"array":let C="";return v&&(C+="["),C+=O.value.map(V=>e(V,w,!0)).join(", "),v&&(C+="]"),C;case"object":return"{ "+Object.entries(O.value).map(V=>V[0]+": "+e(V[1],w,!0)).join(", ")+" }";case"date":return ja(O.value,w.dateFormat,w.dateTimeFormat);case"duration":return qa(O.value)}}N.toString=e;function t(y){return h(y)?{type:"null",value:y}:f(y)?{type:"number",value:y}:l(y)?{type:"string",value:y}:g(y)?{type:"boolean",value:y}:p(y)?{type:"duration",value:y}:d(y)?{type:"date",value:y}:b(y)?{type:"array",value:y}:D(y)?{type:"link",value:y}:I(y)?{type:"function",value:y}:T(y)?{type:"object",value:y}:void 0}N.wrapValue=t;function r(y,w){if(T(y)){let v={};for(let[O,C]of Object.entries(y))v[O]=r(C,w);return v}else if(b(y)){let v=[];for(let O of y)v.push(r(O,w));return v}else return w(y)}N.mapLeaves=r;function s(y,w){return i(y,w)==0}N.equals=s;function i(y,w,v){var V,j;if(y===w||(y===void 0&&(y=null),w===void 0&&(w=null),y===null&&w===null))return 0;if(y===null)return-1;if(w===null)return 1;let O=t(y),C=t(w);if(O===void 0&&C===void 0)return 0;if(O===void 0)return-1;if(C===void 0)return 1;if(O.type!=C.type)return O.type.localeCompare(C.type);if(O.value===C.value)return 0;switch(O.type){case"string":return O.value.localeCompare(C.value);case"number":return O.valueAe,x=ae(Y.path).localeCompare(ae(ee.path));if(x!=0)return x;let $=Y.type.localeCompare(ee.type);return $!=0?$:Y.subpath&&!ee.subpath?1:!Y.subpath&&ee.subpath?-1:!Y.subpath&&!ee.subpath?0:((V=Y.subpath)!=null?V:"").localeCompare((j=ee.subpath)!=null?j:"");case"date":return O.value0;case"boolean":return w.value;case"link":return!!w.value.path;case"date":return w.value.toMillis()!=0;case"duration":return w.value.as("seconds")!=0;case"object":return Object.keys(w.value).length>0;case"array":return w.value.length>0;case"null":return!1;case"function":return!0}}N.isTruthy=a;function u(y){if(y==null)return y;if(N.isArray(y))return[].concat(y.map(w=>u(w)));if(N.isObject(y)){let w={};for(let[v,O]of Object.entries(y))w[v]=u(O);return w}else return y}N.deepCopy=u;function l(y){return typeof y=="string"}N.isString=l;function f(y){return typeof y=="number"}N.isNumber=f;function d(y){return y instanceof q}N.isDate=d;function p(y){return y instanceof B}N.isDuration=p;function h(y){return y==null}N.isNull=h;function b(y){return Array.isArray(y)}N.isArray=b;function g(y){return typeof y=="boolean"}N.isBoolean=g;function D(y){return y instanceof xe}N.isLink=D;function T(y){return y!==void 0&&typeof y=="object"&&!b(y)&&!p(y)&&!d(y)&&!D(y)&&!h(y)}N.isObject=T;function I(y){return typeof y=="function"}N.isFunction=I})(et||(et={}));var ju;(i=>{function n(o){return et.isObject(o)&&Object.keys(o).length==2&&"key"in o&&"rows"in o}i.isElementGroup=n;function e(o){for(let a of o)if(!n(a))return!1;return!0}i.isGrouping=e;function t(o){for(let a of o)if(n(a))return!1;return!0}i.isLeaf=t;function r(o){if(n(o))return r(o.rows);if(e(o)){let a=0;for(let u of o)a+=r(u.rows);return a}else return o.length}i.count=r;function s(o,a,u){if(u<=a)return[];if(t(o))return o.slice(a,u);let l=0,f=0;for(;l=o.length)return[];let d=[];for(;l{function n(u){return new ho(u)}a.success=n;function e(u){return new po(u)}a.failure=e;function t(u,l,f){return u.successful?l.successful?f(u.value,l.value):e(l.error):e(u.error)}a.flatMap2=t;function r(u,l,f){return t(u,l,(d,p)=>n(f(d,p)))}a.map2=r;function s(u,l){let f=[];for(let d of u){let p=l(d);if(!p.successful)return p.cast();f.push(p.value)}return a.success(f)}a.mapAll=s;function i(u){try{return a.success(u())}catch(l){return a.failure(l)}}a.trying=i;async function o(u){try{return a.success(await u)}catch(l){return a.failure(l)}}a.async=o})(Se||(Se={}));var Yt;(N=>{N.EVERYTHING={type:"everything"},N.NOTHING={type:"nothing"},N.EMPTY_SET=new Set;function r(y){return y.size==0?N.NOTHING:{type:"atom",value:y}}N.atom=r;function s(y){return y?N.EVERYTHING:N.NOTHING}N.constant=s;function i(y){return y!==void 0?r(y):N.NOTHING}N.nullableAtom=i;function o(y){return y.size==0?N.EVERYTHING:{type:"negated",value:y}}N.negated=o;function a(y){switch(y.type){case"everything":return N.NOTHING;case"nothing":return N.EVERYTHING;case"atom":return o(y.value);case"negated":return r(y.value)}}N.negate=a;function u(y){switch(y.type){case"everything":return!1;case"negated":return!1;case"atom":return y.value.size==0;case"nothing":return!0}}N.empty=u;function l(y,w){switch(y.type){case"everything":return w;case"nothing":return N.EMPTY_SET;case"atom":return y.value;case"negated":return I(w,y.value)}}N.resolve=l;function f(y){return d(y,w=>w)}N.intersect=f;function d(y,w){return p(y,v=>Se.success(w(v))).orElseThrow()}N.lazyIntersect=d;function p(y,w){let v=[],O=[];for(let C of y){let V=w(C);if(!V.successful)return V.cast();let j=V.value;if(j!==void 0){if(u(j))return Se.success(N.NOTHING);j.type!=="everything"&&(j.type=="atom"?v.push(j.value):j.type=="negated"&&O.push(j.value))}}return v.length==0&&O.length==0?Se.success(N.EVERYTHING):v.length>0&&O.length==0?Se.success(r(D(v))):v.length==0&&O.length>0?Se.success(o(T(O))):Se.success(N.atom(I(D(v),T(O))))}N.lazyFailableIntersection=p;function h(y){return b(y,w=>w)}N.union=h;function b(y,w){return g(y,v=>Se.success(w(v))).orElseThrow()}N.lazyUnion=b;function g(y,w){let v=[],O=[];for(let C of y){let V=w(C);if(!V.successful)return V.cast();let j=V.value;if(j!==void 0){if(j.type==="everything")return Se.success(N.EVERYTHING);u(j)||(j.type=="atom"?v.push(j.value):j.type=="negated"&&O.push(j.value))}}return v.length==0&&O.length==0?Se.success(N.NOTHING):v.length>0&&O.length==0?Se.success(N.atom(T(v))):v.length==0&&O.length>0?Se.success(N.negated(D(O))):Se.success(o(I(D(O),T(v))))}N.lazyFailableUnion=g;function D(y){if(y.length==0)return new Set;if(y.length==1)return y[0];let w=[].concat(y).sort((v,O)=>v.size-O.size);for(;w.length>1;){let v=new Set,O=w.pop();for(let C of w[0])O.has(C)&&v.add(C);w[0]=v}return w[0]}N.setIntersect=D;function T(y){if(y.length==0)return new Set;if(y.length==1)return y[0];let w=new Set;for(let v of y)for(let O of v)w.add(O);return w}N.setUnion=T;function I(y,w){if(y.size>w.size){let v=new Set(y);for(let O of w)v.delete(O);return v}else{let v=new Set;for(let O of y)w.has(O)||v.add(O);return v}}N.setIntersectNegation=I})(Yt||(Yt={}));var se;(g=>{g.ROW="$row";function e(D){return{type:"variable",name:D}}g.variable=e;function t(D){return{type:"literal",value:D}}g.literal=t;function r(D,T,I){return{type:"binaryop",left:D,op:T,right:I}}g.binaryOp=r;function s(D,T){return{type:"binaryop",left:D,right:T,op:"index"}}g.index=s;function i(D){let T=D.split("."),I=g.variable(T[0]);for(let N=1;N"||D==">="||D=="!="||D=="="}g.isCompareOp=d;function p(D,T=new Set([g.ROW])){switch(D.type){case"binaryop":return D.op==="index"&&D.left.type=="variable"&&D.left.name==g.ROW&&D.right.type=="literal"&&et.isString(D.right.value)?T.has(D.right.value)?new Set:new Set([D.right.value]):Yt.setUnion([p(D.left,T),p(D.right,T)]);case"function":return Yt.setUnion(D.arguments.map(N=>p(N,T)));case"lambda":let I=T!=null?T:new Set;for(let N of D.arguments)I.add(N);return p(D.value,I);case"list":return Yt.setUnion(D.values.map(N=>p(N,T)));case"negated":return p(D.child,T);case"object":return Yt.setUnion(Object.values(D.values).map(N=>p(N,T)));case"variable":return T&&T.has(D.name)?new Set:new Set([D.name]);case"literal":return new Set}}g.unboundVariables=p;function h(D){switch(D.type){case"binaryop":return D.op==="index"?`${h(D.left)}[${h(D.right)}]`:`${h(D.left)} ${D.op} ${h(D.right)}`;case"function":return`${h(D.func)}(${D.arguments.map(h).join(", ")})`;case"lambda":return`(${D.arguments.join(", ")}) => ${h(D.value)}`;case"list":return`[${D.values.map(h).join(", ")}]`;case"negated":return`!${h(D.child)}`;case"object":return`{${Object.entries(D.values).map(([I,N])=>`${I}: ${h(N)}`).join(", ")}}`;case"variable":return D.name;case"literal":let T=et.wrapValue(D.value);if(!T)return"null";switch(T.type){case"string":return`"${T.value}"`;default:return et.toString(T.value)}}}g.toString=h,g.NULL=g.literal(null)})(se||(se={}));var z=F.createLanguage({number:n=>F.regexp(/-?[0-9]+(\\.[0-9]+)?/).map(e=>Number.parseFloat(e)).desc("number"),string:n=>F.string(\'"\').then(F.alt(n.escapeCharacter,F.noneOf(\'"\\\\\')).atLeast(0).map(e=>e.join(""))).skip(F.string(\'"\')).desc("string"),escapeCharacter:n=>F.string("\\\\").then(F.any).map(e=>e===\'"\'?\'"\':e==="\\\\"?"\\\\":"\\\\"+e),bool:n=>F.regexp(/true|false|True|False/).map(e=>e.toLowerCase()=="true").desc("boolean"),tag:n=>F.seqMap(F.string("#"),F.alt(F.regexp(/[^\\u2000-\\u206F\\u2E00-\\u2E7F\'!"#$%&()*+,.:;<=>?@^`{|}~\\[\\]\\\\\\s]/).desc("text")).many(),(e,t)=>e+t.join("")).desc("tag"),identifier:n=>F.seqMap(F.alt(F.regexp(/[\\p{Letter}$]/u),F.regexp(qu).desc("text")),F.alt(F.regexp(/[0-9\\p{Letter}$_-]/u),F.regexp(qu).desc("text")).many(),(e,t)=>e+t.join("")).desc("variable"),link:n=>F.regexp(/\\[\\[([^\\[\\]]*?)\\]\\]/u,1).map(e=>xe.parseInner(e)).desc("file link"),embedLink:n=>F.seqMap(F.string("!").atMost(1),n.link,(e,t)=>(e.length>0&&(t.embed=!0),t)).desc("file link"),binaryPlusMinus:n=>F.regexp(/\\+|-/).map(e=>e).desc("\'+\' or \'-\'"),binaryMulDiv:n=>F.regexp(/\\*|\\/|%/).map(e=>e).desc("\'*\' or \'/\' or \'%\'"),binaryCompareOp:n=>F.regexp(/>=|<=|!=|>|<|=/).map(e=>e).desc("\'>=\' or \'<=\' or \'!=\' or \'=\' or \'>\' or \'<\'"),binaryAndOp:n=>F.regexp(/and|&/i).map(e=>"&").desc("\'and\'"),binaryOrOp:n=>F.regexp(/or|\\|/i).map(e=>"|").desc("\'or\'"),rootDate:n=>F.seqMap(F.regexp(/\\d{4}/),F.string("-"),F.regexp(/\\d{2}/),(e,t,r)=>q.fromObject({year:Number.parseInt(e),month:Number.parseInt(r)})).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),dateShorthand:n=>F.alt(...Object.keys(Uu).sort((e,t)=>t.length-e.length).map(F.string)),date:n=>xf(n.rootDate,e=>F.seqMap(F.string("-"),F.regexp(/\\d{2}/),(t,r)=>e.set({day:Number.parseInt(r)})),e=>F.seqMap(F.string("T"),F.regexp(/\\d{2}/),(t,r)=>e.set({hour:Number.parseInt(r)})),e=>F.seqMap(F.string(":"),F.regexp(/\\d{2}/),(t,r)=>e.set({minute:Number.parseInt(r)})),e=>F.seqMap(F.string(":"),F.regexp(/\\d{2}/),(t,r)=>e.set({second:Number.parseInt(r)})),e=>F.alt(F.seqMap(F.string("."),F.regexp(/\\d{3}/),(t,r)=>e.set({millisecond:Number.parseInt(r)})),F.succeed(e)),e=>F.alt(F.seqMap(F.string("+").or(F.string("-")),F.regexp(/\\d{1,2}(:\\d{2})?/),(t,r)=>e.setZone("UTC"+t+r,{keepLocalTime:!0})),F.seqMap(F.string("Z"),()=>e.setZone("utc",{keepLocalTime:!0})),F.seqMap(F.string("["),F.regexp(/[0-9A-Za-z+-\\/]+/u),F.string("]"),(t,r,s)=>e.setZone(r,{keepLocalTime:!0})))).assert(e=>e.isValid,"valid date").desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),datePlus:n=>F.alt(n.dateShorthand.map(e=>Uu[e]()),n.date).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS] or in shorthand"),durationType:n=>F.alt(...Object.keys(Vu).sort((e,t)=>t.length-e.length).map(F.string)),duration:n=>F.seqMap(n.number,F.optWhitespace,n.durationType,(e,t,r)=>Vu[r].mapUnits(s=>s*e)).sepBy1(F.string(",").trim(F.optWhitespace).or(F.optWhitespace)).map(e=>e.reduce((t,r)=>t.plus(r))).desc("duration like 4hr2min"),rawNull:n=>F.string("null"),atomInlineField:n=>F.alt(n.date,n.duration.map(e=>Mi(e)),n.string,n.tag,n.embedLink,n.bool,n.number,n.rawNull),inlineFieldList:n=>n.atomInlineField.sepBy(F.string(",").trim(F.optWhitespace).lookahead(n.atomInlineField)),inlineField:n=>F.alt(F.seqMap(n.atomInlineField,F.string(",").trim(F.optWhitespace),n.inlineFieldList,(e,t,r)=>[e].concat(r)),n.atomInlineField)}),qu=new RegExp(Fn(),""),Vu={year:B.fromObject({years:1}),years:B.fromObject({years:1}),yr:B.fromObject({years:1}),yrs:B.fromObject({years:1}),month:B.fromObject({months:1}),months:B.fromObject({months:1}),mo:B.fromObject({months:1}),mos:B.fromObject({months:1}),week:B.fromObject({weeks:1}),weeks:B.fromObject({weeks:1}),wk:B.fromObject({weeks:1}),wks:B.fromObject({weeks:1}),w:B.fromObject({weeks:1}),day:B.fromObject({days:1}),days:B.fromObject({days:1}),d:B.fromObject({days:1}),hour:B.fromObject({hours:1}),hours:B.fromObject({hours:1}),hr:B.fromObject({hours:1}),hrs:B.fromObject({hours:1}),h:B.fromObject({hours:1}),minute:B.fromObject({minutes:1}),minutes:B.fromObject({minutes:1}),min:B.fromObject({minutes:1}),mins:B.fromObject({minutes:1}),m:B.fromObject({minutes:1}),second:B.fromObject({seconds:1}),seconds:B.fromObject({seconds:1}),sec:B.fromObject({seconds:1}),secs:B.fromObject({seconds:1}),s:B.fromObject({seconds:1})},Uu={now:()=>q.local(),today:()=>q.local().startOf("day"),yesterday:()=>q.local().startOf("day").minus(B.fromObject({days:1})),tomorrow:()=>q.local().startOf("day").plus(B.fromObject({days:1})),sow:()=>q.local().startOf("week"),"start-of-week":()=>q.local().startOf("week"),eow:()=>q.local().endOf("week"),"end-of-week":()=>q.local().endOf("week"),soy:()=>q.local().startOf("year"),"start-of-year":()=>q.local().startOf("year"),eoy:()=>q.local().endOf("year"),"end-of-year":()=>q.local().endOf("year"),som:()=>q.local().startOf("month"),"start-of-month":()=>q.local().startOf("month"),eom:()=>q.local().endOf("month"),"end-of-month":()=>q.local().endOf("month")},Ku=F.createLanguage({variable:n=>z.identifier.map(se.variable).desc("variable"),number:n=>z.number.map(se.literal).desc("number"),string:n=>z.string.map(se.literal).desc("string"),bool:n=>z.bool.map(se.literal).desc("boolean"),date:n=>St("date",z.datePlus).map(([e,t])=>se.literal(t)).desc("date"),duration:n=>St("dur",z.duration).map(([e,t])=>se.literal(t)).desc("duration"),null:n=>z.rawNull.map(e=>se.NULL),link:n=>z.link.map(se.literal),list:n=>n.expression.sepBy(F.string(",").trim(F.optWhitespace)).wrap(F.string("[").skip(F.optWhitespace),F.optWhitespace.then(F.string("]"))).map(e=>se.list(e)).desc("list"),object:n=>F.seqMap(z.identifier.or(z.string),F.string(":").trim(F.optWhitespace),n.expression,(e,t,r)=>({name:e,value:r})).sepBy(F.string(",").trim(F.optWhitespace)).wrap(F.string("{").skip(F.optWhitespace),F.optWhitespace.then(F.string("}"))).map(e=>{let t={};for(let r of e)t[r.name]=r.value;return se.object(t)}).desc("object (\'{ a: 1, b: 2 }\')"),atom:n=>F.alt(z.embedLink.map(e=>se.literal(e)),n.negated,n.link,n.list,n.object,n.lambda,n.parens,n.bool,n.number,n.string,n.date,n.duration,n.null,n.variable),index:n=>F.seqMap(n.atom,F.alt(n.dotPostfix,n.indexPostfix,n.functionPostfix).many(),(e,t)=>{let r=e;for(let s of t)switch(s.type){case"dot":r=se.index(r,se.literal(s.expr));break;case"index":r=se.index(r,s.expr);break;case"function":r=se.func(r,s.exprs);break}return r}),negated:n=>F.seqMap(F.string("!"),n.index,(e,t)=>se.negate(t)).desc("negated field"),parens:n=>n.expression.trim(F.optWhitespace).wrap(F.string("("),F.string(")")),lambda:n=>F.seqMap(z.identifier.sepBy(F.string(",").trim(F.optWhitespace)).wrap(F.string("(").trim(F.optWhitespace),F.string(")").trim(F.optWhitespace)),F.string("=>").trim(F.optWhitespace),n.expression,(e,t,r)=>({type:"lambda",arguments:e,value:r})),dotPostfix:n=>F.seqMap(F.string("."),z.identifier,(e,t)=>({type:"dot",expr:t})),indexPostfix:n=>F.seqMap(F.string("["),F.optWhitespace,n.expression,F.optWhitespace,F.string("]"),(e,t,r,s,i)=>({type:"index",expr:r})),functionPostfix:n=>F.seqMap(F.string("("),F.optWhitespace,n.expression.sepBy(F.string(",").trim(F.optWhitespace)),F.optWhitespace,F.string(")"),(e,t,r,s,i)=>({type:"function",exprs:r})),binaryMulDiv:n=>Mn(n.index,z.binaryMulDiv,se.binaryOp),binaryPlusMinus:n=>Mn(n.binaryMulDiv,z.binaryPlusMinus,se.binaryOp),binaryCompare:n=>Mn(n.binaryPlusMinus,z.binaryCompareOp,se.binaryOp),binaryBoolean:n=>Mn(n.binaryCompare,z.binaryAndOp.or(z.binaryOrOp),se.binaryOp),binaryOp:n=>n.binaryBoolean,expression:n=>n.binaryOp}),lb=F.createLanguage({queryTag:n=>z.tag.map(e=>({type:"tagged",value:e})),queryId:n=>St("id",z.string).map(([e,t])=>({type:"id",value:t})),queryType:n=>F.string("@").then(z.identifier).map(e=>({type:"typed",value:e})),queryPath:n=>St(F.regexp(/e?path/i).desc("[e]path"),z.string).map(([e,t])=>({type:"path",value:t,exact:e.toLowerCase()==="epath"})),queryParentOf:n=>St(F.regexp(/parentof|supertree/i).desc("parentof"),n.query).map(([e,t])=>({type:"parent-of",children:t,inclusive:e.toLowerCase()==="supertree"})),queryChildOf:n=>St(F.regexp(/childof|subtree/i).desc("childof"),n.query).map(([e,t])=>({type:"child-of",parents:t,inclusive:e.toLowerCase()==="subtree"})),querySimpleLinked:n=>z.link.map(e=>({type:"linked",source:{type:"link",value:e},direction:"incoming"})),queryLinked:n=>St(F.regexp(/linksto|linkedfrom|connected/i).desc("connected"),n.query).map(([e,t])=>({type:"linked",source:t,direction:e.toLowerCase()=="linksto"?"incoming":e.toLowerCase()=="linkedfrom"?"outgoing":"both"})),queryExists:n=>St(F.regexp(/exists/i).desc("exists"),z.identifier.or(z.string)).map(([e,t])=>({type:"field",value:t})),queryQuotedExpression:n=>St(F.regexp(/expr/i).desc("expr"),Ku.expression).map(([e,t])=>({type:"expression",expression:t})),queryRawExpression:n=>Ku.binaryCompare.map(e=>({type:"expression",expression:e})),queryParens:n=>n.query.trim(F.optWhitespace).wrap(F.string("("),F.string(")")),queryNegate:n=>F.string("!").skip(F.optWhitespace).then(n.queryAtom).map(e=>({type:"not",element:e})),queryAtom:n=>F.alt(n.queryParens,n.queryNegate,n.querySimpleLinked,n.queryTag,n.queryType,n.queryId,n.queryExists,n.queryChildOf,n.queryParentOf,n.queryLinked,n.queryPath,n.queryQuotedExpression,n.queryRawExpression),queryAnds:n=>Mn(n.queryAtom,z.binaryAndOp,(e,t,r)=>({type:"and",elements:[e,r]})),queryOrs:n=>Mn(n.queryAnds,z.binaryOrOp,(e,t,r)=>({type:"or",elements:[e,r]})),query:n=>n.queryOrs.trim(F.optWhitespace)});function Mn(n,e,t){return F.seqMap(n,F.seq(F.optWhitespace,e,F.optWhitespace,n).many(),(r,s)=>{if(s.length==0)return r;let i=t(r,s[0][1],s[0][3]);for(let o=1;o[r,s])}function xf(n,...e){return F.custom((t,r)=>(s,i)=>{let o=n._(s,i);if(!o.status)return o;for(let a of e){let u=a(o.value)._(s,o.index);if(!u.status)return o;o=u}return o})}var Zt=Vr(ns());function Gt(n,e){let t={};for(let[r,s]of Object.entries(n))t[r]=e(s);return t}var _n;(r=>{r.NOOP_NORMALIZER=s=>s;function e(s){let i=et.wrapValue(s);if(!i)return null;switch(i==null?void 0:i.type){case"array":return i.value.map(r.json);case"object":return Gt(i.value,r.json);case"date":return{$_type:"date",value:i.value.toISO({extendedZone:!0,includeOffset:!0})};case"link":return{$_type:"link",value:i.value.toObject()};case"duration":return{$_type:"duration",value:i.value.toISO()};case"boolean":case"number":case"string":return i.value;case"function":case"null":return null}}r.json=e;function t(s,i=r.NOOP_NORMALIZER){if(s==null)return null;if(Array.isArray(s))return i(s.map(o=>r.value(o,i)));if(typeof s=="object"){if(!("$_type"in s))return Gt(s,a=>r.value(a,i));let o=s.$_type;switch(o){case"date":return i(q.fromISO(s.value));case"duration":return i(B.fromISO(s.value));case"link":return i(xe.fromObject(s.value));default:throw new Error(`Unrecognized serialized type \'${o}\'!`)}}return i(s)}r.value=t})(_n||(_n={}));function Wu(n){return Object.assign({},n,{value:_n.json(n.value)})}function $s(n,e){return Array.isArray(n)?n.map(t=>$s(t,e)):{key:n.key,raw:n.value,value:Nf(n.value),position:{line:e,start:n.start,startValue:n.startValue,end:n.end},wrapping:n.wrapping}}var Ps=Object.freeze({"[":"]","(":")"});function If(n,e,t,r){let s=0,i=!1;for(let o=e;o=0;){let o=Lf(n,i);if(!o){i=n.indexOf(s,i+1);continue}t.push(o),i=n.indexOf(s,o.end)}}e&&(t=t.concat(qf(n))),t.sort((s,i)=>s.start-i.start);let r=[];for(let s=0;sn.join("")),Mf=Zt.regexp(/[^0-9\\w\\p{Letter}]*/u).then(Af).skip(Zt.regexp(/[_\\*~`]*/u));function zu(n){let e=Hu(n,0);if(!e)return;let t=Mf.parse(e.key);if(t.status)return{key:t.value,value:n.substring(e.valueIndex).trim(),start:0,startValue:e.valueIndex,end:n.length}}var _f=/\\u{2795}\\s*(\\d{4}-\\d{2}-\\d{2})/u,Bf=/(?:\\u{1F4C5}|\\u{1F4C6}|\\u{1F5D3}\\u{FE0F}?)\\s*(\\d{4}-\\d{2}-\\d{2})/u,Pf=/\\u{2705}\\s*(\\d{4}-\\d{2}-\\d{2})/u,$f=/[\\u{23F3}\\u{231B}]\\s*(\\d{4}-\\d{2}-\\d{2})/u,Rf=/\\u{1F6EB}\\s*(\\d{4}-\\d{2}-\\d{2})/u,jf=[{regex:_f,key:"created"},{regex:Rf,key:"start"},{regex:$f,key:"scheduled"},{regex:Bf,key:"due"},{regex:Pf,key:"completion"}];function qf(n){let e=[];for(let{regex:t,key:r}of jf){let s=t.exec(n);s&&e.push({key:r,value:s[1],start:s.index,startValue:s.index+1,end:s.index+s[0].length,wrapping:"emoji-shorthand"})}return e}var Rs;(t=>{function n(r){let s=et.wrapValue(e);if(!s)return null;switch(s.type){case"string":case"boolean":case"null":case"number":return s.value;case"array":return s.value.map(n);case"date":return s.value.toISO();case"duration":return s.value.toHuman();case"function":return null;case"link":return s.value.markdown();case"object":return Gt(s.value,n)}}t.yaml=n;function e(r){if(r==null)return null;if(typeof r=="object")if(Array.isArray(r)){let s=[];for(let i of r)s.push(e(i));return s}else{if(r instanceof Date)return q.fromJSDate(r);{let s=r,i={};for(let o in s)i[o]=e(s[o]);return i}}else{if(typeof r=="number")return r;if(typeof r=="boolean")return r;if(typeof r=="string"){let s=z.date.parse(r);if(s.status)return s.value;let i=z.duration.parse(r);if(i.status)return i.value;let o=z.link.parse(r);return o.status?o.value:r}}return null}t.literal=e})(Rs||(Rs={}));var Vf=/```yaml:data/i,Uf=/^(?:```|~~~)(.*)$/im,Kf=new RegExp("^[\\\\s>]*(\\\\d+\\\\.|\\\\d+\\\\)|\\\\*|-|\\\\+)\\\\s*(\\\\[.{0,1}\\\\])?\\\\s*(.*)","msu");function Zu(n,e,t,r){let{lines:s,metadata:i,frontmatter:o,sections:a}=Fo(n,e,t);return new mo(n,r,s.length,i,a,o).build()}function Fo(n,e,t){var b,g,D,T,I,N,y,w,v,O,C,V,j,Y,ee,ae;let r=t!=null&&t.frontmatter?Gu(t.frontmatter):void 0,s=e.split(/\\r\\n|\\r|\\n/),i=new $e,o=[],a=(b=t==null?void 0:t.headings)!=null?b:[];a.sort((x,$)=>x.position.start.line-$.position.start.line);let u=new js.default(void 0,(x,$)=>x-$);for(let x=0;x0&&!Yu(s,0,x.start)){let $=new _r(0,x.start,En(n),1,0);u.set(0,$)}}let l=new js.default(void 0,(x,$)=>x-$),f=1;for(let x of(t==null?void 0:t.sections)||[]){if(x.type==="heading")continue;let $=x.position.start.line,Q=x.position.end.line+1,ue=s[$];if(x.type==="list")l.set($,new Do($,Q,f++,x.id));else if(x.type=="code"&&Vf.test(ue)){let De=s.slice($+1,Q-1).join(`\n`).replace(/\\t/gm," "),Re=Gu(co(De));l.set($,new yo($,Q,f++,Re,x.id))}else if(x.type==="code"){let De=ue.match(Uf);if(!De)l.set($,new qs($,Q,f++,[],"indent",$,Q,x.id));else{let Re=De.length>1&&De[1]?De[1].split(","):[];l.set($,new qs($,Q,f++,Re,"fenced",$+1,Q-1,x.id))}}else l.set($,new go($,Q,f++,x.type,x.id))}for(let x of l.values())(D=ct(x.start,u))==null||D.block(x);let d=/^[\\t\\f\\v ]*[\\-+\\*]\\s(\\[.\\]\\s)?/,p=/^(>?\\s?)*(\\t|\\s)*/g,h=new js.default(void 0,(x,$)=>x-$);for(let x of(t==null?void 0:t.listItems)||[]){let Q=s.slice(x.position.start.line,x.position.end.line+1).join(`\n`).match(Kf),ue,De;Q&&(ue=Q[1],De=Q[3]);let Re=new bo(x.position.start.line,x.position.end.line+1,x.parent,ue,x.id,x.task,De);h.set(Re.start,Re)}for(let x of h.values())if(x.parentLine<0){let $=l.get(-x.parentLine);if(!$||$.type!=="list")continue;$.items.push(x)}else(T=h.get(x.parentLine))==null||T.elements.push(x);for(let x of(I=t==null?void 0:t.tags)!=null?I:[]){let $=x.tag.startsWith("#")?x.tag:"#"+x.tag,Q=x.position.start.line;i.tag($),(N=ct(Q,u))==null||N.metadata.tag($),(y=ct(Q,l))==null||y.metadata.tag($),(w=ct(Q,h))==null||w.metadata.tag($)}if(t!=null&&t.frontmatter)for(let x of Wf(t.frontmatter)){let $=x.startsWith("#")?x:"#"+x;i.tag($)}for(let x of(v=t==null?void 0:t.links)!=null?v:[]){let $=xe.infer(x.link),Q=x.position.start.line;i.link($),(O=ct(Q,u))==null||O.metadata.link($),(C=ct(Q,l))==null||C.metadata.link($),(V=ct(Q,h))==null||V.metadata.link($)}for(let x of(j=t==null?void 0:t.frontmatterLinks)!=null?j:[])i.link(xe.infer(x.link,!1,x.displayText));for(let x of Eo(s)){let $=x.position.line;i.inlineField(x),(Y=ct($,u))==null||Y.metadata.inlineField(x),(ee=ct($,l))==null||ee.metadata.inlineField(x),(ae=ct($,h))==null||ae.metadata.inlineField(x)}return o.push(...u.values()),{lines:s,frontmatter:r,metadata:i,sections:o}}function Yu(n,e,t){for(let r=e;r32768||!t.includes("::"))continue;let r=Ju(t);if(r.length>0)for(let s of r)yield $s(s,e);else{let s=zu(t);s&&(yield $s(s,e))}}}function Gu(n){let e={};for(let t of Object.keys(n)){let r=n[t];e[t.toLowerCase()]={key:t,value:_n.json(Rs.literal(r)),raw:r}}return e}function ct(n,e){var r;let t=(r=e.getPairOrNextLower(n))==null?void 0:r[1];if(t&&t.end>=n)return t}function Wf(n){return Object.keys(n).filter(t=>t.toLowerCase()=="tags"||t.toLowerCase()=="tag").map(t=>Qu(n[t],/[,\\s]+/)).reduce((t,r)=>t.concat(r),[]).map(t=>t.startsWith("#")?t:"#"+t)}function Qu(n,e){return n==null||n==null?[]:Array.isArray(n)?n.filter(t=>!!t).map(t=>Qu(t,e)).reduce((t,r)=>t.concat(r),[]):(""+n).split(e).filter(t=>!!t).map(t=>t.trim()).filter(t=>t.length>0)}var $e=class{constructor(){this.tags=new Set;this.links=[];this.inlineFields={}}tag(e){this.tags.add(e)}link(e){this.links.find(t=>t.equals(e))||this.links.push(e)}inlineField(e){let t=e.key.toLowerCase();Object.keys(this.inlineFields).some(r=>r.toLowerCase()==t)||(this.inlineFields[t]=e)}finishTags(){return Array.from(this.tags)}finishLinks(){return this.links.map(e=>e.toObject())}finishInlineFields(){return Gt(this.inlineFields,Wu)}},mo=class{constructor(e,t,r,s,i,o){this.path=e;this.stats=t;this.length=r;this.metadata=s;this.sections=i;this.frontmatter=o}build(){return{$path:this.path,$ctime:this.stats.ctime,$mtime:this.stats.mtime,$size:this.stats.size,$extension:Va(this.path),$position:{start:0,end:this.length},$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$infields:this.metadata.finishInlineFields(),$sections:this.sections.map(e=>e.build()),$frontmatter:this.frontmatter}}},_r=class{constructor(e,t,r,s,i){this.start=e;this.end=t;this.title=r;this.level=s;this.ordinal=i;this.blocks=[];this.metadata=new $e}block(e){this.blocks.push(e)}build(){return{$title:this.title,$ordinal:this.ordinal,$level:this.level,$tags:this.metadata.finishTags(),$infields:this.metadata.finishInlineFields(),$links:this.metadata.finishLinks(),$position:{start:this.start,end:this.end},$blocks:this.blocks.map(e=>e.build())}}},Do=class{constructor(e,t,r,s){this.start=e;this.end=t;this.ordinal=r;this.blockId=s;this.type="list";this.metadata=new $e;this.items=[]}build(){return{$ordinal:this.ordinal,$position:{start:this.start,end:this.end},$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$type:"list",$blockId:this.blockId,$elements:this.items.map(e=>e.build())}}},qs=class{constructor(e,t,r,s,i,o,a,u){this.start=e;this.end=t;this.ordinal=r;this.languages=s;this.style=i;this.contentStart=o;this.contentEnd=a;this.blockId=u;this.type="codeblock";this.metadata=new $e}build(){return{$type:"codeblock",$ordinal:this.ordinal,$position:{start:this.start,end:this.end},$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$blockId:this.blockId,$languages:this.languages,$style:this.style,$contentPosition:{start:this.contentStart,end:this.contentEnd}}}},yo=class{constructor(e,t,r,s,i){this.start=e;this.end=t;this.ordinal=r;this.data=s;this.blockId=i;this.type="datablock";this.metadata=new $e}build(){return{$type:"datablock",$ordinal:this.ordinal,$position:{start:this.start,end:this.end},$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$blockId:this.blockId,$data:this.data}}},go=class{constructor(e,t,r,s,i){this.start=e;this.end=t;this.ordinal=r;this.type=s;this.blockId=i;this.metadata=new $e}build(){return{$type:this.type,$ordinal:this.ordinal,$position:{start:this.start,end:this.end},$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$blockId:this.blockId}}},bo=class{constructor(e,t,r,s,i,o,a){this.start=e;this.end=t;this.parentLine=r;this.symbol=s;this.blockId=i;this.status=o;this.text=a;this.metadata=new $e;this.elements=[]}build(){return{$parentLine:this.parentLine,$position:{start:this.start,end:this.end},$blockId:this.blockId,$elements:this.elements.map(e=>e.build()),$type:this.status?"task":"list",$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$status:this.status,$symbol:this.symbol,$text:this.text}}};function Xu(n,e,t,r){var o;let s=new To(n,r),i=JSON.parse(e);for(let a of i.nodes)if(a.type!="group")if(a.type=="text"){let{frontmatter:u,metadata:l,lines:f,sections:d}=Fo(n,a.text,t==null?void 0:t.caches[a.id]),p=new Vs(n,a.id,a,u);d.forEach(h=>p.section(h)),s.card(p);for(let h in l.tags)s.metadata.tag(h);for(let h of(o=l.links)!=null?o:[])s.metadata.link(h);for(let h of Eo(f))s.metadata.inlineField(h)}else{let u=new Vs(n,a.id,a);s.card(u)}return s.build()}var wo=class{constructor(e,t,r){this.path=e;this.id=t;this.nodeJson=r;this.metadata=new $e}build(){return{$file:this.path,$id:this.id,$position:{x:this.nodeJson.x,y:this.nodeJson.y},$dimensions:{width:this.nodeJson.width,height:this.nodeJson.height},$color:this.nodeJson.color,$link:xe.file(this.path).withBlock(this.id).toObject()}}},Vs=class extends wo{constructor(t,r,s,i){super(t,r,s);this.path=t;this.id=r;this.nodeJson=s;this.frontmatter=i;this.sections=[]}section(t){return this.sections.push(t),t}build(){switch(this.nodeJson.type){case"text":return ye(R({},super.build()),{$infields:this.metadata.finishInlineFields(),$frontmatter:this.frontmatter,$sections:this.sections.map(t=>t.build()),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$type:"text-card",$color:this.nodeJson.color});case"file":return ye(R({},super.build()),{$linkedFile:this.nodeJson.file});case"link":return ye(R({},super.build()),{$url:this.nodeJson.url})}}},To=class{constructor(e,t){this.path=e;this.stats=t;this.cards=[];this.metadata=new $e}card(e){return this.cards.push(e),e}build(){return{$cards:this.cards.map(e=>e.build()),$ctime:this.stats.ctime,$mtime:this.stats.mtime,$infields:this.metadata.finishInlineFields(),$links:this.metadata.finishLinks(),$tags:this.metadata.finishTags(),$path:this.path,$size:this.stats.size}}};onmessage=async n=>{try{let e=n.data;if(e.type==="markdown"){let t=Zu(e.path,e.contents,e.metadata,e.stat);postMessage({type:"markdown",result:t})}else if(e.type==="canvas"){let t=Xu(e.path,e.contents,e.index,e.stat);postMessage({type:"canvas",result:t})}else postMessage({$error:"Unsupported import method."})}catch(e){console.error(`Datacore Indexer failed to index ${n.data.path}: ${e}`),postMessage({$error:e.message})}};\n//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vcGFyc2ltbW9uL2J1aWxkL3BhcnNpbW1vbi51bWQubWluLmpzIiwgIi4uLy4uL3NvcnRlZC1idHJlZS9iK3RyZWUuanMiLCAiLi4vLi4vbHV4b24vc3JjL2Vycm9ycy5qcyIsICIuLi8uLi9sdXhvbi9zcmMvaW1wbC9mb3JtYXRzLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL3V0aWwuanMiLCAiLi4vLi4vbHV4b24vc3JjL2ltcGwvZW5nbGlzaC5qcyIsICIuLi8uLi9sdXhvbi9zcmMvaW1wbC9mb3JtYXR0ZXIuanMiLCAiLi4vLi4vbHV4b24vc3JjL2ltcGwvaW52YWxpZC5qcyIsICIuLi8uLi9sdXhvbi9zcmMvem9uZS5qcyIsICIuLi8uLi9sdXhvbi9zcmMvem9uZXMvc3lzdGVtWm9uZS5qcyIsICIuLi8uLi9sdXhvbi9zcmMvem9uZXMvSUFOQVpvbmUuanMiLCAiLi4vLi4vbHV4b24vc3JjL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qcyIsICIuLi8uLi9sdXhvbi9zcmMvem9uZXMvaW52YWxpZFpvbmUuanMiLCAiLi4vLi4vbHV4b24vc3JjL2ltcGwvem9uZVV0aWwuanMiLCAiLi4vLi4vbHV4b24vc3JjL3NldHRpbmdzLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL2xvY2FsZS5qcyIsICIuLi8uLi9sdXhvbi9zcmMvaW1wbC9yZWdleFBhcnNlci5qcyIsICIuLi8uLi9sdXhvbi9zcmMvZHVyYXRpb24uanMiLCAiLi4vLi4vbHV4b24vc3JjL2ludGVydmFsLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbmZvLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL2RpZmYuanMiLCAiLi4vLi4vbHV4b24vc3JjL2ltcGwvZGlnaXRzLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL3Rva2VuUGFyc2VyLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL2NvbnZlcnNpb25zLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9kYXRldGltZS5qcyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvbm9ybWFsaXplcnMudHMiLCAiLi4vLi4vZW1vamktcmVnZXgvaW5kZXgubWpzIiwgIi4uLy4uLy4uL3NyYy9leHByZXNzaW9uL2xpbmsudHMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvaWRlbnRpdHkuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvdmlzaXQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvZG9jL2RpcmVjdGl2ZXMuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvZG9jL2FuY2hvcnMuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvZG9jL2FwcGx5UmV2aXZlci5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9ub2Rlcy90b0pTLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L25vZGVzL05vZGUuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvQWxpYXMuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvU2NhbGFyLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2RvYy9jcmVhdGVOb2RlLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L25vZGVzL0NvbGxlY3Rpb24uanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeUNvbW1lbnQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc3RyaW5naWZ5L2ZvbGRGbG93TGluZXMuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeVN0cmluZy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zdHJpbmdpZnkvc3RyaW5naWZ5LmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3N0cmluZ2lmeS9zdHJpbmdpZnlQYWlyLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2xvZy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvbWVyZ2UuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvYWRkUGFpclRvSlNNYXAuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvUGFpci5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zdHJpbmdpZnkvc3RyaW5naWZ5Q29sbGVjdGlvbi5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9ub2Rlcy9ZQU1MTWFwLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS9jb21tb24vbWFwLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L25vZGVzL1lBTUxTZXEuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL2NvbW1vbi9zZXEuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL2NvbW1vbi9zdHJpbmcuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL2NvbW1vbi9udWxsLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS9jb3JlL2Jvb2wuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeU51bWJlci5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEvY29yZS9mbG9hdC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEvY29yZS9pbnQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL2NvcmUvc2NoZW1hLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS9qc29uL3NjaGVtYS5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvYmluYXJ5LmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS95YW1sLTEuMS9wYWlycy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvb21hcC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvYm9vbC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvZmxvYXQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL3lhbWwtMS4xL2ludC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvc2V0LmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS95YW1sLTEuMS90aW1lc3RhbXAuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL3lhbWwtMS4xL3NjaGVtYS5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEvdGFncy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEvU2NoZW1hLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3N0cmluZ2lmeS9zdHJpbmdpZnlEb2N1bWVudC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9kb2MvRG9jdW1lbnQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvZXJyb3JzLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvcmVzb2x2ZS1wcm9wcy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL3V0aWwtY29udGFpbnMtbmV3bGluZS5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL3V0aWwtZmxvdy1pbmRlbnQtY2hlY2suanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvY29tcG9zZS91dGlsLW1hcC1pbmNsdWRlcy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL3Jlc29sdmUtYmxvY2stbWFwLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvcmVzb2x2ZS1ibG9jay1zZXEuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvY29tcG9zZS9yZXNvbHZlLWVuZC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL3Jlc29sdmUtZmxvdy1jb2xsZWN0aW9uLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvY29tcG9zZS1jb2xsZWN0aW9uLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvcmVzb2x2ZS1ibG9jay1zY2FsYXIuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvY29tcG9zZS9yZXNvbHZlLWZsb3ctc2NhbGFyLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvY29tcG9zZS1zY2FsYXIuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvY29tcG9zZS91dGlsLWVtcHR5LXNjYWxhci1wb3NpdGlvbi5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL2NvbXBvc2Utbm9kZS5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL2NvbXBvc2UtZG9jLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvY29tcG9zZXIuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvcGFyc2UvY3N0LXZpc2l0LmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3BhcnNlL2NzdC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9wYXJzZS9sZXhlci5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9wYXJzZS9saW5lLWNvdW50ZXIuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvcGFyc2UvcGFyc2VyLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3B1YmxpYy1hcGkuanMiLCAiLi4vLi4vLi4vc3JjL2luZGV4L2ltcG9ydC9tYXJrZG93bi50cyIsICIuLi8uLi8uLi9zcmMvZXhwcmVzc2lvbi9wYXJzZXIudHMiLCAiLi4vLi4vLi4vc3JjL2V4cHJlc3Npb24vbGl0ZXJhbC50cyIsICIuLi8uLi8uLi9zcmMvYXBpL3Jlc3VsdC50cyIsICIuLi8uLi8uLi9zcmMvZXhwcmVzc2lvbi9maWx0ZXJzLnRzIiwgIi4uLy4uLy4uL3NyYy9leHByZXNzaW9uL2V4cHJlc3Npb24udHMiLCAiLi4vLi4vLi4vc3JjL2luZGV4L2ltcG9ydC9pbmxpbmUtZmllbGQudHMiLCAiLi4vLi4vLi4vc3JjL3V0aWxzL2RhdGEudHMiLCAiLi4vLi4vLi4vc3JjL2luZGV4L3R5cGVzL2pzb24vY29tbW9uLnRzIiwgIi4uLy4uLy4uL3NyYy9pbmRleC90eXBlcy95YW1sLnRzIiwgIi4uLy4uLy4uL3NyYy9pbmRleC9pbXBvcnQvY2FudmFzLnRzIiwgIi4uLy4uLy4uL3NyYy9pbmRleC93ZWItd29ya2VyL2ltcG9ydGVyLndvcmtlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiIWZ1bmN0aW9uKG4sdCl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5QYXJzaW1tb249dCgpOm4uUGFyc2ltbW9uPXQoKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciB0PXt9O2Z1bmN0aW9uIHIoZSl7aWYodFtlXSlyZXR1cm4gdFtlXS5leHBvcnRzO3ZhciB1PXRbZV09e2k6ZSxsOiExLGV4cG9ydHM6e319O3JldHVybiBuW2VdLmNhbGwodS5leHBvcnRzLHUsdS5leHBvcnRzLHIpLHUubD0hMCx1LmV4cG9ydHN9cmV0dXJuIHIubT1uLHIuYz10LHIuZD1mdW5jdGlvbihuLHQsZSl7ci5vKG4sdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHQse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiEwLGdldDplfSl9LHIucj1mdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobixcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KX0sci5uPWZ1bmN0aW9uKG4pe3ZhciB0PW4mJm4uX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBuLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIG59O3JldHVybiByLmQodCxcImFcIix0KSx0fSxyLm89ZnVuY3Rpb24obix0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCl9LHIucD1cIlwiLHIoci5zPTApfShbZnVuY3Rpb24obix0LHIpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGUobil7aWYoISh0aGlzIGluc3RhbmNlb2YgZSkpcmV0dXJuIG5ldyBlKG4pO3RoaXMuXz1ufXZhciB1PWUucHJvdG90eXBlO2Z1bmN0aW9uIG8obix0KXtmb3IodmFyIHI9MDtyPG47cisrKXQocil9ZnVuY3Rpb24gaShuLHQscil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7byh0Lmxlbmd0aCxmdW5jdGlvbihyKXtuKHRbcl0scix0KX0pfShmdW5jdGlvbihyLGUsdSl7dD1uKHQscixlLHUpfSxyKSx0fWZ1bmN0aW9uIGEobix0KXtyZXR1cm4gaShmdW5jdGlvbih0LHIsZSx1KXtyZXR1cm4gdC5jb25jYXQoW24ocixlLHUpXSl9LFtdLHQpfWZ1bmN0aW9uIGYobix0KXt2YXIgcj17djowLGJ1Zjp0fTtyZXR1cm4gbyhuLGZ1bmN0aW9uKCl7dmFyIG47cj17djpyLnY8PDF8KG49ci5idWYsblswXT4+NyksYnVmOmZ1bmN0aW9uKG4pe3ZhciB0PWkoZnVuY3Rpb24obix0LHIsZSl7cmV0dXJuIG4uY29uY2F0KHI9PT1lLmxlbmd0aC0xP0J1ZmZlci5mcm9tKFt0LDBdKS5yZWFkVUludDE2QkUoMCk6ZS5yZWFkVUludDE2QkUocikpfSxbXSxuKTtyZXR1cm4gQnVmZmVyLmZyb20oYShmdW5jdGlvbihuKXtyZXR1cm4objw8MSY2NTUzNSk+Pjh9LHQpKX0oci5idWYpfX0pLHJ9ZnVuY3Rpb24gYygpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBCdWZmZXJ9ZnVuY3Rpb24gcygpe2lmKCFjKCkpdGhyb3cgbmV3IEVycm9yKFwiQnVmZmVyIGdsb2JhbCBkb2VzIG5vdCBleGlzdDsgcGxlYXNlIHVzZSB3ZWJwYWNrIGlmIHlvdSBuZWVkIHRvIHBhcnNlIEJ1ZmZlcnMgaW4gdGhlIGJyb3dzZXIuXCIpfWZ1bmN0aW9uIGwobil7cygpO3ZhciB0PWkoZnVuY3Rpb24obix0KXtyZXR1cm4gbit0fSwwLG4pO2lmKHQlOCE9MCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYml0cyBbXCIrbi5qb2luKFwiLCBcIikrXCJdIGFkZCB1cCB0byBcIit0K1wiIHdoaWNoIGlzIG5vdCBhbiBldmVuIG51bWJlciBvZiBieXRlczsgdGhlIHRvdGFsIHNob3VsZCBiZSBkaXZpc2libGUgYnkgOFwiKTt2YXIgcix1PXQvOCxvPShyPWZ1bmN0aW9uKG4pe3JldHVybiBuPjQ4fSxpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG58fChyKHQpP3Q6bil9LG51bGwsbikpO2lmKG8pdGhyb3cgbmV3IEVycm9yKG8rXCIgYml0IHJhbmdlIHJlcXVlc3RlZCBleGNlZWRzIDQ4IGJpdCAoNiBieXRlKSBOdW1iZXIgbWF4LlwiKTtyZXR1cm4gbmV3IGUoZnVuY3Rpb24odCxyKXt2YXIgZT11K3I7cmV0dXJuIGU+dC5sZW5ndGg/eChyLHUudG9TdHJpbmcoKStcIiBieXRlc1wiKTpiKGUsaShmdW5jdGlvbihuLHQpe3ZhciByPWYodCxuLmJ1Zik7cmV0dXJue2NvbGw6bi5jb2xsLmNvbmNhdChyLnYpLGJ1ZjpyLmJ1Zn19LHtjb2xsOltdLGJ1Zjp0LnNsaWNlKHIsZSl9LG4pLmNvbGwpfSl9ZnVuY3Rpb24gaChuLHQpe3JldHVybiBuZXcgZShmdW5jdGlvbihyLGUpe3JldHVybiBzKCksZSt0PnIubGVuZ3RoP3goZSx0K1wiIGJ5dGVzIGZvciBcIituKTpiKGUrdCxyLnNsaWNlKGUsZSt0KSl9KX1mdW5jdGlvbiBwKG4sdCl7aWYoXCJudW1iZXJcIiE9dHlwZW9mKHI9dCl8fE1hdGguZmxvb3IocikhPT1yfHx0PDB8fHQ+Nil0aHJvdyBuZXcgRXJyb3IobitcIiByZXF1aXJlcyBpbnRlZ2VyIGxlbmd0aCBpbiByYW5nZSBbMCwgNl0uXCIpO3ZhciByfWZ1bmN0aW9uIGQobil7cmV0dXJuIHAoXCJ1aW50QkVcIixuKSxoKFwidWludEJFKFwiK24rXCIpXCIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50QkUoMCxuKX0pfWZ1bmN0aW9uIHYobil7cmV0dXJuIHAoXCJ1aW50TEVcIixuKSxoKFwidWludExFKFwiK24rXCIpXCIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50TEUoMCxuKX0pfWZ1bmN0aW9uIGcobil7cmV0dXJuIHAoXCJpbnRCRVwiLG4pLGgoXCJpbnRCRShcIituK1wiKVwiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50QkUoMCxuKX0pfWZ1bmN0aW9uIG0obil7cmV0dXJuIHAoXCJpbnRMRVwiLG4pLGgoXCJpbnRMRShcIituK1wiKVwiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50TEUoMCxuKX0pfWZ1bmN0aW9uIHkobil7cmV0dXJuIG4gaW5zdGFuY2VvZiBlfWZ1bmN0aW9uIEUobil7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09e30udG9TdHJpbmcuY2FsbChuKX1mdW5jdGlvbiB3KG4pe3JldHVybiBjKCkmJkJ1ZmZlci5pc0J1ZmZlcihuKX1mdW5jdGlvbiBiKG4sdCl7cmV0dXJue3N0YXR1czohMCxpbmRleDpuLHZhbHVlOnQsZnVydGhlc3Q6LTEsZXhwZWN0ZWQ6W119fWZ1bmN0aW9uIHgobix0KXtyZXR1cm4gRSh0KXx8KHQ9W3RdKSx7c3RhdHVzOiExLGluZGV4Oi0xLHZhbHVlOm51bGwsZnVydGhlc3Q6bixleHBlY3RlZDp0fX1mdW5jdGlvbiBCKG4sdCl7aWYoIXQpcmV0dXJuIG47aWYobi5mdXJ0aGVzdD50LmZ1cnRoZXN0KXJldHVybiBuO3ZhciByPW4uZnVydGhlc3Q9PT10LmZ1cnRoZXN0P2Z1bmN0aW9uKG4sdCl7aWYoZnVuY3Rpb24oKXtpZih2b2lkIDAhPT1lLl9zdXBwb3J0c1NldClyZXR1cm4gZS5fc3VwcG9ydHNTZXQ7dmFyIG49XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFNldDtyZXR1cm4gZS5fc3VwcG9ydHNTZXQ9bixufSgpJiZBcnJheS5mcm9tKXtmb3IodmFyIHI9bmV3IFNldChuKSx1PTA7dTx0Lmxlbmd0aDt1Kyspci5hZGQodFt1XSk7dmFyIG89QXJyYXkuZnJvbShyKTtyZXR1cm4gby5zb3J0KCksb31mb3IodmFyIGk9e30sYT0wO2E8bi5sZW5ndGg7YSsrKWlbblthXV09ITA7Zm9yKHZhciBmPTA7Zjx0Lmxlbmd0aDtmKyspaVt0W2ZdXT0hMDt2YXIgYz1bXTtmb3IodmFyIHMgaW4gaSkoe30pLmhhc093blByb3BlcnR5LmNhbGwoaSxzKSYmYy5wdXNoKHMpO3JldHVybiBjLnNvcnQoKSxjfShuLmV4cGVjdGVkLHQuZXhwZWN0ZWQpOnQuZXhwZWN0ZWQ7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxpbmRleDpuLmluZGV4LHZhbHVlOm4udmFsdWUsZnVydGhlc3Q6dC5mdXJ0aGVzdCxleHBlY3RlZDpyfX12YXIgaj17fTtmdW5jdGlvbiBTKG4sdCl7aWYodyhuKSlyZXR1cm57b2Zmc2V0OnQsbGluZTotMSxjb2x1bW46LTF9O24gaW4ganx8KGpbbl09e30pO2Zvcih2YXIgcj1qW25dLGU9MCx1PTAsbz0wLGk9dDtpPj0wOyl7aWYoaSBpbiByKXtlPXJbaV0ubGluZSwwPT09byYmKG89cltpXS5saW5lU3RhcnQpO2JyZWFrfShcIlxcblwiPT09bi5jaGFyQXQoaSl8fFwiXFxyXCI9PT1uLmNoYXJBdChpKSYmXCJcXG5cIiE9PW4uY2hhckF0KGkrMSkpJiYodSsrLDA9PT1vJiYobz1pKzEpKSxpLS19dmFyIGE9ZSt1LGY9dC1vO3JldHVybiByW3RdPXtsaW5lOmEsbGluZVN0YXJ0Om99LHtvZmZzZXQ6dCxsaW5lOmErMSxjb2x1bW46ZisxfX1mdW5jdGlvbiBfKG4pe2lmKCF5KG4pKXRocm93IG5ldyBFcnJvcihcIm5vdCBhIHBhcnNlcjogXCIrbil9ZnVuY3Rpb24gTChuLHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBuP24uY2hhckF0KHQpOm5bdF19ZnVuY3Rpb24gTyhuKXtpZihcIm51bWJlclwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBudW1iZXI6IFwiK24pfWZ1bmN0aW9uIGsobil7aWYoXCJmdW5jdGlvblwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBmdW5jdGlvbjogXCIrbil9ZnVuY3Rpb24gUChuKXtpZihcInN0cmluZ1wiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBzdHJpbmc6IFwiK24pfXZhciBxPTIsQT0zLEk9OCxGPTUqSSxNPTQqSSx6PVwiICBcIjtmdW5jdGlvbiBSKG4sdCl7cmV0dXJuIG5ldyBBcnJheSh0KzEpLmpvaW4obil9ZnVuY3Rpb24gVShuLHQscil7dmFyIGU9dC1uLmxlbmd0aDtyZXR1cm4gZTw9MD9uOlIocixlKStufWZ1bmN0aW9uIFcobix0LHIsZSl7cmV0dXJue2Zyb206bi10PjA/bi10OjAsdG86bityPmU/ZTpuK3J9fWZ1bmN0aW9uIEQobix0KXt2YXIgcixlLHUsbyxmLGM9dC5pbmRleCxzPWMub2Zmc2V0LGw9MTtpZihzPT09bi5sZW5ndGgpcmV0dXJuXCJHb3QgdGhlIGVuZCBvZiB0aGUgaW5wdXRcIjtpZih3KG4pKXt2YXIgaD1zLXMlSSxwPXMtaCxkPVcoaCxGLE0rSSxuLmxlbmd0aCksdj1hKGZ1bmN0aW9uKG4pe3JldHVybiBhKGZ1bmN0aW9uKG4pe3JldHVybiBVKG4udG9TdHJpbmcoMTYpLDIsXCIwXCIpfSxuKX0sZnVuY3Rpb24obix0KXt2YXIgcj1uLmxlbmd0aCxlPVtdLHU9MDtpZihyPD10KXJldHVybltuLnNsaWNlKCldO2Zvcih2YXIgbz0wO288cjtvKyspZVt1XXx8ZS5wdXNoKFtdKSxlW3VdLnB1c2gobltvXSksKG8rMSkldD09MCYmdSsrO3JldHVybiBlfShuLnNsaWNlKGQuZnJvbSxkLnRvKS50b0pTT04oKS5kYXRhLEkpKTtvPWZ1bmN0aW9uKG4pe3JldHVybiAwPT09bi5mcm9tJiYxPT09bi50bz97ZnJvbTpuLmZyb20sdG86bi50b306e2Zyb206bi5mcm9tL0ksdG86TWF0aC5mbG9vcihuLnRvL0kpfX0oZCksZT1oL0kscj0zKnAscD49NCYmKHIrPTEpLGw9Mix1PWEoZnVuY3Rpb24obil7cmV0dXJuIG4ubGVuZ3RoPD00P24uam9pbihcIiBcIik6bi5zbGljZSgwLDQpLmpvaW4oXCIgXCIpK1wiICBcIituLnNsaWNlKDQpLmpvaW4oXCIgXCIpfSx2KSwoZj0oOCooby50bz4wP28udG8tMTpvLnRvKSkudG9TdHJpbmcoMTYpLmxlbmd0aCk8MiYmKGY9Mil9ZWxzZXt2YXIgZz1uLnNwbGl0KC9cXHJcXG58W1xcblxcclxcdTIwMjhcXHUyMDI5XS8pO3I9Yy5jb2x1bW4tMSxlPWMubGluZS0xLG89VyhlLHEsQSxnLmxlbmd0aCksdT1nLnNsaWNlKG8uZnJvbSxvLnRvKSxmPW8udG8udG9TdHJpbmcoKS5sZW5ndGh9dmFyIG09ZS1vLmZyb207cmV0dXJuIHcobikmJihmPSg4KihvLnRvPjA/by50by0xOm8udG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoZj0yKSxpKGZ1bmN0aW9uKHQsZSx1KXt2YXIgaSxhPXU9PT1tLGM9YT9cIj4gXCI6ejtyZXR1cm4gaT13KG4pP1UoKDgqKG8uZnJvbSt1KSkudG9TdHJpbmcoMTYpLGYsXCIwXCIpOlUoKG8uZnJvbSt1KzEpLnRvU3RyaW5nKCksZixcIiBcIiksW10uY29uY2F0KHQsW2MraStcIiB8IFwiK2VdLGE/W3orUihcIiBcIixmKStcIiB8IFwiK1UoXCJcIixyLFwiIFwiKStSKFwiXlwiLGwpXTpbXSl9LFtdLHUpLmpvaW4oXCJcXG5cIil9ZnVuY3Rpb24gTihuLHQpe3JldHVybltcIlxcblwiLFwiLS0gUEFSU0lORyBGQUlMRUQgXCIrUihcIi1cIiw1MCksXCJcXG5cXG5cIixEKG4sdCksXCJcXG5cXG5cIiwocj10LmV4cGVjdGVkLDE9PT1yLmxlbmd0aD9cIkV4cGVjdGVkOlxcblxcblwiK3JbMF06XCJFeHBlY3RlZCBvbmUgb2YgdGhlIGZvbGxvd2luZzogXFxuXFxuXCIrci5qb2luKFwiLCBcIikpLFwiXFxuXCJdLmpvaW4oXCJcIik7dmFyIHJ9ZnVuY3Rpb24gRyhuKXtyZXR1cm4gdm9pZCAwIT09bi5mbGFncz9uLmZsYWdzOltuLmdsb2JhbD9cImdcIjpcIlwiLG4uaWdub3JlQ2FzZT9cImlcIjpcIlwiLG4ubXVsdGlsaW5lP1wibVwiOlwiXCIsbi51bmljb2RlP1widVwiOlwiXCIsbi5zdGlja3k/XCJ5XCI6XCJcIl0uam9pbihcIlwiKX1mdW5jdGlvbiBDKCl7Zm9yKHZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSx0PW4ubGVuZ3RoLHI9MDtyPHQ7cis9MSlfKG5bcl0pO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7Zm9yKHZhciB1LG89bmV3IEFycmF5KHQpLGk9MDtpPHQ7aSs9MSl7aWYoISh1PUIobltpXS5fKHIsZSksdSkpLnN0YXR1cylyZXR1cm4gdTtvW2ldPXUudmFsdWUsZT11LmluZGV4fXJldHVybiBCKGIoZSxvKSx1KX0pfWZ1bmN0aW9uIEooKXt2YXIgbj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoMD09PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihcInNlcU1hcCBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnRcIik7dmFyIHQ9bi5wb3AoKTtyZXR1cm4gayh0KSxDLmFwcGx5KG51bGwsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LmFwcGx5KG51bGwsbil9KX1mdW5jdGlvbiBUKCl7dmFyIG49W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLHQ9bi5sZW5ndGg7aWYoMD09PXQpcmV0dXJuIFkoXCJ6ZXJvIGFsdGVybmF0ZXNcIik7Zm9yKHZhciByPTA7cjx0O3IrPTEpXyhuW3JdKTtyZXR1cm4gZShmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSx1PTA7dTxuLmxlbmd0aDt1Kz0xKWlmKChlPUIoblt1XS5fKHQsciksZSkpLnN0YXR1cylyZXR1cm4gZTtyZXR1cm4gZX0pfWZ1bmN0aW9uIFYobix0KXtyZXR1cm4gSChuLHQpLm9yKFgoW10pKX1mdW5jdGlvbiBIKG4sdCl7cmV0dXJuIF8obiksXyh0KSxKKG4sdC50aGVuKG4pLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybltuXS5jb25jYXQodCl9KX1mdW5jdGlvbiBLKG4pe1Aobik7dmFyIHQ9XCInXCIrbitcIidcIjtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PWUrbi5sZW5ndGgsbz1yLnNsaWNlKGUsdSk7cmV0dXJuIG89PT1uP2IodSxvKTp4KGUsdCl9KX1mdW5jdGlvbiBRKG4sdCl7IWZ1bmN0aW9uKG4pe2lmKCEobiBpbnN0YW5jZW9mIFJlZ0V4cCkpdGhyb3cgbmV3IEVycm9yKFwibm90IGEgcmVnZXhwOiBcIituKTtmb3IodmFyIHQ9RyhuKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBlPXQuY2hhckF0KHIpO2lmKFwiaVwiIT09ZSYmXCJtXCIhPT1lJiZcInVcIiE9PWUmJlwic1wiIT09ZSl0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHJlZ2V4cCBmbGFnIFwiJytlKydcIjogJytuKX19KG4pLGFyZ3VtZW50cy5sZW5ndGg+PTI/Tyh0KTp0PTA7dmFyIHI9ZnVuY3Rpb24obil7cmV0dXJuIFJlZ0V4cChcIl4oPzpcIituLnNvdXJjZStcIilcIixHKG4pKX0obiksdT1cIlwiK247cmV0dXJuIGUoZnVuY3Rpb24obixlKXt2YXIgbz1yLmV4ZWMobi5zbGljZShlKSk7aWYobyl7aWYoMDw9dCYmdDw9by5sZW5ndGgpe3ZhciBpPW9bMF0sYT1vW3RdO3JldHVybiBiKGUraS5sZW5ndGgsYSl9cmV0dXJuIHgoZSxcInZhbGlkIG1hdGNoIGdyb3VwICgwIHRvIFwiK28ubGVuZ3RoK1wiKSBpbiBcIit1KX1yZXR1cm4geChlLHUpfSl9ZnVuY3Rpb24gWChuKXtyZXR1cm4gZShmdW5jdGlvbih0LHIpe3JldHVybiBiKHIsbil9KX1mdW5jdGlvbiBZKG4pe3JldHVybiBlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHgocixuKX0pfWZ1bmN0aW9uIFoobil7aWYoeShuKSlyZXR1cm4gZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpO3JldHVybiBlLmluZGV4PXIsZS52YWx1ZT1cIlwiLGV9KTtpZihcInN0cmluZ1wiPT10eXBlb2YgbilyZXR1cm4gWihLKG4pKTtpZihuIGluc3RhbmNlb2YgUmVnRXhwKXJldHVybiBaKFEobikpO3Rocm93IG5ldyBFcnJvcihcIm5vdCBhIHN0cmluZywgcmVnZXhwLCBvciBwYXJzZXI6IFwiK24pfWZ1bmN0aW9uICQobil7cmV0dXJuIF8obiksZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpLHU9dC5zbGljZShyLGUuaW5kZXgpO3JldHVybiBlLnN0YXR1cz94KHIsJ25vdCBcIicrdSsnXCInKTpiKHIsbnVsbCl9KX1mdW5jdGlvbiBubihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7dmFyIGU9TCh0LHIpO3JldHVybiByPHQubGVuZ3RoJiZuKGUpP2IocisxLGUpOngocixcImEgY2hhcmFjdGVyL2J5dGUgbWF0Y2hpbmcgXCIrbil9KX1mdW5jdGlvbiB0bihuLHQpe2FyZ3VtZW50cy5sZW5ndGg8MiYmKHQ9bixuPXZvaWQgMCk7dmFyIHI9ZShmdW5jdGlvbihuLGUpe3JldHVybiByLl89dCgpLl8sci5fKG4sZSl9KTtyZXR1cm4gbj9yLmRlc2Mobik6cn1mdW5jdGlvbiBybigpe3JldHVybiBZKFwiZmFudGFzeS1sYW5kL2VtcHR5XCIpfXUucGFyc2U9ZnVuY3Rpb24obil7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIG4mJiF3KG4pKXRocm93IG5ldyBFcnJvcihcIi5wYXJzZSBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIG9yIEJ1ZmZlciBhcyBpdHMgYXJndW1lbnRcIik7dmFyIHQscj10aGlzLnNraXAoYW4pLl8obiwwKTtyZXR1cm4gdD1yLnN0YXR1cz97c3RhdHVzOiEwLHZhbHVlOnIudmFsdWV9OntzdGF0dXM6ITEsaW5kZXg6UyhuLHIuZnVydGhlc3QpLGV4cGVjdGVkOnIuZXhwZWN0ZWR9LGRlbGV0ZSBqW25dLHR9LHUudHJ5UGFyc2U9ZnVuY3Rpb24obil7dmFyIHQ9dGhpcy5wYXJzZShuKTtpZih0LnN0YXR1cylyZXR1cm4gdC52YWx1ZTt2YXIgcj1OKG4sdCksZT1uZXcgRXJyb3Iocik7dGhyb3cgZS50eXBlPVwiUGFyc2ltbW9uRXJyb3JcIixlLnJlc3VsdD10LGV9LHUuYXNzZXJ0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHRoaXMuY2hhaW4oZnVuY3Rpb24ocil7cmV0dXJuIG4ocik/WChyKTpZKHQpfSl9LHUub3I9ZnVuY3Rpb24obil7cmV0dXJuIFQodGhpcyxuKX0sdS50cmltPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLndyYXAobixuKX0sdS53cmFwPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEoobix0aGlzLHQsZnVuY3Rpb24obix0KXtyZXR1cm4gdH0pfSx1LnRocnU9ZnVuY3Rpb24obil7cmV0dXJuIG4odGhpcyl9LHUudGhlbj1mdW5jdGlvbihuKXtyZXR1cm4gXyhuKSxDKHRoaXMsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSl9LHUubWFueT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9W10sdT12b2lkIDA7Oyl7aWYoISh1PUIobi5fKHQsciksdSkpLnN0YXR1cylyZXR1cm4gQihiKHIsZSksdSk7aWYocj09PXUuaW5kZXgpdGhyb3cgbmV3IEVycm9yKFwiaW5maW5pdGUgbG9vcCBkZXRlY3RlZCBpbiAubWFueSgpIHBhcnNlciAtLS0gY2FsbGluZyAubWFueSgpIG9uIGEgcGFyc2VyIHdoaWNoIGNhbiBhY2NlcHQgemVybyBjaGFyYWN0ZXJzIGlzIHVzdWFsbHkgdGhlIGNhdXNlXCIpO3I9dS5pbmRleCxlLnB1c2godS52YWx1ZSl9fSl9LHUudGllV2l0aD1mdW5jdGlvbihuKXtyZXR1cm4gUChuKSx0aGlzLm1hcChmdW5jdGlvbih0KXtpZihmdW5jdGlvbihuKXtpZighRShuKSl0aHJvdyBuZXcgRXJyb3IoXCJub3QgYW4gYXJyYXk6IFwiK24pfSh0KSx0Lmxlbmd0aCl7UCh0WzBdKTtmb3IodmFyIHI9dFswXSxlPTE7ZTx0Lmxlbmd0aDtlKyspUCh0W2VdKSxyKz1uK3RbZV07cmV0dXJuIHJ9cmV0dXJuXCJcIn0pfSx1LnRpZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpZVdpdGgoXCJcIil9LHUudGltZXM9ZnVuY3Rpb24obix0KXt2YXIgcj10aGlzO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDImJih0PW4pLE8obiksTyh0KSxlKGZ1bmN0aW9uKGUsdSl7Zm9yKHZhciBvPVtdLGk9dm9pZCAwLGE9dm9pZCAwLGY9MDtmPG47Zis9MSl7aWYoYT1CKGk9ci5fKGUsdSksYSksIWkuc3RhdHVzKXJldHVybiBhO3U9aS5pbmRleCxvLnB1c2goaS52YWx1ZSl9Zm9yKDtmPHQmJihhPUIoaT1yLl8oZSx1KSxhKSxpLnN0YXR1cyk7Zis9MSl1PWkuaW5kZXgsby5wdXNoKGkudmFsdWUpO3JldHVybiBCKGIodSxvKSxhKX0pfSx1LnJlc3VsdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbn0pfSx1LmF0TW9zdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy50aW1lcygwLG4pfSx1LmF0TGVhc3Q9ZnVuY3Rpb24obil7cmV0dXJuIEoodGhpcy50aW1lcyhuKSx0aGlzLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybiBuLmNvbmNhdCh0KX0pfSx1Lm1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10Ll8ocixlKTtyZXR1cm4gdS5zdGF0dXM/QihiKHUuaW5kZXgsbih1LnZhbHVlKSksdSk6dX0pfSx1LmNvbnRyYW1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10LnBhcnNlKG4oci5zbGljZShlKSkpO3JldHVybiB1LnN0YXR1cz9iKGUrci5sZW5ndGgsdS52YWx1ZSk6dX0pfSx1LnByb21hcD1mdW5jdGlvbihuLHQpe3JldHVybiBrKG4pLGsodCksdGhpcy5jb250cmFtYXAobikubWFwKHQpfSx1LnNraXA9ZnVuY3Rpb24obil7cmV0dXJuIEModGhpcyxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG5bMF19KX0sdS5tYXJrPWZ1bmN0aW9uKCl7cmV0dXJuIEooZW4sdGhpcyxlbixmdW5jdGlvbihuLHQscil7cmV0dXJue3N0YXJ0Om4sdmFsdWU6dCxlbmQ6cn19KX0sdS5ub2RlPWZ1bmN0aW9uKG4pe3JldHVybiBKKGVuLHRoaXMsZW4sZnVuY3Rpb24odCxyLGUpe3JldHVybntuYW1lOm4sdmFsdWU6cixzdGFydDp0LGVuZDplfX0pfSx1LnNlcEJ5PWZ1bmN0aW9uKG4pe3JldHVybiBWKHRoaXMsbil9LHUuc2VwQnkxPWZ1bmN0aW9uKG4pe3JldHVybiBIKHRoaXMsbil9LHUubG9va2FoZWFkPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnNraXAoWihuKSl9LHUubm90Rm9sbG93ZWRCeT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5za2lwKCQobikpfSx1LmRlc2M9ZnVuY3Rpb24obil7RShuKXx8KG49W25dKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzfHwodS5leHBlY3RlZD1uKSx1fSl9LHUuZmFsbGJhY2s9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMub3IoWChuKSl9LHUuYXA9ZnVuY3Rpb24obil7cmV0dXJuIEoobix0aGlzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4odCl9KX0sdS5jaGFpbj1mdW5jdGlvbihuKXt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzP0Iobih1LnZhbHVlKS5fKHIsdS5pbmRleCksdSk6dX0pfSx1LmNvbmNhdD11Lm9yLHUuZW1wdHk9cm4sdS5vZj1YLHVbXCJmYW50YXN5LWxhbmQvYXBcIl09dS5hcCx1W1wiZmFudGFzeS1sYW5kL2NoYWluXCJdPXUuY2hhaW4sdVtcImZhbnRhc3ktbGFuZC9jb25jYXRcIl09dS5jb25jYXQsdVtcImZhbnRhc3ktbGFuZC9lbXB0eVwiXT11LmVtcHR5LHVbXCJmYW50YXN5LWxhbmQvb2ZcIl09dS5vZix1W1wiZmFudGFzeS1sYW5kL21hcFwiXT11Lm1hcDt2YXIgZW49ZShmdW5jdGlvbihuLHQpe3JldHVybiBiKHQsUyhuLHQpKX0pLHVuPWUoZnVuY3Rpb24obix0KXtyZXR1cm4gdD49bi5sZW5ndGg/eCh0LFwiYW55IGNoYXJhY3Rlci9ieXRlXCIpOmIodCsxLEwobix0KSl9KSxvbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGIobi5sZW5ndGgsbi5zbGljZSh0KSl9KSxhbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ8bi5sZW5ndGg/eCh0LFwiRU9GXCIpOmIodCxudWxsKX0pLGZuPVEoL1swLTldLykuZGVzYyhcImEgZGlnaXRcIiksY249USgvWzAtOV0qLykuZGVzYyhcIm9wdGlvbmFsIGRpZ2l0c1wiKSxzbj1RKC9bYS16XS9pKS5kZXNjKFwiYSBsZXR0ZXJcIiksbG49USgvW2Etel0qL2kpLmRlc2MoXCJvcHRpb25hbCBsZXR0ZXJzXCIpLGhuPVEoL1xccyovKS5kZXNjKFwib3B0aW9uYWwgd2hpdGVzcGFjZVwiKSxwbj1RKC9cXHMrLykuZGVzYyhcIndoaXRlc3BhY2VcIiksZG49SyhcIlxcclwiKSx2bj1LKFwiXFxuXCIpLGduPUsoXCJcXHJcXG5cIiksbW49VChnbix2bixkbikuZGVzYyhcIm5ld2xpbmVcIikseW49VChtbixhbik7ZS5hbGw9b24sZS5hbHQ9VCxlLmFueT11bixlLmNyPWRuLGUuY3JlYXRlTGFuZ3VhZ2U9ZnVuY3Rpb24obil7dmFyIHQ9e307Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJmZ1bmN0aW9uKHIpe3Rbcl09dG4oZnVuY3Rpb24oKXtyZXR1cm4gbltyXSh0KX0pfShyKTtyZXR1cm4gdH0sZS5jcmxmPWduLGUuY3VzdG9tPWZ1bmN0aW9uKG4pe3JldHVybiBlKG4oYix4KSl9LGUuZGlnaXQ9Zm4sZS5kaWdpdHM9Y24sZS5lbXB0eT1ybixlLmVuZD15bixlLmVvZj1hbixlLmZhaWw9WSxlLmZvcm1hdEVycm9yPU4sZS5pbmRleD1lbixlLmlzUGFyc2VyPXksZS5sYXp5PXRuLGUubGV0dGVyPXNuLGUubGV0dGVycz1sbixlLmxmPXZuLGUubG9va2FoZWFkPVosZS5tYWtlRmFpbHVyZT14LGUubWFrZVN1Y2Nlc3M9YixlLm5ld2xpbmU9bW4sZS5ub25lT2Y9ZnVuY3Rpb24obil7cmV0dXJuIG5uKGZ1bmN0aW9uKHQpe3JldHVybiBuLmluZGV4T2YodCk8MH0pLmRlc2MoXCJub25lIG9mICdcIituK1wiJ1wiKX0sZS5ub3RGb2xsb3dlZEJ5PSQsZS5vZj1YLGUub25lT2Y9ZnVuY3Rpb24obil7Zm9yKHZhciB0PW4uc3BsaXQoXCJcIikscj0wO3I8dC5sZW5ndGg7cisrKXRbcl09XCInXCIrdFtyXStcIidcIjtyZXR1cm4gbm4oZnVuY3Rpb24odCl7cmV0dXJuIG4uaW5kZXhPZih0KT49MH0pLmRlc2ModCl9LGUub3B0V2hpdGVzcGFjZT1obixlLlBhcnNlcj1lLGUucmFuZ2U9ZnVuY3Rpb24obix0KXtyZXR1cm4gbm4oZnVuY3Rpb24ocil7cmV0dXJuIG48PXImJnI8PXR9KS5kZXNjKG4rXCItXCIrdCl9LGUucmVnZXg9USxlLnJlZ2V4cD1RLGUuc2VwQnk9VixlLnNlcEJ5MT1ILGUuc2VxPUMsZS5zZXFNYXA9SixlLnNlcU9iaj1mdW5jdGlvbigpe2Zvcih2YXIgbix0PXt9LHI9MCx1PShuPWFyZ3VtZW50cyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKSksbz11Lmxlbmd0aCxpPTA7aTxvO2krPTEpe3ZhciBhPXVbaV07aWYoIXkoYSkpe2lmKEUoYSkmJjI9PT1hLmxlbmd0aCYmXCJzdHJpbmdcIj09dHlwZW9mIGFbMF0mJnkoYVsxXSkpe3ZhciBmPWFbMF07aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZikpdGhyb3cgbmV3IEVycm9yKFwic2VxT2JqOiBkdXBsaWNhdGUga2V5IFwiK2YpO3RbZl09ITAscisrO2NvbnRpbnVlfXRocm93IG5ldyBFcnJvcihcInNlcU9iaiBhcmd1bWVudHMgbXVzdCBiZSBwYXJzZXJzIG9yIFtzdHJpbmcsIHBhcnNlcl0gYXJyYXkgcGFpcnMuXCIpfX1pZigwPT09cil0aHJvdyBuZXcgRXJyb3IoXCJzZXFPYmogZXhwZWN0cyBhdCBsZWFzdCBvbmUgbmFtZWQgcGFyc2VyLCBmb3VuZCB6ZXJvXCIpO3JldHVybiBlKGZ1bmN0aW9uKG4sdCl7Zm9yKHZhciByLGU9e30saT0wO2k8bztpKz0xKXt2YXIgYSxmO2lmKEUodVtpXSk/KGE9dVtpXVswXSxmPXVbaV1bMV0pOihhPW51bGwsZj11W2ldKSwhKHI9QihmLl8obix0KSxyKSkuc3RhdHVzKXJldHVybiByO2EmJihlW2FdPXIudmFsdWUpLHQ9ci5pbmRleH1yZXR1cm4gQihiKHQsZSkscil9KX0sZS5zdHJpbmc9SyxlLnN1Y2NlZWQ9WCxlLnRha2VXaGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXI7ZTx0Lmxlbmd0aCYmbihMKHQsZSkpOyllKys7cmV0dXJuIGIoZSx0LnNsaWNlKHIsZSkpfSl9LGUudGVzdD1ubixlLndoaXRlc3BhY2U9cG4sZVtcImZhbnRhc3ktbGFuZC9lbXB0eVwiXT1ybixlW1wiZmFudGFzeS1sYW5kL29mXCJdPVgsZS5CaW5hcnk9e2JpdFNlcTpsLGJpdFNlcU9iajpmdW5jdGlvbihuKXtzKCk7dmFyIHQ9e30scj0wLGU9YShmdW5jdGlvbihuKXtpZihFKG4pKXt2YXIgZT1uO2lmKDIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXCJbXCIrZS5qb2luKFwiLCBcIikrXCJdIHNob3VsZCBiZSBsZW5ndGggMiwgZ290IGxlbmd0aCBcIitlLmxlbmd0aCk7aWYoUChlWzBdKSxPKGVbMV0pLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGVbMF0pKXRocm93IG5ldyBFcnJvcihcImR1cGxpY2F0ZSBrZXkgaW4gYml0U2VxT2JqOiBcIitlWzBdKTtyZXR1cm4gdFtlWzBdXT0hMCxyKyssZX1yZXR1cm4gTyhuKSxbbnVsbCxuXX0sbik7aWYocjwxKXRocm93IG5ldyBFcnJvcihcImJpdFNlcU9iaiBleHBlY3RzIGF0IGxlYXN0IG9uZSBuYW1lZCBwYWlyLCBnb3QgW1wiK24uam9pbihcIiwgXCIpK1wiXVwiKTt2YXIgdT1hKGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdfSxlKTtyZXR1cm4gbChhKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSxlKSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG51bGwhPT10WzBdJiYoblt0WzBdXT10WzFdKSxufSx7fSxhKGZ1bmN0aW9uKHQscil7cmV0dXJuW3QsbltyXV19LHUpKX0pfSxieXRlOmZ1bmN0aW9uKG4pe2lmKHMoKSxPKG4pLG4+MjU1KXRocm93IG5ldyBFcnJvcihcIlZhbHVlIHNwZWNpZmllZCB0byBieXRlIGNvbnN0cnVjdG9yIChcIituK1wiPTB4XCIrbi50b1N0cmluZygxNikrXCIpIGlzIGxhcmdlciBpbiB2YWx1ZSB0aGFuIGEgc2luZ2xlIGJ5dGUuXCIpO3ZhciB0PShuPjE1P1wiMHhcIjpcIjB4MFwiKStuLnRvU3RyaW5nKDE2KTtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PUwocixlKTtyZXR1cm4gdT09PW4/YihlKzEsdSk6eChlLHQpfSl9LGJ1ZmZlcjpmdW5jdGlvbihuKXtyZXR1cm4gaChcImJ1ZmZlclwiLG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gQnVmZmVyLmZyb20obil9KX0sZW5jb2RlZFN0cmluZzpmdW5jdGlvbihuLHQpe3JldHVybiBoKFwic3RyaW5nXCIsdCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRvU3RyaW5nKG4pfSl9LHVpbnRCRTpkLHVpbnQ4QkU6ZCgxKSx1aW50MTZCRTpkKDIpLHVpbnQzMkJFOmQoNCksdWludExFOnYsdWludDhMRTp2KDEpLHVpbnQxNkxFOnYoMiksdWludDMyTEU6dig0KSxpbnRCRTpnLGludDhCRTpnKDEpLGludDE2QkU6ZygyKSxpbnQzMkJFOmcoNCksaW50TEU6bSxpbnQ4TEU6bSgxKSxpbnQxNkxFOm0oMiksaW50MzJMRTptKDQpLGZsb2F0QkU6aChcImZsb2F0QkVcIiw0KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ucmVhZEZsb2F0QkUoMCl9KSxmbG9hdExFOmgoXCJmbG9hdExFXCIsNCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWRGbG9hdExFKDApfSksZG91YmxlQkU6aChcImRvdWJsZUJFXCIsOCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWREb3VibGVCRSgwKX0pLGRvdWJsZUxFOmgoXCJkb3VibGVMRVwiLDgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRG91YmxlTEUoMCl9KX0sbi5leHBvcnRzPWV9XSl9KTsiLCAiXCJ1c2Ugc3RyaWN0XCI7XHJcbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcclxuICAgICAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKGQsIGIpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XHJcbiAgICAgICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbiAgICB9O1xyXG59KSgpO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XHJcbmV4cG9ydHMuRW1wdHlCVHJlZSA9IGV4cG9ydHMuYXNTZXQgPSBleHBvcnRzLnNpbXBsZUNvbXBhcmF0b3IgPSBleHBvcnRzLmRlZmF1bHRDb21wYXJhdG9yID0gdm9pZCAwO1xyXG4vKipcclxuICogQ29tcGFyZXMgRGVmYXVsdENvbXBhcmFibGVzIHRvIGZvcm0gYSBzdHJpY3QgcGFydGlhbCBvcmRlcmluZy5cclxuICpcclxuICogSGFuZGxlcyArLy0wIGFuZCBOYU4gbGlrZSBNYXA6IE5hTiBpcyBlcXVhbCB0byBOYU4sIGFuZCAtMCBpcyBlcXVhbCB0byArMC5cclxuICpcclxuICogQXJyYXlzIGFyZSBjb21wYXJlZCB1c2luZyAnPCcgYW5kICc+Jywgd2hpY2ggbWF5IGNhdXNlIHVuZXhwZWN0ZWQgZXF1YWxpdHk6XHJcbiAqIGZvciBleGFtcGxlIFsxXSB3aWxsIGJlIGNvbnNpZGVyZWQgZXF1YWwgdG8gWycxJ10uXHJcbiAqXHJcbiAqIFR3byBvYmplY3RzIHdpdGggZXF1YWwgdmFsdWVPZiBjb21wYXJlIHRoZSBzYW1lLCBidXQgY29tcGFyZSB1bmVxdWFsIHRvXHJcbiAqIHByaW1pdGl2ZXMgdGhhdCBoYXZlIHRoZSBzYW1lIHZhbHVlLlxyXG4gKi9cclxuZnVuY3Rpb24gZGVmYXVsdENvbXBhcmF0b3IoYSwgYikge1xyXG4gICAgLy8gU3BlY2lhbCBjYXNlIGZpbml0ZSBudW1iZXJzIGZpcnN0IGZvciBwZXJmb3JtYW5jZS5cclxuICAgIC8vIE5vdGUgdGhhdCB0aGUgdHJpY2sgb2YgdXNpbmcgJ2EgLSBiJyBhbmQgY2hlY2tpbmcgZm9yIE5hTiB0byBkZXRlY3Qgbm9uLW51bWJlcnNcclxuICAgIC8vIGRvZXMgbm90IHdvcmsgaWYgdGhlIHN0cmluZ3MgYXJlIG51bWVyaWMgKGV4OiBcIjVcIikuIFRoaXMgd291bGQgbGVhZGluZyBtb3N0IFxyXG4gICAgLy8gY29tcGFyaXNvbiBmdW5jdGlvbnMgdXNpbmcgdGhhdCBhcHByb2FjaCB0byBmYWlsIHRvIGhhdmUgdHJhbnNpdGl2aXR5LlxyXG4gICAgaWYgKE51bWJlci5pc0Zpbml0ZShhKSAmJiBOdW1iZXIuaXNGaW5pdGUoYikpIHtcclxuICAgICAgICByZXR1cm4gYSAtIGI7XHJcbiAgICB9XHJcbiAgICAvLyBUaGUgZGVmYXVsdCA8IGFuZCA+IG9wZXJhdG9ycyBhcmUgbm90IHRvdGFsbHkgb3JkZXJlZC4gVG8gYWxsb3cgdHlwZXMgdG8gYmUgbWl4ZWRcclxuICAgIC8vIGluIGEgc2luZ2xlIGNvbGxlY3Rpb24sIGNvbXBhcmUgdHlwZXMgYW5kIG9yZGVyIHZhbHVlcyBvZiBkaWZmZXJlbnQgdHlwZXMgYnkgdHlwZS5cclxuICAgIHZhciB0YSA9IHR5cGVvZiBhO1xyXG4gICAgdmFyIHRiID0gdHlwZW9mIGI7XHJcbiAgICBpZiAodGEgIT09IHRiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRhIDwgdGIgPyAtMSA6IDE7XHJcbiAgICB9XHJcbiAgICBpZiAodGEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgLy8gc3RhbmRhcmRpemVkIEphdmFTY3JpcHQgYnVnOiBudWxsIGlzIG5vdCBhbiBvYmplY3QsIGJ1dCB0eXBlb2Ygc2F5cyBpdCBpc1xyXG4gICAgICAgIGlmIChhID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gYiA9PT0gbnVsbCA/IDAgOiAtMTtcclxuICAgICAgICBlbHNlIGlmIChiID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICBhID0gYS52YWx1ZU9mKCk7XHJcbiAgICAgICAgYiA9IGIudmFsdWVPZigpO1xyXG4gICAgICAgIHRhID0gdHlwZW9mIGE7XHJcbiAgICAgICAgdGIgPSB0eXBlb2YgYjtcclxuICAgICAgICAvLyBEZWFsIHdpdGggdGhlIHR3byB2YWx1ZU9mKClzIHByb2R1Y2luZyBkaWZmZXJlbnQgdHlwZXNcclxuICAgICAgICBpZiAodGEgIT09IHRiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0YSA8IHRiID8gLTEgOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGEgYW5kIGIgYXJlIG5vdyB0aGUgc2FtZSB0eXBlLCBhbmQgd2lsbCBiZSBhIG51bWJlciwgc3RyaW5nIG9yIGFycmF5IFxyXG4gICAgLy8gKHdoaWNoIHdlIGFzc3VtZSBob2xkcyBudW1iZXJzIG9yIHN0cmluZ3MpLCBvciBzb21ldGhpbmcgdW5zdXBwb3J0ZWQuXHJcbiAgICBpZiAoYSA8IGIpXHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgaWYgKGEgPiBiKVxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgaWYgKGEgPT09IGIpXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAvLyBPcmRlciBOYU4gbGVzcyB0aGFuIG90aGVyIG51bWJlcnNcclxuICAgIGlmIChOdW1iZXIuaXNOYU4oYSkpXHJcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTihiKSA/IDAgOiAtMTtcclxuICAgIGVsc2UgaWYgKE51bWJlci5pc05hTihiKSlcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgIC8vIFRoaXMgY291bGQgYmUgdHdvIG9iamVjdHMgKGUuZy4gWzddIGFuZCBbJzcnXSkgdGhhdCBhcmVuJ3Qgb3JkZXJlZFxyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYSkgPyAwIDogTnVtYmVyLk5hTjtcclxufVxyXG5leHBvcnRzLmRlZmF1bHRDb21wYXJhdG9yID0gZGVmYXVsdENvbXBhcmF0b3I7XHJcbjtcclxuZnVuY3Rpb24gc2ltcGxlQ29tcGFyYXRvcihhLCBiKSB7XHJcbiAgICByZXR1cm4gYSA+IGIgPyAxIDogYSA8IGIgPyAtMSA6IDA7XHJcbn1cclxuZXhwb3J0cy5zaW1wbGVDb21wYXJhdG9yID0gc2ltcGxlQ29tcGFyYXRvcjtcclxuO1xyXG4vKipcclxuICogQSByZWFzb25hYmx5IGZhc3QgY29sbGVjdGlvbiBvZiBrZXktdmFsdWUgcGFpcnMgd2l0aCBhIHBvd2VyZnVsIEFQSS5cclxuICogTGFyZ2VseSBjb21wYXRpYmxlIHdpdGggdGhlIHN0YW5kYXJkIE1hcC4gQlRyZWUgaXMgYSBCKyB0cmVlIGRhdGEgc3RydWN0dXJlLFxyXG4gKiBzbyB0aGUgY29sbGVjdGlvbiBpcyBzb3J0ZWQgYnkga2V5LlxyXG4gKlxyXG4gKiBCKyB0cmVlcyB0ZW5kIHRvIHVzZSBtZW1vcnkgbW9yZSBlZmZpY2llbnRseSB0aGFuIGhhc2h0YWJsZXMgc3VjaCBhcyB0aGVcclxuICogc3RhbmRhcmQgTWFwLCBlc3BlY2lhbGx5IHdoZW4gdGhlIGNvbGxlY3Rpb24gY29udGFpbnMgYSBsYXJnZSBudW1iZXIgb2ZcclxuICogaXRlbXMuIEhvd2V2ZXIsIG1haW50YWluaW5nIHRoZSBzb3J0IG9yZGVyIG1ha2VzIHRoZW0gbW9kZXN0bHkgc2xvd2VyOlxyXG4gKiBPKGxvZyBzaXplKSByYXRoZXIgdGhhbiBPKDEpLiBUaGlzIEIrIHRyZWUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgTygxKVxyXG4gKiBmYXN0IGNsb25pbmcuIEl0IGFsc28gc3VwcG9ydHMgZnJlZXplKCksIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGVuc3VyZSB0aGF0XHJcbiAqIGEgQlRyZWUgaXMgbm90IGNoYW5nZWQgYWNjaWRlbnRhbGx5LlxyXG4gKlxyXG4gKiBDb25mdXNpbmdseSwgdGhlIEVTNiBNYXAuZm9yRWFjaChjKSBtZXRob2QgY2FsbHMgYyh2YWx1ZSxrZXkpIGluc3RlYWQgb2ZcclxuICogYyhrZXksdmFsdWUpLCBpbiBjb250cmFzdCB0byBvdGhlciBtZXRob2RzIHN1Y2ggYXMgc2V0KCkgYW5kIGVudHJpZXMoKVxyXG4gKiB3aGljaCBwdXQgdGhlIGtleSBmaXJzdC4gSSBjYW4gb25seSBhc3N1bWUgdGhhdCB0aGUgb3JkZXIgd2FzIHJldmVyc2VkIG9uXHJcbiAqIHRoZSB0aGVvcnkgdGhhdCB1c2VycyB3b3VsZCB1c3VhbGx5IHdhbnQgdG8gZXhhbWluZSB2YWx1ZXMgYW5kIGlnbm9yZSBrZXlzLlxyXG4gKiBCVHJlZSdzIGZvckVhY2goKSB0aGVyZWZvcmUgd29ya3MgdGhlIHNhbWUgd2F5LCBidXQgYSBzZWNvbmQgbWV0aG9kXHJcbiAqIGAuZm9yRWFjaFBhaXIoKGtleSx2YWx1ZSk9PnsuLi59KWAgaXMgcHJvdmlkZWQgd2hpY2ggc2VuZHMgeW91IHRoZSBrZXlcclxuICogZmlyc3QgYW5kIHRoZSB2YWx1ZSBzZWNvbmQ7IHRoaXMgbWV0aG9kIGlzIHNsaWdodGx5IGZhc3RlciBiZWNhdXNlIGl0IGlzXHJcbiAqIHRoZSBcIm5hdGl2ZVwiIGZvci1lYWNoIG1ldGhvZCBmb3IgdGhpcyBjbGFzcy5cclxuICpcclxuICogT3V0IG9mIHRoZSBib3gsIEJUcmVlIHN1cHBvcnRzIGtleXMgdGhhdCBhcmUgbnVtYmVycywgc3RyaW5ncywgYXJyYXlzIG9mXHJcbiAqIG51bWJlcnMvc3RyaW5ncywgRGF0ZSwgYW5kIG9iamVjdHMgdGhhdCBoYXZlIGEgdmFsdWVPZigpIG1ldGhvZCByZXR1cm5pbmcgYVxyXG4gKiBudW1iZXIgb3Igc3RyaW5nLiBPdGhlciBkYXRhIHR5cGVzLCBzdWNoIGFzIGFycmF5cyBvZiBEYXRlIG9yIGN1c3RvbVxyXG4gKiBvYmplY3RzLCByZXF1aXJlIGEgY3VzdG9tIGNvbXBhcmF0b3IsIHdoaWNoIHlvdSBtdXN0IHBhc3MgYXMgdGhlIHNlY29uZFxyXG4gKiBhcmd1bWVudCB0byB0aGUgY29uc3RydWN0b3IgKHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhbiBvcHRpb25hbCBsaXN0IG9mXHJcbiAqIGluaXRpYWwgaXRlbXMpLiBTeW1ib2xzIGNhbm5vdCBiZSB1c2VkIGFzIGtleXMgYmVjYXVzZSB0aGV5IGFyZSB1bm9yZGVyZWRcclxuICogKG9uZSBTeW1ib2wgaXMgbmV2ZXIgXCJncmVhdGVyXCIgb3IgXCJsZXNzXCIgdGhhbiBhbm90aGVyKS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogR2l2ZW4gYSB7bmFtZTogc3RyaW5nLCBhZ2U6IG51bWJlcn0gb2JqZWN0LCB5b3UgY2FuIGNyZWF0ZSBhIHRyZWUgc29ydGVkIGJ5XHJcbiAqIG5hbWUgYW5kIHRoZW4gYnkgYWdlIGxpa2UgdGhpczpcclxuICpcclxuICogICAgIHZhciB0cmVlID0gbmV3IEJUcmVlKHVuZGVmaW5lZCwgKGEsIGIpID0+IHtcclxuICogICAgICAgaWYgKGEubmFtZSA+IGIubmFtZSlcclxuICogICAgICAgICByZXR1cm4gMTsgLy8gUmV0dXJuIGEgbnVtYmVyID4wIHdoZW4gYSA+IGJcclxuICogICAgICAgZWxzZSBpZiAoYS5uYW1lIDwgYi5uYW1lKVxyXG4gKiAgICAgICAgIHJldHVybiAtMTsgLy8gUmV0dXJuIGEgbnVtYmVyIDwwIHdoZW4gYSA8IGJcclxuICogICAgICAgZWxzZSAvLyBuYW1lcyBhcmUgZXF1YWwgKG9yIGluY29tcGFyYWJsZSlcclxuICogICAgICAgICByZXR1cm4gYS5hZ2UgLSBiLmFnZTsgLy8gUmV0dXJuID4wIHdoZW4gYS5hZ2UgPiBiLmFnZVxyXG4gKiAgICAgfSk7XHJcbiAqXHJcbiAqICAgICB0cmVlLnNldCh7bmFtZTpcIkJpbGxcIiwgYWdlOjE3fSwgXCJoYXBweVwiKTtcclxuICogICAgIHRyZWUuc2V0KHtuYW1lOlwiRnJhblwiLCBhZ2U6NDB9LCBcImJ1c3kgJiBzdHJlc3NlZFwiKTtcclxuICogICAgIHRyZWUuc2V0KHtuYW1lOlwiQmlsbFwiLCBhZ2U6NTV9LCBcInJlY2VudGx5IGxhaWQgb2ZmXCIpO1xyXG4gKiAgICAgdHJlZS5mb3JFYWNoUGFpcigoaywgdikgPT4ge1xyXG4gKiAgICAgICBjb25zb2xlLmxvZyhgTmFtZTogJHtrLm5hbWV9IEFnZTogJHtrLmFnZX0gU3RhdHVzOiAke3Z9YCk7XHJcbiAqICAgICB9KTtcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSBcInJhbmdlXCIgbWV0aG9kcyAoYGZvckVhY2gsIGZvclJhbmdlLCBlZGl0UmFuZ2VgKSB3aWxsIHJldHVybiB0aGUgbnVtYmVyXHJcbiAqIG9mIGVsZW1lbnRzIHRoYXQgd2VyZSBzY2FubmVkLiBJbiBhZGRpdGlvbiwgdGhlIGNhbGxiYWNrIGNhbiByZXR1cm4ge2JyZWFrOlJ9XHJcbiAqIHRvIHN0b3AgZWFybHkgYW5kIHJldHVybiBSIGZyb20gdGhlIG91dGVyIGZ1bmN0aW9uLlxyXG4gKlxyXG4gKiAtIFRPRE86IFRlc3QgcGVyZm9ybWFuY2Ugb2YgcHJlYWxsb2NhdGluZyB2YWx1ZXMgYXJyYXkgYXQgbWF4IHNpemVcclxuICogLSBUT0RPOiBBZGQgZmFzdCBpbml0aWFsaXphdGlvbiB3aGVuIGEgc29ydGVkIGFycmF5IGlzIHByb3ZpZGVkIHRvIGNvbnN0cnVjdG9yXHJcbiAqXHJcbiAqIEZvciBtb3JlIGRvY3VtZW50YXRpb24gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9xd2VydGllL2J0cmVlLXR5cGVzY3JpcHRcclxuICpcclxuICogQXJlIHlvdSBhIEMjIGRldmVsb3Blcj8gWW91IG1pZ2h0IGxpa2UgdGhlIHNpbWlsYXIgZGF0YSBzdHJ1Y3R1cmVzIEkgbWFkZSBmb3IgQyM6XHJcbiAqIEJEaWN0aW9uYXJ5LCBCTGlzdCwgZXRjLiBTZWUgaHR0cDovL2NvcmUubG95Yy5uZXQvY29sbGVjdGlvbnMvXHJcbiAqXHJcbiAqIEBhdXRob3IgRGF2aWQgUGllcGdyYXNzXHJcbiAqL1xyXG52YXIgQlRyZWUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGFuIGVtcHR5IEIrIHRyZWUuXHJcbiAgICAgKiBAcGFyYW0gY29tcGFyZSBDdXN0b20gZnVuY3Rpb24gdG8gY29tcGFyZSBwYWlycyBvZiBlbGVtZW50cyBpbiB0aGUgdHJlZS5cclxuICAgICAqICAgSWYgbm90IHNwZWNpZmllZCwgZGVmYXVsdENvbXBhcmF0b3Igd2lsbCBiZSB1c2VkIHdoaWNoIGlzIHZhbGlkIGFzIGxvbmcgYXMgSyBleHRlbmRzIERlZmF1bHRDb21wYXJhYmxlLlxyXG4gICAgICogQHBhcmFtIGVudHJpZXMgQSBzZXQgb2Yga2V5LXZhbHVlIHBhaXJzIHRvIGluaXRpYWxpemUgdGhlIHRyZWVcclxuICAgICAqIEBwYXJhbSBtYXhOb2RlU2l6ZSBCcmFuY2hpbmcgZmFjdG9yIChtYXhpbXVtIGl0ZW1zIG9yIGNoaWxkcmVuIHBlciBub2RlKVxyXG4gICAgICogICBNdXN0IGJlIGluIHJhbmdlIDQuLjI1Ni4gSWYgdW5kZWZpbmVkIG9yIDw0IHRoZW4gZGVmYXVsdCBpcyB1c2VkOyBpZiA+MjU2IHRoZW4gMjU2LlxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBCVHJlZShlbnRyaWVzLCBjb21wYXJlLCBtYXhOb2RlU2l6ZSkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QgPSBFbXB0eUxlYWY7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IDA7XHJcbiAgICAgICAgdGhpcy5fbWF4Tm9kZVNpemUgPSBtYXhOb2RlU2l6ZSA+PSA0ID8gTWF0aC5taW4obWF4Tm9kZVNpemUsIDI1NikgOiAzMjtcclxuICAgICAgICB0aGlzLl9jb21wYXJlID0gY29tcGFyZSB8fCBkZWZhdWx0Q29tcGFyYXRvcjtcclxuICAgICAgICBpZiAoZW50cmllcylcclxuICAgICAgICAgICAgdGhpcy5zZXRQYWlycyhlbnRyaWVzKTtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCVHJlZS5wcm90b3R5cGUsIFwic2l6ZVwiLCB7XHJcbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgICAgICAvLyBFUzYgTWFwPEssVj4gbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgICAgIC8qKiBHZXRzIHRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIGluIHRoZSB0cmVlLiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJsZW5ndGhcIiwge1xyXG4gICAgICAgIC8qKiBHZXRzIHRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIGluIHRoZSB0cmVlLiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJpc0VtcHR5XCIsIHtcclxuICAgICAgICAvKiogUmV0dXJucyB0cnVlIGlmZiB0aGUgdHJlZSBjb250YWlucyBubyBrZXktdmFsdWUgcGFpcnMuICovXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLl9zaXplID09PSAwOyB9LFxyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICAvKiogUmVsZWFzZXMgdGhlIHRyZWUgc28gdGhhdCBpdHMgc2l6ZSBpcyAwLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QgPSBFbXB0eUxlYWY7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IDA7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJ1bnMgYSBmdW5jdGlvbiBmb3IgZWFjaCBrZXktdmFsdWUgcGFpciwgaW4gb3JkZXIgZnJvbSBzbWFsbGVzdCB0b1xyXG4gICAgICogIGxhcmdlc3Qga2V5LiBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIEVTNiBNYXAsIHRoZSBhcmd1bWVudCBvcmRlciB0b1xyXG4gICAgICogIHRoZSBjYWxsYmFjayBpcyBiYWNrd2FyZHM6IHZhbHVlIGZpcnN0LCB0aGVuIGtleS4gQ2FsbCBmb3JFYWNoUGFpclxyXG4gICAgICogIGluc3RlYWQgdG8gcmVjZWl2ZSB0aGUga2V5IGFzIHRoZSBmaXJzdCBhcmd1bWVudC5cclxuICAgICAqIEBwYXJhbSB0aGlzQXJnIElmIHByb3ZpZGVkLCB0aGlzIHBhcmFtZXRlciBpcyBhc3NpZ25lZCBhcyB0aGUgYHRoaXNgXHJcbiAgICAgKiAgICAgICAgdmFsdWUgZm9yIGVhY2ggY2FsbGJhY2suXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHZhbHVlcyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2FsbGJhY2ssXHJcbiAgICAgKiAgICAgICAgb3IgdGhlIFIgdmFsdWUgaWYgdGhlIGNhbGxiYWNrIHJldHVybmVkIHticmVhazpSfS4gKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mb3JFYWNoID0gZnVuY3Rpb24gKGNhbGxiYWNrLCB0aGlzQXJnKSB7XHJcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgICAgICBpZiAodGhpc0FyZyAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrLmJpbmQodGhpc0FyZyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9yRWFjaFBhaXIoZnVuY3Rpb24gKGssIHYpIHsgcmV0dXJuIGNhbGxiYWNrKHYsIGssIF90aGlzKTsgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJ1bnMgYSBmdW5jdGlvbiBmb3IgZWFjaCBrZXktdmFsdWUgcGFpciwgaW4gb3JkZXIgZnJvbSBzbWFsbGVzdCB0b1xyXG4gICAgICogIGxhcmdlc3Qga2V5LiBUaGUgY2FsbGJhY2sgY2FuIHJldHVybiB7YnJlYWs6Un0gKHdoZXJlIFIgaXMgYW55IHZhbHVlXHJcbiAgICAgKiAgZXhjZXB0IHVuZGVmaW5lZCkgdG8gc3RvcCBpbW1lZGlhdGVseSBhbmQgcmV0dXJuIFIgZnJvbSBmb3JFYWNoUGFpci5cclxuICAgICAqIEBwYXJhbSBvbkZvdW5kIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgZm9yIGVhY2gga2V5LXZhbHVlIHBhaXIuIFRoaXNcclxuICAgICAqICAgICAgICBmdW5jdGlvbiBjYW4gcmV0dXJuIHticmVhazpSfSB0byBzdG9wIGVhcmx5IHdpdGggcmVzdWx0IFIuXHJcbiAgICAgKiAgICAgICAgVGhlIHJlYXNvbiB0aGF0IHlvdSBtdXN0IHJldHVybiB7YnJlYWs6Un0gaW5zdGVhZCBvZiBzaW1wbHkgUlxyXG4gICAgICogICAgICAgIGl0c2VsZiBpcyBmb3IgY29uc2lzdGVuY3kgd2l0aCBlZGl0UmFuZ2UoKSwgd2hpY2ggYWxsb3dzXHJcbiAgICAgKiAgICAgICAgbXVsdGlwbGUgYWN0aW9ucywgbm90IGp1c3QgYnJlYWtpbmcuXHJcbiAgICAgKiBAcGFyYW0gaW5pdGlhbENvdW50ZXIgVGhpcyBpcyB0aGUgdmFsdWUgb2YgdGhlIHRoaXJkIGFyZ3VtZW50IG9mXHJcbiAgICAgKiAgICAgICAgYG9uRm91bmRgIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC4gVGhlIGNvdW50ZXIgaW5jcmVhc2VzXHJcbiAgICAgKiAgICAgICAgYnkgb25lIGVhY2ggdGltZSBgb25Gb3VuZGAgaXMgY2FsbGVkLiBEZWZhdWx0IHZhbHVlOiAwXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHBhaXJzIHNlbnQgdG8gdGhlIGNhbGxiYWNrIChwbHVzIGluaXRpYWxDb3VudGVyLFxyXG4gICAgICogICAgICAgIGlmIHlvdSBwcm92aWRlZCBvbmUpLiBJZiB0aGUgY2FsbGJhY2sgcmV0dXJuZWQge2JyZWFrOlJ9IHRoZW5cclxuICAgICAqICAgICAgICB0aGUgUiB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmZvckVhY2hQYWlyID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBpbml0aWFsQ291bnRlcikge1xyXG4gICAgICAgIHZhciBsb3cgPSB0aGlzLm1pbktleSgpLCBoaWdoID0gdGhpcy5tYXhLZXkoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSYW5nZShsb3csIGhpZ2gsIHRydWUsIGNhbGxiYWNrLCBpbml0aWFsQ291bnRlcik7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBGaW5kcyBhIHBhaXIgaW4gdGhlIHRyZWUgYW5kIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgdmFsdWUuXHJcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIGEgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBrZXkgd2FzIG5vdCBmb3VuZC5cclxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSwgb3IgZGVmYXVsdFZhbHVlIGlmIHRoZSBrZXkgd2FzIG5vdCBmb3VuZC5cclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obG9nIHNpemUpXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5LCBkZWZhdWx0VmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdC5nZXQoa2V5LCBkZWZhdWx0VmFsdWUsIHRoaXMpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBvciBvdmVyd3JpdGVzIGEga2V5LXZhbHVlIHBhaXIgaW4gdGhlIEIrIHRyZWUuXHJcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHNvcnQgb3JkZXIgb2ZcclxuICAgICAqICAgICAgICBkYXRhIGluIHRoZSB0cmVlLlxyXG4gICAgICogQHBhcmFtIHZhbHVlIGRhdGEgdG8gYXNzb2NpYXRlIHdpdGggdGhlIGtleSAob3B0aW9uYWwpXHJcbiAgICAgKiBAcGFyYW0gb3ZlcndyaXRlIFdoZXRoZXIgdG8gb3ZlcndyaXRlIGFuIGV4aXN0aW5nIGtleS12YWx1ZSBwYWlyXHJcbiAgICAgKiAgICAgICAgKGRlZmF1bHQ6IHRydWUpLiBJZiB0aGlzIGlzIGZhbHNlIGFuZCB0aGVyZSBpcyBhbiBleGlzdGluZ1xyXG4gICAgICogICAgICAgIGtleS12YWx1ZSBwYWlyIHRoZW4gdGhpcyBtZXRob2QgaGFzIG5vIGVmZmVjdC5cclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcga2V5LXZhbHVlIHBhaXIgd2FzIGFkZGVkLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqIE5vdGU6IHdoZW4gb3ZlcndyaXRpbmcgYSBwcmV2aW91cyBlbnRyeSwgdGhlIGtleSBpcyB1cGRhdGVkXHJcbiAgICAgKiBhcyB3ZWxsIGFzIHRoZSB2YWx1ZS4gVGhpcyBoYXMgbm8gZWZmZWN0IHVubGVzcyB0aGUgbmV3IGtleVxyXG4gICAgICogaGFzIGRhdGEgdGhhdCBkb2VzIG5vdCBhZmZlY3QgaXRzIHNvcnQgb3JkZXIuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSwgb3ZlcndyaXRlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Jvb3QuaXNTaGFyZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSB0aGlzLl9yb290LmNsb25lKCk7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuX3Jvb3Quc2V0KGtleSwgdmFsdWUsIG92ZXJ3cml0ZSwgdGhpcyk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSB8fCByZXN1bHQgPT09IGZhbHNlKVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIC8vIFJvb3Qgbm9kZSBoYXMgc3BsaXQsIHNvIGNyZWF0ZSBhIG5ldyByb290IG5vZGUuXHJcbiAgICAgICAgdGhpcy5fcm9vdCA9IG5ldyBCTm9kZUludGVybmFsKFt0aGlzLl9yb290LCByZXN1bHRdKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUga2V5IGV4aXN0cyBpbiB0aGUgQisgdHJlZSwgZmFsc2UgaWYgbm90LlxyXG4gICAgICogVXNlIGdldCgpIGZvciBiZXN0IHBlcmZvcm1hbmNlOyB1c2UgaGFzKCkgaWYgeW91IG5lZWQgdG9cclxuICAgICAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gXCJ1bmRlZmluZWQgdmFsdWVcIiBhbmQgXCJrZXkgbm90IHByZXNlbnRcIi5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHRvIGRldGVjdFxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmhhcyA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSYW5nZShrZXksIGtleSwgdHJ1ZSwgdW5kZWZpbmVkKSAhPT0gMDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgYSBzaW5nbGUga2V5LXZhbHVlIHBhaXIgZnJvbSB0aGUgQisgdHJlZS5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHRvIGZpbmRcclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgYSBwYWlyIHdhcyBmb3VuZCBhbmQgcmVtb3ZlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmRlbGV0ZSA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0UmFuZ2Uoa2V5LCBrZXksIHRydWUsIERlbGV0ZVJhbmdlKSAhPT0gMDtcclxuICAgIH07XHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aCA9IGZ1bmN0aW9uIChrZXksIHZhbHVlLCBvdmVyd3JpdGUpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCk7XHJcbiAgICAgICAgcmV0dXJuIG51LnNldChrZXksIHZhbHVlLCBvdmVyd3JpdGUpIHx8IG92ZXJ3cml0ZSA/IG51IDogdGhpcztcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHRyZWUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleS12YWx1ZSBwYWlycyBzZXQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aFBhaXJzID0gZnVuY3Rpb24gKHBhaXJzLCBvdmVyd3JpdGUpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCk7XHJcbiAgICAgICAgcmV0dXJuIG51LnNldFBhaXJzKHBhaXJzLCBvdmVyd3JpdGUpICE9PSAwIHx8IG92ZXJ3cml0ZSA/IG51IDogdGhpcztcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHRyZWUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleXMgcHJlc2VudC5cclxuICAgICAqICBAcGFyYW0ga2V5cyBUaGUga2V5cyB0byBhZGQuIElmIGEga2V5IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgdHJlZSxcclxuICAgICAqICAgICAgICAgbmVpdGhlciB0aGUgZXhpc3Rpbmcga2V5IG5vciB0aGUgZXhpc3RpbmcgdmFsdWUgaXMgbW9kaWZpZWQuXHJcbiAgICAgKiAgQHBhcmFtIHJldHVyblRoaXNJZlVuY2hhbmdlZCBpZiB0cnVlLCByZXR1cm5zIHRoaXMgaWYgYWxsIGtleXMgYWxyZWFkeVxyXG4gICAgICogIGV4aXN0ZWQuIFBlcmZvcm1hbmNlIG5vdGU6IGR1ZSB0byB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoaXMgY2xhc3MsIGFsbFxyXG4gICAgICogIG5vZGUocykgbGVhZGluZyB0byBleGlzdGluZyBrZXlzIGFyZSBjbG9uZWQgZXZlbiBpZiB0aGUgY29sbGVjdGlvbiBpc1xyXG4gICAgICogIHVsdGltYXRlbHkgdW5jaGFuZ2VkLlxyXG4gICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS53aXRoS2V5cyA9IGZ1bmN0aW9uIChrZXlzLCByZXR1cm5UaGlzSWZVbmNoYW5nZWQpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCksIGNoYW5nZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIGNoYW5nZWQgPSBudS5zZXQoa2V5c1tpXSwgdW5kZWZpbmVkLCBmYWxzZSkgfHwgY2hhbmdlZDtcclxuICAgICAgICByZXR1cm4gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkICYmICFjaGFuZ2VkID8gdGhpcyA6IG51O1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIGEgY29weSBvZiB0aGUgdHJlZSB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IHJlbW92ZWQuXHJcbiAgICAgKiBAcGFyYW0gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkIGlmIHRydWUsIHJldHVybnMgdGhpcyBpZiB0aGUga2V5IGRpZG4ndCBleGlzdC5cclxuICAgICAqICBQZXJmb3JtYW5jZSBub3RlOiBkdWUgdG8gdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGlzIGNsYXNzLCBub2RlKHMpIGxlYWRpbmdcclxuICAgICAqICB0byB3aGVyZSB0aGUga2V5IHdvdWxkIGhhdmUgYmVlbiBzdG9yZWQgYXJlIGNsb25lZCBldmVuIHdoZW4gdGhlIGtleVxyXG4gICAgICogIHR1cm5zIG91dCBub3QgdG8gZXhpc3QgYW5kIHRoZSBjb2xsZWN0aW9uIGlzIHVuY2hhbmdlZC5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLndpdGhvdXQgPSBmdW5jdGlvbiAoa2V5LCByZXR1cm5UaGlzSWZVbmNoYW5nZWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy53aXRob3V0UmFuZ2Uoa2V5LCBrZXksIHRydWUsIHJldHVyblRoaXNJZlVuY2hhbmdlZCk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggdGhlIHNwZWNpZmllZCBrZXlzIHJlbW92ZWQuXHJcbiAgICAgKiBAcGFyYW0gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkIGlmIHRydWUsIHJldHVybnMgdGhpcyBpZiBub25lIG9mIHRoZSBrZXlzXHJcbiAgICAgKiAgZXhpc3RlZC4gUGVyZm9ybWFuY2Ugbm90ZTogZHVlIHRvIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhpcyBjbGFzcyxcclxuICAgICAqICBub2RlKHMpIGxlYWRpbmcgdG8gd2hlcmUgdGhlIGtleSB3b3VsZCBoYXZlIGJlZW4gc3RvcmVkIGFyZSBjbG9uZWRcclxuICAgICAqICBldmVuIHdoZW4gdGhlIGtleSB0dXJucyBvdXQgbm90IHRvIGV4aXN0LlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aG91dEtleXMgPSBmdW5jdGlvbiAoa2V5cywgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKSB7XHJcbiAgICAgICAgdmFyIG51ID0gdGhpcy5jbG9uZSgpO1xyXG4gICAgICAgIHJldHVybiBudS5kZWxldGVLZXlzKGtleXMpIHx8ICFyZXR1cm5UaGlzSWZVbmNoYW5nZWQgPyBudSA6IHRoaXM7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggdGhlIHNwZWNpZmllZCByYW5nZSBvZiBrZXlzIHJlbW92ZWQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aG91dFJhbmdlID0gZnVuY3Rpb24gKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIHJldHVyblRoaXNJZlVuY2hhbmdlZCkge1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuY2xvbmUoKTtcclxuICAgICAgICBpZiAobnUuZGVsZXRlUmFuZ2UobG93LCBoaWdoLCBpbmNsdWRlSGlnaCkgPT09IDAgJiYgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICByZXR1cm4gbnU7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggcGFpcnMgcmVtb3ZlZCB3aGVuZXZlciB0aGUgY2FsbGJhY2tcclxuICAgICAqICBmdW5jdGlvbiByZXR1cm5zIGZhbHNlLiBgd2hlcmUoKWAgaXMgYSBzeW5vbnltIGZvciB0aGlzIG1ldGhvZC4gKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5maWx0ZXIgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIHJldHVyblRoaXNJZlVuY2hhbmdlZCkge1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuZ3JlZWR5Q2xvbmUoKTtcclxuICAgICAgICB2YXIgZGVsO1xyXG4gICAgICAgIG51LmVkaXRBbGwoZnVuY3Rpb24gKGssIHYsIGkpIHtcclxuICAgICAgICAgICAgaWYgKCFjYWxsYmFjayhrLCB2LCBpKSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBkZWwgPSBEZWxldGU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFkZWwgJiYgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICByZXR1cm4gbnU7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggYWxsIHZhbHVlcyBhbHRlcmVkIGJ5IGEgY2FsbGJhY2sgZnVuY3Rpb24uICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubWFwVmFsdWVzID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XHJcbiAgICAgICAgdmFyIHRtcCA9IHt9O1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuZ3JlZWR5Q2xvbmUoKTtcclxuICAgICAgICBudS5lZGl0QWxsKGZ1bmN0aW9uIChrLCB2LCBpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0bXAudmFsdWUgPSBjYWxsYmFjayh2LCBrLCBpKSwgdG1wO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBudTtcclxuICAgIH07XHJcbiAgICBCVHJlZS5wcm90b3R5cGUucmVkdWNlID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcclxuICAgICAgICB2YXIgaSA9IDAsIHAgPSBpbml0aWFsVmFsdWU7XHJcbiAgICAgICAgdmFyIGl0ID0gdGhpcy5lbnRyaWVzKHRoaXMubWluS2V5KCksIFJldXNlZEFycmF5KSwgbmV4dDtcclxuICAgICAgICB3aGlsZSAoIShuZXh0ID0gaXQubmV4dCgpKS5kb25lKVxyXG4gICAgICAgICAgICBwID0gY2FsbGJhY2socCwgbmV4dC52YWx1ZSwgaSsrLCB0aGlzKTtcclxuICAgICAgICByZXR1cm4gcDtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gSXRlcmF0b3IgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8qKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIHRoYXQgcHJvdmlkZXMgaXRlbXMgaW4gb3JkZXIgKGFzY2VuZGluZyBvcmRlciBpZlxyXG4gICAgICogIHRoZSBjb2xsZWN0aW9uJ3MgY29tcGFyYXRvciB1c2VzIGFzY2VuZGluZyBvcmRlciwgYXMgaXMgdGhlIGRlZmF1bHQuKVxyXG4gICAgICogIEBwYXJhbSBsb3dlc3RLZXkgRmlyc3Qga2V5IHRvIGJlIGl0ZXJhdGVkLCBvciB1bmRlZmluZWQgdG8gc3RhcnQgYXRcclxuICAgICAqICAgICAgICAgbWluS2V5KCkuIElmIHRoZSBzcGVjaWZpZWQga2V5IGRvZXNuJ3QgZXhpc3QgdGhlbiBpdGVyYXRpb25cclxuICAgICAqICAgICAgICAgc3RhcnRzIGF0IHRoZSBuZXh0IGhpZ2hlciBrZXkgKGFjY29yZGluZyB0byB0aGUgY29tcGFyYXRvcikuXHJcbiAgICAgKiAgQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWVcclxuICAgICAqICAgICAgICAgcGFpcnMsIHRvIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmVudHJpZXMgPSBmdW5jdGlvbiAobG93ZXN0S2V5LCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpbmZvID0gdGhpcy5maW5kUGF0aChsb3dlc3RLZXkpO1xyXG4gICAgICAgIGlmIChpbmZvID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcigpO1xyXG4gICAgICAgIHZhciBub2RlcXVldWUgPSBpbmZvLm5vZGVxdWV1ZSwgbm9kZWluZGV4ID0gaW5mby5ub2RlaW5kZXgsIGxlYWYgPSBpbmZvLmxlYWY7XHJcbiAgICAgICAgdmFyIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgIHZhciBpID0gKGxvd2VzdEtleSA9PT0gdW5kZWZpbmVkID8gLTEgOiBsZWFmLmluZGV4T2YobG93ZXN0S2V5LCAwLCB0aGlzLl9jb21wYXJlKSAtIDEpO1xyXG4gICAgICAgIHJldHVybiBpdGVyYXRvcihmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGp1bXA6IGZvciAoOzspIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPCBsZWFmLmtleXMubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBbbGVhZi5rZXlzW2ldLCBsZWFmLnZhbHVlc1tpXV0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPCBsZWFmLmtleXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IGxlYWYua2V5c1tpXSwgcmV1c2VkQXJyYXlbMV0gPSBsZWFmLnZhbHVlc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogcmV1c2VkQXJyYXkgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZHZhbmNlIHRvIHRoZSBuZXh0IGxlYWYgbm9kZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBsZXZlbCA9IC0xOzspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2xldmVsID49IG5vZGVxdWV1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUganVtcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK25vZGVpbmRleFtsZXZlbF0gPCBub2RlcXVldWVbbGV2ZWxdLmxlbmd0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgbGV2ZWwgPiAwOyBsZXZlbC0tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlcXVldWVbbGV2ZWwgLSAxXSA9IG5vZGVxdWV1ZVtsZXZlbF1bbm9kZWluZGV4W2xldmVsXV0uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaW5kZXhbbGV2ZWwgLSAxXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVhZiA9IG5vZGVxdWV1ZVswXVtub2RlaW5kZXhbMF1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIHRoYXQgcHJvdmlkZXMgaXRlbXMgaW4gcmV2ZXJzZWQgb3JkZXIuXHJcbiAgICAgKiAgQHBhcmFtIGhpZ2hlc3RLZXkgS2V5IGF0IHdoaWNoIHRvIHN0YXJ0IGl0ZXJhdGluZywgb3IgdW5kZWZpbmVkIHRvXHJcbiAgICAgKiAgICAgICAgIHN0YXJ0IGF0IG1heEtleSgpLiBJZiB0aGUgc3BlY2lmaWVkIGtleSBkb2Vzbid0IGV4aXN0IHRoZW4gaXRlcmF0aW9uXHJcbiAgICAgKiAgICAgICAgIHN0YXJ0cyBhdCB0aGUgbmV4dCBsb3dlciBrZXkgKGFjY29yZGluZyB0byB0aGUgY29tcGFyYXRvcikuXHJcbiAgICAgKiAgQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWVcclxuICAgICAqICAgICAgICAgcGFpcnMsIHRvIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cclxuICAgICAqICBAcGFyYW0gc2tpcEhpZ2hlc3QgSWZmIHRoaXMgZmxhZyBpcyB0cnVlIGFuZCB0aGUgaGlnaGVzdEtleSBleGlzdHMgaW4gdGhlXHJcbiAgICAgKiAgICAgICAgIGNvbGxlY3Rpb24sIHRoZSBwYWlyIG1hdGNoaW5nIGhpZ2hlc3RLZXkgaXMgc2tpcHBlZCwgbm90IGl0ZXJhdGVkLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZW50cmllc1JldmVyc2VkID0gZnVuY3Rpb24gKGhpZ2hlc3RLZXksIHJldXNlZEFycmF5LCBza2lwSGlnaGVzdCkge1xyXG4gICAgICAgIGlmIChoaWdoZXN0S2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgaGlnaGVzdEtleSA9IHRoaXMubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIHNraXBIaWdoZXN0ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBpZiAoaGlnaGVzdEtleSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKCk7IC8vIGNvbGxlY3Rpb24gaXMgZW1wdHlcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIF9hID0gdGhpcy5maW5kUGF0aChoaWdoZXN0S2V5KSB8fCB0aGlzLmZpbmRQYXRoKHRoaXMubWF4S2V5KCkpLCBub2RlcXVldWUgPSBfYS5ub2RlcXVldWUsIG5vZGVpbmRleCA9IF9hLm5vZGVpbmRleCwgbGVhZiA9IF9hLmxlYWY7XHJcbiAgICAgICAgY2hlY2soIW5vZGVxdWV1ZVswXSB8fCBsZWFmID09PSBub2RlcXVldWVbMF1bbm9kZWluZGV4WzBdXSwgXCJ3YXQhXCIpO1xyXG4gICAgICAgIHZhciBpID0gbGVhZi5pbmRleE9mKGhpZ2hlc3RLZXksIDAsIHRoaXMuX2NvbXBhcmUpO1xyXG4gICAgICAgIGlmICghc2tpcEhpZ2hlc3QgJiYgaSA8IGxlYWYua2V5cy5sZW5ndGggJiYgdGhpcy5fY29tcGFyZShsZWFmLmtleXNbaV0sIGhpZ2hlc3RLZXkpIDw9IDApXHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB2YXIgc3RhdGUgPSByZXVzZWRBcnJheSAhPT0gdW5kZWZpbmVkID8gMSA6IDA7XHJcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAganVtcDogZm9yICg7Oykge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC0taSA+PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBbbGVhZi5rZXlzW2ldLCBsZWFmLnZhbHVlc1tpXV0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgtLWkgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV1c2VkQXJyYXlbMF0gPSBsZWFmLmtleXNbaV0sIHJldXNlZEFycmF5WzFdID0gbGVhZi52YWx1ZXNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBkb25lOiBmYWxzZSwgdmFsdWU6IHJldXNlZEFycmF5IH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWR2YW5jZSB0byB0aGUgbmV4dCBsZWFmIG5vZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbGV2ZWwgPSAtMTs7KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKytsZXZlbCA+PSBub2RlcXVldWUubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIGp1bXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoLS1ub2RlaW5kZXhbbGV2ZWxdID49IDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IGxldmVsID4gMDsgbGV2ZWwtLSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXF1ZXVlW2xldmVsIC0gMV0gPSBub2RlcXVldWVbbGV2ZWxdW25vZGVpbmRleFtsZXZlbF1dLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWluZGV4W2xldmVsIC0gMV0gPSBub2RlcXVldWVbbGV2ZWwgLSAxXS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWYgPSBub2RlcXVldWVbMF1bbm9kZWluZGV4WzBdXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGxlYWYua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIC8qIFVzZWQgYnkgZW50cmllcygpIGFuZCBlbnRyaWVzUmV2ZXJzZWQoKSB0byBwcmVwYXJlIHRvIHN0YXJ0IGl0ZXJhdGluZy5cclxuICAgICAqIEl0IGRldmVsb3BzIGEgXCJub2RlIHF1ZXVlXCIgZm9yIGVhY2ggbm9uLWxlYWYgbGV2ZWwgb2YgdGhlIHRyZWUuXHJcbiAgICAgKiBMZXZlbHMgYXJlIG51bWJlcmVkIFwiYm90dG9tLXVwXCIgc28gdGhhdCBsZXZlbCAwIGlzIGEgbGlzdCBvZiBsZWFmXHJcbiAgICAgKiBub2RlcyBmcm9tIGEgbG93LWxldmVsIG5vbi1sZWFmIG5vZGUuIFRoZSBxdWV1ZSBhdCBhIGdpdmVuIGxldmVsIExcclxuICAgICAqIGNvbnNpc3RzIG9mIG5vZGVxdWV1ZVtMXSB3aGljaCBpcyB0aGUgY2hpbGRyZW4gb2YgYSBCTm9kZUludGVybmFsLFxyXG4gICAgICogYW5kIG5vZGVpbmRleFtMXSwgdGhlIGN1cnJlbnQgaW5kZXggd2l0aGluIHRoYXQgY2hpbGQgbGlzdCwgc3VjaFxyXG4gICAgICogc3VjaCB0aGF0IG5vZGVxdWV1ZVtMLTFdID09PSBub2RlcXVldWVbTF1bbm9kZWluZGV4W0xdXS5jaGlsZHJlbi5cclxuICAgICAqIChIb3dldmVyIGluc2lkZSB0aGlzIGZ1bmN0aW9uIHRoZSBvcmRlciBpcyByZXZlcnNlZC4pXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5maW5kUGF0aCA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICB2YXIgbmV4dG5vZGUgPSB0aGlzLl9yb290O1xyXG4gICAgICAgIHZhciBub2RlcXVldWUsIG5vZGVpbmRleDtcclxuICAgICAgICBpZiAobmV4dG5vZGUuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgIG5vZGVxdWV1ZSA9IEVtcHR5QXJyYXksIG5vZGVpbmRleCA9IEVtcHR5QXJyYXk7IC8vIGF2b2lkIGFsbG9jYXRpb25zXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBub2RlcXVldWUgPSBbXSwgbm9kZWluZGV4ID0gW107XHJcbiAgICAgICAgICAgIGZvciAodmFyIGQgPSAwOyAhbmV4dG5vZGUuaXNMZWFmOyBkKyspIHtcclxuICAgICAgICAgICAgICAgIG5vZGVxdWV1ZVtkXSA9IG5leHRub2RlLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgbm9kZWluZGV4W2RdID0ga2V5ID09PSB1bmRlZmluZWQgPyAwIDogbmV4dG5vZGUuaW5kZXhPZihrZXksIDAsIHRoaXMuX2NvbXBhcmUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vZGVpbmRleFtkXSA+PSBub2RlcXVldWVbZF0ubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gZmlyc3Qga2V5ID4gbWF4S2V5KClcclxuICAgICAgICAgICAgICAgIG5leHRub2RlID0gbm9kZXF1ZXVlW2RdW25vZGVpbmRleFtkXV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbm9kZXF1ZXVlLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgbm9kZWluZGV4LnJldmVyc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsgbm9kZXF1ZXVlOiBub2RlcXVldWUsIG5vZGVpbmRleDogbm9kZWluZGV4LCBsZWFmOiBuZXh0bm9kZSB9O1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQ29tcHV0ZXMgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYHRoaXNgIGFuZCBgb3RoZXJgLlxyXG4gICAgICogRm9yIGVmZmljaWVuY3ksIHRoZSBkaWZmIGlzIHJldHVybmVkIHZpYSBpbnZvY2F0aW9ucyBvZiBzdXBwbGllZCBoYW5kbGVycy5cclxuICAgICAqIFRoZSBjb21wdXRhdGlvbiBpcyBvcHRpbWl6ZWQgZm9yIHRoZSBjYXNlIGluIHdoaWNoIHRoZSB0d28gdHJlZXMgaGF2ZSBsYXJnZSBhbW91bnRzXHJcbiAgICAgKiBvZiBzaGFyZWQgZGF0YSAob2J0YWluZWQgYnkgY2FsbGluZyB0aGUgYGNsb25lYCBvciBgd2l0aGAgQVBJcykgYW5kIHdpbGwgYXZvaWRcclxuICAgICAqIGFueSBpdGVyYXRpb24gb2Ygc2hhcmVkIHN0YXRlLlxyXG4gICAgICogVGhlIGhhbmRsZXJzIGNhbiBjYXVzZSBjb21wdXRhdGlvbiB0byBlYXJseSBleGl0IGJ5IHJldHVybmluZyB7YnJlYWs6IFJ9LlxyXG4gICAgICogTmVpdGhlciBvZiB0aGUgY29sbGVjdGlvbnMgc2hvdWxkIGJlIGNoYW5nZWQgZHVyaW5nIHRoZSBjb21wYXJpc29uIHByb2Nlc3MgKGluIHlvdXIgY2FsbGJhY2tzKSwgYXMgdGhpcyBtZXRob2QgYXNzdW1lcyB0aGV5IHdpbGwgbm90IGJlIG11dGF0ZWQuXHJcbiAgICAgKiBAcGFyYW0gb3RoZXIgVGhlIHRyZWUgdG8gY29tcHV0ZSBhIGRpZmYgYWdhaW5zdC5cclxuICAgICAqIEBwYXJhbSBvbmx5VGhpcyBDYWxsYmFjayBpbnZva2VkIGZvciBhbGwga2V5cyBvbmx5IHByZXNlbnQgaW4gYHRoaXNgLlxyXG4gICAgICogQHBhcmFtIG9ubHlPdGhlciBDYWxsYmFjayBpbnZva2VkIGZvciBhbGwga2V5cyBvbmx5IHByZXNlbnQgaW4gYG90aGVyYC5cclxuICAgICAqIEBwYXJhbSBkaWZmZXJlbnQgQ2FsbGJhY2sgaW52b2tlZCBmb3IgYWxsIGtleXMgd2l0aCBkaWZmZXJpbmcgdmFsdWVzLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZGlmZkFnYWluc3QgPSBmdW5jdGlvbiAob3RoZXIsIG9ubHlUaGlzLCBvbmx5T3RoZXIsIGRpZmZlcmVudCkge1xyXG4gICAgICAgIGlmIChvdGhlci5fY29tcGFyZSAhPT0gdGhpcy5fY29tcGFyZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUcmVlIGNvbXBhcmF0b3JzIGFyZSBub3QgdGhlIHNhbWUuXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pc0VtcHR5IHx8IG90aGVyLmlzRW1wdHkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNFbXB0eSAmJiBvdGhlci5pc0VtcHR5KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgLy8gSWYgb25lIHRyZWUgaXMgZW1wdHksIGV2ZXJ5dGhpbmcgd2lsbCBiZSBhbiBvbmx5VGhpcy9vbmx5T3RoZXIuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRW1wdHkpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb25seU90aGVyID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBCVHJlZS5zdGVwVG9FbmQoQlRyZWUubWFrZURpZmZDdXJzb3Iob3RoZXIpLCBvbmx5T3RoZXIpO1xyXG4gICAgICAgICAgICByZXR1cm4gb25seVRoaXMgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IEJUcmVlLnN0ZXBUb0VuZChCVHJlZS5tYWtlRGlmZkN1cnNvcih0aGlzKSwgb25seVRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDdXJzb3ItYmFzZWQgZGlmZiBhbGdvcml0aG0gaXMgYXMgZm9sbG93czpcclxuICAgICAgICAvLyAtIFVudGlsIG5laXRoZXIgY3Vyc29yIGhhcyBuYXZpZ2F0ZWQgdG8gdGhlIGVuZCBvZiB0aGUgdHJlZSwgZG8gdGhlIGZvbGxvd2luZzpcclxuICAgICAgICAvLyAgLSBJZiB0aGUgYHRoaXNgIGN1cnNvciBpcyBcImJlaGluZFwiIHRoZSBgb3RoZXJgIGN1cnNvciAoc3RyaWN0bHkgPCwgdmlhIGNvbXBhcmUpLCBhZHZhbmNlIGl0LlxyXG4gICAgICAgIC8vICAtIE90aGVyd2lzZSwgYWR2YW5jZSB0aGUgYG90aGVyYCBjdXJzb3IuXHJcbiAgICAgICAgLy8gIC0gQW55IHRpbWUgYSBjdXJzb3IgaXMgc3RlcHBlZCwgcGVyZm9ybSB0aGUgZm9sbG93aW5nOlxyXG4gICAgICAgIC8vICAgIC0gSWYgZWl0aGVyIGN1cnNvciBwb2ludHMgdG8gYSBrZXkvdmFsdWUgcGFpcjpcclxuICAgICAgICAvLyAgICAgIC0gSWYgdGhpc0N1cnNvciA9PT0gb3RoZXJDdXJzb3IgYW5kIHRoZSB2YWx1ZXMgZGlmZmVyLCBpdCBpcyBhIERpZmZlcmVudC5cclxuICAgICAgICAvLyAgICAgIC0gSWYgdGhpc0N1cnNvciA+IG90aGVyQ3Vyc29yIGFuZCBvdGhlckN1cnNvciBpcyBhdCBhIGtleS92YWx1ZSBwYWlyLCBpdCBpcyBhbiBPbmx5T3RoZXIuXHJcbiAgICAgICAgLy8gICAgICAtIElmIHRoaXNDdXJzb3IgPCBvdGhlckN1cnNvciBhbmQgdGhpc0N1cnNvciBpcyBhdCBhIGtleS92YWx1ZSBwYWlyLCBpdCBpcyBhbiBPbmx5VGhpcyBhcyBsb25nIGFzIHRoZSBtb3N0IHJlY2VudCBcclxuICAgICAgICAvLyAgICAgICAgY3Vyc29yIHN0ZXAgd2FzICpub3QqIG90aGVyQ3Vyc29yIGFkdmFuY2luZyBmcm9tIGEgdGllLiBUaGUgZXh0cmEgY29uZGl0aW9uIGF2b2lkcyBlcnJvbmVvdXMgT25seU90aGVyIGNhbGxzIFxyXG4gICAgICAgIC8vICAgICAgICB0aGF0IHdvdWxkIG9jY3VyIGR1ZSB0byBvdGhlckN1cnNvciBiZWluZyB0aGUgXCJsZWFkZXJcIi5cclxuICAgICAgICAvLyAgICAtIE90aGVyd2lzZSwgaWYgYm90aCBjdXJzb3JzIHBvaW50IHRvIG5vZGVzLCBjb21wYXJlIHRoZW0uIElmIHRoZXkgYXJlIGVxdWFsIGJ5IHJlZmVyZW5jZSAoc2hhcmVkKSwgc2tpcFxyXG4gICAgICAgIC8vICAgICAgYm90aCBjdXJzb3JzIHRvIHRoZSBuZXh0IG5vZGUgaW4gdGhlIHdhbGsuXHJcbiAgICAgICAgLy8gLSBPbmNlIG9uZSBjdXJzb3IgaGFzIGZpbmlzaGVkIHN0ZXBwaW5nLCBhbnkgcmVtYWluaW5nIHN0ZXBzIChpZiBhbnkpIGFyZSB0YWtlbiBhbmQga2V5L3ZhbHVlIHBhaXJzIGFyZSBsb2dnZWRcclxuICAgICAgICAvLyAgIGFzIE9ubHlPdGhlciAoaWYgb3RoZXJDdXJzb3IgaXMgc3RlcHBpbmcpIG9yIE9ubHlUaGlzIChpZiB0aGlzQ3Vyc29yIGlzIHN0ZXBwaW5nKS5cclxuICAgICAgICAvLyBUaGlzIGFsZ29yaXRobSBnaXZlcyB0aGUgY3JpdGljYWwgZ3VhcmFudGVlIHRoYXQgYWxsIGxvY2F0aW9ucyAoYm90aCBub2RlcyBhbmQga2V5L3ZhbHVlIHBhaXJzKSBpbiBib3RoIHRyZWVzIHRoYXQgXHJcbiAgICAgICAgLy8gYXJlIGlkZW50aWNhbCBieSB2YWx1ZSAoYW5kIHBvc3NpYmx5IGJ5IHJlZmVyZW5jZSkgd2lsbCBiZSB2aXNpdGVkICphdCB0aGUgc2FtZSB0aW1lKiBieSB0aGUgY3Vyc29ycy5cclxuICAgICAgICAvLyBUaGlzIHJlbW92ZXMgdGhlIHBvc3NpYmlsaXR5IG9mIGVtaXR0aW5nIGluY29ycmVjdCBkaWZmcywgYXMgd2VsbCBhcyBhbGxvd2luZyBmb3Igc2tpcHBpbmcgc2hhcmVkIG5vZGVzLlxyXG4gICAgICAgIHZhciBfY29tcGFyZSA9IHRoaXMuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIHRoaXNDdXJzb3IgPSBCVHJlZS5tYWtlRGlmZkN1cnNvcih0aGlzKTtcclxuICAgICAgICB2YXIgb3RoZXJDdXJzb3IgPSBCVHJlZS5tYWtlRGlmZkN1cnNvcihvdGhlcik7XHJcbiAgICAgICAgLy8gSXQgZG9lc24ndCBtYXR0ZXIgaG93IHRoaXNTdGVwcGVkTGFzdCBpcyBpbml0aWFsaXplZC5cclxuICAgICAgICAvLyBTdGVwIG9yZGVyIGlzIG9ubHkgdXNlZCB3aGVuIGVpdGhlciBjdXJzb3IgaXMgYXQgYSBsZWFmLCBhbmQgY3Vyc29ycyBhbHdheXMgc3RhcnQgYXQgYSBub2RlLlxyXG4gICAgICAgIHZhciB0aGlzU3VjY2VzcyA9IHRydWUsIG90aGVyU3VjY2VzcyA9IHRydWUsIHByZXZDdXJzb3JPcmRlciA9IEJUcmVlLmNvbXBhcmUodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlKTtcclxuICAgICAgICB3aGlsZSAodGhpc1N1Y2Nlc3MgJiYgb3RoZXJTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHZhciBjdXJzb3JPcmRlciA9IEJUcmVlLmNvbXBhcmUodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlKTtcclxuICAgICAgICAgICAgdmFyIHRoaXNMZWFmID0gdGhpc0N1cnNvci5sZWFmLCB0aGlzSW50ZXJuYWxTcGluZSA9IHRoaXNDdXJzb3IuaW50ZXJuYWxTcGluZSwgdGhpc0xldmVsSW5kaWNlcyA9IHRoaXNDdXJzb3IubGV2ZWxJbmRpY2VzO1xyXG4gICAgICAgICAgICB2YXIgb3RoZXJMZWFmID0gb3RoZXJDdXJzb3IubGVhZiwgb3RoZXJJbnRlcm5hbFNwaW5lID0gb3RoZXJDdXJzb3IuaW50ZXJuYWxTcGluZSwgb3RoZXJMZXZlbEluZGljZXMgPSBvdGhlckN1cnNvci5sZXZlbEluZGljZXM7XHJcbiAgICAgICAgICAgIGlmICh0aGlzTGVhZiB8fCBvdGhlckxlYWYpIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjdXJzb3JzIHdlcmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gbGFzdCBzdGVwLCB0aGVuIHRoZXJlIGlzIG5vIHdvcmsgdG8gYmUgZG9uZS5cclxuICAgICAgICAgICAgICAgIGlmIChwcmV2Q3Vyc29yT3JkZXIgIT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY3Vyc29yT3JkZXIgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNMZWFmICYmIG90aGVyTGVhZiAmJiBkaWZmZXJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVxdWFsIGtleXMsIGNoZWNrIGZvciBtb2RpZmljYXRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsVGhpcyA9IHRoaXNMZWFmLnZhbHVlc1t0aGlzTGV2ZWxJbmRpY2VzW3RoaXNMZXZlbEluZGljZXMubGVuZ3RoIC0gMV1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbE90aGVyID0gb3RoZXJMZWFmLnZhbHVlc1tvdGhlckxldmVsSW5kaWNlc1tvdGhlckxldmVsSW5kaWNlcy5sZW5ndGggLSAxXV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5pcyh2YWxUaGlzLCB2YWxPdGhlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZGlmZmVyZW50KHRoaXNDdXJzb3IuY3VycmVudEtleSwgdmFsVGhpcywgdmFsT3RoZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmJyZWFrKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGN1cnNvck9yZGVyID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBjYXNlLCB3ZSBrbm93IHRoYXQgZWl0aGVyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAxLiBvdGhlckN1cnNvciBzdGVwcGVkIGxhc3QgZnJvbSBhIHN0YXJ0aW5nIHBvc2l0aW9uIHRoYXQgdHJhaWxlZCB0aGlzQ3Vyc29yLCBhbmQgaXMgc3RpbGwgYmVoaW5kLCBvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAyLiB0aGlzQ3Vyc29yIHN0ZXBwZWQgbGFzdCBhbmQgbGVhcGZyb2dnZWQgb3RoZXJDdXJzb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRWl0aGVyIG9mIHRoZXNlIGNhc2VzIGlzIGFuIFwib25seSBvdGhlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvdGhlckxlYWYgJiYgb25seU90aGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3RoZXJWYWwgPSBvdGhlckxlYWYudmFsdWVzW290aGVyTGV2ZWxJbmRpY2VzW290aGVyTGV2ZWxJbmRpY2VzLmxlbmd0aCAtIDFdXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvbmx5T3RoZXIob3RoZXJDdXJzb3IuY3VycmVudEtleSwgb3RoZXJWYWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuYnJlYWspXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5icmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvbmx5VGhpcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpc0xlYWYgJiYgcHJldkN1cnNvck9yZGVyICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsVGhpcyA9IHRoaXNMZWFmLnZhbHVlc1t0aGlzTGV2ZWxJbmRpY2VzW3RoaXNMZXZlbEluZGljZXMubGVuZ3RoIC0gMV1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG9ubHlUaGlzKHRoaXNDdXJzb3IuY3VycmVudEtleSwgdmFsVGhpcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5icmVhaylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzTGVhZiAmJiAhb3RoZXJMZWFmICYmIGN1cnNvck9yZGVyID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbGFzdFRoaXMgPSB0aGlzSW50ZXJuYWxTcGluZS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgdmFyIGxhc3RPdGhlciA9IG90aGVySW50ZXJuYWxTcGluZS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgdmFyIG5vZGVUaGlzID0gdGhpc0ludGVybmFsU3BpbmVbbGFzdFRoaXNdW3RoaXNMZXZlbEluZGljZXNbbGFzdFRoaXNdXTtcclxuICAgICAgICAgICAgICAgIHZhciBub2RlT3RoZXIgPSBvdGhlckludGVybmFsU3BpbmVbbGFzdE90aGVyXVtvdGhlckxldmVsSW5kaWNlc1tsYXN0T3RoZXJdXTtcclxuICAgICAgICAgICAgICAgIGlmIChub2RlT3RoZXIgPT09IG5vZGVUaGlzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJldkN1cnNvck9yZGVyID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzU3VjY2VzcyA9IEJUcmVlLnN0ZXAodGhpc0N1cnNvciwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3RoZXJTdWNjZXNzID0gQlRyZWUuc3RlcChvdGhlckN1cnNvciwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJldkN1cnNvck9yZGVyID0gY3Vyc29yT3JkZXI7XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3JPcmRlciA8IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXNTdWNjZXNzID0gQlRyZWUuc3RlcCh0aGlzQ3Vyc29yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG90aGVyU3VjY2VzcyA9IEJUcmVlLnN0ZXAob3RoZXJDdXJzb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzU3VjY2VzcyAmJiBvbmx5VGhpcylcclxuICAgICAgICAgICAgcmV0dXJuIEJUcmVlLmZpbmlzaEN1cnNvcldhbGsodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlLCBvbmx5VGhpcyk7XHJcbiAgICAgICAgaWYgKG90aGVyU3VjY2VzcyAmJiBvbmx5T3RoZXIpXHJcbiAgICAgICAgICAgIHJldHVybiBCVHJlZS5maW5pc2hDdXJzb3JXYWxrKG90aGVyQ3Vyc29yLCB0aGlzQ3Vyc29yLCBfY29tcGFyZSwgb25seU90aGVyKTtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIEhlbHBlciBtZXRob2RzIGZvciBkaWZmQWdhaW5zdCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgQlRyZWUuZmluaXNoQ3Vyc29yV2FsayA9IGZ1bmN0aW9uIChjdXJzb3IsIGN1cnNvckZpbmlzaGVkLCBjb21wYXJlS2V5cywgY2FsbGJhY2spIHtcclxuICAgICAgICB2YXIgY29tcGFyZWQgPSBCVHJlZS5jb21wYXJlKGN1cnNvciwgY3Vyc29yRmluaXNoZWQsIGNvbXBhcmVLZXlzKTtcclxuICAgICAgICBpZiAoY29tcGFyZWQgPT09IDApIHtcclxuICAgICAgICAgICAgaWYgKCFCVHJlZS5zdGVwKGN1cnNvcikpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChjb21wYXJlZCA8IDApIHtcclxuICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwiY3Vyc29yIHdhbGsgdGVybWluYXRlZCBlYXJseVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIEJUcmVlLnN0ZXBUb0VuZChjdXJzb3IsIGNhbGxiYWNrKTtcclxuICAgIH07XHJcbiAgICBCVHJlZS5zdGVwVG9FbmQgPSBmdW5jdGlvbiAoY3Vyc29yLCBjYWxsYmFjaykge1xyXG4gICAgICAgIHZhciBjYW5TdGVwID0gdHJ1ZTtcclxuICAgICAgICB3aGlsZSAoY2FuU3RlcCkge1xyXG4gICAgICAgICAgICB2YXIgbGVhZiA9IGN1cnNvci5sZWFmLCBsZXZlbEluZGljZXMgPSBjdXJzb3IubGV2ZWxJbmRpY2VzLCBjdXJyZW50S2V5ID0gY3Vyc29yLmN1cnJlbnRLZXk7XHJcbiAgICAgICAgICAgIGlmIChsZWFmKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBsZWFmLnZhbHVlc1tsZXZlbEluZGljZXNbbGV2ZWxJbmRpY2VzLmxlbmd0aCAtIDFdXTtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBjYWxsYmFjayhjdXJyZW50S2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5icmVhaylcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhblN0ZXAgPSBCVHJlZS5zdGVwKGN1cnNvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQlRyZWUubWFrZURpZmZDdXJzb3IgPSBmdW5jdGlvbiAodHJlZSkge1xyXG4gICAgICAgIHZhciBfcm9vdCA9IHRyZWUuX3Jvb3QsIGhlaWdodCA9IHRyZWUuaGVpZ2h0O1xyXG4gICAgICAgIHJldHVybiB7IGhlaWdodDogaGVpZ2h0LCBpbnRlcm5hbFNwaW5lOiBbW19yb290XV0sIGxldmVsSW5kaWNlczogWzBdLCBsZWFmOiB1bmRlZmluZWQsIGN1cnJlbnRLZXk6IF9yb290Lm1heEtleSgpIH07XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBBZHZhbmNlcyB0aGUgY3Vyc29yIHRvIHRoZSBuZXh0IHN0ZXAgaW4gdGhlIHdhbGsgb2YgaXRzIHRyZWUuXHJcbiAgICAgKiBDdXJzb3JzIGFyZSB3YWxrZWQgYmFja3dhcmRzIGluIHNvcnQgb3JkZXIsIGFzIHRoaXMgYWxsb3dzIHRoZW0gdG8gbGV2ZXJhZ2UgbWF4S2V5KCkgaW4gb3JkZXIgdG8gYmUgY29tcGFyZWQgaW4gTygxKS5cclxuICAgICAqIEBwYXJhbSBjdXJzb3IgVGhlIGN1cnNvciB0byBzdGVwXHJcbiAgICAgKiBAcGFyYW0gc3RlcFRvTm9kZSBJZiB0cnVlLCB0aGUgY3Vyc29yIHdpbGwgYmUgYWR2YW5jZWQgdG8gdGhlIG5leHQgbm9kZSAoc2tpcHBpbmcgdmFsdWVzKVxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgc3RlcCB3YXMgY29tcGxldGVkIGFuZCBmYWxzZSBpZiB0aGUgc3RlcCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgY3Vyc29yIHRvIG1vdmUgYmV5b25kIHRoZSBlbmQgb2YgdGhlIHRyZWUuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnN0ZXAgPSBmdW5jdGlvbiAoY3Vyc29yLCBzdGVwVG9Ob2RlKSB7XHJcbiAgICAgICAgdmFyIGludGVybmFsU3BpbmUgPSBjdXJzb3IuaW50ZXJuYWxTcGluZSwgbGV2ZWxJbmRpY2VzID0gY3Vyc29yLmxldmVsSW5kaWNlcywgbGVhZiA9IGN1cnNvci5sZWFmO1xyXG4gICAgICAgIGlmIChzdGVwVG9Ob2RlID09PSB0cnVlIHx8IGxlYWYpIHtcclxuICAgICAgICAgICAgdmFyIGxldmVsc0xlbmd0aCA9IGxldmVsSW5kaWNlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIC8vIFN0ZXAgdG8gdGhlIG5leHQgbm9kZSBvbmx5IGlmOlxyXG4gICAgICAgICAgICAvLyAtIFdlIGFyZSBleHBsaWNpdGx5IGRpcmVjdGVkIHRvIHZpYSBzdGVwVG9Ob2RlLCBvclxyXG4gICAgICAgICAgICAvLyAtIFRoZXJlIGFyZSBubyBrZXkvdmFsdWUgcGFpcnMgbGVmdCB0byBzdGVwIHRvIGluIHRoaXMgbGVhZlxyXG4gICAgICAgICAgICBpZiAoc3RlcFRvTm9kZSA9PT0gdHJ1ZSB8fCBsZXZlbEluZGljZXNbbGV2ZWxzTGVuZ3RoIC0gMV0gPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHZhciBzcGluZUxlbmd0aCA9IGludGVybmFsU3BpbmUubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgLy8gUm9vdCBpcyBsZWFmXHJcbiAgICAgICAgICAgICAgICBpZiAoc3BpbmVMZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy8gV2FsayBiYWNrIHVwIHRoZSB0cmVlIHVudGlsIHdlIGZpbmQgYSBuZXcgc3VidHJlZSB0byBkZXNjZW5kIGludG9cclxuICAgICAgICAgICAgICAgIHZhciBub2RlTGV2ZWxJbmRleCA9IHNwaW5lTGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIHZhciBsZXZlbEluZGV4V2Fsa0JhY2sgPSBub2RlTGV2ZWxJbmRleDtcclxuICAgICAgICAgICAgICAgIHdoaWxlIChsZXZlbEluZGV4V2Fsa0JhY2sgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsZXZlbEluZGljZXNbbGV2ZWxJbmRleFdhbGtCYWNrXSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxldmVsSW5kZXhXYWxrQmFjayA8IGxldmVsc0xlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBsZWFmIHN0YXRlIGZyb20gY3Vyc29yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IubGVhZiA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsSW5kaWNlcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSB3YWxrZWQgdXB3YXJkcyBwYXN0IGFueSBpbnRlcm5hbCBub2RlLCBzbGljZSB0aGVtIG91dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGV2ZWxJbmRleFdhbGtCYWNrIDwgbm9kZUxldmVsSW5kZXgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuaW50ZXJuYWxTcGluZSA9IGludGVybmFsU3BpbmUuc2xpY2UoMCwgbGV2ZWxJbmRleFdhbGtCYWNrICsgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gbmV3IGludGVybmFsIG5vZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmN1cnJlbnRLZXkgPSBpbnRlcm5hbFNwaW5lW2xldmVsSW5kZXhXYWxrQmFja11bLS1sZXZlbEluZGljZXNbbGV2ZWxJbmRleFdhbGtCYWNrXV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXZlbEluZGV4V2Fsa0JhY2stLTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEN1cnNvciBpcyBpbiB0aGUgZmFyIGxlZnQgbGVhZiBvZiB0aGUgdHJlZSwgbm8gbW9yZSBub2RlcyB0byBlbnVtZXJhdGVcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gbmV3IGxlYWYgdmFsdWVcclxuICAgICAgICAgICAgICAgIHZhciB2YWx1ZUluZGV4ID0gLS1sZXZlbEluZGljZXNbbGV2ZWxzTGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgICAgICBjdXJzb3IuY3VycmVudEtleSA9IGxlYWYua2V5c1t2YWx1ZUluZGV4XTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgeyAvLyBDdXJzb3IgZG9lcyBub3QgcG9pbnQgdG8gYSB2YWx1ZSBpbiBhIGxlYWYsIHNvIG1vdmUgZG93bndhcmRzXHJcbiAgICAgICAgICAgIHZhciBuZXh0TGV2ZWwgPSBpbnRlcm5hbFNwaW5lLmxlbmd0aDtcclxuICAgICAgICAgICAgdmFyIGN1cnJlbnRMZXZlbCA9IG5leHRMZXZlbCAtIDE7XHJcbiAgICAgICAgICAgIHZhciBub2RlID0gaW50ZXJuYWxTcGluZVtjdXJyZW50TGV2ZWxdW2xldmVsSW5kaWNlc1tjdXJyZW50TGV2ZWxdXTtcclxuICAgICAgICAgICAgaWYgKG5vZGUuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBFbnRlcmluZyBpbnRvIGEgbGVhZi4gU2V0IHRoZSBjdXJzb3IgdG8gcG9pbnQgYXQgdGhlIGxhc3Qga2V5L3ZhbHVlIHBhaXIuXHJcbiAgICAgICAgICAgICAgICBjdXJzb3IubGVhZiA9IG5vZGU7XHJcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWVJbmRleCA9IGxldmVsSW5kaWNlc1tuZXh0TGV2ZWxdID0gbm9kZS52YWx1ZXMubGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIGN1cnNvci5jdXJyZW50S2V5ID0gbm9kZS5rZXlzW3ZhbHVlSW5kZXhdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjtcclxuICAgICAgICAgICAgICAgIGludGVybmFsU3BpbmVbbmV4dExldmVsXSA9IGNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkSW5kZXggPSBjaGlsZHJlbi5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgbGV2ZWxJbmRpY2VzW25leHRMZXZlbF0gPSBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yLmN1cnJlbnRLZXkgPSBjaGlsZHJlbltjaGlsZEluZGV4XS5tYXhLZXkoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlcyB0aGUgdHdvIGN1cnNvcnMuIFJldHVybnMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoaWNoIGN1cnNvciBpcyBhaGVhZCBpbiBhIHdhbGsuXHJcbiAgICAgKiBOb3RlIHRoYXQgY3Vyc29ycyBhcmUgYWR2YW5jZWQgaW4gcmV2ZXJzZSBzb3J0aW5nIG9yZGVyLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnNvckEsIGN1cnNvckIsIGNvbXBhcmVLZXlzKSB7XHJcbiAgICAgICAgdmFyIGhlaWdodEEgPSBjdXJzb3JBLmhlaWdodCwgY3VycmVudEtleUEgPSBjdXJzb3JBLmN1cnJlbnRLZXksIGxldmVsSW5kaWNlc0EgPSBjdXJzb3JBLmxldmVsSW5kaWNlcztcclxuICAgICAgICB2YXIgaGVpZ2h0QiA9IGN1cnNvckIuaGVpZ2h0LCBjdXJyZW50S2V5QiA9IGN1cnNvckIuY3VycmVudEtleSwgbGV2ZWxJbmRpY2VzQiA9IGN1cnNvckIubGV2ZWxJbmRpY2VzO1xyXG4gICAgICAgIC8vIFJldmVyc2UgdGhlIGNvbXBhcmlzb24gb3JkZXIsIGFzIGN1cnNvcnMgYXJlIGFkdmFuY2VkIGluIHJldmVyc2Ugc29ydGluZyBvcmRlclxyXG4gICAgICAgIHZhciBrZXlDb21wYXJpc29uID0gY29tcGFyZUtleXMoY3VycmVudEtleUIsIGN1cnJlbnRLZXlBKTtcclxuICAgICAgICBpZiAoa2V5Q29tcGFyaXNvbiAhPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4ga2V5Q29tcGFyaXNvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTm9ybWFsaXplIGRlcHRoIHZhbHVlcyByZWxhdGl2ZSB0byB0aGUgc2hvcnRlc3QgdHJlZS5cclxuICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCBjb25jdXJyZW50IGN1cnNvciB3YWxrcyBvZiB0cmVlcyBvZiBkaWZmZXJpbmcgaGVpZ2h0cyBjYW4gcmVsaWFibHkgbGFuZCBvbiBzaGFyZWQgbm9kZXMgYXQgdGhlIHNhbWUgdGltZS5cclxuICAgICAgICAvLyBUbyBhY2NvbXBsaXNoIHRoaXMsIGEgY3Vyc29yIHRoYXQgaXMgb24gYW4gaW50ZXJuYWwgbm9kZSBhdCBkZXB0aCBEMSB3aXRoIG1heEtleSBYIGlzIGNvbnNpZGVyZWQgXCJiZWhpbmRcIiBhIGN1cnNvciBvbiBhblxyXG4gICAgICAgIC8vIGludGVybmFsIG5vZGUgYXQgZGVwdGggRDIgd2l0aCBtYXhLZXkgWSwgd2hlbiBEMSA8IEQyLiBUaHVzLCBhbHdheXMgd2Fsa2luZyB0aGUgY3Vyc29yIHRoYXQgaXMgXCJiZWhpbmRcIiB3aWxsIGFsbG93IHRoZSBjdXJzb3JcclxuICAgICAgICAvLyBhdCBzaGFsbG93ZXIgZGVwdGggKGJ1dCBlcXVhbCBtYXhLZXkpIHRvIFwiY2F0Y2ggdXBcIiBhbmQgbGFuZCBvbiBzaGFyZWQgbm9kZXMuXHJcbiAgICAgICAgdmFyIGhlaWdodE1pbiA9IGhlaWdodEEgPCBoZWlnaHRCID8gaGVpZ2h0QSA6IGhlaWdodEI7XHJcbiAgICAgICAgdmFyIGRlcHRoQU5vcm1hbGl6ZWQgPSBsZXZlbEluZGljZXNBLmxlbmd0aCAtIChoZWlnaHRBIC0gaGVpZ2h0TWluKTtcclxuICAgICAgICB2YXIgZGVwdGhCTm9ybWFsaXplZCA9IGxldmVsSW5kaWNlc0IubGVuZ3RoIC0gKGhlaWdodEIgLSBoZWlnaHRNaW4pO1xyXG4gICAgICAgIHJldHVybiBkZXB0aEFOb3JtYWxpemVkIC0gZGVwdGhCTm9ybWFsaXplZDtcclxuICAgIH07XHJcbiAgICAvLyBFbmQgb2YgaGVscGVyIG1ldGhvZHMgZm9yIGRpZmZBZ2FpbnN0IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLyoqIFJldHVybnMgYSBuZXcgaXRlcmF0b3IgZm9yIGl0ZXJhdGluZyB0aGUga2V5cyBvZiBlYWNoIHBhaXIgaW4gYXNjZW5kaW5nIG9yZGVyLlxyXG4gICAgICogIEBwYXJhbSBmaXJzdEtleTogTWluaW11bSBrZXkgdG8gaW5jbHVkZSBpbiB0aGUgb3V0cHV0LiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmtleXMgPSBmdW5jdGlvbiAoZmlyc3RLZXkpIHtcclxuICAgICAgICB2YXIgaXQgPSB0aGlzLmVudHJpZXMoZmlyc3RLZXksIFJldXNlZEFycmF5KTtcclxuICAgICAgICByZXR1cm4gaXRlcmF0b3IoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgbiA9IGl0Lm5leHQoKTtcclxuICAgICAgICAgICAgaWYgKG4udmFsdWUpXHJcbiAgICAgICAgICAgICAgICBuLnZhbHVlID0gbi52YWx1ZVswXTtcclxuICAgICAgICAgICAgcmV0dXJuIG47XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBuZXcgaXRlcmF0b3IgZm9yIGl0ZXJhdGluZyB0aGUgdmFsdWVzIG9mIGVhY2ggcGFpciBpbiBvcmRlciBieSBrZXkuXHJcbiAgICAgKiAgQHBhcmFtIGZpcnN0S2V5OiBNaW5pbXVtIGtleSB3aG9zZSBhc3NvY2lhdGVkIHZhbHVlIGlzIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudmFsdWVzID0gZnVuY3Rpb24gKGZpcnN0S2V5KSB7XHJcbiAgICAgICAgdmFyIGl0ID0gdGhpcy5lbnRyaWVzKGZpcnN0S2V5LCBSZXVzZWRBcnJheSk7XHJcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIG4gPSBpdC5uZXh0KCk7XHJcbiAgICAgICAgICAgIGlmIChuLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgbi52YWx1ZSA9IG4udmFsdWVbMV07XHJcbiAgICAgICAgICAgIHJldHVybiBuO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCVHJlZS5wcm90b3R5cGUsIFwibWF4Tm9kZVNpemVcIiwge1xyXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAgICAgLy8gQWRkaXRpb25hbCBtZXRob2RzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgICAgICAvKiogUmV0dXJucyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hpbGRyZW4vdmFsdWVzIGJlZm9yZSBub2RlcyB3aWxsIHNwbGl0LiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbWF4Tm9kZVNpemU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLyoqIEdldHMgdGhlIGxvd2VzdCBrZXkgaW4gdGhlIHRyZWUuIENvbXBsZXhpdHk6IE8obG9nIHNpemUpICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubWluS2V5ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fcm9vdC5taW5LZXkoKTsgfTtcclxuICAgIC8qKiBHZXRzIHRoZSBoaWdoZXN0IGtleSBpbiB0aGUgdHJlZS4gQ29tcGxleGl0eTogTygxKSAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLm1heEtleSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX3Jvb3QubWF4S2V5KCk7IH07XHJcbiAgICAvKiogUXVpY2tseSBjbG9uZXMgdGhlIHRyZWUgYnkgbWFya2luZyB0aGUgcm9vdCBub2RlIGFzIHNoYXJlZC5cclxuICAgICAqICBCb3RoIGNvcGllcyByZW1haW4gZWRpdGFibGUuIFdoZW4geW91IG1vZGlmeSBlaXRoZXIgY29weSwgYW55XHJcbiAgICAgKiAgbm9kZXMgdGhhdCBhcmUgc2hhcmVkIChvciBwb3RlbnRpYWxseSBzaGFyZWQpIGJldHdlZW4gdGhlIHR3b1xyXG4gICAgICogIGNvcGllcyBhcmUgY2xvbmVkIHNvIHRoYXQgdGhlIGNoYW5nZXMgZG8gbm90IGFmZmVjdCBvdGhlciBjb3BpZXMuXHJcbiAgICAgKiAgVGhpcyBpcyBrbm93biBhcyBjb3B5LW9uLXdyaXRlIGJlaGF2aW9yLCBvciBcImxhenkgY29weWluZ1wiLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuaXNTaGFyZWQgPSB0cnVlO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgQlRyZWUodW5kZWZpbmVkLCB0aGlzLl9jb21wYXJlLCB0aGlzLl9tYXhOb2RlU2l6ZSk7XHJcbiAgICAgICAgcmVzdWx0Ll9yb290ID0gdGhpcy5fcm9vdDtcclxuICAgICAgICByZXN1bHQuX3NpemUgPSB0aGlzLl9zaXplO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIFBlcmZvcm1zIGEgZ3JlZWR5IGNsb25lLCBpbW1lZGlhdGVseSBkdXBsaWNhdGluZyBhbnkgbm9kZXMgdGhhdCBhcmVcclxuICAgICAqICBub3QgY3VycmVudGx5IG1hcmtlZCBhcyBzaGFyZWQsIGluIG9yZGVyIHRvIGF2b2lkIG1hcmtpbmcgYW55XHJcbiAgICAgKiAgYWRkaXRpb25hbCBub2RlcyBhcyBzaGFyZWQuXHJcbiAgICAgKiAgQHBhcmFtIGZvcmNlIENsb25lIGFsbCBub2RlcywgZXZlbiBzaGFyZWQgb25lcy5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdyZWVkeUNsb25lID0gZnVuY3Rpb24gKGZvcmNlKSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBCVHJlZSh1bmRlZmluZWQsIHRoaXMuX2NvbXBhcmUsIHRoaXMuX21heE5vZGVTaXplKTtcclxuICAgICAgICByZXN1bHQuX3Jvb3QgPSB0aGlzLl9yb290LmdyZWVkeUNsb25lKGZvcmNlKTtcclxuICAgICAgICByZXN1bHQuX3NpemUgPSB0aGlzLl9zaXplO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIEdldHMgYW4gYXJyYXkgZmlsbGVkIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSB0cmVlLCBzb3J0ZWQgYnkga2V5ICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIChtYXhMZW5ndGgpIHtcclxuICAgICAgICBpZiAobWF4TGVuZ3RoID09PSB2b2lkIDApIHsgbWF4TGVuZ3RoID0gMHg3RkZGRkZGRjsgfVxyXG4gICAgICAgIHZhciBtaW4gPSB0aGlzLm1pbktleSgpLCBtYXggPSB0aGlzLm1heEtleSgpO1xyXG4gICAgICAgIGlmIChtaW4gIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmFuZ2UobWluLCBtYXgsIHRydWUsIG1heExlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfTtcclxuICAgIC8qKiBHZXRzIGFuIGFycmF5IG9mIGFsbCBrZXlzLCBzb3J0ZWQgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5rZXlzQXJyYXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcclxuICAgICAgICB0aGlzLl9yb290LmZvclJhbmdlKHRoaXMubWluS2V5KCksIHRoaXMubWF4S2V5KCksIHRydWUsIGZhbHNlLCB0aGlzLCAwLCBmdW5jdGlvbiAoaywgdikgeyByZXN1bHRzLnB1c2goayk7IH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgfTtcclxuICAgIC8qKiBHZXRzIGFuIGFycmF5IG9mIGFsbCB2YWx1ZXMsIHNvcnRlZCBieSBrZXkgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS52YWx1ZXNBcnJheSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuZm9yUmFuZ2UodGhpcy5taW5LZXkoKSwgdGhpcy5tYXhLZXkoKSwgdHJ1ZSwgZmFsc2UsIHRoaXMsIDAsIGZ1bmN0aW9uIChrLCB2KSB7IHJlc3VsdHMucHVzaCh2KTsgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9O1xyXG4gICAgLyoqIEdldHMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0cmVlJ3MgZGF0YSBiYXNlZCBvbiB0b0FycmF5KCkuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9BcnJheSgpLnRvU3RyaW5nKCk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFN0b3JlcyBhIGtleS12YWx1ZSBwYWlyIG9ubHkgaWYgdGhlIGtleSBkb2Vzbid0IGFscmVhZHkgZXhpc3QgaW4gdGhlIHRyZWUuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IGtleSB3YXMgYWRkZWRcclxuICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuc2V0SWZOb3RQcmVzZW50ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXQoa2V5LCB2YWx1ZSwgZmFsc2UpO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBhaXIgd2hvc2Uga2V5IGlzIGxhcmdlciB0aGFuIHRoZSBzcGVjaWZpZWQga2V5IChvciB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm9uZSkuXHJcbiAgICAgKiBJZiBrZXkgPT09IHVuZGVmaW5lZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBsb3dlc3QgcGFpci5cclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxyXG4gICAgICogQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMsIHRvXHJcbiAgICAgKiBhdm9pZCBjcmVhdGluZyBhIG5ldyBhcnJheSBvbiBldmVyeSBpdGVyYXRpb24uXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0SGlnaGVyUGFpciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV1c2VkQXJyYXkgPSByZXVzZWRBcnJheSB8fCBbXTtcclxuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QubWluUGFpcihyZXVzZWRBcnJheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRIaWdoZXIoa2V5LCB0aGlzLl9jb21wYXJlLCBmYWxzZSwgcmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IGtleSBsYXJnZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUuXHJcbiAgICAgKiAgQWxzbywgbmV4dEhpZ2hlcktleSh1bmRlZmluZWQpIHJldHVybnMgdGhlIGxvd2VzdCBrZXkuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0SGlnaGVyS2V5ID0gZnVuY3Rpb24gKGtleSkge1xyXG4gICAgICAgIHZhciBwID0gdGhpcy5uZXh0SGlnaGVyUGFpcihrZXksIFJldXNlZEFycmF5KTtcclxuICAgICAgICByZXR1cm4gcCAmJiBwWzBdO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBhaXIgd2hvc2Uga2V5IGlzIHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSAob3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUpLlxyXG4gICAgICogIElmIGtleSA9PT0gdW5kZWZpbmVkLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGhpZ2hlc3QgcGFpci5cclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxyXG4gICAgICogQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMsIHRvXHJcbiAgICAgKiAgICAgICAgYXZvaWQgY3JlYXRpbmcgYSBuZXcgYXJyYXkgZWFjaCB0aW1lIHlvdSBjYWxsIHRoaXMgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubmV4dExvd2VyUGFpciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV1c2VkQXJyYXkgPSByZXVzZWRBcnJheSB8fCBbXTtcclxuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QubWF4UGFpcihyZXVzZWRBcnJheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRMb3dlcihrZXksIHRoaXMuX2NvbXBhcmUsIGZhbHNlLCByZXVzZWRBcnJheSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgdGhlIG5leHQga2V5IHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUuXHJcbiAgICAgKiAgQWxzbywgbmV4dExvd2VyS2V5KHVuZGVmaW5lZCkgcmV0dXJucyB0aGUgaGlnaGVzdCBrZXkuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0TG93ZXJLZXkgPSBmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgdmFyIHAgPSB0aGlzLm5leHRMb3dlclBhaXIoa2V5LCBSZXVzZWRBcnJheSk7XHJcbiAgICAgICAgcmV0dXJuIHAgJiYgcFswXTtcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdXBwbGllZCBrZXkgaWYgaXQgZXhpc3RzXHJcbiAgICAgKiAgb3IgdGhlIHBhaXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXh0IGxvd2VyIHBhaXIgb3RoZXJ3aXNlLiBJZiB0aGVyZSBpcyBub1xyXG4gICAgICogIG5leHQgbG93ZXIgcGFpciwgdW5kZWZpbmVkIGlzIHJldHVybmVkLlxyXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHNlYXJjaCBmb3IuXHJcbiAgICAgKiBAcGFyYW0gcmV1c2VkQXJyYXkgT3B0aW9uYWwgYXJyYXkgdXNlZCByZXBlYXRlZGx5IHRvIHN0b3JlIGtleS12YWx1ZSBwYWlycywgdG9cclxuICAgICAqICAgICAgICBhdm9pZCBjcmVhdGluZyBhIG5ldyBhcnJheSBlYWNoIHRpbWUgeW91IGNhbGwgdGhpcyBtZXRob2QuXHJcbiAgICAgKiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdldFBhaXJPck5leHRMb3dlciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dExvd2VyKGtleSwgdGhpcy5fY29tcGFyZSwgdHJ1ZSwgcmV1c2VkQXJyYXkgfHwgW10pO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBrZXktdmFsdWUgcGFpciBhc3NvY2lhdGVkIHdpdGggdGhlIHN1cHBsaWVkIGtleSBpZiBpdCBleGlzdHNcclxuICAgICAqICBvciB0aGUgcGFpciBhc3NvY2lhdGVkIHdpdGggdGhlIG5leHQgbG93ZXIgcGFpciBvdGhlcndpc2UuIElmIHRoZXJlIGlzIG5vXHJcbiAgICAgKiAgbmV4dCBsb3dlciBwYWlyLCB1bmRlZmluZWQgaXMgcmV0dXJuZWQuXHJcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cclxuICAgICAqIEBwYXJhbSByZXVzZWRBcnJheSBPcHRpb25hbCBhcnJheSB1c2VkIHJlcGVhdGVkbHkgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLCB0b1xyXG4gICAgICogICAgICAgIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IGVhY2ggdGltZSB5b3UgY2FsbCB0aGlzIG1ldGhvZC5cclxuICAgICAqICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dEhpZ2hlcihrZXksIHRoaXMuX2NvbXBhcmUsIHRydWUsIHJldXNlZEFycmF5IHx8IFtdKTtcclxuICAgIH07XHJcbiAgICAvKiogRWRpdHMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIGtleSBpbiB0aGUgdHJlZSwgaWYgaXQgYWxyZWFkeSBleGlzdHMuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBrZXkgZXhpc3RlZCwgZmFsc2UgaWYgbm90LlxyXG4gICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5jaGFuZ2VJZlByZXNlbnQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRSYW5nZShrZXksIGtleSwgdHJ1ZSwgZnVuY3Rpb24gKGssIHYpIHsgcmV0dXJuICh7IHZhbHVlOiB2YWx1ZSB9KTsgfSkgIT09IDA7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBCdWlsZHMgYW4gYXJyYXkgb2YgcGFpcnMgZnJvbSB0aGUgc3BlY2lmaWVkIHJhbmdlIG9mIGtleXMsIHNvcnRlZCBieSBrZXkuXHJcbiAgICAgKiBFYWNoIHJldHVybmVkIHBhaXIgaXMgYWxzbyBhbiBhcnJheTogcGFpclswXSBpcyB0aGUga2V5LCBwYWlyWzFdIGlzIHRoZSB2YWx1ZS5cclxuICAgICAqIEBwYXJhbSBsb3cgVGhlIGZpcnN0IGtleSBpbiB0aGUgYXJyYXkgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBUaGlzIG1ldGhvZCByZXR1cm5zIHdoZW4gYSBrZXkgbGFyZ2VyIHRoYW4gdGhpcyBpcyByZWFjaGVkLlxyXG4gICAgICogQHBhcmFtIGluY2x1ZGVIaWdoIElmIHRoZSBgaGlnaGAga2V5IGlzIHByZXNlbnQsIGl0cyBwYWlyIHdpbGwgYmUgaW5jbHVkZWRcclxuICAgICAqICAgICAgICBpbiB0aGUgb3V0cHV0IGlmIGFuZCBvbmx5IGlmIHRoaXMgcGFyYW1ldGVyIGlzIHRydWUuIE5vdGU6IGlmIHRoZVxyXG4gICAgICogICAgICAgIGBsb3dgIGtleSBpcyBwcmVzZW50LCBpdCBpcyBhbHdheXMgaW5jbHVkZWQgaW4gdGhlIG91dHB1dC5cclxuICAgICAqIEBwYXJhbSBtYXhMZW5ndGggTGVuZ3RoIGxpbWl0LiBnZXRSYW5nZSB3aWxsIHN0b3Agc2Nhbm5pbmcgdGhlIHRyZWUgd2hlblxyXG4gICAgICogICAgICAgICAgICAgICAgICB0aGUgYXJyYXkgcmVhY2hlcyB0aGlzIHNpemUuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0YXRpb25hbCBjb21wbGV4aXR5OiBPKHJlc3VsdC5sZW5ndGggKyBsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdldFJhbmdlID0gZnVuY3Rpb24gKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIG1heExlbmd0aCkge1xyXG4gICAgICAgIGlmIChtYXhMZW5ndGggPT09IHZvaWQgMCkgeyBtYXhMZW5ndGggPSAweDNGRkZGRkY7IH1cclxuICAgICAgICB2YXIgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuZm9yUmFuZ2UobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgZmFsc2UsIHRoaXMsIDAsIGZ1bmN0aW9uIChrLCB2KSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChbaywgdl0pO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cy5sZW5ndGggPiBtYXhMZW5ndGggPyBCcmVhayA6IHVuZGVmaW5lZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgIH07XHJcbiAgICAvKiogQWRkcyBhbGwgcGFpcnMgZnJvbSBhIGxpc3Qgb2Yga2V5LXZhbHVlIHBhaXJzLlxyXG4gICAgICogQHBhcmFtIHBhaXJzIFBhaXJzIHRvIGFkZCB0byB0aGlzIHRyZWUuIElmIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyxcclxuICAgICAqICAgICAgICBsYXRlciBwYWlycyBjdXJyZW50bHkgb3ZlcndyaXRlIGVhcmxpZXIgb25lcyAoZS5nLiBbWzAsMV0sWzAsN11dXHJcbiAgICAgKiAgICAgICAgYXNzb2NpYXRlcyAwIHdpdGggNy4pXHJcbiAgICAgKiBAcGFyYW0gb3ZlcndyaXRlIFdoZXRoZXIgdG8gb3ZlcndyaXRlIHBhaXJzIHRoYXQgYWxyZWFkeSBleGlzdCAoaWYgZmFsc2UsXHJcbiAgICAgKiAgICAgICAgcGFpcnNbaV0gaXMgaWdub3JlZCB3aGVuIHRoZSBrZXkgcGFpcnNbaV1bMF0gYWxyZWFkeSBleGlzdHMuKVxyXG4gICAgICogQHJldHVybnMgVGhlIG51bWJlciBvZiBwYWlycyBhZGRlZCB0byB0aGUgY29sbGVjdGlvbi5cclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8ocGFpcnMubGVuZ3RoICogbG9nKHNpemUgKyBwYWlycy5sZW5ndGgpKVxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuc2V0UGFpcnMgPSBmdW5jdGlvbiAocGFpcnMsIG92ZXJ3cml0ZSkge1xyXG4gICAgICAgIHZhciBhZGRlZCA9IDA7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYWlycy5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2V0KHBhaXJzW2ldWzBdLCBwYWlyc1tpXVsxXSwgb3ZlcndyaXRlKSlcclxuICAgICAgICAgICAgICAgIGFkZGVkKys7XHJcbiAgICAgICAgcmV0dXJuIGFkZGVkO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogU2NhbnMgdGhlIHNwZWNpZmllZCByYW5nZSBvZiBrZXlzLCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkga2V5LlxyXG4gICAgICogTm90ZTogdGhlIGNhbGxiYWNrIGBvbkZvdW5kYCBtdXN0IG5vdCBpbnNlcnQgb3IgcmVtb3ZlIGl0ZW1zIGluIHRoZVxyXG4gICAgICogY29sbGVjdGlvbi4gRG9pbmcgc28gbWF5IGNhdXNlIGluY29ycmVjdCBkYXRhIHRvIGJlIHNlbnQgdG8gdGhlXHJcbiAgICAgKiBjYWxsYmFjayBhZnRlcndhcmQuXHJcbiAgICAgKiBAcGFyYW0gbG93IFRoZSBmaXJzdCBrZXkgc2Nhbm5lZCB3aWxsIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBgbG93YC5cclxuICAgICAqIEBwYXJhbSBoaWdoIFNjYW5uaW5nIHN0b3BzIHdoZW4gYSBrZXkgbGFyZ2VyIHRoYW4gdGhpcyBpcyByZWFjaGVkLlxyXG4gICAgICogQHBhcmFtIGluY2x1ZGVIaWdoIElmIHRoZSBgaGlnaGAga2V5IGlzIHByZXNlbnQsIGBvbkZvdW5kYCBpcyBjYWxsZWQgZm9yXHJcbiAgICAgKiAgICAgICAgdGhhdCBmaW5hbCBwYWlyIGlmIGFuZCBvbmx5IGlmIHRoaXMgcGFyYW1ldGVyIGlzIHRydWUuXHJcbiAgICAgKiBAcGFyYW0gb25Gb3VuZCBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGZvciBlYWNoIGtleS12YWx1ZSBwYWlyLiBUaGlzXHJcbiAgICAgKiAgICAgICAgZnVuY3Rpb24gY2FuIHJldHVybiB7YnJlYWs6Un0gdG8gc3RvcCBlYXJseSB3aXRoIHJlc3VsdCBSLlxyXG4gICAgICogQHBhcmFtIGluaXRpYWxDb3VudGVyIEluaXRpYWwgdGhpcmQgYXJndW1lbnQgb2Ygb25Gb3VuZC4gVGhpcyB2YWx1ZVxyXG4gICAgICogICAgICAgIGluY3JlYXNlcyBieSBvbmUgZWFjaCB0aW1lIGBvbkZvdW5kYCBpcyBjYWxsZWQuIERlZmF1bHQ6IDBcclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdmFsdWVzIGZvdW5kLCBvciBSIGlmIHRoZSBjYWxsYmFjayByZXR1cm5lZFxyXG4gICAgICogICAgICAgIGB7YnJlYWs6Un1gIHRvIHN0b3AgZWFybHkuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0YXRpb25hbCBjb21wbGV4aXR5OiBPKG51bWJlciBvZiBpdGVtcyBzY2FubmVkICsgbG9nIHNpemUpXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mb3JSYW5nZSA9IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBvbkZvdW5kLCBpbml0aWFsQ291bnRlcikge1xyXG4gICAgICAgIHZhciByID0gdGhpcy5fcm9vdC5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBmYWxzZSwgdGhpcywgaW5pdGlhbENvdW50ZXIgfHwgMCwgb25Gb3VuZCk7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSBcIm51bWJlclwiID8gciA6IHIuYnJlYWs7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTY2FucyBhbmQgcG90ZW50aWFsbHkgbW9kaWZpZXMgdmFsdWVzIGZvciBhIHN1YnNlcXVlbmNlIG9mIGtleXMuXHJcbiAgICAgKiBOb3RlOiB0aGUgY2FsbGJhY2sgYG9uRm91bmRgIHNob3VsZCBpZGVhbGx5IGJlIGEgcHVyZSBmdW5jdGlvbi5cclxuICAgICAqICAgU3BlY2ZpY2FsbHksIGl0IG11c3Qgbm90IGluc2VydCBpdGVtcywgY2FsbCBjbG9uZSgpLCBvciBjaGFuZ2VcclxuICAgICAqICAgdGhlIGNvbGxlY3Rpb24gZXhjZXB0IHZpYSByZXR1cm4gdmFsdWU7IG91dC1vZi1iYW5kIGVkaXRpbmcgbWF5XHJcbiAgICAgKiAgIGNhdXNlIGFuIGV4Y2VwdGlvbiBvciBtYXkgY2F1c2UgaW5jb3JyZWN0IGRhdGEgdG8gYmUgc2VudCB0b1xyXG4gICAgICogICB0aGUgY2FsbGJhY2sgKGR1cGxpY2F0ZSBvciBtaXNzZWQgaXRlbXMpLiBJdCBtdXN0IG5vdCBjYXVzZSBhXHJcbiAgICAgKiAgIGNsb25lKCkgb2YgdGhlIGNvbGxlY3Rpb24sIG90aGVyd2lzZSB0aGUgY2xvbmUgY291bGQgYmUgbW9kaWZpZWRcclxuICAgICAqICAgYnkgY2hhbmdlcyByZXF1ZXN0ZWQgYnkgdGhlIGNhbGxiYWNrLlxyXG4gICAgICogQHBhcmFtIGxvdyBUaGUgZmlyc3Qga2V5IHNjYW5uZWQgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBTY2FubmluZyBzdG9wcyB3aGVuIGEga2V5IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVhY2hlZC5cclxuICAgICAqIEBwYXJhbSBpbmNsdWRlSGlnaCBJZiB0aGUgYGhpZ2hgIGtleSBpcyBwcmVzZW50LCBgb25Gb3VuZGAgaXMgY2FsbGVkIGZvclxyXG4gICAgICogICAgICAgIHRoYXQgZmluYWwgcGFpciBpZiBhbmQgb25seSBpZiB0aGlzIHBhcmFtZXRlciBpcyB0cnVlLlxyXG4gICAgICogQHBhcmFtIG9uRm91bmQgQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBmb3IgZWFjaCBrZXktdmFsdWUgcGFpci4gVGhpc1xyXG4gICAgICogICAgICAgIGZ1bmN0aW9uIGNhbiByZXR1cm4gYHt2YWx1ZTp2fWAgdG8gY2hhbmdlIHRoZSB2YWx1ZSBhc3NvY2lhdGVkXHJcbiAgICAgKiAgICAgICAgd2l0aCB0aGUgY3VycmVudCBrZXksIGB7ZGVsZXRlOnRydWV9YCB0byBkZWxldGUgdGhlIGN1cnJlbnQgcGFpcixcclxuICAgICAqICAgICAgICBge2JyZWFrOlJ9YCB0byBzdG9wIGVhcmx5IHdpdGggcmVzdWx0IFIsIG9yIGl0IGNhbiByZXR1cm4gbm90aGluZ1xyXG4gICAgICogICAgICAgICh1bmRlZmluZWQgb3Ige30pIHRvIGNhdXNlIG5vIGVmZmVjdCBhbmQgY29udGludWUgaXRlcmF0aW5nLlxyXG4gICAgICogICAgICAgIGB7YnJlYWs6Un1gIGNhbiBiZSBjb21iaW5lZCB3aXRoIG9uZSBvZiB0aGUgb3RoZXIgdHdvIGNvbW1hbmRzLlxyXG4gICAgICogICAgICAgIFRoZSB0aGlyZCBhcmd1bWVudCBgY291bnRlcmAgaXMgdGhlIG51bWJlciBvZiBpdGVtcyBpdGVyYXRlZFxyXG4gICAgICogICAgICAgIHByZXZpb3VzbHk7IGl0IGVxdWFscyAwIHdoZW4gYG9uRm91bmRgIGlzIGNhbGxlZCB0aGUgZmlyc3QgdGltZS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdmFsdWVzIHNjYW5uZWQsIG9yIFIgaWYgdGhlIGNhbGxiYWNrIHJldHVybmVkXHJcbiAgICAgKiAgICAgICAgYHticmVhazpSfWAgdG8gc3RvcCBlYXJseS5cclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogICBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obnVtYmVyIG9mIGl0ZW1zIHNjYW5uZWQgKyBsb2cgc2l6ZSlcclxuICAgICAqICAgTm90ZTogaWYgdGhlIHRyZWUgaGFzIGJlZW4gY2xvbmVkIHdpdGggY2xvbmUoKSwgYW55IHNoYXJlZFxyXG4gICAgICogICBub2RlcyBhcmUgY29waWVkIGJlZm9yZSBgb25Gb3VuZGAgaXMgY2FsbGVkLiBUaGlzIHRha2VzIE8obikgdGltZVxyXG4gICAgICogICB3aGVyZSBuIGlzIHByb3BvcnRpb25hbCB0byB0aGUgYW1vdW50IG9mIHNoYXJlZCBkYXRhIHNjYW5uZWQuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5lZGl0UmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgb25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpIHtcclxuICAgICAgICB2YXIgcm9vdCA9IHRoaXMuX3Jvb3Q7XHJcbiAgICAgICAgaWYgKHJvb3QuaXNTaGFyZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSByb290ID0gcm9vdC5jbG9uZSgpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHZhciByID0gcm9vdC5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCB0cnVlLCB0aGlzLCBpbml0aWFsQ291bnRlciB8fCAwLCBvbkZvdW5kKTtcclxuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSBcIm51bWJlclwiID8gciA6IHIuYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICB2YXIgaXNTaGFyZWQgPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHdoaWxlIChyb290LmtleXMubGVuZ3RoIDw9IDEgJiYgIXJvb3QuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgICAgICBpc1NoYXJlZCB8fCAoaXNTaGFyZWQgPSByb290LmlzU2hhcmVkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSByb290ID0gcm9vdC5rZXlzLmxlbmd0aCA9PT0gMCA/IEVtcHR5TGVhZiA6XHJcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5jaGlsZHJlblswXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBJZiBhbnkgYW5jZXN0b3Igb2YgdGhlIG5ldyByb290IHdhcyBzaGFyZWQsIHRoZSBuZXcgcm9vdCBtdXN0IGFsc28gYmUgc2hhcmVkXHJcbiAgICAgICAgICAgIGlmIChpc1NoYXJlZCkge1xyXG4gICAgICAgICAgICAgICAgcm9vdC5pc1NoYXJlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqIFNhbWUgYXMgYGVkaXRSYW5nZWAgZXhjZXB0IHRoYXQgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBmb3IgYWxsIHBhaXJzLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmVkaXRBbGwgPSBmdW5jdGlvbiAob25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0UmFuZ2UodGhpcy5taW5LZXkoKSwgdGhpcy5tYXhLZXkoKSwgdHJ1ZSwgb25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBhIHJhbmdlIG9mIGtleS12YWx1ZSBwYWlycyBmcm9tIHRoZSBCKyB0cmVlLlxyXG4gICAgICogQHBhcmFtIGxvdyBUaGUgZmlyc3Qga2V5IHNjYW5uZWQgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBTY2FubmluZyBzdG9wcyB3aGVuIGEga2V5IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVhY2hlZC5cclxuICAgICAqIEBwYXJhbSBpbmNsdWRlSGlnaCBTcGVjaWZpZXMgd2hldGhlciB0aGUgYGhpZ2hgIGtleSwgaWYgcHJlc2VudCwgaXMgZGVsZXRlZC5cclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIHRoYXQgd2VyZSBkZWxldGVkLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSArIG51bWJlciBvZiBpdGVtcyBkZWxldGVkKVxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZGVsZXRlUmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBEZWxldGVSYW5nZSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIERlbGV0ZXMgYSBzZXJpZXMgb2Yga2V5cyBmcm9tIHRoZSBjb2xsZWN0aW9uLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmRlbGV0ZUtleXMgPSBmdW5jdGlvbiAoa2V5cykge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCByID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRlbGV0ZShrZXlzW2ldKSlcclxuICAgICAgICAgICAgICAgIHIrKztcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgIH07XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQlRyZWUucHJvdG90eXBlLCBcImhlaWdodFwiLCB7XHJcbiAgICAgICAgLyoqIEdldHMgdGhlIGhlaWdodCBvZiB0aGUgdHJlZTogdGhlIG51bWJlciBvZiBpbnRlcm5hbCBub2RlcyBiZXR3ZWVuIHRoZVxyXG4gICAgICAgICAqICBCVHJlZSBvYmplY3QgYW5kIGl0cyBsZWFmIG5vZGVzICh6ZXJvIGlmIHRoZXJlIGFyZSBubyBpbnRlcm5hbCBub2RlcykuICovXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fcm9vdDtcclxuICAgICAgICAgICAgdmFyIGhlaWdodCA9IC0xO1xyXG4gICAgICAgICAgICB3aGlsZSAobm9kZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0Kys7XHJcbiAgICAgICAgICAgICAgICBub2RlID0gbm9kZS5pc0xlYWYgPyB1bmRlZmluZWQgOiBub2RlLmNoaWxkcmVuWzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBoZWlnaHQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLyoqIE1ha2VzIHRoZSBvYmplY3QgcmVhZC1vbmx5IHRvIGVuc3VyZSBpdCBpcyBub3QgYWNjaWRlbnRhbGx5IG1vZGlmaWVkLlxyXG4gICAgICogIEZyZWV6aW5nIGRvZXMgbm90IGhhdmUgdG8gYmUgcGVybWFuZW50OyB1bmZyZWV6ZSgpIHJldmVyc2VzIHRoZSBlZmZlY3QuXHJcbiAgICAgKiAgVGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgcmVwbGFjaW5nIG11dGF0b3IgZnVuY3Rpb25zIHdpdGggYSBmdW5jdGlvblxyXG4gICAgICogIHRoYXQgdGhyb3dzIGFuIEVycm9yLiBDb21wYXJlZCB0byB1c2luZyBhIHByb3BlcnR5IChlLmcuIHRoaXMuaXNGcm96ZW4pXHJcbiAgICAgKiAgdGhpcyBpbXBsZW1lbnRhdGlvbiBnaXZlcyBiZXR0ZXIgcGVyZm9ybWFuY2UgaW4gbm9uLWZyb3plbiBCVHJlZXMuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mcmVlemUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHQgPSB0aGlzO1xyXG4gICAgICAgIC8vIE5vdGU6IGFsbCBvdGhlciBtdXRhdG9ycyB1bHRpbWF0ZWx5IGNhbGwgc2V0KCkgb3IgZWRpdFJhbmdlKCkgXHJcbiAgICAgICAgLy8gICAgICAgc28gd2UgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aG9zZSBvdGhlcnMuXHJcbiAgICAgICAgdC5jbGVhciA9IHQuc2V0ID0gdC5lZGl0UmFuZ2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dGVtcHRlZCB0byBtb2RpZnkgYSBmcm96ZW4gQlRyZWVcIik7XHJcbiAgICAgICAgfTtcclxuICAgIH07XHJcbiAgICAvKiogRW5zdXJlcyBtdXRhdGlvbnMgYXJlIGFsbG93ZWQsIHJldmVyc2luZyB0aGUgZWZmZWN0IG9mIGZyZWV6ZSgpLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLnVuZnJlZXplID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmUgXCJUaGUgb3BlcmFuZCBvZiBhICdkZWxldGUnIG9wZXJhdG9yIG11c3QgYmUgb3B0aW9uYWwuXCJcclxuICAgICAgICAvLyAgICAgICAgICAgICh3cm9uZzogZGVsZXRlIGRvZXMgbm90IGFmZmVjdCB0aGUgcHJvdG90eXBlLilcclxuICAgICAgICBkZWxldGUgdGhpcy5jbGVhcjtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZGVsZXRlIHRoaXMuc2V0O1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBkZWxldGUgdGhpcy5lZGl0UmFuZ2U7XHJcbiAgICB9O1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJpc0Zyb3plblwiLCB7XHJcbiAgICAgICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHJlZSBhcHBlYXJzIHRvIGJlIGZyb3plbi4gKi9cclxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoJ2VkaXRSYW5nZScpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIC8qKiBTY2FucyB0aGUgdHJlZSBmb3Igc2lnbnMgb2Ygc2VyaW91cyBidWdzIChlLmcuIHRoaXMuc2l6ZSBkb2Vzbid0IG1hdGNoXHJcbiAgICAgKiAgbnVtYmVyIG9mIGVsZW1lbnRzLCBpbnRlcm5hbCBub2RlcyBub3QgY2FjaGluZyBtYXggZWxlbWVudCBwcm9wZXJseS4uLilcclxuICAgICAqICBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obnVtYmVyIG9mIG5vZGVzKSwgaS5lLiBPKHNpemUpLiBUaGlzIG1ldGhvZFxyXG4gICAgICogIHNraXBzIHRoZSBtb3N0IGV4cGVuc2l2ZSB0ZXN0IC0gd2hldGhlciBhbGwga2V5cyBhcmUgc29ydGVkIC0gYnV0IGl0XHJcbiAgICAgKiAgZG9lcyBjaGVjayB0aGF0IG1heEtleSgpIG9mIHRoZSBjaGlsZHJlbiBvZiBpbnRlcm5hbCBub2RlcyBhcmUgc29ydGVkLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHNpemUgPSB0aGlzLl9yb290LmNoZWNrVmFsaWQoMCwgdGhpcywgMCk7XHJcbiAgICAgICAgY2hlY2soc2l6ZSA9PT0gdGhpcy5zaXplLCBcInNpemUgbWlzbWF0Y2g6IGNvdW50ZWQgXCIsIHNpemUsIFwiYnV0IHN0b3JlZFwiLCB0aGlzLnNpemUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBCVHJlZTtcclxufSgpKTtcclxuZXhwb3J0cy5kZWZhdWx0ID0gQlRyZWU7XHJcbi8qKiBBIFR5cGVTY3JpcHQgaGVscGVyIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzIGFyZ3VtZW50LCB0eXBlZCBhc1xyXG4gKiAgYElTb3J0ZWRTZXQ8Sz5gIGlmIHRoZSBCVHJlZSBpbXBsZW1lbnRzIGl0LCBhcyBpdCBkb2VzIGlmIGBWIGV4dGVuZHMgdW5kZWZpbmVkYC5cclxuICogIElmIGBWYCBjYW5ub3QgYmUgYHVuZGVmaW5lZGAsIGl0IHJldHVybnMgYHVua25vd25gIGluc3RlYWQuIE9yIGF0IGxlYXN0LCB0aGF0XHJcbiAqICB3YXMgdGhlIGludGVudGlvbiwgYnV0IFR5cGVTY3JpcHQgaXMgYWN0aW5nIHdlaXJkIGFuZCBtYXkgcmV0dXJuIGBJU29ydGVkU2V0PEs+YFxyXG4gKiAgZXZlbiBpZiBgVmAgY2FuJ3QgYmUgYHVuZGVmaW5lZGAgKGRpc2N1c3Npb246IGJ0cmVlLXR5cGVzY3JpcHQgaXNzdWUgIzE0KSAqL1xyXG5mdW5jdGlvbiBhc1NldChidHJlZSkge1xyXG4gICAgcmV0dXJuIGJ0cmVlO1xyXG59XHJcbmV4cG9ydHMuYXNTZXQgPSBhc1NldDtcclxuaWYgKFN5bWJvbCAmJiBTeW1ib2wuaXRlcmF0b3IpIC8vIGl0ZXJhdG9yIGlzIGVxdWl2YWxlbnQgdG8gZW50cmllcygpXHJcbiAgICBCVHJlZS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IEJUcmVlLnByb3RvdHlwZS5lbnRyaWVzO1xyXG5CVHJlZS5wcm90b3R5cGUud2hlcmUgPSBCVHJlZS5wcm90b3R5cGUuZmlsdGVyO1xyXG5CVHJlZS5wcm90b3R5cGUuc2V0UmFuZ2UgPSBCVHJlZS5wcm90b3R5cGUuc2V0UGFpcnM7XHJcbkJUcmVlLnByb3RvdHlwZS5hZGQgPSBCVHJlZS5wcm90b3R5cGUuc2V0OyAvLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIElTZXRTaW5rPEs+XHJcbmZ1bmN0aW9uIGl0ZXJhdG9yKG5leHQpIHtcclxuICAgIGlmIChuZXh0ID09PSB2b2lkIDApIHsgbmV4dCA9IChmdW5jdGlvbiAoKSB7IHJldHVybiAoeyBkb25lOiB0cnVlLCB2YWx1ZTogdW5kZWZpbmVkIH0pOyB9KTsgfVxyXG4gICAgdmFyIHJlc3VsdCA9IHsgbmV4dDogbmV4dCB9O1xyXG4gICAgaWYgKFN5bWJvbCAmJiBTeW1ib2wuaXRlcmF0b3IpXHJcbiAgICAgICAgcmVzdWx0W1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG4vKiogTGVhZiBub2RlIC8gYmFzZSBjbGFzcy4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbnZhciBCTm9kZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcclxuICAgIGZ1bmN0aW9uIEJOb2RlKGtleXMsIHZhbHVlcykge1xyXG4gICAgICAgIGlmIChrZXlzID09PSB2b2lkIDApIHsga2V5cyA9IFtdOyB9XHJcbiAgICAgICAgdGhpcy5rZXlzID0ga2V5cztcclxuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcyB8fCB1bmRlZlZhbHM7XHJcbiAgICAgICAgdGhpcy5pc1NoYXJlZCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCTm9kZS5wcm90b3R5cGUsIFwiaXNMZWFmXCIsIHtcclxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuY2hpbGRyZW4gPT09IHVuZGVmaW5lZDsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBTaGFyZWQgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5tYXhLZXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5c1t0aGlzLmtleXMubGVuZ3RoIC0gMV07XHJcbiAgICB9O1xyXG4gICAgLy8gSWYga2V5IG5vdCBmb3VuZCwgcmV0dXJucyBpXmZhaWxYb3Igd2hlcmUgaSBpcyB0aGUgaW5zZXJ0aW9uIGluZGV4LlxyXG4gICAgLy8gQ2FsbGVycyB0aGF0IGRvbid0IGNhcmUgd2hldGhlciB0aGVyZSB3YXMgYSBtYXRjaCB3aWxsIHNldCBmYWlsWG9yPTAuXHJcbiAgICBCTm9kZS5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIChrZXksIGZhaWxYb3IsIGNtcCkge1xyXG4gICAgICAgIHZhciBrZXlzID0gdGhpcy5rZXlzO1xyXG4gICAgICAgIHZhciBsbyA9IDAsIGhpID0ga2V5cy5sZW5ndGgsIG1pZCA9IGhpID4+IDE7XHJcbiAgICAgICAgd2hpbGUgKGxvIDwgaGkpIHtcclxuICAgICAgICAgICAgdmFyIGMgPSBjbXAoa2V5c1ttaWRdLCBrZXkpO1xyXG4gICAgICAgICAgICBpZiAoYyA8IDApXHJcbiAgICAgICAgICAgICAgICBsbyA9IG1pZCArIDE7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGMgPiAwKSAvLyBrZXkgPCBrZXlzW21pZF1cclxuICAgICAgICAgICAgICAgIGhpID0gbWlkO1xyXG4gICAgICAgICAgICBlbHNlIGlmIChjID09PSAwKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1pZDtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjIGlzIE5hTiBvciBvdGhlcndpc2UgaW52YWxpZFxyXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0ga2V5KSAvLyBhdCBsZWFzdCB0aGUgc2VhcmNoIGtleSBpcyBub3QgTmFOXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWlkID0gKGxvICsgaGkpID4+IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtaWQgXiBmYWlsWG9yO1xyXG4gICAgICAgIC8vIFVucm9sbGVkIHZlcnNpb246IGJlbmNobWFya3Mgc2hvdyBzYW1lIHNwZWVkLCBub3Qgd29ydGggdXNpbmdcclxuICAgICAgICAvKnZhciBpID0gMSwgYzogbnVtYmVyID0gMCwgc3VtID0gMDtcclxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPj0gNCkge1xyXG4gICAgICAgICAgaSA9IDM7XHJcbiAgICAgICAgICBpZiAoa2V5cy5sZW5ndGggPj0gOCkge1xyXG4gICAgICAgICAgICBpID0gNztcclxuICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID49IDE2KSB7XHJcbiAgICAgICAgICAgICAgaSA9IDE1O1xyXG4gICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+PSAzMikge1xyXG4gICAgICAgICAgICAgICAgaSA9IDMxO1xyXG4gICAgICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID49IDY0KSB7XHJcbiAgICAgICAgICAgICAgICAgIGkgPSAxMjc7XHJcbiAgICAgICAgICAgICAgICAgIGkgKz0gKGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDEpIDwgMCA/IDY0IDogLTY0O1xyXG4gICAgICAgICAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMzIgOiAtMzI7XHJcbiAgICAgICAgICAgICAgICAgIHN1bSArPSBjO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMTYgOiAtMTY7XHJcbiAgICAgICAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gOCA6IC04O1xyXG4gICAgICAgICAgICAgIHN1bSArPSBjO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGkgKz0gKGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDEpIDwgMCA/IDQgOiAtNDtcclxuICAgICAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpICs9IChjID0gaSA8IGtleXMubGVuZ3RoID8gY21wKGtleXNbaV0sIGtleSkgOiAxKSA8IDAgPyAyIDogLTI7XHJcbiAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICB9XHJcbiAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMSA6IC0xO1xyXG4gICAgICAgIGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDE7XHJcbiAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgaWYgKGMgPCAwKSB7XHJcbiAgICAgICAgICArK2k7XHJcbiAgICAgICAgICBjID0gaSA8IGtleXMubGVuZ3RoID8gY21wKGtleXNbaV0sIGtleSkgOiAxO1xyXG4gICAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzdW0gIT09IHN1bSkge1xyXG4gICAgICAgICAgaWYgKGtleSA9PT0ga2V5KSAvLyBhdCBsZWFzdCB0aGUgc2VhcmNoIGtleSBpcyBub3QgTmFOXHJcbiAgICAgICAgICAgIHJldHVybiBrZXlzLmxlbmd0aCBeIGZhaWxYb3I7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjID09PSAwID8gaSA6IGkgXiBmYWlsWG9yOyovXHJcbiAgICB9O1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIExlYWYgTm9kZTogbWlzYyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWluS2V5ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmtleXNbMF07XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLm1pblBhaXIgPSBmdW5jdGlvbiAocmV1c2VkQXJyYXkpIHtcclxuICAgICAgICBpZiAodGhpcy5rZXlzLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1swXTtcclxuICAgICAgICByZXVzZWRBcnJheVsxXSA9IHRoaXMudmFsdWVzWzBdO1xyXG4gICAgICAgIHJldHVybiByZXVzZWRBcnJheTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWF4UGFpciA9IGZ1bmN0aW9uIChyZXVzZWRBcnJheSkge1xyXG4gICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoID09PSAwKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIHZhciBsYXN0SW5kZXggPSB0aGlzLmtleXMubGVuZ3RoIC0gMTtcclxuICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1tsYXN0SW5kZXhdO1xyXG4gICAgICAgIHJldXNlZEFycmF5WzFdID0gdGhpcy52YWx1ZXNbbGFzdEluZGV4XTtcclxuICAgICAgICByZXR1cm4gcmV1c2VkQXJyYXk7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciB2ID0gdGhpcy52YWx1ZXM7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCTm9kZSh0aGlzLmtleXMuc2xpY2UoMCksIHYgPT09IHVuZGVmVmFscyA/IHYgOiB2LnNsaWNlKDApKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ3JlZWR5Q2xvbmUgPSBmdW5jdGlvbiAoZm9yY2UpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1NoYXJlZCAmJiAhZm9yY2UgPyB0aGlzIDogdGhpcy5jbG9uZSgpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5LCBkZWZhdWx0VmFsdWUsIHRyZWUpIHtcclxuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXhPZihrZXksIC0xLCB0cmVlLl9jb21wYXJlKTtcclxuICAgICAgICByZXR1cm4gaSA8IDAgPyBkZWZhdWx0VmFsdWUgOiB0aGlzLnZhbHVlc1tpXTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgLTEsIGNvbXBhcmUpO1xyXG4gICAgICAgIHZhciBpbmRleE9yTG93ZXIgPSBpIDwgMCA/IH5pIC0gMSA6IChpbmNsdXNpdmUgPyBpIDogaSAtIDEpO1xyXG4gICAgICAgIGlmIChpbmRleE9yTG93ZXIgPj0gMCkge1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1tpbmRleE9yTG93ZXJdO1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVsxXSA9IHRoaXMudmFsdWVzW2luZGV4T3JMb3dlcl07XHJcbiAgICAgICAgICAgIHJldHVybiByZXVzZWRBcnJheTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlciA9IGZ1bmN0aW9uIChrZXksIGNvbXBhcmUsIGluY2x1c2l2ZSwgcmV1c2VkQXJyYXkpIHtcclxuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXhPZihrZXksIC0xLCBjb21wYXJlKTtcclxuICAgICAgICB2YXIgaW5kZXhPckxvd2VyID0gaSA8IDAgPyB+aSA6IChpbmNsdXNpdmUgPyBpIDogaSArIDEpO1xyXG4gICAgICAgIHZhciBrZXlzID0gdGhpcy5rZXlzO1xyXG4gICAgICAgIGlmIChpbmRleE9yTG93ZXIgPCBrZXlzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IGtleXNbaW5kZXhPckxvd2VyXTtcclxuICAgICAgICAgICAgcmV1c2VkQXJyYXlbMV0gPSB0aGlzLnZhbHVlc1tpbmRleE9yTG93ZXJdO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV1c2VkQXJyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoZGVwdGgsIHRyZWUsIGJhc2VJbmRleCkge1xyXG4gICAgICAgIHZhciBrTCA9IHRoaXMua2V5cy5sZW5ndGgsIHZMID0gdGhpcy52YWx1ZXMubGVuZ3RoO1xyXG4gICAgICAgIGNoZWNrKHRoaXMudmFsdWVzID09PSB1bmRlZlZhbHMgPyBrTCA8PSB2TCA6IGtMID09PSB2TCwgXCJrZXlzL3ZhbHVlcyBsZW5ndGggbWlzbWF0Y2g6IGRlcHRoXCIsIGRlcHRoLCBcIndpdGggbGVuZ3Roc1wiLCBrTCwgdkwsIFwiYW5kIGJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIC8vIE5vdGU6IHdlIGRvbid0IGNoZWNrIGZvciBcIm5vZGUgdG9vIHNtYWxsXCIgYmVjYXVzZSBzb21ldGltZXMgYSBub2RlXHJcbiAgICAgICAgLy8gY2FuIGxlZ2l0aW1hdGVseSBoYXZlIHNpemUgMS4gVGhpcyBvY2N1cnMgaWYgdGhlcmUgaXMgYSBiYXRjaCBcclxuICAgICAgICAvLyBkZWxldGlvbiwgbGVhdmluZyBhIG5vZGUgb2Ygc2l6ZSAxLCBhbmQgdGhlIHNpYmxpbmdzIGFyZSBmdWxsIHNvXHJcbiAgICAgICAgLy8gaXQgY2FuJ3QgYmUgbWVyZ2VkIHdpdGggYWRqYWNlbnQgbm9kZXMuIEhvd2V2ZXIsIHRoZSBwYXJlbnQgd2lsbFxyXG4gICAgICAgIC8vIHZlcmlmeSB0aGF0IHRoZSBhdmVyYWdlIG5vZGUgc2l6ZSBpcyBhdCBsZWFzdCBoYWxmIG9mIHRoZSBtYXhpbXVtLlxyXG4gICAgICAgIGNoZWNrKGRlcHRoID09IDAgfHwga0wgPiAwLCBcImVtcHR5IGxlYWYgYXQgZGVwdGhcIiwgZGVwdGgsIFwiYW5kIGJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiBrTDtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTGVhZiBOb2RlOiBzZXQgJiBub2RlIHNwbGl0dGluZyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSwgb3ZlcndyaXRlLCB0cmVlKSB7XHJcbiAgICAgICAgdmFyIGkgPSB0aGlzLmluZGV4T2Yoa2V5LCAtMSwgdHJlZS5fY29tcGFyZSk7XHJcbiAgICAgICAgaWYgKGkgPCAwKSB7XHJcbiAgICAgICAgICAgIC8vIGtleSBkb2VzIG5vdCBleGlzdCB5ZXRcclxuICAgICAgICAgICAgaSA9IH5pO1xyXG4gICAgICAgICAgICB0cmVlLl9zaXplKys7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoIDwgdHJlZS5fbWF4Tm9kZVNpemUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmluc2VydEluTGVhZihpLCBrZXksIHZhbHVlLCB0cmVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgbGVhZiBub2RlIGlzIGZ1bGwgYW5kIG11c3Qgc3BsaXRcclxuICAgICAgICAgICAgICAgIHZhciBuZXdSaWdodFNpYmxpbmcgPSB0aGlzLnNwbGl0T2ZmUmlnaHRTaWRlKCksIHRhcmdldCA9IHRoaXM7XHJcbiAgICAgICAgICAgICAgICBpZiAoaSA+IHRoaXMua2V5cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBpIC09IHRoaXMua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gbmV3UmlnaHRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lmluc2VydEluTGVhZihpLCBrZXksIHZhbHVlLCB0cmVlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXdSaWdodFNpYmxpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEtleSBhbHJlYWR5IGV4aXN0c1xyXG4gICAgICAgICAgICBpZiAob3ZlcndyaXRlICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWlmeVZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgLy8gdXN1YWxseSB0aGlzIGlzIGEgbm8tb3AsIGJ1dCBzb21lIHVzZXJzIG1heSB3aXNoIHRvIGVkaXQgdGhlIGtleVxyXG4gICAgICAgICAgICAgICAgdGhpcy5rZXlzW2ldID0ga2V5O1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5yZWlmeVZhbHVlcyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMgPT09IHVuZGVmVmFscylcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzO1xyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5pbnNlcnRJbkxlYWYgPSBmdW5jdGlvbiAoaSwga2V5LCB2YWx1ZSwgdHJlZSkge1xyXG4gICAgICAgIHRoaXMua2V5cy5zcGxpY2UoaSwgMCwga2V5KTtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMgPT09IHVuZGVmVmFscykge1xyXG4gICAgICAgICAgICB3aGlsZSAodW5kZWZWYWxzLmxlbmd0aCA8IHRyZWUuX21heE5vZGVTaXplKVxyXG4gICAgICAgICAgICAgICAgdW5kZWZWYWxzLnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB1bmRlZlZhbHMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCAtIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVzLnNwbGljZShpLCAwLCB2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLnRha2VGcm9tUmlnaHQgPSBmdW5jdGlvbiAocmhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdmFyIHYgPSB0aGlzLnZhbHVlcztcclxuICAgICAgICBpZiAocmhzLnZhbHVlcyA9PT0gdW5kZWZWYWxzKSB7XHJcbiAgICAgICAgICAgIGlmICh2ICE9PSB1bmRlZlZhbHMpXHJcbiAgICAgICAgICAgICAgICB2LnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHYgPSB0aGlzLnJlaWZ5VmFsdWVzKCk7XHJcbiAgICAgICAgICAgIHYucHVzaChyaHMudmFsdWVzLnNoaWZ0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmtleXMucHVzaChyaHMua2V5cy5zaGlmdCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUudGFrZUZyb21MZWZ0ID0gZnVuY3Rpb24gKGxocykge1xyXG4gICAgICAgIC8vIFJlbWluZGVyOiBwYXJlbnQgbm9kZSBtdXN0IHVwZGF0ZSBpdHMgY29weSBvZiBrZXkgZm9yIHRoaXMgbm9kZVxyXG4gICAgICAgIC8vIGFzc2VydDogbmVpdGhlciBub2RlIGlzIHNoYXJlZFxyXG4gICAgICAgIC8vIGFzc2VydCByaHMua2V5cy5sZW5ndGggPiAobWF4Tm9kZVNpemUvMiAmJiB0aGlzLmtleXMubGVuZ3RoPG1heE5vZGVTaXplKVxyXG4gICAgICAgIHZhciB2ID0gdGhpcy52YWx1ZXM7XHJcbiAgICAgICAgaWYgKGxocy52YWx1ZXMgPT09IHVuZGVmVmFscykge1xyXG4gICAgICAgICAgICBpZiAodiAhPT0gdW5kZWZWYWxzKVxyXG4gICAgICAgICAgICAgICAgdi51bnNoaWZ0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB2ID0gdGhpcy5yZWlmeVZhbHVlcygpO1xyXG4gICAgICAgICAgICB2LnVuc2hpZnQobGhzLnZhbHVlcy5wb3AoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMua2V5cy51bnNoaWZ0KGxocy5rZXlzLnBvcCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgdmFyIGhhbGYgPSB0aGlzLmtleXMubGVuZ3RoID4+IDEsIGtleXMgPSB0aGlzLmtleXMuc3BsaWNlKGhhbGYpO1xyXG4gICAgICAgIHZhciB2YWx1ZXMgPSB0aGlzLnZhbHVlcyA9PT0gdW5kZWZWYWxzID8gdW5kZWZWYWxzIDogdGhpcy52YWx1ZXMuc3BsaWNlKGhhbGYpO1xyXG4gICAgICAgIHJldHVybiBuZXcgQk5vZGUoa2V5cywgdmFsdWVzKTtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTGVhZiBOb2RlOiBzY2FubmluZyAmIGRlbGV0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5mb3JSYW5nZSA9IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBlZGl0TW9kZSwgdHJlZSwgY291bnQsIG9uRm91bmQpIHtcclxuICAgICAgICB2YXIgY21wID0gdHJlZS5fY29tcGFyZTtcclxuICAgICAgICB2YXIgaUxvdywgaUhpZ2g7XHJcbiAgICAgICAgaWYgKGhpZ2ggPT09IGxvdykge1xyXG4gICAgICAgICAgICBpZiAoIWluY2x1ZGVIaWdoKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgICAgICAgICBpSGlnaCA9IChpTG93ID0gdGhpcy5pbmRleE9mKGxvdywgLTEsIGNtcCkpICsgMTtcclxuICAgICAgICAgICAgaWYgKGlMb3cgPCAwKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaUxvdyA9IHRoaXMuaW5kZXhPZihsb3csIDAsIGNtcCk7XHJcbiAgICAgICAgICAgIGlIaWdoID0gdGhpcy5pbmRleE9mKGhpZ2gsIC0xLCBjbXApO1xyXG4gICAgICAgICAgICBpZiAoaUhpZ2ggPCAwKVxyXG4gICAgICAgICAgICAgICAgaUhpZ2ggPSB+aUhpZ2g7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGluY2x1ZGVIaWdoID09PSB0cnVlKVxyXG4gICAgICAgICAgICAgICAgaUhpZ2grKztcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXMsIHZhbHVlcyA9IHRoaXMudmFsdWVzO1xyXG4gICAgICAgIGlmIChvbkZvdW5kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IGlMb3c7IGkgPCBpSGlnaDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvbkZvdW5kKGtleSwgdmFsdWVzW2ldLCBjb3VudCsrKTtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlZGl0TW9kZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBrZXlzW2ldIHx8IHRoaXMuaXNTaGFyZWQgPT09IHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJCVHJlZSBpbGxlZ2FsbHkgY2hhbmdlZCBvciBjbG9uZWQgaW4gZWRpdFJhbmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmRlbGV0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlcyAhPT0gdW5kZWZWYWxzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWUuX3NpemUtLTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGktLTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlIaWdoLS07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzdWx0Lmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXNbaV0gPSByZXN1bHQudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5icmVhayAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgY291bnQgKz0gaUhpZ2ggLSBpTG93O1xyXG4gICAgICAgIHJldHVybiBjb3VudDtcclxuICAgIH07XHJcbiAgICAvKiogQWRkcyBlbnRpcmUgY29udGVudHMgb2YgcmlnaHQtaGFuZCBzaWJsaW5nIChyaHMgaXMgbGVmdCB1bmNoYW5nZWQpICovXHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWVyZ2VTaWJsaW5nID0gZnVuY3Rpb24gKHJocywgXykge1xyXG4gICAgICAgIHRoaXMua2V5cy5wdXNoLmFwcGx5KHRoaXMua2V5cywgcmhzLmtleXMpO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlcyA9PT0gdW5kZWZWYWxzKSB7XHJcbiAgICAgICAgICAgIGlmIChyaHMudmFsdWVzID09PSB1bmRlZlZhbHMpXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVzLnB1c2guYXBwbHkodGhpcy52YWx1ZXMsIHJocy5yZWlmeVZhbHVlcygpKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gQk5vZGU7XHJcbn0oKSk7XHJcbi8qKiBJbnRlcm5hbCBub2RlIChub24tbGVhZiBub2RlKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxudmFyIEJOb2RlSW50ZXJuYWwgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XHJcbiAgICBfX2V4dGVuZHMoQk5vZGVJbnRlcm5hbCwgX3N1cGVyKTtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkb2VzIG5vdCBtYXJrIGBjaGlsZHJlbmAgYXMgc2hhcmVkLCBzbyBpdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlclxyXG4gICAgICogdG8gZW5zdXJlIGNoaWxkcmVuIGFyZSBlaXRoZXIgbWFya2VkIHNoYXJlZCwgb3IgYXJlbid0IGluY2x1ZGVkIGluIGFub3RoZXIgdHJlZS5cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gQk5vZGVJbnRlcm5hbChjaGlsZHJlbiwga2V5cykge1xyXG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgaWYgKCFrZXlzKSB7XHJcbiAgICAgICAgICAgIGtleXMgPSBbXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgICAgIGtleXNbaV0gPSBjaGlsZHJlbltpXS5tYXhLZXkoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBrZXlzKSB8fCB0aGlzO1xyXG4gICAgICAgIF90aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XHJcbiAgICAgICAgcmV0dXJuIF90aGlzO1xyXG4gICAgfVxyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5zbGljZSgwKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICBjaGlsZHJlbltpXS5pc1NoYXJlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCTm9kZUludGVybmFsKGNoaWxkcmVuLCB0aGlzLmtleXMuc2xpY2UoMCkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmdyZWVkeUNsb25lID0gZnVuY3Rpb24gKGZvcmNlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTaGFyZWQgJiYgIWZvcmNlKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICB2YXIgbnUgPSBuZXcgQk5vZGVJbnRlcm5hbCh0aGlzLmNoaWxkcmVuLnNsaWNlKDApLCB0aGlzLmtleXMuc2xpY2UoMCkpO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnUuY2hpbGRyZW4ubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIG51LmNoaWxkcmVuW2ldID0gbnUuY2hpbGRyZW5baV0uZ3JlZWR5Q2xvbmUoZm9yY2UpO1xyXG4gICAgICAgIHJldHVybiBudTtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5taW5LZXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5bMF0ubWluS2V5KCk7XHJcbiAgICB9O1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUubWluUGFpciA9IGZ1bmN0aW9uIChyZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuWzBdLm1pblBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLm1heFBhaXIgPSBmdW5jdGlvbiAocmV1c2VkQXJyYXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aCAtIDFdLm1heFBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlZSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgdHJlZS5fY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICByZXR1cm4gaSA8IGNoaWxkcmVuLmxlbmd0aCA/IGNoaWxkcmVuW2ldLmdldChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlZSkgOiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICBpZiAoaSA+PSBjaGlsZHJlbi5sZW5ndGgpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heFBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBjaGlsZHJlbltpXS5nZXRQYWlyT3JOZXh0TG93ZXIoa2V5LCBjb21wYXJlLCBpbmNsdXNpdmUsIHJldXNlZEFycmF5KTtcclxuICAgICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQgJiYgaSA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuW2kgLSAxXS5tYXhQYWlyKHJldXNlZEFycmF5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0SGlnaGVyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbiwgbGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoO1xyXG4gICAgICAgIGlmIChpID49IGxlbmd0aClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gY2hpbGRyZW5baV0uZ2V0UGFpck9yTmV4dEhpZ2hlcihrZXksIGNvbXBhcmUsIGluY2x1c2l2ZSwgcmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCAmJiBpIDwgbGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5baSArIDFdLm1pblBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoZGVwdGgsIHRyZWUsIGJhc2VJbmRleCkge1xyXG4gICAgICAgIHZhciBrTCA9IHRoaXMua2V5cy5sZW5ndGgsIGNMID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XHJcbiAgICAgICAgY2hlY2soa0wgPT09IGNMLCBcImtleXMvY2hpbGRyZW4gbGVuZ3RoIG1pc21hdGNoOiBkZXB0aFwiLCBkZXB0aCwgXCJsZW5ndGhzXCIsIGtMLCBjTCwgXCJiYXNlSW5kZXhcIiwgYmFzZUluZGV4KTtcclxuICAgICAgICBjaGVjayhrTCA+IDEgfHwgZGVwdGggPiAwLCBcImludGVybmFsIG5vZGUgaGFzIGxlbmd0aFwiLCBrTCwgXCJhdCBkZXB0aFwiLCBkZXB0aCwgXCJiYXNlSW5kZXhcIiwgYmFzZUluZGV4KTtcclxuICAgICAgICB2YXIgc2l6ZSA9IDAsIGMgPSB0aGlzLmNoaWxkcmVuLCBrID0gdGhpcy5rZXlzLCBjaGlsZFNpemUgPSAwO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY0w7IGkrKykge1xyXG4gICAgICAgICAgICBzaXplICs9IGNbaV0uY2hlY2tWYWxpZChkZXB0aCArIDEsIHRyZWUsIGJhc2VJbmRleCArIHNpemUpO1xyXG4gICAgICAgICAgICBjaGlsZFNpemUgKz0gY1tpXS5rZXlzLmxlbmd0aDtcclxuICAgICAgICAgICAgY2hlY2soc2l6ZSA+PSBjaGlsZFNpemUsIFwid3RmXCIsIGJhc2VJbmRleCk7IC8vIG5vIHdheSB0aGlzIHdpbGwgZXZlciBmYWlsXHJcbiAgICAgICAgICAgIGNoZWNrKGkgPT09IDAgfHwgY1tpIC0gMV0uY29uc3RydWN0b3IgPT09IGNbaV0uY29uc3RydWN0b3IsIFwidHlwZSBtaXNtYXRjaCwgYmFzZUluZGV4OlwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoY1tpXS5tYXhLZXkoKSAhPSBrW2ldKVxyXG4gICAgICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwia2V5c1tcIiwgaSwgXCJdID1cIiwga1tpXSwgXCJpcyB3cm9uZywgc2hvdWxkIGJlIFwiLCBjW2ldLm1heEtleSgpLCBcImF0IGRlcHRoXCIsIGRlcHRoLCBcImJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoIShpID09PSAwIHx8IHRyZWUuX2NvbXBhcmUoa1tpIC0gMV0sIGtbaV0pIDwgMCkpXHJcbiAgICAgICAgICAgICAgICBjaGVjayhmYWxzZSwgXCJzb3J0IHZpb2xhdGlvbiBhdCBkZXB0aFwiLCBkZXB0aCwgXCJpbmRleFwiLCBpLCBcImtleXNcIiwga1tpIC0gMV0sIGtbaV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAyMDIwLzA4OiBCVHJlZSBkb2Vzbid0IGFsd2F5cyBhdm9pZCBncm9zc2x5IHVuZGVyc2l6ZWQgbm9kZXMsXHJcbiAgICAgICAgLy8gYnV0IEFGQUlLIHN1Y2ggbm9kZXMgYXJlIHByZXR0eSBoYXJtbGVzcywgc28gYWNjZXB0IHRoZW0uXHJcbiAgICAgICAgdmFyIHRvb2ZldyA9IGNoaWxkU2l6ZSA9PT0gMDsgLy8gY2hpbGRTaXplIDwgKHRyZWUubWF4Tm9kZVNpemUgPj4gMSkqY0w7XHJcbiAgICAgICAgaWYgKHRvb2ZldyB8fCBjaGlsZFNpemUgPiB0cmVlLm1heE5vZGVTaXplICogY0wpXHJcbiAgICAgICAgICAgIGNoZWNrKGZhbHNlLCB0b29mZXcgPyBcInRvbyBmZXdcIiA6IFwidG9vIG1hbnlcIiwgXCJjaGlsZHJlbiAoXCIsIGNoaWxkU2l6ZSwgc2l6ZSwgXCIpIGF0IGRlcHRoXCIsIGRlcHRoLCBcIm1heE5vZGVTaXplOlwiLCB0cmVlLm1heE5vZGVTaXplLCBcImNoaWxkcmVuLmxlbmd0aDpcIiwgY0wsIFwiYmFzZUluZGV4OlwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiBzaXplO1xyXG4gICAgfTtcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBJbnRlcm5hbCBOb2RlOiBzZXQgJiBub2RlIHNwbGl0dGluZyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUsIG92ZXJ3cml0ZSwgdHJlZSkge1xyXG4gICAgICAgIHZhciBjID0gdGhpcy5jaGlsZHJlbiwgbWF4ID0gdHJlZS5fbWF4Tm9kZVNpemUsIGNtcCA9IHRyZWUuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIGkgPSBNYXRoLm1pbih0aGlzLmluZGV4T2Yoa2V5LCAwLCBjbXApLCBjLmxlbmd0aCAtIDEpLCBjaGlsZCA9IGNbaV07XHJcbiAgICAgICAgaWYgKGNoaWxkLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICBjW2ldID0gY2hpbGQgPSBjaGlsZC5jbG9uZSgpO1xyXG4gICAgICAgIGlmIChjaGlsZC5rZXlzLmxlbmd0aCA+PSBtYXgpIHtcclxuICAgICAgICAgICAgLy8gY2hpbGQgaXMgZnVsbDsgaW5zZXJ0aW5nIGFueXRoaW5nIGVsc2Ugd2lsbCBjYXVzZSBhIHNwbGl0LlxyXG4gICAgICAgICAgICAvLyBTaGlmdGluZyBhbiBpdGVtIHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpYmxpbmcgbWF5IGF2b2lkIGEgc3BsaXQuXHJcbiAgICAgICAgICAgIC8vIFdlIGNhbiBkbyBhIHNoaWZ0IGlmIHRoZSBhZGphY2VudCBub2RlIGlzIG5vdCBmdWxsIGFuZCBpZiB0aGVcclxuICAgICAgICAgICAgLy8gY3VycmVudCBrZXkgY2FuIHN0aWxsIGJlIHBsYWNlZCBpbiB0aGUgc2FtZSBub2RlIGFmdGVyIHRoZSBzaGlmdC5cclxuICAgICAgICAgICAgdmFyIG90aGVyO1xyXG4gICAgICAgICAgICBpZiAoaSA+IDAgJiYgKG90aGVyID0gY1tpIC0gMV0pLmtleXMubGVuZ3RoIDwgbWF4ICYmIGNtcChjaGlsZC5rZXlzWzBdLCBrZXkpIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG90aGVyLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNbaSAtIDFdID0gb3RoZXIgPSBvdGhlci5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgb3RoZXIudGFrZUZyb21SaWdodChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmtleXNbaSAtIDFdID0gb3RoZXIubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoKG90aGVyID0gY1tpICsgMV0pICE9PSB1bmRlZmluZWQgJiYgb3RoZXIua2V5cy5sZW5ndGggPCBtYXggJiYgY21wKGNoaWxkLm1heEtleSgpLCBrZXkpIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG90aGVyLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNbaSArIDFdID0gb3RoZXIgPSBvdGhlci5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgb3RoZXIudGFrZUZyb21MZWZ0KGNoaWxkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMua2V5c1tpXSA9IGNbaV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNoaWxkLnNldChrZXksIHZhbHVlLCBvdmVyd3JpdGUsIHRyZWUpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5rZXlzW2ldID0gY2hpbGQubWF4S2V5KCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gVGhlIGNoaWxkIGhhcyBzcGxpdCBhbmQgYHJlc3VsdGAgaXMgYSBuZXcgcmlnaHQgY2hpbGQuLi4gZG9lcyBpdCBmaXQ/XHJcbiAgICAgICAgaWYgKHRoaXMua2V5cy5sZW5ndGggPCBtYXgpIHsgLy8geWVzXHJcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0KGkgKyAxLCByZXN1bHQpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7IC8vIG5vLCB3ZSBtdXN0IHNwbGl0IGFsc29cclxuICAgICAgICAgICAgdmFyIG5ld1JpZ2h0U2libGluZyA9IHRoaXMuc3BsaXRPZmZSaWdodFNpZGUoKSwgdGFyZ2V0ID0gdGhpcztcclxuICAgICAgICAgICAgaWYgKGNtcChyZXN1bHQubWF4S2V5KCksIHRoaXMubWF4S2V5KCkpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0ID0gbmV3UmlnaHRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgaSAtPSB0aGlzLmtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRhcmdldC5pbnNlcnQoaSArIDEsIHJlc3VsdCk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXdSaWdodFNpYmxpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogSW5zZXJ0cyBgY2hpbGRgIGF0IGluZGV4IGBpYC5cclxuICAgICAqIFRoaXMgZG9lcyBub3QgbWFyayBgY2hpbGRgIGFzIHNoYXJlZCwgc28gaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXJcclxuICAgICAqIHRvIGVuc3VyZSB0aGF0IGVpdGhlciBjaGlsZCBpcyBtYXJrZWQgc2hhcmVkLCBvciBpdCBpcyBub3QgaW5jbHVkZWQgaW4gYW5vdGhlciB0cmVlLlxyXG4gICAgICovXHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5pbnNlcnQgPSBmdW5jdGlvbiAoaSwgY2hpbGQpIHtcclxuICAgICAgICB0aGlzLmNoaWxkcmVuLnNwbGljZShpLCAwLCBjaGlsZCk7XHJcbiAgICAgICAgdGhpcy5rZXlzLnNwbGljZShpLCAwLCBjaGlsZC5tYXhLZXkoKSk7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTcGxpdCB0aGlzIG5vZGUuXHJcbiAgICAgKiBNb2RpZmllcyB0aGlzIHRvIHJlbW92ZSB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIGl0ZW1zLCByZXR1cm5pbmcgYSBzZXBhcmF0ZSBub2RlIGNvbnRhaW5pbmcgdGhlbS5cclxuICAgICAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gYXNzZXJ0ICF0aGlzLmlzU2hhcmVkO1xyXG4gICAgICAgIHZhciBoYWxmID0gdGhpcy5jaGlsZHJlbi5sZW5ndGggPj4gMTtcclxuICAgICAgICByZXR1cm4gbmV3IEJOb2RlSW50ZXJuYWwodGhpcy5jaGlsZHJlbi5zcGxpY2UoaGFsZiksIHRoaXMua2V5cy5zcGxpY2UoaGFsZikpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLnRha2VGcm9tUmlnaHQgPSBmdW5jdGlvbiAocmhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdGhpcy5rZXlzLnB1c2gocmhzLmtleXMuc2hpZnQoKSk7XHJcbiAgICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKHJocy5jaGlsZHJlbi5zaGlmdCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS50YWtlRnJvbUxlZnQgPSBmdW5jdGlvbiAobGhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdGhpcy5rZXlzLnVuc2hpZnQobGhzLmtleXMucG9wKCkpO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4udW5zaGlmdChsaHMuY2hpbGRyZW4ucG9wKCkpO1xyXG4gICAgfTtcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBJbnRlcm5hbCBOb2RlOiBzY2FubmluZyAmIGRlbGV0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTm90ZTogYGNvdW50YCBpcyB0aGUgbmV4dCB2YWx1ZSBvZiB0aGUgdGhpcmQgYXJndW1lbnQgdG8gYG9uRm91bmRgLiBcclxuICAgIC8vICAgICAgIEEgbGVhZiBub2RlJ3MgYGZvclJhbmdlYCBmdW5jdGlvbiByZXR1cm5zIGEgbmV3IHZhbHVlIGZvciB0aGlzIGNvdW50ZXIsXHJcbiAgICAvLyAgICAgICB1bmxlc3MgdGhlIG9wZXJhdGlvbiBpcyB0byBzdG9wIGVhcmx5LlxyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuZm9yUmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgZWRpdE1vZGUsIHRyZWUsIGNvdW50LCBvbkZvdW5kKSB7XHJcbiAgICAgICAgdmFyIGNtcCA9IHRyZWUuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXMsIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICB2YXIgaUxvdyA9IHRoaXMuaW5kZXhPZihsb3csIDAsIGNtcCksIGkgPSBpTG93O1xyXG4gICAgICAgIHZhciBpSGlnaCA9IE1hdGgubWluKGhpZ2ggPT09IGxvdyA/IGlMb3cgOiB0aGlzLmluZGV4T2YoaGlnaCwgMCwgY21wKSwga2V5cy5sZW5ndGggLSAxKTtcclxuICAgICAgICBpZiAoIWVkaXRNb2RlKSB7XHJcbiAgICAgICAgICAgIC8vIFNpbXBsZSBjYXNlXHJcbiAgICAgICAgICAgIGZvciAoOyBpIDw9IGlIaWdoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBjaGlsZHJlbltpXS5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBlZGl0TW9kZSwgdHJlZSwgY291bnQsIG9uRm91bmQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICBjb3VudCA9IHJlc3VsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpIDw9IGlIaWdoKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKDsgaSA8PSBpSGlnaDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ldLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltpXSA9IGNoaWxkcmVuW2ldLmNsb25lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGNoaWxkcmVuW2ldLmZvclJhbmdlKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIGVkaXRNb2RlLCB0cmVlLCBjb3VudCwgb25Gb3VuZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTm90ZTogaWYgY2hpbGRyZW5baV0gaXMgZW1wdHkgdGhlbiBrZXlzW2ldPXVuZGVmaW5lZC5cclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICBUaGlzIGlzIGFuIGludmFsaWQgc3RhdGUsIGJ1dCBpdCBpcyBmaXhlZCBiZWxvdy5cclxuICAgICAgICAgICAgICAgICAgICBrZXlzW2ldID0gY2hpbGRyZW5baV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvdW50ID0gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICAgICAgLy8gRGVsZXRpb25zIG1heSBoYXZlIG9jY3VycmVkLCBzbyBsb29rIGZvciBvcHBvcnR1bml0aWVzIHRvIG1lcmdlIG5vZGVzLlxyXG4gICAgICAgICAgICAgICAgdmFyIGhhbGYgPSB0cmVlLl9tYXhOb2RlU2l6ZSA+PiAxO1xyXG4gICAgICAgICAgICAgICAgaWYgKGlMb3cgPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgIGlMb3ctLTtcclxuICAgICAgICAgICAgICAgIGZvciAoaSA9IGlIaWdoOyBpID49IGlMb3c7IGktLSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltpXS5rZXlzLmxlbmd0aCA8PSBoYWxmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltpXS5rZXlzLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlNZXJnZShpLCB0cmVlLl9tYXhOb2RlU2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IC8vIGNoaWxkIGlzIGVtcHR5ISBkZWxldGUgaXQhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggIT09IDAgJiYgY2hpbGRyZW5bMF0ua2V5cy5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwiZW1wdGluZXNzIGJ1Z1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIE1lcmdlcyBjaGlsZCBpIHdpdGggY2hpbGQgaSsxIGlmIHRoZWlyIGNvbWJpbmVkIHNpemUgaXMgbm90IHRvbyBsYXJnZSAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUudHJ5TWVyZ2UgPSBmdW5jdGlvbiAoaSwgbWF4U2l6ZSkge1xyXG4gICAgICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW47XHJcbiAgICAgICAgaWYgKGkgPj0gMCAmJiBpICsgMSA8IGNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGRyZW5baV0ua2V5cy5sZW5ndGggKyBjaGlsZHJlbltpICsgMV0ua2V5cy5sZW5ndGggPD0gbWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ldLmlzU2hhcmVkKSAvLyBjbG9uZWQgYWxyZWFkeSBVTkxFU1MgaSBpcyBvdXRzaWRlIHNjYW4gcmFuZ2VcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltpXSA9IGNoaWxkcmVuW2ldLmNsb25lKCk7XHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbltpXS5tZXJnZVNpYmxpbmcoY2hpbGRyZW5baSArIDFdLCBtYXhTaXplKTtcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnNwbGljZShpICsgMSwgMSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmtleXMuc3BsaWNlKGkgKyAxLCAxKTtcclxuICAgICAgICAgICAgICAgIHRoaXMua2V5c1tpXSA9IGNoaWxkcmVuW2ldLm1heEtleSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogTW92ZSBjaGlsZHJlbiBmcm9tIGByaHNgIGludG8gdGhpcy5cclxuICAgICAqIGByaHNgIG11c3QgYmUgcGFydCBvZiB0aGlzIHRyZWUsIGFuZCBiZSByZW1vdmVkIGZyb20gaXQgYWZ0ZXIgdGhpcyBjYWxsXHJcbiAgICAgKiAob3RoZXJ3aXNlIGlzU2hhcmVkIGZvciBpdHMgY2hpbGRyZW4gY291bGQgYmUgaW5jb3JyZWN0KS5cclxuICAgICAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUubWVyZ2VTaWJsaW5nID0gZnVuY3Rpb24gKHJocywgbWF4Tm9kZVNpemUpIHtcclxuICAgICAgICAvLyBhc3NlcnQgIXRoaXMuaXNTaGFyZWQ7XHJcbiAgICAgICAgdmFyIG9sZExlbmd0aCA9IHRoaXMua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5rZXlzLnB1c2guYXBwbHkodGhpcy5rZXlzLCByaHMua2V5cyk7XHJcbiAgICAgICAgdmFyIHJoc0NoaWxkcmVuID0gcmhzLmNoaWxkcmVuO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaC5hcHBseSh0aGlzLmNoaWxkcmVuLCByaHNDaGlsZHJlbik7XHJcbiAgICAgICAgaWYgKHJocy5pc1NoYXJlZCAmJiAhdGhpcy5pc1NoYXJlZCkge1xyXG4gICAgICAgICAgICAvLyBBbGwgY2hpbGRyZW4gb2YgYSBzaGFyZWQgbm9kZSBhcmUgaW1wbGljaXRseSBzaGFyZWQsIGFuZCBzaW5jZSB0aGVpciBuZXdcclxuICAgICAgICAgICAgLy8gcGFyZW50IGlzIG5vdCBzaGFyZWQsIHRoZXkgbXVzdCBub3cgYmUgZXhwbGljaXRseSBtYXJrZWQgYXMgc2hhcmVkLlxyXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJoc0NoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICAgICAgcmhzQ2hpbGRyZW5baV0uaXNTaGFyZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBvdXIgY2hpbGRyZW4gYXJlIHRoZW1zZWx2ZXMgYWxtb3N0IGVtcHR5IGR1ZSB0byBhIG1hc3MtZGVsZXRlLFxyXG4gICAgICAgIC8vIHRoZXkgbWF5IG5lZWQgdG8gYmUgbWVyZ2VkIHRvbyAoYnV0IG9ubHkgdGhlIG9sZExlbmd0aC0xIGFuZCBpdHNcclxuICAgICAgICAvLyByaWdodCBzaWJsaW5nIHNob3VsZCBuZWVkIHRoaXMpLlxyXG4gICAgICAgIHRoaXMudHJ5TWVyZ2Uob2xkTGVuZ3RoIC0gMSwgbWF4Tm9kZVNpemUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBCTm9kZUludGVybmFsO1xyXG59KEJOb2RlKSk7XHJcbi8vIE9wdGltaXphdGlvbjogdGhpcyBhcnJheSBvZiBgdW5kZWZpbmVkYHMgaXMgdXNlZCBpbnN0ZWFkIG9mIGEgbm9ybWFsXHJcbi8vIGFycmF5IG9mIHZhbHVlcyBpbiBub2RlcyB3aGVyZSBgdW5kZWZpbmVkYCBpcyB0aGUgb25seSB2YWx1ZS5cclxuLy8gSXRzIGxlbmd0aCBpcyBleHRlbmRlZCB0byBtYXggbm9kZSBzaXplIG9uIGZpcnN0IHVzZTsgc2luY2UgaXQgY2FuXHJcbi8vIGJlIHNoYXJlZCBiZXR3ZWVuIHRyZWVzIHdpdGggZGlmZmVyZW50IG1heGltdW1zLCBpdHMgbGVuZ3RoIGNhbiBvbmx5XHJcbi8vIGluY3JlYXNlLCBuZXZlciBkZWNyZWFzZS4gSXRzIHR5cGUgc2hvdWxkIGJlIHVuZGVmaW5lZFtdIGJ1dCBzdHJhbmdlbHlcclxuLy8gVHlwZVNjcmlwdCB3b24ndCBhbGxvdyB0aGUgY29tcGFyaXNvbiBWW10gPT09IHVuZGVmaW5lZFtdLiBUbyBwcmV2ZW50XHJcbi8vIHVzZXJzIGZyb20gbWFraW5nIHRoaXMgYXJyYXkgdG9vIGxhcmdlLCBCVHJlZSBoYXMgYSBtYXhpbXVtIG5vZGUgc2l6ZS5cclxuLy9cclxuLy8gRkFROiB1bmRlZlZhbHNbaV0gaXMgYWxyZWFkeSB1bmRlZmluZWQsIHNvIHdoeSBpbmNyZWFzZSB0aGUgYXJyYXkgc2l6ZT9cclxuLy8gUmVhZGluZyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgYW4gYXJyYXkgaXMgcmVsYXRpdmVseSBzbG93IGJlY2F1c2UgaXRcclxuLy8gaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBzY2FubmluZyB0aGUgcHJvdG90eXBlIGNoYWluLlxyXG52YXIgdW5kZWZWYWxzID0gW107XHJcbnZhciBEZWxldGUgPSB7IGRlbGV0ZTogdHJ1ZSB9LCBEZWxldGVSYW5nZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIERlbGV0ZTsgfTtcclxudmFyIEJyZWFrID0geyBicmVhazogdHJ1ZSB9O1xyXG52YXIgRW1wdHlMZWFmID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBuID0gbmV3IEJOb2RlKCk7XHJcbiAgICBuLmlzU2hhcmVkID0gdHJ1ZTtcclxuICAgIHJldHVybiBuO1xyXG59KSgpO1xyXG52YXIgRW1wdHlBcnJheSA9IFtdO1xyXG52YXIgUmV1c2VkQXJyYXkgPSBbXTsgLy8gYXNzdW1lZCB0aHJlYWQtbG9jYWxcclxuZnVuY3Rpb24gY2hlY2soZmFjdCkge1xyXG4gICAgdmFyIGFyZ3MgPSBbXTtcclxuICAgIGZvciAodmFyIF9pID0gMTsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgYXJnc1tfaSAtIDFdID0gYXJndW1lbnRzW19pXTtcclxuICAgIH1cclxuICAgIGlmICghZmFjdCkge1xyXG4gICAgICAgIGFyZ3MudW5zaGlmdCgnQisgdHJlZScpOyAvLyBhdCBiZWdpbm5pbmcgb2YgbWVzc2FnZVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihhcmdzLmpvaW4oJyAnKSk7XHJcbiAgICB9XHJcbn1cclxuLyoqIEEgQlRyZWUgZnJvemVuIGluIHRoZSBlbXB0eSBzdGF0ZS4gKi9cclxuZXhwb3J0cy5FbXB0eUJUcmVlID0gKGZ1bmN0aW9uICgpIHsgdmFyIHQgPSBuZXcgQlRyZWUoKTsgdC5mcmVlemUoKTsgcmV0dXJuIHQ7IH0pKCk7XHJcbiIsICIvLyB0aGVzZSBhcmVuJ3QgcmVhbGx5IHByaXZhdGUsIGJ1dCBub3IgYXJlIHRoZXkgcmVhbGx5IHVzZWZ1bCB0byBkb2N1bWVudFxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIEx1eG9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnZhbGlkRGF0ZVRpbWVFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFzb24pIHtcbiAgICBzdXBlcihgSW52YWxpZCBEYXRlVGltZTogJHtyZWFzb24udG9NZXNzYWdlKCl9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEludGVydmFsRXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHtcbiAgY29uc3RydWN0b3IocmVhc29uKSB7XG4gICAgc3VwZXIoYEludmFsaWQgSW50ZXJ2YWw6ICR7cmVhc29uLnRvTWVzc2FnZSgpfWApO1xuICB9XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIEludmFsaWREdXJhdGlvbkVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKHJlYXNvbikge1xuICAgIHN1cGVyKGBJbnZhbGlkIER1cmF0aW9uOiAke3JlYXNvbi50b01lc3NhZ2UoKX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige31cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZFVuaXRFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcih1bml0KSB7XG4gICAgc3VwZXIoYEludmFsaWQgdW5pdCAke3VuaXR9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHt9XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIFpvbmVJc0Fic3RyYWN0RXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJab25lIGlzIGFuIGFic3RyYWN0IGNsYXNzXCIpO1xuICB9XG59XG4iLCAiLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmNvbnN0IG4gPSBcIm51bWVyaWNcIixcbiAgcyA9IFwic2hvcnRcIixcbiAgbCA9IFwibG9uZ1wiO1xuXG5leHBvcnQgY29uc3QgREFURV9TSE9SVCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IG4sXG4gIGRheTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFX01FRCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IHMsXG4gIGRheTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFX01FRF9XSVRIX1dFRUtEQVkgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBzLFxuICBkYXk6IG4sXG4gIHdlZWtkYXk6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURV9GVUxMID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbCxcbiAgZGF5OiBuLFxufTtcblxuZXhwb3J0IGNvbnN0IERBVEVfSFVHRSA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgd2Vla2RheTogbCxcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1NJTVBMRSA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfV0lUSF9TRUNPTkRTID0ge1xuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1dJVEhfU0hPUlRfT0ZGU0VUID0ge1xuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbiAgdGltZVpvbmVOYW1lOiBzLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfV0lUSF9MT05HX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIHRpbWVab25lTmFtZTogbCxcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FXzI0X1NJTVBMRSA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBob3VyQ3ljbGU6IFwiaDIzXCIsXG59O1xuXG5leHBvcnQgY29uc3QgVElNRV8yNF9XSVRIX1NFQ09ORFMgPSB7XG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICBob3VyQ3ljbGU6IFwiaDIzXCIsXG59O1xuXG5leHBvcnQgY29uc3QgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgdGltZVpvbmVOYW1lOiBzLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgdGltZVpvbmVOYW1lOiBsLFxufTtcblxuZXhwb3J0IGNvbnN0IERBVEVUSU1FX1NIT1JUID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbixcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbixcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRUQgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBzLFxuICBkYXk6IG4sXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogcyxcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogcyxcbiAgZGF5OiBuLFxuICB3ZWVrZGF5OiBzLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfRlVMTCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICB0aW1lWm9uZU5hbWU6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBsLFxuICBkYXk6IG4sXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICB0aW1lWm9uZU5hbWU6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfSFVHRSA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgd2Vla2RheTogbCxcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICB0aW1lWm9uZU5hbWU6IGwsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBsLFxuICBkYXk6IG4sXG4gIHdlZWtkYXk6IGwsXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICB0aW1lWm9uZU5hbWU6IGwsXG59O1xuIiwgIi8qXG4gIFRoaXMgaXMganVzdCBhIGp1bmsgZHJhd2VyLCBjb250YWluaW5nIGFueXRoaW5nIHVzZWQgYWNyb3NzIG11bHRpcGxlIGNsYXNzZXMuXG4gIEJlY2F1c2UgTHV4b24gaXMgc21hbGwoaXNoKSwgdGhpcyBzaG91bGQgc3RheSBzbWFsbCBhbmQgd2Ugd29uJ3Qgd29ycnkgYWJvdXQgc3BsaXR0aW5nXG4gIGl0IHVwIGludG8sIHNheSwgcGFyc2luZ1V0aWwuanMgYW5kIGJhc2ljVXRpbC5qcyBhbmQgc28gb24uIEJ1dCB0aGV5IGFyZSBkaXZpZGVkIHVwIGJ5IGZlYXR1cmUgYXJlYS5cbiovXG5cbmltcG9ydCB7IEludmFsaWRBcmd1bWVudEVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy5qc1wiO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuLy8gVFlQRVNcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKG8pIHtcbiAgcmV0dXJuIHR5cGVvZiBvID09PSBcInVuZGVmaW5lZFwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwibnVtYmVyXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVnZXIobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwibnVtYmVyXCIgJiYgbyAlIDEgPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyhvKSB7XG4gIHJldHVybiB0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZShvKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykgPT09IFwiW29iamVjdCBEYXRlXVwiO1xufVxuXG4vLyBDQVBBQklMSVRJRVNcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1JlbGF0aXZlKCkge1xuICB0cnkge1xuICAgIHJldHVybiB0eXBlb2YgSW50bCAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhIUludGwuUmVsYXRpdmVUaW1lRm9ybWF0O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vIE9CSkVDVFMgQU5EIEFSUkFZU1xuXG5leHBvcnQgZnVuY3Rpb24gbWF5YmVBcnJheSh0aGluZykge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGluZykgPyB0aGluZyA6IFt0aGluZ107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiZXN0QnkoYXJyLCBieSwgY29tcGFyZSkge1xuICBpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGFyci5yZWR1Y2UoKGJlc3QsIG5leHQpID0+IHtcbiAgICBjb25zdCBwYWlyID0gW2J5KG5leHQpLCBuZXh0XTtcbiAgICBpZiAoIWJlc3QpIHtcbiAgICAgIHJldHVybiBwYWlyO1xuICAgIH0gZWxzZSBpZiAoY29tcGFyZShiZXN0WzBdLCBwYWlyWzBdKSA9PT0gYmVzdFswXSkge1xuICAgICAgcmV0dXJuIGJlc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwYWlyO1xuICAgIH1cbiAgfSwgbnVsbClbMV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaWNrKG9iaiwga2V5cykge1xuICByZXR1cm4ga2V5cy5yZWR1Y2UoKGEsIGspID0+IHtcbiAgICBhW2tdID0gb2JqW2tdO1xuICAgIHJldHVybiBhO1xuICB9LCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3ApIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufVxuXG4vLyBOVU1CRVJTIEFORCBTVFJJTkdTXG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlZ2VyQmV0d2Vlbih0aGluZywgYm90dG9tLCB0b3ApIHtcbiAgcmV0dXJuIGlzSW50ZWdlcih0aGluZykgJiYgdGhpbmcgPj0gYm90dG9tICYmIHRoaW5nIDw9IHRvcDtcbn1cblxuLy8geCAlIG4gYnV0IHRha2VzIHRoZSBzaWduIG9mIG4gaW5zdGVhZCBvZiB4XG5leHBvcnQgZnVuY3Rpb24gZmxvb3JNb2QoeCwgbikge1xuICByZXR1cm4geCAtIG4gKiBNYXRoLmZsb29yKHggLyBuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZFN0YXJ0KGlucHV0LCBuID0gMikge1xuICBjb25zdCBpc05lZyA9IGlucHV0IDwgMDtcbiAgbGV0IHBhZGRlZDtcbiAgaWYgKGlzTmVnKSB7XG4gICAgcGFkZGVkID0gXCItXCIgKyAoXCJcIiArIC1pbnB1dCkucGFkU3RhcnQobiwgXCIwXCIpO1xuICB9IGVsc2Uge1xuICAgIHBhZGRlZCA9IChcIlwiICsgaW5wdXQpLnBhZFN0YXJ0KG4sIFwiMFwiKTtcbiAgfVxuICByZXR1cm4gcGFkZGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbnRlZ2VyKHN0cmluZykge1xuICBpZiAoaXNVbmRlZmluZWQoc3RyaW5nKSB8fCBzdHJpbmcgPT09IG51bGwgfHwgc3RyaW5nID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nLCAxMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRmxvYXRpbmcoc3RyaW5nKSB7XG4gIGlmIChpc1VuZGVmaW5lZChzdHJpbmcpIHx8IHN0cmluZyA9PT0gbnVsbCB8fCBzdHJpbmcgPT09IFwiXCIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBwYXJzZUZsb2F0KHN0cmluZyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWlsbGlzKGZyYWN0aW9uKSB7XG4gIC8vIFJldHVybiB1bmRlZmluZWQgKGluc3RlYWQgb2YgMCkgaW4gdGhlc2UgY2FzZXMsIHdoZXJlIGZyYWN0aW9uIGlzIG5vdCBzZXRcbiAgaWYgKGlzVW5kZWZpbmVkKGZyYWN0aW9uKSB8fCBmcmFjdGlvbiA9PT0gbnVsbCB8fCBmcmFjdGlvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZiA9IHBhcnNlRmxvYXQoXCIwLlwiICsgZnJhY3Rpb24pICogMTAwMDtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihmKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRUbyhudW1iZXIsIGRpZ2l0cywgdG93YXJkWmVybyA9IGZhbHNlKSB7XG4gIGNvbnN0IGZhY3RvciA9IDEwICoqIGRpZ2l0cyxcbiAgICByb3VuZGVyID0gdG93YXJkWmVybyA/IE1hdGgudHJ1bmMgOiBNYXRoLnJvdW5kO1xuICByZXR1cm4gcm91bmRlcihudW1iZXIgKiBmYWN0b3IpIC8gZmFjdG9yO1xufVxuXG4vLyBEQVRFIEJBU0lDU1xuXG5leHBvcnQgZnVuY3Rpb24gaXNMZWFwWWVhcih5ZWFyKSB7XG4gIHJldHVybiB5ZWFyICUgNCA9PT0gMCAmJiAoeWVhciAlIDEwMCAhPT0gMCB8fCB5ZWFyICUgNDAwID09PSAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJblllYXIoeWVhcikge1xuICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7XG4gIGNvbnN0IG1vZE1vbnRoID0gZmxvb3JNb2QobW9udGggLSAxLCAxMikgKyAxLFxuICAgIG1vZFllYXIgPSB5ZWFyICsgKG1vbnRoIC0gbW9kTW9udGgpIC8gMTI7XG5cbiAgaWYgKG1vZE1vbnRoID09PSAyKSB7XG4gICAgcmV0dXJuIGlzTGVhcFllYXIobW9kWWVhcikgPyAyOSA6IDI4O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBbMzEsIG51bGwsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXVttb2RNb250aCAtIDFdO1xuICB9XG59XG5cbi8vIGNvdmVydCBhIGNhbGVuZGFyIG9iamVjdCB0byBhIGxvY2FsIHRpbWVzdGFtcCAoZXBvY2gsIGJ1dCB3aXRoIHRoZSBvZmZzZXQgYmFrZWQgaW4pXG5leHBvcnQgZnVuY3Rpb24gb2JqVG9Mb2NhbFRTKG9iaikge1xuICBsZXQgZCA9IERhdGUuVVRDKFxuICAgIG9iai55ZWFyLFxuICAgIG9iai5tb250aCAtIDEsXG4gICAgb2JqLmRheSxcbiAgICBvYmouaG91cixcbiAgICBvYmoubWludXRlLFxuICAgIG9iai5zZWNvbmQsXG4gICAgb2JqLm1pbGxpc2Vjb25kXG4gICk7XG5cbiAgLy8gZm9yIGxlZ2FjeSByZWFzb25zLCB5ZWFycyBiZXR3ZWVuIDAgYW5kIDk5IGFyZSBpbnRlcnByZXRlZCBhcyAxOVhYOyByZXZlcnQgdGhhdFxuICBpZiAob2JqLnllYXIgPCAxMDAgJiYgb2JqLnllYXIgPj0gMCkge1xuICAgIGQgPSBuZXcgRGF0ZShkKTtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGQuZ2V0VVRDRnVsbFllYXIoKSAtIDE5MDApO1xuICB9XG4gIHJldHVybiArZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcikge1xuICBjb25zdCBwMSA9XG4gICAgICAod2Vla1llYXIgK1xuICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gNCkgLVxuICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gMTAwKSArXG4gICAgICAgIE1hdGguZmxvb3Iod2Vla1llYXIgLyA0MDApKSAlXG4gICAgICA3LFxuICAgIGxhc3QgPSB3ZWVrWWVhciAtIDEsXG4gICAgcDIgPSAobGFzdCArIE1hdGguZmxvb3IobGFzdCAvIDQpIC0gTWF0aC5mbG9vcihsYXN0IC8gMTAwKSArIE1hdGguZmxvb3IobGFzdCAvIDQwMCkpICUgNztcbiAgcmV0dXJuIHAxID09PSA0IHx8IHAyID09PSAzID8gNTMgOiA1Mjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVudHJ1bmNhdGVZZWFyKHllYXIpIHtcbiAgaWYgKHllYXIgPiA5OSkge1xuICAgIHJldHVybiB5ZWFyO1xuICB9IGVsc2UgcmV0dXJuIHllYXIgPiA2MCA/IDE5MDAgKyB5ZWFyIDogMjAwMCArIHllYXI7XG59XG5cbi8vIFBBUlNJTkdcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlWm9uZUluZm8odHMsIG9mZnNldEZvcm1hdCwgbG9jYWxlLCB0aW1lWm9uZSA9IG51bGwpIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRzKSxcbiAgICBpbnRsT3B0cyA9IHtcbiAgICAgIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgICAgIHllYXI6IFwibnVtZXJpY1wiLFxuICAgICAgbW9udGg6IFwiMi1kaWdpdFwiLFxuICAgICAgZGF5OiBcIjItZGlnaXRcIixcbiAgICAgIGhvdXI6IFwiMi1kaWdpdFwiLFxuICAgICAgbWludXRlOiBcIjItZGlnaXRcIixcbiAgICB9O1xuXG4gIGlmICh0aW1lWm9uZSkge1xuICAgIGludGxPcHRzLnRpbWVab25lID0gdGltZVpvbmU7XG4gIH1cblxuICBjb25zdCBtb2RpZmllZCA9IHsgdGltZVpvbmVOYW1lOiBvZmZzZXRGb3JtYXQsIC4uLmludGxPcHRzIH07XG5cbiAgY29uc3QgcGFyc2VkID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBtb2RpZmllZClcbiAgICAuZm9ybWF0VG9QYXJ0cyhkYXRlKVxuICAgIC5maW5kKChtKSA9PiBtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gXCJ0aW1lem9uZW5hbWVcIik7XG4gIHJldHVybiBwYXJzZWQgPyBwYXJzZWQudmFsdWUgOiBudWxsO1xufVxuXG4vLyBzaWduZWRPZmZzZXQoJy01JywgJzMwJykgLT4gLTMzMFxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25lZE9mZnNldChvZmZIb3VyU3RyLCBvZmZNaW51dGVTdHIpIHtcbiAgbGV0IG9mZkhvdXIgPSBwYXJzZUludChvZmZIb3VyU3RyLCAxMCk7XG5cbiAgLy8gZG9uJ3QgfHwgdGhpcyBiZWNhdXNlIHdlIHdhbnQgdG8gcHJlc2VydmUgLTBcbiAgaWYgKE51bWJlci5pc05hTihvZmZIb3VyKSkge1xuICAgIG9mZkhvdXIgPSAwO1xuICB9XG5cbiAgY29uc3Qgb2ZmTWluID0gcGFyc2VJbnQob2ZmTWludXRlU3RyLCAxMCkgfHwgMCxcbiAgICBvZmZNaW5TaWduZWQgPSBvZmZIb3VyIDwgMCB8fCBPYmplY3QuaXMob2ZmSG91ciwgLTApID8gLW9mZk1pbiA6IG9mZk1pbjtcbiAgcmV0dXJuIG9mZkhvdXIgKiA2MCArIG9mZk1pblNpZ25lZDtcbn1cblxuLy8gQ09FUkNJT05cblxuZXhwb3J0IGZ1bmN0aW9uIGFzTnVtYmVyKHZhbHVlKSB7XG4gIGNvbnN0IG51bWVyaWNWYWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiIHx8IHZhbHVlID09PSBcIlwiIHx8IE51bWJlci5pc05hTihudW1lcmljVmFsdWUpKVxuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgSW52YWxpZCB1bml0IHZhbHVlICR7dmFsdWV9YCk7XG4gIHJldHVybiBudW1lcmljVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVPYmplY3Qob2JqLCBub3JtYWxpemVyKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fTtcbiAgZm9yIChjb25zdCB1IGluIG9iaikge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eShvYmosIHUpKSB7XG4gICAgICBjb25zdCB2ID0gb2JqW3VdO1xuICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCB8fCB2ID09PSBudWxsKSBjb250aW51ZTtcbiAgICAgIG5vcm1hbGl6ZWRbbm9ybWFsaXplcih1KV0gPSBhc051bWJlcih2KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRPZmZzZXQob2Zmc2V0LCBmb3JtYXQpIHtcbiAgY29uc3QgaG91cnMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAvIDYwKSksXG4gICAgbWludXRlcyA9IE1hdGgudHJ1bmMoTWF0aC5hYnMob2Zmc2V0ICUgNjApKSxcbiAgICBzaWduID0gb2Zmc2V0ID49IDAgPyBcIitcIiA6IFwiLVwiO1xuXG4gIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgY2FzZSBcInNob3J0XCI6XG4gICAgICByZXR1cm4gYCR7c2lnbn0ke3BhZFN0YXJ0KGhvdXJzLCAyKX06JHtwYWRTdGFydChtaW51dGVzLCAyKX1gO1xuICAgIGNhc2UgXCJuYXJyb3dcIjpcbiAgICAgIHJldHVybiBgJHtzaWdufSR7aG91cnN9JHttaW51dGVzID4gMCA/IGA6JHttaW51dGVzfWAgOiBcIlwifWA7XG4gICAgY2FzZSBcInRlY2hpZVwiOlxuICAgICAgcmV0dXJuIGAke3NpZ259JHtwYWRTdGFydChob3VycywgMil9JHtwYWRTdGFydChtaW51dGVzLCAyKX1gO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVmFsdWUgZm9ybWF0ICR7Zm9ybWF0fSBpcyBvdXQgb2YgcmFuZ2UgZm9yIHByb3BlcnR5IGZvcm1hdGApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lT2JqZWN0KG9iaikge1xuICByZXR1cm4gcGljayhvYmosIFtcImhvdXJcIiwgXCJtaW51dGVcIiwgXCJzZWNvbmRcIiwgXCJtaWxsaXNlY29uZFwiXSk7XG59XG5cbmV4cG9ydCBjb25zdCBpYW5hUmVnZXggPVxuICAvW0EtWmEtel8rLV17MSwyNTZ9KD86Oj9cXC9bQS1aYS16MC05XystXXsxLDI1Nn0oPzpcXC9bQS1aYS16MC05XystXXsxLDI1Nn0pPyk/LztcbiIsICJpbXBvcnQgKiBhcyBGb3JtYXRzIGZyb20gXCIuL2Zvcm1hdHMuanNcIjtcbmltcG9ydCB7IHBpY2sgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShvYmopIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiwgT2JqZWN0LmtleXMob2JqKS5zb3J0KCkpO1xufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuZXhwb3J0IGNvbnN0IG1vbnRoc0xvbmcgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbmV4cG9ydCBjb25zdCBtb250aHNTaG9ydCA9IFtcbiAgXCJKYW5cIixcbiAgXCJGZWJcIixcbiAgXCJNYXJcIixcbiAgXCJBcHJcIixcbiAgXCJNYXlcIixcbiAgXCJKdW5cIixcbiAgXCJKdWxcIixcbiAgXCJBdWdcIixcbiAgXCJTZXBcIixcbiAgXCJPY3RcIixcbiAgXCJOb3ZcIixcbiAgXCJEZWNcIixcbl07XG5cbmV4cG9ydCBjb25zdCBtb250aHNOYXJyb3cgPSBbXCJKXCIsIFwiRlwiLCBcIk1cIiwgXCJBXCIsIFwiTVwiLCBcIkpcIiwgXCJKXCIsIFwiQVwiLCBcIlNcIiwgXCJPXCIsIFwiTlwiLCBcIkRcIl07XG5cbmV4cG9ydCBmdW5jdGlvbiBtb250aHMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi5tb250aHNOYXJyb3ddO1xuICAgIGNhc2UgXCJzaG9ydFwiOlxuICAgICAgcmV0dXJuIFsuLi5tb250aHNTaG9ydF07XG4gICAgY2FzZSBcImxvbmdcIjpcbiAgICAgIHJldHVybiBbLi4ubW9udGhzTG9uZ107XG4gICAgY2FzZSBcIm51bWVyaWNcIjpcbiAgICAgIHJldHVybiBbXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCIsIFwiOFwiLCBcIjlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl07XG4gICAgY2FzZSBcIjItZGlnaXRcIjpcbiAgICAgIHJldHVybiBbXCIwMVwiLCBcIjAyXCIsIFwiMDNcIiwgXCIwNFwiLCBcIjA1XCIsIFwiMDZcIiwgXCIwN1wiLCBcIjA4XCIsIFwiMDlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3ZWVrZGF5c0xvbmcgPSBbXG4gIFwiTW9uZGF5XCIsXG4gIFwiVHVlc2RheVwiLFxuICBcIldlZG5lc2RheVwiLFxuICBcIlRodXJzZGF5XCIsXG4gIFwiRnJpZGF5XCIsXG4gIFwiU2F0dXJkYXlcIixcbiAgXCJTdW5kYXlcIixcbl07XG5cbmV4cG9ydCBjb25zdCB3ZWVrZGF5c1Nob3J0ID0gW1wiTW9uXCIsIFwiVHVlXCIsIFwiV2VkXCIsIFwiVGh1XCIsIFwiRnJpXCIsIFwiU2F0XCIsIFwiU3VuXCJdO1xuXG5leHBvcnQgY29uc3Qgd2Vla2RheXNOYXJyb3cgPSBbXCJNXCIsIFwiVFwiLCBcIldcIiwgXCJUXCIsIFwiRlwiLCBcIlNcIiwgXCJTXCJdO1xuXG5leHBvcnQgZnVuY3Rpb24gd2Vla2RheXMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi53ZWVrZGF5c05hcnJvd107XG4gICAgY2FzZSBcInNob3J0XCI6XG4gICAgICByZXR1cm4gWy4uLndlZWtkYXlzU2hvcnRdO1xuICAgIGNhc2UgXCJsb25nXCI6XG4gICAgICByZXR1cm4gWy4uLndlZWtkYXlzTG9uZ107XG4gICAgY2FzZSBcIm51bWVyaWNcIjpcbiAgICAgIHJldHVybiBbXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCJdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgbWVyaWRpZW1zID0gW1wiQU1cIiwgXCJQTVwiXTtcblxuZXhwb3J0IGNvbnN0IGVyYXNMb25nID0gW1wiQmVmb3JlIENocmlzdFwiLCBcIkFubm8gRG9taW5pXCJdO1xuXG5leHBvcnQgY29uc3QgZXJhc1Nob3J0ID0gW1wiQkNcIiwgXCJBRFwiXTtcblxuZXhwb3J0IGNvbnN0IGVyYXNOYXJyb3cgPSBbXCJCXCIsIFwiQVwiXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVyYXMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi5lcmFzTmFycm93XTtcbiAgICBjYXNlIFwic2hvcnRcIjpcbiAgICAgIHJldHVybiBbLi4uZXJhc1Nob3J0XTtcbiAgICBjYXNlIFwibG9uZ1wiOlxuICAgICAgcmV0dXJuIFsuLi5lcmFzTG9uZ107XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJpZGllbUZvckRhdGVUaW1lKGR0KSB7XG4gIHJldHVybiBtZXJpZGllbXNbZHQuaG91ciA8IDEyID8gMCA6IDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIHdlZWtkYXlzKGxlbmd0aClbZHQud2Vla2RheSAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSB7XG4gIHJldHVybiBtb250aHMobGVuZ3RoKVtkdC5tb250aCAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXJhRm9yRGF0ZVRpbWUoZHQsIGxlbmd0aCkge1xuICByZXR1cm4gZXJhcyhsZW5ndGgpW2R0LnllYXIgPCAwID8gMCA6IDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCBudW1lcmljID0gXCJhbHdheXNcIiwgbmFycm93ID0gZmFsc2UpIHtcbiAgY29uc3QgdW5pdHMgPSB7XG4gICAgeWVhcnM6IFtcInllYXJcIiwgXCJ5ci5cIl0sXG4gICAgcXVhcnRlcnM6IFtcInF1YXJ0ZXJcIiwgXCJxdHIuXCJdLFxuICAgIG1vbnRoczogW1wibW9udGhcIiwgXCJtby5cIl0sXG4gICAgd2Vla3M6IFtcIndlZWtcIiwgXCJ3ay5cIl0sXG4gICAgZGF5czogW1wiZGF5XCIsIFwiZGF5XCIsIFwiZGF5c1wiXSxcbiAgICBob3VyczogW1wiaG91clwiLCBcImhyLlwiXSxcbiAgICBtaW51dGVzOiBbXCJtaW51dGVcIiwgXCJtaW4uXCJdLFxuICAgIHNlY29uZHM6IFtcInNlY29uZFwiLCBcInNlYy5cIl0sXG4gIH07XG5cbiAgY29uc3QgbGFzdGFibGUgPSBbXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJdLmluZGV4T2YodW5pdCkgPT09IC0xO1xuXG4gIGlmIChudW1lcmljID09PSBcImF1dG9cIiAmJiBsYXN0YWJsZSkge1xuICAgIGNvbnN0IGlzRGF5ID0gdW5pdCA9PT0gXCJkYXlzXCI7XG4gICAgc3dpdGNoIChjb3VudCkge1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInRvbW9ycm93XCIgOiBgbmV4dCAke3VuaXRzW3VuaXRdWzBdfWA7XG4gICAgICBjYXNlIC0xOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInllc3RlcmRheVwiIDogYGxhc3QgJHt1bml0c1t1bml0XVswXX1gO1xuICAgICAgY2FzZSAwOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInRvZGF5XCIgOiBgdGhpcyAke3VuaXRzW3VuaXRdWzBdfWA7XG4gICAgICBkZWZhdWx0OiAvLyBmYWxsIHRocm91Z2hcbiAgICB9XG4gIH1cblxuICBjb25zdCBpc0luUGFzdCA9IE9iamVjdC5pcyhjb3VudCwgLTApIHx8IGNvdW50IDwgMCxcbiAgICBmbXRWYWx1ZSA9IE1hdGguYWJzKGNvdW50KSxcbiAgICBzaW5ndWxhciA9IGZtdFZhbHVlID09PSAxLFxuICAgIGxpbFVuaXRzID0gdW5pdHNbdW5pdF0sXG4gICAgZm10VW5pdCA9IG5hcnJvd1xuICAgICAgPyBzaW5ndWxhclxuICAgICAgICA/IGxpbFVuaXRzWzFdXG4gICAgICAgIDogbGlsVW5pdHNbMl0gfHwgbGlsVW5pdHNbMV1cbiAgICAgIDogc2luZ3VsYXJcbiAgICAgID8gdW5pdHNbdW5pdF1bMF1cbiAgICAgIDogdW5pdDtcbiAgcmV0dXJuIGlzSW5QYXN0ID8gYCR7Zm10VmFsdWV9ICR7Zm10VW5pdH0gYWdvYCA6IGBpbiAke2ZtdFZhbHVlfSAke2ZtdFVuaXR9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFN0cmluZyhrbm93bkZvcm1hdCkge1xuICAvLyB0aGVzZSBhbGwgaGF2ZSB0aGUgb2Zmc2V0cyByZW1vdmVkIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlbVxuICAvLyB3aXRob3V0IGFsbCB0aGUgaW50bCBzdHVmZiB0aGlzIGlzIGJhY2tmaWxsaW5nXG4gIGNvbnN0IGZpbHRlcmVkID0gcGljayhrbm93bkZvcm1hdCwgW1xuICAgICAgXCJ3ZWVrZGF5XCIsXG4gICAgICBcImVyYVwiLFxuICAgICAgXCJ5ZWFyXCIsXG4gICAgICBcIm1vbnRoXCIsXG4gICAgICBcImRheVwiLFxuICAgICAgXCJob3VyXCIsXG4gICAgICBcIm1pbnV0ZVwiLFxuICAgICAgXCJzZWNvbmRcIixcbiAgICAgIFwidGltZVpvbmVOYW1lXCIsXG4gICAgICBcImhvdXJDeWNsZVwiLFxuICAgIF0pLFxuICAgIGtleSA9IHN0cmluZ2lmeShmaWx0ZXJlZCksXG4gICAgZGF0ZVRpbWVIdWdlID0gXCJFRUVFLCBMTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICBzd2l0Y2ggKGtleSkge1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURV9TSE9SVCk6XG4gICAgICByZXR1cm4gXCJNL2QveXl5eVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURV9NRUQpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXlcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWSk6XG4gICAgICByZXR1cm4gXCJFRUUsIExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFX0ZVTEwpOlxuICAgICAgcmV0dXJuIFwiTExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFX0hVR0UpOlxuICAgICAgcmV0dXJuIFwiRUVFRSwgTExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5USU1FX1NJTVBMRSk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcImg6bW06c3MgYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfMjRfU0lNUExFKTpcbiAgICAgIHJldHVybiBcIkhIOm1tXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5USU1FXzI0X1dJVEhfU0VDT05EUyk6XG4gICAgICByZXR1cm4gXCJISDptbTpzc1wiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJISDptbVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUKTpcbiAgICAgIHJldHVybiBcIkhIOm1tXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFVElNRV9TSE9SVCk6XG4gICAgICByZXR1cm4gXCJNL2QveXl5eSwgaDptbSBhXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFVElNRV9NRUQpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfRlVMTCk6XG4gICAgICByZXR1cm4gXCJMTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfSFVHRSk6XG4gICAgICByZXR1cm4gZGF0ZVRpbWVIdWdlO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcIk0vZC95eXl5LCBoOm1tOnNzIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXksIGg6bW06c3MgYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSk6XG4gICAgICByZXR1cm4gXCJFRUUsIGQgTExMIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMpOlxuICAgICAgcmV0dXJuIFwiTExMTCBkLCB5eXl5LCBoOm1tOnNzIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcIkVFRUUsIExMTEwgZCwgeXl5eSwgaDptbTpzcyBhXCI7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBkYXRlVGltZUh1Z2U7XG4gIH1cbn1cbiIsICJpbXBvcnQgKiBhcyBFbmdsaXNoIGZyb20gXCIuL2VuZ2xpc2guanNcIjtcbmltcG9ydCAqIGFzIEZvcm1hdHMgZnJvbSBcIi4vZm9ybWF0cy5qc1wiO1xuaW1wb3J0IHsgcGFkU3RhcnQgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeVRva2VucyhzcGxpdHMsIHRva2VuVG9TdHJpbmcpIHtcbiAgbGV0IHMgPSBcIlwiO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHNwbGl0cykge1xuICAgIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgICBzICs9IHRva2VuLnZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcyArPSB0b2tlblRvU3RyaW5nKHRva2VuLnZhbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBzO1xufVxuXG5jb25zdCBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzID0ge1xuICBEOiBGb3JtYXRzLkRBVEVfU0hPUlQsXG4gIEREOiBGb3JtYXRzLkRBVEVfTUVELFxuICBEREQ6IEZvcm1hdHMuREFURV9GVUxMLFxuICBEREREOiBGb3JtYXRzLkRBVEVfSFVHRSxcbiAgdDogRm9ybWF0cy5USU1FX1NJTVBMRSxcbiAgdHQ6IEZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFMsXG4gIHR0dDogRm9ybWF0cy5USU1FX1dJVEhfU0hPUlRfT0ZGU0VULFxuICB0dHR0OiBGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCxcbiAgVDogRm9ybWF0cy5USU1FXzI0X1NJTVBMRSxcbiAgVFQ6IEZvcm1hdHMuVElNRV8yNF9XSVRIX1NFQ09ORFMsXG4gIFRUVDogRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VULFxuICBUVFRUOiBGb3JtYXRzLlRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCxcbiAgZjogRm9ybWF0cy5EQVRFVElNRV9TSE9SVCxcbiAgZmY6IEZvcm1hdHMuREFURVRJTUVfTUVELFxuICBmZmY6IEZvcm1hdHMuREFURVRJTUVfRlVMTCxcbiAgZmZmZjogRm9ybWF0cy5EQVRFVElNRV9IVUdFLFxuICBGOiBGb3JtYXRzLkRBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUyxcbiAgRkY6IEZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUyxcbiAgRkZGOiBGb3JtYXRzLkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTLFxuICBGRkZGOiBGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTLFxufTtcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvcm1hdHRlciB7XG4gIHN0YXRpYyBjcmVhdGUobG9jYWxlLCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsb2NhbGUsIG9wdHMpO1xuICB9XG5cbiAgc3RhdGljIHBhcnNlRm9ybWF0KGZtdCkge1xuICAgIGxldCBjdXJyZW50ID0gbnVsbCxcbiAgICAgIGN1cnJlbnRGdWxsID0gXCJcIixcbiAgICAgIGJyYWNrZXRlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHNwbGl0cyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm10Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjID0gZm10LmNoYXJBdChpKTtcbiAgICAgIGlmIChjID09PSBcIidcIikge1xuICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogYnJhY2tldGVkLCB2YWw6IGN1cnJlbnRGdWxsIH0pO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnQgPSBudWxsO1xuICAgICAgICBjdXJyZW50RnVsbCA9IFwiXCI7XG4gICAgICAgIGJyYWNrZXRlZCA9ICFicmFja2V0ZWQ7XG4gICAgICB9IGVsc2UgaWYgKGJyYWNrZXRlZCkge1xuICAgICAgICBjdXJyZW50RnVsbCArPSBjO1xuICAgICAgfSBlbHNlIGlmIChjID09PSBjdXJyZW50KSB7XG4gICAgICAgIGN1cnJlbnRGdWxsICs9IGM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogZmFsc2UsIHZhbDogY3VycmVudEZ1bGwgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEZ1bGwgPSBjO1xuICAgICAgICBjdXJyZW50ID0gYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgc3BsaXRzLnB1c2goeyBsaXRlcmFsOiBicmFja2V0ZWQsIHZhbDogY3VycmVudEZ1bGwgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNwbGl0cztcbiAgfVxuXG4gIHN0YXRpYyBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuKSB7XG4gICAgcmV0dXJuIG1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHNbdG9rZW5dO1xuICB9XG5cbiAgY29uc3RydWN0b3IobG9jYWxlLCBmb3JtYXRPcHRzKSB7XG4gICAgdGhpcy5vcHRzID0gZm9ybWF0T3B0cztcbiAgICB0aGlzLmxvYyA9IGxvY2FsZTtcbiAgICB0aGlzLnN5c3RlbUxvYyA9IG51bGw7XG4gIH1cblxuICBmb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChkdCwgb3B0cykge1xuICAgIGlmICh0aGlzLnN5c3RlbUxvYyA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zeXN0ZW1Mb2MgPSB0aGlzLmxvYy5yZWRlZmF1bHRUb1N5c3RlbSgpO1xuICAgIH1cbiAgICBjb25zdCBkZiA9IHRoaXMuc3lzdGVtTG9jLmR0Rm9ybWF0dGVyKGR0LCB7IC4uLnRoaXMub3B0cywgLi4ub3B0cyB9KTtcbiAgICByZXR1cm4gZGYuZm9ybWF0KCk7XG4gIH1cblxuICBmb3JtYXREYXRlVGltZShkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLmZvcm1hdCgpO1xuICB9XG5cbiAgZm9ybWF0RGF0ZVRpbWVQYXJ0cyhkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLmZvcm1hdFRvUGFydHMoKTtcbiAgfVxuXG4gIHJlc29sdmVkT3B0aW9ucyhkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLnJlc29sdmVkT3B0aW9ucygpO1xuICB9XG5cbiAgbnVtKG4sIHAgPSAwKSB7XG4gICAgLy8gd2UgZ2V0IHNvbWUgcGVyZiBvdXQgb2YgZG9pbmcgdGhpcyBoZXJlLCBhbm5veWluZ2x5XG4gICAgaWYgKHRoaXMub3B0cy5mb3JjZVNpbXBsZSkge1xuICAgICAgcmV0dXJuIHBhZFN0YXJ0KG4sIHApO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdHMgPSB7IC4uLnRoaXMub3B0cyB9O1xuXG4gICAgaWYgKHAgPiAwKSB7XG4gICAgICBvcHRzLnBhZFRvID0gcDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sb2MubnVtYmVyRm9ybWF0dGVyKG9wdHMpLmZvcm1hdChuKTtcbiAgfVxuXG4gIGZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhkdCwgZm10KSB7XG4gICAgY29uc3Qga25vd25FbmdsaXNoID0gdGhpcy5sb2MubGlzdGluZ01vZGUoKSA9PT0gXCJlblwiLFxuICAgICAgdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPSB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAmJiB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAhPT0gXCJncmVnb3J5XCIsXG4gICAgICBzdHJpbmcgPSAob3B0cywgZXh0cmFjdCkgPT4gdGhpcy5sb2MuZXh0cmFjdChkdCwgb3B0cywgZXh0cmFjdCksXG4gICAgICBmb3JtYXRPZmZzZXQgPSAob3B0cykgPT4ge1xuICAgICAgICBpZiAoZHQuaXNPZmZzZXRGaXhlZCAmJiBkdC5vZmZzZXQgPT09IDAgJiYgb3B0cy5hbGxvd1opIHtcbiAgICAgICAgICByZXR1cm4gXCJaXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZHQuaXNWYWxpZCA/IGR0LnpvbmUuZm9ybWF0T2Zmc2V0KGR0LnRzLCBvcHRzLmZvcm1hdCkgOiBcIlwiO1xuICAgICAgfSxcbiAgICAgIG1lcmlkaWVtID0gKCkgPT5cbiAgICAgICAga25vd25FbmdsaXNoXG4gICAgICAgICAgPyBFbmdsaXNoLm1lcmlkaWVtRm9yRGF0ZVRpbWUoZHQpXG4gICAgICAgICAgOiBzdHJpbmcoeyBob3VyOiBcIm51bWVyaWNcIiwgaG91ckN5Y2xlOiBcImgxMlwiIH0sIFwiZGF5cGVyaW9kXCIpLFxuICAgICAgbW9udGggPSAobGVuZ3RoLCBzdGFuZGFsb25lKSA9PlxuICAgICAgICBrbm93bkVuZ2xpc2hcbiAgICAgICAgICA/IEVuZ2xpc2gubW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKVxuICAgICAgICAgIDogc3RyaW5nKHN0YW5kYWxvbmUgPyB7IG1vbnRoOiBsZW5ndGggfSA6IHsgbW9udGg6IGxlbmd0aCwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpLFxuICAgICAgd2Vla2RheSA9IChsZW5ndGgsIHN0YW5kYWxvbmUpID0+XG4gICAgICAgIGtub3duRW5nbGlzaFxuICAgICAgICAgID8gRW5nbGlzaC53ZWVrZGF5Rm9yRGF0ZVRpbWUoZHQsIGxlbmd0aClcbiAgICAgICAgICA6IHN0cmluZyhcbiAgICAgICAgICAgICAgc3RhbmRhbG9uZSA/IHsgd2Vla2RheTogbGVuZ3RoIH0gOiB7IHdlZWtkYXk6IGxlbmd0aCwgbW9udGg6IFwibG9uZ1wiLCBkYXk6IFwibnVtZXJpY1wiIH0sXG4gICAgICAgICAgICAgIFwid2Vla2RheVwiXG4gICAgICAgICAgICApLFxuICAgICAgbWF5YmVNYWNybyA9ICh0b2tlbikgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRPcHRzID0gRm9ybWF0dGVyLm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHModG9rZW4pO1xuICAgICAgICBpZiAoZm9ybWF0T3B0cykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGR0LCBmb3JtYXRPcHRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcmEgPSAobGVuZ3RoKSA9PlxuICAgICAgICBrbm93bkVuZ2xpc2ggPyBFbmdsaXNoLmVyYUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIDogc3RyaW5nKHsgZXJhOiBsZW5ndGggfSwgXCJlcmFcIiksXG4gICAgICB0b2tlblRvU3RyaW5nID0gKHRva2VuKSA9PiB7XG4gICAgICAgIC8vIFdoZXJlIHBvc3NpYmxlOiBodHRwOi8vY2xkci51bmljb2RlLm9yZy90cmFuc2xhdGlvbi9kYXRlLXRpbWUtMS9kYXRlLXRpbWUjVE9DLVN0YW5kYWxvbmUtdnMuLUZvcm1hdC1TdHlsZXNcbiAgICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICAgIC8vIG1zXG4gICAgICAgICAgY2FzZSBcIlNcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taWxsaXNlY29uZCk7XG4gICAgICAgICAgY2FzZSBcInVcIjpcbiAgICAgICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICAgICAgY2FzZSBcIlNTU1wiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbGxpc2Vjb25kLCAzKTtcbiAgICAgICAgICAvLyBzZWNvbmRzXG4gICAgICAgICAgY2FzZSBcInNcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5zZWNvbmQpO1xuICAgICAgICAgIGNhc2UgXCJzc1wiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnNlY29uZCwgMik7XG4gICAgICAgICAgLy8gZnJhY3Rpb25hbCBzZWNvbmRzXG4gICAgICAgICAgY2FzZSBcInV1XCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC5taWxsaXNlY29uZCAvIDEwKSwgMik7XG4gICAgICAgICAgY2FzZSBcInV1dVwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZHQubWlsbGlzZWNvbmQgLyAxMDApKTtcbiAgICAgICAgICAvLyBtaW51dGVzXG4gICAgICAgICAgY2FzZSBcIm1cIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taW51dGUpO1xuICAgICAgICAgIGNhc2UgXCJtbVwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbnV0ZSwgMik7XG4gICAgICAgICAgLy8gaG91cnNcbiAgICAgICAgICBjYXNlIFwiaFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LmhvdXIgJSAxMiA9PT0gMCA/IDEyIDogZHQuaG91ciAlIDEyKTtcbiAgICAgICAgICBjYXNlIFwiaGhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyICUgMTIgPT09IDAgPyAxMiA6IGR0LmhvdXIgJSAxMiwgMik7XG4gICAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyKTtcbiAgICAgICAgICBjYXNlIFwiSEhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyLCAyKTtcbiAgICAgICAgICAvLyBvZmZzZXRcbiAgICAgICAgICBjYXNlIFwiWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSArNlxuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogXCJuYXJyb3dcIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSArMDY6MDBcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRPZmZzZXQoeyBmb3JtYXQ6IFwic2hvcnRcIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlpcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgKzA2MDBcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRPZmZzZXQoeyBmb3JtYXQ6IFwidGVjaGllXCIsIGFsbG93WjogdGhpcy5vcHRzLmFsbG93WiB9KTtcbiAgICAgICAgICBjYXNlIFwiWlpaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSBFU1RcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiBcInNob3J0XCIsIGxvY2FsZTogdGhpcy5sb2MubG9jYWxlIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlpaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSBFYXN0ZXJuIFN0YW5kYXJkIFRpbWVcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiBcImxvbmdcIiwgbG9jYWxlOiB0aGlzLmxvYy5sb2NhbGUgfSk7XG4gICAgICAgICAgLy8gem9uZVxuICAgICAgICAgIGNhc2UgXCJ6XCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFtZXJpY2EvTmV3X1lvcmtcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lTmFtZTtcbiAgICAgICAgICAvLyBtZXJpZGllbXNcbiAgICAgICAgICBjYXNlIFwiYVwiOlxuICAgICAgICAgICAgcmV0dXJuIG1lcmlkaWVtKCk7XG4gICAgICAgICAgLy8gZGF0ZXNcbiAgICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyID8gc3RyaW5nKHsgZGF5OiBcIm51bWVyaWNcIiB9LCBcImRheVwiKSA6IHRoaXMubnVtKGR0LmRheSk7XG4gICAgICAgICAgY2FzZSBcImRkXCI6XG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyBkYXk6IFwiMi1kaWdpdFwiIH0sIFwiZGF5XCIpIDogdGhpcy5udW0oZHQuZGF5LCAyKTtcbiAgICAgICAgICAvLyB3ZWVrZGF5cyAtIHN0YW5kYWxvbmVcbiAgICAgICAgICBjYXNlIFwiY1wiOlxuICAgICAgICAgICAgLy8gbGlrZSAxXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7XG4gICAgICAgICAgY2FzZSBcImNjY1wiOlxuICAgICAgICAgICAgLy8gbGlrZSAnVHVlcydcbiAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KFwic2hvcnRcIiwgdHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcImNjY2NcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknXG4gICAgICAgICAgICByZXR1cm4gd2Vla2RheShcImxvbmdcIiwgdHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcImNjY2NjXCI6XG4gICAgICAgICAgICAvLyBsaWtlICdUJ1xuICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoXCJuYXJyb3dcIiwgdHJ1ZSk7XG4gICAgICAgICAgLy8gd2Vla2RheXMgLSBmb3JtYXRcbiAgICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAxXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7XG4gICAgICAgICAgY2FzZSBcIkVFRVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAnVHVlcydcbiAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KFwic2hvcnRcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJFRUVFXCI6XG4gICAgICAgICAgICAvLyBsaWtlICdUdWVzZGF5J1xuICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoXCJsb25nXCIsIGZhbHNlKTtcbiAgICAgICAgICBjYXNlIFwiRUVFRUVcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgJ1QnXG4gICAgICAgICAgICByZXR1cm4gd2Vla2RheShcIm5hcnJvd1wiLCBmYWxzZSk7XG4gICAgICAgICAgLy8gbW9udGhzIC0gc3RhbmRhbG9uZVxuICAgICAgICAgIGNhc2UgXCJMXCI6XG4gICAgICAgICAgICAvLyBsaWtlIDFcbiAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlclxuICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiBcIm51bWVyaWNcIiwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgpO1xuICAgICAgICAgIGNhc2UgXCJMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMSwgZG9lc24ndCBzZWVtIHRvIHdvcmtcbiAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlclxuICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiBcIjItZGlnaXRcIiwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgsIDIpO1xuICAgICAgICAgIGNhc2UgXCJMTExcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgSmFuXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJzaG9ydFwiLCB0cnVlKTtcbiAgICAgICAgICBjYXNlIFwiTExMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKYW51YXJ5XG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJsb25nXCIsIHRydWUpO1xuICAgICAgICAgIGNhc2UgXCJMTExMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJuYXJyb3dcIiwgdHJ1ZSk7XG4gICAgICAgICAgLy8gbW9udGhzIC0gZm9ybWF0XG4gICAgICAgICAgY2FzZSBcIk1cIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMVxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyXG4gICAgICAgICAgICAgID8gc3RyaW5nKHsgbW9udGg6IFwibnVtZXJpY1wiIH0sIFwibW9udGhcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC5tb250aCk7XG4gICAgICAgICAgY2FzZSBcIk1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIDAxXG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyBtb250aDogXCIyLWRpZ2l0XCIgfSwgXCJtb250aFwiKVxuICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTtcbiAgICAgICAgICBjYXNlIFwiTU1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEphblxuICAgICAgICAgICAgcmV0dXJuIG1vbnRoKFwic2hvcnRcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJNTU1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEphbnVhcnlcbiAgICAgICAgICAgIHJldHVybiBtb250aChcImxvbmdcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJNTU1NTVwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJuYXJyb3dcIiwgZmFsc2UpO1xuICAgICAgICAgIC8vIHllYXJzXG4gICAgICAgICAgY2FzZSBcInlcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMjAxNFxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyID8gc3RyaW5nKHsgeWVhcjogXCJudW1lcmljXCIgfSwgXCJ5ZWFyXCIpIDogdGhpcy5udW0oZHQueWVhcik7XG4gICAgICAgICAgY2FzZSBcInl5XCI6XG4gICAgICAgICAgICAvLyBsaWtlIDE0XG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiBcIjItZGlnaXRcIiB9LCBcInllYXJcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTtcbiAgICAgICAgICBjYXNlIFwieXl5eVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMDEyXG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiBcIm51bWVyaWNcIiB9LCBcInllYXJcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLCA0KTtcbiAgICAgICAgICBjYXNlIFwieXl5eXl5XCI6XG4gICAgICAgICAgICAvLyBsaWtlIDAwMDAxMlxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyXG4gICAgICAgICAgICAgID8gc3RyaW5nKHsgeWVhcjogXCJudW1lcmljXCIgfSwgXCJ5ZWFyXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQueWVhciwgNik7XG4gICAgICAgICAgLy8gZXJhc1xuICAgICAgICAgIGNhc2UgXCJHXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFEXG4gICAgICAgICAgICByZXR1cm4gZXJhKFwic2hvcnRcIik7XG4gICAgICAgICAgY2FzZSBcIkdHXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFubm8gRG9taW5pXG4gICAgICAgICAgICByZXR1cm4gZXJhKFwibG9uZ1wiKTtcbiAgICAgICAgICBjYXNlIFwiR0dHR0dcIjpcbiAgICAgICAgICAgIHJldHVybiBlcmEoXCJuYXJyb3dcIik7XG4gICAgICAgICAgY2FzZSBcImtrXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla1llYXIudG9TdHJpbmcoKS5zbGljZSgtMiksIDIpO1xuICAgICAgICAgIGNhc2UgXCJra2trXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla1llYXIsIDQpO1xuICAgICAgICAgIGNhc2UgXCJXXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla051bWJlcik7XG4gICAgICAgICAgY2FzZSBcIldXXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla051bWJlciwgMik7XG4gICAgICAgICAgY2FzZSBcIm9cIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5vcmRpbmFsKTtcbiAgICAgICAgICBjYXNlIFwib29vXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQub3JkaW5hbCwgMyk7XG4gICAgICAgICAgY2FzZSBcInFcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIpO1xuICAgICAgICAgIGNhc2UgXCJxcVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIsIDIpO1xuICAgICAgICAgIGNhc2UgXCJYXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC50cyAvIDEwMDApKTtcbiAgICAgICAgICBjYXNlIFwieFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnRzKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG1heWJlTWFjcm8odG9rZW4pO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgcmV0dXJuIHN0cmluZ2lmeVRva2VucyhGb3JtYXR0ZXIucGFyc2VGb3JtYXQoZm10KSwgdG9rZW5Ub1N0cmluZyk7XG4gIH1cblxuICBmb3JtYXREdXJhdGlvbkZyb21TdHJpbmcoZHVyLCBmbXQpIHtcbiAgICBjb25zdCB0b2tlblRvRmllbGQgPSAodG9rZW4pID0+IHtcbiAgICAgICAgc3dpdGNoICh0b2tlblswXSkge1xuICAgICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJtaWxsaXNlY29uZFwiO1xuICAgICAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJzZWNvbmRcIjtcbiAgICAgICAgICBjYXNlIFwibVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwibWludXRlXCI7XG4gICAgICAgICAgY2FzZSBcImhcIjpcbiAgICAgICAgICAgIHJldHVybiBcImhvdXJcIjtcbiAgICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgICAgcmV0dXJuIFwiZGF5XCI7XG4gICAgICAgICAgY2FzZSBcIndcIjpcbiAgICAgICAgICAgIHJldHVybiBcIndlZWtcIjtcbiAgICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwibW9udGhcIjtcbiAgICAgICAgICBjYXNlIFwieVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwieWVhclwiO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRva2VuVG9TdHJpbmcgPSAobGlsZHVyKSA9PiAodG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGVkID0gdG9rZW5Ub0ZpZWxkKHRva2VuKTtcbiAgICAgICAgaWYgKG1hcHBlZCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLm51bShsaWxkdXIuZ2V0KG1hcHBlZCksIHRva2VuLmxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9rZW5zID0gRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksXG4gICAgICByZWFsVG9rZW5zID0gdG9rZW5zLnJlZHVjZShcbiAgICAgICAgKGZvdW5kLCB7IGxpdGVyYWwsIHZhbCB9KSA9PiAobGl0ZXJhbCA/IGZvdW5kIDogZm91bmQuY29uY2F0KHZhbCkpLFxuICAgICAgICBbXVxuICAgICAgKSxcbiAgICAgIGNvbGxhcHNlZCA9IGR1ci5zaGlmdFRvKC4uLnJlYWxUb2tlbnMubWFwKHRva2VuVG9GaWVsZCkuZmlsdGVyKCh0KSA9PiB0KSk7XG4gICAgcmV0dXJuIHN0cmluZ2lmeVRva2Vucyh0b2tlbnMsIHRva2VuVG9TdHJpbmcoY29sbGFwc2VkKSk7XG4gIH1cbn1cbiIsICJleHBvcnQgZGVmYXVsdCBjbGFzcyBJbnZhbGlkIHtcbiAgY29uc3RydWN0b3IocmVhc29uLCBleHBsYW5hdGlvbikge1xuICAgIHRoaXMucmVhc29uID0gcmVhc29uO1xuICAgIHRoaXMuZXhwbGFuYXRpb24gPSBleHBsYW5hdGlvbjtcbiAgfVxuXG4gIHRvTWVzc2FnZSgpIHtcbiAgICBpZiAodGhpcy5leHBsYW5hdGlvbikge1xuICAgICAgcmV0dXJuIGAke3RoaXMucmVhc29ufTogJHt0aGlzLmV4cGxhbmF0aW9ufWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJlYXNvbjtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBab25lSXNBYnN0cmFjdEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5cbi8qKlxuICogQGludGVyZmFjZVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBab25lIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHpvbmVcbiAgICogQGFic3RyYWN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgdHlwZSgpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgem9uZS5cbiAgICogQGFic3RyYWN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbmFtZSgpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgZ2V0IGlhbmFOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBvZmZzZXQgaXMga25vd24gdG8gYmUgZml4ZWQgZm9yIHRoZSB3aG9sZSB5ZWFyLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNVbml2ZXJzYWwoKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyBjb21tb24gbmFtZSAoc3VjaCBhcyBFU1QpIGF0IHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge251bWJlcn0gdHMgLSBFcG9jaCBtaWxsaXNlY29uZHMgZm9yIHdoaWNoIHRvIGdldCB0aGUgbmFtZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gYWZmZWN0IHRoZSBmb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMuZm9ybWF0IC0gV2hhdCBzdHlsZSBvZiBvZmZzZXQgdG8gcmV0dXJuLiBBY2NlcHRzICdsb25nJyBvciAnc2hvcnQnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5sb2NhbGUgLSBXaGF0IGxvY2FsZSB0byByZXR1cm4gdGhlIG9mZnNldCBuYW1lIGluLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBvZmZzZXROYW1lKHRzLCBvcHRzKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyB2YWx1ZSBhcyBhIHN0cmluZ1xuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtudW1iZXJ9IHRzIC0gRXBvY2ggbWlsbGlzZWNvbmRzIGZvciB3aGljaCB0byBnZXQgdGhlIG9mZnNldFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gV2hhdCBzdHlsZSBvZiBvZmZzZXQgdG8gcmV0dXJuLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0cyAnbmFycm93JywgJ3Nob3J0Jywgb3IgJ3RlY2hpZScuIFJldHVybmluZyAnKzYnLCAnKzA2OjAwJywgb3IgJyswNjAwJyByZXNwZWN0aXZlbHlcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgZm9yIHRoaXMgem9uZSBhdCB0aGUgc3BlY2lmaWVkIHRpbWVzdGFtcC5cbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gY29tcHV0ZSB0aGUgb2Zmc2V0XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIG9mZnNldCh0cykge1xuICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBab25lIGlzIGVxdWFsIHRvIGFub3RoZXIgem9uZVxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtab25lfSBvdGhlclpvbmUgLSB0aGUgem9uZSB0byBjb21wYXJlXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBlcXVhbHMob3RoZXJab25lKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIFpvbmUgaXMgdmFsaWQuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBmb3JtYXRPZmZzZXQsIHBhcnNlWm9uZUluZm8gfSBmcm9tIFwiLi4vaW1wbC91dGlsLmpzXCI7XG5pbXBvcnQgWm9uZSBmcm9tIFwiLi4vem9uZS5qc1wiO1xuXG5sZXQgc2luZ2xldG9uID0gbnVsbDtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBsb2NhbCB6b25lIGZvciB0aGlzIEphdmFTY3JpcHQgZW52aXJvbm1lbnQuXG4gKiBAaW1wbGVtZW50cyB7Wm9uZX1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3lzdGVtWm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBsb2NhbCB6b25lXG4gICAqIEByZXR1cm4ge1N5c3RlbVpvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHtcbiAgICAgIHNpbmdsZXRvbiA9IG5ldyBTeXN0ZW1ab25lKCk7XG4gICAgfVxuICAgIHJldHVybiBzaW5nbGV0b247XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gXCJzeXN0ZW1cIjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IGlzVW5pdmVyc2FsKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldE5hbWUodHMsIHsgZm9ybWF0LCBsb2NhbGUgfSkge1xuICAgIHJldHVybiBwYXJzZVpvbmVJbmZvKHRzLCBmb3JtYXQsIGxvY2FsZSk7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkge1xuICAgIHJldHVybiBmb3JtYXRPZmZzZXQodGhpcy5vZmZzZXQodHMpLCBmb3JtYXQpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgb2Zmc2V0KHRzKSB7XG4gICAgcmV0dXJuIC1uZXcgRGF0ZSh0cykuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwic3lzdGVtXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZvcm1hdE9mZnNldCwgcGFyc2Vab25lSW5mbywgaXNVbmRlZmluZWQsIG9ialRvTG9jYWxUUyB9IGZyb20gXCIuLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCBab25lIGZyb20gXCIuLi96b25lLmpzXCI7XG5cbmxldCBkdGZDYWNoZSA9IHt9O1xuZnVuY3Rpb24gbWFrZURURih6b25lKSB7XG4gIGlmICghZHRmQ2FjaGVbem9uZV0pIHtcbiAgICBkdGZDYWNoZVt6b25lXSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFwiZW4tVVNcIiwge1xuICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgIHRpbWVab25lOiB6b25lLFxuICAgICAgeWVhcjogXCJudW1lcmljXCIsXG4gICAgICBtb250aDogXCIyLWRpZ2l0XCIsXG4gICAgICBkYXk6IFwiMi1kaWdpdFwiLFxuICAgICAgaG91cjogXCIyLWRpZ2l0XCIsXG4gICAgICBtaW51dGU6IFwiMi1kaWdpdFwiLFxuICAgICAgc2Vjb25kOiBcIjItZGlnaXRcIixcbiAgICAgIGVyYTogXCJzaG9ydFwiLFxuICAgIH0pO1xuICB9XG4gIHJldHVybiBkdGZDYWNoZVt6b25lXTtcbn1cblxuY29uc3QgdHlwZVRvUG9zID0ge1xuICB5ZWFyOiAwLFxuICBtb250aDogMSxcbiAgZGF5OiAyLFxuICBlcmE6IDMsXG4gIGhvdXI6IDQsXG4gIG1pbnV0ZTogNSxcbiAgc2Vjb25kOiA2LFxufTtcblxuZnVuY3Rpb24gaGFja3lPZmZzZXQoZHRmLCBkYXRlKSB7XG4gIGNvbnN0IGZvcm1hdHRlZCA9IGR0Zi5mb3JtYXQoZGF0ZSkucmVwbGFjZSgvXFx1MjAwRS9nLCBcIlwiKSxcbiAgICBwYXJzZWQgPSAvKFxcZCspXFwvKFxcZCspXFwvKFxcZCspIChBRHxCQyksPyAoXFxkKyk6KFxcZCspOihcXGQrKS8uZXhlYyhmb3JtYXR0ZWQpLFxuICAgIFssIGZNb250aCwgZkRheSwgZlllYXIsIGZhZE9yQmMsIGZIb3VyLCBmTWludXRlLCBmU2Vjb25kXSA9IHBhcnNlZDtcbiAgcmV0dXJuIFtmWWVhciwgZk1vbnRoLCBmRGF5LCBmYWRPckJjLCBmSG91ciwgZk1pbnV0ZSwgZlNlY29uZF07XG59XG5cbmZ1bmN0aW9uIHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSkge1xuICBjb25zdCBmb3JtYXR0ZWQgPSBkdGYuZm9ybWF0VG9QYXJ0cyhkYXRlKTtcbiAgY29uc3QgZmlsbGVkID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgeyB0eXBlLCB2YWx1ZSB9ID0gZm9ybWF0dGVkW2ldO1xuICAgIGNvbnN0IHBvcyA9IHR5cGVUb1Bvc1t0eXBlXTtcblxuICAgIGlmICh0eXBlID09PSBcImVyYVwiKSB7XG4gICAgICBmaWxsZWRbcG9zXSA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKHBvcykpIHtcbiAgICAgIGZpbGxlZFtwb3NdID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZpbGxlZDtcbn1cblxubGV0IGlhbmFab25lQ2FjaGUgPSB7fTtcbi8qKlxuICogQSB6b25lIGlkZW50aWZpZWQgYnkgYW4gSUFOQSBpZGVudGlmaWVyLCBsaWtlIEFtZXJpY2EvTmV3X1lvcmtcbiAqIEBpbXBsZW1lbnRzIHtab25lfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJQU5BWm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBab25lIG5hbWVcbiAgICogQHJldHVybiB7SUFOQVpvbmV9XG4gICAqL1xuICBzdGF0aWMgY3JlYXRlKG5hbWUpIHtcbiAgICBpZiAoIWlhbmFab25lQ2FjaGVbbmFtZV0pIHtcbiAgICAgIGlhbmFab25lQ2FjaGVbbmFtZV0gPSBuZXcgSUFOQVpvbmUobmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBpYW5hWm9uZUNhY2hlW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGxvY2FsIGNhY2hlcy4gU2hvdWxkIG9ubHkgYmUgbmVjZXNzYXJ5IGluIHRlc3Rpbmcgc2NlbmFyaW9zLlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIHJlc2V0Q2FjaGUoKSB7XG4gICAgaWFuYVpvbmVDYWNoZSA9IHt9O1xuICAgIGR0ZkNhY2hlID0ge307XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBwcm92aWRlZCBzdHJpbmcgaXMgYSB2YWxpZCBzcGVjaWZpZXIuIFRoaXMgb25seSBjaGVja3MgdGhlIHN0cmluZydzIGZvcm1hdCwgbm90IHRoYXQgdGhlIHNwZWNpZmllciBpZGVudGlmaWVzIGEga25vd24gem9uZTsgc2VlIGlzVmFsaWRab25lIGZvciB0aGF0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcyAtIFRoZSBzdHJpbmcgdG8gY2hlY2sgdmFsaWRpdHkgb25cbiAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcihcIkFtZXJpY2EvTmV3X1lvcmtcIikgLy89PiB0cnVlXG4gICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRTcGVjaWZpZXIoXCJTcG9ydH5+YmxvcnBcIikgLy89PiBmYWxzZVxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIG1ldGhvZCByZXR1cm5zIGZhbHNlIGZvciBzb21lIHZhbGlkIElBTkEgbmFtZXMuIFVzZSBpc1ZhbGlkWm9uZSBpbnN0ZWFkLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgc3RhdGljIGlzVmFsaWRTcGVjaWZpZXIocykge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRab25lKHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgcHJvdmlkZWQgc3RyaW5nIGlkZW50aWZpZXMgYSByZWFsIHpvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvbmUgLSBUaGUgc3RyaW5nIHRvIGNoZWNrXG4gICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRab25lKFwiQW1lcmljYS9OZXdfWW9ya1wiKSAvLz0+IHRydWVcbiAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFpvbmUoXCJGYW50YXNpYS9DYXN0bGVcIikgLy89PiBmYWxzZVxuICAgKiBAZXhhbXBsZSBJQU5BWm9uZS5pc1ZhbGlkWm9uZShcIlNwb3J0fn5ibG9ycFwiKSAvLz0+IGZhbHNlXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNWYWxpZFpvbmUoem9uZSkge1xuICAgIGlmICghem9uZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJlbi1VU1wiLCB7IHRpbWVab25lOiB6b25lIH0pLmZvcm1hdCgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG5hbWUpIHtcbiAgICBzdXBlcigpO1xuICAgIC8qKiBAcHJpdmF0ZSAqKi9cbiAgICB0aGlzLnpvbmVOYW1lID0gbmFtZTtcbiAgICAvKiogQHByaXZhdGUgKiovXG4gICAgdGhpcy52YWxpZCA9IElBTkFab25lLmlzVmFsaWRab25lKG5hbWUpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIFwiaWFuYVwiO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuem9uZU5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNVbml2ZXJzYWwoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgb2Zmc2V0TmFtZSh0cywgeyBmb3JtYXQsIGxvY2FsZSB9KSB7XG4gICAgcmV0dXJuIHBhcnNlWm9uZUluZm8odHMsIGZvcm1hdCwgbG9jYWxlLCB0aGlzLm5hbWUpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHtcbiAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHRoaXMub2Zmc2V0KHRzKSwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldCh0cykge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0cyk7XG5cbiAgICBpZiAoaXNOYU4oZGF0ZSkpIHJldHVybiBOYU47XG5cbiAgICBjb25zdCBkdGYgPSBtYWtlRFRGKHRoaXMubmFtZSk7XG4gICAgbGV0IFt5ZWFyLCBtb250aCwgZGF5LCBhZE9yQmMsIGhvdXIsIG1pbnV0ZSwgc2Vjb25kXSA9IGR0Zi5mb3JtYXRUb1BhcnRzXG4gICAgICA/IHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSlcbiAgICAgIDogaGFja3lPZmZzZXQoZHRmLCBkYXRlKTtcblxuICAgIGlmIChhZE9yQmMgPT09IFwiQkNcIikge1xuICAgICAgeWVhciA9IC1NYXRoLmFicyh5ZWFyKSArIDE7XG4gICAgfVxuXG4gICAgLy8gYmVjYXVzZSB3ZSdyZSB1c2luZyBob3VyMTIgYW5kIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTEwMjU1NjQmY2FuPTImcT0lMjIyNCUzQTAwJTIyJTIwZGF0ZXRpbWVmb3JtYXRcbiAgICBjb25zdCBhZGp1c3RlZEhvdXIgPSBob3VyID09PSAyNCA/IDAgOiBob3VyO1xuXG4gICAgY29uc3QgYXNVVEMgPSBvYmpUb0xvY2FsVFMoe1xuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5LFxuICAgICAgaG91cjogYWRqdXN0ZWRIb3VyLFxuICAgICAgbWludXRlLFxuICAgICAgc2Vjb25kLFxuICAgICAgbWlsbGlzZWNvbmQ6IDAsXG4gICAgfSk7XG5cbiAgICBsZXQgYXNUUyA9ICtkYXRlO1xuICAgIGNvbnN0IG92ZXIgPSBhc1RTICUgMTAwMDtcbiAgICBhc1RTIC09IG92ZXIgPj0gMCA/IG92ZXIgOiAxMDAwICsgb3ZlcjtcbiAgICByZXR1cm4gKGFzVVRDIC0gYXNUUykgLyAoNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwiaWFuYVwiICYmIG90aGVyWm9uZS5uYW1lID09PSB0aGlzLm5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZDtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZvcm1hdE9mZnNldCwgc2lnbmVkT2Zmc2V0IH0gZnJvbSBcIi4uL2ltcGwvdXRpbC5qc1wiO1xuaW1wb3J0IFpvbmUgZnJvbSBcIi4uL3pvbmUuanNcIjtcblxubGV0IHNpbmdsZXRvbiA9IG51bGw7XG5cbi8qKlxuICogQSB6b25lIHdpdGggYSBmaXhlZCBvZmZzZXQgKG1lYW5pbmcgbm8gRFNUKVxuICogQGltcGxlbWVudHMge1pvbmV9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpeGVkT2Zmc2V0Wm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIFVUQ1xuICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IHV0Y0luc3RhbmNlKCkge1xuICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHtcbiAgICAgIHNpbmdsZXRvbiA9IG5ldyBGaXhlZE9mZnNldFpvbmUoMCk7XG4gICAgfVxuICAgIHJldHVybiBzaW5nbGV0b247XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGluc3RhbmNlIHdpdGggYSBzcGVjaWZpZWQgb2Zmc2V0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXQgLSBUaGUgb2Zmc2V0IGluIG1pbnV0ZXNcbiAgICogQHJldHVybiB7Rml4ZWRPZmZzZXRab25lfVxuICAgKi9cbiAgc3RhdGljIGluc3RhbmNlKG9mZnNldCkge1xuICAgIHJldHVybiBvZmZzZXQgPT09IDAgPyBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2UgOiBuZXcgRml4ZWRPZmZzZXRab25lKG9mZnNldCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGluc3RhbmNlIG9mIEZpeGVkT2Zmc2V0Wm9uZSBmcm9tIGEgVVRDIG9mZnNldCBzdHJpbmcsIGxpa2UgXCJVVEMrNlwiXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIG9mZnNldCBzdHJpbmcgdG8gcGFyc2VcbiAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKFwiVVRDKzZcIilcbiAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKFwiVVRDKzA2XCIpXG4gICAqIEBleGFtcGxlIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihcIlVUQy02OjAwXCIpXG4gICAqIEByZXR1cm4ge0ZpeGVkT2Zmc2V0Wm9uZX1cbiAgICovXG4gIHN0YXRpYyBwYXJzZVNwZWNpZmllcihzKSB7XG4gICAgaWYgKHMpIHtcbiAgICAgIGNvbnN0IHIgPSBzLm1hdGNoKC9edXRjKD86KFsrLV1cXGR7MSwyfSkoPzo6KFxcZHsyfSkpPyk/JC9pKTtcbiAgICAgIGlmIChyKSB7XG4gICAgICAgIHJldHVybiBuZXcgRml4ZWRPZmZzZXRab25lKHNpZ25lZE9mZnNldChyWzFdLCByWzJdKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob2Zmc2V0KSB7XG4gICAgc3VwZXIoKTtcbiAgICAvKiogQHByaXZhdGUgKiovXG4gICAgdGhpcy5maXhlZCA9IG9mZnNldDtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiBcImZpeGVkXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maXhlZCA9PT0gMCA/IFwiVVRDXCIgOiBgVVRDJHtmb3JtYXRPZmZzZXQodGhpcy5maXhlZCwgXCJuYXJyb3dcIil9YDtcbiAgfVxuXG4gIGdldCBpYW5hTmFtZSgpIHtcbiAgICBpZiAodGhpcy5maXhlZCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFwiRXRjL1VUQ1wiO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYEV0Yy9HTVQke2Zvcm1hdE9mZnNldCgtdGhpcy5maXhlZCwgXCJuYXJyb3dcIil9YDtcbiAgICB9XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBvZmZzZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkge1xuICAgIHJldHVybiBmb3JtYXRPZmZzZXQodGhpcy5maXhlZCwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBpc1VuaXZlcnNhbCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldCgpIHtcbiAgICByZXR1cm4gdGhpcy5maXhlZDtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwiZml4ZWRcIiAmJiBvdGhlclpvbmUuZml4ZWQgPT09IHRoaXMuZml4ZWQ7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCBab25lIGZyb20gXCIuLi96b25lLmpzXCI7XG5cbi8qKlxuICogQSB6b25lIHRoYXQgZmFpbGVkIHRvIHBhcnNlLiBZb3Ugc2hvdWxkIG5ldmVyIG5lZWQgdG8gaW5zdGFudGlhdGUgdGhpcy5cbiAqIEBpbXBsZW1lbnRzIHtab25lfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnZhbGlkWm9uZSBleHRlbmRzIFpvbmUge1xuICBjb25zdHJ1Y3Rvcih6b25lTmFtZSkge1xuICAgIHN1cGVyKCk7XG4gICAgLyoqICBAcHJpdmF0ZSAqL1xuICAgIHRoaXMuem9uZU5hbWUgPSB6b25lTmFtZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiBcImludmFsaWRcIjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnpvbmVOYW1lO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IGlzVW5pdmVyc2FsKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldE5hbWUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBvZmZzZXQoKSB7XG4gICAgcmV0dXJuIE5hTjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsICIvKipcbiAqIEBwcml2YXRlXG4gKi9cblxuaW1wb3J0IFpvbmUgZnJvbSBcIi4uL3pvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBGaXhlZE9mZnNldFpvbmUgZnJvbSBcIi4uL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IEludmFsaWRab25lIGZyb20gXCIuLi96b25lcy9pbnZhbGlkWm9uZS5qc1wiO1xuXG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgaXNTdHJpbmcsIGlzTnVtYmVyIH0gZnJvbSBcIi4vdXRpbC5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplWm9uZShpbnB1dCwgZGVmYXVsdFpvbmUpIHtcbiAgbGV0IG9mZnNldDtcbiAgaWYgKGlzVW5kZWZpbmVkKGlucHV0KSB8fCBpbnB1dCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBkZWZhdWx0Wm9uZTtcbiAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIFpvbmUpIHtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH0gZWxzZSBpZiAoaXNTdHJpbmcoaW5wdXQpKSB7XG4gICAgY29uc3QgbG93ZXJlZCA9IGlucHV0LnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxvd2VyZWQgPT09IFwibG9jYWxcIiB8fCBsb3dlcmVkID09PSBcInN5c3RlbVwiKSByZXR1cm4gZGVmYXVsdFpvbmU7XG4gICAgZWxzZSBpZiAobG93ZXJlZCA9PT0gXCJ1dGNcIiB8fCBsb3dlcmVkID09PSBcImdtdFwiKSByZXR1cm4gRml4ZWRPZmZzZXRab25lLnV0Y0luc3RhbmNlO1xuICAgIGVsc2UgcmV0dXJuIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihsb3dlcmVkKSB8fCBJQU5BWm9uZS5jcmVhdGUoaW5wdXQpO1xuICB9IGVsc2UgaWYgKGlzTnVtYmVyKGlucHV0KSkge1xuICAgIHJldHVybiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoaW5wdXQpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIiAmJiBpbnB1dC5vZmZzZXQgJiYgdHlwZW9mIGlucHV0Lm9mZnNldCA9PT0gXCJudW1iZXJcIikge1xuICAgIC8vIFRoaXMgaXMgZHVtYiwgYnV0IHRoZSBpbnN0YW5jZW9mIGNoZWNrIGFib3ZlIGRvZXNuJ3Qgc2VlbSB0byByZWFsbHkgd29ya1xuICAgIC8vIHNvIHdlJ3JlIGR1Y2sgY2hlY2tpbmcgaXRcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBJbnZhbGlkWm9uZShpbnB1dCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgU3lzdGVtWm9uZSBmcm9tIFwiLi96b25lcy9zeXN0ZW1ab25lLmpzXCI7XG5pbXBvcnQgSUFOQVpvbmUgZnJvbSBcIi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcIi4vaW1wbC9sb2NhbGUuanNcIjtcblxuaW1wb3J0IHsgbm9ybWFsaXplWm9uZSB9IGZyb20gXCIuL2ltcGwvem9uZVV0aWwuanNcIjtcblxubGV0IG5vdyA9ICgpID0+IERhdGUubm93KCksXG4gIGRlZmF1bHRab25lID0gXCJzeXN0ZW1cIixcbiAgZGVmYXVsdExvY2FsZSA9IG51bGwsXG4gIGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0gPSBudWxsLFxuICBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIgPSBudWxsLFxuICB0aHJvd09uSW52YWxpZDtcblxuLyoqXG4gKiBTZXR0aW5ncyBjb250YWlucyBzdGF0aWMgZ2V0dGVycyBhbmQgc2V0dGVycyB0aGF0IGNvbnRyb2wgTHV4b24ncyBvdmVyYWxsIGJlaGF2aW9yLiBMdXhvbiBpcyBhIHNpbXBsZSBsaWJyYXJ5IHdpdGggZmV3IG9wdGlvbnMsIGJ1dCB0aGUgb25lcyBpdCBkb2VzIGhhdmUgbGl2ZSBoZXJlLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNhbGxiYWNrIGZvciByZXR1cm5pbmcgdGhlIGN1cnJlbnQgdGltZXN0YW1wLlxuICAgKiBAdHlwZSB7ZnVuY3Rpb259XG4gICAqL1xuICBzdGF0aWMgZ2V0IG5vdygpIHtcbiAgICByZXR1cm4gbm93O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY2FsbGJhY2sgZm9yIHJldHVybmluZyB0aGUgY3VycmVudCB0aW1lc3RhbXAuXG4gICAqIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgbnVtYmVyLCB3aGljaCB3aWxsIGJlIGludGVycHJldGVkIGFzIGFuIEVwb2NoIG1pbGxpc2Vjb25kIGNvdW50XG4gICAqIEB0eXBlIHtmdW5jdGlvbn1cbiAgICogQGV4YW1wbGUgU2V0dGluZ3Mubm93ID0gKCkgPT4gRGF0ZS5ub3coKSArIDMwMDAgLy8gcHJldGVuZCBpdCBpcyAzIHNlY29uZHMgaW4gdGhlIGZ1dHVyZVxuICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiAwIC8vIGFsd2F5cyBwcmV0ZW5kIGl0J3MgSmFuIDEsIDE5NzAgYXQgbWlkbmlnaHQgaW4gVVRDIHRpbWVcbiAgICovXG4gIHN0YXRpYyBzZXQgbm93KG4pIHtcbiAgICBub3cgPSBuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCB0aW1lIHpvbmUgdG8gY3JlYXRlIERhdGVUaW1lcyBpbi4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogVXNlIHRoZSB2YWx1ZSBcInN5c3RlbVwiIHRvIHJlc2V0IHRoaXMgdmFsdWUgdG8gdGhlIHN5c3RlbSdzIHRpbWUgem9uZS5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBzZXQgZGVmYXVsdFpvbmUoem9uZSkge1xuICAgIGRlZmF1bHRab25lID0gem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgdGltZSB6b25lIG9iamVjdCBjdXJyZW50bHkgdXNlZCB0byBjcmVhdGUgRGF0ZVRpbWVzLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUgc3lzdGVtJ3MgdGltZSB6b25lICh0aGUgb25lIHNldCBvbiB0aGUgbWFjaGluZSB0aGF0IHJ1bnMgdGhpcyBjb2RlKS5cbiAgICogQHR5cGUge1pvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IGRlZmF1bHRab25lKCkge1xuICAgIHJldHVybiBub3JtYWxpemVab25lKGRlZmF1bHRab25lLCBTeXN0ZW1ab25lLmluc3RhbmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgbG9jYWxlIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdExvY2FsZSgpIHtcbiAgICByZXR1cm4gZGVmYXVsdExvY2FsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgbG9jYWxlIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBzZXQgZGVmYXVsdExvY2FsZShsb2NhbGUpIHtcbiAgICBkZWZhdWx0TG9jYWxlID0gbG9jYWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGVmYXVsdCBudW1iZXJpbmcgc3lzdGVtIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSgpIHtcbiAgICByZXR1cm4gZGVmYXVsdE51bWJlcmluZ1N5c3RlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgbnVtYmVyaW5nIHN5c3RlbSB0byBjcmVhdGUgRGF0ZVRpbWVzIHdpdGguIERvZXMgbm90IGFmZmVjdCBleGlzdGluZyBpbnN0YW5jZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgc2V0IGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0obnVtYmVyaW5nU3lzdGVtKSB7XG4gICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bWJlcmluZ1N5c3RlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGNhbGVuZGFyIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKCkge1xuICAgIHJldHVybiBkZWZhdWx0T3V0cHV0Q2FsZW5kYXI7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZWZhdWx0IG91dHB1dCBjYWxlbmRhciB0byBjcmVhdGUgRGF0ZVRpbWVzIHdpdGguIERvZXMgbm90IGFmZmVjdCBleGlzdGluZyBpbnN0YW5jZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgc2V0IGRlZmF1bHRPdXRwdXRDYWxlbmRhcihvdXRwdXRDYWxlbmRhcikge1xuICAgIGRlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIEx1eG9uIHdpbGwgdGhyb3cgd2hlbiBpdCBlbmNvdW50ZXJzIGludmFsaWQgRGF0ZVRpbWVzLCBEdXJhdGlvbnMsIG9yIEludGVydmFsc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBnZXQgdGhyb3dPbkludmFsaWQoKSB7XG4gICAgcmV0dXJuIHRocm93T25JbnZhbGlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIEx1eG9uIHdpbGwgdGhyb3cgd2hlbiBpdCBlbmNvdW50ZXJzIGludmFsaWQgRGF0ZVRpbWVzLCBEdXJhdGlvbnMsIG9yIEludGVydmFsc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBzZXQgdGhyb3dPbkludmFsaWQodCkge1xuICAgIHRocm93T25JbnZhbGlkID0gdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBMdXhvbidzIGdsb2JhbCBjYWNoZXMuIFNob3VsZCBvbmx5IGJlIG5lY2Vzc2FyeSBpbiB0ZXN0aW5nIHNjZW5hcmlvcy5cbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyByZXNldENhY2hlcygpIHtcbiAgICBMb2NhbGUucmVzZXRDYWNoZSgpO1xuICAgIElBTkFab25lLnJlc2V0Q2FjaGUoKTtcbiAgfVxufVxuIiwgImltcG9ydCB7IHBhZFN0YXJ0LCByb3VuZFRvLCBoYXNSZWxhdGl2ZSB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCAqIGFzIEVuZ2xpc2ggZnJvbSBcIi4vZW5nbGlzaC5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuLi9zZXR0aW5ncy5qc1wiO1xuaW1wb3J0IERhdGVUaW1lIGZyb20gXCIuLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IElBTkFab25lIGZyb20gXCIuLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuXG4vLyB0b2RvIC0gcmVtYXAgY2FjaGluZ1xuXG5sZXQgaW50bExGQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGdldENhY2hlZExGKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTtcbiAgbGV0IGR0ZiA9IGludGxMRkNhY2hlW2tleV07XG4gIGlmICghZHRmKSB7XG4gICAgZHRmID0gbmV3IEludGwuTGlzdEZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxMRkNhY2hlW2tleV0gPSBkdGY7XG4gIH1cbiAgcmV0dXJuIGR0Zjtcbn1cblxubGV0IGludGxEVENhY2hlID0ge307XG5mdW5jdGlvbiBnZXRDYWNoZWREVEYobG9jU3RyaW5nLCBvcHRzID0ge30pIHtcbiAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgb3B0c10pO1xuICBsZXQgZHRmID0gaW50bERUQ2FjaGVba2V5XTtcbiAgaWYgKCFkdGYpIHtcbiAgICBkdGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxEVENhY2hlW2tleV0gPSBkdGY7XG4gIH1cbiAgcmV0dXJuIGR0Zjtcbn1cblxubGV0IGludGxOdW1DYWNoZSA9IHt9O1xuZnVuY3Rpb24gZ2V0Q2FjaGVkSU5GKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTtcbiAgbGV0IGluZiA9IGludGxOdW1DYWNoZVtrZXldO1xuICBpZiAoIWluZikge1xuICAgIGluZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxOdW1DYWNoZVtrZXldID0gaW5mO1xuICB9XG4gIHJldHVybiBpbmY7XG59XG5cbmxldCBpbnRsUmVsQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGdldENhY2hlZFJURihsb2NTdHJpbmcsIG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJhc2UsIC4uLmNhY2hlS2V5T3B0cyB9ID0gb3B0czsgLy8gZXhjbHVkZSBgYmFzZWAgZnJvbSB0aGUgb3B0aW9uc1xuICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeShbbG9jU3RyaW5nLCBjYWNoZUtleU9wdHNdKTtcbiAgbGV0IGluZiA9IGludGxSZWxDYWNoZVtrZXldO1xuICBpZiAoIWluZikge1xuICAgIGluZiA9IG5ldyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxSZWxDYWNoZVtrZXldID0gaW5mO1xuICB9XG4gIHJldHVybiBpbmY7XG59XG5cbmxldCBzeXNMb2NhbGVDYWNoZSA9IG51bGw7XG5mdW5jdGlvbiBzeXN0ZW1Mb2NhbGUoKSB7XG4gIGlmIChzeXNMb2NhbGVDYWNoZSkge1xuICAgIHJldHVybiBzeXNMb2NhbGVDYWNoZTtcbiAgfSBlbHNlIHtcbiAgICBzeXNMb2NhbGVDYWNoZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlO1xuICAgIHJldHVybiBzeXNMb2NhbGVDYWNoZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGVTdHIpIHtcbiAgLy8gSSByZWFsbHkgd2FudCB0byBhdm9pZCB3cml0aW5nIGEgQkNQIDQ3IHBhcnNlclxuICAvLyBzZWUsIGUuZy4gaHR0cHM6Ly9naXRodWIuY29tL3dvb29ybS9iY3AtNDdcbiAgLy8gSW5zdGVhZCwgd2UnbGwgZG8gdGhpczpcblxuICAvLyBhKSBpZiB0aGUgc3RyaW5nIGhhcyBubyAtdSBleHRlbnNpb25zLCBqdXN0IGxlYXZlIGl0IGFsb25lXG4gIC8vIGIpIGlmIGl0IGRvZXMsIHVzZSBJbnRsIHRvIHJlc29sdmUgZXZlcnl0aGluZ1xuICAvLyBjKSBpZiBJbnRsIGZhaWxzLCB0cnkgYWdhaW4gd2l0aG91dCB0aGUgLXVcblxuICBjb25zdCB1SW5kZXggPSBsb2NhbGVTdHIuaW5kZXhPZihcIi11LVwiKTtcbiAgaWYgKHVJbmRleCA9PT0gLTEpIHtcbiAgICByZXR1cm4gW2xvY2FsZVN0cl07XG4gIH0gZWxzZSB7XG4gICAgbGV0IG9wdGlvbnM7XG4gICAgY29uc3Qgc21hbGxlciA9IGxvY2FsZVN0ci5zdWJzdHJpbmcoMCwgdUluZGV4KTtcbiAgICB0cnkge1xuICAgICAgb3B0aW9ucyA9IGdldENhY2hlZERURihsb2NhbGVTdHIpLnJlc29sdmVkT3B0aW9ucygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIG9wdGlvbnMgPSBnZXRDYWNoZWREVEYoc21hbGxlcikucmVzb2x2ZWRPcHRpb25zKCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyIH0gPSBvcHRpb25zO1xuICAgIC8vIHJldHVybiB0aGUgc21hbGxlciBvbmUgc28gdGhhdCB3ZSBjYW4gYXBwZW5kIHRoZSBjYWxlbmRhciBhbmQgbnVtYmVyaW5nIG92ZXJyaWRlcyB0byBpdFxuICAgIHJldHVybiBbc21hbGxlciwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhcl07XG4gIH1cbn1cblxuZnVuY3Rpb24gaW50bENvbmZpZ1N0cmluZyhsb2NhbGVTdHIsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIpIHtcbiAgaWYgKG91dHB1dENhbGVuZGFyIHx8IG51bWJlcmluZ1N5c3RlbSkge1xuICAgIGxvY2FsZVN0ciArPSBcIi11XCI7XG5cbiAgICBpZiAob3V0cHV0Q2FsZW5kYXIpIHtcbiAgICAgIGxvY2FsZVN0ciArPSBgLWNhLSR7b3V0cHV0Q2FsZW5kYXJ9YDtcbiAgICB9XG5cbiAgICBpZiAobnVtYmVyaW5nU3lzdGVtKSB7XG4gICAgICBsb2NhbGVTdHIgKz0gYC1udS0ke251bWJlcmluZ1N5c3RlbX1gO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYWxlU3RyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsb2NhbGVTdHI7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwTW9udGhzKGYpIHtcbiAgY29uc3QgbXMgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMTI7IGkrKykge1xuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUudXRjKDIwMTYsIGksIDEpO1xuICAgIG1zLnB1c2goZihkdCkpO1xuICB9XG4gIHJldHVybiBtcztcbn1cblxuZnVuY3Rpb24gbWFwV2Vla2RheXMoZikge1xuICBjb25zdCBtcyA9IFtdO1xuICBmb3IgKGxldCBpID0gMTsgaSA8PSA3OyBpKyspIHtcbiAgICBjb25zdCBkdCA9IERhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMgKyBpKTtcbiAgICBtcy5wdXNoKGYoZHQpKTtcbiAgfVxuICByZXR1cm4gbXM7XG59XG5cbmZ1bmN0aW9uIGxpc3RTdHVmZihsb2MsIGxlbmd0aCwgZGVmYXVsdE9LLCBlbmdsaXNoRm4sIGludGxGbikge1xuICBjb25zdCBtb2RlID0gbG9jLmxpc3RpbmdNb2RlKGRlZmF1bHRPSyk7XG5cbiAgaWYgKG1vZGUgPT09IFwiZXJyb3JcIikge1xuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2UgaWYgKG1vZGUgPT09IFwiZW5cIikge1xuICAgIHJldHVybiBlbmdsaXNoRm4obGVuZ3RoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaW50bEZuKGxlbmd0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3VwcG9ydHNGYXN0TnVtYmVycyhsb2MpIHtcbiAgaWYgKGxvYy5udW1iZXJpbmdTeXN0ZW0gJiYgbG9jLm51bWJlcmluZ1N5c3RlbSAhPT0gXCJsYXRuXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxvYy5udW1iZXJpbmdTeXN0ZW0gPT09IFwibGF0blwiIHx8XG4gICAgICAhbG9jLmxvY2FsZSB8fFxuICAgICAgbG9jLmxvY2FsZS5zdGFydHNXaXRoKFwiZW5cIikgfHxcbiAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvYy5pbnRsKS5yZXNvbHZlZE9wdGlvbnMoKS5udW1iZXJpbmdTeXN0ZW0gPT09IFwibGF0blwiXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuY2xhc3MgUG9seU51bWJlckZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKGludGwsIGZvcmNlU2ltcGxlLCBvcHRzKSB7XG4gICAgdGhpcy5wYWRUbyA9IG9wdHMucGFkVG8gfHwgMDtcbiAgICB0aGlzLmZsb29yID0gb3B0cy5mbG9vciB8fCBmYWxzZTtcblxuICAgIGNvbnN0IHsgcGFkVG8sIGZsb29yLCAuLi5vdGhlck9wdHMgfSA9IG9wdHM7XG5cbiAgICBpZiAoIWZvcmNlU2ltcGxlIHx8IE9iamVjdC5rZXlzKG90aGVyT3B0cykubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgaW50bE9wdHMgPSB7IHVzZUdyb3VwaW5nOiBmYWxzZSwgLi4ub3B0cyB9O1xuICAgICAgaWYgKG9wdHMucGFkVG8gPiAwKSBpbnRsT3B0cy5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IG9wdHMucGFkVG87XG4gICAgICB0aGlzLmluZiA9IGdldENhY2hlZElORihpbnRsLCBpbnRsT3B0cyk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0KGkpIHtcbiAgICBpZiAodGhpcy5pbmYpIHtcbiAgICAgIGNvbnN0IGZpeGVkID0gdGhpcy5mbG9vciA/IE1hdGguZmxvb3IoaSkgOiBpO1xuICAgICAgcmV0dXJuIHRoaXMuaW5mLmZvcm1hdChmaXhlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRvIG1hdGNoIHRoZSBicm93c2VyJ3MgbnVtYmVyZm9ybWF0dGVyIGRlZmF1bHRzXG4gICAgICBjb25zdCBmaXhlZCA9IHRoaXMuZmxvb3IgPyBNYXRoLmZsb29yKGkpIDogcm91bmRUbyhpLCAzKTtcbiAgICAgIHJldHVybiBwYWRTdGFydChmaXhlZCwgdGhpcy5wYWRUbyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuXG5jbGFzcyBQb2x5RGF0ZUZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKGR0LCBpbnRsLCBvcHRzKSB7XG4gICAgdGhpcy5vcHRzID0gb3B0cztcblxuICAgIGxldCB6O1xuICAgIGlmIChkdC56b25lLmlzVW5pdmVyc2FsKSB7XG4gICAgICAvLyBVVEMtOCBvciBFdGMvVVRDLTggYXJlIG5vdCBwYXJ0IG9mIHR6ZGF0YSwgb25seSBFdGMvR01UKzggYW5kIHRoZSBsaWtlLlxuICAgICAgLy8gVGhhdCBpcyB3aHkgZml4ZWQtb2Zmc2V0IFRaIGlzIHNldCB0byB0aGF0IHVubGVzcyBpdCBpczpcbiAgICAgIC8vIDEuIFJlcHJlc2VudGluZyBvZmZzZXQgMCB3aGVuIFVUQyBpcyB1c2VkIHRvIG1haW50YWluIHByZXZpb3VzIGJlaGF2aW9yIGFuZCBkb2VzIG5vdCBiZWNvbWUgR01ULlxuICAgICAgLy8gMi4gVW5zdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXI6XG4gICAgICAvLyAgICAtIHNvbWUgZG8gbm90IHN1cHBvcnQgRXRjL1xuICAgICAgLy8gICAgLSA8IEV0Yy9HTVQtMTQsID4gRXRjL0dNVCsxMiwgYW5kIDMwLW1pbnV0ZSBvciA0NS1taW51dGUgb2Zmc2V0cyBhcmUgbm90IHBhcnQgb2YgdHpkYXRhXG4gICAgICBjb25zdCBnbXRPZmZzZXQgPSAtMSAqIChkdC5vZmZzZXQgLyA2MCk7XG4gICAgICBjb25zdCBvZmZzZXRaID0gZ210T2Zmc2V0ID49IDAgPyBgRXRjL0dNVCske2dtdE9mZnNldH1gIDogYEV0Yy9HTVQke2dtdE9mZnNldH1gO1xuICAgICAgaWYgKGR0Lm9mZnNldCAhPT0gMCAmJiBJQU5BWm9uZS5jcmVhdGUob2Zmc2V0WikudmFsaWQpIHtcbiAgICAgICAgeiA9IG9mZnNldFo7XG4gICAgICAgIHRoaXMuZHQgPSBkdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vdCBhbGwgZml4ZWQtb2Zmc2V0IHpvbmVzIGxpa2UgRXRjLys0OjMwIGFyZSBwcmVzZW50IGluIHR6ZGF0YS5cbiAgICAgICAgLy8gU28gd2UgaGF2ZSB0byBtYWtlIGRvLiBUd28gY2FzZXM6XG4gICAgICAgIC8vIDEuIFRoZSBmb3JtYXQgb3B0aW9ucyB0ZWxsIHVzIHRvIHNob3cgdGhlIHpvbmUuIFdlIGNhbid0IGRvIHRoYXQsIHNvIHRoZSBiZXN0XG4gICAgICAgIC8vIHdlIGNhbiBkbyBpcyBmb3JtYXQgdGhlIGRhdGUgaW4gVVRDLlxuICAgICAgICAvLyAyLiBUaGUgZm9ybWF0IG9wdGlvbnMgZG9uJ3QgdGVsbCB1cyB0byBzaG93IHRoZSB6b25lLiBUaGVuIHdlIGNhbiBhZGp1c3QgdGhlbVxuICAgICAgICAvLyB0aGUgdGltZSBhbmQgdGVsbCB0aGUgZm9ybWF0dGVyIHRvIHNob3cgaXQgdG8gdXMgaW4gVVRDLCBzbyB0aGF0IHRoZSB0aW1lIGlzIHJpZ2h0XG4gICAgICAgIC8vIGFuZCB0aGUgYmFkIHpvbmUgZG9lc24ndCBzaG93IHVwLlxuICAgICAgICB6ID0gXCJVVENcIjtcbiAgICAgICAgaWYgKG9wdHMudGltZVpvbmVOYW1lKSB7XG4gICAgICAgICAgdGhpcy5kdCA9IGR0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZHQgPSBkdC5vZmZzZXQgPT09IDAgPyBkdCA6IERhdGVUaW1lLmZyb21NaWxsaXMoZHQudHMgKyBkdC5vZmZzZXQgKiA2MCAqIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkdC56b25lLnR5cGUgPT09IFwic3lzdGVtXCIpIHtcbiAgICAgIHRoaXMuZHQgPSBkdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kdCA9IGR0O1xuICAgICAgeiA9IGR0LnpvbmUubmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRsT3B0cyA9IHsgLi4udGhpcy5vcHRzIH07XG4gICAgaWYgKHopIHtcbiAgICAgIGludGxPcHRzLnRpbWVab25lID0gejtcbiAgICB9XG4gICAgdGhpcy5kdGYgPSBnZXRDYWNoZWREVEYoaW50bCwgaW50bE9wdHMpO1xuICB9XG5cbiAgZm9ybWF0KCkge1xuICAgIHJldHVybiB0aGlzLmR0Zi5mb3JtYXQodGhpcy5kdC50b0pTRGF0ZSgpKTtcbiAgfVxuXG4gIGZvcm1hdFRvUGFydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZHRmLmZvcm1hdFRvUGFydHModGhpcy5kdC50b0pTRGF0ZSgpKTtcbiAgfVxuXG4gIHJlc29sdmVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kdGYucmVzb2x2ZWRPcHRpb25zKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBQb2x5UmVsRm9ybWF0dGVyIHtcbiAgY29uc3RydWN0b3IoaW50bCwgaXNFbmdsaXNoLCBvcHRzKSB7XG4gICAgdGhpcy5vcHRzID0geyBzdHlsZTogXCJsb25nXCIsIC4uLm9wdHMgfTtcbiAgICBpZiAoIWlzRW5nbGlzaCAmJiBoYXNSZWxhdGl2ZSgpKSB7XG4gICAgICB0aGlzLnJ0ZiA9IGdldENhY2hlZFJURihpbnRsLCBvcHRzKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXQoY291bnQsIHVuaXQpIHtcbiAgICBpZiAodGhpcy5ydGYpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ0Zi5mb3JtYXQoY291bnQsIHVuaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRW5nbGlzaC5mb3JtYXRSZWxhdGl2ZVRpbWUodW5pdCwgY291bnQsIHRoaXMub3B0cy5udW1lcmljLCB0aGlzLm9wdHMuc3R5bGUgIT09IFwibG9uZ1wiKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRUb1BhcnRzKGNvdW50LCB1bml0KSB7XG4gICAgaWYgKHRoaXMucnRmKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydGYuZm9ybWF0VG9QYXJ0cyhjb3VudCwgdW5pdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvY2FsZSB7XG4gIHN0YXRpYyBmcm9tT3B0cyhvcHRzKSB7XG4gICAgcmV0dXJuIExvY2FsZS5jcmVhdGUob3B0cy5sb2NhbGUsIG9wdHMubnVtYmVyaW5nU3lzdGVtLCBvcHRzLm91dHB1dENhbGVuZGFyLCBvcHRzLmRlZmF1bHRUb0VOKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyLCBkZWZhdWx0VG9FTiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgc3BlY2lmaWVkTG9jYWxlID0gbG9jYWxlIHx8IFNldHRpbmdzLmRlZmF1bHRMb2NhbGU7XG4gICAgLy8gdGhlIHN5c3RlbSBsb2NhbGUgaXMgdXNlZnVsIGZvciBodW1hbiByZWFkYWJsZSBzdHJpbmdzIGJ1dCBhbm5veWluZyBmb3IgcGFyc2luZy9mb3JtYXR0aW5nIGtub3duIGZvcm1hdHNcbiAgICBjb25zdCBsb2NhbGVSID0gc3BlY2lmaWVkTG9jYWxlIHx8IChkZWZhdWx0VG9FTiA/IFwiZW4tVVNcIiA6IHN5c3RlbUxvY2FsZSgpKTtcbiAgICBjb25zdCBudW1iZXJpbmdTeXN0ZW1SID0gbnVtYmVyaW5nU3lzdGVtIHx8IFNldHRpbmdzLmRlZmF1bHROdW1iZXJpbmdTeXN0ZW07XG4gICAgY29uc3Qgb3V0cHV0Q2FsZW5kYXJSID0gb3V0cHV0Q2FsZW5kYXIgfHwgU2V0dGluZ3MuZGVmYXVsdE91dHB1dENhbGVuZGFyO1xuICAgIHJldHVybiBuZXcgTG9jYWxlKGxvY2FsZVIsIG51bWJlcmluZ1N5c3RlbVIsIG91dHB1dENhbGVuZGFyUiwgc3BlY2lmaWVkTG9jYWxlKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNldENhY2hlKCkge1xuICAgIHN5c0xvY2FsZUNhY2hlID0gbnVsbDtcbiAgICBpbnRsRFRDYWNoZSA9IHt9O1xuICAgIGludGxOdW1DYWNoZSA9IHt9O1xuICAgIGludGxSZWxDYWNoZSA9IHt9O1xuICB9XG5cbiAgc3RhdGljIGZyb21PYmplY3QoeyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIgfSA9IHt9KSB7XG4gICAgcmV0dXJuIExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGxvY2FsZSwgbnVtYmVyaW5nLCBvdXRwdXRDYWxlbmRhciwgc3BlY2lmaWVkTG9jYWxlKSB7XG4gICAgY29uc3QgW3BhcnNlZExvY2FsZSwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtLCBwYXJzZWRPdXRwdXRDYWxlbmRhcl0gPSBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGUpO1xuXG4gICAgdGhpcy5sb2NhbGUgPSBwYXJzZWRMb2NhbGU7XG4gICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPSBudW1iZXJpbmcgfHwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtIHx8IG51bGw7XG4gICAgdGhpcy5vdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyIHx8IHBhcnNlZE91dHB1dENhbGVuZGFyIHx8IG51bGw7XG4gICAgdGhpcy5pbnRsID0gaW50bENvbmZpZ1N0cmluZyh0aGlzLmxvY2FsZSwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sIHRoaXMub3V0cHV0Q2FsZW5kYXIpO1xuXG4gICAgdGhpcy53ZWVrZGF5c0NhY2hlID0geyBmb3JtYXQ6IHt9LCBzdGFuZGFsb25lOiB7fSB9O1xuICAgIHRoaXMubW9udGhzQ2FjaGUgPSB7IGZvcm1hdDoge30sIHN0YW5kYWxvbmU6IHt9IH07XG4gICAgdGhpcy5tZXJpZGllbUNhY2hlID0gbnVsbDtcbiAgICB0aGlzLmVyYUNhY2hlID0ge307XG5cbiAgICB0aGlzLnNwZWNpZmllZExvY2FsZSA9IHNwZWNpZmllZExvY2FsZTtcbiAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gbnVsbDtcbiAgfVxuXG4gIGdldCBmYXN0TnVtYmVycygpIHtcbiAgICBpZiAodGhpcy5mYXN0TnVtYmVyc0NhY2hlZCA9PSBudWxsKSB7XG4gICAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gc3VwcG9ydHNGYXN0TnVtYmVycyh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mYXN0TnVtYmVyc0NhY2hlZDtcbiAgfVxuXG4gIGxpc3RpbmdNb2RlKCkge1xuICAgIGNvbnN0IGlzQWN0dWFsbHlFbiA9IHRoaXMuaXNFbmdsaXNoKCk7XG4gICAgY29uc3QgaGFzTm9XZWlyZG5lc3MgPVxuICAgICAgKHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBudWxsIHx8IHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBcImxhdG5cIikgJiZcbiAgICAgICh0aGlzLm91dHB1dENhbGVuZGFyID09PSBudWxsIHx8IHRoaXMub3V0cHV0Q2FsZW5kYXIgPT09IFwiZ3JlZ29yeVwiKTtcbiAgICByZXR1cm4gaXNBY3R1YWxseUVuICYmIGhhc05vV2VpcmRuZXNzID8gXCJlblwiIDogXCJpbnRsXCI7XG4gIH1cblxuICBjbG9uZShhbHRzKSB7XG4gICAgaWYgKCFhbHRzIHx8IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFsdHMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKFxuICAgICAgICBhbHRzLmxvY2FsZSB8fCB0aGlzLnNwZWNpZmllZExvY2FsZSxcbiAgICAgICAgYWx0cy5udW1iZXJpbmdTeXN0ZW0gfHwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sXG4gICAgICAgIGFsdHMub3V0cHV0Q2FsZW5kYXIgfHwgdGhpcy5vdXRwdXRDYWxlbmRhcixcbiAgICAgICAgYWx0cy5kZWZhdWx0VG9FTiB8fCBmYWxzZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZWRlZmF1bHRUb0VOKGFsdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKHsgLi4uYWx0cywgZGVmYXVsdFRvRU46IHRydWUgfSk7XG4gIH1cblxuICByZWRlZmF1bHRUb1N5c3RlbShhbHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSh7IC4uLmFsdHMsIGRlZmF1bHRUb0VOOiBmYWxzZSB9KTtcbiAgfVxuXG4gIG1vbnRocyhsZW5ndGgsIGZvcm1hdCA9IGZhbHNlLCBkZWZhdWx0T0sgPSB0cnVlKSB7XG4gICAgcmV0dXJuIGxpc3RTdHVmZih0aGlzLCBsZW5ndGgsIGRlZmF1bHRPSywgRW5nbGlzaC5tb250aHMsICgpID0+IHtcbiAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQgPyB7IG1vbnRoOiBsZW5ndGgsIGRheTogXCJudW1lcmljXCIgfSA6IHsgbW9udGg6IGxlbmd0aCB9LFxuICAgICAgICBmb3JtYXRTdHIgPSBmb3JtYXQgPyBcImZvcm1hdFwiIDogXCJzdGFuZGFsb25lXCI7XG4gICAgICBpZiAoIXRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdKSB7XG4gICAgICAgIHRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdID0gbWFwTW9udGhzKChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcIm1vbnRoXCIpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm1vbnRoc0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTtcbiAgICB9KTtcbiAgfVxuXG4gIHdlZWtkYXlzKGxlbmd0aCwgZm9ybWF0ID0gZmFsc2UsIGRlZmF1bHRPSyA9IHRydWUpIHtcbiAgICByZXR1cm4gbGlzdFN0dWZmKHRoaXMsIGxlbmd0aCwgZGVmYXVsdE9LLCBFbmdsaXNoLndlZWtkYXlzLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnRsID0gZm9ybWF0XG4gICAgICAgICAgPyB7IHdlZWtkYXk6IGxlbmd0aCwgeWVhcjogXCJudW1lcmljXCIsIG1vbnRoOiBcImxvbmdcIiwgZGF5OiBcIm51bWVyaWNcIiB9XG4gICAgICAgICAgOiB7IHdlZWtkYXk6IGxlbmd0aCB9LFxuICAgICAgICBmb3JtYXRTdHIgPSBmb3JtYXQgPyBcImZvcm1hdFwiIDogXCJzdGFuZGFsb25lXCI7XG4gICAgICBpZiAoIXRoaXMud2Vla2RheXNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF0pIHtcbiAgICAgICAgdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSA9IG1hcFdlZWtkYXlzKChkdCkgPT5cbiAgICAgICAgICB0aGlzLmV4dHJhY3QoZHQsIGludGwsIFwid2Vla2RheVwiKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMud2Vla2RheXNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF07XG4gICAgfSk7XG4gIH1cblxuICBtZXJpZGllbXMoZGVmYXVsdE9LID0gdHJ1ZSkge1xuICAgIHJldHVybiBsaXN0U3R1ZmYoXG4gICAgICB0aGlzLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZGVmYXVsdE9LLFxuICAgICAgKCkgPT4gRW5nbGlzaC5tZXJpZGllbXMsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIC8vIEluIHRoZW9yeSB0aGVyZSBjb3VsZCBiZSBhcmliaXRyYXJ5IGRheSBwZXJpb2RzLiBXZSdyZSBnb25uYSBhc3N1bWUgdGhlcmUgYXJlIGV4YWN0bHkgdHdvXG4gICAgICAgIC8vIGZvciBBTSBhbmQgUE0uIFRoaXMgaXMgcHJvYmFibHkgd3JvbmcsIGJ1dCBpdCdzIG1ha2VzIHBhcnNpbmcgd2F5IGVhc2llci5cbiAgICAgICAgaWYgKCF0aGlzLm1lcmlkaWVtQ2FjaGUpIHtcbiAgICAgICAgICBjb25zdCBpbnRsID0geyBob3VyOiBcIm51bWVyaWNcIiwgaG91ckN5Y2xlOiBcImgxMlwiIH07XG4gICAgICAgICAgdGhpcy5tZXJpZGllbUNhY2hlID0gW0RhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMsIDkpLCBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzLCAxOSldLm1hcChcbiAgICAgICAgICAgIChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcImRheXBlcmlvZFwiKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXJpZGllbUNhY2hlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBlcmFzKGxlbmd0aCwgZGVmYXVsdE9LID0gdHJ1ZSkge1xuICAgIHJldHVybiBsaXN0U3R1ZmYodGhpcywgbGVuZ3RoLCBkZWZhdWx0T0ssIEVuZ2xpc2guZXJhcywgKCkgPT4ge1xuICAgICAgY29uc3QgaW50bCA9IHsgZXJhOiBsZW5ndGggfTtcblxuICAgICAgLy8gVGhpcyBpcyBwcm9ibGVtYXRpYy4gRGlmZmVyZW50IGNhbGVuZGFycyBhcmUgZ29pbmcgdG8gZGVmaW5lIGVyYXMgdG90YWxseSBkaWZmZXJlbnRseS4gV2hhdCBJIG5lZWQgaXMgdGhlIG1pbmltdW0gc2V0IG9mIGRhdGVzXG4gICAgICAvLyB0byBkZWZpbml0ZWx5IGVudW1lcmF0ZSB0aGVtLlxuICAgICAgaWYgKCF0aGlzLmVyYUNhY2hlW2xlbmd0aF0pIHtcbiAgICAgICAgdGhpcy5lcmFDYWNoZVtsZW5ndGhdID0gW0RhdGVUaW1lLnV0YygtNDAsIDEsIDEpLCBEYXRlVGltZS51dGMoMjAxNywgMSwgMSldLm1hcCgoZHQpID0+XG4gICAgICAgICAgdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcImVyYVwiKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5lcmFDYWNoZVtsZW5ndGhdO1xuICAgIH0pO1xuICB9XG5cbiAgZXh0cmFjdChkdCwgaW50bE9wdHMsIGZpZWxkKSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyksXG4gICAgICByZXN1bHRzID0gZGYuZm9ybWF0VG9QYXJ0cygpLFxuICAgICAgbWF0Y2hpbmcgPSByZXN1bHRzLmZpbmQoKG0pID0+IG0udHlwZS50b0xvd2VyQ2FzZSgpID09PSBmaWVsZCk7XG4gICAgcmV0dXJuIG1hdGNoaW5nID8gbWF0Y2hpbmcudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgbnVtYmVyRm9ybWF0dGVyKG9wdHMgPSB7fSkge1xuICAgIC8vIHRoaXMgZm9yY2VzaW1wbGUgb3B0aW9uIGlzIG5ldmVyIHVzZWQgKHRoZSBvbmx5IGNhbGxlciBzaG9ydC1jaXJjdWl0cyBvbiBpdCwgYnV0IGl0IHNlZW1zIHNhZmVyIHRvIGxlYXZlKVxuICAgIC8vIChpbiBjb250cmFzdCwgdGhlIHJlc3Qgb2YgdGhlIGNvbmRpdGlvbiBpcyB1c2VkIGhlYXZpbHkpXG4gICAgcmV0dXJuIG5ldyBQb2x5TnVtYmVyRm9ybWF0dGVyKHRoaXMuaW50bCwgb3B0cy5mb3JjZVNpbXBsZSB8fCB0aGlzLmZhc3ROdW1iZXJzLCBvcHRzKTtcbiAgfVxuXG4gIGR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2x5RGF0ZUZvcm1hdHRlcihkdCwgdGhpcy5pbnRsLCBpbnRsT3B0cyk7XG4gIH1cblxuICByZWxGb3JtYXR0ZXIob3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2x5UmVsRm9ybWF0dGVyKHRoaXMuaW50bCwgdGhpcy5pc0VuZ2xpc2goKSwgb3B0cyk7XG4gIH1cblxuICBsaXN0Rm9ybWF0dGVyKG9wdHMgPSB7fSkge1xuICAgIHJldHVybiBnZXRDYWNoZWRMRih0aGlzLmludGwsIG9wdHMpO1xuICB9XG5cbiAgaXNFbmdsaXNoKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmxvY2FsZSA9PT0gXCJlblwiIHx8XG4gICAgICB0aGlzLmxvY2FsZS50b0xvd2VyQ2FzZSgpID09PSBcImVuLXVzXCIgfHxcbiAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuaW50bCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlLnN0YXJ0c1dpdGgoXCJlbi11c1wiKVxuICAgICk7XG4gIH1cblxuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5sb2NhbGUgPT09IG90aGVyLmxvY2FsZSAmJlxuICAgICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09IG90aGVyLm51bWJlcmluZ1N5c3RlbSAmJlxuICAgICAgdGhpcy5vdXRwdXRDYWxlbmRhciA9PT0gb3RoZXIub3V0cHV0Q2FsZW5kYXJcbiAgICApO1xuICB9XG59XG4iLCAiaW1wb3J0IHtcbiAgdW50cnVuY2F0ZVllYXIsXG4gIHNpZ25lZE9mZnNldCxcbiAgcGFyc2VJbnRlZ2VyLFxuICBwYXJzZU1pbGxpcyxcbiAgaWFuYVJlZ2V4LFxuICBpc1VuZGVmaW5lZCxcbiAgcGFyc2VGbG9hdGluZ1xufSBmcm9tIFwiLi91dGlsLmpzXCI7XG5pbXBvcnQgKiBhcyBFbmdsaXNoIGZyb20gXCIuL2VuZ2xpc2guanNcIjtcbmltcG9ydCBGaXhlZE9mZnNldFpvbmUgZnJvbSBcIi4uL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IElBTkFab25lIGZyb20gXCIuLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuXG4vKlxuICogVGhpcyBmaWxlIGhhbmRsZXMgcGFyc2luZyBmb3Igd2VsbC1zcGVjaWZpZWQgZm9ybWF0cy4gSGVyZSdzIGhvdyBpdCB3b3JrczpcbiAqIFR3byB0aGluZ3MgZ28gaW50byBwYXJzaW5nOiBhIHJlZ2V4IHRvIG1hdGNoIHdpdGggYW5kIGFuIGV4dHJhY3RvciB0byB0YWtlIGFwYXJ0IHRoZSBncm91cHMgaW4gdGhlIG1hdGNoLlxuICogQW4gZXh0cmFjdG9yIGlzIGp1c3QgYSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgcmVnZXggbWF0Y2ggYXJyYXkgYW5kIHJldHVybnMgYSB7IHllYXI6IC4uLiwgbW9udGg6IC4uLiB9IG9iamVjdFxuICogcGFyc2UoKSBkb2VzIHRoZSB3b3JrIG9mIGV4ZWN1dGluZyB0aGUgcmVnZXggYW5kIGFwcGx5aW5nIHRoZSBleHRyYWN0b3IuIEl0IHRha2VzIG11bHRpcGxlIHJlZ2V4L2V4dHJhY3RvciBwYWlycyB0byB0cnkgaW4gc2VxdWVuY2UuXG4gKiBFeHRyYWN0b3JzIGNhbiB0YWtlIGEgXCJjdXJzb3JcIiByZXByZXNlbnRpbmcgdGhlIG9mZnNldCBpbiB0aGUgbWF0Y2ggdG8gbG9vayBhdC4gVGhpcyBtYWtlcyBpdCBlYXN5IHRvIGNvbWJpbmUgZXh0cmFjdG9ycy5cbiAqIGNvbWJpbmVFeHRyYWN0b3JzKCkgZG9lcyB0aGUgd29yayBvZiBjb21iaW5pbmcgdGhlbSwga2VlcGluZyB0cmFjayBvZiB0aGUgY3Vyc29yIHRocm91Z2ggbXVsdGlwbGUgZXh0cmFjdGlvbnMuXG4gKiBTb21lIGV4dHJhY3Rpb25zIGFyZSBzdXBlciBkdW1iIGFuZCBzaW1wbGVQYXJzZSBhbmQgZnJvbVN0cmluZ3MgaGVscCBEUlkgdGhlbS5cbiAqL1xuXG5mdW5jdGlvbiBjb21iaW5lUmVnZXhlcyguLi5yZWdleGVzKSB7XG4gIGNvbnN0IGZ1bGwgPSByZWdleGVzLnJlZHVjZSgoZiwgcikgPT4gZiArIHIuc291cmNlLCBcIlwiKTtcbiAgcmV0dXJuIFJlZ0V4cChgXiR7ZnVsbH0kYCk7XG59XG5cbmZ1bmN0aW9uIGNvbWJpbmVFeHRyYWN0b3JzKC4uLmV4dHJhY3RvcnMpIHtcbiAgcmV0dXJuIG0gPT5cbiAgICBleHRyYWN0b3JzXG4gICAgICAucmVkdWNlKFxuICAgICAgICAoW21lcmdlZFZhbHMsIG1lcmdlZFpvbmUsIGN1cnNvcl0sIGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgW3ZhbCwgem9uZSwgbmV4dF0gPSBleChtLCBjdXJzb3IpO1xuICAgICAgICAgIHJldHVybiBbeyAuLi5tZXJnZWRWYWxzLCAuLi52YWwgfSwgem9uZSB8fCBtZXJnZWRab25lLCBuZXh0XTtcbiAgICAgICAgfSxcbiAgICAgICAgW3t9LCBudWxsLCAxXVxuICAgICAgKVxuICAgICAgLnNsaWNlKDAsIDIpO1xufVxuXG5mdW5jdGlvbiBwYXJzZShzLCAuLi5wYXR0ZXJucykge1xuICBpZiAocyA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgfVxuXG4gIGZvciAoY29uc3QgW3JlZ2V4LCBleHRyYWN0b3JdIG9mIHBhdHRlcm5zKSB7XG4gICAgY29uc3QgbSA9IHJlZ2V4LmV4ZWMocyk7XG4gICAgaWYgKG0pIHtcbiAgICAgIHJldHVybiBleHRyYWN0b3IobSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBbbnVsbCwgbnVsbF07XG59XG5cbmZ1bmN0aW9uIHNpbXBsZVBhcnNlKC4uLmtleXMpIHtcbiAgcmV0dXJuIChtYXRjaCwgY3Vyc29yKSA9PiB7XG4gICAgY29uc3QgcmV0ID0ge307XG4gICAgbGV0IGk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgcmV0W2tleXNbaV1dID0gcGFyc2VJbnRlZ2VyKG1hdGNoW2N1cnNvciArIGldKTtcbiAgICB9XG4gICAgcmV0dXJuIFtyZXQsIG51bGwsIGN1cnNvciArIGldO1xuICB9O1xufVxuXG4vLyBJU08gYW5kIFNRTCBwYXJzaW5nXG5jb25zdCBvZmZzZXRSZWdleCA9IC8oPzooWil8KFsrLV1cXGRcXGQpKD86Oj8oXFxkXFxkKSk/KS87XG5jb25zdCBpc29FeHRlbmRlZFpvbmUgPSBgKD86JHtvZmZzZXRSZWdleC5zb3VyY2V9Pyg/OlxcXFxbKCR7aWFuYVJlZ2V4LnNvdXJjZX0pXFxcXF0pPyk/YDtcbmNvbnN0IGlzb1RpbWVCYXNlUmVnZXggPSAvKFxcZFxcZCkoPzo6PyhcXGRcXGQpKD86Oj8oXFxkXFxkKSg/OlsuLF0oXFxkezEsMzB9KSk/KT8pPy87XG5jb25zdCBpc29UaW1lUmVnZXggPSBSZWdFeHAoYCR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JHtpc29FeHRlbmRlZFpvbmV9YCk7XG5jb25zdCBpc29UaW1lRXh0ZW5zaW9uUmVnZXggPSBSZWdFeHAoYCg/OlQke2lzb1RpbWVSZWdleC5zb3VyY2V9KT9gKTtcbmNvbnN0IGlzb1ltZFJlZ2V4ID0gLyhbKy1dXFxkezZ9fFxcZHs0fSkoPzotPyhcXGRcXGQpKD86LT8oXFxkXFxkKSk/KT8vO1xuY29uc3QgaXNvV2Vla1JlZ2V4ID0gLyhcXGR7NH0pLT9XKFxcZFxcZCkoPzotPyhcXGQpKT8vO1xuY29uc3QgaXNvT3JkaW5hbFJlZ2V4ID0gLyhcXGR7NH0pLT8oXFxkezN9KS87XG5jb25zdCBleHRyYWN0SVNPV2Vla0RhdGEgPSBzaW1wbGVQYXJzZShcIndlZWtZZWFyXCIsIFwid2Vla051bWJlclwiLCBcIndlZWtEYXlcIik7XG5jb25zdCBleHRyYWN0SVNPT3JkaW5hbERhdGEgPSBzaW1wbGVQYXJzZShcInllYXJcIiwgXCJvcmRpbmFsXCIpO1xuY29uc3Qgc3FsWW1kUmVnZXggPSAvKFxcZHs0fSktKFxcZFxcZCktKFxcZFxcZCkvOyAvLyBkdW1iZWQtZG93biB2ZXJzaW9uIG9mIHRoZSBJU08gb25lXG5jb25zdCBzcWxUaW1lUmVnZXggPSBSZWdFeHAoXG4gIGAke2lzb1RpbWVCYXNlUmVnZXguc291cmNlfSA/KD86JHtvZmZzZXRSZWdleC5zb3VyY2V9fCgke2lhbmFSZWdleC5zb3VyY2V9KSk/YFxuKTtcbmNvbnN0IHNxbFRpbWVFeHRlbnNpb25SZWdleCA9IFJlZ0V4cChgKD86ICR7c3FsVGltZVJlZ2V4LnNvdXJjZX0pP2ApO1xuXG5mdW5jdGlvbiBpbnQobWF0Y2gsIHBvcywgZmFsbGJhY2spIHtcbiAgY29uc3QgbSA9IG1hdGNoW3Bvc107XG4gIHJldHVybiBpc1VuZGVmaW5lZChtKSA/IGZhbGxiYWNrIDogcGFyc2VJbnRlZ2VyKG0pO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0SVNPWW1kKG1hdGNoLCBjdXJzb3IpIHtcbiAgY29uc3QgaXRlbSA9IHtcbiAgICB5ZWFyOiBpbnQobWF0Y2gsIGN1cnNvciksXG4gICAgbW9udGg6IGludChtYXRjaCwgY3Vyc29yICsgMSwgMSksXG4gICAgZGF5OiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDEpXG4gIH07XG5cbiAgcmV0dXJuIFtpdGVtLCBudWxsLCBjdXJzb3IgKyAzXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElTT1RpbWUobWF0Y2gsIGN1cnNvcikge1xuICBjb25zdCBpdGVtID0ge1xuICAgIGhvdXJzOiBpbnQobWF0Y2gsIGN1cnNvciwgMCksXG4gICAgbWludXRlczogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAwKSxcbiAgICBzZWNvbmRzOiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDApLFxuICAgIG1pbGxpc2Vjb25kczogcGFyc2VNaWxsaXMobWF0Y2hbY3Vyc29yICsgM10pXG4gIH07XG5cbiAgcmV0dXJuIFtpdGVtLCBudWxsLCBjdXJzb3IgKyA0XTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElTT09mZnNldChtYXRjaCwgY3Vyc29yKSB7XG4gIGNvbnN0IGxvY2FsID0gIW1hdGNoW2N1cnNvcl0gJiYgIW1hdGNoW2N1cnNvciArIDFdLFxuICAgIGZ1bGxPZmZzZXQgPSBzaWduZWRPZmZzZXQobWF0Y2hbY3Vyc29yICsgMV0sIG1hdGNoW2N1cnNvciArIDJdKSxcbiAgICB6b25lID0gbG9jYWwgPyBudWxsIDogRml4ZWRPZmZzZXRab25lLmluc3RhbmNlKGZ1bGxPZmZzZXQpO1xuICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAzXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElBTkFab25lKG1hdGNoLCBjdXJzb3IpIHtcbiAgY29uc3Qgem9uZSA9IG1hdGNoW2N1cnNvcl0gPyBJQU5BWm9uZS5jcmVhdGUobWF0Y2hbY3Vyc29yXSkgOiBudWxsO1xuICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAxXTtcbn1cblxuLy8gSVNPIHRpbWUgcGFyc2luZ1xuXG5jb25zdCBpc29UaW1lT25seSA9IFJlZ0V4cChgXlQ/JHtpc29UaW1lQmFzZVJlZ2V4LnNvdXJjZX0kYCk7XG5cbi8vIElTTyBkdXJhdGlvbiBwYXJzaW5nXG5cbmNvbnN0IGlzb0R1cmF0aW9uID0gL14tP1AoPzooPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylZKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylNKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylXKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylEKT8oPzpUKD86KC0/XFxkezEsMjB9KD86XFwuXFxkezEsMjB9KT8pSCk/KD86KC0/XFxkezEsMjB9KD86XFwuXFxkezEsMjB9KT8pTSk/KD86KC0/XFxkezEsMjB9KSg/OlsuLF0oLT9cXGR7MSwyMH0pKT9TKT8pPykkLztcblxuZnVuY3Rpb24gZXh0cmFjdElTT0R1cmF0aW9uKG1hdGNoKSB7XG4gIGNvbnN0IFtcbiAgICBzLFxuICAgIHllYXJTdHIsXG4gICAgbW9udGhTdHIsXG4gICAgd2Vla1N0cixcbiAgICBkYXlTdHIsXG4gICAgaG91clN0cixcbiAgICBtaW51dGVTdHIsXG4gICAgc2Vjb25kU3RyLFxuICAgIG1pbGxpc2Vjb25kc1N0clxuICBdID0gbWF0Y2g7XG5cbiAgY29uc3QgaGFzTmVnYXRpdmVQcmVmaXggPSBzWzBdID09PSBcIi1cIjtcbiAgY29uc3QgbmVnYXRpdmVTZWNvbmRzID0gc2Vjb25kU3RyICYmIHNlY29uZFN0clswXSA9PT0gXCItXCI7XG5cbiAgY29uc3QgbWF5YmVOZWdhdGUgPSAobnVtLCBmb3JjZSA9IGZhbHNlKSA9PlxuICAgIG51bSAhPT0gdW5kZWZpbmVkICYmIChmb3JjZSB8fCAobnVtICYmIGhhc05lZ2F0aXZlUHJlZml4KSkgPyAtbnVtIDogbnVtO1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgeWVhcnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoeWVhclN0cikpLFxuICAgICAgbW9udGhzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKG1vbnRoU3RyKSksXG4gICAgICB3ZWVrczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyh3ZWVrU3RyKSksXG4gICAgICBkYXlzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKGRheVN0cikpLFxuICAgICAgaG91cnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoaG91clN0cikpLFxuICAgICAgbWludXRlczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyhtaW51dGVTdHIpKSxcbiAgICAgIHNlY29uZHM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoc2Vjb25kU3RyKSwgc2Vjb25kU3RyID09PSBcIi0wXCIpLFxuICAgICAgbWlsbGlzZWNvbmRzOiBtYXliZU5lZ2F0ZShwYXJzZU1pbGxpcyhtaWxsaXNlY29uZHNTdHIpLCBuZWdhdGl2ZVNlY29uZHMpXG4gICAgfVxuICBdO1xufVxuXG4vLyBUaGVzZSBhcmUgYSBsaXR0bGUgYnJhaW5kZWFkLiBFRFQgKnNob3VsZCogdGVsbCB1cyB0aGF0IHdlJ3JlIGluLCBzYXksIEFtZXJpY2EvTmV3X1lvcmtcbi8vIGFuZCBub3QganVzdCB0aGF0IHdlJ3JlIGluIC0yNDAgKnJpZ2h0IG5vdyouIEJ1dCBzaW5jZSBJIGRvbid0IHRoaW5rIHRoZXNlIGFyZSB1c2VkIHRoYXQgb2Z0ZW5cbi8vIEknbSBqdXN0IGdvaW5nIHRvIGlnbm9yZSB0aGF0XG5jb25zdCBvYnNPZmZzZXRzID0ge1xuICBHTVQ6IDAsXG4gIEVEVDogLTQgKiA2MCxcbiAgRVNUOiAtNSAqIDYwLFxuICBDRFQ6IC01ICogNjAsXG4gIENTVDogLTYgKiA2MCxcbiAgTURUOiAtNiAqIDYwLFxuICBNU1Q6IC03ICogNjAsXG4gIFBEVDogLTcgKiA2MCxcbiAgUFNUOiAtOCAqIDYwXG59O1xuXG5mdW5jdGlvbiBmcm9tU3RyaW5ncyh3ZWVrZGF5U3RyLCB5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0cikge1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgeWVhcjogeWVhclN0ci5sZW5ndGggPT09IDIgPyB1bnRydW5jYXRlWWVhcihwYXJzZUludGVnZXIoeWVhclN0cikpIDogcGFyc2VJbnRlZ2VyKHllYXJTdHIpLFxuICAgIG1vbnRoOiBFbmdsaXNoLm1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpICsgMSxcbiAgICBkYXk6IHBhcnNlSW50ZWdlcihkYXlTdHIpLFxuICAgIGhvdXI6IHBhcnNlSW50ZWdlcihob3VyU3RyKSxcbiAgICBtaW51dGU6IHBhcnNlSW50ZWdlcihtaW51dGVTdHIpXG4gIH07XG5cbiAgaWYgKHNlY29uZFN0cikgcmVzdWx0LnNlY29uZCA9IHBhcnNlSW50ZWdlcihzZWNvbmRTdHIpO1xuICBpZiAod2Vla2RheVN0cikge1xuICAgIHJlc3VsdC53ZWVrZGF5ID1cbiAgICAgIHdlZWtkYXlTdHIubGVuZ3RoID4gM1xuICAgICAgICA/IEVuZ2xpc2gud2Vla2RheXNMb25nLmluZGV4T2Yod2Vla2RheVN0cikgKyAxXG4gICAgICAgIDogRW5nbGlzaC53ZWVrZGF5c1Nob3J0LmluZGV4T2Yod2Vla2RheVN0cikgKyAxO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gUkZDIDI4MjIvNTMyMlxuY29uc3QgcmZjMjgyMiA9IC9eKD86KE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksXFxzKT8oXFxkezEsMn0pXFxzKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKVxccyhcXGR7Miw0fSlcXHMoXFxkXFxkKTooXFxkXFxkKSg/OjooXFxkXFxkKSk/XFxzKD86KFVUfEdNVHxbRUNNUF1bU0RdVCl8KFtael0pfCg/OihbKy1dXFxkXFxkKShcXGRcXGQpKSkkLztcblxuZnVuY3Rpb24gZXh0cmFjdFJGQzI4MjIobWF0Y2gpIHtcbiAgY29uc3QgW1xuICAgICAgLFxuICAgICAgd2Vla2RheVN0cixcbiAgICAgIGRheVN0cixcbiAgICAgIG1vbnRoU3RyLFxuICAgICAgeWVhclN0cixcbiAgICAgIGhvdXJTdHIsXG4gICAgICBtaW51dGVTdHIsXG4gICAgICBzZWNvbmRTdHIsXG4gICAgICBvYnNPZmZzZXQsXG4gICAgICBtaWxPZmZzZXQsXG4gICAgICBvZmZIb3VyU3RyLFxuICAgICAgb2ZmTWludXRlU3RyXG4gICAgXSA9IG1hdGNoLFxuICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTtcblxuICBsZXQgb2Zmc2V0O1xuICBpZiAob2JzT2Zmc2V0KSB7XG4gICAgb2Zmc2V0ID0gb2JzT2Zmc2V0c1tvYnNPZmZzZXRdO1xuICB9IGVsc2UgaWYgKG1pbE9mZnNldCkge1xuICAgIG9mZnNldCA9IDA7XG4gIH0gZWxzZSB7XG4gICAgb2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cik7XG4gIH1cblxuICByZXR1cm4gW3Jlc3VsdCwgbmV3IEZpeGVkT2Zmc2V0Wm9uZShvZmZzZXQpXTtcbn1cblxuZnVuY3Rpb24gcHJlcHJvY2Vzc1JGQzI4MjIocykge1xuICAvLyBSZW1vdmUgY29tbWVudHMgYW5kIGZvbGRpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjZSBtdWx0aXBsZS1zcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZVxuICByZXR1cm4gc1xuICAgIC5yZXBsYWNlKC9cXChbXigpXSpcXCl8W1xcblxcdF0vZywgXCIgXCIpXG4gICAgLnJlcGxhY2UoLyhcXHNcXHMrKS9nLCBcIiBcIilcbiAgICAudHJpbSgpO1xufVxuXG4vLyBodHRwIGRhdGVcblxuY29uc3QgcmZjMTEyMyA9IC9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksIChcXGRcXGQpIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKFxcZHs0fSkgKFxcZFxcZCk6KFxcZFxcZCk6KFxcZFxcZCkgR01UJC8sXG4gIHJmYzg1MCA9IC9eKE1vbmRheXxUdWVzZGF5fFdlZG5lc2RheXxUaHVyc2RheXxGcmlkYXl8U2F0dXJkYXl8U3VuZGF5KSwgKFxcZFxcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXFxkXFxkKSAoXFxkXFxkKTooXFxkXFxkKTooXFxkXFxkKSBHTVQkLyxcbiAgYXNjaWkgPSAvXihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKCBcXGR8XFxkXFxkKSAoXFxkXFxkKTooXFxkXFxkKTooXFxkXFxkKSAoXFxkezR9KSQvO1xuXG5mdW5jdGlvbiBleHRyYWN0UkZDMTEyM09yODUwKG1hdGNoKSB7XG4gIGNvbnN0IFssIHdlZWtkYXlTdHIsIGRheVN0ciwgbW9udGhTdHIsIHllYXJTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyXSA9IG1hdGNoLFxuICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTtcbiAgcmV0dXJuIFtyZXN1bHQsIEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZV07XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBU0NJSShtYXRjaCkge1xuICBjb25zdCBbLCB3ZWVrZGF5U3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0ciwgeWVhclN0cl0gPSBtYXRjaCxcbiAgICByZXN1bHQgPSBmcm9tU3RyaW5ncyh3ZWVrZGF5U3RyLCB5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0cik7XG4gIHJldHVybiBbcmVzdWx0LCBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2VdO1xufVxuXG5jb25zdCBpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvWW1kUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7XG5jb25zdCBpc29XZWVrV2l0aFRpbWVFeHRlbnNpb25SZWdleCA9IGNvbWJpbmVSZWdleGVzKGlzb1dlZWtSZWdleCwgaXNvVGltZUV4dGVuc2lvblJlZ2V4KTtcbmNvbnN0IGlzb09yZGluYWxXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvT3JkaW5hbFJlZ2V4LCBpc29UaW1lRXh0ZW5zaW9uUmVnZXgpO1xuY29uc3QgaXNvVGltZUNvbWJpbmVkUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29UaW1lUmVnZXgpO1xuXG5jb25zdCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldCA9IGNvbWJpbmVFeHRyYWN0b3JzKFxuICBleHRyYWN0SVNPWW1kLFxuICBleHRyYWN0SVNPVGltZSxcbiAgZXh0cmFjdElTT09mZnNldCxcbiAgZXh0cmFjdElBTkFab25lXG4pO1xuY29uc3QgZXh0cmFjdElTT1dlZWtUaW1lQW5kT2Zmc2V0ID0gY29tYmluZUV4dHJhY3RvcnMoXG4gIGV4dHJhY3RJU09XZWVrRGF0YSxcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcbmNvbnN0IGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWUgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT09yZGluYWxEYXRhLFxuICBleHRyYWN0SVNPVGltZSxcbiAgZXh0cmFjdElTT09mZnNldCxcbiAgZXh0cmFjdElBTkFab25lXG4pO1xuY29uc3QgZXh0cmFjdElTT1RpbWVBbmRPZmZzZXQgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcblxuLypcbiAqIEBwcml2YXRlXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVNPRGF0ZShzKSB7XG4gIHJldHVybiBwYXJzZShcbiAgICBzLFxuICAgIFtpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldF0sXG4gICAgW2lzb1dlZWtXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPV2Vla1RpbWVBbmRPZmZzZXRdLFxuICAgIFtpc29PcmRpbmFsV2l0aFRpbWVFeHRlbnNpb25SZWdleCwgZXh0cmFjdElTT09yZGluYWxEYXRlQW5kVGltZV0sXG4gICAgW2lzb1RpbWVDb21iaW5lZFJlZ2V4LCBleHRyYWN0SVNPVGltZUFuZE9mZnNldF1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUkZDMjgyMkRhdGUocykge1xuICByZXR1cm4gcGFyc2UocHJlcHJvY2Vzc1JGQzI4MjIocyksIFtyZmMyODIyLCBleHRyYWN0UkZDMjgyMl0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VIVFRQRGF0ZShzKSB7XG4gIHJldHVybiBwYXJzZShcbiAgICBzLFxuICAgIFtyZmMxMTIzLCBleHRyYWN0UkZDMTEyM09yODUwXSxcbiAgICBbcmZjODUwLCBleHRyYWN0UkZDMTEyM09yODUwXSxcbiAgICBbYXNjaWksIGV4dHJhY3RBU0NJSV1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVNPRHVyYXRpb24ocykge1xuICByZXR1cm4gcGFyc2UocywgW2lzb0R1cmF0aW9uLCBleHRyYWN0SVNPRHVyYXRpb25dKTtcbn1cblxuY29uc3QgZXh0cmFjdElTT1RpbWVPbmx5ID0gY29tYmluZUV4dHJhY3RvcnMoZXh0cmFjdElTT1RpbWUpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJU09UaW1lT25seShzKSB7XG4gIHJldHVybiBwYXJzZShzLCBbaXNvVGltZU9ubHksIGV4dHJhY3RJU09UaW1lT25seV0pO1xufVxuXG5jb25zdCBzcWxZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoc3FsWW1kUmVnZXgsIHNxbFRpbWVFeHRlbnNpb25SZWdleCk7XG5jb25zdCBzcWxUaW1lQ29tYmluZWRSZWdleCA9IGNvbWJpbmVSZWdleGVzKHNxbFRpbWVSZWdleCk7XG5cbmNvbnN0IGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmUgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU1FMKHMpIHtcbiAgcmV0dXJuIHBhcnNlKFxuICAgIHMsXG4gICAgW3NxbFltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09ZbWRUaW1lQW5kT2Zmc2V0XSxcbiAgICBbc3FsVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmVdXG4gICk7XG59XG4iLCAiaW1wb3J0IHsgSW52YWxpZEFyZ3VtZW50RXJyb3IsIEludmFsaWREdXJhdGlvbkVycm9yLCBJbnZhbGlkVW5pdEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgRm9ybWF0dGVyIGZyb20gXCIuL2ltcGwvZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgSW52YWxpZCBmcm9tIFwiLi9pbXBsL2ludmFsaWQuanNcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcIi4vaW1wbC9sb2NhbGUuanNcIjtcbmltcG9ydCB7IHBhcnNlSVNPRHVyYXRpb24sIHBhcnNlSVNPVGltZU9ubHkgfSBmcm9tIFwiLi9pbXBsL3JlZ2V4UGFyc2VyLmpzXCI7XG5pbXBvcnQge1xuICBhc051bWJlcixcbiAgaGFzT3duUHJvcGVydHksXG4gIGlzTnVtYmVyLFxuICBpc1VuZGVmaW5lZCxcbiAgbm9ybWFsaXplT2JqZWN0LFxuICByb3VuZFRvLFxufSBmcm9tIFwiLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCBTZXR0aW5ncyBmcm9tIFwiLi9zZXR0aW5ncy5qc1wiO1xuXG5jb25zdCBJTlZBTElEID0gXCJJbnZhbGlkIER1cmF0aW9uXCI7XG5cbi8vIHVuaXQgY29udmVyc2lvbiBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBsb3dPcmRlck1hdHJpeCA9IHtcbiAgICB3ZWVrczoge1xuICAgICAgZGF5czogNyxcbiAgICAgIGhvdXJzOiA3ICogMjQsXG4gICAgICBtaW51dGVzOiA3ICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgIH0sXG4gICAgZGF5czoge1xuICAgICAgaG91cnM6IDI0LFxuICAgICAgbWludXRlczogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDI0ICogNjAgKiA2MCxcbiAgICAgIG1pbGxpc2Vjb25kczogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIGhvdXJzOiB7IG1pbnV0ZXM6IDYwLCBzZWNvbmRzOiA2MCAqIDYwLCBtaWxsaXNlY29uZHM6IDYwICogNjAgKiAxMDAwIH0sXG4gICAgbWludXRlczogeyBzZWNvbmRzOiA2MCwgbWlsbGlzZWNvbmRzOiA2MCAqIDEwMDAgfSxcbiAgICBzZWNvbmRzOiB7IG1pbGxpc2Vjb25kczogMTAwMCB9LFxuICB9LFxuICBjYXN1YWxNYXRyaXggPSB7XG4gICAgeWVhcnM6IHtcbiAgICAgIHF1YXJ0ZXJzOiA0LFxuICAgICAgbW9udGhzOiAxMixcbiAgICAgIHdlZWtzOiA1MixcbiAgICAgIGRheXM6IDM2NSxcbiAgICAgIGhvdXJzOiAzNjUgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDM2NSAqIDI0ICogNjAsXG4gICAgICBzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IDM2NSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBxdWFydGVyczoge1xuICAgICAgbW9udGhzOiAzLFxuICAgICAgd2Vla3M6IDEzLFxuICAgICAgZGF5czogOTEsXG4gICAgICBob3VyczogOTEgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDkxICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDkxICogMjQgKiA2MCAqIDYwLFxuICAgICAgbWlsbGlzZWNvbmRzOiA5MSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBtb250aHM6IHtcbiAgICAgIHdlZWtzOiA0LFxuICAgICAgZGF5czogMzAsXG4gICAgICBob3VyczogMzAgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDMwICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDMwICogMjQgKiA2MCAqIDYwLFxuICAgICAgbWlsbGlzZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcblxuICAgIC4uLmxvd09yZGVyTWF0cml4LFxuICB9LFxuICBkYXlzSW5ZZWFyQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQwMCxcbiAgZGF5c0luTW9udGhBY2N1cmF0ZSA9IDE0NjA5Ny4wIC8gNDgwMCxcbiAgYWNjdXJhdGVNYXRyaXggPSB7XG4gICAgeWVhcnM6IHtcbiAgICAgIHF1YXJ0ZXJzOiA0LFxuICAgICAgbW9udGhzOiAxMixcbiAgICAgIHdlZWtzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA3LFxuICAgICAgZGF5czogZGF5c0luWWVhckFjY3VyYXRlLFxuICAgICAgaG91cnM6IGRheXNJblllYXJBY2N1cmF0ZSAqIDI0LFxuICAgICAgbWludXRlczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjAgKiA2MCxcbiAgICAgIG1pbGxpc2Vjb25kczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIHF1YXJ0ZXJzOiB7XG4gICAgICBtb250aHM6IDMsXG4gICAgICB3ZWVrczogZGF5c0luWWVhckFjY3VyYXRlIC8gMjgsXG4gICAgICBkYXlzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA0LFxuICAgICAgaG91cnM6IChkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCkgLyA0LFxuICAgICAgbWludXRlczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjApIC8gNCxcbiAgICAgIHNlY29uZHM6IChkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjApIC8gNCxcbiAgICAgIG1pbGxpc2Vjb25kczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjAgKiA2MCAqIDEwMDApIC8gNCxcbiAgICB9LFxuICAgIG1vbnRoczoge1xuICAgICAgd2Vla3M6IGRheXNJbk1vbnRoQWNjdXJhdGUgLyA3LFxuICAgICAgZGF5czogZGF5c0luTW9udGhBY2N1cmF0ZSxcbiAgICAgIGhvdXJzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQsXG4gICAgICBtaW51dGVzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgIH0sXG4gICAgLi4ubG93T3JkZXJNYXRyaXgsXG4gIH07XG5cbi8vIHVuaXRzIG9yZGVyZWQgYnkgc2l6ZVxuY29uc3Qgb3JkZXJlZFVuaXRzID0gW1xuICBcInllYXJzXCIsXG4gIFwicXVhcnRlcnNcIixcbiAgXCJtb250aHNcIixcbiAgXCJ3ZWVrc1wiLFxuICBcImRheXNcIixcbiAgXCJob3Vyc1wiLFxuICBcIm1pbnV0ZXNcIixcbiAgXCJzZWNvbmRzXCIsXG4gIFwibWlsbGlzZWNvbmRzXCIsXG5dO1xuXG5jb25zdCByZXZlcnNlVW5pdHMgPSBvcmRlcmVkVW5pdHMuc2xpY2UoMCkucmV2ZXJzZSgpO1xuXG4vLyBjbG9uZSByZWFsbHkgbWVhbnMgXCJjcmVhdGUgYW5vdGhlciBpbnN0YW5jZSBqdXN0IGxpa2UgdGhpcyBvbmUsIGJ1dCB3aXRoIHRoZXNlIGNoYW5nZXNcIlxuZnVuY3Rpb24gY2xvbmUoZHVyLCBhbHRzLCBjbGVhciA9IGZhbHNlKSB7XG4gIC8vIGRlZXAgbWVyZ2UgZm9yIHZhbHNcbiAgY29uc3QgY29uZiA9IHtcbiAgICB2YWx1ZXM6IGNsZWFyID8gYWx0cy52YWx1ZXMgOiB7IC4uLmR1ci52YWx1ZXMsIC4uLihhbHRzLnZhbHVlcyB8fCB7fSkgfSxcbiAgICBsb2M6IGR1ci5sb2MuY2xvbmUoYWx0cy5sb2MpLFxuICAgIGNvbnZlcnNpb25BY2N1cmFjeTogYWx0cy5jb252ZXJzaW9uQWNjdXJhY3kgfHwgZHVyLmNvbnZlcnNpb25BY2N1cmFjeSxcbiAgfTtcbiAgcmV0dXJuIG5ldyBEdXJhdGlvbihjb25mKTtcbn1cblxuZnVuY3Rpb24gYW50aVRydW5jKG4pIHtcbiAgcmV0dXJuIG4gPCAwID8gTWF0aC5mbG9vcihuKSA6IE1hdGguY2VpbChuKTtcbn1cblxuLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVyc1xuZnVuY3Rpb24gY29udmVydChtYXRyaXgsIGZyb21NYXAsIGZyb21Vbml0LCB0b01hcCwgdG9Vbml0KSB7XG4gIGNvbnN0IGNvbnYgPSBtYXRyaXhbdG9Vbml0XVtmcm9tVW5pdF0sXG4gICAgcmF3ID0gZnJvbU1hcFtmcm9tVW5pdF0gLyBjb252LFxuICAgIHNhbWVTaWduID0gTWF0aC5zaWduKHJhdykgPT09IE1hdGguc2lnbih0b01hcFt0b1VuaXRdKSxcbiAgICAvLyBvaywgc28gdGhpcyBpcyB3aWxkLCBidXQgc2VlIHRoZSBtYXRyaXggaW4gdGhlIHRlc3RzXG4gICAgYWRkZWQgPVxuICAgICAgIXNhbWVTaWduICYmIHRvTWFwW3RvVW5pdF0gIT09IDAgJiYgTWF0aC5hYnMocmF3KSA8PSAxID8gYW50aVRydW5jKHJhdykgOiBNYXRoLnRydW5jKHJhdyk7XG4gIHRvTWFwW3RvVW5pdF0gKz0gYWRkZWQ7XG4gIGZyb21NYXBbZnJvbVVuaXRdIC09IGFkZGVkICogY29udjtcbn1cblxuLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVyc1xuZnVuY3Rpb24gbm9ybWFsaXplVmFsdWVzKG1hdHJpeCwgdmFscykge1xuICByZXZlcnNlVW5pdHMucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgIGlmICghaXNVbmRlZmluZWQodmFsc1tjdXJyZW50XSkpIHtcbiAgICAgIGlmIChwcmV2aW91cykge1xuICAgICAgICBjb252ZXJ0KG1hdHJpeCwgdmFscywgcHJldmlvdXMsIHZhbHMsIGN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICB9XG4gIH0sIG51bGwpO1xufVxuXG4vKipcbiAqIEEgRHVyYXRpb24gb2JqZWN0IHJlcHJlc2VudHMgYSBwZXJpb2Qgb2YgdGltZSwgbGlrZSBcIjIgbW9udGhzXCIgb3IgXCIxIGRheSwgMSBob3VyXCIuIENvbmNlcHR1YWxseSwgaXQncyBqdXN0IGEgbWFwIG9mIHVuaXRzIHRvIHRoZWlyIHF1YW50aXRpZXMsIGFjY29tcGFuaWVkIGJ5IHNvbWUgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGFuZCBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLiBUaGV5IGNhbiBiZSB1c2VkIG9uIHRoZWlyIG93biBvciBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIEx1eG9uIHR5cGVzOyBmb3IgZXhhbXBsZSwgeW91IGNhbiB1c2Uge0BsaW5rIERhdGVUaW1lI3BsdXN9IHRvIGFkZCBhIER1cmF0aW9uIG9iamVjdCB0byBhIERhdGVUaW1lLCBwcm9kdWNpbmcgYW5vdGhlciBEYXRlVGltZS5cbiAqXG4gKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgY29tbW9ubHkgdXNlZCBtZXRob2RzIGFuZCBnZXR0ZXJzIGluIER1cmF0aW9uOlxuICpcbiAqICogKipDcmVhdGlvbioqIFRvIGNyZWF0ZSBhIER1cmF0aW9uLCB1c2Uge0BsaW5rIER1cmF0aW9uI2Zyb21NaWxsaXN9LCB7QGxpbmsgRHVyYXRpb24jZnJvbU9iamVjdH0sIG9yIHtAbGluayBEdXJhdGlvbiNmcm9tSVNPfS5cbiAqICogKipVbml0IHZhbHVlcyoqIFNlZSB0aGUge0BsaW5rIER1cmF0aW9uI3llYXJzfSwge0BsaW5rIER1cmF0aW9uI21vbnRoc30sIHtAbGluayBEdXJhdGlvbiN3ZWVrc30sIHtAbGluayBEdXJhdGlvbiNkYXlzfSwge0BsaW5rIER1cmF0aW9uI2hvdXJzfSwge0BsaW5rIER1cmF0aW9uI21pbnV0ZXN9LCB7QGxpbmsgRHVyYXRpb24jc2Vjb25kc30sIHtAbGluayBEdXJhdGlvbiNtaWxsaXNlY29uZHN9IGFjY2Vzc29ycy5cbiAqICogKipDb25maWd1cmF0aW9uKiogU2VlICB7QGxpbmsgRHVyYXRpb24jbG9jYWxlfSBhbmQge0BsaW5rIER1cmF0aW9uI251bWJlcmluZ1N5c3RlbX0gYWNjZXNzb3JzLlxuICogKiAqKlRyYW5zZm9ybWF0aW9uKiogVG8gY3JlYXRlIG5ldyBEdXJhdGlvbnMgb3V0IG9mIG9sZCBvbmVzIHVzZSB7QGxpbmsgRHVyYXRpb24jcGx1c30sIHtAbGluayBEdXJhdGlvbiNtaW51c30sIHtAbGluayBEdXJhdGlvbiNub3JtYWxpemV9LCB7QGxpbmsgRHVyYXRpb24jc2V0fSwge0BsaW5rIER1cmF0aW9uI3JlY29uZmlndXJlfSwge0BsaW5rIER1cmF0aW9uI3NoaWZ0VG99LCBhbmQge0BsaW5rIER1cmF0aW9uI25lZ2F0ZX0uXG4gKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgRHVyYXRpb24gaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgRHVyYXRpb24jYXN9LCB7QGxpbmsgRHVyYXRpb24jdG9JU099LCB7QGxpbmsgRHVyYXRpb24jdG9Gb3JtYXR9LCBhbmQge0BsaW5rIER1cmF0aW9uI3RvSlNPTn1cbiAqXG4gKiBUaGVyZSdzIGFyZSBtb3JlIG1ldGhvZHMgZG9jdW1lbnRlZCBiZWxvdy4gSW4gYWRkaXRpb24sIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHN1YnRsZXIgdG9waWNzIGxpa2UgaW50ZXJuYXRpb25hbGl6YXRpb24gYW5kIHZhbGlkaXR5LCBzZWUgdGhlIGV4dGVybmFsIGRvY3VtZW50YXRpb24uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIER1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBjb25zdCBhY2N1cmF0ZSA9IGNvbmZpZy5jb252ZXJzaW9uQWNjdXJhY3kgPT09IFwibG9uZ3Rlcm1cIiB8fCBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnZhbHVlcyA9IGNvbmZpZy52YWx1ZXM7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5sb2MgPSBjb25maWcubG9jIHx8IExvY2FsZS5jcmVhdGUoKTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmNvbnZlcnNpb25BY2N1cmFjeSA9IGFjY3VyYXRlID8gXCJsb25ndGVybVwiIDogXCJjYXN1YWxcIjtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMubWF0cml4ID0gYWNjdXJhdGUgPyBhY2N1cmF0ZU1hdHJpeCA6IGNhc3VhbE1hdHJpeDtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmlzTHV4b25EdXJhdGlvbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIER1cmF0aW9uIGZyb20gYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQgb2YgbWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tTWlsbGlzKGNvdW50LCBvcHRzKSB7XG4gICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaWxsaXNlY29uZHM6IGNvdW50IH0sIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIER1cmF0aW9uIGZyb20gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIGtleXMgbGlrZSAneWVhcnMnIGFuZCAnaG91cnMnLlxuICAgKiBJZiB0aGlzIG9iamVjdCBpcyBlbXB0eSB0aGVuIGEgemVybyBtaWxsaXNlY29uZHMgZHVyYXRpb24gaXMgcmV0dXJuZWQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSB0aGUgb2JqZWN0IHRvIGNyZWF0ZSB0aGUgRGF0ZVRpbWUgZnJvbVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLnllYXJzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoucXVhcnRlcnNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5tb250aHNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai53ZWVrc1xuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLmRheXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3Vyc1xuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbnV0ZXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmRzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0cz1bXV0gLSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGlzIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSB0aGUgbG9jYWxlIHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmNvbnZlcnNpb25BY2N1cmFjeT0nY2FzdWFsJ10gLSB0aGUgY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGZyb21PYmplY3Qob2JqLCBvcHRzID0ge30pIHtcbiAgICBpZiAob2JqID09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgRHVyYXRpb24uZnJvbU9iamVjdDogYXJndW1lbnQgZXhwZWN0ZWQgdG8gYmUgYW4gb2JqZWN0LCBnb3QgJHtcbiAgICAgICAgICBvYmogPT09IG51bGwgPyBcIm51bGxcIiA6IHR5cGVvZiBvYmpcbiAgICAgICAgfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEdXJhdGlvbih7XG4gICAgICB2YWx1ZXM6IG5vcm1hbGl6ZU9iamVjdChvYmosIER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpLFxuICAgICAgbG9jOiBMb2NhbGUuZnJvbU9iamVjdChvcHRzKSxcbiAgICAgIGNvbnZlcnNpb25BY2N1cmFjeTogb3B0cy5jb252ZXJzaW9uQWNjdXJhY3ksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBEdXJhdGlvbkxpa2UuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0IHwgbnVtYmVyIHwgRHVyYXRpb259IGR1cmF0aW9uTGlrZVxuICAgKiBPbmUgb2Y6XG4gICAqIC0gb2JqZWN0IHdpdGgga2V5cyBsaWtlICd5ZWFycycgYW5kICdob3VycycuXG4gICAqIC0gbnVtYmVyIHJlcHJlc2VudGluZyBtaWxsaXNlY29uZHNcbiAgICogLSBEdXJhdGlvbiBpbnN0YW5jZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uTGlrZSkge1xuICAgIGlmIChpc051bWJlcihkdXJhdGlvbkxpa2UpKSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhkdXJhdGlvbkxpa2UpO1xuICAgIH0gZWxzZSBpZiAoRHVyYXRpb24uaXNEdXJhdGlvbihkdXJhdGlvbkxpa2UpKSB7XG4gICAgICByZXR1cm4gZHVyYXRpb25MaWtlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGR1cmF0aW9uTGlrZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QoZHVyYXRpb25MaWtlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgVW5rbm93biBkdXJhdGlvbiBhcmd1bWVudCAke2R1cmF0aW9uTGlrZX0gb2YgdHlwZSAke3R5cGVvZiBkdXJhdGlvbkxpa2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSBkdXJhdGlvbiBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBwYXJzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIHBhcnNpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2VcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDNZNk0xVzREVDEySDMwTTVTJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDMsIG1vbnRoczogNiwgd2Vla3M6IDEsIGRheXM6IDQsIGhvdXJzOiAxMiwgbWludXRlczogMzAsIHNlY29uZHM6IDUgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPKCdQVDIzSCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAyMyB9XG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21JU08oJ1A1WTNNJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDUsIG1vbnRoczogMyB9XG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGZyb21JU08odGV4dCwgb3B0cykge1xuICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09EdXJhdGlvbih0ZXh0KTtcbiAgICBpZiAocGFyc2VkKSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdChwYXJzZWQsIG9wdHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uaW52YWxpZChcInVucGFyc2FibGVcIiwgYHRoZSBpbnB1dCBcIiR7dGV4dH1cIiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSB0aW1lIHN0cmluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0ZXh0IHRvIHBhcnNlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVzXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21JU09UaW1lKCcxMToyMjozMy40NDQnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDIyLCBzZWNvbmRzOiAzMywgbWlsbGlzZWNvbmRzOiA0NDQgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTE6MDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExOjAwJykudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IDExLCBtaW51dGVzOiAwLCBzZWNvbmRzOiAwIH1cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJzExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tSVNPVGltZSh0ZXh0LCBvcHRzKSB7XG4gICAgY29uc3QgW3BhcnNlZF0gPSBwYXJzZUlTT1RpbWVPbmx5KHRleHQpO1xuICAgIGlmIChwYXJzZWQpIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKFwidW5wYXJzYWJsZVwiLCBgdGhlIGlucHV0IFwiJHt0ZXh0fVwiIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW52YWxpZCBEdXJhdGlvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIHNpbXBsZSBzdHJpbmcgb2Ygd2h5IHRoaXMgZGF0ZXRpbWUgaXMgaW52YWxpZC4gU2hvdWxkIG5vdCBjb250YWluIHBhcmFtZXRlcnMgb3IgYW55dGhpbmcgZWxzZSBkYXRhLWRlcGVuZGVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBEdXJhdGlvbiBpcyBpbnZhbGlkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7XG5cbiAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRHVyYXRpb25FcnJvcihpbnZhbGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBEdXJhdGlvbih7IGludmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplVW5pdCh1bml0KSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHtcbiAgICAgIHllYXI6IFwieWVhcnNcIixcbiAgICAgIHllYXJzOiBcInllYXJzXCIsXG4gICAgICBxdWFydGVyOiBcInF1YXJ0ZXJzXCIsXG4gICAgICBxdWFydGVyczogXCJxdWFydGVyc1wiLFxuICAgICAgbW9udGg6IFwibW9udGhzXCIsXG4gICAgICBtb250aHM6IFwibW9udGhzXCIsXG4gICAgICB3ZWVrOiBcIndlZWtzXCIsXG4gICAgICB3ZWVrczogXCJ3ZWVrc1wiLFxuICAgICAgZGF5OiBcImRheXNcIixcbiAgICAgIGRheXM6IFwiZGF5c1wiLFxuICAgICAgaG91cjogXCJob3Vyc1wiLFxuICAgICAgaG91cnM6IFwiaG91cnNcIixcbiAgICAgIG1pbnV0ZTogXCJtaW51dGVzXCIsXG4gICAgICBtaW51dGVzOiBcIm1pbnV0ZXNcIixcbiAgICAgIHNlY29uZDogXCJzZWNvbmRzXCIsXG4gICAgICBzZWNvbmRzOiBcInNlY29uZHNcIixcbiAgICAgIG1pbGxpc2Vjb25kOiBcIm1pbGxpc2Vjb25kc1wiLFxuICAgICAgbWlsbGlzZWNvbmRzOiBcIm1pbGxpc2Vjb25kc1wiLFxuICAgIH1bdW5pdCA/IHVuaXQudG9Mb3dlckNhc2UoKSA6IHVuaXRdO1xuXG4gICAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTtcblxuICAgIHJldHVybiBub3JtYWxpemVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhIER1cmF0aW9uLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNEdXJhdGlvbihvKSB7XG4gICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkR1cmF0aW9uKSB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgIHRoZSBsb2NhbGUgb2YgYSBEdXJhdGlvbiwgc3VjaCAnZW4tR0InXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyaW5nIHN5c3RlbSBvZiBhIER1cmF0aW9uLCBzdWNoICdiZW5nJy4gVGhlIG51bWJlcmluZyBzeXN0ZW0gaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIER1cmF0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy4gWW91IG1heSB1c2UgdGhlc2UgdG9rZW5zOlxuICAgKiAqIGBTYCBmb3IgbWlsbGlzZWNvbmRzXG4gICAqICogYHNgIGZvciBzZWNvbmRzXG4gICAqICogYG1gIGZvciBtaW51dGVzXG4gICAqICogYGhgIGZvciBob3Vyc1xuICAgKiAqIGBkYCBmb3IgZGF5c1xuICAgKiAqIGB3YCBmb3Igd2Vla3NcbiAgICogKiBgTWAgZm9yIG1vbnRoc1xuICAgKiAqIGB5YCBmb3IgeWVhcnNcbiAgICogTm90ZXM6XG4gICAqICogQWRkIHBhZGRpbmcgYnkgcmVwZWF0aW5nIHRoZSB0b2tlbiwgZS5nLiBcInl5XCIgcGFkcyB0aGUgeWVhcnMgdG8gdHdvIGRpZ2l0cywgXCJoaGhoXCIgcGFkcyB0aGUgaG91cnMgb3V0IHRvIGZvdXIgZGlnaXRzXG4gICAqICogVG9rZW5zIGNhbiBiZSBlc2NhcGVkIGJ5IHdyYXBwaW5nIHdpdGggc2luZ2xlIHF1b3Rlcy5cbiAgICogKiBUaGUgZHVyYXRpb24gd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhlIHNldCBvZiB1bml0cyBpbiB0aGUgZm9ybWF0IHN0cmluZyB1c2luZyB7QGxpbmsgRHVyYXRpb24jc2hpZnRUb30gYW5kIHRoZSBEdXJhdGlvbnMncyBjb252ZXJzaW9uIGFjY3VyYWN5IHNldHRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5mbG9vcj10cnVlXSAtIGZsb29yIG51bWVyaWNhbCB2YWx1ZXNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KFwieSBkIHNcIikgLy89PiBcIjEgNiAyXCJcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KFwieXkgZGQgc3NzXCIpIC8vPT4gXCIwMSAwNiAwMDJcIlxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfSkudG9Gb3JtYXQoXCJNIFNcIikgLy89PiBcIjEyIDUxODQwMjAwMFwiXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvRm9ybWF0KGZtdCwgb3B0cyA9IHt9KSB7XG4gICAgLy8gcmV2ZXJzZS1jb21wYXQgc2luY2UgMS4yOyB3ZSBhbHdheXMgcm91bmQgZG93biBub3csIG5ldmVyIHVwLCBhbmQgd2UgZG8gaXQgYnkgZGVmYXVsdFxuICAgIGNvbnN0IGZtdE9wdHMgPSB7XG4gICAgICAuLi5vcHRzLFxuICAgICAgZmxvb3I6IG9wdHMucm91bmQgIT09IGZhbHNlICYmIG9wdHMuZmxvb3IgIT09IGZhbHNlLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLCBmbXRPcHRzKS5mb3JtYXREdXJhdGlvbkZyb21TdHJpbmcodGhpcywgZm10KVxuICAgICAgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBEdXJhdGlvbiB3aXRoIGFsbCB1bml0cyBpbmNsdWRlZC5cbiAgICogVG8gbW9kaWZ5IGl0cyBiZWhhdmlvciB1c2UgdGhlIGBsaXN0U3R5bGVgIGFuZCBhbnkgSW50bC5OdW1iZXJGb3JtYXQgb3B0aW9uLCB0aG91Z2ggYHVuaXREaXNwbGF5YCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50LlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTnVtYmVyRm9ybWF0XG4gICAqIEBwYXJhbSBvcHRzIC0gT24gb3B0aW9uIG9iamVjdCB0byBvdmVycmlkZSB0aGUgZm9ybWF0dGluZy4gQWNjZXB0cyB0aGUgc2FtZSBrZXlzIGFzIHRoZSBvcHRpb25zIHBhcmFtZXRlciBvZiB0aGUgbmF0aXZlIGBJbnQuTnVtYmVyRm9ybWF0YCBjb25zdHJ1Y3RvciwgYXMgd2VsbCBhcyBgbGlzdFN0eWxlYC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICogdmFyIGR1ciA9IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxLCBob3VyczogNSwgbWludXRlczogNiB9KVxuICAgKiBkdXIudG9IdW1hbigpIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCA2IG1pbnV0ZXMnXG4gICAqIGR1ci50b0h1bWFuKHsgbGlzdFN0eWxlOiBcImxvbmdcIiB9KSAvLz0+ICcxIGRheSwgNSBob3VycywgYW5kIDYgbWludXRlcydcbiAgICogZHVyLnRvSHVtYW4oeyB1bml0RGlzcGxheTogXCJzaG9ydFwiIH0pIC8vPT4gJzEgZGF5LCA1IGhyLCA2IG1pbidcbiAgICogYGBgXG4gICAqL1xuICB0b0h1bWFuKG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IGwgPSBvcmRlcmVkVW5pdHNcbiAgICAgIC5tYXAoKHVuaXQpID0+IHtcbiAgICAgICAgY29uc3QgdmFsID0gdGhpcy52YWx1ZXNbdW5pdF07XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZCh2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubG9jXG4gICAgICAgICAgLm51bWJlckZvcm1hdHRlcih7IHN0eWxlOiBcInVuaXRcIiwgdW5pdERpc3BsYXk6IFwibG9uZ1wiLCAuLi5vcHRzLCB1bml0OiB1bml0LnNsaWNlKDAsIC0xKSB9KVxuICAgICAgICAgIC5mb3JtYXQodmFsKTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChuKSA9PiBuKTtcblxuICAgIHJldHVybiB0aGlzLmxvY1xuICAgICAgLmxpc3RGb3JtYXR0ZXIoeyB0eXBlOiBcImNvbmp1bmN0aW9uXCIsIHN0eWxlOiBvcHRzLmxpc3RTdHlsZSB8fCBcIm5hcnJvd1wiLCAuLi5vcHRzIH0pXG4gICAgICAuZm9ybWF0KGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHRoaXMgRHVyYXRpb24ncyB2YWx1ZXMuXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSwgZGF5czogNiwgc2Vjb25kczogMiB9KS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMSwgZGF5czogNiwgc2Vjb25kczogMiB9XG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHRvT2JqZWN0KCkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4ge307XG4gICAgcmV0dXJuIHsgLi4udGhpcy52YWx1ZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbi5cbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAzLCBzZWNvbmRzOiA0NSB9KS50b0lTTygpIC8vPT4gJ1AzWVQ0NVMnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDQsIHNlY29uZHM6IDQ1IH0pLnRvSVNPKCkgLy89PiAnUDRNVDQ1UydcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogNSB9KS50b0lTTygpIC8vPT4gJ1A1TSdcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDUgfSkudG9JU08oKSAvLz0+ICdQVDVNJ1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWlsbGlzZWNvbmRzOiA2IH0pLnRvSVNPKCkgLy89PiAnUFQwLjAwNlMnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKCkge1xuICAgIC8vIHdlIGNvdWxkIHVzZSB0aGUgZm9ybWF0dGVyLCBidXQgdGhpcyBpcyBhbiBlYXNpZXIgd2F5IHRvIGdldCB0aGUgbWluaW11bSBzdHJpbmdcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICBsZXQgcyA9IFwiUFwiO1xuICAgIGlmICh0aGlzLnllYXJzICE9PSAwKSBzICs9IHRoaXMueWVhcnMgKyBcIllcIjtcbiAgICBpZiAodGhpcy5tb250aHMgIT09IDAgfHwgdGhpcy5xdWFydGVycyAhPT0gMCkgcyArPSB0aGlzLm1vbnRocyArIHRoaXMucXVhcnRlcnMgKiAzICsgXCJNXCI7XG4gICAgaWYgKHRoaXMud2Vla3MgIT09IDApIHMgKz0gdGhpcy53ZWVrcyArIFwiV1wiO1xuICAgIGlmICh0aGlzLmRheXMgIT09IDApIHMgKz0gdGhpcy5kYXlzICsgXCJEXCI7XG4gICAgaWYgKHRoaXMuaG91cnMgIT09IDAgfHwgdGhpcy5taW51dGVzICE9PSAwIHx8IHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMClcbiAgICAgIHMgKz0gXCJUXCI7XG4gICAgaWYgKHRoaXMuaG91cnMgIT09IDApIHMgKz0gdGhpcy5ob3VycyArIFwiSFwiO1xuICAgIGlmICh0aGlzLm1pbnV0ZXMgIT09IDApIHMgKz0gdGhpcy5taW51dGVzICsgXCJNXCI7XG4gICAgaWYgKHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMClcbiAgICAgIC8vIHRoaXMgd2lsbCBoYW5kbGUgXCJmbG9hdGluZyBwb2ludCBtYWRuZXNzXCIgYnkgcmVtb3ZpbmcgZXh0cmEgZGVjaW1hbCBwbGFjZXNcbiAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzU4ODAwNC9pcy1mbG9hdGluZy1wb2ludC1tYXRoLWJyb2tlblxuICAgICAgcyArPSByb3VuZFRvKHRoaXMuc2Vjb25kcyArIHRoaXMubWlsbGlzZWNvbmRzIC8gMTAwMCwgMykgKyBcIlNcIjtcbiAgICBpZiAocyA9PT0gXCJQXCIpIHMgKz0gXCJUMFNcIjtcbiAgICByZXR1cm4gcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiwgZm9ybWF0dGVkIGFzIGEgdGltZSBvZiBkYXkuXG4gICAqIE5vdGUgdGhhdCB0aGlzIHdpbGwgcmV0dXJuIG51bGwgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQsIG5lZ2F0aXZlLCBvciBlcXVhbCB0byBvciBncmVhdGVyIHRoYW4gMjQgaG91cnMuXG4gICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZXNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NNaWxsaXNlY29uZHM9ZmFsc2VdIC0gZXhjbHVkZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzU2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIHNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVQcmVmaXg9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgYFRgIHByZWZpeFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXRcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoKSAvLz0+ICcxMTowMDowMC4wMDAnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NNaWxsaXNlY29uZHM6IHRydWUgfSkgLy89PiAnMTE6MDA6MDAnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NTZWNvbmRzOiB0cnVlIH0pIC8vPT4gJzExOjAwJ1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSh7IGluY2x1ZGVQcmVmaXg6IHRydWUgfSkgLy89PiAnVDExOjAwOjAwLjAwMCdcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoeyBmb3JtYXQ6ICdiYXNpYycgfSkgLy89PiAnMTEwMDAwLjAwMCdcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9JU09UaW1lKG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IG1pbGxpcyA9IHRoaXMudG9NaWxsaXMoKTtcbiAgICBpZiAobWlsbGlzIDwgMCB8fCBtaWxsaXMgPj0gODY0MDAwMDApIHJldHVybiBudWxsO1xuXG4gICAgb3B0cyA9IHtcbiAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzOiBmYWxzZSxcbiAgICAgIHN1cHByZXNzU2Vjb25kczogZmFsc2UsXG4gICAgICBpbmNsdWRlUHJlZml4OiBmYWxzZSxcbiAgICAgIGZvcm1hdDogXCJleHRlbmRlZFwiLFxuICAgICAgLi4ub3B0cyxcbiAgICB9O1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnNoaWZ0VG8oXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCIsIFwibWlsbGlzZWNvbmRzXCIpO1xuXG4gICAgbGV0IGZtdCA9IG9wdHMuZm9ybWF0ID09PSBcImJhc2ljXCIgPyBcImhobW1cIiA6IFwiaGg6bW1cIjtcblxuICAgIGlmICghb3B0cy5zdXBwcmVzc1NlY29uZHMgfHwgdmFsdWUuc2Vjb25kcyAhPT0gMCB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHtcbiAgICAgIGZtdCArPSBvcHRzLmZvcm1hdCA9PT0gXCJiYXNpY1wiID8gXCJzc1wiIDogXCI6c3NcIjtcbiAgICAgIGlmICghb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcyB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHtcbiAgICAgICAgZm10ICs9IFwiLlNTU1wiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBzdHIgPSB2YWx1ZS50b0Zvcm1hdChmbXQpO1xuXG4gICAgaWYgKG9wdHMuaW5jbHVkZVByZWZpeCkge1xuICAgICAgc3RyID0gXCJUXCIgKyBzdHI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBkZWJ1Z2dpbmcuXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnRvSVNPKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgdG9NaWxsaXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXMoXCJtaWxsaXNlY29uZHNcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi4gQWxpYXMgb2Yge0BsaW5rIHRvTWlsbGlzfVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB2YWx1ZU9mKCkge1xuICAgIHJldHVybiB0aGlzLnRvTWlsbGlzKCk7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSB0aGlzIER1cmF0aW9uIGxvbmdlciBieSB0aGUgc3BlY2lmaWVkIGFtb3VudC4gUmV0dXJuIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KClcbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBwbHVzKGR1cmF0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksXG4gICAgICByZXN1bHQgPSB7fTtcblxuICAgIGZvciAoY29uc3QgayBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eShkdXIudmFsdWVzLCBrKSB8fCBoYXNPd25Qcm9wZXJ0eSh0aGlzLnZhbHVlcywgaykpIHtcbiAgICAgICAgcmVzdWx0W2tdID0gZHVyLmdldChrKSArIHRoaXMuZ2V0KGspO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgdGhpcyBEdXJhdGlvbiBzaG9ydGVyIGJ5IHRoZSBzcGVjaWZpZWQgYW1vdW50LiBSZXR1cm4gYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi5cbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgbWludXMoZHVyYXRpb24pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcbiAgICByZXR1cm4gdGhpcy5wbHVzKGR1ci5uZWdhdGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGUgdGhpcyBEdXJhdGlvbiBieSB0aGUgc3BlY2lmaWVkIGFtb3VudC4gUmV0dXJuIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggdW5pdC4gQXJpdHkgaXMgMSBvciAyOiB0aGUgdmFsdWUgb2YgdGhlIHVuaXQgYW5kLCBvcHRpb25hbGx5LCB0aGUgdW5pdCBuYW1lLiBNdXN0IHJldHVybiBhIG51bWJlci5cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cyh4ID0+IHggKiAyKSAvLz0+IHsgaG91cnM6IDIsIG1pbnV0ZXM6IDYwIH1cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cygoeCwgdSkgPT4gdSA9PT0gXCJob3VyXCIgPyB4ICogMiA6IHgpIC8vPT4geyBob3VyczogMiwgbWludXRlczogMzAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIG1hcFVuaXRzKGZuKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHtcbiAgICAgIHJlc3VsdFtrXSA9IGFzTnVtYmVyKGZuKHRoaXMudmFsdWVzW2tdLCBrKSk7XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmFsdWUgb2YgdW5pdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlJyBvciAnZGF5J1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgneWVhcnMnKSAvLz0+IDJcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7eWVhcnM6IDIsIGRheXM6IDN9KS5nZXQoJ21vbnRocycpIC8vPT4gMFxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgnZGF5cycpIC8vPT4gM1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQodW5pdCkge1xuICAgIHJldHVybiB0aGlzW0R1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodW5pdCldO1xuICB9XG5cbiAgLyoqXG4gICAqIFwiU2V0XCIgdGhlIHZhbHVlcyBvZiBzcGVjaWZpZWQgdW5pdHMuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gYSBtYXBwaW5nIG9mIHVuaXRzIHRvIG51bWJlcnNcbiAgICogQGV4YW1wbGUgZHVyLnNldCh7IHllYXJzOiAyMDE3IH0pXG4gICAqIEBleGFtcGxlIGR1ci5zZXQoeyBob3VyczogOCwgbWludXRlczogMzAgfSlcbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBzZXQodmFsdWVzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgbWl4ZWQgPSB7IC4uLnRoaXMudmFsdWVzLCAuLi5ub3JtYWxpemVPYmplY3QodmFsdWVzLCBEdXJhdGlvbi5ub3JtYWxpemVVbml0KSB9O1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogbWl4ZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgbG9jYWxlIGFuZC9vciBudW1iZXJpbmdTeXN0ZW0uICBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBleGFtcGxlIGR1ci5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIGNvbnZlcnNpb25BY2N1cmFjeSB9ID0ge30pIHtcbiAgICBjb25zdCBsb2MgPSB0aGlzLmxvYy5jbG9uZSh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtIH0pLFxuICAgICAgb3B0cyA9IHsgbG9jIH07XG5cbiAgICBpZiAoY29udmVyc2lvbkFjY3VyYWN5KSB7XG4gICAgICBvcHRzLmNvbnZlcnNpb25BY2N1cmFjeSA9IGNvbnZlcnNpb25BY2N1cmFjeTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xvbmUodGhpcywgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIGR1cmF0aW9uIGluIHRoZSBzcGVjaWZpZWQgdW5pdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlcycgb3IgJ2RheXMnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAxfSkuYXMoJ2RheXMnKSAvLz0+IDM2NVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMX0pLmFzKCdtb250aHMnKSAvLz0+IDEyXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe2hvdXJzOiA2MH0pLmFzKCdkYXlzJykgLy89PiAyLjVcbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgYXModW5pdCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnNoaWZ0VG8odW5pdCkuZ2V0KHVuaXQpIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZHVjZSB0aGlzIER1cmF0aW9uIHRvIGl0cyBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gaW4gaXRzIGN1cnJlbnQgdW5pdHMuXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMiwgZGF5czogNTAwMCB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMTUsIGRheXM6IDI1NSB9XG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTIsIG1pbnV0ZXM6IC00NSB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDE1IH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBub3JtYWxpemUoKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IHZhbHMgPSB0aGlzLnRvT2JqZWN0KCk7XG4gICAgbm9ybWFsaXplVmFsdWVzKHRoaXMubWF0cml4LCB2YWxzKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgeyB2YWx1ZXM6IHZhbHMgfSwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGlzIER1cmF0aW9uIGludG8gaXRzIHJlcHJlc2VudGF0aW9uIGluIGEgZGlmZmVyZW50IHNldCBvZiB1bml0cy5cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBzZWNvbmRzOiAzMCB9KS5zaGlmdFRvKCdtaW51dGVzJywgJ21pbGxpc2Vjb25kcycpLnRvT2JqZWN0KCkgLy89PiB7IG1pbnV0ZXM6IDYwLCBtaWxsaXNlY29uZHM6IDMwMDAwIH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBzaGlmdFRvKC4uLnVuaXRzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHVuaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdW5pdHMgPSB1bml0cy5tYXAoKHUpID0+IER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodSkpO1xuXG4gICAgY29uc3QgYnVpbHQgPSB7fSxcbiAgICAgIGFjY3VtdWxhdGVkID0ge30sXG4gICAgICB2YWxzID0gdGhpcy50b09iamVjdCgpO1xuICAgIGxldCBsYXN0VW5pdDtcblxuICAgIGZvciAoY29uc3QgayBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmICh1bml0cy5pbmRleE9mKGspID49IDApIHtcbiAgICAgICAgbGFzdFVuaXQgPSBrO1xuXG4gICAgICAgIGxldCBvd24gPSAwO1xuXG4gICAgICAgIC8vIGFueXRoaW5nIHdlIGhhdmVuJ3QgYm9pbGVkIGRvd24geWV0IHNob3VsZCBnZXQgYm9pbGVkIHRvIHRoaXMgdW5pdFxuICAgICAgICBmb3IgKGNvbnN0IGFrIGluIGFjY3VtdWxhdGVkKSB7XG4gICAgICAgICAgb3duICs9IHRoaXMubWF0cml4W2FrXVtrXSAqIGFjY3VtdWxhdGVkW2FrXTtcbiAgICAgICAgICBhY2N1bXVsYXRlZFtha10gPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGx1cyBhbnl0aGluZyB0aGF0J3MgYWxyZWFkeSBpbiB0aGlzIHVuaXRcbiAgICAgICAgaWYgKGlzTnVtYmVyKHZhbHNba10pKSB7XG4gICAgICAgICAgb3duICs9IHZhbHNba107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpID0gTWF0aC50cnVuYyhvd24pO1xuICAgICAgICBidWlsdFtrXSA9IGk7XG4gICAgICAgIGFjY3VtdWxhdGVkW2tdID0gKG93biAqIDEwMDAgLSBpICogMTAwMCkgLyAxMDAwO1xuXG4gICAgICAgIC8vIHBsdXMgYW55dGhpbmcgZnVydGhlciBkb3duIHRoZSBjaGFpbiB0aGF0IHNob3VsZCBiZSByb2xsZWQgdXAgaW4gdG8gdGhpc1xuICAgICAgICBmb3IgKGNvbnN0IGRvd24gaW4gdmFscykge1xuICAgICAgICAgIGlmIChvcmRlcmVkVW5pdHMuaW5kZXhPZihkb3duKSA+IG9yZGVyZWRVbml0cy5pbmRleE9mKGspKSB7XG4gICAgICAgICAgICBjb252ZXJ0KHRoaXMubWF0cml4LCB2YWxzLCBkb3duLCBidWlsdCwgayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIG90aGVyd2lzZSwga2VlcCBpdCBpbiB0aGUgd2luZ3MgdG8gYm9pbCBpdCBsYXRlclxuICAgICAgfSBlbHNlIGlmIChpc051bWJlcih2YWxzW2tdKSkge1xuICAgICAgICBhY2N1bXVsYXRlZFtrXSA9IHZhbHNba107XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYW55dGhpbmcgbGVmdG92ZXIgYmVjb21lcyB0aGUgZGVjaW1hbCBmb3IgdGhlIGxhc3QgdW5pdFxuICAgIC8vIGxhc3RVbml0IG11c3QgYmUgZGVmaW5lZCBzaW5jZSB1bml0cyBpcyBub3QgZW1wdHlcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBhY2N1bXVsYXRlZCkge1xuICAgICAgaWYgKGFjY3VtdWxhdGVkW2tleV0gIT09IDApIHtcbiAgICAgICAgYnVpbHRbbGFzdFVuaXRdICs9XG4gICAgICAgICAga2V5ID09PSBsYXN0VW5pdCA/IGFjY3VtdWxhdGVkW2tleV0gOiBhY2N1bXVsYXRlZFtrZXldIC8gdGhpcy5tYXRyaXhbbGFzdFVuaXRdW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsb25lKHRoaXMsIHsgdmFsdWVzOiBidWlsdCB9LCB0cnVlKS5ub3JtYWxpemUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5lZ2F0aXZlIG9mIHRoaXMgRHVyYXRpb24uXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgc2Vjb25kczogMzAgfSkubmVnYXRlKCkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IC0xLCBzZWNvbmRzOiAtMzAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIG5lZ2F0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgbmVnYXRlZCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHtcbiAgICAgIG5lZ2F0ZWRba10gPSB0aGlzLnZhbHVlc1trXSA9PT0gMCA/IDAgOiAtdGhpcy52YWx1ZXNba107XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogbmVnYXRlZCB9LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXJzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHllYXJzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy55ZWFycyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcXVhcnRlcnMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgcXVhcnRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLnF1YXJ0ZXJzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aHMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbW9udGhzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5tb250aHMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHdlZWtzXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLndlZWtzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXlzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLmRheXMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGhvdXJzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGhvdXJzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5ob3VycyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWludXRlcy5cbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIGdldCBtaW51dGVzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5taW51dGVzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBzZWNvbmRzLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgc2Vjb25kcygpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMuc2Vjb25kcyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWlsbGlzZWNvbmRzLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbWlsbGlzZWNvbmRzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5taWxsaXNlY29uZHMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIER1cmF0aW9uIGlzIGludmFsaWQuIEludmFsaWQgZHVyYXRpb25zIGFyZSByZXR1cm5lZCBieSBkaWZmIG9wZXJhdGlvbnNcbiAgICogb24gaW52YWxpZCBEYXRlVGltZXMgb3IgSW50ZXJ2YWxzLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA9PT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGVycm9yIGNvZGUgaWYgdGhpcyBEdXJhdGlvbiBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRHVyYXRpb24gaXMgdmFsaWRcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRSZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgRHVyYXRpb24gYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIER1cmF0aW9uIGlzIHZhbGlkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgaW52YWxpZEV4cGxhbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEVxdWFsaXR5IGNoZWNrXG4gICAqIFR3byBEdXJhdGlvbnMgYXJlIGVxdWFsIGlmZiB0aGV5IGhhdmUgdGhlIHNhbWUgdW5pdHMgYW5kIHRoZSBzYW1lIHZhbHVlcyBmb3IgZWFjaCB1bml0LlxuICAgKiBAcGFyYW0ge0R1cmF0aW9ufSBvdGhlclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZXF1YWxzKG90aGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQgfHwgIW90aGVyLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubG9jLmVxdWFscyhvdGhlci5sb2MpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXEodjEsIHYyKSB7XG4gICAgICAvLyBDb25zaWRlciAwIGFuZCB1bmRlZmluZWQgYXMgZXF1YWxcbiAgICAgIGlmICh2MSA9PT0gdW5kZWZpbmVkIHx8IHYxID09PSAwKSByZXR1cm4gdjIgPT09IHVuZGVmaW5lZCB8fCB2MiA9PT0gMDtcbiAgICAgIHJldHVybiB2MSA9PT0gdjI7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB1IG9mIG9yZGVyZWRVbml0cykge1xuICAgICAgaWYgKCFlcSh0aGlzLnZhbHVlc1t1XSwgb3RoZXIudmFsdWVzW3VdKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCAiaW1wb3J0IERhdGVUaW1lLCB7IGZyaWVuZGx5RGF0ZVRpbWUgfSBmcm9tIFwiLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IER1cmF0aW9uIGZyb20gXCIuL2R1cmF0aW9uLmpzXCI7XG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3MuanNcIjtcbmltcG9ydCB7IEludmFsaWRBcmd1bWVudEVycm9yLCBJbnZhbGlkSW50ZXJ2YWxFcnJvciB9IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IEludmFsaWQgZnJvbSBcIi4vaW1wbC9pbnZhbGlkLmpzXCI7XG5cbmNvbnN0IElOVkFMSUQgPSBcIkludmFsaWQgSW50ZXJ2YWxcIjtcblxuLy8gY2hlY2tzIGlmIHRoZSBzdGFydCBpcyBlcXVhbCB0byBvciBiZWZvcmUgdGhlIGVuZFxuZnVuY3Rpb24gdmFsaWRhdGVTdGFydEVuZChzdGFydCwgZW5kKSB7XG4gIGlmICghc3RhcnQgfHwgIXN0YXJ0LmlzVmFsaWQpIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZChcIm1pc3Npbmcgb3IgaW52YWxpZCBzdGFydFwiKTtcbiAgfSBlbHNlIGlmICghZW5kIHx8ICFlbmQuaXNWYWxpZCkge1xuICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKFwibWlzc2luZyBvciBpbnZhbGlkIGVuZFwiKTtcbiAgfSBlbHNlIGlmIChlbmQgPCBzdGFydCkge1xuICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKFxuICAgICAgXCJlbmQgYmVmb3JlIHN0YXJ0XCIsXG4gICAgICBgVGhlIGVuZCBvZiBhbiBpbnRlcnZhbCBtdXN0IGJlIGFmdGVyIGl0cyBzdGFydCwgYnV0IHlvdSBoYWQgc3RhcnQ9JHtzdGFydC50b0lTTygpfSBhbmQgZW5kPSR7ZW5kLnRvSVNPKCl9YFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBJbnRlcnZhbCBvYmplY3QgcmVwcmVzZW50cyBhIGhhbGYtb3BlbiBpbnRlcnZhbCBvZiB0aW1lLCB3aGVyZSBlYWNoIGVuZHBvaW50IGlzIGEge0BsaW5rIERhdGVUaW1lfS4gQ29uY2VwdHVhbGx5LCBpdCdzIGEgY29udGFpbmVyIGZvciB0aG9zZSB0d28gZW5kcG9pbnRzLCBhY2NvbXBhbmllZCBieSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgY29tcGFyaW5nLCB0cmFuc2Zvcm1pbmcsIGFuZCBmb3JtYXR0aW5nIHRoZW0uXG4gKlxuICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgbWV0aG9kcyBhbmQgZ2V0dGVycyBpbiBJbnRlcnZhbDpcbiAqXG4gKiAqICoqQ3JlYXRpb24qKiBUbyBjcmVhdGUgYW4gSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjZnJvbURhdGVUaW1lc30sIHtAbGluayBJbnRlcnZhbCNhZnRlcn0sIHtAbGluayBJbnRlcnZhbCNiZWZvcmV9LCBvciB7QGxpbmsgSW50ZXJ2YWwjZnJvbUlTT30uXG4gKiAqICoqQWNjZXNzb3JzKiogVXNlIHtAbGluayBJbnRlcnZhbCNzdGFydH0gYW5kIHtAbGluayBJbnRlcnZhbCNlbmR9IHRvIGdldCB0aGUgc3RhcnQgYW5kIGVuZC5cbiAqICogKipJbnRlcnJvZ2F0aW9uKiogVG8gYW5hbHl6ZSB0aGUgSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjY291bnR9LCB7QGxpbmsgSW50ZXJ2YWwjbGVuZ3RofSwge0BsaW5rIEludGVydmFsI2hhc1NhbWV9LCB7QGxpbmsgSW50ZXJ2YWwjY29udGFpbnN9LCB7QGxpbmsgSW50ZXJ2YWwjaXNBZnRlcn0sIG9yIHtAbGluayBJbnRlcnZhbCNpc0JlZm9yZX0uXG4gKiAqICoqVHJhbnNmb3JtYXRpb24qKiBUbyBjcmVhdGUgb3RoZXIgSW50ZXJ2YWxzIG91dCBvZiB0aGlzIG9uZSwgdXNlIHtAbGluayBJbnRlcnZhbCNzZXR9LCB7QGxpbmsgSW50ZXJ2YWwjc3BsaXRBdH0sIHtAbGluayBJbnRlcnZhbCNzcGxpdEJ5fSwge0BsaW5rIEludGVydmFsI2RpdmlkZUVxdWFsbHl9LCB7QGxpbmsgSW50ZXJ2YWwjbWVyZ2V9LCB7QGxpbmsgSW50ZXJ2YWwjeG9yfSwge0BsaW5rIEludGVydmFsI3VuaW9ufSwge0BsaW5rIEludGVydmFsI2ludGVyc2VjdGlvbn0sIG9yIHtAbGluayBJbnRlcnZhbCNkaWZmZXJlbmNlfS5cbiAqICogKipDb21wYXJpc29uKiogVG8gY29tcGFyZSB0aGlzIEludGVydmFsIHRvIGFub3RoZXIgb25lLCB1c2Uge0BsaW5rIEludGVydmFsI2VxdWFsc30sIHtAbGluayBJbnRlcnZhbCNvdmVybGFwc30sIHtAbGluayBJbnRlcnZhbCNhYnV0c1N0YXJ0fSwge0BsaW5rIEludGVydmFsI2FidXRzRW5kfSwge0BsaW5rIEludGVydmFsI2VuZ3VsZnN9XG4gKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgSW50ZXJ2YWwgaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgSW50ZXJ2YWwjdG9TdHJpbmd9LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU099LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU09EYXRlfSwge0BsaW5rIEludGVydmFsI3RvSVNPVGltZX0sIHtAbGluayBJbnRlcnZhbCN0b0Zvcm1hdH0sIGFuZCB7QGxpbmsgSW50ZXJ2YWwjdG9EdXJhdGlvbn0uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVydmFsIHtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnMgPSBjb25maWcuc3RhcnQ7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5lID0gY29uZmlnLmVuZDtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuaXNMdXhvbkludGVydmFsID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW52YWxpZCBJbnRlcnZhbC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIHNpbXBsZSBzdHJpbmcgb2Ygd2h5IHRoaXMgSW50ZXJ2YWwgaXMgaW52YWxpZC4gU2hvdWxkIG5vdCBjb250YWluIHBhcmFtZXRlcnMgb3IgYW55dGhpbmcgZWxzZSBkYXRhLWRlcGVuZGVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBJbnRlcnZhbCBpcyBpbnZhbGlkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7XG5cbiAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkSW50ZXJ2YWxFcnJvcihpbnZhbGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBJbnRlcnZhbCh7IGludmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGEgc3RhcnQgRGF0ZVRpbWUgYW5kIGFuIGVuZCBEYXRlVGltZS4gSW5jbHVzaXZlIG9mIHRoZSBzdGFydCBidXQgbm90IHRoZSBlbmQuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IGVuZFxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRGF0ZVRpbWVzKHN0YXJ0LCBlbmQpIHtcbiAgICBjb25zdCBidWlsdFN0YXJ0ID0gZnJpZW5kbHlEYXRlVGltZShzdGFydCksXG4gICAgICBidWlsdEVuZCA9IGZyaWVuZGx5RGF0ZVRpbWUoZW5kKTtcblxuICAgIGNvbnN0IHZhbGlkYXRlRXJyb3IgPSB2YWxpZGF0ZVN0YXJ0RW5kKGJ1aWx0U3RhcnQsIGJ1aWx0RW5kKTtcblxuICAgIGlmICh2YWxpZGF0ZUVycm9yID09IG51bGwpIHtcbiAgICAgIHJldHVybiBuZXcgSW50ZXJ2YWwoe1xuICAgICAgICBzdGFydDogYnVpbHRTdGFydCxcbiAgICAgICAgZW5kOiBidWlsdEVuZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEludGVydmFsIGZyb20gYSBzdGFydCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgdG8uXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0XG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSB0aGUgbGVuZ3RoIG9mIHRoZSBJbnRlcnZhbC5cbiAgICogQHJldHVybiB7SW50ZXJ2YWx9XG4gICAqL1xuICBzdGF0aWMgYWZ0ZXIoc3RhcnQsIGR1cmF0aW9uKSB7XG4gICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksXG4gICAgICBkdCA9IGZyaWVuZGx5RGF0ZVRpbWUoc3RhcnQpO1xuICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0LCBkdC5wbHVzKGR1cikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIGVuZCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgYmFja3dhcmRzIHRvLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfERhdGV8T2JqZWN0fSBlbmRcbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIHRoZSBsZW5ndGggb2YgdGhlIEludGVydmFsLlxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIHN0YXRpYyBiZWZvcmUoZW5kLCBkdXJhdGlvbikge1xuICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLFxuICAgICAgZHQgPSBmcmllbmRseURhdGVUaW1lKGVuZCk7XG4gICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQubWludXMoZHVyKSwgZHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIElTTyA4NjAxIHN0cmluZy5cbiAgICogQWNjZXB0cyBgPHN0YXJ0Pi88ZW5kPmAsIGA8c3RhcnQ+LzxkdXJhdGlvbj5gLCBhbmQgYDxkdXJhdGlvbj4vPGVuZD5gIGZvcm1hdHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIElTTyBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIG9wdGlvbnMgdG8gcGFzcyB7QGxpbmsgRGF0ZVRpbWUjZnJvbUlTT30gYW5kIG9wdGlvbmFsbHkge0BsaW5rIER1cmF0aW9uI2Zyb21JU099XG4gICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZV9pbnRlcnZhbHNcbiAgICogQHJldHVybiB7SW50ZXJ2YWx9XG4gICAqL1xuICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzKSB7XG4gICAgY29uc3QgW3MsIGVdID0gKHRleHQgfHwgXCJcIikuc3BsaXQoXCIvXCIsIDIpO1xuICAgIGlmIChzICYmIGUpIHtcbiAgICAgIGxldCBzdGFydCwgc3RhcnRJc1ZhbGlkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc3RhcnQgPSBEYXRlVGltZS5mcm9tSVNPKHMsIG9wdHMpO1xuICAgICAgICBzdGFydElzVmFsaWQgPSBzdGFydC5pc1ZhbGlkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzdGFydElzVmFsaWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgbGV0IGVuZCwgZW5kSXNWYWxpZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGVuZCA9IERhdGVUaW1lLmZyb21JU08oZSwgb3B0cyk7XG4gICAgICAgIGVuZElzVmFsaWQgPSBlbmQuaXNWYWxpZDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZW5kSXNWYWxpZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RhcnRJc1ZhbGlkICYmIGVuZElzVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQsIGVuZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGFydElzVmFsaWQpIHtcbiAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhlLCBvcHRzKTtcbiAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIEludGVydmFsLmFmdGVyKHN0YXJ0LCBkdXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGVuZElzVmFsaWQpIHtcbiAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhzLCBvcHRzKTtcbiAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIEludGVydmFsLmJlZm9yZShlbmQsIGR1cik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEludGVydmFsLmludmFsaWQoXCJ1bnBhcnNhYmxlXCIsIGB0aGUgaW5wdXQgXCIke3RleHR9XCIgY2FuJ3QgYmUgcGFyc2VkIGFzIElTTyA4NjAxYCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4gb2JqZWN0IGlzIGFuIEludGVydmFsLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNJbnRlcnZhbChvKSB7XG4gICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkludGVydmFsKSB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdGFydCBvZiB0aGUgSW50ZXJ2YWxcbiAgICogQHR5cGUge0RhdGVUaW1lfVxuICAgKi9cbiAgZ2V0IHN0YXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnMgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVuZCBvZiB0aGUgSW50ZXJ2YWxcbiAgICogQHR5cGUge0RhdGVUaW1lfVxuICAgKi9cbiAgZ2V0IGVuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5lIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhdCBsZWFzdCBpdHMgc3RhcnQsIG1lYW5pbmcgdGhhdCB0aGUgSW50ZXJ2YWwgaXNuJ3QgJ2JhY2t3YXJkcycuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZFJlYXNvbiA9PT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGVycm9yIGNvZGUgaWYgdGhpcyBJbnRlcnZhbCBpcyBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBJbnRlcnZhbCBpcyB2YWxpZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRSZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgSW50ZXJ2YWwgYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIEludGVydmFsIGlzIHZhbGlkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgaW52YWxpZEV4cGxhbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgSW50ZXJ2YWwgaW4gdGhlIHNwZWNpZmllZCB1bml0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byByZXR1cm4gdGhlIGxlbmd0aCBpbi5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgbGVuZ3RoKHVuaXQgPSBcIm1pbGxpc2Vjb25kc1wiKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudG9EdXJhdGlvbiguLi5bdW5pdF0pLmdldCh1bml0KSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3VudCBvZiBtaW51dGVzLCBob3VycywgZGF5cywgbW9udGhzLCBvciB5ZWFycyBpbmNsdWRlZCBpbiB0aGUgSW50ZXJ2YWwsIGV2ZW4gaW4gcGFydC5cbiAgICogVW5saWtlIHtAbGluayBJbnRlcnZhbCNsZW5ndGh9IHRoaXMgY291bnRzIHNlY3Rpb25zIG9mIHRoZSBjYWxlbmRhciwgbm90IHBlcmlvZHMgb2YgdGltZSwgZS5nLiBzcGVjaWZ5aW5nICdkYXknXG4gICAqIGFza3MgJ3doYXQgZGF0ZXMgYXJlIGluY2x1ZGVkIGluIHRoaXMgaW50ZXJ2YWw/Jywgbm90ICdob3cgbWFueSBkYXlzIGxvbmcgaXMgdGhpcyBpbnRlcnZhbD8nXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbdW5pdD0nbWlsbGlzZWNvbmRzJ10gLSB0aGUgdW5pdCBvZiB0aW1lIHRvIGNvdW50LlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBjb3VudCh1bml0ID0gXCJtaWxsaXNlY29uZHNcIikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gTmFOO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5zdGFydE9mKHVuaXQpLFxuICAgICAgZW5kID0gdGhpcy5lbmQuc3RhcnRPZih1bml0KTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihlbmQuZGlmZihzdGFydCwgdW5pdCkuZ2V0KHVuaXQpKSArIDE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBhbmQgZW5kIGFyZSBib3RoIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb25cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGhhc1NhbWUodW5pdCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmlzRW1wdHkoKSB8fCB0aGlzLmUubWludXMoMSkuaGFzU2FtZSh0aGlzLnMsIHVuaXQpIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBoYXMgdGhlIHNhbWUgc3RhcnQgYW5kIGVuZCBEYXRlVGltZXMuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0VtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLnMudmFsdWVPZigpID09PSB0aGlzLmUudmFsdWVPZigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBpcyBhZnRlciB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBkYXRlVGltZVxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNBZnRlcihkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA+IGRhdGVUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBlbmQgaXMgYmVmb3JlIHRoZSBzcGVjaWZpZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0JlZm9yZShkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMuZSA8PSBkYXRlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsIGNvbnRhaW5zIHRoZSBzcGVjaWZpZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBjb250YWlucyhkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA8PSBkYXRlVGltZSAmJiB0aGlzLmUgPiBkYXRlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldHNcIiB0aGUgc3RhcnQgYW5kL29yIGVuZCBkYXRlcy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIEludGVydmFsLlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gdGhlIHZhbHVlcyB0byBzZXRcbiAgICogQHBhcmFtIHtEYXRlVGltZX0gdmFsdWVzLnN0YXJ0IC0gdGhlIHN0YXJ0aW5nIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IHZhbHVlcy5lbmQgLSB0aGUgZW5kaW5nIERhdGVUaW1lXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgc2V0KHsgc3RhcnQsIGVuZCB9ID0ge30pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQgfHwgdGhpcy5zLCBlbmQgfHwgdGhpcy5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdCB0aGlzIEludGVydmFsIGF0IGVhY2ggb2YgdGhlIHNwZWNpZmllZCBEYXRlVGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC5cbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBzcGxpdEF0KC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gW107XG4gICAgY29uc3Qgc29ydGVkID0gZGF0ZVRpbWVzXG4gICAgICAgIC5tYXAoZnJpZW5kbHlEYXRlVGltZSlcbiAgICAgICAgLmZpbHRlcigoZCkgPT4gdGhpcy5jb250YWlucyhkKSlcbiAgICAgICAgLnNvcnQoKSxcbiAgICAgIHJlc3VsdHMgPSBbXTtcbiAgICBsZXQgeyBzIH0gPSB0aGlzLFxuICAgICAgaSA9IDA7XG5cbiAgICB3aGlsZSAocyA8IHRoaXMuZSkge1xuICAgICAgY29uc3QgYWRkZWQgPSBzb3J0ZWRbaV0gfHwgdGhpcy5lLFxuICAgICAgICBuZXh0ID0gK2FkZGVkID4gK3RoaXMuZSA/IHRoaXMuZSA6IGFkZGVkO1xuICAgICAgcmVzdWx0cy5wdXNoKEludGVydmFsLmZyb21EYXRlVGltZXMocywgbmV4dCkpO1xuICAgICAgcyA9IG5leHQ7XG4gICAgICBpICs9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHNtYWxsZXIgSW50ZXJ2YWxzLCBlYWNoIG9mIHRoZSBzcGVjaWZpZWQgbGVuZ3RoLlxuICAgKiBMZWZ0IG92ZXIgdGltZSBpcyBncm91cGVkIGludG8gYSBzbWFsbGVyIGludGVydmFsXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgbGVuZ3RoIG9mIGVhY2ggcmVzdWx0aW5nIGludGVydmFsLlxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHNwbGl0QnkoZHVyYXRpb24pIHtcbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcblxuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFkdXIuaXNWYWxpZCB8fCBkdXIuYXMoXCJtaWxsaXNlY29uZHNcIikgPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBsZXQgeyBzIH0gPSB0aGlzLFxuICAgICAgaWR4ID0gMSxcbiAgICAgIG5leHQ7XG5cbiAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgd2hpbGUgKHMgPCB0aGlzLmUpIHtcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdGFydC5wbHVzKGR1ci5tYXBVbml0cygoeCkgPT4geCAqIGlkeCkpO1xuICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDtcbiAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIG5leHQpKTtcbiAgICAgIHMgPSBuZXh0O1xuICAgICAgaWR4ICs9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNtYWxsZXIgaW50ZXJ2YWxzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyT2ZQYXJ0cyAtIFRoZSBudW1iZXIgb2YgSW50ZXJ2YWxzIHRvIGRpdmlkZSB0aGUgSW50ZXJ2YWwgaW50by5cbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBkaXZpZGVFcXVhbGx5KG51bWJlck9mUGFydHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLnNwbGl0QnkodGhpcy5sZW5ndGgoKSAvIG51bWJlck9mUGFydHMpLnNsaWNlKDAsIG51bWJlck9mUGFydHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgb3ZlcmxhcHMgd2l0aCB0aGUgc3BlY2lmaWVkIEludGVydmFsXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBvdmVybGFwcyhvdGhlcikge1xuICAgIHJldHVybiB0aGlzLmUgPiBvdGhlci5zICYmIHRoaXMucyA8IG90aGVyLmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhZGphY2VudCB0byB0aGUgc3BlY2lmaWVkIEludGVydmFsJ3Mgc3RhcnQuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBhYnV0c1N0YXJ0KG90aGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gK3RoaXMuZSA9PT0gK290aGVyLnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIHN0YXJ0IGlzIGFkamFjZW50IHRvIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwncyBlbmQuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBhYnV0c0VuZChvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICtvdGhlci5lID09PSArdGhpcy5zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgZW5ndWxmcyB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFsLlxuICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZW5ndWxmcyhvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA8PSBvdGhlci5zICYmIHRoaXMuZSA+PSBvdGhlci5lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgaGFzIHRoZSBzYW1lIHN0YXJ0IGFuZCBlbmQgYXMgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC5cbiAgICogQHBhcmFtIHtJbnRlcnZhbH0gb3RoZXJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGVxdWFscyhvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlci5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucy5lcXVhbHMob3RoZXIucykgJiYgdGhpcy5lLmVxdWFscyhvdGhlci5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhpcyBJbnRlcnZhbCBhbmQgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC5cbiAgICogU3BlY2lmaWNhbGx5LCB0aGUgcmVzdWx0aW5nIEludGVydmFsIGhhcyB0aGUgbWF4aW11bSBzdGFydCB0aW1lIGFuZCB0aGUgbWluaW11bSBlbmQgdGltZSBvZiB0aGUgdHdvIEludGVydmFscy5cbiAgICogUmV0dXJucyBudWxsIGlmIHRoZSBpbnRlcnNlY3Rpb24gaXMgZW1wdHksIG1lYW5pbmcsIHRoZSBpbnRlcnZhbHMgZG9uJ3QgaW50ZXJzZWN0LlxuICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlclxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIGludGVyc2VjdGlvbihvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBzID0gdGhpcy5zID4gb3RoZXIucyA/IHRoaXMucyA6IG90aGVyLnMsXG4gICAgICBlID0gdGhpcy5lIDwgb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7XG5cbiAgICBpZiAocyA+PSBlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMocywgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIHVuaW9uIG9mIHRoaXMgSW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwuXG4gICAqIFNwZWNpZmljYWxseSwgdGhlIHJlc3VsdGluZyBJbnRlcnZhbCBoYXMgdGhlIG1pbmltdW0gc3RhcnQgdGltZSBhbmQgdGhlIG1heGltdW0gZW5kIHRpbWUgb2YgdGhlIHR3byBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgdW5pb24ob3RoZXIpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgcyA9IHRoaXMucyA8IG90aGVyLnMgPyB0aGlzLnMgOiBvdGhlci5zLFxuICAgICAgZSA9IHRoaXMuZSA+IG90aGVyLmUgPyB0aGlzLmUgOiBvdGhlci5lO1xuICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIGFuIGFycmF5IG9mIEludGVydmFscyBpbnRvIGEgZXF1aXZhbGVudCBtaW5pbWFsIHNldCBvZiBJbnRlcnZhbHMuXG4gICAqIENvbWJpbmVzIG92ZXJsYXBwaW5nIGFuZCBhZGphY2VudCBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGludGVydmFsc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtZXJnZShpbnRlcnZhbHMpIHtcbiAgICBjb25zdCBbZm91bmQsIGZpbmFsXSA9IGludGVydmFsc1xuICAgICAgLnNvcnQoKGEsIGIpID0+IGEucyAtIGIucylcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChbc29mYXIsIGN1cnJlbnRdLCBpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBpdGVtXTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnQub3ZlcmxhcHMoaXRlbSkgfHwgY3VycmVudC5hYnV0c1N0YXJ0KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBjdXJyZW50LnVuaW9uKGl0ZW0pXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFtzb2Zhci5jb25jYXQoW2N1cnJlbnRdKSwgaXRlbV07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbW10sIG51bGxdXG4gICAgICApO1xuICAgIGlmIChmaW5hbCkge1xuICAgICAgZm91bmQucHVzaChmaW5hbCk7XG4gICAgfVxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIHJlcHJlc2VudGluZyB0aGUgc3BhbnMgb2YgdGltZSB0aGF0IG9ubHkgYXBwZWFyIGluIG9uZSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy5cbiAgICogQHBhcmFtIHtBcnJheX0gaW50ZXJ2YWxzXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHhvcihpbnRlcnZhbHMpIHtcbiAgICBsZXQgc3RhcnQgPSBudWxsLFxuICAgICAgY3VycmVudENvdW50ID0gMDtcbiAgICBjb25zdCByZXN1bHRzID0gW10sXG4gICAgICBlbmRzID0gaW50ZXJ2YWxzLm1hcCgoaSkgPT4gW1xuICAgICAgICB7IHRpbWU6IGkucywgdHlwZTogXCJzXCIgfSxcbiAgICAgICAgeyB0aW1lOiBpLmUsIHR5cGU6IFwiZVwiIH0sXG4gICAgICBdKSxcbiAgICAgIGZsYXR0ZW5lZCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4uZW5kcyksXG4gICAgICBhcnIgPSBmbGF0dGVuZWQuc29ydCgoYSwgYikgPT4gYS50aW1lIC0gYi50aW1lKTtcblxuICAgIGZvciAoY29uc3QgaSBvZiBhcnIpIHtcbiAgICAgIGN1cnJlbnRDb3VudCArPSBpLnR5cGUgPT09IFwic1wiID8gMSA6IC0xO1xuXG4gICAgICBpZiAoY3VycmVudENvdW50ID09PSAxKSB7XG4gICAgICAgIHN0YXJ0ID0gaS50aW1lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHN0YXJ0ICYmICtzdGFydCAhPT0gK2kudGltZSkge1xuICAgICAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0LCBpLnRpbWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXJ0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gSW50ZXJ2YWwubWVyZ2UocmVzdWx0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIEludGVydmFsIHJlcHJlc2VudGluZyB0aGUgc3BhbiBvZiB0aW1lIGluIHRoaXMgSW50ZXJ2YWwgdGhhdCBkb2Vzbid0IG92ZXJsYXAgd2l0aCBhbnkgb2YgdGhlIHNwZWNpZmllZCBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7Li4uSW50ZXJ2YWx9IGludGVydmFsc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIGRpZmZlcmVuY2UoLi4uaW50ZXJ2YWxzKSB7XG4gICAgcmV0dXJuIEludGVydmFsLnhvcihbdGhpc10uY29uY2F0KGludGVydmFscykpXG4gICAgICAubWFwKChpKSA9PiB0aGlzLmludGVyc2VjdGlvbihpKSlcbiAgICAgIC5maWx0ZXIoKGkpID0+IGkgJiYgIWkuaXNFbXB0eSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSW50ZXJ2YWwgYXBwcm9wcmlhdGUgZm9yIGRlYnVnZ2luZy5cbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TdHJpbmcoKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgWyR7dGhpcy5zLnRvSVNPKCl9IFx1MjAxMyAke3RoaXMuZS50b0lTTygpfSlgO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gVGhlIHNhbWUgb3B0aW9ucyBhcyB7QGxpbmsgRGF0ZVRpbWUjdG9JU099XG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKG9wdHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQ7XG4gICAgcmV0dXJuIGAke3RoaXMucy50b0lTTyhvcHRzKX0vJHt0aGlzLmUudG9JU08ob3B0cyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgZGF0ZSBvZiB0aGlzIEludGVydmFsLlxuICAgKiBUaGUgdGltZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPRGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQ7XG4gICAgcmV0dXJuIGAke3RoaXMucy50b0lTT0RhdGUoKX0vJHt0aGlzLmUudG9JU09EYXRlKCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGltZSBvZiB0aGlzIEludGVydmFsLlxuICAgKiBUaGUgZGF0ZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gVGhlIHNhbWUgb3B0aW9ucyBhcyB7QGxpbmsgRGF0ZVRpbWUjdG9JU099XG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPVGltZShvcHRzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgJHt0aGlzLnMudG9JU09UaW1lKG9wdHMpfS8ke3RoaXMuZS50b0lTT1RpbWUob3B0cyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSW50ZXJ2YWwgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIGZvcm1hdCBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRlRm9ybWF0IC0gdGhlIGZvcm1hdCBzdHJpbmcuIFRoaXMgc3RyaW5nIGZvcm1hdHMgdGhlIHN0YXJ0IGFuZCBlbmQgdGltZS4gU2VlIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0gZm9yIGRldGFpbHMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuc2VwYXJhdG9yID0gICcgXHUyMDEzICddIC0gYSBzZXBhcmF0b3IgdG8gcGxhY2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCByZXByZXNlbnRhdGlvbnNcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9Gb3JtYXQoZGF0ZUZvcm1hdCwgeyBzZXBhcmF0b3IgPSBcIiBcdTIwMTMgXCIgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgJHt0aGlzLnMudG9Gb3JtYXQoZGF0ZUZvcm1hdCl9JHtzZXBhcmF0b3J9JHt0aGlzLmUudG9Gb3JtYXQoZGF0ZUZvcm1hdCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIHRpbWUgc3Bhbm5lZCBieSB0aGlzIGludGVydmFsLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gW3VuaXQ9WydtaWxsaXNlY29uZHMnXV0gLSB0aGUgdW5pdCBvciB1bml0cyAoc3VjaCBhcyAnaG91cnMnIG9yICdkYXlzJykgdG8gaW5jbHVkZSBpbiB0aGUgZHVyYXRpb24uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKCkudG9PYmplY3QoKSAvLz0+IHsgbWlsbGlzZWNvbmRzOiA4ODQ4OTI1NyB9XG4gICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oJ2RheXMnKS50b09iamVjdCgpIC8vPT4geyBkYXlzOiAxLjAyNDE4MTIxNTI3Nzc3NzggfVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKFsnaG91cnMnLCAnbWludXRlcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LjgyMDk1IH1cbiAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbihbJ2hvdXJzJywgJ21pbnV0ZXMnLCAnc2Vjb25kcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LCBzZWNvbmRzOiA0OS4yNTcgfVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKCdzZWNvbmRzJykudG9PYmplY3QoKSAvLz0+IHsgc2Vjb25kczogODg0ODkuMjU3IH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICB0b0R1cmF0aW9uKHVuaXQsIG9wdHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQodGhpcy5pbnZhbGlkUmVhc29uKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZS5kaWZmKHRoaXMucywgdW5pdCwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUnVuIG1hcEZuIG9uIHRoZSBpbnRlcnZhbCBzdGFydCBhbmQgZW5kLCByZXR1cm5pbmcgYSBuZXcgSW50ZXJ2YWwgZnJvbSB0aGUgcmVzdWx0aW5nIERhdGVUaW1lc1xuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBtYXBGblxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikubWFwRW5kcG9pbnRzKGVuZHBvaW50ID0+IGVuZHBvaW50LnRvVVRDKCkpXG4gICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLm1hcEVuZHBvaW50cyhlbmRwb2ludCA9PiBlbmRwb2ludC5wbHVzKHsgaG91cnM6IDIgfSkpXG4gICAqL1xuICBtYXBFbmRwb2ludHMobWFwRm4pIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhtYXBGbih0aGlzLnMpLCBtYXBGbih0aGlzLmUpKTtcbiAgfVxufVxuIiwgImltcG9ydCBEYXRlVGltZSBmcm9tIFwiLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzLmpzXCI7XG5pbXBvcnQgTG9jYWxlIGZyb20gXCIuL2ltcGwvbG9jYWxlLmpzXCI7XG5pbXBvcnQgSUFOQVpvbmUgZnJvbSBcIi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVpvbmUgfSBmcm9tIFwiLi9pbXBsL3pvbmVVdGlsLmpzXCI7XG5cbmltcG9ydCB7IGhhc1JlbGF0aXZlIH0gZnJvbSBcIi4vaW1wbC91dGlsLmpzXCI7XG5cbi8qKlxuICogVGhlIEluZm8gY2xhc3MgY29udGFpbnMgc3RhdGljIG1ldGhvZHMgZm9yIHJldHJpZXZpbmcgZ2VuZXJhbCB0aW1lIGFuZCBkYXRlIHJlbGF0ZWQgZGF0YS4gRm9yIGV4YW1wbGUsIGl0IGhhcyBtZXRob2RzIGZvciBmaW5kaW5nIG91dCBpZiBhIHRpbWUgem9uZSBoYXMgYSBEU1QsIGZvciBsaXN0aW5nIHRoZSBtb250aHMgaW4gYW55IHN1cHBvcnRlZCBsb2NhbGUsIGFuZCBmb3IgZGlzY292ZXJpbmcgd2hpY2ggb2YgTHV4b24gZmVhdHVyZXMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5mbyB7XG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgY29udGFpbnMgYSBEU1QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFt6b25lPSdsb2NhbCddIC0gWm9uZSB0byBjaGVjay4gRGVmYXVsdHMgdG8gdGhlIGVudmlyb25tZW50J3MgbG9jYWwgem9uZS5cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBoYXNEU1Qoem9uZSA9IFNldHRpbmdzLmRlZmF1bHRab25lKSB7XG4gICAgY29uc3QgcHJvdG8gPSBEYXRlVGltZS5ub3coKS5zZXRab25lKHpvbmUpLnNldCh7IG1vbnRoOiAxMiB9KTtcblxuICAgIHJldHVybiAhem9uZS5pc1VuaXZlcnNhbCAmJiBwcm90by5vZmZzZXQgIT09IHByb3RvLnNldCh7IG1vbnRoOiA2IH0pLm9mZnNldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgaXMgYSB2YWxpZCBJQU5BIHNwZWNpZmllci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvbmUgLSBab25lIHRvIGNoZWNrXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNWYWxpZElBTkFab25lKHpvbmUpIHtcbiAgICByZXR1cm4gSUFOQVpvbmUuaXNWYWxpZFpvbmUoem9uZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIGlucHV0IGludG8gYSB7QGxpbmsgWm9uZX0gaW5zdGFuY2UuXG4gICAqXG4gICAqICogSWYgYGlucHV0YCBpcyBhbHJlYWR5IGEgWm9uZSBpbnN0YW5jZSwgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxuICAgKiAqIElmIGBpbnB1dGAgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHZhbGlkIHRpbWUgem9uZSBuYW1lLCBhIFpvbmUgaW5zdGFuY2VcbiAgICogICB3aXRoIHRoYXQgbmFtZSBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIHRoYXQgZG9lc24ndCByZWZlciB0byBhIGtub3duIHRpbWUgem9uZSwgYSBab25lXG4gICAqICAgaW5zdGFuY2Ugd2l0aCB7QGxpbmsgWm9uZSNpc1ZhbGlkfSA9PSBmYWxzZSBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXQgaXMgYSBudW1iZXIsIGEgWm9uZSBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgZml4ZWQgb2Zmc2V0XG4gICAqICAgaW4gbWludXRlcyBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXRgIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYCwgdGhlIGRlZmF1bHQgem9uZSBpcyByZXR1cm5lZC5cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZXxudW1iZXJ9IFtpbnB1dF0gLSB0aGUgdmFsdWUgdG8gYmUgY29udmVydGVkXG4gICAqIEByZXR1cm4ge1pvbmV9XG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplWm9uZShpbnB1dCkge1xuICAgIHJldHVybiBub3JtYWxpemVab25lKGlucHV0LCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIHN0YW5kYWxvbmUgbW9udGggbmFtZXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibnVtZXJpY1wiLCBcIjItZGlnaXRcIiwgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXI9J2dyZWdvcnknXSAtIHRoZSBjYWxlbmRhclxuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygpWzBdIC8vPT4gJ0phbnVhcnknXG4gICAqIEBleGFtcGxlIEluZm8ubW9udGhzKCdzaG9ydCcpWzBdIC8vPT4gJ0phbidcbiAgICogQGV4YW1wbGUgSW5mby5tb250aHMoJ251bWVyaWMnKVswXSAvLz0+ICcxJ1xuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnLCB7IGxvY2FsZTogJ2ZyLUNBJyB9IClbMF0gLy89PiAnamFudi4nXG4gICAqIEBleGFtcGxlIEluZm8ubW9udGhzKCdudW1lcmljJywgeyBsb2NhbGU6ICdhcicgfSlbMF0gLy89PiAnXHUwNjYxJ1xuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbG9uZycsIHsgb3V0cHV0Q2FsZW5kYXI6ICdpc2xhbWljJyB9KVswXSAvLz0+ICdSYWJpXHUwMkJCIEknXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIG1vbnRocyhcbiAgICBsZW5ndGggPSBcImxvbmdcIixcbiAgICB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwsIG91dHB1dENhbGVuZGFyID0gXCJncmVnb3J5XCIgfSA9IHt9XG4gICkge1xuICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSkubW9udGhzKGxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGZvcm1hdCBtb250aCBuYW1lcy5cbiAgICogRm9ybWF0IG1vbnRocyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIG1vbnRocyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gdGhlIGRheSBvZiB0aGUgbW9udGguIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0XG4gICAqIGNoYW5nZXMgdGhlIHN0cmluZy5cbiAgICogU2VlIHtAbGluayBJbmZvI21vbnRoc31cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibnVtZXJpY1wiLCBcIjItZGlnaXRcIiwgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXI9J2dyZWdvcnknXSAtIHRoZSBjYWxlbmRhclxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtb250aHNGb3JtYXQoXG4gICAgbGVuZ3RoID0gXCJsb25nXCIsXG4gICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsLCBvdXRwdXRDYWxlbmRhciA9IFwiZ3JlZ29yeVwiIH0gPSB7fVxuICApIHtcbiAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcikpLm1vbnRocyhsZW5ndGgsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBhcnJheSBvZiBzdGFuZGFsb25lIHdlZWsgbmFtZXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIHdlZWtkYXkgcmVwcmVzZW50YXRpb24sIHN1Y2ggYXMgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIi5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5udW1iZXJpbmdTeXN0ZW09bnVsbF0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2VcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygpWzBdIC8vPT4gJ01vbmRheSdcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygnc2hvcnQnKVswXSAvLz0+ICdNb24nXG4gICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdmci1DQScgfSlbMF0gLy89PiAnbHVuLidcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygnc2hvcnQnLCB7IGxvY2FsZTogJ2FyJyB9KVswXSAvLz0+ICdcdTA2MjdcdTA2NDRcdTA2MjdcdTA2MkJcdTA2NDZcdTA2NEFcdTA2NDYnXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHdlZWtkYXlzKGxlbmd0aCA9IFwibG9uZ1wiLCB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwgfSA9IHt9KSB7XG4gICAgcmV0dXJuIChsb2NPYmogfHwgTG9jYWxlLmNyZWF0ZShsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgbnVsbCkpLndlZWtkYXlzKGxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGZvcm1hdCB3ZWVrIG5hbWVzLlxuICAgKiBGb3JtYXQgd2Vla2RheXMgZGlmZmVyIGZyb20gc3RhbmRhbG9uZSB3ZWVrZGF5cyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gbW9yZSBkYXRlIGluZm9ybWF0aW9uLiBJbiBzb21lIGxhbmd1YWdlcywgdGhhdFxuICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuXG4gICAqIFNlZSB7QGxpbmsgSW5mbyN3ZWVrZGF5c31cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibmFycm93XCIsIFwic2hvcnRcIiwgXCJsb25nXCIuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPW51bGxdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5udW1iZXJpbmdTeXN0ZW09bnVsbF0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2VcbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBzdGF0aWMgd2Vla2RheXNGb3JtYXQoXG4gICAgbGVuZ3RoID0gXCJsb25nXCIsXG4gICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fVxuICApIHtcbiAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBudWxsKSkud2Vla2RheXMobGVuZ3RoLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgbWVyaWRpZW1zLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQGV4YW1wbGUgSW5mby5tZXJpZGllbXMoKSAvLz0+IFsgJ0FNJywgJ1BNJyBdXG4gICAqIEBleGFtcGxlIEluZm8ubWVyaWRpZW1zKHsgbG9jYWxlOiAnbXknIH0pIC8vPT4gWyAnXHUxMDE0XHUxMDM2XHUxMDE0XHUxMDAwXHUxMDNBJywgJ1x1MTAwQVx1MTAxNFx1MTAzMScgXVxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtZXJpZGllbXMoeyBsb2NhbGUgPSBudWxsIH0gPSB7fSkge1xuICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSkubWVyaWRpZW1zKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGVyYXMsIHN1Y2ggYXMgWydCQycsICdBRCddLiBUaGUgbG9jYWxlIGNhbiBiZSBzcGVjaWZpZWQsIGJ1dCB0aGUgY2FsZW5kYXIgc3lzdGVtIGlzIGFsd2F5cyBHcmVnb3JpYW4uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdzaG9ydCddIC0gdGhlIGxlbmd0aCBvZiB0aGUgZXJhIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwic2hvcnRcIiBvciBcImxvbmdcIi5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBleGFtcGxlIEluZm8uZXJhcygpIC8vPT4gWyAnQkMnLCAnQUQnIF1cbiAgICogQGV4YW1wbGUgSW5mby5lcmFzKCdsb25nJykgLy89PiBbICdCZWZvcmUgQ2hyaXN0JywgJ0Fubm8gRG9taW5pJyBdXG4gICAqIEBleGFtcGxlIEluZm8uZXJhcygnbG9uZycsIHsgbG9jYWxlOiAnZnInIH0pIC8vPT4gWyAnYXZhbnQgSlx1MDBFOXN1cy1DaHJpc3QnLCAnYXByXHUwMEU4cyBKXHUwMEU5c3VzLUNocmlzdCcgXVxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBlcmFzKGxlbmd0aCA9IFwic2hvcnRcIiwgeyBsb2NhbGUgPSBudWxsIH0gPSB7fSkge1xuICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVsbCwgXCJncmVnb3J5XCIpLmVyYXMobGVuZ3RoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNldCBvZiBhdmFpbGFibGUgZmVhdHVyZXMgaW4gdGhpcyBlbnZpcm9ubWVudC5cbiAgICogU29tZSBmZWF0dXJlcyBvZiBMdXhvbiBhcmUgbm90IGF2YWlsYWJsZSBpbiBhbGwgZW52aXJvbm1lbnRzLiBGb3IgZXhhbXBsZSwgb24gb2xkZXIgYnJvd3NlcnMsIHJlbGF0aXZlIHRpbWUgZm9ybWF0dGluZyBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGZpZ3VyZSBvdXQgaWYgdGhhdCdzIHRoZSBjYXNlLlxuICAgKiBLZXlzOlxuICAgKiAqIGByZWxhdGl2ZWA6IHdoZXRoZXIgdGhpcyBlbnZpcm9ubWVudCBzdXBwb3J0cyByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmdcbiAgICogQGV4YW1wbGUgSW5mby5mZWF0dXJlcygpIC8vPT4geyByZWxhdGl2ZTogZmFsc2UgfVxuICAgKiBAcmV0dXJuIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHsgcmVsYXRpdmU6IGhhc1JlbGF0aXZlKCkgfTtcbiAgfVxufVxuIiwgImltcG9ydCBEdXJhdGlvbiBmcm9tIFwiLi4vZHVyYXRpb24uanNcIjtcblxuZnVuY3Rpb24gZGF5RGlmZihlYXJsaWVyLCBsYXRlcikge1xuICBjb25zdCB1dGNEYXlTdGFydCA9IChkdCkgPT4gZHQudG9VVEMoMCwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pLnN0YXJ0T2YoXCJkYXlcIikudmFsdWVPZigpLFxuICAgIG1zID0gdXRjRGF5U3RhcnQobGF0ZXIpIC0gdXRjRGF5U3RhcnQoZWFybGllcik7XG4gIHJldHVybiBNYXRoLmZsb29yKER1cmF0aW9uLmZyb21NaWxsaXMobXMpLmFzKFwiZGF5c1wiKSk7XG59XG5cbmZ1bmN0aW9uIGhpZ2hPcmRlckRpZmZzKGN1cnNvciwgbGF0ZXIsIHVuaXRzKSB7XG4gIGNvbnN0IGRpZmZlcnMgPSBbXG4gICAgW1wieWVhcnNcIiwgKGEsIGIpID0+IGIueWVhciAtIGEueWVhcl0sXG4gICAgW1wicXVhcnRlcnNcIiwgKGEsIGIpID0+IGIucXVhcnRlciAtIGEucXVhcnRlcl0sXG4gICAgW1wibW9udGhzXCIsIChhLCBiKSA9PiBiLm1vbnRoIC0gYS5tb250aCArIChiLnllYXIgLSBhLnllYXIpICogMTJdLFxuICAgIFtcbiAgICAgIFwid2Vla3NcIixcbiAgICAgIChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGRheXMgPSBkYXlEaWZmKGEsIGIpO1xuICAgICAgICByZXR1cm4gKGRheXMgLSAoZGF5cyAlIDcpKSAvIDc7XG4gICAgICB9LFxuICAgIF0sXG4gICAgW1wiZGF5c1wiLCBkYXlEaWZmXSxcbiAgXTtcblxuICBjb25zdCByZXN1bHRzID0ge307XG4gIGxldCBsb3dlc3RPcmRlciwgaGlnaFdhdGVyO1xuXG4gIGZvciAoY29uc3QgW3VuaXQsIGRpZmZlcl0gb2YgZGlmZmVycykge1xuICAgIGlmICh1bml0cy5pbmRleE9mKHVuaXQpID49IDApIHtcbiAgICAgIGxvd2VzdE9yZGVyID0gdW5pdDtcblxuICAgICAgbGV0IGRlbHRhID0gZGlmZmVyKGN1cnNvciwgbGF0ZXIpO1xuICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbdW5pdF06IGRlbHRhIH0pO1xuXG4gICAgICBpZiAoaGlnaFdhdGVyID4gbGF0ZXIpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29yLnBsdXMoeyBbdW5pdF06IGRlbHRhIC0gMSB9KTtcbiAgICAgICAgZGVsdGEgLT0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnNvciA9IGhpZ2hXYXRlcjtcbiAgICAgIH1cblxuICAgICAgcmVzdWx0c1t1bml0XSA9IGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBbY3Vyc29yLCByZXN1bHRzLCBoaWdoV2F0ZXIsIGxvd2VzdE9yZGVyXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGVhcmxpZXIsIGxhdGVyLCB1bml0cywgb3B0cykge1xuICBsZXQgW2N1cnNvciwgcmVzdWx0cywgaGlnaFdhdGVyLCBsb3dlc3RPcmRlcl0gPSBoaWdoT3JkZXJEaWZmcyhlYXJsaWVyLCBsYXRlciwgdW5pdHMpO1xuXG4gIGNvbnN0IHJlbWFpbmluZ01pbGxpcyA9IGxhdGVyIC0gY3Vyc29yO1xuXG4gIGNvbnN0IGxvd2VyT3JkZXJVbml0cyA9IHVuaXRzLmZpbHRlcihcbiAgICAodSkgPT4gW1wiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiXS5pbmRleE9mKHUpID49IDBcbiAgKTtcblxuICBpZiAobG93ZXJPcmRlclVuaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChoaWdoV2F0ZXIgPCBsYXRlcikge1xuICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbbG93ZXN0T3JkZXJdOiAxIH0pO1xuICAgIH1cblxuICAgIGlmIChoaWdoV2F0ZXIgIT09IGN1cnNvcikge1xuICAgICAgcmVzdWx0c1tsb3dlc3RPcmRlcl0gPSAocmVzdWx0c1tsb3dlc3RPcmRlcl0gfHwgMCkgKyByZW1haW5pbmdNaWxsaXMgLyAoaGlnaFdhdGVyIC0gY3Vyc29yKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IER1cmF0aW9uLmZyb21PYmplY3QocmVzdWx0cywgb3B0cyk7XG5cbiAgaWYgKGxvd2VyT3JkZXJVbml0cy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIER1cmF0aW9uLmZyb21NaWxsaXMocmVtYWluaW5nTWlsbGlzLCBvcHRzKVxuICAgICAgLnNoaWZ0VG8oLi4ubG93ZXJPcmRlclVuaXRzKVxuICAgICAgLnBsdXMoZHVyYXRpb24pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBkdXJhdGlvbjtcbiAgfVxufVxuIiwgImNvbnN0IG51bWJlcmluZ1N5c3RlbXMgPSB7XG4gIGFyYWI6IFwiW1xcdTA2NjAtXFx1MDY2OV1cIixcbiAgYXJhYmV4dDogXCJbXFx1MDZGMC1cXHUwNkY5XVwiLFxuICBiYWxpOiBcIltcXHUxQjUwLVxcdTFCNTldXCIsXG4gIGJlbmc6IFwiW1xcdTA5RTYtXFx1MDlFRl1cIixcbiAgZGV2YTogXCJbXFx1MDk2Ni1cXHUwOTZGXVwiLFxuICBmdWxsd2lkZTogXCJbXFx1RkYxMC1cXHVGRjE5XVwiLFxuICBndWpyOiBcIltcXHUwQUU2LVxcdTBBRUZdXCIsXG4gIGhhbmlkZWM6IFwiW1x1MzAwN3xcdTRFMDB8XHU0RThDfFx1NEUwOXxcdTU2REJ8XHU0RTk0fFx1NTE2RHxcdTRFMDN8XHU1MTZCfFx1NEU1RF1cIixcbiAga2htcjogXCJbXFx1MTdFMC1cXHUxN0U5XVwiLFxuICBrbmRhOiBcIltcXHUwQ0U2LVxcdTBDRUZdXCIsXG4gIGxhb286IFwiW1xcdTBFRDAtXFx1MEVEOV1cIixcbiAgbGltYjogXCJbXFx1MTk0Ni1cXHUxOTRGXVwiLFxuICBtbHltOiBcIltcXHUwRDY2LVxcdTBENkZdXCIsXG4gIG1vbmc6IFwiW1xcdTE4MTAtXFx1MTgxOV1cIixcbiAgbXltcjogXCJbXFx1MTA0MC1cXHUxMDQ5XVwiLFxuICBvcnlhOiBcIltcXHUwQjY2LVxcdTBCNkZdXCIsXG4gIHRhbWxkZWM6IFwiW1xcdTBCRTYtXFx1MEJFRl1cIixcbiAgdGVsdTogXCJbXFx1MEM2Ni1cXHUwQzZGXVwiLFxuICB0aGFpOiBcIltcXHUwRTUwLVxcdTBFNTldXCIsXG4gIHRpYnQ6IFwiW1xcdTBGMjAtXFx1MEYyOV1cIixcbiAgbGF0bjogXCJcXFxcZFwiLFxufTtcblxuY29uc3QgbnVtYmVyaW5nU3lzdGVtc1VURjE2ID0ge1xuICBhcmFiOiBbMTYzMiwgMTY0MV0sXG4gIGFyYWJleHQ6IFsxNzc2LCAxNzg1XSxcbiAgYmFsaTogWzY5OTIsIDcwMDFdLFxuICBiZW5nOiBbMjUzNCwgMjU0M10sXG4gIGRldmE6IFsyNDA2LCAyNDE1XSxcbiAgZnVsbHdpZGU6IFs2NTI5NiwgNjUzMDNdLFxuICBndWpyOiBbMjc5MCwgMjc5OV0sXG4gIGtobXI6IFs2MTEyLCA2MTIxXSxcbiAga25kYTogWzMzMDIsIDMzMTFdLFxuICBsYW9vOiBbMzc5MiwgMzgwMV0sXG4gIGxpbWI6IFs2NDcwLCA2NDc5XSxcbiAgbWx5bTogWzM0MzAsIDM0MzldLFxuICBtb25nOiBbNjE2MCwgNjE2OV0sXG4gIG15bXI6IFs0MTYwLCA0MTY5XSxcbiAgb3J5YTogWzI5MTgsIDI5MjddLFxuICB0YW1sZGVjOiBbMzA0NiwgMzA1NV0sXG4gIHRlbHU6IFszMTc0LCAzMTgzXSxcbiAgdGhhaTogWzM2NjQsIDM2NzNdLFxuICB0aWJ0OiBbMzg3MiwgMzg4MV0sXG59O1xuXG5jb25zdCBoYW5pZGVjQ2hhcnMgPSBudW1iZXJpbmdTeXN0ZW1zLmhhbmlkZWMucmVwbGFjZSgvW1xcW3xcXF1dL2csIFwiXCIpLnNwbGl0KFwiXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEaWdpdHMoc3RyKSB7XG4gIGxldCB2YWx1ZSA9IHBhcnNlSW50KHN0ciwgMTApO1xuICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgdmFsdWUgPSBcIlwiO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG5cbiAgICAgIGlmIChzdHJbaV0uc2VhcmNoKG51bWJlcmluZ1N5c3RlbXMuaGFuaWRlYykgIT09IC0xKSB7XG4gICAgICAgIHZhbHVlICs9IGhhbmlkZWNDaGFycy5pbmRleE9mKHN0cltpXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBudW1iZXJpbmdTeXN0ZW1zVVRGMTYpIHtcbiAgICAgICAgICBjb25zdCBbbWluLCBtYXhdID0gbnVtYmVyaW5nU3lzdGVtc1VURjE2W2tleV07XG4gICAgICAgICAgaWYgKGNvZGUgPj0gbWluICYmIGNvZGUgPD0gbWF4KSB7XG4gICAgICAgICAgICB2YWx1ZSArPSBjb2RlIC0gbWluO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpZ2l0UmVnZXgoeyBudW1iZXJpbmdTeXN0ZW0gfSwgYXBwZW5kID0gXCJcIikge1xuICByZXR1cm4gbmV3IFJlZ0V4cChgJHtudW1iZXJpbmdTeXN0ZW1zW251bWJlcmluZ1N5c3RlbSB8fCBcImxhdG5cIl19JHthcHBlbmR9YCk7XG59XG4iLCAiaW1wb3J0IHsgcGFyc2VNaWxsaXMsIGlzVW5kZWZpbmVkLCB1bnRydW5jYXRlWWVhciwgc2lnbmVkT2Zmc2V0LCBoYXNPd25Qcm9wZXJ0eSB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCBGb3JtYXR0ZXIgZnJvbSBcIi4vZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgRml4ZWRPZmZzZXRab25lIGZyb20gXCIuLi96b25lcy9maXhlZE9mZnNldFpvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBEYXRlVGltZSBmcm9tIFwiLi4vZGF0ZXRpbWUuanNcIjtcbmltcG9ydCB7IGRpZ2l0UmVnZXgsIHBhcnNlRGlnaXRzIH0gZnJvbSBcIi4vZGlnaXRzLmpzXCI7XG5pbXBvcnQgeyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcblxuY29uc3QgTUlTU0lOR19GVFAgPSBcIm1pc3NpbmcgSW50bC5EYXRlVGltZUZvcm1hdC5mb3JtYXRUb1BhcnRzIHN1cHBvcnRcIjtcblxuZnVuY3Rpb24gaW50VW5pdChyZWdleCwgcG9zdCA9IChpKSA9PiBpKSB7XG4gIHJldHVybiB7IHJlZ2V4LCBkZXNlcjogKFtzXSkgPT4gcG9zdChwYXJzZURpZ2l0cyhzKSkgfTtcbn1cblxuY29uc3QgTkJTUCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKTtcbmNvbnN0IHNwYWNlT3JOQlNQID0gYFsgJHtOQlNQfV1gO1xuY29uc3Qgc3BhY2VPck5CU1BSZWdFeHAgPSBuZXcgUmVnRXhwKHNwYWNlT3JOQlNQLCBcImdcIik7XG5cbmZ1bmN0aW9uIGZpeExpc3RSZWdleChzKSB7XG4gIC8vIG1ha2UgZG90cyBvcHRpb25hbCBhbmQgYWxzbyBtYWtlIHRoZW0gbGl0ZXJhbFxuICAvLyBtYWtlIHNwYWNlIGFuZCBub24gYnJlYWthYmxlIHNwYWNlIGNoYXJhY3RlcnMgaW50ZXJjaGFuZ2VhYmxlXG4gIHJldHVybiBzLnJlcGxhY2UoL1xcLi9nLCBcIlxcXFwuP1wiKS5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCBzcGFjZU9yTkJTUCk7XG59XG5cbmZ1bmN0aW9uIHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpIHtcbiAgcmV0dXJuIHNcbiAgICAucmVwbGFjZSgvXFwuL2csIFwiXCIpIC8vIGlnbm9yZSBkb3RzIHRoYXQgd2VyZSBtYWRlIG9wdGlvbmFsXG4gICAgLnJlcGxhY2Uoc3BhY2VPck5CU1BSZWdFeHAsIFwiIFwiKSAvLyBpbnRlcmNoYW5nZSBzcGFjZSBhbmQgbmJzcFxuICAgIC50b0xvd2VyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiBvbmVPZihzdHJpbmdzLCBzdGFydEluZGV4KSB7XG4gIGlmIChzdHJpbmdzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZ2V4OiBSZWdFeHAoc3RyaW5ncy5tYXAoZml4TGlzdFJlZ2V4KS5qb2luKFwifFwiKSksXG4gICAgICBkZXNlcjogKFtzXSkgPT5cbiAgICAgICAgc3RyaW5ncy5maW5kSW5kZXgoKGkpID0+IHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpID09PSBzdHJpcEluc2Vuc2l0aXZpdGllcyhpKSkgKyBzdGFydEluZGV4LFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gb2Zmc2V0KHJlZ2V4LCBncm91cHMpIHtcbiAgcmV0dXJuIHsgcmVnZXgsIGRlc2VyOiAoWywgaCwgbV0pID0+IHNpZ25lZE9mZnNldChoLCBtKSwgZ3JvdXBzIH07XG59XG5cbmZ1bmN0aW9uIHNpbXBsZShyZWdleCkge1xuICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHMgfTtcbn1cblxuZnVuY3Rpb24gZXNjYXBlVG9rZW4odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1tcXC1cXFtcXF17fSgpKis/LixcXFxcXFxeJHwjXFxzXS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuZnVuY3Rpb24gdW5pdEZvclRva2VuKHRva2VuLCBsb2MpIHtcbiAgY29uc3Qgb25lID0gZGlnaXRSZWdleChsb2MpLFxuICAgIHR3byA9IGRpZ2l0UmVnZXgobG9jLCBcInsyfVwiKSxcbiAgICB0aHJlZSA9IGRpZ2l0UmVnZXgobG9jLCBcInszfVwiKSxcbiAgICBmb3VyID0gZGlnaXRSZWdleChsb2MsIFwiezR9XCIpLFxuICAgIHNpeCA9IGRpZ2l0UmVnZXgobG9jLCBcIns2fVwiKSxcbiAgICBvbmVPclR3byA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDJ9XCIpLFxuICAgIG9uZVRvVGhyZWUgPSBkaWdpdFJlZ2V4KGxvYywgXCJ7MSwzfVwiKSxcbiAgICBvbmVUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDZ9XCIpLFxuICAgIG9uZVRvTmluZSA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDl9XCIpLFxuICAgIHR3b1RvRm91ciA9IGRpZ2l0UmVnZXgobG9jLCBcInsyLDR9XCIpLFxuICAgIGZvdXJUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCBcIns0LDZ9XCIpLFxuICAgIGxpdGVyYWwgPSAodCkgPT4gKHsgcmVnZXg6IFJlZ0V4cChlc2NhcGVUb2tlbih0LnZhbCkpLCBkZXNlcjogKFtzXSkgPT4gcywgbGl0ZXJhbDogdHJ1ZSB9KSxcbiAgICB1bml0YXRlID0gKHQpID0+IHtcbiAgICAgIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgICAgIHJldHVybiBsaXRlcmFsKHQpO1xuICAgICAgfVxuICAgICAgc3dpdGNoICh0LnZhbCkge1xuICAgICAgICAvLyBlcmFcbiAgICAgICAgY2FzZSBcIkdcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoXCJzaG9ydFwiLCBmYWxzZSksIDApO1xuICAgICAgICBjYXNlIFwiR0dcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoXCJsb25nXCIsIGZhbHNlKSwgMCk7XG4gICAgICAgIC8vIHllYXJzXG4gICAgICAgIGNhc2UgXCJ5XCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9TaXgpO1xuICAgICAgICBjYXNlIFwieXlcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d29Ub0ZvdXIsIHVudHJ1bmNhdGVZZWFyKTtcbiAgICAgICAgY2FzZSBcInl5eXlcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTtcbiAgICAgICAgY2FzZSBcInl5eXl5XCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQoZm91clRvU2l4KTtcbiAgICAgICAgY2FzZSBcInl5eXl5eVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHNpeCk7XG4gICAgICAgIC8vIG1vbnRoc1xuICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTtcbiAgICAgICAgY2FzZSBcIk1NXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTtcbiAgICAgICAgY2FzZSBcIk1NTVwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKFwic2hvcnRcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcIk1NTU1cIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLm1vbnRocyhcImxvbmdcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcIkxcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJMTFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJMTExcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLm1vbnRocyhcInNob3J0XCIsIGZhbHNlLCBmYWxzZSksIDEpO1xuICAgICAgICBjYXNlIFwiTExMTFwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKFwibG9uZ1wiLCBmYWxzZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgLy8gZGF0ZXNcbiAgICAgICAgY2FzZSBcImRcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJkZFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIC8vIG9yZGluYWxzXG4gICAgICAgIGNhc2UgXCJvXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9UaHJlZSk7XG4gICAgICAgIGNhc2UgXCJvb29cIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0aHJlZSk7XG4gICAgICAgIC8vIHRpbWVcbiAgICAgICAgY2FzZSBcIkhIXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTtcbiAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJoaFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJoXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwibW1cIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICBjYXNlIFwibVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTtcbiAgICAgICAgY2FzZSBcInFcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJxcVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwic3NcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICBjYXNlIFwiU1wiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZVRvVGhyZWUpO1xuICAgICAgICBjYXNlIFwiU1NTXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodGhyZWUpO1xuICAgICAgICBjYXNlIFwidVwiOlxuICAgICAgICAgIHJldHVybiBzaW1wbGUob25lVG9OaW5lKTtcbiAgICAgICAgY2FzZSBcInV1XCI6XG4gICAgICAgICAgcmV0dXJuIHNpbXBsZShvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJ1dXVcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmUpO1xuICAgICAgICAvLyBtZXJpZGllbVxuICAgICAgICBjYXNlIFwiYVwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubWVyaWRpZW1zKCksIDApO1xuICAgICAgICAvLyB3ZWVrWWVhciAoaylcbiAgICAgICAgY2FzZSBcImtra2tcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTtcbiAgICAgICAgY2FzZSBcImtrXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvVG9Gb3VyLCB1bnRydW5jYXRlWWVhcik7XG4gICAgICAgIC8vIHdlZWtOdW1iZXIgKFcpXG4gICAgICAgIGNhc2UgXCJXXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwiV1dcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICAvLyB3ZWVrZGF5c1xuICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICBjYXNlIFwiY1wiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZSk7XG4gICAgICAgIGNhc2UgXCJFRUVcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwic2hvcnRcIiwgZmFsc2UsIGZhbHNlKSwgMSk7XG4gICAgICAgIGNhc2UgXCJFRUVFXCI6XG4gICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy53ZWVrZGF5cyhcImxvbmdcIiwgZmFsc2UsIGZhbHNlKSwgMSk7XG4gICAgICAgIGNhc2UgXCJjY2NcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwic2hvcnRcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcImNjY2NcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwibG9uZ1wiLCB0cnVlLCBmYWxzZSksIDEpO1xuICAgICAgICAvLyBvZmZzZXQvem9uZVxuICAgICAgICBjYXNlIFwiWlwiOlxuICAgICAgICBjYXNlIFwiWlpcIjpcbiAgICAgICAgICByZXR1cm4gb2Zmc2V0KG5ldyBSZWdFeHAoYChbKy1dJHtvbmVPclR3by5zb3VyY2V9KSg/OjooJHt0d28uc291cmNlfSkpP2ApLCAyKTtcbiAgICAgICAgY2FzZSBcIlpaWlwiOlxuICAgICAgICAgIHJldHVybiBvZmZzZXQobmV3IFJlZ0V4cChgKFsrLV0ke29uZU9yVHdvLnNvdXJjZX0pKCR7dHdvLnNvdXJjZX0pP2ApLCAyKTtcbiAgICAgICAgLy8gd2UgZG9uJ3Qgc3VwcG9ydCBaWlpaIChQU1QpIG9yIFpaWlpaIChQYWNpZmljIFN0YW5kYXJkIFRpbWUpIGluIHBhcnNpbmdcbiAgICAgICAgLy8gYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFueSB3YXkgdG8gZmlndXJlIG91dCB3aGF0IHRoZXkgYXJlXG4gICAgICAgIGNhc2UgXCJ6XCI6XG4gICAgICAgICAgcmV0dXJuIHNpbXBsZSgvW2Etel8rLS9dezEsMjU2fT8vaSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIGxpdGVyYWwodCk7XG4gICAgICB9XG4gICAgfTtcblxuICBjb25zdCB1bml0ID0gdW5pdGF0ZSh0b2tlbikgfHwge1xuICAgIGludmFsaWRSZWFzb246IE1JU1NJTkdfRlRQLFxuICB9O1xuXG4gIHVuaXQudG9rZW4gPSB0b2tlbjtcblxuICByZXR1cm4gdW5pdDtcbn1cblxuY29uc3QgcGFydFR5cGVTdHlsZVRvVG9rZW5WYWwgPSB7XG4gIHllYXI6IHtcbiAgICBcIjItZGlnaXRcIjogXCJ5eVwiLFxuICAgIG51bWVyaWM6IFwieXl5eXlcIixcbiAgfSxcbiAgbW9udGg6IHtcbiAgICBudW1lcmljOiBcIk1cIixcbiAgICBcIjItZGlnaXRcIjogXCJNTVwiLFxuICAgIHNob3J0OiBcIk1NTVwiLFxuICAgIGxvbmc6IFwiTU1NTVwiLFxuICB9LFxuICBkYXk6IHtcbiAgICBudW1lcmljOiBcImRcIixcbiAgICBcIjItZGlnaXRcIjogXCJkZFwiLFxuICB9LFxuICB3ZWVrZGF5OiB7XG4gICAgc2hvcnQ6IFwiRUVFXCIsXG4gICAgbG9uZzogXCJFRUVFXCIsXG4gIH0sXG4gIGRheXBlcmlvZDogXCJhXCIsXG4gIGRheVBlcmlvZDogXCJhXCIsXG4gIGhvdXI6IHtcbiAgICBudW1lcmljOiBcImhcIixcbiAgICBcIjItZGlnaXRcIjogXCJoaFwiLFxuICB9LFxuICBtaW51dGU6IHtcbiAgICBudW1lcmljOiBcIm1cIixcbiAgICBcIjItZGlnaXRcIjogXCJtbVwiLFxuICB9LFxuICBzZWNvbmQ6IHtcbiAgICBudW1lcmljOiBcInNcIixcbiAgICBcIjItZGlnaXRcIjogXCJzc1wiLFxuICB9LFxufTtcblxuZnVuY3Rpb24gdG9rZW5Gb3JQYXJ0KHBhcnQsIGxvY2FsZSwgZm9ybWF0T3B0cykge1xuICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBwYXJ0O1xuXG4gIGlmICh0eXBlID09PSBcImxpdGVyYWxcIikge1xuICAgIHJldHVybiB7XG4gICAgICBsaXRlcmFsOiB0cnVlLFxuICAgICAgdmFsOiB2YWx1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3Qgc3R5bGUgPSBmb3JtYXRPcHRzW3R5cGVdO1xuXG4gIGxldCB2YWwgPSBwYXJ0VHlwZVN0eWxlVG9Ub2tlblZhbFt0eXBlXTtcbiAgaWYgKHR5cGVvZiB2YWwgPT09IFwib2JqZWN0XCIpIHtcbiAgICB2YWwgPSB2YWxbc3R5bGVdO1xuICB9XG5cbiAgaWYgKHZhbCkge1xuICAgIHJldHVybiB7XG4gICAgICBsaXRlcmFsOiBmYWxzZSxcbiAgICAgIHZhbCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYnVpbGRSZWdleCh1bml0cykge1xuICBjb25zdCByZSA9IHVuaXRzLm1hcCgodSkgPT4gdS5yZWdleCkucmVkdWNlKChmLCByKSA9PiBgJHtmfSgke3Iuc291cmNlfSlgLCBcIlwiKTtcbiAgcmV0dXJuIFtgXiR7cmV9JGAsIHVuaXRzXTtcbn1cblxuZnVuY3Rpb24gbWF0Y2goaW5wdXQsIHJlZ2V4LCBoYW5kbGVycykge1xuICBjb25zdCBtYXRjaGVzID0gaW5wdXQubWF0Y2gocmVnZXgpO1xuXG4gIGlmIChtYXRjaGVzKSB7XG4gICAgY29uc3QgYWxsID0ge307XG4gICAgbGV0IG1hdGNoSW5kZXggPSAxO1xuICAgIGZvciAoY29uc3QgaSBpbiBoYW5kbGVycykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5KGhhbmRsZXJzLCBpKSkge1xuICAgICAgICBjb25zdCBoID0gaGFuZGxlcnNbaV0sXG4gICAgICAgICAgZ3JvdXBzID0gaC5ncm91cHMgPyBoLmdyb3VwcyArIDEgOiAxO1xuICAgICAgICBpZiAoIWgubGl0ZXJhbCAmJiBoLnRva2VuKSB7XG4gICAgICAgICAgYWxsW2gudG9rZW4udmFsWzBdXSA9IGguZGVzZXIobWF0Y2hlcy5zbGljZShtYXRjaEluZGV4LCBtYXRjaEluZGV4ICsgZ3JvdXBzKSk7XG4gICAgICAgIH1cbiAgICAgICAgbWF0Y2hJbmRleCArPSBncm91cHM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbbWF0Y2hlcywgYWxsXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW21hdGNoZXMsIHt9XTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkYXRlVGltZUZyb21NYXRjaGVzKG1hdGNoZXMpIHtcbiAgY29uc3QgdG9GaWVsZCA9ICh0b2tlbikgPT4ge1xuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgIHJldHVybiBcIm1pbGxpc2Vjb25kXCI7XG4gICAgICBjYXNlIFwic1wiOlxuICAgICAgICByZXR1cm4gXCJzZWNvbmRcIjtcbiAgICAgIGNhc2UgXCJtXCI6XG4gICAgICAgIHJldHVybiBcIm1pbnV0ZVwiO1xuICAgICAgY2FzZSBcImhcIjpcbiAgICAgIGNhc2UgXCJIXCI6XG4gICAgICAgIHJldHVybiBcImhvdXJcIjtcbiAgICAgIGNhc2UgXCJkXCI6XG4gICAgICAgIHJldHVybiBcImRheVwiO1xuICAgICAgY2FzZSBcIm9cIjpcbiAgICAgICAgcmV0dXJuIFwib3JkaW5hbFwiO1xuICAgICAgY2FzZSBcIkxcIjpcbiAgICAgIGNhc2UgXCJNXCI6XG4gICAgICAgIHJldHVybiBcIm1vbnRoXCI7XG4gICAgICBjYXNlIFwieVwiOlxuICAgICAgICByZXR1cm4gXCJ5ZWFyXCI7XG4gICAgICBjYXNlIFwiRVwiOlxuICAgICAgY2FzZSBcImNcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla2RheVwiO1xuICAgICAgY2FzZSBcIldcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla051bWJlclwiO1xuICAgICAgY2FzZSBcImtcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla1llYXJcIjtcbiAgICAgIGNhc2UgXCJxXCI6XG4gICAgICAgIHJldHVybiBcInF1YXJ0ZXJcIjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBsZXQgem9uZSA9IG51bGw7XG4gIGxldCBzcGVjaWZpY09mZnNldDtcbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnopKSB7XG4gICAgem9uZSA9IElBTkFab25lLmNyZWF0ZShtYXRjaGVzLnopO1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLlopKSB7XG4gICAgaWYgKCF6b25lKSB7XG4gICAgICB6b25lID0gbmV3IEZpeGVkT2Zmc2V0Wm9uZShtYXRjaGVzLlopO1xuICAgIH1cbiAgICBzcGVjaWZpY09mZnNldCA9IG1hdGNoZXMuWjtcbiAgfVxuXG4gIGlmICghaXNVbmRlZmluZWQobWF0Y2hlcy5xKSkge1xuICAgIG1hdGNoZXMuTSA9IChtYXRjaGVzLnEgLSAxKSAqIDMgKyAxO1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLmgpKSB7XG4gICAgaWYgKG1hdGNoZXMuaCA8IDEyICYmIG1hdGNoZXMuYSA9PT0gMSkge1xuICAgICAgbWF0Y2hlcy5oICs9IDEyO1xuICAgIH0gZWxzZSBpZiAobWF0Y2hlcy5oID09PSAxMiAmJiBtYXRjaGVzLmEgPT09IDApIHtcbiAgICAgIG1hdGNoZXMuaCA9IDA7XG4gICAgfVxuICB9XG5cbiAgaWYgKG1hdGNoZXMuRyA9PT0gMCAmJiBtYXRjaGVzLnkpIHtcbiAgICBtYXRjaGVzLnkgPSAtbWF0Y2hlcy55O1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnUpKSB7XG4gICAgbWF0Y2hlcy5TID0gcGFyc2VNaWxsaXMobWF0Y2hlcy51KTtcbiAgfVxuXG4gIGNvbnN0IHZhbHMgPSBPYmplY3Qua2V5cyhtYXRjaGVzKS5yZWR1Y2UoKHIsIGspID0+IHtcbiAgICBjb25zdCBmID0gdG9GaWVsZChrKTtcbiAgICBpZiAoZikge1xuICAgICAgcltmXSA9IG1hdGNoZXNba107XG4gICAgfVxuXG4gICAgcmV0dXJuIHI7XG4gIH0sIHt9KTtcblxuICByZXR1cm4gW3ZhbHMsIHpvbmUsIHNwZWNpZmljT2Zmc2V0XTtcbn1cblxubGV0IGR1bW15RGF0ZVRpbWVDYWNoZSA9IG51bGw7XG5cbmZ1bmN0aW9uIGdldER1bW15RGF0ZVRpbWUoKSB7XG4gIGlmICghZHVtbXlEYXRlVGltZUNhY2hlKSB7XG4gICAgZHVtbXlEYXRlVGltZUNhY2hlID0gRGF0ZVRpbWUuZnJvbU1pbGxpcygxNTU1NTU1NTU1NTU1KTtcbiAgfVxuXG4gIHJldHVybiBkdW1teURhdGVUaW1lQ2FjaGU7XG59XG5cbmZ1bmN0aW9uIG1heWJlRXhwYW5kTWFjcm9Ub2tlbih0b2tlbiwgbG9jYWxlKSB7XG4gIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0T3B0cyA9IEZvcm1hdHRlci5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuLnZhbCk7XG5cbiAgaWYgKCFmb3JtYXRPcHRzKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0dGVyID0gRm9ybWF0dGVyLmNyZWF0ZShsb2NhbGUsIGZvcm1hdE9wdHMpO1xuICBjb25zdCBwYXJ0cyA9IGZvcm1hdHRlci5mb3JtYXREYXRlVGltZVBhcnRzKGdldER1bW15RGF0ZVRpbWUoKSk7XG5cbiAgY29uc3QgdG9rZW5zID0gcGFydHMubWFwKChwKSA9PiB0b2tlbkZvclBhcnQocCwgbG9jYWxlLCBmb3JtYXRPcHRzKSk7XG5cbiAgaWYgKHRva2Vucy5pbmNsdWRlcyh1bmRlZmluZWQpKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gZXhwYW5kTWFjcm9Ub2tlbnModG9rZW5zLCBsb2NhbGUpIHtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4udG9rZW5zLm1hcCgodCkgPT4gbWF5YmVFeHBhbmRNYWNyb1Rva2VuKHQsIGxvY2FsZSkpKTtcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHtcbiAgY29uc3QgdG9rZW5zID0gZXhwYW5kTWFjcm9Ub2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZvcm1hdCksIGxvY2FsZSksXG4gICAgdW5pdHMgPSB0b2tlbnMubWFwKCh0KSA9PiB1bml0Rm9yVG9rZW4odCwgbG9jYWxlKSksXG4gICAgZGlzcXVhbGlmeWluZ1VuaXQgPSB1bml0cy5maW5kKCh0KSA9PiB0LmludmFsaWRSZWFzb24pO1xuXG4gIGlmIChkaXNxdWFsaWZ5aW5nVW5pdCkge1xuICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIGludmFsaWRSZWFzb246IGRpc3F1YWxpZnlpbmdVbml0LmludmFsaWRSZWFzb24gfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBbcmVnZXhTdHJpbmcsIGhhbmRsZXJzXSA9IGJ1aWxkUmVnZXgodW5pdHMpLFxuICAgICAgcmVnZXggPSBSZWdFeHAocmVnZXhTdHJpbmcsIFwiaVwiKSxcbiAgICAgIFtyYXdNYXRjaGVzLCBtYXRjaGVzXSA9IG1hdGNoKGlucHV0LCByZWdleCwgaGFuZGxlcnMpLFxuICAgICAgW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXRdID0gbWF0Y2hlc1xuICAgICAgICA/IGRhdGVUaW1lRnJvbU1hdGNoZXMobWF0Y2hlcylcbiAgICAgICAgOiBbbnVsbCwgbnVsbCwgdW5kZWZpbmVkXTtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkobWF0Y2hlcywgXCJhXCIpICYmIGhhc093blByb3BlcnR5KG1hdGNoZXMsIFwiSFwiKSkge1xuICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKFxuICAgICAgICBcIkNhbid0IGluY2x1ZGUgbWVyaWRpZW0gd2hlbiBzcGVjaWZ5aW5nIDI0LWhvdXIgZm9ybWF0XCJcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIHJlZ2V4LCByYXdNYXRjaGVzLCBtYXRjaGVzLCByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0IH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHtcbiAgY29uc3QgeyByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0LCBpbnZhbGlkUmVhc29uIH0gPSBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpO1xuICByZXR1cm4gW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXQsIGludmFsaWRSZWFzb25dO1xufVxuIiwgImltcG9ydCB7XG4gIGludGVnZXJCZXR3ZWVuLFxuICBpc0xlYXBZZWFyLFxuICB0aW1lT2JqZWN0LFxuICBkYXlzSW5ZZWFyLFxuICBkYXlzSW5Nb250aCxcbiAgd2Vla3NJbldlZWtZZWFyLFxuICBpc0ludGVnZXIsXG59IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCBJbnZhbGlkIGZyb20gXCIuL2ludmFsaWQuanNcIjtcblxuY29uc3Qgbm9uTGVhcExhZGRlciA9IFswLCAzMSwgNTksIDkwLCAxMjAsIDE1MSwgMTgxLCAyMTIsIDI0MywgMjczLCAzMDQsIDMzNF0sXG4gIGxlYXBMYWRkZXIgPSBbMCwgMzEsIDYwLCA5MSwgMTIxLCAxNTIsIDE4MiwgMjEzLCAyNDQsIDI3NCwgMzA1LCAzMzVdO1xuXG5mdW5jdGlvbiB1bml0T3V0T2ZSYW5nZSh1bml0LCB2YWx1ZSkge1xuICByZXR1cm4gbmV3IEludmFsaWQoXG4gICAgXCJ1bml0IG91dCBvZiByYW5nZVwiLFxuICAgIGB5b3Ugc3BlY2lmaWVkICR7dmFsdWV9IChvZiB0eXBlICR7dHlwZW9mIHZhbHVlfSkgYXMgYSAke3VuaXR9LCB3aGljaCBpcyBpbnZhbGlkYFxuICApO1xufVxuXG5mdW5jdGlvbiBkYXlPZldlZWsoeWVhciwgbW9udGgsIGRheSkge1xuICBjb25zdCBkID0gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXkpKTtcblxuICBpZiAoeWVhciA8IDEwMCAmJiB5ZWFyID49IDApIHtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGQuZ2V0VVRDRnVsbFllYXIoKSAtIDE5MDApO1xuICB9XG5cbiAgY29uc3QganMgPSBkLmdldFVUQ0RheSgpO1xuXG4gIHJldHVybiBqcyA9PT0gMCA/IDcgOiBqcztcbn1cblxuZnVuY3Rpb24gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSkge1xuICByZXR1cm4gZGF5ICsgKGlzTGVhcFllYXIoeWVhcikgPyBsZWFwTGFkZGVyIDogbm9uTGVhcExhZGRlcilbbW9udGggLSAxXTtcbn1cblxuZnVuY3Rpb24gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKSB7XG4gIGNvbnN0IHRhYmxlID0gaXNMZWFwWWVhcih5ZWFyKSA/IGxlYXBMYWRkZXIgOiBub25MZWFwTGFkZGVyLFxuICAgIG1vbnRoMCA9IHRhYmxlLmZpbmRJbmRleCgoaSkgPT4gaSA8IG9yZGluYWwpLFxuICAgIGRheSA9IG9yZGluYWwgLSB0YWJsZVttb250aDBdO1xuICByZXR1cm4geyBtb250aDogbW9udGgwICsgMSwgZGF5IH07XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ3JlZ29yaWFuVG9XZWVrKGdyZWdPYmopIHtcbiAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnT2JqLFxuICAgIG9yZGluYWwgPSBjb21wdXRlT3JkaW5hbCh5ZWFyLCBtb250aCwgZGF5KSxcbiAgICB3ZWVrZGF5ID0gZGF5T2ZXZWVrKHllYXIsIG1vbnRoLCBkYXkpO1xuXG4gIGxldCB3ZWVrTnVtYmVyID0gTWF0aC5mbG9vcigob3JkaW5hbCAtIHdlZWtkYXkgKyAxMCkgLyA3KSxcbiAgICB3ZWVrWWVhcjtcblxuICBpZiAod2Vla051bWJlciA8IDEpIHtcbiAgICB3ZWVrWWVhciA9IHllYXIgLSAxO1xuICAgIHdlZWtOdW1iZXIgPSB3ZWVrc0luV2Vla1llYXIod2Vla1llYXIpO1xuICB9IGVsc2UgaWYgKHdlZWtOdW1iZXIgPiB3ZWVrc0luV2Vla1llYXIoeWVhcikpIHtcbiAgICB3ZWVrWWVhciA9IHllYXIgKyAxO1xuICAgIHdlZWtOdW1iZXIgPSAxO1xuICB9IGVsc2Uge1xuICAgIHdlZWtZZWFyID0geWVhcjtcbiAgfVxuXG4gIHJldHVybiB7IHdlZWtZZWFyLCB3ZWVrTnVtYmVyLCB3ZWVrZGF5LCAuLi50aW1lT2JqZWN0KGdyZWdPYmopIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3ZWVrVG9HcmVnb3JpYW4od2Vla0RhdGEpIHtcbiAgY29uc3QgeyB3ZWVrWWVhciwgd2Vla051bWJlciwgd2Vla2RheSB9ID0gd2Vla0RhdGEsXG4gICAgd2Vla2RheU9mSmFuNCA9IGRheU9mV2Vlayh3ZWVrWWVhciwgMSwgNCksXG4gICAgeWVhckluRGF5cyA9IGRheXNJblllYXIod2Vla1llYXIpO1xuXG4gIGxldCBvcmRpbmFsID0gd2Vla051bWJlciAqIDcgKyB3ZWVrZGF5IC0gd2Vla2RheU9mSmFuNCAtIDMsXG4gICAgeWVhcjtcblxuICBpZiAob3JkaW5hbCA8IDEpIHtcbiAgICB5ZWFyID0gd2Vla1llYXIgLSAxO1xuICAgIG9yZGluYWwgKz0gZGF5c0luWWVhcih5ZWFyKTtcbiAgfSBlbHNlIGlmIChvcmRpbmFsID4geWVhckluRGF5cykge1xuICAgIHllYXIgPSB3ZWVrWWVhciArIDE7XG4gICAgb3JkaW5hbCAtPSBkYXlzSW5ZZWFyKHdlZWtZZWFyKTtcbiAgfSBlbHNlIHtcbiAgICB5ZWFyID0gd2Vla1llYXI7XG4gIH1cblxuICBjb25zdCB7IG1vbnRoLCBkYXkgfSA9IHVuY29tcHV0ZU9yZGluYWwoeWVhciwgb3JkaW5hbCk7XG4gIHJldHVybiB7IHllYXIsIG1vbnRoLCBkYXksIC4uLnRpbWVPYmplY3Qod2Vla0RhdGEpIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmVnb3JpYW5Ub09yZGluYWwoZ3JlZ0RhdGEpIHtcbiAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnRGF0YTtcbiAgY29uc3Qgb3JkaW5hbCA9IGNvbXB1dGVPcmRpbmFsKHllYXIsIG1vbnRoLCBkYXkpO1xuICByZXR1cm4geyB5ZWFyLCBvcmRpbmFsLCAuLi50aW1lT2JqZWN0KGdyZWdEYXRhKSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JkaW5hbFRvR3JlZ29yaWFuKG9yZGluYWxEYXRhKSB7XG4gIGNvbnN0IHsgeWVhciwgb3JkaW5hbCB9ID0gb3JkaW5hbERhdGE7XG4gIGNvbnN0IHsgbW9udGgsIGRheSB9ID0gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKTtcbiAgcmV0dXJuIHsgeWVhciwgbW9udGgsIGRheSwgLi4udGltZU9iamVjdChvcmRpbmFsRGF0YSkgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludmFsaWRXZWVrRGF0YShvYmopIHtcbiAgY29uc3QgdmFsaWRZZWFyID0gaXNJbnRlZ2VyKG9iai53ZWVrWWVhciksXG4gICAgdmFsaWRXZWVrID0gaW50ZWdlckJldHdlZW4ob2JqLndlZWtOdW1iZXIsIDEsIHdlZWtzSW5XZWVrWWVhcihvYmoud2Vla1llYXIpKSxcbiAgICB2YWxpZFdlZWtkYXkgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla2RheSwgMSwgNyk7XG5cbiAgaWYgKCF2YWxpZFllYXIpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJ3ZWVrWWVhclwiLCBvYmoud2Vla1llYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZFdlZWspIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJ3ZWVrXCIsIG9iai53ZWVrKTtcbiAgfSBlbHNlIGlmICghdmFsaWRXZWVrZGF5KSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwid2Vla2RheVwiLCBvYmoud2Vla2RheSk7XG4gIH0gZWxzZSByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJbnZhbGlkT3JkaW5hbERhdGEob2JqKSB7XG4gIGNvbnN0IHZhbGlkWWVhciA9IGlzSW50ZWdlcihvYmoueWVhciksXG4gICAgdmFsaWRPcmRpbmFsID0gaW50ZWdlckJldHdlZW4ob2JqLm9yZGluYWwsIDEsIGRheXNJblllYXIob2JqLnllYXIpKTtcblxuICBpZiAoIXZhbGlkWWVhcikge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcInllYXJcIiwgb2JqLnllYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZE9yZGluYWwpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJvcmRpbmFsXCIsIG9iai5vcmRpbmFsKTtcbiAgfSBlbHNlIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludmFsaWRHcmVnb3JpYW5EYXRhKG9iaikge1xuICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLFxuICAgIHZhbGlkTW9udGggPSBpbnRlZ2VyQmV0d2VlbihvYmoubW9udGgsIDEsIDEyKSxcbiAgICB2YWxpZERheSA9IGludGVnZXJCZXR3ZWVuKG9iai5kYXksIDEsIGRheXNJbk1vbnRoKG9iai55ZWFyLCBvYmoubW9udGgpKTtcblxuICBpZiAoIXZhbGlkWWVhcikge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcInllYXJcIiwgb2JqLnllYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZE1vbnRoKSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwibW9udGhcIiwgb2JqLm1vbnRoKTtcbiAgfSBlbHNlIGlmICghdmFsaWREYXkpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJkYXlcIiwgb2JqLmRheSk7XG4gIH0gZWxzZSByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJbnZhbGlkVGltZURhdGEob2JqKSB7XG4gIGNvbnN0IHsgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0gPSBvYmo7XG4gIGNvbnN0IHZhbGlkSG91ciA9XG4gICAgICBpbnRlZ2VyQmV0d2Vlbihob3VyLCAwLCAyMykgfHxcbiAgICAgIChob3VyID09PSAyNCAmJiBtaW51dGUgPT09IDAgJiYgc2Vjb25kID09PSAwICYmIG1pbGxpc2Vjb25kID09PSAwKSxcbiAgICB2YWxpZE1pbnV0ZSA9IGludGVnZXJCZXR3ZWVuKG1pbnV0ZSwgMCwgNTkpLFxuICAgIHZhbGlkU2Vjb25kID0gaW50ZWdlckJldHdlZW4oc2Vjb25kLCAwLCA1OSksXG4gICAgdmFsaWRNaWxsaXNlY29uZCA9IGludGVnZXJCZXR3ZWVuKG1pbGxpc2Vjb25kLCAwLCA5OTkpO1xuXG4gIGlmICghdmFsaWRIb3VyKSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwiaG91clwiLCBob3VyKTtcbiAgfSBlbHNlIGlmICghdmFsaWRNaW51dGUpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJtaW51dGVcIiwgbWludXRlKTtcbiAgfSBlbHNlIGlmICghdmFsaWRTZWNvbmQpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJzZWNvbmRcIiwgc2Vjb25kKTtcbiAgfSBlbHNlIGlmICghdmFsaWRNaWxsaXNlY29uZCkge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcIm1pbGxpc2Vjb25kXCIsIG1pbGxpc2Vjb25kKTtcbiAgfSBlbHNlIHJldHVybiBmYWxzZTtcbn1cbiIsICJpbXBvcnQgRHVyYXRpb24gZnJvbSBcIi4vZHVyYXRpb24uanNcIjtcbmltcG9ydCBJbnRlcnZhbCBmcm9tIFwiLi9pbnRlcnZhbC5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzLmpzXCI7XG5pbXBvcnQgSW5mbyBmcm9tIFwiLi9pbmZvLmpzXCI7XG5pbXBvcnQgRm9ybWF0dGVyIGZyb20gXCIuL2ltcGwvZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgRml4ZWRPZmZzZXRab25lIGZyb20gXCIuL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IExvY2FsZSBmcm9tIFwiLi9pbXBsL2xvY2FsZS5qc1wiO1xuaW1wb3J0IHtcbiAgaXNVbmRlZmluZWQsXG4gIG1heWJlQXJyYXksXG4gIGlzRGF0ZSxcbiAgaXNOdW1iZXIsXG4gIGJlc3RCeSxcbiAgZGF5c0luTW9udGgsXG4gIGRheXNJblllYXIsXG4gIGlzTGVhcFllYXIsXG4gIHdlZWtzSW5XZWVrWWVhcixcbiAgbm9ybWFsaXplT2JqZWN0LFxuICByb3VuZFRvLFxuICBvYmpUb0xvY2FsVFMsXG4gIHBhZFN0YXJ0LFxufSBmcm9tIFwiLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVpvbmUgfSBmcm9tIFwiLi9pbXBsL3pvbmVVdGlsLmpzXCI7XG5pbXBvcnQgZGlmZiBmcm9tIFwiLi9pbXBsL2RpZmYuanNcIjtcbmltcG9ydCB7IHBhcnNlUkZDMjgyMkRhdGUsIHBhcnNlSVNPRGF0ZSwgcGFyc2VIVFRQRGF0ZSwgcGFyc2VTUUwgfSBmcm9tIFwiLi9pbXBsL3JlZ2V4UGFyc2VyLmpzXCI7XG5pbXBvcnQgeyBwYXJzZUZyb21Ub2tlbnMsIGV4cGxhaW5Gcm9tVG9rZW5zIH0gZnJvbSBcIi4vaW1wbC90b2tlblBhcnNlci5qc1wiO1xuaW1wb3J0IHtcbiAgZ3JlZ29yaWFuVG9XZWVrLFxuICB3ZWVrVG9HcmVnb3JpYW4sXG4gIGdyZWdvcmlhblRvT3JkaW5hbCxcbiAgb3JkaW5hbFRvR3JlZ29yaWFuLFxuICBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YSxcbiAgaGFzSW52YWxpZFdlZWtEYXRhLFxuICBoYXNJbnZhbGlkT3JkaW5hbERhdGEsXG4gIGhhc0ludmFsaWRUaW1lRGF0YSxcbn0gZnJvbSBcIi4vaW1wbC9jb252ZXJzaW9ucy5qc1wiO1xuaW1wb3J0ICogYXMgRm9ybWF0cyBmcm9tIFwiLi9pbXBsL2Zvcm1hdHMuanNcIjtcbmltcG9ydCB7XG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcixcbiAgSW52YWxpZFVuaXRFcnJvcixcbiAgSW52YWxpZERhdGVUaW1lRXJyb3IsXG59IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IEludmFsaWQgZnJvbSBcIi4vaW1wbC9pbnZhbGlkLmpzXCI7XG5cbmNvbnN0IElOVkFMSUQgPSBcIkludmFsaWQgRGF0ZVRpbWVcIjtcbmNvbnN0IE1BWF9EQVRFID0gOC42NGUxNTtcblxuZnVuY3Rpb24gdW5zdXBwb3J0ZWRab25lKHpvbmUpIHtcbiAgcmV0dXJuIG5ldyBJbnZhbGlkKFwidW5zdXBwb3J0ZWQgem9uZVwiLCBgdGhlIHpvbmUgXCIke3pvbmUubmFtZX1cIiBpcyBub3Qgc3VwcG9ydGVkYCk7XG59XG5cbi8vIHdlIGNhY2hlIHdlZWsgZGF0YSBvbiB0aGUgRFQgb2JqZWN0IGFuZCB0aGlzIGludGVybWVkaWF0ZXMgdGhlIGNhY2hlXG5mdW5jdGlvbiBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKGR0KSB7XG4gIGlmIChkdC53ZWVrRGF0YSA9PT0gbnVsbCkge1xuICAgIGR0LndlZWtEYXRhID0gZ3JlZ29yaWFuVG9XZWVrKGR0LmMpO1xuICB9XG4gIHJldHVybiBkdC53ZWVrRGF0YTtcbn1cblxuLy8gY2xvbmUgcmVhbGx5IG1lYW5zLCBcIm1ha2UgYSBuZXcgb2JqZWN0IHdpdGggdGhlc2UgbW9kaWZpY2F0aW9uc1wiLiBhbGwgXCJzZXR0ZXJzXCIgcmVhbGx5IHVzZSB0aGlzXG4vLyB0byBjcmVhdGUgYSBuZXcgb2JqZWN0IHdoaWxlIG9ubHkgY2hhbmdpbmcgc29tZSBvZiB0aGUgcHJvcGVydGllc1xuZnVuY3Rpb24gY2xvbmUoaW5zdCwgYWx0cykge1xuICBjb25zdCBjdXJyZW50ID0ge1xuICAgIHRzOiBpbnN0LnRzLFxuICAgIHpvbmU6IGluc3Quem9uZSxcbiAgICBjOiBpbnN0LmMsXG4gICAgbzogaW5zdC5vLFxuICAgIGxvYzogaW5zdC5sb2MsXG4gICAgaW52YWxpZDogaW5zdC5pbnZhbGlkLFxuICB9O1xuICByZXR1cm4gbmV3IERhdGVUaW1lKHsgLi4uY3VycmVudCwgLi4uYWx0cywgb2xkOiBjdXJyZW50IH0pO1xufVxuXG4vLyBmaW5kIHRoZSByaWdodCBvZmZzZXQgYSBnaXZlbiBsb2NhbCB0aW1lLiBUaGUgbyBpbnB1dCBpcyBvdXIgZ3Vlc3MsIHdoaWNoIGRldGVybWluZXMgd2hpY2hcbi8vIG9mZnNldCB3ZSdsbCBwaWNrIGluIGFtYmlndW91cyBjYXNlcyAoZS5nLiB0aGVyZSBhcmUgdHdvIDMgQU1zIGIvYyBGYWxsYmFjayBEU1QpXG5mdW5jdGlvbiBmaXhPZmZzZXQobG9jYWxUUywgbywgdHopIHtcbiAgLy8gT3VyIFVUQyB0aW1lIGlzIGp1c3QgYSBndWVzcyBiZWNhdXNlIG91ciBvZmZzZXQgaXMganVzdCBhIGd1ZXNzXG4gIGxldCB1dGNHdWVzcyA9IGxvY2FsVFMgLSBvICogNjAgKiAxMDAwO1xuXG4gIC8vIFRlc3Qgd2hldGhlciB0aGUgem9uZSBtYXRjaGVzIHRoZSBvZmZzZXQgZm9yIHRoaXMgdHNcbiAgY29uc3QgbzIgPSB0ei5vZmZzZXQodXRjR3Vlc3MpO1xuXG4gIC8vIElmIHNvLCBvZmZzZXQgZGlkbid0IGNoYW5nZSBhbmQgd2UncmUgZG9uZVxuICBpZiAobyA9PT0gbzIpIHtcbiAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvXTtcbiAgfVxuXG4gIC8vIElmIG5vdCwgY2hhbmdlIHRoZSB0cyBieSB0aGUgZGlmZmVyZW5jZSBpbiB0aGUgb2Zmc2V0XG4gIHV0Y0d1ZXNzIC09IChvMiAtIG8pICogNjAgKiAxMDAwO1xuXG4gIC8vIElmIHRoYXQgZ2l2ZXMgdXMgdGhlIGxvY2FsIHRpbWUgd2Ugd2FudCwgd2UncmUgZG9uZVxuICBjb25zdCBvMyA9IHR6Lm9mZnNldCh1dGNHdWVzcyk7XG4gIGlmIChvMiA9PT0gbzMpIHtcbiAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvMl07XG4gIH1cblxuICAvLyBJZiBpdCdzIGRpZmZlcmVudCwgd2UncmUgaW4gYSBob2xlIHRpbWUuIFRoZSBvZmZzZXQgaGFzIGNoYW5nZWQsIGJ1dCB0aGUgd2UgZG9uJ3QgYWRqdXN0IHRoZSB0aW1lXG4gIHJldHVybiBbbG9jYWxUUyAtIE1hdGgubWluKG8yLCBvMykgKiA2MCAqIDEwMDAsIE1hdGgubWF4KG8yLCBvMyldO1xufVxuXG4vLyBjb252ZXJ0IGFuIGVwb2NoIHRpbWVzdGFtcCBpbnRvIGEgY2FsZW5kYXIgb2JqZWN0IHdpdGggdGhlIGdpdmVuIG9mZnNldFxuZnVuY3Rpb24gdHNUb09iaih0cywgb2Zmc2V0KSB7XG4gIHRzICs9IG9mZnNldCAqIDYwICogMTAwMDtcblxuICBjb25zdCBkID0gbmV3IERhdGUodHMpO1xuXG4gIHJldHVybiB7XG4gICAgeWVhcjogZC5nZXRVVENGdWxsWWVhcigpLFxuICAgIG1vbnRoOiBkLmdldFVUQ01vbnRoKCkgKyAxLFxuICAgIGRheTogZC5nZXRVVENEYXRlKCksXG4gICAgaG91cjogZC5nZXRVVENIb3VycygpLFxuICAgIG1pbnV0ZTogZC5nZXRVVENNaW51dGVzKCksXG4gICAgc2Vjb25kOiBkLmdldFVUQ1NlY29uZHMoKSxcbiAgICBtaWxsaXNlY29uZDogZC5nZXRVVENNaWxsaXNlY29uZHMoKSxcbiAgfTtcbn1cblxuLy8gY29udmVydCBhIGNhbGVuZGFyIG9iamVjdCB0byBhIGVwb2NoIHRpbWVzdGFtcFxuZnVuY3Rpb24gb2JqVG9UUyhvYmosIG9mZnNldCwgem9uZSkge1xuICByZXR1cm4gZml4T2Zmc2V0KG9ialRvTG9jYWxUUyhvYmopLCBvZmZzZXQsIHpvbmUpO1xufVxuXG4vLyBjcmVhdGUgYSBuZXcgRFQgaW5zdGFuY2UgYnkgYWRkaW5nIGEgZHVyYXRpb24sIGFkanVzdGluZyBmb3IgRFNUc1xuZnVuY3Rpb24gYWRqdXN0VGltZShpbnN0LCBkdXIpIHtcbiAgY29uc3Qgb1ByZSA9IGluc3QubyxcbiAgICB5ZWFyID0gaW5zdC5jLnllYXIgKyBNYXRoLnRydW5jKGR1ci55ZWFycyksXG4gICAgbW9udGggPSBpbnN0LmMubW9udGggKyBNYXRoLnRydW5jKGR1ci5tb250aHMpICsgTWF0aC50cnVuYyhkdXIucXVhcnRlcnMpICogMyxcbiAgICBjID0ge1xuICAgICAgLi4uaW5zdC5jLFxuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5OlxuICAgICAgICBNYXRoLm1pbihpbnN0LmMuZGF5LCBkYXlzSW5Nb250aCh5ZWFyLCBtb250aCkpICtcbiAgICAgICAgTWF0aC50cnVuYyhkdXIuZGF5cykgK1xuICAgICAgICBNYXRoLnRydW5jKGR1ci53ZWVrcykgKiA3LFxuICAgIH0sXG4gICAgbWlsbGlzVG9BZGQgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHtcbiAgICAgIHllYXJzOiBkdXIueWVhcnMgLSBNYXRoLnRydW5jKGR1ci55ZWFycyksXG4gICAgICBxdWFydGVyczogZHVyLnF1YXJ0ZXJzIC0gTWF0aC50cnVuYyhkdXIucXVhcnRlcnMpLFxuICAgICAgbW9udGhzOiBkdXIubW9udGhzIC0gTWF0aC50cnVuYyhkdXIubW9udGhzKSxcbiAgICAgIHdlZWtzOiBkdXIud2Vla3MgLSBNYXRoLnRydW5jKGR1ci53ZWVrcyksXG4gICAgICBkYXlzOiBkdXIuZGF5cyAtIE1hdGgudHJ1bmMoZHVyLmRheXMpLFxuICAgICAgaG91cnM6IGR1ci5ob3VycyxcbiAgICAgIG1pbnV0ZXM6IGR1ci5taW51dGVzLFxuICAgICAgc2Vjb25kczogZHVyLnNlY29uZHMsXG4gICAgICBtaWxsaXNlY29uZHM6IGR1ci5taWxsaXNlY29uZHMsXG4gICAgfSkuYXMoXCJtaWxsaXNlY29uZHNcIiksXG4gICAgbG9jYWxUUyA9IG9ialRvTG9jYWxUUyhjKTtcblxuICBsZXQgW3RzLCBvXSA9IGZpeE9mZnNldChsb2NhbFRTLCBvUHJlLCBpbnN0LnpvbmUpO1xuXG4gIGlmIChtaWxsaXNUb0FkZCAhPT0gMCkge1xuICAgIHRzICs9IG1pbGxpc1RvQWRkO1xuICAgIC8vIHRoYXQgY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBvZmZzZXQgYnkgZ29pbmcgb3ZlciBhIERTVCwgYnV0IHdlIHdhbnQgdG8ga2VlcCB0aGUgdHMgdGhlIHNhbWVcbiAgICBvID0gaW5zdC56b25lLm9mZnNldCh0cyk7XG4gIH1cblxuICByZXR1cm4geyB0cywgbyB9O1xufVxuXG4vLyBoZWxwZXIgdXNlZnVsIGluIHR1cm5pbmcgdGhlIHJlc3VsdHMgb2YgcGFyc2luZyBpbnRvIHJlYWwgZGF0ZXNcbi8vIGJ5IGhhbmRsaW5nIHRoZSB6b25lIG9wdGlvbnNcbmZ1bmN0aW9uIHBhcnNlRGF0YVRvRGF0ZVRpbWUocGFyc2VkLCBwYXJzZWRab25lLCBvcHRzLCBmb3JtYXQsIHRleHQsIHNwZWNpZmljT2Zmc2V0KSB7XG4gIGNvbnN0IHsgc2V0Wm9uZSwgem9uZSB9ID0gb3B0cztcbiAgaWYgKHBhcnNlZCAmJiBPYmplY3Qua2V5cyhwYXJzZWQpLmxlbmd0aCAhPT0gMCkge1xuICAgIGNvbnN0IGludGVycHJldGF0aW9uWm9uZSA9IHBhcnNlZFpvbmUgfHwgem9uZSxcbiAgICAgIGluc3QgPSBEYXRlVGltZS5mcm9tT2JqZWN0KHBhcnNlZCwge1xuICAgICAgICAuLi5vcHRzLFxuICAgICAgICB6b25lOiBpbnRlcnByZXRhdGlvblpvbmUsXG4gICAgICAgIHNwZWNpZmljT2Zmc2V0LFxuICAgICAgfSk7XG4gICAgcmV0dXJuIHNldFpvbmUgPyBpbnN0IDogaW5zdC5zZXRab25lKHpvbmUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKFxuICAgICAgbmV3IEludmFsaWQoXCJ1bnBhcnNhYmxlXCIsIGB0aGUgaW5wdXQgXCIke3RleHR9XCIgY2FuJ3QgYmUgcGFyc2VkIGFzICR7Zm9ybWF0fWApXG4gICAgKTtcbiAgfVxufVxuXG4vLyBpZiB5b3Ugd2FudCB0byBvdXRwdXQgYSB0ZWNobmljYWwgZm9ybWF0IChlLmcuIFJGQyAyODIyKSwgdGhpcyBoZWxwZXJcbi8vIGhlbHBzIGhhbmRsZSB0aGUgZGV0YWlsc1xuZnVuY3Rpb24gdG9UZWNoRm9ybWF0KGR0LCBmb3JtYXQsIGFsbG93WiA9IHRydWUpIHtcbiAgcmV0dXJuIGR0LmlzVmFsaWRcbiAgICA/IEZvcm1hdHRlci5jcmVhdGUoTG9jYWxlLmNyZWF0ZShcImVuLVVTXCIpLCB7XG4gICAgICAgIGFsbG93WixcbiAgICAgICAgZm9yY2VTaW1wbGU6IHRydWUsXG4gICAgICB9KS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcoZHQsIGZvcm1hdClcbiAgICA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIHRvSVNPRGF0ZShvLCBleHRlbmRlZCkge1xuICBjb25zdCBsb25nRm9ybWF0ID0gby5jLnllYXIgPiA5OTk5IHx8IG8uYy55ZWFyIDwgMDtcbiAgbGV0IGMgPSBcIlwiO1xuICBpZiAobG9uZ0Zvcm1hdCAmJiBvLmMueWVhciA+PSAwKSBjICs9IFwiK1wiO1xuICBjICs9IHBhZFN0YXJ0KG8uYy55ZWFyLCBsb25nRm9ybWF0ID8gNiA6IDQpO1xuXG4gIGlmIChleHRlbmRlZCkge1xuICAgIGMgKz0gXCItXCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMubW9udGgpO1xuICAgIGMgKz0gXCItXCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMuZGF5KTtcbiAgfSBlbHNlIHtcbiAgICBjICs9IHBhZFN0YXJ0KG8uYy5tb250aCk7XG4gICAgYyArPSBwYWRTdGFydChvLmMuZGF5KTtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuZnVuY3Rpb24gdG9JU09UaW1lKFxuICBvLFxuICBleHRlbmRlZCxcbiAgc3VwcHJlc3NTZWNvbmRzLFxuICBzdXBwcmVzc01pbGxpc2Vjb25kcyxcbiAgaW5jbHVkZU9mZnNldCxcbiAgZXh0ZW5kZWRab25lXG4pIHtcbiAgbGV0IGMgPSBwYWRTdGFydChvLmMuaG91cik7XG4gIGlmIChleHRlbmRlZCkge1xuICAgIGMgKz0gXCI6XCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMubWludXRlKTtcbiAgICBpZiAoby5jLnNlY29uZCAhPT0gMCB8fCAhc3VwcHJlc3NTZWNvbmRzKSB7XG4gICAgICBjICs9IFwiOlwiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjICs9IHBhZFN0YXJ0KG8uYy5taW51dGUpO1xuICB9XG5cbiAgaWYgKG8uYy5zZWNvbmQgIT09IDAgfHwgIXN1cHByZXNzU2Vjb25kcykge1xuICAgIGMgKz0gcGFkU3RhcnQoby5jLnNlY29uZCk7XG5cbiAgICBpZiAoby5jLm1pbGxpc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc01pbGxpc2Vjb25kcykge1xuICAgICAgYyArPSBcIi5cIjtcbiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbGxpc2Vjb25kLCAzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaW5jbHVkZU9mZnNldCkge1xuICAgIGlmIChvLmlzT2Zmc2V0Rml4ZWQgJiYgby5vZmZzZXQgPT09IDAgJiYgIWV4dGVuZGVkWm9uZSkge1xuICAgICAgYyArPSBcIlpcIjtcbiAgICB9IGVsc2UgaWYgKG8ubyA8IDApIHtcbiAgICAgIGMgKz0gXCItXCI7XG4gICAgICBjICs9IHBhZFN0YXJ0KE1hdGgudHJ1bmMoLW8ubyAvIDYwKSk7XG4gICAgICBjICs9IFwiOlwiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKC1vLm8gJSA2MCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjICs9IFwiK1wiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKG8ubyAvIDYwKSk7XG4gICAgICBjICs9IFwiOlwiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKG8ubyAlIDYwKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGV4dGVuZGVkWm9uZSkge1xuICAgIGMgKz0gXCJbXCIgKyBvLnpvbmUuaWFuYU5hbWUgKyBcIl1cIjtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuLy8gZGVmYXVsdHMgZm9yIHVuc3BlY2lmaWVkIHVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzXG5jb25zdCBkZWZhdWx0VW5pdFZhbHVlcyA9IHtcbiAgICBtb250aDogMSxcbiAgICBkYXk6IDEsXG4gICAgaG91cjogMCxcbiAgICBtaW51dGU6IDAsXG4gICAgc2Vjb25kOiAwLFxuICAgIG1pbGxpc2Vjb25kOiAwLFxuICB9LFxuICBkZWZhdWx0V2Vla1VuaXRWYWx1ZXMgPSB7XG4gICAgd2Vla051bWJlcjogMSxcbiAgICB3ZWVrZGF5OiAxLFxuICAgIGhvdXI6IDAsXG4gICAgbWludXRlOiAwLFxuICAgIHNlY29uZDogMCxcbiAgICBtaWxsaXNlY29uZDogMCxcbiAgfSxcbiAgZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzID0ge1xuICAgIG9yZGluYWw6IDEsXG4gICAgaG91cjogMCxcbiAgICBtaW51dGU6IDAsXG4gICAgc2Vjb25kOiAwLFxuICAgIG1pbGxpc2Vjb25kOiAwLFxuICB9O1xuXG4vLyBVbml0cyBpbiB0aGUgc3VwcG9ydGVkIGNhbGVuZGFycywgc29ydGVkIGJ5IGJpZ25lc3NcbmNvbnN0IG9yZGVyZWRVbml0cyA9IFtcInllYXJcIiwgXCJtb250aFwiLCBcImRheVwiLCBcImhvdXJcIiwgXCJtaW51dGVcIiwgXCJzZWNvbmRcIiwgXCJtaWxsaXNlY29uZFwiXSxcbiAgb3JkZXJlZFdlZWtVbml0cyA9IFtcbiAgICBcIndlZWtZZWFyXCIsXG4gICAgXCJ3ZWVrTnVtYmVyXCIsXG4gICAgXCJ3ZWVrZGF5XCIsXG4gICAgXCJob3VyXCIsXG4gICAgXCJtaW51dGVcIixcbiAgICBcInNlY29uZFwiLFxuICAgIFwibWlsbGlzZWNvbmRcIixcbiAgXSxcbiAgb3JkZXJlZE9yZGluYWxVbml0cyA9IFtcInllYXJcIiwgXCJvcmRpbmFsXCIsIFwiaG91clwiLCBcIm1pbnV0ZVwiLCBcInNlY29uZFwiLCBcIm1pbGxpc2Vjb25kXCJdO1xuXG4vLyBzdGFuZGFyZGl6ZSBjYXNlIGFuZCBwbHVyYWxpdHkgaW4gdW5pdHNcbmZ1bmN0aW9uIG5vcm1hbGl6ZVVuaXQodW5pdCkge1xuICBjb25zdCBub3JtYWxpemVkID0ge1xuICAgIHllYXI6IFwieWVhclwiLFxuICAgIHllYXJzOiBcInllYXJcIixcbiAgICBtb250aDogXCJtb250aFwiLFxuICAgIG1vbnRoczogXCJtb250aFwiLFxuICAgIGRheTogXCJkYXlcIixcbiAgICBkYXlzOiBcImRheVwiLFxuICAgIGhvdXI6IFwiaG91clwiLFxuICAgIGhvdXJzOiBcImhvdXJcIixcbiAgICBtaW51dGU6IFwibWludXRlXCIsXG4gICAgbWludXRlczogXCJtaW51dGVcIixcbiAgICBxdWFydGVyOiBcInF1YXJ0ZXJcIixcbiAgICBxdWFydGVyczogXCJxdWFydGVyXCIsXG4gICAgc2Vjb25kOiBcInNlY29uZFwiLFxuICAgIHNlY29uZHM6IFwic2Vjb25kXCIsXG4gICAgbWlsbGlzZWNvbmQ6IFwibWlsbGlzZWNvbmRcIixcbiAgICBtaWxsaXNlY29uZHM6IFwibWlsbGlzZWNvbmRcIixcbiAgICB3ZWVrZGF5OiBcIndlZWtkYXlcIixcbiAgICB3ZWVrZGF5czogXCJ3ZWVrZGF5XCIsXG4gICAgd2Vla251bWJlcjogXCJ3ZWVrTnVtYmVyXCIsXG4gICAgd2Vla3NudW1iZXI6IFwid2Vla051bWJlclwiLFxuICAgIHdlZWtudW1iZXJzOiBcIndlZWtOdW1iZXJcIixcbiAgICB3ZWVreWVhcjogXCJ3ZWVrWWVhclwiLFxuICAgIHdlZWt5ZWFyczogXCJ3ZWVrWWVhclwiLFxuICAgIG9yZGluYWw6IFwib3JkaW5hbFwiLFxuICB9W3VuaXQudG9Mb3dlckNhc2UoKV07XG5cbiAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTtcblxuICByZXR1cm4gbm9ybWFsaXplZDtcbn1cblxuLy8gdGhpcyBpcyBhIGR1bWJlZCBkb3duIHZlcnNpb24gb2YgZnJvbU9iamVjdCgpIHRoYXQgcnVucyBhYm91dCA2MCUgZmFzdGVyXG4vLyBidXQgZG9lc24ndCBkbyBhbnkgdmFsaWRhdGlvbiwgbWFrZXMgYSBidW5jaCBvZiBhc3N1bXB0aW9ucyBhYm91dCB3aGF0IHVuaXRzXG4vLyBhcmUgcHJlc2VudCwgYW5kIHNvIG9uLlxuZnVuY3Rpb24gcXVpY2tEVChvYmosIG9wdHMpIHtcbiAgY29uc3Qgem9uZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksXG4gICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyksXG4gICAgdHNOb3cgPSBTZXR0aW5ncy5ub3coKTtcblxuICBsZXQgdHMsIG87XG5cbiAgLy8gYXNzdW1lIHdlIGhhdmUgdGhlIGhpZ2hlci1vcmRlciB1bml0c1xuICBpZiAoIWlzVW5kZWZpbmVkKG9iai55ZWFyKSkge1xuICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmIChpc1VuZGVmaW5lZChvYmpbdV0pKSB7XG4gICAgICAgIG9ialt1XSA9IGRlZmF1bHRVbml0VmFsdWVzW3VdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YShvYmopIHx8IGhhc0ludmFsaWRUaW1lRGF0YShvYmopO1xuICAgIGlmIChpbnZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRQcm92aXMgPSB6b25lLm9mZnNldCh0c05vdyk7XG4gICAgW3RzLCBvXSA9IG9ialRvVFMob2JqLCBvZmZzZXRQcm92aXMsIHpvbmUpO1xuICB9IGVsc2Uge1xuICAgIHRzID0gdHNOb3c7XG4gIH1cblxuICByZXR1cm4gbmV3IERhdGVUaW1lKHsgdHMsIHpvbmUsIGxvYywgbyB9KTtcbn1cblxuZnVuY3Rpb24gZGlmZlJlbGF0aXZlKHN0YXJ0LCBlbmQsIG9wdHMpIHtcbiAgY29uc3Qgcm91bmQgPSBpc1VuZGVmaW5lZChvcHRzLnJvdW5kKSA/IHRydWUgOiBvcHRzLnJvdW5kLFxuICAgIGZvcm1hdCA9IChjLCB1bml0KSA9PiB7XG4gICAgICBjID0gcm91bmRUbyhjLCByb3VuZCB8fCBvcHRzLmNhbGVuZGFyeSA/IDAgOiAyLCB0cnVlKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlciA9IGVuZC5sb2MuY2xvbmUob3B0cykucmVsRm9ybWF0dGVyKG9wdHMpO1xuICAgICAgcmV0dXJuIGZvcm1hdHRlci5mb3JtYXQoYywgdW5pdCk7XG4gICAgfSxcbiAgICBkaWZmZXIgPSAodW5pdCkgPT4ge1xuICAgICAgaWYgKG9wdHMuY2FsZW5kYXJ5KSB7XG4gICAgICAgIGlmICghZW5kLmhhc1NhbWUoc3RhcnQsIHVuaXQpKSB7XG4gICAgICAgICAgcmV0dXJuIGVuZC5zdGFydE9mKHVuaXQpLmRpZmYoc3RhcnQuc3RhcnRPZih1bml0KSwgdW5pdCkuZ2V0KHVuaXQpO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZW5kLmRpZmYoc3RhcnQsIHVuaXQpLmdldCh1bml0KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gIGlmIChvcHRzLnVuaXQpIHtcbiAgICByZXR1cm4gZm9ybWF0KGRpZmZlcihvcHRzLnVuaXQpLCBvcHRzLnVuaXQpO1xuICB9XG5cbiAgZm9yIChjb25zdCB1bml0IG9mIG9wdHMudW5pdHMpIHtcbiAgICBjb25zdCBjb3VudCA9IGRpZmZlcih1bml0KTtcbiAgICBpZiAoTWF0aC5hYnMoY291bnQpID49IDEpIHtcbiAgICAgIHJldHVybiBmb3JtYXQoY291bnQsIHVuaXQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZm9ybWF0KHN0YXJ0ID4gZW5kID8gLTAgOiAwLCBvcHRzLnVuaXRzW29wdHMudW5pdHMubGVuZ3RoIC0gMV0pO1xufVxuXG5mdW5jdGlvbiBsYXN0T3B0cyhhcmdMaXN0KSB7XG4gIGxldCBvcHRzID0ge30sXG4gICAgYXJncztcbiAgaWYgKGFyZ0xpc3QubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdID09PSBcIm9iamVjdFwiKSB7XG4gICAgb3B0cyA9IGFyZ0xpc3RbYXJnTGlzdC5sZW5ndGggLSAxXTtcbiAgICBhcmdzID0gQXJyYXkuZnJvbShhcmdMaXN0KS5zbGljZSgwLCBhcmdMaXN0Lmxlbmd0aCAtIDEpO1xuICB9IGVsc2Uge1xuICAgIGFyZ3MgPSBBcnJheS5mcm9tKGFyZ0xpc3QpO1xuICB9XG4gIHJldHVybiBbb3B0cywgYXJnc107XG59XG5cbi8qKlxuICogQSBEYXRlVGltZSBpcyBhbiBpbW11dGFibGUgZGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBhbmQgYWNjb21wYW55aW5nIG1ldGhvZHMuIEl0IGNvbnRhaW5zIGNsYXNzIGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLlxuICpcbiAqIEEgRGF0ZVRpbWUgY29tcHJpc2VzIG9mOlxuICogKiBBIHRpbWVzdGFtcC4gRWFjaCBEYXRlVGltZSBpbnN0YW5jZSByZWZlcnMgdG8gYSBzcGVjaWZpYyBtaWxsaXNlY29uZCBvZiB0aGUgVW5peCBlcG9jaC5cbiAqICogQSB0aW1lIHpvbmUuIEVhY2ggaW5zdGFuY2UgaXMgY29uc2lkZXJlZCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIHpvbmUgKGJ5IGRlZmF1bHQgdGhlIGxvY2FsIHN5c3RlbSdzIHpvbmUpLlxuICogKiBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgdGhhdCBlZmZlY3QgaG93IG91dHB1dCBzdHJpbmdzIGFyZSBmb3JtYXR0ZWQsIHN1Y2ggYXMgYGxvY2FsZWAsIGBudW1iZXJpbmdTeXN0ZW1gLCBhbmQgYG91dHB1dENhbGVuZGFyYC5cbiAqXG4gKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBmdW5jdGlvbmFsaXR5IGl0IHByb3ZpZGVzOlxuICpcbiAqICogKipDcmVhdGlvbioqOiBUbyBjcmVhdGUgYSBEYXRlVGltZSBmcm9tIGl0cyBjb21wb25lbnRzLCB1c2Ugb25lIG9mIGl0cyBmYWN0b3J5IGNsYXNzIG1ldGhvZHM6IHtAbGluayBEYXRlVGltZSNsb2NhbH0sIHtAbGluayBEYXRlVGltZSN1dGN9LCBhbmQgKG1vc3QgZmxleGlibHkpIHtAbGluayBEYXRlVGltZSNmcm9tT2JqZWN0fS4gVG8gY3JlYXRlIG9uZSBmcm9tIGEgc3RhbmRhcmQgc3RyaW5nIGZvcm1hdCwgdXNlIHtAbGluayBEYXRlVGltZSNmcm9tSVNPfSwge0BsaW5rIERhdGVUaW1lI2Zyb21IVFRQfSwgYW5kIHtAbGluayBEYXRlVGltZSNmcm9tUkZDMjgyMn0uIFRvIGNyZWF0ZSBvbmUgZnJvbSBhIGN1c3RvbSBzdHJpbmcgZm9ybWF0LCB1c2Uge0BsaW5rIERhdGVUaW1lI2Zyb21Gb3JtYXR9LiBUbyBjcmVhdGUgb25lIGZyb20gYSBuYXRpdmUgSlMgZGF0ZSwgdXNlIHtAbGluayBEYXRlVGltZSNmcm9tSlNEYXRlfS5cbiAqICogKipHcmVnb3JpYW4gY2FsZW5kYXIgYW5kIHRpbWUqKjogVG8gZXhhbWluZSB0aGUgR3JlZ29yaWFuIHByb3BlcnRpZXMgb2YgYSBEYXRlVGltZSBpbmRpdmlkdWFsbHkgKGkuZSBhcyBvcHBvc2VkIHRvIGNvbGxlY3RpdmVseSB0aHJvdWdoIHtAbGluayBEYXRlVGltZSN0b09iamVjdH0pLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN5ZWFyfSwge0BsaW5rIERhdGVUaW1lI21vbnRofSxcbiAqIHtAbGluayBEYXRlVGltZSNkYXl9LCB7QGxpbmsgRGF0ZVRpbWUjaG91cn0sIHtAbGluayBEYXRlVGltZSNtaW51dGV9LCB7QGxpbmsgRGF0ZVRpbWUjc2Vjb25kfSwge0BsaW5rIERhdGVUaW1lI21pbGxpc2Vjb25kfSBhY2Nlc3NvcnMuXG4gKiAqICoqV2VlayBjYWxlbmRhcioqOiBGb3IgSVNPIHdlZWsgY2FsZW5kYXIgYXR0cmlidXRlcywgc2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjd2Vla1llYXJ9LCB7QGxpbmsgRGF0ZVRpbWUjd2Vla051bWJlcn0sIGFuZCB7QGxpbmsgRGF0ZVRpbWUjd2Vla2RheX0gYWNjZXNzb3JzLlxuICogKiAqKkNvbmZpZ3VyYXRpb24qKiBTZWUgdGhlIHtAbGluayBEYXRlVGltZSNsb2NhbGV9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjbnVtYmVyaW5nU3lzdGVtfSBhY2Nlc3NvcnMuXG4gKiAqICoqVHJhbnNmb3JtYXRpb24qKjogVG8gdHJhbnNmb3JtIHRoZSBEYXRlVGltZSBpbnRvIG90aGVyIERhdGVUaW1lcywgdXNlIHtAbGluayBEYXRlVGltZSNzZXR9LCB7QGxpbmsgRGF0ZVRpbWUjcmVjb25maWd1cmV9LCB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0sIHtAbGluayBEYXRlVGltZSNzZXRMb2NhbGV9LCB7QGxpbmsgRGF0ZVRpbWUucGx1c30sIHtAbGluayBEYXRlVGltZSNtaW51c30sIHtAbGluayBEYXRlVGltZSNlbmRPZn0sIHtAbGluayBEYXRlVGltZSNzdGFydE9mfSwge0BsaW5rIERhdGVUaW1lI3RvVVRDfSwgYW5kIHtAbGluayBEYXRlVGltZSN0b0xvY2FsfS5cbiAqICogKipPdXRwdXQqKjogVG8gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN0b1JlbGF0aXZlfSwge0BsaW5rIERhdGVUaW1lI3RvUmVsYXRpdmVDYWxlbmRhcn0sIHtAbGluayBEYXRlVGltZSN0b0pTT059LCB7QGxpbmsgRGF0ZVRpbWUjdG9JU099LCB7QGxpbmsgRGF0ZVRpbWUjdG9IVFRQfSwge0BsaW5rIERhdGVUaW1lI3RvT2JqZWN0fSwge0BsaW5rIERhdGVUaW1lI3RvUkZDMjgyMn0sIHtAbGluayBEYXRlVGltZSN0b1N0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0sIHtAbGluayBEYXRlVGltZSN0b01pbGxpc30gYW5kIHtAbGluayBEYXRlVGltZSN0b0pTRGF0ZX0uXG4gKlxuICogVGhlcmUncyBwbGVudHkgb3RoZXJzIGRvY3VtZW50ZWQgYmVsb3cuIEluIGFkZGl0aW9uLCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzdWJ0bGVyIHRvcGljcyBsaWtlIGludGVybmF0aW9uYWxpemF0aW9uLCB0aW1lIHpvbmVzLCBhbHRlcm5hdGl2ZSBjYWxlbmRhcnMsIHZhbGlkaXR5LCBhbmQgc28gb24sIHNlZSB0aGUgZXh0ZXJuYWwgZG9jdW1lbnRhdGlvbi5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0ZVRpbWUge1xuICAvKipcbiAgICogQGFjY2VzcyBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBjb25zdCB6b25lID0gY29uZmlnLnpvbmUgfHwgU2V0dGluZ3MuZGVmYXVsdFpvbmU7XG5cbiAgICBsZXQgaW52YWxpZCA9XG4gICAgICBjb25maWcuaW52YWxpZCB8fFxuICAgICAgKE51bWJlci5pc05hTihjb25maWcudHMpID8gbmV3IEludmFsaWQoXCJpbnZhbGlkIGlucHV0XCIpIDogbnVsbCkgfHxcbiAgICAgICghem9uZS5pc1ZhbGlkID8gdW5zdXBwb3J0ZWRab25lKHpvbmUpIDogbnVsbCk7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy50cyA9IGlzVW5kZWZpbmVkKGNvbmZpZy50cykgPyBTZXR0aW5ncy5ub3coKSA6IGNvbmZpZy50cztcblxuICAgIGxldCBjID0gbnVsbCxcbiAgICAgIG8gPSBudWxsO1xuICAgIGlmICghaW52YWxpZCkge1xuICAgICAgY29uc3QgdW5jaGFuZ2VkID0gY29uZmlnLm9sZCAmJiBjb25maWcub2xkLnRzID09PSB0aGlzLnRzICYmIGNvbmZpZy5vbGQuem9uZS5lcXVhbHMoem9uZSk7XG5cbiAgICAgIGlmICh1bmNoYW5nZWQpIHtcbiAgICAgICAgW2MsIG9dID0gW2NvbmZpZy5vbGQuYywgY29uZmlnLm9sZC5vXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG90ID0gem9uZS5vZmZzZXQodGhpcy50cyk7XG4gICAgICAgIGMgPSB0c1RvT2JqKHRoaXMudHMsIG90KTtcbiAgICAgICAgaW52YWxpZCA9IE51bWJlci5pc05hTihjLnllYXIpID8gbmV3IEludmFsaWQoXCJpbnZhbGlkIGlucHV0XCIpIDogbnVsbDtcbiAgICAgICAgYyA9IGludmFsaWQgPyBudWxsIDogYztcbiAgICAgICAgbyA9IGludmFsaWQgPyBudWxsIDogb3Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5fem9uZSA9IHpvbmU7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5sb2MgPSBjb25maWcubG9jIHx8IExvY2FsZS5jcmVhdGUoKTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBpbnZhbGlkO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMud2Vla0RhdGEgPSBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuYyA9IGM7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5vID0gbztcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmlzTHV4b25EYXRlVGltZSA9IHRydWU7XG4gIH1cblxuICAvLyBDT05TVFJVQ1RcblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZm9yIHRoZSBjdXJyZW50IGluc3RhbnQsIGluIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUuXG4gICAqXG4gICAqIFVzZSBTZXR0aW5ncyB0byBvdmVycmlkZSB0aGVzZSBkZWZhdWx0IHZhbHVlcyBpZiBuZWVkZWQuXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvSVNPKCkgLy9+PiBub3cgaW4gdGhlIElTTyBmb3JtYXRcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgbm93KCkge1xuICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe30pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGxvY2FsIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYGxvY2FsKClgIHdpdGggbm8gYXJndW1lbnRzKSwgdGhlIGN1cnJlbnQgdGltZSB3aWxsIGJlIHVzZWRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFttb250aD0xXSAtIFRoZSBtb250aCwgMS1pbmRleGVkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbZGF5PTFdIC0gVGhlIGRheSBvZiB0aGUgbW9udGgsIDEtaW5kZXhlZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWVcbiAgICogQHBhcmFtIHtudW1iZXJ9IFttaW51dGU9MF0gLSBUaGUgbWludXRlIG9mIHRoZSBob3VyLCBtZWFuaW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgNTlcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzZWNvbmQ9MF0gLSBUaGUgc2Vjb25kIG9mIHRoZSBtaW51dGUsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA1OVxuICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vd1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCh7IHpvbmU6IFwiQW1lcmljYS9OZXdfWW9ya1wiIH0pICAgICAgLy9+PiBub3csIGluIFVTIGVhc3QgY29hc3QgdGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMS0wMVQwMDowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0wMVQwMDowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgeyBsb2NhbGU6IFwiZnJcIiB9KSAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwLCB3aXRoIGEgRnJlbmNoIGxvY2FsZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSkgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgeyB6b25lOiBcInV0Y1wiIH0pICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwLCBpbiBVVENcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1KSAgICAgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MDBcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCkgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTBcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCwgNzY1KSAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAuNzY1XG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc3RhdGljIGxvY2FsKCkge1xuICAgIGNvbnN0IFtvcHRzLCBhcmdzXSA9IGxhc3RPcHRzKGFyZ3VtZW50cyksXG4gICAgICBbeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXSA9IGFyZ3M7XG4gICAgcmV0dXJuIHF1aWNrRFQoeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgfSwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgaW4gVVRDXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYHV0YygpYCB3aXRoIG5vIGFyZ3VtZW50cyksIHRoZSBjdXJyZW50IHRpbWUgd2lsbCBiZSB1c2VkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbW9udGg9MV0gLSBUaGUgbW9udGgsIDEtaW5kZXhlZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2RheT0xXSAtIFRoZSBkYXkgb2YgdGhlIG1vbnRoXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbaG91cj0wXSAtIFRoZSBob3VyIG9mIHRoZSBkYXksIGluIDI0LWhvdXIgdGltZVxuICAgKiBAcGFyYW0ge251bWJlcn0gW21pbnV0ZT0wXSAtIFRoZSBtaW51dGUgb2YgdGhlIGhvdXIsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA1OVxuICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbWlsbGlzZWNvbmQ9MF0gLSBUaGUgbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDk5OVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5sb2NhbGVdIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm91dHB1dENhbGVuZGFyXSAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm51bWJlcmluZ1N5c3RlbV0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vd1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDEtMDFUMDA6MDA6MDBaXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0wMVQwMDowMDowMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwWlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNywgMywgMTIsIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6MDA6MDBaXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzLCAxMiwgNSwgNDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NTowMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgeyBsb2NhbGU6IFwiZnJcIiB9KSAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MDBaIHdpdGggYSBGcmVuY2ggbG9jYWxlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzLCAxMiwgNSwgNDUsIDEwKSAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NToxMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSwgeyBsb2NhbGU6IFwiZnJcIiB9KSAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAuNzY1WiB3aXRoIGEgRnJlbmNoIGxvY2FsZVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyB1dGMoKSB7XG4gICAgY29uc3QgW29wdHMsIGFyZ3NdID0gbGFzdE9wdHMoYXJndW1lbnRzKSxcbiAgICAgIFt5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmRdID0gYXJncztcblxuICAgIG9wdHMuem9uZSA9IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZTtcbiAgICByZXR1cm4gcXVpY2tEVCh7IHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCB9LCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgSmF2YVNjcmlwdCBEYXRlIG9iamVjdC4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLlxuICAgKiBAcGFyYW0ge0RhdGV9IGRhdGUgLSBhIEphdmFTY3JpcHQgRGF0ZSBvYmplY3RcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTRGF0ZShkYXRlLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB0cyA9IGlzRGF0ZShkYXRlKSA/IGRhdGUudmFsdWVPZigpIDogTmFOO1xuICAgIGlmIChOdW1iZXIuaXNOYU4odHMpKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcImludmFsaWQgaW5wdXRcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgem9uZVRvVXNlID0gbm9ybWFsaXplWm9uZShvcHRpb25zLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgICBpZiAoIXpvbmVUb1VzZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZVRvVXNlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7XG4gICAgICB0czogdHMsXG4gICAgICB6b25lOiB6b25lVG9Vc2UsXG4gICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCAobWVhbmluZyBzaW5jZSAxIEphbnVhcnkgMTk3MCAwMDowMDowMCBVVEMpLiBVc2VzIHRoZSBkZWZhdWx0IHpvbmUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaWxsaXNlY29uZHMgLSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MCBVVENcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbU1pbGxpcyhtaWxsaXNlY29uZHMsIG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghaXNOdW1iZXIobWlsbGlzZWNvbmRzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgZnJvbU1pbGxpcyByZXF1aXJlcyBhIG51bWVyaWNhbCBpbnB1dCwgYnV0IHJlY2VpdmVkIGEgJHt0eXBlb2YgbWlsbGlzZWNvbmRzfSB3aXRoIHZhbHVlICR7bWlsbGlzZWNvbmRzfWBcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChtaWxsaXNlY29uZHMgPCAtTUFYX0RBVEUgfHwgbWlsbGlzZWNvbmRzID4gTUFYX0RBVEUpIHtcbiAgICAgIC8vIHRoaXMgaXNuJ3QgcGVyZmVjdCBiZWNhdXNlIGJlY2F1c2Ugd2UgY2FuIHN0aWxsIGVuZCB1cCBvdXQgb2YgcmFuZ2UgYmVjYXVzZSBvZiBhZGRpdGlvbmFsIHNoaWZ0aW5nLCBidXQgaXQncyBhIHN0YXJ0XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcIlRpbWVzdGFtcCBvdXQgb2YgcmFuZ2VcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe1xuICAgICAgICB0czogbWlsbGlzZWNvbmRzLFxuICAgICAgICB6b25lOiBub3JtYWxpemVab25lKG9wdGlvbnMuem9uZSwgU2V0dGluZ3MuZGVmYXVsdFpvbmUpLFxuICAgICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2ggKG1lYW5pbmcgc2luY2UgMSBKYW51YXJ5IDE5NzAgMDA6MDA6MDAgVVRDKS4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2Vjb25kcyAtIGEgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMTk3MCBVVENcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbVNlY29uZHMoc2Vjb25kcywgb3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKCFpc051bWJlcihzZWNvbmRzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwiZnJvbVNlY29uZHMgcmVxdWlyZXMgYSBudW1lcmljYWwgaW5wdXRcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe1xuICAgICAgICB0czogc2Vjb25kcyAqIDEwMDAsXG4gICAgICAgIHpvbmU6IG5vcm1hbGl6ZVpvbmUob3B0aW9ucy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksXG4gICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGgga2V5cyBsaWtlICd5ZWFyJyBhbmQgJ2hvdXInIHdpdGggcmVhc29uYWJsZSBkZWZhdWx0cy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9iaiAtIHRoZSBvYmplY3QgdG8gY3JlYXRlIHRoZSBEYXRlVGltZSBmcm9tXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoueWVhciAtIGEgeWVhciwgc3VjaCBhcyAxOTg3XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubW9udGggLSBhIG1vbnRoLCAxLTEyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmouZGF5IC0gYSBkYXkgb2YgdGhlIG1vbnRoLCAxLTMxLCBkZXBlbmRpbmcgb24gdGhlIG1vbnRoXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoub3JkaW5hbCAtIGRheSBvZiB0aGUgeWVhciwgMS0zNjUgb3IgMzY2XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla1llYXIgLSBhbiBJU08gd2VlayB5ZWFyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla051bWJlciAtIGFuIElTTyB3ZWVrIG51bWJlciwgYmV0d2VlbiAxIGFuZCA1MiBvciA1MywgZGVwZW5kaW5nIG9uIHRoZSB5ZWFyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla2RheSAtIGFuIElTTyB3ZWVrZGF5LCAxLTcsIHdoZXJlIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLmhvdXIgLSBob3VyIG9mIHRoZSBkYXksIDAtMjNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taW51dGUgLSBtaW51dGUgb2YgdGhlIGhvdXIsIDAtNTlcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmQgLSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgMC01OVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbGxpc2Vjb25kIC0gbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCwgMC05OTlcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGlzIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBpbnRlcnByZXQgdGhlIG51bWJlcnMgaW4gdGhlIGNvbnRleHQgb2YgYSBwYXJ0aWN1bGFyIHpvbmUuIENhbiB0YWtlIGFueSB2YWx1ZSB0YWtlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gc2V0Wm9uZSgpXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiAxOTgyLCBtb250aDogNSwgZGF5OiAyNX0pLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDUtMjUnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiAxOTgyIH0pLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDEtMDEnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0pIC8vfj4gdG9kYXkgYXQgMTA6MjY6MDZcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IGhvdXI6IDEwLCBtaW51dGU6IDI2LCBzZWNvbmQ6IDYgfSwgeyB6b25lOiAndXRjJyB9KSxcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IGhvdXI6IDEwLCBtaW51dGU6IDI2LCBzZWNvbmQ6IDYgfSwgeyB6b25lOiAnbG9jYWwnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ0FtZXJpY2EvTmV3X1lvcmsnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB3ZWVrWWVhcjogMjAxNiwgd2Vla051bWJlcjogMiwgd2Vla2RheTogMyB9KS50b0lTT0RhdGUoKSAvLz0+ICcyMDE2LTAxLTEzJ1xuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tT2JqZWN0KG9iaiwgb3B0cyA9IHt9KSB7XG4gICAgb2JqID0gb2JqIHx8IHt9O1xuICAgIGNvbnN0IHpvbmVUb1VzZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7XG4gICAgaWYgKCF6b25lVG9Vc2UuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmVUb1VzZSkpO1xuICAgIH1cblxuICAgIGNvbnN0IHRzTm93ID0gU2V0dGluZ3Mubm93KCksXG4gICAgICBvZmZzZXRQcm92aXMgPSAhaXNVbmRlZmluZWQob3B0cy5zcGVjaWZpY09mZnNldClcbiAgICAgICAgPyBvcHRzLnNwZWNpZmljT2Zmc2V0XG4gICAgICAgIDogem9uZVRvVXNlLm9mZnNldCh0c05vdyksXG4gICAgICBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KG9iaiwgbm9ybWFsaXplVW5pdCksXG4gICAgICBjb250YWluc09yZGluYWwgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yWWVhciA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLnllYXIpLFxuICAgICAgY29udGFpbnNHcmVnb3JNRCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm1vbnRoKSB8fCAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5kYXkpLFxuICAgICAgY29udGFpbnNHcmVnb3IgPSBjb250YWluc0dyZWdvclllYXIgfHwgY29udGFpbnNHcmVnb3JNRCxcbiAgICAgIGRlZmluaXRlV2Vla0RlZiA9IG5vcm1hbGl6ZWQud2Vla1llYXIgfHwgbm9ybWFsaXplZC53ZWVrTnVtYmVyLFxuICAgICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyk7XG5cbiAgICAvLyBjYXNlczpcbiAgICAvLyBqdXN0IGEgd2Vla2RheSAtPiB0aGlzIHdlZWsncyBpbnN0YW5jZSBvZiB0aGF0IHdlZWtkYXksIG5vIHdvcnJpZXNcbiAgICAvLyAoZ3JlZ29yaWFuIGRhdGEgb3Igb3JkaW5hbCkgKyAod2Vla1llYXIgb3Igd2Vla051bWJlcikgLT4gZXJyb3JcbiAgICAvLyAoZ3JlZ29yaWFuIG1vbnRoIG9yIGRheSkgKyBvcmRpbmFsIC0+IGVycm9yXG4gICAgLy8gb3RoZXJ3aXNlIGp1c3QgdXNlIHdlZWtzIG9yIG9yZGluYWxzIG9yIGdyZWdvcmlhbiwgZGVwZW5kaW5nIG9uIHdoYXQncyBzcGVjaWZpZWRcblxuICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcihcbiAgICAgICAgXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VXZWVrRGF0YSA9IGRlZmluaXRlV2Vla0RlZiB8fCAobm9ybWFsaXplZC53ZWVrZGF5ICYmICFjb250YWluc0dyZWdvcik7XG5cbiAgICAvLyBjb25maWd1cmUgb3Vyc2VsdmVzIHRvIGRlYWwgd2l0aCBncmVnb3JpYW4gZGF0ZXMgb3Igd2VlayBzdHVmZlxuICAgIGxldCB1bml0cyxcbiAgICAgIGRlZmF1bHRWYWx1ZXMsXG4gICAgICBvYmpOb3cgPSB0c1RvT2JqKHRzTm93LCBvZmZzZXRQcm92aXMpO1xuICAgIGlmICh1c2VXZWVrRGF0YSkge1xuICAgICAgdW5pdHMgPSBvcmRlcmVkV2Vla1VuaXRzO1xuICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRXZWVrVW5pdFZhbHVlcztcbiAgICAgIG9iak5vdyA9IGdyZWdvcmlhblRvV2VlayhvYmpOb3cpO1xuICAgIH0gZWxzZSBpZiAoY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB1bml0cyA9IG9yZGVyZWRPcmRpbmFsVW5pdHM7XG4gICAgICBkZWZhdWx0VmFsdWVzID0gZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzO1xuICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9PcmRpbmFsKG9iak5vdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuaXRzID0gb3JkZXJlZFVuaXRzO1xuICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRVbml0VmFsdWVzO1xuICAgIH1cblxuICAgIC8vIHNldCBkZWZhdWx0IHZhbHVlcyBmb3IgbWlzc2luZyBzdHVmZlxuICAgIGxldCBmb3VuZEZpcnN0ID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCB1IG9mIHVuaXRzKSB7XG4gICAgICBjb25zdCB2ID0gbm9ybWFsaXplZFt1XTtcbiAgICAgIGlmICghaXNVbmRlZmluZWQodikpIHtcbiAgICAgICAgZm91bmRGaXJzdCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGZvdW5kRmlyc3QpIHtcbiAgICAgICAgbm9ybWFsaXplZFt1XSA9IGRlZmF1bHRWYWx1ZXNbdV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub3JtYWxpemVkW3VdID0gb2JqTm93W3VdO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgdmFsdWVzIHdlIGhhdmUgYXJlIGluIHJhbmdlXG4gICAgY29uc3QgaGlnaGVyT3JkZXJJbnZhbGlkID0gdXNlV2Vla0RhdGFcbiAgICAgICAgPyBoYXNJbnZhbGlkV2Vla0RhdGEobm9ybWFsaXplZClcbiAgICAgICAgOiBjb250YWluc09yZGluYWxcbiAgICAgICAgPyBoYXNJbnZhbGlkT3JkaW5hbERhdGEobm9ybWFsaXplZClcbiAgICAgICAgOiBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YShub3JtYWxpemVkKSxcbiAgICAgIGludmFsaWQgPSBoaWdoZXJPcmRlckludmFsaWQgfHwgaGFzSW52YWxpZFRpbWVEYXRhKG5vcm1hbGl6ZWQpO1xuXG4gICAgaWYgKGludmFsaWQpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKGludmFsaWQpO1xuICAgIH1cblxuICAgIC8vIGNvbXB1dGUgdGhlIGFjdHVhbCB0aW1lXG4gICAgY29uc3QgZ3JlZ29yaWFuID0gdXNlV2Vla0RhdGFcbiAgICAgICAgPyB3ZWVrVG9HcmVnb3JpYW4obm9ybWFsaXplZClcbiAgICAgICAgOiBjb250YWluc09yZGluYWxcbiAgICAgICAgPyBvcmRpbmFsVG9HcmVnb3JpYW4obm9ybWFsaXplZClcbiAgICAgICAgOiBub3JtYWxpemVkLFxuICAgICAgW3RzRmluYWwsIG9mZnNldEZpbmFsXSA9IG9ialRvVFMoZ3JlZ29yaWFuLCBvZmZzZXRQcm92aXMsIHpvbmVUb1VzZSksXG4gICAgICBpbnN0ID0gbmV3IERhdGVUaW1lKHtcbiAgICAgICAgdHM6IHRzRmluYWwsXG4gICAgICAgIHpvbmU6IHpvbmVUb1VzZSxcbiAgICAgICAgbzogb2Zmc2V0RmluYWwsXG4gICAgICAgIGxvYyxcbiAgICAgIH0pO1xuXG4gICAgLy8gZ3JlZ29yaWFuIGRhdGEgKyB3ZWVrZGF5IHNlcnZlcyBvbmx5IHRvIHZhbGlkYXRlXG4gICAgaWYgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiBjb250YWluc0dyZWdvciAmJiBvYmoud2Vla2RheSAhPT0gaW5zdC53ZWVrZGF5KSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcbiAgICAgICAgXCJtaXNtYXRjaGVkIHdlZWtkYXlcIixcbiAgICAgICAgYHlvdSBjYW4ndCBzcGVjaWZ5IGJvdGggYSB3ZWVrZGF5IG9mICR7bm9ybWFsaXplZC53ZWVrZGF5fSBhbmQgYSBkYXRlIG9mICR7aW5zdC50b0lTTygpfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBJU08gODYwMSBzdHJpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgSVNPIHN0cmluZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0cy56b25lPSdsb2NhbCddIC0gdXNlIHRoaXMgem9uZSBpZiBubyBvZmZzZXQgaXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dCBzdHJpbmcgaXRzZWxmLiBXaWxsIGFsc28gY29udmVydCB0aGUgdGltZSB0byB0aGlzIHpvbmVcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nc3lzdGVtJ3MgbG9jYWxlJ10gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXJdIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtMDUtMjVUMDk6MDg6MzQuMTIzJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUlTTygnMjAxNi0wNS0yNVQwOTowODozNC4xMjMrMDY6MDAnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcsIHtzZXRab25lOiB0cnVlfSlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUlTTygnMjAxNi0wNS0yNVQwOTowODozNC4xMjMnLCB7em9uZTogJ3V0Yyd9KVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LVcwNS00JylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzID0ge30pIHtcbiAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZUlTT0RhdGUodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgXCJJU08gODYwMVwiLCB0ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIFJGQyAyODIyIHN0cmluZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBSRkMgMjgyMiBzdHJpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIGNvbnZlcnQgdGhlIHRpbWUgdG8gdGhpcyB6b25lLiBTaW5jZSB0aGUgb2Zmc2V0IGlzIGFsd2F5cyBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIHRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgaW50ZXJwcmV0YXRpb24gb2Ygc3RyaW5nLCBtZXJlbHkgdGhlIHpvbmUgdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpcyBleHByZXNzZWQgaW4uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgZml4ZWQtb2Zmc2V0IHpvbmUgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCBpZiBpdCBzcGVjaWZpZXMgb25lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMzoxMiBHTVQnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tUkZDMjgyMignRnJpLCAyNSBOb3YgMjAxNiAxMzoyMzoxMiArMDYwMCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMyBaJylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbVJGQzI4MjIodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VSRkMyODIyRGF0ZSh0ZXh0KTtcbiAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBcIlJGQyAyODIyXCIsIHRleHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYW4gSFRUUCBoZWFkZXIgZGF0ZVxuICAgKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzMuaHRtbCNzZWMzLjMuMVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBIVFRQIGhlYWRlciBkYXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0byBhZmZlY3QgdGhlIGNyZWF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZS4gU2luY2UgSFRUUCBkYXRlcyBhcmUgYWx3YXlzIGluIFVUQywgdGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBzdHJpbmcsIG1lcmVseSB0aGUgem9uZSB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGlzIGV4cHJlc3NlZCBpbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggdGhlIGZpeGVkLW9mZnNldCB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nLiBGb3IgSFRUUCBkYXRlcywgdGhpcyBpcyBhbHdheXMgVVRDLCBzbyB0aGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcgdGhlIGB6b25lYCBvcHRpb24gdG8gJ3V0YycsIGJ1dCB0aGlzIG9wdGlvbiBpcyBpbmNsdWRlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCBzaW1pbGFyIG1ldGhvZHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21IVFRQKCdTdW4sIDA2IE5vdiAxOTk0IDA4OjQ5OjM3IEdNVCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21IVFRQKCdTdW5kYXksIDA2LU5vdi05NCAwODo0OTozNyBHTVQnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuIE5vdiAgNiAwODo0OTozNyAxOTk0JylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUhUVFAodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VIVFRQRGF0ZSh0ZXh0KTtcbiAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBcIkhUVFBcIiwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBpbnB1dCBzdHJpbmcgYW5kIGZvcm1hdCBzdHJpbmcuXG4gICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4gRm9yIGEgdGFibGUgb2YgdG9rZW5zIGFuZCB0aGVpciBpbnRlcnByZXRhdGlvbnMsIHNlZSBbaGVyZV0oaHR0cHM6Ly9tb21lbnQuZ2l0aHViLmlvL2x1eG9uLyMvcGFyc2luZz9pZD10YWJsZS1vZi10b2tlbnMpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIHRoZSBsaW5rIGJlbG93IGZvciB0aGUgZm9ybWF0cylcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIHVzZSB0aGlzIHpvbmUgaWYgbm8gb2Zmc2V0IGlzIHNwZWNpZmllZCBpbiB0aGUgaW5wdXQgc3RyaW5nIGl0c2VsZi4gV2lsbCBhbHNvIGNvbnZlcnQgdGhlIERhdGVUaW1lIHRvIHRoaXMgem9uZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnNldFpvbmU9ZmFsc2VdIC0gb3ZlcnJpZGUgdGhlIHpvbmUgd2l0aCBhIHpvbmUgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCBpZiBpdCBzcGVjaWZpZXMgb25lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSBhIGxvY2FsZSBzdHJpbmcgdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyBsb2NhbGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIHRvIHRoaXMgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUZvcm1hdCh0ZXh0LCBmbXQsIG9wdHMgPSB7fSkge1xuICAgIGlmIChpc1VuZGVmaW5lZCh0ZXh0KSB8fCBpc1VuZGVmaW5lZChmbXQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJmcm9tRm9ybWF0IHJlcXVpcmVzIGFuIGlucHV0IHN0cmluZyBhbmQgYSBmb3JtYXRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsIH0gPSBvcHRzLFxuICAgICAgbG9jYWxlVG9Vc2UgPSBMb2NhbGUuZnJvbU9wdHMoe1xuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG51bWJlcmluZ1N5c3RlbSxcbiAgICAgICAgZGVmYXVsdFRvRU46IHRydWUsXG4gICAgICB9KSxcbiAgICAgIFt2YWxzLCBwYXJzZWRab25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZF0gPSBwYXJzZUZyb21Ub2tlbnMobG9jYWxlVG9Vc2UsIHRleHQsIGZtdCk7XG4gICAgaWYgKGludmFsaWQpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKGludmFsaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBgZm9ybWF0ICR7Zm10fWAsIHRleHQsIHNwZWNpZmljT2Zmc2V0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGZyb21Gb3JtYXQgaW5zdGVhZFxuICAgKi9cbiAgc3RhdGljIGZyb21TdHJpbmcodGV4dCwgZm10LCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdCh0ZXh0LCBmbXQsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBTUUwgZGF0ZSwgdGltZSwgb3IgZGF0ZXRpbWVcbiAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIHN0cmluZyB0byBwYXJzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0cy56b25lPSdsb2NhbCddIC0gdXNlIHRoaXMgem9uZSBpZiBubyBvZmZzZXQgaXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dCBzdHJpbmcgaXRzZWxmLiBXaWxsIGFsc28gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyB6b25lXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIGEgbG9jYWxlIHN0cmluZyB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSBEYXRlVGltZSB0byB0aGlzIGxvY2FsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgdG8gdGhpcyBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1JylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzIwMTctMDUtMTUgMDk6MTI6MzQuMzQyJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIrMDY6MDAnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MiBBbWVyaWNhL0xvc19BbmdlbGVzJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIgQW1lcmljYS9Mb3NfQW5nZWxlcycsIHsgc2V0Wm9uZTogdHJ1ZSB9KVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MicsIHsgem9uZTogJ0FtZXJpY2EvTG9zX0FuZ2VsZXMnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzA5OjEyOjM0LjM0MicpXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc3RhdGljIGZyb21TUUwodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VTUUwodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgXCJTUUxcIiwgdGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGludmFsaWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWFzb24gLSBzaW1wbGUgc3RyaW5nIG9mIHdoeSB0aGlzIERhdGVUaW1lIGlzIGludmFsaWQuIFNob3VsZCBub3QgY29udGFpbiBwYXJhbWV0ZXJzIG9yIGFueXRoaW5nIGVsc2UgZGF0YS1kZXBlbmRlbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtleHBsYW5hdGlvbj1udWxsXSAtIGxvbmdlciBleHBsYW5hdGlvbiwgbWF5IGluY2x1ZGUgcGFyYW1ldGVycyBhbmQgb3RoZXIgdXNlZnVsIGRlYnVnZ2luZyBpbmZvcm1hdGlvblxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyBpbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24gPSBudWxsKSB7XG4gICAgaWYgKCFyZWFzb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgRGF0ZVRpbWUgaXMgaW52YWxpZFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pO1xuXG4gICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZERhdGVUaW1lRXJyb3IoaW52YWxpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoeyBpbnZhbGlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgRGF0ZVRpbWUuIFdvcmtzIGFjcm9zcyBjb250ZXh0IGJvdW5kYXJpZXNcbiAgICogQHBhcmFtIHtvYmplY3R9IG9cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBpc0RhdGVUaW1lKG8pIHtcbiAgICByZXR1cm4gKG8gJiYgby5pc0x1eG9uRGF0ZVRpbWUpIHx8IGZhbHNlO1xuICB9XG5cbiAgLy8gSU5GT1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbHVlIG9mIHVuaXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gYSB1bml0IHN1Y2ggYXMgJ21pbnV0ZScgb3IgJ2RheSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdtb250aCcpOyAvLz0+IDdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdkYXknKTsgLy89PiA0XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGdldCh1bml0KSB7XG4gICAgcmV0dXJuIHRoaXNbdW5pdF07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBEYXRlVGltZSBpcyB2YWxpZC4gSW52YWxpZCBEYXRlVGltZXMgb2NjdXIgd2hlbjpcbiAgICogKiBUaGUgRGF0ZVRpbWUgd2FzIGNyZWF0ZWQgZnJvbSBpbnZhbGlkIGNhbGVuZGFyIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSAxM3RoIG1vbnRoIG9yIEZlYnJ1YXJ5IDMwXG4gICAqICogVGhlIERhdGVUaW1lIHdhcyBjcmVhdGVkIGJ5IGFuIG9wZXJhdGlvbiBvbiBhbm90aGVyIGludmFsaWQgZGF0ZVxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBlcnJvciBjb2RlIGlmIHRoaXMgRGF0ZVRpbWUgaXMgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRGF0ZVRpbWUgaXMgdmFsaWRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCBpbnZhbGlkUmVhc29uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQucmVhc29uIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIERhdGVUaW1lIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBEYXRlVGltZSBpcyB2YWxpZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRFeHBsYW5hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gdGhpcy5pbnZhbGlkLmV4cGxhbmF0aW9uIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxvY2FsZSBvZiBhIERhdGVUaW1lLCBzdWNoICdlbi1HQicuIFRoZSBsb2NhbGUgaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyaW5nIHN5c3RlbSBvZiBhIERhdGVUaW1lLCBzdWNoICdiZW5nJy4gVGhlIG51bWJlcmluZyBzeXN0ZW0gaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgb3V0cHV0IGNhbGVuZGFyIG9mIGEgRGF0ZVRpbWUsIHN1Y2ggJ2lzbGFtaWMnLiBUaGUgb3V0cHV0IGNhbGVuZGFyIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZVxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG91dHB1dENhbGVuZGFyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0aW1lIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgRGF0ZVRpbWUuXG4gICAqIEB0eXBlIHtab25lfVxuICAgKi9cbiAgZ2V0IHpvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3pvbmU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSB0aW1lIHpvbmUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgem9uZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuem9uZS5uYW1lIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLnllYXIgLy89PiAyMDE3XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgeWVhcigpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnllYXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBxdWFydGVyXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5xdWFydGVyIC8vPT4gMlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHF1YXJ0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IE1hdGguY2VpbCh0aGlzLmMubW9udGggLyAzKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1vbnRoICgxLTEyKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm1vbnRoIC8vPT4gNVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IG1vbnRoKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubW9udGggOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIG1vbnRoICgxLTMwaXNoKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLmRheSAvLz0+IDI1XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgZGF5KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMuZGF5IDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaG91ciBvZiB0aGUgZGF5ICgwLTIzKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDkpLmhvdXIgLy89PiA5XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgaG91cigpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLmhvdXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtaW51dGUgb2YgdGhlIGhvdXIgKDAtNTkpLlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzApLm1pbnV0ZSAvLz0+IDMwXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbWludXRlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWludXRlIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2Vjb25kIG9mIHRoZSBtaW51dGUgKDAtNTkpLlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzAsIDUyKS5zZWNvbmQgLy89PiA1MlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHNlY29uZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnNlY29uZCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQgKDAtOTk5KS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwLCA1MiwgNjU0KS5taWxsaXNlY29uZCAvLz0+IDY1NFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IG1pbGxpc2Vjb25kKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWlsbGlzZWNvbmQgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3ZWVrIHllYXJcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDEyLCAzMSkud2Vla1llYXIgLy89PiAyMDE1XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla1llYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla1llYXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3ZWVrIG51bWJlciBvZiB0aGUgd2VlayB5ZWFyICgxLTUyaXNoKS5cbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS53ZWVrTnVtYmVyIC8vPT4gMjFcbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIGdldCB3ZWVrTnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKHRoaXMpLndlZWtOdW1iZXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIHdlZWsuXG4gICAqIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheVxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMTEsIDMxKS53ZWVrZGF5IC8vPT4gNFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHdlZWtkYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla2RheSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG9yZGluYWwgKG1lYW5pbmcgdGhlIGRheSBvZiB0aGUgeWVhcilcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm9yZGluYWwgLy89PiAxNDVcbiAgICogQHR5cGUge251bWJlcnxEYXRlVGltZX1cbiAgICovXG4gIGdldCBvcmRpbmFsKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKS5vcmRpbmFsIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgc2hvcnQgbW9udGggbmFtZSwgc3VjaCBhcyAnT2N0Jy5cbiAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkubW9udGhTaG9ydCAvLz0+IE9jdFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG1vbnRoU2hvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ubW9udGhzKFwic2hvcnRcIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBsb25nIG1vbnRoIG5hbWUsIHN1Y2ggYXMgJ09jdG9iZXInLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS5tb250aExvbmcgLy89PiBPY3RvYmVyXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbW9udGhMb25nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLm1vbnRocyhcImxvbmdcIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBzaG9ydCB3ZWVrZGF5LCBzdWNoIGFzICdNb24nLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5U2hvcnQgLy89PiBNb25cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCB3ZWVrZGF5U2hvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ud2Vla2RheXMoXCJzaG9ydFwiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgbG9uZyB3ZWVrZGF5LCBzdWNoIGFzICdNb25kYXknLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5TG9uZyAvLz0+IE1vbmRheVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IHdlZWtkYXlMb25nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLndlZWtkYXlzKFwibG9uZ1wiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgVVRDIG9mZnNldCBvZiB0aGlzIERhdGVUaW1lIGluIG1pbnV0ZXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkub2Zmc2V0IC8vPT4gLTI0MFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5vZmZzZXQgLy89PiAwXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgb2Zmc2V0KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyArdGhpcy5vIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2hvcnQgaHVtYW4gbmFtZSBmb3IgdGhlIHpvbmUncyBjdXJyZW50IG9mZnNldCwgZm9yIGV4YW1wbGUgXCJFU1RcIiBvciBcIkVEVFwiLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCBvZmZzZXROYW1lU2hvcnQoKSB7XG4gICAgaWYgKHRoaXMuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIHRoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMsIHtcbiAgICAgICAgZm9ybWF0OiBcInNob3J0XCIsXG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbG9uZyBodW1hbiBuYW1lIGZvciB0aGUgem9uZSdzIGN1cnJlbnQgb2Zmc2V0LCBmb3IgZXhhbXBsZSBcIkVhc3Rlcm4gU3RhbmRhcmQgVGltZVwiIG9yIFwiRWFzdGVybiBEYXlsaWdodCBUaW1lXCIuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG9mZnNldE5hbWVMb25nKCkge1xuICAgIGlmICh0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnpvbmUub2Zmc2V0TmFtZSh0aGlzLnRzLCB7XG4gICAgICAgIGZvcm1hdDogXCJsb25nXCIsXG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIHRoaXMgem9uZSdzIG9mZnNldCBldmVyIGNoYW5nZXMsIGFzIGluIGEgRFNULlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc09mZnNldEZpeGVkKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnpvbmUuaXNVbml2ZXJzYWwgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIHRoZSBEYXRlVGltZSBpcyBpbiBhIERTVC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNJbkRTVCgpIHtcbiAgICBpZiAodGhpcy5pc09mZnNldEZpeGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMub2Zmc2V0ID4gdGhpcy5zZXQoeyBtb250aDogMSwgZGF5OiAxIH0pLm9mZnNldCB8fFxuICAgICAgICB0aGlzLm9mZnNldCA+IHRoaXMuc2V0KHsgbW9udGg6IDUgfSkub2Zmc2V0XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBEYXRlVGltZSBpcyBpbiBhIGxlYXAgeWVhciwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmlzSW5MZWFwWWVhciAvLz0+IHRydWVcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuaXNJbkxlYXBZZWFyIC8vPT4gZmFsc2VcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNJbkxlYXBZZWFyKCkge1xuICAgIHJldHVybiBpc0xlYXBZZWFyKHRoaXMueWVhcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRheXMgaW4gdGhpcyBEYXRlVGltZSdzIG1vbnRoXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYsIDIpLmRheXNJbk1vbnRoIC8vPT4gMjlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNiwgMykuZGF5c0luTW9udGggLy89PiAzMVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXNJbk1vbnRoKCkge1xuICAgIHJldHVybiBkYXlzSW5Nb250aCh0aGlzLnllYXIsIHRoaXMubW9udGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoaXMgRGF0ZVRpbWUncyB5ZWFyXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmRheXNJblllYXIgLy89PiAzNjZcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuZGF5c0luWWVhciAvLz0+IDM2NVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXNJblllYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IGRheXNJblllYXIodGhpcy55ZWFyKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygd2Vla3MgaW4gdGhpcyBEYXRlVGltZSdzIHllYXJcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMDQpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUzXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTMpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUyXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla3NJbldlZWtZZWFyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB3ZWVrc0luV2Vla1llYXIodGhpcy53ZWVrWWVhcikgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmVzb2x2ZWQgSW50bCBvcHRpb25zIGZvciB0aGlzIERhdGVUaW1lLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpbiB1bmRlcnN0YW5kaW5nIHRoZSBiZWhhdmlvciBvZiBmb3JtYXR0aW5nIG1ldGhvZHNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSB0aGUgc2FtZSBvcHRpb25zIGFzIHRvTG9jYWxlU3RyaW5nXG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHJlc29sdmVkTG9jYWxlT3B0aW9ucyhvcHRzID0ge30pIHtcbiAgICBjb25zdCB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhciB9ID0gRm9ybWF0dGVyLmNyZWF0ZShcbiAgICAgIHRoaXMubG9jLmNsb25lKG9wdHMpLFxuICAgICAgb3B0c1xuICAgICkucmVzb2x2ZWRPcHRpb25zKHRoaXMpO1xuICAgIHJldHVybiB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcjogY2FsZW5kYXIgfTtcbiAgfVxuXG4gIC8vIFRSQU5TRk9STVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gVVRDLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8ge0BsaW5rIERhdGVUaW1lI3NldFpvbmV9KCd1dGMnKVxuICAgKiBAcGFyYW0ge251bWJlcn0gW29mZnNldD0wXSAtIG9wdGlvbmFsbHksIGFuIG9mZnNldCBmcm9tIFVUQyBpbiBtaW51dGVzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0cz17fV0gLSBvcHRpb25zIHRvIHBhc3MgdG8gYHNldFpvbmUoKWBcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICB0b1VUQyhvZmZzZXQgPSAwLCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5zZXRab25lKEZpeGVkT2Zmc2V0Wm9uZS5pbnN0YW5jZShvZmZzZXQpLCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gdGhlIGhvc3QncyBsb2NhbCB6b25lLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gYHNldFpvbmUoJ2xvY2FsJylgXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgdG9Mb2NhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZXRab25lKFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gc3BlY2lmaWVkIHpvbmUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIHNldHRlciBrZWVwcyB0aGUgdW5kZXJseWluZyB0aW1lIHRoZSBzYW1lIChhcyBpbiwgdGhlIHNhbWUgdGltZXN0YW1wKSwgYnV0IHRoZSBuZXcgaW5zdGFuY2Ugd2lsbCByZXBvcnQgZGlmZmVyZW50IGxvY2FsIHRpbWVzIGFuZCBjb25zaWRlciBEU1RzIHdoZW4gbWFraW5nIGNvbXB1dGF0aW9ucywgYXMgd2l0aCB7QGxpbmsgRGF0ZVRpbWUjcGx1c30uIFlvdSBtYXkgd2lzaCB0byB1c2Uge0BsaW5rIERhdGVUaW1lI3RvTG9jYWx9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjdG9VVEN9IHdoaWNoIHByb3ZpZGUgc2ltcGxlIGNvbnZlbmllbmNlIHdyYXBwZXJzIGZvciBjb21tb25seSB1c2VkIHpvbmVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbem9uZT0nbG9jYWwnXSAtIGEgem9uZSBpZGVudGlmaWVyLiBBcyBhIHN0cmluZywgdGhhdCBjYW4gYmUgYW55IElBTkEgem9uZSBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QgZW52aXJvbm1lbnQsIG9yIGEgZml4ZWQtb2Zmc2V0IG5hbWUgb2YgdGhlIGZvcm0gJ1VUQyszJywgb3IgdGhlIHN0cmluZ3MgJ2xvY2FsJyBvciAndXRjJy4gWW91IG1heSBhbHNvIHN1cHBseSBhbiBpbnN0YW5jZSBvZiBhIHtAbGluayBEYXRlVGltZSNab25lfSBjbGFzcy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMua2VlcExvY2FsVGltZT1mYWxzZV0gLSBJZiB0cnVlLCBhZGp1c3QgdGhlIHVuZGVybHlpbmcgdGltZSBzbyB0aGF0IHRoZSBsb2NhbCB0aW1lIHN0YXlzIHRoZSBzYW1lLCBidXQgaW4gdGhlIHRhcmdldCB6b25lLiBZb3Ugc2hvdWxkIHJhcmVseSBuZWVkIHRoaXMuXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc2V0Wm9uZSh6b25lLCB7IGtlZXBMb2NhbFRpbWUgPSBmYWxzZSwga2VlcENhbGVuZGFyVGltZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgIHpvbmUgPSBub3JtYWxpemVab25lKHpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgICBpZiAoem9uZS5lcXVhbHModGhpcy56b25lKSkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIGlmICghem9uZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbmV3VFMgPSB0aGlzLnRzO1xuICAgICAgaWYgKGtlZXBMb2NhbFRpbWUgfHwga2VlcENhbGVuZGFyVGltZSkge1xuICAgICAgICBjb25zdCBvZmZzZXRHdWVzcyA9IHpvbmUub2Zmc2V0KHRoaXMudHMpO1xuICAgICAgICBjb25zdCBhc09iaiA9IHRoaXMudG9PYmplY3QoKTtcbiAgICAgICAgW25ld1RTXSA9IG9ialRvVFMoYXNPYmosIG9mZnNldEd1ZXNzLCB6b25lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHRzOiBuZXdUUywgem9uZSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG9yIG91dHB1dENhbGVuZGFyLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIC0gdGhlIHByb3BlcnRpZXMgdG8gc2V0XG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0gPSB7fSkge1xuICAgIGNvbnN0IGxvYyA9IHRoaXMubG9jLmNsb25lKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0pO1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IGxvYyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBsb2NhbGUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS5cbiAgICogSnVzdCBhIGNvbnZlbmllbnQgYWxpYXMgZm9yIHJlY29uZmlndXJlKHsgbG9jYWxlIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5zZXRMb2NhbGUoJ2VuLUdCJylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzZXRMb2NhbGUobG9jYWxlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb25maWd1cmUoeyBsb2NhbGUgfSk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgdmFsdWVzIG9mIHNwZWNpZmllZCB1bml0cy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLlxuICAgKiBZb3UgY2FuIG9ubHkgc2V0IHVuaXRzIHdpdGggdGhpcyBtZXRob2Q7IGZvciBcInNldHRpbmdcIiBtZXRhZGF0YSwgc2VlIHtAbGluayBEYXRlVGltZSNyZWNvbmZpZ3VyZX0gYW5kIHtAbGluayBEYXRlVGltZSNzZXRab25lfS5cbiAgICogQHBhcmFtIHtPYmplY3R9IHZhbHVlcyAtIGEgbWFwcGluZyBvZiB1bml0cyB0byBudW1iZXJzXG4gICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMTcgfSlcbiAgICogQGV4YW1wbGUgZHQuc2V0KHsgaG91cjogOCwgbWludXRlOiAzMCB9KVxuICAgKiBAZXhhbXBsZSBkdC5zZXQoeyB3ZWVrZGF5OiA1IH0pXG4gICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMDUsIG9yZGluYWw6IDIzNCB9KVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHNldCh2YWx1ZXMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KHZhbHVlcywgbm9ybWFsaXplVW5pdCksXG4gICAgICBzZXR0aW5nV2Vla1N0dWZmID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQud2Vla1llYXIpIHx8XG4gICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtOdW1iZXIpIHx8XG4gICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtkYXkpLFxuICAgICAgY29udGFpbnNPcmRpbmFsID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQub3JkaW5hbCksXG4gICAgICBjb250YWluc0dyZWdvclllYXIgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC55ZWFyKSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yTUQgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5tb250aCkgfHwgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yID0gY29udGFpbnNHcmVnb3JZZWFyIHx8IGNvbnRhaW5zR3JlZ29yTUQsXG4gICAgICBkZWZpbml0ZVdlZWtEZWYgPSBub3JtYWxpemVkLndlZWtZZWFyIHx8IG5vcm1hbGl6ZWQud2Vla051bWJlcjtcblxuICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcihcbiAgICAgICAgXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVwiKTtcbiAgICB9XG5cbiAgICBsZXQgbWl4ZWQ7XG4gICAgaWYgKHNldHRpbmdXZWVrU3R1ZmYpIHtcbiAgICAgIG1peGVkID0gd2Vla1RvR3JlZ29yaWFuKHsgLi4uZ3JlZ29yaWFuVG9XZWVrKHRoaXMuYyksIC4uLm5vcm1hbGl6ZWQgfSk7XG4gICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSkge1xuICAgICAgbWl4ZWQgPSBvcmRpbmFsVG9HcmVnb3JpYW4oeyAuLi5ncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKSwgLi4ubm9ybWFsaXplZCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWl4ZWQgPSB7IC4uLnRoaXMudG9PYmplY3QoKSwgLi4ubm9ybWFsaXplZCB9O1xuXG4gICAgICAvLyBpZiB3ZSBkaWRuJ3Qgc2V0IHRoZSBkYXkgYnV0IHdlIGVuZGVkIHVwIG9uIGFuIG92ZXJmbG93IGRhdGUsXG4gICAgICAvLyB1c2UgdGhlIGxhc3QgZGF5IG9mIHRoZSByaWdodCBtb250aFxuICAgICAgaWYgKGlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSkge1xuICAgICAgICBtaXhlZC5kYXkgPSBNYXRoLm1pbihkYXlzSW5Nb250aChtaXhlZC55ZWFyLCBtaXhlZC5tb250aCksIG1peGVkLmRheSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgW3RzLCBvXSA9IG9ialRvVFMobWl4ZWQsIHRoaXMubywgdGhpcy56b25lKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgeyB0cywgbyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBwZXJpb2Qgb2YgdGltZSB0byB0aGlzIERhdGVUaW1lIGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyBEYXRlVGltZVxuICAgKlxuICAgKiBBZGRpbmcgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG9yIG1pbGxpc2Vjb25kcyBpbmNyZWFzZXMgdGhlIHRpbWVzdGFtcCBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy4gQWRkaW5nIGRheXMsIG1vbnRocywgb3IgeWVhcnMgc2hpZnRzIHRoZSBjYWxlbmRhciwgYWNjb3VudGluZyBmb3IgRFNUcyBhbmQgbGVhcCB5ZWFycyBhbG9uZyB0aGUgd2F5LiBUaHVzLCBgZHQucGx1cyh7IGhvdXJzOiAyNCB9KWAgbWF5IHJlc3VsdCBpbiBhIGRpZmZlcmVudCB0aW1lIHRoYW4gYGR0LnBsdXMoeyBkYXlzOiAxIH0pYCBpZiB0aGVyZSdzIGEgRFNUIHNoaWZ0IGluIGJldHdlZW4uXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KClcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cygxMjMpIC8vfj4gaW4gMTIzIG1pbGxpc2Vjb25kc1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgbWludXRlczogMTUgfSkgLy9+PiBpbiAxNSBtaW51dGVzXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pIC8vfj4gdGhpcyB0aW1lIHRvbW9ycm93XG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAtMSB9KSAvL34+IHRoaXMgdGltZSB5ZXN0ZXJkYXlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGhvdXJzOiAzLCBtaW51dGVzOiAxMyB9KSAvL34+IGluIDMgaHIsIDEzIG1pblxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMywgbWludXRlczogMTMgfSkpIC8vfj4gaW4gMyBociwgMTMgbWluXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgcGx1cyhkdXJhdGlvbikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgYWRqdXN0VGltZSh0aGlzLCBkdXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJ0cmFjdCBhIHBlcmlvZCBvZiB0aW1lIHRvIHRoaXMgRGF0ZVRpbWUgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lXG4gICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjcGx1c31cbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpXG4gICBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIG1pbnVzKGR1cmF0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLm5lZ2F0ZSgpO1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCBhZGp1c3RUaW1lKHRoaXMsIGR1cikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFwiU2V0XCIgdGhpcyBEYXRlVGltZSB0byB0aGUgYmVnaW5uaW5nIG9mIGEgdW5pdCBvZiB0aW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIFRoZSB1bml0IHRvIGdvIHRvIHRoZSBiZWdpbm5pbmcgb2YuIENhbiBiZSAneWVhcicsICdxdWFydGVyJywgJ21vbnRoJywgJ3dlZWsnLCAnZGF5JywgJ2hvdXInLCAnbWludXRlJywgJ3NlY29uZCcsIG9yICdtaWxsaXNlY29uZCcuXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ21vbnRoJykudG9JU09EYXRlKCk7IC8vPT4gJzIwMTQtMDMtMDEnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ3llYXInKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMS0wMSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuc3RhcnRPZignd2VlaycpLnRvSVNPRGF0ZSgpOyAvLz0+ICcyMDE0LTAzLTAzJywgd2Vla3MgYWx3YXlzIHN0YXJ0IG9uIE1vbmRheXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMywgNSwgMzApLnN0YXJ0T2YoJ2RheScpLnRvSVNPVGltZSgpOyAvLz0+ICcwMDowMC4wMDAtMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMsIDUsIDMwKS5zdGFydE9mKCdob3VyJykudG9JU09UaW1lKCk7IC8vPT4gJzA1OjAwOjAwLjAwMC0wNTowMCdcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGFydE9mKHVuaXQpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgbyA9IHt9LFxuICAgICAgbm9ybWFsaXplZFVuaXQgPSBEdXJhdGlvbi5ub3JtYWxpemVVbml0KHVuaXQpO1xuICAgIHN3aXRjaCAobm9ybWFsaXplZFVuaXQpIHtcbiAgICAgIGNhc2UgXCJ5ZWFyc1wiOlxuICAgICAgICBvLm1vbnRoID0gMTtcbiAgICAgIC8vIGZhbGxzIHRocm91Z2hcbiAgICAgIGNhc2UgXCJxdWFydGVyc1wiOlxuICAgICAgY2FzZSBcIm1vbnRoc1wiOlxuICAgICAgICBvLmRheSA9IDE7XG4gICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICBjYXNlIFwid2Vla3NcIjpcbiAgICAgIGNhc2UgXCJkYXlzXCI6XG4gICAgICAgIG8uaG91ciA9IDA7XG4gICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICBjYXNlIFwiaG91cnNcIjpcbiAgICAgICAgby5taW51dGUgPSAwO1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgICAgY2FzZSBcIm1pbnV0ZXNcIjpcbiAgICAgICAgby5zZWNvbmQgPSAwO1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgICAgY2FzZSBcInNlY29uZHNcIjpcbiAgICAgICAgby5taWxsaXNlY29uZCA9IDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1pbGxpc2Vjb25kc1wiOlxuICAgICAgICBicmVhaztcbiAgICAgIC8vIG5vIGRlZmF1bHQsIGludmFsaWQgdW5pdHMgdGhyb3cgaW4gbm9ybWFsaXplVW5pdCgpXG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSBcIndlZWtzXCIpIHtcbiAgICAgIG8ud2Vla2RheSA9IDE7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSBcInF1YXJ0ZXJzXCIpIHtcbiAgICAgIGNvbnN0IHEgPSBNYXRoLmNlaWwodGhpcy5tb250aCAvIDMpO1xuICAgICAgby5tb250aCA9IChxIC0gMSkgKiAzICsgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXQobyk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGlzIERhdGVUaW1lIHRvIHRoZSBlbmQgKG1lYW5pbmcgdGhlIGxhc3QgbWlsbGlzZWNvbmQpIG9mIGEgdW5pdCBvZiB0aW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gVGhlIHVuaXQgdG8gZ28gdG8gdGhlIGVuZCBvZi4gQ2FuIGJlICd5ZWFyJywgJ3F1YXJ0ZXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknLCAnaG91cicsICdtaW51dGUnLCAnc2Vjb25kJywgb3IgJ21pbGxpc2Vjb25kJy5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuZW5kT2YoJ21vbnRoJykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0zMVQyMzo1OTo1OS45OTktMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd5ZWFyJykudG9JU08oKTsgLy89PiAnMjAxNC0xMi0zMVQyMzo1OTo1OS45OTktMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd3ZWVrJykudG9JU08oKTsgLy8gPT4gJzIwMTQtMDMtMDlUMjM6NTk6NTkuOTk5LTA1OjAwJywgd2Vla3Mgc3RhcnQgb24gTW9uZGF5c1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2RheScpLnRvSVNPKCk7IC8vPT4gJzIwMTQtMDMtMDNUMjM6NTk6NTkuOTk5LTA1OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2hvdXInKS50b0lTTygpOyAvLz0+ICcyMDE0LTAzLTAzVDA1OjU5OjU5Ljk5OS0wNTowMCdcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBlbmRPZih1bml0KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyB0aGlzLnBsdXMoeyBbdW5pdF06IDEgfSlcbiAgICAgICAgICAuc3RhcnRPZih1bml0KVxuICAgICAgICAgIC5taW51cygxKVxuICAgICAgOiB0aGlzO1xuICB9XG5cbiAgLy8gT1VUUFVUXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy5cbiAgICogKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZSBmb3JtYXR0aW5nIHRvb2wuIEZvciBhIHRhYmxlIG9mIHRva2VucyBhbmQgdGhlaXIgaW50ZXJwcmV0YXRpb25zLCBzZWUgW2hlcmVdKGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi8jL2Zvcm1hdHRpbmc/aWQ9dGFibGUtb2YtdG9rZW5zKS5cbiAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm10IC0gdGhlIGZvcm1hdCBzdHJpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0Zvcm1hdCgneXl5eSBMTEwgZGQnKSAvLz0+ICcyMDE3IEFwciAyMidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuc2V0TG9jYWxlKCdmcicpLnRvRm9ybWF0KCd5eXl5IExMTCBkZCcpIC8vPT4gJzIwMTcgYXZyLiAyMidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJywgeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+ICcyMDE3IGF2ci4gMjInXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KFwiSEggJ2hvdXJzIGFuZCcgbW0gJ21pbnV0ZXMnXCIpIC8vPT4gJzIwIGhvdXJzIGFuZCA1NSBtaW51dGVzJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0Zvcm1hdChmbXQsIG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5yZWRlZmF1bHRUb0VOKG9wdHMpKS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcodGhpcywgZm10KVxuICAgICAgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsb2NhbGl6ZWQgc3RyaW5nIHJlcHJlc2VudGluZyB0aGlzIGRhdGUuIEFjY2VwdHMgdGhlIHNhbWUgb3B0aW9ucyBhcyB0aGUgSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBhbmQgYW55IHByZXNldHMgZGVmaW5lZCBieSBMdXhvbiwgc3VjaCBhcyBgRGF0ZVRpbWUuREFURV9GVUxMYCBvciBgRGF0ZVRpbWUuVElNRV9TSU1QTEVgLlxuICAgKiBUaGUgZXhhY3QgYmVoYXZpb3Igb2YgdGhpcyBtZXRob2QgaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb25cbiAgICogb2YgdGhlIERhdGVUaW1lIGluIHRoZSBhc3NpZ25lZCBsb2NhbGUuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0XG4gICAqIEBwYXJhbSBmb3JtYXRPcHRzIHtPYmplY3R9IC0gSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBvcHRpb25zIGFuZCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDQvMjAvMjAxN1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoJ2VuLWdiJykudG9Mb2NhbGVTdHJpbmcoKTsgLy89PiAnMjAvMDQvMjAxNydcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoeyBsb2NhbGU6ICdlbi1nYicgfSk7IC8vPT4gJzIwLzA0LzIwMTcnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCk7IC8vPT4gJ0FwcmlsIDIwLCAyMDE3J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5USU1FX1NJTVBMRSk7IC8vPT4gJzExOjMyIEFNJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFVElNRV9TSE9SVCk7IC8vPT4gJzQvMjAvMjAxNywgMTE6MzIgQU0nXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKHsgd2Vla2RheTogJ2xvbmcnLCBtb250aDogJ2xvbmcnLCBkYXk6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1cnNkYXksIEFwcmlsIDIwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IHdlZWtkYXk6ICdzaG9ydCcsIG1vbnRoOiAnc2hvcnQnLCBkYXk6ICcyLWRpZ2l0JywgaG91cjogJzItZGlnaXQnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1LCBBcHIgMjAsIDExOjI3IEFNJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcsIGhvdXJDeWNsZTogJ2gyMycgfSk7IC8vPT4gJzExOjMyJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0xvY2FsZVN0cmluZyhmb3JtYXRPcHRzID0gRm9ybWF0cy5EQVRFX1NIT1JULCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkXG4gICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5sb2MuY2xvbmUob3B0cyksIGZvcm1hdE9wdHMpLmZvcm1hdERhdGVUaW1lKHRoaXMpXG4gICAgICA6IElOVkFMSUQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBmb3JtYXQgXCJwYXJ0c1wiLCBtZWFuaW5nIGluZGl2aWR1YWwgdG9rZW5zIGFsb25nIHdpdGggbWV0YWRhdGEuIFRoaXMgaXMgYWxsb3dzIGNhbGxlcnMgdG8gcG9zdC1wcm9jZXNzIGluZGl2aWR1YWwgc2VjdGlvbnMgb2YgdGhlIGZvcm1hdHRlZCBvdXRwdXQuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0L2Zvcm1hdFRvUGFydHNcbiAgICogQHBhcmFtIG9wdHMge09iamVjdH0gLSBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIG9wdGlvbnMsIHNhbWUgYXMgYHRvTG9jYWxlU3RyaW5nYC5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVQYXJ0cygpOyAvLz0+IFtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdkYXknLCB2YWx1ZTogJzI1JyB9LFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnbW9udGgnLCB2YWx1ZTogJzA1JyB9LFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAneWVhcicsIHZhbHVlOiAnMTk4MicgfVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiBdXG4gICAqL1xuICB0b0xvY2FsZVBhcnRzKG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5jbG9uZShvcHRzKSwgb3B0cykuZm9ybWF0RGF0ZVRpbWVQYXJ0cyh0aGlzKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9dHJ1ZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MywgNSwgMjUpLnRvSVNPKCkgLy89PiAnMTk4Mi0wNS0yNVQwMDowMDowMC4wMDBaJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTygpIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1LTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcyMDE3MDQyMlQyMDQ3MDUuMzM1LTA0MDAnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKHtcbiAgICBmb3JtYXQgPSBcImV4dGVuZGVkXCIsXG4gICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsXG4gICAgc3VwcHJlc3NNaWxsaXNlY29uZHMgPSBmYWxzZSxcbiAgICBpbmNsdWRlT2Zmc2V0ID0gdHJ1ZSxcbiAgICBleHRlbmRlZFpvbmUgPSBmYWxzZSxcbiAgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dCA9IGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiO1xuXG4gICAgbGV0IGMgPSB0b0lTT0RhdGUodGhpcywgZXh0KTtcbiAgICBjICs9IFwiVFwiO1xuICAgIGMgKz0gdG9JU09UaW1lKHRoaXMsIGV4dCwgc3VwcHJlc3NTZWNvbmRzLCBzdXBwcmVzc01pbGxpc2Vjb25kcywgaW5jbHVkZU9mZnNldCwgZXh0ZW5kZWRab25lKTtcbiAgICByZXR1cm4gYztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIGRhdGUgY29tcG9uZW50XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDE5ODIsIDUsIDI1KS50b0lTT0RhdGUoKSAvLz0+ICcxOTgyLTA1LTI1J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPRGF0ZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcxOTgyMDUyNSdcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9JU09EYXRlKHsgZm9ybWF0ID0gXCJleHRlbmRlZFwiIH0gPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9JU09EYXRlKHRoaXMsIGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIHdlZWsgZGF0ZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPV2Vla0RhdGUoKSAvLz0+ICcxOTgyLVcyMS0yJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0lTT1dlZWtEYXRlKCkge1xuICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgXCJra2trLSdXJ1dXLWNcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyB0aW1lIGNvbXBvbmVudFxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9dHJ1ZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVByZWZpeD1mYWxzZV0gLSBpbmNsdWRlIHRoZSBgVGAgcHJlZml4XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSgpIC8vPT4gJzA3OjM0OjE5LjM2MVonXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQsIHNlY29uZHM6IDAsIG1pbGxpc2Vjb25kczogMCB9KS50b0lTT1RpbWUoeyBzdXBwcmVzc1NlY29uZHM6IHRydWUgfSkgLy89PiAnMDc6MzRaJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcwNzM0MTkuMzYxWidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkuc2V0KHsgaG91cjogNywgbWludXRlOiAzNCB9KS50b0lTT1RpbWUoeyBpbmNsdWRlUHJlZml4OiB0cnVlIH0pIC8vPT4gJ1QwNzozNDoxOS4zNjFaJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0lTT1RpbWUoe1xuICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzID0gZmFsc2UsXG4gICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsXG4gICAgaW5jbHVkZU9mZnNldCA9IHRydWUsXG4gICAgaW5jbHVkZVByZWZpeCA9IGZhbHNlLFxuICAgIGV4dGVuZGVkWm9uZSA9IGZhbHNlLFxuICAgIGZvcm1hdCA9IFwiZXh0ZW5kZWRcIixcbiAgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBjID0gaW5jbHVkZVByZWZpeCA/IFwiVFwiIDogXCJcIjtcbiAgICByZXR1cm4gKFxuICAgICAgYyArXG4gICAgICB0b0lTT1RpbWUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiLFxuICAgICAgICBzdXBwcmVzc1NlY29uZHMsXG4gICAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzLFxuICAgICAgICBpbmNsdWRlT2Zmc2V0LFxuICAgICAgICBleHRlbmRlZFpvbmVcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gUkZDIDI4MjItY29tcGF0aWJsZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvUkZDMjgyMigpIC8vPT4gJ1N1biwgMTMgSnVsIDIwMTQgMDA6MDA6MDAgKzAwMDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1JGQzI4MjIoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIC0wNDAwJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b1JGQzI4MjIoKSB7XG4gICAgcmV0dXJuIHRvVGVjaEZvcm1hdCh0aGlzLCBcIkVFRSwgZGQgTExMIHl5eXkgSEg6bW06c3MgWlpaXCIsIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBIVFRQIGhlYWRlcnMuIFRoZSBvdXRwdXQgaXMgYWx3YXlzIGV4cHJlc3NlZCBpbiBHTVQuXG4gICAqIFNwZWNpZmljYWxseSwgdGhlIHN0cmluZyBjb25mb3JtcyB0byBSRkMgMTEyMy5cbiAgICogQHNlZSBodHRwczovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMzLmh0bWwjc2VjMy4zLjFcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b0hUVFAoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIEdNVCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzLCAxOSkudG9IVFRQKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAxOTowMDowMCBHTVQnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSFRUUCgpIHtcbiAgICByZXR1cm4gdG9UZWNoRm9ybWF0KHRoaXMudG9VVEMoKSwgXCJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzICdHTVQnXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBEYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE0LCA3LCAxMykudG9TUUxEYXRlKCkgLy89PiAnMjAxNC0wNy0xMydcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TUUxEYXRlKCkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRvSVNPRGF0ZSh0aGlzLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgVGltZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlWm9uZT1mYWxzZV0gLSBpbmNsdWRlIHRoZSB6b25lLCBzdWNoIGFzICdBbWVyaWNhL05ld19Zb3JrJy4gT3ZlcnJpZGVzIGluY2x1ZGVPZmZzZXQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0U3BhY2U9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBzcGFjZSBiZXR3ZWVuIHRoZSB0aW1lIGFuZCB0aGUgb2Zmc2V0LCBzdWNoIGFzICcwNToxNToxNi4zNDUgLTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS50b1NRTCgpIC8vPT4gJzA1OjE1OjE2LjM0NSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoKSAvLz0+ICcwNToxNToxNi4zNDUgLTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b1NRTCh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzA1OjE1OjE2LjM0NSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoeyBpbmNsdWRlWm9uZTogZmFsc2UgfSkgLy89PiAnMDU6MTU6MTYuMzQ1IEFtZXJpY2EvTmV3X1lvcmsnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU1FMVGltZSh7IGluY2x1ZGVPZmZzZXQgPSB0cnVlLCBpbmNsdWRlWm9uZSA9IGZhbHNlLCBpbmNsdWRlT2Zmc2V0U3BhY2UgPSB0cnVlIH0gPSB7fSkge1xuICAgIGxldCBmbXQgPSBcIkhIOm1tOnNzLlNTU1wiO1xuXG4gICAgaWYgKGluY2x1ZGVab25lIHx8IGluY2x1ZGVPZmZzZXQpIHtcbiAgICAgIGlmIChpbmNsdWRlT2Zmc2V0U3BhY2UpIHtcbiAgICAgICAgZm10ICs9IFwiIFwiO1xuICAgICAgfVxuICAgICAgaWYgKGluY2x1ZGVab25lKSB7XG4gICAgICAgIGZtdCArPSBcInpcIjtcbiAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZU9mZnNldCkge1xuICAgICAgICBmbXQgKz0gXCJaWlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgZm10LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgRGF0ZVRpbWVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVpvbmU9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgem9uZSwgc3VjaCBhcyAnQW1lcmljYS9OZXdfWW9yaycuIE92ZXJyaWRlcyBpbmNsdWRlT2Zmc2V0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXQ9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJ1onIG9yICctMDQ6MDAnXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldFNwYWNlPXRydWVdIC0gaW5jbHVkZSB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgdGltZSBhbmQgdGhlIG9mZnNldCwgc3VjaCBhcyAnMDU6MTU6MTYuMzQ1IC0wNDowMCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIFonXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIC0wNDowMCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgNywgMTMpLnRvU1FMKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMjAxNC0wNy0xMyAwMDowMDowMC4wMDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCh7IGluY2x1ZGVab25lOiB0cnVlIH0pIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIEFtZXJpY2EvTmV3X1lvcmsnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU1FMKG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dGhpcy50b1NRTERhdGUoKX0gJHt0aGlzLnRvU1FMVGltZShvcHRzKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRvSVNPKCkgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVwb2NoIG1pbGxpc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLiBBbGlhcyBvZiB7QGxpbmsgRGF0ZVRpbWUjdG9NaWxsaXN9XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIHZhbHVlT2YoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9NaWxsaXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBlcG9jaCBtaWxsaXNlY29uZHMgb2YgdGhpcyBEYXRlVGltZS5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgdG9NaWxsaXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZXBvY2ggc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0b1NlY29uZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgLyAxMDAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVwb2NoIHNlY29uZHMgKGFzIGEgd2hvbGUgbnVtYmVyKSBvZiB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0b1VuaXhJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBNYXRoLmZsb29yKHRoaXMudHMgLyAxMDAwKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgQlNPTiBzZXJpYWxpemFibGUgZXF1aXZhbGVudCB0byB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtEYXRlfVxuICAgKi9cbiAgdG9CU09OKCkge1xuICAgIHJldHVybiB0aGlzLnRvSlNEYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggdGhpcyBEYXRlVGltZSdzIHllYXIsIG1vbnRoLCBkYXksIGFuZCBzbyBvbi5cbiAgICogQHBhcmFtIG9wdHMgLSBvcHRpb25zIGZvciBnZW5lcmF0aW5nIHRoZSBvYmplY3RcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlQ29uZmlnPWZhbHNlXSAtIGluY2x1ZGUgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGVzIGluIHRoZSBvdXRwdXRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9PYmplY3QoKSAvLz0+IHsgeWVhcjogMjAxNywgbW9udGg6IDQsIGRheTogMjIsIGhvdXI6IDIwLCBtaW51dGU6IDQ5LCBzZWNvbmQ6IDQyLCBtaWxsaXNlY29uZDogMjY4IH1cbiAgICogQHJldHVybiB7T2JqZWN0fVxuICAgKi9cbiAgdG9PYmplY3Qob3B0cyA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB7fTtcblxuICAgIGNvbnN0IGJhc2UgPSB7IC4uLnRoaXMuYyB9O1xuXG4gICAgaWYgKG9wdHMuaW5jbHVkZUNvbmZpZykge1xuICAgICAgYmFzZS5vdXRwdXRDYWxlbmRhciA9IHRoaXMub3V0cHV0Q2FsZW5kYXI7XG4gICAgICBiYXNlLm51bWJlcmluZ1N5c3RlbSA9IHRoaXMubG9jLm51bWJlcmluZ1N5c3RlbTtcbiAgICAgIGJhc2UubG9jYWxlID0gdGhpcy5sb2MubG9jYWxlO1xuICAgIH1cbiAgICByZXR1cm4gYmFzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgSmF2YVNjcmlwdCBEYXRlIGVxdWl2YWxlbnQgdG8gdGhpcyBEYXRlVGltZS5cbiAgICogQHJldHVybiB7RGF0ZX1cbiAgICovXG4gIHRvSlNEYXRlKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIDogTmFOKTtcbiAgfVxuXG4gIC8vIENPTVBBUkVcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIERhdGVUaW1lcyBhcyBhIER1cmF0aW9uLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBvdGhlckRhdGVUaW1lIC0gdGhlIERhdGVUaW1lIHRvIGNvbXBhcmUgdGhpcyBvbmUgdG9cbiAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgYXJyYXkgb2YgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGNyZWF0aW9uIG9mIHRoZSBEdXJhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2VcbiAgICogQGV4YW1wbGVcbiAgICogdmFyIGkxID0gRGF0ZVRpbWUuZnJvbUlTTygnMTk4Mi0wNS0yNVQwOTo0NScpLFxuICAgKiAgICAgaTIgPSBEYXRlVGltZS5mcm9tSVNPKCcxOTgzLTEwLTE0VDEwOjMwJyk7XG4gICAqIGkyLmRpZmYoaTEpLnRvT2JqZWN0KCkgLy89PiB7IG1pbGxpc2Vjb25kczogNDM4MDc1MDAwMDAgfVxuICAgKiBpMi5kaWZmKGkxLCAnaG91cnMnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTIxNjguNzUgfVxuICAgKiBpMi5kaWZmKGkxLCBbJ21vbnRocycsICdkYXlzJ10pLnRvT2JqZWN0KCkgLy89PiB7IG1vbnRoczogMTYsIGRheXM6IDE5LjAzMTI1IH1cbiAgICogaTIuZGlmZihpMSwgWydtb250aHMnLCAnZGF5cycsICdob3VycyddKS50b09iamVjdCgpIC8vPT4geyBtb250aHM6IDE2LCBkYXlzOiAxOSwgaG91cnM6IDAuNzUgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIGRpZmYob3RoZXJEYXRlVGltZSwgdW5pdCA9IFwibWlsbGlzZWNvbmRzXCIsIG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlckRhdGVUaW1lLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKFwiY3JlYXRlZCBieSBkaWZmaW5nIGFuIGludmFsaWQgRGF0ZVRpbWVcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZHVyT3B0cyA9IHsgbG9jYWxlOiB0aGlzLmxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtOiB0aGlzLm51bWJlcmluZ1N5c3RlbSwgLi4ub3B0cyB9O1xuXG4gICAgY29uc3QgdW5pdHMgPSBtYXliZUFycmF5KHVuaXQpLm1hcChEdXJhdGlvbi5ub3JtYWxpemVVbml0KSxcbiAgICAgIG90aGVySXNMYXRlciA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpID4gdGhpcy52YWx1ZU9mKCksXG4gICAgICBlYXJsaWVyID0gb3RoZXJJc0xhdGVyID8gdGhpcyA6IG90aGVyRGF0ZVRpbWUsXG4gICAgICBsYXRlciA9IG90aGVySXNMYXRlciA/IG90aGVyRGF0ZVRpbWUgOiB0aGlzLFxuICAgICAgZGlmZmVkID0gZGlmZihlYXJsaWVyLCBsYXRlciwgdW5pdHMsIGR1ck9wdHMpO1xuXG4gICAgcmV0dXJuIG90aGVySXNMYXRlciA/IGRpZmZlZC5uZWdhdGUoKSA6IGRpZmZlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIERhdGVUaW1lIGFuZCByaWdodCBub3cuXG4gICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjZGlmZn1cbiAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgdW5pdHMgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIGRpZmZOb3codW5pdCA9IFwibWlsbGlzZWNvbmRzXCIsIG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmRpZmYoRGF0ZVRpbWUubm93KCksIHVuaXQsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJbnRlcnZhbCBzcGFubmluZyBiZXR3ZWVuIHRoaXMgRGF0ZVRpbWUgYW5kIGFub3RoZXIgRGF0ZVRpbWVcbiAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBlbmQgcG9pbnQgb2YgdGhlIEludGVydmFsXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgdW50aWwob3RoZXJEYXRlVGltZSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHRoaXMsIG90aGVyRGF0ZVRpbWUpIDogdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIERhdGVUaW1lIGlzIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZSBhcyBhbm90aGVyIERhdGVUaW1lLlxuICAgKiBIaWdoZXItb3JkZXIgdW5pdHMgbXVzdCBhbHNvIGJlIGlkZW50aWNhbCBmb3IgdGhpcyBmdW5jdGlvbiB0byByZXR1cm4gYHRydWVgLlxuICAgKiBOb3RlIHRoYXQgdGltZSB6b25lcyBhcmUgKippZ25vcmVkKiogaW4gdGhpcyBjb21wYXJpc29uLCB3aGljaCBjb21wYXJlcyB0aGUgKipsb2NhbCoqIGNhbGVuZGFyIHRpbWUuIFVzZSB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0gdG8gY29udmVydCBvbmUgb2YgdGhlIGRhdGVzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb25cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuaGFzU2FtZShvdGhlckRULCAnZGF5Jyk7IC8vfj4gdHJ1ZSBpZiBvdGhlckRUIGlzIGluIHRoZSBzYW1lIGN1cnJlbnQgY2FsZW5kYXIgZGF5XG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBoYXNTYW1lKG90aGVyRGF0ZVRpbWUsIHVuaXQpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgaW5wdXRNcyA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpO1xuICAgIGNvbnN0IGFkanVzdGVkVG9ab25lID0gdGhpcy5zZXRab25lKG90aGVyRGF0ZVRpbWUuem9uZSwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pO1xuICAgIHJldHVybiBhZGp1c3RlZFRvWm9uZS5zdGFydE9mKHVuaXQpIDw9IGlucHV0TXMgJiYgaW5wdXRNcyA8PSBhZGp1c3RlZFRvWm9uZS5lbmRPZih1bml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcXVhbGl0eSBjaGVja1xuICAgKiBUd28gRGF0ZVRpbWVzIGFyZSBlcXVhbCBpZmYgdGhleSByZXByZXNlbnQgdGhlIHNhbWUgbWlsbGlzZWNvbmQsIGhhdmUgdGhlIHNhbWUgem9uZSBhbmQgbG9jYXRpb24sIGFuZCBhcmUgYm90aCB2YWxpZC5cbiAgICogVG8gY29tcGFyZSBqdXN0IHRoZSBtaWxsaXNlY29uZCB2YWx1ZXMsIHVzZSBgK2R0MSA9PT0gK2R0MmAuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IG90aGVyIC0gdGhlIG90aGVyIERhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1ZhbGlkICYmXG4gICAgICBvdGhlci5pc1ZhbGlkICYmXG4gICAgICB0aGlzLnZhbHVlT2YoKSA9PT0gb3RoZXIudmFsdWVPZigpICYmXG4gICAgICB0aGlzLnpvbmUuZXF1YWxzKG90aGVyLnpvbmUpICYmXG4gICAgICB0aGlzLmxvYy5lcXVhbHMob3RoZXIubG9jKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHRoaXMgdGltZSByZWxhdGl2ZSB0byBub3csIHN1Y2ggYXMgXCJpbiB0d28gZGF5c1wiLiBDYW4gb25seSBpbnRlcm5hdGlvbmFsaXplIGlmIHlvdXJcbiAgICogcGxhdGZvcm0gc3VwcG9ydHMgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuIFJvdW5kcyBkb3duIGJ5IGRlZmF1bHQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zdHlsZT1cImxvbmdcIl0gLSB0aGUgc3R5bGUgb2YgdW5pdHMsIG11c3QgYmUgXCJsb25nXCIsIFwic2hvcnRcIiwgb3IgXCJuYXJyb3dcIlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdCBvciBhcnJheSBvZiB1bml0czsgaWYgb21pdHRlZCwgb3IgYW4gYXJyYXksIHRoZSBtZXRob2Qgd2lsbCBwaWNrIHRoZSBiZXN0IHVuaXQuIFVzZSBhbiBhcnJheSBvciBvbmUgb2YgXCJ5ZWFyc1wiLCBcInF1YXJ0ZXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIG9yIFwic2Vjb25kc1wiXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMucm91bmQ9dHJ1ZV0gLSB3aGV0aGVyIHRvIHJvdW5kIHRoZSBudW1iZXJzIGluIHRoZSBvdXRwdXQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5wYWRkaW5nPTBdIC0gcGFkZGluZyBpbiBtaWxsaXNlY29uZHMuIFRoaXMgYWxsb3dzIHlvdSB0byByb3VuZCB1cCB0aGUgcmVzdWx0IGlmIGl0IGZpdHMgaW5zaWRlIHRoZSB0aHJlc2hvbGQuIERvbid0IHVzZSBpbiBjb21iaW5hdGlvbiB3aXRoIHtyb3VuZDogZmFsc2V9IGJlY2F1c2UgdGhlIGRlY2ltYWwgb3V0cHV0IHdpbGwgaW5jbHVkZSB0aGUgcGFkZGluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubG9jYWxlIC0gb3ZlcnJpZGUgdGhlIGxvY2FsZSBvZiB0aGlzIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlcmluZ1N5c3RlbSAtIG92ZXJyaWRlIHRoZSBudW1iZXJpbmdTeXN0ZW0gb2YgdGhpcyBEYXRlVGltZS4gVGhlIEludGwgc3lzdGVtIG1heSBjaG9vc2Ugbm90IHRvIGhvbm9yIHRoaXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZSgpIC8vPT4gXCJpbiAxIGRheVwiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnNldExvY2FsZShcImVzXCIpLnRvUmVsYXRpdmUoeyBkYXlzOiAxIH0pIC8vPT4gXCJkZW50cm8gZGUgMSBkXHUwMEVEYVwiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pLnRvUmVsYXRpdmUoeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+IFwiZGFucyAyMyBoZXVyZXNcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGRheXM6IDIgfSkudG9SZWxhdGl2ZSgpIC8vPT4gXCIyIGRheXMgYWdvXCJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmUoeyB1bml0OiBcImhvdXJzXCIgfSkgLy89PiBcIjQ4IGhvdXJzIGFnb1wiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLm1pbnVzKHsgaG91cnM6IDM2IH0pLnRvUmVsYXRpdmUoeyByb3VuZDogZmFsc2UgfSkgLy89PiBcIjEuNSBkYXlzIGFnb1wiXG4gICAqL1xuICB0b1JlbGF0aXZlKG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBiYXNlID0gb3B0aW9ucy5iYXNlIHx8IERhdGVUaW1lLmZyb21PYmplY3Qoe30sIHsgem9uZTogdGhpcy56b25lIH0pLFxuICAgICAgcGFkZGluZyA9IG9wdGlvbnMucGFkZGluZyA/ICh0aGlzIDwgYmFzZSA/IC1vcHRpb25zLnBhZGRpbmcgOiBvcHRpb25zLnBhZGRpbmcpIDogMDtcbiAgICBsZXQgdW5pdHMgPSBbXCJ5ZWFyc1wiLCBcIm1vbnRoc1wiLCBcImRheXNcIiwgXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJdO1xuICAgIGxldCB1bml0ID0gb3B0aW9ucy51bml0O1xuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMudW5pdCkpIHtcbiAgICAgIHVuaXRzID0gb3B0aW9ucy51bml0O1xuICAgICAgdW5pdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGRpZmZSZWxhdGl2ZShiYXNlLCB0aGlzLnBsdXMocGFkZGluZyksIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBudW1lcmljOiBcImFsd2F5c1wiLFxuICAgICAgdW5pdHMsXG4gICAgICB1bml0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBkYXRlIHJlbGF0aXZlIHRvIHRvZGF5LCBzdWNoIGFzIFwieWVzdGVyZGF5XCIgb3IgXCJuZXh0IG1vbnRoXCIuXG4gICAqIE9ubHkgaW50ZXJuYXRpb25hbGl6ZXMgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydHMgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmxvY2FsZSAtIG92ZXJyaWRlIHRoZSBsb2NhbGUgb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdDsgaWYgb21pdHRlZCwgdGhlIG1ldGhvZCB3aWxsIHBpY2sgdGhlIHVuaXQuIFVzZSBvbmUgb2YgXCJ5ZWFyc1wiLCBcInF1YXJ0ZXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgb3IgXCJkYXlzXCJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gb3ZlcnJpZGUgdGhlIG51bWJlcmluZ1N5c3RlbSBvZiB0aGlzIERhdGVUaW1lLiBUaGUgSW50bCBzeXN0ZW0gbWF5IGNob29zZSBub3QgdG8gaG9ub3IgdGhpc1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoKSAvLz0+IFwidG9tb3Jyb3dcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoXCJlc1wiKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlKCkgLy89PiBcIlwibWFcdTAwRjFhbmFcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+IFwiZGVtYWluXCJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmVDYWxlbmRhcigpIC8vPT4gXCIyIGRheXMgYWdvXCJcbiAgICovXG4gIHRvUmVsYXRpdmVDYWxlbmRhcihvcHRpb25zID0ge30pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gZGlmZlJlbGF0aXZlKG9wdGlvbnMuYmFzZSB8fCBEYXRlVGltZS5mcm9tT2JqZWN0KHt9LCB7IHpvbmU6IHRoaXMuem9uZSB9KSwgdGhpcywge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG51bWVyaWM6IFwiYXV0b1wiLFxuICAgICAgdW5pdHM6IFtcInllYXJzXCIsIFwibW9udGhzXCIsIFwiZGF5c1wiXSxcbiAgICAgIGNhbGVuZGFyeTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1pbiBvZiBzZXZlcmFsIGRhdGUgdGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWluaW11bVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1pbiBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50XG4gICAqL1xuICBzdGF0aWMgbWluKC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJtaW4gcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcIik7XG4gICAgfVxuICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWluKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1heCBvZiBzZXZlcmFsIGRhdGUgdGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWF4aW11bVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1heCBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50XG4gICAqL1xuICBzdGF0aWMgbWF4KC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJtYXggcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcIik7XG4gICAgfVxuICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWF4KTtcbiAgfVxuXG4gIC8vIE1JU0NcblxuICAvKipcbiAgICogRXhwbGFpbiBob3cgYSBzdHJpbmcgd291bGQgYmUgcGFyc2VkIGJ5IGZyb21Gb3JtYXQoKVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIGRlc2NyaXB0aW9uKVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIG9wdGlvbnMgdGFrZW4gYnkgZnJvbUZvcm1hdCgpXG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRm9ybWF0RXhwbGFpbih0ZXh0LCBmbXQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCB9ID0gb3B0aW9ucyxcbiAgICAgIGxvY2FsZVRvVXNlID0gTG9jYWxlLmZyb21PcHRzKHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBudW1iZXJpbmdTeXN0ZW0sXG4gICAgICAgIGRlZmF1bHRUb0VOOiB0cnVlLFxuICAgICAgfSk7XG4gICAgcmV0dXJuIGV4cGxhaW5Gcm9tVG9rZW5zKGxvY2FsZVRvVXNlLCB0ZXh0LCBmbXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBmcm9tRm9ybWF0RXhwbGFpbiBpbnN0ZWFkXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0cmluZ0V4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdEV4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIEZPUk1BVCBQUkVTRVRTXG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgMTAvMTQvMTk4M1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX1NIT1JUKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVfU0hPUlQ7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0IDE0LCAxOTgzJ1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX01FRCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFX01FRDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmksIE9jdCAxNCwgMTk4MydcbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURV9NRURfV0lUSF9XRUVLREFZKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3RvYmVyIDE0LCAxOTgzJ1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX0ZVTEwoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURV9GVUxMO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ1R1ZXNkYXksIE9jdG9iZXIgMTQsIDE5ODMnXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IERBVEVfSFVHRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFX0hVR0U7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9TSU1QTEUoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9TSU1QTEU7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFM7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9XSVRIX0xPTkdfT0ZGU0VUKCkge1xuICAgIHJldHVybiBGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMCcsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1NJTVBMRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1NJTVBMRTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMycsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfU0VDT05EUygpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1dJVEhfU0VDT05EUztcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBFRFQnLCBhbHdheXMgMjQtaG91ci5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEVhc3Rlcm4gRGF5bGlnaHQgVGltZScsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzEwLzE0LzE5ODMsIDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfU0hPUlQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfU0hPUlQ7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMTAvMTQvMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRUQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfTUVEO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFM7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnRnJpLCAxNCBPY3QgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVk7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfRlVMTCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFVElNRV9GVUxMO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdG9iZXIgMTQsIDE5ODMsIDk6MzA6MzMgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IERBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFVElNRV9IVUdFO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMDozMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFM7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJpZW5kbHlEYXRlVGltZShkYXRlVGltZWlzaCkge1xuICBpZiAoRGF0ZVRpbWUuaXNEYXRlVGltZShkYXRlVGltZWlzaCkpIHtcbiAgICByZXR1cm4gZGF0ZVRpbWVpc2g7XG4gIH0gZWxzZSBpZiAoZGF0ZVRpbWVpc2ggJiYgZGF0ZVRpbWVpc2gudmFsdWVPZiAmJiBpc051bWJlcihkYXRlVGltZWlzaC52YWx1ZU9mKCkpKSB7XG4gICAgcmV0dXJuIERhdGVUaW1lLmZyb21KU0RhdGUoZGF0ZVRpbWVpc2gpO1xuICB9IGVsc2UgaWYgKGRhdGVUaW1laXNoICYmIHR5cGVvZiBkYXRlVGltZWlzaCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KGRhdGVUaW1laXNoKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICBgVW5rbm93biBkYXRldGltZSBhcmd1bWVudDogJHtkYXRlVGltZWlzaH0sIG9mIHR5cGUgJHt0eXBlb2YgZGF0ZVRpbWVpc2h9YFxuICAgICk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IGVtb2ppUmVnZXggZnJvbSBcImVtb2ppLXJlZ2V4XCI7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGlua1wiO1xuXG4vKiogVGVzdC1lbnZpcm9ubWVudC1mcmllbmRseSBmdW5jdGlvbiB3aGljaCBmZXRjaGVzIHRoZSBjdXJyZW50IHN5c3RlbSBsb2NhbGUuICovXG5leHBvcnQgZnVuY3Rpb24gY3VycmVudExvY2FsZSgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gXCJlbi1VU1wiO1xuICAgIHJldHVybiB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlO1xufVxuXG4vLyBEYXRlL1RpbWUgUmVuZGVyaW5nXG5cbi8qKiBOb3JtYWxpemUgYSBkdXJhdGlvbiB0byBhbGwgb2YgdGhlIHByb3BlciB1bml0cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVEdXJhdGlvbihkdXI6IER1cmF0aW9uKSB7XG4gICAgaWYgKGR1ciA9PT0gdW5kZWZpbmVkIHx8IGR1ciA9PT0gbnVsbCkgcmV0dXJuIGR1cjtcblxuICAgIHJldHVybiBkdXIuc2hpZnRUbyhcInllYXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiKS5ub3JtYWxpemUoKTtcbn1cblxuLyoqIFN0cmlwIHRoZSB0aW1lIGNvbXBvbmVudHMgb2YgYSBkYXRlIHRpbWUgb2JqZWN0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwVGltZShkdDogRGF0ZVRpbWUpOiBEYXRlVGltZSB7XG4gICAgaWYgKGR0ID09PSBudWxsIHx8IGR0ID09PSB1bmRlZmluZWQpIHJldHVybiBkdDtcblxuICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHtcbiAgICAgICAgeWVhcjogZHQueWVhcixcbiAgICAgICAgbW9udGg6IGR0Lm1vbnRoLFxuICAgICAgICBkYXk6IGR0LmRheSxcbiAgICB9KTtcbn1cblxuLyoqIFRyeSB0byBleHRyYWN0IGEgWVlZWU1NREQgZGF0ZSBmcm9tIGEgc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3REYXRlKHN0cjogc3RyaW5nKTogRGF0ZVRpbWUgfCB1bmRlZmluZWQge1xuICAgIGxldCBkYXRlTWF0Y2ggPSAvKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkvLmV4ZWMoc3RyKTtcbiAgICBpZiAoIWRhdGVNYXRjaCkgZGF0ZU1hdGNoID0gLyhcXGR7NH0pKFxcZHsyfSkoXFxkezJ9KS8uZXhlYyhzdHIpO1xuICAgIGlmIChkYXRlTWF0Y2gpIHtcbiAgICAgICAgbGV0IHllYXIgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzFdKTtcbiAgICAgICAgbGV0IG1vbnRoID0gTnVtYmVyLnBhcnNlSW50KGRhdGVNYXRjaFsyXSk7XG4gICAgICAgIGxldCBkYXkgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzNdKTtcbiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyLCBtb250aCwgZGF5IH0pO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBSZW5kZXIgYSBEYXRlVGltZSBpbiBhIG1pbmltYWwgZm9ybWF0IHRvIHNhdmUgc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWluaW1hbERhdGUodGltZTogRGF0ZVRpbWUsIGRhdGVGb3JtYXQ6IHN0cmluZywgZGF0ZVRpbWVGb3JtYXQ6IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyByZWxldmFudCB0aW1lIHNwZWNpZmllZCwgZmFsbCBiYWNrIHRvIGp1c3QgcmVuZGVyaW5nIHRoZSBkYXRlLlxuICAgIGlmICh0aW1lLnNlY29uZCA9PSAwICYmIHRpbWUubWludXRlID09IDAgJiYgdGltZS5ob3VyID09IDApIHtcbiAgICAgICAgcmV0dXJuIHRpbWUudG9Mb2NhbCgpLnRvRm9ybWF0KGRhdGVGb3JtYXQsIHsgbG9jYWxlIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aW1lLnRvTG9jYWwoKS50b0Zvcm1hdChkYXRlVGltZUZvcm1hdCwgeyBsb2NhbGUgfSk7XG59XG5cbi8qKiBSZW5kZXIgYSBkdXJhdGlvbiBpbiBhIG1pbmltYWwgZm9ybWF0IHRvIHNhdmUgc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWluaW1hbER1cmF0aW9uKGR1cjogRHVyYXRpb24pOiBzdHJpbmcge1xuICAgIGR1ciA9IG5vcm1hbGl6ZUR1cmF0aW9uKGR1cik7XG5cbiAgICAvLyBUT0RPOiBMdXhvbiBkb2VzIG5vdCBoYXZlIG11bHRpLWxpbmd1YWwvbG9jYWxlLWF3YXJlIGR1cmF0aW9uIHJlbmRlcmluZy5cbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgICBpZiAoZHVyLnllYXJzKSByZXN1bHQgKz0gYCR7ZHVyLnllYXJzfSB5ZWFycywgYDtcbiAgICBpZiAoZHVyLm1vbnRocykgcmVzdWx0ICs9IGAke2R1ci5tb250aHN9IG1vbnRocywgYDtcbiAgICBpZiAoZHVyLndlZWtzKSByZXN1bHQgKz0gYCR7ZHVyLndlZWtzfSB3ZWVrcywgYDtcbiAgICBpZiAoZHVyLmRheXMpIHJlc3VsdCArPSBgJHtkdXIuZGF5c30gZGF5cywgYDtcbiAgICBpZiAoZHVyLmhvdXJzKSByZXN1bHQgKz0gYCR7ZHVyLmhvdXJzfSBob3VycywgYDtcbiAgICBpZiAoZHVyLm1pbnV0ZXMpIHJlc3VsdCArPSBgJHtkdXIubWludXRlc30gbWludXRlcywgYDtcbiAgICBpZiAoZHVyLnNlY29uZHMpIHJlc3VsdCArPSBgJHtNYXRoLnJvdW5kKGR1ci5zZWNvbmRzKX0gc2Vjb25kcywgYDtcbiAgICBpZiAoZHVyLm1pbGxpc2Vjb25kcykgcmVzdWx0ICs9IGAke01hdGgucm91bmQoZHVyLm1pbGxpc2Vjb25kcyl9IG1zLCBgO1xuXG4gICAgaWYgKHJlc3VsdC5lbmRzV2l0aChcIiwgXCIpKSByZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsIHJlc3VsdC5sZW5ndGggLSAyKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBQYXRoIHV0aWxpdGllcy5cblxuLyoqIEdldCB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGhlIGdpdmVuIHBhdGggKGkuZS4sIGxpa2UgY29tcHV0aW5nICdwYXRoLy4uJykuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyZW50Rm9sZGVyKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5qb2luKFwiL1wiKTtcbn1cblxuLyoqIEdldCB0aGUgZmlsZSBuYW1lIGZvciB0aGUgZmlsZSByZWZlcmVuY2VkIGluIHRoZSBnaXZlbiBwYXRoLCBieSBzdHJpcHBpbmcgdGhlIHBhcmVudCBmb2xkZXJzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVOYW1lKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguaW5jbHVkZXMoXCIvXCIpID8gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIi9cIikgKyAxKSA6IHBhdGg7XG59XG5cbi8qKiBHZXQgdGhlIFwidGl0bGVcIiBmb3IgYSBmaWxlLCBieSBzdHJpcHBpbmcgb3RoZXIgcGFydHMgb2YgdGhlIHBhdGggYXMgd2VsbCBhcyB0aGUgZXh0ZW5zaW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVUaXRsZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChwYXRoLmluY2x1ZGVzKFwiL1wiKSkgcGF0aCA9IHBhdGguc3Vic3RyaW5nKHBhdGgubGFzdEluZGV4T2YoXCIvXCIpICsgMSk7XG4gICAgaWYgKHBhdGguZW5kc1dpdGgoXCIubWRcIikpIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDMpO1xuICAgIHJldHVybiBwYXRoO1xufVxuXG4vKiogR2V0IHRoZSBleHRlbnNpb24gb2YgYSBmaWxlIGZyb20gdGhlIGZpbGUgcGF0aC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb24ocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXBhdGguaW5jbHVkZXMoXCIuXCIpKSByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIi5cIikgKyAxKTtcbn1cblxuLy8gVGFnIGV4dHJhY3Rpb24uXG5cbi8qKiBQYXJzZSBhbGwgc3VidGFncyBvdXQgb2YgdGhlIGdpdmVuIHRhZy4gSS5lLiwgI2hlbGxvL2kvYW0gd291bGQgeWllbGQgWyNoZWxsby9pL2FtLCAjaGVsbG8vaSwgI2hlbGxvXS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0U3VidGFncyh0YWdzOiBzdHJpbmcgfCBJdGVyYWJsZTxzdHJpbmc+KTogc3RyaW5nW10ge1xuICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGxldCB0YWcgb2YgdHlwZW9mIHRhZ3MgPT09IFwic3RyaW5nXCIgPyBbdGFnc10gOiB0YWdzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRhZyk7XG4gICAgICAgIHdoaWxlICh0YWcuaW5jbHVkZXMoXCIvXCIpKSB7XG4gICAgICAgICAgICB0YWcgPSB0YWcuc3Vic3RyaW5nKDAsIHRhZy5sYXN0SW5kZXhPZihcIi9cIikpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godGFnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKiBTcGxpdCBlYWNoIGJsb2NrIGFuZCBzZWN0aW9uIGxpbmsgaW50byB0aGUgb3JpZ2luYWwgbGluayBhbmQgYSBjb3JyZXNwb25kaW5nIGZpbGUgbGluay4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0RmlsZUxpbmtzKGVsaW5rczogTGlua1tdKTogTGlua1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IExpbmtbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbGluayBvZiBlbGlua3MpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobGluayk7XG5cbiAgICAgICAgY29uc3QgZmlsZUxpbmsgPSBsaW5rLnRvRmlsZSgpO1xuICAgICAgICBpZiAobGluay50eXBlICE9IFwiZmlsZVwiICYmICFyZXN1bHQuZmluZCgoZXhpc3RpbmcpID0+IGV4aXN0aW5nLmVxdWFscyhmaWxlTGluaykpKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChmaWxlTGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBTdHJpbmcgZXNjYXBpbmcgYW5kIGNhbm9uaWNhbGl6YXRpb24uXG5cbi8qKlxuICogRXNjYXBlIHJlZ2V4IGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcuXG4gKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9HdWlkZS9SZWd1bGFyX0V4cHJlc3Npb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmVnZXgoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuY29uc3QgSEVBREVSX0NBTk9OSUNBTElaRVI6IFAuUGFyc2VyPHN0cmluZz4gPSBQLmFsdChcbiAgICBQLnJlZ2V4KG5ldyBSZWdFeHAoZW1vamlSZWdleCgpLCBcIlwiKSksXG4gICAgUC5yZWdleCgvWzAtOVxccHtMZXR0ZXJ9Xy1dKy91KSxcbiAgICBQLndoaXRlc3BhY2UubWFwKChfKSA9PiBcIiBcIiksXG4gICAgUC5hbnkubWFwKChfKSA9PiBcIiBcIilcbilcbiAgICAubWFueSgpXG4gICAgLm1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbihcIlwiKS5zcGxpdCgvXFxzKy8pLmpvaW4oXCIgXCIpLnRyaW0oKTtcbiAgICB9KTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIHRoZSB0ZXh0IGluIGEgaGVhZGVyIHRvIGJlIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGxpbmthYmxlIHRvLiBUaGlzIG1pbWljc1xuICogaG93IE9ic2lkaWFuIGRvZXMgaXQncyBub3JtYWxpemF0aW9uLCBjb2xsYXBzaW5nIHJlcGVhdGVkIHNwYWNlcyBhbmQgc3RyaXBwaW5nIG91dCBjb250cm9sIGNoYXJhY3RlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKGhlYWRlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSEVBREVSX0NBTk9OSUNBTElaRVIudHJ5UGFyc2UoaGVhZGVyKTtcbn1cblxuLy8gRmFzdCBleHRyYWN0aW9uIG9mIGxpbmUgcmFuZ2VzIGZyb20gbGFyZ2UgcGllY2VzIG9mIHRleHQuXG5cbi8qKiBVcGRhdGUgdGhlIGxpbmUgcmFuZ2UgZnJvbSBbc3RhcnQsIGVuZCkgd2l0aCB0aGUgZ2l2ZW4gZnVuY3Rpb24uICovXG5leHBvcnQgZnVuY3Rpb24gbGluZVJlcGxhY2UodGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgZnVuYzogKGxpbmU6IHN0cmluZykgPT4gc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBbZGF0YSwgb2Zmc2V0XSA9IGxpbmVTcGFuKHRleHQsIHN0YXJ0LCBlbmQpO1xuICAgIGlmICghb2Zmc2V0KSByZXR1cm4gdGV4dDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIGRhdGEuc3Vic3RyaW5nKDAsIG9mZnNldC5zdGFydCkgKyBmdW5jKGRhdGEuc3Vic3RyaW5nKG9mZnNldC5zdGFydCwgb2Zmc2V0LmVuZCkpICsgZGF0YS5zdWJzdHJpbmcob2Zmc2V0LmVuZClcbiAgICApO1xufVxuXG4vKiogRXh0cmFjdCB0aGUgbGluZXMgaW4gdGhlIHJhbmdlIFtzdGFydCwgZW5kKSwgYXMgd2VsbCBhcyB0aGUgYWN0dWFsIG9mZnNldHMgb2YgdGhlIHN0YXJ0IGFuZCBlbmQuICovXG5leHBvcnQgZnVuY3Rpb24gbGluZVNwYW4oXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHN0YXJ0OiBudW1iZXIsXG4gICAgZW5kOiBudW1iZXJcbik6IFtzdHJpbmcsIHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfSB8IHVuZGVmaW5lZF0ge1xuICAgIHN0YXJ0ID0gTWF0aC5tYXgoc3RhcnQsIDApO1xuICAgIGVuZCA9IE1hdGgubWF4KGVuZCwgMCk7XG5cbiAgICBpZiAoc3RhcnQgPj0gZW5kKSByZXR1cm4gW1wiXCIsIHVuZGVmaW5lZF07XG5cbiAgICAvLyBTdGFydCBieSBmaW5kaW5nIHRoZSBzdGFydGluZyBsaW5lIG9mZnNldC5cbiAgICBjb25zdCBzdGFydE9mZnNldCA9IHNraXBOZXdsaW5lcyh0ZXh0LCAwLCBzdGFydCk7XG4gICAgaWYgKHN0YXJ0T2Zmc2V0ID09IC0xKSByZXR1cm4gW1wiXCIsIHVuZGVmaW5lZF07XG5cbiAgICBjb25zdCBlbmRPZmZzZXQgPSBza2lwTmV3bGluZXModGV4dCwgc3RhcnRPZmZzZXQsIGVuZCAtIHN0YXJ0KTtcbiAgICBpZiAoZW5kT2Zmc2V0ID09IC0xKSByZXR1cm4gW3RleHQuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0KSwgeyBzdGFydDogc3RhcnRPZmZzZXQsIGVuZDogdGV4dC5sZW5ndGggfV07XG4gICAgZWxzZSByZXR1cm4gW3RleHQuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgLSAxKSwgeyBzdGFydDogc3RhcnRPZmZzZXQsIGVuZDogZW5kT2Zmc2V0IC0gMSB9XTtcbn1cblxuLyoqIEV4dHJhY3QgdGhlIGxpbmVzIGluIHRoZSByYW5nZSBbc3RhcnQsIGVuZCkuIFN0YXJ0IGlzIGluY2x1c2l2ZSwgZW5kIGlzIGV4Y2x1c2l2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaW5lUmFuZ2UodGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxpbmVTcGFuKHRleHQsIHN0YXJ0LCBlbmQpWzBdO1xufVxuXG4vKiogU2tpcCB7Y291bnR9IHRvdGFsIG5ld2xpbmVzLCByZXR1cm5pbmcgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIHtjb3VudH0gbGluZXMgYWZ0ZXIgdGhlIGN1cnJlbnQgbGluZS4gSWYgY291bnQgaXMgMCwgdGhlIGluaXRpYWwgb2Zmc2V0IGlzIHJldHVybmVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNraXBOZXdsaW5lcyh0ZXh0OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChjb3VudCA9PSAwKSByZXR1cm4gc3RhcnQ7XG5cbiAgICBsZXQgcG9zaXRpb24gPSBzdGFydDtcbiAgICB3aGlsZSAoY291bnQgPiAwKSB7XG4gICAgICAgIHBvc2l0aW9uID0gdGV4dC5pbmRleE9mKFwiXFxuXCIsIHBvc2l0aW9uKTtcbiAgICAgICAgaWYgKHBvc2l0aW9uID09IC0xKSByZXR1cm4gLTE7XG5cbiAgICAgICAgY291bnQtLTtcbiAgICAgICAgcG9zaXRpb24gKz0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zaXRpb247XG59XG4iLCAiZXhwb3J0IGRlZmF1bHQgKCkgPT4ge1xuXHQvLyBodHRwczovL210aHMuYmUvZW1vamlcblx0cmV0dXJuIC9bIyowLTldXFx1RkUwRj9cXHUyMEUzfFtcXHhBOVxceEFFXFx1MjAzQ1xcdTIwNDlcXHUyMTIyXFx1MjEzOVxcdTIxOTQtXFx1MjE5OVxcdTIxQTlcXHUyMUFBXFx1MjMxQVxcdTIzMUJcXHUyMzI4XFx1MjNDRlxcdTIzRUQtXFx1MjNFRlxcdTIzRjFcXHUyM0YyXFx1MjNGOC1cXHUyM0ZBXFx1MjRDMlxcdTI1QUFcXHUyNUFCXFx1MjVCNlxcdTI1QzBcXHUyNUZCXFx1MjVGQ1xcdTI1RkVcXHUyNjAwLVxcdTI2MDRcXHUyNjBFXFx1MjYxMVxcdTI2MTRcXHUyNjE1XFx1MjYxOFxcdTI2MjBcXHUyNjIyXFx1MjYyM1xcdTI2MjZcXHUyNjJBXFx1MjYyRVxcdTI2MkZcXHUyNjM4LVxcdTI2M0FcXHUyNjQwXFx1MjY0MlxcdTI2NDgtXFx1MjY1M1xcdTI2NUZcXHUyNjYwXFx1MjY2M1xcdTI2NjVcXHUyNjY2XFx1MjY2OFxcdTI2N0JcXHUyNjdFXFx1MjY3RlxcdTI2OTJcXHUyNjk0LVxcdTI2OTdcXHUyNjk5XFx1MjY5QlxcdTI2OUNcXHUyNkEwXFx1MjZBN1xcdTI2QUFcXHUyNkIwXFx1MjZCMVxcdTI2QkRcXHUyNkJFXFx1MjZDNFxcdTI2QzhcXHUyNkNGXFx1MjZEMVxcdTI2RTlcXHUyNkYwLVxcdTI2RjVcXHUyNkY3XFx1MjZGOFxcdTI2RkFcXHUyNzAyXFx1MjcwOFxcdTI3MDlcXHUyNzBGXFx1MjcxMlxcdTI3MTRcXHUyNzE2XFx1MjcxRFxcdTI3MjFcXHUyNzMzXFx1MjczNFxcdTI3NDRcXHUyNzQ3XFx1Mjc1N1xcdTI3NjNcXHUyN0ExXFx1MjkzNFxcdTI5MzVcXHUyQjA1LVxcdTJCMDdcXHUyQjFCXFx1MkIxQ1xcdTJCNTVcXHUzMDMwXFx1MzAzRFxcdTMyOTdcXHUzMjk5XVxcdUZFMEY/fFtcXHUyNjFEXFx1MjcwQ1xcdTI3MERdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpP3xbXFx1MjcwQVxcdTI3MEJdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdTIzRTktXFx1MjNFQ1xcdTIzRjBcXHUyM0YzXFx1MjVGRFxcdTI2OTNcXHUyNkExXFx1MjZBQlxcdTI2QzVcXHUyNkNFXFx1MjZENFxcdTI2RUFcXHUyNkZEXFx1MjcwNVxcdTI3MjhcXHUyNzRDXFx1Mjc0RVxcdTI3NTMtXFx1Mjc1NVxcdTI3OTUtXFx1Mjc5N1xcdTI3QjBcXHUyN0JGXFx1MkI1MF18XFx1MjZEM1xcdUZFMEY/KD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E1KT98XFx1MjZGOSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98XFx1Mjc2NFxcdUZFMEY/KD86XFx1MjAwRCg/OlxcdUQ4M0RcXHVERDI1fFxcdUQ4M0VcXHVERTc5KSk/fFxcdUQ4M0MoPzpbXFx1REMwNFxcdURENzBcXHVERDcxXFx1REQ3RVxcdUREN0ZcXHVERTAyXFx1REUzN1xcdURGMjFcXHVERjI0LVxcdURGMkNcXHVERjM2XFx1REY3RFxcdURGOTZcXHVERjk3XFx1REY5OS1cXHVERjlCXFx1REY5RVxcdURGOUZcXHVERkNEXFx1REZDRVxcdURGRDQtXFx1REZERlxcdURGRjVcXHVERkY3XVxcdUZFMEY/fFtcXHVERjg1XFx1REZDMlxcdURGQzddKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdURGQzRcXHVERkNBXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERkNCXFx1REZDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVEQ0NGXFx1REQ4RVxcdUREOTEtXFx1REQ5QVxcdURFMDFcXHVERTFBXFx1REUyRlxcdURFMzItXFx1REUzNlxcdURFMzgtXFx1REUzQVxcdURFNTBcXHVERTUxXFx1REYwMC1cXHVERjIwXFx1REYyRC1cXHVERjM1XFx1REYzNy1cXHVERjQzXFx1REY0NS1cXHVERjRBXFx1REY0Qy1cXHVERjdDXFx1REY3RS1cXHVERjg0XFx1REY4Ni1cXHVERjkzXFx1REZBMC1cXHVERkMxXFx1REZDNVxcdURGQzZcXHVERkM4XFx1REZDOVxcdURGQ0YtXFx1REZEM1xcdURGRTAtXFx1REZGMFxcdURGRjgtXFx1REZGRl18XFx1RERFNlxcdUQ4M0NbXFx1RERFOC1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREYyXFx1RERGNFxcdURERjYtXFx1RERGQVxcdURERkNcXHVEREZEXFx1RERGRl18XFx1RERFN1xcdUQ4M0NbXFx1RERFNlxcdURERTdcXHVEREU5LVxcdURERUZcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkVcXHVEREZGXXxcXHVEREU4XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERUVcXHVEREYwLVxcdURERjdcXHVEREZBLVxcdURERkZdfFxcdURERTlcXHVEODNDW1xcdURERUFcXHVEREVDXFx1RERFRlxcdURERjBcXHVEREYyXFx1RERGNFxcdURERkZdfFxcdURERUFcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVEXFx1RERGNy1cXHVEREZBXXxcXHVEREVCXFx1RDgzQ1tcXHVEREVFLVxcdURERjBcXHVEREYyXFx1RERGNFxcdURERjddfFxcdURERUNcXHVEODNDW1xcdURERTZcXHVEREU3XFx1RERFOS1cXHVEREVFXFx1RERGMS1cXHVEREYzXFx1RERGNS1cXHVEREZBXFx1RERGQ1xcdURERkVdfFxcdURERURcXHVEODNDW1xcdURERjBcXHVEREYyXFx1RERGM1xcdURERjdcXHVEREY5XFx1RERGQV18XFx1RERFRVxcdUQ4M0NbXFx1RERFOC1cXHVEREVBXFx1RERGMS1cXHVEREY0XFx1RERGNi1cXHVEREY5XXxcXHVEREVGXFx1RDgzQ1tcXHVEREVBXFx1RERGMlxcdURERjRcXHVEREY1XXxcXHVEREYwXFx1RDgzQ1tcXHVEREVBXFx1RERFQy1cXHVEREVFXFx1RERGMlxcdURERjNcXHVEREY1XFx1RERGN1xcdURERkNcXHVEREZFXFx1RERGRl18XFx1RERGMVxcdUQ4M0NbXFx1RERFNi1cXHVEREU4XFx1RERFRVxcdURERjBcXHVEREY3LVxcdURERkJcXHVEREZFXXxcXHVEREYyXFx1RDgzQ1tcXHVEREU2XFx1RERFOC1cXHVEREVEXFx1RERGMC1cXHVEREZGXXxcXHVEREYzXFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUEtXFx1RERFQ1xcdURERUVcXHVEREYxXFx1RERGNFxcdURERjVcXHVEREY3XFx1RERGQVxcdURERkZdfFxcdURERjRcXHVEODNDXFx1RERGMnxcXHVEREY1XFx1RDgzQ1tcXHVEREU2XFx1RERFQS1cXHVEREVEXFx1RERGMC1cXHVEREYzXFx1RERGNy1cXHVEREY5XFx1RERGQ1xcdURERkVdfFxcdURERjZcXHVEODNDXFx1RERFNnxcXHVEREY3XFx1RDgzQ1tcXHVEREVBXFx1RERGNFxcdURERjhcXHVEREZBXFx1RERGQ118XFx1RERGOFxcdUQ4M0NbXFx1RERFNi1cXHVEREVBXFx1RERFQy1cXHVEREY0XFx1RERGNy1cXHVEREY5XFx1RERGQlxcdURERkQtXFx1RERGRl18XFx1RERGOVxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREU5XFx1RERFQi1cXHVEREVEXFx1RERFRi1cXHVEREY0XFx1RERGN1xcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkZdfFxcdURERkFcXHVEODNDW1xcdURERTZcXHVEREVDXFx1RERGMlxcdURERjNcXHVEREY4XFx1RERGRVxcdURERkZdfFxcdURERkJcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVFXFx1RERGM1xcdURERkFdfFxcdURERkNcXHVEODNDW1xcdURERUJcXHVEREY4XXxcXHVEREZEXFx1RDgzQ1xcdURERjB8XFx1RERGRVxcdUQ4M0NbXFx1RERFQVxcdURERjldfFxcdURERkZcXHVEODNDW1xcdURERTZcXHVEREYyXFx1RERGQ118XFx1REY0NCg/OlxcdTIwMERcXHVEODNEXFx1REZFQik/fFxcdURGNEIoPzpcXHUyMDBEXFx1RDgzRFxcdURGRTkpP3xcXHVERkMzKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVERkYzXFx1RkUwRj8oPzpcXHUyMDBEKD86XFx1MjZBN1xcdUZFMEY/fFxcdUQ4M0NcXHVERjA4KSk/fFxcdURGRjQoPzpcXHUyMDBEXFx1MjYyMFxcdUZFMEY/fFxcdURCNDBcXHVEQzY3XFx1REI0MFxcdURDNjJcXHVEQjQwKD86XFx1REM2NVxcdURCNDBcXHVEQzZFXFx1REI0MFxcdURDNjd8XFx1REM3M1xcdURCNDBcXHVEQzYzXFx1REI0MFxcdURDNzR8XFx1REM3N1xcdURCNDBcXHVEQzZDXFx1REI0MFxcdURDNzMpXFx1REI0MFxcdURDN0YpPyl8XFx1RDgzRCg/OltcXHVEQzNGXFx1RENGRFxcdURENDlcXHVERDRBXFx1REQ2RlxcdURENzBcXHVERDczXFx1REQ3Ni1cXHVERDc5XFx1REQ4N1xcdUREOEEtXFx1REQ4RFxcdUREQTVcXHVEREE4XFx1RERCMVxcdUREQjJcXHVEREJDXFx1RERDMi1cXHVEREM0XFx1REREMS1cXHVEREQzXFx1REREQy1cXHVERERFXFx1RERFMVxcdURERTNcXHVEREU4XFx1RERFRlxcdURERjNcXHVEREZBXFx1REVDQlxcdURFQ0QtXFx1REVDRlxcdURFRTAtXFx1REVFNVxcdURFRTlcXHVERUYwXFx1REVGM11cXHVGRTBGP3xbXFx1REM0MlxcdURDNDNcXHVEQzQ2LVxcdURDNTBcXHVEQzY2XFx1REM2N1xcdURDNkItXFx1REM2RFxcdURDNzJcXHVEQzc0LVxcdURDNzZcXHVEQzc4XFx1REM3Q1xcdURDODNcXHVEQzg1XFx1REM4RlxcdURDOTFcXHVEQ0FBXFx1REQ3QVxcdUREOTVcXHVERDk2XFx1REU0Q1xcdURFNEZcXHVERUMwXFx1REVDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REM2RVxcdURDNzBcXHVEQzcxXFx1REM3M1xcdURDNzdcXHVEQzgxXFx1REM4MlxcdURDODZcXHVEQzg3XFx1REU0NS1cXHVERTQ3XFx1REU0QlxcdURFNERcXHVERTRFXFx1REVBM1xcdURFQjRcXHVERUI1XSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDc0XFx1REQ5MF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/fFtcXHVEQzAwLVxcdURDMDdcXHVEQzA5LVxcdURDMTRcXHVEQzE2LVxcdURDMjVcXHVEQzI3LVxcdURDM0FcXHVEQzNDLVxcdURDM0VcXHVEQzQwXFx1REM0NFxcdURDNDVcXHVEQzUxLVxcdURDNjVcXHVEQzZBXFx1REM3OS1cXHVEQzdCXFx1REM3RC1cXHVEQzgwXFx1REM4NFxcdURDODgtXFx1REM4RVxcdURDOTBcXHVEQzkyLVxcdURDQTlcXHVEQ0FCLVxcdURDRkNcXHVEQ0ZGLVxcdUREM0RcXHVERDRCLVxcdURENEVcXHVERDUwLVxcdURENjdcXHVEREE0XFx1RERGQi1cXHVERTJEXFx1REUyRi1cXHVERTM0XFx1REUzNy1cXHVERTQxXFx1REU0M1xcdURFNDRcXHVERTQ4LVxcdURFNEFcXHVERTgwLVxcdURFQTJcXHVERUE0LVxcdURFQjNcXHVERUI3LVxcdURFQkZcXHVERUMxLVxcdURFQzVcXHVERUQwLVxcdURFRDJcXHVERUQ1LVxcdURFRDdcXHVERURDLVxcdURFREZcXHVERUVCXFx1REVFQ1xcdURFRjQtXFx1REVGQ1xcdURGRTAtXFx1REZFQlxcdURGRjBdfFxcdURDMDgoPzpcXHUyMDBEXFx1MkIxQik/fFxcdURDMTUoPzpcXHUyMDBEXFx1RDgzRVxcdUREQkEpP3xcXHVEQzI2KD86XFx1MjAwRCg/OlxcdTJCMUJ8XFx1RDgzRFxcdUREMjUpKT98XFx1REMzQig/OlxcdTIwMERcXHUyNzQ0XFx1RkUwRj8pP3xcXHVEQzQxXFx1RkUwRj8oPzpcXHUyMDBEXFx1RDgzRFxcdURERThcXHVGRTBGPyk/fFxcdURDNjgoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OHxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XVxcdTIwMERcXHVEODNEKD86XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkMtXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdKSkpP3xcXHVERkZEKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRV0pKSk/KSk/fFxcdURDNjkoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/W1xcdURDNjhcXHVEQzY5XXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pP3xcXHVEQzY5XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KSl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSkpKT8pKT98XFx1REM2Rig/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERDc1KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERTJFKD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E4KT98XFx1REUzNSg/OlxcdTIwMERcXHVEODNEXFx1RENBQik/fFxcdURFMzYoPzpcXHUyMDBEXFx1RDgzQ1xcdURGMkJcXHVGRTBGPyk/fFxcdURFNDIoPzpcXHUyMDBEW1xcdTIxOTRcXHUyMTk1XVxcdUZFMEY/KT98XFx1REVCNig/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRCg/OltcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xcXHUyN0ExXFx1RkUwRj8pKT8pfFxcdUQ4M0UoPzpbXFx1REQwQ1xcdUREMEZcXHVERDE4LVxcdUREMUZcXHVERDMwLVxcdUREMzRcXHVERDM2XFx1REQ3N1xcdUREQjVcXHVEREI2XFx1RERCQlxcdURERDJcXHVEREQzXFx1RERENVxcdURFQzMtXFx1REVDNVxcdURFRjBcXHVERUYyLVxcdURFRjhdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdUREMjZcXHVERDM1XFx1REQzNy1cXHVERDM5XFx1REQzRFxcdUREM0VcXHVEREI4XFx1RERCOVxcdUREQ0RcXHVERENGXFx1RERENFxcdURERDYtXFx1RERERF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1RERERVxcdUREREZdKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDBEXFx1REQwRVxcdUREMTAtXFx1REQxN1xcdUREMjAtXFx1REQyNVxcdUREMjctXFx1REQyRlxcdUREM0FcXHVERDNGLVxcdURENDVcXHVERDQ3LVxcdURENzZcXHVERDc4LVxcdUREQjRcXHVEREI3XFx1RERCQVxcdUREQkMtXFx1RERDQ1xcdURERDBcXHVEREUwLVxcdURERkZcXHVERTcwLVxcdURFN0NcXHVERTgwLVxcdURFODlcXHVERThGLVxcdURFQzJcXHVERUM2XFx1REVDRS1cXHVERURDXFx1REVERi1cXHVERUU5XXxcXHVERDNDKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGP3xcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xcXHVERENFKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVEREQxKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEREQxXFx1MjAwRFxcdUQ4M0VcXHVEREQyKD86XFx1MjAwRFxcdUQ4M0VcXHVEREQyKT98XFx1REREMig/OlxcdTIwMERcXHVEODNFXFx1REREMik/KSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRV18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT8pKT98XFx1REVGMSg/OlxcdUQ4M0MoPzpcXHVERkZCKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKT98XFx1REZGQyg/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pP3xcXHVERkZEKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSk/fFxcdURGRkUoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKT98XFx1REZGRig/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSk/KSk/KS9nO1xufTtcbiIsICJpbXBvcnQgeyBnZXRGaWxlVGl0bGUsIG5vcm1hbGl6ZUhlYWRlckZvckxpbmsgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcblxuLyoqIFRoZSBPYnNpZGlhbiAnbGluaycsIHVzZWQgZm9yIHVuaXF1ZWx5IGRlc2NyaWJpbmcgYSBmaWxlLCBoZWFkZXIsIG9yIGJsb2NrLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgY2xhc3MgTGluayB7XG4gICAgLyoqIFRoZSBmaWxlIHBhdGggdGhpcyBsaW5rIHBvaW50cyB0by4gKi9cbiAgICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZGlzcGxheSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay4gKi9cbiAgICBwdWJsaWMgZGlzcGxheT86IHN0cmluZztcbiAgICAvKiogVGhlIGJsb2NrIElEIG9yIGhlYWRlciB0aGlzIGxpbmsgcG9pbnRzIHRvIHdpdGhpbiBhIGZpbGUsIGlmIHJlbGV2YW50LiAqL1xuICAgIHB1YmxpYyBzdWJwYXRoPzogc3RyaW5nO1xuICAgIC8qKiBJcyB0aGlzIGxpbmsgYW4gZW1iZWRkZWQgbGluayAob2YgZm9ybSAnIVtbaGVsbG9dXScpPyAqL1xuICAgIHB1YmxpYyBlbWJlZDogYm9vbGVhbjtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBsaW5rLCB3aGljaCBkZXRlcm1pbmVzIHdoYXQgJ3N1YnBhdGgnIHJlZmVycyB0bywgaWYgYW55dGhpbmcuICovXG4gICAgcHVibGljIHR5cGU6IFwiZmlsZVwiIHwgXCJoZWFkZXJcIiB8IFwiYmxvY2tcIjtcblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgc3BlY2lmaWMgZmlsZS4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGZpbGUocGF0aDogc3RyaW5nLCBlbWJlZDogYm9vbGVhbiA9IGZhbHNlLCBkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayh7XG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgZW1iZWQsXG4gICAgICAgICAgICBkaXNwbGF5LFxuICAgICAgICAgICAgc3VicGF0aDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHlwZTogXCJmaWxlXCIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBJbmZlciB0aGUgdHlwZSBvZiB0aGUgbGluayBmcm9tIHRoZSBmdWxsIGludGVybmFsIGxpbmsgcGF0aC4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZmVyKGxpbmtwYXRoOiBzdHJpbmcsIGVtYmVkOiBib29sZWFuID0gZmFsc2UsIGRpc3BsYXk/OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgaWYgKGxpbmtwYXRoLmluY2x1ZGVzKFwiI15cIikpIHtcbiAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KFwiI15cIik7XG4gICAgICAgICAgICByZXR1cm4gTGluay5ibG9jayhzcGxpdFswXSwgc3BsaXRbMV0sIGVtYmVkLCBkaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIGlmIChsaW5rcGF0aC5pbmNsdWRlcyhcIiNcIikpIHtcbiAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KFwiI1wiKTtcbiAgICAgICAgICAgIHJldHVybiBMaW5rLmhlYWRlcihzcGxpdFswXSwgc3BsaXRbMV0sIGVtYmVkLCBkaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIHJldHVybiBMaW5rLmZpbGUobGlua3BhdGgsIGVtYmVkLCBkaXNwbGF5KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGhlYWRlciBpbiB0aGF0IGZpbGUuICovXG4gICAgcHVibGljIHN0YXRpYyBoZWFkZXIocGF0aDogc3RyaW5nLCBoZWFkZXI6IHN0cmluZywgZW1iZWQ/OiBib29sZWFuLCBkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIC8vIEhlYWRlcnMgbmVlZCB0byBiZSBub3JtYWxpemVkIHRvIGFscGhhLW51bWVyaWMgJiB3aXRoIGV4dHJhIHNwYWNpbmcgcmVtb3ZlZC5cbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBlbWJlZCxcbiAgICAgICAgICAgIGRpc3BsYXksXG4gICAgICAgICAgICBzdWJwYXRoOiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKGhlYWRlciksXG4gICAgICAgICAgICB0eXBlOiBcImhlYWRlclwiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGJsb2NrIGluIHRoYXQgZmlsZS4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGJsb2NrKHBhdGg6IHN0cmluZywgYmxvY2tJZDogc3RyaW5nLCBlbWJlZD86IGJvb2xlYW4sIGRpc3BsYXk/OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBlbWJlZCxcbiAgICAgICAgICAgIGRpc3BsYXksXG4gICAgICAgICAgICBzdWJwYXRoOiBibG9ja0lkLFxuICAgICAgICAgICAgdHlwZTogXCJibG9ja1wiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogTG9hZCBhIGxpbmsgZnJvbSBpdCdzIHJhdyBKU09OIHJlcHJlc2VudGF0aW9uLiAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbU9iamVjdChvYmplY3Q6IEpzb25MaW5rKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayhvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIGJ5IHBhcnNpbmcgaXQncyBpbnRlcmlvciBwYXJ0IChpbnNpZGUgb2YgdGhlICdbW11dJykuICovXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZUlubmVyKHJhd2xpbms6IHN0cmluZyk6IExpbmsge1xuICAgICAgICBsZXQgW2xpbmssIGRpc3BsYXldID0gc3BsaXRPblVuZXNjYXBlZFBpcGUocmF3bGluayk7XG4gICAgICAgIHJldHVybiBMaW5rLmluZmVyKGxpbmssIGZhbHNlLCBkaXNwbGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGZpZWxkczogUGFydGlhbDxMaW5rPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGZpZWxkcyk7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSB0aGlzIGxpbmsgd2l0aCBhIG5ldyBwYXRoLiAqL1xuICAgIHB1YmxpYyB3aXRoUGF0aChwYXRoOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKE9iamVjdC5hc3NpZ24oe30sIHRoaXMsIHsgcGF0aCB9KSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIG5ldyBsaW5rIHdoaWNoIHBvaW50cyB0byB0aGUgc2FtZSBsb2NhdGlvbiBidXQgd2l0aCBhIG5ldyBkaXNwbGF5IHZhbHVlLiAqL1xuICAgIHB1YmxpYyB3aXRoRGlzcGxheShkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayhPYmplY3QuYXNzaWduKHt9LCB0aGlzLCB7IGRpc3BsYXkgfSkpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBuZXcgbGluayB3aGljaCBoYXMgdGhlIGdpdmVuIGVtYmVkZGVkIHN0YXR1cy4gKi9cbiAgICBwdWJsaWMgd2l0aEVtYmVkKGVtYmVkOiBib29sZWFuKTogTGluayB7XG4gICAgICAgIGlmICh0aGlzLmVtYmVkID09IGVtYmVkKSByZXR1cm4gdGhpcztcblxuICAgICAgICByZXR1cm4gbmV3IExpbmsoT2JqZWN0LmFzc2lnbih7fSwgdGhpcywgeyBlbWJlZCB9KSk7XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgYSBmaWxlIGxpbmsgaW50byBhIGxpbmsgdG8gYSBzcGVjaWZpYyBoZWFkZXIuICovXG4gICAgcHVibGljIHdpdGhIZWFkZXIoaGVhZGVyOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHRoaXMucGF0aCwgaGVhZGVyLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGEgZmlsZSBsaW5rIGludG8gYSBsaW5rIHRvIGEgc3BlY2lmaWNiIGxvY2suICovXG4gICAgcHVibGljIHdpdGhCbG9jayhibG9jazogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmJsb2NrKHRoaXMucGF0aCwgYmxvY2ssIHRoaXMuZW1iZWQsIHRoaXMuZGlzcGxheSk7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyBmb3IgbGluayBlcXVhbGl0eSAoaS5lLiwgdGhhdCB0aGUgbGlua3MgYXJlIHBvaW50aW5nIHRvIHRoZSBzYW1lIGV4YWN0IGxvY2F0aW9uKS4gKi9cbiAgICBwdWJsaWMgZXF1YWxzKG90aGVyOiBMaW5rKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChvdGhlciA9PSB1bmRlZmluZWQgfHwgb3RoZXIgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBhdGggPT0gb3RoZXIucGF0aCAmJiB0aGlzLnR5cGUgPT0gb3RoZXIudHlwZSAmJiB0aGlzLnN1YnBhdGggPT0gb3RoZXIuc3VicGF0aDtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gaXQncyBtYXJrZG93biByZXByZXNlbnRhdGlvbi4gKi9cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFya2Rvd24oKTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gYSByYXcgb2JqZWN0IHdoaWNoIGlzIHNlcmlhbGl6YXRpb24tZnJpZW5kbHkuICovXG4gICAgcHVibGljIHRvT2JqZWN0KCk6IEpzb25MaW5rIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgICAgIHN1YnBhdGg6IHRoaXMuc3VicGF0aCxcbiAgICAgICAgICAgIGRpc3BsYXk6IHRoaXMuZGlzcGxheSxcbiAgICAgICAgICAgIGVtYmVkOiB0aGlzLmVtYmVkLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGFueSBsaW5rIGludG8gYSBsaW5rIHRvIGl0cyBmaWxlLiAqL1xuICAgIHB1YmxpYyB0b0ZpbGUoKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUodGhpcy5wYXRoLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IHRoaXMgbGluayBpbnRvIGFuIGVtYmVkZGVkIGxpbmsuICovXG4gICAgcHVibGljIHRvRW1iZWQoKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhFbWJlZCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhIG5vbi1lbWJlZGRlZCBsaW5rLiAqL1xuICAgIHB1YmxpYyBmcm9tRW1iZWQoKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhFbWJlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgdGhpcyBsaW5rIHRvIG1hcmtkb3duIHNvIGl0IGNhbiBiZSByZW5kZXJlZC4gKi9cbiAgICBwdWJsaWMgbWFya2Rvd24oKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICh0aGlzLmVtYmVkID8gXCIhXCIgOiBcIlwiKSArIFwiW1tcIiArIHRoaXMub2JzaWRpYW5MaW5rKCk7XG4gICAgICAgIHJlc3VsdCArPSBcInxcIjtcbiAgICAgICAgcmVzdWx0ICs9IHRoaXMuZGlzcGxheU9yRGVmYXVsdCgpO1xuICAgICAgICByZXN1bHQgKz0gXCJdXVwiO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gdGhlIGRpc3BsYXkgZm9yIHRoaXMgbGluayBpZiBwcmVzZW50LCBvciByZXR1cm4gYSBzaW1wbGUgZGVmYXVsdCBkaXNwbGF5LiAqL1xuICAgIHB1YmxpYyBkaXNwbGF5T3JEZWZhdWx0KCkge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpO1xuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBcImhlYWRlclwiIHx8IHRoaXMudHlwZSA9PSBcImJsb2NrXCIpIHJlc3VsdCArPSBcIiA+IFwiICsgdGhpcy5zdWJwYXRoO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgdGhlIGlubmVyIHBhcnQgb2YgdGhlIGxpbmsgdG8gc29tZXRoaW5nIHRoYXQgT2JzaWRpYW4gY2FuIG9wZW4gLyB1bmRlcnN0YW5kLiAqL1xuICAgIHB1YmxpYyBvYnNpZGlhbkxpbmsoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZXNjYXBlZCA9IHRoaXMucGF0aC5yZXBsYWNlKFwifFwiLCBcIlxcXFx8XCIpO1xuICAgICAgICBpZiAodGhpcy50eXBlID09IFwiaGVhZGVyXCIpIHJldHVybiBlc2NhcGVkICsgXCIjXCIgKyB0aGlzLnN1YnBhdGg/LnJlcGxhY2UoXCJ8XCIsIFwiXFxcXHxcIik7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gXCJibG9ja1wiKSByZXR1cm4gZXNjYXBlZCArIFwiI15cIiArIHRoaXMuc3VicGF0aD8ucmVwbGFjZShcInxcIiwgXCJcXFxcfFwiKTtcbiAgICAgICAgZWxzZSByZXR1cm4gZXNjYXBlZDtcbiAgICB9XG5cbiAgICAvKiogVGhlIHN0cmlwcGVkIG5hbWUgb2YgdGhlIGZpbGUgdGhpcyBsaW5rIHBvaW50cyB0by4gKi9cbiAgICBwdWJsaWMgZmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpO1xuICAgIH1cbn1cblxuLyoqIFNlcmlhbGl6ZWQgZm9ybSBvZiBhIGxpbmsuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkxpbmsge1xuICAgIC8qKiBUaGUgZmlsZSBwYXRoIHRoaXMgbGluayBwb2ludHMgdG8uICovXG4gICAgcGF0aDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZGlzcGxheSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay4gKi9cbiAgICBkaXNwbGF5Pzogc3RyaW5nO1xuICAgIC8qKiBUaGUgYmxvY2sgSUQgb3IgaGVhZGVyIHRoaXMgbGluayBwb2ludHMgdG8gd2l0aGluIGEgZmlsZSwgaWYgcmVsZXZhbnQuICovXG4gICAgc3VicGF0aD86IHN0cmluZztcbiAgICAvKiogSXMgdGhpcyBsaW5rIGFuIGVtYmVkZGVkIGxpbmsgKG9mIGZvcm0gJyFbW2hlbGxvXV0nKT8gKi9cbiAgICBlbWJlZDogYm9vbGVhbjtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBsaW5rLCB3aGljaCBkZXRlcm1pbmVzIHdoYXQgJ3N1YnBhdGgnIHJlZmVycyB0bywgaWYgYW55dGhpbmcuICovXG4gICAgdHlwZTogXCJmaWxlXCIgfCBcImhlYWRlclwiIHwgXCJibG9ja1wiO1xufVxuXG4vKiogU3BsaXQgb24gdW5lc2NhcGVkIHBpcGVzIGluIGFuIGlubmVyIGxpbmsuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdE9uVW5lc2NhcGVkUGlwZShsaW5rOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWRdIHtcbiAgICBsZXQgcGlwZSA9IC0xO1xuICAgIHdoaWxlICgocGlwZSA9IGxpbmsuaW5kZXhPZihcInxcIiwgcGlwZSArIDEpKSA+PSAwKSB7XG4gICAgICAgIGlmIChwaXBlID4gMCAmJiBsaW5rW3BpcGUgLSAxXSA9PSBcIlxcXFxcIikgY29udGludWU7XG4gICAgICAgIHJldHVybiBbbGluay5zdWJzdHJpbmcoMCwgcGlwZSkucmVwbGFjZSgvXFxcXFxcfC9nLCBcInxcIiksIGxpbmsuc3Vic3RyaW5nKHBpcGUgKyAxKV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtsaW5rLnJlcGxhY2UoL1xcXFxcXHwvZywgXCJ8XCIpLCB1bmRlZmluZWRdO1xufVxuIiwgImNvbnN0IEFMSUFTID0gU3ltYm9sLmZvcigneWFtbC5hbGlhcycpO1xuY29uc3QgRE9DID0gU3ltYm9sLmZvcigneWFtbC5kb2N1bWVudCcpO1xuY29uc3QgTUFQID0gU3ltYm9sLmZvcigneWFtbC5tYXAnKTtcbmNvbnN0IFBBSVIgPSBTeW1ib2wuZm9yKCd5YW1sLnBhaXInKTtcbmNvbnN0IFNDQUxBUiA9IFN5bWJvbC5mb3IoJ3lhbWwuc2NhbGFyJyk7XG5jb25zdCBTRVEgPSBTeW1ib2wuZm9yKCd5YW1sLnNlcScpO1xuY29uc3QgTk9ERV9UWVBFID0gU3ltYm9sLmZvcigneWFtbC5ub2RlLnR5cGUnKTtcbmNvbnN0IGlzQWxpYXMgPSAobm9kZSkgPT4gISFub2RlICYmIHR5cGVvZiBub2RlID09PSAnb2JqZWN0JyAmJiBub2RlW05PREVfVFlQRV0gPT09IEFMSUFTO1xuY29uc3QgaXNEb2N1bWVudCA9IChub2RlKSA9PiAhIW5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmIG5vZGVbTk9ERV9UWVBFXSA9PT0gRE9DO1xuY29uc3QgaXNNYXAgPSAobm9kZSkgPT4gISFub2RlICYmIHR5cGVvZiBub2RlID09PSAnb2JqZWN0JyAmJiBub2RlW05PREVfVFlQRV0gPT09IE1BUDtcbmNvbnN0IGlzUGFpciA9IChub2RlKSA9PiAhIW5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmIG5vZGVbTk9ERV9UWVBFXSA9PT0gUEFJUjtcbmNvbnN0IGlzU2NhbGFyID0gKG5vZGUpID0+ICEhbm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcgJiYgbm9kZVtOT0RFX1RZUEVdID09PSBTQ0FMQVI7XG5jb25zdCBpc1NlcSA9IChub2RlKSA9PiAhIW5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmIG5vZGVbTk9ERV9UWVBFXSA9PT0gU0VRO1xuZnVuY3Rpb24gaXNDb2xsZWN0aW9uKG5vZGUpIHtcbiAgICBpZiAobm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcpXG4gICAgICAgIHN3aXRjaCAobm9kZVtOT0RFX1RZUEVdKSB7XG4gICAgICAgICAgICBjYXNlIE1BUDpcbiAgICAgICAgICAgIGNhc2UgU0VROlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNOb2RlKG5vZGUpIHtcbiAgICBpZiAobm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcpXG4gICAgICAgIHN3aXRjaCAobm9kZVtOT0RFX1RZUEVdKSB7XG4gICAgICAgICAgICBjYXNlIEFMSUFTOlxuICAgICAgICAgICAgY2FzZSBNQVA6XG4gICAgICAgICAgICBjYXNlIFNDQUxBUjpcbiAgICAgICAgICAgIGNhc2UgU0VROlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuY29uc3QgaGFzQW5jaG9yID0gKG5vZGUpID0+IChpc1NjYWxhcihub2RlKSB8fCBpc0NvbGxlY3Rpb24obm9kZSkpICYmICEhbm9kZS5hbmNob3I7XG5cbmV4cG9ydCB7IEFMSUFTLCBET0MsIE1BUCwgTk9ERV9UWVBFLCBQQUlSLCBTQ0FMQVIsIFNFUSwgaGFzQW5jaG9yLCBpc0FsaWFzLCBpc0NvbGxlY3Rpb24sIGlzRG9jdW1lbnQsIGlzTWFwLCBpc05vZGUsIGlzUGFpciwgaXNTY2FsYXIsIGlzU2VxIH07XG4iLCAiaW1wb3J0IHsgaXNEb2N1bWVudCwgaXNOb2RlLCBpc1BhaXIsIGlzQ29sbGVjdGlvbiwgaXNNYXAsIGlzU2VxLCBpc1NjYWxhciwgaXNBbGlhcyB9IGZyb20gJy4vbm9kZXMvaWRlbnRpdHkuanMnO1xuXG5jb25zdCBCUkVBSyA9IFN5bWJvbCgnYnJlYWsgdmlzaXQnKTtcbmNvbnN0IFNLSVAgPSBTeW1ib2woJ3NraXAgY2hpbGRyZW4nKTtcbmNvbnN0IFJFTU9WRSA9IFN5bWJvbCgncmVtb3ZlIG5vZGUnKTtcbi8qKlxuICogQXBwbHkgYSB2aXNpdG9yIHRvIGFuIEFTVCBub2RlIG9yIGRvY3VtZW50LlxuICpcbiAqIFdhbGtzIHRocm91Z2ggdGhlIHRyZWUgKGRlcHRoLWZpcnN0KSBzdGFydGluZyBmcm9tIGBub2RlYCwgY2FsbGluZyBhXG4gKiBgdmlzaXRvcmAgZnVuY3Rpb24gd2l0aCB0aHJlZSBhcmd1bWVudHM6XG4gKiAgIC0gYGtleWA6IEZvciBzZXF1ZW5jZSB2YWx1ZXMgYW5kIG1hcCBgUGFpcmAsIHRoZSBub2RlJ3MgaW5kZXggaW4gdGhlXG4gKiAgICAgY29sbGVjdGlvbi4gV2l0aGluIGEgYFBhaXJgLCBgJ2tleSdgIG9yIGAndmFsdWUnYCwgY29ycmVzcG9uZGluZ2x5LlxuICogICAgIGBudWxsYCBmb3IgdGhlIHJvb3Qgbm9kZS5cbiAqICAgLSBgbm9kZWA6IFRoZSBjdXJyZW50IG5vZGUuXG4gKiAgIC0gYHBhdGhgOiBUaGUgYW5jZXN0cnkgb2YgdGhlIGN1cnJlbnQgbm9kZS5cbiAqXG4gKiBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSB2aXNpdG9yIG1heSBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHRyYXZlcnNhbDpcbiAqICAgLSBgdW5kZWZpbmVkYCAoZGVmYXVsdCk6IERvIG5vdGhpbmcgYW5kIGNvbnRpbnVlXG4gKiAgIC0gYHZpc2l0LlNLSVBgOiBEbyBub3QgdmlzaXQgdGhlIGNoaWxkcmVuIG9mIHRoaXMgbm9kZSwgY29udGludWUgd2l0aCBuZXh0XG4gKiAgICAgc2libGluZ1xuICogICAtIGB2aXNpdC5CUkVBS2A6IFRlcm1pbmF0ZSB0cmF2ZXJzYWwgY29tcGxldGVseVxuICogICAtIGB2aXNpdC5SRU1PVkVgOiBSZW1vdmUgdGhlIGN1cnJlbnQgbm9kZSwgdGhlbiBjb250aW51ZSB3aXRoIHRoZSBuZXh0IG9uZVxuICogICAtIGBOb2RlYDogUmVwbGFjZSB0aGUgY3VycmVudCBub2RlLCB0aGVuIGNvbnRpbnVlIGJ5IHZpc2l0aW5nIGl0XG4gKiAgIC0gYG51bWJlcmA6IFdoaWxlIGl0ZXJhdGluZyB0aGUgaXRlbXMgb2YgYSBzZXF1ZW5jZSBvciBtYXAsIHNldCB0aGUgaW5kZXhcbiAqICAgICBvZiB0aGUgbmV4dCBzdGVwLiBUaGlzIGlzIHVzZWZ1bCBlc3BlY2lhbGx5IGlmIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudFxuICogICAgIG5vZGUgaGFzIGNoYW5nZWQuXG4gKlxuICogSWYgYHZpc2l0b3JgIGlzIGEgc2luZ2xlIGZ1bmN0aW9uLCBpdCB3aWxsIGJlIGNhbGxlZCB3aXRoIGFsbCB2YWx1ZXNcbiAqIGVuY291bnRlcmVkIGluIHRoZSB0cmVlLCBpbmNsdWRpbmcgZS5nLiBgbnVsbGAgdmFsdWVzLiBBbHRlcm5hdGl2ZWx5LFxuICogc2VwYXJhdGUgdmlzaXRvciBmdW5jdGlvbnMgbWF5IGJlIGRlZmluZWQgZm9yIGVhY2ggYE1hcGAsIGBQYWlyYCwgYFNlcWAsXG4gKiBgQWxpYXNgIGFuZCBgU2NhbGFyYCBub2RlLiBUbyBkZWZpbmUgdGhlIHNhbWUgdmlzaXRvciBmdW5jdGlvbiBmb3IgbW9yZSB0aGFuXG4gKiBvbmUgbm9kZSB0eXBlLCB1c2UgdGhlIGBDb2xsZWN0aW9uYCAobWFwIGFuZCBzZXEpLCBgVmFsdWVgIChtYXAsIHNlcSAmIHNjYWxhcilcbiAqIGFuZCBgTm9kZWAgKGFsaWFzLCBtYXAsIHNlcSAmIHNjYWxhcikgdGFyZ2V0cy4gT2YgYWxsIHRoZXNlLCBvbmx5IHRoZSBtb3N0XG4gKiBzcGVjaWZpYyBkZWZpbmVkIG9uZSB3aWxsIGJlIHVzZWQgZm9yIGVhY2ggbm9kZS5cbiAqL1xuZnVuY3Rpb24gdmlzaXQobm9kZSwgdmlzaXRvcikge1xuICAgIGNvbnN0IHZpc2l0b3JfID0gaW5pdFZpc2l0b3IodmlzaXRvcik7XG4gICAgaWYgKGlzRG9jdW1lbnQobm9kZSkpIHtcbiAgICAgICAgY29uc3QgY2QgPSB2aXNpdF8obnVsbCwgbm9kZS5jb250ZW50cywgdmlzaXRvcl8sIE9iamVjdC5mcmVlemUoW25vZGVdKSk7XG4gICAgICAgIGlmIChjZCA9PT0gUkVNT1ZFKVxuICAgICAgICAgICAgbm9kZS5jb250ZW50cyA9IG51bGw7XG4gICAgfVxuICAgIGVsc2VcbiAgICAgICAgdmlzaXRfKG51bGwsIG5vZGUsIHZpc2l0b3JfLCBPYmplY3QuZnJlZXplKFtdKSk7XG59XG4vLyBXaXRob3V0IHRoZSBgYXMgc3ltYm9sYCBjYXN0cywgVFMgZGVjbGFyZXMgdGhlc2UgaW4gdGhlIGB2aXNpdGBcbi8vIG5hbWVzcGFjZSB1c2luZyBgdmFyYCwgYnV0IHRoZW4gY29tcGxhaW5zIGFib3V0IHRoYXQgYmVjYXVzZVxuLy8gYHVuaXF1ZSBzeW1ib2xgIG11c3QgYmUgYGNvbnN0YC5cbi8qKiBUZXJtaW5hdGUgdmlzaXQgdHJhdmVyc2FsIGNvbXBsZXRlbHkgKi9cbnZpc2l0LkJSRUFLID0gQlJFQUs7XG4vKiogRG8gbm90IHZpc2l0IHRoZSBjaGlsZHJlbiBvZiB0aGUgY3VycmVudCBub2RlICovXG52aXNpdC5TS0lQID0gU0tJUDtcbi8qKiBSZW1vdmUgdGhlIGN1cnJlbnQgbm9kZSAqL1xudmlzaXQuUkVNT1ZFID0gUkVNT1ZFO1xuZnVuY3Rpb24gdmlzaXRfKGtleSwgbm9kZSwgdmlzaXRvciwgcGF0aCkge1xuICAgIGNvbnN0IGN0cmwgPSBjYWxsVmlzaXRvcihrZXksIG5vZGUsIHZpc2l0b3IsIHBhdGgpO1xuICAgIGlmIChpc05vZGUoY3RybCkgfHwgaXNQYWlyKGN0cmwpKSB7XG4gICAgICAgIHJlcGxhY2VOb2RlKGtleSwgcGF0aCwgY3RybCk7XG4gICAgICAgIHJldHVybiB2aXNpdF8oa2V5LCBjdHJsLCB2aXNpdG9yLCBwYXRoKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBjdHJsICE9PSAnc3ltYm9sJykge1xuICAgICAgICBpZiAoaXNDb2xsZWN0aW9uKG5vZGUpKSB7XG4gICAgICAgICAgICBwYXRoID0gT2JqZWN0LmZyZWV6ZShwYXRoLmNvbmNhdChub2RlKSk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGUuaXRlbXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaSA9IHZpc2l0XyhpLCBub2RlLml0ZW1zW2ldLCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNpID09PSAnbnVtYmVyJylcbiAgICAgICAgICAgICAgICAgICAgaSA9IGNpIC0gMTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBCUkVBSztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gUkVNT1ZFKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUuaXRlbXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICAgICAgICBpIC09IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzUGFpcihub2RlKSkge1xuICAgICAgICAgICAgcGF0aCA9IE9iamVjdC5mcmVlemUocGF0aC5jb25jYXQobm9kZSkpO1xuICAgICAgICAgICAgY29uc3QgY2sgPSB2aXNpdF8oJ2tleScsIG5vZGUua2V5LCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgIGlmIChjayA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgcmV0dXJuIEJSRUFLO1xuICAgICAgICAgICAgZWxzZSBpZiAoY2sgPT09IFJFTU9WRSlcbiAgICAgICAgICAgICAgICBub2RlLmtleSA9IG51bGw7XG4gICAgICAgICAgICBjb25zdCBjdiA9IHZpc2l0XygndmFsdWUnLCBub2RlLnZhbHVlLCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgIGlmIChjdiA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgcmV0dXJuIEJSRUFLO1xuICAgICAgICAgICAgZWxzZSBpZiAoY3YgPT09IFJFTU9WRSlcbiAgICAgICAgICAgICAgICBub2RlLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY3RybDtcbn1cbi8qKlxuICogQXBwbHkgYW4gYXN5bmMgdmlzaXRvciB0byBhbiBBU1Qgbm9kZSBvciBkb2N1bWVudC5cbiAqXG4gKiBXYWxrcyB0aHJvdWdoIHRoZSB0cmVlIChkZXB0aC1maXJzdCkgc3RhcnRpbmcgZnJvbSBgbm9kZWAsIGNhbGxpbmcgYVxuICogYHZpc2l0b3JgIGZ1bmN0aW9uIHdpdGggdGhyZWUgYXJndW1lbnRzOlxuICogICAtIGBrZXlgOiBGb3Igc2VxdWVuY2UgdmFsdWVzIGFuZCBtYXAgYFBhaXJgLCB0aGUgbm9kZSdzIGluZGV4IGluIHRoZVxuICogICAgIGNvbGxlY3Rpb24uIFdpdGhpbiBhIGBQYWlyYCwgYCdrZXknYCBvciBgJ3ZhbHVlJ2AsIGNvcnJlc3BvbmRpbmdseS5cbiAqICAgICBgbnVsbGAgZm9yIHRoZSByb290IG5vZGUuXG4gKiAgIC0gYG5vZGVgOiBUaGUgY3VycmVudCBub2RlLlxuICogICAtIGBwYXRoYDogVGhlIGFuY2VzdHJ5IG9mIHRoZSBjdXJyZW50IG5vZGUuXG4gKlxuICogVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgdmlzaXRvciBtYXkgYmUgdXNlZCB0byBjb250cm9sIHRoZSB0cmF2ZXJzYWw6XG4gKiAgIC0gYFByb21pc2VgOiBNdXN0IHJlc29sdmUgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzXG4gKiAgIC0gYHVuZGVmaW5lZGAgKGRlZmF1bHQpOiBEbyBub3RoaW5nIGFuZCBjb250aW51ZVxuICogICAtIGB2aXNpdC5TS0lQYDogRG8gbm90IHZpc2l0IHRoZSBjaGlsZHJlbiBvZiB0aGlzIG5vZGUsIGNvbnRpbnVlIHdpdGggbmV4dFxuICogICAgIHNpYmxpbmdcbiAqICAgLSBgdmlzaXQuQlJFQUtgOiBUZXJtaW5hdGUgdHJhdmVyc2FsIGNvbXBsZXRlbHlcbiAqICAgLSBgdmlzaXQuUkVNT1ZFYDogUmVtb3ZlIHRoZSBjdXJyZW50IG5vZGUsIHRoZW4gY29udGludWUgd2l0aCB0aGUgbmV4dCBvbmVcbiAqICAgLSBgTm9kZWA6IFJlcGxhY2UgdGhlIGN1cnJlbnQgbm9kZSwgdGhlbiBjb250aW51ZSBieSB2aXNpdGluZyBpdFxuICogICAtIGBudW1iZXJgOiBXaGlsZSBpdGVyYXRpbmcgdGhlIGl0ZW1zIG9mIGEgc2VxdWVuY2Ugb3IgbWFwLCBzZXQgdGhlIGluZGV4XG4gKiAgICAgb2YgdGhlIG5leHQgc3RlcC4gVGhpcyBpcyB1c2VmdWwgZXNwZWNpYWxseSBpZiB0aGUgaW5kZXggb2YgdGhlIGN1cnJlbnRcbiAqICAgICBub2RlIGhhcyBjaGFuZ2VkLlxuICpcbiAqIElmIGB2aXNpdG9yYCBpcyBhIHNpbmdsZSBmdW5jdGlvbiwgaXQgd2lsbCBiZSBjYWxsZWQgd2l0aCBhbGwgdmFsdWVzXG4gKiBlbmNvdW50ZXJlZCBpbiB0aGUgdHJlZSwgaW5jbHVkaW5nIGUuZy4gYG51bGxgIHZhbHVlcy4gQWx0ZXJuYXRpdmVseSxcbiAqIHNlcGFyYXRlIHZpc2l0b3IgZnVuY3Rpb25zIG1heSBiZSBkZWZpbmVkIGZvciBlYWNoIGBNYXBgLCBgUGFpcmAsIGBTZXFgLFxuICogYEFsaWFzYCBhbmQgYFNjYWxhcmAgbm9kZS4gVG8gZGVmaW5lIHRoZSBzYW1lIHZpc2l0b3IgZnVuY3Rpb24gZm9yIG1vcmUgdGhhblxuICogb25lIG5vZGUgdHlwZSwgdXNlIHRoZSBgQ29sbGVjdGlvbmAgKG1hcCBhbmQgc2VxKSwgYFZhbHVlYCAobWFwLCBzZXEgJiBzY2FsYXIpXG4gKiBhbmQgYE5vZGVgIChhbGlhcywgbWFwLCBzZXEgJiBzY2FsYXIpIHRhcmdldHMuIE9mIGFsbCB0aGVzZSwgb25seSB0aGUgbW9zdFxuICogc3BlY2lmaWMgZGVmaW5lZCBvbmUgd2lsbCBiZSB1c2VkIGZvciBlYWNoIG5vZGUuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHZpc2l0QXN5bmMobm9kZSwgdmlzaXRvcikge1xuICAgIGNvbnN0IHZpc2l0b3JfID0gaW5pdFZpc2l0b3IodmlzaXRvcik7XG4gICAgaWYgKGlzRG9jdW1lbnQobm9kZSkpIHtcbiAgICAgICAgY29uc3QgY2QgPSBhd2FpdCB2aXNpdEFzeW5jXyhudWxsLCBub2RlLmNvbnRlbnRzLCB2aXNpdG9yXywgT2JqZWN0LmZyZWV6ZShbbm9kZV0pKTtcbiAgICAgICAgaWYgKGNkID09PSBSRU1PVkUpXG4gICAgICAgICAgICBub2RlLmNvbnRlbnRzID0gbnVsbDtcbiAgICB9XG4gICAgZWxzZVxuICAgICAgICBhd2FpdCB2aXNpdEFzeW5jXyhudWxsLCBub2RlLCB2aXNpdG9yXywgT2JqZWN0LmZyZWV6ZShbXSkpO1xufVxuLy8gV2l0aG91dCB0aGUgYGFzIHN5bWJvbGAgY2FzdHMsIFRTIGRlY2xhcmVzIHRoZXNlIGluIHRoZSBgdmlzaXRgXG4vLyBuYW1lc3BhY2UgdXNpbmcgYHZhcmAsIGJ1dCB0aGVuIGNvbXBsYWlucyBhYm91dCB0aGF0IGJlY2F1c2Vcbi8vIGB1bmlxdWUgc3ltYm9sYCBtdXN0IGJlIGBjb25zdGAuXG4vKiogVGVybWluYXRlIHZpc2l0IHRyYXZlcnNhbCBjb21wbGV0ZWx5ICovXG52aXNpdEFzeW5jLkJSRUFLID0gQlJFQUs7XG4vKiogRG8gbm90IHZpc2l0IHRoZSBjaGlsZHJlbiBvZiB0aGUgY3VycmVudCBub2RlICovXG52aXNpdEFzeW5jLlNLSVAgPSBTS0lQO1xuLyoqIFJlbW92ZSB0aGUgY3VycmVudCBub2RlICovXG52aXNpdEFzeW5jLlJFTU9WRSA9IFJFTU9WRTtcbmFzeW5jIGZ1bmN0aW9uIHZpc2l0QXN5bmNfKGtleSwgbm9kZSwgdmlzaXRvciwgcGF0aCkge1xuICAgIGNvbnN0IGN0cmwgPSBhd2FpdCBjYWxsVmlzaXRvcihrZXksIG5vZGUsIHZpc2l0b3IsIHBhdGgpO1xuICAgIGlmIChpc05vZGUoY3RybCkgfHwgaXNQYWlyKGN0cmwpKSB7XG4gICAgICAgIHJlcGxhY2VOb2RlKGtleSwgcGF0aCwgY3RybCk7XG4gICAgICAgIHJldHVybiB2aXNpdEFzeW5jXyhrZXksIGN0cmwsIHZpc2l0b3IsIHBhdGgpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGN0cmwgIT09ICdzeW1ib2wnKSB7XG4gICAgICAgIGlmIChpc0NvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgICAgIHBhdGggPSBPYmplY3QuZnJlZXplKHBhdGguY29uY2F0KG5vZGUpKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5pdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNpID0gYXdhaXQgdmlzaXRBc3luY18oaSwgbm9kZS5pdGVtc1tpXSwgdmlzaXRvciwgcGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaSA9PT0gJ251bWJlcicpXG4gICAgICAgICAgICAgICAgICAgIGkgPSBjaSAtIDE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2kgPT09IEJSRUFLKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gQlJFQUs7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2kgPT09IFJFTU9WRSkge1xuICAgICAgICAgICAgICAgICAgICBub2RlLml0ZW1zLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgaSAtPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1BhaXIobm9kZSkpIHtcbiAgICAgICAgICAgIHBhdGggPSBPYmplY3QuZnJlZXplKHBhdGguY29uY2F0KG5vZGUpKTtcbiAgICAgICAgICAgIGNvbnN0IGNrID0gYXdhaXQgdmlzaXRBc3luY18oJ2tleScsIG5vZGUua2V5LCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgIGlmIChjayA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgcmV0dXJuIEJSRUFLO1xuICAgICAgICAgICAgZWxzZSBpZiAoY2sgPT09IFJFTU9WRSlcbiAgICAgICAgICAgICAgICBub2RlLmtleSA9IG51bGw7XG4gICAgICAgICAgICBjb25zdCBjdiA9IGF3YWl0IHZpc2l0QXN5bmNfKCd2YWx1ZScsIG5vZGUudmFsdWUsIHZpc2l0b3IsIHBhdGgpO1xuICAgICAgICAgICAgaWYgKGN2ID09PSBCUkVBSylcbiAgICAgICAgICAgICAgICByZXR1cm4gQlJFQUs7XG4gICAgICAgICAgICBlbHNlIGlmIChjdiA9PT0gUkVNT1ZFKVxuICAgICAgICAgICAgICAgIG5vZGUudmFsdWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjdHJsO1xufVxuZnVuY3Rpb24gaW5pdFZpc2l0b3IodmlzaXRvcikge1xuICAgIGlmICh0eXBlb2YgdmlzaXRvciA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgKHZpc2l0b3IuQ29sbGVjdGlvbiB8fCB2aXNpdG9yLk5vZGUgfHwgdmlzaXRvci5WYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgQWxpYXM6IHZpc2l0b3IuTm9kZSxcbiAgICAgICAgICAgIE1hcDogdmlzaXRvci5Ob2RlLFxuICAgICAgICAgICAgU2NhbGFyOiB2aXNpdG9yLk5vZGUsXG4gICAgICAgICAgICBTZXE6IHZpc2l0b3IuTm9kZVxuICAgICAgICB9LCB2aXNpdG9yLlZhbHVlICYmIHtcbiAgICAgICAgICAgIE1hcDogdmlzaXRvci5WYWx1ZSxcbiAgICAgICAgICAgIFNjYWxhcjogdmlzaXRvci5WYWx1ZSxcbiAgICAgICAgICAgIFNlcTogdmlzaXRvci5WYWx1ZVxuICAgICAgICB9LCB2aXNpdG9yLkNvbGxlY3Rpb24gJiYge1xuICAgICAgICAgICAgTWFwOiB2aXNpdG9yLkNvbGxlY3Rpb24sXG4gICAgICAgICAgICBTZXE6IHZpc2l0b3IuQ29sbGVjdGlvblxuICAgICAgICB9LCB2aXNpdG9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHZpc2l0b3I7XG59XG5mdW5jdGlvbiBjYWxsVmlzaXRvcihrZXksIG5vZGUsIHZpc2l0b3IsIHBhdGgpIHtcbiAgICBpZiAodHlwZW9mIHZpc2l0b3IgPT09ICdmdW5jdGlvbicpXG4gICAgICAgIHJldHVybiB2aXNpdG9yKGtleSwgbm9kZSwgcGF0aCk7XG4gICAgaWYgKGlzTWFwKG5vZGUpKVxuICAgICAgICByZXR1cm4gdmlzaXRvci5NYXA/LihrZXksIG5vZGUsIHBhdGgpO1xuICAgIGlmIChpc1NlcShub2RlKSlcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IuU2VxPy4oa2V5LCBub2RlLCBwYXRoKTtcbiAgICBpZiAoaXNQYWlyKG5vZGUpKVxuICAgICAgICByZXR1cm4gdmlzaXRvci5QYWlyPy4oa2V5LCBub2RlLCBwYXRoKTtcbiAgICBpZiAoaXNTY2FsYXIobm9kZSkpXG4gICAgICAgIHJldHVybiB2aXNpdG9yLlNjYWxhcj8uKGtleSwgbm9kZSwgcGF0aCk7XG4gICAgaWYgKGlzQWxpYXMobm9kZSkpXG4gICAgICAgIHJldHVybiB2aXNpdG9yLkFsaWFzPy4oa2V5LCBub2RlLCBwYXRoKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gcmVwbGFjZU5vZGUoa2V5LCBwYXRoLCBub2RlKSB7XG4gICAgY29uc3QgcGFyZW50ID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdO1xuICAgIGlmIChpc0NvbGxlY3Rpb24ocGFyZW50KSkge1xuICAgICAgICBwYXJlbnQuaXRlbXNba2V5XSA9IG5vZGU7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUGFpcihwYXJlbnQpKSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdrZXknKVxuICAgICAgICAgICAgcGFyZW50LmtleSA9IG5vZGU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHBhcmVudC52YWx1ZSA9IG5vZGU7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzRG9jdW1lbnQocGFyZW50KSkge1xuICAgICAgICBwYXJlbnQuY29udGVudHMgPSBub2RlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgcHQgPSBpc0FsaWFzKHBhcmVudCkgPyAnYWxpYXMnIDogJ3NjYWxhcic7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlcGxhY2Ugbm9kZSB3aXRoICR7cHR9IHBhcmVudGApO1xuICAgIH1cbn1cblxuZXhwb3J0IHsgdmlzaXQsIHZpc2l0QXN5bmMgfTtcbiIsICJpbXBvcnQgeyBpc05vZGUgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyB2aXNpdCB9IGZyb20gJy4uL3Zpc2l0LmpzJztcblxuY29uc3QgZXNjYXBlQ2hhcnMgPSB7XG4gICAgJyEnOiAnJTIxJyxcbiAgICAnLCc6ICclMkMnLFxuICAgICdbJzogJyU1QicsXG4gICAgJ10nOiAnJTVEJyxcbiAgICAneyc6ICclN0InLFxuICAgICd9JzogJyU3RCdcbn07XG5jb25zdCBlc2NhcGVUYWdOYW1lID0gKHRuKSA9PiB0bi5yZXBsYWNlKC9bISxbXFxde31dL2csIGNoID0+IGVzY2FwZUNoYXJzW2NoXSk7XG5jbGFzcyBEaXJlY3RpdmVzIHtcbiAgICBjb25zdHJ1Y3Rvcih5YW1sLCB0YWdzKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgZGlyZWN0aXZlcy1lbmQvZG9jLXN0YXJ0IG1hcmtlciBgLS0tYC4gSWYgYG51bGxgLCBhIG1hcmtlciBtYXkgc3RpbGwgYmVcbiAgICAgICAgICogaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50J3Mgc3RyaW5naWZpZWQgcmVwcmVzZW50YXRpb24uXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmRvY1N0YXJ0ID0gbnVsbDtcbiAgICAgICAgLyoqIFRoZSBkb2MtZW5kIG1hcmtlciBgLi4uYC4gICovXG4gICAgICAgIHRoaXMuZG9jRW5kID0gZmFsc2U7XG4gICAgICAgIHRoaXMueWFtbCA9IE9iamVjdC5hc3NpZ24oe30sIERpcmVjdGl2ZXMuZGVmYXVsdFlhbWwsIHlhbWwpO1xuICAgICAgICB0aGlzLnRhZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBEaXJlY3RpdmVzLmRlZmF1bHRUYWdzLCB0YWdzKTtcbiAgICB9XG4gICAgY2xvbmUoKSB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBuZXcgRGlyZWN0aXZlcyh0aGlzLnlhbWwsIHRoaXMudGFncyk7XG4gICAgICAgIGNvcHkuZG9jU3RhcnQgPSB0aGlzLmRvY1N0YXJ0O1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRHVyaW5nIHBhcnNpbmcsIGdldCBhIERpcmVjdGl2ZXMgaW5zdGFuY2UgZm9yIHRoZSBjdXJyZW50IGRvY3VtZW50IGFuZFxuICAgICAqIHVwZGF0ZSB0aGUgc3RyZWFtIHN0YXRlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCB2ZXJzaW9uJ3Mgc3BlYy5cbiAgICAgKi9cbiAgICBhdERvY3VtZW50KCkge1xuICAgICAgICBjb25zdCByZXMgPSBuZXcgRGlyZWN0aXZlcyh0aGlzLnlhbWwsIHRoaXMudGFncyk7XG4gICAgICAgIHN3aXRjaCAodGhpcy55YW1sLnZlcnNpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJzEuMSc6XG4gICAgICAgICAgICAgICAgdGhpcy5hdE5leHREb2N1bWVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcxLjInOlxuICAgICAgICAgICAgICAgIHRoaXMuYXROZXh0RG9jdW1lbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnlhbWwgPSB7XG4gICAgICAgICAgICAgICAgICAgIGV4cGxpY2l0OiBEaXJlY3RpdmVzLmRlZmF1bHRZYW1sLmV4cGxpY2l0LFxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOiAnMS4yJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy50YWdzID0gT2JqZWN0LmFzc2lnbih7fSwgRGlyZWN0aXZlcy5kZWZhdWx0VGFncyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQHBhcmFtIG9uRXJyb3IgLSBNYXkgYmUgY2FsbGVkIGV2ZW4gaWYgdGhlIGFjdGlvbiB3YXMgc3VjY2Vzc2Z1bFxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBvbiBzdWNjZXNzXG4gICAgICovXG4gICAgYWRkKGxpbmUsIG9uRXJyb3IpIHtcbiAgICAgICAgaWYgKHRoaXMuYXROZXh0RG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMueWFtbCA9IHsgZXhwbGljaXQ6IERpcmVjdGl2ZXMuZGVmYXVsdFlhbWwuZXhwbGljaXQsIHZlcnNpb246ICcxLjEnIH07XG4gICAgICAgICAgICB0aGlzLnRhZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBEaXJlY3RpdmVzLmRlZmF1bHRUYWdzKTtcbiAgICAgICAgICAgIHRoaXMuYXROZXh0RG9jdW1lbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJ0cyA9IGxpbmUudHJpbSgpLnNwbGl0KC9bIFxcdF0rLyk7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBwYXJ0cy5zaGlmdCgpO1xuICAgICAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgJyVUQUcnOiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMikge1xuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKDAsICclVEFHIGRpcmVjdGl2ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IHR3byBwYXJ0cycpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoIDwgMilcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgW2hhbmRsZSwgcHJlZml4XSA9IHBhcnRzO1xuICAgICAgICAgICAgICAgIHRoaXMudGFnc1toYW5kbGVdID0gcHJlZml4O1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnJVlBTUwnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy55YW1sLmV4cGxpY2l0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoMCwgJyVZQU1MIGRpcmVjdGl2ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IG9uZSBwYXJ0Jyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgW3ZlcnNpb25dID0gcGFydHM7XG4gICAgICAgICAgICAgICAgaWYgKHZlcnNpb24gPT09ICcxLjEnIHx8IHZlcnNpb24gPT09ICcxLjInKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMueWFtbC52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gL15cXGQrXFwuXFxkKyQvLnRlc3QodmVyc2lvbik7XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoNiwgYFVuc3VwcG9ydGVkIFlBTUwgdmVyc2lvbiAke3ZlcnNpb259YCwgaXNWYWxpZCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIG9uRXJyb3IoMCwgYFVua25vd24gZGlyZWN0aXZlICR7bmFtZX1gLCB0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzb2x2ZXMgYSB0YWcsIG1hdGNoaW5nIGhhbmRsZXMgdG8gdGhvc2UgZGVmaW5lZCBpbiAlVEFHIGRpcmVjdGl2ZXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBSZXNvbHZlZCB0YWcsIHdoaWNoIG1heSBhbHNvIGJlIHRoZSBub24tc3BlY2lmaWMgdGFnIGAnISdgIG9yIGFcbiAgICAgKiAgIGAnIWxvY2FsJ2AgdGFnLCBvciBgbnVsbGAgaWYgdW5yZXNvbHZhYmxlLlxuICAgICAqL1xuICAgIHRhZ05hbWUoc291cmNlLCBvbkVycm9yKSB7XG4gICAgICAgIGlmIChzb3VyY2UgPT09ICchJylcbiAgICAgICAgICAgIHJldHVybiAnISc7IC8vIG5vbi1zcGVjaWZpYyB0YWdcbiAgICAgICAgaWYgKHNvdXJjZVswXSAhPT0gJyEnKSB7XG4gICAgICAgICAgICBvbkVycm9yKGBOb3QgYSB2YWxpZCB0YWc6ICR7c291cmNlfWApO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvdXJjZVsxXSA9PT0gJzwnKSB7XG4gICAgICAgICAgICBjb25zdCB2ZXJiYXRpbSA9IHNvdXJjZS5zbGljZSgyLCAtMSk7XG4gICAgICAgICAgICBpZiAodmVyYmF0aW0gPT09ICchJyB8fCB2ZXJiYXRpbSA9PT0gJyEhJykge1xuICAgICAgICAgICAgICAgIG9uRXJyb3IoYFZlcmJhdGltIHRhZ3MgYXJlbid0IHJlc29sdmVkLCBzbyAke3NvdXJjZX0gaXMgaW52YWxpZC5gKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzb3VyY2Vbc291cmNlLmxlbmd0aCAtIDFdICE9PSAnPicpXG4gICAgICAgICAgICAgICAgb25FcnJvcignVmVyYmF0aW0gdGFncyBtdXN0IGVuZCB3aXRoIGEgPicpO1xuICAgICAgICAgICAgcmV0dXJuIHZlcmJhdGltO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFssIGhhbmRsZSwgc3VmZml4XSA9IHNvdXJjZS5tYXRjaCgvXiguKiEpKFteIV0qKSQvcyk7XG4gICAgICAgIGlmICghc3VmZml4KVxuICAgICAgICAgICAgb25FcnJvcihgVGhlICR7c291cmNlfSB0YWcgaGFzIG5vIHN1ZmZpeGApO1xuICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLnRhZ3NbaGFuZGxlXTtcbiAgICAgICAgaWYgKHByZWZpeCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJlZml4ICsgZGVjb2RlVVJJQ29tcG9uZW50KHN1ZmZpeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yKFN0cmluZyhlcnJvcikpO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChoYW5kbGUgPT09ICchJylcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2U7IC8vIGxvY2FsIHRhZ1xuICAgICAgICBvbkVycm9yKGBDb3VsZCBub3QgcmVzb2x2ZSB0YWc6ICR7c291cmNlfWApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2l2ZW4gYSBmdWxseSByZXNvbHZlZCB0YWcsIHJldHVybnMgaXRzIHByaW50YWJsZSBzdHJpbmcgZm9ybSxcbiAgICAgKiB0YWtpbmcgaW50byBhY2NvdW50IGN1cnJlbnQgdGFnIHByZWZpeGVzIGFuZCBkZWZhdWx0cy5cbiAgICAgKi9cbiAgICB0YWdTdHJpbmcodGFnKSB7XG4gICAgICAgIGZvciAoY29uc3QgW2hhbmRsZSwgcHJlZml4XSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhZ3MpKSB7XG4gICAgICAgICAgICBpZiAodGFnLnN0YXJ0c1dpdGgocHJlZml4KSlcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlICsgZXNjYXBlVGFnTmFtZSh0YWcuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGFnWzBdID09PSAnIScgPyB0YWcgOiBgITwke3RhZ30+YDtcbiAgICB9XG4gICAgdG9TdHJpbmcoZG9jKSB7XG4gICAgICAgIGNvbnN0IGxpbmVzID0gdGhpcy55YW1sLmV4cGxpY2l0XG4gICAgICAgICAgICA/IFtgJVlBTUwgJHt0aGlzLnlhbWwudmVyc2lvbiB8fCAnMS4yJ31gXVxuICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgY29uc3QgdGFnRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMudGFncyk7XG4gICAgICAgIGxldCB0YWdOYW1lcztcbiAgICAgICAgaWYgKGRvYyAmJiB0YWdFbnRyaWVzLmxlbmd0aCA+IDAgJiYgaXNOb2RlKGRvYy5jb250ZW50cykpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSB7fTtcbiAgICAgICAgICAgIHZpc2l0KGRvYy5jb250ZW50cywgKF9rZXksIG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNOb2RlKG5vZGUpICYmIG5vZGUudGFnKVxuICAgICAgICAgICAgICAgICAgICB0YWdzW25vZGUudGFnXSA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhZ05hbWVzID0gT2JqZWN0LmtleXModGFncyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGFnTmFtZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBbaGFuZGxlLCBwcmVmaXhdIG9mIHRhZ0VudHJpZXMpIHtcbiAgICAgICAgICAgIGlmIChoYW5kbGUgPT09ICchIScgJiYgcHJlZml4ID09PSAndGFnOnlhbWwub3JnLDIwMDI6JylcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGlmICghZG9jIHx8IHRhZ05hbWVzLnNvbWUodG4gPT4gdG4uc3RhcnRzV2l0aChwcmVmaXgpKSlcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKGAlVEFHICR7aGFuZGxlfSAke3ByZWZpeH1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluZXMuam9pbignXFxuJyk7XG4gICAgfVxufVxuRGlyZWN0aXZlcy5kZWZhdWx0WWFtbCA9IHsgZXhwbGljaXQ6IGZhbHNlLCB2ZXJzaW9uOiAnMS4yJyB9O1xuRGlyZWN0aXZlcy5kZWZhdWx0VGFncyA9IHsgJyEhJzogJ3RhZzp5YW1sLm9yZywyMDAyOicgfTtcblxuZXhwb3J0IHsgRGlyZWN0aXZlcyB9O1xuIiwgImltcG9ydCB7IGlzU2NhbGFyLCBpc0NvbGxlY3Rpb24gfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyB2aXNpdCB9IGZyb20gJy4uL3Zpc2l0LmpzJztcblxuLyoqXG4gKiBWZXJpZnkgdGhhdCB0aGUgaW5wdXQgc3RyaW5nIGlzIGEgdmFsaWQgYW5jaG9yLlxuICpcbiAqIFdpbGwgdGhyb3cgb24gZXJyb3JzLlxuICovXG5mdW5jdGlvbiBhbmNob3JJc1ZhbGlkKGFuY2hvcikge1xuICAgIGlmICgvW1xceDAwLVxceDE5XFxzLFtcXF17fV0vLnRlc3QoYW5jaG9yKSkge1xuICAgICAgICBjb25zdCBzYSA9IEpTT04uc3RyaW5naWZ5KGFuY2hvcik7XG4gICAgICAgIGNvbnN0IG1zZyA9IGBBbmNob3IgbXVzdCBub3QgY29udGFpbiB3aGl0ZXNwYWNlIG9yIGNvbnRyb2wgY2hhcmFjdGVyczogJHtzYX1gO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobXNnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBhbmNob3JOYW1lcyhyb290KSB7XG4gICAgY29uc3QgYW5jaG9ycyA9IG5ldyBTZXQoKTtcbiAgICB2aXNpdChyb290LCB7XG4gICAgICAgIFZhbHVlKF9rZXksIG5vZGUpIHtcbiAgICAgICAgICAgIGlmIChub2RlLmFuY2hvcilcbiAgICAgICAgICAgICAgICBhbmNob3JzLmFkZChub2RlLmFuY2hvcik7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYW5jaG9ycztcbn1cbi8qKiBGaW5kIGEgbmV3IGFuY2hvciBuYW1lIHdpdGggdGhlIGdpdmVuIGBwcmVmaXhgIGFuZCBhIG9uZS1pbmRleGVkIHN1ZmZpeC4gKi9cbmZ1bmN0aW9uIGZpbmROZXdBbmNob3IocHJlZml4LCBleGNsdWRlKSB7XG4gICAgZm9yIChsZXQgaSA9IDE7IHRydWU7ICsraSkge1xuICAgICAgICBjb25zdCBuYW1lID0gYCR7cHJlZml4fSR7aX1gO1xuICAgICAgICBpZiAoIWV4Y2x1ZGUuaGFzKG5hbWUpKVxuICAgICAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlTm9kZUFuY2hvcnMoZG9jLCBwcmVmaXgpIHtcbiAgICBjb25zdCBhbGlhc09iamVjdHMgPSBbXTtcbiAgICBjb25zdCBzb3VyY2VPYmplY3RzID0gbmV3IE1hcCgpO1xuICAgIGxldCBwcmV2QW5jaG9ycyA9IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgb25BbmNob3I6IChzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIGFsaWFzT2JqZWN0cy5wdXNoKHNvdXJjZSk7XG4gICAgICAgICAgICBpZiAoIXByZXZBbmNob3JzKVxuICAgICAgICAgICAgICAgIHByZXZBbmNob3JzID0gYW5jaG9yTmFtZXMoZG9jKTtcbiAgICAgICAgICAgIGNvbnN0IGFuY2hvciA9IGZpbmROZXdBbmNob3IocHJlZml4LCBwcmV2QW5jaG9ycyk7XG4gICAgICAgICAgICBwcmV2QW5jaG9ycy5hZGQoYW5jaG9yKTtcbiAgICAgICAgICAgIHJldHVybiBhbmNob3I7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXaXRoIGNpcmN1bGFyIHJlZmVyZW5jZXMsIHRoZSBzb3VyY2Ugbm9kZSBpcyBvbmx5IHJlc29sdmVkIGFmdGVyIGFsbFxuICAgICAgICAgKiBvZiBpdHMgY2hpbGQgbm9kZXMgYXJlLiBUaGlzIGlzIHdoeSBhbmNob3JzIGFyZSBzZXQgb25seSBhZnRlciBhbGwgb2ZcbiAgICAgICAgICogdGhlIG5vZGVzIGhhdmUgYmVlbiBjcmVhdGVkLlxuICAgICAgICAgKi9cbiAgICAgICAgc2V0QW5jaG9yczogKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzb3VyY2Ugb2YgYWxpYXNPYmplY3RzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmID0gc291cmNlT2JqZWN0cy5nZXQoc291cmNlKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVmLmFuY2hvciAmJlxuICAgICAgICAgICAgICAgICAgICAoaXNTY2FsYXIocmVmLm5vZGUpIHx8IGlzQ29sbGVjdGlvbihyZWYubm9kZSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZi5ub2RlLmFuY2hvciA9IHJlZi5hbmNob3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignRmFpbGVkIHRvIHJlc29sdmUgcmVwZWF0ZWQgb2JqZWN0ICh0aGlzIHNob3VsZCBub3QgaGFwcGVuKScpO1xuICAgICAgICAgICAgICAgICAgICBlcnJvci5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc291cmNlT2JqZWN0c1xuICAgIH07XG59XG5cbmV4cG9ydCB7IGFuY2hvcklzVmFsaWQsIGFuY2hvck5hbWVzLCBjcmVhdGVOb2RlQW5jaG9ycywgZmluZE5ld0FuY2hvciB9O1xuIiwgIi8qKlxuICogQXBwbGllcyB0aGUgSlNPTi5wYXJzZSByZXZpdmVyIGFsZ29yaXRobSBhcyBkZWZpbmVkIGluIHRoZSBFQ01BLTI2MiBzcGVjLFxuICogaW4gc2VjdGlvbiAyNC41LjEuMSBcIlJ1bnRpbWUgU2VtYW50aWNzOiBJbnRlcm5hbGl6ZUpTT05Qcm9wZXJ0eVwiIG9mIHRoZVxuICogMjAyMSBlZGl0aW9uOiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWpzb24ucGFyc2VcbiAqXG4gKiBJbmNsdWRlcyBleHRlbnNpb25zIGZvciBoYW5kbGluZyBNYXAgYW5kIFNldCBvYmplY3RzLlxuICovXG5mdW5jdGlvbiBhcHBseVJldml2ZXIocmV2aXZlciwgb2JqLCBrZXksIHZhbCkge1xuICAgIGlmICh2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHZhbC5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHYwID0gdmFsW2ldO1xuICAgICAgICAgICAgICAgIGNvbnN0IHYxID0gYXBwbHlSZXZpdmVyKHJldml2ZXIsIHZhbCwgU3RyaW5nKGkpLCB2MCk7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1hcnJheS1kZWxldGVcbiAgICAgICAgICAgICAgICBpZiAodjEgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZhbFtpXTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2MSAhPT0gdjApXG4gICAgICAgICAgICAgICAgICAgIHZhbFtpXSA9IHYxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbCBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrIG9mIEFycmF5LmZyb20odmFsLmtleXMoKSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2MCA9IHZhbC5nZXQoayk7XG4gICAgICAgICAgICAgICAgY29uc3QgdjEgPSBhcHBseVJldml2ZXIocmV2aXZlciwgdmFsLCBrLCB2MCk7XG4gICAgICAgICAgICAgICAgaWYgKHYxID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgIHZhbC5kZWxldGUoayk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodjEgIT09IHYwKVxuICAgICAgICAgICAgICAgICAgICB2YWwuc2V0KGssIHYxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWwgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdjAgb2YgQXJyYXkuZnJvbSh2YWwpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdjEgPSBhcHBseVJldml2ZXIocmV2aXZlciwgdmFsLCB2MCwgdjApO1xuICAgICAgICAgICAgICAgIGlmICh2MSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgICB2YWwuZGVsZXRlKHYwKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2MSAhPT0gdjApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsLmRlbGV0ZSh2MCk7XG4gICAgICAgICAgICAgICAgICAgIHZhbC5hZGQodjEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2ssIHYwXSBvZiBPYmplY3QuZW50cmllcyh2YWwpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdjEgPSBhcHBseVJldml2ZXIocmV2aXZlciwgdmFsLCBrLCB2MCk7XG4gICAgICAgICAgICAgICAgaWYgKHYxID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2YWxba107XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodjEgIT09IHYwKVxuICAgICAgICAgICAgICAgICAgICB2YWxba10gPSB2MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV2aXZlci5jYWxsKG9iaiwga2V5LCB2YWwpO1xufVxuXG5leHBvcnQgeyBhcHBseVJldml2ZXIgfTtcbiIsICJpbXBvcnQgeyBoYXNBbmNob3IgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcblxuLyoqXG4gKiBSZWN1cnNpdmVseSBjb252ZXJ0IGFueSBub2RlIG9yIGl0cyBjb250ZW50cyB0byBuYXRpdmUgSmF2YVNjcmlwdFxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZVxuICogQHBhcmFtIGFyZyAtIElmIGB2YWx1ZWAgZGVmaW5lcyBhIGB0b0pTT04oKWAgbWV0aG9kLCB1c2UgdGhpc1xuICogICBhcyBpdHMgZmlyc3QgYXJndW1lbnRcbiAqIEBwYXJhbSBjdHggLSBDb252ZXJzaW9uIGNvbnRleHQsIG9yaWdpbmFsbHkgc2V0IGluIERvY3VtZW50I3RvSlMoKS4gSWZcbiAqICAgYHsga2VlcDogdHJ1ZSB9YCBpcyBub3Qgc2V0LCBvdXRwdXQgc2hvdWxkIGJlIHN1aXRhYmxlIGZvciBKU09OXG4gKiAgIHN0cmluZ2lmaWNhdGlvbi5cbiAqL1xuZnVuY3Rpb24gdG9KUyh2YWx1ZSwgYXJnLCBjdHgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgIHJldHVybiB2YWx1ZS5tYXAoKHYsIGkpID0+IHRvSlModiwgU3RyaW5nKGkpLCBjdHgpKTtcbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRvSlNPTiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsXG4gICAgICAgIGlmICghY3R4IHx8ICFoYXNBbmNob3IodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvSlNPTihhcmcsIGN0eCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7IGFsaWFzQ291bnQ6IDAsIGNvdW50OiAxLCByZXM6IHVuZGVmaW5lZCB9O1xuICAgICAgICBjdHguYW5jaG9ycy5zZXQodmFsdWUsIGRhdGEpO1xuICAgICAgICBjdHgub25DcmVhdGUgPSByZXMgPT4ge1xuICAgICAgICAgICAgZGF0YS5yZXMgPSByZXM7XG4gICAgICAgICAgICBkZWxldGUgY3R4Lm9uQ3JlYXRlO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXMgPSB2YWx1ZS50b0pTT04oYXJnLCBjdHgpO1xuICAgICAgICBpZiAoY3R4Lm9uQ3JlYXRlKVxuICAgICAgICAgICAgY3R4Lm9uQ3JlYXRlKHJlcyk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnICYmICFjdHg/LmtlZXApXG4gICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IHsgdG9KUyB9O1xuIiwgImltcG9ydCB7IGFwcGx5UmV2aXZlciB9IGZyb20gJy4uL2RvYy9hcHBseVJldml2ZXIuanMnO1xuaW1wb3J0IHsgTk9ERV9UWVBFLCBpc0RvY3VtZW50IH0gZnJvbSAnLi9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi90b0pTLmpzJztcblxuY2xhc3MgTm9kZUJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHR5cGUpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIE5PREVfVFlQRSwgeyB2YWx1ZTogdHlwZSB9KTtcbiAgICB9XG4gICAgLyoqIENyZWF0ZSBhIGNvcHkgb2YgdGhpcyBub2RlLiAgKi9cbiAgICBjbG9uZSgpIHtcbiAgICAgICAgY29uc3QgY29weSA9IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7XG4gICAgICAgIGlmICh0aGlzLnJhbmdlKVxuICAgICAgICAgICAgY29weS5yYW5nZSA9IHRoaXMucmFuZ2Uuc2xpY2UoKTtcbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuICAgIC8qKiBBIHBsYWluIEphdmFTY3JpcHQgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBub2RlLiAqL1xuICAgIHRvSlMoZG9jLCB7IG1hcEFzTWFwLCBtYXhBbGlhc0NvdW50LCBvbkFuY2hvciwgcmV2aXZlciB9ID0ge30pIHtcbiAgICAgICAgaWYgKCFpc0RvY3VtZW50KGRvYykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBIGRvY3VtZW50IGFyZ3VtZW50IGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGFuY2hvcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgIGtlZXA6IHRydWUsXG4gICAgICAgICAgICBtYXBBc01hcDogbWFwQXNNYXAgPT09IHRydWUsXG4gICAgICAgICAgICBtYXBLZXlXYXJuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWF4QWxpYXNDb3VudDogdHlwZW9mIG1heEFsaWFzQ291bnQgPT09ICdudW1iZXInID8gbWF4QWxpYXNDb3VudCA6IDEwMFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXMgPSB0b0pTKHRoaXMsICcnLCBjdHgpO1xuICAgICAgICBpZiAodHlwZW9mIG9uQW5jaG9yID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgZm9yIChjb25zdCB7IGNvdW50LCByZXMgfSBvZiBjdHguYW5jaG9ycy52YWx1ZXMoKSlcbiAgICAgICAgICAgICAgICBvbkFuY2hvcihyZXMsIGNvdW50KTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByZXZpdmVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IGFwcGx5UmV2aXZlcihyZXZpdmVyLCB7ICcnOiByZXMgfSwgJycsIHJlcylcbiAgICAgICAgICAgIDogcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IHsgTm9kZUJhc2UgfTtcbiIsICJpbXBvcnQgeyBhbmNob3JJc1ZhbGlkIH0gZnJvbSAnLi4vZG9jL2FuY2hvcnMuanMnO1xuaW1wb3J0IHsgdmlzaXQgfSBmcm9tICcuLi92aXNpdC5qcyc7XG5pbXBvcnQgeyBBTElBUywgaXNBbGlhcywgaXNDb2xsZWN0aW9uLCBpc1BhaXIgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IE5vZGVCYXNlIH0gZnJvbSAnLi9Ob2RlLmpzJztcbmltcG9ydCB7IHRvSlMgfSBmcm9tICcuL3RvSlMuanMnO1xuXG5jbGFzcyBBbGlhcyBleHRlbmRzIE5vZGVCYXNlIHtcbiAgICBjb25zdHJ1Y3Rvcihzb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoQUxJQVMpO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0YWcnLCB7XG4gICAgICAgICAgICBzZXQoKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBbGlhcyBub2RlcyBjYW5ub3QgaGF2ZSB0YWdzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNvbHZlIHRoZSB2YWx1ZSBvZiB0aGlzIGFsaWFzIHdpdGhpbiBgZG9jYCwgZmluZGluZyB0aGUgbGFzdFxuICAgICAqIGluc3RhbmNlIG9mIHRoZSBgc291cmNlYCBhbmNob3IgYmVmb3JlIHRoaXMgbm9kZS5cbiAgICAgKi9cbiAgICByZXNvbHZlKGRvYykge1xuICAgICAgICBsZXQgZm91bmQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHZpc2l0KGRvYywge1xuICAgICAgICAgICAgTm9kZTogKF9rZXksIG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobm9kZSA9PT0gdGhpcylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2l0LkJSRUFLO1xuICAgICAgICAgICAgICAgIGlmIChub2RlLmFuY2hvciA9PT0gdGhpcy5zb3VyY2UpXG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gbm9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG4gICAgdG9KU09OKF9hcmcsIGN0eCkge1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHJldHVybiB7IHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgY29uc3QgeyBhbmNob3JzLCBkb2MsIG1heEFsaWFzQ291bnQgfSA9IGN0eDtcbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5yZXNvbHZlKGRvYyk7XG4gICAgICAgIGlmICghc291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSBgVW5yZXNvbHZlZCBhbGlhcyAodGhlIGFuY2hvciBtdXN0IGJlIHNldCBiZWZvcmUgdGhlIGFsaWFzKTogJHt0aGlzLnNvdXJjZX1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKG1zZyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRhdGEgPSBhbmNob3JzLmdldChzb3VyY2UpO1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIC8vIFJlc29sdmUgYW5jaG9ycyBmb3IgTm9kZS5wcm90b3R5cGUudG9KUygpXG4gICAgICAgICAgICB0b0pTKHNvdXJjZSwgbnVsbCwgY3R4KTtcbiAgICAgICAgICAgIGRhdGEgPSBhbmNob3JzLmdldChzb3VyY2UpO1xuICAgICAgICB9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoIWRhdGEgfHwgZGF0YS5yZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gJ1RoaXMgc2hvdWxkIG5vdCBoYXBwZW46IEFsaWFzIGFuY2hvciB3YXMgbm90IHJlc29sdmVkPyc7XG4gICAgICAgICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IobXNnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWF4QWxpYXNDb3VudCA+PSAwKSB7XG4gICAgICAgICAgICBkYXRhLmNvdW50ICs9IDE7XG4gICAgICAgICAgICBpZiAoZGF0YS5hbGlhc0NvdW50ID09PSAwKVxuICAgICAgICAgICAgICAgIGRhdGEuYWxpYXNDb3VudCA9IGdldEFsaWFzQ291bnQoZG9jLCBzb3VyY2UsIGFuY2hvcnMpO1xuICAgICAgICAgICAgaWYgKGRhdGEuY291bnQgKiBkYXRhLmFsaWFzQ291bnQgPiBtYXhBbGlhc0NvdW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbXNnID0gJ0V4Y2Vzc2l2ZSBhbGlhcyBjb3VudCBpbmRpY2F0ZXMgYSByZXNvdXJjZSBleGhhdXN0aW9uIGF0dGFjayc7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKG1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGEucmVzO1xuICAgIH1cbiAgICB0b1N0cmluZyhjdHgsIF9vbkNvbW1lbnQsIF9vbkNob21wS2VlcCkge1xuICAgICAgICBjb25zdCBzcmMgPSBgKiR7dGhpcy5zb3VyY2V9YDtcbiAgICAgICAgaWYgKGN0eCkge1xuICAgICAgICAgICAgYW5jaG9ySXNWYWxpZCh0aGlzLnNvdXJjZSk7XG4gICAgICAgICAgICBpZiAoY3R4Lm9wdGlvbnMudmVyaWZ5QWxpYXNPcmRlciAmJiAhY3R4LmFuY2hvcnMuaGFzKHRoaXMuc291cmNlKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9IGBVbnJlc29sdmVkIGFsaWFzICh0aGUgYW5jaG9yIG11c3QgYmUgc2V0IGJlZm9yZSB0aGUgYWxpYXMpOiAke3RoaXMuc291cmNlfWA7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3R4LmltcGxpY2l0S2V5KVxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtzcmN9IGA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG59XG5mdW5jdGlvbiBnZXRBbGlhc0NvdW50KGRvYywgbm9kZSwgYW5jaG9ycykge1xuICAgIGlmIChpc0FsaWFzKG5vZGUpKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IG5vZGUucmVzb2x2ZShkb2MpO1xuICAgICAgICBjb25zdCBhbmNob3IgPSBhbmNob3JzICYmIHNvdXJjZSAmJiBhbmNob3JzLmdldChzb3VyY2UpO1xuICAgICAgICByZXR1cm4gYW5jaG9yID8gYW5jaG9yLmNvdW50ICogYW5jaG9yLmFsaWFzQ291bnQgOiAwO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0NvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIG5vZGUuaXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGMgPSBnZXRBbGlhc0NvdW50KGRvYywgaXRlbSwgYW5jaG9ycyk7XG4gICAgICAgICAgICBpZiAoYyA+IGNvdW50KVxuICAgICAgICAgICAgICAgIGNvdW50ID0gYztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUGFpcihub2RlKSkge1xuICAgICAgICBjb25zdCBrYyA9IGdldEFsaWFzQ291bnQoZG9jLCBub2RlLmtleSwgYW5jaG9ycyk7XG4gICAgICAgIGNvbnN0IHZjID0gZ2V0QWxpYXNDb3VudChkb2MsIG5vZGUudmFsdWUsIGFuY2hvcnMpO1xuICAgICAgICByZXR1cm4gTWF0aC5tYXgoa2MsIHZjKTtcbiAgICB9XG4gICAgcmV0dXJuIDE7XG59XG5cbmV4cG9ydCB7IEFsaWFzIH07XG4iLCAiaW1wb3J0IHsgU0NBTEFSIH0gZnJvbSAnLi9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBOb2RlQmFzZSB9IGZyb20gJy4vTm9kZS5qcyc7XG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi90b0pTLmpzJztcblxuY29uc3QgaXNTY2FsYXJWYWx1ZSA9ICh2YWx1ZSkgPT4gIXZhbHVlIHx8ICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jyk7XG5jbGFzcyBTY2FsYXIgZXh0ZW5kcyBOb2RlQmFzZSB7XG4gICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgc3VwZXIoU0NBTEFSKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICB0b0pTT04oYXJnLCBjdHgpIHtcbiAgICAgICAgcmV0dXJuIGN0eD8ua2VlcCA/IHRoaXMudmFsdWUgOiB0b0pTKHRoaXMudmFsdWUsIGFyZywgY3R4KTtcbiAgICB9XG4gICAgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy52YWx1ZSk7XG4gICAgfVxufVxuU2NhbGFyLkJMT0NLX0ZPTERFRCA9ICdCTE9DS19GT0xERUQnO1xuU2NhbGFyLkJMT0NLX0xJVEVSQUwgPSAnQkxPQ0tfTElURVJBTCc7XG5TY2FsYXIuUExBSU4gPSAnUExBSU4nO1xuU2NhbGFyLlFVT1RFX0RPVUJMRSA9ICdRVU9URV9ET1VCTEUnO1xuU2NhbGFyLlFVT1RFX1NJTkdMRSA9ICdRVU9URV9TSU5HTEUnO1xuXG5leHBvcnQgeyBTY2FsYXIsIGlzU2NhbGFyVmFsdWUgfTtcbiIsICJpbXBvcnQgeyBBbGlhcyB9IGZyb20gJy4uL25vZGVzL0FsaWFzLmpzJztcbmltcG9ydCB7IGlzTm9kZSwgaXNQYWlyLCBNQVAsIFNFUSwgaXNEb2N1bWVudCB9IGZyb20gJy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IFNjYWxhciB9IGZyb20gJy4uL25vZGVzL1NjYWxhci5qcyc7XG5cbmNvbnN0IGRlZmF1bHRUYWdQcmVmaXggPSAndGFnOnlhbWwub3JnLDIwMDI6JztcbmZ1bmN0aW9uIGZpbmRUYWdPYmplY3QodmFsdWUsIHRhZ05hbWUsIHRhZ3MpIHtcbiAgICBpZiAodGFnTmFtZSkge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHRhZ3MuZmlsdGVyKHQgPT4gdC50YWcgPT09IHRhZ05hbWUpO1xuICAgICAgICBjb25zdCB0YWdPYmogPSBtYXRjaC5maW5kKHQgPT4gIXQuZm9ybWF0KSA/PyBtYXRjaFswXTtcbiAgICAgICAgaWYgKCF0YWdPYmopXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRhZyAke3RhZ05hbWV9IG5vdCBmb3VuZGApO1xuICAgICAgICByZXR1cm4gdGFnT2JqO1xuICAgIH1cbiAgICByZXR1cm4gdGFncy5maW5kKHQgPT4gdC5pZGVudGlmeT8uKHZhbHVlKSAmJiAhdC5mb3JtYXQpO1xufVxuZnVuY3Rpb24gY3JlYXRlTm9kZSh2YWx1ZSwgdGFnTmFtZSwgY3R4KSB7XG4gICAgaWYgKGlzRG9jdW1lbnQodmFsdWUpKVxuICAgICAgICB2YWx1ZSA9IHZhbHVlLmNvbnRlbnRzO1xuICAgIGlmIChpc05vZGUodmFsdWUpKVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgaWYgKGlzUGFpcih2YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgbWFwID0gY3R4LnNjaGVtYVtNQVBdLmNyZWF0ZU5vZGU/LihjdHguc2NoZW1hLCBudWxsLCBjdHgpO1xuICAgICAgICBtYXAuaXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfVxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFN0cmluZyB8fFxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIE51bWJlciB8fFxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIEJvb2xlYW4gfHxcbiAgICAgICAgKHR5cGVvZiBCaWdJbnQgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlIGluc3RhbmNlb2YgQmlnSW50KSAvLyBub3Qgc3VwcG9ydGVkIGV2ZXJ5d2hlcmVcbiAgICApIHtcbiAgICAgICAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1zZXJpYWxpemVqc29ucHJvcGVydHlcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZU9mKCk7XG4gICAgfVxuICAgIGNvbnN0IHsgYWxpYXNEdXBsaWNhdGVPYmplY3RzLCBvbkFuY2hvciwgb25UYWdPYmosIHNjaGVtYSwgc291cmNlT2JqZWN0cyB9ID0gY3R4O1xuICAgIC8vIERldGVjdCBkdXBsaWNhdGUgcmVmZXJlbmNlcyB0byB0aGUgc2FtZSBvYmplY3QgJiB1c2UgQWxpYXMgbm9kZXMgZm9yIGFsbFxuICAgIC8vIGFmdGVyIGZpcnN0LiBUaGUgYHJlZmAgd3JhcHBlciBhbGxvd3MgZm9yIGNpcmN1bGFyIHJlZmVyZW5jZXMgdG8gcmVzb2x2ZS5cbiAgICBsZXQgcmVmID0gdW5kZWZpbmVkO1xuICAgIGlmIChhbGlhc0R1cGxpY2F0ZU9iamVjdHMgJiYgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZWYgPSBzb3VyY2VPYmplY3RzLmdldCh2YWx1ZSk7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIGlmICghcmVmLmFuY2hvcilcbiAgICAgICAgICAgICAgICByZWYuYW5jaG9yID0gb25BbmNob3IodmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBbGlhcyhyZWYuYW5jaG9yKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlZiA9IHsgYW5jaG9yOiBudWxsLCBub2RlOiBudWxsIH07XG4gICAgICAgICAgICBzb3VyY2VPYmplY3RzLnNldCh2YWx1ZSwgcmVmKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodGFnTmFtZT8uc3RhcnRzV2l0aCgnISEnKSlcbiAgICAgICAgdGFnTmFtZSA9IGRlZmF1bHRUYWdQcmVmaXggKyB0YWdOYW1lLnNsaWNlKDIpO1xuICAgIGxldCB0YWdPYmogPSBmaW5kVGFnT2JqZWN0KHZhbHVlLCB0YWdOYW1lLCBzY2hlbWEudGFncyk7XG4gICAgaWYgKCF0YWdPYmopIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZS50b0pTT04gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudG9KU09OKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gbmV3IFNjYWxhcih2YWx1ZSk7XG4gICAgICAgICAgICBpZiAocmVmKVxuICAgICAgICAgICAgICAgIHJlZi5ub2RlID0gbm9kZTtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG4gICAgICAgIHRhZ09iaiA9XG4gICAgICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIE1hcFxuICAgICAgICAgICAgICAgID8gc2NoZW1hW01BUF1cbiAgICAgICAgICAgICAgICA6IFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgID8gc2NoZW1hW1NFUV1cbiAgICAgICAgICAgICAgICAgICAgOiBzY2hlbWFbTUFQXTtcbiAgICB9XG4gICAgaWYgKG9uVGFnT2JqKSB7XG4gICAgICAgIG9uVGFnT2JqKHRhZ09iaik7XG4gICAgICAgIGRlbGV0ZSBjdHgub25UYWdPYmo7XG4gICAgfVxuICAgIGNvbnN0IG5vZGUgPSB0YWdPYmo/LmNyZWF0ZU5vZGVcbiAgICAgICAgPyB0YWdPYmouY3JlYXRlTm9kZShjdHguc2NoZW1hLCB2YWx1ZSwgY3R4KVxuICAgICAgICA6IHR5cGVvZiB0YWdPYmo/Lm5vZGVDbGFzcz8uZnJvbSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyB0YWdPYmoubm9kZUNsYXNzLmZyb20oY3R4LnNjaGVtYSwgdmFsdWUsIGN0eClcbiAgICAgICAgICAgIDogbmV3IFNjYWxhcih2YWx1ZSk7XG4gICAgaWYgKHRhZ05hbWUpXG4gICAgICAgIG5vZGUudGFnID0gdGFnTmFtZTtcbiAgICBlbHNlIGlmICghdGFnT2JqLmRlZmF1bHQpXG4gICAgICAgIG5vZGUudGFnID0gdGFnT2JqLnRhZztcbiAgICBpZiAocmVmKVxuICAgICAgICByZWYubm9kZSA9IG5vZGU7XG4gICAgcmV0dXJuIG5vZGU7XG59XG5cbmV4cG9ydCB7IGNyZWF0ZU5vZGUgfTtcbiIsICJpbXBvcnQgeyBjcmVhdGVOb2RlIH0gZnJvbSAnLi4vZG9jL2NyZWF0ZU5vZGUuanMnO1xuaW1wb3J0IHsgaXNOb2RlLCBpc1BhaXIsIGlzQ29sbGVjdGlvbiwgaXNTY2FsYXIgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IE5vZGVCYXNlIH0gZnJvbSAnLi9Ob2RlLmpzJztcblxuZnVuY3Rpb24gY29sbGVjdGlvbkZyb21QYXRoKHNjaGVtYSwgcGF0aCwgdmFsdWUpIHtcbiAgICBsZXQgdiA9IHZhbHVlO1xuICAgIGZvciAobGV0IGkgPSBwYXRoLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgIGNvbnN0IGsgPSBwYXRoW2ldO1xuICAgICAgICBpZiAodHlwZW9mIGsgPT09ICdudW1iZXInICYmIE51bWJlci5pc0ludGVnZXIoaykgJiYgayA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBhID0gW107XG4gICAgICAgICAgICBhW2tdID0gdjtcbiAgICAgICAgICAgIHYgPSBhO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdiA9IG5ldyBNYXAoW1trLCB2XV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVOb2RlKHYsIHVuZGVmaW5lZCwge1xuICAgICAgICBhbGlhc0R1cGxpY2F0ZU9iamVjdHM6IGZhbHNlLFxuICAgICAgICBrZWVwVW5kZWZpbmVkOiBmYWxzZSxcbiAgICAgICAgb25BbmNob3I6ICgpID0+IHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgbm90IGhhcHBlbiwgcGxlYXNlIHJlcG9ydCBhIGJ1Zy4nKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hLFxuICAgICAgICBzb3VyY2VPYmplY3RzOiBuZXcgTWFwKClcbiAgICB9KTtcbn1cbi8vIFR5cGUgZ3VhcmQgaXMgaW50ZW50aW9uYWxseSBhIGxpdHRsZSB3cm9uZyBzbyBhcyB0byBiZSBtb3JlIHVzZWZ1bCxcbi8vIGFzIGl0IGRvZXMgbm90IGNvdmVyIHVudHlwYWJsZSBlbXB0eSBub24tc3RyaW5nIGl0ZXJhYmxlcyAoZS5nLiBbXSkuXG5jb25zdCBpc0VtcHR5UGF0aCA9IChwYXRoKSA9PiBwYXRoID09IG51bGwgfHxcbiAgICAodHlwZW9mIHBhdGggPT09ICdvYmplY3QnICYmICEhcGF0aFtTeW1ib2wuaXRlcmF0b3JdKCkubmV4dCgpLmRvbmUpO1xuY2xhc3MgQ29sbGVjdGlvbiBleHRlbmRzIE5vZGVCYXNlIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlLCBzY2hlbWEpIHtcbiAgICAgICAgc3VwZXIodHlwZSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnc2NoZW1hJywge1xuICAgICAgICAgICAgdmFsdWU6IHNjaGVtYSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIGNvcHkgb2YgdGhpcyBjb2xsZWN0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNjaGVtYSAtIElmIGRlZmluZWQsIG92ZXJ3cml0ZXMgdGhlIG9yaWdpbmFsJ3Mgc2NoZW1hXG4gICAgICovXG4gICAgY2xvbmUoc2NoZW1hKSB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO1xuICAgICAgICBpZiAoc2NoZW1hKVxuICAgICAgICAgICAgY29weS5zY2hlbWEgPSBzY2hlbWE7XG4gICAgICAgIGNvcHkuaXRlbXMgPSBjb3B5Lml0ZW1zLm1hcChpdCA9PiBpc05vZGUoaXQpIHx8IGlzUGFpcihpdCkgPyBpdC5jbG9uZShzY2hlbWEpIDogaXQpO1xuICAgICAgICBpZiAodGhpcy5yYW5nZSlcbiAgICAgICAgICAgIGNvcHkucmFuZ2UgPSB0aGlzLnJhbmdlLnNsaWNlKCk7XG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgdmFsdWUgdG8gdGhlIGNvbGxlY3Rpb24uIEZvciBgISFtYXBgIGFuZCBgISFvbWFwYCB0aGUgdmFsdWUgbXVzdFxuICAgICAqIGJlIGEgUGFpciBpbnN0YW5jZSBvciBhIGB7IGtleSwgdmFsdWUgfWAgb2JqZWN0LCB3aGljaCBtYXkgbm90IGhhdmUgYSBrZXlcbiAgICAgKiB0aGF0IGFscmVhZHkgZXhpc3RzIGluIHRoZSBtYXAuXG4gICAgICovXG4gICAgYWRkSW4ocGF0aCwgdmFsdWUpIHtcbiAgICAgICAgaWYgKGlzRW1wdHlQYXRoKHBhdGgpKVxuICAgICAgICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldChrZXksIHRydWUpO1xuICAgICAgICAgICAgaWYgKGlzQ29sbGVjdGlvbihub2RlKSlcbiAgICAgICAgICAgICAgICBub2RlLmFkZEluKHJlc3QsIHZhbHVlKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKG5vZGUgPT09IHVuZGVmaW5lZCAmJiB0aGlzLnNjaGVtYSlcbiAgICAgICAgICAgICAgICB0aGlzLnNldChrZXksIGNvbGxlY3Rpb25Gcm9tUGF0aCh0aGlzLnNjaGVtYSwgcmVzdCwgdmFsdWUpKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke2tleX0uIFJlbWFpbmluZyBwYXRoOiAke3Jlc3R9YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gdGhlIGNvbGxlY3Rpb24uXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBpdGVtIHdhcyBmb3VuZCBhbmQgcmVtb3ZlZC5cbiAgICAgKi9cbiAgICBkZWxldGVJbihwYXRoKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgaWYgKHJlc3QubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVsZXRlKGtleSk7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldChrZXksIHRydWUpO1xuICAgICAgICBpZiAoaXNDb2xsZWN0aW9uKG5vZGUpKVxuICAgICAgICAgICAgcmV0dXJuIG5vZGUuZGVsZXRlSW4ocmVzdCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgWUFNTCBjb2xsZWN0aW9uIGF0ICR7a2V5fS4gUmVtYWluaW5nIHBhdGg6ICR7cmVzdH1gKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBpdGVtIGF0IGBrZXlgLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgZm91bmQuIEJ5IGRlZmF1bHQgdW53cmFwc1xuICAgICAqIHNjYWxhciB2YWx1ZXMgZnJvbSB0aGVpciBzdXJyb3VuZGluZyBub2RlOyB0byBkaXNhYmxlIHNldCBga2VlcFNjYWxhcmAgdG9cbiAgICAgKiBgdHJ1ZWAgKGNvbGxlY3Rpb25zIGFyZSBhbHdheXMgcmV0dXJuZWQgaW50YWN0KS5cbiAgICAgKi9cbiAgICBnZXRJbihwYXRoLCBrZWVwU2NhbGFyKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0KGtleSwgdHJ1ZSk7XG4gICAgICAgIGlmIChyZXN0Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiAha2VlcFNjYWxhciAmJiBpc1NjYWxhcihub2RlKSA/IG5vZGUudmFsdWUgOiBub2RlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gaXNDb2xsZWN0aW9uKG5vZGUpID8gbm9kZS5nZXRJbihyZXN0LCBrZWVwU2NhbGFyKSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaGFzQWxsTnVsbFZhbHVlcyhhbGxvd1NjYWxhcikge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5ldmVyeShub2RlID0+IHtcbiAgICAgICAgICAgIGlmICghaXNQYWlyKG5vZGUpKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSBub2RlLnZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIChuID09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAoYWxsb3dTY2FsYXIgJiZcbiAgICAgICAgICAgICAgICAgICAgaXNTY2FsYXIobikgJiZcbiAgICAgICAgICAgICAgICAgICAgbi52YWx1ZSA9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgICAgICFuLmNvbW1lbnRCZWZvcmUgJiZcbiAgICAgICAgICAgICAgICAgICAgIW4uY29tbWVudCAmJlxuICAgICAgICAgICAgICAgICAgICAhbi50YWcpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgY29sbGVjdGlvbiBpbmNsdWRlcyBhIHZhbHVlIHdpdGggdGhlIGtleSBga2V5YC5cbiAgICAgKi9cbiAgICBoYXNJbihwYXRoKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgaWYgKHJlc3QubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzKGtleSk7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldChrZXksIHRydWUpO1xuICAgICAgICByZXR1cm4gaXNDb2xsZWN0aW9uKG5vZGUpID8gbm9kZS5oYXNJbihyZXN0KSA6IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdmFsdWUgaW4gdGhpcyBjb2xsZWN0aW9uLiBGb3IgYCEhc2V0YCwgYHZhbHVlYCBuZWVkcyB0byBiZSBhXG4gICAgICogYm9vbGVhbiB0byBhZGQvcmVtb3ZlIHRoZSBpdGVtIGZyb20gdGhlIHNldC5cbiAgICAgKi9cbiAgICBzZXRJbihwYXRoLCB2YWx1ZSkge1xuICAgICAgICBjb25zdCBba2V5LCAuLi5yZXN0XSA9IHBhdGg7XG4gICAgICAgIGlmIChyZXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXQoa2V5LCB0cnVlKTtcbiAgICAgICAgICAgIGlmIChpc0NvbGxlY3Rpb24obm9kZSkpXG4gICAgICAgICAgICAgICAgbm9kZS5zZXRJbihyZXN0LCB2YWx1ZSk7XG4gICAgICAgICAgICBlbHNlIGlmIChub2RlID09PSB1bmRlZmluZWQgJiYgdGhpcy5zY2hlbWEpXG4gICAgICAgICAgICAgICAgdGhpcy5zZXQoa2V5LCBjb2xsZWN0aW9uRnJvbVBhdGgodGhpcy5zY2hlbWEsIHJlc3QsIHZhbHVlKSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHtrZXl9LiBSZW1haW5pbmcgcGF0aDogJHtyZXN0fWApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgeyBDb2xsZWN0aW9uLCBjb2xsZWN0aW9uRnJvbVBhdGgsIGlzRW1wdHlQYXRoIH07XG4iLCAiLyoqXG4gKiBTdHJpbmdpZmllcyBhIGNvbW1lbnQuXG4gKlxuICogRW1wdHkgY29tbWVudCBsaW5lcyBhcmUgbGVmdCBlbXB0eSxcbiAqIGxpbmVzIGNvbnNpc3Rpbmcgb2YgYSBzaW5nbGUgc3BhY2UgYXJlIHJlcGxhY2VkIGJ5IGAjYCxcbiAqIGFuZCBhbGwgb3RoZXIgbGluZXMgYXJlIHByZWZpeGVkIHdpdGggYSBgI2AuXG4gKi9cbmNvbnN0IHN0cmluZ2lmeUNvbW1lbnQgPSAoc3RyKSA9PiBzdHIucmVwbGFjZSgvXig/ISQpKD86ICQpPy9nbSwgJyMnKTtcbmZ1bmN0aW9uIGluZGVudENvbW1lbnQoY29tbWVudCwgaW5kZW50KSB7XG4gICAgaWYgKC9eXFxuKyQvLnRlc3QoY29tbWVudCkpXG4gICAgICAgIHJldHVybiBjb21tZW50LnN1YnN0cmluZygxKTtcbiAgICByZXR1cm4gaW5kZW50ID8gY29tbWVudC5yZXBsYWNlKC9eKD8hICokKS9nbSwgaW5kZW50KSA6IGNvbW1lbnQ7XG59XG5jb25zdCBsaW5lQ29tbWVudCA9IChzdHIsIGluZGVudCwgY29tbWVudCkgPT4gc3RyLmVuZHNXaXRoKCdcXG4nKVxuICAgID8gaW5kZW50Q29tbWVudChjb21tZW50LCBpbmRlbnQpXG4gICAgOiBjb21tZW50LmluY2x1ZGVzKCdcXG4nKVxuICAgICAgICA/ICdcXG4nICsgaW5kZW50Q29tbWVudChjb21tZW50LCBpbmRlbnQpXG4gICAgICAgIDogKHN0ci5lbmRzV2l0aCgnICcpID8gJycgOiAnICcpICsgY29tbWVudDtcblxuZXhwb3J0IHsgaW5kZW50Q29tbWVudCwgbGluZUNvbW1lbnQsIHN0cmluZ2lmeUNvbW1lbnQgfTtcbiIsICJjb25zdCBGT0xEX0ZMT1cgPSAnZmxvdyc7XG5jb25zdCBGT0xEX0JMT0NLID0gJ2Jsb2NrJztcbmNvbnN0IEZPTERfUVVPVEVEID0gJ3F1b3RlZCc7XG4vKipcbiAqIFRyaWVzIHRvIGtlZXAgaW5wdXQgYXQgdXAgdG8gYGxpbmVXaWR0aGAgY2hhcmFjdGVycywgc3BsaXR0aW5nIG9ubHkgb24gc3BhY2VzXG4gKiBub3QgZm9sbG93ZWQgYnkgbmV3bGluZXMgb3Igc3BhY2VzIHVubGVzcyBgbW9kZWAgaXMgYCdxdW90ZWQnYC4gTGluZXMgYXJlXG4gKiB0ZXJtaW5hdGVkIHdpdGggYFxcbmAgYW5kIHN0YXJ0ZWQgd2l0aCBgaW5kZW50YC5cbiAqL1xuZnVuY3Rpb24gZm9sZEZsb3dMaW5lcyh0ZXh0LCBpbmRlbnQsIG1vZGUgPSAnZmxvdycsIHsgaW5kZW50QXRTdGFydCwgbGluZVdpZHRoID0gODAsIG1pbkNvbnRlbnRXaWR0aCA9IDIwLCBvbkZvbGQsIG9uT3ZlcmZsb3cgfSA9IHt9KSB7XG4gICAgaWYgKCFsaW5lV2lkdGggfHwgbGluZVdpZHRoIDwgMClcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgaWYgKGxpbmVXaWR0aCA8IG1pbkNvbnRlbnRXaWR0aClcbiAgICAgICAgbWluQ29udGVudFdpZHRoID0gMDtcbiAgICBjb25zdCBlbmRTdGVwID0gTWF0aC5tYXgoMSArIG1pbkNvbnRlbnRXaWR0aCwgMSArIGxpbmVXaWR0aCAtIGluZGVudC5sZW5ndGgpO1xuICAgIGlmICh0ZXh0Lmxlbmd0aCA8PSBlbmRTdGVwKVxuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICBjb25zdCBmb2xkcyA9IFtdO1xuICAgIGNvbnN0IGVzY2FwZWRGb2xkcyA9IHt9O1xuICAgIGxldCBlbmQgPSBsaW5lV2lkdGggLSBpbmRlbnQubGVuZ3RoO1xuICAgIGlmICh0eXBlb2YgaW5kZW50QXRTdGFydCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgaWYgKGluZGVudEF0U3RhcnQgPiBsaW5lV2lkdGggLSBNYXRoLm1heCgyLCBtaW5Db250ZW50V2lkdGgpKVxuICAgICAgICAgICAgZm9sZHMucHVzaCgwKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgZW5kID0gbGluZVdpZHRoIC0gaW5kZW50QXRTdGFydDtcbiAgICB9XG4gICAgbGV0IHNwbGl0ID0gdW5kZWZpbmVkO1xuICAgIGxldCBwcmV2ID0gdW5kZWZpbmVkO1xuICAgIGxldCBvdmVyZmxvdyA9IGZhbHNlO1xuICAgIGxldCBpID0gLTE7XG4gICAgbGV0IGVzY1N0YXJ0ID0gLTE7XG4gICAgbGV0IGVzY0VuZCA9IC0xO1xuICAgIGlmIChtb2RlID09PSBGT0xEX0JMT0NLKSB7XG4gICAgICAgIGkgPSBjb25zdW1lTW9yZUluZGVudGVkTGluZXModGV4dCwgaSwgaW5kZW50Lmxlbmd0aCk7XG4gICAgICAgIGlmIChpICE9PSAtMSlcbiAgICAgICAgICAgIGVuZCA9IGkgKyBlbmRTdGVwO1xuICAgIH1cbiAgICBmb3IgKGxldCBjaDsgKGNoID0gdGV4dFsoaSArPSAxKV0pOykge1xuICAgICAgICBpZiAobW9kZSA9PT0gRk9MRF9RVU9URUQgJiYgY2ggPT09ICdcXFxcJykge1xuICAgICAgICAgICAgZXNjU3RhcnQgPSBpO1xuICAgICAgICAgICAgc3dpdGNoICh0ZXh0W2kgKyAxXSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3gnOlxuICAgICAgICAgICAgICAgICAgICBpICs9IDM7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3UnOlxuICAgICAgICAgICAgICAgICAgICBpICs9IDU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1UnOlxuICAgICAgICAgICAgICAgICAgICBpICs9IDk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVzY0VuZCA9IGk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoID09PSAnXFxuJykge1xuICAgICAgICAgICAgaWYgKG1vZGUgPT09IEZPTERfQkxPQ0spXG4gICAgICAgICAgICAgICAgaSA9IGNvbnN1bWVNb3JlSW5kZW50ZWRMaW5lcyh0ZXh0LCBpLCBpbmRlbnQubGVuZ3RoKTtcbiAgICAgICAgICAgIGVuZCA9IGkgKyBpbmRlbnQubGVuZ3RoICsgZW5kU3RlcDtcbiAgICAgICAgICAgIHNwbGl0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGNoID09PSAnICcgJiZcbiAgICAgICAgICAgICAgICBwcmV2ICYmXG4gICAgICAgICAgICAgICAgcHJldiAhPT0gJyAnICYmXG4gICAgICAgICAgICAgICAgcHJldiAhPT0gJ1xcbicgJiZcbiAgICAgICAgICAgICAgICBwcmV2ICE9PSAnXFx0Jykge1xuICAgICAgICAgICAgICAgIC8vIHNwYWNlIHN1cnJvdW5kZWQgYnkgbm9uLXNwYWNlIGNhbiBiZSByZXBsYWNlZCB3aXRoIG5ld2xpbmUgKyBpbmRlbnRcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0ID0gdGV4dFtpICsgMV07XG4gICAgICAgICAgICAgICAgaWYgKG5leHQgJiYgbmV4dCAhPT0gJyAnICYmIG5leHQgIT09ICdcXG4nICYmIG5leHQgIT09ICdcXHQnKVxuICAgICAgICAgICAgICAgICAgICBzcGxpdCA9IGk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaSA+PSBlbmQpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3BsaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9sZHMucHVzaChzcGxpdCk7XG4gICAgICAgICAgICAgICAgICAgIGVuZCA9IHNwbGl0ICsgZW5kU3RlcDtcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1vZGUgPT09IEZPTERfUVVPVEVEKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoaXRlLXNwYWNlIGNvbGxlY3RlZCBhdCBlbmQgbWF5IHN0cmV0Y2ggcGFzdCBsaW5lV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHByZXYgPT09ICcgJyB8fCBwcmV2ID09PSAnXFx0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldiA9IGNoO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2ggPSB0ZXh0WyhpICs9IDEpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciBuZXdsaW5lIGVzY2FwZSwgYnV0IGRvbid0IGJyZWFrIHByZWNlZGluZyBlc2NhcGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaiA9IGkgPiBlc2NFbmQgKyAxID8gaSAtIDIgOiBlc2NTdGFydCAtIDE7XG4gICAgICAgICAgICAgICAgICAgIC8vIEJhaWwgb3V0IGlmIGxpbmVXaWR0aCAmIG1pbkNvbnRlbnRXaWR0aCBhcmUgc2hvcnRlciB0aGFuIGFuIGVzY2FwZSBzdHJpbmdcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVzY2FwZWRGb2xkc1tqXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0O1xuICAgICAgICAgICAgICAgICAgICBmb2xkcy5wdXNoKGopO1xuICAgICAgICAgICAgICAgICAgICBlc2NhcGVkRm9sZHNbal0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBlbmQgPSBqICsgZW5kU3RlcDtcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdyA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByZXYgPSBjaDtcbiAgICB9XG4gICAgaWYgKG92ZXJmbG93ICYmIG9uT3ZlcmZsb3cpXG4gICAgICAgIG9uT3ZlcmZsb3coKTtcbiAgICBpZiAoZm9sZHMubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICBpZiAob25Gb2xkKVxuICAgICAgICBvbkZvbGQoKTtcbiAgICBsZXQgcmVzID0gdGV4dC5zbGljZSgwLCBmb2xkc1swXSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmb2xkcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBmb2xkID0gZm9sZHNbaV07XG4gICAgICAgIGNvbnN0IGVuZCA9IGZvbGRzW2kgKyAxXSB8fCB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgaWYgKGZvbGQgPT09IDApXG4gICAgICAgICAgICByZXMgPSBgXFxuJHtpbmRlbnR9JHt0ZXh0LnNsaWNlKDAsIGVuZCl9YDtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAobW9kZSA9PT0gRk9MRF9RVU9URUQgJiYgZXNjYXBlZEZvbGRzW2ZvbGRdKVxuICAgICAgICAgICAgICAgIHJlcyArPSBgJHt0ZXh0W2ZvbGRdfVxcXFxgO1xuICAgICAgICAgICAgcmVzICs9IGBcXG4ke2luZGVudH0ke3RleHQuc2xpY2UoZm9sZCArIDEsIGVuZCl9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuLyoqXG4gKiBQcmVzdW1lcyBgaSArIDFgIGlzIGF0IHRoZSBzdGFydCBvZiBhIGxpbmVcbiAqIEByZXR1cm5zIGluZGV4IG9mIGxhc3QgbmV3bGluZSBpbiBtb3JlLWluZGVudGVkIGJsb2NrXG4gKi9cbmZ1bmN0aW9uIGNvbnN1bWVNb3JlSW5kZW50ZWRMaW5lcyh0ZXh0LCBpLCBpbmRlbnQpIHtcbiAgICBsZXQgZW5kID0gaTtcbiAgICBsZXQgc3RhcnQgPSBpICsgMTtcbiAgICBsZXQgY2ggPSB0ZXh0W3N0YXJ0XTtcbiAgICB3aGlsZSAoY2ggPT09ICcgJyB8fCBjaCA9PT0gJ1xcdCcpIHtcbiAgICAgICAgaWYgKGkgPCBzdGFydCArIGluZGVudCkge1xuICAgICAgICAgICAgY2ggPSB0ZXh0WysraV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgY2ggPSB0ZXh0WysraV07XG4gICAgICAgICAgICB9IHdoaWxlIChjaCAmJiBjaCAhPT0gJ1xcbicpO1xuICAgICAgICAgICAgZW5kID0gaTtcbiAgICAgICAgICAgIHN0YXJ0ID0gaSArIDE7XG4gICAgICAgICAgICBjaCA9IHRleHRbc3RhcnRdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlbmQ7XG59XG5cbmV4cG9ydCB7IEZPTERfQkxPQ0ssIEZPTERfRkxPVywgRk9MRF9RVU9URUQsIGZvbGRGbG93TGluZXMgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi9ub2Rlcy9TY2FsYXIuanMnO1xuaW1wb3J0IHsgZm9sZEZsb3dMaW5lcywgRk9MRF9RVU9URUQsIEZPTERfRkxPVywgRk9MRF9CTE9DSyB9IGZyb20gJy4vZm9sZEZsb3dMaW5lcy5qcyc7XG5cbmNvbnN0IGdldEZvbGRPcHRpb25zID0gKGN0eCwgaXNCbG9jaykgPT4gKHtcbiAgICBpbmRlbnRBdFN0YXJ0OiBpc0Jsb2NrID8gY3R4LmluZGVudC5sZW5ndGggOiBjdHguaW5kZW50QXRTdGFydCxcbiAgICBsaW5lV2lkdGg6IGN0eC5vcHRpb25zLmxpbmVXaWR0aCxcbiAgICBtaW5Db250ZW50V2lkdGg6IGN0eC5vcHRpb25zLm1pbkNvbnRlbnRXaWR0aFxufSk7XG4vLyBBbHNvIGNoZWNrcyBmb3IgbGluZXMgc3RhcnRpbmcgd2l0aCAlLCBhcyBwYXJzaW5nIHRoZSBvdXRwdXQgYXMgWUFNTCAxLjEgd2lsbFxuLy8gcHJlc3VtZSB0aGF0J3Mgc3RhcnRpbmcgYSBuZXcgZG9jdW1lbnQuXG5jb25zdCBjb250YWluc0RvY3VtZW50TWFya2VyID0gKHN0cikgPT4gL14oJXwtLS18XFwuXFwuXFwuKS9tLnRlc3Qoc3RyKTtcbmZ1bmN0aW9uIGxpbmVMZW5ndGhPdmVyTGltaXQoc3RyLCBsaW5lV2lkdGgsIGluZGVudExlbmd0aCkge1xuICAgIGlmICghbGluZVdpZHRoIHx8IGxpbmVXaWR0aCA8IDApXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBsaW1pdCA9IGxpbmVXaWR0aCAtIGluZGVudExlbmd0aDtcbiAgICBjb25zdCBzdHJMZW4gPSBzdHIubGVuZ3RoO1xuICAgIGlmIChzdHJMZW4gPD0gbGltaXQpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMCwgc3RhcnQgPSAwOyBpIDwgc3RyTGVuOyArK2kpIHtcbiAgICAgICAgaWYgKHN0cltpXSA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIGlmIChpIC0gc3RhcnQgPiBsaW1pdClcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIHN0YXJ0ID0gaSArIDE7XG4gICAgICAgICAgICBpZiAoc3RyTGVuIC0gc3RhcnQgPD0gbGltaXQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gZG91YmxlUXVvdGVkU3RyaW5nKHZhbHVlLCBjdHgpIHtcbiAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgIGlmIChjdHgub3B0aW9ucy5kb3VibGVRdW90ZWRBc0pTT04pXG4gICAgICAgIHJldHVybiBqc29uO1xuICAgIGNvbnN0IHsgaW1wbGljaXRLZXkgfSA9IGN0eDtcbiAgICBjb25zdCBtaW5NdWx0aUxpbmVMZW5ndGggPSBjdHgub3B0aW9ucy5kb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGg7XG4gICAgY29uc3QgaW5kZW50ID0gY3R4LmluZGVudCB8fCAoY29udGFpbnNEb2N1bWVudE1hcmtlcih2YWx1ZSkgPyAnICAnIDogJycpO1xuICAgIGxldCBzdHIgPSAnJztcbiAgICBsZXQgc3RhcnQgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwLCBjaCA9IGpzb25baV07IGNoOyBjaCA9IGpzb25bKytpXSkge1xuICAgICAgICBpZiAoY2ggPT09ICcgJyAmJiBqc29uW2kgKyAxXSA9PT0gJ1xcXFwnICYmIGpzb25baSArIDJdID09PSAnbicpIHtcbiAgICAgICAgICAgIC8vIHNwYWNlIGJlZm9yZSBuZXdsaW5lIG5lZWRzIHRvIGJlIGVzY2FwZWQgdG8gbm90IGJlIGZvbGRlZFxuICAgICAgICAgICAgc3RyICs9IGpzb24uc2xpY2Uoc3RhcnQsIGkpICsgJ1xcXFwgJztcbiAgICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICAgIHN0YXJ0ID0gaTtcbiAgICAgICAgICAgIGNoID0gJ1xcXFwnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcXFwnKVxuICAgICAgICAgICAgc3dpdGNoIChqc29uW2kgKyAxXSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3UnOlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0ganNvbi5zbGljZShzdGFydCwgaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2RlID0ganNvbi5zdWJzdHIoaSArIDIsIDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMDAwMCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXDAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcwMDA3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcYSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAwMGInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFx2JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMDAxYic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXGUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcwMDg1JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcTic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAwYTAnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFxfJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMjAyOCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXEwnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcyMDI5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcUCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2RlLnN1YnN0cigwLCAyKSA9PT0gJzAwJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXHgnICsgY29kZS5zdWJzdHIoMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBqc29uLnN1YnN0cihpLCA2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gaSArIDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnbic6XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbXBsaWNpdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAganNvbltpICsgMl0gPT09ICdcIicgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb24ubGVuZ3RoIDwgbWluTXVsdGlMaW5lTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmb2xkaW5nIHdpbGwgZWF0IGZpcnN0IG5ld2xpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBqc29uLnNsaWNlKHN0YXJ0LCBpKSArICdcXG5cXG4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGpzb25baSArIDJdID09PSAnXFxcXCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uW2kgKyAzXSA9PT0gJ24nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbltpICsgNF0gIT09ICdcIicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcbic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSArPSAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9IGluZGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwYWNlIGFmdGVyIG5ld2xpbmUgbmVlZHMgdG8gYmUgZXNjYXBlZCB0byBub3QgYmUgZm9sZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNvbltpICsgMl0gPT09ICcgJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFwnO1xuICAgICAgICAgICAgICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBpICsgMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgfVxuICAgIHN0ciA9IHN0YXJ0ID8gc3RyICsganNvbi5zbGljZShzdGFydCkgOiBqc29uO1xuICAgIHJldHVybiBpbXBsaWNpdEtleVxuICAgICAgICA/IHN0clxuICAgICAgICA6IGZvbGRGbG93TGluZXMoc3RyLCBpbmRlbnQsIEZPTERfUVVPVEVELCBnZXRGb2xkT3B0aW9ucyhjdHgsIGZhbHNlKSk7XG59XG5mdW5jdGlvbiBzaW5nbGVRdW90ZWRTdHJpbmcodmFsdWUsIGN0eCkge1xuICAgIGlmIChjdHgub3B0aW9ucy5zaW5nbGVRdW90ZSA9PT0gZmFsc2UgfHxcbiAgICAgICAgKGN0eC5pbXBsaWNpdEtleSAmJiB2YWx1ZS5pbmNsdWRlcygnXFxuJykpIHx8XG4gICAgICAgIC9bIFxcdF1cXG58XFxuWyBcXHRdLy50ZXN0KHZhbHVlKSAvLyBzaW5nbGUgcXVvdGVkIHN0cmluZyBjYW4ndCBoYXZlIGxlYWRpbmcgb3IgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcm91bmQgbmV3bGluZVxuICAgIClcbiAgICAgICAgcmV0dXJuIGRvdWJsZVF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KTtcbiAgICBjb25zdCBpbmRlbnQgPSBjdHguaW5kZW50IHx8IChjb250YWluc0RvY3VtZW50TWFya2VyKHZhbHVlKSA/ICcgICcgOiAnJyk7XG4gICAgY29uc3QgcmVzID0gXCInXCIgKyB2YWx1ZS5yZXBsYWNlKC8nL2csIFwiJydcIikucmVwbGFjZSgvXFxuKy9nLCBgJCZcXG4ke2luZGVudH1gKSArIFwiJ1wiO1xuICAgIHJldHVybiBjdHguaW1wbGljaXRLZXlcbiAgICAgICAgPyByZXNcbiAgICAgICAgOiBmb2xkRmxvd0xpbmVzKHJlcywgaW5kZW50LCBGT0xEX0ZMT1csIGdldEZvbGRPcHRpb25zKGN0eCwgZmFsc2UpKTtcbn1cbmZ1bmN0aW9uIHF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KSB7XG4gICAgY29uc3QgeyBzaW5nbGVRdW90ZSB9ID0gY3R4Lm9wdGlvbnM7XG4gICAgbGV0IHFzO1xuICAgIGlmIChzaW5nbGVRdW90ZSA9PT0gZmFsc2UpXG4gICAgICAgIHFzID0gZG91YmxlUXVvdGVkU3RyaW5nO1xuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBoYXNEb3VibGUgPSB2YWx1ZS5pbmNsdWRlcygnXCInKTtcbiAgICAgICAgY29uc3QgaGFzU2luZ2xlID0gdmFsdWUuaW5jbHVkZXMoXCInXCIpO1xuICAgICAgICBpZiAoaGFzRG91YmxlICYmICFoYXNTaW5nbGUpXG4gICAgICAgICAgICBxcyA9IHNpbmdsZVF1b3RlZFN0cmluZztcbiAgICAgICAgZWxzZSBpZiAoaGFzU2luZ2xlICYmICFoYXNEb3VibGUpXG4gICAgICAgICAgICBxcyA9IGRvdWJsZVF1b3RlZFN0cmluZztcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcXMgPSBzaW5nbGVRdW90ZSA/IHNpbmdsZVF1b3RlZFN0cmluZyA6IGRvdWJsZVF1b3RlZFN0cmluZztcbiAgICB9XG4gICAgcmV0dXJuIHFzKHZhbHVlLCBjdHgpO1xufVxuLy8gVGhlIG5lZ2F0aXZlIGxvb2tiZWhpbmQgYXZvaWRzIGEgcG9seW5vbWlhbCBzZWFyY2gsXG4vLyBidXQgaXNuJ3Qgc3VwcG9ydGVkIHlldCBvbiBTYWZhcmk6IGh0dHBzOi8vY2FuaXVzZS5jb20vanMtcmVnZXhwLWxvb2tiZWhpbmRcbmxldCBibG9ja0VuZE5ld2xpbmVzO1xudHJ5IHtcbiAgICBibG9ja0VuZE5ld2xpbmVzID0gbmV3IFJlZ0V4cCgnKF58KD88IVxcbikpXFxuKyg/IVxcbnwkKScsICdnJyk7XG59XG5jYXRjaCB7XG4gICAgYmxvY2tFbmROZXdsaW5lcyA9IC9cXG4rKD8hXFxufCQpL2c7XG59XG5mdW5jdGlvbiBibG9ja1N0cmluZyh7IGNvbW1lbnQsIHR5cGUsIHZhbHVlIH0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgIGNvbnN0IHsgYmxvY2tRdW90ZSwgY29tbWVudFN0cmluZywgbGluZVdpZHRoIH0gPSBjdHgub3B0aW9ucztcbiAgICAvLyAxLiBCbG9jayBjYW4ndCBlbmQgaW4gd2hpdGVzcGFjZSB1bmxlc3MgdGhlIGxhc3QgbGluZSBpcyBub24tZW1wdHkuXG4gICAgLy8gMi4gU3RyaW5ncyBjb25zaXN0aW5nIG9mIG9ubHkgd2hpdGVzcGFjZSBhcmUgYmVzdCByZW5kZXJlZCBleHBsaWNpdGx5LlxuICAgIGlmICghYmxvY2tRdW90ZSB8fCAvXFxuW1xcdCBdKyQvLnRlc3QodmFsdWUpIHx8IC9eXFxzKiQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBxdW90ZWRTdHJpbmcodmFsdWUsIGN0eCk7XG4gICAgfVxuICAgIGNvbnN0IGluZGVudCA9IGN0eC5pbmRlbnQgfHxcbiAgICAgICAgKGN0eC5mb3JjZUJsb2NrSW5kZW50IHx8IGNvbnRhaW5zRG9jdW1lbnRNYXJrZXIodmFsdWUpID8gJyAgJyA6ICcnKTtcbiAgICBjb25zdCBsaXRlcmFsID0gYmxvY2tRdW90ZSA9PT0gJ2xpdGVyYWwnXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGJsb2NrUXVvdGUgPT09ICdmb2xkZWQnIHx8IHR5cGUgPT09IFNjYWxhci5CTE9DS19GT0xERURcbiAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgIDogdHlwZSA9PT0gU2NhbGFyLkJMT0NLX0xJVEVSQUxcbiAgICAgICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgICAgICA6ICFsaW5lTGVuZ3RoT3ZlckxpbWl0KHZhbHVlLCBsaW5lV2lkdGgsIGluZGVudC5sZW5ndGgpO1xuICAgIGlmICghdmFsdWUpXG4gICAgICAgIHJldHVybiBsaXRlcmFsID8gJ3xcXG4nIDogJz5cXG4nO1xuICAgIC8vIGRldGVybWluZSBjaG9tcGluZyBmcm9tIHdoaXRlc3BhY2UgYXQgdmFsdWUgZW5kXG4gICAgbGV0IGNob21wO1xuICAgIGxldCBlbmRTdGFydDtcbiAgICBmb3IgKGVuZFN0YXJ0ID0gdmFsdWUubGVuZ3RoOyBlbmRTdGFydCA+IDA7IC0tZW5kU3RhcnQpIHtcbiAgICAgICAgY29uc3QgY2ggPSB2YWx1ZVtlbmRTdGFydCAtIDFdO1xuICAgICAgICBpZiAoY2ggIT09ICdcXG4nICYmIGNoICE9PSAnXFx0JyAmJiBjaCAhPT0gJyAnKVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGxldCBlbmQgPSB2YWx1ZS5zdWJzdHJpbmcoZW5kU3RhcnQpO1xuICAgIGNvbnN0IGVuZE5sUG9zID0gZW5kLmluZGV4T2YoJ1xcbicpO1xuICAgIGlmIChlbmRObFBvcyA9PT0gLTEpIHtcbiAgICAgICAgY2hvbXAgPSAnLSc7IC8vIHN0cmlwXG4gICAgfVxuICAgIGVsc2UgaWYgKHZhbHVlID09PSBlbmQgfHwgZW5kTmxQb3MgIT09IGVuZC5sZW5ndGggLSAxKSB7XG4gICAgICAgIGNob21wID0gJysnOyAvLyBrZWVwXG4gICAgICAgIGlmIChvbkNob21wS2VlcClcbiAgICAgICAgICAgIG9uQ2hvbXBLZWVwKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjaG9tcCA9ICcnOyAvLyBjbGlwXG4gICAgfVxuICAgIGlmIChlbmQpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgwLCAtZW5kLmxlbmd0aCk7XG4gICAgICAgIGlmIChlbmRbZW5kLmxlbmd0aCAtIDFdID09PSAnXFxuJylcbiAgICAgICAgICAgIGVuZCA9IGVuZC5zbGljZSgwLCAtMSk7XG4gICAgICAgIGVuZCA9IGVuZC5yZXBsYWNlKGJsb2NrRW5kTmV3bGluZXMsIGAkJiR7aW5kZW50fWApO1xuICAgIH1cbiAgICAvLyBkZXRlcm1pbmUgaW5kZW50IGluZGljYXRvciBmcm9tIHdoaXRlc3BhY2UgYXQgdmFsdWUgc3RhcnRcbiAgICBsZXQgc3RhcnRXaXRoU3BhY2UgPSBmYWxzZTtcbiAgICBsZXQgc3RhcnRFbmQ7XG4gICAgbGV0IHN0YXJ0TmxQb3MgPSAtMTtcbiAgICBmb3IgKHN0YXJ0RW5kID0gMDsgc3RhcnRFbmQgPCB2YWx1ZS5sZW5ndGg7ICsrc3RhcnRFbmQpIHtcbiAgICAgICAgY29uc3QgY2ggPSB2YWx1ZVtzdGFydEVuZF07XG4gICAgICAgIGlmIChjaCA9PT0gJyAnKVxuICAgICAgICAgICAgc3RhcnRXaXRoU3BhY2UgPSB0cnVlO1xuICAgICAgICBlbHNlIGlmIChjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICBzdGFydE5sUG9zID0gc3RhcnRFbmQ7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBsZXQgc3RhcnQgPSB2YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRObFBvcyA8IHN0YXJ0RW5kID8gc3RhcnRObFBvcyArIDEgOiBzdGFydEVuZCk7XG4gICAgaWYgKHN0YXJ0KSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKHN0YXJ0Lmxlbmd0aCk7XG4gICAgICAgIHN0YXJ0ID0gc3RhcnQucmVwbGFjZSgvXFxuKy9nLCBgJCYke2luZGVudH1gKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZW50U2l6ZSA9IGluZGVudCA/ICcyJyA6ICcxJzsgLy8gcm9vdCBpcyBhdCAtMVxuICAgIGxldCBoZWFkZXIgPSAobGl0ZXJhbCA/ICd8JyA6ICc+JykgKyAoc3RhcnRXaXRoU3BhY2UgPyBpbmRlbnRTaXplIDogJycpICsgY2hvbXA7XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgaGVhZGVyICs9ICcgJyArIGNvbW1lbnRTdHJpbmcoY29tbWVudC5yZXBsYWNlKC8gP1tcXHJcXG5dKy9nLCAnICcpKTtcbiAgICAgICAgaWYgKG9uQ29tbWVudClcbiAgICAgICAgICAgIG9uQ29tbWVudCgpO1xuICAgIH1cbiAgICBpZiAobGl0ZXJhbCkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcbisvZywgYCQmJHtpbmRlbnR9YCk7XG4gICAgICAgIHJldHVybiBgJHtoZWFkZXJ9XFxuJHtpbmRlbnR9JHtzdGFydH0ke3ZhbHVlfSR7ZW5kfWA7XG4gICAgfVxuICAgIHZhbHVlID0gdmFsdWVcbiAgICAgICAgLnJlcGxhY2UoL1xcbisvZywgJ1xcbiQmJylcbiAgICAgICAgLnJlcGxhY2UoLyg/Ol58XFxuKShbXFx0IF0uKikoPzooW1xcblxcdCBdKilcXG4oPyFbXFxuXFx0IF0pKT8vZywgJyQxJDInKSAvLyBtb3JlLWluZGVudGVkIGxpbmVzIGFyZW4ndCBmb2xkZWRcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgXiBtb3JlLWluZC4gXiBlbXB0eSAgICAgXiBjYXB0dXJlIG5leHQgZW1wdHkgbGluZXMgb25seSBhdCBlbmQgb2YgaW5kZW50XG4gICAgICAgIC5yZXBsYWNlKC9cXG4rL2csIGAkJiR7aW5kZW50fWApO1xuICAgIGNvbnN0IGJvZHkgPSBmb2xkRmxvd0xpbmVzKGAke3N0YXJ0fSR7dmFsdWV9JHtlbmR9YCwgaW5kZW50LCBGT0xEX0JMT0NLLCBnZXRGb2xkT3B0aW9ucyhjdHgsIHRydWUpKTtcbiAgICByZXR1cm4gYCR7aGVhZGVyfVxcbiR7aW5kZW50fSR7Ym9keX1gO1xufVxuZnVuY3Rpb24gcGxhaW5TdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgY29uc3QgeyB0eXBlLCB2YWx1ZSB9ID0gaXRlbTtcbiAgICBjb25zdCB7IGFjdHVhbFN0cmluZywgaW1wbGljaXRLZXksIGluZGVudCwgaW5kZW50U3RlcCwgaW5GbG93IH0gPSBjdHg7XG4gICAgaWYgKChpbXBsaWNpdEtleSAmJiB2YWx1ZS5pbmNsdWRlcygnXFxuJykpIHx8XG4gICAgICAgIChpbkZsb3cgJiYgL1tbXFxde30sXS8udGVzdCh2YWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiBxdW90ZWRTdHJpbmcodmFsdWUsIGN0eCk7XG4gICAgfVxuICAgIGlmICghdmFsdWUgfHxcbiAgICAgICAgL15bXFxuXFx0ICxbXFxde30jJiohfD4nXCIlQGBdfF5bPy1dJHxeWz8tXVsgXFx0XXxbXFxuOl1bIFxcdF18WyBcXHRdXFxufFtcXG5cXHQgXSN8W1xcblxcdCA6XSQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIC8vIG5vdCBhbGxvd2VkOlxuICAgICAgICAvLyAtIGVtcHR5IHN0cmluZywgJy0nIG9yICc/J1xuICAgICAgICAvLyAtIHN0YXJ0IHdpdGggYW4gaW5kaWNhdG9yIGNoYXJhY3RlciAoZXhjZXB0IFs/Oi1dKSBvciAvWz8tXSAvXG4gICAgICAgIC8vIC0gJ1xcbiAnLCAnOiAnIG9yICcgXFxuJyBhbnl3aGVyZVxuICAgICAgICAvLyAtICcjJyBub3QgcHJlY2VkZWQgYnkgYSBub24tc3BhY2UgY2hhclxuICAgICAgICAvLyAtIGVuZCB3aXRoICcgJyBvciAnOidcbiAgICAgICAgcmV0dXJuIGltcGxpY2l0S2V5IHx8IGluRmxvdyB8fCAhdmFsdWUuaW5jbHVkZXMoJ1xcbicpXG4gICAgICAgICAgICA/IHF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KVxuICAgICAgICAgICAgOiBibG9ja1N0cmluZyhpdGVtLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgIH1cbiAgICBpZiAoIWltcGxpY2l0S2V5ICYmXG4gICAgICAgICFpbkZsb3cgJiZcbiAgICAgICAgdHlwZSAhPT0gU2NhbGFyLlBMQUlOICYmXG4gICAgICAgIHZhbHVlLmluY2x1ZGVzKCdcXG4nKSkge1xuICAgICAgICAvLyBXaGVyZSBhbGxvd2VkICYgdHlwZSBub3Qgc2V0IGV4cGxpY2l0bHksIHByZWZlciBibG9jayBzdHlsZSBmb3IgbXVsdGlsaW5lIHN0cmluZ3NcbiAgICAgICAgcmV0dXJuIGJsb2NrU3RyaW5nKGl0ZW0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCk7XG4gICAgfVxuICAgIGlmIChjb250YWluc0RvY3VtZW50TWFya2VyKHZhbHVlKSkge1xuICAgICAgICBpZiAoaW5kZW50ID09PSAnJykge1xuICAgICAgICAgICAgY3R4LmZvcmNlQmxvY2tJbmRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGJsb2NrU3RyaW5nKGl0ZW0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaW1wbGljaXRLZXkgJiYgaW5kZW50ID09PSBpbmRlbnRTdGVwKSB7XG4gICAgICAgICAgICByZXR1cm4gcXVvdGVkU3RyaW5nKHZhbHVlLCBjdHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHN0ciA9IHZhbHVlLnJlcGxhY2UoL1xcbisvZywgYCQmXFxuJHtpbmRlbnR9YCk7XG4gICAgLy8gVmVyaWZ5IHRoYXQgb3V0cHV0IHdpbGwgYmUgcGFyc2VkIGFzIGEgc3RyaW5nLCBhcyBlLmcuIHBsYWluIG51bWJlcnMgYW5kXG4gICAgLy8gYm9vbGVhbnMgZ2V0IHBhcnNlZCB3aXRoIHRob3NlIHR5cGVzIGluIHYxLjIgKGUuZy4gJzQyJywgJ3RydWUnICYgJzAuOWUtMycpLFxuICAgIC8vIGFuZCBvdGhlcnMgaW4gdjEuMS5cbiAgICBpZiAoYWN0dWFsU3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHRlc3QgPSAodGFnKSA9PiB0YWcuZGVmYXVsdCAmJiB0YWcudGFnICE9PSAndGFnOnlhbWwub3JnLDIwMDI6c3RyJyAmJiB0YWcudGVzdD8udGVzdChzdHIpO1xuICAgICAgICBjb25zdCB7IGNvbXBhdCwgdGFncyB9ID0gY3R4LmRvYy5zY2hlbWE7XG4gICAgICAgIGlmICh0YWdzLnNvbWUodGVzdCkgfHwgY29tcGF0Py5zb21lKHRlc3QpKVxuICAgICAgICAgICAgcmV0dXJuIHF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KTtcbiAgICB9XG4gICAgcmV0dXJuIGltcGxpY2l0S2V5XG4gICAgICAgID8gc3RyXG4gICAgICAgIDogZm9sZEZsb3dMaW5lcyhzdHIsIGluZGVudCwgRk9MRF9GTE9XLCBnZXRGb2xkT3B0aW9ucyhjdHgsIGZhbHNlKSk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlTdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgY29uc3QgeyBpbXBsaWNpdEtleSwgaW5GbG93IH0gPSBjdHg7XG4gICAgY29uc3Qgc3MgPSB0eXBlb2YgaXRlbS52YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyBpdGVtXG4gICAgICAgIDogT2JqZWN0LmFzc2lnbih7fSwgaXRlbSwgeyB2YWx1ZTogU3RyaW5nKGl0ZW0udmFsdWUpIH0pO1xuICAgIGxldCB7IHR5cGUgfSA9IGl0ZW07XG4gICAgaWYgKHR5cGUgIT09IFNjYWxhci5RVU9URV9ET1VCTEUpIHtcbiAgICAgICAgLy8gZm9yY2UgZG91YmxlIHF1b3RlcyBvbiBjb250cm9sIGNoYXJhY3RlcnMgJiB1bnBhaXJlZCBzdXJyb2dhdGVzXG4gICAgICAgIGlmICgvW1xceDAwLVxceDA4XFx4MGItXFx4MWZcXHg3Zi1cXHg5ZlxcdXtEODAwfS1cXHV7REZGRn1dL3UudGVzdChzcy52YWx1ZSkpXG4gICAgICAgICAgICB0eXBlID0gU2NhbGFyLlFVT1RFX0RPVUJMRTtcbiAgICB9XG4gICAgY29uc3QgX3N0cmluZ2lmeSA9IChfdHlwZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKF90eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFNjYWxhci5CTE9DS19GT0xERUQ6XG4gICAgICAgICAgICBjYXNlIFNjYWxhci5CTE9DS19MSVRFUkFMOlxuICAgICAgICAgICAgICAgIHJldHVybiBpbXBsaWNpdEtleSB8fCBpbkZsb3dcbiAgICAgICAgICAgICAgICAgICAgPyBxdW90ZWRTdHJpbmcoc3MudmFsdWUsIGN0eCkgLy8gYmxvY2tzIGFyZSBub3QgdmFsaWQgaW5zaWRlIGZsb3cgY29udGFpbmVyc1xuICAgICAgICAgICAgICAgICAgICA6IGJsb2NrU3RyaW5nKHNzLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgICAgICAgICAgY2FzZSBTY2FsYXIuUVVPVEVfRE9VQkxFOlxuICAgICAgICAgICAgICAgIHJldHVybiBkb3VibGVRdW90ZWRTdHJpbmcoc3MudmFsdWUsIGN0eCk7XG4gICAgICAgICAgICBjYXNlIFNjYWxhci5RVU9URV9TSU5HTEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZVF1b3RlZFN0cmluZyhzcy52YWx1ZSwgY3R4KTtcbiAgICAgICAgICAgIGNhc2UgU2NhbGFyLlBMQUlOOlxuICAgICAgICAgICAgICAgIHJldHVybiBwbGFpblN0cmluZyhzcywgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGxldCByZXMgPSBfc3RyaW5naWZ5KHR5cGUpO1xuICAgIGlmIChyZXMgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyBkZWZhdWx0S2V5VHlwZSwgZGVmYXVsdFN0cmluZ1R5cGUgfSA9IGN0eC5vcHRpb25zO1xuICAgICAgICBjb25zdCB0ID0gKGltcGxpY2l0S2V5ICYmIGRlZmF1bHRLZXlUeXBlKSB8fCBkZWZhdWx0U3RyaW5nVHlwZTtcbiAgICAgICAgcmVzID0gX3N0cmluZ2lmeSh0KTtcbiAgICAgICAgaWYgKHJlcyA9PT0gbnVsbClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVmYXVsdCBzdHJpbmcgdHlwZSAke3R9YCk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5cbmV4cG9ydCB7IHN0cmluZ2lmeVN0cmluZyB9O1xuIiwgImltcG9ydCB7IGFuY2hvcklzVmFsaWQgfSBmcm9tICcuLi9kb2MvYW5jaG9ycy5qcyc7XG5pbXBvcnQgeyBpc1BhaXIsIGlzQWxpYXMsIGlzTm9kZSwgaXNTY2FsYXIsIGlzQ29sbGVjdGlvbiB9IGZyb20gJy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeUNvbW1lbnQgfSBmcm9tICcuL3N0cmluZ2lmeUNvbW1lbnQuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5U3RyaW5nIH0gZnJvbSAnLi9zdHJpbmdpZnlTdHJpbmcuanMnO1xuXG5mdW5jdGlvbiBjcmVhdGVTdHJpbmdpZnlDb250ZXh0KGRvYywgb3B0aW9ucykge1xuICAgIGNvbnN0IG9wdCA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICBibG9ja1F1b3RlOiB0cnVlLFxuICAgICAgICBjb21tZW50U3RyaW5nOiBzdHJpbmdpZnlDb21tZW50LFxuICAgICAgICBkZWZhdWx0S2V5VHlwZTogbnVsbCxcbiAgICAgICAgZGVmYXVsdFN0cmluZ1R5cGU6ICdQTEFJTicsXG4gICAgICAgIGRpcmVjdGl2ZXM6IG51bGwsXG4gICAgICAgIGRvdWJsZVF1b3RlZEFzSlNPTjogZmFsc2UsXG4gICAgICAgIGRvdWJsZVF1b3RlZE1pbk11bHRpTGluZUxlbmd0aDogNDAsXG4gICAgICAgIGZhbHNlU3RyOiAnZmFsc2UnLFxuICAgICAgICBmbG93Q29sbGVjdGlvblBhZGRpbmc6IHRydWUsXG4gICAgICAgIGluZGVudFNlcTogdHJ1ZSxcbiAgICAgICAgbGluZVdpZHRoOiA4MCxcbiAgICAgICAgbWluQ29udGVudFdpZHRoOiAyMCxcbiAgICAgICAgbnVsbFN0cjogJ251bGwnLFxuICAgICAgICBzaW1wbGVLZXlzOiBmYWxzZSxcbiAgICAgICAgc2luZ2xlUXVvdGU6IG51bGwsXG4gICAgICAgIHRydWVTdHI6ICd0cnVlJyxcbiAgICAgICAgdmVyaWZ5QWxpYXNPcmRlcjogdHJ1ZVxuICAgIH0sIGRvYy5zY2hlbWEudG9TdHJpbmdPcHRpb25zLCBvcHRpb25zKTtcbiAgICBsZXQgaW5GbG93O1xuICAgIHN3aXRjaCAob3B0LmNvbGxlY3Rpb25TdHlsZSkge1xuICAgICAgICBjYXNlICdibG9jayc6XG4gICAgICAgICAgICBpbkZsb3cgPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdmbG93JzpcbiAgICAgICAgICAgIGluRmxvdyA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGluRmxvdyA9IG51bGw7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGFuY2hvcnM6IG5ldyBTZXQoKSxcbiAgICAgICAgZG9jLFxuICAgICAgICBmbG93Q29sbGVjdGlvblBhZGRpbmc6IG9wdC5mbG93Q29sbGVjdGlvblBhZGRpbmcgPyAnICcgOiAnJyxcbiAgICAgICAgaW5kZW50OiAnJyxcbiAgICAgICAgaW5kZW50U3RlcDogdHlwZW9mIG9wdC5pbmRlbnQgPT09ICdudW1iZXInID8gJyAnLnJlcGVhdChvcHQuaW5kZW50KSA6ICcgICcsXG4gICAgICAgIGluRmxvdyxcbiAgICAgICAgb3B0aW9uczogb3B0XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldFRhZ09iamVjdCh0YWdzLCBpdGVtKSB7XG4gICAgaWYgKGl0ZW0udGFnKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gdGFncy5maWx0ZXIodCA9PiB0LnRhZyA9PT0gaXRlbS50YWcpO1xuICAgICAgICBpZiAobWF0Y2gubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHJldHVybiBtYXRjaC5maW5kKHQgPT4gdC5mb3JtYXQgPT09IGl0ZW0uZm9ybWF0KSA/PyBtYXRjaFswXTtcbiAgICB9XG4gICAgbGV0IHRhZ09iaiA9IHVuZGVmaW5lZDtcbiAgICBsZXQgb2JqO1xuICAgIGlmIChpc1NjYWxhcihpdGVtKSkge1xuICAgICAgICBvYmogPSBpdGVtLnZhbHVlO1xuICAgICAgICBsZXQgbWF0Y2ggPSB0YWdzLmZpbHRlcih0ID0+IHQuaWRlbnRpZnk/LihvYmopKTtcbiAgICAgICAgaWYgKG1hdGNoLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlc3RNYXRjaCA9IG1hdGNoLmZpbHRlcih0ID0+IHQudGVzdCk7XG4gICAgICAgICAgICBpZiAodGVzdE1hdGNoLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgbWF0Y2ggPSB0ZXN0TWF0Y2g7XG4gICAgICAgIH1cbiAgICAgICAgdGFnT2JqID1cbiAgICAgICAgICAgIG1hdGNoLmZpbmQodCA9PiB0LmZvcm1hdCA9PT0gaXRlbS5mb3JtYXQpID8/IG1hdGNoLmZpbmQodCA9PiAhdC5mb3JtYXQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgb2JqID0gaXRlbTtcbiAgICAgICAgdGFnT2JqID0gdGFncy5maW5kKHQgPT4gdC5ub2RlQ2xhc3MgJiYgb2JqIGluc3RhbmNlb2YgdC5ub2RlQ2xhc3MpO1xuICAgIH1cbiAgICBpZiAoIXRhZ09iaikge1xuICAgICAgICBjb25zdCBuYW1lID0gb2JqPy5jb25zdHJ1Y3Rvcj8ubmFtZSA/PyB0eXBlb2Ygb2JqO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRhZyBub3QgcmVzb2x2ZWQgZm9yICR7bmFtZX0gdmFsdWVgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRhZ09iajtcbn1cbi8vIG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgdmFsdWUgc3RyaW5naWZpZXIgdG8gYWxsb3cgZm9yIGNpcmN1bGFyIGFuY2hvciByZWZzXG5mdW5jdGlvbiBzdHJpbmdpZnlQcm9wcyhub2RlLCB0YWdPYmosIHsgYW5jaG9ycywgZG9jIH0pIHtcbiAgICBpZiAoIWRvYy5kaXJlY3RpdmVzKVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgY29uc3QgcHJvcHMgPSBbXTtcbiAgICBjb25zdCBhbmNob3IgPSAoaXNTY2FsYXIobm9kZSkgfHwgaXNDb2xsZWN0aW9uKG5vZGUpKSAmJiBub2RlLmFuY2hvcjtcbiAgICBpZiAoYW5jaG9yICYmIGFuY2hvcklzVmFsaWQoYW5jaG9yKSkge1xuICAgICAgICBhbmNob3JzLmFkZChhbmNob3IpO1xuICAgICAgICBwcm9wcy5wdXNoKGAmJHthbmNob3J9YCk7XG4gICAgfVxuICAgIGNvbnN0IHRhZyA9IG5vZGUudGFnID8gbm9kZS50YWcgOiB0YWdPYmouZGVmYXVsdCA/IG51bGwgOiB0YWdPYmoudGFnO1xuICAgIGlmICh0YWcpXG4gICAgICAgIHByb3BzLnB1c2goZG9jLmRpcmVjdGl2ZXMudGFnU3RyaW5nKHRhZykpO1xuICAgIHJldHVybiBwcm9wcy5qb2luKCcgJyk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnkoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgaWYgKGlzUGFpcihpdGVtKSlcbiAgICAgICAgcmV0dXJuIGl0ZW0udG9TdHJpbmcoY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICBpZiAoaXNBbGlhcyhpdGVtKSkge1xuICAgICAgICBpZiAoY3R4LmRvYy5kaXJlY3RpdmVzKVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW0udG9TdHJpbmcoY3R4KTtcbiAgICAgICAgaWYgKGN0eC5yZXNvbHZlZEFsaWFzZXM/LmhhcyhpdGVtKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgQ2Fubm90IHN0cmluZ2lmeSBjaXJjdWxhciBzdHJ1Y3R1cmUgd2l0aG91dCBhbGlhcyBub2Rlc2ApO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGN0eC5yZXNvbHZlZEFsaWFzZXMpXG4gICAgICAgICAgICAgICAgY3R4LnJlc29sdmVkQWxpYXNlcy5hZGQoaXRlbSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY3R4LnJlc29sdmVkQWxpYXNlcyA9IG5ldyBTZXQoW2l0ZW1dKTtcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtLnJlc29sdmUoY3R4LmRvYyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IHRhZ09iaiA9IHVuZGVmaW5lZDtcbiAgICBjb25zdCBub2RlID0gaXNOb2RlKGl0ZW0pXG4gICAgICAgID8gaXRlbVxuICAgICAgICA6IGN0eC5kb2MuY3JlYXRlTm9kZShpdGVtLCB7IG9uVGFnT2JqOiBvID0+ICh0YWdPYmogPSBvKSB9KTtcbiAgICBpZiAoIXRhZ09iailcbiAgICAgICAgdGFnT2JqID0gZ2V0VGFnT2JqZWN0KGN0eC5kb2Muc2NoZW1hLnRhZ3MsIG5vZGUpO1xuICAgIGNvbnN0IHByb3BzID0gc3RyaW5naWZ5UHJvcHMobm9kZSwgdGFnT2JqLCBjdHgpO1xuICAgIGlmIChwcm9wcy5sZW5ndGggPiAwKVxuICAgICAgICBjdHguaW5kZW50QXRTdGFydCA9IChjdHguaW5kZW50QXRTdGFydCA/PyAwKSArIHByb3BzLmxlbmd0aCArIDE7XG4gICAgY29uc3Qgc3RyID0gdHlwZW9mIHRhZ09iai5zdHJpbmdpZnkgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyB0YWdPYmouc3RyaW5naWZ5KG5vZGUsIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcClcbiAgICAgICAgOiBpc1NjYWxhcihub2RlKVxuICAgICAgICAgICAgPyBzdHJpbmdpZnlTdHJpbmcobm9kZSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKVxuICAgICAgICAgICAgOiBub2RlLnRvU3RyaW5nKGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCk7XG4gICAgaWYgKCFwcm9wcylcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICByZXR1cm4gaXNTY2FsYXIobm9kZSkgfHwgc3RyWzBdID09PSAneycgfHwgc3RyWzBdID09PSAnWydcbiAgICAgICAgPyBgJHtwcm9wc30gJHtzdHJ9YFxuICAgICAgICA6IGAke3Byb3BzfVxcbiR7Y3R4LmluZGVudH0ke3N0cn1gO1xufVxuXG5leHBvcnQgeyBjcmVhdGVTdHJpbmdpZnlDb250ZXh0LCBzdHJpbmdpZnkgfTtcbiIsICJpbXBvcnQgeyBpc0NvbGxlY3Rpb24sIGlzTm9kZSwgaXNTY2FsYXIsIGlzU2VxIH0gZnJvbSAnLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vbm9kZXMvU2NhbGFyLmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gJy4vc3RyaW5naWZ5LmpzJztcbmltcG9ydCB7IGxpbmVDb21tZW50LCBpbmRlbnRDb21tZW50IH0gZnJvbSAnLi9zdHJpbmdpZnlDb21tZW50LmpzJztcblxuZnVuY3Rpb24gc3RyaW5naWZ5UGFpcih7IGtleSwgdmFsdWUgfSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgY29uc3QgeyBhbGxOdWxsVmFsdWVzLCBkb2MsIGluZGVudCwgaW5kZW50U3RlcCwgb3B0aW9uczogeyBjb21tZW50U3RyaW5nLCBpbmRlbnRTZXEsIHNpbXBsZUtleXMgfSB9ID0gY3R4O1xuICAgIGxldCBrZXlDb21tZW50ID0gKGlzTm9kZShrZXkpICYmIGtleS5jb21tZW50KSB8fCBudWxsO1xuICAgIGlmIChzaW1wbGVLZXlzKSB7XG4gICAgICAgIGlmIChrZXlDb21tZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dpdGggc2ltcGxlIGtleXMsIGtleSBub2RlcyBjYW5ub3QgaGF2ZSBjb21tZW50cycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NvbGxlY3Rpb24oa2V5KSB8fCAoIWlzTm9kZShrZXkpICYmIHR5cGVvZiBrZXkgPT09ICdvYmplY3QnKSkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gJ1dpdGggc2ltcGxlIGtleXMsIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQgYXMgYSBrZXkgdmFsdWUnO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IGV4cGxpY2l0S2V5ID0gIXNpbXBsZUtleXMgJiZcbiAgICAgICAgKCFrZXkgfHxcbiAgICAgICAgICAgIChrZXlDb21tZW50ICYmIHZhbHVlID09IG51bGwgJiYgIWN0eC5pbkZsb3cpIHx8XG4gICAgICAgICAgICBpc0NvbGxlY3Rpb24oa2V5KSB8fFxuICAgICAgICAgICAgKGlzU2NhbGFyKGtleSlcbiAgICAgICAgICAgICAgICA/IGtleS50eXBlID09PSBTY2FsYXIuQkxPQ0tfRk9MREVEIHx8IGtleS50eXBlID09PSBTY2FsYXIuQkxPQ0tfTElURVJBTFxuICAgICAgICAgICAgICAgIDogdHlwZW9mIGtleSA9PT0gJ29iamVjdCcpKTtcbiAgICBjdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHtcbiAgICAgICAgYWxsTnVsbFZhbHVlczogZmFsc2UsXG4gICAgICAgIGltcGxpY2l0S2V5OiAhZXhwbGljaXRLZXkgJiYgKHNpbXBsZUtleXMgfHwgIWFsbE51bGxWYWx1ZXMpLFxuICAgICAgICBpbmRlbnQ6IGluZGVudCArIGluZGVudFN0ZXBcbiAgICB9KTtcbiAgICBsZXQga2V5Q29tbWVudERvbmUgPSBmYWxzZTtcbiAgICBsZXQgY2hvbXBLZWVwID0gZmFsc2U7XG4gICAgbGV0IHN0ciA9IHN0cmluZ2lmeShrZXksIGN0eCwgKCkgPT4gKGtleUNvbW1lbnREb25lID0gdHJ1ZSksICgpID0+IChjaG9tcEtlZXAgPSB0cnVlKSk7XG4gICAgaWYgKCFleHBsaWNpdEtleSAmJiAhY3R4LmluRmxvdyAmJiBzdHIubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICBpZiAoc2ltcGxlS2V5cylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignV2l0aCBzaW1wbGUga2V5cywgc2luZ2xlIGxpbmUgc2NhbGFyIG11c3Qgbm90IHNwYW4gbW9yZSB0aGFuIDEwMjQgY2hhcmFjdGVycycpO1xuICAgICAgICBleHBsaWNpdEtleSA9IHRydWU7XG4gICAgfVxuICAgIGlmIChjdHguaW5GbG93KSB7XG4gICAgICAgIGlmIChhbGxOdWxsVmFsdWVzIHx8IHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChrZXlDb21tZW50RG9uZSAmJiBvbkNvbW1lbnQpXG4gICAgICAgICAgICAgICAgb25Db21tZW50KCk7XG4gICAgICAgICAgICByZXR1cm4gc3RyID09PSAnJyA/ICc/JyA6IGV4cGxpY2l0S2V5ID8gYD8gJHtzdHJ9YCA6IHN0cjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgoYWxsTnVsbFZhbHVlcyAmJiAhc2ltcGxlS2V5cykgfHwgKHZhbHVlID09IG51bGwgJiYgZXhwbGljaXRLZXkpKSB7XG4gICAgICAgIHN0ciA9IGA/ICR7c3RyfWA7XG4gICAgICAgIGlmIChrZXlDb21tZW50ICYmICFrZXlDb21tZW50RG9uZSkge1xuICAgICAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgY3R4LmluZGVudCwgY29tbWVudFN0cmluZyhrZXlDb21tZW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY2hvbXBLZWVwICYmIG9uQ2hvbXBLZWVwKVxuICAgICAgICAgICAgb25DaG9tcEtlZXAoKTtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG4gICAgaWYgKGtleUNvbW1lbnREb25lKVxuICAgICAgICBrZXlDb21tZW50ID0gbnVsbDtcbiAgICBpZiAoZXhwbGljaXRLZXkpIHtcbiAgICAgICAgaWYgKGtleUNvbW1lbnQpXG4gICAgICAgICAgICBzdHIgKz0gbGluZUNvbW1lbnQoc3RyLCBjdHguaW5kZW50LCBjb21tZW50U3RyaW5nKGtleUNvbW1lbnQpKTtcbiAgICAgICAgc3RyID0gYD8gJHtzdHJ9XFxuJHtpbmRlbnR9OmA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBzdHIgPSBgJHtzdHJ9OmA7XG4gICAgICAgIGlmIChrZXlDb21tZW50KVxuICAgICAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgY3R4LmluZGVudCwgY29tbWVudFN0cmluZyhrZXlDb21tZW50KSk7XG4gICAgfVxuICAgIGxldCB2c2IsIHZjYiwgdmFsdWVDb21tZW50O1xuICAgIGlmIChpc05vZGUodmFsdWUpKSB7XG4gICAgICAgIHZzYiA9ICEhdmFsdWUuc3BhY2VCZWZvcmU7XG4gICAgICAgIHZjYiA9IHZhbHVlLmNvbW1lbnRCZWZvcmU7XG4gICAgICAgIHZhbHVlQ29tbWVudCA9IHZhbHVlLmNvbW1lbnQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2c2IgPSBmYWxzZTtcbiAgICAgICAgdmNiID0gbnVsbDtcbiAgICAgICAgdmFsdWVDb21tZW50ID0gbnVsbDtcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpXG4gICAgICAgICAgICB2YWx1ZSA9IGRvYy5jcmVhdGVOb2RlKHZhbHVlKTtcbiAgICB9XG4gICAgY3R4LmltcGxpY2l0S2V5ID0gZmFsc2U7XG4gICAgaWYgKCFleHBsaWNpdEtleSAmJiAha2V5Q29tbWVudCAmJiBpc1NjYWxhcih2YWx1ZSkpXG4gICAgICAgIGN0eC5pbmRlbnRBdFN0YXJ0ID0gc3RyLmxlbmd0aCArIDE7XG4gICAgY2hvbXBLZWVwID0gZmFsc2U7XG4gICAgaWYgKCFpbmRlbnRTZXEgJiZcbiAgICAgICAgaW5kZW50U3RlcC5sZW5ndGggPj0gMiAmJlxuICAgICAgICAhY3R4LmluRmxvdyAmJlxuICAgICAgICAhZXhwbGljaXRLZXkgJiZcbiAgICAgICAgaXNTZXEodmFsdWUpICYmXG4gICAgICAgICF2YWx1ZS5mbG93ICYmXG4gICAgICAgICF2YWx1ZS50YWcgJiZcbiAgICAgICAgIXZhbHVlLmFuY2hvcikge1xuICAgICAgICAvLyBJZiBpbmRlbnRTZXEgPT09IGZhbHNlLCBjb25zaWRlciAnLSAnIGFzIHBhcnQgb2YgaW5kZW50YXRpb24gd2hlcmUgcG9zc2libGVcbiAgICAgICAgY3R4LmluZGVudCA9IGN0eC5pbmRlbnQuc3Vic3RyaW5nKDIpO1xuICAgIH1cbiAgICBsZXQgdmFsdWVDb21tZW50RG9uZSA9IGZhbHNlO1xuICAgIGNvbnN0IHZhbHVlU3RyID0gc3RyaW5naWZ5KHZhbHVlLCBjdHgsICgpID0+ICh2YWx1ZUNvbW1lbnREb25lID0gdHJ1ZSksICgpID0+IChjaG9tcEtlZXAgPSB0cnVlKSk7XG4gICAgbGV0IHdzID0gJyAnO1xuICAgIGlmIChrZXlDb21tZW50IHx8IHZzYiB8fCB2Y2IpIHtcbiAgICAgICAgd3MgPSB2c2IgPyAnXFxuJyA6ICcnO1xuICAgICAgICBpZiAodmNiKSB7XG4gICAgICAgICAgICBjb25zdCBjcyA9IGNvbW1lbnRTdHJpbmcodmNiKTtcbiAgICAgICAgICAgIHdzICs9IGBcXG4ke2luZGVudENvbW1lbnQoY3MsIGN0eC5pbmRlbnQpfWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlU3RyID09PSAnJyAmJiAhY3R4LmluRmxvdykge1xuICAgICAgICAgICAgaWYgKHdzID09PSAnXFxuJylcbiAgICAgICAgICAgICAgICB3cyA9ICdcXG5cXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgd3MgKz0gYFxcbiR7Y3R4LmluZGVudH1gO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKCFleHBsaWNpdEtleSAmJiBpc0NvbGxlY3Rpb24odmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IHZzMCA9IHZhbHVlU3RyWzBdO1xuICAgICAgICBjb25zdCBubDAgPSB2YWx1ZVN0ci5pbmRleE9mKCdcXG4nKTtcbiAgICAgICAgY29uc3QgaGFzTmV3bGluZSA9IG5sMCAhPT0gLTE7XG4gICAgICAgIGNvbnN0IGZsb3cgPSBjdHguaW5GbG93ID8/IHZhbHVlLmZsb3cgPz8gdmFsdWUuaXRlbXMubGVuZ3RoID09PSAwO1xuICAgICAgICBpZiAoaGFzTmV3bGluZSB8fCAhZmxvdykge1xuICAgICAgICAgICAgbGV0IGhhc1Byb3BzTGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGhhc05ld2xpbmUgJiYgKHZzMCA9PT0gJyYnIHx8IHZzMCA9PT0gJyEnKSkge1xuICAgICAgICAgICAgICAgIGxldCBzcDAgPSB2YWx1ZVN0ci5pbmRleE9mKCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKHZzMCA9PT0gJyYnICYmXG4gICAgICAgICAgICAgICAgICAgIHNwMCAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgc3AwIDwgbmwwICYmXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlU3RyW3NwMCArIDFdID09PSAnIScpIHtcbiAgICAgICAgICAgICAgICAgICAgc3AwID0gdmFsdWVTdHIuaW5kZXhPZignICcsIHNwMCArIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoc3AwID09PSAtMSB8fCBubDAgPCBzcDApXG4gICAgICAgICAgICAgICAgICAgIGhhc1Byb3BzTGluZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWhhc1Byb3BzTGluZSlcbiAgICAgICAgICAgICAgICB3cyA9IGBcXG4ke2N0eC5pbmRlbnR9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh2YWx1ZVN0ciA9PT0gJycgfHwgdmFsdWVTdHJbMF0gPT09ICdcXG4nKSB7XG4gICAgICAgIHdzID0gJyc7XG4gICAgfVxuICAgIHN0ciArPSB3cyArIHZhbHVlU3RyO1xuICAgIGlmIChjdHguaW5GbG93KSB7XG4gICAgICAgIGlmICh2YWx1ZUNvbW1lbnREb25lICYmIG9uQ29tbWVudClcbiAgICAgICAgICAgIG9uQ29tbWVudCgpO1xuICAgIH1cbiAgICBlbHNlIGlmICh2YWx1ZUNvbW1lbnQgJiYgIXZhbHVlQ29tbWVudERvbmUpIHtcbiAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgY3R4LmluZGVudCwgY29tbWVudFN0cmluZyh2YWx1ZUNvbW1lbnQpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoY2hvbXBLZWVwICYmIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIG9uQ2hvbXBLZWVwKCk7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydCB7IHN0cmluZ2lmeVBhaXIgfTtcbiIsICJmdW5jdGlvbiBkZWJ1Zyhsb2dMZXZlbCwgLi4ubWVzc2FnZXMpIHtcbiAgICBpZiAobG9nTGV2ZWwgPT09ICdkZWJ1ZycpXG4gICAgICAgIGNvbnNvbGUubG9nKC4uLm1lc3NhZ2VzKTtcbn1cbmZ1bmN0aW9uIHdhcm4obG9nTGV2ZWwsIHdhcm5pbmcpIHtcbiAgICBpZiAobG9nTGV2ZWwgPT09ICdkZWJ1ZycgfHwgbG9nTGV2ZWwgPT09ICd3YXJuJykge1xuICAgICAgICBpZiAodHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmIHByb2Nlc3MuZW1pdFdhcm5pbmcpXG4gICAgICAgICAgICBwcm9jZXNzLmVtaXRXYXJuaW5nKHdhcm5pbmcpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBjb25zb2xlLndhcm4od2FybmluZyk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBkZWJ1Zywgd2FybiB9O1xuIiwgImltcG9ydCB7IGlzU2NhbGFyLCBpc0FsaWFzLCBpc1NlcSwgaXNNYXAgfSBmcm9tICcuLi8uLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuXG4vLyBJZiB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGEgbWVyZ2Uga2V5IGlzIGEgc2luZ2xlIG1hcHBpbmcgbm9kZSwgZWFjaCBvZlxuLy8gaXRzIGtleS92YWx1ZSBwYWlycyBpcyBpbnNlcnRlZCBpbnRvIHRoZSBjdXJyZW50IG1hcHBpbmcsIHVubGVzcyB0aGUga2V5XG4vLyBhbHJlYWR5IGV4aXN0cyBpbiBpdC4gSWYgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbWVyZ2Uga2V5IGlzIGFcbi8vIHNlcXVlbmNlLCB0aGVuIHRoaXMgc2VxdWVuY2UgaXMgZXhwZWN0ZWQgdG8gY29udGFpbiBtYXBwaW5nIG5vZGVzIGFuZCBlYWNoXG4vLyBvZiB0aGVzZSBub2RlcyBpcyBtZXJnZWQgaW4gdHVybiBhY2NvcmRpbmcgdG8gaXRzIG9yZGVyIGluIHRoZSBzZXF1ZW5jZS5cbi8vIEtleXMgaW4gbWFwcGluZyBub2RlcyBlYXJsaWVyIGluIHRoZSBzZXF1ZW5jZSBvdmVycmlkZSBrZXlzIHNwZWNpZmllZCBpblxuLy8gbGF0ZXIgbWFwcGluZyBub2Rlcy4gLS0gaHR0cDovL3lhbWwub3JnL3R5cGUvbWVyZ2UuaHRtbFxuY29uc3QgTUVSR0VfS0VZID0gJzw8JztcbmNvbnN0IG1lcmdlID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB2YWx1ZSA9PT0gTUVSR0VfS0VZIHx8XG4gICAgICAgICh0eXBlb2YgdmFsdWUgPT09ICdzeW1ib2wnICYmIHZhbHVlLmRlc2NyaXB0aW9uID09PSBNRVJHRV9LRVkpLFxuICAgIGRlZmF1bHQ6ICdrZXknLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOm1lcmdlJyxcbiAgICB0ZXN0OiAvXjw8JC8sXG4gICAgcmVzb2x2ZTogKCkgPT4gT2JqZWN0LmFzc2lnbihuZXcgU2NhbGFyKFN5bWJvbChNRVJHRV9LRVkpKSwge1xuICAgICAgICBhZGRUb0pTTWFwOiBhZGRNZXJnZVRvSlNNYXBcbiAgICB9KSxcbiAgICBzdHJpbmdpZnk6ICgpID0+IE1FUkdFX0tFWVxufTtcbmNvbnN0IGlzTWVyZ2VLZXkgPSAoY3R4LCBrZXkpID0+IChtZXJnZS5pZGVudGlmeShrZXkpIHx8XG4gICAgKGlzU2NhbGFyKGtleSkgJiZcbiAgICAgICAgKCFrZXkudHlwZSB8fCBrZXkudHlwZSA9PT0gU2NhbGFyLlBMQUlOKSAmJlxuICAgICAgICBtZXJnZS5pZGVudGlmeShrZXkudmFsdWUpKSkgJiZcbiAgICBjdHg/LmRvYy5zY2hlbWEudGFncy5zb21lKHRhZyA9PiB0YWcudGFnID09PSBtZXJnZS50YWcgJiYgdGFnLmRlZmF1bHQpO1xuZnVuY3Rpb24gYWRkTWVyZ2VUb0pTTWFwKGN0eCwgbWFwLCB2YWx1ZSkge1xuICAgIHZhbHVlID0gY3R4ICYmIGlzQWxpYXModmFsdWUpID8gdmFsdWUucmVzb2x2ZShjdHguZG9jKSA6IHZhbHVlO1xuICAgIGlmIChpc1NlcSh2YWx1ZSkpXG4gICAgICAgIGZvciAoY29uc3QgaXQgb2YgdmFsdWUuaXRlbXMpXG4gICAgICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCBpdCk7XG4gICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgIGZvciAoY29uc3QgaXQgb2YgdmFsdWUpXG4gICAgICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCBpdCk7XG4gICAgZWxzZVxuICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCB2YWx1ZSk7XG59XG5mdW5jdGlvbiBtZXJnZVZhbHVlKGN0eCwgbWFwLCB2YWx1ZSkge1xuICAgIGNvbnN0IHNvdXJjZSA9IGN0eCAmJiBpc0FsaWFzKHZhbHVlKSA/IHZhbHVlLnJlc29sdmUoY3R4LmRvYykgOiB2YWx1ZTtcbiAgICBpZiAoIWlzTWFwKHNvdXJjZSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWVyZ2Ugc291cmNlcyBtdXN0IGJlIG1hcHMgb3IgbWFwIGFsaWFzZXMnKTtcbiAgICBjb25zdCBzcmNNYXAgPSBzb3VyY2UudG9KU09OKG51bGwsIGN0eCwgTWFwKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBzcmNNYXApIHtcbiAgICAgICAgaWYgKG1hcCBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgaWYgKCFtYXAuaGFzKGtleSkpXG4gICAgICAgICAgICAgICAgbWFwLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtYXAgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgICAgIG1hcC5hZGQoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1hcCwga2V5KSkge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1hcCwga2V5LCB7XG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG59XG5cbmV4cG9ydCB7IGFkZE1lcmdlVG9KU01hcCwgaXNNZXJnZUtleSwgbWVyZ2UgfTtcbiIsICJpbXBvcnQgeyB3YXJuIH0gZnJvbSAnLi4vbG9nLmpzJztcbmltcG9ydCB7IGlzTWVyZ2VLZXksIGFkZE1lcmdlVG9KU01hcCB9IGZyb20gJy4uL3NjaGVtYS95YW1sLTEuMS9tZXJnZS5qcyc7XG5pbXBvcnQgeyBjcmVhdGVTdHJpbmdpZnlDb250ZXh0IH0gZnJvbSAnLi4vc3RyaW5naWZ5L3N0cmluZ2lmeS5qcyc7XG5pbXBvcnQgeyBpc05vZGUgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IHRvSlMgfSBmcm9tICcuL3RvSlMuanMnO1xuXG5mdW5jdGlvbiBhZGRQYWlyVG9KU01hcChjdHgsIG1hcCwgeyBrZXksIHZhbHVlIH0pIHtcbiAgICBpZiAoaXNOb2RlKGtleSkgJiYga2V5LmFkZFRvSlNNYXApXG4gICAgICAgIGtleS5hZGRUb0pTTWFwKGN0eCwgbWFwLCB2YWx1ZSk7XG4gICAgLy8gVE9ETzogU2hvdWxkIGRyb3AgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIGJhcmUgPDwgaGFuZGxpbmdcbiAgICBlbHNlIGlmIChpc01lcmdlS2V5KGN0eCwga2V5KSlcbiAgICAgICAgYWRkTWVyZ2VUb0pTTWFwKGN0eCwgbWFwLCB2YWx1ZSk7XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGpzS2V5ID0gdG9KUyhrZXksICcnLCBjdHgpO1xuICAgICAgICBpZiAobWFwIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgICBtYXAuc2V0KGpzS2V5LCB0b0pTKHZhbHVlLCBqc0tleSwgY3R4KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobWFwIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgICAgICBtYXAuYWRkKGpzS2V5KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHN0cmluZ0tleSA9IHN0cmluZ2lmeUtleShrZXksIGpzS2V5LCBjdHgpO1xuICAgICAgICAgICAgY29uc3QganNWYWx1ZSA9IHRvSlModmFsdWUsIHN0cmluZ0tleSwgY3R4KTtcbiAgICAgICAgICAgIGlmIChzdHJpbmdLZXkgaW4gbWFwKVxuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtYXAsIHN0cmluZ0tleSwge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToganNWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIG1hcFtzdHJpbmdLZXldID0ganNWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5S2V5KGtleSwganNLZXksIGN0eCkge1xuICAgIGlmIChqc0tleSA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIGlmICh0eXBlb2YganNLZXkgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gU3RyaW5nKGpzS2V5KTtcbiAgICBpZiAoaXNOb2RlKGtleSkgJiYgY3R4Py5kb2MpIHtcbiAgICAgICAgY29uc3Qgc3RyQ3R4ID0gY3JlYXRlU3RyaW5naWZ5Q29udGV4dChjdHguZG9jLCB7fSk7XG4gICAgICAgIHN0ckN0eC5hbmNob3JzID0gbmV3IFNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgY3R4LmFuY2hvcnMua2V5cygpKVxuICAgICAgICAgICAgc3RyQ3R4LmFuY2hvcnMuYWRkKG5vZGUuYW5jaG9yKTtcbiAgICAgICAgc3RyQ3R4LmluRmxvdyA9IHRydWU7XG4gICAgICAgIHN0ckN0eC5pblN0cmluZ2lmeUtleSA9IHRydWU7XG4gICAgICAgIGNvbnN0IHN0cktleSA9IGtleS50b1N0cmluZyhzdHJDdHgpO1xuICAgICAgICBpZiAoIWN0eC5tYXBLZXlXYXJuZWQpIHtcbiAgICAgICAgICAgIGxldCBqc29uU3RyID0gSlNPTi5zdHJpbmdpZnkoc3RyS2V5KTtcbiAgICAgICAgICAgIGlmIChqc29uU3RyLmxlbmd0aCA+IDQwKVxuICAgICAgICAgICAgICAgIGpzb25TdHIgPSBqc29uU3RyLnN1YnN0cmluZygwLCAzNikgKyAnLi4uXCInO1xuICAgICAgICAgICAgd2FybihjdHguZG9jLm9wdGlvbnMubG9nTGV2ZWwsIGBLZXlzIHdpdGggY29sbGVjdGlvbiB2YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZCBkdWUgdG8gSlMgT2JqZWN0IHJlc3RyaWN0aW9uczogJHtqc29uU3RyfS4gU2V0IG1hcEFzTWFwOiB0cnVlIHRvIHVzZSBvYmplY3Qga2V5cy5gKTtcbiAgICAgICAgICAgIGN0eC5tYXBLZXlXYXJuZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHJLZXk7XG4gICAgfVxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShqc0tleSk7XG59XG5cbmV4cG9ydCB7IGFkZFBhaXJUb0pTTWFwIH07XG4iLCAiaW1wb3J0IHsgY3JlYXRlTm9kZSB9IGZyb20gJy4uL2RvYy9jcmVhdGVOb2RlLmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeVBhaXIgfSBmcm9tICcuLi9zdHJpbmdpZnkvc3RyaW5naWZ5UGFpci5qcyc7XG5pbXBvcnQgeyBhZGRQYWlyVG9KU01hcCB9IGZyb20gJy4vYWRkUGFpclRvSlNNYXAuanMnO1xuaW1wb3J0IHsgTk9ERV9UWVBFLCBQQUlSLCBpc05vZGUgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcblxuZnVuY3Rpb24gY3JlYXRlUGFpcihrZXksIHZhbHVlLCBjdHgpIHtcbiAgICBjb25zdCBrID0gY3JlYXRlTm9kZShrZXksIHVuZGVmaW5lZCwgY3R4KTtcbiAgICBjb25zdCB2ID0gY3JlYXRlTm9kZSh2YWx1ZSwgdW5kZWZpbmVkLCBjdHgpO1xuICAgIHJldHVybiBuZXcgUGFpcihrLCB2KTtcbn1cbmNsYXNzIFBhaXIge1xuICAgIGNvbnN0cnVjdG9yKGtleSwgdmFsdWUgPSBudWxsKSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBOT0RFX1RZUEUsIHsgdmFsdWU6IFBBSVIgfSk7XG4gICAgICAgIHRoaXMua2V5ID0ga2V5O1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGNsb25lKHNjaGVtYSkge1xuICAgICAgICBsZXQgeyBrZXksIHZhbHVlIH0gPSB0aGlzO1xuICAgICAgICBpZiAoaXNOb2RlKGtleSkpXG4gICAgICAgICAgICBrZXkgPSBrZXkuY2xvbmUoc2NoZW1hKTtcbiAgICAgICAgaWYgKGlzTm9kZSh2YWx1ZSkpXG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLmNsb25lKHNjaGVtYSk7XG4gICAgICAgIHJldHVybiBuZXcgUGFpcihrZXksIHZhbHVlKTtcbiAgICB9XG4gICAgdG9KU09OKF8sIGN0eCkge1xuICAgICAgICBjb25zdCBwYWlyID0gY3R4Py5tYXBBc01hcCA/IG5ldyBNYXAoKSA6IHt9O1xuICAgICAgICByZXR1cm4gYWRkUGFpclRvSlNNYXAoY3R4LCBwYWlyLCB0aGlzKTtcbiAgICB9XG4gICAgdG9TdHJpbmcoY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIHJldHVybiBjdHg/LmRvY1xuICAgICAgICAgICAgPyBzdHJpbmdpZnlQYWlyKHRoaXMsIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcClcbiAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkodGhpcyk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBQYWlyLCBjcmVhdGVQYWlyIH07XG4iLCAiaW1wb3J0IHsgaXNOb2RlLCBpc1BhaXIgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuL3N0cmluZ2lmeS5qcyc7XG5pbXBvcnQgeyBsaW5lQ29tbWVudCwgaW5kZW50Q29tbWVudCB9IGZyb20gJy4vc3RyaW5naWZ5Q29tbWVudC5qcyc7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeUNvbGxlY3Rpb24oY29sbGVjdGlvbiwgY3R4LCBvcHRpb25zKSB7XG4gICAgY29uc3QgZmxvdyA9IGN0eC5pbkZsb3cgPz8gY29sbGVjdGlvbi5mbG93O1xuICAgIGNvbnN0IHN0cmluZ2lmeSA9IGZsb3cgPyBzdHJpbmdpZnlGbG93Q29sbGVjdGlvbiA6IHN0cmluZ2lmeUJsb2NrQ29sbGVjdGlvbjtcbiAgICByZXR1cm4gc3RyaW5naWZ5KGNvbGxlY3Rpb24sIGN0eCwgb3B0aW9ucyk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlCbG9ja0NvbGxlY3Rpb24oeyBjb21tZW50LCBpdGVtcyB9LCBjdHgsIHsgYmxvY2tJdGVtUHJlZml4LCBmbG93Q2hhcnMsIGl0ZW1JbmRlbnQsIG9uQ2hvbXBLZWVwLCBvbkNvbW1lbnQgfSkge1xuICAgIGNvbnN0IHsgaW5kZW50LCBvcHRpb25zOiB7IGNvbW1lbnRTdHJpbmcgfSB9ID0gY3R4O1xuICAgIGNvbnN0IGl0ZW1DdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHsgaW5kZW50OiBpdGVtSW5kZW50LCB0eXBlOiBudWxsIH0pO1xuICAgIGxldCBjaG9tcEtlZXAgPSBmYWxzZTsgLy8gZmxhZyBmb3IgdGhlIHByZWNlZGluZyBub2RlJ3Mgc3RhdHVzXG4gICAgY29uc3QgbGluZXMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXTtcbiAgICAgICAgbGV0IGNvbW1lbnQgPSBudWxsO1xuICAgICAgICBpZiAoaXNOb2RlKGl0ZW0pKSB7XG4gICAgICAgICAgICBpZiAoIWNob21wS2VlcCAmJiBpdGVtLnNwYWNlQmVmb3JlKVxuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goJycpO1xuICAgICAgICAgICAgYWRkQ29tbWVudEJlZm9yZShjdHgsIGxpbmVzLCBpdGVtLmNvbW1lbnRCZWZvcmUsIGNob21wS2VlcCk7XG4gICAgICAgICAgICBpZiAoaXRlbS5jb21tZW50KVxuICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBpdGVtLmNvbW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNQYWlyKGl0ZW0pKSB7XG4gICAgICAgICAgICBjb25zdCBpayA9IGlzTm9kZShpdGVtLmtleSkgPyBpdGVtLmtleSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoaWspIHtcbiAgICAgICAgICAgICAgICBpZiAoIWNob21wS2VlcCAmJiBpay5zcGFjZUJlZm9yZSlcbiAgICAgICAgICAgICAgICAgICAgbGluZXMucHVzaCgnJyk7XG4gICAgICAgICAgICAgICAgYWRkQ29tbWVudEJlZm9yZShjdHgsIGxpbmVzLCBpay5jb21tZW50QmVmb3JlLCBjaG9tcEtlZXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNob21wS2VlcCA9IGZhbHNlO1xuICAgICAgICBsZXQgc3RyID0gc3RyaW5naWZ5KGl0ZW0sIGl0ZW1DdHgsICgpID0+IChjb21tZW50ID0gbnVsbCksICgpID0+IChjaG9tcEtlZXAgPSB0cnVlKSk7XG4gICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgaXRlbUluZGVudCwgY29tbWVudFN0cmluZyhjb21tZW50KSk7XG4gICAgICAgIGlmIChjaG9tcEtlZXAgJiYgY29tbWVudClcbiAgICAgICAgICAgIGNob21wS2VlcCA9IGZhbHNlO1xuICAgICAgICBsaW5lcy5wdXNoKGJsb2NrSXRlbVByZWZpeCArIHN0cik7XG4gICAgfVxuICAgIGxldCBzdHI7XG4gICAgaWYgKGxpbmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBzdHIgPSBmbG93Q2hhcnMuc3RhcnQgKyBmbG93Q2hhcnMuZW5kO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgc3RyID0gbGluZXNbMF07XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbGluZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmUgPSBsaW5lc1tpXTtcbiAgICAgICAgICAgIHN0ciArPSBsaW5lID8gYFxcbiR7aW5kZW50fSR7bGluZX1gIDogJ1xcbic7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgc3RyICs9ICdcXG4nICsgaW5kZW50Q29tbWVudChjb21tZW50U3RyaW5nKGNvbW1lbnQpLCBpbmRlbnQpO1xuICAgICAgICBpZiAob25Db21tZW50KVxuICAgICAgICAgICAgb25Db21tZW50KCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNob21wS2VlcCAmJiBvbkNob21wS2VlcClcbiAgICAgICAgb25DaG9tcEtlZXAoKTtcbiAgICByZXR1cm4gc3RyO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5Rmxvd0NvbGxlY3Rpb24oeyBpdGVtcyB9LCBjdHgsIHsgZmxvd0NoYXJzLCBpdGVtSW5kZW50IH0pIHtcbiAgICBjb25zdCB7IGluZGVudCwgaW5kZW50U3RlcCwgZmxvd0NvbGxlY3Rpb25QYWRkaW5nOiBmY1BhZGRpbmcsIG9wdGlvbnM6IHsgY29tbWVudFN0cmluZyB9IH0gPSBjdHg7XG4gICAgaXRlbUluZGVudCArPSBpbmRlbnRTdGVwO1xuICAgIGNvbnN0IGl0ZW1DdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHtcbiAgICAgICAgaW5kZW50OiBpdGVtSW5kZW50LFxuICAgICAgICBpbkZsb3c6IHRydWUsXG4gICAgICAgIHR5cGU6IG51bGxcbiAgICB9KTtcbiAgICBsZXQgcmVxTmV3bGluZSA9IGZhbHNlO1xuICAgIGxldCBsaW5lc0F0VmFsdWUgPSAwO1xuICAgIGNvbnN0IGxpbmVzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG4gICAgICAgIGxldCBjb21tZW50ID0gbnVsbDtcbiAgICAgICAgaWYgKGlzTm9kZShpdGVtKSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0uc3BhY2VCZWZvcmUpXG4gICAgICAgICAgICAgICAgbGluZXMucHVzaCgnJyk7XG4gICAgICAgICAgICBhZGRDb21tZW50QmVmb3JlKGN0eCwgbGluZXMsIGl0ZW0uY29tbWVudEJlZm9yZSwgZmFsc2UpO1xuICAgICAgICAgICAgaWYgKGl0ZW0uY29tbWVudClcbiAgICAgICAgICAgICAgICBjb21tZW50ID0gaXRlbS5jb21tZW50O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzUGFpcihpdGVtKSkge1xuICAgICAgICAgICAgY29uc3QgaWsgPSBpc05vZGUoaXRlbS5rZXkpID8gaXRlbS5rZXkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGlrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlrLnNwYWNlQmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgICAgICAgICBhZGRDb21tZW50QmVmb3JlKGN0eCwgbGluZXMsIGlrLmNvbW1lbnRCZWZvcmUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICBpZiAoaWsuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpdiA9IGlzTm9kZShpdGVtLnZhbHVlKSA/IGl0ZW0udmFsdWUgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGl2KSB7XG4gICAgICAgICAgICAgICAgaWYgKGl2LmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBpdi5jb21tZW50O1xuICAgICAgICAgICAgICAgIGlmIChpdi5jb21tZW50QmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICByZXFOZXdsaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0udmFsdWUgPT0gbnVsbCAmJiBpaz8uY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBpay5jb21tZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgIGxldCBzdHIgPSBzdHJpbmdpZnkoaXRlbSwgaXRlbUN0eCwgKCkgPT4gKGNvbW1lbnQgPSBudWxsKSk7XG4gICAgICAgIGlmIChpIDwgaXRlbXMubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgIHN0ciArPSAnLCc7XG4gICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgaXRlbUluZGVudCwgY29tbWVudFN0cmluZyhjb21tZW50KSk7XG4gICAgICAgIGlmICghcmVxTmV3bGluZSAmJiAobGluZXMubGVuZ3RoID4gbGluZXNBdFZhbHVlIHx8IHN0ci5pbmNsdWRlcygnXFxuJykpKVxuICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgIGxpbmVzLnB1c2goc3RyKTtcbiAgICAgICAgbGluZXNBdFZhbHVlID0gbGluZXMubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGZsb3dDaGFycztcbiAgICBpZiAobGluZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBzdGFydCArIGVuZDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGlmICghcmVxTmV3bGluZSkge1xuICAgICAgICAgICAgY29uc3QgbGVuID0gbGluZXMucmVkdWNlKChzdW0sIGxpbmUpID0+IHN1bSArIGxpbmUubGVuZ3RoICsgMiwgMik7XG4gICAgICAgICAgICByZXFOZXdsaW5lID0gY3R4Lm9wdGlvbnMubGluZVdpZHRoID4gMCAmJiBsZW4gPiBjdHgub3B0aW9ucy5saW5lV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcU5ld2xpbmUpIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSBzdGFydDtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcylcbiAgICAgICAgICAgICAgICBzdHIgKz0gbGluZSA/IGBcXG4ke2luZGVudFN0ZXB9JHtpbmRlbnR9JHtsaW5lfWAgOiAnXFxuJztcbiAgICAgICAgICAgIHJldHVybiBgJHtzdHJ9XFxuJHtpbmRlbnR9JHtlbmR9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtzdGFydH0ke2ZjUGFkZGluZ30ke2xpbmVzLmpvaW4oJyAnKX0ke2ZjUGFkZGluZ30ke2VuZH1gO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gYWRkQ29tbWVudEJlZm9yZSh7IGluZGVudCwgb3B0aW9uczogeyBjb21tZW50U3RyaW5nIH0gfSwgbGluZXMsIGNvbW1lbnQsIGNob21wS2VlcCkge1xuICAgIGlmIChjb21tZW50ICYmIGNob21wS2VlcClcbiAgICAgICAgY29tbWVudCA9IGNvbW1lbnQucmVwbGFjZSgvXlxcbisvLCAnJyk7XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgY29uc3QgaWMgPSBpbmRlbnRDb21tZW50KGNvbW1lbnRTdHJpbmcoY29tbWVudCksIGluZGVudCk7XG4gICAgICAgIGxpbmVzLnB1c2goaWMudHJpbVN0YXJ0KCkpOyAvLyBBdm9pZCBkb3VibGUgaW5kZW50IG9uIGZpcnN0IGxpbmVcbiAgICB9XG59XG5cbmV4cG9ydCB7IHN0cmluZ2lmeUNvbGxlY3Rpb24gfTtcbiIsICJpbXBvcnQgeyBzdHJpbmdpZnlDb2xsZWN0aW9uIH0gZnJvbSAnLi4vc3RyaW5naWZ5L3N0cmluZ2lmeUNvbGxlY3Rpb24uanMnO1xuaW1wb3J0IHsgYWRkUGFpclRvSlNNYXAgfSBmcm9tICcuL2FkZFBhaXJUb0pTTWFwLmpzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL0NvbGxlY3Rpb24uanMnO1xuaW1wb3J0IHsgaXNQYWlyLCBpc1NjYWxhciwgTUFQIH0gZnJvbSAnLi9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBQYWlyLCBjcmVhdGVQYWlyIH0gZnJvbSAnLi9QYWlyLmpzJztcbmltcG9ydCB7IGlzU2NhbGFyVmFsdWUgfSBmcm9tICcuL1NjYWxhci5qcyc7XG5cbmZ1bmN0aW9uIGZpbmRQYWlyKGl0ZW1zLCBrZXkpIHtcbiAgICBjb25zdCBrID0gaXNTY2FsYXIoa2V5KSA/IGtleS52YWx1ZSA6IGtleTtcbiAgICBmb3IgKGNvbnN0IGl0IG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmIChpc1BhaXIoaXQpKSB7XG4gICAgICAgICAgICBpZiAoaXQua2V5ID09PSBrZXkgfHwgaXQua2V5ID09PSBrKVxuICAgICAgICAgICAgICAgIHJldHVybiBpdDtcbiAgICAgICAgICAgIGlmIChpc1NjYWxhcihpdC5rZXkpICYmIGl0LmtleS52YWx1ZSA9PT0gaylcbiAgICAgICAgICAgICAgICByZXR1cm4gaXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmNsYXNzIFlBTUxNYXAgZXh0ZW5kcyBDb2xsZWN0aW9uIHtcbiAgICBzdGF0aWMgZ2V0IHRhZ05hbWUoKSB7XG4gICAgICAgIHJldHVybiAndGFnOnlhbWwub3JnLDIwMDI6bWFwJztcbiAgICB9XG4gICAgY29uc3RydWN0b3Ioc2NoZW1hKSB7XG4gICAgICAgIHN1cGVyKE1BUCwgc2NoZW1hKTtcbiAgICAgICAgdGhpcy5pdGVtcyA9IFtdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIGdlbmVyaWMgY29sbGVjdGlvbiBwYXJzaW5nIG1ldGhvZCB0aGF0IGNhbiBiZSBleHRlbmRlZFxuICAgICAqIHRvIG90aGVyIG5vZGUgY2xhc3NlcyB0aGF0IGluaGVyaXQgZnJvbSBZQU1MTWFwXG4gICAgICovXG4gICAgc3RhdGljIGZyb20oc2NoZW1hLCBvYmosIGN0eCkge1xuICAgICAgICBjb25zdCB7IGtlZXBVbmRlZmluZWQsIHJlcGxhY2VyIH0gPSBjdHg7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyB0aGlzKHNjaGVtYSk7XG4gICAgICAgIGNvbnN0IGFkZCA9IChrZXksIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgICAgIHZhbHVlID0gcmVwbGFjZXIuY2FsbChvYmosIGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyZXBsYWNlcikgJiYgIXJlcGxhY2VyLmluY2x1ZGVzKGtleSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgfHwga2VlcFVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaChjcmVhdGVQYWlyKGtleSwgdmFsdWUsIGN0eCkpO1xuICAgICAgICB9O1xuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBvYmopXG4gICAgICAgICAgICAgICAgYWRkKGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG9iaiAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqKSlcbiAgICAgICAgICAgICAgICBhZGQoa2V5LCBvYmpba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBzY2hlbWEuc29ydE1hcEVudHJpZXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1hcC5pdGVtcy5zb3J0KHNjaGVtYS5zb3J0TWFwRW50cmllcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWRkcyBhIHZhbHVlIHRvIHRoZSBjb2xsZWN0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIG92ZXJ3cml0ZSAtIElmIG5vdCBzZXQgYHRydWVgLCB1c2luZyBhIGtleSB0aGF0IGlzIGFscmVhZHkgaW4gdGhlXG4gICAgICogICBjb2xsZWN0aW9uIHdpbGwgdGhyb3cuIE90aGVyd2lzZSwgb3ZlcndyaXRlcyB0aGUgcHJldmlvdXMgdmFsdWUuXG4gICAgICovXG4gICAgYWRkKHBhaXIsIG92ZXJ3cml0ZSkge1xuICAgICAgICBsZXQgX3BhaXI7XG4gICAgICAgIGlmIChpc1BhaXIocGFpcikpXG4gICAgICAgICAgICBfcGFpciA9IHBhaXI7XG4gICAgICAgIGVsc2UgaWYgKCFwYWlyIHx8IHR5cGVvZiBwYWlyICE9PSAnb2JqZWN0JyB8fCAhKCdrZXknIGluIHBhaXIpKSB7XG4gICAgICAgICAgICAvLyBJbiBUeXBlU2NyaXB0LCB0aGlzIG5ldmVyIGhhcHBlbnMuXG4gICAgICAgICAgICBfcGFpciA9IG5ldyBQYWlyKHBhaXIsIHBhaXI/LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBfcGFpciA9IG5ldyBQYWlyKHBhaXIua2V5LCBwYWlyLnZhbHVlKTtcbiAgICAgICAgY29uc3QgcHJldiA9IGZpbmRQYWlyKHRoaXMuaXRlbXMsIF9wYWlyLmtleSk7XG4gICAgICAgIGNvbnN0IHNvcnRFbnRyaWVzID0gdGhpcy5zY2hlbWE/LnNvcnRNYXBFbnRyaWVzO1xuICAgICAgICBpZiAocHJldikge1xuICAgICAgICAgICAgaWYgKCFvdmVyd3JpdGUpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBLZXkgJHtfcGFpci5rZXl9IGFscmVhZHkgc2V0YCk7XG4gICAgICAgICAgICAvLyBGb3Igc2NhbGFycywga2VlcCB0aGUgb2xkIG5vZGUgJiBpdHMgY29tbWVudHMgYW5kIGFuY2hvcnNcbiAgICAgICAgICAgIGlmIChpc1NjYWxhcihwcmV2LnZhbHVlKSAmJiBpc1NjYWxhclZhbHVlKF9wYWlyLnZhbHVlKSlcbiAgICAgICAgICAgICAgICBwcmV2LnZhbHVlLnZhbHVlID0gX3BhaXIudmFsdWU7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcHJldi52YWx1ZSA9IF9wYWlyLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHNvcnRFbnRyaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBzb3J0RW50cmllcyhfcGFpciwgaXRlbSkgPCAwKTtcbiAgICAgICAgICAgIGlmIChpID09PSAtMSlcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goX3BhaXIpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGksIDAsIF9wYWlyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaChfcGFpcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGVsZXRlKGtleSkge1xuICAgICAgICBjb25zdCBpdCA9IGZpbmRQYWlyKHRoaXMuaXRlbXMsIGtleSk7XG4gICAgICAgIGlmICghaXQpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGNvbnN0IGRlbCA9IHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihpdCksIDEpO1xuICAgICAgICByZXR1cm4gZGVsLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIGdldChrZXksIGtlZXBTY2FsYXIpIHtcbiAgICAgICAgY29uc3QgaXQgPSBmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgICAgICBjb25zdCBub2RlID0gaXQ/LnZhbHVlO1xuICAgICAgICByZXR1cm4gKCFrZWVwU2NhbGFyICYmIGlzU2NhbGFyKG5vZGUpID8gbm9kZS52YWx1ZSA6IG5vZGUpID8/IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaGFzKGtleSkge1xuICAgICAgICByZXR1cm4gISFmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgIH1cbiAgICBzZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICB0aGlzLmFkZChuZXcgUGFpcihrZXksIHZhbHVlKSwgdHJ1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBjdHggLSBDb252ZXJzaW9uIGNvbnRleHQsIG9yaWdpbmFsbHkgc2V0IGluIERvY3VtZW50I3RvSlMoKVxuICAgICAqIEBwYXJhbSB7Q2xhc3N9IFR5cGUgLSBJZiBzZXQsIGZvcmNlcyB0aGUgcmV0dXJuZWQgY29sbGVjdGlvbiB0eXBlXG4gICAgICogQHJldHVybnMgSW5zdGFuY2Ugb2YgVHlwZSwgTWFwLCBvciBPYmplY3RcbiAgICAgKi9cbiAgICB0b0pTT04oXywgY3R4LCBUeXBlKSB7XG4gICAgICAgIGNvbnN0IG1hcCA9IFR5cGUgPyBuZXcgVHlwZSgpIDogY3R4Py5tYXBBc01hcCA/IG5ldyBNYXAoKSA6IHt9O1xuICAgICAgICBpZiAoY3R4Py5vbkNyZWF0ZSlcbiAgICAgICAgICAgIGN0eC5vbkNyZWF0ZShtYXApO1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcylcbiAgICAgICAgICAgIGFkZFBhaXJUb0pTTWFwKGN0eCwgbWFwLCBpdGVtKTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG4gICAgdG9TdHJpbmcoY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIGlmICghY3R4KVxuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMpO1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgaWYgKCFpc1BhaXIoaXRlbSkpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXAgaXRlbXMgbXVzdCBhbGwgYmUgcGFpcnM7IGZvdW5kICR7SlNPTi5zdHJpbmdpZnkoaXRlbSl9IGluc3RlYWRgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWN0eC5hbGxOdWxsVmFsdWVzICYmIHRoaXMuaGFzQWxsTnVsbFZhbHVlcyhmYWxzZSkpXG4gICAgICAgICAgICBjdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHsgYWxsTnVsbFZhbHVlczogdHJ1ZSB9KTtcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeUNvbGxlY3Rpb24odGhpcywgY3R4LCB7XG4gICAgICAgICAgICBibG9ja0l0ZW1QcmVmaXg6ICcnLFxuICAgICAgICAgICAgZmxvd0NoYXJzOiB7IHN0YXJ0OiAneycsIGVuZDogJ30nIH0sXG4gICAgICAgICAgICBpdGVtSW5kZW50OiBjdHguaW5kZW50IHx8ICcnLFxuICAgICAgICAgICAgb25DaG9tcEtlZXAsXG4gICAgICAgICAgICBvbkNvbW1lbnRcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBZQU1MTWFwLCBmaW5kUGFpciB9O1xuIiwgImltcG9ydCB7IGlzTWFwIH0gZnJvbSAnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgWUFNTE1hcCB9IGZyb20gJy4uLy4uL25vZGVzL1lBTUxNYXAuanMnO1xuXG5jb25zdCBtYXAgPSB7XG4gICAgY29sbGVjdGlvbjogJ21hcCcsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICBub2RlQ2xhc3M6IFlBTUxNYXAsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6bWFwJyxcbiAgICByZXNvbHZlKG1hcCwgb25FcnJvcikge1xuICAgICAgICBpZiAoIWlzTWFwKG1hcCkpXG4gICAgICAgICAgICBvbkVycm9yKCdFeHBlY3RlZCBhIG1hcHBpbmcgZm9yIHRoaXMgdGFnJyk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfSxcbiAgICBjcmVhdGVOb2RlOiAoc2NoZW1hLCBvYmosIGN0eCkgPT4gWUFNTE1hcC5mcm9tKHNjaGVtYSwgb2JqLCBjdHgpXG59O1xuXG5leHBvcnQgeyBtYXAgfTtcbiIsICJpbXBvcnQgeyBjcmVhdGVOb2RlIH0gZnJvbSAnLi4vZG9jL2NyZWF0ZU5vZGUuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5Q29sbGVjdGlvbiB9IGZyb20gJy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlDb2xsZWN0aW9uLmpzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL0NvbGxlY3Rpb24uanMnO1xuaW1wb3J0IHsgU0VRLCBpc1NjYWxhciB9IGZyb20gJy4vaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgaXNTY2FsYXJWYWx1ZSB9IGZyb20gJy4vU2NhbGFyLmpzJztcbmltcG9ydCB7IHRvSlMgfSBmcm9tICcuL3RvSlMuanMnO1xuXG5jbGFzcyBZQU1MU2VxIGV4dGVuZHMgQ29sbGVjdGlvbiB7XG4gICAgc3RhdGljIGdldCB0YWdOYW1lKCkge1xuICAgICAgICByZXR1cm4gJ3RhZzp5YW1sLm9yZywyMDAyOnNlcSc7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHNjaGVtYSkge1xuICAgICAgICBzdXBlcihTRVEsIHNjaGVtYSk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICB9XG4gICAgYWRkKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuaXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSB2YWx1ZSBmcm9tIHRoZSBjb2xsZWN0aW9uLlxuICAgICAqXG4gICAgICogYGtleWAgbXVzdCBjb250YWluIGEgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlciBmb3IgdGhpcyB0byBzdWNjZWVkLlxuICAgICAqIEl0IG1heSBiZSB3cmFwcGVkIGluIGEgYFNjYWxhcmAuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGl0ZW0gd2FzIGZvdW5kIGFuZCByZW1vdmVkLlxuICAgICAqL1xuICAgIGRlbGV0ZShrZXkpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBkZWwgPSB0aGlzLml0ZW1zLnNwbGljZShpZHgsIDEpO1xuICAgICAgICByZXR1cm4gZGVsLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIGdldChrZXksIGtlZXBTY2FsYXIpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaXQgPSB0aGlzLml0ZW1zW2lkeF07XG4gICAgICAgIHJldHVybiAha2VlcFNjYWxhciAmJiBpc1NjYWxhcihpdCkgPyBpdC52YWx1ZSA6IGl0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGNvbGxlY3Rpb24gaW5jbHVkZXMgYSB2YWx1ZSB3aXRoIHRoZSBrZXkgYGtleWAuXG4gICAgICpcbiAgICAgKiBga2V5YCBtdXN0IGNvbnRhaW4gYSByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyIGZvciB0aGlzIHRvIHN1Y2NlZWQuXG4gICAgICogSXQgbWF5IGJlIHdyYXBwZWQgaW4gYSBgU2NhbGFyYC5cbiAgICAgKi9cbiAgICBoYXMoa2V5KSB7XG4gICAgICAgIGNvbnN0IGlkeCA9IGFzSXRlbUluZGV4KGtleSk7XG4gICAgICAgIHJldHVybiB0eXBlb2YgaWR4ID09PSAnbnVtYmVyJyAmJiBpZHggPCB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyBhIHZhbHVlIGluIHRoaXMgY29sbGVjdGlvbi4gRm9yIGAhIXNldGAsIGB2YWx1ZWAgbmVlZHMgdG8gYmUgYVxuICAgICAqIGJvb2xlYW4gdG8gYWRkL3JlbW92ZSB0aGUgaXRlbSBmcm9tIHRoZSBzZXQuXG4gICAgICpcbiAgICAgKiBJZiBga2V5YCBkb2VzIG5vdCBjb250YWluIGEgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlciwgdGhpcyB3aWxsIHRocm93LlxuICAgICAqIEl0IG1heSBiZSB3cmFwcGVkIGluIGEgYFNjYWxhcmAuXG4gICAgICovXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIHZhbGlkIGluZGV4LCBub3QgJHtrZXl9LmApO1xuICAgICAgICBjb25zdCBwcmV2ID0gdGhpcy5pdGVtc1tpZHhdO1xuICAgICAgICBpZiAoaXNTY2FsYXIocHJldikgJiYgaXNTY2FsYXJWYWx1ZSh2YWx1ZSkpXG4gICAgICAgICAgICBwcmV2LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuaXRlbXNbaWR4XSA9IHZhbHVlO1xuICAgIH1cbiAgICB0b0pTT04oXywgY3R4KSB7XG4gICAgICAgIGNvbnN0IHNlcSA9IFtdO1xuICAgICAgICBpZiAoY3R4Py5vbkNyZWF0ZSlcbiAgICAgICAgICAgIGN0eC5vbkNyZWF0ZShzZXEpO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKVxuICAgICAgICAgICAgc2VxLnB1c2godG9KUyhpdGVtLCBTdHJpbmcoaSsrKSwgY3R4KSk7XG4gICAgICAgIHJldHVybiBzZXE7XG4gICAgfVxuICAgIHRvU3RyaW5nKGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeUNvbGxlY3Rpb24odGhpcywgY3R4LCB7XG4gICAgICAgICAgICBibG9ja0l0ZW1QcmVmaXg6ICctICcsXG4gICAgICAgICAgICBmbG93Q2hhcnM6IHsgc3RhcnQ6ICdbJywgZW5kOiAnXScgfSxcbiAgICAgICAgICAgIGl0ZW1JbmRlbnQ6IChjdHguaW5kZW50IHx8ICcnKSArICcgICcsXG4gICAgICAgICAgICBvbkNob21wS2VlcCxcbiAgICAgICAgICAgIG9uQ29tbWVudFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3RhdGljIGZyb20oc2NoZW1hLCBvYmosIGN0eCkge1xuICAgICAgICBjb25zdCB7IHJlcGxhY2VyIH0gPSBjdHg7XG4gICAgICAgIGNvbnN0IHNlcSA9IG5ldyB0aGlzKHNjaGVtYSk7XG4gICAgICAgIGlmIChvYmogJiYgU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChvYmopKSB7XG4gICAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgICBmb3IgKGxldCBpdCBvZiBvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IG9iaiBpbnN0YW5jZW9mIFNldCA/IGl0IDogU3RyaW5nKGkrKyk7XG4gICAgICAgICAgICAgICAgICAgIGl0ID0gcmVwbGFjZXIuY2FsbChvYmosIGtleSwgaXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXEuaXRlbXMucHVzaChjcmVhdGVOb2RlKGl0LCB1bmRlZmluZWQsIGN0eCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZXE7XG4gICAgfVxufVxuZnVuY3Rpb24gYXNJdGVtSW5kZXgoa2V5KSB7XG4gICAgbGV0IGlkeCA9IGlzU2NhbGFyKGtleSkgPyBrZXkudmFsdWUgOiBrZXk7XG4gICAgaWYgKGlkeCAmJiB0eXBlb2YgaWR4ID09PSAnc3RyaW5nJylcbiAgICAgICAgaWR4ID0gTnVtYmVyKGlkeCk7XG4gICAgcmV0dXJuIHR5cGVvZiBpZHggPT09ICdudW1iZXInICYmIE51bWJlci5pc0ludGVnZXIoaWR4KSAmJiBpZHggPj0gMFxuICAgICAgICA/IGlkeFxuICAgICAgICA6IG51bGw7XG59XG5cbmV4cG9ydCB7IFlBTUxTZXEgfTtcbiIsICJpbXBvcnQgeyBpc1NlcSB9IGZyb20gJy4uLy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IFlBTUxTZXEgfSBmcm9tICcuLi8uLi9ub2Rlcy9ZQU1MU2VxLmpzJztcblxuY29uc3Qgc2VxID0ge1xuICAgIGNvbGxlY3Rpb246ICdzZXEnLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgbm9kZUNsYXNzOiBZQU1MU2VxLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOnNlcScsXG4gICAgcmVzb2x2ZShzZXEsIG9uRXJyb3IpIHtcbiAgICAgICAgaWYgKCFpc1NlcShzZXEpKVxuICAgICAgICAgICAgb25FcnJvcignRXhwZWN0ZWQgYSBzZXF1ZW5jZSBmb3IgdGhpcyB0YWcnKTtcbiAgICAgICAgcmV0dXJuIHNlcTtcbiAgICB9LFxuICAgIGNyZWF0ZU5vZGU6IChzY2hlbWEsIG9iaiwgY3R4KSA9PiBZQU1MU2VxLmZyb20oc2NoZW1hLCBvYmosIGN0eClcbn07XG5cbmV4cG9ydCB7IHNlcSB9O1xuIiwgImltcG9ydCB7IHN0cmluZ2lmeVN0cmluZyB9IGZyb20gJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlTdHJpbmcuanMnO1xuXG5jb25zdCBzdHJpbmcgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpzdHInLFxuICAgIHJlc29sdmU6IHN0ciA9PiBzdHIsXG4gICAgc3RyaW5naWZ5KGl0ZW0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgICAgICBjdHggPSBPYmplY3QuYXNzaWduKHsgYWN0dWFsU3RyaW5nOiB0cnVlIH0sIGN0eCk7XG4gICAgICAgIHJldHVybiBzdHJpbmdpZnlTdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICB9XG59O1xuXG5leHBvcnQgeyBzdHJpbmcgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuXG5jb25zdCBudWxsVGFnID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB2YWx1ZSA9PSBudWxsLFxuICAgIGNyZWF0ZU5vZGU6ICgpID0+IG5ldyBTY2FsYXIobnVsbCksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpudWxsJyxcbiAgICB0ZXN0OiAvXig/On58W05uXXVsbHxOVUxMKT8kLyxcbiAgICByZXNvbHZlOiAoKSA9PiBuZXcgU2NhbGFyKG51bGwpLFxuICAgIHN0cmluZ2lmeTogKHsgc291cmNlIH0sIGN0eCkgPT4gdHlwZW9mIHNvdXJjZSA9PT0gJ3N0cmluZycgJiYgbnVsbFRhZy50ZXN0LnRlc3Qoc291cmNlKVxuICAgICAgICA/IHNvdXJjZVxuICAgICAgICA6IGN0eC5vcHRpb25zLm51bGxTdHJcbn07XG5cbmV4cG9ydCB7IG51bGxUYWcgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuXG5jb25zdCBib29sVGFnID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmJvb2wnLFxuICAgIHRlc3Q6IC9eKD86W1R0XXJ1ZXxUUlVFfFtGZl1hbHNlfEZBTFNFKSQvLFxuICAgIHJlc29sdmU6IHN0ciA9PiBuZXcgU2NhbGFyKHN0clswXSA9PT0gJ3QnIHx8IHN0clswXSA9PT0gJ1QnKSxcbiAgICBzdHJpbmdpZnkoeyBzb3VyY2UsIHZhbHVlIH0sIGN0eCkge1xuICAgICAgICBpZiAoc291cmNlICYmIGJvb2xUYWcudGVzdC50ZXN0KHNvdXJjZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHN2ID0gc291cmNlWzBdID09PSAndCcgfHwgc291cmNlWzBdID09PSAnVCc7XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHN2KVxuICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlID8gY3R4Lm9wdGlvbnMudHJ1ZVN0ciA6IGN0eC5vcHRpb25zLmZhbHNlU3RyO1xuICAgIH1cbn07XG5cbmV4cG9ydCB7IGJvb2xUYWcgfTtcbiIsICJmdW5jdGlvbiBzdHJpbmdpZnlOdW1iZXIoeyBmb3JtYXQsIG1pbkZyYWN0aW9uRGlnaXRzLCB0YWcsIHZhbHVlIH0pIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYmlnaW50JylcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgY29uc3QgbnVtID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogTnVtYmVyKHZhbHVlKTtcbiAgICBpZiAoIWlzRmluaXRlKG51bSkpXG4gICAgICAgIHJldHVybiBpc05hTihudW0pID8gJy5uYW4nIDogbnVtIDwgMCA/ICctLmluZicgOiAnLmluZic7XG4gICAgbGV0IG4gPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgaWYgKCFmb3JtYXQgJiZcbiAgICAgICAgbWluRnJhY3Rpb25EaWdpdHMgJiZcbiAgICAgICAgKCF0YWcgfHwgdGFnID09PSAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnKSAmJlxuICAgICAgICAvXlxcZC8udGVzdChuKSkge1xuICAgICAgICBsZXQgaSA9IG4uaW5kZXhPZignLicpO1xuICAgICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgICAgIGkgPSBuLmxlbmd0aDtcbiAgICAgICAgICAgIG4gKz0gJy4nO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkID0gbWluRnJhY3Rpb25EaWdpdHMgLSAobi5sZW5ndGggLSBpIC0gMSk7XG4gICAgICAgIHdoaWxlIChkLS0gPiAwKVxuICAgICAgICAgICAgbiArPSAnMCc7XG4gICAgfVxuICAgIHJldHVybiBuO1xufVxuXG5leHBvcnQgeyBzdHJpbmdpZnlOdW1iZXIgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5TnVtYmVyIH0gZnJvbSAnLi4vLi4vc3RyaW5naWZ5L3N0cmluZ2lmeU51bWJlci5qcyc7XG5cbmNvbnN0IGZsb2F0TmFOID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgIHRlc3Q6IC9eKD86Wy0rXT9cXC4oPzppbmZ8SW5mfElORil8XFwubmFufFxcLk5hTnxcXC5OQU4pJC8sXG4gICAgcmVzb2x2ZTogc3RyID0+IHN0ci5zbGljZSgtMykudG9Mb3dlckNhc2UoKSA9PT0gJ25hbidcbiAgICAgICAgPyBOYU5cbiAgICAgICAgOiBzdHJbMF0gPT09ICctJ1xuICAgICAgICAgICAgPyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFlcbiAgICAgICAgICAgIDogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFxuICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5TnVtYmVyXG59O1xuY29uc3QgZmxvYXRFeHAgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCcsXG4gICAgZm9ybWF0OiAnRVhQJyxcbiAgICB0ZXN0OiAvXlstK10/KD86XFwuWzAtOV0rfFswLTldKyg/OlxcLlswLTldKik/KVtlRV1bLStdP1swLTldKyQvLFxuICAgIHJlc29sdmU6IHN0ciA9PiBwYXJzZUZsb2F0KHN0ciksXG4gICAgc3RyaW5naWZ5KG5vZGUpIHtcbiAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKG5vZGUudmFsdWUpO1xuICAgICAgICByZXR1cm4gaXNGaW5pdGUobnVtKSA/IG51bS50b0V4cG9uZW50aWFsKCkgOiBzdHJpbmdpZnlOdW1iZXIobm9kZSk7XG4gICAgfVxufTtcbmNvbnN0IGZsb2F0ID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgIHRlc3Q6IC9eWy0rXT8oPzpcXC5bMC05XSt8WzAtOV0rXFwuWzAtOV0qKSQvLFxuICAgIHJlc29sdmUoc3RyKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBuZXcgU2NhbGFyKHBhcnNlRmxvYXQoc3RyKSk7XG4gICAgICAgIGNvbnN0IGRvdCA9IHN0ci5pbmRleE9mKCcuJyk7XG4gICAgICAgIGlmIChkb3QgIT09IC0xICYmIHN0cltzdHIubGVuZ3RoIC0gMV0gPT09ICcwJylcbiAgICAgICAgICAgIG5vZGUubWluRnJhY3Rpb25EaWdpdHMgPSBzdHIubGVuZ3RoIC0gZG90IC0gMTtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSxcbiAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeU51bWJlclxufTtcblxuZXhwb3J0IHsgZmxvYXQsIGZsb2F0RXhwLCBmbG9hdE5hTiB9O1xuIiwgImltcG9ydCB7IHN0cmluZ2lmeU51bWJlciB9IGZyb20gJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlOdW1iZXIuanMnO1xuXG5jb25zdCBpbnRJZGVudGlmeSA9ICh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyB8fCBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKTtcbmNvbnN0IGludFJlc29sdmUgPSAoc3RyLCBvZmZzZXQsIHJhZGl4LCB7IGludEFzQmlnSW50IH0pID0+IChpbnRBc0JpZ0ludCA/IEJpZ0ludChzdHIpIDogcGFyc2VJbnQoc3RyLnN1YnN0cmluZyhvZmZzZXQpLCByYWRpeCkpO1xuZnVuY3Rpb24gaW50U3RyaW5naWZ5KG5vZGUsIHJhZGl4LCBwcmVmaXgpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBub2RlO1xuICAgIGlmIChpbnRJZGVudGlmeSh2YWx1ZSkgJiYgdmFsdWUgPj0gMClcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIHZhbHVlLnRvU3RyaW5nKHJhZGl4KTtcbiAgICByZXR1cm4gc3RyaW5naWZ5TnVtYmVyKG5vZGUpO1xufVxuY29uc3QgaW50T2N0ID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiBpbnRJZGVudGlmeSh2YWx1ZSkgJiYgdmFsdWUgPj0gMCxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgZm9ybWF0OiAnT0NUJyxcbiAgICB0ZXN0OiAvXjBvWzAtN10rJC8sXG4gICAgcmVzb2x2ZTogKHN0ciwgX29uRXJyb3IsIG9wdCkgPT4gaW50UmVzb2x2ZShzdHIsIDIsIDgsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCA4LCAnMG8nKVxufTtcbmNvbnN0IGludCA9IHtcbiAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIHRlc3Q6IC9eWy0rXT9bMC05XSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMCwgMTAsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlOdW1iZXJcbn07XG5jb25zdCBpbnRIZXggPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IGludElkZW50aWZ5KHZhbHVlKSAmJiB2YWx1ZSA+PSAwLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdIRVgnLFxuICAgIHRlc3Q6IC9eMHhbMC05YS1mQS1GXSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMiwgMTYsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCAxNiwgJzB4Jylcbn07XG5cbmV4cG9ydCB7IGludCwgaW50SGV4LCBpbnRPY3QgfTtcbiIsICJpbXBvcnQgeyBtYXAgfSBmcm9tICcuLi9jb21tb24vbWFwLmpzJztcbmltcG9ydCB7IG51bGxUYWcgfSBmcm9tICcuLi9jb21tb24vbnVsbC5qcyc7XG5pbXBvcnQgeyBzZXEgfSBmcm9tICcuLi9jb21tb24vc2VxLmpzJztcbmltcG9ydCB7IHN0cmluZyB9IGZyb20gJy4uL2NvbW1vbi9zdHJpbmcuanMnO1xuaW1wb3J0IHsgYm9vbFRhZyB9IGZyb20gJy4vYm9vbC5qcyc7XG5pbXBvcnQgeyBmbG9hdE5hTiwgZmxvYXRFeHAsIGZsb2F0IH0gZnJvbSAnLi9mbG9hdC5qcyc7XG5pbXBvcnQgeyBpbnRPY3QsIGludCwgaW50SGV4IH0gZnJvbSAnLi9pbnQuanMnO1xuXG5jb25zdCBzY2hlbWEgPSBbXG4gICAgbWFwLFxuICAgIHNlcSxcbiAgICBzdHJpbmcsXG4gICAgbnVsbFRhZyxcbiAgICBib29sVGFnLFxuICAgIGludE9jdCxcbiAgICBpbnQsXG4gICAgaW50SGV4LFxuICAgIGZsb2F0TmFOLFxuICAgIGZsb2F0RXhwLFxuICAgIGZsb2F0XG5dO1xuXG5leHBvcnQgeyBzY2hlbWEgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi4vY29tbW9uL21hcC5qcyc7XG5pbXBvcnQgeyBzZXEgfSBmcm9tICcuLi9jb21tb24vc2VxLmpzJztcblxuZnVuY3Rpb24gaW50SWRlbnRpZnkodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyB8fCBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKTtcbn1cbmNvbnN0IHN0cmluZ2lmeUpTT04gPSAoeyB2YWx1ZSB9KSA9PiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG5jb25zdCBqc29uU2NhbGFycyA9IFtcbiAgICB7XG4gICAgICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpzdHInLFxuICAgICAgICByZXNvbHZlOiBzdHIgPT4gc3RyLFxuICAgICAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeUpTT05cbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlID09IG51bGwsXG4gICAgICAgIGNyZWF0ZU5vZGU6ICgpID0+IG5ldyBTY2FsYXIobnVsbCksXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOm51bGwnLFxuICAgICAgICB0ZXN0OiAvXm51bGwkLyxcbiAgICAgICAgcmVzb2x2ZTogKCkgPT4gbnVsbCxcbiAgICAgICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlKU09OXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6Ym9vbCcsXG4gICAgICAgIHRlc3Q6IC9edHJ1ZXxmYWxzZSQvLFxuICAgICAgICByZXNvbHZlOiBzdHIgPT4gc3RyID09PSAndHJ1ZScsXG4gICAgICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5SlNPTlxuICAgIH0sXG4gICAge1xuICAgICAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgICAgIHRlc3Q6IC9eLT8oPzowfFsxLTldWzAtOV0qKSQvLFxuICAgICAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgeyBpbnRBc0JpZ0ludCB9KSA9PiBpbnRBc0JpZ0ludCA/IEJpZ0ludChzdHIpIDogcGFyc2VJbnQoc3RyLCAxMCksXG4gICAgICAgIHN0cmluZ2lmeTogKHsgdmFsdWUgfSkgPT4gaW50SWRlbnRpZnkodmFsdWUpID8gdmFsdWUudG9TdHJpbmcoKSA6IEpTT04uc3RyaW5naWZ5KHZhbHVlKVxuICAgIH0sXG4gICAge1xuICAgICAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgICAgICB0ZXN0OiAvXi0/KD86MHxbMS05XVswLTldKikoPzpcXC5bMC05XSopPyg/OltlRV1bLStdP1swLTldKyk/JC8sXG4gICAgICAgIHJlc29sdmU6IHN0ciA9PiBwYXJzZUZsb2F0KHN0ciksXG4gICAgICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5SlNPTlxuICAgIH1cbl07XG5jb25zdCBqc29uRXJyb3IgPSB7XG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICcnLFxuICAgIHRlc3Q6IC9eLyxcbiAgICByZXNvbHZlKHN0ciwgb25FcnJvcikge1xuICAgICAgICBvbkVycm9yKGBVbnJlc29sdmVkIHBsYWluIHNjYWxhciAke0pTT04uc3RyaW5naWZ5KHN0cil9YCk7XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxufTtcbmNvbnN0IHNjaGVtYSA9IFttYXAsIHNlcV0uY29uY2F0KGpzb25TY2FsYXJzLCBqc29uRXJyb3IpO1xuXG5leHBvcnQgeyBzY2hlbWEgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5U3RyaW5nIH0gZnJvbSAnLi4vLi4vc3RyaW5naWZ5L3N0cmluZ2lmeVN0cmluZy5qcyc7XG5cbmNvbnN0IGJpbmFyeSA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgaW5zdGFuY2VvZiBVaW50OEFycmF5LCAvLyBCdWZmZXIgaW5oZXJpdHMgZnJvbSBVaW50OEFycmF5XG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5JyxcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgQnVmZmVyIGluIG5vZGUgYW5kIGFuIFVpbnQ4QXJyYXkgaW4gYnJvd3NlcnNcbiAgICAgKlxuICAgICAqIFRvIHVzZSB0aGUgcmVzdWx0aW5nIGJ1ZmZlciBhcyBhbiBpbWFnZSwgeW91J2xsIHdhbnQgdG8gZG8gc29tZXRoaW5nIGxpa2U6XG4gICAgICpcbiAgICAgKiAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnaW1hZ2UvanBlZycgfSlcbiAgICAgKiAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwaG90bycpLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYilcbiAgICAgKi9cbiAgICByZXNvbHZlKHNyYywgb25FcnJvcikge1xuICAgICAgICBpZiAodHlwZW9mIEJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHNyYywgJ2Jhc2U2NCcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBhdG9iID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBPbiBJRSAxMSwgYXRvYigpIGNhbid0IGhhbmRsZSBuZXdsaW5lc1xuICAgICAgICAgICAgY29uc3Qgc3RyID0gYXRvYihzcmMucmVwbGFjZSgvW1xcblxccl0vZywgJycpKTtcbiAgICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KHN0ci5sZW5ndGgpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAgYnVmZmVyW2ldID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgICAgICByZXR1cm4gYnVmZmVyO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgb25FcnJvcignVGhpcyBlbnZpcm9ubWVudCBkb2VzIG5vdCBzdXBwb3J0IHJlYWRpbmcgYmluYXJ5IHRhZ3M7IGVpdGhlciBCdWZmZXIgb3IgYXRvYiBpcyByZXF1aXJlZCcpO1xuICAgICAgICAgICAgcmV0dXJuIHNyYztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3RyaW5naWZ5KHsgY29tbWVudCwgdHlwZSwgdmFsdWUgfSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIGNvbnN0IGJ1ZiA9IHZhbHVlOyAvLyBjaGVja2VkIGVhcmxpZXIgYnkgYmluYXJ5LmlkZW50aWZ5KClcbiAgICAgICAgbGV0IHN0cjtcbiAgICAgICAgaWYgKHR5cGVvZiBCdWZmZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHN0ciA9XG4gICAgICAgICAgICAgICAgYnVmIGluc3RhbmNlb2YgQnVmZmVyXG4gICAgICAgICAgICAgICAgICAgID8gYnVmLnRvU3RyaW5nKCdiYXNlNjQnKVxuICAgICAgICAgICAgICAgICAgICA6IEJ1ZmZlci5mcm9tKGJ1Zi5idWZmZXIpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgYnRvYSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbGV0IHMgPSAnJztcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgKytpKVxuICAgICAgICAgICAgICAgIHMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pO1xuICAgICAgICAgICAgc3RyID0gYnRvYShzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBlbnZpcm9ubWVudCBkb2VzIG5vdCBzdXBwb3J0IHdyaXRpbmcgYmluYXJ5IHRhZ3M7IGVpdGhlciBCdWZmZXIgb3IgYnRvYSBpcyByZXF1aXJlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdHlwZSlcbiAgICAgICAgICAgIHR5cGUgPSBTY2FsYXIuQkxPQ0tfTElURVJBTDtcbiAgICAgICAgaWYgKHR5cGUgIT09IFNjYWxhci5RVU9URV9ET1VCTEUpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVXaWR0aCA9IE1hdGgubWF4KGN0eC5vcHRpb25zLmxpbmVXaWR0aCAtIGN0eC5pbmRlbnQubGVuZ3RoLCBjdHgub3B0aW9ucy5taW5Db250ZW50V2lkdGgpO1xuICAgICAgICAgICAgY29uc3QgbiA9IE1hdGguY2VpbChzdHIubGVuZ3RoIC8gbGluZVdpZHRoKTtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVzID0gbmV3IEFycmF5KG4pO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIG8gPSAwOyBpIDwgbjsgKytpLCBvICs9IGxpbmVXaWR0aCkge1xuICAgICAgICAgICAgICAgIGxpbmVzW2ldID0gc3RyLnN1YnN0cihvLCBsaW5lV2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RyID0gbGluZXMuam9pbih0eXBlID09PSBTY2FsYXIuQkxPQ0tfTElURVJBTCA/ICdcXG4nIDogJyAnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyaW5naWZ5U3RyaW5nKHsgY29tbWVudCwgdHlwZSwgdmFsdWU6IHN0ciB9LCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgIH1cbn07XG5cbmV4cG9ydCB7IGJpbmFyeSB9O1xuIiwgImltcG9ydCB7IGlzU2VxLCBpc1BhaXIsIGlzTWFwIH0gZnJvbSAnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgUGFpciwgY3JlYXRlUGFpciB9IGZyb20gJy4uLy4uL25vZGVzL1BhaXIuanMnO1xuaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vLi4vbm9kZXMvU2NhbGFyLmpzJztcbmltcG9ydCB7IFlBTUxTZXEgfSBmcm9tICcuLi8uLi9ub2Rlcy9ZQU1MU2VxLmpzJztcblxuZnVuY3Rpb24gcmVzb2x2ZVBhaXJzKHNlcSwgb25FcnJvcikge1xuICAgIGlmIChpc1NlcShzZXEpKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VxLml0ZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICBsZXQgaXRlbSA9IHNlcS5pdGVtc1tpXTtcbiAgICAgICAgICAgIGlmIChpc1BhaXIoaXRlbSkpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBlbHNlIGlmIChpc01hcChpdGVtKSkge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLml0ZW1zLmxlbmd0aCA+IDEpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoJ0VhY2ggcGFpciBtdXN0IGhhdmUgaXRzIG93biBzZXF1ZW5jZSBpbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYWlyID0gaXRlbS5pdGVtc1swXSB8fCBuZXcgUGFpcihuZXcgU2NhbGFyKG51bGwpKTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jb21tZW50QmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICBwYWlyLmtleS5jb21tZW50QmVmb3JlID0gcGFpci5rZXkuY29tbWVudEJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBgJHtpdGVtLmNvbW1lbnRCZWZvcmV9XFxuJHtwYWlyLmtleS5jb21tZW50QmVmb3JlfWBcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXRlbS5jb21tZW50QmVmb3JlO1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvbW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY24gPSBwYWlyLnZhbHVlID8/IHBhaXIua2V5O1xuICAgICAgICAgICAgICAgICAgICBjbi5jb21tZW50ID0gY24uY29tbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBgJHtpdGVtLmNvbW1lbnR9XFxuJHtjbi5jb21tZW50fWBcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXRlbS5jb21tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpdGVtID0gcGFpcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlcS5pdGVtc1tpXSA9IGlzUGFpcihpdGVtKSA/IGl0ZW0gOiBuZXcgUGFpcihpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlXG4gICAgICAgIG9uRXJyb3IoJ0V4cGVjdGVkIGEgc2VxdWVuY2UgZm9yIHRoaXMgdGFnJyk7XG4gICAgcmV0dXJuIHNlcTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVBhaXJzKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkge1xuICAgIGNvbnN0IHsgcmVwbGFjZXIgfSA9IGN0eDtcbiAgICBjb25zdCBwYWlycyA9IG5ldyBZQU1MU2VxKHNjaGVtYSk7XG4gICAgcGFpcnMudGFnID0gJ3RhZzp5YW1sLm9yZywyMDAyOnBhaXJzJztcbiAgICBsZXQgaSA9IDA7XG4gICAgaWYgKGl0ZXJhYmxlICYmIFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcmFibGUpKVxuICAgICAgICBmb3IgKGxldCBpdCBvZiBpdGVyYWJsZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXBsYWNlciA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgICAgICBpdCA9IHJlcGxhY2VyLmNhbGwoaXRlcmFibGUsIFN0cmluZyhpKyspLCBpdCk7XG4gICAgICAgICAgICBsZXQga2V5LCB2YWx1ZTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0KSkge1xuICAgICAgICAgICAgICAgIGlmIChpdC5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAga2V5ID0gaXRbMF07XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gaXRbMV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgW2tleSwgdmFsdWVdIHR1cGxlOiAke2l0fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXQgJiYgaXQgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoaXQpO1xuICAgICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBrZXkgPSBrZXlzWzBdO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGl0W2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCB0dXBsZSB3aXRoIG9uZSBrZXksIG5vdCAke2tleXMubGVuZ3RofSBrZXlzYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAga2V5ID0gaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWlycy5pdGVtcy5wdXNoKGNyZWF0ZVBhaXIoa2V5LCB2YWx1ZSwgY3R4KSk7XG4gICAgICAgIH1cbiAgICByZXR1cm4gcGFpcnM7XG59XG5jb25zdCBwYWlycyA9IHtcbiAgICBjb2xsZWN0aW9uOiAnc2VxJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpwYWlycycsXG4gICAgcmVzb2x2ZTogcmVzb2x2ZVBhaXJzLFxuICAgIGNyZWF0ZU5vZGU6IGNyZWF0ZVBhaXJzXG59O1xuXG5leHBvcnQgeyBjcmVhdGVQYWlycywgcGFpcnMsIHJlc29sdmVQYWlycyB9O1xuIiwgImltcG9ydCB7IGlzU2NhbGFyLCBpc1BhaXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi4vLi4vbm9kZXMvdG9KUy5qcyc7XG5pbXBvcnQgeyBZQU1MTWFwIH0gZnJvbSAnLi4vLi4vbm9kZXMvWUFNTE1hcC5qcyc7XG5pbXBvcnQgeyBZQU1MU2VxIH0gZnJvbSAnLi4vLi4vbm9kZXMvWUFNTFNlcS5qcyc7XG5pbXBvcnQgeyByZXNvbHZlUGFpcnMsIGNyZWF0ZVBhaXJzIH0gZnJvbSAnLi9wYWlycy5qcyc7XG5cbmNsYXNzIFlBTUxPTWFwIGV4dGVuZHMgWUFNTFNlcSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYWRkID0gWUFNTE1hcC5wcm90b3R5cGUuYWRkLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZGVsZXRlID0gWUFNTE1hcC5wcm90b3R5cGUuZGVsZXRlLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZ2V0ID0gWUFNTE1hcC5wcm90b3R5cGUuZ2V0LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuaGFzID0gWUFNTE1hcC5wcm90b3R5cGUuaGFzLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuc2V0ID0gWUFNTE1hcC5wcm90b3R5cGUuc2V0LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMudGFnID0gWUFNTE9NYXAudGFnO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJZiBgY3R4YCBpcyBnaXZlbiwgdGhlIHJldHVybiB0eXBlIGlzIGFjdHVhbGx5IGBNYXA8dW5rbm93biwgdW5rbm93bj5gLFxuICAgICAqIGJ1dCBUeXBlU2NyaXB0IHdvbid0IGFsbG93IHdpZGVuaW5nIHRoZSBzaWduYXR1cmUgb2YgYSBjaGlsZCBtZXRob2QuXG4gICAgICovXG4gICAgdG9KU09OKF8sIGN0eCkge1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHJldHVybiBzdXBlci50b0pTT04oXyk7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgaWYgKGN0eD8ub25DcmVhdGUpXG4gICAgICAgICAgICBjdHgub25DcmVhdGUobWFwKTtcbiAgICAgICAgZm9yIChjb25zdCBwYWlyIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIGxldCBrZXksIHZhbHVlO1xuICAgICAgICAgICAgaWYgKGlzUGFpcihwYWlyKSkge1xuICAgICAgICAgICAgICAgIGtleSA9IHRvSlMocGFpci5rZXksICcnLCBjdHgpO1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdG9KUyhwYWlyLnZhbHVlLCBrZXksIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSB0b0pTKHBhaXIsICcnLCBjdHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1hcC5oYXMoa2V5KSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ09yZGVyZWQgbWFwcyBtdXN0IG5vdCBpbmNsdWRlIGR1cGxpY2F0ZSBrZXlzJyk7XG4gICAgICAgICAgICBtYXAuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfVxuICAgIHN0YXRpYyBmcm9tKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkge1xuICAgICAgICBjb25zdCBwYWlycyA9IGNyZWF0ZVBhaXJzKHNjaGVtYSwgaXRlcmFibGUsIGN0eCk7XG4gICAgICAgIGNvbnN0IG9tYXAgPSBuZXcgdGhpcygpO1xuICAgICAgICBvbWFwLml0ZW1zID0gcGFpcnMuaXRlbXM7XG4gICAgICAgIHJldHVybiBvbWFwO1xuICAgIH1cbn1cbllBTUxPTWFwLnRhZyA9ICd0YWc6eWFtbC5vcmcsMjAwMjpvbWFwJztcbmNvbnN0IG9tYXAgPSB7XG4gICAgY29sbGVjdGlvbjogJ3NlcScsXG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlIGluc3RhbmNlb2YgTWFwLFxuICAgIG5vZGVDbGFzczogWUFNTE9NYXAsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6b21hcCcsXG4gICAgcmVzb2x2ZShzZXEsIG9uRXJyb3IpIHtcbiAgICAgICAgY29uc3QgcGFpcnMgPSByZXNvbHZlUGFpcnMoc2VxLCBvbkVycm9yKTtcbiAgICAgICAgY29uc3Qgc2VlbktleXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB7IGtleSB9IG9mIHBhaXJzLml0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoaXNTY2FsYXIoa2V5KSkge1xuICAgICAgICAgICAgICAgIGlmIChzZWVuS2V5cy5pbmNsdWRlcyhrZXkudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoYE9yZGVyZWQgbWFwcyBtdXN0IG5vdCBpbmNsdWRlIGR1cGxpY2F0ZSBrZXlzOiAke2tleS52YWx1ZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlZW5LZXlzLnB1c2goa2V5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFlBTUxPTWFwKCksIHBhaXJzKTtcbiAgICB9LFxuICAgIGNyZWF0ZU5vZGU6IChzY2hlbWEsIGl0ZXJhYmxlLCBjdHgpID0+IFlBTUxPTWFwLmZyb20oc2NoZW1hLCBpdGVyYWJsZSwgY3R4KVxufTtcblxuZXhwb3J0IHsgWUFNTE9NYXAsIG9tYXAgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuXG5mdW5jdGlvbiBib29sU3RyaW5naWZ5KHsgdmFsdWUsIHNvdXJjZSB9LCBjdHgpIHtcbiAgICBjb25zdCBib29sT2JqID0gdmFsdWUgPyB0cnVlVGFnIDogZmFsc2VUYWc7XG4gICAgaWYgKHNvdXJjZSAmJiBib29sT2JqLnRlc3QudGVzdChzb3VyY2UpKVxuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgIHJldHVybiB2YWx1ZSA/IGN0eC5vcHRpb25zLnRydWVTdHIgOiBjdHgub3B0aW9ucy5mYWxzZVN0cjtcbn1cbmNvbnN0IHRydWVUYWcgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlID09PSB0cnVlLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6Ym9vbCcsXG4gICAgdGVzdDogL14oPzpZfHl8W1l5XWVzfFlFU3xbVHRdcnVlfFRSVUV8W09vXW58T04pJC8sXG4gICAgcmVzb2x2ZTogKCkgPT4gbmV3IFNjYWxhcih0cnVlKSxcbiAgICBzdHJpbmdpZnk6IGJvb2xTdHJpbmdpZnlcbn07XG5jb25zdCBmYWxzZVRhZyA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgPT09IGZhbHNlLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6Ym9vbCcsXG4gICAgdGVzdDogL14oPzpOfG58W05uXW98Tk98W0ZmXWFsc2V8RkFMU0V8W09vXWZmfE9GRikkLyxcbiAgICByZXNvbHZlOiAoKSA9PiBuZXcgU2NhbGFyKGZhbHNlKSxcbiAgICBzdHJpbmdpZnk6IGJvb2xTdHJpbmdpZnlcbn07XG5cbmV4cG9ydCB7IGZhbHNlVGFnLCB0cnVlVGFnIH07XG4iLCAiaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vLi4vbm9kZXMvU2NhbGFyLmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeU51bWJlciB9IGZyb20gJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlOdW1iZXIuanMnO1xuXG5jb25zdCBmbG9hdE5hTiA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmZsb2F0JyxcbiAgICB0ZXN0OiAvXig/OlstK10/XFwuKD86aW5mfEluZnxJTkYpfFxcLm5hbnxcXC5OYU58XFwuTkFOKSQvLFxuICAgIHJlc29sdmU6IChzdHIpID0+IHN0ci5zbGljZSgtMykudG9Mb3dlckNhc2UoKSA9PT0gJ25hbidcbiAgICAgICAgPyBOYU5cbiAgICAgICAgOiBzdHJbMF0gPT09ICctJ1xuICAgICAgICAgICAgPyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFlcbiAgICAgICAgICAgIDogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFxuICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5TnVtYmVyXG59O1xuY29uc3QgZmxvYXRFeHAgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCcsXG4gICAgZm9ybWF0OiAnRVhQJyxcbiAgICB0ZXN0OiAvXlstK10/KD86WzAtOV1bMC05X10qKT8oPzpcXC5bMC05X10qKT9bZUVdWy0rXT9bMC05XSskLyxcbiAgICByZXNvbHZlOiAoc3RyKSA9PiBwYXJzZUZsb2F0KHN0ci5yZXBsYWNlKC9fL2csICcnKSksXG4gICAgc3RyaW5naWZ5KG5vZGUpIHtcbiAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKG5vZGUudmFsdWUpO1xuICAgICAgICByZXR1cm4gaXNGaW5pdGUobnVtKSA/IG51bS50b0V4cG9uZW50aWFsKCkgOiBzdHJpbmdpZnlOdW1iZXIobm9kZSk7XG4gICAgfVxufTtcbmNvbnN0IGZsb2F0ID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgIHRlc3Q6IC9eWy0rXT8oPzpbMC05XVswLTlfXSopP1xcLlswLTlfXSokLyxcbiAgICByZXNvbHZlKHN0cikge1xuICAgICAgICBjb25zdCBub2RlID0gbmV3IFNjYWxhcihwYXJzZUZsb2F0KHN0ci5yZXBsYWNlKC9fL2csICcnKSkpO1xuICAgICAgICBjb25zdCBkb3QgPSBzdHIuaW5kZXhPZignLicpO1xuICAgICAgICBpZiAoZG90ICE9PSAtMSkge1xuICAgICAgICAgICAgY29uc3QgZiA9IHN0ci5zdWJzdHJpbmcoZG90ICsgMSkucmVwbGFjZSgvXy9nLCAnJyk7XG4gICAgICAgICAgICBpZiAoZltmLmxlbmd0aCAtIDFdID09PSAnMCcpXG4gICAgICAgICAgICAgICAgbm9kZS5taW5GcmFjdGlvbkRpZ2l0cyA9IGYubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH0sXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlOdW1iZXJcbn07XG5cbmV4cG9ydCB7IGZsb2F0LCBmbG9hdEV4cCwgZmxvYXROYU4gfTtcbiIsICJpbXBvcnQgeyBzdHJpbmdpZnlOdW1iZXIgfSBmcm9tICcuLi8uLi9zdHJpbmdpZnkvc3RyaW5naWZ5TnVtYmVyLmpzJztcblxuY29uc3QgaW50SWRlbnRpZnkgPSAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcgfHwgTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSk7XG5mdW5jdGlvbiBpbnRSZXNvbHZlKHN0ciwgb2Zmc2V0LCByYWRpeCwgeyBpbnRBc0JpZ0ludCB9KSB7XG4gICAgY29uc3Qgc2lnbiA9IHN0clswXTtcbiAgICBpZiAoc2lnbiA9PT0gJy0nIHx8IHNpZ24gPT09ICcrJylcbiAgICAgICAgb2Zmc2V0ICs9IDE7XG4gICAgc3RyID0gc3RyLnN1YnN0cmluZyhvZmZzZXQpLnJlcGxhY2UoL18vZywgJycpO1xuICAgIGlmIChpbnRBc0JpZ0ludCkge1xuICAgICAgICBzd2l0Y2ggKHJhZGl4KSB7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgc3RyID0gYDBiJHtzdHJ9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgODpcbiAgICAgICAgICAgICAgICBzdHIgPSBgMG8ke3N0cn1gO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAxNjpcbiAgICAgICAgICAgICAgICBzdHIgPSBgMHgke3N0cn1gO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG4gPSBCaWdJbnQoc3RyKTtcbiAgICAgICAgcmV0dXJuIHNpZ24gPT09ICctJyA/IEJpZ0ludCgtMSkgKiBuIDogbjtcbiAgICB9XG4gICAgY29uc3QgbiA9IHBhcnNlSW50KHN0ciwgcmFkaXgpO1xuICAgIHJldHVybiBzaWduID09PSAnLScgPyAtMSAqIG4gOiBuO1xufVxuZnVuY3Rpb24gaW50U3RyaW5naWZ5KG5vZGUsIHJhZGl4LCBwcmVmaXgpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBub2RlO1xuICAgIGlmIChpbnRJZGVudGlmeSh2YWx1ZSkpIHtcbiAgICAgICAgY29uc3Qgc3RyID0gdmFsdWUudG9TdHJpbmcocmFkaXgpO1xuICAgICAgICByZXR1cm4gdmFsdWUgPCAwID8gJy0nICsgcHJlZml4ICsgc3RyLnN1YnN0cigxKSA6IHByZWZpeCArIHN0cjtcbiAgICB9XG4gICAgcmV0dXJuIHN0cmluZ2lmeU51bWJlcihub2RlKTtcbn1cbmNvbnN0IGludEJpbiA9IHtcbiAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIGZvcm1hdDogJ0JJTicsXG4gICAgdGVzdDogL15bLStdPzBiWzAtMV9dKyQvLFxuICAgIHJlc29sdmU6IChzdHIsIF9vbkVycm9yLCBvcHQpID0+IGludFJlc29sdmUoc3RyLCAyLCAyLCBvcHQpLFxuICAgIHN0cmluZ2lmeTogbm9kZSA9PiBpbnRTdHJpbmdpZnkobm9kZSwgMiwgJzBiJylcbn07XG5jb25zdCBpbnRPY3QgPSB7XG4gICAgaWRlbnRpZnk6IGludElkZW50aWZ5LFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdPQ1QnLFxuICAgIHRlc3Q6IC9eWy0rXT8wWzAtN19dKyQvLFxuICAgIHJlc29sdmU6IChzdHIsIF9vbkVycm9yLCBvcHQpID0+IGludFJlc29sdmUoc3RyLCAxLCA4LCBvcHQpLFxuICAgIHN0cmluZ2lmeTogbm9kZSA9PiBpbnRTdHJpbmdpZnkobm9kZSwgOCwgJzAnKVxufTtcbmNvbnN0IGludCA9IHtcbiAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIHRlc3Q6IC9eWy0rXT9bMC05XVswLTlfXSokLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMCwgMTAsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlOdW1iZXJcbn07XG5jb25zdCBpbnRIZXggPSB7XG4gICAgaWRlbnRpZnk6IGludElkZW50aWZ5LFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdIRVgnLFxuICAgIHRlc3Q6IC9eWy0rXT8weFswLTlhLWZBLUZfXSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMiwgMTYsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCAxNiwgJzB4Jylcbn07XG5cbmV4cG9ydCB7IGludCwgaW50QmluLCBpbnRIZXgsIGludE9jdCB9O1xuIiwgImltcG9ydCB7IGlzTWFwLCBpc1BhaXIsIGlzU2NhbGFyIH0gZnJvbSAnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgUGFpciwgY3JlYXRlUGFpciB9IGZyb20gJy4uLy4uL25vZGVzL1BhaXIuanMnO1xuaW1wb3J0IHsgWUFNTE1hcCwgZmluZFBhaXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9ZQU1MTWFwLmpzJztcblxuY2xhc3MgWUFNTFNldCBleHRlbmRzIFlBTUxNYXAge1xuICAgIGNvbnN0cnVjdG9yKHNjaGVtYSkge1xuICAgICAgICBzdXBlcihzY2hlbWEpO1xuICAgICAgICB0aGlzLnRhZyA9IFlBTUxTZXQudGFnO1xuICAgIH1cbiAgICBhZGQoa2V5KSB7XG4gICAgICAgIGxldCBwYWlyO1xuICAgICAgICBpZiAoaXNQYWlyKGtleSkpXG4gICAgICAgICAgICBwYWlyID0ga2V5O1xuICAgICAgICBlbHNlIGlmIChrZXkgJiZcbiAgICAgICAgICAgIHR5cGVvZiBrZXkgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAna2V5JyBpbiBrZXkgJiZcbiAgICAgICAgICAgICd2YWx1ZScgaW4ga2V5ICYmXG4gICAgICAgICAgICBrZXkudmFsdWUgPT09IG51bGwpXG4gICAgICAgICAgICBwYWlyID0gbmV3IFBhaXIoa2V5LmtleSwgbnVsbCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHBhaXIgPSBuZXcgUGFpcihrZXksIG51bGwpO1xuICAgICAgICBjb25zdCBwcmV2ID0gZmluZFBhaXIodGhpcy5pdGVtcywgcGFpci5rZXkpO1xuICAgICAgICBpZiAoIXByZXYpXG4gICAgICAgICAgICB0aGlzLml0ZW1zLnB1c2gocGFpcik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIElmIGBrZWVwUGFpcmAgaXMgYHRydWVgLCByZXR1cm5zIHRoZSBQYWlyIG1hdGNoaW5nIGBrZXlgLlxuICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhhdCBQYWlyJ3Mga2V5LlxuICAgICAqL1xuICAgIGdldChrZXksIGtlZXBQYWlyKSB7XG4gICAgICAgIGNvbnN0IHBhaXIgPSBmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgICAgICByZXR1cm4gIWtlZXBQYWlyICYmIGlzUGFpcihwYWlyKVxuICAgICAgICAgICAgPyBpc1NjYWxhcihwYWlyLmtleSlcbiAgICAgICAgICAgICAgICA/IHBhaXIua2V5LnZhbHVlXG4gICAgICAgICAgICAgICAgOiBwYWlyLmtleVxuICAgICAgICAgICAgOiBwYWlyO1xuICAgIH1cbiAgICBzZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGJvb2xlYW4gdmFsdWUgZm9yIHNldChrZXksIHZhbHVlKSBpbiBhIFlBTUwgc2V0LCBub3QgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgICAgIGNvbnN0IHByZXYgPSBmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgICAgICBpZiAocHJldiAmJiAhdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihwcmV2KSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIXByZXYgJiYgdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaChuZXcgUGFpcihrZXkpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0b0pTT04oXywgY3R4KSB7XG4gICAgICAgIHJldHVybiBzdXBlci50b0pTT04oXywgY3R4LCBTZXQpO1xuICAgIH1cbiAgICB0b1N0cmluZyhjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApIHtcbiAgICAgICAgaWYgKCFjdHgpXG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcyk7XG4gICAgICAgIGlmICh0aGlzLmhhc0FsbE51bGxWYWx1ZXModHJ1ZSkpXG4gICAgICAgICAgICByZXR1cm4gc3VwZXIudG9TdHJpbmcoT2JqZWN0LmFzc2lnbih7fSwgY3R4LCB7IGFsbE51bGxWYWx1ZXM6IHRydWUgfSksIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NldCBpdGVtcyBtdXN0IGFsbCBoYXZlIG51bGwgdmFsdWVzJyk7XG4gICAgfVxuICAgIHN0YXRpYyBmcm9tKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkge1xuICAgICAgICBjb25zdCB7IHJlcGxhY2VyIH0gPSBjdHg7XG4gICAgICAgIGNvbnN0IHNldCA9IG5ldyB0aGlzKHNjaGVtYSk7XG4gICAgICAgIGlmIChpdGVyYWJsZSAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXJhYmxlKSlcbiAgICAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIGl0ZXJhYmxlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXBsYWNlciA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSByZXBsYWNlci5jYWxsKGl0ZXJhYmxlLCB2YWx1ZSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIHNldC5pdGVtcy5wdXNoKGNyZWF0ZVBhaXIodmFsdWUsIG51bGwsIGN0eCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2V0O1xuICAgIH1cbn1cbllBTUxTZXQudGFnID0gJ3RhZzp5YW1sLm9yZywyMDAyOnNldCc7XG5jb25zdCBzZXQgPSB7XG4gICAgY29sbGVjdGlvbjogJ21hcCcsXG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlIGluc3RhbmNlb2YgU2V0LFxuICAgIG5vZGVDbGFzczogWUFNTFNldCxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpzZXQnLFxuICAgIGNyZWF0ZU5vZGU6IChzY2hlbWEsIGl0ZXJhYmxlLCBjdHgpID0+IFlBTUxTZXQuZnJvbShzY2hlbWEsIGl0ZXJhYmxlLCBjdHgpLFxuICAgIHJlc29sdmUobWFwLCBvbkVycm9yKSB7XG4gICAgICAgIGlmIChpc01hcChtYXApKSB7XG4gICAgICAgICAgICBpZiAobWFwLmhhc0FsbE51bGxWYWx1ZXModHJ1ZSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFlBTUxTZXQoKSwgbWFwKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBvbkVycm9yKCdTZXQgaXRlbXMgbXVzdCBhbGwgaGF2ZSBudWxsIHZhbHVlcycpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIG9uRXJyb3IoJ0V4cGVjdGVkIGEgbWFwcGluZyBmb3IgdGhpcyB0YWcnKTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG59O1xuXG5leHBvcnQgeyBZQU1MU2V0LCBzZXQgfTtcbiIsICJpbXBvcnQgeyBzdHJpbmdpZnlOdW1iZXIgfSBmcm9tICcuLi8uLi9zdHJpbmdpZnkvc3RyaW5naWZ5TnVtYmVyLmpzJztcblxuLyoqIEludGVybmFsIHR5cGVzIGhhbmRsZSBiaWdpbnQgYXMgbnVtYmVyLCBiZWNhdXNlIFRTIGNhbid0IGZpZ3VyZSBpdCBvdXQuICovXG5mdW5jdGlvbiBwYXJzZVNleGFnZXNpbWFsKHN0ciwgYXNCaWdJbnQpIHtcbiAgICBjb25zdCBzaWduID0gc3RyWzBdO1xuICAgIGNvbnN0IHBhcnRzID0gc2lnbiA9PT0gJy0nIHx8IHNpZ24gPT09ICcrJyA/IHN0ci5zdWJzdHJpbmcoMSkgOiBzdHI7XG4gICAgY29uc3QgbnVtID0gKG4pID0+IGFzQmlnSW50ID8gQmlnSW50KG4pIDogTnVtYmVyKG4pO1xuICAgIGNvbnN0IHJlcyA9IHBhcnRzXG4gICAgICAgIC5yZXBsYWNlKC9fL2csICcnKVxuICAgICAgICAuc3BsaXQoJzonKVxuICAgICAgICAucmVkdWNlKChyZXMsIHApID0+IHJlcyAqIG51bSg2MCkgKyBudW0ocCksIG51bSgwKSk7XG4gICAgcmV0dXJuIChzaWduID09PSAnLScgPyBudW0oLTEpICogcmVzIDogcmVzKTtcbn1cbi8qKlxuICogaGhoaDptbTpzcy5zc3NcbiAqXG4gKiBJbnRlcm5hbCB0eXBlcyBoYW5kbGUgYmlnaW50IGFzIG51bWJlciwgYmVjYXVzZSBUUyBjYW4ndCBmaWd1cmUgaXQgb3V0LlxuICovXG5mdW5jdGlvbiBzdHJpbmdpZnlTZXhhZ2VzaW1hbChub2RlKSB7XG4gICAgbGV0IHsgdmFsdWUgfSA9IG5vZGU7XG4gICAgbGV0IG51bSA9IChuKSA9PiBuO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnKVxuICAgICAgICBudW0gPSBuID0+IEJpZ0ludChuKTtcbiAgICBlbHNlIGlmIChpc05hTih2YWx1ZSkgfHwgIWlzRmluaXRlKHZhbHVlKSlcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeU51bWJlcihub2RlKTtcbiAgICBsZXQgc2lnbiA9ICcnO1xuICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgc2lnbiA9ICctJztcbiAgICAgICAgdmFsdWUgKj0gbnVtKC0xKTtcbiAgICB9XG4gICAgY29uc3QgXzYwID0gbnVtKDYwKTtcbiAgICBjb25zdCBwYXJ0cyA9IFt2YWx1ZSAlIF82MF07IC8vIHNlY29uZHMsIGluY2x1ZGluZyBtc1xuICAgIGlmICh2YWx1ZSA8IDYwKSB7XG4gICAgICAgIHBhcnRzLnVuc2hpZnQoMCk7IC8vIGF0IGxlYXN0IG9uZSA6IGlzIHJlcXVpcmVkXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YWx1ZSA9ICh2YWx1ZSAtIHBhcnRzWzBdKSAvIF82MDtcbiAgICAgICAgcGFydHMudW5zaGlmdCh2YWx1ZSAlIF82MCk7IC8vIG1pbnV0ZXNcbiAgICAgICAgaWYgKHZhbHVlID49IDYwKSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICh2YWx1ZSAtIHBhcnRzWzBdKSAvIF82MDtcbiAgICAgICAgICAgIHBhcnRzLnVuc2hpZnQodmFsdWUpOyAvLyBob3Vyc1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAoc2lnbiArXG4gICAgICAgIHBhcnRzXG4gICAgICAgICAgICAubWFwKG4gPT4gU3RyaW5nKG4pLnBhZFN0YXJ0KDIsICcwJykpXG4gICAgICAgICAgICAuam9pbignOicpXG4gICAgICAgICAgICAucmVwbGFjZSgvMDAwMDAwXFxkKiQvLCAnJykgLy8gJSA2MCBtYXkgaW50cm9kdWNlIGVycm9yXG4gICAgKTtcbn1cbmNvbnN0IGludFRpbWUgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcgfHwgTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIGZvcm1hdDogJ1RJTUUnLFxuICAgIHRlc3Q6IC9eWy0rXT9bMC05XVswLTlfXSooPzo6WzAtNV0/WzAtOV0pKyQvLFxuICAgIHJlc29sdmU6IChzdHIsIF9vbkVycm9yLCB7IGludEFzQmlnSW50IH0pID0+IHBhcnNlU2V4YWdlc2ltYWwoc3RyLCBpbnRBc0JpZ0ludCksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlTZXhhZ2VzaW1hbFxufTtcbmNvbnN0IGZsb2F0VGltZSA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmZsb2F0JyxcbiAgICBmb3JtYXQ6ICdUSU1FJyxcbiAgICB0ZXN0OiAvXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKStcXC5bMC05X10qJC8sXG4gICAgcmVzb2x2ZTogc3RyID0+IHBhcnNlU2V4YWdlc2ltYWwoc3RyLCBmYWxzZSksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlTZXhhZ2VzaW1hbFxufTtcbmNvbnN0IHRpbWVzdGFtcCA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6dGltZXN0YW1wJyxcbiAgICAvLyBJZiB0aGUgdGltZSB6b25lIGlzIG9taXR0ZWQsIHRoZSB0aW1lc3RhbXAgaXMgYXNzdW1lZCB0byBiZSBzcGVjaWZpZWQgaW4gVVRDLiBUaGUgdGltZSBwYXJ0XG4gICAgLy8gbWF5IGJlIG9taXR0ZWQgYWx0b2dldGhlciwgcmVzdWx0aW5nIGluIGEgZGF0ZSBmb3JtYXQuIEluIHN1Y2ggYSBjYXNlLCB0aGUgdGltZSBwYXJ0IGlzXG4gICAgLy8gYXNzdW1lZCB0byBiZSAwMDowMDowMFogKHN0YXJ0IG9mIGRheSwgVVRDKS5cbiAgICB0ZXN0OiBSZWdFeHAoJ14oWzAtOV17NH0pLShbMC05XXsxLDJ9KS0oWzAtOV17MSwyfSknICsgLy8gWVlZWS1NbS1EZFxuICAgICAgICAnKD86JyArIC8vIHRpbWUgaXMgb3B0aW9uYWxcbiAgICAgICAgJyg/OnR8VHxbIFxcXFx0XSspJyArIC8vIHQgfCBUIHwgd2hpdGVzcGFjZVxuICAgICAgICAnKFswLTldezEsMn0pOihbMC05XXsxLDJ9KTooWzAtOV17MSwyfShcXFxcLlswLTldKyk/KScgKyAvLyBIaDpNbTpTcyguc3MpP1xuICAgICAgICAnKD86WyBcXFxcdF0qKFp8Wy0rXVswMTJdP1swLTldKD86OlswLTldezJ9KT8pKT8nICsgLy8gWiB8ICs1IHwgLTAzOjMwXG4gICAgICAgICcpPyQnKSxcbiAgICByZXNvbHZlKHN0cikge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHN0ci5tYXRjaCh0aW1lc3RhbXAudGVzdCk7XG4gICAgICAgIGlmICghbWF0Y2gpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJyEhdGltZXN0YW1wIGV4cGVjdHMgYSBkYXRlLCBzdGFydGluZyB3aXRoIHl5eXktbW0tZGQnKTtcbiAgICAgICAgY29uc3QgWywgeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmRdID0gbWF0Y2gubWFwKE51bWJlcik7XG4gICAgICAgIGNvbnN0IG1pbGxpc2VjID0gbWF0Y2hbN10gPyBOdW1iZXIoKG1hdGNoWzddICsgJzAwJykuc3Vic3RyKDEsIDMpKSA6IDA7XG4gICAgICAgIGxldCBkYXRlID0gRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXksIGhvdXIgfHwgMCwgbWludXRlIHx8IDAsIHNlY29uZCB8fCAwLCBtaWxsaXNlYyk7XG4gICAgICAgIGNvbnN0IHR6ID0gbWF0Y2hbOF07XG4gICAgICAgIGlmICh0eiAmJiB0eiAhPT0gJ1onKSB7XG4gICAgICAgICAgICBsZXQgZCA9IHBhcnNlU2V4YWdlc2ltYWwodHosIGZhbHNlKTtcbiAgICAgICAgICAgIGlmIChNYXRoLmFicyhkKSA8IDMwKVxuICAgICAgICAgICAgICAgIGQgKj0gNjA7XG4gICAgICAgICAgICBkYXRlIC09IDYwMDAwICogZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSxcbiAgICBzdHJpbmdpZnk6ICh7IHZhbHVlIH0pID0+IHZhbHVlLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvKChUMDA6MDApPzowMCk/XFwuMDAwWiQvLCAnJylcbn07XG5cbmV4cG9ydCB7IGZsb2F0VGltZSwgaW50VGltZSwgdGltZXN0YW1wIH07XG4iLCAiaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi4vY29tbW9uL21hcC5qcyc7XG5pbXBvcnQgeyBudWxsVGFnIH0gZnJvbSAnLi4vY29tbW9uL251bGwuanMnO1xuaW1wb3J0IHsgc2VxIH0gZnJvbSAnLi4vY29tbW9uL3NlcS5qcyc7XG5pbXBvcnQgeyBzdHJpbmcgfSBmcm9tICcuLi9jb21tb24vc3RyaW5nLmpzJztcbmltcG9ydCB7IGJpbmFyeSB9IGZyb20gJy4vYmluYXJ5LmpzJztcbmltcG9ydCB7IHRydWVUYWcsIGZhbHNlVGFnIH0gZnJvbSAnLi9ib29sLmpzJztcbmltcG9ydCB7IGZsb2F0TmFOLCBmbG9hdEV4cCwgZmxvYXQgfSBmcm9tICcuL2Zsb2F0LmpzJztcbmltcG9ydCB7IGludEJpbiwgaW50T2N0LCBpbnQsIGludEhleCB9IGZyb20gJy4vaW50LmpzJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnLi9tZXJnZS5qcyc7XG5pbXBvcnQgeyBvbWFwIH0gZnJvbSAnLi9vbWFwLmpzJztcbmltcG9ydCB7IHBhaXJzIH0gZnJvbSAnLi9wYWlycy5qcyc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICcuL3NldC5qcyc7XG5pbXBvcnQgeyBpbnRUaW1lLCBmbG9hdFRpbWUsIHRpbWVzdGFtcCB9IGZyb20gJy4vdGltZXN0YW1wLmpzJztcblxuY29uc3Qgc2NoZW1hID0gW1xuICAgIG1hcCxcbiAgICBzZXEsXG4gICAgc3RyaW5nLFxuICAgIG51bGxUYWcsXG4gICAgdHJ1ZVRhZyxcbiAgICBmYWxzZVRhZyxcbiAgICBpbnRCaW4sXG4gICAgaW50T2N0LFxuICAgIGludCxcbiAgICBpbnRIZXgsXG4gICAgZmxvYXROYU4sXG4gICAgZmxvYXRFeHAsXG4gICAgZmxvYXQsXG4gICAgYmluYXJ5LFxuICAgIG1lcmdlLFxuICAgIG9tYXAsXG4gICAgcGFpcnMsXG4gICAgc2V0LFxuICAgIGludFRpbWUsXG4gICAgZmxvYXRUaW1lLFxuICAgIHRpbWVzdGFtcFxuXTtcblxuZXhwb3J0IHsgc2NoZW1hIH07XG4iLCAiaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi9jb21tb24vbWFwLmpzJztcbmltcG9ydCB7IG51bGxUYWcgfSBmcm9tICcuL2NvbW1vbi9udWxsLmpzJztcbmltcG9ydCB7IHNlcSB9IGZyb20gJy4vY29tbW9uL3NlcS5qcyc7XG5pbXBvcnQgeyBzdHJpbmcgfSBmcm9tICcuL2NvbW1vbi9zdHJpbmcuanMnO1xuaW1wb3J0IHsgYm9vbFRhZyB9IGZyb20gJy4vY29yZS9ib29sLmpzJztcbmltcG9ydCB7IGZsb2F0LCBmbG9hdEV4cCwgZmxvYXROYU4gfSBmcm9tICcuL2NvcmUvZmxvYXQuanMnO1xuaW1wb3J0IHsgaW50LCBpbnRIZXgsIGludE9jdCB9IGZyb20gJy4vY29yZS9pbnQuanMnO1xuaW1wb3J0IHsgc2NoZW1hIH0gZnJvbSAnLi9jb3JlL3NjaGVtYS5qcyc7XG5pbXBvcnQgeyBzY2hlbWEgYXMgc2NoZW1hJDEgfSBmcm9tICcuL2pzb24vc2NoZW1hLmpzJztcbmltcG9ydCB7IGJpbmFyeSB9IGZyb20gJy4veWFtbC0xLjEvYmluYXJ5LmpzJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnLi95YW1sLTEuMS9tZXJnZS5qcyc7XG5pbXBvcnQgeyBvbWFwIH0gZnJvbSAnLi95YW1sLTEuMS9vbWFwLmpzJztcbmltcG9ydCB7IHBhaXJzIH0gZnJvbSAnLi95YW1sLTEuMS9wYWlycy5qcyc7XG5pbXBvcnQgeyBzY2hlbWEgYXMgc2NoZW1hJDIgfSBmcm9tICcuL3lhbWwtMS4xL3NjaGVtYS5qcyc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICcuL3lhbWwtMS4xL3NldC5qcyc7XG5pbXBvcnQgeyB0aW1lc3RhbXAsIGZsb2F0VGltZSwgaW50VGltZSB9IGZyb20gJy4veWFtbC0xLjEvdGltZXN0YW1wLmpzJztcblxuY29uc3Qgc2NoZW1hcyA9IG5ldyBNYXAoW1xuICAgIFsnY29yZScsIHNjaGVtYV0sXG4gICAgWydmYWlsc2FmZScsIFttYXAsIHNlcSwgc3RyaW5nXV0sXG4gICAgWydqc29uJywgc2NoZW1hJDFdLFxuICAgIFsneWFtbDExJywgc2NoZW1hJDJdLFxuICAgIFsneWFtbC0xLjEnLCBzY2hlbWEkMl1cbl0pO1xuY29uc3QgdGFnc0J5TmFtZSA9IHtcbiAgICBiaW5hcnksXG4gICAgYm9vbDogYm9vbFRhZyxcbiAgICBmbG9hdCxcbiAgICBmbG9hdEV4cCxcbiAgICBmbG9hdE5hTixcbiAgICBmbG9hdFRpbWUsXG4gICAgaW50LFxuICAgIGludEhleCxcbiAgICBpbnRPY3QsXG4gICAgaW50VGltZSxcbiAgICBtYXAsXG4gICAgbWVyZ2UsXG4gICAgbnVsbDogbnVsbFRhZyxcbiAgICBvbWFwLFxuICAgIHBhaXJzLFxuICAgIHNlcSxcbiAgICBzZXQsXG4gICAgdGltZXN0YW1wXG59O1xuY29uc3QgY29yZUtub3duVGFncyA9IHtcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5JzogYmluYXJ5LFxuICAgICd0YWc6eWFtbC5vcmcsMjAwMjptZXJnZSc6IG1lcmdlLFxuICAgICd0YWc6eWFtbC5vcmcsMjAwMjpvbWFwJzogb21hcCxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6cGFpcnMnOiBwYWlycyxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6c2V0Jzogc2V0LFxuICAgICd0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXAnOiB0aW1lc3RhbXBcbn07XG5mdW5jdGlvbiBnZXRUYWdzKGN1c3RvbVRhZ3MsIHNjaGVtYU5hbWUsIGFkZE1lcmdlVGFnKSB7XG4gICAgY29uc3Qgc2NoZW1hVGFncyA9IHNjaGVtYXMuZ2V0KHNjaGVtYU5hbWUpO1xuICAgIGlmIChzY2hlbWFUYWdzICYmICFjdXN0b21UYWdzKSB7XG4gICAgICAgIHJldHVybiBhZGRNZXJnZVRhZyAmJiAhc2NoZW1hVGFncy5pbmNsdWRlcyhtZXJnZSlcbiAgICAgICAgICAgID8gc2NoZW1hVGFncy5jb25jYXQobWVyZ2UpXG4gICAgICAgICAgICA6IHNjaGVtYVRhZ3Muc2xpY2UoKTtcbiAgICB9XG4gICAgbGV0IHRhZ3MgPSBzY2hlbWFUYWdzO1xuICAgIGlmICghdGFncykge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjdXN0b21UYWdzKSlcbiAgICAgICAgICAgIHRhZ3MgPSBbXTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gQXJyYXkuZnJvbShzY2hlbWFzLmtleXMoKSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGtleSA9PiBrZXkgIT09ICd5YW1sMTEnKVxuICAgICAgICAgICAgICAgIC5tYXAoa2V5ID0+IEpTT04uc3RyaW5naWZ5KGtleSkpXG4gICAgICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc2NoZW1hIFwiJHtzY2hlbWFOYW1lfVwiOyB1c2Ugb25lIG9mICR7a2V5c30gb3IgZGVmaW5lIGN1c3RvbVRhZ3MgYXJyYXlgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShjdXN0b21UYWdzKSkge1xuICAgICAgICBmb3IgKGNvbnN0IHRhZyBvZiBjdXN0b21UYWdzKVxuICAgICAgICAgICAgdGFncyA9IHRhZ3MuY29uY2F0KHRhZyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBjdXN0b21UYWdzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRhZ3MgPSBjdXN0b21UYWdzKHRhZ3Muc2xpY2UoKSk7XG4gICAgfVxuICAgIGlmIChhZGRNZXJnZVRhZylcbiAgICAgICAgdGFncyA9IHRhZ3MuY29uY2F0KG1lcmdlKTtcbiAgICByZXR1cm4gdGFncy5yZWR1Y2UoKHRhZ3MsIHRhZykgPT4ge1xuICAgICAgICBjb25zdCB0YWdPYmogPSB0eXBlb2YgdGFnID09PSAnc3RyaW5nJyA/IHRhZ3NCeU5hbWVbdGFnXSA6IHRhZztcbiAgICAgICAgaWYgKCF0YWdPYmopIHtcbiAgICAgICAgICAgIGNvbnN0IHRhZ05hbWUgPSBKU09OLnN0cmluZ2lmeSh0YWcpO1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRhZ3NCeU5hbWUpXG4gICAgICAgICAgICAgICAgLm1hcChrZXkgPT4gSlNPTi5zdHJpbmdpZnkoa2V5KSlcbiAgICAgICAgICAgICAgICAuam9pbignLCAnKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjdXN0b20gdGFnICR7dGFnTmFtZX07IHVzZSBvbmUgb2YgJHtrZXlzfWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGFncy5pbmNsdWRlcyh0YWdPYmopKVxuICAgICAgICAgICAgdGFncy5wdXNoKHRhZ09iaik7XG4gICAgICAgIHJldHVybiB0YWdzO1xuICAgIH0sIFtdKTtcbn1cblxuZXhwb3J0IHsgY29yZUtub3duVGFncywgZ2V0VGFncyB9O1xuIiwgImltcG9ydCB7IE1BUCwgU0NBTEFSLCBTRVEgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICcuL2NvbW1vbi9tYXAuanMnO1xuaW1wb3J0IHsgc2VxIH0gZnJvbSAnLi9jb21tb24vc2VxLmpzJztcbmltcG9ydCB7IHN0cmluZyB9IGZyb20gJy4vY29tbW9uL3N0cmluZy5qcyc7XG5pbXBvcnQgeyBnZXRUYWdzLCBjb3JlS25vd25UYWdzIH0gZnJvbSAnLi90YWdzLmpzJztcblxuY29uc3Qgc29ydE1hcEVudHJpZXNCeUtleSA9IChhLCBiKSA9PiBhLmtleSA8IGIua2V5ID8gLTEgOiBhLmtleSA+IGIua2V5ID8gMSA6IDA7XG5jbGFzcyBTY2hlbWEge1xuICAgIGNvbnN0cnVjdG9yKHsgY29tcGF0LCBjdXN0b21UYWdzLCBtZXJnZSwgcmVzb2x2ZUtub3duVGFncywgc2NoZW1hLCBzb3J0TWFwRW50cmllcywgdG9TdHJpbmdEZWZhdWx0cyB9KSB7XG4gICAgICAgIHRoaXMuY29tcGF0ID0gQXJyYXkuaXNBcnJheShjb21wYXQpXG4gICAgICAgICAgICA/IGdldFRhZ3MoY29tcGF0LCAnY29tcGF0JylcbiAgICAgICAgICAgIDogY29tcGF0XG4gICAgICAgICAgICAgICAgPyBnZXRUYWdzKG51bGwsIGNvbXBhdClcbiAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgIHRoaXMubmFtZSA9ICh0eXBlb2Ygc2NoZW1hID09PSAnc3RyaW5nJyAmJiBzY2hlbWEpIHx8ICdjb3JlJztcbiAgICAgICAgdGhpcy5rbm93blRhZ3MgPSByZXNvbHZlS25vd25UYWdzID8gY29yZUtub3duVGFncyA6IHt9O1xuICAgICAgICB0aGlzLnRhZ3MgPSBnZXRUYWdzKGN1c3RvbVRhZ3MsIHRoaXMubmFtZSwgbWVyZ2UpO1xuICAgICAgICB0aGlzLnRvU3RyaW5nT3B0aW9ucyA9IHRvU3RyaW5nRGVmYXVsdHMgPz8gbnVsbDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIE1BUCwgeyB2YWx1ZTogbWFwIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgU0NBTEFSLCB7IHZhbHVlOiBzdHJpbmcgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBTRVEsIHsgdmFsdWU6IHNlcSB9KTtcbiAgICAgICAgLy8gVXNlZCBieSBjcmVhdGVNYXAoKVxuICAgICAgICB0aGlzLnNvcnRNYXBFbnRyaWVzID1cbiAgICAgICAgICAgIHR5cGVvZiBzb3J0TWFwRW50cmllcyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gc29ydE1hcEVudHJpZXNcbiAgICAgICAgICAgICAgICA6IHNvcnRNYXBFbnRyaWVzID09PSB0cnVlXG4gICAgICAgICAgICAgICAgICAgID8gc29ydE1hcEVudHJpZXNCeUtleVxuICAgICAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuICAgIGNsb25lKCkge1xuICAgICAgICBjb25zdCBjb3B5ID0gT2JqZWN0LmNyZWF0ZShTY2hlbWEucHJvdG90eXBlLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7XG4gICAgICAgIGNvcHkudGFncyA9IHRoaXMudGFncy5zbGljZSgpO1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG59XG5cbmV4cG9ydCB7IFNjaGVtYSB9O1xuIiwgImltcG9ydCB7IGlzTm9kZSB9IGZyb20gJy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IGNyZWF0ZVN0cmluZ2lmeUNvbnRleHQsIHN0cmluZ2lmeSB9IGZyb20gJy4vc3RyaW5naWZ5LmpzJztcbmltcG9ydCB7IGluZGVudENvbW1lbnQsIGxpbmVDb21tZW50IH0gZnJvbSAnLi9zdHJpbmdpZnlDb21tZW50LmpzJztcblxuZnVuY3Rpb24gc3RyaW5naWZ5RG9jdW1lbnQoZG9jLCBvcHRpb25zKSB7XG4gICAgY29uc3QgbGluZXMgPSBbXTtcbiAgICBsZXQgaGFzRGlyZWN0aXZlcyA9IG9wdGlvbnMuZGlyZWN0aXZlcyA9PT0gdHJ1ZTtcbiAgICBpZiAob3B0aW9ucy5kaXJlY3RpdmVzICE9PSBmYWxzZSAmJiBkb2MuZGlyZWN0aXZlcykge1xuICAgICAgICBjb25zdCBkaXIgPSBkb2MuZGlyZWN0aXZlcy50b1N0cmluZyhkb2MpO1xuICAgICAgICBpZiAoZGlyKSB7XG4gICAgICAgICAgICBsaW5lcy5wdXNoKGRpcik7XG4gICAgICAgICAgICBoYXNEaXJlY3RpdmVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChkb2MuZGlyZWN0aXZlcy5kb2NTdGFydClcbiAgICAgICAgICAgIGhhc0RpcmVjdGl2ZXMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaGFzRGlyZWN0aXZlcylcbiAgICAgICAgbGluZXMucHVzaCgnLS0tJyk7XG4gICAgY29uc3QgY3R4ID0gY3JlYXRlU3RyaW5naWZ5Q29udGV4dChkb2MsIG9wdGlvbnMpO1xuICAgIGNvbnN0IHsgY29tbWVudFN0cmluZyB9ID0gY3R4Lm9wdGlvbnM7XG4gICAgaWYgKGRvYy5jb21tZW50QmVmb3JlKSB7XG4gICAgICAgIGlmIChsaW5lcy5sZW5ndGggIT09IDEpXG4gICAgICAgICAgICBsaW5lcy51bnNoaWZ0KCcnKTtcbiAgICAgICAgY29uc3QgY3MgPSBjb21tZW50U3RyaW5nKGRvYy5jb21tZW50QmVmb3JlKTtcbiAgICAgICAgbGluZXMudW5zaGlmdChpbmRlbnRDb21tZW50KGNzLCAnJykpO1xuICAgIH1cbiAgICBsZXQgY2hvbXBLZWVwID0gZmFsc2U7XG4gICAgbGV0IGNvbnRlbnRDb21tZW50ID0gbnVsbDtcbiAgICBpZiAoZG9jLmNvbnRlbnRzKSB7XG4gICAgICAgIGlmIChpc05vZGUoZG9jLmNvbnRlbnRzKSkge1xuICAgICAgICAgICAgaWYgKGRvYy5jb250ZW50cy5zcGFjZUJlZm9yZSAmJiBoYXNEaXJlY3RpdmVzKVxuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goJycpO1xuICAgICAgICAgICAgaWYgKGRvYy5jb250ZW50cy5jb21tZW50QmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3MgPSBjb21tZW50U3RyaW5nKGRvYy5jb250ZW50cy5jb21tZW50QmVmb3JlKTtcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKGluZGVudENvbW1lbnQoY3MsICcnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0b3AtbGV2ZWwgYmxvY2sgc2NhbGFycyBuZWVkIHRvIGJlIGluZGVudGVkIGlmIGZvbGxvd2VkIGJ5IGEgY29tbWVudFxuICAgICAgICAgICAgY3R4LmZvcmNlQmxvY2tJbmRlbnQgPSAhIWRvYy5jb21tZW50O1xuICAgICAgICAgICAgY29udGVudENvbW1lbnQgPSBkb2MuY29udGVudHMuY29tbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvbkNob21wS2VlcCA9IGNvbnRlbnRDb21tZW50ID8gdW5kZWZpbmVkIDogKCkgPT4gKGNob21wS2VlcCA9IHRydWUpO1xuICAgICAgICBsZXQgYm9keSA9IHN0cmluZ2lmeShkb2MuY29udGVudHMsIGN0eCwgKCkgPT4gKGNvbnRlbnRDb21tZW50ID0gbnVsbCksIG9uQ2hvbXBLZWVwKTtcbiAgICAgICAgaWYgKGNvbnRlbnRDb21tZW50KVxuICAgICAgICAgICAgYm9keSArPSBsaW5lQ29tbWVudChib2R5LCAnJywgY29tbWVudFN0cmluZyhjb250ZW50Q29tbWVudCkpO1xuICAgICAgICBpZiAoKGJvZHlbMF0gPT09ICd8JyB8fCBib2R5WzBdID09PSAnPicpICYmXG4gICAgICAgICAgICBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXSA9PT0gJy0tLScpIHtcbiAgICAgICAgICAgIC8vIFRvcC1sZXZlbCBibG9jayBzY2FsYXJzIHdpdGggYSBwcmVjZWRpbmcgZG9jIG1hcmtlciBvdWdodCB0byB1c2UgdGhlXG4gICAgICAgICAgICAvLyBzYW1lIGxpbmUgZm9yIHRoZWlyIGhlYWRlci5cbiAgICAgICAgICAgIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdID0gYC0tLSAke2JvZHl9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBsaW5lcy5wdXNoKGJvZHkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGluZXMucHVzaChzdHJpbmdpZnkoZG9jLmNvbnRlbnRzLCBjdHgpKTtcbiAgICB9XG4gICAgaWYgKGRvYy5kaXJlY3RpdmVzPy5kb2NFbmQpIHtcbiAgICAgICAgaWYgKGRvYy5jb21tZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjcyA9IGNvbW1lbnRTdHJpbmcoZG9jLmNvbW1lbnQpO1xuICAgICAgICAgICAgaWYgKGNzLmluY2x1ZGVzKCdcXG4nKSkge1xuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goJy4uLicpO1xuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goaW5kZW50Q29tbWVudChjcywgJycpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goYC4uLiAke2NzfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGluZXMucHVzaCgnLi4uJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBkYyA9IGRvYy5jb21tZW50O1xuICAgICAgICBpZiAoZGMgJiYgY2hvbXBLZWVwKVxuICAgICAgICAgICAgZGMgPSBkYy5yZXBsYWNlKC9eXFxuKy8sICcnKTtcbiAgICAgICAgaWYgKGRjKSB7XG4gICAgICAgICAgICBpZiAoKCFjaG9tcEtlZXAgfHwgY29udGVudENvbW1lbnQpICYmIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdICE9PSAnJylcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgICAgIGxpbmVzLnB1c2goaW5kZW50Q29tbWVudChjb21tZW50U3RyaW5nKGRjKSwgJycpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGluZXMuam9pbignXFxuJykgKyAnXFxuJztcbn1cblxuZXhwb3J0IHsgc3RyaW5naWZ5RG9jdW1lbnQgfTtcbiIsICJpbXBvcnQgeyBBbGlhcyB9IGZyb20gJy4uL25vZGVzL0FsaWFzLmpzJztcbmltcG9ydCB7IGlzRW1wdHlQYXRoLCBjb2xsZWN0aW9uRnJvbVBhdGggfSBmcm9tICcuLi9ub2Rlcy9Db2xsZWN0aW9uLmpzJztcbmltcG9ydCB7IE5PREVfVFlQRSwgRE9DLCBpc05vZGUsIGlzQ29sbGVjdGlvbiwgaXNTY2FsYXIgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBQYWlyIH0gZnJvbSAnLi4vbm9kZXMvUGFpci5qcyc7XG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi4vbm9kZXMvdG9KUy5qcyc7XG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tICcuLi9zY2hlbWEvU2NoZW1hLmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeURvY3VtZW50IH0gZnJvbSAnLi4vc3RyaW5naWZ5L3N0cmluZ2lmeURvY3VtZW50LmpzJztcbmltcG9ydCB7IGFuY2hvck5hbWVzLCBmaW5kTmV3QW5jaG9yLCBjcmVhdGVOb2RlQW5jaG9ycyB9IGZyb20gJy4vYW5jaG9ycy5qcyc7XG5pbXBvcnQgeyBhcHBseVJldml2ZXIgfSBmcm9tICcuL2FwcGx5UmV2aXZlci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVOb2RlIH0gZnJvbSAnLi9jcmVhdGVOb2RlLmpzJztcbmltcG9ydCB7IERpcmVjdGl2ZXMgfSBmcm9tICcuL2RpcmVjdGl2ZXMuanMnO1xuXG5jbGFzcyBEb2N1bWVudCB7XG4gICAgY29uc3RydWN0b3IodmFsdWUsIHJlcGxhY2VyLCBvcHRpb25zKSB7XG4gICAgICAgIC8qKiBBIGNvbW1lbnQgYmVmb3JlIHRoaXMgRG9jdW1lbnQgKi9cbiAgICAgICAgdGhpcy5jb21tZW50QmVmb3JlID0gbnVsbDtcbiAgICAgICAgLyoqIEEgY29tbWVudCBpbW1lZGlhdGVseSBhZnRlciB0aGlzIERvY3VtZW50ICovXG4gICAgICAgIHRoaXMuY29tbWVudCA9IG51bGw7XG4gICAgICAgIC8qKiBFcnJvcnMgZW5jb3VudGVyZWQgZHVyaW5nIHBhcnNpbmcuICovXG4gICAgICAgIHRoaXMuZXJyb3JzID0gW107XG4gICAgICAgIC8qKiBXYXJuaW5ncyBlbmNvdW50ZXJlZCBkdXJpbmcgcGFyc2luZy4gKi9cbiAgICAgICAgdGhpcy53YXJuaW5ncyA9IFtdO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgTk9ERV9UWVBFLCB7IHZhbHVlOiBET0MgfSk7XG4gICAgICAgIGxldCBfcmVwbGFjZXIgPSBudWxsO1xuICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nIHx8IEFycmF5LmlzQXJyYXkocmVwbGFjZXIpKSB7XG4gICAgICAgICAgICBfcmVwbGFjZXIgPSByZXBsYWNlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQgJiYgcmVwbGFjZXIpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSByZXBsYWNlcjtcbiAgICAgICAgICAgIHJlcGxhY2VyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdCA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgaW50QXNCaWdJbnQ6IGZhbHNlLFxuICAgICAgICAgICAga2VlcFNvdXJjZVRva2VuczogZmFsc2UsXG4gICAgICAgICAgICBsb2dMZXZlbDogJ3dhcm4nLFxuICAgICAgICAgICAgcHJldHR5RXJyb3JzOiB0cnVlLFxuICAgICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgc3RyaW5nS2V5czogZmFsc2UsXG4gICAgICAgICAgICB1bmlxdWVLZXlzOiB0cnVlLFxuICAgICAgICAgICAgdmVyc2lvbjogJzEuMidcbiAgICAgICAgfSwgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdDtcbiAgICAgICAgbGV0IHsgdmVyc2lvbiB9ID0gb3B0O1xuICAgICAgICBpZiAob3B0aW9ucz8uX2RpcmVjdGl2ZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG9wdGlvbnMuX2RpcmVjdGl2ZXMuYXREb2N1bWVudCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcy55YW1sLmV4cGxpY2l0KVxuICAgICAgICAgICAgICAgIHZlcnNpb24gPSB0aGlzLmRpcmVjdGl2ZXMueWFtbC52ZXJzaW9uO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG5ldyBEaXJlY3RpdmVzKHsgdmVyc2lvbiB9KTtcbiAgICAgICAgdGhpcy5zZXRTY2hlbWEodmVyc2lvbiwgb3B0aW9ucyk7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2FuJ3QgcmVhbGx5IGtub3cgdGhhdCB0aGlzIG1hdGNoZXMgQ29udGVudHMuXG4gICAgICAgIHRoaXMuY29udGVudHMgPVxuICAgICAgICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiB0aGlzLmNyZWF0ZU5vZGUodmFsdWUsIF9yZXBsYWNlciwgb3B0aW9ucyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIGRlZXAgY29weSBvZiB0aGlzIERvY3VtZW50IGFuZCBpdHMgY29udGVudHMuXG4gICAgICpcbiAgICAgKiBDdXN0b20gTm9kZSB2YWx1ZXMgdGhhdCBpbmhlcml0IGZyb20gYE9iamVjdGAgc3RpbGwgcmVmZXIgdG8gdGhlaXIgb3JpZ2luYWwgaW5zdGFuY2VzLlxuICAgICAqL1xuICAgIGNsb25lKCkge1xuICAgICAgICBjb25zdCBjb3B5ID0gT2JqZWN0LmNyZWF0ZShEb2N1bWVudC5wcm90b3R5cGUsIHtcbiAgICAgICAgICAgIFtOT0RFX1RZUEVdOiB7IHZhbHVlOiBET0MgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29weS5jb21tZW50QmVmb3JlID0gdGhpcy5jb21tZW50QmVmb3JlO1xuICAgICAgICBjb3B5LmNvbW1lbnQgPSB0aGlzLmNvbW1lbnQ7XG4gICAgICAgIGNvcHkuZXJyb3JzID0gdGhpcy5lcnJvcnMuc2xpY2UoKTtcbiAgICAgICAgY29weS53YXJuaW5ncyA9IHRoaXMud2FybmluZ3Muc2xpY2UoKTtcbiAgICAgICAgY29weS5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcylcbiAgICAgICAgICAgIGNvcHkuZGlyZWN0aXZlcyA9IHRoaXMuZGlyZWN0aXZlcy5jbG9uZSgpO1xuICAgICAgICBjb3B5LnNjaGVtYSA9IHRoaXMuc2NoZW1hLmNsb25lKCk7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2FuJ3QgcmVhbGx5IGtub3cgdGhhdCB0aGlzIG1hdGNoZXMgQ29udGVudHMuXG4gICAgICAgIGNvcHkuY29udGVudHMgPSBpc05vZGUodGhpcy5jb250ZW50cylcbiAgICAgICAgICAgID8gdGhpcy5jb250ZW50cy5jbG9uZShjb3B5LnNjaGVtYSlcbiAgICAgICAgICAgIDogdGhpcy5jb250ZW50cztcbiAgICAgICAgaWYgKHRoaXMucmFuZ2UpXG4gICAgICAgICAgICBjb3B5LnJhbmdlID0gdGhpcy5yYW5nZS5zbGljZSgpO1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG4gICAgLyoqIEFkZHMgYSB2YWx1ZSB0byB0aGUgZG9jdW1lbnQuICovXG4gICAgYWRkKHZhbHVlKSB7XG4gICAgICAgIGlmIChhc3NlcnRDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpKVxuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5hZGQodmFsdWUpO1xuICAgIH1cbiAgICAvKiogQWRkcyBhIHZhbHVlIHRvIHRoZSBkb2N1bWVudC4gKi9cbiAgICBhZGRJbihwYXRoLCB2YWx1ZSkge1xuICAgICAgICBpZiAoYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSlcbiAgICAgICAgICAgIHRoaXMuY29udGVudHMuYWRkSW4ocGF0aCwgdmFsdWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgYEFsaWFzYCBub2RlLCBlbnN1cmluZyB0aGF0IHRoZSB0YXJnZXQgYG5vZGVgIGhhcyB0aGUgcmVxdWlyZWQgYW5jaG9yLlxuICAgICAqXG4gICAgICogSWYgYG5vZGVgIGFscmVhZHkgaGFzIGFuIGFuY2hvciwgYG5hbWVgIGlzIGlnbm9yZWQuXG4gICAgICogT3RoZXJ3aXNlLCB0aGUgYG5vZGUuYW5jaG9yYCB2YWx1ZSB3aWxsIGJlIHNldCB0byBgbmFtZWAsXG4gICAgICogb3IgaWYgYW4gYW5jaG9yIHdpdGggdGhhdCBuYW1lIGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgZG9jdW1lbnQsXG4gICAgICogYG5hbWVgIHdpbGwgYmUgdXNlZCBhcyBhIHByZWZpeCBmb3IgYSBuZXcgdW5pcXVlIGFuY2hvci5cbiAgICAgKiBJZiBgbmFtZWAgaXMgdW5kZWZpbmVkLCB0aGUgZ2VuZXJhdGVkIGFuY2hvciB3aWxsIHVzZSAnYScgYXMgYSBwcmVmaXguXG4gICAgICovXG4gICAgY3JlYXRlQWxpYXMobm9kZSwgbmFtZSkge1xuICAgICAgICBpZiAoIW5vZGUuYW5jaG9yKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gYW5jaG9yTmFtZXModGhpcyk7XG4gICAgICAgICAgICBub2RlLmFuY2hvciA9XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItbnVsbGlzaC1jb2FsZXNjaW5nXG4gICAgICAgICAgICAgICAgIW5hbWUgfHwgcHJldi5oYXMobmFtZSkgPyBmaW5kTmV3QW5jaG9yKG5hbWUgfHwgJ2EnLCBwcmV2KSA6IG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBBbGlhcyhub2RlLmFuY2hvcik7XG4gICAgfVxuICAgIGNyZWF0ZU5vZGUodmFsdWUsIHJlcGxhY2VyLCBvcHRpb25zKSB7XG4gICAgICAgIGxldCBfcmVwbGFjZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhbHVlID0gcmVwbGFjZXIuY2FsbCh7ICcnOiB2YWx1ZSB9LCAnJywgdmFsdWUpO1xuICAgICAgICAgICAgX3JlcGxhY2VyID0gcmVwbGFjZXI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyZXBsYWNlcikpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleVRvU3RyID0gKHYpID0+IHR5cGVvZiB2ID09PSAnbnVtYmVyJyB8fCB2IGluc3RhbmNlb2YgU3RyaW5nIHx8IHYgaW5zdGFuY2VvZiBOdW1iZXI7XG4gICAgICAgICAgICBjb25zdCBhc1N0ciA9IHJlcGxhY2VyLmZpbHRlcihrZXlUb1N0cikubWFwKFN0cmluZyk7XG4gICAgICAgICAgICBpZiAoYXNTdHIubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICByZXBsYWNlciA9IHJlcGxhY2VyLmNvbmNhdChhc1N0cik7XG4gICAgICAgICAgICBfcmVwbGFjZXIgPSByZXBsYWNlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQgJiYgcmVwbGFjZXIpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSByZXBsYWNlcjtcbiAgICAgICAgICAgIHJlcGxhY2VyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgYWxpYXNEdXBsaWNhdGVPYmplY3RzLCBhbmNob3JQcmVmaXgsIGZsb3csIGtlZXBVbmRlZmluZWQsIG9uVGFnT2JqLCB0YWcgfSA9IG9wdGlvbnMgPz8ge307XG4gICAgICAgIGNvbnN0IHsgb25BbmNob3IsIHNldEFuY2hvcnMsIHNvdXJjZU9iamVjdHMgfSA9IGNyZWF0ZU5vZGVBbmNob3JzKHRoaXMsIFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1udWxsaXNoLWNvYWxlc2NpbmdcbiAgICAgICAgYW5jaG9yUHJlZml4IHx8ICdhJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGFsaWFzRHVwbGljYXRlT2JqZWN0czogYWxpYXNEdXBsaWNhdGVPYmplY3RzID8/IHRydWUsXG4gICAgICAgICAgICBrZWVwVW5kZWZpbmVkOiBrZWVwVW5kZWZpbmVkID8/IGZhbHNlLFxuICAgICAgICAgICAgb25BbmNob3IsXG4gICAgICAgICAgICBvblRhZ09iaixcbiAgICAgICAgICAgIHJlcGxhY2VyOiBfcmVwbGFjZXIsXG4gICAgICAgICAgICBzY2hlbWE6IHRoaXMuc2NoZW1hLFxuICAgICAgICAgICAgc291cmNlT2JqZWN0c1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBub2RlID0gY3JlYXRlTm9kZSh2YWx1ZSwgdGFnLCBjdHgpO1xuICAgICAgICBpZiAoZmxvdyAmJiBpc0NvbGxlY3Rpb24obm9kZSkpXG4gICAgICAgICAgICBub2RlLmZsb3cgPSB0cnVlO1xuICAgICAgICBzZXRBbmNob3JzKCk7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0IGEga2V5IGFuZCBhIHZhbHVlIGludG8gYSBgUGFpcmAgdXNpbmcgdGhlIGN1cnJlbnQgc2NoZW1hLFxuICAgICAqIHJlY3Vyc2l2ZWx5IHdyYXBwaW5nIGFsbCB2YWx1ZXMgYXMgYFNjYWxhcmAgb3IgYENvbGxlY3Rpb25gIG5vZGVzLlxuICAgICAqL1xuICAgIGNyZWF0ZVBhaXIoa2V5LCB2YWx1ZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IGsgPSB0aGlzLmNyZWF0ZU5vZGUoa2V5LCBudWxsLCBvcHRpb25zKTtcbiAgICAgICAgY29uc3QgdiA9IHRoaXMuY3JlYXRlTm9kZSh2YWx1ZSwgbnVsbCwgb3B0aW9ucyk7XG4gICAgICAgIHJldHVybiBuZXcgUGFpcihrLCB2KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gdGhlIGRvY3VtZW50LlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgaXRlbSB3YXMgZm91bmQgYW5kIHJlbW92ZWQuXG4gICAgICovXG4gICAgZGVsZXRlKGtleSkge1xuICAgICAgICByZXR1cm4gYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSA/IHRoaXMuY29udGVudHMuZGVsZXRlKGtleSkgOiBmYWxzZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gdGhlIGRvY3VtZW50LlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgaXRlbSB3YXMgZm91bmQgYW5kIHJlbW92ZWQuXG4gICAgICovXG4gICAgZGVsZXRlSW4ocGF0aCkge1xuICAgICAgICBpZiAoaXNFbXB0eVBhdGgocGF0aCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRzID09IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBQcmVzdW1lZCBpbXBvc3NpYmxlIGlmIFN0cmljdCBleHRlbmRzIGZhbHNlXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhc3NlcnRDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpXG4gICAgICAgICAgICA/IHRoaXMuY29udGVudHMuZGVsZXRlSW4ocGF0aClcbiAgICAgICAgICAgIDogZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgaXRlbSBhdCBga2V5YCwgb3IgYHVuZGVmaW5lZGAgaWYgbm90IGZvdW5kLiBCeSBkZWZhdWx0IHVud3JhcHNcbiAgICAgKiBzY2FsYXIgdmFsdWVzIGZyb20gdGhlaXIgc3Vycm91bmRpbmcgbm9kZTsgdG8gZGlzYWJsZSBzZXQgYGtlZXBTY2FsYXJgIHRvXG4gICAgICogYHRydWVgIChjb2xsZWN0aW9ucyBhcmUgYWx3YXlzIHJldHVybmVkIGludGFjdCkuXG4gICAgICovXG4gICAgZ2V0KGtleSwga2VlcFNjYWxhcikge1xuICAgICAgICByZXR1cm4gaXNDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpXG4gICAgICAgICAgICA/IHRoaXMuY29udGVudHMuZ2V0KGtleSwga2VlcFNjYWxhcilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGl0ZW0gYXQgYHBhdGhgLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgZm91bmQuIEJ5IGRlZmF1bHQgdW53cmFwc1xuICAgICAqIHNjYWxhciB2YWx1ZXMgZnJvbSB0aGVpciBzdXJyb3VuZGluZyBub2RlOyB0byBkaXNhYmxlIHNldCBga2VlcFNjYWxhcmAgdG9cbiAgICAgKiBgdHJ1ZWAgKGNvbGxlY3Rpb25zIGFyZSBhbHdheXMgcmV0dXJuZWQgaW50YWN0KS5cbiAgICAgKi9cbiAgICBnZXRJbihwYXRoLCBrZWVwU2NhbGFyKSB7XG4gICAgICAgIGlmIChpc0VtcHR5UGF0aChwYXRoKSlcbiAgICAgICAgICAgIHJldHVybiAha2VlcFNjYWxhciAmJiBpc1NjYWxhcih0aGlzLmNvbnRlbnRzKVxuICAgICAgICAgICAgICAgID8gdGhpcy5jb250ZW50cy52YWx1ZVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb250ZW50cztcbiAgICAgICAgcmV0dXJuIGlzQ29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKVxuICAgICAgICAgICAgPyB0aGlzLmNvbnRlbnRzLmdldEluKHBhdGgsIGtlZXBTY2FsYXIpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBkb2N1bWVudCBpbmNsdWRlcyBhIHZhbHVlIHdpdGggdGhlIGtleSBga2V5YC5cbiAgICAgKi9cbiAgICBoYXMoa2V5KSB7XG4gICAgICAgIHJldHVybiBpc0NvbGxlY3Rpb24odGhpcy5jb250ZW50cykgPyB0aGlzLmNvbnRlbnRzLmhhcyhrZXkpIDogZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgZG9jdW1lbnQgaW5jbHVkZXMgYSB2YWx1ZSBhdCBgcGF0aGAuXG4gICAgICovXG4gICAgaGFzSW4ocGF0aCkge1xuICAgICAgICBpZiAoaXNFbXB0eVBhdGgocGF0aCkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50cyAhPT0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gaXNDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpID8gdGhpcy5jb250ZW50cy5oYXNJbihwYXRoKSA6IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdmFsdWUgaW4gdGhpcyBkb2N1bWVudC4gRm9yIGAhIXNldGAsIGB2YWx1ZWAgbmVlZHMgdG8gYmUgYVxuICAgICAqIGJvb2xlYW4gdG8gYWRkL3JlbW92ZSB0aGUgaXRlbSBmcm9tIHRoZSBzZXQuXG4gICAgICovXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudHMgPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBXZSBjYW4ndCByZWFsbHkga25vdyB0aGF0IHRoaXMgbWF0Y2hlcyBDb250ZW50cy5cbiAgICAgICAgICAgIHRoaXMuY29udGVudHMgPSBjb2xsZWN0aW9uRnJvbVBhdGgodGhpcy5zY2hlbWEsIFtrZXldLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyBhIHZhbHVlIGluIHRoaXMgZG9jdW1lbnQuIEZvciBgISFzZXRgLCBgdmFsdWVgIG5lZWRzIHRvIGJlIGFcbiAgICAgKiBib29sZWFuIHRvIGFkZC9yZW1vdmUgdGhlIGl0ZW0gZnJvbSB0aGUgc2V0LlxuICAgICAqL1xuICAgIHNldEluKHBhdGgsIHZhbHVlKSB7XG4gICAgICAgIGlmIChpc0VtcHR5UGF0aChwYXRoKSkge1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBXZSBjYW4ndCByZWFsbHkga25vdyB0aGF0IHRoaXMgbWF0Y2hlcyBDb250ZW50cy5cbiAgICAgICAgICAgIHRoaXMuY29udGVudHMgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRlbnRzID09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2FuJ3QgcmVhbGx5IGtub3cgdGhhdCB0aGlzIG1hdGNoZXMgQ29udGVudHMuXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzID0gY29sbGVjdGlvbkZyb21QYXRoKHRoaXMuc2NoZW1hLCBBcnJheS5mcm9tKHBhdGgpLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5zZXRJbihwYXRoLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBZQU1MIHZlcnNpb24gYW5kIHNjaGVtYSB1c2VkIGJ5IHRoZSBkb2N1bWVudC5cbiAgICAgKiBBIGBudWxsYCB2ZXJzaW9uIGRpc2FibGVzIHN1cHBvcnQgZm9yIGRpcmVjdGl2ZXMsIGV4cGxpY2l0IHRhZ3MsIGFuY2hvcnMsIGFuZCBhbGlhc2VzLlxuICAgICAqIEl0IGFsc28gcmVxdWlyZXMgdGhlIGBzY2hlbWFgIG9wdGlvbiB0byBiZSBnaXZlbiBhcyBhIGBTY2hlbWFgIGluc3RhbmNlIHZhbHVlLlxuICAgICAqXG4gICAgICogT3ZlcnJpZGVzIGFsbCBwcmV2aW91c2x5IHNldCBzY2hlbWEgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBzZXRTY2hlbWEodmVyc2lvbiwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmVyc2lvbiA9PT0gJ251bWJlcicpXG4gICAgICAgICAgICB2ZXJzaW9uID0gU3RyaW5nKHZlcnNpb24pO1xuICAgICAgICBsZXQgb3B0O1xuICAgICAgICBzd2l0Y2ggKHZlcnNpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJzEuMSc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbiA9ICcxLjEnO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzID0gbmV3IERpcmVjdGl2ZXMoeyB2ZXJzaW9uOiAnMS4xJyB9KTtcbiAgICAgICAgICAgICAgICBvcHQgPSB7IHJlc29sdmVLbm93blRhZ3M6IGZhbHNlLCBzY2hlbWE6ICd5YW1sLTEuMScgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJzEuMic6XG4gICAgICAgICAgICBjYXNlICduZXh0JzpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXJlY3RpdmVzKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZXMueWFtbC52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG5ldyBEaXJlY3RpdmVzKHsgdmVyc2lvbiB9KTtcbiAgICAgICAgICAgICAgICBvcHQgPSB7IHJlc29sdmVLbm93blRhZ3M6IHRydWUsIHNjaGVtYTogJ2NvcmUnIH07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuZGlyZWN0aXZlcztcbiAgICAgICAgICAgICAgICBvcHQgPSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN2ID0gSlNPTi5zdHJpbmdpZnkodmVyc2lvbik7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAnMS4xJywgJzEuMicgb3IgbnVsbCBhcyBmaXJzdCBhcmd1bWVudCwgYnV0IGZvdW5kOiAke3N2fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE5vdCB1c2luZyBgaW5zdGFuY2VvZiBTY2hlbWFgIHRvIGFsbG93IGZvciBkdWNrIHR5cGluZ1xuICAgICAgICBpZiAob3B0aW9ucy5zY2hlbWEgaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAgICAgICB0aGlzLnNjaGVtYSA9IG9wdGlvbnMuc2NoZW1hO1xuICAgICAgICBlbHNlIGlmIChvcHQpXG4gICAgICAgICAgICB0aGlzLnNjaGVtYSA9IG5ldyBTY2hlbWEoT2JqZWN0LmFzc2lnbihvcHQsIG9wdGlvbnMpKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBXaXRoIGEgbnVsbCBZQU1MIHZlcnNpb24sIHRoZSB7IHNjaGVtYTogU2NoZW1hIH0gb3B0aW9uIGlzIHJlcXVpcmVkYCk7XG4gICAgfVxuICAgIC8vIGpzb24gJiBqc29uQXJnIGFyZSBvbmx5IHVzZWQgZnJvbSB0b0pTT04oKVxuICAgIHRvSlMoeyBqc29uLCBqc29uQXJnLCBtYXBBc01hcCwgbWF4QWxpYXNDb3VudCwgb25BbmNob3IsIHJldml2ZXIgfSA9IHt9KSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGFuY2hvcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgICAgIGRvYzogdGhpcyxcbiAgICAgICAgICAgIGtlZXA6ICFqc29uLFxuICAgICAgICAgICAgbWFwQXNNYXA6IG1hcEFzTWFwID09PSB0cnVlLFxuICAgICAgICAgICAgbWFwS2V5V2FybmVkOiBmYWxzZSxcbiAgICAgICAgICAgIG1heEFsaWFzQ291bnQ6IHR5cGVvZiBtYXhBbGlhc0NvdW50ID09PSAnbnVtYmVyJyA/IG1heEFsaWFzQ291bnQgOiAxMDBcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzID0gdG9KUyh0aGlzLmNvbnRlbnRzLCBqc29uQXJnID8/ICcnLCBjdHgpO1xuICAgICAgICBpZiAodHlwZW9mIG9uQW5jaG9yID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgZm9yIChjb25zdCB7IGNvdW50LCByZXMgfSBvZiBjdHguYW5jaG9ycy52YWx1ZXMoKSlcbiAgICAgICAgICAgICAgICBvbkFuY2hvcihyZXMsIGNvdW50KTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByZXZpdmVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IGFwcGx5UmV2aXZlcihyZXZpdmVyLCB7ICcnOiByZXMgfSwgJycsIHJlcylcbiAgICAgICAgICAgIDogcmVzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIGRvY3VtZW50IGBjb250ZW50c2AuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ganNvbkFyZyBVc2VkIGJ5IGBKU09OLnN0cmluZ2lmeWAgdG8gaW5kaWNhdGUgdGhlIGFycmF5IGluZGV4IG9yXG4gICAgICogICBwcm9wZXJ0eSBuYW1lLlxuICAgICAqL1xuICAgIHRvSlNPTihqc29uQXJnLCBvbkFuY2hvcikge1xuICAgICAgICByZXR1cm4gdGhpcy50b0pTKHsganNvbjogdHJ1ZSwganNvbkFyZywgbWFwQXNNYXA6IGZhbHNlLCBvbkFuY2hvciB9KTtcbiAgICB9XG4gICAgLyoqIEEgWUFNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZG9jdW1lbnQuICovXG4gICAgdG9TdHJpbmcob3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICh0aGlzLmVycm9ycy5sZW5ndGggPiAwKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEb2N1bWVudCB3aXRoIGVycm9ycyBjYW5ub3QgYmUgc3RyaW5naWZpZWQnKTtcbiAgICAgICAgaWYgKCdpbmRlbnQnIGluIG9wdGlvbnMgJiZcbiAgICAgICAgICAgICghTnVtYmVyLmlzSW50ZWdlcihvcHRpb25zLmluZGVudCkgfHwgTnVtYmVyKG9wdGlvbnMuaW5kZW50KSA8PSAwKSkge1xuICAgICAgICAgICAgY29uc3QgcyA9IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMuaW5kZW50KTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJpbmRlbnRcIiBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIG5vdCAke3N9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeURvY3VtZW50KHRoaXMsIG9wdGlvbnMpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGFzc2VydENvbGxlY3Rpb24oY29udGVudHMpIHtcbiAgICBpZiAoaXNDb2xsZWN0aW9uKGNvbnRlbnRzKSlcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIFlBTUwgY29sbGVjdGlvbiBhcyBkb2N1bWVudCBjb250ZW50cycpO1xufVxuXG5leHBvcnQgeyBEb2N1bWVudCB9O1xuIiwgImNsYXNzIFlBTUxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihuYW1lLCBwb3MsIGNvZGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgdGhpcy5wb3MgPSBwb3M7XG4gICAgfVxufVxuY2xhc3MgWUFNTFBhcnNlRXJyb3IgZXh0ZW5kcyBZQU1MRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHBvcywgY29kZSwgbWVzc2FnZSkge1xuICAgICAgICBzdXBlcignWUFNTFBhcnNlRXJyb3InLCBwb3MsIGNvZGUsIG1lc3NhZ2UpO1xuICAgIH1cbn1cbmNsYXNzIFlBTUxXYXJuaW5nIGV4dGVuZHMgWUFNTEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcihwb3MsIGNvZGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgc3VwZXIoJ1lBTUxXYXJuaW5nJywgcG9zLCBjb2RlLCBtZXNzYWdlKTtcbiAgICB9XG59XG5jb25zdCBwcmV0dGlmeUVycm9yID0gKHNyYywgbGMpID0+IChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvci5wb3NbMF0gPT09IC0xKVxuICAgICAgICByZXR1cm47XG4gICAgZXJyb3IubGluZVBvcyA9IGVycm9yLnBvcy5tYXAocG9zID0+IGxjLmxpbmVQb3MocG9zKSk7XG4gICAgY29uc3QgeyBsaW5lLCBjb2wgfSA9IGVycm9yLmxpbmVQb3NbMF07XG4gICAgZXJyb3IubWVzc2FnZSArPSBgIGF0IGxpbmUgJHtsaW5lfSwgY29sdW1uICR7Y29sfWA7XG4gICAgbGV0IGNpID0gY29sIC0gMTtcbiAgICBsZXQgbGluZVN0ciA9IHNyY1xuICAgICAgICAuc3Vic3RyaW5nKGxjLmxpbmVTdGFydHNbbGluZSAtIDFdLCBsYy5saW5lU3RhcnRzW2xpbmVdKVxuICAgICAgICAucmVwbGFjZSgvW1xcblxccl0rJC8sICcnKTtcbiAgICAvLyBUcmltIHRvIG1heCA4MCBjaGFycywga2VlcGluZyBjb2wgcG9zaXRpb24gbmVhciB0aGUgbWlkZGxlXG4gICAgaWYgKGNpID49IDYwICYmIGxpbmVTdHIubGVuZ3RoID4gODApIHtcbiAgICAgICAgY29uc3QgdHJpbVN0YXJ0ID0gTWF0aC5taW4oY2kgLSAzOSwgbGluZVN0ci5sZW5ndGggLSA3OSk7XG4gICAgICAgIGxpbmVTdHIgPSAnXHUyMDI2JyArIGxpbmVTdHIuc3Vic3RyaW5nKHRyaW1TdGFydCk7XG4gICAgICAgIGNpIC09IHRyaW1TdGFydCAtIDE7XG4gICAgfVxuICAgIGlmIChsaW5lU3RyLmxlbmd0aCA+IDgwKVxuICAgICAgICBsaW5lU3RyID0gbGluZVN0ci5zdWJzdHJpbmcoMCwgNzkpICsgJ1x1MjAyNic7XG4gICAgLy8gSW5jbHVkZSBwcmV2aW91cyBsaW5lIGluIGNvbnRleHQgaWYgcG9pbnRpbmcgYXQgbGluZSBzdGFydFxuICAgIGlmIChsaW5lID4gMSAmJiAvXiAqJC8udGVzdChsaW5lU3RyLnN1YnN0cmluZygwLCBjaSkpKSB7XG4gICAgICAgIC8vIFJlZ2V4cCB3b24ndCBtYXRjaCBpZiBzdGFydCBpcyB0cmltbWVkXG4gICAgICAgIGxldCBwcmV2ID0gc3JjLnN1YnN0cmluZyhsYy5saW5lU3RhcnRzW2xpbmUgLSAyXSwgbGMubGluZVN0YXJ0c1tsaW5lIC0gMV0pO1xuICAgICAgICBpZiAocHJldi5sZW5ndGggPiA4MClcbiAgICAgICAgICAgIHByZXYgPSBwcmV2LnN1YnN0cmluZygwLCA3OSkgKyAnXHUyMDI2XFxuJztcbiAgICAgICAgbGluZVN0ciA9IHByZXYgKyBsaW5lU3RyO1xuICAgIH1cbiAgICBpZiAoL1teIF0vLnRlc3QobGluZVN0cikpIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMTtcbiAgICAgICAgY29uc3QgZW5kID0gZXJyb3IubGluZVBvc1sxXTtcbiAgICAgICAgaWYgKGVuZCAmJiBlbmQubGluZSA9PT0gbGluZSAmJiBlbmQuY29sID4gY29sKSB7XG4gICAgICAgICAgICBjb3VudCA9IE1hdGgubWF4KDEsIE1hdGgubWluKGVuZC5jb2wgLSBjb2wsIDgwIC0gY2kpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb2ludGVyID0gJyAnLnJlcGVhdChjaSkgKyAnXicucmVwZWF0KGNvdW50KTtcbiAgICAgICAgZXJyb3IubWVzc2FnZSArPSBgOlxcblxcbiR7bGluZVN0cn1cXG4ke3BvaW50ZXJ9XFxuYDtcbiAgICB9XG59O1xuXG5leHBvcnQgeyBZQU1MRXJyb3IsIFlBTUxQYXJzZUVycm9yLCBZQU1MV2FybmluZywgcHJldHRpZnlFcnJvciB9O1xuIiwgImZ1bmN0aW9uIHJlc29sdmVQcm9wcyh0b2tlbnMsIHsgZmxvdywgaW5kaWNhdG9yLCBuZXh0LCBvZmZzZXQsIG9uRXJyb3IsIHBhcmVudEluZGVudCwgc3RhcnRPbk5ld2xpbmUgfSkge1xuICAgIGxldCBzcGFjZUJlZm9yZSA9IGZhbHNlO1xuICAgIGxldCBhdE5ld2xpbmUgPSBzdGFydE9uTmV3bGluZTtcbiAgICBsZXQgaGFzU3BhY2UgPSBzdGFydE9uTmV3bGluZTtcbiAgICBsZXQgY29tbWVudCA9ICcnO1xuICAgIGxldCBjb21tZW50U2VwID0gJyc7XG4gICAgbGV0IGhhc05ld2xpbmUgPSBmYWxzZTtcbiAgICBsZXQgcmVxU3BhY2UgPSBmYWxzZTtcbiAgICBsZXQgdGFiID0gbnVsbDtcbiAgICBsZXQgYW5jaG9yID0gbnVsbDtcbiAgICBsZXQgdGFnID0gbnVsbDtcbiAgICBsZXQgbmV3bGluZUFmdGVyUHJvcCA9IG51bGw7XG4gICAgbGV0IGNvbW1hID0gbnVsbDtcbiAgICBsZXQgZm91bmQgPSBudWxsO1xuICAgIGxldCBzdGFydCA9IG51bGw7XG4gICAgZm9yIChjb25zdCB0b2tlbiBvZiB0b2tlbnMpIHtcbiAgICAgICAgaWYgKHJlcVNwYWNlKSB7XG4gICAgICAgICAgICBpZiAodG9rZW4udHlwZSAhPT0gJ3NwYWNlJyAmJlxuICAgICAgICAgICAgICAgIHRva2VuLnR5cGUgIT09ICduZXdsaW5lJyAmJlxuICAgICAgICAgICAgICAgIHRva2VuLnR5cGUgIT09ICdjb21tYScpXG4gICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbi5vZmZzZXQsICdNSVNTSU5HX0NIQVInLCAnVGFncyBhbmQgYW5jaG9ycyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIHRoZSBuZXh0IHRva2VuIGJ5IHdoaXRlIHNwYWNlJyk7XG4gICAgICAgICAgICByZXFTcGFjZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWIpIHtcbiAgICAgICAgICAgIGlmIChhdE5ld2xpbmUgJiYgdG9rZW4udHlwZSAhPT0gJ2NvbW1lbnQnICYmIHRva2VuLnR5cGUgIT09ICduZXdsaW5lJykge1xuICAgICAgICAgICAgICAgIG9uRXJyb3IodGFiLCAnVEFCX0FTX0lOREVOVCcsICdUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFiID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKHRva2VuLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICAvLyBBdCB0aGUgZG9jIGxldmVsLCB0YWJzIGF0IGxpbmUgc3RhcnQgbWF5IGJlIHBhcnNlZFxuICAgICAgICAgICAgICAgIC8vIGFzIGxlYWRpbmcgd2hpdGUgc3BhY2UgcmF0aGVyIHRoYW4gaW5kZW50YXRpb24uXG4gICAgICAgICAgICAgICAgLy8gSW4gYSBmbG93IGNvbGxlY3Rpb24sIG9ubHkgdGhlIHBhcnNlciBoYW5kbGVzIGluZGVudC5cbiAgICAgICAgICAgICAgICBpZiAoIWZsb3cgJiZcbiAgICAgICAgICAgICAgICAgICAgKGluZGljYXRvciAhPT0gJ2RvYy1zdGFydCcgfHwgbmV4dD8udHlwZSAhPT0gJ2Zsb3ctY29sbGVjdGlvbicpICYmXG4gICAgICAgICAgICAgICAgICAgIHRva2VuLnNvdXJjZS5pbmNsdWRlcygnXFx0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFiID0gdG9rZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOiB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNTcGFjZSlcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ01JU1NJTkdfQ0hBUicsICdDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2IgPSB0b2tlbi5zb3VyY2Uuc3Vic3RyaW5nKDEpIHx8ICcgJztcbiAgICAgICAgICAgICAgICBpZiAoIWNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBjYjtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgKz0gY29tbWVudFNlcCArIGNiO1xuICAgICAgICAgICAgICAgIGNvbW1lbnRTZXAgPSAnJztcbiAgICAgICAgICAgICAgICBhdE5ld2xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIGlmIChhdE5ld2xpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ICs9IHRva2VuLnNvdXJjZTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhY2VCZWZvcmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnRTZXAgKz0gdG9rZW4uc291cmNlO1xuICAgICAgICAgICAgICAgIGF0TmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgaGFzTmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGFuY2hvciB8fCB0YWcpXG4gICAgICAgICAgICAgICAgICAgIG5ld2xpbmVBZnRlclByb3AgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICBoYXNTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdhbmNob3InOlxuICAgICAgICAgICAgICAgIGlmIChhbmNob3IpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdNVUxUSVBMRV9BTkNIT1JTJywgJ0Egbm9kZSBjYW4gaGF2ZSBhdCBtb3N0IG9uZSBhbmNob3InKTtcbiAgICAgICAgICAgICAgICBpZiAodG9rZW4uc291cmNlLmVuZHNXaXRoKCc6JykpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4ub2Zmc2V0ICsgdG9rZW4uc291cmNlLmxlbmd0aCAtIDEsICdCQURfQUxJQVMnLCAnQW5jaG9yIGVuZGluZyBpbiA6IGlzIGFtYmlndW91cycsIHRydWUpO1xuICAgICAgICAgICAgICAgIGFuY2hvciA9IHRva2VuO1xuICAgICAgICAgICAgICAgIGlmIChzdGFydCA9PT0gbnVsbClcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSB0b2tlbi5vZmZzZXQ7XG4gICAgICAgICAgICAgICAgYXROZXdsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXFTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd0YWcnOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRhZylcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ01VTFRJUExFX1RBR1MnLCAnQSBub2RlIGNhbiBoYXZlIGF0IG1vc3Qgb25lIHRhZycpO1xuICAgICAgICAgICAgICAgIHRhZyA9IHRva2VuO1xuICAgICAgICAgICAgICAgIGlmIChzdGFydCA9PT0gbnVsbClcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSB0b2tlbi5vZmZzZXQ7XG4gICAgICAgICAgICAgICAgYXROZXdsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXFTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIGluZGljYXRvcjpcbiAgICAgICAgICAgICAgICAvLyBDb3VsZCBoZXJlIGhhbmRsZSBwcmVjZWRpbmcgY29tbWVudHMgZGlmZmVyZW50bHlcbiAgICAgICAgICAgICAgICBpZiAoYW5jaG9yIHx8IHRhZylcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ0JBRF9QUk9QX09SREVSJywgYEFuY2hvcnMgYW5kIHRhZ3MgbXVzdCBiZSBhZnRlciB0aGUgJHt0b2tlbi5zb3VyY2V9IGluZGljYXRvcmApO1xuICAgICAgICAgICAgICAgIGlmIChmb3VuZClcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5leHBlY3RlZCAke3Rva2VuLnNvdXJjZX0gaW4gJHtmbG93ID8/ICdjb2xsZWN0aW9uJ31gKTtcbiAgICAgICAgICAgICAgICBmb3VuZCA9IHRva2VuO1xuICAgICAgICAgICAgICAgIGF0TmV3bGluZSA9XG4gICAgICAgICAgICAgICAgICAgIGluZGljYXRvciA9PT0gJ3NlcS1pdGVtLWluZCcgfHwgaW5kaWNhdG9yID09PSAnZXhwbGljaXQta2V5LWluZCc7XG4gICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1hJzpcbiAgICAgICAgICAgICAgICBpZiAoZmxvdykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tbWEpXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICwgaW4gJHtmbG93fWApO1xuICAgICAgICAgICAgICAgICAgICBjb21tYSA9IHRva2VuO1xuICAgICAgICAgICAgICAgICAgICBhdE5ld2xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZWxzZSBmYWxsdGhyb3VnaFxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICR7dG9rZW4udHlwZX0gdG9rZW5gKTtcbiAgICAgICAgICAgICAgICBhdE5ld2xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBoYXNTcGFjZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGxhc3QgPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGVuZCA9IGxhc3QgPyBsYXN0Lm9mZnNldCArIGxhc3Quc291cmNlLmxlbmd0aCA6IG9mZnNldDtcbiAgICBpZiAocmVxU3BhY2UgJiZcbiAgICAgICAgbmV4dCAmJlxuICAgICAgICBuZXh0LnR5cGUgIT09ICdzcGFjZScgJiZcbiAgICAgICAgbmV4dC50eXBlICE9PSAnbmV3bGluZScgJiZcbiAgICAgICAgbmV4dC50eXBlICE9PSAnY29tbWEnICYmXG4gICAgICAgIChuZXh0LnR5cGUgIT09ICdzY2FsYXInIHx8IG5leHQuc291cmNlICE9PSAnJykpIHtcbiAgICAgICAgb25FcnJvcihuZXh0Lm9mZnNldCwgJ01JU1NJTkdfQ0hBUicsICdUYWdzIGFuZCBhbmNob3JzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gdGhlIG5leHQgdG9rZW4gYnkgd2hpdGUgc3BhY2UnKTtcbiAgICB9XG4gICAgaWYgKHRhYiAmJlxuICAgICAgICAoKGF0TmV3bGluZSAmJiB0YWIuaW5kZW50IDw9IHBhcmVudEluZGVudCkgfHxcbiAgICAgICAgICAgIG5leHQ/LnR5cGUgPT09ICdibG9jay1tYXAnIHx8XG4gICAgICAgICAgICBuZXh0Py50eXBlID09PSAnYmxvY2stc2VxJykpXG4gICAgICAgIG9uRXJyb3IodGFiLCAnVEFCX0FTX0lOREVOVCcsICdUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvbicpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1hLFxuICAgICAgICBmb3VuZCxcbiAgICAgICAgc3BhY2VCZWZvcmUsXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIGhhc05ld2xpbmUsXG4gICAgICAgIGFuY2hvcixcbiAgICAgICAgdGFnLFxuICAgICAgICBuZXdsaW5lQWZ0ZXJQcm9wLFxuICAgICAgICBlbmQsXG4gICAgICAgIHN0YXJ0OiBzdGFydCA/PyBlbmRcbiAgICB9O1xufVxuXG5leHBvcnQgeyByZXNvbHZlUHJvcHMgfTtcbiIsICJmdW5jdGlvbiBjb250YWluc05ld2xpbmUoa2V5KSB7XG4gICAgaWYgKCFrZXkpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHN3aXRjaCAoa2V5LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICBjYXNlICdkb3VibGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIGlmIChrZXkuc291cmNlLmluY2x1ZGVzKCdcXG4nKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChrZXkuZW5kKVxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Qgb2Yga2V5LmVuZClcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0LnR5cGUgPT09ICduZXdsaW5lJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjYXNlICdmbG93LWNvbGxlY3Rpb24nOlxuICAgICAgICAgICAgZm9yIChjb25zdCBpdCBvZiBrZXkuaXRlbXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN0IG9mIGl0LnN0YXJ0KVxuICAgICAgICAgICAgICAgICAgICBpZiAoc3QudHlwZSA9PT0gJ25ld2xpbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdCBvZiBpdC5zZXApXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3QudHlwZSA9PT0gJ25ld2xpbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluc05ld2xpbmUoaXQua2V5KSB8fCBjb250YWluc05ld2xpbmUoaXQudmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IHsgY29udGFpbnNOZXdsaW5lIH07XG4iLCAiaW1wb3J0IHsgY29udGFpbnNOZXdsaW5lIH0gZnJvbSAnLi91dGlsLWNvbnRhaW5zLW5ld2xpbmUuanMnO1xuXG5mdW5jdGlvbiBmbG93SW5kZW50Q2hlY2soaW5kZW50LCBmYywgb25FcnJvcikge1xuICAgIGlmIChmYz8udHlwZSA9PT0gJ2Zsb3ctY29sbGVjdGlvbicpIHtcbiAgICAgICAgY29uc3QgZW5kID0gZmMuZW5kWzBdO1xuICAgICAgICBpZiAoZW5kLmluZGVudCA9PT0gaW5kZW50ICYmXG4gICAgICAgICAgICAoZW5kLnNvdXJjZSA9PT0gJ10nIHx8IGVuZC5zb3VyY2UgPT09ICd9JykgJiZcbiAgICAgICAgICAgIGNvbnRhaW5zTmV3bGluZShmYykpIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9ICdGbG93IGVuZCBpbmRpY2F0b3Igc2hvdWxkIGJlIG1vcmUgaW5kZW50ZWQgdGhhbiBwYXJlbnQnO1xuICAgICAgICAgICAgb25FcnJvcihlbmQsICdCQURfSU5ERU5UJywgbXNnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IHsgZmxvd0luZGVudENoZWNrIH07XG4iLCAiaW1wb3J0IHsgaXNTY2FsYXIgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5cbmZ1bmN0aW9uIG1hcEluY2x1ZGVzKGN0eCwgaXRlbXMsIHNlYXJjaCkge1xuICAgIGNvbnN0IHsgdW5pcXVlS2V5cyB9ID0gY3R4Lm9wdGlvbnM7XG4gICAgaWYgKHVuaXF1ZUtleXMgPT09IGZhbHNlKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgaXNFcXVhbCA9IHR5cGVvZiB1bmlxdWVLZXlzID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gdW5pcXVlS2V5c1xuICAgICAgICA6IChhLCBiKSA9PiBhID09PSBiIHx8IChpc1NjYWxhcihhKSAmJiBpc1NjYWxhcihiKSAmJiBhLnZhbHVlID09PSBiLnZhbHVlKTtcbiAgICByZXR1cm4gaXRlbXMuc29tZShwYWlyID0+IGlzRXF1YWwocGFpci5rZXksIHNlYXJjaCkpO1xufVxuXG5leHBvcnQgeyBtYXBJbmNsdWRlcyB9O1xuIiwgImltcG9ydCB7IFBhaXIgfSBmcm9tICcuLi9ub2Rlcy9QYWlyLmpzJztcbmltcG9ydCB7IFlBTUxNYXAgfSBmcm9tICcuLi9ub2Rlcy9ZQU1MTWFwLmpzJztcbmltcG9ydCB7IHJlc29sdmVQcm9wcyB9IGZyb20gJy4vcmVzb2x2ZS1wcm9wcy5qcyc7XG5pbXBvcnQgeyBjb250YWluc05ld2xpbmUgfSBmcm9tICcuL3V0aWwtY29udGFpbnMtbmV3bGluZS5qcyc7XG5pbXBvcnQgeyBmbG93SW5kZW50Q2hlY2sgfSBmcm9tICcuL3V0aWwtZmxvdy1pbmRlbnQtY2hlY2suanMnO1xuaW1wb3J0IHsgbWFwSW5jbHVkZXMgfSBmcm9tICcuL3V0aWwtbWFwLWluY2x1ZGVzLmpzJztcblxuY29uc3Qgc3RhcnRDb2xNc2cgPSAnQWxsIG1hcHBpbmcgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4nO1xuZnVuY3Rpb24gcmVzb2x2ZUJsb2NrTWFwKHsgY29tcG9zZU5vZGUsIGNvbXBvc2VFbXB0eU5vZGUgfSwgY3R4LCBibSwgb25FcnJvciwgdGFnKSB7XG4gICAgY29uc3QgTm9kZUNsYXNzID0gdGFnPy5ub2RlQ2xhc3MgPz8gWUFNTE1hcDtcbiAgICBjb25zdCBtYXAgPSBuZXcgTm9kZUNsYXNzKGN0eC5zY2hlbWEpO1xuICAgIGlmIChjdHguYXRSb290KVxuICAgICAgICBjdHguYXRSb290ID0gZmFsc2U7XG4gICAgbGV0IG9mZnNldCA9IGJtLm9mZnNldDtcbiAgICBsZXQgY29tbWVudEVuZCA9IG51bGw7XG4gICAgZm9yIChjb25zdCBjb2xsSXRlbSBvZiBibS5pdGVtcykge1xuICAgICAgICBjb25zdCB7IHN0YXJ0LCBrZXksIHNlcCwgdmFsdWUgfSA9IGNvbGxJdGVtO1xuICAgICAgICAvLyBrZXkgcHJvcGVydGllc1xuICAgICAgICBjb25zdCBrZXlQcm9wcyA9IHJlc29sdmVQcm9wcyhzdGFydCwge1xuICAgICAgICAgICAgaW5kaWNhdG9yOiAnZXhwbGljaXQta2V5LWluZCcsXG4gICAgICAgICAgICBuZXh0OiBrZXkgPz8gc2VwPy5bMF0sXG4gICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICBvbkVycm9yLFxuICAgICAgICAgICAgcGFyZW50SW5kZW50OiBibS5pbmRlbnQsXG4gICAgICAgICAgICBzdGFydE9uTmV3bGluZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaW1wbGljaXRLZXkgPSAha2V5UHJvcHMuZm91bmQ7XG4gICAgICAgIGlmIChpbXBsaWNpdEtleSkge1xuICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkudHlwZSA9PT0gJ2Jsb2NrLXNlcScpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3Iob2Zmc2V0LCAnQkxPQ0tfQVNfSU1QTElDSVRfS0VZJywgJ0EgYmxvY2sgc2VxdWVuY2UgbWF5IG5vdCBiZSB1c2VkIGFzIGFuIGltcGxpY2l0IG1hcCBrZXknKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICgnaW5kZW50JyBpbiBrZXkgJiYga2V5LmluZGVudCAhPT0gYm0uaW5kZW50KVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JBRF9JTkRFTlQnLCBzdGFydENvbE1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWtleVByb3BzLmFuY2hvciAmJiAha2V5UHJvcHMudGFnICYmICFzZXApIHtcbiAgICAgICAgICAgICAgICBjb21tZW50RW5kID0ga2V5UHJvcHMuZW5kO1xuICAgICAgICAgICAgICAgIGlmIChrZXlQcm9wcy5jb21tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXAuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5jb21tZW50ICs9ICdcXG4nICsga2V5UHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmNvbW1lbnQgPSBrZXlQcm9wcy5jb21tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChrZXlQcm9wcy5uZXdsaW5lQWZ0ZXJQcm9wIHx8IGNvbnRhaW5zTmV3bGluZShrZXkpKSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcihrZXkgPz8gc3RhcnRbc3RhcnQubGVuZ3RoIC0gMV0sICdNVUxUSUxJTkVfSU1QTElDSVRfS0VZJywgJ0ltcGxpY2l0IGtleXMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoa2V5UHJvcHMuZm91bmQ/LmluZGVudCAhPT0gYm0uaW5kZW50KSB7XG4gICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JBRF9JTkRFTlQnLCBzdGFydENvbE1zZyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8ga2V5IHZhbHVlXG4gICAgICAgIGN0eC5hdEtleSA9IHRydWU7XG4gICAgICAgIGNvbnN0IGtleVN0YXJ0ID0ga2V5UHJvcHMuZW5kO1xuICAgICAgICBjb25zdCBrZXlOb2RlID0ga2V5XG4gICAgICAgICAgICA/IGNvbXBvc2VOb2RlKGN0eCwga2V5LCBrZXlQcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgIDogY29tcG9zZUVtcHR5Tm9kZShjdHgsIGtleVN0YXJ0LCBzdGFydCwgbnVsbCwga2V5UHJvcHMsIG9uRXJyb3IpO1xuICAgICAgICBpZiAoY3R4LnNjaGVtYS5jb21wYXQpXG4gICAgICAgICAgICBmbG93SW5kZW50Q2hlY2soYm0uaW5kZW50LCBrZXksIG9uRXJyb3IpO1xuICAgICAgICBjdHguYXRLZXkgPSBmYWxzZTtcbiAgICAgICAgaWYgKG1hcEluY2x1ZGVzKGN0eCwgbWFwLml0ZW1zLCBrZXlOb2RlKSlcbiAgICAgICAgICAgIG9uRXJyb3Ioa2V5U3RhcnQsICdEVVBMSUNBVEVfS0VZJywgJ01hcCBrZXlzIG11c3QgYmUgdW5pcXVlJyk7XG4gICAgICAgIC8vIHZhbHVlIHByb3BlcnRpZXNcbiAgICAgICAgY29uc3QgdmFsdWVQcm9wcyA9IHJlc29sdmVQcm9wcyhzZXAgPz8gW10sIHtcbiAgICAgICAgICAgIGluZGljYXRvcjogJ21hcC12YWx1ZS1pbmQnLFxuICAgICAgICAgICAgbmV4dDogdmFsdWUsXG4gICAgICAgICAgICBvZmZzZXQ6IGtleU5vZGUucmFuZ2VbMl0sXG4gICAgICAgICAgICBvbkVycm9yLFxuICAgICAgICAgICAgcGFyZW50SW5kZW50OiBibS5pbmRlbnQsXG4gICAgICAgICAgICBzdGFydE9uTmV3bGluZTogIWtleSB8fCBrZXkudHlwZSA9PT0gJ2Jsb2NrLXNjYWxhcidcbiAgICAgICAgfSk7XG4gICAgICAgIG9mZnNldCA9IHZhbHVlUHJvcHMuZW5kO1xuICAgICAgICBpZiAodmFsdWVQcm9wcy5mb3VuZCkge1xuICAgICAgICAgICAgaWYgKGltcGxpY2l0S2V5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlPy50eXBlID09PSAnYmxvY2stbWFwJyAmJiAhdmFsdWVQcm9wcy5oYXNOZXdsaW5lKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JMT0NLX0FTX0lNUExJQ0lUX0tFWScsICdOZXN0ZWQgbWFwcGluZ3MgYXJlIG5vdCBhbGxvd2VkIGluIGNvbXBhY3QgbWFwcGluZ3MnKTtcbiAgICAgICAgICAgICAgICBpZiAoY3R4Lm9wdGlvbnMuc3RyaWN0ICYmXG4gICAgICAgICAgICAgICAgICAgIGtleVByb3BzLnN0YXJ0IDwgdmFsdWVQcm9wcy5mb3VuZC5vZmZzZXQgLSAxMDI0KVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGtleU5vZGUucmFuZ2UsICdLRVlfT1ZFUl8xMDI0X0NIQVJTJywgJ1RoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgYmxvY2sgbWFwcGluZyBrZXknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHZhbHVlIHZhbHVlXG4gICAgICAgICAgICBjb25zdCB2YWx1ZU5vZGUgPSB2YWx1ZVxuICAgICAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgdmFsdWVQcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgICAgICA6IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCBvZmZzZXQsIHNlcCwgbnVsbCwgdmFsdWVQcm9wcywgb25FcnJvcik7XG4gICAgICAgICAgICBpZiAoY3R4LnNjaGVtYS5jb21wYXQpXG4gICAgICAgICAgICAgICAgZmxvd0luZGVudENoZWNrKGJtLmluZGVudCwgdmFsdWUsIG9uRXJyb3IpO1xuICAgICAgICAgICAgb2Zmc2V0ID0gdmFsdWVOb2RlLnJhbmdlWzJdO1xuICAgICAgICAgICAgY29uc3QgcGFpciA9IG5ldyBQYWlyKGtleU5vZGUsIHZhbHVlTm9kZSk7XG4gICAgICAgICAgICBpZiAoY3R4Lm9wdGlvbnMua2VlcFNvdXJjZVRva2VucylcbiAgICAgICAgICAgICAgICBwYWlyLnNyY1Rva2VuID0gY29sbEl0ZW07XG4gICAgICAgICAgICBtYXAuaXRlbXMucHVzaChwYWlyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGtleSB3aXRoIG5vIHZhbHVlXG4gICAgICAgICAgICBpZiAoaW1wbGljaXRLZXkpXG4gICAgICAgICAgICAgICAgb25FcnJvcihrZXlOb2RlLnJhbmdlLCAnTUlTU0lOR19DSEFSJywgJ0ltcGxpY2l0IG1hcCBrZXlzIG5lZWQgdG8gYmUgZm9sbG93ZWQgYnkgbWFwIHZhbHVlcycpO1xuICAgICAgICAgICAgaWYgKHZhbHVlUHJvcHMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChrZXlOb2RlLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGtleU5vZGUuY29tbWVudCArPSAnXFxuJyArIHZhbHVlUHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGtleU5vZGUuY29tbWVudCA9IHZhbHVlUHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBhaXIgPSBuZXcgUGFpcihrZXlOb2RlKTtcbiAgICAgICAgICAgIGlmIChjdHgub3B0aW9ucy5rZWVwU291cmNlVG9rZW5zKVxuICAgICAgICAgICAgICAgIHBhaXIuc3JjVG9rZW4gPSBjb2xsSXRlbTtcbiAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHBhaXIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChjb21tZW50RW5kICYmIGNvbW1lbnRFbmQgPCBvZmZzZXQpXG4gICAgICAgIG9uRXJyb3IoY29tbWVudEVuZCwgJ0lNUE9TU0lCTEUnLCAnTWFwIGNvbW1lbnQgd2l0aCB0cmFpbGluZyBjb250ZW50Jyk7XG4gICAgbWFwLnJhbmdlID0gW2JtLm9mZnNldCwgb2Zmc2V0LCBjb21tZW50RW5kID8/IG9mZnNldF07XG4gICAgcmV0dXJuIG1hcDtcbn1cblxuZXhwb3J0IHsgcmVzb2x2ZUJsb2NrTWFwIH07XG4iLCAiaW1wb3J0IHsgWUFNTFNlcSB9IGZyb20gJy4uL25vZGVzL1lBTUxTZXEuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVByb3BzIH0gZnJvbSAnLi9yZXNvbHZlLXByb3BzLmpzJztcbmltcG9ydCB7IGZsb3dJbmRlbnRDaGVjayB9IGZyb20gJy4vdXRpbC1mbG93LWluZGVudC1jaGVjay5qcyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVCbG9ja1NlcSh7IGNvbXBvc2VOb2RlLCBjb21wb3NlRW1wdHlOb2RlIH0sIGN0eCwgYnMsIG9uRXJyb3IsIHRhZykge1xuICAgIGNvbnN0IE5vZGVDbGFzcyA9IHRhZz8ubm9kZUNsYXNzID8/IFlBTUxTZXE7XG4gICAgY29uc3Qgc2VxID0gbmV3IE5vZGVDbGFzcyhjdHguc2NoZW1hKTtcbiAgICBpZiAoY3R4LmF0Um9vdClcbiAgICAgICAgY3R4LmF0Um9vdCA9IGZhbHNlO1xuICAgIGlmIChjdHguYXRLZXkpXG4gICAgICAgIGN0eC5hdEtleSA9IGZhbHNlO1xuICAgIGxldCBvZmZzZXQgPSBicy5vZmZzZXQ7XG4gICAgbGV0IGNvbW1lbnRFbmQgPSBudWxsO1xuICAgIGZvciAoY29uc3QgeyBzdGFydCwgdmFsdWUgfSBvZiBicy5pdGVtcykge1xuICAgICAgICBjb25zdCBwcm9wcyA9IHJlc29sdmVQcm9wcyhzdGFydCwge1xuICAgICAgICAgICAgaW5kaWNhdG9yOiAnc2VxLWl0ZW0taW5kJyxcbiAgICAgICAgICAgIG5leHQ6IHZhbHVlLFxuICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgb25FcnJvcixcbiAgICAgICAgICAgIHBhcmVudEluZGVudDogYnMuaW5kZW50LFxuICAgICAgICAgICAgc3RhcnRPbk5ld2xpbmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcHJvcHMuZm91bmQpIHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5hbmNob3IgfHwgcHJvcHMudGFnIHx8IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLnR5cGUgPT09ICdibG9jay1zZXEnKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHByb3BzLmVuZCwgJ0JBRF9JTkRFTlQnLCAnQWxsIHNlcXVlbmNlIGl0ZW1zIG11c3Qgc3RhcnQgYXQgdGhlIHNhbWUgY29sdW1uJyk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ01JU1NJTkdfQ0hBUicsICdTZXF1ZW5jZSBpdGVtIHdpdGhvdXQgLSBpbmRpY2F0b3InKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbW1lbnRFbmQgPSBwcm9wcy5lbmQ7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIHNlcS5jb21tZW50ID0gcHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub2RlID0gdmFsdWVcbiAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgcHJvcHMsIG9uRXJyb3IpXG4gICAgICAgICAgICA6IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCBwcm9wcy5lbmQsIHN0YXJ0LCBudWxsLCBwcm9wcywgb25FcnJvcik7XG4gICAgICAgIGlmIChjdHguc2NoZW1hLmNvbXBhdClcbiAgICAgICAgICAgIGZsb3dJbmRlbnRDaGVjayhicy5pbmRlbnQsIHZhbHVlLCBvbkVycm9yKTtcbiAgICAgICAgb2Zmc2V0ID0gbm9kZS5yYW5nZVsyXTtcbiAgICAgICAgc2VxLml0ZW1zLnB1c2gobm9kZSk7XG4gICAgfVxuICAgIHNlcS5yYW5nZSA9IFticy5vZmZzZXQsIG9mZnNldCwgY29tbWVudEVuZCA/PyBvZmZzZXRdO1xuICAgIHJldHVybiBzZXE7XG59XG5cbmV4cG9ydCB7IHJlc29sdmVCbG9ja1NlcSB9O1xuIiwgImZ1bmN0aW9uIHJlc29sdmVFbmQoZW5kLCBvZmZzZXQsIHJlcVNwYWNlLCBvbkVycm9yKSB7XG4gICAgbGV0IGNvbW1lbnQgPSAnJztcbiAgICBpZiAoZW5kKSB7XG4gICAgICAgIGxldCBoYXNTcGFjZSA9IGZhbHNlO1xuICAgICAgICBsZXQgc2VwID0gJyc7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgZW5kKSB7XG4gICAgICAgICAgICBjb25zdCB7IHNvdXJjZSwgdHlwZSB9ID0gdG9rZW47XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcVNwYWNlICYmICFoYXNTcGFjZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdNSVNTSU5HX0NIQVInLCAnQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVycycpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYiA9IHNvdXJjZS5zdWJzdHJpbmcoMSkgfHwgJyAnO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gY2I7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgKz0gc2VwICsgY2I7XG4gICAgICAgICAgICAgICAgICAgIHNlcCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgc2VwICs9IHNvdXJjZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzU3BhY2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICR7dHlwZX0gYXQgbm9kZSBlbmRgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGNvbW1lbnQsIG9mZnNldCB9O1xufVxuXG5leHBvcnQgeyByZXNvbHZlRW5kIH07XG4iLCAiaW1wb3J0IHsgaXNQYWlyIH0gZnJvbSAnLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgUGFpciB9IGZyb20gJy4uL25vZGVzL1BhaXIuanMnO1xuaW1wb3J0IHsgWUFNTE1hcCB9IGZyb20gJy4uL25vZGVzL1lBTUxNYXAuanMnO1xuaW1wb3J0IHsgWUFNTFNlcSB9IGZyb20gJy4uL25vZGVzL1lBTUxTZXEuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUVuZCB9IGZyb20gJy4vcmVzb2x2ZS1lbmQuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVByb3BzIH0gZnJvbSAnLi9yZXNvbHZlLXByb3BzLmpzJztcbmltcG9ydCB7IGNvbnRhaW5zTmV3bGluZSB9IGZyb20gJy4vdXRpbC1jb250YWlucy1uZXdsaW5lLmpzJztcbmltcG9ydCB7IG1hcEluY2x1ZGVzIH0gZnJvbSAnLi91dGlsLW1hcC1pbmNsdWRlcy5qcyc7XG5cbmNvbnN0IGJsb2NrTXNnID0gJ0Jsb2NrIGNvbGxlY3Rpb25zIGFyZSBub3QgYWxsb3dlZCB3aXRoaW4gZmxvdyBjb2xsZWN0aW9ucyc7XG5jb25zdCBpc0Jsb2NrID0gKHRva2VuKSA9PiB0b2tlbiAmJiAodG9rZW4udHlwZSA9PT0gJ2Jsb2NrLW1hcCcgfHwgdG9rZW4udHlwZSA9PT0gJ2Jsb2NrLXNlcScpO1xuZnVuY3Rpb24gcmVzb2x2ZUZsb3dDb2xsZWN0aW9uKHsgY29tcG9zZU5vZGUsIGNvbXBvc2VFbXB0eU5vZGUgfSwgY3R4LCBmYywgb25FcnJvciwgdGFnKSB7XG4gICAgY29uc3QgaXNNYXAgPSBmYy5zdGFydC5zb3VyY2UgPT09ICd7JztcbiAgICBjb25zdCBmY05hbWUgPSBpc01hcCA/ICdmbG93IG1hcCcgOiAnZmxvdyBzZXF1ZW5jZSc7XG4gICAgY29uc3QgTm9kZUNsYXNzID0gKHRhZz8ubm9kZUNsYXNzID8/IChpc01hcCA/IFlBTUxNYXAgOiBZQU1MU2VxKSk7XG4gICAgY29uc3QgY29sbCA9IG5ldyBOb2RlQ2xhc3MoY3R4LnNjaGVtYSk7XG4gICAgY29sbC5mbG93ID0gdHJ1ZTtcbiAgICBjb25zdCBhdFJvb3QgPSBjdHguYXRSb290O1xuICAgIGlmIChhdFJvb3QpXG4gICAgICAgIGN0eC5hdFJvb3QgPSBmYWxzZTtcbiAgICBpZiAoY3R4LmF0S2V5KVxuICAgICAgICBjdHguYXRLZXkgPSBmYWxzZTtcbiAgICBsZXQgb2Zmc2V0ID0gZmMub2Zmc2V0ICsgZmMuc3RhcnQuc291cmNlLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZjLml0ZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNvbnN0IGNvbGxJdGVtID0gZmMuaXRlbXNbaV07XG4gICAgICAgIGNvbnN0IHsgc3RhcnQsIGtleSwgc2VwLCB2YWx1ZSB9ID0gY29sbEl0ZW07XG4gICAgICAgIGNvbnN0IHByb3BzID0gcmVzb2x2ZVByb3BzKHN0YXJ0LCB7XG4gICAgICAgICAgICBmbG93OiBmY05hbWUsXG4gICAgICAgICAgICBpbmRpY2F0b3I6ICdleHBsaWNpdC1rZXktaW5kJyxcbiAgICAgICAgICAgIG5leHQ6IGtleSA/PyBzZXA/LlswXSxcbiAgICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICAgIG9uRXJyb3IsXG4gICAgICAgICAgICBwYXJlbnRJbmRlbnQ6IGZjLmluZGVudCxcbiAgICAgICAgICAgIHN0YXJ0T25OZXdsaW5lOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFwcm9wcy5mb3VuZCkge1xuICAgICAgICAgICAgaWYgKCFwcm9wcy5hbmNob3IgJiYgIXByb3BzLnRhZyAmJiAhc2VwICYmICF2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChpID09PSAwICYmIHByb3BzLmNvbW1hKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHByb3BzLmNvbW1hLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICwgaW4gJHtmY05hbWV9YCk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaSA8IGZjLml0ZW1zLmxlbmd0aCAtIDEpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IocHJvcHMuc3RhcnQsICdVTkVYUEVDVEVEX1RPS0VOJywgYFVuZXhwZWN0ZWQgZW1wdHkgaXRlbSBpbiAke2ZjTmFtZX1gKTtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sbC5jb21tZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbC5jb21tZW50ICs9ICdcXG4nICsgcHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbC5jb21tZW50ID0gcHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb2Zmc2V0ID0gcHJvcHMuZW5kO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpc01hcCAmJiBjdHgub3B0aW9ucy5zdHJpY3QgJiYgY29udGFpbnNOZXdsaW5lKGtleSkpXG4gICAgICAgICAgICAgICAgb25FcnJvcihrZXksIC8vIGNoZWNrZWQgYnkgY29udGFpbnNOZXdsaW5lKClcbiAgICAgICAgICAgICAgICAnTVVMVElMSU5FX0lNUExJQ0lUX0tFWScsICdJbXBsaWNpdCBrZXlzIG9mIGZsb3cgc2VxdWVuY2UgcGFpcnMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5jb21tYSlcbiAgICAgICAgICAgICAgICBvbkVycm9yKHByb3BzLmNvbW1hLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICwgaW4gJHtmY05hbWV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoIXByb3BzLmNvbW1hKVxuICAgICAgICAgICAgICAgIG9uRXJyb3IocHJvcHMuc3RhcnQsICdNSVNTSU5HX0NIQVInLCBgTWlzc2luZyAsIGJldHdlZW4gJHtmY05hbWV9IGl0ZW1zYCk7XG4gICAgICAgICAgICBpZiAocHJvcHMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGxldCBwcmV2SXRlbUNvbW1lbnQgPSAnJztcbiAgICAgICAgICAgICAgICBsb29wOiBmb3IgKGNvbnN0IHN0IG9mIHN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3QudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29tbWEnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldkl0ZW1Db21tZW50ID0gc3Quc291cmNlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayBsb29wO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayBsb29wO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwcmV2SXRlbUNvbW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByZXYgPSBjb2xsLml0ZW1zW2NvbGwuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1BhaXIocHJldikpXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2ID0gcHJldi52YWx1ZSA/PyBwcmV2LmtleTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXYuY29tbWVudCArPSAnXFxuJyArIHByZXZJdGVtQ29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgcHJldi5jb21tZW50ID0gcHJldkl0ZW1Db21tZW50O1xuICAgICAgICAgICAgICAgICAgICBwcm9wcy5jb21tZW50ID0gcHJvcHMuY29tbWVudC5zdWJzdHJpbmcocHJldkl0ZW1Db21tZW50Lmxlbmd0aCArIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTWFwICYmICFzZXAgJiYgIXByb3BzLmZvdW5kKSB7XG4gICAgICAgICAgICAvLyBpdGVtIGlzIGEgdmFsdWUgaW4gYSBzZXFcbiAgICAgICAgICAgIC8vIFx1MjE5MiBrZXkgJiBzZXAgYXJlIGVtcHR5LCBzdGFydCBkb2VzIG5vdCBpbmNsdWRlID8gb3IgOlxuICAgICAgICAgICAgY29uc3QgdmFsdWVOb2RlID0gdmFsdWVcbiAgICAgICAgICAgICAgICA/IGNvbXBvc2VOb2RlKGN0eCwgdmFsdWUsIHByb3BzLCBvbkVycm9yKVxuICAgICAgICAgICAgICAgIDogY29tcG9zZUVtcHR5Tm9kZShjdHgsIHByb3BzLmVuZCwgc2VwLCBudWxsLCBwcm9wcywgb25FcnJvcik7XG4gICAgICAgICAgICBjb2xsLml0ZW1zLnB1c2godmFsdWVOb2RlKTtcbiAgICAgICAgICAgIG9mZnNldCA9IHZhbHVlTm9kZS5yYW5nZVsyXTtcbiAgICAgICAgICAgIGlmIChpc0Jsb2NrKHZhbHVlKSlcbiAgICAgICAgICAgICAgICBvbkVycm9yKHZhbHVlTm9kZS5yYW5nZSwgJ0JMT0NLX0lOX0ZMT1cnLCBibG9ja01zZyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBpdGVtIGlzIGEga2V5K3ZhbHVlIHBhaXJcbiAgICAgICAgICAgIC8vIGtleSB2YWx1ZVxuICAgICAgICAgICAgY3R4LmF0S2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGtleVN0YXJ0ID0gcHJvcHMuZW5kO1xuICAgICAgICAgICAgY29uc3Qga2V5Tm9kZSA9IGtleVxuICAgICAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCBrZXksIHByb3BzLCBvbkVycm9yKVxuICAgICAgICAgICAgICAgIDogY29tcG9zZUVtcHR5Tm9kZShjdHgsIGtleVN0YXJ0LCBzdGFydCwgbnVsbCwgcHJvcHMsIG9uRXJyb3IpO1xuICAgICAgICAgICAgaWYgKGlzQmxvY2soa2V5KSlcbiAgICAgICAgICAgICAgICBvbkVycm9yKGtleU5vZGUucmFuZ2UsICdCTE9DS19JTl9GTE9XJywgYmxvY2tNc2cpO1xuICAgICAgICAgICAgY3R4LmF0S2V5ID0gZmFsc2U7XG4gICAgICAgICAgICAvLyB2YWx1ZSBwcm9wZXJ0aWVzXG4gICAgICAgICAgICBjb25zdCB2YWx1ZVByb3BzID0gcmVzb2x2ZVByb3BzKHNlcCA/PyBbXSwge1xuICAgICAgICAgICAgICAgIGZsb3c6IGZjTmFtZSxcbiAgICAgICAgICAgICAgICBpbmRpY2F0b3I6ICdtYXAtdmFsdWUtaW5kJyxcbiAgICAgICAgICAgICAgICBuZXh0OiB2YWx1ZSxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IGtleU5vZGUucmFuZ2VbMl0sXG4gICAgICAgICAgICAgICAgb25FcnJvcixcbiAgICAgICAgICAgICAgICBwYXJlbnRJbmRlbnQ6IGZjLmluZGVudCxcbiAgICAgICAgICAgICAgICBzdGFydE9uTmV3bGluZTogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHZhbHVlUHJvcHMuZm91bmQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzTWFwICYmICFwcm9wcy5mb3VuZCAmJiBjdHgub3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Qgb2Ygc2VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ID09PSB2YWx1ZVByb3BzLmZvdW5kKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3QudHlwZSA9PT0gJ25ld2xpbmUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3Ioc3QsICdNVUxUSUxJTkVfSU1QTElDSVRfS0VZJywgJ0ltcGxpY2l0IGtleXMgb2YgZmxvdyBzZXF1ZW5jZSBwYWlycyBuZWVkIHRvIGJlIG9uIGEgc2luZ2xlIGxpbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvcHMuc3RhcnQgPCB2YWx1ZVByb3BzLmZvdW5kLm9mZnNldCAtIDEwMjQpXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHZhbHVlUHJvcHMuZm91bmQsICdLRVlfT1ZFUl8xMDI0X0NIQVJTJywgJ1RoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgZmxvdyBzZXF1ZW5jZSBrZXknKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICgnc291cmNlJyBpbiB2YWx1ZSAmJiB2YWx1ZS5zb3VyY2UgJiYgdmFsdWUuc291cmNlWzBdID09PSAnOicpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodmFsdWUsICdNSVNTSU5HX0NIQVInLCBgTWlzc2luZyBzcGFjZSBhZnRlciA6IGluICR7ZmNOYW1lfWApO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih2YWx1ZVByb3BzLnN0YXJ0LCAnTUlTU0lOR19DSEFSJywgYE1pc3NpbmcgLCBvciA6IGJldHdlZW4gJHtmY05hbWV9IGl0ZW1zYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB2YWx1ZSB2YWx1ZVxuICAgICAgICAgICAgY29uc3QgdmFsdWVOb2RlID0gdmFsdWVcbiAgICAgICAgICAgICAgICA/IGNvbXBvc2VOb2RlKGN0eCwgdmFsdWUsIHZhbHVlUHJvcHMsIG9uRXJyb3IpXG4gICAgICAgICAgICAgICAgOiB2YWx1ZVByb3BzLmZvdW5kXG4gICAgICAgICAgICAgICAgICAgID8gY29tcG9zZUVtcHR5Tm9kZShjdHgsIHZhbHVlUHJvcHMuZW5kLCBzZXAsIG51bGwsIHZhbHVlUHJvcHMsIG9uRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICAgIGlmICh2YWx1ZU5vZGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNCbG9jayh2YWx1ZSkpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodmFsdWVOb2RlLnJhbmdlLCAnQkxPQ0tfSU5fRkxPVycsIGJsb2NrTXNnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlUHJvcHMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChrZXlOb2RlLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGtleU5vZGUuY29tbWVudCArPSAnXFxuJyArIHZhbHVlUHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGtleU5vZGUuY29tbWVudCA9IHZhbHVlUHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBhaXIgPSBuZXcgUGFpcihrZXlOb2RlLCB2YWx1ZU5vZGUpO1xuICAgICAgICAgICAgaWYgKGN0eC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMpXG4gICAgICAgICAgICAgICAgcGFpci5zcmNUb2tlbiA9IGNvbGxJdGVtO1xuICAgICAgICAgICAgaWYgKGlzTWFwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFwID0gY29sbDtcbiAgICAgICAgICAgICAgICBpZiAobWFwSW5jbHVkZXMoY3R4LCBtYXAuaXRlbXMsIGtleU5vZGUpKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGtleVN0YXJ0LCAnRFVQTElDQVRFX0tFWScsICdNYXAga2V5cyBtdXN0IGJlIHVuaXF1ZScpO1xuICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHBhaXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFwID0gbmV3IFlBTUxNYXAoY3R4LnNjaGVtYSk7XG4gICAgICAgICAgICAgICAgbWFwLmZsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHBhaXIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFJhbmdlID0gKHZhbHVlTm9kZSA/PyBrZXlOb2RlKS5yYW5nZTtcbiAgICAgICAgICAgICAgICBtYXAucmFuZ2UgPSBba2V5Tm9kZS5yYW5nZVswXSwgZW5kUmFuZ2VbMV0sIGVuZFJhbmdlWzJdXTtcbiAgICAgICAgICAgICAgICBjb2xsLml0ZW1zLnB1c2gobWFwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9mZnNldCA9IHZhbHVlTm9kZSA/IHZhbHVlTm9kZS5yYW5nZVsyXSA6IHZhbHVlUHJvcHMuZW5kO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGV4cGVjdGVkRW5kID0gaXNNYXAgPyAnfScgOiAnXSc7XG4gICAgY29uc3QgW2NlLCAuLi5lZV0gPSBmYy5lbmQ7XG4gICAgbGV0IGNlUG9zID0gb2Zmc2V0O1xuICAgIGlmIChjZSAmJiBjZS5zb3VyY2UgPT09IGV4cGVjdGVkRW5kKVxuICAgICAgICBjZVBvcyA9IGNlLm9mZnNldCArIGNlLnNvdXJjZS5sZW5ndGg7XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBmY05hbWVbMF0udG9VcHBlckNhc2UoKSArIGZjTmFtZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIGNvbnN0IG1zZyA9IGF0Um9vdFxuICAgICAgICAgICAgPyBgJHtuYW1lfSBtdXN0IGVuZCB3aXRoIGEgJHtleHBlY3RlZEVuZH1gXG4gICAgICAgICAgICA6IGAke25hbWV9IGluIGJsb2NrIGNvbGxlY3Rpb24gbXVzdCBiZSBzdWZmaWNpZW50bHkgaW5kZW50ZWQgYW5kIGVuZCB3aXRoIGEgJHtleHBlY3RlZEVuZH1gO1xuICAgICAgICBvbkVycm9yKG9mZnNldCwgYXRSb290ID8gJ01JU1NJTkdfQ0hBUicgOiAnQkFEX0lOREVOVCcsIG1zZyk7XG4gICAgICAgIGlmIChjZSAmJiBjZS5zb3VyY2UubGVuZ3RoICE9PSAxKVxuICAgICAgICAgICAgZWUudW5zaGlmdChjZSk7XG4gICAgfVxuICAgIGlmIChlZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGVuZCA9IHJlc29sdmVFbmQoZWUsIGNlUG9zLCBjdHgub3B0aW9ucy5zdHJpY3QsIG9uRXJyb3IpO1xuICAgICAgICBpZiAoZW5kLmNvbW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChjb2xsLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgY29sbC5jb21tZW50ICs9ICdcXG4nICsgZW5kLmNvbW1lbnQ7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY29sbC5jb21tZW50ID0gZW5kLmNvbW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29sbC5yYW5nZSA9IFtmYy5vZmZzZXQsIGNlUG9zLCBlbmQub2Zmc2V0XTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbGwucmFuZ2UgPSBbZmMub2Zmc2V0LCBjZVBvcywgY2VQb3NdO1xuICAgIH1cbiAgICByZXR1cm4gY29sbDtcbn1cblxuZXhwb3J0IHsgcmVzb2x2ZUZsb3dDb2xsZWN0aW9uIH07XG4iLCAiaW1wb3J0IHsgaXNOb2RlIH0gZnJvbSAnLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vbm9kZXMvU2NhbGFyLmpzJztcbmltcG9ydCB7IFlBTUxNYXAgfSBmcm9tICcuLi9ub2Rlcy9ZQU1MTWFwLmpzJztcbmltcG9ydCB7IFlBTUxTZXEgfSBmcm9tICcuLi9ub2Rlcy9ZQU1MU2VxLmpzJztcbmltcG9ydCB7IHJlc29sdmVCbG9ja01hcCB9IGZyb20gJy4vcmVzb2x2ZS1ibG9jay1tYXAuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUJsb2NrU2VxIH0gZnJvbSAnLi9yZXNvbHZlLWJsb2NrLXNlcS5qcyc7XG5pbXBvcnQgeyByZXNvbHZlRmxvd0NvbGxlY3Rpb24gfSBmcm9tICcuL3Jlc29sdmUtZmxvdy1jb2xsZWN0aW9uLmpzJztcblxuZnVuY3Rpb24gcmVzb2x2ZUNvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZ05hbWUsIHRhZykge1xuICAgIGNvbnN0IGNvbGwgPSB0b2tlbi50eXBlID09PSAnYmxvY2stbWFwJ1xuICAgICAgICA/IHJlc29sdmVCbG9ja01hcChDTiwgY3R4LCB0b2tlbiwgb25FcnJvciwgdGFnKVxuICAgICAgICA6IHRva2VuLnR5cGUgPT09ICdibG9jay1zZXEnXG4gICAgICAgICAgICA/IHJlc29sdmVCbG9ja1NlcShDTiwgY3R4LCB0b2tlbiwgb25FcnJvciwgdGFnKVxuICAgICAgICAgICAgOiByZXNvbHZlRmxvd0NvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZyk7XG4gICAgY29uc3QgQ29sbCA9IGNvbGwuY29uc3RydWN0b3I7XG4gICAgLy8gSWYgd2UgZ290IGEgdGFnTmFtZSBtYXRjaGluZyB0aGUgY2xhc3MsIG9yIHRoZSB0YWcgbmFtZSBpcyAnIScsXG4gICAgLy8gdGhlbiB1c2UgdGhlIHRhZ05hbWUgZnJvbSB0aGUgbm9kZSBjbGFzcyB1c2VkIHRvIGNyZWF0ZSBpdC5cbiAgICBpZiAodGFnTmFtZSA9PT0gJyEnIHx8IHRhZ05hbWUgPT09IENvbGwudGFnTmFtZSkge1xuICAgICAgICBjb2xsLnRhZyA9IENvbGwudGFnTmFtZTtcbiAgICAgICAgcmV0dXJuIGNvbGw7XG4gICAgfVxuICAgIGlmICh0YWdOYW1lKVxuICAgICAgICBjb2xsLnRhZyA9IHRhZ05hbWU7XG4gICAgcmV0dXJuIGNvbGw7XG59XG5mdW5jdGlvbiBjb21wb3NlQ29sbGVjdGlvbihDTiwgY3R4LCB0b2tlbiwgcHJvcHMsIG9uRXJyb3IpIHtcbiAgICBjb25zdCB0YWdUb2tlbiA9IHByb3BzLnRhZztcbiAgICBjb25zdCB0YWdOYW1lID0gIXRhZ1Rva2VuXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IGN0eC5kaXJlY3RpdmVzLnRhZ05hbWUodGFnVG9rZW4uc291cmNlLCBtc2cgPT4gb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZykpO1xuICAgIGlmICh0b2tlbi50eXBlID09PSAnYmxvY2stc2VxJykge1xuICAgICAgICBjb25zdCB7IGFuY2hvciwgbmV3bGluZUFmdGVyUHJvcDogbmwgfSA9IHByb3BzO1xuICAgICAgICBjb25zdCBsYXN0UHJvcCA9IGFuY2hvciAmJiB0YWdUb2tlblxuICAgICAgICAgICAgPyBhbmNob3Iub2Zmc2V0ID4gdGFnVG9rZW4ub2Zmc2V0XG4gICAgICAgICAgICAgICAgPyBhbmNob3JcbiAgICAgICAgICAgICAgICA6IHRhZ1Rva2VuXG4gICAgICAgICAgICA6IChhbmNob3IgPz8gdGFnVG9rZW4pO1xuICAgICAgICBpZiAobGFzdFByb3AgJiYgKCFubCB8fCBubC5vZmZzZXQgPCBsYXN0UHJvcC5vZmZzZXQpKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ01pc3NpbmcgbmV3bGluZSBhZnRlciBibG9jayBzZXF1ZW5jZSBwcm9wcyc7XG4gICAgICAgICAgICBvbkVycm9yKGxhc3RQcm9wLCAnTUlTU0lOR19DSEFSJywgbWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZXhwVHlwZSA9IHRva2VuLnR5cGUgPT09ICdibG9jay1tYXAnXG4gICAgICAgID8gJ21hcCdcbiAgICAgICAgOiB0b2tlbi50eXBlID09PSAnYmxvY2stc2VxJ1xuICAgICAgICAgICAgPyAnc2VxJ1xuICAgICAgICAgICAgOiB0b2tlbi5zdGFydC5zb3VyY2UgPT09ICd7J1xuICAgICAgICAgICAgICAgID8gJ21hcCdcbiAgICAgICAgICAgICAgICA6ICdzZXEnO1xuICAgIC8vIHNob3J0Y3V0OiBjaGVjayBpZiBpdCdzIGEgZ2VuZXJpYyBZQU1MTWFwIG9yIFlBTUxTZXFcbiAgICAvLyBiZWZvcmUganVtcGluZyBpbnRvIHRoZSBjdXN0b20gdGFnIGxvZ2ljLlxuICAgIGlmICghdGFnVG9rZW4gfHxcbiAgICAgICAgIXRhZ05hbWUgfHxcbiAgICAgICAgdGFnTmFtZSA9PT0gJyEnIHx8XG4gICAgICAgICh0YWdOYW1lID09PSBZQU1MTWFwLnRhZ05hbWUgJiYgZXhwVHlwZSA9PT0gJ21hcCcpIHx8XG4gICAgICAgICh0YWdOYW1lID09PSBZQU1MU2VxLnRhZ05hbWUgJiYgZXhwVHlwZSA9PT0gJ3NlcScpKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlQ29sbGVjdGlvbihDTiwgY3R4LCB0b2tlbiwgb25FcnJvciwgdGFnTmFtZSk7XG4gICAgfVxuICAgIGxldCB0YWcgPSBjdHguc2NoZW1hLnRhZ3MuZmluZCh0ID0+IHQudGFnID09PSB0YWdOYW1lICYmIHQuY29sbGVjdGlvbiA9PT0gZXhwVHlwZSk7XG4gICAgaWYgKCF0YWcpIHtcbiAgICAgICAgY29uc3Qga3QgPSBjdHguc2NoZW1hLmtub3duVGFnc1t0YWdOYW1lXTtcbiAgICAgICAgaWYgKGt0ICYmIGt0LmNvbGxlY3Rpb24gPT09IGV4cFR5cGUpIHtcbiAgICAgICAgICAgIGN0eC5zY2hlbWEudGFncy5wdXNoKE9iamVjdC5hc3NpZ24oe30sIGt0LCB7IGRlZmF1bHQ6IGZhbHNlIH0pKTtcbiAgICAgICAgICAgIHRhZyA9IGt0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGt0Py5jb2xsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcih0YWdUb2tlbiwgJ0JBRF9DT0xMRUNUSU9OX1RZUEUnLCBgJHtrdC50YWd9IHVzZWQgZm9yICR7ZXhwVHlwZX0gY29sbGVjdGlvbiwgYnV0IGV4cGVjdHMgJHtrdC5jb2xsZWN0aW9ufWAsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIGBVbnJlc29sdmVkIHRhZzogJHt0YWdOYW1lfWAsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVDb2xsZWN0aW9uKENOLCBjdHgsIHRva2VuLCBvbkVycm9yLCB0YWdOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjb2xsID0gcmVzb2x2ZUNvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZ05hbWUsIHRhZyk7XG4gICAgY29uc3QgcmVzID0gdGFnLnJlc29sdmU/Lihjb2xsLCBtc2cgPT4gb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZyksIGN0eC5vcHRpb25zKSA/PyBjb2xsO1xuICAgIGNvbnN0IG5vZGUgPSBpc05vZGUocmVzKVxuICAgICAgICA/IHJlc1xuICAgICAgICA6IG5ldyBTY2FsYXIocmVzKTtcbiAgICBub2RlLnJhbmdlID0gY29sbC5yYW5nZTtcbiAgICBub2RlLnRhZyA9IHRhZ05hbWU7XG4gICAgaWYgKHRhZz8uZm9ybWF0KVxuICAgICAgICBub2RlLmZvcm1hdCA9IHRhZy5mb3JtYXQ7XG4gICAgcmV0dXJuIG5vZGU7XG59XG5cbmV4cG9ydCB7IGNvbXBvc2VDb2xsZWN0aW9uIH07XG4iLCAiaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vbm9kZXMvU2NhbGFyLmpzJztcblxuZnVuY3Rpb24gcmVzb2x2ZUJsb2NrU2NhbGFyKGN0eCwgc2NhbGFyLCBvbkVycm9yKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBzY2FsYXIub2Zmc2V0O1xuICAgIGNvbnN0IGhlYWRlciA9IHBhcnNlQmxvY2tTY2FsYXJIZWFkZXIoc2NhbGFyLCBjdHgub3B0aW9ucy5zdHJpY3QsIG9uRXJyb3IpO1xuICAgIGlmICghaGVhZGVyKVxuICAgICAgICByZXR1cm4geyB2YWx1ZTogJycsIHR5cGU6IG51bGwsIGNvbW1lbnQ6ICcnLCByYW5nZTogW3N0YXJ0LCBzdGFydCwgc3RhcnRdIH07XG4gICAgY29uc3QgdHlwZSA9IGhlYWRlci5tb2RlID09PSAnPicgPyBTY2FsYXIuQkxPQ0tfRk9MREVEIDogU2NhbGFyLkJMT0NLX0xJVEVSQUw7XG4gICAgY29uc3QgbGluZXMgPSBzY2FsYXIuc291cmNlID8gc3BsaXRMaW5lcyhzY2FsYXIuc291cmNlKSA6IFtdO1xuICAgIC8vIGRldGVybWluZSB0aGUgZW5kIG9mIGNvbnRlbnQgJiBzdGFydCBvZiBjaG9tcGluZ1xuICAgIGxldCBjaG9tcFN0YXJ0ID0gbGluZXMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSBsaW5lcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gbGluZXNbaV1bMV07XG4gICAgICAgIGlmIChjb250ZW50ID09PSAnJyB8fCBjb250ZW50ID09PSAnXFxyJylcbiAgICAgICAgICAgIGNob21wU3RhcnQgPSBpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgLy8gc2hvcnRjdXQgZm9yIGVtcHR5IGNvbnRlbnRzXG4gICAgaWYgKGNob21wU3RhcnQgPT09IDApIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBoZWFkZXIuY2hvbXAgPT09ICcrJyAmJiBsaW5lcy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/ICdcXG4nLnJlcGVhdChNYXRoLm1heCgxLCBsaW5lcy5sZW5ndGggLSAxKSlcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgIGxldCBlbmQgPSBzdGFydCArIGhlYWRlci5sZW5ndGg7XG4gICAgICAgIGlmIChzY2FsYXIuc291cmNlKVxuICAgICAgICAgICAgZW5kICs9IHNjYWxhci5zb3VyY2UubGVuZ3RoO1xuICAgICAgICByZXR1cm4geyB2YWx1ZSwgdHlwZSwgY29tbWVudDogaGVhZGVyLmNvbW1lbnQsIHJhbmdlOiBbc3RhcnQsIGVuZCwgZW5kXSB9O1xuICAgIH1cbiAgICAvLyBmaW5kIHRoZSBpbmRlbnRhdGlvbiBsZXZlbCB0byB0cmltIGZyb20gc3RhcnRcbiAgICBsZXQgdHJpbUluZGVudCA9IHNjYWxhci5pbmRlbnQgKyBoZWFkZXIuaW5kZW50O1xuICAgIGxldCBvZmZzZXQgPSBzY2FsYXIub2Zmc2V0ICsgaGVhZGVyLmxlbmd0aDtcbiAgICBsZXQgY29udGVudFN0YXJ0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNob21wU3RhcnQ7ICsraSkge1xuICAgICAgICBjb25zdCBbaW5kZW50LCBjb250ZW50XSA9IGxpbmVzW2ldO1xuICAgICAgICBpZiAoY29udGVudCA9PT0gJycgfHwgY29udGVudCA9PT0gJ1xccicpIHtcbiAgICAgICAgICAgIGlmIChoZWFkZXIuaW5kZW50ID09PSAwICYmIGluZGVudC5sZW5ndGggPiB0cmltSW5kZW50KVxuICAgICAgICAgICAgICAgIHRyaW1JbmRlbnQgPSBpbmRlbnQubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGluZGVudC5sZW5ndGggPCB0cmltSW5kZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdCbG9jayBzY2FsYXJzIHdpdGggbW9yZS1pbmRlbnRlZCBsZWFkaW5nIGVtcHR5IGxpbmVzIG11c3QgdXNlIGFuIGV4cGxpY2l0IGluZGVudGF0aW9uIGluZGljYXRvcic7XG4gICAgICAgICAgICAgICAgb25FcnJvcihvZmZzZXQgKyBpbmRlbnQubGVuZ3RoLCAnTUlTU0lOR19DSEFSJywgbWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaGVhZGVyLmluZGVudCA9PT0gMClcbiAgICAgICAgICAgICAgICB0cmltSW5kZW50ID0gaW5kZW50Lmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnRlbnRTdGFydCA9IGk7XG4gICAgICAgICAgICBpZiAodHJpbUluZGVudCA9PT0gMCAmJiAhY3R4LmF0Um9vdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnQmxvY2sgc2NhbGFyIHZhbHVlcyBpbiBjb2xsZWN0aW9ucyBtdXN0IGJlIGluZGVudGVkJztcbiAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JBRF9JTkRFTlQnLCBtZXNzYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIG9mZnNldCArPSBpbmRlbnQubGVuZ3RoICsgY29udGVudC5sZW5ndGggKyAxO1xuICAgIH1cbiAgICAvLyBpbmNsdWRlIHRyYWlsaW5nIG1vcmUtaW5kZW50ZWQgZW1wdHkgbGluZXMgaW4gY29udGVudFxuICAgIGZvciAobGV0IGkgPSBsaW5lcy5sZW5ndGggLSAxOyBpID49IGNob21wU3RhcnQ7IC0taSkge1xuICAgICAgICBpZiAobGluZXNbaV1bMF0ubGVuZ3RoID4gdHJpbUluZGVudClcbiAgICAgICAgICAgIGNob21wU3RhcnQgPSBpICsgMTtcbiAgICB9XG4gICAgbGV0IHZhbHVlID0gJyc7XG4gICAgbGV0IHNlcCA9ICcnO1xuICAgIGxldCBwcmV2TW9yZUluZGVudGVkID0gZmFsc2U7XG4gICAgLy8gbGVhZGluZyB3aGl0ZXNwYWNlIGlzIGtlcHQgaW50YWN0XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250ZW50U3RhcnQ7ICsraSlcbiAgICAgICAgdmFsdWUgKz0gbGluZXNbaV1bMF0uc2xpY2UodHJpbUluZGVudCkgKyAnXFxuJztcbiAgICBmb3IgKGxldCBpID0gY29udGVudFN0YXJ0OyBpIDwgY2hvbXBTdGFydDsgKytpKSB7XG4gICAgICAgIGxldCBbaW5kZW50LCBjb250ZW50XSA9IGxpbmVzW2ldO1xuICAgICAgICBvZmZzZXQgKz0gaW5kZW50Lmxlbmd0aCArIGNvbnRlbnQubGVuZ3RoICsgMTtcbiAgICAgICAgY29uc3QgY3JsZiA9IGNvbnRlbnRbY29udGVudC5sZW5ndGggLSAxXSA9PT0gJ1xccic7XG4gICAgICAgIGlmIChjcmxmKVxuICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuc2xpY2UoMCwgLTEpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgYWxyZWFkeSBjYXVnaHQgaW4gbGV4ZXIgKi9cbiAgICAgICAgaWYgKGNvbnRlbnQgJiYgaW5kZW50Lmxlbmd0aCA8IHRyaW1JbmRlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNyYyA9IGhlYWRlci5pbmRlbnRcbiAgICAgICAgICAgICAgICA/ICdleHBsaWNpdCBpbmRlbnRhdGlvbiBpbmRpY2F0b3InXG4gICAgICAgICAgICAgICAgOiAnZmlyc3QgbGluZSc7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYEJsb2NrIHNjYWxhciBsaW5lcyBtdXN0IG5vdCBiZSBsZXNzIGluZGVudGVkIHRoYW4gdGhlaXIgJHtzcmN9YDtcbiAgICAgICAgICAgIG9uRXJyb3Iob2Zmc2V0IC0gY29udGVudC5sZW5ndGggLSAoY3JsZiA/IDIgOiAxKSwgJ0JBRF9JTkRFTlQnLCBtZXNzYWdlKTtcbiAgICAgICAgICAgIGluZGVudCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlID09PSBTY2FsYXIuQkxPQ0tfTElURVJBTCkge1xuICAgICAgICAgICAgdmFsdWUgKz0gc2VwICsgaW5kZW50LnNsaWNlKHRyaW1JbmRlbnQpICsgY29udGVudDtcbiAgICAgICAgICAgIHNlcCA9ICdcXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGluZGVudC5sZW5ndGggPiB0cmltSW5kZW50IHx8IGNvbnRlbnRbMF0gPT09ICdcXHQnKSB7XG4gICAgICAgICAgICAvLyBtb3JlLWluZGVudGVkIGNvbnRlbnQgd2l0aGluIGEgZm9sZGVkIGJsb2NrXG4gICAgICAgICAgICBpZiAoc2VwID09PSAnICcpXG4gICAgICAgICAgICAgICAgc2VwID0gJ1xcbic7XG4gICAgICAgICAgICBlbHNlIGlmICghcHJldk1vcmVJbmRlbnRlZCAmJiBzZXAgPT09ICdcXG4nKVxuICAgICAgICAgICAgICAgIHNlcCA9ICdcXG5cXG4nO1xuICAgICAgICAgICAgdmFsdWUgKz0gc2VwICsgaW5kZW50LnNsaWNlKHRyaW1JbmRlbnQpICsgY29udGVudDtcbiAgICAgICAgICAgIHNlcCA9ICdcXG4nO1xuICAgICAgICAgICAgcHJldk1vcmVJbmRlbnRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY29udGVudCA9PT0gJycpIHtcbiAgICAgICAgICAgIC8vIGVtcHR5IGxpbmVcbiAgICAgICAgICAgIGlmIChzZXAgPT09ICdcXG4nKVxuICAgICAgICAgICAgICAgIHZhbHVlICs9ICdcXG4nO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHNlcCA9ICdcXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFsdWUgKz0gc2VwICsgY29udGVudDtcbiAgICAgICAgICAgIHNlcCA9ICcgJztcbiAgICAgICAgICAgIHByZXZNb3JlSW5kZW50ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKGhlYWRlci5jaG9tcCkge1xuICAgICAgICBjYXNlICctJzpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICcrJzpcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBjaG9tcFN0YXJ0OyBpIDwgbGluZXMubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAgdmFsdWUgKz0gJ1xcbicgKyBsaW5lc1tpXVswXS5zbGljZSh0cmltSW5kZW50KTtcbiAgICAgICAgICAgIGlmICh2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXSAhPT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgdmFsdWUgKz0gJ1xcbic7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHZhbHVlICs9ICdcXG4nO1xuICAgIH1cbiAgICBjb25zdCBlbmQgPSBzdGFydCArIGhlYWRlci5sZW5ndGggKyBzY2FsYXIuc291cmNlLmxlbmd0aDtcbiAgICByZXR1cm4geyB2YWx1ZSwgdHlwZSwgY29tbWVudDogaGVhZGVyLmNvbW1lbnQsIHJhbmdlOiBbc3RhcnQsIGVuZCwgZW5kXSB9O1xufVxuZnVuY3Rpb24gcGFyc2VCbG9ja1NjYWxhckhlYWRlcih7IG9mZnNldCwgcHJvcHMgfSwgc3RyaWN0LCBvbkVycm9yKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmIHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgaWYgKHByb3BzWzBdLnR5cGUgIT09ICdibG9jay1zY2FsYXItaGVhZGVyJykge1xuICAgICAgICBvbkVycm9yKHByb3BzWzBdLCAnSU1QT1NTSUJMRScsICdCbG9jayBzY2FsYXIgaGVhZGVyIG5vdCBmb3VuZCcpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgeyBzb3VyY2UgfSA9IHByb3BzWzBdO1xuICAgIGNvbnN0IG1vZGUgPSBzb3VyY2VbMF07XG4gICAgbGV0IGluZGVudCA9IDA7XG4gICAgbGV0IGNob21wID0gJyc7XG4gICAgbGV0IGVycm9yID0gLTE7XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2UubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY29uc3QgY2ggPSBzb3VyY2VbaV07XG4gICAgICAgIGlmICghY2hvbXAgJiYgKGNoID09PSAnLScgfHwgY2ggPT09ICcrJykpXG4gICAgICAgICAgICBjaG9tcCA9IGNoO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG4gPSBOdW1iZXIoY2gpO1xuICAgICAgICAgICAgaWYgKCFpbmRlbnQgJiYgbilcbiAgICAgICAgICAgICAgICBpbmRlbnQgPSBuO1xuICAgICAgICAgICAgZWxzZSBpZiAoZXJyb3IgPT09IC0xKVxuICAgICAgICAgICAgICAgIGVycm9yID0gb2Zmc2V0ICsgaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZXJyb3IgIT09IC0xKVxuICAgICAgICBvbkVycm9yKGVycm9yLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBCbG9jayBzY2FsYXIgaGVhZGVyIGluY2x1ZGVzIGV4dHJhIGNoYXJhY3RlcnM6ICR7c291cmNlfWApO1xuICAgIGxldCBoYXNTcGFjZSA9IGZhbHNlO1xuICAgIGxldCBjb21tZW50ID0gJyc7XG4gICAgbGV0IGxlbmd0aCA9IHNvdXJjZS5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBwcm9wcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHByb3BzW2ldO1xuICAgICAgICBzd2l0Y2ggKHRva2VuLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICBoYXNTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgbGVuZ3RoICs9IHRva2VuLnNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgICAgICBpZiAoc3RyaWN0ICYmICFoYXNTcGFjZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ0NvbW1lbnRzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gb3RoZXIgdG9rZW5zIGJ5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMnO1xuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnTUlTU0lOR19DSEFSJywgbWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxlbmd0aCArPSB0b2tlbi5zb3VyY2UubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbW1lbnQgPSB0b2tlbi5zb3VyY2Uuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdVTkVYUEVDVEVEX1RPS0VOJywgdG9rZW4ubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgbGVuZ3RoICs9IHRva2VuLnNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVW5leHBlY3RlZCB0b2tlbiBpbiBibG9jayBzY2FsYXIgaGVhZGVyOiAke3Rva2VuLnR5cGV9YDtcbiAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRzID0gdG9rZW4uc291cmNlO1xuICAgICAgICAgICAgICAgIGlmICh0cyAmJiB0eXBlb2YgdHMgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggKz0gdHMubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IG1vZGUsIGluZGVudCwgY2hvbXAsIGNvbW1lbnQsIGxlbmd0aCB9O1xufVxuLyoqIEByZXR1cm5zIEFycmF5IG9mIGxpbmVzIHNwbGl0IHVwIGFzIGBbaW5kZW50LCBjb250ZW50XWAgKi9cbmZ1bmN0aW9uIHNwbGl0TGluZXMoc291cmNlKSB7XG4gICAgY29uc3Qgc3BsaXQgPSBzb3VyY2Uuc3BsaXQoL1xcbiggKikvKTtcbiAgICBjb25zdCBmaXJzdCA9IHNwbGl0WzBdO1xuICAgIGNvbnN0IG0gPSBmaXJzdC5tYXRjaCgvXiggKikvKTtcbiAgICBjb25zdCBsaW5lMCA9IG0/LlsxXVxuICAgICAgICA/IFttWzFdLCBmaXJzdC5zbGljZShtWzFdLmxlbmd0aCldXG4gICAgICAgIDogWycnLCBmaXJzdF07XG4gICAgY29uc3QgbGluZXMgPSBbbGluZTBdO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgc3BsaXQubGVuZ3RoOyBpICs9IDIpXG4gICAgICAgIGxpbmVzLnB1c2goW3NwbGl0W2ldLCBzcGxpdFtpICsgMV1dKTtcbiAgICByZXR1cm4gbGluZXM7XG59XG5cbmV4cG9ydCB7IHJlc29sdmVCbG9ja1NjYWxhciB9O1xuIiwgImltcG9ydCB7IFNjYWxhciB9IGZyb20gJy4uL25vZGVzL1NjYWxhci5qcyc7XG5pbXBvcnQgeyByZXNvbHZlRW5kIH0gZnJvbSAnLi9yZXNvbHZlLWVuZC5qcyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVGbG93U2NhbGFyKHNjYWxhciwgc3RyaWN0LCBvbkVycm9yKSB7XG4gICAgY29uc3QgeyBvZmZzZXQsIHR5cGUsIHNvdXJjZSwgZW5kIH0gPSBzY2FsYXI7XG4gICAgbGV0IF90eXBlO1xuICAgIGxldCB2YWx1ZTtcbiAgICBjb25zdCBfb25FcnJvciA9IChyZWwsIGNvZGUsIG1zZykgPT4gb25FcnJvcihvZmZzZXQgKyByZWwsIGNvZGUsIG1zZyk7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgICAgICBfdHlwZSA9IFNjYWxhci5QTEFJTjtcbiAgICAgICAgICAgIHZhbHVlID0gcGxhaW5WYWx1ZShzb3VyY2UsIF9vbkVycm9yKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICBfdHlwZSA9IFNjYWxhci5RVU9URV9TSU5HTEU7XG4gICAgICAgICAgICB2YWx1ZSA9IHNpbmdsZVF1b3RlZFZhbHVlKHNvdXJjZSwgX29uRXJyb3IpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIF90eXBlID0gU2NhbGFyLlFVT1RFX0RPVUJMRTtcbiAgICAgICAgICAgIHZhbHVlID0gZG91YmxlUXVvdGVkVmFsdWUoc291cmNlLCBfb25FcnJvcik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIG9uRXJyb3Ioc2NhbGFyLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBFeHBlY3RlZCBhIGZsb3cgc2NhbGFyIHZhbHVlLCBidXQgZm91bmQ6ICR7dHlwZX1gKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIHR5cGU6IG51bGwsXG4gICAgICAgICAgICAgICAgY29tbWVudDogJycsXG4gICAgICAgICAgICAgICAgcmFuZ2U6IFtvZmZzZXQsIG9mZnNldCArIHNvdXJjZS5sZW5ndGgsIG9mZnNldCArIHNvdXJjZS5sZW5ndGhdXG4gICAgICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZUVuZCA9IG9mZnNldCArIHNvdXJjZS5sZW5ndGg7XG4gICAgY29uc3QgcmUgPSByZXNvbHZlRW5kKGVuZCwgdmFsdWVFbmQsIHN0cmljdCwgb25FcnJvcik7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHR5cGU6IF90eXBlLFxuICAgICAgICBjb21tZW50OiByZS5jb21tZW50LFxuICAgICAgICByYW5nZTogW29mZnNldCwgdmFsdWVFbmQsIHJlLm9mZnNldF1cbiAgICB9O1xufVxuZnVuY3Rpb24gcGxhaW5WYWx1ZShzb3VyY2UsIG9uRXJyb3IpIHtcbiAgICBsZXQgYmFkQ2hhciA9ICcnO1xuICAgIHN3aXRjaCAoc291cmNlWzBdKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0IHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgICAgIGNhc2UgJ1xcdCc6XG4gICAgICAgICAgICBiYWRDaGFyID0gJ2EgdGFiIGNoYXJhY3Rlcic7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnLCc6XG4gICAgICAgICAgICBiYWRDaGFyID0gJ2Zsb3cgaW5kaWNhdG9yIGNoYXJhY3RlciAsJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICclJzpcbiAgICAgICAgICAgIGJhZENoYXIgPSAnZGlyZWN0aXZlIGluZGljYXRvciBjaGFyYWN0ZXIgJSc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgIGNhc2UgJz4nOiB7XG4gICAgICAgICAgICBiYWRDaGFyID0gYGJsb2NrIHNjYWxhciBpbmRpY2F0b3IgJHtzb3VyY2VbMF19YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ0AnOlxuICAgICAgICBjYXNlICdgJzoge1xuICAgICAgICAgICAgYmFkQ2hhciA9IGByZXNlcnZlZCBjaGFyYWN0ZXIgJHtzb3VyY2VbMF19YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChiYWRDaGFyKVxuICAgICAgICBvbkVycm9yKDAsICdCQURfU0NBTEFSX1NUQVJUJywgYFBsYWluIHZhbHVlIGNhbm5vdCBzdGFydCB3aXRoICR7YmFkQ2hhcn1gKTtcbiAgICByZXR1cm4gZm9sZExpbmVzKHNvdXJjZSk7XG59XG5mdW5jdGlvbiBzaW5nbGVRdW90ZWRWYWx1ZShzb3VyY2UsIG9uRXJyb3IpIHtcbiAgICBpZiAoc291cmNlW3NvdXJjZS5sZW5ndGggLSAxXSAhPT0gXCInXCIgfHwgc291cmNlLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgb25FcnJvcihzb3VyY2UubGVuZ3RoLCAnTUlTU0lOR19DSEFSJywgXCJNaXNzaW5nIGNsb3NpbmcgJ3F1b3RlXCIpO1xuICAgIHJldHVybiBmb2xkTGluZXMoc291cmNlLnNsaWNlKDEsIC0xKSkucmVwbGFjZSgvJycvZywgXCInXCIpO1xufVxuZnVuY3Rpb24gZm9sZExpbmVzKHNvdXJjZSkge1xuICAgIC8qKlxuICAgICAqIFRoZSBuZWdhdGl2ZSBsb29rYmVoaW5kIGhlcmUgYW5kIGluIHRoZSBgcmVgIFJlZ0V4cCBpcyB0b1xuICAgICAqIHByZXZlbnQgY2F1c2luZyBhIHBvbHlub21pYWwgc2VhcmNoIHRpbWUgaW4gY2VydGFpbiBjYXNlcy5cbiAgICAgKlxuICAgICAqIFRoZSB0cnktY2F0Y2ggaXMgZm9yIFNhZmFyaSwgd2hpY2ggZG9lc24ndCBzdXBwb3J0IHRoaXMgeWV0OlxuICAgICAqIGh0dHBzOi8vY2FuaXVzZS5jb20vanMtcmVnZXhwLWxvb2tiZWhpbmRcbiAgICAgKi9cbiAgICBsZXQgZmlyc3QsIGxpbmU7XG4gICAgdHJ5IHtcbiAgICAgICAgZmlyc3QgPSBuZXcgUmVnRXhwKCcoLio/KSg/PCFbIFxcdF0pWyBcXHRdKlxccj9cXG4nLCAnc3knKTtcbiAgICAgICAgbGluZSA9IG5ldyBSZWdFeHAoJ1sgXFx0XSooLio/KSg/Oig/PCFbIFxcdF0pWyBcXHRdKik/XFxyP1xcbicsICdzeScpO1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIGZpcnN0ID0gLyguKj8pWyBcXHRdKlxccj9cXG4vc3k7XG4gICAgICAgIGxpbmUgPSAvWyBcXHRdKiguKj8pWyBcXHRdKlxccj9cXG4vc3k7XG4gICAgfVxuICAgIGxldCBtYXRjaCA9IGZpcnN0LmV4ZWMoc291cmNlKTtcbiAgICBpZiAoIW1hdGNoKVxuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgIGxldCByZXMgPSBtYXRjaFsxXTtcbiAgICBsZXQgc2VwID0gJyAnO1xuICAgIGxldCBwb3MgPSBmaXJzdC5sYXN0SW5kZXg7XG4gICAgbGluZS5sYXN0SW5kZXggPSBwb3M7XG4gICAgd2hpbGUgKChtYXRjaCA9IGxpbmUuZXhlYyhzb3VyY2UpKSkge1xuICAgICAgICBpZiAobWF0Y2hbMV0gPT09ICcnKSB7XG4gICAgICAgICAgICBpZiAoc2VwID09PSAnXFxuJylcbiAgICAgICAgICAgICAgICByZXMgKz0gc2VwO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHNlcCA9ICdcXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmVzICs9IHNlcCArIG1hdGNoWzFdO1xuICAgICAgICAgICAgc2VwID0gJyAnO1xuICAgICAgICB9XG4gICAgICAgIHBvcyA9IGxpbmUubGFzdEluZGV4O1xuICAgIH1cbiAgICBjb25zdCBsYXN0ID0gL1sgXFx0XSooLiopL3N5O1xuICAgIGxhc3QubGFzdEluZGV4ID0gcG9zO1xuICAgIG1hdGNoID0gbGFzdC5leGVjKHNvdXJjZSk7XG4gICAgcmV0dXJuIHJlcyArIHNlcCArIChtYXRjaD8uWzFdID8/ICcnKTtcbn1cbmZ1bmN0aW9uIGRvdWJsZVF1b3RlZFZhbHVlKHNvdXJjZSwgb25FcnJvcikge1xuICAgIGxldCByZXMgPSAnJztcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHNvdXJjZS5sZW5ndGggLSAxOyArK2kpIHtcbiAgICAgICAgY29uc3QgY2ggPSBzb3VyY2VbaV07XG4gICAgICAgIGlmIChjaCA9PT0gJ1xccicgJiYgc291cmNlW2kgKyAxXSA9PT0gJ1xcbicpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKGNoID09PSAnXFxuJykge1xuICAgICAgICAgICAgY29uc3QgeyBmb2xkLCBvZmZzZXQgfSA9IGZvbGROZXdsaW5lKHNvdXJjZSwgaSk7XG4gICAgICAgICAgICByZXMgKz0gZm9sZDtcbiAgICAgICAgICAgIGkgPSBvZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY2ggPT09ICdcXFxcJykge1xuICAgICAgICAgICAgbGV0IG5leHQgPSBzb3VyY2VbKytpXTtcbiAgICAgICAgICAgIGNvbnN0IGNjID0gZXNjYXBlQ29kZXNbbmV4dF07XG4gICAgICAgICAgICBpZiAoY2MpXG4gICAgICAgICAgICAgICAgcmVzICs9IGNjO1xuICAgICAgICAgICAgZWxzZSBpZiAobmV4dCA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICAvLyBza2lwIGVzY2FwZWQgbmV3bGluZXMsIGJ1dCBzdGlsbCB0cmltIHRoZSBmb2xsb3dpbmcgbGluZVxuICAgICAgICAgICAgICAgIG5leHQgPSBzb3VyY2VbaSArIDFdO1xuICAgICAgICAgICAgICAgIHdoaWxlIChuZXh0ID09PSAnICcgfHwgbmV4dCA9PT0gJ1xcdCcpXG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSBzb3VyY2VbKytpICsgMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChuZXh0ID09PSAnXFxyJyAmJiBzb3VyY2VbaSArIDFdID09PSAnXFxuJykge1xuICAgICAgICAgICAgICAgIC8vIHNraXAgZXNjYXBlZCBDUkxGIG5ld2xpbmVzLCBidXQgc3RpbGwgdHJpbSB0aGUgZm9sbG93aW5nIGxpbmVcbiAgICAgICAgICAgICAgICBuZXh0ID0gc291cmNlWysraSArIDFdO1xuICAgICAgICAgICAgICAgIHdoaWxlIChuZXh0ID09PSAnICcgfHwgbmV4dCA9PT0gJ1xcdCcpXG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSBzb3VyY2VbKytpICsgMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChuZXh0ID09PSAneCcgfHwgbmV4dCA9PT0gJ3UnIHx8IG5leHQgPT09ICdVJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHsgeDogMiwgdTogNCwgVTogOCB9W25leHRdO1xuICAgICAgICAgICAgICAgIHJlcyArPSBwYXJzZUNoYXJDb2RlKHNvdXJjZSwgaSArIDEsIGxlbmd0aCwgb25FcnJvcik7XG4gICAgICAgICAgICAgICAgaSArPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCByYXcgPSBzb3VyY2Uuc3Vic3RyKGkgLSAxLCAyKTtcbiAgICAgICAgICAgICAgICBvbkVycm9yKGkgLSAxLCAnQkFEX0RRX0VTQ0FQRScsIGBJbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSAke3Jhd31gKTtcbiAgICAgICAgICAgICAgICByZXMgKz0gcmF3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKSB7XG4gICAgICAgICAgICAvLyB0cmltIHRyYWlsaW5nIHdoaXRlc3BhY2VcbiAgICAgICAgICAgIGNvbnN0IHdzU3RhcnQgPSBpO1xuICAgICAgICAgICAgbGV0IG5leHQgPSBzb3VyY2VbaSArIDFdO1xuICAgICAgICAgICAgd2hpbGUgKG5leHQgPT09ICcgJyB8fCBuZXh0ID09PSAnXFx0JylcbiAgICAgICAgICAgICAgICBuZXh0ID0gc291cmNlWysraSArIDFdO1xuICAgICAgICAgICAgaWYgKG5leHQgIT09ICdcXG4nICYmICEobmV4dCA9PT0gJ1xccicgJiYgc291cmNlW2kgKyAyXSA9PT0gJ1xcbicpKVxuICAgICAgICAgICAgICAgIHJlcyArPSBpID4gd3NTdGFydCA/IHNvdXJjZS5zbGljZSh3c1N0YXJ0LCBpICsgMSkgOiBjaDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlcyArPSBjaDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoc291cmNlW3NvdXJjZS5sZW5ndGggLSAxXSAhPT0gJ1wiJyB8fCBzb3VyY2UubGVuZ3RoID09PSAxKVxuICAgICAgICBvbkVycm9yKHNvdXJjZS5sZW5ndGgsICdNSVNTSU5HX0NIQVInLCAnTWlzc2luZyBjbG9zaW5nIFwicXVvdGUnKTtcbiAgICByZXR1cm4gcmVzO1xufVxuLyoqXG4gKiBGb2xkIGEgc2luZ2xlIG5ld2xpbmUgaW50byBhIHNwYWNlLCBtdWx0aXBsZSBuZXdsaW5lcyB0byBOIC0gMSBuZXdsaW5lcy5cbiAqIFByZXN1bWVzIGBzb3VyY2Vbb2Zmc2V0XSA9PT0gJ1xcbidgXG4gKi9cbmZ1bmN0aW9uIGZvbGROZXdsaW5lKHNvdXJjZSwgb2Zmc2V0KSB7XG4gICAgbGV0IGZvbGQgPSAnJztcbiAgICBsZXQgY2ggPSBzb3VyY2Vbb2Zmc2V0ICsgMV07XG4gICAgd2hpbGUgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnIHx8IGNoID09PSAnXFxuJyB8fCBjaCA9PT0gJ1xccicpIHtcbiAgICAgICAgaWYgKGNoID09PSAnXFxyJyAmJiBzb3VyY2Vbb2Zmc2V0ICsgMl0gIT09ICdcXG4nKVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICBmb2xkICs9ICdcXG4nO1xuICAgICAgICBvZmZzZXQgKz0gMTtcbiAgICAgICAgY2ggPSBzb3VyY2Vbb2Zmc2V0ICsgMV07XG4gICAgfVxuICAgIGlmICghZm9sZClcbiAgICAgICAgZm9sZCA9ICcgJztcbiAgICByZXR1cm4geyBmb2xkLCBvZmZzZXQgfTtcbn1cbmNvbnN0IGVzY2FwZUNvZGVzID0ge1xuICAgICcwJzogJ1xcMCcsIC8vIG51bGwgY2hhcmFjdGVyXG4gICAgYTogJ1xceDA3JywgLy8gYmVsbCBjaGFyYWN0ZXJcbiAgICBiOiAnXFxiJywgLy8gYmFja3NwYWNlXG4gICAgZTogJ1xceDFiJywgLy8gZXNjYXBlIGNoYXJhY3RlclxuICAgIGY6ICdcXGYnLCAvLyBmb3JtIGZlZWRcbiAgICBuOiAnXFxuJywgLy8gbGluZSBmZWVkXG4gICAgcjogJ1xccicsIC8vIGNhcnJpYWdlIHJldHVyblxuICAgIHQ6ICdcXHQnLCAvLyBob3Jpem9udGFsIHRhYlxuICAgIHY6ICdcXHYnLCAvLyB2ZXJ0aWNhbCB0YWJcbiAgICBOOiAnXFx1MDA4NScsIC8vIFVuaWNvZGUgbmV4dCBsaW5lXG4gICAgXzogJ1xcdTAwYTAnLCAvLyBVbmljb2RlIG5vbi1icmVha2luZyBzcGFjZVxuICAgIEw6ICdcXHUyMDI4JywgLy8gVW5pY29kZSBsaW5lIHNlcGFyYXRvclxuICAgIFA6ICdcXHUyMDI5JywgLy8gVW5pY29kZSBwYXJhZ3JhcGggc2VwYXJhdG9yXG4gICAgJyAnOiAnICcsXG4gICAgJ1wiJzogJ1wiJyxcbiAgICAnLyc6ICcvJyxcbiAgICAnXFxcXCc6ICdcXFxcJyxcbiAgICAnXFx0JzogJ1xcdCdcbn07XG5mdW5jdGlvbiBwYXJzZUNoYXJDb2RlKHNvdXJjZSwgb2Zmc2V0LCBsZW5ndGgsIG9uRXJyb3IpIHtcbiAgICBjb25zdCBjYyA9IHNvdXJjZS5zdWJzdHIob2Zmc2V0LCBsZW5ndGgpO1xuICAgIGNvbnN0IG9rID0gY2MubGVuZ3RoID09PSBsZW5ndGggJiYgL15bMC05YS1mQS1GXSskLy50ZXN0KGNjKTtcbiAgICBjb25zdCBjb2RlID0gb2sgPyBwYXJzZUludChjYywgMTYpIDogTmFOO1xuICAgIGlmIChpc05hTihjb2RlKSkge1xuICAgICAgICBjb25zdCByYXcgPSBzb3VyY2Uuc3Vic3RyKG9mZnNldCAtIDIsIGxlbmd0aCArIDIpO1xuICAgICAgICBvbkVycm9yKG9mZnNldCAtIDIsICdCQURfRFFfRVNDQVBFJywgYEludmFsaWQgZXNjYXBlIHNlcXVlbmNlICR7cmF3fWApO1xuICAgICAgICByZXR1cm4gcmF3O1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQoY29kZSk7XG59XG5cbmV4cG9ydCB7IHJlc29sdmVGbG93U2NhbGFyIH07XG4iLCAiaW1wb3J0IHsgaXNTY2FsYXIsIFNDQUxBUiB9IGZyb20gJy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IFNjYWxhciB9IGZyb20gJy4uL25vZGVzL1NjYWxhci5qcyc7XG5pbXBvcnQgeyByZXNvbHZlQmxvY2tTY2FsYXIgfSBmcm9tICcuL3Jlc29sdmUtYmxvY2stc2NhbGFyLmpzJztcbmltcG9ydCB7IHJlc29sdmVGbG93U2NhbGFyIH0gZnJvbSAnLi9yZXNvbHZlLWZsb3ctc2NhbGFyLmpzJztcblxuZnVuY3Rpb24gY29tcG9zZVNjYWxhcihjdHgsIHRva2VuLCB0YWdUb2tlbiwgb25FcnJvcikge1xuICAgIGNvbnN0IHsgdmFsdWUsIHR5cGUsIGNvbW1lbnQsIHJhbmdlIH0gPSB0b2tlbi50eXBlID09PSAnYmxvY2stc2NhbGFyJ1xuICAgICAgICA/IHJlc29sdmVCbG9ja1NjYWxhcihjdHgsIHRva2VuLCBvbkVycm9yKVxuICAgICAgICA6IHJlc29sdmVGbG93U2NhbGFyKHRva2VuLCBjdHgub3B0aW9ucy5zdHJpY3QsIG9uRXJyb3IpO1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0YWdUb2tlblxuICAgICAgICA/IGN0eC5kaXJlY3RpdmVzLnRhZ05hbWUodGFnVG9rZW4uc291cmNlLCBtc2cgPT4gb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZykpXG4gICAgICAgIDogbnVsbDtcbiAgICBsZXQgdGFnO1xuICAgIGlmIChjdHgub3B0aW9ucy5zdHJpbmdLZXlzICYmIGN0eC5hdEtleSkge1xuICAgICAgICB0YWcgPSBjdHguc2NoZW1hW1NDQUxBUl07XG4gICAgfVxuICAgIGVsc2UgaWYgKHRhZ05hbWUpXG4gICAgICAgIHRhZyA9IGZpbmRTY2FsYXJUYWdCeU5hbWUoY3R4LnNjaGVtYSwgdmFsdWUsIHRhZ05hbWUsIHRhZ1Rva2VuLCBvbkVycm9yKTtcbiAgICBlbHNlIGlmICh0b2tlbi50eXBlID09PSAnc2NhbGFyJylcbiAgICAgICAgdGFnID0gZmluZFNjYWxhclRhZ0J5VGVzdChjdHgsIHZhbHVlLCB0b2tlbiwgb25FcnJvcik7XG4gICAgZWxzZVxuICAgICAgICB0YWcgPSBjdHguc2NoZW1hW1NDQUxBUl07XG4gICAgbGV0IHNjYWxhcjtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSB0YWcucmVzb2x2ZSh2YWx1ZSwgbXNnID0+IG9uRXJyb3IodGFnVG9rZW4gPz8gdG9rZW4sICdUQUdfUkVTT0xWRV9GQUlMRUQnLCBtc2cpLCBjdHgub3B0aW9ucyk7XG4gICAgICAgIHNjYWxhciA9IGlzU2NhbGFyKHJlcykgPyByZXMgOiBuZXcgU2NhbGFyKHJlcyk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zdCBtc2cgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG4gICAgICAgIG9uRXJyb3IodGFnVG9rZW4gPz8gdG9rZW4sICdUQUdfUkVTT0xWRV9GQUlMRUQnLCBtc2cpO1xuICAgICAgICBzY2FsYXIgPSBuZXcgU2NhbGFyKHZhbHVlKTtcbiAgICB9XG4gICAgc2NhbGFyLnJhbmdlID0gcmFuZ2U7XG4gICAgc2NhbGFyLnNvdXJjZSA9IHZhbHVlO1xuICAgIGlmICh0eXBlKVxuICAgICAgICBzY2FsYXIudHlwZSA9IHR5cGU7XG4gICAgaWYgKHRhZ05hbWUpXG4gICAgICAgIHNjYWxhci50YWcgPSB0YWdOYW1lO1xuICAgIGlmICh0YWcuZm9ybWF0KVxuICAgICAgICBzY2FsYXIuZm9ybWF0ID0gdGFnLmZvcm1hdDtcbiAgICBpZiAoY29tbWVudClcbiAgICAgICAgc2NhbGFyLmNvbW1lbnQgPSBjb21tZW50O1xuICAgIHJldHVybiBzY2FsYXI7XG59XG5mdW5jdGlvbiBmaW5kU2NhbGFyVGFnQnlOYW1lKHNjaGVtYSwgdmFsdWUsIHRhZ05hbWUsIHRhZ1Rva2VuLCBvbkVycm9yKSB7XG4gICAgaWYgKHRhZ05hbWUgPT09ICchJylcbiAgICAgICAgcmV0dXJuIHNjaGVtYVtTQ0FMQVJdOyAvLyBub24tc3BlY2lmaWMgdGFnXG4gICAgY29uc3QgbWF0Y2hXaXRoVGVzdCA9IFtdO1xuICAgIGZvciAoY29uc3QgdGFnIG9mIHNjaGVtYS50YWdzKSB7XG4gICAgICAgIGlmICghdGFnLmNvbGxlY3Rpb24gJiYgdGFnLnRhZyA9PT0gdGFnTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRhZy5kZWZhdWx0ICYmIHRhZy50ZXN0KVxuICAgICAgICAgICAgICAgIG1hdGNoV2l0aFRlc3QucHVzaCh0YWcpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCB0YWcgb2YgbWF0Y2hXaXRoVGVzdClcbiAgICAgICAgaWYgKHRhZy50ZXN0Py50ZXN0KHZhbHVlKSlcbiAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgY29uc3Qga3QgPSBzY2hlbWEua25vd25UYWdzW3RhZ05hbWVdO1xuICAgIGlmIChrdCAmJiAha3QuY29sbGVjdGlvbikge1xuICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUga25vd24gdGFnIGlzIGF2YWlsYWJsZSBmb3Igc3RyaW5naWZ5aW5nLFxuICAgICAgICAvLyBidXQgZG9lcyBub3QgZ2V0IHVzZWQgYnkgZGVmYXVsdC5cbiAgICAgICAgc2NoZW1hLnRhZ3MucHVzaChPYmplY3QuYXNzaWduKHt9LCBrdCwgeyBkZWZhdWx0OiBmYWxzZSwgdGVzdDogdW5kZWZpbmVkIH0pKTtcbiAgICAgICAgcmV0dXJuIGt0O1xuICAgIH1cbiAgICBvbkVycm9yKHRhZ1Rva2VuLCAnVEFHX1JFU09MVkVfRkFJTEVEJywgYFVucmVzb2x2ZWQgdGFnOiAke3RhZ05hbWV9YCwgdGFnTmFtZSAhPT0gJ3RhZzp5YW1sLm9yZywyMDAyOnN0cicpO1xuICAgIHJldHVybiBzY2hlbWFbU0NBTEFSXTtcbn1cbmZ1bmN0aW9uIGZpbmRTY2FsYXJUYWdCeVRlc3QoeyBhdEtleSwgZGlyZWN0aXZlcywgc2NoZW1hIH0sIHZhbHVlLCB0b2tlbiwgb25FcnJvcikge1xuICAgIGNvbnN0IHRhZyA9IHNjaGVtYS50YWdzLmZpbmQodGFnID0+ICh0YWcuZGVmYXVsdCA9PT0gdHJ1ZSB8fCAoYXRLZXkgJiYgdGFnLmRlZmF1bHQgPT09ICdrZXknKSkgJiZcbiAgICAgICAgdGFnLnRlc3Q/LnRlc3QodmFsdWUpKSB8fCBzY2hlbWFbU0NBTEFSXTtcbiAgICBpZiAoc2NoZW1hLmNvbXBhdCkge1xuICAgICAgICBjb25zdCBjb21wYXQgPSBzY2hlbWEuY29tcGF0LmZpbmQodGFnID0+IHRhZy5kZWZhdWx0ICYmIHRhZy50ZXN0Py50ZXN0KHZhbHVlKSkgPz9cbiAgICAgICAgICAgIHNjaGVtYVtTQ0FMQVJdO1xuICAgICAgICBpZiAodGFnLnRhZyAhPT0gY29tcGF0LnRhZykge1xuICAgICAgICAgICAgY29uc3QgdHMgPSBkaXJlY3RpdmVzLnRhZ1N0cmluZyh0YWcudGFnKTtcbiAgICAgICAgICAgIGNvbnN0IGNzID0gZGlyZWN0aXZlcy50YWdTdHJpbmcoY29tcGF0LnRhZyk7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSBgVmFsdWUgbWF5IGJlIHBhcnNlZCBhcyBlaXRoZXIgJHt0c30gb3IgJHtjc31gO1xuICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRhZztcbn1cblxuZXhwb3J0IHsgY29tcG9zZVNjYWxhciB9O1xuIiwgImZ1bmN0aW9uIGVtcHR5U2NhbGFyUG9zaXRpb24ob2Zmc2V0LCBiZWZvcmUsIHBvcykge1xuICAgIGlmIChiZWZvcmUpIHtcbiAgICAgICAgaWYgKHBvcyA9PT0gbnVsbClcbiAgICAgICAgICAgIHBvcyA9IGJlZm9yZS5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSBwb3MgLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICAgICAgbGV0IHN0ID0gYmVmb3JlW2ldO1xuICAgICAgICAgICAgc3dpdGNoIChzdC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQgLT0gc3Quc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUZWNobmljYWxseSwgYW4gZW1wdHkgc2NhbGFyIGlzIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBsYXN0IG5vbi1lbXB0eVxuICAgICAgICAgICAgLy8gbm9kZSwgYnV0IGl0J3MgbW9yZSB1c2VmdWwgdG8gcGxhY2UgaXQgYWZ0ZXIgYW55IHdoaXRlc3BhY2UuXG4gICAgICAgICAgICBzdCA9IGJlZm9yZVsrK2ldO1xuICAgICAgICAgICAgd2hpbGUgKHN0Py50eXBlID09PSAnc3BhY2UnKSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHN0LnNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgc3QgPSBiZWZvcmVbKytpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvZmZzZXQ7XG59XG5cbmV4cG9ydCB7IGVtcHR5U2NhbGFyUG9zaXRpb24gfTtcbiIsICJpbXBvcnQgeyBBbGlhcyB9IGZyb20gJy4uL25vZGVzL0FsaWFzLmpzJztcbmltcG9ydCB7IGlzU2NhbGFyIH0gZnJvbSAnLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgY29tcG9zZUNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbXBvc2UtY29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgeyBjb21wb3NlU2NhbGFyIH0gZnJvbSAnLi9jb21wb3NlLXNjYWxhci5qcyc7XG5pbXBvcnQgeyByZXNvbHZlRW5kIH0gZnJvbSAnLi9yZXNvbHZlLWVuZC5qcyc7XG5pbXBvcnQgeyBlbXB0eVNjYWxhclBvc2l0aW9uIH0gZnJvbSAnLi91dGlsLWVtcHR5LXNjYWxhci1wb3NpdGlvbi5qcyc7XG5cbmNvbnN0IENOID0geyBjb21wb3NlTm9kZSwgY29tcG9zZUVtcHR5Tm9kZSB9O1xuZnVuY3Rpb24gY29tcG9zZU5vZGUoY3R4LCB0b2tlbiwgcHJvcHMsIG9uRXJyb3IpIHtcbiAgICBjb25zdCBhdEtleSA9IGN0eC5hdEtleTtcbiAgICBjb25zdCB7IHNwYWNlQmVmb3JlLCBjb21tZW50LCBhbmNob3IsIHRhZyB9ID0gcHJvcHM7XG4gICAgbGV0IG5vZGU7XG4gICAgbGV0IGlzU3JjVG9rZW4gPSB0cnVlO1xuICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgICBjYXNlICdhbGlhcyc6XG4gICAgICAgICAgICBub2RlID0gY29tcG9zZUFsaWFzKGN0eCwgdG9rZW4sIG9uRXJyb3IpO1xuICAgICAgICAgICAgaWYgKGFuY2hvciB8fCB0YWcpXG4gICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ0FMSUFTX1BST1BTJywgJ0FuIGFsaWFzIG5vZGUgbXVzdCBub3Qgc3BlY2lmeSBhbnkgcHJvcGVydGllcycpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgY2FzZSAnZG91YmxlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICBjYXNlICdibG9jay1zY2FsYXInOlxuICAgICAgICAgICAgbm9kZSA9IGNvbXBvc2VTY2FsYXIoY3R4LCB0b2tlbiwgdGFnLCBvbkVycm9yKTtcbiAgICAgICAgICAgIGlmIChhbmNob3IpXG4gICAgICAgICAgICAgICAgbm9kZS5hbmNob3IgPSBhbmNob3Iuc291cmNlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdibG9jay1tYXAnOlxuICAgICAgICBjYXNlICdibG9jay1zZXEnOlxuICAgICAgICBjYXNlICdmbG93LWNvbGxlY3Rpb24nOlxuICAgICAgICAgICAgbm9kZSA9IGNvbXBvc2VDb2xsZWN0aW9uKENOLCBjdHgsIHRva2VuLCBwcm9wcywgb25FcnJvcik7XG4gICAgICAgICAgICBpZiAoYW5jaG9yKVxuICAgICAgICAgICAgICAgIG5vZGUuYW5jaG9yID0gYW5jaG9yLnNvdXJjZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRva2VuLnR5cGUgPT09ICdlcnJvcidcbiAgICAgICAgICAgICAgICA/IHRva2VuLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICA6IGBVbnN1cHBvcnRlZCB0b2tlbiAodHlwZTogJHt0b2tlbi50eXBlfSlgO1xuICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1VORVhQRUNURURfVE9LRU4nLCBtZXNzYWdlKTtcbiAgICAgICAgICAgIG5vZGUgPSBjb21wb3NlRW1wdHlOb2RlKGN0eCwgdG9rZW4ub2Zmc2V0LCB1bmRlZmluZWQsIG51bGwsIHByb3BzLCBvbkVycm9yKTtcbiAgICAgICAgICAgIGlzU3JjVG9rZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYW5jaG9yICYmIG5vZGUuYW5jaG9yID09PSAnJylcbiAgICAgICAgb25FcnJvcihhbmNob3IsICdCQURfQUxJQVMnLCAnQW5jaG9yIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmcnKTtcbiAgICBpZiAoYXRLZXkgJiZcbiAgICAgICAgY3R4Lm9wdGlvbnMuc3RyaW5nS2V5cyAmJlxuICAgICAgICAoIWlzU2NhbGFyKG5vZGUpIHx8XG4gICAgICAgICAgICB0eXBlb2Ygbm9kZS52YWx1ZSAhPT0gJ3N0cmluZycgfHxcbiAgICAgICAgICAgIChub2RlLnRhZyAmJiBub2RlLnRhZyAhPT0gJ3RhZzp5YW1sLm9yZywyMDAyOnN0cicpKSkge1xuICAgICAgICBjb25zdCBtc2cgPSAnV2l0aCBzdHJpbmdLZXlzLCBhbGwga2V5cyBtdXN0IGJlIHN0cmluZ3MnO1xuICAgICAgICBvbkVycm9yKHRhZyA/PyB0b2tlbiwgJ05PTl9TVFJJTkdfS0VZJywgbXNnKTtcbiAgICB9XG4gICAgaWYgKHNwYWNlQmVmb3JlKVxuICAgICAgICBub2RlLnNwYWNlQmVmb3JlID0gdHJ1ZTtcbiAgICBpZiAoY29tbWVudCkge1xuICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gJ3NjYWxhcicgJiYgdG9rZW4uc291cmNlID09PSAnJylcbiAgICAgICAgICAgIG5vZGUuY29tbWVudCA9IGNvbW1lbnQ7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIG5vZGUuY29tbWVudEJlZm9yZSA9IGNvbW1lbnQ7XG4gICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVHlwZSBjaGVja2luZyBtaXNzZXMgbWVhbmluZyBvZiBpc1NyY1Rva2VuXG4gICAgaWYgKGN0eC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMgJiYgaXNTcmNUb2tlbilcbiAgICAgICAgbm9kZS5zcmNUb2tlbiA9IHRva2VuO1xuICAgIHJldHVybiBub2RlO1xufVxuZnVuY3Rpb24gY29tcG9zZUVtcHR5Tm9kZShjdHgsIG9mZnNldCwgYmVmb3JlLCBwb3MsIHsgc3BhY2VCZWZvcmUsIGNvbW1lbnQsIGFuY2hvciwgdGFnLCBlbmQgfSwgb25FcnJvcikge1xuICAgIGNvbnN0IHRva2VuID0ge1xuICAgICAgICB0eXBlOiAnc2NhbGFyJyxcbiAgICAgICAgb2Zmc2V0OiBlbXB0eVNjYWxhclBvc2l0aW9uKG9mZnNldCwgYmVmb3JlLCBwb3MpLFxuICAgICAgICBpbmRlbnQ6IC0xLFxuICAgICAgICBzb3VyY2U6ICcnXG4gICAgfTtcbiAgICBjb25zdCBub2RlID0gY29tcG9zZVNjYWxhcihjdHgsIHRva2VuLCB0YWcsIG9uRXJyb3IpO1xuICAgIGlmIChhbmNob3IpIHtcbiAgICAgICAgbm9kZS5hbmNob3IgPSBhbmNob3Iuc291cmNlLnN1YnN0cmluZygxKTtcbiAgICAgICAgaWYgKG5vZGUuYW5jaG9yID09PSAnJylcbiAgICAgICAgICAgIG9uRXJyb3IoYW5jaG9yLCAnQkFEX0FMSUFTJywgJ0FuY2hvciBjYW5ub3QgYmUgYW4gZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIGlmIChzcGFjZUJlZm9yZSlcbiAgICAgICAgbm9kZS5zcGFjZUJlZm9yZSA9IHRydWU7XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgbm9kZS5jb21tZW50ID0gY29tbWVudDtcbiAgICAgICAgbm9kZS5yYW5nZVsyXSA9IGVuZDtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGU7XG59XG5mdW5jdGlvbiBjb21wb3NlQWxpYXMoeyBvcHRpb25zIH0sIHsgb2Zmc2V0LCBzb3VyY2UsIGVuZCB9LCBvbkVycm9yKSB7XG4gICAgY29uc3QgYWxpYXMgPSBuZXcgQWxpYXMoc291cmNlLnN1YnN0cmluZygxKSk7XG4gICAgaWYgKGFsaWFzLnNvdXJjZSA9PT0gJycpXG4gICAgICAgIG9uRXJyb3Iob2Zmc2V0LCAnQkFEX0FMSUFTJywgJ0FsaWFzIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmcnKTtcbiAgICBpZiAoYWxpYXMuc291cmNlLmVuZHNXaXRoKCc6JykpXG4gICAgICAgIG9uRXJyb3Iob2Zmc2V0ICsgc291cmNlLmxlbmd0aCAtIDEsICdCQURfQUxJQVMnLCAnQWxpYXMgZW5kaW5nIGluIDogaXMgYW1iaWd1b3VzJywgdHJ1ZSk7XG4gICAgY29uc3QgdmFsdWVFbmQgPSBvZmZzZXQgKyBzb3VyY2UubGVuZ3RoO1xuICAgIGNvbnN0IHJlID0gcmVzb2x2ZUVuZChlbmQsIHZhbHVlRW5kLCBvcHRpb25zLnN0cmljdCwgb25FcnJvcik7XG4gICAgYWxpYXMucmFuZ2UgPSBbb2Zmc2V0LCB2YWx1ZUVuZCwgcmUub2Zmc2V0XTtcbiAgICBpZiAocmUuY29tbWVudClcbiAgICAgICAgYWxpYXMuY29tbWVudCA9IHJlLmNvbW1lbnQ7XG4gICAgcmV0dXJuIGFsaWFzO1xufVxuXG5leHBvcnQgeyBjb21wb3NlRW1wdHlOb2RlLCBjb21wb3NlTm9kZSB9O1xuIiwgImltcG9ydCB7IERvY3VtZW50IH0gZnJvbSAnLi4vZG9jL0RvY3VtZW50LmpzJztcbmltcG9ydCB7IGNvbXBvc2VOb2RlLCBjb21wb3NlRW1wdHlOb2RlIH0gZnJvbSAnLi9jb21wb3NlLW5vZGUuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUVuZCB9IGZyb20gJy4vcmVzb2x2ZS1lbmQuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVByb3BzIH0gZnJvbSAnLi9yZXNvbHZlLXByb3BzLmpzJztcblxuZnVuY3Rpb24gY29tcG9zZURvYyhvcHRpb25zLCBkaXJlY3RpdmVzLCB7IG9mZnNldCwgc3RhcnQsIHZhbHVlLCBlbmQgfSwgb25FcnJvcikge1xuICAgIGNvbnN0IG9wdHMgPSBPYmplY3QuYXNzaWduKHsgX2RpcmVjdGl2ZXM6IGRpcmVjdGl2ZXMgfSwgb3B0aW9ucyk7XG4gICAgY29uc3QgZG9jID0gbmV3IERvY3VtZW50KHVuZGVmaW5lZCwgb3B0cyk7XG4gICAgY29uc3QgY3R4ID0ge1xuICAgICAgICBhdEtleTogZmFsc2UsXG4gICAgICAgIGF0Um9vdDogdHJ1ZSxcbiAgICAgICAgZGlyZWN0aXZlczogZG9jLmRpcmVjdGl2ZXMsXG4gICAgICAgIG9wdGlvbnM6IGRvYy5vcHRpb25zLFxuICAgICAgICBzY2hlbWE6IGRvYy5zY2hlbWFcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0gcmVzb2x2ZVByb3BzKHN0YXJ0LCB7XG4gICAgICAgIGluZGljYXRvcjogJ2RvYy1zdGFydCcsXG4gICAgICAgIG5leHQ6IHZhbHVlID8/IGVuZD8uWzBdLFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIG9uRXJyb3IsXG4gICAgICAgIHBhcmVudEluZGVudDogMCxcbiAgICAgICAgc3RhcnRPbk5ld2xpbmU6IHRydWVcbiAgICB9KTtcbiAgICBpZiAocHJvcHMuZm91bmQpIHtcbiAgICAgICAgZG9jLmRpcmVjdGl2ZXMuZG9jU3RhcnQgPSB0cnVlO1xuICAgICAgICBpZiAodmFsdWUgJiZcbiAgICAgICAgICAgICh2YWx1ZS50eXBlID09PSAnYmxvY2stbWFwJyB8fCB2YWx1ZS50eXBlID09PSAnYmxvY2stc2VxJykgJiZcbiAgICAgICAgICAgICFwcm9wcy5oYXNOZXdsaW5lKVxuICAgICAgICAgICAgb25FcnJvcihwcm9wcy5lbmQsICdNSVNTSU5HX0NIQVInLCAnQmxvY2sgY29sbGVjdGlvbiBjYW5ub3Qgc3RhcnQgb24gc2FtZSBsaW5lIHdpdGggZGlyZWN0aXZlcy1lbmQgbWFya2VyJyk7XG4gICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgSWYgQ29udGVudHMgaXMgc2V0LCBsZXQncyB0cnVzdCB0aGUgdXNlclxuICAgIGRvYy5jb250ZW50cyA9IHZhbHVlXG4gICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgcHJvcHMsIG9uRXJyb3IpXG4gICAgICAgIDogY29tcG9zZUVtcHR5Tm9kZShjdHgsIHByb3BzLmVuZCwgc3RhcnQsIG51bGwsIHByb3BzLCBvbkVycm9yKTtcbiAgICBjb25zdCBjb250ZW50RW5kID0gZG9jLmNvbnRlbnRzLnJhbmdlWzJdO1xuICAgIGNvbnN0IHJlID0gcmVzb2x2ZUVuZChlbmQsIGNvbnRlbnRFbmQsIGZhbHNlLCBvbkVycm9yKTtcbiAgICBpZiAocmUuY29tbWVudClcbiAgICAgICAgZG9jLmNvbW1lbnQgPSByZS5jb21tZW50O1xuICAgIGRvYy5yYW5nZSA9IFtvZmZzZXQsIGNvbnRlbnRFbmQsIHJlLm9mZnNldF07XG4gICAgcmV0dXJuIGRvYztcbn1cblxuZXhwb3J0IHsgY29tcG9zZURvYyB9O1xuIiwgImltcG9ydCB7IERpcmVjdGl2ZXMgfSBmcm9tICcuLi9kb2MvZGlyZWN0aXZlcy5qcyc7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gJy4uL2RvYy9Eb2N1bWVudC5qcyc7XG5pbXBvcnQgeyBZQU1MV2FybmluZywgWUFNTFBhcnNlRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMuanMnO1xuaW1wb3J0IHsgaXNDb2xsZWN0aW9uLCBpc1BhaXIgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBjb21wb3NlRG9jIH0gZnJvbSAnLi9jb21wb3NlLWRvYy5qcyc7XG5pbXBvcnQgeyByZXNvbHZlRW5kIH0gZnJvbSAnLi9yZXNvbHZlLWVuZC5qcyc7XG5cbmZ1bmN0aW9uIGdldEVycm9yUG9zKHNyYykge1xuICAgIGlmICh0eXBlb2Ygc3JjID09PSAnbnVtYmVyJylcbiAgICAgICAgcmV0dXJuIFtzcmMsIHNyYyArIDFdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNyYykpXG4gICAgICAgIHJldHVybiBzcmMubGVuZ3RoID09PSAyID8gc3JjIDogW3NyY1swXSwgc3JjWzFdXTtcbiAgICBjb25zdCB7IG9mZnNldCwgc291cmNlIH0gPSBzcmM7XG4gICAgcmV0dXJuIFtvZmZzZXQsIG9mZnNldCArICh0eXBlb2Ygc291cmNlID09PSAnc3RyaW5nJyA/IHNvdXJjZS5sZW5ndGggOiAxKV07XG59XG5mdW5jdGlvbiBwYXJzZVByZWx1ZGUocHJlbHVkZSkge1xuICAgIGxldCBjb21tZW50ID0gJyc7XG4gICAgbGV0IGF0Q29tbWVudCA9IGZhbHNlO1xuICAgIGxldCBhZnRlckVtcHR5TGluZSA9IGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJlbHVkZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBwcmVsdWRlW2ldO1xuICAgICAgICBzd2l0Y2ggKHNvdXJjZVswXSkge1xuICAgICAgICAgICAgY2FzZSAnIyc6XG4gICAgICAgICAgICAgICAgY29tbWVudCArPVxuICAgICAgICAgICAgICAgICAgICAoY29tbWVudCA9PT0gJycgPyAnJyA6IGFmdGVyRW1wdHlMaW5lID8gJ1xcblxcbicgOiAnXFxuJykgK1xuICAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZS5zdWJzdHJpbmcoMSkgfHwgJyAnKTtcbiAgICAgICAgICAgICAgICBhdENvbW1lbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGFmdGVyRW1wdHlMaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICclJzpcbiAgICAgICAgICAgICAgICBpZiAocHJlbHVkZVtpICsgMV0/LlswXSAhPT0gJyMnKVxuICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICAgICAgYXRDb21tZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIC8vIFRoaXMgbWF5IGJlIHdyb25nIGFmdGVyIGRvYy1lbmQsIGJ1dCBpbiB0aGF0IGNhc2UgaXQgZG9lc24ndCBtYXR0ZXJcbiAgICAgICAgICAgICAgICBpZiAoIWF0Q29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgYWZ0ZXJFbXB0eUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGF0Q29tbWVudCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGNvbW1lbnQsIGFmdGVyRW1wdHlMaW5lIH07XG59XG4vKipcbiAqIENvbXBvc2UgYSBzdHJlYW0gb2YgQ1NUIG5vZGVzIGludG8gYSBzdHJlYW0gb2YgWUFNTCBEb2N1bWVudHMuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbXBvc2VyLCBQYXJzZXIgfSBmcm9tICd5YW1sJ1xuICpcbiAqIGNvbnN0IHNyYzogc3RyaW5nID0gLi4uXG4gKiBjb25zdCB0b2tlbnMgPSBuZXcgUGFyc2VyKCkucGFyc2Uoc3JjKVxuICogY29uc3QgZG9jcyA9IG5ldyBDb21wb3NlcigpLmNvbXBvc2UodG9rZW5zKVxuICogYGBgXG4gKi9cbmNsYXNzIENvbXBvc2VyIHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0ge30pIHtcbiAgICAgICAgdGhpcy5kb2MgPSBudWxsO1xuICAgICAgICB0aGlzLmF0RGlyZWN0aXZlcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByZWx1ZGUgPSBbXTtcbiAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICAgICAgdGhpcy53YXJuaW5ncyA9IFtdO1xuICAgICAgICB0aGlzLm9uRXJyb3IgPSAoc291cmNlLCBjb2RlLCBtZXNzYWdlLCB3YXJuaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb3MgPSBnZXRFcnJvclBvcyhzb3VyY2UpO1xuICAgICAgICAgICAgaWYgKHdhcm5pbmcpXG4gICAgICAgICAgICAgICAgdGhpcy53YXJuaW5ncy5wdXNoKG5ldyBZQU1MV2FybmluZyhwb3MsIGNvZGUsIG1lc3NhZ2UpKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9ycy5wdXNoKG5ldyBZQU1MUGFyc2VFcnJvcihwb3MsIGNvZGUsIG1lc3NhZ2UpKTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItbnVsbGlzaC1jb2FsZXNjaW5nXG4gICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG5ldyBEaXJlY3RpdmVzKHsgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uIHx8ICcxLjInIH0pO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIH1cbiAgICBkZWNvcmF0ZShkb2MsIGFmdGVyRG9jKSB7XG4gICAgICAgIGNvbnN0IHsgY29tbWVudCwgYWZ0ZXJFbXB0eUxpbmUgfSA9IHBhcnNlUHJlbHVkZSh0aGlzLnByZWx1ZGUpO1xuICAgICAgICAvL2NvbnNvbGUubG9nKHsgZGM6IGRvYy5jb21tZW50LCBwcmVsdWRlLCBjb21tZW50IH0pXG4gICAgICAgIGlmIChjb21tZW50KSB7XG4gICAgICAgICAgICBjb25zdCBkYyA9IGRvYy5jb250ZW50cztcbiAgICAgICAgICAgIGlmIChhZnRlckRvYykge1xuICAgICAgICAgICAgICAgIGRvYy5jb21tZW50ID0gZG9jLmNvbW1lbnQgPyBgJHtkb2MuY29tbWVudH1cXG4ke2NvbW1lbnR9YCA6IGNvbW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChhZnRlckVtcHR5TGluZSB8fCBkb2MuZGlyZWN0aXZlcy5kb2NTdGFydCB8fCAhZGMpIHtcbiAgICAgICAgICAgICAgICBkb2MuY29tbWVudEJlZm9yZSA9IGNvbW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChpc0NvbGxlY3Rpb24oZGMpICYmICFkYy5mbG93ICYmIGRjLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBsZXQgaXQgPSBkYy5pdGVtc1swXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNQYWlyKGl0KSlcbiAgICAgICAgICAgICAgICAgICAgaXQgPSBpdC5rZXk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2IgPSBpdC5jb21tZW50QmVmb3JlO1xuICAgICAgICAgICAgICAgIGl0LmNvbW1lbnRCZWZvcmUgPSBjYiA/IGAke2NvbW1lbnR9XFxuJHtjYn1gIDogY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNiID0gZGMuY29tbWVudEJlZm9yZTtcbiAgICAgICAgICAgICAgICBkYy5jb21tZW50QmVmb3JlID0gY2IgPyBgJHtjb21tZW50fVxcbiR7Y2J9YCA6IGNvbW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFmdGVyRG9jKSB7XG4gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShkb2MuZXJyb3JzLCB0aGlzLmVycm9ycyk7XG4gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShkb2Mud2FybmluZ3MsIHRoaXMud2FybmluZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZG9jLmVycm9ycyA9IHRoaXMuZXJyb3JzO1xuICAgICAgICAgICAgZG9jLndhcm5pbmdzID0gdGhpcy53YXJuaW5ncztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZWx1ZGUgPSBbXTtcbiAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICAgICAgdGhpcy53YXJuaW5ncyA9IFtdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDdXJyZW50IHN0cmVhbSBzdGF0dXMgaW5mb3JtYXRpb24uXG4gICAgICpcbiAgICAgKiBNb3N0bHkgdXNlZnVsIGF0IHRoZSBlbmQgb2YgaW5wdXQgZm9yIGFuIGVtcHR5IHN0cmVhbS5cbiAgICAgKi9cbiAgICBzdHJlYW1JbmZvKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29tbWVudDogcGFyc2VQcmVsdWRlKHRoaXMucHJlbHVkZSkuY29tbWVudCxcbiAgICAgICAgICAgIGRpcmVjdGl2ZXM6IHRoaXMuZGlyZWN0aXZlcyxcbiAgICAgICAgICAgIGVycm9yczogdGhpcy5lcnJvcnMsXG4gICAgICAgICAgICB3YXJuaW5nczogdGhpcy53YXJuaW5nc1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb3NlIHRva2VucyBpbnRvIGRvY3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb3JjZURvYyAtIElmIHRoZSBzdHJlYW0gY29udGFpbnMgbm8gZG9jdW1lbnQsIHN0aWxsIGVtaXQgYSBmaW5hbCBkb2N1bWVudCBpbmNsdWRpbmcgYW55IGNvbW1lbnRzIGFuZCBkaXJlY3RpdmVzIHRoYXQgd291bGQgYmUgYXBwbGllZCB0byBhIHN1YnNlcXVlbnQgZG9jdW1lbnQuXG4gICAgICogQHBhcmFtIGVuZE9mZnNldCAtIFNob3VsZCBiZSBzZXQgaWYgYGZvcmNlRG9jYCBpcyBhbHNvIHNldCwgdG8gc2V0IHRoZSBkb2N1bWVudCByYW5nZSBlbmQgYW5kIHRvIGluZGljYXRlIGVycm9ycyBjb3JyZWN0bHkuXG4gICAgICovXG4gICAgKmNvbXBvc2UodG9rZW5zLCBmb3JjZURvYyA9IGZhbHNlLCBlbmRPZmZzZXQgPSAtMSkge1xuICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2VucylcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLm5leHQodG9rZW4pO1xuICAgICAgICB5aWVsZCogdGhpcy5lbmQoZm9yY2VEb2MsIGVuZE9mZnNldCk7XG4gICAgfVxuICAgIC8qKiBBZHZhbmNlIHRoZSBjb21wb3NlciBieSBvbmUgQ1NUIHRva2VuLiAqL1xuICAgICpuZXh0KHRva2VuKSB7XG4gICAgICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnZGlyZWN0aXZlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZXMuYWRkKHRva2VuLnNvdXJjZSwgKG9mZnNldCwgbWVzc2FnZSwgd2FybmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSBnZXRFcnJvclBvcyh0b2tlbik7XG4gICAgICAgICAgICAgICAgICAgIHBvc1swXSArPSBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FcnJvcihwb3MsICdCQURfRElSRUNUSVZFJywgbWVzc2FnZSwgd2FybmluZyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVsdWRlLnB1c2godG9rZW4uc291cmNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmF0RGlyZWN0aXZlcyA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdkb2N1bWVudCc6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkb2MgPSBjb21wb3NlRG9jKHRoaXMub3B0aW9ucywgdGhpcy5kaXJlY3RpdmVzLCB0b2tlbiwgdGhpcy5vbkVycm9yKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hdERpcmVjdGl2ZXMgJiYgIWRvYy5kaXJlY3RpdmVzLmRvY1N0YXJ0KVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IodG9rZW4sICdNSVNTSU5HX0NIQVInLCAnTWlzc2luZyBkaXJlY3RpdmVzLWVuZC9kb2Mtc3RhcnQgaW5kaWNhdG9yIGxpbmUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlY29yYXRlKGRvYywgZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRvYylcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgdGhpcy5kb2M7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2MgPSBkb2M7XG4gICAgICAgICAgICAgICAgdGhpcy5hdERpcmVjdGl2ZXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2J5dGUtb3JkZXItbWFyayc6XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIHRoaXMucHJlbHVkZS5wdXNoKHRva2VuLnNvdXJjZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtc2cgPSB0b2tlbi5zb3VyY2VcbiAgICAgICAgICAgICAgICAgICAgPyBgJHt0b2tlbi5tZXNzYWdlfTogJHtKU09OLnN0cmluZ2lmeSh0b2tlbi5zb3VyY2UpfWBcbiAgICAgICAgICAgICAgICAgICAgOiB0b2tlbi5tZXNzYWdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IFlBTUxQYXJzZUVycm9yKGdldEVycm9yUG9zKHRva2VuKSwgJ1VORVhQRUNURURfVE9LRU4nLCBtc2cpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF0RGlyZWN0aXZlcyB8fCAhdGhpcy5kb2MpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2MuZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnZG9jLWVuZCc6IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZG9jKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9ICdVbmV4cGVjdGVkIGRvYy1lbmQgd2l0aG91dCBwcmVjZWRpbmcgZG9jdW1lbnQnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9ycy5wdXNoKG5ldyBZQU1MUGFyc2VFcnJvcihnZXRFcnJvclBvcyh0b2tlbiksICdVTkVYUEVDVEVEX1RPS0VOJywgbXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmRvYy5kaXJlY3RpdmVzLmRvY0VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gcmVzb2x2ZUVuZCh0b2tlbi5lbmQsIHRva2VuLm9mZnNldCArIHRva2VuLnNvdXJjZS5sZW5ndGgsIHRoaXMuZG9jLm9wdGlvbnMuc3RyaWN0LCB0aGlzLm9uRXJyb3IpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGVjb3JhdGUodGhpcy5kb2MsIHRydWUpO1xuICAgICAgICAgICAgICAgIGlmIChlbmQuY29tbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYyA9IHRoaXMuZG9jLmNvbW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLmNvbW1lbnQgPSBkYyA/IGAke2RjfVxcbiR7ZW5kLmNvbW1lbnR9YCA6IGVuZC5jb21tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmRvYy5yYW5nZVsyXSA9IGVuZC5vZmZzZXQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JzLnB1c2gobmV3IFlBTUxQYXJzZUVycm9yKGdldEVycm9yUG9zKHRva2VuKSwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5zdXBwb3J0ZWQgdG9rZW4gJHt0b2tlbi50eXBlfWApKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBDYWxsIGF0IGVuZCBvZiBpbnB1dCB0byB5aWVsZCBhbnkgcmVtYWluaW5nIGRvY3VtZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcmNlRG9jIC0gSWYgdGhlIHN0cmVhbSBjb250YWlucyBubyBkb2N1bWVudCwgc3RpbGwgZW1pdCBhIGZpbmFsIGRvY3VtZW50IGluY2x1ZGluZyBhbnkgY29tbWVudHMgYW5kIGRpcmVjdGl2ZXMgdGhhdCB3b3VsZCBiZSBhcHBsaWVkIHRvIGEgc3Vic2VxdWVudCBkb2N1bWVudC5cbiAgICAgKiBAcGFyYW0gZW5kT2Zmc2V0IC0gU2hvdWxkIGJlIHNldCBpZiBgZm9yY2VEb2NgIGlzIGFsc28gc2V0LCB0byBzZXQgdGhlIGRvY3VtZW50IHJhbmdlIGVuZCBhbmQgdG8gaW5kaWNhdGUgZXJyb3JzIGNvcnJlY3RseS5cbiAgICAgKi9cbiAgICAqZW5kKGZvcmNlRG9jID0gZmFsc2UsIGVuZE9mZnNldCA9IC0xKSB7XG4gICAgICAgIGlmICh0aGlzLmRvYykge1xuICAgICAgICAgICAgdGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywgdHJ1ZSk7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmRvYztcbiAgICAgICAgICAgIHRoaXMuZG9jID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmb3JjZURvYykge1xuICAgICAgICAgICAgY29uc3Qgb3B0cyA9IE9iamVjdC5hc3NpZ24oeyBfZGlyZWN0aXZlczogdGhpcy5kaXJlY3RpdmVzIH0sIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICBjb25zdCBkb2MgPSBuZXcgRG9jdW1lbnQodW5kZWZpbmVkLCBvcHRzKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmF0RGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZW5kT2Zmc2V0LCAnTUlTU0lOR19DSEFSJywgJ01pc3NpbmcgZGlyZWN0aXZlcy1lbmQgaW5kaWNhdG9yIGxpbmUnKTtcbiAgICAgICAgICAgIGRvYy5yYW5nZSA9IFswLCBlbmRPZmZzZXQsIGVuZE9mZnNldF07XG4gICAgICAgICAgICB0aGlzLmRlY29yYXRlKGRvYywgZmFsc2UpO1xuICAgICAgICAgICAgeWllbGQgZG9jO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgeyBDb21wb3NlciB9O1xuIiwgImNvbnN0IEJSRUFLID0gU3ltYm9sKCdicmVhayB2aXNpdCcpO1xuY29uc3QgU0tJUCA9IFN5bWJvbCgnc2tpcCBjaGlsZHJlbicpO1xuY29uc3QgUkVNT1ZFID0gU3ltYm9sKCdyZW1vdmUgaXRlbScpO1xuLyoqXG4gKiBBcHBseSBhIHZpc2l0b3IgdG8gYSBDU1QgZG9jdW1lbnQgb3IgaXRlbS5cbiAqXG4gKiBXYWxrcyB0aHJvdWdoIHRoZSB0cmVlIChkZXB0aC1maXJzdCkgc3RhcnRpbmcgZnJvbSB0aGUgcm9vdCwgY2FsbGluZyBhXG4gKiBgdmlzaXRvcmAgZnVuY3Rpb24gd2l0aCB0d28gYXJndW1lbnRzIHdoZW4gZW50ZXJpbmcgZWFjaCBpdGVtOlxuICogICAtIGBpdGVtYDogVGhlIGN1cnJlbnQgaXRlbSwgd2hpY2ggaW5jbHVkZWQgdGhlIGZvbGxvd2luZyBtZW1iZXJzOlxuICogICAgIC0gYHN0YXJ0OiBTb3VyY2VUb2tlbltdYCBcdTIwMTMgU291cmNlIHRva2VucyBiZWZvcmUgdGhlIGtleSBvciB2YWx1ZSxcbiAqICAgICAgIHBvc3NpYmx5IGluY2x1ZGluZyBpdHMgYW5jaG9yIG9yIHRhZy5cbiAqICAgICAtIGBrZXk/OiBUb2tlbiB8IG51bGxgIFx1MjAxMyBTZXQgZm9yIHBhaXIgdmFsdWVzLiBNYXkgdGhlbiBiZSBgbnVsbGAsIGlmXG4gKiAgICAgICB0aGUga2V5IGJlZm9yZSB0aGUgYDpgIHNlcGFyYXRvciBpcyBlbXB0eS5cbiAqICAgICAtIGBzZXA/OiBTb3VyY2VUb2tlbltdYCBcdTIwMTMgU291cmNlIHRva2VucyBiZXR3ZWVuIHRoZSBrZXkgYW5kIHRoZSB2YWx1ZSxcbiAqICAgICAgIHdoaWNoIHNob3VsZCBpbmNsdWRlIHRoZSBgOmAgbWFwIHZhbHVlIGluZGljYXRvciBpZiBgdmFsdWVgIGlzIHNldC5cbiAqICAgICAtIGB2YWx1ZT86IFRva2VuYCBcdTIwMTMgVGhlIHZhbHVlIG9mIGEgc2VxdWVuY2UgaXRlbSwgb3Igb2YgYSBtYXAgcGFpci5cbiAqICAgLSBgcGF0aGA6IFRoZSBzdGVwcyBmcm9tIHRoZSByb290IHRvIHRoZSBjdXJyZW50IG5vZGUsIGFzIGFuIGFycmF5IG9mXG4gKiAgICAgYFsna2V5JyB8ICd2YWx1ZScsIG51bWJlcl1gIHR1cGxlcy5cbiAqXG4gKiBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSB2aXNpdG9yIG1heSBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHRyYXZlcnNhbDpcbiAqICAgLSBgdW5kZWZpbmVkYCAoZGVmYXVsdCk6IERvIG5vdGhpbmcgYW5kIGNvbnRpbnVlXG4gKiAgIC0gYHZpc2l0LlNLSVBgOiBEbyBub3QgdmlzaXQgdGhlIGNoaWxkcmVuIG9mIHRoaXMgdG9rZW4sIGNvbnRpbnVlIHdpdGhcbiAqICAgICAgbmV4dCBzaWJsaW5nXG4gKiAgIC0gYHZpc2l0LkJSRUFLYDogVGVybWluYXRlIHRyYXZlcnNhbCBjb21wbGV0ZWx5XG4gKiAgIC0gYHZpc2l0LlJFTU9WRWA6IFJlbW92ZSB0aGUgY3VycmVudCBpdGVtLCB0aGVuIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgb25lXG4gKiAgIC0gYG51bWJlcmA6IFNldCB0aGUgaW5kZXggb2YgdGhlIG5leHQgc3RlcC4gVGhpcyBpcyB1c2VmdWwgZXNwZWNpYWxseSBpZlxuICogICAgIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudCB0b2tlbiBoYXMgY2hhbmdlZC5cbiAqICAgLSBgZnVuY3Rpb25gOiBEZWZpbmUgdGhlIG5leHQgdmlzaXRvciBmb3IgdGhpcyBpdGVtLiBBZnRlciB0aGUgb3JpZ2luYWxcbiAqICAgICB2aXNpdG9yIGlzIGNhbGxlZCBvbiBpdGVtIGVudHJ5LCBuZXh0IHZpc2l0b3JzIGFyZSBjYWxsZWQgYWZ0ZXIgaGFuZGxpbmdcbiAqICAgICBhIG5vbi1lbXB0eSBga2V5YCBhbmQgd2hlbiBleGl0aW5nIHRoZSBpdGVtLlxuICovXG5mdW5jdGlvbiB2aXNpdChjc3QsIHZpc2l0b3IpIHtcbiAgICBpZiAoJ3R5cGUnIGluIGNzdCAmJiBjc3QudHlwZSA9PT0gJ2RvY3VtZW50JylcbiAgICAgICAgY3N0ID0geyBzdGFydDogY3N0LnN0YXJ0LCB2YWx1ZTogY3N0LnZhbHVlIH07XG4gICAgX3Zpc2l0KE9iamVjdC5mcmVlemUoW10pLCBjc3QsIHZpc2l0b3IpO1xufVxuLy8gV2l0aG91dCB0aGUgYGFzIHN5bWJvbGAgY2FzdHMsIFRTIGRlY2xhcmVzIHRoZXNlIGluIHRoZSBgdmlzaXRgXG4vLyBuYW1lc3BhY2UgdXNpbmcgYHZhcmAsIGJ1dCB0aGVuIGNvbXBsYWlucyBhYm91dCB0aGF0IGJlY2F1c2Vcbi8vIGB1bmlxdWUgc3ltYm9sYCBtdXN0IGJlIGBjb25zdGAuXG4vKiogVGVybWluYXRlIHZpc2l0IHRyYXZlcnNhbCBjb21wbGV0ZWx5ICovXG52aXNpdC5CUkVBSyA9IEJSRUFLO1xuLyoqIERvIG5vdCB2aXNpdCB0aGUgY2hpbGRyZW4gb2YgdGhlIGN1cnJlbnQgaXRlbSAqL1xudmlzaXQuU0tJUCA9IFNLSVA7XG4vKiogUmVtb3ZlIHRoZSBjdXJyZW50IGl0ZW0gKi9cbnZpc2l0LlJFTU9WRSA9IFJFTU9WRTtcbi8qKiBGaW5kIHRoZSBpdGVtIGF0IGBwYXRoYCBmcm9tIGBjc3RgIGFzIHRoZSByb290ICovXG52aXNpdC5pdGVtQXRQYXRoID0gKGNzdCwgcGF0aCkgPT4ge1xuICAgIGxldCBpdGVtID0gY3N0O1xuICAgIGZvciAoY29uc3QgW2ZpZWxkLCBpbmRleF0gb2YgcGF0aCkge1xuICAgICAgICBjb25zdCB0b2sgPSBpdGVtPy5bZmllbGRdO1xuICAgICAgICBpZiAodG9rICYmICdpdGVtcycgaW4gdG9rKSB7XG4gICAgICAgICAgICBpdGVtID0gdG9rLml0ZW1zW2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbTtcbn07XG4vKipcbiAqIEdldCB0aGUgaW1tZWRpYXRlIHBhcmVudCBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIGF0IGBwYXRoYCBmcm9tIGBjc3RgIGFzIHRoZSByb290LlxuICpcbiAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgY29sbGVjdGlvbiBpcyBub3QgZm91bmQsIHdoaWNoIHNob3VsZCBuZXZlciBoYXBwZW4gaWYgdGhlIGl0ZW0gaXRzZWxmIGV4aXN0cy5cbiAqL1xudmlzaXQucGFyZW50Q29sbGVjdGlvbiA9IChjc3QsIHBhdGgpID0+IHtcbiAgICBjb25zdCBwYXJlbnQgPSB2aXNpdC5pdGVtQXRQYXRoKGNzdCwgcGF0aC5zbGljZSgwLCAtMSkpO1xuICAgIGNvbnN0IGZpZWxkID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdWzBdO1xuICAgIGNvbnN0IGNvbGwgPSBwYXJlbnQ/LltmaWVsZF07XG4gICAgaWYgKGNvbGwgJiYgJ2l0ZW1zJyBpbiBjb2xsKVxuICAgICAgICByZXR1cm4gY29sbDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcmVudCBjb2xsZWN0aW9uIG5vdCBmb3VuZCcpO1xufTtcbmZ1bmN0aW9uIF92aXNpdChwYXRoLCBpdGVtLCB2aXNpdG9yKSB7XG4gICAgbGV0IGN0cmwgPSB2aXNpdG9yKGl0ZW0sIHBhdGgpO1xuICAgIGlmICh0eXBlb2YgY3RybCA9PT0gJ3N5bWJvbCcpXG4gICAgICAgIHJldHVybiBjdHJsO1xuICAgIGZvciAoY29uc3QgZmllbGQgb2YgWydrZXknLCAndmFsdWUnXSkge1xuICAgICAgICBjb25zdCB0b2tlbiA9IGl0ZW1bZmllbGRdO1xuICAgICAgICBpZiAodG9rZW4gJiYgJ2l0ZW1zJyBpbiB0b2tlbikge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b2tlbi5pdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNpID0gX3Zpc2l0KE9iamVjdC5mcmVlemUocGF0aC5jb25jYXQoW1tmaWVsZCwgaV1dKSksIHRva2VuLml0ZW1zW2ldLCB2aXNpdG9yKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNpID09PSAnbnVtYmVyJylcbiAgICAgICAgICAgICAgICAgICAgaSA9IGNpIC0gMTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBCUkVBSztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gUkVNT1ZFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRva2VuLml0ZW1zLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgaSAtPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3RybCA9PT0gJ2Z1bmN0aW9uJyAmJiBmaWVsZCA9PT0gJ2tleScpXG4gICAgICAgICAgICAgICAgY3RybCA9IGN0cmwoaXRlbSwgcGF0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiBjdHJsID09PSAnZnVuY3Rpb24nID8gY3RybChpdGVtLCBwYXRoKSA6IGN0cmw7XG59XG5cbmV4cG9ydCB7IHZpc2l0IH07XG4iLCAiZXhwb3J0IHsgY3JlYXRlU2NhbGFyVG9rZW4sIHJlc29sdmVBc1NjYWxhciwgc2V0U2NhbGFyVmFsdWUgfSBmcm9tICcuL2NzdC1zY2FsYXIuanMnO1xuZXhwb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSAnLi9jc3Qtc3RyaW5naWZ5LmpzJztcbmV4cG9ydCB7IHZpc2l0IH0gZnJvbSAnLi9jc3QtdmlzaXQuanMnO1xuXG4vKiogVGhlIGJ5dGUgb3JkZXIgbWFyayAqL1xuY29uc3QgQk9NID0gJ1xcdXtGRUZGfSc7XG4vKiogU3RhcnQgb2YgZG9jLW1vZGUgKi9cbmNvbnN0IERPQ1VNRU5UID0gJ1xceDAyJzsgLy8gQzA6IFN0YXJ0IG9mIFRleHRcbi8qKiBVbmV4cGVjdGVkIGVuZCBvZiBmbG93LW1vZGUgKi9cbmNvbnN0IEZMT1dfRU5EID0gJ1xceDE4JzsgLy8gQzA6IENhbmNlbFxuLyoqIE5leHQgdG9rZW4gaXMgYSBzY2FsYXIgdmFsdWUgKi9cbmNvbnN0IFNDQUxBUiA9ICdcXHgxZic7IC8vIEMwOiBVbml0IFNlcGFyYXRvclxuLyoqIEByZXR1cm5zIGB0cnVlYCBpZiBgdG9rZW5gIGlzIGEgZmxvdyBvciBibG9jayBjb2xsZWN0aW9uICovXG5jb25zdCBpc0NvbGxlY3Rpb24gPSAodG9rZW4pID0+ICEhdG9rZW4gJiYgJ2l0ZW1zJyBpbiB0b2tlbjtcbi8qKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYHRva2VuYCBpcyBhIGZsb3cgb3IgYmxvY2sgc2NhbGFyOyBub3QgYW4gYWxpYXMgKi9cbmNvbnN0IGlzU2NhbGFyID0gKHRva2VuKSA9PiAhIXRva2VuICYmXG4gICAgKHRva2VuLnR5cGUgPT09ICdzY2FsYXInIHx8XG4gICAgICAgIHRva2VuLnR5cGUgPT09ICdzaW5nbGUtcXVvdGVkLXNjYWxhcicgfHxcbiAgICAgICAgdG9rZW4udHlwZSA9PT0gJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJyB8fFxuICAgICAgICB0b2tlbi50eXBlID09PSAnYmxvY2stc2NhbGFyJyk7XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuLyoqIEdldCBhIHByaW50YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhIGxleGVyIHRva2VuICovXG5mdW5jdGlvbiBwcmV0dHlUb2tlbih0b2tlbikge1xuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgY2FzZSBCT006XG4gICAgICAgICAgICByZXR1cm4gJzxCT00+JztcbiAgICAgICAgY2FzZSBET0NVTUVOVDpcbiAgICAgICAgICAgIHJldHVybiAnPERPQz4nO1xuICAgICAgICBjYXNlIEZMT1dfRU5EOlxuICAgICAgICAgICAgcmV0dXJuICc8RkxPV19FTkQ+JztcbiAgICAgICAgY2FzZSBTQ0FMQVI6XG4gICAgICAgICAgICByZXR1cm4gJzxTQ0FMQVI+JztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0b2tlbik7XG4gICAgfVxufVxuLyoqIElkZW50aWZ5IHRoZSB0eXBlIG9mIGEgbGV4ZXIgdG9rZW4uIE1heSByZXR1cm4gYG51bGxgIGZvciB1bmtub3duIHRva2Vucy4gKi9cbmZ1bmN0aW9uIHRva2VuVHlwZShzb3VyY2UpIHtcbiAgICBzd2l0Y2ggKHNvdXJjZSkge1xuICAgICAgICBjYXNlIEJPTTpcbiAgICAgICAgICAgIHJldHVybiAnYnl0ZS1vcmRlci1tYXJrJztcbiAgICAgICAgY2FzZSBET0NVTUVOVDpcbiAgICAgICAgICAgIHJldHVybiAnZG9jLW1vZGUnO1xuICAgICAgICBjYXNlIEZMT1dfRU5EOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LWVycm9yLWVuZCc7XG4gICAgICAgIGNhc2UgU0NBTEFSOlxuICAgICAgICAgICAgcmV0dXJuICdzY2FsYXInO1xuICAgICAgICBjYXNlICctLS0nOlxuICAgICAgICAgICAgcmV0dXJuICdkb2Mtc3RhcnQnO1xuICAgICAgICBjYXNlICcuLi4nOlxuICAgICAgICAgICAgcmV0dXJuICdkb2MtZW5kJztcbiAgICAgICAgY2FzZSAnJzpcbiAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgY2FzZSAnXFxyXFxuJzpcbiAgICAgICAgICAgIHJldHVybiAnbmV3bGluZSc7XG4gICAgICAgIGNhc2UgJy0nOlxuICAgICAgICAgICAgcmV0dXJuICdzZXEtaXRlbS1pbmQnO1xuICAgICAgICBjYXNlICc/JzpcbiAgICAgICAgICAgIHJldHVybiAnZXhwbGljaXQta2V5LWluZCc7XG4gICAgICAgIGNhc2UgJzonOlxuICAgICAgICAgICAgcmV0dXJuICdtYXAtdmFsdWUtaW5kJztcbiAgICAgICAgY2FzZSAneyc6XG4gICAgICAgICAgICByZXR1cm4gJ2Zsb3ctbWFwLXN0YXJ0JztcbiAgICAgICAgY2FzZSAnfSc6XG4gICAgICAgICAgICByZXR1cm4gJ2Zsb3ctbWFwLWVuZCc7XG4gICAgICAgIGNhc2UgJ1snOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LXNlcS1zdGFydCc7XG4gICAgICAgIGNhc2UgJ10nOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LXNlcS1lbmQnO1xuICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgICAgIHJldHVybiAnY29tbWEnO1xuICAgIH1cbiAgICBzd2l0Y2ggKHNvdXJjZVswXSkge1xuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgY2FzZSAnXFx0JzpcbiAgICAgICAgICAgIHJldHVybiAnc3BhY2UnO1xuICAgICAgICBjYXNlICcjJzpcbiAgICAgICAgICAgIHJldHVybiAnY29tbWVudCc7XG4gICAgICAgIGNhc2UgJyUnOlxuICAgICAgICAgICAgcmV0dXJuICdkaXJlY3RpdmUtbGluZSc7XG4gICAgICAgIGNhc2UgJyonOlxuICAgICAgICAgICAgcmV0dXJuICdhbGlhcyc7XG4gICAgICAgIGNhc2UgJyYnOlxuICAgICAgICAgICAgcmV0dXJuICdhbmNob3InO1xuICAgICAgICBjYXNlICchJzpcbiAgICAgICAgICAgIHJldHVybiAndGFnJztcbiAgICAgICAgY2FzZSBcIidcIjpcbiAgICAgICAgICAgIHJldHVybiAnc2luZ2xlLXF1b3RlZC1zY2FsYXInO1xuICAgICAgICBjYXNlICdcIic6XG4gICAgICAgICAgICByZXR1cm4gJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJztcbiAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgIGNhc2UgJz4nOlxuICAgICAgICAgICAgcmV0dXJuICdibG9jay1zY2FsYXItaGVhZGVyJztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCB7IEJPTSwgRE9DVU1FTlQsIEZMT1dfRU5ELCBTQ0FMQVIsIGlzQ29sbGVjdGlvbiwgaXNTY2FsYXIsIHByZXR0eVRva2VuLCB0b2tlblR5cGUgfTtcbiIsICJpbXBvcnQgeyBCT00sIERPQ1VNRU5ULCBGTE9XX0VORCwgU0NBTEFSIH0gZnJvbSAnLi9jc3QuanMnO1xuXG4vKlxuU1RBUlQgLT4gc3RyZWFtXG5cbnN0cmVhbVxuICBkaXJlY3RpdmUgLT4gbGluZS1lbmQgLT4gc3RyZWFtXG4gIGluZGVudCArIGxpbmUtZW5kIC0+IHN0cmVhbVxuICBbZWxzZV0gLT4gbGluZS1zdGFydFxuXG5saW5lLWVuZFxuICBjb21tZW50IC0+IGxpbmUtZW5kXG4gIG5ld2xpbmUgLT4gLlxuICBpbnB1dC1lbmQgLT4gRU5EXG5cbmxpbmUtc3RhcnRcbiAgZG9jLXN0YXJ0IC0+IGRvY1xuICBkb2MtZW5kIC0+IHN0cmVhbVxuICBbZWxzZV0gLT4gaW5kZW50IC0+IGJsb2NrLXN0YXJ0XG5cbmJsb2NrLXN0YXJ0XG4gIHNlcS1pdGVtLXN0YXJ0IC0+IGJsb2NrLXN0YXJ0XG4gIGV4cGxpY2l0LWtleS1zdGFydCAtPiBibG9jay1zdGFydFxuICBtYXAtdmFsdWUtc3RhcnQgLT4gYmxvY2stc3RhcnRcbiAgW2Vsc2VdIC0+IGRvY1xuXG5kb2NcbiAgbGluZS1lbmQgLT4gbGluZS1zdGFydFxuICBzcGFjZXMgLT4gZG9jXG4gIGFuY2hvciAtPiBkb2NcbiAgdGFnIC0+IGRvY1xuICBmbG93LXN0YXJ0IC0+IGZsb3cgLT4gZG9jXG4gIGZsb3ctZW5kIC0+IGVycm9yIC0+IGRvY1xuICBzZXEtaXRlbS1zdGFydCAtPiBlcnJvciAtPiBkb2NcbiAgZXhwbGljaXQta2V5LXN0YXJ0IC0+IGVycm9yIC0+IGRvY1xuICBtYXAtdmFsdWUtc3RhcnQgLT4gZG9jXG4gIGFsaWFzIC0+IGRvY1xuICBxdW90ZS1zdGFydCAtPiBxdW90ZWQtc2NhbGFyIC0+IGRvY1xuICBibG9jay1zY2FsYXItaGVhZGVyIC0+IGxpbmUtZW5kIC0+IGJsb2NrLXNjYWxhcihtaW4pIC0+IGxpbmUtc3RhcnRcbiAgW2Vsc2VdIC0+IHBsYWluLXNjYWxhcihmYWxzZSwgbWluKSAtPiBkb2NcblxuZmxvd1xuICBsaW5lLWVuZCAtPiBmbG93XG4gIHNwYWNlcyAtPiBmbG93XG4gIGFuY2hvciAtPiBmbG93XG4gIHRhZyAtPiBmbG93XG4gIGZsb3ctc3RhcnQgLT4gZmxvdyAtPiBmbG93XG4gIGZsb3ctZW5kIC0+IC5cbiAgc2VxLWl0ZW0tc3RhcnQgLT4gZXJyb3IgLT4gZmxvd1xuICBleHBsaWNpdC1rZXktc3RhcnQgLT4gZmxvd1xuICBtYXAtdmFsdWUtc3RhcnQgLT4gZmxvd1xuICBhbGlhcyAtPiBmbG93XG4gIHF1b3RlLXN0YXJ0IC0+IHF1b3RlZC1zY2FsYXIgLT4gZmxvd1xuICBjb21tYSAtPiBmbG93XG4gIFtlbHNlXSAtPiBwbGFpbi1zY2FsYXIodHJ1ZSwgMCkgLT4gZmxvd1xuXG5xdW90ZWQtc2NhbGFyXG4gIHF1b3RlLWVuZCAtPiAuXG4gIFtlbHNlXSAtPiBxdW90ZWQtc2NhbGFyXG5cbmJsb2NrLXNjYWxhcihtaW4pXG4gIG5ld2xpbmUgKyBwZWVrKGluZGVudCA8IG1pbikgLT4gLlxuICBbZWxzZV0gLT4gYmxvY2stc2NhbGFyKG1pbilcblxucGxhaW4tc2NhbGFyKGlzLWZsb3csIG1pbilcbiAgc2NhbGFyLWVuZChpcy1mbG93KSAtPiAuXG4gIHBlZWsobmV3bGluZSArIChpbmRlbnQgPCBtaW4pKSAtPiAuXG4gIFtlbHNlXSAtPiBwbGFpbi1zY2FsYXIobWluKVxuKi9cbmZ1bmN0aW9uIGlzRW1wdHkoY2gpIHtcbiAgICBzd2l0Y2ggKGNoKSB7XG4gICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgY2FzZSAnXFxyJzpcbiAgICAgICAgY2FzZSAnXFx0JzpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbmNvbnN0IGhleERpZ2l0cyA9IG5ldyBTZXQoJzAxMjM0NTY3ODlBQkNERUZhYmNkZWYnKTtcbmNvbnN0IHRhZ0NoYXJzID0gbmV3IFNldChcIjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6LSM7Lz86QCY9KyRfLiF+KicoKVwiKTtcbmNvbnN0IGZsb3dJbmRpY2F0b3JDaGFycyA9IG5ldyBTZXQoJyxbXXt9Jyk7XG5jb25zdCBpbnZhbGlkQW5jaG9yQ2hhcnMgPSBuZXcgU2V0KCcgLFtde31cXG5cXHJcXHQnKTtcbmNvbnN0IGlzTm90QW5jaG9yQ2hhciA9IChjaCkgPT4gIWNoIHx8IGludmFsaWRBbmNob3JDaGFycy5oYXMoY2gpO1xuLyoqXG4gKiBTcGxpdHMgYW4gaW5wdXQgc3RyaW5nIGludG8gbGV4aWNhbCB0b2tlbnMsIGkuZS4gc21hbGxlciBzdHJpbmdzIHRoYXQgYXJlXG4gKiBlYXNpbHkgaWRlbnRpZmlhYmxlIGJ5IGB0b2tlbnMudG9rZW5UeXBlKClgLlxuICpcbiAqIExleGluZyBzdGFydHMgYWx3YXlzIGluIGEgXCJzdHJlYW1cIiBjb250ZXh0LiBJbmNvbXBsZXRlIGlucHV0IG1heSBiZSBidWZmZXJlZFxuICogdW50aWwgYSBjb21wbGV0ZSB0b2tlbiBjYW4gYmUgZW1pdHRlZC5cbiAqXG4gKiBJbiBhZGRpdGlvbiB0byBzbGljZXMgb2YgdGhlIG9yaWdpbmFsIGlucHV0LCB0aGUgZm9sbG93aW5nIGNvbnRyb2wgY2hhcmFjdGVyc1xuICogbWF5IGFsc28gYmUgZW1pdHRlZDpcbiAqXG4gKiAtIGBcXHgwMmAgKFN0YXJ0IG9mIFRleHQpOiBBIGRvY3VtZW50IHN0YXJ0cyB3aXRoIHRoZSBuZXh0IHRva2VuXG4gKiAtIGBcXHgxOGAgKENhbmNlbCk6IFVuZXhwZWN0ZWQgZW5kIG9mIGZsb3ctbW9kZSAoaW5kaWNhdGVzIGFuIGVycm9yKVxuICogLSBgXFx4MWZgIChVbml0IFNlcGFyYXRvcik6IE5leHQgdG9rZW4gaXMgYSBzY2FsYXIgdmFsdWVcbiAqIC0gYFxcdXtGRUZGfWAgKEJ5dGUgb3JkZXIgbWFyayk6IEVtaXR0ZWQgc2VwYXJhdGVseSBvdXRzaWRlIGRvY3VtZW50c1xuICovXG5jbGFzcyBMZXhlciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGJ1ZmZlciBtYXJrcyB0aGUgZW5kIG9mXG4gICAgICAgICAqIGFsbCBpbnB1dFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5hdEVuZCA9IGZhbHNlO1xuICAgICAgICAvKipcbiAgICAgICAgICogRXhwbGljaXQgaW5kZW50IHNldCBpbiBibG9jayBzY2FsYXIgaGVhZGVyLCBhcyBhbiBvZmZzZXQgZnJvbSB0aGUgY3VycmVudFxuICAgICAgICAgKiBtaW5pbXVtIGluZGVudCwgc28gZS5nLiBzZXQgdG8gMSBmcm9tIGEgaGVhZGVyIGB8MitgLiBTZXQgdG8gLTEgaWYgbm90XG4gICAgICAgICAqIGV4cGxpY2l0bHkgc2V0LlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5ibG9ja1NjYWxhckluZGVudCA9IC0xO1xuICAgICAgICAvKipcbiAgICAgICAgICogQmxvY2sgc2NhbGFycyB0aGF0IGluY2x1ZGUgYSArIChrZWVwKSBjaG9tcGluZyBpbmRpY2F0b3IgaW4gdGhlaXIgaGVhZGVyXG4gICAgICAgICAqIGluY2x1ZGUgdHJhaWxpbmcgZW1wdHkgbGluZXMsIHdoaWNoIGFyZSBvdGhlcndpc2UgZXhjbHVkZWQgZnJvbSB0aGVcbiAgICAgICAgICogc2NhbGFyJ3MgY29udGVudHMuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJsb2NrU2NhbGFyS2VlcCA9IGZhbHNlO1xuICAgICAgICAvKiogQ3VycmVudCBpbnB1dCAqL1xuICAgICAgICB0aGlzLmJ1ZmZlciA9ICcnO1xuICAgICAgICAvKipcbiAgICAgICAgICogRmxhZyBub3Rpbmcgd2hldGhlciB0aGUgbWFwIHZhbHVlIGluZGljYXRvciA6IGNhbiBpbW1lZGlhdGVseSBmb2xsb3cgdGhpc1xuICAgICAgICAgKiBub2RlIHdpdGhpbiBhIGZsb3cgY29udGV4dC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZmxvd0tleSA9IGZhbHNlO1xuICAgICAgICAvKiogQ291bnQgb2Ygc3Vycm91bmRpbmcgZmxvdyBjb2xsZWN0aW9uIGxldmVscy4gKi9cbiAgICAgICAgdGhpcy5mbG93TGV2ZWwgPSAwO1xuICAgICAgICAvKipcbiAgICAgICAgICogTWluaW11bSBsZXZlbCBvZiBpbmRlbnRhdGlvbiByZXF1aXJlZCBmb3IgbmV4dCBsaW5lcyB0byBiZSBwYXJzZWQgYXMgYVxuICAgICAgICAgKiBwYXJ0IG9mIHRoZSBjdXJyZW50IHNjYWxhciB2YWx1ZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IDA7XG4gICAgICAgIC8qKiBJbmRlbnRhdGlvbiBsZXZlbCBvZiB0aGUgY3VycmVudCBsaW5lLiAqL1xuICAgICAgICB0aGlzLmluZGVudFZhbHVlID0gMDtcbiAgICAgICAgLyoqIFBvc2l0aW9uIG9mIHRoZSBuZXh0IFxcbiBjaGFyYWN0ZXIuICovXG4gICAgICAgIHRoaXMubGluZUVuZFBvcyA9IG51bGw7XG4gICAgICAgIC8qKiBTdG9yZXMgdGhlIHN0YXRlIG9mIHRoZSBsZXhlciBpZiByZWFjaGluZyB0aGUgZW5kIG9mIGluY3BvbXBsZXRlIGlucHV0ICovXG4gICAgICAgIHRoaXMubmV4dCA9IG51bGw7XG4gICAgICAgIC8qKiBBIHBvaW50ZXIgdG8gYGJ1ZmZlcmA7IHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBsZXhlci4gKi9cbiAgICAgICAgdGhpcy5wb3MgPSAwO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSBZQU1MIHRva2VucyBmcm9tIHRoZSBgc291cmNlYCBzdHJpbmcuIElmIGBpbmNvbXBsZXRlYCxcbiAgICAgKiBhIHBhcnQgb2YgdGhlIGxhc3QgbGluZSBtYXkgYmUgbGVmdCBhcyBhIGJ1ZmZlciBmb3IgdGhlIG5leHQgY2FsbC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEEgZ2VuZXJhdG9yIG9mIGxleGljYWwgdG9rZW5zXG4gICAgICovXG4gICAgKmxleChzb3VyY2UsIGluY29tcGxldGUgPSBmYWxzZSkge1xuICAgICAgICBpZiAoc291cmNlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHNvdXJjZSAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICAgICAgdGhyb3cgVHlwZUVycm9yKCdzb3VyY2UgaXMgbm90IGEgc3RyaW5nJyk7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuYnVmZmVyID8gdGhpcy5idWZmZXIgKyBzb3VyY2UgOiBzb3VyY2U7XG4gICAgICAgICAgICB0aGlzLmxpbmVFbmRQb3MgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXRFbmQgPSAhaW5jb21wbGV0ZTtcbiAgICAgICAgbGV0IG5leHQgPSB0aGlzLm5leHQgPz8gJ3N0cmVhbSc7XG4gICAgICAgIHdoaWxlIChuZXh0ICYmIChpbmNvbXBsZXRlIHx8IHRoaXMuaGFzQ2hhcnMoMSkpKVxuICAgICAgICAgICAgbmV4dCA9IHlpZWxkKiB0aGlzLnBhcnNlTmV4dChuZXh0KTtcbiAgICB9XG4gICAgYXRMaW5lRW5kKCkge1xuICAgICAgICBsZXQgaSA9IHRoaXMucG9zO1xuICAgICAgICBsZXQgY2ggPSB0aGlzLmJ1ZmZlcltpXTtcbiAgICAgICAgd2hpbGUgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKVxuICAgICAgICAgICAgY2ggPSB0aGlzLmJ1ZmZlclsrK2ldO1xuICAgICAgICBpZiAoIWNoIHx8IGNoID09PSAnIycgfHwgY2ggPT09ICdcXG4nKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGlmIChjaCA9PT0gJ1xccicpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5idWZmZXJbaSArIDFdID09PSAnXFxuJztcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjaGFyQXQobikge1xuICAgICAgICByZXR1cm4gdGhpcy5idWZmZXJbdGhpcy5wb3MgKyBuXTtcbiAgICB9XG4gICAgY29udGludWVTY2FsYXIob2Zmc2V0KSB7XG4gICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW29mZnNldF07XG4gICAgICAgIGlmICh0aGlzLmluZGVudE5leHQgPiAwKSB7XG4gICAgICAgICAgICBsZXQgaW5kZW50ID0gMDtcbiAgICAgICAgICAgIHdoaWxlIChjaCA9PT0gJyAnKVxuICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpbmRlbnQgKyBvZmZzZXRdO1xuICAgICAgICAgICAgaWYgKGNoID09PSAnXFxyJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmJ1ZmZlcltpbmRlbnQgKyBvZmZzZXQgKyAxXTtcbiAgICAgICAgICAgICAgICBpZiAobmV4dCA9PT0gJ1xcbicgfHwgKCFuZXh0ICYmICF0aGlzLmF0RW5kKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mZnNldCArIGluZGVudCArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2ggPT09ICdcXG4nIHx8IGluZGVudCA+PSB0aGlzLmluZGVudE5leHQgfHwgKCFjaCAmJiAhdGhpcy5hdEVuZClcbiAgICAgICAgICAgICAgICA/IG9mZnNldCArIGluZGVudFxuICAgICAgICAgICAgICAgIDogLTE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoID09PSAnLScgfHwgY2ggPT09ICcuJykge1xuICAgICAgICAgICAgY29uc3QgZHQgPSB0aGlzLmJ1ZmZlci5zdWJzdHIob2Zmc2V0LCAzKTtcbiAgICAgICAgICAgIGlmICgoZHQgPT09ICctLS0nIHx8IGR0ID09PSAnLi4uJykgJiYgaXNFbXB0eSh0aGlzLmJ1ZmZlcltvZmZzZXQgKyAzXSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZmZzZXQ7XG4gICAgfVxuICAgIGdldExpbmUoKSB7XG4gICAgICAgIGxldCBlbmQgPSB0aGlzLmxpbmVFbmRQb3M7XG4gICAgICAgIGlmICh0eXBlb2YgZW5kICE9PSAnbnVtYmVyJyB8fCAoZW5kICE9PSAtMSAmJiBlbmQgPCB0aGlzLnBvcykpIHtcbiAgICAgICAgICAgIGVuZCA9IHRoaXMuYnVmZmVyLmluZGV4T2YoJ1xcbicsIHRoaXMucG9zKTtcbiAgICAgICAgICAgIHRoaXMubGluZUVuZFBvcyA9IGVuZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5kID09PSAtMSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmF0RW5kID8gdGhpcy5idWZmZXIuc3Vic3RyaW5nKHRoaXMucG9zKSA6IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmJ1ZmZlcltlbmQgLSAxXSA9PT0gJ1xccicpXG4gICAgICAgICAgICBlbmQgLT0gMTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcywgZW5kKTtcbiAgICB9XG4gICAgaGFzQ2hhcnMobikge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3MgKyBuIDw9IHRoaXMuYnVmZmVyLmxlbmd0aDtcbiAgICB9XG4gICAgc2V0TmV4dChzdGF0ZSkge1xuICAgICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcyk7XG4gICAgICAgIHRoaXMucG9zID0gMDtcbiAgICAgICAgdGhpcy5saW5lRW5kUG9zID0gbnVsbDtcbiAgICAgICAgdGhpcy5uZXh0ID0gc3RhdGU7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwZWVrKG4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyLnN1YnN0cih0aGlzLnBvcywgbik7XG4gICAgfVxuICAgICpwYXJzZU5leHQobmV4dCkge1xuICAgICAgICBzd2l0Y2ggKG5leHQpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0cmVhbSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlU3RyZWFtKCk7XG4gICAgICAgICAgICBjYXNlICdsaW5lLXN0YXJ0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VMaW5lU3RhcnQoKTtcbiAgICAgICAgICAgIGNhc2UgJ2Jsb2NrLXN0YXJ0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VCbG9ja1N0YXJ0KCk7XG4gICAgICAgICAgICBjYXNlICdkb2MnOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZURvY3VtZW50KCk7XG4gICAgICAgICAgICBjYXNlICdmbG93JzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VGbG93Q29sbGVjdGlvbigpO1xuICAgICAgICAgICAgY2FzZSAncXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlUXVvdGVkU2NhbGFyKCk7XG4gICAgICAgICAgICBjYXNlICdibG9jay1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZUJsb2NrU2NhbGFyKCk7XG4gICAgICAgICAgICBjYXNlICdwbGFpbi1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZVBsYWluU2NhbGFyKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKnBhcnNlU3RyZWFtKCkge1xuICAgICAgICBsZXQgbGluZSA9IHRoaXMuZ2V0TGluZSgpO1xuICAgICAgICBpZiAobGluZSA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ3N0cmVhbScpO1xuICAgICAgICBpZiAobGluZVswXSA9PT0gQk9NKSB7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQoMSk7XG4gICAgICAgICAgICBsaW5lID0gbGluZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmVbMF0gPT09ICclJykge1xuICAgICAgICAgICAgbGV0IGRpckVuZCA9IGxpbmUubGVuZ3RoO1xuICAgICAgICAgICAgbGV0IGNzID0gbGluZS5pbmRleE9mKCcjJyk7XG4gICAgICAgICAgICB3aGlsZSAoY3MgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2ggPSBsaW5lW2NzIC0gMV07XG4gICAgICAgICAgICAgICAgaWYgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpckVuZCA9IGNzIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjcyA9IGxpbmUuaW5kZXhPZignIycsIGNzICsgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaCA9IGxpbmVbZGlyRW5kIC0gMV07XG4gICAgICAgICAgICAgICAgaWYgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKVxuICAgICAgICAgICAgICAgICAgICBkaXJFbmQgLT0gMTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbiA9ICh5aWVsZCogdGhpcy5wdXNoQ291bnQoZGlyRW5kKSkgKyAoeWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKSk7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQobGluZS5sZW5ndGggLSBuKTsgLy8gcG9zc2libGUgY29tbWVudFxuICAgICAgICAgICAgdGhpcy5wdXNoTmV3bGluZSgpO1xuICAgICAgICAgICAgcmV0dXJuICdzdHJlYW0nO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmF0TGluZUVuZCgpKSB7XG4gICAgICAgICAgICBjb25zdCBzcCA9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQobGluZS5sZW5ndGggLSBzcCk7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoTmV3bGluZSgpO1xuICAgICAgICAgICAgcmV0dXJuICdzdHJlYW0nO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkIERPQ1VNRU5UO1xuICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VMaW5lU3RhcnQoKTtcbiAgICB9XG4gICAgKnBhcnNlTGluZVN0YXJ0KCkge1xuICAgICAgICBjb25zdCBjaCA9IHRoaXMuY2hhckF0KDApO1xuICAgICAgICBpZiAoIWNoICYmICF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnbGluZS1zdGFydCcpO1xuICAgICAgICBpZiAoY2ggPT09ICctJyB8fCBjaCA9PT0gJy4nKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYXRFbmQgJiYgIXRoaXMuaGFzQ2hhcnMoNCkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnbGluZS1zdGFydCcpO1xuICAgICAgICAgICAgY29uc3QgcyA9IHRoaXMucGVlaygzKTtcbiAgICAgICAgICAgIGlmICgocyA9PT0gJy0tLScgfHwgcyA9PT0gJy4uLicpICYmIGlzRW1wdHkodGhpcy5jaGFyQXQoMykpKSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KDMpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50VmFsdWUgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHMgPT09ICctLS0nID8gJ2RvYycgOiAnc3RyZWFtJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluZGVudFZhbHVlID0geWllbGQqIHRoaXMucHVzaFNwYWNlcyhmYWxzZSk7XG4gICAgICAgIGlmICh0aGlzLmluZGVudE5leHQgPiB0aGlzLmluZGVudFZhbHVlICYmICFpc0VtcHR5KHRoaXMuY2hhckF0KDEpKSlcbiAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IHRoaXMuaW5kZW50VmFsdWU7XG4gICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZUJsb2NrU3RhcnQoKTtcbiAgICB9XG4gICAgKnBhcnNlQmxvY2tTdGFydCgpIHtcbiAgICAgICAgY29uc3QgW2NoMCwgY2gxXSA9IHRoaXMucGVlaygyKTtcbiAgICAgICAgaWYgKCFjaDEgJiYgIXRoaXMuYXRFbmQpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdibG9jay1zdGFydCcpO1xuICAgICAgICBpZiAoKGNoMCA9PT0gJy0nIHx8IGNoMCA9PT0gJz8nIHx8IGNoMCA9PT0gJzonKSAmJiBpc0VtcHR5KGNoMSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeWllbGQqIHRoaXMucHVzaENvdW50KDEpKSArICh5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpKTtcbiAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IHRoaXMuaW5kZW50VmFsdWUgKyAxO1xuICAgICAgICAgICAgdGhpcy5pbmRlbnRWYWx1ZSArPSBuO1xuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlQmxvY2tTdGFydCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnZG9jJztcbiAgICB9XG4gICAgKnBhcnNlRG9jdW1lbnQoKSB7XG4gICAgICAgIHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLmdldExpbmUoKTtcbiAgICAgICAgaWYgKGxpbmUgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdkb2MnKTtcbiAgICAgICAgbGV0IG4gPSB5aWVsZCogdGhpcy5wdXNoSW5kaWNhdG9ycygpO1xuICAgICAgICBzd2l0Y2ggKGxpbmVbbl0pIHtcbiAgICAgICAgICAgIGNhc2UgJyMnOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudChsaW5lLmxlbmd0aCAtIG4pO1xuICAgICAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hOZXdsaW5lKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlTGluZVN0YXJ0KCk7XG4gICAgICAgICAgICBjYXNlICd7JzpcbiAgICAgICAgICAgIGNhc2UgJ1snOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dLZXkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dMZXZlbCA9IDE7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgIGNhc2UgJ30nOlxuICAgICAgICAgICAgY2FzZSAnXSc6XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBhbiBlcnJvclxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2RvYyc7XG4gICAgICAgICAgICBjYXNlICcqJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoVW50aWwoaXNOb3RBbmNob3JDaGFyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2RvYyc7XG4gICAgICAgICAgICBjYXNlICdcIic6XG4gICAgICAgICAgICBjYXNlIFwiJ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpO1xuICAgICAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICBuICs9IHlpZWxkKiB0aGlzLnBhcnNlQmxvY2tTY2FsYXJIZWFkZXIoKTtcbiAgICAgICAgICAgICAgICBuICs9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KGxpbmUubGVuZ3RoIC0gbik7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaE5ld2xpbmUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VCbG9ja1NjYWxhcigpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VQbGFpblNjYWxhcigpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwYXJzZUZsb3dDb2xsZWN0aW9uKCkge1xuICAgICAgICBsZXQgbmwsIHNwO1xuICAgICAgICBsZXQgaW5kZW50ID0gLTE7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIG5sID0geWllbGQqIHRoaXMucHVzaE5ld2xpbmUoKTtcbiAgICAgICAgICAgIGlmIChubCA+IDApIHtcbiAgICAgICAgICAgICAgICBzcCA9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXMoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50VmFsdWUgPSBpbmRlbnQgPSBzcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHNwID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwICs9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgIH0gd2hpbGUgKG5sICsgc3AgPiAwKTtcbiAgICAgICAgY29uc3QgbGluZSA9IHRoaXMuZ2V0TGluZSgpO1xuICAgICAgICBpZiAobGluZSA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ2Zsb3cnKTtcbiAgICAgICAgaWYgKChpbmRlbnQgIT09IC0xICYmIGluZGVudCA8IHRoaXMuaW5kZW50TmV4dCAmJiBsaW5lWzBdICE9PSAnIycpIHx8XG4gICAgICAgICAgICAoaW5kZW50ID09PSAwICYmXG4gICAgICAgICAgICAgICAgKGxpbmUuc3RhcnRzV2l0aCgnLS0tJykgfHwgbGluZS5zdGFydHNXaXRoKCcuLi4nKSkgJiZcbiAgICAgICAgICAgICAgICBpc0VtcHR5KGxpbmVbM10pKSkge1xuICAgICAgICAgICAgLy8gQWxsb3dpbmcgZm9yIHRoZSB0ZXJtaW5hbCBdIG9yIH0gYXQgdGhlIHNhbWUgKHJhdGhlciB0aGFuIGdyZWF0ZXIpXG4gICAgICAgICAgICAvLyBpbmRlbnQgbGV2ZWwgYXMgdGhlIGluaXRpYWwgWyBvciB7IGlzIHRlY2huaWNhbGx5IGludmFsaWQsIGJ1dFxuICAgICAgICAgICAgLy8gZmFpbGluZyBoZXJlIHdvdWxkIGJlIHN1cnByaXNpbmcgdG8gdXNlcnMuXG4gICAgICAgICAgICBjb25zdCBhdEZsb3dFbmRNYXJrZXIgPSBpbmRlbnQgPT09IHRoaXMuaW5kZW50TmV4dCAtIDEgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dMZXZlbCA9PT0gMSAmJlxuICAgICAgICAgICAgICAgIChsaW5lWzBdID09PSAnXScgfHwgbGluZVswXSA9PT0gJ30nKTtcbiAgICAgICAgICAgIGlmICghYXRGbG93RW5kTWFya2VyKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBhbiBlcnJvclxuICAgICAgICAgICAgICAgIHRoaXMuZmxvd0xldmVsID0gMDtcbiAgICAgICAgICAgICAgICB5aWVsZCBGTE9XX0VORDtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VMaW5lU3RhcnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgbiA9IDA7XG4gICAgICAgIHdoaWxlIChsaW5lW25dID09PSAnLCcpIHtcbiAgICAgICAgICAgIG4gKz0geWllbGQqIHRoaXMucHVzaENvdW50KDEpO1xuICAgICAgICAgICAgbiArPSB5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbiArPSB5aWVsZCogdGhpcy5wdXNoSW5kaWNhdG9ycygpO1xuICAgICAgICBzd2l0Y2ggKGxpbmVbbl0pIHtcbiAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZmxvdyc7XG4gICAgICAgICAgICBjYXNlICcjJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQobGluZS5sZW5ndGggLSBuKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Zsb3cnO1xuICAgICAgICAgICAgY2FzZSAneyc6XG4gICAgICAgICAgICBjYXNlICdbJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQoMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93TGV2ZWwgKz0gMTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Zsb3cnO1xuICAgICAgICAgICAgY2FzZSAnfSc6XG4gICAgICAgICAgICBjYXNlICddJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQoMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dMZXZlbCAtPSAxO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZsb3dMZXZlbCA/ICdmbG93JyA6ICdkb2MnO1xuICAgICAgICAgICAgY2FzZSAnKic6XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaFVudGlsKGlzTm90QW5jaG9yQ2hhcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgIGNhc2UgJ1wiJzpcbiAgICAgICAgICAgIGNhc2UgXCInXCI6XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKTtcbiAgICAgICAgICAgIGNhc2UgJzonOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuY2hhckF0KDEpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZsb3dLZXkgfHwgaXNFbXB0eShuZXh0KSB8fCBuZXh0ID09PSAnLCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dLZXkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VQbGFpblNjYWxhcigpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwYXJzZVF1b3RlZFNjYWxhcigpIHtcbiAgICAgICAgY29uc3QgcXVvdGUgPSB0aGlzLmNoYXJBdCgwKTtcbiAgICAgICAgbGV0IGVuZCA9IHRoaXMuYnVmZmVyLmluZGV4T2YocXVvdGUsIHRoaXMucG9zICsgMSk7XG4gICAgICAgIGlmIChxdW90ZSA9PT0gXCInXCIpIHtcbiAgICAgICAgICAgIHdoaWxlIChlbmQgIT09IC0xICYmIHRoaXMuYnVmZmVyW2VuZCArIDFdID09PSBcIidcIilcbiAgICAgICAgICAgICAgICBlbmQgPSB0aGlzLmJ1ZmZlci5pbmRleE9mKFwiJ1wiLCBlbmQgKyAyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGRvdWJsZS1xdW90ZVxuICAgICAgICAgICAgd2hpbGUgKGVuZCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBsZXQgbiA9IDA7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHRoaXMuYnVmZmVyW2VuZCAtIDEgLSBuXSA9PT0gJ1xcXFwnKVxuICAgICAgICAgICAgICAgICAgICBuICs9IDE7XG4gICAgICAgICAgICAgICAgaWYgKG4gJSAyID09PSAwKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBlbmQgPSB0aGlzLmJ1ZmZlci5pbmRleE9mKCdcIicsIGVuZCArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgbG9va2luZyBmb3IgbmV3bGluZXMgd2l0aGluIHRoZSBxdW90ZXNcbiAgICAgICAgY29uc3QgcWIgPSB0aGlzLmJ1ZmZlci5zdWJzdHJpbmcoMCwgZW5kKTtcbiAgICAgICAgbGV0IG5sID0gcWIuaW5kZXhPZignXFxuJywgdGhpcy5wb3MpO1xuICAgICAgICBpZiAobmwgIT09IC0xKSB7XG4gICAgICAgICAgICB3aGlsZSAobmwgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3MgPSB0aGlzLmNvbnRpbnVlU2NhbGFyKG5sICsgMSk7XG4gICAgICAgICAgICAgICAgaWYgKGNzID09PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgbmwgPSBxYi5pbmRleE9mKCdcXG4nLCBjcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmwgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBhbiBlcnJvciBjYXVzZWQgYnkgYW4gdW5leHBlY3RlZCB1bmluZGVudFxuICAgICAgICAgICAgICAgIGVuZCA9IG5sIC0gKHFiW25sIC0gMV0gPT09ICdcXHInID8gMiA6IDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChlbmQgPT09IC0xKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYXRFbmQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgncXVvdGVkLXNjYWxhcicpO1xuICAgICAgICAgICAgZW5kID0gdGhpcy5idWZmZXIubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkKiB0aGlzLnB1c2hUb0luZGV4KGVuZCArIDEsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvd0xldmVsID8gJ2Zsb3cnIDogJ2RvYyc7XG4gICAgfVxuICAgICpwYXJzZUJsb2NrU2NhbGFySGVhZGVyKCkge1xuICAgICAgICB0aGlzLmJsb2NrU2NhbGFySW5kZW50ID0gLTE7XG4gICAgICAgIHRoaXMuYmxvY2tTY2FsYXJLZWVwID0gZmFsc2U7XG4gICAgICAgIGxldCBpID0gdGhpcy5wb3M7XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBjb25zdCBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgICAgICBpZiAoY2ggPT09ICcrJylcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrU2NhbGFyS2VlcCA9IHRydWU7XG4gICAgICAgICAgICBlbHNlIGlmIChjaCA+ICcwJyAmJiBjaCA8PSAnOScpXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja1NjYWxhckluZGVudCA9IE51bWJlcihjaCkgLSAxO1xuICAgICAgICAgICAgZWxzZSBpZiAoY2ggIT09ICctJylcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucHVzaFVudGlsKGNoID0+IGlzRW1wdHkoY2gpIHx8IGNoID09PSAnIycpO1xuICAgIH1cbiAgICAqcGFyc2VCbG9ja1NjYWxhcigpIHtcbiAgICAgICAgbGV0IG5sID0gdGhpcy5wb3MgLSAxOyAvLyBtYXkgYmUgLTEgaWYgdGhpcy5wb3MgPT09IDBcbiAgICAgICAgbGV0IGluZGVudCA9IDA7XG4gICAgICAgIGxldCBjaDtcbiAgICAgICAgbG9vcDogZm9yIChsZXQgaSA9IHRoaXMucG9zOyAoY2ggPSB0aGlzLmJ1ZmZlcltpXSk7ICsraSkge1xuICAgICAgICAgICAgc3dpdGNoIChjaCkge1xuICAgICAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQgKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgICAgICAgICAgICAgbmwgPSBpO1xuICAgICAgICAgICAgICAgICAgICBpbmRlbnQgPSAwO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdcXHInOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmJ1ZmZlcltpICsgMV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbmV4dCAmJiAhdGhpcy5hdEVuZClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ2Jsb2NrLXNjYWxhcicpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV4dCA9PT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9IC8vIGZhbGx0aHJvdWdoXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgbG9vcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNoICYmICF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnYmxvY2stc2NhbGFyJyk7XG4gICAgICAgIGlmIChpbmRlbnQgPj0gdGhpcy5pbmRlbnROZXh0KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5ibG9ja1NjYWxhckluZGVudCA9PT0gLTEpXG4gICAgICAgICAgICAgICAgdGhpcy5pbmRlbnROZXh0ID0gaW5kZW50O1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmRlbnROZXh0ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9ja1NjYWxhckluZGVudCArICh0aGlzLmluZGVudE5leHQgPT09IDAgPyAxIDogdGhpcy5pbmRlbnROZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjcyA9IHRoaXMuY29udGludWVTY2FsYXIobmwgKyAxKTtcbiAgICAgICAgICAgICAgICBpZiAoY3MgPT09IC0xKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBubCA9IHRoaXMuYnVmZmVyLmluZGV4T2YoJ1xcbicsIGNzKTtcbiAgICAgICAgICAgIH0gd2hpbGUgKG5sICE9PSAtMSk7XG4gICAgICAgICAgICBpZiAobmwgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdibG9jay1zY2FsYXInKTtcbiAgICAgICAgICAgICAgICBubCA9IHRoaXMuYnVmZmVyLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBUcmFpbGluZyBpbnN1ZmZpY2llbnRseSBpbmRlbnRlZCB0YWJzIGFyZSBpbnZhbGlkLlxuICAgICAgICAvLyBUbyBjYXRjaCB0aGF0IGR1cmluZyBwYXJzaW5nLCB3ZSBpbmNsdWRlIHRoZW0gaW4gdGhlIGJsb2NrIHNjYWxhciB2YWx1ZS5cbiAgICAgICAgbGV0IGkgPSBubCArIDE7XG4gICAgICAgIGNoID0gdGhpcy5idWZmZXJbaV07XG4gICAgICAgIHdoaWxlIChjaCA9PT0gJyAnKVxuICAgICAgICAgICAgY2ggPSB0aGlzLmJ1ZmZlclsrK2ldO1xuICAgICAgICBpZiAoY2ggPT09ICdcXHQnKSB7XG4gICAgICAgICAgICB3aGlsZSAoY2ggPT09ICdcXHQnIHx8IGNoID09PSAnICcgfHwgY2ggPT09ICdcXHInIHx8IGNoID09PSAnXFxuJylcbiAgICAgICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgICAgICBubCA9IGkgLSAxO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCF0aGlzLmJsb2NrU2NhbGFyS2VlcCkge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIGxldCBpID0gbmwgLSAxO1xuICAgICAgICAgICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ1xccicpXG4gICAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbLS1pXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsYXN0Q2hhciA9IGk7IC8vIERyb3AgdGhlIGxpbmUgaWYgbGFzdCBjaGFyIG5vdCBtb3JlIGluZGVudGVkXG4gICAgICAgICAgICAgICAgd2hpbGUgKGNoID09PSAnICcpXG4gICAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbLS1pXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXG4nICYmIGkgPj0gdGhpcy5wb3MgJiYgaSArIDEgKyBpbmRlbnQgPiBsYXN0Q2hhcilcbiAgICAgICAgICAgICAgICAgICAgbmwgPSBpO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IHdoaWxlICh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB5aWVsZCBTQ0FMQVI7XG4gICAgICAgIHlpZWxkKiB0aGlzLnB1c2hUb0luZGV4KG5sICsgMSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZUxpbmVTdGFydCgpO1xuICAgIH1cbiAgICAqcGFyc2VQbGFpblNjYWxhcigpIHtcbiAgICAgICAgY29uc3QgaW5GbG93ID0gdGhpcy5mbG93TGV2ZWwgPiAwO1xuICAgICAgICBsZXQgZW5kID0gdGhpcy5wb3MgLSAxO1xuICAgICAgICBsZXQgaSA9IHRoaXMucG9zIC0gMTtcbiAgICAgICAgbGV0IGNoO1xuICAgICAgICB3aGlsZSAoKGNoID0gdGhpcy5idWZmZXJbKytpXSkpIHtcbiAgICAgICAgICAgIGlmIChjaCA9PT0gJzonKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuYnVmZmVyW2kgKyAxXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNFbXB0eShuZXh0KSB8fCAoaW5GbG93ICYmIGZsb3dJbmRpY2F0b3JDaGFycy5oYXMobmV4dCkpKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBlbmQgPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNFbXB0eShjaCkpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dCA9IHRoaXMuYnVmZmVyW2kgKyAxXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXHInKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXh0ID09PSAnXFxuJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2ggPSAnXFxuJztcbiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQgPSB0aGlzLmJ1ZmZlcltpICsgMV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kID0gaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG5leHQgPT09ICcjJyB8fCAoaW5GbG93ICYmIGZsb3dJbmRpY2F0b3JDaGFycy5oYXMobmV4dCkpKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXG4nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNzID0gdGhpcy5jb250aW51ZVNjYWxhcihpICsgMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjcyA9PT0gLTEpXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgaSA9IE1hdGgubWF4KGksIGNzIC0gMik7IC8vIHRvIGFkdmFuY2UsIGJ1dCBzdGlsbCBhY2NvdW50IGZvciAnICMnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGluRmxvdyAmJiBmbG93SW5kaWNhdG9yQ2hhcnMuaGFzKGNoKSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZW5kID0gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNoICYmICF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgncGxhaW4tc2NhbGFyJyk7XG4gICAgICAgIHlpZWxkIFNDQUxBUjtcbiAgICAgICAgeWllbGQqIHRoaXMucHVzaFRvSW5kZXgoZW5kICsgMSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBpbkZsb3cgPyAnZmxvdycgOiAnZG9jJztcbiAgICB9XG4gICAgKnB1c2hDb3VudChuKSB7XG4gICAgICAgIGlmIChuID4gMCkge1xuICAgICAgICAgICAgeWllbGQgdGhpcy5idWZmZXIuc3Vic3RyKHRoaXMucG9zLCBuKTtcbiAgICAgICAgICAgIHRoaXMucG9zICs9IG47XG4gICAgICAgICAgICByZXR1cm4gbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgKnB1c2hUb0luZGV4KGksIGFsbG93RW1wdHkpIHtcbiAgICAgICAgY29uc3QgcyA9IHRoaXMuYnVmZmVyLnNsaWNlKHRoaXMucG9zLCBpKTtcbiAgICAgICAgaWYgKHMpIHtcbiAgICAgICAgICAgIHlpZWxkIHM7XG4gICAgICAgICAgICB0aGlzLnBvcyArPSBzLmxlbmd0aDtcbiAgICAgICAgICAgIHJldHVybiBzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChhbGxvd0VtcHR5KVxuICAgICAgICAgICAgeWllbGQgJyc7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICAqcHVzaEluZGljYXRvcnMoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5jaGFyQXQoMCkpIHtcbiAgICAgICAgICAgIGNhc2UgJyEnOlxuICAgICAgICAgICAgICAgIHJldHVybiAoKHlpZWxkKiB0aGlzLnB1c2hUYWcoKSkgK1xuICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKSkgK1xuICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaEluZGljYXRvcnMoKSkpO1xuICAgICAgICAgICAgY2FzZSAnJic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICgoeWllbGQqIHRoaXMucHVzaFVudGlsKGlzTm90QW5jaG9yQ2hhcikpICtcbiAgICAgICAgICAgICAgICAgICAgKHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSkpICtcbiAgICAgICAgICAgICAgICAgICAgKHlpZWxkKiB0aGlzLnB1c2hJbmRpY2F0b3JzKCkpKTtcbiAgICAgICAgICAgIGNhc2UgJy0nOiAvLyB0aGlzIGlzIGFuIGVycm9yXG4gICAgICAgICAgICBjYXNlICc/JzogLy8gdGhpcyBpcyBhbiBlcnJvciBvdXRzaWRlIGZsb3cgY29sbGVjdGlvbnNcbiAgICAgICAgICAgIGNhc2UgJzonOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5GbG93ID0gdGhpcy5mbG93TGV2ZWwgPiAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoMSA9IHRoaXMuY2hhckF0KDEpO1xuICAgICAgICAgICAgICAgIGlmIChpc0VtcHR5KGNoMSkgfHwgKGluRmxvdyAmJiBmbG93SW5kaWNhdG9yQ2hhcnMuaGFzKGNoMSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaW5GbG93KVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRlbnROZXh0ID0gdGhpcy5pbmRlbnRWYWx1ZSArIDE7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuZmxvd0tleSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmxvd0tleSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKCh5aWVsZCogdGhpcy5wdXNoQ291bnQoMSkpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICh5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaEluZGljYXRvcnMoKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgKnB1c2hUYWcoKSB7XG4gICAgICAgIGlmICh0aGlzLmNoYXJBdCgxKSA9PT0gJzwnKSB7XG4gICAgICAgICAgICBsZXQgaSA9IHRoaXMucG9zICsgMjtcbiAgICAgICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgd2hpbGUgKCFpc0VtcHR5KGNoKSAmJiBjaCAhPT0gJz4nKVxuICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpXTtcbiAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wdXNoVG9JbmRleChjaCA9PT0gJz4nID8gaSArIDEgOiBpLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgaSA9IHRoaXMucG9zICsgMTtcbiAgICAgICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgd2hpbGUgKGNoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRhZ0NoYXJzLmhhcyhjaCkpXG4gICAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpXTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaCA9PT0gJyUnICYmXG4gICAgICAgICAgICAgICAgICAgIGhleERpZ2l0cy5oYXModGhpcy5idWZmZXJbaSArIDFdKSAmJlxuICAgICAgICAgICAgICAgICAgICBoZXhEaWdpdHMuaGFzKHRoaXMuYnVmZmVyW2kgKyAyXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2ggPSB0aGlzLmJ1ZmZlclsoaSArPSAzKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucHVzaFRvSW5kZXgoaSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwdXNoTmV3bGluZSgpIHtcbiAgICAgICAgY29uc3QgY2ggPSB0aGlzLmJ1ZmZlclt0aGlzLnBvc107XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucHVzaENvdW50KDEpO1xuICAgICAgICBlbHNlIGlmIChjaCA9PT0gJ1xccicgJiYgdGhpcy5jaGFyQXQoMSkgPT09ICdcXG4nKVxuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgyKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgICpwdXNoU3BhY2VzKGFsbG93VGFicykge1xuICAgICAgICBsZXQgaSA9IHRoaXMucG9zIC0gMTtcbiAgICAgICAgbGV0IGNoO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgIH0gd2hpbGUgKGNoID09PSAnICcgfHwgKGFsbG93VGFicyAmJiBjaCA9PT0gJ1xcdCcpKTtcbiAgICAgICAgY29uc3QgbiA9IGkgLSB0aGlzLnBvcztcbiAgICAgICAgaWYgKG4gPiAwKSB7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MsIG4pO1xuICAgICAgICAgICAgdGhpcy5wb3MgPSBpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuO1xuICAgIH1cbiAgICAqcHVzaFVudGlsKHRlc3QpIHtcbiAgICAgICAgbGV0IGkgPSB0aGlzLnBvcztcbiAgICAgICAgbGV0IGNoID0gdGhpcy5idWZmZXJbaV07XG4gICAgICAgIHdoaWxlICghdGVzdChjaCkpXG4gICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wdXNoVG9JbmRleChpLCBmYWxzZSk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBMZXhlciB9O1xuIiwgIi8qKlxuICogVHJhY2tzIG5ld2xpbmVzIGR1cmluZyBwYXJzaW5nIGluIG9yZGVyIHRvIHByb3ZpZGUgYW4gZWZmaWNpZW50IEFQSSBmb3JcbiAqIGRldGVybWluaW5nIHRoZSBvbmUtaW5kZXhlZCBgeyBsaW5lLCBjb2wgfWAgcG9zaXRpb24gZm9yIGFueSBvZmZzZXRcbiAqIHdpdGhpbiB0aGUgaW5wdXQuXG4gKi9cbmNsYXNzIExpbmVDb3VudGVyIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5saW5lU3RhcnRzID0gW107XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTaG91bGQgYmUgY2FsbGVkIGluIGFzY2VuZGluZyBvcmRlci4gT3RoZXJ3aXNlLCBjYWxsXG4gICAgICAgICAqIGBsaW5lQ291bnRlci5saW5lU3RhcnRzLnNvcnQoKWAgYmVmb3JlIGNhbGxpbmcgYGxpbmVQb3MoKWAuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmFkZE5ld0xpbmUgPSAob2Zmc2V0KSA9PiB0aGlzLmxpbmVTdGFydHMucHVzaChvZmZzZXQpO1xuICAgICAgICAvKipcbiAgICAgICAgICogUGVyZm9ybXMgYSBiaW5hcnkgc2VhcmNoIGFuZCByZXR1cm5zIHRoZSAxLWluZGV4ZWQgeyBsaW5lLCBjb2wgfVxuICAgICAgICAgKiBwb3NpdGlvbiBvZiBgb2Zmc2V0YC4gSWYgYGxpbmUgPT09IDBgLCBgYWRkTmV3TGluZWAgaGFzIG5ldmVyIGJlZW5cbiAgICAgICAgICogY2FsbGVkIG9yIGBvZmZzZXRgIGlzIGJlZm9yZSB0aGUgZmlyc3Qga25vd24gbmV3bGluZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMubGluZVBvcyA9IChvZmZzZXQpID0+IHtcbiAgICAgICAgICAgIGxldCBsb3cgPSAwO1xuICAgICAgICAgICAgbGV0IGhpZ2ggPSB0aGlzLmxpbmVTdGFydHMubGVuZ3RoO1xuICAgICAgICAgICAgd2hpbGUgKGxvdyA8IGhpZ2gpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtaWQgPSAobG93ICsgaGlnaCkgPj4gMTsgLy8gTWF0aC5mbG9vcigobG93ICsgaGlnaCkgLyAyKVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxpbmVTdGFydHNbbWlkXSA8IG9mZnNldClcbiAgICAgICAgICAgICAgICAgICAgbG93ID0gbWlkICsgMTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGhpZ2ggPSBtaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5saW5lU3RhcnRzW2xvd10gPT09IG9mZnNldClcbiAgICAgICAgICAgICAgICByZXR1cm4geyBsaW5lOiBsb3cgKyAxLCBjb2w6IDEgfTtcbiAgICAgICAgICAgIGlmIChsb3cgPT09IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbGluZTogMCwgY29sOiBvZmZzZXQgfTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5saW5lU3RhcnRzW2xvdyAtIDFdO1xuICAgICAgICAgICAgcmV0dXJuIHsgbGluZTogbG93LCBjb2w6IG9mZnNldCAtIHN0YXJ0ICsgMSB9O1xuICAgICAgICB9O1xuICAgIH1cbn1cblxuZXhwb3J0IHsgTGluZUNvdW50ZXIgfTtcbiIsICJpbXBvcnQgeyB0b2tlblR5cGUgfSBmcm9tICcuL2NzdC5qcyc7XG5pbXBvcnQgeyBMZXhlciB9IGZyb20gJy4vbGV4ZXIuanMnO1xuXG5mdW5jdGlvbiBpbmNsdWRlc1Rva2VuKGxpc3QsIHR5cGUpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpXG4gICAgICAgIGlmIChsaXN0W2ldLnR5cGUgPT09IHR5cGUpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBmaW5kTm9uRW1wdHlJbmRleChsaXN0KSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgICAgIHN3aXRjaCAobGlzdFtpXS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG59XG5mdW5jdGlvbiBpc0Zsb3dUb2tlbih0b2tlbikge1xuICAgIHN3aXRjaCAodG9rZW4/LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgY2FzZSAnZmxvdy1jb2xsZWN0aW9uJzpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFByZXZQcm9wcyhwYXJlbnQpIHtcbiAgICBzd2l0Y2ggKHBhcmVudC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2RvY3VtZW50JzpcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQuc3RhcnQ7XG4gICAgICAgIGNhc2UgJ2Jsb2NrLW1hcCc6IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ID0gcGFyZW50Lml0ZW1zW3BhcmVudC5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIHJldHVybiBpdC5zZXAgPz8gaXQuc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnYmxvY2stc2VxJzpcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQuaXRlbXNbcGFyZW50Lml0ZW1zLmxlbmd0aCAtIDFdLnN0YXJ0O1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn1cbi8qKiBOb3RlOiBNYXkgbW9kaWZ5IGlucHV0IGFycmF5ICovXG5mdW5jdGlvbiBnZXRGaXJzdEtleVN0YXJ0UHJvcHMocHJldikge1xuICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIGxldCBpID0gcHJldi5sZW5ndGg7XG4gICAgbG9vcDogd2hpbGUgKC0taSA+PSAwKSB7XG4gICAgICAgIHN3aXRjaCAocHJldltpXS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdkb2Mtc3RhcnQnOlxuICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6XG4gICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgIGNhc2UgJ3NlcS1pdGVtLWluZCc6XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBicmVhayBsb29wO1xuICAgICAgICB9XG4gICAgfVxuICAgIHdoaWxlIChwcmV2WysraV0/LnR5cGUgPT09ICdzcGFjZScpIHtcbiAgICAgICAgLyogbG9vcCAqL1xuICAgIH1cbiAgICByZXR1cm4gcHJldi5zcGxpY2UoaSwgcHJldi5sZW5ndGgpO1xufVxuZnVuY3Rpb24gZml4Rmxvd1NlcUl0ZW1zKGZjKSB7XG4gICAgaWYgKGZjLnN0YXJ0LnR5cGUgPT09ICdmbG93LXNlcS1zdGFydCcpIHtcbiAgICAgICAgZm9yIChjb25zdCBpdCBvZiBmYy5pdGVtcykge1xuICAgICAgICAgICAgaWYgKGl0LnNlcCAmJlxuICAgICAgICAgICAgICAgICFpdC52YWx1ZSAmJlxuICAgICAgICAgICAgICAgICFpbmNsdWRlc1Rva2VuKGl0LnN0YXJ0LCAnZXhwbGljaXQta2V5LWluZCcpICYmXG4gICAgICAgICAgICAgICAgIWluY2x1ZGVzVG9rZW4oaXQuc2VwLCAnbWFwLXZhbHVlLWluZCcpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0LmtleSlcbiAgICAgICAgICAgICAgICAgICAgaXQudmFsdWUgPSBpdC5rZXk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGl0LmtleTtcbiAgICAgICAgICAgICAgICBpZiAoaXNGbG93VG9rZW4oaXQudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZS5lbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpdC52YWx1ZS5lbmQsIGl0LnNlcCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnZhbHVlLmVuZCA9IGl0LnNlcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpdC5zdGFydCwgaXQuc2VwKTtcbiAgICAgICAgICAgICAgICBkZWxldGUgaXQuc2VwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBBIFlBTUwgY29uY3JldGUgc3ludGF4IHRyZWUgKENTVCkgcGFyc2VyXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IHNyYzogc3RyaW5nID0gLi4uXG4gKiBmb3IgKGNvbnN0IHRva2VuIG9mIG5ldyBQYXJzZXIoKS5wYXJzZShzcmMpKSB7XG4gKiAgIC8vIHRva2VuOiBUb2tlblxuICogfVxuICogYGBgXG4gKlxuICogVG8gdXNlIHRoZSBwYXJzZXIgd2l0aCBhIHVzZXItcHJvdmlkZWQgbGV4ZXI6XG4gKlxuICogYGBgdHNcbiAqIGZ1bmN0aW9uKiBwYXJzZShzb3VyY2U6IHN0cmluZywgbGV4ZXI6IExleGVyKSB7XG4gKiAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIoKVxuICogICBmb3IgKGNvbnN0IGxleGVtZSBvZiBsZXhlci5sZXgoc291cmNlKSlcbiAqICAgICB5aWVsZCogcGFyc2VyLm5leHQobGV4ZW1lKVxuICogICB5aWVsZCogcGFyc2VyLmVuZCgpXG4gKiB9XG4gKlxuICogY29uc3Qgc3JjOiBzdHJpbmcgPSAuLi5cbiAqIGNvbnN0IGxleGVyID0gbmV3IExleGVyKClcbiAqIGZvciAoY29uc3QgdG9rZW4gb2YgcGFyc2Uoc3JjLCBsZXhlcikpIHtcbiAqICAgLy8gdG9rZW46IFRva2VuXG4gKiB9XG4gKiBgYGBcbiAqL1xuY2xhc3MgUGFyc2VyIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gb25OZXdMaW5lIC0gSWYgZGVmaW5lZCwgY2FsbGVkIHNlcGFyYXRlbHkgd2l0aCB0aGUgc3RhcnQgcG9zaXRpb24gb2ZcbiAgICAgKiAgIGVhY2ggbmV3IGxpbmUgKGluIGBwYXJzZSgpYCwgaW5jbHVkaW5nIHRoZSBzdGFydCBvZiBpbnB1dCkuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob25OZXdMaW5lKSB7XG4gICAgICAgIC8qKiBJZiB0cnVlLCBzcGFjZSBhbmQgc2VxdWVuY2UgaW5kaWNhdG9ycyBjb3VudCBhcyBpbmRlbnRhdGlvbiAqL1xuICAgICAgICB0aGlzLmF0TmV3TGluZSA9IHRydWU7XG4gICAgICAgIC8qKiBJZiB0cnVlLCBuZXh0IHRva2VuIGlzIGEgc2NhbGFyIHZhbHVlICovXG4gICAgICAgIHRoaXMuYXRTY2FsYXIgPSBmYWxzZTtcbiAgICAgICAgLyoqIEN1cnJlbnQgaW5kZW50YXRpb24gbGV2ZWwgKi9cbiAgICAgICAgdGhpcy5pbmRlbnQgPSAwO1xuICAgICAgICAvKiogQ3VycmVudCBvZmZzZXQgc2luY2UgdGhlIHN0YXJ0IG9mIHBhcnNpbmcgKi9cbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xuICAgICAgICAvKiogT24gdGhlIHNhbWUgbGluZSB3aXRoIGEgYmxvY2sgbWFwIGtleSAqL1xuICAgICAgICB0aGlzLm9uS2V5TGluZSA9IGZhbHNlO1xuICAgICAgICAvKiogVG9wIGluZGljYXRlcyB0aGUgbm9kZSB0aGF0J3MgY3VycmVudGx5IGJlaW5nIGJ1aWx0ICovXG4gICAgICAgIHRoaXMuc3RhY2sgPSBbXTtcbiAgICAgICAgLyoqIFRoZSBzb3VyY2Ugb2YgdGhlIGN1cnJlbnQgdG9rZW4sIHNldCBpbiBwYXJzZSgpICovXG4gICAgICAgIHRoaXMuc291cmNlID0gJyc7XG4gICAgICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgY3VycmVudCB0b2tlbiwgc2V0IGluIHBhcnNlKCkgKi9cbiAgICAgICAgdGhpcy50eXBlID0gJyc7XG4gICAgICAgIC8vIE11c3QgYmUgZGVmaW5lZCBhZnRlciBgbmV4dCgpYFxuICAgICAgICB0aGlzLmxleGVyID0gbmV3IExleGVyKCk7XG4gICAgICAgIHRoaXMub25OZXdMaW5lID0gb25OZXdMaW5lO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXJzZSBgc291cmNlYCBhcyBhIFlBTUwgc3RyZWFtLlxuICAgICAqIElmIGBpbmNvbXBsZXRlYCwgYSBwYXJ0IG9mIHRoZSBsYXN0IGxpbmUgbWF5IGJlIGxlZnQgYXMgYSBidWZmZXIgZm9yIHRoZSBuZXh0IGNhbGwuXG4gICAgICpcbiAgICAgKiBFcnJvcnMgYXJlIG5vdCB0aHJvd24sIGJ1dCB5aWVsZGVkIGFzIGB7IHR5cGU6ICdlcnJvcicsIG1lc3NhZ2UgfWAgdG9rZW5zLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBnZW5lcmF0b3Igb2YgdG9rZW5zIHJlcHJlc2VudGluZyBlYWNoIGRpcmVjdGl2ZSwgZG9jdW1lbnQsIGFuZCBvdGhlciBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgKnBhcnNlKHNvdXJjZSwgaW5jb21wbGV0ZSA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLm9uTmV3TGluZSAmJiB0aGlzLm9mZnNldCA9PT0gMClcbiAgICAgICAgICAgIHRoaXMub25OZXdMaW5lKDApO1xuICAgICAgICBmb3IgKGNvbnN0IGxleGVtZSBvZiB0aGlzLmxleGVyLmxleChzb3VyY2UsIGluY29tcGxldGUpKVxuICAgICAgICAgICAgeWllbGQqIHRoaXMubmV4dChsZXhlbWUpO1xuICAgICAgICBpZiAoIWluY29tcGxldGUpXG4gICAgICAgICAgICB5aWVsZCogdGhpcy5lbmQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWR2YW5jZSB0aGUgcGFyc2VyIGJ5IHRoZSBgc291cmNlYCBvZiBvbmUgbGV4aWNhbCB0b2tlbi5cbiAgICAgKi9cbiAgICAqbmV4dChzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIGlmICh0aGlzLmF0U2NhbGFyKSB7XG4gICAgICAgICAgICB0aGlzLmF0U2NhbGFyID0gZmFsc2U7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgICAgICB0aGlzLm9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHR5cGUgPSB0b2tlblR5cGUoc291cmNlKTtcbiAgICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYE5vdCBhIFlBTUwgdG9rZW46ICR7c291cmNlfWA7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoeyB0eXBlOiAnZXJyb3InLCBvZmZzZXQ6IHRoaXMub2Zmc2V0LCBtZXNzYWdlLCBzb3VyY2UgfSk7XG4gICAgICAgICAgICB0aGlzLm9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzY2FsYXInKSB7XG4gICAgICAgICAgICB0aGlzLmF0TmV3TGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5hdFNjYWxhciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSAnc2NhbGFyJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdE5ld0xpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluZGVudCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9uTmV3TGluZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25OZXdMaW5lKHRoaXMub2Zmc2V0ICsgc291cmNlLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXROZXdMaW5lICYmIHNvdXJjZVswXSA9PT0gJyAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRlbnQgKz0gc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnbWFwLXZhbHVlLWluZCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnc2VxLWl0ZW0taW5kJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXROZXdMaW5lKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRlbnQgKz0gc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZG9jLW1vZGUnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2Zsb3ctZXJyb3ItZW5kJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXROZXdMaW5lID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKiBDYWxsIGF0IGVuZCBvZiBpbnB1dCB0byBwdXNoIG91dCBhbnkgcmVtYWluaW5nIGNvbnN0cnVjdGlvbnMgKi9cbiAgICAqZW5kKCkge1xuICAgICAgICB3aGlsZSAodGhpcy5zdGFjay5sZW5ndGggPiAwKVxuICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgfVxuICAgIGdldCBzb3VyY2VUb2tlbigpIHtcbiAgICAgICAgY29uc3Qgc3QgPSB7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHN0O1xuICAgIH1cbiAgICAqc3RlcCgpIHtcbiAgICAgICAgY29uc3QgdG9wID0gdGhpcy5wZWVrKDEpO1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnZG9jLWVuZCcgJiYgKCF0b3AgfHwgdG9wLnR5cGUgIT09ICdkb2MtZW5kJykpIHtcbiAgICAgICAgICAgIHdoaWxlICh0aGlzLnN0YWNrLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdkb2MtZW5kJyxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdG9wKVxuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnN0cmVhbSgpO1xuICAgICAgICBzd2l0Y2ggKHRvcC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdkb2N1bWVudCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLmRvY3VtZW50KHRvcCk7XG4gICAgICAgICAgICBjYXNlICdhbGlhcyc6XG4gICAgICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICAgICAgY2FzZSAnc2luZ2xlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgY2FzZSAnZG91YmxlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5zY2FsYXIodG9wKTtcbiAgICAgICAgICAgIGNhc2UgJ2Jsb2NrLXNjYWxhcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLmJsb2NrU2NhbGFyKHRvcCk7XG4gICAgICAgICAgICBjYXNlICdibG9jay1tYXAnOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5ibG9ja01hcCh0b3ApO1xuICAgICAgICAgICAgY2FzZSAnYmxvY2stc2VxJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMuYmxvY2tTZXF1ZW5jZSh0b3ApO1xuICAgICAgICAgICAgY2FzZSAnZmxvdy1jb2xsZWN0aW9uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMuZmxvd0NvbGxlY3Rpb24odG9wKTtcbiAgICAgICAgICAgIGNhc2UgJ2RvYy1lbmQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5kb2N1bWVudEVuZCh0b3ApO1xuICAgICAgICB9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0IHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgIH1cbiAgICBwZWVrKG4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGggLSBuXTtcbiAgICB9XG4gICAgKnBvcChlcnJvcikge1xuICAgICAgICBjb25zdCB0b2tlbiA9IGVycm9yID8/IHRoaXMuc3RhY2sucG9wKCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ1RyaWVkIHRvIHBvcCBhbiBlbXB0eSBzdGFjayc7XG4gICAgICAgICAgICB5aWVsZCB7IHR5cGU6ICdlcnJvcicsIG9mZnNldDogdGhpcy5vZmZzZXQsIHNvdXJjZTogJycsIG1lc3NhZ2UgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgeWllbGQgdG9rZW47XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSB0aGlzLnBlZWsoMSk7XG4gICAgICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gJ2Jsb2NrLXNjYWxhcicpIHtcbiAgICAgICAgICAgICAgICAvLyBCbG9jayBzY2FsYXJzIHVzZSB0aGVpciBwYXJlbnQgcmF0aGVyIHRoYW4gaGVhZGVyIGluZGVudFxuICAgICAgICAgICAgICAgIHRva2VuLmluZGVudCA9ICdpbmRlbnQnIGluIHRvcCA/IHRvcC5pbmRlbnQgOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodG9rZW4udHlwZSA9PT0gJ2Zsb3ctY29sbGVjdGlvbicgJiYgdG9wLnR5cGUgPT09ICdkb2N1bWVudCcpIHtcbiAgICAgICAgICAgICAgICAvLyBJZ25vcmUgYWxsIGluZGVudCBmb3IgdG9wLWxldmVsIGZsb3cgY29sbGVjdGlvbnNcbiAgICAgICAgICAgICAgICB0b2tlbi5pbmRlbnQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09ICdmbG93LWNvbGxlY3Rpb24nKVxuICAgICAgICAgICAgICAgIGZpeEZsb3dTZXFJdGVtcyh0b2tlbik7XG4gICAgICAgICAgICBzd2l0Y2ggKHRvcC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnZG9jdW1lbnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AudmFsdWUgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmxvY2stc2NhbGFyJzpcbiAgICAgICAgICAgICAgICAgICAgdG9wLnByb3BzLnB1c2godG9rZW4pOyAvLyBlcnJvclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdibG9jay1tYXAnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ID0gdG9wLml0ZW1zW3RvcC5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3AuaXRlbXMucHVzaCh7IHN0YXJ0OiBbXSwga2V5OiB0b2tlbiwgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnZhbHVlID0gdG9rZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0LCB7IGtleTogdG9rZW4sIHNlcDogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9ICFpdC5leHBsaWNpdEtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnYmxvY2stc2VxJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdCA9IHRvcC5pdGVtc1t0b3AuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcC5pdGVtcy5wdXNoKHsgc3RhcnQ6IFtdLCB2YWx1ZTogdG9rZW4gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnZhbHVlID0gdG9rZW47XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdmbG93LWNvbGxlY3Rpb24nOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ID0gdG9wLml0ZW1zW3RvcC5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdCB8fCBpdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcC5pdGVtcy5wdXNoKHsgc3RhcnQ6IFtdLCBrZXk6IHRva2VuLCBzZXA6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApXG4gICAgICAgICAgICAgICAgICAgICAgICBpdC52YWx1ZSA9IHRva2VuO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0LCB7IGtleTogdG9rZW4sIHNlcDogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKHRva2VuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgodG9wLnR5cGUgPT09ICdkb2N1bWVudCcgfHxcbiAgICAgICAgICAgICAgICB0b3AudHlwZSA9PT0gJ2Jsb2NrLW1hcCcgfHxcbiAgICAgICAgICAgICAgICB0b3AudHlwZSA9PT0gJ2Jsb2NrLXNlcScpICYmXG4gICAgICAgICAgICAgICAgKHRva2VuLnR5cGUgPT09ICdibG9jay1tYXAnIHx8IHRva2VuLnR5cGUgPT09ICdibG9jay1zZXEnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSB0b2tlbi5pdGVtc1t0b2tlbi5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICBpZiAobGFzdCAmJlxuICAgICAgICAgICAgICAgICAgICAhbGFzdC5zZXAgJiZcbiAgICAgICAgICAgICAgICAgICAgIWxhc3QudmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgbGFzdC5zdGFydC5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgICAgIGZpbmROb25FbXB0eUluZGV4KGxhc3Quc3RhcnQpID09PSAtMSAmJlxuICAgICAgICAgICAgICAgICAgICAodG9rZW4uaW5kZW50ID09PSAwIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0LnN0YXJ0LmV2ZXJ5KHN0ID0+IHN0LnR5cGUgIT09ICdjb21tZW50JyB8fCBzdC5pbmRlbnQgPCB0b2tlbi5pbmRlbnQpKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodG9wLnR5cGUgPT09ICdkb2N1bWVudCcpXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3AuZW5kID0gbGFzdC5zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wLml0ZW1zLnB1c2goeyBzdGFydDogbGFzdC5zdGFydCB9KTtcbiAgICAgICAgICAgICAgICAgICAgdG9rZW4uaXRlbXMuc3BsaWNlKC0xLCAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgKnN0cmVhbSgpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2RpcmVjdGl2ZS1saW5lJzpcbiAgICAgICAgICAgICAgICB5aWVsZCB7IHR5cGU6ICdkaXJlY3RpdmUnLCBvZmZzZXQ6IHRoaXMub2Zmc2V0LCBzb3VyY2U6IHRoaXMuc291cmNlIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnYnl0ZS1vcmRlci1tYXJrJzpcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgeWllbGQgdGhpcy5zb3VyY2VUb2tlbjtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdkb2MtbW9kZSc6XG4gICAgICAgICAgICBjYXNlICdkb2Mtc3RhcnQnOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZG9jID0ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZG9jdW1lbnQnLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdkb2Mtc3RhcnQnKVxuICAgICAgICAgICAgICAgICAgICBkb2Muc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goZG9jKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQge1xuICAgICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCAke3RoaXMudHlwZX0gdG9rZW4gaW4gWUFNTCBzdHJlYW1gLFxuICAgICAgICAgICAgc291cmNlOiB0aGlzLnNvdXJjZVxuICAgICAgICB9O1xuICAgIH1cbiAgICAqZG9jdW1lbnQoZG9jKSB7XG4gICAgICAgIGlmIChkb2MudmFsdWUpXG4gICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMubGluZUVuZChkb2MpO1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnZG9jLXN0YXJ0Jzoge1xuICAgICAgICAgICAgICAgIGlmIChmaW5kTm9uRW1wdHlJbmRleChkb2Muc3RhcnQpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGRvYy5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2FuY2hvcic6XG4gICAgICAgICAgICBjYXNlICd0YWcnOlxuICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBkb2Muc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnYgPSB0aGlzLnN0YXJ0QmxvY2tWYWx1ZShkb2MpO1xuICAgICAgICBpZiAoYnYpXG4gICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goYnYpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHlpZWxkIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgJHt0aGlzLnR5cGV9IHRva2VuIGluIFlBTUwgZG9jdW1lbnRgLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgKnNjYWxhcihzY2FsYXIpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ21hcC12YWx1ZS1pbmQnKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gZ2V0UHJldlByb3BzKHRoaXMucGVlaygyKSk7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IGdldEZpcnN0S2V5U3RhcnRQcm9wcyhwcmV2KTtcbiAgICAgICAgICAgIGxldCBzZXA7XG4gICAgICAgICAgICBpZiAoc2NhbGFyLmVuZCkge1xuICAgICAgICAgICAgICAgIHNlcCA9IHNjYWxhci5lbmQ7XG4gICAgICAgICAgICAgICAgc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHNjYWxhci5lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgc2VwID0gW3RoaXMuc291cmNlVG9rZW5dO1xuICAgICAgICAgICAgY29uc3QgbWFwID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgIG9mZnNldDogc2NhbGFyLm9mZnNldCxcbiAgICAgICAgICAgICAgICBpbmRlbnQ6IHNjYWxhci5pbmRlbnQsXG4gICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0LCBrZXk6IHNjYWxhciwgc2VwIH1dXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aCAtIDFdID0gbWFwO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLmxpbmVFbmQoc2NhbGFyKTtcbiAgICB9XG4gICAgKmJsb2NrU2NhbGFyKHNjYWxhcikge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBzY2FsYXIucHJvcHMucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICAgICAgICAgIHNjYWxhci5zb3VyY2UgPSB0aGlzLnNvdXJjZTtcbiAgICAgICAgICAgICAgICAvLyBibG9jay1zY2FsYXIgc291cmNlIGluY2x1ZGVzIHRyYWlsaW5nIG5ld2xpbmVcbiAgICAgICAgICAgICAgICB0aGlzLmF0TmV3TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmRlbnQgPSAwO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9uTmV3TGluZSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmwgPSB0aGlzLnNvdXJjZS5pbmRleE9mKCdcXG4nKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIChubCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk5ld0xpbmUodGhpcy5vZmZzZXQgKyBubCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBubCA9IHRoaXMuc291cmNlLmluZGV4T2YoJ1xcbicsIG5sKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKmJsb2NrTWFwKG1hcCkge1xuICAgICAgICBjb25zdCBpdCA9IG1hcC5pdGVtc1ttYXAuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIC8vIGl0LnNlcCBpcyB0cnVlLWlzaCBpZiBwYWlyIGFscmVhZHkgaGFzIGtleSBvciA6IHNlcGFyYXRvclxuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kID0gJ2VuZCcgaW4gaXQudmFsdWUgPyBpdC52YWx1ZS5lbmQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSBBcnJheS5pc0FycmF5KGVuZCkgPyBlbmRbZW5kLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdD8udHlwZSA9PT0gJ2NvbW1lbnQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kPy5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF0SW5kZW50ZWRDb21tZW50KGl0LnN0YXJ0LCBtYXAuaW5kZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IG1hcC5pdGVtc1ttYXAuaXRlbXMubGVuZ3RoIC0gMl07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBwcmV2Py52YWx1ZT8uZW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZW5kKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGVuZCwgaXQuc3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluZGVudCA+PSBtYXAuaW5kZW50KSB7XG4gICAgICAgICAgICBjb25zdCBhdE1hcEluZGVudCA9ICF0aGlzLm9uS2V5TGluZSAmJiB0aGlzLmluZGVudCA9PT0gbWFwLmluZGVudDtcbiAgICAgICAgICAgIGNvbnN0IGF0TmV4dEl0ZW0gPSBhdE1hcEluZGVudCAmJlxuICAgICAgICAgICAgICAgIChpdC5zZXAgfHwgaXQuZXhwbGljaXRLZXkpICYmXG4gICAgICAgICAgICAgICAgdGhpcy50eXBlICE9PSAnc2VxLWl0ZW0taW5kJztcbiAgICAgICAgICAgIC8vIEZvciBlbXB0eSBub2RlcywgYXNzaWduIG5ld2xpbmUtc2VwYXJhdGVkIG5vdCBpbmRlbnRlZCBlbXB0eSB0b2tlbnMgdG8gZm9sbG93aW5nIG5vZGVcbiAgICAgICAgICAgIGxldCBzdGFydCA9IFtdO1xuICAgICAgICAgICAgaWYgKGF0TmV4dEl0ZW0gJiYgaXQuc2VwICYmICFpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5sID0gW107XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdC5zZXAubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3QgPSBpdC5zZXBbaV07XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3QudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmwucHVzaChpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdC5pbmRlbnQgPiBtYXAuaW5kZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubC5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBubC5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChubC5sZW5ndGggPj0gMilcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBpdC5zZXAuc3BsaWNlKG5sWzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnYW5jaG9yJzpcbiAgICAgICAgICAgICAgICBjYXNlICd0YWcnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoYXROZXh0SXRlbSB8fCBpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHsgc3RhcnQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQuc2VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2V4cGxpY2l0LWtleS1pbmQnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoIWl0LnNlcCAmJiAhaXQuZXhwbGljaXRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5leHBsaWNpdEtleSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYXROZXh0SXRlbSB8fCBpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHsgc3RhcnQsIGV4cGxpY2l0S2V5OiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stbWFwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0sIGV4cGxpY2l0S2V5OiB0cnVlIH1dXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0LmV4cGxpY2l0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmNsdWRlc1Rva2VuKGl0LnN0YXJ0LCAnbmV3bGluZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXQsIHsga2V5OiBudWxsLCBzZXA6IFt0aGlzLnNvdXJjZVRva2VuXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKGl0LnN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQsIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0OiBbXSwga2V5OiBudWxsLCBzZXA6IFt0aGlzLnNvdXJjZVRva2VuXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGluY2x1ZGVzVG9rZW4oaXQuc2VwLCAnbWFwLXZhbHVlLWluZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydCwga2V5OiBudWxsLCBzZXA6IFt0aGlzLnNvdXJjZVRva2VuXSB9XVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNGbG93VG9rZW4oaXQua2V5KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpbmNsdWRlc1Rva2VuKGl0LnNlcCwgJ25ld2xpbmUnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKGl0LnN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBpdC5rZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VwID0gaXQuc2VwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdHlwZSBndWFyZCBpcyB3cm9uZyBoZXJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0LmtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHR5cGUgZ3VhcmQgaXMgd3JvbmcgaGVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdC5zZXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydCwga2V5LCBzZXAgfV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN0YXJ0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOb3QgYWN0dWFsbHkgYXQgbmV4dCBpdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQuc2VwID0gaXQuc2VwLmNvbmNhdChzdGFydCwgdGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXQuc2VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdCwgeyBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQudmFsdWUgfHwgYXROZXh0SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHsgc3RhcnQsIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpbmNsdWRlc1Rva2VuKGl0LnNlcCwgJ21hcC12YWx1ZS1pbmQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQ6IFtdLCBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH1dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdhbGlhcyc6XG4gICAgICAgICAgICAgICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgICAgICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICAgICAgY2FzZSAnZG91YmxlLXF1b3RlZC1zY2FsYXInOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZzID0gdGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdE5leHRJdGVtIHx8IGl0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0LCBrZXk6IGZzLCBzZXA6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGZzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXQsIHsga2V5OiBmcywgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYnYgPSB0aGlzLnN0YXJ0QmxvY2tWYWx1ZShtYXApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYnYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdE1hcEluZGVudCAmJiBidi50eXBlICE9PSAnYmxvY2stc2VxJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHsgc3RhcnQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goYnYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgfVxuICAgICpibG9ja1NlcXVlbmNlKHNlcSkge1xuICAgICAgICBjb25zdCBpdCA9IHNlcS5pdGVtc1tzZXEuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kID0gJ2VuZCcgaW4gaXQudmFsdWUgPyBpdC52YWx1ZS5lbmQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSBBcnJheS5pc0FycmF5KGVuZCkgPyBlbmRbZW5kLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdD8udHlwZSA9PT0gJ2NvbW1lbnQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kPy5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXEuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIHNlcS5pdGVtcy5wdXNoKHsgc3RhcnQ6IFt0aGlzLnNvdXJjZVRva2VuXSB9KTtcbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXRJbmRlbnRlZENvbW1lbnQoaXQuc3RhcnQsIHNlcS5pbmRlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2ID0gc2VxLml0ZW1zW3NlcS5pdGVtcy5sZW5ndGggLSAyXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IHByZXY/LnZhbHVlPy5lbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoZW5kLCBpdC5zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxLml0ZW1zLnBvcCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdhbmNob3InOlxuICAgICAgICAgICAgY2FzZSAndGFnJzpcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUgfHwgdGhpcy5pbmRlbnQgPD0gc2VxLmluZGVudClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdzZXEtaXRlbS1pbmQnOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmluZGVudCAhPT0gc2VxLmluZGVudClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgaWYgKGl0LnZhbHVlIHx8IGluY2x1ZGVzVG9rZW4oaXQuc3RhcnQsICdzZXEtaXRlbS1pbmQnKSlcbiAgICAgICAgICAgICAgICAgICAgc2VxLml0ZW1zLnB1c2goeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaW5kZW50ID4gc2VxLmluZGVudCkge1xuICAgICAgICAgICAgY29uc3QgYnYgPSB0aGlzLnN0YXJ0QmxvY2tWYWx1ZShzZXEpO1xuICAgICAgICAgICAgaWYgKGJ2KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGJ2KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgIHlpZWxkKiB0aGlzLnN0ZXAoKTtcbiAgICB9XG4gICAgKmZsb3dDb2xsZWN0aW9uKGZjKSB7XG4gICAgICAgIGNvbnN0IGl0ID0gZmMuaXRlbXNbZmMuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdmbG93LWVycm9yLWVuZCcpIHtcbiAgICAgICAgICAgIGxldCB0b3A7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgdG9wID0gdGhpcy5wZWVrKDEpO1xuICAgICAgICAgICAgfSB3aGlsZSAodG9wICYmIHRvcC50eXBlID09PSAnZmxvdy1jb2xsZWN0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZmMuZW5kLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdjb21tYSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXQgfHwgaXQuc2VwKVxuICAgICAgICAgICAgICAgICAgICAgICAgZmMuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdCB8fCBpdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGZjLml0ZW1zLnB1c2goeyBzdGFydDogW10sIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0LCB7IGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnYW5jaG9yJzpcbiAgICAgICAgICAgICAgICBjYXNlICd0YWcnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoIWl0IHx8IGl0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgZmMuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgICAgICAgICAgY2FzZSAnc2luZ2xlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmcyA9IHRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWl0IHx8IGl0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgZmMuaXRlbXMucHVzaCh7IHN0YXJ0OiBbXSwga2V5OiBmcywgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQuc2VwKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGZzKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdCwgeyBrZXk6IGZzLCBzZXA6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ2Zsb3ctbWFwLWVuZCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnZmxvdy1zZXEtZW5kJzpcbiAgICAgICAgICAgICAgICAgICAgZmMuZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGJ2ID0gdGhpcy5zdGFydEJsb2NrVmFsdWUoZmMpO1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2Ugc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICAgICAgICAgIGlmIChidilcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goYnYpO1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5wZWVrKDIpO1xuICAgICAgICAgICAgaWYgKHBhcmVudC50eXBlID09PSAnYmxvY2stbWFwJyAmJlxuICAgICAgICAgICAgICAgICgodGhpcy50eXBlID09PSAnbWFwLXZhbHVlLWluZCcgJiYgcGFyZW50LmluZGVudCA9PT0gZmMuaW5kZW50KSB8fFxuICAgICAgICAgICAgICAgICAgICAodGhpcy50eXBlID09PSAnbmV3bGluZScgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFwYXJlbnQuaXRlbXNbcGFyZW50Lml0ZW1zLmxlbmd0aCAtIDFdLnNlcCkpKSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy50eXBlID09PSAnbWFwLXZhbHVlLWluZCcgJiZcbiAgICAgICAgICAgICAgICBwYXJlbnQudHlwZSAhPT0gJ2Zsb3ctY29sbGVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmV2ID0gZ2V0UHJldlByb3BzKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBnZXRGaXJzdEtleVN0YXJ0UHJvcHMocHJldik7XG4gICAgICAgICAgICAgICAgZml4Rmxvd1NlcUl0ZW1zKGZjKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXAgPSBmYy5lbmQuc3BsaWNlKDEsIGZjLmVuZC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcCA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogZmMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IGZjLmluZGVudCxcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0LCBrZXk6IGZjLCBzZXAgfV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoIC0gMV0gPSBtYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5saW5lRW5kKGZjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmbG93U2NhbGFyKHR5cGUpIHtcbiAgICAgICAgaWYgKHRoaXMub25OZXdMaW5lKSB7XG4gICAgICAgICAgICBsZXQgbmwgPSB0aGlzLnNvdXJjZS5pbmRleE9mKCdcXG4nKSArIDE7XG4gICAgICAgICAgICB3aGlsZSAobmwgIT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCArIG5sKTtcbiAgICAgICAgICAgICAgICBubCA9IHRoaXMuc291cmNlLmluZGV4T2YoJ1xcbicsIG5sKSArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhcnRCbG9ja1ZhbHVlKHBhcmVudCkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICAgICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7XG4gICAgICAgICAgICBjYXNlICdibG9jay1zY2FsYXItaGVhZGVyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stc2NhbGFyJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IFt0aGlzLnNvdXJjZVRva2VuXSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjYXNlICdmbG93LW1hcC1zdGFydCc6XG4gICAgICAgICAgICBjYXNlICdmbG93LXNlcS1zdGFydCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Zsb3ctY29sbGVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLnNvdXJjZVRva2VuLFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogW10sXG4gICAgICAgICAgICAgICAgICAgIGVuZDogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSAnc2VxLWl0ZW0taW5kJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stc2VxJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IGdldFByZXZQcm9wcyhwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKHByZXYpO1xuICAgICAgICAgICAgICAgIHN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydCwgZXhwbGljaXRLZXk6IHRydWUgfV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbWFwLXZhbHVlLWluZCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IGdldFByZXZQcm9wcyhwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKHByZXYpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQsIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBhdEluZGVudGVkQ29tbWVudChzdGFydCwgaW5kZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdjb21tZW50JylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuaW5kZW50IDw9IGluZGVudClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0LmV2ZXJ5KHN0ID0+IHN0LnR5cGUgPT09ICduZXdsaW5lJyB8fCBzdC50eXBlID09PSAnc3BhY2UnKTtcbiAgICB9XG4gICAgKmRvY3VtZW50RW5kKGRvY0VuZCkge1xuICAgICAgICBpZiAodGhpcy50eXBlICE9PSAnZG9jLW1vZGUnKSB7XG4gICAgICAgICAgICBpZiAoZG9jRW5kLmVuZClcbiAgICAgICAgICAgICAgICBkb2NFbmQuZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgZG9jRW5kLmVuZCA9IFt0aGlzLnNvdXJjZVRva2VuXTtcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICduZXdsaW5lJylcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAqbGluZUVuZCh0b2tlbikge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY29tbWEnOlxuICAgICAgICAgICAgY2FzZSAnZG9jLXN0YXJ0JzpcbiAgICAgICAgICAgIGNhc2UgJ2RvYy1lbmQnOlxuICAgICAgICAgICAgY2FzZSAnZmxvdy1zZXEtZW5kJzpcbiAgICAgICAgICAgIGNhc2UgJ2Zsb3ctbWFwLWVuZCc6XG4gICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvLyBhbGwgb3RoZXIgdmFsdWVzIGFyZSBlcnJvcnNcbiAgICAgICAgICAgICAgICBpZiAodG9rZW4uZW5kKVxuICAgICAgICAgICAgICAgICAgICB0b2tlbi5lbmQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHRva2VuLmVuZCA9IFt0aGlzLnNvdXJjZVRva2VuXTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAnbmV3bGluZScpXG4gICAgICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgeyBQYXJzZXIgfTtcbiIsICJpbXBvcnQgeyBDb21wb3NlciB9IGZyb20gJy4vY29tcG9zZS9jb21wb3Nlci5qcyc7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gJy4vZG9jL0RvY3VtZW50LmpzJztcbmltcG9ydCB7IHByZXR0aWZ5RXJyb3IsIFlBTUxQYXJzZUVycm9yIH0gZnJvbSAnLi9lcnJvcnMuanMnO1xuaW1wb3J0IHsgd2FybiB9IGZyb20gJy4vbG9nLmpzJztcbmltcG9ydCB7IGlzRG9jdW1lbnQgfSBmcm9tICcuL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IExpbmVDb3VudGVyIH0gZnJvbSAnLi9wYXJzZS9saW5lLWNvdW50ZXIuanMnO1xuaW1wb3J0IHsgUGFyc2VyIH0gZnJvbSAnLi9wYXJzZS9wYXJzZXIuanMnO1xuXG5mdW5jdGlvbiBwYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICAgIGNvbnN0IHByZXR0eUVycm9ycyA9IG9wdGlvbnMucHJldHR5RXJyb3JzICE9PSBmYWxzZTtcbiAgICBjb25zdCBsaW5lQ291bnRlciA9IG9wdGlvbnMubGluZUNvdW50ZXIgfHwgKHByZXR0eUVycm9ycyAmJiBuZXcgTGluZUNvdW50ZXIoKSkgfHwgbnVsbDtcbiAgICByZXR1cm4geyBsaW5lQ291bnRlciwgcHJldHR5RXJyb3JzIH07XG59XG4vKipcbiAqIFBhcnNlIHRoZSBpbnB1dCBhcyBhIHN0cmVhbSBvZiBZQU1MIGRvY3VtZW50cy5cbiAqXG4gKiBEb2N1bWVudHMgc2hvdWxkIGJlIHNlcGFyYXRlZCBmcm9tIGVhY2ggb3RoZXIgYnkgYC4uLmAgb3IgYC0tLWAgbWFya2VyIGxpbmVzLlxuICpcbiAqIEByZXR1cm5zIElmIGFuIGVtcHR5IGBkb2NzYCBhcnJheSBpcyByZXR1cm5lZCwgaXQgd2lsbCBiZSBvZiB0eXBlXG4gKiAgIEVtcHR5U3RyZWFtIGFuZCBjb250YWluIGFkZGl0aW9uYWwgc3RyZWFtIGluZm9ybWF0aW9uLiBJblxuICogICBUeXBlU2NyaXB0LCB5b3Ugc2hvdWxkIHVzZSBgJ2VtcHR5JyBpbiBkb2NzYCBhcyBhIHR5cGUgZ3VhcmQgZm9yIGl0LlxuICovXG5mdW5jdGlvbiBwYXJzZUFsbERvY3VtZW50cyhzb3VyY2UsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbGluZUNvdW50ZXIsIHByZXR0eUVycm9ycyB9ID0gcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIobGluZUNvdW50ZXI/LmFkZE5ld0xpbmUpO1xuICAgIGNvbnN0IGNvbXBvc2VyID0gbmV3IENvbXBvc2VyKG9wdGlvbnMpO1xuICAgIGNvbnN0IGRvY3MgPSBBcnJheS5mcm9tKGNvbXBvc2VyLmNvbXBvc2UocGFyc2VyLnBhcnNlKHNvdXJjZSkpKTtcbiAgICBpZiAocHJldHR5RXJyb3JzICYmIGxpbmVDb3VudGVyKVxuICAgICAgICBmb3IgKGNvbnN0IGRvYyBvZiBkb2NzKSB7XG4gICAgICAgICAgICBkb2MuZXJyb3JzLmZvckVhY2gocHJldHRpZnlFcnJvcihzb3VyY2UsIGxpbmVDb3VudGVyKSk7XG4gICAgICAgICAgICBkb2Mud2FybmluZ3MuZm9yRWFjaChwcmV0dGlmeUVycm9yKHNvdXJjZSwgbGluZUNvdW50ZXIpKTtcbiAgICAgICAgfVxuICAgIGlmIChkb2NzLmxlbmd0aCA+IDApXG4gICAgICAgIHJldHVybiBkb2NzO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKFtdLCB7IGVtcHR5OiB0cnVlIH0sIGNvbXBvc2VyLnN0cmVhbUluZm8oKSk7XG59XG4vKiogUGFyc2UgYW4gaW5wdXQgc3RyaW5nIGludG8gYSBzaW5nbGUgWUFNTC5Eb2N1bWVudCAqL1xuZnVuY3Rpb24gcGFyc2VEb2N1bWVudChzb3VyY2UsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbGluZUNvdW50ZXIsIHByZXR0eUVycm9ycyB9ID0gcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIobGluZUNvdW50ZXI/LmFkZE5ld0xpbmUpO1xuICAgIGNvbnN0IGNvbXBvc2VyID0gbmV3IENvbXBvc2VyKG9wdGlvbnMpO1xuICAgIC8vIGBkb2NgIGlzIGFsd2F5cyBzZXQgYnkgY29tcG9zZS5lbmQodHJ1ZSkgYXQgdGhlIHZlcnkgbGF0ZXN0XG4gICAgbGV0IGRvYyA9IG51bGw7XG4gICAgZm9yIChjb25zdCBfZG9jIG9mIGNvbXBvc2VyLmNvbXBvc2UocGFyc2VyLnBhcnNlKHNvdXJjZSksIHRydWUsIHNvdXJjZS5sZW5ndGgpKSB7XG4gICAgICAgIGlmICghZG9jKVxuICAgICAgICAgICAgZG9jID0gX2RvYztcbiAgICAgICAgZWxzZSBpZiAoZG9jLm9wdGlvbnMubG9nTGV2ZWwgIT09ICdzaWxlbnQnKSB7XG4gICAgICAgICAgICBkb2MuZXJyb3JzLnB1c2gobmV3IFlBTUxQYXJzZUVycm9yKF9kb2MucmFuZ2Uuc2xpY2UoMCwgMiksICdNVUxUSVBMRV9ET0NTJywgJ1NvdXJjZSBjb250YWlucyBtdWx0aXBsZSBkb2N1bWVudHM7IHBsZWFzZSB1c2UgWUFNTC5wYXJzZUFsbERvY3VtZW50cygpJykpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByZXR0eUVycm9ycyAmJiBsaW5lQ291bnRlcikge1xuICAgICAgICBkb2MuZXJyb3JzLmZvckVhY2gocHJldHRpZnlFcnJvcihzb3VyY2UsIGxpbmVDb3VudGVyKSk7XG4gICAgICAgIGRvYy53YXJuaW5ncy5mb3JFYWNoKHByZXR0aWZ5RXJyb3Ioc291cmNlLCBsaW5lQ291bnRlcikpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jO1xufVxuZnVuY3Rpb24gcGFyc2Uoc3JjLCByZXZpdmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IF9yZXZpdmVyID0gdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgcmV2aXZlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBfcmV2aXZlciA9IHJldml2ZXI7XG4gICAgfVxuICAgIGVsc2UgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCAmJiByZXZpdmVyICYmIHR5cGVvZiByZXZpdmVyID09PSAnb2JqZWN0Jykge1xuICAgICAgICBvcHRpb25zID0gcmV2aXZlcjtcbiAgICB9XG4gICAgY29uc3QgZG9jID0gcGFyc2VEb2N1bWVudChzcmMsIG9wdGlvbnMpO1xuICAgIGlmICghZG9jKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBkb2Mud2FybmluZ3MuZm9yRWFjaCh3YXJuaW5nID0+IHdhcm4oZG9jLm9wdGlvbnMubG9nTGV2ZWwsIHdhcm5pbmcpKTtcbiAgICBpZiAoZG9jLmVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChkb2Mub3B0aW9ucy5sb2dMZXZlbCAhPT0gJ3NpbGVudCcpXG4gICAgICAgICAgICB0aHJvdyBkb2MuZXJyb3JzWzBdO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBkb2MuZXJyb3JzID0gW107XG4gICAgfVxuICAgIHJldHVybiBkb2MudG9KUyhPYmplY3QuYXNzaWduKHsgcmV2aXZlcjogX3Jldml2ZXIgfSwgb3B0aW9ucykpO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5KHZhbHVlLCByZXBsYWNlciwgb3B0aW9ucykge1xuICAgIGxldCBfcmVwbGFjZXIgPSBudWxsO1xuICAgIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdmdW5jdGlvbicgfHwgQXJyYXkuaXNBcnJheShyZXBsYWNlcikpIHtcbiAgICAgICAgX3JlcGxhY2VyID0gcmVwbGFjZXI7XG4gICAgfVxuICAgIGVsc2UgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCAmJiByZXBsYWNlcikge1xuICAgICAgICBvcHRpb25zID0gcmVwbGFjZXI7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycpXG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zLmxlbmd0aDtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbnN0IGluZGVudCA9IE1hdGgucm91bmQob3B0aW9ucyk7XG4gICAgICAgIG9wdGlvbnMgPSBpbmRlbnQgPCAxID8gdW5kZWZpbmVkIDogaW5kZW50ID4gOCA/IHsgaW5kZW50OiA4IH0gOiB7IGluZGVudCB9O1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCB7IGtlZXBVbmRlZmluZWQgfSA9IG9wdGlvbnMgPz8gcmVwbGFjZXIgPz8ge307XG4gICAgICAgIGlmICgha2VlcFVuZGVmaW5lZClcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmIChpc0RvY3VtZW50KHZhbHVlKSAmJiAhX3JlcGxhY2VyKVxuICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcob3B0aW9ucyk7XG4gICAgcmV0dXJuIG5ldyBEb2N1bWVudCh2YWx1ZSwgX3JlcGxhY2VyLCBvcHRpb25zKS50b1N0cmluZyhvcHRpb25zKTtcbn1cblxuZXhwb3J0IHsgcGFyc2UsIHBhcnNlQWxsRG9jdW1lbnRzLCBwYXJzZURvY3VtZW50LCBzdHJpbmdpZnkgfTtcbiIsICJpbXBvcnQgeyBKc29uTGluaywgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IGdldEV4dGVuc2lvbiwgZ2V0RmlsZVRpdGxlIH0gZnJvbSBcInV0aWxzL25vcm1hbGl6ZXJzXCI7XG5pbXBvcnQgeyBDYWNoZWRNZXRhZGF0YSwgRmlsZVN0YXRzLCBGcm9udE1hdHRlckNhY2hlIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZVlhbWwgfSBmcm9tIFwieWFtbFwiO1xuaW1wb3J0IEJUcmVlIGZyb20gXCJzb3J0ZWQtYnRyZWVcIjtcbmltcG9ydCB7XG4gICAgSW5saW5lRmllbGQsXG4gICAgSnNvbklubGluZUZpZWxkLFxuICAgIGFzSW5saW5lRmllbGQsXG4gICAgZXh0cmFjdEZ1bGxMaW5lRmllbGQsXG4gICAgZXh0cmFjdElubGluZUZpZWxkcyxcbiAgICBqc29uSW5saW5lRmllbGQsXG59IGZyb20gXCIuL2lubGluZS1maWVsZFwiO1xuaW1wb3J0IHtcbiAgICBKc29uTWFya2Rvd25CbG9jayxcbiAgICBKc29uTWFya2Rvd25MaXN0QmxvY2ssXG4gICAgSnNvbk1hcmtkb3duTGlzdEl0ZW0sXG4gICAgSnNvbk1hcmtkb3duUGFnZSxcbiAgICBKc29uTWFya2Rvd25TZWN0aW9uLFxuICAgIEpzb25NYXJrZG93blRhc2tJdGVtLFxuICAgIEpzb25NYXJrZG93bkRhdGFibG9jayxcbiAgICBKc29uTWFya2Rvd25Db2RlYmxvY2ssXG4gICAgSnNvbkZyb250bWF0dGVyRW50cnksXG59IGZyb20gXCJpbmRleC90eXBlcy9qc29uL21hcmtkb3duXCI7XG5pbXBvcnQgeyBKc29uQ29udmVyc2lvbiB9IGZyb20gXCJpbmRleC90eXBlcy9qc29uL2NvbW1vblwiO1xuaW1wb3J0IHsgWWFtbENvbnZlcnNpb24gfSBmcm9tIFwiaW5kZXgvdHlwZXMveWFtbFwiO1xuaW1wb3J0IHsgbWFwT2JqZWN0VmFsdWVzIH0gZnJvbSBcInV0aWxzL2RhdGFcIjtcblxuLyoqIE1hdGNoZXMgeWFtbCBkYXRhYmxvY2tzLCB3aGljaCBzaG93IHVwIGFzIGluZGVwZW5kZW50IG9iamVjdHMgaW4gdGhlIGRhdGFjb3JlIGluZGV4LiAqL1xuY29uc3QgWUFNTF9EQVRBX1JFR0VYID0gL2BgYHlhbWw6ZGF0YS9pO1xuLyoqIE1hdGNoZXMgdGhlIHN0YXJ0IG9mIGFueSBjb2RlYmxvY2sgZmVuY2UuICovXG5jb25zdCBDT0RFQkxPQ0tfRkVOQ0VfUkVHRVggPSAvXig/OmBgYHx+fn4pKC4qKSQvaW07XG4vKiogTWF0Y2hlcyBsaXN0IGl0ZW1zIChpbmNsdWRpbmcgaW5zaWRlIHRleHQgYmxvY2tzKS4gKi9cbmNvbnN0IExJU1RfSVRFTV9SRUdFWCA9IC9eW1xccz5dKihcXGQrXFwufFxcZCtcXCl8XFwqfC18XFwrKVxccyooXFxbLnswLDF9XFxdKT9cXHMqKC4qKS9tc3U7XG5cbi8qKlxuICogR2l2ZW4gdGhlIHJhdyBzb3VyY2UgYW5kIE9ic2lkaWFuIG1ldGFkYXRhIGZvciBhIGdpdmVuIG1hcmtkb3duIGZpbGUsXG4gKiByZXR1cm4gZnVsbCBtYXJrZG93biBmaWxlIG1ldGFkYXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFya2Rvd25JbXBvcnQoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG1hcmtkb3duOiBzdHJpbmcsXG4gICAgbWV0YWRhdGE6IENhY2hlZE1ldGFkYXRhLFxuICAgIHN0YXRzOiBGaWxlU3RhdHNcbik6IEpzb25NYXJrZG93blBhZ2Uge1xuICAgIGNvbnN0IHsgbGluZXMsIG1ldGFkYXRhOiBwYWdlTWV0YWRhdGEsIGZyb250bWF0dGVyLCBzZWN0aW9ucyB9ID0gbWFya2Rvd25Tb3VyY2VJbXBvcnQocGF0aCwgbWFya2Rvd24sIG1ldGFkYXRhKTtcbiAgICBjb25zdCBwYWdlID0gbmV3IFBhZ2VEYXRhKHBhdGgsIHN0YXRzLCBsaW5lcy5sZW5ndGgsIHBhZ2VNZXRhZGF0YSwgc2VjdGlvbnMsIGZyb250bWF0dGVyKTtcblxuICAgIHJldHVybiBwYWdlLmJ1aWxkKCk7XG59XG5cbi8qKiBJbXBvcnQgbWFya2Rvd24gZmlsZSBtZXRhZGF0YSwgcHJvZHVjaW5nIGFsbCByZWxldmFudCBtYXJrZG93biBkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcmtkb3duU291cmNlSW1wb3J0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBtYXJrZG93bjogc3RyaW5nLFxuICAgIG1ldGFkYXRhOiBDYWNoZWRNZXRhZGF0YVxuKToge1xuICAgIGxpbmVzOiBzdHJpbmdbXTtcbiAgICBtZXRhZGF0YTogTWV0YWRhdGE7XG4gICAgZnJvbnRtYXR0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBKc29uRnJvbnRtYXR0ZXJFbnRyeT47XG4gICAgc2VjdGlvbnM6IFNlY3Rpb25EYXRhW107XG59IHtcbiAgICBjb25zdCBmcm9udG1hdHRlcjogUmVjb3JkPHN0cmluZywgSnNvbkZyb250bWF0dGVyRW50cnk+IHwgdW5kZWZpbmVkID0gbWV0YWRhdGE/LmZyb250bWF0dGVyXG4gICAgICAgID8gcGFyc2VGcm9udG1hdHRlckJsb2NrKG1ldGFkYXRhLmZyb250bWF0dGVyKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBsaW5lcyA9IG1hcmtkb3duLnNwbGl0KC9cXHJcXG58XFxyfFxcbi8pO1xuICAgIGNvbnN0IG1hcmtkb3duTWV0YWRhdGEgPSBuZXcgTWV0YWRhdGEoKTtcbiAgICBjb25zdCBzZWN0aW9uQXJyYXk6IFNlY3Rpb25EYXRhW10gPSBbXTtcbiAgICAvLy8vLy8vLy8vLy8vL1xuICAgIC8vIFNlY3Rpb25zIC8vXG4gICAgLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IG1ldGFoZWFkaW5ncyA9IG1ldGFkYXRhPy5oZWFkaW5ncyA/PyBbXTtcbiAgICBtZXRhaGVhZGluZ3Muc29ydCgoYSwgYikgPT4gYS5wb3NpdGlvbi5zdGFydC5saW5lIC0gYi5wb3NpdGlvbi5zdGFydC5saW5lKTtcblxuICAgIGNvbnN0IHNlY3Rpb25zID0gbmV3IEJUcmVlPG51bWJlciwgU2VjdGlvbkRhdGE+KHVuZGVmaW5lZCwgKGEsIGIpID0+IGEgLSBiKTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWV0YWhlYWRpbmdzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBlbnRyeSA9IG1ldGFoZWFkaW5nc1tpbmRleF07XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gZW50cnkucG9zaXRpb24uc3RhcnQubGluZTtcbiAgICAgICAgY29uc3QgZW5kID0gaW5kZXggPT0gbWV0YWhlYWRpbmdzLmxlbmd0aCAtIDEgPyBsaW5lcy5sZW5ndGggOiBtZXRhaGVhZGluZ3NbaW5kZXggKyAxXS5wb3NpdGlvbi5zdGFydC5saW5lO1xuXG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSBuZXcgU2VjdGlvbkRhdGEoc3RhcnQsIGVuZCwgZW50cnkuaGVhZGluZywgZW50cnkubGV2ZWwsIGluZGV4ICsgMSk7XG4gICAgICAgIHNlY3Rpb25zLnNldChzdGFydCwgc2VjdGlvbik7XG4gICAgfVxuXG4gICAgLy8gQWRkIGFuIGltcGxpY2l0IHNlY3Rpb24gZm9yIHRoZSBcImhlYWRpbmdcIiBzZWN0aW9uIG9mIHRoZSBwYWdlIGlmIHRoZXJlIGlzIG5vdCBhbiBpbW1lZGlhdGUgaGVhZGVyIGJ1dCB0aGVyZSBpc1xuICAgIC8vIHNvbWUgY29udGVudCBpbiB0aGUgZmlsZS4gSWYgdGhlcmUgYXJlIG90aGVyIHNlY3Rpb25zLCB0aGVuIGdvIHVwIHRvIHRoYXQsIG90aGVyd2lzZSwgZ28gZm9yIHRoZSBlbnRpcmUgZmlsZS5cbiAgICBpZiAoc2VjdGlvbnMuc2l6ZSA9PSAwKSB7XG4gICAgICAgIGlmICghZW1wdHlsaW5lcyhsaW5lcywgMCwgbGluZXMubGVuZ3RoKSkge1xuICAgICAgICAgICAgY29uc3Qgc2VjdGlvbiA9IG5ldyBTZWN0aW9uRGF0YSgwLCBsaW5lcy5sZW5ndGgsIGdldEZpbGVUaXRsZShwYXRoKSwgMSwgMCk7XG4gICAgICAgICAgICBzZWN0aW9ucy5zZXQoMCwgc2VjdGlvbik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGaW5kIHRoZSBzdGFydCBvZiB0aGUgZmlyc3Qgc2VjdGlvbi5cbiAgICAgICAgY29uc3QgZmlyc3QgPSBzZWN0aW9ucy5nZXRQYWlyT3JOZXh0SGlnaGVyKDApPy5bMV0hITtcblxuICAgICAgICBpZiAoZmlyc3Quc3RhcnQgPiAwICYmICFlbXB0eWxpbmVzKGxpbmVzLCAwLCBmaXJzdC5zdGFydCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3Rpb24gPSBuZXcgU2VjdGlvbkRhdGEoMCwgZmlyc3Quc3RhcnQsIGdldEZpbGVUaXRsZShwYXRoKSwgMSwgMCk7XG5cbiAgICAgICAgICAgIHNlY3Rpb25zLnNldCgwLCBzZWN0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vL1xuICAgIC8vIEJsb2NrcyAvL1xuICAgIC8vLy8vLy8vLy8vL1xuXG4gICAgLy8gQWxsIGJsb2Nrczsgd2Ugd2lsbCBhc3NpZ24gdGFncyBhbmQgb3RoZXIgbWV0YWRhdGEgdG8gYmxvY2tzIGFzIHdlIGVuY291bnRlciB0aGVtLiBBdCB0aGUgZW5kLCBvbmx5IGJsb2NrcyB0aGF0XG4gICAgLy8gaGF2ZSBhY3R1YWwgbWV0YWRhdGEgd2lsbCBiZSBzdG9yZWQgdG8gc2F2ZSBvbiBtZW1vcnkgcHJlc3N1cmUuXG4gICAgY29uc3QgYmxvY2tzID0gbmV3IEJUcmVlPG51bWJlciwgQmxvY2tEYXRhPih1bmRlZmluZWQsIChhLCBiKSA9PiBhIC0gYik7XG4gICAgbGV0IGJsb2NrT3JkaW5hbCA9IDE7XG4gICAgZm9yIChjb25zdCBibG9jayBvZiBtZXRhZGF0YT8uc2VjdGlvbnMgfHwgW10pIHtcbiAgICAgICAgLy8gU2tpcCBoZWFkaW5ncyBibG9ja3MsIHdlIGhhbmRsZSB0aGVtIHNwZWNpYWxseSBhcyBzZWN0aW9ucy5cbiAgICAgICAgaWYgKGJsb2NrLnR5cGUgPT09IFwiaGVhZGluZ1wiKSBjb250aW51ZTtcblxuICAgICAgICBjb25zdCBzdGFydCA9IGJsb2NrLnBvc2l0aW9uLnN0YXJ0LmxpbmU7XG4gICAgICAgIGNvbnN0IGVuZCA9IGJsb2NrLnBvc2l0aW9uLmVuZC5saW5lICsgMTtcbiAgICAgICAgY29uc3Qgc3RhcnRMaW5lID0gbGluZXNbc3RhcnRdOyAvLyB0byB1c2UgdG8gY2hlY2sgdGhlIGNvZGVibG9jayB0eXBlXG5cbiAgICAgICAgaWYgKGJsb2NrLnR5cGUgPT09IFwibGlzdFwiKSB7XG4gICAgICAgICAgICBibG9ja3Muc2V0KHN0YXJ0LCBuZXcgTGlzdEJsb2NrRGF0YShzdGFydCwgZW5kLCBibG9ja09yZGluYWwrKywgYmxvY2suaWQpKTtcbiAgICAgICAgfSBlbHNlIGlmIChibG9jay50eXBlID09IFwiY29kZVwiICYmIFlBTUxfREFUQV9SRUdFWC50ZXN0KHN0YXJ0TGluZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHlhbWw6IHN0cmluZyA9IGxpbmVzXG4gICAgICAgICAgICAgICAgLnNsaWNlKHN0YXJ0ICsgMSwgZW5kIC0gMSlcbiAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXHQvZ20sIFwiICBcIik7XG4gICAgICAgICAgICBjb25zdCBzcGxpdDogUmVjb3JkPHN0cmluZywgSnNvbkZyb250bWF0dGVyRW50cnk+ID0gcGFyc2VGcm9udG1hdHRlckJsb2NrKHBhcnNlWWFtbCh5YW1sKSk7XG5cbiAgICAgICAgICAgIGJsb2Nrcy5zZXQoc3RhcnQsIG5ldyBEYXRhYmxvY2tEYXRhKHN0YXJ0LCBlbmQsIGJsb2NrT3JkaW5hbCsrLCBzcGxpdCwgYmxvY2suaWQpKTtcbiAgICAgICAgfSBlbHNlIGlmIChibG9jay50eXBlID09PSBcImNvZGVcIikge1xuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGJsb2NrIGlzIGZlbmNlZC5cbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gc3RhcnRMaW5lLm1hdGNoKENPREVCTE9DS19GRU5DRV9SRUdFWCk7XG4gICAgICAgICAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhbiBpbmRlbnRlZC1zdHlsZSBjb2RlYmxvY2suXG4gICAgICAgICAgICAgICAgYmxvY2tzLnNldChzdGFydCwgbmV3IENvZGVibG9ja0RhdGEoc3RhcnQsIGVuZCwgYmxvY2tPcmRpbmFsKyssIFtdLCBcImluZGVudFwiLCBzdGFydCwgZW5kLCBibG9jay5pZCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsYW5ndWFnZXMgPSBtYXRjaC5sZW5ndGggPiAxICYmIG1hdGNoWzFdID8gbWF0Y2hbMV0uc3BsaXQoXCIsXCIpIDogW107XG4gICAgICAgICAgICAgICAgYmxvY2tzLnNldChcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIG5ldyBDb2RlYmxvY2tEYXRhKHN0YXJ0LCBlbmQsIGJsb2NrT3JkaW5hbCsrLCBsYW5ndWFnZXMsIFwiZmVuY2VkXCIsIHN0YXJ0ICsgMSwgZW5kIC0gMSwgYmxvY2suaWQpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJsb2Nrcy5zZXQoc3RhcnQsIG5ldyBCYXNlQmxvY2tEYXRhKHN0YXJ0LCBlbmQsIGJsb2NrT3JkaW5hbCsrLCBibG9jay50eXBlLCBibG9jay5pZCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJsb2NrcyB0byBzZWN0aW9ucy5cbiAgICBmb3IgKGNvbnN0IGJsb2NrIG9mIGJsb2Nrcy52YWx1ZXMoKSkge1xuICAgICAgICBsb29rdXAoYmxvY2suc3RhcnQsIHNlY3Rpb25zKT8uYmxvY2soYmxvY2spO1xuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vXG4gICAgLy8gTGlzdHMgLy9cbiAgICAvLy8vLy8vLy8vL1xuXG4gICAgLy8gQWxsIGxpc3QgaXRlbXMgaW4gbGlzdHMuIFN0YXJ0IHdpdGggYSBzaW1wbGUgdHJpdmlhbCBwYXNzLlxuICAgIGNvbnN0IGNvbnRlbnRSZWdleCA9IC9eW1xcdFxcZlxcdiBdKltcXC0rXFwqXVxccyhcXFsuXFxdXFxzKT8vO1xuICAgIGNvbnN0IG1hcmtlclJlZ2V4ID0gL14oPj9cXHM/KSooXFx0fFxccykqL2c7XG4gICAgY29uc3QgbGlzdEl0ZW1zID0gbmV3IEJUcmVlPG51bWJlciwgTGlzdEl0ZW1EYXRhPih1bmRlZmluZWQsIChhLCBiKSA9PiBhIC0gYik7XG5cbiAgICBmb3IgKGNvbnN0IGxpc3Qgb2YgbWV0YWRhdGE/Lmxpc3RJdGVtcyB8fCBbXSkge1xuICAgICAgICBjb25zdCBsaW5lID0gbGluZXMuc2xpY2UobGlzdC5wb3NpdGlvbi5zdGFydC5saW5lLCBsaXN0LnBvc2l0aW9uLmVuZC5saW5lICsgMSkuam9pbihcIlxcblwiKTtcblxuICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgZmxhZyB3aGljaCBza2lwcyBpbmRleGluZyBsaXN0IGl0ZW1zLlxuICAgICAgICBjb25zdCBtYXRjaCA9IGxpbmUubWF0Y2goTElTVF9JVEVNX1JFR0VYKTtcbiAgICAgICAgbGV0IHN5bWJvbCA9IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHRleHQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgc3ltYm9sID0gbWF0Y2hbMV07XG4gICAgICAgICAgICB0ZXh0ID0gbWF0Y2hbM107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtID0gbmV3IExpc3RJdGVtRGF0YShcbiAgICAgICAgICAgIGxpc3QucG9zaXRpb24uc3RhcnQubGluZSxcbiAgICAgICAgICAgIGxpc3QucG9zaXRpb24uZW5kLmxpbmUgKyAxLFxuICAgICAgICAgICAgbGlzdC5wYXJlbnQsXG4gICAgICAgICAgICBzeW1ib2wsXG4gICAgICAgICAgICBsaXN0LmlkLFxuICAgICAgICAgICAgbGlzdC50YXNrLFxuICAgICAgICAgICAgdGV4dFxuICAgICAgICApO1xuICAgICAgICBsaXN0SXRlbXMuc2V0KGl0ZW0uc3RhcnQsIGl0ZW0pO1xuICAgIH1cblxuICAgIC8vIEluIHRoZSBzZWNvbmQgbGlzdCBwYXNzLCBhY3R1YWxseSBjb25zdHJ1Y3QgdGhlIGxpc3QgaGVpcmFyY2h5LlxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBsaXN0SXRlbXMudmFsdWVzKCkpIHtcbiAgICAgICAgaWYgKGl0ZW0ucGFyZW50TGluZSA8IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3RCbG9jayA9IGJsb2Nrcy5nZXQoLWl0ZW0ucGFyZW50TGluZSk7XG4gICAgICAgICAgICBpZiAoIWxpc3RCbG9jayB8fCAhKGxpc3RCbG9jay50eXBlID09PSBcImxpc3RcIikpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAobGlzdEJsb2NrIGFzIExpc3RCbG9ja0RhdGEpLml0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsaXN0SXRlbXMuZ2V0KGl0ZW0ucGFyZW50TGluZSk/LmVsZW1lbnRzLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vXG4gICAgLy8gVGFncyAvL1xuICAgIC8vLy8vLy8vLy9cblxuICAgIC8vIEZvciBlYWNoIHRhZywgYXNzaWduIGl0IHRvIHRoZSBhcHByb3ByaWF0ZSBzZWN0aW9uIGFuZCBibG9jayB0aGF0IGl0IGlzIGEgcGFydCBvZi5cbiAgICBmb3IgKGNvbnN0IHRhZ2RlZiBvZiBtZXRhZGF0YT8udGFncyA/PyBbXSkge1xuICAgICAgICBjb25zdCB0YWcgPSB0YWdkZWYudGFnLnN0YXJ0c1dpdGgoXCIjXCIpID8gdGFnZGVmLnRhZyA6IFwiI1wiICsgdGFnZGVmLnRhZztcbiAgICAgICAgY29uc3QgbGluZSA9IHRhZ2RlZi5wb3NpdGlvbi5zdGFydC5saW5lO1xuICAgICAgICBtYXJrZG93bk1ldGFkYXRhLnRhZyh0YWcpO1xuXG4gICAgICAgIGxvb2t1cChsaW5lLCBzZWN0aW9ucyk/Lm1ldGFkYXRhLnRhZyh0YWcpO1xuICAgICAgICBsb29rdXAobGluZSwgYmxvY2tzKT8ubWV0YWRhdGEudGFnKHRhZyk7XG4gICAgICAgIGxvb2t1cChsaW5lLCBsaXN0SXRlbXMpPy5tZXRhZGF0YS50YWcodGFnKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgZnJvbnRtYXR0ZXIgdGFncy5cbiAgICBpZiAobWV0YWRhdGE/LmZyb250bWF0dGVyKSB7XG4gICAgICAgIGZvciAoY29uc3QgcmF3dGFnIG9mIGV4dHJhY3RUYWdzKG1ldGFkYXRhLmZyb250bWF0dGVyKSkge1xuICAgICAgICAgICAgY29uc3QgdGFnID0gcmF3dGFnLnN0YXJ0c1dpdGgoXCIjXCIpID8gcmF3dGFnIDogXCIjXCIgKyByYXd0YWc7XG4gICAgICAgICAgICBtYXJrZG93bk1ldGFkYXRhLnRhZyh0YWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vLy9cbiAgICAvLyBMaW5rcyAvL1xuICAgIC8vLy8vLy8vLy8vXG5cbiAgICBmb3IgKGxldCBsaW5rZGVmIG9mIG1ldGFkYXRhPy5saW5rcyA/PyBbXSkge1xuICAgICAgICBjb25zdCBsaW5rID0gTGluay5pbmZlcihsaW5rZGVmLmxpbmspO1xuICAgICAgICBjb25zdCBsaW5lID0gbGlua2RlZi5wb3NpdGlvbi5zdGFydC5saW5lO1xuICAgICAgICBtYXJrZG93bk1ldGFkYXRhLmxpbmsobGluayk7XG5cbiAgICAgICAgbG9va3VwKGxpbmUsIHNlY3Rpb25zKT8ubWV0YWRhdGEubGluayhsaW5rKTtcbiAgICAgICAgbG9va3VwKGxpbmUsIGJsb2Nrcyk/Lm1ldGFkYXRhLmxpbmsobGluayk7XG4gICAgICAgIGxvb2t1cChsaW5lLCBsaXN0SXRlbXMpPy5tZXRhZGF0YS5saW5rKGxpbmspO1xuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gRnJvbnRtYXR0ZXIgTGlua3MgLy9cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgLy8gRnJvbnRtYXR0ZXIgbGlua3MgYXJlIG9ubHkgYXNzaWduZWQgdG8gdGhlIHBhZ2UuXG4gICAgZm9yIChjb25zdCBsaW5rZGVmIG9mIG1ldGFkYXRhPy5mcm9udG1hdHRlckxpbmtzID8/IFtdKSB7XG4gICAgICAgIG1hcmtkb3duTWV0YWRhdGEubGluayhMaW5rLmluZmVyKGxpbmtkZWYubGluaywgZmFsc2UsIGxpbmtkZWYuZGlzcGxheVRleHQpKTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSW5saW5lIEZpZWxkcyAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgaXRlcmF0ZUlubGluZUZpZWxkcyhsaW5lcykpIHtcbiAgICAgICAgY29uc3QgbGluZSA9IGZpZWxkLnBvc2l0aW9uLmxpbmU7XG4gICAgICAgIG1hcmtkb3duTWV0YWRhdGEuaW5saW5lRmllbGQoZmllbGQpO1xuXG4gICAgICAgIGxvb2t1cChsaW5lLCBzZWN0aW9ucyk/Lm1ldGFkYXRhLmlubGluZUZpZWxkKGZpZWxkKTtcbiAgICAgICAgbG9va3VwKGxpbmUsIGJsb2Nrcyk/Lm1ldGFkYXRhLmlubGluZUZpZWxkKGZpZWxkKTtcbiAgICAgICAgbG9va3VwKGxpbmUsIGxpc3RJdGVtcyk/Lm1ldGFkYXRhLmlubGluZUZpZWxkKGZpZWxkKTtcbiAgICB9XG4gICAgc2VjdGlvbkFycmF5LnB1c2goLi4uc2VjdGlvbnMudmFsdWVzKCkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGxpbmVzLFxuICAgICAgICBmcm9udG1hdHRlcixcbiAgICAgICAgbWV0YWRhdGE6IG1hcmtkb3duTWV0YWRhdGEsXG4gICAgICAgIHNlY3Rpb25zOiBzZWN0aW9uQXJyYXksXG4gICAgfTtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUGFyc2luZyBBaWRzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIENoZWNrIGlmIHRoZSBnaXZlbiBsaW5lIHJhbmdlIGlzIGFsbCBlbXB0eS4gU3RhcnQgaXMgaW5jbHVzaXZlLCBlbmQgZXhjbHVzaXZlLiAqL1xuZnVuY3Rpb24gZW1wdHlsaW5lcyhsaW5lczogc3RyaW5nW10sIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaW5kZXggPSBzdGFydDsgaW5kZXggPCBlbmQ7IGluZGV4KyspIHtcbiAgICAgICAgaWYgKGxpbmVzW2luZGV4XS50cmltKCkgIT09IFwiXCIpIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBZaWVsZHMgYWxsIGlubGluZSBmaWVsZHMgZm91bmQgaW4gdGhlIGRvY3VtZW50IGJ5IHRyYXZlcnNpbmcgbGluZSBieSBsaW5lIHRocm91Z2ggdGhlIGRvY3VtZW50LiBQZXJmb3JtcyBzb21lIG9wdGltaXphdGlvbnNcbiAqIHRvIHNraXAgZXh0cmEtbGFyZ2UgbGluZXMsIGFuZCBjYW4gYmUgZGlzYWJsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiogaXRlcmF0ZUlubGluZUZpZWxkcyhjb250ZW50OiBzdHJpbmdbXSk6IEdlbmVyYXRvcjxJbmxpbmVGaWVsZD4ge1xuICAgIGZvciAobGV0IGxpbmVubyA9IDA7IGxpbmVubyA8IGNvbnRlbnQubGVuZ3RoOyBsaW5lbm8rKykge1xuICAgICAgICBjb25zdCBsaW5lID0gY29udGVudFtsaW5lbm9dO1xuXG4gICAgICAgIC8vIEZhc3QtYmFpbG91dCBmb3IgbGluZXMgdGhhdCBhcmUgdG9vIGxvbmcgb3IgZG8gbm90IGNvbnRhaW4gJzo6Jy5cbiAgICAgICAgaWYgKGxpbmUubGVuZ3RoID4gMzI3NjggfHwgIWxpbmUuaW5jbHVkZXMoXCI6OlwiKSkgY29udGludWU7XG5cbiAgICAgICAgLy8gVE9ETzogUmUtYWRkIHN1cHBvcnQgZm9yIHRob3NlIGN1c3RvbSBlbW9qaSBmaWVsZHMgb24gdGFza3MgYW5kIHNpbWlsYXIuXG4gICAgICAgIGxldCBpbmxpbmVGaWVsZHMgPSBleHRyYWN0SW5saW5lRmllbGRzKGxpbmUpO1xuICAgICAgICBpZiAoaW5saW5lRmllbGRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAobGV0IGlmaWVsZCBvZiBpbmxpbmVGaWVsZHMpIHlpZWxkIGFzSW5saW5lRmllbGQoaWZpZWxkLCBsaW5lbm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGZ1bGxMaW5lID0gZXh0cmFjdEZ1bGxMaW5lRmllbGQobGluZSk7XG4gICAgICAgICAgICBpZiAoZnVsbExpbmUpIHlpZWxkIGFzSW5saW5lRmllbGQoZnVsbExpbmUsIGxpbmVubyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiBUb3AtbGV2ZWwgZnVuY3Rpb24gd2hpY2ggbWFwcyBhIFlBTUwgYmxvY2sgLSBpbmNsdWRpbmcgZnJvbnRtYXR0ZXIgLSBpbnRvIGZyb250bWF0dGVyIGVudHJpZXMuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGcm9udG1hdHRlckJsb2NrKGJsb2NrOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgSnNvbkZyb250bWF0dGVyRW50cnk+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIEpzb25Gcm9udG1hdHRlckVudHJ5PiA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGJsb2NrKSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGJsb2NrW2tleV07XG5cbiAgICAgICAgcmVzdWx0W2tleS50b0xvd2VyQ2FzZSgpXSA9IHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IEpzb25Db252ZXJzaW9uLmpzb24oWWFtbENvbnZlcnNpb24ubGl0ZXJhbCh2YWx1ZSkpLFxuICAgICAgICAgICAgcmF3OiB2YWx1ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKiogRmluZHMgYW4gZWxlbWVudCB3aGljaCBjb250YWlucyB0aGUgZ2l2ZW4gbGluZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb29rdXA8VCBleHRlbmRzIHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfT4obGluZTogbnVtYmVyLCB0cmVlOiBCVHJlZTxudW1iZXIsIFQ+KTogVCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdHJlZS5nZXRQYWlyT3JOZXh0TG93ZXIobGluZSk/LlsxXTtcbiAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC5lbmQgPj0gbGluZSkgcmV0dXJuIHRhcmdldDtcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBFeHRyYWN0IHRhZ3MgaW50ZWxsaWdlbnRseSBmcm9tIGZyb250bWF0dGVyLiBIYW5kbGVzIGFycmF5cywgbnVtYmVycywgYW5kIHN0cmluZ3MuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdFRhZ3MobWV0YWRhdGE6IEZyb250TWF0dGVyQ2FjaGUpOiBzdHJpbmdbXSB7XG4gICAgbGV0IHRhZ0tleXMgPSBPYmplY3Qua2V5cyhtZXRhZGF0YSkuZmlsdGVyKCh0KSA9PiB0LnRvTG93ZXJDYXNlKCkgPT0gXCJ0YWdzXCIgfHwgdC50b0xvd2VyQ2FzZSgpID09IFwidGFnXCIpO1xuXG4gICAgcmV0dXJuIHRhZ0tleXNcbiAgICAgICAgLm1hcCgoaykgPT4gc3BsaXRGcm9udG1hdHRlclRhZ09yQWxpYXMobWV0YWRhdGFba10sIC9bLFxcc10rLykpXG4gICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IHAuY29uY2F0KGMpLCBbXSlcbiAgICAgICAgLm1hcCgoc3RyKSA9PiAoc3RyLnN0YXJ0c1dpdGgoXCIjXCIpID8gc3RyIDogXCIjXCIgKyBzdHIpKTtcbn1cblxuLyoqIFNwbGl0IGEgZnJvbnRtYXR0ZXIgbGlzdCBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzOyBoYW5kbGVzIGFjdHVhbCBsaXN0cywgY29tbWEgc2VwYXJhdGVkIGxpc3RzLCBhbmQgc2luZ2xlIGVsZW1lbnRzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKGRhdGE6IGFueSwgb246IFJlZ0V4cCk6IHN0cmluZ1tdIHtcbiAgICBpZiAoZGF0YSA9PSBudWxsIHx8IGRhdGEgPT0gdW5kZWZpbmVkKSByZXR1cm4gW107XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIGRhdGFcbiAgICAgICAgICAgIC5maWx0ZXIoKHMpID0+ICEhcylcbiAgICAgICAgICAgIC5tYXAoKHMpID0+IHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKHMsIG9uKSlcbiAgICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IHAuY29uY2F0KGMpLCBbXSk7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgdG8gYSBzdHJpbmcgdG8gaGFuZGxlIG51bWJlcnMgYW5kIHNvIG9uLlxuICAgIHJldHVybiAoXCJcIiArIGRhdGEpXG4gICAgICAgIC5zcGxpdChvbilcbiAgICAgICAgLmZpbHRlcigodCkgPT4gISF0KVxuICAgICAgICAubWFwKCh0KSA9PiB0LnRyaW0oKSlcbiAgICAgICAgLmZpbHRlcigodCkgPT4gdC5sZW5ndGggPiAwKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJ1aWxkZXIgVXRpbGl0aWVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKiogQ29udmllbmVudCBzaGFyZWQgdXRpbGl0eSBmb3IgdHJhY2tpbmcgbWV0YWRhdGEgLSBsaW5rcywgdGFncywgYW5kIHNvIG9uLiAqL1xuZXhwb3J0IGNsYXNzIE1ldGFkYXRhIHtcbiAgICBwdWJsaWMgdGFnczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gICAgcHVibGljIGxpbmtzOiBMaW5rW10gPSBbXTtcbiAgICBwdWJsaWMgaW5saW5lRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVGaWVsZD4gPSB7fTtcblxuICAgIC8qKiBBZGQgYSB0YWcgdG8gdGhlIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyB0YWcodGFnOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZCh0YWcpO1xuICAgIH1cblxuICAgIC8qKiBBZGQgYSBsaW5rIHRvIHRoZSBtZXRhZGF0YS4gKi9cbiAgICBwdWJsaWMgbGluayhsaW5rOiBMaW5rKSB7XG4gICAgICAgIGlmICh0aGlzLmxpbmtzLmZpbmQoKHYpID0+IHYuZXF1YWxzKGxpbmspKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmxpbmtzLnB1c2gobGluayk7XG4gICAgfVxuXG4gICAgLyoqIEFkZCBhbiBpbmxpbmUgZmllbGQgdG8gdGhlIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyBpbmxpbmVGaWVsZChmaWVsZDogSW5saW5lRmllbGQpIHtcbiAgICAgICAgY29uc3QgbG93ZXIgPSBmaWVsZC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuaW5saW5lRmllbGRzKS5zb21lKChrZXkpID0+IGtleS50b0xvd2VyQ2FzZSgpID09IGxvd2VyKSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaW5saW5lRmllbGRzW2xvd2VyXSA9IGZpZWxkO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBsaXN0IG9mIHVuaXF1ZSBhZGRlZCB0YWdzLiAqL1xuICAgIHB1YmxpYyBmaW5pc2hUYWdzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy50YWdzKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJuIGEgbGlzdCBvZiBKU09OLXNlcmlhbGl6ZWQgbGlua3MuICovXG4gICAgcHVibGljIGZpbmlzaExpbmtzKCk6IEpzb25MaW5rW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5rcy5tYXAoKGxpbmspID0+IGxpbmsudG9PYmplY3QoKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIGxpc3Qgb2YgSlNPTi1zZXJpYWxpemVkIGlubGluZSBmaWVsZHMuICovXG4gICAgcHVibGljIGZpbmlzaElubGluZUZpZWxkcygpOiBSZWNvcmQ8c3RyaW5nLCBKc29uSW5saW5lRmllbGQ+IHtcbiAgICAgICAgcmV0dXJuIG1hcE9iamVjdFZhbHVlcyh0aGlzLmlubGluZUZpZWxkcywganNvbklubGluZUZpZWxkKTtcbiAgICB9XG59XG5cbi8qKiBDb252aWVuZW50IHV0aWxpdHkgZm9yIGNvbnN0cnVjdGluZyBwYWdlIG9iamVjdHMuICovXG5leHBvcnQgY2xhc3MgUGFnZURhdGEge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHBhdGg6IHN0cmluZyxcbiAgICAgICAgcHVibGljIHN0YXRzOiBGaWxlU3RhdHMsXG4gICAgICAgIHB1YmxpYyBsZW5ndGg6IG51bWJlcixcbiAgICAgICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSxcbiAgICAgICAgcHVibGljIHNlY3Rpb25zOiBTZWN0aW9uRGF0YVtdLFxuICAgICAgICBwdWJsaWMgZnJvbnRtYXR0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBKc29uRnJvbnRtYXR0ZXJFbnRyeT5cbiAgICApIHt9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogSnNvbk1hcmtkb3duUGFnZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAgICAgJGN0aW1lOiB0aGlzLnN0YXRzLmN0aW1lLFxuICAgICAgICAgICAgJG10aW1lOiB0aGlzLnN0YXRzLm10aW1lLFxuICAgICAgICAgICAgJHNpemU6IHRoaXMuc3RhdHMuc2l6ZSxcbiAgICAgICAgICAgICRleHRlbnNpb246IGdldEV4dGVuc2lvbih0aGlzLnBhdGgpLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiAwLCBlbmQ6IHRoaXMubGVuZ3RoIH0sXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogdGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSxcbiAgICAgICAgICAgICRzZWN0aW9uczogdGhpcy5zZWN0aW9ucy5tYXAoKHgpID0+IHguYnVpbGQoKSksXG4gICAgICAgICAgICAkZnJvbnRtYXR0ZXI6IHRoaXMuZnJvbnRtYXR0ZXIsXG4gICAgICAgIH07XG4gICAgfVxufVxuXG4vKiogQ29udmllbmVudCB1dGlsaXR5IGZvciBjb25zdHJ1Y3RpbmcgbWFya2Rvd24gc2VjdGlvbnMuICovXG5leHBvcnQgY2xhc3MgU2VjdGlvbkRhdGEge1xuICAgIHB1YmxpYyBibG9ja3M6IEJsb2NrRGF0YVtdID0gW107XG4gICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc3RhcnQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIGVuZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGxldmVsOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBvcmRpbmFsOiBudW1iZXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgYmxvY2soYmxvY2s6IEJsb2NrRGF0YSkge1xuICAgICAgICB0aGlzLmJsb2Nrcy5wdXNoKGJsb2NrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogSnNvbk1hcmtkb3duU2VjdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJGxldmVsOiB0aGlzLmxldmVsLFxuICAgICAgICAgICAgJHRhZ3M6IHRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLFxuICAgICAgICAgICAgJGluZmllbGRzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksXG4gICAgICAgICAgICAkcG9zaXRpb246IHsgc3RhcnQ6IHRoaXMuc3RhcnQsIGVuZDogdGhpcy5lbmQgfSxcbiAgICAgICAgICAgICRibG9ja3M6IHRoaXMuYmxvY2tzLm1hcCgoYmxvY2spID0+IGJsb2NrLmJ1aWxkKCkpLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIENvbnN0cnVjdHMgbWFya2Rvd24gbGlzdCBibG9ja3Mgc3BlY2lmaWNhbGx5LiAqL1xuZXhwb3J0IGNsYXNzIExpc3RCbG9ja0RhdGEge1xuICAgIHB1YmxpYyB0eXBlOiBzdHJpbmcgPSBcImxpc3RcIjtcbiAgICBwdWJsaWMgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG4gICAgcHVibGljIGl0ZW1zOiBMaXN0SXRlbURhdGFbXSA9IFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBzdGFydDogbnVtYmVyLCBwdWJsaWMgZW5kOiBudW1iZXIsIHB1YmxpYyBvcmRpbmFsOiBudW1iZXIsIHB1YmxpYyBibG9ja0lkPzogc3RyaW5nKSB7fVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IEpzb25NYXJrZG93bkxpc3RCbG9jayB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IHRoaXMuZW5kIH0sXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICR0eXBlOiBcImxpc3RcIixcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgICAgICAkZWxlbWVudHM6IHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmJ1aWxkKCkpLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIENvbnN0cnVjdHMgbWFya2Rvd24gY29kZWJsb2NrcyBzcGVjaWZpY2FsbHkuICovXG5leHBvcnQgY2xhc3MgQ29kZWJsb2NrRGF0YSB7XG4gICAgcHVibGljIHR5cGU6IHN0cmluZyA9IFwiY29kZWJsb2NrXCI7XG4gICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc3RhcnQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIGVuZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgb3JkaW5hbDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgbGFuZ3VhZ2VzOiBzdHJpbmdbXSxcbiAgICAgICAgcHVibGljIHN0eWxlOiBcImluZGVudFwiIHwgXCJmZW5jZWRcIixcbiAgICAgICAgcHVibGljIGNvbnRlbnRTdGFydDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgY29udGVudEVuZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgYmxvY2tJZD86IHN0cmluZ1xuICAgICkge31cblxuICAgIHB1YmxpYyBidWlsZCgpOiBKc29uTWFya2Rvd25Db2RlYmxvY2sge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJHR5cGU6IFwiY29kZWJsb2NrXCIsXG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IHRoaXMuZW5kIH0sXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgICAgICAkbGFuZ3VhZ2VzOiB0aGlzLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICRzdHlsZTogdGhpcy5zdHlsZSxcbiAgICAgICAgICAgICRjb250ZW50UG9zaXRpb246IHsgc3RhcnQ6IHRoaXMuY29udGVudFN0YXJ0LCBlbmQ6IHRoaXMuY29udGVudEVuZCB9LFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIENvbnN0cnVjdHMgbWFya2Rvd24gZGF0YWJsb2NrcyBzcGVjaWZpY2FsbHkuICovXG5leHBvcnQgY2xhc3MgRGF0YWJsb2NrRGF0YSB7XG4gICAgcHVibGljIHR5cGU6IHN0cmluZyA9IFwiZGF0YWJsb2NrXCI7XG4gICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc3RhcnQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIGVuZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgb3JkaW5hbDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgZGF0YTogUmVjb3JkPHN0cmluZywgSnNvbkZyb250bWF0dGVyRW50cnk+LFxuICAgICAgICBwdWJsaWMgYmxvY2tJZD86IHN0cmluZ1xuICAgICkge31cblxuICAgIHB1YmxpYyBidWlsZCgpOiBKc29uTWFya2Rvd25EYXRhYmxvY2sge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJHR5cGU6IFwiZGF0YWJsb2NrXCIsXG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IHRoaXMuZW5kIH0sXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgICAgICAkZGF0YTogdGhpcy5kYXRhLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIEJhc2UgYmxvY2sgbWV0YWRhdGEgdXNlZCBmb3Igbm9uLXNwZWNpZmljIGJsb2Nrcy4gKi9cbmV4cG9ydCBjbGFzcyBCYXNlQmxvY2tEYXRhIHtcbiAgICBwdWJsaWMgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBzdGFydDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgZW5kOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBvcmRpbmFsOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyB0eXBlOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBibG9ja0lkPzogc3RyaW5nXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IEpzb25NYXJrZG93bkJsb2NrIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICR0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IHRoaXMuZW5kIH0sXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBCbG9ja0RhdGEgPSBMaXN0QmxvY2tEYXRhIHwgQ29kZWJsb2NrRGF0YSB8IERhdGFibG9ja0RhdGEgfCBCYXNlQmxvY2tEYXRhO1xuXG4vKiogVXRpbGl0eSBmb3IgY29uc3RydWN0aW5nIG1hcmtkb3duIGxpc3QgaXRlbXMuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1EYXRhIHtcbiAgICBwdWJsaWMgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG4gICAgcHVibGljIGVsZW1lbnRzOiBMaXN0SXRlbURhdGFbXSA9IFtdO1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHN0YXJ0OiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBlbmQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIHBhcmVudExpbmU6IG51bWJlcixcbiAgICAgICAgcHVibGljIHN5bWJvbD86IHN0cmluZyxcbiAgICAgICAgcHVibGljIGJsb2NrSWQ/OiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBzdGF0dXM/OiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyB0ZXh0Pzogc3RyaW5nXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IEpzb25NYXJrZG93bkxpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRwYXJlbnRMaW5lOiB0aGlzLnBhcmVudExpbmUsXG4gICAgICAgICAgICAkcG9zaXRpb246IHsgc3RhcnQ6IHRoaXMuc3RhcnQsIGVuZDogdGhpcy5lbmQgfSxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgICAgICAkZWxlbWVudHM6IHRoaXMuZWxlbWVudHMubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LmJ1aWxkKCkpLFxuICAgICAgICAgICAgJHR5cGU6IHRoaXMuc3RhdHVzID8gXCJ0YXNrXCIgOiBcImxpc3RcIixcbiAgICAgICAgICAgICRpbmZpZWxkczogdGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSxcbiAgICAgICAgICAgICR0YWdzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSxcbiAgICAgICAgICAgICRsaW5rczogdGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLFxuICAgICAgICAgICAgJHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICAgICAgICAkc3ltYm9sOiB0aGlzLnN5bWJvbCxcbiAgICAgICAgICAgICR0ZXh0OiB0aGlzLnRleHQsXG4gICAgICAgIH0gYXMgSnNvbk1hcmtkb3duVGFza0l0ZW07XG4gICAgfVxufVxuIiwgImltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IHtcbiAgICBCaW5hcnlPcCxcbiAgICBFeHByZXNzaW9uLFxuICAgIEV4cHJlc3Npb25zLFxuICAgIExhbWJkYUV4cHJlc3Npb24sXG4gICAgTGlzdEV4cHJlc3Npb24sXG4gICAgTGl0ZXJhbEV4cHJlc3Npb24sXG4gICAgT2JqZWN0RXhwcmVzc2lvbixcbiAgICBWYXJpYWJsZUV4cHJlc3Npb24sXG59IGZyb20gXCIuL2V4cHJlc3Npb25cIjtcbmltcG9ydCBlbW9qaVJlZ2V4IGZyb20gXCJlbW9qaS1yZWdleFwiO1xuaW1wb3J0IHtcbiAgICBJbmRleENoaWxkT2YsXG4gICAgSW5kZXhQYXRoLFxuICAgIEluZGV4SWQsXG4gICAgSW5kZXhOb3QsXG4gICAgSW5kZXhQYXJlbnRPZixcbiAgICBJbmRleFF1ZXJ5LFxuICAgIEluZGV4VGFnZ2VkLFxuICAgIEluZGV4VHlwZWQsXG4gICAgSW5kZXhMaW5rZWQsXG4gICAgSW5kZXhGaWVsZCxcbiAgICBJbmRleEV4cHJlc3Npb24sXG59IGZyb20gXCJpbmRleC90eXBlcy9pbmRleC1xdWVyeVwiO1xuaW1wb3J0IHsgbm9ybWFsaXplRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7IExpdGVyYWwgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUGFyc2luZyBQcmltaXRpdmVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFByaW1pdGl2ZSBwYXJzaW5nIGZvciBjb21tb25seSBzZWVuIHR5cGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmltaXRpdmVzTGFuZ3VhZ2Uge1xuICAgIG51bWJlcjogbnVtYmVyO1xuICAgIHN0cmluZzogc3RyaW5nO1xuICAgIGVzY2FwZUNoYXJhY3Rlcjogc3RyaW5nO1xuICAgIGJvb2w6IGJvb2xlYW47XG4gICAgdGFnOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGxpbms6IExpbms7XG4gICAgZW1iZWRMaW5rOiBMaW5rO1xuICAgIHJvb3REYXRlOiBEYXRlVGltZTtcbiAgICBkYXRlU2hvcnRoYW5kOiBrZXlvZiB0eXBlb2YgREFURV9TSE9SVEhBTkRTO1xuICAgIGRhdGU6IERhdGVUaW1lO1xuICAgIGRhdGVQbHVzOiBEYXRlVGltZTtcbiAgICBkdXJhdGlvblR5cGU6IGtleW9mIHR5cGVvZiBEVVJBVElPTl9UWVBFUztcbiAgICBkdXJhdGlvbjogRHVyYXRpb247XG4gICAgcmF3TnVsbDogc3RyaW5nO1xuXG4gICAgYmluYXJ5UGx1c01pbnVzOiBCaW5hcnlPcDtcbiAgICBiaW5hcnlNdWxEaXY6IEJpbmFyeU9wO1xuICAgIGJpbmFyeUNvbXBhcmVPcDogQmluYXJ5T3A7XG4gICAgYmluYXJ5QW5kT3A6IEJpbmFyeU9wO1xuICAgIGJpbmFyeU9yT3A6IEJpbmFyeU9wO1xuXG4gICAgLy8gTGl0ZXJhbCBmaWVsZCBwYXJzaW5nIGZvciBpbmdlc3RpbmcgaW5saW5lIGZpZWxkcyBhbmQgZnJvbnRtYXR0ZXIuXG4gICAgYXRvbUlubGluZUZpZWxkOiBMaXRlcmFsO1xuICAgIGlubGluZUZpZWxkTGlzdDogTGl0ZXJhbFtdO1xuICAgIGlubGluZUZpZWxkOiBMaXRlcmFsO1xufVxuXG4vKiogSW1wbGVtZW50YXRpb25zIGZvciBtYW55IHByaW1pdGl2ZXMuICovXG5leHBvcnQgY29uc3QgUFJJTUlUSVZFUyA9IFAuY3JlYXRlTGFuZ3VhZ2U8UHJpbWl0aXZlc0xhbmd1YWdlPih7XG4gICAgbnVtYmVyOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoLy0/WzAtOV0rKFxcLlswLTldKyk/LylcbiAgICAgICAgICAgIC5tYXAoKHN0cikgPT4gTnVtYmVyLnBhcnNlRmxvYXQoc3RyKSlcbiAgICAgICAgICAgIC5kZXNjKFwibnVtYmVyXCIpLFxuXG4gICAgLy8gQSBxdW90ZS1zdXJyb3VuZGVkIHN0cmluZyB3aGljaCBzdXBwb3J0cyBlc2NhcGUgY2hhcmFjdGVycyAoJ1xcJykuXG4gICAgc3RyaW5nOiAocSkgPT5cbiAgICAgICAgUC5zdHJpbmcoJ1wiJylcbiAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgIFAuYWx0KHEuZXNjYXBlQ2hhcmFjdGVyLCBQLm5vbmVPZignXCJcXFxcJykpXG4gICAgICAgICAgICAgICAgICAgIC5hdExlYXN0KDApXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGNoYXJzKSA9PiBjaGFycy5qb2luKFwiXCIpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNraXAoUC5zdHJpbmcoJ1wiJykpXG4gICAgICAgICAgICAuZGVzYyhcInN0cmluZ1wiKSxcblxuICAgIGVzY2FwZUNoYXJhY3RlcjogKF8pID0+XG4gICAgICAgIFAuc3RyaW5nKFwiXFxcXFwiKVxuICAgICAgICAgICAgLnRoZW4oUC5hbnkpXG4gICAgICAgICAgICAubWFwKChlc2NhcGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgYXJlIGVzY2FwaW5nIGEgYmFja3NsYXNoIG9yIGEgcXVvdGUsIHBhc3MgaW4gb24gaW4gZXNjYXBlZCBmb3JtXG4gICAgICAgICAgICAgICAgaWYgKGVzY2FwZWQgPT09ICdcIicpIHJldHVybiAnXCInO1xuICAgICAgICAgICAgICAgIGlmIChlc2NhcGVkID09PSBcIlxcXFxcIikgcmV0dXJuIFwiXFxcXFwiO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIFwiXFxcXFwiICsgZXNjYXBlZDtcbiAgICAgICAgICAgIH0pLFxuXG4gICAgLy8gQSBib29sZWFuIHRydWUvZmFsc2UgdmFsdWUuXG4gICAgYm9vbDogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC90cnVlfGZhbHNlfFRydWV8RmFsc2UvKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIudG9Mb3dlckNhc2UoKSA9PSBcInRydWVcIilcbiAgICAgICAgICAgIC5kZXNjKFwiYm9vbGVhblwiKSxcblxuICAgIC8vIEEgdGFnIG9mIHRoZSBmb3JtICcjc3R1ZmYvaGVsbG8tdGhlcmUnLlxuICAgIHRhZzogKF8pID0+XG4gICAgICAgIFAuc2VxTWFwKFxuICAgICAgICAgICAgUC5zdHJpbmcoXCIjXCIpLFxuICAgICAgICAgICAgUC5hbHQoUC5yZWdleHAoL1teXFx1MjAwMC1cXHUyMDZGXFx1MkUwMC1cXHUyRTdGJyFcIiMkJSYoKSorLC46Ozw9Pj9AXmB7fH1+XFxbXFxdXFxcXFxcc10vKS5kZXNjKFwidGV4dFwiKSkubWFueSgpLFxuICAgICAgICAgICAgKHN0YXJ0LCByZXN0KSA9PiBzdGFydCArIHJlc3Quam9pbihcIlwiKVxuICAgICAgICApLmRlc2MoXCJ0YWdcIiksXG5cbiAgICAvLyBBIHZhcmlhYmxlIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFscGhhbnVtZXJpYyBhbmQgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yLi4uIGVtb2ppLlxuICAgIGlkZW50aWZpZXI6IChfKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFAuYWx0KFAucmVnZXhwKC9bXFxwe0xldHRlcn0kXS91KSwgUC5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoXCJ0ZXh0XCIpKSxcbiAgICAgICAgICAgIFAuYWx0KFAucmVnZXhwKC9bMC05XFxwe0xldHRlcn0kXy1dL3UpLCBQLnJlZ2V4cChFTU9KSV9SRUdFWCkuZGVzYyhcInRleHRcIikpLm1hbnkoKSxcbiAgICAgICAgICAgIChmaXJzdCwgcmVzdCkgPT4gZmlyc3QgKyByZXN0LmpvaW4oXCJcIilcbiAgICAgICAgKS5kZXNjKFwidmFyaWFibGVcIiksXG5cbiAgICAvLyBBbiBPYnNpZGlhbiBsaW5rIG9mIHRoZSBmb3JtIFtbPGxpbms+XV0uXG4gICAgbGluazogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9cXFtcXFsoW15cXFtcXF1dKj8pXFxdXFxdL3UsIDEpXG4gICAgICAgICAgICAubWFwKChsaW5rSW5uZXIpID0+IExpbmsucGFyc2VJbm5lcihsaW5rSW5uZXIpKVxuICAgICAgICAgICAgLmRlc2MoXCJmaWxlIGxpbmtcIiksXG5cbiAgICAvLyBBbiBlbWJlZGRhYmxlIGxpbmsgd2hpY2ggY2FuIHN0YXJ0IHdpdGggJyEnLiBUaGlzIG92ZXJsYXBzIHdpdGggdGhlIG5vcm1hbCBuZWdhdGlvbiBvcGVyYXRvciwgc28gaXQgaXMgb25seVxuICAgIC8vIHByb3ZpZGVkIGZvciBtZXRhZGF0YSBwYXJzaW5nLlxuICAgIGVtYmVkTGluazogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiIVwiKS5hdE1vc3QoMSksIHEubGluaywgKHAsIGwpID0+IHtcbiAgICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDApIGwuZW1iZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGw7XG4gICAgICAgIH0pLmRlc2MoXCJmaWxlIGxpbmtcIiksXG5cbiAgICAvLyBCaW5hcnkgcGx1cyBvciBtaW51cyBvcGVyYXRvci5cbiAgICBiaW5hcnlQbHVzTWludXM6IChfKSA9PlxuICAgICAgICBQLnJlZ2V4cCgvXFwrfC0vKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIgYXMgQmluYXJ5T3ApXG4gICAgICAgICAgICAuZGVzYyhcIicrJyBvciAnLSdcIiksXG5cbiAgICAvLyBCaW5hcnkgdGltZXMgb3IgZGl2aWRlIG9wZXJhdG9yLlxuICAgIGJpbmFyeU11bERpdjogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9cXCp8XFwvfCUvKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIgYXMgQmluYXJ5T3ApXG4gICAgICAgICAgICAuZGVzYyhcIicqJyBvciAnLycgb3IgJyUnXCIpLFxuXG4gICAgLy8gQmluYXJ5IGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gICAgYmluYXJ5Q29tcGFyZU9wOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoLz49fDw9fCE9fD58PHw9LylcbiAgICAgICAgICAgIC5tYXAoKHN0cikgPT4gc3RyIGFzIEJpbmFyeU9wKVxuICAgICAgICAgICAgLmRlc2MoXCInPj0nIG9yICc8PScgb3IgJyE9JyBvciAnPScgb3IgJz4nIG9yICc8J1wiKSxcblxuICAgIC8vIEJpbmFyeSBib29sZWFuIGNvbWJpbmF0aW9uIG9wZXJhdG9yLlxuICAgIGJpbmFyeUFuZE9wOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoL2FuZHwmL2kpXG4gICAgICAgICAgICAubWFwKChfc3RyKSA9PiBcIiZcIiBhcyBCaW5hcnlPcClcbiAgICAgICAgICAgIC5kZXNjKFwiJ2FuZCdcIiksXG4gICAgYmluYXJ5T3JPcDogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9vcnxcXHwvaSlcbiAgICAgICAgICAgIC5tYXAoKF9zdHIpID0+IFwifFwiIGFzIEJpbmFyeU9wKVxuICAgICAgICAgICAgLmRlc2MoXCInb3InXCIpLFxuXG4gICAgLy8gQSBkYXRlIHdoaWNoIGNhbiBiZSBZWVlZLU1NWy1ERFRISDptbTpzc10uXG4gICAgcm9vdERhdGU6IChfKSA9PlxuICAgICAgICBQLnNlcU1hcChQLnJlZ2V4cCgvXFxkezR9LyksIFAuc3RyaW5nKFwiLVwiKSwgUC5yZWdleHAoL1xcZHsyfS8pLCAoeWVhciwgXywgbW9udGgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHsgeWVhcjogTnVtYmVyLnBhcnNlSW50KHllYXIpLCBtb250aDogTnVtYmVyLnBhcnNlSW50KG1vbnRoKSB9KTtcbiAgICAgICAgfSkuZGVzYyhcImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXVwiKSxcbiAgICBkYXRlU2hvcnRoYW5kOiAoXykgPT5cbiAgICAgICAgUC5hbHQoXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyhEQVRFX1NIT1JUSEFORFMpXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgLm1hcChQLnN0cmluZylcbiAgICAgICAgKSBhcyBQLlBhcnNlcjxrZXlvZiB0eXBlb2YgREFURV9TSE9SVEhBTkRTPixcbiAgICBkYXRlOiAocSkgPT5cbiAgICAgICAgY2hhaW5PcHQ8RGF0ZVRpbWU+KFxuICAgICAgICAgICAgcS5yb290RGF0ZSxcbiAgICAgICAgICAgICh5bTogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCItXCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBkYXkpID0+IHltLnNldCh7IGRheTogTnVtYmVyLnBhcnNlSW50KGRheSkgfSkpLFxuICAgICAgICAgICAgKHltZDogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCJUXCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBob3VyKSA9PiB5bWQuc2V0KHsgaG91cjogTnVtYmVyLnBhcnNlSW50KGhvdXIpIH0pKSxcbiAgICAgICAgICAgICh5bWRoOiBEYXRlVGltZSkgPT5cbiAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIjpcIiksIFAucmVnZXhwKC9cXGR7Mn0vKSwgKF8sIG1pbnV0ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgeW1kaC5zZXQoeyBtaW51dGU6IE51bWJlci5wYXJzZUludChtaW51dGUpIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICh5bWRobTogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCI6XCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBzZWNvbmQpID0+XG4gICAgICAgICAgICAgICAgICAgIHltZGhtLnNldCh7IHNlY29uZDogTnVtYmVyLnBhcnNlSW50KHNlY29uZCkgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKHltZGhtczogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5hbHQoXG4gICAgICAgICAgICAgICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiLlwiKSwgUC5yZWdleHAoL1xcZHszfS8pLCAoXywgbWlsbGlzZWNvbmQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB5bWRobXMuc2V0KHsgbWlsbGlzZWNvbmQ6IE51bWJlci5wYXJzZUludChtaWxsaXNlY29uZCkgfSlcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgUC5zdWNjZWVkKHltZGhtcykgLy8gcGFzc1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAoZHQ6IERhdGVUaW1lKSA9PlxuICAgICAgICAgICAgICAgIFAuYWx0KFxuICAgICAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIitcIikub3IoUC5zdHJpbmcoXCItXCIpKSwgUC5yZWdleHAoL1xcZHsxLDJ9KDpcXGR7Mn0pPy8pLCAocG0sIGhyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZHQuc2V0Wm9uZShcIlVUQ1wiICsgcG0gKyBociwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiWlwiKSwgKCkgPT4gZHQuc2V0Wm9uZShcInV0Y1wiLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSkpLFxuICAgICAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIltcIiksIFAucmVnZXhwKC9bMC05QS1aYS16Ky1cXC9dKy91KSwgUC5zdHJpbmcoXCJdXCIpLCAoX2EsIHpvbmUsIF9iKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZHQuc2V0Wm9uZSh6b25lLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAgICAgLmFzc2VydCgoZHQ6IERhdGVUaW1lKSA9PiBkdC5pc1ZhbGlkLCBcInZhbGlkIGRhdGVcIilcbiAgICAgICAgICAgIC5kZXNjKFwiZGF0ZSBpbiBmb3JtYXQgWVlZWS1NTVstRERUSEgtTU0tU1MuTVNdXCIpLFxuXG4gICAgLy8gQSBkYXRlLCBwbHVzIHZhcmlvdXMgc2hvcnRoYW5kIHRpbWVzIG9mIGRheSBpdCBjb3VsZCBiZS5cbiAgICBkYXRlUGx1czogKHEpID0+XG4gICAgICAgIFAuYWx0PERhdGVUaW1lPihcbiAgICAgICAgICAgIHEuZGF0ZVNob3J0aGFuZC5tYXAoKGQpID0+IERBVEVfU0hPUlRIQU5EU1tkXSgpKSxcbiAgICAgICAgICAgIHEuZGF0ZVxuICAgICAgICApLmRlc2MoXCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU10gb3IgaW4gc2hvcnRoYW5kXCIpLFxuXG4gICAgLy8gQSBkdXJhdGlvbiBvZiB0aW1lLlxuICAgIGR1cmF0aW9uVHlwZTogKF8pID0+XG4gICAgICAgIFAuYWx0KFxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXMoRFVSQVRJT05fVFlQRVMpXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgLm1hcChQLnN0cmluZylcbiAgICAgICAgKSBhcyBQLlBhcnNlcjxrZXlvZiB0eXBlb2YgRFVSQVRJT05fVFlQRVM+LFxuICAgIGR1cmF0aW9uOiAocSkgPT5cbiAgICAgICAgUC5zZXFNYXAocS5udW1iZXIsIFAub3B0V2hpdGVzcGFjZSwgcS5kdXJhdGlvblR5cGUsIChjb3VudCwgXywgdCkgPT5cbiAgICAgICAgICAgIERVUkFUSU9OX1RZUEVTW3RdLm1hcFVuaXRzKCh4KSA9PiB4ICogY291bnQpXG4gICAgICAgIClcbiAgICAgICAgICAgIC5zZXBCeTEoUC5zdHJpbmcoXCIsXCIpLnRyaW0oUC5vcHRXaGl0ZXNwYWNlKS5vcihQLm9wdFdoaXRlc3BhY2UpKVxuICAgICAgICAgICAgLm1hcCgoZHVyYXRpb25zKSA9PiBkdXJhdGlvbnMucmVkdWNlKChwLCBjKSA9PiBwLnBsdXMoYykpKVxuICAgICAgICAgICAgLmRlc2MoXCJkdXJhdGlvbiBsaWtlIDRocjJtaW5cIiksXG5cbiAgICAvLyBBIHJhdyBudWxsIHZhbHVlLlxuICAgIHJhd051bGw6IChfKSA9PiBQLnN0cmluZyhcIm51bGxcIiksXG5cbiAgICAvLyBJbmxpbmUgZmllbGQgdmFsdWUgcGFyc2luZy5cbiAgICBhdG9tSW5saW5lRmllbGQ6IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIHEuZGF0ZSxcbiAgICAgICAgICAgIHEuZHVyYXRpb24ubWFwKChkKSA9PiBub3JtYWxpemVEdXJhdGlvbihkKSksXG4gICAgICAgICAgICBxLnN0cmluZyxcbiAgICAgICAgICAgIHEudGFnLFxuICAgICAgICAgICAgcS5lbWJlZExpbmssXG4gICAgICAgICAgICBxLmJvb2wsXG4gICAgICAgICAgICBxLm51bWJlcixcbiAgICAgICAgICAgIHEucmF3TnVsbFxuICAgICAgICApLFxuICAgIGlubGluZUZpZWxkTGlzdDogKHEpID0+IHEuYXRvbUlubGluZUZpZWxkLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkubG9va2FoZWFkKHEuYXRvbUlubGluZUZpZWxkKSksXG4gICAgaW5saW5lRmllbGQ6IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIFAuc2VxTWFwKHEuYXRvbUlubGluZUZpZWxkLCBQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpLCBxLmlubGluZUZpZWxkTGlzdCwgKGYsIF9zLCBsKSA9PlxuICAgICAgICAgICAgICAgIFtmXS5jb25jYXQobClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxLmF0b21JbmxpbmVGaWVsZFxuICAgICAgICApLFxufSk7XG5cbi8qKiBFbW9qaSByZWdleCwgc3RycHBpbmcgYW55IHJlZ2V4IGZsYWdzIGl0IGhhcy4gKi9cbmNvbnN0IEVNT0pJX1JFR0VYID0gbmV3IFJlZ0V4cChlbW9qaVJlZ2V4KCksIFwiXCIpO1xuXG4vKiogUHJvdmlkZXMgYSBsb29rdXAgdGFibGUgZm9yIHVuaXQgZHVyYXRpb25zIG9mIHRoZSBnaXZlbiB0eXBlLiAqL1xuZXhwb3J0IGNvbnN0IERVUkFUSU9OX1RZUEVTID0ge1xuICAgIHllYXI6IER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSB9KSxcbiAgICB5ZWFyczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLFxuICAgIHlyOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksXG4gICAgeXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksXG5cbiAgICBtb250aDogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSxcbiAgICBtb250aHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksXG4gICAgbW86IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksXG4gICAgbW9zOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbW9udGhzOiAxIH0pLFxuXG4gICAgd2VlazogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLFxuICAgIHdlZWtzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksXG4gICAgd2s6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSxcbiAgICB3a3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSxcbiAgICB3OiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksXG5cbiAgICBkYXk6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuICAgIGRheXM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuICAgIGQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuXG4gICAgaG91cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxIH0pLFxuICAgIGhvdXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksXG4gICAgaHI6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSxcbiAgICBocnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSxcbiAgICBoOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksXG5cbiAgICBtaW51dGU6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLFxuICAgIG1pbnV0ZXM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLFxuICAgIG1pbjogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG4gICAgbWluczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG4gICAgbTogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG5cbiAgICBzZWNvbmQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLFxuICAgIHNlY29uZHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLFxuICAgIHNlYzogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG4gICAgc2VjczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG4gICAgczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG59O1xuXG4vKiogU2hvcnRoYW5kIGZvciBjb21tb24gZGF0ZXMgKHJlbGF0aXZlIHRvIHJpZ2h0IG5vdykuICovXG5leHBvcnQgY29uc3QgREFURV9TSE9SVEhBTkRTID0ge1xuICAgIG5vdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKSxcbiAgICB0b2RheTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKFwiZGF5XCIpLFxuICAgIHllc3RlcmRheTogKCkgPT5cbiAgICAgICAgRGF0ZVRpbWUubG9jYWwoKVxuICAgICAgICAgICAgLnN0YXJ0T2YoXCJkYXlcIilcbiAgICAgICAgICAgIC5taW51cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksXG4gICAgdG9tb3Jyb3c6ICgpID0+XG4gICAgICAgIERhdGVUaW1lLmxvY2FsKClcbiAgICAgICAgICAgIC5zdGFydE9mKFwiZGF5XCIpXG4gICAgICAgICAgICAucGx1cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksXG4gICAgc293OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJ3ZWVrXCIpLFxuICAgIFwic3RhcnQtb2Ytd2Vla1wiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJ3ZWVrXCIpLFxuICAgIGVvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZihcIndlZWtcIiksXG4gICAgXCJlbmQtb2Ytd2Vla1wiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwid2Vla1wiKSxcbiAgICBzb3k6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZihcInllYXJcIiksXG4gICAgXCJzdGFydC1vZi15ZWFyXCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZihcInllYXJcIiksXG4gICAgZW95OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwieWVhclwiKSxcbiAgICBcImVuZC1vZi15ZWFyXCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoXCJ5ZWFyXCIpLFxuICAgIHNvbTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKFwibW9udGhcIiksXG4gICAgXCJzdGFydC1vZi1tb250aFwiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJtb250aFwiKSxcbiAgICBlb206ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoXCJtb250aFwiKSxcbiAgICBcImVuZC1vZi1tb250aFwiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwibW9udGhcIiksXG59O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBFeHByZXNzaW9uIExhbmd1YWdlIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCB0eXBlIFBvc3RmaXhGcmFnbWVudCA9XG4gICAgfCB7IHR5cGU6IFwiZG90XCI7IGV4cHI6IHN0cmluZyB9XG4gICAgfCB7IHR5cGU6IFwiaW5kZXhcIjsgZXhwcjogRXhwcmVzc2lvbiB9XG4gICAgfCB7IHR5cGU6IFwiZnVuY3Rpb25cIjsgZXhwcnM6IEV4cHJlc3Npb25bXSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cHJlc3Npb25MYW5ndWFnZSB7XG4gICAgdmFyaWFibGU6IFZhcmlhYmxlRXhwcmVzc2lvbjtcbiAgICBudW1iZXI6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIGJvb2w6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIHN0cmluZzogTGl0ZXJhbEV4cHJlc3Npb247XG4gICAgZGF0ZTogTGl0ZXJhbEV4cHJlc3Npb247XG4gICAgZHVyYXRpb246IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIGxpbms6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIG51bGw6IExpdGVyYWxFeHByZXNzaW9uO1xuXG4gICAgbGlzdDogTGlzdEV4cHJlc3Npb247XG4gICAgb2JqZWN0OiBPYmplY3RFeHByZXNzaW9uO1xuXG4gICAgbmVnYXRlZDogRXhwcmVzc2lvbjtcbiAgICBhdG9tOiBFeHByZXNzaW9uO1xuICAgIGluZGV4OiBFeHByZXNzaW9uO1xuICAgIGxhbWJkYTogTGFtYmRhRXhwcmVzc2lvbjtcblxuICAgIC8vIFBvc3RmaXggcGFyc2VycyBmb3IgZnVuY3Rpb24gY2FsbHMgJiB0aGUgbGlrZS5cbiAgICBkb3RQb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG4gICAgaW5kZXhQb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG4gICAgZnVuY3Rpb25Qb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG5cbiAgICAvLyBCaW5hcnkgb3AgcGFyc2Vycy5cbiAgICBiaW5hcnlNdWxEaXY6IEV4cHJlc3Npb247XG4gICAgYmluYXJ5UGx1c01pbnVzOiBFeHByZXNzaW9uO1xuICAgIGJpbmFyeUNvbXBhcmU6IEV4cHJlc3Npb247XG4gICAgYmluYXJ5Qm9vbGVhbjogRXhwcmVzc2lvbjtcbiAgICBiaW5hcnlPcDogRXhwcmVzc2lvbjtcbiAgICBwYXJlbnM6IEV4cHJlc3Npb247XG4gICAgZXhwcmVzc2lvbjogRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBQYXJzZSBmb3IgdGhlIGRhdGFjb3JlIGV4cHJlc3Npb24gbGFuZ3VhZ2UsIHdoaWNoIHByb3ZpZGVzIHNpbXBsZSBhbmQgdmFndWVseSBKUy1sb29raW5nIGNvbXB1dGF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgRVhQUkVTU0lPTiA9IFAuY3JlYXRlTGFuZ3VhZ2U8RXhwcmVzc2lvbkxhbmd1YWdlPih7XG4gICAgLy8gRmllbGQgcGFyc2luZy5cbiAgICB2YXJpYWJsZTogKF8pID0+IFBSSU1JVElWRVMuaWRlbnRpZmllci5tYXAoRXhwcmVzc2lvbnMudmFyaWFibGUpLmRlc2MoXCJ2YXJpYWJsZVwiKSxcbiAgICBudW1iZXI6IChfKSA9PiBQUklNSVRJVkVTLm51bWJlci5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCkuZGVzYyhcIm51bWJlclwiKSxcbiAgICBzdHJpbmc6IChfKSA9PiBQUklNSVRJVkVTLnN0cmluZy5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCkuZGVzYyhcInN0cmluZ1wiKSxcbiAgICBib29sOiAoXykgPT4gUFJJTUlUSVZFUy5ib29sLm1hcChFeHByZXNzaW9ucy5saXRlcmFsKS5kZXNjKFwiYm9vbGVhblwiKSxcbiAgICBkYXRlOiAoXykgPT5cbiAgICAgICAgY3JlYXRlRnVuY3Rpb24oXCJkYXRlXCIsIFBSSU1JVElWRVMuZGF0ZVBsdXMpXG4gICAgICAgICAgICAubWFwKChbX2Z1bmMsIGRhdGVdKSA9PiBFeHByZXNzaW9ucy5saXRlcmFsKGRhdGUpKVxuICAgICAgICAgICAgLmRlc2MoXCJkYXRlXCIpLFxuICAgIGR1cmF0aW9uOiAoXykgPT5cbiAgICAgICAgY3JlYXRlRnVuY3Rpb24oXCJkdXJcIiwgUFJJTUlUSVZFUy5kdXJhdGlvbilcbiAgICAgICAgICAgIC5tYXAoKFtfZnVuYywgZHVyXSkgPT4gRXhwcmVzc2lvbnMubGl0ZXJhbChkdXIpKVxuICAgICAgICAgICAgLmRlc2MoXCJkdXJhdGlvblwiKSxcbiAgICBudWxsOiAoXykgPT4gUFJJTUlUSVZFUy5yYXdOdWxsLm1hcCgoXykgPT4gRXhwcmVzc2lvbnMuTlVMTCksXG4gICAgbGluazogKF8pID0+IFBSSU1JVElWRVMubGluay5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCksXG4gICAgbGlzdDogKHEpID0+XG4gICAgICAgIHEuZXhwcmVzc2lvblxuICAgICAgICAgICAgLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpXG4gICAgICAgICAgICAud3JhcChQLnN0cmluZyhcIltcIikuc2tpcChQLm9wdFdoaXRlc3BhY2UpLCBQLm9wdFdoaXRlc3BhY2UudGhlbihQLnN0cmluZyhcIl1cIikpKVxuICAgICAgICAgICAgLm1hcCgobCkgPT4gRXhwcmVzc2lvbnMubGlzdChsKSlcbiAgICAgICAgICAgIC5kZXNjKFwibGlzdFwiKSxcbiAgICBvYmplY3Q6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFBSSU1JVElWRVMuaWRlbnRpZmllci5vcihQUklNSVRJVkVTLnN0cmluZyksXG4gICAgICAgICAgICBQLnN0cmluZyhcIjpcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpLFxuICAgICAgICAgICAgcS5leHByZXNzaW9uLFxuICAgICAgICAgICAgKG5hbWUsIF9zZXAsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgICAgICAgLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpXG4gICAgICAgICAgICAud3JhcChQLnN0cmluZyhcIntcIikuc2tpcChQLm9wdFdoaXRlc3BhY2UpLCBQLm9wdFdoaXRlc3BhY2UudGhlbihQLnN0cmluZyhcIn1cIikpKVxuICAgICAgICAgICAgLm1hcCgodmFscykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZXM6IFJlY29yZDxzdHJpbmcsIEV4cHJlc3Npb24+ID0ge307XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgdmFscykgcmVzW2VudHJ5Lm5hbWVdID0gZW50cnkudmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEV4cHJlc3Npb25zLm9iamVjdChyZXMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5kZXNjKFwib2JqZWN0ICgneyBhOiAxLCBiOiAyIH0nKVwiKSxcblxuICAgIGF0b206IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIC8vIFBsYWNlIGVtYmVkIGxpbmtzIGFib3ZlIG5lZ2F0ZWQgZmllbGRzIGFzIHRoZXkgYXJlIHRoZSBzcGVjaWFsIHBhcnNlciBjYXNlICchW1t0aGluZ11dJyBhbmQgYXJlIGdlbmVyYWxseSB1bmFtYmlnaW91cy5cbiAgICAgICAgICAgIFBSSU1JVElWRVMuZW1iZWRMaW5rLm1hcCgobCkgPT4gRXhwcmVzc2lvbnMubGl0ZXJhbChsKSksXG4gICAgICAgICAgICBxLm5lZ2F0ZWQsXG4gICAgICAgICAgICBxLmxpbmssXG4gICAgICAgICAgICBxLmxpc3QsXG4gICAgICAgICAgICBxLm9iamVjdCxcbiAgICAgICAgICAgIHEubGFtYmRhLFxuICAgICAgICAgICAgcS5wYXJlbnMsXG4gICAgICAgICAgICBxLmJvb2wsXG4gICAgICAgICAgICBxLm51bWJlcixcbiAgICAgICAgICAgIHEuc3RyaW5nLFxuICAgICAgICAgICAgcS5kYXRlLFxuICAgICAgICAgICAgcS5kdXJhdGlvbixcbiAgICAgICAgICAgIHEubnVsbCxcbiAgICAgICAgICAgIHEudmFyaWFibGVcbiAgICAgICAgKSxcbiAgICBpbmRleDogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKHEuYXRvbSwgUC5hbHQocS5kb3RQb3N0Zml4LCBxLmluZGV4UG9zdGZpeCwgcS5mdW5jdGlvblBvc3RmaXgpLm1hbnkoKSwgKG9iaiwgcG9zdGZpeGVzKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gb2JqO1xuICAgICAgICAgICAgZm9yIChsZXQgcG9zdCBvZiBwb3N0Zml4ZXMpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHBvc3QudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZG90XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5pbmRleChyZXN1bHQsIEV4cHJlc3Npb25zLmxpdGVyYWwocG9zdC5leHByKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImluZGV4XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5pbmRleChyZXN1bHQsIHBvc3QuZXhwcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5mdW5jKHJlc3VsdCwgcG9zdC5leHBycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgIG5lZ2F0ZWQ6IChxKSA9PiBQLnNlcU1hcChQLnN0cmluZyhcIiFcIiksIHEuaW5kZXgsIChfLCBmaWVsZCkgPT4gRXhwcmVzc2lvbnMubmVnYXRlKGZpZWxkKSkuZGVzYyhcIm5lZ2F0ZWQgZmllbGRcIiksXG4gICAgcGFyZW5zOiAocSkgPT4gcS5leHByZXNzaW9uLnRyaW0oUC5vcHRXaGl0ZXNwYWNlKS53cmFwKFAuc3RyaW5nKFwiKFwiKSwgUC5zdHJpbmcoXCIpXCIpKSxcbiAgICBsYW1iZGE6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFBSSU1JVElWRVMuaWRlbnRpZmllclxuICAgICAgICAgICAgICAgIC5zZXBCeShQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpKVxuICAgICAgICAgICAgICAgIC53cmFwKFAuc3RyaW5nKFwiKFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSksIFAuc3RyaW5nKFwiKVwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpLFxuICAgICAgICAgICAgUC5zdHJpbmcoXCI9PlwiKS50cmltKFAub3B0V2hpdGVzcGFjZSksXG4gICAgICAgICAgICBxLmV4cHJlc3Npb24sXG4gICAgICAgICAgICAoaWRlbnQsIF9pZ25vcmUsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsYW1iZGFcIiwgYXJndW1lbnRzOiBpZGVudCwgdmFsdWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcblxuICAgIGRvdFBvc3RmaXg6IChxKSA9PiBQLnNlcU1hcChQLnN0cmluZyhcIi5cIiksIFBSSU1JVElWRVMuaWRlbnRpZmllciwgKF8sIGV4cHIpID0+ICh7IHR5cGU6IFwiZG90XCIsIGV4cHIgfSkpLFxuICAgIGluZGV4UG9zdGZpeDogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKFxuICAgICAgICAgICAgUC5zdHJpbmcoXCJbXCIpLFxuICAgICAgICAgICAgUC5vcHRXaGl0ZXNwYWNlLFxuICAgICAgICAgICAgcS5leHByZXNzaW9uLFxuICAgICAgICAgICAgUC5vcHRXaGl0ZXNwYWNlLFxuICAgICAgICAgICAgUC5zdHJpbmcoXCJdXCIpLFxuICAgICAgICAgICAgKF8sIF8yLCBleHByLCBfMywgXzQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcImluZGV4XCIsIGV4cHIgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICBmdW5jdGlvblBvc3RmaXg6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFAuc3RyaW5nKFwiKFwiKSxcbiAgICAgICAgICAgIFAub3B0V2hpdGVzcGFjZSxcbiAgICAgICAgICAgIHEuZXhwcmVzc2lvbi5zZXBCeShQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpKSxcbiAgICAgICAgICAgIFAub3B0V2hpdGVzcGFjZSxcbiAgICAgICAgICAgIFAuc3RyaW5nKFwiKVwiKSxcbiAgICAgICAgICAgIChfLCBfMSwgZXhwcnMsIF8yLCBfMykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwiZnVuY3Rpb25cIiwgZXhwcnMgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcblxuICAgIC8vIFRoZSBwcmVjZWRlbmNlIGhpZXJhcmNoeSBvZiBvcGVyYXRvcnMgLSBtdWx0aXBseS9kaXZpZGUsIGFkZC9zdWJ0cmFjdCwgY29tcGFyZSwgYW5kIHRoZW4gYm9vbGVhbiBvcGVyYXRpb25zLlxuICAgIGJpbmFyeU11bERpdjogKHEpID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmluZGV4LCBQUklNSVRJVkVTLmJpbmFyeU11bERpdiwgRXhwcmVzc2lvbnMuYmluYXJ5T3ApLFxuICAgIGJpbmFyeVBsdXNNaW51czogKHEpID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmJpbmFyeU11bERpdiwgUFJJTUlUSVZFUy5iaW5hcnlQbHVzTWludXMsIEV4cHJlc3Npb25zLmJpbmFyeU9wKSxcbiAgICBiaW5hcnlDb21wYXJlOiAocSkgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5UGx1c01pbnVzLCBQUklNSVRJVkVTLmJpbmFyeUNvbXBhcmVPcCwgRXhwcmVzc2lvbnMuYmluYXJ5T3ApLFxuICAgIGJpbmFyeUJvb2xlYW46IChxKSA9PlxuICAgICAgICBjcmVhdGVCaW5hcnlQYXJzZXIocS5iaW5hcnlDb21wYXJlLCBQUklNSVRJVkVTLmJpbmFyeUFuZE9wLm9yKFBSSU1JVElWRVMuYmluYXJ5T3JPcCksIEV4cHJlc3Npb25zLmJpbmFyeU9wKSxcbiAgICBiaW5hcnlPcDogKHEpID0+IHEuYmluYXJ5Qm9vbGVhbixcblxuICAgIGV4cHJlc3Npb246IChxKSA9PiBxLmJpbmFyeU9wLFxufSk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBRdWVyeSBMYW5ndWFnZSAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFN1cHBvcnRlZCB0eXBlcyBpbiB0aGUgZ3JhbW1hciBmb3IgaW5kZXggcXVlcmllcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlMYW5ndWFnZSB7XG4gICAgcXVlcnlUYWc6IEluZGV4VGFnZ2VkO1xuICAgIHF1ZXJ5SWQ6IEluZGV4SWQ7XG4gICAgcXVlcnlUeXBlOiBJbmRleFR5cGVkO1xuICAgIHF1ZXJ5UGF0aDogSW5kZXhQYXRoO1xuICAgIHF1ZXJ5UGFyZW50T2Y6IEluZGV4UGFyZW50T2Y7XG4gICAgcXVlcnlDaGlsZE9mOiBJbmRleENoaWxkT2Y7XG4gICAgcXVlcnlTaW1wbGVMaW5rZWQ6IEluZGV4TGlua2VkO1xuICAgIHF1ZXJ5TGlua2VkOiBJbmRleExpbmtlZDtcbiAgICBxdWVyeUV4aXN0czogSW5kZXhGaWVsZDtcbiAgICBxdWVyeVF1b3RlZEV4cHJlc3Npb246IEluZGV4RXhwcmVzc2lvbjtcbiAgICBxdWVyeVJhd0V4cHJlc3Npb246IEluZGV4RXhwcmVzc2lvbjtcbiAgICBxdWVyeU5lZ2F0ZTogSW5kZXhOb3Q7XG4gICAgcXVlcnlQYXJlbnM6IEluZGV4UXVlcnk7XG4gICAgcXVlcnlBdG9tOiBJbmRleFF1ZXJ5O1xuICAgIHF1ZXJ5QW5kczogSW5kZXhRdWVyeTtcbiAgICBxdWVyeU9yczogSW5kZXhRdWVyeTtcbiAgICBxdWVyeTogSW5kZXhRdWVyeTtcbn1cblxuLyoqXG4gKiBQYXJzZXIgZm9yIHRoZSBxdWVyeSBsYW5ndWFnZS4gRGlkIEkgcmVhbGx5IG5lZWQgYSBxdWVyeSBsYW5ndWFnZSBpbnN0ZWFkIG9mIGp1c3QgYSBiZXR0ZXIgVUk/IFByb2JhYmx5IG5vdC5cbiAqIEJ1dCBxdWVyeSBsYW5ndWFnZXMgYXJlIGZ1biBmb3IgdGhlIHdob2xlIGZhbWlseSBhbmQgYXQgc29tZSBwb2ludCB5b3UgZ2V0IHNvIHVzZWQgdG8gd3JpdGluZyB0aGVtIHRoYXRcbiAqIHlvdSBkb24ndCBzdG9wIHRvIHRoaW5rIGlmIHlvdSAqbmVlZCogdG8gd3JpdGUgdGhlbSBhbnltb3JlLiBJdCdzIGdvb2QgdHlwaW5nIHByYWN0aWNlIGZvciBldmVyeW9uZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFFVRVJZID0gUC5jcmVhdGVMYW5ndWFnZTxRdWVyeUxhbmd1YWdlPih7XG4gICAgcXVlcnlUYWc6IChfKSA9PiBQUklNSVRJVkVTLnRhZy5tYXAoKHZhbHVlKSA9PiAoeyB0eXBlOiBcInRhZ2dlZFwiLCB2YWx1ZSB9KSksXG4gICAgcXVlcnlJZDogKF8pID0+IGNyZWF0ZUZ1bmN0aW9uKFwiaWRcIiwgUFJJTUlUSVZFUy5zdHJpbmcpLm1hcCgoW18sIGlkXSkgPT4gKHsgdHlwZTogXCJpZFwiLCB2YWx1ZTogaWQgfSkpLFxuICAgIHF1ZXJ5VHlwZTogKF8pID0+XG4gICAgICAgIFAuc3RyaW5nKFwiQFwiKVxuICAgICAgICAgICAgLnRoZW4oUFJJTUlUSVZFUy5pZGVudGlmaWVyKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7IHR5cGU6IFwidHlwZWRcIiwgdmFsdWU6IHZhbHVlIH0pKSxcblxuICAgIHF1ZXJ5UGF0aDogKF8pID0+XG4gICAgICAgIGNyZWF0ZUZ1bmN0aW9uKFAucmVnZXhwKC9lP3BhdGgvaSkuZGVzYyhcIltlXXBhdGhcIiksIFBSSU1JVElWRVMuc3RyaW5nKS5tYXAoKFtmdW5jLCBwYXRoXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwicGF0aFwiLFxuICAgICAgICAgICAgdmFsdWU6IHBhdGgsXG4gICAgICAgICAgICBleGFjdDogZnVuYy50b0xvd2VyQ2FzZSgpID09PSBcImVwYXRoXCIsXG4gICAgICAgIH0pKSxcblxuICAgIHF1ZXJ5UGFyZW50T2Y6IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvcGFyZW50b2Z8c3VwZXJ0cmVlL2kpLmRlc2MoXCJwYXJlbnRvZlwiKSwgcS5xdWVyeSkubWFwKChbZnVuYywgY2hpbGRyZW5dKSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogXCJwYXJlbnQtb2ZcIixcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBmdW5jLnRvTG93ZXJDYXNlKCkgPT09IFwic3VwZXJ0cmVlXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeUNoaWxkT2Y6IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvY2hpbGRvZnxzdWJ0cmVlL2kpLmRlc2MoXCJjaGlsZG9mXCIpLCBxLnF1ZXJ5KS5tYXAoKFtmdW5jLCBwYXJlbnRzXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiY2hpbGQtb2ZcIixcbiAgICAgICAgICAgIHBhcmVudHMsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IGZ1bmMudG9Mb3dlckNhc2UoKSA9PT0gXCJzdWJ0cmVlXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeVNpbXBsZUxpbmtlZDogKF8pID0+XG4gICAgICAgIFBSSU1JVElWRVMubGluay5tYXAoKGxpbmspID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcImxpbmtlZFwiLFxuICAgICAgICAgICAgc291cmNlOiB7IHR5cGU6IFwibGlua1wiLCB2YWx1ZTogbGluayB9LFxuICAgICAgICAgICAgZGlyZWN0aW9uOiBcImluY29taW5nXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeUxpbmtlZDogKHEpID0+XG4gICAgICAgIGNyZWF0ZUZ1bmN0aW9uKFAucmVnZXhwKC9saW5rc3RvfGxpbmtlZGZyb218Y29ubmVjdGVkL2kpLmRlc2MoXCJjb25uZWN0ZWRcIiksIHEucXVlcnkpLm1hcCgoW2Z1bmMsIHNvdXJjZV0pID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcImxpbmtlZFwiLFxuICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgZGlyZWN0aW9uOlxuICAgICAgICAgICAgICAgIGZ1bmMudG9Mb3dlckNhc2UoKSA9PSBcImxpbmtzdG9cIiA/IFwiaW5jb21pbmdcIiA6IGZ1bmMudG9Mb3dlckNhc2UoKSA9PSBcImxpbmtlZGZyb21cIiA/IFwib3V0Z29pbmdcIiA6IFwiYm90aFwiLFxuICAgICAgICB9KSksXG4gICAgcXVlcnlFeGlzdHM6IChfKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvZXhpc3RzL2kpLmRlc2MoXCJleGlzdHNcIiksIFBSSU1JVElWRVMuaWRlbnRpZmllci5vcihQUklNSVRJVkVTLnN0cmluZykpLm1hcChcbiAgICAgICAgICAgIChbX2Z1bmMsIGlkZW50XSkgPT4gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImZpZWxkXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGlkZW50LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICBxdWVyeVF1b3RlZEV4cHJlc3Npb246IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvZXhwci9pKS5kZXNjKFwiZXhwclwiKSwgRVhQUkVTU0lPTi5leHByZXNzaW9uKS5tYXAoKFtfLCBleHByXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiZXhwcmVzc2lvblwiLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogZXhwcixcbiAgICAgICAgfSkpLFxuICAgIHF1ZXJ5UmF3RXhwcmVzc2lvbjogKHEpID0+IEVYUFJFU1NJT04uYmluYXJ5Q29tcGFyZS5tYXAoKGV4cHIpID0+ICh7IHR5cGU6IFwiZXhwcmVzc2lvblwiLCBleHByZXNzaW9uOiBleHByIH0pKSxcblxuICAgIHF1ZXJ5UGFyZW5zOiAocSkgPT4gcS5xdWVyeS50cmltKFAub3B0V2hpdGVzcGFjZSkud3JhcChQLnN0cmluZyhcIihcIiksIFAuc3RyaW5nKFwiKVwiKSksXG4gICAgcXVlcnlOZWdhdGU6IChxKSA9PlxuICAgICAgICBQLnN0cmluZyhcIiFcIilcbiAgICAgICAgICAgIC5za2lwKFAub3B0V2hpdGVzcGFjZSlcbiAgICAgICAgICAgIC50aGVuKHEucXVlcnlBdG9tKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJub3RcIixcbiAgICAgICAgICAgICAgICBlbGVtZW50OiB2YWx1ZSxcbiAgICAgICAgICAgIH0pKSxcbiAgICBxdWVyeUF0b206IChxKSA9PlxuICAgICAgICBQLmFsdDxJbmRleFF1ZXJ5PihcbiAgICAgICAgICAgIHEucXVlcnlQYXJlbnMsXG4gICAgICAgICAgICBxLnF1ZXJ5TmVnYXRlLFxuICAgICAgICAgICAgcS5xdWVyeVNpbXBsZUxpbmtlZCxcbiAgICAgICAgICAgIHEucXVlcnlUYWcsXG4gICAgICAgICAgICBxLnF1ZXJ5VHlwZSxcbiAgICAgICAgICAgIHEucXVlcnlJZCxcbiAgICAgICAgICAgIHEucXVlcnlFeGlzdHMsXG4gICAgICAgICAgICBxLnF1ZXJ5Q2hpbGRPZixcbiAgICAgICAgICAgIHEucXVlcnlQYXJlbnRPZixcbiAgICAgICAgICAgIHEucXVlcnlMaW5rZWQsXG4gICAgICAgICAgICBxLnF1ZXJ5UGF0aCxcbiAgICAgICAgICAgIHEucXVlcnlRdW90ZWRFeHByZXNzaW9uLFxuICAgICAgICAgICAgLy8gRXhwcmVzc2lvbnMgYXJlIGVzc2VudGlhbGx5IHRoZSBcImNhdGNoLWFsbFwiIG9mIG90aGVyd2lzZSB1bnBhcnNlYWJsZSB0ZXJtcywgc28gdGhleSBzaG91bGQgZ28gYWJzb2x1dGUgbGFzdC5cbiAgICAgICAgICAgIHEucXVlcnlSYXdFeHByZXNzaW9uXG4gICAgICAgICksXG4gICAgcXVlcnlBbmRzOiAocSkgPT5cbiAgICAgICAgY3JlYXRlQmluYXJ5UGFyc2VyKHEucXVlcnlBdG9tLCBQUklNSVRJVkVTLmJpbmFyeUFuZE9wLCAobGVmdCwgX29wLCByaWdodCkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiYW5kXCIsXG4gICAgICAgICAgICBlbGVtZW50czogW2xlZnQsIHJpZ2h0XSxcbiAgICAgICAgfSkpLFxuICAgIHF1ZXJ5T3JzOiAocSkgPT5cbiAgICAgICAgY3JlYXRlQmluYXJ5UGFyc2VyKHEucXVlcnlBbmRzLCBQUklNSVRJVkVTLmJpbmFyeU9yT3AsIChsZWZ0LCBfb3AsIHJpZ2h0KSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogXCJvclwiLFxuICAgICAgICAgICAgZWxlbWVudHM6IFtsZWZ0LCByaWdodF0sXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeTogKHEpID0+IHEucXVlcnlPcnMudHJpbShQLm9wdFdoaXRlc3BhY2UpLFxufSk7XG5cbi8qKiBSZXR1cm4gYSBuZXcgcGFyc2VyIHdoaWNoIGV4ZWN1dGVzIHRoZSB1bmRlcmx5aW5nIHBhcnNlciBhbmQgcmV0dXJucyBpdCdzIHJhdyBzdHJpbmcgcmVwcmVzZW50YXRpb24uICovXG5leHBvcnQgZnVuY3Rpb24gY2FwdHVyZVJhdzxUPihiYXNlOiBQLlBhcnNlcjxUPik6IFAuUGFyc2VyPFtULCBzdHJpbmddPiB7XG4gICAgcmV0dXJuIFAuY3VzdG9tKChfc3VjY2VzcywgX2ZhaWx1cmUpID0+IHtcbiAgICAgICAgcmV0dXJuIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChiYXNlIGFzIGFueSkuXyhpbnB1dCwgaSk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5zdGF0dXMpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCByZXN1bHQsIHsgdmFsdWU6IFtyZXN1bHQudmFsdWUsIGlucHV0LnN1YnN0cmluZyhpLCByZXN1bHQuaW5kZXgpXSB9KTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuLyoqIENyZWF0ZSBhIGxlZnQtYXNzb2NpYXRpdmUgYmluYXJ5IHBhcnNlciB3aGljaCBwYXJzZXMgdGhlIGdpdmVuIHN1Yi1lbGVtZW50IGFuZCBzZXBhcmF0b3IuIEhhbmRsZXMgd2hpdGVzcGFjZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCaW5hcnlQYXJzZXI8VCwgVT4oXG4gICAgY2hpbGQ6IFAuUGFyc2VyPFQ+LFxuICAgIHNlcDogUC5QYXJzZXI8VT4sXG4gICAgY29tYmluZTogKGE6IFQsIGI6IFUsIGM6IFQpID0+IFRcbik6IFAuUGFyc2VyPFQ+IHtcbiAgICByZXR1cm4gUC5zZXFNYXAoY2hpbGQsIFAuc2VxKFAub3B0V2hpdGVzcGFjZSwgc2VwLCBQLm9wdFdoaXRlc3BhY2UsIGNoaWxkKS5tYW55KCksIChmaXJzdCwgcmVzdCkgPT4ge1xuICAgICAgICBpZiAocmVzdC5sZW5ndGggPT0gMCkgcmV0dXJuIGZpcnN0O1xuXG4gICAgICAgIGxldCBub2RlID0gY29tYmluZShmaXJzdCwgcmVzdFswXVsxXSwgcmVzdFswXVszXSk7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCByZXN0Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgbm9kZSA9IGNvbWJpbmUobm9kZSwgcmVzdFtpbmRleF1bMV0sIHJlc3RbaW5kZXhdWzNdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBwYXJzZXIgd2hpY2ggcGFyc2VzIFxcPGZ1bmN0aW9uXFw+KFxcPGFyZ3NcXD4pLlxuICogKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGdW5jdGlvbjxUPihmdW5jOiBzdHJpbmcgfCBQLlBhcnNlcjxzdHJpbmc+LCBhcmdzOiBQLlBhcnNlcjxUPik6IFAuUGFyc2VyPFtzdHJpbmcsIFRdPiB7XG4gICAgY29uc3QgcmVhbEZ1bmMgPSB0eXBlb2YgZnVuYyA9PT0gXCJzdHJpbmdcIiA/IFAuc3RyaW5nKGZ1bmMpIDogZnVuYztcbiAgICByZXR1cm4gUC5zZXFNYXAoXG4gICAgICAgIHJlYWxGdW5jLnNraXAoUC5vcHRXaGl0ZXNwYWNlKSxcbiAgICAgICAgYXJncy50cmltKFAub3B0V2hpdGVzcGFjZSkud3JhcChQLnN0cmluZyhcIihcIiksIFAuc3RyaW5nKFwiKVwiKSksXG4gICAgICAgIChmLCBhKSA9PiBbZiwgYV1cbiAgICApO1xufVxuXG4vKiogQ2hhaW5zIGEgbGlzdCBvZiBwYXJzZXJzOyB0aGUgZmlyc3Qgb25lIG11c3Qgc3VjY2VlZCwgYnV0IGZvbGxvd2luZyBvbmVzIG1heSBmYWlsIHdpdGhvdXQgZmFpbGluZyB0aGUgb3ZlcmFsbCBwYXJzZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFpbk9wdDxUPihiYXNlOiBQLlBhcnNlcjxUPiwgLi4uZnVuY3M6ICgocjogVCkgPT4gUC5QYXJzZXI8VD4pW10pOiBQLlBhcnNlcjxUPiB7XG4gICAgcmV0dXJuIFAuY3VzdG9tKChfc3VjY2VzcywgX2ZhaWx1cmUpID0+IHtcbiAgICAgICAgcmV0dXJuIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChiYXNlIGFzIGFueSkuXyhpbnB1dCwgaSk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5zdGF0dXMpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGZ1bmMgb2YgZnVuY3MpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dCA9IChmdW5jKHJlc3VsdC52YWx1ZSBhcyBUKSBhcyBhbnkpLl8oaW5wdXQsIHJlc3VsdC5pbmRleCk7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXh0LnN0YXR1cykgcmV0dXJuIHJlc3VsdDtcblxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5leHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGV4cHJlc3Npb25zXG4gKi9cbmltcG9ydCB7IERhdGVUaW1lLCBEdXJhdGlvbiB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IHJlbmRlck1pbmltYWxEYXRlLCByZW5kZXJNaW5pbWFsRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcblxuLy8gUmUtZXhwb3J0cyBvZiB1c2VmdWwgZ2VuZXJpYyB0eXBlcy5cbmV4cG9ydCB7IExpbmsgfTtcblxuLyoqIFNob3J0aGFuZCBmb3IgYSBtYXBwaW5nIGZyb20ga2V5cyB0byB2YWx1ZXMuICovXG5leHBvcnQgdHlwZSBEYXRhT2JqZWN0ID0gUmVjb3JkPHN0cmluZywgYW55Pjtcbi8qKiBUaGUgbGl0ZXJhbCB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIHF1ZXJ5IGVuZ2luZS4gKi9cbmV4cG9ydCB0eXBlIExpdGVyYWxUeXBlID1cbiAgICB8IFwiYm9vbGVhblwiXG4gICAgfCBcIm51bWJlclwiXG4gICAgfCBcInN0cmluZ1wiXG4gICAgfCBcImRhdGVcIlxuICAgIHwgXCJkdXJhdGlvblwiXG4gICAgfCBcImxpbmtcIlxuICAgIHwgXCJhcnJheVwiXG4gICAgfCBcIm9iamVjdFwiXG4gICAgfCBcImZ1bmN0aW9uXCJcbiAgICB8IFwibnVsbFwiO1xuLyoqIFRoZSByYXcgdmFsdWVzIHRoYXQgYSBsaXRlcmFsIGNhbiB0YWtlIG9uLiAqL1xuZXhwb3J0IHR5cGUgTGl0ZXJhbCA9XG4gICAgfCBib29sZWFuXG4gICAgfCBudW1iZXJcbiAgICB8IHN0cmluZ1xuICAgIHwgRGF0ZVRpbWVcbiAgICB8IER1cmF0aW9uXG4gICAgfCBMaW5rXG4gICAgfCBBcnJheTxMaXRlcmFsPlxuICAgIHwgRGF0YU9iamVjdFxuICAgIHwgRnVuY3Rpb25cbiAgICB8IG51bGw7XG5cbi8qKiBNYXBzIHRoZSBzdHJpbmcgdHlwZSB0byBpdCdzIGV4dGVybmFsLCBBUEktZmFjaW5nIHJlcHJlc2VudGF0aW9uLiAqL1xuZXhwb3J0IHR5cGUgTGl0ZXJhbFJlcHI8VCBleHRlbmRzIExpdGVyYWxUeXBlPiA9IFQgZXh0ZW5kcyBcImJvb2xlYW5cIlxuICAgID8gYm9vbGVhblxuICAgIDogVCBleHRlbmRzIFwibnVtYmVyXCJcbiAgICA/IG51bWJlclxuICAgIDogVCBleHRlbmRzIFwic3RyaW5nXCJcbiAgICA/IHN0cmluZ1xuICAgIDogVCBleHRlbmRzIFwiZHVyYXRpb25cIlxuICAgID8gRHVyYXRpb25cbiAgICA6IFQgZXh0ZW5kcyBcImRhdGVcIlxuICAgID8gRGF0ZVRpbWVcbiAgICA6IFQgZXh0ZW5kcyBcIm51bGxcIlxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIFwibGlua1wiXG4gICAgPyBMaW5rXG4gICAgOiBUIGV4dGVuZHMgXCJhcnJheVwiXG4gICAgPyBBcnJheTxMaXRlcmFsPlxuICAgIDogVCBleHRlbmRzIFwib2JqZWN0XCJcbiAgICA/IERhdGFPYmplY3RcbiAgICA6IFQgZXh0ZW5kcyBcImZ1bmN0aW9uXCJcbiAgICA/IEZ1bmN0aW9uXG4gICAgOiBhbnk7XG5cbi8qKiBBIHdyYXBwZWQgbGl0ZXJhbCB2YWx1ZSB3aGljaCBjYW4gYmUgc3dpdGNoZWQgb24uICovXG5leHBvcnQgdHlwZSBXcmFwcGVkTGl0ZXJhbCA9XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcInN0cmluZ1wiPlxuICAgIHwgTGl0ZXJhbFdyYXBwZXI8XCJudW1iZXJcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwiYm9vbGVhblwiPlxuICAgIHwgTGl0ZXJhbFdyYXBwZXI8XCJkYXRlXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImR1cmF0aW9uXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImxpbmtcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwiYXJyYXlcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwib2JqZWN0XCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImZ1bmN0aW9uXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcIm51bGxcIj47XG5cbi8qKiBDb21iaW5lcyBhIHRleHR1YWwgdHlwZSBhbmQgdmFsdWU7IHByaW1hcmlseSB1c2VmdWwgZm9yIHN3aXRjaGluZyBvbi5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXRlcmFsV3JhcHBlcjxUIGV4dGVuZHMgTGl0ZXJhbFR5cGU+IHtcbiAgICB0eXBlOiBUO1xuICAgIHZhbHVlOiBMaXRlcmFsUmVwcjxUPjtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiAgVXRpbGl0eSBsaWJyYXJ5IGZvciBoYW5kbGluZyBsaXRlcmFsIHZhbHVlcy4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgTGl0ZXJhbHMge1xuICAgIC8qKiBTZXR0aW5ncyB1c2VkIHdoZW4gZm9ybWF0dGluZyBsaXRlcmFsIHZhbHVlcyB0byB0ZXh0LiAqL1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgVG9TdHJpbmdTZXR0aW5ncyB7XG4gICAgICAgIC8qKiBXaGF0IGEgbnVsbCB3aWxsIHJlbmRlciBhcy4gKi9cbiAgICAgICAgbnVsbFJlcHJlc2VudGF0aW9uOiBzdHJpbmc7XG5cbiAgICAgICAgLyoqIERhdGUgZm9ybWF0LiAqL1xuICAgICAgICBkYXRlRm9ybWF0OiBzdHJpbmc7XG5cbiAgICAgICAgLyoqIERhdGUtdGltZSBmb3JtYXQuICovXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqIFNhbmUsIEVuZ2xpc2gtYmFzZWQgZGVmYXVsdHMgZm9yIGRhdGUgZm9ybWF0cy4gKi9cbiAgICBleHBvcnQgY29uc3QgREVGQVVMVF9UT19TVFJJTkc6IFRvU3RyaW5nU2V0dGluZ3MgPSB7XG4gICAgICAgIG51bGxSZXByZXNlbnRhdGlvbjogXCItXCIsXG5cbiAgICAgICAgZGF0ZUZvcm1hdDogXCJNTU1NIGRkLCB5eXl5XCIsXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBcImg6bW0gYSAtIE1NTU0gZGQsIHl5eXlcIixcbiAgICB9O1xuXG4gICAgLyoqIENvbnZlcnQgYW4gYXJiaXRyYXJ5IHZhbHVlIGludG8gYSByZWFzb25hYmxlLCBNYXJrZG93bi1mcmllbmRseSBzdHJpbmcgaWYgcG9zc2libGUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKFxuICAgICAgICBmaWVsZDogYW55LFxuICAgICAgICBzZXR0aW5nOiBUb1N0cmluZ1NldHRpbmdzID0gREVGQVVMVF9UT19TVFJJTkcsXG4gICAgICAgIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IGZhbHNlXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHdyYXBwZWQgPSB3cmFwVmFsdWUoZmllbGQpO1xuICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBzZXR0aW5nLm51bGxSZXByZXNlbnRhdGlvbjtcblxuICAgICAgICBzd2l0Y2ggKHdyYXBwZWQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZy5udWxsUmVwcmVzZW50YXRpb247XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIlwiICsgd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFya2Rvd24oKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIjxmdW5jdGlvbj5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xuICAgICAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHJlc3VsdCArPSBcIltcIjtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gd3JhcHBlZC52YWx1ZS5tYXAoKGYpID0+IHRvU3RyaW5nKGYsIHNldHRpbmcsIHRydWUpKS5qb2luKFwiLCBcIik7XG4gICAgICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkgcmVzdWx0ICs9IFwiXVwiO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgXCJ7IFwiICtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMod3JhcHBlZC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGUpID0+IGVbMF0gKyBcIjogXCIgKyB0b1N0cmluZyhlWzFdLCBzZXR0aW5nLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiLCBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIiB9XCJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVuZGVyTWluaW1hbERhdGUod3JhcHBlZC52YWx1ZSwgc2V0dGluZy5kYXRlRm9ybWF0LCBzZXR0aW5nLmRhdGVUaW1lRm9ybWF0KTtcbiAgICAgICAgICAgIGNhc2UgXCJkdXJhdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiByZW5kZXJNaW5pbWFsRHVyYXRpb24od3JhcHBlZC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogV3JhcCBhIGxpdGVyYWwgdmFsdWUgc28geW91IGNhbiBzd2l0Y2ggb24gaXQgZWFzaWx5LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB3cmFwVmFsdWUodmFsOiBMaXRlcmFsKTogV3JhcHBlZExpdGVyYWwgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaXNOdWxsKHZhbCkpIHJldHVybiB7IHR5cGU6IFwibnVsbFwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzTnVtYmVyKHZhbCkpIHJldHVybiB7IHR5cGU6IFwibnVtYmVyXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNTdHJpbmcodmFsKSkgcmV0dXJuIHsgdHlwZTogXCJzdHJpbmdcIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc0Jvb2xlYW4odmFsKSkgcmV0dXJuIHsgdHlwZTogXCJib29sZWFuXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNEdXJhdGlvbih2YWwpKSByZXR1cm4geyB0eXBlOiBcImR1cmF0aW9uXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNEYXRlKHZhbCkpIHJldHVybiB7IHR5cGU6IFwiZGF0ZVwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzQXJyYXkodmFsKSkgcmV0dXJuIHsgdHlwZTogXCJhcnJheVwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzTGluayh2YWwpKSByZXR1cm4geyB0eXBlOiBcImxpbmtcIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc0Z1bmN0aW9uKHZhbCkpIHJldHVybiB7IHR5cGU6IFwiZnVuY3Rpb25cIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKSByZXR1cm4geyB0eXBlOiBcIm9iamVjdFwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlbHkgbWFwIGNvbXBsZXggb2JqZWN0cyBhdCB0aGUgbGVhdmVzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBtYXBMZWF2ZXModmFsOiBMaXRlcmFsLCBmdW5jOiAodDogTGl0ZXJhbCkgPT4gTGl0ZXJhbCk6IExpdGVyYWwge1xuICAgICAgICBpZiAoaXNPYmplY3QodmFsKSkge1xuICAgICAgICAgICAgbGV0IHJlc3VsdDogRGF0YU9iamVjdCA9IHt9O1xuICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbCkpIHJlc3VsdFtrZXldID0gbWFwTGVhdmVzKHZhbHVlLCBmdW5jKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBMaXRlcmFsW10gPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIHZhbCkgcmVzdWx0LnB1c2gobWFwTGVhdmVzKHZhbHVlLCBmdW5jKSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmModmFsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0d28gYXJiaXRyYXJ5IGxpdGVyYWxzIGFyZSBlcXVhbC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZXF1YWxzKGZpcnN0OiBMaXRlcmFsIHwgdW5kZWZpbmVkLCBzZWNvbmQ6IExpdGVyYWwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmUoZmlyc3QsIHNlY29uZCkgPT0gMDtcbiAgICB9XG5cbiAgICAvKiogQ29tcGFyZSB0d28gYXJiaXRyYXJ5IEphdmFTY3JpcHQgdmFsdWVzLiBQcm9kdWNlcyBhIHRvdGFsIG9yZGVyaW5nIG92ZXIgQU5ZIHBvc3NpYmxlIGRhdGFjb3JlIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb21wYXJlKFxuICAgICAgICB2YWwxOiBMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICAgICB2YWwyOiBMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICAgICBsaW5rTm9ybWFsaXplcj86IChsaW5rOiBzdHJpbmcpID0+IHN0cmluZ1xuICAgICk6IG51bWJlciB7XG4gICAgICAgIC8vIFJlZmVyZW5jZSBlcXVhbGl0eSAtIHNob3J0IGNpcmN1aXQuXG4gICAgICAgIGlmICh2YWwxID09PSB2YWwyKSByZXR1cm4gMDtcblxuICAgICAgICAvLyBIYW5kbGUgdW5kZWZpbmVkL251bGxzIGZpcnN0LlxuICAgICAgICBpZiAodmFsMSA9PT0gdW5kZWZpbmVkKSB2YWwxID0gbnVsbDtcbiAgICAgICAgaWYgKHZhbDIgPT09IHVuZGVmaW5lZCkgdmFsMiA9IG51bGw7XG4gICAgICAgIGlmICh2YWwxID09PSBudWxsICYmIHZhbDIgPT09IG51bGwpIHJldHVybiAwO1xuICAgICAgICBlbHNlIGlmICh2YWwxID09PSBudWxsKSByZXR1cm4gLTE7XG4gICAgICAgIGVsc2UgaWYgKHZhbDIgPT09IG51bGwpIHJldHVybiAxO1xuXG4gICAgICAgIC8vIEEgbm9uLW51bGwgdmFsdWUgbm93IHdoaWNoIHdlIGNhbiB3cmFwICYgY29tcGFyZSBvbi5cbiAgICAgICAgbGV0IHdyYXAxID0gd3JhcFZhbHVlKHZhbDEpO1xuICAgICAgICBsZXQgd3JhcDIgPSB3cmFwVmFsdWUodmFsMik7XG5cbiAgICAgICAgaWYgKHdyYXAxID09PSB1bmRlZmluZWQgJiYgd3JhcDIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gICAgICAgIGVsc2UgaWYgKHdyYXAxID09PSB1bmRlZmluZWQpIHJldHVybiAtMTtcbiAgICAgICAgZWxzZSBpZiAod3JhcDIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDE7XG5cbiAgICAgICAgLy8gU2hvcnQtY2lyY3VpdCBvbiBkaWZmZXJlbnQgdHlwZXMgb3Igb24gcmVmZXJlbmNlIGVxdWFsaXR5LlxuICAgICAgICBpZiAod3JhcDEudHlwZSAhPSB3cmFwMi50eXBlKSByZXR1cm4gd3JhcDEudHlwZS5sb2NhbGVDb21wYXJlKHdyYXAyLnR5cGUpO1xuICAgICAgICBpZiAod3JhcDEudmFsdWUgPT09IHdyYXAyLnZhbHVlKSByZXR1cm4gMDtcblxuICAgICAgICBzd2l0Y2ggKHdyYXAxLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUubG9jYWxlQ29tcGFyZSh3cmFwMi52YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgICAgIGlmICh3cmFwMS52YWx1ZSA8ICh3cmFwMi52YWx1ZSBhcyBudW1iZXIpKSByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAod3JhcDEudmFsdWUgPT0gKHdyYXAyLnZhbHVlIGFzIG51bWJlcikpIHJldHVybiAwO1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICAgICAgaWYgKHdyYXAxLnZhbHVlID09IHdyYXAyLnZhbHVlKSByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiB3cmFwMS52YWx1ZSA/IDEgOiAtMTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgbGV0IGxpbmsxID0gd3JhcDEudmFsdWU7XG4gICAgICAgICAgICAgICAgbGV0IGxpbmsyID0gd3JhcDIudmFsdWUgYXMgTGluaztcbiAgICAgICAgICAgICAgICBsZXQgbm9ybWFsaXplID0gbGlua05vcm1hbGl6ZXIgPz8gKCh4OiBzdHJpbmcpID0+IHgpO1xuXG4gICAgICAgICAgICAgICAgLy8gV2UgY2FuJ3QgY29tcGFyZSBieSBmaWxlIG5hbWUgb3IgZGlzcGxheSwgc2luY2UgdGhhdCB3b3VsZCBicmVhayBsaW5rIGVxdWFsaXR5LiBDb21wYXJlIGJ5IHBhdGguXG4gICAgICAgICAgICAgICAgbGV0IHBhdGhDb21wYXJlID0gbm9ybWFsaXplKGxpbmsxLnBhdGgpLmxvY2FsZUNvbXBhcmUobm9ybWFsaXplKGxpbmsyLnBhdGgpKTtcbiAgICAgICAgICAgICAgICBpZiAocGF0aENvbXBhcmUgIT0gMCkgcmV0dXJuIHBhdGhDb21wYXJlO1xuXG4gICAgICAgICAgICAgICAgLy8gVGhlbiBjb21wYXJlIGJ5IHR5cGUuXG4gICAgICAgICAgICAgICAgbGV0IHR5cGVDb21wYXJlID0gbGluazEudHlwZS5sb2NhbGVDb21wYXJlKGxpbmsyLnR5cGUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlQ29tcGFyZSAhPSAwKSByZXR1cm4gdHlwZUNvbXBhcmU7XG5cbiAgICAgICAgICAgICAgICAvLyBUaGVuIGNvbXBhcmUgYnkgc3VicGF0aCBleGlzdGVuY2UuXG4gICAgICAgICAgICAgICAgaWYgKGxpbmsxLnN1YnBhdGggJiYgIWxpbmsyLnN1YnBhdGgpIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIGlmICghbGluazEuc3VicGF0aCAmJiBsaW5rMi5zdWJwYXRoKSByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKSByZXR1cm4gMDtcblxuICAgICAgICAgICAgICAgIC8vIFNpbmNlIGJvdGggaGF2ZSBhIHN1YnBhdGgsIGNvbXBhcmUgYnkgc3VicGF0aC5cbiAgICAgICAgICAgICAgICByZXR1cm4gKGxpbmsxLnN1YnBhdGggPz8gXCJcIikubG9jYWxlQ29tcGFyZShsaW5rMi5zdWJwYXRoID8/IFwiXCIpO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCAod3JhcDIudmFsdWUgYXMgRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUgYXMgRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCAod3JhcDIudmFsdWUgYXMgRHVyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUgYXMgRHVyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjYXNlIFwiYXJyYXlcIjpcbiAgICAgICAgICAgICAgICBsZXQgZjEgPSB3cmFwMS52YWx1ZTtcbiAgICAgICAgICAgICAgICBsZXQgZjIgPSB3cmFwMi52YWx1ZSBhcyBhbnlbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgTWF0aC5taW4oZjEubGVuZ3RoLCBmMi5sZW5ndGgpOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjb21wID0gY29tcGFyZShmMVtpbmRleF0sIGYyW2luZGV4XSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21wICE9IDApIHJldHVybiBjb21wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZjEubGVuZ3RoIC0gZjIubGVuZ3RoO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGxldCBvMSA9IHdyYXAxLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCBvMiA9IHdyYXAyLnZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgICAgICAgICAgbGV0IGsxID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvMSkpO1xuICAgICAgICAgICAgICAgIGxldCBrMiA9IEFycmF5LmZyb20oT2JqZWN0LmtleXMobzIpKTtcbiAgICAgICAgICAgICAgICBrMS5zb3J0KCk7XG4gICAgICAgICAgICAgICAgazIuc29ydCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGtleUNvbXBhcmUgPSBjb21wYXJlKGsxLCBrMik7XG4gICAgICAgICAgICAgICAgaWYgKGtleUNvbXBhcmUgIT0gMCkgcmV0dXJuIGtleUNvbXBhcmU7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgb2YgazEpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbXAgPSBjb21wYXJlKG8xW2tleV0sIG8yW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKSByZXR1cm4gY29tcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YWNvcmUgdHlwZSBmb3IgYW4gYXJiaXRyYXJ5IHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB0eXBlT2YodmFsOiBhbnkpOiBMaXRlcmFsVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB3cmFwVmFsdWUodmFsKT8udHlwZTtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBcInRydXRoeVwiIChpLmUuLCBpcyBub24tbnVsbCBhbmQgaGFzIGRhdGEgaW4gaXQpLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc1RydXRoeShmaWVsZDogTGl0ZXJhbCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgd3JhcHBlZCA9IHdyYXBWYWx1ZShmaWVsZCk7XG4gICAgICAgIGlmICghd3JhcHBlZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUgIT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhd3JhcHBlZC52YWx1ZS5wYXRoO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b01pbGxpcygpICE9IDA7XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5hcyhcInNlY29uZHNcIikgIT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMod3JhcHBlZC52YWx1ZSkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICBjYXNlIFwibnVsbFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIERlZXAgY29weSBhIGZpZWxkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBkZWVwQ29weTxUIGV4dGVuZHMgTGl0ZXJhbD4oZmllbGQ6IFQpOiBUIHtcbiAgICAgICAgaWYgKGZpZWxkID09PSBudWxsIHx8IGZpZWxkID09PSB1bmRlZmluZWQpIHJldHVybiBmaWVsZDtcblxuICAgICAgICBpZiAoTGl0ZXJhbHMuaXNBcnJheShmaWVsZCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoW10gYXMgTGl0ZXJhbFtdKS5jb25jYXQoZmllbGQubWFwKCh2KSA9PiBkZWVwQ29weSh2KSkpIGFzIFQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNPYmplY3QoZmllbGQpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBMaXRlcmFsPiA9IHt9O1xuICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGZpZWxkKSkgcmVzdWx0W2tleV0gPSBkZWVwQ29weSh2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIFQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIHN0cmluZy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gXCJzdHJpbmdcIjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlci4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsOiBhbnkpOiB2YWwgaXMgbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gXCJudW1iZXJcIjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIGRhdGUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZSh2YWw6IGFueSk6IHZhbCBpcyBEYXRlVGltZSB7XG4gICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEYXRlVGltZTtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIGR1cmF0aW9uLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc0R1cmF0aW9uKHZhbDogYW55KTogdmFsIGlzIER1cmF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIER1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc051bGwodmFsOiBhbnkpOiB2YWwgaXMgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZSBpZiB0aGUgdmFsdWUgaXMgYW4gYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodmFsOiBhbnkpOiB2YWwgaXMgYW55W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWwpO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIHZhbHVlIGlzIGEgYm9vbGVhbi4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNCb29sZWFuKHZhbDogYW55KTogdmFsIGlzIGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gXCJib29sZWFuXCI7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZSBpZiB0aGUgdmFsdWUgaXMgYSBsaW5rLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc0xpbmsodmFsOiBhbnkpOiB2YWwgaXMgTGluayB7XG4gICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBMaW5rO1xuICAgIH1cblxuICAgIC8qKiBDaGVja3MgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIG9iamVjdCAoYW5kIG5vdCBhbnkgb3RoZXIgZGF0YWNvcmUtcmVjb2duaXplZCBvYmplY3QtbGlrZSB0eXBlKS4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNPYmplY3QodmFsOiBhbnkpOiB2YWwgaXMgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB2YWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbCA9PSBcIm9iamVjdFwiICYmXG4gICAgICAgICAgICAhaXNBcnJheSh2YWwpICYmXG4gICAgICAgICAgICAhaXNEdXJhdGlvbih2YWwpICYmXG4gICAgICAgICAgICAhaXNEYXRlKHZhbCkgJiZcbiAgICAgICAgICAgICFpc0xpbmsodmFsKSAmJlxuICAgICAgICAgICAgIWlzTnVsbCh2YWwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGEgamF2YXNjcmlwdCBmdW5jdGlvbi4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWw6IGFueSk6IHZhbCBpcyBGdW5jdGlvbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09IFwiZnVuY3Rpb25cIjtcbiAgICB9XG59XG5cbi8qKiBBIGdyb3VwaW5nIG9uIGEgdHlwZSB3aGljaCBzdXBwb3J0cyByZWN1cnNpdmVseS1uZXN0ZWQgZ3JvdXBzLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgdHlwZSBHcm91cEVsZW1lbnQ8VD4gPSB7IGtleTogTGl0ZXJhbDsgcm93czogR3JvdXBpbmc8VD4gfTtcbi8qKlxuICogQSBncm91cGluZywgd2hpY2ggY2FuIGJlIGVpdGhlcjpcbiAqIC0gYW4gYXJyYXkgb2YgZWxlbWVudHMgb2YgdHlwZSBgVGAsIG9yXG4gKiAtIGFuIGFycmF5IG9mIHtAbGluayBHcm91cGVsZW1lbnR9c1xuICpcbiAqIEBncm91cCBDb21tb24gVHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgR3JvdXBpbmc8VD4gPSBUW10gfCBHcm91cEVsZW1lbnQ8VD5bXTtcbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgbmFtZXNwYWNlIEdyb3VwaW5ncyB7XG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGdyb3VwIGVudHJ5IGlzIGEgc3RhbmRhbG9uZSB2YWx1ZSwgb3IgYSBncm91cGluZyBvZiBzdWItZW50cmllcy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNFbGVtZW50R3JvdXA8VD4oZW50cnk6IGFueSk6IGVudHJ5IGlzIEdyb3VwRWxlbWVudDxUPiB7XG4gICAgICAgIHJldHVybiBMaXRlcmFscy5pc09iamVjdChlbnRyeSkgJiYgT2JqZWN0LmtleXMoZW50cnkpLmxlbmd0aCA9PSAyICYmIFwia2V5XCIgaW4gZW50cnkgJiYgXCJyb3dzXCIgaW4gZW50cnk7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgZ3JvdXBpbmcgYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBpbmc8VD4oZW50cnk6IEdyb3VwaW5nPFQ+KTogZW50cnkgaXMgR3JvdXBFbGVtZW50PFQ+W10ge1xuICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGVudHJ5KSBpZiAoIWlzRWxlbWVudEdyb3VwKGVsZW1lbnQpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgbGVhZiBhbmQgaGFzIG5vIHN1Ymdyb3VwaW5ncy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNMZWFmPFQ+KGVudHJ5OiBHcm91cGluZzxUPik6IGVudHJ5IGlzIFRbXSB7XG4gICAgICAgIGZvciAobGV0IGVsZW1lbnQgb2YgZW50cnkpIGlmIChpc0VsZW1lbnRHcm91cChlbGVtZW50KSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKiBDb3VudCB0aGUgdG90YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgcmVjdXJzaXZlIGdyb3VwaW5nLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb3VudDxUPihlbGVtZW50czogR3JvdXBpbmc8VD4gfCBHcm91cEVsZW1lbnQ8VD4pOiBudW1iZXIge1xuICAgICAgICBpZiAoaXNFbGVtZW50R3JvdXAoZWxlbWVudHMpKSB7XG4gICAgICAgICAgICByZXR1cm4gY291bnQoZWxlbWVudHMucm93cyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNHcm91cGluZyhlbGVtZW50cykpIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgc3ViZ3JvdXAgb2YgZWxlbWVudHMpIHJlc3VsdCArPSBjb3VudChzdWJncm91cC5yb3dzKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudHMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlY3Vyc2l2ZWx5IHNsaWNlIGEgZ3JvdXBpbmcsIHByZXNlcnZpbmcgdGhlIGdyb3VwIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIGVsZW1lbnRzIFtzdGFydC4uLmVuZCkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHNsaWNlPFQ+KGVsZW1lbnRzOiBHcm91cGluZzxUPiwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiBHcm91cGluZzxUPiB7XG4gICAgICAgIGlmIChlbmQgPD0gc3RhcnQpIHJldHVybiBbXTtcbiAgICAgICAgaWYgKGlzTGVhZihlbGVtZW50cykpIHJldHVybiBlbGVtZW50cy5zbGljZShzdGFydCwgZW5kKTtcblxuICAgICAgICAvLyBGaW5kIHRoZSBmaXJzdCBncm91cCB0aGF0IGNvbnRhaW5zIGluZGV4IGBzdGFydGAuXG4gICAgICAgIGxldCBpbmRleCA9IDAsXG4gICAgICAgICAgICBzZWVuID0gMDtcbiAgICAgICAgd2hpbGUgKGluZGV4IDwgZWxlbWVudHMubGVuZ3RoICYmIHNlZW4gKyBjb3VudChlbGVtZW50c1tpbmRleF0pIDw9IHN0YXJ0KSB7XG4gICAgICAgICAgICBzZWVuICs9IGNvdW50KGVsZW1lbnRzW2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3RhcnQgd2FzIGdyZWF0ZXIgdGhhbiB0aGUgZW50aXJlIGxlbmd0aCBvZiB0aGUgZ3JvdXBpbmdzLlxuICAgICAgICBpZiAoaW5kZXggPj0gZWxlbWVudHMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiB7IGtleTogTGl0ZXJhbDsgcm93czogR3JvdXBpbmc8VD4gfVtdID0gW107XG4gICAgICAgIHdoaWxlIChpbmRleCA8IGVsZW1lbnRzLmxlbmd0aCAmJiBzZWVuIDwgZW5kKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IGVsZW1lbnRzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU2l6ZSA9IGNvdW50KGdyb3VwKTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU3RhcnQgPSBNYXRoLm1heChzZWVuLCBzdGFydCk7XG4gICAgICAgICAgICBjb25zdCBncm91cEVuZCA9IE1hdGgubWluKGdyb3VwU2l6ZSArIHNlZW4sIGVuZCk7XG5cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IGdyb3VwLmtleSxcbiAgICAgICAgICAgICAgICByb3dzOiBzbGljZShncm91cC5yb3dzLCBncm91cFN0YXJ0IC0gc2VlbiwgZ3JvdXBFbmQgLSBzZWVuKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzZWVuICs9IGdyb3VwU2l6ZTtcbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgYXBpXG4gKi9cbi8qKlxuICogIEZ1bmN0aW9uYWwgcmV0dXJuIHR5cGUgZm9yIGVycm9yIGhhbmRsaW5nLlxuICogQGhpZGRlblxuICogKi9cbmV4cG9ydCBjbGFzcyBTdWNjZXNzPFQsIEU+IHtcbiAgICBwdWJsaWMgc3VjY2Vzc2Z1bDogdHJ1ZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwPFU+KGY6IChhOiBUKSA9PiBVKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKGYodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmbGF0TWFwPFU+KGY6IChhOiBUKSA9PiBSZXN1bHQ8VSwgRT4pOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gZih0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwRXJyPFU+KGY6IChlOiBFKSA9PiBVKTogUmVzdWx0PFQsIFU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55IGFzIFJlc3VsdDxULCBVPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmltYXA8VDIsIEUyPihzdWNjOiAoYTogVCkgPT4gVDIsIF9mYWlsOiAoYjogRSkgPT4gRTIpOiBSZXN1bHQ8VDIsIEUyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hcChzdWNjKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG9yRWxzZShfdmFsdWU6IFQpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNhc3Q8VT4oKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55O1xuICAgIH1cblxuICAgIHB1YmxpYyBvckVsc2VUaHJvdyhfbWVzc2FnZT86IChlOiBFKSA9PiBzdHJpbmcpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxufVxuXG4vKiogRnVuY3Rpb25hbCByZXR1cm4gdHlwZSBmb3IgZXJyb3IgaGFuZGxpbmcuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWlsdXJlPFQsIEU+IHtcbiAgICBwdWJsaWMgc3VjY2Vzc2Z1bDogZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGVycm9yOiBFKSB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXA8VT4oX2Y6IChhOiBUKSA9PiBVKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55IGFzIEZhaWx1cmU8VSwgRT47XG4gICAgfVxuXG4gICAgcHVibGljIGZsYXRNYXA8VT4oX2Y6IChhOiBUKSA9PiBSZXN1bHQ8VSwgRT4pOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnkgYXMgRmFpbHVyZTxVLCBFPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwRXJyPFU+KGY6IChlOiBFKSA9PiBVKTogUmVzdWx0PFQsIFU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGYodGhpcy5lcnJvcikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBiaW1hcDxUMiwgRTI+KF9zdWNjOiAoYTogVCkgPT4gVDIsIGZhaWw6IChiOiBFKSA9PiBFMik6IFJlc3VsdDxUMiwgRTI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwRXJyKGZhaWwpIGFzIGFueTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3JFbHNlKHZhbHVlOiBUKTogVCB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FzdDxVPigpOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG9yRWxzZVRocm93KG1lc3NhZ2U/OiAoZTogRSkgPT4gc3RyaW5nKTogVCB7XG4gICAgICAgIGlmIChtZXNzYWdlKSB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSh0aGlzLmVycm9yKSk7XG4gICAgICAgIGVsc2UgdGhyb3cgbmV3IEVycm9yKFwiXCIgKyB0aGlzLmVycm9yKTtcbiAgICB9XG59XG5cbi8qKlxuICogQSBtb25hZGljIHJlc3VsdCB0eXBlIHdoaWNoIHN0b3JlcyBlaXRoZXIgXCJzdWNjZXNzXCIgb3IgXCJmYWlsdXJlXCIuIEFuIGFsdGVybmF0aXZlIGhhbmRsaW5nIGV4Y2VwdGlvbmFsIGJlaGF2aW9yXG4gKiBieSB1c2luZyB0aGUgcmV0dXJuIHZhbHVlIGluc3RlYWQgb2YgYW4gZXhjZXB0aW9uLlxuICovXG5leHBvcnQgdHlwZSBSZXN1bHQ8VCwgRT4gPSBTdWNjZXNzPFQsIEU+IHwgRmFpbHVyZTxULCBFPjtcblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBNb25hZGljICdSZXN1bHQnIHR5cGUgd2hpY2ggZW5jYXBzdWxhdGVzIHdoZXRoZXIgYSBwcm9jZWR1cmUgc3VjY2VlZGVkIG9yIGZhaWxlZCwgYXMgd2VsbCBhcyBpdCdzIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBSZXN1bHQge1xuICAgIC8qKiBDb25zdHJ1Y3QgYSBuZXcgc3VjY2VzcyByZXN1bHQgd3JhcHBpbmcgdGhlIGdpdmVuIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzdWNjZXNzPFQsIEU+KHZhbHVlOiBUKTogUmVzdWx0PFQsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQ29uc3RydWN0IGEgbmV3IGZhaWx1cmUgdmFsdWUgd3JhcHBpbmcgdGhlIGdpdmVuIGVycm9yLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBmYWlsdXJlPFQsIEU+KGVycm9yOiBFKTogUmVzdWx0PFQsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGVycm9yKTtcbiAgICB9XG5cbiAgICAvKiogSm9pbiB0d28gcmVzdWx0cyB3aXRoIGEgYmktZnVuY3Rpb24gYW5kIHJldHVybiBhIG5ldyByZXN1bHQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZsYXRNYXAyPFQxLCBUMiwgTywgRT4oXG4gICAgICAgIGZpcnN0OiBSZXN1bHQ8VDEsIEU+LFxuICAgICAgICBzZWNvbmQ6IFJlc3VsdDxUMiwgRT4sXG4gICAgICAgIGY6IChhOiBUMSwgYjogVDIpID0+IFJlc3VsdDxPLCBFPlxuICAgICk6IFJlc3VsdDxPLCBFPiB7XG4gICAgICAgIGlmIChmaXJzdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICBpZiAoc2Vjb25kLnN1Y2Nlc3NmdWwpIHJldHVybiBmKGZpcnN0LnZhbHVlLCBzZWNvbmQudmFsdWUpO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gZmFpbHVyZShzZWNvbmQuZXJyb3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmUoZmlyc3QuZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEpvaW4gdHdvIHJlc3VsdHMgd2l0aCBhIGJpLWZ1bmN0aW9uIGFuZCByZXR1cm4gYSBuZXcgcmVzdWx0LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBtYXAyPFQxLCBUMiwgTywgRT4oXG4gICAgICAgIGZpcnN0OiBSZXN1bHQ8VDEsIEU+LFxuICAgICAgICBzZWNvbmQ6IFJlc3VsdDxUMiwgRT4sXG4gICAgICAgIGY6IChhOiBUMSwgYjogVDIpID0+IE9cbiAgICApOiBSZXN1bHQ8TywgRT4ge1xuICAgICAgICByZXR1cm4gZmxhdE1hcDIoZmlyc3QsIHNlY29uZCwgKGEsIGIpID0+IHN1Y2Nlc3MoZihhLCBiKSkpO1xuICAgIH1cblxuICAgIC8qKiBNYXAgYSBmYWlsYWJsZSBmdW5jdGlvbiBvdmVyIGFsbCBlbGVtZW50cyBpbiB0aGUgbGlzdCwgcmV0dXJuaW5nIGVhcmx5IG9uIGZhaWx1cmUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG1hcEFsbDxULCBPLCBFPihpbnB1dDogSXRlcmFibGU8VD4sIGZ1bmM6IChpbnB1dDogVCkgPT4gUmVzdWx0PE8sIEU+KTogUmVzdWx0PE9bXSwgRT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IE9bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgaW5wdXQpIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IGZ1bmMoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoIW91dHB1dC5zdWNjZXNzZnVsKSByZXR1cm4gb3V0cHV0LmNhc3QoKTtcblxuICAgICAgICAgICAgcmVzdWx0LnB1c2gob3V0cHV0LnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKiBDYXRjaCBhbnkgZXJyb3JzIGluIGEgY2FsbCwgcmV0dXJuaW5nIGEgcmVzdWx0IGluc3RlYWQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHRyeWluZzxUPihjYWxsOiAoKSA9PiBUKTogUmVzdWx0PFQsIEVycm9yPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoY2FsbCgpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ29udmVydCBhIHByb21pc2Ugd2hpY2ggbWF5IHRocm93IGludG8gYSBwcm9taXNlIHdoaWNoIHJldHVybnMgYSByZXN1bHQgb2YgdGhlIHN1Y2Nlc3NmdWwgdmFsdWUgb3IgYW4gZXJyb3IuICovXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jPFQ+KHByb21pc2U6IFByb21pc2U8VD4pOiBQcm9taXNlPFJlc3VsdDxULCBFcnJvcj4+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2Vzcyhhd2FpdCBwcm9taXNlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcblxuLyoqIFN0YXRpYyBzZXQgZWxlbWVudCB3aGljaCBtYXRjaGVzIGV2ZXJ5dGhpbmcuICovXG5leHBvcnQgdHlwZSBFdmVyeXRoaW5nID0geyB0eXBlOiBcImV2ZXJ5dGhpbmdcIiB9O1xuLyoqIFN0YXRpYyBzZXQgZWxlbWVudCB3aGljaCBtYXRjaGVzIG5vdGhpbmcuICovXG5leHBvcnQgdHlwZSBOb3RoaW5nID0geyB0eXBlOiBcIm5vdGhpbmdcIiB9O1xuLyoqIFNldCB3aGljaCBtYXRjaGVzIHRoZSBuZWdhdGlvbiBvZiBhIHNldC4gKi9cbmV4cG9ydCB0eXBlIE5lZ2F0ZWQ8VD4gPSB7IHR5cGU6IFwibmVnYXRlZFwiOyB2YWx1ZTogU2V0PFQ+IH07XG4vKiogU2V0IHdoaWNoIG1hdGNoZXMgYW4gYWN0dWFsIHNldCBvZiB2YWx1ZXMuICAqL1xuZXhwb3J0IHR5cGUgQXRvbTxUPiA9IHsgdHlwZTogXCJhdG9tXCI7IHZhbHVlOiBTZXQ8VD4gfTtcblxuLyoqIEFic3RyYWN0IGZpbHRlciB0eXBlIHdoaWNoIHJlcHJlc2VudHMgdGhlIHJlc3VsdHMgb2YgYXBwbHlpbmcgZmlsdGVyIG9wZXJhdGlvbnMgdG8gdGhlIGRhdGEgc3RvcmUuICovXG5leHBvcnQgdHlwZSBGaWx0ZXI8VD4gPSBFdmVyeXRoaW5nIHwgTm90aGluZyB8IEF0b208VD4gfCBOZWdhdGVkPFQ+O1xuXG4vKiogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGVmZmljaWVudGx5IG9wZXJhdGluZyBvbiBmaWx0ZXJzLiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBGaWx0ZXJzIHtcbiAgICAvKiogU3RhdGljIGZpbHRlciB3aGljaCBtYXRjaGVzIGV2ZXJ5dGhpbmcuICovXG4gICAgZXhwb3J0IGNvbnN0IEVWRVJZVEhJTkc6IEV2ZXJ5dGhpbmcgPSB7IHR5cGU6IFwiZXZlcnl0aGluZ1wiIH07XG4gICAgLyoqIFN0YXRpYyBmaWx0ZXIgd2hpY2ggbWF0Y2hlcyBub3RoaW5nLiAqL1xuICAgIGV4cG9ydCBjb25zdCBOT1RISU5HOiBOb3RoaW5nID0geyB0eXBlOiBcIm5vdGhpbmdcIiB9O1xuICAgIC8qKiBFbXB0eSBzZXQgY29uc3RhbnQuICovXG4gICAgZXhwb3J0IGNvbnN0IEVNUFRZX1NFVDogU2V0PGFueT4gPSBuZXcgU2V0KCk7XG5cbiAgICAvKiogQ29uc3RydWN0IGEgbmV3IGF0b20gZmlsdGVyLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBhdG9tPFQ+KHNldDogU2V0PFQ+KTogRmlsdGVyPFQ+IHtcbiAgICAgICAgaWYgKHNldC5zaXplID09IDApIHJldHVybiBOT1RISU5HO1xuXG4gICAgICAgIHJldHVybiB7IHR5cGU6IFwiYXRvbVwiLCB2YWx1ZTogc2V0IH07XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIGZpbHRlciB0aGF0IG1hdGNoZXMgZXZlcnl0aGluZyBvciBub3RoaW5nLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb25zdGFudDxUPih2YWx1ZTogYm9vbGVhbik6IEZpbHRlcjxUPiB7XG4gICAgICAgIGlmICh2YWx1ZSkgcmV0dXJuIEVWRVJZVEhJTkc7XG4gICAgICAgIGVsc2UgcmV0dXJuIE5PVEhJTkc7XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIG5ldyBhdG9tIGZpbHRlciB3aGljaCBpcyBOT1RISU5HIGlmIHNldCBpcyB1bmRlZmluZWQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG51bGxhYmxlQXRvbTxUPihzZXQ6IFNldDxUPiB8IHVuZGVmaW5lZCk6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBzZXQgIT09IHVuZGVmaW5lZCA/IGF0b20oc2V0KSA6IE5PVEhJTkc7XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIG5lZ2F0ZWQgYXRvbSBmaWx0ZXIuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG5lZ2F0ZWQ8VD4oc2V0OiBTZXQ8VD4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICBpZiAoc2V0LnNpemUgPT0gMCkgcmV0dXJuIEVWRVJZVEhJTkc7XG5cbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJuZWdhdGVkXCIsIHZhbHVlOiBzZXQgfTtcbiAgICB9XG5cbiAgICAvKiogUHJvZHVjZXMgdGhlIG5lZ2F0aW9uIG9mIGEgZmlsdGVyLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBuZWdhdGU8VD4oZmlsdGVyOiBGaWx0ZXI8VD4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXZlcnl0aGluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBOT1RISU5HO1xuICAgICAgICAgICAgY2FzZSBcIm5vdGhpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gRVZFUllUSElORztcbiAgICAgICAgICAgIGNhc2UgXCJhdG9tXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5lZ2F0ZWQoZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0b20oZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIGZpbHRlciBpcyBkZWZpbml0aXZlbHkgY3VycmVudGx5IGVtcHR5LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBlbXB0eTxUPihmaWx0ZXI6IEZpbHRlcjxUPik6IGJvb2xlYW4ge1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXZlcnl0aGluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY2FzZSBcImF0b21cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyLnZhbHVlLnNpemUgPT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJub3RoaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmVzb2x2ZSBhIHRvcC1sZXZlbCBmaWx0ZXIgd2l0aCB0aGUgc2V0IG9mIGFsbCBhdmFpbGFibGUgb2JqZWN0cy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gcmVzb2x2ZTxUPihmaWx0ZXI6IEZpbHRlcjxUPiwgZXZlcnl0aGluZzogU2V0PFQ+KTogU2V0PFQ+IHtcbiAgICAgICAgc3dpdGNoIChmaWx0ZXIudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImV2ZXJ5dGhpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZXZlcnl0aGluZztcbiAgICAgICAgICAgIGNhc2UgXCJub3RoaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZX1NFVDtcbiAgICAgICAgICAgIGNhc2UgXCJhdG9tXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNldEludGVyc2VjdE5lZ2F0aW9uKGV2ZXJ5dGhpbmcsIGZpbHRlci52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSW50ZXJzZWN0IGFuIGl0ZXJhYmxlIG9mIGZpbHRlcnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGludGVyc2VjdDxUPihlbGVtZW50czogSXRlcmFibGU8RmlsdGVyPFQ+Pik6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBsYXp5SW50ZXJzZWN0KGVsZW1lbnRzLCAoeCkgPT4geCk7XG4gICAgfVxuXG4gICAgLyoqIEludGVyc2VjdCBmaWx0ZXJzIGxhemlseSwgc2hvcnQtY2lyY3VpdGluZyBpZiB0aGUgaW50ZXJzZWN0aW9uIHdvdWxkIHByb2R1Y2UgTk9USElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eUludGVyc2VjdDxJLCBUPihcbiAgICAgICAgZWxlbWVudHM6IEl0ZXJhYmxlPEk+LFxuICAgICAgICBwcm9kdWNlOiAoaW5wdXQ6IEkpID0+IEZpbHRlcjxUPiB8IHVuZGVmaW5lZFxuICAgICk6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb24oZWxlbWVudHMsICh4KSA9PiBSZXN1bHQuc3VjY2Vzcyhwcm9kdWNlKHgpKSkub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogSW50ZXJzZWN0IGZpbHRlcnMgbGF6aWx5LCBzaG9ydC1jaXJjdWl0aW5nIGlmIHRoZSBpbnRlcnNlY3Rpb24gd291bGQgcHJvZHVjZSBOT1RISU5HLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb248SSwgVCwgRT4oXG4gICAgICAgIGVsZW1lbnRzOiBJdGVyYWJsZTxJPixcbiAgICAgICAgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBSZXN1bHQ8RmlsdGVyPFQ+IHwgdW5kZWZpbmVkLCBFPlxuICAgICk6IFJlc3VsdDxGaWx0ZXI8VD4sIEU+IHtcbiAgICAgICAgY29uc3QgYXRvbXM6IFNldDxUPltdID0gW107XG4gICAgICAgIGNvbnN0IG5lZ2F0aW9uczogU2V0PFQ+W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSBwcm9kdWNlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBtYXliZUZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIEVtcHR5IGZpbHRlcnMgd2lsbCBwcm9kdWNlIGFuIGVtcHR5IGludGVyc2VjdGlvbi5cbiAgICAgICAgICAgIGlmIChlbXB0eShmaWx0ZXIpKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoTk9USElORyk7XG4gICAgICAgICAgICAvLyBFVkVSWVRISU5HIGZpbHRlcnMgYXJlIHJlZHVuZGFudCBpbiBBTkRzLCBza2lwIHRoZW0uXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSBjb250aW51ZTtcblxuICAgICAgICAgICAgLy8gV2lsbCBvbmx5IGJlIGxlZnQgd2l0aCBhdG9tcyBvciBuZWdhdGlvbnMuXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT0gXCJhdG9tXCIpIGF0b21zLnB1c2goZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGZpbHRlci50eXBlID09IFwibmVnYXRlZFwiKSBuZWdhdGlvbnMucHVzaChmaWx0ZXIudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2Ugc3RhcnQgd2l0aCBzb21ldGhpbmcgb2YgdGhlIGZvcm0gYSAmJiBiICYmICFjICYmICFkLlxuICAgICAgICAvLyBJZiBubyB0ZXJtcywgdGhlbiBldmVyeXRoaW5nIHdhcyBFVkVSWVRISU5HIHNvIHJldHVybiB0aGF0LlxuICAgICAgICAvLyBJZiBvbmx5IGF0b21zLCBqdXN0IGludGVyc2VjdCB0aGVtIChhICYmIGIpLlxuICAgICAgICAvLyBJZiBvbmx5IG5lZ2F0aW9ucywgdGhlbiByZXdyaXRlICFjICYmICFkID0+ICEoYyB8fCBkKSBhbmQgcmV0dXJuIG5lZ2F0ZWQoYyB8fCBkKS5cbiAgICAgICAgLy8gSWYgYm90aCwgY29tcHV0ZSB4ID0gKGEgJiYgYikgYW5kIHkgPSAoYyB8fCBkKSwgYW5kIHRoZW4gY29tcHV0ZSB4ICYmICF5LlxuXG4gICAgICAgIGlmIChhdG9tcy5sZW5ndGggPT0gMCAmJiBuZWdhdGlvbnMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhFVkVSWVRISU5HKTtcbiAgICAgICAgfSBlbHNlIGlmIChhdG9tcy5sZW5ndGggPiAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKGF0b20oc2V0SW50ZXJzZWN0KGF0b21zKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobmVnYXRlZChzZXRVbmlvbihuZWdhdGlvbnMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKHNldEludGVyc2VjdE5lZ2F0aW9uKHNldEludGVyc2VjdChhdG9tcyksIHNldFVuaW9uKG5lZ2F0aW9ucykpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycywgcHJvZHVjaW5nIGEgc2luZ2xlIHJlc3VsdCBmaWx0ZXIuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHVuaW9uPFQ+KGZpbHRlcnM6IEl0ZXJhYmxlPEZpbHRlcjxUPj4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICByZXR1cm4gbGF6eVVuaW9uKGZpbHRlcnMsICh4KSA9PiB4KTtcbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycyBsYXppbHksIHNob3J0LWNpcmN1aXRpbmcgaWYgdGhlIHVuaW9uIHdvdWxkIHByb2R1Y2UgRVZFUllUSElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eVVuaW9uPEksIFQ+KGVsZW1lbnRzOiBJdGVyYWJsZTxJPiwgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBGaWx0ZXI8VD4gfCB1bmRlZmluZWQpOiBGaWx0ZXI8VD4ge1xuICAgICAgICByZXR1cm4gbGF6eUZhaWxhYmxlVW5pb24oZWxlbWVudHMsICh4KSA9PiBSZXN1bHQuc3VjY2Vzcyhwcm9kdWNlKHgpKSkub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycyBsYXppbHksIHNob3J0LWNpcmN1aXRpbmcgaWYgdGhlIHVuaW9uIHdvdWxkIHByb2R1Y2UgRVZFUllUSElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eUZhaWxhYmxlVW5pb248SSwgVCwgRT4oXG4gICAgICAgIGVsZW1lbnRzOiBJdGVyYWJsZTxJPixcbiAgICAgICAgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBSZXN1bHQ8RmlsdGVyPFQ+IHwgdW5kZWZpbmVkLCBFPlxuICAgICk6IFJlc3VsdDxGaWx0ZXI8VD4sIEU+IHtcbiAgICAgICAgY29uc3QgYXRvbXM6IFNldDxUPltdID0gW107XG4gICAgICAgIGNvbnN0IG5lZ2F0aW9uczogU2V0PFQ+W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSBwcm9kdWNlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBtYXliZUZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIEVWRVJZVEhJTkcgZmlsdGVycyB3aWxsIHByb2R1Y2UgZXZlcnl0aGluZyBhbHdheXMuXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRVZFUllUSElORyk7XG4gICAgICAgICAgICAvLyBFbXB0eSBmaWx0ZXJzIGFyZSByZWR1bmRhbnQuXG4gICAgICAgICAgICBpZiAoZW1wdHkoZmlsdGVyKSkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIFdpbGwgb25seSBiZSBsZWZ0IHdpdGggYXRvbXMgb3IgbmVnYXRpb25zLlxuICAgICAgICAgICAgaWYgKGZpbHRlci50eXBlID09IFwiYXRvbVwiKSBhdG9tcy5wdXNoKGZpbHRlci52YWx1ZSk7XG4gICAgICAgICAgICBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PSBcIm5lZ2F0ZWRcIikgbmVnYXRpb25zLnB1c2goZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9yIGlzIGEgYml0IGhhcmRlciB0aGFuIEFORCBzaW5jZSB5b3UgY2FuIGVuZCB1cCB3aXRoIHNjZW5hcmlvcyBsaWtlIGEgfHwgIWIsIHdoaWNoIGFyZVxuICAgICAgICAvLyBub3QgY29tcHV0YWJsZSBkaXJlY3RseS4gSG93ZXZlciwgd2UgY2FuIGRvIGJvb2xlYW4gbG9naWMgdG8gYWx3YXlzIHByb2R1Y2UgYSBzaW5nbGVcbiAgICAgICAgLy8gc2V0LlxuICAgICAgICAvLyBJZiBub3RoaW5nID0+IG5vdGhpbmcsIG5vIG5vbi1lbXB0eSBmaWx0ZXJzLlxuICAgICAgICAvLyBJZiBhdG9tcyBidXQgbm8gbmVnYXRpb25zIChhIHx8IGIgfHwgYykgPT4gY29tcHV0ZSB1bmlvbi5cbiAgICAgICAgLy8gSWYgbmVnYXRpb25zIGJ1dCBubyBhdG9tcyAoIWEgfHwgIWIgfHwgIWMpID0+IHJld3JpdGUgYXMgIShhICYmIGIgJiYgYykuXG4gICAgICAgIC8vIElmIGJvdGg6IChhIHx8IGIgfHwgIWMgfHwgIWQpID0+IGNvbWJpbmUgZWFjaCBwYXJ0IGludG8gKGEgfHwgYikgfHwgKCFjIHx8ICFkKSA9PiAoYSB8fCBiKSB8fCAhKGMgJiYgZCkgPT4gZSB8fCAhZiA9PiAhKCFlICYmIGYpIHdoaWNoXG4gICAgICAgIC8vIGNhbiBiZSBjb21wdXRlZCB1c2luZyBpbnRlcnNlY3Rpb24gbG9naWMuXG5cbiAgICAgICAgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKE5PVEhJTkcpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA+IDAgJiYgbmVnYXRpb25zLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKHNldFVuaW9uKGF0b21zKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5uZWdhdGVkKHNldEludGVyc2VjdChuZWdhdGlvbnMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobmVnYXRlZChzZXRJbnRlcnNlY3ROZWdhdGlvbihzZXRJbnRlcnNlY3QobmVnYXRpb25zKSwgc2V0VW5pb24oYXRvbXMpKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEVmZmljaWVudGx5IGNvbXB1dGUgdGhlIGludGVyc2VjdGlvbiBvZiBzZXRzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnNlY3Q8VD4oc2V0czogU2V0PFQ+W10pOiBTZXQ8VD4ge1xuICAgICAgICBpZiAoc2V0cy5sZW5ndGggPT0gMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgZWxzZSBpZiAoc2V0cy5sZW5ndGggPT0gMSkgcmV0dXJuIHNldHNbMF07XG5cbiAgICAgICAgLy8gU29ydCBieSBzaXplIGFuZCBjb21iaW5lIHNtYWxsZXN0IGFuZCBsYXJnZXN0IHNldCByZXBlYXRlZGx5LlxuICAgICAgICBsZXQgc29ydGVkID0gKFtdIGFzIFNldDxUPltdKS5jb25jYXQoc2V0cykuc29ydCgoYSwgYikgPT4gYS5zaXplIC0gYi5zaXplKTtcblxuICAgICAgICB3aGlsZSAoc29ydGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQ8VD4oKTtcbiAgICAgICAgICAgIGNvbnN0IGxhcmdlc3QgPSBzb3J0ZWQucG9wKCkhO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIHNvcnRlZFswXSkge1xuICAgICAgICAgICAgICAgIGlmIChsYXJnZXN0LmhhcyhlbGVtZW50KSkgcmVzdWx0LmFkZChlbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc29ydGVkWzBdID0gcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNvcnRlZFswXTtcbiAgICB9XG5cbiAgICAvKiogRWZmaWNpZW50bHkgY29tcHV0ZSB0aGUgdW5pb24gb2Ygc2V0cy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gc2V0VW5pb248VD4oc2V0czogU2V0PFQ+W10pOiBTZXQ8VD4ge1xuICAgICAgICBpZiAoc2V0cy5sZW5ndGggPT0gMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgZWxzZSBpZiAoc2V0cy5sZW5ndGggPT0gMSkgcmV0dXJuIHNldHNbMF07XG5cbiAgICAgICAgLy8gSSdtIG5vdCBzdXJlIGlmIHRoZXJlIGlzIGFueSB1c2VmdWwgb3B0aW1pemF0aW9uIGZvciBzZXQgdW5pb25zLCBzbyBqdXN0IGFkZCB0aGVtIGFsbCBJIGd1ZXNzLlxuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgICAgIGZvciAoY29uc3Qgc2V0IG9mIHNldHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBzZXQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuYWRkKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKiogRWZmaWNpZW50bHkgY29tcHV0ZSBhdG9tICYmICFuZWdhdGVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnNlY3ROZWdhdGlvbjxUPihhdG9tOiBTZXQ8VD4sIG5lZ2F0ZWQ6IFNldDxUPik6IFNldDxUPiB7XG4gICAgICAgIGlmIChhdG9tLnNpemUgPiBuZWdhdGVkLnNpemUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFdvdWxkIGJlIG5pY2UgdG8gYXZvaWQgdGhlIGNvcHksIHNpbmNlIEknbSBub3Qgc3VyZSBpdCdzIGFueSBmYXN0ZXIgd2l0aCB0aGUgY29weS5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQoYXRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIG5lZ2F0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuZGVsZXRlKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IC8qIGF0b20uc2l6ZSA8IG5lZ2F0aW9uLnNpemUgKi8gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGF0b20pIHtcbiAgICAgICAgICAgICAgICBpZiAobmVnYXRlZC5oYXMoZWxlbWVudCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5hZGQoZWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSBcIi4vZmlsdGVyc1wiO1xuXG4vKiogQ29tcGFyaXNvbiBvcGVyYXRvcnMgd2hpY2ggeWllbGQgdHJ1ZS9mYWxzZS4gKi9cbmV4cG9ydCB0eXBlIENvbXBhcmVPcCA9IFwiPlwiIHwgXCI+PVwiIHwgXCI8PVwiIHwgXCI8XCIgfCBcIj1cIiB8IFwiIT1cIjtcbi8qKiBBcml0aG1ldGljIG9wZXJhdG9ycyB3aGljaCB5aWVsZCBudW1iZXJzIGFuZCBvdGhlciB2YWx1ZXMuICovXG5leHBvcnQgdHlwZSBBcml0aG1ldGljT3AgPSBcIitcIiB8IFwiLVwiIHwgXCIqXCIgfCBcIi9cIiB8IFwiJVwiIHwgXCImXCIgfCBcInxcIjtcbi8qKiBJbmRleCBhIHZhbHVlIGludG8gYW5vdGhlciB2YWx1ZS4gKi9cbmV4cG9ydCB0eXBlIExvZ2ljYWxPcCA9IFwiaW5kZXhcIjtcbi8qKiBBbGwgdmFsaWQgYmluYXJ5IG9wZXJhdG9ycy4gKi9cbmV4cG9ydCB0eXBlIEJpbmFyeU9wID0gQ29tcGFyZU9wIHwgQXJpdGhtZXRpY09wIHwgTG9naWNhbE9wO1xuXG5leHBvcnQgdHlwZSBFeHByZXNzaW9uID1cbiAgICB8IExpdGVyYWxFeHByZXNzaW9uXG4gICAgfCBWYXJpYWJsZUV4cHJlc3Npb25cbiAgICB8IExpc3RFeHByZXNzaW9uXG4gICAgfCBPYmplY3RFeHByZXNzaW9uXG4gICAgfCBCaW5hcnlPcEV4cHJlc3Npb25cbiAgICB8IEZ1bmN0aW9uRXhwcmVzc2lvblxuICAgIHwgTGFtYmRhRXhwcmVzc2lvblxuICAgIHwgTmVnYXRlZEV4cHJlc3Npb247XG5cbi8qKiBMaXRlcmFsIHJlcHJlc2VudGF0aW9uIG9mIHNvbWUgZmllbGQgdHlwZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGl0ZXJhbEV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwibGl0ZXJhbFwiO1xuICAgIHZhbHVlOiBMaXRlcmFsO1xufVxuXG4vKiogQSB2YXJpYWJsZSBmaWVsZCBmb3IgYSB2YXJpYWJsZSB3aXRoIGEgZ2l2ZW4gbmFtZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGVFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcInZhcmlhYmxlXCI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG4vKiogQSBsaXN0IGxpdGVyYWwsIHdoaWNoIGlzIGFuIG9yZGVyZWQgY29sbGVjdGlvbiBvZiBmaWVsZHMuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcImxpc3RcIjtcbiAgICB2YWx1ZXM6IEV4cHJlc3Npb25bXTtcbn1cblxuLyoqIEFuIG9iamVjdCBsaXRlcmFsLCB3aGljaCBpcyBhIG1hcHBpbmcgb2YgbmFtZSB0byBmaWVsZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0RXhwcmVzc2lvbiB7XG4gICAgdHlwZTogXCJvYmplY3RcIjtcbiAgICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIEV4cHJlc3Npb24+O1xufVxuXG4vKiogQSBiaW5hcnkgb3BlcmF0b3IgZXhwcmVzc2lvbiB3aGljaCBjb21iaW5lcyB0d28gc3Vibm9kZXMgc29tZWhvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluYXJ5T3BFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcImJpbmFyeW9wXCI7XG4gICAgbGVmdDogRXhwcmVzc2lvbjtcbiAgICByaWdodDogRXhwcmVzc2lvbjtcbiAgICBvcDogQmluYXJ5T3A7XG59XG5cbi8qKiBBIGZ1bmN0aW9uIGV4cHJlc3Npb24gd2hpY2ggY2FsbHMgYSBmdW5jdGlvbiBvbiAwIG9yIG1vcmUgYXJndW1lbnRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIjtcbiAgICAvKiogRWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBiZWluZyBjYWxsZWQgb3IgYSBGdW5jdGlvbiBvYmplY3QuICovXG4gICAgZnVuYzogRXhwcmVzc2lvbjtcbiAgICAvKiogVGhlIGxpc3Qgb2YgYXJndW1lbnRzIGJlaW5nIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24uICovXG4gICAgYXJndW1lbnRzOiBFeHByZXNzaW9uW107XG59XG5cbi8qKiBBbiBpbmxpbmUgZnVuY3Rpb24gYWNjZXB0aW5nIG9uZSBvciBtb3JlIGFyZ3VtZW50cyBhbmQgcHJvZHVjaW5nIGEgdmFsdWUuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwibGFtYmRhXCI7XG4gICAgLyoqIEFuIG9yZGVyZWQgbGlzdCBvZiBuYW1lZCBhcmd1bWVudHMuICovXG4gICAgYXJndW1lbnRzOiBzdHJpbmdbXTtcbiAgICAvKiogVGhlIGZpZWxkIHdoaWNoIHdpbGwgYmUgZXZhbHVhdGVkIHVzaW5nIHRoZSBhcmd1bWVudHMgaW4gY29udGV4dC4gKi9cbiAgICB2YWx1ZTogRXhwcmVzc2lvbjtcbn1cblxuLyoqIEFuIGV4cHJlc3Npb24gd2hpY2ggbmVnYXRlcyB0aGUgdmFsdWUgb2YgdGhlIG9yaWdpbmFsIGZpZWxkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZWdhdGVkRXhwcmVzc2lvbiB7XG4gICAgdHlwZTogXCJuZWdhdGVkXCI7XG5cbiAgICAvKiogVGhlIGNoaWxkIGZpZWxkIHRvIG5lZ2F0ZS4gKi9cbiAgICBjaGlsZDogRXhwcmVzc2lvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFeHByZXNzaW9ucyB7XG4gICAgLyoqIFRoZSBpbXBsaWNpdCBmaWVsZCByZWZlcmVuY2luZyB0aGUgY3VycmVudCBmaWVsZC4gKi9cbiAgICBleHBvcnQgY29uc3QgUk9XOiBzdHJpbmcgPSBcIiRyb3dcIjtcblxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZShuYW1lOiBzdHJpbmcpOiBWYXJpYWJsZUV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcInZhcmlhYmxlXCIsIG5hbWUgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGl0ZXJhbCh2YWx1ZTogTGl0ZXJhbCk6IExpdGVyYWxFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsaXRlcmFsXCIsIHZhbHVlIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGJpbmFyeU9wKGxlZnQ6IEV4cHJlc3Npb24sIG9wOiBCaW5hcnlPcCwgcmlnaHQ6IEV4cHJlc3Npb24pOiBFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJiaW5hcnlvcFwiLCBsZWZ0LCBvcCwgcmlnaHQgfSBhcyBCaW5hcnlPcEV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGluZGV4KG9iajogRXhwcmVzc2lvbiwgaW5kZXg6IEV4cHJlc3Npb24pOiBFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJiaW5hcnlvcFwiLCBsZWZ0OiBvYmosIHJpZ2h0OiBpbmRleCwgb3A6IFwiaW5kZXhcIiB9O1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0cyBhIHN0cmluZyBpbiBkb3Qtbm90YXRpb24tZm9ybWF0IGludG8gYSB2YXJpYWJsZSB3aGljaCBpbmRleGVzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbmRleFZhcmlhYmxlKG5hbWU6IHN0cmluZyk6IEV4cHJlc3Npb24ge1xuICAgICAgICBsZXQgcGFydHMgPSBuYW1lLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgbGV0IHJlc3VsdDogRXhwcmVzc2lvbiA9IEV4cHJlc3Npb25zLnZhcmlhYmxlKHBhcnRzWzBdKTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHBhcnRzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgcmVzdWx0ID0gRXhwcmVzc2lvbnMuaW5kZXgocmVzdWx0LCBFeHByZXNzaW9ucy5saXRlcmFsKHBhcnRzW2luZGV4XSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGFtYmRhKGFyZ3M6IHN0cmluZ1tdLCB2YWx1ZTogRXhwcmVzc2lvbik6IExhbWJkYUV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcImxhbWJkYVwiLCBhcmd1bWVudHM6IGFyZ3MsIHZhbHVlIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZ1bmMoZnVuYzogRXhwcmVzc2lvbiwgYXJnczogRXhwcmVzc2lvbltdKTogRnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJmdW5jdGlvblwiLCBmdW5jLCBhcmd1bWVudHM6IGFyZ3MgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGlzdCh2YWx1ZXM6IEV4cHJlc3Npb25bXSk6IExpc3RFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsaXN0XCIsIHZhbHVlcyB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBvYmplY3QodmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBFeHByZXNzaW9uPik6IE9iamVjdEV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcIm9iamVjdFwiLCB2YWx1ZXMgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbmVnYXRlKGNoaWxkOiBFeHByZXNzaW9uKTogTmVnYXRlZEV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcIm5lZ2F0ZWRcIiwgY2hpbGQgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNDb21wYXJlT3Aob3A6IEJpbmFyeU9wKTogb3AgaXMgQ29tcGFyZU9wIHtcbiAgICAgICAgcmV0dXJuIG9wID09IFwiPD1cIiB8fCBvcCA9PSBcIjxcIiB8fCBvcCA9PSBcIj5cIiB8fCBvcCA9PSBcIj49XCIgfHwgb3AgPT0gXCIhPVwiIHx8IG9wID09IFwiPVwiO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGEgc2V0IG9mIGFsbCB1bmJvdW5kIHZhcmlhYmxlcyAoaS5lLiwgdmFyaWFibGVzIG5vdCBwcm92aWRlZCBieSBgcm93YCwgbGFtYmRhcywgb3Igc2ltaWxhci4pICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHVuYm91bmRWYXJpYWJsZXMoZXhwcjogRXhwcmVzc2lvbiwgYm91bmQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldChbUk9XXSkpOiBTZXQ8c3RyaW5nPiB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYmluYXJ5b3BcIjpcbiAgICAgICAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgYHJvd1tcIi4uLi5cIl1gLlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgZXhwci5vcCA9PT0gXCJpbmRleFwiICYmXG4gICAgICAgICAgICAgICAgICAgIGV4cHIubGVmdC50eXBlID09IFwidmFyaWFibGVcIiAmJlxuICAgICAgICAgICAgICAgICAgICBleHByLmxlZnQubmFtZSA9PSBST1cgJiZcbiAgICAgICAgICAgICAgICAgICAgZXhwci5yaWdodC50eXBlID09IFwibGl0ZXJhbFwiICYmXG4gICAgICAgICAgICAgICAgICAgIExpdGVyYWxzLmlzU3RyaW5nKGV4cHIucmlnaHQudmFsdWUpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChib3VuZC5oYXMoZXhwci5yaWdodC52YWx1ZSkpIHJldHVybiBuZXcgU2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIG5ldyBTZXQoW2V4cHIucmlnaHQudmFsdWVdKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UganVzdCBjaGVjayBsZWZ0IGFuZCByaWdodC5cbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsdGVycy5zZXRVbmlvbihbdW5ib3VuZFZhcmlhYmxlcyhleHByLmxlZnQsIGJvdW5kKSwgdW5ib3VuZFZhcmlhYmxlcyhleHByLnJpZ2h0LCBib3VuZCldKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKGV4cHIuYXJndW1lbnRzLm1hcCgoYSkgPT4gdW5ib3VuZFZhcmlhYmxlcyhhLCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJsYW1iZGFcIjpcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdCb3VuZCA9IGJvdW5kID8/IG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFyZyBvZiBleHByLmFyZ3VtZW50cykgbmV3Qm91bmQuYWRkKGFyZyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdW5ib3VuZFZhcmlhYmxlcyhleHByLnZhbHVlLCBuZXdCb3VuZCk7XG4gICAgICAgICAgICBjYXNlIFwibGlzdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKGV4cHIudmFsdWVzLm1hcCgodikgPT4gdW5ib3VuZFZhcmlhYmxlcyh2LCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuYm91bmRWYXJpYWJsZXMoZXhwci5jaGlsZCwgYm91bmQpO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKE9iamVjdC52YWx1ZXMoZXhwci52YWx1ZXMpLm1hcCgodikgPT4gdW5ib3VuZFZhcmlhYmxlcyh2LCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJ2YXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChib3VuZCAmJiBib3VuZC5oYXMoZXhwci5uYW1lKSkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBuZXcgU2V0KFtleHByLm5hbWVdKTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW5kZXIgYW4gZXhwcmVzc2lvbiBhcyBhIHN0cmluZy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcoZXhwcjogRXhwcmVzc2lvbik6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYmluYXJ5b3BcIjpcbiAgICAgICAgICAgICAgICBpZiAoZXhwci5vcCA9PT0gXCJpbmRleFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmxlZnQpfVske3RvU3RyaW5nKGV4cHIucmlnaHQpfV1gO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmxlZnQpfSAke2V4cHIub3B9ICR7dG9TdHJpbmcoZXhwci5yaWdodCl9YDtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmZ1bmMpfSgke2V4cHIuYXJndW1lbnRzLm1hcCh0b1N0cmluZykuam9pbihcIiwgXCIpfSlgO1xuICAgICAgICAgICAgY2FzZSBcImxhbWJkYVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBgKCR7ZXhwci5hcmd1bWVudHMuam9pbihcIiwgXCIpfSkgPT4gJHt0b1N0cmluZyhleHByLnZhbHVlKX1gO1xuICAgICAgICAgICAgY2FzZSBcImxpc3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYFske2V4cHIudmFsdWVzLm1hcCh0b1N0cmluZykuam9pbihcIiwgXCIpfV1gO1xuICAgICAgICAgICAgY2FzZSBcIm5lZ2F0ZWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCEke3RvU3RyaW5nKGV4cHIuY2hpbGQpfWA7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGB7JHtPYmplY3QuZW50cmllcyhleHByLnZhbHVlcylcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBgJHtrfTogJHt0b1N0cmluZyh2KX1gKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpfX1gO1xuICAgICAgICAgICAgY2FzZSBcInZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4cHIubmFtZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlZCA9IExpdGVyYWxzLndyYXBWYWx1ZShleHByLnZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHdyYXBwZWQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFwiJHt3cmFwcGVkLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMaXRlcmFscy50b1N0cmluZyh3cmFwcGVkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgY29uc3QgTlVMTCA9IEV4cHJlc3Npb25zLmxpdGVyYWwobnVsbCk7XG59XG4iLCAiLyoqIFBhcnNlIGlubGluZSBmaWVsZHMgYW5kIG90aGVyIGVtYmVkZGVkIG1ldGFkYXRhIGluIGEgbGluZS4gKi9cblxuaW1wb3J0IHsgUFJJTUlUSVZFUyB9IGZyb20gXCJleHByZXNzaW9uL3BhcnNlclwiO1xuaW1wb3J0IHsgTGl0ZXJhbCB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IGVtb2ppUmVnZXggZnJvbSBcImVtb2ppLXJlZ2V4XCI7XG5pbXBvcnQgeyBKc29uQ29udmVyc2lvbiwgSnNvbkxpdGVyYWwgfSBmcm9tIFwiaW5kZXgvdHlwZXMvanNvbi9jb21tb25cIjtcblxuLyoqIEEgcGFyc2VkIGlubGluZSBmaWVsZCBmcm9tIGEgc3BlY2lmaWMgbGluZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxJbmxpbmVGaWVsZCB7XG4gICAgLyoqIFRoZSByYXcgcGFyc2VkIGtleS4gKi9cbiAgICBrZXk6IHN0cmluZztcbiAgICAvKiogVGhlIHJhdyB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gICAgdmFsdWU6IHN0cmluZztcbiAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgc3RhcnQ6IG51bWJlcjtcbiAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgKnZhbHVlKiBmb3IgdGhlIGZpZWxkLiAqL1xuICAgIHN0YXJ0VmFsdWU6IG51bWJlcjtcbiAgICAvKiogVGhlIGVuZCBjb2x1bW4gb2YgdGhlIGZpZWxkLiAqL1xuICAgIGVuZDogbnVtYmVyO1xuICAgIC8qKiBJZiB0aGlzIGlubGluZSBmaWVsZCB3YXMgZGVmaW5lZCB2aWEgYSB3cmFwcGluZyAoJ1snIG9yICcoJyBvciAnbGluaycpLCB0aGVuIHRoZSB3cmFwcGluZyB0aGF0IHdhcyB1c2VkLiAqL1xuICAgIHdyYXBwaW5nPzogc3RyaW5nO1xufVxuXG4vKiogRnVsbCBpbmxpbmUgZmllbGQgbWV0YWRhdGEgZm9yIGFuIG9iamVjdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5saW5lRmllbGQge1xuICAgIC8qKiBUaGUgYWN0dWFsIGtleSBkZXNjcmliaW5nIHRoZSBpbmxpbmUgZmllbGQuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFRoZSByYXcgdmFsdWUgb2YgdGhlIGlubGluZSBmaWVsZC4gKi9cbiAgICByYXc6IHN0cmluZztcbiAgICAvKiogVGhlIHBhcnNlZCB2YWx1ZS4gKi9cbiAgICB2YWx1ZTogTGl0ZXJhbDtcbiAgICAvKiogRnVsbCBwb3NpdGlvbiBpbmZvcm1hdGlvbiBmb3Igd2hlcmUgdGhlIGlubGluZSBmaWVsZCBpcyBsb2NhdGVkIGluIHRoZSBkb2N1bWVudC4gKi9cbiAgICBwb3NpdGlvbjoge1xuICAgICAgICAvKiogVGhlIGxpbmUgbnVtYmVyIHRoZSBpbmxpbmUgZmllbGQgYXBwZWFycyBvbi4gKi9cbiAgICAgICAgbGluZTogbnVtYmVyO1xuICAgICAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSAqdmFsdWUqIGZvciB0aGUgZmllbGQuIEltbWVkaWF0ZWx5IGFmdGVyIHRoZSAnOjonLiAqL1xuICAgICAgICBzdGFydFZhbHVlOiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgZW5kIGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgICAgIGVuZDogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqIElmIHRoaXMgaW5saW5lIGZpZWxkIHdhcyBkZWZpbmVkIHZpYSBhIHdyYXBwaW5nICgnWycgb3IgJygnIG9yICdsaW5rJyksIHRoZW4gdGhlIHdyYXBwaW5nIHRoYXQgd2FzIHVzZWQuICovXG4gICAgd3JhcHBpbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBKU09OLCBzZXJpYWxpemFibGUgcmVwcmVzZW50YXRpb24gb2YgYW4gaW5saW5lIGZpZWxkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uSW5saW5lRmllbGQge1xuICAgIC8qKiBUaGUgYWN0dWFsIGtleSBkZXNjcmliaW5nIHRoZSBpbmxpbmUgZmllbGQuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFRoZSByYXcgdmFsdWUgb2YgdGhlIGlubGluZSBmaWVsZC4gKi9cbiAgICByYXc6IHN0cmluZztcbiAgICAvKiogVGhlIHBhcnNlZCB2YWx1ZS4gKi9cbiAgICB2YWx1ZTogSnNvbkxpdGVyYWw7XG4gICAgLyoqIEZ1bGwgcG9zaXRpb24gaW5mb3JtYXRpb24gZm9yIHdoZXJlIHRoZSBpbmxpbmUgZmllbGQgaXMgbG9jYXRlZCBpbiB0aGUgZG9jdW1lbnQuICovXG4gICAgcG9zaXRpb246IHtcbiAgICAgICAgLyoqIFRoZSBsaW5lIG51bWJlciB0aGUgaW5saW5lIGZpZWxkIGFwcGVhcnMgb24uICovXG4gICAgICAgIGxpbmU6IG51bWJlcjtcbiAgICAgICAgLyoqIFRoZSBzdGFydCBjb2x1bW4gb2YgdGhlIGZpZWxkLiAqL1xuICAgICAgICBzdGFydDogbnVtYmVyO1xuICAgICAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgKnZhbHVlKiBmb3IgdGhlIGZpZWxkLiBJbW1lZGlhdGVseSBhZnRlciB0aGUgJzo6Jy4gKi9cbiAgICAgICAgc3RhcnRWYWx1ZTogbnVtYmVyO1xuICAgICAgICAvKiogVGhlIGVuZCBjb2x1bW4gb2YgdGhlIGZpZWxkLiAqL1xuICAgICAgICBlbmQ6IG51bWJlcjtcbiAgICB9O1xuICAgIC8qKiBJZiB0aGlzIGlubGluZSBmaWVsZCB3YXMgZGVmaW5lZCB2aWEgYSB3cmFwcGluZyAoJ1snIG9yICcoJyBvciAnbGluaycpLCB0aGVuIHRoZSB3cmFwcGluZyB0aGF0IHdhcyB1c2VkLiAqL1xuICAgIHdyYXBwaW5nPzogc3RyaW5nO1xufVxuXG4vKiogQ29udmVydCBhbiBpbmxpbmUgZmllbGQgdG8gYSBKU09OIGZvcm1hdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqc29uSW5saW5lRmllbGQoZmllbGQ6IElubGluZUZpZWxkKTogSnNvbklubGluZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZmllbGQsIHsgdmFsdWU6IEpzb25Db252ZXJzaW9uLmpzb24oZmllbGQudmFsdWUpIH0pO1xufVxuXG4vKiogQ29udmVydCBhIEpTT04gaW5saW5lIGZpZWxkIGJhY2sgdG8gYSByZWd1bGFyIGZpZWxkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlSW5saW5lRmllbGQoZmllbGQ6IEpzb25JbmxpbmVGaWVsZCk6IElubGluZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZmllbGQsIHsgdmFsdWU6IEpzb25Db252ZXJzaW9uLnZhbHVlKGZpZWxkLnZhbHVlKSB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzSW5saW5lRmllbGQobG9jYWw6IExvY2FsSW5saW5lRmllbGQsIGxpbmVubzogbnVtYmVyKTogSW5saW5lRmllbGQ7XG5leHBvcnQgZnVuY3Rpb24gYXNJbmxpbmVGaWVsZChsb2NhbDogTG9jYWxJbmxpbmVGaWVsZFtdLCBsaW5lbm86IG51bWJlcik6IElubGluZUZpZWxkW107XG4vKiogQ29udmVydCBhIGxvY2FsIGlubGluZSBmaWVsZCBpbnRvIGEgZnVsbCBpbmxpbmUgZmllbGQgYnkgcGVyZm9ybWluZyBwYXJzaW5nIGFuZCBhZGRpbmcgdGhlIGNvcnJlY3QgbGluZSBudW1iZXIuICovXG5leHBvcnQgZnVuY3Rpb24gYXNJbmxpbmVGaWVsZChcbiAgICBsb2NhbDogTG9jYWxJbmxpbmVGaWVsZCB8IExvY2FsSW5saW5lRmllbGRbXSxcbiAgICBsaW5lbm86IG51bWJlclxuKTogSW5saW5lRmllbGQgfCBJbmxpbmVGaWVsZFtdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbCkpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsLm1hcCgoZikgPT4gYXNJbmxpbmVGaWVsZChmLCBsaW5lbm8pKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGxvY2FsLmtleSxcbiAgICAgICAgcmF3OiBsb2NhbC52YWx1ZSxcbiAgICAgICAgdmFsdWU6IHBhcnNlSW5saW5lVmFsdWUobG9jYWwudmFsdWUpLFxuICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgbGluZTogbGluZW5vLFxuICAgICAgICAgICAgc3RhcnQ6IGxvY2FsLnN0YXJ0LFxuICAgICAgICAgICAgc3RhcnRWYWx1ZTogbG9jYWwuc3RhcnRWYWx1ZSxcbiAgICAgICAgICAgIGVuZDogbG9jYWwuZW5kLFxuICAgICAgICB9LFxuICAgICAgICB3cmFwcGluZzogbG9jYWwud3JhcHBpbmcsXG4gICAgfTtcbn1cblxuLyoqIFRoZSB3cmFwcGVyIGNoYXJhY3RlcnMgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWZpbmUgYW4gaW5saW5lIGZpZWxkLiAqL1xuZXhwb3J0IGNvbnN0IElOTElORV9GSUVMRF9XUkFQUEVSUzogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSBPYmplY3QuZnJlZXplKHtcbiAgICBcIltcIjogXCJdXCIsXG4gICAgXCIoXCI6IFwiKVwiLFxufSk7XG5cbi8qKlxuICogRmluZCBhIG1hdGNoaW5nIGNsb3NpbmcgYnJhY2tldCB0aGF0IG9jY3VycyBhdCBvciBhZnRlciBgc3RhcnRgLCByZXNwZWN0aW5nIG5lc3RpbmcgYW5kIGVzY2FwZXMuIElmIGZvdW5kLFxuICogcmV0dXJucyB0aGUgdmFsdWUgY29udGFpbmVkIHdpdGhpbiBhbmQgdGhlIHN0cmluZyBpbmRleCBhZnRlciB0aGUgZW5kIG9mIHRoZSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gZmluZENsb3NpbmcoXG4gICAgbGluZTogc3RyaW5nLFxuICAgIHN0YXJ0OiBudW1iZXIsXG4gICAgb3Blbjogc3RyaW5nLFxuICAgIGNsb3NlOiBzdHJpbmdcbik6IHsgdmFsdWU6IHN0cmluZzsgZW5kSW5kZXg6IG51bWJlciB9IHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgbmVzdGluZyA9IDA7XG4gICAgbGV0IGVzY2FwZWQgPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpbmRleCA9IHN0YXJ0OyBpbmRleCA8IGxpbmUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGxldCBjaGFyID0gbGluZS5jaGFyQXQoaW5kZXgpO1xuXG4gICAgICAgIC8vIEFsbG93cyBmb3IgZG91YmxlIGVzY2FwZXMgbGlrZSAnXFxcXCcgdG8gYmUgcmVuZGVyZWQgbm9ybWFsbHkuXG4gICAgICAgIGlmIChjaGFyID09IFwiXFxcXFwiKSB7XG4gICAgICAgICAgICBlc2NhcGVkID0gIWVzY2FwZWQ7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGVzY2FwZWQsIGlnbm9yZSB0aGUgbmV4dCBjaGFyYWN0ZXIgZm9yIGNvbXB1dGluZyBuZXN0aW5nLCByZWdhcmRsZXNzIG9mIHdoYXQgaXQgaXMuXG4gICAgICAgIGlmIChlc2NhcGVkKSB7XG4gICAgICAgICAgICBlc2NhcGVkID0gZmFsc2U7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFyID09IG9wZW4pIG5lc3RpbmcrKztcbiAgICAgICAgZWxzZSBpZiAoY2hhciA9PSBjbG9zZSkgbmVzdGluZy0tO1xuXG4gICAgICAgIC8vIE9ubHkgb2NjdXJzIGlmIHdlIGFyZSBvbiBhIGNsb3NlIGNoYXJhY3RlciBhbmQgdHJoZXJlIGlzIG5vIG1vcmUgbmVzdGluZy5cbiAgICAgICAgaWYgKG5lc3RpbmcgPCAwKSByZXR1cm4geyB2YWx1ZTogbGluZS5zdWJzdHJpbmcoc3RhcnQsIGluZGV4KS50cmltKCksIGVuZEluZGV4OiBpbmRleCArIDEgfTtcblxuICAgICAgICBlc2NhcGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqIEZpbmQgdGhlICc6Oicgc2VwYXJhdG9yIGluIGFuIGlubGluZSBmaWVsZC4gKi9cbmZ1bmN0aW9uIGZpbmRTZXBhcmF0b3IobGluZTogc3RyaW5nLCBzdGFydDogbnVtYmVyKTogeyBrZXk6IHN0cmluZzsgdmFsdWVJbmRleDogbnVtYmVyIH0gfCB1bmRlZmluZWQge1xuICAgIGxldCBzZXAgPSBsaW5lLmluZGV4T2YoXCI6OlwiLCBzdGFydCk7XG4gICAgaWYgKHNlcCA8IDApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4geyBrZXk6IGxpbmUuc3Vic3RyaW5nKHN0YXJ0LCBzZXApLnRyaW0oKSwgdmFsdWVJbmRleDogc2VwICsgMiB9O1xufVxuXG4vKiogVHJ5IHRvIGNvbXBsZXRlbHkgcGFyc2UgYW4gaW5saW5lIGZpZWxkIHN0YXJ0aW5nIGF0IHRoZSBnaXZlbiBwb3NpdGlvbi4gQXNzdW1lcyBgc3RhcnRgIGlzIG9uIGEgd3JhcHBpbmcgY2hhcmFjdGVyLiAqL1xuZnVuY3Rpb24gZmluZFNwZWNpZmljSW5saW5lRmllbGQobGluZTogc3RyaW5nLCBzdGFydDogbnVtYmVyKTogTG9jYWxJbmxpbmVGaWVsZCB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IG9wZW4gPSBsaW5lLmNoYXJBdChzdGFydCk7XG5cbiAgICBsZXQga2V5ID0gZmluZFNlcGFyYXRvcihsaW5lLCBzdGFydCArIDEpO1xuICAgIGlmIChrZXkgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIC8vIEZhaWwgdGhlIG1hdGNoIGlmIHdlIGZpbmQgYW55IHNlcGFyYXRvciBjaGFyYWN0ZXJzIChub3QgYWxsb3dlZCBpbiBrZXlzKS5cbiAgICBmb3IgKGxldCBzZXAgb2YgT2JqZWN0LmtleXMoSU5MSU5FX0ZJRUxEX1dSQVBQRVJTKS5jb25jYXQoT2JqZWN0LnZhbHVlcyhJTkxJTkVfRklFTERfV1JBUFBFUlMpKSkge1xuICAgICAgICBpZiAoa2V5LmtleS5pbmNsdWRlcyhzZXApKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IGZpbmRDbG9zaW5nKGxpbmUsIGtleS52YWx1ZUluZGV4LCBvcGVuLCBJTkxJTkVfRklFTERfV1JBUFBFUlNbb3Blbl0pO1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiBrZXkua2V5LFxuICAgICAgICB2YWx1ZTogdmFsdWUudmFsdWUsXG4gICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgc3RhcnRWYWx1ZToga2V5LnZhbHVlSW5kZXgsXG4gICAgICAgIGVuZDogdmFsdWUuZW5kSW5kZXgsXG4gICAgICAgIHdyYXBwaW5nOiBvcGVuLFxuICAgIH07XG59XG5cbi8qKiBQYXJzZSBhIHRleHR1YWwgaW5saW5lIGZpZWxkIHZhbHVlIGludG8gc29tZXRoaW5nIHdlIGNhbiB3b3JrIHdpdGguICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbmxpbmVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogTGl0ZXJhbCB7XG4gICAgLy8gRW1wdHkgaW5saW5lIHZhbHVlcyAoaS5lLiwgbm8gdGV4dCkgc2hvdWxkIG1hcCB0byBudWxsIHRvIG1hdGNoIGxvbmctdGVybSBEYXRhdmlldyBzZW1hbnRpY3MuXG4gICAgLy8gTnVsbCBpcyBhbHNvIGEgbW9yZSB1bml2ZXJzYWwgdHlwZSB0byBkZWFsIHdpdGggdGhhbiBzdHJpbmdzLCBzaW5jZSBhbGwgZnVuY3Rpb25zIGFjY2VwdCBudWxscy5cbiAgICBpZiAodmFsdWUudHJpbSgpID09IFwiXCIpIHJldHVybiBudWxsO1xuXG4gICAgLy8gVGhlIHN0cmlwcGVkIGxpdGVyYWwgZmllbGQgcGFyc2VyIHVuZGVyc3RhbmRzIGFsbCBvZiB0aGUgbm9uLWFycmF5L25vbi1vYmplY3QgZmllbGRzIGFuZCBjYW4gcGFyc2UgdGhlbSBmb3IgdXMuXG4gICAgLy8gSW5saW5lIGZpZWxkIG9iamVjdHMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkOyBpbmxpbmUgYXJyYXkgb2JqZWN0cyBoYXZlIHRvIGJlIGhhbmRsZWQgYnkgdGhlIHBhcnNlclxuICAgIC8vIHNlcGFyYXRlbHkuXG4gICAgbGV0IGlubGluZSA9IFBSSU1JVElWRVMuaW5saW5lRmllbGQucGFyc2UodmFsdWUpO1xuICAgIGlmIChpbmxpbmUuc3RhdHVzKSByZXR1cm4gaW5saW5lLnZhbHVlO1xuICAgIGVsc2UgcmV0dXJuIHZhbHVlO1xufVxuXG4vKiogRXh0cmFjdHMgaW5saW5lIGZpZWxkcyBvZiB0aGUgZm9ybSAnW2tleTo6IHZhbHVlXScgZnJvbSBhIGxpbmUgb2YgdGV4dC4gVGhpcyBpcyBkb25lIGluIGEgcmVsYXRpdmVseVxuICogXCJyb2J1c3RcIiB3YXkgdG8gYXZvaWQgZmFpbGluZyBkdWUgdG8gYmFkIG5lc3Rpbmcgb3Igb3RoZXIgaW50ZXJmZXJpbmcgTWFya2Rvd24gc3ltYm9sczpcbiAqXG4gKiAtIExvb2sgZm9yIGFueSB3cmFwcGVycyAoJ1snIGFuZCAnKCcpIGluIHRoZSBsaW5lLCB0cnlpbmcgdG8gcGFyc2Ugd2hhdGV2ZXIgY29tZXMgYWZ0ZXIgaXQgYXMgYW4gaW5saW5lIGtleTo6LlxuICogLSBJZiBzdWNjZXNzZnVsLCBzY2FuIHVudGlsIHlvdSBmaW5kIGEgbWF0Y2hpbmcgZW5kIGJyYWNrZXQsIGFuZCBwYXJzZSB3aGF0ZXZlciByZW1haW5zIGFzIGFuIGlubGluZSB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RJbmxpbmVGaWVsZHMobGluZTogc3RyaW5nLCBpbmNsdWRlVGFza0ZpZWxkczogYm9vbGVhbiA9IGZhbHNlKTogTG9jYWxJbmxpbmVGaWVsZFtdIHtcbiAgICBsZXQgZmllbGRzOiBMb2NhbElubGluZUZpZWxkW10gPSBbXTtcbiAgICBmb3IgKGxldCB3cmFwcGVyIG9mIE9iamVjdC5rZXlzKElOTElORV9GSUVMRF9XUkFQUEVSUykpIHtcbiAgICAgICAgbGV0IGZvdW5kSW5kZXggPSBsaW5lLmluZGV4T2Yod3JhcHBlcik7XG4gICAgICAgIHdoaWxlIChmb3VuZEluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGxldCBwYXJzZWRGaWVsZCA9IGZpbmRTcGVjaWZpY0lubGluZUZpZWxkKGxpbmUsIGZvdW5kSW5kZXgpO1xuICAgICAgICAgICAgaWYgKCFwYXJzZWRGaWVsZCkge1xuICAgICAgICAgICAgICAgIGZvdW5kSW5kZXggPSBsaW5lLmluZGV4T2Yod3JhcHBlciwgZm91bmRJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWVsZHMucHVzaChwYXJzZWRGaWVsZCk7XG4gICAgICAgICAgICBmb3VuZEluZGV4ID0gbGluZS5pbmRleE9mKHdyYXBwZXIsIHBhcnNlZEZpZWxkLmVuZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaW5jbHVkZVRhc2tGaWVsZHMpIGZpZWxkcyA9IGZpZWxkcy5jb25jYXQoZXh0cmFjdFNwZWNpYWxUYXNrRmllbGRzKGxpbmUpKTtcblxuICAgIGZpZWxkcy5zb3J0KChhLCBiKSA9PiBhLnN0YXJ0IC0gYi5zdGFydCk7XG5cbiAgICBsZXQgZmlsdGVyZWRGaWVsZHM6IExvY2FsSW5saW5lRmllbGRbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmllbGRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpID09IDAgfHwgZmlsdGVyZWRGaWVsZHNbZmlsdGVyZWRGaWVsZHMubGVuZ3RoIC0gMV0uZW5kIDwgZmllbGRzW2ldLnN0YXJ0KSB7XG4gICAgICAgICAgICBmaWx0ZXJlZEZpZWxkcy5wdXNoKGZpZWxkc1tpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlcmVkRmllbGRzO1xufVxuXG4vKiogVmFsaWRhdGVzIHRoYXQgYSByYXcgZmllbGQgbmFtZSBoYXMgYSB2YWxpZCBmb3JtLiAqL1xuY29uc3QgRlVMTF9MSU5FX0tFWV9QQVJUOiBQLlBhcnNlcjxzdHJpbmc+ID0gUC5hbHQoXG4gICAgUC5yZWdleHAobmV3IFJlZ0V4cChlbW9qaVJlZ2V4KCksIFwidVwiKSksXG4gICAgUC5yZWdleHAoL1swLTlcXHB7TGV0dGVyfVxcd1xcc18vLV0rL3UpXG4pXG4gICAgLm1hbnkoKVxuICAgIC5tYXAoKHBhcnRzKSA9PiBwYXJ0cy5qb2luKFwiXCIpKTtcblxuY29uc3QgRlVMTF9MSU5FX0tFWV9QQVJTRVI6IFAuUGFyc2VyPHN0cmluZz4gPSBQLnJlZ2V4cCgvW14wLTlcXHdcXHB7TGV0dGVyfV0qL3UpXG4gICAgLnRoZW4oRlVMTF9MSU5FX0tFWV9QQVJUKVxuICAgIC5za2lwKFAucmVnZXhwKC9bX1xcKn5gXSovdSkpO1xuXG4vKiogQXR0ZW1wdCB0byBleHRyYWN0IGEgZnVsbC1saW5lIGZpZWxkIChLZXk6OiBWYWx1ZSBjb25zdW1pbmcgdGhlIGVudGlyZSBjb250ZW50IGxpbmUpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RGdWxsTGluZUZpZWxkKHRleHQ6IHN0cmluZyk6IExvY2FsSW5saW5lRmllbGQgfCB1bmRlZmluZWQge1xuICAgIGxldCBzZXAgPSBmaW5kU2VwYXJhdG9yKHRleHQsIDApO1xuICAgIGlmICghc2VwKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgLy8gV2UgbmVlZCB0byBwb3N0LXByb2Nlc3MgdGhlIGtleSB0byBkcm9wIHVubmVjZXNzYXJ5IG9wZW5pbmcgYW5ub3RhdGlvbnMgYXMgd2VsbCBhc1xuICAgIC8vIGRyb3Agc3Vycm91bmRpbmcgTWFya2Rvd24uXG4gICAgbGV0IHJlYWxLZXkgPSBGVUxMX0xJTkVfS0VZX1BBUlNFUi5wYXJzZShzZXAua2V5KTtcbiAgICBpZiAoIXJlYWxLZXkuc3RhdHVzKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiByZWFsS2V5LnZhbHVlLFxuICAgICAgICB2YWx1ZTogdGV4dC5zdWJzdHJpbmcoc2VwLnZhbHVlSW5kZXgpLnRyaW0oKSxcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIHN0YXJ0VmFsdWU6IHNlcC52YWx1ZUluZGV4LFxuICAgICAgICBlbmQ6IHRleHQubGVuZ3RoLFxuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVEX0RBVEVfUkVHRVggPSAvXFx1ezI3OTV9XFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcbmV4cG9ydCBjb25zdCBEVUVfREFURV9SRUdFWCA9IC8oPzpcXHV7MUY0QzV9fFxcdXsxRjRDNn18XFx1ezFGNUQzfVxcdXtGRTBGfT8pXFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcbmV4cG9ydCBjb25zdCBET05FX0RBVEVfUkVHRVggPSAvXFx1ezI3MDV9XFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcbmV4cG9ydCBjb25zdCBTQ0hFRFVMRURfREFURV9SRUdFWCA9IC9bXFx1ezIzRjN9XFx1ezIzMUJ9XVxccyooXFxkezR9LVxcZHsyfS1cXGR7Mn0pL3U7XG5leHBvcnQgY29uc3QgU1RBUlRfREFURV9SRUdFWCA9IC9cXHV7MUY2RUJ9XFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcblxuZXhwb3J0IGNvbnN0IEVNT0pJX1JFR0VYRVMgPSBbXG4gICAgeyByZWdleDogQ1JFQVRFRF9EQVRFX1JFR0VYLCBrZXk6IFwiY3JlYXRlZFwiIH0sXG4gICAgeyByZWdleDogU1RBUlRfREFURV9SRUdFWCwga2V5OiBcInN0YXJ0XCIgfSxcbiAgICB7IHJlZ2V4OiBTQ0hFRFVMRURfREFURV9SRUdFWCwga2V5OiBcInNjaGVkdWxlZFwiIH0sXG4gICAgeyByZWdleDogRFVFX0RBVEVfUkVHRVgsIGtleTogXCJkdWVcIiB9LFxuICAgIHsgcmVnZXg6IERPTkVfREFURV9SRUdFWCwga2V5OiBcImNvbXBsZXRpb25cIiB9LFxuXTtcblxuLyoqIFBhcnNlIHNwZWNpYWwgY29tcGxldGVkL2R1ZS9kb25lIHRhc2sgZmllbGRzIHdoaWNoIGFyZSBtYXJrZWQgdmlhIGVtb2ppLiAqL1xuZnVuY3Rpb24gZXh0cmFjdFNwZWNpYWxUYXNrRmllbGRzKGxpbmU6IHN0cmluZyk6IExvY2FsSW5saW5lRmllbGRbXSB7XG4gICAgbGV0IHJlc3VsdHM6IExvY2FsSW5saW5lRmllbGRbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgeyByZWdleCwga2V5IH0gb2YgRU1PSklfUkVHRVhFUykge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHJlZ2V4LmV4ZWMobGluZSk7XG4gICAgICAgIGlmICghbWF0Y2gpIGNvbnRpbnVlO1xuXG4gICAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICB2YWx1ZTogbWF0Y2hbMV0sXG4gICAgICAgICAgICBzdGFydDogbWF0Y2guaW5kZXgsXG4gICAgICAgICAgICBzdGFydFZhbHVlOiBtYXRjaC5pbmRleCArIDEsXG4gICAgICAgICAgICBlbmQ6IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoLFxuICAgICAgICAgICAgd3JhcHBpbmc6IFwiZW1vamktc2hvcnRoYW5kXCIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRzO1xufVxuXG4vKiogU2V0cyBvciByZXBsYWNlcyB0aGUgdmFsdWUgb2YgYW4gaW5saW5lIGZpZWxkOyBpZiB0aGUgdmFsdWUgaXMgJ3VuZGVmaW5lZCcsIGRlbGV0ZXMgdGhlIGtleS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRJbmxpbmVGaWVsZChzb3VyY2U6IHN0cmluZywga2V5OiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgZXhpc3RpbmcgPSBleHRyYWN0SW5saW5lRmllbGRzKHNvdXJjZSk7XG4gICAgbGV0IGV4aXN0aW5nS2V5cyA9IGV4aXN0aW5nLmZpbHRlcigoZikgPT4gZi5rZXkgPT0ga2V5KTtcblxuICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyBPUiB0aGUga2V5IGFscmVhZHkgZG9lc24ndCBleGlzdC5cbiAgICBpZiAoZXhpc3RpbmdLZXlzLmxlbmd0aCA+IDIgfHwgKGV4aXN0aW5nS2V5cy5sZW5ndGggPT0gMCAmJiAhdmFsdWUpKSByZXR1cm4gc291cmNlO1xuICAgIGxldCBleGlzdGluZ0tleSA9IGV4aXN0aW5nS2V5c1swXTtcblxuICAgIGxldCBhbm5vdGF0aW9uID0gdmFsdWUgPyBgWyR7a2V5fTo6ICR7dmFsdWV9XWAgOiBcIlwiO1xuICAgIGlmIChleGlzdGluZ0tleSkge1xuICAgICAgICBsZXQgcHJlZml4ID0gc291cmNlLnN1YnN0cmluZygwLCBleGlzdGluZ0tleS5zdGFydCk7XG4gICAgICAgIGxldCBzdWZmaXggPSBzb3VyY2Uuc3Vic3RyaW5nKGV4aXN0aW5nS2V5LmVuZCk7XG5cbiAgICAgICAgaWYgKGFubm90YXRpb24pIHJldHVybiBgJHtwcmVmaXh9JHthbm5vdGF0aW9ufSR7c3VmZml4fWA7XG4gICAgICAgIGVsc2UgcmV0dXJuIGAke3ByZWZpeH0ke3N1ZmZpeC50cmltU3RhcnQoKX1gO1xuICAgIH0gZWxzZSBpZiAoYW5ub3RhdGlvbikge1xuICAgICAgICByZXR1cm4gYCR7c291cmNlLnRyaW1FbmQoKX0gJHthbm5vdGF0aW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEVtb2ppU2hvcnRoYW5kQ29tcGxldGlvbkZpZWxkKHNvdXJjZTogc3RyaW5nLCB2YWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBleHRyYWN0SW5saW5lRmllbGRzKHNvdXJjZSwgdHJ1ZSk7XG4gICAgY29uc3QgZXhpc3RpbmdLZXlzID0gZXhpc3RpbmcuZmlsdGVyKChmKSA9PiBmLmtleSA9PT0gXCJjb21wbGV0aW9uXCIgJiYgZi53cmFwcGluZyA9PT0gXCJlbW9qaS1zaG9ydGhhbmRcIik7XG5cbiAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBpZiB0aGVyZSBhcmUgZHVwbGljYXRlIGtleXMgT1IgdGhlIGtleSBhbHJlYWR5IGRvZXNuJ3QgZXhpc3QuXG4gICAgaWYgKGV4aXN0aW5nS2V5cy5sZW5ndGggPiAyIHx8IChleGlzdGluZ0tleXMubGVuZ3RoID09IDAgJiYgIXZhbHVlKSkgcmV0dXJuIHNvdXJjZTtcblxuICAgIC8qIE5vIHdyYXBwZXIsIGFkZCBvd24gc3BhY2luZyBhdCBzdGFydCAqL1xuICAgIGNvbnN0IGFubm90YXRpb24gPSB2YWx1ZSA/IGAgXHUyNzA1ICR7dmFsdWV9YCA6IFwiXCI7XG4gICAgbGV0IGV4aXN0aW5nS2V5ID0gZXhpc3RpbmdLZXlzWzBdO1xuICAgIGlmIChleGlzdGluZ0tleSkge1xuICAgICAgICBjb25zdCBwcmVmaXggPSBzb3VyY2Uuc3Vic3RyaW5nKDAsIGV4aXN0aW5nS2V5LnN0YXJ0KTtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gc291cmNlLnN1YnN0cmluZyhleGlzdGluZ0tleS5lbmQpO1xuICAgICAgICByZXR1cm4gYCR7cHJlZml4LnRyaW1FbmQoKX0ke2Fubm90YXRpb259JHtzdWZmaXh9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYCR7c291cmNlLnRyaW1FbmQoKX0ke2Fubm90YXRpb259YDtcbiAgICB9XG59XG4iLCAiLyoqIE1hcCB0aGUgdmFsdWVzIG9mIGFuIG9iamVjdCwgcmV0dXJuaW5nIGEgbmV3IG9iamVjdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXBPYmplY3RWYWx1ZXM8ViwgVT4ob2JqZWN0OiBSZWNvcmQ8c3RyaW5nLCBWPiwgZnVuYzogKHg6IFYpID0+IFUpOiBSZWNvcmQ8c3RyaW5nLCBVPiB7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBVPiA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iamVjdCkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSBmdW5jKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIiwgImltcG9ydCB7IExpbmssIEpzb25MaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGlua1wiO1xuaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IG1hcE9iamVjdFZhbHVlcyB9IGZyb20gXCJ1dGlscy9kYXRhXCI7XG5cbi8qKiBKU09OLXNlcmlhbGl6ZWQgZXF1aXZhbGVudHMgZm9yIGxpdGVyYWxzLiAqL1xuZXhwb3J0IHR5cGUgSnNvbkxpdGVyYWwgPVxuICAgIHwgYm9vbGVhblxuICAgIHwgbnVtYmVyXG4gICAgfCBzdHJpbmdcbiAgICB8IHsgJF90eXBlOiBcImRhdGVcIjsgdmFsdWU6IHN0cmluZyB9XG4gICAgfCB7ICRfdHlwZTogXCJkdXJhdGlvblwiOyB2YWx1ZTogc3RyaW5nIH1cbiAgICB8IHsgJF90eXBlOiBcImxpbmtcIjsgdmFsdWU6IEpzb25MaW5rIH1cbiAgICB8IEFycmF5PEpzb25MaXRlcmFsPlxuICAgIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIHwgbnVsbDtcblxuZXhwb3J0IG5hbWVzcGFjZSBKc29uQ29udmVyc2lvbiB7XG4gICAgZXhwb3J0IGNvbnN0IE5PT1BfTk9STUFMSVpFUjogKGlucHV0OiBMaXRlcmFsKSA9PiBMaXRlcmFsID0gKGlucHV0KSA9PiBpbnB1dDtcblxuICAgIC8qKiBDb252ZXJ0IGEgbGl0ZXJhbCB2YWx1ZSB0byBhIHNhZmUsIHBlcnNpc3RlbnQgSlNPTiBlcXVpdmFsZW50LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBqc29uKGxpdGVyYWw6IExpdGVyYWwpOiBKc29uTGl0ZXJhbCB7XG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSBMaXRlcmFscy53cmFwVmFsdWUobGl0ZXJhbCk7XG4gICAgICAgIGlmICghd3JhcHBlZCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgc3dpdGNoICh3cmFwcGVkPy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYXJyYXlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5tYXAoSnNvbkNvbnZlcnNpb24uanNvbik7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcE9iamVjdFZhbHVlcyh3cmFwcGVkLnZhbHVlLCBKc29uQ29udmVyc2lvbi5qc29uKTtcbiAgICAgICAgICAgIGNhc2UgXCJkYXRlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgJF90eXBlOiBcImRhdGVcIiwgdmFsdWU6IHdyYXBwZWQudmFsdWUudG9JU08oeyBleHRlbmRlZFpvbmU6IHRydWUsIGluY2x1ZGVPZmZzZXQ6IHRydWUgfSkgfTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgJF90eXBlOiBcImxpbmtcIiwgdmFsdWU6IHdyYXBwZWQudmFsdWUudG9PYmplY3QoKSB9O1xuICAgICAgICAgICAgY2FzZSBcImR1cmF0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgJF90eXBlOiBcImR1cmF0aW9uXCIsIHZhbHVlOiB3cmFwcGVkLnZhbHVlLnRvSVNPKCkgfTtcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7XG4gICAgICAgICAgICBjYXNlIFwiZnVuY3Rpb25cIjpcbiAgICAgICAgICAgIGNhc2UgXCJudWxsXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0IGEgSlNPTiBsaXRlcmFsIHRvIGl0J3MgY29ycmVzcG9uZGluZyBoeWRyYXRlZCB2YWx1ZSwgb3B0aW9uYWxseSBhcHBseWluZ1xuICAgICAqIGEgbm9ybWFsaXphdGlvbiBzdGVwIHRvIHRoZSByZXN1bHRpbmcgdmFsdWUgYW5kIGFueSBsaXRlcmFscyBjb250YWluZWQgd2l0aGluIGl0XG4gICAgICogKHN1Y2ggYXMgaWYgdGhlIGxpdGVyYWwgaXMgYSBsaXN0IG9yIG9iamVjdCkuXG4gICAgICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlKGpzb246IEpzb25MaXRlcmFsLCBub3JtYWxpemVyOiAoaW5wdXQ6IExpdGVyYWwpID0+IExpdGVyYWwgPSBOT09QX05PUk1BTElaRVIpOiBMaXRlcmFsIHtcbiAgICAgICAgaWYgKGpzb24gPT09IG51bGwgfHwganNvbiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShqc29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoanNvbi5tYXAoKGlucHV0KSA9PiBKc29uQ29udmVyc2lvbi52YWx1ZShpbnB1dCwgbm9ybWFsaXplcikpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YganNvbiA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgaWYgKCEoXCIkX3R5cGVcIiBpbiBqc29uKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwT2JqZWN0VmFsdWVzKGpzb24sICh2KSA9PiBKc29uQ29udmVyc2lvbi52YWx1ZSh2IGFzIEpzb25MaXRlcmFsLCBub3JtYWxpemVyKSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBqc29uW1wiJF90eXBlXCJdO1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoRGF0ZVRpbWUuZnJvbUlTTyhqc29uLnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgY2FzZSBcImR1cmF0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVyKER1cmF0aW9uLmZyb21JU08oanNvbi52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVyKExpbmsuZnJvbU9iamVjdChqc29uLnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgc2VyaWFsaXplZCB0eXBlICcke3R5cGV9JyFgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByaW1pdGl2ZSB0eXBlLCByZXR1cm4gYXMgaXMuXG4gICAgICAgIHJldHVybiBub3JtYWxpemVyKGpzb24gYXMgTGl0ZXJhbCk7XG4gICAgfVxufVxuIiwgIi8qKlxuICogQG1vZHVsZSBpbmRleGFibGVzXG4gKi9cbi8qKiBVdGlsaXRpZXMgZm9yIGNvbnZlcnRpbmcgbGl0ZXJhbCB0eXBlcyB0byBhbmQgZnJvbSB0aGVpciBZQU1MIGZyb250bWF0dGVyIHJlcHJlc2VudGF0aW9uLiAqL1xuXG5pbXBvcnQgeyBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IFBSSU1JVElWRVMgfSBmcm9tIFwiZXhwcmVzc2lvbi9wYXJzZXJcIjtcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyBtYXBPYmplY3RWYWx1ZXMgfSBmcm9tIFwidXRpbHMvZGF0YVwiO1xuXG4vKiogWUFNTC1mcmllbmRseSByZXByZXNlbnRhdGlvbiBmb3IgYSBsaXRlcmFsLiAqL1xuZXhwb3J0IHR5cGUgWWFtbExpdGVyYWwgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IFJlY29yZDxzdHJpbmcsIGFueT4gfCBBcnJheTxZYW1sTGl0ZXJhbD47XG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgbmFtZXNwYWNlIFlhbWxDb252ZXJzaW9uIHtcbiAgICAvKiogQ29udmVydCBhIGxpdGVyYWwgaW50byBhIHlhbWwgZnJpZW5kbHkgcmVwcmVzZW50YXRpb24uICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHlhbWwodmFsdWU6IExpdGVyYWwpOiBZYW1sTGl0ZXJhbCB7XG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSBMaXRlcmFscy53cmFwVmFsdWUobGl0ZXJhbCk7XG4gICAgICAgIGlmICghd3JhcHBlZCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgc3dpdGNoICh3cmFwcGVkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICBjYXNlIFwibnVsbFwiOlxuICAgICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlO1xuICAgICAgICAgICAgY2FzZSBcImFycmF5XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFwKHlhbWwpO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b0lTTygpO1xuICAgICAgICAgICAgY2FzZSBcImR1cmF0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUudG9IdW1hbigpO1xuICAgICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICBjYXNlIFwibGlua1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm1hcmtkb3duKCk7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcE9iamVjdFZhbHVlcyh3cmFwcGVkLnZhbHVlLCB5YW1sKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZWN1cnNpdmVseSBjb252ZXJ0IGEgWUFNTCBsaXRlcmFsIGludG8gYSByZWd1bGFyIGxpdGVyYWwgdmFsdWUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGxpdGVyYWwodmFsdWU6IFlhbWxMaXRlcmFsKTogTGl0ZXJhbCB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBjaGlsZCBvZiB2YWx1ZSBhcyBBcnJheTxhbnk+KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGxpdGVyYWwoY2hpbGQpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0ZVBhcnNlID0gRGF0ZVRpbWUuZnJvbUpTRGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVQYXJzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IG9iamVjdCA9IHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4gPSB7fTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbGl0ZXJhbChvYmplY3Rba2V5XSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBsZXQgZGF0ZVBhcnNlID0gUFJJTUlUSVZFUy5kYXRlLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChkYXRlUGFyc2Uuc3RhdHVzKSByZXR1cm4gZGF0ZVBhcnNlLnZhbHVlO1xuXG4gICAgICAgICAgICBsZXQgZHVyYXRpb25QYXJzZSA9IFBSSU1JVElWRVMuZHVyYXRpb24ucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGR1cmF0aW9uUGFyc2Uuc3RhdHVzKSByZXR1cm4gZHVyYXRpb25QYXJzZS52YWx1ZTtcblxuICAgICAgICAgICAgbGV0IGxpbmtQYXJzZSA9IFBSSU1JVElWRVMubGluay5wYXJzZSh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAobGlua1BhcnNlLnN0YXR1cykgcmV0dXJuIGxpbmtQYXJzZS52YWx1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQmFja3VwIGlmIHdlIGRvbid0IHVuZGVyc3RhbmQgdGhlIHR5cGUuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBGaWxlU3RhdHMgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGl0ZXJhdGVJbmxpbmVGaWVsZHMsIG1hcmtkb3duU291cmNlSW1wb3J0LCBNZXRhZGF0YSwgU2VjdGlvbkRhdGEgfSBmcm9tIFwiLi9tYXJrZG93blwiO1xuaW1wb3J0IHsgSnNvbkZyb250bWF0dGVyRW50cnkgfSBmcm9tIFwiaW5kZXgvdHlwZXMvanNvbi9tYXJrZG93blwiO1xuaW1wb3J0IHtcbiAgICBDYW52YXNNZXRhZGF0YUluZGV4LFxuICAgIEpzb25CYXNlQ2FudmFzQ2FyZCxcbiAgICBKc29uQ2FudmFzLFxuICAgIEpzb25DYW52YXNDYXJkLFxuICAgIEpzb25DYW52YXNGaWxlQ2FyZCxcbiAgICBKc29uQ2FudmFzVGV4dENhcmQsXG4gICAgSnNvbkNhbnZhc1dlYkNhcmQsXG59IGZyb20gXCJpbmRleC90eXBlcy9qc29uL2NhbnZhc1wiO1xuaW1wb3J0IHsgQ2FudmFzRmlsZURhdGEsIENhbnZhc0xpbmtEYXRhLCBDYW52YXNUZXh0RGF0YSwgQ2FudmFzRGF0YSBhcyBJQ2FudmFzIH0gZnJvbSBcIm9ic2lkaWFuL2NhbnZhc1wiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcblxuLyoqIEltcG9ydCBhIGNhbnZhcyBmaWxlIHVzaW5nIHRoZSBjYW52YXMgbWV0YWRhdGEuICovXG5leHBvcnQgZnVuY3Rpb24gY2FudmFzSW1wb3J0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBzb3VyY2U6IHN0cmluZyxcbiAgICBpbmRleDogQ2FudmFzTWV0YWRhdGFJbmRleFtcInN0cmluZ1wiXSxcbiAgICBzdGF0czogRmlsZVN0YXRzXG4pOiBKc29uQ2FudmFzIHtcbiAgICBjb25zdCBjYW52YXMgPSBuZXcgQ2FudmFzRGF0YShwYXRoLCBzdGF0cyk7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShzb3VyY2UpIGFzIElDYW52YXM7XG5cbiAgICBmb3IgKGNvbnN0IGMgb2YgcGFyc2VkLm5vZGVzKSB7XG4gICAgICAgIGlmIChjLnR5cGUgPT0gXCJncm91cFwiKSBjb250aW51ZTtcbiAgICAgICAgaWYgKGMudHlwZSA9PSBcInRleHRcIikge1xuICAgICAgICAgICAgY29uc3QgeyBmcm9udG1hdHRlciwgbWV0YWRhdGEsIGxpbmVzLCBzZWN0aW9ucyB9ID0gbWFya2Rvd25Tb3VyY2VJbXBvcnQocGF0aCwgYy50ZXh0LCBpbmRleD8uY2FjaGVzW2MuaWRdKTtcbiAgICAgICAgICAgIGNvbnN0IGNhcmQgPSBuZXcgQ2FudmFzQ2FyZERhdGEocGF0aCwgYy5pZCwgYywgZnJvbnRtYXR0ZXIpO1xuICAgICAgICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoaSkgPT4gY2FyZC5zZWN0aW9uKGkpKTtcbiAgICAgICAgICAgIGNhbnZhcy5jYXJkKGNhcmQpO1xuICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgaW4gbWV0YWRhdGEudGFncykgY2FudmFzLm1ldGFkYXRhLnRhZyh0YWcpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBsaW5rIG9mIG1ldGFkYXRhLmxpbmtzID8/IFtdKSBjYW52YXMubWV0YWRhdGEubGluayhsaW5rKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgaXRlcmF0ZUlubGluZUZpZWxkcyhsaW5lcykpIGNhbnZhcy5tZXRhZGF0YS5pbmxpbmVGaWVsZChmaWVsZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjYXJkID0gbmV3IENhbnZhc0NhcmREYXRhKHBhdGgsIGMuaWQsIGMpO1xuICAgICAgICAgICAgY2FudmFzLmNhcmQoY2FyZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2FudmFzLmJ1aWxkKCk7XG59XG5cbi8qKiBNZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBjYW52YXMgY2FyZC4gKi9cbmFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q2FudmFzQ2FyZERhdGEge1xuICAgIHB1YmxpYyBtZXRhZGF0YTogTWV0YWRhdGEgPSBuZXcgTWV0YWRhdGEoKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHBhdGg6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGlkOiBzdHJpbmcsXG4gICAgICAgIHByb3RlY3RlZCBub2RlSnNvbjogQ2FudmFzVGV4dERhdGEgfCBDYW52YXNMaW5rRGF0YSB8IENhbnZhc0ZpbGVEYXRhXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IEpzb25CYXNlQ2FudmFzQ2FyZCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkZmlsZTogdGhpcy5wYXRoLFxuICAgICAgICAgICAgJGlkOiB0aGlzLmlkLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgeDogdGhpcy5ub2RlSnNvbi54LFxuICAgICAgICAgICAgICAgIHk6IHRoaXMubm9kZUpzb24ueSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAkZGltZW5zaW9uczoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLm5vZGVKc29uLndpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogdGhpcy5ub2RlSnNvbi5oZWlnaHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgJGNvbG9yOiB0aGlzLm5vZGVKc29uLmNvbG9yLFxuICAgICAgICAgICAgJGxpbms6IExpbmsuZmlsZSh0aGlzLnBhdGgpLndpdGhCbG9jayh0aGlzLmlkKS50b09iamVjdCgpLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIE1ldGFkYXRhIGZvciBhIHNwZWNpZmljIGNhcmQgaW4gYSBjYW52YXMgdmlldy4gKi9cbmV4cG9ydCBjbGFzcyBDYW52YXNDYXJkRGF0YSBleHRlbmRzIEFic3RyYWN0Q2FudmFzQ2FyZERhdGEge1xuICAgIHB1YmxpYyBzZWN0aW9uczogU2VjdGlvbkRhdGFbXSA9IFtdO1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHBhdGg6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGlkOiBzdHJpbmcsXG4gICAgICAgIHByb3RlY3RlZCBub2RlSnNvbjogQ2FudmFzVGV4dERhdGEgfCBDYW52YXNMaW5rRGF0YSB8IENhbnZhc0ZpbGVEYXRhLFxuICAgICAgICBwdWJsaWMgZnJvbnRtYXR0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBKc29uRnJvbnRtYXR0ZXJFbnRyeT5cbiAgICApIHtcbiAgICAgICAgc3VwZXIocGF0aCwgaWQsIG5vZGVKc29uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VjdGlvbihzZWN0aW9uOiBTZWN0aW9uRGF0YSk6IFNlY3Rpb25EYXRhIHtcbiAgICAgICAgdGhpcy5zZWN0aW9ucy5wdXNoKHNlY3Rpb24pO1xuICAgICAgICByZXR1cm4gc2VjdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogSnNvbkNhbnZhc0NhcmQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMubm9kZUpzb24udHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcInRleHRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi4oc3VwZXIuYnVpbGQoKSBhcyBKc29uQmFzZUNhbnZhc0NhcmQpLFxuICAgICAgICAgICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAgICAgICAgICRmcm9udG1hdHRlcjogdGhpcy5mcm9udG1hdHRlcixcbiAgICAgICAgICAgICAgICAgICAgJHNlY3Rpb25zOiB0aGlzLnNlY3Rpb25zLm1hcCgoeCkgPT4geC5idWlsZCgpKSxcbiAgICAgICAgICAgICAgICAgICAgJHRhZ3M6IHRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLFxuICAgICAgICAgICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6IFwidGV4dC1jYXJkXCIsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogdGhpcy5ub2RlSnNvbi5jb2xvcixcbiAgICAgICAgICAgICAgICB9IGFzIEpzb25DYW52YXNUZXh0Q2FyZDtcbiAgICAgICAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3VwZXIuYnVpbGQoKSxcbiAgICAgICAgICAgICAgICAgICAgJGxpbmtlZEZpbGU6IHRoaXMubm9kZUpzb24uZmlsZSxcbiAgICAgICAgICAgICAgICB9IGFzIEpzb25DYW52YXNGaWxlQ2FyZDtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3VwZXIuYnVpbGQoKSxcbiAgICAgICAgICAgICAgICAgICAgJHVybDogdGhpcy5ub2RlSnNvbi51cmwsXG4gICAgICAgICAgICAgICAgfSBhcyBKc29uQ2FudmFzV2ViQ2FyZDtcbiAgICAgICAgICAgIC8vIHJldHVybiBuZXdcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqIE1ldGFkYXRhIGZvciB0aGUgd2hvbGUgY2FudmFzIHBhZ2UgYXMgYSB3aG9sZS4gKi9cbmV4cG9ydCBjbGFzcyBDYW52YXNEYXRhIHtcbiAgICBwdWJsaWMgY2FyZHM6IENhbnZhc0NhcmREYXRhW10gPSBbXTtcbiAgICBwdWJsaWMgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHBhdGg6IHN0cmluZywgcHVibGljIHN0YXRzOiBGaWxlU3RhdHMpIHt9XG5cbiAgICBwdWJsaWMgY2FyZChkOiBDYW52YXNDYXJkRGF0YSk6IENhbnZhc0NhcmREYXRhIHtcbiAgICAgICAgdGhpcy5jYXJkcy5wdXNoKGQpO1xuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogSnNvbkNhbnZhcyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkY2FyZHM6IHRoaXMuY2FyZHMubWFwKCh4KSA9PiB4LmJ1aWxkKCkpLFxuICAgICAgICAgICAgJGN0aW1lOiB0aGlzLnN0YXRzLmN0aW1lLFxuICAgICAgICAgICAgJG10aW1lOiB0aGlzLnN0YXRzLm10aW1lLFxuICAgICAgICAgICAgJGluZmllbGRzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAgICAgJHNpemU6IHRoaXMuc3RhdHMuc2l6ZSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgY2FudmFzSW1wb3J0IH0gZnJvbSBcImluZGV4L2ltcG9ydC9jYW52YXNcIjtcbmltcG9ydCB7IG1hcmtkb3duSW1wb3J0IH0gZnJvbSBcImluZGV4L2ltcG9ydC9tYXJrZG93blwiO1xuaW1wb3J0IHsgQ2FudmFzSW1wb3J0UmVzdWx0LCBJbXBvcnRDb21tYW5kLCBNYXJrZG93bkltcG9ydFJlc3VsdCB9IGZyb20gXCJpbmRleC93ZWItd29ya2VyL21lc3NhZ2VcIjtcblxuLyoqIFdlYiB3b3JrZXIgZW50cnkgcG9pbnQgZm9yIGltcG9ydGluZy4gKi9cbm9ubWVzc2FnZSA9IGFzeW5jIChldmVudCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBldmVudC5kYXRhIGFzIEltcG9ydENvbW1hbmQ7XG5cbiAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gXCJtYXJrZG93blwiKSB7XG4gICAgICAgICAgICBjb25zdCBtYXJrZG93biA9IG1hcmtkb3duSW1wb3J0KG1lc3NhZ2UucGF0aCwgbWVzc2FnZS5jb250ZW50cywgbWVzc2FnZS5tZXRhZGF0YSwgbWVzc2FnZS5zdGF0KTtcblxuICAgICAgICAgICAgcG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwibWFya2Rvd25cIixcbiAgICAgICAgICAgICAgICByZXN1bHQ6IG1hcmtkb3duLFxuICAgICAgICAgICAgfSBhcyBNYXJrZG93bkltcG9ydFJlc3VsdCk7XG4gICAgICAgIH0gZWxzZSBpZiAobWVzc2FnZS50eXBlID09PSBcImNhbnZhc1wiKSB7XG4gICAgICAgICAgICBjb25zdCBjYW52YXMgPSBjYW52YXNJbXBvcnQobWVzc2FnZS5wYXRoLCBtZXNzYWdlLmNvbnRlbnRzLCBtZXNzYWdlLmluZGV4LCBtZXNzYWdlLnN0YXQpO1xuXG4gICAgICAgICAgICBwb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJjYW52YXNcIixcbiAgICAgICAgICAgICAgICByZXN1bHQ6IGNhbnZhcyxcbiAgICAgICAgICAgIH0gYXMgQ2FudmFzSW1wb3J0UmVzdWx0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvc3RNZXNzYWdlKHsgJGVycm9yOiBcIlVuc3VwcG9ydGVkIGltcG9ydCBtZXRob2QuXCIgfSk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBEYXRhY29yZSBJbmRleGVyIGZhaWxlZCB0byBpbmRleCAke2V2ZW50LmRhdGEucGF0aH06ICR7ZXJyb3J9YCk7XG4gICAgICAgIHBvc3RNZXNzYWdlKHsgJGVycm9yOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgIH1cbn07XG4iXSwKICAibWFwcGluZ3MiOiAiMGpEQUFBLElBQUFBLEdBQUFDLEdBQUEsQ0FBQUMsR0FBQUMsS0FBQSxFQUFDLFNBQVMsRUFBRUMsRUFBRSxDQUFXLE9BQU9GLElBQWpCLFVBQW9DLE9BQU9DLElBQWpCLFNBQXdCQSxHQUFPLFFBQVFDLEVBQUUsRUFBYyxPQUFPLFFBQW5CLFlBQTJCLE9BQU8sSUFBSSxPQUFPLENBQUMsRUFBRUEsQ0FBQyxFQUFZLE9BQU9GLElBQWpCLFNBQXlCQSxHQUFRLFVBQVVFLEVBQUUsRUFBRSxFQUFFLFVBQVVBLEVBQUUsQ0FBQyxHQUFlLE9BQU8sTUFBcEIsWUFBeUIsS0FBS0YsR0FBSyxVQUFVLENBQUMsT0FBTyxTQUFTLEVBQUUsQ0FBQyxJQUFJRSxFQUFFLENBQUMsRUFBRSxTQUFTQyxFQUFFQyxFQUFFLENBQUMsR0FBR0YsRUFBRUUsQ0FBQyxFQUFFLE9BQU9GLEVBQUVFLENBQUMsRUFBRSxRQUFRLElBQUlDLEVBQUVILEVBQUVFLENBQUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFQSxDQUFDLEVBQUUsS0FBS0MsRUFBRSxRQUFRQSxFQUFFQSxFQUFFLFFBQVFGLENBQUMsRUFBRUUsRUFBRSxFQUFFLEdBQUdBLEVBQUUsT0FBTyxDQUFDLE9BQU9GLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUVELEVBQUVDLEVBQUUsRUFBRSxTQUFTRyxFQUFFSixFQUFFRSxFQUFFLENBQUNELEVBQUUsRUFBRUcsRUFBRUosQ0FBQyxHQUFHLE9BQU8sZUFBZUksRUFBRUosRUFBRSxDQUFDLGFBQWEsR0FBRyxXQUFXLEdBQUcsSUFBSUUsQ0FBQyxDQUFDLENBQUMsRUFBRUQsRUFBRSxFQUFFLFNBQVNHLEVBQUUsQ0FBQyxPQUFPLGVBQWVBLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRUgsRUFBRSxFQUFFLFNBQVNHLEVBQUUsQ0FBQyxJQUFJSixFQUFFSSxHQUFHQSxFQUFFLFdBQVcsVUFBVSxDQUFDLE9BQU9BLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPQSxDQUFDLEVBQUUsT0FBT0gsRUFBRSxFQUFFRCxFQUFFLElBQUlBLENBQUMsRUFBRUEsQ0FBQyxFQUFFQyxFQUFFLEVBQUUsU0FBU0csRUFBRUosRUFBRSxDQUFDLE9BQU8sT0FBTyxVQUFVLGVBQWUsS0FBS0ksRUFBRUosQ0FBQyxDQUFDLEVBQUVDLEVBQUUsRUFBRSxHQUFHQSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUVELEVBQUVDLEVBQUUsQ0FBQyxhQUFhLFNBQVNDLEVBQUVFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCRixHQUFHLE9BQU8sSUFBSUEsRUFBRUUsQ0FBQyxFQUFFLEtBQUssRUFBRUEsQ0FBQyxDQUFDLElBQUlELEVBQUVELEVBQUUsVUFBVSxTQUFTRyxFQUFFRCxFQUFFSixFQUFFLENBQUMsUUFBUUMsRUFBRSxFQUFFQSxFQUFFRyxFQUFFSCxJQUFJRCxFQUFFQyxDQUFDLENBQUMsQ0FBQyxTQUFTSyxFQUFFRixFQUFFSixFQUFFQyxFQUFFLENBQUMsT0FBTyxTQUFTRyxFQUFFSixFQUFFLENBQUNLLEVBQUVMLEVBQUUsT0FBTyxTQUFTQyxFQUFFLENBQUNHLEVBQUVKLEVBQUVDLENBQUMsRUFBRUEsRUFBRUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVNDLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQ0gsRUFBRUksRUFBRUosRUFBRUMsRUFBRUMsRUFBRUMsQ0FBQyxDQUFDLEVBQUVGLENBQUMsRUFBRUQsQ0FBQyxDQUFDLFNBQVMsRUFBRUksRUFBRUosRUFBRSxDQUFDLE9BQU9NLEVBQUUsU0FBU04sRUFBRUMsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU9ILEVBQUUsT0FBTyxDQUFDSSxFQUFFSCxFQUFFQyxFQUFFQyxDQUFDLENBQUMs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LENBQUMsQ0FBQyxFQUFFQSxFQUFFLENBQUMsR0FBR0ksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVNKLEVBQUVDLEVBQUUsQ0FBQyxNQUFNLENBQUNELEVBQUVJLEVBQUVILENBQUMsQ0FBQyxDQUFDLEVBQUVFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssU0FBU0MsRUFBRSxDQUFDLEdBQUdLLEVBQUUsRUFBRW1CLEdBQUV4QixDQUFDLEVBQUVBLEVBQUUsSUFBSSxNQUFNLElBQUksTUFBTSx3Q0FBd0NBLEVBQUUsTUFBTUEsRUFBRSxTQUFTLEVBQUUsRUFBRSwwQ0FBMEMsRUFBRSxJQUFJSixHQUFHSSxFQUFFLEdBQUcsS0FBSyxPQUFPQSxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU9GLEVBQUUsU0FBU0QsRUFBRUMsRUFBRSxDQUFDLElBQUlDLEVBQUV3QixFQUFFMUIsRUFBRUMsQ0FBQyxFQUFFLE9BQU9DLElBQUlDLEVBQUVRLEVBQUVWLEVBQUUsRUFBRUMsQ0FBQyxFQUFFUSxFQUFFVCxFQUFFRixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxTQUFTSSxFQUFFLENBQUMsT0FBT1MsRUFBRSxTQUFTVCxDQUFDLEVBQUUsSUFBSSxTQUFTQSxFQUFFLENBQUMsT0FBTyxPQUFPLEtBQUtBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLFNBQVNBLEVBQUVKLEVBQUUsQ0FBQyxPQUFPYSxFQUFFLFNBQVNiLENBQUMsRUFBRSxJQUFJLFNBQVNBLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLFNBQVNJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPVyxFQUFFLFFBQVFBLEVBQUUsQ0FBQyxFQUFFLFNBQVNBLEVBQUUsQ0FBQyxFQUFFLFNBQVNBLEVBQUUsQ0FBQyxFQUFFLE9BQU9DLEVBQUUsUUFBUUEsRUFBRSxDQUFDLEVBQUUsU0FBU0EsRUFBRSxDQUFDLEVBQUUsU0FBU0EsRUFBRSxDQUFDLEVBQUUsTUFBTUMsRUFBRSxPQUFPQSxFQUFFLENBQUMsRUFBRSxR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RSxDQUFDLEVBRXJDLE1BQU9BLEVBQVMsV0FBVyxDQUFFLE9BQVEsQ0FBRSxDQUFDLEVBQ3hDLE9BQVFBLEVBQVMsV0FBVyxDQUFFLE9BQVEsQ0FBRSxDQUFDLEVBQ3pDLEdBQUlBLEVBQVMsV0FBVyxDQUFFLE9BQVEsQ0FBRSxDQUFDLEVBQ3JDLElBQUtBLEVBQVMsV0FBVyxDQUFFLE9BQVEsQ0FBRSxDQUFDLEVBRXRDLEtBQU1BLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBQ3RDLE1BQU9BLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBQ3ZDLEdBQUlBLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBQ3BDLElBQUtBLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBQ3JDLEVBQUdBLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBRW5DLElBQUtBLEVBQVMsV0FBVyxDQUFFLEtBQU0sQ0FBRSxDQUFDLEVBQ3BDLEtBQU1BLEVBQVMsV0FBVyxDQUFFLEtBQU0sQ0FBRSxDQUFDLEVBQ3JDLEVBQUdBLEVBQVMsV0FBVyxDQUFFLEtBQU0sQ0FBRSxDQUFDLEVBRWxDLEtBQU1BLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBQ3RDLE1BQU9BLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBQ3ZDLEdBQUlBLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBQ3BDLElBQUtBLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBQ3JDLEVBQUdBLEVBQVMsV0FBVyxDQUFFLE1BQU8sQ0FBRSxDQUFDLEVBRW5DLE9BQVFBLEVBQVMsV0FBVyxDQUFFLFFBQVMsQ0FBRSxDQUFDLEVBQzFDLFFBQVNBLEVBQVMsV0FBVyxDQUFFLFFBQVMsQ0FBRSxDQUFDLEVBQzNDLElBQUtBLEVBQVMsV0FBVyxDQUFFLFFBQVMsQ0FBRSxDQUFDLEVBQ3ZDLEtBQU1BLEVBQVMsV0FBVyxDQUFFLFFBQVMsQ0FBRSxDQUFDLEVBQ3hDLEVBQUdB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QVEsTUFBT0EsRUFBUSxJQUFJLEVBRXZGLFlBQVksQ0FDUixLQUFNLFNBQ04sT0FBUUcsQ0FDWixDQUF1QixDQUMzQixNQUNJLFlBQVksQ0FBRSxPQUFRLDRCQUE2QixDQUFDLENBRTVELE9BQVNFLEVBQU8sQ0FDWixRQUFRLE1BQU0sb0NBQW9DTixFQUFNLEtBQUssSUFBSSxLQUFLTSxDQUFLLEVBQUUsRUFDN0UsWUFBWSxDQUFFLE9BQVFBLEVBQU0sT0FBUSxDQUFDLENBQ3pDLENBQ0oiLAogICJuYW1lcyI6IFsicmVxdWlyZV9wYXJzaW1tb25fdW1kX21pbiIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInQiLCAiciIsICJlIiwgInUiLCAibiIsICJvIiwgImkiLCAiZiIsICJjIiwgInMiLCAibCIsICJ4IiwgImIiLCAiaCIsICJwIiwgImQiLCAidiIsICJnIiwgIm0iLCAieSIsICJFIiwgInciLCAiQiIsICJhIiwgImoiLCAiUyIsICJfIiwgIkwiLCAiTyIsICJrIiwgIlAiLCAicSIsICJBIiwgIkkiLCAiRiIsICJNIiwgInoiLCAiUiIsICJVIiwgIlciLCAiRCIsICJOIiwgIkciLCAiQyIsICJKIiwgIlQiLCAiWSIsICJWIiwgIkgiLCAiWCIsICJLIiwgIlEiLCAiWiIsICIkIiwgIm5uIiwgInRuIiwgInJuIiwgImFuIiwgImVuIiwgInVuIiwgIm9uIiwgImZuIiwgImNuIiwgInNuIiwgImxuIiwgImhuIiwgInBuIiwgImRuIiwgInZuIiwgImduIiwgIm1uIiwgInluIiwgInJlcXVpcmVfYl90cmVlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJfX2V4dGVuZHMiLCAiZXh0ZW5kU3RhdGljcyIsICJkIiwgImIiLCAicCIsICJfXyIsICJkZWZhdWx0Q29tcGFyYXRvciIsICJhIiwgInRhIiwgInRiIiwgInNpbXBsZUNvbXBhcmF0b3IiLCAiQlRyZWUiLCAiZW50cmllcyIsICJjb21wYXJlIiwgIm1heE5vZGVTaXplIiwgIkVtcHR5TGVhZiIsICJjYWxsYmFjayIsICJ0aGlzQXJnIiwgIl90aGlzIiwgImsiLCAidiIsICJpbml0aWFsQ291bnRlciIsICJsb3ciLCAiaGlnaCIsICJrZXkiLCAiZGVmYXVsdFZhbHVlIiwgInZhbHVlIiwgIm92ZXJ3cml0ZSIsICJyZXN1bHQiLCAiQk5vZGVJbnRlcm5hbCIsICJEZWxldGVSYW5nZSIsICJudSIsICJwYWlycyIsICJrZXlzIiwgInJldHVyblRoaXNJZlVuY2hhbmdlZCIsICJjaGFuZ2VkIiwgImluY2x1ZGVIaWdoIiwgImRlbCIsICJpIiwgIkRlbGV0ZSIsICJ0bXAiLCAiaW5pdGlhbFZhbHVlIiwgIml0IiwgIlJldXNlZEFycmF5IiwgIm5leHQiLCAibG93ZXN0S2V5IiwgInJldXNlZEFycmF5IiwgImluZm8iLCAiaXRlcmF0b3IiLCAibm9kZXF1ZXVlIiwgIm5vZGVpbmRleCIsICJsZWFmIiwgInN0YXRlIiwgImp1bXAiLCAibGV2ZWwiLCAiaGlnaGVzdEtleSIsICJza2lwSGlnaGVzdCIsICJfYSIsICJjaGVjayIsICJuZXh0bm9kZSIsICJFbXB0eUFycmF5IiwgIm90aGVyIiwgIm9ubHlUaGlzIiwgIm9ubHlPdGhlciIsICJkaWZmZXJlbnQiLCAiX2NvbXBhcmUiLCAidGhpc0N1cnNvciIsICJvdGhlckN1cnNvciIsICJ0aGlzU3VjY2VzcyIsICJvdGhlclN1Y2Nlc3MiLCAicHJldkN1cnNvck9yZGVyIiwgImN1cnNvck9yZGVyIiwgInRoaXNMZWFmIiwgInRoaXNJbnRlcm5hbFNwaW5lIiwgInRoaXNMZXZlbEluZGljZXMiLCAib3RoZXJMZWFmIiwgIm90aGVySW50ZXJuYWxTcGluZSIsICJvdGhlckxldmVsSW5kaWNlcyIsICJ2YWxUaGlzIiwgInZhbE90aGVyIiwgIm90aGVyVmFsIiwgImxhc3RUaGlzIiwgImxhc3RPdGhlciIsICJub2RlVGhpcyIsICJub2RlT3RoZXIiLCAiY3Vyc29yIiwgImN1cnNvckZpbmlzaGVkIiwgImNvbXBhcmVLZXlzIiwgImNvbXBhcmVkIiwgImNhblN0ZXAiLCAibGV2ZWxJbmRpY2VzIiwgImN1cnJlbnRLZXkiLCAidHJlZSIsICJfcm9vdCIsICJoZWlnaHQiLCAic3RlcFRvTm9kZSIsICJpbnRlcm5hbFNwaW5lIiwgImxldmVsc0xlbmd0aCIsICJzcGluZUxlbmd0aCIsICJub2RlTGV2ZWxJbmRleCIsICJsZXZlbEluZGV4V2Fsa0JhY2siLCAidmFsdWVJbmRleCIsICJuZXh0TGV2ZWwiLCAiY3VycmVudExldmVsIiwgIm5vZGUiLCAiY2hpbGRyZW4iLCAiY2hpbGRJbmRleCIsICJjdXJzb3JBIiwgImN1cnNvckIiLCAiaGVpZ2h0QSIsICJjdXJyZW50S2V5QSIsICJsZXZlbEluZGljZXNBIiwgImhlaWdodEIiLCAiY3VycmVudEtleUIiLCAibGV2ZWxJbmRpY2VzQiIsICJrZXlDb21wYXJpc29uIiwgImhlaWdodE1pbiIsICJkZXB0aEFOb3JtYWxpemVkIiwgImRlcHRoQk5vcm1hbGl6ZWQiLCAiZmlyc3RLZXkiLCAibiIsICJmb3JjZSIsICJtYXhMZW5ndGgiLCAibWluIiwgIm1heCIsICJyZXN1bHRzIiwgIkJyZWFrIiwgImFkZGVkIiwgIm9uRm91bmQiLCAiciIsICJyb290IiwgImlzU2hhcmVkIiwgInQiLCAic2l6ZSIsICJhc1NldCIsICJidHJlZSIsICJCTm9kZSIsICJ2YWx1ZXMiLCAidW5kZWZWYWxzIiwgImZhaWxYb3IiLCAiY21wIiwgImxvIiwgImhpIiwgIm1pZCIsICJjIiwgImxhc3RJbmRleCIsICJpbmNsdXNpdmUiLCAiaW5kZXhPckxvd2VyIiwgImRlcHRoIiwgImJhc2VJbmRleCIsICJrTCIsICJ2TCIsICJuZXdSaWdodFNpYmxpbmciLCAidGFyZ2V0IiwgInJocyIsICJsaHMiLCAiaGFsZiIsICJlZGl0TW9kZSIsICJjb3VudCIsICJpTG93IiwgImlIaWdoIiwgIl8iLCAiX3N1cGVyIiwgImxlbmd0aCIsICJjTCIsICJjaGlsZFNpemUiLCAidG9vZmV3IiwgImNoaWxkIiwgIm1heFNpemUiLCAib2xkTGVuZ3RoIiwgInJoc0NoaWxkcmVuIiwgImZhY3QiLCAiYXJncyIsICJfaSIsICJMdXhvbkVycm9yIiwgIkludmFsaWREYXRlVGltZUVycm9yIiwgInJlYXNvbiIsICJJbnZhbGlkSW50ZXJ2YWxFcnJvciIsICJJbnZhbGlkRHVyYXRpb25FcnJvciIsICJDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciIsICJJbnZhbGlkVW5pdEVycm9yIiwgInVuaXQiLCAiSW52YWxpZEFyZ3VtZW50RXJyb3IiLCAiWm9uZUlzQWJzdHJhY3RFcnJvciIsICJuIiwgInMiLCAibCIsICJEQVRFX1NIT1JUIiwgIkRBVEVfTUVEIiwgIkRBVEVfTUVEX1dJVEhfV0VFS0RBWSIsICJEQVRFX0ZVTEwiLCAiREFURV9IVUdFIiwgIlRJTUVfU0lNUExFIiwgIlRJTUVfV0lUSF9TRUNPTkRTIiwgIlRJTUVfV0lUSF9TSE9SVF9PRkZTRVQiLCAiVElNRV9XSVRIX0xPTkdfT0ZGU0VUIiwgIlRJTUVfMjRfU0lNUExFIiwgIlRJTUVfMjRfV0lUSF9TRUNPTkRTIiwgIlRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQiLCAiVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUIiwgIkRBVEVUSU1FX1NIT1JUIiwgIkRBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUyIsICJEQVRFVElNRV9NRUQiLCAiREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUyIsICJEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZIiwgIkRBVEVUSU1FX0ZVTEwiLCAiREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfSFVHRSIsICJEQVRFVElNRV9IVUdFX1dJVEhfU0VDT05EUyIsICJpc1VuZGVmaW5lZCIsICJvIiwgImlzTnVtYmVyIiwgImlzSW50ZWdlciIsICJpc1N0cmluZyIsICJpc0RhdGUiLCAiaGFzUmVsYXRpdmUiLCAiZSIsICJtYXliZUFycmF5IiwgInRoaW5nIiwgImJlc3RCeSIsICJhcnIiLCAiYnkiLCAiY29tcGFyZSIsICJiZXN0IiwgIm5leHQiLCAicGFpciIsICJwaWNrIiwgIm9iaiIsICJrZXlzIiwgImEiLCAiayIsICJoYXNPd25Qcm9wZXJ0eSIsICJwcm9wIiwgImludGVnZXJCZXR3ZWVuIiwgImJvdHRvbSIsICJ0b3AiLCAiZmxvb3JNb2QiLCAieCIsICJuIiwgInBhZFN0YXJ0IiwgImlucHV0IiwgImlzTmVnIiwgInBhZGRlZCIsICJwYXJzZUludGVnZXIiLCAic3RyaW5nIiwgInBhcnNlRmxvYXRpbmciLCAicGFyc2VNaWxsaXMiLCAiZnJhY3Rpb24iLCAiZiIsICJyb3VuZFRvIiwgIm51bWJlciIsICJkaWdpdHMiLCAidG93YXJkWmVybyIsICJmYWN0b3IiLCAiaXNMZWFwWWVhciIsICJ5ZWFyIiwgImRheXNJblllYXIiLCAiZGF5c0luTW9udGgiLCAibW9udGgiLCAibW9kTW9udGgiLCAibW9kWWVhciIsICJvYmpUb0xvY2FsVFMiLCAiZCIsICJ3ZWVrc0luV2Vla1llYXIiLCAid2Vla1llYXIiLCAicDEiLCAibGFzdCIsICJwMiIsICJ1bnRydW5jYXRlWWVhciIsICJwYXJzZVpvbmVJbmZvIiwgInRzIiwgIm9mZnNldEZvcm1hdCIsICJsb2NhbGUiLCAidGltZVpvbmUiLCAiZGF0ZSIsICJpbnRsT3B0cyIsICJtb2RpZmllZCIsICJfX3NwcmVhZFZhbHVlcyIsICJwYXJzZWQiLCAibSIsICJzaWduZWRPZmZzZXQiLCAib2ZmSG91clN0ciIsICJvZmZNaW51dGVTdHIiLCAib2ZmSG91ciIsICJvZmZNaW4iLCAib2ZmTWluU2lnbmVkIiwgImFzTnVtYmVyIiwgInZhbHVlIiwgIm51bWVyaWNWYWx1ZSIsICJJbnZhbGlkQXJndW1lbnRFcnJvciIsICJub3JtYWxpemVPYmplY3QiLCAibm9ybWFsaXplciIsICJub3JtYWxpemVkIiwgInUiLCAidiIsICJmb3JtYXRPZmZzZXQiLCAib2Zmc2V0IiwgImZvcm1hdCIsICJob3VycyIsICJtaW51dGVzIiwgInNpZ24iLCAidGltZU9iamVjdCIsICJpYW5hUmVnZXgiLCAibW9udGhzTG9uZyIsICJtb250aHNTaG9ydCIsICJtb250aHNOYXJyb3ciLCAibW9udGhzIiwgImxlbmd0aCIsICJ3ZWVrZGF5c0xvbmciLCAid2Vla2RheXNTaG9ydCIsICJ3ZWVrZGF5c05hcnJvdyIsICJ3ZWVrZGF5cyIsICJtZXJpZGllbXMiLCAiZXJhc0xvbmciLCAiZXJhc1Nob3J0IiwgImVyYXNOYXJyb3ciLCAiZXJhcyIsICJtZXJpZGllbUZvckRhdGVUaW1lIiwgImR0IiwgIndlZWtkYXlGb3JEYXRlVGltZSIsICJtb250aEZvckRhdGVUaW1lIiwgImVyYUZvckRhdGVUaW1lIiwgImZvcm1hdFJlbGF0aXZlVGltZSIsICJ1bml0IiwgImNvdW50IiwgIm51bWVyaWMiLCAibmFycm93IiwgInVuaXRzIiwgImxhc3RhYmxlIiwgImlzRGF5IiwgImlzSW5QYXN0IiwgImZtdFZhbHVlIiwgInNpbmd1bGFyIiwgImxpbFVuaXRzIiwgImZtdFVuaXQiLCAic3RyaW5naWZ5VG9rZW5zIiwgInNwbGl0cyIsICJ0b2tlblRvU3RyaW5nIiwgInMiLCAidG9rZW4iLCAibWFjcm9Ub2tlblRvRm9ybWF0T3B0cyIsICJEQVRFX1NIT1JUIiwgIkRBVEVfTUVEIiwgIkRBVEVfRlVMTCIsICJEQVRFX0hVR0UiLCAiVElNRV9TSU1QTEUiLCAiVElNRV9XSVRIX1NFQ09ORFMiLCAiVElNRV9XSVRIX1NIT1JUX09GRlNFVCIsICJUSU1FX1dJVEhfTE9OR19PRkZTRVQiLCAiVElNRV8yNF9TSU1QTEUiLCAiVElNRV8yNF9XSVRIX1NFQ09ORFMiLCAiVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCIsICJUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQiLCAiREFURVRJTUVfU0hPUlQiLCAiREFURVRJTUVfTUVEIiwgIkRBVEVUSU1FX0ZVTEwiLCAiREFURVRJTUVfSFVHRSIsICJEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUyIsICJEQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUyIsICJEQVRFVElNRV9IVUdFX1dJVEhfU0VDT05EUyIsICJGb3JtYXR0ZXIiLCAiX0Zvcm1hdHRlciIsICJsb2NhbGUiLCAib3B0cyIsICJmbXQiLCAiY3VycmVudCIsICJjdXJyZW50RnVsbCIsICJicmFja2V0ZWQiLCAiaSIsICJjIiwgImZvcm1hdE9wdHMiLCAiZHQiLCAiX19zcHJlYWRWYWx1ZXMiLCAibiIsICJwIiwgInBhZFN0YXJ0IiwgImtub3duRW5nbGlzaCIsICJ1c2VEYXRlVGltZUZvcm1hdHRlciIsICJzdHJpbmciLCAiZXh0cmFjdCIsICJmb3JtYXRPZmZzZXQiLCAibWVyaWRpZW0iLCAibWVyaWRpZW1Gb3JEYXRlVGltZSIsICJtb250aCIsICJsZW5ndGgiLCAic3RhbmRhbG9uZSIsICJtb250aEZvckRhdGVUaW1lIiwgIndlZWtkYXkiLCAid2Vla2RheUZvckRhdGVUaW1lIiwgIm1heWJlTWFjcm8iLCAiZXJhIiwgImVyYUZvckRhdGVUaW1lIiwgImR1ciIsICJ0b2tlblRvRmllbGQiLCAibGlsZHVyIiwgIm1hcHBlZCIsICJ0b2tlbnMiLCAicmVhbFRva2VucyIsICJmb3VuZCIsICJsaXRlcmFsIiwgInZhbCIsICJjb2xsYXBzZWQiLCAidCIsICJJbnZhbGlkIiwgInJlYXNvbiIsICJleHBsYW5hdGlvbiIsICJab25lIiwgIlpvbmVJc0Fic3RyYWN0RXJyb3IiLCAidHMiLCAib3B0cyIsICJmb3JtYXQiLCAib3RoZXJab25lIiwgInNpbmdsZXRvbiIsICJTeXN0ZW1ab25lIiwgIl9TeXN0ZW1ab25lIiwgIlpvbmUiLCAidHMiLCAiZm9ybWF0IiwgImxvY2FsZSIsICJwYXJzZVpvbmVJbmZvIiwgImZvcm1hdE9mZnNldCIsICJvdGhlclpvbmUiLCAiZHRmQ2FjaGUiLCAibWFrZURURiIsICJ6b25lIiwgInR5cGVUb1BvcyIsICJoYWNreU9mZnNldCIsICJkdGYiLCAiZGF0ZSIsICJmb3JtYXR0ZWQiLCAicGFyc2VkIiwgImZNb250aCIsICJmRGF5IiwgImZZZWFyIiwgImZhZE9yQmMiLCAiZkhvdXIiLCAiZk1pbnV0ZSIsICJmU2Vjb25kIiwgInBhcnRzT2Zmc2V0IiwgImZpbGxlZCIsICJpIiwgInR5cGUiLCAidmFsdWUiLCAicG9zIiwgImlzVW5kZWZpbmVkIiwgImlhbmFab25lQ2FjaGUiLCAiSUFOQVpvbmUiLCAiX0lBTkFab25lIiwgIlpvbmUiLCAibmFtZSIsICJzIiwgImUiLCAidHMiLCAiZm9ybWF0IiwgImxvY2FsZSIsICJwYXJzZVpvbmVJbmZvIiwgImZvcm1hdE9mZnNldCIsICJ5ZWFyIiwgIm1vbnRoIiwgImRheSIsICJhZE9yQmMiLCAiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgImFzVVRDIiwgIm9ialRvTG9jYWxUUyIsICJhc1RTIiwgIm92ZXIiLCAib3RoZXJab25lIiwgInNpbmdsZXRvbiIsICJGaXhlZE9mZnNldFpvbmUiLCAiX0ZpeGVkT2Zmc2V0Wm9uZSIsICJab25lIiwgIm9mZnNldCIsICJzIiwgInIiLCAic2lnbmVkT2Zmc2V0IiwgImZvcm1hdE9mZnNldCIsICJ0cyIsICJmb3JtYXQiLCAib3RoZXJab25lIiwgIkludmFsaWRab25lIiwgIlpvbmUiLCAiem9uZU5hbWUiLCAibm9ybWFsaXplWm9uZSIsICJpbnB1dCIsICJkZWZhdWx0Wm9uZSIsICJvZmZzZXQiLCAiaXNVbmRlZmluZWQiLCAiWm9uZSIsICJpc1N0cmluZyIsICJsb3dlcmVkIiwgIkZpeGVkT2Zmc2V0Wm9uZSIsICJJQU5BWm9uZSIsICJpc051bWJlciIsICJJbnZhbGlkWm9uZSIsICJub3ciLCAiZGVmYXVsdFpvbmUiLCAiZGVmYXVsdExvY2FsZSIsICJkZWZhdWx0TnVtYmVyaW5nU3lzdGVtIiwgImRlZmF1bHRPdXRwdXRDYWxlbmRhciIsICJ0aHJvd09uSW52YWxpZCIsICJTZXR0aW5ncyIsICJuIiwgInpvbmUiLCAibm9ybWFsaXplWm9uZSIsICJTeXN0ZW1ab25lIiwgImxvY2FsZSIsICJudW1iZXJpbmdTeXN0ZW0iLCAib3V0cHV0Q2FsZW5kYXIiLCAidCIsICJMb2NhbGUiLCAiSUFOQVpvbmUiLCAiaW50bExGQ2FjaGUiLCAiZ2V0Q2FjaGVkTEYiLCAibG9jU3RyaW5nIiwgIm9wdHMiLCAia2V5IiwgImR0ZiIsICJpbnRsRFRDYWNoZSIsICJnZXRDYWNoZWREVEYiLCAiaW50bE51bUNhY2hlIiwgImdldENhY2hlZElORiIsICJpbmYiLCAiaW50bFJlbENhY2hlIiwgImdldENhY2hlZFJURiIsICJfYSIsICJiYXNlIiwgImNhY2hlS2V5T3B0cyIsICJfX29ialJlc3QiLCAic3lzTG9jYWxlQ2FjaGUiLCAic3lzdGVtTG9jYWxlIiwgInBhcnNlTG9jYWxlU3RyaW5nIiwgImxvY2FsZVN0ciIsICJ1SW5kZXgiLCAib3B0aW9ucyIsICJzbWFsbGVyIiwgImUiLCAibnVtYmVyaW5nU3lzdGVtIiwgImNhbGVuZGFyIiwgImludGxDb25maWdTdHJpbmciLCAib3V0cHV0Q2FsZW5kYXIiLCAibWFwTW9udGhzIiwgImYiLCAibXMiLCAiaSIsICJkdCIsICJEYXRlVGltZSIsICJtYXBXZWVrZGF5cyIsICJsaXN0U3R1ZmYiLCAibG9jIiwgImxlbmd0aCIsICJkZWZhdWx0T0siLCAiZW5nbGlzaEZuIiwgImludGxGbiIsICJtb2RlIiwgInN1cHBvcnRzRmFzdE51bWJlcnMiLCAiUG9seU51bWJlckZvcm1hdHRlciIsICJpbnRsIiwgImZvcmNlU2ltcGxlIiwgInBhZFRvIiwgImZsb29yIiwgIm90aGVyT3B0cyIsICJpbnRsT3B0cyIsICJfX3NwcmVhZFZhbHVlcyIsICJmaXhlZCIsICJyb3VuZFRvIiwgInBhZFN0YXJ0IiwgIlBvbHlEYXRlRm9ybWF0dGVyIiwgInoiLCAiZ210T2Zmc2V0IiwgIm9mZnNldFoiLCAiSUFOQVpvbmUiLCAiUG9seVJlbEZvcm1hdHRlciIsICJpc0VuZ2xpc2giLCAiaGFzUmVsYXRpdmUiLCAiY291bnQiLCAidW5pdCIsICJmb3JtYXRSZWxhdGl2ZVRpbWUiLCAiTG9jYWxlIiwgIl9Mb2NhbGUiLCAibG9jYWxlIiwgImRlZmF1bHRUb0VOIiwgInNwZWNpZmllZExvY2FsZSIsICJTZXR0aW5ncyIsICJsb2NhbGVSIiwgIm51bWJlcmluZ1N5c3RlbVIiLCAib3V0cHV0Q2FsZW5kYXJSIiwgIm51bWJlcmluZyIsICJwYXJzZWRMb2NhbGUiLCAicGFyc2VkTnVtYmVyaW5nU3lzdGVtIiwgInBhcnNlZE91dHB1dENhbGVuZGFyIiwgImlzQWN0dWFsbHlFbiIsICJoYXNOb1dlaXJkbmVzcyIsICJhbHRzIiwgIl9fc3ByZWFkUHJvcHMiLCAiZm9ybWF0IiwgIm1vbnRocyIsICJmb3JtYXRTdHIiLCAid2Vla2RheXMiLCAibWVyaWRpZW1zIiwgImVyYXMiLCAiZmllbGQiLCAiZGYiLCAicmVzdWx0cyIsICJtYXRjaGluZyIsICJtIiwgIm90aGVyIiwgImNvbWJpbmVSZWdleGVzIiwgInJlZ2V4ZXMiLCAiZnVsbCIsICJmIiwgImNvbWJpbmVFeHRyYWN0b3JzIiwgImV4dHJhY3RvcnMiLCAibSIsICJtZXJnZWRWYWxzIiwgIm1lcmdlZFpvbmUiLCAiY3Vyc29yIiwgImV4IiwgInZhbCIsICJ6b25lIiwgIm5leHQiLCAiX19zcHJlYWRWYWx1ZXMiLCAicGFyc2UiLCAicyIsICJwYXR0ZXJucyIsICJyZWdleCIsICJleHRyYWN0b3IiLCAic2ltcGxlUGFyc2UiLCAia2V5cyIsICJtYXRjaCIsICJyZXQiLCAiaSIsICJwYXJzZUludGVnZXIiLCAib2Zmc2V0UmVnZXgiLCAiaXNvRXh0ZW5kZWRab25lIiwgImlhbmFSZWdleCIsICJpc29UaW1lQmFzZVJlZ2V4IiwgImlzb1RpbWVSZWdleCIsICJpc29UaW1lRXh0ZW5zaW9uUmVnZXgiLCAiaXNvWW1kUmVnZXgiLCAiaXNvV2Vla1JlZ2V4IiwgImlzb09yZGluYWxSZWdleCIsICJleHRyYWN0SVNPV2Vla0RhdGEiLCAiZXh0cmFjdElTT09yZGluYWxEYXRhIiwgInNxbFltZFJlZ2V4IiwgInNxbFRpbWVSZWdleCIsICJzcWxUaW1lRXh0ZW5zaW9uUmVnZXgiLCAiaW50IiwgInBvcyIsICJmYWxsYmFjayIsICJpc1VuZGVmaW5lZCIsICJleHRyYWN0SVNPWW1kIiwgImV4dHJhY3RJU09UaW1lIiwgInBhcnNlTWlsbGlzIiwgImV4dHJhY3RJU09PZmZzZXQiLCAibG9jYWwiLCAiZnVsbE9mZnNldCIsICJzaWduZWRPZmZzZXQiLCAiRml4ZWRPZmZzZXRab25lIiwgImV4dHJhY3RJQU5BWm9uZSIsICJJQU5BWm9uZSIsICJpc29UaW1lT25seSIsICJpc29EdXJhdGlvbiIsICJleHRyYWN0SVNPRHVyYXRpb24iLCAieWVhclN0ciIsICJtb250aFN0ciIsICJ3ZWVrU3RyIiwgImRheVN0ciIsICJob3VyU3RyIiwgIm1pbnV0ZVN0ciIsICJzZWNvbmRTdHIiLCAibWlsbGlzZWNvbmRzU3RyIiwgImhhc05lZ2F0aXZlUHJlZml4IiwgIm5lZ2F0aXZlU2Vjb25kcyIsICJtYXliZU5lZ2F0ZSIsICJudW0iLCAiZm9yY2UiLCAicGFyc2VGbG9hdGluZyIsICJvYnNPZmZzZXRzIiwgImZyb21TdHJpbmdzIiwgIndlZWtkYXlTdHIiLCAicmVzdWx0IiwgInVudHJ1bmNhdGVZZWFyIiwgIm1vbnRoc1Nob3J0IiwgIndlZWtkYXlzTG9uZyIsICJ3ZWVrZGF5c1Nob3J0IiwgInJmYzI4MjIiLCAiZXh0cmFjdFJGQzI4MjIiLCAib2JzT2Zmc2V0IiwgIm1pbE9mZnNldCIsICJvZmZIb3VyU3RyIiwgIm9mZk1pbnV0ZVN0ciIsICJvZmZzZXQiLCAicHJlcHJvY2Vzc1JGQzI4MjIiLCAicmZjMTEyMyIsICJyZmM4NTAiLCAiYXNjaWkiLCAiZXh0cmFjdFJGQzExMjNPcjg1MCIsICJleHRyYWN0QVNDSUkiLCAiaXNvWW1kV2l0aFRpbWVFeHRlbnNpb25SZWdleCIsICJpc29XZWVrV2l0aFRpbWVFeHRlbnNpb25SZWdleCIsICJpc29PcmRpbmFsV2l0aFRpbWVFeHRlbnNpb25SZWdleCIsICJpc29UaW1lQ29tYmluZWRSZWdleCIsICJleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldCIsICJleHRyYWN0SVNPV2Vla1RpbWVBbmRPZmZzZXQiLCAiZXh0cmFjdElTT09yZGluYWxEYXRlQW5kVGltZSIsICJleHRyYWN0SVNPVGltZUFuZE9mZnNldCIsICJwYXJzZUlTT0RhdGUiLCAicGFyc2VSRkMyODIyRGF0ZSIsICJwYXJzZUhUVFBEYXRlIiwgInBhcnNlSVNPRHVyYXRpb24iLCAiZXh0cmFjdElTT1RpbWVPbmx5IiwgInBhcnNlSVNPVGltZU9ubHkiLCAic3FsWW1kV2l0aFRpbWVFeHRlbnNpb25SZWdleCIsICJzcWxUaW1lQ29tYmluZWRSZWdleCIsICJleHRyYWN0SVNPVGltZU9mZnNldEFuZElBTkFab25lIiwgInBhcnNlU1FMIiwgIklOVkFMSUQiLCAibG93T3JkZXJNYXRyaXgiLCAiY2FzdWFsTWF0cml4IiwgIl9fc3ByZWFkVmFsdWVzIiwgImRheXNJblllYXJBY2N1cmF0ZSIsICJkYXlzSW5Nb250aEFjY3VyYXRlIiwgImFjY3VyYXRlTWF0cml4IiwgIm9yZGVyZWRVbml0cyIsICJyZXZlcnNlVW5pdHMiLCAiY2xvbmUiLCAiZHVyIiwgImFsdHMiLCAiY2xlYXIiLCAiY29uZiIsICJEdXJhdGlvbiIsICJhbnRpVHJ1bmMiLCAiY29udmVydCIsICJtYXRyaXgiLCAiZnJvbU1hcCIsICJmcm9tVW5pdCIsICJ0b01hcCIsICJ0b1VuaXQiLCAiY29udiIsICJyYXciLCAic2FtZVNpZ24iLCAiYWRkZWQiLCAibm9ybWFsaXplVmFsdWVzIiwgInZhbHMiLCAicHJldmlvdXMiLCAiY3VycmVudCIsICJpc1VuZGVmaW5lZCIsICJfRHVyYXRpb24iLCAiY29uZmlnIiwgImFjY3VyYXRlIiwgIkxvY2FsZSIsICJjb3VudCIsICJvcHRzIiwgIm9iaiIsICJJbnZhbGlkQXJndW1lbnRFcnJvciIsICJub3JtYWxpemVPYmplY3QiLCAiZHVyYXRpb25MaWtlIiwgImlzTnVtYmVyIiwgInRleHQiLCAicGFyc2VkIiwgInBhcnNlSVNPRHVyYXRpb24iLCAicGFyc2VJU09UaW1lT25seSIsICJyZWFzb24iLCAiZXhwbGFuYXRpb24iLCAiaW52YWxpZCIsICJJbnZhbGlkIiwgIlNldHRpbmdzIiwgIkludmFsaWREdXJhdGlvbkVycm9yIiwgInVuaXQiLCAibm9ybWFsaXplZCIsICJJbnZhbGlkVW5pdEVycm9yIiwgIm8iLCAiZm10IiwgImZtdE9wdHMiLCAiX19zcHJlYWRQcm9wcyIsICJGb3JtYXR0ZXIiLCAibCIsICJ2YWwiLCAibiIsICJzIiwgInJvdW5kVG8iLCAibWlsbGlzIiwgInZhbHVlIiwgInN0ciIsICJkdXJhdGlvbiIsICJyZXN1bHQiLCAiayIsICJoYXNPd25Qcm9wZXJ0eSIsICJmbiIsICJhc051bWJlciIsICJ2YWx1ZXMiLCAibWl4ZWQiLCAibG9jYWxlIiwgIm51bWJlcmluZ1N5c3RlbSIsICJjb252ZXJzaW9uQWNjdXJhY3kiLCAibG9jIiwgInVuaXRzIiwgInUiLCAiYnVpbHQiLCAiYWNjdW11bGF0ZWQiLCAibGFzdFVuaXQiLCAib3duIiwgImFrIiwgImkiLCAiZG93biIsICJrZXkiLCAibmVnYXRlZCIsICJvdGhlciIsICJlcSIsICJ2MSIsICJ2MiIsICJJTlZBTElEIiwgInZhbGlkYXRlU3RhcnRFbmQiLCAic3RhcnQiLCAiZW5kIiwgIkludGVydmFsIiwgIl9JbnRlcnZhbCIsICJjb25maWciLCAicmVhc29uIiwgImV4cGxhbmF0aW9uIiwgIkludmFsaWRBcmd1bWVudEVycm9yIiwgImludmFsaWQiLCAiSW52YWxpZCIsICJTZXR0aW5ncyIsICJJbnZhbGlkSW50ZXJ2YWxFcnJvciIsICJidWlsdFN0YXJ0IiwgImZyaWVuZGx5RGF0ZVRpbWUiLCAiYnVpbHRFbmQiLCAidmFsaWRhdGVFcnJvciIsICJkdXJhdGlvbiIsICJkdXIiLCAiRHVyYXRpb24iLCAiZHQiLCAidGV4dCIsICJvcHRzIiwgInMiLCAiZSIsICJzdGFydElzVmFsaWQiLCAiRGF0ZVRpbWUiLCAiZW5kSXNWYWxpZCIsICJvIiwgInVuaXQiLCAiZGF0ZVRpbWUiLCAiZGF0ZVRpbWVzIiwgInNvcnRlZCIsICJkIiwgInJlc3VsdHMiLCAiYWRkZWQiLCAibmV4dCIsICJpZHgiLCAieCIsICJudW1iZXJPZlBhcnRzIiwgIm90aGVyIiwgImludGVydmFscyIsICJmb3VuZCIsICJmaW5hbCIsICJhIiwgImIiLCAic29mYXIiLCAiY3VycmVudCIsICJpdGVtIiwgImN1cnJlbnRDb3VudCIsICJlbmRzIiwgImkiLCAiZmxhdHRlbmVkIiwgImFyciIsICJkYXRlRm9ybWF0IiwgInNlcGFyYXRvciIsICJtYXBGbiIsICJJbmZvIiwgInpvbmUiLCAiU2V0dGluZ3MiLCAicHJvdG8iLCAiRGF0ZVRpbWUiLCAiSUFOQVpvbmUiLCAiaW5wdXQiLCAibm9ybWFsaXplWm9uZSIsICJsZW5ndGgiLCAibG9jYWxlIiwgIm51bWJlcmluZ1N5c3RlbSIsICJsb2NPYmoiLCAib3V0cHV0Q2FsZW5kYXIiLCAiTG9jYWxlIiwgImhhc1JlbGF0aXZlIiwgImRheURpZmYiLCAiZWFybGllciIsICJsYXRlciIsICJ1dGNEYXlTdGFydCIsICJkdCIsICJtcyIsICJEdXJhdGlvbiIsICJoaWdoT3JkZXJEaWZmcyIsICJjdXJzb3IiLCAidW5pdHMiLCAiZGlmZmVycyIsICJiIiwgImRheXMiLCAicmVzdWx0cyIsICJsb3dlc3RPcmRlciIsICJoaWdoV2F0ZXIiLCAidW5pdCIsICJkaWZmZXIiLCAiZGVsdGEiLCAiZGlmZl9kZWZhdWx0IiwgIm9wdHMiLCAicmVtYWluaW5nTWlsbGlzIiwgImxvd2VyT3JkZXJVbml0cyIsICJ1IiwgImR1cmF0aW9uIiwgIm51bWJlcmluZ1N5c3RlbXMiLCAibnVtYmVyaW5nU3lzdGVtc1VURjE2IiwgImhhbmlkZWNDaGFycyIsICJwYXJzZURpZ2l0cyIsICJzdHIiLCAidmFsdWUiLCAiaSIsICJjb2RlIiwgImtleSIsICJtaW4iLCAibWF4IiwgImRpZ2l0UmVnZXgiLCAibnVtYmVyaW5nU3lzdGVtIiwgImFwcGVuZCIsICJNSVNTSU5HX0ZUUCIsICJpbnRVbml0IiwgInJlZ2V4IiwgInBvc3QiLCAiaSIsICJzIiwgInBhcnNlRGlnaXRzIiwgIk5CU1AiLCAic3BhY2VPck5CU1AiLCAic3BhY2VPck5CU1BSZWdFeHAiLCAiZml4TGlzdFJlZ2V4IiwgInN0cmlwSW5zZW5zaXRpdml0aWVzIiwgIm9uZU9mIiwgInN0cmluZ3MiLCAic3RhcnRJbmRleCIsICJvZmZzZXQiLCAiZ3JvdXBzIiwgImgiLCAibSIsICJzaWduZWRPZmZzZXQiLCAic2ltcGxlIiwgImVzY2FwZVRva2VuIiwgInZhbHVlIiwgInVuaXRGb3JUb2tlbiIsICJ0b2tlbiIsICJsb2MiLCAib25lIiwgImRpZ2l0UmVnZXgiLCAidHdvIiwgInRocmVlIiwgImZvdXIiLCAic2l4IiwgIm9uZU9yVHdvIiwgIm9uZVRvVGhyZWUiLCAib25lVG9TaXgiLCAib25lVG9OaW5lIiwgInR3b1RvRm91ciIsICJmb3VyVG9TaXgiLCAibGl0ZXJhbCIsICJ0IiwgInVuaXQiLCAidW50cnVuY2F0ZVllYXIiLCAicGFydFR5cGVTdHlsZVRvVG9rZW5WYWwiLCAidG9rZW5Gb3JQYXJ0IiwgInBhcnQiLCAibG9jYWxlIiwgImZvcm1hdE9wdHMiLCAidHlwZSIsICJzdHlsZSIsICJ2YWwiLCAiYnVpbGRSZWdleCIsICJ1bml0cyIsICJ1IiwgImYiLCAibWF0Y2giLCAiaW5wdXQiLCAiaGFuZGxlcnMiLCAibWF0Y2hlcyIsICJhbGwiLCAibWF0Y2hJbmRleCIsICJoYXNPd25Qcm9wZXJ0eSIsICJkYXRlVGltZUZyb21NYXRjaGVzIiwgInRvRmllbGQiLCAiem9uZSIsICJzcGVjaWZpY09mZnNldCIsICJpc1VuZGVmaW5lZCIsICJJQU5BWm9uZSIsICJGaXhlZE9mZnNldFpvbmUiLCAicGFyc2VNaWxsaXMiLCAiciIsICJrIiwgImR1bW15RGF0ZVRpbWVDYWNoZSIsICJnZXREdW1teURhdGVUaW1lIiwgIkRhdGVUaW1lIiwgIm1heWJlRXhwYW5kTWFjcm9Ub2tlbiIsICJGb3JtYXR0ZXIiLCAidG9rZW5zIiwgInAiLCAiZXhwYW5kTWFjcm9Ub2tlbnMiLCAiZXhwbGFpbkZyb21Ub2tlbnMiLCAiZm9ybWF0IiwgImRpc3F1YWxpZnlpbmdVbml0IiwgInJlZ2V4U3RyaW5nIiwgInJhd01hdGNoZXMiLCAicmVzdWx0IiwgIkNvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yIiwgInBhcnNlRnJvbVRva2VucyIsICJpbnZhbGlkUmVhc29uIiwgIm5vbkxlYXBMYWRkZXIiLCAibGVhcExhZGRlciIsICJ1bml0T3V0T2ZSYW5nZSIsICJ1bml0IiwgInZhbHVlIiwgIkludmFsaWQiLCAiZGF5T2ZXZWVrIiwgInllYXIiLCAibW9udGgiLCAiZGF5IiwgImQiLCAianMiLCAiY29tcHV0ZU9yZGluYWwiLCAiaXNMZWFwWWVhciIsICJ1bmNvbXB1dGVPcmRpbmFsIiwgIm9yZGluYWwiLCAidGFibGUiLCAibW9udGgwIiwgImdyZWdvcmlhblRvV2VlayIsICJncmVnT2JqIiwgIndlZWtkYXkiLCAid2Vla051bWJlciIsICJ3ZWVrWWVhciIsICJ3ZWVrc0luV2Vla1llYXIiLCAiX19zcHJlYWRWYWx1ZXMiLCAidGltZU9iamVjdCIsICJ3ZWVrVG9HcmVnb3JpYW4iLCAid2Vla0RhdGEiLCAid2Vla2RheU9mSmFuNCIsICJ5ZWFySW5EYXlzIiwgImRheXNJblllYXIiLCAiZ3JlZ29yaWFuVG9PcmRpbmFsIiwgImdyZWdEYXRhIiwgIm9yZGluYWxUb0dyZWdvcmlhbiIsICJvcmRpbmFsRGF0YSIsICJoYXNJbnZhbGlkV2Vla0RhdGEiLCAib2JqIiwgInZhbGlkWWVhciIsICJpc0ludGVnZXIiLCAidmFsaWRXZWVrIiwgImludGVnZXJCZXR3ZWVuIiwgInZhbGlkV2Vla2RheSIsICJoYXNJbnZhbGlkT3JkaW5hbERhdGEiLCAidmFsaWRPcmRpbmFsIiwgImhhc0ludmFsaWRHcmVnb3JpYW5EYXRhIiwgInZhbGlkTW9udGgiLCAidmFsaWREYXkiLCAiZGF5c0luTW9udGgiLCAiaGFzSW52YWxpZFRpbWVEYXRhIiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJtaWxsaXNlY29uZCIsICJ2YWxpZEhvdXIiLCAidmFsaWRNaW51dGUiLCAidmFsaWRTZWNvbmQiLCAidmFsaWRNaWxsaXNlY29uZCIsICJJTlZBTElEIiwgIk1BWF9EQVRFIiwgInVuc3VwcG9ydGVkWm9uZSIsICJ6b25lIiwgIkludmFsaWQiLCAicG9zc2libHlDYWNoZWRXZWVrRGF0YSIsICJkdCIsICJncmVnb3JpYW5Ub1dlZWsiLCAiY2xvbmUiLCAiaW5zdCIsICJhbHRzIiwgImN1cnJlbnQiLCAiRGF0ZVRpbWUiLCAiX19zcHJlYWRQcm9wcyIsICJfX3NwcmVhZFZhbHVlcyIsICJmaXhPZmZzZXQiLCAibG9jYWxUUyIsICJvIiwgInR6IiwgInV0Y0d1ZXNzIiwgIm8yIiwgIm8zIiwgInRzVG9PYmoiLCAidHMiLCAib2Zmc2V0IiwgImQiLCAib2JqVG9UUyIsICJvYmoiLCAib2JqVG9Mb2NhbFRTIiwgImFkanVzdFRpbWUiLCAiZHVyIiwgIm9QcmUiLCAieWVhciIsICJtb250aCIsICJjIiwgImRheXNJbk1vbnRoIiwgIm1pbGxpc1RvQWRkIiwgIkR1cmF0aW9uIiwgInBhcnNlRGF0YVRvRGF0ZVRpbWUiLCAicGFyc2VkIiwgInBhcnNlZFpvbmUiLCAib3B0cyIsICJmb3JtYXQiLCAidGV4dCIsICJzcGVjaWZpY09mZnNldCIsICJzZXRab25lIiwgImludGVycHJldGF0aW9uWm9uZSIsICJ0b1RlY2hGb3JtYXQiLCAiYWxsb3daIiwgIkZvcm1hdHRlciIsICJMb2NhbGUiLCAidG9JU09EYXRlIiwgImV4dGVuZGVkIiwgImxvbmdGb3JtYXQiLCAicGFkU3RhcnQiLCAidG9JU09UaW1lIiwgInN1cHByZXNzU2Vjb25kcyIsICJzdXBwcmVzc01pbGxpc2Vjb25kcyIsICJpbmNsdWRlT2Zmc2V0IiwgImV4dGVuZGVkWm9uZSIsICJkZWZhdWx0VW5pdFZhbHVlcyIsICJkZWZhdWx0V2Vla1VuaXRWYWx1ZXMiLCAiZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzIiwgIm9yZGVyZWRVbml0cyIsICJvcmRlcmVkV2Vla1VuaXRzIiwgIm9yZGVyZWRPcmRpbmFsVW5pdHMiLCAibm9ybWFsaXplVW5pdCIsICJ1bml0IiwgIm5vcm1hbGl6ZWQiLCAiSW52YWxpZFVuaXRFcnJvciIsICJxdWlja0RUIiwgIm5vcm1hbGl6ZVpvbmUiLCAiU2V0dGluZ3MiLCAibG9jIiwgInRzTm93IiwgImlzVW5kZWZpbmVkIiwgInUiLCAiaW52YWxpZCIsICJoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YSIsICJoYXNJbnZhbGlkVGltZURhdGEiLCAib2Zmc2V0UHJvdmlzIiwgImRpZmZSZWxhdGl2ZSIsICJzdGFydCIsICJlbmQiLCAicm91bmQiLCAicm91bmRUbyIsICJkaWZmZXIiLCAiY291bnQiLCAibGFzdE9wdHMiLCAiYXJnTGlzdCIsICJhcmdzIiwgIl9EYXRlVGltZSIsICJjb25maWciLCAib3QiLCAiZGF5IiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJtaWxsaXNlY29uZCIsICJGaXhlZE9mZnNldFpvbmUiLCAiZGF0ZSIsICJvcHRpb25zIiwgImlzRGF0ZSIsICJ6b25lVG9Vc2UiLCAibWlsbGlzZWNvbmRzIiwgImlzTnVtYmVyIiwgIkludmFsaWRBcmd1bWVudEVycm9yIiwgInNlY29uZHMiLCAibm9ybWFsaXplT2JqZWN0IiwgImNvbnRhaW5zT3JkaW5hbCIsICJjb250YWluc0dyZWdvclllYXIiLCAiY29udGFpbnNHcmVnb3JNRCIsICJjb250YWluc0dyZWdvciIsICJkZWZpbml0ZVdlZWtEZWYiLCAiQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IiLCAidXNlV2Vla0RhdGEiLCAidW5pdHMiLCAiZGVmYXVsdFZhbHVlcyIsICJvYmpOb3ciLCAiZ3JlZ29yaWFuVG9PcmRpbmFsIiwgImZvdW5kRmlyc3QiLCAidiIsICJoaWdoZXJPcmRlckludmFsaWQiLCAiaGFzSW52YWxpZFdlZWtEYXRhIiwgImhhc0ludmFsaWRPcmRpbmFsRGF0YSIsICJncmVnb3JpYW4iLCAid2Vla1RvR3JlZ29yaWFuIiwgIm9yZGluYWxUb0dyZWdvcmlhbiIsICJ0c0ZpbmFsIiwgIm9mZnNldEZpbmFsIiwgInZhbHMiLCAicGFyc2VJU09EYXRlIiwgInBhcnNlUkZDMjgyMkRhdGUiLCAicGFyc2VIVFRQRGF0ZSIsICJmbXQiLCAibG9jYWxlIiwgIm51bWJlcmluZ1N5c3RlbSIsICJsb2NhbGVUb1VzZSIsICJwYXJzZUZyb21Ub2tlbnMiLCAicGFyc2VTUUwiLCAicmVhc29uIiwgImV4cGxhbmF0aW9uIiwgIkludmFsaWREYXRlVGltZUVycm9yIiwgIkluZm8iLCAiaXNMZWFwWWVhciIsICJkYXlzSW5ZZWFyIiwgIndlZWtzSW5XZWVrWWVhciIsICJjYWxlbmRhciIsICJrZWVwTG9jYWxUaW1lIiwgImtlZXBDYWxlbmRhclRpbWUiLCAibmV3VFMiLCAib2Zmc2V0R3Vlc3MiLCAiYXNPYmoiLCAib3V0cHV0Q2FsZW5kYXIiLCAidmFsdWVzIiwgInNldHRpbmdXZWVrU3R1ZmYiLCAibWl4ZWQiLCAiZHVyYXRpb24iLCAibm9ybWFsaXplZFVuaXQiLCAicSIsICJmb3JtYXRPcHRzIiwgIkRBVEVfU0hPUlQiLCAiZXh0IiwgImluY2x1ZGVQcmVmaXgiLCAiaW5jbHVkZVpvbmUiLCAiaW5jbHVkZU9mZnNldFNwYWNlIiwgImJhc2UiLCAib3RoZXJEYXRlVGltZSIsICJkdXJPcHRzIiwgIm1heWJlQXJyYXkiLCAib3RoZXJJc0xhdGVyIiwgImVhcmxpZXIiLCAibGF0ZXIiLCAiZGlmZmVkIiwgImRpZmZfZGVmYXVsdCIsICJJbnRlcnZhbCIsICJpbnB1dE1zIiwgImFkanVzdGVkVG9ab25lIiwgIm90aGVyIiwgInBhZGRpbmciLCAiZGF0ZVRpbWVzIiwgImJlc3RCeSIsICJpIiwgImV4cGxhaW5Gcm9tVG9rZW5zIiwgIkRBVEVfTUVEIiwgIkRBVEVfTUVEX1dJVEhfV0VFS0RBWSIsICJEQVRFX0ZVTEwiLCAiREFURV9IVUdFIiwgIlRJTUVfU0lNUExFIiwgIlRJTUVfV0lUSF9TRUNPTkRTIiwgIlRJTUVfV0lUSF9TSE9SVF9PRkZTRVQiLCAiVElNRV9XSVRIX0xPTkdfT0ZGU0VUIiwgIlRJTUVfMjRfU0lNUExFIiwgIlRJTUVfMjRfV0lUSF9TRUNPTkRTIiwgIlRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQiLCAiVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUIiwgIkRBVEVUSU1FX1NIT1JUIiwgIkRBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUyIsICJEQVRFVElNRV9NRUQiLCAiREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUyIsICJEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZIiwgIkRBVEVUSU1FX0ZVTEwiLCAiREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfSFVHRSIsICJEQVRFVElNRV9IVUdFX1dJVEhfU0VDT05EUyIsICJmcmllbmRseURhdGVUaW1lIiwgImRhdGVUaW1laXNoIiwgIlAiLCAiZW1vamlfcmVnZXhfZGVmYXVsdCIsICJub3JtYWxpemVEdXJhdGlvbiIsICJkdXIiLCAicmVuZGVyTWluaW1hbERhdGUiLCAidGltZSIsICJkYXRlRm9ybWF0IiwgImRhdGVUaW1lRm9ybWF0IiwgImxvY2FsZSIsICJyZW5kZXJNaW5pbWFsRHVyYXRpb24iLCAiZHVyIiwgIm5vcm1hbGl6ZUR1cmF0aW9uIiwgInJlc3VsdCIsICJnZXRGaWxlVGl0bGUiLCAicGF0aCIsICJnZXRFeHRlbnNpb24iLCAiSEVBREVSX0NBTk9OSUNBTElaRVIiLCAiZW1vamlfcmVnZXhfZGVmYXVsdCIsICJfIiwgInJlc3VsdCIsICJub3JtYWxpemVIZWFkZXJGb3JMaW5rIiwgImhlYWRlciIsICJMaW5rIiwgIl9MaW5rIiwgInBhdGgiLCAiZW1iZWQiLCAiZGlzcGxheSIsICJsaW5rcGF0aCIsICJzcGxpdCIsICJoZWFkZXIiLCAibm9ybWFsaXplSGVhZGVyRm9yTGluayIsICJibG9ja0lkIiwgIm9iamVjdCIsICJyYXdsaW5rIiwgImxpbmsiLCAic3BsaXRPblVuZXNjYXBlZFBpcGUiLCAiZmllbGRzIiwgImJsb2NrIiwgIm90aGVyIiwgInJlc3VsdCIsICJnZXRGaWxlVGl0bGUiLCAiX2EiLCAiX2IiLCAiZXNjYXBlZCIsICJwaXBlIiwgIkFMSUFTIiwgIkRPQyIsICJNQVAiLCAiUEFJUiIsICJTQ0FMQVIiLCAiU0VRIiwgIk5PREVfVFlQRSIsICJpc0FsaWFzIiwgIm5vZGUiLCAiaXNEb2N1bWVudCIsICJpc01hcCIsICJpc1BhaXIiLCAiaXNTY2FsYXIiLCAiaXNTZXEiLCAiaXNDb2xsZWN0aW9uIiwgImlzTm9kZSIsICJoYXNBbmNob3IiLCAiQlJFQUsiLCAiU0tJUCIsICJSRU1PVkUiLCAidmlzaXQiLCAibm9kZSIsICJ2aXNpdG9yIiwgInZpc2l0b3JfIiwgImluaXRWaXNpdG9yIiwgImlzRG9jdW1lbnQiLCAidmlzaXRfIiwgImtleSIsICJwYXRoIiwgImN0cmwiLCAiY2FsbFZpc2l0b3IiLCAiaXNOb2RlIiwgImlzUGFpciIsICJyZXBsYWNlTm9kZSIsICJpc0NvbGxlY3Rpb24iLCAiY2kiLCAiY2siLCAiY3YiLCAidmlzaXRBc3luYyIsICJ2aXNpdEFzeW5jXyIsICJfYSIsICJfYiIsICJfYyIsICJfZCIsICJfZSIsICJpc01hcCIsICJpc1NlcSIsICJpc1NjYWxhciIsICJpc0FsaWFzIiwgInBhcmVudCIsICJwdCIsICJlc2NhcGVDaGFycyIsICJlc2NhcGVUYWdOYW1lIiwgInRuIiwgImNoIiwgIkRpcmVjdGl2ZXMiLCAiX0RpcmVjdGl2ZXMiLCAieWFtbCIsICJ0YWdzIiwgImNvcHkiLCAicmVzIiwgImxpbmUiLCAib25FcnJvciIsICJwYXJ0cyIsICJuYW1lIiwgImhhbmRsZSIsICJwcmVmaXgiLCAidmVyc2lvbiIsICJpc1ZhbGlkIiwgInNvdXJjZSIsICJ2ZXJiYXRpbSIsICJzdWZmaXgiLCAiZXJyb3IiLCAidGFnIiwgImRvYyIsICJsaW5lcyIsICJ0YWdFbnRyaWVzIiwgInRhZ05hbWVzIiwgImlzTm9kZSIsICJ2aXNpdCIsICJfa2V5IiwgIm5vZGUiLCAiYW5jaG9ySXNWYWxpZCIsICJhbmNob3IiLCAibXNnIiwgImFuY2hvck5hbWVzIiwgInJvb3QiLCAiYW5jaG9ycyIsICJ2aXNpdCIsICJfa2V5IiwgIm5vZGUiLCAiZmluZE5ld0FuY2hvciIsICJwcmVmaXgiLCAiZXhjbHVkZSIsICJpIiwgIm5hbWUiLCAiY3JlYXRlTm9kZUFuY2hvcnMiLCAiZG9jIiwgImFsaWFzT2JqZWN0cyIsICJzb3VyY2VPYmplY3RzIiwgInByZXZBbmNob3JzIiwgInNvdXJjZSIsICJyZWYiLCAiaXNTY2FsYXIiLCAiaXNDb2xsZWN0aW9uIiwgImVycm9yIiwgImFwcGx5UmV2aXZlciIsICJyZXZpdmVyIiwgIm9iaiIsICJrZXkiLCAidmFsIiwgImkiLCAibGVuIiwgInYwIiwgInYxIiwgImsiLCAidG9KUyIsICJ2YWx1ZSIsICJhcmciLCAiY3R4IiwgInYiLCAiaSIsICJoYXNBbmNob3IiLCAiZGF0YSIsICJyZXMiLCAiTm9kZUJhc2UiLCAidHlwZSIsICJOT0RFX1RZUEUiLCAiY29weSIsICJkb2MiLCAibWFwQXNNYXAiLCAibWF4QWxpYXNDb3VudCIsICJvbkFuY2hvciIsICJyZXZpdmVyIiwgImlzRG9jdW1lbnQiLCAiY3R4IiwgInJlcyIsICJ0b0pTIiwgImNvdW50IiwgImFwcGx5UmV2aXZlciIsICJBbGlhcyIsICJOb2RlQmFzZSIsICJzb3VyY2UiLCAiQUxJQVMiLCAiZG9jIiwgImZvdW5kIiwgInZpc2l0IiwgIl9rZXkiLCAibm9kZSIsICJfYXJnIiwgImN0eCIsICJhbmNob3JzIiwgIm1heEFsaWFzQ291bnQiLCAibXNnIiwgImRhdGEiLCAidG9KUyIsICJnZXRBbGlhc0NvdW50IiwgIl9vbkNvbW1lbnQiLCAiX29uQ2hvbXBLZWVwIiwgInNyYyIsICJhbmNob3JJc1ZhbGlkIiwgImlzQWxpYXMiLCAiYW5jaG9yIiwgImlzQ29sbGVjdGlvbiIsICJjb3VudCIsICJpdGVtIiwgImMiLCAiaXNQYWlyIiwgImtjIiwgInZjIiwgImlzU2NhbGFyVmFsdWUiLCAidmFsdWUiLCAiU2NhbGFyIiwgIk5vZGVCYXNlIiwgIlNDQUxBUiIsICJhcmciLCAiY3R4IiwgInRvSlMiLCAiZGVmYXVsdFRhZ1ByZWZpeCIsICJmaW5kVGFnT2JqZWN0IiwgInZhbHVlIiwgInRhZ05hbWUiLCAidGFncyIsICJfYSIsICJtYXRjaCIsICJ0IiwgInRhZ09iaiIsICJjcmVhdGVOb2RlIiwgImN0eCIsICJfYiIsICJfYyIsICJpc0RvY3VtZW50IiwgImlzTm9kZSIsICJpc1BhaXIiLCAibWFwIiwgIk1BUCIsICJhbGlhc0R1cGxpY2F0ZU9iamVjdHMiLCAib25BbmNob3IiLCAib25UYWdPYmoiLCAic2NoZW1hIiwgInNvdXJjZU9iamVjdHMiLCAicmVmIiwgIkFsaWFzIiwgIm5vZGUiLCAiU2NhbGFyIiwgIlNFUSIsICJjb2xsZWN0aW9uRnJvbVBhdGgiLCAic2NoZW1hIiwgInBhdGgiLCAidmFsdWUiLCAidiIsICJpIiwgImsiLCAiYSIsICJjcmVhdGVOb2RlIiwgImlzRW1wdHlQYXRoIiwgIkNvbGxlY3Rpb24iLCAiTm9kZUJhc2UiLCAidHlwZSIsICJjb3B5IiwgIml0IiwgImlzTm9kZSIsICJpc1BhaXIiLCAia2V5IiwgInJlc3QiLCAibm9kZSIsICJpc0NvbGxlY3Rpb24iLCAia2VlcFNjYWxhciIsICJpc1NjYWxhciIsICJhbGxvd1NjYWxhciIsICJuIiwgInN0cmluZ2lmeUNvbW1lbnQiLCAic3RyIiwgImluZGVudENvbW1lbnQiLCAiY29tbWVudCIsICJpbmRlbnQiLCAibGluZUNvbW1lbnQiLCAiRk9MRF9GTE9XIiwgIkZPTERfQkxPQ0siLCAiRk9MRF9RVU9URUQiLCAiZm9sZEZsb3dMaW5lcyIsICJ0ZXh0IiwgImluZGVudCIsICJtb2RlIiwgImluZGVudEF0U3RhcnQiLCAibGluZVdpZHRoIiwgIm1pbkNvbnRlbnRXaWR0aCIsICJvbkZvbGQiLCAib25PdmVyZmxvdyIsICJlbmRTdGVwIiwgImZvbGRzIiwgImVzY2FwZWRGb2xkcyIsICJlbmQiLCAic3BsaXQiLCAicHJldiIsICJvdmVyZmxvdyIsICJpIiwgImVzY1N0YXJ0IiwgImVzY0VuZCIsICJjb25zdW1lTW9yZUluZGVudGVkTGluZXMiLCAiY2giLCAibmV4dCIsICJqIiwgInJlcyIsICJmb2xkIiwgInN0YXJ0IiwgImdldEZvbGRPcHRpb25zIiwgImN0eCIsICJpc0Jsb2NrIiwgImNvbnRhaW5zRG9jdW1lbnRNYXJrZXIiLCAic3RyIiwgImxpbmVMZW5ndGhPdmVyTGltaXQiLCAibGluZVdpZHRoIiwgImluZGVudExlbmd0aCIsICJsaW1pdCIsICJzdHJMZW4iLCAic3RhcnQiLCAiZG91YmxlUXVvdGVkU3RyaW5nIiwgInZhbHVlIiwgImpzb24iLCAiaW1wbGljaXRLZXkiLCAibWluTXVsdGlMaW5lTGVuZ3RoIiwgImluZGVudCIsICJpIiwgImNoIiwgImNvZGUiLCAiZm9sZEZsb3dMaW5lcyIsICJGT0xEX1FVT1RFRCIsICJzaW5nbGVRdW90ZWRTdHJpbmciLCAicmVzIiwgIkZPTERfRkxPVyIsICJxdW90ZWRTdHJpbmciLCAic2luZ2xlUXVvdGUiLCAicXMiLCAiaGFzRG91YmxlIiwgImhhc1NpbmdsZSIsICJibG9ja0VuZE5ld2xpbmVzIiwgImUiLCAiYmxvY2tTdHJpbmciLCAiY29tbWVudCIsICJ0eXBlIiwgIm9uQ29tbWVudCIsICJvbkNob21wS2VlcCIsICJibG9ja1F1b3RlIiwgImNvbW1lbnRTdHJpbmciLCAibGl0ZXJhbCIsICJTY2FsYXIiLCAiY2hvbXAiLCAiZW5kU3RhcnQiLCAiZW5kIiwgImVuZE5sUG9zIiwgInN0YXJ0V2l0aFNwYWNlIiwgInN0YXJ0RW5kIiwgInN0YXJ0TmxQb3MiLCAiaGVhZGVyIiwgImJvZHkiLCAiRk9MRF9CTE9DSyIsICJwbGFpblN0cmluZyIsICJpdGVtIiwgImFjdHVhbFN0cmluZyIsICJpbmRlbnRTdGVwIiwgImluRmxvdyIsICJ0ZXN0IiwgInRhZyIsICJfYSIsICJjb21wYXQiLCAidGFncyIsICJzdHJpbmdpZnlTdHJpbmciLCAic3MiLCAiX3N0cmluZ2lmeSIsICJfdHlwZSIsICJkZWZhdWx0S2V5VHlwZSIsICJkZWZhdWx0U3RyaW5nVHlwZSIsICJ0IiwgImNyZWF0ZVN0cmluZ2lmeUNvbnRleHQiLCAiZG9jIiwgIm9wdGlvbnMiLCAib3B0IiwgInN0cmluZ2lmeUNvbW1lbnQiLCAiaW5GbG93IiwgImdldFRhZ09iamVjdCIsICJ0YWdzIiwgIml0ZW0iLCAiX2EiLCAiX2IiLCAiX2MiLCAiX2QiLCAibWF0Y2giLCAidCIsICJ0YWdPYmoiLCAib2JqIiwgImlzU2NhbGFyIiwgInRlc3RNYXRjaCIsICJuYW1lIiwgInN0cmluZ2lmeVByb3BzIiwgIm5vZGUiLCAiYW5jaG9ycyIsICJwcm9wcyIsICJhbmNob3IiLCAiaXNDb2xsZWN0aW9uIiwgImFuY2hvcklzVmFsaWQiLCAidGFnIiwgInN0cmluZ2lmeSIsICJjdHgiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgImlzUGFpciIsICJpc0FsaWFzIiwgImlzTm9kZSIsICJvIiwgInN0ciIsICJzdHJpbmdpZnlTdHJpbmciLCAic3RyaW5naWZ5UGFpciIsICJrZXkiLCAidmFsdWUiLCAiY3R4IiwgIm9uQ29tbWVudCIsICJvbkNob21wS2VlcCIsICJfYSIsICJfYiIsICJhbGxOdWxsVmFsdWVzIiwgImRvYyIsICJpbmRlbnQiLCAiaW5kZW50U3RlcCIsICJjb21tZW50U3RyaW5nIiwgImluZGVudFNlcSIsICJzaW1wbGVLZXlzIiwgImtleUNvbW1lbnQiLCAiaXNOb2RlIiwgImlzQ29sbGVjdGlvbiIsICJtc2ciLCAiZXhwbGljaXRLZXkiLCAiaXNTY2FsYXIiLCAiU2NhbGFyIiwgImtleUNvbW1lbnREb25lIiwgImNob21wS2VlcCIsICJzdHIiLCAic3RyaW5naWZ5IiwgImxpbmVDb21tZW50IiwgInZzYiIsICJ2Y2IiLCAidmFsdWVDb21tZW50IiwgImlzU2VxIiwgInZhbHVlQ29tbWVudERvbmUiLCAidmFsdWVTdHIiLCAid3MiLCAiY3MiLCAiaW5kZW50Q29tbWVudCIsICJ2czAiLCAibmwwIiwgImhhc05ld2xpbmUiLCAiZmxvdyIsICJoYXNQcm9wc0xpbmUiLCAic3AwIiwgIndhcm4iLCAibG9nTGV2ZWwiLCAid2FybmluZyIsICJNRVJHRV9LRVkiLCAibWVyZ2UiLCAidmFsdWUiLCAiU2NhbGFyIiwgImFkZE1lcmdlVG9KU01hcCIsICJpc01lcmdlS2V5IiwgImN0eCIsICJrZXkiLCAiaXNTY2FsYXIiLCAidGFnIiwgIm1hcCIsICJpc0FsaWFzIiwgImlzU2VxIiwgIml0IiwgIm1lcmdlVmFsdWUiLCAic291cmNlIiwgImlzTWFwIiwgInNyY01hcCIsICJhZGRQYWlyVG9KU01hcCIsICJjdHgiLCAibWFwIiwgImtleSIsICJ2YWx1ZSIsICJpc05vZGUiLCAiaXNNZXJnZUtleSIsICJhZGRNZXJnZVRvSlNNYXAiLCAianNLZXkiLCAidG9KUyIsICJzdHJpbmdLZXkiLCAic3RyaW5naWZ5S2V5IiwgImpzVmFsdWUiLCAic3RyQ3R4IiwgImNyZWF0ZVN0cmluZ2lmeUNvbnRleHQiLCAibm9kZSIsICJzdHJLZXkiLCAianNvblN0ciIsICJ3YXJuIiwgImNyZWF0ZVBhaXIiLCAia2V5IiwgInZhbHVlIiwgImN0eCIsICJrIiwgImNyZWF0ZU5vZGUiLCAidiIsICJQYWlyIiwgIl9QYWlyIiwgIk5PREVfVFlQRSIsICJQQUlSIiwgInNjaGVtYSIsICJpc05vZGUiLCAiXyIsICJwYWlyIiwgImFkZFBhaXJUb0pTTWFwIiwgIm9uQ29tbWVudCIsICJvbkNob21wS2VlcCIsICJzdHJpbmdpZnlQYWlyIiwgInN0cmluZ2lmeUNvbGxlY3Rpb24iLCAiY29sbGVjdGlvbiIsICJjdHgiLCAib3B0aW9ucyIsICJfYSIsICJzdHJpbmdpZnlGbG93Q29sbGVjdGlvbiIsICJzdHJpbmdpZnlCbG9ja0NvbGxlY3Rpb24iLCAiY29tbWVudCIsICJpdGVtcyIsICJibG9ja0l0ZW1QcmVmaXgiLCAiZmxvd0NoYXJzIiwgIml0ZW1JbmRlbnQiLCAib25DaG9tcEtlZXAiLCAib25Db21tZW50IiwgImluZGVudCIsICJjb21tZW50U3RyaW5nIiwgIml0ZW1DdHgiLCAiY2hvbXBLZWVwIiwgImxpbmVzIiwgImkiLCAiaXRlbSIsICJpc05vZGUiLCAiYWRkQ29tbWVudEJlZm9yZSIsICJpc1BhaXIiLCAiaWsiLCAic3RyIiwgInN0cmluZ2lmeSIsICJsaW5lQ29tbWVudCIsICJsaW5lIiwgImluZGVudENvbW1lbnQiLCAiaW5kZW50U3RlcCIsICJmY1BhZGRpbmciLCAicmVxTmV3bGluZSIsICJsaW5lc0F0VmFsdWUiLCAiaXYiLCAic3RhcnQiLCAiZW5kIiwgImxlbiIsICJzdW0iLCAiaWMiLCAiZmluZFBhaXIiLCAiaXRlbXMiLCAia2V5IiwgImsiLCAiaXNTY2FsYXIiLCAiaXQiLCAiaXNQYWlyIiwgIllBTUxNYXAiLCAiQ29sbGVjdGlvbiIsICJzY2hlbWEiLCAiTUFQIiwgIm9iaiIsICJjdHgiLCAia2VlcFVuZGVmaW5lZCIsICJyZXBsYWNlciIsICJtYXAiLCAiYWRkIiwgInZhbHVlIiwgImNyZWF0ZVBhaXIiLCAicGFpciIsICJvdmVyd3JpdGUiLCAiX2EiLCAiX3BhaXIiLCAiUGFpciIsICJwcmV2IiwgInNvcnRFbnRyaWVzIiwgImlzU2NhbGFyVmFsdWUiLCAiaSIsICJpdGVtIiwgImtlZXBTY2FsYXIiLCAibm9kZSIsICJfIiwgIlR5cGUiLCAiYWRkUGFpclRvSlNNYXAiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgInN0cmluZ2lmeUNvbGxlY3Rpb24iLCAibWFwIiwgIllBTUxNYXAiLCAib25FcnJvciIsICJpc01hcCIsICJzY2hlbWEiLCAib2JqIiwgImN0eCIsICJZQU1MU2VxIiwgIkNvbGxlY3Rpb24iLCAic2NoZW1hIiwgIlNFUSIsICJ2YWx1ZSIsICJrZXkiLCAiaWR4IiwgImFzSXRlbUluZGV4IiwgImtlZXBTY2FsYXIiLCAiaXQiLCAiaXNTY2FsYXIiLCAicHJldiIsICJpc1NjYWxhclZhbHVlIiwgIl8iLCAiY3R4IiwgInNlcSIsICJpIiwgIml0ZW0iLCAidG9KUyIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAic3RyaW5naWZ5Q29sbGVjdGlvbiIsICJvYmoiLCAicmVwbGFjZXIiLCAiY3JlYXRlTm9kZSIsICJzZXEiLCAiWUFNTFNlcSIsICJvbkVycm9yIiwgImlzU2VxIiwgInNjaGVtYSIsICJvYmoiLCAiY3R4IiwgInN0cmluZyIsICJ2YWx1ZSIsICJzdHIiLCAiaXRlbSIsICJjdHgiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgInN0cmluZ2lmeVN0cmluZyIsICJudWxsVGFnIiwgInZhbHVlIiwgIlNjYWxhciIsICJzb3VyY2UiLCAiY3R4IiwgImJvb2xUYWciLCAidmFsdWUiLCAic3RyIiwgIlNjYWxhciIsICJzb3VyY2UiLCAiY3R4IiwgInN2IiwgInN0cmluZ2lmeU51bWJlciIsICJmb3JtYXQiLCAibWluRnJhY3Rpb25EaWdpdHMiLCAidGFnIiwgInZhbHVlIiwgIm51bSIsICJuIiwgImkiLCAiZCIsICJmbG9hdE5hTiIsICJ2YWx1ZSIsICJzdHIiLCAic3RyaW5naWZ5TnVtYmVyIiwgImZsb2F0RXhwIiwgIm5vZGUiLCAibnVtIiwgImZsb2F0IiwgIlNjYWxhciIsICJkb3QiLCAiaW50SWRlbnRpZnkiLCAidmFsdWUiLCAiaW50UmVzb2x2ZSIsICJzdHIiLCAib2Zmc2V0IiwgInJhZGl4IiwgImludEFzQmlnSW50IiwgImludFN0cmluZ2lmeSIsICJub2RlIiwgInByZWZpeCIsICJzdHJpbmdpZnlOdW1iZXIiLCAiaW50T2N0IiwgIl9vbkVycm9yIiwgIm9wdCIsICJpbnQiLCAiaW50SGV4IiwgInNjaGVtYSIsICJtYXAiLCAic2VxIiwgInN0cmluZyIsICJudWxsVGFnIiwgImJvb2xUYWciLCAiaW50T2N0IiwgImludCIsICJpbnRIZXgiLCAiZmxvYXROYU4iLCAiZmxvYXRFeHAiLCAiZmxvYXQiLCAiaW50SWRlbnRpZnkiLCAidmFsdWUiLCAic3RyaW5naWZ5SlNPTiIsICJqc29uU2NhbGFycyIsICJzdHIiLCAiU2NhbGFyIiwgIl9vbkVycm9yIiwgImludEFzQmlnSW50IiwgImpzb25FcnJvciIsICJvbkVycm9yIiwgInNjaGVtYSIsICJtYXAiLCAic2VxIiwgImJpbmFyeSIsICJ2YWx1ZSIsICJzcmMiLCAib25FcnJvciIsICJzdHIiLCAiYnVmZmVyIiwgImkiLCAiY29tbWVudCIsICJ0eXBlIiwgImN0eCIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAiYnVmIiwgInMiLCAiU2NhbGFyIiwgImxpbmVXaWR0aCIsICJuIiwgImxpbmVzIiwgIm8iLCAic3RyaW5naWZ5U3RyaW5nIiwgInJlc29sdmVQYWlycyIsICJzZXEiLCAib25FcnJvciIsICJfYSIsICJpc1NlcSIsICJpIiwgIml0ZW0iLCAiaXNQYWlyIiwgImlzTWFwIiwgInBhaXIiLCAiUGFpciIsICJTY2FsYXIiLCAiY24iLCAiY3JlYXRlUGFpcnMiLCAic2NoZW1hIiwgIml0ZXJhYmxlIiwgImN0eCIsICJyZXBsYWNlciIsICJwYWlycyIsICJZQU1MU2VxIiwgIml0IiwgImtleSIsICJ2YWx1ZSIsICJrZXlzIiwgImNyZWF0ZVBhaXIiLCAiWUFNTE9NYXAiLCAiX1lBTUxPTWFwIiwgIllBTUxTZXEiLCAiWUFNTE1hcCIsICJfIiwgImN0eCIsICJtYXAiLCAicGFpciIsICJrZXkiLCAidmFsdWUiLCAiaXNQYWlyIiwgInRvSlMiLCAic2NoZW1hIiwgIml0ZXJhYmxlIiwgInBhaXJzIiwgImNyZWF0ZVBhaXJzIiwgIm9tYXAiLCAic2VxIiwgIm9uRXJyb3IiLCAicmVzb2x2ZVBhaXJzIiwgInNlZW5LZXlzIiwgImlzU2NhbGFyIiwgImJvb2xTdHJpbmdpZnkiLCAidmFsdWUiLCAic291cmNlIiwgImN0eCIsICJ0cnVlVGFnIiwgImZhbHNlVGFnIiwgIlNjYWxhciIsICJmbG9hdE5hTiIsICJ2YWx1ZSIsICJzdHIiLCAic3RyaW5naWZ5TnVtYmVyIiwgImZsb2F0RXhwIiwgIm5vZGUiLCAibnVtIiwgImZsb2F0IiwgIlNjYWxhciIsICJkb3QiLCAiZiIsICJpbnRJZGVudGlmeSIsICJ2YWx1ZSIsICJpbnRSZXNvbHZlIiwgInN0ciIsICJvZmZzZXQiLCAicmFkaXgiLCAiaW50QXNCaWdJbnQiLCAic2lnbiIsICJuIiwgImludFN0cmluZ2lmeSIsICJub2RlIiwgInByZWZpeCIsICJzdHJpbmdpZnlOdW1iZXIiLCAiaW50QmluIiwgIl9vbkVycm9yIiwgIm9wdCIsICJpbnRPY3QiLCAiaW50IiwgImludEhleCIsICJZQU1MU2V0IiwgIl9ZQU1MU2V0IiwgIllBTUxNYXAiLCAic2NoZW1hIiwgImtleSIsICJwYWlyIiwgImlzUGFpciIsICJQYWlyIiwgImZpbmRQYWlyIiwgImtlZXBQYWlyIiwgImlzU2NhbGFyIiwgInZhbHVlIiwgInByZXYiLCAiXyIsICJjdHgiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgIml0ZXJhYmxlIiwgInJlcGxhY2VyIiwgInNldCIsICJjcmVhdGVQYWlyIiwgIm1hcCIsICJvbkVycm9yIiwgImlzTWFwIiwgInBhcnNlU2V4YWdlc2ltYWwiLCAic3RyIiwgImFzQmlnSW50IiwgInNpZ24iLCAicGFydHMiLCAibnVtIiwgIm4iLCAicmVzIiwgInAiLCAic3RyaW5naWZ5U2V4YWdlc2ltYWwiLCAibm9kZSIsICJ2YWx1ZSIsICJzdHJpbmdpZnlOdW1iZXIiLCAiXzYwIiwgImludFRpbWUiLCAiX29uRXJyb3IiLCAiaW50QXNCaWdJbnQiLCAiZmxvYXRUaW1lIiwgInRpbWVzdGFtcCIsICJtYXRjaCIsICJ5ZWFyIiwgIm1vbnRoIiwgImRheSIsICJob3VyIiwgIm1pbnV0ZSIsICJzZWNvbmQiLCAibWlsbGlzZWMiLCAiZGF0ZSIsICJ0eiIsICJzY2hlbWEiLCAibWFwIiwgInNlcSIsICJzdHJpbmciLCAibnVsbFRhZyIsICJ0cnVlVGFnIiwgImZhbHNlVGFnIiwgImludEJpbiIsICJpbnRPY3QiLCAiaW50IiwgImludEhleCIsICJmbG9hdE5hTiIsICJmbG9hdEV4cCIsICJmbG9hdCIsICJiaW5hcnkiLCAibWVyZ2UiLCAib21hcCIsICJwYWlycyIsICJzZXQiLCAiaW50VGltZSIsICJmbG9hdFRpbWUiLCAidGltZXN0YW1wIiwgInNjaGVtYXMiLCAic2NoZW1hIiwgIm1hcCIsICJzZXEiLCAic3RyaW5nIiwgInRhZ3NCeU5hbWUiLCAiYmluYXJ5IiwgImJvb2xUYWciLCAiZmxvYXQiLCAiZmxvYXRFeHAiLCAiZmxvYXROYU4iLCAiZmxvYXRUaW1lIiwgImludCIsICJpbnRIZXgiLCAiaW50T2N0IiwgImludFRpbWUiLCAibWVyZ2UiLCAibnVsbFRhZyIsICJvbWFwIiwgInBhaXJzIiwgInNldCIsICJ0aW1lc3RhbXAiLCAiY29yZUtub3duVGFncyIsICJnZXRUYWdzIiwgImN1c3RvbVRhZ3MiLCAic2NoZW1hTmFtZSIsICJhZGRNZXJnZVRhZyIsICJzY2hlbWFUYWdzIiwgInRhZ3MiLCAia2V5cyIsICJrZXkiLCAidGFnIiwgInRhZ09iaiIsICJ0YWdOYW1lIiwgInNvcnRNYXBFbnRyaWVzQnlLZXkiLCAiYSIsICJiIiwgIlNjaGVtYSIsICJfU2NoZW1hIiwgImNvbXBhdCIsICJjdXN0b21UYWdzIiwgIm1lcmdlIiwgInJlc29sdmVLbm93blRhZ3MiLCAic2NoZW1hIiwgInNvcnRNYXBFbnRyaWVzIiwgInRvU3RyaW5nRGVmYXVsdHMiLCAiZ2V0VGFncyIsICJjb3JlS25vd25UYWdzIiwgIk1BUCIsICJtYXAiLCAiU0NBTEFSIiwgInN0cmluZyIsICJTRVEiLCAic2VxIiwgImNvcHkiLCAic3RyaW5naWZ5RG9jdW1lbnQiLCAiZG9jIiwgIm9wdGlvbnMiLCAiX2EiLCAibGluZXMiLCAiaGFzRGlyZWN0aXZlcyIsICJkaXIiLCAiY3R4IiwgImNyZWF0ZVN0cmluZ2lmeUNvbnRleHQiLCAiY29tbWVudFN0cmluZyIsICJjcyIsICJpbmRlbnRDb21tZW50IiwgImNob21wS2VlcCIsICJjb250ZW50Q29tbWVudCIsICJpc05vZGUiLCAib25DaG9tcEtlZXAiLCAiYm9keSIsICJzdHJpbmdpZnkiLCAibGluZUNvbW1lbnQiLCAiZGMiLCAiRG9jdW1lbnQiLCAiX0RvY3VtZW50IiwgInZhbHVlIiwgInJlcGxhY2VyIiwgIm9wdGlvbnMiLCAiTk9ERV9UWVBFIiwgIkRPQyIsICJfcmVwbGFjZXIiLCAib3B0IiwgInZlcnNpb24iLCAiRGlyZWN0aXZlcyIsICJjb3B5IiwgImlzTm9kZSIsICJhc3NlcnRDb2xsZWN0aW9uIiwgInBhdGgiLCAibm9kZSIsICJuYW1lIiwgInByZXYiLCAiYW5jaG9yTmFtZXMiLCAiZmluZE5ld0FuY2hvciIsICJBbGlhcyIsICJrZXlUb1N0ciIsICJ2IiwgImFzU3RyIiwgImFsaWFzRHVwbGljYXRlT2JqZWN0cyIsICJhbmNob3JQcmVmaXgiLCAiZmxvdyIsICJrZWVwVW5kZWZpbmVkIiwgIm9uVGFnT2JqIiwgInRhZyIsICJvbkFuY2hvciIsICJzZXRBbmNob3JzIiwgInNvdXJjZU9iamVjdHMiLCAiY3JlYXRlTm9kZUFuY2hvcnMiLCAiY3R4IiwgImNyZWF0ZU5vZGUiLCAiaXNDb2xsZWN0aW9uIiwgImtleSIsICJrIiwgIlBhaXIiLCAiaXNFbXB0eVBhdGgiLCAia2VlcFNjYWxhciIsICJpc1NjYWxhciIsICJjb2xsZWN0aW9uRnJvbVBhdGgiLCAic3YiLCAiU2NoZW1hIiwgImpzb24iLCAianNvbkFyZyIsICJtYXBBc01hcCIsICJtYXhBbGlhc0NvdW50IiwgInJldml2ZXIiLCAicmVzIiwgInRvSlMiLCAiY291bnQiLCAiYXBwbHlSZXZpdmVyIiwgInMiLCAic3RyaW5naWZ5RG9jdW1lbnQiLCAiY29udGVudHMiLCAiWUFNTEVycm9yIiwgIm5hbWUiLCAicG9zIiwgImNvZGUiLCAibWVzc2FnZSIsICJZQU1MUGFyc2VFcnJvciIsICJZQU1MV2FybmluZyIsICJwcmV0dGlmeUVycm9yIiwgInNyYyIsICJsYyIsICJlcnJvciIsICJsaW5lIiwgImNvbCIsICJjaSIsICJsaW5lU3RyIiwgInRyaW1TdGFydCIsICJwcmV2IiwgImNvdW50IiwgImVuZCIsICJwb2ludGVyIiwgInJlc29sdmVQcm9wcyIsICJ0b2tlbnMiLCAiZmxvdyIsICJpbmRpY2F0b3IiLCAibmV4dCIsICJvZmZzZXQiLCAib25FcnJvciIsICJwYXJlbnRJbmRlbnQiLCAic3RhcnRPbk5ld2xpbmUiLCAic3BhY2VCZWZvcmUiLCAiYXROZXdsaW5lIiwgImhhc1NwYWNlIiwgImNvbW1lbnQiLCAiY29tbWVudFNlcCIsICJoYXNOZXdsaW5lIiwgInJlcVNwYWNlIiwgInRhYiIsICJhbmNob3IiLCAidGFnIiwgIm5ld2xpbmVBZnRlclByb3AiLCAiY29tbWEiLCAiZm91bmQiLCAic3RhcnQiLCAidG9rZW4iLCAiY2IiLCAibGFzdCIsICJlbmQiLCAiY29udGFpbnNOZXdsaW5lIiwgImtleSIsICJzdCIsICJpdCIsICJmbG93SW5kZW50Q2hlY2siLCAiaW5kZW50IiwgImZjIiwgIm9uRXJyb3IiLCAiZW5kIiwgImNvbnRhaW5zTmV3bGluZSIsICJtYXBJbmNsdWRlcyIsICJjdHgiLCAiaXRlbXMiLCAic2VhcmNoIiwgInVuaXF1ZUtleXMiLCAiaXNFcXVhbCIsICJhIiwgImIiLCAiaXNTY2FsYXIiLCAicGFpciIsICJzdGFydENvbE1zZyIsICJyZXNvbHZlQmxvY2tNYXAiLCAiY29tcG9zZU5vZGUiLCAiY29tcG9zZUVtcHR5Tm9kZSIsICJjdHgiLCAiYm0iLCAib25FcnJvciIsICJ0YWciLCAiX2EiLCAiX2IiLCAiTm9kZUNsYXNzIiwgIllBTUxNYXAiLCAibWFwIiwgIm9mZnNldCIsICJjb21tZW50RW5kIiwgImNvbGxJdGVtIiwgInN0YXJ0IiwgImtleSIsICJzZXAiLCAidmFsdWUiLCAia2V5UHJvcHMiLCAicmVzb2x2ZVByb3BzIiwgImltcGxpY2l0S2V5IiwgImNvbnRhaW5zTmV3bGluZSIsICJrZXlTdGFydCIsICJrZXlOb2RlIiwgImZsb3dJbmRlbnRDaGVjayIsICJtYXBJbmNsdWRlcyIsICJ2YWx1ZVByb3BzIiwgInZhbHVlTm9kZSIsICJwYWlyIiwgIlBhaXIiLCAicmVzb2x2ZUJsb2NrU2VxIiwgImNvbXBvc2VOb2RlIiwgImNvbXBvc2VFbXB0eU5vZGUiLCAiY3R4IiwgImJzIiwgIm9uRXJyb3IiLCAidGFnIiwgIl9hIiwgIk5vZGVDbGFzcyIsICJZQU1MU2VxIiwgInNlcSIsICJvZmZzZXQiLCAiY29tbWVudEVuZCIsICJzdGFydCIsICJ2YWx1ZSIsICJwcm9wcyIsICJyZXNvbHZlUHJvcHMiLCAibm9kZSIsICJmbG93SW5kZW50Q2hlY2siLCAicmVzb2x2ZUVuZCIsICJlbmQiLCAib2Zmc2V0IiwgInJlcVNwYWNlIiwgIm9uRXJyb3IiLCAiY29tbWVudCIsICJoYXNTcGFjZSIsICJzZXAiLCAidG9rZW4iLCAic291cmNlIiwgInR5cGUiLCAiY2IiLCAiYmxvY2tNc2ciLCAiaXNCbG9jayIsICJ0b2tlbiIsICJyZXNvbHZlRmxvd0NvbGxlY3Rpb24iLCAiY29tcG9zZU5vZGUiLCAiY29tcG9zZUVtcHR5Tm9kZSIsICJjdHgiLCAiZmMiLCAib25FcnJvciIsICJ0YWciLCAiX2EiLCAiX2IiLCAiaXNNYXAiLCAiZmNOYW1lIiwgIk5vZGVDbGFzcyIsICJZQU1MTWFwIiwgIllBTUxTZXEiLCAiY29sbCIsICJhdFJvb3QiLCAib2Zmc2V0IiwgImkiLCAiY29sbEl0ZW0iLCAic3RhcnQiLCAia2V5IiwgInNlcCIsICJ2YWx1ZSIsICJwcm9wcyIsICJyZXNvbHZlUHJvcHMiLCAiY29udGFpbnNOZXdsaW5lIiwgInByZXZJdGVtQ29tbWVudCIsICJsb29wIiwgInN0IiwgInByZXYiLCAiaXNQYWlyIiwgInZhbHVlTm9kZSIsICJrZXlTdGFydCIsICJrZXlOb2RlIiwgInZhbHVlUHJvcHMiLCAicGFpciIsICJQYWlyIiwgIm1hcCIsICJtYXBJbmNsdWRlcyIsICJlbmRSYW5nZSIsICJleHBlY3RlZEVuZCIsICJjZSIsICJlZSIsICJjZVBvcyIsICJuYW1lIiwgIm1zZyIsICJlbmQiLCAicmVzb2x2ZUVuZCIsICJyZXNvbHZlQ29sbGVjdGlvbiIsICJDTiIsICJjdHgiLCAidG9rZW4iLCAib25FcnJvciIsICJ0YWdOYW1lIiwgInRhZyIsICJjb2xsIiwgInJlc29sdmVCbG9ja01hcCIsICJyZXNvbHZlQmxvY2tTZXEiLCAicmVzb2x2ZUZsb3dDb2xsZWN0aW9uIiwgIkNvbGwiLCAiY29tcG9zZUNvbGxlY3Rpb24iLCAicHJvcHMiLCAiX2EiLCAiX2IiLCAidGFnVG9rZW4iLCAibXNnIiwgImFuY2hvciIsICJubCIsICJsYXN0UHJvcCIsICJleHBUeXBlIiwgIllBTUxNYXAiLCAiWUFNTFNlcSIsICJ0IiwgImt0IiwgInJlcyIsICJub2RlIiwgImlzTm9kZSIsICJTY2FsYXIiLCAicmVzb2x2ZUJsb2NrU2NhbGFyIiwgImN0eCIsICJzY2FsYXIiLCAib25FcnJvciIsICJzdGFydCIsICJoZWFkZXIiLCAicGFyc2VCbG9ja1NjYWxhckhlYWRlciIsICJ0eXBlIiwgIlNjYWxhciIsICJsaW5lcyIsICJzcGxpdExpbmVzIiwgImNob21wU3RhcnQiLCAiaSIsICJjb250ZW50IiwgInZhbHVlIiwgImVuZCIsICJ0cmltSW5kZW50IiwgIm9mZnNldCIsICJjb250ZW50U3RhcnQiLCAiaW5kZW50IiwgInNlcCIsICJwcmV2TW9yZUluZGVudGVkIiwgImNybGYiLCAibWVzc2FnZSIsICJwcm9wcyIsICJzdHJpY3QiLCAic291cmNlIiwgIm1vZGUiLCAiY2hvbXAiLCAiZXJyb3IiLCAiY2giLCAibiIsICJoYXNTcGFjZSIsICJjb21tZW50IiwgImxlbmd0aCIsICJ0b2tlbiIsICJ0cyIsICJzcGxpdCIsICJmaXJzdCIsICJtIiwgInJlc29sdmVGbG93U2NhbGFyIiwgInNjYWxhciIsICJzdHJpY3QiLCAib25FcnJvciIsICJvZmZzZXQiLCAidHlwZSIsICJzb3VyY2UiLCAiZW5kIiwgIl90eXBlIiwgInZhbHVlIiwgIl9vbkVycm9yIiwgInJlbCIsICJjb2RlIiwgIm1zZyIsICJTY2FsYXIiLCAicGxhaW5WYWx1ZSIsICJzaW5nbGVRdW90ZWRWYWx1ZSIsICJkb3VibGVRdW90ZWRWYWx1ZSIsICJ2YWx1ZUVuZCIsICJyZSIsICJyZXNvbHZlRW5kIiwgImJhZENoYXIiLCAiZm9sZExpbmVzIiwgIl9hIiwgImZpcnN0IiwgImxpbmUiLCAiZSIsICJtYXRjaCIsICJyZXMiLCAic2VwIiwgInBvcyIsICJsYXN0IiwgImkiLCAiY2giLCAiZm9sZCIsICJmb2xkTmV3bGluZSIsICJuZXh0IiwgImNjIiwgImVzY2FwZUNvZGVzIiwgImxlbmd0aCIsICJwYXJzZUNoYXJDb2RlIiwgInJhdyIsICJ3c1N0YXJ0IiwgImNvbXBvc2VTY2FsYXIiLCAiY3R4IiwgInRva2VuIiwgInRhZ1Rva2VuIiwgIm9uRXJyb3IiLCAidmFsdWUiLCAidHlwZSIsICJjb21tZW50IiwgInJhbmdlIiwgInJlc29sdmVCbG9ja1NjYWxhciIsICJyZXNvbHZlRmxvd1NjYWxhciIsICJ0YWdOYW1lIiwgIm1zZyIsICJ0YWciLCAiU0NBTEFSIiwgImZpbmRTY2FsYXJUYWdCeU5hbWUiLCAiZmluZFNjYWxhclRhZ0J5VGVzdCIsICJzY2FsYXIiLCAicmVzIiwgImlzU2NhbGFyIiwgIlNjYWxhciIsICJlcnJvciIsICJzY2hlbWEiLCAiX2EiLCAibWF0Y2hXaXRoVGVzdCIsICJrdCIsICJhdEtleSIsICJkaXJlY3RpdmVzIiwgImNvbXBhdCIsICJ0cyIsICJjcyIsICJlbXB0eVNjYWxhclBvc2l0aW9uIiwgIm9mZnNldCIsICJiZWZvcmUiLCAicG9zIiwgImkiLCAic3QiLCAiQ04iLCAiY29tcG9zZU5vZGUiLCAiY29tcG9zZUVtcHR5Tm9kZSIsICJjdHgiLCAidG9rZW4iLCAicHJvcHMiLCAib25FcnJvciIsICJhdEtleSIsICJzcGFjZUJlZm9yZSIsICJjb21tZW50IiwgImFuY2hvciIsICJ0YWciLCAibm9kZSIsICJpc1NyY1Rva2VuIiwgImNvbXBvc2VBbGlhcyIsICJjb21wb3NlU2NhbGFyIiwgImNvbXBvc2VDb2xsZWN0aW9uIiwgIm1lc3NhZ2UiLCAiaXNTY2FsYXIiLCAib2Zmc2V0IiwgImJlZm9yZSIsICJwb3MiLCAiZW5kIiwgImVtcHR5U2NhbGFyUG9zaXRpb24iLCAib3B0aW9ucyIsICJzb3VyY2UiLCAiYWxpYXMiLCAiQWxpYXMiLCAidmFsdWVFbmQiLCAicmUiLCAicmVzb2x2ZUVuZCIsICJjb21wb3NlRG9jIiwgIm9wdGlvbnMiLCAiZGlyZWN0aXZlcyIsICJvZmZzZXQiLCAic3RhcnQiLCAidmFsdWUiLCAiZW5kIiwgIm9uRXJyb3IiLCAib3B0cyIsICJkb2MiLCAiRG9jdW1lbnQiLCAiY3R4IiwgInByb3BzIiwgInJlc29sdmVQcm9wcyIsICJjb21wb3NlTm9kZSIsICJjb21wb3NlRW1wdHlOb2RlIiwgImNvbnRlbnRFbmQiLCAicmUiLCAicmVzb2x2ZUVuZCIsICJnZXRFcnJvclBvcyIsICJzcmMiLCAib2Zmc2V0IiwgInNvdXJjZSIsICJwYXJzZVByZWx1ZGUiLCAicHJlbHVkZSIsICJfYSIsICJjb21tZW50IiwgImF0Q29tbWVudCIsICJhZnRlckVtcHR5TGluZSIsICJDb21wb3NlciIsICJvcHRpb25zIiwgImNvZGUiLCAibWVzc2FnZSIsICJ3YXJuaW5nIiwgInBvcyIsICJZQU1MV2FybmluZyIsICJZQU1MUGFyc2VFcnJvciIsICJEaXJlY3RpdmVzIiwgImRvYyIsICJhZnRlckRvYyIsICJkYyIsICJpc0NvbGxlY3Rpb24iLCAiaXQiLCAiaXNQYWlyIiwgImNiIiwgInRva2VucyIsICJmb3JjZURvYyIsICJlbmRPZmZzZXQiLCAidG9rZW4iLCAiX195aWVsZFN0YXIiLCAiY29tcG9zZURvYyIsICJtc2ciLCAiZXJyb3IiLCAiZW5kIiwgInJlc29sdmVFbmQiLCAib3B0cyIsICJEb2N1bWVudCIsICJCUkVBSyIsICJTS0lQIiwgIlJFTU9WRSIsICJ2aXNpdCIsICJjc3QiLCAidmlzaXRvciIsICJfdmlzaXQiLCAicGF0aCIsICJpdGVtIiwgImZpZWxkIiwgImluZGV4IiwgInRvayIsICJwYXJlbnQiLCAiY29sbCIsICJjdHJsIiwgInRva2VuIiwgImkiLCAiY2kiLCAiQk9NIiwgIkRPQ1VNRU5UIiwgIkZMT1dfRU5EIiwgIlNDQUxBUiIsICJ0b2tlblR5cGUiLCAic291cmNlIiwgIkJPTSIsICJET0NVTUVOVCIsICJGTE9XX0VORCIsICJTQ0FMQVIiLCAiaXNFbXB0eSIsICJjaCIsICJoZXhEaWdpdHMiLCAidGFnQ2hhcnMiLCAiZmxvd0luZGljYXRvckNoYXJzIiwgImludmFsaWRBbmNob3JDaGFycyIsICJpc05vdEFuY2hvckNoYXIiLCAiTGV4ZXIiLCAic291cmNlIiwgImluY29tcGxldGUiLCAiX2EiLCAibmV4dCIsICJfX3lpZWxkU3RhciIsICJpIiwgIm4iLCAib2Zmc2V0IiwgImluZGVudCIsICJkdCIsICJlbmQiLCAic3RhdGUiLCAibGluZSIsICJCT00iLCAiZGlyRW5kIiwgImNzIiwgInNwIiwgIkRPQ1VNRU5UIiwgInMiLCAiY2gwIiwgImNoMSIsICJubCIsICJGTE9XX0VORCIsICJxdW90ZSIsICJxYiIsICJsb29wIiwgImxhc3RDaGFyIiwgIlNDQUxBUiIsICJpbkZsb3ciLCAiYWxsb3dFbXB0eSIsICJhbGxvd1RhYnMiLCAidGVzdCIsICJMaW5lQ291bnRlciIsICJvZmZzZXQiLCAibG93IiwgImhpZ2giLCAibWlkIiwgInN0YXJ0IiwgImluY2x1ZGVzVG9rZW4iLCAibGlzdCIsICJ0eXBlIiwgImkiLCAiZmluZE5vbkVtcHR5SW5kZXgiLCAiaXNGbG93VG9rZW4iLCAidG9rZW4iLCAiZ2V0UHJldlByb3BzIiwgInBhcmVudCIsICJfYSIsICJpdCIsICJnZXRGaXJzdEtleVN0YXJ0UHJvcHMiLCAicHJldiIsICJsb29wIiwgImZpeEZsb3dTZXFJdGVtcyIsICJmYyIsICJQYXJzZXIiLCAib25OZXdMaW5lIiwgIkxleGVyIiwgInNvdXJjZSIsICJpbmNvbXBsZXRlIiwgImxleGVtZSIsICJfX3lpZWxkU3RhciIsICJ0b2tlblR5cGUiLCAibWVzc2FnZSIsICJ0b3AiLCAibiIsICJlcnJvciIsICJsYXN0IiwgInN0IiwgImRvYyIsICJidiIsICJzY2FsYXIiLCAic3RhcnQiLCAic2VwIiwgIm1hcCIsICJubCIsICJlbmQiLCAiYXRNYXBJbmRlbnQiLCAiYXROZXh0SXRlbSIsICJrZXkiLCAiZnMiLCAic2VxIiwgImluZGVudCIsICJkb2NFbmQiLCAicGFyc2VPcHRpb25zIiwgIm9wdGlvbnMiLCAicHJldHR5RXJyb3JzIiwgIkxpbmVDb3VudGVyIiwgInBhcnNlRG9jdW1lbnQiLCAic291cmNlIiwgIm9wdGlvbnMiLCAibGluZUNvdW50ZXIiLCAicHJldHR5RXJyb3JzIiwgInBhcnNlT3B0aW9ucyIsICJwYXJzZXIiLCAiUGFyc2VyIiwgImNvbXBvc2VyIiwgIkNvbXBvc2VyIiwgImRvYyIsICJfZG9jIiwgIllBTUxQYXJzZUVycm9yIiwgInByZXR0aWZ5RXJyb3IiLCAicGFyc2UiLCAic3JjIiwgInJldml2ZXIiLCAiX3Jldml2ZXIiLCAid2FybmluZyIsICJ3YXJuIiwgImltcG9ydF9zb3J0ZWRfYnRyZWUiLCAiUCIsICJMaXRlcmFscyIsICJ0b1N0cmluZyIsICJmaWVsZCIsICJzZXR0aW5nIiwgInJlY3Vyc2l2ZSIsICJ3cmFwcGVkIiwgIndyYXBWYWx1ZSIsICJyZXN1bHQiLCAiZiIsICJlIiwgInJlbmRlck1pbmltYWxEYXRlIiwgInJlbmRlck1pbmltYWxEdXJhdGlvbiIsICJ2YWwiLCAiaXNOdWxsIiwgImlzTnVtYmVyIiwgImlzU3RyaW5nIiwgImlzQm9vbGVhbiIsICJpc0R1cmF0aW9uIiwgImlzRGF0ZSIsICJpc0FycmF5IiwgImlzTGluayIsICJpc0Z1bmN0aW9uIiwgImlzT2JqZWN0IiwgIm1hcExlYXZlcyIsICJmdW5jIiwgImtleSIsICJ2YWx1ZSIsICJlcXVhbHMiLCAiZmlyc3QiLCAic2Vjb25kIiwgImNvbXBhcmUiLCAidmFsMSIsICJ2YWwyIiwgImxpbmtOb3JtYWxpemVyIiwgIl9hIiwgIl9iIiwgIndyYXAxIiwgIndyYXAyIiwgImxpbmsxIiwgImxpbmsyIiwgIm5vcm1hbGl6ZSIsICJ4IiwgInBhdGhDb21wYXJlIiwgInR5cGVDb21wYXJlIiwgImYxIiwgImYyIiwgImluZGV4IiwgImNvbXAiLCAibzEiLCAibzIiLCAiazEiLCAiazIiLCAia2V5Q29tcGFyZSIsICJ0eXBlT2YiLCAiaXNUcnV0aHkiLCAiZGVlcENvcHkiLCAidiIsICJEYXRlVGltZSIsICJEdXJhdGlvbiIsICJMaW5rIiwgIkdyb3VwaW5ncyIsICJpc0VsZW1lbnRHcm91cCIsICJlbnRyeSIsICJpc0dyb3VwaW5nIiwgImVsZW1lbnQiLCAiaXNMZWFmIiwgImNvdW50IiwgImVsZW1lbnRzIiwgInN1Ymdyb3VwIiwgInNsaWNlIiwgInN0YXJ0IiwgImVuZCIsICJzZWVuIiwgImdyb3VwIiwgImdyb3VwU2l6ZSIsICJncm91cFN0YXJ0IiwgImdyb3VwRW5kIiwgIlN1Y2Nlc3MiLCAiX1N1Y2Nlc3MiLCAidmFsdWUiLCAiZiIsICJzdWNjIiwgIl9mYWlsIiwgIl92YWx1ZSIsICJfbWVzc2FnZSIsICJGYWlsdXJlIiwgIl9GYWlsdXJlIiwgImVycm9yIiwgIl9mIiwgIl9zdWNjIiwgImZhaWwiLCAibWVzc2FnZSIsICJSZXN1bHQiLCAic3VjY2VzcyIsICJmYWlsdXJlIiwgImZsYXRNYXAyIiwgImZpcnN0IiwgInNlY29uZCIsICJtYXAyIiwgImEiLCAiYiIsICJtYXBBbGwiLCAiaW5wdXQiLCAiZnVuYyIsICJyZXN1bHQiLCAiZWxlbWVudCIsICJvdXRwdXQiLCAidHJ5aW5nIiwgImNhbGwiLCAiYXN5bmMiLCAicHJvbWlzZSIsICJGaWx0ZXJzIiwgImF0b20iLCAic2V0IiwgImNvbnN0YW50IiwgInZhbHVlIiwgIm51bGxhYmxlQXRvbSIsICJuZWdhdGVkIiwgIm5lZ2F0ZSIsICJmaWx0ZXIiLCAiZW1wdHkiLCAicmVzb2x2ZSIsICJldmVyeXRoaW5nIiwgInNldEludGVyc2VjdE5lZ2F0aW9uIiwgImludGVyc2VjdCIsICJlbGVtZW50cyIsICJsYXp5SW50ZXJzZWN0IiwgIngiLCAicHJvZHVjZSIsICJsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb24iLCAiUmVzdWx0IiwgImF0b21zIiwgIm5lZ2F0aW9ucyIsICJlbGVtZW50IiwgIm1heWJlRmlsdGVyIiwgInNldEludGVyc2VjdCIsICJzZXRVbmlvbiIsICJ1bmlvbiIsICJmaWx0ZXJzIiwgImxhenlVbmlvbiIsICJsYXp5RmFpbGFibGVVbmlvbiIsICJzZXRzIiwgInNvcnRlZCIsICJhIiwgImIiLCAicmVzdWx0IiwgImxhcmdlc3QiLCAiRXhwcmVzc2lvbnMiLCAidmFyaWFibGUiLCAibmFtZSIsICJsaXRlcmFsIiwgInZhbHVlIiwgImJpbmFyeU9wIiwgImxlZnQiLCAib3AiLCAicmlnaHQiLCAiaW5kZXgiLCAib2JqIiwgImluZGV4VmFyaWFibGUiLCAicGFydHMiLCAicmVzdWx0IiwgImxhbWJkYSIsICJhcmdzIiwgImZ1bmMiLCAibGlzdCIsICJ2YWx1ZXMiLCAib2JqZWN0IiwgIm5lZ2F0ZSIsICJjaGlsZCIsICJpc0NvbXBhcmVPcCIsICJ1bmJvdW5kVmFyaWFibGVzIiwgImV4cHIiLCAiYm91bmQiLCAiTGl0ZXJhbHMiLCAiRmlsdGVycyIsICJhIiwgIm5ld0JvdW5kIiwgImFyZyIsICJ2IiwgInRvU3RyaW5nIiwgImsiLCAid3JhcHBlZCIsICJQUklNSVRJVkVTIiwgIl8iLCAic3RyIiwgInEiLCAiY2hhcnMiLCAiZXNjYXBlZCIsICJzdGFydCIsICJyZXN0IiwgIkVNT0pJX1JFR0VYIiwgImZpcnN0IiwgImxpbmtJbm5lciIsICJMaW5rIiwgInAiLCAibCIsICJfc3RyIiwgInllYXIiLCAibW9udGgiLCAiRGF0ZVRpbWUiLCAiREFURV9TSE9SVEhBTkRTIiwgImEiLCAiYiIsICJjaGFpbk9wdCIsICJ5bSIsICJkYXkiLCAieW1kIiwgImhvdXIiLCAieW1kaCIsICJtaW51dGUiLCAieW1kaG0iLCAic2Vjb25kIiwgInltZGhtcyIsICJtaWxsaXNlY29uZCIsICJkdCIsICJwbSIsICJociIsICJfYSIsICJ6b25lIiwgIl9iIiwgImQiLCAiRFVSQVRJT05fVFlQRVMiLCAiY291bnQiLCAidCIsICJ4IiwgImR1cmF0aW9ucyIsICJjIiwgIm5vcm1hbGl6ZUR1cmF0aW9uIiwgImYiLCAiX3MiLCAiZW1vamlfcmVnZXhfZGVmYXVsdCIsICJEdXJhdGlvbiIsICJFWFBSRVNTSU9OIiwgIkV4cHJlc3Npb25zIiwgImNyZWF0ZUZ1bmN0aW9uIiwgIl9mdW5jIiwgImRhdGUiLCAiZHVyIiwgIm5hbWUiLCAiX3NlcCIsICJ2YWx1ZSIsICJ2YWxzIiwgInJlcyIsICJlbnRyeSIsICJvYmoiLCAicG9zdGZpeGVzIiwgInJlc3VsdCIsICJwb3N0IiwgImZpZWxkIiwgImlkZW50IiwgIl9pZ25vcmUiLCAiZXhwciIsICJfMiIsICJfMyIsICJfNCIsICJfMSIsICJleHBycyIsICJjcmVhdGVCaW5hcnlQYXJzZXIiLCAiUVVFUlkiLCAiaWQiLCAiZnVuYyIsICJwYXRoIiwgImNoaWxkcmVuIiwgInBhcmVudHMiLCAibGluayIsICJzb3VyY2UiLCAibGVmdCIsICJfb3AiLCAicmlnaHQiLCAiY3JlYXRlQmluYXJ5UGFyc2VyIiwgImNoaWxkIiwgInNlcCIsICJjb21iaW5lIiwgImZpcnN0IiwgInJlc3QiLCAibm9kZSIsICJpbmRleCIsICJjcmVhdGVGdW5jdGlvbiIsICJmdW5jIiwgImFyZ3MiLCAicmVhbEZ1bmMiLCAiZiIsICJhIiwgImNoYWluT3B0IiwgImJhc2UiLCAiZnVuY3MiLCAiX3N1Y2Nlc3MiLCAiX2ZhaWx1cmUiLCAiaW5wdXQiLCAicmVzdWx0IiwgIm5leHQiLCAiUCIsICJtYXBPYmplY3RWYWx1ZXMiLCAib2JqZWN0IiwgImZ1bmMiLCAicmVzdWx0IiwgImtleSIsICJ2YWx1ZSIsICJKc29uQ29udmVyc2lvbiIsICJpbnB1dCIsICJqc29uIiwgImxpdGVyYWwiLCAid3JhcHBlZCIsICJMaXRlcmFscyIsICJtYXBPYmplY3RWYWx1ZXMiLCAidmFsdWUiLCAibm9ybWFsaXplciIsICJ2IiwgInR5cGUiLCAiRGF0ZVRpbWUiLCAiRHVyYXRpb24iLCAiTGluayIsICJqc29uSW5saW5lRmllbGQiLCAiZmllbGQiLCAiSnNvbkNvbnZlcnNpb24iLCAiYXNJbmxpbmVGaWVsZCIsICJsb2NhbCIsICJsaW5lbm8iLCAiZiIsICJwYXJzZUlubGluZVZhbHVlIiwgIklOTElORV9GSUVMRF9XUkFQUEVSUyIsICJmaW5kQ2xvc2luZyIsICJsaW5lIiwgInN0YXJ0IiwgIm9wZW4iLCAiY2xvc2UiLCAibmVzdGluZyIsICJlc2NhcGVkIiwgImluZGV4IiwgImNoYXIiLCAiZmluZFNlcGFyYXRvciIsICJzZXAiLCAiZmluZFNwZWNpZmljSW5saW5lRmllbGQiLCAia2V5IiwgInZhbHVlIiwgImlubGluZSIsICJQUklNSVRJVkVTIiwgImV4dHJhY3RJbmxpbmVGaWVsZHMiLCAiaW5jbHVkZVRhc2tGaWVsZHMiLCAiZmllbGRzIiwgIndyYXBwZXIiLCAiZm91bmRJbmRleCIsICJwYXJzZWRGaWVsZCIsICJleHRyYWN0U3BlY2lhbFRhc2tGaWVsZHMiLCAiYSIsICJiIiwgImZpbHRlcmVkRmllbGRzIiwgImkiLCAiRlVMTF9MSU5FX0tFWV9QQVJUIiwgImVtb2ppX3JlZ2V4X2RlZmF1bHQiLCAicGFydHMiLCAiRlVMTF9MSU5FX0tFWV9QQVJTRVIiLCAiZXh0cmFjdEZ1bGxMaW5lRmllbGQiLCAidGV4dCIsICJyZWFsS2V5IiwgIkNSRUFURURfREFURV9SRUdFWCIsICJEVUVfREFURV9SRUdFWCIsICJET05FX0RBVEVfUkVHRVgiLCAiU0NIRURVTEVEX0RBVEVfUkVHRVgiLCAiU1RBUlRfREFURV9SRUdFWCIsICJFTU9KSV9SRUdFWEVTIiwgInJlc3VsdHMiLCAicmVnZXgiLCAibWF0Y2giLCAiWWFtbENvbnZlcnNpb24iLCAieWFtbCIsICJ2YWx1ZSIsICJ3cmFwcGVkIiwgIkxpdGVyYWxzIiwgImxpdGVyYWwiLCAibWFwT2JqZWN0VmFsdWVzIiwgInJlc3VsdCIsICJjaGlsZCIsICJEYXRlVGltZSIsICJvYmplY3QiLCAia2V5IiwgImRhdGVQYXJzZSIsICJQUklNSVRJVkVTIiwgImR1cmF0aW9uUGFyc2UiLCAibGlua1BhcnNlIiwgIllBTUxfREFUQV9SRUdFWCIsICJDT0RFQkxPQ0tfRkVOQ0VfUkVHRVgiLCAiTElTVF9JVEVNX1JFR0VYIiwgIm1hcmtkb3duSW1wb3J0IiwgInBhdGgiLCAibWFya2Rvd24iLCAibWV0YWRhdGEiLCAic3RhdHMiLCAibGluZXMiLCAicGFnZU1ldGFkYXRhIiwgImZyb250bWF0dGVyIiwgInNlY3Rpb25zIiwgIm1hcmtkb3duU291cmNlSW1wb3J0IiwgIlBhZ2VEYXRhIiwgIl9hIiwgIl9iIiwgIl9jIiwgIl9kIiwgIl9lIiwgIl9mIiwgIl9nIiwgIl9oIiwgIl9pIiwgIl9qIiwgIl9rIiwgIl9sIiwgIl9tIiwgIl9uIiwgIl9vIiwgIl9wIiwgInBhcnNlRnJvbnRtYXR0ZXJCbG9jayIsICJtYXJrZG93bk1ldGFkYXRhIiwgIk1ldGFkYXRhIiwgInNlY3Rpb25BcnJheSIsICJtZXRhaGVhZGluZ3MiLCAiYSIsICJiIiwgIkJUcmVlIiwgImluZGV4IiwgImVudHJ5IiwgInN0YXJ0IiwgImVuZCIsICJzZWN0aW9uIiwgIlNlY3Rpb25EYXRhIiwgImVtcHR5bGluZXMiLCAiZ2V0RmlsZVRpdGxlIiwgImZpcnN0IiwgImJsb2NrcyIsICJibG9ja09yZGluYWwiLCAiYmxvY2siLCAic3RhcnRMaW5lIiwgIkxpc3RCbG9ja0RhdGEiLCAieWFtbCIsICJzcGxpdCIsICJwYXJzZSIsICJEYXRhYmxvY2tEYXRhIiwgIm1hdGNoIiwgIkNvZGVibG9ja0RhdGEiLCAibGFuZ3VhZ2VzIiwgIkJhc2VCbG9ja0RhdGEiLCAibG9va3VwIiwgImNvbnRlbnRSZWdleCIsICJtYXJrZXJSZWdleCIsICJsaXN0SXRlbXMiLCAibGlzdCIsICJzeW1ib2wiLCAidGV4dCIsICJpdGVtIiwgIkxpc3RJdGVtRGF0YSIsICJsaXN0QmxvY2siLCAidGFnZGVmIiwgInRhZyIsICJsaW5lIiwgInJhd3RhZyIsICJleHRyYWN0VGFncyIsICJsaW5rZGVmIiwgImxpbmsiLCAiTGluayIsICJmaWVsZCIsICJpdGVyYXRlSW5saW5lRmllbGRzIiwgImNvbnRlbnQiLCAibGluZW5vIiwgImlubGluZUZpZWxkcyIsICJleHRyYWN0SW5saW5lRmllbGRzIiwgImlmaWVsZCIsICJhc0lubGluZUZpZWxkIiwgImZ1bGxMaW5lIiwgImV4dHJhY3RGdWxsTGluZUZpZWxkIiwgInJlc3VsdCIsICJrZXkiLCAidmFsdWUiLCAiSnNvbkNvbnZlcnNpb24iLCAiWWFtbENvbnZlcnNpb24iLCAidHJlZSIsICJ0YXJnZXQiLCAiayIsICJzcGxpdEZyb250bWF0dGVyVGFnT3JBbGlhcyIsICJwIiwgImMiLCAic3RyIiwgImRhdGEiLCAib24iLCAicyIsICJ2IiwgImxvd2VyIiwgIm1hcE9iamVjdFZhbHVlcyIsICJqc29uSW5saW5lRmllbGQiLCAibGVuZ3RoIiwgImdldEV4dGVuc2lvbiIsICJ4IiwgInRpdGxlIiwgImxldmVsIiwgIm9yZGluYWwiLCAiYmxvY2tJZCIsICJzdHlsZSIsICJjb250ZW50U3RhcnQiLCAiY29udGVudEVuZCIsICJ0eXBlIiwgInBhcmVudExpbmUiLCAic3RhdHVzIiwgImVsZW1lbnQiLCAiY2FudmFzSW1wb3J0IiwgInBhdGgiLCAic291cmNlIiwgImluZGV4IiwgInN0YXRzIiwgIl9hIiwgImNhbnZhcyIsICJDYW52YXNEYXRhIiwgInBhcnNlZCIsICJjIiwgImZyb250bWF0dGVyIiwgIm1ldGFkYXRhIiwgImxpbmVzIiwgInNlY3Rpb25zIiwgIm1hcmtkb3duU291cmNlSW1wb3J0IiwgImNhcmQiLCAiQ2FudmFzQ2FyZERhdGEiLCAiaSIsICJ0YWciLCAibGluayIsICJmaWVsZCIsICJpdGVyYXRlSW5saW5lRmllbGRzIiwgIkFic3RyYWN0Q2FudmFzQ2FyZERhdGEiLCAiaWQiLCAibm9kZUpzb24iLCAiTWV0YWRhdGEiLCAiTGluayIsICJzZWN0aW9uIiwgIl9fc3ByZWFkUHJvcHMiLCAiX19zcHJlYWRWYWx1ZXMiLCAieCIsICJkIiwgImV2ZW50IiwgIm1lc3NhZ2UiLCAibWFya2Rvd24iLCAibWFya2Rvd25JbXBvcnQiLCAiY2FudmFzIiwgImNhbnZhc0ltcG9ydCIsICJlcnJvciJdCn0K\n'); + return inlineWorker('var cl=Object.create;var Js=Object.defineProperty,fl=Object.defineProperties,dl=Object.getOwnPropertyDescriptor,hl=Object.getOwnPropertyDescriptors,ml=Object.getOwnPropertyNames,qr=Object.getOwnPropertySymbols,pl=Object.getPrototypeOf,zs=Object.prototype.hasOwnProperty,Mo=Object.prototype.propertyIsEnumerable;var Hs=(n,e)=>(e=Symbol[n])?e:Symbol.for("Symbol."+n),Dl=n=>{throw TypeError(n)};var Ao=(n,e,t)=>e in n?Js(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,R=(n,e)=>{for(var t in e||(e={}))zs.call(e,t)&&Ao(n,t,e[t]);if(qr)for(var t of qr(e))Mo.call(e,t)&&Ao(n,t,e[t]);return n},ye=(n,e)=>fl(n,hl(e));var Ys=(n,e)=>{var t={};for(var r in n)zs.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&qr)for(var r of qr(n))e.indexOf(r)<0&&Mo.call(n,r)&&(t[r]=n[r]);return t};var _o=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var yl=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ml(e))!zs.call(n,s)&&s!==t&&Js(n,s,{get:()=>e[s],enumerable:!(r=dl(e,s))||r.enumerable});return n};var Vr=(n,e,t)=>(t=n!=null?cl(pl(n)):{},yl(e||!n||!n.__esModule?Js(t,"default",{value:n,enumerable:!0}):t,n));var gl=function(n,e){this[0]=n,this[1]=e};var S=n=>{var e=n[Hs("asyncIterator")],t=!1,r,s={};return e==null?(e=n[Hs("iterator")](),r=i=>s[i]=o=>e[i](o)):(e=e.call(n),r=i=>s[i]=o=>{if(t){if(t=!1,i==="throw")throw o;return o}return t=!0,{done:!1,value:new gl(new Promise(a=>{var u=e[i](o);u instanceof Object||Dl("Object expected"),a(u)}),1)}}),s[Hs("iterator")]=()=>s,r("next"),"throw"in e?r("throw"):s.throw=i=>{throw i},"return"in e&&r("return"),s};var ns=_o((mr,Ai)=>{(function(n,e){typeof mr=="object"&&typeof Ai=="object"?Ai.exports=e():typeof define=="function"&&define.amd?define([],e):typeof mr=="object"?mr.Parsimmon=e():n.Parsimmon=e()})(typeof self!="undefined"?self:mr,function(){return function(n){var e={};function t(r){if(e[r])return e[r].exports;var s=e[r]={i:r,l:!1,exports:{}};return n[r].call(s.exports,s,s.exports,t),s.l=!0,s.exports}return t.m=n,t.c=e,t.d=function(r,s,i){t.o(r,s)||Object.defineProperty(r,s,{configurable:!1,enumerable:!0,get:i})},t.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},t.n=function(r){var s=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(s,"a",s),s},t.o=function(r,s){return Object.prototype.hasOwnProperty.call(r,s)},t.p="",t(t.s=0)}([function(n,e,t){"use strict";function r(c){if(!(this instanceof r))return new r(c);this._=c}var s=r.prototype;function i(c,p){for(var E=0;E>7),buf:function(L){var A=o(function(M,U,te,Ee){return M.concat(te===Ee.length-1?Buffer.from([U,0]).readUInt16BE(0):Ee.readUInt16BE(te))},[],L);return Buffer.from(a(function(M){return(M<<1&65535)>>8},A))}(E.buf)}}),E}function l(){return typeof Buffer!="undefined"}function f(){if(!l())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function d(c){f();var p=o(function(A,M){return A+M},0,c);if(p%8!=0)throw new Error("The bits ["+c.join(", ")+"] add up to "+p+" which is not an even number of bytes; the total should be divisible by 8");var E,k=p/8,L=(E=function(A){return A>48},o(function(A,M){return A||(E(M)?M:A)},null,c));if(L)throw new Error(L+" bit range requested exceeds 48 bit (6 byte) Number max.");return new r(function(A,M){var U=k+M;return U>A.length?v(M,k.toString()+" bytes"):w(U,o(function(te,Ee){var me=u(Ee,te.buf);return{coll:te.coll.concat(me.v),buf:me.buf}},{coll:[],buf:A.slice(M,U)},c).coll)})}function m(c,p){return new r(function(E,k){return f(),k+p>E.length?v(k,p+" bytes for "+c):w(k+p,E.slice(k,k+p))})}function h(c,p){if(typeof(E=p)!="number"||Math.floor(E)!==E||p<0||p>6)throw new Error(c+" requires integer length in range [0, 6].");var E}function b(c){return h("uintBE",c),m("uintBE("+c+")",c).map(function(p){return p.readUIntBE(0,c)})}function g(c){return h("uintLE",c),m("uintLE("+c+")",c).map(function(p){return p.readUIntLE(0,c)})}function D(c){return h("intBE",c),m("intBE("+c+")",c).map(function(p){return p.readIntBE(0,c)})}function T(c){return h("intLE",c),m("intLE("+c+")",c).map(function(p){return p.readIntLE(0,c)})}function I(c){return c instanceof r}function N(c){return{}.toString.call(c)==="[object Array]"}function y(c){return l()&&Buffer.isBuffer(c)}function w(c,p){return{status:!0,index:c,value:p,furthest:-1,expected:[]}}function v(c,p){return N(p)||(p=[p]),{status:!1,index:-1,value:null,furthest:c,expected:p}}function x(c,p){if(!p||c.furthest>p.furthest)return c;var E=c.furthest===p.furthest?function(k,L){if(function(){if(r._supportsSet!==void 0)return r._supportsSet;var ht=typeof Set!="undefined";return r._supportsSet=ht,ht}()&&Array.from){for(var A=new Set(k),M=0;M=0;){if(M in E){k=E[M].line,A===0&&(A=E[M].lineStart);break}(c.charAt(M)===`\n`||c.charAt(M)==="\\r"&&c.charAt(M+1)!==`\n`)&&(L++,A===0&&(A=M+1)),M--}var U=k+L,te=p-A;return E[p]={line:U,lineStart:A},{offset:p,line:U+1,column:te+1}}function j(c){if(!I(c))throw new Error("not a parser: "+c)}function Y(c,p){return typeof c=="string"?c.charAt(p):c[p]}function ee(c){if(typeof c!="number")throw new Error("not a number: "+c)}function ue(c){if(typeof c!="function")throw new Error("not a function: "+c)}function O(c){if(typeof c!="string")throw new Error("not a string: "+c)}var $=2,Q=3,ie=8,De=5*ie,Re=4*ie,Qt=" ";function Mt(c,p){return new Array(p+1).join(c)}function _t(c,p,E){var k=p-c.length;return k<=0?c:Mt(E,k)+c}function Ae(c,p,E,k){return{from:c-p>0?c-p:0,to:c+E>k?k:c+E}}function Bt(c,p){var E,k,L,A,M,U=p.index,te=U.offset,Ee=1;if(te===c.length)return"Got the end of the input";if(y(c)){var me=te-te%ie,dt=te-me,ve=Ae(me,De,Re+ie,c.length),ht=a(function(le){return a(function(en){return _t(en.toString(16),2,"0")},le)},function(le,en){var tn=le.length,Rt=[],nn=0;if(tn<=en)return[le.slice()];for(var rn=0;rn=4&&(E+=1),Ee=2,L=a(function(le){return le.length<=4?le.join(" "):le.slice(0,4).join(" ")+" "+le.slice(4).join(" ")},ht),(M=(8*(A.to>0?A.to-1:A.to)).toString(16).length)<2&&(M=2)}else{var Xt=c.split(/\\r\\n|[\\n\\r\\u2028\\u2029]/);E=U.column-1,k=U.line-1,A=Ae(k,$,Q,Xt.length),L=Xt.slice(A.from,A.to),M=A.to.toString().length}var ll=k-A.from;return y(c)&&(M=(8*(A.to>0?A.to-1:A.to)).toString(16).length)<2&&(M=2),o(function(le,en,tn){var Rt,nn=tn===ll,rn=nn?"> ":Qt;return Rt=y(c)?_t((8*(A.from+tn)).toString(16),M,"0"):_t((A.from+tn+1).toString(),M," "),[].concat(le,[rn+Rt+" | "+en],nn?[Qt+Mt(" ",M)+" | "+_t("",E," ")+Mt("^",Ee)]:[])},[],L).join(`\n`)}function So(c,p){return[`\n`,"-- PARSING FAILED "+Mt("-",50),`\n\n`,Bt(c,p),`\n\n`,(E=p.expected,E.length===1?`Expected:\n\n`+E[0]:`Expected one of the following: \n\n`+E.join(", ")),`\n`].join("");var E}function ko(c){return c.flags!==void 0?c.flags:[c.global?"g":"",c.ignoreCase?"i":"",c.multiline?"m":"",c.unicode?"u":"",c.sticky?"y":""].join("")}function Br(){for(var c=[].slice.call(arguments),p=c.length,E=0;E=2?ee(p):p=0;var E=function(L){return RegExp("^(?:"+L.source+")",ko(L))}(c),k=""+c;return r(function(L,A){var M=E.exec(L.slice(A));if(M){if(0<=p&&p<=M.length){var U=M[0],te=M[p];return w(A+U.length,te)}return v(A,"valid match group (0 to "+M.length+") in "+k)}return v(A,k)})}function $t(c){return r(function(p,E){return w(E,c)})}function $r(c){return r(function(p,E){return v(E,c)})}function Rr(c){if(I(c))return r(function(p,E){var k=c._(p,E);return k.index=E,k.value="",k});if(typeof c=="string")return Rr(Bn(c));if(c instanceof RegExp)return Rr(ft(c));throw new Error("not a string, regexp, or parser: "+c)}function vo(c){return j(c),r(function(p,E){var k=c._(p,E),L=p.slice(E,k.index);return k.status?v(E,\'not "\'+L+\'"\'):w(E,null)})}function jr(c){return ue(c),r(function(p,E){var k=Y(p,E);return E=c.length?v(p,"any character/byte"):w(p+1,Y(c,p))}),tl=r(function(c,p){return w(c.length,c.slice(p))}),Ws=r(function(c,p){return p=0}).desc(p)},r.optWhitespace=ol,r.Parser=r,r.range=function(c,p){return jr(function(E){return c<=E&&E<=p}).desc(c+"-"+p)},r.regex=ft,r.regexp=ft,r.sepBy=Co,r.sepBy1=Us,r.seq=Br,r.seqMap=Pt,r.seqObj=function(){for(var c,p={},E=0,k=(c=arguments,Array.prototype.slice.call(c)),L=k.length,A=0;A255)throw new Error("Value specified to byte constructor ("+c+"=0x"+c.toString(16)+") is larger in value than a single byte.");var p=(c>15?"0x":"0x0")+c.toString(16);return r(function(E,k){var L=Y(E,k);return L===c?w(k+1,L):v(k,p)})},buffer:function(c){return m("buffer",c).map(function(p){return Buffer.from(p)})},encodedString:function(c,p){return m("string",p).map(function(E){return E.toString(c)})},uintBE:b,uint8BE:b(1),uint16BE:b(2),uint32BE:b(4),uintLE:g,uint8LE:g(1),uint16LE:g(2),uint32LE:g(4),intBE:D,int8BE:D(1),int16BE:D(2),int32BE:D(4),intLE:T,int8LE:T(1),int16LE:T(2),int32LE:T(4),floatBE:m("floatBE",4).map(function(c){return c.readFloatBE(0)}),floatLE:m("floatLE",4).map(function(c){return c.readFloatLE(0)}),doubleBE:m("doubleBE",8).map(function(c){return c.readDoubleBE(0)}),doubleLE:m("doubleLE",8).map(function(c){return c.readDoubleLE(0)})},n.exports=r}])})});var Ru=_o(Ne=>{"use strict";var Sf=Ne&&Ne.__extends||function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,s){r.__proto__=s}||function(r,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(r[i]=s[i])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(Ne,"__esModule",{value:!0});Ne.EmptyBTree=Ne.asSet=Ne.simpleComparator=Ne.defaultComparator=void 0;function Bu(n,e){if(Number.isFinite(n)&&Number.isFinite(e))return n-e;var t=typeof n,r=typeof e;if(t!==r)return te?1:n===e?0:Number.isNaN(n)?Number.isNaN(e)?0:-1:Number.isNaN(e)?1:Array.isArray(n)?0:Number.NaN}Ne.defaultComparator=Bu;function kf(n,e){return n>e?1:n=4?Math.min(r,256):32,this._compare=t||Bu,e&&this.setPairs(e)}return Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"length",{get:function(){return this._size},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"isEmpty",{get:function(){return this._size===0},enumerable:!1,configurable:!0}),n.prototype.clear=function(){this._root=fo,this._size=0},n.prototype.forEach=function(e,t){var r=this;return t!==void 0&&(e=e.bind(t)),this.forEachPair(function(s,i){return e(i,s,r)})},n.prototype.forEachPair=function(e,t){var r=this.minKey(),s=this.maxKey();return this.forRange(r,s,!0,e,t)},n.prototype.get=function(e,t){return this._root.get(e,t,this)},n.prototype.set=function(e,t,r){this._root.isShared&&(this._root=this._root.clone());var s=this._root.set(e,t,r,this);return s===!0||s===!1?s:(this._root=new vf([this._root,s]),!0)},n.prototype.has=function(e){return this.forRange(e,e,!0,void 0)!==0},n.prototype.delete=function(e){return this.editRange(e,e,!0,Mu)!==0},n.prototype.with=function(e,t,r){var s=this.clone();return s.set(e,t,r)||r?s:this},n.prototype.withPairs=function(e,t){var r=this.clone();return r.setPairs(e,t)!==0||t?r:this},n.prototype.withKeys=function(e,t){for(var r=this.clone(),s=!1,i=0;i=s.length){a=3;continue e}if(++i[l]0;l--)s[l-1]=s[l][i[l]].children,i[l-1]=0;o=s[0][i[0]],u=-1,a=t!==void 0?1:0;continue;case 3:return{done:!0,value:void 0}}})},n.prototype.entriesReversed=function(e,t,r){if(e===void 0&&(e=this.maxKey(),r=void 0,e===void 0))return An();var s=this.findPath(e)||this.findPath(this.maxKey()),i=s.nodequeue,o=s.nodeindex,a=s.leaf;Le(!i[0]||a===i[0][o[0]],"wat!");var u=a.indexOf(e,0,this._compare);!r&&u=0)return{done:!1,value:[a.keys[u],a.values[u]]};l=2;continue;case 1:if(--u>=0)return t[0]=a.keys[u],t[1]=a.values[u],{done:!1,value:t};l=2;case 2:for(var f=-1;;){if(++f>=i.length){l=3;continue e}if(--o[f]>=0)break}for(;f>0;f--)i[f-1]=i[f][o[f]].children,o[f-1]=i[f-1].length-1;a=i[0][o[0]],u=a.keys.length,l=t!==void 0?1:0;continue;case 3:return{done:!0,value:void 0}}})},n.prototype.findPath=function(e){var t=this._root,r,s;if(t.isLeaf)r=_u,s=_u;else{r=[],s=[];for(var i=0;!t.isLeaf;i++){if(r[i]=t.children,s[i]=e===void 0?0:t.indexOf(e,0,this._compare),s[i]>=r[i].length)return;t=r[i][s[i]]}r.reverse(),s.reverse()}return{nodequeue:r,nodeindex:s,leaf:t}},n.prototype.diffAgainst=function(e,t,r,s){if(e._compare!==this._compare)throw new Error("Tree comparators are not the same.");if(this.isEmpty||e.isEmpty)return this.isEmpty&&e.isEmpty?void 0:this.isEmpty?r===void 0?void 0:n.stepToEnd(n.makeDiffCursor(e),r):t===void 0?void 0:n.stepToEnd(n.makeDiffCursor(this),t);for(var i=this._compare,o=n.makeDiffCursor(this),a=n.makeDiffCursor(e),u=!0,l=!0,f=n.compare(o,a,i);u&&l;){var d=n.compare(o,a,i),m=o.leaf,h=o.internalSpine,b=o.levelIndices,g=a.leaf,D=a.internalSpine,T=a.levelIndices;if(m||g){if(f!==0){if(d===0){if(m&&g&&s){var I=m.values[b[b.length-1]],N=g.values[T[T.length-1]];if(!Object.is(I,N)){var y=s(o.currentKey,I,N);if(y&&y.break)return y.break}}}else if(d>0){if(g&&r){var w=g.values[T[T.length-1]],y=r(a.currentKey,w);if(y&&y.break)return y.break}}else if(t&&m&&f!==0){var I=m.values[b[b.length-1]],y=t(o.currentKey,I);if(y&&y.break)return y.break}}}else if(!m&&!g&&d===0){var v=h.length-1,x=D.length-1,C=h[v][b[v]],V=D[x][T[x]];if(V===C){f=0,u=n.step(o,!0),l=n.step(a,!0);continue}}f=d,d<0?u=n.step(o):l=n.step(a)}if(u&&t)return n.finishCursorWalk(o,a,i,t);if(l&&r)return n.finishCursorWalk(a,o,i,r)},n.finishCursorWalk=function(e,t,r,s){var i=n.compare(e,t,r);if(i===0){if(!n.step(e))return}else i<0&&Le(!1,"cursor walk terminated early");return n.stepToEnd(e,s)},n.stepToEnd=function(e,t){for(var r=!0;r;){var s=e.leaf,i=e.levelIndices,o=e.currentKey;if(s){var a=s.values[i[i.length-1]],u=t(o,a);if(u&&u.break)return u.break}r=n.step(e)}},n.makeDiffCursor=function(e){var t=e._root,r=e.height;return{height:r,internalSpine:[[t]],levelIndices:[0],leaf:void 0,currentKey:t.maxKey()}},n.step=function(e,t){var r=e.internalSpine,s=e.levelIndices,i=e.leaf;if(t===!0||i){var o=s.length;if(t===!0||s[o-1]===0){var a=r.length;if(a===0)return!1;for(var u=a-1,l=u;l>=0;){if(s[l]>0)return ls?xf:void 0}),i},n.prototype.setPairs=function(e,t){for(var r=0,s=0;s>1;i0)o=a;else{if(u===0)return a;if(e===e)return s.length;throw new Error("BTree: NaN was used as a key")}a=i+o>>1}return a^t},n.prototype.minKey=function(){return this.keys[0]},n.prototype.minPair=function(e){if(this.keys.length!==0)return e[0]=this.keys[0],e[1]=this.values[0],e},n.prototype.maxPair=function(e){if(this.keys.length!==0){var t=this.keys.length-1;return e[0]=this.keys[t],e[1]=this.values[t],e}},n.prototype.clone=function(){var e=this.values;return new n(this.keys.slice(0),e===pe?e:e.slice(0))},n.prototype.greedyClone=function(e){return this.isShared&&!e?this:this.clone()},n.prototype.get=function(e,t,r){var s=this.indexOf(e,-1,r._compare);return s<0?t:this.values[s]},n.prototype.getPairOrNextLower=function(e,t,r,s){var i=this.indexOf(e,-1,t),o=i<0?~i-1:r?i:i-1;if(o>=0)return s[0]=this.keys[o],s[1]=this.values[o],s},n.prototype.getPairOrNextHigher=function(e,t,r,s){var i=this.indexOf(e,-1,t),o=i<0?~i:r?i:i+1,a=this.keys;if(o0,"empty leaf at depth",e,"and baseIndex",r),s},n.prototype.set=function(e,t,r,s){var i=this.indexOf(e,-1,s._compare);if(i<0){if(i=~i,s._size++,this.keys.lengththis.keys.length&&(i-=this.keys.length,a=o),a.insertInLeaf(i,e,t,s),o}else return r!==!1&&(t!==void 0&&this.reifyValues(),this.keys[i]=e,this.values[i]=t),!1},n.prototype.reifyValues=function(){return this.values===pe?this.values=this.values.slice(0,this.keys.length):this.values},n.prototype.insertInLeaf=function(e,t,r,s){if(this.keys.splice(e,0,t),this.values===pe){for(;pe.length>1,t=this.keys.splice(e),r=this.values===pe?pe:this.values.splice(e);return new n(t,r)},n.prototype.forRange=function(e,t,r,s,i,o,a){var u=i._compare,l,f;if(t===e){if(!r||(f=(l=this.indexOf(e,-1,u))+1,l<0))return o}else l=this.indexOf(e,0,u),f=this.indexOf(t,-1,u),f<0?f=~f:r===!0&&f++;var d=this.keys,m=this.values;if(a!==void 0)for(var h=l;h=a.length)return this.maxPair(i);var u=a[o].getPairOrNextLower(t,r,s,i);return u===void 0&&o>0?a[o-1].maxPair(i):u},e.prototype.getPairOrNextHigher=function(t,r,s,i){var o=this.indexOf(t,0,r),a=this.children,u=a.length;if(!(o>=u)){var l=a[o].getPairOrNextHigher(t,r,s,i);return l===void 0&&o1||t>0,"internal node has length",i,"at depth",t,"baseIndex",s);for(var a=0,u=this.children,l=this.keys,f=0,d=0;d=f,"wtf",s),Le(d===0||u[d-1].constructor===u[d].constructor,"type mismatch, baseIndex:",s),u[d].maxKey()!=l[d]&&Le(!1,"keys[",d,"] =",l[d],"is wrong, should be ",u[d].maxKey(),"at depth",t,"baseIndex",s),d===0||r._compare(l[d-1],l[d])<0||Le(!1,"sort violation at depth",t,"index",d,"keys",l[d-1],l[d]);var m=f===0;return(m||f>r.maxNodeSize*o)&&Le(!1,m?"too few":"too many","children (",f,a,") at depth",t,"maxNodeSize:",r.maxNodeSize,"children.length:",o,"baseIndex:",s),a},e.prototype.set=function(t,r,s,i){var o=this.children,a=i._maxNodeSize,u=i._compare,l=Math.min(this.indexOf(t,0,u),o.length-1),f=o[l];if(f.isShared&&(o[l]=f=f.clone()),f.keys.length>=a){var d;l>0&&(d=o[l-1]).keys.length0&&(b=h,l-=this.keys.length),b.insert(l+1,m),h},e.prototype.insert=function(t,r){this.children.splice(t,0,r),this.keys.splice(t,0,r.maxKey())},e.prototype.splitOffRightSide=function(){var t=this.children.length>>1;return new e(this.children.splice(t),this.keys.splice(t))},e.prototype.takeFromRight=function(t){this.keys.push(t.keys.shift()),this.children.push(t.children.shift())},e.prototype.takeFromLeft=function(t){this.keys.unshift(t.keys.pop()),this.children.unshift(t.children.pop())},e.prototype.forRange=function(t,r,s,i,o,a,u){var l=o._compare,f=this.keys,d=this.children,m=this.indexOf(t,0,l),h=m,b=Math.min(r===t?m:this.indexOf(r,0,l),f.length-1);if(i){if(h<=b)try{for(;h<=b;h++){d[h].isShared&&(d[h]=d[h].clone());var g=d[h].forRange(t,r,s,i,o,a,u);if(f[h]=d[h].maxKey(),typeof g!="number")return g;a=g}}finally{var D=o._maxNodeSize>>1;for(m>0&&m--,h=b;h>=m;h--)d[h].keys.length<=D&&(d[h].keys.length!==0?this.tryMerge(h,o._maxNodeSize):(f.splice(h,1),d.splice(h,1)));d.length!==0&&d[0].keys.length===0&&Le(!1,"emptiness bug")}}else for(;h<=b;h++){var g=d[h].forRange(t,r,s,i,o,a,u);if(typeof g!="number")return g;a=g}return a},e.prototype.tryMerge=function(t,r){var s=this.children;return t>=0&&t+1{let i=[e(s),s];return r&&t(r[0],i[0])===r[0]?r:i},null)[1]}function Ro(n,e){return e.reduce((t,r)=>(t[r]=n[r],t),{})}function kt(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function nt(n,e,t){return rr(n)&&n>=e&&n<=t}function bl(n,e){return n-e*Math.floor(n/e)}function re(n,e=2){let t=n<0,r;return t?r="-"+(""+-n).padStart(e,"0"):r=(""+n).padStart(e,"0"),r}function Dt(n){if(!(W(n)||n===null||n===""))return parseInt(n,10)}function Ct(n){if(!(W(n)||n===null||n===""))return parseFloat(n)}function sr(n){if(!(W(n)||n===null||n==="")){let e=parseFloat("0."+n)*1e3;return Math.floor(e)}}function an(n,e,t=!1){let r=10**e;return(t?Math.trunc:Math.round)(n*r)/r}function jt(n){return n%4===0&&(n%100!==0||n%400===0)}function qt(n){return jt(n)?366:365}function un(n,e){let t=bl(e-1,12)+1,r=n+(e-t)/12;return t===2?jt(r)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][t-1]}function ir(n){let e=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);return n.year<100&&n.year>=0&&(e=new Date(e),e.setUTCFullYear(e.getUTCFullYear()-1900)),+e}function ln(n){let e=(n+Math.floor(n/4)-Math.floor(n/100)+Math.floor(n/400))%7,t=n-1,r=(t+Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))%7;return e===4||r===3?53:52}function or(n){return n>99?n:n>60?1900+n:2e3+n}function Jr(n,e,t,r=null){let s=new Date(n),i={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(i.timeZone=r);let o=R({timeZoneName:e},i),a=new Intl.DateTimeFormat(t,o).formatToParts(s).find(u=>u.type.toLowerCase()==="timezonename");return a?a.value:null}function Vt(n,e){let t=parseInt(n,10);Number.isNaN(t)&&(t=0);let r=parseInt(e,10)||0,s=t<0||Object.is(t,-0)?-r:r;return t*60+s}function ei(n){let e=Number(n);if(typeof n=="boolean"||n===""||Number.isNaN(e))throw new fe(`Invalid unit value ${n}`);return e}function cn(n,e){let t={};for(let r in n)if(kt(n,r)){let s=n[r];if(s==null)continue;t[e(r)]=ei(s)}return t}function vt(n,e){let t=Math.trunc(Math.abs(n/60)),r=Math.trunc(Math.abs(n%60)),s=n>=0?"+":"-";switch(e){case"short":return`${s}${re(t,2)}:${re(r,2)}`;case"narrow":return`${s}${t}${r>0?`:${r}`:""}`;case"techie":return`${s}${re(t,2)}${re(r,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function ar(n){return Ro(n,["hour","minute","second","millisecond"])}var ti=/[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;var Fl=["January","February","March","April","May","June","July","August","September","October","November","December"],ni=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],El=["J","F","M","A","M","J","J","A","S","O","N","D"];function ri(n){switch(n){case"narrow":return[...El];case"short":return[...ni];case"long":return[...Fl];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var si=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ii=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],wl=["M","T","W","T","F","S","S"];function oi(n){switch(n){case"narrow":return[...wl];case"short":return[...ii];case"long":return[...si];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var ai=["AM","PM"],Tl=["Before Christ","Anno Domini"],Sl=["BC","AD"],kl=["B","A"];function ui(n){switch(n){case"narrow":return[...kl];case"short":return[...Sl];case"long":return[...Tl];default:return null}}function jo(n){return ai[n.hour<12?0:1]}function qo(n,e){return oi(e)[n.weekday-1]}function Vo(n,e){return ri(e)[n.month-1]}function Uo(n,e){return ui(e)[n.year<0?0:1]}function Ko(n,e,t="always",r=!1){let s={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},i=["hours","minutes","seconds"].indexOf(n)===-1;if(t==="auto"&&i){let d=n==="days";switch(e){case 1:return d?"tomorrow":`next ${s[n][0]}`;case-1:return d?"yesterday":`last ${s[n][0]}`;case 0:return d?"today":`this ${s[n][0]}`;default:}}let o=Object.is(e,-0)||e<0,a=Math.abs(e),u=a===1,l=s[n],f=r?u?l[1]:l[2]||l[1]:u?s[n][0]:n;return o?`${a} ${f} ago`:`in ${a} ${f}`}function Wo(n,e){let t="";for(let r of n)r.literal?t+=r.val:t+=e(r.val);return t}var Cl={D:on,DD:$n,DDD:Rn,DDDD:jn,t:qn,tt:Vn,ttt:Un,tttt:Kn,T:Wn,TT:Hn,TTT:Jn,TTTT:zn,f:Yn,ff:Zn,fff:Xn,ffff:tr,F:Gn,FF:Qn,FFF:er,FFFF:nr},we=class n{static create(e,t={}){return new n(e,t)}static parseFormat(e){let t=null,r="",s=!1,i=[];for(let o=0;o0&&i.push({literal:s,val:r}),t=null,r="",s=!s):s||a===t?r+=a:(r.length>0&&i.push({literal:!1,val:r}),r=a,t=a)}return r.length>0&&i.push({literal:s,val:r}),i}static macroTokenToFormatOpts(e){return Cl[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,R(R({},this.opts),t)).format()}formatDateTime(e,t={}){return this.loc.dtFormatter(e,R(R({},this.opts),t)).format()}formatDateTimeParts(e,t={}){return this.loc.dtFormatter(e,R(R({},this.opts),t)).formatToParts()}resolvedOptions(e,t={}){return this.loc.dtFormatter(e,R(R({},this.opts),t)).resolvedOptions()}num(e,t=0){if(this.opts.forceSimple)return re(e,t);let r=R({},this.opts);return t>0&&(r.padTo=t),this.loc.numberFormatter(r).format(e)}formatDateTimeFromString(e,t){let r=this.loc.listingMode()==="en",s=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",i=(h,b)=>this.loc.extract(e,h,b),o=h=>e.isOffsetFixed&&e.offset===0&&h.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,h.format):"",a=()=>r?jo(e):i({hour:"numeric",hourCycle:"h12"},"dayperiod"),u=(h,b)=>r?Vo(e,h):i(b?{month:h}:{month:h,day:"numeric"},"month"),l=(h,b)=>r?qo(e,h):i(b?{weekday:h}:{weekday:h,month:"long",day:"numeric"},"weekday"),f=h=>{let b=n.macroTokenToFormatOpts(h);return b?this.formatWithSystemDefault(e,b):h},d=h=>r?Uo(e,h):i({era:h},"era"),m=h=>{switch(h){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return o({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return o({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return o({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return a();case"d":return s?i({day:"numeric"},"day"):this.num(e.day);case"dd":return s?i({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return s?i({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return s?i({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return u("short",!0);case"LLLL":return u("long",!0);case"LLLLL":return u("narrow",!0);case"M":return s?i({month:"numeric"},"month"):this.num(e.month);case"MM":return s?i({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return u("short",!1);case"MMMM":return u("long",!1);case"MMMMM":return u("narrow",!1);case"y":return s?i({year:"numeric"},"year"):this.num(e.year);case"yy":return s?i({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return s?i({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return s?i({year:"numeric"},"year"):this.num(e.year,6);case"G":return d("short");case"GG":return d("long");case"GGGGG":return d("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return f(h)}};return Wo(n.parseFormat(t),m)}formatDurationFromString(e,t){let r=u=>{switch(u[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},s=u=>l=>{let f=r(l);return f?this.num(u.get(f),l.length):l},i=n.parseFormat(t),o=i.reduce((u,{literal:l,val:f})=>l?u:u.concat(f),[]),a=e.shiftTo(...o.map(r).filter(u=>u));return Wo(i,s(a))}};var de=class{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}};var ke=class{get type(){throw new je}get name(){throw new je}get ianaName(){return this.name}get isUniversal(){throw new je}offsetName(e,t){throw new je}formatOffset(e,t){throw new je}offset(e){throw new je}equals(e){throw new je}get isValid(){throw new je}};var ci=null,fn=class n extends ke{static get instance(){return ci===null&&(ci=new n),ci}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return Jr(e,t,r)}formatOffset(e,t){return vt(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}};var Yr={};function vl(n){return Yr[n]||(Yr[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),Yr[n]}var xl={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function Ol(n,e){let t=n.format(e).replace(/\\u200E/g,""),r=/(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(t),[,s,i,o,a,u,l,f]=r;return[o,s,i,a,u,l,f]}function Il(n,e){let t=n.formatToParts(e),r=[];for(let s=0;s=0?b:1e3+b,(m-h)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}};var fi=null,he=class n extends ke{static get utcInstance(){return fi===null&&(fi=new n(0)),fi}static instance(e){return e===0?n.utcInstance:new n(e)}static parseSpecifier(e){if(e){let t=e.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);if(t)return new n(Vt(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${vt(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${vt(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return vt(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}};var dn=class extends ke{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function Ve(n,e){let t;if(W(n)||n===null)return e;if(n instanceof ke)return n;if(Bo(n)){let r=n.toLowerCase();return r==="local"||r==="system"?e:r==="utc"||r==="gmt"?he.utcInstance:he.parseSpecifier(r)||ge.create(n)}else return tt(n)?he.instance(n):typeof n=="object"&&n.offset&&typeof n.offset=="number"?n:new dn(n)}var Ho=()=>Date.now(),Jo="system",zo=null,Yo=null,Go=null,Zo,X=class{static get now(){return Ho}static set now(e){Ho=e}static set defaultZone(e){Jo=e}static get defaultZone(){return Ve(Jo,fn.instance)}static get defaultLocale(){return zo}static set defaultLocale(e){zo=e}static get defaultNumberingSystem(){return Yo}static set defaultNumberingSystem(e){Yo=e}static get defaultOutputCalendar(){return Go}static set defaultOutputCalendar(e){Go=e}static get throwOnInvalid(){return Zo}static set throwOnInvalid(e){Zo=e}static resetCaches(){ne.resetCache(),ge.resetCache()}};var Qo={};function Ll(n,e={}){let t=JSON.stringify([n,e]),r=Qo[t];return r||(r=new Intl.ListFormat(n,e),Qo[t]=r),r}var di={};function hi(n,e={}){let t=JSON.stringify([n,e]),r=di[t];return r||(r=new Intl.DateTimeFormat(n,e),di[t]=r),r}var mi={};function Nl(n,e={}){let t=JSON.stringify([n,e]),r=mi[t];return r||(r=new Intl.NumberFormat(n,e),mi[t]=r),r}var pi={};function Al(n,e={}){let o=e,{base:t}=o,r=Ys(o,["base"]),s=JSON.stringify([n,r]),i=pi[s];return i||(i=new Intl.RelativeTimeFormat(n,e),pi[s]=i),i}var ur=null;function Ml(){return ur||(ur=new Intl.DateTimeFormat().resolvedOptions().locale,ur)}function _l(n){let e=n.indexOf("-u-");if(e===-1)return[n];{let t,r=n.substring(0,e);try{t=hi(n).resolvedOptions()}catch(o){t=hi(r).resolvedOptions()}let{numberingSystem:s,calendar:i}=t;return[r,s,i]}}function Bl(n,e,t){return(t||e)&&(n+="-u",t&&(n+=`-ca-${t}`),e&&(n+=`-nu-${e}`)),n}function Pl(n){let e=[];for(let t=1;t<=12;t++){let r=q.utc(2016,t,1);e.push(n(r))}return e}function $l(n){let e=[];for(let t=1;t<=7;t++){let r=q.utc(2016,11,13+t);e.push(n(r))}return e}function Gr(n,e,t,r,s){let i=n.listingMode(t);return i==="error"?null:i==="en"?r(e):s(e)}function Rl(n){return n.numberingSystem&&n.numberingSystem!=="latn"?!1:n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}var Di=class{constructor(e,t,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;let a=r,{padTo:s,floor:i}=a,o=Ys(a,["padTo","floor"]);if(!t||Object.keys(o).length>0){let u=R({useGrouping:!1},r);r.padTo>0&&(u.minimumIntegerDigits=r.padTo),this.inf=Nl(e,u)}}format(e){if(this.inf){let t=this.floor?Math.floor(e):e;return this.inf.format(t)}else{let t=this.floor?Math.floor(e):an(e,3);return re(t,this.padTo)}}},yi=class{constructor(e,t,r){this.opts=r;let s;if(e.zone.isUniversal){let o=-1*(e.offset/60),a=o>=0?`Etc/GMT+${o}`:`Etc/GMT${o}`;e.offset!==0&&ge.create(a).valid?(s=a,this.dt=e):(s="UTC",r.timeZoneName?this.dt=e:this.dt=e.offset===0?e:q.fromMillis(e.ts+e.offset*60*1e3))}else e.zone.type==="system"?this.dt=e:(this.dt=e,s=e.zone.name);let i=R({},this.opts);s&&(i.timeZone=s),this.dtf=hi(t,i)}format(){return this.dtf.format(this.dt.toJSDate())}formatToParts(){return this.dtf.formatToParts(this.dt.toJSDate())}resolvedOptions(){return this.dtf.resolvedOptions()}},gi=class{constructor(e,t,r){this.opts=R({style:"long"},r),!t&&Hr()&&(this.rtf=Al(e,r))}format(e,t){return this.rtf?this.rtf.format(e,t):Ko(t,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}},ne=class n{static fromOpts(e){return n.create(e.locale,e.numberingSystem,e.outputCalendar,e.defaultToEN)}static create(e,t,r,s=!1){let i=e||X.defaultLocale,o=i||(s?"en-US":Ml()),a=t||X.defaultNumberingSystem,u=r||X.defaultOutputCalendar;return new n(o,a,u,i)}static resetCache(){ur=null,di={},mi={},pi={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:r}={}){return n.create(e,t,r)}constructor(e,t,r,s){let[i,o,a]=_l(e);this.locale=i,this.numberingSystem=t||o||null,this.outputCalendar=r||a||null,this.intl=Bl(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=s,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=Rl(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),t=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&t?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:n.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone(ye(R({},e),{defaultToEN:!0}))}redefaultToSystem(e={}){return this.clone(ye(R({},e),{defaultToEN:!1}))}months(e,t=!1,r=!0){return Gr(this,e,r,ri,()=>{let s=t?{month:e,day:"numeric"}:{month:e},i=t?"format":"standalone";return this.monthsCache[i][e]||(this.monthsCache[i][e]=Pl(o=>this.extract(o,s,"month"))),this.monthsCache[i][e]})}weekdays(e,t=!1,r=!0){return Gr(this,e,r,oi,()=>{let s=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=t?"format":"standalone";return this.weekdaysCache[i][e]||(this.weekdaysCache[i][e]=$l(o=>this.extract(o,s,"weekday"))),this.weekdaysCache[i][e]})}meridiems(e=!0){return Gr(this,void 0,e,()=>ai,()=>{if(!this.meridiemCache){let t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[q.utc(2016,11,13,9),q.utc(2016,11,13,19)].map(r=>this.extract(r,t,"dayperiod"))}return this.meridiemCache})}eras(e,t=!0){return Gr(this,e,t,ui,()=>{let r={era:e};return this.eraCache[e]||(this.eraCache[e]=[q.utc(-40,1,1),q.utc(2017,1,1)].map(s=>this.extract(s,r,"era"))),this.eraCache[e]})}extract(e,t,r){let s=this.dtFormatter(e,t),i=s.formatToParts(),o=i.find(a=>a.type.toLowerCase()===r);return o?o.value:null}numberFormatter(e={}){return new Di(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new yi(e,this.intl,t)}relFormatter(e={}){return new gi(this.intl,this.isEnglish(),e)}listFormatter(e={}){return Ll(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}};function mn(...n){let e=n.reduce((t,r)=>t+r.source,"");return RegExp(`^${e}$`)}function pn(...n){return e=>n.reduce(([t,r,s],i)=>{let[o,a,u]=i(e,s);return[R(R({},t),o),a||r,u]},[{},null,1]).slice(0,2)}function Dn(n,...e){if(n==null)return[null,null];for(let[t,r]of e){let s=t.exec(n);if(s)return r(s)}return[null,null]}function ea(...n){return(e,t)=>{let r={},s;for(s=0;sh!==void 0&&(b||h&&f)?-h:h;return[{years:m(Ct(t)),months:m(Ct(r)),weeks:m(Ct(s)),days:m(Ct(i)),hours:m(Ct(o)),minutes:m(Ct(a)),seconds:m(Ct(u),u==="-0"),milliseconds:m(sr(l),d)}]}var Ql={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Ei(n,e,t,r,s,i,o){let a={year:e.length===2?or(Dt(e)):Dt(e),month:ni.indexOf(t)+1,day:Dt(r),hour:Dt(s),minute:Dt(i)};return o&&(a.second=Dt(o)),n&&(a.weekday=n.length>3?si.indexOf(n)+1:ii.indexOf(n)+1),a}var Xl=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;function ec(n){let[,e,t,r,s,i,o,a,u,l,f,d]=n,m=Ei(e,s,r,t,i,o,a),h;return u?h=Ql[u]:l?h=0:h=Vt(f,d),[m,new he(h)]}function tc(n){return n.replace(/\\([^()]*\\)|[\\n\\t]/g," ").replace(/(\\s\\s+)/g," ").trim()}var nc=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,rc=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,sc=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;function Xo(n){let[,e,t,r,s,i,o,a]=n;return[Ei(e,s,r,t,i,o,a),he.utcInstance]}function ic(n){let[,e,t,r,s,i,o,a]=n;return[Ei(e,a,t,r,s,i,o),he.utcInstance]}var oc=mn(ql,Fi),ac=mn(Vl,Fi),uc=mn(Ul,Fi),lc=mn(na),sa=pn(zl,yn,lr,cr),cc=pn(Kl,yn,lr,cr),fc=pn(Wl,yn,lr,cr),dc=pn(yn,lr,cr);function ia(n){return Dn(n,[oc,sa],[ac,cc],[uc,fc],[lc,dc])}function oa(n){return Dn(tc(n),[Xl,ec])}function aa(n){return Dn(n,[nc,Xo],[rc,Xo],[sc,ic])}function ua(n){return Dn(n,[Gl,Zl])}var hc=pn(yn);function la(n){return Dn(n,[Yl,hc])}var mc=mn(Hl,Jl),pc=mn(ra),Dc=pn(yn,lr,cr);function ca(n){return Dn(n,[mc,sa],[pc,Dc])}var yc="Invalid Duration",fa={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},gc=R({years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3}},fa),Me=146097/400,gn=146097/4800,bc=R({years:{quarters:4,months:12,weeks:Me/7,days:Me,hours:Me*24,minutes:Me*24*60,seconds:Me*24*60*60,milliseconds:Me*24*60*60*1e3},quarters:{months:3,weeks:Me/28,days:Me/4,hours:Me*24/4,minutes:Me*24*60/4,seconds:Me*24*60*60/4,milliseconds:Me*24*60*60*1e3/4},months:{weeks:gn/7,days:gn,hours:gn*24,minutes:gn*24*60,seconds:gn*24*60*60,milliseconds:gn*24*60*60*1e3}},fa),Kt=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Fc=Kt.slice(0).reverse();function Ut(n,e,t=!1){let r={values:t?e.values:R(R({},n.values),e.values||{}),loc:n.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||n.conversionAccuracy};return new B(r)}function Ec(n){return n<0?Math.floor(n):Math.ceil(n)}function da(n,e,t,r,s){let i=n[s][t],o=e[t]/i,a=Math.sign(o)===Math.sign(r[s]),u=!a&&r[s]!==0&&Math.abs(o)<=1?Ec(o):Math.trunc(o);r[s]+=u,e[t]-=u*i}function wc(n,e){Fc.reduce((t,r)=>W(e[r])?t:(t&&da(n,e,t,e,r),r),null)}var B=class n{constructor(e){let t=e.conversionAccuracy==="longterm"||!1;this.values=e.values,this.loc=e.loc||ne.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=t?bc:gc,this.isLuxonDuration=!0}static fromMillis(e,t){return n.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(e==null||typeof e!="object")throw new fe(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new n({values:cn(e,n.normalizeUnit),loc:ne.fromObject(t),conversionAccuracy:t.conversionAccuracy})}static fromDurationLike(e){if(tt(e))return n.fromMillis(e);if(n.isDuration(e))return e;if(typeof e=="object")return n.fromObject(e);throw new fe(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){let[r]=ua(e);return r?n.fromObject(r,t):n.invalid("unparsable",`the input "${e}" can\'t be parsed as ISO 8601`)}static fromISOTime(e,t){let[r]=la(e);return r?n.fromObject(r,t):n.invalid("unparsable",`the input "${e}" can\'t be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new fe("need to specify a reason the Duration is invalid");let r=e instanceof de?e:new de(e,t);if(X.throwOnInvalid)throw new Wr(r);return new n({invalid:r})}static normalizeUnit(e){let t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!t)throw new sn(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){let r=ye(R({},t),{floor:t.round!==!1&&t.floor!==!1});return this.isValid?we.create(this.loc,r).formatDurationFromString(this,e):yc}toHuman(e={}){let t=Kt.map(r=>{let s=this.values[r];return W(s)?null:this.loc.numberFormatter(ye(R({style:"unit",unitDisplay:"long"},e),{unit:r.slice(0,-1)})).format(s)}).filter(r=>r);return this.loc.listFormatter(R({type:"conjunction",style:e.listStyle||"narrow"},e)).format(t)}toObject(){return this.isValid?R({},this.values):{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=an(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let t=this.toMillis();if(t<0||t>=864e5)return null;e=R({suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended"},e);let r=this.shiftTo("hours","minutes","seconds","milliseconds"),s=e.format==="basic"?"hhmm":"hh:mm";(!e.suppressSeconds||r.seconds!==0||r.milliseconds!==0)&&(s+=e.format==="basic"?"ss":":ss",(!e.suppressMilliseconds||r.milliseconds!==0)&&(s+=".SSS"));let i=r.toFormat(s);return e.includePrefix&&(i="T"+i),i}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.as("milliseconds")}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let t=n.fromDurationLike(e),r={};for(let s of Kt)(kt(t.values,s)||kt(this.values,s))&&(r[s]=t.get(s)+this.get(s));return Ut(this,{values:r},!0)}minus(e){if(!this.isValid)return this;let t=n.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;let t={};for(let r of Object.keys(this.values))t[r]=ei(e(this.values[r],r));return Ut(this,{values:t},!0)}get(e){return this[n.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let t=R(R({},this.values),cn(e,n.normalizeUnit));return Ut(this,{values:t})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:r}={}){let s=this.loc.clone({locale:e,numberingSystem:t}),i={loc:s};return r&&(i.conversionAccuracy=r),Ut(this,i)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return wc(this.matrix,e),Ut(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(o=>n.normalizeUnit(o));let t={},r={},s=this.toObject(),i;for(let o of Kt)if(e.indexOf(o)>=0){i=o;let a=0;for(let l in r)a+=this.matrix[l][o]*r[l],r[l]=0;tt(s[o])&&(a+=s[o]);let u=Math.trunc(a);t[o]=u,r[o]=(a*1e3-u*1e3)/1e3;for(let l in s)Kt.indexOf(l)>Kt.indexOf(o)&&da(this.matrix,s,l,t,o)}else tt(s[o])&&(r[o]=s[o]);for(let o in r)r[o]!==0&&(t[i]+=o===i?r[o]:r[o]/this.matrix[i][o]);return Ut(this,{values:t},!0).normalize()}negate(){if(!this.isValid)return this;let e={};for(let t of Object.keys(this.values))e[t]=this.values[t]===0?0:-this.values[t];return Ut(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function t(r,s){return r===void 0||r===0?s===void 0||s===0:r===s}for(let r of Kt)if(!t(this.values[r],e.values[r]))return!1;return!0}};var fr="Invalid Interval";function Tc(n,e){return!n||!n.isValid?yt.invalid("missing or invalid start"):!e||!e.isValid?yt.invalid("missing or invalid end"):ee:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:t}={}){return this.isValid?n.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];let t=e.map(bn).filter(o=>this.contains(o)).sort(),r=[],{s}=this,i=0;for(;s+this.e?this.e:o;r.push(n.fromDateTimes(s,a)),s=a,i+=1}return r}splitBy(e){let t=B.fromDurationLike(e);if(!this.isValid||!t.isValid||t.as("milliseconds")===0)return[];let{s:r}=this,s=1,i,o=[];for(;ru*s));i=+a>+this.e?this.e:a,o.push(n.fromDateTimes(r,i)),r=i,s+=1}return o}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let t=this.s>e.s?this.s:e.s,r=this.e=r?null:n.fromDateTimes(t,r)}union(e){if(!this.isValid)return this;let t=this.se.e?this.e:e.e;return n.fromDateTimes(t,r)}static merge(e){let[t,r]=e.sort((s,i)=>s.s-i.s).reduce(([s,i],o)=>i?i.overlaps(o)||i.abutsStart(o)?[s,i.union(o)]:[s.concat([i]),o]:[s,o],[[],null]);return r&&t.push(r),t}static xor(e){let t=null,r=0,s=[],i=e.map(u=>[{time:u.s,type:"s"},{time:u.e,type:"e"}]),o=Array.prototype.concat(...i),a=o.sort((u,l)=>u.time-l.time);for(let u of a)r+=u.type==="s"?1:-1,r===1?t=u.time:(t&&+t!=+u.time&&s.push(n.fromDateTimes(t,u.time)),t=null);return n.merge(s)}difference(...e){return n.xor([this].concat(e)).map(t=>this.intersection(t)).filter(t=>t&&!t.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \\u2013 ${this.e.toISO()})`:fr}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:fr}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:fr}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:fr}toFormat(e,{separator:t=" \\u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:fr}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):B.invalid(this.invalidReason)}mapEndpoints(e){return n.fromDateTimes(e(this.s),e(this.e))}};var gt=class{static hasDST(e=X.defaultZone){let t=q.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return ge.isValidZone(e)}static normalizeZone(e){return Ve(e,X.defaultZone)}static months(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null,outputCalendar:i="gregory"}={}){return(s||ne.create(t,r,i)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null,outputCalendar:i="gregory"}={}){return(s||ne.create(t,r,i)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null}={}){return(s||ne.create(t,r,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:s=null}={}){return(s||ne.create(t,r,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return ne.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return ne.create(t,null,"gregory").eras(e)}static features(){return{relative:Hr()}}};function ha(n,e){let t=s=>s.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=t(e)-t(n);return Math.floor(B.fromMillis(r).as("days"))}function Sc(n,e,t){let r=[["years",(a,u)=>u.year-a.year],["quarters",(a,u)=>u.quarter-a.quarter],["months",(a,u)=>u.month-a.month+(u.year-a.year)*12],["weeks",(a,u)=>{let l=ha(a,u);return(l-l%7)/7}],["days",ha]],s={},i,o;for(let[a,u]of r)if(t.indexOf(a)>=0){i=a;let l=u(n,e);o=n.plus({[a]:l}),o>e?(n=n.plus({[a]:l-1}),l-=1):n=o,s[a]=l}return[n,s,o,i]}function ma(n,e,t,r){let[s,i,o,a]=Sc(n,e,t),u=e-s,l=t.filter(d=>["hours","minutes","seconds","milliseconds"].indexOf(d)>=0);l.length===0&&(o0?B.fromMillis(u,r).shiftTo(...l).plus(f):f}var wi={arab:"[\\u0660-\\u0669]",arabext:"[\\u06F0-\\u06F9]",bali:"[\\u1B50-\\u1B59]",beng:"[\\u09E6-\\u09EF]",deva:"[\\u0966-\\u096F]",fullwide:"[\\uFF10-\\uFF19]",gujr:"[\\u0AE6-\\u0AEF]",hanidec:"[\\u3007|\\u4E00|\\u4E8C|\\u4E09|\\u56DB|\\u4E94|\\u516D|\\u4E03|\\u516B|\\u4E5D]",khmr:"[\\u17E0-\\u17E9]",knda:"[\\u0CE6-\\u0CEF]",laoo:"[\\u0ED0-\\u0ED9]",limb:"[\\u1946-\\u194F]",mlym:"[\\u0D66-\\u0D6F]",mong:"[\\u1810-\\u1819]",mymr:"[\\u1040-\\u1049]",orya:"[\\u0B66-\\u0B6F]",tamldec:"[\\u0BE6-\\u0BEF]",telu:"[\\u0C66-\\u0C6F]",thai:"[\\u0E50-\\u0E59]",tibt:"[\\u0F20-\\u0F29]",latn:"\\\\d"},pa={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},kc=wi.hanidec.replace(/[\\[|\\]]/g,"").split("");function Da(n){let e=parseInt(n,10);if(isNaN(e)){e="";for(let t=0;t=i&&r<=o&&(e+=r-i)}}return parseInt(e,10)}else return e}function _e({numberingSystem:n},e=""){return new RegExp(`${wi[n||"latn"]}${e}`)}var Cc="missing Intl.DateTimeFormat.formatToParts support";function G(n,e=t=>t){return{regex:n,deser:([t])=>e(Da(t))}}var vc="\\xA0",ba=`[ ${vc}]`,Fa=new RegExp(ba,"g");function xc(n){return n.replace(/\\./g,"\\\\.?").replace(Fa,ba)}function ya(n){return n.replace(/\\./g,"").replace(Fa," ").toLowerCase()}function Ue(n,e){return n===null?null:{regex:RegExp(n.map(xc).join("|")),deser:([t])=>n.findIndex(r=>ya(t)===ya(r))+e}}function ga(n,e){return{regex:n,deser:([,t,r])=>Vt(t,r),groups:e}}function Ti(n){return{regex:n,deser:([e])=>e}}function Oc(n){return n.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g,"\\\\$&")}function Ic(n,e){let t=_e(e),r=_e(e,"{2}"),s=_e(e,"{3}"),i=_e(e,"{4}"),o=_e(e,"{6}"),a=_e(e,"{1,2}"),u=_e(e,"{1,3}"),l=_e(e,"{1,6}"),f=_e(e,"{1,9}"),d=_e(e,"{2,4}"),m=_e(e,"{4,6}"),h=D=>({regex:RegExp(Oc(D.val)),deser:([T])=>T,literal:!0}),g=(D=>{if(n.literal)return h(D);switch(D.val){case"G":return Ue(e.eras("short",!1),0);case"GG":return Ue(e.eras("long",!1),0);case"y":return G(l);case"yy":return G(d,or);case"yyyy":return G(i);case"yyyyy":return G(m);case"yyyyyy":return G(o);case"M":return G(a);case"MM":return G(r);case"MMM":return Ue(e.months("short",!0,!1),1);case"MMMM":return Ue(e.months("long",!0,!1),1);case"L":return G(a);case"LL":return G(r);case"LLL":return Ue(e.months("short",!1,!1),1);case"LLLL":return Ue(e.months("long",!1,!1),1);case"d":return G(a);case"dd":return G(r);case"o":return G(u);case"ooo":return G(s);case"HH":return G(r);case"H":return G(a);case"hh":return G(r);case"h":return G(a);case"mm":return G(r);case"m":return G(a);case"q":return G(a);case"qq":return G(r);case"s":return G(a);case"ss":return G(r);case"S":return G(u);case"SSS":return G(s);case"u":return Ti(f);case"uu":return Ti(a);case"uuu":return G(t);case"a":return Ue(e.meridiems(),0);case"kkkk":return G(i);case"kk":return G(d,or);case"W":return G(a);case"WW":return G(r);case"E":case"c":return G(t);case"EEE":return Ue(e.weekdays("short",!1,!1),1);case"EEEE":return Ue(e.weekdays("long",!1,!1),1);case"ccc":return Ue(e.weekdays("short",!0,!1),1);case"cccc":return Ue(e.weekdays("long",!0,!1),1);case"Z":case"ZZ":return ga(new RegExp(`([+-]${a.source})(?::(${r.source}))?`),2);case"ZZZ":return ga(new RegExp(`([+-]${a.source})(${r.source})?`),2);case"z":return Ti(/[a-z_+-/]{1,256}?/i);default:return h(D)}})(n)||{invalidReason:Cc};return g.token=n,g}var Lc={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"}};function Nc(n,e,t){let{type:r,value:s}=n;if(r==="literal")return{literal:!0,val:s};let i=t[r],o=Lc[r];if(typeof o=="object"&&(o=o[i]),o)return{literal:!1,val:o}}function Ac(n){return[`^${n.map(t=>t.regex).reduce((t,r)=>`${t}(${r.source})`,"")}$`,n]}function Mc(n,e,t){let r=n.match(e);if(r){let s={},i=1;for(let o in t)if(kt(t,o)){let a=t[o],u=a.groups?a.groups+1:1;!a.literal&&a.token&&(s[a.token.val[0]]=a.deser(r.slice(i,i+u))),i+=u}return[r,s]}else return[r,{}]}function _c(n){let e=i=>{switch(i){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},t=null,r;return W(n.z)||(t=ge.create(n.z)),W(n.Z)||(t||(t=new he(n.Z)),r=n.Z),W(n.q)||(n.M=(n.q-1)*3+1),W(n.h)||(n.h<12&&n.a===1?n.h+=12:n.h===12&&n.a===0&&(n.h=0)),n.G===0&&n.y&&(n.y=-n.y),W(n.u)||(n.S=sr(n.u)),[Object.keys(n).reduce((i,o)=>{let a=e(o);return a&&(i[a]=n[o]),i},{}),t,r]}var Si=null;function Bc(){return Si||(Si=q.fromMillis(1555555555555)),Si}function Pc(n,e){if(n.literal)return n;let t=we.macroTokenToFormatOpts(n.val);if(!t)return n;let i=we.create(e,t).formatDateTimeParts(Bc()).map(o=>Nc(o,e,t));return i.includes(void 0)?n:i}function $c(n,e){return Array.prototype.concat(...n.map(t=>Pc(t,e)))}function ki(n,e,t){let r=$c(we.parseFormat(t),n),s=r.map(o=>Ic(o,n)),i=s.find(o=>o.invalidReason);if(i)return{input:e,tokens:r,invalidReason:i.invalidReason};{let[o,a]=Ac(s),u=RegExp(o,"i"),[l,f]=Mc(e,u,a),[d,m,h]=f?_c(f):[null,null,void 0];if(kt(f,"a")&&kt(f,"H"))throw new pt("Can\'t include meridiem when specifying 24-hour format");return{input:e,tokens:r,regex:u,rawMatches:l,matches:f,result:d,zone:m,specificOffset:h}}}function Ea(n,e,t){let{result:r,zone:s,specificOffset:i,invalidReason:o}=ki(n,e,t);return[r,s,i,o]}var wa=[0,31,59,90,120,151,181,212,243,273,304,334],Ta=[0,31,60,91,121,152,182,213,244,274,305,335];function Be(n,e){return new de("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${n}, which is invalid`)}function Sa(n,e,t){let r=new Date(Date.UTC(n,e-1,t));n<100&&n>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);let s=r.getUTCDay();return s===0?7:s}function ka(n,e,t){return t+(jt(n)?Ta:wa)[e-1]}function Ca(n,e){let t=jt(n)?Ta:wa,r=t.findIndex(i=>iln(e)?(a=e+1,o=1):a=e,R({weekYear:a,weekNumber:o,weekday:i},ar(n))}function Ci(n){let{weekYear:e,weekNumber:t,weekday:r}=n,s=Sa(e,1,4),i=qt(e),o=t*7+r-s-3,a;o<1?(a=e-1,o+=qt(a)):o>i?(a=e+1,o-=qt(e)):a=e;let{month:u,day:l}=Ca(a,o);return R({year:a,month:u,day:l},ar(n))}function Qr(n){let{year:e,month:t,day:r}=n,s=ka(e,t,r);return R({year:e,ordinal:s},ar(n))}function vi(n){let{year:e,ordinal:t}=n,{month:r,day:s}=Ca(e,t);return R({year:e,month:r,day:s},ar(n))}function va(n){let e=rr(n.weekYear),t=nt(n.weekNumber,1,ln(n.weekYear)),r=nt(n.weekday,1,7);return e?t?r?!1:Be("weekday",n.weekday):Be("week",n.week):Be("weekYear",n.weekYear)}function xa(n){let e=rr(n.year),t=nt(n.ordinal,1,qt(n.year));return e?t?!1:Be("ordinal",n.ordinal):Be("year",n.year)}function xi(n){let e=rr(n.year),t=nt(n.month,1,12),r=nt(n.day,1,un(n.year,n.month));return e?t?r?!1:Be("day",n.day):Be("month",n.month):Be("year",n.year)}function Oi(n){let{hour:e,minute:t,second:r,millisecond:s}=n,i=nt(e,0,23)||e===24&&t===0&&r===0&&s===0,o=nt(t,0,59),a=nt(r,0,59),u=nt(s,0,999);return i?o?a?u?!1:Be("millisecond",s):Be("second",r):Be("minute",t):Be("hour",e)}var Ii="Invalid DateTime",Oa=864e13;function Xr(n){return new de("unsupported zone",`the zone "${n.name}" is not supported`)}function Li(n){return n.weekData===null&&(n.weekData=Zr(n.c)),n.weekData}function dr(n,e){let t={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new q(ye(R(R({},t),e),{old:t}))}function Pa(n,e,t){let r=n-e*60*1e3,s=t.offset(r);if(e===s)return[r,e];r-=(s-e)*60*1e3;let i=t.offset(r);return s===i?[r,s]:[n-Math.min(s,i)*60*1e3,Math.max(s,i)]}function Ia(n,e){n+=e*60*1e3;let t=new Date(n);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes(),second:t.getUTCSeconds(),millisecond:t.getUTCMilliseconds()}}function ts(n,e,t){return Pa(ir(n),e,t)}function La(n,e){let t=n.o,r=n.c.year+Math.trunc(e.years),s=n.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,i=ye(R({},n.c),{year:r,month:s,day:Math.min(n.c.day,un(r,s))+Math.trunc(e.days)+Math.trunc(e.weeks)*7}),o=B.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),a=ir(i),[u,l]=Pa(a,t,n.zone);return o!==0&&(u+=o,l=n.zone.offset(u)),{ts:u,o:l}}function hr(n,e,t,r,s,i){let{setZone:o,zone:a}=t;if(n&&Object.keys(n).length!==0){let u=e||a,l=q.fromObject(n,ye(R({},t),{zone:u,specificOffset:i}));return o?l:l.setZone(a)}else return q.invalid(new de("unparsable",`the input "${s}" can\'t be parsed as ${r}`))}function es(n,e,t=!0){return n.isValid?we.create(ne.create("en-US"),{allowZ:t,forceSimple:!0}).formatDateTimeFromString(n,e):null}function Ni(n,e){let t=n.c.year>9999||n.c.year<0,r="";return t&&n.c.year>=0&&(r+="+"),r+=re(n.c.year,t?6:4),e?(r+="-",r+=re(n.c.month),r+="-",r+=re(n.c.day)):(r+=re(n.c.month),r+=re(n.c.day)),r}function Na(n,e,t,r,s,i){let o=re(n.c.hour);return e?(o+=":",o+=re(n.c.minute),(n.c.second!==0||!t)&&(o+=":")):o+=re(n.c.minute),(n.c.second!==0||!t)&&(o+=re(n.c.second),(n.c.millisecond!==0||!r)&&(o+=".",o+=re(n.c.millisecond,3))),s&&(n.isOffsetFixed&&n.offset===0&&!i?o+="Z":n.o<0?(o+="-",o+=re(Math.trunc(-n.o/60)),o+=":",o+=re(Math.trunc(-n.o%60))):(o+="+",o+=re(Math.trunc(n.o/60)),o+=":",o+=re(Math.trunc(n.o%60)))),i&&(o+="["+n.zone.ianaName+"]"),o}var $a={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Rc={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},jc={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ra=["year","month","day","hour","minute","second","millisecond"],qc=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Vc=["year","ordinal","hour","minute","second","millisecond"];function Aa(n){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!e)throw new sn(n);return e}function Ma(n,e){let t=Ve(e.zone,X.defaultZone),r=ne.fromObject(e),s=X.now(),i,o;if(W(n.year))i=s;else{for(let l of Ra)W(n[l])&&(n[l]=$a[l]);let a=xi(n)||Oi(n);if(a)return q.invalid(a);let u=t.offset(s);[i,o]=ts(n,u,t)}return new q({ts:i,zone:t,loc:r,o})}function _a(n,e,t){let r=W(t.round)?!0:t.round,s=(o,a)=>(o=an(o,r||t.calendary?0:2,!0),e.loc.clone(t).relFormatter(t).format(o,a)),i=o=>t.calendary?e.hasSame(n,o)?0:e.startOf(o).diff(n.startOf(o),o).get(o):e.diff(n,o).get(o);if(t.unit)return s(i(t.unit),t.unit);for(let o of t.units){let a=i(o);if(Math.abs(a)>=1)return s(a,o)}return s(n>e?-0:0,t.units[t.units.length-1])}function Ba(n){let e={},t;return n.length>0&&typeof n[n.length-1]=="object"?(e=n[n.length-1],t=Array.from(n).slice(0,n.length-1)):t=Array.from(n),[e,t]}var q=class n{constructor(e){let t=e.zone||X.defaultZone,r=e.invalid||(Number.isNaN(e.ts)?new de("invalid input"):null)||(t.isValid?null:Xr(t));this.ts=W(e.ts)?X.now():e.ts;let s=null,i=null;if(!r)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[s,i]=[e.old.c,e.old.o];else{let a=t.offset(this.ts);s=Ia(this.ts,a),r=Number.isNaN(s.year)?new de("invalid input"):null,s=r?null:s,i=r?null:a}this._zone=t,this.loc=e.loc||ne.create(),this.invalid=r,this.weekData=null,this.c=s,this.o=i,this.isLuxonDateTime=!0}static now(){return new n({})}static local(){let[e,t]=Ba(arguments),[r,s,i,o,a,u,l]=t;return Ma({year:r,month:s,day:i,hour:o,minute:a,second:u,millisecond:l},e)}static utc(){let[e,t]=Ba(arguments),[r,s,i,o,a,u,l]=t;return e.zone=he.utcInstance,Ma({year:r,month:s,day:i,hour:o,minute:a,second:u,millisecond:l},e)}static fromJSDate(e,t={}){let r=Po(e)?e.valueOf():NaN;if(Number.isNaN(r))return n.invalid("invalid input");let s=Ve(t.zone,X.defaultZone);return s.isValid?new n({ts:r,zone:s,loc:ne.fromObject(t)}):n.invalid(Xr(s))}static fromMillis(e,t={}){if(tt(e))return e<-Oa||e>Oa?n.invalid("Timestamp out of range"):new n({ts:e,zone:Ve(t.zone,X.defaultZone),loc:ne.fromObject(t)});throw new fe(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(tt(e))return new n({ts:e*1e3,zone:Ve(t.zone,X.defaultZone),loc:ne.fromObject(t)});throw new fe("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};let r=Ve(t.zone,X.defaultZone);if(!r.isValid)return n.invalid(Xr(r));let s=X.now(),i=W(t.specificOffset)?r.offset(s):t.specificOffset,o=cn(e,Aa),a=!W(o.ordinal),u=!W(o.year),l=!W(o.month)||!W(o.day),f=u||l,d=o.weekYear||o.weekNumber,m=ne.fromObject(t);if((f||a)&&d)throw new pt("Can\'t mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&a)throw new pt("Can\'t mix ordinal dates with month/day");let h=d||o.weekday&&!f,b,g,D=Ia(s,i);h?(b=qc,g=Rc,D=Zr(D)):a?(b=Vc,g=jc,D=Qr(D)):(b=Ra,g=$a);let T=!1;for(let C of b){let V=o[C];W(V)?T?o[C]=g[C]:o[C]=D[C]:T=!0}let I=h?va(o):a?xa(o):xi(o),N=I||Oi(o);if(N)return n.invalid(N);let y=h?Ci(o):a?vi(o):o,[w,v]=ts(y,i,r),x=new n({ts:w,zone:r,o:v,loc:m});return o.weekday&&f&&e.weekday!==x.weekday?n.invalid("mismatched weekday",`you can\'t specify both a weekday of ${o.weekday} and a date of ${x.toISO()}`):x}static fromISO(e,t={}){let[r,s]=ia(e);return hr(r,s,t,"ISO 8601",e)}static fromRFC2822(e,t={}){let[r,s]=oa(e);return hr(r,s,t,"RFC 2822",e)}static fromHTTP(e,t={}){let[r,s]=aa(e);return hr(r,s,t,"HTTP",t)}static fromFormat(e,t,r={}){if(W(e)||W(t))throw new fe("fromFormat requires an input string and a format");let{locale:s=null,numberingSystem:i=null}=r,o=ne.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0}),[a,u,l,f]=Ea(o,e,t);return f?n.invalid(f):hr(a,u,r,`format ${t}`,e,l)}static fromString(e,t,r={}){return n.fromFormat(e,t,r)}static fromSQL(e,t={}){let[r,s]=ca(e);return hr(r,s,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new fe("need to specify a reason the DateTime is invalid");let r=e instanceof de?e:new de(e,t);if(X.throwOnInvalid)throw new Ur(r);return new n({invalid:r})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Li(this).weekYear:NaN}get weekNumber(){return this.isValid?Li(this).weekNumber:NaN}get weekday(){return this.isValid?Li(this).weekday:NaN}get ordinal(){return this.isValid?Qr(this.c).ordinal:NaN}get monthShort(){return this.isValid?gt.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?gt.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?gt.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?gt.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}get isInLeapYear(){return jt(this.year)}get daysInMonth(){return un(this.year,this.month)}get daysInYear(){return this.isValid?qt(this.year):NaN}get weeksInWeekYear(){return this.isValid?ln(this.weekYear):NaN}resolvedLocaleOptions(e={}){let{locale:t,numberingSystem:r,calendar:s}=we.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:r,outputCalendar:s}}toUTC(e=0,t={}){return this.setZone(he.instance(e),t)}toLocal(){return this.setZone(X.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:r=!1}={}){if(e=Ve(e,X.defaultZone),e.equals(this.zone))return this;if(e.isValid){let s=this.ts;if(t||r){let i=e.offset(this.ts),o=this.toObject();[s]=ts(o,i,e)}return dr(this,{ts:s,zone:e})}else return n.invalid(Xr(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:r}={}){let s=this.loc.clone({locale:e,numberingSystem:t,outputCalendar:r});return dr(this,{loc:s})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let t=cn(e,Aa),r=!W(t.weekYear)||!W(t.weekNumber)||!W(t.weekday),s=!W(t.ordinal),i=!W(t.year),o=!W(t.month)||!W(t.day),a=i||o,u=t.weekYear||t.weekNumber;if((a||s)&&u)throw new pt("Can\'t mix weekYear/weekNumber units with year/month/day or ordinals");if(o&&s)throw new pt("Can\'t mix ordinal dates with month/day");let l;r?l=Ci(R(R({},Zr(this.c)),t)):W(t.ordinal)?(l=R(R({},this.toObject()),t),W(t.day)&&(l.day=Math.min(un(l.year,l.month),l.day))):l=vi(R(R({},Qr(this.c)),t));let[f,d]=ts(l,this.o,this.zone);return dr(this,{ts:f,o:d})}plus(e){if(!this.isValid)return this;let t=B.fromDurationLike(e);return dr(this,La(this,t))}minus(e){if(!this.isValid)return this;let t=B.fromDurationLike(e).negate();return dr(this,La(this,t))}startOf(e){if(!this.isValid)return this;let t={},r=B.normalizeUnit(e);switch(r){case"years":t.month=1;case"quarters":case"months":t.day=1;case"weeks":case"days":t.hour=0;case"hours":t.minute=0;case"minutes":t.second=0;case"seconds":t.millisecond=0;break;case"milliseconds":break}if(r==="weeks"&&(t.weekday=1),r==="quarters"){let s=Math.ceil(this.month/3);t.month=(s-1)*3+1}return this.set(t)}endOf(e){return this.isValid?this.plus({[e]:1}).startOf(e).minus(1):this}toFormat(e,t={}){return this.isValid?we.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):Ii}toLocaleString(e=on,t={}){return this.isValid?we.create(this.loc.clone(t),e).formatDateTime(this):Ii}toLocaleParts(e={}){return this.isValid?we.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:r=!1,includeOffset:s=!0,extendedZone:i=!1}={}){if(!this.isValid)return null;let o=e==="extended",a=Ni(this,o);return a+="T",a+=Na(this,o,t,r,s,i),a}toISODate({format:e="extended"}={}){return this.isValid?Ni(this,e==="extended"):null}toISOWeekDate(){return es(this,"kkkk-\'W\'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:r=!0,includePrefix:s=!1,extendedZone:i=!1,format:o="extended"}={}){return this.isValid?(s?"T":"")+Na(this,o==="extended",t,e,r,i):null}toRFC2822(){return es(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return es(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss \'GMT\'")}toSQLDate(){return this.isValid?Ni(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:r=!0}={}){let s="HH:mm:ss.SSS";return(t||e)&&(r&&(s+=" "),t?s+="z":e&&(s+="ZZ")),es(this,s,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():Ii}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let t=R({},this.c);return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",r={}){if(!this.isValid||!e.isValid)return B.invalid("created by diffing an invalid DateTime");let s=R({locale:this.locale,numberingSystem:this.numberingSystem},r),i=$o(t).map(B.normalizeUnit),o=e.valueOf()>this.valueOf(),a=o?this:e,u=o?e:this,l=ma(a,u,i,s);return o?l.negate():l}diffNow(e="milliseconds",t={}){return this.diff(n.now(),e,t)}until(e){return this.isValid?yt.fromDateTimes(this,e):this}hasSame(e,t){if(!this.isValid)return!1;let r=e.valueOf(),s=this.setZone(e.zone,{keepLocalTime:!0});return s.startOf(t)<=r&&r<=s.endOf(t)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let t=e.base||n.fromObject({},{zone:this.zone}),r=e.padding?thist.valueOf(),Math.min)}static max(...e){if(!e.every(n.isDateTime))throw new fe("max requires all arguments be DateTimes");return Xs(e,t=>t.valueOf(),Math.max)}static fromFormatExplain(e,t,r={}){let{locale:s=null,numberingSystem:i=null}=r,o=ne.fromOpts({locale:s,numberingSystem:i,defaultToEN:!0});return ki(o,e,t)}static fromStringExplain(e,t,r={}){return n.fromFormatExplain(e,t,r)}static get DATE_SHORT(){return on}static get DATE_MED(){return $n}static get DATE_MED_WITH_WEEKDAY(){return Gs}static get DATE_FULL(){return Rn}static get DATE_HUGE(){return jn}static get TIME_SIMPLE(){return qn}static get TIME_WITH_SECONDS(){return Vn}static get TIME_WITH_SHORT_OFFSET(){return Un}static get TIME_WITH_LONG_OFFSET(){return Kn}static get TIME_24_SIMPLE(){return Wn}static get TIME_24_WITH_SECONDS(){return Hn}static get TIME_24_WITH_SHORT_OFFSET(){return Jn}static get TIME_24_WITH_LONG_OFFSET(){return zn}static get DATETIME_SHORT(){return Yn}static get DATETIME_SHORT_WITH_SECONDS(){return Gn}static get DATETIME_MED(){return Zn}static get DATETIME_MED_WITH_SECONDS(){return Qn}static get DATETIME_MED_WITH_WEEKDAY(){return Zs}static get DATETIME_FULL(){return Xn}static get DATETIME_FULL_WITH_SECONDS(){return er}static get DATETIME_HUGE(){return tr}static get DATETIME_HUGE_WITH_SECONDS(){return nr}};function bn(n){if(q.isDateTime(n))return n;if(n&&n.valueOf&&tt(n.valueOf()))return q.fromJSDate(n);if(n&&typeof n=="object")return q.fromObject(n);throw new fe(`Unknown datetime argument: ${n}, of type ${typeof n}`)}var bt=Vr(ns());var Fn=()=>/[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE89\\uDE8F-\\uDEC2\\uDEC6\\uDECE-\\uDEDC\\uDEDF-\\uDEE9]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;function Mi(n){return n==null?n:n.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds").normalize()}function ja(n,e,t,r){return n.second==0&&n.minute==0&&n.hour==0?n.toLocal().toFormat(e,{locale:r}):n.toLocal().toFormat(t,{locale:r})}function qa(n){n=Mi(n);let e="";return n.years&&(e+=`${n.years} years, `),n.months&&(e+=`${n.months} months, `),n.weeks&&(e+=`${n.weeks} weeks, `),n.days&&(e+=`${n.days} days, `),n.hours&&(e+=`${n.hours} hours, `),n.minutes&&(e+=`${n.minutes} minutes, `),n.seconds&&(e+=`${Math.round(n.seconds)} seconds, `),n.milliseconds&&(e+=`${Math.round(n.milliseconds)} ms, `),e.endsWith(", ")&&(e=e.substring(0,e.length-2)),e}function En(n){return n.includes("/")&&(n=n.substring(n.lastIndexOf("/")+1)),n.endsWith(".md")&&(n=n.substring(0,n.length-3)),n}function Va(n){return n.includes(".")?n.substring(n.lastIndexOf(".")+1):""}var Uc=bt.alt(bt.regex(new RegExp(Fn(),"")),bt.regex(/[0-9\\p{Letter}_-]+/u),bt.whitespace.map(n=>" "),bt.any.map(n=>" ")).many().map(n=>n.join("").split(/\\s+/).join(" ").trim());function Ua(n){return Uc.tryParse(n)}var Oe=class n{static file(e,t=!1,r){return new n({path:e,embed:t,display:r,subpath:void 0,type:"file"})}static infer(e,t=!1,r){if(e.includes("#^")){let s=e.split("#^");return n.block(s[0],s[1],t,r)}else if(e.includes("#")){let s=e.split("#");return n.header(s[0],s[1],t,r)}else return n.file(e,t,r)}static header(e,t,r,s){return new n({path:e,embed:r,display:s,subpath:Ua(t),type:"header"})}static block(e,t,r,s){return new n({path:e,embed:r,display:s,subpath:t,type:"block"})}static fromObject(e){return new n(e)}static parseInner(e){let[t,r]=Kc(e);return n.infer(t,!1,r)}constructor(e){Object.assign(this,e)}withPath(e){return new n(Object.assign({},this,{path:e}))}withDisplay(e){return new n(Object.assign({},this,{display:e}))}withEmbed(e){return this.embed==e?this:new n(Object.assign({},this,{embed:e}))}withHeader(e){return n.header(this.path,e,this.embed,this.display)}withBlock(e){return n.block(this.path,e,this.embed,this.display)}equals(e){return e==null||e==null?!1:this.path==e.path&&this.type==e.type&&this.subpath==e.subpath}toString(){return this.markdown()}toObject(){return{path:this.path,type:this.type,subpath:this.subpath,display:this.display,embed:this.embed}}toFile(){return n.file(this.path,this.embed,this.display)}toEmbed(){return this.withEmbed(!0)}fromEmbed(){return this.withEmbed(!1)}markdown(){let e=(this.embed?"!":"")+"[["+this.obsidianLink();return e+="|",e+=this.displayOrDefault(),e+="]]",e}displayOrDefault(){if(this.display)return this.display;{let e=En(this.path);return(this.type=="header"||this.type=="block")&&(e+=" > "+this.subpath),e}}obsidianLink(){var t,r;let e=this.path.replace("|","\\\\|");return this.type=="header"?e+"#"+((t=this.subpath)==null?void 0:t.replace("|","\\\\|")):this.type=="block"?e+"#^"+((r=this.subpath)==null?void 0:r.replace("|","\\\\|")):e}fileName(){return En(this.path)}};function Kc(n){let e=-1;for(;(e=n.indexOf("|",e+1))>=0;)if(!(e>0&&n[e-1]=="\\\\"))return[n.substring(0,e).replace(/\\\\\\|/g,"|"),n.substring(e+1)];return[n.replace(/\\\\\\|/g,"|"),void 0]}var rs=Symbol.for("yaml.alias"),ss=Symbol.for("yaml.document"),Ke=Symbol.for("yaml.map"),_i=Symbol.for("yaml.pair"),Ie=Symbol.for("yaml.scalar"),Ft=Symbol.for("yaml.seq"),Te=Symbol.for("yaml.node.type"),We=n=>!!n&&typeof n=="object"&&n[Te]===rs,rt=n=>!!n&&typeof n=="object"&&n[Te]===ss,He=n=>!!n&&typeof n=="object"&&n[Te]===Ke,H=n=>!!n&&typeof n=="object"&&n[Te]===_i,K=n=>!!n&&typeof n=="object"&&n[Te]===Ie,Je=n=>!!n&&typeof n=="object"&&n[Te]===Ft;function Z(n){if(n&&typeof n=="object")switch(n[Te]){case Ke:case Ft:return!0}return!1}function J(n){if(n&&typeof n=="object")switch(n[Te]){case rs:case Ke:case Ie:case Ft:return!0}return!1}var Ka=n=>(K(n)||Z(n))&&!!n.anchor;var Ce=Symbol("break visit"),Wa=Symbol("skip children"),st=Symbol("remove node");function ze(n,e){let t=Ha(e);rt(n)?wn(null,n.contents,t,Object.freeze([n]))===st&&(n.contents=null):wn(null,n,t,Object.freeze([]))}ze.BREAK=Ce;ze.SKIP=Wa;ze.REMOVE=st;function wn(n,e,t,r){let s=Ja(n,e,t,r);if(J(s)||H(s))return za(n,r,s),wn(n,s,t,r);if(typeof s!="symbol"){if(Z(e)){r=Object.freeze(r.concat(e));for(let i=0;in.replace(/[!,[\\]{}]/g,e=>Wc[e]),it=class n{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},n.defaultYaml,e),this.tags=Object.assign({},n.defaultTags,t)}clone(){let e=new n(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new n(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:n.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},n.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:n.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},n.defaultTags),this.atNextDocument=!1);let r=e.trim().split(/[ \\t]+/),s=r.shift();switch(s){case"%TAG":{if(r.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;let[i,o]=r;return this.tags[i]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[i]=r;if(i==="1.1"||i==="1.2")return this.yaml.version=i,!0;{let o=/^\\d+\\.\\d+$/.test(i);return t(6,`Unsupported YAML version ${i}`,o),!1}}default:return t(0,`Unknown directive ${s}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(t(`Verbatim tags aren\'t resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),o)}let[,r,s]=e.match(new RegExp("^(.*!)([^!]*)$","s"));s||t(`The ${e} tag has no suffix`);let i=this.tags[r];if(i)try{return i+decodeURIComponent(s)}catch(o){return t(String(o)),null}return r==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,r]of Object.entries(this.tags))if(e.startsWith(r))return t+Hc(e.substring(r.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags),s;if(e&&r.length>0&&J(e.contents)){let i={};ze(e.contents,(o,a)=>{J(a)&&a.tag&&(i[a.tag]=!0)}),s=Object.keys(i)}else s=[];for(let[i,o]of r)i==="!!"&&o==="tag:yaml.org,2002:"||(!e||s.some(a=>a.startsWith(o)))&&t.push(`%TAG ${i} ${o}`);return t.join(`\n`)}};it.defaultYaml={explicit:!1,version:"1.2"};it.defaultTags={"!!":"tag:yaml.org,2002:"};function os(n){if(/[\\x00-\\x19\\s,[\\]{}]/.test(n)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(n)}`;throw new Error(t)}return!0}function Bi(n){let e=new Set;return ze(n,{Value(t,r){r.anchor&&e.add(r.anchor)}}),e}function Pi(n,e){for(let t=1;;++t){let r=`${n}${t}`;if(!e.has(r))return r}}function Ya(n,e){let t=[],r=new Map,s=null;return{onAnchor:i=>{t.push(i),s||(s=Bi(n));let o=Pi(e,s);return s.add(o),o},setAnchors:()=>{for(let i of t){let o=r.get(i);if(typeof o=="object"&&o.anchor&&(K(o.node)||Z(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=i,a}}},sourceObjects:r}}function xt(n,e,t,r){if(r&&typeof r=="object")if(Array.isArray(r))for(let s=0,i=r.length;sce(r,String(s),t));if(n&&typeof n.toJSON=="function"){if(!t||!Ka(n))return n.toJSON(e,t);let r={aliasCount:0,count:1,res:void 0};t.anchors.set(n,r),t.onCreate=i=>{r.res=i,delete t.onCreate};let s=n.toJSON(e,t);return t.onCreate&&t.onCreate(s),s}return typeof n=="bigint"&&!(t!=null&&t.keep)?Number(n):n}var Ot=class{constructor(e){Object.defineProperty(this,Te,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:r,onAnchor:s,reviver:i}={}){if(!rt(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},a=ce(this,"",o);if(typeof s=="function")for(let{count:u,res:l}of o.anchors.values())s(l,u);return typeof i=="function"?xt(i,{"":a},"",a):a}};var Et=class extends Ot{constructor(e){super(rs),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e){let t;return ze(e,{Node:(r,s)=>{if(s===this)return ze.BREAK;s.anchor===this.source&&(t=s)}}),t}toJSON(e,t){if(!t)return{source:this.source};let{anchors:r,doc:s,maxAliasCount:i}=t,o=this.resolve(s);if(!o){let u=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(u)}let a=r.get(o);if(a||(ce(o,null,t),a=r.get(o)),!a||a.res===void 0){let u="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(u)}if(i>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=as(s,o,r)),a.count*a.aliasCount>i)){let u="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(u)}return a.res}toString(e,t,r){let s=`*${this.source}`;if(e){if(os(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(i)}if(e.implicitKey)return`${s} `}return s}};function as(n,e,t){if(We(e)){let r=e.resolve(n),s=t&&r&&t.get(r);return s?s.count*s.aliasCount:0}else if(Z(e)){let r=0;for(let s of e.items){let i=as(n,s,t);i>r&&(r=i)}return r}else if(H(e)){let r=as(n,e.key,t),s=as(n,e.value,t);return Math.max(r,s)}return 1}var us=n=>!n||typeof n!="function"&&typeof n!="object",P=class extends Ot{constructor(e){super(Ie),this.value=e}toJSON(e,t){return t!=null&&t.keep?this.value:ce(this.value,e,t)}toString(){return String(this.value)}};P.BLOCK_FOLDED="BLOCK_FOLDED";P.BLOCK_LITERAL="BLOCK_LITERAL";P.PLAIN="PLAIN";P.QUOTE_DOUBLE="QUOTE_DOUBLE";P.QUOTE_SINGLE="QUOTE_SINGLE";var Jc="tag:yaml.org,2002:";function zc(n,e,t){var r;if(e){let s=t.filter(o=>o.tag===e),i=(r=s.find(o=>!o.format))!=null?r:s[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return t.find(s=>{var i;return((i=s.identify)==null?void 0:i.call(s,n))&&!s.format})}function wt(n,e,t){var d,m,h;if(rt(n)&&(n=n.contents),J(n))return n;if(H(n)){let b=(m=(d=t.schema[Ke]).createNode)==null?void 0:m.call(d,t.schema,null,t);return b.items.push(n),b}(n instanceof String||n instanceof Number||n instanceof Boolean||typeof BigInt!="undefined"&&n instanceof BigInt)&&(n=n.valueOf());let{aliasDuplicateObjects:r,onAnchor:s,onTagObj:i,schema:o,sourceObjects:a}=t,u;if(r&&n&&typeof n=="object"){if(u=a.get(n),u)return u.anchor||(u.anchor=s(n)),new Et(u.anchor);u={anchor:null,node:null},a.set(n,u)}e!=null&&e.startsWith("!!")&&(e=Jc+e.slice(2));let l=zc(n,e,o.tags);if(!l){if(n&&typeof n.toJSON=="function"&&(n=n.toJSON()),!n||typeof n!="object"){let b=new P(n);return u&&(u.node=b),b}l=n instanceof Map?o[Ke]:Symbol.iterator in Object(n)?o[Ft]:o[Ke]}i&&(i(l),delete t.onTagObj);let f=l!=null&&l.createNode?l.createNode(t.schema,n,t):typeof((h=l==null?void 0:l.nodeClass)==null?void 0:h.from)=="function"?l.nodeClass.from(t.schema,n,t):new P(n);return e?f.tag=e:l.default||(f.tag=l.tag),u&&(u.node=f),f}function pr(n,e,t){let r=t;for(let s=e.length-1;s>=0;--s){let i=e[s];if(typeof i=="number"&&Number.isInteger(i)&&i>=0){let o=[];o[i]=r,r=o}else r=new Map([[i,r]])}return wt(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:n,sourceObjects:new Map})}var kn=n=>n==null||typeof n=="object"&&!!n[Symbol.iterator]().next().done,Sn=class extends Ot{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(r=>J(r)||H(r)?r.clone(e):r),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(kn(e))this.add(t);else{let[r,...s]=e,i=this.get(r,!0);if(Z(i))i.addIn(s,t);else if(i===void 0&&this.schema)this.set(r,pr(this.schema,s,t));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${s}`)}}deleteIn(e){let[t,...r]=e;if(r.length===0)return this.delete(t);let s=this.get(t,!0);if(Z(s))return s.deleteIn(r);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${r}`)}getIn(e,t){let[r,...s]=e,i=this.get(r,!0);return s.length===0?!t&&K(i)?i.value:i:Z(i)?i.getIn(s,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!H(t))return!1;let r=t.value;return r==null||e&&K(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(e){let[t,...r]=e;if(r.length===0)return this.has(t);let s=this.get(t,!0);return Z(s)?s.hasIn(r):!1}setIn(e,t){let[r,...s]=e;if(s.length===0)this.set(r,t);else{let i=this.get(r,!0);if(Z(i))i.setIn(s,t);else if(i===void 0&&this.schema)this.set(r,pr(this.schema,s,t));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${s}`)}}};var Ga=n=>n.replace(/^(?!$)(?: $)?/gm,"#");function Pe(n,e){return/^\\n+$/.test(n)?n.substring(1):e?n.replace(/^(?! *$)/gm,e):n}var ot=(n,e,t)=>n.endsWith(`\n`)?Pe(t,e):t.includes(`\n`)?`\n`+Pe(t,e):(n.endsWith(" ")?"":" ")+t;var $i="flow",ls="block",Dr="quoted";function yr(n,e,t="flow",{indentAtStart:r,lineWidth:s=80,minContentWidth:i=20,onFold:o,onOverflow:a}={}){if(!s||s<0)return n;ss-Math.max(2,i)?l.push(0):d=s-r);let m,h,b=!1,g=-1,D=-1,T=-1;t===ls&&(g=Za(n,g,e.length),g!==-1&&(d=g+u));for(let N;N=n[g+=1];){if(t===Dr&&N==="\\\\"){switch(D=g,n[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}T=g}if(N===`\n`)t===ls&&(g=Za(n,g,e.length)),d=g+e.length+u,m=void 0;else{if(N===" "&&h&&h!==" "&&h!==`\n`&&h!==" "){let y=n[g+1];y&&y!==" "&&y!==`\n`&&y!==" "&&(m=g)}if(g>=d)if(m)l.push(m),d=m+u,m=void 0;else if(t===Dr){for(;h===" "||h===" ";)h=N,N=n[g+=1],b=!0;let y=g>T+1?g-2:D-1;if(f[y])return n;l.push(y),f[y]=!0,d=y+u,m=void 0}else b=!0}h=N}if(b&&a&&a(),l.length===0)return n;o&&o();let I=n.slice(0,l[0]);for(let N=0;N({indentAtStart:e?n.indent.length:n.indentAtStart,lineWidth:n.options.lineWidth,minContentWidth:n.options.minContentWidth}),ds=n=>/^(%|---|\\.\\.\\.)/m.test(n);function Yc(n,e,t){if(!e||e<0)return!1;let r=e-t,s=n.length;if(s<=r)return!1;for(let i=0,o=0;ir)return!0;if(o=i+1,s-o<=r)return!1}return!0}function gr(n,e){let t=JSON.stringify(n);if(e.options.doubleQuotedAsJSON)return t;let{implicitKey:r}=e,s=e.options.doubleQuotedMinMultiLineLength,i=e.indent||(ds(n)?" ":""),o="",a=0;for(let u=0,l=t[u];l;l=t[++u])if(l===" "&&t[u+1]==="\\\\"&&t[u+2]==="n"&&(o+=t.slice(a,u)+"\\\\ ",u+=1,a=u,l="\\\\"),l==="\\\\")switch(t[u+1]){case"u":{o+=t.slice(a,u);let f=t.substr(u+2,4);switch(f){case"0000":o+="\\\\0";break;case"0007":o+="\\\\a";break;case"000b":o+="\\\\v";break;case"001b":o+="\\\\e";break;case"0085":o+="\\\\N";break;case"00a0":o+="\\\\_";break;case"2028":o+="\\\\L";break;case"2029":o+="\\\\P";break;default:f.substr(0,2)==="00"?o+="\\\\x"+f.substr(2):o+=t.substr(u,6)}u+=5,a=u+1}break;case"n":if(r||t[u+2]===\'"\'||t.length\n`;let d,m;for(m=t.length;m>0;--m){let v=t[m-1];if(v!==`\n`&&v!==" "&&v!==" ")break}let h=t.substring(m),b=h.indexOf(`\n`);b===-1?d="-":t===h||b!==h.length-1?(d="+",i&&i()):d="",h&&(t=t.slice(0,-h.length),h[h.length-1]===`\n`&&(h=h.slice(0,-1)),h=h.replace(ji,`$&${l}`));let g=!1,D,T=-1;for(D=0;D")+(g?l?"2":"1":"")+d;if(n&&(y+=" "+a(n.replace(/ ?[\\r\\n]+/g," ")),s&&s()),f)return t=t.replace(/\\n+/g,`$&${l}`),`${y}\n${l}${I}${t}${h}`;t=t.replace(/\\n+/g,`\n$&`).replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g,"$1$2").replace(/\\n+/g,`$&${l}`);let w=yr(`${I}${t}${h}`,l,ls,fs(r,!0));return`${y}\n${l}${w}`}function Gc(n,e,t,r){let{type:s,value:i}=n,{actualString:o,implicitKey:a,indent:u,indentStep:l,inFlow:f}=e;if(a&&i.includes(`\n`)||f&&/[[\\]{},]/.test(i))return Cn(i,e);if(!i||/^[\\n\\t ,[\\]{}#&*!|>\'"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(i))return a||f||!i.includes(`\n`)?Cn(i,e):cs(n,e,t,r);if(!a&&!f&&s!==P.PLAIN&&i.includes(`\n`))return cs(n,e,t,r);if(ds(i)){if(u==="")return e.forceBlockIndent=!0,cs(n,e,t,r);if(a&&u===l)return Cn(i,e)}let d=i.replace(/\\n+/g,`$&\n${u}`);if(o){let m=g=>{var D;return g.default&&g.tag!=="tag:yaml.org,2002:str"&&((D=g.test)==null?void 0:D.test(d))},{compat:h,tags:b}=e.doc.schema;if(b.some(m)||h!=null&&h.some(m))return Cn(i,e)}return a?d:yr(d,u,$i,fs(e,!1))}function Wt(n,e,t,r){let{implicitKey:s,inFlow:i}=e,o=typeof n.value=="string"?n:Object.assign({},n,{value:String(n.value)}),{type:a}=n;a!==P.QUOTE_DOUBLE&&/[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f\\u{D800}-\\u{DFFF}]/u.test(o.value)&&(a=P.QUOTE_DOUBLE);let u=f=>{switch(f){case P.BLOCK_FOLDED:case P.BLOCK_LITERAL:return s||i?Cn(o.value,e):cs(o,e,t,r);case P.QUOTE_DOUBLE:return gr(o.value,e);case P.QUOTE_SINGLE:return Ri(o.value,e);case P.PLAIN:return Gc(o,e,t,r);default:return null}},l=u(a);if(l===null){let{defaultKeyType:f,defaultStringType:d}=e.options,m=s&&f||d;if(l=u(m),l===null)throw new Error(`Unsupported default string type ${m}`)}return l}function hs(n,e){let t=Object.assign({blockQuote:!0,commentString:Ga,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},n.schema.toStringOptions,e),r;switch(t.collectionStyle){case"block":r=!1;break;case"flow":r=!0;break;default:r=null}return{anchors:new Set,doc:n,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent=="number"?" ".repeat(t.indent):" ",inFlow:r,options:t}}function Zc(n,e){var s,i,o,a;if(e.tag){let u=n.filter(l=>l.tag===e.tag);if(u.length>0)return(s=u.find(l=>l.format===e.format))!=null?s:u[0]}let t,r;if(K(e)){r=e.value;let u=n.filter(l=>{var f;return(f=l.identify)==null?void 0:f.call(l,r)});if(u.length>1){let l=u.filter(f=>f.test);l.length>0&&(u=l)}t=(i=u.find(l=>l.format===e.format))!=null?i:u.find(l=>!l.format)}else r=e,t=n.find(u=>u.nodeClass&&r instanceof u.nodeClass);if(!t){let u=(a=(o=r==null?void 0:r.constructor)==null?void 0:o.name)!=null?a:typeof r;throw new Error(`Tag not resolved for ${u} value`)}return t}function Qc(n,e,{anchors:t,doc:r}){if(!r.directives)return"";let s=[],i=(K(n)||Z(n))&&n.anchor;i&&os(i)&&(t.add(i),s.push(`&${i}`));let o=n.tag?n.tag:e.default?null:e.tag;return o&&s.push(r.directives.tagString(o)),s.join(" ")}function Tt(n,e,t,r){var u,l;if(H(n))return n.toString(e,t,r);if(We(n)){if(e.doc.directives)return n.toString(e);if((u=e.resolvedAliases)!=null&&u.has(n))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(n):e.resolvedAliases=new Set([n]),n=n.resolve(e.doc)}let s,i=J(n)?n:e.doc.createNode(n,{onTagObj:f=>s=f});s||(s=Zc(e.doc.schema.tags,i));let o=Qc(i,s,e);o.length>0&&(e.indentAtStart=((l=e.indentAtStart)!=null?l:0)+o.length+1);let a=typeof s.stringify=="function"?s.stringify(i,e,t,r):K(i)?Wt(i,e,t,r):i.toString(e,t,r);return o?K(i)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}\n${e.indent}${a}`:a}function Qa({key:n,value:e},t,r,s){var x,C;let{allNullValues:i,doc:o,indent:a,indentStep:u,options:{commentString:l,indentSeq:f,simpleKeys:d}}=t,m=J(n)&&n.comment||null;if(d){if(m)throw new Error("With simple keys, key nodes cannot have comments");if(Z(n)||!J(n)&&typeof n=="object"){let V="With simple keys, collection cannot be used as a key value";throw new Error(V)}}let h=!d&&(!n||m&&e==null&&!t.inFlow||Z(n)||(K(n)?n.type===P.BLOCK_FOLDED||n.type===P.BLOCK_LITERAL:typeof n=="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!h&&(d||!i),indent:a+u});let b=!1,g=!1,D=Tt(n,t,()=>b=!0,()=>g=!0);if(!h&&!t.inFlow&&D.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");h=!0}if(t.inFlow){if(i||e==null)return b&&r&&r(),D===""?"?":h?`? ${D}`:D}else if(i&&!d||e==null&&h)return D=`? ${D}`,m&&!b?D+=ot(D,t.indent,l(m)):g&&s&&s(),D;b&&(m=null),h?(m&&(D+=ot(D,t.indent,l(m))),D=`? ${D}\n${a}:`):(D=`${D}:`,m&&(D+=ot(D,t.indent,l(m))));let T,I,N;J(e)?(T=!!e.spaceBefore,I=e.commentBefore,N=e.comment):(T=!1,I=null,N=null,e&&typeof e=="object"&&(e=o.createNode(e))),t.implicitKey=!1,!h&&!m&&K(e)&&(t.indentAtStart=D.length+1),g=!1,!f&&u.length>=2&&!t.inFlow&&!h&&Je(e)&&!e.flow&&!e.tag&&!e.anchor&&(t.indent=t.indent.substring(2));let y=!1,w=Tt(e,t,()=>y=!0,()=>g=!0),v=" ";if(m||T||I){if(v=T?`\n`:"",I){let V=l(I);v+=`\n${Pe(V,t.indent)}`}w===""&&!t.inFlow?v===`\n`&&(v=`\n\n`):v+=`\n${t.indent}`}else if(!h&&Z(e)){let V=w[0],j=w.indexOf(`\n`),Y=j!==-1,ee=(C=(x=t.inFlow)!=null?x:e.flow)!=null?C:e.items.length===0;if(Y||!ee){let ue=!1;if(Y&&(V==="&"||V==="!")){let O=w.indexOf(" ");V==="&"&&O!==-1&&On===ps||typeof n=="symbol"&&n.description===ps,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new P(Symbol(ps)),{addToJSMap:Vi}),stringify:()=>ps},Xa=(n,e)=>(Ye.identify(e)||K(e)&&(!e.type||e.type===P.PLAIN)&&Ye.identify(e.value))&&(n==null?void 0:n.doc.schema.tags.some(t=>t.tag===Ye.tag&&t.default));function Vi(n,e,t){if(t=n&&We(t)?t.resolve(n.doc):t,Je(t))for(let r of t.items)qi(n,e,r);else if(Array.isArray(t))for(let r of t)qi(n,e,r);else qi(n,e,t)}function qi(n,e,t){let r=n&&We(t)?t.resolve(n.doc):t;if(!He(r))throw new Error("Merge sources must be maps or map aliases");let s=r.toJSON(null,n,Map);for(let[i,o]of s)e instanceof Map?e.has(i)||e.set(i,o):e instanceof Set?e.add(i):Object.prototype.hasOwnProperty.call(e,i)||Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}function Ds(n,e,{key:t,value:r}){if(J(t)&&t.addToJSMap)t.addToJSMap(n,e,r);else if(Xa(n,t))Vi(n,e,r);else{let s=ce(t,"",n);if(e instanceof Map)e.set(s,ce(r,s,n));else if(e instanceof Set)e.add(s);else{let i=Xc(t,s,n),o=ce(r,i,n);i in e?Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[i]=o}}return e}function Xc(n,e,t){if(e===null)return"";if(typeof e!="object")return String(e);if(J(n)&&(t!=null&&t.doc)){let r=hs(t.doc,{});r.anchors=new Set;for(let i of t.anchors.keys())r.anchors.add(i.anchor);r.inFlow=!0,r.inStringifyKey=!0;let s=n.toString(r);if(!t.mapKeyWarned){let i=JSON.stringify(s);i.length>40&&(i=i.substring(0,36)+\'..."\'),ms(t.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${i}. Set mapAsMap: true to use object keys.`),t.mapKeyWarned=!0}return s}return JSON.stringify(e)}function vn(n,e,t){let r=wt(n,void 0,t),s=wt(e,void 0,t);return new oe(r,s)}var oe=class n{constructor(e,t=null){Object.defineProperty(this,Te,{value:_i}),this.key=e,this.value=t}clone(e){let{key:t,value:r}=this;return J(t)&&(t=t.clone(e)),J(r)&&(r=r.clone(e)),new n(t,r)}toJSON(e,t){let r=t!=null&&t.mapAsMap?new Map:{};return Ds(t,r,this)}toString(e,t,r){return e!=null&&e.doc?Qa(this,e,t,r):JSON.stringify(this)}};function gs(n,e,t){var i;return(((i=e.inFlow)!=null?i:n.flow)?tf:ef)(n,e,t)}function ef({comment:n,items:e},t,{blockItemPrefix:r,flowChars:s,itemIndent:i,onChompKeep:o,onComment:a}){let{indent:u,options:{commentString:l}}=t,f=Object.assign({},t,{indent:i,type:null}),d=!1,m=[];for(let b=0;bD=null,()=>d=!0);D&&(T+=ot(T,i,l(D))),d&&D&&(d=!1),m.push(r+T)}let h;if(m.length===0)h=s.start+s.end;else{h=m[0];for(let b=1;bD=null);bf||T.includes(`\n`))&&(l=!0),d.push(T),f=d.length}let{start:m,end:h}=t;if(d.length===0)return m+h;if(!l){let b=d.reduce((g,D)=>g+D.length+2,2);l=e.options.lineWidth>0&&b>e.options.lineWidth}if(l){let b=m;for(let g of d)b+=g?`\n${i}${s}${g}`:`\n`;return`${b}\n${s}${h}`}else return`${m}${o}${d.join(" ")}${o}${h}`}function ys({indent:n,options:{commentString:e}},t,r,s){if(r&&s&&(r=r.replace(/^\\n+/,"")),r){let i=Pe(e(r),n);t.push(i.trimStart())}}function It(n,e){let t=K(e)?e.value:e;for(let r of n)if(H(r)&&(r.key===e||r.key===t||K(r.key)&&r.key.value===t))return r}var ae=class extends Sn{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Ke,e),this.items=[]}static from(e,t,r){let{keepUndefined:s,replacer:i}=r,o=new this(e),a=(u,l)=>{if(typeof i=="function")l=i.call(t,u,l);else if(Array.isArray(i)&&!i.includes(u))return;(l!==void 0||s)&&o.items.push(vn(u,l,r))};if(t instanceof Map)for(let[u,l]of t)a(u,l);else if(t&&typeof t=="object")for(let u of Object.keys(t))a(u,t[u]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,t){var o;let r;H(e)?r=e:!e||typeof e!="object"||!("key"in e)?r=new oe(e,e==null?void 0:e.value):r=new oe(e.key,e.value);let s=It(this.items,r.key),i=(o=this.schema)==null?void 0:o.sortMapEntries;if(s){if(!t)throw new Error(`Key ${r.key} already set`);K(s.value)&&us(r.value)?s.value.value=r.value:s.value=r.value}else if(i){let a=this.items.findIndex(u=>i(r,u)<0);a===-1?this.items.push(r):this.items.splice(a,0,r)}else this.items.push(r)}delete(e){let t=It(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){var i;let r=It(this.items,e),s=r==null?void 0:r.value;return(i=!t&&K(s)?s.value:s)!=null?i:void 0}has(e){return!!It(this.items,e)}set(e,t){this.add(new oe(e,t),!0)}toJSON(e,t,r){let s=r?new r:t!=null&&t.mapAsMap?new Map:{};t!=null&&t.onCreate&&t.onCreate(s);for(let i of this.items)Ds(t,s,i);return s}toString(e,t,r){if(!e)return JSON.stringify(this);for(let s of this.items)if(!H(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),gs(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:r,onComment:t})}};var Ge={collection:"map",default:!0,nodeClass:ae,tag:"tag:yaml.org,2002:map",resolve(n,e){return He(n)||e("Expected a mapping for this tag"),n},createNode:(n,e,t)=>ae.from(n,e,t)};var be=class extends Sn{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Ft,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=bs(e);return typeof t!="number"?!1:this.items.splice(t,1).length>0}get(e,t){let r=bs(e);if(typeof r!="number")return;let s=this.items[r];return!t&&K(s)?s.value:s}has(e){let t=bs(e);return typeof t=="number"&&t=0?e:null}var Ze={collection:"seq",default:!0,nodeClass:be,tag:"tag:yaml.org,2002:seq",resolve(n,e){return Je(n)||e("Expected a sequence for this tag"),n},createNode:(n,e,t)=>be.from(n,e,t)};var Lt={identify:n=>typeof n=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:n=>n,stringify(n,e,t,r){return e=Object.assign({actualString:!0},e),Wt(n,e,t,r)}};var Ht={identify:n=>n==null,createNode:()=>new P(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new P(null),stringify:({source:n},e)=>typeof n=="string"&&Ht.test.test(n)?n:e.options.nullStr};var br={identify:n=>typeof n=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:n=>new P(n[0]==="t"||n[0]==="T"),stringify({source:n,value:e},t){if(n&&br.test.test(n)){let r=n[0]==="t"||n[0]==="T";if(e===r)return n}return e?t.options.trueStr:t.options.falseStr}};function Fe({format:n,minFractionDigits:e,tag:t,value:r}){if(typeof r=="bigint")return String(r);let s=typeof r=="number"?r:Number(r);if(!isFinite(s))return isNaN(s)?".nan":s<0?"-.inf":".inf";let i=JSON.stringify(r);if(!n&&e&&(!t||t==="tag:yaml.org,2002:float")&&/^\\d/.test(i)){let o=i.indexOf(".");o<0&&(o=i.length,i+=".");let a=e-(i.length-o-1);for(;a-- >0;)i+="0"}return i}var Fs={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\\.(?:inf|Inf|INF)|\\.nan|\\.NaN|\\.NAN)$/,resolve:n=>n.slice(-3).toLowerCase()==="nan"?NaN:n[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Fe},Es={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:n=>parseFloat(n),stringify(n){let e=Number(n.value);return isFinite(e)?e.toExponential():Fe(n)}},ws={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\\.[0-9]+|[0-9]+\\.[0-9]*)$/,resolve(n){let e=new P(parseFloat(n)),t=n.indexOf(".");return t!==-1&&n[n.length-1]==="0"&&(e.minFractionDigits=n.length-t-1),e},stringify:Fe};var Ts=n=>typeof n=="bigint"||Number.isInteger(n),Ui=(n,e,t,{intAsBigInt:r})=>r?BigInt(n):parseInt(n.substring(e),t);function eu(n,e,t){let{value:r}=n;return Ts(r)&&r>=0?t+r.toString(e):Fe(n)}var Ss={identify:n=>Ts(n)&&n>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(n,e,t)=>Ui(n,2,8,t),stringify:n=>eu(n,8,"0o")},ks={identify:Ts,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(n,e,t)=>Ui(n,0,10,t),stringify:Fe},Cs={identify:n=>Ts(n)&&n>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(n,e,t)=>Ui(n,2,16,t),stringify:n=>eu(n,16,"0x")};var tu=[Ge,Ze,Lt,Ht,br,Ss,ks,Cs,Fs,Es,ws];function nu(n){return typeof n=="bigint"||Number.isInteger(n)}var vs=({value:n})=>JSON.stringify(n),nf=[{identify:n=>typeof n=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:n=>n,stringify:vs},{identify:n=>n==null,createNode:()=>new P(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:vs},{identify:n=>typeof n=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:n=>n==="true",stringify:vs},{identify:nu,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(n,e,{intAsBigInt:t})=>t?BigInt(n):parseInt(n,10),stringify:({value:n})=>nu(n)?n.toString():JSON.stringify(n)},{identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:n=>parseFloat(n),stringify:vs}],rf={default:!0,tag:"",test:/^/,resolve(n,e){return e(`Unresolved plain scalar ${JSON.stringify(n)}`),n}},ru=[Ge,Ze].concat(nf,rf);var Fr={identify:n=>n instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(n,e){if(typeof Buffer=="function")return Buffer.from(n,"base64");if(typeof atob=="function"){let t=atob(n.replace(/[\\n\\r]/g,"")),r=new Uint8Array(t.length);for(let s=0;s1&&e("Each pair must have its own sequence indicator");let i=s.items[0]||new oe(new P(null));if(s.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${s.commentBefore}\n${i.key.commentBefore}`:s.commentBefore),s.comment){let o=(t=i.value)!=null?t:i.key;o.comment=o.comment?`${s.comment}\n${o.comment}`:s.comment}s=i}n.items[r]=H(s)?s:new oe(s)}}else e("Expected a sequence for this tag");return n}function Wi(n,e,t){let{replacer:r}=t,s=new be(n);s.tag="tag:yaml.org,2002:pairs";let i=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof r=="function"&&(o=r.call(e,String(i++),o));let a,u;if(Array.isArray(o))if(o.length===2)a=o[0],u=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let l=Object.keys(o);if(l.length===1)a=l[0],u=o[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=o;s.items.push(vn(a,u,t))}return s}var Er={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Ki,createNode:Wi};var xn=class n extends be{constructor(){super(),this.add=ae.prototype.add.bind(this),this.delete=ae.prototype.delete.bind(this),this.get=ae.prototype.get.bind(this),this.has=ae.prototype.has.bind(this),this.set=ae.prototype.set.bind(this),this.tag=n.tag}toJSON(e,t){if(!t)return super.toJSON(e);let r=new Map;t!=null&&t.onCreate&&t.onCreate(r);for(let s of this.items){let i,o;if(H(s)?(i=ce(s.key,"",t),o=ce(s.value,i,t)):i=ce(s,"",t),r.has(i))throw new Error("Ordered maps must not include duplicate keys");r.set(i,o)}return r}static from(e,t,r){let s=Wi(e,t,r),i=new this;return i.items=s.items,i}};xn.tag="tag:yaml.org,2002:omap";var wr={collection:"seq",identify:n=>n instanceof Map,nodeClass:xn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(n,e){let t=Ki(n,e),r=[];for(let{key:s}of t.items)K(s)&&(r.includes(s.value)?e(`Ordered maps must not include duplicate keys: ${s.value}`):r.push(s.value));return Object.assign(new xn,t)},createNode:(n,e,t)=>xn.from(n,e,t)};function su({value:n,source:e},t){return e&&(n?Hi:Ji).test.test(e)?e:n?t.options.trueStr:t.options.falseStr}var Hi={identify:n=>n===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new P(!0),stringify:su},Ji={identify:n=>n===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new P(!1),stringify:su};var iu={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\\.(?:inf|Inf|INF)|\\.nan|\\.NaN|\\.NAN)$/,resolve:n=>n.slice(-3).toLowerCase()==="nan"?NaN:n[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Fe},ou={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:n=>parseFloat(n.replace(/_/g,"")),stringify(n){let e=Number(n.value);return isFinite(e)?e.toExponential():Fe(n)}},au={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\\.[0-9_]*$/,resolve(n){let e=new P(parseFloat(n.replace(/_/g,""))),t=n.indexOf(".");if(t!==-1){let r=n.substring(t+1).replace(/_/g,"");r[r.length-1]==="0"&&(e.minFractionDigits=r.length)}return e},stringify:Fe};var Tr=n=>typeof n=="bigint"||Number.isInteger(n);function xs(n,e,t,{intAsBigInt:r}){let s=n[0];if((s==="-"||s==="+")&&(e+=1),n=n.substring(e).replace(/_/g,""),r){switch(t){case 2:n=`0b${n}`;break;case 8:n=`0o${n}`;break;case 16:n=`0x${n}`;break}let o=BigInt(n);return s==="-"?BigInt(-1)*o:o}let i=parseInt(n,t);return s==="-"?-1*i:i}function zi(n,e,t){let{value:r}=n;if(Tr(r)){let s=r.toString(e);return r<0?"-"+t+s.substr(1):t+s}return Fe(n)}var uu={identify:Tr,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(n,e,t)=>xs(n,2,2,t),stringify:n=>zi(n,2,"0b")},lu={identify:Tr,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(n,e,t)=>xs(n,1,8,t),stringify:n=>zi(n,8,"0")},cu={identify:Tr,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(n,e,t)=>xs(n,0,10,t),stringify:Fe},fu={identify:Tr,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(n,e,t)=>xs(n,2,16,t),stringify:n=>zi(n,16,"0x")};var On=class n extends ae{constructor(e){super(e),this.tag=n.tag}add(e){let t;H(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new oe(e.key,null):t=new oe(e,null),It(this.items,t.key)||this.items.push(t)}get(e,t){let r=It(this.items,e);return!t&&H(r)?K(r.key)?r.key.value:r.key:r}set(e,t){if(typeof t!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let r=It(this.items,e);r&&!t?this.items.splice(this.items.indexOf(r),1):!r&&t&&this.items.push(new oe(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,r){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,r);throw new Error("Set items must all have null values")}static from(e,t,r){let{replacer:s}=r,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let o of t)typeof s=="function"&&(o=s.call(t,o,o)),i.items.push(vn(o,null,r));return i}};On.tag="tag:yaml.org,2002:set";var Sr={collection:"map",identify:n=>n instanceof Set,nodeClass:On,default:!1,tag:"tag:yaml.org,2002:set",createNode:(n,e,t)=>On.from(n,e,t),resolve(n,e){if(He(n)){if(n.hasAllNullValues(!0))return Object.assign(new On,n);e("Set items must all have null values")}else e("Expected a mapping for this tag");return n}};function Yi(n,e){let t=n[0],r=t==="-"||t==="+"?n.substring(1):n,s=o=>e?BigInt(o):Number(o),i=r.replace(/_/g,"").split(":").reduce((o,a)=>o*s(60)+s(a),s(0));return t==="-"?s(-1)*i:i}function du(n){let{value:e}=n,t=o=>o;if(typeof e=="bigint")t=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return Fe(n);let r="";e<0&&(r="-",e*=t(-1));let s=t(60),i=[e%s];return e<60?i.unshift(0):(e=(e-i[0])/s,i.unshift(e%s),e>=60&&(e=(e-i[0])/s,i.unshift(e))),r+i.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\\d*$/,"")}var Os={identify:n=>typeof n=="bigint"||Number.isInteger(n),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(n,e,{intAsBigInt:t})=>Yi(n,t),stringify:du},Is={identify:n=>typeof n=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*$/,resolve:n=>Yi(n,!1),stringify:du},In={identify:n=>n instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\\\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(n){let e=n.match(In.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,r,s,i,o,a]=e.map(Number),u=e[7]?Number((e[7]+"00").substr(1,3)):0,l=Date.UTC(t,r-1,s,i||0,o||0,a||0,u),f=e[8];if(f&&f!=="Z"){let d=Yi(f,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:n})=>n.toISOString().replace(/((T00:00)?:00)?\\.000Z$/,"")};var Gi=[Ge,Ze,Lt,Ht,Hi,Ji,uu,lu,cu,fu,iu,ou,au,Fr,Ye,wr,Er,Sr,Os,Is,In];var hu=new Map([["core",tu],["failsafe",[Ge,Ze,Lt]],["json",ru],["yaml11",Gi],["yaml-1.1",Gi]]),mu={binary:Fr,bool:br,float:ws,floatExp:Es,floatNaN:Fs,floatTime:Is,int:ks,intHex:Cs,intOct:Ss,intTime:Os,map:Ge,merge:Ye,null:Ht,omap:wr,pairs:Er,seq:Ze,set:Sr,timestamp:In},pu={"tag:yaml.org,2002:binary":Fr,"tag:yaml.org,2002:merge":Ye,"tag:yaml.org,2002:omap":wr,"tag:yaml.org,2002:pairs":Er,"tag:yaml.org,2002:set":Sr,"tag:yaml.org,2002:timestamp":In};function Ls(n,e,t){let r=hu.get(e);if(r&&!n)return t&&!r.includes(Ye)?r.concat(Ye):r.slice();let s=r;if(!s)if(Array.isArray(n))s=[];else{let i=Array.from(hu.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${i} or define customTags array`)}if(Array.isArray(n))for(let i of n)s=s.concat(i);else typeof n=="function"&&(s=n(s.slice()));return t&&(s=s.concat(Ye)),s.reduce((i,o)=>{let a=typeof o=="string"?mu[o]:o;if(!a){let u=JSON.stringify(o),l=Object.keys(mu).map(f=>JSON.stringify(f)).join(", ");throw new Error(`Unknown custom tag ${u}; use one of ${l}`)}return i.includes(a)||i.push(a),i},[])}var sf=(n,e)=>n.keye.key?1:0,kr=class n{constructor({compat:e,customTags:t,merge:r,resolveKnownTags:s,schema:i,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?Ls(e,"compat"):e?Ls(null,e):null,this.name=typeof i=="string"&&i||"core",this.knownTags=s?pu:{},this.tags=Ls(t,this.name,r),this.toStringOptions=a!=null?a:null,Object.defineProperty(this,Ke,{value:Ge}),Object.defineProperty(this,Ie,{value:Lt}),Object.defineProperty(this,Ft,{value:Ze}),this.sortMapEntries=typeof o=="function"?o:o===!0?sf:null}clone(){let e=Object.create(n.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};function Du(n,e){var u;let t=[],r=e.directives===!0;if(e.directives!==!1&&n.directives){let l=n.directives.toString(n);l?(t.push(l),r=!0):n.directives.docStart&&(r=!0)}r&&t.push("---");let s=hs(n,e),{commentString:i}=s.options;if(n.commentBefore){t.length!==1&&t.unshift("");let l=i(n.commentBefore);t.unshift(Pe(l,""))}let o=!1,a=null;if(n.contents){if(J(n.contents)){if(n.contents.spaceBefore&&r&&t.push(""),n.contents.commentBefore){let d=i(n.contents.commentBefore);t.push(Pe(d,""))}s.forceBlockIndent=!!n.comment,a=n.contents.comment}let l=a?void 0:()=>o=!0,f=Tt(n.contents,s,()=>a=null,l);a&&(f+=ot(f,"",i(a))),(f[0]==="|"||f[0]===">")&&t[t.length-1]==="---"?t[t.length-1]=`--- ${f}`:t.push(f)}else t.push(Tt(n.contents,s));if((u=n.directives)!=null&&u.docEnd)if(n.comment){let l=i(n.comment);l.includes(`\n`)?(t.push("..."),t.push(Pe(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=n.comment;l&&o&&(l=l.replace(/^\\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(Pe(i(l),"")))}return t.join(`\n`)+`\n`}var Nt=class n{constructor(e,t,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Te,{value:ss});let s=null;typeof t=="function"||Array.isArray(t)?s=t:r===void 0&&t&&(r=t,t=void 0);let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},r);this.options=i;let{version:o}=i;r!=null&&r._directives?(this.directives=r._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new it({version:o}),this.setSchema(o,r),this.contents=e===void 0?null:this.createNode(e,s,r)}clone(){let e=Object.create(n.prototype,{[Te]:{value:ss}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=J(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Ln(this.contents)&&this.contents.add(e)}addIn(e,t){Ln(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let r=Bi(this);e.anchor=!t||r.has(t)?Pi(t||"a",r):t}return new Et(e.anchor)}createNode(e,t,r){let s;if(typeof t=="function")e=t.call({"":e},"",e),s=t;else if(Array.isArray(t)){let D=I=>typeof I=="number"||I instanceof String||I instanceof Number,T=t.filter(D).map(String);T.length>0&&(t=t.concat(T)),s=t}else r===void 0&&t&&(r=t,t=void 0);let{aliasDuplicateObjects:i,anchorPrefix:o,flow:a,keepUndefined:u,onTagObj:l,tag:f}=r!=null?r:{},{onAnchor:d,setAnchors:m,sourceObjects:h}=Ya(this,o||"a"),b={aliasDuplicateObjects:i!=null?i:!0,keepUndefined:u!=null?u:!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:h},g=wt(e,f,b);return a&&Z(g)&&(g.flow=!0),m(),g}createPair(e,t,r={}){let s=this.createNode(e,null,r),i=this.createNode(t,null,r);return new oe(s,i)}delete(e){return Ln(this.contents)?this.contents.delete(e):!1}deleteIn(e){return kn(e)?this.contents==null?!1:(this.contents=null,!0):Ln(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return Z(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return kn(e)?!t&&K(this.contents)?this.contents.value:this.contents:Z(this.contents)?this.contents.getIn(e,t):void 0}has(e){return Z(this.contents)?this.contents.has(e):!1}hasIn(e){return kn(e)?this.contents!==void 0:Z(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=pr(this.schema,[e],t):Ln(this.contents)&&this.contents.set(e,t)}setIn(e,t){kn(e)?this.contents=t:this.contents==null?this.contents=pr(this.schema,Array.from(e),t):Ln(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e=="number"&&(e=String(e));let r;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new it({version:"1.1"}),r={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new it({version:e}),r={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,r=null;break;default:{let s=JSON.stringify(e);throw new Error(`Expected \'1.1\', \'1.2\' or null as first argument, but found: ${s}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(r)this.schema=new kr(Object.assign(r,t));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:r,maxAliasCount:s,onAnchor:i,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},u=ce(this.contents,t!=null?t:"",a);if(typeof i=="function")for(let{count:l,res:f}of a.anchors.values())i(f,l);return typeof o=="function"?xt(o,{"":u},"",u):u}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let t=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${t}`)}return Du(this,e)}};function Ln(n){if(Z(n))return!0;throw new Error("Expected a YAML collection as document contents")}var Cr=class extends Error{constructor(e,t,r,s){super(),this.name=e,this.code=r,this.message=s,this.pos=t}},Qe=class extends Cr{constructor(e,t,r){super("YAMLParseError",e,t,r)}},vr=class extends Cr{constructor(e,t,r){super("YAMLWarning",e,t,r)}},Zi=(n,e)=>t=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map(a=>e.linePos(a));let{line:r,col:s}=t.linePos[0];t.message+=` at line ${r}, column ${s}`;let i=s-1,o=n.substring(e.lineStarts[r-1],e.lineStarts[r]).replace(/[\\n\\r]+$/,"");if(i>=60&&o.length>80){let a=Math.min(i-39,o.length-79);o="\\u2026"+o.substring(a),i-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\\u2026"),r>1&&/^ *$/.test(o.substring(0,i))){let a=n.substring(e.lineStarts[r-2],e.lineStarts[r-1]);a.length>80&&(a=a.substring(0,79)+`\\u2026\n`),o=a+o}if(/[^ ]/.test(o)){let a=1,u=t.linePos[1];u&&u.line===r&&u.col>s&&(a=Math.max(1,Math.min(u.col-s,80-i)));let l=" ".repeat(i)+"^".repeat(a);t.message+=`:\n\n${o}\n${l}\n`}};function at(n,{flow:e,indicator:t,next:r,offset:s,onError:i,parentIndent:o,startOnNewline:a}){let u=!1,l=a,f=a,d="",m="",h=!1,b=!1,g=null,D=null,T=null,I=null,N=null,y=null,w=null;for(let C of n)switch(b&&(C.type!=="space"&&C.type!=="newline"&&C.type!=="comma"&&i(C.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),b=!1),g&&(l&&C.type!=="comment"&&C.type!=="newline"&&i(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),C.type){case"space":!e&&(t!=="doc-start"||(r==null?void 0:r.type)!=="flow-collection")&&C.source.includes(" ")&&(g=C),f=!0;break;case"comment":{f||i(C,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let V=C.source.substring(1)||" ";d?d+=m+V:d=V,m="",l=!1;break}case"newline":l?d?d+=C.source:u=!0:m+=C.source,l=!0,h=!0,(D||T)&&(I=C),f=!0;break;case"anchor":D&&i(C,"MULTIPLE_ANCHORS","A node can have at most one anchor"),C.source.endsWith(":")&&i(C.offset+C.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),D=C,w===null&&(w=C.offset),l=!1,f=!1,b=!0;break;case"tag":{T&&i(C,"MULTIPLE_TAGS","A node can have at most one tag"),T=C,w===null&&(w=C.offset),l=!1,f=!1,b=!0;break}case t:(D||T)&&i(C,"BAD_PROP_ORDER",`Anchors and tags must be after the ${C.source} indicator`),y&&i(C,"UNEXPECTED_TOKEN",`Unexpected ${C.source} in ${e!=null?e:"collection"}`),y=C,l=t==="seq-item-ind"||t==="explicit-key-ind",f=!1;break;case"comma":if(e){N&&i(C,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),N=C,l=!1,f=!1;break}default:i(C,"UNEXPECTED_TOKEN",`Unexpected ${C.type} token`),l=!1,f=!1}let v=n[n.length-1],x=v?v.offset+v.source.length:s;return b&&r&&r.type!=="space"&&r.type!=="newline"&&r.type!=="comma"&&(r.type!=="scalar"||r.source!=="")&&i(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(l&&g.indent<=o||(r==null?void 0:r.type)==="block-map"||(r==null?void 0:r.type)==="block-seq")&&i(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:N,found:y,spaceBefore:u,comment:d,hasNewline:h,anchor:D,tag:T,newlineAfterProp:I,end:x,start:w!=null?w:x}}function At(n){if(!n)return null;switch(n.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(n.source.includes(`\n`))return!0;if(n.end){for(let e of n.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of n.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if(At(e.key)||At(e.value))return!0}return!1;default:return!0}}function xr(n,e,t){if((e==null?void 0:e.type)==="flow-collection"){let r=e.end[0];r.indent===n&&(r.source==="]"||r.source==="}")&&At(e)&&t(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function Ns(n,e,t){let{uniqueKeys:r}=n.options;if(r===!1)return!1;let s=typeof r=="function"?r:(i,o)=>i===o||K(i)&&K(o)&&i.value===o.value;return e.some(i=>s(i.key,t))}var yu="All mapping items must start at the same column";function gu({composeNode:n,composeEmptyNode:e},t,r,s,i){var f,d;let o=(f=i==null?void 0:i.nodeClass)!=null?f:ae,a=new o(t.schema);t.atRoot&&(t.atRoot=!1);let u=r.offset,l=null;for(let m of r.items){let{start:h,key:b,sep:g,value:D}=m,T=at(h,{indicator:"explicit-key-ind",next:b!=null?b:g==null?void 0:g[0],offset:u,onError:s,parentIndent:r.indent,startOnNewline:!0}),I=!T.found;if(I){if(b&&(b.type==="block-seq"?s(u,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in b&&b.indent!==r.indent&&s(u,"BAD_INDENT",yu)),!T.anchor&&!T.tag&&!g){l=T.end,T.comment&&(a.comment?a.comment+=`\n`+T.comment:a.comment=T.comment);continue}(T.newlineAfterProp||At(b))&&s(b!=null?b:h[h.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((d=T.found)==null?void 0:d.indent)!==r.indent&&s(u,"BAD_INDENT",yu);t.atKey=!0;let N=T.end,y=b?n(t,b,T,s):e(t,N,h,null,T,s);t.schema.compat&&xr(r.indent,b,s),t.atKey=!1,Ns(t,a.items,y)&&s(N,"DUPLICATE_KEY","Map keys must be unique");let w=at(g!=null?g:[],{indicator:"map-value-ind",next:D,offset:y.range[2],onError:s,parentIndent:r.indent,startOnNewline:!b||b.type==="block-scalar"});if(u=w.end,w.found){I&&((D==null?void 0:D.type)==="block-map"&&!w.hasNewline&&s(u,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&T.startn&&(n.type==="block-map"||n.type==="block-seq");function Fu({composeNode:n,composeEmptyNode:e},t,r,s,i){var D,T;let o=r.start.source==="{",a=o?"flow map":"flow sequence",u=(D=i==null?void 0:i.nodeClass)!=null?D:o?ae:be,l=new u(t.schema);l.flow=!0;let f=t.atRoot;f&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let d=r.offset+r.start.source.length;for(let I=0;I0){let I=ut(b,g,t.options.strict,s);I.comment&&(l.comment?l.comment+=`\n`+I.comment:l.comment=I.comment),l.range=[r.offset,g,I.offset]}else l.range=[r.offset,g,g];return l}function eo(n,e,t,r,s,i){let o=t.type==="block-map"?gu(n,e,t,r,i):t.type==="block-seq"?bu(n,e,t,r,i):Fu(n,e,t,r,i),a=o.constructor;return s==="!"||s===a.tagName?(o.tag=a.tagName,o):(s&&(o.tag=s),o)}function Eu(n,e,t,r,s){var m,h;let i=r.tag,o=i?e.directives.tagName(i.source,b=>s(i,"TAG_RESOLVE_FAILED",b)):null;if(t.type==="block-seq"){let{anchor:b,newlineAfterProp:g}=r,D=b&&i?b.offset>i.offset?b:i:b!=null?b:i;D&&(!g||g.offsetb.tag===o&&b.collection===a);if(!u){let b=e.schema.knownTags[o];if(b&&b.collection===a)e.schema.tags.push(Object.assign({},b,{default:!1})),u=b;else return b!=null&&b.collection?s(i,"BAD_COLLECTION_TYPE",`${b.tag} used for ${a} collection, but expects ${b.collection}`,!0):s(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),eo(n,e,t,s,o)}let l=eo(n,e,t,s,o,u),f=(h=(m=u.resolve)==null?void 0:m.call(u,l,b=>s(i,"TAG_RESOLVE_FAILED",b),e.options))!=null?h:l,d=J(f)?f:new P(f);return d.range=l.range,d.tag=o,u!=null&&u.format&&(d.format=u.format),d}function to(n,e,t){let r=e.offset,s=of(e,n.options.strict,t);if(!s)return{value:"",type:null,comment:"",range:[r,r,r]};let i=s.mode===">"?P.BLOCK_FOLDED:P.BLOCK_LITERAL,o=e.source?af(e.source):[],a=o.length;for(let g=o.length-1;g>=0;--g){let D=o[g][1];if(D===""||D==="\\r")a=g;else break}if(a===0){let g=s.chomp==="+"&&o.length>0?`\n`.repeat(Math.max(1,o.length-1)):"",D=r+s.length;return e.source&&(D+=e.source.length),{value:g,type:i,comment:s.comment,range:[r,D,D]}}let u=e.indent+s.indent,l=e.offset+s.length,f=0;for(let g=0;gu&&(u=D.length);else{D.length=a;--g)o[g][0].length>u&&(a=g+1);let d="",m="",h=!1;for(let g=0;gu||T[0]===" "?(m===" "?m=`\n`:!h&&m===`\n`&&(m=`\n\n`),d+=m+D.slice(u)+T,m=`\n`,h=!0):T===""?m===`\n`?d+=`\n`:m=`\n`:(d+=m+T,m=" ",h=!1)}switch(s.chomp){case"-":break;case"+":for(let g=a;gt(r+m,h,b);switch(s){case"scalar":a=P.PLAIN,u=uf(i,l);break;case"single-quoted-scalar":a=P.QUOTE_SINGLE,u=lf(i,l);break;case"double-quoted-scalar":a=P.QUOTE_DOUBLE,u=cf(i,l);break;default:return t(n,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${s}`),{value:"",type:null,comment:"",range:[r,r+i.length,r+i.length]}}let f=r+i.length,d=ut(o,f,e,t);return{value:u,type:a,comment:d.comment,range:[r,f,d.offset]}}function uf(n,e){let t="";switch(n[0]){case" ":t="a tab character";break;case",":t="flow indicator character ,";break;case"%":t="directive indicator character %";break;case"|":case">":{t=`block scalar indicator ${n[0]}`;break}case"@":case"`":{t=`reserved character ${n[0]}`;break}}return t&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${t}`),wu(n)}function lf(n,e){return(n[n.length-1]!=="\'"||n.length===1)&&e(n.length,"MISSING_CHAR","Missing closing \'quote"),wu(n.slice(1,-1)).replace(/\'\'/g,"\'")}function wu(n){var u;let e,t;try{e=new RegExp(`(.*?)(?i?n.slice(i,r+1):s)}else t+=s}return(n[n.length-1]!==\'"\'||n.length===1)&&e(n.length,"MISSING_CHAR",\'Missing closing "quote\'),t}function ff(n,e){let t="",r=n[e+1];for(;(r===" "||r===" "||r===`\n`||r==="\\r")&&!(r==="\\r"&&n[e+2]!==`\n`);)r===`\n`&&(t+=`\n`),e+=1,r=n[e+1];return t||(t=" "),{fold:t,offset:e}}var df={0:"\\0",a:"\\x07",b:"\\b",e:"\\x1B",f:"\\f",n:`\n`,r:"\\r",t:" ",v:"\\v",N:"\\x85",_:"\\xA0",L:"\\u2028",P:"\\u2029"," ":" ",\'"\':\'"\',"/":"/","\\\\":"\\\\"," ":" "};function hf(n,e,t,r){let s=n.substr(e,t),o=s.length===t&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;if(isNaN(o)){let a=n.substr(e-2,t+2);return r(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}function ro(n,e,t,r){let{value:s,type:i,comment:o,range:a}=e.type==="block-scalar"?to(n,e,r):no(e,n.options.strict,r),u=t?n.directives.tagName(t.source,d=>r(t,"TAG_RESOLVE_FAILED",d)):null,l;n.options.stringKeys&&n.atKey?l=n.schema[Ie]:u?l=mf(n.schema,s,u,t,r):e.type==="scalar"?l=pf(n,s,e,r):l=n.schema[Ie];let f;try{let d=l.resolve(s,m=>r(t!=null?t:e,"TAG_RESOLVE_FAILED",m),n.options);f=K(d)?d:new P(d)}catch(d){let m=d instanceof Error?d.message:String(d);r(t!=null?t:e,"TAG_RESOLVE_FAILED",m),f=new P(s)}return f.range=a,f.source=s,i&&(f.type=i),u&&(f.tag=u),l.format&&(f.format=l.format),o&&(f.comment=o),f}function mf(n,e,t,r,s){var a;if(t==="!")return n[Ie];let i=[];for(let u of n.tags)if(!u.collection&&u.tag===t)if(u.default&&u.test)i.push(u);else return u;for(let u of i)if((a=u.test)!=null&&a.test(e))return u;let o=n.knownTags[t];return o&&!o.collection?(n.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(s(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),n[Ie])}function pf({atKey:n,directives:e,schema:t},r,s,i){var a;let o=t.tags.find(u=>{var l;return(u.default===!0||n&&u.default==="key")&&((l=u.test)==null?void 0:l.test(r))})||t[Ie];if(t.compat){let u=(a=t.compat.find(l=>{var f;return l.default&&((f=l.test)==null?void 0:f.test(r))}))!=null?a:t[Ie];if(o.tag!==u.tag){let l=e.tagString(o.tag),f=e.tagString(u.tag),d=`Value may be parsed as either ${l} or ${f}`;i(s,"TAG_RESOLVE_FAILED",d,!0)}}return o}function Tu(n,e,t){if(e){t===null&&(t=e.length);for(let r=t-1;r>=0;--r){let s=e[r];switch(s.type){case"space":case"comment":case"newline":n-=s.source.length;continue}for(s=e[++r];(s==null?void 0:s.type)==="space";)n+=s.source.length,s=e[++r];break}}return n}var Df={composeNode:so,composeEmptyNode:As};function so(n,e,t,r){let s=n.atKey,{spaceBefore:i,comment:o,anchor:a,tag:u}=t,l,f=!0;switch(e.type){case"alias":l=yf(n,e,r),(a||u)&&r(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":l=ro(n,e,u,r),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":l=Eu(Df,n,e,t,r),a&&(l.anchor=a.source.substring(1));break;default:{let d=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;r(e,"UNEXPECTED_TOKEN",d),l=As(n,e.offset,void 0,null,t,r),f=!1}}return a&&l.anchor===""&&r(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&n.options.stringKeys&&(!K(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&r(u!=null?u:e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),i&&(l.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?l.comment=o:l.commentBefore=o),n.options.keepSourceTokens&&f&&(l.srcToken=e),l}function As(n,e,t,r,{spaceBefore:s,comment:i,anchor:o,tag:a,end:u},l){let f={type:"scalar",offset:Tu(e,t,r),indent:-1,source:""},d=ro(n,f,a,l);return o&&(d.anchor=o.source.substring(1),d.anchor===""&&l(o,"BAD_ALIAS","Anchor cannot be an empty string")),s&&(d.spaceBefore=!0),i&&(d.comment=i,d.range[2]=u),d}function yf({options:n},{offset:e,source:t,end:r},s){let i=new Et(t.substring(1));i.source===""&&s(e,"BAD_ALIAS","Alias cannot be an empty string"),i.source.endsWith(":")&&s(e+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+t.length,a=ut(r,o,n.strict,s);return i.range=[e,o,a.offset],a.comment&&(i.comment=a.comment),i}function Su(n,e,{offset:t,start:r,value:s,end:i},o){let a=Object.assign({_directives:e},n),u=new Nt(void 0,a),l={atKey:!1,atRoot:!0,directives:u.directives,options:u.options,schema:u.schema},f=at(r,{indicator:"doc-start",next:s!=null?s:i==null?void 0:i[0],offset:t,onError:o,parentIndent:0,startOnNewline:!0});f.found&&(u.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!f.hasNewline&&o(f.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),u.contents=s?so(l,s,f,o):As(l,f.end,r,null,f,o);let d=u.contents.range[2],m=ut(i,d,!1,o);return m.comment&&(u.comment=m.comment),u.range=[t,d,m.offset],u}function Or(n){if(typeof n=="number")return[n,n+1];if(Array.isArray(n))return n.length===2?n:[n[0],n[1]];let{offset:e,source:t}=n;return[e,e+(typeof t=="string"?t.length:1)]}function ku(n){var s;let e="",t=!1,r=!1;for(let i=0;i{let o=Or(t);i?this.warnings.push(new vr(o,r,s)):this.errors.push(new Qe(o,r,s))},this.directives=new it({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:r,afterEmptyLine:s}=ku(this.prelude);if(r){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${r}`:r;else if(s||e.directives.docStart||!i)e.commentBefore=r;else if(Z(i)&&!i.flow&&i.items.length>0){let o=i.items[0];H(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${r}\n${a}`:r}else{let o=i.commentBefore;i.commentBefore=o?`${r}\n${o}`:r}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:ku(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,r=-1){for(let s of e)yield*S(this.next(s));yield*S(this.end(t,r))}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(t,r,s)=>{let i=Or(e);i[0]+=t,this.onError(i,"BAD_DIRECTIVE",r,s)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=Su(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,r=new Qe(Or(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(r):this.doc.errors.push(r);break}case"doc-end":{if(!this.doc){let r="Unexpected doc-end without preceding document";this.errors.push(new Qe(Or(e),"UNEXPECTED_TOKEN",r));break}this.doc.directives.docEnd=!0;let t=ut(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let r=this.doc.comment;this.doc.comment=r?`${r}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Qe(Or(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let r=Object.assign({_directives:this.directives},this.options),s=new Nt(void 0,r);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),s.range=[0,t,t],this.decorate(s,!1),yield s}}};var io=Symbol("break visit"),gf=Symbol("skip children"),Cu=Symbol("remove item");function Jt(n,e){"type"in n&&n.type==="document"&&(n={start:n.start,value:n.value}),vu(Object.freeze([]),n,e)}Jt.BREAK=io;Jt.SKIP=gf;Jt.REMOVE=Cu;Jt.itemAtPath=(n,e)=>{let t=n;for(let[r,s]of e){let i=t==null?void 0:t[r];if(i&&"items"in i)t=i.items[s];else return}return t};Jt.parentCollection=(n,e)=>{let t=Jt.itemAtPath(n,e.slice(0,-1)),r=e[e.length-1][0],s=t==null?void 0:t[r];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function vu(n,e,t){let r=t(e,n);if(typeof r=="symbol")return r;for(let s of["key","value"]){let i=e[s];if(i&&"items"in i){for(let o=0;o":return"block-scalar-header"}return null}function Xe(n){switch(n){case void 0:case" ":case`\n`:case"\\r":case" ":return!0;default:return!1}}var Ou=new Set("0123456789ABCDEFabcdef"),Ff=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*\'()"),_s=new Set(",[]{}"),Ef=new Set(` ,[]{}\n\\r `),lo=n=>!n||Ef.has(n),Lr=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){var s;if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let r=(s=this.next)!=null?s:"stream";for(;r&&(t||this.hasChars(1));)r=yield*S(this.parseNext(r))}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===" "||t===" ";)t=this.buffer[++e];return!t||t==="#"||t===`\n`?!0:t==="\\r"?this.buffer[e+1]===`\n`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let r=0;for(;t===" ";)t=this.buffer[++r+e];if(t==="\\r"){let s=this.buffer[r+e+1];if(s===`\n`||!s&&!this.atEnd)return e+r+1}return t===`\n`||r>=this.indentNext||!t&&!this.atEnd?e+r:-1}if(t==="-"||t==="."){let r=this.buffer.substr(e,3);if((r==="---"||r==="...")&&Xe(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&ethis.indentValue&&!Xe(this.charAt(1))&&(this.indentNext=this.indentValue),yield*S(this.parseBlockStart())}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&Xe(t)){let r=(yield*S(this.pushCount(1)))+(yield*S(this.pushSpaces(!0)));return this.indentNext=this.indentValue+1,this.indentValue+=r,yield*S(this.parseBlockStart())}return"doc"}*parseDocument(){yield*S(this.pushSpaces(!0));let e=this.getLine();if(e===null)return this.setNext("doc");let t=yield*S(this.pushIndicators());switch(e[t]){case"#":yield*S(this.pushCount(e.length-t));case void 0:return yield*S(this.pushNewline()),yield*S(this.parseLineStart());case"{":case"[":return yield*S(this.pushCount(1)),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*S(this.pushCount(1)),"doc";case"*":return yield*S(this.pushUntil(lo)),"doc";case\'"\':case"\'":return yield*S(this.parseQuotedScalar());case"|":case">":return t+=yield*S(this.parseBlockScalarHeader()),t+=yield*S(this.pushSpaces(!0)),yield*S(this.pushCount(e.length-t)),yield*S(this.pushNewline()),yield*S(this.parseBlockScalar());default:return yield*S(this.parsePlainScalar())}}*parseFlowCollection(){let e,t,r=-1;do e=yield*S(this.pushNewline()),e>0?(t=yield*S(this.pushSpaces(!1)),this.indentValue=r=t):t=0,t+=yield*S(this.pushSpaces(!0));while(e+t>0);let s=this.getLine();if(s===null)return this.setNext("flow");if((r!==-1&&r"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*S(this.pushUntil(t=>Xe(t)||t==="#"))}*parseBlockScalar(){let e=this.pos-1,t=0,r;e:for(let i=this.pos;r=this.buffer[i];++i)switch(r){case" ":t+=1;break;case`\n`:e=i,t=0;break;case"\\r":{let o=this.buffer[i+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`\n`)break}default:break e}if(!r&&!this.atEnd)return this.setNext("block-scalar");if(t>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=t:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let i=this.continueScalar(e+1);if(i===-1)break;e=this.buffer.indexOf(`\n`,i)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let s=e+1;for(r=this.buffer[s];r===" ";)r=this.buffer[++s];if(r===" "){for(;r===" "||r===" "||r==="\\r"||r===`\n`;)r=this.buffer[++s];e=s-1}else if(!this.blockScalarKeep)do{let i=e-1,o=this.buffer[i];o==="\\r"&&(o=this.buffer[--i]);let a=i;for(;o===" ";)o=this.buffer[--i];if(o===`\n`&&i>=this.pos&&i+1+t>a)e=i;else break}while(!0);return yield Ms,yield*S(this.pushToIndex(e+1,!0)),yield*S(this.parseLineStart())}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,r=this.pos-1,s;for(;s=this.buffer[++r];)if(s===":"){let i=this.buffer[r+1];if(Xe(i)||e&&_s.has(i))break;t=r}else if(Xe(s)){let i=this.buffer[r+1];if(s==="\\r"&&(i===`\n`?(r+=1,s=`\n`,i=this.buffer[r+1]):t=r),i==="#"||e&&_s.has(i))break;if(s===`\n`){let o=this.continueScalar(r+1);if(o===-1)break;r=Math.max(r,o-2)}}else{if(e&&_s.has(s))break;t=r}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Ms,yield*S(this.pushToIndex(t+1,!0)),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let r=this.buffer.slice(this.pos,e);return r?(yield r,this.pos+=r.length,r.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*S(this.pushTag()))+(yield*S(this.pushSpaces(!0)))+(yield*S(this.pushIndicators()));case"&":return(yield*S(this.pushUntil(lo)))+(yield*S(this.pushSpaces(!0)))+(yield*S(this.pushIndicators()));case"-":case"?":case":":{let e=this.flowLevel>0,t=this.charAt(1);if(Xe(t)||e&&_s.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*S(this.pushCount(1)))+(yield*S(this.pushSpaces(!0)))+(yield*S(this.pushIndicators()))}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,t=this.buffer[e];for(;!Xe(t)&&t!==">";)t=this.buffer[++e];return yield*S(this.pushToIndex(t===">"?e+1:e,!1))}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(Ff.has(t))t=this.buffer[++e];else if(t==="%"&&Ou.has(this.buffer[e+1])&&Ou.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*S(this.pushToIndex(e,!1))}}*pushNewline(){let e=this.buffer[this.pos];return e===`\n`?yield*S(this.pushCount(1)):e==="\\r"&&this.charAt(1)===`\n`?yield*S(this.pushCount(2)):0}*pushSpaces(e){let t=this.pos-1,r;do r=this.buffer[++t];while(r===" "||e&&r===" ");let s=t-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=t),s}*pushUntil(e){let t=this.pos,r=this.buffer[t];for(;!e(r);)r=this.buffer[++t];return yield*S(this.pushToIndex(t,!1))}};var Nr=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,r=this.lineStarts.length;for(;t>1;this.lineStarts[i]=0;)switch(n[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((t=n[++e])==null?void 0:t.type)==="space";);return n.splice(e,n.length)}function Lu(n){if(n.start.type==="flow-seq-start")for(let e of n.items)e.sep&&!e.value&&!zt(e.start,"explicit-key-ind")&&!zt(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Nu(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var Ar=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Lr,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let r of this.lexer.lex(e,t))yield*S(this.next(r));t||(yield*S(this.end()))}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*S(this.step()),this.offset+=e.length;return}let t=xu(e);if(t)if(t==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*S(this.step()),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let r=`Not a YAML token: ${e}`;yield*S(this.pop({type:"error",offset:this.offset,message:r,source:e})),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*S(this.pop())}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&(!e||e.type!=="doc-end")){for(;this.stack.length>0;)yield*S(this.pop());this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*S(this.stream());switch(e.type){case"document":return yield*S(this.document(e));case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*S(this.scalar(e));case"block-scalar":return yield*S(this.blockScalar(e));case"block-map":return yield*S(this.blockMap(e));case"block-seq":return yield*S(this.blockSequence(e));case"flow-collection":return yield*S(this.flowCollection(e));case"doc-end":return yield*S(this.documentEnd(e))}yield*S(this.pop())}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e!=null?e:this.stack.pop();if(!t)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield t;else{let r=this.peek(1);switch(t.type==="block-scalar"?t.indent="indent"in r?r.indent:0:t.type==="flow-collection"&&r.type==="document"&&(t.indent=0),t.type==="flow-collection"&&Lu(t),r.type){case"document":r.value=t;break;case"block-scalar":r.props.push(t);break;case"block-map":{let s=r.items[r.items.length-1];if(s.value){r.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(s.sep)s.value=t;else{Object.assign(s,{key:t,sep:[]}),this.onKeyLine=!s.explicitKey;return}break}case"block-seq":{let s=r.items[r.items.length-1];s.value?r.items.push({start:[],value:t}):s.value=t;break}case"flow-collection":{let s=r.items[r.items.length-1];!s||s.value?r.items.push({start:[],key:t,sep:[]}):s.sep?s.value=t:Object.assign(s,{key:t,sep:[]});return}default:yield*S(this.pop()),yield*S(this.pop(t))}if((r.type==="document"||r.type==="block-map"||r.type==="block-seq")&&(t.type==="block-map"||t.type==="block-seq")){let s=t.items[t.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&Iu(s.start)===-1&&(t.indent===0||s.start.every(i=>i.type!=="comment"||i.indent=e.indent){let s=!this.onKeyLine&&this.indent===e.indent,i=s&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",o=[];if(i&&t.sep&&!t.value){let a=[];for(let u=0;ue.indent&&(a.length=0);break;default:a.length=0}}a.length>=2&&(o=t.sep.splice(a[1]))}switch(this.type){case"anchor":case"tag":i||t.value?(o.push(this.sourceToken),e.items.push({start:o}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"explicit-key-ind":!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):i||t.value?(o.push(this.sourceToken),e.items.push({start:o,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(zt(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(Nu(t.key)&&!zt(t.sep,"newline")){let a=Nn(t.start),u=t.key,l=t.sep;l.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:u,sep:l}]})}else o.length>0?t.sep=t.sep.concat(o,this.sourceToken):t.sep.push(this.sourceToken);else if(zt(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let a=Nn(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||i?e.items.push({start:o,key:null,sep:[this.sourceToken]}):zt(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let a=this.flowScalar(this.type);i||t.value?(e.items.push({start:o,key:a,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(a):(Object.assign(t,{key:a,sep:[]}),this.onKeyLine=!0);return}default:{let a=this.startBlockValue(e);if(a){s&&a.type!=="block-seq"&&e.items.push({start:o}),this.stack.push(a);return}}}}yield*S(this.pop()),yield*S(this.step())}*blockSequence(e){var r;let t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){let s="end"in t.value?t.value.end:void 0,i=Array.isArray(s)?s[s.length-1]:void 0;(i==null?void 0:i.type)==="comment"?s==null||s.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let s=e.items[e.items.length-2],i=(r=s==null?void 0:s.value)==null?void 0:r.end;if(Array.isArray(i)){Array.prototype.push.apply(i,t.start),i.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;t.value||zt(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let s=this.startBlockValue(e);if(s){this.stack.push(s);return}}yield*S(this.pop()),yield*S(this.step())}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let r;do yield*S(this.pop()),r=this.peek(1);while(r&&r.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case"map-value-ind":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:s,sep:[]}):t.sep?this.stack.push(s):Object.assign(t,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let r=this.startBlockValue(e);r?this.stack.push(r):(yield*S(this.pop()),yield*S(this.step()))}else{let r=this.peek(2);if(r.type==="block-map"&&(this.type==="map-value-ind"&&r.indent===e.indent||this.type==="newline"&&!r.items[r.items.length-1].sep))yield*S(this.pop()),yield*S(this.step());else if(this.type==="map-value-ind"&&r.type!=="flow-collection"){let s=Bs(r),i=Nn(s);Lu(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:i,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*S(this.lineEnd(e))}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`\n`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`\n`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let t=Bs(e),r=Nn(t);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Bs(e),r=Nn(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!1:e.every(r=>r.type==="newline"||r.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*S(this.pop())))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*S(this.pop()),yield*S(this.step());break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*S(this.pop()))}}};function wf(n){let e=n.prettyErrors!==!1;return{lineCounter:n.lineCounter||e&&new Nr||null,prettyErrors:e}}function Au(n,e={}){let{lineCounter:t,prettyErrors:r}=wf(e),s=new Ar(t==null?void 0:t.addNewLine),i=new Ir(e),o=null;for(let a of i.compose(s.parse(n),!0,n.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Qe(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return r&&t&&(o.errors.forEach(Zi(n,t)),o.warnings.forEach(Zi(n,t))),o}function co(n,e,t){let r;typeof e=="function"?r=e:t===void 0&&e&&typeof e=="object"&&(t=e);let s=Au(n,t);if(!s)return null;if(s.warnings.forEach(i=>ms(s.options.logLevel,i)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:r},t))}var js=Vr(Ru());var F=Vr(ns());var et;(N=>{N.DEFAULT_TO_STRING={nullRepresentation:"-",dateFormat:"MMMM dd, yyyy",dateTimeFormat:"h:mm a - MMMM dd, yyyy"};function e(y,w=N.DEFAULT_TO_STRING,v=!1){let x=t(y);if(!x)return w.nullRepresentation;switch(x.type){case"null":return w.nullRepresentation;case"string":return x.value;case"number":case"boolean":return""+x.value;case"link":return x.value.markdown();case"function":return"";case"array":let C="";return v&&(C+="["),C+=x.value.map(V=>e(V,w,!0)).join(", "),v&&(C+="]"),C;case"object":return"{ "+Object.entries(x.value).map(V=>V[0]+": "+e(V[1],w,!0)).join(", ")+" }";case"date":return ja(x.value,w.dateFormat,w.dateTimeFormat);case"duration":return qa(x.value)}}N.toString=e;function t(y){return h(y)?{type:"null",value:y}:f(y)?{type:"number",value:y}:l(y)?{type:"string",value:y}:g(y)?{type:"boolean",value:y}:m(y)?{type:"duration",value:y}:d(y)?{type:"date",value:y}:b(y)?{type:"array",value:y}:D(y)?{type:"link",value:y}:I(y)?{type:"function",value:y}:T(y)?{type:"object",value:y}:void 0}N.wrapValue=t;function r(y,w){if(T(y)){let v={};for(let[x,C]of Object.entries(y))v[x]=r(C,w);return v}else if(b(y)){let v=[];for(let x of y)v.push(r(x,w));return v}else return w(y)}N.mapLeaves=r;function s(y,w){return i(y,w)==0}N.equals=s;function i(y,w,v){var V,j;if(y===w||(y===void 0&&(y=null),w===void 0&&(w=null),y===null&&w===null))return 0;if(y===null)return-1;if(w===null)return 1;let x=t(y),C=t(w);if(x===void 0&&C===void 0)return 0;if(x===void 0)return-1;if(C===void 0)return 1;if(x.type!=C.type)return x.type.localeCompare(C.type);if(x.value===C.value)return 0;switch(x.type){case"string":return x.value.localeCompare(C.value);case"number":return x.valueAe,O=ue(Y.path).localeCompare(ue(ee.path));if(O!=0)return O;let $=Y.type.localeCompare(ee.type);return $!=0?$:Y.subpath&&!ee.subpath?1:!Y.subpath&&ee.subpath?-1:!Y.subpath&&!ee.subpath?0:((V=Y.subpath)!=null?V:"").localeCompare((j=ee.subpath)!=null?j:"");case"date":return x.value0;case"boolean":return w.value;case"link":return!!w.value.path;case"date":return w.value.toMillis()!=0;case"duration":return w.value.as("seconds")!=0;case"object":return Object.keys(w.value).length>0;case"array":return w.value.length>0;case"null":return!1;case"function":return!0}}N.isTruthy=a;function u(y){if(y==null)return y;if(N.isArray(y))return[].concat(y.map(w=>u(w)));if(N.isObject(y)){let w={};for(let[v,x]of Object.entries(y))w[v]=u(x);return w}else return y}N.deepCopy=u;function l(y){return typeof y=="string"}N.isString=l;function f(y){return typeof y=="number"}N.isNumber=f;function d(y){return y instanceof q}N.isDate=d;function m(y){return y instanceof B}N.isDuration=m;function h(y){return y==null}N.isNull=h;function b(y){return Array.isArray(y)}N.isArray=b;function g(y){return typeof y=="boolean"}N.isBoolean=g;function D(y){return y instanceof Oe}N.isLink=D;function T(y){return y!==void 0&&typeof y=="object"&&!b(y)&&!m(y)&&!d(y)&&!D(y)&&!h(y)}N.isObject=T;function I(y){return typeof y=="function"}N.isFunction=I})(et||(et={}));var ju;(i=>{function n(o){return et.isObject(o)&&Object.keys(o).length==2&&"key"in o&&"rows"in o}i.isElementGroup=n;function e(o){for(let a of o)if(!n(a))return!1;return!0}i.isGrouping=e;function t(o){for(let a of o)if(n(a))return!1;return!0}i.isLeaf=t;function r(o){if(n(o))return r(o.rows);if(e(o)){let a=0;for(let u of o)a+=r(u.rows);return a}else return o.length}i.count=r;function s(o,a,u){if(u<=a)return[];if(t(o))return o.slice(a,u);let l=0,f=0;for(;l=o.length)return[];let d=[];for(;l{function n(u){return new ho(u)}a.success=n;function e(u){return new mo(u)}a.failure=e;function t(u,l,f){return u.successful?l.successful?f(u.value,l.value):e(l.error):e(u.error)}a.flatMap2=t;function r(u,l,f){return t(u,l,(d,m)=>n(f(d,m)))}a.map2=r;function s(u,l){let f=[];for(let d of u){let m=l(d);if(!m.successful)return m.cast();f.push(m.value)}return a.success(f)}a.mapAll=s;function i(u){try{return a.success(u())}catch(l){return a.failure(l)}}a.trying=i;async function o(u){try{return a.success(await u)}catch(l){return a.failure(l)}}a.async=o})(Se||(Se={}));var Yt;(N=>{N.EVERYTHING={type:"everything"},N.NOTHING={type:"nothing"},N.EMPTY_SET=new Set;function r(y){return y.size==0?N.NOTHING:{type:"atom",value:y}}N.atom=r;function s(y){return y?N.EVERYTHING:N.NOTHING}N.constant=s;function i(y){return y!==void 0?r(y):N.NOTHING}N.nullableAtom=i;function o(y){return y.size==0?N.EVERYTHING:{type:"negated",value:y}}N.negated=o;function a(y){switch(y.type){case"everything":return N.NOTHING;case"nothing":return N.EVERYTHING;case"atom":return o(y.value);case"negated":return r(y.value)}}N.negate=a;function u(y){switch(y.type){case"everything":return!1;case"negated":return!1;case"atom":return y.value.size==0;case"nothing":return!0}}N.empty=u;function l(y,w){switch(y.type){case"everything":return w;case"nothing":return N.EMPTY_SET;case"atom":return y.value;case"negated":return I(w,y.value)}}N.resolve=l;function f(y){return d(y,w=>w)}N.intersect=f;function d(y,w){return m(y,v=>Se.success(w(v))).orElseThrow()}N.lazyIntersect=d;function m(y,w){let v=[],x=[];for(let C of y){let V=w(C);if(!V.successful)return V.cast();let j=V.value;if(j!==void 0){if(u(j))return Se.success(N.NOTHING);j.type!=="everything"&&(j.type=="atom"?v.push(j.value):j.type=="negated"&&x.push(j.value))}}return v.length==0&&x.length==0?Se.success(N.EVERYTHING):v.length>0&&x.length==0?Se.success(r(D(v))):v.length==0&&x.length>0?Se.success(o(T(x))):Se.success(N.atom(I(D(v),T(x))))}N.lazyFailableIntersection=m;function h(y){return b(y,w=>w)}N.union=h;function b(y,w){return g(y,v=>Se.success(w(v))).orElseThrow()}N.lazyUnion=b;function g(y,w){let v=[],x=[];for(let C of y){let V=w(C);if(!V.successful)return V.cast();let j=V.value;if(j!==void 0){if(j.type==="everything")return Se.success(N.EVERYTHING);u(j)||(j.type=="atom"?v.push(j.value):j.type=="negated"&&x.push(j.value))}}return v.length==0&&x.length==0?Se.success(N.NOTHING):v.length>0&&x.length==0?Se.success(N.atom(T(v))):v.length==0&&x.length>0?Se.success(N.negated(D(x))):Se.success(o(I(D(x),T(v))))}N.lazyFailableUnion=g;function D(y){if(y.length==0)return new Set;if(y.length==1)return y[0];let w=[].concat(y).sort((v,x)=>v.size-x.size);for(;w.length>1;){let v=new Set,x=w.pop();for(let C of w[0])x.has(C)&&v.add(C);w[0]=v}return w[0]}N.setIntersect=D;function T(y){if(y.length==0)return new Set;if(y.length==1)return y[0];let w=new Set;for(let v of y)for(let x of v)w.add(x);return w}N.setUnion=T;function I(y,w){if(y.size>w.size){let v=new Set(y);for(let x of w)v.delete(x);return v}else{let v=new Set;for(let x of y)w.has(x)||v.add(x);return v}}N.setIntersectNegation=I})(Yt||(Yt={}));var se;(g=>{g.ROW="$row";function e(D){return{type:"variable",name:D}}g.variable=e;function t(D){return{type:"literal",value:D}}g.literal=t;function r(D,T,I){return{type:"binaryop",left:D,op:T,right:I}}g.binaryOp=r;function s(D,T){return{type:"binaryop",left:D,right:T,op:"index"}}g.index=s;function i(D){let T=D.split("."),I=g.variable(T[0]);for(let N=1;N"||D==">="||D=="!="||D=="="}g.isCompareOp=d;function m(D,T=new Set([g.ROW])){switch(D.type){case"binaryop":return D.op==="index"&&D.left.type=="variable"&&D.left.name==g.ROW&&D.right.type=="literal"&&et.isString(D.right.value)?T.has(D.right.value)?new Set:new Set([D.right.value]):Yt.setUnion([m(D.left,T),m(D.right,T)]);case"function":return Yt.setUnion(D.arguments.map(N=>m(N,T)));case"lambda":let I=T!=null?T:new Set;for(let N of D.arguments)I.add(N);return m(D.value,I);case"list":return Yt.setUnion(D.values.map(N=>m(N,T)));case"negated":return m(D.child,T);case"object":return Yt.setUnion(Object.values(D.values).map(N=>m(N,T)));case"variable":return T&&T.has(D.name)?new Set:new Set([D.name]);case"literal":return new Set}}g.unboundVariables=m;function h(D){switch(D.type){case"binaryop":return D.op==="index"?`${h(D.left)}[${h(D.right)}]`:`${h(D.left)} ${D.op} ${h(D.right)}`;case"function":return`${h(D.func)}(${D.arguments.map(h).join(", ")})`;case"lambda":return`(${D.arguments.join(", ")}) => ${h(D.value)}`;case"list":return`[${D.values.map(h).join(", ")}]`;case"negated":return`!${h(D.child)}`;case"object":return`{${Object.entries(D.values).map(([I,N])=>`${I}: ${h(N)}`).join(", ")}}`;case"variable":return D.name;case"literal":let T=et.wrapValue(D.value);if(!T)return"null";switch(T.type){case"string":return`"${T.value}"`;default:return et.toString(T.value)}}}g.toString=h,g.NULL=g.literal(null)})(se||(se={}));var z=F.createLanguage({number:n=>F.regexp(/-?[0-9]+(\\.[0-9]+)?/).map(e=>Number.parseFloat(e)).desc("number"),string:n=>F.string(\'"\').then(F.alt(n.escapeCharacter,F.noneOf(\'"\\\\\')).atLeast(0).map(e=>e.join(""))).skip(F.string(\'"\')).desc("string"),escapeCharacter:n=>F.string("\\\\").then(F.any).map(e=>e===\'"\'?\'"\':e==="\\\\"?"\\\\":"\\\\"+e),bool:n=>F.regexp(/true|false|True|False/).map(e=>e.toLowerCase()=="true").desc("boolean"),tag:n=>F.seqMap(F.string("#"),F.alt(F.regexp(/[^\\u2000-\\u206F\\u2E00-\\u2E7F\'!"#$%&()*+,.:;<=>?@^`{|}~\\[\\]\\\\\\s]/).desc("text")).many(),(e,t)=>e+t.join("")).desc("tag"),identifier:n=>F.seqMap(F.alt(F.regexp(/[\\p{Letter}$]/u),F.regexp(qu).desc("text")),F.alt(F.regexp(/[0-9\\p{Letter}$_-]/u),F.regexp(qu).desc("text")).many(),(e,t)=>e+t.join("")).desc("variable"),link:n=>F.regexp(/\\[\\[([^\\[\\]]*?)\\]\\]/u,1).map(e=>Oe.parseInner(e)).desc("file link"),embedLink:n=>F.seqMap(F.string("!").atMost(1),n.link,(e,t)=>(e.length>0&&(t.embed=!0),t)).desc("file link"),binaryPlusMinus:n=>F.regexp(/\\+|-/).map(e=>e).desc("\'+\' or \'-\'"),binaryMulDiv:n=>F.regexp(/\\*|\\/|%/).map(e=>e).desc("\'*\' or \'/\' or \'%\'"),binaryCompareOp:n=>F.regexp(/>=|<=|!=|>|<|=/).map(e=>e).desc("\'>=\' or \'<=\' or \'!=\' or \'=\' or \'>\' or \'<\'"),binaryAndOp:n=>F.regexp(/and|&/i).map(e=>"&").desc("\'and\'"),binaryOrOp:n=>F.regexp(/or|\\|/i).map(e=>"|").desc("\'or\'"),rootDate:n=>F.seqMap(F.regexp(/\\d{4}/),F.string("-"),F.regexp(/\\d{2}/),(e,t,r)=>q.fromObject({year:Number.parseInt(e),month:Number.parseInt(r)})).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),dateShorthand:n=>F.alt(...Object.keys(Uu).sort((e,t)=>t.length-e.length).map(F.string)),date:n=>Of(n.rootDate,e=>F.seqMap(F.string("-"),F.regexp(/\\d{2}/),(t,r)=>e.set({day:Number.parseInt(r)})),e=>F.seqMap(F.string("T"),F.regexp(/\\d{2}/),(t,r)=>e.set({hour:Number.parseInt(r)})),e=>F.seqMap(F.string(":"),F.regexp(/\\d{2}/),(t,r)=>e.set({minute:Number.parseInt(r)})),e=>F.seqMap(F.string(":"),F.regexp(/\\d{2}/),(t,r)=>e.set({second:Number.parseInt(r)})),e=>F.alt(F.seqMap(F.string("."),F.regexp(/\\d{3}/),(t,r)=>e.set({millisecond:Number.parseInt(r)})),F.succeed(e)),e=>F.alt(F.seqMap(F.string("+").or(F.string("-")),F.regexp(/\\d{1,2}(:\\d{2})?/),(t,r)=>e.setZone("UTC"+t+r,{keepLocalTime:!0})),F.seqMap(F.string("Z"),()=>e.setZone("utc",{keepLocalTime:!0})),F.seqMap(F.string("["),F.regexp(/[0-9A-Za-z+-\\/]+/u),F.string("]"),(t,r,s)=>e.setZone(r,{keepLocalTime:!0})))).assert(e=>e.isValid,"valid date").desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),datePlus:n=>F.alt(n.dateShorthand.map(e=>Uu[e]()),n.date).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS] or in shorthand"),durationType:n=>F.alt(...Object.keys(Vu).sort((e,t)=>t.length-e.length).map(F.string)),duration:n=>F.seqMap(n.number,F.optWhitespace,n.durationType,(e,t,r)=>Vu[r].mapUnits(s=>s*e)).sepBy1(F.string(",").trim(F.optWhitespace).or(F.optWhitespace)).map(e=>e.reduce((t,r)=>t.plus(r))).desc("duration like 4hr2min"),rawNull:n=>F.string("null"),atomInlineField:n=>F.alt(n.date,n.duration.map(e=>Mi(e)),n.string,n.tag,n.embedLink,n.bool,n.number,n.rawNull),inlineFieldList:n=>n.atomInlineField.sepBy(F.string(",").trim(F.optWhitespace).lookahead(n.atomInlineField)),inlineField:n=>F.alt(F.seqMap(n.atomInlineField,F.string(",").trim(F.optWhitespace),n.inlineFieldList,(e,t,r)=>[e].concat(r)),n.atomInlineField)}),qu=new RegExp(Fn(),""),Vu={year:B.fromObject({years:1}),years:B.fromObject({years:1}),yr:B.fromObject({years:1}),yrs:B.fromObject({years:1}),month:B.fromObject({months:1}),months:B.fromObject({months:1}),mo:B.fromObject({months:1}),mos:B.fromObject({months:1}),week:B.fromObject({weeks:1}),weeks:B.fromObject({weeks:1}),wk:B.fromObject({weeks:1}),wks:B.fromObject({weeks:1}),w:B.fromObject({weeks:1}),day:B.fromObject({days:1}),days:B.fromObject({days:1}),d:B.fromObject({days:1}),hour:B.fromObject({hours:1}),hours:B.fromObject({hours:1}),hr:B.fromObject({hours:1}),hrs:B.fromObject({hours:1}),h:B.fromObject({hours:1}),minute:B.fromObject({minutes:1}),minutes:B.fromObject({minutes:1}),min:B.fromObject({minutes:1}),mins:B.fromObject({minutes:1}),m:B.fromObject({minutes:1}),second:B.fromObject({seconds:1}),seconds:B.fromObject({seconds:1}),sec:B.fromObject({seconds:1}),secs:B.fromObject({seconds:1}),s:B.fromObject({seconds:1})},Uu={now:()=>q.local(),today:()=>q.local().startOf("day"),yesterday:()=>q.local().startOf("day").minus(B.fromObject({days:1})),tomorrow:()=>q.local().startOf("day").plus(B.fromObject({days:1})),sow:()=>q.local().startOf("week"),"start-of-week":()=>q.local().startOf("week"),eow:()=>q.local().endOf("week"),"end-of-week":()=>q.local().endOf("week"),soy:()=>q.local().startOf("year"),"start-of-year":()=>q.local().startOf("year"),eoy:()=>q.local().endOf("year"),"end-of-year":()=>q.local().endOf("year"),som:()=>q.local().startOf("month"),"start-of-month":()=>q.local().startOf("month"),eom:()=>q.local().endOf("month"),"end-of-month":()=>q.local().endOf("month")},Ku=F.createLanguage({variable:n=>z.identifier.map(se.variable).desc("variable"),number:n=>z.number.map(se.literal).desc("number"),string:n=>z.string.map(se.literal).desc("string"),bool:n=>z.bool.map(se.literal).desc("boolean"),date:n=>St("date",z.datePlus).map(([e,t])=>se.literal(t)).desc("date"),duration:n=>St("dur",z.duration).map(([e,t])=>se.literal(t)).desc("duration"),null:n=>z.rawNull.map(e=>se.NULL),link:n=>z.link.map(se.literal),list:n=>n.expression.sepBy(F.string(",").trim(F.optWhitespace)).wrap(F.string("[").skip(F.optWhitespace),F.optWhitespace.then(F.string("]"))).map(e=>se.list(e)).desc("list"),object:n=>F.seqMap(z.identifier.or(z.string),F.string(":").trim(F.optWhitespace),n.expression,(e,t,r)=>({name:e,value:r})).sepBy(F.string(",").trim(F.optWhitespace)).wrap(F.string("{").skip(F.optWhitespace),F.optWhitespace.then(F.string("}"))).map(e=>{let t={};for(let r of e)t[r.name]=r.value;return se.object(t)}).desc("object (\'{ a: 1, b: 2 }\')"),atom:n=>F.alt(z.embedLink.map(e=>se.literal(e)),n.negated,n.link,n.list,n.object,n.lambda,n.parens,n.bool,n.number,n.string,n.date,n.duration,n.null,n.variable),index:n=>F.seqMap(n.atom,F.alt(n.dotPostfix,n.indexPostfix,n.functionPostfix).many(),(e,t)=>{let r=e;for(let s of t)switch(s.type){case"dot":r=se.index(r,se.literal(s.expr));break;case"index":r=se.index(r,s.expr);break;case"function":r=se.func(r,s.exprs);break}return r}),negated:n=>F.seqMap(F.string("!"),n.index,(e,t)=>se.negate(t)).desc("negated field"),parens:n=>n.expression.trim(F.optWhitespace).wrap(F.string("("),F.string(")")),lambda:n=>F.seqMap(z.identifier.sepBy(F.string(",").trim(F.optWhitespace)).wrap(F.string("(").trim(F.optWhitespace),F.string(")").trim(F.optWhitespace)),F.string("=>").trim(F.optWhitespace),n.expression,(e,t,r)=>({type:"lambda",arguments:e,value:r})),dotPostfix:n=>F.seqMap(F.string("."),z.identifier,(e,t)=>({type:"dot",expr:t})),indexPostfix:n=>F.seqMap(F.string("["),F.optWhitespace,n.expression,F.optWhitespace,F.string("]"),(e,t,r,s,i)=>({type:"index",expr:r})),functionPostfix:n=>F.seqMap(F.string("("),F.optWhitespace,n.expression.sepBy(F.string(",").trim(F.optWhitespace)),F.optWhitespace,F.string(")"),(e,t,r,s,i)=>({type:"function",exprs:r})),binaryMulDiv:n=>Mn(n.index,z.binaryMulDiv,se.binaryOp),binaryPlusMinus:n=>Mn(n.binaryMulDiv,z.binaryPlusMinus,se.binaryOp),binaryCompare:n=>Mn(n.binaryPlusMinus,z.binaryCompareOp,se.binaryOp),binaryBoolean:n=>Mn(n.binaryCompare,z.binaryAndOp.or(z.binaryOrOp),se.binaryOp),binaryOp:n=>n.binaryBoolean,expression:n=>n.binaryOp}),lb=F.createLanguage({queryTag:n=>z.tag.map(e=>({type:"tagged",value:e})),queryId:n=>St("id",z.string).map(([e,t])=>({type:"id",value:t})),queryType:n=>F.string("@").then(z.identifier).map(e=>({type:"typed",value:e})),queryPath:n=>St(F.regexp(/e?path/i).desc("[e]path"),z.string).map(([e,t])=>({type:"path",value:t,exact:e.toLowerCase()==="epath"})),queryParentOf:n=>St(F.regexp(/parentof|supertree/i).desc("parentof"),n.query).map(([e,t])=>({type:"parent-of",children:t,inclusive:e.toLowerCase()==="supertree"})),queryChildOf:n=>St(F.regexp(/childof|subtree/i).desc("childof"),n.query).map(([e,t])=>({type:"child-of",parents:t,inclusive:e.toLowerCase()==="subtree"})),querySimpleLinked:n=>z.link.map(e=>({type:"linked",source:{type:"link",value:e},direction:"incoming"})),queryLinked:n=>St(F.regexp(/linksto|linkedfrom|connected/i).desc("connected"),n.query).map(([e,t])=>({type:"linked",source:t,direction:e.toLowerCase()=="linksto"?"incoming":e.toLowerCase()=="linkedfrom"?"outgoing":"both"})),queryExists:n=>St(F.regexp(/exists/i).desc("exists"),z.identifier.or(z.string)).map(([e,t])=>({type:"field",value:t})),queryQuotedExpression:n=>St(F.regexp(/expr/i).desc("expr"),Ku.expression).map(([e,t])=>({type:"expression",expression:t})),queryRawExpression:n=>Ku.binaryCompare.map(e=>({type:"expression",expression:e})),queryParens:n=>n.query.trim(F.optWhitespace).wrap(F.string("("),F.string(")")),queryNegate:n=>F.string("!").skip(F.optWhitespace).then(n.queryAtom).map(e=>({type:"not",element:e})),queryAtom:n=>F.alt(n.queryParens,n.queryNegate,n.querySimpleLinked,n.queryTag,n.queryType,n.queryId,n.queryExists,n.queryChildOf,n.queryParentOf,n.queryLinked,n.queryPath,n.queryQuotedExpression,n.queryRawExpression),queryAnds:n=>Mn(n.queryAtom,z.binaryAndOp,(e,t,r)=>({type:"and",elements:[e,r]})),queryOrs:n=>Mn(n.queryAnds,z.binaryOrOp,(e,t,r)=>({type:"or",elements:[e,r]})),query:n=>n.queryOrs.trim(F.optWhitespace)});function Mn(n,e,t){return F.seqMap(n,F.seq(F.optWhitespace,e,F.optWhitespace,n).many(),(r,s)=>{if(s.length==0)return r;let i=t(r,s[0][1],s[0][3]);for(let o=1;o[r,s])}function Of(n,...e){return F.custom((t,r)=>(s,i)=>{let o=n._(s,i);if(!o.status)return o;for(let a of e){let u=a(o.value)._(s,o.index);if(!u.status)return o;o=u}return o})}var Zt=Vr(ns());function Gt(n,e){let t={};for(let[r,s]of Object.entries(n))t[r]=e(s);return t}var _n;(r=>{r.NOOP_NORMALIZER=s=>s;function e(s){let i=et.wrapValue(s);if(!i)return null;switch(i==null?void 0:i.type){case"array":return i.value.map(r.json);case"object":return Gt(i.value,r.json);case"date":return{$_type:"date",value:i.value.toISO({extendedZone:!0,includeOffset:!0})};case"link":return{$_type:"link",value:i.value.toObject()};case"duration":return{$_type:"duration",value:i.value.toISO()};case"boolean":case"number":case"string":return i.value;case"function":case"null":return null}}r.json=e;function t(s,i=r.NOOP_NORMALIZER){if(s==null)return null;if(Array.isArray(s))return i(s.map(o=>r.value(o,i)));if(typeof s=="object"){if(!("$_type"in s))return Gt(s,a=>r.value(a,i));let o=s.$_type;switch(o){case"date":return i(q.fromISO(s.value));case"duration":return i(B.fromISO(s.value));case"link":return i(Oe.fromObject(s.value));default:throw new Error(`Unrecognized serialized type \'${o}\'!`)}}return i(s)}r.value=t})(_n||(_n={}));function Wu(n){return Object.assign({},n,{value:_n.json(n.value)})}function $s(n,e){return Array.isArray(n)?n.map(t=>$s(t,e)):{key:n.key,raw:n.value,value:Nf(n.value),position:{line:e,start:n.start,startValue:n.startValue,end:n.end},wrapping:n.wrapping}}var Ps=Object.freeze({"[":"]","(":")"});function If(n,e,t,r){let s=0,i=!1;for(let o=e;o=0;){let o=Lf(n,i);if(!o){i=n.indexOf(s,i+1);continue}t.push(o),i=n.indexOf(s,o.end)}}e&&(t=t.concat(qf(n))),t.sort((s,i)=>s.start-i.start);let r=[];for(let s=0;sn.join("")),Mf=Zt.regexp(/[^0-9\\w\\p{Letter}]*/u).then(Af).skip(Zt.regexp(/[_\\*~`]*/u));function zu(n){let e=Hu(n,0);if(!e)return;let t=Mf.parse(e.key);if(t.status)return{key:t.value,value:n.substring(e.valueIndex).trim(),start:0,startValue:e.valueIndex,end:n.length}}var _f=/\\u{2795}\\s*(\\d{4}-\\d{2}-\\d{2})/u,Bf=/(?:\\u{1F4C5}|\\u{1F4C6}|\\u{1F5D3}\\u{FE0F}?)\\s*(\\d{4}-\\d{2}-\\d{2})/u,Pf=/\\u{2705}\\s*(\\d{4}-\\d{2}-\\d{2})/u,$f=/[\\u{23F3}\\u{231B}]\\s*(\\d{4}-\\d{2}-\\d{2})/u,Rf=/\\u{1F6EB}\\s*(\\d{4}-\\d{2}-\\d{2})/u,jf=[{regex:_f,key:"created"},{regex:Rf,key:"start"},{regex:$f,key:"scheduled"},{regex:Bf,key:"due"},{regex:Pf,key:"completion"}];function qf(n){let e=[];for(let{regex:t,key:r}of jf){let s=t.exec(n);s&&e.push({key:r,value:s[1],start:s.index,startValue:s.index+1,end:s.index+s[0].length,wrapping:"emoji-shorthand"})}return e}var Rs;(t=>{function n(r){let s=et.wrapValue(e);if(!s)return null;switch(s.type){case"string":case"boolean":case"null":case"number":return s.value;case"array":return s.value.map(n);case"date":return s.value.toISO();case"duration":return s.value.toHuman();case"function":return null;case"link":return s.value.markdown();case"object":return Gt(s.value,n)}}t.yaml=n;function e(r){if(r==null)return null;if(typeof r=="object")if(Array.isArray(r)){let s=[];for(let i of r)s.push(e(i));return s}else{if(r instanceof Date)return q.fromJSDate(r);{let s=r,i={};for(let o in s)i[o]=e(s[o]);return i}}else{if(typeof r=="number")return r;if(typeof r=="boolean")return r;if(typeof r=="string"){let s=z.date.parse(r);if(s.status)return s.value;let i=z.duration.parse(r);if(i.status)return i.value;let o=z.link.parse(r);return o.status?o.value:r}}return null}t.literal=e})(Rs||(Rs={}));var Vf=/```yaml:data/i,Uf=/^(?:```|~~~)(.*)$/im,Kf=new RegExp("^[\\\\s>]*(\\\\d+\\\\.|\\\\d+\\\\)|\\\\*|-|\\\\+)\\\\s*(\\\\[.{0,1}\\\\])?\\\\s*(.*)","msu");function Zu(n,e,t,r){let{lines:s,metadata:i,frontmatter:o,sections:a}=Fo(n,e,t);return new po(n,r,s.length,i,a,o).build()}function Fo(n,e,t){var b,g,D,T,I,N,y,w,v,x,C,V,j,Y,ee,ue;let r=t.frontmatter?Gu(t.frontmatter):void 0,s=e.split(/\\r\\n|\\r|\\n/),i=new $e,o=[],a=(b=t.headings)!=null?b:[];a.sort((O,$)=>O.position.start.line-$.position.start.line);let u=new js.default(void 0,(O,$)=>O-$);for(let O=0;O0&&!Yu(s,0,O.start)){let $=new _r(0,O.start,En(n),1,0);u.set(0,$)}}let l=new js.default(void 0,(O,$)=>O-$),f=1;for(let O of t.sections||[]){if(O.type==="heading")continue;let $=O.position.start.line,Q=O.position.end.line+1,ie=s[$];if(O.type==="list")l.set($,new Do($,Q,f++,O.id));else if(O.type=="code"&&Vf.test(ie)){let De=s.slice($+1,Q-1).join(`\n`).replace(/\\t/gm," "),Re=Gu(co(De));l.set($,new yo($,Q,f++,Re,O.id))}else if(O.type==="code"){let De=ie==null?void 0:ie.match(Uf);if(!De)l.set($,new qs($,Q,f++,[],"indent",$,Q,O.id));else{let Re=De.length>1&&De[1]?De[1].split(","):[];l.set($,new qs($,Q,f++,Re,"fenced",$+1,Q-1,O.id))}}else l.set($,new go($,Q,f++,O.type,O.id))}for(let O of l.values())(D=ct(O.start,u))==null||D.block(O);let d=/^[\\t\\f\\v ]*[\\-+\\*]\\s(\\[.\\]\\s)?/,m=/^(>?\\s?)*(\\t|\\s)*/g,h=new js.default(void 0,(O,$)=>O-$);for(let O of t.listItems||[]){let $=s.slice(O.position.start.line,O.position.end.line+1).join(`\n`),Q=$==null?void 0:$.match(Kf),ie,De;Q&&(ie=Q[1],De=Q[3]);let Re=new bo(O.position.start.line,O.position.end.line+1,O.parent,ie,O.id,O.task,De);h.set(Re.start,Re)}for(let O of h.values())if(O.parentLine<0){let $=l.get(-O.parentLine);if(!$||$.type!=="list")continue;$.items.push(O)}else(T=h.get(O.parentLine))==null||T.elements.push(O);for(let O of(I=t.tags)!=null?I:[]){let $=O.tag.startsWith("#")?O.tag:"#"+O.tag,Q=O.position.start.line;i.tag($),(N=ct(Q,u))==null||N.metadata.tag($),(y=ct(Q,l))==null||y.metadata.tag($),(w=ct(Q,h))==null||w.metadata.tag($)}if(t.frontmatter)for(let O of Wf(t.frontmatter)){let $=O.startsWith("#")?O:"#"+O;i.tag($)}for(let O of(v=t.links)!=null?v:[]){let $=Oe.infer(O.link),Q=O.position.start.line;i.link($),(x=ct(Q,u))==null||x.metadata.link($),(C=ct(Q,l))==null||C.metadata.link($),(V=ct(Q,h))==null||V.metadata.link($)}for(let O of(j=t.frontmatterLinks)!=null?j:[])i.link(Oe.infer(O.link,!1,O.displayText));for(let O of Eo(s)){let $=O.position.line;i.inlineField(O),(Y=ct($,u))==null||Y.metadata.inlineField(O),(ee=ct($,l))==null||ee.metadata.inlineField(O),(ue=ct($,h))==null||ue.metadata.inlineField(O)}return o.push(...u.values()),{lines:s,frontmatter:r,metadata:i,sections:o}}function Yu(n,e,t){for(let r=e;r32768||!t.includes("::"))continue;let r=Ju(t);if(r.length>0)for(let s of r)yield $s(s,e);else{let s=zu(t);s&&(yield $s(s,e))}}}function Gu(n){let e={};for(let t of Object.keys(n)){let r=n[t];e[t.toLowerCase()]={key:t,value:_n.json(Rs.literal(r)),raw:r}}return e}function ct(n,e){var r;let t=(r=e.getPairOrNextLower(n))==null?void 0:r[1];if(t&&t.end>=n)return t}function Wf(n){return Object.keys(n).filter(t=>t.toLowerCase()=="tags"||t.toLowerCase()=="tag").map(t=>Qu(n[t],/[,\\s]+/)).reduce((t,r)=>t.concat(r),[]).map(t=>t.startsWith("#")?t:"#"+t)}function Qu(n,e){return n==null||n==null?[]:Array.isArray(n)?n.filter(t=>!!t).map(t=>Qu(t,e)).reduce((t,r)=>t.concat(r),[]):(""+n).split(e).filter(t=>!!t).map(t=>t.trim()).filter(t=>t.length>0)}var $e=class{constructor(){this.tags=new Set;this.links=[];this.inlineFields={}}tag(e){this.tags.add(e)}link(e){this.links.find(t=>t.equals(e))||this.links.push(e)}inlineField(e){let t=e.key.toLowerCase();Object.keys(this.inlineFields).some(r=>r.toLowerCase()==t)||(this.inlineFields[t]=e)}finishTags(){return Array.from(this.tags)}finishLinks(){return this.links.map(e=>e.toObject())}finishInlineFields(){return Gt(this.inlineFields,Wu)}},po=class{constructor(e,t,r,s,i,o){this.path=e;this.stats=t;this.length=r;this.metadata=s;this.sections=i;this.frontmatter=o}build(){return{$path:this.path,$ctime:this.stats.ctime,$mtime:this.stats.mtime,$size:this.stats.size,$extension:Va(this.path),$position:{start:0,end:this.length},$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$infields:this.metadata.finishInlineFields(),$sections:this.sections.map(e=>e.build()),$frontmatter:this.frontmatter}}},_r=class{constructor(e,t,r,s,i){this.start=e;this.end=t;this.title=r;this.level=s;this.ordinal=i;this.blocks=[];this.metadata=new $e}block(e){this.blocks.push(e)}build(){return{$title:this.title,$ordinal:this.ordinal,$level:this.level,$tags:this.metadata.finishTags(),$infields:this.metadata.finishInlineFields(),$links:this.metadata.finishLinks(),$position:{start:this.start,end:this.end},$blocks:this.blocks.map(e=>e.build())}}},Do=class{constructor(e,t,r,s){this.start=e;this.end=t;this.ordinal=r;this.blockId=s;this.type="list";this.metadata=new $e;this.items=[]}build(){return{$ordinal:this.ordinal,$position:{start:this.start,end:this.end},$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$type:"list",$blockId:this.blockId,$elements:this.items.map(e=>e.build())}}},qs=class{constructor(e,t,r,s,i,o,a,u){this.start=e;this.end=t;this.ordinal=r;this.languages=s;this.style=i;this.contentStart=o;this.contentEnd=a;this.blockId=u;this.type="codeblock";this.metadata=new $e}build(){return{$type:"codeblock",$ordinal:this.ordinal,$position:{start:this.start,end:this.end},$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$blockId:this.blockId,$languages:this.languages,$style:this.style,$contentPosition:{start:this.contentStart,end:this.contentEnd}}}},yo=class{constructor(e,t,r,s,i){this.start=e;this.end=t;this.ordinal=r;this.data=s;this.blockId=i;this.type="datablock";this.metadata=new $e}build(){return{$type:"datablock",$ordinal:this.ordinal,$position:{start:this.start,end:this.end},$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$blockId:this.blockId,$data:this.data}}},go=class{constructor(e,t,r,s,i){this.start=e;this.end=t;this.ordinal=r;this.type=s;this.blockId=i;this.metadata=new $e}build(){return{$type:this.type,$ordinal:this.ordinal,$position:{start:this.start,end:this.end},$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$blockId:this.blockId}}},bo=class{constructor(e,t,r,s,i,o,a){this.start=e;this.end=t;this.parentLine=r;this.symbol=s;this.blockId=i;this.status=o;this.text=a;this.metadata=new $e;this.elements=[]}build(){return{$parentLine:this.parentLine,$position:{start:this.start,end:this.end},$blockId:this.blockId,$elements:this.elements.map(e=>e.build()),$type:this.status?"task":"list",$infields:this.metadata.finishInlineFields(),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$status:this.status,$symbol:this.symbol,$text:this.text}}};function Xu(n,e,t,r){var o;let s=new To(n,r),i=JSON.parse(e);for(let a of i.nodes)if(a.type!="group")if(a.type=="text"){let{frontmatter:u,metadata:l,lines:f,sections:d}=Fo(n,a.text,t.caches[a.id]),m=new Vs(n,a.id,a,u);d.forEach(h=>m.section(h)),s.card(m);for(let h in l.tags)s.metadata.tag(h);for(let h of(o=l.links)!=null?o:[])s.metadata.link(h);for(let h of Eo(f))s.metadata.inlineField(h)}else{let u=new Vs(n,a.id,a);s.card(u)}return s.build()}var wo=class{constructor(e,t,r){this.path=e;this.id=t;this.nodeJson=r;this.metadata=new $e}build(){return{$file:this.path,$id:this.id,$position:{x:this.nodeJson.x,y:this.nodeJson.y},$dimensions:{width:this.nodeJson.width,height:this.nodeJson.height},$color:this.nodeJson.color,$link:Oe.file(this.path).withBlock(this.id).toObject()}}},Vs=class extends wo{constructor(t,r,s,i){super(t,r,s);this.path=t;this.id=r;this.nodeJson=s;this.frontmatter=i;this.sections=[]}section(t){return this.sections.push(t),t}build(){switch(this.nodeJson.type){case"text":return ye(R({},super.build()),{$infields:this.metadata.finishInlineFields(),$frontmatter:this.frontmatter,$sections:this.sections.map(t=>t.build()),$tags:this.metadata.finishTags(),$links:this.metadata.finishLinks(),$type:"text-card",$color:this.nodeJson.color});case"file":return ye(R({},super.build()),{$linkedFile:this.nodeJson.file});case"link":return ye(R({},super.build()),{$url:this.nodeJson.url})}}},To=class{constructor(e,t){this.path=e;this.stats=t;this.cards=[];this.metadata=new $e}card(e){return this.cards.push(e),e}build(){return{$cards:this.cards.map(e=>e.build()),$ctime:this.stats.ctime,$mtime:this.stats.mtime,$infields:this.metadata.finishInlineFields(),$links:this.metadata.finishLinks(),$tags:this.metadata.finishTags(),$path:this.path,$size:this.stats.size}}};onmessage=async n=>{try{let e=n.data;if(e.type==="markdown"){let t=Zu(e.path,e.contents,e.metadata,e.stat);postMessage({type:"markdown",result:t})}else if(e.type==="canvas"){let t=Xu(e.path,e.contents,e.index,e.stat);postMessage({type:"canvas",result:t})}else postMessage({$error:"Unsupported import method."})}catch(e){console.error(`Datacore Indexer failed to index ${n.data.path}: ${e}`),postMessage({$error:e.message})}};\n//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vcGFyc2ltbW9uL2J1aWxkL3BhcnNpbW1vbi51bWQubWluLmpzIiwgIi4uLy4uL3NvcnRlZC1idHJlZS9iK3RyZWUuanMiLCAiLi4vLi4vbHV4b24vc3JjL2Vycm9ycy5qcyIsICIuLi8uLi9sdXhvbi9zcmMvaW1wbC9mb3JtYXRzLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL3V0aWwuanMiLCAiLi4vLi4vbHV4b24vc3JjL2ltcGwvZW5nbGlzaC5qcyIsICIuLi8uLi9sdXhvbi9zcmMvaW1wbC9mb3JtYXR0ZXIuanMiLCAiLi4vLi4vbHV4b24vc3JjL2ltcGwvaW52YWxpZC5qcyIsICIuLi8uLi9sdXhvbi9zcmMvem9uZS5qcyIsICIuLi8uLi9sdXhvbi9zcmMvem9uZXMvc3lzdGVtWm9uZS5qcyIsICIuLi8uLi9sdXhvbi9zcmMvem9uZXMvSUFOQVpvbmUuanMiLCAiLi4vLi4vbHV4b24vc3JjL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qcyIsICIuLi8uLi9sdXhvbi9zcmMvem9uZXMvaW52YWxpZFpvbmUuanMiLCAiLi4vLi4vbHV4b24vc3JjL2ltcGwvem9uZVV0aWwuanMiLCAiLi4vLi4vbHV4b24vc3JjL3NldHRpbmdzLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL2xvY2FsZS5qcyIsICIuLi8uLi9sdXhvbi9zcmMvaW1wbC9yZWdleFBhcnNlci5qcyIsICIuLi8uLi9sdXhvbi9zcmMvZHVyYXRpb24uanMiLCAiLi4vLi4vbHV4b24vc3JjL2ludGVydmFsLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbmZvLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL2RpZmYuanMiLCAiLi4vLi4vbHV4b24vc3JjL2ltcGwvZGlnaXRzLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL3Rva2VuUGFyc2VyLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9pbXBsL2NvbnZlcnNpb25zLmpzIiwgIi4uLy4uL2x1eG9uL3NyYy9kYXRldGltZS5qcyIsICIuLi8uLi8uLi9zcmMvdXRpbHMvbm9ybWFsaXplcnMudHMiLCAiLi4vLi4vZW1vamktcmVnZXgvaW5kZXgubWpzIiwgIi4uLy4uLy4uL3NyYy9leHByZXNzaW9uL2xpbmsudHMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvaWRlbnRpdHkuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvdmlzaXQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvZG9jL2RpcmVjdGl2ZXMuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvZG9jL2FuY2hvcnMuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvZG9jL2FwcGx5UmV2aXZlci5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9ub2Rlcy90b0pTLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L25vZGVzL05vZGUuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvQWxpYXMuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvU2NhbGFyLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2RvYy9jcmVhdGVOb2RlLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L25vZGVzL0NvbGxlY3Rpb24uanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeUNvbW1lbnQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc3RyaW5naWZ5L2ZvbGRGbG93TGluZXMuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeVN0cmluZy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zdHJpbmdpZnkvc3RyaW5naWZ5LmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3N0cmluZ2lmeS9zdHJpbmdpZnlQYWlyLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2xvZy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvbWVyZ2UuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvYWRkUGFpclRvSlNNYXAuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvbm9kZXMvUGFpci5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zdHJpbmdpZnkvc3RyaW5naWZ5Q29sbGVjdGlvbi5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9ub2Rlcy9ZQU1MTWFwLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS9jb21tb24vbWFwLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L25vZGVzL1lBTUxTZXEuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL2NvbW1vbi9zZXEuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL2NvbW1vbi9zdHJpbmcuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL2NvbW1vbi9udWxsLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS9jb3JlL2Jvb2wuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeU51bWJlci5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEvY29yZS9mbG9hdC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEvY29yZS9pbnQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL2NvcmUvc2NoZW1hLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS9qc29uL3NjaGVtYS5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvYmluYXJ5LmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS95YW1sLTEuMS9wYWlycy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvb21hcC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvYm9vbC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvZmxvYXQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL3lhbWwtMS4xL2ludC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEveWFtbC0xLjEvc2V0LmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3NjaGVtYS95YW1sLTEuMS90aW1lc3RhbXAuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3Qvc2NoZW1hL3lhbWwtMS4xL3NjaGVtYS5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEvdGFncy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9zY2hlbWEvU2NoZW1hLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3N0cmluZ2lmeS9zdHJpbmdpZnlEb2N1bWVudC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9kb2MvRG9jdW1lbnQuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvZXJyb3JzLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvcmVzb2x2ZS1wcm9wcy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL3V0aWwtY29udGFpbnMtbmV3bGluZS5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL3V0aWwtZmxvdy1pbmRlbnQtY2hlY2suanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvY29tcG9zZS91dGlsLW1hcC1pbmNsdWRlcy5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL3Jlc29sdmUtYmxvY2stbWFwLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvcmVzb2x2ZS1ibG9jay1zZXEuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvY29tcG9zZS9yZXNvbHZlLWVuZC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL3Jlc29sdmUtZmxvdy1jb2xsZWN0aW9uLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvY29tcG9zZS1jb2xsZWN0aW9uLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvcmVzb2x2ZS1ibG9jay1zY2FsYXIuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvY29tcG9zZS9yZXNvbHZlLWZsb3ctc2NhbGFyLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvY29tcG9zZS1zY2FsYXIuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvY29tcG9zZS91dGlsLWVtcHR5LXNjYWxhci1wb3NpdGlvbi5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL2NvbXBvc2Utbm9kZS5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9jb21wb3NlL2NvbXBvc2UtZG9jLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L2NvbXBvc2UvY29tcG9zZXIuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvcGFyc2UvY3N0LXZpc2l0LmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3BhcnNlL2NzdC5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9wYXJzZS9sZXhlci5qcyIsICIuLi8uLi95YW1sL2Jyb3dzZXIvZGlzdC9wYXJzZS9saW5lLWNvdW50ZXIuanMiLCAiLi4vLi4veWFtbC9icm93c2VyL2Rpc3QvcGFyc2UvcGFyc2VyLmpzIiwgIi4uLy4uL3lhbWwvYnJvd3Nlci9kaXN0L3B1YmxpYy1hcGkuanMiLCAiLi4vLi4vLi4vc3JjL2luZGV4L2ltcG9ydC9tYXJrZG93bi50cyIsICIuLi8uLi8uLi9zcmMvZXhwcmVzc2lvbi9wYXJzZXIudHMiLCAiLi4vLi4vLi4vc3JjL2V4cHJlc3Npb24vbGl0ZXJhbC50cyIsICIuLi8uLi8uLi9zcmMvYXBpL3Jlc3VsdC50cyIsICIuLi8uLi8uLi9zcmMvZXhwcmVzc2lvbi9maWx0ZXJzLnRzIiwgIi4uLy4uLy4uL3NyYy9leHByZXNzaW9uL2V4cHJlc3Npb24udHMiLCAiLi4vLi4vLi4vc3JjL2luZGV4L2ltcG9ydC9pbmxpbmUtZmllbGQudHMiLCAiLi4vLi4vLi4vc3JjL3V0aWxzL2RhdGEudHMiLCAiLi4vLi4vLi4vc3JjL2luZGV4L3R5cGVzL2pzb24vY29tbW9uLnRzIiwgIi4uLy4uLy4uL3NyYy9pbmRleC90eXBlcy95YW1sLnRzIiwgIi4uLy4uLy4uL3NyYy9pbmRleC9pbXBvcnQvY2FudmFzLnRzIiwgIi4uLy4uLy4uL3NyYy9pbmRleC93ZWItd29ya2VyL2ltcG9ydGVyLndvcmtlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiIWZ1bmN0aW9uKG4sdCl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5QYXJzaW1tb249dCgpOm4uUGFyc2ltbW9uPXQoKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciB0PXt9O2Z1bmN0aW9uIHIoZSl7aWYodFtlXSlyZXR1cm4gdFtlXS5leHBvcnRzO3ZhciB1PXRbZV09e2k6ZSxsOiExLGV4cG9ydHM6e319O3JldHVybiBuW2VdLmNhbGwodS5leHBvcnRzLHUsdS5leHBvcnRzLHIpLHUubD0hMCx1LmV4cG9ydHN9cmV0dXJuIHIubT1uLHIuYz10LHIuZD1mdW5jdGlvbihuLHQsZSl7ci5vKG4sdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHQse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiEwLGdldDplfSl9LHIucj1mdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobixcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KX0sci5uPWZ1bmN0aW9uKG4pe3ZhciB0PW4mJm4uX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBuLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIG59O3JldHVybiByLmQodCxcImFcIix0KSx0fSxyLm89ZnVuY3Rpb24obix0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCl9LHIucD1cIlwiLHIoci5zPTApfShbZnVuY3Rpb24obix0LHIpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGUobil7aWYoISh0aGlzIGluc3RhbmNlb2YgZSkpcmV0dXJuIG5ldyBlKG4pO3RoaXMuXz1ufXZhciB1PWUucHJvdG90eXBlO2Z1bmN0aW9uIG8obix0KXtmb3IodmFyIHI9MDtyPG47cisrKXQocil9ZnVuY3Rpb24gaShuLHQscil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7byh0Lmxlbmd0aCxmdW5jdGlvbihyKXtuKHRbcl0scix0KX0pfShmdW5jdGlvbihyLGUsdSl7dD1uKHQscixlLHUpfSxyKSx0fWZ1bmN0aW9uIGEobix0KXtyZXR1cm4gaShmdW5jdGlvbih0LHIsZSx1KXtyZXR1cm4gdC5jb25jYXQoW24ocixlLHUpXSl9LFtdLHQpfWZ1bmN0aW9uIGYobix0KXt2YXIgcj17djowLGJ1Zjp0fTtyZXR1cm4gbyhuLGZ1bmN0aW9uKCl7dmFyIG47cj17djpyLnY8PDF8KG49ci5idWYsblswXT4+NyksYnVmOmZ1bmN0aW9uKG4pe3ZhciB0PWkoZnVuY3Rpb24obix0LHIsZSl7cmV0dXJuIG4uY29uY2F0KHI9PT1lLmxlbmd0aC0xP0J1ZmZlci5mcm9tKFt0LDBdKS5yZWFkVUludDE2QkUoMCk6ZS5yZWFkVUludDE2QkUocikpfSxbXSxuKTtyZXR1cm4gQnVmZmVyLmZyb20oYShmdW5jdGlvbihuKXtyZXR1cm4objw8MSY2NTUzNSk+Pjh9LHQpKX0oci5idWYpfX0pLHJ9ZnVuY3Rpb24gYygpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBCdWZmZXJ9ZnVuY3Rpb24gcygpe2lmKCFjKCkpdGhyb3cgbmV3IEVycm9yKFwiQnVmZmVyIGdsb2JhbCBkb2VzIG5vdCBleGlzdDsgcGxlYXNlIHVzZSB3ZWJwYWNrIGlmIHlvdSBuZWVkIHRvIHBhcnNlIEJ1ZmZlcnMgaW4gdGhlIGJyb3dzZXIuXCIpfWZ1bmN0aW9uIGwobil7cygpO3ZhciB0PWkoZnVuY3Rpb24obix0KXtyZXR1cm4gbit0fSwwLG4pO2lmKHQlOCE9MCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYml0cyBbXCIrbi5qb2luKFwiLCBcIikrXCJdIGFkZCB1cCB0byBcIit0K1wiIHdoaWNoIGlzIG5vdCBhbiBldmVuIG51bWJlciBvZiBieXRlczsgdGhlIHRvdGFsIHNob3VsZCBiZSBkaXZpc2libGUgYnkgOFwiKTt2YXIgcix1PXQvOCxvPShyPWZ1bmN0aW9uKG4pe3JldHVybiBuPjQ4fSxpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG58fChyKHQpP3Q6bil9LG51bGwsbikpO2lmKG8pdGhyb3cgbmV3IEVycm9yKG8rXCIgYml0IHJhbmdlIHJlcXVlc3RlZCBleGNlZWRzIDQ4IGJpdCAoNiBieXRlKSBOdW1iZXIgbWF4LlwiKTtyZXR1cm4gbmV3IGUoZnVuY3Rpb24odCxyKXt2YXIgZT11K3I7cmV0dXJuIGU+dC5sZW5ndGg/eChyLHUudG9TdHJpbmcoKStcIiBieXRlc1wiKTpiKGUsaShmdW5jdGlvbihuLHQpe3ZhciByPWYodCxuLmJ1Zik7cmV0dXJue2NvbGw6bi5jb2xsLmNvbmNhdChyLnYpLGJ1ZjpyLmJ1Zn19LHtjb2xsOltdLGJ1Zjp0LnNsaWNlKHIsZSl9LG4pLmNvbGwpfSl9ZnVuY3Rpb24gaChuLHQpe3JldHVybiBuZXcgZShmdW5jdGlvbihyLGUpe3JldHVybiBzKCksZSt0PnIubGVuZ3RoP3goZSx0K1wiIGJ5dGVzIGZvciBcIituKTpiKGUrdCxyLnNsaWNlKGUsZSt0KSl9KX1mdW5jdGlvbiBwKG4sdCl7aWYoXCJudW1iZXJcIiE9dHlwZW9mKHI9dCl8fE1hdGguZmxvb3IocikhPT1yfHx0PDB8fHQ+Nil0aHJvdyBuZXcgRXJyb3IobitcIiByZXF1aXJlcyBpbnRlZ2VyIGxlbmd0aCBpbiByYW5nZSBbMCwgNl0uXCIpO3ZhciByfWZ1bmN0aW9uIGQobil7cmV0dXJuIHAoXCJ1aW50QkVcIixuKSxoKFwidWludEJFKFwiK24rXCIpXCIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50QkUoMCxuKX0pfWZ1bmN0aW9uIHYobil7cmV0dXJuIHAoXCJ1aW50TEVcIixuKSxoKFwidWludExFKFwiK24rXCIpXCIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50TEUoMCxuKX0pfWZ1bmN0aW9uIGcobil7cmV0dXJuIHAoXCJpbnRCRVwiLG4pLGgoXCJpbnRCRShcIituK1wiKVwiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50QkUoMCxuKX0pfWZ1bmN0aW9uIG0obil7cmV0dXJuIHAoXCJpbnRMRVwiLG4pLGgoXCJpbnRMRShcIituK1wiKVwiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50TEUoMCxuKX0pfWZ1bmN0aW9uIHkobil7cmV0dXJuIG4gaW5zdGFuY2VvZiBlfWZ1bmN0aW9uIEUobil7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09e30udG9TdHJpbmcuY2FsbChuKX1mdW5jdGlvbiB3KG4pe3JldHVybiBjKCkmJkJ1ZmZlci5pc0J1ZmZlcihuKX1mdW5jdGlvbiBiKG4sdCl7cmV0dXJue3N0YXR1czohMCxpbmRleDpuLHZhbHVlOnQsZnVydGhlc3Q6LTEsZXhwZWN0ZWQ6W119fWZ1bmN0aW9uIHgobix0KXtyZXR1cm4gRSh0KXx8KHQ9W3RdKSx7c3RhdHVzOiExLGluZGV4Oi0xLHZhbHVlOm51bGwsZnVydGhlc3Q6bixleHBlY3RlZDp0fX1mdW5jdGlvbiBCKG4sdCl7aWYoIXQpcmV0dXJuIG47aWYobi5mdXJ0aGVzdD50LmZ1cnRoZXN0KXJldHVybiBuO3ZhciByPW4uZnVydGhlc3Q9PT10LmZ1cnRoZXN0P2Z1bmN0aW9uKG4sdCl7aWYoZnVuY3Rpb24oKXtpZih2b2lkIDAhPT1lLl9zdXBwb3J0c1NldClyZXR1cm4gZS5fc3VwcG9ydHNTZXQ7dmFyIG49XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFNldDtyZXR1cm4gZS5fc3VwcG9ydHNTZXQ9bixufSgpJiZBcnJheS5mcm9tKXtmb3IodmFyIHI9bmV3IFNldChuKSx1PTA7dTx0Lmxlbmd0aDt1Kyspci5hZGQodFt1XSk7dmFyIG89QXJyYXkuZnJvbShyKTtyZXR1cm4gby5zb3J0KCksb31mb3IodmFyIGk9e30sYT0wO2E8bi5sZW5ndGg7YSsrKWlbblthXV09ITA7Zm9yKHZhciBmPTA7Zjx0Lmxlbmd0aDtmKyspaVt0W2ZdXT0hMDt2YXIgYz1bXTtmb3IodmFyIHMgaW4gaSkoe30pLmhhc093blByb3BlcnR5LmNhbGwoaSxzKSYmYy5wdXNoKHMpO3JldHVybiBjLnNvcnQoKSxjfShuLmV4cGVjdGVkLHQuZXhwZWN0ZWQpOnQuZXhwZWN0ZWQ7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxpbmRleDpuLmluZGV4LHZhbHVlOm4udmFsdWUsZnVydGhlc3Q6dC5mdXJ0aGVzdCxleHBlY3RlZDpyfX12YXIgaj17fTtmdW5jdGlvbiBTKG4sdCl7aWYodyhuKSlyZXR1cm57b2Zmc2V0OnQsbGluZTotMSxjb2x1bW46LTF9O24gaW4ganx8KGpbbl09e30pO2Zvcih2YXIgcj1qW25dLGU9MCx1PTAsbz0wLGk9dDtpPj0wOyl7aWYoaSBpbiByKXtlPXJbaV0ubGluZSwwPT09byYmKG89cltpXS5saW5lU3RhcnQpO2JyZWFrfShcIlxcblwiPT09bi5jaGFyQXQoaSl8fFwiXFxyXCI9PT1uLmNoYXJBdChpKSYmXCJcXG5cIiE9PW4uY2hhckF0KGkrMSkpJiYodSsrLDA9PT1vJiYobz1pKzEpKSxpLS19dmFyIGE9ZSt1LGY9dC1vO3JldHVybiByW3RdPXtsaW5lOmEsbGluZVN0YXJ0Om99LHtvZmZzZXQ6dCxsaW5lOmErMSxjb2x1bW46ZisxfX1mdW5jdGlvbiBfKG4pe2lmKCF5KG4pKXRocm93IG5ldyBFcnJvcihcIm5vdCBhIHBhcnNlcjogXCIrbil9ZnVuY3Rpb24gTChuLHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBuP24uY2hhckF0KHQpOm5bdF19ZnVuY3Rpb24gTyhuKXtpZihcIm51bWJlclwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBudW1iZXI6IFwiK24pfWZ1bmN0aW9uIGsobil7aWYoXCJmdW5jdGlvblwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBmdW5jdGlvbjogXCIrbil9ZnVuY3Rpb24gUChuKXtpZihcInN0cmluZ1wiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBzdHJpbmc6IFwiK24pfXZhciBxPTIsQT0zLEk9OCxGPTUqSSxNPTQqSSx6PVwiICBcIjtmdW5jdGlvbiBSKG4sdCl7cmV0dXJuIG5ldyBBcnJheSh0KzEpLmpvaW4obil9ZnVuY3Rpb24gVShuLHQscil7dmFyIGU9dC1uLmxlbmd0aDtyZXR1cm4gZTw9MD9uOlIocixlKStufWZ1bmN0aW9uIFcobix0LHIsZSl7cmV0dXJue2Zyb206bi10PjA/bi10OjAsdG86bityPmU/ZTpuK3J9fWZ1bmN0aW9uIEQobix0KXt2YXIgcixlLHUsbyxmLGM9dC5pbmRleCxzPWMub2Zmc2V0LGw9MTtpZihzPT09bi5sZW5ndGgpcmV0dXJuXCJHb3QgdGhlIGVuZCBvZiB0aGUgaW5wdXRcIjtpZih3KG4pKXt2YXIgaD1zLXMlSSxwPXMtaCxkPVcoaCxGLE0rSSxuLmxlbmd0aCksdj1hKGZ1bmN0aW9uKG4pe3JldHVybiBhKGZ1bmN0aW9uKG4pe3JldHVybiBVKG4udG9TdHJpbmcoMTYpLDIsXCIwXCIpfSxuKX0sZnVuY3Rpb24obix0KXt2YXIgcj1uLmxlbmd0aCxlPVtdLHU9MDtpZihyPD10KXJldHVybltuLnNsaWNlKCldO2Zvcih2YXIgbz0wO288cjtvKyspZVt1XXx8ZS5wdXNoKFtdKSxlW3VdLnB1c2gobltvXSksKG8rMSkldD09MCYmdSsrO3JldHVybiBlfShuLnNsaWNlKGQuZnJvbSxkLnRvKS50b0pTT04oKS5kYXRhLEkpKTtvPWZ1bmN0aW9uKG4pe3JldHVybiAwPT09bi5mcm9tJiYxPT09bi50bz97ZnJvbTpuLmZyb20sdG86bi50b306e2Zyb206bi5mcm9tL0ksdG86TWF0aC5mbG9vcihuLnRvL0kpfX0oZCksZT1oL0kscj0zKnAscD49NCYmKHIrPTEpLGw9Mix1PWEoZnVuY3Rpb24obil7cmV0dXJuIG4ubGVuZ3RoPD00P24uam9pbihcIiBcIik6bi5zbGljZSgwLDQpLmpvaW4oXCIgXCIpK1wiICBcIituLnNsaWNlKDQpLmpvaW4oXCIgXCIpfSx2KSwoZj0oOCooby50bz4wP28udG8tMTpvLnRvKSkudG9TdHJpbmcoMTYpLmxlbmd0aCk8MiYmKGY9Mil9ZWxzZXt2YXIgZz1uLnNwbGl0KC9cXHJcXG58W1xcblxcclxcdTIwMjhcXHUyMDI5XS8pO3I9Yy5jb2x1bW4tMSxlPWMubGluZS0xLG89VyhlLHEsQSxnLmxlbmd0aCksdT1nLnNsaWNlKG8uZnJvbSxvLnRvKSxmPW8udG8udG9TdHJpbmcoKS5sZW5ndGh9dmFyIG09ZS1vLmZyb207cmV0dXJuIHcobikmJihmPSg4KihvLnRvPjA/by50by0xOm8udG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoZj0yKSxpKGZ1bmN0aW9uKHQsZSx1KXt2YXIgaSxhPXU9PT1tLGM9YT9cIj4gXCI6ejtyZXR1cm4gaT13KG4pP1UoKDgqKG8uZnJvbSt1KSkudG9TdHJpbmcoMTYpLGYsXCIwXCIpOlUoKG8uZnJvbSt1KzEpLnRvU3RyaW5nKCksZixcIiBcIiksW10uY29uY2F0KHQsW2MraStcIiB8IFwiK2VdLGE/W3orUihcIiBcIixmKStcIiB8IFwiK1UoXCJcIixyLFwiIFwiKStSKFwiXlwiLGwpXTpbXSl9LFtdLHUpLmpvaW4oXCJcXG5cIil9ZnVuY3Rpb24gTihuLHQpe3JldHVybltcIlxcblwiLFwiLS0gUEFSU0lORyBGQUlMRUQgXCIrUihcIi1cIiw1MCksXCJcXG5cXG5cIixEKG4sdCksXCJcXG5cXG5cIiwocj10LmV4cGVjdGVkLDE9PT1yLmxlbmd0aD9cIkV4cGVjdGVkOlxcblxcblwiK3JbMF06XCJFeHBlY3RlZCBvbmUgb2YgdGhlIGZvbGxvd2luZzogXFxuXFxuXCIrci5qb2luKFwiLCBcIikpLFwiXFxuXCJdLmpvaW4oXCJcIik7dmFyIHJ9ZnVuY3Rpb24gRyhuKXtyZXR1cm4gdm9pZCAwIT09bi5mbGFncz9uLmZsYWdzOltuLmdsb2JhbD9cImdcIjpcIlwiLG4uaWdub3JlQ2FzZT9cImlcIjpcIlwiLG4ubXVsdGlsaW5lP1wibVwiOlwiXCIsbi51bmljb2RlP1widVwiOlwiXCIsbi5zdGlja3k/XCJ5XCI6XCJcIl0uam9pbihcIlwiKX1mdW5jdGlvbiBDKCl7Zm9yKHZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSx0PW4ubGVuZ3RoLHI9MDtyPHQ7cis9MSlfKG5bcl0pO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7Zm9yKHZhciB1LG89bmV3IEFycmF5KHQpLGk9MDtpPHQ7aSs9MSl7aWYoISh1PUIobltpXS5fKHIsZSksdSkpLnN0YXR1cylyZXR1cm4gdTtvW2ldPXUudmFsdWUsZT11LmluZGV4fXJldHVybiBCKGIoZSxvKSx1KX0pfWZ1bmN0aW9uIEooKXt2YXIgbj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoMD09PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihcInNlcU1hcCBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnRcIik7dmFyIHQ9bi5wb3AoKTtyZXR1cm4gayh0KSxDLmFwcGx5KG51bGwsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LmFwcGx5KG51bGwsbil9KX1mdW5jdGlvbiBUKCl7dmFyIG49W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLHQ9bi5sZW5ndGg7aWYoMD09PXQpcmV0dXJuIFkoXCJ6ZXJvIGFsdGVybmF0ZXNcIik7Zm9yKHZhciByPTA7cjx0O3IrPTEpXyhuW3JdKTtyZXR1cm4gZShmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSx1PTA7dTxuLmxlbmd0aDt1Kz0xKWlmKChlPUIoblt1XS5fKHQsciksZSkpLnN0YXR1cylyZXR1cm4gZTtyZXR1cm4gZX0pfWZ1bmN0aW9uIFYobix0KXtyZXR1cm4gSChuLHQpLm9yKFgoW10pKX1mdW5jdGlvbiBIKG4sdCl7cmV0dXJuIF8obiksXyh0KSxKKG4sdC50aGVuKG4pLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybltuXS5jb25jYXQodCl9KX1mdW5jdGlvbiBLKG4pe1Aobik7dmFyIHQ9XCInXCIrbitcIidcIjtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PWUrbi5sZW5ndGgsbz1yLnNsaWNlKGUsdSk7cmV0dXJuIG89PT1uP2IodSxvKTp4KGUsdCl9KX1mdW5jdGlvbiBRKG4sdCl7IWZ1bmN0aW9uKG4pe2lmKCEobiBpbnN0YW5jZW9mIFJlZ0V4cCkpdGhyb3cgbmV3IEVycm9yKFwibm90IGEgcmVnZXhwOiBcIituKTtmb3IodmFyIHQ9RyhuKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBlPXQuY2hhckF0KHIpO2lmKFwiaVwiIT09ZSYmXCJtXCIhPT1lJiZcInVcIiE9PWUmJlwic1wiIT09ZSl0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHJlZ2V4cCBmbGFnIFwiJytlKydcIjogJytuKX19KG4pLGFyZ3VtZW50cy5sZW5ndGg+PTI/Tyh0KTp0PTA7dmFyIHI9ZnVuY3Rpb24obil7cmV0dXJuIFJlZ0V4cChcIl4oPzpcIituLnNvdXJjZStcIilcIixHKG4pKX0obiksdT1cIlwiK247cmV0dXJuIGUoZnVuY3Rpb24obixlKXt2YXIgbz1yLmV4ZWMobi5zbGljZShlKSk7aWYobyl7aWYoMDw9dCYmdDw9by5sZW5ndGgpe3ZhciBpPW9bMF0sYT1vW3RdO3JldHVybiBiKGUraS5sZW5ndGgsYSl9cmV0dXJuIHgoZSxcInZhbGlkIG1hdGNoIGdyb3VwICgwIHRvIFwiK28ubGVuZ3RoK1wiKSBpbiBcIit1KX1yZXR1cm4geChlLHUpfSl9ZnVuY3Rpb24gWChuKXtyZXR1cm4gZShmdW5jdGlvbih0LHIpe3JldHVybiBiKHIsbil9KX1mdW5jdGlvbiBZKG4pe3JldHVybiBlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHgocixuKX0pfWZ1bmN0aW9uIFoobil7aWYoeShuKSlyZXR1cm4gZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpO3JldHVybiBlLmluZGV4PXIsZS52YWx1ZT1cIlwiLGV9KTtpZihcInN0cmluZ1wiPT10eXBlb2YgbilyZXR1cm4gWihLKG4pKTtpZihuIGluc3RhbmNlb2YgUmVnRXhwKXJldHVybiBaKFEobikpO3Rocm93IG5ldyBFcnJvcihcIm5vdCBhIHN0cmluZywgcmVnZXhwLCBvciBwYXJzZXI6IFwiK24pfWZ1bmN0aW9uICQobil7cmV0dXJuIF8obiksZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpLHU9dC5zbGljZShyLGUuaW5kZXgpO3JldHVybiBlLnN0YXR1cz94KHIsJ25vdCBcIicrdSsnXCInKTpiKHIsbnVsbCl9KX1mdW5jdGlvbiBubihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7dmFyIGU9TCh0LHIpO3JldHVybiByPHQubGVuZ3RoJiZuKGUpP2IocisxLGUpOngocixcImEgY2hhcmFjdGVyL2J5dGUgbWF0Y2hpbmcgXCIrbil9KX1mdW5jdGlvbiB0bihuLHQpe2FyZ3VtZW50cy5sZW5ndGg8MiYmKHQ9bixuPXZvaWQgMCk7dmFyIHI9ZShmdW5jdGlvbihuLGUpe3JldHVybiByLl89dCgpLl8sci5fKG4sZSl9KTtyZXR1cm4gbj9yLmRlc2Mobik6cn1mdW5jdGlvbiBybigpe3JldHVybiBZKFwiZmFudGFzeS1sYW5kL2VtcHR5XCIpfXUucGFyc2U9ZnVuY3Rpb24obil7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIG4mJiF3KG4pKXRocm93IG5ldyBFcnJvcihcIi5wYXJzZSBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIG9yIEJ1ZmZlciBhcyBpdHMgYXJndW1lbnRcIik7dmFyIHQscj10aGlzLnNraXAoYW4pLl8obiwwKTtyZXR1cm4gdD1yLnN0YXR1cz97c3RhdHVzOiEwLHZhbHVlOnIudmFsdWV9OntzdGF0dXM6ITEsaW5kZXg6UyhuLHIuZnVydGhlc3QpLGV4cGVjdGVkOnIuZXhwZWN0ZWR9LGRlbGV0ZSBqW25dLHR9LHUudHJ5UGFyc2U9ZnVuY3Rpb24obil7dmFyIHQ9dGhpcy5wYXJzZShuKTtpZih0LnN0YXR1cylyZXR1cm4gdC52YWx1ZTt2YXIgcj1OKG4sdCksZT1uZXcgRXJyb3Iocik7dGhyb3cgZS50eXBlPVwiUGFyc2ltbW9uRXJyb3JcIixlLnJlc3VsdD10LGV9LHUuYXNzZXJ0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHRoaXMuY2hhaW4oZnVuY3Rpb24ocil7cmV0dXJuIG4ocik/WChyKTpZKHQpfSl9LHUub3I9ZnVuY3Rpb24obil7cmV0dXJuIFQodGhpcyxuKX0sdS50cmltPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLndyYXAobixuKX0sdS53cmFwPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEoobix0aGlzLHQsZnVuY3Rpb24obix0KXtyZXR1cm4gdH0pfSx1LnRocnU9ZnVuY3Rpb24obil7cmV0dXJuIG4odGhpcyl9LHUudGhlbj1mdW5jdGlvbihuKXtyZXR1cm4gXyhuKSxDKHRoaXMsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSl9LHUubWFueT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9W10sdT12b2lkIDA7Oyl7aWYoISh1PUIobi5fKHQsciksdSkpLnN0YXR1cylyZXR1cm4gQihiKHIsZSksdSk7aWYocj09PXUuaW5kZXgpdGhyb3cgbmV3IEVycm9yKFwiaW5maW5pdGUgbG9vcCBkZXRlY3RlZCBpbiAubWFueSgpIHBhcnNlciAtLS0gY2FsbGluZyAubWFueSgpIG9uIGEgcGFyc2VyIHdoaWNoIGNhbiBhY2NlcHQgemVybyBjaGFyYWN0ZXJzIGlzIHVzdWFsbHkgdGhlIGNhdXNlXCIpO3I9dS5pbmRleCxlLnB1c2godS52YWx1ZSl9fSl9LHUudGllV2l0aD1mdW5jdGlvbihuKXtyZXR1cm4gUChuKSx0aGlzLm1hcChmdW5jdGlvbih0KXtpZihmdW5jdGlvbihuKXtpZighRShuKSl0aHJvdyBuZXcgRXJyb3IoXCJub3QgYW4gYXJyYXk6IFwiK24pfSh0KSx0Lmxlbmd0aCl7UCh0WzBdKTtmb3IodmFyIHI9dFswXSxlPTE7ZTx0Lmxlbmd0aDtlKyspUCh0W2VdKSxyKz1uK3RbZV07cmV0dXJuIHJ9cmV0dXJuXCJcIn0pfSx1LnRpZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpZVdpdGgoXCJcIil9LHUudGltZXM9ZnVuY3Rpb24obix0KXt2YXIgcj10aGlzO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDImJih0PW4pLE8obiksTyh0KSxlKGZ1bmN0aW9uKGUsdSl7Zm9yKHZhciBvPVtdLGk9dm9pZCAwLGE9dm9pZCAwLGY9MDtmPG47Zis9MSl7aWYoYT1CKGk9ci5fKGUsdSksYSksIWkuc3RhdHVzKXJldHVybiBhO3U9aS5pbmRleCxvLnB1c2goaS52YWx1ZSl9Zm9yKDtmPHQmJihhPUIoaT1yLl8oZSx1KSxhKSxpLnN0YXR1cyk7Zis9MSl1PWkuaW5kZXgsby5wdXNoKGkudmFsdWUpO3JldHVybiBCKGIodSxvKSxhKX0pfSx1LnJlc3VsdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbn0pfSx1LmF0TW9zdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy50aW1lcygwLG4pfSx1LmF0TGVhc3Q9ZnVuY3Rpb24obil7cmV0dXJuIEoodGhpcy50aW1lcyhuKSx0aGlzLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybiBuLmNvbmNhdCh0KX0pfSx1Lm1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10Ll8ocixlKTtyZXR1cm4gdS5zdGF0dXM/QihiKHUuaW5kZXgsbih1LnZhbHVlKSksdSk6dX0pfSx1LmNvbnRyYW1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10LnBhcnNlKG4oci5zbGljZShlKSkpO3JldHVybiB1LnN0YXR1cz9iKGUrci5sZW5ndGgsdS52YWx1ZSk6dX0pfSx1LnByb21hcD1mdW5jdGlvbihuLHQpe3JldHVybiBrKG4pLGsodCksdGhpcy5jb250cmFtYXAobikubWFwKHQpfSx1LnNraXA9ZnVuY3Rpb24obil7cmV0dXJuIEModGhpcyxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG5bMF19KX0sdS5tYXJrPWZ1bmN0aW9uKCl7cmV0dXJuIEooZW4sdGhpcyxlbixmdW5jdGlvbihuLHQscil7cmV0dXJue3N0YXJ0Om4sdmFsdWU6dCxlbmQ6cn19KX0sdS5ub2RlPWZ1bmN0aW9uKG4pe3JldHVybiBKKGVuLHRoaXMsZW4sZnVuY3Rpb24odCxyLGUpe3JldHVybntuYW1lOm4sdmFsdWU6cixzdGFydDp0LGVuZDplfX0pfSx1LnNlcEJ5PWZ1bmN0aW9uKG4pe3JldHVybiBWKHRoaXMsbil9LHUuc2VwQnkxPWZ1bmN0aW9uKG4pe3JldHVybiBIKHRoaXMsbil9LHUubG9va2FoZWFkPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnNraXAoWihuKSl9LHUubm90Rm9sbG93ZWRCeT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5za2lwKCQobikpfSx1LmRlc2M9ZnVuY3Rpb24obil7RShuKXx8KG49W25dKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzfHwodS5leHBlY3RlZD1uKSx1fSl9LHUuZmFsbGJhY2s9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMub3IoWChuKSl9LHUuYXA9ZnVuY3Rpb24obil7cmV0dXJuIEoobix0aGlzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4odCl9KX0sdS5jaGFpbj1mdW5jdGlvbihuKXt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzP0Iobih1LnZhbHVlKS5fKHIsdS5pbmRleCksdSk6dX0pfSx1LmNvbmNhdD11Lm9yLHUuZW1wdHk9cm4sdS5vZj1YLHVbXCJmYW50YXN5LWxhbmQvYXBcIl09dS5hcCx1W1wiZmFudGFzeS1sYW5kL2NoYWluXCJdPXUuY2hhaW4sdVtcImZhbnRhc3ktbGFuZC9jb25jYXRcIl09dS5jb25jYXQsdVtcImZhbnRhc3ktbGFuZC9lbXB0eVwiXT11LmVtcHR5LHVbXCJmYW50YXN5LWxhbmQvb2ZcIl09dS5vZix1W1wiZmFudGFzeS1sYW5kL21hcFwiXT11Lm1hcDt2YXIgZW49ZShmdW5jdGlvbihuLHQpe3JldHVybiBiKHQsUyhuLHQpKX0pLHVuPWUoZnVuY3Rpb24obix0KXtyZXR1cm4gdD49bi5sZW5ndGg/eCh0LFwiYW55IGNoYXJhY3Rlci9ieXRlXCIpOmIodCsxLEwobix0KSl9KSxvbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGIobi5sZW5ndGgsbi5zbGljZSh0KSl9KSxhbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ8bi5sZW5ndGg/eCh0LFwiRU9GXCIpOmIodCxudWxsKX0pLGZuPVEoL1swLTldLykuZGVzYyhcImEgZGlnaXRcIiksY249USgvWzAtOV0qLykuZGVzYyhcIm9wdGlvbmFsIGRpZ2l0c1wiKSxzbj1RKC9bYS16XS9pKS5kZXNjKFwiYSBsZXR0ZXJcIiksbG49USgvW2Etel0qL2kpLmRlc2MoXCJvcHRpb25hbCBsZXR0ZXJzXCIpLGhuPVEoL1xccyovKS5kZXNjKFwib3B0aW9uYWwgd2hpdGVzcGFjZVwiKSxwbj1RKC9cXHMrLykuZGVzYyhcIndoaXRlc3BhY2VcIiksZG49SyhcIlxcclwiKSx2bj1LKFwiXFxuXCIpLGduPUsoXCJcXHJcXG5cIiksbW49VChnbix2bixkbikuZGVzYyhcIm5ld2xpbmVcIikseW49VChtbixhbik7ZS5hbGw9b24sZS5hbHQ9VCxlLmFueT11bixlLmNyPWRuLGUuY3JlYXRlTGFuZ3VhZ2U9ZnVuY3Rpb24obil7dmFyIHQ9e307Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJmZ1bmN0aW9uKHIpe3Rbcl09dG4oZnVuY3Rpb24oKXtyZXR1cm4gbltyXSh0KX0pfShyKTtyZXR1cm4gdH0sZS5jcmxmPWduLGUuY3VzdG9tPWZ1bmN0aW9uKG4pe3JldHVybiBlKG4oYix4KSl9LGUuZGlnaXQ9Zm4sZS5kaWdpdHM9Y24sZS5lbXB0eT1ybixlLmVuZD15bixlLmVvZj1hbixlLmZhaWw9WSxlLmZvcm1hdEVycm9yPU4sZS5pbmRleD1lbixlLmlzUGFyc2VyPXksZS5sYXp5PXRuLGUubGV0dGVyPXNuLGUubGV0dGVycz1sbixlLmxmPXZuLGUubG9va2FoZWFkPVosZS5tYWtlRmFpbHVyZT14LGUubWFrZVN1Y2Nlc3M9YixlLm5ld2xpbmU9bW4sZS5ub25lT2Y9ZnVuY3Rpb24obil7cmV0dXJuIG5uKGZ1bmN0aW9uKHQpe3JldHVybiBuLmluZGV4T2YodCk8MH0pLmRlc2MoXCJub25lIG9mICdcIituK1wiJ1wiKX0sZS5ub3RGb2xsb3dlZEJ5PSQsZS5vZj1YLGUub25lT2Y9ZnVuY3Rpb24obil7Zm9yKHZhciB0PW4uc3BsaXQoXCJcIikscj0wO3I8dC5sZW5ndGg7cisrKXRbcl09XCInXCIrdFtyXStcIidcIjtyZXR1cm4gbm4oZnVuY3Rpb24odCl7cmV0dXJuIG4uaW5kZXhPZih0KT49MH0pLmRlc2ModCl9LGUub3B0V2hpdGVzcGFjZT1obixlLlBhcnNlcj1lLGUucmFuZ2U9ZnVuY3Rpb24obix0KXtyZXR1cm4gbm4oZnVuY3Rpb24ocil7cmV0dXJuIG48PXImJnI8PXR9KS5kZXNjKG4rXCItXCIrdCl9LGUucmVnZXg9USxlLnJlZ2V4cD1RLGUuc2VwQnk9VixlLnNlcEJ5MT1ILGUuc2VxPUMsZS5zZXFNYXA9SixlLnNlcU9iaj1mdW5jdGlvbigpe2Zvcih2YXIgbix0PXt9LHI9MCx1PShuPWFyZ3VtZW50cyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKSksbz11Lmxlbmd0aCxpPTA7aTxvO2krPTEpe3ZhciBhPXVbaV07aWYoIXkoYSkpe2lmKEUoYSkmJjI9PT1hLmxlbmd0aCYmXCJzdHJpbmdcIj09dHlwZW9mIGFbMF0mJnkoYVsxXSkpe3ZhciBmPWFbMF07aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZikpdGhyb3cgbmV3IEVycm9yKFwic2VxT2JqOiBkdXBsaWNhdGUga2V5IFwiK2YpO3RbZl09ITAscisrO2NvbnRpbnVlfXRocm93IG5ldyBFcnJvcihcInNlcU9iaiBhcmd1bWVudHMgbXVzdCBiZSBwYXJzZXJzIG9yIFtzdHJpbmcsIHBhcnNlcl0gYXJyYXkgcGFpcnMuXCIpfX1pZigwPT09cil0aHJvdyBuZXcgRXJyb3IoXCJzZXFPYmogZXhwZWN0cyBhdCBsZWFzdCBvbmUgbmFtZWQgcGFyc2VyLCBmb3VuZCB6ZXJvXCIpO3JldHVybiBlKGZ1bmN0aW9uKG4sdCl7Zm9yKHZhciByLGU9e30saT0wO2k8bztpKz0xKXt2YXIgYSxmO2lmKEUodVtpXSk/KGE9dVtpXVswXSxmPXVbaV1bMV0pOihhPW51bGwsZj11W2ldKSwhKHI9QihmLl8obix0KSxyKSkuc3RhdHVzKXJldHVybiByO2EmJihlW2FdPXIudmFsdWUpLHQ9ci5pbmRleH1yZXR1cm4gQihiKHQsZSkscil9KX0sZS5zdHJpbmc9SyxlLnN1Y2NlZWQ9WCxlLnRha2VXaGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXI7ZTx0Lmxlbmd0aCYmbihMKHQsZSkpOyllKys7cmV0dXJuIGIoZSx0LnNsaWNlKHIsZSkpfSl9LGUudGVzdD1ubixlLndoaXRlc3BhY2U9cG4sZVtcImZhbnRhc3ktbGFuZC9lbXB0eVwiXT1ybixlW1wiZmFudGFzeS1sYW5kL29mXCJdPVgsZS5CaW5hcnk9e2JpdFNlcTpsLGJpdFNlcU9iajpmdW5jdGlvbihuKXtzKCk7dmFyIHQ9e30scj0wLGU9YShmdW5jdGlvbihuKXtpZihFKG4pKXt2YXIgZT1uO2lmKDIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXCJbXCIrZS5qb2luKFwiLCBcIikrXCJdIHNob3VsZCBiZSBsZW5ndGggMiwgZ290IGxlbmd0aCBcIitlLmxlbmd0aCk7aWYoUChlWzBdKSxPKGVbMV0pLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGVbMF0pKXRocm93IG5ldyBFcnJvcihcImR1cGxpY2F0ZSBrZXkgaW4gYml0U2VxT2JqOiBcIitlWzBdKTtyZXR1cm4gdFtlWzBdXT0hMCxyKyssZX1yZXR1cm4gTyhuKSxbbnVsbCxuXX0sbik7aWYocjwxKXRocm93IG5ldyBFcnJvcihcImJpdFNlcU9iaiBleHBlY3RzIGF0IGxlYXN0IG9uZSBuYW1lZCBwYWlyLCBnb3QgW1wiK24uam9pbihcIiwgXCIpK1wiXVwiKTt2YXIgdT1hKGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdfSxlKTtyZXR1cm4gbChhKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSxlKSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG51bGwhPT10WzBdJiYoblt0WzBdXT10WzFdKSxufSx7fSxhKGZ1bmN0aW9uKHQscil7cmV0dXJuW3QsbltyXV19LHUpKX0pfSxieXRlOmZ1bmN0aW9uKG4pe2lmKHMoKSxPKG4pLG4+MjU1KXRocm93IG5ldyBFcnJvcihcIlZhbHVlIHNwZWNpZmllZCB0byBieXRlIGNvbnN0cnVjdG9yIChcIituK1wiPTB4XCIrbi50b1N0cmluZygxNikrXCIpIGlzIGxhcmdlciBpbiB2YWx1ZSB0aGFuIGEgc2luZ2xlIGJ5dGUuXCIpO3ZhciB0PShuPjE1P1wiMHhcIjpcIjB4MFwiKStuLnRvU3RyaW5nKDE2KTtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PUwocixlKTtyZXR1cm4gdT09PW4/YihlKzEsdSk6eChlLHQpfSl9LGJ1ZmZlcjpmdW5jdGlvbihuKXtyZXR1cm4gaChcImJ1ZmZlclwiLG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gQnVmZmVyLmZyb20obil9KX0sZW5jb2RlZFN0cmluZzpmdW5jdGlvbihuLHQpe3JldHVybiBoKFwic3RyaW5nXCIsdCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRvU3RyaW5nKG4pfSl9LHVpbnRCRTpkLHVpbnQ4QkU6ZCgxKSx1aW50MTZCRTpkKDIpLHVpbnQzMkJFOmQoNCksdWludExFOnYsdWludDhMRTp2KDEpLHVpbnQxNkxFOnYoMiksdWludDMyTEU6dig0KSxpbnRCRTpnLGludDhCRTpnKDEpLGludDE2QkU6ZygyKSxpbnQzMkJFOmcoNCksaW50TEU6bSxpbnQ4TEU6bSgxKSxpbnQxNkxFOm0oMiksaW50MzJMRTptKDQpLGZsb2F0QkU6aChcImZsb2F0QkVcIiw0KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ucmVhZEZsb2F0QkUoMCl9KSxmbG9hdExFOmgoXCJmbG9hdExFXCIsNCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWRGbG9hdExFKDApfSksZG91YmxlQkU6aChcImRvdWJsZUJFXCIsOCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWREb3VibGVCRSgwKX0pLGRvdWJsZUxFOmgoXCJkb3VibGVMRVwiLDgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRG91YmxlTEUoMCl9KX0sbi5leHBvcnRzPWV9XSl9KTsiLCAiXCJ1c2Ugc3RyaWN0XCI7XHJcbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcclxuICAgICAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKGQsIGIpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XHJcbiAgICAgICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbiAgICB9O1xyXG59KSgpO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XHJcbmV4cG9ydHMuRW1wdHlCVHJlZSA9IGV4cG9ydHMuYXNTZXQgPSBleHBvcnRzLnNpbXBsZUNvbXBhcmF0b3IgPSBleHBvcnRzLmRlZmF1bHRDb21wYXJhdG9yID0gdm9pZCAwO1xyXG4vKipcclxuICogQ29tcGFyZXMgRGVmYXVsdENvbXBhcmFibGVzIHRvIGZvcm0gYSBzdHJpY3QgcGFydGlhbCBvcmRlcmluZy5cclxuICpcclxuICogSGFuZGxlcyArLy0wIGFuZCBOYU4gbGlrZSBNYXA6IE5hTiBpcyBlcXVhbCB0byBOYU4sIGFuZCAtMCBpcyBlcXVhbCB0byArMC5cclxuICpcclxuICogQXJyYXlzIGFyZSBjb21wYXJlZCB1c2luZyAnPCcgYW5kICc+Jywgd2hpY2ggbWF5IGNhdXNlIHVuZXhwZWN0ZWQgZXF1YWxpdHk6XHJcbiAqIGZvciBleGFtcGxlIFsxXSB3aWxsIGJlIGNvbnNpZGVyZWQgZXF1YWwgdG8gWycxJ10uXHJcbiAqXHJcbiAqIFR3byBvYmplY3RzIHdpdGggZXF1YWwgdmFsdWVPZiBjb21wYXJlIHRoZSBzYW1lLCBidXQgY29tcGFyZSB1bmVxdWFsIHRvXHJcbiAqIHByaW1pdGl2ZXMgdGhhdCBoYXZlIHRoZSBzYW1lIHZhbHVlLlxyXG4gKi9cclxuZnVuY3Rpb24gZGVmYXVsdENvbXBhcmF0b3IoYSwgYikge1xyXG4gICAgLy8gU3BlY2lhbCBjYXNlIGZpbml0ZSBudW1iZXJzIGZpcnN0IGZvciBwZXJmb3JtYW5jZS5cclxuICAgIC8vIE5vdGUgdGhhdCB0aGUgdHJpY2sgb2YgdXNpbmcgJ2EgLSBiJyBhbmQgY2hlY2tpbmcgZm9yIE5hTiB0byBkZXRlY3Qgbm9uLW51bWJlcnNcclxuICAgIC8vIGRvZXMgbm90IHdvcmsgaWYgdGhlIHN0cmluZ3MgYXJlIG51bWVyaWMgKGV4OiBcIjVcIikuIFRoaXMgd291bGQgbGVhZGluZyBtb3N0IFxyXG4gICAgLy8gY29tcGFyaXNvbiBmdW5jdGlvbnMgdXNpbmcgdGhhdCBhcHByb2FjaCB0byBmYWlsIHRvIGhhdmUgdHJhbnNpdGl2aXR5LlxyXG4gICAgaWYgKE51bWJlci5pc0Zpbml0ZShhKSAmJiBOdW1iZXIuaXNGaW5pdGUoYikpIHtcclxuICAgICAgICByZXR1cm4gYSAtIGI7XHJcbiAgICB9XHJcbiAgICAvLyBUaGUgZGVmYXVsdCA8IGFuZCA+IG9wZXJhdG9ycyBhcmUgbm90IHRvdGFsbHkgb3JkZXJlZC4gVG8gYWxsb3cgdHlwZXMgdG8gYmUgbWl4ZWRcclxuICAgIC8vIGluIGEgc2luZ2xlIGNvbGxlY3Rpb24sIGNvbXBhcmUgdHlwZXMgYW5kIG9yZGVyIHZhbHVlcyBvZiBkaWZmZXJlbnQgdHlwZXMgYnkgdHlwZS5cclxuICAgIHZhciB0YSA9IHR5cGVvZiBhO1xyXG4gICAgdmFyIHRiID0gdHlwZW9mIGI7XHJcbiAgICBpZiAodGEgIT09IHRiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRhIDwgdGIgPyAtMSA6IDE7XHJcbiAgICB9XHJcbiAgICBpZiAodGEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgLy8gc3RhbmRhcmRpemVkIEphdmFTY3JpcHQgYnVnOiBudWxsIGlzIG5vdCBhbiBvYmplY3QsIGJ1dCB0eXBlb2Ygc2F5cyBpdCBpc1xyXG4gICAgICAgIGlmIChhID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gYiA9PT0gbnVsbCA/IDAgOiAtMTtcclxuICAgICAgICBlbHNlIGlmIChiID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICBhID0gYS52YWx1ZU9mKCk7XHJcbiAgICAgICAgYiA9IGIudmFsdWVPZigpO1xyXG4gICAgICAgIHRhID0gdHlwZW9mIGE7XHJcbiAgICAgICAgdGIgPSB0eXBlb2YgYjtcclxuICAgICAgICAvLyBEZWFsIHdpdGggdGhlIHR3byB2YWx1ZU9mKClzIHByb2R1Y2luZyBkaWZmZXJlbnQgdHlwZXNcclxuICAgICAgICBpZiAodGEgIT09IHRiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0YSA8IHRiID8gLTEgOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGEgYW5kIGIgYXJlIG5vdyB0aGUgc2FtZSB0eXBlLCBhbmQgd2lsbCBiZSBhIG51bWJlciwgc3RyaW5nIG9yIGFycmF5IFxyXG4gICAgLy8gKHdoaWNoIHdlIGFzc3VtZSBob2xkcyBudW1iZXJzIG9yIHN0cmluZ3MpLCBvciBzb21ldGhpbmcgdW5zdXBwb3J0ZWQuXHJcbiAgICBpZiAoYSA8IGIpXHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgaWYgKGEgPiBiKVxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgaWYgKGEgPT09IGIpXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAvLyBPcmRlciBOYU4gbGVzcyB0aGFuIG90aGVyIG51bWJlcnNcclxuICAgIGlmIChOdW1iZXIuaXNOYU4oYSkpXHJcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTihiKSA/IDAgOiAtMTtcclxuICAgIGVsc2UgaWYgKE51bWJlci5pc05hTihiKSlcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgIC8vIFRoaXMgY291bGQgYmUgdHdvIG9iamVjdHMgKGUuZy4gWzddIGFuZCBbJzcnXSkgdGhhdCBhcmVuJ3Qgb3JkZXJlZFxyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYSkgPyAwIDogTnVtYmVyLk5hTjtcclxufVxyXG5leHBvcnRzLmRlZmF1bHRDb21wYXJhdG9yID0gZGVmYXVsdENvbXBhcmF0b3I7XHJcbjtcclxuZnVuY3Rpb24gc2ltcGxlQ29tcGFyYXRvcihhLCBiKSB7XHJcbiAgICByZXR1cm4gYSA+IGIgPyAxIDogYSA8IGIgPyAtMSA6IDA7XHJcbn1cclxuZXhwb3J0cy5zaW1wbGVDb21wYXJhdG9yID0gc2ltcGxlQ29tcGFyYXRvcjtcclxuO1xyXG4vKipcclxuICogQSByZWFzb25hYmx5IGZhc3QgY29sbGVjdGlvbiBvZiBrZXktdmFsdWUgcGFpcnMgd2l0aCBhIHBvd2VyZnVsIEFQSS5cclxuICogTGFyZ2VseSBjb21wYXRpYmxlIHdpdGggdGhlIHN0YW5kYXJkIE1hcC4gQlRyZWUgaXMgYSBCKyB0cmVlIGRhdGEgc3RydWN0dXJlLFxyXG4gKiBzbyB0aGUgY29sbGVjdGlvbiBpcyBzb3J0ZWQgYnkga2V5LlxyXG4gKlxyXG4gKiBCKyB0cmVlcyB0ZW5kIHRvIHVzZSBtZW1vcnkgbW9yZSBlZmZpY2llbnRseSB0aGFuIGhhc2h0YWJsZXMgc3VjaCBhcyB0aGVcclxuICogc3RhbmRhcmQgTWFwLCBlc3BlY2lhbGx5IHdoZW4gdGhlIGNvbGxlY3Rpb24gY29udGFpbnMgYSBsYXJnZSBudW1iZXIgb2ZcclxuICogaXRlbXMuIEhvd2V2ZXIsIG1haW50YWluaW5nIHRoZSBzb3J0IG9yZGVyIG1ha2VzIHRoZW0gbW9kZXN0bHkgc2xvd2VyOlxyXG4gKiBPKGxvZyBzaXplKSByYXRoZXIgdGhhbiBPKDEpLiBUaGlzIEIrIHRyZWUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgTygxKVxyXG4gKiBmYXN0IGNsb25pbmcuIEl0IGFsc28gc3VwcG9ydHMgZnJlZXplKCksIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGVuc3VyZSB0aGF0XHJcbiAqIGEgQlRyZWUgaXMgbm90IGNoYW5nZWQgYWNjaWRlbnRhbGx5LlxyXG4gKlxyXG4gKiBDb25mdXNpbmdseSwgdGhlIEVTNiBNYXAuZm9yRWFjaChjKSBtZXRob2QgY2FsbHMgYyh2YWx1ZSxrZXkpIGluc3RlYWQgb2ZcclxuICogYyhrZXksdmFsdWUpLCBpbiBjb250cmFzdCB0byBvdGhlciBtZXRob2RzIHN1Y2ggYXMgc2V0KCkgYW5kIGVudHJpZXMoKVxyXG4gKiB3aGljaCBwdXQgdGhlIGtleSBmaXJzdC4gSSBjYW4gb25seSBhc3N1bWUgdGhhdCB0aGUgb3JkZXIgd2FzIHJldmVyc2VkIG9uXHJcbiAqIHRoZSB0aGVvcnkgdGhhdCB1c2VycyB3b3VsZCB1c3VhbGx5IHdhbnQgdG8gZXhhbWluZSB2YWx1ZXMgYW5kIGlnbm9yZSBrZXlzLlxyXG4gKiBCVHJlZSdzIGZvckVhY2goKSB0aGVyZWZvcmUgd29ya3MgdGhlIHNhbWUgd2F5LCBidXQgYSBzZWNvbmQgbWV0aG9kXHJcbiAqIGAuZm9yRWFjaFBhaXIoKGtleSx2YWx1ZSk9PnsuLi59KWAgaXMgcHJvdmlkZWQgd2hpY2ggc2VuZHMgeW91IHRoZSBrZXlcclxuICogZmlyc3QgYW5kIHRoZSB2YWx1ZSBzZWNvbmQ7IHRoaXMgbWV0aG9kIGlzIHNsaWdodGx5IGZhc3RlciBiZWNhdXNlIGl0IGlzXHJcbiAqIHRoZSBcIm5hdGl2ZVwiIGZvci1lYWNoIG1ldGhvZCBmb3IgdGhpcyBjbGFzcy5cclxuICpcclxuICogT3V0IG9mIHRoZSBib3gsIEJUcmVlIHN1cHBvcnRzIGtleXMgdGhhdCBhcmUgbnVtYmVycywgc3RyaW5ncywgYXJyYXlzIG9mXHJcbiAqIG51bWJlcnMvc3RyaW5ncywgRGF0ZSwgYW5kIG9iamVjdHMgdGhhdCBoYXZlIGEgdmFsdWVPZigpIG1ldGhvZCByZXR1cm5pbmcgYVxyXG4gKiBudW1iZXIgb3Igc3RyaW5nLiBPdGhlciBkYXRhIHR5cGVzLCBzdWNoIGFzIGFycmF5cyBvZiBEYXRlIG9yIGN1c3RvbVxyXG4gKiBvYmplY3RzLCByZXF1aXJlIGEgY3VzdG9tIGNvbXBhcmF0b3IsIHdoaWNoIHlvdSBtdXN0IHBhc3MgYXMgdGhlIHNlY29uZFxyXG4gKiBhcmd1bWVudCB0byB0aGUgY29uc3RydWN0b3IgKHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhbiBvcHRpb25hbCBsaXN0IG9mXHJcbiAqIGluaXRpYWwgaXRlbXMpLiBTeW1ib2xzIGNhbm5vdCBiZSB1c2VkIGFzIGtleXMgYmVjYXVzZSB0aGV5IGFyZSB1bm9yZGVyZWRcclxuICogKG9uZSBTeW1ib2wgaXMgbmV2ZXIgXCJncmVhdGVyXCIgb3IgXCJsZXNzXCIgdGhhbiBhbm90aGVyKS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogR2l2ZW4gYSB7bmFtZTogc3RyaW5nLCBhZ2U6IG51bWJlcn0gb2JqZWN0LCB5b3UgY2FuIGNyZWF0ZSBhIHRyZWUgc29ydGVkIGJ5XHJcbiAqIG5hbWUgYW5kIHRoZW4gYnkgYWdlIGxpa2UgdGhpczpcclxuICpcclxuICogICAgIHZhciB0cmVlID0gbmV3IEJUcmVlKHVuZGVmaW5lZCwgKGEsIGIpID0+IHtcclxuICogICAgICAgaWYgKGEubmFtZSA+IGIubmFtZSlcclxuICogICAgICAgICByZXR1cm4gMTsgLy8gUmV0dXJuIGEgbnVtYmVyID4wIHdoZW4gYSA+IGJcclxuICogICAgICAgZWxzZSBpZiAoYS5uYW1lIDwgYi5uYW1lKVxyXG4gKiAgICAgICAgIHJldHVybiAtMTsgLy8gUmV0dXJuIGEgbnVtYmVyIDwwIHdoZW4gYSA8IGJcclxuICogICAgICAgZWxzZSAvLyBuYW1lcyBhcmUgZXF1YWwgKG9yIGluY29tcGFyYWJsZSlcclxuICogICAgICAgICByZXR1cm4gYS5hZ2UgLSBiLmFnZTsgLy8gUmV0dXJuID4wIHdoZW4gYS5hZ2UgPiBiLmFnZVxyXG4gKiAgICAgfSk7XHJcbiAqXHJcbiAqICAgICB0cmVlLnNldCh7bmFtZTpcIkJpbGxcIiwgYWdlOjE3fSwgXCJoYXBweVwiKTtcclxuICogICAgIHRyZWUuc2V0KHtuYW1lOlwiRnJhblwiLCBhZ2U6NDB9LCBcImJ1c3kgJiBzdHJlc3NlZFwiKTtcclxuICogICAgIHRyZWUuc2V0KHtuYW1lOlwiQmlsbFwiLCBhZ2U6NTV9LCBcInJlY2VudGx5IGxhaWQgb2ZmXCIpO1xyXG4gKiAgICAgdHJlZS5mb3JFYWNoUGFpcigoaywgdikgPT4ge1xyXG4gKiAgICAgICBjb25zb2xlLmxvZyhgTmFtZTogJHtrLm5hbWV9IEFnZTogJHtrLmFnZX0gU3RhdHVzOiAke3Z9YCk7XHJcbiAqICAgICB9KTtcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSBcInJhbmdlXCIgbWV0aG9kcyAoYGZvckVhY2gsIGZvclJhbmdlLCBlZGl0UmFuZ2VgKSB3aWxsIHJldHVybiB0aGUgbnVtYmVyXHJcbiAqIG9mIGVsZW1lbnRzIHRoYXQgd2VyZSBzY2FubmVkLiBJbiBhZGRpdGlvbiwgdGhlIGNhbGxiYWNrIGNhbiByZXR1cm4ge2JyZWFrOlJ9XHJcbiAqIHRvIHN0b3AgZWFybHkgYW5kIHJldHVybiBSIGZyb20gdGhlIG91dGVyIGZ1bmN0aW9uLlxyXG4gKlxyXG4gKiAtIFRPRE86IFRlc3QgcGVyZm9ybWFuY2Ugb2YgcHJlYWxsb2NhdGluZyB2YWx1ZXMgYXJyYXkgYXQgbWF4IHNpemVcclxuICogLSBUT0RPOiBBZGQgZmFzdCBpbml0aWFsaXphdGlvbiB3aGVuIGEgc29ydGVkIGFycmF5IGlzIHByb3ZpZGVkIHRvIGNvbnN0cnVjdG9yXHJcbiAqXHJcbiAqIEZvciBtb3JlIGRvY3VtZW50YXRpb24gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9xd2VydGllL2J0cmVlLXR5cGVzY3JpcHRcclxuICpcclxuICogQXJlIHlvdSBhIEMjIGRldmVsb3Blcj8gWW91IG1pZ2h0IGxpa2UgdGhlIHNpbWlsYXIgZGF0YSBzdHJ1Y3R1cmVzIEkgbWFkZSBmb3IgQyM6XHJcbiAqIEJEaWN0aW9uYXJ5LCBCTGlzdCwgZXRjLiBTZWUgaHR0cDovL2NvcmUubG95Yy5uZXQvY29sbGVjdGlvbnMvXHJcbiAqXHJcbiAqIEBhdXRob3IgRGF2aWQgUGllcGdyYXNzXHJcbiAqL1xyXG52YXIgQlRyZWUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGFuIGVtcHR5IEIrIHRyZWUuXHJcbiAgICAgKiBAcGFyYW0gY29tcGFyZSBDdXN0b20gZnVuY3Rpb24gdG8gY29tcGFyZSBwYWlycyBvZiBlbGVtZW50cyBpbiB0aGUgdHJlZS5cclxuICAgICAqICAgSWYgbm90IHNwZWNpZmllZCwgZGVmYXVsdENvbXBhcmF0b3Igd2lsbCBiZSB1c2VkIHdoaWNoIGlzIHZhbGlkIGFzIGxvbmcgYXMgSyBleHRlbmRzIERlZmF1bHRDb21wYXJhYmxlLlxyXG4gICAgICogQHBhcmFtIGVudHJpZXMgQSBzZXQgb2Yga2V5LXZhbHVlIHBhaXJzIHRvIGluaXRpYWxpemUgdGhlIHRyZWVcclxuICAgICAqIEBwYXJhbSBtYXhOb2RlU2l6ZSBCcmFuY2hpbmcgZmFjdG9yIChtYXhpbXVtIGl0ZW1zIG9yIGNoaWxkcmVuIHBlciBub2RlKVxyXG4gICAgICogICBNdXN0IGJlIGluIHJhbmdlIDQuLjI1Ni4gSWYgdW5kZWZpbmVkIG9yIDw0IHRoZW4gZGVmYXVsdCBpcyB1c2VkOyBpZiA+MjU2IHRoZW4gMjU2LlxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBCVHJlZShlbnRyaWVzLCBjb21wYXJlLCBtYXhOb2RlU2l6ZSkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QgPSBFbXB0eUxlYWY7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IDA7XHJcbiAgICAgICAgdGhpcy5fbWF4Tm9kZVNpemUgPSBtYXhOb2RlU2l6ZSA+PSA0ID8gTWF0aC5taW4obWF4Tm9kZVNpemUsIDI1NikgOiAzMjtcclxuICAgICAgICB0aGlzLl9jb21wYXJlID0gY29tcGFyZSB8fCBkZWZhdWx0Q29tcGFyYXRvcjtcclxuICAgICAgICBpZiAoZW50cmllcylcclxuICAgICAgICAgICAgdGhpcy5zZXRQYWlycyhlbnRyaWVzKTtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCVHJlZS5wcm90b3R5cGUsIFwic2l6ZVwiLCB7XHJcbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgICAgICAvLyBFUzYgTWFwPEssVj4gbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgICAgIC8qKiBHZXRzIHRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIGluIHRoZSB0cmVlLiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJsZW5ndGhcIiwge1xyXG4gICAgICAgIC8qKiBHZXRzIHRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIGluIHRoZSB0cmVlLiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJpc0VtcHR5XCIsIHtcclxuICAgICAgICAvKiogUmV0dXJucyB0cnVlIGlmZiB0aGUgdHJlZSBjb250YWlucyBubyBrZXktdmFsdWUgcGFpcnMuICovXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLl9zaXplID09PSAwOyB9LFxyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICAvKiogUmVsZWFzZXMgdGhlIHRyZWUgc28gdGhhdCBpdHMgc2l6ZSBpcyAwLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QgPSBFbXB0eUxlYWY7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IDA7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJ1bnMgYSBmdW5jdGlvbiBmb3IgZWFjaCBrZXktdmFsdWUgcGFpciwgaW4gb3JkZXIgZnJvbSBzbWFsbGVzdCB0b1xyXG4gICAgICogIGxhcmdlc3Qga2V5LiBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIEVTNiBNYXAsIHRoZSBhcmd1bWVudCBvcmRlciB0b1xyXG4gICAgICogIHRoZSBjYWxsYmFjayBpcyBiYWNrd2FyZHM6IHZhbHVlIGZpcnN0LCB0aGVuIGtleS4gQ2FsbCBmb3JFYWNoUGFpclxyXG4gICAgICogIGluc3RlYWQgdG8gcmVjZWl2ZSB0aGUga2V5IGFzIHRoZSBmaXJzdCBhcmd1bWVudC5cclxuICAgICAqIEBwYXJhbSB0aGlzQXJnIElmIHByb3ZpZGVkLCB0aGlzIHBhcmFtZXRlciBpcyBhc3NpZ25lZCBhcyB0aGUgYHRoaXNgXHJcbiAgICAgKiAgICAgICAgdmFsdWUgZm9yIGVhY2ggY2FsbGJhY2suXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHZhbHVlcyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2FsbGJhY2ssXHJcbiAgICAgKiAgICAgICAgb3IgdGhlIFIgdmFsdWUgaWYgdGhlIGNhbGxiYWNrIHJldHVybmVkIHticmVhazpSfS4gKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mb3JFYWNoID0gZnVuY3Rpb24gKGNhbGxiYWNrLCB0aGlzQXJnKSB7XHJcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgICAgICBpZiAodGhpc0FyZyAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrLmJpbmQodGhpc0FyZyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9yRWFjaFBhaXIoZnVuY3Rpb24gKGssIHYpIHsgcmV0dXJuIGNhbGxiYWNrKHYsIGssIF90aGlzKTsgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJ1bnMgYSBmdW5jdGlvbiBmb3IgZWFjaCBrZXktdmFsdWUgcGFpciwgaW4gb3JkZXIgZnJvbSBzbWFsbGVzdCB0b1xyXG4gICAgICogIGxhcmdlc3Qga2V5LiBUaGUgY2FsbGJhY2sgY2FuIHJldHVybiB7YnJlYWs6Un0gKHdoZXJlIFIgaXMgYW55IHZhbHVlXHJcbiAgICAgKiAgZXhjZXB0IHVuZGVmaW5lZCkgdG8gc3RvcCBpbW1lZGlhdGVseSBhbmQgcmV0dXJuIFIgZnJvbSBmb3JFYWNoUGFpci5cclxuICAgICAqIEBwYXJhbSBvbkZvdW5kIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgZm9yIGVhY2gga2V5LXZhbHVlIHBhaXIuIFRoaXNcclxuICAgICAqICAgICAgICBmdW5jdGlvbiBjYW4gcmV0dXJuIHticmVhazpSfSB0byBzdG9wIGVhcmx5IHdpdGggcmVzdWx0IFIuXHJcbiAgICAgKiAgICAgICAgVGhlIHJlYXNvbiB0aGF0IHlvdSBtdXN0IHJldHVybiB7YnJlYWs6Un0gaW5zdGVhZCBvZiBzaW1wbHkgUlxyXG4gICAgICogICAgICAgIGl0c2VsZiBpcyBmb3IgY29uc2lzdGVuY3kgd2l0aCBlZGl0UmFuZ2UoKSwgd2hpY2ggYWxsb3dzXHJcbiAgICAgKiAgICAgICAgbXVsdGlwbGUgYWN0aW9ucywgbm90IGp1c3QgYnJlYWtpbmcuXHJcbiAgICAgKiBAcGFyYW0gaW5pdGlhbENvdW50ZXIgVGhpcyBpcyB0aGUgdmFsdWUgb2YgdGhlIHRoaXJkIGFyZ3VtZW50IG9mXHJcbiAgICAgKiAgICAgICAgYG9uRm91bmRgIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC4gVGhlIGNvdW50ZXIgaW5jcmVhc2VzXHJcbiAgICAgKiAgICAgICAgYnkgb25lIGVhY2ggdGltZSBgb25Gb3VuZGAgaXMgY2FsbGVkLiBEZWZhdWx0IHZhbHVlOiAwXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHBhaXJzIHNlbnQgdG8gdGhlIGNhbGxiYWNrIChwbHVzIGluaXRpYWxDb3VudGVyLFxyXG4gICAgICogICAgICAgIGlmIHlvdSBwcm92aWRlZCBvbmUpLiBJZiB0aGUgY2FsbGJhY2sgcmV0dXJuZWQge2JyZWFrOlJ9IHRoZW5cclxuICAgICAqICAgICAgICB0aGUgUiB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmZvckVhY2hQYWlyID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBpbml0aWFsQ291bnRlcikge1xyXG4gICAgICAgIHZhciBsb3cgPSB0aGlzLm1pbktleSgpLCBoaWdoID0gdGhpcy5tYXhLZXkoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSYW5nZShsb3csIGhpZ2gsIHRydWUsIGNhbGxiYWNrLCBpbml0aWFsQ291bnRlcik7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBGaW5kcyBhIHBhaXIgaW4gdGhlIHRyZWUgYW5kIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgdmFsdWUuXHJcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIGEgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBrZXkgd2FzIG5vdCBmb3VuZC5cclxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSwgb3IgZGVmYXVsdFZhbHVlIGlmIHRoZSBrZXkgd2FzIG5vdCBmb3VuZC5cclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obG9nIHNpemUpXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5LCBkZWZhdWx0VmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdC5nZXQoa2V5LCBkZWZhdWx0VmFsdWUsIHRoaXMpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBvciBvdmVyd3JpdGVzIGEga2V5LXZhbHVlIHBhaXIgaW4gdGhlIEIrIHRyZWUuXHJcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHNvcnQgb3JkZXIgb2ZcclxuICAgICAqICAgICAgICBkYXRhIGluIHRoZSB0cmVlLlxyXG4gICAgICogQHBhcmFtIHZhbHVlIGRhdGEgdG8gYXNzb2NpYXRlIHdpdGggdGhlIGtleSAob3B0aW9uYWwpXHJcbiAgICAgKiBAcGFyYW0gb3ZlcndyaXRlIFdoZXRoZXIgdG8gb3ZlcndyaXRlIGFuIGV4aXN0aW5nIGtleS12YWx1ZSBwYWlyXHJcbiAgICAgKiAgICAgICAgKGRlZmF1bHQ6IHRydWUpLiBJZiB0aGlzIGlzIGZhbHNlIGFuZCB0aGVyZSBpcyBhbiBleGlzdGluZ1xyXG4gICAgICogICAgICAgIGtleS12YWx1ZSBwYWlyIHRoZW4gdGhpcyBtZXRob2QgaGFzIG5vIGVmZmVjdC5cclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcga2V5LXZhbHVlIHBhaXIgd2FzIGFkZGVkLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqIE5vdGU6IHdoZW4gb3ZlcndyaXRpbmcgYSBwcmV2aW91cyBlbnRyeSwgdGhlIGtleSBpcyB1cGRhdGVkXHJcbiAgICAgKiBhcyB3ZWxsIGFzIHRoZSB2YWx1ZS4gVGhpcyBoYXMgbm8gZWZmZWN0IHVubGVzcyB0aGUgbmV3IGtleVxyXG4gICAgICogaGFzIGRhdGEgdGhhdCBkb2VzIG5vdCBhZmZlY3QgaXRzIHNvcnQgb3JkZXIuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSwgb3ZlcndyaXRlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Jvb3QuaXNTaGFyZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSB0aGlzLl9yb290LmNsb25lKCk7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuX3Jvb3Quc2V0KGtleSwgdmFsdWUsIG92ZXJ3cml0ZSwgdGhpcyk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSB8fCByZXN1bHQgPT09IGZhbHNlKVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIC8vIFJvb3Qgbm9kZSBoYXMgc3BsaXQsIHNvIGNyZWF0ZSBhIG5ldyByb290IG5vZGUuXHJcbiAgICAgICAgdGhpcy5fcm9vdCA9IG5ldyBCTm9kZUludGVybmFsKFt0aGlzLl9yb290LCByZXN1bHRdKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUga2V5IGV4aXN0cyBpbiB0aGUgQisgdHJlZSwgZmFsc2UgaWYgbm90LlxyXG4gICAgICogVXNlIGdldCgpIGZvciBiZXN0IHBlcmZvcm1hbmNlOyB1c2UgaGFzKCkgaWYgeW91IG5lZWQgdG9cclxuICAgICAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gXCJ1bmRlZmluZWQgdmFsdWVcIiBhbmQgXCJrZXkgbm90IHByZXNlbnRcIi5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHRvIGRldGVjdFxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmhhcyA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSYW5nZShrZXksIGtleSwgdHJ1ZSwgdW5kZWZpbmVkKSAhPT0gMDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgYSBzaW5nbGUga2V5LXZhbHVlIHBhaXIgZnJvbSB0aGUgQisgdHJlZS5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHRvIGZpbmRcclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgYSBwYWlyIHdhcyBmb3VuZCBhbmQgcmVtb3ZlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmRlbGV0ZSA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0UmFuZ2Uoa2V5LCBrZXksIHRydWUsIERlbGV0ZVJhbmdlKSAhPT0gMDtcclxuICAgIH07XHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aCA9IGZ1bmN0aW9uIChrZXksIHZhbHVlLCBvdmVyd3JpdGUpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCk7XHJcbiAgICAgICAgcmV0dXJuIG51LnNldChrZXksIHZhbHVlLCBvdmVyd3JpdGUpIHx8IG92ZXJ3cml0ZSA/IG51IDogdGhpcztcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHRyZWUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleS12YWx1ZSBwYWlycyBzZXQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aFBhaXJzID0gZnVuY3Rpb24gKHBhaXJzLCBvdmVyd3JpdGUpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCk7XHJcbiAgICAgICAgcmV0dXJuIG51LnNldFBhaXJzKHBhaXJzLCBvdmVyd3JpdGUpICE9PSAwIHx8IG92ZXJ3cml0ZSA/IG51IDogdGhpcztcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHRyZWUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleXMgcHJlc2VudC5cclxuICAgICAqICBAcGFyYW0ga2V5cyBUaGUga2V5cyB0byBhZGQuIElmIGEga2V5IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgdHJlZSxcclxuICAgICAqICAgICAgICAgbmVpdGhlciB0aGUgZXhpc3Rpbmcga2V5IG5vciB0aGUgZXhpc3RpbmcgdmFsdWUgaXMgbW9kaWZpZWQuXHJcbiAgICAgKiAgQHBhcmFtIHJldHVyblRoaXNJZlVuY2hhbmdlZCBpZiB0cnVlLCByZXR1cm5zIHRoaXMgaWYgYWxsIGtleXMgYWxyZWFkeVxyXG4gICAgICogIGV4aXN0ZWQuIFBlcmZvcm1hbmNlIG5vdGU6IGR1ZSB0byB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoaXMgY2xhc3MsIGFsbFxyXG4gICAgICogIG5vZGUocykgbGVhZGluZyB0byBleGlzdGluZyBrZXlzIGFyZSBjbG9uZWQgZXZlbiBpZiB0aGUgY29sbGVjdGlvbiBpc1xyXG4gICAgICogIHVsdGltYXRlbHkgdW5jaGFuZ2VkLlxyXG4gICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS53aXRoS2V5cyA9IGZ1bmN0aW9uIChrZXlzLCByZXR1cm5UaGlzSWZVbmNoYW5nZWQpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCksIGNoYW5nZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIGNoYW5nZWQgPSBudS5zZXQoa2V5c1tpXSwgdW5kZWZpbmVkLCBmYWxzZSkgfHwgY2hhbmdlZDtcclxuICAgICAgICByZXR1cm4gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkICYmICFjaGFuZ2VkID8gdGhpcyA6IG51O1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIGEgY29weSBvZiB0aGUgdHJlZSB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IHJlbW92ZWQuXHJcbiAgICAgKiBAcGFyYW0gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkIGlmIHRydWUsIHJldHVybnMgdGhpcyBpZiB0aGUga2V5IGRpZG4ndCBleGlzdC5cclxuICAgICAqICBQZXJmb3JtYW5jZSBub3RlOiBkdWUgdG8gdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGlzIGNsYXNzLCBub2RlKHMpIGxlYWRpbmdcclxuICAgICAqICB0byB3aGVyZSB0aGUga2V5IHdvdWxkIGhhdmUgYmVlbiBzdG9yZWQgYXJlIGNsb25lZCBldmVuIHdoZW4gdGhlIGtleVxyXG4gICAgICogIHR1cm5zIG91dCBub3QgdG8gZXhpc3QgYW5kIHRoZSBjb2xsZWN0aW9uIGlzIHVuY2hhbmdlZC5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLndpdGhvdXQgPSBmdW5jdGlvbiAoa2V5LCByZXR1cm5UaGlzSWZVbmNoYW5nZWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy53aXRob3V0UmFuZ2Uoa2V5LCBrZXksIHRydWUsIHJldHVyblRoaXNJZlVuY2hhbmdlZCk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggdGhlIHNwZWNpZmllZCBrZXlzIHJlbW92ZWQuXHJcbiAgICAgKiBAcGFyYW0gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkIGlmIHRydWUsIHJldHVybnMgdGhpcyBpZiBub25lIG9mIHRoZSBrZXlzXHJcbiAgICAgKiAgZXhpc3RlZC4gUGVyZm9ybWFuY2Ugbm90ZTogZHVlIHRvIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhpcyBjbGFzcyxcclxuICAgICAqICBub2RlKHMpIGxlYWRpbmcgdG8gd2hlcmUgdGhlIGtleSB3b3VsZCBoYXZlIGJlZW4gc3RvcmVkIGFyZSBjbG9uZWRcclxuICAgICAqICBldmVuIHdoZW4gdGhlIGtleSB0dXJucyBvdXQgbm90IHRvIGV4aXN0LlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aG91dEtleXMgPSBmdW5jdGlvbiAoa2V5cywgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKSB7XHJcbiAgICAgICAgdmFyIG51ID0gdGhpcy5jbG9uZSgpO1xyXG4gICAgICAgIHJldHVybiBudS5kZWxldGVLZXlzKGtleXMpIHx8ICFyZXR1cm5UaGlzSWZVbmNoYW5nZWQgPyBudSA6IHRoaXM7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggdGhlIHNwZWNpZmllZCByYW5nZSBvZiBrZXlzIHJlbW92ZWQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aG91dFJhbmdlID0gZnVuY3Rpb24gKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIHJldHVyblRoaXNJZlVuY2hhbmdlZCkge1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuY2xvbmUoKTtcclxuICAgICAgICBpZiAobnUuZGVsZXRlUmFuZ2UobG93LCBoaWdoLCBpbmNsdWRlSGlnaCkgPT09IDAgJiYgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICByZXR1cm4gbnU7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggcGFpcnMgcmVtb3ZlZCB3aGVuZXZlciB0aGUgY2FsbGJhY2tcclxuICAgICAqICBmdW5jdGlvbiByZXR1cm5zIGZhbHNlLiBgd2hlcmUoKWAgaXMgYSBzeW5vbnltIGZvciB0aGlzIG1ldGhvZC4gKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5maWx0ZXIgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIHJldHVyblRoaXNJZlVuY2hhbmdlZCkge1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuZ3JlZWR5Q2xvbmUoKTtcclxuICAgICAgICB2YXIgZGVsO1xyXG4gICAgICAgIG51LmVkaXRBbGwoZnVuY3Rpb24gKGssIHYsIGkpIHtcclxuICAgICAgICAgICAgaWYgKCFjYWxsYmFjayhrLCB2LCBpKSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBkZWwgPSBEZWxldGU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFkZWwgJiYgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICByZXR1cm4gbnU7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggYWxsIHZhbHVlcyBhbHRlcmVkIGJ5IGEgY2FsbGJhY2sgZnVuY3Rpb24uICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubWFwVmFsdWVzID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XHJcbiAgICAgICAgdmFyIHRtcCA9IHt9O1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuZ3JlZWR5Q2xvbmUoKTtcclxuICAgICAgICBudS5lZGl0QWxsKGZ1bmN0aW9uIChrLCB2LCBpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0bXAudmFsdWUgPSBjYWxsYmFjayh2LCBrLCBpKSwgdG1wO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBudTtcclxuICAgIH07XHJcbiAgICBCVHJlZS5wcm90b3R5cGUucmVkdWNlID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcclxuICAgICAgICB2YXIgaSA9IDAsIHAgPSBpbml0aWFsVmFsdWU7XHJcbiAgICAgICAgdmFyIGl0ID0gdGhpcy5lbnRyaWVzKHRoaXMubWluS2V5KCksIFJldXNlZEFycmF5KSwgbmV4dDtcclxuICAgICAgICB3aGlsZSAoIShuZXh0ID0gaXQubmV4dCgpKS5kb25lKVxyXG4gICAgICAgICAgICBwID0gY2FsbGJhY2socCwgbmV4dC52YWx1ZSwgaSsrLCB0aGlzKTtcclxuICAgICAgICByZXR1cm4gcDtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gSXRlcmF0b3IgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8qKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIHRoYXQgcHJvdmlkZXMgaXRlbXMgaW4gb3JkZXIgKGFzY2VuZGluZyBvcmRlciBpZlxyXG4gICAgICogIHRoZSBjb2xsZWN0aW9uJ3MgY29tcGFyYXRvciB1c2VzIGFzY2VuZGluZyBvcmRlciwgYXMgaXMgdGhlIGRlZmF1bHQuKVxyXG4gICAgICogIEBwYXJhbSBsb3dlc3RLZXkgRmlyc3Qga2V5IHRvIGJlIGl0ZXJhdGVkLCBvciB1bmRlZmluZWQgdG8gc3RhcnQgYXRcclxuICAgICAqICAgICAgICAgbWluS2V5KCkuIElmIHRoZSBzcGVjaWZpZWQga2V5IGRvZXNuJ3QgZXhpc3QgdGhlbiBpdGVyYXRpb25cclxuICAgICAqICAgICAgICAgc3RhcnRzIGF0IHRoZSBuZXh0IGhpZ2hlciBrZXkgKGFjY29yZGluZyB0byB0aGUgY29tcGFyYXRvcikuXHJcbiAgICAgKiAgQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWVcclxuICAgICAqICAgICAgICAgcGFpcnMsIHRvIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmVudHJpZXMgPSBmdW5jdGlvbiAobG93ZXN0S2V5LCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpbmZvID0gdGhpcy5maW5kUGF0aChsb3dlc3RLZXkpO1xyXG4gICAgICAgIGlmIChpbmZvID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcigpO1xyXG4gICAgICAgIHZhciBub2RlcXVldWUgPSBpbmZvLm5vZGVxdWV1ZSwgbm9kZWluZGV4ID0gaW5mby5ub2RlaW5kZXgsIGxlYWYgPSBpbmZvLmxlYWY7XHJcbiAgICAgICAgdmFyIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgIHZhciBpID0gKGxvd2VzdEtleSA9PT0gdW5kZWZpbmVkID8gLTEgOiBsZWFmLmluZGV4T2YobG93ZXN0S2V5LCAwLCB0aGlzLl9jb21wYXJlKSAtIDEpO1xyXG4gICAgICAgIHJldHVybiBpdGVyYXRvcihmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGp1bXA6IGZvciAoOzspIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPCBsZWFmLmtleXMubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBbbGVhZi5rZXlzW2ldLCBsZWFmLnZhbHVlc1tpXV0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPCBsZWFmLmtleXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IGxlYWYua2V5c1tpXSwgcmV1c2VkQXJyYXlbMV0gPSBsZWFmLnZhbHVlc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogcmV1c2VkQXJyYXkgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZHZhbmNlIHRvIHRoZSBuZXh0IGxlYWYgbm9kZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBsZXZlbCA9IC0xOzspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2xldmVsID49IG5vZGVxdWV1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUganVtcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK25vZGVpbmRleFtsZXZlbF0gPCBub2RlcXVldWVbbGV2ZWxdLmxlbmd0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgbGV2ZWwgPiAwOyBsZXZlbC0tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlcXVldWVbbGV2ZWwgLSAxXSA9IG5vZGVxdWV1ZVtsZXZlbF1bbm9kZWluZGV4W2xldmVsXV0uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaW5kZXhbbGV2ZWwgLSAxXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVhZiA9IG5vZGVxdWV1ZVswXVtub2RlaW5kZXhbMF1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIHRoYXQgcHJvdmlkZXMgaXRlbXMgaW4gcmV2ZXJzZWQgb3JkZXIuXHJcbiAgICAgKiAgQHBhcmFtIGhpZ2hlc3RLZXkgS2V5IGF0IHdoaWNoIHRvIHN0YXJ0IGl0ZXJhdGluZywgb3IgdW5kZWZpbmVkIHRvXHJcbiAgICAgKiAgICAgICAgIHN0YXJ0IGF0IG1heEtleSgpLiBJZiB0aGUgc3BlY2lmaWVkIGtleSBkb2Vzbid0IGV4aXN0IHRoZW4gaXRlcmF0aW9uXHJcbiAgICAgKiAgICAgICAgIHN0YXJ0cyBhdCB0aGUgbmV4dCBsb3dlciBrZXkgKGFjY29yZGluZyB0byB0aGUgY29tcGFyYXRvcikuXHJcbiAgICAgKiAgQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWVcclxuICAgICAqICAgICAgICAgcGFpcnMsIHRvIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cclxuICAgICAqICBAcGFyYW0gc2tpcEhpZ2hlc3QgSWZmIHRoaXMgZmxhZyBpcyB0cnVlIGFuZCB0aGUgaGlnaGVzdEtleSBleGlzdHMgaW4gdGhlXHJcbiAgICAgKiAgICAgICAgIGNvbGxlY3Rpb24sIHRoZSBwYWlyIG1hdGNoaW5nIGhpZ2hlc3RLZXkgaXMgc2tpcHBlZCwgbm90IGl0ZXJhdGVkLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZW50cmllc1JldmVyc2VkID0gZnVuY3Rpb24gKGhpZ2hlc3RLZXksIHJldXNlZEFycmF5LCBza2lwSGlnaGVzdCkge1xyXG4gICAgICAgIGlmIChoaWdoZXN0S2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgaGlnaGVzdEtleSA9IHRoaXMubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIHNraXBIaWdoZXN0ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBpZiAoaGlnaGVzdEtleSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKCk7IC8vIGNvbGxlY3Rpb24gaXMgZW1wdHlcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIF9hID0gdGhpcy5maW5kUGF0aChoaWdoZXN0S2V5KSB8fCB0aGlzLmZpbmRQYXRoKHRoaXMubWF4S2V5KCkpLCBub2RlcXVldWUgPSBfYS5ub2RlcXVldWUsIG5vZGVpbmRleCA9IF9hLm5vZGVpbmRleCwgbGVhZiA9IF9hLmxlYWY7XHJcbiAgICAgICAgY2hlY2soIW5vZGVxdWV1ZVswXSB8fCBsZWFmID09PSBub2RlcXVldWVbMF1bbm9kZWluZGV4WzBdXSwgXCJ3YXQhXCIpO1xyXG4gICAgICAgIHZhciBpID0gbGVhZi5pbmRleE9mKGhpZ2hlc3RLZXksIDAsIHRoaXMuX2NvbXBhcmUpO1xyXG4gICAgICAgIGlmICghc2tpcEhpZ2hlc3QgJiYgaSA8IGxlYWYua2V5cy5sZW5ndGggJiYgdGhpcy5fY29tcGFyZShsZWFmLmtleXNbaV0sIGhpZ2hlc3RLZXkpIDw9IDApXHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB2YXIgc3RhdGUgPSByZXVzZWRBcnJheSAhPT0gdW5kZWZpbmVkID8gMSA6IDA7XHJcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAganVtcDogZm9yICg7Oykge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC0taSA+PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBbbGVhZi5rZXlzW2ldLCBsZWFmLnZhbHVlc1tpXV0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgtLWkgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV1c2VkQXJyYXlbMF0gPSBsZWFmLmtleXNbaV0sIHJldXNlZEFycmF5WzFdID0gbGVhZi52YWx1ZXNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBkb25lOiBmYWxzZSwgdmFsdWU6IHJldXNlZEFycmF5IH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWR2YW5jZSB0byB0aGUgbmV4dCBsZWFmIG5vZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbGV2ZWwgPSAtMTs7KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKytsZXZlbCA+PSBub2RlcXVldWUubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIGp1bXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoLS1ub2RlaW5kZXhbbGV2ZWxdID49IDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IGxldmVsID4gMDsgbGV2ZWwtLSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXF1ZXVlW2xldmVsIC0gMV0gPSBub2RlcXVldWVbbGV2ZWxdW25vZGVpbmRleFtsZXZlbF1dLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWluZGV4W2xldmVsIC0gMV0gPSBub2RlcXVldWVbbGV2ZWwgLSAxXS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWYgPSBub2RlcXVldWVbMF1bbm9kZWluZGV4WzBdXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGxlYWYua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIC8qIFVzZWQgYnkgZW50cmllcygpIGFuZCBlbnRyaWVzUmV2ZXJzZWQoKSB0byBwcmVwYXJlIHRvIHN0YXJ0IGl0ZXJhdGluZy5cclxuICAgICAqIEl0IGRldmVsb3BzIGEgXCJub2RlIHF1ZXVlXCIgZm9yIGVhY2ggbm9uLWxlYWYgbGV2ZWwgb2YgdGhlIHRyZWUuXHJcbiAgICAgKiBMZXZlbHMgYXJlIG51bWJlcmVkIFwiYm90dG9tLXVwXCIgc28gdGhhdCBsZXZlbCAwIGlzIGEgbGlzdCBvZiBsZWFmXHJcbiAgICAgKiBub2RlcyBmcm9tIGEgbG93LWxldmVsIG5vbi1sZWFmIG5vZGUuIFRoZSBxdWV1ZSBhdCBhIGdpdmVuIGxldmVsIExcclxuICAgICAqIGNvbnNpc3RzIG9mIG5vZGVxdWV1ZVtMXSB3aGljaCBpcyB0aGUgY2hpbGRyZW4gb2YgYSBCTm9kZUludGVybmFsLFxyXG4gICAgICogYW5kIG5vZGVpbmRleFtMXSwgdGhlIGN1cnJlbnQgaW5kZXggd2l0aGluIHRoYXQgY2hpbGQgbGlzdCwgc3VjaFxyXG4gICAgICogc3VjaCB0aGF0IG5vZGVxdWV1ZVtMLTFdID09PSBub2RlcXVldWVbTF1bbm9kZWluZGV4W0xdXS5jaGlsZHJlbi5cclxuICAgICAqIChIb3dldmVyIGluc2lkZSB0aGlzIGZ1bmN0aW9uIHRoZSBvcmRlciBpcyByZXZlcnNlZC4pXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5maW5kUGF0aCA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICB2YXIgbmV4dG5vZGUgPSB0aGlzLl9yb290O1xyXG4gICAgICAgIHZhciBub2RlcXVldWUsIG5vZGVpbmRleDtcclxuICAgICAgICBpZiAobmV4dG5vZGUuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgIG5vZGVxdWV1ZSA9IEVtcHR5QXJyYXksIG5vZGVpbmRleCA9IEVtcHR5QXJyYXk7IC8vIGF2b2lkIGFsbG9jYXRpb25zXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBub2RlcXVldWUgPSBbXSwgbm9kZWluZGV4ID0gW107XHJcbiAgICAgICAgICAgIGZvciAodmFyIGQgPSAwOyAhbmV4dG5vZGUuaXNMZWFmOyBkKyspIHtcclxuICAgICAgICAgICAgICAgIG5vZGVxdWV1ZVtkXSA9IG5leHRub2RlLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgbm9kZWluZGV4W2RdID0ga2V5ID09PSB1bmRlZmluZWQgPyAwIDogbmV4dG5vZGUuaW5kZXhPZihrZXksIDAsIHRoaXMuX2NvbXBhcmUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vZGVpbmRleFtkXSA+PSBub2RlcXVldWVbZF0ubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gZmlyc3Qga2V5ID4gbWF4S2V5KClcclxuICAgICAgICAgICAgICAgIG5leHRub2RlID0gbm9kZXF1ZXVlW2RdW25vZGVpbmRleFtkXV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbm9kZXF1ZXVlLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgbm9kZWluZGV4LnJldmVyc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsgbm9kZXF1ZXVlOiBub2RlcXVldWUsIG5vZGVpbmRleDogbm9kZWluZGV4LCBsZWFmOiBuZXh0bm9kZSB9O1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQ29tcHV0ZXMgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYHRoaXNgIGFuZCBgb3RoZXJgLlxyXG4gICAgICogRm9yIGVmZmljaWVuY3ksIHRoZSBkaWZmIGlzIHJldHVybmVkIHZpYSBpbnZvY2F0aW9ucyBvZiBzdXBwbGllZCBoYW5kbGVycy5cclxuICAgICAqIFRoZSBjb21wdXRhdGlvbiBpcyBvcHRpbWl6ZWQgZm9yIHRoZSBjYXNlIGluIHdoaWNoIHRoZSB0d28gdHJlZXMgaGF2ZSBsYXJnZSBhbW91bnRzXHJcbiAgICAgKiBvZiBzaGFyZWQgZGF0YSAob2J0YWluZWQgYnkgY2FsbGluZyB0aGUgYGNsb25lYCBvciBgd2l0aGAgQVBJcykgYW5kIHdpbGwgYXZvaWRcclxuICAgICAqIGFueSBpdGVyYXRpb24gb2Ygc2hhcmVkIHN0YXRlLlxyXG4gICAgICogVGhlIGhhbmRsZXJzIGNhbiBjYXVzZSBjb21wdXRhdGlvbiB0byBlYXJseSBleGl0IGJ5IHJldHVybmluZyB7YnJlYWs6IFJ9LlxyXG4gICAgICogTmVpdGhlciBvZiB0aGUgY29sbGVjdGlvbnMgc2hvdWxkIGJlIGNoYW5nZWQgZHVyaW5nIHRoZSBjb21wYXJpc29uIHByb2Nlc3MgKGluIHlvdXIgY2FsbGJhY2tzKSwgYXMgdGhpcyBtZXRob2QgYXNzdW1lcyB0aGV5IHdpbGwgbm90IGJlIG11dGF0ZWQuXHJcbiAgICAgKiBAcGFyYW0gb3RoZXIgVGhlIHRyZWUgdG8gY29tcHV0ZSBhIGRpZmYgYWdhaW5zdC5cclxuICAgICAqIEBwYXJhbSBvbmx5VGhpcyBDYWxsYmFjayBpbnZva2VkIGZvciBhbGwga2V5cyBvbmx5IHByZXNlbnQgaW4gYHRoaXNgLlxyXG4gICAgICogQHBhcmFtIG9ubHlPdGhlciBDYWxsYmFjayBpbnZva2VkIGZvciBhbGwga2V5cyBvbmx5IHByZXNlbnQgaW4gYG90aGVyYC5cclxuICAgICAqIEBwYXJhbSBkaWZmZXJlbnQgQ2FsbGJhY2sgaW52b2tlZCBmb3IgYWxsIGtleXMgd2l0aCBkaWZmZXJpbmcgdmFsdWVzLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZGlmZkFnYWluc3QgPSBmdW5jdGlvbiAob3RoZXIsIG9ubHlUaGlzLCBvbmx5T3RoZXIsIGRpZmZlcmVudCkge1xyXG4gICAgICAgIGlmIChvdGhlci5fY29tcGFyZSAhPT0gdGhpcy5fY29tcGFyZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUcmVlIGNvbXBhcmF0b3JzIGFyZSBub3QgdGhlIHNhbWUuXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pc0VtcHR5IHx8IG90aGVyLmlzRW1wdHkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNFbXB0eSAmJiBvdGhlci5pc0VtcHR5KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgLy8gSWYgb25lIHRyZWUgaXMgZW1wdHksIGV2ZXJ5dGhpbmcgd2lsbCBiZSBhbiBvbmx5VGhpcy9vbmx5T3RoZXIuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRW1wdHkpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb25seU90aGVyID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBCVHJlZS5zdGVwVG9FbmQoQlRyZWUubWFrZURpZmZDdXJzb3Iob3RoZXIpLCBvbmx5T3RoZXIpO1xyXG4gICAgICAgICAgICByZXR1cm4gb25seVRoaXMgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IEJUcmVlLnN0ZXBUb0VuZChCVHJlZS5tYWtlRGlmZkN1cnNvcih0aGlzKSwgb25seVRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDdXJzb3ItYmFzZWQgZGlmZiBhbGdvcml0aG0gaXMgYXMgZm9sbG93czpcclxuICAgICAgICAvLyAtIFVudGlsIG5laXRoZXIgY3Vyc29yIGhhcyBuYXZpZ2F0ZWQgdG8gdGhlIGVuZCBvZiB0aGUgdHJlZSwgZG8gdGhlIGZvbGxvd2luZzpcclxuICAgICAgICAvLyAgLSBJZiB0aGUgYHRoaXNgIGN1cnNvciBpcyBcImJlaGluZFwiIHRoZSBgb3RoZXJgIGN1cnNvciAoc3RyaWN0bHkgPCwgdmlhIGNvbXBhcmUpLCBhZHZhbmNlIGl0LlxyXG4gICAgICAgIC8vICAtIE90aGVyd2lzZSwgYWR2YW5jZSB0aGUgYG90aGVyYCBjdXJzb3IuXHJcbiAgICAgICAgLy8gIC0gQW55IHRpbWUgYSBjdXJzb3IgaXMgc3RlcHBlZCwgcGVyZm9ybSB0aGUgZm9sbG93aW5nOlxyXG4gICAgICAgIC8vICAgIC0gSWYgZWl0aGVyIGN1cnNvciBwb2ludHMgdG8gYSBrZXkvdmFsdWUgcGFpcjpcclxuICAgICAgICAvLyAgICAgIC0gSWYgdGhpc0N1cnNvciA9PT0gb3RoZXJDdXJzb3IgYW5kIHRoZSB2YWx1ZXMgZGlmZmVyLCBpdCBpcyBhIERpZmZlcmVudC5cclxuICAgICAgICAvLyAgICAgIC0gSWYgdGhpc0N1cnNvciA+IG90aGVyQ3Vyc29yIGFuZCBvdGhlckN1cnNvciBpcyBhdCBhIGtleS92YWx1ZSBwYWlyLCBpdCBpcyBhbiBPbmx5T3RoZXIuXHJcbiAgICAgICAgLy8gICAgICAtIElmIHRoaXNDdXJzb3IgPCBvdGhlckN1cnNvciBhbmQgdGhpc0N1cnNvciBpcyBhdCBhIGtleS92YWx1ZSBwYWlyLCBpdCBpcyBhbiBPbmx5VGhpcyBhcyBsb25nIGFzIHRoZSBtb3N0IHJlY2VudCBcclxuICAgICAgICAvLyAgICAgICAgY3Vyc29yIHN0ZXAgd2FzICpub3QqIG90aGVyQ3Vyc29yIGFkdmFuY2luZyBmcm9tIGEgdGllLiBUaGUgZXh0cmEgY29uZGl0aW9uIGF2b2lkcyBlcnJvbmVvdXMgT25seU90aGVyIGNhbGxzIFxyXG4gICAgICAgIC8vICAgICAgICB0aGF0IHdvdWxkIG9jY3VyIGR1ZSB0byBvdGhlckN1cnNvciBiZWluZyB0aGUgXCJsZWFkZXJcIi5cclxuICAgICAgICAvLyAgICAtIE90aGVyd2lzZSwgaWYgYm90aCBjdXJzb3JzIHBvaW50IHRvIG5vZGVzLCBjb21wYXJlIHRoZW0uIElmIHRoZXkgYXJlIGVxdWFsIGJ5IHJlZmVyZW5jZSAoc2hhcmVkKSwgc2tpcFxyXG4gICAgICAgIC8vICAgICAgYm90aCBjdXJzb3JzIHRvIHRoZSBuZXh0IG5vZGUgaW4gdGhlIHdhbGsuXHJcbiAgICAgICAgLy8gLSBPbmNlIG9uZSBjdXJzb3IgaGFzIGZpbmlzaGVkIHN0ZXBwaW5nLCBhbnkgcmVtYWluaW5nIHN0ZXBzIChpZiBhbnkpIGFyZSB0YWtlbiBhbmQga2V5L3ZhbHVlIHBhaXJzIGFyZSBsb2dnZWRcclxuICAgICAgICAvLyAgIGFzIE9ubHlPdGhlciAoaWYgb3RoZXJDdXJzb3IgaXMgc3RlcHBpbmcpIG9yIE9ubHlUaGlzIChpZiB0aGlzQ3Vyc29yIGlzIHN0ZXBwaW5nKS5cclxuICAgICAgICAvLyBUaGlzIGFsZ29yaXRobSBnaXZlcyB0aGUgY3JpdGljYWwgZ3VhcmFudGVlIHRoYXQgYWxsIGxvY2F0aW9ucyAoYm90aCBub2RlcyBhbmQga2V5L3ZhbHVlIHBhaXJzKSBpbiBib3RoIHRyZWVzIHRoYXQgXHJcbiAgICAgICAgLy8gYXJlIGlkZW50aWNhbCBieSB2YWx1ZSAoYW5kIHBvc3NpYmx5IGJ5IHJlZmVyZW5jZSkgd2lsbCBiZSB2aXNpdGVkICphdCB0aGUgc2FtZSB0aW1lKiBieSB0aGUgY3Vyc29ycy5cclxuICAgICAgICAvLyBUaGlzIHJlbW92ZXMgdGhlIHBvc3NpYmlsaXR5IG9mIGVtaXR0aW5nIGluY29ycmVjdCBkaWZmcywgYXMgd2VsbCBhcyBhbGxvd2luZyBmb3Igc2tpcHBpbmcgc2hhcmVkIG5vZGVzLlxyXG4gICAgICAgIHZhciBfY29tcGFyZSA9IHRoaXMuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIHRoaXNDdXJzb3IgPSBCVHJlZS5tYWtlRGlmZkN1cnNvcih0aGlzKTtcclxuICAgICAgICB2YXIgb3RoZXJDdXJzb3IgPSBCVHJlZS5tYWtlRGlmZkN1cnNvcihvdGhlcik7XHJcbiAgICAgICAgLy8gSXQgZG9lc24ndCBtYXR0ZXIgaG93IHRoaXNTdGVwcGVkTGFzdCBpcyBpbml0aWFsaXplZC5cclxuICAgICAgICAvLyBTdGVwIG9yZGVyIGlzIG9ubHkgdXNlZCB3aGVuIGVpdGhlciBjdXJzb3IgaXMgYXQgYSBsZWFmLCBhbmQgY3Vyc29ycyBhbHdheXMgc3RhcnQgYXQgYSBub2RlLlxyXG4gICAgICAgIHZhciB0aGlzU3VjY2VzcyA9IHRydWUsIG90aGVyU3VjY2VzcyA9IHRydWUsIHByZXZDdXJzb3JPcmRlciA9IEJUcmVlLmNvbXBhcmUodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlKTtcclxuICAgICAgICB3aGlsZSAodGhpc1N1Y2Nlc3MgJiYgb3RoZXJTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHZhciBjdXJzb3JPcmRlciA9IEJUcmVlLmNvbXBhcmUodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlKTtcclxuICAgICAgICAgICAgdmFyIHRoaXNMZWFmID0gdGhpc0N1cnNvci5sZWFmLCB0aGlzSW50ZXJuYWxTcGluZSA9IHRoaXNDdXJzb3IuaW50ZXJuYWxTcGluZSwgdGhpc0xldmVsSW5kaWNlcyA9IHRoaXNDdXJzb3IubGV2ZWxJbmRpY2VzO1xyXG4gICAgICAgICAgICB2YXIgb3RoZXJMZWFmID0gb3RoZXJDdXJzb3IubGVhZiwgb3RoZXJJbnRlcm5hbFNwaW5lID0gb3RoZXJDdXJzb3IuaW50ZXJuYWxTcGluZSwgb3RoZXJMZXZlbEluZGljZXMgPSBvdGhlckN1cnNvci5sZXZlbEluZGljZXM7XHJcbiAgICAgICAgICAgIGlmICh0aGlzTGVhZiB8fCBvdGhlckxlYWYpIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjdXJzb3JzIHdlcmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gbGFzdCBzdGVwLCB0aGVuIHRoZXJlIGlzIG5vIHdvcmsgdG8gYmUgZG9uZS5cclxuICAgICAgICAgICAgICAgIGlmIChwcmV2Q3Vyc29yT3JkZXIgIT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY3Vyc29yT3JkZXIgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNMZWFmICYmIG90aGVyTGVhZiAmJiBkaWZmZXJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVxdWFsIGtleXMsIGNoZWNrIGZvciBtb2RpZmljYXRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsVGhpcyA9IHRoaXNMZWFmLnZhbHVlc1t0aGlzTGV2ZWxJbmRpY2VzW3RoaXNMZXZlbEluZGljZXMubGVuZ3RoIC0gMV1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbE90aGVyID0gb3RoZXJMZWFmLnZhbHVlc1tvdGhlckxldmVsSW5kaWNlc1tvdGhlckxldmVsSW5kaWNlcy5sZW5ndGggLSAxXV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5pcyh2YWxUaGlzLCB2YWxPdGhlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZGlmZmVyZW50KHRoaXNDdXJzb3IuY3VycmVudEtleSwgdmFsVGhpcywgdmFsT3RoZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmJyZWFrKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGN1cnNvck9yZGVyID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBjYXNlLCB3ZSBrbm93IHRoYXQgZWl0aGVyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAxLiBvdGhlckN1cnNvciBzdGVwcGVkIGxhc3QgZnJvbSBhIHN0YXJ0aW5nIHBvc2l0aW9uIHRoYXQgdHJhaWxlZCB0aGlzQ3Vyc29yLCBhbmQgaXMgc3RpbGwgYmVoaW5kLCBvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAyLiB0aGlzQ3Vyc29yIHN0ZXBwZWQgbGFzdCBhbmQgbGVhcGZyb2dnZWQgb3RoZXJDdXJzb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRWl0aGVyIG9mIHRoZXNlIGNhc2VzIGlzIGFuIFwib25seSBvdGhlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvdGhlckxlYWYgJiYgb25seU90aGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3RoZXJWYWwgPSBvdGhlckxlYWYudmFsdWVzW290aGVyTGV2ZWxJbmRpY2VzW290aGVyTGV2ZWxJbmRpY2VzLmxlbmd0aCAtIDFdXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvbmx5T3RoZXIob3RoZXJDdXJzb3IuY3VycmVudEtleSwgb3RoZXJWYWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuYnJlYWspXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5icmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvbmx5VGhpcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpc0xlYWYgJiYgcHJldkN1cnNvck9yZGVyICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsVGhpcyA9IHRoaXNMZWFmLnZhbHVlc1t0aGlzTGV2ZWxJbmRpY2VzW3RoaXNMZXZlbEluZGljZXMubGVuZ3RoIC0gMV1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG9ubHlUaGlzKHRoaXNDdXJzb3IuY3VycmVudEtleSwgdmFsVGhpcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5icmVhaylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzTGVhZiAmJiAhb3RoZXJMZWFmICYmIGN1cnNvck9yZGVyID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbGFzdFRoaXMgPSB0aGlzSW50ZXJuYWxTcGluZS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgdmFyIGxhc3RPdGhlciA9IG90aGVySW50ZXJuYWxTcGluZS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgdmFyIG5vZGVUaGlzID0gdGhpc0ludGVybmFsU3BpbmVbbGFzdFRoaXNdW3RoaXNMZXZlbEluZGljZXNbbGFzdFRoaXNdXTtcclxuICAgICAgICAgICAgICAgIHZhciBub2RlT3RoZXIgPSBvdGhlckludGVybmFsU3BpbmVbbGFzdE90aGVyXVtvdGhlckxldmVsSW5kaWNlc1tsYXN0T3RoZXJdXTtcclxuICAgICAgICAgICAgICAgIGlmIChub2RlT3RoZXIgPT09IG5vZGVUaGlzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJldkN1cnNvck9yZGVyID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzU3VjY2VzcyA9IEJUcmVlLnN0ZXAodGhpc0N1cnNvciwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3RoZXJTdWNjZXNzID0gQlRyZWUuc3RlcChvdGhlckN1cnNvciwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJldkN1cnNvck9yZGVyID0gY3Vyc29yT3JkZXI7XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3JPcmRlciA8IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXNTdWNjZXNzID0gQlRyZWUuc3RlcCh0aGlzQ3Vyc29yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG90aGVyU3VjY2VzcyA9IEJUcmVlLnN0ZXAob3RoZXJDdXJzb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzU3VjY2VzcyAmJiBvbmx5VGhpcylcclxuICAgICAgICAgICAgcmV0dXJuIEJUcmVlLmZpbmlzaEN1cnNvcldhbGsodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlLCBvbmx5VGhpcyk7XHJcbiAgICAgICAgaWYgKG90aGVyU3VjY2VzcyAmJiBvbmx5T3RoZXIpXHJcbiAgICAgICAgICAgIHJldHVybiBCVHJlZS5maW5pc2hDdXJzb3JXYWxrKG90aGVyQ3Vyc29yLCB0aGlzQ3Vyc29yLCBfY29tcGFyZSwgb25seU90aGVyKTtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIEhlbHBlciBtZXRob2RzIGZvciBkaWZmQWdhaW5zdCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgQlRyZWUuZmluaXNoQ3Vyc29yV2FsayA9IGZ1bmN0aW9uIChjdXJzb3IsIGN1cnNvckZpbmlzaGVkLCBjb21wYXJlS2V5cywgY2FsbGJhY2spIHtcclxuICAgICAgICB2YXIgY29tcGFyZWQgPSBCVHJlZS5jb21wYXJlKGN1cnNvciwgY3Vyc29yRmluaXNoZWQsIGNvbXBhcmVLZXlzKTtcclxuICAgICAgICBpZiAoY29tcGFyZWQgPT09IDApIHtcclxuICAgICAgICAgICAgaWYgKCFCVHJlZS5zdGVwKGN1cnNvcikpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChjb21wYXJlZCA8IDApIHtcclxuICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwiY3Vyc29yIHdhbGsgdGVybWluYXRlZCBlYXJseVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIEJUcmVlLnN0ZXBUb0VuZChjdXJzb3IsIGNhbGxiYWNrKTtcclxuICAgIH07XHJcbiAgICBCVHJlZS5zdGVwVG9FbmQgPSBmdW5jdGlvbiAoY3Vyc29yLCBjYWxsYmFjaykge1xyXG4gICAgICAgIHZhciBjYW5TdGVwID0gdHJ1ZTtcclxuICAgICAgICB3aGlsZSAoY2FuU3RlcCkge1xyXG4gICAgICAgICAgICB2YXIgbGVhZiA9IGN1cnNvci5sZWFmLCBsZXZlbEluZGljZXMgPSBjdXJzb3IubGV2ZWxJbmRpY2VzLCBjdXJyZW50S2V5ID0gY3Vyc29yLmN1cnJlbnRLZXk7XHJcbiAgICAgICAgICAgIGlmIChsZWFmKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBsZWFmLnZhbHVlc1tsZXZlbEluZGljZXNbbGV2ZWxJbmRpY2VzLmxlbmd0aCAtIDFdXTtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBjYWxsYmFjayhjdXJyZW50S2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5icmVhaylcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhblN0ZXAgPSBCVHJlZS5zdGVwKGN1cnNvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQlRyZWUubWFrZURpZmZDdXJzb3IgPSBmdW5jdGlvbiAodHJlZSkge1xyXG4gICAgICAgIHZhciBfcm9vdCA9IHRyZWUuX3Jvb3QsIGhlaWdodCA9IHRyZWUuaGVpZ2h0O1xyXG4gICAgICAgIHJldHVybiB7IGhlaWdodDogaGVpZ2h0LCBpbnRlcm5hbFNwaW5lOiBbW19yb290XV0sIGxldmVsSW5kaWNlczogWzBdLCBsZWFmOiB1bmRlZmluZWQsIGN1cnJlbnRLZXk6IF9yb290Lm1heEtleSgpIH07XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBBZHZhbmNlcyB0aGUgY3Vyc29yIHRvIHRoZSBuZXh0IHN0ZXAgaW4gdGhlIHdhbGsgb2YgaXRzIHRyZWUuXHJcbiAgICAgKiBDdXJzb3JzIGFyZSB3YWxrZWQgYmFja3dhcmRzIGluIHNvcnQgb3JkZXIsIGFzIHRoaXMgYWxsb3dzIHRoZW0gdG8gbGV2ZXJhZ2UgbWF4S2V5KCkgaW4gb3JkZXIgdG8gYmUgY29tcGFyZWQgaW4gTygxKS5cclxuICAgICAqIEBwYXJhbSBjdXJzb3IgVGhlIGN1cnNvciB0byBzdGVwXHJcbiAgICAgKiBAcGFyYW0gc3RlcFRvTm9kZSBJZiB0cnVlLCB0aGUgY3Vyc29yIHdpbGwgYmUgYWR2YW5jZWQgdG8gdGhlIG5leHQgbm9kZSAoc2tpcHBpbmcgdmFsdWVzKVxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgc3RlcCB3YXMgY29tcGxldGVkIGFuZCBmYWxzZSBpZiB0aGUgc3RlcCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgY3Vyc29yIHRvIG1vdmUgYmV5b25kIHRoZSBlbmQgb2YgdGhlIHRyZWUuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnN0ZXAgPSBmdW5jdGlvbiAoY3Vyc29yLCBzdGVwVG9Ob2RlKSB7XHJcbiAgICAgICAgdmFyIGludGVybmFsU3BpbmUgPSBjdXJzb3IuaW50ZXJuYWxTcGluZSwgbGV2ZWxJbmRpY2VzID0gY3Vyc29yLmxldmVsSW5kaWNlcywgbGVhZiA9IGN1cnNvci5sZWFmO1xyXG4gICAgICAgIGlmIChzdGVwVG9Ob2RlID09PSB0cnVlIHx8IGxlYWYpIHtcclxuICAgICAgICAgICAgdmFyIGxldmVsc0xlbmd0aCA9IGxldmVsSW5kaWNlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIC8vIFN0ZXAgdG8gdGhlIG5leHQgbm9kZSBvbmx5IGlmOlxyXG4gICAgICAgICAgICAvLyAtIFdlIGFyZSBleHBsaWNpdGx5IGRpcmVjdGVkIHRvIHZpYSBzdGVwVG9Ob2RlLCBvclxyXG4gICAgICAgICAgICAvLyAtIFRoZXJlIGFyZSBubyBrZXkvdmFsdWUgcGFpcnMgbGVmdCB0byBzdGVwIHRvIGluIHRoaXMgbGVhZlxyXG4gICAgICAgICAgICBpZiAoc3RlcFRvTm9kZSA9PT0gdHJ1ZSB8fCBsZXZlbEluZGljZXNbbGV2ZWxzTGVuZ3RoIC0gMV0gPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHZhciBzcGluZUxlbmd0aCA9IGludGVybmFsU3BpbmUubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgLy8gUm9vdCBpcyBsZWFmXHJcbiAgICAgICAgICAgICAgICBpZiAoc3BpbmVMZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy8gV2FsayBiYWNrIHVwIHRoZSB0cmVlIHVudGlsIHdlIGZpbmQgYSBuZXcgc3VidHJlZSB0byBkZXNjZW5kIGludG9cclxuICAgICAgICAgICAgICAgIHZhciBub2RlTGV2ZWxJbmRleCA9IHNwaW5lTGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIHZhciBsZXZlbEluZGV4V2Fsa0JhY2sgPSBub2RlTGV2ZWxJbmRleDtcclxuICAgICAgICAgICAgICAgIHdoaWxlIChsZXZlbEluZGV4V2Fsa0JhY2sgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsZXZlbEluZGljZXNbbGV2ZWxJbmRleFdhbGtCYWNrXSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxldmVsSW5kZXhXYWxrQmFjayA8IGxldmVsc0xlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBsZWFmIHN0YXRlIGZyb20gY3Vyc29yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IubGVhZiA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsSW5kaWNlcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSB3YWxrZWQgdXB3YXJkcyBwYXN0IGFueSBpbnRlcm5hbCBub2RlLCBzbGljZSB0aGVtIG91dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGV2ZWxJbmRleFdhbGtCYWNrIDwgbm9kZUxldmVsSW5kZXgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuaW50ZXJuYWxTcGluZSA9IGludGVybmFsU3BpbmUuc2xpY2UoMCwgbGV2ZWxJbmRleFdhbGtCYWNrICsgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gbmV3IGludGVybmFsIG5vZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmN1cnJlbnRLZXkgPSBpbnRlcm5hbFNwaW5lW2xldmVsSW5kZXhXYWxrQmFja11bLS1sZXZlbEluZGljZXNbbGV2ZWxJbmRleFdhbGtCYWNrXV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXZlbEluZGV4V2Fsa0JhY2stLTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEN1cnNvciBpcyBpbiB0aGUgZmFyIGxlZnQgbGVhZiBvZiB0aGUgdHJlZSwgbm8gbW9yZSBub2RlcyB0byBlbnVtZXJhdGVcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gbmV3IGxlYWYgdmFsdWVcclxuICAgICAgICAgICAgICAgIHZhciB2YWx1ZUluZGV4ID0gLS1sZXZlbEluZGljZXNbbGV2ZWxzTGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgICAgICBjdXJzb3IuY3VycmVudEtleSA9IGxlYWYua2V5c1t2YWx1ZUluZGV4XTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgeyAvLyBDdXJzb3IgZG9lcyBub3QgcG9pbnQgdG8gYSB2YWx1ZSBpbiBhIGxlYWYsIHNvIG1vdmUgZG93bndhcmRzXHJcbiAgICAgICAgICAgIHZhciBuZXh0TGV2ZWwgPSBpbnRlcm5hbFNwaW5lLmxlbmd0aDtcclxuICAgICAgICAgICAgdmFyIGN1cnJlbnRMZXZlbCA9IG5leHRMZXZlbCAtIDE7XHJcbiAgICAgICAgICAgIHZhciBub2RlID0gaW50ZXJuYWxTcGluZVtjdXJyZW50TGV2ZWxdW2xldmVsSW5kaWNlc1tjdXJyZW50TGV2ZWxdXTtcclxuICAgICAgICAgICAgaWYgKG5vZGUuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBFbnRlcmluZyBpbnRvIGEgbGVhZi4gU2V0IHRoZSBjdXJzb3IgdG8gcG9pbnQgYXQgdGhlIGxhc3Qga2V5L3ZhbHVlIHBhaXIuXHJcbiAgICAgICAgICAgICAgICBjdXJzb3IubGVhZiA9IG5vZGU7XHJcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWVJbmRleCA9IGxldmVsSW5kaWNlc1tuZXh0TGV2ZWxdID0gbm9kZS52YWx1ZXMubGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIGN1cnNvci5jdXJyZW50S2V5ID0gbm9kZS5rZXlzW3ZhbHVlSW5kZXhdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjtcclxuICAgICAgICAgICAgICAgIGludGVybmFsU3BpbmVbbmV4dExldmVsXSA9IGNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkSW5kZXggPSBjaGlsZHJlbi5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgbGV2ZWxJbmRpY2VzW25leHRMZXZlbF0gPSBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yLmN1cnJlbnRLZXkgPSBjaGlsZHJlbltjaGlsZEluZGV4XS5tYXhLZXkoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlcyB0aGUgdHdvIGN1cnNvcnMuIFJldHVybnMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoaWNoIGN1cnNvciBpcyBhaGVhZCBpbiBhIHdhbGsuXHJcbiAgICAgKiBOb3RlIHRoYXQgY3Vyc29ycyBhcmUgYWR2YW5jZWQgaW4gcmV2ZXJzZSBzb3J0aW5nIG9yZGVyLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnNvckEsIGN1cnNvckIsIGNvbXBhcmVLZXlzKSB7XHJcbiAgICAgICAgdmFyIGhlaWdodEEgPSBjdXJzb3JBLmhlaWdodCwgY3VycmVudEtleUEgPSBjdXJzb3JBLmN1cnJlbnRLZXksIGxldmVsSW5kaWNlc0EgPSBjdXJzb3JBLmxldmVsSW5kaWNlcztcclxuICAgICAgICB2YXIgaGVpZ2h0QiA9IGN1cnNvckIuaGVpZ2h0LCBjdXJyZW50S2V5QiA9IGN1cnNvckIuY3VycmVudEtleSwgbGV2ZWxJbmRpY2VzQiA9IGN1cnNvckIubGV2ZWxJbmRpY2VzO1xyXG4gICAgICAgIC8vIFJldmVyc2UgdGhlIGNvbXBhcmlzb24gb3JkZXIsIGFzIGN1cnNvcnMgYXJlIGFkdmFuY2VkIGluIHJldmVyc2Ugc29ydGluZyBvcmRlclxyXG4gICAgICAgIHZhciBrZXlDb21wYXJpc29uID0gY29tcGFyZUtleXMoY3VycmVudEtleUIsIGN1cnJlbnRLZXlBKTtcclxuICAgICAgICBpZiAoa2V5Q29tcGFyaXNvbiAhPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4ga2V5Q29tcGFyaXNvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTm9ybWFsaXplIGRlcHRoIHZhbHVlcyByZWxhdGl2ZSB0byB0aGUgc2hvcnRlc3QgdHJlZS5cclxuICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCBjb25jdXJyZW50IGN1cnNvciB3YWxrcyBvZiB0cmVlcyBvZiBkaWZmZXJpbmcgaGVpZ2h0cyBjYW4gcmVsaWFibHkgbGFuZCBvbiBzaGFyZWQgbm9kZXMgYXQgdGhlIHNhbWUgdGltZS5cclxuICAgICAgICAvLyBUbyBhY2NvbXBsaXNoIHRoaXMsIGEgY3Vyc29yIHRoYXQgaXMgb24gYW4gaW50ZXJuYWwgbm9kZSBhdCBkZXB0aCBEMSB3aXRoIG1heEtleSBYIGlzIGNvbnNpZGVyZWQgXCJiZWhpbmRcIiBhIGN1cnNvciBvbiBhblxyXG4gICAgICAgIC8vIGludGVybmFsIG5vZGUgYXQgZGVwdGggRDIgd2l0aCBtYXhLZXkgWSwgd2hlbiBEMSA8IEQyLiBUaHVzLCBhbHdheXMgd2Fsa2luZyB0aGUgY3Vyc29yIHRoYXQgaXMgXCJiZWhpbmRcIiB3aWxsIGFsbG93IHRoZSBjdXJzb3JcclxuICAgICAgICAvLyBhdCBzaGFsbG93ZXIgZGVwdGggKGJ1dCBlcXVhbCBtYXhLZXkpIHRvIFwiY2F0Y2ggdXBcIiBhbmQgbGFuZCBvbiBzaGFyZWQgbm9kZXMuXHJcbiAgICAgICAgdmFyIGhlaWdodE1pbiA9IGhlaWdodEEgPCBoZWlnaHRCID8gaGVpZ2h0QSA6IGhlaWdodEI7XHJcbiAgICAgICAgdmFyIGRlcHRoQU5vcm1hbGl6ZWQgPSBsZXZlbEluZGljZXNBLmxlbmd0aCAtIChoZWlnaHRBIC0gaGVpZ2h0TWluKTtcclxuICAgICAgICB2YXIgZGVwdGhCTm9ybWFsaXplZCA9IGxldmVsSW5kaWNlc0IubGVuZ3RoIC0gKGhlaWdodEIgLSBoZWlnaHRNaW4pO1xyXG4gICAgICAgIHJldHVybiBkZXB0aEFOb3JtYWxpemVkIC0gZGVwdGhCTm9ybWFsaXplZDtcclxuICAgIH07XHJcbiAgICAvLyBFbmQgb2YgaGVscGVyIG1ldGhvZHMgZm9yIGRpZmZBZ2FpbnN0IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLyoqIFJldHVybnMgYSBuZXcgaXRlcmF0b3IgZm9yIGl0ZXJhdGluZyB0aGUga2V5cyBvZiBlYWNoIHBhaXIgaW4gYXNjZW5kaW5nIG9yZGVyLlxyXG4gICAgICogIEBwYXJhbSBmaXJzdEtleTogTWluaW11bSBrZXkgdG8gaW5jbHVkZSBpbiB0aGUgb3V0cHV0LiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmtleXMgPSBmdW5jdGlvbiAoZmlyc3RLZXkpIHtcclxuICAgICAgICB2YXIgaXQgPSB0aGlzLmVudHJpZXMoZmlyc3RLZXksIFJldXNlZEFycmF5KTtcclxuICAgICAgICByZXR1cm4gaXRlcmF0b3IoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgbiA9IGl0Lm5leHQoKTtcclxuICAgICAgICAgICAgaWYgKG4udmFsdWUpXHJcbiAgICAgICAgICAgICAgICBuLnZhbHVlID0gbi52YWx1ZVswXTtcclxuICAgICAgICAgICAgcmV0dXJuIG47XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBuZXcgaXRlcmF0b3IgZm9yIGl0ZXJhdGluZyB0aGUgdmFsdWVzIG9mIGVhY2ggcGFpciBpbiBvcmRlciBieSBrZXkuXHJcbiAgICAgKiAgQHBhcmFtIGZpcnN0S2V5OiBNaW5pbXVtIGtleSB3aG9zZSBhc3NvY2lhdGVkIHZhbHVlIGlzIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudmFsdWVzID0gZnVuY3Rpb24gKGZpcnN0S2V5KSB7XHJcbiAgICAgICAgdmFyIGl0ID0gdGhpcy5lbnRyaWVzKGZpcnN0S2V5LCBSZXVzZWRBcnJheSk7XHJcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIG4gPSBpdC5uZXh0KCk7XHJcbiAgICAgICAgICAgIGlmIChuLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgbi52YWx1ZSA9IG4udmFsdWVbMV07XHJcbiAgICAgICAgICAgIHJldHVybiBuO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCVHJlZS5wcm90b3R5cGUsIFwibWF4Tm9kZVNpemVcIiwge1xyXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAgICAgLy8gQWRkaXRpb25hbCBtZXRob2RzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgICAgICAvKiogUmV0dXJucyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hpbGRyZW4vdmFsdWVzIGJlZm9yZSBub2RlcyB3aWxsIHNwbGl0LiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbWF4Tm9kZVNpemU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLyoqIEdldHMgdGhlIGxvd2VzdCBrZXkgaW4gdGhlIHRyZWUuIENvbXBsZXhpdHk6IE8obG9nIHNpemUpICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubWluS2V5ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fcm9vdC5taW5LZXkoKTsgfTtcclxuICAgIC8qKiBHZXRzIHRoZSBoaWdoZXN0IGtleSBpbiB0aGUgdHJlZS4gQ29tcGxleGl0eTogTygxKSAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLm1heEtleSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX3Jvb3QubWF4S2V5KCk7IH07XHJcbiAgICAvKiogUXVpY2tseSBjbG9uZXMgdGhlIHRyZWUgYnkgbWFya2luZyB0aGUgcm9vdCBub2RlIGFzIHNoYXJlZC5cclxuICAgICAqICBCb3RoIGNvcGllcyByZW1haW4gZWRpdGFibGUuIFdoZW4geW91IG1vZGlmeSBlaXRoZXIgY29weSwgYW55XHJcbiAgICAgKiAgbm9kZXMgdGhhdCBhcmUgc2hhcmVkIChvciBwb3RlbnRpYWxseSBzaGFyZWQpIGJldHdlZW4gdGhlIHR3b1xyXG4gICAgICogIGNvcGllcyBhcmUgY2xvbmVkIHNvIHRoYXQgdGhlIGNoYW5nZXMgZG8gbm90IGFmZmVjdCBvdGhlciBjb3BpZXMuXHJcbiAgICAgKiAgVGhpcyBpcyBrbm93biBhcyBjb3B5LW9uLXdyaXRlIGJlaGF2aW9yLCBvciBcImxhenkgY29weWluZ1wiLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuaXNTaGFyZWQgPSB0cnVlO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgQlRyZWUodW5kZWZpbmVkLCB0aGlzLl9jb21wYXJlLCB0aGlzLl9tYXhOb2RlU2l6ZSk7XHJcbiAgICAgICAgcmVzdWx0Ll9yb290ID0gdGhpcy5fcm9vdDtcclxuICAgICAgICByZXN1bHQuX3NpemUgPSB0aGlzLl9zaXplO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIFBlcmZvcm1zIGEgZ3JlZWR5IGNsb25lLCBpbW1lZGlhdGVseSBkdXBsaWNhdGluZyBhbnkgbm9kZXMgdGhhdCBhcmVcclxuICAgICAqICBub3QgY3VycmVudGx5IG1hcmtlZCBhcyBzaGFyZWQsIGluIG9yZGVyIHRvIGF2b2lkIG1hcmtpbmcgYW55XHJcbiAgICAgKiAgYWRkaXRpb25hbCBub2RlcyBhcyBzaGFyZWQuXHJcbiAgICAgKiAgQHBhcmFtIGZvcmNlIENsb25lIGFsbCBub2RlcywgZXZlbiBzaGFyZWQgb25lcy5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdyZWVkeUNsb25lID0gZnVuY3Rpb24gKGZvcmNlKSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBCVHJlZSh1bmRlZmluZWQsIHRoaXMuX2NvbXBhcmUsIHRoaXMuX21heE5vZGVTaXplKTtcclxuICAgICAgICByZXN1bHQuX3Jvb3QgPSB0aGlzLl9yb290LmdyZWVkeUNsb25lKGZvcmNlKTtcclxuICAgICAgICByZXN1bHQuX3NpemUgPSB0aGlzLl9zaXplO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIEdldHMgYW4gYXJyYXkgZmlsbGVkIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSB0cmVlLCBzb3J0ZWQgYnkga2V5ICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIChtYXhMZW5ndGgpIHtcclxuICAgICAgICBpZiAobWF4TGVuZ3RoID09PSB2b2lkIDApIHsgbWF4TGVuZ3RoID0gMHg3RkZGRkZGRjsgfVxyXG4gICAgICAgIHZhciBtaW4gPSB0aGlzLm1pbktleSgpLCBtYXggPSB0aGlzLm1heEtleSgpO1xyXG4gICAgICAgIGlmIChtaW4gIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmFuZ2UobWluLCBtYXgsIHRydWUsIG1heExlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfTtcclxuICAgIC8qKiBHZXRzIGFuIGFycmF5IG9mIGFsbCBrZXlzLCBzb3J0ZWQgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5rZXlzQXJyYXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcclxuICAgICAgICB0aGlzLl9yb290LmZvclJhbmdlKHRoaXMubWluS2V5KCksIHRoaXMubWF4S2V5KCksIHRydWUsIGZhbHNlLCB0aGlzLCAwLCBmdW5jdGlvbiAoaywgdikgeyByZXN1bHRzLnB1c2goayk7IH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgfTtcclxuICAgIC8qKiBHZXRzIGFuIGFycmF5IG9mIGFsbCB2YWx1ZXMsIHNvcnRlZCBieSBrZXkgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS52YWx1ZXNBcnJheSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuZm9yUmFuZ2UodGhpcy5taW5LZXkoKSwgdGhpcy5tYXhLZXkoKSwgdHJ1ZSwgZmFsc2UsIHRoaXMsIDAsIGZ1bmN0aW9uIChrLCB2KSB7IHJlc3VsdHMucHVzaCh2KTsgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9O1xyXG4gICAgLyoqIEdldHMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0cmVlJ3MgZGF0YSBiYXNlZCBvbiB0b0FycmF5KCkuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9BcnJheSgpLnRvU3RyaW5nKCk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFN0b3JlcyBhIGtleS12YWx1ZSBwYWlyIG9ubHkgaWYgdGhlIGtleSBkb2Vzbid0IGFscmVhZHkgZXhpc3QgaW4gdGhlIHRyZWUuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IGtleSB3YXMgYWRkZWRcclxuICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuc2V0SWZOb3RQcmVzZW50ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXQoa2V5LCB2YWx1ZSwgZmFsc2UpO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBhaXIgd2hvc2Uga2V5IGlzIGxhcmdlciB0aGFuIHRoZSBzcGVjaWZpZWQga2V5IChvciB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm9uZSkuXHJcbiAgICAgKiBJZiBrZXkgPT09IHVuZGVmaW5lZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBsb3dlc3QgcGFpci5cclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxyXG4gICAgICogQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMsIHRvXHJcbiAgICAgKiBhdm9pZCBjcmVhdGluZyBhIG5ldyBhcnJheSBvbiBldmVyeSBpdGVyYXRpb24uXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0SGlnaGVyUGFpciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV1c2VkQXJyYXkgPSByZXVzZWRBcnJheSB8fCBbXTtcclxuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QubWluUGFpcihyZXVzZWRBcnJheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRIaWdoZXIoa2V5LCB0aGlzLl9jb21wYXJlLCBmYWxzZSwgcmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IGtleSBsYXJnZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUuXHJcbiAgICAgKiAgQWxzbywgbmV4dEhpZ2hlcktleSh1bmRlZmluZWQpIHJldHVybnMgdGhlIGxvd2VzdCBrZXkuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0SGlnaGVyS2V5ID0gZnVuY3Rpb24gKGtleSkge1xyXG4gICAgICAgIHZhciBwID0gdGhpcy5uZXh0SGlnaGVyUGFpcihrZXksIFJldXNlZEFycmF5KTtcclxuICAgICAgICByZXR1cm4gcCAmJiBwWzBdO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBhaXIgd2hvc2Uga2V5IGlzIHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSAob3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUpLlxyXG4gICAgICogIElmIGtleSA9PT0gdW5kZWZpbmVkLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGhpZ2hlc3QgcGFpci5cclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxyXG4gICAgICogQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMsIHRvXHJcbiAgICAgKiAgICAgICAgYXZvaWQgY3JlYXRpbmcgYSBuZXcgYXJyYXkgZWFjaCB0aW1lIHlvdSBjYWxsIHRoaXMgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubmV4dExvd2VyUGFpciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV1c2VkQXJyYXkgPSByZXVzZWRBcnJheSB8fCBbXTtcclxuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QubWF4UGFpcihyZXVzZWRBcnJheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRMb3dlcihrZXksIHRoaXMuX2NvbXBhcmUsIGZhbHNlLCByZXVzZWRBcnJheSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgdGhlIG5leHQga2V5IHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUuXHJcbiAgICAgKiAgQWxzbywgbmV4dExvd2VyS2V5KHVuZGVmaW5lZCkgcmV0dXJucyB0aGUgaGlnaGVzdCBrZXkuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0TG93ZXJLZXkgPSBmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgdmFyIHAgPSB0aGlzLm5leHRMb3dlclBhaXIoa2V5LCBSZXVzZWRBcnJheSk7XHJcbiAgICAgICAgcmV0dXJuIHAgJiYgcFswXTtcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdXBwbGllZCBrZXkgaWYgaXQgZXhpc3RzXHJcbiAgICAgKiAgb3IgdGhlIHBhaXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXh0IGxvd2VyIHBhaXIgb3RoZXJ3aXNlLiBJZiB0aGVyZSBpcyBub1xyXG4gICAgICogIG5leHQgbG93ZXIgcGFpciwgdW5kZWZpbmVkIGlzIHJldHVybmVkLlxyXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHNlYXJjaCBmb3IuXHJcbiAgICAgKiBAcGFyYW0gcmV1c2VkQXJyYXkgT3B0aW9uYWwgYXJyYXkgdXNlZCByZXBlYXRlZGx5IHRvIHN0b3JlIGtleS12YWx1ZSBwYWlycywgdG9cclxuICAgICAqICAgICAgICBhdm9pZCBjcmVhdGluZyBhIG5ldyBhcnJheSBlYWNoIHRpbWUgeW91IGNhbGwgdGhpcyBtZXRob2QuXHJcbiAgICAgKiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdldFBhaXJPck5leHRMb3dlciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dExvd2VyKGtleSwgdGhpcy5fY29tcGFyZSwgdHJ1ZSwgcmV1c2VkQXJyYXkgfHwgW10pO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBrZXktdmFsdWUgcGFpciBhc3NvY2lhdGVkIHdpdGggdGhlIHN1cHBsaWVkIGtleSBpZiBpdCBleGlzdHNcclxuICAgICAqICBvciB0aGUgcGFpciBhc3NvY2lhdGVkIHdpdGggdGhlIG5leHQgbG93ZXIgcGFpciBvdGhlcndpc2UuIElmIHRoZXJlIGlzIG5vXHJcbiAgICAgKiAgbmV4dCBsb3dlciBwYWlyLCB1bmRlZmluZWQgaXMgcmV0dXJuZWQuXHJcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cclxuICAgICAqIEBwYXJhbSByZXVzZWRBcnJheSBPcHRpb25hbCBhcnJheSB1c2VkIHJlcGVhdGVkbHkgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLCB0b1xyXG4gICAgICogICAgICAgIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IGVhY2ggdGltZSB5b3UgY2FsbCB0aGlzIG1ldGhvZC5cclxuICAgICAqICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dEhpZ2hlcihrZXksIHRoaXMuX2NvbXBhcmUsIHRydWUsIHJldXNlZEFycmF5IHx8IFtdKTtcclxuICAgIH07XHJcbiAgICAvKiogRWRpdHMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIGtleSBpbiB0aGUgdHJlZSwgaWYgaXQgYWxyZWFkeSBleGlzdHMuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBrZXkgZXhpc3RlZCwgZmFsc2UgaWYgbm90LlxyXG4gICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5jaGFuZ2VJZlByZXNlbnQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRSYW5nZShrZXksIGtleSwgdHJ1ZSwgZnVuY3Rpb24gKGssIHYpIHsgcmV0dXJuICh7IHZhbHVlOiB2YWx1ZSB9KTsgfSkgIT09IDA7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBCdWlsZHMgYW4gYXJyYXkgb2YgcGFpcnMgZnJvbSB0aGUgc3BlY2lmaWVkIHJhbmdlIG9mIGtleXMsIHNvcnRlZCBieSBrZXkuXHJcbiAgICAgKiBFYWNoIHJldHVybmVkIHBhaXIgaXMgYWxzbyBhbiBhcnJheTogcGFpclswXSBpcyB0aGUga2V5LCBwYWlyWzFdIGlzIHRoZSB2YWx1ZS5cclxuICAgICAqIEBwYXJhbSBsb3cgVGhlIGZpcnN0IGtleSBpbiB0aGUgYXJyYXkgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBUaGlzIG1ldGhvZCByZXR1cm5zIHdoZW4gYSBrZXkgbGFyZ2VyIHRoYW4gdGhpcyBpcyByZWFjaGVkLlxyXG4gICAgICogQHBhcmFtIGluY2x1ZGVIaWdoIElmIHRoZSBgaGlnaGAga2V5IGlzIHByZXNlbnQsIGl0cyBwYWlyIHdpbGwgYmUgaW5jbHVkZWRcclxuICAgICAqICAgICAgICBpbiB0aGUgb3V0cHV0IGlmIGFuZCBvbmx5IGlmIHRoaXMgcGFyYW1ldGVyIGlzIHRydWUuIE5vdGU6IGlmIHRoZVxyXG4gICAgICogICAgICAgIGBsb3dgIGtleSBpcyBwcmVzZW50LCBpdCBpcyBhbHdheXMgaW5jbHVkZWQgaW4gdGhlIG91dHB1dC5cclxuICAgICAqIEBwYXJhbSBtYXhMZW5ndGggTGVuZ3RoIGxpbWl0LiBnZXRSYW5nZSB3aWxsIHN0b3Agc2Nhbm5pbmcgdGhlIHRyZWUgd2hlblxyXG4gICAgICogICAgICAgICAgICAgICAgICB0aGUgYXJyYXkgcmVhY2hlcyB0aGlzIHNpemUuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0YXRpb25hbCBjb21wbGV4aXR5OiBPKHJlc3VsdC5sZW5ndGggKyBsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdldFJhbmdlID0gZnVuY3Rpb24gKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIG1heExlbmd0aCkge1xyXG4gICAgICAgIGlmIChtYXhMZW5ndGggPT09IHZvaWQgMCkgeyBtYXhMZW5ndGggPSAweDNGRkZGRkY7IH1cclxuICAgICAgICB2YXIgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuZm9yUmFuZ2UobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgZmFsc2UsIHRoaXMsIDAsIGZ1bmN0aW9uIChrLCB2KSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChbaywgdl0pO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cy5sZW5ndGggPiBtYXhMZW5ndGggPyBCcmVhayA6IHVuZGVmaW5lZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgIH07XHJcbiAgICAvKiogQWRkcyBhbGwgcGFpcnMgZnJvbSBhIGxpc3Qgb2Yga2V5LXZhbHVlIHBhaXJzLlxyXG4gICAgICogQHBhcmFtIHBhaXJzIFBhaXJzIHRvIGFkZCB0byB0aGlzIHRyZWUuIElmIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyxcclxuICAgICAqICAgICAgICBsYXRlciBwYWlycyBjdXJyZW50bHkgb3ZlcndyaXRlIGVhcmxpZXIgb25lcyAoZS5nLiBbWzAsMV0sWzAsN11dXHJcbiAgICAgKiAgICAgICAgYXNzb2NpYXRlcyAwIHdpdGggNy4pXHJcbiAgICAgKiBAcGFyYW0gb3ZlcndyaXRlIFdoZXRoZXIgdG8gb3ZlcndyaXRlIHBhaXJzIHRoYXQgYWxyZWFkeSBleGlzdCAoaWYgZmFsc2UsXHJcbiAgICAgKiAgICAgICAgcGFpcnNbaV0gaXMgaWdub3JlZCB3aGVuIHRoZSBrZXkgcGFpcnNbaV1bMF0gYWxyZWFkeSBleGlzdHMuKVxyXG4gICAgICogQHJldHVybnMgVGhlIG51bWJlciBvZiBwYWlycyBhZGRlZCB0byB0aGUgY29sbGVjdGlvbi5cclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8ocGFpcnMubGVuZ3RoICogbG9nKHNpemUgKyBwYWlycy5sZW5ndGgpKVxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuc2V0UGFpcnMgPSBmdW5jdGlvbiAocGFpcnMsIG92ZXJ3cml0ZSkge1xyXG4gICAgICAgIHZhciBhZGRlZCA9IDA7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYWlycy5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2V0KHBhaXJzW2ldWzBdLCBwYWlyc1tpXVsxXSwgb3ZlcndyaXRlKSlcclxuICAgICAgICAgICAgICAgIGFkZGVkKys7XHJcbiAgICAgICAgcmV0dXJuIGFkZGVkO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogU2NhbnMgdGhlIHNwZWNpZmllZCByYW5nZSBvZiBrZXlzLCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkga2V5LlxyXG4gICAgICogTm90ZTogdGhlIGNhbGxiYWNrIGBvbkZvdW5kYCBtdXN0IG5vdCBpbnNlcnQgb3IgcmVtb3ZlIGl0ZW1zIGluIHRoZVxyXG4gICAgICogY29sbGVjdGlvbi4gRG9pbmcgc28gbWF5IGNhdXNlIGluY29ycmVjdCBkYXRhIHRvIGJlIHNlbnQgdG8gdGhlXHJcbiAgICAgKiBjYWxsYmFjayBhZnRlcndhcmQuXHJcbiAgICAgKiBAcGFyYW0gbG93IFRoZSBmaXJzdCBrZXkgc2Nhbm5lZCB3aWxsIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBgbG93YC5cclxuICAgICAqIEBwYXJhbSBoaWdoIFNjYW5uaW5nIHN0b3BzIHdoZW4gYSBrZXkgbGFyZ2VyIHRoYW4gdGhpcyBpcyByZWFjaGVkLlxyXG4gICAgICogQHBhcmFtIGluY2x1ZGVIaWdoIElmIHRoZSBgaGlnaGAga2V5IGlzIHByZXNlbnQsIGBvbkZvdW5kYCBpcyBjYWxsZWQgZm9yXHJcbiAgICAgKiAgICAgICAgdGhhdCBmaW5hbCBwYWlyIGlmIGFuZCBvbmx5IGlmIHRoaXMgcGFyYW1ldGVyIGlzIHRydWUuXHJcbiAgICAgKiBAcGFyYW0gb25Gb3VuZCBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGZvciBlYWNoIGtleS12YWx1ZSBwYWlyLiBUaGlzXHJcbiAgICAgKiAgICAgICAgZnVuY3Rpb24gY2FuIHJldHVybiB7YnJlYWs6Un0gdG8gc3RvcCBlYXJseSB3aXRoIHJlc3VsdCBSLlxyXG4gICAgICogQHBhcmFtIGluaXRpYWxDb3VudGVyIEluaXRpYWwgdGhpcmQgYXJndW1lbnQgb2Ygb25Gb3VuZC4gVGhpcyB2YWx1ZVxyXG4gICAgICogICAgICAgIGluY3JlYXNlcyBieSBvbmUgZWFjaCB0aW1lIGBvbkZvdW5kYCBpcyBjYWxsZWQuIERlZmF1bHQ6IDBcclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdmFsdWVzIGZvdW5kLCBvciBSIGlmIHRoZSBjYWxsYmFjayByZXR1cm5lZFxyXG4gICAgICogICAgICAgIGB7YnJlYWs6Un1gIHRvIHN0b3AgZWFybHkuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0YXRpb25hbCBjb21wbGV4aXR5OiBPKG51bWJlciBvZiBpdGVtcyBzY2FubmVkICsgbG9nIHNpemUpXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mb3JSYW5nZSA9IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBvbkZvdW5kLCBpbml0aWFsQ291bnRlcikge1xyXG4gICAgICAgIHZhciByID0gdGhpcy5fcm9vdC5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBmYWxzZSwgdGhpcywgaW5pdGlhbENvdW50ZXIgfHwgMCwgb25Gb3VuZCk7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSBcIm51bWJlclwiID8gciA6IHIuYnJlYWs7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTY2FucyBhbmQgcG90ZW50aWFsbHkgbW9kaWZpZXMgdmFsdWVzIGZvciBhIHN1YnNlcXVlbmNlIG9mIGtleXMuXHJcbiAgICAgKiBOb3RlOiB0aGUgY2FsbGJhY2sgYG9uRm91bmRgIHNob3VsZCBpZGVhbGx5IGJlIGEgcHVyZSBmdW5jdGlvbi5cclxuICAgICAqICAgU3BlY2ZpY2FsbHksIGl0IG11c3Qgbm90IGluc2VydCBpdGVtcywgY2FsbCBjbG9uZSgpLCBvciBjaGFuZ2VcclxuICAgICAqICAgdGhlIGNvbGxlY3Rpb24gZXhjZXB0IHZpYSByZXR1cm4gdmFsdWU7IG91dC1vZi1iYW5kIGVkaXRpbmcgbWF5XHJcbiAgICAgKiAgIGNhdXNlIGFuIGV4Y2VwdGlvbiBvciBtYXkgY2F1c2UgaW5jb3JyZWN0IGRhdGEgdG8gYmUgc2VudCB0b1xyXG4gICAgICogICB0aGUgY2FsbGJhY2sgKGR1cGxpY2F0ZSBvciBtaXNzZWQgaXRlbXMpLiBJdCBtdXN0IG5vdCBjYXVzZSBhXHJcbiAgICAgKiAgIGNsb25lKCkgb2YgdGhlIGNvbGxlY3Rpb24sIG90aGVyd2lzZSB0aGUgY2xvbmUgY291bGQgYmUgbW9kaWZpZWRcclxuICAgICAqICAgYnkgY2hhbmdlcyByZXF1ZXN0ZWQgYnkgdGhlIGNhbGxiYWNrLlxyXG4gICAgICogQHBhcmFtIGxvdyBUaGUgZmlyc3Qga2V5IHNjYW5uZWQgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBTY2FubmluZyBzdG9wcyB3aGVuIGEga2V5IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVhY2hlZC5cclxuICAgICAqIEBwYXJhbSBpbmNsdWRlSGlnaCBJZiB0aGUgYGhpZ2hgIGtleSBpcyBwcmVzZW50LCBgb25Gb3VuZGAgaXMgY2FsbGVkIGZvclxyXG4gICAgICogICAgICAgIHRoYXQgZmluYWwgcGFpciBpZiBhbmQgb25seSBpZiB0aGlzIHBhcmFtZXRlciBpcyB0cnVlLlxyXG4gICAgICogQHBhcmFtIG9uRm91bmQgQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBmb3IgZWFjaCBrZXktdmFsdWUgcGFpci4gVGhpc1xyXG4gICAgICogICAgICAgIGZ1bmN0aW9uIGNhbiByZXR1cm4gYHt2YWx1ZTp2fWAgdG8gY2hhbmdlIHRoZSB2YWx1ZSBhc3NvY2lhdGVkXHJcbiAgICAgKiAgICAgICAgd2l0aCB0aGUgY3VycmVudCBrZXksIGB7ZGVsZXRlOnRydWV9YCB0byBkZWxldGUgdGhlIGN1cnJlbnQgcGFpcixcclxuICAgICAqICAgICAgICBge2JyZWFrOlJ9YCB0byBzdG9wIGVhcmx5IHdpdGggcmVzdWx0IFIsIG9yIGl0IGNhbiByZXR1cm4gbm90aGluZ1xyXG4gICAgICogICAgICAgICh1bmRlZmluZWQgb3Ige30pIHRvIGNhdXNlIG5vIGVmZmVjdCBhbmQgY29udGludWUgaXRlcmF0aW5nLlxyXG4gICAgICogICAgICAgIGB7YnJlYWs6Un1gIGNhbiBiZSBjb21iaW5lZCB3aXRoIG9uZSBvZiB0aGUgb3RoZXIgdHdvIGNvbW1hbmRzLlxyXG4gICAgICogICAgICAgIFRoZSB0aGlyZCBhcmd1bWVudCBgY291bnRlcmAgaXMgdGhlIG51bWJlciBvZiBpdGVtcyBpdGVyYXRlZFxyXG4gICAgICogICAgICAgIHByZXZpb3VzbHk7IGl0IGVxdWFscyAwIHdoZW4gYG9uRm91bmRgIGlzIGNhbGxlZCB0aGUgZmlyc3QgdGltZS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdmFsdWVzIHNjYW5uZWQsIG9yIFIgaWYgdGhlIGNhbGxiYWNrIHJldHVybmVkXHJcbiAgICAgKiAgICAgICAgYHticmVhazpSfWAgdG8gc3RvcCBlYXJseS5cclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogICBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obnVtYmVyIG9mIGl0ZW1zIHNjYW5uZWQgKyBsb2cgc2l6ZSlcclxuICAgICAqICAgTm90ZTogaWYgdGhlIHRyZWUgaGFzIGJlZW4gY2xvbmVkIHdpdGggY2xvbmUoKSwgYW55IHNoYXJlZFxyXG4gICAgICogICBub2RlcyBhcmUgY29waWVkIGJlZm9yZSBgb25Gb3VuZGAgaXMgY2FsbGVkLiBUaGlzIHRha2VzIE8obikgdGltZVxyXG4gICAgICogICB3aGVyZSBuIGlzIHByb3BvcnRpb25hbCB0byB0aGUgYW1vdW50IG9mIHNoYXJlZCBkYXRhIHNjYW5uZWQuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5lZGl0UmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgb25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpIHtcclxuICAgICAgICB2YXIgcm9vdCA9IHRoaXMuX3Jvb3Q7XHJcbiAgICAgICAgaWYgKHJvb3QuaXNTaGFyZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSByb290ID0gcm9vdC5jbG9uZSgpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHZhciByID0gcm9vdC5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCB0cnVlLCB0aGlzLCBpbml0aWFsQ291bnRlciB8fCAwLCBvbkZvdW5kKTtcclxuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSBcIm51bWJlclwiID8gciA6IHIuYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICB2YXIgaXNTaGFyZWQgPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHdoaWxlIChyb290LmtleXMubGVuZ3RoIDw9IDEgJiYgIXJvb3QuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgICAgICBpc1NoYXJlZCB8fCAoaXNTaGFyZWQgPSByb290LmlzU2hhcmVkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSByb290ID0gcm9vdC5rZXlzLmxlbmd0aCA9PT0gMCA/IEVtcHR5TGVhZiA6XHJcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5jaGlsZHJlblswXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBJZiBhbnkgYW5jZXN0b3Igb2YgdGhlIG5ldyByb290IHdhcyBzaGFyZWQsIHRoZSBuZXcgcm9vdCBtdXN0IGFsc28gYmUgc2hhcmVkXHJcbiAgICAgICAgICAgIGlmIChpc1NoYXJlZCkge1xyXG4gICAgICAgICAgICAgICAgcm9vdC5pc1NoYXJlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqIFNhbWUgYXMgYGVkaXRSYW5nZWAgZXhjZXB0IHRoYXQgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBmb3IgYWxsIHBhaXJzLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmVkaXRBbGwgPSBmdW5jdGlvbiAob25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0UmFuZ2UodGhpcy5taW5LZXkoKSwgdGhpcy5tYXhLZXkoKSwgdHJ1ZSwgb25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBhIHJhbmdlIG9mIGtleS12YWx1ZSBwYWlycyBmcm9tIHRoZSBCKyB0cmVlLlxyXG4gICAgICogQHBhcmFtIGxvdyBUaGUgZmlyc3Qga2V5IHNjYW5uZWQgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBTY2FubmluZyBzdG9wcyB3aGVuIGEga2V5IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVhY2hlZC5cclxuICAgICAqIEBwYXJhbSBpbmNsdWRlSGlnaCBTcGVjaWZpZXMgd2hldGhlciB0aGUgYGhpZ2hgIGtleSwgaWYgcHJlc2VudCwgaXMgZGVsZXRlZC5cclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIHRoYXQgd2VyZSBkZWxldGVkLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSArIG51bWJlciBvZiBpdGVtcyBkZWxldGVkKVxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZGVsZXRlUmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBEZWxldGVSYW5nZSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIERlbGV0ZXMgYSBzZXJpZXMgb2Yga2V5cyBmcm9tIHRoZSBjb2xsZWN0aW9uLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmRlbGV0ZUtleXMgPSBmdW5jdGlvbiAoa2V5cykge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCByID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRlbGV0ZShrZXlzW2ldKSlcclxuICAgICAgICAgICAgICAgIHIrKztcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgIH07XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQlRyZWUucHJvdG90eXBlLCBcImhlaWdodFwiLCB7XHJcbiAgICAgICAgLyoqIEdldHMgdGhlIGhlaWdodCBvZiB0aGUgdHJlZTogdGhlIG51bWJlciBvZiBpbnRlcm5hbCBub2RlcyBiZXR3ZWVuIHRoZVxyXG4gICAgICAgICAqICBCVHJlZSBvYmplY3QgYW5kIGl0cyBsZWFmIG5vZGVzICh6ZXJvIGlmIHRoZXJlIGFyZSBubyBpbnRlcm5hbCBub2RlcykuICovXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fcm9vdDtcclxuICAgICAgICAgICAgdmFyIGhlaWdodCA9IC0xO1xyXG4gICAgICAgICAgICB3aGlsZSAobm9kZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0Kys7XHJcbiAgICAgICAgICAgICAgICBub2RlID0gbm9kZS5pc0xlYWYgPyB1bmRlZmluZWQgOiBub2RlLmNoaWxkcmVuWzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBoZWlnaHQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLyoqIE1ha2VzIHRoZSBvYmplY3QgcmVhZC1vbmx5IHRvIGVuc3VyZSBpdCBpcyBub3QgYWNjaWRlbnRhbGx5IG1vZGlmaWVkLlxyXG4gICAgICogIEZyZWV6aW5nIGRvZXMgbm90IGhhdmUgdG8gYmUgcGVybWFuZW50OyB1bmZyZWV6ZSgpIHJldmVyc2VzIHRoZSBlZmZlY3QuXHJcbiAgICAgKiAgVGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgcmVwbGFjaW5nIG11dGF0b3IgZnVuY3Rpb25zIHdpdGggYSBmdW5jdGlvblxyXG4gICAgICogIHRoYXQgdGhyb3dzIGFuIEVycm9yLiBDb21wYXJlZCB0byB1c2luZyBhIHByb3BlcnR5IChlLmcuIHRoaXMuaXNGcm96ZW4pXHJcbiAgICAgKiAgdGhpcyBpbXBsZW1lbnRhdGlvbiBnaXZlcyBiZXR0ZXIgcGVyZm9ybWFuY2UgaW4gbm9uLWZyb3plbiBCVHJlZXMuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mcmVlemUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHQgPSB0aGlzO1xyXG4gICAgICAgIC8vIE5vdGU6IGFsbCBvdGhlciBtdXRhdG9ycyB1bHRpbWF0ZWx5IGNhbGwgc2V0KCkgb3IgZWRpdFJhbmdlKCkgXHJcbiAgICAgICAgLy8gICAgICAgc28gd2UgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aG9zZSBvdGhlcnMuXHJcbiAgICAgICAgdC5jbGVhciA9IHQuc2V0ID0gdC5lZGl0UmFuZ2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dGVtcHRlZCB0byBtb2RpZnkgYSBmcm96ZW4gQlRyZWVcIik7XHJcbiAgICAgICAgfTtcclxuICAgIH07XHJcbiAgICAvKiogRW5zdXJlcyBtdXRhdGlvbnMgYXJlIGFsbG93ZWQsIHJldmVyc2luZyB0aGUgZWZmZWN0IG9mIGZyZWV6ZSgpLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLnVuZnJlZXplID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmUgXCJUaGUgb3BlcmFuZCBvZiBhICdkZWxldGUnIG9wZXJhdG9yIG11c3QgYmUgb3B0aW9uYWwuXCJcclxuICAgICAgICAvLyAgICAgICAgICAgICh3cm9uZzogZGVsZXRlIGRvZXMgbm90IGFmZmVjdCB0aGUgcHJvdG90eXBlLilcclxuICAgICAgICBkZWxldGUgdGhpcy5jbGVhcjtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZGVsZXRlIHRoaXMuc2V0O1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBkZWxldGUgdGhpcy5lZGl0UmFuZ2U7XHJcbiAgICB9O1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJpc0Zyb3plblwiLCB7XHJcbiAgICAgICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHJlZSBhcHBlYXJzIHRvIGJlIGZyb3plbi4gKi9cclxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoJ2VkaXRSYW5nZScpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIC8qKiBTY2FucyB0aGUgdHJlZSBmb3Igc2lnbnMgb2Ygc2VyaW91cyBidWdzIChlLmcuIHRoaXMuc2l6ZSBkb2Vzbid0IG1hdGNoXHJcbiAgICAgKiAgbnVtYmVyIG9mIGVsZW1lbnRzLCBpbnRlcm5hbCBub2RlcyBub3QgY2FjaGluZyBtYXggZWxlbWVudCBwcm9wZXJseS4uLilcclxuICAgICAqICBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obnVtYmVyIG9mIG5vZGVzKSwgaS5lLiBPKHNpemUpLiBUaGlzIG1ldGhvZFxyXG4gICAgICogIHNraXBzIHRoZSBtb3N0IGV4cGVuc2l2ZSB0ZXN0IC0gd2hldGhlciBhbGwga2V5cyBhcmUgc29ydGVkIC0gYnV0IGl0XHJcbiAgICAgKiAgZG9lcyBjaGVjayB0aGF0IG1heEtleSgpIG9mIHRoZSBjaGlsZHJlbiBvZiBpbnRlcm5hbCBub2RlcyBhcmUgc29ydGVkLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHNpemUgPSB0aGlzLl9yb290LmNoZWNrVmFsaWQoMCwgdGhpcywgMCk7XHJcbiAgICAgICAgY2hlY2soc2l6ZSA9PT0gdGhpcy5zaXplLCBcInNpemUgbWlzbWF0Y2g6IGNvdW50ZWQgXCIsIHNpemUsIFwiYnV0IHN0b3JlZFwiLCB0aGlzLnNpemUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBCVHJlZTtcclxufSgpKTtcclxuZXhwb3J0cy5kZWZhdWx0ID0gQlRyZWU7XHJcbi8qKiBBIFR5cGVTY3JpcHQgaGVscGVyIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzIGFyZ3VtZW50LCB0eXBlZCBhc1xyXG4gKiAgYElTb3J0ZWRTZXQ8Sz5gIGlmIHRoZSBCVHJlZSBpbXBsZW1lbnRzIGl0LCBhcyBpdCBkb2VzIGlmIGBWIGV4dGVuZHMgdW5kZWZpbmVkYC5cclxuICogIElmIGBWYCBjYW5ub3QgYmUgYHVuZGVmaW5lZGAsIGl0IHJldHVybnMgYHVua25vd25gIGluc3RlYWQuIE9yIGF0IGxlYXN0LCB0aGF0XHJcbiAqICB3YXMgdGhlIGludGVudGlvbiwgYnV0IFR5cGVTY3JpcHQgaXMgYWN0aW5nIHdlaXJkIGFuZCBtYXkgcmV0dXJuIGBJU29ydGVkU2V0PEs+YFxyXG4gKiAgZXZlbiBpZiBgVmAgY2FuJ3QgYmUgYHVuZGVmaW5lZGAgKGRpc2N1c3Npb246IGJ0cmVlLXR5cGVzY3JpcHQgaXNzdWUgIzE0KSAqL1xyXG5mdW5jdGlvbiBhc1NldChidHJlZSkge1xyXG4gICAgcmV0dXJuIGJ0cmVlO1xyXG59XHJcbmV4cG9ydHMuYXNTZXQgPSBhc1NldDtcclxuaWYgKFN5bWJvbCAmJiBTeW1ib2wuaXRlcmF0b3IpIC8vIGl0ZXJhdG9yIGlzIGVxdWl2YWxlbnQgdG8gZW50cmllcygpXHJcbiAgICBCVHJlZS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IEJUcmVlLnByb3RvdHlwZS5lbnRyaWVzO1xyXG5CVHJlZS5wcm90b3R5cGUud2hlcmUgPSBCVHJlZS5wcm90b3R5cGUuZmlsdGVyO1xyXG5CVHJlZS5wcm90b3R5cGUuc2V0UmFuZ2UgPSBCVHJlZS5wcm90b3R5cGUuc2V0UGFpcnM7XHJcbkJUcmVlLnByb3RvdHlwZS5hZGQgPSBCVHJlZS5wcm90b3R5cGUuc2V0OyAvLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIElTZXRTaW5rPEs+XHJcbmZ1bmN0aW9uIGl0ZXJhdG9yKG5leHQpIHtcclxuICAgIGlmIChuZXh0ID09PSB2b2lkIDApIHsgbmV4dCA9IChmdW5jdGlvbiAoKSB7IHJldHVybiAoeyBkb25lOiB0cnVlLCB2YWx1ZTogdW5kZWZpbmVkIH0pOyB9KTsgfVxyXG4gICAgdmFyIHJlc3VsdCA9IHsgbmV4dDogbmV4dCB9O1xyXG4gICAgaWYgKFN5bWJvbCAmJiBTeW1ib2wuaXRlcmF0b3IpXHJcbiAgICAgICAgcmVzdWx0W1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG4vKiogTGVhZiBub2RlIC8gYmFzZSBjbGFzcy4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbnZhciBCTm9kZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcclxuICAgIGZ1bmN0aW9uIEJOb2RlKGtleXMsIHZhbHVlcykge1xyXG4gICAgICAgIGlmIChrZXlzID09PSB2b2lkIDApIHsga2V5cyA9IFtdOyB9XHJcbiAgICAgICAgdGhpcy5rZXlzID0ga2V5cztcclxuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcyB8fCB1bmRlZlZhbHM7XHJcbiAgICAgICAgdGhpcy5pc1NoYXJlZCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCTm9kZS5wcm90b3R5cGUsIFwiaXNMZWFmXCIsIHtcclxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuY2hpbGRyZW4gPT09IHVuZGVmaW5lZDsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBTaGFyZWQgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5tYXhLZXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5c1t0aGlzLmtleXMubGVuZ3RoIC0gMV07XHJcbiAgICB9O1xyXG4gICAgLy8gSWYga2V5IG5vdCBmb3VuZCwgcmV0dXJucyBpXmZhaWxYb3Igd2hlcmUgaSBpcyB0aGUgaW5zZXJ0aW9uIGluZGV4LlxyXG4gICAgLy8gQ2FsbGVycyB0aGF0IGRvbid0IGNhcmUgd2hldGhlciB0aGVyZSB3YXMgYSBtYXRjaCB3aWxsIHNldCBmYWlsWG9yPTAuXHJcbiAgICBCTm9kZS5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIChrZXksIGZhaWxYb3IsIGNtcCkge1xyXG4gICAgICAgIHZhciBrZXlzID0gdGhpcy5rZXlzO1xyXG4gICAgICAgIHZhciBsbyA9IDAsIGhpID0ga2V5cy5sZW5ndGgsIG1pZCA9IGhpID4+IDE7XHJcbiAgICAgICAgd2hpbGUgKGxvIDwgaGkpIHtcclxuICAgICAgICAgICAgdmFyIGMgPSBjbXAoa2V5c1ttaWRdLCBrZXkpO1xyXG4gICAgICAgICAgICBpZiAoYyA8IDApXHJcbiAgICAgICAgICAgICAgICBsbyA9IG1pZCArIDE7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGMgPiAwKSAvLyBrZXkgPCBrZXlzW21pZF1cclxuICAgICAgICAgICAgICAgIGhpID0gbWlkO1xyXG4gICAgICAgICAgICBlbHNlIGlmIChjID09PSAwKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1pZDtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjIGlzIE5hTiBvciBvdGhlcndpc2UgaW52YWxpZFxyXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0ga2V5KSAvLyBhdCBsZWFzdCB0aGUgc2VhcmNoIGtleSBpcyBub3QgTmFOXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWlkID0gKGxvICsgaGkpID4+IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtaWQgXiBmYWlsWG9yO1xyXG4gICAgICAgIC8vIFVucm9sbGVkIHZlcnNpb246IGJlbmNobWFya3Mgc2hvdyBzYW1lIHNwZWVkLCBub3Qgd29ydGggdXNpbmdcclxuICAgICAgICAvKnZhciBpID0gMSwgYzogbnVtYmVyID0gMCwgc3VtID0gMDtcclxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPj0gNCkge1xyXG4gICAgICAgICAgaSA9IDM7XHJcbiAgICAgICAgICBpZiAoa2V5cy5sZW5ndGggPj0gOCkge1xyXG4gICAgICAgICAgICBpID0gNztcclxuICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID49IDE2KSB7XHJcbiAgICAgICAgICAgICAgaSA9IDE1O1xyXG4gICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+PSAzMikge1xyXG4gICAgICAgICAgICAgICAgaSA9IDMxO1xyXG4gICAgICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID49IDY0KSB7XHJcbiAgICAgICAgICAgICAgICAgIGkgPSAxMjc7XHJcbiAgICAgICAgICAgICAgICAgIGkgKz0gKGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDEpIDwgMCA/IDY0IDogLTY0O1xyXG4gICAgICAgICAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMzIgOiAtMzI7XHJcbiAgICAgICAgICAgICAgICAgIHN1bSArPSBjO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMTYgOiAtMTY7XHJcbiAgICAgICAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gOCA6IC04O1xyXG4gICAgICAgICAgICAgIHN1bSArPSBjO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGkgKz0gKGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDEpIDwgMCA/IDQgOiAtNDtcclxuICAgICAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpICs9IChjID0gaSA8IGtleXMubGVuZ3RoID8gY21wKGtleXNbaV0sIGtleSkgOiAxKSA8IDAgPyAyIDogLTI7XHJcbiAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICB9XHJcbiAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMSA6IC0xO1xyXG4gICAgICAgIGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDE7XHJcbiAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgaWYgKGMgPCAwKSB7XHJcbiAgICAgICAgICArK2k7XHJcbiAgICAgICAgICBjID0gaSA8IGtleXMubGVuZ3RoID8gY21wKGtleXNbaV0sIGtleSkgOiAxO1xyXG4gICAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzdW0gIT09IHN1bSkge1xyXG4gICAgICAgICAgaWYgKGtleSA9PT0ga2V5KSAvLyBhdCBsZWFzdCB0aGUgc2VhcmNoIGtleSBpcyBub3QgTmFOXHJcbiAgICAgICAgICAgIHJldHVybiBrZXlzLmxlbmd0aCBeIGZhaWxYb3I7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjID09PSAwID8gaSA6IGkgXiBmYWlsWG9yOyovXHJcbiAgICB9O1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIExlYWYgTm9kZTogbWlzYyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWluS2V5ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmtleXNbMF07XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLm1pblBhaXIgPSBmdW5jdGlvbiAocmV1c2VkQXJyYXkpIHtcclxuICAgICAgICBpZiAodGhpcy5rZXlzLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1swXTtcclxuICAgICAgICByZXVzZWRBcnJheVsxXSA9IHRoaXMudmFsdWVzWzBdO1xyXG4gICAgICAgIHJldHVybiByZXVzZWRBcnJheTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWF4UGFpciA9IGZ1bmN0aW9uIChyZXVzZWRBcnJheSkge1xyXG4gICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoID09PSAwKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIHZhciBsYXN0SW5kZXggPSB0aGlzLmtleXMubGVuZ3RoIC0gMTtcclxuICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1tsYXN0SW5kZXhdO1xyXG4gICAgICAgIHJldXNlZEFycmF5WzFdID0gdGhpcy52YWx1ZXNbbGFzdEluZGV4XTtcclxuICAgICAgICByZXR1cm4gcmV1c2VkQXJyYXk7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciB2ID0gdGhpcy52YWx1ZXM7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCTm9kZSh0aGlzLmtleXMuc2xpY2UoMCksIHYgPT09IHVuZGVmVmFscyA/IHYgOiB2LnNsaWNlKDApKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ3JlZWR5Q2xvbmUgPSBmdW5jdGlvbiAoZm9yY2UpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1NoYXJlZCAmJiAhZm9yY2UgPyB0aGlzIDogdGhpcy5jbG9uZSgpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5LCBkZWZhdWx0VmFsdWUsIHRyZWUpIHtcclxuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXhPZihrZXksIC0xLCB0cmVlLl9jb21wYXJlKTtcclxuICAgICAgICByZXR1cm4gaSA8IDAgPyBkZWZhdWx0VmFsdWUgOiB0aGlzLnZhbHVlc1tpXTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgLTEsIGNvbXBhcmUpO1xyXG4gICAgICAgIHZhciBpbmRleE9yTG93ZXIgPSBpIDwgMCA/IH5pIC0gMSA6IChpbmNsdXNpdmUgPyBpIDogaSAtIDEpO1xyXG4gICAgICAgIGlmIChpbmRleE9yTG93ZXIgPj0gMCkge1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1tpbmRleE9yTG93ZXJdO1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVsxXSA9IHRoaXMudmFsdWVzW2luZGV4T3JMb3dlcl07XHJcbiAgICAgICAgICAgIHJldHVybiByZXVzZWRBcnJheTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlciA9IGZ1bmN0aW9uIChrZXksIGNvbXBhcmUsIGluY2x1c2l2ZSwgcmV1c2VkQXJyYXkpIHtcclxuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXhPZihrZXksIC0xLCBjb21wYXJlKTtcclxuICAgICAgICB2YXIgaW5kZXhPckxvd2VyID0gaSA8IDAgPyB+aSA6IChpbmNsdXNpdmUgPyBpIDogaSArIDEpO1xyXG4gICAgICAgIHZhciBrZXlzID0gdGhpcy5rZXlzO1xyXG4gICAgICAgIGlmIChpbmRleE9yTG93ZXIgPCBrZXlzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IGtleXNbaW5kZXhPckxvd2VyXTtcclxuICAgICAgICAgICAgcmV1c2VkQXJyYXlbMV0gPSB0aGlzLnZhbHVlc1tpbmRleE9yTG93ZXJdO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV1c2VkQXJyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoZGVwdGgsIHRyZWUsIGJhc2VJbmRleCkge1xyXG4gICAgICAgIHZhciBrTCA9IHRoaXMua2V5cy5sZW5ndGgsIHZMID0gdGhpcy52YWx1ZXMubGVuZ3RoO1xyXG4gICAgICAgIGNoZWNrKHRoaXMudmFsdWVzID09PSB1bmRlZlZhbHMgPyBrTCA8PSB2TCA6IGtMID09PSB2TCwgXCJrZXlzL3ZhbHVlcyBsZW5ndGggbWlzbWF0Y2g6IGRlcHRoXCIsIGRlcHRoLCBcIndpdGggbGVuZ3Roc1wiLCBrTCwgdkwsIFwiYW5kIGJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIC8vIE5vdGU6IHdlIGRvbid0IGNoZWNrIGZvciBcIm5vZGUgdG9vIHNtYWxsXCIgYmVjYXVzZSBzb21ldGltZXMgYSBub2RlXHJcbiAgICAgICAgLy8gY2FuIGxlZ2l0aW1hdGVseSBoYXZlIHNpemUgMS4gVGhpcyBvY2N1cnMgaWYgdGhlcmUgaXMgYSBiYXRjaCBcclxuICAgICAgICAvLyBkZWxldGlvbiwgbGVhdmluZyBhIG5vZGUgb2Ygc2l6ZSAxLCBhbmQgdGhlIHNpYmxpbmdzIGFyZSBmdWxsIHNvXHJcbiAgICAgICAgLy8gaXQgY2FuJ3QgYmUgbWVyZ2VkIHdpdGggYWRqYWNlbnQgbm9kZXMuIEhvd2V2ZXIsIHRoZSBwYXJlbnQgd2lsbFxyXG4gICAgICAgIC8vIHZlcmlmeSB0aGF0IHRoZSBhdmVyYWdlIG5vZGUgc2l6ZSBpcyBhdCBsZWFzdCBoYWxmIG9mIHRoZSBtYXhpbXVtLlxyXG4gICAgICAgIGNoZWNrKGRlcHRoID09IDAgfHwga0wgPiAwLCBcImVtcHR5IGxlYWYgYXQgZGVwdGhcIiwgZGVwdGgsIFwiYW5kIGJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiBrTDtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTGVhZiBOb2RlOiBzZXQgJiBub2RlIHNwbGl0dGluZyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSwgb3ZlcndyaXRlLCB0cmVlKSB7XHJcbiAgICAgICAgdmFyIGkgPSB0aGlzLmluZGV4T2Yoa2V5LCAtMSwgdHJlZS5fY29tcGFyZSk7XHJcbiAgICAgICAgaWYgKGkgPCAwKSB7XHJcbiAgICAgICAgICAgIC8vIGtleSBkb2VzIG5vdCBleGlzdCB5ZXRcclxuICAgICAgICAgICAgaSA9IH5pO1xyXG4gICAgICAgICAgICB0cmVlLl9zaXplKys7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoIDwgdHJlZS5fbWF4Tm9kZVNpemUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmluc2VydEluTGVhZihpLCBrZXksIHZhbHVlLCB0cmVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgbGVhZiBub2RlIGlzIGZ1bGwgYW5kIG11c3Qgc3BsaXRcclxuICAgICAgICAgICAgICAgIHZhciBuZXdSaWdodFNpYmxpbmcgPSB0aGlzLnNwbGl0T2ZmUmlnaHRTaWRlKCksIHRhcmdldCA9IHRoaXM7XHJcbiAgICAgICAgICAgICAgICBpZiAoaSA+IHRoaXMua2V5cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBpIC09IHRoaXMua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gbmV3UmlnaHRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lmluc2VydEluTGVhZihpLCBrZXksIHZhbHVlLCB0cmVlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXdSaWdodFNpYmxpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEtleSBhbHJlYWR5IGV4aXN0c1xyXG4gICAgICAgICAgICBpZiAob3ZlcndyaXRlICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWlmeVZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgLy8gdXN1YWxseSB0aGlzIGlzIGEgbm8tb3AsIGJ1dCBzb21lIHVzZXJzIG1heSB3aXNoIHRvIGVkaXQgdGhlIGtleVxyXG4gICAgICAgICAgICAgICAgdGhpcy5rZXlzW2ldID0ga2V5O1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5yZWlmeVZhbHVlcyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMgPT09IHVuZGVmVmFscylcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzO1xyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5pbnNlcnRJbkxlYWYgPSBmdW5jdGlvbiAoaSwga2V5LCB2YWx1ZSwgdHJlZSkge1xyXG4gICAgICAgIHRoaXMua2V5cy5zcGxpY2UoaSwgMCwga2V5KTtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMgPT09IHVuZGVmVmFscykge1xyXG4gICAgICAgICAgICB3aGlsZSAodW5kZWZWYWxzLmxlbmd0aCA8IHRyZWUuX21heE5vZGVTaXplKVxyXG4gICAgICAgICAgICAgICAgdW5kZWZWYWxzLnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB1bmRlZlZhbHMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCAtIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVzLnNwbGljZShpLCAwLCB2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLnRha2VGcm9tUmlnaHQgPSBmdW5jdGlvbiAocmhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdmFyIHYgPSB0aGlzLnZhbHVlcztcclxuICAgICAgICBpZiAocmhzLnZhbHVlcyA9PT0gdW5kZWZWYWxzKSB7XHJcbiAgICAgICAgICAgIGlmICh2ICE9PSB1bmRlZlZhbHMpXHJcbiAgICAgICAgICAgICAgICB2LnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHYgPSB0aGlzLnJlaWZ5VmFsdWVzKCk7XHJcbiAgICAgICAgICAgIHYucHVzaChyaHMudmFsdWVzLnNoaWZ0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmtleXMucHVzaChyaHMua2V5cy5zaGlmdCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUudGFrZUZyb21MZWZ0ID0gZnVuY3Rpb24gKGxocykge1xyXG4gICAgICAgIC8vIFJlbWluZGVyOiBwYXJlbnQgbm9kZSBtdXN0IHVwZGF0ZSBpdHMgY29weSBvZiBrZXkgZm9yIHRoaXMgbm9kZVxyXG4gICAgICAgIC8vIGFzc2VydDogbmVpdGhlciBub2RlIGlzIHNoYXJlZFxyXG4gICAgICAgIC8vIGFzc2VydCByaHMua2V5cy5sZW5ndGggPiAobWF4Tm9kZVNpemUvMiAmJiB0aGlzLmtleXMubGVuZ3RoPG1heE5vZGVTaXplKVxyXG4gICAgICAgIHZhciB2ID0gdGhpcy52YWx1ZXM7XHJcbiAgICAgICAgaWYgKGxocy52YWx1ZXMgPT09IHVuZGVmVmFscykge1xyXG4gICAgICAgICAgICBpZiAodiAhPT0gdW5kZWZWYWxzKVxyXG4gICAgICAgICAgICAgICAgdi51bnNoaWZ0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB2ID0gdGhpcy5yZWlmeVZhbHVlcygpO1xyXG4gICAgICAgICAgICB2LnVuc2hpZnQobGhzLnZhbHVlcy5wb3AoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMua2V5cy51bnNoaWZ0KGxocy5rZXlzLnBvcCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgdmFyIGhhbGYgPSB0aGlzLmtleXMubGVuZ3RoID4+IDEsIGtleXMgPSB0aGlzLmtleXMuc3BsaWNlKGhhbGYpO1xyXG4gICAgICAgIHZhciB2YWx1ZXMgPSB0aGlzLnZhbHVlcyA9PT0gdW5kZWZWYWxzID8gdW5kZWZWYWxzIDogdGhpcy52YWx1ZXMuc3BsaWNlKGhhbGYpO1xyXG4gICAgICAgIHJldHVybiBuZXcgQk5vZGUoa2V5cywgdmFsdWVzKTtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTGVhZiBOb2RlOiBzY2FubmluZyAmIGRlbGV0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5mb3JSYW5nZSA9IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBlZGl0TW9kZSwgdHJlZSwgY291bnQsIG9uRm91bmQpIHtcclxuICAgICAgICB2YXIgY21wID0gdHJlZS5fY29tcGFyZTtcclxuICAgICAgICB2YXIgaUxvdywgaUhpZ2g7XHJcbiAgICAgICAgaWYgKGhpZ2ggPT09IGxvdykge1xyXG4gICAgICAgICAgICBpZiAoIWluY2x1ZGVIaWdoKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgICAgICAgICBpSGlnaCA9IChpTG93ID0gdGhpcy5pbmRleE9mKGxvdywgLTEsIGNtcCkpICsgMTtcclxuICAgICAgICAgICAgaWYgKGlMb3cgPCAwKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaUxvdyA9IHRoaXMuaW5kZXhPZihsb3csIDAsIGNtcCk7XHJcbiAgICAgICAgICAgIGlIaWdoID0gdGhpcy5pbmRleE9mKGhpZ2gsIC0xLCBjbXApO1xyXG4gICAgICAgICAgICBpZiAoaUhpZ2ggPCAwKVxyXG4gICAgICAgICAgICAgICAgaUhpZ2ggPSB+aUhpZ2g7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGluY2x1ZGVIaWdoID09PSB0cnVlKVxyXG4gICAgICAgICAgICAgICAgaUhpZ2grKztcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXMsIHZhbHVlcyA9IHRoaXMudmFsdWVzO1xyXG4gICAgICAgIGlmIChvbkZvdW5kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IGlMb3c7IGkgPCBpSGlnaDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvbkZvdW5kKGtleSwgdmFsdWVzW2ldLCBjb3VudCsrKTtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlZGl0TW9kZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBrZXlzW2ldIHx8IHRoaXMuaXNTaGFyZWQgPT09IHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJCVHJlZSBpbGxlZ2FsbHkgY2hhbmdlZCBvciBjbG9uZWQgaW4gZWRpdFJhbmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmRlbGV0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlcyAhPT0gdW5kZWZWYWxzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWUuX3NpemUtLTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGktLTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlIaWdoLS07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzdWx0Lmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXNbaV0gPSByZXN1bHQudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5icmVhayAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgY291bnQgKz0gaUhpZ2ggLSBpTG93O1xyXG4gICAgICAgIHJldHVybiBjb3VudDtcclxuICAgIH07XHJcbiAgICAvKiogQWRkcyBlbnRpcmUgY29udGVudHMgb2YgcmlnaHQtaGFuZCBzaWJsaW5nIChyaHMgaXMgbGVmdCB1bmNoYW5nZWQpICovXHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWVyZ2VTaWJsaW5nID0gZnVuY3Rpb24gKHJocywgXykge1xyXG4gICAgICAgIHRoaXMua2V5cy5wdXNoLmFwcGx5KHRoaXMua2V5cywgcmhzLmtleXMpO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlcyA9PT0gdW5kZWZWYWxzKSB7XHJcbiAgICAgICAgICAgIGlmIChyaHMudmFsdWVzID09PSB1bmRlZlZhbHMpXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVzLnB1c2guYXBwbHkodGhpcy52YWx1ZXMsIHJocy5yZWlmeVZhbHVlcygpKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gQk5vZGU7XHJcbn0oKSk7XHJcbi8qKiBJbnRlcm5hbCBub2RlIChub24tbGVhZiBub2RlKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxudmFyIEJOb2RlSW50ZXJuYWwgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XHJcbiAgICBfX2V4dGVuZHMoQk5vZGVJbnRlcm5hbCwgX3N1cGVyKTtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkb2VzIG5vdCBtYXJrIGBjaGlsZHJlbmAgYXMgc2hhcmVkLCBzbyBpdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlclxyXG4gICAgICogdG8gZW5zdXJlIGNoaWxkcmVuIGFyZSBlaXRoZXIgbWFya2VkIHNoYXJlZCwgb3IgYXJlbid0IGluY2x1ZGVkIGluIGFub3RoZXIgdHJlZS5cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gQk5vZGVJbnRlcm5hbChjaGlsZHJlbiwga2V5cykge1xyXG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgaWYgKCFrZXlzKSB7XHJcbiAgICAgICAgICAgIGtleXMgPSBbXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgICAgIGtleXNbaV0gPSBjaGlsZHJlbltpXS5tYXhLZXkoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBrZXlzKSB8fCB0aGlzO1xyXG4gICAgICAgIF90aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XHJcbiAgICAgICAgcmV0dXJuIF90aGlzO1xyXG4gICAgfVxyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5zbGljZSgwKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICBjaGlsZHJlbltpXS5pc1NoYXJlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCTm9kZUludGVybmFsKGNoaWxkcmVuLCB0aGlzLmtleXMuc2xpY2UoMCkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmdyZWVkeUNsb25lID0gZnVuY3Rpb24gKGZvcmNlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTaGFyZWQgJiYgIWZvcmNlKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICB2YXIgbnUgPSBuZXcgQk5vZGVJbnRlcm5hbCh0aGlzLmNoaWxkcmVuLnNsaWNlKDApLCB0aGlzLmtleXMuc2xpY2UoMCkpO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnUuY2hpbGRyZW4ubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIG51LmNoaWxkcmVuW2ldID0gbnUuY2hpbGRyZW5baV0uZ3JlZWR5Q2xvbmUoZm9yY2UpO1xyXG4gICAgICAgIHJldHVybiBudTtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5taW5LZXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5bMF0ubWluS2V5KCk7XHJcbiAgICB9O1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUubWluUGFpciA9IGZ1bmN0aW9uIChyZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuWzBdLm1pblBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLm1heFBhaXIgPSBmdW5jdGlvbiAocmV1c2VkQXJyYXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aCAtIDFdLm1heFBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlZSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgdHJlZS5fY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICByZXR1cm4gaSA8IGNoaWxkcmVuLmxlbmd0aCA/IGNoaWxkcmVuW2ldLmdldChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlZSkgOiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICBpZiAoaSA+PSBjaGlsZHJlbi5sZW5ndGgpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heFBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBjaGlsZHJlbltpXS5nZXRQYWlyT3JOZXh0TG93ZXIoa2V5LCBjb21wYXJlLCBpbmNsdXNpdmUsIHJldXNlZEFycmF5KTtcclxuICAgICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQgJiYgaSA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuW2kgLSAxXS5tYXhQYWlyKHJldXNlZEFycmF5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0SGlnaGVyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbiwgbGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoO1xyXG4gICAgICAgIGlmIChpID49IGxlbmd0aClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gY2hpbGRyZW5baV0uZ2V0UGFpck9yTmV4dEhpZ2hlcihrZXksIGNvbXBhcmUsIGluY2x1c2l2ZSwgcmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCAmJiBpIDwgbGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5baSArIDFdLm1pblBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoZGVwdGgsIHRyZWUsIGJhc2VJbmRleCkge1xyXG4gICAgICAgIHZhciBrTCA9IHRoaXMua2V5cy5sZW5ndGgsIGNMID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XHJcbiAgICAgICAgY2hlY2soa0wgPT09IGNMLCBcImtleXMvY2hpbGRyZW4gbGVuZ3RoIG1pc21hdGNoOiBkZXB0aFwiLCBkZXB0aCwgXCJsZW5ndGhzXCIsIGtMLCBjTCwgXCJiYXNlSW5kZXhcIiwgYmFzZUluZGV4KTtcclxuICAgICAgICBjaGVjayhrTCA+IDEgfHwgZGVwdGggPiAwLCBcImludGVybmFsIG5vZGUgaGFzIGxlbmd0aFwiLCBrTCwgXCJhdCBkZXB0aFwiLCBkZXB0aCwgXCJiYXNlSW5kZXhcIiwgYmFzZUluZGV4KTtcclxuICAgICAgICB2YXIgc2l6ZSA9IDAsIGMgPSB0aGlzLmNoaWxkcmVuLCBrID0gdGhpcy5rZXlzLCBjaGlsZFNpemUgPSAwO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY0w7IGkrKykge1xyXG4gICAgICAgICAgICBzaXplICs9IGNbaV0uY2hlY2tWYWxpZChkZXB0aCArIDEsIHRyZWUsIGJhc2VJbmRleCArIHNpemUpO1xyXG4gICAgICAgICAgICBjaGlsZFNpemUgKz0gY1tpXS5rZXlzLmxlbmd0aDtcclxuICAgICAgICAgICAgY2hlY2soc2l6ZSA+PSBjaGlsZFNpemUsIFwid3RmXCIsIGJhc2VJbmRleCk7IC8vIG5vIHdheSB0aGlzIHdpbGwgZXZlciBmYWlsXHJcbiAgICAgICAgICAgIGNoZWNrKGkgPT09IDAgfHwgY1tpIC0gMV0uY29uc3RydWN0b3IgPT09IGNbaV0uY29uc3RydWN0b3IsIFwidHlwZSBtaXNtYXRjaCwgYmFzZUluZGV4OlwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoY1tpXS5tYXhLZXkoKSAhPSBrW2ldKVxyXG4gICAgICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwia2V5c1tcIiwgaSwgXCJdID1cIiwga1tpXSwgXCJpcyB3cm9uZywgc2hvdWxkIGJlIFwiLCBjW2ldLm1heEtleSgpLCBcImF0IGRlcHRoXCIsIGRlcHRoLCBcImJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoIShpID09PSAwIHx8IHRyZWUuX2NvbXBhcmUoa1tpIC0gMV0sIGtbaV0pIDwgMCkpXHJcbiAgICAgICAgICAgICAgICBjaGVjayhmYWxzZSwgXCJzb3J0IHZpb2xhdGlvbiBhdCBkZXB0aFwiLCBkZXB0aCwgXCJpbmRleFwiLCBpLCBcImtleXNcIiwga1tpIC0gMV0sIGtbaV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAyMDIwLzA4OiBCVHJlZSBkb2Vzbid0IGFsd2F5cyBhdm9pZCBncm9zc2x5IHVuZGVyc2l6ZWQgbm9kZXMsXHJcbiAgICAgICAgLy8gYnV0IEFGQUlLIHN1Y2ggbm9kZXMgYXJlIHByZXR0eSBoYXJtbGVzcywgc28gYWNjZXB0IHRoZW0uXHJcbiAgICAgICAgdmFyIHRvb2ZldyA9IGNoaWxkU2l6ZSA9PT0gMDsgLy8gY2hpbGRTaXplIDwgKHRyZWUubWF4Tm9kZVNpemUgPj4gMSkqY0w7XHJcbiAgICAgICAgaWYgKHRvb2ZldyB8fCBjaGlsZFNpemUgPiB0cmVlLm1heE5vZGVTaXplICogY0wpXHJcbiAgICAgICAgICAgIGNoZWNrKGZhbHNlLCB0b29mZXcgPyBcInRvbyBmZXdcIiA6IFwidG9vIG1hbnlcIiwgXCJjaGlsZHJlbiAoXCIsIGNoaWxkU2l6ZSwgc2l6ZSwgXCIpIGF0IGRlcHRoXCIsIGRlcHRoLCBcIm1heE5vZGVTaXplOlwiLCB0cmVlLm1heE5vZGVTaXplLCBcImNoaWxkcmVuLmxlbmd0aDpcIiwgY0wsIFwiYmFzZUluZGV4OlwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiBzaXplO1xyXG4gICAgfTtcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBJbnRlcm5hbCBOb2RlOiBzZXQgJiBub2RlIHNwbGl0dGluZyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUsIG92ZXJ3cml0ZSwgdHJlZSkge1xyXG4gICAgICAgIHZhciBjID0gdGhpcy5jaGlsZHJlbiwgbWF4ID0gdHJlZS5fbWF4Tm9kZVNpemUsIGNtcCA9IHRyZWUuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIGkgPSBNYXRoLm1pbih0aGlzLmluZGV4T2Yoa2V5LCAwLCBjbXApLCBjLmxlbmd0aCAtIDEpLCBjaGlsZCA9IGNbaV07XHJcbiAgICAgICAgaWYgKGNoaWxkLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICBjW2ldID0gY2hpbGQgPSBjaGlsZC5jbG9uZSgpO1xyXG4gICAgICAgIGlmIChjaGlsZC5rZXlzLmxlbmd0aCA+PSBtYXgpIHtcclxuICAgICAgICAgICAgLy8gY2hpbGQgaXMgZnVsbDsgaW5zZXJ0aW5nIGFueXRoaW5nIGVsc2Ugd2lsbCBjYXVzZSBhIHNwbGl0LlxyXG4gICAgICAgICAgICAvLyBTaGlmdGluZyBhbiBpdGVtIHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpYmxpbmcgbWF5IGF2b2lkIGEgc3BsaXQuXHJcbiAgICAgICAgICAgIC8vIFdlIGNhbiBkbyBhIHNoaWZ0IGlmIHRoZSBhZGphY2VudCBub2RlIGlzIG5vdCBmdWxsIGFuZCBpZiB0aGVcclxuICAgICAgICAgICAgLy8gY3VycmVudCBrZXkgY2FuIHN0aWxsIGJlIHBsYWNlZCBpbiB0aGUgc2FtZSBub2RlIGFmdGVyIHRoZSBzaGlmdC5cclxuICAgICAgICAgICAgdmFyIG90aGVyO1xyXG4gICAgICAgICAgICBpZiAoaSA+IDAgJiYgKG90aGVyID0gY1tpIC0gMV0pLmtleXMubGVuZ3RoIDwgbWF4ICYmIGNtcChjaGlsZC5rZXlzWzBdLCBrZXkpIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG90aGVyLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNbaSAtIDFdID0gb3RoZXIgPSBvdGhlci5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgb3RoZXIudGFrZUZyb21SaWdodChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmtleXNbaSAtIDFdID0gb3RoZXIubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoKG90aGVyID0gY1tpICsgMV0pICE9PSB1bmRlZmluZWQgJiYgb3RoZXIua2V5cy5sZW5ndGggPCBtYXggJiYgY21wKGNoaWxkLm1heEtleSgpLCBrZXkpIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG90aGVyLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNbaSArIDFdID0gb3RoZXIgPSBvdGhlci5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgb3RoZXIudGFrZUZyb21MZWZ0KGNoaWxkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMua2V5c1tpXSA9IGNbaV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNoaWxkLnNldChrZXksIHZhbHVlLCBvdmVyd3JpdGUsIHRyZWUpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5rZXlzW2ldID0gY2hpbGQubWF4S2V5KCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gVGhlIGNoaWxkIGhhcyBzcGxpdCBhbmQgYHJlc3VsdGAgaXMgYSBuZXcgcmlnaHQgY2hpbGQuLi4gZG9lcyBpdCBmaXQ/XHJcbiAgICAgICAgaWYgKHRoaXMua2V5cy5sZW5ndGggPCBtYXgpIHsgLy8geWVzXHJcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0KGkgKyAxLCByZXN1bHQpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7IC8vIG5vLCB3ZSBtdXN0IHNwbGl0IGFsc29cclxuICAgICAgICAgICAgdmFyIG5ld1JpZ2h0U2libGluZyA9IHRoaXMuc3BsaXRPZmZSaWdodFNpZGUoKSwgdGFyZ2V0ID0gdGhpcztcclxuICAgICAgICAgICAgaWYgKGNtcChyZXN1bHQubWF4S2V5KCksIHRoaXMubWF4S2V5KCkpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0ID0gbmV3UmlnaHRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgaSAtPSB0aGlzLmtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRhcmdldC5pbnNlcnQoaSArIDEsIHJlc3VsdCk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXdSaWdodFNpYmxpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogSW5zZXJ0cyBgY2hpbGRgIGF0IGluZGV4IGBpYC5cclxuICAgICAqIFRoaXMgZG9lcyBub3QgbWFyayBgY2hpbGRgIGFzIHNoYXJlZCwgc28gaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXJcclxuICAgICAqIHRvIGVuc3VyZSB0aGF0IGVpdGhlciBjaGlsZCBpcyBtYXJrZWQgc2hhcmVkLCBvciBpdCBpcyBub3QgaW5jbHVkZWQgaW4gYW5vdGhlciB0cmVlLlxyXG4gICAgICovXHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5pbnNlcnQgPSBmdW5jdGlvbiAoaSwgY2hpbGQpIHtcclxuICAgICAgICB0aGlzLmNoaWxkcmVuLnNwbGljZShpLCAwLCBjaGlsZCk7XHJcbiAgICAgICAgdGhpcy5rZXlzLnNwbGljZShpLCAwLCBjaGlsZC5tYXhLZXkoKSk7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTcGxpdCB0aGlzIG5vZGUuXHJcbiAgICAgKiBNb2RpZmllcyB0aGlzIHRvIHJlbW92ZSB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIGl0ZW1zLCByZXR1cm5pbmcgYSBzZXBhcmF0ZSBub2RlIGNvbnRhaW5pbmcgdGhlbS5cclxuICAgICAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gYXNzZXJ0ICF0aGlzLmlzU2hhcmVkO1xyXG4gICAgICAgIHZhciBoYWxmID0gdGhpcy5jaGlsZHJlbi5sZW5ndGggPj4gMTtcclxuICAgICAgICByZXR1cm4gbmV3IEJOb2RlSW50ZXJuYWwodGhpcy5jaGlsZHJlbi5zcGxpY2UoaGFsZiksIHRoaXMua2V5cy5zcGxpY2UoaGFsZikpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLnRha2VGcm9tUmlnaHQgPSBmdW5jdGlvbiAocmhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdGhpcy5rZXlzLnB1c2gocmhzLmtleXMuc2hpZnQoKSk7XHJcbiAgICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKHJocy5jaGlsZHJlbi5zaGlmdCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS50YWtlRnJvbUxlZnQgPSBmdW5jdGlvbiAobGhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdGhpcy5rZXlzLnVuc2hpZnQobGhzLmtleXMucG9wKCkpO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4udW5zaGlmdChsaHMuY2hpbGRyZW4ucG9wKCkpO1xyXG4gICAgfTtcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBJbnRlcm5hbCBOb2RlOiBzY2FubmluZyAmIGRlbGV0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTm90ZTogYGNvdW50YCBpcyB0aGUgbmV4dCB2YWx1ZSBvZiB0aGUgdGhpcmQgYXJndW1lbnQgdG8gYG9uRm91bmRgLiBcclxuICAgIC8vICAgICAgIEEgbGVhZiBub2RlJ3MgYGZvclJhbmdlYCBmdW5jdGlvbiByZXR1cm5zIGEgbmV3IHZhbHVlIGZvciB0aGlzIGNvdW50ZXIsXHJcbiAgICAvLyAgICAgICB1bmxlc3MgdGhlIG9wZXJhdGlvbiBpcyB0byBzdG9wIGVhcmx5LlxyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuZm9yUmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgZWRpdE1vZGUsIHRyZWUsIGNvdW50LCBvbkZvdW5kKSB7XHJcbiAgICAgICAgdmFyIGNtcCA9IHRyZWUuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXMsIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICB2YXIgaUxvdyA9IHRoaXMuaW5kZXhPZihsb3csIDAsIGNtcCksIGkgPSBpTG93O1xyXG4gICAgICAgIHZhciBpSGlnaCA9IE1hdGgubWluKGhpZ2ggPT09IGxvdyA/IGlMb3cgOiB0aGlzLmluZGV4T2YoaGlnaCwgMCwgY21wKSwga2V5cy5sZW5ndGggLSAxKTtcclxuICAgICAgICBpZiAoIWVkaXRNb2RlKSB7XHJcbiAgICAgICAgICAgIC8vIFNpbXBsZSBjYXNlXHJcbiAgICAgICAgICAgIGZvciAoOyBpIDw9IGlIaWdoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBjaGlsZHJlbltpXS5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBlZGl0TW9kZSwgdHJlZSwgY291bnQsIG9uRm91bmQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICBjb3VudCA9IHJlc3VsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpIDw9IGlIaWdoKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKDsgaSA8PSBpSGlnaDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ldLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltpXSA9IGNoaWxkcmVuW2ldLmNsb25lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGNoaWxkcmVuW2ldLmZvclJhbmdlKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIGVkaXRNb2RlLCB0cmVlLCBjb3VudCwgb25Gb3VuZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTm90ZTogaWYgY2hpbGRyZW5baV0gaXMgZW1wdHkgdGhlbiBrZXlzW2ldPXVuZGVmaW5lZC5cclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICBUaGlzIGlzIGFuIGludmFsaWQgc3RhdGUsIGJ1dCBpdCBpcyBmaXhlZCBiZWxvdy5cclxuICAgICAgICAgICAgICAgICAgICBrZXlzW2ldID0gY2hpbGRyZW5baV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvdW50ID0gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICAgICAgLy8gRGVsZXRpb25zIG1heSBoYXZlIG9jY3VycmVkLCBzbyBsb29rIGZvciBvcHBvcnR1bml0aWVzIHRvIG1lcmdlIG5vZGVzLlxyXG4gICAgICAgICAgICAgICAgdmFyIGhhbGYgPSB0cmVlLl9tYXhOb2RlU2l6ZSA+PiAxO1xyXG4gICAgICAgICAgICAgICAgaWYgKGlMb3cgPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgIGlMb3ctLTtcclxuICAgICAgICAgICAgICAgIGZvciAoaSA9IGlIaWdoOyBpID49IGlMb3c7IGktLSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltpXS5rZXlzLmxlbmd0aCA8PSBoYWxmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltpXS5rZXlzLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlNZXJnZShpLCB0cmVlLl9tYXhOb2RlU2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IC8vIGNoaWxkIGlzIGVtcHR5ISBkZWxldGUgaXQhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggIT09IDAgJiYgY2hpbGRyZW5bMF0ua2V5cy5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwiZW1wdGluZXNzIGJ1Z1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIE1lcmdlcyBjaGlsZCBpIHdpdGggY2hpbGQgaSsxIGlmIHRoZWlyIGNvbWJpbmVkIHNpemUgaXMgbm90IHRvbyBsYXJnZSAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUudHJ5TWVyZ2UgPSBmdW5jdGlvbiAoaSwgbWF4U2l6ZSkge1xyXG4gICAgICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW47XHJcbiAgICAgICAgaWYgKGkgPj0gMCAmJiBpICsgMSA8IGNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGRyZW5baV0ua2V5cy5sZW5ndGggKyBjaGlsZHJlbltpICsgMV0ua2V5cy5sZW5ndGggPD0gbWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ldLmlzU2hhcmVkKSAvLyBjbG9uZWQgYWxyZWFkeSBVTkxFU1MgaSBpcyBvdXRzaWRlIHNjYW4gcmFuZ2VcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltpXSA9IGNoaWxkcmVuW2ldLmNsb25lKCk7XHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbltpXS5tZXJnZVNpYmxpbmcoY2hpbGRyZW5baSArIDFdLCBtYXhTaXplKTtcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnNwbGljZShpICsgMSwgMSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmtleXMuc3BsaWNlKGkgKyAxLCAxKTtcclxuICAgICAgICAgICAgICAgIHRoaXMua2V5c1tpXSA9IGNoaWxkcmVuW2ldLm1heEtleSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogTW92ZSBjaGlsZHJlbiBmcm9tIGByaHNgIGludG8gdGhpcy5cclxuICAgICAqIGByaHNgIG11c3QgYmUgcGFydCBvZiB0aGlzIHRyZWUsIGFuZCBiZSByZW1vdmVkIGZyb20gaXQgYWZ0ZXIgdGhpcyBjYWxsXHJcbiAgICAgKiAob3RoZXJ3aXNlIGlzU2hhcmVkIGZvciBpdHMgY2hpbGRyZW4gY291bGQgYmUgaW5jb3JyZWN0KS5cclxuICAgICAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUubWVyZ2VTaWJsaW5nID0gZnVuY3Rpb24gKHJocywgbWF4Tm9kZVNpemUpIHtcclxuICAgICAgICAvLyBhc3NlcnQgIXRoaXMuaXNTaGFyZWQ7XHJcbiAgICAgICAgdmFyIG9sZExlbmd0aCA9IHRoaXMua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5rZXlzLnB1c2guYXBwbHkodGhpcy5rZXlzLCByaHMua2V5cyk7XHJcbiAgICAgICAgdmFyIHJoc0NoaWxkcmVuID0gcmhzLmNoaWxkcmVuO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaC5hcHBseSh0aGlzLmNoaWxkcmVuLCByaHNDaGlsZHJlbik7XHJcbiAgICAgICAgaWYgKHJocy5pc1NoYXJlZCAmJiAhdGhpcy5pc1NoYXJlZCkge1xyXG4gICAgICAgICAgICAvLyBBbGwgY2hpbGRyZW4gb2YgYSBzaGFyZWQgbm9kZSBhcmUgaW1wbGljaXRseSBzaGFyZWQsIGFuZCBzaW5jZSB0aGVpciBuZXdcclxuICAgICAgICAgICAgLy8gcGFyZW50IGlzIG5vdCBzaGFyZWQsIHRoZXkgbXVzdCBub3cgYmUgZXhwbGljaXRseSBtYXJrZWQgYXMgc2hhcmVkLlxyXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJoc0NoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICAgICAgcmhzQ2hpbGRyZW5baV0uaXNTaGFyZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBvdXIgY2hpbGRyZW4gYXJlIHRoZW1zZWx2ZXMgYWxtb3N0IGVtcHR5IGR1ZSB0byBhIG1hc3MtZGVsZXRlLFxyXG4gICAgICAgIC8vIHRoZXkgbWF5IG5lZWQgdG8gYmUgbWVyZ2VkIHRvbyAoYnV0IG9ubHkgdGhlIG9sZExlbmd0aC0xIGFuZCBpdHNcclxuICAgICAgICAvLyByaWdodCBzaWJsaW5nIHNob3VsZCBuZWVkIHRoaXMpLlxyXG4gICAgICAgIHRoaXMudHJ5TWVyZ2Uob2xkTGVuZ3RoIC0gMSwgbWF4Tm9kZVNpemUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBCTm9kZUludGVybmFsO1xyXG59KEJOb2RlKSk7XHJcbi8vIE9wdGltaXphdGlvbjogdGhpcyBhcnJheSBvZiBgdW5kZWZpbmVkYHMgaXMgdXNlZCBpbnN0ZWFkIG9mIGEgbm9ybWFsXHJcbi8vIGFycmF5IG9mIHZhbHVlcyBpbiBub2RlcyB3aGVyZSBgdW5kZWZpbmVkYCBpcyB0aGUgb25seSB2YWx1ZS5cclxuLy8gSXRzIGxlbmd0aCBpcyBleHRlbmRlZCB0byBtYXggbm9kZSBzaXplIG9uIGZpcnN0IHVzZTsgc2luY2UgaXQgY2FuXHJcbi8vIGJlIHNoYXJlZCBiZXR3ZWVuIHRyZWVzIHdpdGggZGlmZmVyZW50IG1heGltdW1zLCBpdHMgbGVuZ3RoIGNhbiBvbmx5XHJcbi8vIGluY3JlYXNlLCBuZXZlciBkZWNyZWFzZS4gSXRzIHR5cGUgc2hvdWxkIGJlIHVuZGVmaW5lZFtdIGJ1dCBzdHJhbmdlbHlcclxuLy8gVHlwZVNjcmlwdCB3b24ndCBhbGxvdyB0aGUgY29tcGFyaXNvbiBWW10gPT09IHVuZGVmaW5lZFtdLiBUbyBwcmV2ZW50XHJcbi8vIHVzZXJzIGZyb20gbWFraW5nIHRoaXMgYXJyYXkgdG9vIGxhcmdlLCBCVHJlZSBoYXMgYSBtYXhpbXVtIG5vZGUgc2l6ZS5cclxuLy9cclxuLy8gRkFROiB1bmRlZlZhbHNbaV0gaXMgYWxyZWFkeSB1bmRlZmluZWQsIHNvIHdoeSBpbmNyZWFzZSB0aGUgYXJyYXkgc2l6ZT9cclxuLy8gUmVhZGluZyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgYW4gYXJyYXkgaXMgcmVsYXRpdmVseSBzbG93IGJlY2F1c2UgaXRcclxuLy8gaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBzY2FubmluZyB0aGUgcHJvdG90eXBlIGNoYWluLlxyXG52YXIgdW5kZWZWYWxzID0gW107XHJcbnZhciBEZWxldGUgPSB7IGRlbGV0ZTogdHJ1ZSB9LCBEZWxldGVSYW5nZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIERlbGV0ZTsgfTtcclxudmFyIEJyZWFrID0geyBicmVhazogdHJ1ZSB9O1xyXG52YXIgRW1wdHlMZWFmID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBuID0gbmV3IEJOb2RlKCk7XHJcbiAgICBuLmlzU2hhcmVkID0gdHJ1ZTtcclxuICAgIHJldHVybiBuO1xyXG59KSgpO1xyXG52YXIgRW1wdHlBcnJheSA9IFtdO1xyXG52YXIgUmV1c2VkQXJyYXkgPSBbXTsgLy8gYXNzdW1lZCB0aHJlYWQtbG9jYWxcclxuZnVuY3Rpb24gY2hlY2soZmFjdCkge1xyXG4gICAgdmFyIGFyZ3MgPSBbXTtcclxuICAgIGZvciAodmFyIF9pID0gMTsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgYXJnc1tfaSAtIDFdID0gYXJndW1lbnRzW19pXTtcclxuICAgIH1cclxuICAgIGlmICghZmFjdCkge1xyXG4gICAgICAgIGFyZ3MudW5zaGlmdCgnQisgdHJlZScpOyAvLyBhdCBiZWdpbm5pbmcgb2YgbWVzc2FnZVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihhcmdzLmpvaW4oJyAnKSk7XHJcbiAgICB9XHJcbn1cclxuLyoqIEEgQlRyZWUgZnJvemVuIGluIHRoZSBlbXB0eSBzdGF0ZS4gKi9cclxuZXhwb3J0cy5FbXB0eUJUcmVlID0gKGZ1bmN0aW9uICgpIHsgdmFyIHQgPSBuZXcgQlRyZWUoKTsgdC5mcmVlemUoKTsgcmV0dXJuIHQ7IH0pKCk7XHJcbiIsICIvLyB0aGVzZSBhcmVuJ3QgcmVhbGx5IHByaXZhdGUsIGJ1dCBub3IgYXJlIHRoZXkgcmVhbGx5IHVzZWZ1bCB0byBkb2N1bWVudFxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIEx1eG9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnZhbGlkRGF0ZVRpbWVFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFzb24pIHtcbiAgICBzdXBlcihgSW52YWxpZCBEYXRlVGltZTogJHtyZWFzb24udG9NZXNzYWdlKCl9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEludGVydmFsRXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHtcbiAgY29uc3RydWN0b3IocmVhc29uKSB7XG4gICAgc3VwZXIoYEludmFsaWQgSW50ZXJ2YWw6ICR7cmVhc29uLnRvTWVzc2FnZSgpfWApO1xuICB9XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIEludmFsaWREdXJhdGlvbkVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKHJlYXNvbikge1xuICAgIHN1cGVyKGBJbnZhbGlkIER1cmF0aW9uOiAke3JlYXNvbi50b01lc3NhZ2UoKX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige31cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZFVuaXRFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcih1bml0KSB7XG4gICAgc3VwZXIoYEludmFsaWQgdW5pdCAke3VuaXR9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHt9XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIFpvbmVJc0Fic3RyYWN0RXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJab25lIGlzIGFuIGFic3RyYWN0IGNsYXNzXCIpO1xuICB9XG59XG4iLCAiLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmNvbnN0IG4gPSBcIm51bWVyaWNcIixcbiAgcyA9IFwic2hvcnRcIixcbiAgbCA9IFwibG9uZ1wiO1xuXG5leHBvcnQgY29uc3QgREFURV9TSE9SVCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IG4sXG4gIGRheTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFX01FRCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IHMsXG4gIGRheTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFX01FRF9XSVRIX1dFRUtEQVkgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBzLFxuICBkYXk6IG4sXG4gIHdlZWtkYXk6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURV9GVUxMID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbCxcbiAgZGF5OiBuLFxufTtcblxuZXhwb3J0IGNvbnN0IERBVEVfSFVHRSA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgd2Vla2RheTogbCxcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1NJTVBMRSA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfV0lUSF9TRUNPTkRTID0ge1xuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1dJVEhfU0hPUlRfT0ZGU0VUID0ge1xuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbiAgdGltZVpvbmVOYW1lOiBzLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfV0lUSF9MT05HX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIHRpbWVab25lTmFtZTogbCxcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FXzI0X1NJTVBMRSA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBob3VyQ3ljbGU6IFwiaDIzXCIsXG59O1xuXG5leHBvcnQgY29uc3QgVElNRV8yNF9XSVRIX1NFQ09ORFMgPSB7XG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICBob3VyQ3ljbGU6IFwiaDIzXCIsXG59O1xuXG5leHBvcnQgY29uc3QgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgdGltZVpvbmVOYW1lOiBzLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgdGltZVpvbmVOYW1lOiBsLFxufTtcblxuZXhwb3J0IGNvbnN0IERBVEVUSU1FX1NIT1JUID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbixcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbixcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRUQgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBzLFxuICBkYXk6IG4sXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogcyxcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogcyxcbiAgZGF5OiBuLFxuICB3ZWVrZGF5OiBzLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfRlVMTCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICB0aW1lWm9uZU5hbWU6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBsLFxuICBkYXk6IG4sXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICB0aW1lWm9uZU5hbWU6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfSFVHRSA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgd2Vla2RheTogbCxcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICB0aW1lWm9uZU5hbWU6IGwsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBsLFxuICBkYXk6IG4sXG4gIHdlZWtkYXk6IGwsXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICB0aW1lWm9uZU5hbWU6IGwsXG59O1xuIiwgIi8qXG4gIFRoaXMgaXMganVzdCBhIGp1bmsgZHJhd2VyLCBjb250YWluaW5nIGFueXRoaW5nIHVzZWQgYWNyb3NzIG11bHRpcGxlIGNsYXNzZXMuXG4gIEJlY2F1c2UgTHV4b24gaXMgc21hbGwoaXNoKSwgdGhpcyBzaG91bGQgc3RheSBzbWFsbCBhbmQgd2Ugd29uJ3Qgd29ycnkgYWJvdXQgc3BsaXR0aW5nXG4gIGl0IHVwIGludG8sIHNheSwgcGFyc2luZ1V0aWwuanMgYW5kIGJhc2ljVXRpbC5qcyBhbmQgc28gb24uIEJ1dCB0aGV5IGFyZSBkaXZpZGVkIHVwIGJ5IGZlYXR1cmUgYXJlYS5cbiovXG5cbmltcG9ydCB7IEludmFsaWRBcmd1bWVudEVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy5qc1wiO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuLy8gVFlQRVNcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKG8pIHtcbiAgcmV0dXJuIHR5cGVvZiBvID09PSBcInVuZGVmaW5lZFwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwibnVtYmVyXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVnZXIobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwibnVtYmVyXCIgJiYgbyAlIDEgPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyhvKSB7XG4gIHJldHVybiB0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZShvKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykgPT09IFwiW29iamVjdCBEYXRlXVwiO1xufVxuXG4vLyBDQVBBQklMSVRJRVNcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1JlbGF0aXZlKCkge1xuICB0cnkge1xuICAgIHJldHVybiB0eXBlb2YgSW50bCAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhIUludGwuUmVsYXRpdmVUaW1lRm9ybWF0O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vIE9CSkVDVFMgQU5EIEFSUkFZU1xuXG5leHBvcnQgZnVuY3Rpb24gbWF5YmVBcnJheSh0aGluZykge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGluZykgPyB0aGluZyA6IFt0aGluZ107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiZXN0QnkoYXJyLCBieSwgY29tcGFyZSkge1xuICBpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGFyci5yZWR1Y2UoKGJlc3QsIG5leHQpID0+IHtcbiAgICBjb25zdCBwYWlyID0gW2J5KG5leHQpLCBuZXh0XTtcbiAgICBpZiAoIWJlc3QpIHtcbiAgICAgIHJldHVybiBwYWlyO1xuICAgIH0gZWxzZSBpZiAoY29tcGFyZShiZXN0WzBdLCBwYWlyWzBdKSA9PT0gYmVzdFswXSkge1xuICAgICAgcmV0dXJuIGJlc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwYWlyO1xuICAgIH1cbiAgfSwgbnVsbClbMV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaWNrKG9iaiwga2V5cykge1xuICByZXR1cm4ga2V5cy5yZWR1Y2UoKGEsIGspID0+IHtcbiAgICBhW2tdID0gb2JqW2tdO1xuICAgIHJldHVybiBhO1xuICB9LCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3ApIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufVxuXG4vLyBOVU1CRVJTIEFORCBTVFJJTkdTXG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlZ2VyQmV0d2Vlbih0aGluZywgYm90dG9tLCB0b3ApIHtcbiAgcmV0dXJuIGlzSW50ZWdlcih0aGluZykgJiYgdGhpbmcgPj0gYm90dG9tICYmIHRoaW5nIDw9IHRvcDtcbn1cblxuLy8geCAlIG4gYnV0IHRha2VzIHRoZSBzaWduIG9mIG4gaW5zdGVhZCBvZiB4XG5leHBvcnQgZnVuY3Rpb24gZmxvb3JNb2QoeCwgbikge1xuICByZXR1cm4geCAtIG4gKiBNYXRoLmZsb29yKHggLyBuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZFN0YXJ0KGlucHV0LCBuID0gMikge1xuICBjb25zdCBpc05lZyA9IGlucHV0IDwgMDtcbiAgbGV0IHBhZGRlZDtcbiAgaWYgKGlzTmVnKSB7XG4gICAgcGFkZGVkID0gXCItXCIgKyAoXCJcIiArIC1pbnB1dCkucGFkU3RhcnQobiwgXCIwXCIpO1xuICB9IGVsc2Uge1xuICAgIHBhZGRlZCA9IChcIlwiICsgaW5wdXQpLnBhZFN0YXJ0KG4sIFwiMFwiKTtcbiAgfVxuICByZXR1cm4gcGFkZGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbnRlZ2VyKHN0cmluZykge1xuICBpZiAoaXNVbmRlZmluZWQoc3RyaW5nKSB8fCBzdHJpbmcgPT09IG51bGwgfHwgc3RyaW5nID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nLCAxMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRmxvYXRpbmcoc3RyaW5nKSB7XG4gIGlmIChpc1VuZGVmaW5lZChzdHJpbmcpIHx8IHN0cmluZyA9PT0gbnVsbCB8fCBzdHJpbmcgPT09IFwiXCIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBwYXJzZUZsb2F0KHN0cmluZyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWlsbGlzKGZyYWN0aW9uKSB7XG4gIC8vIFJldHVybiB1bmRlZmluZWQgKGluc3RlYWQgb2YgMCkgaW4gdGhlc2UgY2FzZXMsIHdoZXJlIGZyYWN0aW9uIGlzIG5vdCBzZXRcbiAgaWYgKGlzVW5kZWZpbmVkKGZyYWN0aW9uKSB8fCBmcmFjdGlvbiA9PT0gbnVsbCB8fCBmcmFjdGlvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZiA9IHBhcnNlRmxvYXQoXCIwLlwiICsgZnJhY3Rpb24pICogMTAwMDtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihmKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRUbyhudW1iZXIsIGRpZ2l0cywgdG93YXJkWmVybyA9IGZhbHNlKSB7XG4gIGNvbnN0IGZhY3RvciA9IDEwICoqIGRpZ2l0cyxcbiAgICByb3VuZGVyID0gdG93YXJkWmVybyA/IE1hdGgudHJ1bmMgOiBNYXRoLnJvdW5kO1xuICByZXR1cm4gcm91bmRlcihudW1iZXIgKiBmYWN0b3IpIC8gZmFjdG9yO1xufVxuXG4vLyBEQVRFIEJBU0lDU1xuXG5leHBvcnQgZnVuY3Rpb24gaXNMZWFwWWVhcih5ZWFyKSB7XG4gIHJldHVybiB5ZWFyICUgNCA9PT0gMCAmJiAoeWVhciAlIDEwMCAhPT0gMCB8fCB5ZWFyICUgNDAwID09PSAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJblllYXIoeWVhcikge1xuICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7XG4gIGNvbnN0IG1vZE1vbnRoID0gZmxvb3JNb2QobW9udGggLSAxLCAxMikgKyAxLFxuICAgIG1vZFllYXIgPSB5ZWFyICsgKG1vbnRoIC0gbW9kTW9udGgpIC8gMTI7XG5cbiAgaWYgKG1vZE1vbnRoID09PSAyKSB7XG4gICAgcmV0dXJuIGlzTGVhcFllYXIobW9kWWVhcikgPyAyOSA6IDI4O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBbMzEsIG51bGwsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXVttb2RNb250aCAtIDFdO1xuICB9XG59XG5cbi8vIGNvdmVydCBhIGNhbGVuZGFyIG9iamVjdCB0byBhIGxvY2FsIHRpbWVzdGFtcCAoZXBvY2gsIGJ1dCB3aXRoIHRoZSBvZmZzZXQgYmFrZWQgaW4pXG5leHBvcnQgZnVuY3Rpb24gb2JqVG9Mb2NhbFRTKG9iaikge1xuICBsZXQgZCA9IERhdGUuVVRDKFxuICAgIG9iai55ZWFyLFxuICAgIG9iai5tb250aCAtIDEsXG4gICAgb2JqLmRheSxcbiAgICBvYmouaG91cixcbiAgICBvYmoubWludXRlLFxuICAgIG9iai5zZWNvbmQsXG4gICAgb2JqLm1pbGxpc2Vjb25kXG4gICk7XG5cbiAgLy8gZm9yIGxlZ2FjeSByZWFzb25zLCB5ZWFycyBiZXR3ZWVuIDAgYW5kIDk5IGFyZSBpbnRlcnByZXRlZCBhcyAxOVhYOyByZXZlcnQgdGhhdFxuICBpZiAob2JqLnllYXIgPCAxMDAgJiYgb2JqLnllYXIgPj0gMCkge1xuICAgIGQgPSBuZXcgRGF0ZShkKTtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGQuZ2V0VVRDRnVsbFllYXIoKSAtIDE5MDApO1xuICB9XG4gIHJldHVybiArZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcikge1xuICBjb25zdCBwMSA9XG4gICAgICAod2Vla1llYXIgK1xuICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gNCkgLVxuICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gMTAwKSArXG4gICAgICAgIE1hdGguZmxvb3Iod2Vla1llYXIgLyA0MDApKSAlXG4gICAgICA3LFxuICAgIGxhc3QgPSB3ZWVrWWVhciAtIDEsXG4gICAgcDIgPSAobGFzdCArIE1hdGguZmxvb3IobGFzdCAvIDQpIC0gTWF0aC5mbG9vcihsYXN0IC8gMTAwKSArIE1hdGguZmxvb3IobGFzdCAvIDQwMCkpICUgNztcbiAgcmV0dXJuIHAxID09PSA0IHx8IHAyID09PSAzID8gNTMgOiA1Mjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVudHJ1bmNhdGVZZWFyKHllYXIpIHtcbiAgaWYgKHllYXIgPiA5OSkge1xuICAgIHJldHVybiB5ZWFyO1xuICB9IGVsc2UgcmV0dXJuIHllYXIgPiA2MCA/IDE5MDAgKyB5ZWFyIDogMjAwMCArIHllYXI7XG59XG5cbi8vIFBBUlNJTkdcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlWm9uZUluZm8odHMsIG9mZnNldEZvcm1hdCwgbG9jYWxlLCB0aW1lWm9uZSA9IG51bGwpIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRzKSxcbiAgICBpbnRsT3B0cyA9IHtcbiAgICAgIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgICAgIHllYXI6IFwibnVtZXJpY1wiLFxuICAgICAgbW9udGg6IFwiMi1kaWdpdFwiLFxuICAgICAgZGF5OiBcIjItZGlnaXRcIixcbiAgICAgIGhvdXI6IFwiMi1kaWdpdFwiLFxuICAgICAgbWludXRlOiBcIjItZGlnaXRcIixcbiAgICB9O1xuXG4gIGlmICh0aW1lWm9uZSkge1xuICAgIGludGxPcHRzLnRpbWVab25lID0gdGltZVpvbmU7XG4gIH1cblxuICBjb25zdCBtb2RpZmllZCA9IHsgdGltZVpvbmVOYW1lOiBvZmZzZXRGb3JtYXQsIC4uLmludGxPcHRzIH07XG5cbiAgY29uc3QgcGFyc2VkID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBtb2RpZmllZClcbiAgICAuZm9ybWF0VG9QYXJ0cyhkYXRlKVxuICAgIC5maW5kKChtKSA9PiBtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gXCJ0aW1lem9uZW5hbWVcIik7XG4gIHJldHVybiBwYXJzZWQgPyBwYXJzZWQudmFsdWUgOiBudWxsO1xufVxuXG4vLyBzaWduZWRPZmZzZXQoJy01JywgJzMwJykgLT4gLTMzMFxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25lZE9mZnNldChvZmZIb3VyU3RyLCBvZmZNaW51dGVTdHIpIHtcbiAgbGV0IG9mZkhvdXIgPSBwYXJzZUludChvZmZIb3VyU3RyLCAxMCk7XG5cbiAgLy8gZG9uJ3QgfHwgdGhpcyBiZWNhdXNlIHdlIHdhbnQgdG8gcHJlc2VydmUgLTBcbiAgaWYgKE51bWJlci5pc05hTihvZmZIb3VyKSkge1xuICAgIG9mZkhvdXIgPSAwO1xuICB9XG5cbiAgY29uc3Qgb2ZmTWluID0gcGFyc2VJbnQob2ZmTWludXRlU3RyLCAxMCkgfHwgMCxcbiAgICBvZmZNaW5TaWduZWQgPSBvZmZIb3VyIDwgMCB8fCBPYmplY3QuaXMob2ZmSG91ciwgLTApID8gLW9mZk1pbiA6IG9mZk1pbjtcbiAgcmV0dXJuIG9mZkhvdXIgKiA2MCArIG9mZk1pblNpZ25lZDtcbn1cblxuLy8gQ09FUkNJT05cblxuZXhwb3J0IGZ1bmN0aW9uIGFzTnVtYmVyKHZhbHVlKSB7XG4gIGNvbnN0IG51bWVyaWNWYWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiIHx8IHZhbHVlID09PSBcIlwiIHx8IE51bWJlci5pc05hTihudW1lcmljVmFsdWUpKVxuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgSW52YWxpZCB1bml0IHZhbHVlICR7dmFsdWV9YCk7XG4gIHJldHVybiBudW1lcmljVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVPYmplY3Qob2JqLCBub3JtYWxpemVyKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fTtcbiAgZm9yIChjb25zdCB1IGluIG9iaikge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eShvYmosIHUpKSB7XG4gICAgICBjb25zdCB2ID0gb2JqW3VdO1xuICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCB8fCB2ID09PSBudWxsKSBjb250aW51ZTtcbiAgICAgIG5vcm1hbGl6ZWRbbm9ybWFsaXplcih1KV0gPSBhc051bWJlcih2KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRPZmZzZXQob2Zmc2V0LCBmb3JtYXQpIHtcbiAgY29uc3QgaG91cnMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAvIDYwKSksXG4gICAgbWludXRlcyA9IE1hdGgudHJ1bmMoTWF0aC5hYnMob2Zmc2V0ICUgNjApKSxcbiAgICBzaWduID0gb2Zmc2V0ID49IDAgPyBcIitcIiA6IFwiLVwiO1xuXG4gIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgY2FzZSBcInNob3J0XCI6XG4gICAgICByZXR1cm4gYCR7c2lnbn0ke3BhZFN0YXJ0KGhvdXJzLCAyKX06JHtwYWRTdGFydChtaW51dGVzLCAyKX1gO1xuICAgIGNhc2UgXCJuYXJyb3dcIjpcbiAgICAgIHJldHVybiBgJHtzaWdufSR7aG91cnN9JHttaW51dGVzID4gMCA/IGA6JHttaW51dGVzfWAgOiBcIlwifWA7XG4gICAgY2FzZSBcInRlY2hpZVwiOlxuICAgICAgcmV0dXJuIGAke3NpZ259JHtwYWRTdGFydChob3VycywgMil9JHtwYWRTdGFydChtaW51dGVzLCAyKX1gO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVmFsdWUgZm9ybWF0ICR7Zm9ybWF0fSBpcyBvdXQgb2YgcmFuZ2UgZm9yIHByb3BlcnR5IGZvcm1hdGApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lT2JqZWN0KG9iaikge1xuICByZXR1cm4gcGljayhvYmosIFtcImhvdXJcIiwgXCJtaW51dGVcIiwgXCJzZWNvbmRcIiwgXCJtaWxsaXNlY29uZFwiXSk7XG59XG5cbmV4cG9ydCBjb25zdCBpYW5hUmVnZXggPVxuICAvW0EtWmEtel8rLV17MSwyNTZ9KD86Oj9cXC9bQS1aYS16MC05XystXXsxLDI1Nn0oPzpcXC9bQS1aYS16MC05XystXXsxLDI1Nn0pPyk/LztcbiIsICJpbXBvcnQgKiBhcyBGb3JtYXRzIGZyb20gXCIuL2Zvcm1hdHMuanNcIjtcbmltcG9ydCB7IHBpY2sgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShvYmopIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiwgT2JqZWN0LmtleXMob2JqKS5zb3J0KCkpO1xufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuZXhwb3J0IGNvbnN0IG1vbnRoc0xvbmcgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbmV4cG9ydCBjb25zdCBtb250aHNTaG9ydCA9IFtcbiAgXCJKYW5cIixcbiAgXCJGZWJcIixcbiAgXCJNYXJcIixcbiAgXCJBcHJcIixcbiAgXCJNYXlcIixcbiAgXCJKdW5cIixcbiAgXCJKdWxcIixcbiAgXCJBdWdcIixcbiAgXCJTZXBcIixcbiAgXCJPY3RcIixcbiAgXCJOb3ZcIixcbiAgXCJEZWNcIixcbl07XG5cbmV4cG9ydCBjb25zdCBtb250aHNOYXJyb3cgPSBbXCJKXCIsIFwiRlwiLCBcIk1cIiwgXCJBXCIsIFwiTVwiLCBcIkpcIiwgXCJKXCIsIFwiQVwiLCBcIlNcIiwgXCJPXCIsIFwiTlwiLCBcIkRcIl07XG5cbmV4cG9ydCBmdW5jdGlvbiBtb250aHMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi5tb250aHNOYXJyb3ddO1xuICAgIGNhc2UgXCJzaG9ydFwiOlxuICAgICAgcmV0dXJuIFsuLi5tb250aHNTaG9ydF07XG4gICAgY2FzZSBcImxvbmdcIjpcbiAgICAgIHJldHVybiBbLi4ubW9udGhzTG9uZ107XG4gICAgY2FzZSBcIm51bWVyaWNcIjpcbiAgICAgIHJldHVybiBbXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCIsIFwiOFwiLCBcIjlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl07XG4gICAgY2FzZSBcIjItZGlnaXRcIjpcbiAgICAgIHJldHVybiBbXCIwMVwiLCBcIjAyXCIsIFwiMDNcIiwgXCIwNFwiLCBcIjA1XCIsIFwiMDZcIiwgXCIwN1wiLCBcIjA4XCIsIFwiMDlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3ZWVrZGF5c0xvbmcgPSBbXG4gIFwiTW9uZGF5XCIsXG4gIFwiVHVlc2RheVwiLFxuICBcIldlZG5lc2RheVwiLFxuICBcIlRodXJzZGF5XCIsXG4gIFwiRnJpZGF5XCIsXG4gIFwiU2F0dXJkYXlcIixcbiAgXCJTdW5kYXlcIixcbl07XG5cbmV4cG9ydCBjb25zdCB3ZWVrZGF5c1Nob3J0ID0gW1wiTW9uXCIsIFwiVHVlXCIsIFwiV2VkXCIsIFwiVGh1XCIsIFwiRnJpXCIsIFwiU2F0XCIsIFwiU3VuXCJdO1xuXG5leHBvcnQgY29uc3Qgd2Vla2RheXNOYXJyb3cgPSBbXCJNXCIsIFwiVFwiLCBcIldcIiwgXCJUXCIsIFwiRlwiLCBcIlNcIiwgXCJTXCJdO1xuXG5leHBvcnQgZnVuY3Rpb24gd2Vla2RheXMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi53ZWVrZGF5c05hcnJvd107XG4gICAgY2FzZSBcInNob3J0XCI6XG4gICAgICByZXR1cm4gWy4uLndlZWtkYXlzU2hvcnRdO1xuICAgIGNhc2UgXCJsb25nXCI6XG4gICAgICByZXR1cm4gWy4uLndlZWtkYXlzTG9uZ107XG4gICAgY2FzZSBcIm51bWVyaWNcIjpcbiAgICAgIHJldHVybiBbXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCJdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgbWVyaWRpZW1zID0gW1wiQU1cIiwgXCJQTVwiXTtcblxuZXhwb3J0IGNvbnN0IGVyYXNMb25nID0gW1wiQmVmb3JlIENocmlzdFwiLCBcIkFubm8gRG9taW5pXCJdO1xuXG5leHBvcnQgY29uc3QgZXJhc1Nob3J0ID0gW1wiQkNcIiwgXCJBRFwiXTtcblxuZXhwb3J0IGNvbnN0IGVyYXNOYXJyb3cgPSBbXCJCXCIsIFwiQVwiXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVyYXMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi5lcmFzTmFycm93XTtcbiAgICBjYXNlIFwic2hvcnRcIjpcbiAgICAgIHJldHVybiBbLi4uZXJhc1Nob3J0XTtcbiAgICBjYXNlIFwibG9uZ1wiOlxuICAgICAgcmV0dXJuIFsuLi5lcmFzTG9uZ107XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJpZGllbUZvckRhdGVUaW1lKGR0KSB7XG4gIHJldHVybiBtZXJpZGllbXNbZHQuaG91ciA8IDEyID8gMCA6IDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIHdlZWtkYXlzKGxlbmd0aClbZHQud2Vla2RheSAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSB7XG4gIHJldHVybiBtb250aHMobGVuZ3RoKVtkdC5tb250aCAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXJhRm9yRGF0ZVRpbWUoZHQsIGxlbmd0aCkge1xuICByZXR1cm4gZXJhcyhsZW5ndGgpW2R0LnllYXIgPCAwID8gMCA6IDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCBudW1lcmljID0gXCJhbHdheXNcIiwgbmFycm93ID0gZmFsc2UpIHtcbiAgY29uc3QgdW5pdHMgPSB7XG4gICAgeWVhcnM6IFtcInllYXJcIiwgXCJ5ci5cIl0sXG4gICAgcXVhcnRlcnM6IFtcInF1YXJ0ZXJcIiwgXCJxdHIuXCJdLFxuICAgIG1vbnRoczogW1wibW9udGhcIiwgXCJtby5cIl0sXG4gICAgd2Vla3M6IFtcIndlZWtcIiwgXCJ3ay5cIl0sXG4gICAgZGF5czogW1wiZGF5XCIsIFwiZGF5XCIsIFwiZGF5c1wiXSxcbiAgICBob3VyczogW1wiaG91clwiLCBcImhyLlwiXSxcbiAgICBtaW51dGVzOiBbXCJtaW51dGVcIiwgXCJtaW4uXCJdLFxuICAgIHNlY29uZHM6IFtcInNlY29uZFwiLCBcInNlYy5cIl0sXG4gIH07XG5cbiAgY29uc3QgbGFzdGFibGUgPSBbXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJdLmluZGV4T2YodW5pdCkgPT09IC0xO1xuXG4gIGlmIChudW1lcmljID09PSBcImF1dG9cIiAmJiBsYXN0YWJsZSkge1xuICAgIGNvbnN0IGlzRGF5ID0gdW5pdCA9PT0gXCJkYXlzXCI7XG4gICAgc3dpdGNoIChjb3VudCkge1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInRvbW9ycm93XCIgOiBgbmV4dCAke3VuaXRzW3VuaXRdWzBdfWA7XG4gICAgICBjYXNlIC0xOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInllc3RlcmRheVwiIDogYGxhc3QgJHt1bml0c1t1bml0XVswXX1gO1xuICAgICAgY2FzZSAwOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInRvZGF5XCIgOiBgdGhpcyAke3VuaXRzW3VuaXRdWzBdfWA7XG4gICAgICBkZWZhdWx0OiAvLyBmYWxsIHRocm91Z2hcbiAgICB9XG4gIH1cblxuICBjb25zdCBpc0luUGFzdCA9IE9iamVjdC5pcyhjb3VudCwgLTApIHx8IGNvdW50IDwgMCxcbiAgICBmbXRWYWx1ZSA9IE1hdGguYWJzKGNvdW50KSxcbiAgICBzaW5ndWxhciA9IGZtdFZhbHVlID09PSAxLFxuICAgIGxpbFVuaXRzID0gdW5pdHNbdW5pdF0sXG4gICAgZm10VW5pdCA9IG5hcnJvd1xuICAgICAgPyBzaW5ndWxhclxuICAgICAgICA/IGxpbFVuaXRzWzFdXG4gICAgICAgIDogbGlsVW5pdHNbMl0gfHwgbGlsVW5pdHNbMV1cbiAgICAgIDogc2luZ3VsYXJcbiAgICAgID8gdW5pdHNbdW5pdF1bMF1cbiAgICAgIDogdW5pdDtcbiAgcmV0dXJuIGlzSW5QYXN0ID8gYCR7Zm10VmFsdWV9ICR7Zm10VW5pdH0gYWdvYCA6IGBpbiAke2ZtdFZhbHVlfSAke2ZtdFVuaXR9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFN0cmluZyhrbm93bkZvcm1hdCkge1xuICAvLyB0aGVzZSBhbGwgaGF2ZSB0aGUgb2Zmc2V0cyByZW1vdmVkIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlbVxuICAvLyB3aXRob3V0IGFsbCB0aGUgaW50bCBzdHVmZiB0aGlzIGlzIGJhY2tmaWxsaW5nXG4gIGNvbnN0IGZpbHRlcmVkID0gcGljayhrbm93bkZvcm1hdCwgW1xuICAgICAgXCJ3ZWVrZGF5XCIsXG4gICAgICBcImVyYVwiLFxuICAgICAgXCJ5ZWFyXCIsXG4gICAgICBcIm1vbnRoXCIsXG4gICAgICBcImRheVwiLFxuICAgICAgXCJob3VyXCIsXG4gICAgICBcIm1pbnV0ZVwiLFxuICAgICAgXCJzZWNvbmRcIixcbiAgICAgIFwidGltZVpvbmVOYW1lXCIsXG4gICAgICBcImhvdXJDeWNsZVwiLFxuICAgIF0pLFxuICAgIGtleSA9IHN0cmluZ2lmeShmaWx0ZXJlZCksXG4gICAgZGF0ZVRpbWVIdWdlID0gXCJFRUVFLCBMTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICBzd2l0Y2ggKGtleSkge1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURV9TSE9SVCk6XG4gICAgICByZXR1cm4gXCJNL2QveXl5eVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURV9NRUQpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXlcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWSk6XG4gICAgICByZXR1cm4gXCJFRUUsIExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFX0ZVTEwpOlxuICAgICAgcmV0dXJuIFwiTExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFX0hVR0UpOlxuICAgICAgcmV0dXJuIFwiRUVFRSwgTExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5USU1FX1NJTVBMRSk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcImg6bW06c3MgYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfMjRfU0lNUExFKTpcbiAgICAgIHJldHVybiBcIkhIOm1tXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5USU1FXzI0X1dJVEhfU0VDT05EUyk6XG4gICAgICByZXR1cm4gXCJISDptbTpzc1wiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJISDptbVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUKTpcbiAgICAgIHJldHVybiBcIkhIOm1tXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFVElNRV9TSE9SVCk6XG4gICAgICByZXR1cm4gXCJNL2QveXl5eSwgaDptbSBhXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFVElNRV9NRUQpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfRlVMTCk6XG4gICAgICByZXR1cm4gXCJMTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfSFVHRSk6XG4gICAgICByZXR1cm4gZGF0ZVRpbWVIdWdlO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcIk0vZC95eXl5LCBoOm1tOnNzIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXksIGg6bW06c3MgYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSk6XG4gICAgICByZXR1cm4gXCJFRUUsIGQgTExMIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMpOlxuICAgICAgcmV0dXJuIFwiTExMTCBkLCB5eXl5LCBoOm1tOnNzIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcIkVFRUUsIExMTEwgZCwgeXl5eSwgaDptbTpzcyBhXCI7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBkYXRlVGltZUh1Z2U7XG4gIH1cbn1cbiIsICJpbXBvcnQgKiBhcyBFbmdsaXNoIGZyb20gXCIuL2VuZ2xpc2guanNcIjtcbmltcG9ydCAqIGFzIEZvcm1hdHMgZnJvbSBcIi4vZm9ybWF0cy5qc1wiO1xuaW1wb3J0IHsgcGFkU3RhcnQgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeVRva2VucyhzcGxpdHMsIHRva2VuVG9TdHJpbmcpIHtcbiAgbGV0IHMgPSBcIlwiO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHNwbGl0cykge1xuICAgIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgICBzICs9IHRva2VuLnZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcyArPSB0b2tlblRvU3RyaW5nKHRva2VuLnZhbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBzO1xufVxuXG5jb25zdCBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzID0ge1xuICBEOiBGb3JtYXRzLkRBVEVfU0hPUlQsXG4gIEREOiBGb3JtYXRzLkRBVEVfTUVELFxuICBEREQ6IEZvcm1hdHMuREFURV9GVUxMLFxuICBEREREOiBGb3JtYXRzLkRBVEVfSFVHRSxcbiAgdDogRm9ybWF0cy5USU1FX1NJTVBMRSxcbiAgdHQ6IEZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFMsXG4gIHR0dDogRm9ybWF0cy5USU1FX1dJVEhfU0hPUlRfT0ZGU0VULFxuICB0dHR0OiBGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCxcbiAgVDogRm9ybWF0cy5USU1FXzI0X1NJTVBMRSxcbiAgVFQ6IEZvcm1hdHMuVElNRV8yNF9XSVRIX1NFQ09ORFMsXG4gIFRUVDogRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VULFxuICBUVFRUOiBGb3JtYXRzLlRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCxcbiAgZjogRm9ybWF0cy5EQVRFVElNRV9TSE9SVCxcbiAgZmY6IEZvcm1hdHMuREFURVRJTUVfTUVELFxuICBmZmY6IEZvcm1hdHMuREFURVRJTUVfRlVMTCxcbiAgZmZmZjogRm9ybWF0cy5EQVRFVElNRV9IVUdFLFxuICBGOiBGb3JtYXRzLkRBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUyxcbiAgRkY6IEZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUyxcbiAgRkZGOiBGb3JtYXRzLkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTLFxuICBGRkZGOiBGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTLFxufTtcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvcm1hdHRlciB7XG4gIHN0YXRpYyBjcmVhdGUobG9jYWxlLCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsb2NhbGUsIG9wdHMpO1xuICB9XG5cbiAgc3RhdGljIHBhcnNlRm9ybWF0KGZtdCkge1xuICAgIGxldCBjdXJyZW50ID0gbnVsbCxcbiAgICAgIGN1cnJlbnRGdWxsID0gXCJcIixcbiAgICAgIGJyYWNrZXRlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHNwbGl0cyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm10Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjID0gZm10LmNoYXJBdChpKTtcbiAgICAgIGlmIChjID09PSBcIidcIikge1xuICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogYnJhY2tldGVkLCB2YWw6IGN1cnJlbnRGdWxsIH0pO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnQgPSBudWxsO1xuICAgICAgICBjdXJyZW50RnVsbCA9IFwiXCI7XG4gICAgICAgIGJyYWNrZXRlZCA9ICFicmFja2V0ZWQ7XG4gICAgICB9IGVsc2UgaWYgKGJyYWNrZXRlZCkge1xuICAgICAgICBjdXJyZW50RnVsbCArPSBjO1xuICAgICAgfSBlbHNlIGlmIChjID09PSBjdXJyZW50KSB7XG4gICAgICAgIGN1cnJlbnRGdWxsICs9IGM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogZmFsc2UsIHZhbDogY3VycmVudEZ1bGwgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEZ1bGwgPSBjO1xuICAgICAgICBjdXJyZW50ID0gYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgc3BsaXRzLnB1c2goeyBsaXRlcmFsOiBicmFja2V0ZWQsIHZhbDogY3VycmVudEZ1bGwgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNwbGl0cztcbiAgfVxuXG4gIHN0YXRpYyBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuKSB7XG4gICAgcmV0dXJuIG1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHNbdG9rZW5dO1xuICB9XG5cbiAgY29uc3RydWN0b3IobG9jYWxlLCBmb3JtYXRPcHRzKSB7XG4gICAgdGhpcy5vcHRzID0gZm9ybWF0T3B0cztcbiAgICB0aGlzLmxvYyA9IGxvY2FsZTtcbiAgICB0aGlzLnN5c3RlbUxvYyA9IG51bGw7XG4gIH1cblxuICBmb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChkdCwgb3B0cykge1xuICAgIGlmICh0aGlzLnN5c3RlbUxvYyA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zeXN0ZW1Mb2MgPSB0aGlzLmxvYy5yZWRlZmF1bHRUb1N5c3RlbSgpO1xuICAgIH1cbiAgICBjb25zdCBkZiA9IHRoaXMuc3lzdGVtTG9jLmR0Rm9ybWF0dGVyKGR0LCB7IC4uLnRoaXMub3B0cywgLi4ub3B0cyB9KTtcbiAgICByZXR1cm4gZGYuZm9ybWF0KCk7XG4gIH1cblxuICBmb3JtYXREYXRlVGltZShkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLmZvcm1hdCgpO1xuICB9XG5cbiAgZm9ybWF0RGF0ZVRpbWVQYXJ0cyhkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLmZvcm1hdFRvUGFydHMoKTtcbiAgfVxuXG4gIHJlc29sdmVkT3B0aW9ucyhkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLnJlc29sdmVkT3B0aW9ucygpO1xuICB9XG5cbiAgbnVtKG4sIHAgPSAwKSB7XG4gICAgLy8gd2UgZ2V0IHNvbWUgcGVyZiBvdXQgb2YgZG9pbmcgdGhpcyBoZXJlLCBhbm5veWluZ2x5XG4gICAgaWYgKHRoaXMub3B0cy5mb3JjZVNpbXBsZSkge1xuICAgICAgcmV0dXJuIHBhZFN0YXJ0KG4sIHApO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdHMgPSB7IC4uLnRoaXMub3B0cyB9O1xuXG4gICAgaWYgKHAgPiAwKSB7XG4gICAgICBvcHRzLnBhZFRvID0gcDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sb2MubnVtYmVyRm9ybWF0dGVyKG9wdHMpLmZvcm1hdChuKTtcbiAgfVxuXG4gIGZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhkdCwgZm10KSB7XG4gICAgY29uc3Qga25vd25FbmdsaXNoID0gdGhpcy5sb2MubGlzdGluZ01vZGUoKSA9PT0gXCJlblwiLFxuICAgICAgdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPSB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAmJiB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAhPT0gXCJncmVnb3J5XCIsXG4gICAgICBzdHJpbmcgPSAob3B0cywgZXh0cmFjdCkgPT4gdGhpcy5sb2MuZXh0cmFjdChkdCwgb3B0cywgZXh0cmFjdCksXG4gICAgICBmb3JtYXRPZmZzZXQgPSAob3B0cykgPT4ge1xuICAgICAgICBpZiAoZHQuaXNPZmZzZXRGaXhlZCAmJiBkdC5vZmZzZXQgPT09IDAgJiYgb3B0cy5hbGxvd1opIHtcbiAgICAgICAgICByZXR1cm4gXCJaXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZHQuaXNWYWxpZCA/IGR0LnpvbmUuZm9ybWF0T2Zmc2V0KGR0LnRzLCBvcHRzLmZvcm1hdCkgOiBcIlwiO1xuICAgICAgfSxcbiAgICAgIG1lcmlkaWVtID0gKCkgPT5cbiAgICAgICAga25vd25FbmdsaXNoXG4gICAgICAgICAgPyBFbmdsaXNoLm1lcmlkaWVtRm9yRGF0ZVRpbWUoZHQpXG4gICAgICAgICAgOiBzdHJpbmcoeyBob3VyOiBcIm51bWVyaWNcIiwgaG91ckN5Y2xlOiBcImgxMlwiIH0sIFwiZGF5cGVyaW9kXCIpLFxuICAgICAgbW9udGggPSAobGVuZ3RoLCBzdGFuZGFsb25lKSA9PlxuICAgICAgICBrbm93bkVuZ2xpc2hcbiAgICAgICAgICA/IEVuZ2xpc2gubW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKVxuICAgICAgICAgIDogc3RyaW5nKHN0YW5kYWxvbmUgPyB7IG1vbnRoOiBsZW5ndGggfSA6IHsgbW9udGg6IGxlbmd0aCwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpLFxuICAgICAgd2Vla2RheSA9IChsZW5ndGgsIHN0YW5kYWxvbmUpID0+XG4gICAgICAgIGtub3duRW5nbGlzaFxuICAgICAgICAgID8gRW5nbGlzaC53ZWVrZGF5Rm9yRGF0ZVRpbWUoZHQsIGxlbmd0aClcbiAgICAgICAgICA6IHN0cmluZyhcbiAgICAgICAgICAgICAgc3RhbmRhbG9uZSA/IHsgd2Vla2RheTogbGVuZ3RoIH0gOiB7IHdlZWtkYXk6IGxlbmd0aCwgbW9udGg6IFwibG9uZ1wiLCBkYXk6IFwibnVtZXJpY1wiIH0sXG4gICAgICAgICAgICAgIFwid2Vla2RheVwiXG4gICAgICAgICAgICApLFxuICAgICAgbWF5YmVNYWNybyA9ICh0b2tlbikgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRPcHRzID0gRm9ybWF0dGVyLm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHModG9rZW4pO1xuICAgICAgICBpZiAoZm9ybWF0T3B0cykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGR0LCBmb3JtYXRPcHRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcmEgPSAobGVuZ3RoKSA9PlxuICAgICAgICBrbm93bkVuZ2xpc2ggPyBFbmdsaXNoLmVyYUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIDogc3RyaW5nKHsgZXJhOiBsZW5ndGggfSwgXCJlcmFcIiksXG4gICAgICB0b2tlblRvU3RyaW5nID0gKHRva2VuKSA9PiB7XG4gICAgICAgIC8vIFdoZXJlIHBvc3NpYmxlOiBodHRwOi8vY2xkci51bmljb2RlLm9yZy90cmFuc2xhdGlvbi9kYXRlLXRpbWUtMS9kYXRlLXRpbWUjVE9DLVN0YW5kYWxvbmUtdnMuLUZvcm1hdC1TdHlsZXNcbiAgICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICAgIC8vIG1zXG4gICAgICAgICAgY2FzZSBcIlNcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taWxsaXNlY29uZCk7XG4gICAgICAgICAgY2FzZSBcInVcIjpcbiAgICAgICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICAgICAgY2FzZSBcIlNTU1wiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbGxpc2Vjb25kLCAzKTtcbiAgICAgICAgICAvLyBzZWNvbmRzXG4gICAgICAgICAgY2FzZSBcInNcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5zZWNvbmQpO1xuICAgICAgICAgIGNhc2UgXCJzc1wiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnNlY29uZCwgMik7XG4gICAgICAgICAgLy8gZnJhY3Rpb25hbCBzZWNvbmRzXG4gICAgICAgICAgY2FzZSBcInV1XCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC5taWxsaXNlY29uZCAvIDEwKSwgMik7XG4gICAgICAgICAgY2FzZSBcInV1dVwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZHQubWlsbGlzZWNvbmQgLyAxMDApKTtcbiAgICAgICAgICAvLyBtaW51dGVzXG4gICAgICAgICAgY2FzZSBcIm1cIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taW51dGUpO1xuICAgICAgICAgIGNhc2UgXCJtbVwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbnV0ZSwgMik7XG4gICAgICAgICAgLy8gaG91cnNcbiAgICAgICAgICBjYXNlIFwiaFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LmhvdXIgJSAxMiA9PT0gMCA/IDEyIDogZHQuaG91ciAlIDEyKTtcbiAgICAgICAgICBjYXNlIFwiaGhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyICUgMTIgPT09IDAgPyAxMiA6IGR0LmhvdXIgJSAxMiwgMik7XG4gICAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyKTtcbiAgICAgICAgICBjYXNlIFwiSEhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyLCAyKTtcbiAgICAgICAgICAvLyBvZmZzZXRcbiAgICAgICAgICBjYXNlIFwiWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSArNlxuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogXCJuYXJyb3dcIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSArMDY6MDBcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRPZmZzZXQoeyBmb3JtYXQ6IFwic2hvcnRcIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlpcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgKzA2MDBcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRPZmZzZXQoeyBmb3JtYXQ6IFwidGVjaGllXCIsIGFsbG93WjogdGhpcy5vcHRzLmFsbG93WiB9KTtcbiAgICAgICAgICBjYXNlIFwiWlpaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSBFU1RcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiBcInNob3J0XCIsIGxvY2FsZTogdGhpcy5sb2MubG9jYWxlIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlpaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSBFYXN0ZXJuIFN0YW5kYXJkIFRpbWVcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiBcImxvbmdcIiwgbG9jYWxlOiB0aGlzLmxvYy5sb2NhbGUgfSk7XG4gICAgICAgICAgLy8gem9uZVxuICAgICAgICAgIGNhc2UgXCJ6XCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFtZXJpY2EvTmV3X1lvcmtcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lTmFtZTtcbiAgICAgICAgICAvLyBtZXJpZGllbXNcbiAgICAgICAgICBjYXNlIFwiYVwiOlxuICAgICAgICAgICAgcmV0dXJuIG1lcmlkaWVtKCk7XG4gICAgICAgICAgLy8gZGF0ZXNcbiAgICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyID8gc3RyaW5nKHsgZGF5OiBcIm51bWVyaWNcIiB9LCBcImRheVwiKSA6IHRoaXMubnVtKGR0LmRheSk7XG4gICAgICAgICAgY2FzZSBcImRkXCI6XG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyBkYXk6IFwiMi1kaWdpdFwiIH0sIFwiZGF5XCIpIDogdGhpcy5udW0oZHQuZGF5LCAyKTtcbiAgICAgICAgICAvLyB3ZWVrZGF5cyAtIHN0YW5kYWxvbmVcbiAgICAgICAgICBjYXNlIFwiY1wiOlxuICAgICAgICAgICAgLy8gbGlrZSAxXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7XG4gICAgICAgICAgY2FzZSBcImNjY1wiOlxuICAgICAgICAgICAgLy8gbGlrZSAnVHVlcydcbiAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KFwic2hvcnRcIiwgdHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcImNjY2NcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknXG4gICAgICAgICAgICByZXR1cm4gd2Vla2RheShcImxvbmdcIiwgdHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcImNjY2NjXCI6XG4gICAgICAgICAgICAvLyBsaWtlICdUJ1xuICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoXCJuYXJyb3dcIiwgdHJ1ZSk7XG4gICAgICAgICAgLy8gd2Vla2RheXMgLSBmb3JtYXRcbiAgICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAxXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7XG4gICAgICAgICAgY2FzZSBcIkVFRVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAnVHVlcydcbiAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KFwic2hvcnRcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJFRUVFXCI6XG4gICAgICAgICAgICAvLyBsaWtlICdUdWVzZGF5J1xuICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoXCJsb25nXCIsIGZhbHNlKTtcbiAgICAgICAgICBjYXNlIFwiRUVFRUVcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgJ1QnXG4gICAgICAgICAgICByZXR1cm4gd2Vla2RheShcIm5hcnJvd1wiLCBmYWxzZSk7XG4gICAgICAgICAgLy8gbW9udGhzIC0gc3RhbmRhbG9uZVxuICAgICAgICAgIGNhc2UgXCJMXCI6XG4gICAgICAgICAgICAvLyBsaWtlIDFcbiAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlclxuICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiBcIm51bWVyaWNcIiwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgpO1xuICAgICAgICAgIGNhc2UgXCJMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMSwgZG9lc24ndCBzZWVtIHRvIHdvcmtcbiAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlclxuICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiBcIjItZGlnaXRcIiwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgsIDIpO1xuICAgICAgICAgIGNhc2UgXCJMTExcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgSmFuXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJzaG9ydFwiLCB0cnVlKTtcbiAgICAgICAgICBjYXNlIFwiTExMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKYW51YXJ5XG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJsb25nXCIsIHRydWUpO1xuICAgICAgICAgIGNhc2UgXCJMTExMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJuYXJyb3dcIiwgdHJ1ZSk7XG4gICAgICAgICAgLy8gbW9udGhzIC0gZm9ybWF0XG4gICAgICAgICAgY2FzZSBcIk1cIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMVxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyXG4gICAgICAgICAgICAgID8gc3RyaW5nKHsgbW9udGg6IFwibnVtZXJpY1wiIH0sIFwibW9udGhcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC5tb250aCk7XG4gICAgICAgICAgY2FzZSBcIk1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIDAxXG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyBtb250aDogXCIyLWRpZ2l0XCIgfSwgXCJtb250aFwiKVxuICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTtcbiAgICAgICAgICBjYXNlIFwiTU1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEphblxuICAgICAgICAgICAgcmV0dXJuIG1vbnRoKFwic2hvcnRcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJNTU1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEphbnVhcnlcbiAgICAgICAgICAgIHJldHVybiBtb250aChcImxvbmdcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJNTU1NTVwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJuYXJyb3dcIiwgZmFsc2UpO1xuICAgICAgICAgIC8vIHllYXJzXG4gICAgICAgICAgY2FzZSBcInlcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMjAxNFxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyID8gc3RyaW5nKHsgeWVhcjogXCJudW1lcmljXCIgfSwgXCJ5ZWFyXCIpIDogdGhpcy5udW0oZHQueWVhcik7XG4gICAgICAgICAgY2FzZSBcInl5XCI6XG4gICAgICAgICAgICAvLyBsaWtlIDE0XG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiBcIjItZGlnaXRcIiB9LCBcInllYXJcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTtcbiAgICAgICAgICBjYXNlIFwieXl5eVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMDEyXG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiBcIm51bWVyaWNcIiB9LCBcInllYXJcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLCA0KTtcbiAgICAgICAgICBjYXNlIFwieXl5eXl5XCI6XG4gICAgICAgICAgICAvLyBsaWtlIDAwMDAxMlxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyXG4gICAgICAgICAgICAgID8gc3RyaW5nKHsgeWVhcjogXCJudW1lcmljXCIgfSwgXCJ5ZWFyXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQueWVhciwgNik7XG4gICAgICAgICAgLy8gZXJhc1xuICAgICAgICAgIGNhc2UgXCJHXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFEXG4gICAgICAgICAgICByZXR1cm4gZXJhKFwic2hvcnRcIik7XG4gICAgICAgICAgY2FzZSBcIkdHXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFubm8gRG9taW5pXG4gICAgICAgICAgICByZXR1cm4gZXJhKFwibG9uZ1wiKTtcbiAgICAgICAgICBjYXNlIFwiR0dHR0dcIjpcbiAgICAgICAgICAgIHJldHVybiBlcmEoXCJuYXJyb3dcIik7XG4gICAgICAgICAgY2FzZSBcImtrXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla1llYXIudG9TdHJpbmcoKS5zbGljZSgtMiksIDIpO1xuICAgICAgICAgIGNhc2UgXCJra2trXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla1llYXIsIDQpO1xuICAgICAgICAgIGNhc2UgXCJXXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla051bWJlcik7XG4gICAgICAgICAgY2FzZSBcIldXXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla051bWJlciwgMik7XG4gICAgICAgICAgY2FzZSBcIm9cIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5vcmRpbmFsKTtcbiAgICAgICAgICBjYXNlIFwib29vXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQub3JkaW5hbCwgMyk7XG4gICAgICAgICAgY2FzZSBcInFcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIpO1xuICAgICAgICAgIGNhc2UgXCJxcVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIsIDIpO1xuICAgICAgICAgIGNhc2UgXCJYXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC50cyAvIDEwMDApKTtcbiAgICAgICAgICBjYXNlIFwieFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnRzKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG1heWJlTWFjcm8odG9rZW4pO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgcmV0dXJuIHN0cmluZ2lmeVRva2VucyhGb3JtYXR0ZXIucGFyc2VGb3JtYXQoZm10KSwgdG9rZW5Ub1N0cmluZyk7XG4gIH1cblxuICBmb3JtYXREdXJhdGlvbkZyb21TdHJpbmcoZHVyLCBmbXQpIHtcbiAgICBjb25zdCB0b2tlblRvRmllbGQgPSAodG9rZW4pID0+IHtcbiAgICAgICAgc3dpdGNoICh0b2tlblswXSkge1xuICAgICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJtaWxsaXNlY29uZFwiO1xuICAgICAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJzZWNvbmRcIjtcbiAgICAgICAgICBjYXNlIFwibVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwibWludXRlXCI7XG4gICAgICAgICAgY2FzZSBcImhcIjpcbiAgICAgICAgICAgIHJldHVybiBcImhvdXJcIjtcbiAgICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgICAgcmV0dXJuIFwiZGF5XCI7XG4gICAgICAgICAgY2FzZSBcIndcIjpcbiAgICAgICAgICAgIHJldHVybiBcIndlZWtcIjtcbiAgICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwibW9udGhcIjtcbiAgICAgICAgICBjYXNlIFwieVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwieWVhclwiO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRva2VuVG9TdHJpbmcgPSAobGlsZHVyKSA9PiAodG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGVkID0gdG9rZW5Ub0ZpZWxkKHRva2VuKTtcbiAgICAgICAgaWYgKG1hcHBlZCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLm51bShsaWxkdXIuZ2V0KG1hcHBlZCksIHRva2VuLmxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9rZW5zID0gRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksXG4gICAgICByZWFsVG9rZW5zID0gdG9rZW5zLnJlZHVjZShcbiAgICAgICAgKGZvdW5kLCB7IGxpdGVyYWwsIHZhbCB9KSA9PiAobGl0ZXJhbCA/IGZvdW5kIDogZm91bmQuY29uY2F0KHZhbCkpLFxuICAgICAgICBbXVxuICAgICAgKSxcbiAgICAgIGNvbGxhcHNlZCA9IGR1ci5zaGlmdFRvKC4uLnJlYWxUb2tlbnMubWFwKHRva2VuVG9GaWVsZCkuZmlsdGVyKCh0KSA9PiB0KSk7XG4gICAgcmV0dXJuIHN0cmluZ2lmeVRva2Vucyh0b2tlbnMsIHRva2VuVG9TdHJpbmcoY29sbGFwc2VkKSk7XG4gIH1cbn1cbiIsICJleHBvcnQgZGVmYXVsdCBjbGFzcyBJbnZhbGlkIHtcbiAgY29uc3RydWN0b3IocmVhc29uLCBleHBsYW5hdGlvbikge1xuICAgIHRoaXMucmVhc29uID0gcmVhc29uO1xuICAgIHRoaXMuZXhwbGFuYXRpb24gPSBleHBsYW5hdGlvbjtcbiAgfVxuXG4gIHRvTWVzc2FnZSgpIHtcbiAgICBpZiAodGhpcy5leHBsYW5hdGlvbikge1xuICAgICAgcmV0dXJuIGAke3RoaXMucmVhc29ufTogJHt0aGlzLmV4cGxhbmF0aW9ufWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJlYXNvbjtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBab25lSXNBYnN0cmFjdEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5cbi8qKlxuICogQGludGVyZmFjZVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBab25lIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHpvbmVcbiAgICogQGFic3RyYWN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgdHlwZSgpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgem9uZS5cbiAgICogQGFic3RyYWN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbmFtZSgpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgZ2V0IGlhbmFOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBvZmZzZXQgaXMga25vd24gdG8gYmUgZml4ZWQgZm9yIHRoZSB3aG9sZSB5ZWFyLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNVbml2ZXJzYWwoKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyBjb21tb24gbmFtZSAoc3VjaCBhcyBFU1QpIGF0IHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge251bWJlcn0gdHMgLSBFcG9jaCBtaWxsaXNlY29uZHMgZm9yIHdoaWNoIHRvIGdldCB0aGUgbmFtZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gYWZmZWN0IHRoZSBmb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMuZm9ybWF0IC0gV2hhdCBzdHlsZSBvZiBvZmZzZXQgdG8gcmV0dXJuLiBBY2NlcHRzICdsb25nJyBvciAnc2hvcnQnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5sb2NhbGUgLSBXaGF0IGxvY2FsZSB0byByZXR1cm4gdGhlIG9mZnNldCBuYW1lIGluLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBvZmZzZXROYW1lKHRzLCBvcHRzKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyB2YWx1ZSBhcyBhIHN0cmluZ1xuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtudW1iZXJ9IHRzIC0gRXBvY2ggbWlsbGlzZWNvbmRzIGZvciB3aGljaCB0byBnZXQgdGhlIG9mZnNldFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gV2hhdCBzdHlsZSBvZiBvZmZzZXQgdG8gcmV0dXJuLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0cyAnbmFycm93JywgJ3Nob3J0Jywgb3IgJ3RlY2hpZScuIFJldHVybmluZyAnKzYnLCAnKzA2OjAwJywgb3IgJyswNjAwJyByZXNwZWN0aXZlbHlcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgZm9yIHRoaXMgem9uZSBhdCB0aGUgc3BlY2lmaWVkIHRpbWVzdGFtcC5cbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gY29tcHV0ZSB0aGUgb2Zmc2V0XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIG9mZnNldCh0cykge1xuICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBab25lIGlzIGVxdWFsIHRvIGFub3RoZXIgem9uZVxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtab25lfSBvdGhlclpvbmUgLSB0aGUgem9uZSB0byBjb21wYXJlXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBlcXVhbHMob3RoZXJab25lKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIFpvbmUgaXMgdmFsaWQuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBmb3JtYXRPZmZzZXQsIHBhcnNlWm9uZUluZm8gfSBmcm9tIFwiLi4vaW1wbC91dGlsLmpzXCI7XG5pbXBvcnQgWm9uZSBmcm9tIFwiLi4vem9uZS5qc1wiO1xuXG5sZXQgc2luZ2xldG9uID0gbnVsbDtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBsb2NhbCB6b25lIGZvciB0aGlzIEphdmFTY3JpcHQgZW52aXJvbm1lbnQuXG4gKiBAaW1wbGVtZW50cyB7Wm9uZX1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3lzdGVtWm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBsb2NhbCB6b25lXG4gICAqIEByZXR1cm4ge1N5c3RlbVpvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHtcbiAgICAgIHNpbmdsZXRvbiA9IG5ldyBTeXN0ZW1ab25lKCk7XG4gICAgfVxuICAgIHJldHVybiBzaW5nbGV0b247XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gXCJzeXN0ZW1cIjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IGlzVW5pdmVyc2FsKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldE5hbWUodHMsIHsgZm9ybWF0LCBsb2NhbGUgfSkge1xuICAgIHJldHVybiBwYXJzZVpvbmVJbmZvKHRzLCBmb3JtYXQsIGxvY2FsZSk7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkge1xuICAgIHJldHVybiBmb3JtYXRPZmZzZXQodGhpcy5vZmZzZXQodHMpLCBmb3JtYXQpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgb2Zmc2V0KHRzKSB7XG4gICAgcmV0dXJuIC1uZXcgRGF0ZSh0cykuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwic3lzdGVtXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZvcm1hdE9mZnNldCwgcGFyc2Vab25lSW5mbywgaXNVbmRlZmluZWQsIG9ialRvTG9jYWxUUyB9IGZyb20gXCIuLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCBab25lIGZyb20gXCIuLi96b25lLmpzXCI7XG5cbmxldCBkdGZDYWNoZSA9IHt9O1xuZnVuY3Rpb24gbWFrZURURih6b25lKSB7XG4gIGlmICghZHRmQ2FjaGVbem9uZV0pIHtcbiAgICBkdGZDYWNoZVt6b25lXSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFwiZW4tVVNcIiwge1xuICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgIHRpbWVab25lOiB6b25lLFxuICAgICAgeWVhcjogXCJudW1lcmljXCIsXG4gICAgICBtb250aDogXCIyLWRpZ2l0XCIsXG4gICAgICBkYXk6IFwiMi1kaWdpdFwiLFxuICAgICAgaG91cjogXCIyLWRpZ2l0XCIsXG4gICAgICBtaW51dGU6IFwiMi1kaWdpdFwiLFxuICAgICAgc2Vjb25kOiBcIjItZGlnaXRcIixcbiAgICAgIGVyYTogXCJzaG9ydFwiLFxuICAgIH0pO1xuICB9XG4gIHJldHVybiBkdGZDYWNoZVt6b25lXTtcbn1cblxuY29uc3QgdHlwZVRvUG9zID0ge1xuICB5ZWFyOiAwLFxuICBtb250aDogMSxcbiAgZGF5OiAyLFxuICBlcmE6IDMsXG4gIGhvdXI6IDQsXG4gIG1pbnV0ZTogNSxcbiAgc2Vjb25kOiA2LFxufTtcblxuZnVuY3Rpb24gaGFja3lPZmZzZXQoZHRmLCBkYXRlKSB7XG4gIGNvbnN0IGZvcm1hdHRlZCA9IGR0Zi5mb3JtYXQoZGF0ZSkucmVwbGFjZSgvXFx1MjAwRS9nLCBcIlwiKSxcbiAgICBwYXJzZWQgPSAvKFxcZCspXFwvKFxcZCspXFwvKFxcZCspIChBRHxCQyksPyAoXFxkKyk6KFxcZCspOihcXGQrKS8uZXhlYyhmb3JtYXR0ZWQpLFxuICAgIFssIGZNb250aCwgZkRheSwgZlllYXIsIGZhZE9yQmMsIGZIb3VyLCBmTWludXRlLCBmU2Vjb25kXSA9IHBhcnNlZDtcbiAgcmV0dXJuIFtmWWVhciwgZk1vbnRoLCBmRGF5LCBmYWRPckJjLCBmSG91ciwgZk1pbnV0ZSwgZlNlY29uZF07XG59XG5cbmZ1bmN0aW9uIHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSkge1xuICBjb25zdCBmb3JtYXR0ZWQgPSBkdGYuZm9ybWF0VG9QYXJ0cyhkYXRlKTtcbiAgY29uc3QgZmlsbGVkID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgeyB0eXBlLCB2YWx1ZSB9ID0gZm9ybWF0dGVkW2ldO1xuICAgIGNvbnN0IHBvcyA9IHR5cGVUb1Bvc1t0eXBlXTtcblxuICAgIGlmICh0eXBlID09PSBcImVyYVwiKSB7XG4gICAgICBmaWxsZWRbcG9zXSA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKHBvcykpIHtcbiAgICAgIGZpbGxlZFtwb3NdID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZpbGxlZDtcbn1cblxubGV0IGlhbmFab25lQ2FjaGUgPSB7fTtcbi8qKlxuICogQSB6b25lIGlkZW50aWZpZWQgYnkgYW4gSUFOQSBpZGVudGlmaWVyLCBsaWtlIEFtZXJpY2EvTmV3X1lvcmtcbiAqIEBpbXBsZW1lbnRzIHtab25lfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJQU5BWm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBab25lIG5hbWVcbiAgICogQHJldHVybiB7SUFOQVpvbmV9XG4gICAqL1xuICBzdGF0aWMgY3JlYXRlKG5hbWUpIHtcbiAgICBpZiAoIWlhbmFab25lQ2FjaGVbbmFtZV0pIHtcbiAgICAgIGlhbmFab25lQ2FjaGVbbmFtZV0gPSBuZXcgSUFOQVpvbmUobmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBpYW5hWm9uZUNhY2hlW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGxvY2FsIGNhY2hlcy4gU2hvdWxkIG9ubHkgYmUgbmVjZXNzYXJ5IGluIHRlc3Rpbmcgc2NlbmFyaW9zLlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIHJlc2V0Q2FjaGUoKSB7XG4gICAgaWFuYVpvbmVDYWNoZSA9IHt9O1xuICAgIGR0ZkNhY2hlID0ge307XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBwcm92aWRlZCBzdHJpbmcgaXMgYSB2YWxpZCBzcGVjaWZpZXIuIFRoaXMgb25seSBjaGVja3MgdGhlIHN0cmluZydzIGZvcm1hdCwgbm90IHRoYXQgdGhlIHNwZWNpZmllciBpZGVudGlmaWVzIGEga25vd24gem9uZTsgc2VlIGlzVmFsaWRab25lIGZvciB0aGF0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcyAtIFRoZSBzdHJpbmcgdG8gY2hlY2sgdmFsaWRpdHkgb25cbiAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcihcIkFtZXJpY2EvTmV3X1lvcmtcIikgLy89PiB0cnVlXG4gICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRTcGVjaWZpZXIoXCJTcG9ydH5+YmxvcnBcIikgLy89PiBmYWxzZVxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIG1ldGhvZCByZXR1cm5zIGZhbHNlIGZvciBzb21lIHZhbGlkIElBTkEgbmFtZXMuIFVzZSBpc1ZhbGlkWm9uZSBpbnN0ZWFkLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgc3RhdGljIGlzVmFsaWRTcGVjaWZpZXIocykge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRab25lKHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgcHJvdmlkZWQgc3RyaW5nIGlkZW50aWZpZXMgYSByZWFsIHpvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvbmUgLSBUaGUgc3RyaW5nIHRvIGNoZWNrXG4gICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRab25lKFwiQW1lcmljYS9OZXdfWW9ya1wiKSAvLz0+IHRydWVcbiAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFpvbmUoXCJGYW50YXNpYS9DYXN0bGVcIikgLy89PiBmYWxzZVxuICAgKiBAZXhhbXBsZSBJQU5BWm9uZS5pc1ZhbGlkWm9uZShcIlNwb3J0fn5ibG9ycFwiKSAvLz0+IGZhbHNlXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNWYWxpZFpvbmUoem9uZSkge1xuICAgIGlmICghem9uZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJlbi1VU1wiLCB7IHRpbWVab25lOiB6b25lIH0pLmZvcm1hdCgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG5hbWUpIHtcbiAgICBzdXBlcigpO1xuICAgIC8qKiBAcHJpdmF0ZSAqKi9cbiAgICB0aGlzLnpvbmVOYW1lID0gbmFtZTtcbiAgICAvKiogQHByaXZhdGUgKiovXG4gICAgdGhpcy52YWxpZCA9IElBTkFab25lLmlzVmFsaWRab25lKG5hbWUpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIFwiaWFuYVwiO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuem9uZU5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNVbml2ZXJzYWwoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgb2Zmc2V0TmFtZSh0cywgeyBmb3JtYXQsIGxvY2FsZSB9KSB7XG4gICAgcmV0dXJuIHBhcnNlWm9uZUluZm8odHMsIGZvcm1hdCwgbG9jYWxlLCB0aGlzLm5hbWUpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHtcbiAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHRoaXMub2Zmc2V0KHRzKSwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldCh0cykge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0cyk7XG5cbiAgICBpZiAoaXNOYU4oZGF0ZSkpIHJldHVybiBOYU47XG5cbiAgICBjb25zdCBkdGYgPSBtYWtlRFRGKHRoaXMubmFtZSk7XG4gICAgbGV0IFt5ZWFyLCBtb250aCwgZGF5LCBhZE9yQmMsIGhvdXIsIG1pbnV0ZSwgc2Vjb25kXSA9IGR0Zi5mb3JtYXRUb1BhcnRzXG4gICAgICA/IHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSlcbiAgICAgIDogaGFja3lPZmZzZXQoZHRmLCBkYXRlKTtcblxuICAgIGlmIChhZE9yQmMgPT09IFwiQkNcIikge1xuICAgICAgeWVhciA9IC1NYXRoLmFicyh5ZWFyKSArIDE7XG4gICAgfVxuXG4gICAgLy8gYmVjYXVzZSB3ZSdyZSB1c2luZyBob3VyMTIgYW5kIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTEwMjU1NjQmY2FuPTImcT0lMjIyNCUzQTAwJTIyJTIwZGF0ZXRpbWVmb3JtYXRcbiAgICBjb25zdCBhZGp1c3RlZEhvdXIgPSBob3VyID09PSAyNCA/IDAgOiBob3VyO1xuXG4gICAgY29uc3QgYXNVVEMgPSBvYmpUb0xvY2FsVFMoe1xuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5LFxuICAgICAgaG91cjogYWRqdXN0ZWRIb3VyLFxuICAgICAgbWludXRlLFxuICAgICAgc2Vjb25kLFxuICAgICAgbWlsbGlzZWNvbmQ6IDAsXG4gICAgfSk7XG5cbiAgICBsZXQgYXNUUyA9ICtkYXRlO1xuICAgIGNvbnN0IG92ZXIgPSBhc1RTICUgMTAwMDtcbiAgICBhc1RTIC09IG92ZXIgPj0gMCA/IG92ZXIgOiAxMDAwICsgb3ZlcjtcbiAgICByZXR1cm4gKGFzVVRDIC0gYXNUUykgLyAoNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwiaWFuYVwiICYmIG90aGVyWm9uZS5uYW1lID09PSB0aGlzLm5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZDtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZvcm1hdE9mZnNldCwgc2lnbmVkT2Zmc2V0IH0gZnJvbSBcIi4uL2ltcGwvdXRpbC5qc1wiO1xuaW1wb3J0IFpvbmUgZnJvbSBcIi4uL3pvbmUuanNcIjtcblxubGV0IHNpbmdsZXRvbiA9IG51bGw7XG5cbi8qKlxuICogQSB6b25lIHdpdGggYSBmaXhlZCBvZmZzZXQgKG1lYW5pbmcgbm8gRFNUKVxuICogQGltcGxlbWVudHMge1pvbmV9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpeGVkT2Zmc2V0Wm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIFVUQ1xuICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IHV0Y0luc3RhbmNlKCkge1xuICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHtcbiAgICAgIHNpbmdsZXRvbiA9IG5ldyBGaXhlZE9mZnNldFpvbmUoMCk7XG4gICAgfVxuICAgIHJldHVybiBzaW5nbGV0b247XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGluc3RhbmNlIHdpdGggYSBzcGVjaWZpZWQgb2Zmc2V0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXQgLSBUaGUgb2Zmc2V0IGluIG1pbnV0ZXNcbiAgICogQHJldHVybiB7Rml4ZWRPZmZzZXRab25lfVxuICAgKi9cbiAgc3RhdGljIGluc3RhbmNlKG9mZnNldCkge1xuICAgIHJldHVybiBvZmZzZXQgPT09IDAgPyBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2UgOiBuZXcgRml4ZWRPZmZzZXRab25lKG9mZnNldCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGluc3RhbmNlIG9mIEZpeGVkT2Zmc2V0Wm9uZSBmcm9tIGEgVVRDIG9mZnNldCBzdHJpbmcsIGxpa2UgXCJVVEMrNlwiXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIG9mZnNldCBzdHJpbmcgdG8gcGFyc2VcbiAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKFwiVVRDKzZcIilcbiAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKFwiVVRDKzA2XCIpXG4gICAqIEBleGFtcGxlIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihcIlVUQy02OjAwXCIpXG4gICAqIEByZXR1cm4ge0ZpeGVkT2Zmc2V0Wm9uZX1cbiAgICovXG4gIHN0YXRpYyBwYXJzZVNwZWNpZmllcihzKSB7XG4gICAgaWYgKHMpIHtcbiAgICAgIGNvbnN0IHIgPSBzLm1hdGNoKC9edXRjKD86KFsrLV1cXGR7MSwyfSkoPzo6KFxcZHsyfSkpPyk/JC9pKTtcbiAgICAgIGlmIChyKSB7XG4gICAgICAgIHJldHVybiBuZXcgRml4ZWRPZmZzZXRab25lKHNpZ25lZE9mZnNldChyWzFdLCByWzJdKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob2Zmc2V0KSB7XG4gICAgc3VwZXIoKTtcbiAgICAvKiogQHByaXZhdGUgKiovXG4gICAgdGhpcy5maXhlZCA9IG9mZnNldDtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiBcImZpeGVkXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maXhlZCA9PT0gMCA/IFwiVVRDXCIgOiBgVVRDJHtmb3JtYXRPZmZzZXQodGhpcy5maXhlZCwgXCJuYXJyb3dcIil9YDtcbiAgfVxuXG4gIGdldCBpYW5hTmFtZSgpIHtcbiAgICBpZiAodGhpcy5maXhlZCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFwiRXRjL1VUQ1wiO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYEV0Yy9HTVQke2Zvcm1hdE9mZnNldCgtdGhpcy5maXhlZCwgXCJuYXJyb3dcIil9YDtcbiAgICB9XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBvZmZzZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkge1xuICAgIHJldHVybiBmb3JtYXRPZmZzZXQodGhpcy5maXhlZCwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBpc1VuaXZlcnNhbCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldCgpIHtcbiAgICByZXR1cm4gdGhpcy5maXhlZDtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwiZml4ZWRcIiAmJiBvdGhlclpvbmUuZml4ZWQgPT09IHRoaXMuZml4ZWQ7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCBab25lIGZyb20gXCIuLi96b25lLmpzXCI7XG5cbi8qKlxuICogQSB6b25lIHRoYXQgZmFpbGVkIHRvIHBhcnNlLiBZb3Ugc2hvdWxkIG5ldmVyIG5lZWQgdG8gaW5zdGFudGlhdGUgdGhpcy5cbiAqIEBpbXBsZW1lbnRzIHtab25lfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnZhbGlkWm9uZSBleHRlbmRzIFpvbmUge1xuICBjb25zdHJ1Y3Rvcih6b25lTmFtZSkge1xuICAgIHN1cGVyKCk7XG4gICAgLyoqICBAcHJpdmF0ZSAqL1xuICAgIHRoaXMuem9uZU5hbWUgPSB6b25lTmFtZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiBcImludmFsaWRcIjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnpvbmVOYW1lO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IGlzVW5pdmVyc2FsKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldE5hbWUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBvZmZzZXQoKSB7XG4gICAgcmV0dXJuIE5hTjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsICIvKipcbiAqIEBwcml2YXRlXG4gKi9cblxuaW1wb3J0IFpvbmUgZnJvbSBcIi4uL3pvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBGaXhlZE9mZnNldFpvbmUgZnJvbSBcIi4uL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IEludmFsaWRab25lIGZyb20gXCIuLi96b25lcy9pbnZhbGlkWm9uZS5qc1wiO1xuXG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgaXNTdHJpbmcsIGlzTnVtYmVyIH0gZnJvbSBcIi4vdXRpbC5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplWm9uZShpbnB1dCwgZGVmYXVsdFpvbmUpIHtcbiAgbGV0IG9mZnNldDtcbiAgaWYgKGlzVW5kZWZpbmVkKGlucHV0KSB8fCBpbnB1dCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBkZWZhdWx0Wm9uZTtcbiAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIFpvbmUpIHtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH0gZWxzZSBpZiAoaXNTdHJpbmcoaW5wdXQpKSB7XG4gICAgY29uc3QgbG93ZXJlZCA9IGlucHV0LnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxvd2VyZWQgPT09IFwibG9jYWxcIiB8fCBsb3dlcmVkID09PSBcInN5c3RlbVwiKSByZXR1cm4gZGVmYXVsdFpvbmU7XG4gICAgZWxzZSBpZiAobG93ZXJlZCA9PT0gXCJ1dGNcIiB8fCBsb3dlcmVkID09PSBcImdtdFwiKSByZXR1cm4gRml4ZWRPZmZzZXRab25lLnV0Y0luc3RhbmNlO1xuICAgIGVsc2UgcmV0dXJuIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihsb3dlcmVkKSB8fCBJQU5BWm9uZS5jcmVhdGUoaW5wdXQpO1xuICB9IGVsc2UgaWYgKGlzTnVtYmVyKGlucHV0KSkge1xuICAgIHJldHVybiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoaW5wdXQpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIiAmJiBpbnB1dC5vZmZzZXQgJiYgdHlwZW9mIGlucHV0Lm9mZnNldCA9PT0gXCJudW1iZXJcIikge1xuICAgIC8vIFRoaXMgaXMgZHVtYiwgYnV0IHRoZSBpbnN0YW5jZW9mIGNoZWNrIGFib3ZlIGRvZXNuJ3Qgc2VlbSB0byByZWFsbHkgd29ya1xuICAgIC8vIHNvIHdlJ3JlIGR1Y2sgY2hlY2tpbmcgaXRcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBJbnZhbGlkWm9uZShpbnB1dCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgU3lzdGVtWm9uZSBmcm9tIFwiLi96b25lcy9zeXN0ZW1ab25lLmpzXCI7XG5pbXBvcnQgSUFOQVpvbmUgZnJvbSBcIi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcIi4vaW1wbC9sb2NhbGUuanNcIjtcblxuaW1wb3J0IHsgbm9ybWFsaXplWm9uZSB9IGZyb20gXCIuL2ltcGwvem9uZVV0aWwuanNcIjtcblxubGV0IG5vdyA9ICgpID0+IERhdGUubm93KCksXG4gIGRlZmF1bHRab25lID0gXCJzeXN0ZW1cIixcbiAgZGVmYXVsdExvY2FsZSA9IG51bGwsXG4gIGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0gPSBudWxsLFxuICBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIgPSBudWxsLFxuICB0aHJvd09uSW52YWxpZDtcblxuLyoqXG4gKiBTZXR0aW5ncyBjb250YWlucyBzdGF0aWMgZ2V0dGVycyBhbmQgc2V0dGVycyB0aGF0IGNvbnRyb2wgTHV4b24ncyBvdmVyYWxsIGJlaGF2aW9yLiBMdXhvbiBpcyBhIHNpbXBsZSBsaWJyYXJ5IHdpdGggZmV3IG9wdGlvbnMsIGJ1dCB0aGUgb25lcyBpdCBkb2VzIGhhdmUgbGl2ZSBoZXJlLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNhbGxiYWNrIGZvciByZXR1cm5pbmcgdGhlIGN1cnJlbnQgdGltZXN0YW1wLlxuICAgKiBAdHlwZSB7ZnVuY3Rpb259XG4gICAqL1xuICBzdGF0aWMgZ2V0IG5vdygpIHtcbiAgICByZXR1cm4gbm93O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY2FsbGJhY2sgZm9yIHJldHVybmluZyB0aGUgY3VycmVudCB0aW1lc3RhbXAuXG4gICAqIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgbnVtYmVyLCB3aGljaCB3aWxsIGJlIGludGVycHJldGVkIGFzIGFuIEVwb2NoIG1pbGxpc2Vjb25kIGNvdW50XG4gICAqIEB0eXBlIHtmdW5jdGlvbn1cbiAgICogQGV4YW1wbGUgU2V0dGluZ3Mubm93ID0gKCkgPT4gRGF0ZS5ub3coKSArIDMwMDAgLy8gcHJldGVuZCBpdCBpcyAzIHNlY29uZHMgaW4gdGhlIGZ1dHVyZVxuICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiAwIC8vIGFsd2F5cyBwcmV0ZW5kIGl0J3MgSmFuIDEsIDE5NzAgYXQgbWlkbmlnaHQgaW4gVVRDIHRpbWVcbiAgICovXG4gIHN0YXRpYyBzZXQgbm93KG4pIHtcbiAgICBub3cgPSBuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCB0aW1lIHpvbmUgdG8gY3JlYXRlIERhdGVUaW1lcyBpbi4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogVXNlIHRoZSB2YWx1ZSBcInN5c3RlbVwiIHRvIHJlc2V0IHRoaXMgdmFsdWUgdG8gdGhlIHN5c3RlbSdzIHRpbWUgem9uZS5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBzZXQgZGVmYXVsdFpvbmUoem9uZSkge1xuICAgIGRlZmF1bHRab25lID0gem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgdGltZSB6b25lIG9iamVjdCBjdXJyZW50bHkgdXNlZCB0byBjcmVhdGUgRGF0ZVRpbWVzLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUgc3lzdGVtJ3MgdGltZSB6b25lICh0aGUgb25lIHNldCBvbiB0aGUgbWFjaGluZSB0aGF0IHJ1bnMgdGhpcyBjb2RlKS5cbiAgICogQHR5cGUge1pvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IGRlZmF1bHRab25lKCkge1xuICAgIHJldHVybiBub3JtYWxpemVab25lKGRlZmF1bHRab25lLCBTeXN0ZW1ab25lLmluc3RhbmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgbG9jYWxlIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdExvY2FsZSgpIHtcbiAgICByZXR1cm4gZGVmYXVsdExvY2FsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgbG9jYWxlIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBzZXQgZGVmYXVsdExvY2FsZShsb2NhbGUpIHtcbiAgICBkZWZhdWx0TG9jYWxlID0gbG9jYWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGVmYXVsdCBudW1iZXJpbmcgc3lzdGVtIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSgpIHtcbiAgICByZXR1cm4gZGVmYXVsdE51bWJlcmluZ1N5c3RlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgbnVtYmVyaW5nIHN5c3RlbSB0byBjcmVhdGUgRGF0ZVRpbWVzIHdpdGguIERvZXMgbm90IGFmZmVjdCBleGlzdGluZyBpbnN0YW5jZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgc2V0IGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0obnVtYmVyaW5nU3lzdGVtKSB7XG4gICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bWJlcmluZ1N5c3RlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGNhbGVuZGFyIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKCkge1xuICAgIHJldHVybiBkZWZhdWx0T3V0cHV0Q2FsZW5kYXI7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZWZhdWx0IG91dHB1dCBjYWxlbmRhciB0byBjcmVhdGUgRGF0ZVRpbWVzIHdpdGguIERvZXMgbm90IGFmZmVjdCBleGlzdGluZyBpbnN0YW5jZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgc2V0IGRlZmF1bHRPdXRwdXRDYWxlbmRhcihvdXRwdXRDYWxlbmRhcikge1xuICAgIGRlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIEx1eG9uIHdpbGwgdGhyb3cgd2hlbiBpdCBlbmNvdW50ZXJzIGludmFsaWQgRGF0ZVRpbWVzLCBEdXJhdGlvbnMsIG9yIEludGVydmFsc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBnZXQgdGhyb3dPbkludmFsaWQoKSB7XG4gICAgcmV0dXJuIHRocm93T25JbnZhbGlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIEx1eG9uIHdpbGwgdGhyb3cgd2hlbiBpdCBlbmNvdW50ZXJzIGludmFsaWQgRGF0ZVRpbWVzLCBEdXJhdGlvbnMsIG9yIEludGVydmFsc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBzZXQgdGhyb3dPbkludmFsaWQodCkge1xuICAgIHRocm93T25JbnZhbGlkID0gdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBMdXhvbidzIGdsb2JhbCBjYWNoZXMuIFNob3VsZCBvbmx5IGJlIG5lY2Vzc2FyeSBpbiB0ZXN0aW5nIHNjZW5hcmlvcy5cbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyByZXNldENhY2hlcygpIHtcbiAgICBMb2NhbGUucmVzZXRDYWNoZSgpO1xuICAgIElBTkFab25lLnJlc2V0Q2FjaGUoKTtcbiAgfVxufVxuIiwgImltcG9ydCB7IHBhZFN0YXJ0LCByb3VuZFRvLCBoYXNSZWxhdGl2ZSB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCAqIGFzIEVuZ2xpc2ggZnJvbSBcIi4vZW5nbGlzaC5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuLi9zZXR0aW5ncy5qc1wiO1xuaW1wb3J0IERhdGVUaW1lIGZyb20gXCIuLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IElBTkFab25lIGZyb20gXCIuLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuXG4vLyB0b2RvIC0gcmVtYXAgY2FjaGluZ1xuXG5sZXQgaW50bExGQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGdldENhY2hlZExGKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTtcbiAgbGV0IGR0ZiA9IGludGxMRkNhY2hlW2tleV07XG4gIGlmICghZHRmKSB7XG4gICAgZHRmID0gbmV3IEludGwuTGlzdEZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxMRkNhY2hlW2tleV0gPSBkdGY7XG4gIH1cbiAgcmV0dXJuIGR0Zjtcbn1cblxubGV0IGludGxEVENhY2hlID0ge307XG5mdW5jdGlvbiBnZXRDYWNoZWREVEYobG9jU3RyaW5nLCBvcHRzID0ge30pIHtcbiAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgb3B0c10pO1xuICBsZXQgZHRmID0gaW50bERUQ2FjaGVba2V5XTtcbiAgaWYgKCFkdGYpIHtcbiAgICBkdGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxEVENhY2hlW2tleV0gPSBkdGY7XG4gIH1cbiAgcmV0dXJuIGR0Zjtcbn1cblxubGV0IGludGxOdW1DYWNoZSA9IHt9O1xuZnVuY3Rpb24gZ2V0Q2FjaGVkSU5GKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTtcbiAgbGV0IGluZiA9IGludGxOdW1DYWNoZVtrZXldO1xuICBpZiAoIWluZikge1xuICAgIGluZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxOdW1DYWNoZVtrZXldID0gaW5mO1xuICB9XG4gIHJldHVybiBpbmY7XG59XG5cbmxldCBpbnRsUmVsQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGdldENhY2hlZFJURihsb2NTdHJpbmcsIG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJhc2UsIC4uLmNhY2hlS2V5T3B0cyB9ID0gb3B0czsgLy8gZXhjbHVkZSBgYmFzZWAgZnJvbSB0aGUgb3B0aW9uc1xuICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeShbbG9jU3RyaW5nLCBjYWNoZUtleU9wdHNdKTtcbiAgbGV0IGluZiA9IGludGxSZWxDYWNoZVtrZXldO1xuICBpZiAoIWluZikge1xuICAgIGluZiA9IG5ldyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxSZWxDYWNoZVtrZXldID0gaW5mO1xuICB9XG4gIHJldHVybiBpbmY7XG59XG5cbmxldCBzeXNMb2NhbGVDYWNoZSA9IG51bGw7XG5mdW5jdGlvbiBzeXN0ZW1Mb2NhbGUoKSB7XG4gIGlmIChzeXNMb2NhbGVDYWNoZSkge1xuICAgIHJldHVybiBzeXNMb2NhbGVDYWNoZTtcbiAgfSBlbHNlIHtcbiAgICBzeXNMb2NhbGVDYWNoZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlO1xuICAgIHJldHVybiBzeXNMb2NhbGVDYWNoZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGVTdHIpIHtcbiAgLy8gSSByZWFsbHkgd2FudCB0byBhdm9pZCB3cml0aW5nIGEgQkNQIDQ3IHBhcnNlclxuICAvLyBzZWUsIGUuZy4gaHR0cHM6Ly9naXRodWIuY29tL3dvb29ybS9iY3AtNDdcbiAgLy8gSW5zdGVhZCwgd2UnbGwgZG8gdGhpczpcblxuICAvLyBhKSBpZiB0aGUgc3RyaW5nIGhhcyBubyAtdSBleHRlbnNpb25zLCBqdXN0IGxlYXZlIGl0IGFsb25lXG4gIC8vIGIpIGlmIGl0IGRvZXMsIHVzZSBJbnRsIHRvIHJlc29sdmUgZXZlcnl0aGluZ1xuICAvLyBjKSBpZiBJbnRsIGZhaWxzLCB0cnkgYWdhaW4gd2l0aG91dCB0aGUgLXVcblxuICBjb25zdCB1SW5kZXggPSBsb2NhbGVTdHIuaW5kZXhPZihcIi11LVwiKTtcbiAgaWYgKHVJbmRleCA9PT0gLTEpIHtcbiAgICByZXR1cm4gW2xvY2FsZVN0cl07XG4gIH0gZWxzZSB7XG4gICAgbGV0IG9wdGlvbnM7XG4gICAgY29uc3Qgc21hbGxlciA9IGxvY2FsZVN0ci5zdWJzdHJpbmcoMCwgdUluZGV4KTtcbiAgICB0cnkge1xuICAgICAgb3B0aW9ucyA9IGdldENhY2hlZERURihsb2NhbGVTdHIpLnJlc29sdmVkT3B0aW9ucygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIG9wdGlvbnMgPSBnZXRDYWNoZWREVEYoc21hbGxlcikucmVzb2x2ZWRPcHRpb25zKCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyIH0gPSBvcHRpb25zO1xuICAgIC8vIHJldHVybiB0aGUgc21hbGxlciBvbmUgc28gdGhhdCB3ZSBjYW4gYXBwZW5kIHRoZSBjYWxlbmRhciBhbmQgbnVtYmVyaW5nIG92ZXJyaWRlcyB0byBpdFxuICAgIHJldHVybiBbc21hbGxlciwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhcl07XG4gIH1cbn1cblxuZnVuY3Rpb24gaW50bENvbmZpZ1N0cmluZyhsb2NhbGVTdHIsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIpIHtcbiAgaWYgKG91dHB1dENhbGVuZGFyIHx8IG51bWJlcmluZ1N5c3RlbSkge1xuICAgIGxvY2FsZVN0ciArPSBcIi11XCI7XG5cbiAgICBpZiAob3V0cHV0Q2FsZW5kYXIpIHtcbiAgICAgIGxvY2FsZVN0ciArPSBgLWNhLSR7b3V0cHV0Q2FsZW5kYXJ9YDtcbiAgICB9XG5cbiAgICBpZiAobnVtYmVyaW5nU3lzdGVtKSB7XG4gICAgICBsb2NhbGVTdHIgKz0gYC1udS0ke251bWJlcmluZ1N5c3RlbX1gO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYWxlU3RyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsb2NhbGVTdHI7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwTW9udGhzKGYpIHtcbiAgY29uc3QgbXMgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMTI7IGkrKykge1xuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUudXRjKDIwMTYsIGksIDEpO1xuICAgIG1zLnB1c2goZihkdCkpO1xuICB9XG4gIHJldHVybiBtcztcbn1cblxuZnVuY3Rpb24gbWFwV2Vla2RheXMoZikge1xuICBjb25zdCBtcyA9IFtdO1xuICBmb3IgKGxldCBpID0gMTsgaSA8PSA3OyBpKyspIHtcbiAgICBjb25zdCBkdCA9IERhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMgKyBpKTtcbiAgICBtcy5wdXNoKGYoZHQpKTtcbiAgfVxuICByZXR1cm4gbXM7XG59XG5cbmZ1bmN0aW9uIGxpc3RTdHVmZihsb2MsIGxlbmd0aCwgZGVmYXVsdE9LLCBlbmdsaXNoRm4sIGludGxGbikge1xuICBjb25zdCBtb2RlID0gbG9jLmxpc3RpbmdNb2RlKGRlZmF1bHRPSyk7XG5cbiAgaWYgKG1vZGUgPT09IFwiZXJyb3JcIikge1xuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2UgaWYgKG1vZGUgPT09IFwiZW5cIikge1xuICAgIHJldHVybiBlbmdsaXNoRm4obGVuZ3RoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaW50bEZuKGxlbmd0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3VwcG9ydHNGYXN0TnVtYmVycyhsb2MpIHtcbiAgaWYgKGxvYy5udW1iZXJpbmdTeXN0ZW0gJiYgbG9jLm51bWJlcmluZ1N5c3RlbSAhPT0gXCJsYXRuXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxvYy5udW1iZXJpbmdTeXN0ZW0gPT09IFwibGF0blwiIHx8XG4gICAgICAhbG9jLmxvY2FsZSB8fFxuICAgICAgbG9jLmxvY2FsZS5zdGFydHNXaXRoKFwiZW5cIikgfHxcbiAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvYy5pbnRsKS5yZXNvbHZlZE9wdGlvbnMoKS5udW1iZXJpbmdTeXN0ZW0gPT09IFwibGF0blwiXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuY2xhc3MgUG9seU51bWJlckZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKGludGwsIGZvcmNlU2ltcGxlLCBvcHRzKSB7XG4gICAgdGhpcy5wYWRUbyA9IG9wdHMucGFkVG8gfHwgMDtcbiAgICB0aGlzLmZsb29yID0gb3B0cy5mbG9vciB8fCBmYWxzZTtcblxuICAgIGNvbnN0IHsgcGFkVG8sIGZsb29yLCAuLi5vdGhlck9wdHMgfSA9IG9wdHM7XG5cbiAgICBpZiAoIWZvcmNlU2ltcGxlIHx8IE9iamVjdC5rZXlzKG90aGVyT3B0cykubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgaW50bE9wdHMgPSB7IHVzZUdyb3VwaW5nOiBmYWxzZSwgLi4ub3B0cyB9O1xuICAgICAgaWYgKG9wdHMucGFkVG8gPiAwKSBpbnRsT3B0cy5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IG9wdHMucGFkVG87XG4gICAgICB0aGlzLmluZiA9IGdldENhY2hlZElORihpbnRsLCBpbnRsT3B0cyk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0KGkpIHtcbiAgICBpZiAodGhpcy5pbmYpIHtcbiAgICAgIGNvbnN0IGZpeGVkID0gdGhpcy5mbG9vciA/IE1hdGguZmxvb3IoaSkgOiBpO1xuICAgICAgcmV0dXJuIHRoaXMuaW5mLmZvcm1hdChmaXhlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRvIG1hdGNoIHRoZSBicm93c2VyJ3MgbnVtYmVyZm9ybWF0dGVyIGRlZmF1bHRzXG4gICAgICBjb25zdCBmaXhlZCA9IHRoaXMuZmxvb3IgPyBNYXRoLmZsb29yKGkpIDogcm91bmRUbyhpLCAzKTtcbiAgICAgIHJldHVybiBwYWRTdGFydChmaXhlZCwgdGhpcy5wYWRUbyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuXG5jbGFzcyBQb2x5RGF0ZUZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKGR0LCBpbnRsLCBvcHRzKSB7XG4gICAgdGhpcy5vcHRzID0gb3B0cztcblxuICAgIGxldCB6O1xuICAgIGlmIChkdC56b25lLmlzVW5pdmVyc2FsKSB7XG4gICAgICAvLyBVVEMtOCBvciBFdGMvVVRDLTggYXJlIG5vdCBwYXJ0IG9mIHR6ZGF0YSwgb25seSBFdGMvR01UKzggYW5kIHRoZSBsaWtlLlxuICAgICAgLy8gVGhhdCBpcyB3aHkgZml4ZWQtb2Zmc2V0IFRaIGlzIHNldCB0byB0aGF0IHVubGVzcyBpdCBpczpcbiAgICAgIC8vIDEuIFJlcHJlc2VudGluZyBvZmZzZXQgMCB3aGVuIFVUQyBpcyB1c2VkIHRvIG1haW50YWluIHByZXZpb3VzIGJlaGF2aW9yIGFuZCBkb2VzIG5vdCBiZWNvbWUgR01ULlxuICAgICAgLy8gMi4gVW5zdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXI6XG4gICAgICAvLyAgICAtIHNvbWUgZG8gbm90IHN1cHBvcnQgRXRjL1xuICAgICAgLy8gICAgLSA8IEV0Yy9HTVQtMTQsID4gRXRjL0dNVCsxMiwgYW5kIDMwLW1pbnV0ZSBvciA0NS1taW51dGUgb2Zmc2V0cyBhcmUgbm90IHBhcnQgb2YgdHpkYXRhXG4gICAgICBjb25zdCBnbXRPZmZzZXQgPSAtMSAqIChkdC5vZmZzZXQgLyA2MCk7XG4gICAgICBjb25zdCBvZmZzZXRaID0gZ210T2Zmc2V0ID49IDAgPyBgRXRjL0dNVCske2dtdE9mZnNldH1gIDogYEV0Yy9HTVQke2dtdE9mZnNldH1gO1xuICAgICAgaWYgKGR0Lm9mZnNldCAhPT0gMCAmJiBJQU5BWm9uZS5jcmVhdGUob2Zmc2V0WikudmFsaWQpIHtcbiAgICAgICAgeiA9IG9mZnNldFo7XG4gICAgICAgIHRoaXMuZHQgPSBkdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vdCBhbGwgZml4ZWQtb2Zmc2V0IHpvbmVzIGxpa2UgRXRjLys0OjMwIGFyZSBwcmVzZW50IGluIHR6ZGF0YS5cbiAgICAgICAgLy8gU28gd2UgaGF2ZSB0byBtYWtlIGRvLiBUd28gY2FzZXM6XG4gICAgICAgIC8vIDEuIFRoZSBmb3JtYXQgb3B0aW9ucyB0ZWxsIHVzIHRvIHNob3cgdGhlIHpvbmUuIFdlIGNhbid0IGRvIHRoYXQsIHNvIHRoZSBiZXN0XG4gICAgICAgIC8vIHdlIGNhbiBkbyBpcyBmb3JtYXQgdGhlIGRhdGUgaW4gVVRDLlxuICAgICAgICAvLyAyLiBUaGUgZm9ybWF0IG9wdGlvbnMgZG9uJ3QgdGVsbCB1cyB0byBzaG93IHRoZSB6b25lLiBUaGVuIHdlIGNhbiBhZGp1c3QgdGhlbVxuICAgICAgICAvLyB0aGUgdGltZSBhbmQgdGVsbCB0aGUgZm9ybWF0dGVyIHRvIHNob3cgaXQgdG8gdXMgaW4gVVRDLCBzbyB0aGF0IHRoZSB0aW1lIGlzIHJpZ2h0XG4gICAgICAgIC8vIGFuZCB0aGUgYmFkIHpvbmUgZG9lc24ndCBzaG93IHVwLlxuICAgICAgICB6ID0gXCJVVENcIjtcbiAgICAgICAgaWYgKG9wdHMudGltZVpvbmVOYW1lKSB7XG4gICAgICAgICAgdGhpcy5kdCA9IGR0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZHQgPSBkdC5vZmZzZXQgPT09IDAgPyBkdCA6IERhdGVUaW1lLmZyb21NaWxsaXMoZHQudHMgKyBkdC5vZmZzZXQgKiA2MCAqIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkdC56b25lLnR5cGUgPT09IFwic3lzdGVtXCIpIHtcbiAgICAgIHRoaXMuZHQgPSBkdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kdCA9IGR0O1xuICAgICAgeiA9IGR0LnpvbmUubmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRsT3B0cyA9IHsgLi4udGhpcy5vcHRzIH07XG4gICAgaWYgKHopIHtcbiAgICAgIGludGxPcHRzLnRpbWVab25lID0gejtcbiAgICB9XG4gICAgdGhpcy5kdGYgPSBnZXRDYWNoZWREVEYoaW50bCwgaW50bE9wdHMpO1xuICB9XG5cbiAgZm9ybWF0KCkge1xuICAgIHJldHVybiB0aGlzLmR0Zi5mb3JtYXQodGhpcy5kdC50b0pTRGF0ZSgpKTtcbiAgfVxuXG4gIGZvcm1hdFRvUGFydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZHRmLmZvcm1hdFRvUGFydHModGhpcy5kdC50b0pTRGF0ZSgpKTtcbiAgfVxuXG4gIHJlc29sdmVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kdGYucmVzb2x2ZWRPcHRpb25zKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBQb2x5UmVsRm9ybWF0dGVyIHtcbiAgY29uc3RydWN0b3IoaW50bCwgaXNFbmdsaXNoLCBvcHRzKSB7XG4gICAgdGhpcy5vcHRzID0geyBzdHlsZTogXCJsb25nXCIsIC4uLm9wdHMgfTtcbiAgICBpZiAoIWlzRW5nbGlzaCAmJiBoYXNSZWxhdGl2ZSgpKSB7XG4gICAgICB0aGlzLnJ0ZiA9IGdldENhY2hlZFJURihpbnRsLCBvcHRzKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXQoY291bnQsIHVuaXQpIHtcbiAgICBpZiAodGhpcy5ydGYpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ0Zi5mb3JtYXQoY291bnQsIHVuaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRW5nbGlzaC5mb3JtYXRSZWxhdGl2ZVRpbWUodW5pdCwgY291bnQsIHRoaXMub3B0cy5udW1lcmljLCB0aGlzLm9wdHMuc3R5bGUgIT09IFwibG9uZ1wiKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRUb1BhcnRzKGNvdW50LCB1bml0KSB7XG4gICAgaWYgKHRoaXMucnRmKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydGYuZm9ybWF0VG9QYXJ0cyhjb3VudCwgdW5pdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvY2FsZSB7XG4gIHN0YXRpYyBmcm9tT3B0cyhvcHRzKSB7XG4gICAgcmV0dXJuIExvY2FsZS5jcmVhdGUob3B0cy5sb2NhbGUsIG9wdHMubnVtYmVyaW5nU3lzdGVtLCBvcHRzLm91dHB1dENhbGVuZGFyLCBvcHRzLmRlZmF1bHRUb0VOKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyLCBkZWZhdWx0VG9FTiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgc3BlY2lmaWVkTG9jYWxlID0gbG9jYWxlIHx8IFNldHRpbmdzLmRlZmF1bHRMb2NhbGU7XG4gICAgLy8gdGhlIHN5c3RlbSBsb2NhbGUgaXMgdXNlZnVsIGZvciBodW1hbiByZWFkYWJsZSBzdHJpbmdzIGJ1dCBhbm5veWluZyBmb3IgcGFyc2luZy9mb3JtYXR0aW5nIGtub3duIGZvcm1hdHNcbiAgICBjb25zdCBsb2NhbGVSID0gc3BlY2lmaWVkTG9jYWxlIHx8IChkZWZhdWx0VG9FTiA/IFwiZW4tVVNcIiA6IHN5c3RlbUxvY2FsZSgpKTtcbiAgICBjb25zdCBudW1iZXJpbmdTeXN0ZW1SID0gbnVtYmVyaW5nU3lzdGVtIHx8IFNldHRpbmdzLmRlZmF1bHROdW1iZXJpbmdTeXN0ZW07XG4gICAgY29uc3Qgb3V0cHV0Q2FsZW5kYXJSID0gb3V0cHV0Q2FsZW5kYXIgfHwgU2V0dGluZ3MuZGVmYXVsdE91dHB1dENhbGVuZGFyO1xuICAgIHJldHVybiBuZXcgTG9jYWxlKGxvY2FsZVIsIG51bWJlcmluZ1N5c3RlbVIsIG91dHB1dENhbGVuZGFyUiwgc3BlY2lmaWVkTG9jYWxlKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNldENhY2hlKCkge1xuICAgIHN5c0xvY2FsZUNhY2hlID0gbnVsbDtcbiAgICBpbnRsRFRDYWNoZSA9IHt9O1xuICAgIGludGxOdW1DYWNoZSA9IHt9O1xuICAgIGludGxSZWxDYWNoZSA9IHt9O1xuICB9XG5cbiAgc3RhdGljIGZyb21PYmplY3QoeyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIgfSA9IHt9KSB7XG4gICAgcmV0dXJuIExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGxvY2FsZSwgbnVtYmVyaW5nLCBvdXRwdXRDYWxlbmRhciwgc3BlY2lmaWVkTG9jYWxlKSB7XG4gICAgY29uc3QgW3BhcnNlZExvY2FsZSwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtLCBwYXJzZWRPdXRwdXRDYWxlbmRhcl0gPSBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGUpO1xuXG4gICAgdGhpcy5sb2NhbGUgPSBwYXJzZWRMb2NhbGU7XG4gICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPSBudW1iZXJpbmcgfHwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtIHx8IG51bGw7XG4gICAgdGhpcy5vdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyIHx8IHBhcnNlZE91dHB1dENhbGVuZGFyIHx8IG51bGw7XG4gICAgdGhpcy5pbnRsID0gaW50bENvbmZpZ1N0cmluZyh0aGlzLmxvY2FsZSwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sIHRoaXMub3V0cHV0Q2FsZW5kYXIpO1xuXG4gICAgdGhpcy53ZWVrZGF5c0NhY2hlID0geyBmb3JtYXQ6IHt9LCBzdGFuZGFsb25lOiB7fSB9O1xuICAgIHRoaXMubW9udGhzQ2FjaGUgPSB7IGZvcm1hdDoge30sIHN0YW5kYWxvbmU6IHt9IH07XG4gICAgdGhpcy5tZXJpZGllbUNhY2hlID0gbnVsbDtcbiAgICB0aGlzLmVyYUNhY2hlID0ge307XG5cbiAgICB0aGlzLnNwZWNpZmllZExvY2FsZSA9IHNwZWNpZmllZExvY2FsZTtcbiAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gbnVsbDtcbiAgfVxuXG4gIGdldCBmYXN0TnVtYmVycygpIHtcbiAgICBpZiAodGhpcy5mYXN0TnVtYmVyc0NhY2hlZCA9PSBudWxsKSB7XG4gICAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gc3VwcG9ydHNGYXN0TnVtYmVycyh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mYXN0TnVtYmVyc0NhY2hlZDtcbiAgfVxuXG4gIGxpc3RpbmdNb2RlKCkge1xuICAgIGNvbnN0IGlzQWN0dWFsbHlFbiA9IHRoaXMuaXNFbmdsaXNoKCk7XG4gICAgY29uc3QgaGFzTm9XZWlyZG5lc3MgPVxuICAgICAgKHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBudWxsIHx8IHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBcImxhdG5cIikgJiZcbiAgICAgICh0aGlzLm91dHB1dENhbGVuZGFyID09PSBudWxsIHx8IHRoaXMub3V0cHV0Q2FsZW5kYXIgPT09IFwiZ3JlZ29yeVwiKTtcbiAgICByZXR1cm4gaXNBY3R1YWxseUVuICYmIGhhc05vV2VpcmRuZXNzID8gXCJlblwiIDogXCJpbnRsXCI7XG4gIH1cblxuICBjbG9uZShhbHRzKSB7XG4gICAgaWYgKCFhbHRzIHx8IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFsdHMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKFxuICAgICAgICBhbHRzLmxvY2FsZSB8fCB0aGlzLnNwZWNpZmllZExvY2FsZSxcbiAgICAgICAgYWx0cy5udW1iZXJpbmdTeXN0ZW0gfHwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sXG4gICAgICAgIGFsdHMub3V0cHV0Q2FsZW5kYXIgfHwgdGhpcy5vdXRwdXRDYWxlbmRhcixcbiAgICAgICAgYWx0cy5kZWZhdWx0VG9FTiB8fCBmYWxzZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZWRlZmF1bHRUb0VOKGFsdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKHsgLi4uYWx0cywgZGVmYXVsdFRvRU46IHRydWUgfSk7XG4gIH1cblxuICByZWRlZmF1bHRUb1N5c3RlbShhbHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSh7IC4uLmFsdHMsIGRlZmF1bHRUb0VOOiBmYWxzZSB9KTtcbiAgfVxuXG4gIG1vbnRocyhsZW5ndGgsIGZvcm1hdCA9IGZhbHNlLCBkZWZhdWx0T0sgPSB0cnVlKSB7XG4gICAgcmV0dXJuIGxpc3RTdHVmZih0aGlzLCBsZW5ndGgsIGRlZmF1bHRPSywgRW5nbGlzaC5tb250aHMsICgpID0+IHtcbiAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQgPyB7IG1vbnRoOiBsZW5ndGgsIGRheTogXCJudW1lcmljXCIgfSA6IHsgbW9udGg6IGxlbmd0aCB9LFxuICAgICAgICBmb3JtYXRTdHIgPSBmb3JtYXQgPyBcImZvcm1hdFwiIDogXCJzdGFuZGFsb25lXCI7XG4gICAgICBpZiAoIXRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdKSB7XG4gICAgICAgIHRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdID0gbWFwTW9udGhzKChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcIm1vbnRoXCIpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm1vbnRoc0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTtcbiAgICB9KTtcbiAgfVxuXG4gIHdlZWtkYXlzKGxlbmd0aCwgZm9ybWF0ID0gZmFsc2UsIGRlZmF1bHRPSyA9IHRydWUpIHtcbiAgICByZXR1cm4gbGlzdFN0dWZmKHRoaXMsIGxlbmd0aCwgZGVmYXVsdE9LLCBFbmdsaXNoLndlZWtkYXlzLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnRsID0gZm9ybWF0XG4gICAgICAgICAgPyB7IHdlZWtkYXk6IGxlbmd0aCwgeWVhcjogXCJudW1lcmljXCIsIG1vbnRoOiBcImxvbmdcIiwgZGF5OiBcIm51bWVyaWNcIiB9XG4gICAgICAgICAgOiB7IHdlZWtkYXk6IGxlbmd0aCB9LFxuICAgICAgICBmb3JtYXRTdHIgPSBmb3JtYXQgPyBcImZvcm1hdFwiIDogXCJzdGFuZGFsb25lXCI7XG4gICAgICBpZiAoIXRoaXMud2Vla2RheXNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF0pIHtcbiAgICAgICAgdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSA9IG1hcFdlZWtkYXlzKChkdCkgPT5cbiAgICAgICAgICB0aGlzLmV4dHJhY3QoZHQsIGludGwsIFwid2Vla2RheVwiKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMud2Vla2RheXNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF07XG4gICAgfSk7XG4gIH1cblxuICBtZXJpZGllbXMoZGVmYXVsdE9LID0gdHJ1ZSkge1xuICAgIHJldHVybiBsaXN0U3R1ZmYoXG4gICAgICB0aGlzLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZGVmYXVsdE9LLFxuICAgICAgKCkgPT4gRW5nbGlzaC5tZXJpZGllbXMsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIC8vIEluIHRoZW9yeSB0aGVyZSBjb3VsZCBiZSBhcmliaXRyYXJ5IGRheSBwZXJpb2RzLiBXZSdyZSBnb25uYSBhc3N1bWUgdGhlcmUgYXJlIGV4YWN0bHkgdHdvXG4gICAgICAgIC8vIGZvciBBTSBhbmQgUE0uIFRoaXMgaXMgcHJvYmFibHkgd3JvbmcsIGJ1dCBpdCdzIG1ha2VzIHBhcnNpbmcgd2F5IGVhc2llci5cbiAgICAgICAgaWYgKCF0aGlzLm1lcmlkaWVtQ2FjaGUpIHtcbiAgICAgICAgICBjb25zdCBpbnRsID0geyBob3VyOiBcIm51bWVyaWNcIiwgaG91ckN5Y2xlOiBcImgxMlwiIH07XG4gICAgICAgICAgdGhpcy5tZXJpZGllbUNhY2hlID0gW0RhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMsIDkpLCBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzLCAxOSldLm1hcChcbiAgICAgICAgICAgIChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcImRheXBlcmlvZFwiKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXJpZGllbUNhY2hlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBlcmFzKGxlbmd0aCwgZGVmYXVsdE9LID0gdHJ1ZSkge1xuICAgIHJldHVybiBsaXN0U3R1ZmYodGhpcywgbGVuZ3RoLCBkZWZhdWx0T0ssIEVuZ2xpc2guZXJhcywgKCkgPT4ge1xuICAgICAgY29uc3QgaW50bCA9IHsgZXJhOiBsZW5ndGggfTtcblxuICAgICAgLy8gVGhpcyBpcyBwcm9ibGVtYXRpYy4gRGlmZmVyZW50IGNhbGVuZGFycyBhcmUgZ29pbmcgdG8gZGVmaW5lIGVyYXMgdG90YWxseSBkaWZmZXJlbnRseS4gV2hhdCBJIG5lZWQgaXMgdGhlIG1pbmltdW0gc2V0IG9mIGRhdGVzXG4gICAgICAvLyB0byBkZWZpbml0ZWx5IGVudW1lcmF0ZSB0aGVtLlxuICAgICAgaWYgKCF0aGlzLmVyYUNhY2hlW2xlbmd0aF0pIHtcbiAgICAgICAgdGhpcy5lcmFDYWNoZVtsZW5ndGhdID0gW0RhdGVUaW1lLnV0YygtNDAsIDEsIDEpLCBEYXRlVGltZS51dGMoMjAxNywgMSwgMSldLm1hcCgoZHQpID0+XG4gICAgICAgICAgdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcImVyYVwiKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5lcmFDYWNoZVtsZW5ndGhdO1xuICAgIH0pO1xuICB9XG5cbiAgZXh0cmFjdChkdCwgaW50bE9wdHMsIGZpZWxkKSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyksXG4gICAgICByZXN1bHRzID0gZGYuZm9ybWF0VG9QYXJ0cygpLFxuICAgICAgbWF0Y2hpbmcgPSByZXN1bHRzLmZpbmQoKG0pID0+IG0udHlwZS50b0xvd2VyQ2FzZSgpID09PSBmaWVsZCk7XG4gICAgcmV0dXJuIG1hdGNoaW5nID8gbWF0Y2hpbmcudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgbnVtYmVyRm9ybWF0dGVyKG9wdHMgPSB7fSkge1xuICAgIC8vIHRoaXMgZm9yY2VzaW1wbGUgb3B0aW9uIGlzIG5ldmVyIHVzZWQgKHRoZSBvbmx5IGNhbGxlciBzaG9ydC1jaXJjdWl0cyBvbiBpdCwgYnV0IGl0IHNlZW1zIHNhZmVyIHRvIGxlYXZlKVxuICAgIC8vIChpbiBjb250cmFzdCwgdGhlIHJlc3Qgb2YgdGhlIGNvbmRpdGlvbiBpcyB1c2VkIGhlYXZpbHkpXG4gICAgcmV0dXJuIG5ldyBQb2x5TnVtYmVyRm9ybWF0dGVyKHRoaXMuaW50bCwgb3B0cy5mb3JjZVNpbXBsZSB8fCB0aGlzLmZhc3ROdW1iZXJzLCBvcHRzKTtcbiAgfVxuXG4gIGR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2x5RGF0ZUZvcm1hdHRlcihkdCwgdGhpcy5pbnRsLCBpbnRsT3B0cyk7XG4gIH1cblxuICByZWxGb3JtYXR0ZXIob3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2x5UmVsRm9ybWF0dGVyKHRoaXMuaW50bCwgdGhpcy5pc0VuZ2xpc2goKSwgb3B0cyk7XG4gIH1cblxuICBsaXN0Rm9ybWF0dGVyKG9wdHMgPSB7fSkge1xuICAgIHJldHVybiBnZXRDYWNoZWRMRih0aGlzLmludGwsIG9wdHMpO1xuICB9XG5cbiAgaXNFbmdsaXNoKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmxvY2FsZSA9PT0gXCJlblwiIHx8XG4gICAgICB0aGlzLmxvY2FsZS50b0xvd2VyQ2FzZSgpID09PSBcImVuLXVzXCIgfHxcbiAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuaW50bCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlLnN0YXJ0c1dpdGgoXCJlbi11c1wiKVxuICAgICk7XG4gIH1cblxuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5sb2NhbGUgPT09IG90aGVyLmxvY2FsZSAmJlxuICAgICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09IG90aGVyLm51bWJlcmluZ1N5c3RlbSAmJlxuICAgICAgdGhpcy5vdXRwdXRDYWxlbmRhciA9PT0gb3RoZXIub3V0cHV0Q2FsZW5kYXJcbiAgICApO1xuICB9XG59XG4iLCAiaW1wb3J0IHtcbiAgdW50cnVuY2F0ZVllYXIsXG4gIHNpZ25lZE9mZnNldCxcbiAgcGFyc2VJbnRlZ2VyLFxuICBwYXJzZU1pbGxpcyxcbiAgaWFuYVJlZ2V4LFxuICBpc1VuZGVmaW5lZCxcbiAgcGFyc2VGbG9hdGluZ1xufSBmcm9tIFwiLi91dGlsLmpzXCI7XG5pbXBvcnQgKiBhcyBFbmdsaXNoIGZyb20gXCIuL2VuZ2xpc2guanNcIjtcbmltcG9ydCBGaXhlZE9mZnNldFpvbmUgZnJvbSBcIi4uL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IElBTkFab25lIGZyb20gXCIuLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuXG4vKlxuICogVGhpcyBmaWxlIGhhbmRsZXMgcGFyc2luZyBmb3Igd2VsbC1zcGVjaWZpZWQgZm9ybWF0cy4gSGVyZSdzIGhvdyBpdCB3b3JrczpcbiAqIFR3byB0aGluZ3MgZ28gaW50byBwYXJzaW5nOiBhIHJlZ2V4IHRvIG1hdGNoIHdpdGggYW5kIGFuIGV4dHJhY3RvciB0byB0YWtlIGFwYXJ0IHRoZSBncm91cHMgaW4gdGhlIG1hdGNoLlxuICogQW4gZXh0cmFjdG9yIGlzIGp1c3QgYSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgcmVnZXggbWF0Y2ggYXJyYXkgYW5kIHJldHVybnMgYSB7IHllYXI6IC4uLiwgbW9udGg6IC4uLiB9IG9iamVjdFxuICogcGFyc2UoKSBkb2VzIHRoZSB3b3JrIG9mIGV4ZWN1dGluZyB0aGUgcmVnZXggYW5kIGFwcGx5aW5nIHRoZSBleHRyYWN0b3IuIEl0IHRha2VzIG11bHRpcGxlIHJlZ2V4L2V4dHJhY3RvciBwYWlycyB0byB0cnkgaW4gc2VxdWVuY2UuXG4gKiBFeHRyYWN0b3JzIGNhbiB0YWtlIGEgXCJjdXJzb3JcIiByZXByZXNlbnRpbmcgdGhlIG9mZnNldCBpbiB0aGUgbWF0Y2ggdG8gbG9vayBhdC4gVGhpcyBtYWtlcyBpdCBlYXN5IHRvIGNvbWJpbmUgZXh0cmFjdG9ycy5cbiAqIGNvbWJpbmVFeHRyYWN0b3JzKCkgZG9lcyB0aGUgd29yayBvZiBjb21iaW5pbmcgdGhlbSwga2VlcGluZyB0cmFjayBvZiB0aGUgY3Vyc29yIHRocm91Z2ggbXVsdGlwbGUgZXh0cmFjdGlvbnMuXG4gKiBTb21lIGV4dHJhY3Rpb25zIGFyZSBzdXBlciBkdW1iIGFuZCBzaW1wbGVQYXJzZSBhbmQgZnJvbVN0cmluZ3MgaGVscCBEUlkgdGhlbS5cbiAqL1xuXG5mdW5jdGlvbiBjb21iaW5lUmVnZXhlcyguLi5yZWdleGVzKSB7XG4gIGNvbnN0IGZ1bGwgPSByZWdleGVzLnJlZHVjZSgoZiwgcikgPT4gZiArIHIuc291cmNlLCBcIlwiKTtcbiAgcmV0dXJuIFJlZ0V4cChgXiR7ZnVsbH0kYCk7XG59XG5cbmZ1bmN0aW9uIGNvbWJpbmVFeHRyYWN0b3JzKC4uLmV4dHJhY3RvcnMpIHtcbiAgcmV0dXJuIG0gPT5cbiAgICBleHRyYWN0b3JzXG4gICAgICAucmVkdWNlKFxuICAgICAgICAoW21lcmdlZFZhbHMsIG1lcmdlZFpvbmUsIGN1cnNvcl0sIGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgW3ZhbCwgem9uZSwgbmV4dF0gPSBleChtLCBjdXJzb3IpO1xuICAgICAgICAgIHJldHVybiBbeyAuLi5tZXJnZWRWYWxzLCAuLi52YWwgfSwgem9uZSB8fCBtZXJnZWRab25lLCBuZXh0XTtcbiAgICAgICAgfSxcbiAgICAgICAgW3t9LCBudWxsLCAxXVxuICAgICAgKVxuICAgICAgLnNsaWNlKDAsIDIpO1xufVxuXG5mdW5jdGlvbiBwYXJzZShzLCAuLi5wYXR0ZXJucykge1xuICBpZiAocyA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgfVxuXG4gIGZvciAoY29uc3QgW3JlZ2V4LCBleHRyYWN0b3JdIG9mIHBhdHRlcm5zKSB7XG4gICAgY29uc3QgbSA9IHJlZ2V4LmV4ZWMocyk7XG4gICAgaWYgKG0pIHtcbiAgICAgIHJldHVybiBleHRyYWN0b3IobSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBbbnVsbCwgbnVsbF07XG59XG5cbmZ1bmN0aW9uIHNpbXBsZVBhcnNlKC4uLmtleXMpIHtcbiAgcmV0dXJuIChtYXRjaCwgY3Vyc29yKSA9PiB7XG4gICAgY29uc3QgcmV0ID0ge307XG4gICAgbGV0IGk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgcmV0W2tleXNbaV1dID0gcGFyc2VJbnRlZ2VyKG1hdGNoW2N1cnNvciArIGldKTtcbiAgICB9XG4gICAgcmV0dXJuIFtyZXQsIG51bGwsIGN1cnNvciArIGldO1xuICB9O1xufVxuXG4vLyBJU08gYW5kIFNRTCBwYXJzaW5nXG5jb25zdCBvZmZzZXRSZWdleCA9IC8oPzooWil8KFsrLV1cXGRcXGQpKD86Oj8oXFxkXFxkKSk/KS87XG5jb25zdCBpc29FeHRlbmRlZFpvbmUgPSBgKD86JHtvZmZzZXRSZWdleC5zb3VyY2V9Pyg/OlxcXFxbKCR7aWFuYVJlZ2V4LnNvdXJjZX0pXFxcXF0pPyk/YDtcbmNvbnN0IGlzb1RpbWVCYXNlUmVnZXggPSAvKFxcZFxcZCkoPzo6PyhcXGRcXGQpKD86Oj8oXFxkXFxkKSg/OlsuLF0oXFxkezEsMzB9KSk/KT8pPy87XG5jb25zdCBpc29UaW1lUmVnZXggPSBSZWdFeHAoYCR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JHtpc29FeHRlbmRlZFpvbmV9YCk7XG5jb25zdCBpc29UaW1lRXh0ZW5zaW9uUmVnZXggPSBSZWdFeHAoYCg/OlQke2lzb1RpbWVSZWdleC5zb3VyY2V9KT9gKTtcbmNvbnN0IGlzb1ltZFJlZ2V4ID0gLyhbKy1dXFxkezZ9fFxcZHs0fSkoPzotPyhcXGRcXGQpKD86LT8oXFxkXFxkKSk/KT8vO1xuY29uc3QgaXNvV2Vla1JlZ2V4ID0gLyhcXGR7NH0pLT9XKFxcZFxcZCkoPzotPyhcXGQpKT8vO1xuY29uc3QgaXNvT3JkaW5hbFJlZ2V4ID0gLyhcXGR7NH0pLT8oXFxkezN9KS87XG5jb25zdCBleHRyYWN0SVNPV2Vla0RhdGEgPSBzaW1wbGVQYXJzZShcIndlZWtZZWFyXCIsIFwid2Vla051bWJlclwiLCBcIndlZWtEYXlcIik7XG5jb25zdCBleHRyYWN0SVNPT3JkaW5hbERhdGEgPSBzaW1wbGVQYXJzZShcInllYXJcIiwgXCJvcmRpbmFsXCIpO1xuY29uc3Qgc3FsWW1kUmVnZXggPSAvKFxcZHs0fSktKFxcZFxcZCktKFxcZFxcZCkvOyAvLyBkdW1iZWQtZG93biB2ZXJzaW9uIG9mIHRoZSBJU08gb25lXG5jb25zdCBzcWxUaW1lUmVnZXggPSBSZWdFeHAoXG4gIGAke2lzb1RpbWVCYXNlUmVnZXguc291cmNlfSA/KD86JHtvZmZzZXRSZWdleC5zb3VyY2V9fCgke2lhbmFSZWdleC5zb3VyY2V9KSk/YFxuKTtcbmNvbnN0IHNxbFRpbWVFeHRlbnNpb25SZWdleCA9IFJlZ0V4cChgKD86ICR7c3FsVGltZVJlZ2V4LnNvdXJjZX0pP2ApO1xuXG5mdW5jdGlvbiBpbnQobWF0Y2gsIHBvcywgZmFsbGJhY2spIHtcbiAgY29uc3QgbSA9IG1hdGNoW3Bvc107XG4gIHJldHVybiBpc1VuZGVmaW5lZChtKSA/IGZhbGxiYWNrIDogcGFyc2VJbnRlZ2VyKG0pO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0SVNPWW1kKG1hdGNoLCBjdXJzb3IpIHtcbiAgY29uc3QgaXRlbSA9IHtcbiAgICB5ZWFyOiBpbnQobWF0Y2gsIGN1cnNvciksXG4gICAgbW9udGg6IGludChtYXRjaCwgY3Vyc29yICsgMSwgMSksXG4gICAgZGF5OiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDEpXG4gIH07XG5cbiAgcmV0dXJuIFtpdGVtLCBudWxsLCBjdXJzb3IgKyAzXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElTT1RpbWUobWF0Y2gsIGN1cnNvcikge1xuICBjb25zdCBpdGVtID0ge1xuICAgIGhvdXJzOiBpbnQobWF0Y2gsIGN1cnNvciwgMCksXG4gICAgbWludXRlczogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAwKSxcbiAgICBzZWNvbmRzOiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDApLFxuICAgIG1pbGxpc2Vjb25kczogcGFyc2VNaWxsaXMobWF0Y2hbY3Vyc29yICsgM10pXG4gIH07XG5cbiAgcmV0dXJuIFtpdGVtLCBudWxsLCBjdXJzb3IgKyA0XTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElTT09mZnNldChtYXRjaCwgY3Vyc29yKSB7XG4gIGNvbnN0IGxvY2FsID0gIW1hdGNoW2N1cnNvcl0gJiYgIW1hdGNoW2N1cnNvciArIDFdLFxuICAgIGZ1bGxPZmZzZXQgPSBzaWduZWRPZmZzZXQobWF0Y2hbY3Vyc29yICsgMV0sIG1hdGNoW2N1cnNvciArIDJdKSxcbiAgICB6b25lID0gbG9jYWwgPyBudWxsIDogRml4ZWRPZmZzZXRab25lLmluc3RhbmNlKGZ1bGxPZmZzZXQpO1xuICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAzXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElBTkFab25lKG1hdGNoLCBjdXJzb3IpIHtcbiAgY29uc3Qgem9uZSA9IG1hdGNoW2N1cnNvcl0gPyBJQU5BWm9uZS5jcmVhdGUobWF0Y2hbY3Vyc29yXSkgOiBudWxsO1xuICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAxXTtcbn1cblxuLy8gSVNPIHRpbWUgcGFyc2luZ1xuXG5jb25zdCBpc29UaW1lT25seSA9IFJlZ0V4cChgXlQ/JHtpc29UaW1lQmFzZVJlZ2V4LnNvdXJjZX0kYCk7XG5cbi8vIElTTyBkdXJhdGlvbiBwYXJzaW5nXG5cbmNvbnN0IGlzb0R1cmF0aW9uID0gL14tP1AoPzooPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylZKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylNKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylXKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylEKT8oPzpUKD86KC0/XFxkezEsMjB9KD86XFwuXFxkezEsMjB9KT8pSCk/KD86KC0/XFxkezEsMjB9KD86XFwuXFxkezEsMjB9KT8pTSk/KD86KC0/XFxkezEsMjB9KSg/OlsuLF0oLT9cXGR7MSwyMH0pKT9TKT8pPykkLztcblxuZnVuY3Rpb24gZXh0cmFjdElTT0R1cmF0aW9uKG1hdGNoKSB7XG4gIGNvbnN0IFtcbiAgICBzLFxuICAgIHllYXJTdHIsXG4gICAgbW9udGhTdHIsXG4gICAgd2Vla1N0cixcbiAgICBkYXlTdHIsXG4gICAgaG91clN0cixcbiAgICBtaW51dGVTdHIsXG4gICAgc2Vjb25kU3RyLFxuICAgIG1pbGxpc2Vjb25kc1N0clxuICBdID0gbWF0Y2g7XG5cbiAgY29uc3QgaGFzTmVnYXRpdmVQcmVmaXggPSBzWzBdID09PSBcIi1cIjtcbiAgY29uc3QgbmVnYXRpdmVTZWNvbmRzID0gc2Vjb25kU3RyICYmIHNlY29uZFN0clswXSA9PT0gXCItXCI7XG5cbiAgY29uc3QgbWF5YmVOZWdhdGUgPSAobnVtLCBmb3JjZSA9IGZhbHNlKSA9PlxuICAgIG51bSAhPT0gdW5kZWZpbmVkICYmIChmb3JjZSB8fCAobnVtICYmIGhhc05lZ2F0aXZlUHJlZml4KSkgPyAtbnVtIDogbnVtO1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgeWVhcnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoeWVhclN0cikpLFxuICAgICAgbW9udGhzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKG1vbnRoU3RyKSksXG4gICAgICB3ZWVrczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyh3ZWVrU3RyKSksXG4gICAgICBkYXlzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKGRheVN0cikpLFxuICAgICAgaG91cnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoaG91clN0cikpLFxuICAgICAgbWludXRlczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyhtaW51dGVTdHIpKSxcbiAgICAgIHNlY29uZHM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoc2Vjb25kU3RyKSwgc2Vjb25kU3RyID09PSBcIi0wXCIpLFxuICAgICAgbWlsbGlzZWNvbmRzOiBtYXliZU5lZ2F0ZShwYXJzZU1pbGxpcyhtaWxsaXNlY29uZHNTdHIpLCBuZWdhdGl2ZVNlY29uZHMpXG4gICAgfVxuICBdO1xufVxuXG4vLyBUaGVzZSBhcmUgYSBsaXR0bGUgYnJhaW5kZWFkLiBFRFQgKnNob3VsZCogdGVsbCB1cyB0aGF0IHdlJ3JlIGluLCBzYXksIEFtZXJpY2EvTmV3X1lvcmtcbi8vIGFuZCBub3QganVzdCB0aGF0IHdlJ3JlIGluIC0yNDAgKnJpZ2h0IG5vdyouIEJ1dCBzaW5jZSBJIGRvbid0IHRoaW5rIHRoZXNlIGFyZSB1c2VkIHRoYXQgb2Z0ZW5cbi8vIEknbSBqdXN0IGdvaW5nIHRvIGlnbm9yZSB0aGF0XG5jb25zdCBvYnNPZmZzZXRzID0ge1xuICBHTVQ6IDAsXG4gIEVEVDogLTQgKiA2MCxcbiAgRVNUOiAtNSAqIDYwLFxuICBDRFQ6IC01ICogNjAsXG4gIENTVDogLTYgKiA2MCxcbiAgTURUOiAtNiAqIDYwLFxuICBNU1Q6IC03ICogNjAsXG4gIFBEVDogLTcgKiA2MCxcbiAgUFNUOiAtOCAqIDYwXG59O1xuXG5mdW5jdGlvbiBmcm9tU3RyaW5ncyh3ZWVrZGF5U3RyLCB5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0cikge1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgeWVhcjogeWVhclN0ci5sZW5ndGggPT09IDIgPyB1bnRydW5jYXRlWWVhcihwYXJzZUludGVnZXIoeWVhclN0cikpIDogcGFyc2VJbnRlZ2VyKHllYXJTdHIpLFxuICAgIG1vbnRoOiBFbmdsaXNoLm1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpICsgMSxcbiAgICBkYXk6IHBhcnNlSW50ZWdlcihkYXlTdHIpLFxuICAgIGhvdXI6IHBhcnNlSW50ZWdlcihob3VyU3RyKSxcbiAgICBtaW51dGU6IHBhcnNlSW50ZWdlcihtaW51dGVTdHIpXG4gIH07XG5cbiAgaWYgKHNlY29uZFN0cikgcmVzdWx0LnNlY29uZCA9IHBhcnNlSW50ZWdlcihzZWNvbmRTdHIpO1xuICBpZiAod2Vla2RheVN0cikge1xuICAgIHJlc3VsdC53ZWVrZGF5ID1cbiAgICAgIHdlZWtkYXlTdHIubGVuZ3RoID4gM1xuICAgICAgICA/IEVuZ2xpc2gud2Vla2RheXNMb25nLmluZGV4T2Yod2Vla2RheVN0cikgKyAxXG4gICAgICAgIDogRW5nbGlzaC53ZWVrZGF5c1Nob3J0LmluZGV4T2Yod2Vla2RheVN0cikgKyAxO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gUkZDIDI4MjIvNTMyMlxuY29uc3QgcmZjMjgyMiA9IC9eKD86KE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksXFxzKT8oXFxkezEsMn0pXFxzKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKVxccyhcXGR7Miw0fSlcXHMoXFxkXFxkKTooXFxkXFxkKSg/OjooXFxkXFxkKSk/XFxzKD86KFVUfEdNVHxbRUNNUF1bU0RdVCl8KFtael0pfCg/OihbKy1dXFxkXFxkKShcXGRcXGQpKSkkLztcblxuZnVuY3Rpb24gZXh0cmFjdFJGQzI4MjIobWF0Y2gpIHtcbiAgY29uc3QgW1xuICAgICAgLFxuICAgICAgd2Vla2RheVN0cixcbiAgICAgIGRheVN0cixcbiAgICAgIG1vbnRoU3RyLFxuICAgICAgeWVhclN0cixcbiAgICAgIGhvdXJTdHIsXG4gICAgICBtaW51dGVTdHIsXG4gICAgICBzZWNvbmRTdHIsXG4gICAgICBvYnNPZmZzZXQsXG4gICAgICBtaWxPZmZzZXQsXG4gICAgICBvZmZIb3VyU3RyLFxuICAgICAgb2ZmTWludXRlU3RyXG4gICAgXSA9IG1hdGNoLFxuICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTtcblxuICBsZXQgb2Zmc2V0O1xuICBpZiAob2JzT2Zmc2V0KSB7XG4gICAgb2Zmc2V0ID0gb2JzT2Zmc2V0c1tvYnNPZmZzZXRdO1xuICB9IGVsc2UgaWYgKG1pbE9mZnNldCkge1xuICAgIG9mZnNldCA9IDA7XG4gIH0gZWxzZSB7XG4gICAgb2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cik7XG4gIH1cblxuICByZXR1cm4gW3Jlc3VsdCwgbmV3IEZpeGVkT2Zmc2V0Wm9uZShvZmZzZXQpXTtcbn1cblxuZnVuY3Rpb24gcHJlcHJvY2Vzc1JGQzI4MjIocykge1xuICAvLyBSZW1vdmUgY29tbWVudHMgYW5kIGZvbGRpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjZSBtdWx0aXBsZS1zcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZVxuICByZXR1cm4gc1xuICAgIC5yZXBsYWNlKC9cXChbXigpXSpcXCl8W1xcblxcdF0vZywgXCIgXCIpXG4gICAgLnJlcGxhY2UoLyhcXHNcXHMrKS9nLCBcIiBcIilcbiAgICAudHJpbSgpO1xufVxuXG4vLyBodHRwIGRhdGVcblxuY29uc3QgcmZjMTEyMyA9IC9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksIChcXGRcXGQpIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKFxcZHs0fSkgKFxcZFxcZCk6KFxcZFxcZCk6KFxcZFxcZCkgR01UJC8sXG4gIHJmYzg1MCA9IC9eKE1vbmRheXxUdWVzZGF5fFdlZG5lc2RheXxUaHVyc2RheXxGcmlkYXl8U2F0dXJkYXl8U3VuZGF5KSwgKFxcZFxcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXFxkXFxkKSAoXFxkXFxkKTooXFxkXFxkKTooXFxkXFxkKSBHTVQkLyxcbiAgYXNjaWkgPSAvXihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKCBcXGR8XFxkXFxkKSAoXFxkXFxkKTooXFxkXFxkKTooXFxkXFxkKSAoXFxkezR9KSQvO1xuXG5mdW5jdGlvbiBleHRyYWN0UkZDMTEyM09yODUwKG1hdGNoKSB7XG4gIGNvbnN0IFssIHdlZWtkYXlTdHIsIGRheVN0ciwgbW9udGhTdHIsIHllYXJTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyXSA9IG1hdGNoLFxuICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTtcbiAgcmV0dXJuIFtyZXN1bHQsIEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZV07XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBU0NJSShtYXRjaCkge1xuICBjb25zdCBbLCB3ZWVrZGF5U3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0ciwgeWVhclN0cl0gPSBtYXRjaCxcbiAgICByZXN1bHQgPSBmcm9tU3RyaW5ncyh3ZWVrZGF5U3RyLCB5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0cik7XG4gIHJldHVybiBbcmVzdWx0LCBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2VdO1xufVxuXG5jb25zdCBpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvWW1kUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7XG5jb25zdCBpc29XZWVrV2l0aFRpbWVFeHRlbnNpb25SZWdleCA9IGNvbWJpbmVSZWdleGVzKGlzb1dlZWtSZWdleCwgaXNvVGltZUV4dGVuc2lvblJlZ2V4KTtcbmNvbnN0IGlzb09yZGluYWxXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvT3JkaW5hbFJlZ2V4LCBpc29UaW1lRXh0ZW5zaW9uUmVnZXgpO1xuY29uc3QgaXNvVGltZUNvbWJpbmVkUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29UaW1lUmVnZXgpO1xuXG5jb25zdCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldCA9IGNvbWJpbmVFeHRyYWN0b3JzKFxuICBleHRyYWN0SVNPWW1kLFxuICBleHRyYWN0SVNPVGltZSxcbiAgZXh0cmFjdElTT09mZnNldCxcbiAgZXh0cmFjdElBTkFab25lXG4pO1xuY29uc3QgZXh0cmFjdElTT1dlZWtUaW1lQW5kT2Zmc2V0ID0gY29tYmluZUV4dHJhY3RvcnMoXG4gIGV4dHJhY3RJU09XZWVrRGF0YSxcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcbmNvbnN0IGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWUgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT09yZGluYWxEYXRhLFxuICBleHRyYWN0SVNPVGltZSxcbiAgZXh0cmFjdElTT09mZnNldCxcbiAgZXh0cmFjdElBTkFab25lXG4pO1xuY29uc3QgZXh0cmFjdElTT1RpbWVBbmRPZmZzZXQgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcblxuLypcbiAqIEBwcml2YXRlXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVNPRGF0ZShzKSB7XG4gIHJldHVybiBwYXJzZShcbiAgICBzLFxuICAgIFtpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldF0sXG4gICAgW2lzb1dlZWtXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPV2Vla1RpbWVBbmRPZmZzZXRdLFxuICAgIFtpc29PcmRpbmFsV2l0aFRpbWVFeHRlbnNpb25SZWdleCwgZXh0cmFjdElTT09yZGluYWxEYXRlQW5kVGltZV0sXG4gICAgW2lzb1RpbWVDb21iaW5lZFJlZ2V4LCBleHRyYWN0SVNPVGltZUFuZE9mZnNldF1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUkZDMjgyMkRhdGUocykge1xuICByZXR1cm4gcGFyc2UocHJlcHJvY2Vzc1JGQzI4MjIocyksIFtyZmMyODIyLCBleHRyYWN0UkZDMjgyMl0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VIVFRQRGF0ZShzKSB7XG4gIHJldHVybiBwYXJzZShcbiAgICBzLFxuICAgIFtyZmMxMTIzLCBleHRyYWN0UkZDMTEyM09yODUwXSxcbiAgICBbcmZjODUwLCBleHRyYWN0UkZDMTEyM09yODUwXSxcbiAgICBbYXNjaWksIGV4dHJhY3RBU0NJSV1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVNPRHVyYXRpb24ocykge1xuICByZXR1cm4gcGFyc2UocywgW2lzb0R1cmF0aW9uLCBleHRyYWN0SVNPRHVyYXRpb25dKTtcbn1cblxuY29uc3QgZXh0cmFjdElTT1RpbWVPbmx5ID0gY29tYmluZUV4dHJhY3RvcnMoZXh0cmFjdElTT1RpbWUpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJU09UaW1lT25seShzKSB7XG4gIHJldHVybiBwYXJzZShzLCBbaXNvVGltZU9ubHksIGV4dHJhY3RJU09UaW1lT25seV0pO1xufVxuXG5jb25zdCBzcWxZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoc3FsWW1kUmVnZXgsIHNxbFRpbWVFeHRlbnNpb25SZWdleCk7XG5jb25zdCBzcWxUaW1lQ29tYmluZWRSZWdleCA9IGNvbWJpbmVSZWdleGVzKHNxbFRpbWVSZWdleCk7XG5cbmNvbnN0IGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmUgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU1FMKHMpIHtcbiAgcmV0dXJuIHBhcnNlKFxuICAgIHMsXG4gICAgW3NxbFltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09ZbWRUaW1lQW5kT2Zmc2V0XSxcbiAgICBbc3FsVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmVdXG4gICk7XG59XG4iLCAiaW1wb3J0IHsgSW52YWxpZEFyZ3VtZW50RXJyb3IsIEludmFsaWREdXJhdGlvbkVycm9yLCBJbnZhbGlkVW5pdEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgRm9ybWF0dGVyIGZyb20gXCIuL2ltcGwvZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgSW52YWxpZCBmcm9tIFwiLi9pbXBsL2ludmFsaWQuanNcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcIi4vaW1wbC9sb2NhbGUuanNcIjtcbmltcG9ydCB7IHBhcnNlSVNPRHVyYXRpb24sIHBhcnNlSVNPVGltZU9ubHkgfSBmcm9tIFwiLi9pbXBsL3JlZ2V4UGFyc2VyLmpzXCI7XG5pbXBvcnQge1xuICBhc051bWJlcixcbiAgaGFzT3duUHJvcGVydHksXG4gIGlzTnVtYmVyLFxuICBpc1VuZGVmaW5lZCxcbiAgbm9ybWFsaXplT2JqZWN0LFxuICByb3VuZFRvLFxufSBmcm9tIFwiLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCBTZXR0aW5ncyBmcm9tIFwiLi9zZXR0aW5ncy5qc1wiO1xuXG5jb25zdCBJTlZBTElEID0gXCJJbnZhbGlkIER1cmF0aW9uXCI7XG5cbi8vIHVuaXQgY29udmVyc2lvbiBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBsb3dPcmRlck1hdHJpeCA9IHtcbiAgICB3ZWVrczoge1xuICAgICAgZGF5czogNyxcbiAgICAgIGhvdXJzOiA3ICogMjQsXG4gICAgICBtaW51dGVzOiA3ICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgIH0sXG4gICAgZGF5czoge1xuICAgICAgaG91cnM6IDI0LFxuICAgICAgbWludXRlczogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDI0ICogNjAgKiA2MCxcbiAgICAgIG1pbGxpc2Vjb25kczogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIGhvdXJzOiB7IG1pbnV0ZXM6IDYwLCBzZWNvbmRzOiA2MCAqIDYwLCBtaWxsaXNlY29uZHM6IDYwICogNjAgKiAxMDAwIH0sXG4gICAgbWludXRlczogeyBzZWNvbmRzOiA2MCwgbWlsbGlzZWNvbmRzOiA2MCAqIDEwMDAgfSxcbiAgICBzZWNvbmRzOiB7IG1pbGxpc2Vjb25kczogMTAwMCB9LFxuICB9LFxuICBjYXN1YWxNYXRyaXggPSB7XG4gICAgeWVhcnM6IHtcbiAgICAgIHF1YXJ0ZXJzOiA0LFxuICAgICAgbW9udGhzOiAxMixcbiAgICAgIHdlZWtzOiA1MixcbiAgICAgIGRheXM6IDM2NSxcbiAgICAgIGhvdXJzOiAzNjUgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDM2NSAqIDI0ICogNjAsXG4gICAgICBzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IDM2NSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBxdWFydGVyczoge1xuICAgICAgbW9udGhzOiAzLFxuICAgICAgd2Vla3M6IDEzLFxuICAgICAgZGF5czogOTEsXG4gICAgICBob3VyczogOTEgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDkxICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDkxICogMjQgKiA2MCAqIDYwLFxuICAgICAgbWlsbGlzZWNvbmRzOiA5MSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBtb250aHM6IHtcbiAgICAgIHdlZWtzOiA0LFxuICAgICAgZGF5czogMzAsXG4gICAgICBob3VyczogMzAgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDMwICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDMwICogMjQgKiA2MCAqIDYwLFxuICAgICAgbWlsbGlzZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcblxuICAgIC4uLmxvd09yZGVyTWF0cml4LFxuICB9LFxuICBkYXlzSW5ZZWFyQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQwMCxcbiAgZGF5c0luTW9udGhBY2N1cmF0ZSA9IDE0NjA5Ny4wIC8gNDgwMCxcbiAgYWNjdXJhdGVNYXRyaXggPSB7XG4gICAgeWVhcnM6IHtcbiAgICAgIHF1YXJ0ZXJzOiA0LFxuICAgICAgbW9udGhzOiAxMixcbiAgICAgIHdlZWtzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA3LFxuICAgICAgZGF5czogZGF5c0luWWVhckFjY3VyYXRlLFxuICAgICAgaG91cnM6IGRheXNJblllYXJBY2N1cmF0ZSAqIDI0LFxuICAgICAgbWludXRlczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjAgKiA2MCxcbiAgICAgIG1pbGxpc2Vjb25kczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIHF1YXJ0ZXJzOiB7XG4gICAgICBtb250aHM6IDMsXG4gICAgICB3ZWVrczogZGF5c0luWWVhckFjY3VyYXRlIC8gMjgsXG4gICAgICBkYXlzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA0LFxuICAgICAgaG91cnM6IChkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCkgLyA0LFxuICAgICAgbWludXRlczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjApIC8gNCxcbiAgICAgIHNlY29uZHM6IChkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjApIC8gNCxcbiAgICAgIG1pbGxpc2Vjb25kczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjAgKiA2MCAqIDEwMDApIC8gNCxcbiAgICB9LFxuICAgIG1vbnRoczoge1xuICAgICAgd2Vla3M6IGRheXNJbk1vbnRoQWNjdXJhdGUgLyA3LFxuICAgICAgZGF5czogZGF5c0luTW9udGhBY2N1cmF0ZSxcbiAgICAgIGhvdXJzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQsXG4gICAgICBtaW51dGVzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgIH0sXG4gICAgLi4ubG93T3JkZXJNYXRyaXgsXG4gIH07XG5cbi8vIHVuaXRzIG9yZGVyZWQgYnkgc2l6ZVxuY29uc3Qgb3JkZXJlZFVuaXRzID0gW1xuICBcInllYXJzXCIsXG4gIFwicXVhcnRlcnNcIixcbiAgXCJtb250aHNcIixcbiAgXCJ3ZWVrc1wiLFxuICBcImRheXNcIixcbiAgXCJob3Vyc1wiLFxuICBcIm1pbnV0ZXNcIixcbiAgXCJzZWNvbmRzXCIsXG4gIFwibWlsbGlzZWNvbmRzXCIsXG5dO1xuXG5jb25zdCByZXZlcnNlVW5pdHMgPSBvcmRlcmVkVW5pdHMuc2xpY2UoMCkucmV2ZXJzZSgpO1xuXG4vLyBjbG9uZSByZWFsbHkgbWVhbnMgXCJjcmVhdGUgYW5vdGhlciBpbnN0YW5jZSBqdXN0IGxpa2UgdGhpcyBvbmUsIGJ1dCB3aXRoIHRoZXNlIGNoYW5nZXNcIlxuZnVuY3Rpb24gY2xvbmUoZHVyLCBhbHRzLCBjbGVhciA9IGZhbHNlKSB7XG4gIC8vIGRlZXAgbWVyZ2UgZm9yIHZhbHNcbiAgY29uc3QgY29uZiA9IHtcbiAgICB2YWx1ZXM6IGNsZWFyID8gYWx0cy52YWx1ZXMgOiB7IC4uLmR1ci52YWx1ZXMsIC4uLihhbHRzLnZhbHVlcyB8fCB7fSkgfSxcbiAgICBsb2M6IGR1ci5sb2MuY2xvbmUoYWx0cy5sb2MpLFxuICAgIGNvbnZlcnNpb25BY2N1cmFjeTogYWx0cy5jb252ZXJzaW9uQWNjdXJhY3kgfHwgZHVyLmNvbnZlcnNpb25BY2N1cmFjeSxcbiAgfTtcbiAgcmV0dXJuIG5ldyBEdXJhdGlvbihjb25mKTtcbn1cblxuZnVuY3Rpb24gYW50aVRydW5jKG4pIHtcbiAgcmV0dXJuIG4gPCAwID8gTWF0aC5mbG9vcihuKSA6IE1hdGguY2VpbChuKTtcbn1cblxuLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVyc1xuZnVuY3Rpb24gY29udmVydChtYXRyaXgsIGZyb21NYXAsIGZyb21Vbml0LCB0b01hcCwgdG9Vbml0KSB7XG4gIGNvbnN0IGNvbnYgPSBtYXRyaXhbdG9Vbml0XVtmcm9tVW5pdF0sXG4gICAgcmF3ID0gZnJvbU1hcFtmcm9tVW5pdF0gLyBjb252LFxuICAgIHNhbWVTaWduID0gTWF0aC5zaWduKHJhdykgPT09IE1hdGguc2lnbih0b01hcFt0b1VuaXRdKSxcbiAgICAvLyBvaywgc28gdGhpcyBpcyB3aWxkLCBidXQgc2VlIHRoZSBtYXRyaXggaW4gdGhlIHRlc3RzXG4gICAgYWRkZWQgPVxuICAgICAgIXNhbWVTaWduICYmIHRvTWFwW3RvVW5pdF0gIT09IDAgJiYgTWF0aC5hYnMocmF3KSA8PSAxID8gYW50aVRydW5jKHJhdykgOiBNYXRoLnRydW5jKHJhdyk7XG4gIHRvTWFwW3RvVW5pdF0gKz0gYWRkZWQ7XG4gIGZyb21NYXBbZnJvbVVuaXRdIC09IGFkZGVkICogY29udjtcbn1cblxuLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVyc1xuZnVuY3Rpb24gbm9ybWFsaXplVmFsdWVzKG1hdHJpeCwgdmFscykge1xuICByZXZlcnNlVW5pdHMucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgIGlmICghaXNVbmRlZmluZWQodmFsc1tjdXJyZW50XSkpIHtcbiAgICAgIGlmIChwcmV2aW91cykge1xuICAgICAgICBjb252ZXJ0KG1hdHJpeCwgdmFscywgcHJldmlvdXMsIHZhbHMsIGN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICB9XG4gIH0sIG51bGwpO1xufVxuXG4vKipcbiAqIEEgRHVyYXRpb24gb2JqZWN0IHJlcHJlc2VudHMgYSBwZXJpb2Qgb2YgdGltZSwgbGlrZSBcIjIgbW9udGhzXCIgb3IgXCIxIGRheSwgMSBob3VyXCIuIENvbmNlcHR1YWxseSwgaXQncyBqdXN0IGEgbWFwIG9mIHVuaXRzIHRvIHRoZWlyIHF1YW50aXRpZXMsIGFjY29tcGFuaWVkIGJ5IHNvbWUgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGFuZCBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLiBUaGV5IGNhbiBiZSB1c2VkIG9uIHRoZWlyIG93biBvciBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIEx1eG9uIHR5cGVzOyBmb3IgZXhhbXBsZSwgeW91IGNhbiB1c2Uge0BsaW5rIERhdGVUaW1lI3BsdXN9IHRvIGFkZCBhIER1cmF0aW9uIG9iamVjdCB0byBhIERhdGVUaW1lLCBwcm9kdWNpbmcgYW5vdGhlciBEYXRlVGltZS5cbiAqXG4gKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgY29tbW9ubHkgdXNlZCBtZXRob2RzIGFuZCBnZXR0ZXJzIGluIER1cmF0aW9uOlxuICpcbiAqICogKipDcmVhdGlvbioqIFRvIGNyZWF0ZSBhIER1cmF0aW9uLCB1c2Uge0BsaW5rIER1cmF0aW9uI2Zyb21NaWxsaXN9LCB7QGxpbmsgRHVyYXRpb24jZnJvbU9iamVjdH0sIG9yIHtAbGluayBEdXJhdGlvbiNmcm9tSVNPfS5cbiAqICogKipVbml0IHZhbHVlcyoqIFNlZSB0aGUge0BsaW5rIER1cmF0aW9uI3llYXJzfSwge0BsaW5rIER1cmF0aW9uI21vbnRoc30sIHtAbGluayBEdXJhdGlvbiN3ZWVrc30sIHtAbGluayBEdXJhdGlvbiNkYXlzfSwge0BsaW5rIER1cmF0aW9uI2hvdXJzfSwge0BsaW5rIER1cmF0aW9uI21pbnV0ZXN9LCB7QGxpbmsgRHVyYXRpb24jc2Vjb25kc30sIHtAbGluayBEdXJhdGlvbiNtaWxsaXNlY29uZHN9IGFjY2Vzc29ycy5cbiAqICogKipDb25maWd1cmF0aW9uKiogU2VlICB7QGxpbmsgRHVyYXRpb24jbG9jYWxlfSBhbmQge0BsaW5rIER1cmF0aW9uI251bWJlcmluZ1N5c3RlbX0gYWNjZXNzb3JzLlxuICogKiAqKlRyYW5zZm9ybWF0aW9uKiogVG8gY3JlYXRlIG5ldyBEdXJhdGlvbnMgb3V0IG9mIG9sZCBvbmVzIHVzZSB7QGxpbmsgRHVyYXRpb24jcGx1c30sIHtAbGluayBEdXJhdGlvbiNtaW51c30sIHtAbGluayBEdXJhdGlvbiNub3JtYWxpemV9LCB7QGxpbmsgRHVyYXRpb24jc2V0fSwge0BsaW5rIER1cmF0aW9uI3JlY29uZmlndXJlfSwge0BsaW5rIER1cmF0aW9uI3NoaWZ0VG99LCBhbmQge0BsaW5rIER1cmF0aW9uI25lZ2F0ZX0uXG4gKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgRHVyYXRpb24gaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgRHVyYXRpb24jYXN9LCB7QGxpbmsgRHVyYXRpb24jdG9JU099LCB7QGxpbmsgRHVyYXRpb24jdG9Gb3JtYXR9LCBhbmQge0BsaW5rIER1cmF0aW9uI3RvSlNPTn1cbiAqXG4gKiBUaGVyZSdzIGFyZSBtb3JlIG1ldGhvZHMgZG9jdW1lbnRlZCBiZWxvdy4gSW4gYWRkaXRpb24sIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHN1YnRsZXIgdG9waWNzIGxpa2UgaW50ZXJuYXRpb25hbGl6YXRpb24gYW5kIHZhbGlkaXR5LCBzZWUgdGhlIGV4dGVybmFsIGRvY3VtZW50YXRpb24uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIER1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBjb25zdCBhY2N1cmF0ZSA9IGNvbmZpZy5jb252ZXJzaW9uQWNjdXJhY3kgPT09IFwibG9uZ3Rlcm1cIiB8fCBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnZhbHVlcyA9IGNvbmZpZy52YWx1ZXM7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5sb2MgPSBjb25maWcubG9jIHx8IExvY2FsZS5jcmVhdGUoKTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmNvbnZlcnNpb25BY2N1cmFjeSA9IGFjY3VyYXRlID8gXCJsb25ndGVybVwiIDogXCJjYXN1YWxcIjtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMubWF0cml4ID0gYWNjdXJhdGUgPyBhY2N1cmF0ZU1hdHJpeCA6IGNhc3VhbE1hdHJpeDtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmlzTHV4b25EdXJhdGlvbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIER1cmF0aW9uIGZyb20gYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQgb2YgbWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tTWlsbGlzKGNvdW50LCBvcHRzKSB7XG4gICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaWxsaXNlY29uZHM6IGNvdW50IH0sIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIER1cmF0aW9uIGZyb20gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIGtleXMgbGlrZSAneWVhcnMnIGFuZCAnaG91cnMnLlxuICAgKiBJZiB0aGlzIG9iamVjdCBpcyBlbXB0eSB0aGVuIGEgemVybyBtaWxsaXNlY29uZHMgZHVyYXRpb24gaXMgcmV0dXJuZWQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSB0aGUgb2JqZWN0IHRvIGNyZWF0ZSB0aGUgRGF0ZVRpbWUgZnJvbVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLnllYXJzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoucXVhcnRlcnNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5tb250aHNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai53ZWVrc1xuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLmRheXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3Vyc1xuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbnV0ZXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmRzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0cz1bXV0gLSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGlzIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSB0aGUgbG9jYWxlIHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmNvbnZlcnNpb25BY2N1cmFjeT0nY2FzdWFsJ10gLSB0aGUgY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGZyb21PYmplY3Qob2JqLCBvcHRzID0ge30pIHtcbiAgICBpZiAob2JqID09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgRHVyYXRpb24uZnJvbU9iamVjdDogYXJndW1lbnQgZXhwZWN0ZWQgdG8gYmUgYW4gb2JqZWN0LCBnb3QgJHtcbiAgICAgICAgICBvYmogPT09IG51bGwgPyBcIm51bGxcIiA6IHR5cGVvZiBvYmpcbiAgICAgICAgfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEdXJhdGlvbih7XG4gICAgICB2YWx1ZXM6IG5vcm1hbGl6ZU9iamVjdChvYmosIER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpLFxuICAgICAgbG9jOiBMb2NhbGUuZnJvbU9iamVjdChvcHRzKSxcbiAgICAgIGNvbnZlcnNpb25BY2N1cmFjeTogb3B0cy5jb252ZXJzaW9uQWNjdXJhY3ksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBEdXJhdGlvbkxpa2UuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0IHwgbnVtYmVyIHwgRHVyYXRpb259IGR1cmF0aW9uTGlrZVxuICAgKiBPbmUgb2Y6XG4gICAqIC0gb2JqZWN0IHdpdGgga2V5cyBsaWtlICd5ZWFycycgYW5kICdob3VycycuXG4gICAqIC0gbnVtYmVyIHJlcHJlc2VudGluZyBtaWxsaXNlY29uZHNcbiAgICogLSBEdXJhdGlvbiBpbnN0YW5jZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uTGlrZSkge1xuICAgIGlmIChpc051bWJlcihkdXJhdGlvbkxpa2UpKSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhkdXJhdGlvbkxpa2UpO1xuICAgIH0gZWxzZSBpZiAoRHVyYXRpb24uaXNEdXJhdGlvbihkdXJhdGlvbkxpa2UpKSB7XG4gICAgICByZXR1cm4gZHVyYXRpb25MaWtlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGR1cmF0aW9uTGlrZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QoZHVyYXRpb25MaWtlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgVW5rbm93biBkdXJhdGlvbiBhcmd1bWVudCAke2R1cmF0aW9uTGlrZX0gb2YgdHlwZSAke3R5cGVvZiBkdXJhdGlvbkxpa2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSBkdXJhdGlvbiBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBwYXJzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIHBhcnNpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2VcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDNZNk0xVzREVDEySDMwTTVTJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDMsIG1vbnRoczogNiwgd2Vla3M6IDEsIGRheXM6IDQsIGhvdXJzOiAxMiwgbWludXRlczogMzAsIHNlY29uZHM6IDUgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPKCdQVDIzSCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAyMyB9XG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21JU08oJ1A1WTNNJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDUsIG1vbnRoczogMyB9XG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGZyb21JU08odGV4dCwgb3B0cykge1xuICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09EdXJhdGlvbih0ZXh0KTtcbiAgICBpZiAocGFyc2VkKSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdChwYXJzZWQsIG9wdHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uaW52YWxpZChcInVucGFyc2FibGVcIiwgYHRoZSBpbnB1dCBcIiR7dGV4dH1cIiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSB0aW1lIHN0cmluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0ZXh0IHRvIHBhcnNlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVzXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21JU09UaW1lKCcxMToyMjozMy40NDQnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDIyLCBzZWNvbmRzOiAzMywgbWlsbGlzZWNvbmRzOiA0NDQgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTE6MDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExOjAwJykudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IDExLCBtaW51dGVzOiAwLCBzZWNvbmRzOiAwIH1cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJzExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tSVNPVGltZSh0ZXh0LCBvcHRzKSB7XG4gICAgY29uc3QgW3BhcnNlZF0gPSBwYXJzZUlTT1RpbWVPbmx5KHRleHQpO1xuICAgIGlmIChwYXJzZWQpIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKFwidW5wYXJzYWJsZVwiLCBgdGhlIGlucHV0IFwiJHt0ZXh0fVwiIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW52YWxpZCBEdXJhdGlvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIHNpbXBsZSBzdHJpbmcgb2Ygd2h5IHRoaXMgZGF0ZXRpbWUgaXMgaW52YWxpZC4gU2hvdWxkIG5vdCBjb250YWluIHBhcmFtZXRlcnMgb3IgYW55dGhpbmcgZWxzZSBkYXRhLWRlcGVuZGVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBEdXJhdGlvbiBpcyBpbnZhbGlkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7XG5cbiAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRHVyYXRpb25FcnJvcihpbnZhbGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBEdXJhdGlvbih7IGludmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplVW5pdCh1bml0KSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHtcbiAgICAgIHllYXI6IFwieWVhcnNcIixcbiAgICAgIHllYXJzOiBcInllYXJzXCIsXG4gICAgICBxdWFydGVyOiBcInF1YXJ0ZXJzXCIsXG4gICAgICBxdWFydGVyczogXCJxdWFydGVyc1wiLFxuICAgICAgbW9udGg6IFwibW9udGhzXCIsXG4gICAgICBtb250aHM6IFwibW9udGhzXCIsXG4gICAgICB3ZWVrOiBcIndlZWtzXCIsXG4gICAgICB3ZWVrczogXCJ3ZWVrc1wiLFxuICAgICAgZGF5OiBcImRheXNcIixcbiAgICAgIGRheXM6IFwiZGF5c1wiLFxuICAgICAgaG91cjogXCJob3Vyc1wiLFxuICAgICAgaG91cnM6IFwiaG91cnNcIixcbiAgICAgIG1pbnV0ZTogXCJtaW51dGVzXCIsXG4gICAgICBtaW51dGVzOiBcIm1pbnV0ZXNcIixcbiAgICAgIHNlY29uZDogXCJzZWNvbmRzXCIsXG4gICAgICBzZWNvbmRzOiBcInNlY29uZHNcIixcbiAgICAgIG1pbGxpc2Vjb25kOiBcIm1pbGxpc2Vjb25kc1wiLFxuICAgICAgbWlsbGlzZWNvbmRzOiBcIm1pbGxpc2Vjb25kc1wiLFxuICAgIH1bdW5pdCA/IHVuaXQudG9Mb3dlckNhc2UoKSA6IHVuaXRdO1xuXG4gICAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTtcblxuICAgIHJldHVybiBub3JtYWxpemVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhIER1cmF0aW9uLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNEdXJhdGlvbihvKSB7XG4gICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkR1cmF0aW9uKSB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgIHRoZSBsb2NhbGUgb2YgYSBEdXJhdGlvbiwgc3VjaCAnZW4tR0InXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyaW5nIHN5c3RlbSBvZiBhIER1cmF0aW9uLCBzdWNoICdiZW5nJy4gVGhlIG51bWJlcmluZyBzeXN0ZW0gaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIER1cmF0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy4gWW91IG1heSB1c2UgdGhlc2UgdG9rZW5zOlxuICAgKiAqIGBTYCBmb3IgbWlsbGlzZWNvbmRzXG4gICAqICogYHNgIGZvciBzZWNvbmRzXG4gICAqICogYG1gIGZvciBtaW51dGVzXG4gICAqICogYGhgIGZvciBob3Vyc1xuICAgKiAqIGBkYCBmb3IgZGF5c1xuICAgKiAqIGB3YCBmb3Igd2Vla3NcbiAgICogKiBgTWAgZm9yIG1vbnRoc1xuICAgKiAqIGB5YCBmb3IgeWVhcnNcbiAgICogTm90ZXM6XG4gICAqICogQWRkIHBhZGRpbmcgYnkgcmVwZWF0aW5nIHRoZSB0b2tlbiwgZS5nLiBcInl5XCIgcGFkcyB0aGUgeWVhcnMgdG8gdHdvIGRpZ2l0cywgXCJoaGhoXCIgcGFkcyB0aGUgaG91cnMgb3V0IHRvIGZvdXIgZGlnaXRzXG4gICAqICogVG9rZW5zIGNhbiBiZSBlc2NhcGVkIGJ5IHdyYXBwaW5nIHdpdGggc2luZ2xlIHF1b3Rlcy5cbiAgICogKiBUaGUgZHVyYXRpb24gd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhlIHNldCBvZiB1bml0cyBpbiB0aGUgZm9ybWF0IHN0cmluZyB1c2luZyB7QGxpbmsgRHVyYXRpb24jc2hpZnRUb30gYW5kIHRoZSBEdXJhdGlvbnMncyBjb252ZXJzaW9uIGFjY3VyYWN5IHNldHRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5mbG9vcj10cnVlXSAtIGZsb29yIG51bWVyaWNhbCB2YWx1ZXNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KFwieSBkIHNcIikgLy89PiBcIjEgNiAyXCJcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KFwieXkgZGQgc3NzXCIpIC8vPT4gXCIwMSAwNiAwMDJcIlxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfSkudG9Gb3JtYXQoXCJNIFNcIikgLy89PiBcIjEyIDUxODQwMjAwMFwiXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvRm9ybWF0KGZtdCwgb3B0cyA9IHt9KSB7XG4gICAgLy8gcmV2ZXJzZS1jb21wYXQgc2luY2UgMS4yOyB3ZSBhbHdheXMgcm91bmQgZG93biBub3csIG5ldmVyIHVwLCBhbmQgd2UgZG8gaXQgYnkgZGVmYXVsdFxuICAgIGNvbnN0IGZtdE9wdHMgPSB7XG4gICAgICAuLi5vcHRzLFxuICAgICAgZmxvb3I6IG9wdHMucm91bmQgIT09IGZhbHNlICYmIG9wdHMuZmxvb3IgIT09IGZhbHNlLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLCBmbXRPcHRzKS5mb3JtYXREdXJhdGlvbkZyb21TdHJpbmcodGhpcywgZm10KVxuICAgICAgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBEdXJhdGlvbiB3aXRoIGFsbCB1bml0cyBpbmNsdWRlZC5cbiAgICogVG8gbW9kaWZ5IGl0cyBiZWhhdmlvciB1c2UgdGhlIGBsaXN0U3R5bGVgIGFuZCBhbnkgSW50bC5OdW1iZXJGb3JtYXQgb3B0aW9uLCB0aG91Z2ggYHVuaXREaXNwbGF5YCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50LlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTnVtYmVyRm9ybWF0XG4gICAqIEBwYXJhbSBvcHRzIC0gT24gb3B0aW9uIG9iamVjdCB0byBvdmVycmlkZSB0aGUgZm9ybWF0dGluZy4gQWNjZXB0cyB0aGUgc2FtZSBrZXlzIGFzIHRoZSBvcHRpb25zIHBhcmFtZXRlciBvZiB0aGUgbmF0aXZlIGBJbnQuTnVtYmVyRm9ybWF0YCBjb25zdHJ1Y3RvciwgYXMgd2VsbCBhcyBgbGlzdFN0eWxlYC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICogdmFyIGR1ciA9IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxLCBob3VyczogNSwgbWludXRlczogNiB9KVxuICAgKiBkdXIudG9IdW1hbigpIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCA2IG1pbnV0ZXMnXG4gICAqIGR1ci50b0h1bWFuKHsgbGlzdFN0eWxlOiBcImxvbmdcIiB9KSAvLz0+ICcxIGRheSwgNSBob3VycywgYW5kIDYgbWludXRlcydcbiAgICogZHVyLnRvSHVtYW4oeyB1bml0RGlzcGxheTogXCJzaG9ydFwiIH0pIC8vPT4gJzEgZGF5LCA1IGhyLCA2IG1pbidcbiAgICogYGBgXG4gICAqL1xuICB0b0h1bWFuKG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IGwgPSBvcmRlcmVkVW5pdHNcbiAgICAgIC5tYXAoKHVuaXQpID0+IHtcbiAgICAgICAgY29uc3QgdmFsID0gdGhpcy52YWx1ZXNbdW5pdF07XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZCh2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubG9jXG4gICAgICAgICAgLm51bWJlckZvcm1hdHRlcih7IHN0eWxlOiBcInVuaXRcIiwgdW5pdERpc3BsYXk6IFwibG9uZ1wiLCAuLi5vcHRzLCB1bml0OiB1bml0LnNsaWNlKDAsIC0xKSB9KVxuICAgICAgICAgIC5mb3JtYXQodmFsKTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChuKSA9PiBuKTtcblxuICAgIHJldHVybiB0aGlzLmxvY1xuICAgICAgLmxpc3RGb3JtYXR0ZXIoeyB0eXBlOiBcImNvbmp1bmN0aW9uXCIsIHN0eWxlOiBvcHRzLmxpc3RTdHlsZSB8fCBcIm5hcnJvd1wiLCAuLi5vcHRzIH0pXG4gICAgICAuZm9ybWF0KGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHRoaXMgRHVyYXRpb24ncyB2YWx1ZXMuXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSwgZGF5czogNiwgc2Vjb25kczogMiB9KS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMSwgZGF5czogNiwgc2Vjb25kczogMiB9XG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHRvT2JqZWN0KCkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4ge307XG4gICAgcmV0dXJuIHsgLi4udGhpcy52YWx1ZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbi5cbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAzLCBzZWNvbmRzOiA0NSB9KS50b0lTTygpIC8vPT4gJ1AzWVQ0NVMnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDQsIHNlY29uZHM6IDQ1IH0pLnRvSVNPKCkgLy89PiAnUDRNVDQ1UydcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogNSB9KS50b0lTTygpIC8vPT4gJ1A1TSdcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDUgfSkudG9JU08oKSAvLz0+ICdQVDVNJ1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWlsbGlzZWNvbmRzOiA2IH0pLnRvSVNPKCkgLy89PiAnUFQwLjAwNlMnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKCkge1xuICAgIC8vIHdlIGNvdWxkIHVzZSB0aGUgZm9ybWF0dGVyLCBidXQgdGhpcyBpcyBhbiBlYXNpZXIgd2F5IHRvIGdldCB0aGUgbWluaW11bSBzdHJpbmdcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICBsZXQgcyA9IFwiUFwiO1xuICAgIGlmICh0aGlzLnllYXJzICE9PSAwKSBzICs9IHRoaXMueWVhcnMgKyBcIllcIjtcbiAgICBpZiAodGhpcy5tb250aHMgIT09IDAgfHwgdGhpcy5xdWFydGVycyAhPT0gMCkgcyArPSB0aGlzLm1vbnRocyArIHRoaXMucXVhcnRlcnMgKiAzICsgXCJNXCI7XG4gICAgaWYgKHRoaXMud2Vla3MgIT09IDApIHMgKz0gdGhpcy53ZWVrcyArIFwiV1wiO1xuICAgIGlmICh0aGlzLmRheXMgIT09IDApIHMgKz0gdGhpcy5kYXlzICsgXCJEXCI7XG4gICAgaWYgKHRoaXMuaG91cnMgIT09IDAgfHwgdGhpcy5taW51dGVzICE9PSAwIHx8IHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMClcbiAgICAgIHMgKz0gXCJUXCI7XG4gICAgaWYgKHRoaXMuaG91cnMgIT09IDApIHMgKz0gdGhpcy5ob3VycyArIFwiSFwiO1xuICAgIGlmICh0aGlzLm1pbnV0ZXMgIT09IDApIHMgKz0gdGhpcy5taW51dGVzICsgXCJNXCI7XG4gICAgaWYgKHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMClcbiAgICAgIC8vIHRoaXMgd2lsbCBoYW5kbGUgXCJmbG9hdGluZyBwb2ludCBtYWRuZXNzXCIgYnkgcmVtb3ZpbmcgZXh0cmEgZGVjaW1hbCBwbGFjZXNcbiAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzU4ODAwNC9pcy1mbG9hdGluZy1wb2ludC1tYXRoLWJyb2tlblxuICAgICAgcyArPSByb3VuZFRvKHRoaXMuc2Vjb25kcyArIHRoaXMubWlsbGlzZWNvbmRzIC8gMTAwMCwgMykgKyBcIlNcIjtcbiAgICBpZiAocyA9PT0gXCJQXCIpIHMgKz0gXCJUMFNcIjtcbiAgICByZXR1cm4gcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiwgZm9ybWF0dGVkIGFzIGEgdGltZSBvZiBkYXkuXG4gICAqIE5vdGUgdGhhdCB0aGlzIHdpbGwgcmV0dXJuIG51bGwgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQsIG5lZ2F0aXZlLCBvciBlcXVhbCB0byBvciBncmVhdGVyIHRoYW4gMjQgaG91cnMuXG4gICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZXNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NNaWxsaXNlY29uZHM9ZmFsc2VdIC0gZXhjbHVkZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzU2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIHNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVQcmVmaXg9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgYFRgIHByZWZpeFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXRcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoKSAvLz0+ICcxMTowMDowMC4wMDAnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NNaWxsaXNlY29uZHM6IHRydWUgfSkgLy89PiAnMTE6MDA6MDAnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NTZWNvbmRzOiB0cnVlIH0pIC8vPT4gJzExOjAwJ1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSh7IGluY2x1ZGVQcmVmaXg6IHRydWUgfSkgLy89PiAnVDExOjAwOjAwLjAwMCdcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoeyBmb3JtYXQ6ICdiYXNpYycgfSkgLy89PiAnMTEwMDAwLjAwMCdcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9JU09UaW1lKG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IG1pbGxpcyA9IHRoaXMudG9NaWxsaXMoKTtcbiAgICBpZiAobWlsbGlzIDwgMCB8fCBtaWxsaXMgPj0gODY0MDAwMDApIHJldHVybiBudWxsO1xuXG4gICAgb3B0cyA9IHtcbiAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzOiBmYWxzZSxcbiAgICAgIHN1cHByZXNzU2Vjb25kczogZmFsc2UsXG4gICAgICBpbmNsdWRlUHJlZml4OiBmYWxzZSxcbiAgICAgIGZvcm1hdDogXCJleHRlbmRlZFwiLFxuICAgICAgLi4ub3B0cyxcbiAgICB9O1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnNoaWZ0VG8oXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCIsIFwibWlsbGlzZWNvbmRzXCIpO1xuXG4gICAgbGV0IGZtdCA9IG9wdHMuZm9ybWF0ID09PSBcImJhc2ljXCIgPyBcImhobW1cIiA6IFwiaGg6bW1cIjtcblxuICAgIGlmICghb3B0cy5zdXBwcmVzc1NlY29uZHMgfHwgdmFsdWUuc2Vjb25kcyAhPT0gMCB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHtcbiAgICAgIGZtdCArPSBvcHRzLmZvcm1hdCA9PT0gXCJiYXNpY1wiID8gXCJzc1wiIDogXCI6c3NcIjtcbiAgICAgIGlmICghb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcyB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHtcbiAgICAgICAgZm10ICs9IFwiLlNTU1wiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBzdHIgPSB2YWx1ZS50b0Zvcm1hdChmbXQpO1xuXG4gICAgaWYgKG9wdHMuaW5jbHVkZVByZWZpeCkge1xuICAgICAgc3RyID0gXCJUXCIgKyBzdHI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBkZWJ1Z2dpbmcuXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnRvSVNPKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgdG9NaWxsaXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXMoXCJtaWxsaXNlY29uZHNcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi4gQWxpYXMgb2Yge0BsaW5rIHRvTWlsbGlzfVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB2YWx1ZU9mKCkge1xuICAgIHJldHVybiB0aGlzLnRvTWlsbGlzKCk7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSB0aGlzIER1cmF0aW9uIGxvbmdlciBieSB0aGUgc3BlY2lmaWVkIGFtb3VudC4gUmV0dXJuIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KClcbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBwbHVzKGR1cmF0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksXG4gICAgICByZXN1bHQgPSB7fTtcblxuICAgIGZvciAoY29uc3QgayBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eShkdXIudmFsdWVzLCBrKSB8fCBoYXNPd25Qcm9wZXJ0eSh0aGlzLnZhbHVlcywgaykpIHtcbiAgICAgICAgcmVzdWx0W2tdID0gZHVyLmdldChrKSArIHRoaXMuZ2V0KGspO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgdGhpcyBEdXJhdGlvbiBzaG9ydGVyIGJ5IHRoZSBzcGVjaWZpZWQgYW1vdW50LiBSZXR1cm4gYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi5cbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgbWludXMoZHVyYXRpb24pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcbiAgICByZXR1cm4gdGhpcy5wbHVzKGR1ci5uZWdhdGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGUgdGhpcyBEdXJhdGlvbiBieSB0aGUgc3BlY2lmaWVkIGFtb3VudC4gUmV0dXJuIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggdW5pdC4gQXJpdHkgaXMgMSBvciAyOiB0aGUgdmFsdWUgb2YgdGhlIHVuaXQgYW5kLCBvcHRpb25hbGx5LCB0aGUgdW5pdCBuYW1lLiBNdXN0IHJldHVybiBhIG51bWJlci5cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cyh4ID0+IHggKiAyKSAvLz0+IHsgaG91cnM6IDIsIG1pbnV0ZXM6IDYwIH1cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cygoeCwgdSkgPT4gdSA9PT0gXCJob3VyXCIgPyB4ICogMiA6IHgpIC8vPT4geyBob3VyczogMiwgbWludXRlczogMzAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIG1hcFVuaXRzKGZuKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHtcbiAgICAgIHJlc3VsdFtrXSA9IGFzTnVtYmVyKGZuKHRoaXMudmFsdWVzW2tdLCBrKSk7XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmFsdWUgb2YgdW5pdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlJyBvciAnZGF5J1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgneWVhcnMnKSAvLz0+IDJcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7eWVhcnM6IDIsIGRheXM6IDN9KS5nZXQoJ21vbnRocycpIC8vPT4gMFxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgnZGF5cycpIC8vPT4gM1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQodW5pdCkge1xuICAgIHJldHVybiB0aGlzW0R1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodW5pdCldO1xuICB9XG5cbiAgLyoqXG4gICAqIFwiU2V0XCIgdGhlIHZhbHVlcyBvZiBzcGVjaWZpZWQgdW5pdHMuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gYSBtYXBwaW5nIG9mIHVuaXRzIHRvIG51bWJlcnNcbiAgICogQGV4YW1wbGUgZHVyLnNldCh7IHllYXJzOiAyMDE3IH0pXG4gICAqIEBleGFtcGxlIGR1ci5zZXQoeyBob3VyczogOCwgbWludXRlczogMzAgfSlcbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBzZXQodmFsdWVzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgbWl4ZWQgPSB7IC4uLnRoaXMudmFsdWVzLCAuLi5ub3JtYWxpemVPYmplY3QodmFsdWVzLCBEdXJhdGlvbi5ub3JtYWxpemVVbml0KSB9O1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogbWl4ZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgbG9jYWxlIGFuZC9vciBudW1iZXJpbmdTeXN0ZW0uICBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBleGFtcGxlIGR1ci5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIGNvbnZlcnNpb25BY2N1cmFjeSB9ID0ge30pIHtcbiAgICBjb25zdCBsb2MgPSB0aGlzLmxvYy5jbG9uZSh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtIH0pLFxuICAgICAgb3B0cyA9IHsgbG9jIH07XG5cbiAgICBpZiAoY29udmVyc2lvbkFjY3VyYWN5KSB7XG4gICAgICBvcHRzLmNvbnZlcnNpb25BY2N1cmFjeSA9IGNvbnZlcnNpb25BY2N1cmFjeTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xvbmUodGhpcywgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIGR1cmF0aW9uIGluIHRoZSBzcGVjaWZpZWQgdW5pdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlcycgb3IgJ2RheXMnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAxfSkuYXMoJ2RheXMnKSAvLz0+IDM2NVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMX0pLmFzKCdtb250aHMnKSAvLz0+IDEyXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe2hvdXJzOiA2MH0pLmFzKCdkYXlzJykgLy89PiAyLjVcbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgYXModW5pdCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnNoaWZ0VG8odW5pdCkuZ2V0KHVuaXQpIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZHVjZSB0aGlzIER1cmF0aW9uIHRvIGl0cyBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gaW4gaXRzIGN1cnJlbnQgdW5pdHMuXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMiwgZGF5czogNTAwMCB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMTUsIGRheXM6IDI1NSB9XG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTIsIG1pbnV0ZXM6IC00NSB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDE1IH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBub3JtYWxpemUoKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IHZhbHMgPSB0aGlzLnRvT2JqZWN0KCk7XG4gICAgbm9ybWFsaXplVmFsdWVzKHRoaXMubWF0cml4LCB2YWxzKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgeyB2YWx1ZXM6IHZhbHMgfSwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGlzIER1cmF0aW9uIGludG8gaXRzIHJlcHJlc2VudGF0aW9uIGluIGEgZGlmZmVyZW50IHNldCBvZiB1bml0cy5cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBzZWNvbmRzOiAzMCB9KS5zaGlmdFRvKCdtaW51dGVzJywgJ21pbGxpc2Vjb25kcycpLnRvT2JqZWN0KCkgLy89PiB7IG1pbnV0ZXM6IDYwLCBtaWxsaXNlY29uZHM6IDMwMDAwIH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBzaGlmdFRvKC4uLnVuaXRzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHVuaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdW5pdHMgPSB1bml0cy5tYXAoKHUpID0+IER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodSkpO1xuXG4gICAgY29uc3QgYnVpbHQgPSB7fSxcbiAgICAgIGFjY3VtdWxhdGVkID0ge30sXG4gICAgICB2YWxzID0gdGhpcy50b09iamVjdCgpO1xuICAgIGxldCBsYXN0VW5pdDtcblxuICAgIGZvciAoY29uc3QgayBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmICh1bml0cy5pbmRleE9mKGspID49IDApIHtcbiAgICAgICAgbGFzdFVuaXQgPSBrO1xuXG4gICAgICAgIGxldCBvd24gPSAwO1xuXG4gICAgICAgIC8vIGFueXRoaW5nIHdlIGhhdmVuJ3QgYm9pbGVkIGRvd24geWV0IHNob3VsZCBnZXQgYm9pbGVkIHRvIHRoaXMgdW5pdFxuICAgICAgICBmb3IgKGNvbnN0IGFrIGluIGFjY3VtdWxhdGVkKSB7XG4gICAgICAgICAgb3duICs9IHRoaXMubWF0cml4W2FrXVtrXSAqIGFjY3VtdWxhdGVkW2FrXTtcbiAgICAgICAgICBhY2N1bXVsYXRlZFtha10gPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGx1cyBhbnl0aGluZyB0aGF0J3MgYWxyZWFkeSBpbiB0aGlzIHVuaXRcbiAgICAgICAgaWYgKGlzTnVtYmVyKHZhbHNba10pKSB7XG4gICAgICAgICAgb3duICs9IHZhbHNba107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpID0gTWF0aC50cnVuYyhvd24pO1xuICAgICAgICBidWlsdFtrXSA9IGk7XG4gICAgICAgIGFjY3VtdWxhdGVkW2tdID0gKG93biAqIDEwMDAgLSBpICogMTAwMCkgLyAxMDAwO1xuXG4gICAgICAgIC8vIHBsdXMgYW55dGhpbmcgZnVydGhlciBkb3duIHRoZSBjaGFpbiB0aGF0IHNob3VsZCBiZSByb2xsZWQgdXAgaW4gdG8gdGhpc1xuICAgICAgICBmb3IgKGNvbnN0IGRvd24gaW4gdmFscykge1xuICAgICAgICAgIGlmIChvcmRlcmVkVW5pdHMuaW5kZXhPZihkb3duKSA+IG9yZGVyZWRVbml0cy5pbmRleE9mKGspKSB7XG4gICAgICAgICAgICBjb252ZXJ0KHRoaXMubWF0cml4LCB2YWxzLCBkb3duLCBidWlsdCwgayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIG90aGVyd2lzZSwga2VlcCBpdCBpbiB0aGUgd2luZ3MgdG8gYm9pbCBpdCBsYXRlclxuICAgICAgfSBlbHNlIGlmIChpc051bWJlcih2YWxzW2tdKSkge1xuICAgICAgICBhY2N1bXVsYXRlZFtrXSA9IHZhbHNba107XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYW55dGhpbmcgbGVmdG92ZXIgYmVjb21lcyB0aGUgZGVjaW1hbCBmb3IgdGhlIGxhc3QgdW5pdFxuICAgIC8vIGxhc3RVbml0IG11c3QgYmUgZGVmaW5lZCBzaW5jZSB1bml0cyBpcyBub3QgZW1wdHlcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBhY2N1bXVsYXRlZCkge1xuICAgICAgaWYgKGFjY3VtdWxhdGVkW2tleV0gIT09IDApIHtcbiAgICAgICAgYnVpbHRbbGFzdFVuaXRdICs9XG4gICAgICAgICAga2V5ID09PSBsYXN0VW5pdCA/IGFjY3VtdWxhdGVkW2tleV0gOiBhY2N1bXVsYXRlZFtrZXldIC8gdGhpcy5tYXRyaXhbbGFzdFVuaXRdW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsb25lKHRoaXMsIHsgdmFsdWVzOiBidWlsdCB9LCB0cnVlKS5ub3JtYWxpemUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5lZ2F0aXZlIG9mIHRoaXMgRHVyYXRpb24uXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgc2Vjb25kczogMzAgfSkubmVnYXRlKCkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IC0xLCBzZWNvbmRzOiAtMzAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIG5lZ2F0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgbmVnYXRlZCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHtcbiAgICAgIG5lZ2F0ZWRba10gPSB0aGlzLnZhbHVlc1trXSA9PT0gMCA/IDAgOiAtdGhpcy52YWx1ZXNba107XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogbmVnYXRlZCB9LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXJzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHllYXJzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy55ZWFycyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcXVhcnRlcnMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgcXVhcnRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLnF1YXJ0ZXJzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aHMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbW9udGhzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5tb250aHMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHdlZWtzXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLndlZWtzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXlzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLmRheXMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGhvdXJzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGhvdXJzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5ob3VycyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWludXRlcy5cbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIGdldCBtaW51dGVzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5taW51dGVzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBzZWNvbmRzLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgc2Vjb25kcygpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMuc2Vjb25kcyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWlsbGlzZWNvbmRzLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbWlsbGlzZWNvbmRzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5taWxsaXNlY29uZHMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIER1cmF0aW9uIGlzIGludmFsaWQuIEludmFsaWQgZHVyYXRpb25zIGFyZSByZXR1cm5lZCBieSBkaWZmIG9wZXJhdGlvbnNcbiAgICogb24gaW52YWxpZCBEYXRlVGltZXMgb3IgSW50ZXJ2YWxzLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA9PT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGVycm9yIGNvZGUgaWYgdGhpcyBEdXJhdGlvbiBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRHVyYXRpb24gaXMgdmFsaWRcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRSZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgRHVyYXRpb24gYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIER1cmF0aW9uIGlzIHZhbGlkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgaW52YWxpZEV4cGxhbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEVxdWFsaXR5IGNoZWNrXG4gICAqIFR3byBEdXJhdGlvbnMgYXJlIGVxdWFsIGlmZiB0aGV5IGhhdmUgdGhlIHNhbWUgdW5pdHMgYW5kIHRoZSBzYW1lIHZhbHVlcyBmb3IgZWFjaCB1bml0LlxuICAgKiBAcGFyYW0ge0R1cmF0aW9ufSBvdGhlclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZXF1YWxzKG90aGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQgfHwgIW90aGVyLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubG9jLmVxdWFscyhvdGhlci5sb2MpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXEodjEsIHYyKSB7XG4gICAgICAvLyBDb25zaWRlciAwIGFuZCB1bmRlZmluZWQgYXMgZXF1YWxcbiAgICAgIGlmICh2MSA9PT0gdW5kZWZpbmVkIHx8IHYxID09PSAwKSByZXR1cm4gdjIgPT09IHVuZGVmaW5lZCB8fCB2MiA9PT0gMDtcbiAgICAgIHJldHVybiB2MSA9PT0gdjI7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB1IG9mIG9yZGVyZWRVbml0cykge1xuICAgICAgaWYgKCFlcSh0aGlzLnZhbHVlc1t1XSwgb3RoZXIudmFsdWVzW3VdKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCAiaW1wb3J0IERhdGVUaW1lLCB7IGZyaWVuZGx5RGF0ZVRpbWUgfSBmcm9tIFwiLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IER1cmF0aW9uIGZyb20gXCIuL2R1cmF0aW9uLmpzXCI7XG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3MuanNcIjtcbmltcG9ydCB7IEludmFsaWRBcmd1bWVudEVycm9yLCBJbnZhbGlkSW50ZXJ2YWxFcnJvciB9IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IEludmFsaWQgZnJvbSBcIi4vaW1wbC9pbnZhbGlkLmpzXCI7XG5cbmNvbnN0IElOVkFMSUQgPSBcIkludmFsaWQgSW50ZXJ2YWxcIjtcblxuLy8gY2hlY2tzIGlmIHRoZSBzdGFydCBpcyBlcXVhbCB0byBvciBiZWZvcmUgdGhlIGVuZFxuZnVuY3Rpb24gdmFsaWRhdGVTdGFydEVuZChzdGFydCwgZW5kKSB7XG4gIGlmICghc3RhcnQgfHwgIXN0YXJ0LmlzVmFsaWQpIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZChcIm1pc3Npbmcgb3IgaW52YWxpZCBzdGFydFwiKTtcbiAgfSBlbHNlIGlmICghZW5kIHx8ICFlbmQuaXNWYWxpZCkge1xuICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKFwibWlzc2luZyBvciBpbnZhbGlkIGVuZFwiKTtcbiAgfSBlbHNlIGlmIChlbmQgPCBzdGFydCkge1xuICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKFxuICAgICAgXCJlbmQgYmVmb3JlIHN0YXJ0XCIsXG4gICAgICBgVGhlIGVuZCBvZiBhbiBpbnRlcnZhbCBtdXN0IGJlIGFmdGVyIGl0cyBzdGFydCwgYnV0IHlvdSBoYWQgc3RhcnQ9JHtzdGFydC50b0lTTygpfSBhbmQgZW5kPSR7ZW5kLnRvSVNPKCl9YFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBJbnRlcnZhbCBvYmplY3QgcmVwcmVzZW50cyBhIGhhbGYtb3BlbiBpbnRlcnZhbCBvZiB0aW1lLCB3aGVyZSBlYWNoIGVuZHBvaW50IGlzIGEge0BsaW5rIERhdGVUaW1lfS4gQ29uY2VwdHVhbGx5LCBpdCdzIGEgY29udGFpbmVyIGZvciB0aG9zZSB0d28gZW5kcG9pbnRzLCBhY2NvbXBhbmllZCBieSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgY29tcGFyaW5nLCB0cmFuc2Zvcm1pbmcsIGFuZCBmb3JtYXR0aW5nIHRoZW0uXG4gKlxuICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgbWV0aG9kcyBhbmQgZ2V0dGVycyBpbiBJbnRlcnZhbDpcbiAqXG4gKiAqICoqQ3JlYXRpb24qKiBUbyBjcmVhdGUgYW4gSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjZnJvbURhdGVUaW1lc30sIHtAbGluayBJbnRlcnZhbCNhZnRlcn0sIHtAbGluayBJbnRlcnZhbCNiZWZvcmV9LCBvciB7QGxpbmsgSW50ZXJ2YWwjZnJvbUlTT30uXG4gKiAqICoqQWNjZXNzb3JzKiogVXNlIHtAbGluayBJbnRlcnZhbCNzdGFydH0gYW5kIHtAbGluayBJbnRlcnZhbCNlbmR9IHRvIGdldCB0aGUgc3RhcnQgYW5kIGVuZC5cbiAqICogKipJbnRlcnJvZ2F0aW9uKiogVG8gYW5hbHl6ZSB0aGUgSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjY291bnR9LCB7QGxpbmsgSW50ZXJ2YWwjbGVuZ3RofSwge0BsaW5rIEludGVydmFsI2hhc1NhbWV9LCB7QGxpbmsgSW50ZXJ2YWwjY29udGFpbnN9LCB7QGxpbmsgSW50ZXJ2YWwjaXNBZnRlcn0sIG9yIHtAbGluayBJbnRlcnZhbCNpc0JlZm9yZX0uXG4gKiAqICoqVHJhbnNmb3JtYXRpb24qKiBUbyBjcmVhdGUgb3RoZXIgSW50ZXJ2YWxzIG91dCBvZiB0aGlzIG9uZSwgdXNlIHtAbGluayBJbnRlcnZhbCNzZXR9LCB7QGxpbmsgSW50ZXJ2YWwjc3BsaXRBdH0sIHtAbGluayBJbnRlcnZhbCNzcGxpdEJ5fSwge0BsaW5rIEludGVydmFsI2RpdmlkZUVxdWFsbHl9LCB7QGxpbmsgSW50ZXJ2YWwjbWVyZ2V9LCB7QGxpbmsgSW50ZXJ2YWwjeG9yfSwge0BsaW5rIEludGVydmFsI3VuaW9ufSwge0BsaW5rIEludGVydmFsI2ludGVyc2VjdGlvbn0sIG9yIHtAbGluayBJbnRlcnZhbCNkaWZmZXJlbmNlfS5cbiAqICogKipDb21wYXJpc29uKiogVG8gY29tcGFyZSB0aGlzIEludGVydmFsIHRvIGFub3RoZXIgb25lLCB1c2Uge0BsaW5rIEludGVydmFsI2VxdWFsc30sIHtAbGluayBJbnRlcnZhbCNvdmVybGFwc30sIHtAbGluayBJbnRlcnZhbCNhYnV0c1N0YXJ0fSwge0BsaW5rIEludGVydmFsI2FidXRzRW5kfSwge0BsaW5rIEludGVydmFsI2VuZ3VsZnN9XG4gKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgSW50ZXJ2YWwgaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgSW50ZXJ2YWwjdG9TdHJpbmd9LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU099LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU09EYXRlfSwge0BsaW5rIEludGVydmFsI3RvSVNPVGltZX0sIHtAbGluayBJbnRlcnZhbCN0b0Zvcm1hdH0sIGFuZCB7QGxpbmsgSW50ZXJ2YWwjdG9EdXJhdGlvbn0uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVydmFsIHtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnMgPSBjb25maWcuc3RhcnQ7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5lID0gY29uZmlnLmVuZDtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuaXNMdXhvbkludGVydmFsID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW52YWxpZCBJbnRlcnZhbC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIHNpbXBsZSBzdHJpbmcgb2Ygd2h5IHRoaXMgSW50ZXJ2YWwgaXMgaW52YWxpZC4gU2hvdWxkIG5vdCBjb250YWluIHBhcmFtZXRlcnMgb3IgYW55dGhpbmcgZWxzZSBkYXRhLWRlcGVuZGVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBJbnRlcnZhbCBpcyBpbnZhbGlkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7XG5cbiAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkSW50ZXJ2YWxFcnJvcihpbnZhbGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBJbnRlcnZhbCh7IGludmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGEgc3RhcnQgRGF0ZVRpbWUgYW5kIGFuIGVuZCBEYXRlVGltZS4gSW5jbHVzaXZlIG9mIHRoZSBzdGFydCBidXQgbm90IHRoZSBlbmQuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IGVuZFxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRGF0ZVRpbWVzKHN0YXJ0LCBlbmQpIHtcbiAgICBjb25zdCBidWlsdFN0YXJ0ID0gZnJpZW5kbHlEYXRlVGltZShzdGFydCksXG4gICAgICBidWlsdEVuZCA9IGZyaWVuZGx5RGF0ZVRpbWUoZW5kKTtcblxuICAgIGNvbnN0IHZhbGlkYXRlRXJyb3IgPSB2YWxpZGF0ZVN0YXJ0RW5kKGJ1aWx0U3RhcnQsIGJ1aWx0RW5kKTtcblxuICAgIGlmICh2YWxpZGF0ZUVycm9yID09IG51bGwpIHtcbiAgICAgIHJldHVybiBuZXcgSW50ZXJ2YWwoe1xuICAgICAgICBzdGFydDogYnVpbHRTdGFydCxcbiAgICAgICAgZW5kOiBidWlsdEVuZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEludGVydmFsIGZyb20gYSBzdGFydCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgdG8uXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0XG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSB0aGUgbGVuZ3RoIG9mIHRoZSBJbnRlcnZhbC5cbiAgICogQHJldHVybiB7SW50ZXJ2YWx9XG4gICAqL1xuICBzdGF0aWMgYWZ0ZXIoc3RhcnQsIGR1cmF0aW9uKSB7XG4gICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksXG4gICAgICBkdCA9IGZyaWVuZGx5RGF0ZVRpbWUoc3RhcnQpO1xuICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0LCBkdC5wbHVzKGR1cikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIGVuZCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgYmFja3dhcmRzIHRvLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfERhdGV8T2JqZWN0fSBlbmRcbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIHRoZSBsZW5ndGggb2YgdGhlIEludGVydmFsLlxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIHN0YXRpYyBiZWZvcmUoZW5kLCBkdXJhdGlvbikge1xuICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLFxuICAgICAgZHQgPSBmcmllbmRseURhdGVUaW1lKGVuZCk7XG4gICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQubWludXMoZHVyKSwgZHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIElTTyA4NjAxIHN0cmluZy5cbiAgICogQWNjZXB0cyBgPHN0YXJ0Pi88ZW5kPmAsIGA8c3RhcnQ+LzxkdXJhdGlvbj5gLCBhbmQgYDxkdXJhdGlvbj4vPGVuZD5gIGZvcm1hdHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIElTTyBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIG9wdGlvbnMgdG8gcGFzcyB7QGxpbmsgRGF0ZVRpbWUjZnJvbUlTT30gYW5kIG9wdGlvbmFsbHkge0BsaW5rIER1cmF0aW9uI2Zyb21JU099XG4gICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZV9pbnRlcnZhbHNcbiAgICogQHJldHVybiB7SW50ZXJ2YWx9XG4gICAqL1xuICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzKSB7XG4gICAgY29uc3QgW3MsIGVdID0gKHRleHQgfHwgXCJcIikuc3BsaXQoXCIvXCIsIDIpO1xuICAgIGlmIChzICYmIGUpIHtcbiAgICAgIGxldCBzdGFydCwgc3RhcnRJc1ZhbGlkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc3RhcnQgPSBEYXRlVGltZS5mcm9tSVNPKHMsIG9wdHMpO1xuICAgICAgICBzdGFydElzVmFsaWQgPSBzdGFydC5pc1ZhbGlkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzdGFydElzVmFsaWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgbGV0IGVuZCwgZW5kSXNWYWxpZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGVuZCA9IERhdGVUaW1lLmZyb21JU08oZSwgb3B0cyk7XG4gICAgICAgIGVuZElzVmFsaWQgPSBlbmQuaXNWYWxpZDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZW5kSXNWYWxpZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RhcnRJc1ZhbGlkICYmIGVuZElzVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQsIGVuZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGFydElzVmFsaWQpIHtcbiAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhlLCBvcHRzKTtcbiAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIEludGVydmFsLmFmdGVyKHN0YXJ0LCBkdXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGVuZElzVmFsaWQpIHtcbiAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhzLCBvcHRzKTtcbiAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIEludGVydmFsLmJlZm9yZShlbmQsIGR1cik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEludGVydmFsLmludmFsaWQoXCJ1bnBhcnNhYmxlXCIsIGB0aGUgaW5wdXQgXCIke3RleHR9XCIgY2FuJ3QgYmUgcGFyc2VkIGFzIElTTyA4NjAxYCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4gb2JqZWN0IGlzIGFuIEludGVydmFsLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNJbnRlcnZhbChvKSB7XG4gICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkludGVydmFsKSB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdGFydCBvZiB0aGUgSW50ZXJ2YWxcbiAgICogQHR5cGUge0RhdGVUaW1lfVxuICAgKi9cbiAgZ2V0IHN0YXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnMgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVuZCBvZiB0aGUgSW50ZXJ2YWxcbiAgICogQHR5cGUge0RhdGVUaW1lfVxuICAgKi9cbiAgZ2V0IGVuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5lIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhdCBsZWFzdCBpdHMgc3RhcnQsIG1lYW5pbmcgdGhhdCB0aGUgSW50ZXJ2YWwgaXNuJ3QgJ2JhY2t3YXJkcycuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZFJlYXNvbiA9PT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGVycm9yIGNvZGUgaWYgdGhpcyBJbnRlcnZhbCBpcyBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBJbnRlcnZhbCBpcyB2YWxpZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRSZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgSW50ZXJ2YWwgYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIEludGVydmFsIGlzIHZhbGlkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgaW52YWxpZEV4cGxhbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgSW50ZXJ2YWwgaW4gdGhlIHNwZWNpZmllZCB1bml0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byByZXR1cm4gdGhlIGxlbmd0aCBpbi5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgbGVuZ3RoKHVuaXQgPSBcIm1pbGxpc2Vjb25kc1wiKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudG9EdXJhdGlvbiguLi5bdW5pdF0pLmdldCh1bml0KSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3VudCBvZiBtaW51dGVzLCBob3VycywgZGF5cywgbW9udGhzLCBvciB5ZWFycyBpbmNsdWRlZCBpbiB0aGUgSW50ZXJ2YWwsIGV2ZW4gaW4gcGFydC5cbiAgICogVW5saWtlIHtAbGluayBJbnRlcnZhbCNsZW5ndGh9IHRoaXMgY291bnRzIHNlY3Rpb25zIG9mIHRoZSBjYWxlbmRhciwgbm90IHBlcmlvZHMgb2YgdGltZSwgZS5nLiBzcGVjaWZ5aW5nICdkYXknXG4gICAqIGFza3MgJ3doYXQgZGF0ZXMgYXJlIGluY2x1ZGVkIGluIHRoaXMgaW50ZXJ2YWw/Jywgbm90ICdob3cgbWFueSBkYXlzIGxvbmcgaXMgdGhpcyBpbnRlcnZhbD8nXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbdW5pdD0nbWlsbGlzZWNvbmRzJ10gLSB0aGUgdW5pdCBvZiB0aW1lIHRvIGNvdW50LlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBjb3VudCh1bml0ID0gXCJtaWxsaXNlY29uZHNcIikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gTmFOO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5zdGFydE9mKHVuaXQpLFxuICAgICAgZW5kID0gdGhpcy5lbmQuc3RhcnRPZih1bml0KTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihlbmQuZGlmZihzdGFydCwgdW5pdCkuZ2V0KHVuaXQpKSArIDE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBhbmQgZW5kIGFyZSBib3RoIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb25cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGhhc1NhbWUodW5pdCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmlzRW1wdHkoKSB8fCB0aGlzLmUubWludXMoMSkuaGFzU2FtZSh0aGlzLnMsIHVuaXQpIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBoYXMgdGhlIHNhbWUgc3RhcnQgYW5kIGVuZCBEYXRlVGltZXMuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0VtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLnMudmFsdWVPZigpID09PSB0aGlzLmUudmFsdWVPZigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBpcyBhZnRlciB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBkYXRlVGltZVxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNBZnRlcihkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA+IGRhdGVUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBlbmQgaXMgYmVmb3JlIHRoZSBzcGVjaWZpZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0JlZm9yZShkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMuZSA8PSBkYXRlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsIGNvbnRhaW5zIHRoZSBzcGVjaWZpZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBjb250YWlucyhkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA8PSBkYXRlVGltZSAmJiB0aGlzLmUgPiBkYXRlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldHNcIiB0aGUgc3RhcnQgYW5kL29yIGVuZCBkYXRlcy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIEludGVydmFsLlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gdGhlIHZhbHVlcyB0byBzZXRcbiAgICogQHBhcmFtIHtEYXRlVGltZX0gdmFsdWVzLnN0YXJ0IC0gdGhlIHN0YXJ0aW5nIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IHZhbHVlcy5lbmQgLSB0aGUgZW5kaW5nIERhdGVUaW1lXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgc2V0KHsgc3RhcnQsIGVuZCB9ID0ge30pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQgfHwgdGhpcy5zLCBlbmQgfHwgdGhpcy5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdCB0aGlzIEludGVydmFsIGF0IGVhY2ggb2YgdGhlIHNwZWNpZmllZCBEYXRlVGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC5cbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBzcGxpdEF0KC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gW107XG4gICAgY29uc3Qgc29ydGVkID0gZGF0ZVRpbWVzXG4gICAgICAgIC5tYXAoZnJpZW5kbHlEYXRlVGltZSlcbiAgICAgICAgLmZpbHRlcigoZCkgPT4gdGhpcy5jb250YWlucyhkKSlcbiAgICAgICAgLnNvcnQoKSxcbiAgICAgIHJlc3VsdHMgPSBbXTtcbiAgICBsZXQgeyBzIH0gPSB0aGlzLFxuICAgICAgaSA9IDA7XG5cbiAgICB3aGlsZSAocyA8IHRoaXMuZSkge1xuICAgICAgY29uc3QgYWRkZWQgPSBzb3J0ZWRbaV0gfHwgdGhpcy5lLFxuICAgICAgICBuZXh0ID0gK2FkZGVkID4gK3RoaXMuZSA/IHRoaXMuZSA6IGFkZGVkO1xuICAgICAgcmVzdWx0cy5wdXNoKEludGVydmFsLmZyb21EYXRlVGltZXMocywgbmV4dCkpO1xuICAgICAgcyA9IG5leHQ7XG4gICAgICBpICs9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHNtYWxsZXIgSW50ZXJ2YWxzLCBlYWNoIG9mIHRoZSBzcGVjaWZpZWQgbGVuZ3RoLlxuICAgKiBMZWZ0IG92ZXIgdGltZSBpcyBncm91cGVkIGludG8gYSBzbWFsbGVyIGludGVydmFsXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgbGVuZ3RoIG9mIGVhY2ggcmVzdWx0aW5nIGludGVydmFsLlxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHNwbGl0QnkoZHVyYXRpb24pIHtcbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcblxuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFkdXIuaXNWYWxpZCB8fCBkdXIuYXMoXCJtaWxsaXNlY29uZHNcIikgPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBsZXQgeyBzIH0gPSB0aGlzLFxuICAgICAgaWR4ID0gMSxcbiAgICAgIG5leHQ7XG5cbiAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgd2hpbGUgKHMgPCB0aGlzLmUpIHtcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdGFydC5wbHVzKGR1ci5tYXBVbml0cygoeCkgPT4geCAqIGlkeCkpO1xuICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDtcbiAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIG5leHQpKTtcbiAgICAgIHMgPSBuZXh0O1xuICAgICAgaWR4ICs9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNtYWxsZXIgaW50ZXJ2YWxzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyT2ZQYXJ0cyAtIFRoZSBudW1iZXIgb2YgSW50ZXJ2YWxzIHRvIGRpdmlkZSB0aGUgSW50ZXJ2YWwgaW50by5cbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBkaXZpZGVFcXVhbGx5KG51bWJlck9mUGFydHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLnNwbGl0QnkodGhpcy5sZW5ndGgoKSAvIG51bWJlck9mUGFydHMpLnNsaWNlKDAsIG51bWJlck9mUGFydHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgb3ZlcmxhcHMgd2l0aCB0aGUgc3BlY2lmaWVkIEludGVydmFsXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBvdmVybGFwcyhvdGhlcikge1xuICAgIHJldHVybiB0aGlzLmUgPiBvdGhlci5zICYmIHRoaXMucyA8IG90aGVyLmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhZGphY2VudCB0byB0aGUgc3BlY2lmaWVkIEludGVydmFsJ3Mgc3RhcnQuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBhYnV0c1N0YXJ0KG90aGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gK3RoaXMuZSA9PT0gK290aGVyLnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIHN0YXJ0IGlzIGFkamFjZW50IHRvIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwncyBlbmQuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBhYnV0c0VuZChvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICtvdGhlci5lID09PSArdGhpcy5zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgZW5ndWxmcyB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFsLlxuICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZW5ndWxmcyhvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA8PSBvdGhlci5zICYmIHRoaXMuZSA+PSBvdGhlci5lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgaGFzIHRoZSBzYW1lIHN0YXJ0IGFuZCBlbmQgYXMgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC5cbiAgICogQHBhcmFtIHtJbnRlcnZhbH0gb3RoZXJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGVxdWFscyhvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlci5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucy5lcXVhbHMob3RoZXIucykgJiYgdGhpcy5lLmVxdWFscyhvdGhlci5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhpcyBJbnRlcnZhbCBhbmQgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC5cbiAgICogU3BlY2lmaWNhbGx5LCB0aGUgcmVzdWx0aW5nIEludGVydmFsIGhhcyB0aGUgbWF4aW11bSBzdGFydCB0aW1lIGFuZCB0aGUgbWluaW11bSBlbmQgdGltZSBvZiB0aGUgdHdvIEludGVydmFscy5cbiAgICogUmV0dXJucyBudWxsIGlmIHRoZSBpbnRlcnNlY3Rpb24gaXMgZW1wdHksIG1lYW5pbmcsIHRoZSBpbnRlcnZhbHMgZG9uJ3QgaW50ZXJzZWN0LlxuICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlclxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIGludGVyc2VjdGlvbihvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBzID0gdGhpcy5zID4gb3RoZXIucyA/IHRoaXMucyA6IG90aGVyLnMsXG4gICAgICBlID0gdGhpcy5lIDwgb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7XG5cbiAgICBpZiAocyA+PSBlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMocywgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIHVuaW9uIG9mIHRoaXMgSW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwuXG4gICAqIFNwZWNpZmljYWxseSwgdGhlIHJlc3VsdGluZyBJbnRlcnZhbCBoYXMgdGhlIG1pbmltdW0gc3RhcnQgdGltZSBhbmQgdGhlIG1heGltdW0gZW5kIHRpbWUgb2YgdGhlIHR3byBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgdW5pb24ob3RoZXIpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgcyA9IHRoaXMucyA8IG90aGVyLnMgPyB0aGlzLnMgOiBvdGhlci5zLFxuICAgICAgZSA9IHRoaXMuZSA+IG90aGVyLmUgPyB0aGlzLmUgOiBvdGhlci5lO1xuICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIGFuIGFycmF5IG9mIEludGVydmFscyBpbnRvIGEgZXF1aXZhbGVudCBtaW5pbWFsIHNldCBvZiBJbnRlcnZhbHMuXG4gICAqIENvbWJpbmVzIG92ZXJsYXBwaW5nIGFuZCBhZGphY2VudCBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGludGVydmFsc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtZXJnZShpbnRlcnZhbHMpIHtcbiAgICBjb25zdCBbZm91bmQsIGZpbmFsXSA9IGludGVydmFsc1xuICAgICAgLnNvcnQoKGEsIGIpID0+IGEucyAtIGIucylcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChbc29mYXIsIGN1cnJlbnRdLCBpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBpdGVtXTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnQub3ZlcmxhcHMoaXRlbSkgfHwgY3VycmVudC5hYnV0c1N0YXJ0KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBjdXJyZW50LnVuaW9uKGl0ZW0pXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFtzb2Zhci5jb25jYXQoW2N1cnJlbnRdKSwgaXRlbV07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbW10sIG51bGxdXG4gICAgICApO1xuICAgIGlmIChmaW5hbCkge1xuICAgICAgZm91bmQucHVzaChmaW5hbCk7XG4gICAgfVxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIHJlcHJlc2VudGluZyB0aGUgc3BhbnMgb2YgdGltZSB0aGF0IG9ubHkgYXBwZWFyIGluIG9uZSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy5cbiAgICogQHBhcmFtIHtBcnJheX0gaW50ZXJ2YWxzXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHhvcihpbnRlcnZhbHMpIHtcbiAgICBsZXQgc3RhcnQgPSBudWxsLFxuICAgICAgY3VycmVudENvdW50ID0gMDtcbiAgICBjb25zdCByZXN1bHRzID0gW10sXG4gICAgICBlbmRzID0gaW50ZXJ2YWxzLm1hcCgoaSkgPT4gW1xuICAgICAgICB7IHRpbWU6IGkucywgdHlwZTogXCJzXCIgfSxcbiAgICAgICAgeyB0aW1lOiBpLmUsIHR5cGU6IFwiZVwiIH0sXG4gICAgICBdKSxcbiAgICAgIGZsYXR0ZW5lZCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4uZW5kcyksXG4gICAgICBhcnIgPSBmbGF0dGVuZWQuc29ydCgoYSwgYikgPT4gYS50aW1lIC0gYi50aW1lKTtcblxuICAgIGZvciAoY29uc3QgaSBvZiBhcnIpIHtcbiAgICAgIGN1cnJlbnRDb3VudCArPSBpLnR5cGUgPT09IFwic1wiID8gMSA6IC0xO1xuXG4gICAgICBpZiAoY3VycmVudENvdW50ID09PSAxKSB7XG4gICAgICAgIHN0YXJ0ID0gaS50aW1lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHN0YXJ0ICYmICtzdGFydCAhPT0gK2kudGltZSkge1xuICAgICAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0LCBpLnRpbWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXJ0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gSW50ZXJ2YWwubWVyZ2UocmVzdWx0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIEludGVydmFsIHJlcHJlc2VudGluZyB0aGUgc3BhbiBvZiB0aW1lIGluIHRoaXMgSW50ZXJ2YWwgdGhhdCBkb2Vzbid0IG92ZXJsYXAgd2l0aCBhbnkgb2YgdGhlIHNwZWNpZmllZCBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7Li4uSW50ZXJ2YWx9IGludGVydmFsc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIGRpZmZlcmVuY2UoLi4uaW50ZXJ2YWxzKSB7XG4gICAgcmV0dXJuIEludGVydmFsLnhvcihbdGhpc10uY29uY2F0KGludGVydmFscykpXG4gICAgICAubWFwKChpKSA9PiB0aGlzLmludGVyc2VjdGlvbihpKSlcbiAgICAgIC5maWx0ZXIoKGkpID0+IGkgJiYgIWkuaXNFbXB0eSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSW50ZXJ2YWwgYXBwcm9wcmlhdGUgZm9yIGRlYnVnZ2luZy5cbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TdHJpbmcoKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgWyR7dGhpcy5zLnRvSVNPKCl9IFx1MjAxMyAke3RoaXMuZS50b0lTTygpfSlgO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gVGhlIHNhbWUgb3B0aW9ucyBhcyB7QGxpbmsgRGF0ZVRpbWUjdG9JU099XG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKG9wdHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQ7XG4gICAgcmV0dXJuIGAke3RoaXMucy50b0lTTyhvcHRzKX0vJHt0aGlzLmUudG9JU08ob3B0cyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgZGF0ZSBvZiB0aGlzIEludGVydmFsLlxuICAgKiBUaGUgdGltZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPRGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQ7XG4gICAgcmV0dXJuIGAke3RoaXMucy50b0lTT0RhdGUoKX0vJHt0aGlzLmUudG9JU09EYXRlKCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGltZSBvZiB0aGlzIEludGVydmFsLlxuICAgKiBUaGUgZGF0ZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gVGhlIHNhbWUgb3B0aW9ucyBhcyB7QGxpbmsgRGF0ZVRpbWUjdG9JU099XG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPVGltZShvcHRzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgJHt0aGlzLnMudG9JU09UaW1lKG9wdHMpfS8ke3RoaXMuZS50b0lTT1RpbWUob3B0cyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSW50ZXJ2YWwgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIGZvcm1hdCBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRlRm9ybWF0IC0gdGhlIGZvcm1hdCBzdHJpbmcuIFRoaXMgc3RyaW5nIGZvcm1hdHMgdGhlIHN0YXJ0IGFuZCBlbmQgdGltZS4gU2VlIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0gZm9yIGRldGFpbHMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuc2VwYXJhdG9yID0gICcgXHUyMDEzICddIC0gYSBzZXBhcmF0b3IgdG8gcGxhY2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCByZXByZXNlbnRhdGlvbnNcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9Gb3JtYXQoZGF0ZUZvcm1hdCwgeyBzZXBhcmF0b3IgPSBcIiBcdTIwMTMgXCIgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgJHt0aGlzLnMudG9Gb3JtYXQoZGF0ZUZvcm1hdCl9JHtzZXBhcmF0b3J9JHt0aGlzLmUudG9Gb3JtYXQoZGF0ZUZvcm1hdCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIHRpbWUgc3Bhbm5lZCBieSB0aGlzIGludGVydmFsLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gW3VuaXQ9WydtaWxsaXNlY29uZHMnXV0gLSB0aGUgdW5pdCBvciB1bml0cyAoc3VjaCBhcyAnaG91cnMnIG9yICdkYXlzJykgdG8gaW5jbHVkZSBpbiB0aGUgZHVyYXRpb24uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKCkudG9PYmplY3QoKSAvLz0+IHsgbWlsbGlzZWNvbmRzOiA4ODQ4OTI1NyB9XG4gICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oJ2RheXMnKS50b09iamVjdCgpIC8vPT4geyBkYXlzOiAxLjAyNDE4MTIxNTI3Nzc3NzggfVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKFsnaG91cnMnLCAnbWludXRlcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LjgyMDk1IH1cbiAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbihbJ2hvdXJzJywgJ21pbnV0ZXMnLCAnc2Vjb25kcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LCBzZWNvbmRzOiA0OS4yNTcgfVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKCdzZWNvbmRzJykudG9PYmplY3QoKSAvLz0+IHsgc2Vjb25kczogODg0ODkuMjU3IH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICB0b0R1cmF0aW9uKHVuaXQsIG9wdHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQodGhpcy5pbnZhbGlkUmVhc29uKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZS5kaWZmKHRoaXMucywgdW5pdCwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUnVuIG1hcEZuIG9uIHRoZSBpbnRlcnZhbCBzdGFydCBhbmQgZW5kLCByZXR1cm5pbmcgYSBuZXcgSW50ZXJ2YWwgZnJvbSB0aGUgcmVzdWx0aW5nIERhdGVUaW1lc1xuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBtYXBGblxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikubWFwRW5kcG9pbnRzKGVuZHBvaW50ID0+IGVuZHBvaW50LnRvVVRDKCkpXG4gICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLm1hcEVuZHBvaW50cyhlbmRwb2ludCA9PiBlbmRwb2ludC5wbHVzKHsgaG91cnM6IDIgfSkpXG4gICAqL1xuICBtYXBFbmRwb2ludHMobWFwRm4pIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhtYXBGbih0aGlzLnMpLCBtYXBGbih0aGlzLmUpKTtcbiAgfVxufVxuIiwgImltcG9ydCBEYXRlVGltZSBmcm9tIFwiLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzLmpzXCI7XG5pbXBvcnQgTG9jYWxlIGZyb20gXCIuL2ltcGwvbG9jYWxlLmpzXCI7XG5pbXBvcnQgSUFOQVpvbmUgZnJvbSBcIi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVpvbmUgfSBmcm9tIFwiLi9pbXBsL3pvbmVVdGlsLmpzXCI7XG5cbmltcG9ydCB7IGhhc1JlbGF0aXZlIH0gZnJvbSBcIi4vaW1wbC91dGlsLmpzXCI7XG5cbi8qKlxuICogVGhlIEluZm8gY2xhc3MgY29udGFpbnMgc3RhdGljIG1ldGhvZHMgZm9yIHJldHJpZXZpbmcgZ2VuZXJhbCB0aW1lIGFuZCBkYXRlIHJlbGF0ZWQgZGF0YS4gRm9yIGV4YW1wbGUsIGl0IGhhcyBtZXRob2RzIGZvciBmaW5kaW5nIG91dCBpZiBhIHRpbWUgem9uZSBoYXMgYSBEU1QsIGZvciBsaXN0aW5nIHRoZSBtb250aHMgaW4gYW55IHN1cHBvcnRlZCBsb2NhbGUsIGFuZCBmb3IgZGlzY292ZXJpbmcgd2hpY2ggb2YgTHV4b24gZmVhdHVyZXMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5mbyB7XG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgY29udGFpbnMgYSBEU1QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFt6b25lPSdsb2NhbCddIC0gWm9uZSB0byBjaGVjay4gRGVmYXVsdHMgdG8gdGhlIGVudmlyb25tZW50J3MgbG9jYWwgem9uZS5cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBoYXNEU1Qoem9uZSA9IFNldHRpbmdzLmRlZmF1bHRab25lKSB7XG4gICAgY29uc3QgcHJvdG8gPSBEYXRlVGltZS5ub3coKS5zZXRab25lKHpvbmUpLnNldCh7IG1vbnRoOiAxMiB9KTtcblxuICAgIHJldHVybiAhem9uZS5pc1VuaXZlcnNhbCAmJiBwcm90by5vZmZzZXQgIT09IHByb3RvLnNldCh7IG1vbnRoOiA2IH0pLm9mZnNldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgaXMgYSB2YWxpZCBJQU5BIHNwZWNpZmllci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvbmUgLSBab25lIHRvIGNoZWNrXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNWYWxpZElBTkFab25lKHpvbmUpIHtcbiAgICByZXR1cm4gSUFOQVpvbmUuaXNWYWxpZFpvbmUoem9uZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIGlucHV0IGludG8gYSB7QGxpbmsgWm9uZX0gaW5zdGFuY2UuXG4gICAqXG4gICAqICogSWYgYGlucHV0YCBpcyBhbHJlYWR5IGEgWm9uZSBpbnN0YW5jZSwgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxuICAgKiAqIElmIGBpbnB1dGAgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHZhbGlkIHRpbWUgem9uZSBuYW1lLCBhIFpvbmUgaW5zdGFuY2VcbiAgICogICB3aXRoIHRoYXQgbmFtZSBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIHRoYXQgZG9lc24ndCByZWZlciB0byBhIGtub3duIHRpbWUgem9uZSwgYSBab25lXG4gICAqICAgaW5zdGFuY2Ugd2l0aCB7QGxpbmsgWm9uZSNpc1ZhbGlkfSA9PSBmYWxzZSBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXQgaXMgYSBudW1iZXIsIGEgWm9uZSBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgZml4ZWQgb2Zmc2V0XG4gICAqICAgaW4gbWludXRlcyBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXRgIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYCwgdGhlIGRlZmF1bHQgem9uZSBpcyByZXR1cm5lZC5cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZXxudW1iZXJ9IFtpbnB1dF0gLSB0aGUgdmFsdWUgdG8gYmUgY29udmVydGVkXG4gICAqIEByZXR1cm4ge1pvbmV9XG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplWm9uZShpbnB1dCkge1xuICAgIHJldHVybiBub3JtYWxpemVab25lKGlucHV0LCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIHN0YW5kYWxvbmUgbW9udGggbmFtZXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibnVtZXJpY1wiLCBcIjItZGlnaXRcIiwgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXI9J2dyZWdvcnknXSAtIHRoZSBjYWxlbmRhclxuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygpWzBdIC8vPT4gJ0phbnVhcnknXG4gICAqIEBleGFtcGxlIEluZm8ubW9udGhzKCdzaG9ydCcpWzBdIC8vPT4gJ0phbidcbiAgICogQGV4YW1wbGUgSW5mby5tb250aHMoJ251bWVyaWMnKVswXSAvLz0+ICcxJ1xuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnLCB7IGxvY2FsZTogJ2ZyLUNBJyB9IClbMF0gLy89PiAnamFudi4nXG4gICAqIEBleGFtcGxlIEluZm8ubW9udGhzKCdudW1lcmljJywgeyBsb2NhbGU6ICdhcicgfSlbMF0gLy89PiAnXHUwNjYxJ1xuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbG9uZycsIHsgb3V0cHV0Q2FsZW5kYXI6ICdpc2xhbWljJyB9KVswXSAvLz0+ICdSYWJpXHUwMkJCIEknXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIG1vbnRocyhcbiAgICBsZW5ndGggPSBcImxvbmdcIixcbiAgICB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwsIG91dHB1dENhbGVuZGFyID0gXCJncmVnb3J5XCIgfSA9IHt9XG4gICkge1xuICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSkubW9udGhzKGxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGZvcm1hdCBtb250aCBuYW1lcy5cbiAgICogRm9ybWF0IG1vbnRocyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIG1vbnRocyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gdGhlIGRheSBvZiB0aGUgbW9udGguIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0XG4gICAqIGNoYW5nZXMgdGhlIHN0cmluZy5cbiAgICogU2VlIHtAbGluayBJbmZvI21vbnRoc31cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibnVtZXJpY1wiLCBcIjItZGlnaXRcIiwgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXI9J2dyZWdvcnknXSAtIHRoZSBjYWxlbmRhclxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtb250aHNGb3JtYXQoXG4gICAgbGVuZ3RoID0gXCJsb25nXCIsXG4gICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsLCBvdXRwdXRDYWxlbmRhciA9IFwiZ3JlZ29yeVwiIH0gPSB7fVxuICApIHtcbiAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcikpLm1vbnRocyhsZW5ndGgsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBhcnJheSBvZiBzdGFuZGFsb25lIHdlZWsgbmFtZXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIHdlZWtkYXkgcmVwcmVzZW50YXRpb24sIHN1Y2ggYXMgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIi5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5udW1iZXJpbmdTeXN0ZW09bnVsbF0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2VcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygpWzBdIC8vPT4gJ01vbmRheSdcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygnc2hvcnQnKVswXSAvLz0+ICdNb24nXG4gICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdmci1DQScgfSlbMF0gLy89PiAnbHVuLidcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygnc2hvcnQnLCB7IGxvY2FsZTogJ2FyJyB9KVswXSAvLz0+ICdcdTA2MjdcdTA2NDRcdTA2MjdcdTA2MkJcdTA2NDZcdTA2NEFcdTA2NDYnXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHdlZWtkYXlzKGxlbmd0aCA9IFwibG9uZ1wiLCB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwgfSA9IHt9KSB7XG4gICAgcmV0dXJuIChsb2NPYmogfHwgTG9jYWxlLmNyZWF0ZShsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgbnVsbCkpLndlZWtkYXlzKGxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGZvcm1hdCB3ZWVrIG5hbWVzLlxuICAgKiBGb3JtYXQgd2Vla2RheXMgZGlmZmVyIGZyb20gc3RhbmRhbG9uZSB3ZWVrZGF5cyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gbW9yZSBkYXRlIGluZm9ybWF0aW9uLiBJbiBzb21lIGxhbmd1YWdlcywgdGhhdFxuICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuXG4gICAqIFNlZSB7QGxpbmsgSW5mbyN3ZWVrZGF5c31cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibmFycm93XCIsIFwic2hvcnRcIiwgXCJsb25nXCIuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPW51bGxdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5udW1iZXJpbmdTeXN0ZW09bnVsbF0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2VcbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBzdGF0aWMgd2Vla2RheXNGb3JtYXQoXG4gICAgbGVuZ3RoID0gXCJsb25nXCIsXG4gICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fVxuICApIHtcbiAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBudWxsKSkud2Vla2RheXMobGVuZ3RoLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgbWVyaWRpZW1zLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQGV4YW1wbGUgSW5mby5tZXJpZGllbXMoKSAvLz0+IFsgJ0FNJywgJ1BNJyBdXG4gICAqIEBleGFtcGxlIEluZm8ubWVyaWRpZW1zKHsgbG9jYWxlOiAnbXknIH0pIC8vPT4gWyAnXHUxMDE0XHUxMDM2XHUxMDE0XHUxMDAwXHUxMDNBJywgJ1x1MTAwQVx1MTAxNFx1MTAzMScgXVxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtZXJpZGllbXMoeyBsb2NhbGUgPSBudWxsIH0gPSB7fSkge1xuICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSkubWVyaWRpZW1zKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGVyYXMsIHN1Y2ggYXMgWydCQycsICdBRCddLiBUaGUgbG9jYWxlIGNhbiBiZSBzcGVjaWZpZWQsIGJ1dCB0aGUgY2FsZW5kYXIgc3lzdGVtIGlzIGFsd2F5cyBHcmVnb3JpYW4uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdzaG9ydCddIC0gdGhlIGxlbmd0aCBvZiB0aGUgZXJhIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwic2hvcnRcIiBvciBcImxvbmdcIi5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBleGFtcGxlIEluZm8uZXJhcygpIC8vPT4gWyAnQkMnLCAnQUQnIF1cbiAgICogQGV4YW1wbGUgSW5mby5lcmFzKCdsb25nJykgLy89PiBbICdCZWZvcmUgQ2hyaXN0JywgJ0Fubm8gRG9taW5pJyBdXG4gICAqIEBleGFtcGxlIEluZm8uZXJhcygnbG9uZycsIHsgbG9jYWxlOiAnZnInIH0pIC8vPT4gWyAnYXZhbnQgSlx1MDBFOXN1cy1DaHJpc3QnLCAnYXByXHUwMEU4cyBKXHUwMEU5c3VzLUNocmlzdCcgXVxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBlcmFzKGxlbmd0aCA9IFwic2hvcnRcIiwgeyBsb2NhbGUgPSBudWxsIH0gPSB7fSkge1xuICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVsbCwgXCJncmVnb3J5XCIpLmVyYXMobGVuZ3RoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNldCBvZiBhdmFpbGFibGUgZmVhdHVyZXMgaW4gdGhpcyBlbnZpcm9ubWVudC5cbiAgICogU29tZSBmZWF0dXJlcyBvZiBMdXhvbiBhcmUgbm90IGF2YWlsYWJsZSBpbiBhbGwgZW52aXJvbm1lbnRzLiBGb3IgZXhhbXBsZSwgb24gb2xkZXIgYnJvd3NlcnMsIHJlbGF0aXZlIHRpbWUgZm9ybWF0dGluZyBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGZpZ3VyZSBvdXQgaWYgdGhhdCdzIHRoZSBjYXNlLlxuICAgKiBLZXlzOlxuICAgKiAqIGByZWxhdGl2ZWA6IHdoZXRoZXIgdGhpcyBlbnZpcm9ubWVudCBzdXBwb3J0cyByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmdcbiAgICogQGV4YW1wbGUgSW5mby5mZWF0dXJlcygpIC8vPT4geyByZWxhdGl2ZTogZmFsc2UgfVxuICAgKiBAcmV0dXJuIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHsgcmVsYXRpdmU6IGhhc1JlbGF0aXZlKCkgfTtcbiAgfVxufVxuIiwgImltcG9ydCBEdXJhdGlvbiBmcm9tIFwiLi4vZHVyYXRpb24uanNcIjtcblxuZnVuY3Rpb24gZGF5RGlmZihlYXJsaWVyLCBsYXRlcikge1xuICBjb25zdCB1dGNEYXlTdGFydCA9IChkdCkgPT4gZHQudG9VVEMoMCwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pLnN0YXJ0T2YoXCJkYXlcIikudmFsdWVPZigpLFxuICAgIG1zID0gdXRjRGF5U3RhcnQobGF0ZXIpIC0gdXRjRGF5U3RhcnQoZWFybGllcik7XG4gIHJldHVybiBNYXRoLmZsb29yKER1cmF0aW9uLmZyb21NaWxsaXMobXMpLmFzKFwiZGF5c1wiKSk7XG59XG5cbmZ1bmN0aW9uIGhpZ2hPcmRlckRpZmZzKGN1cnNvciwgbGF0ZXIsIHVuaXRzKSB7XG4gIGNvbnN0IGRpZmZlcnMgPSBbXG4gICAgW1wieWVhcnNcIiwgKGEsIGIpID0+IGIueWVhciAtIGEueWVhcl0sXG4gICAgW1wicXVhcnRlcnNcIiwgKGEsIGIpID0+IGIucXVhcnRlciAtIGEucXVhcnRlcl0sXG4gICAgW1wibW9udGhzXCIsIChhLCBiKSA9PiBiLm1vbnRoIC0gYS5tb250aCArIChiLnllYXIgLSBhLnllYXIpICogMTJdLFxuICAgIFtcbiAgICAgIFwid2Vla3NcIixcbiAgICAgIChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGRheXMgPSBkYXlEaWZmKGEsIGIpO1xuICAgICAgICByZXR1cm4gKGRheXMgLSAoZGF5cyAlIDcpKSAvIDc7XG4gICAgICB9LFxuICAgIF0sXG4gICAgW1wiZGF5c1wiLCBkYXlEaWZmXSxcbiAgXTtcblxuICBjb25zdCByZXN1bHRzID0ge307XG4gIGxldCBsb3dlc3RPcmRlciwgaGlnaFdhdGVyO1xuXG4gIGZvciAoY29uc3QgW3VuaXQsIGRpZmZlcl0gb2YgZGlmZmVycykge1xuICAgIGlmICh1bml0cy5pbmRleE9mKHVuaXQpID49IDApIHtcbiAgICAgIGxvd2VzdE9yZGVyID0gdW5pdDtcblxuICAgICAgbGV0IGRlbHRhID0gZGlmZmVyKGN1cnNvciwgbGF0ZXIpO1xuICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbdW5pdF06IGRlbHRhIH0pO1xuXG4gICAgICBpZiAoaGlnaFdhdGVyID4gbGF0ZXIpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29yLnBsdXMoeyBbdW5pdF06IGRlbHRhIC0gMSB9KTtcbiAgICAgICAgZGVsdGEgLT0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnNvciA9IGhpZ2hXYXRlcjtcbiAgICAgIH1cblxuICAgICAgcmVzdWx0c1t1bml0XSA9IGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBbY3Vyc29yLCByZXN1bHRzLCBoaWdoV2F0ZXIsIGxvd2VzdE9yZGVyXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGVhcmxpZXIsIGxhdGVyLCB1bml0cywgb3B0cykge1xuICBsZXQgW2N1cnNvciwgcmVzdWx0cywgaGlnaFdhdGVyLCBsb3dlc3RPcmRlcl0gPSBoaWdoT3JkZXJEaWZmcyhlYXJsaWVyLCBsYXRlciwgdW5pdHMpO1xuXG4gIGNvbnN0IHJlbWFpbmluZ01pbGxpcyA9IGxhdGVyIC0gY3Vyc29yO1xuXG4gIGNvbnN0IGxvd2VyT3JkZXJVbml0cyA9IHVuaXRzLmZpbHRlcihcbiAgICAodSkgPT4gW1wiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiXS5pbmRleE9mKHUpID49IDBcbiAgKTtcblxuICBpZiAobG93ZXJPcmRlclVuaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChoaWdoV2F0ZXIgPCBsYXRlcikge1xuICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbbG93ZXN0T3JkZXJdOiAxIH0pO1xuICAgIH1cblxuICAgIGlmIChoaWdoV2F0ZXIgIT09IGN1cnNvcikge1xuICAgICAgcmVzdWx0c1tsb3dlc3RPcmRlcl0gPSAocmVzdWx0c1tsb3dlc3RPcmRlcl0gfHwgMCkgKyByZW1haW5pbmdNaWxsaXMgLyAoaGlnaFdhdGVyIC0gY3Vyc29yKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IER1cmF0aW9uLmZyb21PYmplY3QocmVzdWx0cywgb3B0cyk7XG5cbiAgaWYgKGxvd2VyT3JkZXJVbml0cy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIER1cmF0aW9uLmZyb21NaWxsaXMocmVtYWluaW5nTWlsbGlzLCBvcHRzKVxuICAgICAgLnNoaWZ0VG8oLi4ubG93ZXJPcmRlclVuaXRzKVxuICAgICAgLnBsdXMoZHVyYXRpb24pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBkdXJhdGlvbjtcbiAgfVxufVxuIiwgImNvbnN0IG51bWJlcmluZ1N5c3RlbXMgPSB7XG4gIGFyYWI6IFwiW1xcdTA2NjAtXFx1MDY2OV1cIixcbiAgYXJhYmV4dDogXCJbXFx1MDZGMC1cXHUwNkY5XVwiLFxuICBiYWxpOiBcIltcXHUxQjUwLVxcdTFCNTldXCIsXG4gIGJlbmc6IFwiW1xcdTA5RTYtXFx1MDlFRl1cIixcbiAgZGV2YTogXCJbXFx1MDk2Ni1cXHUwOTZGXVwiLFxuICBmdWxsd2lkZTogXCJbXFx1RkYxMC1cXHVGRjE5XVwiLFxuICBndWpyOiBcIltcXHUwQUU2LVxcdTBBRUZdXCIsXG4gIGhhbmlkZWM6IFwiW1x1MzAwN3xcdTRFMDB8XHU0RThDfFx1NEUwOXxcdTU2REJ8XHU0RTk0fFx1NTE2RHxcdTRFMDN8XHU1MTZCfFx1NEU1RF1cIixcbiAga2htcjogXCJbXFx1MTdFMC1cXHUxN0U5XVwiLFxuICBrbmRhOiBcIltcXHUwQ0U2LVxcdTBDRUZdXCIsXG4gIGxhb286IFwiW1xcdTBFRDAtXFx1MEVEOV1cIixcbiAgbGltYjogXCJbXFx1MTk0Ni1cXHUxOTRGXVwiLFxuICBtbHltOiBcIltcXHUwRDY2LVxcdTBENkZdXCIsXG4gIG1vbmc6IFwiW1xcdTE4MTAtXFx1MTgxOV1cIixcbiAgbXltcjogXCJbXFx1MTA0MC1cXHUxMDQ5XVwiLFxuICBvcnlhOiBcIltcXHUwQjY2LVxcdTBCNkZdXCIsXG4gIHRhbWxkZWM6IFwiW1xcdTBCRTYtXFx1MEJFRl1cIixcbiAgdGVsdTogXCJbXFx1MEM2Ni1cXHUwQzZGXVwiLFxuICB0aGFpOiBcIltcXHUwRTUwLVxcdTBFNTldXCIsXG4gIHRpYnQ6IFwiW1xcdTBGMjAtXFx1MEYyOV1cIixcbiAgbGF0bjogXCJcXFxcZFwiLFxufTtcblxuY29uc3QgbnVtYmVyaW5nU3lzdGVtc1VURjE2ID0ge1xuICBhcmFiOiBbMTYzMiwgMTY0MV0sXG4gIGFyYWJleHQ6IFsxNzc2LCAxNzg1XSxcbiAgYmFsaTogWzY5OTIsIDcwMDFdLFxuICBiZW5nOiBbMjUzNCwgMjU0M10sXG4gIGRldmE6IFsyNDA2LCAyNDE1XSxcbiAgZnVsbHdpZGU6IFs2NTI5NiwgNjUzMDNdLFxuICBndWpyOiBbMjc5MCwgMjc5OV0sXG4gIGtobXI6IFs2MTEyLCA2MTIxXSxcbiAga25kYTogWzMzMDIsIDMzMTFdLFxuICBsYW9vOiBbMzc5MiwgMzgwMV0sXG4gIGxpbWI6IFs2NDcwLCA2NDc5XSxcbiAgbWx5bTogWzM0MzAsIDM0MzldLFxuICBtb25nOiBbNjE2MCwgNjE2OV0sXG4gIG15bXI6IFs0MTYwLCA0MTY5XSxcbiAgb3J5YTogWzI5MTgsIDI5MjddLFxuICB0YW1sZGVjOiBbMzA0NiwgMzA1NV0sXG4gIHRlbHU6IFszMTc0LCAzMTgzXSxcbiAgdGhhaTogWzM2NjQsIDM2NzNdLFxuICB0aWJ0OiBbMzg3MiwgMzg4MV0sXG59O1xuXG5jb25zdCBoYW5pZGVjQ2hhcnMgPSBudW1iZXJpbmdTeXN0ZW1zLmhhbmlkZWMucmVwbGFjZSgvW1xcW3xcXF1dL2csIFwiXCIpLnNwbGl0KFwiXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEaWdpdHMoc3RyKSB7XG4gIGxldCB2YWx1ZSA9IHBhcnNlSW50KHN0ciwgMTApO1xuICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgdmFsdWUgPSBcIlwiO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG5cbiAgICAgIGlmIChzdHJbaV0uc2VhcmNoKG51bWJlcmluZ1N5c3RlbXMuaGFuaWRlYykgIT09IC0xKSB7XG4gICAgICAgIHZhbHVlICs9IGhhbmlkZWNDaGFycy5pbmRleE9mKHN0cltpXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBudW1iZXJpbmdTeXN0ZW1zVVRGMTYpIHtcbiAgICAgICAgICBjb25zdCBbbWluLCBtYXhdID0gbnVtYmVyaW5nU3lzdGVtc1VURjE2W2tleV07XG4gICAgICAgICAgaWYgKGNvZGUgPj0gbWluICYmIGNvZGUgPD0gbWF4KSB7XG4gICAgICAgICAgICB2YWx1ZSArPSBjb2RlIC0gbWluO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpZ2l0UmVnZXgoeyBudW1iZXJpbmdTeXN0ZW0gfSwgYXBwZW5kID0gXCJcIikge1xuICByZXR1cm4gbmV3IFJlZ0V4cChgJHtudW1iZXJpbmdTeXN0ZW1zW251bWJlcmluZ1N5c3RlbSB8fCBcImxhdG5cIl19JHthcHBlbmR9YCk7XG59XG4iLCAiaW1wb3J0IHsgcGFyc2VNaWxsaXMsIGlzVW5kZWZpbmVkLCB1bnRydW5jYXRlWWVhciwgc2lnbmVkT2Zmc2V0LCBoYXNPd25Qcm9wZXJ0eSB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCBGb3JtYXR0ZXIgZnJvbSBcIi4vZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgRml4ZWRPZmZzZXRab25lIGZyb20gXCIuLi96b25lcy9maXhlZE9mZnNldFpvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBEYXRlVGltZSBmcm9tIFwiLi4vZGF0ZXRpbWUuanNcIjtcbmltcG9ydCB7IGRpZ2l0UmVnZXgsIHBhcnNlRGlnaXRzIH0gZnJvbSBcIi4vZGlnaXRzLmpzXCI7XG5pbXBvcnQgeyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcblxuY29uc3QgTUlTU0lOR19GVFAgPSBcIm1pc3NpbmcgSW50bC5EYXRlVGltZUZvcm1hdC5mb3JtYXRUb1BhcnRzIHN1cHBvcnRcIjtcblxuZnVuY3Rpb24gaW50VW5pdChyZWdleCwgcG9zdCA9IChpKSA9PiBpKSB7XG4gIHJldHVybiB7IHJlZ2V4LCBkZXNlcjogKFtzXSkgPT4gcG9zdChwYXJzZURpZ2l0cyhzKSkgfTtcbn1cblxuY29uc3QgTkJTUCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKTtcbmNvbnN0IHNwYWNlT3JOQlNQID0gYFsgJHtOQlNQfV1gO1xuY29uc3Qgc3BhY2VPck5CU1BSZWdFeHAgPSBuZXcgUmVnRXhwKHNwYWNlT3JOQlNQLCBcImdcIik7XG5cbmZ1bmN0aW9uIGZpeExpc3RSZWdleChzKSB7XG4gIC8vIG1ha2UgZG90cyBvcHRpb25hbCBhbmQgYWxzbyBtYWtlIHRoZW0gbGl0ZXJhbFxuICAvLyBtYWtlIHNwYWNlIGFuZCBub24gYnJlYWthYmxlIHNwYWNlIGNoYXJhY3RlcnMgaW50ZXJjaGFuZ2VhYmxlXG4gIHJldHVybiBzLnJlcGxhY2UoL1xcLi9nLCBcIlxcXFwuP1wiKS5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCBzcGFjZU9yTkJTUCk7XG59XG5cbmZ1bmN0aW9uIHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpIHtcbiAgcmV0dXJuIHNcbiAgICAucmVwbGFjZSgvXFwuL2csIFwiXCIpIC8vIGlnbm9yZSBkb3RzIHRoYXQgd2VyZSBtYWRlIG9wdGlvbmFsXG4gICAgLnJlcGxhY2Uoc3BhY2VPck5CU1BSZWdFeHAsIFwiIFwiKSAvLyBpbnRlcmNoYW5nZSBzcGFjZSBhbmQgbmJzcFxuICAgIC50b0xvd2VyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiBvbmVPZihzdHJpbmdzLCBzdGFydEluZGV4KSB7XG4gIGlmIChzdHJpbmdzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZ2V4OiBSZWdFeHAoc3RyaW5ncy5tYXAoZml4TGlzdFJlZ2V4KS5qb2luKFwifFwiKSksXG4gICAgICBkZXNlcjogKFtzXSkgPT5cbiAgICAgICAgc3RyaW5ncy5maW5kSW5kZXgoKGkpID0+IHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpID09PSBzdHJpcEluc2Vuc2l0aXZpdGllcyhpKSkgKyBzdGFydEluZGV4LFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gb2Zmc2V0KHJlZ2V4LCBncm91cHMpIHtcbiAgcmV0dXJuIHsgcmVnZXgsIGRlc2VyOiAoWywgaCwgbV0pID0+IHNpZ25lZE9mZnNldChoLCBtKSwgZ3JvdXBzIH07XG59XG5cbmZ1bmN0aW9uIHNpbXBsZShyZWdleCkge1xuICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHMgfTtcbn1cblxuZnVuY3Rpb24gZXNjYXBlVG9rZW4odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1tcXC1cXFtcXF17fSgpKis/LixcXFxcXFxeJHwjXFxzXS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuZnVuY3Rpb24gdW5pdEZvclRva2VuKHRva2VuLCBsb2MpIHtcbiAgY29uc3Qgb25lID0gZGlnaXRSZWdleChsb2MpLFxuICAgIHR3byA9IGRpZ2l0UmVnZXgobG9jLCBcInsyfVwiKSxcbiAgICB0aHJlZSA9IGRpZ2l0UmVnZXgobG9jLCBcInszfVwiKSxcbiAgICBmb3VyID0gZGlnaXRSZWdleChsb2MsIFwiezR9XCIpLFxuICAgIHNpeCA9IGRpZ2l0UmVnZXgobG9jLCBcIns2fVwiKSxcbiAgICBvbmVPclR3byA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDJ9XCIpLFxuICAgIG9uZVRvVGhyZWUgPSBkaWdpdFJlZ2V4KGxvYywgXCJ7MSwzfVwiKSxcbiAgICBvbmVUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDZ9XCIpLFxuICAgIG9uZVRvTmluZSA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDl9XCIpLFxuICAgIHR3b1RvRm91ciA9IGRpZ2l0UmVnZXgobG9jLCBcInsyLDR9XCIpLFxuICAgIGZvdXJUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCBcIns0LDZ9XCIpLFxuICAgIGxpdGVyYWwgPSAodCkgPT4gKHsgcmVnZXg6IFJlZ0V4cChlc2NhcGVUb2tlbih0LnZhbCkpLCBkZXNlcjogKFtzXSkgPT4gcywgbGl0ZXJhbDogdHJ1ZSB9KSxcbiAgICB1bml0YXRlID0gKHQpID0+IHtcbiAgICAgIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgICAgIHJldHVybiBsaXRlcmFsKHQpO1xuICAgICAgfVxuICAgICAgc3dpdGNoICh0LnZhbCkge1xuICAgICAgICAvLyBlcmFcbiAgICAgICAgY2FzZSBcIkdcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoXCJzaG9ydFwiLCBmYWxzZSksIDApO1xuICAgICAgICBjYXNlIFwiR0dcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoXCJsb25nXCIsIGZhbHNlKSwgMCk7XG4gICAgICAgIC8vIHllYXJzXG4gICAgICAgIGNhc2UgXCJ5XCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9TaXgpO1xuICAgICAgICBjYXNlIFwieXlcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d29Ub0ZvdXIsIHVudHJ1bmNhdGVZZWFyKTtcbiAgICAgICAgY2FzZSBcInl5eXlcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTtcbiAgICAgICAgY2FzZSBcInl5eXl5XCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQoZm91clRvU2l4KTtcbiAgICAgICAgY2FzZSBcInl5eXl5eVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHNpeCk7XG4gICAgICAgIC8vIG1vbnRoc1xuICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTtcbiAgICAgICAgY2FzZSBcIk1NXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTtcbiAgICAgICAgY2FzZSBcIk1NTVwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKFwic2hvcnRcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcIk1NTU1cIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLm1vbnRocyhcImxvbmdcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcIkxcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJMTFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJMTExcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLm1vbnRocyhcInNob3J0XCIsIGZhbHNlLCBmYWxzZSksIDEpO1xuICAgICAgICBjYXNlIFwiTExMTFwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKFwibG9uZ1wiLCBmYWxzZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgLy8gZGF0ZXNcbiAgICAgICAgY2FzZSBcImRcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJkZFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIC8vIG9yZGluYWxzXG4gICAgICAgIGNhc2UgXCJvXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9UaHJlZSk7XG4gICAgICAgIGNhc2UgXCJvb29cIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0aHJlZSk7XG4gICAgICAgIC8vIHRpbWVcbiAgICAgICAgY2FzZSBcIkhIXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTtcbiAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJoaFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJoXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwibW1cIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICBjYXNlIFwibVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTtcbiAgICAgICAgY2FzZSBcInFcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJxcVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwic3NcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICBjYXNlIFwiU1wiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZVRvVGhyZWUpO1xuICAgICAgICBjYXNlIFwiU1NTXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodGhyZWUpO1xuICAgICAgICBjYXNlIFwidVwiOlxuICAgICAgICAgIHJldHVybiBzaW1wbGUob25lVG9OaW5lKTtcbiAgICAgICAgY2FzZSBcInV1XCI6XG4gICAgICAgICAgcmV0dXJuIHNpbXBsZShvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJ1dXVcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmUpO1xuICAgICAgICAvLyBtZXJpZGllbVxuICAgICAgICBjYXNlIFwiYVwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubWVyaWRpZW1zKCksIDApO1xuICAgICAgICAvLyB3ZWVrWWVhciAoaylcbiAgICAgICAgY2FzZSBcImtra2tcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTtcbiAgICAgICAgY2FzZSBcImtrXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvVG9Gb3VyLCB1bnRydW5jYXRlWWVhcik7XG4gICAgICAgIC8vIHdlZWtOdW1iZXIgKFcpXG4gICAgICAgIGNhc2UgXCJXXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwiV1dcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICAvLyB3ZWVrZGF5c1xuICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICBjYXNlIFwiY1wiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZSk7XG4gICAgICAgIGNhc2UgXCJFRUVcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwic2hvcnRcIiwgZmFsc2UsIGZhbHNlKSwgMSk7XG4gICAgICAgIGNhc2UgXCJFRUVFXCI6XG4gICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy53ZWVrZGF5cyhcImxvbmdcIiwgZmFsc2UsIGZhbHNlKSwgMSk7XG4gICAgICAgIGNhc2UgXCJjY2NcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwic2hvcnRcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcImNjY2NcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwibG9uZ1wiLCB0cnVlLCBmYWxzZSksIDEpO1xuICAgICAgICAvLyBvZmZzZXQvem9uZVxuICAgICAgICBjYXNlIFwiWlwiOlxuICAgICAgICBjYXNlIFwiWlpcIjpcbiAgICAgICAgICByZXR1cm4gb2Zmc2V0KG5ldyBSZWdFeHAoYChbKy1dJHtvbmVPclR3by5zb3VyY2V9KSg/OjooJHt0d28uc291cmNlfSkpP2ApLCAyKTtcbiAgICAgICAgY2FzZSBcIlpaWlwiOlxuICAgICAgICAgIHJldHVybiBvZmZzZXQobmV3IFJlZ0V4cChgKFsrLV0ke29uZU9yVHdvLnNvdXJjZX0pKCR7dHdvLnNvdXJjZX0pP2ApLCAyKTtcbiAgICAgICAgLy8gd2UgZG9uJ3Qgc3VwcG9ydCBaWlpaIChQU1QpIG9yIFpaWlpaIChQYWNpZmljIFN0YW5kYXJkIFRpbWUpIGluIHBhcnNpbmdcbiAgICAgICAgLy8gYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFueSB3YXkgdG8gZmlndXJlIG91dCB3aGF0IHRoZXkgYXJlXG4gICAgICAgIGNhc2UgXCJ6XCI6XG4gICAgICAgICAgcmV0dXJuIHNpbXBsZSgvW2Etel8rLS9dezEsMjU2fT8vaSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIGxpdGVyYWwodCk7XG4gICAgICB9XG4gICAgfTtcblxuICBjb25zdCB1bml0ID0gdW5pdGF0ZSh0b2tlbikgfHwge1xuICAgIGludmFsaWRSZWFzb246IE1JU1NJTkdfRlRQLFxuICB9O1xuXG4gIHVuaXQudG9rZW4gPSB0b2tlbjtcblxuICByZXR1cm4gdW5pdDtcbn1cblxuY29uc3QgcGFydFR5cGVTdHlsZVRvVG9rZW5WYWwgPSB7XG4gIHllYXI6IHtcbiAgICBcIjItZGlnaXRcIjogXCJ5eVwiLFxuICAgIG51bWVyaWM6IFwieXl5eXlcIixcbiAgfSxcbiAgbW9udGg6IHtcbiAgICBudW1lcmljOiBcIk1cIixcbiAgICBcIjItZGlnaXRcIjogXCJNTVwiLFxuICAgIHNob3J0OiBcIk1NTVwiLFxuICAgIGxvbmc6IFwiTU1NTVwiLFxuICB9LFxuICBkYXk6IHtcbiAgICBudW1lcmljOiBcImRcIixcbiAgICBcIjItZGlnaXRcIjogXCJkZFwiLFxuICB9LFxuICB3ZWVrZGF5OiB7XG4gICAgc2hvcnQ6IFwiRUVFXCIsXG4gICAgbG9uZzogXCJFRUVFXCIsXG4gIH0sXG4gIGRheXBlcmlvZDogXCJhXCIsXG4gIGRheVBlcmlvZDogXCJhXCIsXG4gIGhvdXI6IHtcbiAgICBudW1lcmljOiBcImhcIixcbiAgICBcIjItZGlnaXRcIjogXCJoaFwiLFxuICB9LFxuICBtaW51dGU6IHtcbiAgICBudW1lcmljOiBcIm1cIixcbiAgICBcIjItZGlnaXRcIjogXCJtbVwiLFxuICB9LFxuICBzZWNvbmQ6IHtcbiAgICBudW1lcmljOiBcInNcIixcbiAgICBcIjItZGlnaXRcIjogXCJzc1wiLFxuICB9LFxufTtcblxuZnVuY3Rpb24gdG9rZW5Gb3JQYXJ0KHBhcnQsIGxvY2FsZSwgZm9ybWF0T3B0cykge1xuICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBwYXJ0O1xuXG4gIGlmICh0eXBlID09PSBcImxpdGVyYWxcIikge1xuICAgIHJldHVybiB7XG4gICAgICBsaXRlcmFsOiB0cnVlLFxuICAgICAgdmFsOiB2YWx1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3Qgc3R5bGUgPSBmb3JtYXRPcHRzW3R5cGVdO1xuXG4gIGxldCB2YWwgPSBwYXJ0VHlwZVN0eWxlVG9Ub2tlblZhbFt0eXBlXTtcbiAgaWYgKHR5cGVvZiB2YWwgPT09IFwib2JqZWN0XCIpIHtcbiAgICB2YWwgPSB2YWxbc3R5bGVdO1xuICB9XG5cbiAgaWYgKHZhbCkge1xuICAgIHJldHVybiB7XG4gICAgICBsaXRlcmFsOiBmYWxzZSxcbiAgICAgIHZhbCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYnVpbGRSZWdleCh1bml0cykge1xuICBjb25zdCByZSA9IHVuaXRzLm1hcCgodSkgPT4gdS5yZWdleCkucmVkdWNlKChmLCByKSA9PiBgJHtmfSgke3Iuc291cmNlfSlgLCBcIlwiKTtcbiAgcmV0dXJuIFtgXiR7cmV9JGAsIHVuaXRzXTtcbn1cblxuZnVuY3Rpb24gbWF0Y2goaW5wdXQsIHJlZ2V4LCBoYW5kbGVycykge1xuICBjb25zdCBtYXRjaGVzID0gaW5wdXQubWF0Y2gocmVnZXgpO1xuXG4gIGlmIChtYXRjaGVzKSB7XG4gICAgY29uc3QgYWxsID0ge307XG4gICAgbGV0IG1hdGNoSW5kZXggPSAxO1xuICAgIGZvciAoY29uc3QgaSBpbiBoYW5kbGVycykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5KGhhbmRsZXJzLCBpKSkge1xuICAgICAgICBjb25zdCBoID0gaGFuZGxlcnNbaV0sXG4gICAgICAgICAgZ3JvdXBzID0gaC5ncm91cHMgPyBoLmdyb3VwcyArIDEgOiAxO1xuICAgICAgICBpZiAoIWgubGl0ZXJhbCAmJiBoLnRva2VuKSB7XG4gICAgICAgICAgYWxsW2gudG9rZW4udmFsWzBdXSA9IGguZGVzZXIobWF0Y2hlcy5zbGljZShtYXRjaEluZGV4LCBtYXRjaEluZGV4ICsgZ3JvdXBzKSk7XG4gICAgICAgIH1cbiAgICAgICAgbWF0Y2hJbmRleCArPSBncm91cHM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbbWF0Y2hlcywgYWxsXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW21hdGNoZXMsIHt9XTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkYXRlVGltZUZyb21NYXRjaGVzKG1hdGNoZXMpIHtcbiAgY29uc3QgdG9GaWVsZCA9ICh0b2tlbikgPT4ge1xuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgIHJldHVybiBcIm1pbGxpc2Vjb25kXCI7XG4gICAgICBjYXNlIFwic1wiOlxuICAgICAgICByZXR1cm4gXCJzZWNvbmRcIjtcbiAgICAgIGNhc2UgXCJtXCI6XG4gICAgICAgIHJldHVybiBcIm1pbnV0ZVwiO1xuICAgICAgY2FzZSBcImhcIjpcbiAgICAgIGNhc2UgXCJIXCI6XG4gICAgICAgIHJldHVybiBcImhvdXJcIjtcbiAgICAgIGNhc2UgXCJkXCI6XG4gICAgICAgIHJldHVybiBcImRheVwiO1xuICAgICAgY2FzZSBcIm9cIjpcbiAgICAgICAgcmV0dXJuIFwib3JkaW5hbFwiO1xuICAgICAgY2FzZSBcIkxcIjpcbiAgICAgIGNhc2UgXCJNXCI6XG4gICAgICAgIHJldHVybiBcIm1vbnRoXCI7XG4gICAgICBjYXNlIFwieVwiOlxuICAgICAgICByZXR1cm4gXCJ5ZWFyXCI7XG4gICAgICBjYXNlIFwiRVwiOlxuICAgICAgY2FzZSBcImNcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla2RheVwiO1xuICAgICAgY2FzZSBcIldcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla051bWJlclwiO1xuICAgICAgY2FzZSBcImtcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla1llYXJcIjtcbiAgICAgIGNhc2UgXCJxXCI6XG4gICAgICAgIHJldHVybiBcInF1YXJ0ZXJcIjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBsZXQgem9uZSA9IG51bGw7XG4gIGxldCBzcGVjaWZpY09mZnNldDtcbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnopKSB7XG4gICAgem9uZSA9IElBTkFab25lLmNyZWF0ZShtYXRjaGVzLnopO1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLlopKSB7XG4gICAgaWYgKCF6b25lKSB7XG4gICAgICB6b25lID0gbmV3IEZpeGVkT2Zmc2V0Wm9uZShtYXRjaGVzLlopO1xuICAgIH1cbiAgICBzcGVjaWZpY09mZnNldCA9IG1hdGNoZXMuWjtcbiAgfVxuXG4gIGlmICghaXNVbmRlZmluZWQobWF0Y2hlcy5xKSkge1xuICAgIG1hdGNoZXMuTSA9IChtYXRjaGVzLnEgLSAxKSAqIDMgKyAxO1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLmgpKSB7XG4gICAgaWYgKG1hdGNoZXMuaCA8IDEyICYmIG1hdGNoZXMuYSA9PT0gMSkge1xuICAgICAgbWF0Y2hlcy5oICs9IDEyO1xuICAgIH0gZWxzZSBpZiAobWF0Y2hlcy5oID09PSAxMiAmJiBtYXRjaGVzLmEgPT09IDApIHtcbiAgICAgIG1hdGNoZXMuaCA9IDA7XG4gICAgfVxuICB9XG5cbiAgaWYgKG1hdGNoZXMuRyA9PT0gMCAmJiBtYXRjaGVzLnkpIHtcbiAgICBtYXRjaGVzLnkgPSAtbWF0Y2hlcy55O1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnUpKSB7XG4gICAgbWF0Y2hlcy5TID0gcGFyc2VNaWxsaXMobWF0Y2hlcy51KTtcbiAgfVxuXG4gIGNvbnN0IHZhbHMgPSBPYmplY3Qua2V5cyhtYXRjaGVzKS5yZWR1Y2UoKHIsIGspID0+IHtcbiAgICBjb25zdCBmID0gdG9GaWVsZChrKTtcbiAgICBpZiAoZikge1xuICAgICAgcltmXSA9IG1hdGNoZXNba107XG4gICAgfVxuXG4gICAgcmV0dXJuIHI7XG4gIH0sIHt9KTtcblxuICByZXR1cm4gW3ZhbHMsIHpvbmUsIHNwZWNpZmljT2Zmc2V0XTtcbn1cblxubGV0IGR1bW15RGF0ZVRpbWVDYWNoZSA9IG51bGw7XG5cbmZ1bmN0aW9uIGdldER1bW15RGF0ZVRpbWUoKSB7XG4gIGlmICghZHVtbXlEYXRlVGltZUNhY2hlKSB7XG4gICAgZHVtbXlEYXRlVGltZUNhY2hlID0gRGF0ZVRpbWUuZnJvbU1pbGxpcygxNTU1NTU1NTU1NTU1KTtcbiAgfVxuXG4gIHJldHVybiBkdW1teURhdGVUaW1lQ2FjaGU7XG59XG5cbmZ1bmN0aW9uIG1heWJlRXhwYW5kTWFjcm9Ub2tlbih0b2tlbiwgbG9jYWxlKSB7XG4gIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0T3B0cyA9IEZvcm1hdHRlci5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuLnZhbCk7XG5cbiAgaWYgKCFmb3JtYXRPcHRzKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0dGVyID0gRm9ybWF0dGVyLmNyZWF0ZShsb2NhbGUsIGZvcm1hdE9wdHMpO1xuICBjb25zdCBwYXJ0cyA9IGZvcm1hdHRlci5mb3JtYXREYXRlVGltZVBhcnRzKGdldER1bW15RGF0ZVRpbWUoKSk7XG5cbiAgY29uc3QgdG9rZW5zID0gcGFydHMubWFwKChwKSA9PiB0b2tlbkZvclBhcnQocCwgbG9jYWxlLCBmb3JtYXRPcHRzKSk7XG5cbiAgaWYgKHRva2Vucy5pbmNsdWRlcyh1bmRlZmluZWQpKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gZXhwYW5kTWFjcm9Ub2tlbnModG9rZW5zLCBsb2NhbGUpIHtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4udG9rZW5zLm1hcCgodCkgPT4gbWF5YmVFeHBhbmRNYWNyb1Rva2VuKHQsIGxvY2FsZSkpKTtcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHtcbiAgY29uc3QgdG9rZW5zID0gZXhwYW5kTWFjcm9Ub2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZvcm1hdCksIGxvY2FsZSksXG4gICAgdW5pdHMgPSB0b2tlbnMubWFwKCh0KSA9PiB1bml0Rm9yVG9rZW4odCwgbG9jYWxlKSksXG4gICAgZGlzcXVhbGlmeWluZ1VuaXQgPSB1bml0cy5maW5kKCh0KSA9PiB0LmludmFsaWRSZWFzb24pO1xuXG4gIGlmIChkaXNxdWFsaWZ5aW5nVW5pdCkge1xuICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIGludmFsaWRSZWFzb246IGRpc3F1YWxpZnlpbmdVbml0LmludmFsaWRSZWFzb24gfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBbcmVnZXhTdHJpbmcsIGhhbmRsZXJzXSA9IGJ1aWxkUmVnZXgodW5pdHMpLFxuICAgICAgcmVnZXggPSBSZWdFeHAocmVnZXhTdHJpbmcsIFwiaVwiKSxcbiAgICAgIFtyYXdNYXRjaGVzLCBtYXRjaGVzXSA9IG1hdGNoKGlucHV0LCByZWdleCwgaGFuZGxlcnMpLFxuICAgICAgW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXRdID0gbWF0Y2hlc1xuICAgICAgICA/IGRhdGVUaW1lRnJvbU1hdGNoZXMobWF0Y2hlcylcbiAgICAgICAgOiBbbnVsbCwgbnVsbCwgdW5kZWZpbmVkXTtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkobWF0Y2hlcywgXCJhXCIpICYmIGhhc093blByb3BlcnR5KG1hdGNoZXMsIFwiSFwiKSkge1xuICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKFxuICAgICAgICBcIkNhbid0IGluY2x1ZGUgbWVyaWRpZW0gd2hlbiBzcGVjaWZ5aW5nIDI0LWhvdXIgZm9ybWF0XCJcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIHJlZ2V4LCByYXdNYXRjaGVzLCBtYXRjaGVzLCByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0IH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHtcbiAgY29uc3QgeyByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0LCBpbnZhbGlkUmVhc29uIH0gPSBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpO1xuICByZXR1cm4gW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXQsIGludmFsaWRSZWFzb25dO1xufVxuIiwgImltcG9ydCB7XG4gIGludGVnZXJCZXR3ZWVuLFxuICBpc0xlYXBZZWFyLFxuICB0aW1lT2JqZWN0LFxuICBkYXlzSW5ZZWFyLFxuICBkYXlzSW5Nb250aCxcbiAgd2Vla3NJbldlZWtZZWFyLFxuICBpc0ludGVnZXIsXG59IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCBJbnZhbGlkIGZyb20gXCIuL2ludmFsaWQuanNcIjtcblxuY29uc3Qgbm9uTGVhcExhZGRlciA9IFswLCAzMSwgNTksIDkwLCAxMjAsIDE1MSwgMTgxLCAyMTIsIDI0MywgMjczLCAzMDQsIDMzNF0sXG4gIGxlYXBMYWRkZXIgPSBbMCwgMzEsIDYwLCA5MSwgMTIxLCAxNTIsIDE4MiwgMjEzLCAyNDQsIDI3NCwgMzA1LCAzMzVdO1xuXG5mdW5jdGlvbiB1bml0T3V0T2ZSYW5nZSh1bml0LCB2YWx1ZSkge1xuICByZXR1cm4gbmV3IEludmFsaWQoXG4gICAgXCJ1bml0IG91dCBvZiByYW5nZVwiLFxuICAgIGB5b3Ugc3BlY2lmaWVkICR7dmFsdWV9IChvZiB0eXBlICR7dHlwZW9mIHZhbHVlfSkgYXMgYSAke3VuaXR9LCB3aGljaCBpcyBpbnZhbGlkYFxuICApO1xufVxuXG5mdW5jdGlvbiBkYXlPZldlZWsoeWVhciwgbW9udGgsIGRheSkge1xuICBjb25zdCBkID0gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXkpKTtcblxuICBpZiAoeWVhciA8IDEwMCAmJiB5ZWFyID49IDApIHtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGQuZ2V0VVRDRnVsbFllYXIoKSAtIDE5MDApO1xuICB9XG5cbiAgY29uc3QganMgPSBkLmdldFVUQ0RheSgpO1xuXG4gIHJldHVybiBqcyA9PT0gMCA/IDcgOiBqcztcbn1cblxuZnVuY3Rpb24gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSkge1xuICByZXR1cm4gZGF5ICsgKGlzTGVhcFllYXIoeWVhcikgPyBsZWFwTGFkZGVyIDogbm9uTGVhcExhZGRlcilbbW9udGggLSAxXTtcbn1cblxuZnVuY3Rpb24gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKSB7XG4gIGNvbnN0IHRhYmxlID0gaXNMZWFwWWVhcih5ZWFyKSA/IGxlYXBMYWRkZXIgOiBub25MZWFwTGFkZGVyLFxuICAgIG1vbnRoMCA9IHRhYmxlLmZpbmRJbmRleCgoaSkgPT4gaSA8IG9yZGluYWwpLFxuICAgIGRheSA9IG9yZGluYWwgLSB0YWJsZVttb250aDBdO1xuICByZXR1cm4geyBtb250aDogbW9udGgwICsgMSwgZGF5IH07XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ3JlZ29yaWFuVG9XZWVrKGdyZWdPYmopIHtcbiAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnT2JqLFxuICAgIG9yZGluYWwgPSBjb21wdXRlT3JkaW5hbCh5ZWFyLCBtb250aCwgZGF5KSxcbiAgICB3ZWVrZGF5ID0gZGF5T2ZXZWVrKHllYXIsIG1vbnRoLCBkYXkpO1xuXG4gIGxldCB3ZWVrTnVtYmVyID0gTWF0aC5mbG9vcigob3JkaW5hbCAtIHdlZWtkYXkgKyAxMCkgLyA3KSxcbiAgICB3ZWVrWWVhcjtcblxuICBpZiAod2Vla051bWJlciA8IDEpIHtcbiAgICB3ZWVrWWVhciA9IHllYXIgLSAxO1xuICAgIHdlZWtOdW1iZXIgPSB3ZWVrc0luV2Vla1llYXIod2Vla1llYXIpO1xuICB9IGVsc2UgaWYgKHdlZWtOdW1iZXIgPiB3ZWVrc0luV2Vla1llYXIoeWVhcikpIHtcbiAgICB3ZWVrWWVhciA9IHllYXIgKyAxO1xuICAgIHdlZWtOdW1iZXIgPSAxO1xuICB9IGVsc2Uge1xuICAgIHdlZWtZZWFyID0geWVhcjtcbiAgfVxuXG4gIHJldHVybiB7IHdlZWtZZWFyLCB3ZWVrTnVtYmVyLCB3ZWVrZGF5LCAuLi50aW1lT2JqZWN0KGdyZWdPYmopIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3ZWVrVG9HcmVnb3JpYW4od2Vla0RhdGEpIHtcbiAgY29uc3QgeyB3ZWVrWWVhciwgd2Vla051bWJlciwgd2Vla2RheSB9ID0gd2Vla0RhdGEsXG4gICAgd2Vla2RheU9mSmFuNCA9IGRheU9mV2Vlayh3ZWVrWWVhciwgMSwgNCksXG4gICAgeWVhckluRGF5cyA9IGRheXNJblllYXIod2Vla1llYXIpO1xuXG4gIGxldCBvcmRpbmFsID0gd2Vla051bWJlciAqIDcgKyB3ZWVrZGF5IC0gd2Vla2RheU9mSmFuNCAtIDMsXG4gICAgeWVhcjtcblxuICBpZiAob3JkaW5hbCA8IDEpIHtcbiAgICB5ZWFyID0gd2Vla1llYXIgLSAxO1xuICAgIG9yZGluYWwgKz0gZGF5c0luWWVhcih5ZWFyKTtcbiAgfSBlbHNlIGlmIChvcmRpbmFsID4geWVhckluRGF5cykge1xuICAgIHllYXIgPSB3ZWVrWWVhciArIDE7XG4gICAgb3JkaW5hbCAtPSBkYXlzSW5ZZWFyKHdlZWtZZWFyKTtcbiAgfSBlbHNlIHtcbiAgICB5ZWFyID0gd2Vla1llYXI7XG4gIH1cblxuICBjb25zdCB7IG1vbnRoLCBkYXkgfSA9IHVuY29tcHV0ZU9yZGluYWwoeWVhciwgb3JkaW5hbCk7XG4gIHJldHVybiB7IHllYXIsIG1vbnRoLCBkYXksIC4uLnRpbWVPYmplY3Qod2Vla0RhdGEpIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmVnb3JpYW5Ub09yZGluYWwoZ3JlZ0RhdGEpIHtcbiAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnRGF0YTtcbiAgY29uc3Qgb3JkaW5hbCA9IGNvbXB1dGVPcmRpbmFsKHllYXIsIG1vbnRoLCBkYXkpO1xuICByZXR1cm4geyB5ZWFyLCBvcmRpbmFsLCAuLi50aW1lT2JqZWN0KGdyZWdEYXRhKSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JkaW5hbFRvR3JlZ29yaWFuKG9yZGluYWxEYXRhKSB7XG4gIGNvbnN0IHsgeWVhciwgb3JkaW5hbCB9ID0gb3JkaW5hbERhdGE7XG4gIGNvbnN0IHsgbW9udGgsIGRheSB9ID0gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKTtcbiAgcmV0dXJuIHsgeWVhciwgbW9udGgsIGRheSwgLi4udGltZU9iamVjdChvcmRpbmFsRGF0YSkgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludmFsaWRXZWVrRGF0YShvYmopIHtcbiAgY29uc3QgdmFsaWRZZWFyID0gaXNJbnRlZ2VyKG9iai53ZWVrWWVhciksXG4gICAgdmFsaWRXZWVrID0gaW50ZWdlckJldHdlZW4ob2JqLndlZWtOdW1iZXIsIDEsIHdlZWtzSW5XZWVrWWVhcihvYmoud2Vla1llYXIpKSxcbiAgICB2YWxpZFdlZWtkYXkgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla2RheSwgMSwgNyk7XG5cbiAgaWYgKCF2YWxpZFllYXIpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJ3ZWVrWWVhclwiLCBvYmoud2Vla1llYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZFdlZWspIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJ3ZWVrXCIsIG9iai53ZWVrKTtcbiAgfSBlbHNlIGlmICghdmFsaWRXZWVrZGF5KSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwid2Vla2RheVwiLCBvYmoud2Vla2RheSk7XG4gIH0gZWxzZSByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJbnZhbGlkT3JkaW5hbERhdGEob2JqKSB7XG4gIGNvbnN0IHZhbGlkWWVhciA9IGlzSW50ZWdlcihvYmoueWVhciksXG4gICAgdmFsaWRPcmRpbmFsID0gaW50ZWdlckJldHdlZW4ob2JqLm9yZGluYWwsIDEsIGRheXNJblllYXIob2JqLnllYXIpKTtcblxuICBpZiAoIXZhbGlkWWVhcikge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcInllYXJcIiwgb2JqLnllYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZE9yZGluYWwpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJvcmRpbmFsXCIsIG9iai5vcmRpbmFsKTtcbiAgfSBlbHNlIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludmFsaWRHcmVnb3JpYW5EYXRhKG9iaikge1xuICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLFxuICAgIHZhbGlkTW9udGggPSBpbnRlZ2VyQmV0d2VlbihvYmoubW9udGgsIDEsIDEyKSxcbiAgICB2YWxpZERheSA9IGludGVnZXJCZXR3ZWVuKG9iai5kYXksIDEsIGRheXNJbk1vbnRoKG9iai55ZWFyLCBvYmoubW9udGgpKTtcblxuICBpZiAoIXZhbGlkWWVhcikge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcInllYXJcIiwgb2JqLnllYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZE1vbnRoKSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwibW9udGhcIiwgb2JqLm1vbnRoKTtcbiAgfSBlbHNlIGlmICghdmFsaWREYXkpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJkYXlcIiwgb2JqLmRheSk7XG4gIH0gZWxzZSByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJbnZhbGlkVGltZURhdGEob2JqKSB7XG4gIGNvbnN0IHsgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0gPSBvYmo7XG4gIGNvbnN0IHZhbGlkSG91ciA9XG4gICAgICBpbnRlZ2VyQmV0d2Vlbihob3VyLCAwLCAyMykgfHxcbiAgICAgIChob3VyID09PSAyNCAmJiBtaW51dGUgPT09IDAgJiYgc2Vjb25kID09PSAwICYmIG1pbGxpc2Vjb25kID09PSAwKSxcbiAgICB2YWxpZE1pbnV0ZSA9IGludGVnZXJCZXR3ZWVuKG1pbnV0ZSwgMCwgNTkpLFxuICAgIHZhbGlkU2Vjb25kID0gaW50ZWdlckJldHdlZW4oc2Vjb25kLCAwLCA1OSksXG4gICAgdmFsaWRNaWxsaXNlY29uZCA9IGludGVnZXJCZXR3ZWVuKG1pbGxpc2Vjb25kLCAwLCA5OTkpO1xuXG4gIGlmICghdmFsaWRIb3VyKSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwiaG91clwiLCBob3VyKTtcbiAgfSBlbHNlIGlmICghdmFsaWRNaW51dGUpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJtaW51dGVcIiwgbWludXRlKTtcbiAgfSBlbHNlIGlmICghdmFsaWRTZWNvbmQpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJzZWNvbmRcIiwgc2Vjb25kKTtcbiAgfSBlbHNlIGlmICghdmFsaWRNaWxsaXNlY29uZCkge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcIm1pbGxpc2Vjb25kXCIsIG1pbGxpc2Vjb25kKTtcbiAgfSBlbHNlIHJldHVybiBmYWxzZTtcbn1cbiIsICJpbXBvcnQgRHVyYXRpb24gZnJvbSBcIi4vZHVyYXRpb24uanNcIjtcbmltcG9ydCBJbnRlcnZhbCBmcm9tIFwiLi9pbnRlcnZhbC5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzLmpzXCI7XG5pbXBvcnQgSW5mbyBmcm9tIFwiLi9pbmZvLmpzXCI7XG5pbXBvcnQgRm9ybWF0dGVyIGZyb20gXCIuL2ltcGwvZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgRml4ZWRPZmZzZXRab25lIGZyb20gXCIuL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IExvY2FsZSBmcm9tIFwiLi9pbXBsL2xvY2FsZS5qc1wiO1xuaW1wb3J0IHtcbiAgaXNVbmRlZmluZWQsXG4gIG1heWJlQXJyYXksXG4gIGlzRGF0ZSxcbiAgaXNOdW1iZXIsXG4gIGJlc3RCeSxcbiAgZGF5c0luTW9udGgsXG4gIGRheXNJblllYXIsXG4gIGlzTGVhcFllYXIsXG4gIHdlZWtzSW5XZWVrWWVhcixcbiAgbm9ybWFsaXplT2JqZWN0LFxuICByb3VuZFRvLFxuICBvYmpUb0xvY2FsVFMsXG4gIHBhZFN0YXJ0LFxufSBmcm9tIFwiLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVpvbmUgfSBmcm9tIFwiLi9pbXBsL3pvbmVVdGlsLmpzXCI7XG5pbXBvcnQgZGlmZiBmcm9tIFwiLi9pbXBsL2RpZmYuanNcIjtcbmltcG9ydCB7IHBhcnNlUkZDMjgyMkRhdGUsIHBhcnNlSVNPRGF0ZSwgcGFyc2VIVFRQRGF0ZSwgcGFyc2VTUUwgfSBmcm9tIFwiLi9pbXBsL3JlZ2V4UGFyc2VyLmpzXCI7XG5pbXBvcnQgeyBwYXJzZUZyb21Ub2tlbnMsIGV4cGxhaW5Gcm9tVG9rZW5zIH0gZnJvbSBcIi4vaW1wbC90b2tlblBhcnNlci5qc1wiO1xuaW1wb3J0IHtcbiAgZ3JlZ29yaWFuVG9XZWVrLFxuICB3ZWVrVG9HcmVnb3JpYW4sXG4gIGdyZWdvcmlhblRvT3JkaW5hbCxcbiAgb3JkaW5hbFRvR3JlZ29yaWFuLFxuICBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YSxcbiAgaGFzSW52YWxpZFdlZWtEYXRhLFxuICBoYXNJbnZhbGlkT3JkaW5hbERhdGEsXG4gIGhhc0ludmFsaWRUaW1lRGF0YSxcbn0gZnJvbSBcIi4vaW1wbC9jb252ZXJzaW9ucy5qc1wiO1xuaW1wb3J0ICogYXMgRm9ybWF0cyBmcm9tIFwiLi9pbXBsL2Zvcm1hdHMuanNcIjtcbmltcG9ydCB7XG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcixcbiAgSW52YWxpZFVuaXRFcnJvcixcbiAgSW52YWxpZERhdGVUaW1lRXJyb3IsXG59IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IEludmFsaWQgZnJvbSBcIi4vaW1wbC9pbnZhbGlkLmpzXCI7XG5cbmNvbnN0IElOVkFMSUQgPSBcIkludmFsaWQgRGF0ZVRpbWVcIjtcbmNvbnN0IE1BWF9EQVRFID0gOC42NGUxNTtcblxuZnVuY3Rpb24gdW5zdXBwb3J0ZWRab25lKHpvbmUpIHtcbiAgcmV0dXJuIG5ldyBJbnZhbGlkKFwidW5zdXBwb3J0ZWQgem9uZVwiLCBgdGhlIHpvbmUgXCIke3pvbmUubmFtZX1cIiBpcyBub3Qgc3VwcG9ydGVkYCk7XG59XG5cbi8vIHdlIGNhY2hlIHdlZWsgZGF0YSBvbiB0aGUgRFQgb2JqZWN0IGFuZCB0aGlzIGludGVybWVkaWF0ZXMgdGhlIGNhY2hlXG5mdW5jdGlvbiBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKGR0KSB7XG4gIGlmIChkdC53ZWVrRGF0YSA9PT0gbnVsbCkge1xuICAgIGR0LndlZWtEYXRhID0gZ3JlZ29yaWFuVG9XZWVrKGR0LmMpO1xuICB9XG4gIHJldHVybiBkdC53ZWVrRGF0YTtcbn1cblxuLy8gY2xvbmUgcmVhbGx5IG1lYW5zLCBcIm1ha2UgYSBuZXcgb2JqZWN0IHdpdGggdGhlc2UgbW9kaWZpY2F0aW9uc1wiLiBhbGwgXCJzZXR0ZXJzXCIgcmVhbGx5IHVzZSB0aGlzXG4vLyB0byBjcmVhdGUgYSBuZXcgb2JqZWN0IHdoaWxlIG9ubHkgY2hhbmdpbmcgc29tZSBvZiB0aGUgcHJvcGVydGllc1xuZnVuY3Rpb24gY2xvbmUoaW5zdCwgYWx0cykge1xuICBjb25zdCBjdXJyZW50ID0ge1xuICAgIHRzOiBpbnN0LnRzLFxuICAgIHpvbmU6IGluc3Quem9uZSxcbiAgICBjOiBpbnN0LmMsXG4gICAgbzogaW5zdC5vLFxuICAgIGxvYzogaW5zdC5sb2MsXG4gICAgaW52YWxpZDogaW5zdC5pbnZhbGlkLFxuICB9O1xuICByZXR1cm4gbmV3IERhdGVUaW1lKHsgLi4uY3VycmVudCwgLi4uYWx0cywgb2xkOiBjdXJyZW50IH0pO1xufVxuXG4vLyBmaW5kIHRoZSByaWdodCBvZmZzZXQgYSBnaXZlbiBsb2NhbCB0aW1lLiBUaGUgbyBpbnB1dCBpcyBvdXIgZ3Vlc3MsIHdoaWNoIGRldGVybWluZXMgd2hpY2hcbi8vIG9mZnNldCB3ZSdsbCBwaWNrIGluIGFtYmlndW91cyBjYXNlcyAoZS5nLiB0aGVyZSBhcmUgdHdvIDMgQU1zIGIvYyBGYWxsYmFjayBEU1QpXG5mdW5jdGlvbiBmaXhPZmZzZXQobG9jYWxUUywgbywgdHopIHtcbiAgLy8gT3VyIFVUQyB0aW1lIGlzIGp1c3QgYSBndWVzcyBiZWNhdXNlIG91ciBvZmZzZXQgaXMganVzdCBhIGd1ZXNzXG4gIGxldCB1dGNHdWVzcyA9IGxvY2FsVFMgLSBvICogNjAgKiAxMDAwO1xuXG4gIC8vIFRlc3Qgd2hldGhlciB0aGUgem9uZSBtYXRjaGVzIHRoZSBvZmZzZXQgZm9yIHRoaXMgdHNcbiAgY29uc3QgbzIgPSB0ei5vZmZzZXQodXRjR3Vlc3MpO1xuXG4gIC8vIElmIHNvLCBvZmZzZXQgZGlkbid0IGNoYW5nZSBhbmQgd2UncmUgZG9uZVxuICBpZiAobyA9PT0gbzIpIHtcbiAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvXTtcbiAgfVxuXG4gIC8vIElmIG5vdCwgY2hhbmdlIHRoZSB0cyBieSB0aGUgZGlmZmVyZW5jZSBpbiB0aGUgb2Zmc2V0XG4gIHV0Y0d1ZXNzIC09IChvMiAtIG8pICogNjAgKiAxMDAwO1xuXG4gIC8vIElmIHRoYXQgZ2l2ZXMgdXMgdGhlIGxvY2FsIHRpbWUgd2Ugd2FudCwgd2UncmUgZG9uZVxuICBjb25zdCBvMyA9IHR6Lm9mZnNldCh1dGNHdWVzcyk7XG4gIGlmIChvMiA9PT0gbzMpIHtcbiAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvMl07XG4gIH1cblxuICAvLyBJZiBpdCdzIGRpZmZlcmVudCwgd2UncmUgaW4gYSBob2xlIHRpbWUuIFRoZSBvZmZzZXQgaGFzIGNoYW5nZWQsIGJ1dCB0aGUgd2UgZG9uJ3QgYWRqdXN0IHRoZSB0aW1lXG4gIHJldHVybiBbbG9jYWxUUyAtIE1hdGgubWluKG8yLCBvMykgKiA2MCAqIDEwMDAsIE1hdGgubWF4KG8yLCBvMyldO1xufVxuXG4vLyBjb252ZXJ0IGFuIGVwb2NoIHRpbWVzdGFtcCBpbnRvIGEgY2FsZW5kYXIgb2JqZWN0IHdpdGggdGhlIGdpdmVuIG9mZnNldFxuZnVuY3Rpb24gdHNUb09iaih0cywgb2Zmc2V0KSB7XG4gIHRzICs9IG9mZnNldCAqIDYwICogMTAwMDtcblxuICBjb25zdCBkID0gbmV3IERhdGUodHMpO1xuXG4gIHJldHVybiB7XG4gICAgeWVhcjogZC5nZXRVVENGdWxsWWVhcigpLFxuICAgIG1vbnRoOiBkLmdldFVUQ01vbnRoKCkgKyAxLFxuICAgIGRheTogZC5nZXRVVENEYXRlKCksXG4gICAgaG91cjogZC5nZXRVVENIb3VycygpLFxuICAgIG1pbnV0ZTogZC5nZXRVVENNaW51dGVzKCksXG4gICAgc2Vjb25kOiBkLmdldFVUQ1NlY29uZHMoKSxcbiAgICBtaWxsaXNlY29uZDogZC5nZXRVVENNaWxsaXNlY29uZHMoKSxcbiAgfTtcbn1cblxuLy8gY29udmVydCBhIGNhbGVuZGFyIG9iamVjdCB0byBhIGVwb2NoIHRpbWVzdGFtcFxuZnVuY3Rpb24gb2JqVG9UUyhvYmosIG9mZnNldCwgem9uZSkge1xuICByZXR1cm4gZml4T2Zmc2V0KG9ialRvTG9jYWxUUyhvYmopLCBvZmZzZXQsIHpvbmUpO1xufVxuXG4vLyBjcmVhdGUgYSBuZXcgRFQgaW5zdGFuY2UgYnkgYWRkaW5nIGEgZHVyYXRpb24sIGFkanVzdGluZyBmb3IgRFNUc1xuZnVuY3Rpb24gYWRqdXN0VGltZShpbnN0LCBkdXIpIHtcbiAgY29uc3Qgb1ByZSA9IGluc3QubyxcbiAgICB5ZWFyID0gaW5zdC5jLnllYXIgKyBNYXRoLnRydW5jKGR1ci55ZWFycyksXG4gICAgbW9udGggPSBpbnN0LmMubW9udGggKyBNYXRoLnRydW5jKGR1ci5tb250aHMpICsgTWF0aC50cnVuYyhkdXIucXVhcnRlcnMpICogMyxcbiAgICBjID0ge1xuICAgICAgLi4uaW5zdC5jLFxuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5OlxuICAgICAgICBNYXRoLm1pbihpbnN0LmMuZGF5LCBkYXlzSW5Nb250aCh5ZWFyLCBtb250aCkpICtcbiAgICAgICAgTWF0aC50cnVuYyhkdXIuZGF5cykgK1xuICAgICAgICBNYXRoLnRydW5jKGR1ci53ZWVrcykgKiA3LFxuICAgIH0sXG4gICAgbWlsbGlzVG9BZGQgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHtcbiAgICAgIHllYXJzOiBkdXIueWVhcnMgLSBNYXRoLnRydW5jKGR1ci55ZWFycyksXG4gICAgICBxdWFydGVyczogZHVyLnF1YXJ0ZXJzIC0gTWF0aC50cnVuYyhkdXIucXVhcnRlcnMpLFxuICAgICAgbW9udGhzOiBkdXIubW9udGhzIC0gTWF0aC50cnVuYyhkdXIubW9udGhzKSxcbiAgICAgIHdlZWtzOiBkdXIud2Vla3MgLSBNYXRoLnRydW5jKGR1ci53ZWVrcyksXG4gICAgICBkYXlzOiBkdXIuZGF5cyAtIE1hdGgudHJ1bmMoZHVyLmRheXMpLFxuICAgICAgaG91cnM6IGR1ci5ob3VycyxcbiAgICAgIG1pbnV0ZXM6IGR1ci5taW51dGVzLFxuICAgICAgc2Vjb25kczogZHVyLnNlY29uZHMsXG4gICAgICBtaWxsaXNlY29uZHM6IGR1ci5taWxsaXNlY29uZHMsXG4gICAgfSkuYXMoXCJtaWxsaXNlY29uZHNcIiksXG4gICAgbG9jYWxUUyA9IG9ialRvTG9jYWxUUyhjKTtcblxuICBsZXQgW3RzLCBvXSA9IGZpeE9mZnNldChsb2NhbFRTLCBvUHJlLCBpbnN0LnpvbmUpO1xuXG4gIGlmIChtaWxsaXNUb0FkZCAhPT0gMCkge1xuICAgIHRzICs9IG1pbGxpc1RvQWRkO1xuICAgIC8vIHRoYXQgY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBvZmZzZXQgYnkgZ29pbmcgb3ZlciBhIERTVCwgYnV0IHdlIHdhbnQgdG8ga2VlcCB0aGUgdHMgdGhlIHNhbWVcbiAgICBvID0gaW5zdC56b25lLm9mZnNldCh0cyk7XG4gIH1cblxuICByZXR1cm4geyB0cywgbyB9O1xufVxuXG4vLyBoZWxwZXIgdXNlZnVsIGluIHR1cm5pbmcgdGhlIHJlc3VsdHMgb2YgcGFyc2luZyBpbnRvIHJlYWwgZGF0ZXNcbi8vIGJ5IGhhbmRsaW5nIHRoZSB6b25lIG9wdGlvbnNcbmZ1bmN0aW9uIHBhcnNlRGF0YVRvRGF0ZVRpbWUocGFyc2VkLCBwYXJzZWRab25lLCBvcHRzLCBmb3JtYXQsIHRleHQsIHNwZWNpZmljT2Zmc2V0KSB7XG4gIGNvbnN0IHsgc2V0Wm9uZSwgem9uZSB9ID0gb3B0cztcbiAgaWYgKHBhcnNlZCAmJiBPYmplY3Qua2V5cyhwYXJzZWQpLmxlbmd0aCAhPT0gMCkge1xuICAgIGNvbnN0IGludGVycHJldGF0aW9uWm9uZSA9IHBhcnNlZFpvbmUgfHwgem9uZSxcbiAgICAgIGluc3QgPSBEYXRlVGltZS5mcm9tT2JqZWN0KHBhcnNlZCwge1xuICAgICAgICAuLi5vcHRzLFxuICAgICAgICB6b25lOiBpbnRlcnByZXRhdGlvblpvbmUsXG4gICAgICAgIHNwZWNpZmljT2Zmc2V0LFxuICAgICAgfSk7XG4gICAgcmV0dXJuIHNldFpvbmUgPyBpbnN0IDogaW5zdC5zZXRab25lKHpvbmUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKFxuICAgICAgbmV3IEludmFsaWQoXCJ1bnBhcnNhYmxlXCIsIGB0aGUgaW5wdXQgXCIke3RleHR9XCIgY2FuJ3QgYmUgcGFyc2VkIGFzICR7Zm9ybWF0fWApXG4gICAgKTtcbiAgfVxufVxuXG4vLyBpZiB5b3Ugd2FudCB0byBvdXRwdXQgYSB0ZWNobmljYWwgZm9ybWF0IChlLmcuIFJGQyAyODIyKSwgdGhpcyBoZWxwZXJcbi8vIGhlbHBzIGhhbmRsZSB0aGUgZGV0YWlsc1xuZnVuY3Rpb24gdG9UZWNoRm9ybWF0KGR0LCBmb3JtYXQsIGFsbG93WiA9IHRydWUpIHtcbiAgcmV0dXJuIGR0LmlzVmFsaWRcbiAgICA/IEZvcm1hdHRlci5jcmVhdGUoTG9jYWxlLmNyZWF0ZShcImVuLVVTXCIpLCB7XG4gICAgICAgIGFsbG93WixcbiAgICAgICAgZm9yY2VTaW1wbGU6IHRydWUsXG4gICAgICB9KS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcoZHQsIGZvcm1hdClcbiAgICA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIHRvSVNPRGF0ZShvLCBleHRlbmRlZCkge1xuICBjb25zdCBsb25nRm9ybWF0ID0gby5jLnllYXIgPiA5OTk5IHx8IG8uYy55ZWFyIDwgMDtcbiAgbGV0IGMgPSBcIlwiO1xuICBpZiAobG9uZ0Zvcm1hdCAmJiBvLmMueWVhciA+PSAwKSBjICs9IFwiK1wiO1xuICBjICs9IHBhZFN0YXJ0KG8uYy55ZWFyLCBsb25nRm9ybWF0ID8gNiA6IDQpO1xuXG4gIGlmIChleHRlbmRlZCkge1xuICAgIGMgKz0gXCItXCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMubW9udGgpO1xuICAgIGMgKz0gXCItXCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMuZGF5KTtcbiAgfSBlbHNlIHtcbiAgICBjICs9IHBhZFN0YXJ0KG8uYy5tb250aCk7XG4gICAgYyArPSBwYWRTdGFydChvLmMuZGF5KTtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuZnVuY3Rpb24gdG9JU09UaW1lKFxuICBvLFxuICBleHRlbmRlZCxcbiAgc3VwcHJlc3NTZWNvbmRzLFxuICBzdXBwcmVzc01pbGxpc2Vjb25kcyxcbiAgaW5jbHVkZU9mZnNldCxcbiAgZXh0ZW5kZWRab25lXG4pIHtcbiAgbGV0IGMgPSBwYWRTdGFydChvLmMuaG91cik7XG4gIGlmIChleHRlbmRlZCkge1xuICAgIGMgKz0gXCI6XCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMubWludXRlKTtcbiAgICBpZiAoby5jLnNlY29uZCAhPT0gMCB8fCAhc3VwcHJlc3NTZWNvbmRzKSB7XG4gICAgICBjICs9IFwiOlwiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjICs9IHBhZFN0YXJ0KG8uYy5taW51dGUpO1xuICB9XG5cbiAgaWYgKG8uYy5zZWNvbmQgIT09IDAgfHwgIXN1cHByZXNzU2Vjb25kcykge1xuICAgIGMgKz0gcGFkU3RhcnQoby5jLnNlY29uZCk7XG5cbiAgICBpZiAoby5jLm1pbGxpc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc01pbGxpc2Vjb25kcykge1xuICAgICAgYyArPSBcIi5cIjtcbiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbGxpc2Vjb25kLCAzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaW5jbHVkZU9mZnNldCkge1xuICAgIGlmIChvLmlzT2Zmc2V0Rml4ZWQgJiYgby5vZmZzZXQgPT09IDAgJiYgIWV4dGVuZGVkWm9uZSkge1xuICAgICAgYyArPSBcIlpcIjtcbiAgICB9IGVsc2UgaWYgKG8ubyA8IDApIHtcbiAgICAgIGMgKz0gXCItXCI7XG4gICAgICBjICs9IHBhZFN0YXJ0KE1hdGgudHJ1bmMoLW8ubyAvIDYwKSk7XG4gICAgICBjICs9IFwiOlwiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKC1vLm8gJSA2MCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjICs9IFwiK1wiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKG8ubyAvIDYwKSk7XG4gICAgICBjICs9IFwiOlwiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKG8ubyAlIDYwKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGV4dGVuZGVkWm9uZSkge1xuICAgIGMgKz0gXCJbXCIgKyBvLnpvbmUuaWFuYU5hbWUgKyBcIl1cIjtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuLy8gZGVmYXVsdHMgZm9yIHVuc3BlY2lmaWVkIHVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzXG5jb25zdCBkZWZhdWx0VW5pdFZhbHVlcyA9IHtcbiAgICBtb250aDogMSxcbiAgICBkYXk6IDEsXG4gICAgaG91cjogMCxcbiAgICBtaW51dGU6IDAsXG4gICAgc2Vjb25kOiAwLFxuICAgIG1pbGxpc2Vjb25kOiAwLFxuICB9LFxuICBkZWZhdWx0V2Vla1VuaXRWYWx1ZXMgPSB7XG4gICAgd2Vla051bWJlcjogMSxcbiAgICB3ZWVrZGF5OiAxLFxuICAgIGhvdXI6IDAsXG4gICAgbWludXRlOiAwLFxuICAgIHNlY29uZDogMCxcbiAgICBtaWxsaXNlY29uZDogMCxcbiAgfSxcbiAgZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzID0ge1xuICAgIG9yZGluYWw6IDEsXG4gICAgaG91cjogMCxcbiAgICBtaW51dGU6IDAsXG4gICAgc2Vjb25kOiAwLFxuICAgIG1pbGxpc2Vjb25kOiAwLFxuICB9O1xuXG4vLyBVbml0cyBpbiB0aGUgc3VwcG9ydGVkIGNhbGVuZGFycywgc29ydGVkIGJ5IGJpZ25lc3NcbmNvbnN0IG9yZGVyZWRVbml0cyA9IFtcInllYXJcIiwgXCJtb250aFwiLCBcImRheVwiLCBcImhvdXJcIiwgXCJtaW51dGVcIiwgXCJzZWNvbmRcIiwgXCJtaWxsaXNlY29uZFwiXSxcbiAgb3JkZXJlZFdlZWtVbml0cyA9IFtcbiAgICBcIndlZWtZZWFyXCIsXG4gICAgXCJ3ZWVrTnVtYmVyXCIsXG4gICAgXCJ3ZWVrZGF5XCIsXG4gICAgXCJob3VyXCIsXG4gICAgXCJtaW51dGVcIixcbiAgICBcInNlY29uZFwiLFxuICAgIFwibWlsbGlzZWNvbmRcIixcbiAgXSxcbiAgb3JkZXJlZE9yZGluYWxVbml0cyA9IFtcInllYXJcIiwgXCJvcmRpbmFsXCIsIFwiaG91clwiLCBcIm1pbnV0ZVwiLCBcInNlY29uZFwiLCBcIm1pbGxpc2Vjb25kXCJdO1xuXG4vLyBzdGFuZGFyZGl6ZSBjYXNlIGFuZCBwbHVyYWxpdHkgaW4gdW5pdHNcbmZ1bmN0aW9uIG5vcm1hbGl6ZVVuaXQodW5pdCkge1xuICBjb25zdCBub3JtYWxpemVkID0ge1xuICAgIHllYXI6IFwieWVhclwiLFxuICAgIHllYXJzOiBcInllYXJcIixcbiAgICBtb250aDogXCJtb250aFwiLFxuICAgIG1vbnRoczogXCJtb250aFwiLFxuICAgIGRheTogXCJkYXlcIixcbiAgICBkYXlzOiBcImRheVwiLFxuICAgIGhvdXI6IFwiaG91clwiLFxuICAgIGhvdXJzOiBcImhvdXJcIixcbiAgICBtaW51dGU6IFwibWludXRlXCIsXG4gICAgbWludXRlczogXCJtaW51dGVcIixcbiAgICBxdWFydGVyOiBcInF1YXJ0ZXJcIixcbiAgICBxdWFydGVyczogXCJxdWFydGVyXCIsXG4gICAgc2Vjb25kOiBcInNlY29uZFwiLFxuICAgIHNlY29uZHM6IFwic2Vjb25kXCIsXG4gICAgbWlsbGlzZWNvbmQ6IFwibWlsbGlzZWNvbmRcIixcbiAgICBtaWxsaXNlY29uZHM6IFwibWlsbGlzZWNvbmRcIixcbiAgICB3ZWVrZGF5OiBcIndlZWtkYXlcIixcbiAgICB3ZWVrZGF5czogXCJ3ZWVrZGF5XCIsXG4gICAgd2Vla251bWJlcjogXCJ3ZWVrTnVtYmVyXCIsXG4gICAgd2Vla3NudW1iZXI6IFwid2Vla051bWJlclwiLFxuICAgIHdlZWtudW1iZXJzOiBcIndlZWtOdW1iZXJcIixcbiAgICB3ZWVreWVhcjogXCJ3ZWVrWWVhclwiLFxuICAgIHdlZWt5ZWFyczogXCJ3ZWVrWWVhclwiLFxuICAgIG9yZGluYWw6IFwib3JkaW5hbFwiLFxuICB9W3VuaXQudG9Mb3dlckNhc2UoKV07XG5cbiAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTtcblxuICByZXR1cm4gbm9ybWFsaXplZDtcbn1cblxuLy8gdGhpcyBpcyBhIGR1bWJlZCBkb3duIHZlcnNpb24gb2YgZnJvbU9iamVjdCgpIHRoYXQgcnVucyBhYm91dCA2MCUgZmFzdGVyXG4vLyBidXQgZG9lc24ndCBkbyBhbnkgdmFsaWRhdGlvbiwgbWFrZXMgYSBidW5jaCBvZiBhc3N1bXB0aW9ucyBhYm91dCB3aGF0IHVuaXRzXG4vLyBhcmUgcHJlc2VudCwgYW5kIHNvIG9uLlxuZnVuY3Rpb24gcXVpY2tEVChvYmosIG9wdHMpIHtcbiAgY29uc3Qgem9uZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksXG4gICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyksXG4gICAgdHNOb3cgPSBTZXR0aW5ncy5ub3coKTtcblxuICBsZXQgdHMsIG87XG5cbiAgLy8gYXNzdW1lIHdlIGhhdmUgdGhlIGhpZ2hlci1vcmRlciB1bml0c1xuICBpZiAoIWlzVW5kZWZpbmVkKG9iai55ZWFyKSkge1xuICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmIChpc1VuZGVmaW5lZChvYmpbdV0pKSB7XG4gICAgICAgIG9ialt1XSA9IGRlZmF1bHRVbml0VmFsdWVzW3VdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YShvYmopIHx8IGhhc0ludmFsaWRUaW1lRGF0YShvYmopO1xuICAgIGlmIChpbnZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRQcm92aXMgPSB6b25lLm9mZnNldCh0c05vdyk7XG4gICAgW3RzLCBvXSA9IG9ialRvVFMob2JqLCBvZmZzZXRQcm92aXMsIHpvbmUpO1xuICB9IGVsc2Uge1xuICAgIHRzID0gdHNOb3c7XG4gIH1cblxuICByZXR1cm4gbmV3IERhdGVUaW1lKHsgdHMsIHpvbmUsIGxvYywgbyB9KTtcbn1cblxuZnVuY3Rpb24gZGlmZlJlbGF0aXZlKHN0YXJ0LCBlbmQsIG9wdHMpIHtcbiAgY29uc3Qgcm91bmQgPSBpc1VuZGVmaW5lZChvcHRzLnJvdW5kKSA/IHRydWUgOiBvcHRzLnJvdW5kLFxuICAgIGZvcm1hdCA9IChjLCB1bml0KSA9PiB7XG4gICAgICBjID0gcm91bmRUbyhjLCByb3VuZCB8fCBvcHRzLmNhbGVuZGFyeSA/IDAgOiAyLCB0cnVlKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlciA9IGVuZC5sb2MuY2xvbmUob3B0cykucmVsRm9ybWF0dGVyKG9wdHMpO1xuICAgICAgcmV0dXJuIGZvcm1hdHRlci5mb3JtYXQoYywgdW5pdCk7XG4gICAgfSxcbiAgICBkaWZmZXIgPSAodW5pdCkgPT4ge1xuICAgICAgaWYgKG9wdHMuY2FsZW5kYXJ5KSB7XG4gICAgICAgIGlmICghZW5kLmhhc1NhbWUoc3RhcnQsIHVuaXQpKSB7XG4gICAgICAgICAgcmV0dXJuIGVuZC5zdGFydE9mKHVuaXQpLmRpZmYoc3RhcnQuc3RhcnRPZih1bml0KSwgdW5pdCkuZ2V0KHVuaXQpO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZW5kLmRpZmYoc3RhcnQsIHVuaXQpLmdldCh1bml0KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gIGlmIChvcHRzLnVuaXQpIHtcbiAgICByZXR1cm4gZm9ybWF0KGRpZmZlcihvcHRzLnVuaXQpLCBvcHRzLnVuaXQpO1xuICB9XG5cbiAgZm9yIChjb25zdCB1bml0IG9mIG9wdHMudW5pdHMpIHtcbiAgICBjb25zdCBjb3VudCA9IGRpZmZlcih1bml0KTtcbiAgICBpZiAoTWF0aC5hYnMoY291bnQpID49IDEpIHtcbiAgICAgIHJldHVybiBmb3JtYXQoY291bnQsIHVuaXQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZm9ybWF0KHN0YXJ0ID4gZW5kID8gLTAgOiAwLCBvcHRzLnVuaXRzW29wdHMudW5pdHMubGVuZ3RoIC0gMV0pO1xufVxuXG5mdW5jdGlvbiBsYXN0T3B0cyhhcmdMaXN0KSB7XG4gIGxldCBvcHRzID0ge30sXG4gICAgYXJncztcbiAgaWYgKGFyZ0xpc3QubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdID09PSBcIm9iamVjdFwiKSB7XG4gICAgb3B0cyA9IGFyZ0xpc3RbYXJnTGlzdC5sZW5ndGggLSAxXTtcbiAgICBhcmdzID0gQXJyYXkuZnJvbShhcmdMaXN0KS5zbGljZSgwLCBhcmdMaXN0Lmxlbmd0aCAtIDEpO1xuICB9IGVsc2Uge1xuICAgIGFyZ3MgPSBBcnJheS5mcm9tKGFyZ0xpc3QpO1xuICB9XG4gIHJldHVybiBbb3B0cywgYXJnc107XG59XG5cbi8qKlxuICogQSBEYXRlVGltZSBpcyBhbiBpbW11dGFibGUgZGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBhbmQgYWNjb21wYW55aW5nIG1ldGhvZHMuIEl0IGNvbnRhaW5zIGNsYXNzIGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLlxuICpcbiAqIEEgRGF0ZVRpbWUgY29tcHJpc2VzIG9mOlxuICogKiBBIHRpbWVzdGFtcC4gRWFjaCBEYXRlVGltZSBpbnN0YW5jZSByZWZlcnMgdG8gYSBzcGVjaWZpYyBtaWxsaXNlY29uZCBvZiB0aGUgVW5peCBlcG9jaC5cbiAqICogQSB0aW1lIHpvbmUuIEVhY2ggaW5zdGFuY2UgaXMgY29uc2lkZXJlZCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIHpvbmUgKGJ5IGRlZmF1bHQgdGhlIGxvY2FsIHN5c3RlbSdzIHpvbmUpLlxuICogKiBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgdGhhdCBlZmZlY3QgaG93IG91dHB1dCBzdHJpbmdzIGFyZSBmb3JtYXR0ZWQsIHN1Y2ggYXMgYGxvY2FsZWAsIGBudW1iZXJpbmdTeXN0ZW1gLCBhbmQgYG91dHB1dENhbGVuZGFyYC5cbiAqXG4gKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBmdW5jdGlvbmFsaXR5IGl0IHByb3ZpZGVzOlxuICpcbiAqICogKipDcmVhdGlvbioqOiBUbyBjcmVhdGUgYSBEYXRlVGltZSBmcm9tIGl0cyBjb21wb25lbnRzLCB1c2Ugb25lIG9mIGl0cyBmYWN0b3J5IGNsYXNzIG1ldGhvZHM6IHtAbGluayBEYXRlVGltZSNsb2NhbH0sIHtAbGluayBEYXRlVGltZSN1dGN9LCBhbmQgKG1vc3QgZmxleGlibHkpIHtAbGluayBEYXRlVGltZSNmcm9tT2JqZWN0fS4gVG8gY3JlYXRlIG9uZSBmcm9tIGEgc3RhbmRhcmQgc3RyaW5nIGZvcm1hdCwgdXNlIHtAbGluayBEYXRlVGltZSNmcm9tSVNPfSwge0BsaW5rIERhdGVUaW1lI2Zyb21IVFRQfSwgYW5kIHtAbGluayBEYXRlVGltZSNmcm9tUkZDMjgyMn0uIFRvIGNyZWF0ZSBvbmUgZnJvbSBhIGN1c3RvbSBzdHJpbmcgZm9ybWF0LCB1c2Uge0BsaW5rIERhdGVUaW1lI2Zyb21Gb3JtYXR9LiBUbyBjcmVhdGUgb25lIGZyb20gYSBuYXRpdmUgSlMgZGF0ZSwgdXNlIHtAbGluayBEYXRlVGltZSNmcm9tSlNEYXRlfS5cbiAqICogKipHcmVnb3JpYW4gY2FsZW5kYXIgYW5kIHRpbWUqKjogVG8gZXhhbWluZSB0aGUgR3JlZ29yaWFuIHByb3BlcnRpZXMgb2YgYSBEYXRlVGltZSBpbmRpdmlkdWFsbHkgKGkuZSBhcyBvcHBvc2VkIHRvIGNvbGxlY3RpdmVseSB0aHJvdWdoIHtAbGluayBEYXRlVGltZSN0b09iamVjdH0pLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN5ZWFyfSwge0BsaW5rIERhdGVUaW1lI21vbnRofSxcbiAqIHtAbGluayBEYXRlVGltZSNkYXl9LCB7QGxpbmsgRGF0ZVRpbWUjaG91cn0sIHtAbGluayBEYXRlVGltZSNtaW51dGV9LCB7QGxpbmsgRGF0ZVRpbWUjc2Vjb25kfSwge0BsaW5rIERhdGVUaW1lI21pbGxpc2Vjb25kfSBhY2Nlc3NvcnMuXG4gKiAqICoqV2VlayBjYWxlbmRhcioqOiBGb3IgSVNPIHdlZWsgY2FsZW5kYXIgYXR0cmlidXRlcywgc2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjd2Vla1llYXJ9LCB7QGxpbmsgRGF0ZVRpbWUjd2Vla051bWJlcn0sIGFuZCB7QGxpbmsgRGF0ZVRpbWUjd2Vla2RheX0gYWNjZXNzb3JzLlxuICogKiAqKkNvbmZpZ3VyYXRpb24qKiBTZWUgdGhlIHtAbGluayBEYXRlVGltZSNsb2NhbGV9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjbnVtYmVyaW5nU3lzdGVtfSBhY2Nlc3NvcnMuXG4gKiAqICoqVHJhbnNmb3JtYXRpb24qKjogVG8gdHJhbnNmb3JtIHRoZSBEYXRlVGltZSBpbnRvIG90aGVyIERhdGVUaW1lcywgdXNlIHtAbGluayBEYXRlVGltZSNzZXR9LCB7QGxpbmsgRGF0ZVRpbWUjcmVjb25maWd1cmV9LCB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0sIHtAbGluayBEYXRlVGltZSNzZXRMb2NhbGV9LCB7QGxpbmsgRGF0ZVRpbWUucGx1c30sIHtAbGluayBEYXRlVGltZSNtaW51c30sIHtAbGluayBEYXRlVGltZSNlbmRPZn0sIHtAbGluayBEYXRlVGltZSNzdGFydE9mfSwge0BsaW5rIERhdGVUaW1lI3RvVVRDfSwgYW5kIHtAbGluayBEYXRlVGltZSN0b0xvY2FsfS5cbiAqICogKipPdXRwdXQqKjogVG8gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN0b1JlbGF0aXZlfSwge0BsaW5rIERhdGVUaW1lI3RvUmVsYXRpdmVDYWxlbmRhcn0sIHtAbGluayBEYXRlVGltZSN0b0pTT059LCB7QGxpbmsgRGF0ZVRpbWUjdG9JU099LCB7QGxpbmsgRGF0ZVRpbWUjdG9IVFRQfSwge0BsaW5rIERhdGVUaW1lI3RvT2JqZWN0fSwge0BsaW5rIERhdGVUaW1lI3RvUkZDMjgyMn0sIHtAbGluayBEYXRlVGltZSN0b1N0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0sIHtAbGluayBEYXRlVGltZSN0b01pbGxpc30gYW5kIHtAbGluayBEYXRlVGltZSN0b0pTRGF0ZX0uXG4gKlxuICogVGhlcmUncyBwbGVudHkgb3RoZXJzIGRvY3VtZW50ZWQgYmVsb3cuIEluIGFkZGl0aW9uLCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzdWJ0bGVyIHRvcGljcyBsaWtlIGludGVybmF0aW9uYWxpemF0aW9uLCB0aW1lIHpvbmVzLCBhbHRlcm5hdGl2ZSBjYWxlbmRhcnMsIHZhbGlkaXR5LCBhbmQgc28gb24sIHNlZSB0aGUgZXh0ZXJuYWwgZG9jdW1lbnRhdGlvbi5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0ZVRpbWUge1xuICAvKipcbiAgICogQGFjY2VzcyBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBjb25zdCB6b25lID0gY29uZmlnLnpvbmUgfHwgU2V0dGluZ3MuZGVmYXVsdFpvbmU7XG5cbiAgICBsZXQgaW52YWxpZCA9XG4gICAgICBjb25maWcuaW52YWxpZCB8fFxuICAgICAgKE51bWJlci5pc05hTihjb25maWcudHMpID8gbmV3IEludmFsaWQoXCJpbnZhbGlkIGlucHV0XCIpIDogbnVsbCkgfHxcbiAgICAgICghem9uZS5pc1ZhbGlkID8gdW5zdXBwb3J0ZWRab25lKHpvbmUpIDogbnVsbCk7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy50cyA9IGlzVW5kZWZpbmVkKGNvbmZpZy50cykgPyBTZXR0aW5ncy5ub3coKSA6IGNvbmZpZy50cztcblxuICAgIGxldCBjID0gbnVsbCxcbiAgICAgIG8gPSBudWxsO1xuICAgIGlmICghaW52YWxpZCkge1xuICAgICAgY29uc3QgdW5jaGFuZ2VkID0gY29uZmlnLm9sZCAmJiBjb25maWcub2xkLnRzID09PSB0aGlzLnRzICYmIGNvbmZpZy5vbGQuem9uZS5lcXVhbHMoem9uZSk7XG5cbiAgICAgIGlmICh1bmNoYW5nZWQpIHtcbiAgICAgICAgW2MsIG9dID0gW2NvbmZpZy5vbGQuYywgY29uZmlnLm9sZC5vXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG90ID0gem9uZS5vZmZzZXQodGhpcy50cyk7XG4gICAgICAgIGMgPSB0c1RvT2JqKHRoaXMudHMsIG90KTtcbiAgICAgICAgaW52YWxpZCA9IE51bWJlci5pc05hTihjLnllYXIpID8gbmV3IEludmFsaWQoXCJpbnZhbGlkIGlucHV0XCIpIDogbnVsbDtcbiAgICAgICAgYyA9IGludmFsaWQgPyBudWxsIDogYztcbiAgICAgICAgbyA9IGludmFsaWQgPyBudWxsIDogb3Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5fem9uZSA9IHpvbmU7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5sb2MgPSBjb25maWcubG9jIHx8IExvY2FsZS5jcmVhdGUoKTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBpbnZhbGlkO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMud2Vla0RhdGEgPSBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuYyA9IGM7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5vID0gbztcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmlzTHV4b25EYXRlVGltZSA9IHRydWU7XG4gIH1cblxuICAvLyBDT05TVFJVQ1RcblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZm9yIHRoZSBjdXJyZW50IGluc3RhbnQsIGluIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUuXG4gICAqXG4gICAqIFVzZSBTZXR0aW5ncyB0byBvdmVycmlkZSB0aGVzZSBkZWZhdWx0IHZhbHVlcyBpZiBuZWVkZWQuXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvSVNPKCkgLy9+PiBub3cgaW4gdGhlIElTTyBmb3JtYXRcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgbm93KCkge1xuICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe30pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGxvY2FsIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYGxvY2FsKClgIHdpdGggbm8gYXJndW1lbnRzKSwgdGhlIGN1cnJlbnQgdGltZSB3aWxsIGJlIHVzZWRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFttb250aD0xXSAtIFRoZSBtb250aCwgMS1pbmRleGVkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbZGF5PTFdIC0gVGhlIGRheSBvZiB0aGUgbW9udGgsIDEtaW5kZXhlZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWVcbiAgICogQHBhcmFtIHtudW1iZXJ9IFttaW51dGU9MF0gLSBUaGUgbWludXRlIG9mIHRoZSBob3VyLCBtZWFuaW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgNTlcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzZWNvbmQ9MF0gLSBUaGUgc2Vjb25kIG9mIHRoZSBtaW51dGUsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA1OVxuICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vd1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCh7IHpvbmU6IFwiQW1lcmljYS9OZXdfWW9ya1wiIH0pICAgICAgLy9+PiBub3csIGluIFVTIGVhc3QgY29hc3QgdGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMS0wMVQwMDowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0wMVQwMDowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgeyBsb2NhbGU6IFwiZnJcIiB9KSAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwLCB3aXRoIGEgRnJlbmNoIGxvY2FsZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSkgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgeyB6b25lOiBcInV0Y1wiIH0pICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwLCBpbiBVVENcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1KSAgICAgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MDBcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCkgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTBcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCwgNzY1KSAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAuNzY1XG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc3RhdGljIGxvY2FsKCkge1xuICAgIGNvbnN0IFtvcHRzLCBhcmdzXSA9IGxhc3RPcHRzKGFyZ3VtZW50cyksXG4gICAgICBbeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXSA9IGFyZ3M7XG4gICAgcmV0dXJuIHF1aWNrRFQoeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgfSwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgaW4gVVRDXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYHV0YygpYCB3aXRoIG5vIGFyZ3VtZW50cyksIHRoZSBjdXJyZW50IHRpbWUgd2lsbCBiZSB1c2VkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbW9udGg9MV0gLSBUaGUgbW9udGgsIDEtaW5kZXhlZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2RheT0xXSAtIFRoZSBkYXkgb2YgdGhlIG1vbnRoXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbaG91cj0wXSAtIFRoZSBob3VyIG9mIHRoZSBkYXksIGluIDI0LWhvdXIgdGltZVxuICAgKiBAcGFyYW0ge251bWJlcn0gW21pbnV0ZT0wXSAtIFRoZSBtaW51dGUgb2YgdGhlIGhvdXIsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA1OVxuICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbWlsbGlzZWNvbmQ9MF0gLSBUaGUgbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDk5OVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5sb2NhbGVdIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm91dHB1dENhbGVuZGFyXSAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm51bWJlcmluZ1N5c3RlbV0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vd1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDEtMDFUMDA6MDA6MDBaXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0wMVQwMDowMDowMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwWlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNywgMywgMTIsIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6MDA6MDBaXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzLCAxMiwgNSwgNDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NTowMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgeyBsb2NhbGU6IFwiZnJcIiB9KSAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MDBaIHdpdGggYSBGcmVuY2ggbG9jYWxlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzLCAxMiwgNSwgNDUsIDEwKSAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NToxMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSwgeyBsb2NhbGU6IFwiZnJcIiB9KSAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAuNzY1WiB3aXRoIGEgRnJlbmNoIGxvY2FsZVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyB1dGMoKSB7XG4gICAgY29uc3QgW29wdHMsIGFyZ3NdID0gbGFzdE9wdHMoYXJndW1lbnRzKSxcbiAgICAgIFt5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmRdID0gYXJncztcblxuICAgIG9wdHMuem9uZSA9IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZTtcbiAgICByZXR1cm4gcXVpY2tEVCh7IHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCB9LCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgSmF2YVNjcmlwdCBEYXRlIG9iamVjdC4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLlxuICAgKiBAcGFyYW0ge0RhdGV9IGRhdGUgLSBhIEphdmFTY3JpcHQgRGF0ZSBvYmplY3RcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTRGF0ZShkYXRlLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB0cyA9IGlzRGF0ZShkYXRlKSA/IGRhdGUudmFsdWVPZigpIDogTmFOO1xuICAgIGlmIChOdW1iZXIuaXNOYU4odHMpKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcImludmFsaWQgaW5wdXRcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgem9uZVRvVXNlID0gbm9ybWFsaXplWm9uZShvcHRpb25zLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgICBpZiAoIXpvbmVUb1VzZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZVRvVXNlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7XG4gICAgICB0czogdHMsXG4gICAgICB6b25lOiB6b25lVG9Vc2UsXG4gICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCAobWVhbmluZyBzaW5jZSAxIEphbnVhcnkgMTk3MCAwMDowMDowMCBVVEMpLiBVc2VzIHRoZSBkZWZhdWx0IHpvbmUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaWxsaXNlY29uZHMgLSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MCBVVENcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbU1pbGxpcyhtaWxsaXNlY29uZHMsIG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghaXNOdW1iZXIobWlsbGlzZWNvbmRzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgZnJvbU1pbGxpcyByZXF1aXJlcyBhIG51bWVyaWNhbCBpbnB1dCwgYnV0IHJlY2VpdmVkIGEgJHt0eXBlb2YgbWlsbGlzZWNvbmRzfSB3aXRoIHZhbHVlICR7bWlsbGlzZWNvbmRzfWBcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChtaWxsaXNlY29uZHMgPCAtTUFYX0RBVEUgfHwgbWlsbGlzZWNvbmRzID4gTUFYX0RBVEUpIHtcbiAgICAgIC8vIHRoaXMgaXNuJ3QgcGVyZmVjdCBiZWNhdXNlIGJlY2F1c2Ugd2UgY2FuIHN0aWxsIGVuZCB1cCBvdXQgb2YgcmFuZ2UgYmVjYXVzZSBvZiBhZGRpdGlvbmFsIHNoaWZ0aW5nLCBidXQgaXQncyBhIHN0YXJ0XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcIlRpbWVzdGFtcCBvdXQgb2YgcmFuZ2VcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe1xuICAgICAgICB0czogbWlsbGlzZWNvbmRzLFxuICAgICAgICB6b25lOiBub3JtYWxpemVab25lKG9wdGlvbnMuem9uZSwgU2V0dGluZ3MuZGVmYXVsdFpvbmUpLFxuICAgICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2ggKG1lYW5pbmcgc2luY2UgMSBKYW51YXJ5IDE5NzAgMDA6MDA6MDAgVVRDKS4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2Vjb25kcyAtIGEgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMTk3MCBVVENcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbVNlY29uZHMoc2Vjb25kcywgb3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKCFpc051bWJlcihzZWNvbmRzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwiZnJvbVNlY29uZHMgcmVxdWlyZXMgYSBudW1lcmljYWwgaW5wdXRcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe1xuICAgICAgICB0czogc2Vjb25kcyAqIDEwMDAsXG4gICAgICAgIHpvbmU6IG5vcm1hbGl6ZVpvbmUob3B0aW9ucy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksXG4gICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGgga2V5cyBsaWtlICd5ZWFyJyBhbmQgJ2hvdXInIHdpdGggcmVhc29uYWJsZSBkZWZhdWx0cy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9iaiAtIHRoZSBvYmplY3QgdG8gY3JlYXRlIHRoZSBEYXRlVGltZSBmcm9tXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoueWVhciAtIGEgeWVhciwgc3VjaCBhcyAxOTg3XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubW9udGggLSBhIG1vbnRoLCAxLTEyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmouZGF5IC0gYSBkYXkgb2YgdGhlIG1vbnRoLCAxLTMxLCBkZXBlbmRpbmcgb24gdGhlIG1vbnRoXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoub3JkaW5hbCAtIGRheSBvZiB0aGUgeWVhciwgMS0zNjUgb3IgMzY2XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla1llYXIgLSBhbiBJU08gd2VlayB5ZWFyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla051bWJlciAtIGFuIElTTyB3ZWVrIG51bWJlciwgYmV0d2VlbiAxIGFuZCA1MiBvciA1MywgZGVwZW5kaW5nIG9uIHRoZSB5ZWFyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla2RheSAtIGFuIElTTyB3ZWVrZGF5LCAxLTcsIHdoZXJlIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLmhvdXIgLSBob3VyIG9mIHRoZSBkYXksIDAtMjNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taW51dGUgLSBtaW51dGUgb2YgdGhlIGhvdXIsIDAtNTlcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmQgLSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgMC01OVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbGxpc2Vjb25kIC0gbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCwgMC05OTlcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGlzIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBpbnRlcnByZXQgdGhlIG51bWJlcnMgaW4gdGhlIGNvbnRleHQgb2YgYSBwYXJ0aWN1bGFyIHpvbmUuIENhbiB0YWtlIGFueSB2YWx1ZSB0YWtlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gc2V0Wm9uZSgpXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiAxOTgyLCBtb250aDogNSwgZGF5OiAyNX0pLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDUtMjUnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiAxOTgyIH0pLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDEtMDEnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0pIC8vfj4gdG9kYXkgYXQgMTA6MjY6MDZcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IGhvdXI6IDEwLCBtaW51dGU6IDI2LCBzZWNvbmQ6IDYgfSwgeyB6b25lOiAndXRjJyB9KSxcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IGhvdXI6IDEwLCBtaW51dGU6IDI2LCBzZWNvbmQ6IDYgfSwgeyB6b25lOiAnbG9jYWwnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ0FtZXJpY2EvTmV3X1lvcmsnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB3ZWVrWWVhcjogMjAxNiwgd2Vla051bWJlcjogMiwgd2Vla2RheTogMyB9KS50b0lTT0RhdGUoKSAvLz0+ICcyMDE2LTAxLTEzJ1xuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tT2JqZWN0KG9iaiwgb3B0cyA9IHt9KSB7XG4gICAgb2JqID0gb2JqIHx8IHt9O1xuICAgIGNvbnN0IHpvbmVUb1VzZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7XG4gICAgaWYgKCF6b25lVG9Vc2UuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmVUb1VzZSkpO1xuICAgIH1cblxuICAgIGNvbnN0IHRzTm93ID0gU2V0dGluZ3Mubm93KCksXG4gICAgICBvZmZzZXRQcm92aXMgPSAhaXNVbmRlZmluZWQob3B0cy5zcGVjaWZpY09mZnNldClcbiAgICAgICAgPyBvcHRzLnNwZWNpZmljT2Zmc2V0XG4gICAgICAgIDogem9uZVRvVXNlLm9mZnNldCh0c05vdyksXG4gICAgICBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KG9iaiwgbm9ybWFsaXplVW5pdCksXG4gICAgICBjb250YWluc09yZGluYWwgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yWWVhciA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLnllYXIpLFxuICAgICAgY29udGFpbnNHcmVnb3JNRCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm1vbnRoKSB8fCAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5kYXkpLFxuICAgICAgY29udGFpbnNHcmVnb3IgPSBjb250YWluc0dyZWdvclllYXIgfHwgY29udGFpbnNHcmVnb3JNRCxcbiAgICAgIGRlZmluaXRlV2Vla0RlZiA9IG5vcm1hbGl6ZWQud2Vla1llYXIgfHwgbm9ybWFsaXplZC53ZWVrTnVtYmVyLFxuICAgICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyk7XG5cbiAgICAvLyBjYXNlczpcbiAgICAvLyBqdXN0IGEgd2Vla2RheSAtPiB0aGlzIHdlZWsncyBpbnN0YW5jZSBvZiB0aGF0IHdlZWtkYXksIG5vIHdvcnJpZXNcbiAgICAvLyAoZ3JlZ29yaWFuIGRhdGEgb3Igb3JkaW5hbCkgKyAod2Vla1llYXIgb3Igd2Vla051bWJlcikgLT4gZXJyb3JcbiAgICAvLyAoZ3JlZ29yaWFuIG1vbnRoIG9yIGRheSkgKyBvcmRpbmFsIC0+IGVycm9yXG4gICAgLy8gb3RoZXJ3aXNlIGp1c3QgdXNlIHdlZWtzIG9yIG9yZGluYWxzIG9yIGdyZWdvcmlhbiwgZGVwZW5kaW5nIG9uIHdoYXQncyBzcGVjaWZpZWRcblxuICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcihcbiAgICAgICAgXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VXZWVrRGF0YSA9IGRlZmluaXRlV2Vla0RlZiB8fCAobm9ybWFsaXplZC53ZWVrZGF5ICYmICFjb250YWluc0dyZWdvcik7XG5cbiAgICAvLyBjb25maWd1cmUgb3Vyc2VsdmVzIHRvIGRlYWwgd2l0aCBncmVnb3JpYW4gZGF0ZXMgb3Igd2VlayBzdHVmZlxuICAgIGxldCB1bml0cyxcbiAgICAgIGRlZmF1bHRWYWx1ZXMsXG4gICAgICBvYmpOb3cgPSB0c1RvT2JqKHRzTm93LCBvZmZzZXRQcm92aXMpO1xuICAgIGlmICh1c2VXZWVrRGF0YSkge1xuICAgICAgdW5pdHMgPSBvcmRlcmVkV2Vla1VuaXRzO1xuICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRXZWVrVW5pdFZhbHVlcztcbiAgICAgIG9iak5vdyA9IGdyZWdvcmlhblRvV2VlayhvYmpOb3cpO1xuICAgIH0gZWxzZSBpZiAoY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB1bml0cyA9IG9yZGVyZWRPcmRpbmFsVW5pdHM7XG4gICAgICBkZWZhdWx0VmFsdWVzID0gZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzO1xuICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9PcmRpbmFsKG9iak5vdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuaXRzID0gb3JkZXJlZFVuaXRzO1xuICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRVbml0VmFsdWVzO1xuICAgIH1cblxuICAgIC8vIHNldCBkZWZhdWx0IHZhbHVlcyBmb3IgbWlzc2luZyBzdHVmZlxuICAgIGxldCBmb3VuZEZpcnN0ID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCB1IG9mIHVuaXRzKSB7XG4gICAgICBjb25zdCB2ID0gbm9ybWFsaXplZFt1XTtcbiAgICAgIGlmICghaXNVbmRlZmluZWQodikpIHtcbiAgICAgICAgZm91bmRGaXJzdCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGZvdW5kRmlyc3QpIHtcbiAgICAgICAgbm9ybWFsaXplZFt1XSA9IGRlZmF1bHRWYWx1ZXNbdV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub3JtYWxpemVkW3VdID0gb2JqTm93W3VdO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgdmFsdWVzIHdlIGhhdmUgYXJlIGluIHJhbmdlXG4gICAgY29uc3QgaGlnaGVyT3JkZXJJbnZhbGlkID0gdXNlV2Vla0RhdGFcbiAgICAgICAgPyBoYXNJbnZhbGlkV2Vla0RhdGEobm9ybWFsaXplZClcbiAgICAgICAgOiBjb250YWluc09yZGluYWxcbiAgICAgICAgPyBoYXNJbnZhbGlkT3JkaW5hbERhdGEobm9ybWFsaXplZClcbiAgICAgICAgOiBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YShub3JtYWxpemVkKSxcbiAgICAgIGludmFsaWQgPSBoaWdoZXJPcmRlckludmFsaWQgfHwgaGFzSW52YWxpZFRpbWVEYXRhKG5vcm1hbGl6ZWQpO1xuXG4gICAgaWYgKGludmFsaWQpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKGludmFsaWQpO1xuICAgIH1cblxuICAgIC8vIGNvbXB1dGUgdGhlIGFjdHVhbCB0aW1lXG4gICAgY29uc3QgZ3JlZ29yaWFuID0gdXNlV2Vla0RhdGFcbiAgICAgICAgPyB3ZWVrVG9HcmVnb3JpYW4obm9ybWFsaXplZClcbiAgICAgICAgOiBjb250YWluc09yZGluYWxcbiAgICAgICAgPyBvcmRpbmFsVG9HcmVnb3JpYW4obm9ybWFsaXplZClcbiAgICAgICAgOiBub3JtYWxpemVkLFxuICAgICAgW3RzRmluYWwsIG9mZnNldEZpbmFsXSA9IG9ialRvVFMoZ3JlZ29yaWFuLCBvZmZzZXRQcm92aXMsIHpvbmVUb1VzZSksXG4gICAgICBpbnN0ID0gbmV3IERhdGVUaW1lKHtcbiAgICAgICAgdHM6IHRzRmluYWwsXG4gICAgICAgIHpvbmU6IHpvbmVUb1VzZSxcbiAgICAgICAgbzogb2Zmc2V0RmluYWwsXG4gICAgICAgIGxvYyxcbiAgICAgIH0pO1xuXG4gICAgLy8gZ3JlZ29yaWFuIGRhdGEgKyB3ZWVrZGF5IHNlcnZlcyBvbmx5IHRvIHZhbGlkYXRlXG4gICAgaWYgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiBjb250YWluc0dyZWdvciAmJiBvYmoud2Vla2RheSAhPT0gaW5zdC53ZWVrZGF5KSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcbiAgICAgICAgXCJtaXNtYXRjaGVkIHdlZWtkYXlcIixcbiAgICAgICAgYHlvdSBjYW4ndCBzcGVjaWZ5IGJvdGggYSB3ZWVrZGF5IG9mICR7bm9ybWFsaXplZC53ZWVrZGF5fSBhbmQgYSBkYXRlIG9mICR7aW5zdC50b0lTTygpfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBJU08gODYwMSBzdHJpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgSVNPIHN0cmluZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0cy56b25lPSdsb2NhbCddIC0gdXNlIHRoaXMgem9uZSBpZiBubyBvZmZzZXQgaXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dCBzdHJpbmcgaXRzZWxmLiBXaWxsIGFsc28gY29udmVydCB0aGUgdGltZSB0byB0aGlzIHpvbmVcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nc3lzdGVtJ3MgbG9jYWxlJ10gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXJdIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtMDUtMjVUMDk6MDg6MzQuMTIzJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUlTTygnMjAxNi0wNS0yNVQwOTowODozNC4xMjMrMDY6MDAnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcsIHtzZXRab25lOiB0cnVlfSlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUlTTygnMjAxNi0wNS0yNVQwOTowODozNC4xMjMnLCB7em9uZTogJ3V0Yyd9KVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LVcwNS00JylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzID0ge30pIHtcbiAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZUlTT0RhdGUodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgXCJJU08gODYwMVwiLCB0ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIFJGQyAyODIyIHN0cmluZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBSRkMgMjgyMiBzdHJpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIGNvbnZlcnQgdGhlIHRpbWUgdG8gdGhpcyB6b25lLiBTaW5jZSB0aGUgb2Zmc2V0IGlzIGFsd2F5cyBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIHRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgaW50ZXJwcmV0YXRpb24gb2Ygc3RyaW5nLCBtZXJlbHkgdGhlIHpvbmUgdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpcyBleHByZXNzZWQgaW4uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgZml4ZWQtb2Zmc2V0IHpvbmUgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCBpZiBpdCBzcGVjaWZpZXMgb25lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMzoxMiBHTVQnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tUkZDMjgyMignRnJpLCAyNSBOb3YgMjAxNiAxMzoyMzoxMiArMDYwMCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMyBaJylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbVJGQzI4MjIodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VSRkMyODIyRGF0ZSh0ZXh0KTtcbiAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBcIlJGQyAyODIyXCIsIHRleHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYW4gSFRUUCBoZWFkZXIgZGF0ZVxuICAgKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzMuaHRtbCNzZWMzLjMuMVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBIVFRQIGhlYWRlciBkYXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0byBhZmZlY3QgdGhlIGNyZWF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZS4gU2luY2UgSFRUUCBkYXRlcyBhcmUgYWx3YXlzIGluIFVUQywgdGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBzdHJpbmcsIG1lcmVseSB0aGUgem9uZSB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGlzIGV4cHJlc3NlZCBpbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggdGhlIGZpeGVkLW9mZnNldCB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nLiBGb3IgSFRUUCBkYXRlcywgdGhpcyBpcyBhbHdheXMgVVRDLCBzbyB0aGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcgdGhlIGB6b25lYCBvcHRpb24gdG8gJ3V0YycsIGJ1dCB0aGlzIG9wdGlvbiBpcyBpbmNsdWRlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCBzaW1pbGFyIG1ldGhvZHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21IVFRQKCdTdW4sIDA2IE5vdiAxOTk0IDA4OjQ5OjM3IEdNVCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21IVFRQKCdTdW5kYXksIDA2LU5vdi05NCAwODo0OTozNyBHTVQnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuIE5vdiAgNiAwODo0OTozNyAxOTk0JylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUhUVFAodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VIVFRQRGF0ZSh0ZXh0KTtcbiAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBcIkhUVFBcIiwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBpbnB1dCBzdHJpbmcgYW5kIGZvcm1hdCBzdHJpbmcuXG4gICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4gRm9yIGEgdGFibGUgb2YgdG9rZW5zIGFuZCB0aGVpciBpbnRlcnByZXRhdGlvbnMsIHNlZSBbaGVyZV0oaHR0cHM6Ly9tb21lbnQuZ2l0aHViLmlvL2x1eG9uLyMvcGFyc2luZz9pZD10YWJsZS1vZi10b2tlbnMpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIHRoZSBsaW5rIGJlbG93IGZvciB0aGUgZm9ybWF0cylcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIHVzZSB0aGlzIHpvbmUgaWYgbm8gb2Zmc2V0IGlzIHNwZWNpZmllZCBpbiB0aGUgaW5wdXQgc3RyaW5nIGl0c2VsZi4gV2lsbCBhbHNvIGNvbnZlcnQgdGhlIERhdGVUaW1lIHRvIHRoaXMgem9uZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnNldFpvbmU9ZmFsc2VdIC0gb3ZlcnJpZGUgdGhlIHpvbmUgd2l0aCBhIHpvbmUgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCBpZiBpdCBzcGVjaWZpZXMgb25lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSBhIGxvY2FsZSBzdHJpbmcgdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyBsb2NhbGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIHRvIHRoaXMgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUZvcm1hdCh0ZXh0LCBmbXQsIG9wdHMgPSB7fSkge1xuICAgIGlmIChpc1VuZGVmaW5lZCh0ZXh0KSB8fCBpc1VuZGVmaW5lZChmbXQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJmcm9tRm9ybWF0IHJlcXVpcmVzIGFuIGlucHV0IHN0cmluZyBhbmQgYSBmb3JtYXRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsIH0gPSBvcHRzLFxuICAgICAgbG9jYWxlVG9Vc2UgPSBMb2NhbGUuZnJvbU9wdHMoe1xuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG51bWJlcmluZ1N5c3RlbSxcbiAgICAgICAgZGVmYXVsdFRvRU46IHRydWUsXG4gICAgICB9KSxcbiAgICAgIFt2YWxzLCBwYXJzZWRab25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZF0gPSBwYXJzZUZyb21Ub2tlbnMobG9jYWxlVG9Vc2UsIHRleHQsIGZtdCk7XG4gICAgaWYgKGludmFsaWQpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKGludmFsaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBgZm9ybWF0ICR7Zm10fWAsIHRleHQsIHNwZWNpZmljT2Zmc2V0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGZyb21Gb3JtYXQgaW5zdGVhZFxuICAgKi9cbiAgc3RhdGljIGZyb21TdHJpbmcodGV4dCwgZm10LCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdCh0ZXh0LCBmbXQsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBTUUwgZGF0ZSwgdGltZSwgb3IgZGF0ZXRpbWVcbiAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIHN0cmluZyB0byBwYXJzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0cy56b25lPSdsb2NhbCddIC0gdXNlIHRoaXMgem9uZSBpZiBubyBvZmZzZXQgaXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dCBzdHJpbmcgaXRzZWxmLiBXaWxsIGFsc28gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyB6b25lXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIGEgbG9jYWxlIHN0cmluZyB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSBEYXRlVGltZSB0byB0aGlzIGxvY2FsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgdG8gdGhpcyBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1JylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzIwMTctMDUtMTUgMDk6MTI6MzQuMzQyJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIrMDY6MDAnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MiBBbWVyaWNhL0xvc19BbmdlbGVzJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIgQW1lcmljYS9Mb3NfQW5nZWxlcycsIHsgc2V0Wm9uZTogdHJ1ZSB9KVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MicsIHsgem9uZTogJ0FtZXJpY2EvTG9zX0FuZ2VsZXMnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzA5OjEyOjM0LjM0MicpXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc3RhdGljIGZyb21TUUwodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VTUUwodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgXCJTUUxcIiwgdGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGludmFsaWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWFzb24gLSBzaW1wbGUgc3RyaW5nIG9mIHdoeSB0aGlzIERhdGVUaW1lIGlzIGludmFsaWQuIFNob3VsZCBub3QgY29udGFpbiBwYXJhbWV0ZXJzIG9yIGFueXRoaW5nIGVsc2UgZGF0YS1kZXBlbmRlbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtleHBsYW5hdGlvbj1udWxsXSAtIGxvbmdlciBleHBsYW5hdGlvbiwgbWF5IGluY2x1ZGUgcGFyYW1ldGVycyBhbmQgb3RoZXIgdXNlZnVsIGRlYnVnZ2luZyBpbmZvcm1hdGlvblxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyBpbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24gPSBudWxsKSB7XG4gICAgaWYgKCFyZWFzb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgRGF0ZVRpbWUgaXMgaW52YWxpZFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pO1xuXG4gICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZERhdGVUaW1lRXJyb3IoaW52YWxpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoeyBpbnZhbGlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgRGF0ZVRpbWUuIFdvcmtzIGFjcm9zcyBjb250ZXh0IGJvdW5kYXJpZXNcbiAgICogQHBhcmFtIHtvYmplY3R9IG9cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBpc0RhdGVUaW1lKG8pIHtcbiAgICByZXR1cm4gKG8gJiYgby5pc0x1eG9uRGF0ZVRpbWUpIHx8IGZhbHNlO1xuICB9XG5cbiAgLy8gSU5GT1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbHVlIG9mIHVuaXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gYSB1bml0IHN1Y2ggYXMgJ21pbnV0ZScgb3IgJ2RheSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdtb250aCcpOyAvLz0+IDdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdkYXknKTsgLy89PiA0XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGdldCh1bml0KSB7XG4gICAgcmV0dXJuIHRoaXNbdW5pdF07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBEYXRlVGltZSBpcyB2YWxpZC4gSW52YWxpZCBEYXRlVGltZXMgb2NjdXIgd2hlbjpcbiAgICogKiBUaGUgRGF0ZVRpbWUgd2FzIGNyZWF0ZWQgZnJvbSBpbnZhbGlkIGNhbGVuZGFyIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSAxM3RoIG1vbnRoIG9yIEZlYnJ1YXJ5IDMwXG4gICAqICogVGhlIERhdGVUaW1lIHdhcyBjcmVhdGVkIGJ5IGFuIG9wZXJhdGlvbiBvbiBhbm90aGVyIGludmFsaWQgZGF0ZVxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBlcnJvciBjb2RlIGlmIHRoaXMgRGF0ZVRpbWUgaXMgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRGF0ZVRpbWUgaXMgdmFsaWRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCBpbnZhbGlkUmVhc29uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQucmVhc29uIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIERhdGVUaW1lIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBEYXRlVGltZSBpcyB2YWxpZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRFeHBsYW5hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gdGhpcy5pbnZhbGlkLmV4cGxhbmF0aW9uIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxvY2FsZSBvZiBhIERhdGVUaW1lLCBzdWNoICdlbi1HQicuIFRoZSBsb2NhbGUgaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyaW5nIHN5c3RlbSBvZiBhIERhdGVUaW1lLCBzdWNoICdiZW5nJy4gVGhlIG51bWJlcmluZyBzeXN0ZW0gaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgb3V0cHV0IGNhbGVuZGFyIG9mIGEgRGF0ZVRpbWUsIHN1Y2ggJ2lzbGFtaWMnLiBUaGUgb3V0cHV0IGNhbGVuZGFyIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZVxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG91dHB1dENhbGVuZGFyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0aW1lIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgRGF0ZVRpbWUuXG4gICAqIEB0eXBlIHtab25lfVxuICAgKi9cbiAgZ2V0IHpvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3pvbmU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSB0aW1lIHpvbmUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgem9uZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuem9uZS5uYW1lIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLnllYXIgLy89PiAyMDE3XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgeWVhcigpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnllYXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBxdWFydGVyXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5xdWFydGVyIC8vPT4gMlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHF1YXJ0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IE1hdGguY2VpbCh0aGlzLmMubW9udGggLyAzKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1vbnRoICgxLTEyKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm1vbnRoIC8vPT4gNVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IG1vbnRoKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubW9udGggOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIG1vbnRoICgxLTMwaXNoKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLmRheSAvLz0+IDI1XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgZGF5KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMuZGF5IDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaG91ciBvZiB0aGUgZGF5ICgwLTIzKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDkpLmhvdXIgLy89PiA5XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgaG91cigpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLmhvdXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtaW51dGUgb2YgdGhlIGhvdXIgKDAtNTkpLlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzApLm1pbnV0ZSAvLz0+IDMwXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbWludXRlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWludXRlIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2Vjb25kIG9mIHRoZSBtaW51dGUgKDAtNTkpLlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzAsIDUyKS5zZWNvbmQgLy89PiA1MlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHNlY29uZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnNlY29uZCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQgKDAtOTk5KS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwLCA1MiwgNjU0KS5taWxsaXNlY29uZCAvLz0+IDY1NFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IG1pbGxpc2Vjb25kKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWlsbGlzZWNvbmQgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3ZWVrIHllYXJcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDEyLCAzMSkud2Vla1llYXIgLy89PiAyMDE1XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla1llYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla1llYXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3ZWVrIG51bWJlciBvZiB0aGUgd2VlayB5ZWFyICgxLTUyaXNoKS5cbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS53ZWVrTnVtYmVyIC8vPT4gMjFcbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIGdldCB3ZWVrTnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKHRoaXMpLndlZWtOdW1iZXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIHdlZWsuXG4gICAqIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheVxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMTEsIDMxKS53ZWVrZGF5IC8vPT4gNFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHdlZWtkYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla2RheSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG9yZGluYWwgKG1lYW5pbmcgdGhlIGRheSBvZiB0aGUgeWVhcilcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm9yZGluYWwgLy89PiAxNDVcbiAgICogQHR5cGUge251bWJlcnxEYXRlVGltZX1cbiAgICovXG4gIGdldCBvcmRpbmFsKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKS5vcmRpbmFsIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgc2hvcnQgbW9udGggbmFtZSwgc3VjaCBhcyAnT2N0Jy5cbiAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkubW9udGhTaG9ydCAvLz0+IE9jdFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG1vbnRoU2hvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ubW9udGhzKFwic2hvcnRcIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBsb25nIG1vbnRoIG5hbWUsIHN1Y2ggYXMgJ09jdG9iZXInLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS5tb250aExvbmcgLy89PiBPY3RvYmVyXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbW9udGhMb25nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLm1vbnRocyhcImxvbmdcIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBzaG9ydCB3ZWVrZGF5LCBzdWNoIGFzICdNb24nLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5U2hvcnQgLy89PiBNb25cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCB3ZWVrZGF5U2hvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ud2Vla2RheXMoXCJzaG9ydFwiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgbG9uZyB3ZWVrZGF5LCBzdWNoIGFzICdNb25kYXknLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5TG9uZyAvLz0+IE1vbmRheVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IHdlZWtkYXlMb25nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLndlZWtkYXlzKFwibG9uZ1wiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgVVRDIG9mZnNldCBvZiB0aGlzIERhdGVUaW1lIGluIG1pbnV0ZXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkub2Zmc2V0IC8vPT4gLTI0MFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5vZmZzZXQgLy89PiAwXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgb2Zmc2V0KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyArdGhpcy5vIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2hvcnQgaHVtYW4gbmFtZSBmb3IgdGhlIHpvbmUncyBjdXJyZW50IG9mZnNldCwgZm9yIGV4YW1wbGUgXCJFU1RcIiBvciBcIkVEVFwiLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCBvZmZzZXROYW1lU2hvcnQoKSB7XG4gICAgaWYgKHRoaXMuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIHRoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMsIHtcbiAgICAgICAgZm9ybWF0OiBcInNob3J0XCIsXG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbG9uZyBodW1hbiBuYW1lIGZvciB0aGUgem9uZSdzIGN1cnJlbnQgb2Zmc2V0LCBmb3IgZXhhbXBsZSBcIkVhc3Rlcm4gU3RhbmRhcmQgVGltZVwiIG9yIFwiRWFzdGVybiBEYXlsaWdodCBUaW1lXCIuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG9mZnNldE5hbWVMb25nKCkge1xuICAgIGlmICh0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnpvbmUub2Zmc2V0TmFtZSh0aGlzLnRzLCB7XG4gICAgICAgIGZvcm1hdDogXCJsb25nXCIsXG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIHRoaXMgem9uZSdzIG9mZnNldCBldmVyIGNoYW5nZXMsIGFzIGluIGEgRFNULlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc09mZnNldEZpeGVkKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnpvbmUuaXNVbml2ZXJzYWwgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIHRoZSBEYXRlVGltZSBpcyBpbiBhIERTVC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNJbkRTVCgpIHtcbiAgICBpZiAodGhpcy5pc09mZnNldEZpeGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMub2Zmc2V0ID4gdGhpcy5zZXQoeyBtb250aDogMSwgZGF5OiAxIH0pLm9mZnNldCB8fFxuICAgICAgICB0aGlzLm9mZnNldCA+IHRoaXMuc2V0KHsgbW9udGg6IDUgfSkub2Zmc2V0XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBEYXRlVGltZSBpcyBpbiBhIGxlYXAgeWVhciwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmlzSW5MZWFwWWVhciAvLz0+IHRydWVcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuaXNJbkxlYXBZZWFyIC8vPT4gZmFsc2VcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNJbkxlYXBZZWFyKCkge1xuICAgIHJldHVybiBpc0xlYXBZZWFyKHRoaXMueWVhcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRheXMgaW4gdGhpcyBEYXRlVGltZSdzIG1vbnRoXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYsIDIpLmRheXNJbk1vbnRoIC8vPT4gMjlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNiwgMykuZGF5c0luTW9udGggLy89PiAzMVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXNJbk1vbnRoKCkge1xuICAgIHJldHVybiBkYXlzSW5Nb250aCh0aGlzLnllYXIsIHRoaXMubW9udGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoaXMgRGF0ZVRpbWUncyB5ZWFyXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmRheXNJblllYXIgLy89PiAzNjZcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuZGF5c0luWWVhciAvLz0+IDM2NVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXNJblllYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IGRheXNJblllYXIodGhpcy55ZWFyKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygd2Vla3MgaW4gdGhpcyBEYXRlVGltZSdzIHllYXJcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMDQpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUzXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTMpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUyXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla3NJbldlZWtZZWFyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB3ZWVrc0luV2Vla1llYXIodGhpcy53ZWVrWWVhcikgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmVzb2x2ZWQgSW50bCBvcHRpb25zIGZvciB0aGlzIERhdGVUaW1lLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpbiB1bmRlcnN0YW5kaW5nIHRoZSBiZWhhdmlvciBvZiBmb3JtYXR0aW5nIG1ldGhvZHNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSB0aGUgc2FtZSBvcHRpb25zIGFzIHRvTG9jYWxlU3RyaW5nXG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHJlc29sdmVkTG9jYWxlT3B0aW9ucyhvcHRzID0ge30pIHtcbiAgICBjb25zdCB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhciB9ID0gRm9ybWF0dGVyLmNyZWF0ZShcbiAgICAgIHRoaXMubG9jLmNsb25lKG9wdHMpLFxuICAgICAgb3B0c1xuICAgICkucmVzb2x2ZWRPcHRpb25zKHRoaXMpO1xuICAgIHJldHVybiB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcjogY2FsZW5kYXIgfTtcbiAgfVxuXG4gIC8vIFRSQU5TRk9STVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gVVRDLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8ge0BsaW5rIERhdGVUaW1lI3NldFpvbmV9KCd1dGMnKVxuICAgKiBAcGFyYW0ge251bWJlcn0gW29mZnNldD0wXSAtIG9wdGlvbmFsbHksIGFuIG9mZnNldCBmcm9tIFVUQyBpbiBtaW51dGVzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0cz17fV0gLSBvcHRpb25zIHRvIHBhc3MgdG8gYHNldFpvbmUoKWBcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICB0b1VUQyhvZmZzZXQgPSAwLCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5zZXRab25lKEZpeGVkT2Zmc2V0Wm9uZS5pbnN0YW5jZShvZmZzZXQpLCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gdGhlIGhvc3QncyBsb2NhbCB6b25lLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gYHNldFpvbmUoJ2xvY2FsJylgXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgdG9Mb2NhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZXRab25lKFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gc3BlY2lmaWVkIHpvbmUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIHNldHRlciBrZWVwcyB0aGUgdW5kZXJseWluZyB0aW1lIHRoZSBzYW1lIChhcyBpbiwgdGhlIHNhbWUgdGltZXN0YW1wKSwgYnV0IHRoZSBuZXcgaW5zdGFuY2Ugd2lsbCByZXBvcnQgZGlmZmVyZW50IGxvY2FsIHRpbWVzIGFuZCBjb25zaWRlciBEU1RzIHdoZW4gbWFraW5nIGNvbXB1dGF0aW9ucywgYXMgd2l0aCB7QGxpbmsgRGF0ZVRpbWUjcGx1c30uIFlvdSBtYXkgd2lzaCB0byB1c2Uge0BsaW5rIERhdGVUaW1lI3RvTG9jYWx9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjdG9VVEN9IHdoaWNoIHByb3ZpZGUgc2ltcGxlIGNvbnZlbmllbmNlIHdyYXBwZXJzIGZvciBjb21tb25seSB1c2VkIHpvbmVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbem9uZT0nbG9jYWwnXSAtIGEgem9uZSBpZGVudGlmaWVyLiBBcyBhIHN0cmluZywgdGhhdCBjYW4gYmUgYW55IElBTkEgem9uZSBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QgZW52aXJvbm1lbnQsIG9yIGEgZml4ZWQtb2Zmc2V0IG5hbWUgb2YgdGhlIGZvcm0gJ1VUQyszJywgb3IgdGhlIHN0cmluZ3MgJ2xvY2FsJyBvciAndXRjJy4gWW91IG1heSBhbHNvIHN1cHBseSBhbiBpbnN0YW5jZSBvZiBhIHtAbGluayBEYXRlVGltZSNab25lfSBjbGFzcy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMua2VlcExvY2FsVGltZT1mYWxzZV0gLSBJZiB0cnVlLCBhZGp1c3QgdGhlIHVuZGVybHlpbmcgdGltZSBzbyB0aGF0IHRoZSBsb2NhbCB0aW1lIHN0YXlzIHRoZSBzYW1lLCBidXQgaW4gdGhlIHRhcmdldCB6b25lLiBZb3Ugc2hvdWxkIHJhcmVseSBuZWVkIHRoaXMuXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc2V0Wm9uZSh6b25lLCB7IGtlZXBMb2NhbFRpbWUgPSBmYWxzZSwga2VlcENhbGVuZGFyVGltZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgIHpvbmUgPSBub3JtYWxpemVab25lKHpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgICBpZiAoem9uZS5lcXVhbHModGhpcy56b25lKSkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIGlmICghem9uZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbmV3VFMgPSB0aGlzLnRzO1xuICAgICAgaWYgKGtlZXBMb2NhbFRpbWUgfHwga2VlcENhbGVuZGFyVGltZSkge1xuICAgICAgICBjb25zdCBvZmZzZXRHdWVzcyA9IHpvbmUub2Zmc2V0KHRoaXMudHMpO1xuICAgICAgICBjb25zdCBhc09iaiA9IHRoaXMudG9PYmplY3QoKTtcbiAgICAgICAgW25ld1RTXSA9IG9ialRvVFMoYXNPYmosIG9mZnNldEd1ZXNzLCB6b25lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHRzOiBuZXdUUywgem9uZSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG9yIG91dHB1dENhbGVuZGFyLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIC0gdGhlIHByb3BlcnRpZXMgdG8gc2V0XG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0gPSB7fSkge1xuICAgIGNvbnN0IGxvYyA9IHRoaXMubG9jLmNsb25lKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0pO1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IGxvYyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBsb2NhbGUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS5cbiAgICogSnVzdCBhIGNvbnZlbmllbnQgYWxpYXMgZm9yIHJlY29uZmlndXJlKHsgbG9jYWxlIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5zZXRMb2NhbGUoJ2VuLUdCJylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzZXRMb2NhbGUobG9jYWxlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb25maWd1cmUoeyBsb2NhbGUgfSk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgdmFsdWVzIG9mIHNwZWNpZmllZCB1bml0cy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLlxuICAgKiBZb3UgY2FuIG9ubHkgc2V0IHVuaXRzIHdpdGggdGhpcyBtZXRob2Q7IGZvciBcInNldHRpbmdcIiBtZXRhZGF0YSwgc2VlIHtAbGluayBEYXRlVGltZSNyZWNvbmZpZ3VyZX0gYW5kIHtAbGluayBEYXRlVGltZSNzZXRab25lfS5cbiAgICogQHBhcmFtIHtPYmplY3R9IHZhbHVlcyAtIGEgbWFwcGluZyBvZiB1bml0cyB0byBudW1iZXJzXG4gICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMTcgfSlcbiAgICogQGV4YW1wbGUgZHQuc2V0KHsgaG91cjogOCwgbWludXRlOiAzMCB9KVxuICAgKiBAZXhhbXBsZSBkdC5zZXQoeyB3ZWVrZGF5OiA1IH0pXG4gICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMDUsIG9yZGluYWw6IDIzNCB9KVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHNldCh2YWx1ZXMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KHZhbHVlcywgbm9ybWFsaXplVW5pdCksXG4gICAgICBzZXR0aW5nV2Vla1N0dWZmID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQud2Vla1llYXIpIHx8XG4gICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtOdW1iZXIpIHx8XG4gICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtkYXkpLFxuICAgICAgY29udGFpbnNPcmRpbmFsID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQub3JkaW5hbCksXG4gICAgICBjb250YWluc0dyZWdvclllYXIgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC55ZWFyKSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yTUQgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5tb250aCkgfHwgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yID0gY29udGFpbnNHcmVnb3JZZWFyIHx8IGNvbnRhaW5zR3JlZ29yTUQsXG4gICAgICBkZWZpbml0ZVdlZWtEZWYgPSBub3JtYWxpemVkLndlZWtZZWFyIHx8IG5vcm1hbGl6ZWQud2Vla051bWJlcjtcblxuICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcihcbiAgICAgICAgXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVwiKTtcbiAgICB9XG5cbiAgICBsZXQgbWl4ZWQ7XG4gICAgaWYgKHNldHRpbmdXZWVrU3R1ZmYpIHtcbiAgICAgIG1peGVkID0gd2Vla1RvR3JlZ29yaWFuKHsgLi4uZ3JlZ29yaWFuVG9XZWVrKHRoaXMuYyksIC4uLm5vcm1hbGl6ZWQgfSk7XG4gICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSkge1xuICAgICAgbWl4ZWQgPSBvcmRpbmFsVG9HcmVnb3JpYW4oeyAuLi5ncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKSwgLi4ubm9ybWFsaXplZCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWl4ZWQgPSB7IC4uLnRoaXMudG9PYmplY3QoKSwgLi4ubm9ybWFsaXplZCB9O1xuXG4gICAgICAvLyBpZiB3ZSBkaWRuJ3Qgc2V0IHRoZSBkYXkgYnV0IHdlIGVuZGVkIHVwIG9uIGFuIG92ZXJmbG93IGRhdGUsXG4gICAgICAvLyB1c2UgdGhlIGxhc3QgZGF5IG9mIHRoZSByaWdodCBtb250aFxuICAgICAgaWYgKGlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSkge1xuICAgICAgICBtaXhlZC5kYXkgPSBNYXRoLm1pbihkYXlzSW5Nb250aChtaXhlZC55ZWFyLCBtaXhlZC5tb250aCksIG1peGVkLmRheSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgW3RzLCBvXSA9IG9ialRvVFMobWl4ZWQsIHRoaXMubywgdGhpcy56b25lKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgeyB0cywgbyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBwZXJpb2Qgb2YgdGltZSB0byB0aGlzIERhdGVUaW1lIGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyBEYXRlVGltZVxuICAgKlxuICAgKiBBZGRpbmcgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG9yIG1pbGxpc2Vjb25kcyBpbmNyZWFzZXMgdGhlIHRpbWVzdGFtcCBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy4gQWRkaW5nIGRheXMsIG1vbnRocywgb3IgeWVhcnMgc2hpZnRzIHRoZSBjYWxlbmRhciwgYWNjb3VudGluZyBmb3IgRFNUcyBhbmQgbGVhcCB5ZWFycyBhbG9uZyB0aGUgd2F5LiBUaHVzLCBgZHQucGx1cyh7IGhvdXJzOiAyNCB9KWAgbWF5IHJlc3VsdCBpbiBhIGRpZmZlcmVudCB0aW1lIHRoYW4gYGR0LnBsdXMoeyBkYXlzOiAxIH0pYCBpZiB0aGVyZSdzIGEgRFNUIHNoaWZ0IGluIGJldHdlZW4uXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KClcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cygxMjMpIC8vfj4gaW4gMTIzIG1pbGxpc2Vjb25kc1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgbWludXRlczogMTUgfSkgLy9+PiBpbiAxNSBtaW51dGVzXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pIC8vfj4gdGhpcyB0aW1lIHRvbW9ycm93XG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAtMSB9KSAvL34+IHRoaXMgdGltZSB5ZXN0ZXJkYXlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGhvdXJzOiAzLCBtaW51dGVzOiAxMyB9KSAvL34+IGluIDMgaHIsIDEzIG1pblxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMywgbWludXRlczogMTMgfSkpIC8vfj4gaW4gMyBociwgMTMgbWluXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgcGx1cyhkdXJhdGlvbikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgYWRqdXN0VGltZSh0aGlzLCBkdXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJ0cmFjdCBhIHBlcmlvZCBvZiB0aW1lIHRvIHRoaXMgRGF0ZVRpbWUgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lXG4gICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjcGx1c31cbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpXG4gICBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIG1pbnVzKGR1cmF0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLm5lZ2F0ZSgpO1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCBhZGp1c3RUaW1lKHRoaXMsIGR1cikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFwiU2V0XCIgdGhpcyBEYXRlVGltZSB0byB0aGUgYmVnaW5uaW5nIG9mIGEgdW5pdCBvZiB0aW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIFRoZSB1bml0IHRvIGdvIHRvIHRoZSBiZWdpbm5pbmcgb2YuIENhbiBiZSAneWVhcicsICdxdWFydGVyJywgJ21vbnRoJywgJ3dlZWsnLCAnZGF5JywgJ2hvdXInLCAnbWludXRlJywgJ3NlY29uZCcsIG9yICdtaWxsaXNlY29uZCcuXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ21vbnRoJykudG9JU09EYXRlKCk7IC8vPT4gJzIwMTQtMDMtMDEnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ3llYXInKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMS0wMSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuc3RhcnRPZignd2VlaycpLnRvSVNPRGF0ZSgpOyAvLz0+ICcyMDE0LTAzLTAzJywgd2Vla3MgYWx3YXlzIHN0YXJ0IG9uIE1vbmRheXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMywgNSwgMzApLnN0YXJ0T2YoJ2RheScpLnRvSVNPVGltZSgpOyAvLz0+ICcwMDowMC4wMDAtMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMsIDUsIDMwKS5zdGFydE9mKCdob3VyJykudG9JU09UaW1lKCk7IC8vPT4gJzA1OjAwOjAwLjAwMC0wNTowMCdcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGFydE9mKHVuaXQpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgbyA9IHt9LFxuICAgICAgbm9ybWFsaXplZFVuaXQgPSBEdXJhdGlvbi5ub3JtYWxpemVVbml0KHVuaXQpO1xuICAgIHN3aXRjaCAobm9ybWFsaXplZFVuaXQpIHtcbiAgICAgIGNhc2UgXCJ5ZWFyc1wiOlxuICAgICAgICBvLm1vbnRoID0gMTtcbiAgICAgIC8vIGZhbGxzIHRocm91Z2hcbiAgICAgIGNhc2UgXCJxdWFydGVyc1wiOlxuICAgICAgY2FzZSBcIm1vbnRoc1wiOlxuICAgICAgICBvLmRheSA9IDE7XG4gICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICBjYXNlIFwid2Vla3NcIjpcbiAgICAgIGNhc2UgXCJkYXlzXCI6XG4gICAgICAgIG8uaG91ciA9IDA7XG4gICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICBjYXNlIFwiaG91cnNcIjpcbiAgICAgICAgby5taW51dGUgPSAwO1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgICAgY2FzZSBcIm1pbnV0ZXNcIjpcbiAgICAgICAgby5zZWNvbmQgPSAwO1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgICAgY2FzZSBcInNlY29uZHNcIjpcbiAgICAgICAgby5taWxsaXNlY29uZCA9IDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1pbGxpc2Vjb25kc1wiOlxuICAgICAgICBicmVhaztcbiAgICAgIC8vIG5vIGRlZmF1bHQsIGludmFsaWQgdW5pdHMgdGhyb3cgaW4gbm9ybWFsaXplVW5pdCgpXG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSBcIndlZWtzXCIpIHtcbiAgICAgIG8ud2Vla2RheSA9IDE7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSBcInF1YXJ0ZXJzXCIpIHtcbiAgICAgIGNvbnN0IHEgPSBNYXRoLmNlaWwodGhpcy5tb250aCAvIDMpO1xuICAgICAgby5tb250aCA9IChxIC0gMSkgKiAzICsgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXQobyk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGlzIERhdGVUaW1lIHRvIHRoZSBlbmQgKG1lYW5pbmcgdGhlIGxhc3QgbWlsbGlzZWNvbmQpIG9mIGEgdW5pdCBvZiB0aW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gVGhlIHVuaXQgdG8gZ28gdG8gdGhlIGVuZCBvZi4gQ2FuIGJlICd5ZWFyJywgJ3F1YXJ0ZXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknLCAnaG91cicsICdtaW51dGUnLCAnc2Vjb25kJywgb3IgJ21pbGxpc2Vjb25kJy5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuZW5kT2YoJ21vbnRoJykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0zMVQyMzo1OTo1OS45OTktMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd5ZWFyJykudG9JU08oKTsgLy89PiAnMjAxNC0xMi0zMVQyMzo1OTo1OS45OTktMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd3ZWVrJykudG9JU08oKTsgLy8gPT4gJzIwMTQtMDMtMDlUMjM6NTk6NTkuOTk5LTA1OjAwJywgd2Vla3Mgc3RhcnQgb24gTW9uZGF5c1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2RheScpLnRvSVNPKCk7IC8vPT4gJzIwMTQtMDMtMDNUMjM6NTk6NTkuOTk5LTA1OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2hvdXInKS50b0lTTygpOyAvLz0+ICcyMDE0LTAzLTAzVDA1OjU5OjU5Ljk5OS0wNTowMCdcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBlbmRPZih1bml0KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyB0aGlzLnBsdXMoeyBbdW5pdF06IDEgfSlcbiAgICAgICAgICAuc3RhcnRPZih1bml0KVxuICAgICAgICAgIC5taW51cygxKVxuICAgICAgOiB0aGlzO1xuICB9XG5cbiAgLy8gT1VUUFVUXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy5cbiAgICogKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZSBmb3JtYXR0aW5nIHRvb2wuIEZvciBhIHRhYmxlIG9mIHRva2VucyBhbmQgdGhlaXIgaW50ZXJwcmV0YXRpb25zLCBzZWUgW2hlcmVdKGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi8jL2Zvcm1hdHRpbmc/aWQ9dGFibGUtb2YtdG9rZW5zKS5cbiAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm10IC0gdGhlIGZvcm1hdCBzdHJpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0Zvcm1hdCgneXl5eSBMTEwgZGQnKSAvLz0+ICcyMDE3IEFwciAyMidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuc2V0TG9jYWxlKCdmcicpLnRvRm9ybWF0KCd5eXl5IExMTCBkZCcpIC8vPT4gJzIwMTcgYXZyLiAyMidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJywgeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+ICcyMDE3IGF2ci4gMjInXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KFwiSEggJ2hvdXJzIGFuZCcgbW0gJ21pbnV0ZXMnXCIpIC8vPT4gJzIwIGhvdXJzIGFuZCA1NSBtaW51dGVzJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0Zvcm1hdChmbXQsIG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5yZWRlZmF1bHRUb0VOKG9wdHMpKS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcodGhpcywgZm10KVxuICAgICAgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsb2NhbGl6ZWQgc3RyaW5nIHJlcHJlc2VudGluZyB0aGlzIGRhdGUuIEFjY2VwdHMgdGhlIHNhbWUgb3B0aW9ucyBhcyB0aGUgSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBhbmQgYW55IHByZXNldHMgZGVmaW5lZCBieSBMdXhvbiwgc3VjaCBhcyBgRGF0ZVRpbWUuREFURV9GVUxMYCBvciBgRGF0ZVRpbWUuVElNRV9TSU1QTEVgLlxuICAgKiBUaGUgZXhhY3QgYmVoYXZpb3Igb2YgdGhpcyBtZXRob2QgaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb25cbiAgICogb2YgdGhlIERhdGVUaW1lIGluIHRoZSBhc3NpZ25lZCBsb2NhbGUuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0XG4gICAqIEBwYXJhbSBmb3JtYXRPcHRzIHtPYmplY3R9IC0gSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBvcHRpb25zIGFuZCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDQvMjAvMjAxN1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoJ2VuLWdiJykudG9Mb2NhbGVTdHJpbmcoKTsgLy89PiAnMjAvMDQvMjAxNydcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoeyBsb2NhbGU6ICdlbi1nYicgfSk7IC8vPT4gJzIwLzA0LzIwMTcnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCk7IC8vPT4gJ0FwcmlsIDIwLCAyMDE3J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5USU1FX1NJTVBMRSk7IC8vPT4gJzExOjMyIEFNJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFVElNRV9TSE9SVCk7IC8vPT4gJzQvMjAvMjAxNywgMTE6MzIgQU0nXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKHsgd2Vla2RheTogJ2xvbmcnLCBtb250aDogJ2xvbmcnLCBkYXk6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1cnNkYXksIEFwcmlsIDIwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IHdlZWtkYXk6ICdzaG9ydCcsIG1vbnRoOiAnc2hvcnQnLCBkYXk6ICcyLWRpZ2l0JywgaG91cjogJzItZGlnaXQnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1LCBBcHIgMjAsIDExOjI3IEFNJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcsIGhvdXJDeWNsZTogJ2gyMycgfSk7IC8vPT4gJzExOjMyJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0xvY2FsZVN0cmluZyhmb3JtYXRPcHRzID0gRm9ybWF0cy5EQVRFX1NIT1JULCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkXG4gICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5sb2MuY2xvbmUob3B0cyksIGZvcm1hdE9wdHMpLmZvcm1hdERhdGVUaW1lKHRoaXMpXG4gICAgICA6IElOVkFMSUQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBmb3JtYXQgXCJwYXJ0c1wiLCBtZWFuaW5nIGluZGl2aWR1YWwgdG9rZW5zIGFsb25nIHdpdGggbWV0YWRhdGEuIFRoaXMgaXMgYWxsb3dzIGNhbGxlcnMgdG8gcG9zdC1wcm9jZXNzIGluZGl2aWR1YWwgc2VjdGlvbnMgb2YgdGhlIGZvcm1hdHRlZCBvdXRwdXQuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0L2Zvcm1hdFRvUGFydHNcbiAgICogQHBhcmFtIG9wdHMge09iamVjdH0gLSBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIG9wdGlvbnMsIHNhbWUgYXMgYHRvTG9jYWxlU3RyaW5nYC5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVQYXJ0cygpOyAvLz0+IFtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdkYXknLCB2YWx1ZTogJzI1JyB9LFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnbW9udGgnLCB2YWx1ZTogJzA1JyB9LFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAneWVhcicsIHZhbHVlOiAnMTk4MicgfVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiBdXG4gICAqL1xuICB0b0xvY2FsZVBhcnRzKG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5jbG9uZShvcHRzKSwgb3B0cykuZm9ybWF0RGF0ZVRpbWVQYXJ0cyh0aGlzKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9dHJ1ZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MywgNSwgMjUpLnRvSVNPKCkgLy89PiAnMTk4Mi0wNS0yNVQwMDowMDowMC4wMDBaJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTygpIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1LTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcyMDE3MDQyMlQyMDQ3MDUuMzM1LTA0MDAnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKHtcbiAgICBmb3JtYXQgPSBcImV4dGVuZGVkXCIsXG4gICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsXG4gICAgc3VwcHJlc3NNaWxsaXNlY29uZHMgPSBmYWxzZSxcbiAgICBpbmNsdWRlT2Zmc2V0ID0gdHJ1ZSxcbiAgICBleHRlbmRlZFpvbmUgPSBmYWxzZSxcbiAgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dCA9IGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiO1xuXG4gICAgbGV0IGMgPSB0b0lTT0RhdGUodGhpcywgZXh0KTtcbiAgICBjICs9IFwiVFwiO1xuICAgIGMgKz0gdG9JU09UaW1lKHRoaXMsIGV4dCwgc3VwcHJlc3NTZWNvbmRzLCBzdXBwcmVzc01pbGxpc2Vjb25kcywgaW5jbHVkZU9mZnNldCwgZXh0ZW5kZWRab25lKTtcbiAgICByZXR1cm4gYztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIGRhdGUgY29tcG9uZW50XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDE5ODIsIDUsIDI1KS50b0lTT0RhdGUoKSAvLz0+ICcxOTgyLTA1LTI1J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPRGF0ZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcxOTgyMDUyNSdcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9JU09EYXRlKHsgZm9ybWF0ID0gXCJleHRlbmRlZFwiIH0gPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9JU09EYXRlKHRoaXMsIGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIHdlZWsgZGF0ZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPV2Vla0RhdGUoKSAvLz0+ICcxOTgyLVcyMS0yJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0lTT1dlZWtEYXRlKCkge1xuICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgXCJra2trLSdXJ1dXLWNcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyB0aW1lIGNvbXBvbmVudFxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9dHJ1ZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVByZWZpeD1mYWxzZV0gLSBpbmNsdWRlIHRoZSBgVGAgcHJlZml4XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSgpIC8vPT4gJzA3OjM0OjE5LjM2MVonXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQsIHNlY29uZHM6IDAsIG1pbGxpc2Vjb25kczogMCB9KS50b0lTT1RpbWUoeyBzdXBwcmVzc1NlY29uZHM6IHRydWUgfSkgLy89PiAnMDc6MzRaJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcwNzM0MTkuMzYxWidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkuc2V0KHsgaG91cjogNywgbWludXRlOiAzNCB9KS50b0lTT1RpbWUoeyBpbmNsdWRlUHJlZml4OiB0cnVlIH0pIC8vPT4gJ1QwNzozNDoxOS4zNjFaJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0lTT1RpbWUoe1xuICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzID0gZmFsc2UsXG4gICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsXG4gICAgaW5jbHVkZU9mZnNldCA9IHRydWUsXG4gICAgaW5jbHVkZVByZWZpeCA9IGZhbHNlLFxuICAgIGV4dGVuZGVkWm9uZSA9IGZhbHNlLFxuICAgIGZvcm1hdCA9IFwiZXh0ZW5kZWRcIixcbiAgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBjID0gaW5jbHVkZVByZWZpeCA/IFwiVFwiIDogXCJcIjtcbiAgICByZXR1cm4gKFxuICAgICAgYyArXG4gICAgICB0b0lTT1RpbWUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiLFxuICAgICAgICBzdXBwcmVzc1NlY29uZHMsXG4gICAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzLFxuICAgICAgICBpbmNsdWRlT2Zmc2V0LFxuICAgICAgICBleHRlbmRlZFpvbmVcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gUkZDIDI4MjItY29tcGF0aWJsZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvUkZDMjgyMigpIC8vPT4gJ1N1biwgMTMgSnVsIDIwMTQgMDA6MDA6MDAgKzAwMDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1JGQzI4MjIoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIC0wNDAwJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b1JGQzI4MjIoKSB7XG4gICAgcmV0dXJuIHRvVGVjaEZvcm1hdCh0aGlzLCBcIkVFRSwgZGQgTExMIHl5eXkgSEg6bW06c3MgWlpaXCIsIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBIVFRQIGhlYWRlcnMuIFRoZSBvdXRwdXQgaXMgYWx3YXlzIGV4cHJlc3NlZCBpbiBHTVQuXG4gICAqIFNwZWNpZmljYWxseSwgdGhlIHN0cmluZyBjb25mb3JtcyB0byBSRkMgMTEyMy5cbiAgICogQHNlZSBodHRwczovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMzLmh0bWwjc2VjMy4zLjFcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b0hUVFAoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIEdNVCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzLCAxOSkudG9IVFRQKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAxOTowMDowMCBHTVQnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSFRUUCgpIHtcbiAgICByZXR1cm4gdG9UZWNoRm9ybWF0KHRoaXMudG9VVEMoKSwgXCJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzICdHTVQnXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBEYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE0LCA3LCAxMykudG9TUUxEYXRlKCkgLy89PiAnMjAxNC0wNy0xMydcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TUUxEYXRlKCkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRvSVNPRGF0ZSh0aGlzLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgVGltZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlWm9uZT1mYWxzZV0gLSBpbmNsdWRlIHRoZSB6b25lLCBzdWNoIGFzICdBbWVyaWNhL05ld19Zb3JrJy4gT3ZlcnJpZGVzIGluY2x1ZGVPZmZzZXQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0U3BhY2U9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBzcGFjZSBiZXR3ZWVuIHRoZSB0aW1lIGFuZCB0aGUgb2Zmc2V0LCBzdWNoIGFzICcwNToxNToxNi4zNDUgLTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS50b1NRTCgpIC8vPT4gJzA1OjE1OjE2LjM0NSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoKSAvLz0+ICcwNToxNToxNi4zNDUgLTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b1NRTCh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzA1OjE1OjE2LjM0NSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoeyBpbmNsdWRlWm9uZTogZmFsc2UgfSkgLy89PiAnMDU6MTU6MTYuMzQ1IEFtZXJpY2EvTmV3X1lvcmsnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU1FMVGltZSh7IGluY2x1ZGVPZmZzZXQgPSB0cnVlLCBpbmNsdWRlWm9uZSA9IGZhbHNlLCBpbmNsdWRlT2Zmc2V0U3BhY2UgPSB0cnVlIH0gPSB7fSkge1xuICAgIGxldCBmbXQgPSBcIkhIOm1tOnNzLlNTU1wiO1xuXG4gICAgaWYgKGluY2x1ZGVab25lIHx8IGluY2x1ZGVPZmZzZXQpIHtcbiAgICAgIGlmIChpbmNsdWRlT2Zmc2V0U3BhY2UpIHtcbiAgICAgICAgZm10ICs9IFwiIFwiO1xuICAgICAgfVxuICAgICAgaWYgKGluY2x1ZGVab25lKSB7XG4gICAgICAgIGZtdCArPSBcInpcIjtcbiAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZU9mZnNldCkge1xuICAgICAgICBmbXQgKz0gXCJaWlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgZm10LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgRGF0ZVRpbWVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVpvbmU9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgem9uZSwgc3VjaCBhcyAnQW1lcmljYS9OZXdfWW9yaycuIE92ZXJyaWRlcyBpbmNsdWRlT2Zmc2V0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXQ9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJ1onIG9yICctMDQ6MDAnXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldFNwYWNlPXRydWVdIC0gaW5jbHVkZSB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgdGltZSBhbmQgdGhlIG9mZnNldCwgc3VjaCBhcyAnMDU6MTU6MTYuMzQ1IC0wNDowMCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIFonXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIC0wNDowMCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgNywgMTMpLnRvU1FMKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMjAxNC0wNy0xMyAwMDowMDowMC4wMDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCh7IGluY2x1ZGVab25lOiB0cnVlIH0pIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIEFtZXJpY2EvTmV3X1lvcmsnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU1FMKG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dGhpcy50b1NRTERhdGUoKX0gJHt0aGlzLnRvU1FMVGltZShvcHRzKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRvSVNPKCkgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVwb2NoIG1pbGxpc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLiBBbGlhcyBvZiB7QGxpbmsgRGF0ZVRpbWUjdG9NaWxsaXN9XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIHZhbHVlT2YoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9NaWxsaXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBlcG9jaCBtaWxsaXNlY29uZHMgb2YgdGhpcyBEYXRlVGltZS5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgdG9NaWxsaXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZXBvY2ggc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0b1NlY29uZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgLyAxMDAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVwb2NoIHNlY29uZHMgKGFzIGEgd2hvbGUgbnVtYmVyKSBvZiB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0b1VuaXhJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBNYXRoLmZsb29yKHRoaXMudHMgLyAxMDAwKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgQlNPTiBzZXJpYWxpemFibGUgZXF1aXZhbGVudCB0byB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtEYXRlfVxuICAgKi9cbiAgdG9CU09OKCkge1xuICAgIHJldHVybiB0aGlzLnRvSlNEYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggdGhpcyBEYXRlVGltZSdzIHllYXIsIG1vbnRoLCBkYXksIGFuZCBzbyBvbi5cbiAgICogQHBhcmFtIG9wdHMgLSBvcHRpb25zIGZvciBnZW5lcmF0aW5nIHRoZSBvYmplY3RcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlQ29uZmlnPWZhbHNlXSAtIGluY2x1ZGUgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGVzIGluIHRoZSBvdXRwdXRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9PYmplY3QoKSAvLz0+IHsgeWVhcjogMjAxNywgbW9udGg6IDQsIGRheTogMjIsIGhvdXI6IDIwLCBtaW51dGU6IDQ5LCBzZWNvbmQ6IDQyLCBtaWxsaXNlY29uZDogMjY4IH1cbiAgICogQHJldHVybiB7T2JqZWN0fVxuICAgKi9cbiAgdG9PYmplY3Qob3B0cyA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB7fTtcblxuICAgIGNvbnN0IGJhc2UgPSB7IC4uLnRoaXMuYyB9O1xuXG4gICAgaWYgKG9wdHMuaW5jbHVkZUNvbmZpZykge1xuICAgICAgYmFzZS5vdXRwdXRDYWxlbmRhciA9IHRoaXMub3V0cHV0Q2FsZW5kYXI7XG4gICAgICBiYXNlLm51bWJlcmluZ1N5c3RlbSA9IHRoaXMubG9jLm51bWJlcmluZ1N5c3RlbTtcbiAgICAgIGJhc2UubG9jYWxlID0gdGhpcy5sb2MubG9jYWxlO1xuICAgIH1cbiAgICByZXR1cm4gYmFzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgSmF2YVNjcmlwdCBEYXRlIGVxdWl2YWxlbnQgdG8gdGhpcyBEYXRlVGltZS5cbiAgICogQHJldHVybiB7RGF0ZX1cbiAgICovXG4gIHRvSlNEYXRlKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIDogTmFOKTtcbiAgfVxuXG4gIC8vIENPTVBBUkVcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIERhdGVUaW1lcyBhcyBhIER1cmF0aW9uLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBvdGhlckRhdGVUaW1lIC0gdGhlIERhdGVUaW1lIHRvIGNvbXBhcmUgdGhpcyBvbmUgdG9cbiAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgYXJyYXkgb2YgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGNyZWF0aW9uIG9mIHRoZSBEdXJhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2VcbiAgICogQGV4YW1wbGVcbiAgICogdmFyIGkxID0gRGF0ZVRpbWUuZnJvbUlTTygnMTk4Mi0wNS0yNVQwOTo0NScpLFxuICAgKiAgICAgaTIgPSBEYXRlVGltZS5mcm9tSVNPKCcxOTgzLTEwLTE0VDEwOjMwJyk7XG4gICAqIGkyLmRpZmYoaTEpLnRvT2JqZWN0KCkgLy89PiB7IG1pbGxpc2Vjb25kczogNDM4MDc1MDAwMDAgfVxuICAgKiBpMi5kaWZmKGkxLCAnaG91cnMnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTIxNjguNzUgfVxuICAgKiBpMi5kaWZmKGkxLCBbJ21vbnRocycsICdkYXlzJ10pLnRvT2JqZWN0KCkgLy89PiB7IG1vbnRoczogMTYsIGRheXM6IDE5LjAzMTI1IH1cbiAgICogaTIuZGlmZihpMSwgWydtb250aHMnLCAnZGF5cycsICdob3VycyddKS50b09iamVjdCgpIC8vPT4geyBtb250aHM6IDE2LCBkYXlzOiAxOSwgaG91cnM6IDAuNzUgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIGRpZmYob3RoZXJEYXRlVGltZSwgdW5pdCA9IFwibWlsbGlzZWNvbmRzXCIsIG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlckRhdGVUaW1lLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKFwiY3JlYXRlZCBieSBkaWZmaW5nIGFuIGludmFsaWQgRGF0ZVRpbWVcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZHVyT3B0cyA9IHsgbG9jYWxlOiB0aGlzLmxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtOiB0aGlzLm51bWJlcmluZ1N5c3RlbSwgLi4ub3B0cyB9O1xuXG4gICAgY29uc3QgdW5pdHMgPSBtYXliZUFycmF5KHVuaXQpLm1hcChEdXJhdGlvbi5ub3JtYWxpemVVbml0KSxcbiAgICAgIG90aGVySXNMYXRlciA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpID4gdGhpcy52YWx1ZU9mKCksXG4gICAgICBlYXJsaWVyID0gb3RoZXJJc0xhdGVyID8gdGhpcyA6IG90aGVyRGF0ZVRpbWUsXG4gICAgICBsYXRlciA9IG90aGVySXNMYXRlciA/IG90aGVyRGF0ZVRpbWUgOiB0aGlzLFxuICAgICAgZGlmZmVkID0gZGlmZihlYXJsaWVyLCBsYXRlciwgdW5pdHMsIGR1ck9wdHMpO1xuXG4gICAgcmV0dXJuIG90aGVySXNMYXRlciA/IGRpZmZlZC5uZWdhdGUoKSA6IGRpZmZlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIERhdGVUaW1lIGFuZCByaWdodCBub3cuXG4gICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjZGlmZn1cbiAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgdW5pdHMgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIGRpZmZOb3codW5pdCA9IFwibWlsbGlzZWNvbmRzXCIsIG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmRpZmYoRGF0ZVRpbWUubm93KCksIHVuaXQsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJbnRlcnZhbCBzcGFubmluZyBiZXR3ZWVuIHRoaXMgRGF0ZVRpbWUgYW5kIGFub3RoZXIgRGF0ZVRpbWVcbiAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBlbmQgcG9pbnQgb2YgdGhlIEludGVydmFsXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgdW50aWwob3RoZXJEYXRlVGltZSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHRoaXMsIG90aGVyRGF0ZVRpbWUpIDogdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIERhdGVUaW1lIGlzIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZSBhcyBhbm90aGVyIERhdGVUaW1lLlxuICAgKiBIaWdoZXItb3JkZXIgdW5pdHMgbXVzdCBhbHNvIGJlIGlkZW50aWNhbCBmb3IgdGhpcyBmdW5jdGlvbiB0byByZXR1cm4gYHRydWVgLlxuICAgKiBOb3RlIHRoYXQgdGltZSB6b25lcyBhcmUgKippZ25vcmVkKiogaW4gdGhpcyBjb21wYXJpc29uLCB3aGljaCBjb21wYXJlcyB0aGUgKipsb2NhbCoqIGNhbGVuZGFyIHRpbWUuIFVzZSB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0gdG8gY29udmVydCBvbmUgb2YgdGhlIGRhdGVzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb25cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuaGFzU2FtZShvdGhlckRULCAnZGF5Jyk7IC8vfj4gdHJ1ZSBpZiBvdGhlckRUIGlzIGluIHRoZSBzYW1lIGN1cnJlbnQgY2FsZW5kYXIgZGF5XG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBoYXNTYW1lKG90aGVyRGF0ZVRpbWUsIHVuaXQpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgaW5wdXRNcyA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpO1xuICAgIGNvbnN0IGFkanVzdGVkVG9ab25lID0gdGhpcy5zZXRab25lKG90aGVyRGF0ZVRpbWUuem9uZSwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pO1xuICAgIHJldHVybiBhZGp1c3RlZFRvWm9uZS5zdGFydE9mKHVuaXQpIDw9IGlucHV0TXMgJiYgaW5wdXRNcyA8PSBhZGp1c3RlZFRvWm9uZS5lbmRPZih1bml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcXVhbGl0eSBjaGVja1xuICAgKiBUd28gRGF0ZVRpbWVzIGFyZSBlcXVhbCBpZmYgdGhleSByZXByZXNlbnQgdGhlIHNhbWUgbWlsbGlzZWNvbmQsIGhhdmUgdGhlIHNhbWUgem9uZSBhbmQgbG9jYXRpb24sIGFuZCBhcmUgYm90aCB2YWxpZC5cbiAgICogVG8gY29tcGFyZSBqdXN0IHRoZSBtaWxsaXNlY29uZCB2YWx1ZXMsIHVzZSBgK2R0MSA9PT0gK2R0MmAuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IG90aGVyIC0gdGhlIG90aGVyIERhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1ZhbGlkICYmXG4gICAgICBvdGhlci5pc1ZhbGlkICYmXG4gICAgICB0aGlzLnZhbHVlT2YoKSA9PT0gb3RoZXIudmFsdWVPZigpICYmXG4gICAgICB0aGlzLnpvbmUuZXF1YWxzKG90aGVyLnpvbmUpICYmXG4gICAgICB0aGlzLmxvYy5lcXVhbHMob3RoZXIubG9jKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHRoaXMgdGltZSByZWxhdGl2ZSB0byBub3csIHN1Y2ggYXMgXCJpbiB0d28gZGF5c1wiLiBDYW4gb25seSBpbnRlcm5hdGlvbmFsaXplIGlmIHlvdXJcbiAgICogcGxhdGZvcm0gc3VwcG9ydHMgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuIFJvdW5kcyBkb3duIGJ5IGRlZmF1bHQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zdHlsZT1cImxvbmdcIl0gLSB0aGUgc3R5bGUgb2YgdW5pdHMsIG11c3QgYmUgXCJsb25nXCIsIFwic2hvcnRcIiwgb3IgXCJuYXJyb3dcIlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdCBvciBhcnJheSBvZiB1bml0czsgaWYgb21pdHRlZCwgb3IgYW4gYXJyYXksIHRoZSBtZXRob2Qgd2lsbCBwaWNrIHRoZSBiZXN0IHVuaXQuIFVzZSBhbiBhcnJheSBvciBvbmUgb2YgXCJ5ZWFyc1wiLCBcInF1YXJ0ZXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIG9yIFwic2Vjb25kc1wiXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMucm91bmQ9dHJ1ZV0gLSB3aGV0aGVyIHRvIHJvdW5kIHRoZSBudW1iZXJzIGluIHRoZSBvdXRwdXQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5wYWRkaW5nPTBdIC0gcGFkZGluZyBpbiBtaWxsaXNlY29uZHMuIFRoaXMgYWxsb3dzIHlvdSB0byByb3VuZCB1cCB0aGUgcmVzdWx0IGlmIGl0IGZpdHMgaW5zaWRlIHRoZSB0aHJlc2hvbGQuIERvbid0IHVzZSBpbiBjb21iaW5hdGlvbiB3aXRoIHtyb3VuZDogZmFsc2V9IGJlY2F1c2UgdGhlIGRlY2ltYWwgb3V0cHV0IHdpbGwgaW5jbHVkZSB0aGUgcGFkZGluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubG9jYWxlIC0gb3ZlcnJpZGUgdGhlIGxvY2FsZSBvZiB0aGlzIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlcmluZ1N5c3RlbSAtIG92ZXJyaWRlIHRoZSBudW1iZXJpbmdTeXN0ZW0gb2YgdGhpcyBEYXRlVGltZS4gVGhlIEludGwgc3lzdGVtIG1heSBjaG9vc2Ugbm90IHRvIGhvbm9yIHRoaXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZSgpIC8vPT4gXCJpbiAxIGRheVwiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnNldExvY2FsZShcImVzXCIpLnRvUmVsYXRpdmUoeyBkYXlzOiAxIH0pIC8vPT4gXCJkZW50cm8gZGUgMSBkXHUwMEVEYVwiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pLnRvUmVsYXRpdmUoeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+IFwiZGFucyAyMyBoZXVyZXNcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGRheXM6IDIgfSkudG9SZWxhdGl2ZSgpIC8vPT4gXCIyIGRheXMgYWdvXCJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmUoeyB1bml0OiBcImhvdXJzXCIgfSkgLy89PiBcIjQ4IGhvdXJzIGFnb1wiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLm1pbnVzKHsgaG91cnM6IDM2IH0pLnRvUmVsYXRpdmUoeyByb3VuZDogZmFsc2UgfSkgLy89PiBcIjEuNSBkYXlzIGFnb1wiXG4gICAqL1xuICB0b1JlbGF0aXZlKG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBiYXNlID0gb3B0aW9ucy5iYXNlIHx8IERhdGVUaW1lLmZyb21PYmplY3Qoe30sIHsgem9uZTogdGhpcy56b25lIH0pLFxuICAgICAgcGFkZGluZyA9IG9wdGlvbnMucGFkZGluZyA/ICh0aGlzIDwgYmFzZSA/IC1vcHRpb25zLnBhZGRpbmcgOiBvcHRpb25zLnBhZGRpbmcpIDogMDtcbiAgICBsZXQgdW5pdHMgPSBbXCJ5ZWFyc1wiLCBcIm1vbnRoc1wiLCBcImRheXNcIiwgXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJdO1xuICAgIGxldCB1bml0ID0gb3B0aW9ucy51bml0O1xuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMudW5pdCkpIHtcbiAgICAgIHVuaXRzID0gb3B0aW9ucy51bml0O1xuICAgICAgdW5pdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGRpZmZSZWxhdGl2ZShiYXNlLCB0aGlzLnBsdXMocGFkZGluZyksIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBudW1lcmljOiBcImFsd2F5c1wiLFxuICAgICAgdW5pdHMsXG4gICAgICB1bml0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBkYXRlIHJlbGF0aXZlIHRvIHRvZGF5LCBzdWNoIGFzIFwieWVzdGVyZGF5XCIgb3IgXCJuZXh0IG1vbnRoXCIuXG4gICAqIE9ubHkgaW50ZXJuYXRpb25hbGl6ZXMgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydHMgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmxvY2FsZSAtIG92ZXJyaWRlIHRoZSBsb2NhbGUgb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdDsgaWYgb21pdHRlZCwgdGhlIG1ldGhvZCB3aWxsIHBpY2sgdGhlIHVuaXQuIFVzZSBvbmUgb2YgXCJ5ZWFyc1wiLCBcInF1YXJ0ZXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgb3IgXCJkYXlzXCJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gb3ZlcnJpZGUgdGhlIG51bWJlcmluZ1N5c3RlbSBvZiB0aGlzIERhdGVUaW1lLiBUaGUgSW50bCBzeXN0ZW0gbWF5IGNob29zZSBub3QgdG8gaG9ub3IgdGhpc1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoKSAvLz0+IFwidG9tb3Jyb3dcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoXCJlc1wiKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlKCkgLy89PiBcIlwibWFcdTAwRjFhbmFcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+IFwiZGVtYWluXCJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmVDYWxlbmRhcigpIC8vPT4gXCIyIGRheXMgYWdvXCJcbiAgICovXG4gIHRvUmVsYXRpdmVDYWxlbmRhcihvcHRpb25zID0ge30pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gZGlmZlJlbGF0aXZlKG9wdGlvbnMuYmFzZSB8fCBEYXRlVGltZS5mcm9tT2JqZWN0KHt9LCB7IHpvbmU6IHRoaXMuem9uZSB9KSwgdGhpcywge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG51bWVyaWM6IFwiYXV0b1wiLFxuICAgICAgdW5pdHM6IFtcInllYXJzXCIsIFwibW9udGhzXCIsIFwiZGF5c1wiXSxcbiAgICAgIGNhbGVuZGFyeTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1pbiBvZiBzZXZlcmFsIGRhdGUgdGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWluaW11bVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1pbiBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50XG4gICAqL1xuICBzdGF0aWMgbWluKC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJtaW4gcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcIik7XG4gICAgfVxuICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWluKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1heCBvZiBzZXZlcmFsIGRhdGUgdGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWF4aW11bVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1heCBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50XG4gICAqL1xuICBzdGF0aWMgbWF4KC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJtYXggcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcIik7XG4gICAgfVxuICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWF4KTtcbiAgfVxuXG4gIC8vIE1JU0NcblxuICAvKipcbiAgICogRXhwbGFpbiBob3cgYSBzdHJpbmcgd291bGQgYmUgcGFyc2VkIGJ5IGZyb21Gb3JtYXQoKVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIGRlc2NyaXB0aW9uKVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIG9wdGlvbnMgdGFrZW4gYnkgZnJvbUZvcm1hdCgpXG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRm9ybWF0RXhwbGFpbih0ZXh0LCBmbXQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCB9ID0gb3B0aW9ucyxcbiAgICAgIGxvY2FsZVRvVXNlID0gTG9jYWxlLmZyb21PcHRzKHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBudW1iZXJpbmdTeXN0ZW0sXG4gICAgICAgIGRlZmF1bHRUb0VOOiB0cnVlLFxuICAgICAgfSk7XG4gICAgcmV0dXJuIGV4cGxhaW5Gcm9tVG9rZW5zKGxvY2FsZVRvVXNlLCB0ZXh0LCBmbXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBmcm9tRm9ybWF0RXhwbGFpbiBpbnN0ZWFkXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0cmluZ0V4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdEV4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIEZPUk1BVCBQUkVTRVRTXG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgMTAvMTQvMTk4M1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX1NIT1JUKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVfU0hPUlQ7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0IDE0LCAxOTgzJ1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX01FRCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFX01FRDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmksIE9jdCAxNCwgMTk4MydcbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURV9NRURfV0lUSF9XRUVLREFZKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3RvYmVyIDE0LCAxOTgzJ1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX0ZVTEwoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURV9GVUxMO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ1R1ZXNkYXksIE9jdG9iZXIgMTQsIDE5ODMnXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IERBVEVfSFVHRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFX0hVR0U7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9TSU1QTEUoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9TSU1QTEU7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFM7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9XSVRIX0xPTkdfT0ZGU0VUKCkge1xuICAgIHJldHVybiBGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMCcsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1NJTVBMRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1NJTVBMRTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMycsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfU0VDT05EUygpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1dJVEhfU0VDT05EUztcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBFRFQnLCBhbHdheXMgMjQtaG91ci5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEVhc3Rlcm4gRGF5bGlnaHQgVGltZScsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzEwLzE0LzE5ODMsIDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfU0hPUlQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfU0hPUlQ7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMTAvMTQvMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRUQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfTUVEO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFM7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnRnJpLCAxNCBPY3QgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVk7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfRlVMTCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFVElNRV9GVUxMO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdG9iZXIgMTQsIDE5ODMsIDk6MzA6MzMgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IERBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFVElNRV9IVUdFO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMDozMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFM7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJpZW5kbHlEYXRlVGltZShkYXRlVGltZWlzaCkge1xuICBpZiAoRGF0ZVRpbWUuaXNEYXRlVGltZShkYXRlVGltZWlzaCkpIHtcbiAgICByZXR1cm4gZGF0ZVRpbWVpc2g7XG4gIH0gZWxzZSBpZiAoZGF0ZVRpbWVpc2ggJiYgZGF0ZVRpbWVpc2gudmFsdWVPZiAmJiBpc051bWJlcihkYXRlVGltZWlzaC52YWx1ZU9mKCkpKSB7XG4gICAgcmV0dXJuIERhdGVUaW1lLmZyb21KU0RhdGUoZGF0ZVRpbWVpc2gpO1xuICB9IGVsc2UgaWYgKGRhdGVUaW1laXNoICYmIHR5cGVvZiBkYXRlVGltZWlzaCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KGRhdGVUaW1laXNoKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICBgVW5rbm93biBkYXRldGltZSBhcmd1bWVudDogJHtkYXRlVGltZWlzaH0sIG9mIHR5cGUgJHt0eXBlb2YgZGF0ZVRpbWVpc2h9YFxuICAgICk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IGVtb2ppUmVnZXggZnJvbSBcImVtb2ppLXJlZ2V4XCI7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGlua1wiO1xuXG4vKiogVGVzdC1lbnZpcm9ubWVudC1mcmllbmRseSBmdW5jdGlvbiB3aGljaCBmZXRjaGVzIHRoZSBjdXJyZW50IHN5c3RlbSBsb2NhbGUuICovXG5leHBvcnQgZnVuY3Rpb24gY3VycmVudExvY2FsZSgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gXCJlbi1VU1wiO1xuICAgIHJldHVybiB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlO1xufVxuXG4vLyBEYXRlL1RpbWUgUmVuZGVyaW5nXG5cbi8qKiBOb3JtYWxpemUgYSBkdXJhdGlvbiB0byBhbGwgb2YgdGhlIHByb3BlciB1bml0cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVEdXJhdGlvbihkdXI6IER1cmF0aW9uKSB7XG4gICAgaWYgKGR1ciA9PT0gdW5kZWZpbmVkIHx8IGR1ciA9PT0gbnVsbCkgcmV0dXJuIGR1cjtcblxuICAgIHJldHVybiBkdXIuc2hpZnRUbyhcInllYXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiKS5ub3JtYWxpemUoKTtcbn1cblxuLyoqIFN0cmlwIHRoZSB0aW1lIGNvbXBvbmVudHMgb2YgYSBkYXRlIHRpbWUgb2JqZWN0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwVGltZShkdDogRGF0ZVRpbWUpOiBEYXRlVGltZSB7XG4gICAgaWYgKGR0ID09PSBudWxsIHx8IGR0ID09PSB1bmRlZmluZWQpIHJldHVybiBkdDtcblxuICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHtcbiAgICAgICAgeWVhcjogZHQueWVhcixcbiAgICAgICAgbW9udGg6IGR0Lm1vbnRoLFxuICAgICAgICBkYXk6IGR0LmRheSxcbiAgICB9KTtcbn1cblxuLyoqIFRyeSB0byBleHRyYWN0IGEgWVlZWU1NREQgZGF0ZSBmcm9tIGEgc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3REYXRlKHN0cjogc3RyaW5nKTogRGF0ZVRpbWUgfCB1bmRlZmluZWQge1xuICAgIGxldCBkYXRlTWF0Y2ggPSAvKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkvLmV4ZWMoc3RyKTtcbiAgICBpZiAoIWRhdGVNYXRjaCkgZGF0ZU1hdGNoID0gLyhcXGR7NH0pKFxcZHsyfSkoXFxkezJ9KS8uZXhlYyhzdHIpO1xuICAgIGlmIChkYXRlTWF0Y2gpIHtcbiAgICAgICAgbGV0IHllYXIgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzFdKTtcbiAgICAgICAgbGV0IG1vbnRoID0gTnVtYmVyLnBhcnNlSW50KGRhdGVNYXRjaFsyXSk7XG4gICAgICAgIGxldCBkYXkgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzNdKTtcbiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyLCBtb250aCwgZGF5IH0pO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBSZW5kZXIgYSBEYXRlVGltZSBpbiBhIG1pbmltYWwgZm9ybWF0IHRvIHNhdmUgc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWluaW1hbERhdGUodGltZTogRGF0ZVRpbWUsIGRhdGVGb3JtYXQ6IHN0cmluZywgZGF0ZVRpbWVGb3JtYXQ6IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyByZWxldmFudCB0aW1lIHNwZWNpZmllZCwgZmFsbCBiYWNrIHRvIGp1c3QgcmVuZGVyaW5nIHRoZSBkYXRlLlxuICAgIGlmICh0aW1lLnNlY29uZCA9PSAwICYmIHRpbWUubWludXRlID09IDAgJiYgdGltZS5ob3VyID09IDApIHtcbiAgICAgICAgcmV0dXJuIHRpbWUudG9Mb2NhbCgpLnRvRm9ybWF0KGRhdGVGb3JtYXQsIHsgbG9jYWxlIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aW1lLnRvTG9jYWwoKS50b0Zvcm1hdChkYXRlVGltZUZvcm1hdCwgeyBsb2NhbGUgfSk7XG59XG5cbi8qKiBSZW5kZXIgYSBkdXJhdGlvbiBpbiBhIG1pbmltYWwgZm9ybWF0IHRvIHNhdmUgc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWluaW1hbER1cmF0aW9uKGR1cjogRHVyYXRpb24pOiBzdHJpbmcge1xuICAgIGR1ciA9IG5vcm1hbGl6ZUR1cmF0aW9uKGR1cik7XG5cbiAgICAvLyBUT0RPOiBMdXhvbiBkb2VzIG5vdCBoYXZlIG11bHRpLWxpbmd1YWwvbG9jYWxlLWF3YXJlIGR1cmF0aW9uIHJlbmRlcmluZy5cbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgICBpZiAoZHVyLnllYXJzKSByZXN1bHQgKz0gYCR7ZHVyLnllYXJzfSB5ZWFycywgYDtcbiAgICBpZiAoZHVyLm1vbnRocykgcmVzdWx0ICs9IGAke2R1ci5tb250aHN9IG1vbnRocywgYDtcbiAgICBpZiAoZHVyLndlZWtzKSByZXN1bHQgKz0gYCR7ZHVyLndlZWtzfSB3ZWVrcywgYDtcbiAgICBpZiAoZHVyLmRheXMpIHJlc3VsdCArPSBgJHtkdXIuZGF5c30gZGF5cywgYDtcbiAgICBpZiAoZHVyLmhvdXJzKSByZXN1bHQgKz0gYCR7ZHVyLmhvdXJzfSBob3VycywgYDtcbiAgICBpZiAoZHVyLm1pbnV0ZXMpIHJlc3VsdCArPSBgJHtkdXIubWludXRlc30gbWludXRlcywgYDtcbiAgICBpZiAoZHVyLnNlY29uZHMpIHJlc3VsdCArPSBgJHtNYXRoLnJvdW5kKGR1ci5zZWNvbmRzKX0gc2Vjb25kcywgYDtcbiAgICBpZiAoZHVyLm1pbGxpc2Vjb25kcykgcmVzdWx0ICs9IGAke01hdGgucm91bmQoZHVyLm1pbGxpc2Vjb25kcyl9IG1zLCBgO1xuXG4gICAgaWYgKHJlc3VsdC5lbmRzV2l0aChcIiwgXCIpKSByZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsIHJlc3VsdC5sZW5ndGggLSAyKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBQYXRoIHV0aWxpdGllcy5cblxuLyoqIEdldCB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGhlIGdpdmVuIHBhdGggKGkuZS4sIGxpa2UgY29tcHV0aW5nICdwYXRoLy4uJykuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyZW50Rm9sZGVyKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5qb2luKFwiL1wiKTtcbn1cblxuLyoqIEdldCB0aGUgZmlsZSBuYW1lIGZvciB0aGUgZmlsZSByZWZlcmVuY2VkIGluIHRoZSBnaXZlbiBwYXRoLCBieSBzdHJpcHBpbmcgdGhlIHBhcmVudCBmb2xkZXJzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVOYW1lKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguaW5jbHVkZXMoXCIvXCIpID8gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIi9cIikgKyAxKSA6IHBhdGg7XG59XG5cbi8qKiBHZXQgdGhlIFwidGl0bGVcIiBmb3IgYSBmaWxlLCBieSBzdHJpcHBpbmcgb3RoZXIgcGFydHMgb2YgdGhlIHBhdGggYXMgd2VsbCBhcyB0aGUgZXh0ZW5zaW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVUaXRsZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChwYXRoLmluY2x1ZGVzKFwiL1wiKSkgcGF0aCA9IHBhdGguc3Vic3RyaW5nKHBhdGgubGFzdEluZGV4T2YoXCIvXCIpICsgMSk7XG4gICAgaWYgKHBhdGguZW5kc1dpdGgoXCIubWRcIikpIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDMpO1xuICAgIHJldHVybiBwYXRoO1xufVxuXG4vKiogR2V0IHRoZSBleHRlbnNpb24gb2YgYSBmaWxlIGZyb20gdGhlIGZpbGUgcGF0aC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb24ocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXBhdGguaW5jbHVkZXMoXCIuXCIpKSByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIi5cIikgKyAxKTtcbn1cblxuLy8gVGFnIGV4dHJhY3Rpb24uXG5cbi8qKiBQYXJzZSBhbGwgc3VidGFncyBvdXQgb2YgdGhlIGdpdmVuIHRhZy4gSS5lLiwgI2hlbGxvL2kvYW0gd291bGQgeWllbGQgWyNoZWxsby9pL2FtLCAjaGVsbG8vaSwgI2hlbGxvXS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0U3VidGFncyh0YWdzOiBzdHJpbmcgfCBJdGVyYWJsZTxzdHJpbmc+KTogc3RyaW5nW10ge1xuICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGxldCB0YWcgb2YgdHlwZW9mIHRhZ3MgPT09IFwic3RyaW5nXCIgPyBbdGFnc10gOiB0YWdzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRhZyk7XG4gICAgICAgIHdoaWxlICh0YWcuaW5jbHVkZXMoXCIvXCIpKSB7XG4gICAgICAgICAgICB0YWcgPSB0YWcuc3Vic3RyaW5nKDAsIHRhZy5sYXN0SW5kZXhPZihcIi9cIikpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godGFnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKiBTcGxpdCBlYWNoIGJsb2NrIGFuZCBzZWN0aW9uIGxpbmsgaW50byB0aGUgb3JpZ2luYWwgbGluayBhbmQgYSBjb3JyZXNwb25kaW5nIGZpbGUgbGluay4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0RmlsZUxpbmtzKGVsaW5rczogTGlua1tdKTogTGlua1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IExpbmtbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbGluayBvZiBlbGlua3MpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobGluayk7XG5cbiAgICAgICAgY29uc3QgZmlsZUxpbmsgPSBsaW5rLnRvRmlsZSgpO1xuICAgICAgICBpZiAobGluay50eXBlICE9IFwiZmlsZVwiICYmICFyZXN1bHQuZmluZCgoZXhpc3RpbmcpID0+IGV4aXN0aW5nLmVxdWFscyhmaWxlTGluaykpKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChmaWxlTGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBTdHJpbmcgZXNjYXBpbmcgYW5kIGNhbm9uaWNhbGl6YXRpb24uXG5cbi8qKlxuICogRXNjYXBlIHJlZ2V4IGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcuXG4gKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9HdWlkZS9SZWd1bGFyX0V4cHJlc3Npb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmVnZXgoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuY29uc3QgSEVBREVSX0NBTk9OSUNBTElaRVI6IFAuUGFyc2VyPHN0cmluZz4gPSBQLmFsdChcbiAgICBQLnJlZ2V4KG5ldyBSZWdFeHAoZW1vamlSZWdleCgpLCBcIlwiKSksXG4gICAgUC5yZWdleCgvWzAtOVxccHtMZXR0ZXJ9Xy1dKy91KSxcbiAgICBQLndoaXRlc3BhY2UubWFwKChfKSA9PiBcIiBcIiksXG4gICAgUC5hbnkubWFwKChfKSA9PiBcIiBcIilcbilcbiAgICAubWFueSgpXG4gICAgLm1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbihcIlwiKS5zcGxpdCgvXFxzKy8pLmpvaW4oXCIgXCIpLnRyaW0oKTtcbiAgICB9KTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIHRoZSB0ZXh0IGluIGEgaGVhZGVyIHRvIGJlIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGxpbmthYmxlIHRvLiBUaGlzIG1pbWljc1xuICogaG93IE9ic2lkaWFuIGRvZXMgaXQncyBub3JtYWxpemF0aW9uLCBjb2xsYXBzaW5nIHJlcGVhdGVkIHNwYWNlcyBhbmQgc3RyaXBwaW5nIG91dCBjb250cm9sIGNoYXJhY3RlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKGhlYWRlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSEVBREVSX0NBTk9OSUNBTElaRVIudHJ5UGFyc2UoaGVhZGVyKTtcbn1cblxuLy8gRmFzdCBleHRyYWN0aW9uIG9mIGxpbmUgcmFuZ2VzIGZyb20gbGFyZ2UgcGllY2VzIG9mIHRleHQuXG5cbi8qKiBVcGRhdGUgdGhlIGxpbmUgcmFuZ2UgZnJvbSBbc3RhcnQsIGVuZCkgd2l0aCB0aGUgZ2l2ZW4gZnVuY3Rpb24uICovXG5leHBvcnQgZnVuY3Rpb24gbGluZVJlcGxhY2UodGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgZnVuYzogKGxpbmU6IHN0cmluZykgPT4gc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBbZGF0YSwgb2Zmc2V0XSA9IGxpbmVTcGFuKHRleHQsIHN0YXJ0LCBlbmQpO1xuICAgIGlmICghb2Zmc2V0KSByZXR1cm4gdGV4dDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIGRhdGEuc3Vic3RyaW5nKDAsIG9mZnNldC5zdGFydCkgKyBmdW5jKGRhdGEuc3Vic3RyaW5nKG9mZnNldC5zdGFydCwgb2Zmc2V0LmVuZCkpICsgZGF0YS5zdWJzdHJpbmcob2Zmc2V0LmVuZClcbiAgICApO1xufVxuXG4vKiogRXh0cmFjdCB0aGUgbGluZXMgaW4gdGhlIHJhbmdlIFtzdGFydCwgZW5kKSwgYXMgd2VsbCBhcyB0aGUgYWN0dWFsIG9mZnNldHMgb2YgdGhlIHN0YXJ0IGFuZCBlbmQuICovXG5leHBvcnQgZnVuY3Rpb24gbGluZVNwYW4oXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHN0YXJ0OiBudW1iZXIsXG4gICAgZW5kOiBudW1iZXJcbik6IFtzdHJpbmcsIHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfSB8IHVuZGVmaW5lZF0ge1xuICAgIHN0YXJ0ID0gTWF0aC5tYXgoc3RhcnQsIDApO1xuICAgIGVuZCA9IE1hdGgubWF4KGVuZCwgMCk7XG5cbiAgICBpZiAoc3RhcnQgPj0gZW5kKSByZXR1cm4gW1wiXCIsIHVuZGVmaW5lZF07XG5cbiAgICAvLyBTdGFydCBieSBmaW5kaW5nIHRoZSBzdGFydGluZyBsaW5lIG9mZnNldC5cbiAgICBjb25zdCBzdGFydE9mZnNldCA9IHNraXBOZXdsaW5lcyh0ZXh0LCAwLCBzdGFydCk7XG4gICAgaWYgKHN0YXJ0T2Zmc2V0ID09IC0xKSByZXR1cm4gW1wiXCIsIHVuZGVmaW5lZF07XG5cbiAgICBjb25zdCBlbmRPZmZzZXQgPSBza2lwTmV3bGluZXModGV4dCwgc3RhcnRPZmZzZXQsIGVuZCAtIHN0YXJ0KTtcbiAgICBpZiAoZW5kT2Zmc2V0ID09IC0xKSByZXR1cm4gW3RleHQuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0KSwgeyBzdGFydDogc3RhcnRPZmZzZXQsIGVuZDogdGV4dC5sZW5ndGggfV07XG4gICAgZWxzZSByZXR1cm4gW3RleHQuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgLSAxKSwgeyBzdGFydDogc3RhcnRPZmZzZXQsIGVuZDogZW5kT2Zmc2V0IC0gMSB9XTtcbn1cblxuLyoqIEV4dHJhY3QgdGhlIGxpbmVzIGluIHRoZSByYW5nZSBbc3RhcnQsIGVuZCkuIFN0YXJ0IGlzIGluY2x1c2l2ZSwgZW5kIGlzIGV4Y2x1c2l2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaW5lUmFuZ2UodGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxpbmVTcGFuKHRleHQsIHN0YXJ0LCBlbmQpWzBdO1xufVxuXG4vKiogU2tpcCB7Y291bnR9IHRvdGFsIG5ld2xpbmVzLCByZXR1cm5pbmcgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIHtjb3VudH0gbGluZXMgYWZ0ZXIgdGhlIGN1cnJlbnQgbGluZS4gSWYgY291bnQgaXMgMCwgdGhlIGluaXRpYWwgb2Zmc2V0IGlzIHJldHVybmVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNraXBOZXdsaW5lcyh0ZXh0OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChjb3VudCA9PSAwKSByZXR1cm4gc3RhcnQ7XG5cbiAgICBsZXQgcG9zaXRpb24gPSBzdGFydDtcbiAgICB3aGlsZSAoY291bnQgPiAwKSB7XG4gICAgICAgIHBvc2l0aW9uID0gdGV4dC5pbmRleE9mKFwiXFxuXCIsIHBvc2l0aW9uKTtcbiAgICAgICAgaWYgKHBvc2l0aW9uID09IC0xKSByZXR1cm4gLTE7XG5cbiAgICAgICAgY291bnQtLTtcbiAgICAgICAgcG9zaXRpb24gKz0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zaXRpb247XG59XG4iLCAiZXhwb3J0IGRlZmF1bHQgKCkgPT4ge1xuXHQvLyBodHRwczovL210aHMuYmUvZW1vamlcblx0cmV0dXJuIC9bIyowLTldXFx1RkUwRj9cXHUyMEUzfFtcXHhBOVxceEFFXFx1MjAzQ1xcdTIwNDlcXHUyMTIyXFx1MjEzOVxcdTIxOTQtXFx1MjE5OVxcdTIxQTlcXHUyMUFBXFx1MjMxQVxcdTIzMUJcXHUyMzI4XFx1MjNDRlxcdTIzRUQtXFx1MjNFRlxcdTIzRjFcXHUyM0YyXFx1MjNGOC1cXHUyM0ZBXFx1MjRDMlxcdTI1QUFcXHUyNUFCXFx1MjVCNlxcdTI1QzBcXHUyNUZCXFx1MjVGQ1xcdTI1RkVcXHUyNjAwLVxcdTI2MDRcXHUyNjBFXFx1MjYxMVxcdTI2MTRcXHUyNjE1XFx1MjYxOFxcdTI2MjBcXHUyNjIyXFx1MjYyM1xcdTI2MjZcXHUyNjJBXFx1MjYyRVxcdTI2MkZcXHUyNjM4LVxcdTI2M0FcXHUyNjQwXFx1MjY0MlxcdTI2NDgtXFx1MjY1M1xcdTI2NUZcXHUyNjYwXFx1MjY2M1xcdTI2NjVcXHUyNjY2XFx1MjY2OFxcdTI2N0JcXHUyNjdFXFx1MjY3RlxcdTI2OTJcXHUyNjk0LVxcdTI2OTdcXHUyNjk5XFx1MjY5QlxcdTI2OUNcXHUyNkEwXFx1MjZBN1xcdTI2QUFcXHUyNkIwXFx1MjZCMVxcdTI2QkRcXHUyNkJFXFx1MjZDNFxcdTI2QzhcXHUyNkNGXFx1MjZEMVxcdTI2RTlcXHUyNkYwLVxcdTI2RjVcXHUyNkY3XFx1MjZGOFxcdTI2RkFcXHUyNzAyXFx1MjcwOFxcdTI3MDlcXHUyNzBGXFx1MjcxMlxcdTI3MTRcXHUyNzE2XFx1MjcxRFxcdTI3MjFcXHUyNzMzXFx1MjczNFxcdTI3NDRcXHUyNzQ3XFx1Mjc1N1xcdTI3NjNcXHUyN0ExXFx1MjkzNFxcdTI5MzVcXHUyQjA1LVxcdTJCMDdcXHUyQjFCXFx1MkIxQ1xcdTJCNTVcXHUzMDMwXFx1MzAzRFxcdTMyOTdcXHUzMjk5XVxcdUZFMEY/fFtcXHUyNjFEXFx1MjcwQ1xcdTI3MERdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpP3xbXFx1MjcwQVxcdTI3MEJdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdTIzRTktXFx1MjNFQ1xcdTIzRjBcXHUyM0YzXFx1MjVGRFxcdTI2OTNcXHUyNkExXFx1MjZBQlxcdTI2QzVcXHUyNkNFXFx1MjZENFxcdTI2RUFcXHUyNkZEXFx1MjcwNVxcdTI3MjhcXHUyNzRDXFx1Mjc0RVxcdTI3NTMtXFx1Mjc1NVxcdTI3OTUtXFx1Mjc5N1xcdTI3QjBcXHUyN0JGXFx1MkI1MF18XFx1MjZEM1xcdUZFMEY/KD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E1KT98XFx1MjZGOSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98XFx1Mjc2NFxcdUZFMEY/KD86XFx1MjAwRCg/OlxcdUQ4M0RcXHVERDI1fFxcdUQ4M0VcXHVERTc5KSk/fFxcdUQ4M0MoPzpbXFx1REMwNFxcdURENzBcXHVERDcxXFx1REQ3RVxcdUREN0ZcXHVERTAyXFx1REUzN1xcdURGMjFcXHVERjI0LVxcdURGMkNcXHVERjM2XFx1REY3RFxcdURGOTZcXHVERjk3XFx1REY5OS1cXHVERjlCXFx1REY5RVxcdURGOUZcXHVERkNEXFx1REZDRVxcdURGRDQtXFx1REZERlxcdURGRjVcXHVERkY3XVxcdUZFMEY/fFtcXHVERjg1XFx1REZDMlxcdURGQzddKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdURGQzRcXHVERkNBXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERkNCXFx1REZDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVEQ0NGXFx1REQ4RVxcdUREOTEtXFx1REQ5QVxcdURFMDFcXHVERTFBXFx1REUyRlxcdURFMzItXFx1REUzNlxcdURFMzgtXFx1REUzQVxcdURFNTBcXHVERTUxXFx1REYwMC1cXHVERjIwXFx1REYyRC1cXHVERjM1XFx1REYzNy1cXHVERjQzXFx1REY0NS1cXHVERjRBXFx1REY0Qy1cXHVERjdDXFx1REY3RS1cXHVERjg0XFx1REY4Ni1cXHVERjkzXFx1REZBMC1cXHVERkMxXFx1REZDNVxcdURGQzZcXHVERkM4XFx1REZDOVxcdURGQ0YtXFx1REZEM1xcdURGRTAtXFx1REZGMFxcdURGRjgtXFx1REZGRl18XFx1RERFNlxcdUQ4M0NbXFx1RERFOC1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREYyXFx1RERGNFxcdURERjYtXFx1RERGQVxcdURERkNcXHVEREZEXFx1RERGRl18XFx1RERFN1xcdUQ4M0NbXFx1RERFNlxcdURERTdcXHVEREU5LVxcdURERUZcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkVcXHVEREZGXXxcXHVEREU4XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERUVcXHVEREYwLVxcdURERjdcXHVEREZBLVxcdURERkZdfFxcdURERTlcXHVEODNDW1xcdURERUFcXHVEREVDXFx1RERFRlxcdURERjBcXHVEREYyXFx1RERGNFxcdURERkZdfFxcdURERUFcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVEXFx1RERGNy1cXHVEREZBXXxcXHVEREVCXFx1RDgzQ1tcXHVEREVFLVxcdURERjBcXHVEREYyXFx1RERGNFxcdURERjddfFxcdURERUNcXHVEODNDW1xcdURERTZcXHVEREU3XFx1RERFOS1cXHVEREVFXFx1RERGMS1cXHVEREYzXFx1RERGNS1cXHVEREZBXFx1RERGQ1xcdURERkVdfFxcdURERURcXHVEODNDW1xcdURERjBcXHVEREYyXFx1RERGM1xcdURERjdcXHVEREY5XFx1RERGQV18XFx1RERFRVxcdUQ4M0NbXFx1RERFOC1cXHVEREVBXFx1RERGMS1cXHVEREY0XFx1RERGNi1cXHVEREY5XXxcXHVEREVGXFx1RDgzQ1tcXHVEREVBXFx1RERGMlxcdURERjRcXHVEREY1XXxcXHVEREYwXFx1RDgzQ1tcXHVEREVBXFx1RERFQy1cXHVEREVFXFx1RERGMlxcdURERjNcXHVEREY1XFx1RERGN1xcdURERkNcXHVEREZFXFx1RERGRl18XFx1RERGMVxcdUQ4M0NbXFx1RERFNi1cXHVEREU4XFx1RERFRVxcdURERjBcXHVEREY3LVxcdURERkJcXHVEREZFXXxcXHVEREYyXFx1RDgzQ1tcXHVEREU2XFx1RERFOC1cXHVEREVEXFx1RERGMC1cXHVEREZGXXxcXHVEREYzXFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUEtXFx1RERFQ1xcdURERUVcXHVEREYxXFx1RERGNFxcdURERjVcXHVEREY3XFx1RERGQVxcdURERkZdfFxcdURERjRcXHVEODNDXFx1RERGMnxcXHVEREY1XFx1RDgzQ1tcXHVEREU2XFx1RERFQS1cXHVEREVEXFx1RERGMC1cXHVEREYzXFx1RERGNy1cXHVEREY5XFx1RERGQ1xcdURERkVdfFxcdURERjZcXHVEODNDXFx1RERFNnxcXHVEREY3XFx1RDgzQ1tcXHVEREVBXFx1RERGNFxcdURERjhcXHVEREZBXFx1RERGQ118XFx1RERGOFxcdUQ4M0NbXFx1RERFNi1cXHVEREVBXFx1RERFQy1cXHVEREY0XFx1RERGNy1cXHVEREY5XFx1RERGQlxcdURERkQtXFx1RERGRl18XFx1RERGOVxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREU5XFx1RERFQi1cXHVEREVEXFx1RERFRi1cXHVEREY0XFx1RERGN1xcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkZdfFxcdURERkFcXHVEODNDW1xcdURERTZcXHVEREVDXFx1RERGMlxcdURERjNcXHVEREY4XFx1RERGRVxcdURERkZdfFxcdURERkJcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVFXFx1RERGM1xcdURERkFdfFxcdURERkNcXHVEODNDW1xcdURERUJcXHVEREY4XXxcXHVEREZEXFx1RDgzQ1xcdURERjB8XFx1RERGRVxcdUQ4M0NbXFx1RERFQVxcdURERjldfFxcdURERkZcXHVEODNDW1xcdURERTZcXHVEREYyXFx1RERGQ118XFx1REY0NCg/OlxcdTIwMERcXHVEODNEXFx1REZFQik/fFxcdURGNEIoPzpcXHUyMDBEXFx1RDgzRFxcdURGRTkpP3xcXHVERkMzKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVERkYzXFx1RkUwRj8oPzpcXHUyMDBEKD86XFx1MjZBN1xcdUZFMEY/fFxcdUQ4M0NcXHVERjA4KSk/fFxcdURGRjQoPzpcXHUyMDBEXFx1MjYyMFxcdUZFMEY/fFxcdURCNDBcXHVEQzY3XFx1REI0MFxcdURDNjJcXHVEQjQwKD86XFx1REM2NVxcdURCNDBcXHVEQzZFXFx1REI0MFxcdURDNjd8XFx1REM3M1xcdURCNDBcXHVEQzYzXFx1REI0MFxcdURDNzR8XFx1REM3N1xcdURCNDBcXHVEQzZDXFx1REI0MFxcdURDNzMpXFx1REI0MFxcdURDN0YpPyl8XFx1RDgzRCg/OltcXHVEQzNGXFx1RENGRFxcdURENDlcXHVERDRBXFx1REQ2RlxcdURENzBcXHVERDczXFx1REQ3Ni1cXHVERDc5XFx1REQ4N1xcdUREOEEtXFx1REQ4RFxcdUREQTVcXHVEREE4XFx1RERCMVxcdUREQjJcXHVEREJDXFx1RERDMi1cXHVEREM0XFx1REREMS1cXHVEREQzXFx1REREQy1cXHVERERFXFx1RERFMVxcdURERTNcXHVEREU4XFx1RERFRlxcdURERjNcXHVEREZBXFx1REVDQlxcdURFQ0QtXFx1REVDRlxcdURFRTAtXFx1REVFNVxcdURFRTlcXHVERUYwXFx1REVGM11cXHVGRTBGP3xbXFx1REM0MlxcdURDNDNcXHVEQzQ2LVxcdURDNTBcXHVEQzY2XFx1REM2N1xcdURDNkItXFx1REM2RFxcdURDNzJcXHVEQzc0LVxcdURDNzZcXHVEQzc4XFx1REM3Q1xcdURDODNcXHVEQzg1XFx1REM4RlxcdURDOTFcXHVEQ0FBXFx1REQ3QVxcdUREOTVcXHVERDk2XFx1REU0Q1xcdURFNEZcXHVERUMwXFx1REVDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REM2RVxcdURDNzBcXHVEQzcxXFx1REM3M1xcdURDNzdcXHVEQzgxXFx1REM4MlxcdURDODZcXHVEQzg3XFx1REU0NS1cXHVERTQ3XFx1REU0QlxcdURFNERcXHVERTRFXFx1REVBM1xcdURFQjRcXHVERUI1XSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDc0XFx1REQ5MF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/fFtcXHVEQzAwLVxcdURDMDdcXHVEQzA5LVxcdURDMTRcXHVEQzE2LVxcdURDMjVcXHVEQzI3LVxcdURDM0FcXHVEQzNDLVxcdURDM0VcXHVEQzQwXFx1REM0NFxcdURDNDVcXHVEQzUxLVxcdURDNjVcXHVEQzZBXFx1REM3OS1cXHVEQzdCXFx1REM3RC1cXHVEQzgwXFx1REM4NFxcdURDODgtXFx1REM4RVxcdURDOTBcXHVEQzkyLVxcdURDQTlcXHVEQ0FCLVxcdURDRkNcXHVEQ0ZGLVxcdUREM0RcXHVERDRCLVxcdURENEVcXHVERDUwLVxcdURENjdcXHVEREE0XFx1RERGQi1cXHVERTJEXFx1REUyRi1cXHVERTM0XFx1REUzNy1cXHVERTQxXFx1REU0M1xcdURFNDRcXHVERTQ4LVxcdURFNEFcXHVERTgwLVxcdURFQTJcXHVERUE0LVxcdURFQjNcXHVERUI3LVxcdURFQkZcXHVERUMxLVxcdURFQzVcXHVERUQwLVxcdURFRDJcXHVERUQ1LVxcdURFRDdcXHVERURDLVxcdURFREZcXHVERUVCXFx1REVFQ1xcdURFRjQtXFx1REVGQ1xcdURGRTAtXFx1REZFQlxcdURGRjBdfFxcdURDMDgoPzpcXHUyMDBEXFx1MkIxQik/fFxcdURDMTUoPzpcXHUyMDBEXFx1RDgzRVxcdUREQkEpP3xcXHVEQzI2KD86XFx1MjAwRCg/OlxcdTJCMUJ8XFx1RDgzRFxcdUREMjUpKT98XFx1REMzQig/OlxcdTIwMERcXHUyNzQ0XFx1RkUwRj8pP3xcXHVEQzQxXFx1RkUwRj8oPzpcXHUyMDBEXFx1RDgzRFxcdURERThcXHVGRTBGPyk/fFxcdURDNjgoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OHxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XVxcdTIwMERcXHVEODNEKD86XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkMtXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdKSkpP3xcXHVERkZEKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRV0pKSk/KSk/fFxcdURDNjkoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/W1xcdURDNjhcXHVEQzY5XXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pP3xcXHVEQzY5XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KSl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSkpKT8pKT98XFx1REM2Rig/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERDc1KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERTJFKD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E4KT98XFx1REUzNSg/OlxcdTIwMERcXHVEODNEXFx1RENBQik/fFxcdURFMzYoPzpcXHUyMDBEXFx1RDgzQ1xcdURGMkJcXHVGRTBGPyk/fFxcdURFNDIoPzpcXHUyMDBEW1xcdTIxOTRcXHUyMTk1XVxcdUZFMEY/KT98XFx1REVCNig/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRCg/OltcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xcXHUyN0ExXFx1RkUwRj8pKT8pfFxcdUQ4M0UoPzpbXFx1REQwQ1xcdUREMEZcXHVERDE4LVxcdUREMUZcXHVERDMwLVxcdUREMzRcXHVERDM2XFx1REQ3N1xcdUREQjVcXHVEREI2XFx1RERCQlxcdURERDJcXHVEREQzXFx1RERENVxcdURFQzMtXFx1REVDNVxcdURFRjBcXHVERUYyLVxcdURFRjhdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdUREMjZcXHVERDM1XFx1REQzNy1cXHVERDM5XFx1REQzRFxcdUREM0VcXHVEREI4XFx1RERCOVxcdUREQ0RcXHVERENGXFx1RERENFxcdURERDYtXFx1RERERF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1RERERVxcdUREREZdKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDBEXFx1REQwRVxcdUREMTAtXFx1REQxN1xcdUREMjAtXFx1REQyNVxcdUREMjctXFx1REQyRlxcdUREM0FcXHVERDNGLVxcdURENDVcXHVERDQ3LVxcdURENzZcXHVERDc4LVxcdUREQjRcXHVEREI3XFx1RERCQVxcdUREQkMtXFx1RERDQ1xcdURERDBcXHVEREUwLVxcdURERkZcXHVERTcwLVxcdURFN0NcXHVERTgwLVxcdURFODlcXHVERThGLVxcdURFQzJcXHVERUM2XFx1REVDRS1cXHVERURDXFx1REVERi1cXHVERUU5XXxcXHVERDNDKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGP3xcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xcXHVERENFKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVEREQxKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEREQxXFx1MjAwRFxcdUQ4M0VcXHVEREQyKD86XFx1MjAwRFxcdUQ4M0VcXHVEREQyKT98XFx1REREMig/OlxcdTIwMERcXHVEODNFXFx1REREMik/KSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRV18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT8pKT98XFx1REVGMSg/OlxcdUQ4M0MoPzpcXHVERkZCKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKT98XFx1REZGQyg/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pP3xcXHVERkZEKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSk/fFxcdURGRkUoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKT98XFx1REZGRig/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSk/KSk/KS9nO1xufTtcbiIsICJpbXBvcnQgeyBnZXRGaWxlVGl0bGUsIG5vcm1hbGl6ZUhlYWRlckZvckxpbmsgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcblxuLyoqIFRoZSBPYnNpZGlhbiAnbGluaycsIHVzZWQgZm9yIHVuaXF1ZWx5IGRlc2NyaWJpbmcgYSBmaWxlLCBoZWFkZXIsIG9yIGJsb2NrLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgY2xhc3MgTGluayB7XG4gICAgLyoqIFRoZSBmaWxlIHBhdGggdGhpcyBsaW5rIHBvaW50cyB0by4gKi9cbiAgICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZGlzcGxheSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay4gKi9cbiAgICBwdWJsaWMgZGlzcGxheT86IHN0cmluZztcbiAgICAvKiogVGhlIGJsb2NrIElEIG9yIGhlYWRlciB0aGlzIGxpbmsgcG9pbnRzIHRvIHdpdGhpbiBhIGZpbGUsIGlmIHJlbGV2YW50LiAqL1xuICAgIHB1YmxpYyBzdWJwYXRoPzogc3RyaW5nO1xuICAgIC8qKiBJcyB0aGlzIGxpbmsgYW4gZW1iZWRkZWQgbGluayAob2YgZm9ybSAnIVtbaGVsbG9dXScpPyAqL1xuICAgIHB1YmxpYyBlbWJlZDogYm9vbGVhbjtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBsaW5rLCB3aGljaCBkZXRlcm1pbmVzIHdoYXQgJ3N1YnBhdGgnIHJlZmVycyB0bywgaWYgYW55dGhpbmcuICovXG4gICAgcHVibGljIHR5cGU6IFwiZmlsZVwiIHwgXCJoZWFkZXJcIiB8IFwiYmxvY2tcIjtcblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgc3BlY2lmaWMgZmlsZS4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGZpbGUocGF0aDogc3RyaW5nLCBlbWJlZDogYm9vbGVhbiA9IGZhbHNlLCBkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayh7XG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgZW1iZWQsXG4gICAgICAgICAgICBkaXNwbGF5LFxuICAgICAgICAgICAgc3VicGF0aDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHlwZTogXCJmaWxlXCIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBJbmZlciB0aGUgdHlwZSBvZiB0aGUgbGluayBmcm9tIHRoZSBmdWxsIGludGVybmFsIGxpbmsgcGF0aC4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZmVyKGxpbmtwYXRoOiBzdHJpbmcsIGVtYmVkOiBib29sZWFuID0gZmFsc2UsIGRpc3BsYXk/OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgaWYgKGxpbmtwYXRoLmluY2x1ZGVzKFwiI15cIikpIHtcbiAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KFwiI15cIik7XG4gICAgICAgICAgICByZXR1cm4gTGluay5ibG9jayhzcGxpdFswXSwgc3BsaXRbMV0sIGVtYmVkLCBkaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIGlmIChsaW5rcGF0aC5pbmNsdWRlcyhcIiNcIikpIHtcbiAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KFwiI1wiKTtcbiAgICAgICAgICAgIHJldHVybiBMaW5rLmhlYWRlcihzcGxpdFswXSwgc3BsaXRbMV0sIGVtYmVkLCBkaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIHJldHVybiBMaW5rLmZpbGUobGlua3BhdGgsIGVtYmVkLCBkaXNwbGF5KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGhlYWRlciBpbiB0aGF0IGZpbGUuICovXG4gICAgcHVibGljIHN0YXRpYyBoZWFkZXIocGF0aDogc3RyaW5nLCBoZWFkZXI6IHN0cmluZywgZW1iZWQ/OiBib29sZWFuLCBkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIC8vIEhlYWRlcnMgbmVlZCB0byBiZSBub3JtYWxpemVkIHRvIGFscGhhLW51bWVyaWMgJiB3aXRoIGV4dHJhIHNwYWNpbmcgcmVtb3ZlZC5cbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBlbWJlZCxcbiAgICAgICAgICAgIGRpc3BsYXksXG4gICAgICAgICAgICBzdWJwYXRoOiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKGhlYWRlciksXG4gICAgICAgICAgICB0eXBlOiBcImhlYWRlclwiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGJsb2NrIGluIHRoYXQgZmlsZS4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGJsb2NrKHBhdGg6IHN0cmluZywgYmxvY2tJZDogc3RyaW5nLCBlbWJlZD86IGJvb2xlYW4sIGRpc3BsYXk/OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBlbWJlZCxcbiAgICAgICAgICAgIGRpc3BsYXksXG4gICAgICAgICAgICBzdWJwYXRoOiBibG9ja0lkLFxuICAgICAgICAgICAgdHlwZTogXCJibG9ja1wiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogTG9hZCBhIGxpbmsgZnJvbSBpdCdzIHJhdyBKU09OIHJlcHJlc2VudGF0aW9uLiAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbU9iamVjdChvYmplY3Q6IEpzb25MaW5rKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayhvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIGJ5IHBhcnNpbmcgaXQncyBpbnRlcmlvciBwYXJ0IChpbnNpZGUgb2YgdGhlICdbW11dJykuICovXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZUlubmVyKHJhd2xpbms6IHN0cmluZyk6IExpbmsge1xuICAgICAgICBsZXQgW2xpbmssIGRpc3BsYXldID0gc3BsaXRPblVuZXNjYXBlZFBpcGUocmF3bGluayk7XG4gICAgICAgIHJldHVybiBMaW5rLmluZmVyKGxpbmssIGZhbHNlLCBkaXNwbGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGZpZWxkczogUGFydGlhbDxMaW5rPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGZpZWxkcyk7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSB0aGlzIGxpbmsgd2l0aCBhIG5ldyBwYXRoLiAqL1xuICAgIHB1YmxpYyB3aXRoUGF0aChwYXRoOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKE9iamVjdC5hc3NpZ24oe30sIHRoaXMsIHsgcGF0aCB9KSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIG5ldyBsaW5rIHdoaWNoIHBvaW50cyB0byB0aGUgc2FtZSBsb2NhdGlvbiBidXQgd2l0aCBhIG5ldyBkaXNwbGF5IHZhbHVlLiAqL1xuICAgIHB1YmxpYyB3aXRoRGlzcGxheShkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayhPYmplY3QuYXNzaWduKHt9LCB0aGlzLCB7IGRpc3BsYXkgfSkpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBuZXcgbGluayB3aGljaCBoYXMgdGhlIGdpdmVuIGVtYmVkZGVkIHN0YXR1cy4gKi9cbiAgICBwdWJsaWMgd2l0aEVtYmVkKGVtYmVkOiBib29sZWFuKTogTGluayB7XG4gICAgICAgIGlmICh0aGlzLmVtYmVkID09IGVtYmVkKSByZXR1cm4gdGhpcztcblxuICAgICAgICByZXR1cm4gbmV3IExpbmsoT2JqZWN0LmFzc2lnbih7fSwgdGhpcywgeyBlbWJlZCB9KSk7XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgYSBmaWxlIGxpbmsgaW50byBhIGxpbmsgdG8gYSBzcGVjaWZpYyBoZWFkZXIuICovXG4gICAgcHVibGljIHdpdGhIZWFkZXIoaGVhZGVyOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHRoaXMucGF0aCwgaGVhZGVyLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGEgZmlsZSBsaW5rIGludG8gYSBsaW5rIHRvIGEgc3BlY2lmaWNiIGxvY2suICovXG4gICAgcHVibGljIHdpdGhCbG9jayhibG9jazogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmJsb2NrKHRoaXMucGF0aCwgYmxvY2ssIHRoaXMuZW1iZWQsIHRoaXMuZGlzcGxheSk7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyBmb3IgbGluayBlcXVhbGl0eSAoaS5lLiwgdGhhdCB0aGUgbGlua3MgYXJlIHBvaW50aW5nIHRvIHRoZSBzYW1lIGV4YWN0IGxvY2F0aW9uKS4gKi9cbiAgICBwdWJsaWMgZXF1YWxzKG90aGVyOiBMaW5rKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChvdGhlciA9PSB1bmRlZmluZWQgfHwgb3RoZXIgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBhdGggPT0gb3RoZXIucGF0aCAmJiB0aGlzLnR5cGUgPT0gb3RoZXIudHlwZSAmJiB0aGlzLnN1YnBhdGggPT0gb3RoZXIuc3VicGF0aDtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gaXQncyBtYXJrZG93biByZXByZXNlbnRhdGlvbi4gKi9cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFya2Rvd24oKTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gYSByYXcgb2JqZWN0IHdoaWNoIGlzIHNlcmlhbGl6YXRpb24tZnJpZW5kbHkuICovXG4gICAgcHVibGljIHRvT2JqZWN0KCk6IEpzb25MaW5rIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgICAgIHN1YnBhdGg6IHRoaXMuc3VicGF0aCxcbiAgICAgICAgICAgIGRpc3BsYXk6IHRoaXMuZGlzcGxheSxcbiAgICAgICAgICAgIGVtYmVkOiB0aGlzLmVtYmVkLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGFueSBsaW5rIGludG8gYSBsaW5rIHRvIGl0cyBmaWxlLiAqL1xuICAgIHB1YmxpYyB0b0ZpbGUoKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUodGhpcy5wYXRoLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IHRoaXMgbGluayBpbnRvIGFuIGVtYmVkZGVkIGxpbmsuICovXG4gICAgcHVibGljIHRvRW1iZWQoKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhFbWJlZCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhIG5vbi1lbWJlZGRlZCBsaW5rLiAqL1xuICAgIHB1YmxpYyBmcm9tRW1iZWQoKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhFbWJlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgdGhpcyBsaW5rIHRvIG1hcmtkb3duIHNvIGl0IGNhbiBiZSByZW5kZXJlZC4gKi9cbiAgICBwdWJsaWMgbWFya2Rvd24oKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICh0aGlzLmVtYmVkID8gXCIhXCIgOiBcIlwiKSArIFwiW1tcIiArIHRoaXMub2JzaWRpYW5MaW5rKCk7XG4gICAgICAgIHJlc3VsdCArPSBcInxcIjtcbiAgICAgICAgcmVzdWx0ICs9IHRoaXMuZGlzcGxheU9yRGVmYXVsdCgpO1xuICAgICAgICByZXN1bHQgKz0gXCJdXVwiO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gdGhlIGRpc3BsYXkgZm9yIHRoaXMgbGluayBpZiBwcmVzZW50LCBvciByZXR1cm4gYSBzaW1wbGUgZGVmYXVsdCBkaXNwbGF5LiAqL1xuICAgIHB1YmxpYyBkaXNwbGF5T3JEZWZhdWx0KCkge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpO1xuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBcImhlYWRlclwiIHx8IHRoaXMudHlwZSA9PSBcImJsb2NrXCIpIHJlc3VsdCArPSBcIiA+IFwiICsgdGhpcy5zdWJwYXRoO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgdGhlIGlubmVyIHBhcnQgb2YgdGhlIGxpbmsgdG8gc29tZXRoaW5nIHRoYXQgT2JzaWRpYW4gY2FuIG9wZW4gLyB1bmRlcnN0YW5kLiAqL1xuICAgIHB1YmxpYyBvYnNpZGlhbkxpbmsoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZXNjYXBlZCA9IHRoaXMucGF0aC5yZXBsYWNlKFwifFwiLCBcIlxcXFx8XCIpO1xuICAgICAgICBpZiAodGhpcy50eXBlID09IFwiaGVhZGVyXCIpIHJldHVybiBlc2NhcGVkICsgXCIjXCIgKyB0aGlzLnN1YnBhdGg/LnJlcGxhY2UoXCJ8XCIsIFwiXFxcXHxcIik7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gXCJibG9ja1wiKSByZXR1cm4gZXNjYXBlZCArIFwiI15cIiArIHRoaXMuc3VicGF0aD8ucmVwbGFjZShcInxcIiwgXCJcXFxcfFwiKTtcbiAgICAgICAgZWxzZSByZXR1cm4gZXNjYXBlZDtcbiAgICB9XG5cbiAgICAvKiogVGhlIHN0cmlwcGVkIG5hbWUgb2YgdGhlIGZpbGUgdGhpcyBsaW5rIHBvaW50cyB0by4gKi9cbiAgICBwdWJsaWMgZmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpO1xuICAgIH1cbn1cblxuLyoqIFNlcmlhbGl6ZWQgZm9ybSBvZiBhIGxpbmsuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkxpbmsge1xuICAgIC8qKiBUaGUgZmlsZSBwYXRoIHRoaXMgbGluayBwb2ludHMgdG8uICovXG4gICAgcGF0aDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZGlzcGxheSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay4gKi9cbiAgICBkaXNwbGF5Pzogc3RyaW5nO1xuICAgIC8qKiBUaGUgYmxvY2sgSUQgb3IgaGVhZGVyIHRoaXMgbGluayBwb2ludHMgdG8gd2l0aGluIGEgZmlsZSwgaWYgcmVsZXZhbnQuICovXG4gICAgc3VicGF0aD86IHN0cmluZztcbiAgICAvKiogSXMgdGhpcyBsaW5rIGFuIGVtYmVkZGVkIGxpbmsgKG9mIGZvcm0gJyFbW2hlbGxvXV0nKT8gKi9cbiAgICBlbWJlZDogYm9vbGVhbjtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBsaW5rLCB3aGljaCBkZXRlcm1pbmVzIHdoYXQgJ3N1YnBhdGgnIHJlZmVycyB0bywgaWYgYW55dGhpbmcuICovXG4gICAgdHlwZTogXCJmaWxlXCIgfCBcImhlYWRlclwiIHwgXCJibG9ja1wiO1xufVxuXG4vKiogU3BsaXQgb24gdW5lc2NhcGVkIHBpcGVzIGluIGFuIGlubmVyIGxpbmsuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdE9uVW5lc2NhcGVkUGlwZShsaW5rOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWRdIHtcbiAgICBsZXQgcGlwZSA9IC0xO1xuICAgIHdoaWxlICgocGlwZSA9IGxpbmsuaW5kZXhPZihcInxcIiwgcGlwZSArIDEpKSA+PSAwKSB7XG4gICAgICAgIGlmIChwaXBlID4gMCAmJiBsaW5rW3BpcGUgLSAxXSA9PSBcIlxcXFxcIikgY29udGludWU7XG4gICAgICAgIHJldHVybiBbbGluay5zdWJzdHJpbmcoMCwgcGlwZSkucmVwbGFjZSgvXFxcXFxcfC9nLCBcInxcIiksIGxpbmsuc3Vic3RyaW5nKHBpcGUgKyAxKV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtsaW5rLnJlcGxhY2UoL1xcXFxcXHwvZywgXCJ8XCIpLCB1bmRlZmluZWRdO1xufVxuIiwgImNvbnN0IEFMSUFTID0gU3ltYm9sLmZvcigneWFtbC5hbGlhcycpO1xuY29uc3QgRE9DID0gU3ltYm9sLmZvcigneWFtbC5kb2N1bWVudCcpO1xuY29uc3QgTUFQID0gU3ltYm9sLmZvcigneWFtbC5tYXAnKTtcbmNvbnN0IFBBSVIgPSBTeW1ib2wuZm9yKCd5YW1sLnBhaXInKTtcbmNvbnN0IFNDQUxBUiA9IFN5bWJvbC5mb3IoJ3lhbWwuc2NhbGFyJyk7XG5jb25zdCBTRVEgPSBTeW1ib2wuZm9yKCd5YW1sLnNlcScpO1xuY29uc3QgTk9ERV9UWVBFID0gU3ltYm9sLmZvcigneWFtbC5ub2RlLnR5cGUnKTtcbmNvbnN0IGlzQWxpYXMgPSAobm9kZSkgPT4gISFub2RlICYmIHR5cGVvZiBub2RlID09PSAnb2JqZWN0JyAmJiBub2RlW05PREVfVFlQRV0gPT09IEFMSUFTO1xuY29uc3QgaXNEb2N1bWVudCA9IChub2RlKSA9PiAhIW5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmIG5vZGVbTk9ERV9UWVBFXSA9PT0gRE9DO1xuY29uc3QgaXNNYXAgPSAobm9kZSkgPT4gISFub2RlICYmIHR5cGVvZiBub2RlID09PSAnb2JqZWN0JyAmJiBub2RlW05PREVfVFlQRV0gPT09IE1BUDtcbmNvbnN0IGlzUGFpciA9IChub2RlKSA9PiAhIW5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmIG5vZGVbTk9ERV9UWVBFXSA9PT0gUEFJUjtcbmNvbnN0IGlzU2NhbGFyID0gKG5vZGUpID0+ICEhbm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcgJiYgbm9kZVtOT0RFX1RZUEVdID09PSBTQ0FMQVI7XG5jb25zdCBpc1NlcSA9IChub2RlKSA9PiAhIW5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmIG5vZGVbTk9ERV9UWVBFXSA9PT0gU0VRO1xuZnVuY3Rpb24gaXNDb2xsZWN0aW9uKG5vZGUpIHtcbiAgICBpZiAobm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcpXG4gICAgICAgIHN3aXRjaCAobm9kZVtOT0RFX1RZUEVdKSB7XG4gICAgICAgICAgICBjYXNlIE1BUDpcbiAgICAgICAgICAgIGNhc2UgU0VROlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNOb2RlKG5vZGUpIHtcbiAgICBpZiAobm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcpXG4gICAgICAgIHN3aXRjaCAobm9kZVtOT0RFX1RZUEVdKSB7XG4gICAgICAgICAgICBjYXNlIEFMSUFTOlxuICAgICAgICAgICAgY2FzZSBNQVA6XG4gICAgICAgICAgICBjYXNlIFNDQUxBUjpcbiAgICAgICAgICAgIGNhc2UgU0VROlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuY29uc3QgaGFzQW5jaG9yID0gKG5vZGUpID0+IChpc1NjYWxhcihub2RlKSB8fCBpc0NvbGxlY3Rpb24obm9kZSkpICYmICEhbm9kZS5hbmNob3I7XG5cbmV4cG9ydCB7IEFMSUFTLCBET0MsIE1BUCwgTk9ERV9UWVBFLCBQQUlSLCBTQ0FMQVIsIFNFUSwgaGFzQW5jaG9yLCBpc0FsaWFzLCBpc0NvbGxlY3Rpb24sIGlzRG9jdW1lbnQsIGlzTWFwLCBpc05vZGUsIGlzUGFpciwgaXNTY2FsYXIsIGlzU2VxIH07XG4iLCAiaW1wb3J0IHsgaXNEb2N1bWVudCwgaXNOb2RlLCBpc1BhaXIsIGlzQ29sbGVjdGlvbiwgaXNNYXAsIGlzU2VxLCBpc1NjYWxhciwgaXNBbGlhcyB9IGZyb20gJy4vbm9kZXMvaWRlbnRpdHkuanMnO1xuXG5jb25zdCBCUkVBSyA9IFN5bWJvbCgnYnJlYWsgdmlzaXQnKTtcbmNvbnN0IFNLSVAgPSBTeW1ib2woJ3NraXAgY2hpbGRyZW4nKTtcbmNvbnN0IFJFTU9WRSA9IFN5bWJvbCgncmVtb3ZlIG5vZGUnKTtcbi8qKlxuICogQXBwbHkgYSB2aXNpdG9yIHRvIGFuIEFTVCBub2RlIG9yIGRvY3VtZW50LlxuICpcbiAqIFdhbGtzIHRocm91Z2ggdGhlIHRyZWUgKGRlcHRoLWZpcnN0KSBzdGFydGluZyBmcm9tIGBub2RlYCwgY2FsbGluZyBhXG4gKiBgdmlzaXRvcmAgZnVuY3Rpb24gd2l0aCB0aHJlZSBhcmd1bWVudHM6XG4gKiAgIC0gYGtleWA6IEZvciBzZXF1ZW5jZSB2YWx1ZXMgYW5kIG1hcCBgUGFpcmAsIHRoZSBub2RlJ3MgaW5kZXggaW4gdGhlXG4gKiAgICAgY29sbGVjdGlvbi4gV2l0aGluIGEgYFBhaXJgLCBgJ2tleSdgIG9yIGAndmFsdWUnYCwgY29ycmVzcG9uZGluZ2x5LlxuICogICAgIGBudWxsYCBmb3IgdGhlIHJvb3Qgbm9kZS5cbiAqICAgLSBgbm9kZWA6IFRoZSBjdXJyZW50IG5vZGUuXG4gKiAgIC0gYHBhdGhgOiBUaGUgYW5jZXN0cnkgb2YgdGhlIGN1cnJlbnQgbm9kZS5cbiAqXG4gKiBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSB2aXNpdG9yIG1heSBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHRyYXZlcnNhbDpcbiAqICAgLSBgdW5kZWZpbmVkYCAoZGVmYXVsdCk6IERvIG5vdGhpbmcgYW5kIGNvbnRpbnVlXG4gKiAgIC0gYHZpc2l0LlNLSVBgOiBEbyBub3QgdmlzaXQgdGhlIGNoaWxkcmVuIG9mIHRoaXMgbm9kZSwgY29udGludWUgd2l0aCBuZXh0XG4gKiAgICAgc2libGluZ1xuICogICAtIGB2aXNpdC5CUkVBS2A6IFRlcm1pbmF0ZSB0cmF2ZXJzYWwgY29tcGxldGVseVxuICogICAtIGB2aXNpdC5SRU1PVkVgOiBSZW1vdmUgdGhlIGN1cnJlbnQgbm9kZSwgdGhlbiBjb250aW51ZSB3aXRoIHRoZSBuZXh0IG9uZVxuICogICAtIGBOb2RlYDogUmVwbGFjZSB0aGUgY3VycmVudCBub2RlLCB0aGVuIGNvbnRpbnVlIGJ5IHZpc2l0aW5nIGl0XG4gKiAgIC0gYG51bWJlcmA6IFdoaWxlIGl0ZXJhdGluZyB0aGUgaXRlbXMgb2YgYSBzZXF1ZW5jZSBvciBtYXAsIHNldCB0aGUgaW5kZXhcbiAqICAgICBvZiB0aGUgbmV4dCBzdGVwLiBUaGlzIGlzIHVzZWZ1bCBlc3BlY2lhbGx5IGlmIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudFxuICogICAgIG5vZGUgaGFzIGNoYW5nZWQuXG4gKlxuICogSWYgYHZpc2l0b3JgIGlzIGEgc2luZ2xlIGZ1bmN0aW9uLCBpdCB3aWxsIGJlIGNhbGxlZCB3aXRoIGFsbCB2YWx1ZXNcbiAqIGVuY291bnRlcmVkIGluIHRoZSB0cmVlLCBpbmNsdWRpbmcgZS5nLiBgbnVsbGAgdmFsdWVzLiBBbHRlcm5hdGl2ZWx5LFxuICogc2VwYXJhdGUgdmlzaXRvciBmdW5jdGlvbnMgbWF5IGJlIGRlZmluZWQgZm9yIGVhY2ggYE1hcGAsIGBQYWlyYCwgYFNlcWAsXG4gKiBgQWxpYXNgIGFuZCBgU2NhbGFyYCBub2RlLiBUbyBkZWZpbmUgdGhlIHNhbWUgdmlzaXRvciBmdW5jdGlvbiBmb3IgbW9yZSB0aGFuXG4gKiBvbmUgbm9kZSB0eXBlLCB1c2UgdGhlIGBDb2xsZWN0aW9uYCAobWFwIGFuZCBzZXEpLCBgVmFsdWVgIChtYXAsIHNlcSAmIHNjYWxhcilcbiAqIGFuZCBgTm9kZWAgKGFsaWFzLCBtYXAsIHNlcSAmIHNjYWxhcikgdGFyZ2V0cy4gT2YgYWxsIHRoZXNlLCBvbmx5IHRoZSBtb3N0XG4gKiBzcGVjaWZpYyBkZWZpbmVkIG9uZSB3aWxsIGJlIHVzZWQgZm9yIGVhY2ggbm9kZS5cbiAqL1xuZnVuY3Rpb24gdmlzaXQobm9kZSwgdmlzaXRvcikge1xuICAgIGNvbnN0IHZpc2l0b3JfID0gaW5pdFZpc2l0b3IodmlzaXRvcik7XG4gICAgaWYgKGlzRG9jdW1lbnQobm9kZSkpIHtcbiAgICAgICAgY29uc3QgY2QgPSB2aXNpdF8obnVsbCwgbm9kZS5jb250ZW50cywgdmlzaXRvcl8sIE9iamVjdC5mcmVlemUoW25vZGVdKSk7XG4gICAgICAgIGlmIChjZCA9PT0gUkVNT1ZFKVxuICAgICAgICAgICAgbm9kZS5jb250ZW50cyA9IG51bGw7XG4gICAgfVxuICAgIGVsc2VcbiAgICAgICAgdmlzaXRfKG51bGwsIG5vZGUsIHZpc2l0b3JfLCBPYmplY3QuZnJlZXplKFtdKSk7XG59XG4vLyBXaXRob3V0IHRoZSBgYXMgc3ltYm9sYCBjYXN0cywgVFMgZGVjbGFyZXMgdGhlc2UgaW4gdGhlIGB2aXNpdGBcbi8vIG5hbWVzcGFjZSB1c2luZyBgdmFyYCwgYnV0IHRoZW4gY29tcGxhaW5zIGFib3V0IHRoYXQgYmVjYXVzZVxuLy8gYHVuaXF1ZSBzeW1ib2xgIG11c3QgYmUgYGNvbnN0YC5cbi8qKiBUZXJtaW5hdGUgdmlzaXQgdHJhdmVyc2FsIGNvbXBsZXRlbHkgKi9cbnZpc2l0LkJSRUFLID0gQlJFQUs7XG4vKiogRG8gbm90IHZpc2l0IHRoZSBjaGlsZHJlbiBvZiB0aGUgY3VycmVudCBub2RlICovXG52aXNpdC5TS0lQID0gU0tJUDtcbi8qKiBSZW1vdmUgdGhlIGN1cnJlbnQgbm9kZSAqL1xudmlzaXQuUkVNT1ZFID0gUkVNT1ZFO1xuZnVuY3Rpb24gdmlzaXRfKGtleSwgbm9kZSwgdmlzaXRvciwgcGF0aCkge1xuICAgIGNvbnN0IGN0cmwgPSBjYWxsVmlzaXRvcihrZXksIG5vZGUsIHZpc2l0b3IsIHBhdGgpO1xuICAgIGlmIChpc05vZGUoY3RybCkgfHwgaXNQYWlyKGN0cmwpKSB7XG4gICAgICAgIHJlcGxhY2VOb2RlKGtleSwgcGF0aCwgY3RybCk7XG4gICAgICAgIHJldHVybiB2aXNpdF8oa2V5LCBjdHJsLCB2aXNpdG9yLCBwYXRoKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBjdHJsICE9PSAnc3ltYm9sJykge1xuICAgICAgICBpZiAoaXNDb2xsZWN0aW9uKG5vZGUpKSB7XG4gICAgICAgICAgICBwYXRoID0gT2JqZWN0LmZyZWV6ZShwYXRoLmNvbmNhdChub2RlKSk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGUuaXRlbXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaSA9IHZpc2l0XyhpLCBub2RlLml0ZW1zW2ldLCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNpID09PSAnbnVtYmVyJylcbiAgICAgICAgICAgICAgICAgICAgaSA9IGNpIC0gMTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBCUkVBSztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gUkVNT1ZFKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUuaXRlbXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICAgICAgICBpIC09IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzUGFpcihub2RlKSkge1xuICAgICAgICAgICAgcGF0aCA9IE9iamVjdC5mcmVlemUocGF0aC5jb25jYXQobm9kZSkpO1xuICAgICAgICAgICAgY29uc3QgY2sgPSB2aXNpdF8oJ2tleScsIG5vZGUua2V5LCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgIGlmIChjayA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgcmV0dXJuIEJSRUFLO1xuICAgICAgICAgICAgZWxzZSBpZiAoY2sgPT09IFJFTU9WRSlcbiAgICAgICAgICAgICAgICBub2RlLmtleSA9IG51bGw7XG4gICAgICAgICAgICBjb25zdCBjdiA9IHZpc2l0XygndmFsdWUnLCBub2RlLnZhbHVlLCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgIGlmIChjdiA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgcmV0dXJuIEJSRUFLO1xuICAgICAgICAgICAgZWxzZSBpZiAoY3YgPT09IFJFTU9WRSlcbiAgICAgICAgICAgICAgICBub2RlLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY3RybDtcbn1cbi8qKlxuICogQXBwbHkgYW4gYXN5bmMgdmlzaXRvciB0byBhbiBBU1Qgbm9kZSBvciBkb2N1bWVudC5cbiAqXG4gKiBXYWxrcyB0aHJvdWdoIHRoZSB0cmVlIChkZXB0aC1maXJzdCkgc3RhcnRpbmcgZnJvbSBgbm9kZWAsIGNhbGxpbmcgYVxuICogYHZpc2l0b3JgIGZ1bmN0aW9uIHdpdGggdGhyZWUgYXJndW1lbnRzOlxuICogICAtIGBrZXlgOiBGb3Igc2VxdWVuY2UgdmFsdWVzIGFuZCBtYXAgYFBhaXJgLCB0aGUgbm9kZSdzIGluZGV4IGluIHRoZVxuICogICAgIGNvbGxlY3Rpb24uIFdpdGhpbiBhIGBQYWlyYCwgYCdrZXknYCBvciBgJ3ZhbHVlJ2AsIGNvcnJlc3BvbmRpbmdseS5cbiAqICAgICBgbnVsbGAgZm9yIHRoZSByb290IG5vZGUuXG4gKiAgIC0gYG5vZGVgOiBUaGUgY3VycmVudCBub2RlLlxuICogICAtIGBwYXRoYDogVGhlIGFuY2VzdHJ5IG9mIHRoZSBjdXJyZW50IG5vZGUuXG4gKlxuICogVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgdmlzaXRvciBtYXkgYmUgdXNlZCB0byBjb250cm9sIHRoZSB0cmF2ZXJzYWw6XG4gKiAgIC0gYFByb21pc2VgOiBNdXN0IHJlc29sdmUgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzXG4gKiAgIC0gYHVuZGVmaW5lZGAgKGRlZmF1bHQpOiBEbyBub3RoaW5nIGFuZCBjb250aW51ZVxuICogICAtIGB2aXNpdC5TS0lQYDogRG8gbm90IHZpc2l0IHRoZSBjaGlsZHJlbiBvZiB0aGlzIG5vZGUsIGNvbnRpbnVlIHdpdGggbmV4dFxuICogICAgIHNpYmxpbmdcbiAqICAgLSBgdmlzaXQuQlJFQUtgOiBUZXJtaW5hdGUgdHJhdmVyc2FsIGNvbXBsZXRlbHlcbiAqICAgLSBgdmlzaXQuUkVNT1ZFYDogUmVtb3ZlIHRoZSBjdXJyZW50IG5vZGUsIHRoZW4gY29udGludWUgd2l0aCB0aGUgbmV4dCBvbmVcbiAqICAgLSBgTm9kZWA6IFJlcGxhY2UgdGhlIGN1cnJlbnQgbm9kZSwgdGhlbiBjb250aW51ZSBieSB2aXNpdGluZyBpdFxuICogICAtIGBudW1iZXJgOiBXaGlsZSBpdGVyYXRpbmcgdGhlIGl0ZW1zIG9mIGEgc2VxdWVuY2Ugb3IgbWFwLCBzZXQgdGhlIGluZGV4XG4gKiAgICAgb2YgdGhlIG5leHQgc3RlcC4gVGhpcyBpcyB1c2VmdWwgZXNwZWNpYWxseSBpZiB0aGUgaW5kZXggb2YgdGhlIGN1cnJlbnRcbiAqICAgICBub2RlIGhhcyBjaGFuZ2VkLlxuICpcbiAqIElmIGB2aXNpdG9yYCBpcyBhIHNpbmdsZSBmdW5jdGlvbiwgaXQgd2lsbCBiZSBjYWxsZWQgd2l0aCBhbGwgdmFsdWVzXG4gKiBlbmNvdW50ZXJlZCBpbiB0aGUgdHJlZSwgaW5jbHVkaW5nIGUuZy4gYG51bGxgIHZhbHVlcy4gQWx0ZXJuYXRpdmVseSxcbiAqIHNlcGFyYXRlIHZpc2l0b3IgZnVuY3Rpb25zIG1heSBiZSBkZWZpbmVkIGZvciBlYWNoIGBNYXBgLCBgUGFpcmAsIGBTZXFgLFxuICogYEFsaWFzYCBhbmQgYFNjYWxhcmAgbm9kZS4gVG8gZGVmaW5lIHRoZSBzYW1lIHZpc2l0b3IgZnVuY3Rpb24gZm9yIG1vcmUgdGhhblxuICogb25lIG5vZGUgdHlwZSwgdXNlIHRoZSBgQ29sbGVjdGlvbmAgKG1hcCBhbmQgc2VxKSwgYFZhbHVlYCAobWFwLCBzZXEgJiBzY2FsYXIpXG4gKiBhbmQgYE5vZGVgIChhbGlhcywgbWFwLCBzZXEgJiBzY2FsYXIpIHRhcmdldHMuIE9mIGFsbCB0aGVzZSwgb25seSB0aGUgbW9zdFxuICogc3BlY2lmaWMgZGVmaW5lZCBvbmUgd2lsbCBiZSB1c2VkIGZvciBlYWNoIG5vZGUuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHZpc2l0QXN5bmMobm9kZSwgdmlzaXRvcikge1xuICAgIGNvbnN0IHZpc2l0b3JfID0gaW5pdFZpc2l0b3IodmlzaXRvcik7XG4gICAgaWYgKGlzRG9jdW1lbnQobm9kZSkpIHtcbiAgICAgICAgY29uc3QgY2QgPSBhd2FpdCB2aXNpdEFzeW5jXyhudWxsLCBub2RlLmNvbnRlbnRzLCB2aXNpdG9yXywgT2JqZWN0LmZyZWV6ZShbbm9kZV0pKTtcbiAgICAgICAgaWYgKGNkID09PSBSRU1PVkUpXG4gICAgICAgICAgICBub2RlLmNvbnRlbnRzID0gbnVsbDtcbiAgICB9XG4gICAgZWxzZVxuICAgICAgICBhd2FpdCB2aXNpdEFzeW5jXyhudWxsLCBub2RlLCB2aXNpdG9yXywgT2JqZWN0LmZyZWV6ZShbXSkpO1xufVxuLy8gV2l0aG91dCB0aGUgYGFzIHN5bWJvbGAgY2FzdHMsIFRTIGRlY2xhcmVzIHRoZXNlIGluIHRoZSBgdmlzaXRgXG4vLyBuYW1lc3BhY2UgdXNpbmcgYHZhcmAsIGJ1dCB0aGVuIGNvbXBsYWlucyBhYm91dCB0aGF0IGJlY2F1c2Vcbi8vIGB1bmlxdWUgc3ltYm9sYCBtdXN0IGJlIGBjb25zdGAuXG4vKiogVGVybWluYXRlIHZpc2l0IHRyYXZlcnNhbCBjb21wbGV0ZWx5ICovXG52aXNpdEFzeW5jLkJSRUFLID0gQlJFQUs7XG4vKiogRG8gbm90IHZpc2l0IHRoZSBjaGlsZHJlbiBvZiB0aGUgY3VycmVudCBub2RlICovXG52aXNpdEFzeW5jLlNLSVAgPSBTS0lQO1xuLyoqIFJlbW92ZSB0aGUgY3VycmVudCBub2RlICovXG52aXNpdEFzeW5jLlJFTU9WRSA9IFJFTU9WRTtcbmFzeW5jIGZ1bmN0aW9uIHZpc2l0QXN5bmNfKGtleSwgbm9kZSwgdmlzaXRvciwgcGF0aCkge1xuICAgIGNvbnN0IGN0cmwgPSBhd2FpdCBjYWxsVmlzaXRvcihrZXksIG5vZGUsIHZpc2l0b3IsIHBhdGgpO1xuICAgIGlmIChpc05vZGUoY3RybCkgfHwgaXNQYWlyKGN0cmwpKSB7XG4gICAgICAgIHJlcGxhY2VOb2RlKGtleSwgcGF0aCwgY3RybCk7XG4gICAgICAgIHJldHVybiB2aXNpdEFzeW5jXyhrZXksIGN0cmwsIHZpc2l0b3IsIHBhdGgpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGN0cmwgIT09ICdzeW1ib2wnKSB7XG4gICAgICAgIGlmIChpc0NvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgICAgIHBhdGggPSBPYmplY3QuZnJlZXplKHBhdGguY29uY2F0KG5vZGUpKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5pdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNpID0gYXdhaXQgdmlzaXRBc3luY18oaSwgbm9kZS5pdGVtc1tpXSwgdmlzaXRvciwgcGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaSA9PT0gJ251bWJlcicpXG4gICAgICAgICAgICAgICAgICAgIGkgPSBjaSAtIDE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2kgPT09IEJSRUFLKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gQlJFQUs7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2kgPT09IFJFTU9WRSkge1xuICAgICAgICAgICAgICAgICAgICBub2RlLml0ZW1zLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgaSAtPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1BhaXIobm9kZSkpIHtcbiAgICAgICAgICAgIHBhdGggPSBPYmplY3QuZnJlZXplKHBhdGguY29uY2F0KG5vZGUpKTtcbiAgICAgICAgICAgIGNvbnN0IGNrID0gYXdhaXQgdmlzaXRBc3luY18oJ2tleScsIG5vZGUua2V5LCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgIGlmIChjayA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgcmV0dXJuIEJSRUFLO1xuICAgICAgICAgICAgZWxzZSBpZiAoY2sgPT09IFJFTU9WRSlcbiAgICAgICAgICAgICAgICBub2RlLmtleSA9IG51bGw7XG4gICAgICAgICAgICBjb25zdCBjdiA9IGF3YWl0IHZpc2l0QXN5bmNfKCd2YWx1ZScsIG5vZGUudmFsdWUsIHZpc2l0b3IsIHBhdGgpO1xuICAgICAgICAgICAgaWYgKGN2ID09PSBCUkVBSylcbiAgICAgICAgICAgICAgICByZXR1cm4gQlJFQUs7XG4gICAgICAgICAgICBlbHNlIGlmIChjdiA9PT0gUkVNT1ZFKVxuICAgICAgICAgICAgICAgIG5vZGUudmFsdWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjdHJsO1xufVxuZnVuY3Rpb24gaW5pdFZpc2l0b3IodmlzaXRvcikge1xuICAgIGlmICh0eXBlb2YgdmlzaXRvciA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgKHZpc2l0b3IuQ29sbGVjdGlvbiB8fCB2aXNpdG9yLk5vZGUgfHwgdmlzaXRvci5WYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgQWxpYXM6IHZpc2l0b3IuTm9kZSxcbiAgICAgICAgICAgIE1hcDogdmlzaXRvci5Ob2RlLFxuICAgICAgICAgICAgU2NhbGFyOiB2aXNpdG9yLk5vZGUsXG4gICAgICAgICAgICBTZXE6IHZpc2l0b3IuTm9kZVxuICAgICAgICB9LCB2aXNpdG9yLlZhbHVlICYmIHtcbiAgICAgICAgICAgIE1hcDogdmlzaXRvci5WYWx1ZSxcbiAgICAgICAgICAgIFNjYWxhcjogdmlzaXRvci5WYWx1ZSxcbiAgICAgICAgICAgIFNlcTogdmlzaXRvci5WYWx1ZVxuICAgICAgICB9LCB2aXNpdG9yLkNvbGxlY3Rpb24gJiYge1xuICAgICAgICAgICAgTWFwOiB2aXNpdG9yLkNvbGxlY3Rpb24sXG4gICAgICAgICAgICBTZXE6IHZpc2l0b3IuQ29sbGVjdGlvblxuICAgICAgICB9LCB2aXNpdG9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHZpc2l0b3I7XG59XG5mdW5jdGlvbiBjYWxsVmlzaXRvcihrZXksIG5vZGUsIHZpc2l0b3IsIHBhdGgpIHtcbiAgICBpZiAodHlwZW9mIHZpc2l0b3IgPT09ICdmdW5jdGlvbicpXG4gICAgICAgIHJldHVybiB2aXNpdG9yKGtleSwgbm9kZSwgcGF0aCk7XG4gICAgaWYgKGlzTWFwKG5vZGUpKVxuICAgICAgICByZXR1cm4gdmlzaXRvci5NYXA/LihrZXksIG5vZGUsIHBhdGgpO1xuICAgIGlmIChpc1NlcShub2RlKSlcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IuU2VxPy4oa2V5LCBub2RlLCBwYXRoKTtcbiAgICBpZiAoaXNQYWlyKG5vZGUpKVxuICAgICAgICByZXR1cm4gdmlzaXRvci5QYWlyPy4oa2V5LCBub2RlLCBwYXRoKTtcbiAgICBpZiAoaXNTY2FsYXIobm9kZSkpXG4gICAgICAgIHJldHVybiB2aXNpdG9yLlNjYWxhcj8uKGtleSwgbm9kZSwgcGF0aCk7XG4gICAgaWYgKGlzQWxpYXMobm9kZSkpXG4gICAgICAgIHJldHVybiB2aXNpdG9yLkFsaWFzPy4oa2V5LCBub2RlLCBwYXRoKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gcmVwbGFjZU5vZGUoa2V5LCBwYXRoLCBub2RlKSB7XG4gICAgY29uc3QgcGFyZW50ID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdO1xuICAgIGlmIChpc0NvbGxlY3Rpb24ocGFyZW50KSkge1xuICAgICAgICBwYXJlbnQuaXRlbXNba2V5XSA9IG5vZGU7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUGFpcihwYXJlbnQpKSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdrZXknKVxuICAgICAgICAgICAgcGFyZW50LmtleSA9IG5vZGU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHBhcmVudC52YWx1ZSA9IG5vZGU7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzRG9jdW1lbnQocGFyZW50KSkge1xuICAgICAgICBwYXJlbnQuY29udGVudHMgPSBub2RlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgcHQgPSBpc0FsaWFzKHBhcmVudCkgPyAnYWxpYXMnIDogJ3NjYWxhcic7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlcGxhY2Ugbm9kZSB3aXRoICR7cHR9IHBhcmVudGApO1xuICAgIH1cbn1cblxuZXhwb3J0IHsgdmlzaXQsIHZpc2l0QXN5bmMgfTtcbiIsICJpbXBvcnQgeyBpc05vZGUgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyB2aXNpdCB9IGZyb20gJy4uL3Zpc2l0LmpzJztcblxuY29uc3QgZXNjYXBlQ2hhcnMgPSB7XG4gICAgJyEnOiAnJTIxJyxcbiAgICAnLCc6ICclMkMnLFxuICAgICdbJzogJyU1QicsXG4gICAgJ10nOiAnJTVEJyxcbiAgICAneyc6ICclN0InLFxuICAgICd9JzogJyU3RCdcbn07XG5jb25zdCBlc2NhcGVUYWdOYW1lID0gKHRuKSA9PiB0bi5yZXBsYWNlKC9bISxbXFxde31dL2csIGNoID0+IGVzY2FwZUNoYXJzW2NoXSk7XG5jbGFzcyBEaXJlY3RpdmVzIHtcbiAgICBjb25zdHJ1Y3Rvcih5YW1sLCB0YWdzKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgZGlyZWN0aXZlcy1lbmQvZG9jLXN0YXJ0IG1hcmtlciBgLS0tYC4gSWYgYG51bGxgLCBhIG1hcmtlciBtYXkgc3RpbGwgYmVcbiAgICAgICAgICogaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50J3Mgc3RyaW5naWZpZWQgcmVwcmVzZW50YXRpb24uXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmRvY1N0YXJ0ID0gbnVsbDtcbiAgICAgICAgLyoqIFRoZSBkb2MtZW5kIG1hcmtlciBgLi4uYC4gICovXG4gICAgICAgIHRoaXMuZG9jRW5kID0gZmFsc2U7XG4gICAgICAgIHRoaXMueWFtbCA9IE9iamVjdC5hc3NpZ24oe30sIERpcmVjdGl2ZXMuZGVmYXVsdFlhbWwsIHlhbWwpO1xuICAgICAgICB0aGlzLnRhZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBEaXJlY3RpdmVzLmRlZmF1bHRUYWdzLCB0YWdzKTtcbiAgICB9XG4gICAgY2xvbmUoKSB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBuZXcgRGlyZWN0aXZlcyh0aGlzLnlhbWwsIHRoaXMudGFncyk7XG4gICAgICAgIGNvcHkuZG9jU3RhcnQgPSB0aGlzLmRvY1N0YXJ0O1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRHVyaW5nIHBhcnNpbmcsIGdldCBhIERpcmVjdGl2ZXMgaW5zdGFuY2UgZm9yIHRoZSBjdXJyZW50IGRvY3VtZW50IGFuZFxuICAgICAqIHVwZGF0ZSB0aGUgc3RyZWFtIHN0YXRlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCB2ZXJzaW9uJ3Mgc3BlYy5cbiAgICAgKi9cbiAgICBhdERvY3VtZW50KCkge1xuICAgICAgICBjb25zdCByZXMgPSBuZXcgRGlyZWN0aXZlcyh0aGlzLnlhbWwsIHRoaXMudGFncyk7XG4gICAgICAgIHN3aXRjaCAodGhpcy55YW1sLnZlcnNpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJzEuMSc6XG4gICAgICAgICAgICAgICAgdGhpcy5hdE5leHREb2N1bWVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcxLjInOlxuICAgICAgICAgICAgICAgIHRoaXMuYXROZXh0RG9jdW1lbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnlhbWwgPSB7XG4gICAgICAgICAgICAgICAgICAgIGV4cGxpY2l0OiBEaXJlY3RpdmVzLmRlZmF1bHRZYW1sLmV4cGxpY2l0LFxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOiAnMS4yJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy50YWdzID0gT2JqZWN0LmFzc2lnbih7fSwgRGlyZWN0aXZlcy5kZWZhdWx0VGFncyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQHBhcmFtIG9uRXJyb3IgLSBNYXkgYmUgY2FsbGVkIGV2ZW4gaWYgdGhlIGFjdGlvbiB3YXMgc3VjY2Vzc2Z1bFxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBvbiBzdWNjZXNzXG4gICAgICovXG4gICAgYWRkKGxpbmUsIG9uRXJyb3IpIHtcbiAgICAgICAgaWYgKHRoaXMuYXROZXh0RG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMueWFtbCA9IHsgZXhwbGljaXQ6IERpcmVjdGl2ZXMuZGVmYXVsdFlhbWwuZXhwbGljaXQsIHZlcnNpb246ICcxLjEnIH07XG4gICAgICAgICAgICB0aGlzLnRhZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBEaXJlY3RpdmVzLmRlZmF1bHRUYWdzKTtcbiAgICAgICAgICAgIHRoaXMuYXROZXh0RG9jdW1lbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJ0cyA9IGxpbmUudHJpbSgpLnNwbGl0KC9bIFxcdF0rLyk7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBwYXJ0cy5zaGlmdCgpO1xuICAgICAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgJyVUQUcnOiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMikge1xuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKDAsICclVEFHIGRpcmVjdGl2ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IHR3byBwYXJ0cycpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoIDwgMilcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgW2hhbmRsZSwgcHJlZml4XSA9IHBhcnRzO1xuICAgICAgICAgICAgICAgIHRoaXMudGFnc1toYW5kbGVdID0gcHJlZml4O1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnJVlBTUwnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy55YW1sLmV4cGxpY2l0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoMCwgJyVZQU1MIGRpcmVjdGl2ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IG9uZSBwYXJ0Jyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgW3ZlcnNpb25dID0gcGFydHM7XG4gICAgICAgICAgICAgICAgaWYgKHZlcnNpb24gPT09ICcxLjEnIHx8IHZlcnNpb24gPT09ICcxLjInKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMueWFtbC52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gL15cXGQrXFwuXFxkKyQvLnRlc3QodmVyc2lvbik7XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoNiwgYFVuc3VwcG9ydGVkIFlBTUwgdmVyc2lvbiAke3ZlcnNpb259YCwgaXNWYWxpZCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIG9uRXJyb3IoMCwgYFVua25vd24gZGlyZWN0aXZlICR7bmFtZX1gLCB0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVzb2x2ZXMgYSB0YWcsIG1hdGNoaW5nIGhhbmRsZXMgdG8gdGhvc2UgZGVmaW5lZCBpbiAlVEFHIGRpcmVjdGl2ZXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBSZXNvbHZlZCB0YWcsIHdoaWNoIG1heSBhbHNvIGJlIHRoZSBub24tc3BlY2lmaWMgdGFnIGAnISdgIG9yIGFcbiAgICAgKiAgIGAnIWxvY2FsJ2AgdGFnLCBvciBgbnVsbGAgaWYgdW5yZXNvbHZhYmxlLlxuICAgICAqL1xuICAgIHRhZ05hbWUoc291cmNlLCBvbkVycm9yKSB7XG4gICAgICAgIGlmIChzb3VyY2UgPT09ICchJylcbiAgICAgICAgICAgIHJldHVybiAnISc7IC8vIG5vbi1zcGVjaWZpYyB0YWdcbiAgICAgICAgaWYgKHNvdXJjZVswXSAhPT0gJyEnKSB7XG4gICAgICAgICAgICBvbkVycm9yKGBOb3QgYSB2YWxpZCB0YWc6ICR7c291cmNlfWApO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvdXJjZVsxXSA9PT0gJzwnKSB7XG4gICAgICAgICAgICBjb25zdCB2ZXJiYXRpbSA9IHNvdXJjZS5zbGljZSgyLCAtMSk7XG4gICAgICAgICAgICBpZiAodmVyYmF0aW0gPT09ICchJyB8fCB2ZXJiYXRpbSA9PT0gJyEhJykge1xuICAgICAgICAgICAgICAgIG9uRXJyb3IoYFZlcmJhdGltIHRhZ3MgYXJlbid0IHJlc29sdmVkLCBzbyAke3NvdXJjZX0gaXMgaW52YWxpZC5gKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzb3VyY2Vbc291cmNlLmxlbmd0aCAtIDFdICE9PSAnPicpXG4gICAgICAgICAgICAgICAgb25FcnJvcignVmVyYmF0aW0gdGFncyBtdXN0IGVuZCB3aXRoIGEgPicpO1xuICAgICAgICAgICAgcmV0dXJuIHZlcmJhdGltO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFssIGhhbmRsZSwgc3VmZml4XSA9IHNvdXJjZS5tYXRjaCgvXiguKiEpKFteIV0qKSQvcyk7XG4gICAgICAgIGlmICghc3VmZml4KVxuICAgICAgICAgICAgb25FcnJvcihgVGhlICR7c291cmNlfSB0YWcgaGFzIG5vIHN1ZmZpeGApO1xuICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLnRhZ3NbaGFuZGxlXTtcbiAgICAgICAgaWYgKHByZWZpeCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJlZml4ICsgZGVjb2RlVVJJQ29tcG9uZW50KHN1ZmZpeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yKFN0cmluZyhlcnJvcikpO1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChoYW5kbGUgPT09ICchJylcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2U7IC8vIGxvY2FsIHRhZ1xuICAgICAgICBvbkVycm9yKGBDb3VsZCBub3QgcmVzb2x2ZSB0YWc6ICR7c291cmNlfWApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2l2ZW4gYSBmdWxseSByZXNvbHZlZCB0YWcsIHJldHVybnMgaXRzIHByaW50YWJsZSBzdHJpbmcgZm9ybSxcbiAgICAgKiB0YWtpbmcgaW50byBhY2NvdW50IGN1cnJlbnQgdGFnIHByZWZpeGVzIGFuZCBkZWZhdWx0cy5cbiAgICAgKi9cbiAgICB0YWdTdHJpbmcodGFnKSB7XG4gICAgICAgIGZvciAoY29uc3QgW2hhbmRsZSwgcHJlZml4XSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhZ3MpKSB7XG4gICAgICAgICAgICBpZiAodGFnLnN0YXJ0c1dpdGgocHJlZml4KSlcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlICsgZXNjYXBlVGFnTmFtZSh0YWcuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGFnWzBdID09PSAnIScgPyB0YWcgOiBgITwke3RhZ30+YDtcbiAgICB9XG4gICAgdG9TdHJpbmcoZG9jKSB7XG4gICAgICAgIGNvbnN0IGxpbmVzID0gdGhpcy55YW1sLmV4cGxpY2l0XG4gICAgICAgICAgICA/IFtgJVlBTUwgJHt0aGlzLnlhbWwudmVyc2lvbiB8fCAnMS4yJ31gXVxuICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgY29uc3QgdGFnRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMudGFncyk7XG4gICAgICAgIGxldCB0YWdOYW1lcztcbiAgICAgICAgaWYgKGRvYyAmJiB0YWdFbnRyaWVzLmxlbmd0aCA+IDAgJiYgaXNOb2RlKGRvYy5jb250ZW50cykpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSB7fTtcbiAgICAgICAgICAgIHZpc2l0KGRvYy5jb250ZW50cywgKF9rZXksIG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNOb2RlKG5vZGUpICYmIG5vZGUudGFnKVxuICAgICAgICAgICAgICAgICAgICB0YWdzW25vZGUudGFnXSA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhZ05hbWVzID0gT2JqZWN0LmtleXModGFncyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGFnTmFtZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBbaGFuZGxlLCBwcmVmaXhdIG9mIHRhZ0VudHJpZXMpIHtcbiAgICAgICAgICAgIGlmIChoYW5kbGUgPT09ICchIScgJiYgcHJlZml4ID09PSAndGFnOnlhbWwub3JnLDIwMDI6JylcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGlmICghZG9jIHx8IHRhZ05hbWVzLnNvbWUodG4gPT4gdG4uc3RhcnRzV2l0aChwcmVmaXgpKSlcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKGAlVEFHICR7aGFuZGxlfSAke3ByZWZpeH1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluZXMuam9pbignXFxuJyk7XG4gICAgfVxufVxuRGlyZWN0aXZlcy5kZWZhdWx0WWFtbCA9IHsgZXhwbGljaXQ6IGZhbHNlLCB2ZXJzaW9uOiAnMS4yJyB9O1xuRGlyZWN0aXZlcy5kZWZhdWx0VGFncyA9IHsgJyEhJzogJ3RhZzp5YW1sLm9yZywyMDAyOicgfTtcblxuZXhwb3J0IHsgRGlyZWN0aXZlcyB9O1xuIiwgImltcG9ydCB7IGlzU2NhbGFyLCBpc0NvbGxlY3Rpb24gfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyB2aXNpdCB9IGZyb20gJy4uL3Zpc2l0LmpzJztcblxuLyoqXG4gKiBWZXJpZnkgdGhhdCB0aGUgaW5wdXQgc3RyaW5nIGlzIGEgdmFsaWQgYW5jaG9yLlxuICpcbiAqIFdpbGwgdGhyb3cgb24gZXJyb3JzLlxuICovXG5mdW5jdGlvbiBhbmNob3JJc1ZhbGlkKGFuY2hvcikge1xuICAgIGlmICgvW1xceDAwLVxceDE5XFxzLFtcXF17fV0vLnRlc3QoYW5jaG9yKSkge1xuICAgICAgICBjb25zdCBzYSA9IEpTT04uc3RyaW5naWZ5KGFuY2hvcik7XG4gICAgICAgIGNvbnN0IG1zZyA9IGBBbmNob3IgbXVzdCBub3QgY29udGFpbiB3aGl0ZXNwYWNlIG9yIGNvbnRyb2wgY2hhcmFjdGVyczogJHtzYX1gO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobXNnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBhbmNob3JOYW1lcyhyb290KSB7XG4gICAgY29uc3QgYW5jaG9ycyA9IG5ldyBTZXQoKTtcbiAgICB2aXNpdChyb290LCB7XG4gICAgICAgIFZhbHVlKF9rZXksIG5vZGUpIHtcbiAgICAgICAgICAgIGlmIChub2RlLmFuY2hvcilcbiAgICAgICAgICAgICAgICBhbmNob3JzLmFkZChub2RlLmFuY2hvcik7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYW5jaG9ycztcbn1cbi8qKiBGaW5kIGEgbmV3IGFuY2hvciBuYW1lIHdpdGggdGhlIGdpdmVuIGBwcmVmaXhgIGFuZCBhIG9uZS1pbmRleGVkIHN1ZmZpeC4gKi9cbmZ1bmN0aW9uIGZpbmROZXdBbmNob3IocHJlZml4LCBleGNsdWRlKSB7XG4gICAgZm9yIChsZXQgaSA9IDE7IHRydWU7ICsraSkge1xuICAgICAgICBjb25zdCBuYW1lID0gYCR7cHJlZml4fSR7aX1gO1xuICAgICAgICBpZiAoIWV4Y2x1ZGUuaGFzKG5hbWUpKVxuICAgICAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlTm9kZUFuY2hvcnMoZG9jLCBwcmVmaXgpIHtcbiAgICBjb25zdCBhbGlhc09iamVjdHMgPSBbXTtcbiAgICBjb25zdCBzb3VyY2VPYmplY3RzID0gbmV3IE1hcCgpO1xuICAgIGxldCBwcmV2QW5jaG9ycyA9IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgb25BbmNob3I6IChzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIGFsaWFzT2JqZWN0cy5wdXNoKHNvdXJjZSk7XG4gICAgICAgICAgICBpZiAoIXByZXZBbmNob3JzKVxuICAgICAgICAgICAgICAgIHByZXZBbmNob3JzID0gYW5jaG9yTmFtZXMoZG9jKTtcbiAgICAgICAgICAgIGNvbnN0IGFuY2hvciA9IGZpbmROZXdBbmNob3IocHJlZml4LCBwcmV2QW5jaG9ycyk7XG4gICAgICAgICAgICBwcmV2QW5jaG9ycy5hZGQoYW5jaG9yKTtcbiAgICAgICAgICAgIHJldHVybiBhbmNob3I7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXaXRoIGNpcmN1bGFyIHJlZmVyZW5jZXMsIHRoZSBzb3VyY2Ugbm9kZSBpcyBvbmx5IHJlc29sdmVkIGFmdGVyIGFsbFxuICAgICAgICAgKiBvZiBpdHMgY2hpbGQgbm9kZXMgYXJlLiBUaGlzIGlzIHdoeSBhbmNob3JzIGFyZSBzZXQgb25seSBhZnRlciBhbGwgb2ZcbiAgICAgICAgICogdGhlIG5vZGVzIGhhdmUgYmVlbiBjcmVhdGVkLlxuICAgICAgICAgKi9cbiAgICAgICAgc2V0QW5jaG9yczogKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzb3VyY2Ugb2YgYWxpYXNPYmplY3RzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmID0gc291cmNlT2JqZWN0cy5nZXQoc291cmNlKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVmLmFuY2hvciAmJlxuICAgICAgICAgICAgICAgICAgICAoaXNTY2FsYXIocmVmLm5vZGUpIHx8IGlzQ29sbGVjdGlvbihyZWYubm9kZSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZi5ub2RlLmFuY2hvciA9IHJlZi5hbmNob3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignRmFpbGVkIHRvIHJlc29sdmUgcmVwZWF0ZWQgb2JqZWN0ICh0aGlzIHNob3VsZCBub3QgaGFwcGVuKScpO1xuICAgICAgICAgICAgICAgICAgICBlcnJvci5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc291cmNlT2JqZWN0c1xuICAgIH07XG59XG5cbmV4cG9ydCB7IGFuY2hvcklzVmFsaWQsIGFuY2hvck5hbWVzLCBjcmVhdGVOb2RlQW5jaG9ycywgZmluZE5ld0FuY2hvciB9O1xuIiwgIi8qKlxuICogQXBwbGllcyB0aGUgSlNPTi5wYXJzZSByZXZpdmVyIGFsZ29yaXRobSBhcyBkZWZpbmVkIGluIHRoZSBFQ01BLTI2MiBzcGVjLFxuICogaW4gc2VjdGlvbiAyNC41LjEuMSBcIlJ1bnRpbWUgU2VtYW50aWNzOiBJbnRlcm5hbGl6ZUpTT05Qcm9wZXJ0eVwiIG9mIHRoZVxuICogMjAyMSBlZGl0aW9uOiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWpzb24ucGFyc2VcbiAqXG4gKiBJbmNsdWRlcyBleHRlbnNpb25zIGZvciBoYW5kbGluZyBNYXAgYW5kIFNldCBvYmplY3RzLlxuICovXG5mdW5jdGlvbiBhcHBseVJldml2ZXIocmV2aXZlciwgb2JqLCBrZXksIHZhbCkge1xuICAgIGlmICh2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHZhbC5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHYwID0gdmFsW2ldO1xuICAgICAgICAgICAgICAgIGNvbnN0IHYxID0gYXBwbHlSZXZpdmVyKHJldml2ZXIsIHZhbCwgU3RyaW5nKGkpLCB2MCk7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1hcnJheS1kZWxldGVcbiAgICAgICAgICAgICAgICBpZiAodjEgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZhbFtpXTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2MSAhPT0gdjApXG4gICAgICAgICAgICAgICAgICAgIHZhbFtpXSA9IHYxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbCBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrIG9mIEFycmF5LmZyb20odmFsLmtleXMoKSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2MCA9IHZhbC5nZXQoayk7XG4gICAgICAgICAgICAgICAgY29uc3QgdjEgPSBhcHBseVJldml2ZXIocmV2aXZlciwgdmFsLCBrLCB2MCk7XG4gICAgICAgICAgICAgICAgaWYgKHYxID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgIHZhbC5kZWxldGUoayk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodjEgIT09IHYwKVxuICAgICAgICAgICAgICAgICAgICB2YWwuc2V0KGssIHYxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWwgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdjAgb2YgQXJyYXkuZnJvbSh2YWwpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdjEgPSBhcHBseVJldml2ZXIocmV2aXZlciwgdmFsLCB2MCwgdjApO1xuICAgICAgICAgICAgICAgIGlmICh2MSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgICB2YWwuZGVsZXRlKHYwKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2MSAhPT0gdjApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsLmRlbGV0ZSh2MCk7XG4gICAgICAgICAgICAgICAgICAgIHZhbC5hZGQodjEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2ssIHYwXSBvZiBPYmplY3QuZW50cmllcyh2YWwpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdjEgPSBhcHBseVJldml2ZXIocmV2aXZlciwgdmFsLCBrLCB2MCk7XG4gICAgICAgICAgICAgICAgaWYgKHYxID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2YWxba107XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodjEgIT09IHYwKVxuICAgICAgICAgICAgICAgICAgICB2YWxba10gPSB2MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV2aXZlci5jYWxsKG9iaiwga2V5LCB2YWwpO1xufVxuXG5leHBvcnQgeyBhcHBseVJldml2ZXIgfTtcbiIsICJpbXBvcnQgeyBoYXNBbmNob3IgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcblxuLyoqXG4gKiBSZWN1cnNpdmVseSBjb252ZXJ0IGFueSBub2RlIG9yIGl0cyBjb250ZW50cyB0byBuYXRpdmUgSmF2YVNjcmlwdFxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZVxuICogQHBhcmFtIGFyZyAtIElmIGB2YWx1ZWAgZGVmaW5lcyBhIGB0b0pTT04oKWAgbWV0aG9kLCB1c2UgdGhpc1xuICogICBhcyBpdHMgZmlyc3QgYXJndW1lbnRcbiAqIEBwYXJhbSBjdHggLSBDb252ZXJzaW9uIGNvbnRleHQsIG9yaWdpbmFsbHkgc2V0IGluIERvY3VtZW50I3RvSlMoKS4gSWZcbiAqICAgYHsga2VlcDogdHJ1ZSB9YCBpcyBub3Qgc2V0LCBvdXRwdXQgc2hvdWxkIGJlIHN1aXRhYmxlIGZvciBKU09OXG4gKiAgIHN0cmluZ2lmaWNhdGlvbi5cbiAqL1xuZnVuY3Rpb24gdG9KUyh2YWx1ZSwgYXJnLCBjdHgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgIHJldHVybiB2YWx1ZS5tYXAoKHYsIGkpID0+IHRvSlModiwgU3RyaW5nKGkpLCBjdHgpKTtcbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRvSlNPTiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsXG4gICAgICAgIGlmICghY3R4IHx8ICFoYXNBbmNob3IodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvSlNPTihhcmcsIGN0eCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7IGFsaWFzQ291bnQ6IDAsIGNvdW50OiAxLCByZXM6IHVuZGVmaW5lZCB9O1xuICAgICAgICBjdHguYW5jaG9ycy5zZXQodmFsdWUsIGRhdGEpO1xuICAgICAgICBjdHgub25DcmVhdGUgPSByZXMgPT4ge1xuICAgICAgICAgICAgZGF0YS5yZXMgPSByZXM7XG4gICAgICAgICAgICBkZWxldGUgY3R4Lm9uQ3JlYXRlO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXMgPSB2YWx1ZS50b0pTT04oYXJnLCBjdHgpO1xuICAgICAgICBpZiAoY3R4Lm9uQ3JlYXRlKVxuICAgICAgICAgICAgY3R4Lm9uQ3JlYXRlKHJlcyk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnICYmICFjdHg/LmtlZXApXG4gICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IHsgdG9KUyB9O1xuIiwgImltcG9ydCB7IGFwcGx5UmV2aXZlciB9IGZyb20gJy4uL2RvYy9hcHBseVJldml2ZXIuanMnO1xuaW1wb3J0IHsgTk9ERV9UWVBFLCBpc0RvY3VtZW50IH0gZnJvbSAnLi9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi90b0pTLmpzJztcblxuY2xhc3MgTm9kZUJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHR5cGUpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIE5PREVfVFlQRSwgeyB2YWx1ZTogdHlwZSB9KTtcbiAgICB9XG4gICAgLyoqIENyZWF0ZSBhIGNvcHkgb2YgdGhpcyBub2RlLiAgKi9cbiAgICBjbG9uZSgpIHtcbiAgICAgICAgY29uc3QgY29weSA9IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7XG4gICAgICAgIGlmICh0aGlzLnJhbmdlKVxuICAgICAgICAgICAgY29weS5yYW5nZSA9IHRoaXMucmFuZ2Uuc2xpY2UoKTtcbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuICAgIC8qKiBBIHBsYWluIEphdmFTY3JpcHQgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBub2RlLiAqL1xuICAgIHRvSlMoZG9jLCB7IG1hcEFzTWFwLCBtYXhBbGlhc0NvdW50LCBvbkFuY2hvciwgcmV2aXZlciB9ID0ge30pIHtcbiAgICAgICAgaWYgKCFpc0RvY3VtZW50KGRvYykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBIGRvY3VtZW50IGFyZ3VtZW50IGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGFuY2hvcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgIGtlZXA6IHRydWUsXG4gICAgICAgICAgICBtYXBBc01hcDogbWFwQXNNYXAgPT09IHRydWUsXG4gICAgICAgICAgICBtYXBLZXlXYXJuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWF4QWxpYXNDb3VudDogdHlwZW9mIG1heEFsaWFzQ291bnQgPT09ICdudW1iZXInID8gbWF4QWxpYXNDb3VudCA6IDEwMFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXMgPSB0b0pTKHRoaXMsICcnLCBjdHgpO1xuICAgICAgICBpZiAodHlwZW9mIG9uQW5jaG9yID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgZm9yIChjb25zdCB7IGNvdW50LCByZXMgfSBvZiBjdHguYW5jaG9ycy52YWx1ZXMoKSlcbiAgICAgICAgICAgICAgICBvbkFuY2hvcihyZXMsIGNvdW50KTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByZXZpdmVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IGFwcGx5UmV2aXZlcihyZXZpdmVyLCB7ICcnOiByZXMgfSwgJycsIHJlcylcbiAgICAgICAgICAgIDogcmVzO1xuICAgIH1cbn1cblxuZXhwb3J0IHsgTm9kZUJhc2UgfTtcbiIsICJpbXBvcnQgeyBhbmNob3JJc1ZhbGlkIH0gZnJvbSAnLi4vZG9jL2FuY2hvcnMuanMnO1xuaW1wb3J0IHsgdmlzaXQgfSBmcm9tICcuLi92aXNpdC5qcyc7XG5pbXBvcnQgeyBBTElBUywgaXNBbGlhcywgaXNDb2xsZWN0aW9uLCBpc1BhaXIgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IE5vZGVCYXNlIH0gZnJvbSAnLi9Ob2RlLmpzJztcbmltcG9ydCB7IHRvSlMgfSBmcm9tICcuL3RvSlMuanMnO1xuXG5jbGFzcyBBbGlhcyBleHRlbmRzIE5vZGVCYXNlIHtcbiAgICBjb25zdHJ1Y3Rvcihzb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoQUxJQVMpO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0YWcnLCB7XG4gICAgICAgICAgICBzZXQoKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBbGlhcyBub2RlcyBjYW5ub3QgaGF2ZSB0YWdzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNvbHZlIHRoZSB2YWx1ZSBvZiB0aGlzIGFsaWFzIHdpdGhpbiBgZG9jYCwgZmluZGluZyB0aGUgbGFzdFxuICAgICAqIGluc3RhbmNlIG9mIHRoZSBgc291cmNlYCBhbmNob3IgYmVmb3JlIHRoaXMgbm9kZS5cbiAgICAgKi9cbiAgICByZXNvbHZlKGRvYykge1xuICAgICAgICBsZXQgZm91bmQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHZpc2l0KGRvYywge1xuICAgICAgICAgICAgTm9kZTogKF9rZXksIG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobm9kZSA9PT0gdGhpcylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2l0LkJSRUFLO1xuICAgICAgICAgICAgICAgIGlmIChub2RlLmFuY2hvciA9PT0gdGhpcy5zb3VyY2UpXG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gbm9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG4gICAgdG9KU09OKF9hcmcsIGN0eCkge1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHJldHVybiB7IHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgY29uc3QgeyBhbmNob3JzLCBkb2MsIG1heEFsaWFzQ291bnQgfSA9IGN0eDtcbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5yZXNvbHZlKGRvYyk7XG4gICAgICAgIGlmICghc291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSBgVW5yZXNvbHZlZCBhbGlhcyAodGhlIGFuY2hvciBtdXN0IGJlIHNldCBiZWZvcmUgdGhlIGFsaWFzKTogJHt0aGlzLnNvdXJjZX1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKG1zZyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRhdGEgPSBhbmNob3JzLmdldChzb3VyY2UpO1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIC8vIFJlc29sdmUgYW5jaG9ycyBmb3IgTm9kZS5wcm90b3R5cGUudG9KUygpXG4gICAgICAgICAgICB0b0pTKHNvdXJjZSwgbnVsbCwgY3R4KTtcbiAgICAgICAgICAgIGRhdGEgPSBhbmNob3JzLmdldChzb3VyY2UpO1xuICAgICAgICB9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoIWRhdGEgfHwgZGF0YS5yZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gJ1RoaXMgc2hvdWxkIG5vdCBoYXBwZW46IEFsaWFzIGFuY2hvciB3YXMgbm90IHJlc29sdmVkPyc7XG4gICAgICAgICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IobXNnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWF4QWxpYXNDb3VudCA+PSAwKSB7XG4gICAgICAgICAgICBkYXRhLmNvdW50ICs9IDE7XG4gICAgICAgICAgICBpZiAoZGF0YS5hbGlhc0NvdW50ID09PSAwKVxuICAgICAgICAgICAgICAgIGRhdGEuYWxpYXNDb3VudCA9IGdldEFsaWFzQ291bnQoZG9jLCBzb3VyY2UsIGFuY2hvcnMpO1xuICAgICAgICAgICAgaWYgKGRhdGEuY291bnQgKiBkYXRhLmFsaWFzQ291bnQgPiBtYXhBbGlhc0NvdW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbXNnID0gJ0V4Y2Vzc2l2ZSBhbGlhcyBjb3VudCBpbmRpY2F0ZXMgYSByZXNvdXJjZSBleGhhdXN0aW9uIGF0dGFjayc7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKG1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGEucmVzO1xuICAgIH1cbiAgICB0b1N0cmluZyhjdHgsIF9vbkNvbW1lbnQsIF9vbkNob21wS2VlcCkge1xuICAgICAgICBjb25zdCBzcmMgPSBgKiR7dGhpcy5zb3VyY2V9YDtcbiAgICAgICAgaWYgKGN0eCkge1xuICAgICAgICAgICAgYW5jaG9ySXNWYWxpZCh0aGlzLnNvdXJjZSk7XG4gICAgICAgICAgICBpZiAoY3R4Lm9wdGlvbnMudmVyaWZ5QWxpYXNPcmRlciAmJiAhY3R4LmFuY2hvcnMuaGFzKHRoaXMuc291cmNlKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9IGBVbnJlc29sdmVkIGFsaWFzICh0aGUgYW5jaG9yIG11c3QgYmUgc2V0IGJlZm9yZSB0aGUgYWxpYXMpOiAke3RoaXMuc291cmNlfWA7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3R4LmltcGxpY2l0S2V5KVxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtzcmN9IGA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG59XG5mdW5jdGlvbiBnZXRBbGlhc0NvdW50KGRvYywgbm9kZSwgYW5jaG9ycykge1xuICAgIGlmIChpc0FsaWFzKG5vZGUpKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IG5vZGUucmVzb2x2ZShkb2MpO1xuICAgICAgICBjb25zdCBhbmNob3IgPSBhbmNob3JzICYmIHNvdXJjZSAmJiBhbmNob3JzLmdldChzb3VyY2UpO1xuICAgICAgICByZXR1cm4gYW5jaG9yID8gYW5jaG9yLmNvdW50ICogYW5jaG9yLmFsaWFzQ291bnQgOiAwO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0NvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIG5vZGUuaXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGMgPSBnZXRBbGlhc0NvdW50KGRvYywgaXRlbSwgYW5jaG9ycyk7XG4gICAgICAgICAgICBpZiAoYyA+IGNvdW50KVxuICAgICAgICAgICAgICAgIGNvdW50ID0gYztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUGFpcihub2RlKSkge1xuICAgICAgICBjb25zdCBrYyA9IGdldEFsaWFzQ291bnQoZG9jLCBub2RlLmtleSwgYW5jaG9ycyk7XG4gICAgICAgIGNvbnN0IHZjID0gZ2V0QWxpYXNDb3VudChkb2MsIG5vZGUudmFsdWUsIGFuY2hvcnMpO1xuICAgICAgICByZXR1cm4gTWF0aC5tYXgoa2MsIHZjKTtcbiAgICB9XG4gICAgcmV0dXJuIDE7XG59XG5cbmV4cG9ydCB7IEFsaWFzIH07XG4iLCAiaW1wb3J0IHsgU0NBTEFSIH0gZnJvbSAnLi9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBOb2RlQmFzZSB9IGZyb20gJy4vTm9kZS5qcyc7XG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi90b0pTLmpzJztcblxuY29uc3QgaXNTY2FsYXJWYWx1ZSA9ICh2YWx1ZSkgPT4gIXZhbHVlIHx8ICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jyk7XG5jbGFzcyBTY2FsYXIgZXh0ZW5kcyBOb2RlQmFzZSB7XG4gICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgc3VwZXIoU0NBTEFSKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICB0b0pTT04oYXJnLCBjdHgpIHtcbiAgICAgICAgcmV0dXJuIGN0eD8ua2VlcCA/IHRoaXMudmFsdWUgOiB0b0pTKHRoaXMudmFsdWUsIGFyZywgY3R4KTtcbiAgICB9XG4gICAgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy52YWx1ZSk7XG4gICAgfVxufVxuU2NhbGFyLkJMT0NLX0ZPTERFRCA9ICdCTE9DS19GT0xERUQnO1xuU2NhbGFyLkJMT0NLX0xJVEVSQUwgPSAnQkxPQ0tfTElURVJBTCc7XG5TY2FsYXIuUExBSU4gPSAnUExBSU4nO1xuU2NhbGFyLlFVT1RFX0RPVUJMRSA9ICdRVU9URV9ET1VCTEUnO1xuU2NhbGFyLlFVT1RFX1NJTkdMRSA9ICdRVU9URV9TSU5HTEUnO1xuXG5leHBvcnQgeyBTY2FsYXIsIGlzU2NhbGFyVmFsdWUgfTtcbiIsICJpbXBvcnQgeyBBbGlhcyB9IGZyb20gJy4uL25vZGVzL0FsaWFzLmpzJztcbmltcG9ydCB7IGlzTm9kZSwgaXNQYWlyLCBNQVAsIFNFUSwgaXNEb2N1bWVudCB9IGZyb20gJy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IFNjYWxhciB9IGZyb20gJy4uL25vZGVzL1NjYWxhci5qcyc7XG5cbmNvbnN0IGRlZmF1bHRUYWdQcmVmaXggPSAndGFnOnlhbWwub3JnLDIwMDI6JztcbmZ1bmN0aW9uIGZpbmRUYWdPYmplY3QodmFsdWUsIHRhZ05hbWUsIHRhZ3MpIHtcbiAgICBpZiAodGFnTmFtZSkge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHRhZ3MuZmlsdGVyKHQgPT4gdC50YWcgPT09IHRhZ05hbWUpO1xuICAgICAgICBjb25zdCB0YWdPYmogPSBtYXRjaC5maW5kKHQgPT4gIXQuZm9ybWF0KSA/PyBtYXRjaFswXTtcbiAgICAgICAgaWYgKCF0YWdPYmopXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRhZyAke3RhZ05hbWV9IG5vdCBmb3VuZGApO1xuICAgICAgICByZXR1cm4gdGFnT2JqO1xuICAgIH1cbiAgICByZXR1cm4gdGFncy5maW5kKHQgPT4gdC5pZGVudGlmeT8uKHZhbHVlKSAmJiAhdC5mb3JtYXQpO1xufVxuZnVuY3Rpb24gY3JlYXRlTm9kZSh2YWx1ZSwgdGFnTmFtZSwgY3R4KSB7XG4gICAgaWYgKGlzRG9jdW1lbnQodmFsdWUpKVxuICAgICAgICB2YWx1ZSA9IHZhbHVlLmNvbnRlbnRzO1xuICAgIGlmIChpc05vZGUodmFsdWUpKVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgaWYgKGlzUGFpcih2YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgbWFwID0gY3R4LnNjaGVtYVtNQVBdLmNyZWF0ZU5vZGU/LihjdHguc2NoZW1hLCBudWxsLCBjdHgpO1xuICAgICAgICBtYXAuaXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfVxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFN0cmluZyB8fFxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIE51bWJlciB8fFxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIEJvb2xlYW4gfHxcbiAgICAgICAgKHR5cGVvZiBCaWdJbnQgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlIGluc3RhbmNlb2YgQmlnSW50KSAvLyBub3Qgc3VwcG9ydGVkIGV2ZXJ5d2hlcmVcbiAgICApIHtcbiAgICAgICAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1zZXJpYWxpemVqc29ucHJvcGVydHlcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZU9mKCk7XG4gICAgfVxuICAgIGNvbnN0IHsgYWxpYXNEdXBsaWNhdGVPYmplY3RzLCBvbkFuY2hvciwgb25UYWdPYmosIHNjaGVtYSwgc291cmNlT2JqZWN0cyB9ID0gY3R4O1xuICAgIC8vIERldGVjdCBkdXBsaWNhdGUgcmVmZXJlbmNlcyB0byB0aGUgc2FtZSBvYmplY3QgJiB1c2UgQWxpYXMgbm9kZXMgZm9yIGFsbFxuICAgIC8vIGFmdGVyIGZpcnN0LiBUaGUgYHJlZmAgd3JhcHBlciBhbGxvd3MgZm9yIGNpcmN1bGFyIHJlZmVyZW5jZXMgdG8gcmVzb2x2ZS5cbiAgICBsZXQgcmVmID0gdW5kZWZpbmVkO1xuICAgIGlmIChhbGlhc0R1cGxpY2F0ZU9iamVjdHMgJiYgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZWYgPSBzb3VyY2VPYmplY3RzLmdldCh2YWx1ZSk7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIGlmICghcmVmLmFuY2hvcilcbiAgICAgICAgICAgICAgICByZWYuYW5jaG9yID0gb25BbmNob3IodmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBbGlhcyhyZWYuYW5jaG9yKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlZiA9IHsgYW5jaG9yOiBudWxsLCBub2RlOiBudWxsIH07XG4gICAgICAgICAgICBzb3VyY2VPYmplY3RzLnNldCh2YWx1ZSwgcmVmKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodGFnTmFtZT8uc3RhcnRzV2l0aCgnISEnKSlcbiAgICAgICAgdGFnTmFtZSA9IGRlZmF1bHRUYWdQcmVmaXggKyB0YWdOYW1lLnNsaWNlKDIpO1xuICAgIGxldCB0YWdPYmogPSBmaW5kVGFnT2JqZWN0KHZhbHVlLCB0YWdOYW1lLCBzY2hlbWEudGFncyk7XG4gICAgaWYgKCF0YWdPYmopIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZS50b0pTT04gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudG9KU09OKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gbmV3IFNjYWxhcih2YWx1ZSk7XG4gICAgICAgICAgICBpZiAocmVmKVxuICAgICAgICAgICAgICAgIHJlZi5ub2RlID0gbm9kZTtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG4gICAgICAgIHRhZ09iaiA9XG4gICAgICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIE1hcFxuICAgICAgICAgICAgICAgID8gc2NoZW1hW01BUF1cbiAgICAgICAgICAgICAgICA6IFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgID8gc2NoZW1hW1NFUV1cbiAgICAgICAgICAgICAgICAgICAgOiBzY2hlbWFbTUFQXTtcbiAgICB9XG4gICAgaWYgKG9uVGFnT2JqKSB7XG4gICAgICAgIG9uVGFnT2JqKHRhZ09iaik7XG4gICAgICAgIGRlbGV0ZSBjdHgub25UYWdPYmo7XG4gICAgfVxuICAgIGNvbnN0IG5vZGUgPSB0YWdPYmo/LmNyZWF0ZU5vZGVcbiAgICAgICAgPyB0YWdPYmouY3JlYXRlTm9kZShjdHguc2NoZW1hLCB2YWx1ZSwgY3R4KVxuICAgICAgICA6IHR5cGVvZiB0YWdPYmo/Lm5vZGVDbGFzcz8uZnJvbSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyB0YWdPYmoubm9kZUNsYXNzLmZyb20oY3R4LnNjaGVtYSwgdmFsdWUsIGN0eClcbiAgICAgICAgICAgIDogbmV3IFNjYWxhcih2YWx1ZSk7XG4gICAgaWYgKHRhZ05hbWUpXG4gICAgICAgIG5vZGUudGFnID0gdGFnTmFtZTtcbiAgICBlbHNlIGlmICghdGFnT2JqLmRlZmF1bHQpXG4gICAgICAgIG5vZGUudGFnID0gdGFnT2JqLnRhZztcbiAgICBpZiAocmVmKVxuICAgICAgICByZWYubm9kZSA9IG5vZGU7XG4gICAgcmV0dXJuIG5vZGU7XG59XG5cbmV4cG9ydCB7IGNyZWF0ZU5vZGUgfTtcbiIsICJpbXBvcnQgeyBjcmVhdGVOb2RlIH0gZnJvbSAnLi4vZG9jL2NyZWF0ZU5vZGUuanMnO1xuaW1wb3J0IHsgaXNOb2RlLCBpc1BhaXIsIGlzQ29sbGVjdGlvbiwgaXNTY2FsYXIgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IE5vZGVCYXNlIH0gZnJvbSAnLi9Ob2RlLmpzJztcblxuZnVuY3Rpb24gY29sbGVjdGlvbkZyb21QYXRoKHNjaGVtYSwgcGF0aCwgdmFsdWUpIHtcbiAgICBsZXQgdiA9IHZhbHVlO1xuICAgIGZvciAobGV0IGkgPSBwYXRoLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgIGNvbnN0IGsgPSBwYXRoW2ldO1xuICAgICAgICBpZiAodHlwZW9mIGsgPT09ICdudW1iZXInICYmIE51bWJlci5pc0ludGVnZXIoaykgJiYgayA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBhID0gW107XG4gICAgICAgICAgICBhW2tdID0gdjtcbiAgICAgICAgICAgIHYgPSBhO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdiA9IG5ldyBNYXAoW1trLCB2XV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVOb2RlKHYsIHVuZGVmaW5lZCwge1xuICAgICAgICBhbGlhc0R1cGxpY2F0ZU9iamVjdHM6IGZhbHNlLFxuICAgICAgICBrZWVwVW5kZWZpbmVkOiBmYWxzZSxcbiAgICAgICAgb25BbmNob3I6ICgpID0+IHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgbm90IGhhcHBlbiwgcGxlYXNlIHJlcG9ydCBhIGJ1Zy4nKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hLFxuICAgICAgICBzb3VyY2VPYmplY3RzOiBuZXcgTWFwKClcbiAgICB9KTtcbn1cbi8vIFR5cGUgZ3VhcmQgaXMgaW50ZW50aW9uYWxseSBhIGxpdHRsZSB3cm9uZyBzbyBhcyB0byBiZSBtb3JlIHVzZWZ1bCxcbi8vIGFzIGl0IGRvZXMgbm90IGNvdmVyIHVudHlwYWJsZSBlbXB0eSBub24tc3RyaW5nIGl0ZXJhYmxlcyAoZS5nLiBbXSkuXG5jb25zdCBpc0VtcHR5UGF0aCA9IChwYXRoKSA9PiBwYXRoID09IG51bGwgfHxcbiAgICAodHlwZW9mIHBhdGggPT09ICdvYmplY3QnICYmICEhcGF0aFtTeW1ib2wuaXRlcmF0b3JdKCkubmV4dCgpLmRvbmUpO1xuY2xhc3MgQ29sbGVjdGlvbiBleHRlbmRzIE5vZGVCYXNlIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlLCBzY2hlbWEpIHtcbiAgICAgICAgc3VwZXIodHlwZSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnc2NoZW1hJywge1xuICAgICAgICAgICAgdmFsdWU6IHNjaGVtYSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIGNvcHkgb2YgdGhpcyBjb2xsZWN0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNjaGVtYSAtIElmIGRlZmluZWQsIG92ZXJ3cml0ZXMgdGhlIG9yaWdpbmFsJ3Mgc2NoZW1hXG4gICAgICovXG4gICAgY2xvbmUoc2NoZW1hKSB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO1xuICAgICAgICBpZiAoc2NoZW1hKVxuICAgICAgICAgICAgY29weS5zY2hlbWEgPSBzY2hlbWE7XG4gICAgICAgIGNvcHkuaXRlbXMgPSBjb3B5Lml0ZW1zLm1hcChpdCA9PiBpc05vZGUoaXQpIHx8IGlzUGFpcihpdCkgPyBpdC5jbG9uZShzY2hlbWEpIDogaXQpO1xuICAgICAgICBpZiAodGhpcy5yYW5nZSlcbiAgICAgICAgICAgIGNvcHkucmFuZ2UgPSB0aGlzLnJhbmdlLnNsaWNlKCk7XG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgdmFsdWUgdG8gdGhlIGNvbGxlY3Rpb24uIEZvciBgISFtYXBgIGFuZCBgISFvbWFwYCB0aGUgdmFsdWUgbXVzdFxuICAgICAqIGJlIGEgUGFpciBpbnN0YW5jZSBvciBhIGB7IGtleSwgdmFsdWUgfWAgb2JqZWN0LCB3aGljaCBtYXkgbm90IGhhdmUgYSBrZXlcbiAgICAgKiB0aGF0IGFscmVhZHkgZXhpc3RzIGluIHRoZSBtYXAuXG4gICAgICovXG4gICAgYWRkSW4ocGF0aCwgdmFsdWUpIHtcbiAgICAgICAgaWYgKGlzRW1wdHlQYXRoKHBhdGgpKVxuICAgICAgICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldChrZXksIHRydWUpO1xuICAgICAgICAgICAgaWYgKGlzQ29sbGVjdGlvbihub2RlKSlcbiAgICAgICAgICAgICAgICBub2RlLmFkZEluKHJlc3QsIHZhbHVlKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKG5vZGUgPT09IHVuZGVmaW5lZCAmJiB0aGlzLnNjaGVtYSlcbiAgICAgICAgICAgICAgICB0aGlzLnNldChrZXksIGNvbGxlY3Rpb25Gcm9tUGF0aCh0aGlzLnNjaGVtYSwgcmVzdCwgdmFsdWUpKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke2tleX0uIFJlbWFpbmluZyBwYXRoOiAke3Jlc3R9YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gdGhlIGNvbGxlY3Rpb24uXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBpdGVtIHdhcyBmb3VuZCBhbmQgcmVtb3ZlZC5cbiAgICAgKi9cbiAgICBkZWxldGVJbihwYXRoKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgaWYgKHJlc3QubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVsZXRlKGtleSk7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldChrZXksIHRydWUpO1xuICAgICAgICBpZiAoaXNDb2xsZWN0aW9uKG5vZGUpKVxuICAgICAgICAgICAgcmV0dXJuIG5vZGUuZGVsZXRlSW4ocmVzdCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgWUFNTCBjb2xsZWN0aW9uIGF0ICR7a2V5fS4gUmVtYWluaW5nIHBhdGg6ICR7cmVzdH1gKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBpdGVtIGF0IGBrZXlgLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgZm91bmQuIEJ5IGRlZmF1bHQgdW53cmFwc1xuICAgICAqIHNjYWxhciB2YWx1ZXMgZnJvbSB0aGVpciBzdXJyb3VuZGluZyBub2RlOyB0byBkaXNhYmxlIHNldCBga2VlcFNjYWxhcmAgdG9cbiAgICAgKiBgdHJ1ZWAgKGNvbGxlY3Rpb25zIGFyZSBhbHdheXMgcmV0dXJuZWQgaW50YWN0KS5cbiAgICAgKi9cbiAgICBnZXRJbihwYXRoLCBrZWVwU2NhbGFyKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0KGtleSwgdHJ1ZSk7XG4gICAgICAgIGlmIChyZXN0Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiAha2VlcFNjYWxhciAmJiBpc1NjYWxhcihub2RlKSA/IG5vZGUudmFsdWUgOiBub2RlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gaXNDb2xsZWN0aW9uKG5vZGUpID8gbm9kZS5nZXRJbihyZXN0LCBrZWVwU2NhbGFyKSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaGFzQWxsTnVsbFZhbHVlcyhhbGxvd1NjYWxhcikge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5ldmVyeShub2RlID0+IHtcbiAgICAgICAgICAgIGlmICghaXNQYWlyKG5vZGUpKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSBub2RlLnZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIChuID09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAoYWxsb3dTY2FsYXIgJiZcbiAgICAgICAgICAgICAgICAgICAgaXNTY2FsYXIobikgJiZcbiAgICAgICAgICAgICAgICAgICAgbi52YWx1ZSA9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgICAgICFuLmNvbW1lbnRCZWZvcmUgJiZcbiAgICAgICAgICAgICAgICAgICAgIW4uY29tbWVudCAmJlxuICAgICAgICAgICAgICAgICAgICAhbi50YWcpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgY29sbGVjdGlvbiBpbmNsdWRlcyBhIHZhbHVlIHdpdGggdGhlIGtleSBga2V5YC5cbiAgICAgKi9cbiAgICBoYXNJbihwYXRoKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgaWYgKHJlc3QubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzKGtleSk7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldChrZXksIHRydWUpO1xuICAgICAgICByZXR1cm4gaXNDb2xsZWN0aW9uKG5vZGUpID8gbm9kZS5oYXNJbihyZXN0KSA6IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdmFsdWUgaW4gdGhpcyBjb2xsZWN0aW9uLiBGb3IgYCEhc2V0YCwgYHZhbHVlYCBuZWVkcyB0byBiZSBhXG4gICAgICogYm9vbGVhbiB0byBhZGQvcmVtb3ZlIHRoZSBpdGVtIGZyb20gdGhlIHNldC5cbiAgICAgKi9cbiAgICBzZXRJbihwYXRoLCB2YWx1ZSkge1xuICAgICAgICBjb25zdCBba2V5LCAuLi5yZXN0XSA9IHBhdGg7XG4gICAgICAgIGlmIChyZXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXQoa2V5LCB0cnVlKTtcbiAgICAgICAgICAgIGlmIChpc0NvbGxlY3Rpb24obm9kZSkpXG4gICAgICAgICAgICAgICAgbm9kZS5zZXRJbihyZXN0LCB2YWx1ZSk7XG4gICAgICAgICAgICBlbHNlIGlmIChub2RlID09PSB1bmRlZmluZWQgJiYgdGhpcy5zY2hlbWEpXG4gICAgICAgICAgICAgICAgdGhpcy5zZXQoa2V5LCBjb2xsZWN0aW9uRnJvbVBhdGgodGhpcy5zY2hlbWEsIHJlc3QsIHZhbHVlKSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHtrZXl9LiBSZW1haW5pbmcgcGF0aDogJHtyZXN0fWApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgeyBDb2xsZWN0aW9uLCBjb2xsZWN0aW9uRnJvbVBhdGgsIGlzRW1wdHlQYXRoIH07XG4iLCAiLyoqXG4gKiBTdHJpbmdpZmllcyBhIGNvbW1lbnQuXG4gKlxuICogRW1wdHkgY29tbWVudCBsaW5lcyBhcmUgbGVmdCBlbXB0eSxcbiAqIGxpbmVzIGNvbnNpc3Rpbmcgb2YgYSBzaW5nbGUgc3BhY2UgYXJlIHJlcGxhY2VkIGJ5IGAjYCxcbiAqIGFuZCBhbGwgb3RoZXIgbGluZXMgYXJlIHByZWZpeGVkIHdpdGggYSBgI2AuXG4gKi9cbmNvbnN0IHN0cmluZ2lmeUNvbW1lbnQgPSAoc3RyKSA9PiBzdHIucmVwbGFjZSgvXig/ISQpKD86ICQpPy9nbSwgJyMnKTtcbmZ1bmN0aW9uIGluZGVudENvbW1lbnQoY29tbWVudCwgaW5kZW50KSB7XG4gICAgaWYgKC9eXFxuKyQvLnRlc3QoY29tbWVudCkpXG4gICAgICAgIHJldHVybiBjb21tZW50LnN1YnN0cmluZygxKTtcbiAgICByZXR1cm4gaW5kZW50ID8gY29tbWVudC5yZXBsYWNlKC9eKD8hICokKS9nbSwgaW5kZW50KSA6IGNvbW1lbnQ7XG59XG5jb25zdCBsaW5lQ29tbWVudCA9IChzdHIsIGluZGVudCwgY29tbWVudCkgPT4gc3RyLmVuZHNXaXRoKCdcXG4nKVxuICAgID8gaW5kZW50Q29tbWVudChjb21tZW50LCBpbmRlbnQpXG4gICAgOiBjb21tZW50LmluY2x1ZGVzKCdcXG4nKVxuICAgICAgICA/ICdcXG4nICsgaW5kZW50Q29tbWVudChjb21tZW50LCBpbmRlbnQpXG4gICAgICAgIDogKHN0ci5lbmRzV2l0aCgnICcpID8gJycgOiAnICcpICsgY29tbWVudDtcblxuZXhwb3J0IHsgaW5kZW50Q29tbWVudCwgbGluZUNvbW1lbnQsIHN0cmluZ2lmeUNvbW1lbnQgfTtcbiIsICJjb25zdCBGT0xEX0ZMT1cgPSAnZmxvdyc7XG5jb25zdCBGT0xEX0JMT0NLID0gJ2Jsb2NrJztcbmNvbnN0IEZPTERfUVVPVEVEID0gJ3F1b3RlZCc7XG4vKipcbiAqIFRyaWVzIHRvIGtlZXAgaW5wdXQgYXQgdXAgdG8gYGxpbmVXaWR0aGAgY2hhcmFjdGVycywgc3BsaXR0aW5nIG9ubHkgb24gc3BhY2VzXG4gKiBub3QgZm9sbG93ZWQgYnkgbmV3bGluZXMgb3Igc3BhY2VzIHVubGVzcyBgbW9kZWAgaXMgYCdxdW90ZWQnYC4gTGluZXMgYXJlXG4gKiB0ZXJtaW5hdGVkIHdpdGggYFxcbmAgYW5kIHN0YXJ0ZWQgd2l0aCBgaW5kZW50YC5cbiAqL1xuZnVuY3Rpb24gZm9sZEZsb3dMaW5lcyh0ZXh0LCBpbmRlbnQsIG1vZGUgPSAnZmxvdycsIHsgaW5kZW50QXRTdGFydCwgbGluZVdpZHRoID0gODAsIG1pbkNvbnRlbnRXaWR0aCA9IDIwLCBvbkZvbGQsIG9uT3ZlcmZsb3cgfSA9IHt9KSB7XG4gICAgaWYgKCFsaW5lV2lkdGggfHwgbGluZVdpZHRoIDwgMClcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgaWYgKGxpbmVXaWR0aCA8IG1pbkNvbnRlbnRXaWR0aClcbiAgICAgICAgbWluQ29udGVudFdpZHRoID0gMDtcbiAgICBjb25zdCBlbmRTdGVwID0gTWF0aC5tYXgoMSArIG1pbkNvbnRlbnRXaWR0aCwgMSArIGxpbmVXaWR0aCAtIGluZGVudC5sZW5ndGgpO1xuICAgIGlmICh0ZXh0Lmxlbmd0aCA8PSBlbmRTdGVwKVxuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICBjb25zdCBmb2xkcyA9IFtdO1xuICAgIGNvbnN0IGVzY2FwZWRGb2xkcyA9IHt9O1xuICAgIGxldCBlbmQgPSBsaW5lV2lkdGggLSBpbmRlbnQubGVuZ3RoO1xuICAgIGlmICh0eXBlb2YgaW5kZW50QXRTdGFydCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgaWYgKGluZGVudEF0U3RhcnQgPiBsaW5lV2lkdGggLSBNYXRoLm1heCgyLCBtaW5Db250ZW50V2lkdGgpKVxuICAgICAgICAgICAgZm9sZHMucHVzaCgwKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgZW5kID0gbGluZVdpZHRoIC0gaW5kZW50QXRTdGFydDtcbiAgICB9XG4gICAgbGV0IHNwbGl0ID0gdW5kZWZpbmVkO1xuICAgIGxldCBwcmV2ID0gdW5kZWZpbmVkO1xuICAgIGxldCBvdmVyZmxvdyA9IGZhbHNlO1xuICAgIGxldCBpID0gLTE7XG4gICAgbGV0IGVzY1N0YXJ0ID0gLTE7XG4gICAgbGV0IGVzY0VuZCA9IC0xO1xuICAgIGlmIChtb2RlID09PSBGT0xEX0JMT0NLKSB7XG4gICAgICAgIGkgPSBjb25zdW1lTW9yZUluZGVudGVkTGluZXModGV4dCwgaSwgaW5kZW50Lmxlbmd0aCk7XG4gICAgICAgIGlmIChpICE9PSAtMSlcbiAgICAgICAgICAgIGVuZCA9IGkgKyBlbmRTdGVwO1xuICAgIH1cbiAgICBmb3IgKGxldCBjaDsgKGNoID0gdGV4dFsoaSArPSAxKV0pOykge1xuICAgICAgICBpZiAobW9kZSA9PT0gRk9MRF9RVU9URUQgJiYgY2ggPT09ICdcXFxcJykge1xuICAgICAgICAgICAgZXNjU3RhcnQgPSBpO1xuICAgICAgICAgICAgc3dpdGNoICh0ZXh0W2kgKyAxXSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3gnOlxuICAgICAgICAgICAgICAgICAgICBpICs9IDM7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3UnOlxuICAgICAgICAgICAgICAgICAgICBpICs9IDU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1UnOlxuICAgICAgICAgICAgICAgICAgICBpICs9IDk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVzY0VuZCA9IGk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoID09PSAnXFxuJykge1xuICAgICAgICAgICAgaWYgKG1vZGUgPT09IEZPTERfQkxPQ0spXG4gICAgICAgICAgICAgICAgaSA9IGNvbnN1bWVNb3JlSW5kZW50ZWRMaW5lcyh0ZXh0LCBpLCBpbmRlbnQubGVuZ3RoKTtcbiAgICAgICAgICAgIGVuZCA9IGkgKyBpbmRlbnQubGVuZ3RoICsgZW5kU3RlcDtcbiAgICAgICAgICAgIHNwbGl0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGNoID09PSAnICcgJiZcbiAgICAgICAgICAgICAgICBwcmV2ICYmXG4gICAgICAgICAgICAgICAgcHJldiAhPT0gJyAnICYmXG4gICAgICAgICAgICAgICAgcHJldiAhPT0gJ1xcbicgJiZcbiAgICAgICAgICAgICAgICBwcmV2ICE9PSAnXFx0Jykge1xuICAgICAgICAgICAgICAgIC8vIHNwYWNlIHN1cnJvdW5kZWQgYnkgbm9uLXNwYWNlIGNhbiBiZSByZXBsYWNlZCB3aXRoIG5ld2xpbmUgKyBpbmRlbnRcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0ID0gdGV4dFtpICsgMV07XG4gICAgICAgICAgICAgICAgaWYgKG5leHQgJiYgbmV4dCAhPT0gJyAnICYmIG5leHQgIT09ICdcXG4nICYmIG5leHQgIT09ICdcXHQnKVxuICAgICAgICAgICAgICAgICAgICBzcGxpdCA9IGk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaSA+PSBlbmQpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3BsaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9sZHMucHVzaChzcGxpdCk7XG4gICAgICAgICAgICAgICAgICAgIGVuZCA9IHNwbGl0ICsgZW5kU3RlcDtcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1vZGUgPT09IEZPTERfUVVPVEVEKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoaXRlLXNwYWNlIGNvbGxlY3RlZCBhdCBlbmQgbWF5IHN0cmV0Y2ggcGFzdCBsaW5lV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHByZXYgPT09ICcgJyB8fCBwcmV2ID09PSAnXFx0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldiA9IGNoO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2ggPSB0ZXh0WyhpICs9IDEpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBBY2NvdW50IGZvciBuZXdsaW5lIGVzY2FwZSwgYnV0IGRvbid0IGJyZWFrIHByZWNlZGluZyBlc2NhcGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaiA9IGkgPiBlc2NFbmQgKyAxID8gaSAtIDIgOiBlc2NTdGFydCAtIDE7XG4gICAgICAgICAgICAgICAgICAgIC8vIEJhaWwgb3V0IGlmIGxpbmVXaWR0aCAmIG1pbkNvbnRlbnRXaWR0aCBhcmUgc2hvcnRlciB0aGFuIGFuIGVzY2FwZSBzdHJpbmdcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVzY2FwZWRGb2xkc1tqXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0O1xuICAgICAgICAgICAgICAgICAgICBmb2xkcy5wdXNoKGopO1xuICAgICAgICAgICAgICAgICAgICBlc2NhcGVkRm9sZHNbal0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBlbmQgPSBqICsgZW5kU3RlcDtcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdyA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByZXYgPSBjaDtcbiAgICB9XG4gICAgaWYgKG92ZXJmbG93ICYmIG9uT3ZlcmZsb3cpXG4gICAgICAgIG9uT3ZlcmZsb3coKTtcbiAgICBpZiAoZm9sZHMubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gdGV4dDtcbiAgICBpZiAob25Gb2xkKVxuICAgICAgICBvbkZvbGQoKTtcbiAgICBsZXQgcmVzID0gdGV4dC5zbGljZSgwLCBmb2xkc1swXSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmb2xkcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBmb2xkID0gZm9sZHNbaV07XG4gICAgICAgIGNvbnN0IGVuZCA9IGZvbGRzW2kgKyAxXSB8fCB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgaWYgKGZvbGQgPT09IDApXG4gICAgICAgICAgICByZXMgPSBgXFxuJHtpbmRlbnR9JHt0ZXh0LnNsaWNlKDAsIGVuZCl9YDtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAobW9kZSA9PT0gRk9MRF9RVU9URUQgJiYgZXNjYXBlZEZvbGRzW2ZvbGRdKVxuICAgICAgICAgICAgICAgIHJlcyArPSBgJHt0ZXh0W2ZvbGRdfVxcXFxgO1xuICAgICAgICAgICAgcmVzICs9IGBcXG4ke2luZGVudH0ke3RleHQuc2xpY2UoZm9sZCArIDEsIGVuZCl9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuLyoqXG4gKiBQcmVzdW1lcyBgaSArIDFgIGlzIGF0IHRoZSBzdGFydCBvZiBhIGxpbmVcbiAqIEByZXR1cm5zIGluZGV4IG9mIGxhc3QgbmV3bGluZSBpbiBtb3JlLWluZGVudGVkIGJsb2NrXG4gKi9cbmZ1bmN0aW9uIGNvbnN1bWVNb3JlSW5kZW50ZWRMaW5lcyh0ZXh0LCBpLCBpbmRlbnQpIHtcbiAgICBsZXQgZW5kID0gaTtcbiAgICBsZXQgc3RhcnQgPSBpICsgMTtcbiAgICBsZXQgY2ggPSB0ZXh0W3N0YXJ0XTtcbiAgICB3aGlsZSAoY2ggPT09ICcgJyB8fCBjaCA9PT0gJ1xcdCcpIHtcbiAgICAgICAgaWYgKGkgPCBzdGFydCArIGluZGVudCkge1xuICAgICAgICAgICAgY2ggPSB0ZXh0WysraV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgY2ggPSB0ZXh0WysraV07XG4gICAgICAgICAgICB9IHdoaWxlIChjaCAmJiBjaCAhPT0gJ1xcbicpO1xuICAgICAgICAgICAgZW5kID0gaTtcbiAgICAgICAgICAgIHN0YXJ0ID0gaSArIDE7XG4gICAgICAgICAgICBjaCA9IHRleHRbc3RhcnRdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlbmQ7XG59XG5cbmV4cG9ydCB7IEZPTERfQkxPQ0ssIEZPTERfRkxPVywgRk9MRF9RVU9URUQsIGZvbGRGbG93TGluZXMgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi9ub2Rlcy9TY2FsYXIuanMnO1xuaW1wb3J0IHsgZm9sZEZsb3dMaW5lcywgRk9MRF9RVU9URUQsIEZPTERfRkxPVywgRk9MRF9CTE9DSyB9IGZyb20gJy4vZm9sZEZsb3dMaW5lcy5qcyc7XG5cbmNvbnN0IGdldEZvbGRPcHRpb25zID0gKGN0eCwgaXNCbG9jaykgPT4gKHtcbiAgICBpbmRlbnRBdFN0YXJ0OiBpc0Jsb2NrID8gY3R4LmluZGVudC5sZW5ndGggOiBjdHguaW5kZW50QXRTdGFydCxcbiAgICBsaW5lV2lkdGg6IGN0eC5vcHRpb25zLmxpbmVXaWR0aCxcbiAgICBtaW5Db250ZW50V2lkdGg6IGN0eC5vcHRpb25zLm1pbkNvbnRlbnRXaWR0aFxufSk7XG4vLyBBbHNvIGNoZWNrcyBmb3IgbGluZXMgc3RhcnRpbmcgd2l0aCAlLCBhcyBwYXJzaW5nIHRoZSBvdXRwdXQgYXMgWUFNTCAxLjEgd2lsbFxuLy8gcHJlc3VtZSB0aGF0J3Mgc3RhcnRpbmcgYSBuZXcgZG9jdW1lbnQuXG5jb25zdCBjb250YWluc0RvY3VtZW50TWFya2VyID0gKHN0cikgPT4gL14oJXwtLS18XFwuXFwuXFwuKS9tLnRlc3Qoc3RyKTtcbmZ1bmN0aW9uIGxpbmVMZW5ndGhPdmVyTGltaXQoc3RyLCBsaW5lV2lkdGgsIGluZGVudExlbmd0aCkge1xuICAgIGlmICghbGluZVdpZHRoIHx8IGxpbmVXaWR0aCA8IDApXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBsaW1pdCA9IGxpbmVXaWR0aCAtIGluZGVudExlbmd0aDtcbiAgICBjb25zdCBzdHJMZW4gPSBzdHIubGVuZ3RoO1xuICAgIGlmIChzdHJMZW4gPD0gbGltaXQpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMCwgc3RhcnQgPSAwOyBpIDwgc3RyTGVuOyArK2kpIHtcbiAgICAgICAgaWYgKHN0cltpXSA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIGlmIChpIC0gc3RhcnQgPiBsaW1pdClcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIHN0YXJ0ID0gaSArIDE7XG4gICAgICAgICAgICBpZiAoc3RyTGVuIC0gc3RhcnQgPD0gbGltaXQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gZG91YmxlUXVvdGVkU3RyaW5nKHZhbHVlLCBjdHgpIHtcbiAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgIGlmIChjdHgub3B0aW9ucy5kb3VibGVRdW90ZWRBc0pTT04pXG4gICAgICAgIHJldHVybiBqc29uO1xuICAgIGNvbnN0IHsgaW1wbGljaXRLZXkgfSA9IGN0eDtcbiAgICBjb25zdCBtaW5NdWx0aUxpbmVMZW5ndGggPSBjdHgub3B0aW9ucy5kb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGg7XG4gICAgY29uc3QgaW5kZW50ID0gY3R4LmluZGVudCB8fCAoY29udGFpbnNEb2N1bWVudE1hcmtlcih2YWx1ZSkgPyAnICAnIDogJycpO1xuICAgIGxldCBzdHIgPSAnJztcbiAgICBsZXQgc3RhcnQgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwLCBjaCA9IGpzb25baV07IGNoOyBjaCA9IGpzb25bKytpXSkge1xuICAgICAgICBpZiAoY2ggPT09ICcgJyAmJiBqc29uW2kgKyAxXSA9PT0gJ1xcXFwnICYmIGpzb25baSArIDJdID09PSAnbicpIHtcbiAgICAgICAgICAgIC8vIHNwYWNlIGJlZm9yZSBuZXdsaW5lIG5lZWRzIHRvIGJlIGVzY2FwZWQgdG8gbm90IGJlIGZvbGRlZFxuICAgICAgICAgICAgc3RyICs9IGpzb24uc2xpY2Uoc3RhcnQsIGkpICsgJ1xcXFwgJztcbiAgICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICAgIHN0YXJ0ID0gaTtcbiAgICAgICAgICAgIGNoID0gJ1xcXFwnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcXFwnKVxuICAgICAgICAgICAgc3dpdGNoIChqc29uW2kgKyAxXSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3UnOlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0ganNvbi5zbGljZShzdGFydCwgaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2RlID0ganNvbi5zdWJzdHIoaSArIDIsIDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMDAwMCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXDAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcwMDA3JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcYSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAwMGInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFx2JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMDAxYic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXGUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcwMDg1JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcTic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAwYTAnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFxfJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMjAyOCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXEwnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcyMDI5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcUCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2RlLnN1YnN0cigwLCAyKSA9PT0gJzAwJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXHgnICsgY29kZS5zdWJzdHIoMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBqc29uLnN1YnN0cihpLCA2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gaSArIDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnbic6XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbXBsaWNpdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAganNvbltpICsgMl0gPT09ICdcIicgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb24ubGVuZ3RoIDwgbWluTXVsdGlMaW5lTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmb2xkaW5nIHdpbGwgZWF0IGZpcnN0IG5ld2xpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBqc29uLnNsaWNlKHN0YXJ0LCBpKSArICdcXG5cXG4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGpzb25baSArIDJdID09PSAnXFxcXCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uW2kgKyAzXSA9PT0gJ24nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbltpICsgNF0gIT09ICdcIicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcbic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSArPSAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9IGluZGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwYWNlIGFmdGVyIG5ld2xpbmUgbmVlZHMgdG8gYmUgZXNjYXBlZCB0byBub3QgYmUgZm9sZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNvbltpICsgMl0gPT09ICcgJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFwnO1xuICAgICAgICAgICAgICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBpICsgMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgfVxuICAgIHN0ciA9IHN0YXJ0ID8gc3RyICsganNvbi5zbGljZShzdGFydCkgOiBqc29uO1xuICAgIHJldHVybiBpbXBsaWNpdEtleVxuICAgICAgICA/IHN0clxuICAgICAgICA6IGZvbGRGbG93TGluZXMoc3RyLCBpbmRlbnQsIEZPTERfUVVPVEVELCBnZXRGb2xkT3B0aW9ucyhjdHgsIGZhbHNlKSk7XG59XG5mdW5jdGlvbiBzaW5nbGVRdW90ZWRTdHJpbmcodmFsdWUsIGN0eCkge1xuICAgIGlmIChjdHgub3B0aW9ucy5zaW5nbGVRdW90ZSA9PT0gZmFsc2UgfHxcbiAgICAgICAgKGN0eC5pbXBsaWNpdEtleSAmJiB2YWx1ZS5pbmNsdWRlcygnXFxuJykpIHx8XG4gICAgICAgIC9bIFxcdF1cXG58XFxuWyBcXHRdLy50ZXN0KHZhbHVlKSAvLyBzaW5nbGUgcXVvdGVkIHN0cmluZyBjYW4ndCBoYXZlIGxlYWRpbmcgb3IgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcm91bmQgbmV3bGluZVxuICAgIClcbiAgICAgICAgcmV0dXJuIGRvdWJsZVF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KTtcbiAgICBjb25zdCBpbmRlbnQgPSBjdHguaW5kZW50IHx8IChjb250YWluc0RvY3VtZW50TWFya2VyKHZhbHVlKSA/ICcgICcgOiAnJyk7XG4gICAgY29uc3QgcmVzID0gXCInXCIgKyB2YWx1ZS5yZXBsYWNlKC8nL2csIFwiJydcIikucmVwbGFjZSgvXFxuKy9nLCBgJCZcXG4ke2luZGVudH1gKSArIFwiJ1wiO1xuICAgIHJldHVybiBjdHguaW1wbGljaXRLZXlcbiAgICAgICAgPyByZXNcbiAgICAgICAgOiBmb2xkRmxvd0xpbmVzKHJlcywgaW5kZW50LCBGT0xEX0ZMT1csIGdldEZvbGRPcHRpb25zKGN0eCwgZmFsc2UpKTtcbn1cbmZ1bmN0aW9uIHF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KSB7XG4gICAgY29uc3QgeyBzaW5nbGVRdW90ZSB9ID0gY3R4Lm9wdGlvbnM7XG4gICAgbGV0IHFzO1xuICAgIGlmIChzaW5nbGVRdW90ZSA9PT0gZmFsc2UpXG4gICAgICAgIHFzID0gZG91YmxlUXVvdGVkU3RyaW5nO1xuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBoYXNEb3VibGUgPSB2YWx1ZS5pbmNsdWRlcygnXCInKTtcbiAgICAgICAgY29uc3QgaGFzU2luZ2xlID0gdmFsdWUuaW5jbHVkZXMoXCInXCIpO1xuICAgICAgICBpZiAoaGFzRG91YmxlICYmICFoYXNTaW5nbGUpXG4gICAgICAgICAgICBxcyA9IHNpbmdsZVF1b3RlZFN0cmluZztcbiAgICAgICAgZWxzZSBpZiAoaGFzU2luZ2xlICYmICFoYXNEb3VibGUpXG4gICAgICAgICAgICBxcyA9IGRvdWJsZVF1b3RlZFN0cmluZztcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcXMgPSBzaW5nbGVRdW90ZSA/IHNpbmdsZVF1b3RlZFN0cmluZyA6IGRvdWJsZVF1b3RlZFN0cmluZztcbiAgICB9XG4gICAgcmV0dXJuIHFzKHZhbHVlLCBjdHgpO1xufVxuLy8gVGhlIG5lZ2F0aXZlIGxvb2tiZWhpbmQgYXZvaWRzIGEgcG9seW5vbWlhbCBzZWFyY2gsXG4vLyBidXQgaXNuJ3Qgc3VwcG9ydGVkIHlldCBvbiBTYWZhcmk6IGh0dHBzOi8vY2FuaXVzZS5jb20vanMtcmVnZXhwLWxvb2tiZWhpbmRcbmxldCBibG9ja0VuZE5ld2xpbmVzO1xudHJ5IHtcbiAgICBibG9ja0VuZE5ld2xpbmVzID0gbmV3IFJlZ0V4cCgnKF58KD88IVxcbikpXFxuKyg/IVxcbnwkKScsICdnJyk7XG59XG5jYXRjaCB7XG4gICAgYmxvY2tFbmROZXdsaW5lcyA9IC9cXG4rKD8hXFxufCQpL2c7XG59XG5mdW5jdGlvbiBibG9ja1N0cmluZyh7IGNvbW1lbnQsIHR5cGUsIHZhbHVlIH0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgIGNvbnN0IHsgYmxvY2tRdW90ZSwgY29tbWVudFN0cmluZywgbGluZVdpZHRoIH0gPSBjdHgub3B0aW9ucztcbiAgICAvLyAxLiBCbG9jayBjYW4ndCBlbmQgaW4gd2hpdGVzcGFjZSB1bmxlc3MgdGhlIGxhc3QgbGluZSBpcyBub24tZW1wdHkuXG4gICAgLy8gMi4gU3RyaW5ncyBjb25zaXN0aW5nIG9mIG9ubHkgd2hpdGVzcGFjZSBhcmUgYmVzdCByZW5kZXJlZCBleHBsaWNpdGx5LlxuICAgIGlmICghYmxvY2tRdW90ZSB8fCAvXFxuW1xcdCBdKyQvLnRlc3QodmFsdWUpIHx8IC9eXFxzKiQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBxdW90ZWRTdHJpbmcodmFsdWUsIGN0eCk7XG4gICAgfVxuICAgIGNvbnN0IGluZGVudCA9IGN0eC5pbmRlbnQgfHxcbiAgICAgICAgKGN0eC5mb3JjZUJsb2NrSW5kZW50IHx8IGNvbnRhaW5zRG9jdW1lbnRNYXJrZXIodmFsdWUpID8gJyAgJyA6ICcnKTtcbiAgICBjb25zdCBsaXRlcmFsID0gYmxvY2tRdW90ZSA9PT0gJ2xpdGVyYWwnXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IGJsb2NrUXVvdGUgPT09ICdmb2xkZWQnIHx8IHR5cGUgPT09IFNjYWxhci5CTE9DS19GT0xERURcbiAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgIDogdHlwZSA9PT0gU2NhbGFyLkJMT0NLX0xJVEVSQUxcbiAgICAgICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgICAgICA6ICFsaW5lTGVuZ3RoT3ZlckxpbWl0KHZhbHVlLCBsaW5lV2lkdGgsIGluZGVudC5sZW5ndGgpO1xuICAgIGlmICghdmFsdWUpXG4gICAgICAgIHJldHVybiBsaXRlcmFsID8gJ3xcXG4nIDogJz5cXG4nO1xuICAgIC8vIGRldGVybWluZSBjaG9tcGluZyBmcm9tIHdoaXRlc3BhY2UgYXQgdmFsdWUgZW5kXG4gICAgbGV0IGNob21wO1xuICAgIGxldCBlbmRTdGFydDtcbiAgICBmb3IgKGVuZFN0YXJ0ID0gdmFsdWUubGVuZ3RoOyBlbmRTdGFydCA+IDA7IC0tZW5kU3RhcnQpIHtcbiAgICAgICAgY29uc3QgY2ggPSB2YWx1ZVtlbmRTdGFydCAtIDFdO1xuICAgICAgICBpZiAoY2ggIT09ICdcXG4nICYmIGNoICE9PSAnXFx0JyAmJiBjaCAhPT0gJyAnKVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGxldCBlbmQgPSB2YWx1ZS5zdWJzdHJpbmcoZW5kU3RhcnQpO1xuICAgIGNvbnN0IGVuZE5sUG9zID0gZW5kLmluZGV4T2YoJ1xcbicpO1xuICAgIGlmIChlbmRObFBvcyA9PT0gLTEpIHtcbiAgICAgICAgY2hvbXAgPSAnLSc7IC8vIHN0cmlwXG4gICAgfVxuICAgIGVsc2UgaWYgKHZhbHVlID09PSBlbmQgfHwgZW5kTmxQb3MgIT09IGVuZC5sZW5ndGggLSAxKSB7XG4gICAgICAgIGNob21wID0gJysnOyAvLyBrZWVwXG4gICAgICAgIGlmIChvbkNob21wS2VlcClcbiAgICAgICAgICAgIG9uQ2hvbXBLZWVwKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjaG9tcCA9ICcnOyAvLyBjbGlwXG4gICAgfVxuICAgIGlmIChlbmQpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgwLCAtZW5kLmxlbmd0aCk7XG4gICAgICAgIGlmIChlbmRbZW5kLmxlbmd0aCAtIDFdID09PSAnXFxuJylcbiAgICAgICAgICAgIGVuZCA9IGVuZC5zbGljZSgwLCAtMSk7XG4gICAgICAgIGVuZCA9IGVuZC5yZXBsYWNlKGJsb2NrRW5kTmV3bGluZXMsIGAkJiR7aW5kZW50fWApO1xuICAgIH1cbiAgICAvLyBkZXRlcm1pbmUgaW5kZW50IGluZGljYXRvciBmcm9tIHdoaXRlc3BhY2UgYXQgdmFsdWUgc3RhcnRcbiAgICBsZXQgc3RhcnRXaXRoU3BhY2UgPSBmYWxzZTtcbiAgICBsZXQgc3RhcnRFbmQ7XG4gICAgbGV0IHN0YXJ0TmxQb3MgPSAtMTtcbiAgICBmb3IgKHN0YXJ0RW5kID0gMDsgc3RhcnRFbmQgPCB2YWx1ZS5sZW5ndGg7ICsrc3RhcnRFbmQpIHtcbiAgICAgICAgY29uc3QgY2ggPSB2YWx1ZVtzdGFydEVuZF07XG4gICAgICAgIGlmIChjaCA9PT0gJyAnKVxuICAgICAgICAgICAgc3RhcnRXaXRoU3BhY2UgPSB0cnVlO1xuICAgICAgICBlbHNlIGlmIChjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICBzdGFydE5sUG9zID0gc3RhcnRFbmQ7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBsZXQgc3RhcnQgPSB2YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRObFBvcyA8IHN0YXJ0RW5kID8gc3RhcnRObFBvcyArIDEgOiBzdGFydEVuZCk7XG4gICAgaWYgKHN0YXJ0KSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKHN0YXJ0Lmxlbmd0aCk7XG4gICAgICAgIHN0YXJ0ID0gc3RhcnQucmVwbGFjZSgvXFxuKy9nLCBgJCYke2luZGVudH1gKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZW50U2l6ZSA9IGluZGVudCA/ICcyJyA6ICcxJzsgLy8gcm9vdCBpcyBhdCAtMVxuICAgIGxldCBoZWFkZXIgPSAobGl0ZXJhbCA/ICd8JyA6ICc+JykgKyAoc3RhcnRXaXRoU3BhY2UgPyBpbmRlbnRTaXplIDogJycpICsgY2hvbXA7XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgaGVhZGVyICs9ICcgJyArIGNvbW1lbnRTdHJpbmcoY29tbWVudC5yZXBsYWNlKC8gP1tcXHJcXG5dKy9nLCAnICcpKTtcbiAgICAgICAgaWYgKG9uQ29tbWVudClcbiAgICAgICAgICAgIG9uQ29tbWVudCgpO1xuICAgIH1cbiAgICBpZiAobGl0ZXJhbCkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcbisvZywgYCQmJHtpbmRlbnR9YCk7XG4gICAgICAgIHJldHVybiBgJHtoZWFkZXJ9XFxuJHtpbmRlbnR9JHtzdGFydH0ke3ZhbHVlfSR7ZW5kfWA7XG4gICAgfVxuICAgIHZhbHVlID0gdmFsdWVcbiAgICAgICAgLnJlcGxhY2UoL1xcbisvZywgJ1xcbiQmJylcbiAgICAgICAgLnJlcGxhY2UoLyg/Ol58XFxuKShbXFx0IF0uKikoPzooW1xcblxcdCBdKilcXG4oPyFbXFxuXFx0IF0pKT8vZywgJyQxJDInKSAvLyBtb3JlLWluZGVudGVkIGxpbmVzIGFyZW4ndCBmb2xkZWRcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgXiBtb3JlLWluZC4gXiBlbXB0eSAgICAgXiBjYXB0dXJlIG5leHQgZW1wdHkgbGluZXMgb25seSBhdCBlbmQgb2YgaW5kZW50XG4gICAgICAgIC5yZXBsYWNlKC9cXG4rL2csIGAkJiR7aW5kZW50fWApO1xuICAgIGNvbnN0IGJvZHkgPSBmb2xkRmxvd0xpbmVzKGAke3N0YXJ0fSR7dmFsdWV9JHtlbmR9YCwgaW5kZW50LCBGT0xEX0JMT0NLLCBnZXRGb2xkT3B0aW9ucyhjdHgsIHRydWUpKTtcbiAgICByZXR1cm4gYCR7aGVhZGVyfVxcbiR7aW5kZW50fSR7Ym9keX1gO1xufVxuZnVuY3Rpb24gcGxhaW5TdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgY29uc3QgeyB0eXBlLCB2YWx1ZSB9ID0gaXRlbTtcbiAgICBjb25zdCB7IGFjdHVhbFN0cmluZywgaW1wbGljaXRLZXksIGluZGVudCwgaW5kZW50U3RlcCwgaW5GbG93IH0gPSBjdHg7XG4gICAgaWYgKChpbXBsaWNpdEtleSAmJiB2YWx1ZS5pbmNsdWRlcygnXFxuJykpIHx8XG4gICAgICAgIChpbkZsb3cgJiYgL1tbXFxde30sXS8udGVzdCh2YWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiBxdW90ZWRTdHJpbmcodmFsdWUsIGN0eCk7XG4gICAgfVxuICAgIGlmICghdmFsdWUgfHxcbiAgICAgICAgL15bXFxuXFx0ICxbXFxde30jJiohfD4nXCIlQGBdfF5bPy1dJHxeWz8tXVsgXFx0XXxbXFxuOl1bIFxcdF18WyBcXHRdXFxufFtcXG5cXHQgXSN8W1xcblxcdCA6XSQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIC8vIG5vdCBhbGxvd2VkOlxuICAgICAgICAvLyAtIGVtcHR5IHN0cmluZywgJy0nIG9yICc/J1xuICAgICAgICAvLyAtIHN0YXJ0IHdpdGggYW4gaW5kaWNhdG9yIGNoYXJhY3RlciAoZXhjZXB0IFs/Oi1dKSBvciAvWz8tXSAvXG4gICAgICAgIC8vIC0gJ1xcbiAnLCAnOiAnIG9yICcgXFxuJyBhbnl3aGVyZVxuICAgICAgICAvLyAtICcjJyBub3QgcHJlY2VkZWQgYnkgYSBub24tc3BhY2UgY2hhclxuICAgICAgICAvLyAtIGVuZCB3aXRoICcgJyBvciAnOidcbiAgICAgICAgcmV0dXJuIGltcGxpY2l0S2V5IHx8IGluRmxvdyB8fCAhdmFsdWUuaW5jbHVkZXMoJ1xcbicpXG4gICAgICAgICAgICA/IHF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KVxuICAgICAgICAgICAgOiBibG9ja1N0cmluZyhpdGVtLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgIH1cbiAgICBpZiAoIWltcGxpY2l0S2V5ICYmXG4gICAgICAgICFpbkZsb3cgJiZcbiAgICAgICAgdHlwZSAhPT0gU2NhbGFyLlBMQUlOICYmXG4gICAgICAgIHZhbHVlLmluY2x1ZGVzKCdcXG4nKSkge1xuICAgICAgICAvLyBXaGVyZSBhbGxvd2VkICYgdHlwZSBub3Qgc2V0IGV4cGxpY2l0bHksIHByZWZlciBibG9jayBzdHlsZSBmb3IgbXVsdGlsaW5lIHN0cmluZ3NcbiAgICAgICAgcmV0dXJuIGJsb2NrU3RyaW5nKGl0ZW0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCk7XG4gICAgfVxuICAgIGlmIChjb250YWluc0RvY3VtZW50TWFya2VyKHZhbHVlKSkge1xuICAgICAgICBpZiAoaW5kZW50ID09PSAnJykge1xuICAgICAgICAgICAgY3R4LmZvcmNlQmxvY2tJbmRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGJsb2NrU3RyaW5nKGl0ZW0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaW1wbGljaXRLZXkgJiYgaW5kZW50ID09PSBpbmRlbnRTdGVwKSB7XG4gICAgICAgICAgICByZXR1cm4gcXVvdGVkU3RyaW5nKHZhbHVlLCBjdHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHN0ciA9IHZhbHVlLnJlcGxhY2UoL1xcbisvZywgYCQmXFxuJHtpbmRlbnR9YCk7XG4gICAgLy8gVmVyaWZ5IHRoYXQgb3V0cHV0IHdpbGwgYmUgcGFyc2VkIGFzIGEgc3RyaW5nLCBhcyBlLmcuIHBsYWluIG51bWJlcnMgYW5kXG4gICAgLy8gYm9vbGVhbnMgZ2V0IHBhcnNlZCB3aXRoIHRob3NlIHR5cGVzIGluIHYxLjIgKGUuZy4gJzQyJywgJ3RydWUnICYgJzAuOWUtMycpLFxuICAgIC8vIGFuZCBvdGhlcnMgaW4gdjEuMS5cbiAgICBpZiAoYWN0dWFsU3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHRlc3QgPSAodGFnKSA9PiB0YWcuZGVmYXVsdCAmJiB0YWcudGFnICE9PSAndGFnOnlhbWwub3JnLDIwMDI6c3RyJyAmJiB0YWcudGVzdD8udGVzdChzdHIpO1xuICAgICAgICBjb25zdCB7IGNvbXBhdCwgdGFncyB9ID0gY3R4LmRvYy5zY2hlbWE7XG4gICAgICAgIGlmICh0YWdzLnNvbWUodGVzdCkgfHwgY29tcGF0Py5zb21lKHRlc3QpKVxuICAgICAgICAgICAgcmV0dXJuIHF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KTtcbiAgICB9XG4gICAgcmV0dXJuIGltcGxpY2l0S2V5XG4gICAgICAgID8gc3RyXG4gICAgICAgIDogZm9sZEZsb3dMaW5lcyhzdHIsIGluZGVudCwgRk9MRF9GTE9XLCBnZXRGb2xkT3B0aW9ucyhjdHgsIGZhbHNlKSk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlTdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgY29uc3QgeyBpbXBsaWNpdEtleSwgaW5GbG93IH0gPSBjdHg7XG4gICAgY29uc3Qgc3MgPSB0eXBlb2YgaXRlbS52YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyBpdGVtXG4gICAgICAgIDogT2JqZWN0LmFzc2lnbih7fSwgaXRlbSwgeyB2YWx1ZTogU3RyaW5nKGl0ZW0udmFsdWUpIH0pO1xuICAgIGxldCB7IHR5cGUgfSA9IGl0ZW07XG4gICAgaWYgKHR5cGUgIT09IFNjYWxhci5RVU9URV9ET1VCTEUpIHtcbiAgICAgICAgLy8gZm9yY2UgZG91YmxlIHF1b3RlcyBvbiBjb250cm9sIGNoYXJhY3RlcnMgJiB1bnBhaXJlZCBzdXJyb2dhdGVzXG4gICAgICAgIGlmICgvW1xceDAwLVxceDA4XFx4MGItXFx4MWZcXHg3Zi1cXHg5ZlxcdXtEODAwfS1cXHV7REZGRn1dL3UudGVzdChzcy52YWx1ZSkpXG4gICAgICAgICAgICB0eXBlID0gU2NhbGFyLlFVT1RFX0RPVUJMRTtcbiAgICB9XG4gICAgY29uc3QgX3N0cmluZ2lmeSA9IChfdHlwZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKF90eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFNjYWxhci5CTE9DS19GT0xERUQ6XG4gICAgICAgICAgICBjYXNlIFNjYWxhci5CTE9DS19MSVRFUkFMOlxuICAgICAgICAgICAgICAgIHJldHVybiBpbXBsaWNpdEtleSB8fCBpbkZsb3dcbiAgICAgICAgICAgICAgICAgICAgPyBxdW90ZWRTdHJpbmcoc3MudmFsdWUsIGN0eCkgLy8gYmxvY2tzIGFyZSBub3QgdmFsaWQgaW5zaWRlIGZsb3cgY29udGFpbmVyc1xuICAgICAgICAgICAgICAgICAgICA6IGJsb2NrU3RyaW5nKHNzLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgICAgICAgICAgY2FzZSBTY2FsYXIuUVVPVEVfRE9VQkxFOlxuICAgICAgICAgICAgICAgIHJldHVybiBkb3VibGVRdW90ZWRTdHJpbmcoc3MudmFsdWUsIGN0eCk7XG4gICAgICAgICAgICBjYXNlIFNjYWxhci5RVU9URV9TSU5HTEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZVF1b3RlZFN0cmluZyhzcy52YWx1ZSwgY3R4KTtcbiAgICAgICAgICAgIGNhc2UgU2NhbGFyLlBMQUlOOlxuICAgICAgICAgICAgICAgIHJldHVybiBwbGFpblN0cmluZyhzcywgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGxldCByZXMgPSBfc3RyaW5naWZ5KHR5cGUpO1xuICAgIGlmIChyZXMgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyBkZWZhdWx0S2V5VHlwZSwgZGVmYXVsdFN0cmluZ1R5cGUgfSA9IGN0eC5vcHRpb25zO1xuICAgICAgICBjb25zdCB0ID0gKGltcGxpY2l0S2V5ICYmIGRlZmF1bHRLZXlUeXBlKSB8fCBkZWZhdWx0U3RyaW5nVHlwZTtcbiAgICAgICAgcmVzID0gX3N0cmluZ2lmeSh0KTtcbiAgICAgICAgaWYgKHJlcyA9PT0gbnVsbClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVmYXVsdCBzdHJpbmcgdHlwZSAke3R9YCk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5cbmV4cG9ydCB7IHN0cmluZ2lmeVN0cmluZyB9O1xuIiwgImltcG9ydCB7IGFuY2hvcklzVmFsaWQgfSBmcm9tICcuLi9kb2MvYW5jaG9ycy5qcyc7XG5pbXBvcnQgeyBpc1BhaXIsIGlzQWxpYXMsIGlzTm9kZSwgaXNTY2FsYXIsIGlzQ29sbGVjdGlvbiB9IGZyb20gJy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeUNvbW1lbnQgfSBmcm9tICcuL3N0cmluZ2lmeUNvbW1lbnQuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5U3RyaW5nIH0gZnJvbSAnLi9zdHJpbmdpZnlTdHJpbmcuanMnO1xuXG5mdW5jdGlvbiBjcmVhdGVTdHJpbmdpZnlDb250ZXh0KGRvYywgb3B0aW9ucykge1xuICAgIGNvbnN0IG9wdCA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICBibG9ja1F1b3RlOiB0cnVlLFxuICAgICAgICBjb21tZW50U3RyaW5nOiBzdHJpbmdpZnlDb21tZW50LFxuICAgICAgICBkZWZhdWx0S2V5VHlwZTogbnVsbCxcbiAgICAgICAgZGVmYXVsdFN0cmluZ1R5cGU6ICdQTEFJTicsXG4gICAgICAgIGRpcmVjdGl2ZXM6IG51bGwsXG4gICAgICAgIGRvdWJsZVF1b3RlZEFzSlNPTjogZmFsc2UsXG4gICAgICAgIGRvdWJsZVF1b3RlZE1pbk11bHRpTGluZUxlbmd0aDogNDAsXG4gICAgICAgIGZhbHNlU3RyOiAnZmFsc2UnLFxuICAgICAgICBmbG93Q29sbGVjdGlvblBhZGRpbmc6IHRydWUsXG4gICAgICAgIGluZGVudFNlcTogdHJ1ZSxcbiAgICAgICAgbGluZVdpZHRoOiA4MCxcbiAgICAgICAgbWluQ29udGVudFdpZHRoOiAyMCxcbiAgICAgICAgbnVsbFN0cjogJ251bGwnLFxuICAgICAgICBzaW1wbGVLZXlzOiBmYWxzZSxcbiAgICAgICAgc2luZ2xlUXVvdGU6IG51bGwsXG4gICAgICAgIHRydWVTdHI6ICd0cnVlJyxcbiAgICAgICAgdmVyaWZ5QWxpYXNPcmRlcjogdHJ1ZVxuICAgIH0sIGRvYy5zY2hlbWEudG9TdHJpbmdPcHRpb25zLCBvcHRpb25zKTtcbiAgICBsZXQgaW5GbG93O1xuICAgIHN3aXRjaCAob3B0LmNvbGxlY3Rpb25TdHlsZSkge1xuICAgICAgICBjYXNlICdibG9jayc6XG4gICAgICAgICAgICBpbkZsb3cgPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdmbG93JzpcbiAgICAgICAgICAgIGluRmxvdyA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGluRmxvdyA9IG51bGw7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGFuY2hvcnM6IG5ldyBTZXQoKSxcbiAgICAgICAgZG9jLFxuICAgICAgICBmbG93Q29sbGVjdGlvblBhZGRpbmc6IG9wdC5mbG93Q29sbGVjdGlvblBhZGRpbmcgPyAnICcgOiAnJyxcbiAgICAgICAgaW5kZW50OiAnJyxcbiAgICAgICAgaW5kZW50U3RlcDogdHlwZW9mIG9wdC5pbmRlbnQgPT09ICdudW1iZXInID8gJyAnLnJlcGVhdChvcHQuaW5kZW50KSA6ICcgICcsXG4gICAgICAgIGluRmxvdyxcbiAgICAgICAgb3B0aW9uczogb3B0XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldFRhZ09iamVjdCh0YWdzLCBpdGVtKSB7XG4gICAgaWYgKGl0ZW0udGFnKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gdGFncy5maWx0ZXIodCA9PiB0LnRhZyA9PT0gaXRlbS50YWcpO1xuICAgICAgICBpZiAobWF0Y2gubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHJldHVybiBtYXRjaC5maW5kKHQgPT4gdC5mb3JtYXQgPT09IGl0ZW0uZm9ybWF0KSA/PyBtYXRjaFswXTtcbiAgICB9XG4gICAgbGV0IHRhZ09iaiA9IHVuZGVmaW5lZDtcbiAgICBsZXQgb2JqO1xuICAgIGlmIChpc1NjYWxhcihpdGVtKSkge1xuICAgICAgICBvYmogPSBpdGVtLnZhbHVlO1xuICAgICAgICBsZXQgbWF0Y2ggPSB0YWdzLmZpbHRlcih0ID0+IHQuaWRlbnRpZnk/LihvYmopKTtcbiAgICAgICAgaWYgKG1hdGNoLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlc3RNYXRjaCA9IG1hdGNoLmZpbHRlcih0ID0+IHQudGVzdCk7XG4gICAgICAgICAgICBpZiAodGVzdE1hdGNoLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgbWF0Y2ggPSB0ZXN0TWF0Y2g7XG4gICAgICAgIH1cbiAgICAgICAgdGFnT2JqID1cbiAgICAgICAgICAgIG1hdGNoLmZpbmQodCA9PiB0LmZvcm1hdCA9PT0gaXRlbS5mb3JtYXQpID8/IG1hdGNoLmZpbmQodCA9PiAhdC5mb3JtYXQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgb2JqID0gaXRlbTtcbiAgICAgICAgdGFnT2JqID0gdGFncy5maW5kKHQgPT4gdC5ub2RlQ2xhc3MgJiYgb2JqIGluc3RhbmNlb2YgdC5ub2RlQ2xhc3MpO1xuICAgIH1cbiAgICBpZiAoIXRhZ09iaikge1xuICAgICAgICBjb25zdCBuYW1lID0gb2JqPy5jb25zdHJ1Y3Rvcj8ubmFtZSA/PyB0eXBlb2Ygb2JqO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRhZyBub3QgcmVzb2x2ZWQgZm9yICR7bmFtZX0gdmFsdWVgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRhZ09iajtcbn1cbi8vIG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgdmFsdWUgc3RyaW5naWZpZXIgdG8gYWxsb3cgZm9yIGNpcmN1bGFyIGFuY2hvciByZWZzXG5mdW5jdGlvbiBzdHJpbmdpZnlQcm9wcyhub2RlLCB0YWdPYmosIHsgYW5jaG9ycywgZG9jIH0pIHtcbiAgICBpZiAoIWRvYy5kaXJlY3RpdmVzKVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgY29uc3QgcHJvcHMgPSBbXTtcbiAgICBjb25zdCBhbmNob3IgPSAoaXNTY2FsYXIobm9kZSkgfHwgaXNDb2xsZWN0aW9uKG5vZGUpKSAmJiBub2RlLmFuY2hvcjtcbiAgICBpZiAoYW5jaG9yICYmIGFuY2hvcklzVmFsaWQoYW5jaG9yKSkge1xuICAgICAgICBhbmNob3JzLmFkZChhbmNob3IpO1xuICAgICAgICBwcm9wcy5wdXNoKGAmJHthbmNob3J9YCk7XG4gICAgfVxuICAgIGNvbnN0IHRhZyA9IG5vZGUudGFnID8gbm9kZS50YWcgOiB0YWdPYmouZGVmYXVsdCA/IG51bGwgOiB0YWdPYmoudGFnO1xuICAgIGlmICh0YWcpXG4gICAgICAgIHByb3BzLnB1c2goZG9jLmRpcmVjdGl2ZXMudGFnU3RyaW5nKHRhZykpO1xuICAgIHJldHVybiBwcm9wcy5qb2luKCcgJyk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnkoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgaWYgKGlzUGFpcihpdGVtKSlcbiAgICAgICAgcmV0dXJuIGl0ZW0udG9TdHJpbmcoY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICBpZiAoaXNBbGlhcyhpdGVtKSkge1xuICAgICAgICBpZiAoY3R4LmRvYy5kaXJlY3RpdmVzKVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW0udG9TdHJpbmcoY3R4KTtcbiAgICAgICAgaWYgKGN0eC5yZXNvbHZlZEFsaWFzZXM/LmhhcyhpdGVtKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgQ2Fubm90IHN0cmluZ2lmeSBjaXJjdWxhciBzdHJ1Y3R1cmUgd2l0aG91dCBhbGlhcyBub2Rlc2ApO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGN0eC5yZXNvbHZlZEFsaWFzZXMpXG4gICAgICAgICAgICAgICAgY3R4LnJlc29sdmVkQWxpYXNlcy5hZGQoaXRlbSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY3R4LnJlc29sdmVkQWxpYXNlcyA9IG5ldyBTZXQoW2l0ZW1dKTtcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtLnJlc29sdmUoY3R4LmRvYyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IHRhZ09iaiA9IHVuZGVmaW5lZDtcbiAgICBjb25zdCBub2RlID0gaXNOb2RlKGl0ZW0pXG4gICAgICAgID8gaXRlbVxuICAgICAgICA6IGN0eC5kb2MuY3JlYXRlTm9kZShpdGVtLCB7IG9uVGFnT2JqOiBvID0+ICh0YWdPYmogPSBvKSB9KTtcbiAgICBpZiAoIXRhZ09iailcbiAgICAgICAgdGFnT2JqID0gZ2V0VGFnT2JqZWN0KGN0eC5kb2Muc2NoZW1hLnRhZ3MsIG5vZGUpO1xuICAgIGNvbnN0IHByb3BzID0gc3RyaW5naWZ5UHJvcHMobm9kZSwgdGFnT2JqLCBjdHgpO1xuICAgIGlmIChwcm9wcy5sZW5ndGggPiAwKVxuICAgICAgICBjdHguaW5kZW50QXRTdGFydCA9IChjdHguaW5kZW50QXRTdGFydCA/PyAwKSArIHByb3BzLmxlbmd0aCArIDE7XG4gICAgY29uc3Qgc3RyID0gdHlwZW9mIHRhZ09iai5zdHJpbmdpZnkgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyB0YWdPYmouc3RyaW5naWZ5KG5vZGUsIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcClcbiAgICAgICAgOiBpc1NjYWxhcihub2RlKVxuICAgICAgICAgICAgPyBzdHJpbmdpZnlTdHJpbmcobm9kZSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKVxuICAgICAgICAgICAgOiBub2RlLnRvU3RyaW5nKGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCk7XG4gICAgaWYgKCFwcm9wcylcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICByZXR1cm4gaXNTY2FsYXIobm9kZSkgfHwgc3RyWzBdID09PSAneycgfHwgc3RyWzBdID09PSAnWydcbiAgICAgICAgPyBgJHtwcm9wc30gJHtzdHJ9YFxuICAgICAgICA6IGAke3Byb3BzfVxcbiR7Y3R4LmluZGVudH0ke3N0cn1gO1xufVxuXG5leHBvcnQgeyBjcmVhdGVTdHJpbmdpZnlDb250ZXh0LCBzdHJpbmdpZnkgfTtcbiIsICJpbXBvcnQgeyBpc0NvbGxlY3Rpb24sIGlzTm9kZSwgaXNTY2FsYXIsIGlzU2VxIH0gZnJvbSAnLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vbm9kZXMvU2NhbGFyLmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gJy4vc3RyaW5naWZ5LmpzJztcbmltcG9ydCB7IGxpbmVDb21tZW50LCBpbmRlbnRDb21tZW50IH0gZnJvbSAnLi9zdHJpbmdpZnlDb21tZW50LmpzJztcblxuZnVuY3Rpb24gc3RyaW5naWZ5UGFpcih7IGtleSwgdmFsdWUgfSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgY29uc3QgeyBhbGxOdWxsVmFsdWVzLCBkb2MsIGluZGVudCwgaW5kZW50U3RlcCwgb3B0aW9uczogeyBjb21tZW50U3RyaW5nLCBpbmRlbnRTZXEsIHNpbXBsZUtleXMgfSB9ID0gY3R4O1xuICAgIGxldCBrZXlDb21tZW50ID0gKGlzTm9kZShrZXkpICYmIGtleS5jb21tZW50KSB8fCBudWxsO1xuICAgIGlmIChzaW1wbGVLZXlzKSB7XG4gICAgICAgIGlmIChrZXlDb21tZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dpdGggc2ltcGxlIGtleXMsIGtleSBub2RlcyBjYW5ub3QgaGF2ZSBjb21tZW50cycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NvbGxlY3Rpb24oa2V5KSB8fCAoIWlzTm9kZShrZXkpICYmIHR5cGVvZiBrZXkgPT09ICdvYmplY3QnKSkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0gJ1dpdGggc2ltcGxlIGtleXMsIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQgYXMgYSBrZXkgdmFsdWUnO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IGV4cGxpY2l0S2V5ID0gIXNpbXBsZUtleXMgJiZcbiAgICAgICAgKCFrZXkgfHxcbiAgICAgICAgICAgIChrZXlDb21tZW50ICYmIHZhbHVlID09IG51bGwgJiYgIWN0eC5pbkZsb3cpIHx8XG4gICAgICAgICAgICBpc0NvbGxlY3Rpb24oa2V5KSB8fFxuICAgICAgICAgICAgKGlzU2NhbGFyKGtleSlcbiAgICAgICAgICAgICAgICA/IGtleS50eXBlID09PSBTY2FsYXIuQkxPQ0tfRk9MREVEIHx8IGtleS50eXBlID09PSBTY2FsYXIuQkxPQ0tfTElURVJBTFxuICAgICAgICAgICAgICAgIDogdHlwZW9mIGtleSA9PT0gJ29iamVjdCcpKTtcbiAgICBjdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHtcbiAgICAgICAgYWxsTnVsbFZhbHVlczogZmFsc2UsXG4gICAgICAgIGltcGxpY2l0S2V5OiAhZXhwbGljaXRLZXkgJiYgKHNpbXBsZUtleXMgfHwgIWFsbE51bGxWYWx1ZXMpLFxuICAgICAgICBpbmRlbnQ6IGluZGVudCArIGluZGVudFN0ZXBcbiAgICB9KTtcbiAgICBsZXQga2V5Q29tbWVudERvbmUgPSBmYWxzZTtcbiAgICBsZXQgY2hvbXBLZWVwID0gZmFsc2U7XG4gICAgbGV0IHN0ciA9IHN0cmluZ2lmeShrZXksIGN0eCwgKCkgPT4gKGtleUNvbW1lbnREb25lID0gdHJ1ZSksICgpID0+IChjaG9tcEtlZXAgPSB0cnVlKSk7XG4gICAgaWYgKCFleHBsaWNpdEtleSAmJiAhY3R4LmluRmxvdyAmJiBzdHIubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICBpZiAoc2ltcGxlS2V5cylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignV2l0aCBzaW1wbGUga2V5cywgc2luZ2xlIGxpbmUgc2NhbGFyIG11c3Qgbm90IHNwYW4gbW9yZSB0aGFuIDEwMjQgY2hhcmFjdGVycycpO1xuICAgICAgICBleHBsaWNpdEtleSA9IHRydWU7XG4gICAgfVxuICAgIGlmIChjdHguaW5GbG93KSB7XG4gICAgICAgIGlmIChhbGxOdWxsVmFsdWVzIHx8IHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChrZXlDb21tZW50RG9uZSAmJiBvbkNvbW1lbnQpXG4gICAgICAgICAgICAgICAgb25Db21tZW50KCk7XG4gICAgICAgICAgICByZXR1cm4gc3RyID09PSAnJyA/ICc/JyA6IGV4cGxpY2l0S2V5ID8gYD8gJHtzdHJ9YCA6IHN0cjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICgoYWxsTnVsbFZhbHVlcyAmJiAhc2ltcGxlS2V5cykgfHwgKHZhbHVlID09IG51bGwgJiYgZXhwbGljaXRLZXkpKSB7XG4gICAgICAgIHN0ciA9IGA/ICR7c3RyfWA7XG4gICAgICAgIGlmIChrZXlDb21tZW50ICYmICFrZXlDb21tZW50RG9uZSkge1xuICAgICAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgY3R4LmluZGVudCwgY29tbWVudFN0cmluZyhrZXlDb21tZW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY2hvbXBLZWVwICYmIG9uQ2hvbXBLZWVwKVxuICAgICAgICAgICAgb25DaG9tcEtlZXAoKTtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG4gICAgaWYgKGtleUNvbW1lbnREb25lKVxuICAgICAgICBrZXlDb21tZW50ID0gbnVsbDtcbiAgICBpZiAoZXhwbGljaXRLZXkpIHtcbiAgICAgICAgaWYgKGtleUNvbW1lbnQpXG4gICAgICAgICAgICBzdHIgKz0gbGluZUNvbW1lbnQoc3RyLCBjdHguaW5kZW50LCBjb21tZW50U3RyaW5nKGtleUNvbW1lbnQpKTtcbiAgICAgICAgc3RyID0gYD8gJHtzdHJ9XFxuJHtpbmRlbnR9OmA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBzdHIgPSBgJHtzdHJ9OmA7XG4gICAgICAgIGlmIChrZXlDb21tZW50KVxuICAgICAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgY3R4LmluZGVudCwgY29tbWVudFN0cmluZyhrZXlDb21tZW50KSk7XG4gICAgfVxuICAgIGxldCB2c2IsIHZjYiwgdmFsdWVDb21tZW50O1xuICAgIGlmIChpc05vZGUodmFsdWUpKSB7XG4gICAgICAgIHZzYiA9ICEhdmFsdWUuc3BhY2VCZWZvcmU7XG4gICAgICAgIHZjYiA9IHZhbHVlLmNvbW1lbnRCZWZvcmU7XG4gICAgICAgIHZhbHVlQ29tbWVudCA9IHZhbHVlLmNvbW1lbnQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2c2IgPSBmYWxzZTtcbiAgICAgICAgdmNiID0gbnVsbDtcbiAgICAgICAgdmFsdWVDb21tZW50ID0gbnVsbDtcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpXG4gICAgICAgICAgICB2YWx1ZSA9IGRvYy5jcmVhdGVOb2RlKHZhbHVlKTtcbiAgICB9XG4gICAgY3R4LmltcGxpY2l0S2V5ID0gZmFsc2U7XG4gICAgaWYgKCFleHBsaWNpdEtleSAmJiAha2V5Q29tbWVudCAmJiBpc1NjYWxhcih2YWx1ZSkpXG4gICAgICAgIGN0eC5pbmRlbnRBdFN0YXJ0ID0gc3RyLmxlbmd0aCArIDE7XG4gICAgY2hvbXBLZWVwID0gZmFsc2U7XG4gICAgaWYgKCFpbmRlbnRTZXEgJiZcbiAgICAgICAgaW5kZW50U3RlcC5sZW5ndGggPj0gMiAmJlxuICAgICAgICAhY3R4LmluRmxvdyAmJlxuICAgICAgICAhZXhwbGljaXRLZXkgJiZcbiAgICAgICAgaXNTZXEodmFsdWUpICYmXG4gICAgICAgICF2YWx1ZS5mbG93ICYmXG4gICAgICAgICF2YWx1ZS50YWcgJiZcbiAgICAgICAgIXZhbHVlLmFuY2hvcikge1xuICAgICAgICAvLyBJZiBpbmRlbnRTZXEgPT09IGZhbHNlLCBjb25zaWRlciAnLSAnIGFzIHBhcnQgb2YgaW5kZW50YXRpb24gd2hlcmUgcG9zc2libGVcbiAgICAgICAgY3R4LmluZGVudCA9IGN0eC5pbmRlbnQuc3Vic3RyaW5nKDIpO1xuICAgIH1cbiAgICBsZXQgdmFsdWVDb21tZW50RG9uZSA9IGZhbHNlO1xuICAgIGNvbnN0IHZhbHVlU3RyID0gc3RyaW5naWZ5KHZhbHVlLCBjdHgsICgpID0+ICh2YWx1ZUNvbW1lbnREb25lID0gdHJ1ZSksICgpID0+IChjaG9tcEtlZXAgPSB0cnVlKSk7XG4gICAgbGV0IHdzID0gJyAnO1xuICAgIGlmIChrZXlDb21tZW50IHx8IHZzYiB8fCB2Y2IpIHtcbiAgICAgICAgd3MgPSB2c2IgPyAnXFxuJyA6ICcnO1xuICAgICAgICBpZiAodmNiKSB7XG4gICAgICAgICAgICBjb25zdCBjcyA9IGNvbW1lbnRTdHJpbmcodmNiKTtcbiAgICAgICAgICAgIHdzICs9IGBcXG4ke2luZGVudENvbW1lbnQoY3MsIGN0eC5pbmRlbnQpfWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlU3RyID09PSAnJyAmJiAhY3R4LmluRmxvdykge1xuICAgICAgICAgICAgaWYgKHdzID09PSAnXFxuJylcbiAgICAgICAgICAgICAgICB3cyA9ICdcXG5cXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgd3MgKz0gYFxcbiR7Y3R4LmluZGVudH1gO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKCFleHBsaWNpdEtleSAmJiBpc0NvbGxlY3Rpb24odmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IHZzMCA9IHZhbHVlU3RyWzBdO1xuICAgICAgICBjb25zdCBubDAgPSB2YWx1ZVN0ci5pbmRleE9mKCdcXG4nKTtcbiAgICAgICAgY29uc3QgaGFzTmV3bGluZSA9IG5sMCAhPT0gLTE7XG4gICAgICAgIGNvbnN0IGZsb3cgPSBjdHguaW5GbG93ID8/IHZhbHVlLmZsb3cgPz8gdmFsdWUuaXRlbXMubGVuZ3RoID09PSAwO1xuICAgICAgICBpZiAoaGFzTmV3bGluZSB8fCAhZmxvdykge1xuICAgICAgICAgICAgbGV0IGhhc1Byb3BzTGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGhhc05ld2xpbmUgJiYgKHZzMCA9PT0gJyYnIHx8IHZzMCA9PT0gJyEnKSkge1xuICAgICAgICAgICAgICAgIGxldCBzcDAgPSB2YWx1ZVN0ci5pbmRleE9mKCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKHZzMCA9PT0gJyYnICYmXG4gICAgICAgICAgICAgICAgICAgIHNwMCAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgc3AwIDwgbmwwICYmXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlU3RyW3NwMCArIDFdID09PSAnIScpIHtcbiAgICAgICAgICAgICAgICAgICAgc3AwID0gdmFsdWVTdHIuaW5kZXhPZignICcsIHNwMCArIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoc3AwID09PSAtMSB8fCBubDAgPCBzcDApXG4gICAgICAgICAgICAgICAgICAgIGhhc1Byb3BzTGluZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWhhc1Byb3BzTGluZSlcbiAgICAgICAgICAgICAgICB3cyA9IGBcXG4ke2N0eC5pbmRlbnR9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh2YWx1ZVN0ciA9PT0gJycgfHwgdmFsdWVTdHJbMF0gPT09ICdcXG4nKSB7XG4gICAgICAgIHdzID0gJyc7XG4gICAgfVxuICAgIHN0ciArPSB3cyArIHZhbHVlU3RyO1xuICAgIGlmIChjdHguaW5GbG93KSB7XG4gICAgICAgIGlmICh2YWx1ZUNvbW1lbnREb25lICYmIG9uQ29tbWVudClcbiAgICAgICAgICAgIG9uQ29tbWVudCgpO1xuICAgIH1cbiAgICBlbHNlIGlmICh2YWx1ZUNvbW1lbnQgJiYgIXZhbHVlQ29tbWVudERvbmUpIHtcbiAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgY3R4LmluZGVudCwgY29tbWVudFN0cmluZyh2YWx1ZUNvbW1lbnQpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoY2hvbXBLZWVwICYmIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIG9uQ2hvbXBLZWVwKCk7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydCB7IHN0cmluZ2lmeVBhaXIgfTtcbiIsICJmdW5jdGlvbiBkZWJ1Zyhsb2dMZXZlbCwgLi4ubWVzc2FnZXMpIHtcbiAgICBpZiAobG9nTGV2ZWwgPT09ICdkZWJ1ZycpXG4gICAgICAgIGNvbnNvbGUubG9nKC4uLm1lc3NhZ2VzKTtcbn1cbmZ1bmN0aW9uIHdhcm4obG9nTGV2ZWwsIHdhcm5pbmcpIHtcbiAgICBpZiAobG9nTGV2ZWwgPT09ICdkZWJ1ZycgfHwgbG9nTGV2ZWwgPT09ICd3YXJuJykge1xuICAgICAgICBpZiAodHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmIHByb2Nlc3MuZW1pdFdhcm5pbmcpXG4gICAgICAgICAgICBwcm9jZXNzLmVtaXRXYXJuaW5nKHdhcm5pbmcpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBjb25zb2xlLndhcm4od2FybmluZyk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBkZWJ1Zywgd2FybiB9O1xuIiwgImltcG9ydCB7IGlzU2NhbGFyLCBpc0FsaWFzLCBpc1NlcSwgaXNNYXAgfSBmcm9tICcuLi8uLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuXG4vLyBJZiB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGEgbWVyZ2Uga2V5IGlzIGEgc2luZ2xlIG1hcHBpbmcgbm9kZSwgZWFjaCBvZlxuLy8gaXRzIGtleS92YWx1ZSBwYWlycyBpcyBpbnNlcnRlZCBpbnRvIHRoZSBjdXJyZW50IG1hcHBpbmcsIHVubGVzcyB0aGUga2V5XG4vLyBhbHJlYWR5IGV4aXN0cyBpbiBpdC4gSWYgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbWVyZ2Uga2V5IGlzIGFcbi8vIHNlcXVlbmNlLCB0aGVuIHRoaXMgc2VxdWVuY2UgaXMgZXhwZWN0ZWQgdG8gY29udGFpbiBtYXBwaW5nIG5vZGVzIGFuZCBlYWNoXG4vLyBvZiB0aGVzZSBub2RlcyBpcyBtZXJnZWQgaW4gdHVybiBhY2NvcmRpbmcgdG8gaXRzIG9yZGVyIGluIHRoZSBzZXF1ZW5jZS5cbi8vIEtleXMgaW4gbWFwcGluZyBub2RlcyBlYXJsaWVyIGluIHRoZSBzZXF1ZW5jZSBvdmVycmlkZSBrZXlzIHNwZWNpZmllZCBpblxuLy8gbGF0ZXIgbWFwcGluZyBub2Rlcy4gLS0gaHR0cDovL3lhbWwub3JnL3R5cGUvbWVyZ2UuaHRtbFxuY29uc3QgTUVSR0VfS0VZID0gJzw8JztcbmNvbnN0IG1lcmdlID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB2YWx1ZSA9PT0gTUVSR0VfS0VZIHx8XG4gICAgICAgICh0eXBlb2YgdmFsdWUgPT09ICdzeW1ib2wnICYmIHZhbHVlLmRlc2NyaXB0aW9uID09PSBNRVJHRV9LRVkpLFxuICAgIGRlZmF1bHQ6ICdrZXknLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOm1lcmdlJyxcbiAgICB0ZXN0OiAvXjw8JC8sXG4gICAgcmVzb2x2ZTogKCkgPT4gT2JqZWN0LmFzc2lnbihuZXcgU2NhbGFyKFN5bWJvbChNRVJHRV9LRVkpKSwge1xuICAgICAgICBhZGRUb0pTTWFwOiBhZGRNZXJnZVRvSlNNYXBcbiAgICB9KSxcbiAgICBzdHJpbmdpZnk6ICgpID0+IE1FUkdFX0tFWVxufTtcbmNvbnN0IGlzTWVyZ2VLZXkgPSAoY3R4LCBrZXkpID0+IChtZXJnZS5pZGVudGlmeShrZXkpIHx8XG4gICAgKGlzU2NhbGFyKGtleSkgJiZcbiAgICAgICAgKCFrZXkudHlwZSB8fCBrZXkudHlwZSA9PT0gU2NhbGFyLlBMQUlOKSAmJlxuICAgICAgICBtZXJnZS5pZGVudGlmeShrZXkudmFsdWUpKSkgJiZcbiAgICBjdHg/LmRvYy5zY2hlbWEudGFncy5zb21lKHRhZyA9PiB0YWcudGFnID09PSBtZXJnZS50YWcgJiYgdGFnLmRlZmF1bHQpO1xuZnVuY3Rpb24gYWRkTWVyZ2VUb0pTTWFwKGN0eCwgbWFwLCB2YWx1ZSkge1xuICAgIHZhbHVlID0gY3R4ICYmIGlzQWxpYXModmFsdWUpID8gdmFsdWUucmVzb2x2ZShjdHguZG9jKSA6IHZhbHVlO1xuICAgIGlmIChpc1NlcSh2YWx1ZSkpXG4gICAgICAgIGZvciAoY29uc3QgaXQgb2YgdmFsdWUuaXRlbXMpXG4gICAgICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCBpdCk7XG4gICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgIGZvciAoY29uc3QgaXQgb2YgdmFsdWUpXG4gICAgICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCBpdCk7XG4gICAgZWxzZVxuICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCB2YWx1ZSk7XG59XG5mdW5jdGlvbiBtZXJnZVZhbHVlKGN0eCwgbWFwLCB2YWx1ZSkge1xuICAgIGNvbnN0IHNvdXJjZSA9IGN0eCAmJiBpc0FsaWFzKHZhbHVlKSA/IHZhbHVlLnJlc29sdmUoY3R4LmRvYykgOiB2YWx1ZTtcbiAgICBpZiAoIWlzTWFwKHNvdXJjZSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWVyZ2Ugc291cmNlcyBtdXN0IGJlIG1hcHMgb3IgbWFwIGFsaWFzZXMnKTtcbiAgICBjb25zdCBzcmNNYXAgPSBzb3VyY2UudG9KU09OKG51bGwsIGN0eCwgTWFwKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBzcmNNYXApIHtcbiAgICAgICAgaWYgKG1hcCBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgaWYgKCFtYXAuaGFzKGtleSkpXG4gICAgICAgICAgICAgICAgbWFwLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtYXAgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgICAgIG1hcC5hZGQoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1hcCwga2V5KSkge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1hcCwga2V5LCB7XG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG59XG5cbmV4cG9ydCB7IGFkZE1lcmdlVG9KU01hcCwgaXNNZXJnZUtleSwgbWVyZ2UgfTtcbiIsICJpbXBvcnQgeyB3YXJuIH0gZnJvbSAnLi4vbG9nLmpzJztcbmltcG9ydCB7IGlzTWVyZ2VLZXksIGFkZE1lcmdlVG9KU01hcCB9IGZyb20gJy4uL3NjaGVtYS95YW1sLTEuMS9tZXJnZS5qcyc7XG5pbXBvcnQgeyBjcmVhdGVTdHJpbmdpZnlDb250ZXh0IH0gZnJvbSAnLi4vc3RyaW5naWZ5L3N0cmluZ2lmeS5qcyc7XG5pbXBvcnQgeyBpc05vZGUgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IHRvSlMgfSBmcm9tICcuL3RvSlMuanMnO1xuXG5mdW5jdGlvbiBhZGRQYWlyVG9KU01hcChjdHgsIG1hcCwgeyBrZXksIHZhbHVlIH0pIHtcbiAgICBpZiAoaXNOb2RlKGtleSkgJiYga2V5LmFkZFRvSlNNYXApXG4gICAgICAgIGtleS5hZGRUb0pTTWFwKGN0eCwgbWFwLCB2YWx1ZSk7XG4gICAgLy8gVE9ETzogU2hvdWxkIGRyb3AgdGhpcyBzcGVjaWFsIGNhc2UgZm9yIGJhcmUgPDwgaGFuZGxpbmdcbiAgICBlbHNlIGlmIChpc01lcmdlS2V5KGN0eCwga2V5KSlcbiAgICAgICAgYWRkTWVyZ2VUb0pTTWFwKGN0eCwgbWFwLCB2YWx1ZSk7XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGpzS2V5ID0gdG9KUyhrZXksICcnLCBjdHgpO1xuICAgICAgICBpZiAobWFwIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgICBtYXAuc2V0KGpzS2V5LCB0b0pTKHZhbHVlLCBqc0tleSwgY3R4KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobWFwIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgICAgICBtYXAuYWRkKGpzS2V5KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHN0cmluZ0tleSA9IHN0cmluZ2lmeUtleShrZXksIGpzS2V5LCBjdHgpO1xuICAgICAgICAgICAgY29uc3QganNWYWx1ZSA9IHRvSlModmFsdWUsIHN0cmluZ0tleSwgY3R4KTtcbiAgICAgICAgICAgIGlmIChzdHJpbmdLZXkgaW4gbWFwKVxuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtYXAsIHN0cmluZ0tleSwge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZToganNWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIG1hcFtzdHJpbmdLZXldID0ganNWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5S2V5KGtleSwganNLZXksIGN0eCkge1xuICAgIGlmIChqc0tleSA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIGlmICh0eXBlb2YganNLZXkgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gU3RyaW5nKGpzS2V5KTtcbiAgICBpZiAoaXNOb2RlKGtleSkgJiYgY3R4Py5kb2MpIHtcbiAgICAgICAgY29uc3Qgc3RyQ3R4ID0gY3JlYXRlU3RyaW5naWZ5Q29udGV4dChjdHguZG9jLCB7fSk7XG4gICAgICAgIHN0ckN0eC5hbmNob3JzID0gbmV3IFNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgY3R4LmFuY2hvcnMua2V5cygpKVxuICAgICAgICAgICAgc3RyQ3R4LmFuY2hvcnMuYWRkKG5vZGUuYW5jaG9yKTtcbiAgICAgICAgc3RyQ3R4LmluRmxvdyA9IHRydWU7XG4gICAgICAgIHN0ckN0eC5pblN0cmluZ2lmeUtleSA9IHRydWU7XG4gICAgICAgIGNvbnN0IHN0cktleSA9IGtleS50b1N0cmluZyhzdHJDdHgpO1xuICAgICAgICBpZiAoIWN0eC5tYXBLZXlXYXJuZWQpIHtcbiAgICAgICAgICAgIGxldCBqc29uU3RyID0gSlNPTi5zdHJpbmdpZnkoc3RyS2V5KTtcbiAgICAgICAgICAgIGlmIChqc29uU3RyLmxlbmd0aCA+IDQwKVxuICAgICAgICAgICAgICAgIGpzb25TdHIgPSBqc29uU3RyLnN1YnN0cmluZygwLCAzNikgKyAnLi4uXCInO1xuICAgICAgICAgICAgd2FybihjdHguZG9jLm9wdGlvbnMubG9nTGV2ZWwsIGBLZXlzIHdpdGggY29sbGVjdGlvbiB2YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZCBkdWUgdG8gSlMgT2JqZWN0IHJlc3RyaWN0aW9uczogJHtqc29uU3RyfS4gU2V0IG1hcEFzTWFwOiB0cnVlIHRvIHVzZSBvYmplY3Qga2V5cy5gKTtcbiAgICAgICAgICAgIGN0eC5tYXBLZXlXYXJuZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHJLZXk7XG4gICAgfVxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShqc0tleSk7XG59XG5cbmV4cG9ydCB7IGFkZFBhaXJUb0pTTWFwIH07XG4iLCAiaW1wb3J0IHsgY3JlYXRlTm9kZSB9IGZyb20gJy4uL2RvYy9jcmVhdGVOb2RlLmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeVBhaXIgfSBmcm9tICcuLi9zdHJpbmdpZnkvc3RyaW5naWZ5UGFpci5qcyc7XG5pbXBvcnQgeyBhZGRQYWlyVG9KU01hcCB9IGZyb20gJy4vYWRkUGFpclRvSlNNYXAuanMnO1xuaW1wb3J0IHsgTk9ERV9UWVBFLCBQQUlSLCBpc05vZGUgfSBmcm9tICcuL2lkZW50aXR5LmpzJztcblxuZnVuY3Rpb24gY3JlYXRlUGFpcihrZXksIHZhbHVlLCBjdHgpIHtcbiAgICBjb25zdCBrID0gY3JlYXRlTm9kZShrZXksIHVuZGVmaW5lZCwgY3R4KTtcbiAgICBjb25zdCB2ID0gY3JlYXRlTm9kZSh2YWx1ZSwgdW5kZWZpbmVkLCBjdHgpO1xuICAgIHJldHVybiBuZXcgUGFpcihrLCB2KTtcbn1cbmNsYXNzIFBhaXIge1xuICAgIGNvbnN0cnVjdG9yKGtleSwgdmFsdWUgPSBudWxsKSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBOT0RFX1RZUEUsIHsgdmFsdWU6IFBBSVIgfSk7XG4gICAgICAgIHRoaXMua2V5ID0ga2V5O1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIGNsb25lKHNjaGVtYSkge1xuICAgICAgICBsZXQgeyBrZXksIHZhbHVlIH0gPSB0aGlzO1xuICAgICAgICBpZiAoaXNOb2RlKGtleSkpXG4gICAgICAgICAgICBrZXkgPSBrZXkuY2xvbmUoc2NoZW1hKTtcbiAgICAgICAgaWYgKGlzTm9kZSh2YWx1ZSkpXG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLmNsb25lKHNjaGVtYSk7XG4gICAgICAgIHJldHVybiBuZXcgUGFpcihrZXksIHZhbHVlKTtcbiAgICB9XG4gICAgdG9KU09OKF8sIGN0eCkge1xuICAgICAgICBjb25zdCBwYWlyID0gY3R4Py5tYXBBc01hcCA/IG5ldyBNYXAoKSA6IHt9O1xuICAgICAgICByZXR1cm4gYWRkUGFpclRvSlNNYXAoY3R4LCBwYWlyLCB0aGlzKTtcbiAgICB9XG4gICAgdG9TdHJpbmcoY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIHJldHVybiBjdHg/LmRvY1xuICAgICAgICAgICAgPyBzdHJpbmdpZnlQYWlyKHRoaXMsIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcClcbiAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkodGhpcyk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBQYWlyLCBjcmVhdGVQYWlyIH07XG4iLCAiaW1wb3J0IHsgaXNOb2RlLCBpc1BhaXIgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuL3N0cmluZ2lmeS5qcyc7XG5pbXBvcnQgeyBsaW5lQ29tbWVudCwgaW5kZW50Q29tbWVudCB9IGZyb20gJy4vc3RyaW5naWZ5Q29tbWVudC5qcyc7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeUNvbGxlY3Rpb24oY29sbGVjdGlvbiwgY3R4LCBvcHRpb25zKSB7XG4gICAgY29uc3QgZmxvdyA9IGN0eC5pbkZsb3cgPz8gY29sbGVjdGlvbi5mbG93O1xuICAgIGNvbnN0IHN0cmluZ2lmeSA9IGZsb3cgPyBzdHJpbmdpZnlGbG93Q29sbGVjdGlvbiA6IHN0cmluZ2lmeUJsb2NrQ29sbGVjdGlvbjtcbiAgICByZXR1cm4gc3RyaW5naWZ5KGNvbGxlY3Rpb24sIGN0eCwgb3B0aW9ucyk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlCbG9ja0NvbGxlY3Rpb24oeyBjb21tZW50LCBpdGVtcyB9LCBjdHgsIHsgYmxvY2tJdGVtUHJlZml4LCBmbG93Q2hhcnMsIGl0ZW1JbmRlbnQsIG9uQ2hvbXBLZWVwLCBvbkNvbW1lbnQgfSkge1xuICAgIGNvbnN0IHsgaW5kZW50LCBvcHRpb25zOiB7IGNvbW1lbnRTdHJpbmcgfSB9ID0gY3R4O1xuICAgIGNvbnN0IGl0ZW1DdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHsgaW5kZW50OiBpdGVtSW5kZW50LCB0eXBlOiBudWxsIH0pO1xuICAgIGxldCBjaG9tcEtlZXAgPSBmYWxzZTsgLy8gZmxhZyBmb3IgdGhlIHByZWNlZGluZyBub2RlJ3Mgc3RhdHVzXG4gICAgY29uc3QgbGluZXMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXTtcbiAgICAgICAgbGV0IGNvbW1lbnQgPSBudWxsO1xuICAgICAgICBpZiAoaXNOb2RlKGl0ZW0pKSB7XG4gICAgICAgICAgICBpZiAoIWNob21wS2VlcCAmJiBpdGVtLnNwYWNlQmVmb3JlKVxuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goJycpO1xuICAgICAgICAgICAgYWRkQ29tbWVudEJlZm9yZShjdHgsIGxpbmVzLCBpdGVtLmNvbW1lbnRCZWZvcmUsIGNob21wS2VlcCk7XG4gICAgICAgICAgICBpZiAoaXRlbS5jb21tZW50KVxuICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBpdGVtLmNvbW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNQYWlyKGl0ZW0pKSB7XG4gICAgICAgICAgICBjb25zdCBpayA9IGlzTm9kZShpdGVtLmtleSkgPyBpdGVtLmtleSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoaWspIHtcbiAgICAgICAgICAgICAgICBpZiAoIWNob21wS2VlcCAmJiBpay5zcGFjZUJlZm9yZSlcbiAgICAgICAgICAgICAgICAgICAgbGluZXMucHVzaCgnJyk7XG4gICAgICAgICAgICAgICAgYWRkQ29tbWVudEJlZm9yZShjdHgsIGxpbmVzLCBpay5jb21tZW50QmVmb3JlLCBjaG9tcEtlZXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNob21wS2VlcCA9IGZhbHNlO1xuICAgICAgICBsZXQgc3RyID0gc3RyaW5naWZ5KGl0ZW0sIGl0ZW1DdHgsICgpID0+IChjb21tZW50ID0gbnVsbCksICgpID0+IChjaG9tcEtlZXAgPSB0cnVlKSk7XG4gICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgaXRlbUluZGVudCwgY29tbWVudFN0cmluZyhjb21tZW50KSk7XG4gICAgICAgIGlmIChjaG9tcEtlZXAgJiYgY29tbWVudClcbiAgICAgICAgICAgIGNob21wS2VlcCA9IGZhbHNlO1xuICAgICAgICBsaW5lcy5wdXNoKGJsb2NrSXRlbVByZWZpeCArIHN0cik7XG4gICAgfVxuICAgIGxldCBzdHI7XG4gICAgaWYgKGxpbmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBzdHIgPSBmbG93Q2hhcnMuc3RhcnQgKyBmbG93Q2hhcnMuZW5kO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgc3RyID0gbGluZXNbMF07XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbGluZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmUgPSBsaW5lc1tpXTtcbiAgICAgICAgICAgIHN0ciArPSBsaW5lID8gYFxcbiR7aW5kZW50fSR7bGluZX1gIDogJ1xcbic7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgc3RyICs9ICdcXG4nICsgaW5kZW50Q29tbWVudChjb21tZW50U3RyaW5nKGNvbW1lbnQpLCBpbmRlbnQpO1xuICAgICAgICBpZiAob25Db21tZW50KVxuICAgICAgICAgICAgb25Db21tZW50KCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNob21wS2VlcCAmJiBvbkNob21wS2VlcClcbiAgICAgICAgb25DaG9tcEtlZXAoKTtcbiAgICByZXR1cm4gc3RyO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5Rmxvd0NvbGxlY3Rpb24oeyBpdGVtcyB9LCBjdHgsIHsgZmxvd0NoYXJzLCBpdGVtSW5kZW50IH0pIHtcbiAgICBjb25zdCB7IGluZGVudCwgaW5kZW50U3RlcCwgZmxvd0NvbGxlY3Rpb25QYWRkaW5nOiBmY1BhZGRpbmcsIG9wdGlvbnM6IHsgY29tbWVudFN0cmluZyB9IH0gPSBjdHg7XG4gICAgaXRlbUluZGVudCArPSBpbmRlbnRTdGVwO1xuICAgIGNvbnN0IGl0ZW1DdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHtcbiAgICAgICAgaW5kZW50OiBpdGVtSW5kZW50LFxuICAgICAgICBpbkZsb3c6IHRydWUsXG4gICAgICAgIHR5cGU6IG51bGxcbiAgICB9KTtcbiAgICBsZXQgcmVxTmV3bGluZSA9IGZhbHNlO1xuICAgIGxldCBsaW5lc0F0VmFsdWUgPSAwO1xuICAgIGNvbnN0IGxpbmVzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG4gICAgICAgIGxldCBjb21tZW50ID0gbnVsbDtcbiAgICAgICAgaWYgKGlzTm9kZShpdGVtKSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0uc3BhY2VCZWZvcmUpXG4gICAgICAgICAgICAgICAgbGluZXMucHVzaCgnJyk7XG4gICAgICAgICAgICBhZGRDb21tZW50QmVmb3JlKGN0eCwgbGluZXMsIGl0ZW0uY29tbWVudEJlZm9yZSwgZmFsc2UpO1xuICAgICAgICAgICAgaWYgKGl0ZW0uY29tbWVudClcbiAgICAgICAgICAgICAgICBjb21tZW50ID0gaXRlbS5jb21tZW50O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzUGFpcihpdGVtKSkge1xuICAgICAgICAgICAgY29uc3QgaWsgPSBpc05vZGUoaXRlbS5rZXkpID8gaXRlbS5rZXkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGlrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlrLnNwYWNlQmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgICAgICAgICBhZGRDb21tZW50QmVmb3JlKGN0eCwgbGluZXMsIGlrLmNvbW1lbnRCZWZvcmUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICBpZiAoaWsuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpdiA9IGlzTm9kZShpdGVtLnZhbHVlKSA/IGl0ZW0udmFsdWUgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGl2KSB7XG4gICAgICAgICAgICAgICAgaWYgKGl2LmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBpdi5jb21tZW50O1xuICAgICAgICAgICAgICAgIGlmIChpdi5jb21tZW50QmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICByZXFOZXdsaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0udmFsdWUgPT0gbnVsbCAmJiBpaz8uY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBpay5jb21tZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgIGxldCBzdHIgPSBzdHJpbmdpZnkoaXRlbSwgaXRlbUN0eCwgKCkgPT4gKGNvbW1lbnQgPSBudWxsKSk7XG4gICAgICAgIGlmIChpIDwgaXRlbXMubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgIHN0ciArPSAnLCc7XG4gICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgc3RyICs9IGxpbmVDb21tZW50KHN0ciwgaXRlbUluZGVudCwgY29tbWVudFN0cmluZyhjb21tZW50KSk7XG4gICAgICAgIGlmICghcmVxTmV3bGluZSAmJiAobGluZXMubGVuZ3RoID4gbGluZXNBdFZhbHVlIHx8IHN0ci5pbmNsdWRlcygnXFxuJykpKVxuICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgIGxpbmVzLnB1c2goc3RyKTtcbiAgICAgICAgbGluZXNBdFZhbHVlID0gbGluZXMubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGZsb3dDaGFycztcbiAgICBpZiAobGluZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBzdGFydCArIGVuZDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGlmICghcmVxTmV3bGluZSkge1xuICAgICAgICAgICAgY29uc3QgbGVuID0gbGluZXMucmVkdWNlKChzdW0sIGxpbmUpID0+IHN1bSArIGxpbmUubGVuZ3RoICsgMiwgMik7XG4gICAgICAgICAgICByZXFOZXdsaW5lID0gY3R4Lm9wdGlvbnMubGluZVdpZHRoID4gMCAmJiBsZW4gPiBjdHgub3B0aW9ucy5saW5lV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcU5ld2xpbmUpIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSBzdGFydDtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcylcbiAgICAgICAgICAgICAgICBzdHIgKz0gbGluZSA/IGBcXG4ke2luZGVudFN0ZXB9JHtpbmRlbnR9JHtsaW5lfWAgOiAnXFxuJztcbiAgICAgICAgICAgIHJldHVybiBgJHtzdHJ9XFxuJHtpbmRlbnR9JHtlbmR9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtzdGFydH0ke2ZjUGFkZGluZ30ke2xpbmVzLmpvaW4oJyAnKX0ke2ZjUGFkZGluZ30ke2VuZH1gO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gYWRkQ29tbWVudEJlZm9yZSh7IGluZGVudCwgb3B0aW9uczogeyBjb21tZW50U3RyaW5nIH0gfSwgbGluZXMsIGNvbW1lbnQsIGNob21wS2VlcCkge1xuICAgIGlmIChjb21tZW50ICYmIGNob21wS2VlcClcbiAgICAgICAgY29tbWVudCA9IGNvbW1lbnQucmVwbGFjZSgvXlxcbisvLCAnJyk7XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgY29uc3QgaWMgPSBpbmRlbnRDb21tZW50KGNvbW1lbnRTdHJpbmcoY29tbWVudCksIGluZGVudCk7XG4gICAgICAgIGxpbmVzLnB1c2goaWMudHJpbVN0YXJ0KCkpOyAvLyBBdm9pZCBkb3VibGUgaW5kZW50IG9uIGZpcnN0IGxpbmVcbiAgICB9XG59XG5cbmV4cG9ydCB7IHN0cmluZ2lmeUNvbGxlY3Rpb24gfTtcbiIsICJpbXBvcnQgeyBzdHJpbmdpZnlDb2xsZWN0aW9uIH0gZnJvbSAnLi4vc3RyaW5naWZ5L3N0cmluZ2lmeUNvbGxlY3Rpb24uanMnO1xuaW1wb3J0IHsgYWRkUGFpclRvSlNNYXAgfSBmcm9tICcuL2FkZFBhaXJUb0pTTWFwLmpzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL0NvbGxlY3Rpb24uanMnO1xuaW1wb3J0IHsgaXNQYWlyLCBpc1NjYWxhciwgTUFQIH0gZnJvbSAnLi9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBQYWlyLCBjcmVhdGVQYWlyIH0gZnJvbSAnLi9QYWlyLmpzJztcbmltcG9ydCB7IGlzU2NhbGFyVmFsdWUgfSBmcm9tICcuL1NjYWxhci5qcyc7XG5cbmZ1bmN0aW9uIGZpbmRQYWlyKGl0ZW1zLCBrZXkpIHtcbiAgICBjb25zdCBrID0gaXNTY2FsYXIoa2V5KSA/IGtleS52YWx1ZSA6IGtleTtcbiAgICBmb3IgKGNvbnN0IGl0IG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmIChpc1BhaXIoaXQpKSB7XG4gICAgICAgICAgICBpZiAoaXQua2V5ID09PSBrZXkgfHwgaXQua2V5ID09PSBrKVxuICAgICAgICAgICAgICAgIHJldHVybiBpdDtcbiAgICAgICAgICAgIGlmIChpc1NjYWxhcihpdC5rZXkpICYmIGl0LmtleS52YWx1ZSA9PT0gaylcbiAgICAgICAgICAgICAgICByZXR1cm4gaXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmNsYXNzIFlBTUxNYXAgZXh0ZW5kcyBDb2xsZWN0aW9uIHtcbiAgICBzdGF0aWMgZ2V0IHRhZ05hbWUoKSB7XG4gICAgICAgIHJldHVybiAndGFnOnlhbWwub3JnLDIwMDI6bWFwJztcbiAgICB9XG4gICAgY29uc3RydWN0b3Ioc2NoZW1hKSB7XG4gICAgICAgIHN1cGVyKE1BUCwgc2NoZW1hKTtcbiAgICAgICAgdGhpcy5pdGVtcyA9IFtdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIGdlbmVyaWMgY29sbGVjdGlvbiBwYXJzaW5nIG1ldGhvZCB0aGF0IGNhbiBiZSBleHRlbmRlZFxuICAgICAqIHRvIG90aGVyIG5vZGUgY2xhc3NlcyB0aGF0IGluaGVyaXQgZnJvbSBZQU1MTWFwXG4gICAgICovXG4gICAgc3RhdGljIGZyb20oc2NoZW1hLCBvYmosIGN0eCkge1xuICAgICAgICBjb25zdCB7IGtlZXBVbmRlZmluZWQsIHJlcGxhY2VyIH0gPSBjdHg7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyB0aGlzKHNjaGVtYSk7XG4gICAgICAgIGNvbnN0IGFkZCA9IChrZXksIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgICAgIHZhbHVlID0gcmVwbGFjZXIuY2FsbChvYmosIGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyZXBsYWNlcikgJiYgIXJlcGxhY2VyLmluY2x1ZGVzKGtleSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgfHwga2VlcFVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaChjcmVhdGVQYWlyKGtleSwgdmFsdWUsIGN0eCkpO1xuICAgICAgICB9O1xuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBvYmopXG4gICAgICAgICAgICAgICAgYWRkKGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG9iaiAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqKSlcbiAgICAgICAgICAgICAgICBhZGQoa2V5LCBvYmpba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBzY2hlbWEuc29ydE1hcEVudHJpZXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1hcC5pdGVtcy5zb3J0KHNjaGVtYS5zb3J0TWFwRW50cmllcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWRkcyBhIHZhbHVlIHRvIHRoZSBjb2xsZWN0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIG92ZXJ3cml0ZSAtIElmIG5vdCBzZXQgYHRydWVgLCB1c2luZyBhIGtleSB0aGF0IGlzIGFscmVhZHkgaW4gdGhlXG4gICAgICogICBjb2xsZWN0aW9uIHdpbGwgdGhyb3cuIE90aGVyd2lzZSwgb3ZlcndyaXRlcyB0aGUgcHJldmlvdXMgdmFsdWUuXG4gICAgICovXG4gICAgYWRkKHBhaXIsIG92ZXJ3cml0ZSkge1xuICAgICAgICBsZXQgX3BhaXI7XG4gICAgICAgIGlmIChpc1BhaXIocGFpcikpXG4gICAgICAgICAgICBfcGFpciA9IHBhaXI7XG4gICAgICAgIGVsc2UgaWYgKCFwYWlyIHx8IHR5cGVvZiBwYWlyICE9PSAnb2JqZWN0JyB8fCAhKCdrZXknIGluIHBhaXIpKSB7XG4gICAgICAgICAgICAvLyBJbiBUeXBlU2NyaXB0LCB0aGlzIG5ldmVyIGhhcHBlbnMuXG4gICAgICAgICAgICBfcGFpciA9IG5ldyBQYWlyKHBhaXIsIHBhaXI/LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBfcGFpciA9IG5ldyBQYWlyKHBhaXIua2V5LCBwYWlyLnZhbHVlKTtcbiAgICAgICAgY29uc3QgcHJldiA9IGZpbmRQYWlyKHRoaXMuaXRlbXMsIF9wYWlyLmtleSk7XG4gICAgICAgIGNvbnN0IHNvcnRFbnRyaWVzID0gdGhpcy5zY2hlbWE/LnNvcnRNYXBFbnRyaWVzO1xuICAgICAgICBpZiAocHJldikge1xuICAgICAgICAgICAgaWYgKCFvdmVyd3JpdGUpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBLZXkgJHtfcGFpci5rZXl9IGFscmVhZHkgc2V0YCk7XG4gICAgICAgICAgICAvLyBGb3Igc2NhbGFycywga2VlcCB0aGUgb2xkIG5vZGUgJiBpdHMgY29tbWVudHMgYW5kIGFuY2hvcnNcbiAgICAgICAgICAgIGlmIChpc1NjYWxhcihwcmV2LnZhbHVlKSAmJiBpc1NjYWxhclZhbHVlKF9wYWlyLnZhbHVlKSlcbiAgICAgICAgICAgICAgICBwcmV2LnZhbHVlLnZhbHVlID0gX3BhaXIudmFsdWU7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcHJldi52YWx1ZSA9IF9wYWlyLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHNvcnRFbnRyaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBzb3J0RW50cmllcyhfcGFpciwgaXRlbSkgPCAwKTtcbiAgICAgICAgICAgIGlmIChpID09PSAtMSlcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goX3BhaXIpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGksIDAsIF9wYWlyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaChfcGFpcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGVsZXRlKGtleSkge1xuICAgICAgICBjb25zdCBpdCA9IGZpbmRQYWlyKHRoaXMuaXRlbXMsIGtleSk7XG4gICAgICAgIGlmICghaXQpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGNvbnN0IGRlbCA9IHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihpdCksIDEpO1xuICAgICAgICByZXR1cm4gZGVsLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIGdldChrZXksIGtlZXBTY2FsYXIpIHtcbiAgICAgICAgY29uc3QgaXQgPSBmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgICAgICBjb25zdCBub2RlID0gaXQ/LnZhbHVlO1xuICAgICAgICByZXR1cm4gKCFrZWVwU2NhbGFyICYmIGlzU2NhbGFyKG5vZGUpID8gbm9kZS52YWx1ZSA6IG5vZGUpID8/IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaGFzKGtleSkge1xuICAgICAgICByZXR1cm4gISFmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgIH1cbiAgICBzZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICB0aGlzLmFkZChuZXcgUGFpcihrZXksIHZhbHVlKSwgdHJ1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBjdHggLSBDb252ZXJzaW9uIGNvbnRleHQsIG9yaWdpbmFsbHkgc2V0IGluIERvY3VtZW50I3RvSlMoKVxuICAgICAqIEBwYXJhbSB7Q2xhc3N9IFR5cGUgLSBJZiBzZXQsIGZvcmNlcyB0aGUgcmV0dXJuZWQgY29sbGVjdGlvbiB0eXBlXG4gICAgICogQHJldHVybnMgSW5zdGFuY2Ugb2YgVHlwZSwgTWFwLCBvciBPYmplY3RcbiAgICAgKi9cbiAgICB0b0pTT04oXywgY3R4LCBUeXBlKSB7XG4gICAgICAgIGNvbnN0IG1hcCA9IFR5cGUgPyBuZXcgVHlwZSgpIDogY3R4Py5tYXBBc01hcCA/IG5ldyBNYXAoKSA6IHt9O1xuICAgICAgICBpZiAoY3R4Py5vbkNyZWF0ZSlcbiAgICAgICAgICAgIGN0eC5vbkNyZWF0ZShtYXApO1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcylcbiAgICAgICAgICAgIGFkZFBhaXJUb0pTTWFwKGN0eCwgbWFwLCBpdGVtKTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG4gICAgdG9TdHJpbmcoY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIGlmICghY3R4KVxuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMpO1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgaWYgKCFpc1BhaXIoaXRlbSkpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXAgaXRlbXMgbXVzdCBhbGwgYmUgcGFpcnM7IGZvdW5kICR7SlNPTi5zdHJpbmdpZnkoaXRlbSl9IGluc3RlYWRgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWN0eC5hbGxOdWxsVmFsdWVzICYmIHRoaXMuaGFzQWxsTnVsbFZhbHVlcyhmYWxzZSkpXG4gICAgICAgICAgICBjdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHsgYWxsTnVsbFZhbHVlczogdHJ1ZSB9KTtcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeUNvbGxlY3Rpb24odGhpcywgY3R4LCB7XG4gICAgICAgICAgICBibG9ja0l0ZW1QcmVmaXg6ICcnLFxuICAgICAgICAgICAgZmxvd0NoYXJzOiB7IHN0YXJ0OiAneycsIGVuZDogJ30nIH0sXG4gICAgICAgICAgICBpdGVtSW5kZW50OiBjdHguaW5kZW50IHx8ICcnLFxuICAgICAgICAgICAgb25DaG9tcEtlZXAsXG4gICAgICAgICAgICBvbkNvbW1lbnRcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBZQU1MTWFwLCBmaW5kUGFpciB9O1xuIiwgImltcG9ydCB7IGlzTWFwIH0gZnJvbSAnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgWUFNTE1hcCB9IGZyb20gJy4uLy4uL25vZGVzL1lBTUxNYXAuanMnO1xuXG5jb25zdCBtYXAgPSB7XG4gICAgY29sbGVjdGlvbjogJ21hcCcsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICBub2RlQ2xhc3M6IFlBTUxNYXAsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6bWFwJyxcbiAgICByZXNvbHZlKG1hcCwgb25FcnJvcikge1xuICAgICAgICBpZiAoIWlzTWFwKG1hcCkpXG4gICAgICAgICAgICBvbkVycm9yKCdFeHBlY3RlZCBhIG1hcHBpbmcgZm9yIHRoaXMgdGFnJyk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfSxcbiAgICBjcmVhdGVOb2RlOiAoc2NoZW1hLCBvYmosIGN0eCkgPT4gWUFNTE1hcC5mcm9tKHNjaGVtYSwgb2JqLCBjdHgpXG59O1xuXG5leHBvcnQgeyBtYXAgfTtcbiIsICJpbXBvcnQgeyBjcmVhdGVOb2RlIH0gZnJvbSAnLi4vZG9jL2NyZWF0ZU5vZGUuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5Q29sbGVjdGlvbiB9IGZyb20gJy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlDb2xsZWN0aW9uLmpzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL0NvbGxlY3Rpb24uanMnO1xuaW1wb3J0IHsgU0VRLCBpc1NjYWxhciB9IGZyb20gJy4vaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgaXNTY2FsYXJWYWx1ZSB9IGZyb20gJy4vU2NhbGFyLmpzJztcbmltcG9ydCB7IHRvSlMgfSBmcm9tICcuL3RvSlMuanMnO1xuXG5jbGFzcyBZQU1MU2VxIGV4dGVuZHMgQ29sbGVjdGlvbiB7XG4gICAgc3RhdGljIGdldCB0YWdOYW1lKCkge1xuICAgICAgICByZXR1cm4gJ3RhZzp5YW1sLm9yZywyMDAyOnNlcSc7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHNjaGVtYSkge1xuICAgICAgICBzdXBlcihTRVEsIHNjaGVtYSk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICB9XG4gICAgYWRkKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuaXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSB2YWx1ZSBmcm9tIHRoZSBjb2xsZWN0aW9uLlxuICAgICAqXG4gICAgICogYGtleWAgbXVzdCBjb250YWluIGEgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlciBmb3IgdGhpcyB0byBzdWNjZWVkLlxuICAgICAqIEl0IG1heSBiZSB3cmFwcGVkIGluIGEgYFNjYWxhcmAuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGl0ZW0gd2FzIGZvdW5kIGFuZCByZW1vdmVkLlxuICAgICAqL1xuICAgIGRlbGV0ZShrZXkpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBkZWwgPSB0aGlzLml0ZW1zLnNwbGljZShpZHgsIDEpO1xuICAgICAgICByZXR1cm4gZGVsLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIGdldChrZXksIGtlZXBTY2FsYXIpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaXQgPSB0aGlzLml0ZW1zW2lkeF07XG4gICAgICAgIHJldHVybiAha2VlcFNjYWxhciAmJiBpc1NjYWxhcihpdCkgPyBpdC52YWx1ZSA6IGl0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGNvbGxlY3Rpb24gaW5jbHVkZXMgYSB2YWx1ZSB3aXRoIHRoZSBrZXkgYGtleWAuXG4gICAgICpcbiAgICAgKiBga2V5YCBtdXN0IGNvbnRhaW4gYSByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyIGZvciB0aGlzIHRvIHN1Y2NlZWQuXG4gICAgICogSXQgbWF5IGJlIHdyYXBwZWQgaW4gYSBgU2NhbGFyYC5cbiAgICAgKi9cbiAgICBoYXMoa2V5KSB7XG4gICAgICAgIGNvbnN0IGlkeCA9IGFzSXRlbUluZGV4KGtleSk7XG4gICAgICAgIHJldHVybiB0eXBlb2YgaWR4ID09PSAnbnVtYmVyJyAmJiBpZHggPCB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyBhIHZhbHVlIGluIHRoaXMgY29sbGVjdGlvbi4gRm9yIGAhIXNldGAsIGB2YWx1ZWAgbmVlZHMgdG8gYmUgYVxuICAgICAqIGJvb2xlYW4gdG8gYWRkL3JlbW92ZSB0aGUgaXRlbSBmcm9tIHRoZSBzZXQuXG4gICAgICpcbiAgICAgKiBJZiBga2V5YCBkb2VzIG5vdCBjb250YWluIGEgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlciwgdGhpcyB3aWxsIHRocm93LlxuICAgICAqIEl0IG1heSBiZSB3cmFwcGVkIGluIGEgYFNjYWxhcmAuXG4gICAgICovXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIHZhbGlkIGluZGV4LCBub3QgJHtrZXl9LmApO1xuICAgICAgICBjb25zdCBwcmV2ID0gdGhpcy5pdGVtc1tpZHhdO1xuICAgICAgICBpZiAoaXNTY2FsYXIocHJldikgJiYgaXNTY2FsYXJWYWx1ZSh2YWx1ZSkpXG4gICAgICAgICAgICBwcmV2LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuaXRlbXNbaWR4XSA9IHZhbHVlO1xuICAgIH1cbiAgICB0b0pTT04oXywgY3R4KSB7XG4gICAgICAgIGNvbnN0IHNlcSA9IFtdO1xuICAgICAgICBpZiAoY3R4Py5vbkNyZWF0ZSlcbiAgICAgICAgICAgIGN0eC5vbkNyZWF0ZShzZXEpO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKVxuICAgICAgICAgICAgc2VxLnB1c2godG9KUyhpdGVtLCBTdHJpbmcoaSsrKSwgY3R4KSk7XG4gICAgICAgIHJldHVybiBzZXE7XG4gICAgfVxuICAgIHRvU3RyaW5nKGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeUNvbGxlY3Rpb24odGhpcywgY3R4LCB7XG4gICAgICAgICAgICBibG9ja0l0ZW1QcmVmaXg6ICctICcsXG4gICAgICAgICAgICBmbG93Q2hhcnM6IHsgc3RhcnQ6ICdbJywgZW5kOiAnXScgfSxcbiAgICAgICAgICAgIGl0ZW1JbmRlbnQ6IChjdHguaW5kZW50IHx8ICcnKSArICcgICcsXG4gICAgICAgICAgICBvbkNob21wS2VlcCxcbiAgICAgICAgICAgIG9uQ29tbWVudFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3RhdGljIGZyb20oc2NoZW1hLCBvYmosIGN0eCkge1xuICAgICAgICBjb25zdCB7IHJlcGxhY2VyIH0gPSBjdHg7XG4gICAgICAgIGNvbnN0IHNlcSA9IG5ldyB0aGlzKHNjaGVtYSk7XG4gICAgICAgIGlmIChvYmogJiYgU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChvYmopKSB7XG4gICAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgICBmb3IgKGxldCBpdCBvZiBvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IG9iaiBpbnN0YW5jZW9mIFNldCA/IGl0IDogU3RyaW5nKGkrKyk7XG4gICAgICAgICAgICAgICAgICAgIGl0ID0gcmVwbGFjZXIuY2FsbChvYmosIGtleSwgaXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXEuaXRlbXMucHVzaChjcmVhdGVOb2RlKGl0LCB1bmRlZmluZWQsIGN0eCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZXE7XG4gICAgfVxufVxuZnVuY3Rpb24gYXNJdGVtSW5kZXgoa2V5KSB7XG4gICAgbGV0IGlkeCA9IGlzU2NhbGFyKGtleSkgPyBrZXkudmFsdWUgOiBrZXk7XG4gICAgaWYgKGlkeCAmJiB0eXBlb2YgaWR4ID09PSAnc3RyaW5nJylcbiAgICAgICAgaWR4ID0gTnVtYmVyKGlkeCk7XG4gICAgcmV0dXJuIHR5cGVvZiBpZHggPT09ICdudW1iZXInICYmIE51bWJlci5pc0ludGVnZXIoaWR4KSAmJiBpZHggPj0gMFxuICAgICAgICA/IGlkeFxuICAgICAgICA6IG51bGw7XG59XG5cbmV4cG9ydCB7IFlBTUxTZXEgfTtcbiIsICJpbXBvcnQgeyBpc1NlcSB9IGZyb20gJy4uLy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IFlBTUxTZXEgfSBmcm9tICcuLi8uLi9ub2Rlcy9ZQU1MU2VxLmpzJztcblxuY29uc3Qgc2VxID0ge1xuICAgIGNvbGxlY3Rpb246ICdzZXEnLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgbm9kZUNsYXNzOiBZQU1MU2VxLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOnNlcScsXG4gICAgcmVzb2x2ZShzZXEsIG9uRXJyb3IpIHtcbiAgICAgICAgaWYgKCFpc1NlcShzZXEpKVxuICAgICAgICAgICAgb25FcnJvcignRXhwZWN0ZWQgYSBzZXF1ZW5jZSBmb3IgdGhpcyB0YWcnKTtcbiAgICAgICAgcmV0dXJuIHNlcTtcbiAgICB9LFxuICAgIGNyZWF0ZU5vZGU6IChzY2hlbWEsIG9iaiwgY3R4KSA9PiBZQU1MU2VxLmZyb20oc2NoZW1hLCBvYmosIGN0eClcbn07XG5cbmV4cG9ydCB7IHNlcSB9O1xuIiwgImltcG9ydCB7IHN0cmluZ2lmeVN0cmluZyB9IGZyb20gJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlTdHJpbmcuanMnO1xuXG5jb25zdCBzdHJpbmcgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpzdHInLFxuICAgIHJlc29sdmU6IHN0ciA9PiBzdHIsXG4gICAgc3RyaW5naWZ5KGl0ZW0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgICAgICBjdHggPSBPYmplY3QuYXNzaWduKHsgYWN0dWFsU3RyaW5nOiB0cnVlIH0sIGN0eCk7XG4gICAgICAgIHJldHVybiBzdHJpbmdpZnlTdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICB9XG59O1xuXG5leHBvcnQgeyBzdHJpbmcgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuXG5jb25zdCBudWxsVGFnID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB2YWx1ZSA9PSBudWxsLFxuICAgIGNyZWF0ZU5vZGU6ICgpID0+IG5ldyBTY2FsYXIobnVsbCksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpudWxsJyxcbiAgICB0ZXN0OiAvXig/On58W05uXXVsbHxOVUxMKT8kLyxcbiAgICByZXNvbHZlOiAoKSA9PiBuZXcgU2NhbGFyKG51bGwpLFxuICAgIHN0cmluZ2lmeTogKHsgc291cmNlIH0sIGN0eCkgPT4gdHlwZW9mIHNvdXJjZSA9PT0gJ3N0cmluZycgJiYgbnVsbFRhZy50ZXN0LnRlc3Qoc291cmNlKVxuICAgICAgICA/IHNvdXJjZVxuICAgICAgICA6IGN0eC5vcHRpb25zLm51bGxTdHJcbn07XG5cbmV4cG9ydCB7IG51bGxUYWcgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuXG5jb25zdCBib29sVGFnID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmJvb2wnLFxuICAgIHRlc3Q6IC9eKD86W1R0XXJ1ZXxUUlVFfFtGZl1hbHNlfEZBTFNFKSQvLFxuICAgIHJlc29sdmU6IHN0ciA9PiBuZXcgU2NhbGFyKHN0clswXSA9PT0gJ3QnIHx8IHN0clswXSA9PT0gJ1QnKSxcbiAgICBzdHJpbmdpZnkoeyBzb3VyY2UsIHZhbHVlIH0sIGN0eCkge1xuICAgICAgICBpZiAoc291cmNlICYmIGJvb2xUYWcudGVzdC50ZXN0KHNvdXJjZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHN2ID0gc291cmNlWzBdID09PSAndCcgfHwgc291cmNlWzBdID09PSAnVCc7XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHN2KVxuICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlID8gY3R4Lm9wdGlvbnMudHJ1ZVN0ciA6IGN0eC5vcHRpb25zLmZhbHNlU3RyO1xuICAgIH1cbn07XG5cbmV4cG9ydCB7IGJvb2xUYWcgfTtcbiIsICJmdW5jdGlvbiBzdHJpbmdpZnlOdW1iZXIoeyBmb3JtYXQsIG1pbkZyYWN0aW9uRGlnaXRzLCB0YWcsIHZhbHVlIH0pIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYmlnaW50JylcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgY29uc3QgbnVtID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogTnVtYmVyKHZhbHVlKTtcbiAgICBpZiAoIWlzRmluaXRlKG51bSkpXG4gICAgICAgIHJldHVybiBpc05hTihudW0pID8gJy5uYW4nIDogbnVtIDwgMCA/ICctLmluZicgOiAnLmluZic7XG4gICAgbGV0IG4gPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgaWYgKCFmb3JtYXQgJiZcbiAgICAgICAgbWluRnJhY3Rpb25EaWdpdHMgJiZcbiAgICAgICAgKCF0YWcgfHwgdGFnID09PSAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnKSAmJlxuICAgICAgICAvXlxcZC8udGVzdChuKSkge1xuICAgICAgICBsZXQgaSA9IG4uaW5kZXhPZignLicpO1xuICAgICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgICAgIGkgPSBuLmxlbmd0aDtcbiAgICAgICAgICAgIG4gKz0gJy4nO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkID0gbWluRnJhY3Rpb25EaWdpdHMgLSAobi5sZW5ndGggLSBpIC0gMSk7XG4gICAgICAgIHdoaWxlIChkLS0gPiAwKVxuICAgICAgICAgICAgbiArPSAnMCc7XG4gICAgfVxuICAgIHJldHVybiBuO1xufVxuXG5leHBvcnQgeyBzdHJpbmdpZnlOdW1iZXIgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5TnVtYmVyIH0gZnJvbSAnLi4vLi4vc3RyaW5naWZ5L3N0cmluZ2lmeU51bWJlci5qcyc7XG5cbmNvbnN0IGZsb2F0TmFOID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgIHRlc3Q6IC9eKD86Wy0rXT9cXC4oPzppbmZ8SW5mfElORil8XFwubmFufFxcLk5hTnxcXC5OQU4pJC8sXG4gICAgcmVzb2x2ZTogc3RyID0+IHN0ci5zbGljZSgtMykudG9Mb3dlckNhc2UoKSA9PT0gJ25hbidcbiAgICAgICAgPyBOYU5cbiAgICAgICAgOiBzdHJbMF0gPT09ICctJ1xuICAgICAgICAgICAgPyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFlcbiAgICAgICAgICAgIDogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFxuICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5TnVtYmVyXG59O1xuY29uc3QgZmxvYXRFeHAgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCcsXG4gICAgZm9ybWF0OiAnRVhQJyxcbiAgICB0ZXN0OiAvXlstK10/KD86XFwuWzAtOV0rfFswLTldKyg/OlxcLlswLTldKik/KVtlRV1bLStdP1swLTldKyQvLFxuICAgIHJlc29sdmU6IHN0ciA9PiBwYXJzZUZsb2F0KHN0ciksXG4gICAgc3RyaW5naWZ5KG5vZGUpIHtcbiAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKG5vZGUudmFsdWUpO1xuICAgICAgICByZXR1cm4gaXNGaW5pdGUobnVtKSA/IG51bS50b0V4cG9uZW50aWFsKCkgOiBzdHJpbmdpZnlOdW1iZXIobm9kZSk7XG4gICAgfVxufTtcbmNvbnN0IGZsb2F0ID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgIHRlc3Q6IC9eWy0rXT8oPzpcXC5bMC05XSt8WzAtOV0rXFwuWzAtOV0qKSQvLFxuICAgIHJlc29sdmUoc3RyKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBuZXcgU2NhbGFyKHBhcnNlRmxvYXQoc3RyKSk7XG4gICAgICAgIGNvbnN0IGRvdCA9IHN0ci5pbmRleE9mKCcuJyk7XG4gICAgICAgIGlmIChkb3QgIT09IC0xICYmIHN0cltzdHIubGVuZ3RoIC0gMV0gPT09ICcwJylcbiAgICAgICAgICAgIG5vZGUubWluRnJhY3Rpb25EaWdpdHMgPSBzdHIubGVuZ3RoIC0gZG90IC0gMTtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSxcbiAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeU51bWJlclxufTtcblxuZXhwb3J0IHsgZmxvYXQsIGZsb2F0RXhwLCBmbG9hdE5hTiB9O1xuIiwgImltcG9ydCB7IHN0cmluZ2lmeU51bWJlciB9IGZyb20gJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlOdW1iZXIuanMnO1xuXG5jb25zdCBpbnRJZGVudGlmeSA9ICh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyB8fCBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKTtcbmNvbnN0IGludFJlc29sdmUgPSAoc3RyLCBvZmZzZXQsIHJhZGl4LCB7IGludEFzQmlnSW50IH0pID0+IChpbnRBc0JpZ0ludCA/IEJpZ0ludChzdHIpIDogcGFyc2VJbnQoc3RyLnN1YnN0cmluZyhvZmZzZXQpLCByYWRpeCkpO1xuZnVuY3Rpb24gaW50U3RyaW5naWZ5KG5vZGUsIHJhZGl4LCBwcmVmaXgpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBub2RlO1xuICAgIGlmIChpbnRJZGVudGlmeSh2YWx1ZSkgJiYgdmFsdWUgPj0gMClcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIHZhbHVlLnRvU3RyaW5nKHJhZGl4KTtcbiAgICByZXR1cm4gc3RyaW5naWZ5TnVtYmVyKG5vZGUpO1xufVxuY29uc3QgaW50T2N0ID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiBpbnRJZGVudGlmeSh2YWx1ZSkgJiYgdmFsdWUgPj0gMCxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgZm9ybWF0OiAnT0NUJyxcbiAgICB0ZXN0OiAvXjBvWzAtN10rJC8sXG4gICAgcmVzb2x2ZTogKHN0ciwgX29uRXJyb3IsIG9wdCkgPT4gaW50UmVzb2x2ZShzdHIsIDIsIDgsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCA4LCAnMG8nKVxufTtcbmNvbnN0IGludCA9IHtcbiAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIHRlc3Q6IC9eWy0rXT9bMC05XSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMCwgMTAsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlOdW1iZXJcbn07XG5jb25zdCBpbnRIZXggPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IGludElkZW50aWZ5KHZhbHVlKSAmJiB2YWx1ZSA+PSAwLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdIRVgnLFxuICAgIHRlc3Q6IC9eMHhbMC05YS1mQS1GXSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMiwgMTYsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCAxNiwgJzB4Jylcbn07XG5cbmV4cG9ydCB7IGludCwgaW50SGV4LCBpbnRPY3QgfTtcbiIsICJpbXBvcnQgeyBtYXAgfSBmcm9tICcuLi9jb21tb24vbWFwLmpzJztcbmltcG9ydCB7IG51bGxUYWcgfSBmcm9tICcuLi9jb21tb24vbnVsbC5qcyc7XG5pbXBvcnQgeyBzZXEgfSBmcm9tICcuLi9jb21tb24vc2VxLmpzJztcbmltcG9ydCB7IHN0cmluZyB9IGZyb20gJy4uL2NvbW1vbi9zdHJpbmcuanMnO1xuaW1wb3J0IHsgYm9vbFRhZyB9IGZyb20gJy4vYm9vbC5qcyc7XG5pbXBvcnQgeyBmbG9hdE5hTiwgZmxvYXRFeHAsIGZsb2F0IH0gZnJvbSAnLi9mbG9hdC5qcyc7XG5pbXBvcnQgeyBpbnRPY3QsIGludCwgaW50SGV4IH0gZnJvbSAnLi9pbnQuanMnO1xuXG5jb25zdCBzY2hlbWEgPSBbXG4gICAgbWFwLFxuICAgIHNlcSxcbiAgICBzdHJpbmcsXG4gICAgbnVsbFRhZyxcbiAgICBib29sVGFnLFxuICAgIGludE9jdCxcbiAgICBpbnQsXG4gICAgaW50SGV4LFxuICAgIGZsb2F0TmFOLFxuICAgIGZsb2F0RXhwLFxuICAgIGZsb2F0XG5dO1xuXG5leHBvcnQgeyBzY2hlbWEgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi4vY29tbW9uL21hcC5qcyc7XG5pbXBvcnQgeyBzZXEgfSBmcm9tICcuLi9jb21tb24vc2VxLmpzJztcblxuZnVuY3Rpb24gaW50SWRlbnRpZnkodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyB8fCBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKTtcbn1cbmNvbnN0IHN0cmluZ2lmeUpTT04gPSAoeyB2YWx1ZSB9KSA9PiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG5jb25zdCBqc29uU2NhbGFycyA9IFtcbiAgICB7XG4gICAgICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpzdHInLFxuICAgICAgICByZXNvbHZlOiBzdHIgPT4gc3RyLFxuICAgICAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeUpTT05cbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlID09IG51bGwsXG4gICAgICAgIGNyZWF0ZU5vZGU6ICgpID0+IG5ldyBTY2FsYXIobnVsbCksXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOm51bGwnLFxuICAgICAgICB0ZXN0OiAvXm51bGwkLyxcbiAgICAgICAgcmVzb2x2ZTogKCkgPT4gbnVsbCxcbiAgICAgICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlKU09OXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6Ym9vbCcsXG4gICAgICAgIHRlc3Q6IC9edHJ1ZXxmYWxzZSQvLFxuICAgICAgICByZXNvbHZlOiBzdHIgPT4gc3RyID09PSAndHJ1ZScsXG4gICAgICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5SlNPTlxuICAgIH0sXG4gICAge1xuICAgICAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgICAgIHRlc3Q6IC9eLT8oPzowfFsxLTldWzAtOV0qKSQvLFxuICAgICAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgeyBpbnRBc0JpZ0ludCB9KSA9PiBpbnRBc0JpZ0ludCA/IEJpZ0ludChzdHIpIDogcGFyc2VJbnQoc3RyLCAxMCksXG4gICAgICAgIHN0cmluZ2lmeTogKHsgdmFsdWUgfSkgPT4gaW50SWRlbnRpZnkodmFsdWUpID8gdmFsdWUudG9TdHJpbmcoKSA6IEpTT04uc3RyaW5naWZ5KHZhbHVlKVxuICAgIH0sXG4gICAge1xuICAgICAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgICAgICB0ZXN0OiAvXi0/KD86MHxbMS05XVswLTldKikoPzpcXC5bMC05XSopPyg/OltlRV1bLStdP1swLTldKyk/JC8sXG4gICAgICAgIHJlc29sdmU6IHN0ciA9PiBwYXJzZUZsb2F0KHN0ciksXG4gICAgICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5SlNPTlxuICAgIH1cbl07XG5jb25zdCBqc29uRXJyb3IgPSB7XG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICcnLFxuICAgIHRlc3Q6IC9eLyxcbiAgICByZXNvbHZlKHN0ciwgb25FcnJvcikge1xuICAgICAgICBvbkVycm9yKGBVbnJlc29sdmVkIHBsYWluIHNjYWxhciAke0pTT04uc3RyaW5naWZ5KHN0cil9YCk7XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxufTtcbmNvbnN0IHNjaGVtYSA9IFttYXAsIHNlcV0uY29uY2F0KGpzb25TY2FsYXJzLCBqc29uRXJyb3IpO1xuXG5leHBvcnQgeyBzY2hlbWEgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5U3RyaW5nIH0gZnJvbSAnLi4vLi4vc3RyaW5naWZ5L3N0cmluZ2lmeVN0cmluZy5qcyc7XG5cbmNvbnN0IGJpbmFyeSA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgaW5zdGFuY2VvZiBVaW50OEFycmF5LCAvLyBCdWZmZXIgaW5oZXJpdHMgZnJvbSBVaW50OEFycmF5XG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5JyxcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgQnVmZmVyIGluIG5vZGUgYW5kIGFuIFVpbnQ4QXJyYXkgaW4gYnJvd3NlcnNcbiAgICAgKlxuICAgICAqIFRvIHVzZSB0aGUgcmVzdWx0aW5nIGJ1ZmZlciBhcyBhbiBpbWFnZSwgeW91J2xsIHdhbnQgdG8gZG8gc29tZXRoaW5nIGxpa2U6XG4gICAgICpcbiAgICAgKiAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnaW1hZ2UvanBlZycgfSlcbiAgICAgKiAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwaG90bycpLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYilcbiAgICAgKi9cbiAgICByZXNvbHZlKHNyYywgb25FcnJvcikge1xuICAgICAgICBpZiAodHlwZW9mIEJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHNyYywgJ2Jhc2U2NCcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBhdG9iID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBPbiBJRSAxMSwgYXRvYigpIGNhbid0IGhhbmRsZSBuZXdsaW5lc1xuICAgICAgICAgICAgY29uc3Qgc3RyID0gYXRvYihzcmMucmVwbGFjZSgvW1xcblxccl0vZywgJycpKTtcbiAgICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KHN0ci5sZW5ndGgpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAgYnVmZmVyW2ldID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgICAgICByZXR1cm4gYnVmZmVyO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgb25FcnJvcignVGhpcyBlbnZpcm9ubWVudCBkb2VzIG5vdCBzdXBwb3J0IHJlYWRpbmcgYmluYXJ5IHRhZ3M7IGVpdGhlciBCdWZmZXIgb3IgYXRvYiBpcyByZXF1aXJlZCcpO1xuICAgICAgICAgICAgcmV0dXJuIHNyYztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3RyaW5naWZ5KHsgY29tbWVudCwgdHlwZSwgdmFsdWUgfSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIGNvbnN0IGJ1ZiA9IHZhbHVlOyAvLyBjaGVja2VkIGVhcmxpZXIgYnkgYmluYXJ5LmlkZW50aWZ5KClcbiAgICAgICAgbGV0IHN0cjtcbiAgICAgICAgaWYgKHR5cGVvZiBCdWZmZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHN0ciA9XG4gICAgICAgICAgICAgICAgYnVmIGluc3RhbmNlb2YgQnVmZmVyXG4gICAgICAgICAgICAgICAgICAgID8gYnVmLnRvU3RyaW5nKCdiYXNlNjQnKVxuICAgICAgICAgICAgICAgICAgICA6IEJ1ZmZlci5mcm9tKGJ1Zi5idWZmZXIpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgYnRvYSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbGV0IHMgPSAnJztcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgKytpKVxuICAgICAgICAgICAgICAgIHMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pO1xuICAgICAgICAgICAgc3RyID0gYnRvYShzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBlbnZpcm9ubWVudCBkb2VzIG5vdCBzdXBwb3J0IHdyaXRpbmcgYmluYXJ5IHRhZ3M7IGVpdGhlciBCdWZmZXIgb3IgYnRvYSBpcyByZXF1aXJlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdHlwZSlcbiAgICAgICAgICAgIHR5cGUgPSBTY2FsYXIuQkxPQ0tfTElURVJBTDtcbiAgICAgICAgaWYgKHR5cGUgIT09IFNjYWxhci5RVU9URV9ET1VCTEUpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVXaWR0aCA9IE1hdGgubWF4KGN0eC5vcHRpb25zLmxpbmVXaWR0aCAtIGN0eC5pbmRlbnQubGVuZ3RoLCBjdHgub3B0aW9ucy5taW5Db250ZW50V2lkdGgpO1xuICAgICAgICAgICAgY29uc3QgbiA9IE1hdGguY2VpbChzdHIubGVuZ3RoIC8gbGluZVdpZHRoKTtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVzID0gbmV3IEFycmF5KG4pO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIG8gPSAwOyBpIDwgbjsgKytpLCBvICs9IGxpbmVXaWR0aCkge1xuICAgICAgICAgICAgICAgIGxpbmVzW2ldID0gc3RyLnN1YnN0cihvLCBsaW5lV2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RyID0gbGluZXMuam9pbih0eXBlID09PSBTY2FsYXIuQkxPQ0tfTElURVJBTCA/ICdcXG4nIDogJyAnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyaW5naWZ5U3RyaW5nKHsgY29tbWVudCwgdHlwZSwgdmFsdWU6IHN0ciB9LCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgIH1cbn07XG5cbmV4cG9ydCB7IGJpbmFyeSB9O1xuIiwgImltcG9ydCB7IGlzU2VxLCBpc1BhaXIsIGlzTWFwIH0gZnJvbSAnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgUGFpciwgY3JlYXRlUGFpciB9IGZyb20gJy4uLy4uL25vZGVzL1BhaXIuanMnO1xuaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vLi4vbm9kZXMvU2NhbGFyLmpzJztcbmltcG9ydCB7IFlBTUxTZXEgfSBmcm9tICcuLi8uLi9ub2Rlcy9ZQU1MU2VxLmpzJztcblxuZnVuY3Rpb24gcmVzb2x2ZVBhaXJzKHNlcSwgb25FcnJvcikge1xuICAgIGlmIChpc1NlcShzZXEpKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VxLml0ZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICBsZXQgaXRlbSA9IHNlcS5pdGVtc1tpXTtcbiAgICAgICAgICAgIGlmIChpc1BhaXIoaXRlbSkpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBlbHNlIGlmIChpc01hcChpdGVtKSkge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLml0ZW1zLmxlbmd0aCA+IDEpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoJ0VhY2ggcGFpciBtdXN0IGhhdmUgaXRzIG93biBzZXF1ZW5jZSBpbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYWlyID0gaXRlbS5pdGVtc1swXSB8fCBuZXcgUGFpcihuZXcgU2NhbGFyKG51bGwpKTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jb21tZW50QmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICBwYWlyLmtleS5jb21tZW50QmVmb3JlID0gcGFpci5rZXkuY29tbWVudEJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBgJHtpdGVtLmNvbW1lbnRCZWZvcmV9XFxuJHtwYWlyLmtleS5jb21tZW50QmVmb3JlfWBcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXRlbS5jb21tZW50QmVmb3JlO1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvbW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY24gPSBwYWlyLnZhbHVlID8/IHBhaXIua2V5O1xuICAgICAgICAgICAgICAgICAgICBjbi5jb21tZW50ID0gY24uY29tbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBgJHtpdGVtLmNvbW1lbnR9XFxuJHtjbi5jb21tZW50fWBcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXRlbS5jb21tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpdGVtID0gcGFpcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlcS5pdGVtc1tpXSA9IGlzUGFpcihpdGVtKSA/IGl0ZW0gOiBuZXcgUGFpcihpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlXG4gICAgICAgIG9uRXJyb3IoJ0V4cGVjdGVkIGEgc2VxdWVuY2UgZm9yIHRoaXMgdGFnJyk7XG4gICAgcmV0dXJuIHNlcTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVBhaXJzKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkge1xuICAgIGNvbnN0IHsgcmVwbGFjZXIgfSA9IGN0eDtcbiAgICBjb25zdCBwYWlycyA9IG5ldyBZQU1MU2VxKHNjaGVtYSk7XG4gICAgcGFpcnMudGFnID0gJ3RhZzp5YW1sLm9yZywyMDAyOnBhaXJzJztcbiAgICBsZXQgaSA9IDA7XG4gICAgaWYgKGl0ZXJhYmxlICYmIFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcmFibGUpKVxuICAgICAgICBmb3IgKGxldCBpdCBvZiBpdGVyYWJsZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXBsYWNlciA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgICAgICBpdCA9IHJlcGxhY2VyLmNhbGwoaXRlcmFibGUsIFN0cmluZyhpKyspLCBpdCk7XG4gICAgICAgICAgICBsZXQga2V5LCB2YWx1ZTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0KSkge1xuICAgICAgICAgICAgICAgIGlmIChpdC5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAga2V5ID0gaXRbMF07XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gaXRbMV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgW2tleSwgdmFsdWVdIHR1cGxlOiAke2l0fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXQgJiYgaXQgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoaXQpO1xuICAgICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBrZXkgPSBrZXlzWzBdO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGl0W2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCB0dXBsZSB3aXRoIG9uZSBrZXksIG5vdCAke2tleXMubGVuZ3RofSBrZXlzYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAga2V5ID0gaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWlycy5pdGVtcy5wdXNoKGNyZWF0ZVBhaXIoa2V5LCB2YWx1ZSwgY3R4KSk7XG4gICAgICAgIH1cbiAgICByZXR1cm4gcGFpcnM7XG59XG5jb25zdCBwYWlycyA9IHtcbiAgICBjb2xsZWN0aW9uOiAnc2VxJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpwYWlycycsXG4gICAgcmVzb2x2ZTogcmVzb2x2ZVBhaXJzLFxuICAgIGNyZWF0ZU5vZGU6IGNyZWF0ZVBhaXJzXG59O1xuXG5leHBvcnQgeyBjcmVhdGVQYWlycywgcGFpcnMsIHJlc29sdmVQYWlycyB9O1xuIiwgImltcG9ydCB7IGlzU2NhbGFyLCBpc1BhaXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi4vLi4vbm9kZXMvdG9KUy5qcyc7XG5pbXBvcnQgeyBZQU1MTWFwIH0gZnJvbSAnLi4vLi4vbm9kZXMvWUFNTE1hcC5qcyc7XG5pbXBvcnQgeyBZQU1MU2VxIH0gZnJvbSAnLi4vLi4vbm9kZXMvWUFNTFNlcS5qcyc7XG5pbXBvcnQgeyByZXNvbHZlUGFpcnMsIGNyZWF0ZVBhaXJzIH0gZnJvbSAnLi9wYWlycy5qcyc7XG5cbmNsYXNzIFlBTUxPTWFwIGV4dGVuZHMgWUFNTFNlcSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYWRkID0gWUFNTE1hcC5wcm90b3R5cGUuYWRkLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZGVsZXRlID0gWUFNTE1hcC5wcm90b3R5cGUuZGVsZXRlLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZ2V0ID0gWUFNTE1hcC5wcm90b3R5cGUuZ2V0LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuaGFzID0gWUFNTE1hcC5wcm90b3R5cGUuaGFzLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuc2V0ID0gWUFNTE1hcC5wcm90b3R5cGUuc2V0LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMudGFnID0gWUFNTE9NYXAudGFnO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJZiBgY3R4YCBpcyBnaXZlbiwgdGhlIHJldHVybiB0eXBlIGlzIGFjdHVhbGx5IGBNYXA8dW5rbm93biwgdW5rbm93bj5gLFxuICAgICAqIGJ1dCBUeXBlU2NyaXB0IHdvbid0IGFsbG93IHdpZGVuaW5nIHRoZSBzaWduYXR1cmUgb2YgYSBjaGlsZCBtZXRob2QuXG4gICAgICovXG4gICAgdG9KU09OKF8sIGN0eCkge1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHJldHVybiBzdXBlci50b0pTT04oXyk7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgaWYgKGN0eD8ub25DcmVhdGUpXG4gICAgICAgICAgICBjdHgub25DcmVhdGUobWFwKTtcbiAgICAgICAgZm9yIChjb25zdCBwYWlyIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIGxldCBrZXksIHZhbHVlO1xuICAgICAgICAgICAgaWYgKGlzUGFpcihwYWlyKSkge1xuICAgICAgICAgICAgICAgIGtleSA9IHRvSlMocGFpci5rZXksICcnLCBjdHgpO1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdG9KUyhwYWlyLnZhbHVlLCBrZXksIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSB0b0pTKHBhaXIsICcnLCBjdHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1hcC5oYXMoa2V5KSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ09yZGVyZWQgbWFwcyBtdXN0IG5vdCBpbmNsdWRlIGR1cGxpY2F0ZSBrZXlzJyk7XG4gICAgICAgICAgICBtYXAuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfVxuICAgIHN0YXRpYyBmcm9tKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkge1xuICAgICAgICBjb25zdCBwYWlycyA9IGNyZWF0ZVBhaXJzKHNjaGVtYSwgaXRlcmFibGUsIGN0eCk7XG4gICAgICAgIGNvbnN0IG9tYXAgPSBuZXcgdGhpcygpO1xuICAgICAgICBvbWFwLml0ZW1zID0gcGFpcnMuaXRlbXM7XG4gICAgICAgIHJldHVybiBvbWFwO1xuICAgIH1cbn1cbllBTUxPTWFwLnRhZyA9ICd0YWc6eWFtbC5vcmcsMjAwMjpvbWFwJztcbmNvbnN0IG9tYXAgPSB7XG4gICAgY29sbGVjdGlvbjogJ3NlcScsXG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlIGluc3RhbmNlb2YgTWFwLFxuICAgIG5vZGVDbGFzczogWUFNTE9NYXAsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6b21hcCcsXG4gICAgcmVzb2x2ZShzZXEsIG9uRXJyb3IpIHtcbiAgICAgICAgY29uc3QgcGFpcnMgPSByZXNvbHZlUGFpcnMoc2VxLCBvbkVycm9yKTtcbiAgICAgICAgY29uc3Qgc2VlbktleXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB7IGtleSB9IG9mIHBhaXJzLml0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoaXNTY2FsYXIoa2V5KSkge1xuICAgICAgICAgICAgICAgIGlmIChzZWVuS2V5cy5pbmNsdWRlcyhrZXkudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoYE9yZGVyZWQgbWFwcyBtdXN0IG5vdCBpbmNsdWRlIGR1cGxpY2F0ZSBrZXlzOiAke2tleS52YWx1ZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlZW5LZXlzLnB1c2goa2V5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFlBTUxPTWFwKCksIHBhaXJzKTtcbiAgICB9LFxuICAgIGNyZWF0ZU5vZGU6IChzY2hlbWEsIGl0ZXJhYmxlLCBjdHgpID0+IFlBTUxPTWFwLmZyb20oc2NoZW1hLCBpdGVyYWJsZSwgY3R4KVxufTtcblxuZXhwb3J0IHsgWUFNTE9NYXAsIG9tYXAgfTtcbiIsICJpbXBvcnQgeyBTY2FsYXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnO1xuXG5mdW5jdGlvbiBib29sU3RyaW5naWZ5KHsgdmFsdWUsIHNvdXJjZSB9LCBjdHgpIHtcbiAgICBjb25zdCBib29sT2JqID0gdmFsdWUgPyB0cnVlVGFnIDogZmFsc2VUYWc7XG4gICAgaWYgKHNvdXJjZSAmJiBib29sT2JqLnRlc3QudGVzdChzb3VyY2UpKVxuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgIHJldHVybiB2YWx1ZSA/IGN0eC5vcHRpb25zLnRydWVTdHIgOiBjdHgub3B0aW9ucy5mYWxzZVN0cjtcbn1cbmNvbnN0IHRydWVUYWcgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlID09PSB0cnVlLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6Ym9vbCcsXG4gICAgdGVzdDogL14oPzpZfHl8W1l5XWVzfFlFU3xbVHRdcnVlfFRSVUV8W09vXW58T04pJC8sXG4gICAgcmVzb2x2ZTogKCkgPT4gbmV3IFNjYWxhcih0cnVlKSxcbiAgICBzdHJpbmdpZnk6IGJvb2xTdHJpbmdpZnlcbn07XG5jb25zdCBmYWxzZVRhZyA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgPT09IGZhbHNlLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6Ym9vbCcsXG4gICAgdGVzdDogL14oPzpOfG58W05uXW98Tk98W0ZmXWFsc2V8RkFMU0V8W09vXWZmfE9GRikkLyxcbiAgICByZXNvbHZlOiAoKSA9PiBuZXcgU2NhbGFyKGZhbHNlKSxcbiAgICBzdHJpbmdpZnk6IGJvb2xTdHJpbmdpZnlcbn07XG5cbmV4cG9ydCB7IGZhbHNlVGFnLCB0cnVlVGFnIH07XG4iLCAiaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vLi4vbm9kZXMvU2NhbGFyLmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeU51bWJlciB9IGZyb20gJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlOdW1iZXIuanMnO1xuXG5jb25zdCBmbG9hdE5hTiA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmZsb2F0JyxcbiAgICB0ZXN0OiAvXig/OlstK10/XFwuKD86aW5mfEluZnxJTkYpfFxcLm5hbnxcXC5OYU58XFwuTkFOKSQvLFxuICAgIHJlc29sdmU6IChzdHIpID0+IHN0ci5zbGljZSgtMykudG9Mb3dlckNhc2UoKSA9PT0gJ25hbidcbiAgICAgICAgPyBOYU5cbiAgICAgICAgOiBzdHJbMF0gPT09ICctJ1xuICAgICAgICAgICAgPyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFlcbiAgICAgICAgICAgIDogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFxuICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5TnVtYmVyXG59O1xuY29uc3QgZmxvYXRFeHAgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCcsXG4gICAgZm9ybWF0OiAnRVhQJyxcbiAgICB0ZXN0OiAvXlstK10/KD86WzAtOV1bMC05X10qKT8oPzpcXC5bMC05X10qKT9bZUVdWy0rXT9bMC05XSskLyxcbiAgICByZXNvbHZlOiAoc3RyKSA9PiBwYXJzZUZsb2F0KHN0ci5yZXBsYWNlKC9fL2csICcnKSksXG4gICAgc3RyaW5naWZ5KG5vZGUpIHtcbiAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKG5vZGUudmFsdWUpO1xuICAgICAgICByZXR1cm4gaXNGaW5pdGUobnVtKSA/IG51bS50b0V4cG9uZW50aWFsKCkgOiBzdHJpbmdpZnlOdW1iZXIobm9kZSk7XG4gICAgfVxufTtcbmNvbnN0IGZsb2F0ID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgIHRlc3Q6IC9eWy0rXT8oPzpbMC05XVswLTlfXSopP1xcLlswLTlfXSokLyxcbiAgICByZXNvbHZlKHN0cikge1xuICAgICAgICBjb25zdCBub2RlID0gbmV3IFNjYWxhcihwYXJzZUZsb2F0KHN0ci5yZXBsYWNlKC9fL2csICcnKSkpO1xuICAgICAgICBjb25zdCBkb3QgPSBzdHIuaW5kZXhPZignLicpO1xuICAgICAgICBpZiAoZG90ICE9PSAtMSkge1xuICAgICAgICAgICAgY29uc3QgZiA9IHN0ci5zdWJzdHJpbmcoZG90ICsgMSkucmVwbGFjZSgvXy9nLCAnJyk7XG4gICAgICAgICAgICBpZiAoZltmLmxlbmd0aCAtIDFdID09PSAnMCcpXG4gICAgICAgICAgICAgICAgbm9kZS5taW5GcmFjdGlvbkRpZ2l0cyA9IGYubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH0sXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlOdW1iZXJcbn07XG5cbmV4cG9ydCB7IGZsb2F0LCBmbG9hdEV4cCwgZmxvYXROYU4gfTtcbiIsICJpbXBvcnQgeyBzdHJpbmdpZnlOdW1iZXIgfSBmcm9tICcuLi8uLi9zdHJpbmdpZnkvc3RyaW5naWZ5TnVtYmVyLmpzJztcblxuY29uc3QgaW50SWRlbnRpZnkgPSAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcgfHwgTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSk7XG5mdW5jdGlvbiBpbnRSZXNvbHZlKHN0ciwgb2Zmc2V0LCByYWRpeCwgeyBpbnRBc0JpZ0ludCB9KSB7XG4gICAgY29uc3Qgc2lnbiA9IHN0clswXTtcbiAgICBpZiAoc2lnbiA9PT0gJy0nIHx8IHNpZ24gPT09ICcrJylcbiAgICAgICAgb2Zmc2V0ICs9IDE7XG4gICAgc3RyID0gc3RyLnN1YnN0cmluZyhvZmZzZXQpLnJlcGxhY2UoL18vZywgJycpO1xuICAgIGlmIChpbnRBc0JpZ0ludCkge1xuICAgICAgICBzd2l0Y2ggKHJhZGl4KSB7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgc3RyID0gYDBiJHtzdHJ9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgODpcbiAgICAgICAgICAgICAgICBzdHIgPSBgMG8ke3N0cn1gO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAxNjpcbiAgICAgICAgICAgICAgICBzdHIgPSBgMHgke3N0cn1gO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG4gPSBCaWdJbnQoc3RyKTtcbiAgICAgICAgcmV0dXJuIHNpZ24gPT09ICctJyA/IEJpZ0ludCgtMSkgKiBuIDogbjtcbiAgICB9XG4gICAgY29uc3QgbiA9IHBhcnNlSW50KHN0ciwgcmFkaXgpO1xuICAgIHJldHVybiBzaWduID09PSAnLScgPyAtMSAqIG4gOiBuO1xufVxuZnVuY3Rpb24gaW50U3RyaW5naWZ5KG5vZGUsIHJhZGl4LCBwcmVmaXgpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBub2RlO1xuICAgIGlmIChpbnRJZGVudGlmeSh2YWx1ZSkpIHtcbiAgICAgICAgY29uc3Qgc3RyID0gdmFsdWUudG9TdHJpbmcocmFkaXgpO1xuICAgICAgICByZXR1cm4gdmFsdWUgPCAwID8gJy0nICsgcHJlZml4ICsgc3RyLnN1YnN0cigxKSA6IHByZWZpeCArIHN0cjtcbiAgICB9XG4gICAgcmV0dXJuIHN0cmluZ2lmeU51bWJlcihub2RlKTtcbn1cbmNvbnN0IGludEJpbiA9IHtcbiAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIGZvcm1hdDogJ0JJTicsXG4gICAgdGVzdDogL15bLStdPzBiWzAtMV9dKyQvLFxuICAgIHJlc29sdmU6IChzdHIsIF9vbkVycm9yLCBvcHQpID0+IGludFJlc29sdmUoc3RyLCAyLCAyLCBvcHQpLFxuICAgIHN0cmluZ2lmeTogbm9kZSA9PiBpbnRTdHJpbmdpZnkobm9kZSwgMiwgJzBiJylcbn07XG5jb25zdCBpbnRPY3QgPSB7XG4gICAgaWRlbnRpZnk6IGludElkZW50aWZ5LFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdPQ1QnLFxuICAgIHRlc3Q6IC9eWy0rXT8wWzAtN19dKyQvLFxuICAgIHJlc29sdmU6IChzdHIsIF9vbkVycm9yLCBvcHQpID0+IGludFJlc29sdmUoc3RyLCAxLCA4LCBvcHQpLFxuICAgIHN0cmluZ2lmeTogbm9kZSA9PiBpbnRTdHJpbmdpZnkobm9kZSwgOCwgJzAnKVxufTtcbmNvbnN0IGludCA9IHtcbiAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIHRlc3Q6IC9eWy0rXT9bMC05XVswLTlfXSokLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMCwgMTAsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlOdW1iZXJcbn07XG5jb25zdCBpbnRIZXggPSB7XG4gICAgaWRlbnRpZnk6IGludElkZW50aWZ5LFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdIRVgnLFxuICAgIHRlc3Q6IC9eWy0rXT8weFswLTlhLWZBLUZfXSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMiwgMTYsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCAxNiwgJzB4Jylcbn07XG5cbmV4cG9ydCB7IGludCwgaW50QmluLCBpbnRIZXgsIGludE9jdCB9O1xuIiwgImltcG9ydCB7IGlzTWFwLCBpc1BhaXIsIGlzU2NhbGFyIH0gZnJvbSAnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgUGFpciwgY3JlYXRlUGFpciB9IGZyb20gJy4uLy4uL25vZGVzL1BhaXIuanMnO1xuaW1wb3J0IHsgWUFNTE1hcCwgZmluZFBhaXIgfSBmcm9tICcuLi8uLi9ub2Rlcy9ZQU1MTWFwLmpzJztcblxuY2xhc3MgWUFNTFNldCBleHRlbmRzIFlBTUxNYXAge1xuICAgIGNvbnN0cnVjdG9yKHNjaGVtYSkge1xuICAgICAgICBzdXBlcihzY2hlbWEpO1xuICAgICAgICB0aGlzLnRhZyA9IFlBTUxTZXQudGFnO1xuICAgIH1cbiAgICBhZGQoa2V5KSB7XG4gICAgICAgIGxldCBwYWlyO1xuICAgICAgICBpZiAoaXNQYWlyKGtleSkpXG4gICAgICAgICAgICBwYWlyID0ga2V5O1xuICAgICAgICBlbHNlIGlmIChrZXkgJiZcbiAgICAgICAgICAgIHR5cGVvZiBrZXkgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAna2V5JyBpbiBrZXkgJiZcbiAgICAgICAgICAgICd2YWx1ZScgaW4ga2V5ICYmXG4gICAgICAgICAgICBrZXkudmFsdWUgPT09IG51bGwpXG4gICAgICAgICAgICBwYWlyID0gbmV3IFBhaXIoa2V5LmtleSwgbnVsbCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHBhaXIgPSBuZXcgUGFpcihrZXksIG51bGwpO1xuICAgICAgICBjb25zdCBwcmV2ID0gZmluZFBhaXIodGhpcy5pdGVtcywgcGFpci5rZXkpO1xuICAgICAgICBpZiAoIXByZXYpXG4gICAgICAgICAgICB0aGlzLml0ZW1zLnB1c2gocGFpcik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIElmIGBrZWVwUGFpcmAgaXMgYHRydWVgLCByZXR1cm5zIHRoZSBQYWlyIG1hdGNoaW5nIGBrZXlgLlxuICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhhdCBQYWlyJ3Mga2V5LlxuICAgICAqL1xuICAgIGdldChrZXksIGtlZXBQYWlyKSB7XG4gICAgICAgIGNvbnN0IHBhaXIgPSBmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgICAgICByZXR1cm4gIWtlZXBQYWlyICYmIGlzUGFpcihwYWlyKVxuICAgICAgICAgICAgPyBpc1NjYWxhcihwYWlyLmtleSlcbiAgICAgICAgICAgICAgICA/IHBhaXIua2V5LnZhbHVlXG4gICAgICAgICAgICAgICAgOiBwYWlyLmtleVxuICAgICAgICAgICAgOiBwYWlyO1xuICAgIH1cbiAgICBzZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGJvb2xlYW4gdmFsdWUgZm9yIHNldChrZXksIHZhbHVlKSBpbiBhIFlBTUwgc2V0LCBub3QgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgICAgIGNvbnN0IHByZXYgPSBmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgICAgICBpZiAocHJldiAmJiAhdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihwcmV2KSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIXByZXYgJiYgdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaChuZXcgUGFpcihrZXkpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0b0pTT04oXywgY3R4KSB7XG4gICAgICAgIHJldHVybiBzdXBlci50b0pTT04oXywgY3R4LCBTZXQpO1xuICAgIH1cbiAgICB0b1N0cmluZyhjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApIHtcbiAgICAgICAgaWYgKCFjdHgpXG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcyk7XG4gICAgICAgIGlmICh0aGlzLmhhc0FsbE51bGxWYWx1ZXModHJ1ZSkpXG4gICAgICAgICAgICByZXR1cm4gc3VwZXIudG9TdHJpbmcoT2JqZWN0LmFzc2lnbih7fSwgY3R4LCB7IGFsbE51bGxWYWx1ZXM6IHRydWUgfSksIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NldCBpdGVtcyBtdXN0IGFsbCBoYXZlIG51bGwgdmFsdWVzJyk7XG4gICAgfVxuICAgIHN0YXRpYyBmcm9tKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkge1xuICAgICAgICBjb25zdCB7IHJlcGxhY2VyIH0gPSBjdHg7XG4gICAgICAgIGNvbnN0IHNldCA9IG5ldyB0aGlzKHNjaGVtYSk7XG4gICAgICAgIGlmIChpdGVyYWJsZSAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXJhYmxlKSlcbiAgICAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIGl0ZXJhYmxlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXBsYWNlciA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSByZXBsYWNlci5jYWxsKGl0ZXJhYmxlLCB2YWx1ZSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIHNldC5pdGVtcy5wdXNoKGNyZWF0ZVBhaXIodmFsdWUsIG51bGwsIGN0eCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2V0O1xuICAgIH1cbn1cbllBTUxTZXQudGFnID0gJ3RhZzp5YW1sLm9yZywyMDAyOnNldCc7XG5jb25zdCBzZXQgPSB7XG4gICAgY29sbGVjdGlvbjogJ21hcCcsXG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlIGluc3RhbmNlb2YgU2V0LFxuICAgIG5vZGVDbGFzczogWUFNTFNldCxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpzZXQnLFxuICAgIGNyZWF0ZU5vZGU6IChzY2hlbWEsIGl0ZXJhYmxlLCBjdHgpID0+IFlBTUxTZXQuZnJvbShzY2hlbWEsIGl0ZXJhYmxlLCBjdHgpLFxuICAgIHJlc29sdmUobWFwLCBvbkVycm9yKSB7XG4gICAgICAgIGlmIChpc01hcChtYXApKSB7XG4gICAgICAgICAgICBpZiAobWFwLmhhc0FsbE51bGxWYWx1ZXModHJ1ZSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFlBTUxTZXQoKSwgbWFwKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBvbkVycm9yKCdTZXQgaXRlbXMgbXVzdCBhbGwgaGF2ZSBudWxsIHZhbHVlcycpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIG9uRXJyb3IoJ0V4cGVjdGVkIGEgbWFwcGluZyBmb3IgdGhpcyB0YWcnKTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG59O1xuXG5leHBvcnQgeyBZQU1MU2V0LCBzZXQgfTtcbiIsICJpbXBvcnQgeyBzdHJpbmdpZnlOdW1iZXIgfSBmcm9tICcuLi8uLi9zdHJpbmdpZnkvc3RyaW5naWZ5TnVtYmVyLmpzJztcblxuLyoqIEludGVybmFsIHR5cGVzIGhhbmRsZSBiaWdpbnQgYXMgbnVtYmVyLCBiZWNhdXNlIFRTIGNhbid0IGZpZ3VyZSBpdCBvdXQuICovXG5mdW5jdGlvbiBwYXJzZVNleGFnZXNpbWFsKHN0ciwgYXNCaWdJbnQpIHtcbiAgICBjb25zdCBzaWduID0gc3RyWzBdO1xuICAgIGNvbnN0IHBhcnRzID0gc2lnbiA9PT0gJy0nIHx8IHNpZ24gPT09ICcrJyA/IHN0ci5zdWJzdHJpbmcoMSkgOiBzdHI7XG4gICAgY29uc3QgbnVtID0gKG4pID0+IGFzQmlnSW50ID8gQmlnSW50KG4pIDogTnVtYmVyKG4pO1xuICAgIGNvbnN0IHJlcyA9IHBhcnRzXG4gICAgICAgIC5yZXBsYWNlKC9fL2csICcnKVxuICAgICAgICAuc3BsaXQoJzonKVxuICAgICAgICAucmVkdWNlKChyZXMsIHApID0+IHJlcyAqIG51bSg2MCkgKyBudW0ocCksIG51bSgwKSk7XG4gICAgcmV0dXJuIChzaWduID09PSAnLScgPyBudW0oLTEpICogcmVzIDogcmVzKTtcbn1cbi8qKlxuICogaGhoaDptbTpzcy5zc3NcbiAqXG4gKiBJbnRlcm5hbCB0eXBlcyBoYW5kbGUgYmlnaW50IGFzIG51bWJlciwgYmVjYXVzZSBUUyBjYW4ndCBmaWd1cmUgaXQgb3V0LlxuICovXG5mdW5jdGlvbiBzdHJpbmdpZnlTZXhhZ2VzaW1hbChub2RlKSB7XG4gICAgbGV0IHsgdmFsdWUgfSA9IG5vZGU7XG4gICAgbGV0IG51bSA9IChuKSA9PiBuO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnKVxuICAgICAgICBudW0gPSBuID0+IEJpZ0ludChuKTtcbiAgICBlbHNlIGlmIChpc05hTih2YWx1ZSkgfHwgIWlzRmluaXRlKHZhbHVlKSlcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeU51bWJlcihub2RlKTtcbiAgICBsZXQgc2lnbiA9ICcnO1xuICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgc2lnbiA9ICctJztcbiAgICAgICAgdmFsdWUgKj0gbnVtKC0xKTtcbiAgICB9XG4gICAgY29uc3QgXzYwID0gbnVtKDYwKTtcbiAgICBjb25zdCBwYXJ0cyA9IFt2YWx1ZSAlIF82MF07IC8vIHNlY29uZHMsIGluY2x1ZGluZyBtc1xuICAgIGlmICh2YWx1ZSA8IDYwKSB7XG4gICAgICAgIHBhcnRzLnVuc2hpZnQoMCk7IC8vIGF0IGxlYXN0IG9uZSA6IGlzIHJlcXVpcmVkXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YWx1ZSA9ICh2YWx1ZSAtIHBhcnRzWzBdKSAvIF82MDtcbiAgICAgICAgcGFydHMudW5zaGlmdCh2YWx1ZSAlIF82MCk7IC8vIG1pbnV0ZXNcbiAgICAgICAgaWYgKHZhbHVlID49IDYwKSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICh2YWx1ZSAtIHBhcnRzWzBdKSAvIF82MDtcbiAgICAgICAgICAgIHBhcnRzLnVuc2hpZnQodmFsdWUpOyAvLyBob3Vyc1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAoc2lnbiArXG4gICAgICAgIHBhcnRzXG4gICAgICAgICAgICAubWFwKG4gPT4gU3RyaW5nKG4pLnBhZFN0YXJ0KDIsICcwJykpXG4gICAgICAgICAgICAuam9pbignOicpXG4gICAgICAgICAgICAucmVwbGFjZSgvMDAwMDAwXFxkKiQvLCAnJykgLy8gJSA2MCBtYXkgaW50cm9kdWNlIGVycm9yXG4gICAgKTtcbn1cbmNvbnN0IGludFRpbWUgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcgfHwgTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIGZvcm1hdDogJ1RJTUUnLFxuICAgIHRlc3Q6IC9eWy0rXT9bMC05XVswLTlfXSooPzo6WzAtNV0/WzAtOV0pKyQvLFxuICAgIHJlc29sdmU6IChzdHIsIF9vbkVycm9yLCB7IGludEFzQmlnSW50IH0pID0+IHBhcnNlU2V4YWdlc2ltYWwoc3RyLCBpbnRBc0JpZ0ludCksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlTZXhhZ2VzaW1hbFxufTtcbmNvbnN0IGZsb2F0VGltZSA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmZsb2F0JyxcbiAgICBmb3JtYXQ6ICdUSU1FJyxcbiAgICB0ZXN0OiAvXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKStcXC5bMC05X10qJC8sXG4gICAgcmVzb2x2ZTogc3RyID0+IHBhcnNlU2V4YWdlc2ltYWwoc3RyLCBmYWxzZSksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlTZXhhZ2VzaW1hbFxufTtcbmNvbnN0IHRpbWVzdGFtcCA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6dGltZXN0YW1wJyxcbiAgICAvLyBJZiB0aGUgdGltZSB6b25lIGlzIG9taXR0ZWQsIHRoZSB0aW1lc3RhbXAgaXMgYXNzdW1lZCB0byBiZSBzcGVjaWZpZWQgaW4gVVRDLiBUaGUgdGltZSBwYXJ0XG4gICAgLy8gbWF5IGJlIG9taXR0ZWQgYWx0b2dldGhlciwgcmVzdWx0aW5nIGluIGEgZGF0ZSBmb3JtYXQuIEluIHN1Y2ggYSBjYXNlLCB0aGUgdGltZSBwYXJ0IGlzXG4gICAgLy8gYXNzdW1lZCB0byBiZSAwMDowMDowMFogKHN0YXJ0IG9mIGRheSwgVVRDKS5cbiAgICB0ZXN0OiBSZWdFeHAoJ14oWzAtOV17NH0pLShbMC05XXsxLDJ9KS0oWzAtOV17MSwyfSknICsgLy8gWVlZWS1NbS1EZFxuICAgICAgICAnKD86JyArIC8vIHRpbWUgaXMgb3B0aW9uYWxcbiAgICAgICAgJyg/OnR8VHxbIFxcXFx0XSspJyArIC8vIHQgfCBUIHwgd2hpdGVzcGFjZVxuICAgICAgICAnKFswLTldezEsMn0pOihbMC05XXsxLDJ9KTooWzAtOV17MSwyfShcXFxcLlswLTldKyk/KScgKyAvLyBIaDpNbTpTcyguc3MpP1xuICAgICAgICAnKD86WyBcXFxcdF0qKFp8Wy0rXVswMTJdP1swLTldKD86OlswLTldezJ9KT8pKT8nICsgLy8gWiB8ICs1IHwgLTAzOjMwXG4gICAgICAgICcpPyQnKSxcbiAgICByZXNvbHZlKHN0cikge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHN0ci5tYXRjaCh0aW1lc3RhbXAudGVzdCk7XG4gICAgICAgIGlmICghbWF0Y2gpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJyEhdGltZXN0YW1wIGV4cGVjdHMgYSBkYXRlLCBzdGFydGluZyB3aXRoIHl5eXktbW0tZGQnKTtcbiAgICAgICAgY29uc3QgWywgeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmRdID0gbWF0Y2gubWFwKE51bWJlcik7XG4gICAgICAgIGNvbnN0IG1pbGxpc2VjID0gbWF0Y2hbN10gPyBOdW1iZXIoKG1hdGNoWzddICsgJzAwJykuc3Vic3RyKDEsIDMpKSA6IDA7XG4gICAgICAgIGxldCBkYXRlID0gRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXksIGhvdXIgfHwgMCwgbWludXRlIHx8IDAsIHNlY29uZCB8fCAwLCBtaWxsaXNlYyk7XG4gICAgICAgIGNvbnN0IHR6ID0gbWF0Y2hbOF07XG4gICAgICAgIGlmICh0eiAmJiB0eiAhPT0gJ1onKSB7XG4gICAgICAgICAgICBsZXQgZCA9IHBhcnNlU2V4YWdlc2ltYWwodHosIGZhbHNlKTtcbiAgICAgICAgICAgIGlmIChNYXRoLmFicyhkKSA8IDMwKVxuICAgICAgICAgICAgICAgIGQgKj0gNjA7XG4gICAgICAgICAgICBkYXRlIC09IDYwMDAwICogZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSxcbiAgICBzdHJpbmdpZnk6ICh7IHZhbHVlIH0pID0+IHZhbHVlLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvKChUMDA6MDApPzowMCk/XFwuMDAwWiQvLCAnJylcbn07XG5cbmV4cG9ydCB7IGZsb2F0VGltZSwgaW50VGltZSwgdGltZXN0YW1wIH07XG4iLCAiaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi4vY29tbW9uL21hcC5qcyc7XG5pbXBvcnQgeyBudWxsVGFnIH0gZnJvbSAnLi4vY29tbW9uL251bGwuanMnO1xuaW1wb3J0IHsgc2VxIH0gZnJvbSAnLi4vY29tbW9uL3NlcS5qcyc7XG5pbXBvcnQgeyBzdHJpbmcgfSBmcm9tICcuLi9jb21tb24vc3RyaW5nLmpzJztcbmltcG9ydCB7IGJpbmFyeSB9IGZyb20gJy4vYmluYXJ5LmpzJztcbmltcG9ydCB7IHRydWVUYWcsIGZhbHNlVGFnIH0gZnJvbSAnLi9ib29sLmpzJztcbmltcG9ydCB7IGZsb2F0TmFOLCBmbG9hdEV4cCwgZmxvYXQgfSBmcm9tICcuL2Zsb2F0LmpzJztcbmltcG9ydCB7IGludEJpbiwgaW50T2N0LCBpbnQsIGludEhleCB9IGZyb20gJy4vaW50LmpzJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnLi9tZXJnZS5qcyc7XG5pbXBvcnQgeyBvbWFwIH0gZnJvbSAnLi9vbWFwLmpzJztcbmltcG9ydCB7IHBhaXJzIH0gZnJvbSAnLi9wYWlycy5qcyc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICcuL3NldC5qcyc7XG5pbXBvcnQgeyBpbnRUaW1lLCBmbG9hdFRpbWUsIHRpbWVzdGFtcCB9IGZyb20gJy4vdGltZXN0YW1wLmpzJztcblxuY29uc3Qgc2NoZW1hID0gW1xuICAgIG1hcCxcbiAgICBzZXEsXG4gICAgc3RyaW5nLFxuICAgIG51bGxUYWcsXG4gICAgdHJ1ZVRhZyxcbiAgICBmYWxzZVRhZyxcbiAgICBpbnRCaW4sXG4gICAgaW50T2N0LFxuICAgIGludCxcbiAgICBpbnRIZXgsXG4gICAgZmxvYXROYU4sXG4gICAgZmxvYXRFeHAsXG4gICAgZmxvYXQsXG4gICAgYmluYXJ5LFxuICAgIG1lcmdlLFxuICAgIG9tYXAsXG4gICAgcGFpcnMsXG4gICAgc2V0LFxuICAgIGludFRpbWUsXG4gICAgZmxvYXRUaW1lLFxuICAgIHRpbWVzdGFtcFxuXTtcblxuZXhwb3J0IHsgc2NoZW1hIH07XG4iLCAiaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi9jb21tb24vbWFwLmpzJztcbmltcG9ydCB7IG51bGxUYWcgfSBmcm9tICcuL2NvbW1vbi9udWxsLmpzJztcbmltcG9ydCB7IHNlcSB9IGZyb20gJy4vY29tbW9uL3NlcS5qcyc7XG5pbXBvcnQgeyBzdHJpbmcgfSBmcm9tICcuL2NvbW1vbi9zdHJpbmcuanMnO1xuaW1wb3J0IHsgYm9vbFRhZyB9IGZyb20gJy4vY29yZS9ib29sLmpzJztcbmltcG9ydCB7IGZsb2F0LCBmbG9hdEV4cCwgZmxvYXROYU4gfSBmcm9tICcuL2NvcmUvZmxvYXQuanMnO1xuaW1wb3J0IHsgaW50LCBpbnRIZXgsIGludE9jdCB9IGZyb20gJy4vY29yZS9pbnQuanMnO1xuaW1wb3J0IHsgc2NoZW1hIH0gZnJvbSAnLi9jb3JlL3NjaGVtYS5qcyc7XG5pbXBvcnQgeyBzY2hlbWEgYXMgc2NoZW1hJDEgfSBmcm9tICcuL2pzb24vc2NoZW1hLmpzJztcbmltcG9ydCB7IGJpbmFyeSB9IGZyb20gJy4veWFtbC0xLjEvYmluYXJ5LmpzJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnLi95YW1sLTEuMS9tZXJnZS5qcyc7XG5pbXBvcnQgeyBvbWFwIH0gZnJvbSAnLi95YW1sLTEuMS9vbWFwLmpzJztcbmltcG9ydCB7IHBhaXJzIH0gZnJvbSAnLi95YW1sLTEuMS9wYWlycy5qcyc7XG5pbXBvcnQgeyBzY2hlbWEgYXMgc2NoZW1hJDIgfSBmcm9tICcuL3lhbWwtMS4xL3NjaGVtYS5qcyc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICcuL3lhbWwtMS4xL3NldC5qcyc7XG5pbXBvcnQgeyB0aW1lc3RhbXAsIGZsb2F0VGltZSwgaW50VGltZSB9IGZyb20gJy4veWFtbC0xLjEvdGltZXN0YW1wLmpzJztcblxuY29uc3Qgc2NoZW1hcyA9IG5ldyBNYXAoW1xuICAgIFsnY29yZScsIHNjaGVtYV0sXG4gICAgWydmYWlsc2FmZScsIFttYXAsIHNlcSwgc3RyaW5nXV0sXG4gICAgWydqc29uJywgc2NoZW1hJDFdLFxuICAgIFsneWFtbDExJywgc2NoZW1hJDJdLFxuICAgIFsneWFtbC0xLjEnLCBzY2hlbWEkMl1cbl0pO1xuY29uc3QgdGFnc0J5TmFtZSA9IHtcbiAgICBiaW5hcnksXG4gICAgYm9vbDogYm9vbFRhZyxcbiAgICBmbG9hdCxcbiAgICBmbG9hdEV4cCxcbiAgICBmbG9hdE5hTixcbiAgICBmbG9hdFRpbWUsXG4gICAgaW50LFxuICAgIGludEhleCxcbiAgICBpbnRPY3QsXG4gICAgaW50VGltZSxcbiAgICBtYXAsXG4gICAgbWVyZ2UsXG4gICAgbnVsbDogbnVsbFRhZyxcbiAgICBvbWFwLFxuICAgIHBhaXJzLFxuICAgIHNlcSxcbiAgICBzZXQsXG4gICAgdGltZXN0YW1wXG59O1xuY29uc3QgY29yZUtub3duVGFncyA9IHtcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5JzogYmluYXJ5LFxuICAgICd0YWc6eWFtbC5vcmcsMjAwMjptZXJnZSc6IG1lcmdlLFxuICAgICd0YWc6eWFtbC5vcmcsMjAwMjpvbWFwJzogb21hcCxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6cGFpcnMnOiBwYWlycyxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6c2V0Jzogc2V0LFxuICAgICd0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXAnOiB0aW1lc3RhbXBcbn07XG5mdW5jdGlvbiBnZXRUYWdzKGN1c3RvbVRhZ3MsIHNjaGVtYU5hbWUsIGFkZE1lcmdlVGFnKSB7XG4gICAgY29uc3Qgc2NoZW1hVGFncyA9IHNjaGVtYXMuZ2V0KHNjaGVtYU5hbWUpO1xuICAgIGlmIChzY2hlbWFUYWdzICYmICFjdXN0b21UYWdzKSB7XG4gICAgICAgIHJldHVybiBhZGRNZXJnZVRhZyAmJiAhc2NoZW1hVGFncy5pbmNsdWRlcyhtZXJnZSlcbiAgICAgICAgICAgID8gc2NoZW1hVGFncy5jb25jYXQobWVyZ2UpXG4gICAgICAgICAgICA6IHNjaGVtYVRhZ3Muc2xpY2UoKTtcbiAgICB9XG4gICAgbGV0IHRhZ3MgPSBzY2hlbWFUYWdzO1xuICAgIGlmICghdGFncykge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjdXN0b21UYWdzKSlcbiAgICAgICAgICAgIHRhZ3MgPSBbXTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gQXJyYXkuZnJvbShzY2hlbWFzLmtleXMoKSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGtleSA9PiBrZXkgIT09ICd5YW1sMTEnKVxuICAgICAgICAgICAgICAgIC5tYXAoa2V5ID0+IEpTT04uc3RyaW5naWZ5KGtleSkpXG4gICAgICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc2NoZW1hIFwiJHtzY2hlbWFOYW1lfVwiOyB1c2Ugb25lIG9mICR7a2V5c30gb3IgZGVmaW5lIGN1c3RvbVRhZ3MgYXJyYXlgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShjdXN0b21UYWdzKSkge1xuICAgICAgICBmb3IgKGNvbnN0IHRhZyBvZiBjdXN0b21UYWdzKVxuICAgICAgICAgICAgdGFncyA9IHRhZ3MuY29uY2F0KHRhZyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBjdXN0b21UYWdzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRhZ3MgPSBjdXN0b21UYWdzKHRhZ3Muc2xpY2UoKSk7XG4gICAgfVxuICAgIGlmIChhZGRNZXJnZVRhZylcbiAgICAgICAgdGFncyA9IHRhZ3MuY29uY2F0KG1lcmdlKTtcbiAgICByZXR1cm4gdGFncy5yZWR1Y2UoKHRhZ3MsIHRhZykgPT4ge1xuICAgICAgICBjb25zdCB0YWdPYmogPSB0eXBlb2YgdGFnID09PSAnc3RyaW5nJyA/IHRhZ3NCeU5hbWVbdGFnXSA6IHRhZztcbiAgICAgICAgaWYgKCF0YWdPYmopIHtcbiAgICAgICAgICAgIGNvbnN0IHRhZ05hbWUgPSBKU09OLnN0cmluZ2lmeSh0YWcpO1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRhZ3NCeU5hbWUpXG4gICAgICAgICAgICAgICAgLm1hcChrZXkgPT4gSlNPTi5zdHJpbmdpZnkoa2V5KSlcbiAgICAgICAgICAgICAgICAuam9pbignLCAnKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjdXN0b20gdGFnICR7dGFnTmFtZX07IHVzZSBvbmUgb2YgJHtrZXlzfWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGFncy5pbmNsdWRlcyh0YWdPYmopKVxuICAgICAgICAgICAgdGFncy5wdXNoKHRhZ09iaik7XG4gICAgICAgIHJldHVybiB0YWdzO1xuICAgIH0sIFtdKTtcbn1cblxuZXhwb3J0IHsgY29yZUtub3duVGFncywgZ2V0VGFncyB9O1xuIiwgImltcG9ydCB7IE1BUCwgU0NBTEFSLCBTRVEgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICcuL2NvbW1vbi9tYXAuanMnO1xuaW1wb3J0IHsgc2VxIH0gZnJvbSAnLi9jb21tb24vc2VxLmpzJztcbmltcG9ydCB7IHN0cmluZyB9IGZyb20gJy4vY29tbW9uL3N0cmluZy5qcyc7XG5pbXBvcnQgeyBnZXRUYWdzLCBjb3JlS25vd25UYWdzIH0gZnJvbSAnLi90YWdzLmpzJztcblxuY29uc3Qgc29ydE1hcEVudHJpZXNCeUtleSA9IChhLCBiKSA9PiBhLmtleSA8IGIua2V5ID8gLTEgOiBhLmtleSA+IGIua2V5ID8gMSA6IDA7XG5jbGFzcyBTY2hlbWEge1xuICAgIGNvbnN0cnVjdG9yKHsgY29tcGF0LCBjdXN0b21UYWdzLCBtZXJnZSwgcmVzb2x2ZUtub3duVGFncywgc2NoZW1hLCBzb3J0TWFwRW50cmllcywgdG9TdHJpbmdEZWZhdWx0cyB9KSB7XG4gICAgICAgIHRoaXMuY29tcGF0ID0gQXJyYXkuaXNBcnJheShjb21wYXQpXG4gICAgICAgICAgICA/IGdldFRhZ3MoY29tcGF0LCAnY29tcGF0JylcbiAgICAgICAgICAgIDogY29tcGF0XG4gICAgICAgICAgICAgICAgPyBnZXRUYWdzKG51bGwsIGNvbXBhdClcbiAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgIHRoaXMubmFtZSA9ICh0eXBlb2Ygc2NoZW1hID09PSAnc3RyaW5nJyAmJiBzY2hlbWEpIHx8ICdjb3JlJztcbiAgICAgICAgdGhpcy5rbm93blRhZ3MgPSByZXNvbHZlS25vd25UYWdzID8gY29yZUtub3duVGFncyA6IHt9O1xuICAgICAgICB0aGlzLnRhZ3MgPSBnZXRUYWdzKGN1c3RvbVRhZ3MsIHRoaXMubmFtZSwgbWVyZ2UpO1xuICAgICAgICB0aGlzLnRvU3RyaW5nT3B0aW9ucyA9IHRvU3RyaW5nRGVmYXVsdHMgPz8gbnVsbDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIE1BUCwgeyB2YWx1ZTogbWFwIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgU0NBTEFSLCB7IHZhbHVlOiBzdHJpbmcgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBTRVEsIHsgdmFsdWU6IHNlcSB9KTtcbiAgICAgICAgLy8gVXNlZCBieSBjcmVhdGVNYXAoKVxuICAgICAgICB0aGlzLnNvcnRNYXBFbnRyaWVzID1cbiAgICAgICAgICAgIHR5cGVvZiBzb3J0TWFwRW50cmllcyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gc29ydE1hcEVudHJpZXNcbiAgICAgICAgICAgICAgICA6IHNvcnRNYXBFbnRyaWVzID09PSB0cnVlXG4gICAgICAgICAgICAgICAgICAgID8gc29ydE1hcEVudHJpZXNCeUtleVxuICAgICAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuICAgIGNsb25lKCkge1xuICAgICAgICBjb25zdCBjb3B5ID0gT2JqZWN0LmNyZWF0ZShTY2hlbWEucHJvdG90eXBlLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7XG4gICAgICAgIGNvcHkudGFncyA9IHRoaXMudGFncy5zbGljZSgpO1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG59XG5cbmV4cG9ydCB7IFNjaGVtYSB9O1xuIiwgImltcG9ydCB7IGlzTm9kZSB9IGZyb20gJy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IGNyZWF0ZVN0cmluZ2lmeUNvbnRleHQsIHN0cmluZ2lmeSB9IGZyb20gJy4vc3RyaW5naWZ5LmpzJztcbmltcG9ydCB7IGluZGVudENvbW1lbnQsIGxpbmVDb21tZW50IH0gZnJvbSAnLi9zdHJpbmdpZnlDb21tZW50LmpzJztcblxuZnVuY3Rpb24gc3RyaW5naWZ5RG9jdW1lbnQoZG9jLCBvcHRpb25zKSB7XG4gICAgY29uc3QgbGluZXMgPSBbXTtcbiAgICBsZXQgaGFzRGlyZWN0aXZlcyA9IG9wdGlvbnMuZGlyZWN0aXZlcyA9PT0gdHJ1ZTtcbiAgICBpZiAob3B0aW9ucy5kaXJlY3RpdmVzICE9PSBmYWxzZSAmJiBkb2MuZGlyZWN0aXZlcykge1xuICAgICAgICBjb25zdCBkaXIgPSBkb2MuZGlyZWN0aXZlcy50b1N0cmluZyhkb2MpO1xuICAgICAgICBpZiAoZGlyKSB7XG4gICAgICAgICAgICBsaW5lcy5wdXNoKGRpcik7XG4gICAgICAgICAgICBoYXNEaXJlY3RpdmVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChkb2MuZGlyZWN0aXZlcy5kb2NTdGFydClcbiAgICAgICAgICAgIGhhc0RpcmVjdGl2ZXMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaGFzRGlyZWN0aXZlcylcbiAgICAgICAgbGluZXMucHVzaCgnLS0tJyk7XG4gICAgY29uc3QgY3R4ID0gY3JlYXRlU3RyaW5naWZ5Q29udGV4dChkb2MsIG9wdGlvbnMpO1xuICAgIGNvbnN0IHsgY29tbWVudFN0cmluZyB9ID0gY3R4Lm9wdGlvbnM7XG4gICAgaWYgKGRvYy5jb21tZW50QmVmb3JlKSB7XG4gICAgICAgIGlmIChsaW5lcy5sZW5ndGggIT09IDEpXG4gICAgICAgICAgICBsaW5lcy51bnNoaWZ0KCcnKTtcbiAgICAgICAgY29uc3QgY3MgPSBjb21tZW50U3RyaW5nKGRvYy5jb21tZW50QmVmb3JlKTtcbiAgICAgICAgbGluZXMudW5zaGlmdChpbmRlbnRDb21tZW50KGNzLCAnJykpO1xuICAgIH1cbiAgICBsZXQgY2hvbXBLZWVwID0gZmFsc2U7XG4gICAgbGV0IGNvbnRlbnRDb21tZW50ID0gbnVsbDtcbiAgICBpZiAoZG9jLmNvbnRlbnRzKSB7XG4gICAgICAgIGlmIChpc05vZGUoZG9jLmNvbnRlbnRzKSkge1xuICAgICAgICAgICAgaWYgKGRvYy5jb250ZW50cy5zcGFjZUJlZm9yZSAmJiBoYXNEaXJlY3RpdmVzKVxuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goJycpO1xuICAgICAgICAgICAgaWYgKGRvYy5jb250ZW50cy5jb21tZW50QmVmb3JlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3MgPSBjb21tZW50U3RyaW5nKGRvYy5jb250ZW50cy5jb21tZW50QmVmb3JlKTtcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKGluZGVudENvbW1lbnQoY3MsICcnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0b3AtbGV2ZWwgYmxvY2sgc2NhbGFycyBuZWVkIHRvIGJlIGluZGVudGVkIGlmIGZvbGxvd2VkIGJ5IGEgY29tbWVudFxuICAgICAgICAgICAgY3R4LmZvcmNlQmxvY2tJbmRlbnQgPSAhIWRvYy5jb21tZW50O1xuICAgICAgICAgICAgY29udGVudENvbW1lbnQgPSBkb2MuY29udGVudHMuY29tbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvbkNob21wS2VlcCA9IGNvbnRlbnRDb21tZW50ID8gdW5kZWZpbmVkIDogKCkgPT4gKGNob21wS2VlcCA9IHRydWUpO1xuICAgICAgICBsZXQgYm9keSA9IHN0cmluZ2lmeShkb2MuY29udGVudHMsIGN0eCwgKCkgPT4gKGNvbnRlbnRDb21tZW50ID0gbnVsbCksIG9uQ2hvbXBLZWVwKTtcbiAgICAgICAgaWYgKGNvbnRlbnRDb21tZW50KVxuICAgICAgICAgICAgYm9keSArPSBsaW5lQ29tbWVudChib2R5LCAnJywgY29tbWVudFN0cmluZyhjb250ZW50Q29tbWVudCkpO1xuICAgICAgICBpZiAoKGJvZHlbMF0gPT09ICd8JyB8fCBib2R5WzBdID09PSAnPicpICYmXG4gICAgICAgICAgICBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXSA9PT0gJy0tLScpIHtcbiAgICAgICAgICAgIC8vIFRvcC1sZXZlbCBibG9jayBzY2FsYXJzIHdpdGggYSBwcmVjZWRpbmcgZG9jIG1hcmtlciBvdWdodCB0byB1c2UgdGhlXG4gICAgICAgICAgICAvLyBzYW1lIGxpbmUgZm9yIHRoZWlyIGhlYWRlci5cbiAgICAgICAgICAgIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdID0gYC0tLSAke2JvZHl9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBsaW5lcy5wdXNoKGJvZHkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGluZXMucHVzaChzdHJpbmdpZnkoZG9jLmNvbnRlbnRzLCBjdHgpKTtcbiAgICB9XG4gICAgaWYgKGRvYy5kaXJlY3RpdmVzPy5kb2NFbmQpIHtcbiAgICAgICAgaWYgKGRvYy5jb21tZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjcyA9IGNvbW1lbnRTdHJpbmcoZG9jLmNvbW1lbnQpO1xuICAgICAgICAgICAgaWYgKGNzLmluY2x1ZGVzKCdcXG4nKSkge1xuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goJy4uLicpO1xuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goaW5kZW50Q29tbWVudChjcywgJycpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goYC4uLiAke2NzfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGluZXMucHVzaCgnLi4uJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBkYyA9IGRvYy5jb21tZW50O1xuICAgICAgICBpZiAoZGMgJiYgY2hvbXBLZWVwKVxuICAgICAgICAgICAgZGMgPSBkYy5yZXBsYWNlKC9eXFxuKy8sICcnKTtcbiAgICAgICAgaWYgKGRjKSB7XG4gICAgICAgICAgICBpZiAoKCFjaG9tcEtlZXAgfHwgY29udGVudENvbW1lbnQpICYmIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdICE9PSAnJylcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgICAgIGxpbmVzLnB1c2goaW5kZW50Q29tbWVudChjb21tZW50U3RyaW5nKGRjKSwgJycpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGluZXMuam9pbignXFxuJykgKyAnXFxuJztcbn1cblxuZXhwb3J0IHsgc3RyaW5naWZ5RG9jdW1lbnQgfTtcbiIsICJpbXBvcnQgeyBBbGlhcyB9IGZyb20gJy4uL25vZGVzL0FsaWFzLmpzJztcbmltcG9ydCB7IGlzRW1wdHlQYXRoLCBjb2xsZWN0aW9uRnJvbVBhdGggfSBmcm9tICcuLi9ub2Rlcy9Db2xsZWN0aW9uLmpzJztcbmltcG9ydCB7IE5PREVfVFlQRSwgRE9DLCBpc05vZGUsIGlzQ29sbGVjdGlvbiwgaXNTY2FsYXIgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBQYWlyIH0gZnJvbSAnLi4vbm9kZXMvUGFpci5qcyc7XG5pbXBvcnQgeyB0b0pTIH0gZnJvbSAnLi4vbm9kZXMvdG9KUy5qcyc7XG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tICcuLi9zY2hlbWEvU2NoZW1hLmpzJztcbmltcG9ydCB7IHN0cmluZ2lmeURvY3VtZW50IH0gZnJvbSAnLi4vc3RyaW5naWZ5L3N0cmluZ2lmeURvY3VtZW50LmpzJztcbmltcG9ydCB7IGFuY2hvck5hbWVzLCBmaW5kTmV3QW5jaG9yLCBjcmVhdGVOb2RlQW5jaG9ycyB9IGZyb20gJy4vYW5jaG9ycy5qcyc7XG5pbXBvcnQgeyBhcHBseVJldml2ZXIgfSBmcm9tICcuL2FwcGx5UmV2aXZlci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVOb2RlIH0gZnJvbSAnLi9jcmVhdGVOb2RlLmpzJztcbmltcG9ydCB7IERpcmVjdGl2ZXMgfSBmcm9tICcuL2RpcmVjdGl2ZXMuanMnO1xuXG5jbGFzcyBEb2N1bWVudCB7XG4gICAgY29uc3RydWN0b3IodmFsdWUsIHJlcGxhY2VyLCBvcHRpb25zKSB7XG4gICAgICAgIC8qKiBBIGNvbW1lbnQgYmVmb3JlIHRoaXMgRG9jdW1lbnQgKi9cbiAgICAgICAgdGhpcy5jb21tZW50QmVmb3JlID0gbnVsbDtcbiAgICAgICAgLyoqIEEgY29tbWVudCBpbW1lZGlhdGVseSBhZnRlciB0aGlzIERvY3VtZW50ICovXG4gICAgICAgIHRoaXMuY29tbWVudCA9IG51bGw7XG4gICAgICAgIC8qKiBFcnJvcnMgZW5jb3VudGVyZWQgZHVyaW5nIHBhcnNpbmcuICovXG4gICAgICAgIHRoaXMuZXJyb3JzID0gW107XG4gICAgICAgIC8qKiBXYXJuaW5ncyBlbmNvdW50ZXJlZCBkdXJpbmcgcGFyc2luZy4gKi9cbiAgICAgICAgdGhpcy53YXJuaW5ncyA9IFtdO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgTk9ERV9UWVBFLCB7IHZhbHVlOiBET0MgfSk7XG4gICAgICAgIGxldCBfcmVwbGFjZXIgPSBudWxsO1xuICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nIHx8IEFycmF5LmlzQXJyYXkocmVwbGFjZXIpKSB7XG4gICAgICAgICAgICBfcmVwbGFjZXIgPSByZXBsYWNlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQgJiYgcmVwbGFjZXIpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSByZXBsYWNlcjtcbiAgICAgICAgICAgIHJlcGxhY2VyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdCA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgaW50QXNCaWdJbnQ6IGZhbHNlLFxuICAgICAgICAgICAga2VlcFNvdXJjZVRva2VuczogZmFsc2UsXG4gICAgICAgICAgICBsb2dMZXZlbDogJ3dhcm4nLFxuICAgICAgICAgICAgcHJldHR5RXJyb3JzOiB0cnVlLFxuICAgICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgc3RyaW5nS2V5czogZmFsc2UsXG4gICAgICAgICAgICB1bmlxdWVLZXlzOiB0cnVlLFxuICAgICAgICAgICAgdmVyc2lvbjogJzEuMidcbiAgICAgICAgfSwgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdDtcbiAgICAgICAgbGV0IHsgdmVyc2lvbiB9ID0gb3B0O1xuICAgICAgICBpZiAob3B0aW9ucz8uX2RpcmVjdGl2ZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG9wdGlvbnMuX2RpcmVjdGl2ZXMuYXREb2N1bWVudCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcy55YW1sLmV4cGxpY2l0KVxuICAgICAgICAgICAgICAgIHZlcnNpb24gPSB0aGlzLmRpcmVjdGl2ZXMueWFtbC52ZXJzaW9uO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG5ldyBEaXJlY3RpdmVzKHsgdmVyc2lvbiB9KTtcbiAgICAgICAgdGhpcy5zZXRTY2hlbWEodmVyc2lvbiwgb3B0aW9ucyk7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2FuJ3QgcmVhbGx5IGtub3cgdGhhdCB0aGlzIG1hdGNoZXMgQ29udGVudHMuXG4gICAgICAgIHRoaXMuY29udGVudHMgPVxuICAgICAgICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiB0aGlzLmNyZWF0ZU5vZGUodmFsdWUsIF9yZXBsYWNlciwgb3B0aW9ucyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIGRlZXAgY29weSBvZiB0aGlzIERvY3VtZW50IGFuZCBpdHMgY29udGVudHMuXG4gICAgICpcbiAgICAgKiBDdXN0b20gTm9kZSB2YWx1ZXMgdGhhdCBpbmhlcml0IGZyb20gYE9iamVjdGAgc3RpbGwgcmVmZXIgdG8gdGhlaXIgb3JpZ2luYWwgaW5zdGFuY2VzLlxuICAgICAqL1xuICAgIGNsb25lKCkge1xuICAgICAgICBjb25zdCBjb3B5ID0gT2JqZWN0LmNyZWF0ZShEb2N1bWVudC5wcm90b3R5cGUsIHtcbiAgICAgICAgICAgIFtOT0RFX1RZUEVdOiB7IHZhbHVlOiBET0MgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29weS5jb21tZW50QmVmb3JlID0gdGhpcy5jb21tZW50QmVmb3JlO1xuICAgICAgICBjb3B5LmNvbW1lbnQgPSB0aGlzLmNvbW1lbnQ7XG4gICAgICAgIGNvcHkuZXJyb3JzID0gdGhpcy5lcnJvcnMuc2xpY2UoKTtcbiAgICAgICAgY29weS53YXJuaW5ncyA9IHRoaXMud2FybmluZ3Muc2xpY2UoKTtcbiAgICAgICAgY29weS5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcylcbiAgICAgICAgICAgIGNvcHkuZGlyZWN0aXZlcyA9IHRoaXMuZGlyZWN0aXZlcy5jbG9uZSgpO1xuICAgICAgICBjb3B5LnNjaGVtYSA9IHRoaXMuc2NoZW1hLmNsb25lKCk7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2FuJ3QgcmVhbGx5IGtub3cgdGhhdCB0aGlzIG1hdGNoZXMgQ29udGVudHMuXG4gICAgICAgIGNvcHkuY29udGVudHMgPSBpc05vZGUodGhpcy5jb250ZW50cylcbiAgICAgICAgICAgID8gdGhpcy5jb250ZW50cy5jbG9uZShjb3B5LnNjaGVtYSlcbiAgICAgICAgICAgIDogdGhpcy5jb250ZW50cztcbiAgICAgICAgaWYgKHRoaXMucmFuZ2UpXG4gICAgICAgICAgICBjb3B5LnJhbmdlID0gdGhpcy5yYW5nZS5zbGljZSgpO1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG4gICAgLyoqIEFkZHMgYSB2YWx1ZSB0byB0aGUgZG9jdW1lbnQuICovXG4gICAgYWRkKHZhbHVlKSB7XG4gICAgICAgIGlmIChhc3NlcnRDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpKVxuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5hZGQodmFsdWUpO1xuICAgIH1cbiAgICAvKiogQWRkcyBhIHZhbHVlIHRvIHRoZSBkb2N1bWVudC4gKi9cbiAgICBhZGRJbihwYXRoLCB2YWx1ZSkge1xuICAgICAgICBpZiAoYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSlcbiAgICAgICAgICAgIHRoaXMuY29udGVudHMuYWRkSW4ocGF0aCwgdmFsdWUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgYEFsaWFzYCBub2RlLCBlbnN1cmluZyB0aGF0IHRoZSB0YXJnZXQgYG5vZGVgIGhhcyB0aGUgcmVxdWlyZWQgYW5jaG9yLlxuICAgICAqXG4gICAgICogSWYgYG5vZGVgIGFscmVhZHkgaGFzIGFuIGFuY2hvciwgYG5hbWVgIGlzIGlnbm9yZWQuXG4gICAgICogT3RoZXJ3aXNlLCB0aGUgYG5vZGUuYW5jaG9yYCB2YWx1ZSB3aWxsIGJlIHNldCB0byBgbmFtZWAsXG4gICAgICogb3IgaWYgYW4gYW5jaG9yIHdpdGggdGhhdCBuYW1lIGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgZG9jdW1lbnQsXG4gICAgICogYG5hbWVgIHdpbGwgYmUgdXNlZCBhcyBhIHByZWZpeCBmb3IgYSBuZXcgdW5pcXVlIGFuY2hvci5cbiAgICAgKiBJZiBgbmFtZWAgaXMgdW5kZWZpbmVkLCB0aGUgZ2VuZXJhdGVkIGFuY2hvciB3aWxsIHVzZSAnYScgYXMgYSBwcmVmaXguXG4gICAgICovXG4gICAgY3JlYXRlQWxpYXMobm9kZSwgbmFtZSkge1xuICAgICAgICBpZiAoIW5vZGUuYW5jaG9yKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gYW5jaG9yTmFtZXModGhpcyk7XG4gICAgICAgICAgICBub2RlLmFuY2hvciA9XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItbnVsbGlzaC1jb2FsZXNjaW5nXG4gICAgICAgICAgICAgICAgIW5hbWUgfHwgcHJldi5oYXMobmFtZSkgPyBmaW5kTmV3QW5jaG9yKG5hbWUgfHwgJ2EnLCBwcmV2KSA6IG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBBbGlhcyhub2RlLmFuY2hvcik7XG4gICAgfVxuICAgIGNyZWF0ZU5vZGUodmFsdWUsIHJlcGxhY2VyLCBvcHRpb25zKSB7XG4gICAgICAgIGxldCBfcmVwbGFjZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhbHVlID0gcmVwbGFjZXIuY2FsbCh7ICcnOiB2YWx1ZSB9LCAnJywgdmFsdWUpO1xuICAgICAgICAgICAgX3JlcGxhY2VyID0gcmVwbGFjZXI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyZXBsYWNlcikpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleVRvU3RyID0gKHYpID0+IHR5cGVvZiB2ID09PSAnbnVtYmVyJyB8fCB2IGluc3RhbmNlb2YgU3RyaW5nIHx8IHYgaW5zdGFuY2VvZiBOdW1iZXI7XG4gICAgICAgICAgICBjb25zdCBhc1N0ciA9IHJlcGxhY2VyLmZpbHRlcihrZXlUb1N0cikubWFwKFN0cmluZyk7XG4gICAgICAgICAgICBpZiAoYXNTdHIubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICByZXBsYWNlciA9IHJlcGxhY2VyLmNvbmNhdChhc1N0cik7XG4gICAgICAgICAgICBfcmVwbGFjZXIgPSByZXBsYWNlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQgJiYgcmVwbGFjZXIpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSByZXBsYWNlcjtcbiAgICAgICAgICAgIHJlcGxhY2VyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgYWxpYXNEdXBsaWNhdGVPYmplY3RzLCBhbmNob3JQcmVmaXgsIGZsb3csIGtlZXBVbmRlZmluZWQsIG9uVGFnT2JqLCB0YWcgfSA9IG9wdGlvbnMgPz8ge307XG4gICAgICAgIGNvbnN0IHsgb25BbmNob3IsIHNldEFuY2hvcnMsIHNvdXJjZU9iamVjdHMgfSA9IGNyZWF0ZU5vZGVBbmNob3JzKHRoaXMsIFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1udWxsaXNoLWNvYWxlc2NpbmdcbiAgICAgICAgYW5jaG9yUHJlZml4IHx8ICdhJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGFsaWFzRHVwbGljYXRlT2JqZWN0czogYWxpYXNEdXBsaWNhdGVPYmplY3RzID8/IHRydWUsXG4gICAgICAgICAgICBrZWVwVW5kZWZpbmVkOiBrZWVwVW5kZWZpbmVkID8/IGZhbHNlLFxuICAgICAgICAgICAgb25BbmNob3IsXG4gICAgICAgICAgICBvblRhZ09iaixcbiAgICAgICAgICAgIHJlcGxhY2VyOiBfcmVwbGFjZXIsXG4gICAgICAgICAgICBzY2hlbWE6IHRoaXMuc2NoZW1hLFxuICAgICAgICAgICAgc291cmNlT2JqZWN0c1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBub2RlID0gY3JlYXRlTm9kZSh2YWx1ZSwgdGFnLCBjdHgpO1xuICAgICAgICBpZiAoZmxvdyAmJiBpc0NvbGxlY3Rpb24obm9kZSkpXG4gICAgICAgICAgICBub2RlLmZsb3cgPSB0cnVlO1xuICAgICAgICBzZXRBbmNob3JzKCk7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0IGEga2V5IGFuZCBhIHZhbHVlIGludG8gYSBgUGFpcmAgdXNpbmcgdGhlIGN1cnJlbnQgc2NoZW1hLFxuICAgICAqIHJlY3Vyc2l2ZWx5IHdyYXBwaW5nIGFsbCB2YWx1ZXMgYXMgYFNjYWxhcmAgb3IgYENvbGxlY3Rpb25gIG5vZGVzLlxuICAgICAqL1xuICAgIGNyZWF0ZVBhaXIoa2V5LCB2YWx1ZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IGsgPSB0aGlzLmNyZWF0ZU5vZGUoa2V5LCBudWxsLCBvcHRpb25zKTtcbiAgICAgICAgY29uc3QgdiA9IHRoaXMuY3JlYXRlTm9kZSh2YWx1ZSwgbnVsbCwgb3B0aW9ucyk7XG4gICAgICAgIHJldHVybiBuZXcgUGFpcihrLCB2KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gdGhlIGRvY3VtZW50LlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgaXRlbSB3YXMgZm91bmQgYW5kIHJlbW92ZWQuXG4gICAgICovXG4gICAgZGVsZXRlKGtleSkge1xuICAgICAgICByZXR1cm4gYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSA/IHRoaXMuY29udGVudHMuZGVsZXRlKGtleSkgOiBmYWxzZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gdGhlIGRvY3VtZW50LlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgaXRlbSB3YXMgZm91bmQgYW5kIHJlbW92ZWQuXG4gICAgICovXG4gICAgZGVsZXRlSW4ocGF0aCkge1xuICAgICAgICBpZiAoaXNFbXB0eVBhdGgocGF0aCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRzID09IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBQcmVzdW1lZCBpbXBvc3NpYmxlIGlmIFN0cmljdCBleHRlbmRzIGZhbHNlXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhc3NlcnRDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpXG4gICAgICAgICAgICA/IHRoaXMuY29udGVudHMuZGVsZXRlSW4ocGF0aClcbiAgICAgICAgICAgIDogZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgaXRlbSBhdCBga2V5YCwgb3IgYHVuZGVmaW5lZGAgaWYgbm90IGZvdW5kLiBCeSBkZWZhdWx0IHVud3JhcHNcbiAgICAgKiBzY2FsYXIgdmFsdWVzIGZyb20gdGhlaXIgc3Vycm91bmRpbmcgbm9kZTsgdG8gZGlzYWJsZSBzZXQgYGtlZXBTY2FsYXJgIHRvXG4gICAgICogYHRydWVgIChjb2xsZWN0aW9ucyBhcmUgYWx3YXlzIHJldHVybmVkIGludGFjdCkuXG4gICAgICovXG4gICAgZ2V0KGtleSwga2VlcFNjYWxhcikge1xuICAgICAgICByZXR1cm4gaXNDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpXG4gICAgICAgICAgICA/IHRoaXMuY29udGVudHMuZ2V0KGtleSwga2VlcFNjYWxhcilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGl0ZW0gYXQgYHBhdGhgLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgZm91bmQuIEJ5IGRlZmF1bHQgdW53cmFwc1xuICAgICAqIHNjYWxhciB2YWx1ZXMgZnJvbSB0aGVpciBzdXJyb3VuZGluZyBub2RlOyB0byBkaXNhYmxlIHNldCBga2VlcFNjYWxhcmAgdG9cbiAgICAgKiBgdHJ1ZWAgKGNvbGxlY3Rpb25zIGFyZSBhbHdheXMgcmV0dXJuZWQgaW50YWN0KS5cbiAgICAgKi9cbiAgICBnZXRJbihwYXRoLCBrZWVwU2NhbGFyKSB7XG4gICAgICAgIGlmIChpc0VtcHR5UGF0aChwYXRoKSlcbiAgICAgICAgICAgIHJldHVybiAha2VlcFNjYWxhciAmJiBpc1NjYWxhcih0aGlzLmNvbnRlbnRzKVxuICAgICAgICAgICAgICAgID8gdGhpcy5jb250ZW50cy52YWx1ZVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb250ZW50cztcbiAgICAgICAgcmV0dXJuIGlzQ29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKVxuICAgICAgICAgICAgPyB0aGlzLmNvbnRlbnRzLmdldEluKHBhdGgsIGtlZXBTY2FsYXIpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBkb2N1bWVudCBpbmNsdWRlcyBhIHZhbHVlIHdpdGggdGhlIGtleSBga2V5YC5cbiAgICAgKi9cbiAgICBoYXMoa2V5KSB7XG4gICAgICAgIHJldHVybiBpc0NvbGxlY3Rpb24odGhpcy5jb250ZW50cykgPyB0aGlzLmNvbnRlbnRzLmhhcyhrZXkpIDogZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgZG9jdW1lbnQgaW5jbHVkZXMgYSB2YWx1ZSBhdCBgcGF0aGAuXG4gICAgICovXG4gICAgaGFzSW4ocGF0aCkge1xuICAgICAgICBpZiAoaXNFbXB0eVBhdGgocGF0aCkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50cyAhPT0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gaXNDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpID8gdGhpcy5jb250ZW50cy5oYXNJbihwYXRoKSA6IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdmFsdWUgaW4gdGhpcyBkb2N1bWVudC4gRm9yIGAhIXNldGAsIGB2YWx1ZWAgbmVlZHMgdG8gYmUgYVxuICAgICAqIGJvb2xlYW4gdG8gYWRkL3JlbW92ZSB0aGUgaXRlbSBmcm9tIHRoZSBzZXQuXG4gICAgICovXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudHMgPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBXZSBjYW4ndCByZWFsbHkga25vdyB0aGF0IHRoaXMgbWF0Y2hlcyBDb250ZW50cy5cbiAgICAgICAgICAgIHRoaXMuY29udGVudHMgPSBjb2xsZWN0aW9uRnJvbVBhdGgodGhpcy5zY2hlbWEsIFtrZXldLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyBhIHZhbHVlIGluIHRoaXMgZG9jdW1lbnQuIEZvciBgISFzZXRgLCBgdmFsdWVgIG5lZWRzIHRvIGJlIGFcbiAgICAgKiBib29sZWFuIHRvIGFkZC9yZW1vdmUgdGhlIGl0ZW0gZnJvbSB0aGUgc2V0LlxuICAgICAqL1xuICAgIHNldEluKHBhdGgsIHZhbHVlKSB7XG4gICAgICAgIGlmIChpc0VtcHR5UGF0aChwYXRoKSkge1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBXZSBjYW4ndCByZWFsbHkga25vdyB0aGF0IHRoaXMgbWF0Y2hlcyBDb250ZW50cy5cbiAgICAgICAgICAgIHRoaXMuY29udGVudHMgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRlbnRzID09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2FuJ3QgcmVhbGx5IGtub3cgdGhhdCB0aGlzIG1hdGNoZXMgQ29udGVudHMuXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzID0gY29sbGVjdGlvbkZyb21QYXRoKHRoaXMuc2NoZW1hLCBBcnJheS5mcm9tKHBhdGgpLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5zZXRJbihwYXRoLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBZQU1MIHZlcnNpb24gYW5kIHNjaGVtYSB1c2VkIGJ5IHRoZSBkb2N1bWVudC5cbiAgICAgKiBBIGBudWxsYCB2ZXJzaW9uIGRpc2FibGVzIHN1cHBvcnQgZm9yIGRpcmVjdGl2ZXMsIGV4cGxpY2l0IHRhZ3MsIGFuY2hvcnMsIGFuZCBhbGlhc2VzLlxuICAgICAqIEl0IGFsc28gcmVxdWlyZXMgdGhlIGBzY2hlbWFgIG9wdGlvbiB0byBiZSBnaXZlbiBhcyBhIGBTY2hlbWFgIGluc3RhbmNlIHZhbHVlLlxuICAgICAqXG4gICAgICogT3ZlcnJpZGVzIGFsbCBwcmV2aW91c2x5IHNldCBzY2hlbWEgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBzZXRTY2hlbWEodmVyc2lvbiwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmVyc2lvbiA9PT0gJ251bWJlcicpXG4gICAgICAgICAgICB2ZXJzaW9uID0gU3RyaW5nKHZlcnNpb24pO1xuICAgICAgICBsZXQgb3B0O1xuICAgICAgICBzd2l0Y2ggKHZlcnNpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJzEuMSc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbiA9ICcxLjEnO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzID0gbmV3IERpcmVjdGl2ZXMoeyB2ZXJzaW9uOiAnMS4xJyB9KTtcbiAgICAgICAgICAgICAgICBvcHQgPSB7IHJlc29sdmVLbm93blRhZ3M6IGZhbHNlLCBzY2hlbWE6ICd5YW1sLTEuMScgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJzEuMic6XG4gICAgICAgICAgICBjYXNlICduZXh0JzpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXJlY3RpdmVzKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZXMueWFtbC52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG5ldyBEaXJlY3RpdmVzKHsgdmVyc2lvbiB9KTtcbiAgICAgICAgICAgICAgICBvcHQgPSB7IHJlc29sdmVLbm93blRhZ3M6IHRydWUsIHNjaGVtYTogJ2NvcmUnIH07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuZGlyZWN0aXZlcztcbiAgICAgICAgICAgICAgICBvcHQgPSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN2ID0gSlNPTi5zdHJpbmdpZnkodmVyc2lvbik7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAnMS4xJywgJzEuMicgb3IgbnVsbCBhcyBmaXJzdCBhcmd1bWVudCwgYnV0IGZvdW5kOiAke3N2fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE5vdCB1c2luZyBgaW5zdGFuY2VvZiBTY2hlbWFgIHRvIGFsbG93IGZvciBkdWNrIHR5cGluZ1xuICAgICAgICBpZiAob3B0aW9ucy5zY2hlbWEgaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAgICAgICB0aGlzLnNjaGVtYSA9IG9wdGlvbnMuc2NoZW1hO1xuICAgICAgICBlbHNlIGlmIChvcHQpXG4gICAgICAgICAgICB0aGlzLnNjaGVtYSA9IG5ldyBTY2hlbWEoT2JqZWN0LmFzc2lnbihvcHQsIG9wdGlvbnMpKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBXaXRoIGEgbnVsbCBZQU1MIHZlcnNpb24sIHRoZSB7IHNjaGVtYTogU2NoZW1hIH0gb3B0aW9uIGlzIHJlcXVpcmVkYCk7XG4gICAgfVxuICAgIC8vIGpzb24gJiBqc29uQXJnIGFyZSBvbmx5IHVzZWQgZnJvbSB0b0pTT04oKVxuICAgIHRvSlMoeyBqc29uLCBqc29uQXJnLCBtYXBBc01hcCwgbWF4QWxpYXNDb3VudCwgb25BbmNob3IsIHJldml2ZXIgfSA9IHt9KSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGFuY2hvcnM6IG5ldyBNYXAoKSxcbiAgICAgICAgICAgIGRvYzogdGhpcyxcbiAgICAgICAgICAgIGtlZXA6ICFqc29uLFxuICAgICAgICAgICAgbWFwQXNNYXA6IG1hcEFzTWFwID09PSB0cnVlLFxuICAgICAgICAgICAgbWFwS2V5V2FybmVkOiBmYWxzZSxcbiAgICAgICAgICAgIG1heEFsaWFzQ291bnQ6IHR5cGVvZiBtYXhBbGlhc0NvdW50ID09PSAnbnVtYmVyJyA/IG1heEFsaWFzQ291bnQgOiAxMDBcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzID0gdG9KUyh0aGlzLmNvbnRlbnRzLCBqc29uQXJnID8/ICcnLCBjdHgpO1xuICAgICAgICBpZiAodHlwZW9mIG9uQW5jaG9yID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgZm9yIChjb25zdCB7IGNvdW50LCByZXMgfSBvZiBjdHguYW5jaG9ycy52YWx1ZXMoKSlcbiAgICAgICAgICAgICAgICBvbkFuY2hvcihyZXMsIGNvdW50KTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByZXZpdmVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IGFwcGx5UmV2aXZlcihyZXZpdmVyLCB7ICcnOiByZXMgfSwgJycsIHJlcylcbiAgICAgICAgICAgIDogcmVzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIGRvY3VtZW50IGBjb250ZW50c2AuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ganNvbkFyZyBVc2VkIGJ5IGBKU09OLnN0cmluZ2lmeWAgdG8gaW5kaWNhdGUgdGhlIGFycmF5IGluZGV4IG9yXG4gICAgICogICBwcm9wZXJ0eSBuYW1lLlxuICAgICAqL1xuICAgIHRvSlNPTihqc29uQXJnLCBvbkFuY2hvcikge1xuICAgICAgICByZXR1cm4gdGhpcy50b0pTKHsganNvbjogdHJ1ZSwganNvbkFyZywgbWFwQXNNYXA6IGZhbHNlLCBvbkFuY2hvciB9KTtcbiAgICB9XG4gICAgLyoqIEEgWUFNTCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZG9jdW1lbnQuICovXG4gICAgdG9TdHJpbmcob3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICh0aGlzLmVycm9ycy5sZW5ndGggPiAwKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEb2N1bWVudCB3aXRoIGVycm9ycyBjYW5ub3QgYmUgc3RyaW5naWZpZWQnKTtcbiAgICAgICAgaWYgKCdpbmRlbnQnIGluIG9wdGlvbnMgJiZcbiAgICAgICAgICAgICghTnVtYmVyLmlzSW50ZWdlcihvcHRpb25zLmluZGVudCkgfHwgTnVtYmVyKG9wdGlvbnMuaW5kZW50KSA8PSAwKSkge1xuICAgICAgICAgICAgY29uc3QgcyA9IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMuaW5kZW50KTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJpbmRlbnRcIiBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIG5vdCAke3N9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeURvY3VtZW50KHRoaXMsIG9wdGlvbnMpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGFzc2VydENvbGxlY3Rpb24oY29udGVudHMpIHtcbiAgICBpZiAoaXNDb2xsZWN0aW9uKGNvbnRlbnRzKSlcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhIFlBTUwgY29sbGVjdGlvbiBhcyBkb2N1bWVudCBjb250ZW50cycpO1xufVxuXG5leHBvcnQgeyBEb2N1bWVudCB9O1xuIiwgImNsYXNzIFlBTUxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihuYW1lLCBwb3MsIGNvZGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgdGhpcy5wb3MgPSBwb3M7XG4gICAgfVxufVxuY2xhc3MgWUFNTFBhcnNlRXJyb3IgZXh0ZW5kcyBZQU1MRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHBvcywgY29kZSwgbWVzc2FnZSkge1xuICAgICAgICBzdXBlcignWUFNTFBhcnNlRXJyb3InLCBwb3MsIGNvZGUsIG1lc3NhZ2UpO1xuICAgIH1cbn1cbmNsYXNzIFlBTUxXYXJuaW5nIGV4dGVuZHMgWUFNTEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcihwb3MsIGNvZGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgc3VwZXIoJ1lBTUxXYXJuaW5nJywgcG9zLCBjb2RlLCBtZXNzYWdlKTtcbiAgICB9XG59XG5jb25zdCBwcmV0dGlmeUVycm9yID0gKHNyYywgbGMpID0+IChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvci5wb3NbMF0gPT09IC0xKVxuICAgICAgICByZXR1cm47XG4gICAgZXJyb3IubGluZVBvcyA9IGVycm9yLnBvcy5tYXAocG9zID0+IGxjLmxpbmVQb3MocG9zKSk7XG4gICAgY29uc3QgeyBsaW5lLCBjb2wgfSA9IGVycm9yLmxpbmVQb3NbMF07XG4gICAgZXJyb3IubWVzc2FnZSArPSBgIGF0IGxpbmUgJHtsaW5lfSwgY29sdW1uICR7Y29sfWA7XG4gICAgbGV0IGNpID0gY29sIC0gMTtcbiAgICBsZXQgbGluZVN0ciA9IHNyY1xuICAgICAgICAuc3Vic3RyaW5nKGxjLmxpbmVTdGFydHNbbGluZSAtIDFdLCBsYy5saW5lU3RhcnRzW2xpbmVdKVxuICAgICAgICAucmVwbGFjZSgvW1xcblxccl0rJC8sICcnKTtcbiAgICAvLyBUcmltIHRvIG1heCA4MCBjaGFycywga2VlcGluZyBjb2wgcG9zaXRpb24gbmVhciB0aGUgbWlkZGxlXG4gICAgaWYgKGNpID49IDYwICYmIGxpbmVTdHIubGVuZ3RoID4gODApIHtcbiAgICAgICAgY29uc3QgdHJpbVN0YXJ0ID0gTWF0aC5taW4oY2kgLSAzOSwgbGluZVN0ci5sZW5ndGggLSA3OSk7XG4gICAgICAgIGxpbmVTdHIgPSAnXHUyMDI2JyArIGxpbmVTdHIuc3Vic3RyaW5nKHRyaW1TdGFydCk7XG4gICAgICAgIGNpIC09IHRyaW1TdGFydCAtIDE7XG4gICAgfVxuICAgIGlmIChsaW5lU3RyLmxlbmd0aCA+IDgwKVxuICAgICAgICBsaW5lU3RyID0gbGluZVN0ci5zdWJzdHJpbmcoMCwgNzkpICsgJ1x1MjAyNic7XG4gICAgLy8gSW5jbHVkZSBwcmV2aW91cyBsaW5lIGluIGNvbnRleHQgaWYgcG9pbnRpbmcgYXQgbGluZSBzdGFydFxuICAgIGlmIChsaW5lID4gMSAmJiAvXiAqJC8udGVzdChsaW5lU3RyLnN1YnN0cmluZygwLCBjaSkpKSB7XG4gICAgICAgIC8vIFJlZ2V4cCB3b24ndCBtYXRjaCBpZiBzdGFydCBpcyB0cmltbWVkXG4gICAgICAgIGxldCBwcmV2ID0gc3JjLnN1YnN0cmluZyhsYy5saW5lU3RhcnRzW2xpbmUgLSAyXSwgbGMubGluZVN0YXJ0c1tsaW5lIC0gMV0pO1xuICAgICAgICBpZiAocHJldi5sZW5ndGggPiA4MClcbiAgICAgICAgICAgIHByZXYgPSBwcmV2LnN1YnN0cmluZygwLCA3OSkgKyAnXHUyMDI2XFxuJztcbiAgICAgICAgbGluZVN0ciA9IHByZXYgKyBsaW5lU3RyO1xuICAgIH1cbiAgICBpZiAoL1teIF0vLnRlc3QobGluZVN0cikpIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMTtcbiAgICAgICAgY29uc3QgZW5kID0gZXJyb3IubGluZVBvc1sxXTtcbiAgICAgICAgaWYgKGVuZCAmJiBlbmQubGluZSA9PT0gbGluZSAmJiBlbmQuY29sID4gY29sKSB7XG4gICAgICAgICAgICBjb3VudCA9IE1hdGgubWF4KDEsIE1hdGgubWluKGVuZC5jb2wgLSBjb2wsIDgwIC0gY2kpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb2ludGVyID0gJyAnLnJlcGVhdChjaSkgKyAnXicucmVwZWF0KGNvdW50KTtcbiAgICAgICAgZXJyb3IubWVzc2FnZSArPSBgOlxcblxcbiR7bGluZVN0cn1cXG4ke3BvaW50ZXJ9XFxuYDtcbiAgICB9XG59O1xuXG5leHBvcnQgeyBZQU1MRXJyb3IsIFlBTUxQYXJzZUVycm9yLCBZQU1MV2FybmluZywgcHJldHRpZnlFcnJvciB9O1xuIiwgImZ1bmN0aW9uIHJlc29sdmVQcm9wcyh0b2tlbnMsIHsgZmxvdywgaW5kaWNhdG9yLCBuZXh0LCBvZmZzZXQsIG9uRXJyb3IsIHBhcmVudEluZGVudCwgc3RhcnRPbk5ld2xpbmUgfSkge1xuICAgIGxldCBzcGFjZUJlZm9yZSA9IGZhbHNlO1xuICAgIGxldCBhdE5ld2xpbmUgPSBzdGFydE9uTmV3bGluZTtcbiAgICBsZXQgaGFzU3BhY2UgPSBzdGFydE9uTmV3bGluZTtcbiAgICBsZXQgY29tbWVudCA9ICcnO1xuICAgIGxldCBjb21tZW50U2VwID0gJyc7XG4gICAgbGV0IGhhc05ld2xpbmUgPSBmYWxzZTtcbiAgICBsZXQgcmVxU3BhY2UgPSBmYWxzZTtcbiAgICBsZXQgdGFiID0gbnVsbDtcbiAgICBsZXQgYW5jaG9yID0gbnVsbDtcbiAgICBsZXQgdGFnID0gbnVsbDtcbiAgICBsZXQgbmV3bGluZUFmdGVyUHJvcCA9IG51bGw7XG4gICAgbGV0IGNvbW1hID0gbnVsbDtcbiAgICBsZXQgZm91bmQgPSBudWxsO1xuICAgIGxldCBzdGFydCA9IG51bGw7XG4gICAgZm9yIChjb25zdCB0b2tlbiBvZiB0b2tlbnMpIHtcbiAgICAgICAgaWYgKHJlcVNwYWNlKSB7XG4gICAgICAgICAgICBpZiAodG9rZW4udHlwZSAhPT0gJ3NwYWNlJyAmJlxuICAgICAgICAgICAgICAgIHRva2VuLnR5cGUgIT09ICduZXdsaW5lJyAmJlxuICAgICAgICAgICAgICAgIHRva2VuLnR5cGUgIT09ICdjb21tYScpXG4gICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbi5vZmZzZXQsICdNSVNTSU5HX0NIQVInLCAnVGFncyBhbmQgYW5jaG9ycyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIHRoZSBuZXh0IHRva2VuIGJ5IHdoaXRlIHNwYWNlJyk7XG4gICAgICAgICAgICByZXFTcGFjZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWIpIHtcbiAgICAgICAgICAgIGlmIChhdE5ld2xpbmUgJiYgdG9rZW4udHlwZSAhPT0gJ2NvbW1lbnQnICYmIHRva2VuLnR5cGUgIT09ICduZXdsaW5lJykge1xuICAgICAgICAgICAgICAgIG9uRXJyb3IodGFiLCAnVEFCX0FTX0lOREVOVCcsICdUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFiID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKHRva2VuLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICAvLyBBdCB0aGUgZG9jIGxldmVsLCB0YWJzIGF0IGxpbmUgc3RhcnQgbWF5IGJlIHBhcnNlZFxuICAgICAgICAgICAgICAgIC8vIGFzIGxlYWRpbmcgd2hpdGUgc3BhY2UgcmF0aGVyIHRoYW4gaW5kZW50YXRpb24uXG4gICAgICAgICAgICAgICAgLy8gSW4gYSBmbG93IGNvbGxlY3Rpb24sIG9ubHkgdGhlIHBhcnNlciBoYW5kbGVzIGluZGVudC5cbiAgICAgICAgICAgICAgICBpZiAoIWZsb3cgJiZcbiAgICAgICAgICAgICAgICAgICAgKGluZGljYXRvciAhPT0gJ2RvYy1zdGFydCcgfHwgbmV4dD8udHlwZSAhPT0gJ2Zsb3ctY29sbGVjdGlvbicpICYmXG4gICAgICAgICAgICAgICAgICAgIHRva2VuLnNvdXJjZS5pbmNsdWRlcygnXFx0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFiID0gdG9rZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOiB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNTcGFjZSlcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ01JU1NJTkdfQ0hBUicsICdDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2IgPSB0b2tlbi5zb3VyY2Uuc3Vic3RyaW5nKDEpIHx8ICcgJztcbiAgICAgICAgICAgICAgICBpZiAoIWNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBjYjtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgKz0gY29tbWVudFNlcCArIGNiO1xuICAgICAgICAgICAgICAgIGNvbW1lbnRTZXAgPSAnJztcbiAgICAgICAgICAgICAgICBhdE5ld2xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIGlmIChhdE5ld2xpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ICs9IHRva2VuLnNvdXJjZTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhY2VCZWZvcmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnRTZXAgKz0gdG9rZW4uc291cmNlO1xuICAgICAgICAgICAgICAgIGF0TmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgaGFzTmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGFuY2hvciB8fCB0YWcpXG4gICAgICAgICAgICAgICAgICAgIG5ld2xpbmVBZnRlclByb3AgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICBoYXNTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdhbmNob3InOlxuICAgICAgICAgICAgICAgIGlmIChhbmNob3IpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdNVUxUSVBMRV9BTkNIT1JTJywgJ0Egbm9kZSBjYW4gaGF2ZSBhdCBtb3N0IG9uZSBhbmNob3InKTtcbiAgICAgICAgICAgICAgICBpZiAodG9rZW4uc291cmNlLmVuZHNXaXRoKCc6JykpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4ub2Zmc2V0ICsgdG9rZW4uc291cmNlLmxlbmd0aCAtIDEsICdCQURfQUxJQVMnLCAnQW5jaG9yIGVuZGluZyBpbiA6IGlzIGFtYmlndW91cycsIHRydWUpO1xuICAgICAgICAgICAgICAgIGFuY2hvciA9IHRva2VuO1xuICAgICAgICAgICAgICAgIGlmIChzdGFydCA9PT0gbnVsbClcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSB0b2tlbi5vZmZzZXQ7XG4gICAgICAgICAgICAgICAgYXROZXdsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXFTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd0YWcnOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRhZylcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ01VTFRJUExFX1RBR1MnLCAnQSBub2RlIGNhbiBoYXZlIGF0IG1vc3Qgb25lIHRhZycpO1xuICAgICAgICAgICAgICAgIHRhZyA9IHRva2VuO1xuICAgICAgICAgICAgICAgIGlmIChzdGFydCA9PT0gbnVsbClcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSB0b2tlbi5vZmZzZXQ7XG4gICAgICAgICAgICAgICAgYXROZXdsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXFTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIGluZGljYXRvcjpcbiAgICAgICAgICAgICAgICAvLyBDb3VsZCBoZXJlIGhhbmRsZSBwcmVjZWRpbmcgY29tbWVudHMgZGlmZmVyZW50bHlcbiAgICAgICAgICAgICAgICBpZiAoYW5jaG9yIHx8IHRhZylcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ0JBRF9QUk9QX09SREVSJywgYEFuY2hvcnMgYW5kIHRhZ3MgbXVzdCBiZSBhZnRlciB0aGUgJHt0b2tlbi5zb3VyY2V9IGluZGljYXRvcmApO1xuICAgICAgICAgICAgICAgIGlmIChmb3VuZClcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5leHBlY3RlZCAke3Rva2VuLnNvdXJjZX0gaW4gJHtmbG93ID8/ICdjb2xsZWN0aW9uJ31gKTtcbiAgICAgICAgICAgICAgICBmb3VuZCA9IHRva2VuO1xuICAgICAgICAgICAgICAgIGF0TmV3bGluZSA9XG4gICAgICAgICAgICAgICAgICAgIGluZGljYXRvciA9PT0gJ3NlcS1pdGVtLWluZCcgfHwgaW5kaWNhdG9yID09PSAnZXhwbGljaXQta2V5LWluZCc7XG4gICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1hJzpcbiAgICAgICAgICAgICAgICBpZiAoZmxvdykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tbWEpXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICwgaW4gJHtmbG93fWApO1xuICAgICAgICAgICAgICAgICAgICBjb21tYSA9IHRva2VuO1xuICAgICAgICAgICAgICAgICAgICBhdE5ld2xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZWxzZSBmYWxsdGhyb3VnaFxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICR7dG9rZW4udHlwZX0gdG9rZW5gKTtcbiAgICAgICAgICAgICAgICBhdE5ld2xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBoYXNTcGFjZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGxhc3QgPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGVuZCA9IGxhc3QgPyBsYXN0Lm9mZnNldCArIGxhc3Quc291cmNlLmxlbmd0aCA6IG9mZnNldDtcbiAgICBpZiAocmVxU3BhY2UgJiZcbiAgICAgICAgbmV4dCAmJlxuICAgICAgICBuZXh0LnR5cGUgIT09ICdzcGFjZScgJiZcbiAgICAgICAgbmV4dC50eXBlICE9PSAnbmV3bGluZScgJiZcbiAgICAgICAgbmV4dC50eXBlICE9PSAnY29tbWEnICYmXG4gICAgICAgIChuZXh0LnR5cGUgIT09ICdzY2FsYXInIHx8IG5leHQuc291cmNlICE9PSAnJykpIHtcbiAgICAgICAgb25FcnJvcihuZXh0Lm9mZnNldCwgJ01JU1NJTkdfQ0hBUicsICdUYWdzIGFuZCBhbmNob3JzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gdGhlIG5leHQgdG9rZW4gYnkgd2hpdGUgc3BhY2UnKTtcbiAgICB9XG4gICAgaWYgKHRhYiAmJlxuICAgICAgICAoKGF0TmV3bGluZSAmJiB0YWIuaW5kZW50IDw9IHBhcmVudEluZGVudCkgfHxcbiAgICAgICAgICAgIG5leHQ/LnR5cGUgPT09ICdibG9jay1tYXAnIHx8XG4gICAgICAgICAgICBuZXh0Py50eXBlID09PSAnYmxvY2stc2VxJykpXG4gICAgICAgIG9uRXJyb3IodGFiLCAnVEFCX0FTX0lOREVOVCcsICdUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvbicpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNvbW1hLFxuICAgICAgICBmb3VuZCxcbiAgICAgICAgc3BhY2VCZWZvcmUsXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIGhhc05ld2xpbmUsXG4gICAgICAgIGFuY2hvcixcbiAgICAgICAgdGFnLFxuICAgICAgICBuZXdsaW5lQWZ0ZXJQcm9wLFxuICAgICAgICBlbmQsXG4gICAgICAgIHN0YXJ0OiBzdGFydCA/PyBlbmRcbiAgICB9O1xufVxuXG5leHBvcnQgeyByZXNvbHZlUHJvcHMgfTtcbiIsICJmdW5jdGlvbiBjb250YWluc05ld2xpbmUoa2V5KSB7XG4gICAgaWYgKCFrZXkpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHN3aXRjaCAoa2V5LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICBjYXNlICdkb3VibGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIGlmIChrZXkuc291cmNlLmluY2x1ZGVzKCdcXG4nKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChrZXkuZW5kKVxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Qgb2Yga2V5LmVuZClcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0LnR5cGUgPT09ICduZXdsaW5lJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjYXNlICdmbG93LWNvbGxlY3Rpb24nOlxuICAgICAgICAgICAgZm9yIChjb25zdCBpdCBvZiBrZXkuaXRlbXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN0IG9mIGl0LnN0YXJ0KVxuICAgICAgICAgICAgICAgICAgICBpZiAoc3QudHlwZSA9PT0gJ25ld2xpbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdCBvZiBpdC5zZXApXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3QudHlwZSA9PT0gJ25ld2xpbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluc05ld2xpbmUoaXQua2V5KSB8fCBjb250YWluc05ld2xpbmUoaXQudmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0IHsgY29udGFpbnNOZXdsaW5lIH07XG4iLCAiaW1wb3J0IHsgY29udGFpbnNOZXdsaW5lIH0gZnJvbSAnLi91dGlsLWNvbnRhaW5zLW5ld2xpbmUuanMnO1xuXG5mdW5jdGlvbiBmbG93SW5kZW50Q2hlY2soaW5kZW50LCBmYywgb25FcnJvcikge1xuICAgIGlmIChmYz8udHlwZSA9PT0gJ2Zsb3ctY29sbGVjdGlvbicpIHtcbiAgICAgICAgY29uc3QgZW5kID0gZmMuZW5kWzBdO1xuICAgICAgICBpZiAoZW5kLmluZGVudCA9PT0gaW5kZW50ICYmXG4gICAgICAgICAgICAoZW5kLnNvdXJjZSA9PT0gJ10nIHx8IGVuZC5zb3VyY2UgPT09ICd9JykgJiZcbiAgICAgICAgICAgIGNvbnRhaW5zTmV3bGluZShmYykpIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9ICdGbG93IGVuZCBpbmRpY2F0b3Igc2hvdWxkIGJlIG1vcmUgaW5kZW50ZWQgdGhhbiBwYXJlbnQnO1xuICAgICAgICAgICAgb25FcnJvcihlbmQsICdCQURfSU5ERU5UJywgbXNnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IHsgZmxvd0luZGVudENoZWNrIH07XG4iLCAiaW1wb3J0IHsgaXNTY2FsYXIgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5cbmZ1bmN0aW9uIG1hcEluY2x1ZGVzKGN0eCwgaXRlbXMsIHNlYXJjaCkge1xuICAgIGNvbnN0IHsgdW5pcXVlS2V5cyB9ID0gY3R4Lm9wdGlvbnM7XG4gICAgaWYgKHVuaXF1ZUtleXMgPT09IGZhbHNlKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgaXNFcXVhbCA9IHR5cGVvZiB1bmlxdWVLZXlzID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gdW5pcXVlS2V5c1xuICAgICAgICA6IChhLCBiKSA9PiBhID09PSBiIHx8IChpc1NjYWxhcihhKSAmJiBpc1NjYWxhcihiKSAmJiBhLnZhbHVlID09PSBiLnZhbHVlKTtcbiAgICByZXR1cm4gaXRlbXMuc29tZShwYWlyID0+IGlzRXF1YWwocGFpci5rZXksIHNlYXJjaCkpO1xufVxuXG5leHBvcnQgeyBtYXBJbmNsdWRlcyB9O1xuIiwgImltcG9ydCB7IFBhaXIgfSBmcm9tICcuLi9ub2Rlcy9QYWlyLmpzJztcbmltcG9ydCB7IFlBTUxNYXAgfSBmcm9tICcuLi9ub2Rlcy9ZQU1MTWFwLmpzJztcbmltcG9ydCB7IHJlc29sdmVQcm9wcyB9IGZyb20gJy4vcmVzb2x2ZS1wcm9wcy5qcyc7XG5pbXBvcnQgeyBjb250YWluc05ld2xpbmUgfSBmcm9tICcuL3V0aWwtY29udGFpbnMtbmV3bGluZS5qcyc7XG5pbXBvcnQgeyBmbG93SW5kZW50Q2hlY2sgfSBmcm9tICcuL3V0aWwtZmxvdy1pbmRlbnQtY2hlY2suanMnO1xuaW1wb3J0IHsgbWFwSW5jbHVkZXMgfSBmcm9tICcuL3V0aWwtbWFwLWluY2x1ZGVzLmpzJztcblxuY29uc3Qgc3RhcnRDb2xNc2cgPSAnQWxsIG1hcHBpbmcgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4nO1xuZnVuY3Rpb24gcmVzb2x2ZUJsb2NrTWFwKHsgY29tcG9zZU5vZGUsIGNvbXBvc2VFbXB0eU5vZGUgfSwgY3R4LCBibSwgb25FcnJvciwgdGFnKSB7XG4gICAgY29uc3QgTm9kZUNsYXNzID0gdGFnPy5ub2RlQ2xhc3MgPz8gWUFNTE1hcDtcbiAgICBjb25zdCBtYXAgPSBuZXcgTm9kZUNsYXNzKGN0eC5zY2hlbWEpO1xuICAgIGlmIChjdHguYXRSb290KVxuICAgICAgICBjdHguYXRSb290ID0gZmFsc2U7XG4gICAgbGV0IG9mZnNldCA9IGJtLm9mZnNldDtcbiAgICBsZXQgY29tbWVudEVuZCA9IG51bGw7XG4gICAgZm9yIChjb25zdCBjb2xsSXRlbSBvZiBibS5pdGVtcykge1xuICAgICAgICBjb25zdCB7IHN0YXJ0LCBrZXksIHNlcCwgdmFsdWUgfSA9IGNvbGxJdGVtO1xuICAgICAgICAvLyBrZXkgcHJvcGVydGllc1xuICAgICAgICBjb25zdCBrZXlQcm9wcyA9IHJlc29sdmVQcm9wcyhzdGFydCwge1xuICAgICAgICAgICAgaW5kaWNhdG9yOiAnZXhwbGljaXQta2V5LWluZCcsXG4gICAgICAgICAgICBuZXh0OiBrZXkgPz8gc2VwPy5bMF0sXG4gICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICBvbkVycm9yLFxuICAgICAgICAgICAgcGFyZW50SW5kZW50OiBibS5pbmRlbnQsXG4gICAgICAgICAgICBzdGFydE9uTmV3bGluZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaW1wbGljaXRLZXkgPSAha2V5UHJvcHMuZm91bmQ7XG4gICAgICAgIGlmIChpbXBsaWNpdEtleSkge1xuICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkudHlwZSA9PT0gJ2Jsb2NrLXNlcScpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3Iob2Zmc2V0LCAnQkxPQ0tfQVNfSU1QTElDSVRfS0VZJywgJ0EgYmxvY2sgc2VxdWVuY2UgbWF5IG5vdCBiZSB1c2VkIGFzIGFuIGltcGxpY2l0IG1hcCBrZXknKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICgnaW5kZW50JyBpbiBrZXkgJiYga2V5LmluZGVudCAhPT0gYm0uaW5kZW50KVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JBRF9JTkRFTlQnLCBzdGFydENvbE1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWtleVByb3BzLmFuY2hvciAmJiAha2V5UHJvcHMudGFnICYmICFzZXApIHtcbiAgICAgICAgICAgICAgICBjb21tZW50RW5kID0ga2V5UHJvcHMuZW5kO1xuICAgICAgICAgICAgICAgIGlmIChrZXlQcm9wcy5jb21tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXAuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5jb21tZW50ICs9ICdcXG4nICsga2V5UHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmNvbW1lbnQgPSBrZXlQcm9wcy5jb21tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChrZXlQcm9wcy5uZXdsaW5lQWZ0ZXJQcm9wIHx8IGNvbnRhaW5zTmV3bGluZShrZXkpKSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcihrZXkgPz8gc3RhcnRbc3RhcnQubGVuZ3RoIC0gMV0sICdNVUxUSUxJTkVfSU1QTElDSVRfS0VZJywgJ0ltcGxpY2l0IGtleXMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoa2V5UHJvcHMuZm91bmQ/LmluZGVudCAhPT0gYm0uaW5kZW50KSB7XG4gICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JBRF9JTkRFTlQnLCBzdGFydENvbE1zZyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8ga2V5IHZhbHVlXG4gICAgICAgIGN0eC5hdEtleSA9IHRydWU7XG4gICAgICAgIGNvbnN0IGtleVN0YXJ0ID0ga2V5UHJvcHMuZW5kO1xuICAgICAgICBjb25zdCBrZXlOb2RlID0ga2V5XG4gICAgICAgICAgICA/IGNvbXBvc2VOb2RlKGN0eCwga2V5LCBrZXlQcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgIDogY29tcG9zZUVtcHR5Tm9kZShjdHgsIGtleVN0YXJ0LCBzdGFydCwgbnVsbCwga2V5UHJvcHMsIG9uRXJyb3IpO1xuICAgICAgICBpZiAoY3R4LnNjaGVtYS5jb21wYXQpXG4gICAgICAgICAgICBmbG93SW5kZW50Q2hlY2soYm0uaW5kZW50LCBrZXksIG9uRXJyb3IpO1xuICAgICAgICBjdHguYXRLZXkgPSBmYWxzZTtcbiAgICAgICAgaWYgKG1hcEluY2x1ZGVzKGN0eCwgbWFwLml0ZW1zLCBrZXlOb2RlKSlcbiAgICAgICAgICAgIG9uRXJyb3Ioa2V5U3RhcnQsICdEVVBMSUNBVEVfS0VZJywgJ01hcCBrZXlzIG11c3QgYmUgdW5pcXVlJyk7XG4gICAgICAgIC8vIHZhbHVlIHByb3BlcnRpZXNcbiAgICAgICAgY29uc3QgdmFsdWVQcm9wcyA9IHJlc29sdmVQcm9wcyhzZXAgPz8gW10sIHtcbiAgICAgICAgICAgIGluZGljYXRvcjogJ21hcC12YWx1ZS1pbmQnLFxuICAgICAgICAgICAgbmV4dDogdmFsdWUsXG4gICAgICAgICAgICBvZmZzZXQ6IGtleU5vZGUucmFuZ2VbMl0sXG4gICAgICAgICAgICBvbkVycm9yLFxuICAgICAgICAgICAgcGFyZW50SW5kZW50OiBibS5pbmRlbnQsXG4gICAgICAgICAgICBzdGFydE9uTmV3bGluZTogIWtleSB8fCBrZXkudHlwZSA9PT0gJ2Jsb2NrLXNjYWxhcidcbiAgICAgICAgfSk7XG4gICAgICAgIG9mZnNldCA9IHZhbHVlUHJvcHMuZW5kO1xuICAgICAgICBpZiAodmFsdWVQcm9wcy5mb3VuZCkge1xuICAgICAgICAgICAgaWYgKGltcGxpY2l0S2V5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlPy50eXBlID09PSAnYmxvY2stbWFwJyAmJiAhdmFsdWVQcm9wcy5oYXNOZXdsaW5lKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JMT0NLX0FTX0lNUExJQ0lUX0tFWScsICdOZXN0ZWQgbWFwcGluZ3MgYXJlIG5vdCBhbGxvd2VkIGluIGNvbXBhY3QgbWFwcGluZ3MnKTtcbiAgICAgICAgICAgICAgICBpZiAoY3R4Lm9wdGlvbnMuc3RyaWN0ICYmXG4gICAgICAgICAgICAgICAgICAgIGtleVByb3BzLnN0YXJ0IDwgdmFsdWVQcm9wcy5mb3VuZC5vZmZzZXQgLSAxMDI0KVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGtleU5vZGUucmFuZ2UsICdLRVlfT1ZFUl8xMDI0X0NIQVJTJywgJ1RoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgYmxvY2sgbWFwcGluZyBrZXknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHZhbHVlIHZhbHVlXG4gICAgICAgICAgICBjb25zdCB2YWx1ZU5vZGUgPSB2YWx1ZVxuICAgICAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgdmFsdWVQcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgICAgICA6IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCBvZmZzZXQsIHNlcCwgbnVsbCwgdmFsdWVQcm9wcywgb25FcnJvcik7XG4gICAgICAgICAgICBpZiAoY3R4LnNjaGVtYS5jb21wYXQpXG4gICAgICAgICAgICAgICAgZmxvd0luZGVudENoZWNrKGJtLmluZGVudCwgdmFsdWUsIG9uRXJyb3IpO1xuICAgICAgICAgICAgb2Zmc2V0ID0gdmFsdWVOb2RlLnJhbmdlWzJdO1xuICAgICAgICAgICAgY29uc3QgcGFpciA9IG5ldyBQYWlyKGtleU5vZGUsIHZhbHVlTm9kZSk7XG4gICAgICAgICAgICBpZiAoY3R4Lm9wdGlvbnMua2VlcFNvdXJjZVRva2VucylcbiAgICAgICAgICAgICAgICBwYWlyLnNyY1Rva2VuID0gY29sbEl0ZW07XG4gICAgICAgICAgICBtYXAuaXRlbXMucHVzaChwYWlyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGtleSB3aXRoIG5vIHZhbHVlXG4gICAgICAgICAgICBpZiAoaW1wbGljaXRLZXkpXG4gICAgICAgICAgICAgICAgb25FcnJvcihrZXlOb2RlLnJhbmdlLCAnTUlTU0lOR19DSEFSJywgJ0ltcGxpY2l0IG1hcCBrZXlzIG5lZWQgdG8gYmUgZm9sbG93ZWQgYnkgbWFwIHZhbHVlcycpO1xuICAgICAgICAgICAgaWYgKHZhbHVlUHJvcHMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChrZXlOb2RlLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGtleU5vZGUuY29tbWVudCArPSAnXFxuJyArIHZhbHVlUHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGtleU5vZGUuY29tbWVudCA9IHZhbHVlUHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBhaXIgPSBuZXcgUGFpcihrZXlOb2RlKTtcbiAgICAgICAgICAgIGlmIChjdHgub3B0aW9ucy5rZWVwU291cmNlVG9rZW5zKVxuICAgICAgICAgICAgICAgIHBhaXIuc3JjVG9rZW4gPSBjb2xsSXRlbTtcbiAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHBhaXIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChjb21tZW50RW5kICYmIGNvbW1lbnRFbmQgPCBvZmZzZXQpXG4gICAgICAgIG9uRXJyb3IoY29tbWVudEVuZCwgJ0lNUE9TU0lCTEUnLCAnTWFwIGNvbW1lbnQgd2l0aCB0cmFpbGluZyBjb250ZW50Jyk7XG4gICAgbWFwLnJhbmdlID0gW2JtLm9mZnNldCwgb2Zmc2V0LCBjb21tZW50RW5kID8/IG9mZnNldF07XG4gICAgcmV0dXJuIG1hcDtcbn1cblxuZXhwb3J0IHsgcmVzb2x2ZUJsb2NrTWFwIH07XG4iLCAiaW1wb3J0IHsgWUFNTFNlcSB9IGZyb20gJy4uL25vZGVzL1lBTUxTZXEuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVByb3BzIH0gZnJvbSAnLi9yZXNvbHZlLXByb3BzLmpzJztcbmltcG9ydCB7IGZsb3dJbmRlbnRDaGVjayB9IGZyb20gJy4vdXRpbC1mbG93LWluZGVudC1jaGVjay5qcyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVCbG9ja1NlcSh7IGNvbXBvc2VOb2RlLCBjb21wb3NlRW1wdHlOb2RlIH0sIGN0eCwgYnMsIG9uRXJyb3IsIHRhZykge1xuICAgIGNvbnN0IE5vZGVDbGFzcyA9IHRhZz8ubm9kZUNsYXNzID8/IFlBTUxTZXE7XG4gICAgY29uc3Qgc2VxID0gbmV3IE5vZGVDbGFzcyhjdHguc2NoZW1hKTtcbiAgICBpZiAoY3R4LmF0Um9vdClcbiAgICAgICAgY3R4LmF0Um9vdCA9IGZhbHNlO1xuICAgIGlmIChjdHguYXRLZXkpXG4gICAgICAgIGN0eC5hdEtleSA9IGZhbHNlO1xuICAgIGxldCBvZmZzZXQgPSBicy5vZmZzZXQ7XG4gICAgbGV0IGNvbW1lbnRFbmQgPSBudWxsO1xuICAgIGZvciAoY29uc3QgeyBzdGFydCwgdmFsdWUgfSBvZiBicy5pdGVtcykge1xuICAgICAgICBjb25zdCBwcm9wcyA9IHJlc29sdmVQcm9wcyhzdGFydCwge1xuICAgICAgICAgICAgaW5kaWNhdG9yOiAnc2VxLWl0ZW0taW5kJyxcbiAgICAgICAgICAgIG5leHQ6IHZhbHVlLFxuICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgb25FcnJvcixcbiAgICAgICAgICAgIHBhcmVudEluZGVudDogYnMuaW5kZW50LFxuICAgICAgICAgICAgc3RhcnRPbk5ld2xpbmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcHJvcHMuZm91bmQpIHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5hbmNob3IgfHwgcHJvcHMudGFnIHx8IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLnR5cGUgPT09ICdibG9jay1zZXEnKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHByb3BzLmVuZCwgJ0JBRF9JTkRFTlQnLCAnQWxsIHNlcXVlbmNlIGl0ZW1zIG11c3Qgc3RhcnQgYXQgdGhlIHNhbWUgY29sdW1uJyk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ01JU1NJTkdfQ0hBUicsICdTZXF1ZW5jZSBpdGVtIHdpdGhvdXQgLSBpbmRpY2F0b3InKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbW1lbnRFbmQgPSBwcm9wcy5lbmQ7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIHNlcS5jb21tZW50ID0gcHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub2RlID0gdmFsdWVcbiAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgcHJvcHMsIG9uRXJyb3IpXG4gICAgICAgICAgICA6IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCBwcm9wcy5lbmQsIHN0YXJ0LCBudWxsLCBwcm9wcywgb25FcnJvcik7XG4gICAgICAgIGlmIChjdHguc2NoZW1hLmNvbXBhdClcbiAgICAgICAgICAgIGZsb3dJbmRlbnRDaGVjayhicy5pbmRlbnQsIHZhbHVlLCBvbkVycm9yKTtcbiAgICAgICAgb2Zmc2V0ID0gbm9kZS5yYW5nZVsyXTtcbiAgICAgICAgc2VxLml0ZW1zLnB1c2gobm9kZSk7XG4gICAgfVxuICAgIHNlcS5yYW5nZSA9IFticy5vZmZzZXQsIG9mZnNldCwgY29tbWVudEVuZCA/PyBvZmZzZXRdO1xuICAgIHJldHVybiBzZXE7XG59XG5cbmV4cG9ydCB7IHJlc29sdmVCbG9ja1NlcSB9O1xuIiwgImZ1bmN0aW9uIHJlc29sdmVFbmQoZW5kLCBvZmZzZXQsIHJlcVNwYWNlLCBvbkVycm9yKSB7XG4gICAgbGV0IGNvbW1lbnQgPSAnJztcbiAgICBpZiAoZW5kKSB7XG4gICAgICAgIGxldCBoYXNTcGFjZSA9IGZhbHNlO1xuICAgICAgICBsZXQgc2VwID0gJyc7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgZW5kKSB7XG4gICAgICAgICAgICBjb25zdCB7IHNvdXJjZSwgdHlwZSB9ID0gdG9rZW47XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcVNwYWNlICYmICFoYXNTcGFjZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdNSVNTSU5HX0NIQVInLCAnQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVycycpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYiA9IHNvdXJjZS5zdWJzdHJpbmcoMSkgfHwgJyAnO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gY2I7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgKz0gc2VwICsgY2I7XG4gICAgICAgICAgICAgICAgICAgIHNlcCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgc2VwICs9IHNvdXJjZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzU3BhY2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICR7dHlwZX0gYXQgbm9kZSBlbmRgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGNvbW1lbnQsIG9mZnNldCB9O1xufVxuXG5leHBvcnQgeyByZXNvbHZlRW5kIH07XG4iLCAiaW1wb3J0IHsgaXNQYWlyIH0gZnJvbSAnLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgUGFpciB9IGZyb20gJy4uL25vZGVzL1BhaXIuanMnO1xuaW1wb3J0IHsgWUFNTE1hcCB9IGZyb20gJy4uL25vZGVzL1lBTUxNYXAuanMnO1xuaW1wb3J0IHsgWUFNTFNlcSB9IGZyb20gJy4uL25vZGVzL1lBTUxTZXEuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUVuZCB9IGZyb20gJy4vcmVzb2x2ZS1lbmQuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVByb3BzIH0gZnJvbSAnLi9yZXNvbHZlLXByb3BzLmpzJztcbmltcG9ydCB7IGNvbnRhaW5zTmV3bGluZSB9IGZyb20gJy4vdXRpbC1jb250YWlucy1uZXdsaW5lLmpzJztcbmltcG9ydCB7IG1hcEluY2x1ZGVzIH0gZnJvbSAnLi91dGlsLW1hcC1pbmNsdWRlcy5qcyc7XG5cbmNvbnN0IGJsb2NrTXNnID0gJ0Jsb2NrIGNvbGxlY3Rpb25zIGFyZSBub3QgYWxsb3dlZCB3aXRoaW4gZmxvdyBjb2xsZWN0aW9ucyc7XG5jb25zdCBpc0Jsb2NrID0gKHRva2VuKSA9PiB0b2tlbiAmJiAodG9rZW4udHlwZSA9PT0gJ2Jsb2NrLW1hcCcgfHwgdG9rZW4udHlwZSA9PT0gJ2Jsb2NrLXNlcScpO1xuZnVuY3Rpb24gcmVzb2x2ZUZsb3dDb2xsZWN0aW9uKHsgY29tcG9zZU5vZGUsIGNvbXBvc2VFbXB0eU5vZGUgfSwgY3R4LCBmYywgb25FcnJvciwgdGFnKSB7XG4gICAgY29uc3QgaXNNYXAgPSBmYy5zdGFydC5zb3VyY2UgPT09ICd7JztcbiAgICBjb25zdCBmY05hbWUgPSBpc01hcCA/ICdmbG93IG1hcCcgOiAnZmxvdyBzZXF1ZW5jZSc7XG4gICAgY29uc3QgTm9kZUNsYXNzID0gKHRhZz8ubm9kZUNsYXNzID8/IChpc01hcCA/IFlBTUxNYXAgOiBZQU1MU2VxKSk7XG4gICAgY29uc3QgY29sbCA9IG5ldyBOb2RlQ2xhc3MoY3R4LnNjaGVtYSk7XG4gICAgY29sbC5mbG93ID0gdHJ1ZTtcbiAgICBjb25zdCBhdFJvb3QgPSBjdHguYXRSb290O1xuICAgIGlmIChhdFJvb3QpXG4gICAgICAgIGN0eC5hdFJvb3QgPSBmYWxzZTtcbiAgICBpZiAoY3R4LmF0S2V5KVxuICAgICAgICBjdHguYXRLZXkgPSBmYWxzZTtcbiAgICBsZXQgb2Zmc2V0ID0gZmMub2Zmc2V0ICsgZmMuc3RhcnQuc291cmNlLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZjLml0ZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNvbnN0IGNvbGxJdGVtID0gZmMuaXRlbXNbaV07XG4gICAgICAgIGNvbnN0IHsgc3RhcnQsIGtleSwgc2VwLCB2YWx1ZSB9ID0gY29sbEl0ZW07XG4gICAgICAgIGNvbnN0IHByb3BzID0gcmVzb2x2ZVByb3BzKHN0YXJ0LCB7XG4gICAgICAgICAgICBmbG93OiBmY05hbWUsXG4gICAgICAgICAgICBpbmRpY2F0b3I6ICdleHBsaWNpdC1rZXktaW5kJyxcbiAgICAgICAgICAgIG5leHQ6IGtleSA/PyBzZXA/LlswXSxcbiAgICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICAgIG9uRXJyb3IsXG4gICAgICAgICAgICBwYXJlbnRJbmRlbnQ6IGZjLmluZGVudCxcbiAgICAgICAgICAgIHN0YXJ0T25OZXdsaW5lOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFwcm9wcy5mb3VuZCkge1xuICAgICAgICAgICAgaWYgKCFwcm9wcy5hbmNob3IgJiYgIXByb3BzLnRhZyAmJiAhc2VwICYmICF2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChpID09PSAwICYmIHByb3BzLmNvbW1hKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHByb3BzLmNvbW1hLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICwgaW4gJHtmY05hbWV9YCk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaSA8IGZjLml0ZW1zLmxlbmd0aCAtIDEpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IocHJvcHMuc3RhcnQsICdVTkVYUEVDVEVEX1RPS0VOJywgYFVuZXhwZWN0ZWQgZW1wdHkgaXRlbSBpbiAke2ZjTmFtZX1gKTtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sbC5jb21tZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbC5jb21tZW50ICs9ICdcXG4nICsgcHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbC5jb21tZW50ID0gcHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb2Zmc2V0ID0gcHJvcHMuZW5kO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpc01hcCAmJiBjdHgub3B0aW9ucy5zdHJpY3QgJiYgY29udGFpbnNOZXdsaW5lKGtleSkpXG4gICAgICAgICAgICAgICAgb25FcnJvcihrZXksIC8vIGNoZWNrZWQgYnkgY29udGFpbnNOZXdsaW5lKClcbiAgICAgICAgICAgICAgICAnTVVMVElMSU5FX0lNUExJQ0lUX0tFWScsICdJbXBsaWNpdCBrZXlzIG9mIGZsb3cgc2VxdWVuY2UgcGFpcnMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5jb21tYSlcbiAgICAgICAgICAgICAgICBvbkVycm9yKHByb3BzLmNvbW1hLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBVbmV4cGVjdGVkICwgaW4gJHtmY05hbWV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoIXByb3BzLmNvbW1hKVxuICAgICAgICAgICAgICAgIG9uRXJyb3IocHJvcHMuc3RhcnQsICdNSVNTSU5HX0NIQVInLCBgTWlzc2luZyAsIGJldHdlZW4gJHtmY05hbWV9IGl0ZW1zYCk7XG4gICAgICAgICAgICBpZiAocHJvcHMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGxldCBwcmV2SXRlbUNvbW1lbnQgPSAnJztcbiAgICAgICAgICAgICAgICBsb29wOiBmb3IgKGNvbnN0IHN0IG9mIHN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3QudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29tbWEnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldkl0ZW1Db21tZW50ID0gc3Quc291cmNlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayBsb29wO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayBsb29wO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwcmV2SXRlbUNvbW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByZXYgPSBjb2xsLml0ZW1zW2NvbGwuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1BhaXIocHJldikpXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2ID0gcHJldi52YWx1ZSA/PyBwcmV2LmtleTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXYuY29tbWVudCArPSAnXFxuJyArIHByZXZJdGVtQ29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgcHJldi5jb21tZW50ID0gcHJldkl0ZW1Db21tZW50O1xuICAgICAgICAgICAgICAgICAgICBwcm9wcy5jb21tZW50ID0gcHJvcHMuY29tbWVudC5zdWJzdHJpbmcocHJldkl0ZW1Db21tZW50Lmxlbmd0aCArIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTWFwICYmICFzZXAgJiYgIXByb3BzLmZvdW5kKSB7XG4gICAgICAgICAgICAvLyBpdGVtIGlzIGEgdmFsdWUgaW4gYSBzZXFcbiAgICAgICAgICAgIC8vIFx1MjE5MiBrZXkgJiBzZXAgYXJlIGVtcHR5LCBzdGFydCBkb2VzIG5vdCBpbmNsdWRlID8gb3IgOlxuICAgICAgICAgICAgY29uc3QgdmFsdWVOb2RlID0gdmFsdWVcbiAgICAgICAgICAgICAgICA/IGNvbXBvc2VOb2RlKGN0eCwgdmFsdWUsIHByb3BzLCBvbkVycm9yKVxuICAgICAgICAgICAgICAgIDogY29tcG9zZUVtcHR5Tm9kZShjdHgsIHByb3BzLmVuZCwgc2VwLCBudWxsLCBwcm9wcywgb25FcnJvcik7XG4gICAgICAgICAgICBjb2xsLml0ZW1zLnB1c2godmFsdWVOb2RlKTtcbiAgICAgICAgICAgIG9mZnNldCA9IHZhbHVlTm9kZS5yYW5nZVsyXTtcbiAgICAgICAgICAgIGlmIChpc0Jsb2NrKHZhbHVlKSlcbiAgICAgICAgICAgICAgICBvbkVycm9yKHZhbHVlTm9kZS5yYW5nZSwgJ0JMT0NLX0lOX0ZMT1cnLCBibG9ja01zZyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBpdGVtIGlzIGEga2V5K3ZhbHVlIHBhaXJcbiAgICAgICAgICAgIC8vIGtleSB2YWx1ZVxuICAgICAgICAgICAgY3R4LmF0S2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGtleVN0YXJ0ID0gcHJvcHMuZW5kO1xuICAgICAgICAgICAgY29uc3Qga2V5Tm9kZSA9IGtleVxuICAgICAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCBrZXksIHByb3BzLCBvbkVycm9yKVxuICAgICAgICAgICAgICAgIDogY29tcG9zZUVtcHR5Tm9kZShjdHgsIGtleVN0YXJ0LCBzdGFydCwgbnVsbCwgcHJvcHMsIG9uRXJyb3IpO1xuICAgICAgICAgICAgaWYgKGlzQmxvY2soa2V5KSlcbiAgICAgICAgICAgICAgICBvbkVycm9yKGtleU5vZGUucmFuZ2UsICdCTE9DS19JTl9GTE9XJywgYmxvY2tNc2cpO1xuICAgICAgICAgICAgY3R4LmF0S2V5ID0gZmFsc2U7XG4gICAgICAgICAgICAvLyB2YWx1ZSBwcm9wZXJ0aWVzXG4gICAgICAgICAgICBjb25zdCB2YWx1ZVByb3BzID0gcmVzb2x2ZVByb3BzKHNlcCA/PyBbXSwge1xuICAgICAgICAgICAgICAgIGZsb3c6IGZjTmFtZSxcbiAgICAgICAgICAgICAgICBpbmRpY2F0b3I6ICdtYXAtdmFsdWUtaW5kJyxcbiAgICAgICAgICAgICAgICBuZXh0OiB2YWx1ZSxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IGtleU5vZGUucmFuZ2VbMl0sXG4gICAgICAgICAgICAgICAgb25FcnJvcixcbiAgICAgICAgICAgICAgICBwYXJlbnRJbmRlbnQ6IGZjLmluZGVudCxcbiAgICAgICAgICAgICAgICBzdGFydE9uTmV3bGluZTogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHZhbHVlUHJvcHMuZm91bmQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzTWFwICYmICFwcm9wcy5mb3VuZCAmJiBjdHgub3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Qgb2Ygc2VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ID09PSB2YWx1ZVByb3BzLmZvdW5kKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3QudHlwZSA9PT0gJ25ld2xpbmUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3Ioc3QsICdNVUxUSUxJTkVfSU1QTElDSVRfS0VZJywgJ0ltcGxpY2l0IGtleXMgb2YgZmxvdyBzZXF1ZW5jZSBwYWlycyBuZWVkIHRvIGJlIG9uIGEgc2luZ2xlIGxpbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvcHMuc3RhcnQgPCB2YWx1ZVByb3BzLmZvdW5kLm9mZnNldCAtIDEwMjQpXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHZhbHVlUHJvcHMuZm91bmQsICdLRVlfT1ZFUl8xMDI0X0NIQVJTJywgJ1RoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgZmxvdyBzZXF1ZW5jZSBrZXknKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICgnc291cmNlJyBpbiB2YWx1ZSAmJiB2YWx1ZS5zb3VyY2UgJiYgdmFsdWUuc291cmNlWzBdID09PSAnOicpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodmFsdWUsICdNSVNTSU5HX0NIQVInLCBgTWlzc2luZyBzcGFjZSBhZnRlciA6IGluICR7ZmNOYW1lfWApO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih2YWx1ZVByb3BzLnN0YXJ0LCAnTUlTU0lOR19DSEFSJywgYE1pc3NpbmcgLCBvciA6IGJldHdlZW4gJHtmY05hbWV9IGl0ZW1zYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB2YWx1ZSB2YWx1ZVxuICAgICAgICAgICAgY29uc3QgdmFsdWVOb2RlID0gdmFsdWVcbiAgICAgICAgICAgICAgICA/IGNvbXBvc2VOb2RlKGN0eCwgdmFsdWUsIHZhbHVlUHJvcHMsIG9uRXJyb3IpXG4gICAgICAgICAgICAgICAgOiB2YWx1ZVByb3BzLmZvdW5kXG4gICAgICAgICAgICAgICAgICAgID8gY29tcG9zZUVtcHR5Tm9kZShjdHgsIHZhbHVlUHJvcHMuZW5kLCBzZXAsIG51bGwsIHZhbHVlUHJvcHMsIG9uRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICAgIGlmICh2YWx1ZU5vZGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNCbG9jayh2YWx1ZSkpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodmFsdWVOb2RlLnJhbmdlLCAnQkxPQ0tfSU5fRkxPVycsIGJsb2NrTXNnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlUHJvcHMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChrZXlOb2RlLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGtleU5vZGUuY29tbWVudCArPSAnXFxuJyArIHZhbHVlUHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGtleU5vZGUuY29tbWVudCA9IHZhbHVlUHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBhaXIgPSBuZXcgUGFpcihrZXlOb2RlLCB2YWx1ZU5vZGUpO1xuICAgICAgICAgICAgaWYgKGN0eC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMpXG4gICAgICAgICAgICAgICAgcGFpci5zcmNUb2tlbiA9IGNvbGxJdGVtO1xuICAgICAgICAgICAgaWYgKGlzTWFwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFwID0gY29sbDtcbiAgICAgICAgICAgICAgICBpZiAobWFwSW5jbHVkZXMoY3R4LCBtYXAuaXRlbXMsIGtleU5vZGUpKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGtleVN0YXJ0LCAnRFVQTElDQVRFX0tFWScsICdNYXAga2V5cyBtdXN0IGJlIHVuaXF1ZScpO1xuICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHBhaXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFwID0gbmV3IFlBTUxNYXAoY3R4LnNjaGVtYSk7XG4gICAgICAgICAgICAgICAgbWFwLmZsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHBhaXIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFJhbmdlID0gKHZhbHVlTm9kZSA/PyBrZXlOb2RlKS5yYW5nZTtcbiAgICAgICAgICAgICAgICBtYXAucmFuZ2UgPSBba2V5Tm9kZS5yYW5nZVswXSwgZW5kUmFuZ2VbMV0sIGVuZFJhbmdlWzJdXTtcbiAgICAgICAgICAgICAgICBjb2xsLml0ZW1zLnB1c2gobWFwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9mZnNldCA9IHZhbHVlTm9kZSA/IHZhbHVlTm9kZS5yYW5nZVsyXSA6IHZhbHVlUHJvcHMuZW5kO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGV4cGVjdGVkRW5kID0gaXNNYXAgPyAnfScgOiAnXSc7XG4gICAgY29uc3QgW2NlLCAuLi5lZV0gPSBmYy5lbmQ7XG4gICAgbGV0IGNlUG9zID0gb2Zmc2V0O1xuICAgIGlmIChjZSAmJiBjZS5zb3VyY2UgPT09IGV4cGVjdGVkRW5kKVxuICAgICAgICBjZVBvcyA9IGNlLm9mZnNldCArIGNlLnNvdXJjZS5sZW5ndGg7XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBmY05hbWVbMF0udG9VcHBlckNhc2UoKSArIGZjTmFtZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIGNvbnN0IG1zZyA9IGF0Um9vdFxuICAgICAgICAgICAgPyBgJHtuYW1lfSBtdXN0IGVuZCB3aXRoIGEgJHtleHBlY3RlZEVuZH1gXG4gICAgICAgICAgICA6IGAke25hbWV9IGluIGJsb2NrIGNvbGxlY3Rpb24gbXVzdCBiZSBzdWZmaWNpZW50bHkgaW5kZW50ZWQgYW5kIGVuZCB3aXRoIGEgJHtleHBlY3RlZEVuZH1gO1xuICAgICAgICBvbkVycm9yKG9mZnNldCwgYXRSb290ID8gJ01JU1NJTkdfQ0hBUicgOiAnQkFEX0lOREVOVCcsIG1zZyk7XG4gICAgICAgIGlmIChjZSAmJiBjZS5zb3VyY2UubGVuZ3RoICE9PSAxKVxuICAgICAgICAgICAgZWUudW5zaGlmdChjZSk7XG4gICAgfVxuICAgIGlmIChlZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGVuZCA9IHJlc29sdmVFbmQoZWUsIGNlUG9zLCBjdHgub3B0aW9ucy5zdHJpY3QsIG9uRXJyb3IpO1xuICAgICAgICBpZiAoZW5kLmNvbW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChjb2xsLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgY29sbC5jb21tZW50ICs9ICdcXG4nICsgZW5kLmNvbW1lbnQ7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY29sbC5jb21tZW50ID0gZW5kLmNvbW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29sbC5yYW5nZSA9IFtmYy5vZmZzZXQsIGNlUG9zLCBlbmQub2Zmc2V0XTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbGwucmFuZ2UgPSBbZmMub2Zmc2V0LCBjZVBvcywgY2VQb3NdO1xuICAgIH1cbiAgICByZXR1cm4gY29sbDtcbn1cblxuZXhwb3J0IHsgcmVzb2x2ZUZsb3dDb2xsZWN0aW9uIH07XG4iLCAiaW1wb3J0IHsgaXNOb2RlIH0gZnJvbSAnLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vbm9kZXMvU2NhbGFyLmpzJztcbmltcG9ydCB7IFlBTUxNYXAgfSBmcm9tICcuLi9ub2Rlcy9ZQU1MTWFwLmpzJztcbmltcG9ydCB7IFlBTUxTZXEgfSBmcm9tICcuLi9ub2Rlcy9ZQU1MU2VxLmpzJztcbmltcG9ydCB7IHJlc29sdmVCbG9ja01hcCB9IGZyb20gJy4vcmVzb2x2ZS1ibG9jay1tYXAuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUJsb2NrU2VxIH0gZnJvbSAnLi9yZXNvbHZlLWJsb2NrLXNlcS5qcyc7XG5pbXBvcnQgeyByZXNvbHZlRmxvd0NvbGxlY3Rpb24gfSBmcm9tICcuL3Jlc29sdmUtZmxvdy1jb2xsZWN0aW9uLmpzJztcblxuZnVuY3Rpb24gcmVzb2x2ZUNvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZ05hbWUsIHRhZykge1xuICAgIGNvbnN0IGNvbGwgPSB0b2tlbi50eXBlID09PSAnYmxvY2stbWFwJ1xuICAgICAgICA/IHJlc29sdmVCbG9ja01hcChDTiwgY3R4LCB0b2tlbiwgb25FcnJvciwgdGFnKVxuICAgICAgICA6IHRva2VuLnR5cGUgPT09ICdibG9jay1zZXEnXG4gICAgICAgICAgICA/IHJlc29sdmVCbG9ja1NlcShDTiwgY3R4LCB0b2tlbiwgb25FcnJvciwgdGFnKVxuICAgICAgICAgICAgOiByZXNvbHZlRmxvd0NvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZyk7XG4gICAgY29uc3QgQ29sbCA9IGNvbGwuY29uc3RydWN0b3I7XG4gICAgLy8gSWYgd2UgZ290IGEgdGFnTmFtZSBtYXRjaGluZyB0aGUgY2xhc3MsIG9yIHRoZSB0YWcgbmFtZSBpcyAnIScsXG4gICAgLy8gdGhlbiB1c2UgdGhlIHRhZ05hbWUgZnJvbSB0aGUgbm9kZSBjbGFzcyB1c2VkIHRvIGNyZWF0ZSBpdC5cbiAgICBpZiAodGFnTmFtZSA9PT0gJyEnIHx8IHRhZ05hbWUgPT09IENvbGwudGFnTmFtZSkge1xuICAgICAgICBjb2xsLnRhZyA9IENvbGwudGFnTmFtZTtcbiAgICAgICAgcmV0dXJuIGNvbGw7XG4gICAgfVxuICAgIGlmICh0YWdOYW1lKVxuICAgICAgICBjb2xsLnRhZyA9IHRhZ05hbWU7XG4gICAgcmV0dXJuIGNvbGw7XG59XG5mdW5jdGlvbiBjb21wb3NlQ29sbGVjdGlvbihDTiwgY3R4LCB0b2tlbiwgcHJvcHMsIG9uRXJyb3IpIHtcbiAgICBjb25zdCB0YWdUb2tlbiA9IHByb3BzLnRhZztcbiAgICBjb25zdCB0YWdOYW1lID0gIXRhZ1Rva2VuXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IGN0eC5kaXJlY3RpdmVzLnRhZ05hbWUodGFnVG9rZW4uc291cmNlLCBtc2cgPT4gb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZykpO1xuICAgIGlmICh0b2tlbi50eXBlID09PSAnYmxvY2stc2VxJykge1xuICAgICAgICBjb25zdCB7IGFuY2hvciwgbmV3bGluZUFmdGVyUHJvcDogbmwgfSA9IHByb3BzO1xuICAgICAgICBjb25zdCBsYXN0UHJvcCA9IGFuY2hvciAmJiB0YWdUb2tlblxuICAgICAgICAgICAgPyBhbmNob3Iub2Zmc2V0ID4gdGFnVG9rZW4ub2Zmc2V0XG4gICAgICAgICAgICAgICAgPyBhbmNob3JcbiAgICAgICAgICAgICAgICA6IHRhZ1Rva2VuXG4gICAgICAgICAgICA6IChhbmNob3IgPz8gdGFnVG9rZW4pO1xuICAgICAgICBpZiAobGFzdFByb3AgJiYgKCFubCB8fCBubC5vZmZzZXQgPCBsYXN0UHJvcC5vZmZzZXQpKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ01pc3NpbmcgbmV3bGluZSBhZnRlciBibG9jayBzZXF1ZW5jZSBwcm9wcyc7XG4gICAgICAgICAgICBvbkVycm9yKGxhc3RQcm9wLCAnTUlTU0lOR19DSEFSJywgbWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZXhwVHlwZSA9IHRva2VuLnR5cGUgPT09ICdibG9jay1tYXAnXG4gICAgICAgID8gJ21hcCdcbiAgICAgICAgOiB0b2tlbi50eXBlID09PSAnYmxvY2stc2VxJ1xuICAgICAgICAgICAgPyAnc2VxJ1xuICAgICAgICAgICAgOiB0b2tlbi5zdGFydC5zb3VyY2UgPT09ICd7J1xuICAgICAgICAgICAgICAgID8gJ21hcCdcbiAgICAgICAgICAgICAgICA6ICdzZXEnO1xuICAgIC8vIHNob3J0Y3V0OiBjaGVjayBpZiBpdCdzIGEgZ2VuZXJpYyBZQU1MTWFwIG9yIFlBTUxTZXFcbiAgICAvLyBiZWZvcmUganVtcGluZyBpbnRvIHRoZSBjdXN0b20gdGFnIGxvZ2ljLlxuICAgIGlmICghdGFnVG9rZW4gfHxcbiAgICAgICAgIXRhZ05hbWUgfHxcbiAgICAgICAgdGFnTmFtZSA9PT0gJyEnIHx8XG4gICAgICAgICh0YWdOYW1lID09PSBZQU1MTWFwLnRhZ05hbWUgJiYgZXhwVHlwZSA9PT0gJ21hcCcpIHx8XG4gICAgICAgICh0YWdOYW1lID09PSBZQU1MU2VxLnRhZ05hbWUgJiYgZXhwVHlwZSA9PT0gJ3NlcScpKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlQ29sbGVjdGlvbihDTiwgY3R4LCB0b2tlbiwgb25FcnJvciwgdGFnTmFtZSk7XG4gICAgfVxuICAgIGxldCB0YWcgPSBjdHguc2NoZW1hLnRhZ3MuZmluZCh0ID0+IHQudGFnID09PSB0YWdOYW1lICYmIHQuY29sbGVjdGlvbiA9PT0gZXhwVHlwZSk7XG4gICAgaWYgKCF0YWcpIHtcbiAgICAgICAgY29uc3Qga3QgPSBjdHguc2NoZW1hLmtub3duVGFnc1t0YWdOYW1lXTtcbiAgICAgICAgaWYgKGt0ICYmIGt0LmNvbGxlY3Rpb24gPT09IGV4cFR5cGUpIHtcbiAgICAgICAgICAgIGN0eC5zY2hlbWEudGFncy5wdXNoKE9iamVjdC5hc3NpZ24oe30sIGt0LCB7IGRlZmF1bHQ6IGZhbHNlIH0pKTtcbiAgICAgICAgICAgIHRhZyA9IGt0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGt0Py5jb2xsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcih0YWdUb2tlbiwgJ0JBRF9DT0xMRUNUSU9OX1RZUEUnLCBgJHtrdC50YWd9IHVzZWQgZm9yICR7ZXhwVHlwZX0gY29sbGVjdGlvbiwgYnV0IGV4cGVjdHMgJHtrdC5jb2xsZWN0aW9ufWAsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIGBVbnJlc29sdmVkIHRhZzogJHt0YWdOYW1lfWAsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVDb2xsZWN0aW9uKENOLCBjdHgsIHRva2VuLCBvbkVycm9yLCB0YWdOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjb2xsID0gcmVzb2x2ZUNvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZ05hbWUsIHRhZyk7XG4gICAgY29uc3QgcmVzID0gdGFnLnJlc29sdmU/Lihjb2xsLCBtc2cgPT4gb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZyksIGN0eC5vcHRpb25zKSA/PyBjb2xsO1xuICAgIGNvbnN0IG5vZGUgPSBpc05vZGUocmVzKVxuICAgICAgICA/IHJlc1xuICAgICAgICA6IG5ldyBTY2FsYXIocmVzKTtcbiAgICBub2RlLnJhbmdlID0gY29sbC5yYW5nZTtcbiAgICBub2RlLnRhZyA9IHRhZ05hbWU7XG4gICAgaWYgKHRhZz8uZm9ybWF0KVxuICAgICAgICBub2RlLmZvcm1hdCA9IHRhZy5mb3JtYXQ7XG4gICAgcmV0dXJuIG5vZGU7XG59XG5cbmV4cG9ydCB7IGNvbXBvc2VDb2xsZWN0aW9uIH07XG4iLCAiaW1wb3J0IHsgU2NhbGFyIH0gZnJvbSAnLi4vbm9kZXMvU2NhbGFyLmpzJztcblxuZnVuY3Rpb24gcmVzb2x2ZUJsb2NrU2NhbGFyKGN0eCwgc2NhbGFyLCBvbkVycm9yKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBzY2FsYXIub2Zmc2V0O1xuICAgIGNvbnN0IGhlYWRlciA9IHBhcnNlQmxvY2tTY2FsYXJIZWFkZXIoc2NhbGFyLCBjdHgub3B0aW9ucy5zdHJpY3QsIG9uRXJyb3IpO1xuICAgIGlmICghaGVhZGVyKVxuICAgICAgICByZXR1cm4geyB2YWx1ZTogJycsIHR5cGU6IG51bGwsIGNvbW1lbnQ6ICcnLCByYW5nZTogW3N0YXJ0LCBzdGFydCwgc3RhcnRdIH07XG4gICAgY29uc3QgdHlwZSA9IGhlYWRlci5tb2RlID09PSAnPicgPyBTY2FsYXIuQkxPQ0tfRk9MREVEIDogU2NhbGFyLkJMT0NLX0xJVEVSQUw7XG4gICAgY29uc3QgbGluZXMgPSBzY2FsYXIuc291cmNlID8gc3BsaXRMaW5lcyhzY2FsYXIuc291cmNlKSA6IFtdO1xuICAgIC8vIGRldGVybWluZSB0aGUgZW5kIG9mIGNvbnRlbnQgJiBzdGFydCBvZiBjaG9tcGluZ1xuICAgIGxldCBjaG9tcFN0YXJ0ID0gbGluZXMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSBsaW5lcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gbGluZXNbaV1bMV07XG4gICAgICAgIGlmIChjb250ZW50ID09PSAnJyB8fCBjb250ZW50ID09PSAnXFxyJylcbiAgICAgICAgICAgIGNob21wU3RhcnQgPSBpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgLy8gc2hvcnRjdXQgZm9yIGVtcHR5IGNvbnRlbnRzXG4gICAgaWYgKGNob21wU3RhcnQgPT09IDApIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBoZWFkZXIuY2hvbXAgPT09ICcrJyAmJiBsaW5lcy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/ICdcXG4nLnJlcGVhdChNYXRoLm1heCgxLCBsaW5lcy5sZW5ndGggLSAxKSlcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgIGxldCBlbmQgPSBzdGFydCArIGhlYWRlci5sZW5ndGg7XG4gICAgICAgIGlmIChzY2FsYXIuc291cmNlKVxuICAgICAgICAgICAgZW5kICs9IHNjYWxhci5zb3VyY2UubGVuZ3RoO1xuICAgICAgICByZXR1cm4geyB2YWx1ZSwgdHlwZSwgY29tbWVudDogaGVhZGVyLmNvbW1lbnQsIHJhbmdlOiBbc3RhcnQsIGVuZCwgZW5kXSB9O1xuICAgIH1cbiAgICAvLyBmaW5kIHRoZSBpbmRlbnRhdGlvbiBsZXZlbCB0byB0cmltIGZyb20gc3RhcnRcbiAgICBsZXQgdHJpbUluZGVudCA9IHNjYWxhci5pbmRlbnQgKyBoZWFkZXIuaW5kZW50O1xuICAgIGxldCBvZmZzZXQgPSBzY2FsYXIub2Zmc2V0ICsgaGVhZGVyLmxlbmd0aDtcbiAgICBsZXQgY29udGVudFN0YXJ0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNob21wU3RhcnQ7ICsraSkge1xuICAgICAgICBjb25zdCBbaW5kZW50LCBjb250ZW50XSA9IGxpbmVzW2ldO1xuICAgICAgICBpZiAoY29udGVudCA9PT0gJycgfHwgY29udGVudCA9PT0gJ1xccicpIHtcbiAgICAgICAgICAgIGlmIChoZWFkZXIuaW5kZW50ID09PSAwICYmIGluZGVudC5sZW5ndGggPiB0cmltSW5kZW50KVxuICAgICAgICAgICAgICAgIHRyaW1JbmRlbnQgPSBpbmRlbnQubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGluZGVudC5sZW5ndGggPCB0cmltSW5kZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdCbG9jayBzY2FsYXJzIHdpdGggbW9yZS1pbmRlbnRlZCBsZWFkaW5nIGVtcHR5IGxpbmVzIG11c3QgdXNlIGFuIGV4cGxpY2l0IGluZGVudGF0aW9uIGluZGljYXRvcic7XG4gICAgICAgICAgICAgICAgb25FcnJvcihvZmZzZXQgKyBpbmRlbnQubGVuZ3RoLCAnTUlTU0lOR19DSEFSJywgbWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaGVhZGVyLmluZGVudCA9PT0gMClcbiAgICAgICAgICAgICAgICB0cmltSW5kZW50ID0gaW5kZW50Lmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnRlbnRTdGFydCA9IGk7XG4gICAgICAgICAgICBpZiAodHJpbUluZGVudCA9PT0gMCAmJiAhY3R4LmF0Um9vdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnQmxvY2sgc2NhbGFyIHZhbHVlcyBpbiBjb2xsZWN0aW9ucyBtdXN0IGJlIGluZGVudGVkJztcbiAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JBRF9JTkRFTlQnLCBtZXNzYWdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIG9mZnNldCArPSBpbmRlbnQubGVuZ3RoICsgY29udGVudC5sZW5ndGggKyAxO1xuICAgIH1cbiAgICAvLyBpbmNsdWRlIHRyYWlsaW5nIG1vcmUtaW5kZW50ZWQgZW1wdHkgbGluZXMgaW4gY29udGVudFxuICAgIGZvciAobGV0IGkgPSBsaW5lcy5sZW5ndGggLSAxOyBpID49IGNob21wU3RhcnQ7IC0taSkge1xuICAgICAgICBpZiAobGluZXNbaV1bMF0ubGVuZ3RoID4gdHJpbUluZGVudClcbiAgICAgICAgICAgIGNob21wU3RhcnQgPSBpICsgMTtcbiAgICB9XG4gICAgbGV0IHZhbHVlID0gJyc7XG4gICAgbGV0IHNlcCA9ICcnO1xuICAgIGxldCBwcmV2TW9yZUluZGVudGVkID0gZmFsc2U7XG4gICAgLy8gbGVhZGluZyB3aGl0ZXNwYWNlIGlzIGtlcHQgaW50YWN0XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250ZW50U3RhcnQ7ICsraSlcbiAgICAgICAgdmFsdWUgKz0gbGluZXNbaV1bMF0uc2xpY2UodHJpbUluZGVudCkgKyAnXFxuJztcbiAgICBmb3IgKGxldCBpID0gY29udGVudFN0YXJ0OyBpIDwgY2hvbXBTdGFydDsgKytpKSB7XG4gICAgICAgIGxldCBbaW5kZW50LCBjb250ZW50XSA9IGxpbmVzW2ldO1xuICAgICAgICBvZmZzZXQgKz0gaW5kZW50Lmxlbmd0aCArIGNvbnRlbnQubGVuZ3RoICsgMTtcbiAgICAgICAgY29uc3QgY3JsZiA9IGNvbnRlbnRbY29udGVudC5sZW5ndGggLSAxXSA9PT0gJ1xccic7XG4gICAgICAgIGlmIChjcmxmKVxuICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuc2xpY2UoMCwgLTEpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgYWxyZWFkeSBjYXVnaHQgaW4gbGV4ZXIgKi9cbiAgICAgICAgaWYgKGNvbnRlbnQgJiYgaW5kZW50Lmxlbmd0aCA8IHRyaW1JbmRlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNyYyA9IGhlYWRlci5pbmRlbnRcbiAgICAgICAgICAgICAgICA/ICdleHBsaWNpdCBpbmRlbnRhdGlvbiBpbmRpY2F0b3InXG4gICAgICAgICAgICAgICAgOiAnZmlyc3QgbGluZSc7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYEJsb2NrIHNjYWxhciBsaW5lcyBtdXN0IG5vdCBiZSBsZXNzIGluZGVudGVkIHRoYW4gdGhlaXIgJHtzcmN9YDtcbiAgICAgICAgICAgIG9uRXJyb3Iob2Zmc2V0IC0gY29udGVudC5sZW5ndGggLSAoY3JsZiA/IDIgOiAxKSwgJ0JBRF9JTkRFTlQnLCBtZXNzYWdlKTtcbiAgICAgICAgICAgIGluZGVudCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlID09PSBTY2FsYXIuQkxPQ0tfTElURVJBTCkge1xuICAgICAgICAgICAgdmFsdWUgKz0gc2VwICsgaW5kZW50LnNsaWNlKHRyaW1JbmRlbnQpICsgY29udGVudDtcbiAgICAgICAgICAgIHNlcCA9ICdcXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGluZGVudC5sZW5ndGggPiB0cmltSW5kZW50IHx8IGNvbnRlbnRbMF0gPT09ICdcXHQnKSB7XG4gICAgICAgICAgICAvLyBtb3JlLWluZGVudGVkIGNvbnRlbnQgd2l0aGluIGEgZm9sZGVkIGJsb2NrXG4gICAgICAgICAgICBpZiAoc2VwID09PSAnICcpXG4gICAgICAgICAgICAgICAgc2VwID0gJ1xcbic7XG4gICAgICAgICAgICBlbHNlIGlmICghcHJldk1vcmVJbmRlbnRlZCAmJiBzZXAgPT09ICdcXG4nKVxuICAgICAgICAgICAgICAgIHNlcCA9ICdcXG5cXG4nO1xuICAgICAgICAgICAgdmFsdWUgKz0gc2VwICsgaW5kZW50LnNsaWNlKHRyaW1JbmRlbnQpICsgY29udGVudDtcbiAgICAgICAgICAgIHNlcCA9ICdcXG4nO1xuICAgICAgICAgICAgcHJldk1vcmVJbmRlbnRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY29udGVudCA9PT0gJycpIHtcbiAgICAgICAgICAgIC8vIGVtcHR5IGxpbmVcbiAgICAgICAgICAgIGlmIChzZXAgPT09ICdcXG4nKVxuICAgICAgICAgICAgICAgIHZhbHVlICs9ICdcXG4nO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHNlcCA9ICdcXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFsdWUgKz0gc2VwICsgY29udGVudDtcbiAgICAgICAgICAgIHNlcCA9ICcgJztcbiAgICAgICAgICAgIHByZXZNb3JlSW5kZW50ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKGhlYWRlci5jaG9tcCkge1xuICAgICAgICBjYXNlICctJzpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICcrJzpcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBjaG9tcFN0YXJ0OyBpIDwgbGluZXMubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAgdmFsdWUgKz0gJ1xcbicgKyBsaW5lc1tpXVswXS5zbGljZSh0cmltSW5kZW50KTtcbiAgICAgICAgICAgIGlmICh2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXSAhPT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgdmFsdWUgKz0gJ1xcbic7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHZhbHVlICs9ICdcXG4nO1xuICAgIH1cbiAgICBjb25zdCBlbmQgPSBzdGFydCArIGhlYWRlci5sZW5ndGggKyBzY2FsYXIuc291cmNlLmxlbmd0aDtcbiAgICByZXR1cm4geyB2YWx1ZSwgdHlwZSwgY29tbWVudDogaGVhZGVyLmNvbW1lbnQsIHJhbmdlOiBbc3RhcnQsIGVuZCwgZW5kXSB9O1xufVxuZnVuY3Rpb24gcGFyc2VCbG9ja1NjYWxhckhlYWRlcih7IG9mZnNldCwgcHJvcHMgfSwgc3RyaWN0LCBvbkVycm9yKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmIHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgaWYgKHByb3BzWzBdLnR5cGUgIT09ICdibG9jay1zY2FsYXItaGVhZGVyJykge1xuICAgICAgICBvbkVycm9yKHByb3BzWzBdLCAnSU1QT1NTSUJMRScsICdCbG9jayBzY2FsYXIgaGVhZGVyIG5vdCBmb3VuZCcpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgeyBzb3VyY2UgfSA9IHByb3BzWzBdO1xuICAgIGNvbnN0IG1vZGUgPSBzb3VyY2VbMF07XG4gICAgbGV0IGluZGVudCA9IDA7XG4gICAgbGV0IGNob21wID0gJyc7XG4gICAgbGV0IGVycm9yID0gLTE7XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2UubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY29uc3QgY2ggPSBzb3VyY2VbaV07XG4gICAgICAgIGlmICghY2hvbXAgJiYgKGNoID09PSAnLScgfHwgY2ggPT09ICcrJykpXG4gICAgICAgICAgICBjaG9tcCA9IGNoO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG4gPSBOdW1iZXIoY2gpO1xuICAgICAgICAgICAgaWYgKCFpbmRlbnQgJiYgbilcbiAgICAgICAgICAgICAgICBpbmRlbnQgPSBuO1xuICAgICAgICAgICAgZWxzZSBpZiAoZXJyb3IgPT09IC0xKVxuICAgICAgICAgICAgICAgIGVycm9yID0gb2Zmc2V0ICsgaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZXJyb3IgIT09IC0xKVxuICAgICAgICBvbkVycm9yKGVycm9yLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBCbG9jayBzY2FsYXIgaGVhZGVyIGluY2x1ZGVzIGV4dHJhIGNoYXJhY3RlcnM6ICR7c291cmNlfWApO1xuICAgIGxldCBoYXNTcGFjZSA9IGZhbHNlO1xuICAgIGxldCBjb21tZW50ID0gJyc7XG4gICAgbGV0IGxlbmd0aCA9IHNvdXJjZS5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBwcm9wcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHByb3BzW2ldO1xuICAgICAgICBzd2l0Y2ggKHRva2VuLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICBoYXNTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgbGVuZ3RoICs9IHRva2VuLnNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgICAgICBpZiAoc3RyaWN0ICYmICFoYXNTcGFjZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ0NvbW1lbnRzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gb3RoZXIgdG9rZW5zIGJ5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMnO1xuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnTUlTU0lOR19DSEFSJywgbWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxlbmd0aCArPSB0b2tlbi5zb3VyY2UubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbW1lbnQgPSB0b2tlbi5zb3VyY2Uuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdVTkVYUEVDVEVEX1RPS0VOJywgdG9rZW4ubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgbGVuZ3RoICs9IHRva2VuLnNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVW5leHBlY3RlZCB0b2tlbiBpbiBibG9jayBzY2FsYXIgaGVhZGVyOiAke3Rva2VuLnR5cGV9YDtcbiAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRzID0gdG9rZW4uc291cmNlO1xuICAgICAgICAgICAgICAgIGlmICh0cyAmJiB0eXBlb2YgdHMgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggKz0gdHMubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IG1vZGUsIGluZGVudCwgY2hvbXAsIGNvbW1lbnQsIGxlbmd0aCB9O1xufVxuLyoqIEByZXR1cm5zIEFycmF5IG9mIGxpbmVzIHNwbGl0IHVwIGFzIGBbaW5kZW50LCBjb250ZW50XWAgKi9cbmZ1bmN0aW9uIHNwbGl0TGluZXMoc291cmNlKSB7XG4gICAgY29uc3Qgc3BsaXQgPSBzb3VyY2Uuc3BsaXQoL1xcbiggKikvKTtcbiAgICBjb25zdCBmaXJzdCA9IHNwbGl0WzBdO1xuICAgIGNvbnN0IG0gPSBmaXJzdC5tYXRjaCgvXiggKikvKTtcbiAgICBjb25zdCBsaW5lMCA9IG0/LlsxXVxuICAgICAgICA/IFttWzFdLCBmaXJzdC5zbGljZShtWzFdLmxlbmd0aCldXG4gICAgICAgIDogWycnLCBmaXJzdF07XG4gICAgY29uc3QgbGluZXMgPSBbbGluZTBdO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgc3BsaXQubGVuZ3RoOyBpICs9IDIpXG4gICAgICAgIGxpbmVzLnB1c2goW3NwbGl0W2ldLCBzcGxpdFtpICsgMV1dKTtcbiAgICByZXR1cm4gbGluZXM7XG59XG5cbmV4cG9ydCB7IHJlc29sdmVCbG9ja1NjYWxhciB9O1xuIiwgImltcG9ydCB7IFNjYWxhciB9IGZyb20gJy4uL25vZGVzL1NjYWxhci5qcyc7XG5pbXBvcnQgeyByZXNvbHZlRW5kIH0gZnJvbSAnLi9yZXNvbHZlLWVuZC5qcyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVGbG93U2NhbGFyKHNjYWxhciwgc3RyaWN0LCBvbkVycm9yKSB7XG4gICAgY29uc3QgeyBvZmZzZXQsIHR5cGUsIHNvdXJjZSwgZW5kIH0gPSBzY2FsYXI7XG4gICAgbGV0IF90eXBlO1xuICAgIGxldCB2YWx1ZTtcbiAgICBjb25zdCBfb25FcnJvciA9IChyZWwsIGNvZGUsIG1zZykgPT4gb25FcnJvcihvZmZzZXQgKyByZWwsIGNvZGUsIG1zZyk7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgICAgICBfdHlwZSA9IFNjYWxhci5QTEFJTjtcbiAgICAgICAgICAgIHZhbHVlID0gcGxhaW5WYWx1ZShzb3VyY2UsIF9vbkVycm9yKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICBfdHlwZSA9IFNjYWxhci5RVU9URV9TSU5HTEU7XG4gICAgICAgICAgICB2YWx1ZSA9IHNpbmdsZVF1b3RlZFZhbHVlKHNvdXJjZSwgX29uRXJyb3IpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIF90eXBlID0gU2NhbGFyLlFVT1RFX0RPVUJMRTtcbiAgICAgICAgICAgIHZhbHVlID0gZG91YmxlUXVvdGVkVmFsdWUoc291cmNlLCBfb25FcnJvcik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIG9uRXJyb3Ioc2NhbGFyLCAnVU5FWFBFQ1RFRF9UT0tFTicsIGBFeHBlY3RlZCBhIGZsb3cgc2NhbGFyIHZhbHVlLCBidXQgZm91bmQ6ICR7dHlwZX1gKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIHR5cGU6IG51bGwsXG4gICAgICAgICAgICAgICAgY29tbWVudDogJycsXG4gICAgICAgICAgICAgICAgcmFuZ2U6IFtvZmZzZXQsIG9mZnNldCArIHNvdXJjZS5sZW5ndGgsIG9mZnNldCArIHNvdXJjZS5sZW5ndGhdXG4gICAgICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZUVuZCA9IG9mZnNldCArIHNvdXJjZS5sZW5ndGg7XG4gICAgY29uc3QgcmUgPSByZXNvbHZlRW5kKGVuZCwgdmFsdWVFbmQsIHN0cmljdCwgb25FcnJvcik7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHR5cGU6IF90eXBlLFxuICAgICAgICBjb21tZW50OiByZS5jb21tZW50LFxuICAgICAgICByYW5nZTogW29mZnNldCwgdmFsdWVFbmQsIHJlLm9mZnNldF1cbiAgICB9O1xufVxuZnVuY3Rpb24gcGxhaW5WYWx1ZShzb3VyY2UsIG9uRXJyb3IpIHtcbiAgICBsZXQgYmFkQ2hhciA9ICcnO1xuICAgIHN3aXRjaCAoc291cmNlWzBdKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0IHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgICAgIGNhc2UgJ1xcdCc6XG4gICAgICAgICAgICBiYWRDaGFyID0gJ2EgdGFiIGNoYXJhY3Rlcic7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnLCc6XG4gICAgICAgICAgICBiYWRDaGFyID0gJ2Zsb3cgaW5kaWNhdG9yIGNoYXJhY3RlciAsJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICclJzpcbiAgICAgICAgICAgIGJhZENoYXIgPSAnZGlyZWN0aXZlIGluZGljYXRvciBjaGFyYWN0ZXIgJSc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgIGNhc2UgJz4nOiB7XG4gICAgICAgICAgICBiYWRDaGFyID0gYGJsb2NrIHNjYWxhciBpbmRpY2F0b3IgJHtzb3VyY2VbMF19YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ0AnOlxuICAgICAgICBjYXNlICdgJzoge1xuICAgICAgICAgICAgYmFkQ2hhciA9IGByZXNlcnZlZCBjaGFyYWN0ZXIgJHtzb3VyY2VbMF19YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChiYWRDaGFyKVxuICAgICAgICBvbkVycm9yKDAsICdCQURfU0NBTEFSX1NUQVJUJywgYFBsYWluIHZhbHVlIGNhbm5vdCBzdGFydCB3aXRoICR7YmFkQ2hhcn1gKTtcbiAgICByZXR1cm4gZm9sZExpbmVzKHNvdXJjZSk7XG59XG5mdW5jdGlvbiBzaW5nbGVRdW90ZWRWYWx1ZShzb3VyY2UsIG9uRXJyb3IpIHtcbiAgICBpZiAoc291cmNlW3NvdXJjZS5sZW5ndGggLSAxXSAhPT0gXCInXCIgfHwgc291cmNlLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgb25FcnJvcihzb3VyY2UubGVuZ3RoLCAnTUlTU0lOR19DSEFSJywgXCJNaXNzaW5nIGNsb3NpbmcgJ3F1b3RlXCIpO1xuICAgIHJldHVybiBmb2xkTGluZXMoc291cmNlLnNsaWNlKDEsIC0xKSkucmVwbGFjZSgvJycvZywgXCInXCIpO1xufVxuZnVuY3Rpb24gZm9sZExpbmVzKHNvdXJjZSkge1xuICAgIC8qKlxuICAgICAqIFRoZSBuZWdhdGl2ZSBsb29rYmVoaW5kIGhlcmUgYW5kIGluIHRoZSBgcmVgIFJlZ0V4cCBpcyB0b1xuICAgICAqIHByZXZlbnQgY2F1c2luZyBhIHBvbHlub21pYWwgc2VhcmNoIHRpbWUgaW4gY2VydGFpbiBjYXNlcy5cbiAgICAgKlxuICAgICAqIFRoZSB0cnktY2F0Y2ggaXMgZm9yIFNhZmFyaSwgd2hpY2ggZG9lc24ndCBzdXBwb3J0IHRoaXMgeWV0OlxuICAgICAqIGh0dHBzOi8vY2FuaXVzZS5jb20vanMtcmVnZXhwLWxvb2tiZWhpbmRcbiAgICAgKi9cbiAgICBsZXQgZmlyc3QsIGxpbmU7XG4gICAgdHJ5IHtcbiAgICAgICAgZmlyc3QgPSBuZXcgUmVnRXhwKCcoLio/KSg/PCFbIFxcdF0pWyBcXHRdKlxccj9cXG4nLCAnc3knKTtcbiAgICAgICAgbGluZSA9IG5ldyBSZWdFeHAoJ1sgXFx0XSooLio/KSg/Oig/PCFbIFxcdF0pWyBcXHRdKik/XFxyP1xcbicsICdzeScpO1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIGZpcnN0ID0gLyguKj8pWyBcXHRdKlxccj9cXG4vc3k7XG4gICAgICAgIGxpbmUgPSAvWyBcXHRdKiguKj8pWyBcXHRdKlxccj9cXG4vc3k7XG4gICAgfVxuICAgIGxldCBtYXRjaCA9IGZpcnN0LmV4ZWMoc291cmNlKTtcbiAgICBpZiAoIW1hdGNoKVxuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgIGxldCByZXMgPSBtYXRjaFsxXTtcbiAgICBsZXQgc2VwID0gJyAnO1xuICAgIGxldCBwb3MgPSBmaXJzdC5sYXN0SW5kZXg7XG4gICAgbGluZS5sYXN0SW5kZXggPSBwb3M7XG4gICAgd2hpbGUgKChtYXRjaCA9IGxpbmUuZXhlYyhzb3VyY2UpKSkge1xuICAgICAgICBpZiAobWF0Y2hbMV0gPT09ICcnKSB7XG4gICAgICAgICAgICBpZiAoc2VwID09PSAnXFxuJylcbiAgICAgICAgICAgICAgICByZXMgKz0gc2VwO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHNlcCA9ICdcXG4nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmVzICs9IHNlcCArIG1hdGNoWzFdO1xuICAgICAgICAgICAgc2VwID0gJyAnO1xuICAgICAgICB9XG4gICAgICAgIHBvcyA9IGxpbmUubGFzdEluZGV4O1xuICAgIH1cbiAgICBjb25zdCBsYXN0ID0gL1sgXFx0XSooLiopL3N5O1xuICAgIGxhc3QubGFzdEluZGV4ID0gcG9zO1xuICAgIG1hdGNoID0gbGFzdC5leGVjKHNvdXJjZSk7XG4gICAgcmV0dXJuIHJlcyArIHNlcCArIChtYXRjaD8uWzFdID8/ICcnKTtcbn1cbmZ1bmN0aW9uIGRvdWJsZVF1b3RlZFZhbHVlKHNvdXJjZSwgb25FcnJvcikge1xuICAgIGxldCByZXMgPSAnJztcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHNvdXJjZS5sZW5ndGggLSAxOyArK2kpIHtcbiAgICAgICAgY29uc3QgY2ggPSBzb3VyY2VbaV07XG4gICAgICAgIGlmIChjaCA9PT0gJ1xccicgJiYgc291cmNlW2kgKyAxXSA9PT0gJ1xcbicpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKGNoID09PSAnXFxuJykge1xuICAgICAgICAgICAgY29uc3QgeyBmb2xkLCBvZmZzZXQgfSA9IGZvbGROZXdsaW5lKHNvdXJjZSwgaSk7XG4gICAgICAgICAgICByZXMgKz0gZm9sZDtcbiAgICAgICAgICAgIGkgPSBvZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY2ggPT09ICdcXFxcJykge1xuICAgICAgICAgICAgbGV0IG5leHQgPSBzb3VyY2VbKytpXTtcbiAgICAgICAgICAgIGNvbnN0IGNjID0gZXNjYXBlQ29kZXNbbmV4dF07XG4gICAgICAgICAgICBpZiAoY2MpXG4gICAgICAgICAgICAgICAgcmVzICs9IGNjO1xuICAgICAgICAgICAgZWxzZSBpZiAobmV4dCA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICAvLyBza2lwIGVzY2FwZWQgbmV3bGluZXMsIGJ1dCBzdGlsbCB0cmltIHRoZSBmb2xsb3dpbmcgbGluZVxuICAgICAgICAgICAgICAgIG5leHQgPSBzb3VyY2VbaSArIDFdO1xuICAgICAgICAgICAgICAgIHdoaWxlIChuZXh0ID09PSAnICcgfHwgbmV4dCA9PT0gJ1xcdCcpXG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSBzb3VyY2VbKytpICsgMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChuZXh0ID09PSAnXFxyJyAmJiBzb3VyY2VbaSArIDFdID09PSAnXFxuJykge1xuICAgICAgICAgICAgICAgIC8vIHNraXAgZXNjYXBlZCBDUkxGIG5ld2xpbmVzLCBidXQgc3RpbGwgdHJpbSB0aGUgZm9sbG93aW5nIGxpbmVcbiAgICAgICAgICAgICAgICBuZXh0ID0gc291cmNlWysraSArIDFdO1xuICAgICAgICAgICAgICAgIHdoaWxlIChuZXh0ID09PSAnICcgfHwgbmV4dCA9PT0gJ1xcdCcpXG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSBzb3VyY2VbKytpICsgMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChuZXh0ID09PSAneCcgfHwgbmV4dCA9PT0gJ3UnIHx8IG5leHQgPT09ICdVJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHsgeDogMiwgdTogNCwgVTogOCB9W25leHRdO1xuICAgICAgICAgICAgICAgIHJlcyArPSBwYXJzZUNoYXJDb2RlKHNvdXJjZSwgaSArIDEsIGxlbmd0aCwgb25FcnJvcik7XG4gICAgICAgICAgICAgICAgaSArPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCByYXcgPSBzb3VyY2Uuc3Vic3RyKGkgLSAxLCAyKTtcbiAgICAgICAgICAgICAgICBvbkVycm9yKGkgLSAxLCAnQkFEX0RRX0VTQ0FQRScsIGBJbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSAke3Jhd31gKTtcbiAgICAgICAgICAgICAgICByZXMgKz0gcmF3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKSB7XG4gICAgICAgICAgICAvLyB0cmltIHRyYWlsaW5nIHdoaXRlc3BhY2VcbiAgICAgICAgICAgIGNvbnN0IHdzU3RhcnQgPSBpO1xuICAgICAgICAgICAgbGV0IG5leHQgPSBzb3VyY2VbaSArIDFdO1xuICAgICAgICAgICAgd2hpbGUgKG5leHQgPT09ICcgJyB8fCBuZXh0ID09PSAnXFx0JylcbiAgICAgICAgICAgICAgICBuZXh0ID0gc291cmNlWysraSArIDFdO1xuICAgICAgICAgICAgaWYgKG5leHQgIT09ICdcXG4nICYmICEobmV4dCA9PT0gJ1xccicgJiYgc291cmNlW2kgKyAyXSA9PT0gJ1xcbicpKVxuICAgICAgICAgICAgICAgIHJlcyArPSBpID4gd3NTdGFydCA/IHNvdXJjZS5zbGljZSh3c1N0YXJ0LCBpICsgMSkgOiBjaDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlcyArPSBjaDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoc291cmNlW3NvdXJjZS5sZW5ndGggLSAxXSAhPT0gJ1wiJyB8fCBzb3VyY2UubGVuZ3RoID09PSAxKVxuICAgICAgICBvbkVycm9yKHNvdXJjZS5sZW5ndGgsICdNSVNTSU5HX0NIQVInLCAnTWlzc2luZyBjbG9zaW5nIFwicXVvdGUnKTtcbiAgICByZXR1cm4gcmVzO1xufVxuLyoqXG4gKiBGb2xkIGEgc2luZ2xlIG5ld2xpbmUgaW50byBhIHNwYWNlLCBtdWx0aXBsZSBuZXdsaW5lcyB0byBOIC0gMSBuZXdsaW5lcy5cbiAqIFByZXN1bWVzIGBzb3VyY2Vbb2Zmc2V0XSA9PT0gJ1xcbidgXG4gKi9cbmZ1bmN0aW9uIGZvbGROZXdsaW5lKHNvdXJjZSwgb2Zmc2V0KSB7XG4gICAgbGV0IGZvbGQgPSAnJztcbiAgICBsZXQgY2ggPSBzb3VyY2Vbb2Zmc2V0ICsgMV07XG4gICAgd2hpbGUgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnIHx8IGNoID09PSAnXFxuJyB8fCBjaCA9PT0gJ1xccicpIHtcbiAgICAgICAgaWYgKGNoID09PSAnXFxyJyAmJiBzb3VyY2Vbb2Zmc2V0ICsgMl0gIT09ICdcXG4nKVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICBmb2xkICs9ICdcXG4nO1xuICAgICAgICBvZmZzZXQgKz0gMTtcbiAgICAgICAgY2ggPSBzb3VyY2Vbb2Zmc2V0ICsgMV07XG4gICAgfVxuICAgIGlmICghZm9sZClcbiAgICAgICAgZm9sZCA9ICcgJztcbiAgICByZXR1cm4geyBmb2xkLCBvZmZzZXQgfTtcbn1cbmNvbnN0IGVzY2FwZUNvZGVzID0ge1xuICAgICcwJzogJ1xcMCcsIC8vIG51bGwgY2hhcmFjdGVyXG4gICAgYTogJ1xceDA3JywgLy8gYmVsbCBjaGFyYWN0ZXJcbiAgICBiOiAnXFxiJywgLy8gYmFja3NwYWNlXG4gICAgZTogJ1xceDFiJywgLy8gZXNjYXBlIGNoYXJhY3RlclxuICAgIGY6ICdcXGYnLCAvLyBmb3JtIGZlZWRcbiAgICBuOiAnXFxuJywgLy8gbGluZSBmZWVkXG4gICAgcjogJ1xccicsIC8vIGNhcnJpYWdlIHJldHVyblxuICAgIHQ6ICdcXHQnLCAvLyBob3Jpem9udGFsIHRhYlxuICAgIHY6ICdcXHYnLCAvLyB2ZXJ0aWNhbCB0YWJcbiAgICBOOiAnXFx1MDA4NScsIC8vIFVuaWNvZGUgbmV4dCBsaW5lXG4gICAgXzogJ1xcdTAwYTAnLCAvLyBVbmljb2RlIG5vbi1icmVha2luZyBzcGFjZVxuICAgIEw6ICdcXHUyMDI4JywgLy8gVW5pY29kZSBsaW5lIHNlcGFyYXRvclxuICAgIFA6ICdcXHUyMDI5JywgLy8gVW5pY29kZSBwYXJhZ3JhcGggc2VwYXJhdG9yXG4gICAgJyAnOiAnICcsXG4gICAgJ1wiJzogJ1wiJyxcbiAgICAnLyc6ICcvJyxcbiAgICAnXFxcXCc6ICdcXFxcJyxcbiAgICAnXFx0JzogJ1xcdCdcbn07XG5mdW5jdGlvbiBwYXJzZUNoYXJDb2RlKHNvdXJjZSwgb2Zmc2V0LCBsZW5ndGgsIG9uRXJyb3IpIHtcbiAgICBjb25zdCBjYyA9IHNvdXJjZS5zdWJzdHIob2Zmc2V0LCBsZW5ndGgpO1xuICAgIGNvbnN0IG9rID0gY2MubGVuZ3RoID09PSBsZW5ndGggJiYgL15bMC05YS1mQS1GXSskLy50ZXN0KGNjKTtcbiAgICBjb25zdCBjb2RlID0gb2sgPyBwYXJzZUludChjYywgMTYpIDogTmFOO1xuICAgIGlmIChpc05hTihjb2RlKSkge1xuICAgICAgICBjb25zdCByYXcgPSBzb3VyY2Uuc3Vic3RyKG9mZnNldCAtIDIsIGxlbmd0aCArIDIpO1xuICAgICAgICBvbkVycm9yKG9mZnNldCAtIDIsICdCQURfRFFfRVNDQVBFJywgYEludmFsaWQgZXNjYXBlIHNlcXVlbmNlICR7cmF3fWApO1xuICAgICAgICByZXR1cm4gcmF3O1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQoY29kZSk7XG59XG5cbmV4cG9ydCB7IHJlc29sdmVGbG93U2NhbGFyIH07XG4iLCAiaW1wb3J0IHsgaXNTY2FsYXIsIFNDQUxBUiB9IGZyb20gJy4uL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IFNjYWxhciB9IGZyb20gJy4uL25vZGVzL1NjYWxhci5qcyc7XG5pbXBvcnQgeyByZXNvbHZlQmxvY2tTY2FsYXIgfSBmcm9tICcuL3Jlc29sdmUtYmxvY2stc2NhbGFyLmpzJztcbmltcG9ydCB7IHJlc29sdmVGbG93U2NhbGFyIH0gZnJvbSAnLi9yZXNvbHZlLWZsb3ctc2NhbGFyLmpzJztcblxuZnVuY3Rpb24gY29tcG9zZVNjYWxhcihjdHgsIHRva2VuLCB0YWdUb2tlbiwgb25FcnJvcikge1xuICAgIGNvbnN0IHsgdmFsdWUsIHR5cGUsIGNvbW1lbnQsIHJhbmdlIH0gPSB0b2tlbi50eXBlID09PSAnYmxvY2stc2NhbGFyJ1xuICAgICAgICA/IHJlc29sdmVCbG9ja1NjYWxhcihjdHgsIHRva2VuLCBvbkVycm9yKVxuICAgICAgICA6IHJlc29sdmVGbG93U2NhbGFyKHRva2VuLCBjdHgub3B0aW9ucy5zdHJpY3QsIG9uRXJyb3IpO1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0YWdUb2tlblxuICAgICAgICA/IGN0eC5kaXJlY3RpdmVzLnRhZ05hbWUodGFnVG9rZW4uc291cmNlLCBtc2cgPT4gb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZykpXG4gICAgICAgIDogbnVsbDtcbiAgICBsZXQgdGFnO1xuICAgIGlmIChjdHgub3B0aW9ucy5zdHJpbmdLZXlzICYmIGN0eC5hdEtleSkge1xuICAgICAgICB0YWcgPSBjdHguc2NoZW1hW1NDQUxBUl07XG4gICAgfVxuICAgIGVsc2UgaWYgKHRhZ05hbWUpXG4gICAgICAgIHRhZyA9IGZpbmRTY2FsYXJUYWdCeU5hbWUoY3R4LnNjaGVtYSwgdmFsdWUsIHRhZ05hbWUsIHRhZ1Rva2VuLCBvbkVycm9yKTtcbiAgICBlbHNlIGlmICh0b2tlbi50eXBlID09PSAnc2NhbGFyJylcbiAgICAgICAgdGFnID0gZmluZFNjYWxhclRhZ0J5VGVzdChjdHgsIHZhbHVlLCB0b2tlbiwgb25FcnJvcik7XG4gICAgZWxzZVxuICAgICAgICB0YWcgPSBjdHguc2NoZW1hW1NDQUxBUl07XG4gICAgbGV0IHNjYWxhcjtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSB0YWcucmVzb2x2ZSh2YWx1ZSwgbXNnID0+IG9uRXJyb3IodGFnVG9rZW4gPz8gdG9rZW4sICdUQUdfUkVTT0xWRV9GQUlMRUQnLCBtc2cpLCBjdHgub3B0aW9ucyk7XG4gICAgICAgIHNjYWxhciA9IGlzU2NhbGFyKHJlcykgPyByZXMgOiBuZXcgU2NhbGFyKHJlcyk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zdCBtc2cgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG4gICAgICAgIG9uRXJyb3IodGFnVG9rZW4gPz8gdG9rZW4sICdUQUdfUkVTT0xWRV9GQUlMRUQnLCBtc2cpO1xuICAgICAgICBzY2FsYXIgPSBuZXcgU2NhbGFyKHZhbHVlKTtcbiAgICB9XG4gICAgc2NhbGFyLnJhbmdlID0gcmFuZ2U7XG4gICAgc2NhbGFyLnNvdXJjZSA9IHZhbHVlO1xuICAgIGlmICh0eXBlKVxuICAgICAgICBzY2FsYXIudHlwZSA9IHR5cGU7XG4gICAgaWYgKHRhZ05hbWUpXG4gICAgICAgIHNjYWxhci50YWcgPSB0YWdOYW1lO1xuICAgIGlmICh0YWcuZm9ybWF0KVxuICAgICAgICBzY2FsYXIuZm9ybWF0ID0gdGFnLmZvcm1hdDtcbiAgICBpZiAoY29tbWVudClcbiAgICAgICAgc2NhbGFyLmNvbW1lbnQgPSBjb21tZW50O1xuICAgIHJldHVybiBzY2FsYXI7XG59XG5mdW5jdGlvbiBmaW5kU2NhbGFyVGFnQnlOYW1lKHNjaGVtYSwgdmFsdWUsIHRhZ05hbWUsIHRhZ1Rva2VuLCBvbkVycm9yKSB7XG4gICAgaWYgKHRhZ05hbWUgPT09ICchJylcbiAgICAgICAgcmV0dXJuIHNjaGVtYVtTQ0FMQVJdOyAvLyBub24tc3BlY2lmaWMgdGFnXG4gICAgY29uc3QgbWF0Y2hXaXRoVGVzdCA9IFtdO1xuICAgIGZvciAoY29uc3QgdGFnIG9mIHNjaGVtYS50YWdzKSB7XG4gICAgICAgIGlmICghdGFnLmNvbGxlY3Rpb24gJiYgdGFnLnRhZyA9PT0gdGFnTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRhZy5kZWZhdWx0ICYmIHRhZy50ZXN0KVxuICAgICAgICAgICAgICAgIG1hdGNoV2l0aFRlc3QucHVzaCh0YWcpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCB0YWcgb2YgbWF0Y2hXaXRoVGVzdClcbiAgICAgICAgaWYgKHRhZy50ZXN0Py50ZXN0KHZhbHVlKSlcbiAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgY29uc3Qga3QgPSBzY2hlbWEua25vd25UYWdzW3RhZ05hbWVdO1xuICAgIGlmIChrdCAmJiAha3QuY29sbGVjdGlvbikge1xuICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUga25vd24gdGFnIGlzIGF2YWlsYWJsZSBmb3Igc3RyaW5naWZ5aW5nLFxuICAgICAgICAvLyBidXQgZG9lcyBub3QgZ2V0IHVzZWQgYnkgZGVmYXVsdC5cbiAgICAgICAgc2NoZW1hLnRhZ3MucHVzaChPYmplY3QuYXNzaWduKHt9LCBrdCwgeyBkZWZhdWx0OiBmYWxzZSwgdGVzdDogdW5kZWZpbmVkIH0pKTtcbiAgICAgICAgcmV0dXJuIGt0O1xuICAgIH1cbiAgICBvbkVycm9yKHRhZ1Rva2VuLCAnVEFHX1JFU09MVkVfRkFJTEVEJywgYFVucmVzb2x2ZWQgdGFnOiAke3RhZ05hbWV9YCwgdGFnTmFtZSAhPT0gJ3RhZzp5YW1sLm9yZywyMDAyOnN0cicpO1xuICAgIHJldHVybiBzY2hlbWFbU0NBTEFSXTtcbn1cbmZ1bmN0aW9uIGZpbmRTY2FsYXJUYWdCeVRlc3QoeyBhdEtleSwgZGlyZWN0aXZlcywgc2NoZW1hIH0sIHZhbHVlLCB0b2tlbiwgb25FcnJvcikge1xuICAgIGNvbnN0IHRhZyA9IHNjaGVtYS50YWdzLmZpbmQodGFnID0+ICh0YWcuZGVmYXVsdCA9PT0gdHJ1ZSB8fCAoYXRLZXkgJiYgdGFnLmRlZmF1bHQgPT09ICdrZXknKSkgJiZcbiAgICAgICAgdGFnLnRlc3Q/LnRlc3QodmFsdWUpKSB8fCBzY2hlbWFbU0NBTEFSXTtcbiAgICBpZiAoc2NoZW1hLmNvbXBhdCkge1xuICAgICAgICBjb25zdCBjb21wYXQgPSBzY2hlbWEuY29tcGF0LmZpbmQodGFnID0+IHRhZy5kZWZhdWx0ICYmIHRhZy50ZXN0Py50ZXN0KHZhbHVlKSkgPz9cbiAgICAgICAgICAgIHNjaGVtYVtTQ0FMQVJdO1xuICAgICAgICBpZiAodGFnLnRhZyAhPT0gY29tcGF0LnRhZykge1xuICAgICAgICAgICAgY29uc3QgdHMgPSBkaXJlY3RpdmVzLnRhZ1N0cmluZyh0YWcudGFnKTtcbiAgICAgICAgICAgIGNvbnN0IGNzID0gZGlyZWN0aXZlcy50YWdTdHJpbmcoY29tcGF0LnRhZyk7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSBgVmFsdWUgbWF5IGJlIHBhcnNlZCBhcyBlaXRoZXIgJHt0c30gb3IgJHtjc31gO1xuICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRhZztcbn1cblxuZXhwb3J0IHsgY29tcG9zZVNjYWxhciB9O1xuIiwgImZ1bmN0aW9uIGVtcHR5U2NhbGFyUG9zaXRpb24ob2Zmc2V0LCBiZWZvcmUsIHBvcykge1xuICAgIGlmIChiZWZvcmUpIHtcbiAgICAgICAgaWYgKHBvcyA9PT0gbnVsbClcbiAgICAgICAgICAgIHBvcyA9IGJlZm9yZS5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSBwb3MgLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICAgICAgbGV0IHN0ID0gYmVmb3JlW2ldO1xuICAgICAgICAgICAgc3dpdGNoIChzdC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQgLT0gc3Quc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUZWNobmljYWxseSwgYW4gZW1wdHkgc2NhbGFyIGlzIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBsYXN0IG5vbi1lbXB0eVxuICAgICAgICAgICAgLy8gbm9kZSwgYnV0IGl0J3MgbW9yZSB1c2VmdWwgdG8gcGxhY2UgaXQgYWZ0ZXIgYW55IHdoaXRlc3BhY2UuXG4gICAgICAgICAgICBzdCA9IGJlZm9yZVsrK2ldO1xuICAgICAgICAgICAgd2hpbGUgKHN0Py50eXBlID09PSAnc3BhY2UnKSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHN0LnNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgc3QgPSBiZWZvcmVbKytpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvZmZzZXQ7XG59XG5cbmV4cG9ydCB7IGVtcHR5U2NhbGFyUG9zaXRpb24gfTtcbiIsICJpbXBvcnQgeyBBbGlhcyB9IGZyb20gJy4uL25vZGVzL0FsaWFzLmpzJztcbmltcG9ydCB7IGlzU2NhbGFyIH0gZnJvbSAnLi4vbm9kZXMvaWRlbnRpdHkuanMnO1xuaW1wb3J0IHsgY29tcG9zZUNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbXBvc2UtY29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgeyBjb21wb3NlU2NhbGFyIH0gZnJvbSAnLi9jb21wb3NlLXNjYWxhci5qcyc7XG5pbXBvcnQgeyByZXNvbHZlRW5kIH0gZnJvbSAnLi9yZXNvbHZlLWVuZC5qcyc7XG5pbXBvcnQgeyBlbXB0eVNjYWxhclBvc2l0aW9uIH0gZnJvbSAnLi91dGlsLWVtcHR5LXNjYWxhci1wb3NpdGlvbi5qcyc7XG5cbmNvbnN0IENOID0geyBjb21wb3NlTm9kZSwgY29tcG9zZUVtcHR5Tm9kZSB9O1xuZnVuY3Rpb24gY29tcG9zZU5vZGUoY3R4LCB0b2tlbiwgcHJvcHMsIG9uRXJyb3IpIHtcbiAgICBjb25zdCBhdEtleSA9IGN0eC5hdEtleTtcbiAgICBjb25zdCB7IHNwYWNlQmVmb3JlLCBjb21tZW50LCBhbmNob3IsIHRhZyB9ID0gcHJvcHM7XG4gICAgbGV0IG5vZGU7XG4gICAgbGV0IGlzU3JjVG9rZW4gPSB0cnVlO1xuICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgICBjYXNlICdhbGlhcyc6XG4gICAgICAgICAgICBub2RlID0gY29tcG9zZUFsaWFzKGN0eCwgdG9rZW4sIG9uRXJyb3IpO1xuICAgICAgICAgICAgaWYgKGFuY2hvciB8fCB0YWcpXG4gICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ0FMSUFTX1BST1BTJywgJ0FuIGFsaWFzIG5vZGUgbXVzdCBub3Qgc3BlY2lmeSBhbnkgcHJvcGVydGllcycpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgY2FzZSAnZG91YmxlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICBjYXNlICdibG9jay1zY2FsYXInOlxuICAgICAgICAgICAgbm9kZSA9IGNvbXBvc2VTY2FsYXIoY3R4LCB0b2tlbiwgdGFnLCBvbkVycm9yKTtcbiAgICAgICAgICAgIGlmIChhbmNob3IpXG4gICAgICAgICAgICAgICAgbm9kZS5hbmNob3IgPSBhbmNob3Iuc291cmNlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdibG9jay1tYXAnOlxuICAgICAgICBjYXNlICdibG9jay1zZXEnOlxuICAgICAgICBjYXNlICdmbG93LWNvbGxlY3Rpb24nOlxuICAgICAgICAgICAgbm9kZSA9IGNvbXBvc2VDb2xsZWN0aW9uKENOLCBjdHgsIHRva2VuLCBwcm9wcywgb25FcnJvcik7XG4gICAgICAgICAgICBpZiAoYW5jaG9yKVxuICAgICAgICAgICAgICAgIG5vZGUuYW5jaG9yID0gYW5jaG9yLnNvdXJjZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRva2VuLnR5cGUgPT09ICdlcnJvcidcbiAgICAgICAgICAgICAgICA/IHRva2VuLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICA6IGBVbnN1cHBvcnRlZCB0b2tlbiAodHlwZTogJHt0b2tlbi50eXBlfSlgO1xuICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1VORVhQRUNURURfVE9LRU4nLCBtZXNzYWdlKTtcbiAgICAgICAgICAgIG5vZGUgPSBjb21wb3NlRW1wdHlOb2RlKGN0eCwgdG9rZW4ub2Zmc2V0LCB1bmRlZmluZWQsIG51bGwsIHByb3BzLCBvbkVycm9yKTtcbiAgICAgICAgICAgIGlzU3JjVG9rZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYW5jaG9yICYmIG5vZGUuYW5jaG9yID09PSAnJylcbiAgICAgICAgb25FcnJvcihhbmNob3IsICdCQURfQUxJQVMnLCAnQW5jaG9yIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmcnKTtcbiAgICBpZiAoYXRLZXkgJiZcbiAgICAgICAgY3R4Lm9wdGlvbnMuc3RyaW5nS2V5cyAmJlxuICAgICAgICAoIWlzU2NhbGFyKG5vZGUpIHx8XG4gICAgICAgICAgICB0eXBlb2Ygbm9kZS52YWx1ZSAhPT0gJ3N0cmluZycgfHxcbiAgICAgICAgICAgIChub2RlLnRhZyAmJiBub2RlLnRhZyAhPT0gJ3RhZzp5YW1sLm9yZywyMDAyOnN0cicpKSkge1xuICAgICAgICBjb25zdCBtc2cgPSAnV2l0aCBzdHJpbmdLZXlzLCBhbGwga2V5cyBtdXN0IGJlIHN0cmluZ3MnO1xuICAgICAgICBvbkVycm9yKHRhZyA/PyB0b2tlbiwgJ05PTl9TVFJJTkdfS0VZJywgbXNnKTtcbiAgICB9XG4gICAgaWYgKHNwYWNlQmVmb3JlKVxuICAgICAgICBub2RlLnNwYWNlQmVmb3JlID0gdHJ1ZTtcbiAgICBpZiAoY29tbWVudCkge1xuICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gJ3NjYWxhcicgJiYgdG9rZW4uc291cmNlID09PSAnJylcbiAgICAgICAgICAgIG5vZGUuY29tbWVudCA9IGNvbW1lbnQ7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIG5vZGUuY29tbWVudEJlZm9yZSA9IGNvbW1lbnQ7XG4gICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVHlwZSBjaGVja2luZyBtaXNzZXMgbWVhbmluZyBvZiBpc1NyY1Rva2VuXG4gICAgaWYgKGN0eC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMgJiYgaXNTcmNUb2tlbilcbiAgICAgICAgbm9kZS5zcmNUb2tlbiA9IHRva2VuO1xuICAgIHJldHVybiBub2RlO1xufVxuZnVuY3Rpb24gY29tcG9zZUVtcHR5Tm9kZShjdHgsIG9mZnNldCwgYmVmb3JlLCBwb3MsIHsgc3BhY2VCZWZvcmUsIGNvbW1lbnQsIGFuY2hvciwgdGFnLCBlbmQgfSwgb25FcnJvcikge1xuICAgIGNvbnN0IHRva2VuID0ge1xuICAgICAgICB0eXBlOiAnc2NhbGFyJyxcbiAgICAgICAgb2Zmc2V0OiBlbXB0eVNjYWxhclBvc2l0aW9uKG9mZnNldCwgYmVmb3JlLCBwb3MpLFxuICAgICAgICBpbmRlbnQ6IC0xLFxuICAgICAgICBzb3VyY2U6ICcnXG4gICAgfTtcbiAgICBjb25zdCBub2RlID0gY29tcG9zZVNjYWxhcihjdHgsIHRva2VuLCB0YWcsIG9uRXJyb3IpO1xuICAgIGlmIChhbmNob3IpIHtcbiAgICAgICAgbm9kZS5hbmNob3IgPSBhbmNob3Iuc291cmNlLnN1YnN0cmluZygxKTtcbiAgICAgICAgaWYgKG5vZGUuYW5jaG9yID09PSAnJylcbiAgICAgICAgICAgIG9uRXJyb3IoYW5jaG9yLCAnQkFEX0FMSUFTJywgJ0FuY2hvciBjYW5ub3QgYmUgYW4gZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIGlmIChzcGFjZUJlZm9yZSlcbiAgICAgICAgbm9kZS5zcGFjZUJlZm9yZSA9IHRydWU7XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgbm9kZS5jb21tZW50ID0gY29tbWVudDtcbiAgICAgICAgbm9kZS5yYW5nZVsyXSA9IGVuZDtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGU7XG59XG5mdW5jdGlvbiBjb21wb3NlQWxpYXMoeyBvcHRpb25zIH0sIHsgb2Zmc2V0LCBzb3VyY2UsIGVuZCB9LCBvbkVycm9yKSB7XG4gICAgY29uc3QgYWxpYXMgPSBuZXcgQWxpYXMoc291cmNlLnN1YnN0cmluZygxKSk7XG4gICAgaWYgKGFsaWFzLnNvdXJjZSA9PT0gJycpXG4gICAgICAgIG9uRXJyb3Iob2Zmc2V0LCAnQkFEX0FMSUFTJywgJ0FsaWFzIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmcnKTtcbiAgICBpZiAoYWxpYXMuc291cmNlLmVuZHNXaXRoKCc6JykpXG4gICAgICAgIG9uRXJyb3Iob2Zmc2V0ICsgc291cmNlLmxlbmd0aCAtIDEsICdCQURfQUxJQVMnLCAnQWxpYXMgZW5kaW5nIGluIDogaXMgYW1iaWd1b3VzJywgdHJ1ZSk7XG4gICAgY29uc3QgdmFsdWVFbmQgPSBvZmZzZXQgKyBzb3VyY2UubGVuZ3RoO1xuICAgIGNvbnN0IHJlID0gcmVzb2x2ZUVuZChlbmQsIHZhbHVlRW5kLCBvcHRpb25zLnN0cmljdCwgb25FcnJvcik7XG4gICAgYWxpYXMucmFuZ2UgPSBbb2Zmc2V0LCB2YWx1ZUVuZCwgcmUub2Zmc2V0XTtcbiAgICBpZiAocmUuY29tbWVudClcbiAgICAgICAgYWxpYXMuY29tbWVudCA9IHJlLmNvbW1lbnQ7XG4gICAgcmV0dXJuIGFsaWFzO1xufVxuXG5leHBvcnQgeyBjb21wb3NlRW1wdHlOb2RlLCBjb21wb3NlTm9kZSB9O1xuIiwgImltcG9ydCB7IERvY3VtZW50IH0gZnJvbSAnLi4vZG9jL0RvY3VtZW50LmpzJztcbmltcG9ydCB7IGNvbXBvc2VOb2RlLCBjb21wb3NlRW1wdHlOb2RlIH0gZnJvbSAnLi9jb21wb3NlLW5vZGUuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZUVuZCB9IGZyb20gJy4vcmVzb2x2ZS1lbmQuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZVByb3BzIH0gZnJvbSAnLi9yZXNvbHZlLXByb3BzLmpzJztcblxuZnVuY3Rpb24gY29tcG9zZURvYyhvcHRpb25zLCBkaXJlY3RpdmVzLCB7IG9mZnNldCwgc3RhcnQsIHZhbHVlLCBlbmQgfSwgb25FcnJvcikge1xuICAgIGNvbnN0IG9wdHMgPSBPYmplY3QuYXNzaWduKHsgX2RpcmVjdGl2ZXM6IGRpcmVjdGl2ZXMgfSwgb3B0aW9ucyk7XG4gICAgY29uc3QgZG9jID0gbmV3IERvY3VtZW50KHVuZGVmaW5lZCwgb3B0cyk7XG4gICAgY29uc3QgY3R4ID0ge1xuICAgICAgICBhdEtleTogZmFsc2UsXG4gICAgICAgIGF0Um9vdDogdHJ1ZSxcbiAgICAgICAgZGlyZWN0aXZlczogZG9jLmRpcmVjdGl2ZXMsXG4gICAgICAgIG9wdGlvbnM6IGRvYy5vcHRpb25zLFxuICAgICAgICBzY2hlbWE6IGRvYy5zY2hlbWFcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0gcmVzb2x2ZVByb3BzKHN0YXJ0LCB7XG4gICAgICAgIGluZGljYXRvcjogJ2RvYy1zdGFydCcsXG4gICAgICAgIG5leHQ6IHZhbHVlID8/IGVuZD8uWzBdLFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIG9uRXJyb3IsXG4gICAgICAgIHBhcmVudEluZGVudDogMCxcbiAgICAgICAgc3RhcnRPbk5ld2xpbmU6IHRydWVcbiAgICB9KTtcbiAgICBpZiAocHJvcHMuZm91bmQpIHtcbiAgICAgICAgZG9jLmRpcmVjdGl2ZXMuZG9jU3RhcnQgPSB0cnVlO1xuICAgICAgICBpZiAodmFsdWUgJiZcbiAgICAgICAgICAgICh2YWx1ZS50eXBlID09PSAnYmxvY2stbWFwJyB8fCB2YWx1ZS50eXBlID09PSAnYmxvY2stc2VxJykgJiZcbiAgICAgICAgICAgICFwcm9wcy5oYXNOZXdsaW5lKVxuICAgICAgICAgICAgb25FcnJvcihwcm9wcy5lbmQsICdNSVNTSU5HX0NIQVInLCAnQmxvY2sgY29sbGVjdGlvbiBjYW5ub3Qgc3RhcnQgb24gc2FtZSBsaW5lIHdpdGggZGlyZWN0aXZlcy1lbmQgbWFya2VyJyk7XG4gICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgSWYgQ29udGVudHMgaXMgc2V0LCBsZXQncyB0cnVzdCB0aGUgdXNlclxuICAgIGRvYy5jb250ZW50cyA9IHZhbHVlXG4gICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgcHJvcHMsIG9uRXJyb3IpXG4gICAgICAgIDogY29tcG9zZUVtcHR5Tm9kZShjdHgsIHByb3BzLmVuZCwgc3RhcnQsIG51bGwsIHByb3BzLCBvbkVycm9yKTtcbiAgICBjb25zdCBjb250ZW50RW5kID0gZG9jLmNvbnRlbnRzLnJhbmdlWzJdO1xuICAgIGNvbnN0IHJlID0gcmVzb2x2ZUVuZChlbmQsIGNvbnRlbnRFbmQsIGZhbHNlLCBvbkVycm9yKTtcbiAgICBpZiAocmUuY29tbWVudClcbiAgICAgICAgZG9jLmNvbW1lbnQgPSByZS5jb21tZW50O1xuICAgIGRvYy5yYW5nZSA9IFtvZmZzZXQsIGNvbnRlbnRFbmQsIHJlLm9mZnNldF07XG4gICAgcmV0dXJuIGRvYztcbn1cblxuZXhwb3J0IHsgY29tcG9zZURvYyB9O1xuIiwgImltcG9ydCB7IERpcmVjdGl2ZXMgfSBmcm9tICcuLi9kb2MvZGlyZWN0aXZlcy5qcyc7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gJy4uL2RvYy9Eb2N1bWVudC5qcyc7XG5pbXBvcnQgeyBZQU1MV2FybmluZywgWUFNTFBhcnNlRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMuanMnO1xuaW1wb3J0IHsgaXNDb2xsZWN0aW9uLCBpc1BhaXIgfSBmcm9tICcuLi9ub2Rlcy9pZGVudGl0eS5qcyc7XG5pbXBvcnQgeyBjb21wb3NlRG9jIH0gZnJvbSAnLi9jb21wb3NlLWRvYy5qcyc7XG5pbXBvcnQgeyByZXNvbHZlRW5kIH0gZnJvbSAnLi9yZXNvbHZlLWVuZC5qcyc7XG5cbmZ1bmN0aW9uIGdldEVycm9yUG9zKHNyYykge1xuICAgIGlmICh0eXBlb2Ygc3JjID09PSAnbnVtYmVyJylcbiAgICAgICAgcmV0dXJuIFtzcmMsIHNyYyArIDFdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHNyYykpXG4gICAgICAgIHJldHVybiBzcmMubGVuZ3RoID09PSAyID8gc3JjIDogW3NyY1swXSwgc3JjWzFdXTtcbiAgICBjb25zdCB7IG9mZnNldCwgc291cmNlIH0gPSBzcmM7XG4gICAgcmV0dXJuIFtvZmZzZXQsIG9mZnNldCArICh0eXBlb2Ygc291cmNlID09PSAnc3RyaW5nJyA/IHNvdXJjZS5sZW5ndGggOiAxKV07XG59XG5mdW5jdGlvbiBwYXJzZVByZWx1ZGUocHJlbHVkZSkge1xuICAgIGxldCBjb21tZW50ID0gJyc7XG4gICAgbGV0IGF0Q29tbWVudCA9IGZhbHNlO1xuICAgIGxldCBhZnRlckVtcHR5TGluZSA9IGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJlbHVkZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBwcmVsdWRlW2ldO1xuICAgICAgICBzd2l0Y2ggKHNvdXJjZVswXSkge1xuICAgICAgICAgICAgY2FzZSAnIyc6XG4gICAgICAgICAgICAgICAgY29tbWVudCArPVxuICAgICAgICAgICAgICAgICAgICAoY29tbWVudCA9PT0gJycgPyAnJyA6IGFmdGVyRW1wdHlMaW5lID8gJ1xcblxcbicgOiAnXFxuJykgK1xuICAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZS5zdWJzdHJpbmcoMSkgfHwgJyAnKTtcbiAgICAgICAgICAgICAgICBhdENvbW1lbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGFmdGVyRW1wdHlMaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICclJzpcbiAgICAgICAgICAgICAgICBpZiAocHJlbHVkZVtpICsgMV0/LlswXSAhPT0gJyMnKVxuICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICAgICAgYXRDb21tZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIC8vIFRoaXMgbWF5IGJlIHdyb25nIGFmdGVyIGRvYy1lbmQsIGJ1dCBpbiB0aGF0IGNhc2UgaXQgZG9lc24ndCBtYXR0ZXJcbiAgICAgICAgICAgICAgICBpZiAoIWF0Q29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgYWZ0ZXJFbXB0eUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGF0Q29tbWVudCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGNvbW1lbnQsIGFmdGVyRW1wdHlMaW5lIH07XG59XG4vKipcbiAqIENvbXBvc2UgYSBzdHJlYW0gb2YgQ1NUIG5vZGVzIGludG8gYSBzdHJlYW0gb2YgWUFNTCBEb2N1bWVudHMuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbXBvc2VyLCBQYXJzZXIgfSBmcm9tICd5YW1sJ1xuICpcbiAqIGNvbnN0IHNyYzogc3RyaW5nID0gLi4uXG4gKiBjb25zdCB0b2tlbnMgPSBuZXcgUGFyc2VyKCkucGFyc2Uoc3JjKVxuICogY29uc3QgZG9jcyA9IG5ldyBDb21wb3NlcigpLmNvbXBvc2UodG9rZW5zKVxuICogYGBgXG4gKi9cbmNsYXNzIENvbXBvc2VyIHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0ge30pIHtcbiAgICAgICAgdGhpcy5kb2MgPSBudWxsO1xuICAgICAgICB0aGlzLmF0RGlyZWN0aXZlcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByZWx1ZGUgPSBbXTtcbiAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICAgICAgdGhpcy53YXJuaW5ncyA9IFtdO1xuICAgICAgICB0aGlzLm9uRXJyb3IgPSAoc291cmNlLCBjb2RlLCBtZXNzYWdlLCB3YXJuaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb3MgPSBnZXRFcnJvclBvcyhzb3VyY2UpO1xuICAgICAgICAgICAgaWYgKHdhcm5pbmcpXG4gICAgICAgICAgICAgICAgdGhpcy53YXJuaW5ncy5wdXNoKG5ldyBZQU1MV2FybmluZyhwb3MsIGNvZGUsIG1lc3NhZ2UpKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9ycy5wdXNoKG5ldyBZQU1MUGFyc2VFcnJvcihwb3MsIGNvZGUsIG1lc3NhZ2UpKTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItbnVsbGlzaC1jb2FsZXNjaW5nXG4gICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG5ldyBEaXJlY3RpdmVzKHsgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uIHx8ICcxLjInIH0pO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIH1cbiAgICBkZWNvcmF0ZShkb2MsIGFmdGVyRG9jKSB7XG4gICAgICAgIGNvbnN0IHsgY29tbWVudCwgYWZ0ZXJFbXB0eUxpbmUgfSA9IHBhcnNlUHJlbHVkZSh0aGlzLnByZWx1ZGUpO1xuICAgICAgICAvL2NvbnNvbGUubG9nKHsgZGM6IGRvYy5jb21tZW50LCBwcmVsdWRlLCBjb21tZW50IH0pXG4gICAgICAgIGlmIChjb21tZW50KSB7XG4gICAgICAgICAgICBjb25zdCBkYyA9IGRvYy5jb250ZW50cztcbiAgICAgICAgICAgIGlmIChhZnRlckRvYykge1xuICAgICAgICAgICAgICAgIGRvYy5jb21tZW50ID0gZG9jLmNvbW1lbnQgPyBgJHtkb2MuY29tbWVudH1cXG4ke2NvbW1lbnR9YCA6IGNvbW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChhZnRlckVtcHR5TGluZSB8fCBkb2MuZGlyZWN0aXZlcy5kb2NTdGFydCB8fCAhZGMpIHtcbiAgICAgICAgICAgICAgICBkb2MuY29tbWVudEJlZm9yZSA9IGNvbW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChpc0NvbGxlY3Rpb24oZGMpICYmICFkYy5mbG93ICYmIGRjLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBsZXQgaXQgPSBkYy5pdGVtc1swXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNQYWlyKGl0KSlcbiAgICAgICAgICAgICAgICAgICAgaXQgPSBpdC5rZXk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2IgPSBpdC5jb21tZW50QmVmb3JlO1xuICAgICAgICAgICAgICAgIGl0LmNvbW1lbnRCZWZvcmUgPSBjYiA/IGAke2NvbW1lbnR9XFxuJHtjYn1gIDogY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNiID0gZGMuY29tbWVudEJlZm9yZTtcbiAgICAgICAgICAgICAgICBkYy5jb21tZW50QmVmb3JlID0gY2IgPyBgJHtjb21tZW50fVxcbiR7Y2J9YCA6IGNvbW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFmdGVyRG9jKSB7XG4gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShkb2MuZXJyb3JzLCB0aGlzLmVycm9ycyk7XG4gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShkb2Mud2FybmluZ3MsIHRoaXMud2FybmluZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZG9jLmVycm9ycyA9IHRoaXMuZXJyb3JzO1xuICAgICAgICAgICAgZG9jLndhcm5pbmdzID0gdGhpcy53YXJuaW5ncztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZWx1ZGUgPSBbXTtcbiAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICAgICAgdGhpcy53YXJuaW5ncyA9IFtdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDdXJyZW50IHN0cmVhbSBzdGF0dXMgaW5mb3JtYXRpb24uXG4gICAgICpcbiAgICAgKiBNb3N0bHkgdXNlZnVsIGF0IHRoZSBlbmQgb2YgaW5wdXQgZm9yIGFuIGVtcHR5IHN0cmVhbS5cbiAgICAgKi9cbiAgICBzdHJlYW1JbmZvKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29tbWVudDogcGFyc2VQcmVsdWRlKHRoaXMucHJlbHVkZSkuY29tbWVudCxcbiAgICAgICAgICAgIGRpcmVjdGl2ZXM6IHRoaXMuZGlyZWN0aXZlcyxcbiAgICAgICAgICAgIGVycm9yczogdGhpcy5lcnJvcnMsXG4gICAgICAgICAgICB3YXJuaW5nczogdGhpcy53YXJuaW5nc1xuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb3NlIHRva2VucyBpbnRvIGRvY3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb3JjZURvYyAtIElmIHRoZSBzdHJlYW0gY29udGFpbnMgbm8gZG9jdW1lbnQsIHN0aWxsIGVtaXQgYSBmaW5hbCBkb2N1bWVudCBpbmNsdWRpbmcgYW55IGNvbW1lbnRzIGFuZCBkaXJlY3RpdmVzIHRoYXQgd291bGQgYmUgYXBwbGllZCB0byBhIHN1YnNlcXVlbnQgZG9jdW1lbnQuXG4gICAgICogQHBhcmFtIGVuZE9mZnNldCAtIFNob3VsZCBiZSBzZXQgaWYgYGZvcmNlRG9jYCBpcyBhbHNvIHNldCwgdG8gc2V0IHRoZSBkb2N1bWVudCByYW5nZSBlbmQgYW5kIHRvIGluZGljYXRlIGVycm9ycyBjb3JyZWN0bHkuXG4gICAgICovXG4gICAgKmNvbXBvc2UodG9rZW5zLCBmb3JjZURvYyA9IGZhbHNlLCBlbmRPZmZzZXQgPSAtMSkge1xuICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2VucylcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLm5leHQodG9rZW4pO1xuICAgICAgICB5aWVsZCogdGhpcy5lbmQoZm9yY2VEb2MsIGVuZE9mZnNldCk7XG4gICAgfVxuICAgIC8qKiBBZHZhbmNlIHRoZSBjb21wb3NlciBieSBvbmUgQ1NUIHRva2VuLiAqL1xuICAgICpuZXh0KHRva2VuKSB7XG4gICAgICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnZGlyZWN0aXZlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZXMuYWRkKHRva2VuLnNvdXJjZSwgKG9mZnNldCwgbWVzc2FnZSwgd2FybmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSBnZXRFcnJvclBvcyh0b2tlbik7XG4gICAgICAgICAgICAgICAgICAgIHBvc1swXSArPSBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FcnJvcihwb3MsICdCQURfRElSRUNUSVZFJywgbWVzc2FnZSwgd2FybmluZyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVsdWRlLnB1c2godG9rZW4uc291cmNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmF0RGlyZWN0aXZlcyA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdkb2N1bWVudCc6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkb2MgPSBjb21wb3NlRG9jKHRoaXMub3B0aW9ucywgdGhpcy5kaXJlY3RpdmVzLCB0b2tlbiwgdGhpcy5vbkVycm9yKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hdERpcmVjdGl2ZXMgJiYgIWRvYy5kaXJlY3RpdmVzLmRvY1N0YXJ0KVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IodG9rZW4sICdNSVNTSU5HX0NIQVInLCAnTWlzc2luZyBkaXJlY3RpdmVzLWVuZC9kb2Mtc3RhcnQgaW5kaWNhdG9yIGxpbmUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlY29yYXRlKGRvYywgZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRvYylcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgdGhpcy5kb2M7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2MgPSBkb2M7XG4gICAgICAgICAgICAgICAgdGhpcy5hdERpcmVjdGl2ZXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2J5dGUtb3JkZXItbWFyayc6XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIHRoaXMucHJlbHVkZS5wdXNoKHRva2VuLnNvdXJjZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtc2cgPSB0b2tlbi5zb3VyY2VcbiAgICAgICAgICAgICAgICAgICAgPyBgJHt0b2tlbi5tZXNzYWdlfTogJHtKU09OLnN0cmluZ2lmeSh0b2tlbi5zb3VyY2UpfWBcbiAgICAgICAgICAgICAgICAgICAgOiB0b2tlbi5tZXNzYWdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IFlBTUxQYXJzZUVycm9yKGdldEVycm9yUG9zKHRva2VuKSwgJ1VORVhQRUNURURfVE9LRU4nLCBtc2cpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF0RGlyZWN0aXZlcyB8fCAhdGhpcy5kb2MpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2MuZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnZG9jLWVuZCc6IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZG9jKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9ICdVbmV4cGVjdGVkIGRvYy1lbmQgd2l0aG91dCBwcmVjZWRpbmcgZG9jdW1lbnQnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9ycy5wdXNoKG5ldyBZQU1MUGFyc2VFcnJvcihnZXRFcnJvclBvcyh0b2tlbiksICdVTkVYUEVDVEVEX1RPS0VOJywgbXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmRvYy5kaXJlY3RpdmVzLmRvY0VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gcmVzb2x2ZUVuZCh0b2tlbi5lbmQsIHRva2VuLm9mZnNldCArIHRva2VuLnNvdXJjZS5sZW5ndGgsIHRoaXMuZG9jLm9wdGlvbnMuc3RyaWN0LCB0aGlzLm9uRXJyb3IpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGVjb3JhdGUodGhpcy5kb2MsIHRydWUpO1xuICAgICAgICAgICAgICAgIGlmIChlbmQuY29tbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYyA9IHRoaXMuZG9jLmNvbW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jLmNvbW1lbnQgPSBkYyA/IGAke2RjfVxcbiR7ZW5kLmNvbW1lbnR9YCA6IGVuZC5jb21tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmRvYy5yYW5nZVsyXSA9IGVuZC5vZmZzZXQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JzLnB1c2gobmV3IFlBTUxQYXJzZUVycm9yKGdldEVycm9yUG9zKHRva2VuKSwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5zdXBwb3J0ZWQgdG9rZW4gJHt0b2tlbi50eXBlfWApKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBDYWxsIGF0IGVuZCBvZiBpbnB1dCB0byB5aWVsZCBhbnkgcmVtYWluaW5nIGRvY3VtZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcmNlRG9jIC0gSWYgdGhlIHN0cmVhbSBjb250YWlucyBubyBkb2N1bWVudCwgc3RpbGwgZW1pdCBhIGZpbmFsIGRvY3VtZW50IGluY2x1ZGluZyBhbnkgY29tbWVudHMgYW5kIGRpcmVjdGl2ZXMgdGhhdCB3b3VsZCBiZSBhcHBsaWVkIHRvIGEgc3Vic2VxdWVudCBkb2N1bWVudC5cbiAgICAgKiBAcGFyYW0gZW5kT2Zmc2V0IC0gU2hvdWxkIGJlIHNldCBpZiBgZm9yY2VEb2NgIGlzIGFsc28gc2V0LCB0byBzZXQgdGhlIGRvY3VtZW50IHJhbmdlIGVuZCBhbmQgdG8gaW5kaWNhdGUgZXJyb3JzIGNvcnJlY3RseS5cbiAgICAgKi9cbiAgICAqZW5kKGZvcmNlRG9jID0gZmFsc2UsIGVuZE9mZnNldCA9IC0xKSB7XG4gICAgICAgIGlmICh0aGlzLmRvYykge1xuICAgICAgICAgICAgdGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywgdHJ1ZSk7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmRvYztcbiAgICAgICAgICAgIHRoaXMuZG9jID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmb3JjZURvYykge1xuICAgICAgICAgICAgY29uc3Qgb3B0cyA9IE9iamVjdC5hc3NpZ24oeyBfZGlyZWN0aXZlczogdGhpcy5kaXJlY3RpdmVzIH0sIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICBjb25zdCBkb2MgPSBuZXcgRG9jdW1lbnQodW5kZWZpbmVkLCBvcHRzKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmF0RGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZW5kT2Zmc2V0LCAnTUlTU0lOR19DSEFSJywgJ01pc3NpbmcgZGlyZWN0aXZlcy1lbmQgaW5kaWNhdG9yIGxpbmUnKTtcbiAgICAgICAgICAgIGRvYy5yYW5nZSA9IFswLCBlbmRPZmZzZXQsIGVuZE9mZnNldF07XG4gICAgICAgICAgICB0aGlzLmRlY29yYXRlKGRvYywgZmFsc2UpO1xuICAgICAgICAgICAgeWllbGQgZG9jO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgeyBDb21wb3NlciB9O1xuIiwgImNvbnN0IEJSRUFLID0gU3ltYm9sKCdicmVhayB2aXNpdCcpO1xuY29uc3QgU0tJUCA9IFN5bWJvbCgnc2tpcCBjaGlsZHJlbicpO1xuY29uc3QgUkVNT1ZFID0gU3ltYm9sKCdyZW1vdmUgaXRlbScpO1xuLyoqXG4gKiBBcHBseSBhIHZpc2l0b3IgdG8gYSBDU1QgZG9jdW1lbnQgb3IgaXRlbS5cbiAqXG4gKiBXYWxrcyB0aHJvdWdoIHRoZSB0cmVlIChkZXB0aC1maXJzdCkgc3RhcnRpbmcgZnJvbSB0aGUgcm9vdCwgY2FsbGluZyBhXG4gKiBgdmlzaXRvcmAgZnVuY3Rpb24gd2l0aCB0d28gYXJndW1lbnRzIHdoZW4gZW50ZXJpbmcgZWFjaCBpdGVtOlxuICogICAtIGBpdGVtYDogVGhlIGN1cnJlbnQgaXRlbSwgd2hpY2ggaW5jbHVkZWQgdGhlIGZvbGxvd2luZyBtZW1iZXJzOlxuICogICAgIC0gYHN0YXJ0OiBTb3VyY2VUb2tlbltdYCBcdTIwMTMgU291cmNlIHRva2VucyBiZWZvcmUgdGhlIGtleSBvciB2YWx1ZSxcbiAqICAgICAgIHBvc3NpYmx5IGluY2x1ZGluZyBpdHMgYW5jaG9yIG9yIHRhZy5cbiAqICAgICAtIGBrZXk/OiBUb2tlbiB8IG51bGxgIFx1MjAxMyBTZXQgZm9yIHBhaXIgdmFsdWVzLiBNYXkgdGhlbiBiZSBgbnVsbGAsIGlmXG4gKiAgICAgICB0aGUga2V5IGJlZm9yZSB0aGUgYDpgIHNlcGFyYXRvciBpcyBlbXB0eS5cbiAqICAgICAtIGBzZXA/OiBTb3VyY2VUb2tlbltdYCBcdTIwMTMgU291cmNlIHRva2VucyBiZXR3ZWVuIHRoZSBrZXkgYW5kIHRoZSB2YWx1ZSxcbiAqICAgICAgIHdoaWNoIHNob3VsZCBpbmNsdWRlIHRoZSBgOmAgbWFwIHZhbHVlIGluZGljYXRvciBpZiBgdmFsdWVgIGlzIHNldC5cbiAqICAgICAtIGB2YWx1ZT86IFRva2VuYCBcdTIwMTMgVGhlIHZhbHVlIG9mIGEgc2VxdWVuY2UgaXRlbSwgb3Igb2YgYSBtYXAgcGFpci5cbiAqICAgLSBgcGF0aGA6IFRoZSBzdGVwcyBmcm9tIHRoZSByb290IHRvIHRoZSBjdXJyZW50IG5vZGUsIGFzIGFuIGFycmF5IG9mXG4gKiAgICAgYFsna2V5JyB8ICd2YWx1ZScsIG51bWJlcl1gIHR1cGxlcy5cbiAqXG4gKiBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSB2aXNpdG9yIG1heSBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHRyYXZlcnNhbDpcbiAqICAgLSBgdW5kZWZpbmVkYCAoZGVmYXVsdCk6IERvIG5vdGhpbmcgYW5kIGNvbnRpbnVlXG4gKiAgIC0gYHZpc2l0LlNLSVBgOiBEbyBub3QgdmlzaXQgdGhlIGNoaWxkcmVuIG9mIHRoaXMgdG9rZW4sIGNvbnRpbnVlIHdpdGhcbiAqICAgICAgbmV4dCBzaWJsaW5nXG4gKiAgIC0gYHZpc2l0LkJSRUFLYDogVGVybWluYXRlIHRyYXZlcnNhbCBjb21wbGV0ZWx5XG4gKiAgIC0gYHZpc2l0LlJFTU9WRWA6IFJlbW92ZSB0aGUgY3VycmVudCBpdGVtLCB0aGVuIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgb25lXG4gKiAgIC0gYG51bWJlcmA6IFNldCB0aGUgaW5kZXggb2YgdGhlIG5leHQgc3RlcC4gVGhpcyBpcyB1c2VmdWwgZXNwZWNpYWxseSBpZlxuICogICAgIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudCB0b2tlbiBoYXMgY2hhbmdlZC5cbiAqICAgLSBgZnVuY3Rpb25gOiBEZWZpbmUgdGhlIG5leHQgdmlzaXRvciBmb3IgdGhpcyBpdGVtLiBBZnRlciB0aGUgb3JpZ2luYWxcbiAqICAgICB2aXNpdG9yIGlzIGNhbGxlZCBvbiBpdGVtIGVudHJ5LCBuZXh0IHZpc2l0b3JzIGFyZSBjYWxsZWQgYWZ0ZXIgaGFuZGxpbmdcbiAqICAgICBhIG5vbi1lbXB0eSBga2V5YCBhbmQgd2hlbiBleGl0aW5nIHRoZSBpdGVtLlxuICovXG5mdW5jdGlvbiB2aXNpdChjc3QsIHZpc2l0b3IpIHtcbiAgICBpZiAoJ3R5cGUnIGluIGNzdCAmJiBjc3QudHlwZSA9PT0gJ2RvY3VtZW50JylcbiAgICAgICAgY3N0ID0geyBzdGFydDogY3N0LnN0YXJ0LCB2YWx1ZTogY3N0LnZhbHVlIH07XG4gICAgX3Zpc2l0KE9iamVjdC5mcmVlemUoW10pLCBjc3QsIHZpc2l0b3IpO1xufVxuLy8gV2l0aG91dCB0aGUgYGFzIHN5bWJvbGAgY2FzdHMsIFRTIGRlY2xhcmVzIHRoZXNlIGluIHRoZSBgdmlzaXRgXG4vLyBuYW1lc3BhY2UgdXNpbmcgYHZhcmAsIGJ1dCB0aGVuIGNvbXBsYWlucyBhYm91dCB0aGF0IGJlY2F1c2Vcbi8vIGB1bmlxdWUgc3ltYm9sYCBtdXN0IGJlIGBjb25zdGAuXG4vKiogVGVybWluYXRlIHZpc2l0IHRyYXZlcnNhbCBjb21wbGV0ZWx5ICovXG52aXNpdC5CUkVBSyA9IEJSRUFLO1xuLyoqIERvIG5vdCB2aXNpdCB0aGUgY2hpbGRyZW4gb2YgdGhlIGN1cnJlbnQgaXRlbSAqL1xudmlzaXQuU0tJUCA9IFNLSVA7XG4vKiogUmVtb3ZlIHRoZSBjdXJyZW50IGl0ZW0gKi9cbnZpc2l0LlJFTU9WRSA9IFJFTU9WRTtcbi8qKiBGaW5kIHRoZSBpdGVtIGF0IGBwYXRoYCBmcm9tIGBjc3RgIGFzIHRoZSByb290ICovXG52aXNpdC5pdGVtQXRQYXRoID0gKGNzdCwgcGF0aCkgPT4ge1xuICAgIGxldCBpdGVtID0gY3N0O1xuICAgIGZvciAoY29uc3QgW2ZpZWxkLCBpbmRleF0gb2YgcGF0aCkge1xuICAgICAgICBjb25zdCB0b2sgPSBpdGVtPy5bZmllbGRdO1xuICAgICAgICBpZiAodG9rICYmICdpdGVtcycgaW4gdG9rKSB7XG4gICAgICAgICAgICBpdGVtID0gdG9rLml0ZW1zW2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbTtcbn07XG4vKipcbiAqIEdldCB0aGUgaW1tZWRpYXRlIHBhcmVudCBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIGF0IGBwYXRoYCBmcm9tIGBjc3RgIGFzIHRoZSByb290LlxuICpcbiAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgY29sbGVjdGlvbiBpcyBub3QgZm91bmQsIHdoaWNoIHNob3VsZCBuZXZlciBoYXBwZW4gaWYgdGhlIGl0ZW0gaXRzZWxmIGV4aXN0cy5cbiAqL1xudmlzaXQucGFyZW50Q29sbGVjdGlvbiA9IChjc3QsIHBhdGgpID0+IHtcbiAgICBjb25zdCBwYXJlbnQgPSB2aXNpdC5pdGVtQXRQYXRoKGNzdCwgcGF0aC5zbGljZSgwLCAtMSkpO1xuICAgIGNvbnN0IGZpZWxkID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdWzBdO1xuICAgIGNvbnN0IGNvbGwgPSBwYXJlbnQ/LltmaWVsZF07XG4gICAgaWYgKGNvbGwgJiYgJ2l0ZW1zJyBpbiBjb2xsKVxuICAgICAgICByZXR1cm4gY29sbDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcmVudCBjb2xsZWN0aW9uIG5vdCBmb3VuZCcpO1xufTtcbmZ1bmN0aW9uIF92aXNpdChwYXRoLCBpdGVtLCB2aXNpdG9yKSB7XG4gICAgbGV0IGN0cmwgPSB2aXNpdG9yKGl0ZW0sIHBhdGgpO1xuICAgIGlmICh0eXBlb2YgY3RybCA9PT0gJ3N5bWJvbCcpXG4gICAgICAgIHJldHVybiBjdHJsO1xuICAgIGZvciAoY29uc3QgZmllbGQgb2YgWydrZXknLCAndmFsdWUnXSkge1xuICAgICAgICBjb25zdCB0b2tlbiA9IGl0ZW1bZmllbGRdO1xuICAgICAgICBpZiAodG9rZW4gJiYgJ2l0ZW1zJyBpbiB0b2tlbikge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b2tlbi5pdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNpID0gX3Zpc2l0KE9iamVjdC5mcmVlemUocGF0aC5jb25jYXQoW1tmaWVsZCwgaV1dKSksIHRva2VuLml0ZW1zW2ldLCB2aXNpdG9yKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNpID09PSAnbnVtYmVyJylcbiAgICAgICAgICAgICAgICAgICAgaSA9IGNpIC0gMTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBCUkVBSztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gUkVNT1ZFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRva2VuLml0ZW1zLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgaSAtPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3RybCA9PT0gJ2Z1bmN0aW9uJyAmJiBmaWVsZCA9PT0gJ2tleScpXG4gICAgICAgICAgICAgICAgY3RybCA9IGN0cmwoaXRlbSwgcGF0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiBjdHJsID09PSAnZnVuY3Rpb24nID8gY3RybChpdGVtLCBwYXRoKSA6IGN0cmw7XG59XG5cbmV4cG9ydCB7IHZpc2l0IH07XG4iLCAiZXhwb3J0IHsgY3JlYXRlU2NhbGFyVG9rZW4sIHJlc29sdmVBc1NjYWxhciwgc2V0U2NhbGFyVmFsdWUgfSBmcm9tICcuL2NzdC1zY2FsYXIuanMnO1xuZXhwb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSAnLi9jc3Qtc3RyaW5naWZ5LmpzJztcbmV4cG9ydCB7IHZpc2l0IH0gZnJvbSAnLi9jc3QtdmlzaXQuanMnO1xuXG4vKiogVGhlIGJ5dGUgb3JkZXIgbWFyayAqL1xuY29uc3QgQk9NID0gJ1xcdXtGRUZGfSc7XG4vKiogU3RhcnQgb2YgZG9jLW1vZGUgKi9cbmNvbnN0IERPQ1VNRU5UID0gJ1xceDAyJzsgLy8gQzA6IFN0YXJ0IG9mIFRleHRcbi8qKiBVbmV4cGVjdGVkIGVuZCBvZiBmbG93LW1vZGUgKi9cbmNvbnN0IEZMT1dfRU5EID0gJ1xceDE4JzsgLy8gQzA6IENhbmNlbFxuLyoqIE5leHQgdG9rZW4gaXMgYSBzY2FsYXIgdmFsdWUgKi9cbmNvbnN0IFNDQUxBUiA9ICdcXHgxZic7IC8vIEMwOiBVbml0IFNlcGFyYXRvclxuLyoqIEByZXR1cm5zIGB0cnVlYCBpZiBgdG9rZW5gIGlzIGEgZmxvdyBvciBibG9jayBjb2xsZWN0aW9uICovXG5jb25zdCBpc0NvbGxlY3Rpb24gPSAodG9rZW4pID0+ICEhdG9rZW4gJiYgJ2l0ZW1zJyBpbiB0b2tlbjtcbi8qKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYHRva2VuYCBpcyBhIGZsb3cgb3IgYmxvY2sgc2NhbGFyOyBub3QgYW4gYWxpYXMgKi9cbmNvbnN0IGlzU2NhbGFyID0gKHRva2VuKSA9PiAhIXRva2VuICYmXG4gICAgKHRva2VuLnR5cGUgPT09ICdzY2FsYXInIHx8XG4gICAgICAgIHRva2VuLnR5cGUgPT09ICdzaW5nbGUtcXVvdGVkLXNjYWxhcicgfHxcbiAgICAgICAgdG9rZW4udHlwZSA9PT0gJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJyB8fFxuICAgICAgICB0b2tlbi50eXBlID09PSAnYmxvY2stc2NhbGFyJyk7XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuLyoqIEdldCBhIHByaW50YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhIGxleGVyIHRva2VuICovXG5mdW5jdGlvbiBwcmV0dHlUb2tlbih0b2tlbikge1xuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgY2FzZSBCT006XG4gICAgICAgICAgICByZXR1cm4gJzxCT00+JztcbiAgICAgICAgY2FzZSBET0NVTUVOVDpcbiAgICAgICAgICAgIHJldHVybiAnPERPQz4nO1xuICAgICAgICBjYXNlIEZMT1dfRU5EOlxuICAgICAgICAgICAgcmV0dXJuICc8RkxPV19FTkQ+JztcbiAgICAgICAgY2FzZSBTQ0FMQVI6XG4gICAgICAgICAgICByZXR1cm4gJzxTQ0FMQVI+JztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0b2tlbik7XG4gICAgfVxufVxuLyoqIElkZW50aWZ5IHRoZSB0eXBlIG9mIGEgbGV4ZXIgdG9rZW4uIE1heSByZXR1cm4gYG51bGxgIGZvciB1bmtub3duIHRva2Vucy4gKi9cbmZ1bmN0aW9uIHRva2VuVHlwZShzb3VyY2UpIHtcbiAgICBzd2l0Y2ggKHNvdXJjZSkge1xuICAgICAgICBjYXNlIEJPTTpcbiAgICAgICAgICAgIHJldHVybiAnYnl0ZS1vcmRlci1tYXJrJztcbiAgICAgICAgY2FzZSBET0NVTUVOVDpcbiAgICAgICAgICAgIHJldHVybiAnZG9jLW1vZGUnO1xuICAgICAgICBjYXNlIEZMT1dfRU5EOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LWVycm9yLWVuZCc7XG4gICAgICAgIGNhc2UgU0NBTEFSOlxuICAgICAgICAgICAgcmV0dXJuICdzY2FsYXInO1xuICAgICAgICBjYXNlICctLS0nOlxuICAgICAgICAgICAgcmV0dXJuICdkb2Mtc3RhcnQnO1xuICAgICAgICBjYXNlICcuLi4nOlxuICAgICAgICAgICAgcmV0dXJuICdkb2MtZW5kJztcbiAgICAgICAgY2FzZSAnJzpcbiAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgY2FzZSAnXFxyXFxuJzpcbiAgICAgICAgICAgIHJldHVybiAnbmV3bGluZSc7XG4gICAgICAgIGNhc2UgJy0nOlxuICAgICAgICAgICAgcmV0dXJuICdzZXEtaXRlbS1pbmQnO1xuICAgICAgICBjYXNlICc/JzpcbiAgICAgICAgICAgIHJldHVybiAnZXhwbGljaXQta2V5LWluZCc7XG4gICAgICAgIGNhc2UgJzonOlxuICAgICAgICAgICAgcmV0dXJuICdtYXAtdmFsdWUtaW5kJztcbiAgICAgICAgY2FzZSAneyc6XG4gICAgICAgICAgICByZXR1cm4gJ2Zsb3ctbWFwLXN0YXJ0JztcbiAgICAgICAgY2FzZSAnfSc6XG4gICAgICAgICAgICByZXR1cm4gJ2Zsb3ctbWFwLWVuZCc7XG4gICAgICAgIGNhc2UgJ1snOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LXNlcS1zdGFydCc7XG4gICAgICAgIGNhc2UgJ10nOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LXNlcS1lbmQnO1xuICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgICAgIHJldHVybiAnY29tbWEnO1xuICAgIH1cbiAgICBzd2l0Y2ggKHNvdXJjZVswXSkge1xuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgY2FzZSAnXFx0JzpcbiAgICAgICAgICAgIHJldHVybiAnc3BhY2UnO1xuICAgICAgICBjYXNlICcjJzpcbiAgICAgICAgICAgIHJldHVybiAnY29tbWVudCc7XG4gICAgICAgIGNhc2UgJyUnOlxuICAgICAgICAgICAgcmV0dXJuICdkaXJlY3RpdmUtbGluZSc7XG4gICAgICAgIGNhc2UgJyonOlxuICAgICAgICAgICAgcmV0dXJuICdhbGlhcyc7XG4gICAgICAgIGNhc2UgJyYnOlxuICAgICAgICAgICAgcmV0dXJuICdhbmNob3InO1xuICAgICAgICBjYXNlICchJzpcbiAgICAgICAgICAgIHJldHVybiAndGFnJztcbiAgICAgICAgY2FzZSBcIidcIjpcbiAgICAgICAgICAgIHJldHVybiAnc2luZ2xlLXF1b3RlZC1zY2FsYXInO1xuICAgICAgICBjYXNlICdcIic6XG4gICAgICAgICAgICByZXR1cm4gJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJztcbiAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgIGNhc2UgJz4nOlxuICAgICAgICAgICAgcmV0dXJuICdibG9jay1zY2FsYXItaGVhZGVyJztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCB7IEJPTSwgRE9DVU1FTlQsIEZMT1dfRU5ELCBTQ0FMQVIsIGlzQ29sbGVjdGlvbiwgaXNTY2FsYXIsIHByZXR0eVRva2VuLCB0b2tlblR5cGUgfTtcbiIsICJpbXBvcnQgeyBCT00sIERPQ1VNRU5ULCBGTE9XX0VORCwgU0NBTEFSIH0gZnJvbSAnLi9jc3QuanMnO1xuXG4vKlxuU1RBUlQgLT4gc3RyZWFtXG5cbnN0cmVhbVxuICBkaXJlY3RpdmUgLT4gbGluZS1lbmQgLT4gc3RyZWFtXG4gIGluZGVudCArIGxpbmUtZW5kIC0+IHN0cmVhbVxuICBbZWxzZV0gLT4gbGluZS1zdGFydFxuXG5saW5lLWVuZFxuICBjb21tZW50IC0+IGxpbmUtZW5kXG4gIG5ld2xpbmUgLT4gLlxuICBpbnB1dC1lbmQgLT4gRU5EXG5cbmxpbmUtc3RhcnRcbiAgZG9jLXN0YXJ0IC0+IGRvY1xuICBkb2MtZW5kIC0+IHN0cmVhbVxuICBbZWxzZV0gLT4gaW5kZW50IC0+IGJsb2NrLXN0YXJ0XG5cbmJsb2NrLXN0YXJ0XG4gIHNlcS1pdGVtLXN0YXJ0IC0+IGJsb2NrLXN0YXJ0XG4gIGV4cGxpY2l0LWtleS1zdGFydCAtPiBibG9jay1zdGFydFxuICBtYXAtdmFsdWUtc3RhcnQgLT4gYmxvY2stc3RhcnRcbiAgW2Vsc2VdIC0+IGRvY1xuXG5kb2NcbiAgbGluZS1lbmQgLT4gbGluZS1zdGFydFxuICBzcGFjZXMgLT4gZG9jXG4gIGFuY2hvciAtPiBkb2NcbiAgdGFnIC0+IGRvY1xuICBmbG93LXN0YXJ0IC0+IGZsb3cgLT4gZG9jXG4gIGZsb3ctZW5kIC0+IGVycm9yIC0+IGRvY1xuICBzZXEtaXRlbS1zdGFydCAtPiBlcnJvciAtPiBkb2NcbiAgZXhwbGljaXQta2V5LXN0YXJ0IC0+IGVycm9yIC0+IGRvY1xuICBtYXAtdmFsdWUtc3RhcnQgLT4gZG9jXG4gIGFsaWFzIC0+IGRvY1xuICBxdW90ZS1zdGFydCAtPiBxdW90ZWQtc2NhbGFyIC0+IGRvY1xuICBibG9jay1zY2FsYXItaGVhZGVyIC0+IGxpbmUtZW5kIC0+IGJsb2NrLXNjYWxhcihtaW4pIC0+IGxpbmUtc3RhcnRcbiAgW2Vsc2VdIC0+IHBsYWluLXNjYWxhcihmYWxzZSwgbWluKSAtPiBkb2NcblxuZmxvd1xuICBsaW5lLWVuZCAtPiBmbG93XG4gIHNwYWNlcyAtPiBmbG93XG4gIGFuY2hvciAtPiBmbG93XG4gIHRhZyAtPiBmbG93XG4gIGZsb3ctc3RhcnQgLT4gZmxvdyAtPiBmbG93XG4gIGZsb3ctZW5kIC0+IC5cbiAgc2VxLWl0ZW0tc3RhcnQgLT4gZXJyb3IgLT4gZmxvd1xuICBleHBsaWNpdC1rZXktc3RhcnQgLT4gZmxvd1xuICBtYXAtdmFsdWUtc3RhcnQgLT4gZmxvd1xuICBhbGlhcyAtPiBmbG93XG4gIHF1b3RlLXN0YXJ0IC0+IHF1b3RlZC1zY2FsYXIgLT4gZmxvd1xuICBjb21tYSAtPiBmbG93XG4gIFtlbHNlXSAtPiBwbGFpbi1zY2FsYXIodHJ1ZSwgMCkgLT4gZmxvd1xuXG5xdW90ZWQtc2NhbGFyXG4gIHF1b3RlLWVuZCAtPiAuXG4gIFtlbHNlXSAtPiBxdW90ZWQtc2NhbGFyXG5cbmJsb2NrLXNjYWxhcihtaW4pXG4gIG5ld2xpbmUgKyBwZWVrKGluZGVudCA8IG1pbikgLT4gLlxuICBbZWxzZV0gLT4gYmxvY2stc2NhbGFyKG1pbilcblxucGxhaW4tc2NhbGFyKGlzLWZsb3csIG1pbilcbiAgc2NhbGFyLWVuZChpcy1mbG93KSAtPiAuXG4gIHBlZWsobmV3bGluZSArIChpbmRlbnQgPCBtaW4pKSAtPiAuXG4gIFtlbHNlXSAtPiBwbGFpbi1zY2FsYXIobWluKVxuKi9cbmZ1bmN0aW9uIGlzRW1wdHkoY2gpIHtcbiAgICBzd2l0Y2ggKGNoKSB7XG4gICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgY2FzZSAnXFxyJzpcbiAgICAgICAgY2FzZSAnXFx0JzpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbmNvbnN0IGhleERpZ2l0cyA9IG5ldyBTZXQoJzAxMjM0NTY3ODlBQkNERUZhYmNkZWYnKTtcbmNvbnN0IHRhZ0NoYXJzID0gbmV3IFNldChcIjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6LSM7Lz86QCY9KyRfLiF+KicoKVwiKTtcbmNvbnN0IGZsb3dJbmRpY2F0b3JDaGFycyA9IG5ldyBTZXQoJyxbXXt9Jyk7XG5jb25zdCBpbnZhbGlkQW5jaG9yQ2hhcnMgPSBuZXcgU2V0KCcgLFtde31cXG5cXHJcXHQnKTtcbmNvbnN0IGlzTm90QW5jaG9yQ2hhciA9IChjaCkgPT4gIWNoIHx8IGludmFsaWRBbmNob3JDaGFycy5oYXMoY2gpO1xuLyoqXG4gKiBTcGxpdHMgYW4gaW5wdXQgc3RyaW5nIGludG8gbGV4aWNhbCB0b2tlbnMsIGkuZS4gc21hbGxlciBzdHJpbmdzIHRoYXQgYXJlXG4gKiBlYXNpbHkgaWRlbnRpZmlhYmxlIGJ5IGB0b2tlbnMudG9rZW5UeXBlKClgLlxuICpcbiAqIExleGluZyBzdGFydHMgYWx3YXlzIGluIGEgXCJzdHJlYW1cIiBjb250ZXh0LiBJbmNvbXBsZXRlIGlucHV0IG1heSBiZSBidWZmZXJlZFxuICogdW50aWwgYSBjb21wbGV0ZSB0b2tlbiBjYW4gYmUgZW1pdHRlZC5cbiAqXG4gKiBJbiBhZGRpdGlvbiB0byBzbGljZXMgb2YgdGhlIG9yaWdpbmFsIGlucHV0LCB0aGUgZm9sbG93aW5nIGNvbnRyb2wgY2hhcmFjdGVyc1xuICogbWF5IGFsc28gYmUgZW1pdHRlZDpcbiAqXG4gKiAtIGBcXHgwMmAgKFN0YXJ0IG9mIFRleHQpOiBBIGRvY3VtZW50IHN0YXJ0cyB3aXRoIHRoZSBuZXh0IHRva2VuXG4gKiAtIGBcXHgxOGAgKENhbmNlbCk6IFVuZXhwZWN0ZWQgZW5kIG9mIGZsb3ctbW9kZSAoaW5kaWNhdGVzIGFuIGVycm9yKVxuICogLSBgXFx4MWZgIChVbml0IFNlcGFyYXRvcik6IE5leHQgdG9rZW4gaXMgYSBzY2FsYXIgdmFsdWVcbiAqIC0gYFxcdXtGRUZGfWAgKEJ5dGUgb3JkZXIgbWFyayk6IEVtaXR0ZWQgc2VwYXJhdGVseSBvdXRzaWRlIGRvY3VtZW50c1xuICovXG5jbGFzcyBMZXhlciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGJ1ZmZlciBtYXJrcyB0aGUgZW5kIG9mXG4gICAgICAgICAqIGFsbCBpbnB1dFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5hdEVuZCA9IGZhbHNlO1xuICAgICAgICAvKipcbiAgICAgICAgICogRXhwbGljaXQgaW5kZW50IHNldCBpbiBibG9jayBzY2FsYXIgaGVhZGVyLCBhcyBhbiBvZmZzZXQgZnJvbSB0aGUgY3VycmVudFxuICAgICAgICAgKiBtaW5pbXVtIGluZGVudCwgc28gZS5nLiBzZXQgdG8gMSBmcm9tIGEgaGVhZGVyIGB8MitgLiBTZXQgdG8gLTEgaWYgbm90XG4gICAgICAgICAqIGV4cGxpY2l0bHkgc2V0LlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5ibG9ja1NjYWxhckluZGVudCA9IC0xO1xuICAgICAgICAvKipcbiAgICAgICAgICogQmxvY2sgc2NhbGFycyB0aGF0IGluY2x1ZGUgYSArIChrZWVwKSBjaG9tcGluZyBpbmRpY2F0b3IgaW4gdGhlaXIgaGVhZGVyXG4gICAgICAgICAqIGluY2x1ZGUgdHJhaWxpbmcgZW1wdHkgbGluZXMsIHdoaWNoIGFyZSBvdGhlcndpc2UgZXhjbHVkZWQgZnJvbSB0aGVcbiAgICAgICAgICogc2NhbGFyJ3MgY29udGVudHMuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJsb2NrU2NhbGFyS2VlcCA9IGZhbHNlO1xuICAgICAgICAvKiogQ3VycmVudCBpbnB1dCAqL1xuICAgICAgICB0aGlzLmJ1ZmZlciA9ICcnO1xuICAgICAgICAvKipcbiAgICAgICAgICogRmxhZyBub3Rpbmcgd2hldGhlciB0aGUgbWFwIHZhbHVlIGluZGljYXRvciA6IGNhbiBpbW1lZGlhdGVseSBmb2xsb3cgdGhpc1xuICAgICAgICAgKiBub2RlIHdpdGhpbiBhIGZsb3cgY29udGV4dC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZmxvd0tleSA9IGZhbHNlO1xuICAgICAgICAvKiogQ291bnQgb2Ygc3Vycm91bmRpbmcgZmxvdyBjb2xsZWN0aW9uIGxldmVscy4gKi9cbiAgICAgICAgdGhpcy5mbG93TGV2ZWwgPSAwO1xuICAgICAgICAvKipcbiAgICAgICAgICogTWluaW11bSBsZXZlbCBvZiBpbmRlbnRhdGlvbiByZXF1aXJlZCBmb3IgbmV4dCBsaW5lcyB0byBiZSBwYXJzZWQgYXMgYVxuICAgICAgICAgKiBwYXJ0IG9mIHRoZSBjdXJyZW50IHNjYWxhciB2YWx1ZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IDA7XG4gICAgICAgIC8qKiBJbmRlbnRhdGlvbiBsZXZlbCBvZiB0aGUgY3VycmVudCBsaW5lLiAqL1xuICAgICAgICB0aGlzLmluZGVudFZhbHVlID0gMDtcbiAgICAgICAgLyoqIFBvc2l0aW9uIG9mIHRoZSBuZXh0IFxcbiBjaGFyYWN0ZXIuICovXG4gICAgICAgIHRoaXMubGluZUVuZFBvcyA9IG51bGw7XG4gICAgICAgIC8qKiBTdG9yZXMgdGhlIHN0YXRlIG9mIHRoZSBsZXhlciBpZiByZWFjaGluZyB0aGUgZW5kIG9mIGluY3BvbXBsZXRlIGlucHV0ICovXG4gICAgICAgIHRoaXMubmV4dCA9IG51bGw7XG4gICAgICAgIC8qKiBBIHBvaW50ZXIgdG8gYGJ1ZmZlcmA7IHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBsZXhlci4gKi9cbiAgICAgICAgdGhpcy5wb3MgPSAwO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSBZQU1MIHRva2VucyBmcm9tIHRoZSBgc291cmNlYCBzdHJpbmcuIElmIGBpbmNvbXBsZXRlYCxcbiAgICAgKiBhIHBhcnQgb2YgdGhlIGxhc3QgbGluZSBtYXkgYmUgbGVmdCBhcyBhIGJ1ZmZlciBmb3IgdGhlIG5leHQgY2FsbC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEEgZ2VuZXJhdG9yIG9mIGxleGljYWwgdG9rZW5zXG4gICAgICovXG4gICAgKmxleChzb3VyY2UsIGluY29tcGxldGUgPSBmYWxzZSkge1xuICAgICAgICBpZiAoc291cmNlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHNvdXJjZSAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICAgICAgdGhyb3cgVHlwZUVycm9yKCdzb3VyY2UgaXMgbm90IGEgc3RyaW5nJyk7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuYnVmZmVyID8gdGhpcy5idWZmZXIgKyBzb3VyY2UgOiBzb3VyY2U7XG4gICAgICAgICAgICB0aGlzLmxpbmVFbmRQb3MgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXRFbmQgPSAhaW5jb21wbGV0ZTtcbiAgICAgICAgbGV0IG5leHQgPSB0aGlzLm5leHQgPz8gJ3N0cmVhbSc7XG4gICAgICAgIHdoaWxlIChuZXh0ICYmIChpbmNvbXBsZXRlIHx8IHRoaXMuaGFzQ2hhcnMoMSkpKVxuICAgICAgICAgICAgbmV4dCA9IHlpZWxkKiB0aGlzLnBhcnNlTmV4dChuZXh0KTtcbiAgICB9XG4gICAgYXRMaW5lRW5kKCkge1xuICAgICAgICBsZXQgaSA9IHRoaXMucG9zO1xuICAgICAgICBsZXQgY2ggPSB0aGlzLmJ1ZmZlcltpXTtcbiAgICAgICAgd2hpbGUgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKVxuICAgICAgICAgICAgY2ggPSB0aGlzLmJ1ZmZlclsrK2ldO1xuICAgICAgICBpZiAoIWNoIHx8IGNoID09PSAnIycgfHwgY2ggPT09ICdcXG4nKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGlmIChjaCA9PT0gJ1xccicpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5idWZmZXJbaSArIDFdID09PSAnXFxuJztcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjaGFyQXQobikge1xuICAgICAgICByZXR1cm4gdGhpcy5idWZmZXJbdGhpcy5wb3MgKyBuXTtcbiAgICB9XG4gICAgY29udGludWVTY2FsYXIob2Zmc2V0KSB7XG4gICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW29mZnNldF07XG4gICAgICAgIGlmICh0aGlzLmluZGVudE5leHQgPiAwKSB7XG4gICAgICAgICAgICBsZXQgaW5kZW50ID0gMDtcbiAgICAgICAgICAgIHdoaWxlIChjaCA9PT0gJyAnKVxuICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpbmRlbnQgKyBvZmZzZXRdO1xuICAgICAgICAgICAgaWYgKGNoID09PSAnXFxyJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmJ1ZmZlcltpbmRlbnQgKyBvZmZzZXQgKyAxXTtcbiAgICAgICAgICAgICAgICBpZiAobmV4dCA9PT0gJ1xcbicgfHwgKCFuZXh0ICYmICF0aGlzLmF0RW5kKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mZnNldCArIGluZGVudCArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2ggPT09ICdcXG4nIHx8IGluZGVudCA+PSB0aGlzLmluZGVudE5leHQgfHwgKCFjaCAmJiAhdGhpcy5hdEVuZClcbiAgICAgICAgICAgICAgICA/IG9mZnNldCArIGluZGVudFxuICAgICAgICAgICAgICAgIDogLTE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoID09PSAnLScgfHwgY2ggPT09ICcuJykge1xuICAgICAgICAgICAgY29uc3QgZHQgPSB0aGlzLmJ1ZmZlci5zdWJzdHIob2Zmc2V0LCAzKTtcbiAgICAgICAgICAgIGlmICgoZHQgPT09ICctLS0nIHx8IGR0ID09PSAnLi4uJykgJiYgaXNFbXB0eSh0aGlzLmJ1ZmZlcltvZmZzZXQgKyAzXSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZmZzZXQ7XG4gICAgfVxuICAgIGdldExpbmUoKSB7XG4gICAgICAgIGxldCBlbmQgPSB0aGlzLmxpbmVFbmRQb3M7XG4gICAgICAgIGlmICh0eXBlb2YgZW5kICE9PSAnbnVtYmVyJyB8fCAoZW5kICE9PSAtMSAmJiBlbmQgPCB0aGlzLnBvcykpIHtcbiAgICAgICAgICAgIGVuZCA9IHRoaXMuYnVmZmVyLmluZGV4T2YoJ1xcbicsIHRoaXMucG9zKTtcbiAgICAgICAgICAgIHRoaXMubGluZUVuZFBvcyA9IGVuZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5kID09PSAtMSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmF0RW5kID8gdGhpcy5idWZmZXIuc3Vic3RyaW5nKHRoaXMucG9zKSA6IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmJ1ZmZlcltlbmQgLSAxXSA9PT0gJ1xccicpXG4gICAgICAgICAgICBlbmQgLT0gMTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcywgZW5kKTtcbiAgICB9XG4gICAgaGFzQ2hhcnMobikge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3MgKyBuIDw9IHRoaXMuYnVmZmVyLmxlbmd0aDtcbiAgICB9XG4gICAgc2V0TmV4dChzdGF0ZSkge1xuICAgICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcyk7XG4gICAgICAgIHRoaXMucG9zID0gMDtcbiAgICAgICAgdGhpcy5saW5lRW5kUG9zID0gbnVsbDtcbiAgICAgICAgdGhpcy5uZXh0ID0gc3RhdGU7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBwZWVrKG4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyLnN1YnN0cih0aGlzLnBvcywgbik7XG4gICAgfVxuICAgICpwYXJzZU5leHQobmV4dCkge1xuICAgICAgICBzd2l0Y2ggKG5leHQpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0cmVhbSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlU3RyZWFtKCk7XG4gICAgICAgICAgICBjYXNlICdsaW5lLXN0YXJ0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VMaW5lU3RhcnQoKTtcbiAgICAgICAgICAgIGNhc2UgJ2Jsb2NrLXN0YXJ0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VCbG9ja1N0YXJ0KCk7XG4gICAgICAgICAgICBjYXNlICdkb2MnOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZURvY3VtZW50KCk7XG4gICAgICAgICAgICBjYXNlICdmbG93JzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VGbG93Q29sbGVjdGlvbigpO1xuICAgICAgICAgICAgY2FzZSAncXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlUXVvdGVkU2NhbGFyKCk7XG4gICAgICAgICAgICBjYXNlICdibG9jay1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZUJsb2NrU2NhbGFyKCk7XG4gICAgICAgICAgICBjYXNlICdwbGFpbi1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZVBsYWluU2NhbGFyKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKnBhcnNlU3RyZWFtKCkge1xuICAgICAgICBsZXQgbGluZSA9IHRoaXMuZ2V0TGluZSgpO1xuICAgICAgICBpZiAobGluZSA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ3N0cmVhbScpO1xuICAgICAgICBpZiAobGluZVswXSA9PT0gQk9NKSB7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQoMSk7XG4gICAgICAgICAgICBsaW5lID0gbGluZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmVbMF0gPT09ICclJykge1xuICAgICAgICAgICAgbGV0IGRpckVuZCA9IGxpbmUubGVuZ3RoO1xuICAgICAgICAgICAgbGV0IGNzID0gbGluZS5pbmRleE9mKCcjJyk7XG4gICAgICAgICAgICB3aGlsZSAoY3MgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2ggPSBsaW5lW2NzIC0gMV07XG4gICAgICAgICAgICAgICAgaWYgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpckVuZCA9IGNzIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjcyA9IGxpbmUuaW5kZXhPZignIycsIGNzICsgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaCA9IGxpbmVbZGlyRW5kIC0gMV07XG4gICAgICAgICAgICAgICAgaWYgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKVxuICAgICAgICAgICAgICAgICAgICBkaXJFbmQgLT0gMTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbiA9ICh5aWVsZCogdGhpcy5wdXNoQ291bnQoZGlyRW5kKSkgKyAoeWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKSk7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQobGluZS5sZW5ndGggLSBuKTsgLy8gcG9zc2libGUgY29tbWVudFxuICAgICAgICAgICAgdGhpcy5wdXNoTmV3bGluZSgpO1xuICAgICAgICAgICAgcmV0dXJuICdzdHJlYW0nO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmF0TGluZUVuZCgpKSB7XG4gICAgICAgICAgICBjb25zdCBzcCA9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQobGluZS5sZW5ndGggLSBzcCk7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoTmV3bGluZSgpO1xuICAgICAgICAgICAgcmV0dXJuICdzdHJlYW0nO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkIERPQ1VNRU5UO1xuICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VMaW5lU3RhcnQoKTtcbiAgICB9XG4gICAgKnBhcnNlTGluZVN0YXJ0KCkge1xuICAgICAgICBjb25zdCBjaCA9IHRoaXMuY2hhckF0KDApO1xuICAgICAgICBpZiAoIWNoICYmICF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnbGluZS1zdGFydCcpO1xuICAgICAgICBpZiAoY2ggPT09ICctJyB8fCBjaCA9PT0gJy4nKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYXRFbmQgJiYgIXRoaXMuaGFzQ2hhcnMoNCkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnbGluZS1zdGFydCcpO1xuICAgICAgICAgICAgY29uc3QgcyA9IHRoaXMucGVlaygzKTtcbiAgICAgICAgICAgIGlmICgocyA9PT0gJy0tLScgfHwgcyA9PT0gJy4uLicpICYmIGlzRW1wdHkodGhpcy5jaGFyQXQoMykpKSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KDMpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50VmFsdWUgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHMgPT09ICctLS0nID8gJ2RvYycgOiAnc3RyZWFtJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluZGVudFZhbHVlID0geWllbGQqIHRoaXMucHVzaFNwYWNlcyhmYWxzZSk7XG4gICAgICAgIGlmICh0aGlzLmluZGVudE5leHQgPiB0aGlzLmluZGVudFZhbHVlICYmICFpc0VtcHR5KHRoaXMuY2hhckF0KDEpKSlcbiAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IHRoaXMuaW5kZW50VmFsdWU7XG4gICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZUJsb2NrU3RhcnQoKTtcbiAgICB9XG4gICAgKnBhcnNlQmxvY2tTdGFydCgpIHtcbiAgICAgICAgY29uc3QgW2NoMCwgY2gxXSA9IHRoaXMucGVlaygyKTtcbiAgICAgICAgaWYgKCFjaDEgJiYgIXRoaXMuYXRFbmQpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdibG9jay1zdGFydCcpO1xuICAgICAgICBpZiAoKGNoMCA9PT0gJy0nIHx8IGNoMCA9PT0gJz8nIHx8IGNoMCA9PT0gJzonKSAmJiBpc0VtcHR5KGNoMSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeWllbGQqIHRoaXMucHVzaENvdW50KDEpKSArICh5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpKTtcbiAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IHRoaXMuaW5kZW50VmFsdWUgKyAxO1xuICAgICAgICAgICAgdGhpcy5pbmRlbnRWYWx1ZSArPSBuO1xuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlQmxvY2tTdGFydCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnZG9jJztcbiAgICB9XG4gICAgKnBhcnNlRG9jdW1lbnQoKSB7XG4gICAgICAgIHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLmdldExpbmUoKTtcbiAgICAgICAgaWYgKGxpbmUgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdkb2MnKTtcbiAgICAgICAgbGV0IG4gPSB5aWVsZCogdGhpcy5wdXNoSW5kaWNhdG9ycygpO1xuICAgICAgICBzd2l0Y2ggKGxpbmVbbl0pIHtcbiAgICAgICAgICAgIGNhc2UgJyMnOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudChsaW5lLmxlbmd0aCAtIG4pO1xuICAgICAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hOZXdsaW5lKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlTGluZVN0YXJ0KCk7XG4gICAgICAgICAgICBjYXNlICd7JzpcbiAgICAgICAgICAgIGNhc2UgJ1snOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dLZXkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dMZXZlbCA9IDE7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgIGNhc2UgJ30nOlxuICAgICAgICAgICAgY2FzZSAnXSc6XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBhbiBlcnJvclxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2RvYyc7XG4gICAgICAgICAgICBjYXNlICcqJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoVW50aWwoaXNOb3RBbmNob3JDaGFyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2RvYyc7XG4gICAgICAgICAgICBjYXNlICdcIic6XG4gICAgICAgICAgICBjYXNlIFwiJ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpO1xuICAgICAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICBuICs9IHlpZWxkKiB0aGlzLnBhcnNlQmxvY2tTY2FsYXJIZWFkZXIoKTtcbiAgICAgICAgICAgICAgICBuICs9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KGxpbmUubGVuZ3RoIC0gbik7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaE5ld2xpbmUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VCbG9ja1NjYWxhcigpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VQbGFpblNjYWxhcigpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwYXJzZUZsb3dDb2xsZWN0aW9uKCkge1xuICAgICAgICBsZXQgbmwsIHNwO1xuICAgICAgICBsZXQgaW5kZW50ID0gLTE7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIG5sID0geWllbGQqIHRoaXMucHVzaE5ld2xpbmUoKTtcbiAgICAgICAgICAgIGlmIChubCA+IDApIHtcbiAgICAgICAgICAgICAgICBzcCA9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXMoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50VmFsdWUgPSBpbmRlbnQgPSBzcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHNwID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwICs9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgIH0gd2hpbGUgKG5sICsgc3AgPiAwKTtcbiAgICAgICAgY29uc3QgbGluZSA9IHRoaXMuZ2V0TGluZSgpO1xuICAgICAgICBpZiAobGluZSA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ2Zsb3cnKTtcbiAgICAgICAgaWYgKChpbmRlbnQgIT09IC0xICYmIGluZGVudCA8IHRoaXMuaW5kZW50TmV4dCAmJiBsaW5lWzBdICE9PSAnIycpIHx8XG4gICAgICAgICAgICAoaW5kZW50ID09PSAwICYmXG4gICAgICAgICAgICAgICAgKGxpbmUuc3RhcnRzV2l0aCgnLS0tJykgfHwgbGluZS5zdGFydHNXaXRoKCcuLi4nKSkgJiZcbiAgICAgICAgICAgICAgICBpc0VtcHR5KGxpbmVbM10pKSkge1xuICAgICAgICAgICAgLy8gQWxsb3dpbmcgZm9yIHRoZSB0ZXJtaW5hbCBdIG9yIH0gYXQgdGhlIHNhbWUgKHJhdGhlciB0aGFuIGdyZWF0ZXIpXG4gICAgICAgICAgICAvLyBpbmRlbnQgbGV2ZWwgYXMgdGhlIGluaXRpYWwgWyBvciB7IGlzIHRlY2huaWNhbGx5IGludmFsaWQsIGJ1dFxuICAgICAgICAgICAgLy8gZmFpbGluZyBoZXJlIHdvdWxkIGJlIHN1cnByaXNpbmcgdG8gdXNlcnMuXG4gICAgICAgICAgICBjb25zdCBhdEZsb3dFbmRNYXJrZXIgPSBpbmRlbnQgPT09IHRoaXMuaW5kZW50TmV4dCAtIDEgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dMZXZlbCA9PT0gMSAmJlxuICAgICAgICAgICAgICAgIChsaW5lWzBdID09PSAnXScgfHwgbGluZVswXSA9PT0gJ30nKTtcbiAgICAgICAgICAgIGlmICghYXRGbG93RW5kTWFya2VyKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBhbiBlcnJvclxuICAgICAgICAgICAgICAgIHRoaXMuZmxvd0xldmVsID0gMDtcbiAgICAgICAgICAgICAgICB5aWVsZCBGTE9XX0VORDtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VMaW5lU3RhcnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgbiA9IDA7XG4gICAgICAgIHdoaWxlIChsaW5lW25dID09PSAnLCcpIHtcbiAgICAgICAgICAgIG4gKz0geWllbGQqIHRoaXMucHVzaENvdW50KDEpO1xuICAgICAgICAgICAgbiArPSB5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbiArPSB5aWVsZCogdGhpcy5wdXNoSW5kaWNhdG9ycygpO1xuICAgICAgICBzd2l0Y2ggKGxpbmVbbl0pIHtcbiAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZmxvdyc7XG4gICAgICAgICAgICBjYXNlICcjJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQobGluZS5sZW5ndGggLSBuKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Zsb3cnO1xuICAgICAgICAgICAgY2FzZSAneyc6XG4gICAgICAgICAgICBjYXNlICdbJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQoMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93TGV2ZWwgKz0gMTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Zsb3cnO1xuICAgICAgICAgICAgY2FzZSAnfSc6XG4gICAgICAgICAgICBjYXNlICddJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQoMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dMZXZlbCAtPSAxO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZsb3dMZXZlbCA/ICdmbG93JyA6ICdkb2MnO1xuICAgICAgICAgICAgY2FzZSAnKic6XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaFVudGlsKGlzTm90QW5jaG9yQ2hhcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgIGNhc2UgJ1wiJzpcbiAgICAgICAgICAgIGNhc2UgXCInXCI6XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKTtcbiAgICAgICAgICAgIGNhc2UgJzonOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuY2hhckF0KDEpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZsb3dLZXkgfHwgaXNFbXB0eShuZXh0KSB8fCBuZXh0ID09PSAnLCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dLZXkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VQbGFpblNjYWxhcigpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwYXJzZVF1b3RlZFNjYWxhcigpIHtcbiAgICAgICAgY29uc3QgcXVvdGUgPSB0aGlzLmNoYXJBdCgwKTtcbiAgICAgICAgbGV0IGVuZCA9IHRoaXMuYnVmZmVyLmluZGV4T2YocXVvdGUsIHRoaXMucG9zICsgMSk7XG4gICAgICAgIGlmIChxdW90ZSA9PT0gXCInXCIpIHtcbiAgICAgICAgICAgIHdoaWxlIChlbmQgIT09IC0xICYmIHRoaXMuYnVmZmVyW2VuZCArIDFdID09PSBcIidcIilcbiAgICAgICAgICAgICAgICBlbmQgPSB0aGlzLmJ1ZmZlci5pbmRleE9mKFwiJ1wiLCBlbmQgKyAyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGRvdWJsZS1xdW90ZVxuICAgICAgICAgICAgd2hpbGUgKGVuZCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBsZXQgbiA9IDA7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHRoaXMuYnVmZmVyW2VuZCAtIDEgLSBuXSA9PT0gJ1xcXFwnKVxuICAgICAgICAgICAgICAgICAgICBuICs9IDE7XG4gICAgICAgICAgICAgICAgaWYgKG4gJSAyID09PSAwKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBlbmQgPSB0aGlzLmJ1ZmZlci5pbmRleE9mKCdcIicsIGVuZCArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgbG9va2luZyBmb3IgbmV3bGluZXMgd2l0aGluIHRoZSBxdW90ZXNcbiAgICAgICAgY29uc3QgcWIgPSB0aGlzLmJ1ZmZlci5zdWJzdHJpbmcoMCwgZW5kKTtcbiAgICAgICAgbGV0IG5sID0gcWIuaW5kZXhPZignXFxuJywgdGhpcy5wb3MpO1xuICAgICAgICBpZiAobmwgIT09IC0xKSB7XG4gICAgICAgICAgICB3aGlsZSAobmwgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3MgPSB0aGlzLmNvbnRpbnVlU2NhbGFyKG5sICsgMSk7XG4gICAgICAgICAgICAgICAgaWYgKGNzID09PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgbmwgPSBxYi5pbmRleE9mKCdcXG4nLCBjcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmwgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBhbiBlcnJvciBjYXVzZWQgYnkgYW4gdW5leHBlY3RlZCB1bmluZGVudFxuICAgICAgICAgICAgICAgIGVuZCA9IG5sIC0gKHFiW25sIC0gMV0gPT09ICdcXHInID8gMiA6IDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChlbmQgPT09IC0xKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYXRFbmQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgncXVvdGVkLXNjYWxhcicpO1xuICAgICAgICAgICAgZW5kID0gdGhpcy5idWZmZXIubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkKiB0aGlzLnB1c2hUb0luZGV4KGVuZCArIDEsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvd0xldmVsID8gJ2Zsb3cnIDogJ2RvYyc7XG4gICAgfVxuICAgICpwYXJzZUJsb2NrU2NhbGFySGVhZGVyKCkge1xuICAgICAgICB0aGlzLmJsb2NrU2NhbGFySW5kZW50ID0gLTE7XG4gICAgICAgIHRoaXMuYmxvY2tTY2FsYXJLZWVwID0gZmFsc2U7XG4gICAgICAgIGxldCBpID0gdGhpcy5wb3M7XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBjb25zdCBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgICAgICBpZiAoY2ggPT09ICcrJylcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrU2NhbGFyS2VlcCA9IHRydWU7XG4gICAgICAgICAgICBlbHNlIGlmIChjaCA+ICcwJyAmJiBjaCA8PSAnOScpXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja1NjYWxhckluZGVudCA9IE51bWJlcihjaCkgLSAxO1xuICAgICAgICAgICAgZWxzZSBpZiAoY2ggIT09ICctJylcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucHVzaFVudGlsKGNoID0+IGlzRW1wdHkoY2gpIHx8IGNoID09PSAnIycpO1xuICAgIH1cbiAgICAqcGFyc2VCbG9ja1NjYWxhcigpIHtcbiAgICAgICAgbGV0IG5sID0gdGhpcy5wb3MgLSAxOyAvLyBtYXkgYmUgLTEgaWYgdGhpcy5wb3MgPT09IDBcbiAgICAgICAgbGV0IGluZGVudCA9IDA7XG4gICAgICAgIGxldCBjaDtcbiAgICAgICAgbG9vcDogZm9yIChsZXQgaSA9IHRoaXMucG9zOyAoY2ggPSB0aGlzLmJ1ZmZlcltpXSk7ICsraSkge1xuICAgICAgICAgICAgc3dpdGNoIChjaCkge1xuICAgICAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQgKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgICAgICAgICAgICAgbmwgPSBpO1xuICAgICAgICAgICAgICAgICAgICBpbmRlbnQgPSAwO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdcXHInOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmJ1ZmZlcltpICsgMV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbmV4dCAmJiAhdGhpcy5hdEVuZClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ2Jsb2NrLXNjYWxhcicpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV4dCA9PT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9IC8vIGZhbGx0aHJvdWdoXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgbG9vcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNoICYmICF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnYmxvY2stc2NhbGFyJyk7XG4gICAgICAgIGlmIChpbmRlbnQgPj0gdGhpcy5pbmRlbnROZXh0KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5ibG9ja1NjYWxhckluZGVudCA9PT0gLTEpXG4gICAgICAgICAgICAgICAgdGhpcy5pbmRlbnROZXh0ID0gaW5kZW50O1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmRlbnROZXh0ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9ja1NjYWxhckluZGVudCArICh0aGlzLmluZGVudE5leHQgPT09IDAgPyAxIDogdGhpcy5pbmRlbnROZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjcyA9IHRoaXMuY29udGludWVTY2FsYXIobmwgKyAxKTtcbiAgICAgICAgICAgICAgICBpZiAoY3MgPT09IC0xKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBubCA9IHRoaXMuYnVmZmVyLmluZGV4T2YoJ1xcbicsIGNzKTtcbiAgICAgICAgICAgIH0gd2hpbGUgKG5sICE9PSAtMSk7XG4gICAgICAgICAgICBpZiAobmwgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdibG9jay1zY2FsYXInKTtcbiAgICAgICAgICAgICAgICBubCA9IHRoaXMuYnVmZmVyLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBUcmFpbGluZyBpbnN1ZmZpY2llbnRseSBpbmRlbnRlZCB0YWJzIGFyZSBpbnZhbGlkLlxuICAgICAgICAvLyBUbyBjYXRjaCB0aGF0IGR1cmluZyBwYXJzaW5nLCB3ZSBpbmNsdWRlIHRoZW0gaW4gdGhlIGJsb2NrIHNjYWxhciB2YWx1ZS5cbiAgICAgICAgbGV0IGkgPSBubCArIDE7XG4gICAgICAgIGNoID0gdGhpcy5idWZmZXJbaV07XG4gICAgICAgIHdoaWxlIChjaCA9PT0gJyAnKVxuICAgICAgICAgICAgY2ggPSB0aGlzLmJ1ZmZlclsrK2ldO1xuICAgICAgICBpZiAoY2ggPT09ICdcXHQnKSB7XG4gICAgICAgICAgICB3aGlsZSAoY2ggPT09ICdcXHQnIHx8IGNoID09PSAnICcgfHwgY2ggPT09ICdcXHInIHx8IGNoID09PSAnXFxuJylcbiAgICAgICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgICAgICBubCA9IGkgLSAxO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCF0aGlzLmJsb2NrU2NhbGFyS2VlcCkge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIGxldCBpID0gbmwgLSAxO1xuICAgICAgICAgICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ1xccicpXG4gICAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbLS1pXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsYXN0Q2hhciA9IGk7IC8vIERyb3AgdGhlIGxpbmUgaWYgbGFzdCBjaGFyIG5vdCBtb3JlIGluZGVudGVkXG4gICAgICAgICAgICAgICAgd2hpbGUgKGNoID09PSAnICcpXG4gICAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbLS1pXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXG4nICYmIGkgPj0gdGhpcy5wb3MgJiYgaSArIDEgKyBpbmRlbnQgPiBsYXN0Q2hhcilcbiAgICAgICAgICAgICAgICAgICAgbmwgPSBpO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IHdoaWxlICh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB5aWVsZCBTQ0FMQVI7XG4gICAgICAgIHlpZWxkKiB0aGlzLnB1c2hUb0luZGV4KG5sICsgMSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZUxpbmVTdGFydCgpO1xuICAgIH1cbiAgICAqcGFyc2VQbGFpblNjYWxhcigpIHtcbiAgICAgICAgY29uc3QgaW5GbG93ID0gdGhpcy5mbG93TGV2ZWwgPiAwO1xuICAgICAgICBsZXQgZW5kID0gdGhpcy5wb3MgLSAxO1xuICAgICAgICBsZXQgaSA9IHRoaXMucG9zIC0gMTtcbiAgICAgICAgbGV0IGNoO1xuICAgICAgICB3aGlsZSAoKGNoID0gdGhpcy5idWZmZXJbKytpXSkpIHtcbiAgICAgICAgICAgIGlmIChjaCA9PT0gJzonKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuYnVmZmVyW2kgKyAxXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNFbXB0eShuZXh0KSB8fCAoaW5GbG93ICYmIGZsb3dJbmRpY2F0b3JDaGFycy5oYXMobmV4dCkpKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBlbmQgPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNFbXB0eShjaCkpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dCA9IHRoaXMuYnVmZmVyW2kgKyAxXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXHInKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXh0ID09PSAnXFxuJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2ggPSAnXFxuJztcbiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQgPSB0aGlzLmJ1ZmZlcltpICsgMV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kID0gaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG5leHQgPT09ICcjJyB8fCAoaW5GbG93ICYmIGZsb3dJbmRpY2F0b3JDaGFycy5oYXMobmV4dCkpKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXG4nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNzID0gdGhpcy5jb250aW51ZVNjYWxhcihpICsgMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjcyA9PT0gLTEpXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgaSA9IE1hdGgubWF4KGksIGNzIC0gMik7IC8vIHRvIGFkdmFuY2UsIGJ1dCBzdGlsbCBhY2NvdW50IGZvciAnICMnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGluRmxvdyAmJiBmbG93SW5kaWNhdG9yQ2hhcnMuaGFzKGNoKSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZW5kID0gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNoICYmICF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgncGxhaW4tc2NhbGFyJyk7XG4gICAgICAgIHlpZWxkIFNDQUxBUjtcbiAgICAgICAgeWllbGQqIHRoaXMucHVzaFRvSW5kZXgoZW5kICsgMSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBpbkZsb3cgPyAnZmxvdycgOiAnZG9jJztcbiAgICB9XG4gICAgKnB1c2hDb3VudChuKSB7XG4gICAgICAgIGlmIChuID4gMCkge1xuICAgICAgICAgICAgeWllbGQgdGhpcy5idWZmZXIuc3Vic3RyKHRoaXMucG9zLCBuKTtcbiAgICAgICAgICAgIHRoaXMucG9zICs9IG47XG4gICAgICAgICAgICByZXR1cm4gbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgKnB1c2hUb0luZGV4KGksIGFsbG93RW1wdHkpIHtcbiAgICAgICAgY29uc3QgcyA9IHRoaXMuYnVmZmVyLnNsaWNlKHRoaXMucG9zLCBpKTtcbiAgICAgICAgaWYgKHMpIHtcbiAgICAgICAgICAgIHlpZWxkIHM7XG4gICAgICAgICAgICB0aGlzLnBvcyArPSBzLmxlbmd0aDtcbiAgICAgICAgICAgIHJldHVybiBzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChhbGxvd0VtcHR5KVxuICAgICAgICAgICAgeWllbGQgJyc7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICAqcHVzaEluZGljYXRvcnMoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5jaGFyQXQoMCkpIHtcbiAgICAgICAgICAgIGNhc2UgJyEnOlxuICAgICAgICAgICAgICAgIHJldHVybiAoKHlpZWxkKiB0aGlzLnB1c2hUYWcoKSkgK1xuICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKSkgK1xuICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaEluZGljYXRvcnMoKSkpO1xuICAgICAgICAgICAgY2FzZSAnJic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICgoeWllbGQqIHRoaXMucHVzaFVudGlsKGlzTm90QW5jaG9yQ2hhcikpICtcbiAgICAgICAgICAgICAgICAgICAgKHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSkpICtcbiAgICAgICAgICAgICAgICAgICAgKHlpZWxkKiB0aGlzLnB1c2hJbmRpY2F0b3JzKCkpKTtcbiAgICAgICAgICAgIGNhc2UgJy0nOiAvLyB0aGlzIGlzIGFuIGVycm9yXG4gICAgICAgICAgICBjYXNlICc/JzogLy8gdGhpcyBpcyBhbiBlcnJvciBvdXRzaWRlIGZsb3cgY29sbGVjdGlvbnNcbiAgICAgICAgICAgIGNhc2UgJzonOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5GbG93ID0gdGhpcy5mbG93TGV2ZWwgPiAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoMSA9IHRoaXMuY2hhckF0KDEpO1xuICAgICAgICAgICAgICAgIGlmIChpc0VtcHR5KGNoMSkgfHwgKGluRmxvdyAmJiBmbG93SW5kaWNhdG9yQ2hhcnMuaGFzKGNoMSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaW5GbG93KVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRlbnROZXh0ID0gdGhpcy5pbmRlbnRWYWx1ZSArIDE7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuZmxvd0tleSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmxvd0tleSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKCh5aWVsZCogdGhpcy5wdXNoQ291bnQoMSkpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICh5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaEluZGljYXRvcnMoKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgKnB1c2hUYWcoKSB7XG4gICAgICAgIGlmICh0aGlzLmNoYXJBdCgxKSA9PT0gJzwnKSB7XG4gICAgICAgICAgICBsZXQgaSA9IHRoaXMucG9zICsgMjtcbiAgICAgICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgd2hpbGUgKCFpc0VtcHR5KGNoKSAmJiBjaCAhPT0gJz4nKVxuICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpXTtcbiAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wdXNoVG9JbmRleChjaCA9PT0gJz4nID8gaSArIDEgOiBpLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgaSA9IHRoaXMucG9zICsgMTtcbiAgICAgICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgd2hpbGUgKGNoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRhZ0NoYXJzLmhhcyhjaCkpXG4gICAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpXTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaCA9PT0gJyUnICYmXG4gICAgICAgICAgICAgICAgICAgIGhleERpZ2l0cy5oYXModGhpcy5idWZmZXJbaSArIDFdKSAmJlxuICAgICAgICAgICAgICAgICAgICBoZXhEaWdpdHMuaGFzKHRoaXMuYnVmZmVyW2kgKyAyXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2ggPSB0aGlzLmJ1ZmZlclsoaSArPSAzKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucHVzaFRvSW5kZXgoaSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwdXNoTmV3bGluZSgpIHtcbiAgICAgICAgY29uc3QgY2ggPSB0aGlzLmJ1ZmZlclt0aGlzLnBvc107XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucHVzaENvdW50KDEpO1xuICAgICAgICBlbHNlIGlmIChjaCA9PT0gJ1xccicgJiYgdGhpcy5jaGFyQXQoMSkgPT09ICdcXG4nKVxuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgyKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgICpwdXNoU3BhY2VzKGFsbG93VGFicykge1xuICAgICAgICBsZXQgaSA9IHRoaXMucG9zIC0gMTtcbiAgICAgICAgbGV0IGNoO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgIH0gd2hpbGUgKGNoID09PSAnICcgfHwgKGFsbG93VGFicyAmJiBjaCA9PT0gJ1xcdCcpKTtcbiAgICAgICAgY29uc3QgbiA9IGkgLSB0aGlzLnBvcztcbiAgICAgICAgaWYgKG4gPiAwKSB7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MsIG4pO1xuICAgICAgICAgICAgdGhpcy5wb3MgPSBpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuO1xuICAgIH1cbiAgICAqcHVzaFVudGlsKHRlc3QpIHtcbiAgICAgICAgbGV0IGkgPSB0aGlzLnBvcztcbiAgICAgICAgbGV0IGNoID0gdGhpcy5idWZmZXJbaV07XG4gICAgICAgIHdoaWxlICghdGVzdChjaCkpXG4gICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wdXNoVG9JbmRleChpLCBmYWxzZSk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBMZXhlciB9O1xuIiwgIi8qKlxuICogVHJhY2tzIG5ld2xpbmVzIGR1cmluZyBwYXJzaW5nIGluIG9yZGVyIHRvIHByb3ZpZGUgYW4gZWZmaWNpZW50IEFQSSBmb3JcbiAqIGRldGVybWluaW5nIHRoZSBvbmUtaW5kZXhlZCBgeyBsaW5lLCBjb2wgfWAgcG9zaXRpb24gZm9yIGFueSBvZmZzZXRcbiAqIHdpdGhpbiB0aGUgaW5wdXQuXG4gKi9cbmNsYXNzIExpbmVDb3VudGVyIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5saW5lU3RhcnRzID0gW107XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTaG91bGQgYmUgY2FsbGVkIGluIGFzY2VuZGluZyBvcmRlci4gT3RoZXJ3aXNlLCBjYWxsXG4gICAgICAgICAqIGBsaW5lQ291bnRlci5saW5lU3RhcnRzLnNvcnQoKWAgYmVmb3JlIGNhbGxpbmcgYGxpbmVQb3MoKWAuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmFkZE5ld0xpbmUgPSAob2Zmc2V0KSA9PiB0aGlzLmxpbmVTdGFydHMucHVzaChvZmZzZXQpO1xuICAgICAgICAvKipcbiAgICAgICAgICogUGVyZm9ybXMgYSBiaW5hcnkgc2VhcmNoIGFuZCByZXR1cm5zIHRoZSAxLWluZGV4ZWQgeyBsaW5lLCBjb2wgfVxuICAgICAgICAgKiBwb3NpdGlvbiBvZiBgb2Zmc2V0YC4gSWYgYGxpbmUgPT09IDBgLCBgYWRkTmV3TGluZWAgaGFzIG5ldmVyIGJlZW5cbiAgICAgICAgICogY2FsbGVkIG9yIGBvZmZzZXRgIGlzIGJlZm9yZSB0aGUgZmlyc3Qga25vd24gbmV3bGluZS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMubGluZVBvcyA9IChvZmZzZXQpID0+IHtcbiAgICAgICAgICAgIGxldCBsb3cgPSAwO1xuICAgICAgICAgICAgbGV0IGhpZ2ggPSB0aGlzLmxpbmVTdGFydHMubGVuZ3RoO1xuICAgICAgICAgICAgd2hpbGUgKGxvdyA8IGhpZ2gpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtaWQgPSAobG93ICsgaGlnaCkgPj4gMTsgLy8gTWF0aC5mbG9vcigobG93ICsgaGlnaCkgLyAyKVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxpbmVTdGFydHNbbWlkXSA8IG9mZnNldClcbiAgICAgICAgICAgICAgICAgICAgbG93ID0gbWlkICsgMTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGhpZ2ggPSBtaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5saW5lU3RhcnRzW2xvd10gPT09IG9mZnNldClcbiAgICAgICAgICAgICAgICByZXR1cm4geyBsaW5lOiBsb3cgKyAxLCBjb2w6IDEgfTtcbiAgICAgICAgICAgIGlmIChsb3cgPT09IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbGluZTogMCwgY29sOiBvZmZzZXQgfTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5saW5lU3RhcnRzW2xvdyAtIDFdO1xuICAgICAgICAgICAgcmV0dXJuIHsgbGluZTogbG93LCBjb2w6IG9mZnNldCAtIHN0YXJ0ICsgMSB9O1xuICAgICAgICB9O1xuICAgIH1cbn1cblxuZXhwb3J0IHsgTGluZUNvdW50ZXIgfTtcbiIsICJpbXBvcnQgeyB0b2tlblR5cGUgfSBmcm9tICcuL2NzdC5qcyc7XG5pbXBvcnQgeyBMZXhlciB9IGZyb20gJy4vbGV4ZXIuanMnO1xuXG5mdW5jdGlvbiBpbmNsdWRlc1Rva2VuKGxpc3QsIHR5cGUpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpXG4gICAgICAgIGlmIChsaXN0W2ldLnR5cGUgPT09IHR5cGUpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBmaW5kTm9uRW1wdHlJbmRleChsaXN0KSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgICAgIHN3aXRjaCAobGlzdFtpXS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG59XG5mdW5jdGlvbiBpc0Zsb3dUb2tlbih0b2tlbikge1xuICAgIHN3aXRjaCAodG9rZW4/LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgY2FzZSAnZmxvdy1jb2xsZWN0aW9uJzpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFByZXZQcm9wcyhwYXJlbnQpIHtcbiAgICBzd2l0Y2ggKHBhcmVudC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2RvY3VtZW50JzpcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQuc3RhcnQ7XG4gICAgICAgIGNhc2UgJ2Jsb2NrLW1hcCc6IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ID0gcGFyZW50Lml0ZW1zW3BhcmVudC5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIHJldHVybiBpdC5zZXAgPz8gaXQuc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnYmxvY2stc2VxJzpcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQuaXRlbXNbcGFyZW50Lml0ZW1zLmxlbmd0aCAtIDFdLnN0YXJ0O1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn1cbi8qKiBOb3RlOiBNYXkgbW9kaWZ5IGlucHV0IGFycmF5ICovXG5mdW5jdGlvbiBnZXRGaXJzdEtleVN0YXJ0UHJvcHMocHJldikge1xuICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIGxldCBpID0gcHJldi5sZW5ndGg7XG4gICAgbG9vcDogd2hpbGUgKC0taSA+PSAwKSB7XG4gICAgICAgIHN3aXRjaCAocHJldltpXS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdkb2Mtc3RhcnQnOlxuICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6XG4gICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgIGNhc2UgJ3NlcS1pdGVtLWluZCc6XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBicmVhayBsb29wO1xuICAgICAgICB9XG4gICAgfVxuICAgIHdoaWxlIChwcmV2WysraV0/LnR5cGUgPT09ICdzcGFjZScpIHtcbiAgICAgICAgLyogbG9vcCAqL1xuICAgIH1cbiAgICByZXR1cm4gcHJldi5zcGxpY2UoaSwgcHJldi5sZW5ndGgpO1xufVxuZnVuY3Rpb24gZml4Rmxvd1NlcUl0ZW1zKGZjKSB7XG4gICAgaWYgKGZjLnN0YXJ0LnR5cGUgPT09ICdmbG93LXNlcS1zdGFydCcpIHtcbiAgICAgICAgZm9yIChjb25zdCBpdCBvZiBmYy5pdGVtcykge1xuICAgICAgICAgICAgaWYgKGl0LnNlcCAmJlxuICAgICAgICAgICAgICAgICFpdC52YWx1ZSAmJlxuICAgICAgICAgICAgICAgICFpbmNsdWRlc1Rva2VuKGl0LnN0YXJ0LCAnZXhwbGljaXQta2V5LWluZCcpICYmXG4gICAgICAgICAgICAgICAgIWluY2x1ZGVzVG9rZW4oaXQuc2VwLCAnbWFwLXZhbHVlLWluZCcpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0LmtleSlcbiAgICAgICAgICAgICAgICAgICAgaXQudmFsdWUgPSBpdC5rZXk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGl0LmtleTtcbiAgICAgICAgICAgICAgICBpZiAoaXNGbG93VG9rZW4oaXQudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZS5lbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpdC52YWx1ZS5lbmQsIGl0LnNlcCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnZhbHVlLmVuZCA9IGl0LnNlcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpdC5zdGFydCwgaXQuc2VwKTtcbiAgICAgICAgICAgICAgICBkZWxldGUgaXQuc2VwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBBIFlBTUwgY29uY3JldGUgc3ludGF4IHRyZWUgKENTVCkgcGFyc2VyXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IHNyYzogc3RyaW5nID0gLi4uXG4gKiBmb3IgKGNvbnN0IHRva2VuIG9mIG5ldyBQYXJzZXIoKS5wYXJzZShzcmMpKSB7XG4gKiAgIC8vIHRva2VuOiBUb2tlblxuICogfVxuICogYGBgXG4gKlxuICogVG8gdXNlIHRoZSBwYXJzZXIgd2l0aCBhIHVzZXItcHJvdmlkZWQgbGV4ZXI6XG4gKlxuICogYGBgdHNcbiAqIGZ1bmN0aW9uKiBwYXJzZShzb3VyY2U6IHN0cmluZywgbGV4ZXI6IExleGVyKSB7XG4gKiAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIoKVxuICogICBmb3IgKGNvbnN0IGxleGVtZSBvZiBsZXhlci5sZXgoc291cmNlKSlcbiAqICAgICB5aWVsZCogcGFyc2VyLm5leHQobGV4ZW1lKVxuICogICB5aWVsZCogcGFyc2VyLmVuZCgpXG4gKiB9XG4gKlxuICogY29uc3Qgc3JjOiBzdHJpbmcgPSAuLi5cbiAqIGNvbnN0IGxleGVyID0gbmV3IExleGVyKClcbiAqIGZvciAoY29uc3QgdG9rZW4gb2YgcGFyc2Uoc3JjLCBsZXhlcikpIHtcbiAqICAgLy8gdG9rZW46IFRva2VuXG4gKiB9XG4gKiBgYGBcbiAqL1xuY2xhc3MgUGFyc2VyIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gb25OZXdMaW5lIC0gSWYgZGVmaW5lZCwgY2FsbGVkIHNlcGFyYXRlbHkgd2l0aCB0aGUgc3RhcnQgcG9zaXRpb24gb2ZcbiAgICAgKiAgIGVhY2ggbmV3IGxpbmUgKGluIGBwYXJzZSgpYCwgaW5jbHVkaW5nIHRoZSBzdGFydCBvZiBpbnB1dCkuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob25OZXdMaW5lKSB7XG4gICAgICAgIC8qKiBJZiB0cnVlLCBzcGFjZSBhbmQgc2VxdWVuY2UgaW5kaWNhdG9ycyBjb3VudCBhcyBpbmRlbnRhdGlvbiAqL1xuICAgICAgICB0aGlzLmF0TmV3TGluZSA9IHRydWU7XG4gICAgICAgIC8qKiBJZiB0cnVlLCBuZXh0IHRva2VuIGlzIGEgc2NhbGFyIHZhbHVlICovXG4gICAgICAgIHRoaXMuYXRTY2FsYXIgPSBmYWxzZTtcbiAgICAgICAgLyoqIEN1cnJlbnQgaW5kZW50YXRpb24gbGV2ZWwgKi9cbiAgICAgICAgdGhpcy5pbmRlbnQgPSAwO1xuICAgICAgICAvKiogQ3VycmVudCBvZmZzZXQgc2luY2UgdGhlIHN0YXJ0IG9mIHBhcnNpbmcgKi9cbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xuICAgICAgICAvKiogT24gdGhlIHNhbWUgbGluZSB3aXRoIGEgYmxvY2sgbWFwIGtleSAqL1xuICAgICAgICB0aGlzLm9uS2V5TGluZSA9IGZhbHNlO1xuICAgICAgICAvKiogVG9wIGluZGljYXRlcyB0aGUgbm9kZSB0aGF0J3MgY3VycmVudGx5IGJlaW5nIGJ1aWx0ICovXG4gICAgICAgIHRoaXMuc3RhY2sgPSBbXTtcbiAgICAgICAgLyoqIFRoZSBzb3VyY2Ugb2YgdGhlIGN1cnJlbnQgdG9rZW4sIHNldCBpbiBwYXJzZSgpICovXG4gICAgICAgIHRoaXMuc291cmNlID0gJyc7XG4gICAgICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgY3VycmVudCB0b2tlbiwgc2V0IGluIHBhcnNlKCkgKi9cbiAgICAgICAgdGhpcy50eXBlID0gJyc7XG4gICAgICAgIC8vIE11c3QgYmUgZGVmaW5lZCBhZnRlciBgbmV4dCgpYFxuICAgICAgICB0aGlzLmxleGVyID0gbmV3IExleGVyKCk7XG4gICAgICAgIHRoaXMub25OZXdMaW5lID0gb25OZXdMaW5lO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXJzZSBgc291cmNlYCBhcyBhIFlBTUwgc3RyZWFtLlxuICAgICAqIElmIGBpbmNvbXBsZXRlYCwgYSBwYXJ0IG9mIHRoZSBsYXN0IGxpbmUgbWF5IGJlIGxlZnQgYXMgYSBidWZmZXIgZm9yIHRoZSBuZXh0IGNhbGwuXG4gICAgICpcbiAgICAgKiBFcnJvcnMgYXJlIG5vdCB0aHJvd24sIGJ1dCB5aWVsZGVkIGFzIGB7IHR5cGU6ICdlcnJvcicsIG1lc3NhZ2UgfWAgdG9rZW5zLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBnZW5lcmF0b3Igb2YgdG9rZW5zIHJlcHJlc2VudGluZyBlYWNoIGRpcmVjdGl2ZSwgZG9jdW1lbnQsIGFuZCBvdGhlciBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgKnBhcnNlKHNvdXJjZSwgaW5jb21wbGV0ZSA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLm9uTmV3TGluZSAmJiB0aGlzLm9mZnNldCA9PT0gMClcbiAgICAgICAgICAgIHRoaXMub25OZXdMaW5lKDApO1xuICAgICAgICBmb3IgKGNvbnN0IGxleGVtZSBvZiB0aGlzLmxleGVyLmxleChzb3VyY2UsIGluY29tcGxldGUpKVxuICAgICAgICAgICAgeWllbGQqIHRoaXMubmV4dChsZXhlbWUpO1xuICAgICAgICBpZiAoIWluY29tcGxldGUpXG4gICAgICAgICAgICB5aWVsZCogdGhpcy5lbmQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWR2YW5jZSB0aGUgcGFyc2VyIGJ5IHRoZSBgc291cmNlYCBvZiBvbmUgbGV4aWNhbCB0b2tlbi5cbiAgICAgKi9cbiAgICAqbmV4dChzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIGlmICh0aGlzLmF0U2NhbGFyKSB7XG4gICAgICAgICAgICB0aGlzLmF0U2NhbGFyID0gZmFsc2U7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgICAgICB0aGlzLm9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHR5cGUgPSB0b2tlblR5cGUoc291cmNlKTtcbiAgICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYE5vdCBhIFlBTUwgdG9rZW46ICR7c291cmNlfWA7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoeyB0eXBlOiAnZXJyb3InLCBvZmZzZXQ6IHRoaXMub2Zmc2V0LCBtZXNzYWdlLCBzb3VyY2UgfSk7XG4gICAgICAgICAgICB0aGlzLm9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGUgPT09ICdzY2FsYXInKSB7XG4gICAgICAgICAgICB0aGlzLmF0TmV3TGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5hdFNjYWxhciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSAnc2NhbGFyJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdE5ld0xpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluZGVudCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9uTmV3TGluZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25OZXdMaW5lKHRoaXMub2Zmc2V0ICsgc291cmNlLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXROZXdMaW5lICYmIHNvdXJjZVswXSA9PT0gJyAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRlbnQgKz0gc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnbWFwLXZhbHVlLWluZCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnc2VxLWl0ZW0taW5kJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXROZXdMaW5lKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRlbnQgKz0gc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZG9jLW1vZGUnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2Zsb3ctZXJyb3ItZW5kJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXROZXdMaW5lID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKiBDYWxsIGF0IGVuZCBvZiBpbnB1dCB0byBwdXNoIG91dCBhbnkgcmVtYWluaW5nIGNvbnN0cnVjdGlvbnMgKi9cbiAgICAqZW5kKCkge1xuICAgICAgICB3aGlsZSAodGhpcy5zdGFjay5sZW5ndGggPiAwKVxuICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgfVxuICAgIGdldCBzb3VyY2VUb2tlbigpIHtcbiAgICAgICAgY29uc3Qgc3QgPSB7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHN0O1xuICAgIH1cbiAgICAqc3RlcCgpIHtcbiAgICAgICAgY29uc3QgdG9wID0gdGhpcy5wZWVrKDEpO1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnZG9jLWVuZCcgJiYgKCF0b3AgfHwgdG9wLnR5cGUgIT09ICdkb2MtZW5kJykpIHtcbiAgICAgICAgICAgIHdoaWxlICh0aGlzLnN0YWNrLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdkb2MtZW5kJyxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdG9wKVxuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnN0cmVhbSgpO1xuICAgICAgICBzd2l0Y2ggKHRvcC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdkb2N1bWVudCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLmRvY3VtZW50KHRvcCk7XG4gICAgICAgICAgICBjYXNlICdhbGlhcyc6XG4gICAgICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICAgICAgY2FzZSAnc2luZ2xlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgY2FzZSAnZG91YmxlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5zY2FsYXIodG9wKTtcbiAgICAgICAgICAgIGNhc2UgJ2Jsb2NrLXNjYWxhcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLmJsb2NrU2NhbGFyKHRvcCk7XG4gICAgICAgICAgICBjYXNlICdibG9jay1tYXAnOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5ibG9ja01hcCh0b3ApO1xuICAgICAgICAgICAgY2FzZSAnYmxvY2stc2VxJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMuYmxvY2tTZXF1ZW5jZSh0b3ApO1xuICAgICAgICAgICAgY2FzZSAnZmxvdy1jb2xsZWN0aW9uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMuZmxvd0NvbGxlY3Rpb24odG9wKTtcbiAgICAgICAgICAgIGNhc2UgJ2RvYy1lbmQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5kb2N1bWVudEVuZCh0b3ApO1xuICAgICAgICB9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0IHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgIH1cbiAgICBwZWVrKG4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGggLSBuXTtcbiAgICB9XG4gICAgKnBvcChlcnJvcikge1xuICAgICAgICBjb25zdCB0b2tlbiA9IGVycm9yID8/IHRoaXMuc3RhY2sucG9wKCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ1RyaWVkIHRvIHBvcCBhbiBlbXB0eSBzdGFjayc7XG4gICAgICAgICAgICB5aWVsZCB7IHR5cGU6ICdlcnJvcicsIG9mZnNldDogdGhpcy5vZmZzZXQsIHNvdXJjZTogJycsIG1lc3NhZ2UgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLnN0YWNrLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgeWllbGQgdG9rZW47XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSB0aGlzLnBlZWsoMSk7XG4gICAgICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gJ2Jsb2NrLXNjYWxhcicpIHtcbiAgICAgICAgICAgICAgICAvLyBCbG9jayBzY2FsYXJzIHVzZSB0aGVpciBwYXJlbnQgcmF0aGVyIHRoYW4gaGVhZGVyIGluZGVudFxuICAgICAgICAgICAgICAgIHRva2VuLmluZGVudCA9ICdpbmRlbnQnIGluIHRvcCA/IHRvcC5pbmRlbnQgOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodG9rZW4udHlwZSA9PT0gJ2Zsb3ctY29sbGVjdGlvbicgJiYgdG9wLnR5cGUgPT09ICdkb2N1bWVudCcpIHtcbiAgICAgICAgICAgICAgICAvLyBJZ25vcmUgYWxsIGluZGVudCBmb3IgdG9wLWxldmVsIGZsb3cgY29sbGVjdGlvbnNcbiAgICAgICAgICAgICAgICB0b2tlbi5pbmRlbnQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09ICdmbG93LWNvbGxlY3Rpb24nKVxuICAgICAgICAgICAgICAgIGZpeEZsb3dTZXFJdGVtcyh0b2tlbik7XG4gICAgICAgICAgICBzd2l0Y2ggKHRvcC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnZG9jdW1lbnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AudmFsdWUgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmxvY2stc2NhbGFyJzpcbiAgICAgICAgICAgICAgICAgICAgdG9wLnByb3BzLnB1c2godG9rZW4pOyAvLyBlcnJvclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdibG9jay1tYXAnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ID0gdG9wLml0ZW1zW3RvcC5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3AuaXRlbXMucHVzaCh7IHN0YXJ0OiBbXSwga2V5OiB0b2tlbiwgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnZhbHVlID0gdG9rZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0LCB7IGtleTogdG9rZW4sIHNlcDogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9ICFpdC5leHBsaWNpdEtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnYmxvY2stc2VxJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdCA9IHRvcC5pdGVtc1t0b3AuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcC5pdGVtcy5wdXNoKHsgc3RhcnQ6IFtdLCB2YWx1ZTogdG9rZW4gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnZhbHVlID0gdG9rZW47XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdmbG93LWNvbGxlY3Rpb24nOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ID0gdG9wLml0ZW1zW3RvcC5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdCB8fCBpdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcC5pdGVtcy5wdXNoKHsgc3RhcnQ6IFtdLCBrZXk6IHRva2VuLCBzZXA6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApXG4gICAgICAgICAgICAgICAgICAgICAgICBpdC52YWx1ZSA9IHRva2VuO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0LCB7IGtleTogdG9rZW4sIHNlcDogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKHRva2VuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgodG9wLnR5cGUgPT09ICdkb2N1bWVudCcgfHxcbiAgICAgICAgICAgICAgICB0b3AudHlwZSA9PT0gJ2Jsb2NrLW1hcCcgfHxcbiAgICAgICAgICAgICAgICB0b3AudHlwZSA9PT0gJ2Jsb2NrLXNlcScpICYmXG4gICAgICAgICAgICAgICAgKHRva2VuLnR5cGUgPT09ICdibG9jay1tYXAnIHx8IHRva2VuLnR5cGUgPT09ICdibG9jay1zZXEnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSB0b2tlbi5pdGVtc1t0b2tlbi5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICBpZiAobGFzdCAmJlxuICAgICAgICAgICAgICAgICAgICAhbGFzdC5zZXAgJiZcbiAgICAgICAgICAgICAgICAgICAgIWxhc3QudmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgbGFzdC5zdGFydC5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgICAgIGZpbmROb25FbXB0eUluZGV4KGxhc3Quc3RhcnQpID09PSAtMSAmJlxuICAgICAgICAgICAgICAgICAgICAodG9rZW4uaW5kZW50ID09PSAwIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0LnN0YXJ0LmV2ZXJ5KHN0ID0+IHN0LnR5cGUgIT09ICdjb21tZW50JyB8fCBzdC5pbmRlbnQgPCB0b2tlbi5pbmRlbnQpKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodG9wLnR5cGUgPT09ICdkb2N1bWVudCcpXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3AuZW5kID0gbGFzdC5zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wLml0ZW1zLnB1c2goeyBzdGFydDogbGFzdC5zdGFydCB9KTtcbiAgICAgICAgICAgICAgICAgICAgdG9rZW4uaXRlbXMuc3BsaWNlKC0xLCAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgKnN0cmVhbSgpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2RpcmVjdGl2ZS1saW5lJzpcbiAgICAgICAgICAgICAgICB5aWVsZCB7IHR5cGU6ICdkaXJlY3RpdmUnLCBvZmZzZXQ6IHRoaXMub2Zmc2V0LCBzb3VyY2U6IHRoaXMuc291cmNlIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnYnl0ZS1vcmRlci1tYXJrJzpcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgeWllbGQgdGhpcy5zb3VyY2VUb2tlbjtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdkb2MtbW9kZSc6XG4gICAgICAgICAgICBjYXNlICdkb2Mtc3RhcnQnOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZG9jID0ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZG9jdW1lbnQnLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdkb2Mtc3RhcnQnKVxuICAgICAgICAgICAgICAgICAgICBkb2Muc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goZG9jKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQge1xuICAgICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCAke3RoaXMudHlwZX0gdG9rZW4gaW4gWUFNTCBzdHJlYW1gLFxuICAgICAgICAgICAgc291cmNlOiB0aGlzLnNvdXJjZVxuICAgICAgICB9O1xuICAgIH1cbiAgICAqZG9jdW1lbnQoZG9jKSB7XG4gICAgICAgIGlmIChkb2MudmFsdWUpXG4gICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMubGluZUVuZChkb2MpO1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnZG9jLXN0YXJ0Jzoge1xuICAgICAgICAgICAgICAgIGlmIChmaW5kTm9uRW1wdHlJbmRleChkb2Muc3RhcnQpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGRvYy5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2FuY2hvcic6XG4gICAgICAgICAgICBjYXNlICd0YWcnOlxuICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBkb2Muc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnYgPSB0aGlzLnN0YXJ0QmxvY2tWYWx1ZShkb2MpO1xuICAgICAgICBpZiAoYnYpXG4gICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goYnYpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHlpZWxkIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgJHt0aGlzLnR5cGV9IHRva2VuIGluIFlBTUwgZG9jdW1lbnRgLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgKnNjYWxhcihzY2FsYXIpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ21hcC12YWx1ZS1pbmQnKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gZ2V0UHJldlByb3BzKHRoaXMucGVlaygyKSk7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IGdldEZpcnN0S2V5U3RhcnRQcm9wcyhwcmV2KTtcbiAgICAgICAgICAgIGxldCBzZXA7XG4gICAgICAgICAgICBpZiAoc2NhbGFyLmVuZCkge1xuICAgICAgICAgICAgICAgIHNlcCA9IHNjYWxhci5lbmQ7XG4gICAgICAgICAgICAgICAgc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHNjYWxhci5lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgc2VwID0gW3RoaXMuc291cmNlVG9rZW5dO1xuICAgICAgICAgICAgY29uc3QgbWFwID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgIG9mZnNldDogc2NhbGFyLm9mZnNldCxcbiAgICAgICAgICAgICAgICBpbmRlbnQ6IHNjYWxhci5pbmRlbnQsXG4gICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0LCBrZXk6IHNjYWxhciwgc2VwIH1dXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aCAtIDFdID0gbWFwO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLmxpbmVFbmQoc2NhbGFyKTtcbiAgICB9XG4gICAgKmJsb2NrU2NhbGFyKHNjYWxhcikge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBzY2FsYXIucHJvcHMucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICAgICAgICAgIHNjYWxhci5zb3VyY2UgPSB0aGlzLnNvdXJjZTtcbiAgICAgICAgICAgICAgICAvLyBibG9jay1zY2FsYXIgc291cmNlIGluY2x1ZGVzIHRyYWlsaW5nIG5ld2xpbmVcbiAgICAgICAgICAgICAgICB0aGlzLmF0TmV3TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmRlbnQgPSAwO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9uTmV3TGluZSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmwgPSB0aGlzLnNvdXJjZS5pbmRleE9mKCdcXG4nKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIChubCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk5ld0xpbmUodGhpcy5vZmZzZXQgKyBubCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBubCA9IHRoaXMuc291cmNlLmluZGV4T2YoJ1xcbicsIG5sKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKmJsb2NrTWFwKG1hcCkge1xuICAgICAgICBjb25zdCBpdCA9IG1hcC5pdGVtc1ttYXAuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIC8vIGl0LnNlcCBpcyB0cnVlLWlzaCBpZiBwYWlyIGFscmVhZHkgaGFzIGtleSBvciA6IHNlcGFyYXRvclxuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kID0gJ2VuZCcgaW4gaXQudmFsdWUgPyBpdC52YWx1ZS5lbmQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSBBcnJheS5pc0FycmF5KGVuZCkgPyBlbmRbZW5kLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdD8udHlwZSA9PT0gJ2NvbW1lbnQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kPy5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF0SW5kZW50ZWRDb21tZW50KGl0LnN0YXJ0LCBtYXAuaW5kZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IG1hcC5pdGVtc1ttYXAuaXRlbXMubGVuZ3RoIC0gMl07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBwcmV2Py52YWx1ZT8uZW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZW5kKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGVuZCwgaXQuc3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluZGVudCA+PSBtYXAuaW5kZW50KSB7XG4gICAgICAgICAgICBjb25zdCBhdE1hcEluZGVudCA9ICF0aGlzLm9uS2V5TGluZSAmJiB0aGlzLmluZGVudCA9PT0gbWFwLmluZGVudDtcbiAgICAgICAgICAgIGNvbnN0IGF0TmV4dEl0ZW0gPSBhdE1hcEluZGVudCAmJlxuICAgICAgICAgICAgICAgIChpdC5zZXAgfHwgaXQuZXhwbGljaXRLZXkpICYmXG4gICAgICAgICAgICAgICAgdGhpcy50eXBlICE9PSAnc2VxLWl0ZW0taW5kJztcbiAgICAgICAgICAgIC8vIEZvciBlbXB0eSBub2RlcywgYXNzaWduIG5ld2xpbmUtc2VwYXJhdGVkIG5vdCBpbmRlbnRlZCBlbXB0eSB0b2tlbnMgdG8gZm9sbG93aW5nIG5vZGVcbiAgICAgICAgICAgIGxldCBzdGFydCA9IFtdO1xuICAgICAgICAgICAgaWYgKGF0TmV4dEl0ZW0gJiYgaXQuc2VwICYmICFpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5sID0gW107XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdC5zZXAubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3QgPSBpdC5zZXBbaV07XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3QudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmwucHVzaChpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdC5pbmRlbnQgPiBtYXAuaW5kZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubC5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBubC5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChubC5sZW5ndGggPj0gMilcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBpdC5zZXAuc3BsaWNlKG5sWzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnYW5jaG9yJzpcbiAgICAgICAgICAgICAgICBjYXNlICd0YWcnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoYXROZXh0SXRlbSB8fCBpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHsgc3RhcnQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQuc2VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2V4cGxpY2l0LWtleS1pbmQnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoIWl0LnNlcCAmJiAhaXQuZXhwbGljaXRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5leHBsaWNpdEtleSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYXROZXh0SXRlbSB8fCBpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHsgc3RhcnQsIGV4cGxpY2l0S2V5OiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stbWFwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0sIGV4cGxpY2l0S2V5OiB0cnVlIH1dXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0LmV4cGxpY2l0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmNsdWRlc1Rva2VuKGl0LnN0YXJ0LCAnbmV3bGluZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXQsIHsga2V5OiBudWxsLCBzZXA6IFt0aGlzLnNvdXJjZVRva2VuXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKGl0LnN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQsIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0OiBbXSwga2V5OiBudWxsLCBzZXA6IFt0aGlzLnNvdXJjZVRva2VuXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGluY2x1ZGVzVG9rZW4oaXQuc2VwLCAnbWFwLXZhbHVlLWluZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydCwga2V5OiBudWxsLCBzZXA6IFt0aGlzLnNvdXJjZVRva2VuXSB9XVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNGbG93VG9rZW4oaXQua2V5KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpbmNsdWRlc1Rva2VuKGl0LnNlcCwgJ25ld2xpbmUnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKGl0LnN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBpdC5rZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VwID0gaXQuc2VwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdHlwZSBndWFyZCBpcyB3cm9uZyBoZXJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0LmtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHR5cGUgZ3VhcmQgaXMgd3JvbmcgaGVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdC5zZXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydCwga2V5LCBzZXAgfV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN0YXJ0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOb3QgYWN0dWFsbHkgYXQgbmV4dCBpdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQuc2VwID0gaXQuc2VwLmNvbmNhdChzdGFydCwgdGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXQuc2VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdCwgeyBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQudmFsdWUgfHwgYXROZXh0SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHsgc3RhcnQsIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpbmNsdWRlc1Rva2VuKGl0LnNlcCwgJ21hcC12YWx1ZS1pbmQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQ6IFtdLCBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH1dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdhbGlhcyc6XG4gICAgICAgICAgICAgICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgICAgICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICAgICAgY2FzZSAnZG91YmxlLXF1b3RlZC1zY2FsYXInOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZzID0gdGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdE5leHRJdGVtIHx8IGl0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0LCBrZXk6IGZzLCBzZXA6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGZzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXQsIHsga2V5OiBmcywgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYnYgPSB0aGlzLnN0YXJ0QmxvY2tWYWx1ZShtYXApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYnYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdE1hcEluZGVudCAmJiBidi50eXBlICE9PSAnYmxvY2stc2VxJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHsgc3RhcnQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goYnYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgfVxuICAgICpibG9ja1NlcXVlbmNlKHNlcSkge1xuICAgICAgICBjb25zdCBpdCA9IHNlcS5pdGVtc1tzZXEuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kID0gJ2VuZCcgaW4gaXQudmFsdWUgPyBpdC52YWx1ZS5lbmQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSBBcnJheS5pc0FycmF5KGVuZCkgPyBlbmRbZW5kLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdD8udHlwZSA9PT0gJ2NvbW1lbnQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kPy5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXEuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIHNlcS5pdGVtcy5wdXNoKHsgc3RhcnQ6IFt0aGlzLnNvdXJjZVRva2VuXSB9KTtcbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXRJbmRlbnRlZENvbW1lbnQoaXQuc3RhcnQsIHNlcS5pbmRlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2ID0gc2VxLml0ZW1zW3NlcS5pdGVtcy5sZW5ndGggLSAyXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IHByZXY/LnZhbHVlPy5lbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoZW5kLCBpdC5zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxLml0ZW1zLnBvcCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdhbmNob3InOlxuICAgICAgICAgICAgY2FzZSAndGFnJzpcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUgfHwgdGhpcy5pbmRlbnQgPD0gc2VxLmluZGVudClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdzZXEtaXRlbS1pbmQnOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmluZGVudCAhPT0gc2VxLmluZGVudClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgaWYgKGl0LnZhbHVlIHx8IGluY2x1ZGVzVG9rZW4oaXQuc3RhcnQsICdzZXEtaXRlbS1pbmQnKSlcbiAgICAgICAgICAgICAgICAgICAgc2VxLml0ZW1zLnB1c2goeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaW5kZW50ID4gc2VxLmluZGVudCkge1xuICAgICAgICAgICAgY29uc3QgYnYgPSB0aGlzLnN0YXJ0QmxvY2tWYWx1ZShzZXEpO1xuICAgICAgICAgICAgaWYgKGJ2KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGJ2KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgIHlpZWxkKiB0aGlzLnN0ZXAoKTtcbiAgICB9XG4gICAgKmZsb3dDb2xsZWN0aW9uKGZjKSB7XG4gICAgICAgIGNvbnN0IGl0ID0gZmMuaXRlbXNbZmMuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdmbG93LWVycm9yLWVuZCcpIHtcbiAgICAgICAgICAgIGxldCB0b3A7XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgdG9wID0gdGhpcy5wZWVrKDEpO1xuICAgICAgICAgICAgfSB3aGlsZSAodG9wICYmIHRvcC50eXBlID09PSAnZmxvdy1jb2xsZWN0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZmMuZW5kLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdjb21tYSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXQgfHwgaXQuc2VwKVxuICAgICAgICAgICAgICAgICAgICAgICAgZmMuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdCB8fCBpdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGZjLml0ZW1zLnB1c2goeyBzdGFydDogW10sIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0LCB7IGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnYW5jaG9yJzpcbiAgICAgICAgICAgICAgICBjYXNlICd0YWcnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoIWl0IHx8IGl0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgZmMuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgICAgICAgICAgY2FzZSAnc2luZ2xlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmcyA9IHRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWl0IHx8IGl0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgZmMuaXRlbXMucHVzaCh7IHN0YXJ0OiBbXSwga2V5OiBmcywgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQuc2VwKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGZzKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdCwgeyBrZXk6IGZzLCBzZXA6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ2Zsb3ctbWFwLWVuZCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnZmxvdy1zZXEtZW5kJzpcbiAgICAgICAgICAgICAgICAgICAgZmMuZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGJ2ID0gdGhpcy5zdGFydEJsb2NrVmFsdWUoZmMpO1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2Ugc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICAgICAgICAgIGlmIChidilcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goYnYpO1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5wZWVrKDIpO1xuICAgICAgICAgICAgaWYgKHBhcmVudC50eXBlID09PSAnYmxvY2stbWFwJyAmJlxuICAgICAgICAgICAgICAgICgodGhpcy50eXBlID09PSAnbWFwLXZhbHVlLWluZCcgJiYgcGFyZW50LmluZGVudCA9PT0gZmMuaW5kZW50KSB8fFxuICAgICAgICAgICAgICAgICAgICAodGhpcy50eXBlID09PSAnbmV3bGluZScgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFwYXJlbnQuaXRlbXNbcGFyZW50Lml0ZW1zLmxlbmd0aCAtIDFdLnNlcCkpKSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy50eXBlID09PSAnbWFwLXZhbHVlLWluZCcgJiZcbiAgICAgICAgICAgICAgICBwYXJlbnQudHlwZSAhPT0gJ2Zsb3ctY29sbGVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmV2ID0gZ2V0UHJldlByb3BzKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBnZXRGaXJzdEtleVN0YXJ0UHJvcHMocHJldik7XG4gICAgICAgICAgICAgICAgZml4Rmxvd1NlcUl0ZW1zKGZjKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXAgPSBmYy5lbmQuc3BsaWNlKDEsIGZjLmVuZC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcCA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogZmMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IGZjLmluZGVudCxcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0LCBrZXk6IGZjLCBzZXAgfV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoIC0gMV0gPSBtYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5saW5lRW5kKGZjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmbG93U2NhbGFyKHR5cGUpIHtcbiAgICAgICAgaWYgKHRoaXMub25OZXdMaW5lKSB7XG4gICAgICAgICAgICBsZXQgbmwgPSB0aGlzLnNvdXJjZS5pbmRleE9mKCdcXG4nKSArIDE7XG4gICAgICAgICAgICB3aGlsZSAobmwgIT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCArIG5sKTtcbiAgICAgICAgICAgICAgICBubCA9IHRoaXMuc291cmNlLmluZGV4T2YoJ1xcbicsIG5sKSArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhcnRCbG9ja1ZhbHVlKHBhcmVudCkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICAgICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7XG4gICAgICAgICAgICBjYXNlICdibG9jay1zY2FsYXItaGVhZGVyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stc2NhbGFyJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IFt0aGlzLnNvdXJjZVRva2VuXSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjYXNlICdmbG93LW1hcC1zdGFydCc6XG4gICAgICAgICAgICBjYXNlICdmbG93LXNlcS1zdGFydCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Zsb3ctY29sbGVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLnNvdXJjZVRva2VuLFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogW10sXG4gICAgICAgICAgICAgICAgICAgIGVuZDogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSAnc2VxLWl0ZW0taW5kJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stc2VxJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IGdldFByZXZQcm9wcyhwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKHByZXYpO1xuICAgICAgICAgICAgICAgIHN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydCwgZXhwbGljaXRLZXk6IHRydWUgfV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbWFwLXZhbHVlLWluZCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IGdldFByZXZQcm9wcyhwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKHByZXYpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQsIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBhdEluZGVudGVkQ29tbWVudChzdGFydCwgaW5kZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdjb21tZW50JylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuaW5kZW50IDw9IGluZGVudClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0LmV2ZXJ5KHN0ID0+IHN0LnR5cGUgPT09ICduZXdsaW5lJyB8fCBzdC50eXBlID09PSAnc3BhY2UnKTtcbiAgICB9XG4gICAgKmRvY3VtZW50RW5kKGRvY0VuZCkge1xuICAgICAgICBpZiAodGhpcy50eXBlICE9PSAnZG9jLW1vZGUnKSB7XG4gICAgICAgICAgICBpZiAoZG9jRW5kLmVuZClcbiAgICAgICAgICAgICAgICBkb2NFbmQuZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgZG9jRW5kLmVuZCA9IFt0aGlzLnNvdXJjZVRva2VuXTtcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICduZXdsaW5lJylcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAqbGluZUVuZCh0b2tlbikge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY29tbWEnOlxuICAgICAgICAgICAgY2FzZSAnZG9jLXN0YXJ0JzpcbiAgICAgICAgICAgIGNhc2UgJ2RvYy1lbmQnOlxuICAgICAgICAgICAgY2FzZSAnZmxvdy1zZXEtZW5kJzpcbiAgICAgICAgICAgIGNhc2UgJ2Zsb3ctbWFwLWVuZCc6XG4gICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvLyBhbGwgb3RoZXIgdmFsdWVzIGFyZSBlcnJvcnNcbiAgICAgICAgICAgICAgICBpZiAodG9rZW4uZW5kKVxuICAgICAgICAgICAgICAgICAgICB0b2tlbi5lbmQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHRva2VuLmVuZCA9IFt0aGlzLnNvdXJjZVRva2VuXTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAnbmV3bGluZScpXG4gICAgICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgeyBQYXJzZXIgfTtcbiIsICJpbXBvcnQgeyBDb21wb3NlciB9IGZyb20gJy4vY29tcG9zZS9jb21wb3Nlci5qcyc7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gJy4vZG9jL0RvY3VtZW50LmpzJztcbmltcG9ydCB7IHByZXR0aWZ5RXJyb3IsIFlBTUxQYXJzZUVycm9yIH0gZnJvbSAnLi9lcnJvcnMuanMnO1xuaW1wb3J0IHsgd2FybiB9IGZyb20gJy4vbG9nLmpzJztcbmltcG9ydCB7IGlzRG9jdW1lbnQgfSBmcm9tICcuL25vZGVzL2lkZW50aXR5LmpzJztcbmltcG9ydCB7IExpbmVDb3VudGVyIH0gZnJvbSAnLi9wYXJzZS9saW5lLWNvdW50ZXIuanMnO1xuaW1wb3J0IHsgUGFyc2VyIH0gZnJvbSAnLi9wYXJzZS9wYXJzZXIuanMnO1xuXG5mdW5jdGlvbiBwYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICAgIGNvbnN0IHByZXR0eUVycm9ycyA9IG9wdGlvbnMucHJldHR5RXJyb3JzICE9PSBmYWxzZTtcbiAgICBjb25zdCBsaW5lQ291bnRlciA9IG9wdGlvbnMubGluZUNvdW50ZXIgfHwgKHByZXR0eUVycm9ycyAmJiBuZXcgTGluZUNvdW50ZXIoKSkgfHwgbnVsbDtcbiAgICByZXR1cm4geyBsaW5lQ291bnRlciwgcHJldHR5RXJyb3JzIH07XG59XG4vKipcbiAqIFBhcnNlIHRoZSBpbnB1dCBhcyBhIHN0cmVhbSBvZiBZQU1MIGRvY3VtZW50cy5cbiAqXG4gKiBEb2N1bWVudHMgc2hvdWxkIGJlIHNlcGFyYXRlZCBmcm9tIGVhY2ggb3RoZXIgYnkgYC4uLmAgb3IgYC0tLWAgbWFya2VyIGxpbmVzLlxuICpcbiAqIEByZXR1cm5zIElmIGFuIGVtcHR5IGBkb2NzYCBhcnJheSBpcyByZXR1cm5lZCwgaXQgd2lsbCBiZSBvZiB0eXBlXG4gKiAgIEVtcHR5U3RyZWFtIGFuZCBjb250YWluIGFkZGl0aW9uYWwgc3RyZWFtIGluZm9ybWF0aW9uLiBJblxuICogICBUeXBlU2NyaXB0LCB5b3Ugc2hvdWxkIHVzZSBgJ2VtcHR5JyBpbiBkb2NzYCBhcyBhIHR5cGUgZ3VhcmQgZm9yIGl0LlxuICovXG5mdW5jdGlvbiBwYXJzZUFsbERvY3VtZW50cyhzb3VyY2UsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbGluZUNvdW50ZXIsIHByZXR0eUVycm9ycyB9ID0gcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIobGluZUNvdW50ZXI/LmFkZE5ld0xpbmUpO1xuICAgIGNvbnN0IGNvbXBvc2VyID0gbmV3IENvbXBvc2VyKG9wdGlvbnMpO1xuICAgIGNvbnN0IGRvY3MgPSBBcnJheS5mcm9tKGNvbXBvc2VyLmNvbXBvc2UocGFyc2VyLnBhcnNlKHNvdXJjZSkpKTtcbiAgICBpZiAocHJldHR5RXJyb3JzICYmIGxpbmVDb3VudGVyKVxuICAgICAgICBmb3IgKGNvbnN0IGRvYyBvZiBkb2NzKSB7XG4gICAgICAgICAgICBkb2MuZXJyb3JzLmZvckVhY2gocHJldHRpZnlFcnJvcihzb3VyY2UsIGxpbmVDb3VudGVyKSk7XG4gICAgICAgICAgICBkb2Mud2FybmluZ3MuZm9yRWFjaChwcmV0dGlmeUVycm9yKHNvdXJjZSwgbGluZUNvdW50ZXIpKTtcbiAgICAgICAgfVxuICAgIGlmIChkb2NzLmxlbmd0aCA+IDApXG4gICAgICAgIHJldHVybiBkb2NzO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKFtdLCB7IGVtcHR5OiB0cnVlIH0sIGNvbXBvc2VyLnN0cmVhbUluZm8oKSk7XG59XG4vKiogUGFyc2UgYW4gaW5wdXQgc3RyaW5nIGludG8gYSBzaW5nbGUgWUFNTC5Eb2N1bWVudCAqL1xuZnVuY3Rpb24gcGFyc2VEb2N1bWVudChzb3VyY2UsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbGluZUNvdW50ZXIsIHByZXR0eUVycm9ycyB9ID0gcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIobGluZUNvdW50ZXI/LmFkZE5ld0xpbmUpO1xuICAgIGNvbnN0IGNvbXBvc2VyID0gbmV3IENvbXBvc2VyKG9wdGlvbnMpO1xuICAgIC8vIGBkb2NgIGlzIGFsd2F5cyBzZXQgYnkgY29tcG9zZS5lbmQodHJ1ZSkgYXQgdGhlIHZlcnkgbGF0ZXN0XG4gICAgbGV0IGRvYyA9IG51bGw7XG4gICAgZm9yIChjb25zdCBfZG9jIG9mIGNvbXBvc2VyLmNvbXBvc2UocGFyc2VyLnBhcnNlKHNvdXJjZSksIHRydWUsIHNvdXJjZS5sZW5ndGgpKSB7XG4gICAgICAgIGlmICghZG9jKVxuICAgICAgICAgICAgZG9jID0gX2RvYztcbiAgICAgICAgZWxzZSBpZiAoZG9jLm9wdGlvbnMubG9nTGV2ZWwgIT09ICdzaWxlbnQnKSB7XG4gICAgICAgICAgICBkb2MuZXJyb3JzLnB1c2gobmV3IFlBTUxQYXJzZUVycm9yKF9kb2MucmFuZ2Uuc2xpY2UoMCwgMiksICdNVUxUSVBMRV9ET0NTJywgJ1NvdXJjZSBjb250YWlucyBtdWx0aXBsZSBkb2N1bWVudHM7IHBsZWFzZSB1c2UgWUFNTC5wYXJzZUFsbERvY3VtZW50cygpJykpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByZXR0eUVycm9ycyAmJiBsaW5lQ291bnRlcikge1xuICAgICAgICBkb2MuZXJyb3JzLmZvckVhY2gocHJldHRpZnlFcnJvcihzb3VyY2UsIGxpbmVDb3VudGVyKSk7XG4gICAgICAgIGRvYy53YXJuaW5ncy5mb3JFYWNoKHByZXR0aWZ5RXJyb3Ioc291cmNlLCBsaW5lQ291bnRlcikpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jO1xufVxuZnVuY3Rpb24gcGFyc2Uoc3JjLCByZXZpdmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IF9yZXZpdmVyID0gdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgcmV2aXZlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBfcmV2aXZlciA9IHJldml2ZXI7XG4gICAgfVxuICAgIGVsc2UgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCAmJiByZXZpdmVyICYmIHR5cGVvZiByZXZpdmVyID09PSAnb2JqZWN0Jykge1xuICAgICAgICBvcHRpb25zID0gcmV2aXZlcjtcbiAgICB9XG4gICAgY29uc3QgZG9jID0gcGFyc2VEb2N1bWVudChzcmMsIG9wdGlvbnMpO1xuICAgIGlmICghZG9jKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBkb2Mud2FybmluZ3MuZm9yRWFjaCh3YXJuaW5nID0+IHdhcm4oZG9jLm9wdGlvbnMubG9nTGV2ZWwsIHdhcm5pbmcpKTtcbiAgICBpZiAoZG9jLmVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChkb2Mub3B0aW9ucy5sb2dMZXZlbCAhPT0gJ3NpbGVudCcpXG4gICAgICAgICAgICB0aHJvdyBkb2MuZXJyb3JzWzBdO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBkb2MuZXJyb3JzID0gW107XG4gICAgfVxuICAgIHJldHVybiBkb2MudG9KUyhPYmplY3QuYXNzaWduKHsgcmV2aXZlcjogX3Jldml2ZXIgfSwgb3B0aW9ucykpO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5KHZhbHVlLCByZXBsYWNlciwgb3B0aW9ucykge1xuICAgIGxldCBfcmVwbGFjZXIgPSBudWxsO1xuICAgIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdmdW5jdGlvbicgfHwgQXJyYXkuaXNBcnJheShyZXBsYWNlcikpIHtcbiAgICAgICAgX3JlcGxhY2VyID0gcmVwbGFjZXI7XG4gICAgfVxuICAgIGVsc2UgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCAmJiByZXBsYWNlcikge1xuICAgICAgICBvcHRpb25zID0gcmVwbGFjZXI7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycpXG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zLmxlbmd0aDtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbnN0IGluZGVudCA9IE1hdGgucm91bmQob3B0aW9ucyk7XG4gICAgICAgIG9wdGlvbnMgPSBpbmRlbnQgPCAxID8gdW5kZWZpbmVkIDogaW5kZW50ID4gOCA/IHsgaW5kZW50OiA4IH0gOiB7IGluZGVudCB9O1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCB7IGtlZXBVbmRlZmluZWQgfSA9IG9wdGlvbnMgPz8gcmVwbGFjZXIgPz8ge307XG4gICAgICAgIGlmICgha2VlcFVuZGVmaW5lZClcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmIChpc0RvY3VtZW50KHZhbHVlKSAmJiAhX3JlcGxhY2VyKVxuICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcob3B0aW9ucyk7XG4gICAgcmV0dXJuIG5ldyBEb2N1bWVudCh2YWx1ZSwgX3JlcGxhY2VyLCBvcHRpb25zKS50b1N0cmluZyhvcHRpb25zKTtcbn1cblxuZXhwb3J0IHsgcGFyc2UsIHBhcnNlQWxsRG9jdW1lbnRzLCBwYXJzZURvY3VtZW50LCBzdHJpbmdpZnkgfTtcbiIsICJpbXBvcnQgeyBKc29uTGluaywgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IGdldEV4dGVuc2lvbiwgZ2V0RmlsZVRpdGxlIH0gZnJvbSBcInV0aWxzL25vcm1hbGl6ZXJzXCI7XG5pbXBvcnQgeyBDYWNoZWRNZXRhZGF0YSwgRmlsZVN0YXRzLCBGcm9udE1hdHRlckNhY2hlIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZVlhbWwgfSBmcm9tIFwieWFtbFwiO1xuaW1wb3J0IEJUcmVlIGZyb20gXCJzb3J0ZWQtYnRyZWVcIjtcbmltcG9ydCB7XG4gICAgSW5saW5lRmllbGQsXG4gICAgSnNvbklubGluZUZpZWxkLFxuICAgIGFzSW5saW5lRmllbGQsXG4gICAgZXh0cmFjdEZ1bGxMaW5lRmllbGQsXG4gICAgZXh0cmFjdElubGluZUZpZWxkcyxcbiAgICBqc29uSW5saW5lRmllbGQsXG59IGZyb20gXCIuL2lubGluZS1maWVsZFwiO1xuaW1wb3J0IHtcbiAgICBKc29uTWFya2Rvd25CbG9jayxcbiAgICBKc29uTWFya2Rvd25MaXN0QmxvY2ssXG4gICAgSnNvbk1hcmtkb3duTGlzdEl0ZW0sXG4gICAgSnNvbk1hcmtkb3duUGFnZSxcbiAgICBKc29uTWFya2Rvd25TZWN0aW9uLFxuICAgIEpzb25NYXJrZG93blRhc2tJdGVtLFxuICAgIEpzb25NYXJrZG93bkRhdGFibG9jayxcbiAgICBKc29uTWFya2Rvd25Db2RlYmxvY2ssXG4gICAgSnNvbkZyb250bWF0dGVyRW50cnksXG59IGZyb20gXCJpbmRleC90eXBlcy9qc29uL21hcmtkb3duXCI7XG5pbXBvcnQgeyBKc29uQ29udmVyc2lvbiB9IGZyb20gXCJpbmRleC90eXBlcy9qc29uL2NvbW1vblwiO1xuaW1wb3J0IHsgWWFtbENvbnZlcnNpb24gfSBmcm9tIFwiaW5kZXgvdHlwZXMveWFtbFwiO1xuaW1wb3J0IHsgbWFwT2JqZWN0VmFsdWVzIH0gZnJvbSBcInV0aWxzL2RhdGFcIjtcblxuLyoqIE1hdGNoZXMgeWFtbCBkYXRhYmxvY2tzLCB3aGljaCBzaG93IHVwIGFzIGluZGVwZW5kZW50IG9iamVjdHMgaW4gdGhlIGRhdGFjb3JlIGluZGV4LiAqL1xuY29uc3QgWUFNTF9EQVRBX1JFR0VYID0gL2BgYHlhbWw6ZGF0YS9pO1xuLyoqIE1hdGNoZXMgdGhlIHN0YXJ0IG9mIGFueSBjb2RlYmxvY2sgZmVuY2UuICovXG5jb25zdCBDT0RFQkxPQ0tfRkVOQ0VfUkVHRVggPSAvXig/OmBgYHx+fn4pKC4qKSQvaW07XG4vKiogTWF0Y2hlcyBsaXN0IGl0ZW1zIChpbmNsdWRpbmcgaW5zaWRlIHRleHQgYmxvY2tzKS4gKi9cbmNvbnN0IExJU1RfSVRFTV9SRUdFWCA9IC9eW1xccz5dKihcXGQrXFwufFxcZCtcXCl8XFwqfC18XFwrKVxccyooXFxbLnswLDF9XFxdKT9cXHMqKC4qKS9tc3U7XG5cbi8qKlxuICogR2l2ZW4gdGhlIHJhdyBzb3VyY2UgYW5kIE9ic2lkaWFuIG1ldGFkYXRhIGZvciBhIGdpdmVuIG1hcmtkb3duIGZpbGUsXG4gKiByZXR1cm4gZnVsbCBtYXJrZG93biBmaWxlIG1ldGFkYXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFya2Rvd25JbXBvcnQoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG1hcmtkb3duOiBzdHJpbmcsXG4gICAgbWV0YWRhdGE6IENhY2hlZE1ldGFkYXRhLFxuICAgIHN0YXRzOiBGaWxlU3RhdHNcbik6IEpzb25NYXJrZG93blBhZ2Uge1xuICAgIGNvbnN0IHsgbGluZXMsIG1ldGFkYXRhOiBwYWdlTWV0YWRhdGEsIGZyb250bWF0dGVyLCBzZWN0aW9ucyB9ID0gbWFya2Rvd25Tb3VyY2VJbXBvcnQocGF0aCwgbWFya2Rvd24sIG1ldGFkYXRhKTtcbiAgICBjb25zdCBwYWdlID0gbmV3IFBhZ2VEYXRhKHBhdGgsIHN0YXRzLCBsaW5lcy5sZW5ndGgsIHBhZ2VNZXRhZGF0YSwgc2VjdGlvbnMsIGZyb250bWF0dGVyKTtcblxuICAgIHJldHVybiBwYWdlLmJ1aWxkKCk7XG59XG5cbi8qKiBJbXBvcnQgbWFya2Rvd24gZmlsZSBtZXRhZGF0YSwgcHJvZHVjaW5nIGFsbCByZWxldmFudCBtYXJrZG93biBkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcmtkb3duU291cmNlSW1wb3J0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBtYXJrZG93bjogc3RyaW5nLFxuICAgIG1ldGFkYXRhOiBDYWNoZWRNZXRhZGF0YVxuKToge1xuICAgIGxpbmVzOiBzdHJpbmdbXTtcbiAgICBtZXRhZGF0YTogTWV0YWRhdGE7XG4gICAgZnJvbnRtYXR0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBKc29uRnJvbnRtYXR0ZXJFbnRyeT47XG4gICAgc2VjdGlvbnM6IFNlY3Rpb25EYXRhW107XG59IHtcbiAgICBjb25zdCBmcm9udG1hdHRlcjogUmVjb3JkPHN0cmluZywgSnNvbkZyb250bWF0dGVyRW50cnk+IHwgdW5kZWZpbmVkID0gbWV0YWRhdGEuZnJvbnRtYXR0ZXJcbiAgICAgICAgPyBwYXJzZUZyb250bWF0dGVyQmxvY2sobWV0YWRhdGEuZnJvbnRtYXR0ZXIpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGxpbmVzID0gbWFya2Rvd24uc3BsaXQoL1xcclxcbnxcXHJ8XFxuLyk7XG4gICAgY29uc3QgbWFya2Rvd25NZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuICAgIGNvbnN0IHNlY3Rpb25BcnJheTogU2VjdGlvbkRhdGFbXSA9IFtdO1xuICAgIC8vLy8vLy8vLy8vLy8vXG4gICAgLy8gU2VjdGlvbnMgLy9cbiAgICAvLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgbWV0YWhlYWRpbmdzID0gbWV0YWRhdGEuaGVhZGluZ3MgPz8gW107XG4gICAgbWV0YWhlYWRpbmdzLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb24uc3RhcnQubGluZSAtIGIucG9zaXRpb24uc3RhcnQubGluZSk7XG5cbiAgICBjb25zdCBzZWN0aW9ucyA9IG5ldyBCVHJlZTxudW1iZXIsIFNlY3Rpb25EYXRhPih1bmRlZmluZWQsIChhLCBiKSA9PiBhIC0gYik7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1ldGFoZWFkaW5ncy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3QgZW50cnkgPSBtZXRhaGVhZGluZ3NbaW5kZXhdO1xuICAgICAgICBjb25zdCBzdGFydCA9IGVudHJ5LnBvc2l0aW9uLnN0YXJ0LmxpbmU7XG4gICAgICAgIGNvbnN0IGVuZCA9IGluZGV4ID09IG1ldGFoZWFkaW5ncy5sZW5ndGggLSAxID8gbGluZXMubGVuZ3RoIDogbWV0YWhlYWRpbmdzW2luZGV4ICsgMV0ucG9zaXRpb24uc3RhcnQubGluZTtcblxuICAgICAgICBjb25zdCBzZWN0aW9uID0gbmV3IFNlY3Rpb25EYXRhKHN0YXJ0LCBlbmQsIGVudHJ5LmhlYWRpbmcsIGVudHJ5LmxldmVsLCBpbmRleCArIDEpO1xuICAgICAgICBzZWN0aW9ucy5zZXQoc3RhcnQsIHNlY3Rpb24pO1xuICAgIH1cblxuICAgIC8vIEFkZCBhbiBpbXBsaWNpdCBzZWN0aW9uIGZvciB0aGUgXCJoZWFkaW5nXCIgc2VjdGlvbiBvZiB0aGUgcGFnZSBpZiB0aGVyZSBpcyBub3QgYW4gaW1tZWRpYXRlIGhlYWRlciBidXQgdGhlcmUgaXNcbiAgICAvLyBzb21lIGNvbnRlbnQgaW4gdGhlIGZpbGUuIElmIHRoZXJlIGFyZSBvdGhlciBzZWN0aW9ucywgdGhlbiBnbyB1cCB0byB0aGF0LCBvdGhlcndpc2UsIGdvIGZvciB0aGUgZW50aXJlIGZpbGUuXG4gICAgaWYgKHNlY3Rpb25zLnNpemUgPT0gMCkge1xuICAgICAgICBpZiAoIWVtcHR5bGluZXMobGluZXMsIDAsIGxpbmVzLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3Rpb24gPSBuZXcgU2VjdGlvbkRhdGEoMCwgbGluZXMubGVuZ3RoLCBnZXRGaWxlVGl0bGUocGF0aCksIDEsIDApO1xuICAgICAgICAgICAgc2VjdGlvbnMuc2V0KDAsIHNlY3Rpb24pO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRmluZCB0aGUgc3RhcnQgb2YgdGhlIGZpcnN0IHNlY3Rpb24uXG4gICAgICAgIGNvbnN0IGZpcnN0ID0gc2VjdGlvbnMuZ2V0UGFpck9yTmV4dEhpZ2hlcigwKT8uWzFdISE7XG5cbiAgICAgICAgaWYgKGZpcnN0LnN0YXJ0ID4gMCAmJiAhZW1wdHlsaW5lcyhsaW5lcywgMCwgZmlyc3Quc3RhcnQpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWN0aW9uID0gbmV3IFNlY3Rpb25EYXRhKDAsIGZpcnN0LnN0YXJ0LCBnZXRGaWxlVGl0bGUocGF0aCksIDEsIDApO1xuXG4gICAgICAgICAgICBzZWN0aW9ucy5zZXQoMCwgc2VjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy9cbiAgICAvLyBCbG9ja3MgLy9cbiAgICAvLy8vLy8vLy8vLy9cblxuICAgIC8vIEFsbCBibG9ja3M7IHdlIHdpbGwgYXNzaWduIHRhZ3MgYW5kIG90aGVyIG1ldGFkYXRhIHRvIGJsb2NrcyBhcyB3ZSBlbmNvdW50ZXIgdGhlbS4gQXQgdGhlIGVuZCwgb25seSBibG9ja3MgdGhhdFxuICAgIC8vIGhhdmUgYWN0dWFsIG1ldGFkYXRhIHdpbGwgYmUgc3RvcmVkIHRvIHNhdmUgb24gbWVtb3J5IHByZXNzdXJlLlxuICAgIGNvbnN0IGJsb2NrcyA9IG5ldyBCVHJlZTxudW1iZXIsIEJsb2NrRGF0YT4odW5kZWZpbmVkLCAoYSwgYikgPT4gYSAtIGIpO1xuICAgIGxldCBibG9ja09yZGluYWwgPSAxO1xuICAgIGZvciAoY29uc3QgYmxvY2sgb2YgbWV0YWRhdGEuc2VjdGlvbnMgfHwgW10pIHtcbiAgICAgICAgLy8gU2tpcCBoZWFkaW5ncyBibG9ja3MsIHdlIGhhbmRsZSB0aGVtIHNwZWNpYWxseSBhcyBzZWN0aW9ucy5cbiAgICAgICAgaWYgKGJsb2NrLnR5cGUgPT09IFwiaGVhZGluZ1wiKSBjb250aW51ZTtcblxuICAgICAgICBjb25zdCBzdGFydCA9IGJsb2NrLnBvc2l0aW9uLnN0YXJ0LmxpbmU7XG4gICAgICAgIGNvbnN0IGVuZCA9IGJsb2NrLnBvc2l0aW9uLmVuZC5saW5lICsgMTtcbiAgICAgICAgY29uc3Qgc3RhcnRMaW5lID0gbGluZXNbc3RhcnRdOyAvLyB0byB1c2UgdG8gY2hlY2sgdGhlIGNvZGVibG9jayB0eXBlXG5cbiAgICAgICAgaWYgKGJsb2NrLnR5cGUgPT09IFwibGlzdFwiKSB7XG4gICAgICAgICAgICBibG9ja3Muc2V0KHN0YXJ0LCBuZXcgTGlzdEJsb2NrRGF0YShzdGFydCwgZW5kLCBibG9ja09yZGluYWwrKywgYmxvY2suaWQpKTtcbiAgICAgICAgfSBlbHNlIGlmIChibG9jay50eXBlID09IFwiY29kZVwiICYmIFlBTUxfREFUQV9SRUdFWC50ZXN0KHN0YXJ0TGluZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHlhbWw6IHN0cmluZyA9IGxpbmVzXG4gICAgICAgICAgICAgICAgLnNsaWNlKHN0YXJ0ICsgMSwgZW5kIC0gMSlcbiAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXHQvZ20sIFwiICBcIik7XG4gICAgICAgICAgICBjb25zdCBzcGxpdDogUmVjb3JkPHN0cmluZywgSnNvbkZyb250bWF0dGVyRW50cnk+ID0gcGFyc2VGcm9udG1hdHRlckJsb2NrKHBhcnNlWWFtbCh5YW1sKSk7XG5cbiAgICAgICAgICAgIGJsb2Nrcy5zZXQoc3RhcnQsIG5ldyBEYXRhYmxvY2tEYXRhKHN0YXJ0LCBlbmQsIGJsb2NrT3JkaW5hbCsrLCBzcGxpdCwgYmxvY2suaWQpKTtcbiAgICAgICAgfSBlbHNlIGlmIChibG9jay50eXBlID09PSBcImNvZGVcIikge1xuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGJsb2NrIGlzIGZlbmNlZC5cbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gc3RhcnRMaW5lPy5tYXRjaChDT0RFQkxPQ0tfRkVOQ0VfUkVHRVgpO1xuICAgICAgICAgICAgaWYgKCFtYXRjaCkge1xuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYW4gaW5kZW50ZWQtc3R5bGUgY29kZWJsb2NrLlxuICAgICAgICAgICAgICAgIGJsb2Nrcy5zZXQoc3RhcnQsIG5ldyBDb2RlYmxvY2tEYXRhKHN0YXJ0LCBlbmQsIGJsb2NrT3JkaW5hbCsrLCBbXSwgXCJpbmRlbnRcIiwgc3RhcnQsIGVuZCwgYmxvY2suaWQpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2VzID0gbWF0Y2gubGVuZ3RoID4gMSAmJiBtYXRjaFsxXSA/IG1hdGNoWzFdLnNwbGl0KFwiLFwiKSA6IFtdO1xuICAgICAgICAgICAgICAgIGJsb2Nrcy5zZXQoXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBuZXcgQ29kZWJsb2NrRGF0YShzdGFydCwgZW5kLCBibG9ja09yZGluYWwrKywgbGFuZ3VhZ2VzLCBcImZlbmNlZFwiLCBzdGFydCArIDEsIGVuZCAtIDEsIGJsb2NrLmlkKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBibG9ja3Muc2V0KHN0YXJ0LCBuZXcgQmFzZUJsb2NrRGF0YShzdGFydCwgZW5kLCBibG9ja09yZGluYWwrKywgYmxvY2sudHlwZSwgYmxvY2suaWQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBibG9ja3MgdG8gc2VjdGlvbnMuXG4gICAgZm9yIChjb25zdCBibG9jayBvZiBibG9ja3MudmFsdWVzKCkpIHtcbiAgICAgICAgbG9va3VwKGJsb2NrLnN0YXJ0LCBzZWN0aW9ucyk/LmJsb2NrKGJsb2NrKTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vL1xuICAgIC8vIExpc3RzIC8vXG4gICAgLy8vLy8vLy8vLy9cblxuICAgIC8vIEFsbCBsaXN0IGl0ZW1zIGluIGxpc3RzLiBTdGFydCB3aXRoIGEgc2ltcGxlIHRyaXZpYWwgcGFzcy5cbiAgICBjb25zdCBjb250ZW50UmVnZXggPSAvXltcXHRcXGZcXHYgXSpbXFwtK1xcKl1cXHMoXFxbLlxcXVxccyk/LztcbiAgICBjb25zdCBtYXJrZXJSZWdleCA9IC9eKD4/XFxzPykqKFxcdHxcXHMpKi9nO1xuICAgIGNvbnN0IGxpc3RJdGVtcyA9IG5ldyBCVHJlZTxudW1iZXIsIExpc3RJdGVtRGF0YT4odW5kZWZpbmVkLCAoYSwgYikgPT4gYSAtIGIpO1xuXG4gICAgZm9yIChjb25zdCBsaXN0IG9mIG1ldGFkYXRhLmxpc3RJdGVtcyB8fCBbXSkge1xuICAgICAgICBjb25zdCBsaW5lID0gbGluZXMuc2xpY2UobGlzdC5wb3NpdGlvbi5zdGFydC5saW5lLCBsaXN0LnBvc2l0aW9uLmVuZC5saW5lICsgMSkuam9pbihcIlxcblwiKTtcblxuICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgZmxhZyB3aGljaCBza2lwcyBpbmRleGluZyBsaXN0IGl0ZW1zLlxuICAgICAgICBjb25zdCBtYXRjaCA9IGxpbmU/Lm1hdGNoKExJU1RfSVRFTV9SRUdFWCk7XG4gICAgICAgIGxldCBzeW1ib2wgPSB1bmRlZmluZWQsXG4gICAgICAgICAgICB0ZXh0ID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICAgIHN5bWJvbCA9IG1hdGNoWzFdO1xuICAgICAgICAgICAgdGV4dCA9IG1hdGNoWzNdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbSA9IG5ldyBMaXN0SXRlbURhdGEoXG4gICAgICAgICAgICBsaXN0LnBvc2l0aW9uLnN0YXJ0LmxpbmUsXG4gICAgICAgICAgICBsaXN0LnBvc2l0aW9uLmVuZC5saW5lICsgMSxcbiAgICAgICAgICAgIGxpc3QucGFyZW50LFxuICAgICAgICAgICAgc3ltYm9sLFxuICAgICAgICAgICAgbGlzdC5pZCxcbiAgICAgICAgICAgIGxpc3QudGFzayxcbiAgICAgICAgICAgIHRleHRcbiAgICAgICAgKTtcbiAgICAgICAgbGlzdEl0ZW1zLnNldChpdGVtLnN0YXJ0LCBpdGVtKTtcbiAgICB9XG5cbiAgICAvLyBJbiB0aGUgc2Vjb25kIGxpc3QgcGFzcywgYWN0dWFsbHkgY29uc3RydWN0IHRoZSBsaXN0IGhlaXJhcmNoeS5cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgbGlzdEl0ZW1zLnZhbHVlcygpKSB7XG4gICAgICAgIGlmIChpdGVtLnBhcmVudExpbmUgPCAwKSB7XG4gICAgICAgICAgICBjb25zdCBsaXN0QmxvY2sgPSBibG9ja3MuZ2V0KC1pdGVtLnBhcmVudExpbmUpO1xuICAgICAgICAgICAgaWYgKCFsaXN0QmxvY2sgfHwgIShsaXN0QmxvY2sudHlwZSA9PT0gXCJsaXN0XCIpKSBjb250aW51ZTtcblxuICAgICAgICAgICAgKGxpc3RCbG9jayBhcyBMaXN0QmxvY2tEYXRhKS5pdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGlzdEl0ZW1zLmdldChpdGVtLnBhcmVudExpbmUpPy5lbGVtZW50cy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vL1xuICAgIC8vIFRhZ3MgLy9cbiAgICAvLy8vLy8vLy8vXG5cbiAgICAvLyBGb3IgZWFjaCB0YWcsIGFzc2lnbiBpdCB0byB0aGUgYXBwcm9wcmlhdGUgc2VjdGlvbiBhbmQgYmxvY2sgdGhhdCBpdCBpcyBhIHBhcnQgb2YuXG4gICAgZm9yIChjb25zdCB0YWdkZWYgb2YgbWV0YWRhdGEudGFncyA/PyBbXSkge1xuICAgICAgICBjb25zdCB0YWcgPSB0YWdkZWYudGFnLnN0YXJ0c1dpdGgoXCIjXCIpID8gdGFnZGVmLnRhZyA6IFwiI1wiICsgdGFnZGVmLnRhZztcbiAgICAgICAgY29uc3QgbGluZSA9IHRhZ2RlZi5wb3NpdGlvbi5zdGFydC5saW5lO1xuICAgICAgICBtYXJrZG93bk1ldGFkYXRhLnRhZyh0YWcpO1xuXG4gICAgICAgIGxvb2t1cChsaW5lLCBzZWN0aW9ucyk/Lm1ldGFkYXRhLnRhZyh0YWcpO1xuICAgICAgICBsb29rdXAobGluZSwgYmxvY2tzKT8ubWV0YWRhdGEudGFnKHRhZyk7XG4gICAgICAgIGxvb2t1cChsaW5lLCBsaXN0SXRlbXMpPy5tZXRhZGF0YS50YWcodGFnKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgZnJvbnRtYXR0ZXIgdGFncy5cbiAgICBpZiAobWV0YWRhdGEuZnJvbnRtYXR0ZXIpIHtcbiAgICAgICAgZm9yIChjb25zdCByYXd0YWcgb2YgZXh0cmFjdFRhZ3MobWV0YWRhdGEuZnJvbnRtYXR0ZXIpKSB7XG4gICAgICAgICAgICBjb25zdCB0YWcgPSByYXd0YWcuc3RhcnRzV2l0aChcIiNcIikgPyByYXd0YWcgOiBcIiNcIiArIHJhd3RhZztcbiAgICAgICAgICAgIG1hcmtkb3duTWV0YWRhdGEudGFnKHRhZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vL1xuICAgIC8vIExpbmtzIC8vXG4gICAgLy8vLy8vLy8vLy9cblxuICAgIGZvciAobGV0IGxpbmtkZWYgb2YgbWV0YWRhdGEubGlua3MgPz8gW10pIHtcbiAgICAgICAgY29uc3QgbGluayA9IExpbmsuaW5mZXIobGlua2RlZi5saW5rKTtcbiAgICAgICAgY29uc3QgbGluZSA9IGxpbmtkZWYucG9zaXRpb24uc3RhcnQubGluZTtcbiAgICAgICAgbWFya2Rvd25NZXRhZGF0YS5saW5rKGxpbmspO1xuXG4gICAgICAgIGxvb2t1cChsaW5lLCBzZWN0aW9ucyk/Lm1ldGFkYXRhLmxpbmsobGluayk7XG4gICAgICAgIGxvb2t1cChsaW5lLCBibG9ja3MpPy5tZXRhZGF0YS5saW5rKGxpbmspO1xuICAgICAgICBsb29rdXAobGluZSwgbGlzdEl0ZW1zKT8ubWV0YWRhdGEubGluayhsaW5rKTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEZyb250bWF0dGVyIExpbmtzIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIC8vIEZyb250bWF0dGVyIGxpbmtzIGFyZSBvbmx5IGFzc2lnbmVkIHRvIHRoZSBwYWdlLlxuICAgIGZvciAoY29uc3QgbGlua2RlZiBvZiBtZXRhZGF0YS5mcm9udG1hdHRlckxpbmtzID8/IFtdKSB7XG4gICAgICAgIG1hcmtkb3duTWV0YWRhdGEubGluayhMaW5rLmluZmVyKGxpbmtkZWYubGluaywgZmFsc2UsIGxpbmtkZWYuZGlzcGxheVRleHQpKTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSW5saW5lIEZpZWxkcyAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgaXRlcmF0ZUlubGluZUZpZWxkcyhsaW5lcykpIHtcbiAgICAgICAgY29uc3QgbGluZSA9IGZpZWxkLnBvc2l0aW9uLmxpbmU7XG4gICAgICAgIG1hcmtkb3duTWV0YWRhdGEuaW5saW5lRmllbGQoZmllbGQpO1xuXG4gICAgICAgIGxvb2t1cChsaW5lLCBzZWN0aW9ucyk/Lm1ldGFkYXRhLmlubGluZUZpZWxkKGZpZWxkKTtcbiAgICAgICAgbG9va3VwKGxpbmUsIGJsb2Nrcyk/Lm1ldGFkYXRhLmlubGluZUZpZWxkKGZpZWxkKTtcbiAgICAgICAgbG9va3VwKGxpbmUsIGxpc3RJdGVtcyk/Lm1ldGFkYXRhLmlubGluZUZpZWxkKGZpZWxkKTtcbiAgICB9XG4gICAgc2VjdGlvbkFycmF5LnB1c2goLi4uc2VjdGlvbnMudmFsdWVzKCkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGxpbmVzLFxuICAgICAgICBmcm9udG1hdHRlcixcbiAgICAgICAgbWV0YWRhdGE6IG1hcmtkb3duTWV0YWRhdGEsXG4gICAgICAgIHNlY3Rpb25zOiBzZWN0aW9uQXJyYXksXG4gICAgfTtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUGFyc2luZyBBaWRzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIENoZWNrIGlmIHRoZSBnaXZlbiBsaW5lIHJhbmdlIGlzIGFsbCBlbXB0eS4gU3RhcnQgaXMgaW5jbHVzaXZlLCBlbmQgZXhjbHVzaXZlLiAqL1xuZnVuY3Rpb24gZW1wdHlsaW5lcyhsaW5lczogc3RyaW5nW10sIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaW5kZXggPSBzdGFydDsgaW5kZXggPCBlbmQ7IGluZGV4KyspIHtcbiAgICAgICAgaWYgKGxpbmVzW2luZGV4XS50cmltKCkgIT09IFwiXCIpIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBZaWVsZHMgYWxsIGlubGluZSBmaWVsZHMgZm91bmQgaW4gdGhlIGRvY3VtZW50IGJ5IHRyYXZlcnNpbmcgbGluZSBieSBsaW5lIHRocm91Z2ggdGhlIGRvY3VtZW50LiBQZXJmb3JtcyBzb21lIG9wdGltaXphdGlvbnNcbiAqIHRvIHNraXAgZXh0cmEtbGFyZ2UgbGluZXMsIGFuZCBjYW4gYmUgZGlzYWJsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiogaXRlcmF0ZUlubGluZUZpZWxkcyhjb250ZW50OiBzdHJpbmdbXSk6IEdlbmVyYXRvcjxJbmxpbmVGaWVsZD4ge1xuICAgIGZvciAobGV0IGxpbmVubyA9IDA7IGxpbmVubyA8IGNvbnRlbnQubGVuZ3RoOyBsaW5lbm8rKykge1xuICAgICAgICBjb25zdCBsaW5lID0gY29udGVudFtsaW5lbm9dO1xuXG4gICAgICAgIC8vIEZhc3QtYmFpbG91dCBmb3IgbGluZXMgdGhhdCBhcmUgdG9vIGxvbmcgb3IgZG8gbm90IGNvbnRhaW4gJzo6Jy5cbiAgICAgICAgaWYgKGxpbmUubGVuZ3RoID4gMzI3NjggfHwgIWxpbmUuaW5jbHVkZXMoXCI6OlwiKSkgY29udGludWU7XG5cbiAgICAgICAgLy8gVE9ETzogUmUtYWRkIHN1cHBvcnQgZm9yIHRob3NlIGN1c3RvbSBlbW9qaSBmaWVsZHMgb24gdGFza3MgYW5kIHNpbWlsYXIuXG4gICAgICAgIGxldCBpbmxpbmVGaWVsZHMgPSBleHRyYWN0SW5saW5lRmllbGRzKGxpbmUpO1xuICAgICAgICBpZiAoaW5saW5lRmllbGRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAobGV0IGlmaWVsZCBvZiBpbmxpbmVGaWVsZHMpIHlpZWxkIGFzSW5saW5lRmllbGQoaWZpZWxkLCBsaW5lbm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGZ1bGxMaW5lID0gZXh0cmFjdEZ1bGxMaW5lRmllbGQobGluZSk7XG4gICAgICAgICAgICBpZiAoZnVsbExpbmUpIHlpZWxkIGFzSW5saW5lRmllbGQoZnVsbExpbmUsIGxpbmVubyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiBUb3AtbGV2ZWwgZnVuY3Rpb24gd2hpY2ggbWFwcyBhIFlBTUwgYmxvY2sgLSBpbmNsdWRpbmcgZnJvbnRtYXR0ZXIgLSBpbnRvIGZyb250bWF0dGVyIGVudHJpZXMuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGcm9udG1hdHRlckJsb2NrKGJsb2NrOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgSnNvbkZyb250bWF0dGVyRW50cnk+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIEpzb25Gcm9udG1hdHRlckVudHJ5PiA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGJsb2NrKSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGJsb2NrW2tleV07XG5cbiAgICAgICAgcmVzdWx0W2tleS50b0xvd2VyQ2FzZSgpXSA9IHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IEpzb25Db252ZXJzaW9uLmpzb24oWWFtbENvbnZlcnNpb24ubGl0ZXJhbCh2YWx1ZSkpLFxuICAgICAgICAgICAgcmF3OiB2YWx1ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKiogRmluZHMgYW4gZWxlbWVudCB3aGljaCBjb250YWlucyB0aGUgZ2l2ZW4gbGluZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb29rdXA8VCBleHRlbmRzIHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfT4obGluZTogbnVtYmVyLCB0cmVlOiBCVHJlZTxudW1iZXIsIFQ+KTogVCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdHJlZS5nZXRQYWlyT3JOZXh0TG93ZXIobGluZSk/LlsxXTtcbiAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC5lbmQgPj0gbGluZSkgcmV0dXJuIHRhcmdldDtcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBFeHRyYWN0IHRhZ3MgaW50ZWxsaWdlbnRseSBmcm9tIGZyb250bWF0dGVyLiBIYW5kbGVzIGFycmF5cywgbnVtYmVycywgYW5kIHN0cmluZ3MuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdFRhZ3MobWV0YWRhdGE6IEZyb250TWF0dGVyQ2FjaGUpOiBzdHJpbmdbXSB7XG4gICAgbGV0IHRhZ0tleXMgPSBPYmplY3Qua2V5cyhtZXRhZGF0YSkuZmlsdGVyKCh0KSA9PiB0LnRvTG93ZXJDYXNlKCkgPT0gXCJ0YWdzXCIgfHwgdC50b0xvd2VyQ2FzZSgpID09IFwidGFnXCIpO1xuXG4gICAgcmV0dXJuIHRhZ0tleXNcbiAgICAgICAgLm1hcCgoaykgPT4gc3BsaXRGcm9udG1hdHRlclRhZ09yQWxpYXMobWV0YWRhdGFba10sIC9bLFxcc10rLykpXG4gICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IHAuY29uY2F0KGMpLCBbXSlcbiAgICAgICAgLm1hcCgoc3RyKSA9PiAoc3RyLnN0YXJ0c1dpdGgoXCIjXCIpID8gc3RyIDogXCIjXCIgKyBzdHIpKTtcbn1cblxuLyoqIFNwbGl0IGEgZnJvbnRtYXR0ZXIgbGlzdCBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzOyBoYW5kbGVzIGFjdHVhbCBsaXN0cywgY29tbWEgc2VwYXJhdGVkIGxpc3RzLCBhbmQgc2luZ2xlIGVsZW1lbnRzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKGRhdGE6IGFueSwgb246IFJlZ0V4cCk6IHN0cmluZ1tdIHtcbiAgICBpZiAoZGF0YSA9PSBudWxsIHx8IGRhdGEgPT0gdW5kZWZpbmVkKSByZXR1cm4gW107XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIGRhdGFcbiAgICAgICAgICAgIC5maWx0ZXIoKHMpID0+ICEhcylcbiAgICAgICAgICAgIC5tYXAoKHMpID0+IHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKHMsIG9uKSlcbiAgICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IHAuY29uY2F0KGMpLCBbXSk7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgdG8gYSBzdHJpbmcgdG8gaGFuZGxlIG51bWJlcnMgYW5kIHNvIG9uLlxuICAgIHJldHVybiAoXCJcIiArIGRhdGEpXG4gICAgICAgIC5zcGxpdChvbilcbiAgICAgICAgLmZpbHRlcigodCkgPT4gISF0KVxuICAgICAgICAubWFwKCh0KSA9PiB0LnRyaW0oKSlcbiAgICAgICAgLmZpbHRlcigodCkgPT4gdC5sZW5ndGggPiAwKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJ1aWxkZXIgVXRpbGl0aWVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKiogQ29udmllbmVudCBzaGFyZWQgdXRpbGl0eSBmb3IgdHJhY2tpbmcgbWV0YWRhdGEgLSBsaW5rcywgdGFncywgYW5kIHNvIG9uLiAqL1xuZXhwb3J0IGNsYXNzIE1ldGFkYXRhIHtcbiAgICBwdWJsaWMgdGFnczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gICAgcHVibGljIGxpbmtzOiBMaW5rW10gPSBbXTtcbiAgICBwdWJsaWMgaW5saW5lRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVGaWVsZD4gPSB7fTtcblxuICAgIC8qKiBBZGQgYSB0YWcgdG8gdGhlIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyB0YWcodGFnOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZCh0YWcpO1xuICAgIH1cblxuICAgIC8qKiBBZGQgYSBsaW5rIHRvIHRoZSBtZXRhZGF0YS4gKi9cbiAgICBwdWJsaWMgbGluayhsaW5rOiBMaW5rKSB7XG4gICAgICAgIGlmICh0aGlzLmxpbmtzLmZpbmQoKHYpID0+IHYuZXF1YWxzKGxpbmspKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmxpbmtzLnB1c2gobGluayk7XG4gICAgfVxuXG4gICAgLyoqIEFkZCBhbiBpbmxpbmUgZmllbGQgdG8gdGhlIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyBpbmxpbmVGaWVsZChmaWVsZDogSW5saW5lRmllbGQpIHtcbiAgICAgICAgY29uc3QgbG93ZXIgPSBmaWVsZC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuaW5saW5lRmllbGRzKS5zb21lKChrZXkpID0+IGtleS50b0xvd2VyQ2FzZSgpID09IGxvd2VyKSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaW5saW5lRmllbGRzW2xvd2VyXSA9IGZpZWxkO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBsaXN0IG9mIHVuaXF1ZSBhZGRlZCB0YWdzLiAqL1xuICAgIHB1YmxpYyBmaW5pc2hUYWdzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy50YWdzKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJuIGEgbGlzdCBvZiBKU09OLXNlcmlhbGl6ZWQgbGlua3MuICovXG4gICAgcHVibGljIGZpbmlzaExpbmtzKCk6IEpzb25MaW5rW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5rcy5tYXAoKGxpbmspID0+IGxpbmsudG9PYmplY3QoKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIGxpc3Qgb2YgSlNPTi1zZXJpYWxpemVkIGlubGluZSBmaWVsZHMuICovXG4gICAgcHVibGljIGZpbmlzaElubGluZUZpZWxkcygpOiBSZWNvcmQ8c3RyaW5nLCBKc29uSW5saW5lRmllbGQ+IHtcbiAgICAgICAgcmV0dXJuIG1hcE9iamVjdFZhbHVlcyh0aGlzLmlubGluZUZpZWxkcywganNvbklubGluZUZpZWxkKTtcbiAgICB9XG59XG5cbi8qKiBDb252aWVuZW50IHV0aWxpdHkgZm9yIGNvbnN0cnVjdGluZyBwYWdlIG9iamVjdHMuICovXG5leHBvcnQgY2xhc3MgUGFnZURhdGEge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHBhdGg6IHN0cmluZyxcbiAgICAgICAgcHVibGljIHN0YXRzOiBGaWxlU3RhdHMsXG4gICAgICAgIHB1YmxpYyBsZW5ndGg6IG51bWJlcixcbiAgICAgICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSxcbiAgICAgICAgcHVibGljIHNlY3Rpb25zOiBTZWN0aW9uRGF0YVtdLFxuICAgICAgICBwdWJsaWMgZnJvbnRtYXR0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBKc29uRnJvbnRtYXR0ZXJFbnRyeT5cbiAgICApIHt9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogSnNvbk1hcmtkb3duUGFnZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAgICAgJGN0aW1lOiB0aGlzLnN0YXRzLmN0aW1lLFxuICAgICAgICAgICAgJG10aW1lOiB0aGlzLnN0YXRzLm10aW1lLFxuICAgICAgICAgICAgJHNpemU6IHRoaXMuc3RhdHMuc2l6ZSxcbiAgICAgICAgICAgICRleHRlbnNpb246IGdldEV4dGVuc2lvbih0aGlzLnBhdGgpLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiAwLCBlbmQ6IHRoaXMubGVuZ3RoIH0sXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogdGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSxcbiAgICAgICAgICAgICRzZWN0aW9uczogdGhpcy5zZWN0aW9ucy5tYXAoKHgpID0+IHguYnVpbGQoKSksXG4gICAgICAgICAgICAkZnJvbnRtYXR0ZXI6IHRoaXMuZnJvbnRtYXR0ZXIsXG4gICAgICAgIH07XG4gICAgfVxufVxuXG4vKiogQ29udmllbmVudCB1dGlsaXR5IGZvciBjb25zdHJ1Y3RpbmcgbWFya2Rvd24gc2VjdGlvbnMuICovXG5leHBvcnQgY2xhc3MgU2VjdGlvbkRhdGEge1xuICAgIHB1YmxpYyBibG9ja3M6IEJsb2NrRGF0YVtdID0gW107XG4gICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc3RhcnQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIGVuZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGxldmVsOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBvcmRpbmFsOiBudW1iZXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgYmxvY2soYmxvY2s6IEJsb2NrRGF0YSkge1xuICAgICAgICB0aGlzLmJsb2Nrcy5wdXNoKGJsb2NrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogSnNvbk1hcmtkb3duU2VjdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJGxldmVsOiB0aGlzLmxldmVsLFxuICAgICAgICAgICAgJHRhZ3M6IHRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLFxuICAgICAgICAgICAgJGluZmllbGRzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksXG4gICAgICAgICAgICAkcG9zaXRpb246IHsgc3RhcnQ6IHRoaXMuc3RhcnQsIGVuZDogdGhpcy5lbmQgfSxcbiAgICAgICAgICAgICRibG9ja3M6IHRoaXMuYmxvY2tzLm1hcCgoYmxvY2spID0+IGJsb2NrLmJ1aWxkKCkpLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIENvbnN0cnVjdHMgbWFya2Rvd24gbGlzdCBibG9ja3Mgc3BlY2lmaWNhbGx5LiAqL1xuZXhwb3J0IGNsYXNzIExpc3RCbG9ja0RhdGEge1xuICAgIHB1YmxpYyB0eXBlOiBzdHJpbmcgPSBcImxpc3RcIjtcbiAgICBwdWJsaWMgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG4gICAgcHVibGljIGl0ZW1zOiBMaXN0SXRlbURhdGFbXSA9IFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBzdGFydDogbnVtYmVyLCBwdWJsaWMgZW5kOiBudW1iZXIsIHB1YmxpYyBvcmRpbmFsOiBudW1iZXIsIHB1YmxpYyBibG9ja0lkPzogc3RyaW5nKSB7fVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IEpzb25NYXJrZG93bkxpc3RCbG9jayB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IHRoaXMuZW5kIH0sXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICR0eXBlOiBcImxpc3RcIixcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgICAgICAkZWxlbWVudHM6IHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmJ1aWxkKCkpLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIENvbnN0cnVjdHMgbWFya2Rvd24gY29kZWJsb2NrcyBzcGVjaWZpY2FsbHkuICovXG5leHBvcnQgY2xhc3MgQ29kZWJsb2NrRGF0YSB7XG4gICAgcHVibGljIHR5cGU6IHN0cmluZyA9IFwiY29kZWJsb2NrXCI7XG4gICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc3RhcnQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIGVuZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgb3JkaW5hbDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgbGFuZ3VhZ2VzOiBzdHJpbmdbXSxcbiAgICAgICAgcHVibGljIHN0eWxlOiBcImluZGVudFwiIHwgXCJmZW5jZWRcIixcbiAgICAgICAgcHVibGljIGNvbnRlbnRTdGFydDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgY29udGVudEVuZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgYmxvY2tJZD86IHN0cmluZ1xuICAgICkge31cblxuICAgIHB1YmxpYyBidWlsZCgpOiBKc29uTWFya2Rvd25Db2RlYmxvY2sge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJHR5cGU6IFwiY29kZWJsb2NrXCIsXG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IHRoaXMuZW5kIH0sXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgICAgICAkbGFuZ3VhZ2VzOiB0aGlzLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICRzdHlsZTogdGhpcy5zdHlsZSxcbiAgICAgICAgICAgICRjb250ZW50UG9zaXRpb246IHsgc3RhcnQ6IHRoaXMuY29udGVudFN0YXJ0LCBlbmQ6IHRoaXMuY29udGVudEVuZCB9LFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIENvbnN0cnVjdHMgbWFya2Rvd24gZGF0YWJsb2NrcyBzcGVjaWZpY2FsbHkuICovXG5leHBvcnQgY2xhc3MgRGF0YWJsb2NrRGF0YSB7XG4gICAgcHVibGljIHR5cGU6IHN0cmluZyA9IFwiZGF0YWJsb2NrXCI7XG4gICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc3RhcnQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIGVuZDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgb3JkaW5hbDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgZGF0YTogUmVjb3JkPHN0cmluZywgSnNvbkZyb250bWF0dGVyRW50cnk+LFxuICAgICAgICBwdWJsaWMgYmxvY2tJZD86IHN0cmluZ1xuICAgICkge31cblxuICAgIHB1YmxpYyBidWlsZCgpOiBKc29uTWFya2Rvd25EYXRhYmxvY2sge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJHR5cGU6IFwiZGF0YWJsb2NrXCIsXG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IHRoaXMuZW5kIH0sXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgICAgICAkZGF0YTogdGhpcy5kYXRhLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIEJhc2UgYmxvY2sgbWV0YWRhdGEgdXNlZCBmb3Igbm9uLXNwZWNpZmljIGJsb2Nrcy4gKi9cbmV4cG9ydCBjbGFzcyBCYXNlQmxvY2tEYXRhIHtcbiAgICBwdWJsaWMgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBzdGFydDogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgZW5kOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBvcmRpbmFsOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyB0eXBlOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBibG9ja0lkPzogc3RyaW5nXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IEpzb25NYXJrZG93bkJsb2NrIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICR0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy5vcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IHRoaXMuZW5kIH0sXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBCbG9ja0RhdGEgPSBMaXN0QmxvY2tEYXRhIHwgQ29kZWJsb2NrRGF0YSB8IERhdGFibG9ja0RhdGEgfCBCYXNlQmxvY2tEYXRhO1xuXG4vKiogVXRpbGl0eSBmb3IgY29uc3RydWN0aW5nIG1hcmtkb3duIGxpc3QgaXRlbXMuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1EYXRhIHtcbiAgICBwdWJsaWMgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG4gICAgcHVibGljIGVsZW1lbnRzOiBMaXN0SXRlbURhdGFbXSA9IFtdO1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHN0YXJ0OiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBlbmQ6IG51bWJlcixcbiAgICAgICAgcHVibGljIHBhcmVudExpbmU6IG51bWJlcixcbiAgICAgICAgcHVibGljIHN5bWJvbD86IHN0cmluZyxcbiAgICAgICAgcHVibGljIGJsb2NrSWQ/OiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBzdGF0dXM/OiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyB0ZXh0Pzogc3RyaW5nXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IEpzb25NYXJrZG93bkxpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRwYXJlbnRMaW5lOiB0aGlzLnBhcmVudExpbmUsXG4gICAgICAgICAgICAkcG9zaXRpb246IHsgc3RhcnQ6IHRoaXMuc3RhcnQsIGVuZDogdGhpcy5lbmQgfSxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLmJsb2NrSWQsXG4gICAgICAgICAgICAkZWxlbWVudHM6IHRoaXMuZWxlbWVudHMubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LmJ1aWxkKCkpLFxuICAgICAgICAgICAgJHR5cGU6IHRoaXMuc3RhdHVzID8gXCJ0YXNrXCIgOiBcImxpc3RcIixcbiAgICAgICAgICAgICRpbmZpZWxkczogdGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSxcbiAgICAgICAgICAgICR0YWdzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSxcbiAgICAgICAgICAgICRsaW5rczogdGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLFxuICAgICAgICAgICAgJHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICAgICAgICAkc3ltYm9sOiB0aGlzLnN5bWJvbCxcbiAgICAgICAgICAgICR0ZXh0OiB0aGlzLnRleHQsXG4gICAgICAgIH0gYXMgSnNvbk1hcmtkb3duVGFza0l0ZW07XG4gICAgfVxufVxuIiwgImltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IHtcbiAgICBCaW5hcnlPcCxcbiAgICBFeHByZXNzaW9uLFxuICAgIEV4cHJlc3Npb25zLFxuICAgIExhbWJkYUV4cHJlc3Npb24sXG4gICAgTGlzdEV4cHJlc3Npb24sXG4gICAgTGl0ZXJhbEV4cHJlc3Npb24sXG4gICAgT2JqZWN0RXhwcmVzc2lvbixcbiAgICBWYXJpYWJsZUV4cHJlc3Npb24sXG59IGZyb20gXCIuL2V4cHJlc3Npb25cIjtcbmltcG9ydCBlbW9qaVJlZ2V4IGZyb20gXCJlbW9qaS1yZWdleFwiO1xuaW1wb3J0IHtcbiAgICBJbmRleENoaWxkT2YsXG4gICAgSW5kZXhQYXRoLFxuICAgIEluZGV4SWQsXG4gICAgSW5kZXhOb3QsXG4gICAgSW5kZXhQYXJlbnRPZixcbiAgICBJbmRleFF1ZXJ5LFxuICAgIEluZGV4VGFnZ2VkLFxuICAgIEluZGV4VHlwZWQsXG4gICAgSW5kZXhMaW5rZWQsXG4gICAgSW5kZXhGaWVsZCxcbiAgICBJbmRleEV4cHJlc3Npb24sXG59IGZyb20gXCJpbmRleC90eXBlcy9pbmRleC1xdWVyeVwiO1xuaW1wb3J0IHsgbm9ybWFsaXplRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7IExpdGVyYWwgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUGFyc2luZyBQcmltaXRpdmVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFByaW1pdGl2ZSBwYXJzaW5nIGZvciBjb21tb25seSBzZWVuIHR5cGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmltaXRpdmVzTGFuZ3VhZ2Uge1xuICAgIG51bWJlcjogbnVtYmVyO1xuICAgIHN0cmluZzogc3RyaW5nO1xuICAgIGVzY2FwZUNoYXJhY3Rlcjogc3RyaW5nO1xuICAgIGJvb2w6IGJvb2xlYW47XG4gICAgdGFnOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGxpbms6IExpbms7XG4gICAgZW1iZWRMaW5rOiBMaW5rO1xuICAgIHJvb3REYXRlOiBEYXRlVGltZTtcbiAgICBkYXRlU2hvcnRoYW5kOiBrZXlvZiB0eXBlb2YgREFURV9TSE9SVEhBTkRTO1xuICAgIGRhdGU6IERhdGVUaW1lO1xuICAgIGRhdGVQbHVzOiBEYXRlVGltZTtcbiAgICBkdXJhdGlvblR5cGU6IGtleW9mIHR5cGVvZiBEVVJBVElPTl9UWVBFUztcbiAgICBkdXJhdGlvbjogRHVyYXRpb247XG4gICAgcmF3TnVsbDogc3RyaW5nO1xuXG4gICAgYmluYXJ5UGx1c01pbnVzOiBCaW5hcnlPcDtcbiAgICBiaW5hcnlNdWxEaXY6IEJpbmFyeU9wO1xuICAgIGJpbmFyeUNvbXBhcmVPcDogQmluYXJ5T3A7XG4gICAgYmluYXJ5QW5kT3A6IEJpbmFyeU9wO1xuICAgIGJpbmFyeU9yT3A6IEJpbmFyeU9wO1xuXG4gICAgLy8gTGl0ZXJhbCBmaWVsZCBwYXJzaW5nIGZvciBpbmdlc3RpbmcgaW5saW5lIGZpZWxkcyBhbmQgZnJvbnRtYXR0ZXIuXG4gICAgYXRvbUlubGluZUZpZWxkOiBMaXRlcmFsO1xuICAgIGlubGluZUZpZWxkTGlzdDogTGl0ZXJhbFtdO1xuICAgIGlubGluZUZpZWxkOiBMaXRlcmFsO1xufVxuXG4vKiogSW1wbGVtZW50YXRpb25zIGZvciBtYW55IHByaW1pdGl2ZXMuICovXG5leHBvcnQgY29uc3QgUFJJTUlUSVZFUyA9IFAuY3JlYXRlTGFuZ3VhZ2U8UHJpbWl0aXZlc0xhbmd1YWdlPih7XG4gICAgbnVtYmVyOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoLy0/WzAtOV0rKFxcLlswLTldKyk/LylcbiAgICAgICAgICAgIC5tYXAoKHN0cikgPT4gTnVtYmVyLnBhcnNlRmxvYXQoc3RyKSlcbiAgICAgICAgICAgIC5kZXNjKFwibnVtYmVyXCIpLFxuXG4gICAgLy8gQSBxdW90ZS1zdXJyb3VuZGVkIHN0cmluZyB3aGljaCBzdXBwb3J0cyBlc2NhcGUgY2hhcmFjdGVycyAoJ1xcJykuXG4gICAgc3RyaW5nOiAocSkgPT5cbiAgICAgICAgUC5zdHJpbmcoJ1wiJylcbiAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgIFAuYWx0KHEuZXNjYXBlQ2hhcmFjdGVyLCBQLm5vbmVPZignXCJcXFxcJykpXG4gICAgICAgICAgICAgICAgICAgIC5hdExlYXN0KDApXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGNoYXJzKSA9PiBjaGFycy5qb2luKFwiXCIpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNraXAoUC5zdHJpbmcoJ1wiJykpXG4gICAgICAgICAgICAuZGVzYyhcInN0cmluZ1wiKSxcblxuICAgIGVzY2FwZUNoYXJhY3RlcjogKF8pID0+XG4gICAgICAgIFAuc3RyaW5nKFwiXFxcXFwiKVxuICAgICAgICAgICAgLnRoZW4oUC5hbnkpXG4gICAgICAgICAgICAubWFwKChlc2NhcGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgYXJlIGVzY2FwaW5nIGEgYmFja3NsYXNoIG9yIGEgcXVvdGUsIHBhc3MgaW4gb24gaW4gZXNjYXBlZCBmb3JtXG4gICAgICAgICAgICAgICAgaWYgKGVzY2FwZWQgPT09ICdcIicpIHJldHVybiAnXCInO1xuICAgICAgICAgICAgICAgIGlmIChlc2NhcGVkID09PSBcIlxcXFxcIikgcmV0dXJuIFwiXFxcXFwiO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIFwiXFxcXFwiICsgZXNjYXBlZDtcbiAgICAgICAgICAgIH0pLFxuXG4gICAgLy8gQSBib29sZWFuIHRydWUvZmFsc2UgdmFsdWUuXG4gICAgYm9vbDogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC90cnVlfGZhbHNlfFRydWV8RmFsc2UvKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIudG9Mb3dlckNhc2UoKSA9PSBcInRydWVcIilcbiAgICAgICAgICAgIC5kZXNjKFwiYm9vbGVhblwiKSxcblxuICAgIC8vIEEgdGFnIG9mIHRoZSBmb3JtICcjc3R1ZmYvaGVsbG8tdGhlcmUnLlxuICAgIHRhZzogKF8pID0+XG4gICAgICAgIFAuc2VxTWFwKFxuICAgICAgICAgICAgUC5zdHJpbmcoXCIjXCIpLFxuICAgICAgICAgICAgUC5hbHQoUC5yZWdleHAoL1teXFx1MjAwMC1cXHUyMDZGXFx1MkUwMC1cXHUyRTdGJyFcIiMkJSYoKSorLC46Ozw9Pj9AXmB7fH1+XFxbXFxdXFxcXFxcc10vKS5kZXNjKFwidGV4dFwiKSkubWFueSgpLFxuICAgICAgICAgICAgKHN0YXJ0LCByZXN0KSA9PiBzdGFydCArIHJlc3Quam9pbihcIlwiKVxuICAgICAgICApLmRlc2MoXCJ0YWdcIiksXG5cbiAgICAvLyBBIHZhcmlhYmxlIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFscGhhbnVtZXJpYyBhbmQgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yLi4uIGVtb2ppLlxuICAgIGlkZW50aWZpZXI6IChfKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFAuYWx0KFAucmVnZXhwKC9bXFxwe0xldHRlcn0kXS91KSwgUC5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoXCJ0ZXh0XCIpKSxcbiAgICAgICAgICAgIFAuYWx0KFAucmVnZXhwKC9bMC05XFxwe0xldHRlcn0kXy1dL3UpLCBQLnJlZ2V4cChFTU9KSV9SRUdFWCkuZGVzYyhcInRleHRcIikpLm1hbnkoKSxcbiAgICAgICAgICAgIChmaXJzdCwgcmVzdCkgPT4gZmlyc3QgKyByZXN0LmpvaW4oXCJcIilcbiAgICAgICAgKS5kZXNjKFwidmFyaWFibGVcIiksXG5cbiAgICAvLyBBbiBPYnNpZGlhbiBsaW5rIG9mIHRoZSBmb3JtIFtbPGxpbms+XV0uXG4gICAgbGluazogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9cXFtcXFsoW15cXFtcXF1dKj8pXFxdXFxdL3UsIDEpXG4gICAgICAgICAgICAubWFwKChsaW5rSW5uZXIpID0+IExpbmsucGFyc2VJbm5lcihsaW5rSW5uZXIpKVxuICAgICAgICAgICAgLmRlc2MoXCJmaWxlIGxpbmtcIiksXG5cbiAgICAvLyBBbiBlbWJlZGRhYmxlIGxpbmsgd2hpY2ggY2FuIHN0YXJ0IHdpdGggJyEnLiBUaGlzIG92ZXJsYXBzIHdpdGggdGhlIG5vcm1hbCBuZWdhdGlvbiBvcGVyYXRvciwgc28gaXQgaXMgb25seVxuICAgIC8vIHByb3ZpZGVkIGZvciBtZXRhZGF0YSBwYXJzaW5nLlxuICAgIGVtYmVkTGluazogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiIVwiKS5hdE1vc3QoMSksIHEubGluaywgKHAsIGwpID0+IHtcbiAgICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDApIGwuZW1iZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGw7XG4gICAgICAgIH0pLmRlc2MoXCJmaWxlIGxpbmtcIiksXG5cbiAgICAvLyBCaW5hcnkgcGx1cyBvciBtaW51cyBvcGVyYXRvci5cbiAgICBiaW5hcnlQbHVzTWludXM6IChfKSA9PlxuICAgICAgICBQLnJlZ2V4cCgvXFwrfC0vKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIgYXMgQmluYXJ5T3ApXG4gICAgICAgICAgICAuZGVzYyhcIicrJyBvciAnLSdcIiksXG5cbiAgICAvLyBCaW5hcnkgdGltZXMgb3IgZGl2aWRlIG9wZXJhdG9yLlxuICAgIGJpbmFyeU11bERpdjogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9cXCp8XFwvfCUvKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIgYXMgQmluYXJ5T3ApXG4gICAgICAgICAgICAuZGVzYyhcIicqJyBvciAnLycgb3IgJyUnXCIpLFxuXG4gICAgLy8gQmluYXJ5IGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gICAgYmluYXJ5Q29tcGFyZU9wOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoLz49fDw9fCE9fD58PHw9LylcbiAgICAgICAgICAgIC5tYXAoKHN0cikgPT4gc3RyIGFzIEJpbmFyeU9wKVxuICAgICAgICAgICAgLmRlc2MoXCInPj0nIG9yICc8PScgb3IgJyE9JyBvciAnPScgb3IgJz4nIG9yICc8J1wiKSxcblxuICAgIC8vIEJpbmFyeSBib29sZWFuIGNvbWJpbmF0aW9uIG9wZXJhdG9yLlxuICAgIGJpbmFyeUFuZE9wOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoL2FuZHwmL2kpXG4gICAgICAgICAgICAubWFwKChfc3RyKSA9PiBcIiZcIiBhcyBCaW5hcnlPcClcbiAgICAgICAgICAgIC5kZXNjKFwiJ2FuZCdcIiksXG4gICAgYmluYXJ5T3JPcDogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9vcnxcXHwvaSlcbiAgICAgICAgICAgIC5tYXAoKF9zdHIpID0+IFwifFwiIGFzIEJpbmFyeU9wKVxuICAgICAgICAgICAgLmRlc2MoXCInb3InXCIpLFxuXG4gICAgLy8gQSBkYXRlIHdoaWNoIGNhbiBiZSBZWVlZLU1NWy1ERFRISDptbTpzc10uXG4gICAgcm9vdERhdGU6IChfKSA9PlxuICAgICAgICBQLnNlcU1hcChQLnJlZ2V4cCgvXFxkezR9LyksIFAuc3RyaW5nKFwiLVwiKSwgUC5yZWdleHAoL1xcZHsyfS8pLCAoeWVhciwgXywgbW9udGgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHsgeWVhcjogTnVtYmVyLnBhcnNlSW50KHllYXIpLCBtb250aDogTnVtYmVyLnBhcnNlSW50KG1vbnRoKSB9KTtcbiAgICAgICAgfSkuZGVzYyhcImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXVwiKSxcbiAgICBkYXRlU2hvcnRoYW5kOiAoXykgPT5cbiAgICAgICAgUC5hbHQoXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyhEQVRFX1NIT1JUSEFORFMpXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgLm1hcChQLnN0cmluZylcbiAgICAgICAgKSBhcyBQLlBhcnNlcjxrZXlvZiB0eXBlb2YgREFURV9TSE9SVEhBTkRTPixcbiAgICBkYXRlOiAocSkgPT5cbiAgICAgICAgY2hhaW5PcHQ8RGF0ZVRpbWU+KFxuICAgICAgICAgICAgcS5yb290RGF0ZSxcbiAgICAgICAgICAgICh5bTogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCItXCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBkYXkpID0+IHltLnNldCh7IGRheTogTnVtYmVyLnBhcnNlSW50KGRheSkgfSkpLFxuICAgICAgICAgICAgKHltZDogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCJUXCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBob3VyKSA9PiB5bWQuc2V0KHsgaG91cjogTnVtYmVyLnBhcnNlSW50KGhvdXIpIH0pKSxcbiAgICAgICAgICAgICh5bWRoOiBEYXRlVGltZSkgPT5cbiAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIjpcIiksIFAucmVnZXhwKC9cXGR7Mn0vKSwgKF8sIG1pbnV0ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgeW1kaC5zZXQoeyBtaW51dGU6IE51bWJlci5wYXJzZUludChtaW51dGUpIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICh5bWRobTogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCI6XCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBzZWNvbmQpID0+XG4gICAgICAgICAgICAgICAgICAgIHltZGhtLnNldCh7IHNlY29uZDogTnVtYmVyLnBhcnNlSW50KHNlY29uZCkgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKHltZGhtczogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5hbHQoXG4gICAgICAgICAgICAgICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiLlwiKSwgUC5yZWdleHAoL1xcZHszfS8pLCAoXywgbWlsbGlzZWNvbmQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB5bWRobXMuc2V0KHsgbWlsbGlzZWNvbmQ6IE51bWJlci5wYXJzZUludChtaWxsaXNlY29uZCkgfSlcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgUC5zdWNjZWVkKHltZGhtcykgLy8gcGFzc1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAoZHQ6IERhdGVUaW1lKSA9PlxuICAgICAgICAgICAgICAgIFAuYWx0KFxuICAgICAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIitcIikub3IoUC5zdHJpbmcoXCItXCIpKSwgUC5yZWdleHAoL1xcZHsxLDJ9KDpcXGR7Mn0pPy8pLCAocG0sIGhyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZHQuc2V0Wm9uZShcIlVUQ1wiICsgcG0gKyBociwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiWlwiKSwgKCkgPT4gZHQuc2V0Wm9uZShcInV0Y1wiLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSkpLFxuICAgICAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIltcIiksIFAucmVnZXhwKC9bMC05QS1aYS16Ky1cXC9dKy91KSwgUC5zdHJpbmcoXCJdXCIpLCAoX2EsIHpvbmUsIF9iKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZHQuc2V0Wm9uZSh6b25lLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAgICAgLmFzc2VydCgoZHQ6IERhdGVUaW1lKSA9PiBkdC5pc1ZhbGlkLCBcInZhbGlkIGRhdGVcIilcbiAgICAgICAgICAgIC5kZXNjKFwiZGF0ZSBpbiBmb3JtYXQgWVlZWS1NTVstRERUSEgtTU0tU1MuTVNdXCIpLFxuXG4gICAgLy8gQSBkYXRlLCBwbHVzIHZhcmlvdXMgc2hvcnRoYW5kIHRpbWVzIG9mIGRheSBpdCBjb3VsZCBiZS5cbiAgICBkYXRlUGx1czogKHEpID0+XG4gICAgICAgIFAuYWx0PERhdGVUaW1lPihcbiAgICAgICAgICAgIHEuZGF0ZVNob3J0aGFuZC5tYXAoKGQpID0+IERBVEVfU0hPUlRIQU5EU1tkXSgpKSxcbiAgICAgICAgICAgIHEuZGF0ZVxuICAgICAgICApLmRlc2MoXCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU10gb3IgaW4gc2hvcnRoYW5kXCIpLFxuXG4gICAgLy8gQSBkdXJhdGlvbiBvZiB0aW1lLlxuICAgIGR1cmF0aW9uVHlwZTogKF8pID0+XG4gICAgICAgIFAuYWx0KFxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXMoRFVSQVRJT05fVFlQRVMpXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgLm1hcChQLnN0cmluZylcbiAgICAgICAgKSBhcyBQLlBhcnNlcjxrZXlvZiB0eXBlb2YgRFVSQVRJT05fVFlQRVM+LFxuICAgIGR1cmF0aW9uOiAocSkgPT5cbiAgICAgICAgUC5zZXFNYXAocS5udW1iZXIsIFAub3B0V2hpdGVzcGFjZSwgcS5kdXJhdGlvblR5cGUsIChjb3VudCwgXywgdCkgPT5cbiAgICAgICAgICAgIERVUkFUSU9OX1RZUEVTW3RdLm1hcFVuaXRzKCh4KSA9PiB4ICogY291bnQpXG4gICAgICAgIClcbiAgICAgICAgICAgIC5zZXBCeTEoUC5zdHJpbmcoXCIsXCIpLnRyaW0oUC5vcHRXaGl0ZXNwYWNlKS5vcihQLm9wdFdoaXRlc3BhY2UpKVxuICAgICAgICAgICAgLm1hcCgoZHVyYXRpb25zKSA9PiBkdXJhdGlvbnMucmVkdWNlKChwLCBjKSA9PiBwLnBsdXMoYykpKVxuICAgICAgICAgICAgLmRlc2MoXCJkdXJhdGlvbiBsaWtlIDRocjJtaW5cIiksXG5cbiAgICAvLyBBIHJhdyBudWxsIHZhbHVlLlxuICAgIHJhd051bGw6IChfKSA9PiBQLnN0cmluZyhcIm51bGxcIiksXG5cbiAgICAvLyBJbmxpbmUgZmllbGQgdmFsdWUgcGFyc2luZy5cbiAgICBhdG9tSW5saW5lRmllbGQ6IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIHEuZGF0ZSxcbiAgICAgICAgICAgIHEuZHVyYXRpb24ubWFwKChkKSA9PiBub3JtYWxpemVEdXJhdGlvbihkKSksXG4gICAgICAgICAgICBxLnN0cmluZyxcbiAgICAgICAgICAgIHEudGFnLFxuICAgICAgICAgICAgcS5lbWJlZExpbmssXG4gICAgICAgICAgICBxLmJvb2wsXG4gICAgICAgICAgICBxLm51bWJlcixcbiAgICAgICAgICAgIHEucmF3TnVsbFxuICAgICAgICApLFxuICAgIGlubGluZUZpZWxkTGlzdDogKHEpID0+IHEuYXRvbUlubGluZUZpZWxkLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkubG9va2FoZWFkKHEuYXRvbUlubGluZUZpZWxkKSksXG4gICAgaW5saW5lRmllbGQ6IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIFAuc2VxTWFwKHEuYXRvbUlubGluZUZpZWxkLCBQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpLCBxLmlubGluZUZpZWxkTGlzdCwgKGYsIF9zLCBsKSA9PlxuICAgICAgICAgICAgICAgIFtmXS5jb25jYXQobClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxLmF0b21JbmxpbmVGaWVsZFxuICAgICAgICApLFxufSk7XG5cbi8qKiBFbW9qaSByZWdleCwgc3RycHBpbmcgYW55IHJlZ2V4IGZsYWdzIGl0IGhhcy4gKi9cbmNvbnN0IEVNT0pJX1JFR0VYID0gbmV3IFJlZ0V4cChlbW9qaVJlZ2V4KCksIFwiXCIpO1xuXG4vKiogUHJvdmlkZXMgYSBsb29rdXAgdGFibGUgZm9yIHVuaXQgZHVyYXRpb25zIG9mIHRoZSBnaXZlbiB0eXBlLiAqL1xuZXhwb3J0IGNvbnN0IERVUkFUSU9OX1RZUEVTID0ge1xuICAgIHllYXI6IER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSB9KSxcbiAgICB5ZWFyczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLFxuICAgIHlyOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksXG4gICAgeXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksXG5cbiAgICBtb250aDogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSxcbiAgICBtb250aHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksXG4gICAgbW86IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksXG4gICAgbW9zOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbW9udGhzOiAxIH0pLFxuXG4gICAgd2VlazogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLFxuICAgIHdlZWtzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksXG4gICAgd2s6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSxcbiAgICB3a3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSxcbiAgICB3OiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksXG5cbiAgICBkYXk6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuICAgIGRheXM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuICAgIGQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuXG4gICAgaG91cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxIH0pLFxuICAgIGhvdXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksXG4gICAgaHI6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSxcbiAgICBocnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSxcbiAgICBoOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksXG5cbiAgICBtaW51dGU6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLFxuICAgIG1pbnV0ZXM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLFxuICAgIG1pbjogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG4gICAgbWluczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG4gICAgbTogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG5cbiAgICBzZWNvbmQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLFxuICAgIHNlY29uZHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLFxuICAgIHNlYzogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG4gICAgc2VjczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG4gICAgczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG59O1xuXG4vKiogU2hvcnRoYW5kIGZvciBjb21tb24gZGF0ZXMgKHJlbGF0aXZlIHRvIHJpZ2h0IG5vdykuICovXG5leHBvcnQgY29uc3QgREFURV9TSE9SVEhBTkRTID0ge1xuICAgIG5vdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKSxcbiAgICB0b2RheTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKFwiZGF5XCIpLFxuICAgIHllc3RlcmRheTogKCkgPT5cbiAgICAgICAgRGF0ZVRpbWUubG9jYWwoKVxuICAgICAgICAgICAgLnN0YXJ0T2YoXCJkYXlcIilcbiAgICAgICAgICAgIC5taW51cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksXG4gICAgdG9tb3Jyb3c6ICgpID0+XG4gICAgICAgIERhdGVUaW1lLmxvY2FsKClcbiAgICAgICAgICAgIC5zdGFydE9mKFwiZGF5XCIpXG4gICAgICAgICAgICAucGx1cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksXG4gICAgc293OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJ3ZWVrXCIpLFxuICAgIFwic3RhcnQtb2Ytd2Vla1wiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJ3ZWVrXCIpLFxuICAgIGVvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZihcIndlZWtcIiksXG4gICAgXCJlbmQtb2Ytd2Vla1wiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwid2Vla1wiKSxcbiAgICBzb3k6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZihcInllYXJcIiksXG4gICAgXCJzdGFydC1vZi15ZWFyXCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZihcInllYXJcIiksXG4gICAgZW95OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwieWVhclwiKSxcbiAgICBcImVuZC1vZi15ZWFyXCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoXCJ5ZWFyXCIpLFxuICAgIHNvbTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKFwibW9udGhcIiksXG4gICAgXCJzdGFydC1vZi1tb250aFwiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJtb250aFwiKSxcbiAgICBlb206ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoXCJtb250aFwiKSxcbiAgICBcImVuZC1vZi1tb250aFwiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwibW9udGhcIiksXG59O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBFeHByZXNzaW9uIExhbmd1YWdlIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCB0eXBlIFBvc3RmaXhGcmFnbWVudCA9XG4gICAgfCB7IHR5cGU6IFwiZG90XCI7IGV4cHI6IHN0cmluZyB9XG4gICAgfCB7IHR5cGU6IFwiaW5kZXhcIjsgZXhwcjogRXhwcmVzc2lvbiB9XG4gICAgfCB7IHR5cGU6IFwiZnVuY3Rpb25cIjsgZXhwcnM6IEV4cHJlc3Npb25bXSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cHJlc3Npb25MYW5ndWFnZSB7XG4gICAgdmFyaWFibGU6IFZhcmlhYmxlRXhwcmVzc2lvbjtcbiAgICBudW1iZXI6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIGJvb2w6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIHN0cmluZzogTGl0ZXJhbEV4cHJlc3Npb247XG4gICAgZGF0ZTogTGl0ZXJhbEV4cHJlc3Npb247XG4gICAgZHVyYXRpb246IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIGxpbms6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIG51bGw6IExpdGVyYWxFeHByZXNzaW9uO1xuXG4gICAgbGlzdDogTGlzdEV4cHJlc3Npb247XG4gICAgb2JqZWN0OiBPYmplY3RFeHByZXNzaW9uO1xuXG4gICAgbmVnYXRlZDogRXhwcmVzc2lvbjtcbiAgICBhdG9tOiBFeHByZXNzaW9uO1xuICAgIGluZGV4OiBFeHByZXNzaW9uO1xuICAgIGxhbWJkYTogTGFtYmRhRXhwcmVzc2lvbjtcblxuICAgIC8vIFBvc3RmaXggcGFyc2VycyBmb3IgZnVuY3Rpb24gY2FsbHMgJiB0aGUgbGlrZS5cbiAgICBkb3RQb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG4gICAgaW5kZXhQb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG4gICAgZnVuY3Rpb25Qb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG5cbiAgICAvLyBCaW5hcnkgb3AgcGFyc2Vycy5cbiAgICBiaW5hcnlNdWxEaXY6IEV4cHJlc3Npb247XG4gICAgYmluYXJ5UGx1c01pbnVzOiBFeHByZXNzaW9uO1xuICAgIGJpbmFyeUNvbXBhcmU6IEV4cHJlc3Npb247XG4gICAgYmluYXJ5Qm9vbGVhbjogRXhwcmVzc2lvbjtcbiAgICBiaW5hcnlPcDogRXhwcmVzc2lvbjtcbiAgICBwYXJlbnM6IEV4cHJlc3Npb247XG4gICAgZXhwcmVzc2lvbjogRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBQYXJzZSBmb3IgdGhlIGRhdGFjb3JlIGV4cHJlc3Npb24gbGFuZ3VhZ2UsIHdoaWNoIHByb3ZpZGVzIHNpbXBsZSBhbmQgdmFndWVseSBKUy1sb29raW5nIGNvbXB1dGF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgRVhQUkVTU0lPTiA9IFAuY3JlYXRlTGFuZ3VhZ2U8RXhwcmVzc2lvbkxhbmd1YWdlPih7XG4gICAgLy8gRmllbGQgcGFyc2luZy5cbiAgICB2YXJpYWJsZTogKF8pID0+IFBSSU1JVElWRVMuaWRlbnRpZmllci5tYXAoRXhwcmVzc2lvbnMudmFyaWFibGUpLmRlc2MoXCJ2YXJpYWJsZVwiKSxcbiAgICBudW1iZXI6IChfKSA9PiBQUklNSVRJVkVTLm51bWJlci5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCkuZGVzYyhcIm51bWJlclwiKSxcbiAgICBzdHJpbmc6IChfKSA9PiBQUklNSVRJVkVTLnN0cmluZy5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCkuZGVzYyhcInN0cmluZ1wiKSxcbiAgICBib29sOiAoXykgPT4gUFJJTUlUSVZFUy5ib29sLm1hcChFeHByZXNzaW9ucy5saXRlcmFsKS5kZXNjKFwiYm9vbGVhblwiKSxcbiAgICBkYXRlOiAoXykgPT5cbiAgICAgICAgY3JlYXRlRnVuY3Rpb24oXCJkYXRlXCIsIFBSSU1JVElWRVMuZGF0ZVBsdXMpXG4gICAgICAgICAgICAubWFwKChbX2Z1bmMsIGRhdGVdKSA9PiBFeHByZXNzaW9ucy5saXRlcmFsKGRhdGUpKVxuICAgICAgICAgICAgLmRlc2MoXCJkYXRlXCIpLFxuICAgIGR1cmF0aW9uOiAoXykgPT5cbiAgICAgICAgY3JlYXRlRnVuY3Rpb24oXCJkdXJcIiwgUFJJTUlUSVZFUy5kdXJhdGlvbilcbiAgICAgICAgICAgIC5tYXAoKFtfZnVuYywgZHVyXSkgPT4gRXhwcmVzc2lvbnMubGl0ZXJhbChkdXIpKVxuICAgICAgICAgICAgLmRlc2MoXCJkdXJhdGlvblwiKSxcbiAgICBudWxsOiAoXykgPT4gUFJJTUlUSVZFUy5yYXdOdWxsLm1hcCgoXykgPT4gRXhwcmVzc2lvbnMuTlVMTCksXG4gICAgbGluazogKF8pID0+IFBSSU1JVElWRVMubGluay5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCksXG4gICAgbGlzdDogKHEpID0+XG4gICAgICAgIHEuZXhwcmVzc2lvblxuICAgICAgICAgICAgLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpXG4gICAgICAgICAgICAud3JhcChQLnN0cmluZyhcIltcIikuc2tpcChQLm9wdFdoaXRlc3BhY2UpLCBQLm9wdFdoaXRlc3BhY2UudGhlbihQLnN0cmluZyhcIl1cIikpKVxuICAgICAgICAgICAgLm1hcCgobCkgPT4gRXhwcmVzc2lvbnMubGlzdChsKSlcbiAgICAgICAgICAgIC5kZXNjKFwibGlzdFwiKSxcbiAgICBvYmplY3Q6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFBSSU1JVElWRVMuaWRlbnRpZmllci5vcihQUklNSVRJVkVTLnN0cmluZyksXG4gICAgICAgICAgICBQLnN0cmluZyhcIjpcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpLFxuICAgICAgICAgICAgcS5leHByZXNzaW9uLFxuICAgICAgICAgICAgKG5hbWUsIF9zZXAsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgICAgICAgLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpXG4gICAgICAgICAgICAud3JhcChQLnN0cmluZyhcIntcIikuc2tpcChQLm9wdFdoaXRlc3BhY2UpLCBQLm9wdFdoaXRlc3BhY2UudGhlbihQLnN0cmluZyhcIn1cIikpKVxuICAgICAgICAgICAgLm1hcCgodmFscykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZXM6IFJlY29yZDxzdHJpbmcsIEV4cHJlc3Npb24+ID0ge307XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgdmFscykgcmVzW2VudHJ5Lm5hbWVdID0gZW50cnkudmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEV4cHJlc3Npb25zLm9iamVjdChyZXMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5kZXNjKFwib2JqZWN0ICgneyBhOiAxLCBiOiAyIH0nKVwiKSxcblxuICAgIGF0b206IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIC8vIFBsYWNlIGVtYmVkIGxpbmtzIGFib3ZlIG5lZ2F0ZWQgZmllbGRzIGFzIHRoZXkgYXJlIHRoZSBzcGVjaWFsIHBhcnNlciBjYXNlICchW1t0aGluZ11dJyBhbmQgYXJlIGdlbmVyYWxseSB1bmFtYmlnaW91cy5cbiAgICAgICAgICAgIFBSSU1JVElWRVMuZW1iZWRMaW5rLm1hcCgobCkgPT4gRXhwcmVzc2lvbnMubGl0ZXJhbChsKSksXG4gICAgICAgICAgICBxLm5lZ2F0ZWQsXG4gICAgICAgICAgICBxLmxpbmssXG4gICAgICAgICAgICBxLmxpc3QsXG4gICAgICAgICAgICBxLm9iamVjdCxcbiAgICAgICAgICAgIHEubGFtYmRhLFxuICAgICAgICAgICAgcS5wYXJlbnMsXG4gICAgICAgICAgICBxLmJvb2wsXG4gICAgICAgICAgICBxLm51bWJlcixcbiAgICAgICAgICAgIHEuc3RyaW5nLFxuICAgICAgICAgICAgcS5kYXRlLFxuICAgICAgICAgICAgcS5kdXJhdGlvbixcbiAgICAgICAgICAgIHEubnVsbCxcbiAgICAgICAgICAgIHEudmFyaWFibGVcbiAgICAgICAgKSxcbiAgICBpbmRleDogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKHEuYXRvbSwgUC5hbHQocS5kb3RQb3N0Zml4LCBxLmluZGV4UG9zdGZpeCwgcS5mdW5jdGlvblBvc3RmaXgpLm1hbnkoKSwgKG9iaiwgcG9zdGZpeGVzKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gb2JqO1xuICAgICAgICAgICAgZm9yIChsZXQgcG9zdCBvZiBwb3N0Zml4ZXMpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHBvc3QudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZG90XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5pbmRleChyZXN1bHQsIEV4cHJlc3Npb25zLmxpdGVyYWwocG9zdC5leHByKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImluZGV4XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5pbmRleChyZXN1bHQsIHBvc3QuZXhwcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5mdW5jKHJlc3VsdCwgcG9zdC5leHBycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgIG5lZ2F0ZWQ6IChxKSA9PiBQLnNlcU1hcChQLnN0cmluZyhcIiFcIiksIHEuaW5kZXgsIChfLCBmaWVsZCkgPT4gRXhwcmVzc2lvbnMubmVnYXRlKGZpZWxkKSkuZGVzYyhcIm5lZ2F0ZWQgZmllbGRcIiksXG4gICAgcGFyZW5zOiAocSkgPT4gcS5leHByZXNzaW9uLnRyaW0oUC5vcHRXaGl0ZXNwYWNlKS53cmFwKFAuc3RyaW5nKFwiKFwiKSwgUC5zdHJpbmcoXCIpXCIpKSxcbiAgICBsYW1iZGE6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFBSSU1JVElWRVMuaWRlbnRpZmllclxuICAgICAgICAgICAgICAgIC5zZXBCeShQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpKVxuICAgICAgICAgICAgICAgIC53cmFwKFAuc3RyaW5nKFwiKFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSksIFAuc3RyaW5nKFwiKVwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpLFxuICAgICAgICAgICAgUC5zdHJpbmcoXCI9PlwiKS50cmltKFAub3B0V2hpdGVzcGFjZSksXG4gICAgICAgICAgICBxLmV4cHJlc3Npb24sXG4gICAgICAgICAgICAoaWRlbnQsIF9pZ25vcmUsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsYW1iZGFcIiwgYXJndW1lbnRzOiBpZGVudCwgdmFsdWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcblxuICAgIGRvdFBvc3RmaXg6IChxKSA9PiBQLnNlcU1hcChQLnN0cmluZyhcIi5cIiksIFBSSU1JVElWRVMuaWRlbnRpZmllciwgKF8sIGV4cHIpID0+ICh7IHR5cGU6IFwiZG90XCIsIGV4cHIgfSkpLFxuICAgIGluZGV4UG9zdGZpeDogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKFxuICAgICAgICAgICAgUC5zdHJpbmcoXCJbXCIpLFxuICAgICAgICAgICAgUC5vcHRXaGl0ZXNwYWNlLFxuICAgICAgICAgICAgcS5leHByZXNzaW9uLFxuICAgICAgICAgICAgUC5vcHRXaGl0ZXNwYWNlLFxuICAgICAgICAgICAgUC5zdHJpbmcoXCJdXCIpLFxuICAgICAgICAgICAgKF8sIF8yLCBleHByLCBfMywgXzQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcImluZGV4XCIsIGV4cHIgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICBmdW5jdGlvblBvc3RmaXg6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFAuc3RyaW5nKFwiKFwiKSxcbiAgICAgICAgICAgIFAub3B0V2hpdGVzcGFjZSxcbiAgICAgICAgICAgIHEuZXhwcmVzc2lvbi5zZXBCeShQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpKSxcbiAgICAgICAgICAgIFAub3B0V2hpdGVzcGFjZSxcbiAgICAgICAgICAgIFAuc3RyaW5nKFwiKVwiKSxcbiAgICAgICAgICAgIChfLCBfMSwgZXhwcnMsIF8yLCBfMykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwiZnVuY3Rpb25cIiwgZXhwcnMgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcblxuICAgIC8vIFRoZSBwcmVjZWRlbmNlIGhpZXJhcmNoeSBvZiBvcGVyYXRvcnMgLSBtdWx0aXBseS9kaXZpZGUsIGFkZC9zdWJ0cmFjdCwgY29tcGFyZSwgYW5kIHRoZW4gYm9vbGVhbiBvcGVyYXRpb25zLlxuICAgIGJpbmFyeU11bERpdjogKHEpID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmluZGV4LCBQUklNSVRJVkVTLmJpbmFyeU11bERpdiwgRXhwcmVzc2lvbnMuYmluYXJ5T3ApLFxuICAgIGJpbmFyeVBsdXNNaW51czogKHEpID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmJpbmFyeU11bERpdiwgUFJJTUlUSVZFUy5iaW5hcnlQbHVzTWludXMsIEV4cHJlc3Npb25zLmJpbmFyeU9wKSxcbiAgICBiaW5hcnlDb21wYXJlOiAocSkgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5UGx1c01pbnVzLCBQUklNSVRJVkVTLmJpbmFyeUNvbXBhcmVPcCwgRXhwcmVzc2lvbnMuYmluYXJ5T3ApLFxuICAgIGJpbmFyeUJvb2xlYW46IChxKSA9PlxuICAgICAgICBjcmVhdGVCaW5hcnlQYXJzZXIocS5iaW5hcnlDb21wYXJlLCBQUklNSVRJVkVTLmJpbmFyeUFuZE9wLm9yKFBSSU1JVElWRVMuYmluYXJ5T3JPcCksIEV4cHJlc3Npb25zLmJpbmFyeU9wKSxcbiAgICBiaW5hcnlPcDogKHEpID0+IHEuYmluYXJ5Qm9vbGVhbixcblxuICAgIGV4cHJlc3Npb246IChxKSA9PiBxLmJpbmFyeU9wLFxufSk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBRdWVyeSBMYW5ndWFnZSAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFN1cHBvcnRlZCB0eXBlcyBpbiB0aGUgZ3JhbW1hciBmb3IgaW5kZXggcXVlcmllcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlMYW5ndWFnZSB7XG4gICAgcXVlcnlUYWc6IEluZGV4VGFnZ2VkO1xuICAgIHF1ZXJ5SWQ6IEluZGV4SWQ7XG4gICAgcXVlcnlUeXBlOiBJbmRleFR5cGVkO1xuICAgIHF1ZXJ5UGF0aDogSW5kZXhQYXRoO1xuICAgIHF1ZXJ5UGFyZW50T2Y6IEluZGV4UGFyZW50T2Y7XG4gICAgcXVlcnlDaGlsZE9mOiBJbmRleENoaWxkT2Y7XG4gICAgcXVlcnlTaW1wbGVMaW5rZWQ6IEluZGV4TGlua2VkO1xuICAgIHF1ZXJ5TGlua2VkOiBJbmRleExpbmtlZDtcbiAgICBxdWVyeUV4aXN0czogSW5kZXhGaWVsZDtcbiAgICBxdWVyeVF1b3RlZEV4cHJlc3Npb246IEluZGV4RXhwcmVzc2lvbjtcbiAgICBxdWVyeVJhd0V4cHJlc3Npb246IEluZGV4RXhwcmVzc2lvbjtcbiAgICBxdWVyeU5lZ2F0ZTogSW5kZXhOb3Q7XG4gICAgcXVlcnlQYXJlbnM6IEluZGV4UXVlcnk7XG4gICAgcXVlcnlBdG9tOiBJbmRleFF1ZXJ5O1xuICAgIHF1ZXJ5QW5kczogSW5kZXhRdWVyeTtcbiAgICBxdWVyeU9yczogSW5kZXhRdWVyeTtcbiAgICBxdWVyeTogSW5kZXhRdWVyeTtcbn1cblxuLyoqXG4gKiBQYXJzZXIgZm9yIHRoZSBxdWVyeSBsYW5ndWFnZS4gRGlkIEkgcmVhbGx5IG5lZWQgYSBxdWVyeSBsYW5ndWFnZSBpbnN0ZWFkIG9mIGp1c3QgYSBiZXR0ZXIgVUk/IFByb2JhYmx5IG5vdC5cbiAqIEJ1dCBxdWVyeSBsYW5ndWFnZXMgYXJlIGZ1biBmb3IgdGhlIHdob2xlIGZhbWlseSBhbmQgYXQgc29tZSBwb2ludCB5b3UgZ2V0IHNvIHVzZWQgdG8gd3JpdGluZyB0aGVtIHRoYXRcbiAqIHlvdSBkb24ndCBzdG9wIHRvIHRoaW5rIGlmIHlvdSAqbmVlZCogdG8gd3JpdGUgdGhlbSBhbnltb3JlLiBJdCdzIGdvb2QgdHlwaW5nIHByYWN0aWNlIGZvciBldmVyeW9uZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFFVRVJZID0gUC5jcmVhdGVMYW5ndWFnZTxRdWVyeUxhbmd1YWdlPih7XG4gICAgcXVlcnlUYWc6IChfKSA9PiBQUklNSVRJVkVTLnRhZy5tYXAoKHZhbHVlKSA9PiAoeyB0eXBlOiBcInRhZ2dlZFwiLCB2YWx1ZSB9KSksXG4gICAgcXVlcnlJZDogKF8pID0+IGNyZWF0ZUZ1bmN0aW9uKFwiaWRcIiwgUFJJTUlUSVZFUy5zdHJpbmcpLm1hcCgoW18sIGlkXSkgPT4gKHsgdHlwZTogXCJpZFwiLCB2YWx1ZTogaWQgfSkpLFxuICAgIHF1ZXJ5VHlwZTogKF8pID0+XG4gICAgICAgIFAuc3RyaW5nKFwiQFwiKVxuICAgICAgICAgICAgLnRoZW4oUFJJTUlUSVZFUy5pZGVudGlmaWVyKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7IHR5cGU6IFwidHlwZWRcIiwgdmFsdWU6IHZhbHVlIH0pKSxcblxuICAgIHF1ZXJ5UGF0aDogKF8pID0+XG4gICAgICAgIGNyZWF0ZUZ1bmN0aW9uKFAucmVnZXhwKC9lP3BhdGgvaSkuZGVzYyhcIltlXXBhdGhcIiksIFBSSU1JVElWRVMuc3RyaW5nKS5tYXAoKFtmdW5jLCBwYXRoXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwicGF0aFwiLFxuICAgICAgICAgICAgdmFsdWU6IHBhdGgsXG4gICAgICAgICAgICBleGFjdDogZnVuYy50b0xvd2VyQ2FzZSgpID09PSBcImVwYXRoXCIsXG4gICAgICAgIH0pKSxcblxuICAgIHF1ZXJ5UGFyZW50T2Y6IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvcGFyZW50b2Z8c3VwZXJ0cmVlL2kpLmRlc2MoXCJwYXJlbnRvZlwiKSwgcS5xdWVyeSkubWFwKChbZnVuYywgY2hpbGRyZW5dKSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogXCJwYXJlbnQtb2ZcIixcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBmdW5jLnRvTG93ZXJDYXNlKCkgPT09IFwic3VwZXJ0cmVlXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeUNoaWxkT2Y6IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvY2hpbGRvZnxzdWJ0cmVlL2kpLmRlc2MoXCJjaGlsZG9mXCIpLCBxLnF1ZXJ5KS5tYXAoKFtmdW5jLCBwYXJlbnRzXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiY2hpbGQtb2ZcIixcbiAgICAgICAgICAgIHBhcmVudHMsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IGZ1bmMudG9Mb3dlckNhc2UoKSA9PT0gXCJzdWJ0cmVlXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeVNpbXBsZUxpbmtlZDogKF8pID0+XG4gICAgICAgIFBSSU1JVElWRVMubGluay5tYXAoKGxpbmspID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcImxpbmtlZFwiLFxuICAgICAgICAgICAgc291cmNlOiB7IHR5cGU6IFwibGlua1wiLCB2YWx1ZTogbGluayB9LFxuICAgICAgICAgICAgZGlyZWN0aW9uOiBcImluY29taW5nXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeUxpbmtlZDogKHEpID0+XG4gICAgICAgIGNyZWF0ZUZ1bmN0aW9uKFAucmVnZXhwKC9saW5rc3RvfGxpbmtlZGZyb218Y29ubmVjdGVkL2kpLmRlc2MoXCJjb25uZWN0ZWRcIiksIHEucXVlcnkpLm1hcCgoW2Z1bmMsIHNvdXJjZV0pID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcImxpbmtlZFwiLFxuICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgZGlyZWN0aW9uOlxuICAgICAgICAgICAgICAgIGZ1bmMudG9Mb3dlckNhc2UoKSA9PSBcImxpbmtzdG9cIiA/IFwiaW5jb21pbmdcIiA6IGZ1bmMudG9Mb3dlckNhc2UoKSA9PSBcImxpbmtlZGZyb21cIiA/IFwib3V0Z29pbmdcIiA6IFwiYm90aFwiLFxuICAgICAgICB9KSksXG4gICAgcXVlcnlFeGlzdHM6IChfKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvZXhpc3RzL2kpLmRlc2MoXCJleGlzdHNcIiksIFBSSU1JVElWRVMuaWRlbnRpZmllci5vcihQUklNSVRJVkVTLnN0cmluZykpLm1hcChcbiAgICAgICAgICAgIChbX2Z1bmMsIGlkZW50XSkgPT4gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImZpZWxkXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGlkZW50LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICBxdWVyeVF1b3RlZEV4cHJlc3Npb246IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvZXhwci9pKS5kZXNjKFwiZXhwclwiKSwgRVhQUkVTU0lPTi5leHByZXNzaW9uKS5tYXAoKFtfLCBleHByXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiZXhwcmVzc2lvblwiLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogZXhwcixcbiAgICAgICAgfSkpLFxuICAgIHF1ZXJ5UmF3RXhwcmVzc2lvbjogKHEpID0+IEVYUFJFU1NJT04uYmluYXJ5Q29tcGFyZS5tYXAoKGV4cHIpID0+ICh7IHR5cGU6IFwiZXhwcmVzc2lvblwiLCBleHByZXNzaW9uOiBleHByIH0pKSxcblxuICAgIHF1ZXJ5UGFyZW5zOiAocSkgPT4gcS5xdWVyeS50cmltKFAub3B0V2hpdGVzcGFjZSkud3JhcChQLnN0cmluZyhcIihcIiksIFAuc3RyaW5nKFwiKVwiKSksXG4gICAgcXVlcnlOZWdhdGU6IChxKSA9PlxuICAgICAgICBQLnN0cmluZyhcIiFcIilcbiAgICAgICAgICAgIC5za2lwKFAub3B0V2hpdGVzcGFjZSlcbiAgICAgICAgICAgIC50aGVuKHEucXVlcnlBdG9tKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJub3RcIixcbiAgICAgICAgICAgICAgICBlbGVtZW50OiB2YWx1ZSxcbiAgICAgICAgICAgIH0pKSxcbiAgICBxdWVyeUF0b206IChxKSA9PlxuICAgICAgICBQLmFsdDxJbmRleFF1ZXJ5PihcbiAgICAgICAgICAgIHEucXVlcnlQYXJlbnMsXG4gICAgICAgICAgICBxLnF1ZXJ5TmVnYXRlLFxuICAgICAgICAgICAgcS5xdWVyeVNpbXBsZUxpbmtlZCxcbiAgICAgICAgICAgIHEucXVlcnlUYWcsXG4gICAgICAgICAgICBxLnF1ZXJ5VHlwZSxcbiAgICAgICAgICAgIHEucXVlcnlJZCxcbiAgICAgICAgICAgIHEucXVlcnlFeGlzdHMsXG4gICAgICAgICAgICBxLnF1ZXJ5Q2hpbGRPZixcbiAgICAgICAgICAgIHEucXVlcnlQYXJlbnRPZixcbiAgICAgICAgICAgIHEucXVlcnlMaW5rZWQsXG4gICAgICAgICAgICBxLnF1ZXJ5UGF0aCxcbiAgICAgICAgICAgIHEucXVlcnlRdW90ZWRFeHByZXNzaW9uLFxuICAgICAgICAgICAgLy8gRXhwcmVzc2lvbnMgYXJlIGVzc2VudGlhbGx5IHRoZSBcImNhdGNoLWFsbFwiIG9mIG90aGVyd2lzZSB1bnBhcnNlYWJsZSB0ZXJtcywgc28gdGhleSBzaG91bGQgZ28gYWJzb2x1dGUgbGFzdC5cbiAgICAgICAgICAgIHEucXVlcnlSYXdFeHByZXNzaW9uXG4gICAgICAgICksXG4gICAgcXVlcnlBbmRzOiAocSkgPT5cbiAgICAgICAgY3JlYXRlQmluYXJ5UGFyc2VyKHEucXVlcnlBdG9tLCBQUklNSVRJVkVTLmJpbmFyeUFuZE9wLCAobGVmdCwgX29wLCByaWdodCkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiYW5kXCIsXG4gICAgICAgICAgICBlbGVtZW50czogW2xlZnQsIHJpZ2h0XSxcbiAgICAgICAgfSkpLFxuICAgIHF1ZXJ5T3JzOiAocSkgPT5cbiAgICAgICAgY3JlYXRlQmluYXJ5UGFyc2VyKHEucXVlcnlBbmRzLCBQUklNSVRJVkVTLmJpbmFyeU9yT3AsIChsZWZ0LCBfb3AsIHJpZ2h0KSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogXCJvclwiLFxuICAgICAgICAgICAgZWxlbWVudHM6IFtsZWZ0LCByaWdodF0sXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeTogKHEpID0+IHEucXVlcnlPcnMudHJpbShQLm9wdFdoaXRlc3BhY2UpLFxufSk7XG5cbi8qKiBSZXR1cm4gYSBuZXcgcGFyc2VyIHdoaWNoIGV4ZWN1dGVzIHRoZSB1bmRlcmx5aW5nIHBhcnNlciBhbmQgcmV0dXJucyBpdCdzIHJhdyBzdHJpbmcgcmVwcmVzZW50YXRpb24uICovXG5leHBvcnQgZnVuY3Rpb24gY2FwdHVyZVJhdzxUPihiYXNlOiBQLlBhcnNlcjxUPik6IFAuUGFyc2VyPFtULCBzdHJpbmddPiB7XG4gICAgcmV0dXJuIFAuY3VzdG9tKChfc3VjY2VzcywgX2ZhaWx1cmUpID0+IHtcbiAgICAgICAgcmV0dXJuIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChiYXNlIGFzIGFueSkuXyhpbnB1dCwgaSk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5zdGF0dXMpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCByZXN1bHQsIHsgdmFsdWU6IFtyZXN1bHQudmFsdWUsIGlucHV0LnN1YnN0cmluZyhpLCByZXN1bHQuaW5kZXgpXSB9KTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuLyoqIENyZWF0ZSBhIGxlZnQtYXNzb2NpYXRpdmUgYmluYXJ5IHBhcnNlciB3aGljaCBwYXJzZXMgdGhlIGdpdmVuIHN1Yi1lbGVtZW50IGFuZCBzZXBhcmF0b3IuIEhhbmRsZXMgd2hpdGVzcGFjZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCaW5hcnlQYXJzZXI8VCwgVT4oXG4gICAgY2hpbGQ6IFAuUGFyc2VyPFQ+LFxuICAgIHNlcDogUC5QYXJzZXI8VT4sXG4gICAgY29tYmluZTogKGE6IFQsIGI6IFUsIGM6IFQpID0+IFRcbik6IFAuUGFyc2VyPFQ+IHtcbiAgICByZXR1cm4gUC5zZXFNYXAoY2hpbGQsIFAuc2VxKFAub3B0V2hpdGVzcGFjZSwgc2VwLCBQLm9wdFdoaXRlc3BhY2UsIGNoaWxkKS5tYW55KCksIChmaXJzdCwgcmVzdCkgPT4ge1xuICAgICAgICBpZiAocmVzdC5sZW5ndGggPT0gMCkgcmV0dXJuIGZpcnN0O1xuXG4gICAgICAgIGxldCBub2RlID0gY29tYmluZShmaXJzdCwgcmVzdFswXVsxXSwgcmVzdFswXVszXSk7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCByZXN0Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgbm9kZSA9IGNvbWJpbmUobm9kZSwgcmVzdFtpbmRleF1bMV0sIHJlc3RbaW5kZXhdWzNdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBwYXJzZXIgd2hpY2ggcGFyc2VzIFxcPGZ1bmN0aW9uXFw+KFxcPGFyZ3NcXD4pLlxuICogKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGdW5jdGlvbjxUPihmdW5jOiBzdHJpbmcgfCBQLlBhcnNlcjxzdHJpbmc+LCBhcmdzOiBQLlBhcnNlcjxUPik6IFAuUGFyc2VyPFtzdHJpbmcsIFRdPiB7XG4gICAgY29uc3QgcmVhbEZ1bmMgPSB0eXBlb2YgZnVuYyA9PT0gXCJzdHJpbmdcIiA/IFAuc3RyaW5nKGZ1bmMpIDogZnVuYztcbiAgICByZXR1cm4gUC5zZXFNYXAoXG4gICAgICAgIHJlYWxGdW5jLnNraXAoUC5vcHRXaGl0ZXNwYWNlKSxcbiAgICAgICAgYXJncy50cmltKFAub3B0V2hpdGVzcGFjZSkud3JhcChQLnN0cmluZyhcIihcIiksIFAuc3RyaW5nKFwiKVwiKSksXG4gICAgICAgIChmLCBhKSA9PiBbZiwgYV1cbiAgICApO1xufVxuXG4vKiogQ2hhaW5zIGEgbGlzdCBvZiBwYXJzZXJzOyB0aGUgZmlyc3Qgb25lIG11c3Qgc3VjY2VlZCwgYnV0IGZvbGxvd2luZyBvbmVzIG1heSBmYWlsIHdpdGhvdXQgZmFpbGluZyB0aGUgb3ZlcmFsbCBwYXJzZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFpbk9wdDxUPihiYXNlOiBQLlBhcnNlcjxUPiwgLi4uZnVuY3M6ICgocjogVCkgPT4gUC5QYXJzZXI8VD4pW10pOiBQLlBhcnNlcjxUPiB7XG4gICAgcmV0dXJuIFAuY3VzdG9tKChfc3VjY2VzcywgX2ZhaWx1cmUpID0+IHtcbiAgICAgICAgcmV0dXJuIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChiYXNlIGFzIGFueSkuXyhpbnB1dCwgaSk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5zdGF0dXMpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGZ1bmMgb2YgZnVuY3MpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dCA9IChmdW5jKHJlc3VsdC52YWx1ZSBhcyBUKSBhcyBhbnkpLl8oaW5wdXQsIHJlc3VsdC5pbmRleCk7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXh0LnN0YXR1cykgcmV0dXJuIHJlc3VsdDtcblxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5leHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGV4cHJlc3Npb25zXG4gKi9cbmltcG9ydCB7IERhdGVUaW1lLCBEdXJhdGlvbiB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IHJlbmRlck1pbmltYWxEYXRlLCByZW5kZXJNaW5pbWFsRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcblxuLy8gUmUtZXhwb3J0cyBvZiB1c2VmdWwgZ2VuZXJpYyB0eXBlcy5cbmV4cG9ydCB7IExpbmsgfTtcblxuLyoqIFNob3J0aGFuZCBmb3IgYSBtYXBwaW5nIGZyb20ga2V5cyB0byB2YWx1ZXMuICovXG5leHBvcnQgdHlwZSBEYXRhT2JqZWN0ID0gUmVjb3JkPHN0cmluZywgYW55Pjtcbi8qKiBUaGUgbGl0ZXJhbCB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIHF1ZXJ5IGVuZ2luZS4gKi9cbmV4cG9ydCB0eXBlIExpdGVyYWxUeXBlID1cbiAgICB8IFwiYm9vbGVhblwiXG4gICAgfCBcIm51bWJlclwiXG4gICAgfCBcInN0cmluZ1wiXG4gICAgfCBcImRhdGVcIlxuICAgIHwgXCJkdXJhdGlvblwiXG4gICAgfCBcImxpbmtcIlxuICAgIHwgXCJhcnJheVwiXG4gICAgfCBcIm9iamVjdFwiXG4gICAgfCBcImZ1bmN0aW9uXCJcbiAgICB8IFwibnVsbFwiO1xuLyoqIFRoZSByYXcgdmFsdWVzIHRoYXQgYSBsaXRlcmFsIGNhbiB0YWtlIG9uLiAqL1xuZXhwb3J0IHR5cGUgTGl0ZXJhbCA9XG4gICAgfCBib29sZWFuXG4gICAgfCBudW1iZXJcbiAgICB8IHN0cmluZ1xuICAgIHwgRGF0ZVRpbWVcbiAgICB8IER1cmF0aW9uXG4gICAgfCBMaW5rXG4gICAgfCBBcnJheTxMaXRlcmFsPlxuICAgIHwgRGF0YU9iamVjdFxuICAgIHwgRnVuY3Rpb25cbiAgICB8IG51bGw7XG5cbi8qKiBNYXBzIHRoZSBzdHJpbmcgdHlwZSB0byBpdCdzIGV4dGVybmFsLCBBUEktZmFjaW5nIHJlcHJlc2VudGF0aW9uLiAqL1xuZXhwb3J0IHR5cGUgTGl0ZXJhbFJlcHI8VCBleHRlbmRzIExpdGVyYWxUeXBlPiA9IFQgZXh0ZW5kcyBcImJvb2xlYW5cIlxuICAgID8gYm9vbGVhblxuICAgIDogVCBleHRlbmRzIFwibnVtYmVyXCJcbiAgICA/IG51bWJlclxuICAgIDogVCBleHRlbmRzIFwic3RyaW5nXCJcbiAgICA/IHN0cmluZ1xuICAgIDogVCBleHRlbmRzIFwiZHVyYXRpb25cIlxuICAgID8gRHVyYXRpb25cbiAgICA6IFQgZXh0ZW5kcyBcImRhdGVcIlxuICAgID8gRGF0ZVRpbWVcbiAgICA6IFQgZXh0ZW5kcyBcIm51bGxcIlxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIFwibGlua1wiXG4gICAgPyBMaW5rXG4gICAgOiBUIGV4dGVuZHMgXCJhcnJheVwiXG4gICAgPyBBcnJheTxMaXRlcmFsPlxuICAgIDogVCBleHRlbmRzIFwib2JqZWN0XCJcbiAgICA/IERhdGFPYmplY3RcbiAgICA6IFQgZXh0ZW5kcyBcImZ1bmN0aW9uXCJcbiAgICA/IEZ1bmN0aW9uXG4gICAgOiBhbnk7XG5cbi8qKiBBIHdyYXBwZWQgbGl0ZXJhbCB2YWx1ZSB3aGljaCBjYW4gYmUgc3dpdGNoZWQgb24uICovXG5leHBvcnQgdHlwZSBXcmFwcGVkTGl0ZXJhbCA9XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcInN0cmluZ1wiPlxuICAgIHwgTGl0ZXJhbFdyYXBwZXI8XCJudW1iZXJcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwiYm9vbGVhblwiPlxuICAgIHwgTGl0ZXJhbFdyYXBwZXI8XCJkYXRlXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImR1cmF0aW9uXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImxpbmtcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwiYXJyYXlcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwib2JqZWN0XCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImZ1bmN0aW9uXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcIm51bGxcIj47XG5cbi8qKiBDb21iaW5lcyBhIHRleHR1YWwgdHlwZSBhbmQgdmFsdWU7IHByaW1hcmlseSB1c2VmdWwgZm9yIHN3aXRjaGluZyBvbi5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXRlcmFsV3JhcHBlcjxUIGV4dGVuZHMgTGl0ZXJhbFR5cGU+IHtcbiAgICB0eXBlOiBUO1xuICAgIHZhbHVlOiBMaXRlcmFsUmVwcjxUPjtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiAgVXRpbGl0eSBsaWJyYXJ5IGZvciBoYW5kbGluZyBsaXRlcmFsIHZhbHVlcy4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgTGl0ZXJhbHMge1xuICAgIC8qKiBTZXR0aW5ncyB1c2VkIHdoZW4gZm9ybWF0dGluZyBsaXRlcmFsIHZhbHVlcyB0byB0ZXh0LiAqL1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgVG9TdHJpbmdTZXR0aW5ncyB7XG4gICAgICAgIC8qKiBXaGF0IGEgbnVsbCB3aWxsIHJlbmRlciBhcy4gKi9cbiAgICAgICAgbnVsbFJlcHJlc2VudGF0aW9uOiBzdHJpbmc7XG5cbiAgICAgICAgLyoqIERhdGUgZm9ybWF0LiAqL1xuICAgICAgICBkYXRlRm9ybWF0OiBzdHJpbmc7XG5cbiAgICAgICAgLyoqIERhdGUtdGltZSBmb3JtYXQuICovXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqIFNhbmUsIEVuZ2xpc2gtYmFzZWQgZGVmYXVsdHMgZm9yIGRhdGUgZm9ybWF0cy4gKi9cbiAgICBleHBvcnQgY29uc3QgREVGQVVMVF9UT19TVFJJTkc6IFRvU3RyaW5nU2V0dGluZ3MgPSB7XG4gICAgICAgIG51bGxSZXByZXNlbnRhdGlvbjogXCItXCIsXG5cbiAgICAgICAgZGF0ZUZvcm1hdDogXCJNTU1NIGRkLCB5eXl5XCIsXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBcImg6bW0gYSAtIE1NTU0gZGQsIHl5eXlcIixcbiAgICB9O1xuXG4gICAgLyoqIENvbnZlcnQgYW4gYXJiaXRyYXJ5IHZhbHVlIGludG8gYSByZWFzb25hYmxlLCBNYXJrZG93bi1mcmllbmRseSBzdHJpbmcgaWYgcG9zc2libGUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKFxuICAgICAgICBmaWVsZDogYW55LFxuICAgICAgICBzZXR0aW5nOiBUb1N0cmluZ1NldHRpbmdzID0gREVGQVVMVF9UT19TVFJJTkcsXG4gICAgICAgIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IGZhbHNlXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHdyYXBwZWQgPSB3cmFwVmFsdWUoZmllbGQpO1xuICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBzZXR0aW5nLm51bGxSZXByZXNlbnRhdGlvbjtcblxuICAgICAgICBzd2l0Y2ggKHdyYXBwZWQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZy5udWxsUmVwcmVzZW50YXRpb247XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIlwiICsgd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFya2Rvd24oKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIjxmdW5jdGlvbj5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xuICAgICAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHJlc3VsdCArPSBcIltcIjtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gd3JhcHBlZC52YWx1ZS5tYXAoKGYpID0+IHRvU3RyaW5nKGYsIHNldHRpbmcsIHRydWUpKS5qb2luKFwiLCBcIik7XG4gICAgICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkgcmVzdWx0ICs9IFwiXVwiO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgXCJ7IFwiICtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMod3JhcHBlZC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGUpID0+IGVbMF0gKyBcIjogXCIgKyB0b1N0cmluZyhlWzFdLCBzZXR0aW5nLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiLCBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIiB9XCJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVuZGVyTWluaW1hbERhdGUod3JhcHBlZC52YWx1ZSwgc2V0dGluZy5kYXRlRm9ybWF0LCBzZXR0aW5nLmRhdGVUaW1lRm9ybWF0KTtcbiAgICAgICAgICAgIGNhc2UgXCJkdXJhdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiByZW5kZXJNaW5pbWFsRHVyYXRpb24od3JhcHBlZC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogV3JhcCBhIGxpdGVyYWwgdmFsdWUgc28geW91IGNhbiBzd2l0Y2ggb24gaXQgZWFzaWx5LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB3cmFwVmFsdWUodmFsOiBMaXRlcmFsKTogV3JhcHBlZExpdGVyYWwgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaXNOdWxsKHZhbCkpIHJldHVybiB7IHR5cGU6IFwibnVsbFwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzTnVtYmVyKHZhbCkpIHJldHVybiB7IHR5cGU6IFwibnVtYmVyXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNTdHJpbmcodmFsKSkgcmV0dXJuIHsgdHlwZTogXCJzdHJpbmdcIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc0Jvb2xlYW4odmFsKSkgcmV0dXJuIHsgdHlwZTogXCJib29sZWFuXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNEdXJhdGlvbih2YWwpKSByZXR1cm4geyB0eXBlOiBcImR1cmF0aW9uXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNEYXRlKHZhbCkpIHJldHVybiB7IHR5cGU6IFwiZGF0ZVwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzQXJyYXkodmFsKSkgcmV0dXJuIHsgdHlwZTogXCJhcnJheVwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzTGluayh2YWwpKSByZXR1cm4geyB0eXBlOiBcImxpbmtcIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc0Z1bmN0aW9uKHZhbCkpIHJldHVybiB7IHR5cGU6IFwiZnVuY3Rpb25cIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKSByZXR1cm4geyB0eXBlOiBcIm9iamVjdFwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlbHkgbWFwIGNvbXBsZXggb2JqZWN0cyBhdCB0aGUgbGVhdmVzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBtYXBMZWF2ZXModmFsOiBMaXRlcmFsLCBmdW5jOiAodDogTGl0ZXJhbCkgPT4gTGl0ZXJhbCk6IExpdGVyYWwge1xuICAgICAgICBpZiAoaXNPYmplY3QodmFsKSkge1xuICAgICAgICAgICAgbGV0IHJlc3VsdDogRGF0YU9iamVjdCA9IHt9O1xuICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbCkpIHJlc3VsdFtrZXldID0gbWFwTGVhdmVzKHZhbHVlLCBmdW5jKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBMaXRlcmFsW10gPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIHZhbCkgcmVzdWx0LnB1c2gobWFwTGVhdmVzKHZhbHVlLCBmdW5jKSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmModmFsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0d28gYXJiaXRyYXJ5IGxpdGVyYWxzIGFyZSBlcXVhbC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZXF1YWxzKGZpcnN0OiBMaXRlcmFsIHwgdW5kZWZpbmVkLCBzZWNvbmQ6IExpdGVyYWwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmUoZmlyc3QsIHNlY29uZCkgPT0gMDtcbiAgICB9XG5cbiAgICAvKiogQ29tcGFyZSB0d28gYXJiaXRyYXJ5IEphdmFTY3JpcHQgdmFsdWVzLiBQcm9kdWNlcyBhIHRvdGFsIG9yZGVyaW5nIG92ZXIgQU5ZIHBvc3NpYmxlIGRhdGFjb3JlIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb21wYXJlKFxuICAgICAgICB2YWwxOiBMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICAgICB2YWwyOiBMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICAgICBsaW5rTm9ybWFsaXplcj86IChsaW5rOiBzdHJpbmcpID0+IHN0cmluZ1xuICAgICk6IG51bWJlciB7XG4gICAgICAgIC8vIFJlZmVyZW5jZSBlcXVhbGl0eSAtIHNob3J0IGNpcmN1aXQuXG4gICAgICAgIGlmICh2YWwxID09PSB2YWwyKSByZXR1cm4gMDtcblxuICAgICAgICAvLyBIYW5kbGUgdW5kZWZpbmVkL251bGxzIGZpcnN0LlxuICAgICAgICBpZiAodmFsMSA9PT0gdW5kZWZpbmVkKSB2YWwxID0gbnVsbDtcbiAgICAgICAgaWYgKHZhbDIgPT09IHVuZGVmaW5lZCkgdmFsMiA9IG51bGw7XG4gICAgICAgIGlmICh2YWwxID09PSBudWxsICYmIHZhbDIgPT09IG51bGwpIHJldHVybiAwO1xuICAgICAgICBlbHNlIGlmICh2YWwxID09PSBudWxsKSByZXR1cm4gLTE7XG4gICAgICAgIGVsc2UgaWYgKHZhbDIgPT09IG51bGwpIHJldHVybiAxO1xuXG4gICAgICAgIC8vIEEgbm9uLW51bGwgdmFsdWUgbm93IHdoaWNoIHdlIGNhbiB3cmFwICYgY29tcGFyZSBvbi5cbiAgICAgICAgbGV0IHdyYXAxID0gd3JhcFZhbHVlKHZhbDEpO1xuICAgICAgICBsZXQgd3JhcDIgPSB3cmFwVmFsdWUodmFsMik7XG5cbiAgICAgICAgaWYgKHdyYXAxID09PSB1bmRlZmluZWQgJiYgd3JhcDIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gICAgICAgIGVsc2UgaWYgKHdyYXAxID09PSB1bmRlZmluZWQpIHJldHVybiAtMTtcbiAgICAgICAgZWxzZSBpZiAod3JhcDIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDE7XG5cbiAgICAgICAgLy8gU2hvcnQtY2lyY3VpdCBvbiBkaWZmZXJlbnQgdHlwZXMgb3Igb24gcmVmZXJlbmNlIGVxdWFsaXR5LlxuICAgICAgICBpZiAod3JhcDEudHlwZSAhPSB3cmFwMi50eXBlKSByZXR1cm4gd3JhcDEudHlwZS5sb2NhbGVDb21wYXJlKHdyYXAyLnR5cGUpO1xuICAgICAgICBpZiAod3JhcDEudmFsdWUgPT09IHdyYXAyLnZhbHVlKSByZXR1cm4gMDtcblxuICAgICAgICBzd2l0Y2ggKHdyYXAxLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUubG9jYWxlQ29tcGFyZSh3cmFwMi52YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgICAgIGlmICh3cmFwMS52YWx1ZSA8ICh3cmFwMi52YWx1ZSBhcyBudW1iZXIpKSByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAod3JhcDEudmFsdWUgPT0gKHdyYXAyLnZhbHVlIGFzIG51bWJlcikpIHJldHVybiAwO1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICAgICAgaWYgKHdyYXAxLnZhbHVlID09IHdyYXAyLnZhbHVlKSByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiB3cmFwMS52YWx1ZSA/IDEgOiAtMTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgbGV0IGxpbmsxID0gd3JhcDEudmFsdWU7XG4gICAgICAgICAgICAgICAgbGV0IGxpbmsyID0gd3JhcDIudmFsdWUgYXMgTGluaztcbiAgICAgICAgICAgICAgICBsZXQgbm9ybWFsaXplID0gbGlua05vcm1hbGl6ZXIgPz8gKCh4OiBzdHJpbmcpID0+IHgpO1xuXG4gICAgICAgICAgICAgICAgLy8gV2UgY2FuJ3QgY29tcGFyZSBieSBmaWxlIG5hbWUgb3IgZGlzcGxheSwgc2luY2UgdGhhdCB3b3VsZCBicmVhayBsaW5rIGVxdWFsaXR5LiBDb21wYXJlIGJ5IHBhdGguXG4gICAgICAgICAgICAgICAgbGV0IHBhdGhDb21wYXJlID0gbm9ybWFsaXplKGxpbmsxLnBhdGgpLmxvY2FsZUNvbXBhcmUobm9ybWFsaXplKGxpbmsyLnBhdGgpKTtcbiAgICAgICAgICAgICAgICBpZiAocGF0aENvbXBhcmUgIT0gMCkgcmV0dXJuIHBhdGhDb21wYXJlO1xuXG4gICAgICAgICAgICAgICAgLy8gVGhlbiBjb21wYXJlIGJ5IHR5cGUuXG4gICAgICAgICAgICAgICAgbGV0IHR5cGVDb21wYXJlID0gbGluazEudHlwZS5sb2NhbGVDb21wYXJlKGxpbmsyLnR5cGUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlQ29tcGFyZSAhPSAwKSByZXR1cm4gdHlwZUNvbXBhcmU7XG5cbiAgICAgICAgICAgICAgICAvLyBUaGVuIGNvbXBhcmUgYnkgc3VicGF0aCBleGlzdGVuY2UuXG4gICAgICAgICAgICAgICAgaWYgKGxpbmsxLnN1YnBhdGggJiYgIWxpbmsyLnN1YnBhdGgpIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIGlmICghbGluazEuc3VicGF0aCAmJiBsaW5rMi5zdWJwYXRoKSByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKSByZXR1cm4gMDtcblxuICAgICAgICAgICAgICAgIC8vIFNpbmNlIGJvdGggaGF2ZSBhIHN1YnBhdGgsIGNvbXBhcmUgYnkgc3VicGF0aC5cbiAgICAgICAgICAgICAgICByZXR1cm4gKGxpbmsxLnN1YnBhdGggPz8gXCJcIikubG9jYWxlQ29tcGFyZShsaW5rMi5zdWJwYXRoID8/IFwiXCIpO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCAod3JhcDIudmFsdWUgYXMgRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUgYXMgRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCAod3JhcDIudmFsdWUgYXMgRHVyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUgYXMgRHVyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjYXNlIFwiYXJyYXlcIjpcbiAgICAgICAgICAgICAgICBsZXQgZjEgPSB3cmFwMS52YWx1ZTtcbiAgICAgICAgICAgICAgICBsZXQgZjIgPSB3cmFwMi52YWx1ZSBhcyBhbnlbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgTWF0aC5taW4oZjEubGVuZ3RoLCBmMi5sZW5ndGgpOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjb21wID0gY29tcGFyZShmMVtpbmRleF0sIGYyW2luZGV4XSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21wICE9IDApIHJldHVybiBjb21wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZjEubGVuZ3RoIC0gZjIubGVuZ3RoO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGxldCBvMSA9IHdyYXAxLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCBvMiA9IHdyYXAyLnZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgICAgICAgICAgbGV0IGsxID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvMSkpO1xuICAgICAgICAgICAgICAgIGxldCBrMiA9IEFycmF5LmZyb20oT2JqZWN0LmtleXMobzIpKTtcbiAgICAgICAgICAgICAgICBrMS5zb3J0KCk7XG4gICAgICAgICAgICAgICAgazIuc29ydCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGtleUNvbXBhcmUgPSBjb21wYXJlKGsxLCBrMik7XG4gICAgICAgICAgICAgICAgaWYgKGtleUNvbXBhcmUgIT0gMCkgcmV0dXJuIGtleUNvbXBhcmU7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgb2YgazEpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbXAgPSBjb21wYXJlKG8xW2tleV0sIG8yW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKSByZXR1cm4gY29tcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YWNvcmUgdHlwZSBmb3IgYW4gYXJiaXRyYXJ5IHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB0eXBlT2YodmFsOiBhbnkpOiBMaXRlcmFsVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB3cmFwVmFsdWUodmFsKT8udHlwZTtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBcInRydXRoeVwiIChpLmUuLCBpcyBub24tbnVsbCBhbmQgaGFzIGRhdGEgaW4gaXQpLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc1RydXRoeShmaWVsZDogTGl0ZXJhbCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgd3JhcHBlZCA9IHdyYXBWYWx1ZShmaWVsZCk7XG4gICAgICAgIGlmICghd3JhcHBlZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUgIT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhd3JhcHBlZC52YWx1ZS5wYXRoO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b01pbGxpcygpICE9IDA7XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5hcyhcInNlY29uZHNcIikgIT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMod3JhcHBlZC52YWx1ZSkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICBjYXNlIFwibnVsbFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIERlZXAgY29weSBhIGZpZWxkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBkZWVwQ29weTxUIGV4dGVuZHMgTGl0ZXJhbD4oZmllbGQ6IFQpOiBUIHtcbiAgICAgICAgaWYgKGZpZWxkID09PSBudWxsIHx8IGZpZWxkID09PSB1bmRlZmluZWQpIHJldHVybiBmaWVsZDtcblxuICAgICAgICBpZiAoTGl0ZXJhbHMuaXNBcnJheShmaWVsZCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoW10gYXMgTGl0ZXJhbFtdKS5jb25jYXQoZmllbGQubWFwKCh2KSA9PiBkZWVwQ29weSh2KSkpIGFzIFQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNPYmplY3QoZmllbGQpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBMaXRlcmFsPiA9IHt9O1xuICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGZpZWxkKSkgcmVzdWx0W2tleV0gPSBkZWVwQ29weSh2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIFQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIHN0cmluZy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gXCJzdHJpbmdcIjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlci4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsOiBhbnkpOiB2YWwgaXMgbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gXCJudW1iZXJcIjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIGRhdGUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZSh2YWw6IGFueSk6IHZhbCBpcyBEYXRlVGltZSB7XG4gICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEYXRlVGltZTtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIGR1cmF0aW9uLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc0R1cmF0aW9uKHZhbDogYW55KTogdmFsIGlzIER1cmF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIER1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc051bGwodmFsOiBhbnkpOiB2YWwgaXMgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZSBpZiB0aGUgdmFsdWUgaXMgYW4gYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodmFsOiBhbnkpOiB2YWwgaXMgYW55W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWwpO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIHZhbHVlIGlzIGEgYm9vbGVhbi4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNCb29sZWFuKHZhbDogYW55KTogdmFsIGlzIGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gXCJib29sZWFuXCI7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZSBpZiB0aGUgdmFsdWUgaXMgYSBsaW5rLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc0xpbmsodmFsOiBhbnkpOiB2YWwgaXMgTGluayB7XG4gICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBMaW5rO1xuICAgIH1cblxuICAgIC8qKiBDaGVja3MgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIG9iamVjdCAoYW5kIG5vdCBhbnkgb3RoZXIgZGF0YWNvcmUtcmVjb2duaXplZCBvYmplY3QtbGlrZSB0eXBlKS4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNPYmplY3QodmFsOiBhbnkpOiB2YWwgaXMgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB2YWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbCA9PSBcIm9iamVjdFwiICYmXG4gICAgICAgICAgICAhaXNBcnJheSh2YWwpICYmXG4gICAgICAgICAgICAhaXNEdXJhdGlvbih2YWwpICYmXG4gICAgICAgICAgICAhaXNEYXRlKHZhbCkgJiZcbiAgICAgICAgICAgICFpc0xpbmsodmFsKSAmJlxuICAgICAgICAgICAgIWlzTnVsbCh2YWwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGEgamF2YXNjcmlwdCBmdW5jdGlvbi4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWw6IGFueSk6IHZhbCBpcyBGdW5jdGlvbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09IFwiZnVuY3Rpb25cIjtcbiAgICB9XG59XG5cbi8qKiBBIGdyb3VwaW5nIG9uIGEgdHlwZSB3aGljaCBzdXBwb3J0cyByZWN1cnNpdmVseS1uZXN0ZWQgZ3JvdXBzLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgdHlwZSBHcm91cEVsZW1lbnQ8VD4gPSB7IGtleTogTGl0ZXJhbDsgcm93czogR3JvdXBpbmc8VD4gfTtcbi8qKlxuICogQSBncm91cGluZywgd2hpY2ggY2FuIGJlIGVpdGhlcjpcbiAqIC0gYW4gYXJyYXkgb2YgZWxlbWVudHMgb2YgdHlwZSBgVGAsIG9yXG4gKiAtIGFuIGFycmF5IG9mIHtAbGluayBHcm91cGVsZW1lbnR9c1xuICpcbiAqIEBncm91cCBDb21tb24gVHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgR3JvdXBpbmc8VD4gPSBUW10gfCBHcm91cEVsZW1lbnQ8VD5bXTtcbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgbmFtZXNwYWNlIEdyb3VwaW5ncyB7XG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGdyb3VwIGVudHJ5IGlzIGEgc3RhbmRhbG9uZSB2YWx1ZSwgb3IgYSBncm91cGluZyBvZiBzdWItZW50cmllcy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNFbGVtZW50R3JvdXA8VD4oZW50cnk6IGFueSk6IGVudHJ5IGlzIEdyb3VwRWxlbWVudDxUPiB7XG4gICAgICAgIHJldHVybiBMaXRlcmFscy5pc09iamVjdChlbnRyeSkgJiYgT2JqZWN0LmtleXMoZW50cnkpLmxlbmd0aCA9PSAyICYmIFwia2V5XCIgaW4gZW50cnkgJiYgXCJyb3dzXCIgaW4gZW50cnk7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgZ3JvdXBpbmcgYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBpbmc8VD4oZW50cnk6IEdyb3VwaW5nPFQ+KTogZW50cnkgaXMgR3JvdXBFbGVtZW50PFQ+W10ge1xuICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGVudHJ5KSBpZiAoIWlzRWxlbWVudEdyb3VwKGVsZW1lbnQpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgbGVhZiBhbmQgaGFzIG5vIHN1Ymdyb3VwaW5ncy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNMZWFmPFQ+KGVudHJ5OiBHcm91cGluZzxUPik6IGVudHJ5IGlzIFRbXSB7XG4gICAgICAgIGZvciAobGV0IGVsZW1lbnQgb2YgZW50cnkpIGlmIChpc0VsZW1lbnRHcm91cChlbGVtZW50KSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKiBDb3VudCB0aGUgdG90YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgcmVjdXJzaXZlIGdyb3VwaW5nLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb3VudDxUPihlbGVtZW50czogR3JvdXBpbmc8VD4gfCBHcm91cEVsZW1lbnQ8VD4pOiBudW1iZXIge1xuICAgICAgICBpZiAoaXNFbGVtZW50R3JvdXAoZWxlbWVudHMpKSB7XG4gICAgICAgICAgICByZXR1cm4gY291bnQoZWxlbWVudHMucm93cyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNHcm91cGluZyhlbGVtZW50cykpIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgc3ViZ3JvdXAgb2YgZWxlbWVudHMpIHJlc3VsdCArPSBjb3VudChzdWJncm91cC5yb3dzKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudHMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlY3Vyc2l2ZWx5IHNsaWNlIGEgZ3JvdXBpbmcsIHByZXNlcnZpbmcgdGhlIGdyb3VwIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIGVsZW1lbnRzIFtzdGFydC4uLmVuZCkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHNsaWNlPFQ+KGVsZW1lbnRzOiBHcm91cGluZzxUPiwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiBHcm91cGluZzxUPiB7XG4gICAgICAgIGlmIChlbmQgPD0gc3RhcnQpIHJldHVybiBbXTtcbiAgICAgICAgaWYgKGlzTGVhZihlbGVtZW50cykpIHJldHVybiBlbGVtZW50cy5zbGljZShzdGFydCwgZW5kKTtcblxuICAgICAgICAvLyBGaW5kIHRoZSBmaXJzdCBncm91cCB0aGF0IGNvbnRhaW5zIGluZGV4IGBzdGFydGAuXG4gICAgICAgIGxldCBpbmRleCA9IDAsXG4gICAgICAgICAgICBzZWVuID0gMDtcbiAgICAgICAgd2hpbGUgKGluZGV4IDwgZWxlbWVudHMubGVuZ3RoICYmIHNlZW4gKyBjb3VudChlbGVtZW50c1tpbmRleF0pIDw9IHN0YXJ0KSB7XG4gICAgICAgICAgICBzZWVuICs9IGNvdW50KGVsZW1lbnRzW2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3RhcnQgd2FzIGdyZWF0ZXIgdGhhbiB0aGUgZW50aXJlIGxlbmd0aCBvZiB0aGUgZ3JvdXBpbmdzLlxuICAgICAgICBpZiAoaW5kZXggPj0gZWxlbWVudHMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiB7IGtleTogTGl0ZXJhbDsgcm93czogR3JvdXBpbmc8VD4gfVtdID0gW107XG4gICAgICAgIHdoaWxlIChpbmRleCA8IGVsZW1lbnRzLmxlbmd0aCAmJiBzZWVuIDwgZW5kKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IGVsZW1lbnRzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU2l6ZSA9IGNvdW50KGdyb3VwKTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU3RhcnQgPSBNYXRoLm1heChzZWVuLCBzdGFydCk7XG4gICAgICAgICAgICBjb25zdCBncm91cEVuZCA9IE1hdGgubWluKGdyb3VwU2l6ZSArIHNlZW4sIGVuZCk7XG5cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IGdyb3VwLmtleSxcbiAgICAgICAgICAgICAgICByb3dzOiBzbGljZShncm91cC5yb3dzLCBncm91cFN0YXJ0IC0gc2VlbiwgZ3JvdXBFbmQgLSBzZWVuKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzZWVuICs9IGdyb3VwU2l6ZTtcbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgYXBpXG4gKi9cbi8qKlxuICogIEZ1bmN0aW9uYWwgcmV0dXJuIHR5cGUgZm9yIGVycm9yIGhhbmRsaW5nLlxuICogQGhpZGRlblxuICogKi9cbmV4cG9ydCBjbGFzcyBTdWNjZXNzPFQsIEU+IHtcbiAgICBwdWJsaWMgc3VjY2Vzc2Z1bDogdHJ1ZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwPFU+KGY6IChhOiBUKSA9PiBVKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKGYodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmbGF0TWFwPFU+KGY6IChhOiBUKSA9PiBSZXN1bHQ8VSwgRT4pOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gZih0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwRXJyPFU+KGY6IChlOiBFKSA9PiBVKTogUmVzdWx0PFQsIFU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55IGFzIFJlc3VsdDxULCBVPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmltYXA8VDIsIEUyPihzdWNjOiAoYTogVCkgPT4gVDIsIF9mYWlsOiAoYjogRSkgPT4gRTIpOiBSZXN1bHQ8VDIsIEUyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hcChzdWNjKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG9yRWxzZShfdmFsdWU6IFQpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNhc3Q8VT4oKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55O1xuICAgIH1cblxuICAgIHB1YmxpYyBvckVsc2VUaHJvdyhfbWVzc2FnZT86IChlOiBFKSA9PiBzdHJpbmcpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxufVxuXG4vKiogRnVuY3Rpb25hbCByZXR1cm4gdHlwZSBmb3IgZXJyb3IgaGFuZGxpbmcuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWlsdXJlPFQsIEU+IHtcbiAgICBwdWJsaWMgc3VjY2Vzc2Z1bDogZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGVycm9yOiBFKSB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXA8VT4oX2Y6IChhOiBUKSA9PiBVKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55IGFzIEZhaWx1cmU8VSwgRT47XG4gICAgfVxuXG4gICAgcHVibGljIGZsYXRNYXA8VT4oX2Y6IChhOiBUKSA9PiBSZXN1bHQ8VSwgRT4pOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnkgYXMgRmFpbHVyZTxVLCBFPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwRXJyPFU+KGY6IChlOiBFKSA9PiBVKTogUmVzdWx0PFQsIFU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGYodGhpcy5lcnJvcikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBiaW1hcDxUMiwgRTI+KF9zdWNjOiAoYTogVCkgPT4gVDIsIGZhaWw6IChiOiBFKSA9PiBFMik6IFJlc3VsdDxUMiwgRTI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwRXJyKGZhaWwpIGFzIGFueTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3JFbHNlKHZhbHVlOiBUKTogVCB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FzdDxVPigpOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG9yRWxzZVRocm93KG1lc3NhZ2U/OiAoZTogRSkgPT4gc3RyaW5nKTogVCB7XG4gICAgICAgIGlmIChtZXNzYWdlKSB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSh0aGlzLmVycm9yKSk7XG4gICAgICAgIGVsc2UgdGhyb3cgbmV3IEVycm9yKFwiXCIgKyB0aGlzLmVycm9yKTtcbiAgICB9XG59XG5cbi8qKlxuICogQSBtb25hZGljIHJlc3VsdCB0eXBlIHdoaWNoIHN0b3JlcyBlaXRoZXIgXCJzdWNjZXNzXCIgb3IgXCJmYWlsdXJlXCIuIEFuIGFsdGVybmF0aXZlIGhhbmRsaW5nIGV4Y2VwdGlvbmFsIGJlaGF2aW9yXG4gKiBieSB1c2luZyB0aGUgcmV0dXJuIHZhbHVlIGluc3RlYWQgb2YgYW4gZXhjZXB0aW9uLlxuICovXG5leHBvcnQgdHlwZSBSZXN1bHQ8VCwgRT4gPSBTdWNjZXNzPFQsIEU+IHwgRmFpbHVyZTxULCBFPjtcblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBNb25hZGljICdSZXN1bHQnIHR5cGUgd2hpY2ggZW5jYXBzdWxhdGVzIHdoZXRoZXIgYSBwcm9jZWR1cmUgc3VjY2VlZGVkIG9yIGZhaWxlZCwgYXMgd2VsbCBhcyBpdCdzIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBSZXN1bHQge1xuICAgIC8qKiBDb25zdHJ1Y3QgYSBuZXcgc3VjY2VzcyByZXN1bHQgd3JhcHBpbmcgdGhlIGdpdmVuIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzdWNjZXNzPFQsIEU+KHZhbHVlOiBUKTogUmVzdWx0PFQsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQ29uc3RydWN0IGEgbmV3IGZhaWx1cmUgdmFsdWUgd3JhcHBpbmcgdGhlIGdpdmVuIGVycm9yLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBmYWlsdXJlPFQsIEU+KGVycm9yOiBFKTogUmVzdWx0PFQsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGVycm9yKTtcbiAgICB9XG5cbiAgICAvKiogSm9pbiB0d28gcmVzdWx0cyB3aXRoIGEgYmktZnVuY3Rpb24gYW5kIHJldHVybiBhIG5ldyByZXN1bHQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZsYXRNYXAyPFQxLCBUMiwgTywgRT4oXG4gICAgICAgIGZpcnN0OiBSZXN1bHQ8VDEsIEU+LFxuICAgICAgICBzZWNvbmQ6IFJlc3VsdDxUMiwgRT4sXG4gICAgICAgIGY6IChhOiBUMSwgYjogVDIpID0+IFJlc3VsdDxPLCBFPlxuICAgICk6IFJlc3VsdDxPLCBFPiB7XG4gICAgICAgIGlmIChmaXJzdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICBpZiAoc2Vjb25kLnN1Y2Nlc3NmdWwpIHJldHVybiBmKGZpcnN0LnZhbHVlLCBzZWNvbmQudmFsdWUpO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gZmFpbHVyZShzZWNvbmQuZXJyb3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmUoZmlyc3QuZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEpvaW4gdHdvIHJlc3VsdHMgd2l0aCBhIGJpLWZ1bmN0aW9uIGFuZCByZXR1cm4gYSBuZXcgcmVzdWx0LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBtYXAyPFQxLCBUMiwgTywgRT4oXG4gICAgICAgIGZpcnN0OiBSZXN1bHQ8VDEsIEU+LFxuICAgICAgICBzZWNvbmQ6IFJlc3VsdDxUMiwgRT4sXG4gICAgICAgIGY6IChhOiBUMSwgYjogVDIpID0+IE9cbiAgICApOiBSZXN1bHQ8TywgRT4ge1xuICAgICAgICByZXR1cm4gZmxhdE1hcDIoZmlyc3QsIHNlY29uZCwgKGEsIGIpID0+IHN1Y2Nlc3MoZihhLCBiKSkpO1xuICAgIH1cblxuICAgIC8qKiBNYXAgYSBmYWlsYWJsZSBmdW5jdGlvbiBvdmVyIGFsbCBlbGVtZW50cyBpbiB0aGUgbGlzdCwgcmV0dXJuaW5nIGVhcmx5IG9uIGZhaWx1cmUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG1hcEFsbDxULCBPLCBFPihpbnB1dDogSXRlcmFibGU8VD4sIGZ1bmM6IChpbnB1dDogVCkgPT4gUmVzdWx0PE8sIEU+KTogUmVzdWx0PE9bXSwgRT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IE9bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgaW5wdXQpIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IGZ1bmMoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoIW91dHB1dC5zdWNjZXNzZnVsKSByZXR1cm4gb3V0cHV0LmNhc3QoKTtcblxuICAgICAgICAgICAgcmVzdWx0LnB1c2gob3V0cHV0LnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKiBDYXRjaCBhbnkgZXJyb3JzIGluIGEgY2FsbCwgcmV0dXJuaW5nIGEgcmVzdWx0IGluc3RlYWQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHRyeWluZzxUPihjYWxsOiAoKSA9PiBUKTogUmVzdWx0PFQsIEVycm9yPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoY2FsbCgpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ29udmVydCBhIHByb21pc2Ugd2hpY2ggbWF5IHRocm93IGludG8gYSBwcm9taXNlIHdoaWNoIHJldHVybnMgYSByZXN1bHQgb2YgdGhlIHN1Y2Nlc3NmdWwgdmFsdWUgb3IgYW4gZXJyb3IuICovXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jPFQ+KHByb21pc2U6IFByb21pc2U8VD4pOiBQcm9taXNlPFJlc3VsdDxULCBFcnJvcj4+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2Vzcyhhd2FpdCBwcm9taXNlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcblxuLyoqIFN0YXRpYyBzZXQgZWxlbWVudCB3aGljaCBtYXRjaGVzIGV2ZXJ5dGhpbmcuICovXG5leHBvcnQgdHlwZSBFdmVyeXRoaW5nID0geyB0eXBlOiBcImV2ZXJ5dGhpbmdcIiB9O1xuLyoqIFN0YXRpYyBzZXQgZWxlbWVudCB3aGljaCBtYXRjaGVzIG5vdGhpbmcuICovXG5leHBvcnQgdHlwZSBOb3RoaW5nID0geyB0eXBlOiBcIm5vdGhpbmdcIiB9O1xuLyoqIFNldCB3aGljaCBtYXRjaGVzIHRoZSBuZWdhdGlvbiBvZiBhIHNldC4gKi9cbmV4cG9ydCB0eXBlIE5lZ2F0ZWQ8VD4gPSB7IHR5cGU6IFwibmVnYXRlZFwiOyB2YWx1ZTogU2V0PFQ+IH07XG4vKiogU2V0IHdoaWNoIG1hdGNoZXMgYW4gYWN0dWFsIHNldCBvZiB2YWx1ZXMuICAqL1xuZXhwb3J0IHR5cGUgQXRvbTxUPiA9IHsgdHlwZTogXCJhdG9tXCI7IHZhbHVlOiBTZXQ8VD4gfTtcblxuLyoqIEFic3RyYWN0IGZpbHRlciB0eXBlIHdoaWNoIHJlcHJlc2VudHMgdGhlIHJlc3VsdHMgb2YgYXBwbHlpbmcgZmlsdGVyIG9wZXJhdGlvbnMgdG8gdGhlIGRhdGEgc3RvcmUuICovXG5leHBvcnQgdHlwZSBGaWx0ZXI8VD4gPSBFdmVyeXRoaW5nIHwgTm90aGluZyB8IEF0b208VD4gfCBOZWdhdGVkPFQ+O1xuXG4vKiogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGVmZmljaWVudGx5IG9wZXJhdGluZyBvbiBmaWx0ZXJzLiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBGaWx0ZXJzIHtcbiAgICAvKiogU3RhdGljIGZpbHRlciB3aGljaCBtYXRjaGVzIGV2ZXJ5dGhpbmcuICovXG4gICAgZXhwb3J0IGNvbnN0IEVWRVJZVEhJTkc6IEV2ZXJ5dGhpbmcgPSB7IHR5cGU6IFwiZXZlcnl0aGluZ1wiIH07XG4gICAgLyoqIFN0YXRpYyBmaWx0ZXIgd2hpY2ggbWF0Y2hlcyBub3RoaW5nLiAqL1xuICAgIGV4cG9ydCBjb25zdCBOT1RISU5HOiBOb3RoaW5nID0geyB0eXBlOiBcIm5vdGhpbmdcIiB9O1xuICAgIC8qKiBFbXB0eSBzZXQgY29uc3RhbnQuICovXG4gICAgZXhwb3J0IGNvbnN0IEVNUFRZX1NFVDogU2V0PGFueT4gPSBuZXcgU2V0KCk7XG5cbiAgICAvKiogQ29uc3RydWN0IGEgbmV3IGF0b20gZmlsdGVyLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBhdG9tPFQ+KHNldDogU2V0PFQ+KTogRmlsdGVyPFQ+IHtcbiAgICAgICAgaWYgKHNldC5zaXplID09IDApIHJldHVybiBOT1RISU5HO1xuXG4gICAgICAgIHJldHVybiB7IHR5cGU6IFwiYXRvbVwiLCB2YWx1ZTogc2V0IH07XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIGZpbHRlciB0aGF0IG1hdGNoZXMgZXZlcnl0aGluZyBvciBub3RoaW5nLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb25zdGFudDxUPih2YWx1ZTogYm9vbGVhbik6IEZpbHRlcjxUPiB7XG4gICAgICAgIGlmICh2YWx1ZSkgcmV0dXJuIEVWRVJZVEhJTkc7XG4gICAgICAgIGVsc2UgcmV0dXJuIE5PVEhJTkc7XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIG5ldyBhdG9tIGZpbHRlciB3aGljaCBpcyBOT1RISU5HIGlmIHNldCBpcyB1bmRlZmluZWQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG51bGxhYmxlQXRvbTxUPihzZXQ6IFNldDxUPiB8IHVuZGVmaW5lZCk6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBzZXQgIT09IHVuZGVmaW5lZCA/IGF0b20oc2V0KSA6IE5PVEhJTkc7XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIG5lZ2F0ZWQgYXRvbSBmaWx0ZXIuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG5lZ2F0ZWQ8VD4oc2V0OiBTZXQ8VD4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICBpZiAoc2V0LnNpemUgPT0gMCkgcmV0dXJuIEVWRVJZVEhJTkc7XG5cbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJuZWdhdGVkXCIsIHZhbHVlOiBzZXQgfTtcbiAgICB9XG5cbiAgICAvKiogUHJvZHVjZXMgdGhlIG5lZ2F0aW9uIG9mIGEgZmlsdGVyLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBuZWdhdGU8VD4oZmlsdGVyOiBGaWx0ZXI8VD4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXZlcnl0aGluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBOT1RISU5HO1xuICAgICAgICAgICAgY2FzZSBcIm5vdGhpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gRVZFUllUSElORztcbiAgICAgICAgICAgIGNhc2UgXCJhdG9tXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5lZ2F0ZWQoZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0b20oZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIGZpbHRlciBpcyBkZWZpbml0aXZlbHkgY3VycmVudGx5IGVtcHR5LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBlbXB0eTxUPihmaWx0ZXI6IEZpbHRlcjxUPik6IGJvb2xlYW4ge1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXZlcnl0aGluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY2FzZSBcImF0b21cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyLnZhbHVlLnNpemUgPT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJub3RoaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmVzb2x2ZSBhIHRvcC1sZXZlbCBmaWx0ZXIgd2l0aCB0aGUgc2V0IG9mIGFsbCBhdmFpbGFibGUgb2JqZWN0cy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gcmVzb2x2ZTxUPihmaWx0ZXI6IEZpbHRlcjxUPiwgZXZlcnl0aGluZzogU2V0PFQ+KTogU2V0PFQ+IHtcbiAgICAgICAgc3dpdGNoIChmaWx0ZXIudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImV2ZXJ5dGhpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZXZlcnl0aGluZztcbiAgICAgICAgICAgIGNhc2UgXCJub3RoaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZX1NFVDtcbiAgICAgICAgICAgIGNhc2UgXCJhdG9tXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNldEludGVyc2VjdE5lZ2F0aW9uKGV2ZXJ5dGhpbmcsIGZpbHRlci52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSW50ZXJzZWN0IGFuIGl0ZXJhYmxlIG9mIGZpbHRlcnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGludGVyc2VjdDxUPihlbGVtZW50czogSXRlcmFibGU8RmlsdGVyPFQ+Pik6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBsYXp5SW50ZXJzZWN0KGVsZW1lbnRzLCAoeCkgPT4geCk7XG4gICAgfVxuXG4gICAgLyoqIEludGVyc2VjdCBmaWx0ZXJzIGxhemlseSwgc2hvcnQtY2lyY3VpdGluZyBpZiB0aGUgaW50ZXJzZWN0aW9uIHdvdWxkIHByb2R1Y2UgTk9USElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eUludGVyc2VjdDxJLCBUPihcbiAgICAgICAgZWxlbWVudHM6IEl0ZXJhYmxlPEk+LFxuICAgICAgICBwcm9kdWNlOiAoaW5wdXQ6IEkpID0+IEZpbHRlcjxUPiB8IHVuZGVmaW5lZFxuICAgICk6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb24oZWxlbWVudHMsICh4KSA9PiBSZXN1bHQuc3VjY2Vzcyhwcm9kdWNlKHgpKSkub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogSW50ZXJzZWN0IGZpbHRlcnMgbGF6aWx5LCBzaG9ydC1jaXJjdWl0aW5nIGlmIHRoZSBpbnRlcnNlY3Rpb24gd291bGQgcHJvZHVjZSBOT1RISU5HLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb248SSwgVCwgRT4oXG4gICAgICAgIGVsZW1lbnRzOiBJdGVyYWJsZTxJPixcbiAgICAgICAgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBSZXN1bHQ8RmlsdGVyPFQ+IHwgdW5kZWZpbmVkLCBFPlxuICAgICk6IFJlc3VsdDxGaWx0ZXI8VD4sIEU+IHtcbiAgICAgICAgY29uc3QgYXRvbXM6IFNldDxUPltdID0gW107XG4gICAgICAgIGNvbnN0IG5lZ2F0aW9uczogU2V0PFQ+W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSBwcm9kdWNlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBtYXliZUZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIEVtcHR5IGZpbHRlcnMgd2lsbCBwcm9kdWNlIGFuIGVtcHR5IGludGVyc2VjdGlvbi5cbiAgICAgICAgICAgIGlmIChlbXB0eShmaWx0ZXIpKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoTk9USElORyk7XG4gICAgICAgICAgICAvLyBFVkVSWVRISU5HIGZpbHRlcnMgYXJlIHJlZHVuZGFudCBpbiBBTkRzLCBza2lwIHRoZW0uXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSBjb250aW51ZTtcblxuICAgICAgICAgICAgLy8gV2lsbCBvbmx5IGJlIGxlZnQgd2l0aCBhdG9tcyBvciBuZWdhdGlvbnMuXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT0gXCJhdG9tXCIpIGF0b21zLnB1c2goZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGZpbHRlci50eXBlID09IFwibmVnYXRlZFwiKSBuZWdhdGlvbnMucHVzaChmaWx0ZXIudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2Ugc3RhcnQgd2l0aCBzb21ldGhpbmcgb2YgdGhlIGZvcm0gYSAmJiBiICYmICFjICYmICFkLlxuICAgICAgICAvLyBJZiBubyB0ZXJtcywgdGhlbiBldmVyeXRoaW5nIHdhcyBFVkVSWVRISU5HIHNvIHJldHVybiB0aGF0LlxuICAgICAgICAvLyBJZiBvbmx5IGF0b21zLCBqdXN0IGludGVyc2VjdCB0aGVtIChhICYmIGIpLlxuICAgICAgICAvLyBJZiBvbmx5IG5lZ2F0aW9ucywgdGhlbiByZXdyaXRlICFjICYmICFkID0+ICEoYyB8fCBkKSBhbmQgcmV0dXJuIG5lZ2F0ZWQoYyB8fCBkKS5cbiAgICAgICAgLy8gSWYgYm90aCwgY29tcHV0ZSB4ID0gKGEgJiYgYikgYW5kIHkgPSAoYyB8fCBkKSwgYW5kIHRoZW4gY29tcHV0ZSB4ICYmICF5LlxuXG4gICAgICAgIGlmIChhdG9tcy5sZW5ndGggPT0gMCAmJiBuZWdhdGlvbnMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhFVkVSWVRISU5HKTtcbiAgICAgICAgfSBlbHNlIGlmIChhdG9tcy5sZW5ndGggPiAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKGF0b20oc2V0SW50ZXJzZWN0KGF0b21zKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobmVnYXRlZChzZXRVbmlvbihuZWdhdGlvbnMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKHNldEludGVyc2VjdE5lZ2F0aW9uKHNldEludGVyc2VjdChhdG9tcyksIHNldFVuaW9uKG5lZ2F0aW9ucykpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycywgcHJvZHVjaW5nIGEgc2luZ2xlIHJlc3VsdCBmaWx0ZXIuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHVuaW9uPFQ+KGZpbHRlcnM6IEl0ZXJhYmxlPEZpbHRlcjxUPj4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICByZXR1cm4gbGF6eVVuaW9uKGZpbHRlcnMsICh4KSA9PiB4KTtcbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycyBsYXppbHksIHNob3J0LWNpcmN1aXRpbmcgaWYgdGhlIHVuaW9uIHdvdWxkIHByb2R1Y2UgRVZFUllUSElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eVVuaW9uPEksIFQ+KGVsZW1lbnRzOiBJdGVyYWJsZTxJPiwgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBGaWx0ZXI8VD4gfCB1bmRlZmluZWQpOiBGaWx0ZXI8VD4ge1xuICAgICAgICByZXR1cm4gbGF6eUZhaWxhYmxlVW5pb24oZWxlbWVudHMsICh4KSA9PiBSZXN1bHQuc3VjY2Vzcyhwcm9kdWNlKHgpKSkub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycyBsYXppbHksIHNob3J0LWNpcmN1aXRpbmcgaWYgdGhlIHVuaW9uIHdvdWxkIHByb2R1Y2UgRVZFUllUSElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eUZhaWxhYmxlVW5pb248SSwgVCwgRT4oXG4gICAgICAgIGVsZW1lbnRzOiBJdGVyYWJsZTxJPixcbiAgICAgICAgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBSZXN1bHQ8RmlsdGVyPFQ+IHwgdW5kZWZpbmVkLCBFPlxuICAgICk6IFJlc3VsdDxGaWx0ZXI8VD4sIEU+IHtcbiAgICAgICAgY29uc3QgYXRvbXM6IFNldDxUPltdID0gW107XG4gICAgICAgIGNvbnN0IG5lZ2F0aW9uczogU2V0PFQ+W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSBwcm9kdWNlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBtYXliZUZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIEVWRVJZVEhJTkcgZmlsdGVycyB3aWxsIHByb2R1Y2UgZXZlcnl0aGluZyBhbHdheXMuXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRVZFUllUSElORyk7XG4gICAgICAgICAgICAvLyBFbXB0eSBmaWx0ZXJzIGFyZSByZWR1bmRhbnQuXG4gICAgICAgICAgICBpZiAoZW1wdHkoZmlsdGVyKSkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIFdpbGwgb25seSBiZSBsZWZ0IHdpdGggYXRvbXMgb3IgbmVnYXRpb25zLlxuICAgICAgICAgICAgaWYgKGZpbHRlci50eXBlID09IFwiYXRvbVwiKSBhdG9tcy5wdXNoKGZpbHRlci52YWx1ZSk7XG4gICAgICAgICAgICBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PSBcIm5lZ2F0ZWRcIikgbmVnYXRpb25zLnB1c2goZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9yIGlzIGEgYml0IGhhcmRlciB0aGFuIEFORCBzaW5jZSB5b3UgY2FuIGVuZCB1cCB3aXRoIHNjZW5hcmlvcyBsaWtlIGEgfHwgIWIsIHdoaWNoIGFyZVxuICAgICAgICAvLyBub3QgY29tcHV0YWJsZSBkaXJlY3RseS4gSG93ZXZlciwgd2UgY2FuIGRvIGJvb2xlYW4gbG9naWMgdG8gYWx3YXlzIHByb2R1Y2UgYSBzaW5nbGVcbiAgICAgICAgLy8gc2V0LlxuICAgICAgICAvLyBJZiBub3RoaW5nID0+IG5vdGhpbmcsIG5vIG5vbi1lbXB0eSBmaWx0ZXJzLlxuICAgICAgICAvLyBJZiBhdG9tcyBidXQgbm8gbmVnYXRpb25zIChhIHx8IGIgfHwgYykgPT4gY29tcHV0ZSB1bmlvbi5cbiAgICAgICAgLy8gSWYgbmVnYXRpb25zIGJ1dCBubyBhdG9tcyAoIWEgfHwgIWIgfHwgIWMpID0+IHJld3JpdGUgYXMgIShhICYmIGIgJiYgYykuXG4gICAgICAgIC8vIElmIGJvdGg6IChhIHx8IGIgfHwgIWMgfHwgIWQpID0+IGNvbWJpbmUgZWFjaCBwYXJ0IGludG8gKGEgfHwgYikgfHwgKCFjIHx8ICFkKSA9PiAoYSB8fCBiKSB8fCAhKGMgJiYgZCkgPT4gZSB8fCAhZiA9PiAhKCFlICYmIGYpIHdoaWNoXG4gICAgICAgIC8vIGNhbiBiZSBjb21wdXRlZCB1c2luZyBpbnRlcnNlY3Rpb24gbG9naWMuXG5cbiAgICAgICAgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKE5PVEhJTkcpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA+IDAgJiYgbmVnYXRpb25zLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKHNldFVuaW9uKGF0b21zKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5uZWdhdGVkKHNldEludGVyc2VjdChuZWdhdGlvbnMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobmVnYXRlZChzZXRJbnRlcnNlY3ROZWdhdGlvbihzZXRJbnRlcnNlY3QobmVnYXRpb25zKSwgc2V0VW5pb24oYXRvbXMpKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEVmZmljaWVudGx5IGNvbXB1dGUgdGhlIGludGVyc2VjdGlvbiBvZiBzZXRzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnNlY3Q8VD4oc2V0czogU2V0PFQ+W10pOiBTZXQ8VD4ge1xuICAgICAgICBpZiAoc2V0cy5sZW5ndGggPT0gMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgZWxzZSBpZiAoc2V0cy5sZW5ndGggPT0gMSkgcmV0dXJuIHNldHNbMF07XG5cbiAgICAgICAgLy8gU29ydCBieSBzaXplIGFuZCBjb21iaW5lIHNtYWxsZXN0IGFuZCBsYXJnZXN0IHNldCByZXBlYXRlZGx5LlxuICAgICAgICBsZXQgc29ydGVkID0gKFtdIGFzIFNldDxUPltdKS5jb25jYXQoc2V0cykuc29ydCgoYSwgYikgPT4gYS5zaXplIC0gYi5zaXplKTtcblxuICAgICAgICB3aGlsZSAoc29ydGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQ8VD4oKTtcbiAgICAgICAgICAgIGNvbnN0IGxhcmdlc3QgPSBzb3J0ZWQucG9wKCkhO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIHNvcnRlZFswXSkge1xuICAgICAgICAgICAgICAgIGlmIChsYXJnZXN0LmhhcyhlbGVtZW50KSkgcmVzdWx0LmFkZChlbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc29ydGVkWzBdID0gcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNvcnRlZFswXTtcbiAgICB9XG5cbiAgICAvKiogRWZmaWNpZW50bHkgY29tcHV0ZSB0aGUgdW5pb24gb2Ygc2V0cy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gc2V0VW5pb248VD4oc2V0czogU2V0PFQ+W10pOiBTZXQ8VD4ge1xuICAgICAgICBpZiAoc2V0cy5sZW5ndGggPT0gMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgZWxzZSBpZiAoc2V0cy5sZW5ndGggPT0gMSkgcmV0dXJuIHNldHNbMF07XG5cbiAgICAgICAgLy8gSSdtIG5vdCBzdXJlIGlmIHRoZXJlIGlzIGFueSB1c2VmdWwgb3B0aW1pemF0aW9uIGZvciBzZXQgdW5pb25zLCBzbyBqdXN0IGFkZCB0aGVtIGFsbCBJIGd1ZXNzLlxuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgICAgIGZvciAoY29uc3Qgc2V0IG9mIHNldHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBzZXQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuYWRkKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKiogRWZmaWNpZW50bHkgY29tcHV0ZSBhdG9tICYmICFuZWdhdGVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnNlY3ROZWdhdGlvbjxUPihhdG9tOiBTZXQ8VD4sIG5lZ2F0ZWQ6IFNldDxUPik6IFNldDxUPiB7XG4gICAgICAgIGlmIChhdG9tLnNpemUgPiBuZWdhdGVkLnNpemUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFdvdWxkIGJlIG5pY2UgdG8gYXZvaWQgdGhlIGNvcHksIHNpbmNlIEknbSBub3Qgc3VyZSBpdCdzIGFueSBmYXN0ZXIgd2l0aCB0aGUgY29weS5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQoYXRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIG5lZ2F0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuZGVsZXRlKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IC8qIGF0b20uc2l6ZSA8IG5lZ2F0aW9uLnNpemUgKi8gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGF0b20pIHtcbiAgICAgICAgICAgICAgICBpZiAobmVnYXRlZC5oYXMoZWxlbWVudCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5hZGQoZWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSBcIi4vZmlsdGVyc1wiO1xuXG4vKiogQ29tcGFyaXNvbiBvcGVyYXRvcnMgd2hpY2ggeWllbGQgdHJ1ZS9mYWxzZS4gKi9cbmV4cG9ydCB0eXBlIENvbXBhcmVPcCA9IFwiPlwiIHwgXCI+PVwiIHwgXCI8PVwiIHwgXCI8XCIgfCBcIj1cIiB8IFwiIT1cIjtcbi8qKiBBcml0aG1ldGljIG9wZXJhdG9ycyB3aGljaCB5aWVsZCBudW1iZXJzIGFuZCBvdGhlciB2YWx1ZXMuICovXG5leHBvcnQgdHlwZSBBcml0aG1ldGljT3AgPSBcIitcIiB8IFwiLVwiIHwgXCIqXCIgfCBcIi9cIiB8IFwiJVwiIHwgXCImXCIgfCBcInxcIjtcbi8qKiBJbmRleCBhIHZhbHVlIGludG8gYW5vdGhlciB2YWx1ZS4gKi9cbmV4cG9ydCB0eXBlIExvZ2ljYWxPcCA9IFwiaW5kZXhcIjtcbi8qKiBBbGwgdmFsaWQgYmluYXJ5IG9wZXJhdG9ycy4gKi9cbmV4cG9ydCB0eXBlIEJpbmFyeU9wID0gQ29tcGFyZU9wIHwgQXJpdGhtZXRpY09wIHwgTG9naWNhbE9wO1xuXG5leHBvcnQgdHlwZSBFeHByZXNzaW9uID1cbiAgICB8IExpdGVyYWxFeHByZXNzaW9uXG4gICAgfCBWYXJpYWJsZUV4cHJlc3Npb25cbiAgICB8IExpc3RFeHByZXNzaW9uXG4gICAgfCBPYmplY3RFeHByZXNzaW9uXG4gICAgfCBCaW5hcnlPcEV4cHJlc3Npb25cbiAgICB8IEZ1bmN0aW9uRXhwcmVzc2lvblxuICAgIHwgTGFtYmRhRXhwcmVzc2lvblxuICAgIHwgTmVnYXRlZEV4cHJlc3Npb247XG5cbi8qKiBMaXRlcmFsIHJlcHJlc2VudGF0aW9uIG9mIHNvbWUgZmllbGQgdHlwZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGl0ZXJhbEV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwibGl0ZXJhbFwiO1xuICAgIHZhbHVlOiBMaXRlcmFsO1xufVxuXG4vKiogQSB2YXJpYWJsZSBmaWVsZCBmb3IgYSB2YXJpYWJsZSB3aXRoIGEgZ2l2ZW4gbmFtZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGVFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcInZhcmlhYmxlXCI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG4vKiogQSBsaXN0IGxpdGVyYWwsIHdoaWNoIGlzIGFuIG9yZGVyZWQgY29sbGVjdGlvbiBvZiBmaWVsZHMuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcImxpc3RcIjtcbiAgICB2YWx1ZXM6IEV4cHJlc3Npb25bXTtcbn1cblxuLyoqIEFuIG9iamVjdCBsaXRlcmFsLCB3aGljaCBpcyBhIG1hcHBpbmcgb2YgbmFtZSB0byBmaWVsZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0RXhwcmVzc2lvbiB7XG4gICAgdHlwZTogXCJvYmplY3RcIjtcbiAgICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIEV4cHJlc3Npb24+O1xufVxuXG4vKiogQSBiaW5hcnkgb3BlcmF0b3IgZXhwcmVzc2lvbiB3aGljaCBjb21iaW5lcyB0d28gc3Vibm9kZXMgc29tZWhvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluYXJ5T3BFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcImJpbmFyeW9wXCI7XG4gICAgbGVmdDogRXhwcmVzc2lvbjtcbiAgICByaWdodDogRXhwcmVzc2lvbjtcbiAgICBvcDogQmluYXJ5T3A7XG59XG5cbi8qKiBBIGZ1bmN0aW9uIGV4cHJlc3Npb24gd2hpY2ggY2FsbHMgYSBmdW5jdGlvbiBvbiAwIG9yIG1vcmUgYXJndW1lbnRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIjtcbiAgICAvKiogRWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBiZWluZyBjYWxsZWQgb3IgYSBGdW5jdGlvbiBvYmplY3QuICovXG4gICAgZnVuYzogRXhwcmVzc2lvbjtcbiAgICAvKiogVGhlIGxpc3Qgb2YgYXJndW1lbnRzIGJlaW5nIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24uICovXG4gICAgYXJndW1lbnRzOiBFeHByZXNzaW9uW107XG59XG5cbi8qKiBBbiBpbmxpbmUgZnVuY3Rpb24gYWNjZXB0aW5nIG9uZSBvciBtb3JlIGFyZ3VtZW50cyBhbmQgcHJvZHVjaW5nIGEgdmFsdWUuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwibGFtYmRhXCI7XG4gICAgLyoqIEFuIG9yZGVyZWQgbGlzdCBvZiBuYW1lZCBhcmd1bWVudHMuICovXG4gICAgYXJndW1lbnRzOiBzdHJpbmdbXTtcbiAgICAvKiogVGhlIGZpZWxkIHdoaWNoIHdpbGwgYmUgZXZhbHVhdGVkIHVzaW5nIHRoZSBhcmd1bWVudHMgaW4gY29udGV4dC4gKi9cbiAgICB2YWx1ZTogRXhwcmVzc2lvbjtcbn1cblxuLyoqIEFuIGV4cHJlc3Npb24gd2hpY2ggbmVnYXRlcyB0aGUgdmFsdWUgb2YgdGhlIG9yaWdpbmFsIGZpZWxkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZWdhdGVkRXhwcmVzc2lvbiB7XG4gICAgdHlwZTogXCJuZWdhdGVkXCI7XG5cbiAgICAvKiogVGhlIGNoaWxkIGZpZWxkIHRvIG5lZ2F0ZS4gKi9cbiAgICBjaGlsZDogRXhwcmVzc2lvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFeHByZXNzaW9ucyB7XG4gICAgLyoqIFRoZSBpbXBsaWNpdCBmaWVsZCByZWZlcmVuY2luZyB0aGUgY3VycmVudCBmaWVsZC4gKi9cbiAgICBleHBvcnQgY29uc3QgUk9XOiBzdHJpbmcgPSBcIiRyb3dcIjtcblxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZShuYW1lOiBzdHJpbmcpOiBWYXJpYWJsZUV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcInZhcmlhYmxlXCIsIG5hbWUgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGl0ZXJhbCh2YWx1ZTogTGl0ZXJhbCk6IExpdGVyYWxFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsaXRlcmFsXCIsIHZhbHVlIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGJpbmFyeU9wKGxlZnQ6IEV4cHJlc3Npb24sIG9wOiBCaW5hcnlPcCwgcmlnaHQ6IEV4cHJlc3Npb24pOiBFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJiaW5hcnlvcFwiLCBsZWZ0LCBvcCwgcmlnaHQgfSBhcyBCaW5hcnlPcEV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGluZGV4KG9iajogRXhwcmVzc2lvbiwgaW5kZXg6IEV4cHJlc3Npb24pOiBFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJiaW5hcnlvcFwiLCBsZWZ0OiBvYmosIHJpZ2h0OiBpbmRleCwgb3A6IFwiaW5kZXhcIiB9O1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0cyBhIHN0cmluZyBpbiBkb3Qtbm90YXRpb24tZm9ybWF0IGludG8gYSB2YXJpYWJsZSB3aGljaCBpbmRleGVzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbmRleFZhcmlhYmxlKG5hbWU6IHN0cmluZyk6IEV4cHJlc3Npb24ge1xuICAgICAgICBsZXQgcGFydHMgPSBuYW1lLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgbGV0IHJlc3VsdDogRXhwcmVzc2lvbiA9IEV4cHJlc3Npb25zLnZhcmlhYmxlKHBhcnRzWzBdKTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHBhcnRzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgcmVzdWx0ID0gRXhwcmVzc2lvbnMuaW5kZXgocmVzdWx0LCBFeHByZXNzaW9ucy5saXRlcmFsKHBhcnRzW2luZGV4XSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGFtYmRhKGFyZ3M6IHN0cmluZ1tdLCB2YWx1ZTogRXhwcmVzc2lvbik6IExhbWJkYUV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcImxhbWJkYVwiLCBhcmd1bWVudHM6IGFyZ3MsIHZhbHVlIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZ1bmMoZnVuYzogRXhwcmVzc2lvbiwgYXJnczogRXhwcmVzc2lvbltdKTogRnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJmdW5jdGlvblwiLCBmdW5jLCBhcmd1bWVudHM6IGFyZ3MgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGlzdCh2YWx1ZXM6IEV4cHJlc3Npb25bXSk6IExpc3RFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsaXN0XCIsIHZhbHVlcyB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBvYmplY3QodmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBFeHByZXNzaW9uPik6IE9iamVjdEV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcIm9iamVjdFwiLCB2YWx1ZXMgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbmVnYXRlKGNoaWxkOiBFeHByZXNzaW9uKTogTmVnYXRlZEV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcIm5lZ2F0ZWRcIiwgY2hpbGQgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNDb21wYXJlT3Aob3A6IEJpbmFyeU9wKTogb3AgaXMgQ29tcGFyZU9wIHtcbiAgICAgICAgcmV0dXJuIG9wID09IFwiPD1cIiB8fCBvcCA9PSBcIjxcIiB8fCBvcCA9PSBcIj5cIiB8fCBvcCA9PSBcIj49XCIgfHwgb3AgPT0gXCIhPVwiIHx8IG9wID09IFwiPVwiO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGEgc2V0IG9mIGFsbCB1bmJvdW5kIHZhcmlhYmxlcyAoaS5lLiwgdmFyaWFibGVzIG5vdCBwcm92aWRlZCBieSBgcm93YCwgbGFtYmRhcywgb3Igc2ltaWxhci4pICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHVuYm91bmRWYXJpYWJsZXMoZXhwcjogRXhwcmVzc2lvbiwgYm91bmQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldChbUk9XXSkpOiBTZXQ8c3RyaW5nPiB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYmluYXJ5b3BcIjpcbiAgICAgICAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgYHJvd1tcIi4uLi5cIl1gLlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgZXhwci5vcCA9PT0gXCJpbmRleFwiICYmXG4gICAgICAgICAgICAgICAgICAgIGV4cHIubGVmdC50eXBlID09IFwidmFyaWFibGVcIiAmJlxuICAgICAgICAgICAgICAgICAgICBleHByLmxlZnQubmFtZSA9PSBST1cgJiZcbiAgICAgICAgICAgICAgICAgICAgZXhwci5yaWdodC50eXBlID09IFwibGl0ZXJhbFwiICYmXG4gICAgICAgICAgICAgICAgICAgIExpdGVyYWxzLmlzU3RyaW5nKGV4cHIucmlnaHQudmFsdWUpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChib3VuZC5oYXMoZXhwci5yaWdodC52YWx1ZSkpIHJldHVybiBuZXcgU2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIG5ldyBTZXQoW2V4cHIucmlnaHQudmFsdWVdKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UganVzdCBjaGVjayBsZWZ0IGFuZCByaWdodC5cbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsdGVycy5zZXRVbmlvbihbdW5ib3VuZFZhcmlhYmxlcyhleHByLmxlZnQsIGJvdW5kKSwgdW5ib3VuZFZhcmlhYmxlcyhleHByLnJpZ2h0LCBib3VuZCldKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKGV4cHIuYXJndW1lbnRzLm1hcCgoYSkgPT4gdW5ib3VuZFZhcmlhYmxlcyhhLCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJsYW1iZGFcIjpcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdCb3VuZCA9IGJvdW5kID8/IG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFyZyBvZiBleHByLmFyZ3VtZW50cykgbmV3Qm91bmQuYWRkKGFyZyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdW5ib3VuZFZhcmlhYmxlcyhleHByLnZhbHVlLCBuZXdCb3VuZCk7XG4gICAgICAgICAgICBjYXNlIFwibGlzdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKGV4cHIudmFsdWVzLm1hcCgodikgPT4gdW5ib3VuZFZhcmlhYmxlcyh2LCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuYm91bmRWYXJpYWJsZXMoZXhwci5jaGlsZCwgYm91bmQpO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKE9iamVjdC52YWx1ZXMoZXhwci52YWx1ZXMpLm1hcCgodikgPT4gdW5ib3VuZFZhcmlhYmxlcyh2LCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJ2YXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChib3VuZCAmJiBib3VuZC5oYXMoZXhwci5uYW1lKSkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBuZXcgU2V0KFtleHByLm5hbWVdKTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW5kZXIgYW4gZXhwcmVzc2lvbiBhcyBhIHN0cmluZy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcoZXhwcjogRXhwcmVzc2lvbik6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYmluYXJ5b3BcIjpcbiAgICAgICAgICAgICAgICBpZiAoZXhwci5vcCA9PT0gXCJpbmRleFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmxlZnQpfVske3RvU3RyaW5nKGV4cHIucmlnaHQpfV1gO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmxlZnQpfSAke2V4cHIub3B9ICR7dG9TdHJpbmcoZXhwci5yaWdodCl9YDtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmZ1bmMpfSgke2V4cHIuYXJndW1lbnRzLm1hcCh0b1N0cmluZykuam9pbihcIiwgXCIpfSlgO1xuICAgICAgICAgICAgY2FzZSBcImxhbWJkYVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBgKCR7ZXhwci5hcmd1bWVudHMuam9pbihcIiwgXCIpfSkgPT4gJHt0b1N0cmluZyhleHByLnZhbHVlKX1gO1xuICAgICAgICAgICAgY2FzZSBcImxpc3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYFske2V4cHIudmFsdWVzLm1hcCh0b1N0cmluZykuam9pbihcIiwgXCIpfV1gO1xuICAgICAgICAgICAgY2FzZSBcIm5lZ2F0ZWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCEke3RvU3RyaW5nKGV4cHIuY2hpbGQpfWA7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGB7JHtPYmplY3QuZW50cmllcyhleHByLnZhbHVlcylcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBgJHtrfTogJHt0b1N0cmluZyh2KX1gKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpfX1gO1xuICAgICAgICAgICAgY2FzZSBcInZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4cHIubmFtZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlZCA9IExpdGVyYWxzLndyYXBWYWx1ZShleHByLnZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHdyYXBwZWQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFwiJHt3cmFwcGVkLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMaXRlcmFscy50b1N0cmluZyh3cmFwcGVkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgY29uc3QgTlVMTCA9IEV4cHJlc3Npb25zLmxpdGVyYWwobnVsbCk7XG59XG4iLCAiLyoqIFBhcnNlIGlubGluZSBmaWVsZHMgYW5kIG90aGVyIGVtYmVkZGVkIG1ldGFkYXRhIGluIGEgbGluZS4gKi9cblxuaW1wb3J0IHsgUFJJTUlUSVZFUyB9IGZyb20gXCJleHByZXNzaW9uL3BhcnNlclwiO1xuaW1wb3J0IHsgTGl0ZXJhbCB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IGVtb2ppUmVnZXggZnJvbSBcImVtb2ppLXJlZ2V4XCI7XG5pbXBvcnQgeyBKc29uQ29udmVyc2lvbiwgSnNvbkxpdGVyYWwgfSBmcm9tIFwiaW5kZXgvdHlwZXMvanNvbi9jb21tb25cIjtcblxuLyoqIEEgcGFyc2VkIGlubGluZSBmaWVsZCBmcm9tIGEgc3BlY2lmaWMgbGluZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxJbmxpbmVGaWVsZCB7XG4gICAgLyoqIFRoZSByYXcgcGFyc2VkIGtleS4gKi9cbiAgICBrZXk6IHN0cmluZztcbiAgICAvKiogVGhlIHJhdyB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gICAgdmFsdWU6IHN0cmluZztcbiAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgc3RhcnQ6IG51bWJlcjtcbiAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgKnZhbHVlKiBmb3IgdGhlIGZpZWxkLiAqL1xuICAgIHN0YXJ0VmFsdWU6IG51bWJlcjtcbiAgICAvKiogVGhlIGVuZCBjb2x1bW4gb2YgdGhlIGZpZWxkLiAqL1xuICAgIGVuZDogbnVtYmVyO1xuICAgIC8qKiBJZiB0aGlzIGlubGluZSBmaWVsZCB3YXMgZGVmaW5lZCB2aWEgYSB3cmFwcGluZyAoJ1snIG9yICcoJyBvciAnbGluaycpLCB0aGVuIHRoZSB3cmFwcGluZyB0aGF0IHdhcyB1c2VkLiAqL1xuICAgIHdyYXBwaW5nPzogc3RyaW5nO1xufVxuXG4vKiogRnVsbCBpbmxpbmUgZmllbGQgbWV0YWRhdGEgZm9yIGFuIG9iamVjdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5saW5lRmllbGQge1xuICAgIC8qKiBUaGUgYWN0dWFsIGtleSBkZXNjcmliaW5nIHRoZSBpbmxpbmUgZmllbGQuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFRoZSByYXcgdmFsdWUgb2YgdGhlIGlubGluZSBmaWVsZC4gKi9cbiAgICByYXc6IHN0cmluZztcbiAgICAvKiogVGhlIHBhcnNlZCB2YWx1ZS4gKi9cbiAgICB2YWx1ZTogTGl0ZXJhbDtcbiAgICAvKiogRnVsbCBwb3NpdGlvbiBpbmZvcm1hdGlvbiBmb3Igd2hlcmUgdGhlIGlubGluZSBmaWVsZCBpcyBsb2NhdGVkIGluIHRoZSBkb2N1bWVudC4gKi9cbiAgICBwb3NpdGlvbjoge1xuICAgICAgICAvKiogVGhlIGxpbmUgbnVtYmVyIHRoZSBpbmxpbmUgZmllbGQgYXBwZWFycyBvbi4gKi9cbiAgICAgICAgbGluZTogbnVtYmVyO1xuICAgICAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSAqdmFsdWUqIGZvciB0aGUgZmllbGQuIEltbWVkaWF0ZWx5IGFmdGVyIHRoZSAnOjonLiAqL1xuICAgICAgICBzdGFydFZhbHVlOiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgZW5kIGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgICAgIGVuZDogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqIElmIHRoaXMgaW5saW5lIGZpZWxkIHdhcyBkZWZpbmVkIHZpYSBhIHdyYXBwaW5nICgnWycgb3IgJygnIG9yICdsaW5rJyksIHRoZW4gdGhlIHdyYXBwaW5nIHRoYXQgd2FzIHVzZWQuICovXG4gICAgd3JhcHBpbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBKU09OLCBzZXJpYWxpemFibGUgcmVwcmVzZW50YXRpb24gb2YgYW4gaW5saW5lIGZpZWxkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uSW5saW5lRmllbGQge1xuICAgIC8qKiBUaGUgYWN0dWFsIGtleSBkZXNjcmliaW5nIHRoZSBpbmxpbmUgZmllbGQuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFRoZSByYXcgdmFsdWUgb2YgdGhlIGlubGluZSBmaWVsZC4gKi9cbiAgICByYXc6IHN0cmluZztcbiAgICAvKiogVGhlIHBhcnNlZCB2YWx1ZS4gKi9cbiAgICB2YWx1ZTogSnNvbkxpdGVyYWw7XG4gICAgLyoqIEZ1bGwgcG9zaXRpb24gaW5mb3JtYXRpb24gZm9yIHdoZXJlIHRoZSBpbmxpbmUgZmllbGQgaXMgbG9jYXRlZCBpbiB0aGUgZG9jdW1lbnQuICovXG4gICAgcG9zaXRpb246IHtcbiAgICAgICAgLyoqIFRoZSBsaW5lIG51bWJlciB0aGUgaW5saW5lIGZpZWxkIGFwcGVhcnMgb24uICovXG4gICAgICAgIGxpbmU6IG51bWJlcjtcbiAgICAgICAgLyoqIFRoZSBzdGFydCBjb2x1bW4gb2YgdGhlIGZpZWxkLiAqL1xuICAgICAgICBzdGFydDogbnVtYmVyO1xuICAgICAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgKnZhbHVlKiBmb3IgdGhlIGZpZWxkLiBJbW1lZGlhdGVseSBhZnRlciB0aGUgJzo6Jy4gKi9cbiAgICAgICAgc3RhcnRWYWx1ZTogbnVtYmVyO1xuICAgICAgICAvKiogVGhlIGVuZCBjb2x1bW4gb2YgdGhlIGZpZWxkLiAqL1xuICAgICAgICBlbmQ6IG51bWJlcjtcbiAgICB9O1xuICAgIC8qKiBJZiB0aGlzIGlubGluZSBmaWVsZCB3YXMgZGVmaW5lZCB2aWEgYSB3cmFwcGluZyAoJ1snIG9yICcoJyBvciAnbGluaycpLCB0aGVuIHRoZSB3cmFwcGluZyB0aGF0IHdhcyB1c2VkLiAqL1xuICAgIHdyYXBwaW5nPzogc3RyaW5nO1xufVxuXG4vKiogQ29udmVydCBhbiBpbmxpbmUgZmllbGQgdG8gYSBKU09OIGZvcm1hdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqc29uSW5saW5lRmllbGQoZmllbGQ6IElubGluZUZpZWxkKTogSnNvbklubGluZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZmllbGQsIHsgdmFsdWU6IEpzb25Db252ZXJzaW9uLmpzb24oZmllbGQudmFsdWUpIH0pO1xufVxuXG4vKiogQ29udmVydCBhIEpTT04gaW5saW5lIGZpZWxkIGJhY2sgdG8gYSByZWd1bGFyIGZpZWxkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlSW5saW5lRmllbGQoZmllbGQ6IEpzb25JbmxpbmVGaWVsZCk6IElubGluZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZmllbGQsIHsgdmFsdWU6IEpzb25Db252ZXJzaW9uLnZhbHVlKGZpZWxkLnZhbHVlKSB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzSW5saW5lRmllbGQobG9jYWw6IExvY2FsSW5saW5lRmllbGQsIGxpbmVubzogbnVtYmVyKTogSW5saW5lRmllbGQ7XG5leHBvcnQgZnVuY3Rpb24gYXNJbmxpbmVGaWVsZChsb2NhbDogTG9jYWxJbmxpbmVGaWVsZFtdLCBsaW5lbm86IG51bWJlcik6IElubGluZUZpZWxkW107XG4vKiogQ29udmVydCBhIGxvY2FsIGlubGluZSBmaWVsZCBpbnRvIGEgZnVsbCBpbmxpbmUgZmllbGQgYnkgcGVyZm9ybWluZyBwYXJzaW5nIGFuZCBhZGRpbmcgdGhlIGNvcnJlY3QgbGluZSBudW1iZXIuICovXG5leHBvcnQgZnVuY3Rpb24gYXNJbmxpbmVGaWVsZChcbiAgICBsb2NhbDogTG9jYWxJbmxpbmVGaWVsZCB8IExvY2FsSW5saW5lRmllbGRbXSxcbiAgICBsaW5lbm86IG51bWJlclxuKTogSW5saW5lRmllbGQgfCBJbmxpbmVGaWVsZFtdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbCkpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsLm1hcCgoZikgPT4gYXNJbmxpbmVGaWVsZChmLCBsaW5lbm8pKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGxvY2FsLmtleSxcbiAgICAgICAgcmF3OiBsb2NhbC52YWx1ZSxcbiAgICAgICAgdmFsdWU6IHBhcnNlSW5saW5lVmFsdWUobG9jYWwudmFsdWUpLFxuICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgbGluZTogbGluZW5vLFxuICAgICAgICAgICAgc3RhcnQ6IGxvY2FsLnN0YXJ0LFxuICAgICAgICAgICAgc3RhcnRWYWx1ZTogbG9jYWwuc3RhcnRWYWx1ZSxcbiAgICAgICAgICAgIGVuZDogbG9jYWwuZW5kLFxuICAgICAgICB9LFxuICAgICAgICB3cmFwcGluZzogbG9jYWwud3JhcHBpbmcsXG4gICAgfTtcbn1cblxuLyoqIFRoZSB3cmFwcGVyIGNoYXJhY3RlcnMgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWZpbmUgYW4gaW5saW5lIGZpZWxkLiAqL1xuZXhwb3J0IGNvbnN0IElOTElORV9GSUVMRF9XUkFQUEVSUzogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSBPYmplY3QuZnJlZXplKHtcbiAgICBcIltcIjogXCJdXCIsXG4gICAgXCIoXCI6IFwiKVwiLFxufSk7XG5cbi8qKlxuICogRmluZCBhIG1hdGNoaW5nIGNsb3NpbmcgYnJhY2tldCB0aGF0IG9jY3VycyBhdCBvciBhZnRlciBgc3RhcnRgLCByZXNwZWN0aW5nIG5lc3RpbmcgYW5kIGVzY2FwZXMuIElmIGZvdW5kLFxuICogcmV0dXJucyB0aGUgdmFsdWUgY29udGFpbmVkIHdpdGhpbiBhbmQgdGhlIHN0cmluZyBpbmRleCBhZnRlciB0aGUgZW5kIG9mIHRoZSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gZmluZENsb3NpbmcoXG4gICAgbGluZTogc3RyaW5nLFxuICAgIHN0YXJ0OiBudW1iZXIsXG4gICAgb3Blbjogc3RyaW5nLFxuICAgIGNsb3NlOiBzdHJpbmdcbik6IHsgdmFsdWU6IHN0cmluZzsgZW5kSW5kZXg6IG51bWJlciB9IHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgbmVzdGluZyA9IDA7XG4gICAgbGV0IGVzY2FwZWQgPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpbmRleCA9IHN0YXJ0OyBpbmRleCA8IGxpbmUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGxldCBjaGFyID0gbGluZS5jaGFyQXQoaW5kZXgpO1xuXG4gICAgICAgIC8vIEFsbG93cyBmb3IgZG91YmxlIGVzY2FwZXMgbGlrZSAnXFxcXCcgdG8gYmUgcmVuZGVyZWQgbm9ybWFsbHkuXG4gICAgICAgIGlmIChjaGFyID09IFwiXFxcXFwiKSB7XG4gICAgICAgICAgICBlc2NhcGVkID0gIWVzY2FwZWQ7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGVzY2FwZWQsIGlnbm9yZSB0aGUgbmV4dCBjaGFyYWN0ZXIgZm9yIGNvbXB1dGluZyBuZXN0aW5nLCByZWdhcmRsZXNzIG9mIHdoYXQgaXQgaXMuXG4gICAgICAgIGlmIChlc2NhcGVkKSB7XG4gICAgICAgICAgICBlc2NhcGVkID0gZmFsc2U7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFyID09IG9wZW4pIG5lc3RpbmcrKztcbiAgICAgICAgZWxzZSBpZiAoY2hhciA9PSBjbG9zZSkgbmVzdGluZy0tO1xuXG4gICAgICAgIC8vIE9ubHkgb2NjdXJzIGlmIHdlIGFyZSBvbiBhIGNsb3NlIGNoYXJhY3RlciBhbmQgdHJoZXJlIGlzIG5vIG1vcmUgbmVzdGluZy5cbiAgICAgICAgaWYgKG5lc3RpbmcgPCAwKSByZXR1cm4geyB2YWx1ZTogbGluZS5zdWJzdHJpbmcoc3RhcnQsIGluZGV4KS50cmltKCksIGVuZEluZGV4OiBpbmRleCArIDEgfTtcblxuICAgICAgICBlc2NhcGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqIEZpbmQgdGhlICc6Oicgc2VwYXJhdG9yIGluIGFuIGlubGluZSBmaWVsZC4gKi9cbmZ1bmN0aW9uIGZpbmRTZXBhcmF0b3IobGluZTogc3RyaW5nLCBzdGFydDogbnVtYmVyKTogeyBrZXk6IHN0cmluZzsgdmFsdWVJbmRleDogbnVtYmVyIH0gfCB1bmRlZmluZWQge1xuICAgIGxldCBzZXAgPSBsaW5lLmluZGV4T2YoXCI6OlwiLCBzdGFydCk7XG4gICAgaWYgKHNlcCA8IDApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4geyBrZXk6IGxpbmUuc3Vic3RyaW5nKHN0YXJ0LCBzZXApLnRyaW0oKSwgdmFsdWVJbmRleDogc2VwICsgMiB9O1xufVxuXG4vKiogVHJ5IHRvIGNvbXBsZXRlbHkgcGFyc2UgYW4gaW5saW5lIGZpZWxkIHN0YXJ0aW5nIGF0IHRoZSBnaXZlbiBwb3NpdGlvbi4gQXNzdW1lcyBgc3RhcnRgIGlzIG9uIGEgd3JhcHBpbmcgY2hhcmFjdGVyLiAqL1xuZnVuY3Rpb24gZmluZFNwZWNpZmljSW5saW5lRmllbGQobGluZTogc3RyaW5nLCBzdGFydDogbnVtYmVyKTogTG9jYWxJbmxpbmVGaWVsZCB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IG9wZW4gPSBsaW5lLmNoYXJBdChzdGFydCk7XG5cbiAgICBsZXQga2V5ID0gZmluZFNlcGFyYXRvcihsaW5lLCBzdGFydCArIDEpO1xuICAgIGlmIChrZXkgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIC8vIEZhaWwgdGhlIG1hdGNoIGlmIHdlIGZpbmQgYW55IHNlcGFyYXRvciBjaGFyYWN0ZXJzIChub3QgYWxsb3dlZCBpbiBrZXlzKS5cbiAgICBmb3IgKGxldCBzZXAgb2YgT2JqZWN0LmtleXMoSU5MSU5FX0ZJRUxEX1dSQVBQRVJTKS5jb25jYXQoT2JqZWN0LnZhbHVlcyhJTkxJTkVfRklFTERfV1JBUFBFUlMpKSkge1xuICAgICAgICBpZiAoa2V5LmtleS5pbmNsdWRlcyhzZXApKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IGZpbmRDbG9zaW5nKGxpbmUsIGtleS52YWx1ZUluZGV4LCBvcGVuLCBJTkxJTkVfRklFTERfV1JBUFBFUlNbb3Blbl0pO1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiBrZXkua2V5LFxuICAgICAgICB2YWx1ZTogdmFsdWUudmFsdWUsXG4gICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgc3RhcnRWYWx1ZToga2V5LnZhbHVlSW5kZXgsXG4gICAgICAgIGVuZDogdmFsdWUuZW5kSW5kZXgsXG4gICAgICAgIHdyYXBwaW5nOiBvcGVuLFxuICAgIH07XG59XG5cbi8qKiBQYXJzZSBhIHRleHR1YWwgaW5saW5lIGZpZWxkIHZhbHVlIGludG8gc29tZXRoaW5nIHdlIGNhbiB3b3JrIHdpdGguICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbmxpbmVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogTGl0ZXJhbCB7XG4gICAgLy8gRW1wdHkgaW5saW5lIHZhbHVlcyAoaS5lLiwgbm8gdGV4dCkgc2hvdWxkIG1hcCB0byBudWxsIHRvIG1hdGNoIGxvbmctdGVybSBEYXRhdmlldyBzZW1hbnRpY3MuXG4gICAgLy8gTnVsbCBpcyBhbHNvIGEgbW9yZSB1bml2ZXJzYWwgdHlwZSB0byBkZWFsIHdpdGggdGhhbiBzdHJpbmdzLCBzaW5jZSBhbGwgZnVuY3Rpb25zIGFjY2VwdCBudWxscy5cbiAgICBpZiAodmFsdWUudHJpbSgpID09IFwiXCIpIHJldHVybiBudWxsO1xuXG4gICAgLy8gVGhlIHN0cmlwcGVkIGxpdGVyYWwgZmllbGQgcGFyc2VyIHVuZGVyc3RhbmRzIGFsbCBvZiB0aGUgbm9uLWFycmF5L25vbi1vYmplY3QgZmllbGRzIGFuZCBjYW4gcGFyc2UgdGhlbSBmb3IgdXMuXG4gICAgLy8gSW5saW5lIGZpZWxkIG9iamVjdHMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkOyBpbmxpbmUgYXJyYXkgb2JqZWN0cyBoYXZlIHRvIGJlIGhhbmRsZWQgYnkgdGhlIHBhcnNlclxuICAgIC8vIHNlcGFyYXRlbHkuXG4gICAgbGV0IGlubGluZSA9IFBSSU1JVElWRVMuaW5saW5lRmllbGQucGFyc2UodmFsdWUpO1xuICAgIGlmIChpbmxpbmUuc3RhdHVzKSByZXR1cm4gaW5saW5lLnZhbHVlO1xuICAgIGVsc2UgcmV0dXJuIHZhbHVlO1xufVxuXG4vKiogRXh0cmFjdHMgaW5saW5lIGZpZWxkcyBvZiB0aGUgZm9ybSAnW2tleTo6IHZhbHVlXScgZnJvbSBhIGxpbmUgb2YgdGV4dC4gVGhpcyBpcyBkb25lIGluIGEgcmVsYXRpdmVseVxuICogXCJyb2J1c3RcIiB3YXkgdG8gYXZvaWQgZmFpbGluZyBkdWUgdG8gYmFkIG5lc3Rpbmcgb3Igb3RoZXIgaW50ZXJmZXJpbmcgTWFya2Rvd24gc3ltYm9sczpcbiAqXG4gKiAtIExvb2sgZm9yIGFueSB3cmFwcGVycyAoJ1snIGFuZCAnKCcpIGluIHRoZSBsaW5lLCB0cnlpbmcgdG8gcGFyc2Ugd2hhdGV2ZXIgY29tZXMgYWZ0ZXIgaXQgYXMgYW4gaW5saW5lIGtleTo6LlxuICogLSBJZiBzdWNjZXNzZnVsLCBzY2FuIHVudGlsIHlvdSBmaW5kIGEgbWF0Y2hpbmcgZW5kIGJyYWNrZXQsIGFuZCBwYXJzZSB3aGF0ZXZlciByZW1haW5zIGFzIGFuIGlubGluZSB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RJbmxpbmVGaWVsZHMobGluZTogc3RyaW5nLCBpbmNsdWRlVGFza0ZpZWxkczogYm9vbGVhbiA9IGZhbHNlKTogTG9jYWxJbmxpbmVGaWVsZFtdIHtcbiAgICBsZXQgZmllbGRzOiBMb2NhbElubGluZUZpZWxkW10gPSBbXTtcbiAgICBmb3IgKGxldCB3cmFwcGVyIG9mIE9iamVjdC5rZXlzKElOTElORV9GSUVMRF9XUkFQUEVSUykpIHtcbiAgICAgICAgbGV0IGZvdW5kSW5kZXggPSBsaW5lLmluZGV4T2Yod3JhcHBlcik7XG4gICAgICAgIHdoaWxlIChmb3VuZEluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGxldCBwYXJzZWRGaWVsZCA9IGZpbmRTcGVjaWZpY0lubGluZUZpZWxkKGxpbmUsIGZvdW5kSW5kZXgpO1xuICAgICAgICAgICAgaWYgKCFwYXJzZWRGaWVsZCkge1xuICAgICAgICAgICAgICAgIGZvdW5kSW5kZXggPSBsaW5lLmluZGV4T2Yod3JhcHBlciwgZm91bmRJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWVsZHMucHVzaChwYXJzZWRGaWVsZCk7XG4gICAgICAgICAgICBmb3VuZEluZGV4ID0gbGluZS5pbmRleE9mKHdyYXBwZXIsIHBhcnNlZEZpZWxkLmVuZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaW5jbHVkZVRhc2tGaWVsZHMpIGZpZWxkcyA9IGZpZWxkcy5jb25jYXQoZXh0cmFjdFNwZWNpYWxUYXNrRmllbGRzKGxpbmUpKTtcblxuICAgIGZpZWxkcy5zb3J0KChhLCBiKSA9PiBhLnN0YXJ0IC0gYi5zdGFydCk7XG5cbiAgICBsZXQgZmlsdGVyZWRGaWVsZHM6IExvY2FsSW5saW5lRmllbGRbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmllbGRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpID09IDAgfHwgZmlsdGVyZWRGaWVsZHNbZmlsdGVyZWRGaWVsZHMubGVuZ3RoIC0gMV0uZW5kIDwgZmllbGRzW2ldLnN0YXJ0KSB7XG4gICAgICAgICAgICBmaWx0ZXJlZEZpZWxkcy5wdXNoKGZpZWxkc1tpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlcmVkRmllbGRzO1xufVxuXG4vKiogVmFsaWRhdGVzIHRoYXQgYSByYXcgZmllbGQgbmFtZSBoYXMgYSB2YWxpZCBmb3JtLiAqL1xuY29uc3QgRlVMTF9MSU5FX0tFWV9QQVJUOiBQLlBhcnNlcjxzdHJpbmc+ID0gUC5hbHQoXG4gICAgUC5yZWdleHAobmV3IFJlZ0V4cChlbW9qaVJlZ2V4KCksIFwidVwiKSksXG4gICAgUC5yZWdleHAoL1swLTlcXHB7TGV0dGVyfVxcd1xcc18vLV0rL3UpXG4pXG4gICAgLm1hbnkoKVxuICAgIC5tYXAoKHBhcnRzKSA9PiBwYXJ0cy5qb2luKFwiXCIpKTtcblxuY29uc3QgRlVMTF9MSU5FX0tFWV9QQVJTRVI6IFAuUGFyc2VyPHN0cmluZz4gPSBQLnJlZ2V4cCgvW14wLTlcXHdcXHB7TGV0dGVyfV0qL3UpXG4gICAgLnRoZW4oRlVMTF9MSU5FX0tFWV9QQVJUKVxuICAgIC5za2lwKFAucmVnZXhwKC9bX1xcKn5gXSovdSkpO1xuXG4vKiogQXR0ZW1wdCB0byBleHRyYWN0IGEgZnVsbC1saW5lIGZpZWxkIChLZXk6OiBWYWx1ZSBjb25zdW1pbmcgdGhlIGVudGlyZSBjb250ZW50IGxpbmUpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RGdWxsTGluZUZpZWxkKHRleHQ6IHN0cmluZyk6IExvY2FsSW5saW5lRmllbGQgfCB1bmRlZmluZWQge1xuICAgIGxldCBzZXAgPSBmaW5kU2VwYXJhdG9yKHRleHQsIDApO1xuICAgIGlmICghc2VwKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgLy8gV2UgbmVlZCB0byBwb3N0LXByb2Nlc3MgdGhlIGtleSB0byBkcm9wIHVubmVjZXNzYXJ5IG9wZW5pbmcgYW5ub3RhdGlvbnMgYXMgd2VsbCBhc1xuICAgIC8vIGRyb3Agc3Vycm91bmRpbmcgTWFya2Rvd24uXG4gICAgbGV0IHJlYWxLZXkgPSBGVUxMX0xJTkVfS0VZX1BBUlNFUi5wYXJzZShzZXAua2V5KTtcbiAgICBpZiAoIXJlYWxLZXkuc3RhdHVzKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiByZWFsS2V5LnZhbHVlLFxuICAgICAgICB2YWx1ZTogdGV4dC5zdWJzdHJpbmcoc2VwLnZhbHVlSW5kZXgpLnRyaW0oKSxcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIHN0YXJ0VmFsdWU6IHNlcC52YWx1ZUluZGV4LFxuICAgICAgICBlbmQ6IHRleHQubGVuZ3RoLFxuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVEX0RBVEVfUkVHRVggPSAvXFx1ezI3OTV9XFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcbmV4cG9ydCBjb25zdCBEVUVfREFURV9SRUdFWCA9IC8oPzpcXHV7MUY0QzV9fFxcdXsxRjRDNn18XFx1ezFGNUQzfVxcdXtGRTBGfT8pXFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcbmV4cG9ydCBjb25zdCBET05FX0RBVEVfUkVHRVggPSAvXFx1ezI3MDV9XFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcbmV4cG9ydCBjb25zdCBTQ0hFRFVMRURfREFURV9SRUdFWCA9IC9bXFx1ezIzRjN9XFx1ezIzMUJ9XVxccyooXFxkezR9LVxcZHsyfS1cXGR7Mn0pL3U7XG5leHBvcnQgY29uc3QgU1RBUlRfREFURV9SRUdFWCA9IC9cXHV7MUY2RUJ9XFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcblxuZXhwb3J0IGNvbnN0IEVNT0pJX1JFR0VYRVMgPSBbXG4gICAgeyByZWdleDogQ1JFQVRFRF9EQVRFX1JFR0VYLCBrZXk6IFwiY3JlYXRlZFwiIH0sXG4gICAgeyByZWdleDogU1RBUlRfREFURV9SRUdFWCwga2V5OiBcInN0YXJ0XCIgfSxcbiAgICB7IHJlZ2V4OiBTQ0hFRFVMRURfREFURV9SRUdFWCwga2V5OiBcInNjaGVkdWxlZFwiIH0sXG4gICAgeyByZWdleDogRFVFX0RBVEVfUkVHRVgsIGtleTogXCJkdWVcIiB9LFxuICAgIHsgcmVnZXg6IERPTkVfREFURV9SRUdFWCwga2V5OiBcImNvbXBsZXRpb25cIiB9LFxuXTtcblxuLyoqIFBhcnNlIHNwZWNpYWwgY29tcGxldGVkL2R1ZS9kb25lIHRhc2sgZmllbGRzIHdoaWNoIGFyZSBtYXJrZWQgdmlhIGVtb2ppLiAqL1xuZnVuY3Rpb24gZXh0cmFjdFNwZWNpYWxUYXNrRmllbGRzKGxpbmU6IHN0cmluZyk6IExvY2FsSW5saW5lRmllbGRbXSB7XG4gICAgbGV0IHJlc3VsdHM6IExvY2FsSW5saW5lRmllbGRbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgeyByZWdleCwga2V5IH0gb2YgRU1PSklfUkVHRVhFUykge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHJlZ2V4LmV4ZWMobGluZSk7XG4gICAgICAgIGlmICghbWF0Y2gpIGNvbnRpbnVlO1xuXG4gICAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICB2YWx1ZTogbWF0Y2hbMV0sXG4gICAgICAgICAgICBzdGFydDogbWF0Y2guaW5kZXgsXG4gICAgICAgICAgICBzdGFydFZhbHVlOiBtYXRjaC5pbmRleCArIDEsXG4gICAgICAgICAgICBlbmQ6IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoLFxuICAgICAgICAgICAgd3JhcHBpbmc6IFwiZW1vamktc2hvcnRoYW5kXCIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRzO1xufVxuXG4vKiogU2V0cyBvciByZXBsYWNlcyB0aGUgdmFsdWUgb2YgYW4gaW5saW5lIGZpZWxkOyBpZiB0aGUgdmFsdWUgaXMgJ3VuZGVmaW5lZCcsIGRlbGV0ZXMgdGhlIGtleS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRJbmxpbmVGaWVsZChzb3VyY2U6IHN0cmluZywga2V5OiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgZXhpc3RpbmcgPSBleHRyYWN0SW5saW5lRmllbGRzKHNvdXJjZSk7XG4gICAgbGV0IGV4aXN0aW5nS2V5cyA9IGV4aXN0aW5nLmZpbHRlcigoZikgPT4gZi5rZXkgPT0ga2V5KTtcblxuICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyBPUiB0aGUga2V5IGFscmVhZHkgZG9lc24ndCBleGlzdC5cbiAgICBpZiAoZXhpc3RpbmdLZXlzLmxlbmd0aCA+IDIgfHwgKGV4aXN0aW5nS2V5cy5sZW5ndGggPT0gMCAmJiAhdmFsdWUpKSByZXR1cm4gc291cmNlO1xuICAgIGxldCBleGlzdGluZ0tleSA9IGV4aXN0aW5nS2V5c1swXTtcblxuICAgIGxldCBhbm5vdGF0aW9uID0gdmFsdWUgPyBgWyR7a2V5fTo6ICR7dmFsdWV9XWAgOiBcIlwiO1xuICAgIGlmIChleGlzdGluZ0tleSkge1xuICAgICAgICBsZXQgcHJlZml4ID0gc291cmNlLnN1YnN0cmluZygwLCBleGlzdGluZ0tleS5zdGFydCk7XG4gICAgICAgIGxldCBzdWZmaXggPSBzb3VyY2Uuc3Vic3RyaW5nKGV4aXN0aW5nS2V5LmVuZCk7XG5cbiAgICAgICAgaWYgKGFubm90YXRpb24pIHJldHVybiBgJHtwcmVmaXh9JHthbm5vdGF0aW9ufSR7c3VmZml4fWA7XG4gICAgICAgIGVsc2UgcmV0dXJuIGAke3ByZWZpeH0ke3N1ZmZpeC50cmltU3RhcnQoKX1gO1xuICAgIH0gZWxzZSBpZiAoYW5ub3RhdGlvbikge1xuICAgICAgICByZXR1cm4gYCR7c291cmNlLnRyaW1FbmQoKX0gJHthbm5vdGF0aW9ufWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEVtb2ppU2hvcnRoYW5kQ29tcGxldGlvbkZpZWxkKHNvdXJjZTogc3RyaW5nLCB2YWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBleHRyYWN0SW5saW5lRmllbGRzKHNvdXJjZSwgdHJ1ZSk7XG4gICAgY29uc3QgZXhpc3RpbmdLZXlzID0gZXhpc3RpbmcuZmlsdGVyKChmKSA9PiBmLmtleSA9PT0gXCJjb21wbGV0aW9uXCIgJiYgZi53cmFwcGluZyA9PT0gXCJlbW9qaS1zaG9ydGhhbmRcIik7XG5cbiAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBpZiB0aGVyZSBhcmUgZHVwbGljYXRlIGtleXMgT1IgdGhlIGtleSBhbHJlYWR5IGRvZXNuJ3QgZXhpc3QuXG4gICAgaWYgKGV4aXN0aW5nS2V5cy5sZW5ndGggPiAyIHx8IChleGlzdGluZ0tleXMubGVuZ3RoID09IDAgJiYgIXZhbHVlKSkgcmV0dXJuIHNvdXJjZTtcblxuICAgIC8qIE5vIHdyYXBwZXIsIGFkZCBvd24gc3BhY2luZyBhdCBzdGFydCAqL1xuICAgIGNvbnN0IGFubm90YXRpb24gPSB2YWx1ZSA/IGAgXHUyNzA1ICR7dmFsdWV9YCA6IFwiXCI7XG4gICAgbGV0IGV4aXN0aW5nS2V5ID0gZXhpc3RpbmdLZXlzWzBdO1xuICAgIGlmIChleGlzdGluZ0tleSkge1xuICAgICAgICBjb25zdCBwcmVmaXggPSBzb3VyY2Uuc3Vic3RyaW5nKDAsIGV4aXN0aW5nS2V5LnN0YXJ0KTtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gc291cmNlLnN1YnN0cmluZyhleGlzdGluZ0tleS5lbmQpO1xuICAgICAgICByZXR1cm4gYCR7cHJlZml4LnRyaW1FbmQoKX0ke2Fubm90YXRpb259JHtzdWZmaXh9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYCR7c291cmNlLnRyaW1FbmQoKX0ke2Fubm90YXRpb259YDtcbiAgICB9XG59XG4iLCAiLyoqIE1hcCB0aGUgdmFsdWVzIG9mIGFuIG9iamVjdCwgcmV0dXJuaW5nIGEgbmV3IG9iamVjdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXBPYmplY3RWYWx1ZXM8ViwgVT4ob2JqZWN0OiBSZWNvcmQ8c3RyaW5nLCBWPiwgZnVuYzogKHg6IFYpID0+IFUpOiBSZWNvcmQ8c3RyaW5nLCBVPiB7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBVPiA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iamVjdCkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSBmdW5jKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIiwgImltcG9ydCB7IExpbmssIEpzb25MaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGlua1wiO1xuaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IG1hcE9iamVjdFZhbHVlcyB9IGZyb20gXCJ1dGlscy9kYXRhXCI7XG5cbi8qKiBKU09OLXNlcmlhbGl6ZWQgZXF1aXZhbGVudHMgZm9yIGxpdGVyYWxzLiAqL1xuZXhwb3J0IHR5cGUgSnNvbkxpdGVyYWwgPVxuICAgIHwgYm9vbGVhblxuICAgIHwgbnVtYmVyXG4gICAgfCBzdHJpbmdcbiAgICB8IHsgJF90eXBlOiBcImRhdGVcIjsgdmFsdWU6IHN0cmluZyB9XG4gICAgfCB7ICRfdHlwZTogXCJkdXJhdGlvblwiOyB2YWx1ZTogc3RyaW5nIH1cbiAgICB8IHsgJF90eXBlOiBcImxpbmtcIjsgdmFsdWU6IEpzb25MaW5rIH1cbiAgICB8IEFycmF5PEpzb25MaXRlcmFsPlxuICAgIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIHwgbnVsbDtcblxuZXhwb3J0IG5hbWVzcGFjZSBKc29uQ29udmVyc2lvbiB7XG4gICAgZXhwb3J0IGNvbnN0IE5PT1BfTk9STUFMSVpFUjogKGlucHV0OiBMaXRlcmFsKSA9PiBMaXRlcmFsID0gKGlucHV0KSA9PiBpbnB1dDtcblxuICAgIC8qKiBDb252ZXJ0IGEgbGl0ZXJhbCB2YWx1ZSB0byBhIHNhZmUsIHBlcnNpc3RlbnQgSlNPTiBlcXVpdmFsZW50LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBqc29uKGxpdGVyYWw6IExpdGVyYWwpOiBKc29uTGl0ZXJhbCB7XG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSBMaXRlcmFscy53cmFwVmFsdWUobGl0ZXJhbCk7XG4gICAgICAgIGlmICghd3JhcHBlZCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgc3dpdGNoICh3cmFwcGVkPy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYXJyYXlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5tYXAoSnNvbkNvbnZlcnNpb24uanNvbik7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcE9iamVjdFZhbHVlcyh3cmFwcGVkLnZhbHVlLCBKc29uQ29udmVyc2lvbi5qc29uKTtcbiAgICAgICAgICAgIGNhc2UgXCJkYXRlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgJF90eXBlOiBcImRhdGVcIiwgdmFsdWU6IHdyYXBwZWQudmFsdWUudG9JU08oeyBleHRlbmRlZFpvbmU6IHRydWUsIGluY2x1ZGVPZmZzZXQ6IHRydWUgfSkgfTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgJF90eXBlOiBcImxpbmtcIiwgdmFsdWU6IHdyYXBwZWQudmFsdWUudG9PYmplY3QoKSB9O1xuICAgICAgICAgICAgY2FzZSBcImR1cmF0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgJF90eXBlOiBcImR1cmF0aW9uXCIsIHZhbHVlOiB3cmFwcGVkLnZhbHVlLnRvSVNPKCkgfTtcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7XG4gICAgICAgICAgICBjYXNlIFwiZnVuY3Rpb25cIjpcbiAgICAgICAgICAgIGNhc2UgXCJudWxsXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0IGEgSlNPTiBsaXRlcmFsIHRvIGl0J3MgY29ycmVzcG9uZGluZyBoeWRyYXRlZCB2YWx1ZSwgb3B0aW9uYWxseSBhcHBseWluZ1xuICAgICAqIGEgbm9ybWFsaXphdGlvbiBzdGVwIHRvIHRoZSByZXN1bHRpbmcgdmFsdWUgYW5kIGFueSBsaXRlcmFscyBjb250YWluZWQgd2l0aGluIGl0XG4gICAgICogKHN1Y2ggYXMgaWYgdGhlIGxpdGVyYWwgaXMgYSBsaXN0IG9yIG9iamVjdCkuXG4gICAgICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHZhbHVlKGpzb246IEpzb25MaXRlcmFsLCBub3JtYWxpemVyOiAoaW5wdXQ6IExpdGVyYWwpID0+IExpdGVyYWwgPSBOT09QX05PUk1BTElaRVIpOiBMaXRlcmFsIHtcbiAgICAgICAgaWYgKGpzb24gPT09IG51bGwgfHwganNvbiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShqc29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoanNvbi5tYXAoKGlucHV0KSA9PiBKc29uQ29udmVyc2lvbi52YWx1ZShpbnB1dCwgbm9ybWFsaXplcikpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YganNvbiA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgaWYgKCEoXCIkX3R5cGVcIiBpbiBqc29uKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwT2JqZWN0VmFsdWVzKGpzb24sICh2KSA9PiBKc29uQ29udmVyc2lvbi52YWx1ZSh2IGFzIEpzb25MaXRlcmFsLCBub3JtYWxpemVyKSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBqc29uW1wiJF90eXBlXCJdO1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoRGF0ZVRpbWUuZnJvbUlTTyhqc29uLnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgY2FzZSBcImR1cmF0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVyKER1cmF0aW9uLmZyb21JU08oanNvbi52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVyKExpbmsuZnJvbU9iamVjdChqc29uLnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgc2VyaWFsaXplZCB0eXBlICcke3R5cGV9JyFgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByaW1pdGl2ZSB0eXBlLCByZXR1cm4gYXMgaXMuXG4gICAgICAgIHJldHVybiBub3JtYWxpemVyKGpzb24gYXMgTGl0ZXJhbCk7XG4gICAgfVxufVxuIiwgIi8qKlxuICogQG1vZHVsZSBpbmRleGFibGVzXG4gKi9cbi8qKiBVdGlsaXRpZXMgZm9yIGNvbnZlcnRpbmcgbGl0ZXJhbCB0eXBlcyB0byBhbmQgZnJvbSB0aGVpciBZQU1MIGZyb250bWF0dGVyIHJlcHJlc2VudGF0aW9uLiAqL1xuXG5pbXBvcnQgeyBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IFBSSU1JVElWRVMgfSBmcm9tIFwiZXhwcmVzc2lvbi9wYXJzZXJcIjtcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyBtYXBPYmplY3RWYWx1ZXMgfSBmcm9tIFwidXRpbHMvZGF0YVwiO1xuXG4vKiogWUFNTC1mcmllbmRseSByZXByZXNlbnRhdGlvbiBmb3IgYSBsaXRlcmFsLiAqL1xuZXhwb3J0IHR5cGUgWWFtbExpdGVyYWwgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IFJlY29yZDxzdHJpbmcsIGFueT4gfCBBcnJheTxZYW1sTGl0ZXJhbD47XG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgbmFtZXNwYWNlIFlhbWxDb252ZXJzaW9uIHtcbiAgICAvKiogQ29udmVydCBhIGxpdGVyYWwgaW50byBhIHlhbWwgZnJpZW5kbHkgcmVwcmVzZW50YXRpb24uICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHlhbWwodmFsdWU6IExpdGVyYWwpOiBZYW1sTGl0ZXJhbCB7XG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSBMaXRlcmFscy53cmFwVmFsdWUobGl0ZXJhbCk7XG4gICAgICAgIGlmICghd3JhcHBlZCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgc3dpdGNoICh3cmFwcGVkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICBjYXNlIFwibnVsbFwiOlxuICAgICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlO1xuICAgICAgICAgICAgY2FzZSBcImFycmF5XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFwKHlhbWwpO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b0lTTygpO1xuICAgICAgICAgICAgY2FzZSBcImR1cmF0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUudG9IdW1hbigpO1xuICAgICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICBjYXNlIFwibGlua1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm1hcmtkb3duKCk7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcE9iamVjdFZhbHVlcyh3cmFwcGVkLnZhbHVlLCB5YW1sKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZWN1cnNpdmVseSBjb252ZXJ0IGEgWUFNTCBsaXRlcmFsIGludG8gYSByZWd1bGFyIGxpdGVyYWwgdmFsdWUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGxpdGVyYWwodmFsdWU6IFlhbWxMaXRlcmFsKTogTGl0ZXJhbCB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBjaGlsZCBvZiB2YWx1ZSBhcyBBcnJheTxhbnk+KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGxpdGVyYWwoY2hpbGQpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0ZVBhcnNlID0gRGF0ZVRpbWUuZnJvbUpTRGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVQYXJzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IG9iamVjdCA9IHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4gPSB7fTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbGl0ZXJhbChvYmplY3Rba2V5XSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBsZXQgZGF0ZVBhcnNlID0gUFJJTUlUSVZFUy5kYXRlLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChkYXRlUGFyc2Uuc3RhdHVzKSByZXR1cm4gZGF0ZVBhcnNlLnZhbHVlO1xuXG4gICAgICAgICAgICBsZXQgZHVyYXRpb25QYXJzZSA9IFBSSU1JVElWRVMuZHVyYXRpb24ucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGR1cmF0aW9uUGFyc2Uuc3RhdHVzKSByZXR1cm4gZHVyYXRpb25QYXJzZS52YWx1ZTtcblxuICAgICAgICAgICAgbGV0IGxpbmtQYXJzZSA9IFBSSU1JVElWRVMubGluay5wYXJzZSh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAobGlua1BhcnNlLnN0YXR1cykgcmV0dXJuIGxpbmtQYXJzZS52YWx1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQmFja3VwIGlmIHdlIGRvbid0IHVuZGVyc3RhbmQgdGhlIHR5cGUuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBGaWxlU3RhdHMgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGl0ZXJhdGVJbmxpbmVGaWVsZHMsIG1hcmtkb3duU291cmNlSW1wb3J0LCBNZXRhZGF0YSwgU2VjdGlvbkRhdGEgfSBmcm9tIFwiLi9tYXJrZG93blwiO1xuaW1wb3J0IHsgSnNvbkZyb250bWF0dGVyRW50cnkgfSBmcm9tIFwiaW5kZXgvdHlwZXMvanNvbi9tYXJrZG93blwiO1xuaW1wb3J0IHtcbiAgICBDYW52YXNNZXRhZGF0YUluZGV4LFxuICAgIEpzb25CYXNlQ2FudmFzQ2FyZCxcbiAgICBKc29uQ2FudmFzLFxuICAgIEpzb25DYW52YXNDYXJkLFxuICAgIEpzb25DYW52YXNGaWxlQ2FyZCxcbiAgICBKc29uQ2FudmFzVGV4dENhcmQsXG4gICAgSnNvbkNhbnZhc1dlYkNhcmQsXG59IGZyb20gXCJpbmRleC90eXBlcy9qc29uL2NhbnZhc1wiO1xuaW1wb3J0IHsgQ2FudmFzRmlsZURhdGEsIENhbnZhc0xpbmtEYXRhLCBDYW52YXNUZXh0RGF0YSwgQ2FudmFzRGF0YSBhcyBJQ2FudmFzIH0gZnJvbSBcIm9ic2lkaWFuL2NhbnZhc1wiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcblxuLyoqIEltcG9ydCBhIGNhbnZhcyBmaWxlIHVzaW5nIHRoZSBjYW52YXMgbWV0YWRhdGEuICovXG5leHBvcnQgZnVuY3Rpb24gY2FudmFzSW1wb3J0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBzb3VyY2U6IHN0cmluZyxcbiAgICBpbmRleDogQ2FudmFzTWV0YWRhdGFJbmRleFtcInN0cmluZ1wiXSxcbiAgICBzdGF0czogRmlsZVN0YXRzXG4pOiBKc29uQ2FudmFzIHtcbiAgICBjb25zdCBjYW52YXMgPSBuZXcgQ2FudmFzRGF0YShwYXRoLCBzdGF0cyk7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShzb3VyY2UpIGFzIElDYW52YXM7XG5cbiAgICBmb3IgKGNvbnN0IGMgb2YgcGFyc2VkLm5vZGVzKSB7XG4gICAgICAgIGlmIChjLnR5cGUgPT0gXCJncm91cFwiKSBjb250aW51ZTtcbiAgICAgICAgaWYgKGMudHlwZSA9PSBcInRleHRcIikge1xuICAgICAgICAgICAgY29uc3QgeyBmcm9udG1hdHRlciwgbWV0YWRhdGEsIGxpbmVzLCBzZWN0aW9ucyB9ID0gbWFya2Rvd25Tb3VyY2VJbXBvcnQocGF0aCwgYy50ZXh0LCBpbmRleC5jYWNoZXNbYy5pZF0pO1xuICAgICAgICAgICAgY29uc3QgY2FyZCA9IG5ldyBDYW52YXNDYXJkRGF0YShwYXRoLCBjLmlkLCBjLCBmcm9udG1hdHRlcik7XG4gICAgICAgICAgICBzZWN0aW9ucy5mb3JFYWNoKChpKSA9PiBjYXJkLnNlY3Rpb24oaSkpO1xuICAgICAgICAgICAgY2FudmFzLmNhcmQoY2FyZCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRhZyBpbiBtZXRhZGF0YS50YWdzKSBjYW52YXMubWV0YWRhdGEudGFnKHRhZyk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbWV0YWRhdGEubGlua3MgPz8gW10pIGNhbnZhcy5tZXRhZGF0YS5saW5rKGxpbmspO1xuICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBpdGVyYXRlSW5saW5lRmllbGRzKGxpbmVzKSkgY2FudmFzLm1ldGFkYXRhLmlubGluZUZpZWxkKGZpZWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGNhcmQgPSBuZXcgQ2FudmFzQ2FyZERhdGEocGF0aCwgYy5pZCwgYyk7XG4gICAgICAgICAgICBjYW52YXMuY2FyZChjYXJkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjYW52YXMuYnVpbGQoKTtcbn1cblxuLyoqIE1ldGFkYXRhIGZvciBhIHNwZWNpZmljIGNhbnZhcyBjYXJkLiAqL1xuYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RDYW52YXNDYXJkRGF0YSB7XG4gICAgcHVibGljIG1ldGFkYXRhOiBNZXRhZGF0YSA9IG5ldyBNZXRhZGF0YSgpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcGF0aDogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIG5vZGVKc29uOiBDYW52YXNUZXh0RGF0YSB8IENhbnZhc0xpbmtEYXRhIHwgQ2FudmFzRmlsZURhdGFcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogSnNvbkJhc2VDYW52YXNDYXJkIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRmaWxlOiB0aGlzLnBhdGgsXG4gICAgICAgICAgICAkaWQ6IHRoaXMuaWQsXG4gICAgICAgICAgICAkcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICB4OiB0aGlzLm5vZGVKc29uLngsXG4gICAgICAgICAgICAgICAgeTogdGhpcy5ub2RlSnNvbi55LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICRkaW1lbnNpb25zOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMubm9kZUpzb24ud2lkdGgsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLm5vZGVKc29uLmhlaWdodCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAkY29sb3I6IHRoaXMubm9kZUpzb24uY29sb3IsXG4gICAgICAgICAgICAkbGluazogTGluay5maWxlKHRoaXMucGF0aCkud2l0aEJsb2NrKHRoaXMuaWQpLnRvT2JqZWN0KCksXG4gICAgICAgIH07XG4gICAgfVxufVxuXG4vKiogTWV0YWRhdGEgZm9yIGEgc3BlY2lmaWMgY2FyZCBpbiBhIGNhbnZhcyB2aWV3LiAqL1xuZXhwb3J0IGNsYXNzIENhbnZhc0NhcmREYXRhIGV4dGVuZHMgQWJzdHJhY3RDYW52YXNDYXJkRGF0YSB7XG4gICAgcHVibGljIHNlY3Rpb25zOiBTZWN0aW9uRGF0YVtdID0gW107XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcGF0aDogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIG5vZGVKc29uOiBDYW52YXNUZXh0RGF0YSB8IENhbnZhc0xpbmtEYXRhIHwgQ2FudmFzRmlsZURhdGEsXG4gICAgICAgIHB1YmxpYyBmcm9udG1hdHRlcj86IFJlY29yZDxzdHJpbmcsIEpzb25Gcm9udG1hdHRlckVudHJ5PlxuICAgICkge1xuICAgICAgICBzdXBlcihwYXRoLCBpZCwgbm9kZUpzb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWN0aW9uKHNlY3Rpb246IFNlY3Rpb25EYXRhKTogU2VjdGlvbkRhdGEge1xuICAgICAgICB0aGlzLnNlY3Rpb25zLnB1c2goc2VjdGlvbik7XG4gICAgICAgIHJldHVybiBzZWN0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBidWlsZCgpOiBKc29uQ2FudmFzQ2FyZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5ub2RlSnNvbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLihzdXBlci5idWlsZCgpIGFzIEpzb25CYXNlQ2FudmFzQ2FyZCksXG4gICAgICAgICAgICAgICAgICAgICRpbmZpZWxkczogdGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSxcbiAgICAgICAgICAgICAgICAgICAgJGZyb250bWF0dGVyOiB0aGlzLmZyb250bWF0dGVyLFxuICAgICAgICAgICAgICAgICAgICAkc2VjdGlvbnM6IHRoaXMuc2VjdGlvbnMubWFwKCh4KSA9PiB4LmJ1aWxkKCkpLFxuICAgICAgICAgICAgICAgICAgICAkdGFnczogdGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksXG4gICAgICAgICAgICAgICAgICAgICRsaW5rczogdGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogXCJ0ZXh0LWNhcmRcIixcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yOiB0aGlzLm5vZGVKc29uLmNvbG9yLFxuICAgICAgICAgICAgICAgIH0gYXMgSnNvbkNhbnZhc1RleHRDYXJkO1xuICAgICAgICAgICAgY2FzZSBcImZpbGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5zdXBlci5idWlsZCgpLFxuICAgICAgICAgICAgICAgICAgICAkbGlua2VkRmlsZTogdGhpcy5ub2RlSnNvbi5maWxlLFxuICAgICAgICAgICAgICAgIH0gYXMgSnNvbkNhbnZhc0ZpbGVDYXJkO1xuICAgICAgICAgICAgY2FzZSBcImxpbmtcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5zdXBlci5idWlsZCgpLFxuICAgICAgICAgICAgICAgICAgICAkdXJsOiB0aGlzLm5vZGVKc29uLnVybCxcbiAgICAgICAgICAgICAgICB9IGFzIEpzb25DYW52YXNXZWJDYXJkO1xuICAgICAgICAgICAgLy8gcmV0dXJuIG5ld1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiogTWV0YWRhdGEgZm9yIHRoZSB3aG9sZSBjYW52YXMgcGFnZSBhcyBhIHdob2xlLiAqL1xuZXhwb3J0IGNsYXNzIENhbnZhc0RhdGEge1xuICAgIHB1YmxpYyBjYXJkczogQ2FudmFzQ2FyZERhdGFbXSA9IFtdO1xuICAgIHB1YmxpYyBtZXRhZGF0YTogTWV0YWRhdGEgPSBuZXcgTWV0YWRhdGEoKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgcGF0aDogc3RyaW5nLCBwdWJsaWMgc3RhdHM6IEZpbGVTdGF0cykge31cblxuICAgIHB1YmxpYyBjYXJkKGQ6IENhbnZhc0NhcmREYXRhKTogQ2FudmFzQ2FyZERhdGEge1xuICAgICAgICB0aGlzLmNhcmRzLnB1c2goZCk7XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cblxuICAgIHB1YmxpYyBidWlsZCgpOiBKc29uQ2FudmFzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRjYXJkczogdGhpcy5jYXJkcy5tYXAoKHgpID0+IHguYnVpbGQoKSksXG4gICAgICAgICAgICAkY3RpbWU6IHRoaXMuc3RhdHMuY3RpbWUsXG4gICAgICAgICAgICAkbXRpbWU6IHRoaXMuc3RhdHMubXRpbWUsXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSxcbiAgICAgICAgICAgICR0YWdzOiB0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSxcbiAgICAgICAgICAgICRwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgICAgICAkc2l6ZTogdGhpcy5zdGF0cy5zaXplLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBjYW52YXNJbXBvcnQgfSBmcm9tIFwiaW5kZXgvaW1wb3J0L2NhbnZhc1wiO1xuaW1wb3J0IHsgbWFya2Rvd25JbXBvcnQgfSBmcm9tIFwiaW5kZXgvaW1wb3J0L21hcmtkb3duXCI7XG5pbXBvcnQgeyBDYW52YXNJbXBvcnRSZXN1bHQsIEltcG9ydENvbW1hbmQsIE1hcmtkb3duSW1wb3J0UmVzdWx0IH0gZnJvbSBcImluZGV4L3dlYi13b3JrZXIvbWVzc2FnZVwiO1xuXG4vKiogV2ViIHdvcmtlciBlbnRyeSBwb2ludCBmb3IgaW1wb3J0aW5nLiAqL1xub25tZXNzYWdlID0gYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGV2ZW50LmRhdGEgYXMgSW1wb3J0Q29tbWFuZDtcblxuICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSBcIm1hcmtkb3duXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtkb3duID0gbWFya2Rvd25JbXBvcnQobWVzc2FnZS5wYXRoLCBtZXNzYWdlLmNvbnRlbnRzLCBtZXNzYWdlLm1ldGFkYXRhLCBtZXNzYWdlLnN0YXQpO1xuXG4gICAgICAgICAgICBwb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJtYXJrZG93blwiLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogbWFya2Rvd24sXG4gICAgICAgICAgICB9IGFzIE1hcmtkb3duSW1wb3J0UmVzdWx0KTtcbiAgICAgICAgfSBlbHNlIGlmIChtZXNzYWdlLnR5cGUgPT09IFwiY2FudmFzXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbnZhcyA9IGNhbnZhc0ltcG9ydChtZXNzYWdlLnBhdGgsIG1lc3NhZ2UuY29udGVudHMsIG1lc3NhZ2UuaW5kZXgsIG1lc3NhZ2Uuc3RhdCk7XG5cbiAgICAgICAgICAgIHBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImNhbnZhc1wiLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogY2FudmFzLFxuICAgICAgICAgICAgfSBhcyBDYW52YXNJbXBvcnRSZXN1bHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9zdE1lc3NhZ2UoeyAkZXJyb3I6IFwiVW5zdXBwb3J0ZWQgaW1wb3J0IG1ldGhvZC5cIiB9KTtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYERhdGFjb3JlIEluZGV4ZXIgZmFpbGVkIHRvIGluZGV4ICR7ZXZlbnQuZGF0YS5wYXRofTogJHtlcnJvcn1gKTtcbiAgICAgICAgcG9zdE1lc3NhZ2UoeyAkZXJyb3I6IGVycm9yLm1lc3NhZ2UgfSk7XG4gICAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICIwakRBQUEsSUFBQUEsR0FBQUMsR0FBQSxDQUFBQyxHQUFBQyxLQUFBLEVBQUMsU0FBUyxFQUFFQyxFQUFFLENBQVcsT0FBT0YsSUFBakIsVUFBb0MsT0FBT0MsSUFBakIsU0FBd0JBLEdBQU8sUUFBUUMsRUFBRSxFQUFjLE9BQU8sUUFBbkIsWUFBMkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFQSxDQUFDLEVBQVksT0FBT0YsSUFBakIsU0FBeUJBLEdBQVEsVUFBVUUsRUFBRSxFQUFFLEVBQUUsVUFBVUEsRUFBRSxDQUFDLEdBQWUsT0FBTyxNQUFwQixZQUF5QixLQUFLRixHQUFLLFVBQVUsQ0FBQyxPQUFPLFNBQVMsRUFBRSxDQUFDLElBQUlFLEVBQUUsQ0FBQyxFQUFFLFNBQVNDLEVBQUVDLEVBQUUsQ0FBQyxHQUFHRixFQUFFRSxDQUFDLEVBQUUsT0FBT0YsRUFBRUUsQ0FBQyxFQUFFLFFBQVEsSUFBSUMsRUFBRUgsRUFBRUUsQ0FBQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUVBLENBQUMsRUFBRSxLQUFLQyxFQUFFLFFBQVFBLEVBQUVBLEVBQUUsUUFBUUYsQ0FBQyxFQUFFRSxFQUFFLEVBQUUsR0FBR0EsRUFBRSxPQUFPLENBQUMsT0FBT0YsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRUQsRUFBRUMsRUFBRSxFQUFFLFNBQVNHLEVBQUVKLEVBQUVFLEVBQUUsQ0FBQ0QsRUFBRSxFQUFFRyxFQUFFSixDQUFDLEdBQUcsT0FBTyxlQUFlSSxFQUFFSixFQUFFLENBQUMsYUFBYSxHQUFHLFdBQVcsR0FBRyxJQUFJRSxDQUFDLENBQUMsQ0FBQyxFQUFFRCxFQUFFLEVBQUUsU0FBU0csRUFBRSxDQUFDLE9BQU8sZUFBZUEsRUFBRSxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFSCxFQUFFLEVBQUUsU0FBU0csRUFBRSxDQUFDLElBQUlKLEVBQUVJLEdBQUdBLEVBQUUsV0FBVyxVQUFVLENBQUMsT0FBT0EsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU9BLENBQUMsRUFBRSxPQUFPSCxFQUFFLEVBQUVELEVBQUUsSUFBSUEsQ0FBQyxFQUFFQSxDQUFDLEVBQUVDLEVBQUUsRUFBRSxTQUFTRyxFQUFFSixFQUFFLENBQUMsT0FBTyxPQUFPLFVBQVUsZUFBZSxLQUFLSSxFQUFFSixDQUFDLENBQUMsRUFBRUMsRUFBRSxFQUFFLEdBQUdBLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRUQsRUFBRUMsRUFBRSxDQUFDLGFBQWEsU0FBU0MsRUFBRUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0JGLEdBQUcsT0FBTyxJQUFJQSxFQUFFRSxDQUFDLEVBQUUsS0FBSyxFQUFFQSxDQUFDLENBQUMsSUFBSUQsRUFBRUQsRUFBRSxVQUFVLFNBQVNHLEVBQUVELEVBQUVKLEVBQUUsQ0FBQyxRQUFRQyxFQUFFLEVBQUVBLEVBQUVHLEVBQUVILElBQUlELEVBQUVDLENBQUMsQ0FBQyxDQUFDLFNBQVNLLEVBQUVGLEVBQUVKLEVBQUVDLEVBQUUsQ0FBQyxPQUFPLFNBQVNHLEVBQUVKLEVBQUUsQ0FBQ0ssRUFBRUwsRUFBRSxPQUFPLFNBQVNDLEVBQUUsQ0FBQ0csRUFBRUosRUFBRUMsQ0FBQyxFQUFFQSxFQUFFRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0MsRUFBRUMsRUFBRUMsRUFBRSxDQUFDSCxFQUFFSSxFQUFFSixFQUFFQyxFQUFFQyxFQUFFQyxDQUFDLENBQUMsRUFBRUYsQ0FBQyxFQUFFRCxDQUFDLENBQUMsU0FBUyxFQUFFSSxFQUFFSixFQUFFLENBQUMsT0FBT00sRUFBRSxTQUFTTixFQUFFQyxFQUFFQyxFQUFFQyxFQUFFLENBQUMsT0FBT0gsRUFBRSxPQUFPLENBQUNJLEVBQUVILEVBQUVDLEVBQUVDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUVILENBQUMsQ0FBQyxDQUFDLFNBQVNPLEVBQUVILEVBQUVKLEVBQUUsQ0FBQyxJQUFJQyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUlELENBQUMsRUFBRSxPQUFPSyxFQUFFRCxFQUFFLFVBQVUsQ0FBQyxJQUFJQSxFQUFFSCxFQUFFLENBQUMsRUFBRUEsRUFBRSxHQUFHLEdBQUdHLEVBQUVILEVBQUUsSUFBSUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLFNBQVNBLEVBQUUsQ0FBQyxJQUFJSixFQUFFTSxFQUFFLFNBQVNGLEVBQUVKLEVBQUVDLEdBQUVDLEdBQUUsQ0FBQyxPQUFPRSxFQUFFLE9BQU9ILEtBQUlDLEdBQUUsT0FBTyxFQUFFLE9BQU8sS0FBSyxDQUFDRixFQUFFLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxFQUFFRSxHQUFFLGFBQWFELEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFRyxDQUFDLEVBQUUsT0FBTyxPQUFPLEtBQUssRUFBRSxTQUFTQSxFQUFFLENBQUMsT0FBT0EsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFSixDQUFDLENBQUMsQ0FBQyxFQUFFQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVNPLEdBQUcsQ0FBQyxPQUFtQixPQUFPLFFBQXBCLFdBQTBCLENBQUMsU0FBU0MsR0FBRyxDQUFDLEdBQUcsQ0FBQ0QsRUFBRSxFQUFFLE1BQU0sSUFBSSxNQUFNLCtGQUErRixDQUFDLENBQUMsU0FBU0UsRUFBRU4sRUFBRSxDQUFDSyxFQUFFLEVBQUUsSUFBSVQsRUFBRU0sRUFBRSxTQUFTRixFQUFFSixFQUFFLENBQUMsT0FBT0ksRUFBRUosQ0FBQyxFQUFFLEVBQUVJLENBQUMsRUFBRSxHQUFHSixFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksTUFBTSxhQUFhSSxFQUFFLEtBQUssSUFBSSxFQUFFLGVBQWVKLEVBQUUsMkVBQTJFLEVBQUUsSUFBSUMsRUFBRUUsRUFBRUgsRUFBRSxFQUFFSyxHQUFHSixFQUFFLFNBQVNHLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLEVBQUUsRUFBRUUsRUFBRSxTQUFTRixFQUFFSixFQUFFLENBQUMsT0FBT0ksSUFBSUgsRUFBRUQsQ0FBQyxFQUFFQSxFQUFFSSxFQUFFLEVBQUUsS0FBS0EsQ0FBQyxHQUFHLEdBQUdDLEVBQUUsTUFBTSxJQUFJLE1BQU1BLEVBQUUsMERBQTBELEVBQUUsT0FBTyxJQUFJSCxFQUFFLFNBQVNGLEVBQUVDLEVBQUUsQ0FBQyxJQUFJQyxFQUFFQyxFQUFFRixFQUFFLE9BQU9DLEVBQUVGLEVBQUUsT0FBT1csRUFBRVYsRUFBRUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFUyxFQUFFVixFQUFFSSxFQUFFLFNBQVNGLEdBQUVKLEdBQUUsQ0FBQyxJQUFJQyxHQUFFTSxFQUFFUCxHQUFFSSxHQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBS0EsR0FBRSxLQUFLLE9BQU9ILEdBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJRCxFQUFFLE1BQU1DLEVBQUVDLENBQUMsQ0FBQyxFQUFFRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNTLEVBQUVULEVBQUVKLEVBQUUsQ0FBQyxPQUFPLElBQUlFLEVBQUUsU0FBU0QsRUFBRUMsRUFBRSxDQUFDLE9BQU9PLEVBQUUsRUFBRVAsRUFBRUYsRUFBRUMsRUFBRSxPQUFPVSxFQUFFVCxFQUFFRixFQUFFLGNBQWNJLENBQUMsRUFBRVEsRUFBRVYsRUFBRUYsRUFBRUMsRUFBRSxNQUFNQyxFQUFFQSxFQUFFRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTYyxFQUFFVixFQUFFSixFQUFFLENBQUMsR0FBYSxPQUFPQyxFQUFFRCxJQUFuQixVQUF1QixLQUFLLE1BQU1DLENBQUMsSUFBSUEsR0FBR0QsRUFBRSxHQUFHQSxFQUFFLEVBQUUsTUFBTSxJQUFJLE1BQU1JLEVBQUUsMkNBQTJDLEVBQUUsSUFBSUgsQ0FB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RUFFckMsTUFBT0EsRUFBUyxXQUFXLENBQUUsT0FBUSxDQUFFLENBQUMsRUFDeEMsT0FBUUEsRUFBUyxXQUFXLENBQUUsT0FBUSxDQUFFLENBQUMsRUFDekMsR0FBSUEsRUFBUyxXQUFXLENBQUUsT0FBUSxDQUFFLENBQUMsRUFDckMsSUFBS0EsRUFBUyxXQUFXLENBQUUsT0FBUSxDQUFFLENBQUMsRUFFdEMsS0FBTUEsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFDdEMsTUFBT0EsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFDdkMsR0FBSUEsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFDcEMsSUFBS0EsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFDckMsRUFBR0EsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFFbkMsSUFBS0EsRUFBUyxXQUFXLENBQUUsS0FBTSxDQUFFLENBQUMsRUFDcEMsS0FBTUEsRUFBUyxXQUFXLENBQUUsS0FBTSxDQUFFLENBQUMsRUFDckMsRUFBR0EsRUFBUyxXQUFXLENBQUUsS0FBTSxDQUFFLENBQUMsRUFFbEMsS0FBTUEsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFDdEMsTUFBT0EsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFDdkMsR0FBSUEsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFDcEMsSUFBS0EsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFDckMsRUFBR0EsRUFBUyxXQUFXLENBQUUsTUFBTyxDQUFFLENBQUMsRUFFbkMsT0FBUUEsRUFBUyxXQUFXLENBQUUsUUFBUyxDQUFFLENBQUMsRUFDMUMsUUFBU0EsRUFBUyxXQUFXLENBQUUsUUFBUyxDQUFFLENBQUMsRUFDM0MsSUFBS0EsRUFBUyxXQUFXLENBQUUsUUFBUyxDQUFFLENBQUMsRUFDdkMsS0FBTUEsRUFBUyxXQUFXLENBQUUsUUFBUyxDQUFFLENBQUMsRUFDeEMsRUFBR0EsRUFBUyxX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SSxZQUFZLENBQUUsT0FBUSw0QkFBNkIsQ0FBQyxDQUU1RCxPQUFTRSxFQUFPLENBQ1osUUFBUSxNQUFNLG9DQUFvQ04sRUFBTSxLQUFLLElBQUksS0FBS00sQ0FBSyxFQUFFLEVBQzdFLFlBQVksQ0FBRSxPQUFRQSxFQUFNLE9BQVEsQ0FBQyxDQUN6QyxDQUNKIiwKICAibmFtZXMiOiBbInJlcXVpcmVfcGFyc2ltbW9uX3VtZF9taW4iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0IiwgInIiLCAiZSIsICJ1IiwgIm4iLCAibyIsICJpIiwgImYiLCAiYyIsICJzIiwgImwiLCAieCIsICJiIiwgImgiLCAicCIsICJkIiwgInYiLCAiZyIsICJtIiwgInkiLCAiRSIsICJ3IiwgIkIiLCAiYSIsICJqIiwgIlMiLCAiXyIsICJMIiwgIk8iLCAiayIsICJQIiwgInEiLCAiQSIsICJJIiwgIkYiLCAiTSIsICJ6IiwgIlIiLCAiVSIsICJXIiwgIkQiLCAiTiIsICJHIiwgIkMiLCAiSiIsICJUIiwgIlkiLCAiViIsICJIIiwgIlgiLCAiSyIsICJRIiwgIloiLCAiJCIsICJubiIsICJ0biIsICJybiIsICJhbiIsICJlbiIsICJ1biIsICJvbiIsICJmbiIsICJjbiIsICJzbiIsICJsbiIsICJobiIsICJwbiIsICJkbiIsICJ2biIsICJnbiIsICJtbiIsICJ5biIsICJyZXF1aXJlX2JfdHJlZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiX19leHRlbmRzIiwgImV4dGVuZFN0YXRpY3MiLCAiZCIsICJiIiwgInAiLCAiX18iLCAiZGVmYXVsdENvbXBhcmF0b3IiLCAiYSIsICJ0YSIsICJ0YiIsICJzaW1wbGVDb21wYXJhdG9yIiwgIkJUcmVlIiwgImVudHJpZXMiLCAiY29tcGFyZSIsICJtYXhOb2RlU2l6ZSIsICJFbXB0eUxlYWYiLCAiY2FsbGJhY2siLCAidGhpc0FyZyIsICJfdGhpcyIsICJrIiwgInYiLCAiaW5pdGlhbENvdW50ZXIiLCAibG93IiwgImhpZ2giLCAia2V5IiwgImRlZmF1bHRWYWx1ZSIsICJ2YWx1ZSIsICJvdmVyd3JpdGUiLCAicmVzdWx0IiwgIkJOb2RlSW50ZXJuYWwiLCAiRGVsZXRlUmFuZ2UiLCAibnUiLCAicGFpcnMiLCAia2V5cyIsICJyZXR1cm5UaGlzSWZVbmNoYW5nZWQiLCAiY2hhbmdlZCIsICJpbmNsdWRlSGlnaCIsICJkZWwiLCAiaSIsICJEZWxldGUiLCAidG1wIiwgImluaXRpYWxWYWx1ZSIsICJpdCIsICJSZXVzZWRBcnJheSIsICJuZXh0IiwgImxvd2VzdEtleSIsICJyZXVzZWRBcnJheSIsICJpbmZvIiwgIml0ZXJhdG9yIiwgIm5vZGVxdWV1ZSIsICJub2RlaW5kZXgiLCAibGVhZiIsICJzdGF0ZSIsICJqdW1wIiwgImxldmVsIiwgImhpZ2hlc3RLZXkiLCAic2tpcEhpZ2hlc3QiLCAiX2EiLCAiY2hlY2siLCAibmV4dG5vZGUiLCAiRW1wdHlBcnJheSIsICJvdGhlciIsICJvbmx5VGhpcyIsICJvbmx5T3RoZXIiLCAiZGlmZmVyZW50IiwgIl9jb21wYXJlIiwgInRoaXNDdXJzb3IiLCAib3RoZXJDdXJzb3IiLCAidGhpc1N1Y2Nlc3MiLCAib3RoZXJTdWNjZXNzIiwgInByZXZDdXJzb3JPcmRlciIsICJjdXJzb3JPcmRlciIsICJ0aGlzTGVhZiIsICJ0aGlzSW50ZXJuYWxTcGluZSIsICJ0aGlzTGV2ZWxJbmRpY2VzIiwgIm90aGVyTGVhZiIsICJvdGhlckludGVybmFsU3BpbmUiLCAib3RoZXJMZXZlbEluZGljZXMiLCAidmFsVGhpcyIsICJ2YWxPdGhlciIsICJvdGhlclZhbCIsICJsYXN0VGhpcyIsICJsYXN0T3RoZXIiLCAibm9kZVRoaXMiLCAibm9kZU90aGVyIiwgImN1cnNvciIsICJjdXJzb3JGaW5pc2hlZCIsICJjb21wYXJlS2V5cyIsICJjb21wYXJlZCIsICJjYW5TdGVwIiwgImxldmVsSW5kaWNlcyIsICJjdXJyZW50S2V5IiwgInRyZWUiLCAiX3Jvb3QiLCAiaGVpZ2h0IiwgInN0ZXBUb05vZGUiLCAiaW50ZXJuYWxTcGluZSIsICJsZXZlbHNMZW5ndGgiLCAic3BpbmVMZW5ndGgiLCAibm9kZUxldmVsSW5kZXgiLCAibGV2ZWxJbmRleFdhbGtCYWNrIiwgInZhbHVlSW5kZXgiLCAibmV4dExldmVsIiwgImN1cnJlbnRMZXZlbCIsICJub2RlIiwgImNoaWxkcmVuIiwgImNoaWxkSW5kZXgiLCAiY3Vyc29yQSIsICJjdXJzb3JCIiwgImhlaWdodEEiLCAiY3VycmVudEtleUEiLCAibGV2ZWxJbmRpY2VzQSIsICJoZWlnaHRCIiwgImN1cnJlbnRLZXlCIiwgImxldmVsSW5kaWNlc0IiLCAia2V5Q29tcGFyaXNvbiIsICJoZWlnaHRNaW4iLCAiZGVwdGhBTm9ybWFsaXplZCIsICJkZXB0aEJOb3JtYWxpemVkIiwgImZpcnN0S2V5IiwgIm4iLCAiZm9yY2UiLCAibWF4TGVuZ3RoIiwgIm1pbiIsICJtYXgiLCAicmVzdWx0cyIsICJCcmVhayIsICJhZGRlZCIsICJvbkZvdW5kIiwgInIiLCAicm9vdCIsICJpc1NoYXJlZCIsICJ0IiwgInNpemUiLCAiYXNTZXQiLCAiYnRyZWUiLCAiQk5vZGUiLCAidmFsdWVzIiwgInVuZGVmVmFscyIsICJmYWlsWG9yIiwgImNtcCIsICJsbyIsICJoaSIsICJtaWQiLCAiYyIsICJsYXN0SW5kZXgiLCAiaW5jbHVzaXZlIiwgImluZGV4T3JMb3dlciIsICJkZXB0aCIsICJiYXNlSW5kZXgiLCAia0wiLCAidkwiLCAibmV3UmlnaHRTaWJsaW5nIiwgInRhcmdldCIsICJyaHMiLCAibGhzIiwgImhhbGYiLCAiZWRpdE1vZGUiLCAiY291bnQiLCAiaUxvdyIsICJpSGlnaCIsICJfIiwgIl9zdXBlciIsICJsZW5ndGgiLCAiY0wiLCAiY2hpbGRTaXplIiwgInRvb2ZldyIsICJjaGlsZCIsICJtYXhTaXplIiwgIm9sZExlbmd0aCIsICJyaHNDaGlsZHJlbiIsICJmYWN0IiwgImFyZ3MiLCAiX2kiLCAiTHV4b25FcnJvciIsICJJbnZhbGlkRGF0ZVRpbWVFcnJvciIsICJyZWFzb24iLCAiSW52YWxpZEludGVydmFsRXJyb3IiLCAiSW52YWxpZER1cmF0aW9uRXJyb3IiLCAiQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IiLCAiSW52YWxpZFVuaXRFcnJvciIsICJ1bml0IiwgIkludmFsaWRBcmd1bWVudEVycm9yIiwgIlpvbmVJc0Fic3RyYWN0RXJyb3IiLCAibiIsICJzIiwgImwiLCAiREFURV9TSE9SVCIsICJEQVRFX01FRCIsICJEQVRFX01FRF9XSVRIX1dFRUtEQVkiLCAiREFURV9GVUxMIiwgIkRBVEVfSFVHRSIsICJUSU1FX1NJTVBMRSIsICJUSU1FX1dJVEhfU0VDT05EUyIsICJUSU1FX1dJVEhfU0hPUlRfT0ZGU0VUIiwgIlRJTUVfV0lUSF9MT05HX09GRlNFVCIsICJUSU1FXzI0X1NJTVBMRSIsICJUSU1FXzI0X1dJVEhfU0VDT05EUyIsICJUSU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUIiwgIlRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCIsICJEQVRFVElNRV9TSE9SVCIsICJEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfTUVEIiwgIkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSIsICJEQVRFVElNRV9GVUxMIiwgIkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTIiwgIkRBVEVUSU1FX0hVR0UiLCAiREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMiLCAiaXNVbmRlZmluZWQiLCAibyIsICJpc051bWJlciIsICJpc0ludGVnZXIiLCAiaXNTdHJpbmciLCAiaXNEYXRlIiwgImhhc1JlbGF0aXZlIiwgImUiLCAibWF5YmVBcnJheSIsICJ0aGluZyIsICJiZXN0QnkiLCAiYXJyIiwgImJ5IiwgImNvbXBhcmUiLCAiYmVzdCIsICJuZXh0IiwgInBhaXIiLCAicGljayIsICJvYmoiLCAia2V5cyIsICJhIiwgImsiLCAiaGFzT3duUHJvcGVydHkiLCAicHJvcCIsICJpbnRlZ2VyQmV0d2VlbiIsICJib3R0b20iLCAidG9wIiwgImZsb29yTW9kIiwgIngiLCAibiIsICJwYWRTdGFydCIsICJpbnB1dCIsICJpc05lZyIsICJwYWRkZWQiLCAicGFyc2VJbnRlZ2VyIiwgInN0cmluZyIsICJwYXJzZUZsb2F0aW5nIiwgInBhcnNlTWlsbGlzIiwgImZyYWN0aW9uIiwgImYiLCAicm91bmRUbyIsICJudW1iZXIiLCAiZGlnaXRzIiwgInRvd2FyZFplcm8iLCAiZmFjdG9yIiwgImlzTGVhcFllYXIiLCAieWVhciIsICJkYXlzSW5ZZWFyIiwgImRheXNJbk1vbnRoIiwgIm1vbnRoIiwgIm1vZE1vbnRoIiwgIm1vZFllYXIiLCAib2JqVG9Mb2NhbFRTIiwgImQiLCAid2Vla3NJbldlZWtZZWFyIiwgIndlZWtZZWFyIiwgInAxIiwgImxhc3QiLCAicDIiLCAidW50cnVuY2F0ZVllYXIiLCAicGFyc2Vab25lSW5mbyIsICJ0cyIsICJvZmZzZXRGb3JtYXQiLCAibG9jYWxlIiwgInRpbWVab25lIiwgImRhdGUiLCAiaW50bE9wdHMiLCAibW9kaWZpZWQiLCAiX19zcHJlYWRWYWx1ZXMiLCAicGFyc2VkIiwgIm0iLCAic2lnbmVkT2Zmc2V0IiwgIm9mZkhvdXJTdHIiLCAib2ZmTWludXRlU3RyIiwgIm9mZkhvdXIiLCAib2ZmTWluIiwgIm9mZk1pblNpZ25lZCIsICJhc051bWJlciIsICJ2YWx1ZSIsICJudW1lcmljVmFsdWUiLCAiSW52YWxpZEFyZ3VtZW50RXJyb3IiLCAibm9ybWFsaXplT2JqZWN0IiwgIm5vcm1hbGl6ZXIiLCAibm9ybWFsaXplZCIsICJ1IiwgInYiLCAiZm9ybWF0T2Zmc2V0IiwgIm9mZnNldCIsICJmb3JtYXQiLCAiaG91cnMiLCAibWludXRlcyIsICJzaWduIiwgInRpbWVPYmplY3QiLCAiaWFuYVJlZ2V4IiwgIm1vbnRoc0xvbmciLCAibW9udGhzU2hvcnQiLCAibW9udGhzTmFycm93IiwgIm1vbnRocyIsICJsZW5ndGgiLCAid2Vla2RheXNMb25nIiwgIndlZWtkYXlzU2hvcnQiLCAid2Vla2RheXNOYXJyb3ciLCAid2Vla2RheXMiLCAibWVyaWRpZW1zIiwgImVyYXNMb25nIiwgImVyYXNTaG9ydCIsICJlcmFzTmFycm93IiwgImVyYXMiLCAibWVyaWRpZW1Gb3JEYXRlVGltZSIsICJkdCIsICJ3ZWVrZGF5Rm9yRGF0ZVRpbWUiLCAibW9udGhGb3JEYXRlVGltZSIsICJlcmFGb3JEYXRlVGltZSIsICJmb3JtYXRSZWxhdGl2ZVRpbWUiLCAidW5pdCIsICJjb3VudCIsICJudW1lcmljIiwgIm5hcnJvdyIsICJ1bml0cyIsICJsYXN0YWJsZSIsICJpc0RheSIsICJpc0luUGFzdCIsICJmbXRWYWx1ZSIsICJzaW5ndWxhciIsICJsaWxVbml0cyIsICJmbXRVbml0IiwgInN0cmluZ2lmeVRva2VucyIsICJzcGxpdHMiLCAidG9rZW5Ub1N0cmluZyIsICJzIiwgInRva2VuIiwgIm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHMiLCAiREFURV9TSE9SVCIsICJEQVRFX01FRCIsICJEQVRFX0ZVTEwiLCAiREFURV9IVUdFIiwgIlRJTUVfU0lNUExFIiwgIlRJTUVfV0lUSF9TRUNPTkRTIiwgIlRJTUVfV0lUSF9TSE9SVF9PRkZTRVQiLCAiVElNRV9XSVRIX0xPTkdfT0ZGU0VUIiwgIlRJTUVfMjRfU0lNUExFIiwgIlRJTUVfMjRfV0lUSF9TRUNPTkRTIiwgIlRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQiLCAiVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUIiwgIkRBVEVUSU1FX1NIT1JUIiwgIkRBVEVUSU1FX01FRCIsICJEQVRFVElNRV9GVUxMIiwgIkRBVEVUSU1FX0hVR0UiLCAiREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTIiwgIkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMiLCAiRm9ybWF0dGVyIiwgIl9Gb3JtYXR0ZXIiLCAibG9jYWxlIiwgIm9wdHMiLCAiZm10IiwgImN1cnJlbnQiLCAiY3VycmVudEZ1bGwiLCAiYnJhY2tldGVkIiwgImkiLCAiYyIsICJmb3JtYXRPcHRzIiwgImR0IiwgIl9fc3ByZWFkVmFsdWVzIiwgIm4iLCAicCIsICJwYWRTdGFydCIsICJrbm93bkVuZ2xpc2giLCAidXNlRGF0ZVRpbWVGb3JtYXR0ZXIiLCAic3RyaW5nIiwgImV4dHJhY3QiLCAiZm9ybWF0T2Zmc2V0IiwgIm1lcmlkaWVtIiwgIm1lcmlkaWVtRm9yRGF0ZVRpbWUiLCAibW9udGgiLCAibGVuZ3RoIiwgInN0YW5kYWxvbmUiLCAibW9udGhGb3JEYXRlVGltZSIsICJ3ZWVrZGF5IiwgIndlZWtkYXlGb3JEYXRlVGltZSIsICJtYXliZU1hY3JvIiwgImVyYSIsICJlcmFGb3JEYXRlVGltZSIsICJkdXIiLCAidG9rZW5Ub0ZpZWxkIiwgImxpbGR1ciIsICJtYXBwZWQiLCAidG9rZW5zIiwgInJlYWxUb2tlbnMiLCAiZm91bmQiLCAibGl0ZXJhbCIsICJ2YWwiLCAiY29sbGFwc2VkIiwgInQiLCAiSW52YWxpZCIsICJyZWFzb24iLCAiZXhwbGFuYXRpb24iLCAiWm9uZSIsICJab25lSXNBYnN0cmFjdEVycm9yIiwgInRzIiwgIm9wdHMiLCAiZm9ybWF0IiwgIm90aGVyWm9uZSIsICJzaW5nbGV0b24iLCAiU3lzdGVtWm9uZSIsICJfU3lzdGVtWm9uZSIsICJab25lIiwgInRzIiwgImZvcm1hdCIsICJsb2NhbGUiLCAicGFyc2Vab25lSW5mbyIsICJmb3JtYXRPZmZzZXQiLCAib3RoZXJab25lIiwgImR0ZkNhY2hlIiwgIm1ha2VEVEYiLCAiem9uZSIsICJ0eXBlVG9Qb3MiLCAiaGFja3lPZmZzZXQiLCAiZHRmIiwgImRhdGUiLCAiZm9ybWF0dGVkIiwgInBhcnNlZCIsICJmTW9udGgiLCAiZkRheSIsICJmWWVhciIsICJmYWRPckJjIiwgImZIb3VyIiwgImZNaW51dGUiLCAiZlNlY29uZCIsICJwYXJ0c09mZnNldCIsICJmaWxsZWQiLCAiaSIsICJ0eXBlIiwgInZhbHVlIiwgInBvcyIsICJpc1VuZGVmaW5lZCIsICJpYW5hWm9uZUNhY2hlIiwgIklBTkFab25lIiwgIl9JQU5BWm9uZSIsICJab25lIiwgIm5hbWUiLCAicyIsICJlIiwgInRzIiwgImZvcm1hdCIsICJsb2NhbGUiLCAicGFyc2Vab25lSW5mbyIsICJmb3JtYXRPZmZzZXQiLCAieWVhciIsICJtb250aCIsICJkYXkiLCAiYWRPckJjIiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJhc1VUQyIsICJvYmpUb0xvY2FsVFMiLCAiYXNUUyIsICJvdmVyIiwgIm90aGVyWm9uZSIsICJzaW5nbGV0b24iLCAiRml4ZWRPZmZzZXRab25lIiwgIl9GaXhlZE9mZnNldFpvbmUiLCAiWm9uZSIsICJvZmZzZXQiLCAicyIsICJyIiwgInNpZ25lZE9mZnNldCIsICJmb3JtYXRPZmZzZXQiLCAidHMiLCAiZm9ybWF0IiwgIm90aGVyWm9uZSIsICJJbnZhbGlkWm9uZSIsICJab25lIiwgInpvbmVOYW1lIiwgIm5vcm1hbGl6ZVpvbmUiLCAiaW5wdXQiLCAiZGVmYXVsdFpvbmUiLCAib2Zmc2V0IiwgImlzVW5kZWZpbmVkIiwgIlpvbmUiLCAiaXNTdHJpbmciLCAibG93ZXJlZCIsICJGaXhlZE9mZnNldFpvbmUiLCAiSUFOQVpvbmUiLCAiaXNOdW1iZXIiLCAiSW52YWxpZFpvbmUiLCAibm93IiwgImRlZmF1bHRab25lIiwgImRlZmF1bHRMb2NhbGUiLCAiZGVmYXVsdE51bWJlcmluZ1N5c3RlbSIsICJkZWZhdWx0T3V0cHV0Q2FsZW5kYXIiLCAidGhyb3dPbkludmFsaWQiLCAiU2V0dGluZ3MiLCAibiIsICJ6b25lIiwgIm5vcm1hbGl6ZVpvbmUiLCAiU3lzdGVtWm9uZSIsICJsb2NhbGUiLCAibnVtYmVyaW5nU3lzdGVtIiwgIm91dHB1dENhbGVuZGFyIiwgInQiLCAiTG9jYWxlIiwgIklBTkFab25lIiwgImludGxMRkNhY2hlIiwgImdldENhY2hlZExGIiwgImxvY1N0cmluZyIsICJvcHRzIiwgImtleSIsICJkdGYiLCAiaW50bERUQ2FjaGUiLCAiZ2V0Q2FjaGVkRFRGIiwgImludGxOdW1DYWNoZSIsICJnZXRDYWNoZWRJTkYiLCAiaW5mIiwgImludGxSZWxDYWNoZSIsICJnZXRDYWNoZWRSVEYiLCAiX2EiLCAiYmFzZSIsICJjYWNoZUtleU9wdHMiLCAiX19vYmpSZXN0IiwgInN5c0xvY2FsZUNhY2hlIiwgInN5c3RlbUxvY2FsZSIsICJwYXJzZUxvY2FsZVN0cmluZyIsICJsb2NhbGVTdHIiLCAidUluZGV4IiwgIm9wdGlvbnMiLCAic21hbGxlciIsICJlIiwgIm51bWJlcmluZ1N5c3RlbSIsICJjYWxlbmRhciIsICJpbnRsQ29uZmlnU3RyaW5nIiwgIm91dHB1dENhbGVuZGFyIiwgIm1hcE1vbnRocyIsICJmIiwgIm1zIiwgImkiLCAiZHQiLCAiRGF0ZVRpbWUiLCAibWFwV2Vla2RheXMiLCAibGlzdFN0dWZmIiwgImxvYyIsICJsZW5ndGgiLCAiZGVmYXVsdE9LIiwgImVuZ2xpc2hGbiIsICJpbnRsRm4iLCAibW9kZSIsICJzdXBwb3J0c0Zhc3ROdW1iZXJzIiwgIlBvbHlOdW1iZXJGb3JtYXR0ZXIiLCAiaW50bCIsICJmb3JjZVNpbXBsZSIsICJwYWRUbyIsICJmbG9vciIsICJvdGhlck9wdHMiLCAiaW50bE9wdHMiLCAiX19zcHJlYWRWYWx1ZXMiLCAiZml4ZWQiLCAicm91bmRUbyIsICJwYWRTdGFydCIsICJQb2x5RGF0ZUZvcm1hdHRlciIsICJ6IiwgImdtdE9mZnNldCIsICJvZmZzZXRaIiwgIklBTkFab25lIiwgIlBvbHlSZWxGb3JtYXR0ZXIiLCAiaXNFbmdsaXNoIiwgImhhc1JlbGF0aXZlIiwgImNvdW50IiwgInVuaXQiLCAiZm9ybWF0UmVsYXRpdmVUaW1lIiwgIkxvY2FsZSIsICJfTG9jYWxlIiwgImxvY2FsZSIsICJkZWZhdWx0VG9FTiIsICJzcGVjaWZpZWRMb2NhbGUiLCAiU2V0dGluZ3MiLCAibG9jYWxlUiIsICJudW1iZXJpbmdTeXN0ZW1SIiwgIm91dHB1dENhbGVuZGFyUiIsICJudW1iZXJpbmciLCAicGFyc2VkTG9jYWxlIiwgInBhcnNlZE51bWJlcmluZ1N5c3RlbSIsICJwYXJzZWRPdXRwdXRDYWxlbmRhciIsICJpc0FjdHVhbGx5RW4iLCAiaGFzTm9XZWlyZG5lc3MiLCAiYWx0cyIsICJfX3NwcmVhZFByb3BzIiwgImZvcm1hdCIsICJtb250aHMiLCAiZm9ybWF0U3RyIiwgIndlZWtkYXlzIiwgIm1lcmlkaWVtcyIsICJlcmFzIiwgImZpZWxkIiwgImRmIiwgInJlc3VsdHMiLCAibWF0Y2hpbmciLCAibSIsICJvdGhlciIsICJjb21iaW5lUmVnZXhlcyIsICJyZWdleGVzIiwgImZ1bGwiLCAiZiIsICJjb21iaW5lRXh0cmFjdG9ycyIsICJleHRyYWN0b3JzIiwgIm0iLCAibWVyZ2VkVmFscyIsICJtZXJnZWRab25lIiwgImN1cnNvciIsICJleCIsICJ2YWwiLCAiem9uZSIsICJuZXh0IiwgIl9fc3ByZWFkVmFsdWVzIiwgInBhcnNlIiwgInMiLCAicGF0dGVybnMiLCAicmVnZXgiLCAiZXh0cmFjdG9yIiwgInNpbXBsZVBhcnNlIiwgImtleXMiLCAibWF0Y2giLCAicmV0IiwgImkiLCAicGFyc2VJbnRlZ2VyIiwgIm9mZnNldFJlZ2V4IiwgImlzb0V4dGVuZGVkWm9uZSIsICJpYW5hUmVnZXgiLCAiaXNvVGltZUJhc2VSZWdleCIsICJpc29UaW1lUmVnZXgiLCAiaXNvVGltZUV4dGVuc2lvblJlZ2V4IiwgImlzb1ltZFJlZ2V4IiwgImlzb1dlZWtSZWdleCIsICJpc29PcmRpbmFsUmVnZXgiLCAiZXh0cmFjdElTT1dlZWtEYXRhIiwgImV4dHJhY3RJU09PcmRpbmFsRGF0YSIsICJzcWxZbWRSZWdleCIsICJzcWxUaW1lUmVnZXgiLCAic3FsVGltZUV4dGVuc2lvblJlZ2V4IiwgImludCIsICJwb3MiLCAiZmFsbGJhY2siLCAiaXNVbmRlZmluZWQiLCAiZXh0cmFjdElTT1ltZCIsICJleHRyYWN0SVNPVGltZSIsICJwYXJzZU1pbGxpcyIsICJleHRyYWN0SVNPT2Zmc2V0IiwgImxvY2FsIiwgImZ1bGxPZmZzZXQiLCAic2lnbmVkT2Zmc2V0IiwgIkZpeGVkT2Zmc2V0Wm9uZSIsICJleHRyYWN0SUFOQVpvbmUiLCAiSUFOQVpvbmUiLCAiaXNvVGltZU9ubHkiLCAiaXNvRHVyYXRpb24iLCAiZXh0cmFjdElTT0R1cmF0aW9uIiwgInllYXJTdHIiLCAibW9udGhTdHIiLCAid2Vla1N0ciIsICJkYXlTdHIiLCAiaG91clN0ciIsICJtaW51dGVTdHIiLCAic2Vjb25kU3RyIiwgIm1pbGxpc2Vjb25kc1N0ciIsICJoYXNOZWdhdGl2ZVByZWZpeCIsICJuZWdhdGl2ZVNlY29uZHMiLCAibWF5YmVOZWdhdGUiLCAibnVtIiwgImZvcmNlIiwgInBhcnNlRmxvYXRpbmciLCAib2JzT2Zmc2V0cyIsICJmcm9tU3RyaW5ncyIsICJ3ZWVrZGF5U3RyIiwgInJlc3VsdCIsICJ1bnRydW5jYXRlWWVhciIsICJtb250aHNTaG9ydCIsICJ3ZWVrZGF5c0xvbmciLCAid2Vla2RheXNTaG9ydCIsICJyZmMyODIyIiwgImV4dHJhY3RSRkMyODIyIiwgIm9ic09mZnNldCIsICJtaWxPZmZzZXQiLCAib2ZmSG91clN0ciIsICJvZmZNaW51dGVTdHIiLCAib2Zmc2V0IiwgInByZXByb2Nlc3NSRkMyODIyIiwgInJmYzExMjMiLCAicmZjODUwIiwgImFzY2lpIiwgImV4dHJhY3RSRkMxMTIzT3I4NTAiLCAiZXh0cmFjdEFTQ0lJIiwgImlzb1ltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgiLCAiaXNvV2Vla1dpdGhUaW1lRXh0ZW5zaW9uUmVnZXgiLCAiaXNvT3JkaW5hbFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgiLCAiaXNvVGltZUNvbWJpbmVkUmVnZXgiLCAiZXh0cmFjdElTT1ltZFRpbWVBbmRPZmZzZXQiLCAiZXh0cmFjdElTT1dlZWtUaW1lQW5kT2Zmc2V0IiwgImV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWUiLCAiZXh0cmFjdElTT1RpbWVBbmRPZmZzZXQiLCAicGFyc2VJU09EYXRlIiwgInBhcnNlUkZDMjgyMkRhdGUiLCAicGFyc2VIVFRQRGF0ZSIsICJwYXJzZUlTT0R1cmF0aW9uIiwgImV4dHJhY3RJU09UaW1lT25seSIsICJwYXJzZUlTT1RpbWVPbmx5IiwgInNxbFltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgiLCAic3FsVGltZUNvbWJpbmVkUmVnZXgiLCAiZXh0cmFjdElTT1RpbWVPZmZzZXRBbmRJQU5BWm9uZSIsICJwYXJzZVNRTCIsICJJTlZBTElEIiwgImxvd09yZGVyTWF0cml4IiwgImNhc3VhbE1hdHJpeCIsICJfX3NwcmVhZFZhbHVlcyIsICJkYXlzSW5ZZWFyQWNjdXJhdGUiLCAiZGF5c0luTW9udGhBY2N1cmF0ZSIsICJhY2N1cmF0ZU1hdHJpeCIsICJvcmRlcmVkVW5pdHMiLCAicmV2ZXJzZVVuaXRzIiwgImNsb25lIiwgImR1ciIsICJhbHRzIiwgImNsZWFyIiwgImNvbmYiLCAiRHVyYXRpb24iLCAiYW50aVRydW5jIiwgImNvbnZlcnQiLCAibWF0cml4IiwgImZyb21NYXAiLCAiZnJvbVVuaXQiLCAidG9NYXAiLCAidG9Vbml0IiwgImNvbnYiLCAicmF3IiwgInNhbWVTaWduIiwgImFkZGVkIiwgIm5vcm1hbGl6ZVZhbHVlcyIsICJ2YWxzIiwgInByZXZpb3VzIiwgImN1cnJlbnQiLCAiaXNVbmRlZmluZWQiLCAiX0R1cmF0aW9uIiwgImNvbmZpZyIsICJhY2N1cmF0ZSIsICJMb2NhbGUiLCAiY291bnQiLCAib3B0cyIsICJvYmoiLCAiSW52YWxpZEFyZ3VtZW50RXJyb3IiLCAibm9ybWFsaXplT2JqZWN0IiwgImR1cmF0aW9uTGlrZSIsICJpc051bWJlciIsICJ0ZXh0IiwgInBhcnNlZCIsICJwYXJzZUlTT0R1cmF0aW9uIiwgInBhcnNlSVNPVGltZU9ubHkiLCAicmVhc29uIiwgImV4cGxhbmF0aW9uIiwgImludmFsaWQiLCAiSW52YWxpZCIsICJTZXR0aW5ncyIsICJJbnZhbGlkRHVyYXRpb25FcnJvciIsICJ1bml0IiwgIm5vcm1hbGl6ZWQiLCAiSW52YWxpZFVuaXRFcnJvciIsICJvIiwgImZtdCIsICJmbXRPcHRzIiwgIl9fc3ByZWFkUHJvcHMiLCAiRm9ybWF0dGVyIiwgImwiLCAidmFsIiwgIm4iLCAicyIsICJyb3VuZFRvIiwgIm1pbGxpcyIsICJ2YWx1ZSIsICJzdHIiLCAiZHVyYXRpb24iLCAicmVzdWx0IiwgImsiLCAiaGFzT3duUHJvcGVydHkiLCAiZm4iLCAiYXNOdW1iZXIiLCAidmFsdWVzIiwgIm1peGVkIiwgImxvY2FsZSIsICJudW1iZXJpbmdTeXN0ZW0iLCAiY29udmVyc2lvbkFjY3VyYWN5IiwgImxvYyIsICJ1bml0cyIsICJ1IiwgImJ1aWx0IiwgImFjY3VtdWxhdGVkIiwgImxhc3RVbml0IiwgIm93biIsICJhayIsICJpIiwgImRvd24iLCAia2V5IiwgIm5lZ2F0ZWQiLCAib3RoZXIiLCAiZXEiLCAidjEiLCAidjIiLCAiSU5WQUxJRCIsICJ2YWxpZGF0ZVN0YXJ0RW5kIiwgInN0YXJ0IiwgImVuZCIsICJJbnRlcnZhbCIsICJfSW50ZXJ2YWwiLCAiY29uZmlnIiwgInJlYXNvbiIsICJleHBsYW5hdGlvbiIsICJJbnZhbGlkQXJndW1lbnRFcnJvciIsICJpbnZhbGlkIiwgIkludmFsaWQiLCAiU2V0dGluZ3MiLCAiSW52YWxpZEludGVydmFsRXJyb3IiLCAiYnVpbHRTdGFydCIsICJmcmllbmRseURhdGVUaW1lIiwgImJ1aWx0RW5kIiwgInZhbGlkYXRlRXJyb3IiLCAiZHVyYXRpb24iLCAiZHVyIiwgIkR1cmF0aW9uIiwgImR0IiwgInRleHQiLCAib3B0cyIsICJzIiwgImUiLCAic3RhcnRJc1ZhbGlkIiwgIkRhdGVUaW1lIiwgImVuZElzVmFsaWQiLCAibyIsICJ1bml0IiwgImRhdGVUaW1lIiwgImRhdGVUaW1lcyIsICJzb3J0ZWQiLCAiZCIsICJyZXN1bHRzIiwgImFkZGVkIiwgIm5leHQiLCAiaWR4IiwgIngiLCAibnVtYmVyT2ZQYXJ0cyIsICJvdGhlciIsICJpbnRlcnZhbHMiLCAiZm91bmQiLCAiZmluYWwiLCAiYSIsICJiIiwgInNvZmFyIiwgImN1cnJlbnQiLCAiaXRlbSIsICJjdXJyZW50Q291bnQiLCAiZW5kcyIsICJpIiwgImZsYXR0ZW5lZCIsICJhcnIiLCAiZGF0ZUZvcm1hdCIsICJzZXBhcmF0b3IiLCAibWFwRm4iLCAiSW5mbyIsICJ6b25lIiwgIlNldHRpbmdzIiwgInByb3RvIiwgIkRhdGVUaW1lIiwgIklBTkFab25lIiwgImlucHV0IiwgIm5vcm1hbGl6ZVpvbmUiLCAibGVuZ3RoIiwgImxvY2FsZSIsICJudW1iZXJpbmdTeXN0ZW0iLCAibG9jT2JqIiwgIm91dHB1dENhbGVuZGFyIiwgIkxvY2FsZSIsICJoYXNSZWxhdGl2ZSIsICJkYXlEaWZmIiwgImVhcmxpZXIiLCAibGF0ZXIiLCAidXRjRGF5U3RhcnQiLCAiZHQiLCAibXMiLCAiRHVyYXRpb24iLCAiaGlnaE9yZGVyRGlmZnMiLCAiY3Vyc29yIiwgInVuaXRzIiwgImRpZmZlcnMiLCAiYiIsICJkYXlzIiwgInJlc3VsdHMiLCAibG93ZXN0T3JkZXIiLCAiaGlnaFdhdGVyIiwgInVuaXQiLCAiZGlmZmVyIiwgImRlbHRhIiwgImRpZmZfZGVmYXVsdCIsICJvcHRzIiwgInJlbWFpbmluZ01pbGxpcyIsICJsb3dlck9yZGVyVW5pdHMiLCAidSIsICJkdXJhdGlvbiIsICJudW1iZXJpbmdTeXN0ZW1zIiwgIm51bWJlcmluZ1N5c3RlbXNVVEYxNiIsICJoYW5pZGVjQ2hhcnMiLCAicGFyc2VEaWdpdHMiLCAic3RyIiwgInZhbHVlIiwgImkiLCAiY29kZSIsICJrZXkiLCAibWluIiwgIm1heCIsICJkaWdpdFJlZ2V4IiwgIm51bWJlcmluZ1N5c3RlbSIsICJhcHBlbmQiLCAiTUlTU0lOR19GVFAiLCAiaW50VW5pdCIsICJyZWdleCIsICJwb3N0IiwgImkiLCAicyIsICJwYXJzZURpZ2l0cyIsICJOQlNQIiwgInNwYWNlT3JOQlNQIiwgInNwYWNlT3JOQlNQUmVnRXhwIiwgImZpeExpc3RSZWdleCIsICJzdHJpcEluc2Vuc2l0aXZpdGllcyIsICJvbmVPZiIsICJzdHJpbmdzIiwgInN0YXJ0SW5kZXgiLCAib2Zmc2V0IiwgImdyb3VwcyIsICJoIiwgIm0iLCAic2lnbmVkT2Zmc2V0IiwgInNpbXBsZSIsICJlc2NhcGVUb2tlbiIsICJ2YWx1ZSIsICJ1bml0Rm9yVG9rZW4iLCAidG9rZW4iLCAibG9jIiwgIm9uZSIsICJkaWdpdFJlZ2V4IiwgInR3byIsICJ0aHJlZSIsICJmb3VyIiwgInNpeCIsICJvbmVPclR3byIsICJvbmVUb1RocmVlIiwgIm9uZVRvU2l4IiwgIm9uZVRvTmluZSIsICJ0d29Ub0ZvdXIiLCAiZm91clRvU2l4IiwgImxpdGVyYWwiLCAidCIsICJ1bml0IiwgInVudHJ1bmNhdGVZZWFyIiwgInBhcnRUeXBlU3R5bGVUb1Rva2VuVmFsIiwgInRva2VuRm9yUGFydCIsICJwYXJ0IiwgImxvY2FsZSIsICJmb3JtYXRPcHRzIiwgInR5cGUiLCAic3R5bGUiLCAidmFsIiwgImJ1aWxkUmVnZXgiLCAidW5pdHMiLCAidSIsICJmIiwgIm1hdGNoIiwgImlucHV0IiwgImhhbmRsZXJzIiwgIm1hdGNoZXMiLCAiYWxsIiwgIm1hdGNoSW5kZXgiLCAiaGFzT3duUHJvcGVydHkiLCAiZGF0ZVRpbWVGcm9tTWF0Y2hlcyIsICJ0b0ZpZWxkIiwgInpvbmUiLCAic3BlY2lmaWNPZmZzZXQiLCAiaXNVbmRlZmluZWQiLCAiSUFOQVpvbmUiLCAiRml4ZWRPZmZzZXRab25lIiwgInBhcnNlTWlsbGlzIiwgInIiLCAiayIsICJkdW1teURhdGVUaW1lQ2FjaGUiLCAiZ2V0RHVtbXlEYXRlVGltZSIsICJEYXRlVGltZSIsICJtYXliZUV4cGFuZE1hY3JvVG9rZW4iLCAiRm9ybWF0dGVyIiwgInRva2VucyIsICJwIiwgImV4cGFuZE1hY3JvVG9rZW5zIiwgImV4cGxhaW5Gcm9tVG9rZW5zIiwgImZvcm1hdCIsICJkaXNxdWFsaWZ5aW5nVW5pdCIsICJyZWdleFN0cmluZyIsICJyYXdNYXRjaGVzIiwgInJlc3VsdCIsICJDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciIsICJwYXJzZUZyb21Ub2tlbnMiLCAiaW52YWxpZFJlYXNvbiIsICJub25MZWFwTGFkZGVyIiwgImxlYXBMYWRkZXIiLCAidW5pdE91dE9mUmFuZ2UiLCAidW5pdCIsICJ2YWx1ZSIsICJJbnZhbGlkIiwgImRheU9mV2VlayIsICJ5ZWFyIiwgIm1vbnRoIiwgImRheSIsICJkIiwgImpzIiwgImNvbXB1dGVPcmRpbmFsIiwgImlzTGVhcFllYXIiLCAidW5jb21wdXRlT3JkaW5hbCIsICJvcmRpbmFsIiwgInRhYmxlIiwgIm1vbnRoMCIsICJncmVnb3JpYW5Ub1dlZWsiLCAiZ3JlZ09iaiIsICJ3ZWVrZGF5IiwgIndlZWtOdW1iZXIiLCAid2Vla1llYXIiLCAid2Vla3NJbldlZWtZZWFyIiwgIl9fc3ByZWFkVmFsdWVzIiwgInRpbWVPYmplY3QiLCAid2Vla1RvR3JlZ29yaWFuIiwgIndlZWtEYXRhIiwgIndlZWtkYXlPZkphbjQiLCAieWVhckluRGF5cyIsICJkYXlzSW5ZZWFyIiwgImdyZWdvcmlhblRvT3JkaW5hbCIsICJncmVnRGF0YSIsICJvcmRpbmFsVG9HcmVnb3JpYW4iLCAib3JkaW5hbERhdGEiLCAiaGFzSW52YWxpZFdlZWtEYXRhIiwgIm9iaiIsICJ2YWxpZFllYXIiLCAiaXNJbnRlZ2VyIiwgInZhbGlkV2VlayIsICJpbnRlZ2VyQmV0d2VlbiIsICJ2YWxpZFdlZWtkYXkiLCAiaGFzSW52YWxpZE9yZGluYWxEYXRhIiwgInZhbGlkT3JkaW5hbCIsICJoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YSIsICJ2YWxpZE1vbnRoIiwgInZhbGlkRGF5IiwgImRheXNJbk1vbnRoIiwgImhhc0ludmFsaWRUaW1lRGF0YSIsICJob3VyIiwgIm1pbnV0ZSIsICJzZWNvbmQiLCAibWlsbGlzZWNvbmQiLCAidmFsaWRIb3VyIiwgInZhbGlkTWludXRlIiwgInZhbGlkU2Vjb25kIiwgInZhbGlkTWlsbGlzZWNvbmQiLCAiSU5WQUxJRCIsICJNQVhfREFURSIsICJ1bnN1cHBvcnRlZFpvbmUiLCAiem9uZSIsICJJbnZhbGlkIiwgInBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEiLCAiZHQiLCAiZ3JlZ29yaWFuVG9XZWVrIiwgImNsb25lIiwgImluc3QiLCAiYWx0cyIsICJjdXJyZW50IiwgIkRhdGVUaW1lIiwgIl9fc3ByZWFkUHJvcHMiLCAiX19zcHJlYWRWYWx1ZXMiLCAiZml4T2Zmc2V0IiwgImxvY2FsVFMiLCAibyIsICJ0eiIsICJ1dGNHdWVzcyIsICJvMiIsICJvMyIsICJ0c1RvT2JqIiwgInRzIiwgIm9mZnNldCIsICJkIiwgIm9ialRvVFMiLCAib2JqIiwgIm9ialRvTG9jYWxUUyIsICJhZGp1c3RUaW1lIiwgImR1ciIsICJvUHJlIiwgInllYXIiLCAibW9udGgiLCAiYyIsICJkYXlzSW5Nb250aCIsICJtaWxsaXNUb0FkZCIsICJEdXJhdGlvbiIsICJwYXJzZURhdGFUb0RhdGVUaW1lIiwgInBhcnNlZCIsICJwYXJzZWRab25lIiwgIm9wdHMiLCAiZm9ybWF0IiwgInRleHQiLCAic3BlY2lmaWNPZmZzZXQiLCAic2V0Wm9uZSIsICJpbnRlcnByZXRhdGlvblpvbmUiLCAidG9UZWNoRm9ybWF0IiwgImFsbG93WiIsICJGb3JtYXR0ZXIiLCAiTG9jYWxlIiwgInRvSVNPRGF0ZSIsICJleHRlbmRlZCIsICJsb25nRm9ybWF0IiwgInBhZFN0YXJ0IiwgInRvSVNPVGltZSIsICJzdXBwcmVzc1NlY29uZHMiLCAic3VwcHJlc3NNaWxsaXNlY29uZHMiLCAiaW5jbHVkZU9mZnNldCIsICJleHRlbmRlZFpvbmUiLCAiZGVmYXVsdFVuaXRWYWx1ZXMiLCAiZGVmYXVsdFdlZWtVbml0VmFsdWVzIiwgImRlZmF1bHRPcmRpbmFsVW5pdFZhbHVlcyIsICJvcmRlcmVkVW5pdHMiLCAib3JkZXJlZFdlZWtVbml0cyIsICJvcmRlcmVkT3JkaW5hbFVuaXRzIiwgIm5vcm1hbGl6ZVVuaXQiLCAidW5pdCIsICJub3JtYWxpemVkIiwgIkludmFsaWRVbml0RXJyb3IiLCAicXVpY2tEVCIsICJub3JtYWxpemVab25lIiwgIlNldHRpbmdzIiwgImxvYyIsICJ0c05vdyIsICJpc1VuZGVmaW5lZCIsICJ1IiwgImludmFsaWQiLCAiaGFzSW52YWxpZEdyZWdvcmlhbkRhdGEiLCAiaGFzSW52YWxpZFRpbWVEYXRhIiwgIm9mZnNldFByb3ZpcyIsICJkaWZmUmVsYXRpdmUiLCAic3RhcnQiLCAiZW5kIiwgInJvdW5kIiwgInJvdW5kVG8iLCAiZGlmZmVyIiwgImNvdW50IiwgImxhc3RPcHRzIiwgImFyZ0xpc3QiLCAiYXJncyIsICJfRGF0ZVRpbWUiLCAiY29uZmlnIiwgIm90IiwgImRheSIsICJob3VyIiwgIm1pbnV0ZSIsICJzZWNvbmQiLCAibWlsbGlzZWNvbmQiLCAiRml4ZWRPZmZzZXRab25lIiwgImRhdGUiLCAib3B0aW9ucyIsICJpc0RhdGUiLCAiem9uZVRvVXNlIiwgIm1pbGxpc2Vjb25kcyIsICJpc051bWJlciIsICJJbnZhbGlkQXJndW1lbnRFcnJvciIsICJzZWNvbmRzIiwgIm5vcm1hbGl6ZU9iamVjdCIsICJjb250YWluc09yZGluYWwiLCAiY29udGFpbnNHcmVnb3JZZWFyIiwgImNvbnRhaW5zR3JlZ29yTUQiLCAiY29udGFpbnNHcmVnb3IiLCAiZGVmaW5pdGVXZWVrRGVmIiwgIkNvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yIiwgInVzZVdlZWtEYXRhIiwgInVuaXRzIiwgImRlZmF1bHRWYWx1ZXMiLCAib2JqTm93IiwgImdyZWdvcmlhblRvT3JkaW5hbCIsICJmb3VuZEZpcnN0IiwgInYiLCAiaGlnaGVyT3JkZXJJbnZhbGlkIiwgImhhc0ludmFsaWRXZWVrRGF0YSIsICJoYXNJbnZhbGlkT3JkaW5hbERhdGEiLCAiZ3JlZ29yaWFuIiwgIndlZWtUb0dyZWdvcmlhbiIsICJvcmRpbmFsVG9HcmVnb3JpYW4iLCAidHNGaW5hbCIsICJvZmZzZXRGaW5hbCIsICJ2YWxzIiwgInBhcnNlSVNPRGF0ZSIsICJwYXJzZVJGQzI4MjJEYXRlIiwgInBhcnNlSFRUUERhdGUiLCAiZm10IiwgImxvY2FsZSIsICJudW1iZXJpbmdTeXN0ZW0iLCAibG9jYWxlVG9Vc2UiLCAicGFyc2VGcm9tVG9rZW5zIiwgInBhcnNlU1FMIiwgInJlYXNvbiIsICJleHBsYW5hdGlvbiIsICJJbnZhbGlkRGF0ZVRpbWVFcnJvciIsICJJbmZvIiwgImlzTGVhcFllYXIiLCAiZGF5c0luWWVhciIsICJ3ZWVrc0luV2Vla1llYXIiLCAiY2FsZW5kYXIiLCAia2VlcExvY2FsVGltZSIsICJrZWVwQ2FsZW5kYXJUaW1lIiwgIm5ld1RTIiwgIm9mZnNldEd1ZXNzIiwgImFzT2JqIiwgIm91dHB1dENhbGVuZGFyIiwgInZhbHVlcyIsICJzZXR0aW5nV2Vla1N0dWZmIiwgIm1peGVkIiwgImR1cmF0aW9uIiwgIm5vcm1hbGl6ZWRVbml0IiwgInEiLCAiZm9ybWF0T3B0cyIsICJEQVRFX1NIT1JUIiwgImV4dCIsICJpbmNsdWRlUHJlZml4IiwgImluY2x1ZGVab25lIiwgImluY2x1ZGVPZmZzZXRTcGFjZSIsICJiYXNlIiwgIm90aGVyRGF0ZVRpbWUiLCAiZHVyT3B0cyIsICJtYXliZUFycmF5IiwgIm90aGVySXNMYXRlciIsICJlYXJsaWVyIiwgImxhdGVyIiwgImRpZmZlZCIsICJkaWZmX2RlZmF1bHQiLCAiSW50ZXJ2YWwiLCAiaW5wdXRNcyIsICJhZGp1c3RlZFRvWm9uZSIsICJvdGhlciIsICJwYWRkaW5nIiwgImRhdGVUaW1lcyIsICJiZXN0QnkiLCAiaSIsICJleHBsYWluRnJvbVRva2VucyIsICJEQVRFX01FRCIsICJEQVRFX01FRF9XSVRIX1dFRUtEQVkiLCAiREFURV9GVUxMIiwgIkRBVEVfSFVHRSIsICJUSU1FX1NJTVBMRSIsICJUSU1FX1dJVEhfU0VDT05EUyIsICJUSU1FX1dJVEhfU0hPUlRfT0ZGU0VUIiwgIlRJTUVfV0lUSF9MT05HX09GRlNFVCIsICJUSU1FXzI0X1NJTVBMRSIsICJUSU1FXzI0X1dJVEhfU0VDT05EUyIsICJUSU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUIiwgIlRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCIsICJEQVRFVElNRV9TSE9SVCIsICJEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfTUVEIiwgIkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMiLCAiREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSIsICJEQVRFVElNRV9GVUxMIiwgIkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTIiwgIkRBVEVUSU1FX0hVR0UiLCAiREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMiLCAiZnJpZW5kbHlEYXRlVGltZSIsICJkYXRlVGltZWlzaCIsICJQIiwgImVtb2ppX3JlZ2V4X2RlZmF1bHQiLCAibm9ybWFsaXplRHVyYXRpb24iLCAiZHVyIiwgInJlbmRlck1pbmltYWxEYXRlIiwgInRpbWUiLCAiZGF0ZUZvcm1hdCIsICJkYXRlVGltZUZvcm1hdCIsICJsb2NhbGUiLCAicmVuZGVyTWluaW1hbER1cmF0aW9uIiwgImR1ciIsICJub3JtYWxpemVEdXJhdGlvbiIsICJyZXN1bHQiLCAiZ2V0RmlsZVRpdGxlIiwgInBhdGgiLCAiZ2V0RXh0ZW5zaW9uIiwgIkhFQURFUl9DQU5PTklDQUxJWkVSIiwgImVtb2ppX3JlZ2V4X2RlZmF1bHQiLCAiXyIsICJyZXN1bHQiLCAibm9ybWFsaXplSGVhZGVyRm9yTGluayIsICJoZWFkZXIiLCAiTGluayIsICJfTGluayIsICJwYXRoIiwgImVtYmVkIiwgImRpc3BsYXkiLCAibGlua3BhdGgiLCAic3BsaXQiLCAiaGVhZGVyIiwgIm5vcm1hbGl6ZUhlYWRlckZvckxpbmsiLCAiYmxvY2tJZCIsICJvYmplY3QiLCAicmF3bGluayIsICJsaW5rIiwgInNwbGl0T25VbmVzY2FwZWRQaXBlIiwgImZpZWxkcyIsICJibG9jayIsICJvdGhlciIsICJyZXN1bHQiLCAiZ2V0RmlsZVRpdGxlIiwgIl9hIiwgIl9iIiwgImVzY2FwZWQiLCAicGlwZSIsICJBTElBUyIsICJET0MiLCAiTUFQIiwgIlBBSVIiLCAiU0NBTEFSIiwgIlNFUSIsICJOT0RFX1RZUEUiLCAiaXNBbGlhcyIsICJub2RlIiwgImlzRG9jdW1lbnQiLCAiaXNNYXAiLCAiaXNQYWlyIiwgImlzU2NhbGFyIiwgImlzU2VxIiwgImlzQ29sbGVjdGlvbiIsICJpc05vZGUiLCAiaGFzQW5jaG9yIiwgIkJSRUFLIiwgIlNLSVAiLCAiUkVNT1ZFIiwgInZpc2l0IiwgIm5vZGUiLCAidmlzaXRvciIsICJ2aXNpdG9yXyIsICJpbml0VmlzaXRvciIsICJpc0RvY3VtZW50IiwgInZpc2l0XyIsICJrZXkiLCAicGF0aCIsICJjdHJsIiwgImNhbGxWaXNpdG9yIiwgImlzTm9kZSIsICJpc1BhaXIiLCAicmVwbGFjZU5vZGUiLCAiaXNDb2xsZWN0aW9uIiwgImNpIiwgImNrIiwgImN2IiwgInZpc2l0QXN5bmMiLCAidmlzaXRBc3luY18iLCAiX2EiLCAiX2IiLCAiX2MiLCAiX2QiLCAiX2UiLCAiaXNNYXAiLCAiaXNTZXEiLCAiaXNTY2FsYXIiLCAiaXNBbGlhcyIsICJwYXJlbnQiLCAicHQiLCAiZXNjYXBlQ2hhcnMiLCAiZXNjYXBlVGFnTmFtZSIsICJ0biIsICJjaCIsICJEaXJlY3RpdmVzIiwgIl9EaXJlY3RpdmVzIiwgInlhbWwiLCAidGFncyIsICJjb3B5IiwgInJlcyIsICJsaW5lIiwgIm9uRXJyb3IiLCAicGFydHMiLCAibmFtZSIsICJoYW5kbGUiLCAicHJlZml4IiwgInZlcnNpb24iLCAiaXNWYWxpZCIsICJzb3VyY2UiLCAidmVyYmF0aW0iLCAic3VmZml4IiwgImVycm9yIiwgInRhZyIsICJkb2MiLCAibGluZXMiLCAidGFnRW50cmllcyIsICJ0YWdOYW1lcyIsICJpc05vZGUiLCAidmlzaXQiLCAiX2tleSIsICJub2RlIiwgImFuY2hvcklzVmFsaWQiLCAiYW5jaG9yIiwgIm1zZyIsICJhbmNob3JOYW1lcyIsICJyb290IiwgImFuY2hvcnMiLCAidmlzaXQiLCAiX2tleSIsICJub2RlIiwgImZpbmROZXdBbmNob3IiLCAicHJlZml4IiwgImV4Y2x1ZGUiLCAiaSIsICJuYW1lIiwgImNyZWF0ZU5vZGVBbmNob3JzIiwgImRvYyIsICJhbGlhc09iamVjdHMiLCAic291cmNlT2JqZWN0cyIsICJwcmV2QW5jaG9ycyIsICJzb3VyY2UiLCAicmVmIiwgImlzU2NhbGFyIiwgImlzQ29sbGVjdGlvbiIsICJlcnJvciIsICJhcHBseVJldml2ZXIiLCAicmV2aXZlciIsICJvYmoiLCAia2V5IiwgInZhbCIsICJpIiwgImxlbiIsICJ2MCIsICJ2MSIsICJrIiwgInRvSlMiLCAidmFsdWUiLCAiYXJnIiwgImN0eCIsICJ2IiwgImkiLCAiaGFzQW5jaG9yIiwgImRhdGEiLCAicmVzIiwgIk5vZGVCYXNlIiwgInR5cGUiLCAiTk9ERV9UWVBFIiwgImNvcHkiLCAiZG9jIiwgIm1hcEFzTWFwIiwgIm1heEFsaWFzQ291bnQiLCAib25BbmNob3IiLCAicmV2aXZlciIsICJpc0RvY3VtZW50IiwgImN0eCIsICJyZXMiLCAidG9KUyIsICJjb3VudCIsICJhcHBseVJldml2ZXIiLCAiQWxpYXMiLCAiTm9kZUJhc2UiLCAic291cmNlIiwgIkFMSUFTIiwgImRvYyIsICJmb3VuZCIsICJ2aXNpdCIsICJfa2V5IiwgIm5vZGUiLCAiX2FyZyIsICJjdHgiLCAiYW5jaG9ycyIsICJtYXhBbGlhc0NvdW50IiwgIm1zZyIsICJkYXRhIiwgInRvSlMiLCAiZ2V0QWxpYXNDb3VudCIsICJfb25Db21tZW50IiwgIl9vbkNob21wS2VlcCIsICJzcmMiLCAiYW5jaG9ySXNWYWxpZCIsICJpc0FsaWFzIiwgImFuY2hvciIsICJpc0NvbGxlY3Rpb24iLCAiY291bnQiLCAiaXRlbSIsICJjIiwgImlzUGFpciIsICJrYyIsICJ2YyIsICJpc1NjYWxhclZhbHVlIiwgInZhbHVlIiwgIlNjYWxhciIsICJOb2RlQmFzZSIsICJTQ0FMQVIiLCAiYXJnIiwgImN0eCIsICJ0b0pTIiwgImRlZmF1bHRUYWdQcmVmaXgiLCAiZmluZFRhZ09iamVjdCIsICJ2YWx1ZSIsICJ0YWdOYW1lIiwgInRhZ3MiLCAiX2EiLCAibWF0Y2giLCAidCIsICJ0YWdPYmoiLCAiY3JlYXRlTm9kZSIsICJjdHgiLCAiX2IiLCAiX2MiLCAiaXNEb2N1bWVudCIsICJpc05vZGUiLCAiaXNQYWlyIiwgIm1hcCIsICJNQVAiLCAiYWxpYXNEdXBsaWNhdGVPYmplY3RzIiwgIm9uQW5jaG9yIiwgIm9uVGFnT2JqIiwgInNjaGVtYSIsICJzb3VyY2VPYmplY3RzIiwgInJlZiIsICJBbGlhcyIsICJub2RlIiwgIlNjYWxhciIsICJTRVEiLCAiY29sbGVjdGlvbkZyb21QYXRoIiwgInNjaGVtYSIsICJwYXRoIiwgInZhbHVlIiwgInYiLCAiaSIsICJrIiwgImEiLCAiY3JlYXRlTm9kZSIsICJpc0VtcHR5UGF0aCIsICJDb2xsZWN0aW9uIiwgIk5vZGVCYXNlIiwgInR5cGUiLCAiY29weSIsICJpdCIsICJpc05vZGUiLCAiaXNQYWlyIiwgImtleSIsICJyZXN0IiwgIm5vZGUiLCAiaXNDb2xsZWN0aW9uIiwgImtlZXBTY2FsYXIiLCAiaXNTY2FsYXIiLCAiYWxsb3dTY2FsYXIiLCAibiIsICJzdHJpbmdpZnlDb21tZW50IiwgInN0ciIsICJpbmRlbnRDb21tZW50IiwgImNvbW1lbnQiLCAiaW5kZW50IiwgImxpbmVDb21tZW50IiwgIkZPTERfRkxPVyIsICJGT0xEX0JMT0NLIiwgIkZPTERfUVVPVEVEIiwgImZvbGRGbG93TGluZXMiLCAidGV4dCIsICJpbmRlbnQiLCAibW9kZSIsICJpbmRlbnRBdFN0YXJ0IiwgImxpbmVXaWR0aCIsICJtaW5Db250ZW50V2lkdGgiLCAib25Gb2xkIiwgIm9uT3ZlcmZsb3ciLCAiZW5kU3RlcCIsICJmb2xkcyIsICJlc2NhcGVkRm9sZHMiLCAiZW5kIiwgInNwbGl0IiwgInByZXYiLCAib3ZlcmZsb3ciLCAiaSIsICJlc2NTdGFydCIsICJlc2NFbmQiLCAiY29uc3VtZU1vcmVJbmRlbnRlZExpbmVzIiwgImNoIiwgIm5leHQiLCAiaiIsICJyZXMiLCAiZm9sZCIsICJzdGFydCIsICJnZXRGb2xkT3B0aW9ucyIsICJjdHgiLCAiaXNCbG9jayIsICJjb250YWluc0RvY3VtZW50TWFya2VyIiwgInN0ciIsICJsaW5lTGVuZ3RoT3ZlckxpbWl0IiwgImxpbmVXaWR0aCIsICJpbmRlbnRMZW5ndGgiLCAibGltaXQiLCAic3RyTGVuIiwgInN0YXJ0IiwgImRvdWJsZVF1b3RlZFN0cmluZyIsICJ2YWx1ZSIsICJqc29uIiwgImltcGxpY2l0S2V5IiwgIm1pbk11bHRpTGluZUxlbmd0aCIsICJpbmRlbnQiLCAiaSIsICJjaCIsICJjb2RlIiwgImZvbGRGbG93TGluZXMiLCAiRk9MRF9RVU9URUQiLCAic2luZ2xlUXVvdGVkU3RyaW5nIiwgInJlcyIsICJGT0xEX0ZMT1ciLCAicXVvdGVkU3RyaW5nIiwgInNpbmdsZVF1b3RlIiwgInFzIiwgImhhc0RvdWJsZSIsICJoYXNTaW5nbGUiLCAiYmxvY2tFbmROZXdsaW5lcyIsICJlIiwgImJsb2NrU3RyaW5nIiwgImNvbW1lbnQiLCAidHlwZSIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAiYmxvY2tRdW90ZSIsICJjb21tZW50U3RyaW5nIiwgImxpdGVyYWwiLCAiU2NhbGFyIiwgImNob21wIiwgImVuZFN0YXJ0IiwgImVuZCIsICJlbmRObFBvcyIsICJzdGFydFdpdGhTcGFjZSIsICJzdGFydEVuZCIsICJzdGFydE5sUG9zIiwgImhlYWRlciIsICJib2R5IiwgIkZPTERfQkxPQ0siLCAicGxhaW5TdHJpbmciLCAiaXRlbSIsICJhY3R1YWxTdHJpbmciLCAiaW5kZW50U3RlcCIsICJpbkZsb3ciLCAidGVzdCIsICJ0YWciLCAiX2EiLCAiY29tcGF0IiwgInRhZ3MiLCAic3RyaW5naWZ5U3RyaW5nIiwgInNzIiwgIl9zdHJpbmdpZnkiLCAiX3R5cGUiLCAiZGVmYXVsdEtleVR5cGUiLCAiZGVmYXVsdFN0cmluZ1R5cGUiLCAidCIsICJjcmVhdGVTdHJpbmdpZnlDb250ZXh0IiwgImRvYyIsICJvcHRpb25zIiwgIm9wdCIsICJzdHJpbmdpZnlDb21tZW50IiwgImluRmxvdyIsICJnZXRUYWdPYmplY3QiLCAidGFncyIsICJpdGVtIiwgIl9hIiwgIl9iIiwgIl9jIiwgIl9kIiwgIm1hdGNoIiwgInQiLCAidGFnT2JqIiwgIm9iaiIsICJpc1NjYWxhciIsICJ0ZXN0TWF0Y2giLCAibmFtZSIsICJzdHJpbmdpZnlQcm9wcyIsICJub2RlIiwgImFuY2hvcnMiLCAicHJvcHMiLCAiYW5jaG9yIiwgImlzQ29sbGVjdGlvbiIsICJhbmNob3JJc1ZhbGlkIiwgInRhZyIsICJzdHJpbmdpZnkiLCAiY3R4IiwgIm9uQ29tbWVudCIsICJvbkNob21wS2VlcCIsICJpc1BhaXIiLCAiaXNBbGlhcyIsICJpc05vZGUiLCAibyIsICJzdHIiLCAic3RyaW5naWZ5U3RyaW5nIiwgInN0cmluZ2lmeVBhaXIiLCAia2V5IiwgInZhbHVlIiwgImN0eCIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAiX2EiLCAiX2IiLCAiYWxsTnVsbFZhbHVlcyIsICJkb2MiLCAiaW5kZW50IiwgImluZGVudFN0ZXAiLCAiY29tbWVudFN0cmluZyIsICJpbmRlbnRTZXEiLCAic2ltcGxlS2V5cyIsICJrZXlDb21tZW50IiwgImlzTm9kZSIsICJpc0NvbGxlY3Rpb24iLCAibXNnIiwgImV4cGxpY2l0S2V5IiwgImlzU2NhbGFyIiwgIlNjYWxhciIsICJrZXlDb21tZW50RG9uZSIsICJjaG9tcEtlZXAiLCAic3RyIiwgInN0cmluZ2lmeSIsICJsaW5lQ29tbWVudCIsICJ2c2IiLCAidmNiIiwgInZhbHVlQ29tbWVudCIsICJpc1NlcSIsICJ2YWx1ZUNvbW1lbnREb25lIiwgInZhbHVlU3RyIiwgIndzIiwgImNzIiwgImluZGVudENvbW1lbnQiLCAidnMwIiwgIm5sMCIsICJoYXNOZXdsaW5lIiwgImZsb3ciLCAiaGFzUHJvcHNMaW5lIiwgInNwMCIsICJ3YXJuIiwgImxvZ0xldmVsIiwgIndhcm5pbmciLCAiTUVSR0VfS0VZIiwgIm1lcmdlIiwgInZhbHVlIiwgIlNjYWxhciIsICJhZGRNZXJnZVRvSlNNYXAiLCAiaXNNZXJnZUtleSIsICJjdHgiLCAia2V5IiwgImlzU2NhbGFyIiwgInRhZyIsICJtYXAiLCAiaXNBbGlhcyIsICJpc1NlcSIsICJpdCIsICJtZXJnZVZhbHVlIiwgInNvdXJjZSIsICJpc01hcCIsICJzcmNNYXAiLCAiYWRkUGFpclRvSlNNYXAiLCAiY3R4IiwgIm1hcCIsICJrZXkiLCAidmFsdWUiLCAiaXNOb2RlIiwgImlzTWVyZ2VLZXkiLCAiYWRkTWVyZ2VUb0pTTWFwIiwgImpzS2V5IiwgInRvSlMiLCAic3RyaW5nS2V5IiwgInN0cmluZ2lmeUtleSIsICJqc1ZhbHVlIiwgInN0ckN0eCIsICJjcmVhdGVTdHJpbmdpZnlDb250ZXh0IiwgIm5vZGUiLCAic3RyS2V5IiwgImpzb25TdHIiLCAid2FybiIsICJjcmVhdGVQYWlyIiwgImtleSIsICJ2YWx1ZSIsICJjdHgiLCAiayIsICJjcmVhdGVOb2RlIiwgInYiLCAiUGFpciIsICJfUGFpciIsICJOT0RFX1RZUEUiLCAiUEFJUiIsICJzY2hlbWEiLCAiaXNOb2RlIiwgIl8iLCAicGFpciIsICJhZGRQYWlyVG9KU01hcCIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAic3RyaW5naWZ5UGFpciIsICJzdHJpbmdpZnlDb2xsZWN0aW9uIiwgImNvbGxlY3Rpb24iLCAiY3R4IiwgIm9wdGlvbnMiLCAiX2EiLCAic3RyaW5naWZ5Rmxvd0NvbGxlY3Rpb24iLCAic3RyaW5naWZ5QmxvY2tDb2xsZWN0aW9uIiwgImNvbW1lbnQiLCAiaXRlbXMiLCAiYmxvY2tJdGVtUHJlZml4IiwgImZsb3dDaGFycyIsICJpdGVtSW5kZW50IiwgIm9uQ2hvbXBLZWVwIiwgIm9uQ29tbWVudCIsICJpbmRlbnQiLCAiY29tbWVudFN0cmluZyIsICJpdGVtQ3R4IiwgImNob21wS2VlcCIsICJsaW5lcyIsICJpIiwgIml0ZW0iLCAiaXNOb2RlIiwgImFkZENvbW1lbnRCZWZvcmUiLCAiaXNQYWlyIiwgImlrIiwgInN0ciIsICJzdHJpbmdpZnkiLCAibGluZUNvbW1lbnQiLCAibGluZSIsICJpbmRlbnRDb21tZW50IiwgImluZGVudFN0ZXAiLCAiZmNQYWRkaW5nIiwgInJlcU5ld2xpbmUiLCAibGluZXNBdFZhbHVlIiwgIml2IiwgInN0YXJ0IiwgImVuZCIsICJsZW4iLCAic3VtIiwgImljIiwgImZpbmRQYWlyIiwgIml0ZW1zIiwgImtleSIsICJrIiwgImlzU2NhbGFyIiwgIml0IiwgImlzUGFpciIsICJZQU1MTWFwIiwgIkNvbGxlY3Rpb24iLCAic2NoZW1hIiwgIk1BUCIsICJvYmoiLCAiY3R4IiwgImtlZXBVbmRlZmluZWQiLCAicmVwbGFjZXIiLCAibWFwIiwgImFkZCIsICJ2YWx1ZSIsICJjcmVhdGVQYWlyIiwgInBhaXIiLCAib3ZlcndyaXRlIiwgIl9hIiwgIl9wYWlyIiwgIlBhaXIiLCAicHJldiIsICJzb3J0RW50cmllcyIsICJpc1NjYWxhclZhbHVlIiwgImkiLCAiaXRlbSIsICJrZWVwU2NhbGFyIiwgIm5vZGUiLCAiXyIsICJUeXBlIiwgImFkZFBhaXJUb0pTTWFwIiwgIm9uQ29tbWVudCIsICJvbkNob21wS2VlcCIsICJzdHJpbmdpZnlDb2xsZWN0aW9uIiwgIm1hcCIsICJZQU1MTWFwIiwgIm9uRXJyb3IiLCAiaXNNYXAiLCAic2NoZW1hIiwgIm9iaiIsICJjdHgiLCAiWUFNTFNlcSIsICJDb2xsZWN0aW9uIiwgInNjaGVtYSIsICJTRVEiLCAidmFsdWUiLCAia2V5IiwgImlkeCIsICJhc0l0ZW1JbmRleCIsICJrZWVwU2NhbGFyIiwgIml0IiwgImlzU2NhbGFyIiwgInByZXYiLCAiaXNTY2FsYXJWYWx1ZSIsICJfIiwgImN0eCIsICJzZXEiLCAiaSIsICJpdGVtIiwgInRvSlMiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgInN0cmluZ2lmeUNvbGxlY3Rpb24iLCAib2JqIiwgInJlcGxhY2VyIiwgImNyZWF0ZU5vZGUiLCAic2VxIiwgIllBTUxTZXEiLCAib25FcnJvciIsICJpc1NlcSIsICJzY2hlbWEiLCAib2JqIiwgImN0eCIsICJzdHJpbmciLCAidmFsdWUiLCAic3RyIiwgIml0ZW0iLCAiY3R4IiwgIm9uQ29tbWVudCIsICJvbkNob21wS2VlcCIsICJzdHJpbmdpZnlTdHJpbmciLCAibnVsbFRhZyIsICJ2YWx1ZSIsICJTY2FsYXIiLCAic291cmNlIiwgImN0eCIsICJib29sVGFnIiwgInZhbHVlIiwgInN0ciIsICJTY2FsYXIiLCAic291cmNlIiwgImN0eCIsICJzdiIsICJzdHJpbmdpZnlOdW1iZXIiLCAiZm9ybWF0IiwgIm1pbkZyYWN0aW9uRGlnaXRzIiwgInRhZyIsICJ2YWx1ZSIsICJudW0iLCAibiIsICJpIiwgImQiLCAiZmxvYXROYU4iLCAidmFsdWUiLCAic3RyIiwgInN0cmluZ2lmeU51bWJlciIsICJmbG9hdEV4cCIsICJub2RlIiwgIm51bSIsICJmbG9hdCIsICJTY2FsYXIiLCAiZG90IiwgImludElkZW50aWZ5IiwgInZhbHVlIiwgImludFJlc29sdmUiLCAic3RyIiwgIm9mZnNldCIsICJyYWRpeCIsICJpbnRBc0JpZ0ludCIsICJpbnRTdHJpbmdpZnkiLCAibm9kZSIsICJwcmVmaXgiLCAic3RyaW5naWZ5TnVtYmVyIiwgImludE9jdCIsICJfb25FcnJvciIsICJvcHQiLCAiaW50IiwgImludEhleCIsICJzY2hlbWEiLCAibWFwIiwgInNlcSIsICJzdHJpbmciLCAibnVsbFRhZyIsICJib29sVGFnIiwgImludE9jdCIsICJpbnQiLCAiaW50SGV4IiwgImZsb2F0TmFOIiwgImZsb2F0RXhwIiwgImZsb2F0IiwgImludElkZW50aWZ5IiwgInZhbHVlIiwgInN0cmluZ2lmeUpTT04iLCAianNvblNjYWxhcnMiLCAic3RyIiwgIlNjYWxhciIsICJfb25FcnJvciIsICJpbnRBc0JpZ0ludCIsICJqc29uRXJyb3IiLCAib25FcnJvciIsICJzY2hlbWEiLCAibWFwIiwgInNlcSIsICJiaW5hcnkiLCAidmFsdWUiLCAic3JjIiwgIm9uRXJyb3IiLCAic3RyIiwgImJ1ZmZlciIsICJpIiwgImNvbW1lbnQiLCAidHlwZSIsICJjdHgiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgImJ1ZiIsICJzIiwgIlNjYWxhciIsICJsaW5lV2lkdGgiLCAibiIsICJsaW5lcyIsICJvIiwgInN0cmluZ2lmeVN0cmluZyIsICJyZXNvbHZlUGFpcnMiLCAic2VxIiwgIm9uRXJyb3IiLCAiX2EiLCAiaXNTZXEiLCAiaSIsICJpdGVtIiwgImlzUGFpciIsICJpc01hcCIsICJwYWlyIiwgIlBhaXIiLCAiU2NhbGFyIiwgImNuIiwgImNyZWF0ZVBhaXJzIiwgInNjaGVtYSIsICJpdGVyYWJsZSIsICJjdHgiLCAicmVwbGFjZXIiLCAicGFpcnMiLCAiWUFNTFNlcSIsICJpdCIsICJrZXkiLCAidmFsdWUiLCAia2V5cyIsICJjcmVhdGVQYWlyIiwgIllBTUxPTWFwIiwgIl9ZQU1MT01hcCIsICJZQU1MU2VxIiwgIllBTUxNYXAiLCAiXyIsICJjdHgiLCAibWFwIiwgInBhaXIiLCAia2V5IiwgInZhbHVlIiwgImlzUGFpciIsICJ0b0pTIiwgInNjaGVtYSIsICJpdGVyYWJsZSIsICJwYWlycyIsICJjcmVhdGVQYWlycyIsICJvbWFwIiwgInNlcSIsICJvbkVycm9yIiwgInJlc29sdmVQYWlycyIsICJzZWVuS2V5cyIsICJpc1NjYWxhciIsICJib29sU3RyaW5naWZ5IiwgInZhbHVlIiwgInNvdXJjZSIsICJjdHgiLCAidHJ1ZVRhZyIsICJmYWxzZVRhZyIsICJTY2FsYXIiLCAiZmxvYXROYU4iLCAidmFsdWUiLCAic3RyIiwgInN0cmluZ2lmeU51bWJlciIsICJmbG9hdEV4cCIsICJub2RlIiwgIm51bSIsICJmbG9hdCIsICJTY2FsYXIiLCAiZG90IiwgImYiLCAiaW50SWRlbnRpZnkiLCAidmFsdWUiLCAiaW50UmVzb2x2ZSIsICJzdHIiLCAib2Zmc2V0IiwgInJhZGl4IiwgImludEFzQmlnSW50IiwgInNpZ24iLCAibiIsICJpbnRTdHJpbmdpZnkiLCAibm9kZSIsICJwcmVmaXgiLCAic3RyaW5naWZ5TnVtYmVyIiwgImludEJpbiIsICJfb25FcnJvciIsICJvcHQiLCAiaW50T2N0IiwgImludCIsICJpbnRIZXgiLCAiWUFNTFNldCIsICJfWUFNTFNldCIsICJZQU1MTWFwIiwgInNjaGVtYSIsICJrZXkiLCAicGFpciIsICJpc1BhaXIiLCAiUGFpciIsICJmaW5kUGFpciIsICJrZWVwUGFpciIsICJpc1NjYWxhciIsICJ2YWx1ZSIsICJwcmV2IiwgIl8iLCAiY3R4IiwgIm9uQ29tbWVudCIsICJvbkNob21wS2VlcCIsICJpdGVyYWJsZSIsICJyZXBsYWNlciIsICJzZXQiLCAiY3JlYXRlUGFpciIsICJtYXAiLCAib25FcnJvciIsICJpc01hcCIsICJwYXJzZVNleGFnZXNpbWFsIiwgInN0ciIsICJhc0JpZ0ludCIsICJzaWduIiwgInBhcnRzIiwgIm51bSIsICJuIiwgInJlcyIsICJwIiwgInN0cmluZ2lmeVNleGFnZXNpbWFsIiwgIm5vZGUiLCAidmFsdWUiLCAic3RyaW5naWZ5TnVtYmVyIiwgIl82MCIsICJpbnRUaW1lIiwgIl9vbkVycm9yIiwgImludEFzQmlnSW50IiwgImZsb2F0VGltZSIsICJ0aW1lc3RhbXAiLCAibWF0Y2giLCAieWVhciIsICJtb250aCIsICJkYXkiLCAiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgIm1pbGxpc2VjIiwgImRhdGUiLCAidHoiLCAic2NoZW1hIiwgIm1hcCIsICJzZXEiLCAic3RyaW5nIiwgIm51bGxUYWciLCAidHJ1ZVRhZyIsICJmYWxzZVRhZyIsICJpbnRCaW4iLCAiaW50T2N0IiwgImludCIsICJpbnRIZXgiLCAiZmxvYXROYU4iLCAiZmxvYXRFeHAiLCAiZmxvYXQiLCAiYmluYXJ5IiwgIm1lcmdlIiwgIm9tYXAiLCAicGFpcnMiLCAic2V0IiwgImludFRpbWUiLCAiZmxvYXRUaW1lIiwgInRpbWVzdGFtcCIsICJzY2hlbWFzIiwgInNjaGVtYSIsICJtYXAiLCAic2VxIiwgInN0cmluZyIsICJ0YWdzQnlOYW1lIiwgImJpbmFyeSIsICJib29sVGFnIiwgImZsb2F0IiwgImZsb2F0RXhwIiwgImZsb2F0TmFOIiwgImZsb2F0VGltZSIsICJpbnQiLCAiaW50SGV4IiwgImludE9jdCIsICJpbnRUaW1lIiwgIm1lcmdlIiwgIm51bGxUYWciLCAib21hcCIsICJwYWlycyIsICJzZXQiLCAidGltZXN0YW1wIiwgImNvcmVLbm93blRhZ3MiLCAiZ2V0VGFncyIsICJjdXN0b21UYWdzIiwgInNjaGVtYU5hbWUiLCAiYWRkTWVyZ2VUYWciLCAic2NoZW1hVGFncyIsICJ0YWdzIiwgImtleXMiLCAia2V5IiwgInRhZyIsICJ0YWdPYmoiLCAidGFnTmFtZSIsICJzb3J0TWFwRW50cmllc0J5S2V5IiwgImEiLCAiYiIsICJTY2hlbWEiLCAiX1NjaGVtYSIsICJjb21wYXQiLCAiY3VzdG9tVGFncyIsICJtZXJnZSIsICJyZXNvbHZlS25vd25UYWdzIiwgInNjaGVtYSIsICJzb3J0TWFwRW50cmllcyIsICJ0b1N0cmluZ0RlZmF1bHRzIiwgImdldFRhZ3MiLCAiY29yZUtub3duVGFncyIsICJNQVAiLCAibWFwIiwgIlNDQUxBUiIsICJzdHJpbmciLCAiU0VRIiwgInNlcSIsICJjb3B5IiwgInN0cmluZ2lmeURvY3VtZW50IiwgImRvYyIsICJvcHRpb25zIiwgIl9hIiwgImxpbmVzIiwgImhhc0RpcmVjdGl2ZXMiLCAiZGlyIiwgImN0eCIsICJjcmVhdGVTdHJpbmdpZnlDb250ZXh0IiwgImNvbW1lbnRTdHJpbmciLCAiY3MiLCAiaW5kZW50Q29tbWVudCIsICJjaG9tcEtlZXAiLCAiY29udGVudENvbW1lbnQiLCAiaXNOb2RlIiwgIm9uQ2hvbXBLZWVwIiwgImJvZHkiLCAic3RyaW5naWZ5IiwgImxpbmVDb21tZW50IiwgImRjIiwgIkRvY3VtZW50IiwgIl9Eb2N1bWVudCIsICJ2YWx1ZSIsICJyZXBsYWNlciIsICJvcHRpb25zIiwgIk5PREVfVFlQRSIsICJET0MiLCAiX3JlcGxhY2VyIiwgIm9wdCIsICJ2ZXJzaW9uIiwgIkRpcmVjdGl2ZXMiLCAiY29weSIsICJpc05vZGUiLCAiYXNzZXJ0Q29sbGVjdGlvbiIsICJwYXRoIiwgIm5vZGUiLCAibmFtZSIsICJwcmV2IiwgImFuY2hvck5hbWVzIiwgImZpbmROZXdBbmNob3IiLCAiQWxpYXMiLCAia2V5VG9TdHIiLCAidiIsICJhc1N0ciIsICJhbGlhc0R1cGxpY2F0ZU9iamVjdHMiLCAiYW5jaG9yUHJlZml4IiwgImZsb3ciLCAia2VlcFVuZGVmaW5lZCIsICJvblRhZ09iaiIsICJ0YWciLCAib25BbmNob3IiLCAic2V0QW5jaG9ycyIsICJzb3VyY2VPYmplY3RzIiwgImNyZWF0ZU5vZGVBbmNob3JzIiwgImN0eCIsICJjcmVhdGVOb2RlIiwgImlzQ29sbGVjdGlvbiIsICJrZXkiLCAiayIsICJQYWlyIiwgImlzRW1wdHlQYXRoIiwgImtlZXBTY2FsYXIiLCAiaXNTY2FsYXIiLCAiY29sbGVjdGlvbkZyb21QYXRoIiwgInN2IiwgIlNjaGVtYSIsICJqc29uIiwgImpzb25BcmciLCAibWFwQXNNYXAiLCAibWF4QWxpYXNDb3VudCIsICJyZXZpdmVyIiwgInJlcyIsICJ0b0pTIiwgImNvdW50IiwgImFwcGx5UmV2aXZlciIsICJzIiwgInN0cmluZ2lmeURvY3VtZW50IiwgImNvbnRlbnRzIiwgIllBTUxFcnJvciIsICJuYW1lIiwgInBvcyIsICJjb2RlIiwgIm1lc3NhZ2UiLCAiWUFNTFBhcnNlRXJyb3IiLCAiWUFNTFdhcm5pbmciLCAicHJldHRpZnlFcnJvciIsICJzcmMiLCAibGMiLCAiZXJyb3IiLCAibGluZSIsICJjb2wiLCAiY2kiLCAibGluZVN0ciIsICJ0cmltU3RhcnQiLCAicHJldiIsICJjb3VudCIsICJlbmQiLCAicG9pbnRlciIsICJyZXNvbHZlUHJvcHMiLCAidG9rZW5zIiwgImZsb3ciLCAiaW5kaWNhdG9yIiwgIm5leHQiLCAib2Zmc2V0IiwgIm9uRXJyb3IiLCAicGFyZW50SW5kZW50IiwgInN0YXJ0T25OZXdsaW5lIiwgInNwYWNlQmVmb3JlIiwgImF0TmV3bGluZSIsICJoYXNTcGFjZSIsICJjb21tZW50IiwgImNvbW1lbnRTZXAiLCAiaGFzTmV3bGluZSIsICJyZXFTcGFjZSIsICJ0YWIiLCAiYW5jaG9yIiwgInRhZyIsICJuZXdsaW5lQWZ0ZXJQcm9wIiwgImNvbW1hIiwgImZvdW5kIiwgInN0YXJ0IiwgInRva2VuIiwgImNiIiwgImxhc3QiLCAiZW5kIiwgImNvbnRhaW5zTmV3bGluZSIsICJrZXkiLCAic3QiLCAiaXQiLCAiZmxvd0luZGVudENoZWNrIiwgImluZGVudCIsICJmYyIsICJvbkVycm9yIiwgImVuZCIsICJjb250YWluc05ld2xpbmUiLCAibWFwSW5jbHVkZXMiLCAiY3R4IiwgIml0ZW1zIiwgInNlYXJjaCIsICJ1bmlxdWVLZXlzIiwgImlzRXF1YWwiLCAiYSIsICJiIiwgImlzU2NhbGFyIiwgInBhaXIiLCAic3RhcnRDb2xNc2ciLCAicmVzb2x2ZUJsb2NrTWFwIiwgImNvbXBvc2VOb2RlIiwgImNvbXBvc2VFbXB0eU5vZGUiLCAiY3R4IiwgImJtIiwgIm9uRXJyb3IiLCAidGFnIiwgIl9hIiwgIl9iIiwgIk5vZGVDbGFzcyIsICJZQU1MTWFwIiwgIm1hcCIsICJvZmZzZXQiLCAiY29tbWVudEVuZCIsICJjb2xsSXRlbSIsICJzdGFydCIsICJrZXkiLCAic2VwIiwgInZhbHVlIiwgImtleVByb3BzIiwgInJlc29sdmVQcm9wcyIsICJpbXBsaWNpdEtleSIsICJjb250YWluc05ld2xpbmUiLCAia2V5U3RhcnQiLCAia2V5Tm9kZSIsICJmbG93SW5kZW50Q2hlY2siLCAibWFwSW5jbHVkZXMiLCAidmFsdWVQcm9wcyIsICJ2YWx1ZU5vZGUiLCAicGFpciIsICJQYWlyIiwgInJlc29sdmVCbG9ja1NlcSIsICJjb21wb3NlTm9kZSIsICJjb21wb3NlRW1wdHlOb2RlIiwgImN0eCIsICJicyIsICJvbkVycm9yIiwgInRhZyIsICJfYSIsICJOb2RlQ2xhc3MiLCAiWUFNTFNlcSIsICJzZXEiLCAib2Zmc2V0IiwgImNvbW1lbnRFbmQiLCAic3RhcnQiLCAidmFsdWUiLCAicHJvcHMiLCAicmVzb2x2ZVByb3BzIiwgIm5vZGUiLCAiZmxvd0luZGVudENoZWNrIiwgInJlc29sdmVFbmQiLCAiZW5kIiwgIm9mZnNldCIsICJyZXFTcGFjZSIsICJvbkVycm9yIiwgImNvbW1lbnQiLCAiaGFzU3BhY2UiLCAic2VwIiwgInRva2VuIiwgInNvdXJjZSIsICJ0eXBlIiwgImNiIiwgImJsb2NrTXNnIiwgImlzQmxvY2siLCAidG9rZW4iLCAicmVzb2x2ZUZsb3dDb2xsZWN0aW9uIiwgImNvbXBvc2VOb2RlIiwgImNvbXBvc2VFbXB0eU5vZGUiLCAiY3R4IiwgImZjIiwgIm9uRXJyb3IiLCAidGFnIiwgIl9hIiwgIl9iIiwgImlzTWFwIiwgImZjTmFtZSIsICJOb2RlQ2xhc3MiLCAiWUFNTE1hcCIsICJZQU1MU2VxIiwgImNvbGwiLCAiYXRSb290IiwgIm9mZnNldCIsICJpIiwgImNvbGxJdGVtIiwgInN0YXJ0IiwgImtleSIsICJzZXAiLCAidmFsdWUiLCAicHJvcHMiLCAicmVzb2x2ZVByb3BzIiwgImNvbnRhaW5zTmV3bGluZSIsICJwcmV2SXRlbUNvbW1lbnQiLCAibG9vcCIsICJzdCIsICJwcmV2IiwgImlzUGFpciIsICJ2YWx1ZU5vZGUiLCAia2V5U3RhcnQiLCAia2V5Tm9kZSIsICJ2YWx1ZVByb3BzIiwgInBhaXIiLCAiUGFpciIsICJtYXAiLCAibWFwSW5jbHVkZXMiLCAiZW5kUmFuZ2UiLCAiZXhwZWN0ZWRFbmQiLCAiY2UiLCAiZWUiLCAiY2VQb3MiLCAibmFtZSIsICJtc2ciLCAiZW5kIiwgInJlc29sdmVFbmQiLCAicmVzb2x2ZUNvbGxlY3Rpb24iLCAiQ04iLCAiY3R4IiwgInRva2VuIiwgIm9uRXJyb3IiLCAidGFnTmFtZSIsICJ0YWciLCAiY29sbCIsICJyZXNvbHZlQmxvY2tNYXAiLCAicmVzb2x2ZUJsb2NrU2VxIiwgInJlc29sdmVGbG93Q29sbGVjdGlvbiIsICJDb2xsIiwgImNvbXBvc2VDb2xsZWN0aW9uIiwgInByb3BzIiwgIl9hIiwgIl9iIiwgInRhZ1Rva2VuIiwgIm1zZyIsICJhbmNob3IiLCAibmwiLCAibGFzdFByb3AiLCAiZXhwVHlwZSIsICJZQU1MTWFwIiwgIllBTUxTZXEiLCAidCIsICJrdCIsICJyZXMiLCAibm9kZSIsICJpc05vZGUiLCAiU2NhbGFyIiwgInJlc29sdmVCbG9ja1NjYWxhciIsICJjdHgiLCAic2NhbGFyIiwgIm9uRXJyb3IiLCAic3RhcnQiLCAiaGVhZGVyIiwgInBhcnNlQmxvY2tTY2FsYXJIZWFkZXIiLCAidHlwZSIsICJTY2FsYXIiLCAibGluZXMiLCAic3BsaXRMaW5lcyIsICJjaG9tcFN0YXJ0IiwgImkiLCAiY29udGVudCIsICJ2YWx1ZSIsICJlbmQiLCAidHJpbUluZGVudCIsICJvZmZzZXQiLCAiY29udGVudFN0YXJ0IiwgImluZGVudCIsICJzZXAiLCAicHJldk1vcmVJbmRlbnRlZCIsICJjcmxmIiwgIm1lc3NhZ2UiLCAicHJvcHMiLCAic3RyaWN0IiwgInNvdXJjZSIsICJtb2RlIiwgImNob21wIiwgImVycm9yIiwgImNoIiwgIm4iLCAiaGFzU3BhY2UiLCAiY29tbWVudCIsICJsZW5ndGgiLCAidG9rZW4iLCAidHMiLCAic3BsaXQiLCAiZmlyc3QiLCAibSIsICJyZXNvbHZlRmxvd1NjYWxhciIsICJzY2FsYXIiLCAic3RyaWN0IiwgIm9uRXJyb3IiLCAib2Zmc2V0IiwgInR5cGUiLCAic291cmNlIiwgImVuZCIsICJfdHlwZSIsICJ2YWx1ZSIsICJfb25FcnJvciIsICJyZWwiLCAiY29kZSIsICJtc2ciLCAiU2NhbGFyIiwgInBsYWluVmFsdWUiLCAic2luZ2xlUXVvdGVkVmFsdWUiLCAiZG91YmxlUXVvdGVkVmFsdWUiLCAidmFsdWVFbmQiLCAicmUiLCAicmVzb2x2ZUVuZCIsICJiYWRDaGFyIiwgImZvbGRMaW5lcyIsICJfYSIsICJmaXJzdCIsICJsaW5lIiwgImUiLCAibWF0Y2giLCAicmVzIiwgInNlcCIsICJwb3MiLCAibGFzdCIsICJpIiwgImNoIiwgImZvbGQiLCAiZm9sZE5ld2xpbmUiLCAibmV4dCIsICJjYyIsICJlc2NhcGVDb2RlcyIsICJsZW5ndGgiLCAicGFyc2VDaGFyQ29kZSIsICJyYXciLCAid3NTdGFydCIsICJjb21wb3NlU2NhbGFyIiwgImN0eCIsICJ0b2tlbiIsICJ0YWdUb2tlbiIsICJvbkVycm9yIiwgInZhbHVlIiwgInR5cGUiLCAiY29tbWVudCIsICJyYW5nZSIsICJyZXNvbHZlQmxvY2tTY2FsYXIiLCAicmVzb2x2ZUZsb3dTY2FsYXIiLCAidGFnTmFtZSIsICJtc2ciLCAidGFnIiwgIlNDQUxBUiIsICJmaW5kU2NhbGFyVGFnQnlOYW1lIiwgImZpbmRTY2FsYXJUYWdCeVRlc3QiLCAic2NhbGFyIiwgInJlcyIsICJpc1NjYWxhciIsICJTY2FsYXIiLCAiZXJyb3IiLCAic2NoZW1hIiwgIl9hIiwgIm1hdGNoV2l0aFRlc3QiLCAia3QiLCAiYXRLZXkiLCAiZGlyZWN0aXZlcyIsICJjb21wYXQiLCAidHMiLCAiY3MiLCAiZW1wdHlTY2FsYXJQb3NpdGlvbiIsICJvZmZzZXQiLCAiYmVmb3JlIiwgInBvcyIsICJpIiwgInN0IiwgIkNOIiwgImNvbXBvc2VOb2RlIiwgImNvbXBvc2VFbXB0eU5vZGUiLCAiY3R4IiwgInRva2VuIiwgInByb3BzIiwgIm9uRXJyb3IiLCAiYXRLZXkiLCAic3BhY2VCZWZvcmUiLCAiY29tbWVudCIsICJhbmNob3IiLCAidGFnIiwgIm5vZGUiLCAiaXNTcmNUb2tlbiIsICJjb21wb3NlQWxpYXMiLCAiY29tcG9zZVNjYWxhciIsICJjb21wb3NlQ29sbGVjdGlvbiIsICJtZXNzYWdlIiwgImlzU2NhbGFyIiwgIm9mZnNldCIsICJiZWZvcmUiLCAicG9zIiwgImVuZCIsICJlbXB0eVNjYWxhclBvc2l0aW9uIiwgIm9wdGlvbnMiLCAic291cmNlIiwgImFsaWFzIiwgIkFsaWFzIiwgInZhbHVlRW5kIiwgInJlIiwgInJlc29sdmVFbmQiLCAiY29tcG9zZURvYyIsICJvcHRpb25zIiwgImRpcmVjdGl2ZXMiLCAib2Zmc2V0IiwgInN0YXJ0IiwgInZhbHVlIiwgImVuZCIsICJvbkVycm9yIiwgIm9wdHMiLCAiZG9jIiwgIkRvY3VtZW50IiwgImN0eCIsICJwcm9wcyIsICJyZXNvbHZlUHJvcHMiLCAiY29tcG9zZU5vZGUiLCAiY29tcG9zZUVtcHR5Tm9kZSIsICJjb250ZW50RW5kIiwgInJlIiwgInJlc29sdmVFbmQiLCAiZ2V0RXJyb3JQb3MiLCAic3JjIiwgIm9mZnNldCIsICJzb3VyY2UiLCAicGFyc2VQcmVsdWRlIiwgInByZWx1ZGUiLCAiX2EiLCAiY29tbWVudCIsICJhdENvbW1lbnQiLCAiYWZ0ZXJFbXB0eUxpbmUiLCAiQ29tcG9zZXIiLCAib3B0aW9ucyIsICJjb2RlIiwgIm1lc3NhZ2UiLCAid2FybmluZyIsICJwb3MiLCAiWUFNTFdhcm5pbmciLCAiWUFNTFBhcnNlRXJyb3IiLCAiRGlyZWN0aXZlcyIsICJkb2MiLCAiYWZ0ZXJEb2MiLCAiZGMiLCAiaXNDb2xsZWN0aW9uIiwgIml0IiwgImlzUGFpciIsICJjYiIsICJ0b2tlbnMiLCAiZm9yY2VEb2MiLCAiZW5kT2Zmc2V0IiwgInRva2VuIiwgIl9feWllbGRTdGFyIiwgImNvbXBvc2VEb2MiLCAibXNnIiwgImVycm9yIiwgImVuZCIsICJyZXNvbHZlRW5kIiwgIm9wdHMiLCAiRG9jdW1lbnQiLCAiQlJFQUsiLCAiU0tJUCIsICJSRU1PVkUiLCAidmlzaXQiLCAiY3N0IiwgInZpc2l0b3IiLCAiX3Zpc2l0IiwgInBhdGgiLCAiaXRlbSIsICJmaWVsZCIsICJpbmRleCIsICJ0b2siLCAicGFyZW50IiwgImNvbGwiLCAiY3RybCIsICJ0b2tlbiIsICJpIiwgImNpIiwgIkJPTSIsICJET0NVTUVOVCIsICJGTE9XX0VORCIsICJTQ0FMQVIiLCAidG9rZW5UeXBlIiwgInNvdXJjZSIsICJCT00iLCAiRE9DVU1FTlQiLCAiRkxPV19FTkQiLCAiU0NBTEFSIiwgImlzRW1wdHkiLCAiY2giLCAiaGV4RGlnaXRzIiwgInRhZ0NoYXJzIiwgImZsb3dJbmRpY2F0b3JDaGFycyIsICJpbnZhbGlkQW5jaG9yQ2hhcnMiLCAiaXNOb3RBbmNob3JDaGFyIiwgIkxleGVyIiwgInNvdXJjZSIsICJpbmNvbXBsZXRlIiwgIl9hIiwgIm5leHQiLCAiX195aWVsZFN0YXIiLCAiaSIsICJuIiwgIm9mZnNldCIsICJpbmRlbnQiLCAiZHQiLCAiZW5kIiwgInN0YXRlIiwgImxpbmUiLCAiQk9NIiwgImRpckVuZCIsICJjcyIsICJzcCIsICJET0NVTUVOVCIsICJzIiwgImNoMCIsICJjaDEiLCAibmwiLCAiRkxPV19FTkQiLCAicXVvdGUiLCAicWIiLCAibG9vcCIsICJsYXN0Q2hhciIsICJTQ0FMQVIiLCAiaW5GbG93IiwgImFsbG93RW1wdHkiLCAiYWxsb3dUYWJzIiwgInRlc3QiLCAiTGluZUNvdW50ZXIiLCAib2Zmc2V0IiwgImxvdyIsICJoaWdoIiwgIm1pZCIsICJzdGFydCIsICJpbmNsdWRlc1Rva2VuIiwgImxpc3QiLCAidHlwZSIsICJpIiwgImZpbmROb25FbXB0eUluZGV4IiwgImlzRmxvd1Rva2VuIiwgInRva2VuIiwgImdldFByZXZQcm9wcyIsICJwYXJlbnQiLCAiX2EiLCAiaXQiLCAiZ2V0Rmlyc3RLZXlTdGFydFByb3BzIiwgInByZXYiLCAibG9vcCIsICJmaXhGbG93U2VxSXRlbXMiLCAiZmMiLCAiUGFyc2VyIiwgIm9uTmV3TGluZSIsICJMZXhlciIsICJzb3VyY2UiLCAiaW5jb21wbGV0ZSIsICJsZXhlbWUiLCAiX195aWVsZFN0YXIiLCAidG9rZW5UeXBlIiwgIm1lc3NhZ2UiLCAidG9wIiwgIm4iLCAiZXJyb3IiLCAibGFzdCIsICJzdCIsICJkb2MiLCAiYnYiLCAic2NhbGFyIiwgInN0YXJ0IiwgInNlcCIsICJtYXAiLCAibmwiLCAiZW5kIiwgImF0TWFwSW5kZW50IiwgImF0TmV4dEl0ZW0iLCAia2V5IiwgImZzIiwgInNlcSIsICJpbmRlbnQiLCAiZG9jRW5kIiwgInBhcnNlT3B0aW9ucyIsICJvcHRpb25zIiwgInByZXR0eUVycm9ycyIsICJMaW5lQ291bnRlciIsICJwYXJzZURvY3VtZW50IiwgInNvdXJjZSIsICJvcHRpb25zIiwgImxpbmVDb3VudGVyIiwgInByZXR0eUVycm9ycyIsICJwYXJzZU9wdGlvbnMiLCAicGFyc2VyIiwgIlBhcnNlciIsICJjb21wb3NlciIsICJDb21wb3NlciIsICJkb2MiLCAiX2RvYyIsICJZQU1MUGFyc2VFcnJvciIsICJwcmV0dGlmeUVycm9yIiwgInBhcnNlIiwgInNyYyIsICJyZXZpdmVyIiwgIl9yZXZpdmVyIiwgIndhcm5pbmciLCAid2FybiIsICJpbXBvcnRfc29ydGVkX2J0cmVlIiwgIlAiLCAiTGl0ZXJhbHMiLCAidG9TdHJpbmciLCAiZmllbGQiLCAic2V0dGluZyIsICJyZWN1cnNpdmUiLCAid3JhcHBlZCIsICJ3cmFwVmFsdWUiLCAicmVzdWx0IiwgImYiLCAiZSIsICJyZW5kZXJNaW5pbWFsRGF0ZSIsICJyZW5kZXJNaW5pbWFsRHVyYXRpb24iLCAidmFsIiwgImlzTnVsbCIsICJpc051bWJlciIsICJpc1N0cmluZyIsICJpc0Jvb2xlYW4iLCAiaXNEdXJhdGlvbiIsICJpc0RhdGUiLCAiaXNBcnJheSIsICJpc0xpbmsiLCAiaXNGdW5jdGlvbiIsICJpc09iamVjdCIsICJtYXBMZWF2ZXMiLCAiZnVuYyIsICJrZXkiLCAidmFsdWUiLCAiZXF1YWxzIiwgImZpcnN0IiwgInNlY29uZCIsICJjb21wYXJlIiwgInZhbDEiLCAidmFsMiIsICJsaW5rTm9ybWFsaXplciIsICJfYSIsICJfYiIsICJ3cmFwMSIsICJ3cmFwMiIsICJsaW5rMSIsICJsaW5rMiIsICJub3JtYWxpemUiLCAieCIsICJwYXRoQ29tcGFyZSIsICJ0eXBlQ29tcGFyZSIsICJmMSIsICJmMiIsICJpbmRleCIsICJjb21wIiwgIm8xIiwgIm8yIiwgImsxIiwgImsyIiwgImtleUNvbXBhcmUiLCAidHlwZU9mIiwgImlzVHJ1dGh5IiwgImRlZXBDb3B5IiwgInYiLCAiRGF0ZVRpbWUiLCAiRHVyYXRpb24iLCAiTGluayIsICJHcm91cGluZ3MiLCAiaXNFbGVtZW50R3JvdXAiLCAiZW50cnkiLCAiaXNHcm91cGluZyIsICJlbGVtZW50IiwgImlzTGVhZiIsICJjb3VudCIsICJlbGVtZW50cyIsICJzdWJncm91cCIsICJzbGljZSIsICJzdGFydCIsICJlbmQiLCAic2VlbiIsICJncm91cCIsICJncm91cFNpemUiLCAiZ3JvdXBTdGFydCIsICJncm91cEVuZCIsICJTdWNjZXNzIiwgIl9TdWNjZXNzIiwgInZhbHVlIiwgImYiLCAic3VjYyIsICJfZmFpbCIsICJfdmFsdWUiLCAiX21lc3NhZ2UiLCAiRmFpbHVyZSIsICJfRmFpbHVyZSIsICJlcnJvciIsICJfZiIsICJfc3VjYyIsICJmYWlsIiwgIm1lc3NhZ2UiLCAiUmVzdWx0IiwgInN1Y2Nlc3MiLCAiZmFpbHVyZSIsICJmbGF0TWFwMiIsICJmaXJzdCIsICJzZWNvbmQiLCAibWFwMiIsICJhIiwgImIiLCAibWFwQWxsIiwgImlucHV0IiwgImZ1bmMiLCAicmVzdWx0IiwgImVsZW1lbnQiLCAib3V0cHV0IiwgInRyeWluZyIsICJjYWxsIiwgImFzeW5jIiwgInByb21pc2UiLCAiRmlsdGVycyIsICJhdG9tIiwgInNldCIsICJjb25zdGFudCIsICJ2YWx1ZSIsICJudWxsYWJsZUF0b20iLCAibmVnYXRlZCIsICJuZWdhdGUiLCAiZmlsdGVyIiwgImVtcHR5IiwgInJlc29sdmUiLCAiZXZlcnl0aGluZyIsICJzZXRJbnRlcnNlY3ROZWdhdGlvbiIsICJpbnRlcnNlY3QiLCAiZWxlbWVudHMiLCAibGF6eUludGVyc2VjdCIsICJ4IiwgInByb2R1Y2UiLCAibGF6eUZhaWxhYmxlSW50ZXJzZWN0aW9uIiwgIlJlc3VsdCIsICJhdG9tcyIsICJuZWdhdGlvbnMiLCAiZWxlbWVudCIsICJtYXliZUZpbHRlciIsICJzZXRJbnRlcnNlY3QiLCAic2V0VW5pb24iLCAidW5pb24iLCAiZmlsdGVycyIsICJsYXp5VW5pb24iLCAibGF6eUZhaWxhYmxlVW5pb24iLCAic2V0cyIsICJzb3J0ZWQiLCAiYSIsICJiIiwgInJlc3VsdCIsICJsYXJnZXN0IiwgIkV4cHJlc3Npb25zIiwgInZhcmlhYmxlIiwgIm5hbWUiLCAibGl0ZXJhbCIsICJ2YWx1ZSIsICJiaW5hcnlPcCIsICJsZWZ0IiwgIm9wIiwgInJpZ2h0IiwgImluZGV4IiwgIm9iaiIsICJpbmRleFZhcmlhYmxlIiwgInBhcnRzIiwgInJlc3VsdCIsICJsYW1iZGEiLCAiYXJncyIsICJmdW5jIiwgImxpc3QiLCAidmFsdWVzIiwgIm9iamVjdCIsICJuZWdhdGUiLCAiY2hpbGQiLCAiaXNDb21wYXJlT3AiLCAidW5ib3VuZFZhcmlhYmxlcyIsICJleHByIiwgImJvdW5kIiwgIkxpdGVyYWxzIiwgIkZpbHRlcnMiLCAiYSIsICJuZXdCb3VuZCIsICJhcmciLCAidiIsICJ0b1N0cmluZyIsICJrIiwgIndyYXBwZWQiLCAiUFJJTUlUSVZFUyIsICJfIiwgInN0ciIsICJxIiwgImNoYXJzIiwgImVzY2FwZWQiLCAic3RhcnQiLCAicmVzdCIsICJFTU9KSV9SRUdFWCIsICJmaXJzdCIsICJsaW5rSW5uZXIiLCAiTGluayIsICJwIiwgImwiLCAiX3N0ciIsICJ5ZWFyIiwgIm1vbnRoIiwgIkRhdGVUaW1lIiwgIkRBVEVfU0hPUlRIQU5EUyIsICJhIiwgImIiLCAiY2hhaW5PcHQiLCAieW0iLCAiZGF5IiwgInltZCIsICJob3VyIiwgInltZGgiLCAibWludXRlIiwgInltZGhtIiwgInNlY29uZCIsICJ5bWRobXMiLCAibWlsbGlzZWNvbmQiLCAiZHQiLCAicG0iLCAiaHIiLCAiX2EiLCAiem9uZSIsICJfYiIsICJkIiwgIkRVUkFUSU9OX1RZUEVTIiwgImNvdW50IiwgInQiLCAieCIsICJkdXJhdGlvbnMiLCAiYyIsICJub3JtYWxpemVEdXJhdGlvbiIsICJmIiwgIl9zIiwgImVtb2ppX3JlZ2V4X2RlZmF1bHQiLCAiRHVyYXRpb24iLCAiRVhQUkVTU0lPTiIsICJFeHByZXNzaW9ucyIsICJjcmVhdGVGdW5jdGlvbiIsICJfZnVuYyIsICJkYXRlIiwgImR1ciIsICJuYW1lIiwgIl9zZXAiLCAidmFsdWUiLCAidmFscyIsICJyZXMiLCAiZW50cnkiLCAib2JqIiwgInBvc3RmaXhlcyIsICJyZXN1bHQiLCAicG9zdCIsICJmaWVsZCIsICJpZGVudCIsICJfaWdub3JlIiwgImV4cHIiLCAiXzIiLCAiXzMiLCAiXzQiLCAiXzEiLCAiZXhwcnMiLCAiY3JlYXRlQmluYXJ5UGFyc2VyIiwgIlFVRVJZIiwgImlkIiwgImZ1bmMiLCAicGF0aCIsICJjaGlsZHJlbiIsICJwYXJlbnRzIiwgImxpbmsiLCAic291cmNlIiwgImxlZnQiLCAiX29wIiwgInJpZ2h0IiwgImNyZWF0ZUJpbmFyeVBhcnNlciIsICJjaGlsZCIsICJzZXAiLCAiY29tYmluZSIsICJmaXJzdCIsICJyZXN0IiwgIm5vZGUiLCAiaW5kZXgiLCAiY3JlYXRlRnVuY3Rpb24iLCAiZnVuYyIsICJhcmdzIiwgInJlYWxGdW5jIiwgImYiLCAiYSIsICJjaGFpbk9wdCIsICJiYXNlIiwgImZ1bmNzIiwgIl9zdWNjZXNzIiwgIl9mYWlsdXJlIiwgImlucHV0IiwgInJlc3VsdCIsICJuZXh0IiwgIlAiLCAibWFwT2JqZWN0VmFsdWVzIiwgIm9iamVjdCIsICJmdW5jIiwgInJlc3VsdCIsICJrZXkiLCAidmFsdWUiLCAiSnNvbkNvbnZlcnNpb24iLCAiaW5wdXQiLCAianNvbiIsICJsaXRlcmFsIiwgIndyYXBwZWQiLCAiTGl0ZXJhbHMiLCAibWFwT2JqZWN0VmFsdWVzIiwgInZhbHVlIiwgIm5vcm1hbGl6ZXIiLCAidiIsICJ0eXBlIiwgIkRhdGVUaW1lIiwgIkR1cmF0aW9uIiwgIkxpbmsiLCAianNvbklubGluZUZpZWxkIiwgImZpZWxkIiwgIkpzb25Db252ZXJzaW9uIiwgImFzSW5saW5lRmllbGQiLCAibG9jYWwiLCAibGluZW5vIiwgImYiLCAicGFyc2VJbmxpbmVWYWx1ZSIsICJJTkxJTkVfRklFTERfV1JBUFBFUlMiLCAiZmluZENsb3NpbmciLCAibGluZSIsICJzdGFydCIsICJvcGVuIiwgImNsb3NlIiwgIm5lc3RpbmciLCAiZXNjYXBlZCIsICJpbmRleCIsICJjaGFyIiwgImZpbmRTZXBhcmF0b3IiLCAic2VwIiwgImZpbmRTcGVjaWZpY0lubGluZUZpZWxkIiwgImtleSIsICJ2YWx1ZSIsICJpbmxpbmUiLCAiUFJJTUlUSVZFUyIsICJleHRyYWN0SW5saW5lRmllbGRzIiwgImluY2x1ZGVUYXNrRmllbGRzIiwgImZpZWxkcyIsICJ3cmFwcGVyIiwgImZvdW5kSW5kZXgiLCAicGFyc2VkRmllbGQiLCAiZXh0cmFjdFNwZWNpYWxUYXNrRmllbGRzIiwgImEiLCAiYiIsICJmaWx0ZXJlZEZpZWxkcyIsICJpIiwgIkZVTExfTElORV9LRVlfUEFSVCIsICJlbW9qaV9yZWdleF9kZWZhdWx0IiwgInBhcnRzIiwgIkZVTExfTElORV9LRVlfUEFSU0VSIiwgImV4dHJhY3RGdWxsTGluZUZpZWxkIiwgInRleHQiLCAicmVhbEtleSIsICJDUkVBVEVEX0RBVEVfUkVHRVgiLCAiRFVFX0RBVEVfUkVHRVgiLCAiRE9ORV9EQVRFX1JFR0VYIiwgIlNDSEVEVUxFRF9EQVRFX1JFR0VYIiwgIlNUQVJUX0RBVEVfUkVHRVgiLCAiRU1PSklfUkVHRVhFUyIsICJyZXN1bHRzIiwgInJlZ2V4IiwgIm1hdGNoIiwgIllhbWxDb252ZXJzaW9uIiwgInlhbWwiLCAidmFsdWUiLCAid3JhcHBlZCIsICJMaXRlcmFscyIsICJsaXRlcmFsIiwgIm1hcE9iamVjdFZhbHVlcyIsICJyZXN1bHQiLCAiY2hpbGQiLCAiRGF0ZVRpbWUiLCAib2JqZWN0IiwgImtleSIsICJkYXRlUGFyc2UiLCAiUFJJTUlUSVZFUyIsICJkdXJhdGlvblBhcnNlIiwgImxpbmtQYXJzZSIsICJZQU1MX0RBVEFfUkVHRVgiLCAiQ09ERUJMT0NLX0ZFTkNFX1JFR0VYIiwgIkxJU1RfSVRFTV9SRUdFWCIsICJtYXJrZG93bkltcG9ydCIsICJwYXRoIiwgIm1hcmtkb3duIiwgIm1ldGFkYXRhIiwgInN0YXRzIiwgImxpbmVzIiwgInBhZ2VNZXRhZGF0YSIsICJmcm9udG1hdHRlciIsICJzZWN0aW9ucyIsICJtYXJrZG93blNvdXJjZUltcG9ydCIsICJQYWdlRGF0YSIsICJfYSIsICJfYiIsICJfYyIsICJfZCIsICJfZSIsICJfZiIsICJfZyIsICJfaCIsICJfaSIsICJfaiIsICJfayIsICJfbCIsICJfbSIsICJfbiIsICJfbyIsICJfcCIsICJwYXJzZUZyb250bWF0dGVyQmxvY2siLCAibWFya2Rvd25NZXRhZGF0YSIsICJNZXRhZGF0YSIsICJzZWN0aW9uQXJyYXkiLCAibWV0YWhlYWRpbmdzIiwgImEiLCAiYiIsICJCVHJlZSIsICJpbmRleCIsICJlbnRyeSIsICJzdGFydCIsICJlbmQiLCAic2VjdGlvbiIsICJTZWN0aW9uRGF0YSIsICJlbXB0eWxpbmVzIiwgImdldEZpbGVUaXRsZSIsICJmaXJzdCIsICJibG9ja3MiLCAiYmxvY2tPcmRpbmFsIiwgImJsb2NrIiwgInN0YXJ0TGluZSIsICJMaXN0QmxvY2tEYXRhIiwgInlhbWwiLCAic3BsaXQiLCAicGFyc2UiLCAiRGF0YWJsb2NrRGF0YSIsICJtYXRjaCIsICJDb2RlYmxvY2tEYXRhIiwgImxhbmd1YWdlcyIsICJCYXNlQmxvY2tEYXRhIiwgImxvb2t1cCIsICJjb250ZW50UmVnZXgiLCAibWFya2VyUmVnZXgiLCAibGlzdEl0ZW1zIiwgImxpc3QiLCAibGluZSIsICJzeW1ib2wiLCAidGV4dCIsICJpdGVtIiwgIkxpc3RJdGVtRGF0YSIsICJsaXN0QmxvY2siLCAidGFnZGVmIiwgInRhZyIsICJyYXd0YWciLCAiZXh0cmFjdFRhZ3MiLCAibGlua2RlZiIsICJsaW5rIiwgIkxpbmsiLCAiZmllbGQiLCAiaXRlcmF0ZUlubGluZUZpZWxkcyIsICJjb250ZW50IiwgImxpbmVubyIsICJpbmxpbmVGaWVsZHMiLCAiZXh0cmFjdElubGluZUZpZWxkcyIsICJpZmllbGQiLCAiYXNJbmxpbmVGaWVsZCIsICJmdWxsTGluZSIsICJleHRyYWN0RnVsbExpbmVGaWVsZCIsICJyZXN1bHQiLCAia2V5IiwgInZhbHVlIiwgIkpzb25Db252ZXJzaW9uIiwgIllhbWxDb252ZXJzaW9uIiwgInRyZWUiLCAidGFyZ2V0IiwgImsiLCAic3BsaXRGcm9udG1hdHRlclRhZ09yQWxpYXMiLCAicCIsICJjIiwgInN0ciIsICJkYXRhIiwgIm9uIiwgInMiLCAidiIsICJsb3dlciIsICJtYXBPYmplY3RWYWx1ZXMiLCAianNvbklubGluZUZpZWxkIiwgImxlbmd0aCIsICJnZXRFeHRlbnNpb24iLCAieCIsICJ0aXRsZSIsICJsZXZlbCIsICJvcmRpbmFsIiwgImJsb2NrSWQiLCAic3R5bGUiLCAiY29udGVudFN0YXJ0IiwgImNvbnRlbnRFbmQiLCAidHlwZSIsICJwYXJlbnRMaW5lIiwgInN0YXR1cyIsICJlbGVtZW50IiwgImNhbnZhc0ltcG9ydCIsICJwYXRoIiwgInNvdXJjZSIsICJpbmRleCIsICJzdGF0cyIsICJfYSIsICJjYW52YXMiLCAiQ2FudmFzRGF0YSIsICJwYXJzZWQiLCAiYyIsICJmcm9udG1hdHRlciIsICJtZXRhZGF0YSIsICJsaW5lcyIsICJzZWN0aW9ucyIsICJtYXJrZG93blNvdXJjZUltcG9ydCIsICJjYXJkIiwgIkNhbnZhc0NhcmREYXRhIiwgImkiLCAidGFnIiwgImxpbmsiLCAiZmllbGQiLCAiaXRlcmF0ZUlubGluZUZpZWxkcyIsICJBYnN0cmFjdENhbnZhc0NhcmREYXRhIiwgImlkIiwgIm5vZGVKc29uIiwgIk1ldGFkYXRhIiwgIkxpbmsiLCAic2VjdGlvbiIsICJfX3NwcmVhZFByb3BzIiwgIl9fc3ByZWFkVmFsdWVzIiwgIngiLCAiZCIsICJldmVudCIsICJtZXNzYWdlIiwgIm1hcmtkb3duIiwgIm1hcmtkb3duSW1wb3J0IiwgImNhbnZhcyIsICJjYW52YXNJbXBvcnQiLCAiZXJyb3IiXQp9Cg==\n'); } // src/index/web-worker/importer.ts @@ -50242,6 +50268,7 @@ var Datacore = class extends import_obsidian8.Component { } /** Trigger an event. */ trigger(evt, ...args) { + console.log("triggering", evt); this.events.trigger(evt, ...args); } }; @@ -50818,6 +50845,6 @@ localforage/dist/localforage.js: * @class *) */ -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vbm9kZV9tb2R1bGVzL3BhcnNpbW1vbi9idWlsZC9wYXJzaW1tb24udW1kLm1pbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvc2V0LWFycmF5L3NyYy9zZXQtYXJyYXkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3NvdXJjZW1hcC1jb2RlYy9zcmMvdmxxLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC9zb3VyY2VtYXAtY29kZWMvc3JjL3N0cmluZ3MudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3NvdXJjZW1hcC1jb2RlYy9zcmMvc2NvcGVzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC9zb3VyY2VtYXAtY29kZWMvc3JjL3NvdXJjZW1hcC1jb2RlYy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvcmVzb2x2ZS11cmkvc3JjL3Jlc29sdmUtdXJpLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC90cmFjZS1tYXBwaW5nL3NyYy9yZXNvbHZlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC90cmFjZS1tYXBwaW5nL3NyYy9zdHJpcC1maWxlbmFtZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvdHJhY2UtbWFwcGluZy9zcmMvc291cmNlbWFwLXNlZ21lbnQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3RyYWNlLW1hcHBpbmcvc3JjL3NvcnQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3RyYWNlLW1hcHBpbmcvc3JjL2JpbmFyeS1zZWFyY2gudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3RyYWNlLW1hcHBpbmcvc3JjL2J5LXNvdXJjZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvdHJhY2UtbWFwcGluZy9zcmMvYW55LW1hcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvdHJhY2UtbWFwcGluZy9zcmMvdHJhY2UtbWFwcGluZy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvZ2VuLW1hcHBpbmcvc3JjL3NvdXJjZW1hcC1zZWdtZW50LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC9nZW4tbWFwcGluZy9zcmMvZ2VuLW1hcHBpbmcudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3RzLWludGVyZmFjZS1jaGVja2VyL2Rpc3QvdXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvdHMtaW50ZXJmYWNlLWNoZWNrZXIvZGlzdC90eXBlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvdHMtaW50ZXJmYWNlLWNoZWNrZXIvZGlzdC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbGluZXMtYW5kLWNvbHVtbnMvYnVpbGQvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LWlzL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QtaXMvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzL2Rpc3QvaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MuY2pzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvaGFzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2NoZWNrUHJvcFR5cGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zb3J0ZWQtYnRyZWUvYit0cmVlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sb2NhbGZvcmFnZS9kaXN0L2xvY2FsZm9yYWdlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AZGF0YXN0cnVjdHVyZXMtanMvcXVldWUvc3JjL3F1ZXVlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AZGF0YXN0cnVjdHVyZXMtanMvcXVldWUvaW5kZXguanMiLCAiLi4vLi4vc3JjL21haW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9sdXhvbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2Vycm9ycy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvdXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZW5nbGlzaC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0dGVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9pbnZhbGlkLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL3N5c3RlbVpvbmUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy96b25lcy9JQU5BWm9uZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL2ludmFsaWRab25lLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC96b25lVXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3NldHRpbmdzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9sb2NhbGUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL3JlZ2V4UGFyc2VyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvZHVyYXRpb24uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbnRlcnZhbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2luZm8uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2RpZmYuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2RpZ2l0cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvdG9rZW5QYXJzZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2NvbnZlcnNpb25zLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvZGF0ZXRpbWUuanMiLCAiLi4vLi4vc3JjL3V0aWxzL25vcm1hbGl6ZXJzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9lbW9qaS1yZWdleC9pbmRleC5tanMiLCAiLi4vLi4vc3JjL2V4cHJlc3Npb24vbGluay50cyIsICIuLi8uLi9zcmMvZXhwcmVzc2lvbi9wYXJzZXIudHMiLCAiLi4vLi4vc3JjL2V4cHJlc3Npb24vbGl0ZXJhbC50cyIsICIuLi8uLi9zcmMvYXBpL3Jlc3VsdC50cyIsICIuLi8uLi9zcmMvZXhwcmVzc2lvbi9maWx0ZXJzLnRzIiwgIi4uLy4uL3NyYy9leHByZXNzaW9uL2V4cHJlc3Npb24udHMiLCAiLi4vLi4vc3JjL3VpL21hcmtkb3duLnRzeCIsICIuLi8uLi9zcmMvdXRpbHMvbWVkaWEudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvY29uc3RhbnRzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3Qvc3JjL3V0aWwuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvb3B0aW9ucy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jcmVhdGUtZWxlbWVudC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jb21wb25lbnQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvZGlmZi9wcm9wcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jcmVhdGUtY29udGV4dC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9kaWZmL2NoaWxkcmVuLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3Qvc3JjL2RpZmYvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvcmVuZGVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3Qvc3JjL2Nsb25lLWVsZW1lbnQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvZGlmZi9jYXRjaC1lcnJvci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2hvb2tzL3NyYy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvdXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvUHVyZUNvbXBvbmVudC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvbWVtby5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvZm9yd2FyZFJlZi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvQ2hpbGRyZW4uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9jb21wYXQvc3JjL3N1c3BlbnNlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L3NyYy9zdXNwZW5zZS1saXN0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3Qvc3JjL2NvbnN0YW50cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvcG9ydGFscy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvcmVuZGVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L3NyYy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2pzeC1ydW50aW1lL3NyYy91dGlscy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jb25zdGFudHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9qc3gtcnVudGltZS9zcmMvaW5kZXguanMiLCAiLi4vLi4vc3JjL2FwaS91aS9lbWJlZC50c3giLCAiLi4vLi4vc3JjL3VpL2phdmFzY3JpcHQudHN4IiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90b2tlbml6ZXIva2V5d29yZHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3Rva2VuaXplci90eXBlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvdG9rZW5pemVyL3N0YXRlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci91dGlsL2NoYXJjb2Rlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvdHJhdmVyc2VyL2Jhc2UuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3RyYXZlcnNlci91dGlsLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci91dGlsL3doaXRlc3BhY2UuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3V0aWwvaWRlbnRpZmllci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvdG9rZW5pemVyL3JlYWRXb3JkVHJlZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvdG9rZW5pemVyL3JlYWRXb3JkLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90b2tlbml6ZXIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdXRpbC9nZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci9wbHVnaW5zL2pzeC94aHRtbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2dldEpTWFByYWdtYUluZm8uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdHJhbnNmb3JtZXJzL1RyYW5zZm9ybWVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3RyYW5zZm9ybWVycy9KU1hUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2dldE5vblR5cGVJZGVudGlmaWVycy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9DSlNJbXBvcnRQcm9jZXNzb3IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vY29tcHV0ZVNvdXJjZU1hcC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9IZWxwZXJNYW5hZ2VyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL2lkZW50aWZ5U2hhZG93ZWRHbG9iYWxzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvZ2V0SWRlbnRpZmllck5hbWVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL05hbWVNYW5hZ2VyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL09wdGlvbnMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vT3B0aW9ucy1nZW4tdHlwZXMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3RyYXZlcnNlci9sdmFsLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci9wbHVnaW5zL3R5cGVzY3JpcHQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3BsdWdpbnMvanN4L2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci9wbHVnaW5zL3R5cGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90cmF2ZXJzZXIvZXhwcmVzc2lvbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvcGx1Z2lucy9mbG93LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90cmF2ZXJzZXIvc3RhdGVtZW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90cmF2ZXJzZXIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvaXNBc3luY09wZXJhdGlvbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9Ub2tlblByb2Nlc3Nvci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2dldENsYXNzSW5mby5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2VsaWRlSW1wb3J0RXF1YWxzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvZ2V0RGVjbGFyYXRpb25JbmZvLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvaXNFeHBvcnRGcm9tLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvcmVtb3ZlTWF5YmVJbXBvcnRBdHRyaWJ1dGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvc2hvdWxkRWxpZGVEZWZhdWx0RXhwb3J0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3RyYW5zZm9ybWVycy9DSlNJbXBvcnRUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvRVNNSW1wb3J0VHJhbnNmb3JtZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdHJhbnNmb3JtZXJzL0Zsb3dUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvSmVzdEhvaXN0VHJhbnNmb3JtZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdHJhbnNmb3JtZXJzL051bWVyaWNTZXBhcmF0b3JUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvT3B0aW9uYWxDYXRjaEJpbmRpbmdUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvT3B0aW9uYWxDaGFpbmluZ051bGxpc2hUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvUmVhY3REaXNwbGF5TmFtZVRyYW5zZm9ybWVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3RyYW5zZm9ybWVycy9SZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvaXNJZGVudGlmaWVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3RyYW5zZm9ybWVycy9UeXBlU2NyaXB0VHJhbnNmb3JtZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdHJhbnNmb3JtZXJzL1Jvb3RUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2Zvcm1hdFRva2Vucy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2dldFRTSW1wb3J0ZWROYW1lcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9pbmRleC5qcyIsICIuLi8uLi9zcmMvdXRpbHMvamF2YXNjcmlwdC50cyIsICIuLi8uLi9zcmMvdWkvaG9va3MudHMiLCAiLi4vLi4vc3JjL3VpL2xvYWRpbmctYm91bmRhcnkudHN4IiwgIi4uLy4uL3NyYy9hcGkvdWkvbGF5b3V0LnRzeCIsICIuLi8uLi9zcmMvYXBpL3VpL2Jhc2ljcy50c3giLCAiLi4vLi4vc3JjL2luZGV4L3R5cGVzL2luZGV4YWJsZS50cyIsICIuLi8uLi9zcmMvZXhwcmVzc2lvbi9maWVsZC50cyIsICIuLi8uLi9zcmMvaW5kZXgvaW1wb3J0L2lubGluZS1maWVsZC50cyIsICIuLi8uLi9zcmMvdXRpbHMvZGF0YS50cyIsICIuLi8uLi9zcmMvaW5kZXgvdHlwZXMvanNvbi9jb21tb24udHMiLCAiLi4vLi4vc3JjL2luZGV4L3R5cGVzL21hcmtkb3duLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvUHJpbWl0aXZlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b1Byb3BlcnR5S2V5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRoSG9sZXMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2l0ZXJhYmxlVG9BcnJheUxpbWl0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheUxpa2VUb0FycmF5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVSZXN0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zbGljZWRUb0FycmF5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2VsZWN0L2Rpc3QvdXNlU3RhdGVNYW5hZ2VyLTdlMWU4NDg5LmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY2xhc3NDYWxsQ2hlY2suanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zZXRQcm90b3R5cGVPZi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaW5oZXJpdHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2dldFByb3RvdHlwZU9mLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcG9zc2libGVDb25zdHJ1Y3RvclJldHVybi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY3JlYXRlU3VwZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FycmF5V2l0aG91dEhvbGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pdGVyYWJsZVRvQXJyYXkuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL25vbkl0ZXJhYmxlU3ByZWFkLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b0NvbnN1bWFibGVBcnJheS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vc2hlZXQvZGlzdC9lbW90aW9uLXNoZWV0LmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9FbnVtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1V0aWxpdHkuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxpcy9zcmMvVG9rZW5pemVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1BhcnNlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9TZXJpYWxpemVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL01pZGRsZXdhcmUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL21lbW9pemUvZGlzdC9lbW90aW9uLW1lbW9pemUuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9jYWNoZS9kaXN0L2Vtb3Rpb24tY2FjaGUuYnJvd3Nlci5lc20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3V0aWxzL2Rpc3QvZW1vdGlvbi11dGlscy5icm93c2VyLmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vaGFzaC9kaXN0L2Vtb3Rpb24taGFzaC5lc20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3VuaXRsZXNzL2Rpc3QvZW1vdGlvbi11bml0bGVzcy5lc20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3NlcmlhbGl6ZS9kaXN0L2Vtb3Rpb24tc2VyaWFsaXplLmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vdXNlLWluc2VydGlvbi1lZmZlY3Qtd2l0aC1mYWxsYmFja3MvZGlzdC9lbW90aW9uLXVzZS1pbnNlcnRpb24tZWZmZWN0LXdpdGgtZmFsbGJhY2tzLmJyb3dzZXIuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9yZWFjdC9kaXN0L2Vtb3Rpb24tZWxlbWVudC01NDg2YzUxYy5icm93c2VyLmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vcmVhY3QvZGlzdC9lbW90aW9uLXJlYWN0LmJyb3dzZXIuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90YWdnZWRUZW1wbGF0ZUxpdGVyYWwuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS91dGlscy9kaXN0L2Zsb2F0aW5nLXVpLnV0aWxzLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL3V0aWxzL2Rpc3QvZmxvYXRpbmctdWkudXRpbHMuZG9tLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2RvbS9kaXN0L2Zsb2F0aW5nLXVpLmRvbS5tanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3VzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QvZGlzdC91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0LmJyb3dzZXIuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9pbmRleC1hMzAxZjUyNi5lc20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21lbW9pemUtb25lL2Rpc3QvbWVtb2l6ZS1vbmUuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9TZWxlY3QtMWZkNTg4YzkuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9yZWFjdC1zZWxlY3QuZXNtLmpzIiwgIi4uLy4uL3NyYy91aS9maWVsZHMvYm9vbGVhbi1maWVsZC50c3giLCAiLi4vLi4vc3JjL3VpL2ZpZWxkcy9wcm9ncmVzcy1maWVsZC50c3giLCAiLi4vLi4vc3JjL3VpL2ZpZWxkcy9yYXRpbmcudHN4IiwgIi4uLy4uL3NyYy91dGlscy90YXNrLnRzIiwgIi4uLy4uL3NyYy9pbmRleC90eXBlcy95YW1sLnRzIiwgIi4uLy4uL3NyYy9pbmRleC9lZGl0L2ZpZWxkLnRzIiwgIi4uLy4uL3NyYy91dGlscy9maWVsZHMudHMiLCAiLi4vLi4vc3JjL3VpL2ZpZWxkcy9lZGl0YWJsZS50c3giLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9saXN0LnRzeCIsICIuLi8uLi9zcmMvYXBpL3VpL3ZpZXdzL3Rhc2sudHN4IiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvcGFnaW5nLnRzeCIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zL2luZGV4Lm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlL2luZGV4Lm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lL2luZGV4LmVzLmpzIiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvdGFibGUudHN4IiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvY2FsbG91dC50c3giLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9jYXJkcy50c3giLCAiLi4vLi4vc3JjL2FwaS9kYXRhLWFycmF5LnRzIiwgIi4uLy4uL3NyYy9hcGkvY29lcmNlLnRzIiwgIi4uLy4uL3NyYy91dGlscy9kZWZlcnJlZC50cyIsICIuLi8uLi9zcmMvYXBpL3NjcmlwdC1jYWNoZS50cyIsICIuLi8uLi9zcmMvdWkvZmllbGRzL2VkaXRhYmxlLWZpZWxkcy50c3giLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy90cmVlLXRhYmxlLnRzeCIsICIuLi8uLi9zcmMvYXBpL2xvY2FsLWFwaS50c3giLCAiLi4vLi4vc3JjL2FwaS9hcGkudHMiLCAiLi4vLi4vc3JjL2luZGV4L3N0b3JhZ2UvZm9sZGVyLnRzIiwgIi4uLy4uL3NyYy9pbmRleC9zdG9yYWdlL2ludmVydGVkLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mbGF0cXVldWUvaW5kZXguanMiLCAiLi4vLi4vc3JjL2luZGV4L3N0b3JhZ2UvZmllbGRzLnRzIiwgIi4uLy4uL3NyYy9leHByZXNzaW9uL2JpbmFyeW9wLnRzIiwgIi4uLy4uL3NyYy9leHByZXNzaW9uL2Z1bmN0aW9ucy50cyIsICIuLi8uLi9zcmMvZXhwcmVzc2lvbi9ldmFsdWF0b3IudHMiLCAiLi4vLi4vc3JjL2luZGV4L3N0b3JhZ2UvcXVlcnktZXhlY3V0b3IudHMiLCAiLi4vLi4vc3JjL2luZGV4L2RhdGFzdG9yZS50cyIsICIuLi8uLi9zcmMvaW5kZXgvcGVyc2lzdGVyLnRzIiwgImlubGluZS13b3JrZXI6X19pbmxpbmUtd29ya2VyIiwgIi4uLy4uL3NyYy9pbmRleC93ZWItd29ya2VyL2ltcG9ydGVyLndvcmtlci50cyIsICIuLi8uLi9zcmMvaW5kZXgvd2ViLXdvcmtlci9pbXBvcnRlci50cyIsICIuLi8uLi9zcmMvaW5kZXgvZGF0YWNvcmUudHMiLCAiLi4vLi4vc3JjL2luZGV4L3R5cGVzL2ZpbGVzLnRzIiwgIi4uLy4uL3NyYy9pbmRleC9lbWJlZC1xdWV1ZS50cyIsICIuLi8uLi9zcmMvaW5kZXgvdHlwZXMvY2FudmFzLnRzIiwgIi4uLy4uL3NyYy9zZXR0aW5ncy50cyIsICIuLi8uLi9zcmMvdWkvdmlldy1wYWdlLnRzeCIsICIuLi8uLi9zcmMvdWkvaW5kZXgtc3RhdHVzLnRzeCJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiIWZ1bmN0aW9uKG4sdCl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5QYXJzaW1tb249dCgpOm4uUGFyc2ltbW9uPXQoKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciB0PXt9O2Z1bmN0aW9uIHIoZSl7aWYodFtlXSlyZXR1cm4gdFtlXS5leHBvcnRzO3ZhciB1PXRbZV09e2k6ZSxsOiExLGV4cG9ydHM6e319O3JldHVybiBuW2VdLmNhbGwodS5leHBvcnRzLHUsdS5leHBvcnRzLHIpLHUubD0hMCx1LmV4cG9ydHN9cmV0dXJuIHIubT1uLHIuYz10LHIuZD1mdW5jdGlvbihuLHQsZSl7ci5vKG4sdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHQse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiEwLGdldDplfSl9LHIucj1mdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobixcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KX0sci5uPWZ1bmN0aW9uKG4pe3ZhciB0PW4mJm4uX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBuLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIG59O3JldHVybiByLmQodCxcImFcIix0KSx0fSxyLm89ZnVuY3Rpb24obix0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCl9LHIucD1cIlwiLHIoci5zPTApfShbZnVuY3Rpb24obix0LHIpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGUobil7aWYoISh0aGlzIGluc3RhbmNlb2YgZSkpcmV0dXJuIG5ldyBlKG4pO3RoaXMuXz1ufXZhciB1PWUucHJvdG90eXBlO2Z1bmN0aW9uIG8obix0KXtmb3IodmFyIHI9MDtyPG47cisrKXQocil9ZnVuY3Rpb24gaShuLHQscil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7byh0Lmxlbmd0aCxmdW5jdGlvbihyKXtuKHRbcl0scix0KX0pfShmdW5jdGlvbihyLGUsdSl7dD1uKHQscixlLHUpfSxyKSx0fWZ1bmN0aW9uIGEobix0KXtyZXR1cm4gaShmdW5jdGlvbih0LHIsZSx1KXtyZXR1cm4gdC5jb25jYXQoW24ocixlLHUpXSl9LFtdLHQpfWZ1bmN0aW9uIGYobix0KXt2YXIgcj17djowLGJ1Zjp0fTtyZXR1cm4gbyhuLGZ1bmN0aW9uKCl7dmFyIG47cj17djpyLnY8PDF8KG49ci5idWYsblswXT4+NyksYnVmOmZ1bmN0aW9uKG4pe3ZhciB0PWkoZnVuY3Rpb24obix0LHIsZSl7cmV0dXJuIG4uY29uY2F0KHI9PT1lLmxlbmd0aC0xP0J1ZmZlci5mcm9tKFt0LDBdKS5yZWFkVUludDE2QkUoMCk6ZS5yZWFkVUludDE2QkUocikpfSxbXSxuKTtyZXR1cm4gQnVmZmVyLmZyb20oYShmdW5jdGlvbihuKXtyZXR1cm4objw8MSY2NTUzNSk+Pjh9LHQpKX0oci5idWYpfX0pLHJ9ZnVuY3Rpb24gYygpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBCdWZmZXJ9ZnVuY3Rpb24gcygpe2lmKCFjKCkpdGhyb3cgbmV3IEVycm9yKFwiQnVmZmVyIGdsb2JhbCBkb2VzIG5vdCBleGlzdDsgcGxlYXNlIHVzZSB3ZWJwYWNrIGlmIHlvdSBuZWVkIHRvIHBhcnNlIEJ1ZmZlcnMgaW4gdGhlIGJyb3dzZXIuXCIpfWZ1bmN0aW9uIGwobil7cygpO3ZhciB0PWkoZnVuY3Rpb24obix0KXtyZXR1cm4gbit0fSwwLG4pO2lmKHQlOCE9MCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYml0cyBbXCIrbi5qb2luKFwiLCBcIikrXCJdIGFkZCB1cCB0byBcIit0K1wiIHdoaWNoIGlzIG5vdCBhbiBldmVuIG51bWJlciBvZiBieXRlczsgdGhlIHRvdGFsIHNob3VsZCBiZSBkaXZpc2libGUgYnkgOFwiKTt2YXIgcix1PXQvOCxvPShyPWZ1bmN0aW9uKG4pe3JldHVybiBuPjQ4fSxpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG58fChyKHQpP3Q6bil9LG51bGwsbikpO2lmKG8pdGhyb3cgbmV3IEVycm9yKG8rXCIgYml0IHJhbmdlIHJlcXVlc3RlZCBleGNlZWRzIDQ4IGJpdCAoNiBieXRlKSBOdW1iZXIgbWF4LlwiKTtyZXR1cm4gbmV3IGUoZnVuY3Rpb24odCxyKXt2YXIgZT11K3I7cmV0dXJuIGU+dC5sZW5ndGg/eChyLHUudG9TdHJpbmcoKStcIiBieXRlc1wiKTpiKGUsaShmdW5jdGlvbihuLHQpe3ZhciByPWYodCxuLmJ1Zik7cmV0dXJue2NvbGw6bi5jb2xsLmNvbmNhdChyLnYpLGJ1ZjpyLmJ1Zn19LHtjb2xsOltdLGJ1Zjp0LnNsaWNlKHIsZSl9LG4pLmNvbGwpfSl9ZnVuY3Rpb24gaChuLHQpe3JldHVybiBuZXcgZShmdW5jdGlvbihyLGUpe3JldHVybiBzKCksZSt0PnIubGVuZ3RoP3goZSx0K1wiIGJ5dGVzIGZvciBcIituKTpiKGUrdCxyLnNsaWNlKGUsZSt0KSl9KX1mdW5jdGlvbiBwKG4sdCl7aWYoXCJudW1iZXJcIiE9dHlwZW9mKHI9dCl8fE1hdGguZmxvb3IocikhPT1yfHx0PDB8fHQ+Nil0aHJvdyBuZXcgRXJyb3IobitcIiByZXF1aXJlcyBpbnRlZ2VyIGxlbmd0aCBpbiByYW5nZSBbMCwgNl0uXCIpO3ZhciByfWZ1bmN0aW9uIGQobil7cmV0dXJuIHAoXCJ1aW50QkVcIixuKSxoKFwidWludEJFKFwiK24rXCIpXCIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50QkUoMCxuKX0pfWZ1bmN0aW9uIHYobil7cmV0dXJuIHAoXCJ1aW50TEVcIixuKSxoKFwidWludExFKFwiK24rXCIpXCIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50TEUoMCxuKX0pfWZ1bmN0aW9uIGcobil7cmV0dXJuIHAoXCJpbnRCRVwiLG4pLGgoXCJpbnRCRShcIituK1wiKVwiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50QkUoMCxuKX0pfWZ1bmN0aW9uIG0obil7cmV0dXJuIHAoXCJpbnRMRVwiLG4pLGgoXCJpbnRMRShcIituK1wiKVwiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50TEUoMCxuKX0pfWZ1bmN0aW9uIHkobil7cmV0dXJuIG4gaW5zdGFuY2VvZiBlfWZ1bmN0aW9uIEUobil7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09e30udG9TdHJpbmcuY2FsbChuKX1mdW5jdGlvbiB3KG4pe3JldHVybiBjKCkmJkJ1ZmZlci5pc0J1ZmZlcihuKX1mdW5jdGlvbiBiKG4sdCl7cmV0dXJue3N0YXR1czohMCxpbmRleDpuLHZhbHVlOnQsZnVydGhlc3Q6LTEsZXhwZWN0ZWQ6W119fWZ1bmN0aW9uIHgobix0KXtyZXR1cm4gRSh0KXx8KHQ9W3RdKSx7c3RhdHVzOiExLGluZGV4Oi0xLHZhbHVlOm51bGwsZnVydGhlc3Q6bixleHBlY3RlZDp0fX1mdW5jdGlvbiBCKG4sdCl7aWYoIXQpcmV0dXJuIG47aWYobi5mdXJ0aGVzdD50LmZ1cnRoZXN0KXJldHVybiBuO3ZhciByPW4uZnVydGhlc3Q9PT10LmZ1cnRoZXN0P2Z1bmN0aW9uKG4sdCl7aWYoZnVuY3Rpb24oKXtpZih2b2lkIDAhPT1lLl9zdXBwb3J0c1NldClyZXR1cm4gZS5fc3VwcG9ydHNTZXQ7dmFyIG49XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFNldDtyZXR1cm4gZS5fc3VwcG9ydHNTZXQ9bixufSgpJiZBcnJheS5mcm9tKXtmb3IodmFyIHI9bmV3IFNldChuKSx1PTA7dTx0Lmxlbmd0aDt1Kyspci5hZGQodFt1XSk7dmFyIG89QXJyYXkuZnJvbShyKTtyZXR1cm4gby5zb3J0KCksb31mb3IodmFyIGk9e30sYT0wO2E8bi5sZW5ndGg7YSsrKWlbblthXV09ITA7Zm9yKHZhciBmPTA7Zjx0Lmxlbmd0aDtmKyspaVt0W2ZdXT0hMDt2YXIgYz1bXTtmb3IodmFyIHMgaW4gaSkoe30pLmhhc093blByb3BlcnR5LmNhbGwoaSxzKSYmYy5wdXNoKHMpO3JldHVybiBjLnNvcnQoKSxjfShuLmV4cGVjdGVkLHQuZXhwZWN0ZWQpOnQuZXhwZWN0ZWQ7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxpbmRleDpuLmluZGV4LHZhbHVlOm4udmFsdWUsZnVydGhlc3Q6dC5mdXJ0aGVzdCxleHBlY3RlZDpyfX12YXIgaj17fTtmdW5jdGlvbiBTKG4sdCl7aWYodyhuKSlyZXR1cm57b2Zmc2V0OnQsbGluZTotMSxjb2x1bW46LTF9O24gaW4ganx8KGpbbl09e30pO2Zvcih2YXIgcj1qW25dLGU9MCx1PTAsbz0wLGk9dDtpPj0wOyl7aWYoaSBpbiByKXtlPXJbaV0ubGluZSwwPT09byYmKG89cltpXS5saW5lU3RhcnQpO2JyZWFrfShcIlxcblwiPT09bi5jaGFyQXQoaSl8fFwiXFxyXCI9PT1uLmNoYXJBdChpKSYmXCJcXG5cIiE9PW4uY2hhckF0KGkrMSkpJiYodSsrLDA9PT1vJiYobz1pKzEpKSxpLS19dmFyIGE9ZSt1LGY9dC1vO3JldHVybiByW3RdPXtsaW5lOmEsbGluZVN0YXJ0Om99LHtvZmZzZXQ6dCxsaW5lOmErMSxjb2x1bW46ZisxfX1mdW5jdGlvbiBfKG4pe2lmKCF5KG4pKXRocm93IG5ldyBFcnJvcihcIm5vdCBhIHBhcnNlcjogXCIrbil9ZnVuY3Rpb24gTChuLHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBuP24uY2hhckF0KHQpOm5bdF19ZnVuY3Rpb24gTyhuKXtpZihcIm51bWJlclwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBudW1iZXI6IFwiK24pfWZ1bmN0aW9uIGsobil7aWYoXCJmdW5jdGlvblwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBmdW5jdGlvbjogXCIrbil9ZnVuY3Rpb24gUChuKXtpZihcInN0cmluZ1wiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBzdHJpbmc6IFwiK24pfXZhciBxPTIsQT0zLEk9OCxGPTUqSSxNPTQqSSx6PVwiICBcIjtmdW5jdGlvbiBSKG4sdCl7cmV0dXJuIG5ldyBBcnJheSh0KzEpLmpvaW4obil9ZnVuY3Rpb24gVShuLHQscil7dmFyIGU9dC1uLmxlbmd0aDtyZXR1cm4gZTw9MD9uOlIocixlKStufWZ1bmN0aW9uIFcobix0LHIsZSl7cmV0dXJue2Zyb206bi10PjA/bi10OjAsdG86bityPmU/ZTpuK3J9fWZ1bmN0aW9uIEQobix0KXt2YXIgcixlLHUsbyxmLGM9dC5pbmRleCxzPWMub2Zmc2V0LGw9MTtpZihzPT09bi5sZW5ndGgpcmV0dXJuXCJHb3QgdGhlIGVuZCBvZiB0aGUgaW5wdXRcIjtpZih3KG4pKXt2YXIgaD1zLXMlSSxwPXMtaCxkPVcoaCxGLE0rSSxuLmxlbmd0aCksdj1hKGZ1bmN0aW9uKG4pe3JldHVybiBhKGZ1bmN0aW9uKG4pe3JldHVybiBVKG4udG9TdHJpbmcoMTYpLDIsXCIwXCIpfSxuKX0sZnVuY3Rpb24obix0KXt2YXIgcj1uLmxlbmd0aCxlPVtdLHU9MDtpZihyPD10KXJldHVybltuLnNsaWNlKCldO2Zvcih2YXIgbz0wO288cjtvKyspZVt1XXx8ZS5wdXNoKFtdKSxlW3VdLnB1c2gobltvXSksKG8rMSkldD09MCYmdSsrO3JldHVybiBlfShuLnNsaWNlKGQuZnJvbSxkLnRvKS50b0pTT04oKS5kYXRhLEkpKTtvPWZ1bmN0aW9uKG4pe3JldHVybiAwPT09bi5mcm9tJiYxPT09bi50bz97ZnJvbTpuLmZyb20sdG86bi50b306e2Zyb206bi5mcm9tL0ksdG86TWF0aC5mbG9vcihuLnRvL0kpfX0oZCksZT1oL0kscj0zKnAscD49NCYmKHIrPTEpLGw9Mix1PWEoZnVuY3Rpb24obil7cmV0dXJuIG4ubGVuZ3RoPD00P24uam9pbihcIiBcIik6bi5zbGljZSgwLDQpLmpvaW4oXCIgXCIpK1wiICBcIituLnNsaWNlKDQpLmpvaW4oXCIgXCIpfSx2KSwoZj0oOCooby50bz4wP28udG8tMTpvLnRvKSkudG9TdHJpbmcoMTYpLmxlbmd0aCk8MiYmKGY9Mil9ZWxzZXt2YXIgZz1uLnNwbGl0KC9cXHJcXG58W1xcblxcclxcdTIwMjhcXHUyMDI5XS8pO3I9Yy5jb2x1bW4tMSxlPWMubGluZS0xLG89VyhlLHEsQSxnLmxlbmd0aCksdT1nLnNsaWNlKG8uZnJvbSxvLnRvKSxmPW8udG8udG9TdHJpbmcoKS5sZW5ndGh9dmFyIG09ZS1vLmZyb207cmV0dXJuIHcobikmJihmPSg4KihvLnRvPjA/by50by0xOm8udG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoZj0yKSxpKGZ1bmN0aW9uKHQsZSx1KXt2YXIgaSxhPXU9PT1tLGM9YT9cIj4gXCI6ejtyZXR1cm4gaT13KG4pP1UoKDgqKG8uZnJvbSt1KSkudG9TdHJpbmcoMTYpLGYsXCIwXCIpOlUoKG8uZnJvbSt1KzEpLnRvU3RyaW5nKCksZixcIiBcIiksW10uY29uY2F0KHQsW2MraStcIiB8IFwiK2VdLGE/W3orUihcIiBcIixmKStcIiB8IFwiK1UoXCJcIixyLFwiIFwiKStSKFwiXlwiLGwpXTpbXSl9LFtdLHUpLmpvaW4oXCJcXG5cIil9ZnVuY3Rpb24gTihuLHQpe3JldHVybltcIlxcblwiLFwiLS0gUEFSU0lORyBGQUlMRUQgXCIrUihcIi1cIiw1MCksXCJcXG5cXG5cIixEKG4sdCksXCJcXG5cXG5cIiwocj10LmV4cGVjdGVkLDE9PT1yLmxlbmd0aD9cIkV4cGVjdGVkOlxcblxcblwiK3JbMF06XCJFeHBlY3RlZCBvbmUgb2YgdGhlIGZvbGxvd2luZzogXFxuXFxuXCIrci5qb2luKFwiLCBcIikpLFwiXFxuXCJdLmpvaW4oXCJcIik7dmFyIHJ9ZnVuY3Rpb24gRyhuKXtyZXR1cm4gdm9pZCAwIT09bi5mbGFncz9uLmZsYWdzOltuLmdsb2JhbD9cImdcIjpcIlwiLG4uaWdub3JlQ2FzZT9cImlcIjpcIlwiLG4ubXVsdGlsaW5lP1wibVwiOlwiXCIsbi51bmljb2RlP1widVwiOlwiXCIsbi5zdGlja3k/XCJ5XCI6XCJcIl0uam9pbihcIlwiKX1mdW5jdGlvbiBDKCl7Zm9yKHZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSx0PW4ubGVuZ3RoLHI9MDtyPHQ7cis9MSlfKG5bcl0pO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7Zm9yKHZhciB1LG89bmV3IEFycmF5KHQpLGk9MDtpPHQ7aSs9MSl7aWYoISh1PUIobltpXS5fKHIsZSksdSkpLnN0YXR1cylyZXR1cm4gdTtvW2ldPXUudmFsdWUsZT11LmluZGV4fXJldHVybiBCKGIoZSxvKSx1KX0pfWZ1bmN0aW9uIEooKXt2YXIgbj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoMD09PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihcInNlcU1hcCBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnRcIik7dmFyIHQ9bi5wb3AoKTtyZXR1cm4gayh0KSxDLmFwcGx5KG51bGwsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LmFwcGx5KG51bGwsbil9KX1mdW5jdGlvbiBUKCl7dmFyIG49W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLHQ9bi5sZW5ndGg7aWYoMD09PXQpcmV0dXJuIFkoXCJ6ZXJvIGFsdGVybmF0ZXNcIik7Zm9yKHZhciByPTA7cjx0O3IrPTEpXyhuW3JdKTtyZXR1cm4gZShmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSx1PTA7dTxuLmxlbmd0aDt1Kz0xKWlmKChlPUIoblt1XS5fKHQsciksZSkpLnN0YXR1cylyZXR1cm4gZTtyZXR1cm4gZX0pfWZ1bmN0aW9uIFYobix0KXtyZXR1cm4gSChuLHQpLm9yKFgoW10pKX1mdW5jdGlvbiBIKG4sdCl7cmV0dXJuIF8obiksXyh0KSxKKG4sdC50aGVuKG4pLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybltuXS5jb25jYXQodCl9KX1mdW5jdGlvbiBLKG4pe1Aobik7dmFyIHQ9XCInXCIrbitcIidcIjtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PWUrbi5sZW5ndGgsbz1yLnNsaWNlKGUsdSk7cmV0dXJuIG89PT1uP2IodSxvKTp4KGUsdCl9KX1mdW5jdGlvbiBRKG4sdCl7IWZ1bmN0aW9uKG4pe2lmKCEobiBpbnN0YW5jZW9mIFJlZ0V4cCkpdGhyb3cgbmV3IEVycm9yKFwibm90IGEgcmVnZXhwOiBcIituKTtmb3IodmFyIHQ9RyhuKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBlPXQuY2hhckF0KHIpO2lmKFwiaVwiIT09ZSYmXCJtXCIhPT1lJiZcInVcIiE9PWUmJlwic1wiIT09ZSl0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHJlZ2V4cCBmbGFnIFwiJytlKydcIjogJytuKX19KG4pLGFyZ3VtZW50cy5sZW5ndGg+PTI/Tyh0KTp0PTA7dmFyIHI9ZnVuY3Rpb24obil7cmV0dXJuIFJlZ0V4cChcIl4oPzpcIituLnNvdXJjZStcIilcIixHKG4pKX0obiksdT1cIlwiK247cmV0dXJuIGUoZnVuY3Rpb24obixlKXt2YXIgbz1yLmV4ZWMobi5zbGljZShlKSk7aWYobyl7aWYoMDw9dCYmdDw9by5sZW5ndGgpe3ZhciBpPW9bMF0sYT1vW3RdO3JldHVybiBiKGUraS5sZW5ndGgsYSl9cmV0dXJuIHgoZSxcInZhbGlkIG1hdGNoIGdyb3VwICgwIHRvIFwiK28ubGVuZ3RoK1wiKSBpbiBcIit1KX1yZXR1cm4geChlLHUpfSl9ZnVuY3Rpb24gWChuKXtyZXR1cm4gZShmdW5jdGlvbih0LHIpe3JldHVybiBiKHIsbil9KX1mdW5jdGlvbiBZKG4pe3JldHVybiBlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHgocixuKX0pfWZ1bmN0aW9uIFoobil7aWYoeShuKSlyZXR1cm4gZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpO3JldHVybiBlLmluZGV4PXIsZS52YWx1ZT1cIlwiLGV9KTtpZihcInN0cmluZ1wiPT10eXBlb2YgbilyZXR1cm4gWihLKG4pKTtpZihuIGluc3RhbmNlb2YgUmVnRXhwKXJldHVybiBaKFEobikpO3Rocm93IG5ldyBFcnJvcihcIm5vdCBhIHN0cmluZywgcmVnZXhwLCBvciBwYXJzZXI6IFwiK24pfWZ1bmN0aW9uICQobil7cmV0dXJuIF8obiksZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpLHU9dC5zbGljZShyLGUuaW5kZXgpO3JldHVybiBlLnN0YXR1cz94KHIsJ25vdCBcIicrdSsnXCInKTpiKHIsbnVsbCl9KX1mdW5jdGlvbiBubihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7dmFyIGU9TCh0LHIpO3JldHVybiByPHQubGVuZ3RoJiZuKGUpP2IocisxLGUpOngocixcImEgY2hhcmFjdGVyL2J5dGUgbWF0Y2hpbmcgXCIrbil9KX1mdW5jdGlvbiB0bihuLHQpe2FyZ3VtZW50cy5sZW5ndGg8MiYmKHQ9bixuPXZvaWQgMCk7dmFyIHI9ZShmdW5jdGlvbihuLGUpe3JldHVybiByLl89dCgpLl8sci5fKG4sZSl9KTtyZXR1cm4gbj9yLmRlc2Mobik6cn1mdW5jdGlvbiBybigpe3JldHVybiBZKFwiZmFudGFzeS1sYW5kL2VtcHR5XCIpfXUucGFyc2U9ZnVuY3Rpb24obil7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIG4mJiF3KG4pKXRocm93IG5ldyBFcnJvcihcIi5wYXJzZSBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIG9yIEJ1ZmZlciBhcyBpdHMgYXJndW1lbnRcIik7dmFyIHQscj10aGlzLnNraXAoYW4pLl8obiwwKTtyZXR1cm4gdD1yLnN0YXR1cz97c3RhdHVzOiEwLHZhbHVlOnIudmFsdWV9OntzdGF0dXM6ITEsaW5kZXg6UyhuLHIuZnVydGhlc3QpLGV4cGVjdGVkOnIuZXhwZWN0ZWR9LGRlbGV0ZSBqW25dLHR9LHUudHJ5UGFyc2U9ZnVuY3Rpb24obil7dmFyIHQ9dGhpcy5wYXJzZShuKTtpZih0LnN0YXR1cylyZXR1cm4gdC52YWx1ZTt2YXIgcj1OKG4sdCksZT1uZXcgRXJyb3Iocik7dGhyb3cgZS50eXBlPVwiUGFyc2ltbW9uRXJyb3JcIixlLnJlc3VsdD10LGV9LHUuYXNzZXJ0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHRoaXMuY2hhaW4oZnVuY3Rpb24ocil7cmV0dXJuIG4ocik/WChyKTpZKHQpfSl9LHUub3I9ZnVuY3Rpb24obil7cmV0dXJuIFQodGhpcyxuKX0sdS50cmltPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLndyYXAobixuKX0sdS53cmFwPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEoobix0aGlzLHQsZnVuY3Rpb24obix0KXtyZXR1cm4gdH0pfSx1LnRocnU9ZnVuY3Rpb24obil7cmV0dXJuIG4odGhpcyl9LHUudGhlbj1mdW5jdGlvbihuKXtyZXR1cm4gXyhuKSxDKHRoaXMsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSl9LHUubWFueT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9W10sdT12b2lkIDA7Oyl7aWYoISh1PUIobi5fKHQsciksdSkpLnN0YXR1cylyZXR1cm4gQihiKHIsZSksdSk7aWYocj09PXUuaW5kZXgpdGhyb3cgbmV3IEVycm9yKFwiaW5maW5pdGUgbG9vcCBkZXRlY3RlZCBpbiAubWFueSgpIHBhcnNlciAtLS0gY2FsbGluZyAubWFueSgpIG9uIGEgcGFyc2VyIHdoaWNoIGNhbiBhY2NlcHQgemVybyBjaGFyYWN0ZXJzIGlzIHVzdWFsbHkgdGhlIGNhdXNlXCIpO3I9dS5pbmRleCxlLnB1c2godS52YWx1ZSl9fSl9LHUudGllV2l0aD1mdW5jdGlvbihuKXtyZXR1cm4gUChuKSx0aGlzLm1hcChmdW5jdGlvbih0KXtpZihmdW5jdGlvbihuKXtpZighRShuKSl0aHJvdyBuZXcgRXJyb3IoXCJub3QgYW4gYXJyYXk6IFwiK24pfSh0KSx0Lmxlbmd0aCl7UCh0WzBdKTtmb3IodmFyIHI9dFswXSxlPTE7ZTx0Lmxlbmd0aDtlKyspUCh0W2VdKSxyKz1uK3RbZV07cmV0dXJuIHJ9cmV0dXJuXCJcIn0pfSx1LnRpZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpZVdpdGgoXCJcIil9LHUudGltZXM9ZnVuY3Rpb24obix0KXt2YXIgcj10aGlzO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDImJih0PW4pLE8obiksTyh0KSxlKGZ1bmN0aW9uKGUsdSl7Zm9yKHZhciBvPVtdLGk9dm9pZCAwLGE9dm9pZCAwLGY9MDtmPG47Zis9MSl7aWYoYT1CKGk9ci5fKGUsdSksYSksIWkuc3RhdHVzKXJldHVybiBhO3U9aS5pbmRleCxvLnB1c2goaS52YWx1ZSl9Zm9yKDtmPHQmJihhPUIoaT1yLl8oZSx1KSxhKSxpLnN0YXR1cyk7Zis9MSl1PWkuaW5kZXgsby5wdXNoKGkudmFsdWUpO3JldHVybiBCKGIodSxvKSxhKX0pfSx1LnJlc3VsdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbn0pfSx1LmF0TW9zdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy50aW1lcygwLG4pfSx1LmF0TGVhc3Q9ZnVuY3Rpb24obil7cmV0dXJuIEoodGhpcy50aW1lcyhuKSx0aGlzLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybiBuLmNvbmNhdCh0KX0pfSx1Lm1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10Ll8ocixlKTtyZXR1cm4gdS5zdGF0dXM/QihiKHUuaW5kZXgsbih1LnZhbHVlKSksdSk6dX0pfSx1LmNvbnRyYW1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10LnBhcnNlKG4oci5zbGljZShlKSkpO3JldHVybiB1LnN0YXR1cz9iKGUrci5sZW5ndGgsdS52YWx1ZSk6dX0pfSx1LnByb21hcD1mdW5jdGlvbihuLHQpe3JldHVybiBrKG4pLGsodCksdGhpcy5jb250cmFtYXAobikubWFwKHQpfSx1LnNraXA9ZnVuY3Rpb24obil7cmV0dXJuIEModGhpcyxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG5bMF19KX0sdS5tYXJrPWZ1bmN0aW9uKCl7cmV0dXJuIEooZW4sdGhpcyxlbixmdW5jdGlvbihuLHQscil7cmV0dXJue3N0YXJ0Om4sdmFsdWU6dCxlbmQ6cn19KX0sdS5ub2RlPWZ1bmN0aW9uKG4pe3JldHVybiBKKGVuLHRoaXMsZW4sZnVuY3Rpb24odCxyLGUpe3JldHVybntuYW1lOm4sdmFsdWU6cixzdGFydDp0LGVuZDplfX0pfSx1LnNlcEJ5PWZ1bmN0aW9uKG4pe3JldHVybiBWKHRoaXMsbil9LHUuc2VwQnkxPWZ1bmN0aW9uKG4pe3JldHVybiBIKHRoaXMsbil9LHUubG9va2FoZWFkPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnNraXAoWihuKSl9LHUubm90Rm9sbG93ZWRCeT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5za2lwKCQobikpfSx1LmRlc2M9ZnVuY3Rpb24obil7RShuKXx8KG49W25dKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzfHwodS5leHBlY3RlZD1uKSx1fSl9LHUuZmFsbGJhY2s9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMub3IoWChuKSl9LHUuYXA9ZnVuY3Rpb24obil7cmV0dXJuIEoobix0aGlzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4odCl9KX0sdS5jaGFpbj1mdW5jdGlvbihuKXt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzP0Iobih1LnZhbHVlKS5fKHIsdS5pbmRleCksdSk6dX0pfSx1LmNvbmNhdD11Lm9yLHUuZW1wdHk9cm4sdS5vZj1YLHVbXCJmYW50YXN5LWxhbmQvYXBcIl09dS5hcCx1W1wiZmFudGFzeS1sYW5kL2NoYWluXCJdPXUuY2hhaW4sdVtcImZhbnRhc3ktbGFuZC9jb25jYXRcIl09dS5jb25jYXQsdVtcImZhbnRhc3ktbGFuZC9lbXB0eVwiXT11LmVtcHR5LHVbXCJmYW50YXN5LWxhbmQvb2ZcIl09dS5vZix1W1wiZmFudGFzeS1sYW5kL21hcFwiXT11Lm1hcDt2YXIgZW49ZShmdW5jdGlvbihuLHQpe3JldHVybiBiKHQsUyhuLHQpKX0pLHVuPWUoZnVuY3Rpb24obix0KXtyZXR1cm4gdD49bi5sZW5ndGg/eCh0LFwiYW55IGNoYXJhY3Rlci9ieXRlXCIpOmIodCsxLEwobix0KSl9KSxvbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGIobi5sZW5ndGgsbi5zbGljZSh0KSl9KSxhbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ8bi5sZW5ndGg/eCh0LFwiRU9GXCIpOmIodCxudWxsKX0pLGZuPVEoL1swLTldLykuZGVzYyhcImEgZGlnaXRcIiksY249USgvWzAtOV0qLykuZGVzYyhcIm9wdGlvbmFsIGRpZ2l0c1wiKSxzbj1RKC9bYS16XS9pKS5kZXNjKFwiYSBsZXR0ZXJcIiksbG49USgvW2Etel0qL2kpLmRlc2MoXCJvcHRpb25hbCBsZXR0ZXJzXCIpLGhuPVEoL1xccyovKS5kZXNjKFwib3B0aW9uYWwgd2hpdGVzcGFjZVwiKSxwbj1RKC9cXHMrLykuZGVzYyhcIndoaXRlc3BhY2VcIiksZG49SyhcIlxcclwiKSx2bj1LKFwiXFxuXCIpLGduPUsoXCJcXHJcXG5cIiksbW49VChnbix2bixkbikuZGVzYyhcIm5ld2xpbmVcIikseW49VChtbixhbik7ZS5hbGw9b24sZS5hbHQ9VCxlLmFueT11bixlLmNyPWRuLGUuY3JlYXRlTGFuZ3VhZ2U9ZnVuY3Rpb24obil7dmFyIHQ9e307Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJmZ1bmN0aW9uKHIpe3Rbcl09dG4oZnVuY3Rpb24oKXtyZXR1cm4gbltyXSh0KX0pfShyKTtyZXR1cm4gdH0sZS5jcmxmPWduLGUuY3VzdG9tPWZ1bmN0aW9uKG4pe3JldHVybiBlKG4oYix4KSl9LGUuZGlnaXQ9Zm4sZS5kaWdpdHM9Y24sZS5lbXB0eT1ybixlLmVuZD15bixlLmVvZj1hbixlLmZhaWw9WSxlLmZvcm1hdEVycm9yPU4sZS5pbmRleD1lbixlLmlzUGFyc2VyPXksZS5sYXp5PXRuLGUubGV0dGVyPXNuLGUubGV0dGVycz1sbixlLmxmPXZuLGUubG9va2FoZWFkPVosZS5tYWtlRmFpbHVyZT14LGUubWFrZVN1Y2Nlc3M9YixlLm5ld2xpbmU9bW4sZS5ub25lT2Y9ZnVuY3Rpb24obil7cmV0dXJuIG5uKGZ1bmN0aW9uKHQpe3JldHVybiBuLmluZGV4T2YodCk8MH0pLmRlc2MoXCJub25lIG9mICdcIituK1wiJ1wiKX0sZS5ub3RGb2xsb3dlZEJ5PSQsZS5vZj1YLGUub25lT2Y9ZnVuY3Rpb24obil7Zm9yKHZhciB0PW4uc3BsaXQoXCJcIikscj0wO3I8dC5sZW5ndGg7cisrKXRbcl09XCInXCIrdFtyXStcIidcIjtyZXR1cm4gbm4oZnVuY3Rpb24odCl7cmV0dXJuIG4uaW5kZXhPZih0KT49MH0pLmRlc2ModCl9LGUub3B0V2hpdGVzcGFjZT1obixlLlBhcnNlcj1lLGUucmFuZ2U9ZnVuY3Rpb24obix0KXtyZXR1cm4gbm4oZnVuY3Rpb24ocil7cmV0dXJuIG48PXImJnI8PXR9KS5kZXNjKG4rXCItXCIrdCl9LGUucmVnZXg9USxlLnJlZ2V4cD1RLGUuc2VwQnk9VixlLnNlcEJ5MT1ILGUuc2VxPUMsZS5zZXFNYXA9SixlLnNlcU9iaj1mdW5jdGlvbigpe2Zvcih2YXIgbix0PXt9LHI9MCx1PShuPWFyZ3VtZW50cyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKSksbz11Lmxlbmd0aCxpPTA7aTxvO2krPTEpe3ZhciBhPXVbaV07aWYoIXkoYSkpe2lmKEUoYSkmJjI9PT1hLmxlbmd0aCYmXCJzdHJpbmdcIj09dHlwZW9mIGFbMF0mJnkoYVsxXSkpe3ZhciBmPWFbMF07aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZikpdGhyb3cgbmV3IEVycm9yKFwic2VxT2JqOiBkdXBsaWNhdGUga2V5IFwiK2YpO3RbZl09ITAscisrO2NvbnRpbnVlfXRocm93IG5ldyBFcnJvcihcInNlcU9iaiBhcmd1bWVudHMgbXVzdCBiZSBwYXJzZXJzIG9yIFtzdHJpbmcsIHBhcnNlcl0gYXJyYXkgcGFpcnMuXCIpfX1pZigwPT09cil0aHJvdyBuZXcgRXJyb3IoXCJzZXFPYmogZXhwZWN0cyBhdCBsZWFzdCBvbmUgbmFtZWQgcGFyc2VyLCBmb3VuZCB6ZXJvXCIpO3JldHVybiBlKGZ1bmN0aW9uKG4sdCl7Zm9yKHZhciByLGU9e30saT0wO2k8bztpKz0xKXt2YXIgYSxmO2lmKEUodVtpXSk/KGE9dVtpXVswXSxmPXVbaV1bMV0pOihhPW51bGwsZj11W2ldKSwhKHI9QihmLl8obix0KSxyKSkuc3RhdHVzKXJldHVybiByO2EmJihlW2FdPXIudmFsdWUpLHQ9ci5pbmRleH1yZXR1cm4gQihiKHQsZSkscil9KX0sZS5zdHJpbmc9SyxlLnN1Y2NlZWQ9WCxlLnRha2VXaGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXI7ZTx0Lmxlbmd0aCYmbihMKHQsZSkpOyllKys7cmV0dXJuIGIoZSx0LnNsaWNlKHIsZSkpfSl9LGUudGVzdD1ubixlLndoaXRlc3BhY2U9cG4sZVtcImZhbnRhc3ktbGFuZC9lbXB0eVwiXT1ybixlW1wiZmFudGFzeS1sYW5kL29mXCJdPVgsZS5CaW5hcnk9e2JpdFNlcTpsLGJpdFNlcU9iajpmdW5jdGlvbihuKXtzKCk7dmFyIHQ9e30scj0wLGU9YShmdW5jdGlvbihuKXtpZihFKG4pKXt2YXIgZT1uO2lmKDIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXCJbXCIrZS5qb2luKFwiLCBcIikrXCJdIHNob3VsZCBiZSBsZW5ndGggMiwgZ290IGxlbmd0aCBcIitlLmxlbmd0aCk7aWYoUChlWzBdKSxPKGVbMV0pLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGVbMF0pKXRocm93IG5ldyBFcnJvcihcImR1cGxpY2F0ZSBrZXkgaW4gYml0U2VxT2JqOiBcIitlWzBdKTtyZXR1cm4gdFtlWzBdXT0hMCxyKyssZX1yZXR1cm4gTyhuKSxbbnVsbCxuXX0sbik7aWYocjwxKXRocm93IG5ldyBFcnJvcihcImJpdFNlcU9iaiBleHBlY3RzIGF0IGxlYXN0IG9uZSBuYW1lZCBwYWlyLCBnb3QgW1wiK24uam9pbihcIiwgXCIpK1wiXVwiKTt2YXIgdT1hKGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdfSxlKTtyZXR1cm4gbChhKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSxlKSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG51bGwhPT10WzBdJiYoblt0WzBdXT10WzFdKSxufSx7fSxhKGZ1bmN0aW9uKHQscil7cmV0dXJuW3QsbltyXV19LHUpKX0pfSxieXRlOmZ1bmN0aW9uKG4pe2lmKHMoKSxPKG4pLG4+MjU1KXRocm93IG5ldyBFcnJvcihcIlZhbHVlIHNwZWNpZmllZCB0byBieXRlIGNvbnN0cnVjdG9yIChcIituK1wiPTB4XCIrbi50b1N0cmluZygxNikrXCIpIGlzIGxhcmdlciBpbiB2YWx1ZSB0aGFuIGEgc2luZ2xlIGJ5dGUuXCIpO3ZhciB0PShuPjE1P1wiMHhcIjpcIjB4MFwiKStuLnRvU3RyaW5nKDE2KTtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PUwocixlKTtyZXR1cm4gdT09PW4/YihlKzEsdSk6eChlLHQpfSl9LGJ1ZmZlcjpmdW5jdGlvbihuKXtyZXR1cm4gaChcImJ1ZmZlclwiLG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gQnVmZmVyLmZyb20obil9KX0sZW5jb2RlZFN0cmluZzpmdW5jdGlvbihuLHQpe3JldHVybiBoKFwic3RyaW5nXCIsdCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRvU3RyaW5nKG4pfSl9LHVpbnRCRTpkLHVpbnQ4QkU6ZCgxKSx1aW50MTZCRTpkKDIpLHVpbnQzMkJFOmQoNCksdWludExFOnYsdWludDhMRTp2KDEpLHVpbnQxNkxFOnYoMiksdWludDMyTEU6dig0KSxpbnRCRTpnLGludDhCRTpnKDEpLGludDE2QkU6ZygyKSxpbnQzMkJFOmcoNCksaW50TEU6bSxpbnQ4TEU6bSgxKSxpbnQxNkxFOm0oMiksaW50MzJMRTptKDQpLGZsb2F0QkU6aChcImZsb2F0QkVcIiw0KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ucmVhZEZsb2F0QkUoMCl9KSxmbG9hdExFOmgoXCJmbG9hdExFXCIsNCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWRGbG9hdExFKDApfSksZG91YmxlQkU6aChcImRvdWJsZUJFXCIsOCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWREb3VibGVCRSgwKX0pLGRvdWJsZUxFOmgoXCJkb3VibGVMRVwiLDgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRG91YmxlTEUoMCl9KX0sbi5leHBvcnRzPWV9XSl9KTsiLCAidHlwZSBLZXkgPSBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w7XG5cbi8qKlxuICogU2V0QXJyYXkgYWN0cyBsaWtlIGEgYFNldGAgKGFsbG93aW5nIG9ubHkgb25lIG9jY3VycmVuY2Ugb2YgYSBzdHJpbmcgYGtleWApLCBidXQgcHJvdmlkZXMgdGhlXG4gKiBpbmRleCBvZiB0aGUgYGtleWAgaW4gdGhlIGJhY2tpbmcgYXJyYXkuXG4gKlxuICogVGhpcyBpcyBkZXNpZ25lZCB0byBhbGxvdyBzeW5jaHJvbml6aW5nIGEgc2Vjb25kIGFycmF5IHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSBiYWNraW5nIGFycmF5LFxuICogbGlrZSBob3cgaW4gYSBzb3VyY2VtYXAgYHNvdXJjZXNDb250ZW50W2ldYCBpcyB0aGUgc291cmNlIGNvbnRlbnQgYXNzb2NpYXRlZCB3aXRoIGBzb3VyY2VbaV1gLFxuICogYW5kIHRoZXJlIGFyZSBuZXZlciBkdXBsaWNhdGVzLlxuICovXG5leHBvcnQgY2xhc3MgU2V0QXJyYXk8VCBleHRlbmRzIEtleSA9IEtleT4ge1xuICBwcml2YXRlIGRlY2xhcmUgX2luZGV4ZXM6IFJlY29yZDxULCBudW1iZXIgfCB1bmRlZmluZWQ+O1xuICBkZWNsYXJlIGFycmF5OiByZWFkb25seSBUW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5faW5kZXhlcyA9IHsgX19wcm90b19fOiBudWxsIH0gYXMgYW55O1xuICAgIHRoaXMuYXJyYXkgPSBbXTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgUHVibGljU2V0PFQgZXh0ZW5kcyBLZXk+IHtcbiAgYXJyYXk6IFRbXTtcbiAgX2luZGV4ZXM6IFNldEFycmF5PFQ+WydfaW5kZXhlcyddO1xufVxuXG4vKipcbiAqIFR5cGVzY3JpcHQgZG9lc24ndCBhbGxvdyBmcmllbmQgYWNjZXNzIHRvIHByaXZhdGUgZmllbGRzLCBzbyB0aGlzIGp1c3QgY2FzdHMgdGhlIHNldCBpbnRvIGEgdHlwZVxuICogd2l0aCBwdWJsaWMgYWNjZXNzIG1vZGlmaWVycy5cbiAqL1xuZnVuY3Rpb24gY2FzdDxUIGV4dGVuZHMgS2V5PihzZXQ6IFNldEFycmF5PFQ+KTogUHVibGljU2V0PFQ+IHtcbiAgcmV0dXJuIHNldCBhcyBhbnk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIGBrZXlgIGluIHRoZSBiYWNraW5nIGFycmF5LCBpZiBpdCBpcyBhbHJlYWR5IHByZXNlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXQ8VCBleHRlbmRzIEtleT4oc2V0YXJyOiBTZXRBcnJheTxUPiwga2V5OiBUKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGNhc3Qoc2V0YXJyKS5faW5kZXhlc1trZXldO1xufVxuXG4vKipcbiAqIFB1dHMgYGtleWAgaW50byB0aGUgYmFja2luZyBhcnJheSwgaWYgaXQgaXMgbm90IGFscmVhZHkgcHJlc2VudC4gUmV0dXJuc1xuICogdGhlIGluZGV4IG9mIHRoZSBga2V5YCBpbiB0aGUgYmFja2luZyBhcnJheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB1dDxUIGV4dGVuZHMgS2V5PihzZXRhcnI6IFNldEFycmF5PFQ+LCBrZXk6IFQpOiBudW1iZXIge1xuICAvLyBUaGUga2V5IG1heSBvciBtYXkgbm90IGJlIHByZXNlbnQuIElmIGl0IGlzIHByZXNlbnQsIGl0J3MgYSBudW1iZXIuXG4gIGNvbnN0IGluZGV4ID0gZ2V0KHNldGFyciwga2V5KTtcbiAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQpIHJldHVybiBpbmRleDtcblxuICBjb25zdCB7IGFycmF5LCBfaW5kZXhlczogaW5kZXhlcyB9ID0gY2FzdChzZXRhcnIpO1xuXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5LnB1c2goa2V5KTtcbiAgcmV0dXJuIChpbmRleGVzW2tleV0gPSBsZW5ndGggLSAxKTtcbn1cblxuLyoqXG4gKiBQb3BzIHRoZSBsYXN0IGFkZGVkIGl0ZW0gb3V0IG9mIHRoZSBTZXRBcnJheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcDxUIGV4dGVuZHMgS2V5PihzZXRhcnI6IFNldEFycmF5PFQ+KTogdm9pZCB7XG4gIGNvbnN0IHsgYXJyYXksIF9pbmRleGVzOiBpbmRleGVzIH0gPSBjYXN0KHNldGFycik7XG4gIGlmIChhcnJheS5sZW5ndGggPT09IDApIHJldHVybjtcblxuICBjb25zdCBsYXN0ID0gYXJyYXkucG9wKCkhO1xuICBpbmRleGVzW2xhc3RdID0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGtleSwgaWYgaXQgZXhpc3RzIGluIHRoZSBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmU8VCBleHRlbmRzIEtleT4oc2V0YXJyOiBTZXRBcnJheTxUPiwga2V5OiBUKTogdm9pZCB7XG4gIGNvbnN0IGluZGV4ID0gZ2V0KHNldGFyciwga2V5KTtcbiAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICBjb25zdCB7IGFycmF5LCBfaW5kZXhlczogaW5kZXhlcyB9ID0gY2FzdChzZXRhcnIpO1xuICBmb3IgKGxldCBpID0gaW5kZXggKyAxOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBrID0gYXJyYXlbaV07XG4gICAgYXJyYXlbaSAtIDFdID0gaztcbiAgICBpbmRleGVzW2tdIS0tO1xuICB9XG4gIGluZGV4ZXNba2V5XSA9IHVuZGVmaW5lZDtcbiAgYXJyYXkucG9wKCk7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBTdHJpbmdSZWFkZXIsIFN0cmluZ1dyaXRlciB9IGZyb20gJy4vc3RyaW5ncyc7XG5cbmV4cG9ydCBjb25zdCBjb21tYSA9ICcsJy5jaGFyQ29kZUF0KDApO1xuZXhwb3J0IGNvbnN0IHNlbWljb2xvbiA9ICc7Jy5jaGFyQ29kZUF0KDApO1xuXG5jb25zdCBjaGFycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJztcbmNvbnN0IGludFRvQ2hhciA9IG5ldyBVaW50OEFycmF5KDY0KTsgLy8gNjQgcG9zc2libGUgY2hhcnMuXG5jb25zdCBjaGFyVG9JbnQgPSBuZXcgVWludDhBcnJheSgxMjgpOyAvLyB6IGlzIDEyMiBpbiBBU0NJSVxuXG5mb3IgKGxldCBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7XG4gIGNvbnN0IGMgPSBjaGFycy5jaGFyQ29kZUF0KGkpO1xuICBpbnRUb0NoYXJbaV0gPSBjO1xuICBjaGFyVG9JbnRbY10gPSBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlSW50ZWdlcihyZWFkZXI6IFN0cmluZ1JlYWRlciwgcmVsYXRpdmU6IG51bWJlcik6IG51bWJlciB7XG4gIGxldCB2YWx1ZSA9IDA7XG4gIGxldCBzaGlmdCA9IDA7XG4gIGxldCBpbnRlZ2VyID0gMDtcblxuICBkbyB7XG4gICAgY29uc3QgYyA9IHJlYWRlci5uZXh0KCk7XG4gICAgaW50ZWdlciA9IGNoYXJUb0ludFtjXTtcbiAgICB2YWx1ZSB8PSAoaW50ZWdlciAmIDMxKSA8PCBzaGlmdDtcbiAgICBzaGlmdCArPSA1O1xuICB9IHdoaWxlIChpbnRlZ2VyICYgMzIpO1xuXG4gIGNvbnN0IHNob3VsZE5lZ2F0ZSA9IHZhbHVlICYgMTtcbiAgdmFsdWUgPj4+PSAxO1xuXG4gIGlmIChzaG91bGROZWdhdGUpIHtcbiAgICB2YWx1ZSA9IC0weDgwMDAwMDAwIHwgLXZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHJlbGF0aXZlICsgdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVJbnRlZ2VyKGJ1aWxkZXI6IFN0cmluZ1dyaXRlciwgbnVtOiBudW1iZXIsIHJlbGF0aXZlOiBudW1iZXIpOiBudW1iZXIge1xuICBsZXQgZGVsdGEgPSBudW0gLSByZWxhdGl2ZTtcblxuICBkZWx0YSA9IGRlbHRhIDwgMCA/ICgtZGVsdGEgPDwgMSkgfCAxIDogZGVsdGEgPDwgMTtcbiAgZG8ge1xuICAgIGxldCBjbGFtcGVkID0gZGVsdGEgJiAwYjAxMTExMTtcbiAgICBkZWx0YSA+Pj49IDU7XG4gICAgaWYgKGRlbHRhID4gMCkgY2xhbXBlZCB8PSAwYjEwMDAwMDtcbiAgICBidWlsZGVyLndyaXRlKGludFRvQ2hhcltjbGFtcGVkXSk7XG4gIH0gd2hpbGUgKGRlbHRhID4gMCk7XG5cbiAgcmV0dXJuIG51bTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc01vcmVWbHEocmVhZGVyOiBTdHJpbmdSZWFkZXIsIG1heDogbnVtYmVyKSB7XG4gIGlmIChyZWFkZXIucG9zID49IG1heCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmVhZGVyLnBlZWsoKSAhPT0gY29tbWE7XG59XG4iLCAiY29uc3QgYnVmTGVuZ3RoID0gMTAyNCAqIDE2O1xuXG4vLyBQcm92aWRlIGEgZmFsbGJhY2sgZm9yIG9sZGVyIGVudmlyb25tZW50cy5cbmNvbnN0IHRkID1cbiAgdHlwZW9mIFRleHREZWNvZGVyICE9PSAndW5kZWZpbmVkJ1xuICAgID8gLyogI19fUFVSRV9fICovIG5ldyBUZXh0RGVjb2RlcigpXG4gICAgOiB0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJ1xuICAgID8ge1xuICAgICAgICBkZWNvZGUoYnVmOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICAgICAgICBjb25zdCBvdXQgPSBCdWZmZXIuZnJvbShidWYuYnVmZmVyLCBidWYuYnl0ZU9mZnNldCwgYnVmLmJ5dGVMZW5ndGgpO1xuICAgICAgICAgIHJldHVybiBvdXQudG9TdHJpbmcoKTtcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICA6IHtcbiAgICAgICAgZGVjb2RlKGJ1ZjogVWludDhBcnJheSk6IHN0cmluZyB7XG4gICAgICAgICAgbGV0IG91dCA9ICcnO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBvdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb3V0O1xuICAgICAgICB9LFxuICAgICAgfTtcblxuZXhwb3J0IGNsYXNzIFN0cmluZ1dyaXRlciB7XG4gIHBvcyA9IDA7XG4gIHByaXZhdGUgb3V0ID0gJyc7XG4gIHByaXZhdGUgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoYnVmTGVuZ3RoKTtcblxuICB3cml0ZSh2OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IGJ1ZmZlciB9ID0gdGhpcztcbiAgICBidWZmZXJbdGhpcy5wb3MrK10gPSB2O1xuICAgIGlmICh0aGlzLnBvcyA9PT0gYnVmTGVuZ3RoKSB7XG4gICAgICB0aGlzLm91dCArPSB0ZC5kZWNvZGUoYnVmZmVyKTtcbiAgICAgIHRoaXMucG9zID0gMDtcbiAgICB9XG4gIH1cblxuICBmbHVzaCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgYnVmZmVyLCBvdXQsIHBvcyB9ID0gdGhpcztcbiAgICByZXR1cm4gcG9zID4gMCA/IG91dCArIHRkLmRlY29kZShidWZmZXIuc3ViYXJyYXkoMCwgcG9zKSkgOiBvdXQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0cmluZ1JlYWRlciB7XG4gIHBvcyA9IDA7XG4gIHByaXZhdGUgZGVjbGFyZSBidWZmZXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihidWZmZXI6IHN0cmluZykge1xuICAgIHRoaXMuYnVmZmVyID0gYnVmZmVyO1xuICB9XG5cbiAgbmV4dCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5jaGFyQ29kZUF0KHRoaXMucG9zKyspO1xuICB9XG5cbiAgcGVlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5jaGFyQ29kZUF0KHRoaXMucG9zKTtcbiAgfVxuXG4gIGluZGV4T2YoY2hhcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCB7IGJ1ZmZlciwgcG9zIH0gPSB0aGlzO1xuICAgIGNvbnN0IGlkeCA9IGJ1ZmZlci5pbmRleE9mKGNoYXIsIHBvcyk7XG4gICAgcmV0dXJuIGlkeCA9PT0gLTEgPyBidWZmZXIubGVuZ3RoIDogaWR4O1xuICB9XG59XG4iLCAiaW1wb3J0IHsgU3RyaW5nUmVhZGVyLCBTdHJpbmdXcml0ZXIgfSBmcm9tICcuL3N0cmluZ3MnO1xuaW1wb3J0IHsgY29tbWEsIGRlY29kZUludGVnZXIsIGVuY29kZUludGVnZXIsIGhhc01vcmVWbHEsIHNlbWljb2xvbiB9IGZyb20gJy4vdmxxJztcblxuY29uc3QgRU1QVFk6IGFueVtdID0gW107XG5cbnR5cGUgTGluZSA9IG51bWJlcjtcbnR5cGUgQ29sdW1uID0gbnVtYmVyO1xudHlwZSBLaW5kID0gbnVtYmVyO1xudHlwZSBOYW1lID0gbnVtYmVyO1xudHlwZSBWYXIgPSBudW1iZXI7XG50eXBlIFNvdXJjZXNJbmRleCA9IG51bWJlcjtcbnR5cGUgU2NvcGVzSW5kZXggPSBudW1iZXI7XG5cbnR5cGUgTWl4PEEsIEIsIE8+ID0gKEEgJiBPKSB8IChCICYgTyk7XG5cbmV4cG9ydCB0eXBlIE9yaWdpbmFsU2NvcGUgPSBNaXg8XG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgS2luZF0sXG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgS2luZCwgTmFtZV0sXG4gIHsgdmFyczogVmFyW10gfVxuPjtcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVkUmFuZ2UgPSBNaXg8XG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbl0sXG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgU291cmNlc0luZGV4LCBTY29wZXNJbmRleF0sXG4gIHtcbiAgICBjYWxsc2l0ZTogQ2FsbFNpdGUgfCBudWxsO1xuICAgIGJpbmRpbmdzOiBCaW5kaW5nW107XG4gICAgaXNTY29wZTogYm9vbGVhbjtcbiAgfVxuPjtcbmV4cG9ydCB0eXBlIENhbGxTaXRlID0gW1NvdXJjZXNJbmRleCwgTGluZSwgQ29sdW1uXTtcbnR5cGUgQmluZGluZyA9IEJpbmRpbmdFeHByZXNzaW9uUmFuZ2VbXTtcbmV4cG9ydCB0eXBlIEJpbmRpbmdFeHByZXNzaW9uUmFuZ2UgPSBbTmFtZV0gfCBbTmFtZSwgTGluZSwgQ29sdW1uXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZU9yaWdpbmFsU2NvcGVzKGlucHV0OiBzdHJpbmcpOiBPcmlnaW5hbFNjb3BlW10ge1xuICBjb25zdCB7IGxlbmd0aCB9ID0gaW5wdXQ7XG4gIGNvbnN0IHJlYWRlciA9IG5ldyBTdHJpbmdSZWFkZXIoaW5wdXQpO1xuICBjb25zdCBzY29wZXM6IE9yaWdpbmFsU2NvcGVbXSA9IFtdO1xuICBjb25zdCBzdGFjazogT3JpZ2luYWxTY29wZVtdID0gW107XG4gIGxldCBsaW5lID0gMDtcblxuICBmb3IgKDsgcmVhZGVyLnBvcyA8IGxlbmd0aDsgcmVhZGVyLnBvcysrKSB7XG4gICAgbGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBsaW5lKTtcbiAgICBjb25zdCBjb2x1bW4gPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG5cbiAgICBpZiAoIWhhc01vcmVWbHEocmVhZGVyLCBsZW5ndGgpKSB7XG4gICAgICBjb25zdCBsYXN0ID0gc3RhY2sucG9wKCkhO1xuICAgICAgbGFzdFsyXSA9IGxpbmU7XG4gICAgICBsYXN0WzNdID0gY29sdW1uO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qga2luZCA9IGRlY29kZUludGVnZXIocmVhZGVyLCAwKTtcbiAgICBjb25zdCBmaWVsZHMgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgY29uc3QgaGFzTmFtZSA9IGZpZWxkcyAmIDBiMDAwMTtcblxuICAgIGNvbnN0IHNjb3BlOiBPcmlnaW5hbFNjb3BlID0gKFxuICAgICAgaGFzTmFtZSA/IFtsaW5lLCBjb2x1bW4sIDAsIDAsIGtpbmQsIGRlY29kZUludGVnZXIocmVhZGVyLCAwKV0gOiBbbGluZSwgY29sdW1uLCAwLCAwLCBraW5kXVxuICAgICkgYXMgT3JpZ2luYWxTY29wZTtcblxuICAgIGxldCB2YXJzOiBWYXJbXSA9IEVNUFRZO1xuICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgbGVuZ3RoKSkge1xuICAgICAgdmFycyA9IFtdO1xuICAgICAgZG8ge1xuICAgICAgICBjb25zdCB2YXJzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgIHZhcnMucHVzaCh2YXJzSW5kZXgpO1xuICAgICAgfSB3aGlsZSAoaGFzTW9yZVZscShyZWFkZXIsIGxlbmd0aCkpO1xuICAgIH1cbiAgICBzY29wZS52YXJzID0gdmFycztcblxuICAgIHNjb3Blcy5wdXNoKHNjb3BlKTtcbiAgICBzdGFjay5wdXNoKHNjb3BlKTtcbiAgfVxuXG4gIHJldHVybiBzY29wZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVPcmlnaW5hbFNjb3BlcyhzY29wZXM6IE9yaWdpbmFsU2NvcGVbXSk6IHN0cmluZyB7XG4gIGNvbnN0IHdyaXRlciA9IG5ldyBTdHJpbmdXcml0ZXIoKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNjb3Blcy5sZW5ndGg7ICkge1xuICAgIGkgPSBfZW5jb2RlT3JpZ2luYWxTY29wZXMoc2NvcGVzLCBpLCB3cml0ZXIsIFswXSk7XG4gIH1cblxuICByZXR1cm4gd3JpdGVyLmZsdXNoKCk7XG59XG5cbmZ1bmN0aW9uIF9lbmNvZGVPcmlnaW5hbFNjb3BlcyhcbiAgc2NvcGVzOiBPcmlnaW5hbFNjb3BlW10sXG4gIGluZGV4OiBudW1iZXIsXG4gIHdyaXRlcjogU3RyaW5nV3JpdGVyLFxuICBzdGF0ZTogW1xuICAgIG51bWJlciwgLy8gR2VuQ29sdW1uXG4gIF0sXG4pOiBudW1iZXIge1xuICBjb25zdCBzY29wZSA9IHNjb3Blc1tpbmRleF07XG4gIGNvbnN0IHsgMDogc3RhcnRMaW5lLCAxOiBzdGFydENvbHVtbiwgMjogZW5kTGluZSwgMzogZW5kQ29sdW1uLCA0OiBraW5kLCB2YXJzIH0gPSBzY29wZTtcblxuICBpZiAoaW5kZXggPiAwKSB3cml0ZXIud3JpdGUoY29tbWEpO1xuXG4gIHN0YXRlWzBdID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIHN0YXJ0TGluZSwgc3RhdGVbMF0pO1xuICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc3RhcnRDb2x1bW4sIDApO1xuICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwga2luZCwgMCk7XG5cbiAgY29uc3QgZmllbGRzID0gc2NvcGUubGVuZ3RoID09PSA2ID8gMGIwMDAxIDogMDtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGZpZWxkcywgMCk7XG4gIGlmIChzY29wZS5sZW5ndGggPT09IDYpIGVuY29kZUludGVnZXIod3JpdGVyLCBzY29wZVs1XSwgMCk7XG5cbiAgZm9yIChjb25zdCB2IG9mIHZhcnMpIHtcbiAgICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgdiwgMCk7XG4gIH1cblxuICBmb3IgKGluZGV4Kys7IGluZGV4IDwgc2NvcGVzLmxlbmd0aDsgKSB7XG4gICAgY29uc3QgbmV4dCA9IHNjb3Blc1tpbmRleF07XG4gICAgY29uc3QgeyAwOiBsLCAxOiBjIH0gPSBuZXh0O1xuICAgIGlmIChsID4gZW5kTGluZSB8fCAobCA9PT0gZW5kTGluZSAmJiBjID49IGVuZENvbHVtbikpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpbmRleCA9IF9lbmNvZGVPcmlnaW5hbFNjb3BlcyhzY29wZXMsIGluZGV4LCB3cml0ZXIsIHN0YXRlKTtcbiAgfVxuXG4gIHdyaXRlci53cml0ZShjb21tYSk7XG4gIHN0YXRlWzBdID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIGVuZExpbmUsIHN0YXRlWzBdKTtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGVuZENvbHVtbiwgMCk7XG5cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlR2VuZXJhdGVkUmFuZ2VzKGlucHV0OiBzdHJpbmcpOiBHZW5lcmF0ZWRSYW5nZVtdIHtcbiAgY29uc3QgeyBsZW5ndGggfSA9IGlucHV0O1xuICBjb25zdCByZWFkZXIgPSBuZXcgU3RyaW5nUmVhZGVyKGlucHV0KTtcbiAgY29uc3QgcmFuZ2VzOiBHZW5lcmF0ZWRSYW5nZVtdID0gW107XG4gIGNvbnN0IHN0YWNrOiBHZW5lcmF0ZWRSYW5nZVtdID0gW107XG5cbiAgbGV0IGdlbkxpbmUgPSAwO1xuICBsZXQgZGVmaW5pdGlvblNvdXJjZXNJbmRleCA9IDA7XG4gIGxldCBkZWZpbml0aW9uU2NvcGVJbmRleCA9IDA7XG4gIGxldCBjYWxsc2l0ZVNvdXJjZXNJbmRleCA9IDA7XG4gIGxldCBjYWxsc2l0ZUxpbmUgPSAwO1xuICBsZXQgY2FsbHNpdGVDb2x1bW4gPSAwO1xuICBsZXQgYmluZGluZ0xpbmUgPSAwO1xuICBsZXQgYmluZGluZ0NvbHVtbiA9IDA7XG5cbiAgZG8ge1xuICAgIGNvbnN0IHNlbWkgPSByZWFkZXIuaW5kZXhPZignOycpO1xuICAgIGxldCBnZW5Db2x1bW4gPSAwO1xuXG4gICAgZm9yICg7IHJlYWRlci5wb3MgPCBzZW1pOyByZWFkZXIucG9zKyspIHtcbiAgICAgIGdlbkNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBnZW5Db2x1bW4pO1xuXG4gICAgICBpZiAoIWhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICBjb25zdCBsYXN0ID0gc3RhY2sucG9wKCkhO1xuICAgICAgICBsYXN0WzJdID0gZ2VuTGluZTtcbiAgICAgICAgbGFzdFszXSA9IGdlbkNvbHVtbjtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpZWxkcyA9IGRlY29kZUludGVnZXIocmVhZGVyLCAwKTtcbiAgICAgIGNvbnN0IGhhc0RlZmluaXRpb24gPSBmaWVsZHMgJiAwYjAwMDE7XG4gICAgICBjb25zdCBoYXNDYWxsc2l0ZSA9IGZpZWxkcyAmIDBiMDAxMDtcbiAgICAgIGNvbnN0IGhhc1Njb3BlID0gZmllbGRzICYgMGIwMTAwO1xuXG4gICAgICBsZXQgY2FsbHNpdGU6IENhbGxTaXRlIHwgbnVsbCA9IG51bGw7XG4gICAgICBsZXQgYmluZGluZ3M6IEJpbmRpbmdbXSA9IEVNUFRZO1xuICAgICAgbGV0IHJhbmdlOiBHZW5lcmF0ZWRSYW5nZTtcbiAgICAgIGlmIChoYXNEZWZpbml0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRlZlNvdXJjZXNJbmRleCA9IGRlY29kZUludGVnZXIocmVhZGVyLCBkZWZpbml0aW9uU291cmNlc0luZGV4KTtcbiAgICAgICAgZGVmaW5pdGlvblNjb3BlSW5kZXggPSBkZWNvZGVJbnRlZ2VyKFxuICAgICAgICAgIHJlYWRlcixcbiAgICAgICAgICBkZWZpbml0aW9uU291cmNlc0luZGV4ID09PSBkZWZTb3VyY2VzSW5kZXggPyBkZWZpbml0aW9uU2NvcGVJbmRleCA6IDAsXG4gICAgICAgICk7XG5cbiAgICAgICAgZGVmaW5pdGlvblNvdXJjZXNJbmRleCA9IGRlZlNvdXJjZXNJbmRleDtcbiAgICAgICAgcmFuZ2UgPSBbZ2VuTGluZSwgZ2VuQ29sdW1uLCAwLCAwLCBkZWZTb3VyY2VzSW5kZXgsIGRlZmluaXRpb25TY29wZUluZGV4XSBhcyBHZW5lcmF0ZWRSYW5nZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJhbmdlID0gW2dlbkxpbmUsIGdlbkNvbHVtbiwgMCwgMF0gYXMgR2VuZXJhdGVkUmFuZ2U7XG4gICAgICB9XG5cbiAgICAgIHJhbmdlLmlzU2NvcGUgPSAhIWhhc1Njb3BlO1xuXG4gICAgICBpZiAoaGFzQ2FsbHNpdGUpIHtcbiAgICAgICAgY29uc3QgcHJldkNzaSA9IGNhbGxzaXRlU291cmNlc0luZGV4O1xuICAgICAgICBjb25zdCBwcmV2TGluZSA9IGNhbGxzaXRlTGluZTtcbiAgICAgICAgY2FsbHNpdGVTb3VyY2VzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgY2FsbHNpdGVTb3VyY2VzSW5kZXgpO1xuICAgICAgICBjb25zdCBzYW1lU291cmNlID0gcHJldkNzaSA9PT0gY2FsbHNpdGVTb3VyY2VzSW5kZXg7XG4gICAgICAgIGNhbGxzaXRlTGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBzYW1lU291cmNlID8gY2FsbHNpdGVMaW5lIDogMCk7XG4gICAgICAgIGNhbGxzaXRlQ29sdW1uID0gZGVjb2RlSW50ZWdlcihcbiAgICAgICAgICByZWFkZXIsXG4gICAgICAgICAgc2FtZVNvdXJjZSAmJiBwcmV2TGluZSA9PT0gY2FsbHNpdGVMaW5lID8gY2FsbHNpdGVDb2x1bW4gOiAwLFxuICAgICAgICApO1xuXG4gICAgICAgIGNhbGxzaXRlID0gW2NhbGxzaXRlU291cmNlc0luZGV4LCBjYWxsc2l0ZUxpbmUsIGNhbGxzaXRlQ29sdW1uXTtcbiAgICAgIH1cbiAgICAgIHJhbmdlLmNhbGxzaXRlID0gY2FsbHNpdGU7XG5cbiAgICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpIHtcbiAgICAgICAgYmluZGluZ3MgPSBbXTtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGJpbmRpbmdMaW5lID0gZ2VuTGluZTtcbiAgICAgICAgICBiaW5kaW5nQ29sdW1uID0gZ2VuQ29sdW1uO1xuICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb25zQ291bnQgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgICAgbGV0IGV4cHJlc3Npb25SYW5nZXM6IEJpbmRpbmdFeHByZXNzaW9uUmFuZ2VbXTtcbiAgICAgICAgICBpZiAoZXhwcmVzc2lvbnNDb3VudCA8IC0xKSB7XG4gICAgICAgICAgICBleHByZXNzaW9uUmFuZ2VzID0gW1tkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCldXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAtMTsgaSA+IGV4cHJlc3Npb25zQ291bnQ7IGktLSkge1xuICAgICAgICAgICAgICBjb25zdCBwcmV2QmwgPSBiaW5kaW5nTGluZTtcbiAgICAgICAgICAgICAgYmluZGluZ0xpbmUgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgYmluZGluZ0xpbmUpO1xuICAgICAgICAgICAgICBiaW5kaW5nQ29sdW1uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIGJpbmRpbmdMaW5lID09PSBwcmV2QmwgPyBiaW5kaW5nQ29sdW1uIDogMCk7XG4gICAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgICAgICAgIGV4cHJlc3Npb25SYW5nZXMucHVzaChbZXhwcmVzc2lvbiwgYmluZGluZ0xpbmUsIGJpbmRpbmdDb2x1bW5dKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwcmVzc2lvblJhbmdlcyA9IFtbZXhwcmVzc2lvbnNDb3VudF1dO1xuICAgICAgICAgIH1cbiAgICAgICAgICBiaW5kaW5ncy5wdXNoKGV4cHJlc3Npb25SYW5nZXMpO1xuICAgICAgICB9IHdoaWxlIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpO1xuICAgICAgfVxuICAgICAgcmFuZ2UuYmluZGluZ3MgPSBiaW5kaW5ncztcblxuICAgICAgcmFuZ2VzLnB1c2gocmFuZ2UpO1xuICAgICAgc3RhY2sucHVzaChyYW5nZSk7XG4gICAgfVxuXG4gICAgZ2VuTGluZSsrO1xuICAgIHJlYWRlci5wb3MgPSBzZW1pICsgMTtcbiAgfSB3aGlsZSAocmVhZGVyLnBvcyA8IGxlbmd0aCk7XG5cbiAgcmV0dXJuIHJhbmdlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUdlbmVyYXRlZFJhbmdlcyhyYW5nZXM6IEdlbmVyYXRlZFJhbmdlW10pOiBzdHJpbmcge1xuICBpZiAocmFuZ2VzLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuXG4gIGNvbnN0IHdyaXRlciA9IG5ldyBTdHJpbmdXcml0ZXIoKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7ICkge1xuICAgIGkgPSBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKHJhbmdlcywgaSwgd3JpdGVyLCBbMCwgMCwgMCwgMCwgMCwgMCwgMF0pO1xuICB9XG5cbiAgcmV0dXJuIHdyaXRlci5mbHVzaCgpO1xufVxuXG5mdW5jdGlvbiBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKFxuICByYW5nZXM6IEdlbmVyYXRlZFJhbmdlW10sXG4gIGluZGV4OiBudW1iZXIsXG4gIHdyaXRlcjogU3RyaW5nV3JpdGVyLFxuICBzdGF0ZTogW1xuICAgIG51bWJlciwgLy8gR2VuTGluZVxuICAgIG51bWJlciwgLy8gR2VuQ29sdW1uXG4gICAgbnVtYmVyLCAvLyBEZWZTb3VyY2VzSW5kZXhcbiAgICBudW1iZXIsIC8vIERlZlNjb3Blc0luZGV4XG4gICAgbnVtYmVyLCAvLyBDYWxsU291cmNlc0luZGV4XG4gICAgbnVtYmVyLCAvLyBDYWxsTGluZVxuICAgIG51bWJlciwgLy8gQ2FsbENvbHVtblxuICBdLFxuKTogbnVtYmVyIHtcbiAgY29uc3QgcmFuZ2UgPSByYW5nZXNbaW5kZXhdO1xuICBjb25zdCB7XG4gICAgMDogc3RhcnRMaW5lLFxuICAgIDE6IHN0YXJ0Q29sdW1uLFxuICAgIDI6IGVuZExpbmUsXG4gICAgMzogZW5kQ29sdW1uLFxuICAgIGlzU2NvcGUsXG4gICAgY2FsbHNpdGUsXG4gICAgYmluZGluZ3MsXG4gIH0gPSByYW5nZTtcblxuICBpZiAoc3RhdGVbMF0gPCBzdGFydExpbmUpIHtcbiAgICBjYXRjaHVwTGluZSh3cml0ZXIsIHN0YXRlWzBdLCBzdGFydExpbmUpO1xuICAgIHN0YXRlWzBdID0gc3RhcnRMaW5lO1xuICAgIHN0YXRlWzFdID0gMDtcbiAgfSBlbHNlIGlmIChpbmRleCA+IDApIHtcbiAgICB3cml0ZXIud3JpdGUoY29tbWEpO1xuICB9XG5cbiAgc3RhdGVbMV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgcmFuZ2VbMV0sIHN0YXRlWzFdKTtcblxuICBjb25zdCBmaWVsZHMgPVxuICAgIChyYW5nZS5sZW5ndGggPT09IDYgPyAwYjAwMDEgOiAwKSB8IChjYWxsc2l0ZSA/IDBiMDAxMCA6IDApIHwgKGlzU2NvcGUgPyAwYjAxMDAgOiAwKTtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGZpZWxkcywgMCk7XG5cbiAgaWYgKHJhbmdlLmxlbmd0aCA9PT0gNikge1xuICAgIGNvbnN0IHsgNDogc291cmNlc0luZGV4LCA1OiBzY29wZXNJbmRleCB9ID0gcmFuZ2U7XG4gICAgaWYgKHNvdXJjZXNJbmRleCAhPT0gc3RhdGVbMl0pIHtcbiAgICAgIHN0YXRlWzNdID0gMDtcbiAgICB9XG4gICAgc3RhdGVbMl0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc291cmNlc0luZGV4LCBzdGF0ZVsyXSk7XG4gICAgc3RhdGVbM10gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2NvcGVzSW5kZXgsIHN0YXRlWzNdKTtcbiAgfVxuXG4gIGlmIChjYWxsc2l0ZSkge1xuICAgIGNvbnN0IHsgMDogc291cmNlc0luZGV4LCAxOiBjYWxsTGluZSwgMjogY2FsbENvbHVtbiB9ID0gcmFuZ2UuY2FsbHNpdGUhO1xuICAgIGlmIChzb3VyY2VzSW5kZXggIT09IHN0YXRlWzRdKSB7XG4gICAgICBzdGF0ZVs1XSA9IDA7XG4gICAgICBzdGF0ZVs2XSA9IDA7XG4gICAgfSBlbHNlIGlmIChjYWxsTGluZSAhPT0gc3RhdGVbNV0pIHtcbiAgICAgIHN0YXRlWzZdID0gMDtcbiAgICB9XG4gICAgc3RhdGVbNF0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc291cmNlc0luZGV4LCBzdGF0ZVs0XSk7XG4gICAgc3RhdGVbNV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgY2FsbExpbmUsIHN0YXRlWzVdKTtcbiAgICBzdGF0ZVs2XSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBjYWxsQ29sdW1uLCBzdGF0ZVs2XSk7XG4gIH1cblxuICBpZiAoYmluZGluZ3MpIHtcbiAgICBmb3IgKGNvbnN0IGJpbmRpbmcgb2YgYmluZGluZ3MpIHtcbiAgICAgIGlmIChiaW5kaW5nLmxlbmd0aCA+IDEpIGVuY29kZUludGVnZXIod3JpdGVyLCAtYmluZGluZy5sZW5ndGgsIDApO1xuICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGJpbmRpbmdbMF1bMF07XG4gICAgICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZXhwcmVzc2lvbiwgMCk7XG4gICAgICBsZXQgYmluZGluZ1N0YXJ0TGluZSA9IHN0YXJ0TGluZTtcbiAgICAgIGxldCBiaW5kaW5nU3RhcnRDb2x1bW4gPSBzdGFydENvbHVtbjtcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgYmluZGluZy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBleHBSYW5nZSA9IGJpbmRpbmdbaV07XG4gICAgICAgIGJpbmRpbmdTdGFydExpbmUgPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZXhwUmFuZ2VbMV0hLCBiaW5kaW5nU3RhcnRMaW5lKTtcbiAgICAgICAgYmluZGluZ1N0YXJ0Q29sdW1uID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cFJhbmdlWzJdISwgYmluZGluZ1N0YXJ0Q29sdW1uKTtcbiAgICAgICAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cFJhbmdlWzBdISwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9yIChpbmRleCsrOyBpbmRleCA8IHJhbmdlcy5sZW5ndGg7ICkge1xuICAgIGNvbnN0IG5leHQgPSByYW5nZXNbaW5kZXhdO1xuICAgIGNvbnN0IHsgMDogbCwgMTogYyB9ID0gbmV4dDtcbiAgICBpZiAobCA+IGVuZExpbmUgfHwgKGwgPT09IGVuZExpbmUgJiYgYyA+PSBlbmRDb2x1bW4pKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaW5kZXggPSBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKHJhbmdlcywgaW5kZXgsIHdyaXRlciwgc3RhdGUpO1xuICB9XG5cbiAgaWYgKHN0YXRlWzBdIDwgZW5kTGluZSkge1xuICAgIGNhdGNodXBMaW5lKHdyaXRlciwgc3RhdGVbMF0sIGVuZExpbmUpO1xuICAgIHN0YXRlWzBdID0gZW5kTGluZTtcbiAgICBzdGF0ZVsxXSA9IDA7XG4gIH0gZWxzZSB7XG4gICAgd3JpdGVyLndyaXRlKGNvbW1hKTtcbiAgfVxuICBzdGF0ZVsxXSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBlbmRDb2x1bW4sIHN0YXRlWzFdKTtcblxuICByZXR1cm4gaW5kZXg7XG59XG5cbmZ1bmN0aW9uIGNhdGNodXBMaW5lKHdyaXRlcjogU3RyaW5nV3JpdGVyLCBsYXN0TGluZTogbnVtYmVyLCBsaW5lOiBudW1iZXIpIHtcbiAgZG8ge1xuICAgIHdyaXRlci53cml0ZShzZW1pY29sb24pO1xuICB9IHdoaWxlICgrK2xhc3RMaW5lIDwgbGluZSk7XG59XG4iLCAiaW1wb3J0IHsgY29tbWEsIGRlY29kZUludGVnZXIsIGVuY29kZUludGVnZXIsIGhhc01vcmVWbHEsIHNlbWljb2xvbiB9IGZyb20gJy4vdmxxJztcbmltcG9ydCB7IFN0cmluZ1dyaXRlciwgU3RyaW5nUmVhZGVyIH0gZnJvbSAnLi9zdHJpbmdzJztcblxuZXhwb3J0IHtcbiAgZGVjb2RlT3JpZ2luYWxTY29wZXMsXG4gIGVuY29kZU9yaWdpbmFsU2NvcGVzLFxuICBkZWNvZGVHZW5lcmF0ZWRSYW5nZXMsXG4gIGVuY29kZUdlbmVyYXRlZFJhbmdlcyxcbn0gZnJvbSAnLi9zY29wZXMnO1xuZXhwb3J0IHR5cGUgeyBPcmlnaW5hbFNjb3BlLCBHZW5lcmF0ZWRSYW5nZSwgQ2FsbFNpdGUsIEJpbmRpbmdFeHByZXNzaW9uUmFuZ2UgfSBmcm9tICcuL3Njb3Blcyc7XG5cbmV4cG9ydCB0eXBlIFNvdXJjZU1hcFNlZ21lbnQgPVxuICB8IFtudW1iZXJdXG4gIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgfCBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuZXhwb3J0IHR5cGUgU291cmNlTWFwTGluZSA9IFNvdXJjZU1hcFNlZ21lbnRbXTtcbmV4cG9ydCB0eXBlIFNvdXJjZU1hcE1hcHBpbmdzID0gU291cmNlTWFwTGluZVtdO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlKG1hcHBpbmdzOiBzdHJpbmcpOiBTb3VyY2VNYXBNYXBwaW5ncyB7XG4gIGNvbnN0IHsgbGVuZ3RoIH0gPSBtYXBwaW5ncztcbiAgY29uc3QgcmVhZGVyID0gbmV3IFN0cmluZ1JlYWRlcihtYXBwaW5ncyk7XG4gIGNvbnN0IGRlY29kZWQ6IFNvdXJjZU1hcE1hcHBpbmdzID0gW107XG4gIGxldCBnZW5Db2x1bW4gPSAwO1xuICBsZXQgc291cmNlc0luZGV4ID0gMDtcbiAgbGV0IHNvdXJjZUxpbmUgPSAwO1xuICBsZXQgc291cmNlQ29sdW1uID0gMDtcbiAgbGV0IG5hbWVzSW5kZXggPSAwO1xuXG4gIGRvIHtcbiAgICBjb25zdCBzZW1pID0gcmVhZGVyLmluZGV4T2YoJzsnKTtcbiAgICBjb25zdCBsaW5lOiBTb3VyY2VNYXBMaW5lID0gW107XG4gICAgbGV0IHNvcnRlZCA9IHRydWU7XG4gICAgbGV0IGxhc3RDb2wgPSAwO1xuICAgIGdlbkNvbHVtbiA9IDA7XG5cbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IHNlbWkpIHtcbiAgICAgIGxldCBzZWc6IFNvdXJjZU1hcFNlZ21lbnQ7XG5cbiAgICAgIGdlbkNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBnZW5Db2x1bW4pO1xuICAgICAgaWYgKGdlbkNvbHVtbiA8IGxhc3RDb2wpIHNvcnRlZCA9IGZhbHNlO1xuICAgICAgbGFzdENvbCA9IGdlbkNvbHVtbjtcblxuICAgICAgaWYgKGhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICBzb3VyY2VzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgc291cmNlc0luZGV4KTtcbiAgICAgICAgc291cmNlTGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBzb3VyY2VMaW5lKTtcbiAgICAgICAgc291cmNlQ29sdW1uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIHNvdXJjZUNvbHVtbik7XG5cbiAgICAgICAgaWYgKGhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICAgIG5hbWVzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgbmFtZXNJbmRleCk7XG4gICAgICAgICAgc2VnID0gW2dlbkNvbHVtbiwgc291cmNlc0luZGV4LCBzb3VyY2VMaW5lLCBzb3VyY2VDb2x1bW4sIG5hbWVzSW5kZXhdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlZyA9IFtnZW5Db2x1bW4sIHNvdXJjZXNJbmRleCwgc291cmNlTGluZSwgc291cmNlQ29sdW1uXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VnID0gW2dlbkNvbHVtbl07XG4gICAgICB9XG5cbiAgICAgIGxpbmUucHVzaChzZWcpO1xuICAgICAgcmVhZGVyLnBvcysrO1xuICAgIH1cblxuICAgIGlmICghc29ydGVkKSBzb3J0KGxpbmUpO1xuICAgIGRlY29kZWQucHVzaChsaW5lKTtcbiAgICByZWFkZXIucG9zID0gc2VtaSArIDE7XG4gIH0gd2hpbGUgKHJlYWRlci5wb3MgPD0gbGVuZ3RoKTtcblxuICByZXR1cm4gZGVjb2RlZDtcbn1cblxuZnVuY3Rpb24gc29ydChsaW5lOiBTb3VyY2VNYXBTZWdtZW50W10pIHtcbiAgbGluZS5zb3J0KHNvcnRDb21wYXJhdG9yKTtcbn1cblxuZnVuY3Rpb24gc29ydENvbXBhcmF0b3IoYTogU291cmNlTWFwU2VnbWVudCwgYjogU291cmNlTWFwU2VnbWVudCk6IG51bWJlciB7XG4gIHJldHVybiBhWzBdIC0gYlswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShkZWNvZGVkOiBTb3VyY2VNYXBNYXBwaW5ncyk6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGUoZGVjb2RlZDogUmVhZG9ubHk8U291cmNlTWFwTWFwcGluZ3M+KTogc3RyaW5nO1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShkZWNvZGVkOiBSZWFkb25seTxTb3VyY2VNYXBNYXBwaW5ncz4pOiBzdHJpbmcge1xuICBjb25zdCB3cml0ZXIgPSBuZXcgU3RyaW5nV3JpdGVyKCk7XG4gIGxldCBzb3VyY2VzSW5kZXggPSAwO1xuICBsZXQgc291cmNlTGluZSA9IDA7XG4gIGxldCBzb3VyY2VDb2x1bW4gPSAwO1xuICBsZXQgbmFtZXNJbmRleCA9IDA7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWNvZGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbGluZSA9IGRlY29kZWRbaV07XG4gICAgaWYgKGkgPiAwKSB3cml0ZXIud3JpdGUoc2VtaWNvbG9uKTtcbiAgICBpZiAobGluZS5sZW5ndGggPT09IDApIGNvbnRpbnVlO1xuXG4gICAgbGV0IGdlbkNvbHVtbiA9IDA7XG5cbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGxpbmUubGVuZ3RoOyBqKyspIHtcbiAgICAgIGNvbnN0IHNlZ21lbnQgPSBsaW5lW2pdO1xuICAgICAgaWYgKGogPiAwKSB3cml0ZXIud3JpdGUoY29tbWEpO1xuXG4gICAgICBnZW5Db2x1bW4gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2VnbWVudFswXSwgZ2VuQ29sdW1uKTtcblxuICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAxKSBjb250aW51ZTtcbiAgICAgIHNvdXJjZXNJbmRleCA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzFdLCBzb3VyY2VzSW5kZXgpO1xuICAgICAgc291cmNlTGluZSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzJdLCBzb3VyY2VMaW5lKTtcbiAgICAgIHNvdXJjZUNvbHVtbiA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzNdLCBzb3VyY2VDb2x1bW4pO1xuXG4gICAgICBpZiAoc2VnbWVudC5sZW5ndGggPT09IDQpIGNvbnRpbnVlO1xuICAgICAgbmFtZXNJbmRleCA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzRdLCBuYW1lc0luZGV4KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd3JpdGVyLmZsdXNoKCk7XG59XG4iLCAiLy8gTWF0Y2hlcyB0aGUgc2NoZW1lIG9mIGEgVVJMLCBlZyBcImh0dHA6Ly9cIlxuY29uc3Qgc2NoZW1lUmVnZXggPSAvXltcXHcrLi1dKzpcXC9cXC8vO1xuXG4vKipcbiAqIE1hdGNoZXMgdGhlIHBhcnRzIG9mIGEgVVJMOlxuICogMS4gU2NoZW1lLCBpbmNsdWRpbmcgXCI6XCIsIGd1YXJhbnRlZWQuXG4gKiAyLiBVc2VyL3Bhc3N3b3JkLCBpbmNsdWRpbmcgXCJAXCIsIG9wdGlvbmFsLlxuICogMy4gSG9zdCwgZ3VhcmFudGVlZC5cbiAqIDQuIFBvcnQsIGluY2x1ZGluZyBcIjpcIiwgb3B0aW9uYWwuXG4gKiA1LiBQYXRoLCBpbmNsdWRpbmcgXCIvXCIsIG9wdGlvbmFsLlxuICogNi4gUXVlcnksIGluY2x1ZGluZyBcIj9cIiwgb3B0aW9uYWwuXG4gKiA3LiBIYXNoLCBpbmNsdWRpbmcgXCIjXCIsIG9wdGlvbmFsLlxuICovXG5jb25zdCB1cmxSZWdleCA9IC9eKFtcXHcrLi1dKzopXFwvXFwvKFteQC8jP10qQCk/KFteOi8jP10qKSg6XFxkKyk/KFxcL1teIz9dKik/KFxcP1teI10qKT8oIy4qKT8vO1xuXG4vKipcbiAqIEZpbGUgVVJMcyBhcmUgd2VpcmQuIFRoZXkgZG9udCcgbmVlZCB0aGUgcmVndWxhciBgLy9gIGluIHRoZSBzY2hlbWUsIHRoZXkgbWF5IG9yIG1heSBub3Qgc3RhcnRcbiAqIHdpdGggYSBsZWFkaW5nIGAvYCwgdGhleSBjYW4gaGF2ZSBhIGRvbWFpbiAoYnV0IG9ubHkgaWYgdGhleSBkb24ndCBzdGFydCB3aXRoIGEgV2luZG93cyBkcml2ZSkuXG4gKlxuICogMS4gSG9zdCwgb3B0aW9uYWwuXG4gKiAyLiBQYXRoLCB3aGljaCBtYXkgaW5jbHVkZSBcIi9cIiwgZ3VhcmFudGVlZC5cbiAqIDMuIFF1ZXJ5LCBpbmNsdWRpbmcgXCI/XCIsIG9wdGlvbmFsLlxuICogNC4gSGFzaCwgaW5jbHVkaW5nIFwiI1wiLCBvcHRpb25hbC5cbiAqL1xuY29uc3QgZmlsZVJlZ2V4ID0gL15maWxlOig/OlxcL1xcLygoPyFbYS16XTopW14vIz9dKik/KT8oXFwvP1teIz9dKikoXFw/W14jXSopPygjLiopPy9pO1xuXG50eXBlIFVybCA9IHtcbiAgc2NoZW1lOiBzdHJpbmc7XG4gIHVzZXI6IHN0cmluZztcbiAgaG9zdDogc3RyaW5nO1xuICBwb3J0OiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZztcbiAgaGFzaDogc3RyaW5nO1xuICB0eXBlOiBVcmxUeXBlO1xufTtcblxuY29uc3QgZW51bSBVcmxUeXBlIHtcbiAgRW1wdHkgPSAxLFxuICBIYXNoID0gMixcbiAgUXVlcnkgPSAzLFxuICBSZWxhdGl2ZVBhdGggPSA0LFxuICBBYnNvbHV0ZVBhdGggPSA1LFxuICBTY2hlbWVSZWxhdGl2ZSA9IDYsXG4gIEFic29sdXRlID0gNyxcbn1cblxuZnVuY3Rpb24gaXNBYnNvbHV0ZVVybChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBzY2hlbWVSZWdleC50ZXN0KGlucHV0KTtcbn1cblxuZnVuY3Rpb24gaXNTY2hlbWVSZWxhdGl2ZVVybChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpbnB1dC5zdGFydHNXaXRoKCcvLycpO1xufVxuXG5mdW5jdGlvbiBpc0Fic29sdXRlUGF0aChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpbnB1dC5zdGFydHNXaXRoKCcvJyk7XG59XG5cbmZ1bmN0aW9uIGlzRmlsZVVybChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpbnB1dC5zdGFydHNXaXRoKCdmaWxlOicpO1xufVxuXG5mdW5jdGlvbiBpc1JlbGF0aXZlKGlucHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eWy4/I10vLnRlc3QoaW5wdXQpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUFic29sdXRlVXJsKGlucHV0OiBzdHJpbmcpOiBVcmwge1xuICBjb25zdCBtYXRjaCA9IHVybFJlZ2V4LmV4ZWMoaW5wdXQpITtcbiAgcmV0dXJuIG1ha2VVcmwoXG4gICAgbWF0Y2hbMV0sXG4gICAgbWF0Y2hbMl0gfHwgJycsXG4gICAgbWF0Y2hbM10sXG4gICAgbWF0Y2hbNF0gfHwgJycsXG4gICAgbWF0Y2hbNV0gfHwgJy8nLFxuICAgIG1hdGNoWzZdIHx8ICcnLFxuICAgIG1hdGNoWzddIHx8ICcnLFxuICApO1xufVxuXG5mdW5jdGlvbiBwYXJzZUZpbGVVcmwoaW5wdXQ6IHN0cmluZyk6IFVybCB7XG4gIGNvbnN0IG1hdGNoID0gZmlsZVJlZ2V4LmV4ZWMoaW5wdXQpITtcbiAgY29uc3QgcGF0aCA9IG1hdGNoWzJdO1xuICByZXR1cm4gbWFrZVVybChcbiAgICAnZmlsZTonLFxuICAgICcnLFxuICAgIG1hdGNoWzFdIHx8ICcnLFxuICAgICcnLFxuICAgIGlzQWJzb2x1dGVQYXRoKHBhdGgpID8gcGF0aCA6ICcvJyArIHBhdGgsXG4gICAgbWF0Y2hbM10gfHwgJycsXG4gICAgbWF0Y2hbNF0gfHwgJycsXG4gICk7XG59XG5cbmZ1bmN0aW9uIG1ha2VVcmwoXG4gIHNjaGVtZTogc3RyaW5nLFxuICB1c2VyOiBzdHJpbmcsXG4gIGhvc3Q6IHN0cmluZyxcbiAgcG9ydDogc3RyaW5nLFxuICBwYXRoOiBzdHJpbmcsXG4gIHF1ZXJ5OiBzdHJpbmcsXG4gIGhhc2g6IHN0cmluZyxcbik6IFVybCB7XG4gIHJldHVybiB7XG4gICAgc2NoZW1lLFxuICAgIHVzZXIsXG4gICAgaG9zdCxcbiAgICBwb3J0LFxuICAgIHBhdGgsXG4gICAgcXVlcnksXG4gICAgaGFzaCxcbiAgICB0eXBlOiBVcmxUeXBlLkFic29sdXRlLFxuICB9O1xufVxuXG5mdW5jdGlvbiBwYXJzZVVybChpbnB1dDogc3RyaW5nKTogVXJsIHtcbiAgaWYgKGlzU2NoZW1lUmVsYXRpdmVVcmwoaW5wdXQpKSB7XG4gICAgY29uc3QgdXJsID0gcGFyc2VBYnNvbHV0ZVVybCgnaHR0cDonICsgaW5wdXQpO1xuICAgIHVybC5zY2hlbWUgPSAnJztcbiAgICB1cmwudHlwZSA9IFVybFR5cGUuU2NoZW1lUmVsYXRpdmU7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIGlmIChpc0Fic29sdXRlUGF0aChpbnB1dCkpIHtcbiAgICBjb25zdCB1cmwgPSBwYXJzZUFic29sdXRlVXJsKCdodHRwOi8vZm9vLmNvbScgKyBpbnB1dCk7XG4gICAgdXJsLnNjaGVtZSA9ICcnO1xuICAgIHVybC5ob3N0ID0gJyc7XG4gICAgdXJsLnR5cGUgPSBVcmxUeXBlLkFic29sdXRlUGF0aDtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgaWYgKGlzRmlsZVVybChpbnB1dCkpIHJldHVybiBwYXJzZUZpbGVVcmwoaW5wdXQpO1xuXG4gIGlmIChpc0Fic29sdXRlVXJsKGlucHV0KSkgcmV0dXJuIHBhcnNlQWJzb2x1dGVVcmwoaW5wdXQpO1xuXG4gIGNvbnN0IHVybCA9IHBhcnNlQWJzb2x1dGVVcmwoJ2h0dHA6Ly9mb28uY29tLycgKyBpbnB1dCk7XG4gIHVybC5zY2hlbWUgPSAnJztcbiAgdXJsLmhvc3QgPSAnJztcbiAgdXJsLnR5cGUgPSBpbnB1dFxuICAgID8gaW5wdXQuc3RhcnRzV2l0aCgnPycpXG4gICAgICA/IFVybFR5cGUuUXVlcnlcbiAgICAgIDogaW5wdXQuc3RhcnRzV2l0aCgnIycpXG4gICAgICA/IFVybFR5cGUuSGFzaFxuICAgICAgOiBVcmxUeXBlLlJlbGF0aXZlUGF0aFxuICAgIDogVXJsVHlwZS5FbXB0eTtcbiAgcmV0dXJuIHVybDtcbn1cblxuZnVuY3Rpb24gc3RyaXBQYXRoRmlsZW5hbWUocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gSWYgYSBwYXRoIGVuZHMgd2l0aCBhIHBhcmVudCBkaXJlY3RvcnkgXCIuLlwiLCB0aGVuIGl0J3MgYSByZWxhdGl2ZSBwYXRoIHdpdGggZXhjZXNzIHBhcmVudFxuICAvLyBwYXRocy4gSXQncyBub3QgYSBmaWxlLCBzbyB3ZSBjYW4ndCBzdHJpcCBpdC5cbiAgaWYgKHBhdGguZW5kc1dpdGgoJy8uLicpKSByZXR1cm4gcGF0aDtcbiAgY29uc3QgaW5kZXggPSBwYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gIHJldHVybiBwYXRoLnNsaWNlKDAsIGluZGV4ICsgMSk7XG59XG5cbmZ1bmN0aW9uIG1lcmdlUGF0aHModXJsOiBVcmwsIGJhc2U6IFVybCkge1xuICBub3JtYWxpemVQYXRoKGJhc2UsIGJhc2UudHlwZSk7XG5cbiAgLy8gSWYgdGhlIHBhdGggaXMganVzdCBhIFwiL1wiLCB0aGVuIGl0IHdhcyBhbiBlbXB0eSBwYXRoIHRvIGJlZ2luIHdpdGggKHJlbWVtYmVyLCB3ZSdyZSBhIHJlbGF0aXZlXG4gIC8vIHBhdGgpLlxuICBpZiAodXJsLnBhdGggPT09ICcvJykge1xuICAgIHVybC5wYXRoID0gYmFzZS5wYXRoO1xuICB9IGVsc2Uge1xuICAgIC8vIFJlc29sdXRpb24gaGFwcGVucyByZWxhdGl2ZSB0byB0aGUgYmFzZSBwYXRoJ3MgZGlyZWN0b3J5LCBub3QgdGhlIGZpbGUuXG4gICAgdXJsLnBhdGggPSBzdHJpcFBhdGhGaWxlbmFtZShiYXNlLnBhdGgpICsgdXJsLnBhdGg7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgcGF0aCBjYW4gaGF2ZSBlbXB0eSBkaXJlY3RvcmllcyBcIi8vXCIsIHVubmVlZGVkIHBhcmVudHMgXCJmb28vLi5cIiwgb3IgY3VycmVudCBkaXJlY3RvcnlcbiAqIFwiZm9vLy5cIi4gV2UgbmVlZCB0byBub3JtYWxpemUgdG8gYSBzdGFuZGFyZCByZXByZXNlbnRhdGlvbi5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplUGF0aCh1cmw6IFVybCwgdHlwZTogVXJsVHlwZSkge1xuICBjb25zdCByZWwgPSB0eXBlIDw9IFVybFR5cGUuUmVsYXRpdmVQYXRoO1xuICBjb25zdCBwaWVjZXMgPSB1cmwucGF0aC5zcGxpdCgnLycpO1xuXG4gIC8vIFdlIG5lZWQgdG8gcHJlc2VydmUgdGhlIGZpcnN0IHBpZWNlIGFsd2F5cywgc28gdGhhdCB3ZSBvdXRwdXQgYSBsZWFkaW5nIHNsYXNoLiBUaGUgaXRlbSBhdFxuICAvLyBwaWVjZXNbMF0gaXMgYW4gZW1wdHkgc3RyaW5nLlxuICBsZXQgcG9pbnRlciA9IDE7XG5cbiAgLy8gUG9zaXRpdmUgaXMgdGhlIG51bWJlciBvZiByZWFsIGRpcmVjdG9yaWVzIHdlJ3ZlIG91dHB1dCwgdXNlZCBmb3IgcG9wcGluZyBhIHBhcmVudCBkaXJlY3RvcnkuXG4gIC8vIEVnLCBcImZvby9iYXIvLi5cIiB3aWxsIGhhdmUgYSBwb3NpdGl2ZSAyLCBhbmQgd2UgY2FuIGRlY3JlbWVudCB0byBiZSBsZWZ0IHdpdGgganVzdCBcImZvb1wiLlxuICBsZXQgcG9zaXRpdmUgPSAwO1xuXG4gIC8vIFdlIG5lZWQgdG8ga2VlcCBhIHRyYWlsaW5nIHNsYXNoIGlmIHdlIGVuY291bnRlciBhbiBlbXB0eSBkaXJlY3RvcnkgKGVnLCBzcGxpdHRpbmcgXCJmb28vXCIgd2lsbFxuICAvLyBnZW5lcmF0ZSBgW1wiZm9vXCIsIFwiXCJdYCBwaWVjZXMpLiBBbmQsIGlmIHdlIHBvcCBhIHBhcmVudCBkaXJlY3RvcnkuIEJ1dCBvbmNlIHdlIGVuY291bnRlciBhXG4gIC8vIHJlYWwgZGlyZWN0b3J5LCB3ZSB3b24ndCBuZWVkIHRvIGFwcGVuZCwgdW5sZXNzIHRoZSBvdGhlciBjb25kaXRpb25zIGhhcHBlbiBhZ2Fpbi5cbiAgbGV0IGFkZFRyYWlsaW5nU2xhc2ggPSBmYWxzZTtcblxuICBmb3IgKGxldCBpID0gMTsgaSA8IHBpZWNlcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHBpZWNlID0gcGllY2VzW2ldO1xuXG4gICAgLy8gQW4gZW1wdHkgZGlyZWN0b3J5LCBjb3VsZCBiZSBhIHRyYWlsaW5nIHNsYXNoLCBvciBqdXN0IGEgZG91YmxlIFwiLy9cIiBpbiB0aGUgcGF0aC5cbiAgICBpZiAoIXBpZWNlKSB7XG4gICAgICBhZGRUcmFpbGluZ1NsYXNoID0gdHJ1ZTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGVuY291bnRlciBhIHJlYWwgZGlyZWN0b3J5LCB0aGVuIHdlIGRvbid0IG5lZWQgdG8gYXBwZW5kIGFueW1vcmUuXG4gICAgYWRkVHJhaWxpbmdTbGFzaCA9IGZhbHNlO1xuXG4gICAgLy8gQSBjdXJyZW50IGRpcmVjdG9yeSwgd2hpY2ggd2UgY2FuIGFsd2F5cyBkcm9wLlxuICAgIGlmIChwaWVjZSA9PT0gJy4nKSBjb250aW51ZTtcblxuICAgIC8vIEEgcGFyZW50IGRpcmVjdG9yeSwgd2UgbmVlZCB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSByZWFsIGRpcmVjdG9yaWVzIHdlIGNhbiBwb3AuIEVsc2UsIHdlXG4gICAgLy8gaGF2ZSBhbiBleGNlc3Mgb2YgcGFyZW50cywgYW5kIHdlJ2xsIG5lZWQgdG8ga2VlcCB0aGUgXCIuLlwiLlxuICAgIGlmIChwaWVjZSA9PT0gJy4uJykge1xuICAgICAgaWYgKHBvc2l0aXZlKSB7XG4gICAgICAgIGFkZFRyYWlsaW5nU2xhc2ggPSB0cnVlO1xuICAgICAgICBwb3NpdGl2ZS0tO1xuICAgICAgICBwb2ludGVyLS07XG4gICAgICB9IGVsc2UgaWYgKHJlbCkge1xuICAgICAgICAvLyBJZiB3ZSdyZSBpbiBhIHJlbGF0aXZlUGF0aCwgdGhlbiB3ZSBuZWVkIHRvIGtlZXAgdGhlIGV4Y2VzcyBwYXJlbnRzLiBFbHNlLCBpbiBhbiBhYnNvbHV0ZVxuICAgICAgICAvLyBVUkwsIHByb3RvY29sIHJlbGF0aXZlIFVSTCwgb3IgYW4gYWJzb2x1dGUgcGF0aCwgd2UgZG9uJ3QgbmVlZCB0byBrZWVwIGV4Y2Vzcy5cbiAgICAgICAgcGllY2VzW3BvaW50ZXIrK10gPSBwaWVjZTtcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIFdlJ3ZlIGVuY291bnRlcmVkIGEgcmVhbCBkaXJlY3RvcnkuIE1vdmUgaXQgdG8gdGhlIG5leHQgaW5zZXJ0aW9uIHBvaW50ZXIsIHdoaWNoIGFjY291bnRzIGZvclxuICAgIC8vIGFueSBwb3BwZWQgb3IgZHJvcHBlZCBkaXJlY3Rvcmllcy5cbiAgICBwaWVjZXNbcG9pbnRlcisrXSA9IHBpZWNlO1xuICAgIHBvc2l0aXZlKys7XG4gIH1cblxuICBsZXQgcGF0aCA9ICcnO1xuICBmb3IgKGxldCBpID0gMTsgaSA8IHBvaW50ZXI7IGkrKykge1xuICAgIHBhdGggKz0gJy8nICsgcGllY2VzW2ldO1xuICB9XG4gIGlmICghcGF0aCB8fCAoYWRkVHJhaWxpbmdTbGFzaCAmJiAhcGF0aC5lbmRzV2l0aCgnLy4uJykpKSB7XG4gICAgcGF0aCArPSAnLyc7XG4gIH1cbiAgdXJsLnBhdGggPSBwYXRoO1xufVxuXG4vKipcbiAqIEF0dGVtcHRzIHRvIHJlc29sdmUgYGlucHV0YCBVUkwvcGF0aCByZWxhdGl2ZSB0byBgYmFzZWAuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlc29sdmUoaW5wdXQ6IHN0cmluZywgYmFzZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgaWYgKCFpbnB1dCAmJiAhYmFzZSkgcmV0dXJuICcnO1xuXG4gIGNvbnN0IHVybCA9IHBhcnNlVXJsKGlucHV0KTtcbiAgbGV0IGlucHV0VHlwZSA9IHVybC50eXBlO1xuXG4gIGlmIChiYXNlICYmIGlucHV0VHlwZSAhPT0gVXJsVHlwZS5BYnNvbHV0ZSkge1xuICAgIGNvbnN0IGJhc2VVcmwgPSBwYXJzZVVybChiYXNlKTtcbiAgICBjb25zdCBiYXNlVHlwZSA9IGJhc2VVcmwudHlwZTtcblxuICAgIHN3aXRjaCAoaW5wdXRUeXBlKSB7XG4gICAgICBjYXNlIFVybFR5cGUuRW1wdHk6XG4gICAgICAgIHVybC5oYXNoID0gYmFzZVVybC5oYXNoO1xuICAgICAgLy8gZmFsbCB0aHJvdWdoXG5cbiAgICAgIGNhc2UgVXJsVHlwZS5IYXNoOlxuICAgICAgICB1cmwucXVlcnkgPSBiYXNlVXJsLnF1ZXJ5O1xuICAgICAgLy8gZmFsbCB0aHJvdWdoXG5cbiAgICAgIGNhc2UgVXJsVHlwZS5RdWVyeTpcbiAgICAgIGNhc2UgVXJsVHlwZS5SZWxhdGl2ZVBhdGg6XG4gICAgICAgIG1lcmdlUGF0aHModXJsLCBiYXNlVXJsKTtcbiAgICAgIC8vIGZhbGwgdGhyb3VnaFxuXG4gICAgICBjYXNlIFVybFR5cGUuQWJzb2x1dGVQYXRoOlxuICAgICAgICAvLyBUaGUgaG9zdCwgdXNlciwgYW5kIHBvcnQgYXJlIGpvaW5lZCwgeW91IGNhbid0IGNvcHkgb25lIHdpdGhvdXQgdGhlIG90aGVycy5cbiAgICAgICAgdXJsLnVzZXIgPSBiYXNlVXJsLnVzZXI7XG4gICAgICAgIHVybC5ob3N0ID0gYmFzZVVybC5ob3N0O1xuICAgICAgICB1cmwucG9ydCA9IGJhc2VVcmwucG9ydDtcbiAgICAgIC8vIGZhbGwgdGhyb3VnaFxuXG4gICAgICBjYXNlIFVybFR5cGUuU2NoZW1lUmVsYXRpdmU6XG4gICAgICAgIC8vIFRoZSBpbnB1dCBkb2Vzbid0IGhhdmUgYSBzY2hlbWEgYXQgbGVhc3QsIHNvIHdlIG5lZWQgdG8gY29weSBhdCBsZWFzdCB0aGF0IG92ZXIuXG4gICAgICAgIHVybC5zY2hlbWUgPSBiYXNlVXJsLnNjaGVtZTtcbiAgICB9XG4gICAgaWYgKGJhc2VUeXBlID4gaW5wdXRUeXBlKSBpbnB1dFR5cGUgPSBiYXNlVHlwZTtcbiAgfVxuXG4gIG5vcm1hbGl6ZVBhdGgodXJsLCBpbnB1dFR5cGUpO1xuXG4gIGNvbnN0IHF1ZXJ5SGFzaCA9IHVybC5xdWVyeSArIHVybC5oYXNoO1xuICBzd2l0Y2ggKGlucHV0VHlwZSkge1xuICAgIC8vIFRoaXMgaXMgaW1wb3NzaWJsZSwgYmVjYXVzZSBvZiB0aGUgZW1wdHkgY2hlY2tzIGF0IHRoZSBzdGFydCBvZiB0aGUgZnVuY3Rpb24uXG4gICAgLy8gY2FzZSBVcmxUeXBlLkVtcHR5OlxuXG4gICAgY2FzZSBVcmxUeXBlLkhhc2g6XG4gICAgY2FzZSBVcmxUeXBlLlF1ZXJ5OlxuICAgICAgcmV0dXJuIHF1ZXJ5SGFzaDtcblxuICAgIGNhc2UgVXJsVHlwZS5SZWxhdGl2ZVBhdGg6IHtcbiAgICAgIC8vIFRoZSBmaXJzdCBjaGFyIGlzIGFsd2F5cyBhIFwiL1wiLCBhbmQgd2UgbmVlZCBpdCB0byBiZSByZWxhdGl2ZS5cbiAgICAgIGNvbnN0IHBhdGggPSB1cmwucGF0aC5zbGljZSgxKTtcblxuICAgICAgaWYgKCFwYXRoKSByZXR1cm4gcXVlcnlIYXNoIHx8ICcuJztcblxuICAgICAgaWYgKGlzUmVsYXRpdmUoYmFzZSB8fCBpbnB1dCkgJiYgIWlzUmVsYXRpdmUocGF0aCkpIHtcbiAgICAgICAgLy8gSWYgYmFzZSBzdGFydGVkIHdpdGggYSBsZWFkaW5nIFwiLlwiLCBvciB0aGVyZSBpcyBubyBiYXNlIGFuZCBpbnB1dCBzdGFydGVkIHdpdGggYSBcIi5cIixcbiAgICAgICAgLy8gdGhlbiB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSByZWxhdGl2ZSBwYXRoIHN0YXJ0cyB3aXRoIGEgXCIuXCIuIFdlIGRvbid0IGtub3cgaWZcbiAgICAgICAgLy8gcmVsYXRpdmUgc3RhcnRzIHdpdGggYSBcIi4uXCIsIHRob3VnaCwgc28gY2hlY2sgYmVmb3JlIHByZXBlbmRpbmcuXG4gICAgICAgIHJldHVybiAnLi8nICsgcGF0aCArIHF1ZXJ5SGFzaDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhdGggKyBxdWVyeUhhc2g7XG4gICAgfVxuXG4gICAgY2FzZSBVcmxUeXBlLkFic29sdXRlUGF0aDpcbiAgICAgIHJldHVybiB1cmwucGF0aCArIHF1ZXJ5SGFzaDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdXJsLnNjaGVtZSArICcvLycgKyB1cmwudXNlciArIHVybC5ob3N0ICsgdXJsLnBvcnQgKyB1cmwucGF0aCArIHF1ZXJ5SGFzaDtcbiAgfVxufVxuIiwgImltcG9ydCByZXNvbHZlVXJpIGZyb20gJ0BqcmlkZ2V3ZWxsL3Jlc29sdmUtdXJpJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb2x2ZShpbnB1dDogc3RyaW5nLCBiYXNlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAvLyBUaGUgYmFzZSBpcyBhbHdheXMgdHJlYXRlZCBhcyBhIGRpcmVjdG9yeSwgaWYgaXQncyBub3QgZW1wdHkuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3NvdXJjZS1tYXAvYmxvYi84Y2IzZWU1Ny9saWIvdXRpbC5qcyNMMzI3XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJvbWl1bS9jaHJvbWl1bS9ibG9iL2RhNGFkYmIzL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2RldnRvb2xzL2Zyb250X2VuZC9zZGsvU291cmNlTWFwLmpzI0w0MDAtTDQwMVxuICBpZiAoYmFzZSAmJiAhYmFzZS5lbmRzV2l0aCgnLycpKSBiYXNlICs9ICcvJztcblxuICByZXR1cm4gcmVzb2x2ZVVyaShpbnB1dCwgYmFzZSk7XG59XG4iLCAiLyoqXG4gKiBSZW1vdmVzIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGxhc3QgXCIvXCIsIGJ1dCBsZWF2ZXMgdGhlIHNsYXNoLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdHJpcEZpbGVuYW1lKHBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwpOiBzdHJpbmcge1xuICBpZiAoIXBhdGgpIHJldHVybiAnJztcbiAgY29uc3QgaW5kZXggPSBwYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gIHJldHVybiBwYXRoLnNsaWNlKDAsIGluZGV4ICsgMSk7XG59XG4iLCAidHlwZSBHZW5lcmF0ZWRDb2x1bW4gPSBudW1iZXI7XG50eXBlIFNvdXJjZXNJbmRleCA9IG51bWJlcjtcbnR5cGUgU291cmNlTGluZSA9IG51bWJlcjtcbnR5cGUgU291cmNlQ29sdW1uID0gbnVtYmVyO1xudHlwZSBOYW1lc0luZGV4ID0gbnVtYmVyO1xuXG50eXBlIEdlbmVyYXRlZExpbmUgPSBudW1iZXI7XG5cbmV4cG9ydCB0eXBlIFNvdXJjZU1hcFNlZ21lbnQgPVxuICB8IFtHZW5lcmF0ZWRDb2x1bW5dXG4gIHwgW0dlbmVyYXRlZENvbHVtbiwgU291cmNlc0luZGV4LCBTb3VyY2VMaW5lLCBTb3VyY2VDb2x1bW5dXG4gIHwgW0dlbmVyYXRlZENvbHVtbiwgU291cmNlc0luZGV4LCBTb3VyY2VMaW5lLCBTb3VyY2VDb2x1bW4sIE5hbWVzSW5kZXhdO1xuXG5leHBvcnQgdHlwZSBSZXZlcnNlU2VnbWVudCA9IFtTb3VyY2VDb2x1bW4sIEdlbmVyYXRlZExpbmUsIEdlbmVyYXRlZENvbHVtbl07XG5cbmV4cG9ydCBjb25zdCBDT0xVTU4gPSAwO1xuZXhwb3J0IGNvbnN0IFNPVVJDRVNfSU5ERVggPSAxO1xuZXhwb3J0IGNvbnN0IFNPVVJDRV9MSU5FID0gMjtcbmV4cG9ydCBjb25zdCBTT1VSQ0VfQ09MVU1OID0gMztcbmV4cG9ydCBjb25zdCBOQU1FU19JTkRFWCA9IDQ7XG5cbmV4cG9ydCBjb25zdCBSRVZfR0VORVJBVEVEX0xJTkUgPSAxO1xuZXhwb3J0IGNvbnN0IFJFVl9HRU5FUkFURURfQ09MVU1OID0gMjtcbiIsICJpbXBvcnQgeyBDT0xVTU4gfSBmcm9tICcuL3NvdXJjZW1hcC1zZWdtZW50JztcblxuaW1wb3J0IHR5cGUgeyBTb3VyY2VNYXBTZWdtZW50IH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1heWJlU29ydChcbiAgbWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdLFxuICBvd25lZDogYm9vbGVhbixcbik6IFNvdXJjZU1hcFNlZ21lbnRbXVtdIHtcbiAgY29uc3QgdW5zb3J0ZWRJbmRleCA9IG5leHRVbnNvcnRlZFNlZ21lbnRMaW5lKG1hcHBpbmdzLCAwKTtcbiAgaWYgKHVuc29ydGVkSW5kZXggPT09IG1hcHBpbmdzLmxlbmd0aCkgcmV0dXJuIG1hcHBpbmdzO1xuXG4gIC8vIElmIHdlIG93biB0aGUgYXJyYXkgKG1lYW5pbmcgd2UgcGFyc2VkIGl0IGZyb20gSlNPTiksIHRoZW4gd2UncmUgZnJlZSB0byBkaXJlY3RseSBtdXRhdGUgaXQuIElmXG4gIC8vIG5vdCwgd2UgZG8gbm90IHdhbnQgdG8gbW9kaWZ5IHRoZSBjb25zdW1lcidzIGlucHV0IGFycmF5LlxuICBpZiAoIW93bmVkKSBtYXBwaW5ncyA9IG1hcHBpbmdzLnNsaWNlKCk7XG5cbiAgZm9yIChsZXQgaSA9IHVuc29ydGVkSW5kZXg7IGkgPCBtYXBwaW5ncy5sZW5ndGg7IGkgPSBuZXh0VW5zb3J0ZWRTZWdtZW50TGluZShtYXBwaW5ncywgaSArIDEpKSB7XG4gICAgbWFwcGluZ3NbaV0gPSBzb3J0U2VnbWVudHMobWFwcGluZ3NbaV0sIG93bmVkKTtcbiAgfVxuICByZXR1cm4gbWFwcGluZ3M7XG59XG5cbmZ1bmN0aW9uIG5leHRVbnNvcnRlZFNlZ21lbnRMaW5lKG1hcHBpbmdzOiBTb3VyY2VNYXBTZWdtZW50W11bXSwgc3RhcnQ6IG51bWJlcik6IG51bWJlciB7XG4gIGZvciAobGV0IGkgPSBzdGFydDsgaSA8IG1hcHBpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKCFpc1NvcnRlZChtYXBwaW5nc1tpXSkpIHJldHVybiBpO1xuICB9XG4gIHJldHVybiBtYXBwaW5ncy5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGlzU29ydGVkKGxpbmU6IFNvdXJjZU1hcFNlZ21lbnRbXSk6IGJvb2xlYW4ge1xuICBmb3IgKGxldCBqID0gMTsgaiA8IGxpbmUubGVuZ3RoOyBqKyspIHtcbiAgICBpZiAobGluZVtqXVtDT0xVTU5dIDwgbGluZVtqIC0gMV1bQ09MVU1OXSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gc29ydFNlZ21lbnRzKGxpbmU6IFNvdXJjZU1hcFNlZ21lbnRbXSwgb3duZWQ6IGJvb2xlYW4pOiBTb3VyY2VNYXBTZWdtZW50W10ge1xuICBpZiAoIW93bmVkKSBsaW5lID0gbGluZS5zbGljZSgpO1xuICByZXR1cm4gbGluZS5zb3J0KHNvcnRDb21wYXJhdG9yKTtcbn1cblxuZnVuY3Rpb24gc29ydENvbXBhcmF0b3IoYTogU291cmNlTWFwU2VnbWVudCwgYjogU291cmNlTWFwU2VnbWVudCk6IG51bWJlciB7XG4gIHJldHVybiBhW0NPTFVNTl0gLSBiW0NPTFVNTl07XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBTb3VyY2VNYXBTZWdtZW50LCBSZXZlcnNlU2VnbWVudCB9IGZyb20gJy4vc291cmNlbWFwLXNlZ21lbnQnO1xuaW1wb3J0IHsgQ09MVU1OIH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5cbmV4cG9ydCB0eXBlIE1lbW9TdGF0ZSA9IHtcbiAgbGFzdEtleTogbnVtYmVyO1xuICBsYXN0TmVlZGxlOiBudW1iZXI7XG4gIGxhc3RJbmRleDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGxldCBmb3VuZCA9IGZhbHNlO1xuXG4vKipcbiAqIEEgYmluYXJ5IHNlYXJjaCBpbXBsZW1lbnRhdGlvbiB0aGF0IHJldHVybnMgdGhlIGluZGV4IGlmIGEgbWF0Y2ggaXMgZm91bmQuXG4gKiBJZiBubyBtYXRjaCBpcyBmb3VuZCwgdGhlbiB0aGUgbGVmdC1pbmRleCAodGhlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbSB0aGF0IGNvbWVzIGp1c3RcbiAqIGJlZm9yZSB0aGUgZGVzaXJlZCBpbmRleCkgaXMgcmV0dXJuZWQuIFRvIG1haW50YWluIHByb3BlciBzb3J0IG9yZGVyLCBhIHNwbGljZSB3b3VsZCBoYXBwZW4gYXRcbiAqIHRoZSBuZXh0IGluZGV4OlxuICpcbiAqIGBgYGpzXG4gKiBjb25zdCBhcnJheSA9IFsxLCAzXTtcbiAqIGNvbnN0IG5lZWRsZSA9IDI7XG4gKiBjb25zdCBpbmRleCA9IGJpbmFyeVNlYXJjaChhcnJheSwgbmVlZGxlLCAoaXRlbSwgbmVlZGxlKSA9PiBpdGVtIC0gbmVlZGxlKTtcbiAqXG4gKiBhc3NlcnQuZXF1YWwoaW5kZXgsIDApO1xuICogYXJyYXkuc3BsaWNlKGluZGV4ICsgMSwgMCwgbmVlZGxlKTtcbiAqIGFzc2VydC5kZWVwRXF1YWwoYXJyYXksIFsxLCAyLCAzXSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmFyeVNlYXJjaChcbiAgaGF5c3RhY2s6IFNvdXJjZU1hcFNlZ21lbnRbXSB8IFJldmVyc2VTZWdtZW50W10sXG4gIG5lZWRsZTogbnVtYmVyLFxuICBsb3c6IG51bWJlcixcbiAgaGlnaDogbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgd2hpbGUgKGxvdyA8PSBoaWdoKSB7XG4gICAgY29uc3QgbWlkID0gbG93ICsgKChoaWdoIC0gbG93KSA+PiAxKTtcbiAgICBjb25zdCBjbXAgPSBoYXlzdGFja1ttaWRdW0NPTFVNTl0gLSBuZWVkbGU7XG5cbiAgICBpZiAoY21wID09PSAwKSB7XG4gICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gbWlkO1xuICAgIH1cblxuICAgIGlmIChjbXAgPCAwKSB7XG4gICAgICBsb3cgPSBtaWQgKyAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaWdoID0gbWlkIC0gMTtcbiAgICB9XG4gIH1cblxuICBmb3VuZCA9IGZhbHNlO1xuICByZXR1cm4gbG93IC0gMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwcGVyQm91bmQoXG4gIGhheXN0YWNrOiBTb3VyY2VNYXBTZWdtZW50W10gfCBSZXZlcnNlU2VnbWVudFtdLFxuICBuZWVkbGU6IG51bWJlcixcbiAgaW5kZXg6IG51bWJlcixcbik6IG51bWJlciB7XG4gIGZvciAobGV0IGkgPSBpbmRleCArIDE7IGkgPCBoYXlzdGFjay5sZW5ndGg7IGluZGV4ID0gaSsrKSB7XG4gICAgaWYgKGhheXN0YWNrW2ldW0NPTFVNTl0gIT09IG5lZWRsZSkgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG93ZXJCb3VuZChcbiAgaGF5c3RhY2s6IFNvdXJjZU1hcFNlZ21lbnRbXSB8IFJldmVyc2VTZWdtZW50W10sXG4gIG5lZWRsZTogbnVtYmVyLFxuICBpbmRleDogbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgZm9yIChsZXQgaSA9IGluZGV4IC0gMTsgaSA+PSAwOyBpbmRleCA9IGktLSkge1xuICAgIGlmIChoYXlzdGFja1tpXVtDT0xVTU5dICE9PSBuZWVkbGUpIGJyZWFrO1xuICB9XG4gIHJldHVybiBpbmRleDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lbW9pemVkU3RhdGUoKTogTWVtb1N0YXRlIHtcbiAgcmV0dXJuIHtcbiAgICBsYXN0S2V5OiAtMSxcbiAgICBsYXN0TmVlZGxlOiAtMSxcbiAgICBsYXN0SW5kZXg6IC0xLFxuICB9O1xufVxuXG4vKipcbiAqIFRoaXMgb3Zlcmx5IGNvbXBsaWNhdGVkIGJlYXN0IGlzIGp1c3QgdG8gcmVjb3JkIHRoZSBsYXN0IHRlc3RlZCBsaW5lL2NvbHVtbiBhbmQgdGhlIHJlc3VsdGluZ1xuICogaW5kZXgsIGFsbG93aW5nIHVzIHRvIHNraXAgYSBmZXcgdGVzdHMgaWYgbWFwcGluZ3MgYXJlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lbW9pemVkQmluYXJ5U2VhcmNoKFxuICBoYXlzdGFjazogU291cmNlTWFwU2VnbWVudFtdIHwgUmV2ZXJzZVNlZ21lbnRbXSxcbiAgbmVlZGxlOiBudW1iZXIsXG4gIHN0YXRlOiBNZW1vU3RhdGUsXG4gIGtleTogbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgY29uc3QgeyBsYXN0S2V5LCBsYXN0TmVlZGxlLCBsYXN0SW5kZXggfSA9IHN0YXRlO1xuXG4gIGxldCBsb3cgPSAwO1xuICBsZXQgaGlnaCA9IGhheXN0YWNrLmxlbmd0aCAtIDE7XG4gIGlmIChrZXkgPT09IGxhc3RLZXkpIHtcbiAgICBpZiAobmVlZGxlID09PSBsYXN0TmVlZGxlKSB7XG4gICAgICBmb3VuZCA9IGxhc3RJbmRleCAhPT0gLTEgJiYgaGF5c3RhY2tbbGFzdEluZGV4XVtDT0xVTU5dID09PSBuZWVkbGU7XG4gICAgICByZXR1cm4gbGFzdEluZGV4O1xuICAgIH1cblxuICAgIGlmIChuZWVkbGUgPj0gbGFzdE5lZWRsZSkge1xuICAgICAgLy8gbGFzdEluZGV4IG1heSBiZSAtMSBpZiB0aGUgcHJldmlvdXMgbmVlZGxlIHdhcyBub3QgZm91bmQuXG4gICAgICBsb3cgPSBsYXN0SW5kZXggPT09IC0xID8gMCA6IGxhc3RJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlnaCA9IGxhc3RJbmRleDtcbiAgICB9XG4gIH1cbiAgc3RhdGUubGFzdEtleSA9IGtleTtcbiAgc3RhdGUubGFzdE5lZWRsZSA9IG5lZWRsZTtcblxuICByZXR1cm4gKHN0YXRlLmxhc3RJbmRleCA9IGJpbmFyeVNlYXJjaChoYXlzdGFjaywgbmVlZGxlLCBsb3csIGhpZ2gpKTtcbn1cbiIsICJpbXBvcnQgeyBDT0xVTU4sIFNPVVJDRVNfSU5ERVgsIFNPVVJDRV9MSU5FLCBTT1VSQ0VfQ09MVU1OIH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5pbXBvcnQgeyBtZW1vaXplZEJpbmFyeVNlYXJjaCwgdXBwZXJCb3VuZCB9IGZyb20gJy4vYmluYXJ5LXNlYXJjaCc7XG5cbmltcG9ydCB0eXBlIHsgUmV2ZXJzZVNlZ21lbnQsIFNvdXJjZU1hcFNlZ21lbnQgfSBmcm9tICcuL3NvdXJjZW1hcC1zZWdtZW50JztcbmltcG9ydCB0eXBlIHsgTWVtb1N0YXRlIH0gZnJvbSAnLi9iaW5hcnktc2VhcmNoJztcblxuZXhwb3J0IHR5cGUgU291cmNlID0ge1xuICBfX3Byb3RvX186IG51bGw7XG4gIFtsaW5lOiBudW1iZXJdOiBFeGNsdWRlPFJldmVyc2VTZWdtZW50LCBbbnVtYmVyXT5bXTtcbn07XG5cbi8vIFJlYnVpbGRzIHRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZXMsIHdpdGggbWFwcGluZ3MgdGhhdCBhcmUgb3JkZXJlZCBieSBzb3VyY2UgbGluZS9jb2x1bW4gaW5zdGVhZFxuLy8gb2YgZ2VuZXJhdGVkIGxpbmUvY29sdW1uLlxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYnVpbGRCeVNvdXJjZXMoXG4gIGRlY29kZWQ6IHJlYWRvbmx5IFNvdXJjZU1hcFNlZ21lbnRbXVtdLFxuICBtZW1vczogTWVtb1N0YXRlW10sXG4pOiBTb3VyY2VbXSB7XG4gIGNvbnN0IHNvdXJjZXM6IFNvdXJjZVtdID0gbWVtb3MubWFwKGJ1aWxkTnVsbEFycmF5KTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY29kZWQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBsaW5lID0gZGVjb2RlZFtpXTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGxpbmUubGVuZ3RoOyBqKyspIHtcbiAgICAgIGNvbnN0IHNlZyA9IGxpbmVbal07XG4gICAgICBpZiAoc2VnLmxlbmd0aCA9PT0gMSkgY29udGludWU7XG5cbiAgICAgIGNvbnN0IHNvdXJjZUluZGV4ID0gc2VnW1NPVVJDRVNfSU5ERVhdO1xuICAgICAgY29uc3Qgc291cmNlTGluZSA9IHNlZ1tTT1VSQ0VfTElORV07XG4gICAgICBjb25zdCBzb3VyY2VDb2x1bW4gPSBzZWdbU09VUkNFX0NPTFVNTl07XG4gICAgICBjb25zdCBvcmlnaW5hbFNvdXJjZSA9IHNvdXJjZXNbc291cmNlSW5kZXhdO1xuICAgICAgY29uc3Qgb3JpZ2luYWxMaW5lID0gKG9yaWdpbmFsU291cmNlW3NvdXJjZUxpbmVdIHx8PSBbXSk7XG4gICAgICBjb25zdCBtZW1vID0gbWVtb3Nbc291cmNlSW5kZXhdO1xuXG4gICAgICAvLyBUaGUgYmluYXJ5IHNlYXJjaCBlaXRoZXIgZm91bmQgYSBtYXRjaCwgb3IgaXQgZm91bmQgdGhlIGxlZnQtaW5kZXgganVzdCBiZWZvcmUgd2hlcmUgdGhlXG4gICAgICAvLyBzZWdtZW50IHNob3VsZCBnby4gRWl0aGVyIHdheSwgd2Ugd2FudCB0byBpbnNlcnQgYWZ0ZXIgdGhhdC4gQW5kIHRoZXJlIG1heSBiZSBtdWx0aXBsZVxuICAgICAgLy8gZ2VuZXJhdGVkIHNlZ21lbnRzIGFzc29jaWF0ZWQgd2l0aCBhbiBvcmlnaW5hbCBsb2NhdGlvbiwgc28gdGhlcmUgbWF5IG5lZWQgdG8gbW92ZSBzZXZlcmFsXG4gICAgICAvLyBpbmRleGVzIGJlZm9yZSB3ZSBmaW5kIHdoZXJlIHdlIG5lZWQgdG8gaW5zZXJ0LlxuICAgICAgbGV0IGluZGV4ID0gdXBwZXJCb3VuZChcbiAgICAgICAgb3JpZ2luYWxMaW5lLFxuICAgICAgICBzb3VyY2VDb2x1bW4sXG4gICAgICAgIG1lbW9pemVkQmluYXJ5U2VhcmNoKG9yaWdpbmFsTGluZSwgc291cmNlQ29sdW1uLCBtZW1vLCBzb3VyY2VMaW5lKSxcbiAgICAgICk7XG5cbiAgICAgIG1lbW8ubGFzdEluZGV4ID0gKytpbmRleDtcbiAgICAgIGluc2VydChvcmlnaW5hbExpbmUsIGluZGV4LCBbc291cmNlQ29sdW1uLCBpLCBzZWdbQ09MVU1OXV0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzb3VyY2VzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnQ8VD4oYXJyYXk6IFRbXSwgaW5kZXg6IG51bWJlciwgdmFsdWU6IFQpIHtcbiAgZm9yIChsZXQgaSA9IGFycmF5Lmxlbmd0aDsgaSA+IGluZGV4OyBpLS0pIHtcbiAgICBhcnJheVtpXSA9IGFycmF5W2kgLSAxXTtcbiAgfVxuICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbn1cblxuLy8gTnVsbCBhcnJheXMgYWxsb3cgdXMgdG8gdXNlIG9yZGVyZWQgaW5kZXgga2V5cyB3aXRob3V0IGFjdHVhbGx5IGFsbG9jYXRpbmcgY29udGlndW91cyBtZW1vcnkgbGlrZVxuLy8gYSByZWFsIGFycmF5LiBXZSB1c2UgYSBudWxsLXByb3RvdHlwZSBvYmplY3QgdG8gYXZvaWQgcHJvdG90eXBlIHBvbGx1dGlvbiBhbmQgZGVvcHRpbWl6YXRpb25zLlxuLy8gTnVtZXJpYyBwcm9wZXJ0aWVzIG9uIG9iamVjdHMgYXJlIG1hZ2ljYWxseSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyIGJ5IHRoZSBlbmdpbmUgcmVnYXJkbGVzcyBvZlxuLy8gdGhlIGluc2VydGlvbiBvcmRlci4gU28sIGJ5IHNldHRpbmcgYW55IG51bWVyaWMga2V5cywgZXZlbiBvdXQgb2Ygb3JkZXIsIHdlJ2xsIGdldCBhc2NlbmRpbmdcbi8vIG9yZGVyIHdoZW4gaXRlcmF0aW5nIHdpdGggZm9yLWluLlxuZnVuY3Rpb24gYnVpbGROdWxsQXJyYXk8VCBleHRlbmRzIHsgX19wcm90b19fOiBudWxsIH0+KCk6IFQge1xuICByZXR1cm4geyBfX3Byb3RvX186IG51bGwgfSBhcyBUO1xufVxuIiwgImltcG9ydCB7IFRyYWNlTWFwLCBwcmVzb3J0ZWREZWNvZGVkTWFwLCBkZWNvZGVkTWFwcGluZ3MgfSBmcm9tICcuL3RyYWNlLW1hcHBpbmcnO1xuaW1wb3J0IHtcbiAgQ09MVU1OLFxuICBTT1VSQ0VTX0lOREVYLFxuICBTT1VSQ0VfTElORSxcbiAgU09VUkNFX0NPTFVNTixcbiAgTkFNRVNfSU5ERVgsXG59IGZyb20gJy4vc291cmNlbWFwLXNlZ21lbnQnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIERlY29kZWRTb3VyY2VNYXAsXG4gIERlY29kZWRTb3VyY2VNYXBYSW5wdXQsXG4gIEVuY29kZWRTb3VyY2VNYXBYSW5wdXQsXG4gIFNlY3Rpb25lZFNvdXJjZU1hcFhJbnB1dCxcbiAgU2VjdGlvbmVkU291cmNlTWFwSW5wdXQsXG4gIFNlY3Rpb25YSW5wdXQsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBTb3VyY2VNYXBTZWdtZW50IH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5cbnR5cGUgQW55TWFwID0ge1xuICBuZXcgKG1hcDogU2VjdGlvbmVkU291cmNlTWFwSW5wdXQsIG1hcFVybD86IHN0cmluZyB8IG51bGwpOiBUcmFjZU1hcDtcbiAgKG1hcDogU2VjdGlvbmVkU291cmNlTWFwSW5wdXQsIG1hcFVybD86IHN0cmluZyB8IG51bGwpOiBUcmFjZU1hcDtcbn07XG5cbmV4cG9ydCBjb25zdCBBbnlNYXA6IEFueU1hcCA9IGZ1bmN0aW9uIChtYXAsIG1hcFVybCkge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZShtYXApO1xuXG4gIGlmICghKCdzZWN0aW9ucycgaW4gcGFyc2VkKSkge1xuICAgIHJldHVybiBuZXcgVHJhY2VNYXAocGFyc2VkIGFzIERlY29kZWRTb3VyY2VNYXBYSW5wdXQgfCBFbmNvZGVkU291cmNlTWFwWElucHV0LCBtYXBVcmwpO1xuICB9XG5cbiAgY29uc3QgbWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdID0gW107XG4gIGNvbnN0IHNvdXJjZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHNvdXJjZXNDb250ZW50OiAoc3RyaW5nIHwgbnVsbClbXSA9IFtdO1xuICBjb25zdCBuYW1lczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgaWdub3JlTGlzdDogbnVtYmVyW10gPSBbXTtcblxuICByZWN1cnNlKFxuICAgIHBhcnNlZCxcbiAgICBtYXBVcmwsXG4gICAgbWFwcGluZ3MsXG4gICAgc291cmNlcyxcbiAgICBzb3VyY2VzQ29udGVudCxcbiAgICBuYW1lcyxcbiAgICBpZ25vcmVMaXN0LFxuICAgIDAsXG4gICAgMCxcbiAgICBJbmZpbml0eSxcbiAgICBJbmZpbml0eSxcbiAgKTtcblxuICBjb25zdCBqb2luZWQ6IERlY29kZWRTb3VyY2VNYXAgPSB7XG4gICAgdmVyc2lvbjogMyxcbiAgICBmaWxlOiBwYXJzZWQuZmlsZSxcbiAgICBuYW1lcyxcbiAgICBzb3VyY2VzLFxuICAgIHNvdXJjZXNDb250ZW50LFxuICAgIG1hcHBpbmdzLFxuICAgIGlnbm9yZUxpc3QsXG4gIH07XG5cbiAgcmV0dXJuIHByZXNvcnRlZERlY29kZWRNYXAoam9pbmVkKTtcbn0gYXMgQW55TWFwO1xuXG5mdW5jdGlvbiBwYXJzZTxUPihtYXA6IFQpOiBFeGNsdWRlPFQsIHN0cmluZz4ge1xuICByZXR1cm4gdHlwZW9mIG1hcCA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKG1hcCkgOiBtYXA7XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2UoXG4gIGlucHV0OiBTZWN0aW9uZWRTb3VyY2VNYXBYSW5wdXQsXG4gIG1hcFVybDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdLFxuICBzb3VyY2VzOiBzdHJpbmdbXSxcbiAgc291cmNlc0NvbnRlbnQ6IChzdHJpbmcgfCBudWxsKVtdLFxuICBuYW1lczogc3RyaW5nW10sXG4gIGlnbm9yZUxpc3Q6IG51bWJlcltdLFxuICBsaW5lT2Zmc2V0OiBudW1iZXIsXG4gIGNvbHVtbk9mZnNldDogbnVtYmVyLFxuICBzdG9wTGluZTogbnVtYmVyLFxuICBzdG9wQ29sdW1uOiBudW1iZXIsXG4pIHtcbiAgY29uc3QgeyBzZWN0aW9ucyB9ID0gaW5wdXQ7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB7IG1hcCwgb2Zmc2V0IH0gPSBzZWN0aW9uc1tpXTtcblxuICAgIGxldCBzbCA9IHN0b3BMaW5lO1xuICAgIGxldCBzYyA9IHN0b3BDb2x1bW47XG4gICAgaWYgKGkgKyAxIDwgc2VjdGlvbnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBuZXh0T2Zmc2V0ID0gc2VjdGlvbnNbaSArIDFdLm9mZnNldDtcbiAgICAgIHNsID0gTWF0aC5taW4oc3RvcExpbmUsIGxpbmVPZmZzZXQgKyBuZXh0T2Zmc2V0LmxpbmUpO1xuXG4gICAgICBpZiAoc2wgPT09IHN0b3BMaW5lKSB7XG4gICAgICAgIHNjID0gTWF0aC5taW4oc3RvcENvbHVtbiwgY29sdW1uT2Zmc2V0ICsgbmV4dE9mZnNldC5jb2x1bW4pO1xuICAgICAgfSBlbHNlIGlmIChzbCA8IHN0b3BMaW5lKSB7XG4gICAgICAgIHNjID0gY29sdW1uT2Zmc2V0ICsgbmV4dE9mZnNldC5jb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgYWRkU2VjdGlvbihcbiAgICAgIG1hcCxcbiAgICAgIG1hcFVybCxcbiAgICAgIG1hcHBpbmdzLFxuICAgICAgc291cmNlcyxcbiAgICAgIHNvdXJjZXNDb250ZW50LFxuICAgICAgbmFtZXMsXG4gICAgICBpZ25vcmVMaXN0LFxuICAgICAgbGluZU9mZnNldCArIG9mZnNldC5saW5lLFxuICAgICAgY29sdW1uT2Zmc2V0ICsgb2Zmc2V0LmNvbHVtbixcbiAgICAgIHNsLFxuICAgICAgc2MsXG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRTZWN0aW9uKFxuICBpbnB1dDogU2VjdGlvblhJbnB1dFsnbWFwJ10sXG4gIG1hcFVybDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdLFxuICBzb3VyY2VzOiBzdHJpbmdbXSxcbiAgc291cmNlc0NvbnRlbnQ6IChzdHJpbmcgfCBudWxsKVtdLFxuICBuYW1lczogc3RyaW5nW10sXG4gIGlnbm9yZUxpc3Q6IG51bWJlcltdLFxuICBsaW5lT2Zmc2V0OiBudW1iZXIsXG4gIGNvbHVtbk9mZnNldDogbnVtYmVyLFxuICBzdG9wTGluZTogbnVtYmVyLFxuICBzdG9wQ29sdW1uOiBudW1iZXIsXG4pIHtcbiAgY29uc3QgcGFyc2VkID0gcGFyc2UoaW5wdXQpO1xuICBpZiAoJ3NlY3Rpb25zJyBpbiBwYXJzZWQpIHJldHVybiByZWN1cnNlKC4uLihhcmd1bWVudHMgYXMgdW5rbm93biBhcyBQYXJhbWV0ZXJzPHR5cGVvZiByZWN1cnNlPikpO1xuXG4gIGNvbnN0IG1hcCA9IG5ldyBUcmFjZU1hcChwYXJzZWQsIG1hcFVybCk7XG4gIGNvbnN0IHNvdXJjZXNPZmZzZXQgPSBzb3VyY2VzLmxlbmd0aDtcbiAgY29uc3QgbmFtZXNPZmZzZXQgPSBuYW1lcy5sZW5ndGg7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVkTWFwcGluZ3MobWFwKTtcbiAgY29uc3QgeyByZXNvbHZlZFNvdXJjZXMsIHNvdXJjZXNDb250ZW50OiBjb250ZW50cywgaWdub3JlTGlzdDogaWdub3JlcyB9ID0gbWFwO1xuXG4gIGFwcGVuZChzb3VyY2VzLCByZXNvbHZlZFNvdXJjZXMpO1xuICBhcHBlbmQobmFtZXMsIG1hcC5uYW1lcyk7XG5cbiAgaWYgKGNvbnRlbnRzKSBhcHBlbmQoc291cmNlc0NvbnRlbnQsIGNvbnRlbnRzKTtcbiAgZWxzZSBmb3IgKGxldCBpID0gMDsgaSA8IHJlc29sdmVkU291cmNlcy5sZW5ndGg7IGkrKykgc291cmNlc0NvbnRlbnQucHVzaChudWxsKTtcblxuICBpZiAoaWdub3JlcykgZm9yIChsZXQgaSA9IDA7IGkgPCBpZ25vcmVzLmxlbmd0aDsgaSsrKSBpZ25vcmVMaXN0LnB1c2goaWdub3Jlc1tpXSArIHNvdXJjZXNPZmZzZXQpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGVjb2RlZC5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGxpbmVJID0gbGluZU9mZnNldCArIGk7XG5cbiAgICAvLyBXZSBjYW4gb25seSBhZGQgc28gbWFueSBsaW5lcyBiZWZvcmUgd2Ugc3RlcCBpbnRvIHRoZSByYW5nZSB0aGF0IHRoZSBuZXh0IHNlY3Rpb24ncyBtYXBcbiAgICAvLyBjb250cm9scy4gV2hlbiB3ZSBnZXQgdG8gdGhlIGxhc3QgbGluZSwgdGhlbiB3ZSdsbCBzdGFydCBjaGVja2luZyB0aGUgc2VnbWVudHMgdG8gc2VlIGlmXG4gICAgLy8gdGhleSd2ZSBjcm9zc2VkIGludG8gdGhlIGNvbHVtbiByYW5nZS4gQnV0IGl0IG1heSBub3QgaGF2ZSBhbnkgY29sdW1ucyB0aGF0IG92ZXJzdGVwLCBzbyB3ZVxuICAgIC8vIHN0aWxsIG5lZWQgdG8gY2hlY2sgdGhhdCB3ZSBkb24ndCBvdmVyc3RlcCBsaW5lcywgdG9vLlxuICAgIGlmIChsaW5lSSA+IHN0b3BMaW5lKSByZXR1cm47XG5cbiAgICAvLyBUaGUgb3V0IGxpbmUgbWF5IGFscmVhZHkgZXhpc3QgaW4gbWFwcGluZ3MgKGlmIHdlJ3JlIGNvbnRpbnVpbmcgdGhlIGxpbmUgc3RhcnRlZCBieSBhXG4gICAgLy8gcHJldmlvdXMgc2VjdGlvbikuIE9yLCB3ZSBtYXkgaGF2ZSBqdW1wZWQgYWhlYWQgc2V2ZXJhbCBsaW5lcyB0byBzdGFydCB0aGlzIHNlY3Rpb24uXG4gICAgY29uc3Qgb3V0ID0gZ2V0TGluZShtYXBwaW5ncywgbGluZUkpO1xuICAgIC8vIE9uIHRoZSAwdGggbG9vcCwgdGhlIHNlY3Rpb24ncyBjb2x1bW4gb2Zmc2V0IHNoaWZ0cyB1cyBmb3J3YXJkLiBPbiBhbGwgb3RoZXIgbGluZXMgKHNpbmNlIHRoZVxuICAgIC8vIG1hcCBjYW4gYmUgbXVsdGlwbGUgbGluZXMpLCBpdCBkb2Vzbid0LlxuICAgIGNvbnN0IGNPZmZzZXQgPSBpID09PSAwID8gY29sdW1uT2Zmc2V0IDogMDtcblxuICAgIGNvbnN0IGxpbmUgPSBkZWNvZGVkW2ldO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgbGluZS5sZW5ndGg7IGorKykge1xuICAgICAgY29uc3Qgc2VnID0gbGluZVtqXTtcbiAgICAgIGNvbnN0IGNvbHVtbiA9IGNPZmZzZXQgKyBzZWdbQ09MVU1OXTtcblxuICAgICAgLy8gSWYgdGhpcyBzZWdtZW50IHN0ZXBzIGludG8gdGhlIGNvbHVtbiByYW5nZSB0aGF0IHRoZSBuZXh0IHNlY3Rpb24ncyBtYXAgY29udHJvbHMsIHdlIG5lZWRcbiAgICAgIC8vIHRvIHN0b3AgZWFybHkuXG4gICAgICBpZiAobGluZUkgPT09IHN0b3BMaW5lICYmIGNvbHVtbiA+PSBzdG9wQ29sdW1uKSByZXR1cm47XG5cbiAgICAgIGlmIChzZWcubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIG91dC5wdXNoKFtjb2x1bW5dKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNvdXJjZXNJbmRleCA9IHNvdXJjZXNPZmZzZXQgKyBzZWdbU09VUkNFU19JTkRFWF07XG4gICAgICBjb25zdCBzb3VyY2VMaW5lID0gc2VnW1NPVVJDRV9MSU5FXTtcbiAgICAgIGNvbnN0IHNvdXJjZUNvbHVtbiA9IHNlZ1tTT1VSQ0VfQ09MVU1OXTtcbiAgICAgIG91dC5wdXNoKFxuICAgICAgICBzZWcubGVuZ3RoID09PSA0XG4gICAgICAgICAgPyBbY29sdW1uLCBzb3VyY2VzSW5kZXgsIHNvdXJjZUxpbmUsIHNvdXJjZUNvbHVtbl1cbiAgICAgICAgICA6IFtjb2x1bW4sIHNvdXJjZXNJbmRleCwgc291cmNlTGluZSwgc291cmNlQ29sdW1uLCBuYW1lc09mZnNldCArIHNlZ1tOQU1FU19JTkRFWF1dLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXBwZW5kPFQ+KGFycjogVFtdLCBvdGhlcjogVFtdKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgb3RoZXIubGVuZ3RoOyBpKyspIGFyci5wdXNoKG90aGVyW2ldKTtcbn1cblxuZnVuY3Rpb24gZ2V0TGluZTxUPihhcnI6IFRbXVtdLCBpbmRleDogbnVtYmVyKTogVFtdIHtcbiAgZm9yIChsZXQgaSA9IGFyci5sZW5ndGg7IGkgPD0gaW5kZXg7IGkrKykgYXJyW2ldID0gW107XG4gIHJldHVybiBhcnJbaW5kZXhdO1xufVxuIiwgImltcG9ydCB7IGVuY29kZSwgZGVjb2RlIH0gZnJvbSAnQGpyaWRnZXdlbGwvc291cmNlbWFwLWNvZGVjJztcblxuaW1wb3J0IHJlc29sdmUgZnJvbSAnLi9yZXNvbHZlJztcbmltcG9ydCBzdHJpcEZpbGVuYW1lIGZyb20gJy4vc3RyaXAtZmlsZW5hbWUnO1xuaW1wb3J0IG1heWJlU29ydCBmcm9tICcuL3NvcnQnO1xuaW1wb3J0IGJ1aWxkQnlTb3VyY2VzIGZyb20gJy4vYnktc291cmNlJztcbmltcG9ydCB7XG4gIG1lbW9pemVkU3RhdGUsXG4gIG1lbW9pemVkQmluYXJ5U2VhcmNoLFxuICB1cHBlckJvdW5kLFxuICBsb3dlckJvdW5kLFxuICBmb3VuZCBhcyBic0ZvdW5kLFxufSBmcm9tICcuL2JpbmFyeS1zZWFyY2gnO1xuaW1wb3J0IHtcbiAgQ09MVU1OLFxuICBTT1VSQ0VTX0lOREVYLFxuICBTT1VSQ0VfTElORSxcbiAgU09VUkNFX0NPTFVNTixcbiAgTkFNRVNfSU5ERVgsXG4gIFJFVl9HRU5FUkFURURfTElORSxcbiAgUkVWX0dFTkVSQVRFRF9DT0xVTU4sXG59IGZyb20gJy4vc291cmNlbWFwLXNlZ21lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IFNvdXJjZU1hcFNlZ21lbnQsIFJldmVyc2VTZWdtZW50IH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5pbXBvcnQgdHlwZSB7XG4gIFNvdXJjZU1hcFYzLFxuICBEZWNvZGVkU291cmNlTWFwLFxuICBFbmNvZGVkU291cmNlTWFwLFxuICBJbnZhbGlkT3JpZ2luYWxNYXBwaW5nLFxuICBPcmlnaW5hbE1hcHBpbmcsXG4gIEludmFsaWRHZW5lcmF0ZWRNYXBwaW5nLFxuICBHZW5lcmF0ZWRNYXBwaW5nLFxuICBTb3VyY2VNYXBJbnB1dCxcbiAgTmVlZGxlLFxuICBTb3VyY2VOZWVkbGUsXG4gIFNvdXJjZU1hcCxcbiAgRWFjaE1hcHBpbmcsXG4gIEJpYXMsXG4gIFhJbnB1dCxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFNvdXJjZSB9IGZyb20gJy4vYnktc291cmNlJztcbmltcG9ydCB0eXBlIHsgTWVtb1N0YXRlIH0gZnJvbSAnLi9iaW5hcnktc2VhcmNoJztcblxuZXhwb3J0IHR5cGUgeyBTb3VyY2VNYXBTZWdtZW50IH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5leHBvcnQgdHlwZSB7XG4gIFNvdXJjZU1hcCxcbiAgRGVjb2RlZFNvdXJjZU1hcCxcbiAgRW5jb2RlZFNvdXJjZU1hcCxcbiAgU2VjdGlvbixcbiAgU2VjdGlvbmVkU291cmNlTWFwLFxuICBTb3VyY2VNYXBWMyxcbiAgQmlhcyxcbiAgRWFjaE1hcHBpbmcsXG4gIEdlbmVyYXRlZE1hcHBpbmcsXG4gIEludmFsaWRHZW5lcmF0ZWRNYXBwaW5nLFxuICBJbnZhbGlkT3JpZ2luYWxNYXBwaW5nLFxuICBOZWVkbGUsXG4gIE9yaWdpbmFsTWFwcGluZyxcbiAgT3JpZ2luYWxNYXBwaW5nIGFzIE1hcHBpbmcsXG4gIFNlY3Rpb25lZFNvdXJjZU1hcElucHV0LFxuICBTb3VyY2VNYXBJbnB1dCxcbiAgU291cmNlTmVlZGxlLFxuICBYSW5wdXQsXG4gIEVuY29kZWRTb3VyY2VNYXBYSW5wdXQsXG4gIERlY29kZWRTb3VyY2VNYXBYSW5wdXQsXG4gIFNlY3Rpb25lZFNvdXJjZU1hcFhJbnB1dCxcbiAgU2VjdGlvblhJbnB1dCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBQdWJsaWNNYXAge1xuICBfZW5jb2RlZDogVHJhY2VNYXBbJ19lbmNvZGVkJ107XG4gIF9kZWNvZGVkOiBUcmFjZU1hcFsnX2RlY29kZWQnXTtcbiAgX2RlY29kZWRNZW1vOiBUcmFjZU1hcFsnX2RlY29kZWRNZW1vJ107XG4gIF9ieVNvdXJjZXM6IFRyYWNlTWFwWydfYnlTb3VyY2VzJ107XG4gIF9ieVNvdXJjZU1lbW9zOiBUcmFjZU1hcFsnX2J5U291cmNlTWVtb3MnXTtcbn1cblxuY29uc3QgTElORV9HVFJfWkVSTyA9ICdgbGluZWAgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCAobGluZXMgc3RhcnQgYXQgbGluZSAxKSc7XG5jb25zdCBDT0xfR1RSX0VRX1pFUk8gPSAnYGNvbHVtbmAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCAoY29sdW1ucyBzdGFydCBhdCBjb2x1bW4gMCknO1xuXG5leHBvcnQgY29uc3QgTEVBU1RfVVBQRVJfQk9VTkQgPSAtMTtcbmV4cG9ydCBjb25zdCBHUkVBVEVTVF9MT1dFUl9CT1VORCA9IDE7XG5cbmV4cG9ydCB7IEFueU1hcCB9IGZyb20gJy4vYW55LW1hcCc7XG5cbmV4cG9ydCBjbGFzcyBUcmFjZU1hcCBpbXBsZW1lbnRzIFNvdXJjZU1hcCB7XG4gIGRlY2xhcmUgdmVyc2lvbjogU291cmNlTWFwVjNbJ3ZlcnNpb24nXTtcbiAgZGVjbGFyZSBmaWxlOiBTb3VyY2VNYXBWM1snZmlsZSddO1xuICBkZWNsYXJlIG5hbWVzOiBTb3VyY2VNYXBWM1snbmFtZXMnXTtcbiAgZGVjbGFyZSBzb3VyY2VSb290OiBTb3VyY2VNYXBWM1snc291cmNlUm9vdCddO1xuICBkZWNsYXJlIHNvdXJjZXM6IFNvdXJjZU1hcFYzWydzb3VyY2VzJ107XG4gIGRlY2xhcmUgc291cmNlc0NvbnRlbnQ6IFNvdXJjZU1hcFYzWydzb3VyY2VzQ29udGVudCddO1xuICBkZWNsYXJlIGlnbm9yZUxpc3Q6IFNvdXJjZU1hcFYzWydpZ25vcmVMaXN0J107XG5cbiAgZGVjbGFyZSByZXNvbHZlZFNvdXJjZXM6IHN0cmluZ1tdO1xuICBwcml2YXRlIGRlY2xhcmUgX2VuY29kZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGRlY2xhcmUgX2RlY29kZWQ6IFNvdXJjZU1hcFNlZ21lbnRbXVtdIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGRlY2xhcmUgX2RlY29kZWRNZW1vOiBNZW1vU3RhdGU7XG5cbiAgcHJpdmF0ZSBkZWNsYXJlIF9ieVNvdXJjZXM6IFNvdXJjZVtdIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGRlY2xhcmUgX2J5U291cmNlTWVtb3M6IE1lbW9TdGF0ZVtdIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKG1hcDogU291cmNlTWFwSW5wdXQsIG1hcFVybD86IHN0cmluZyB8IG51bGwpIHtcbiAgICBjb25zdCBpc1N0cmluZyA9IHR5cGVvZiBtYXAgPT09ICdzdHJpbmcnO1xuXG4gICAgaWYgKCFpc1N0cmluZyAmJiAobWFwIGFzIHVua25vd24gYXMgeyBfZGVjb2RlZE1lbW86IGFueSB9KS5fZGVjb2RlZE1lbW8pIHJldHVybiBtYXAgYXMgVHJhY2VNYXA7XG5cbiAgICBjb25zdCBwYXJzZWQgPSAoaXNTdHJpbmcgPyBKU09OLnBhcnNlKG1hcCkgOiBtYXApIGFzIERlY29kZWRTb3VyY2VNYXAgfCBFbmNvZGVkU291cmNlTWFwO1xuXG4gICAgY29uc3QgeyB2ZXJzaW9uLCBmaWxlLCBuYW1lcywgc291cmNlUm9vdCwgc291cmNlcywgc291cmNlc0NvbnRlbnQgfSA9IHBhcnNlZDtcbiAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHRoaXMuZmlsZSA9IGZpbGU7XG4gICAgdGhpcy5uYW1lcyA9IG5hbWVzIHx8IFtdO1xuICAgIHRoaXMuc291cmNlUm9vdCA9IHNvdXJjZVJvb3Q7XG4gICAgdGhpcy5zb3VyY2VzID0gc291cmNlcztcbiAgICB0aGlzLnNvdXJjZXNDb250ZW50ID0gc291cmNlc0NvbnRlbnQ7XG4gICAgdGhpcy5pZ25vcmVMaXN0ID0gcGFyc2VkLmlnbm9yZUxpc3QgfHwgKHBhcnNlZCBhcyBYSW5wdXQpLnhfZ29vZ2xlX2lnbm9yZUxpc3QgfHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgZnJvbSA9IHJlc29sdmUoc291cmNlUm9vdCB8fCAnJywgc3RyaXBGaWxlbmFtZShtYXBVcmwpKTtcbiAgICB0aGlzLnJlc29sdmVkU291cmNlcyA9IHNvdXJjZXMubWFwKChzKSA9PiByZXNvbHZlKHMgfHwgJycsIGZyb20pKTtcblxuICAgIGNvbnN0IHsgbWFwcGluZ3MgfSA9IHBhcnNlZDtcbiAgICBpZiAodHlwZW9mIG1hcHBpbmdzID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5fZW5jb2RlZCA9IG1hcHBpbmdzO1xuICAgICAgdGhpcy5fZGVjb2RlZCA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZW5jb2RlZCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX2RlY29kZWQgPSBtYXliZVNvcnQobWFwcGluZ3MsIGlzU3RyaW5nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWNvZGVkTWVtbyA9IG1lbW9pemVkU3RhdGUoKTtcbiAgICB0aGlzLl9ieVNvdXJjZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fYnlTb3VyY2VNZW1vcyA9IHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIFR5cGVzY3JpcHQgZG9lc24ndCBhbGxvdyBmcmllbmQgYWNjZXNzIHRvIHByaXZhdGUgZmllbGRzLCBzbyB0aGlzIGp1c3QgY2FzdHMgdGhlIG1hcCBpbnRvIGEgdHlwZVxuICogd2l0aCBwdWJsaWMgYWNjZXNzIG1vZGlmaWVycy5cbiAqL1xuZnVuY3Rpb24gY2FzdChtYXA6IHVua25vd24pOiBQdWJsaWNNYXAge1xuICByZXR1cm4gbWFwIGFzIGFueTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBlbmNvZGVkIChWTFEgc3RyaW5nKSBmb3JtIG9mIHRoZSBTb3VyY2VNYXAncyBtYXBwaW5ncyBmaWVsZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZWRNYXBwaW5ncyhtYXA6IFRyYWNlTWFwKTogRW5jb2RlZFNvdXJjZU1hcFsnbWFwcGluZ3MnXSB7XG4gIHJldHVybiAoY2FzdChtYXApLl9lbmNvZGVkID8/PSBlbmNvZGUoY2FzdChtYXApLl9kZWNvZGVkISkpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRlY29kZWQgKGFycmF5IG9mIGxpbmVzIG9mIHNlZ21lbnRzKSBmb3JtIG9mIHRoZSBTb3VyY2VNYXAncyBtYXBwaW5ncyBmaWVsZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZWRNYXBwaW5ncyhtYXA6IFRyYWNlTWFwKTogUmVhZG9ubHk8RGVjb2RlZFNvdXJjZU1hcFsnbWFwcGluZ3MnXT4ge1xuICByZXR1cm4gKGNhc3QobWFwKS5fZGVjb2RlZCB8fD0gZGVjb2RlKGNhc3QobWFwKS5fZW5jb2RlZCEpKTtcbn1cblxuLyoqXG4gKiBBIGxvdy1sZXZlbCBBUEkgdG8gZmluZCB0aGUgc2VnbWVudCBhc3NvY2lhdGVkIHdpdGggYSBnZW5lcmF0ZWQgbGluZS9jb2x1bW4gKHRoaW5rLCBmcm9tIGFcbiAqIHN0YWNrIHRyYWNlKS4gTGluZSBhbmQgY29sdW1uIGhlcmUgYXJlIDAtYmFzZWQsIHVubGlrZSBgb3JpZ2luYWxQb3NpdGlvbkZvcmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFjZVNlZ21lbnQoXG4gIG1hcDogVHJhY2VNYXAsXG4gIGxpbmU6IG51bWJlcixcbiAgY29sdW1uOiBudW1iZXIsXG4pOiBSZWFkb25seTxTb3VyY2VNYXBTZWdtZW50PiB8IG51bGwge1xuICBjb25zdCBkZWNvZGVkID0gZGVjb2RlZE1hcHBpbmdzKG1hcCk7XG5cbiAgLy8gSXQncyBjb21tb24gZm9yIHBhcmVudCBzb3VyY2UgbWFwcyB0byBoYXZlIHBvaW50ZXJzIHRvIGxpbmVzIHRoYXQgaGF2ZSBub1xuICAvLyBtYXBwaW5nIChsaWtlIGEgXCIvLyMgc291cmNlTWFwcGluZ1VSTD1cIikgYXQgdGhlIGVuZCBvZiB0aGUgY2hpbGQgZmlsZS5cbiAgaWYgKGxpbmUgPj0gZGVjb2RlZC5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHNlZ21lbnRzID0gZGVjb2RlZFtsaW5lXTtcbiAgY29uc3QgaW5kZXggPSB0cmFjZVNlZ21lbnRJbnRlcm5hbChcbiAgICBzZWdtZW50cyxcbiAgICBjYXN0KG1hcCkuX2RlY29kZWRNZW1vLFxuICAgIGxpbmUsXG4gICAgY29sdW1uLFxuICAgIEdSRUFURVNUX0xPV0VSX0JPVU5ELFxuICApO1xuXG4gIHJldHVybiBpbmRleCA9PT0gLTEgPyBudWxsIDogc2VnbWVudHNbaW5kZXhdO1xufVxuXG4vKipcbiAqIEEgaGlnaGVyLWxldmVsIEFQSSB0byBmaW5kIHRoZSBzb3VyY2UvbGluZS9jb2x1bW4gYXNzb2NpYXRlZCB3aXRoIGEgZ2VuZXJhdGVkIGxpbmUvY29sdW1uXG4gKiAodGhpbmssIGZyb20gYSBzdGFjayB0cmFjZSkuIExpbmUgaXMgMS1iYXNlZCwgYnV0IGNvbHVtbiBpcyAwLWJhc2VkLCBkdWUgdG8gbGVnYWN5IGJlaGF2aW9yIGluXG4gKiBgc291cmNlLW1hcGAgbGlicmFyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9yaWdpbmFsUG9zaXRpb25Gb3IoXG4gIG1hcDogVHJhY2VNYXAsXG4gIG5lZWRsZTogTmVlZGxlLFxuKTogT3JpZ2luYWxNYXBwaW5nIHwgSW52YWxpZE9yaWdpbmFsTWFwcGluZyB7XG4gIGxldCB7IGxpbmUsIGNvbHVtbiwgYmlhcyB9ID0gbmVlZGxlO1xuICBsaW5lLS07XG4gIGlmIChsaW5lIDwgMCkgdGhyb3cgbmV3IEVycm9yKExJTkVfR1RSX1pFUk8pO1xuICBpZiAoY29sdW1uIDwgMCkgdGhyb3cgbmV3IEVycm9yKENPTF9HVFJfRVFfWkVSTyk7XG5cbiAgY29uc3QgZGVjb2RlZCA9IGRlY29kZWRNYXBwaW5ncyhtYXApO1xuXG4gIC8vIEl0J3MgY29tbW9uIGZvciBwYXJlbnQgc291cmNlIG1hcHMgdG8gaGF2ZSBwb2ludGVycyB0byBsaW5lcyB0aGF0IGhhdmUgbm9cbiAgLy8gbWFwcGluZyAobGlrZSBhIFwiLy8jIHNvdXJjZU1hcHBpbmdVUkw9XCIpIGF0IHRoZSBlbmQgb2YgdGhlIGNoaWxkIGZpbGUuXG4gIGlmIChsaW5lID49IGRlY29kZWQubGVuZ3RoKSByZXR1cm4gT01hcHBpbmcobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XG5cbiAgY29uc3Qgc2VnbWVudHMgPSBkZWNvZGVkW2xpbmVdO1xuICBjb25zdCBpbmRleCA9IHRyYWNlU2VnbWVudEludGVybmFsKFxuICAgIHNlZ21lbnRzLFxuICAgIGNhc3QobWFwKS5fZGVjb2RlZE1lbW8sXG4gICAgbGluZSxcbiAgICBjb2x1bW4sXG4gICAgYmlhcyB8fCBHUkVBVEVTVF9MT1dFUl9CT1VORCxcbiAgKTtcblxuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gT01hcHBpbmcobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XG5cbiAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzW2luZGV4XTtcbiAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAxKSByZXR1cm4gT01hcHBpbmcobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XG5cbiAgY29uc3QgeyBuYW1lcywgcmVzb2x2ZWRTb3VyY2VzIH0gPSBtYXA7XG4gIHJldHVybiBPTWFwcGluZyhcbiAgICByZXNvbHZlZFNvdXJjZXNbc2VnbWVudFtTT1VSQ0VTX0lOREVYXV0sXG4gICAgc2VnbWVudFtTT1VSQ0VfTElORV0gKyAxLFxuICAgIHNlZ21lbnRbU09VUkNFX0NPTFVNTl0sXG4gICAgc2VnbWVudC5sZW5ndGggPT09IDUgPyBuYW1lc1tzZWdtZW50W05BTUVTX0lOREVYXV0gOiBudWxsLFxuICApO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBnZW5lcmF0ZWQgbGluZS9jb2x1bW4gcG9zaXRpb24gb2YgdGhlIHByb3ZpZGVkIHNvdXJjZS9saW5lL2NvbHVtbiBzb3VyY2UgcG9zaXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZWRQb3NpdGlvbkZvcihcbiAgbWFwOiBUcmFjZU1hcCxcbiAgbmVlZGxlOiBTb3VyY2VOZWVkbGUsXG4pOiBHZW5lcmF0ZWRNYXBwaW5nIHwgSW52YWxpZEdlbmVyYXRlZE1hcHBpbmcge1xuICBjb25zdCB7IHNvdXJjZSwgbGluZSwgY29sdW1uLCBiaWFzIH0gPSBuZWVkbGU7XG4gIHJldHVybiBnZW5lcmF0ZWRQb3NpdGlvbihtYXAsIHNvdXJjZSwgbGluZSwgY29sdW1uLCBiaWFzIHx8IEdSRUFURVNUX0xPV0VSX0JPVU5ELCBmYWxzZSk7XG59XG5cbi8qKlxuICogRmluZHMgYWxsIGdlbmVyYXRlZCBsaW5lL2NvbHVtbiBwb3NpdGlvbnMgb2YgdGhlIHByb3ZpZGVkIHNvdXJjZS9saW5lL2NvbHVtbiBzb3VyY2UgcG9zaXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhbGxHZW5lcmF0ZWRQb3NpdGlvbnNGb3IobWFwOiBUcmFjZU1hcCwgbmVlZGxlOiBTb3VyY2VOZWVkbGUpOiBHZW5lcmF0ZWRNYXBwaW5nW10ge1xuICBjb25zdCB7IHNvdXJjZSwgbGluZSwgY29sdW1uLCBiaWFzIH0gPSBuZWVkbGU7XG4gIC8vIFNvdXJjZU1hcENvbnN1bWVyIHVzZXMgTEVBU1RfVVBQRVJfQk9VTkQgZm9yIHNvbWUgcmVhc29uLCBzbyB3ZSBmb2xsb3cgc3VpdC5cbiAgcmV0dXJuIGdlbmVyYXRlZFBvc2l0aW9uKG1hcCwgc291cmNlLCBsaW5lLCBjb2x1bW4sIGJpYXMgfHwgTEVBU1RfVVBQRVJfQk9VTkQsIHRydWUpO1xufVxuXG4vKipcbiAqIEl0ZXJhdGVzIGVhY2ggbWFwcGluZyBpbiBnZW5lcmF0ZWQgcG9zaXRpb24gb3JkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlYWNoTWFwcGluZyhtYXA6IFRyYWNlTWFwLCBjYjogKG1hcHBpbmc6IEVhY2hNYXBwaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVkTWFwcGluZ3MobWFwKTtcbiAgY29uc3QgeyBuYW1lcywgcmVzb2x2ZWRTb3VyY2VzIH0gPSBtYXA7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWNvZGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbGluZSA9IGRlY29kZWRbaV07XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBsaW5lLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBzZWcgPSBsaW5lW2pdO1xuXG4gICAgICBjb25zdCBnZW5lcmF0ZWRMaW5lID0gaSArIDE7XG4gICAgICBjb25zdCBnZW5lcmF0ZWRDb2x1bW4gPSBzZWdbMF07XG4gICAgICBsZXQgc291cmNlID0gbnVsbDtcbiAgICAgIGxldCBvcmlnaW5hbExpbmUgPSBudWxsO1xuICAgICAgbGV0IG9yaWdpbmFsQ29sdW1uID0gbnVsbDtcbiAgICAgIGxldCBuYW1lID0gbnVsbDtcbiAgICAgIGlmIChzZWcubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIHNvdXJjZSA9IHJlc29sdmVkU291cmNlc1tzZWdbMV1dO1xuICAgICAgICBvcmlnaW5hbExpbmUgPSBzZWdbMl0gKyAxO1xuICAgICAgICBvcmlnaW5hbENvbHVtbiA9IHNlZ1szXTtcbiAgICAgIH1cbiAgICAgIGlmIChzZWcubGVuZ3RoID09PSA1KSBuYW1lID0gbmFtZXNbc2VnWzRdXTtcblxuICAgICAgY2Ioe1xuICAgICAgICBnZW5lcmF0ZWRMaW5lLFxuICAgICAgICBnZW5lcmF0ZWRDb2x1bW4sXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgb3JpZ2luYWxMaW5lLFxuICAgICAgICBvcmlnaW5hbENvbHVtbixcbiAgICAgICAgbmFtZSxcbiAgICAgIH0gYXMgRWFjaE1hcHBpbmcpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzb3VyY2VJbmRleChtYXA6IFRyYWNlTWFwLCBzb3VyY2U6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IHsgc291cmNlcywgcmVzb2x2ZWRTb3VyY2VzIH0gPSBtYXA7XG4gIGxldCBpbmRleCA9IHNvdXJjZXMuaW5kZXhPZihzb3VyY2UpO1xuICBpZiAoaW5kZXggPT09IC0xKSBpbmRleCA9IHJlc29sdmVkU291cmNlcy5pbmRleE9mKHNvdXJjZSk7XG4gIHJldHVybiBpbmRleDtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHNvdXJjZSBjb250ZW50IGZvciBhIHBhcnRpY3VsYXIgc291cmNlLCBpZiBpdHMgZm91bmQuIFJldHVybnMgbnVsbCBpZiBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzb3VyY2VDb250ZW50Rm9yKG1hcDogVHJhY2VNYXAsIHNvdXJjZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHsgc291cmNlc0NvbnRlbnQgfSA9IG1hcDtcbiAgaWYgKHNvdXJjZXNDb250ZW50ID09IG51bGwpIHJldHVybiBudWxsO1xuICBjb25zdCBpbmRleCA9IHNvdXJjZUluZGV4KG1hcCwgc291cmNlKTtcbiAgcmV0dXJuIGluZGV4ID09PSAtMSA/IG51bGwgOiBzb3VyY2VzQ29udGVudFtpbmRleF07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiB0aGUgc291cmNlIGlzIG1hcmtlZCB0byBpZ25vcmUgYnkgdGhlIHNvdXJjZSBtYXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0lnbm9yZWQobWFwOiBUcmFjZU1hcCwgc291cmNlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgeyBpZ25vcmVMaXN0IH0gPSBtYXA7XG4gIGlmIChpZ25vcmVMaXN0ID09IG51bGwpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgaW5kZXggPSBzb3VyY2VJbmRleChtYXAsIHNvdXJjZSk7XG4gIHJldHVybiBpbmRleCA9PT0gLTEgPyBmYWxzZSA6IGlnbm9yZUxpc3QuaW5jbHVkZXMoaW5kZXgpO1xufVxuXG4vKipcbiAqIEEgaGVscGVyIHRoYXQgc2tpcHMgc29ydGluZyBvZiB0aGUgaW5wdXQgbWFwJ3MgbWFwcGluZ3MgYXJyYXksIHdoaWNoIGNhbiBiZSBleHBlbnNpdmUgZm9yIGxhcmdlclxuICogbWFwcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXNvcnRlZERlY29kZWRNYXAobWFwOiBEZWNvZGVkU291cmNlTWFwLCBtYXBVcmw/OiBzdHJpbmcpOiBUcmFjZU1hcCB7XG4gIGNvbnN0IHRyYWNlciA9IG5ldyBUcmFjZU1hcChjbG9uZShtYXAsIFtdKSwgbWFwVXJsKTtcbiAgY2FzdCh0cmFjZXIpLl9kZWNvZGVkID0gbWFwLm1hcHBpbmdzO1xuICByZXR1cm4gdHJhY2VyO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBzb3VyY2VtYXAgb2JqZWN0ICh3aXRoIGRlY29kZWQgbWFwcGluZ3MpIHN1aXRhYmxlIGZvciBwYXNzaW5nIHRvIGEgbGlicmFyeSB0aGF0IGV4cGVjdHNcbiAqIGEgc291cmNlbWFwLCBvciB0byBKU09OLnN0cmluZ2lmeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZWRNYXAoXG4gIG1hcDogVHJhY2VNYXAsXG4pOiBPbWl0PERlY29kZWRTb3VyY2VNYXAsICdtYXBwaW5ncyc+ICYgeyBtYXBwaW5nczogcmVhZG9ubHkgU291cmNlTWFwU2VnbWVudFtdW10gfSB7XG4gIHJldHVybiBjbG9uZShtYXAsIGRlY29kZWRNYXBwaW5ncyhtYXApKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc291cmNlbWFwIG9iamVjdCAod2l0aCBlbmNvZGVkIG1hcHBpbmdzKSBzdWl0YWJsZSBmb3IgcGFzc2luZyB0byBhIGxpYnJhcnkgdGhhdCBleHBlY3RzXG4gKiBhIHNvdXJjZW1hcCwgb3IgdG8gSlNPTi5zdHJpbmdpZnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVkTWFwKG1hcDogVHJhY2VNYXApOiBFbmNvZGVkU291cmNlTWFwIHtcbiAgcmV0dXJuIGNsb25lKG1hcCwgZW5jb2RlZE1hcHBpbmdzKG1hcCkpO1xufVxuXG5mdW5jdGlvbiBjbG9uZTxUIGV4dGVuZHMgc3RyaW5nIHwgcmVhZG9ubHkgU291cmNlTWFwU2VnbWVudFtdW10+KFxuICBtYXA6IFRyYWNlTWFwIHwgRGVjb2RlZFNvdXJjZU1hcCxcbiAgbWFwcGluZ3M6IFQsXG4pOiBUIGV4dGVuZHMgc3RyaW5nID8gRW5jb2RlZFNvdXJjZU1hcCA6IERlY29kZWRTb3VyY2VNYXAge1xuICByZXR1cm4ge1xuICAgIHZlcnNpb246IG1hcC52ZXJzaW9uLFxuICAgIGZpbGU6IG1hcC5maWxlLFxuICAgIG5hbWVzOiBtYXAubmFtZXMsXG4gICAgc291cmNlUm9vdDogbWFwLnNvdXJjZVJvb3QsXG4gICAgc291cmNlczogbWFwLnNvdXJjZXMsXG4gICAgc291cmNlc0NvbnRlbnQ6IG1hcC5zb3VyY2VzQ29udGVudCxcbiAgICBtYXBwaW5ncyxcbiAgICBpZ25vcmVMaXN0OiBtYXAuaWdub3JlTGlzdCB8fCAobWFwIGFzIFhJbnB1dCkueF9nb29nbGVfaWdub3JlTGlzdCxcbiAgfSBhcyBhbnk7XG59XG5cbmZ1bmN0aW9uIE9NYXBwaW5nKHNvdXJjZTogbnVsbCwgbGluZTogbnVsbCwgY29sdW1uOiBudWxsLCBuYW1lOiBudWxsKTogSW52YWxpZE9yaWdpbmFsTWFwcGluZztcbmZ1bmN0aW9uIE9NYXBwaW5nKFxuICBzb3VyY2U6IHN0cmluZyxcbiAgbGluZTogbnVtYmVyLFxuICBjb2x1bW46IG51bWJlcixcbiAgbmFtZTogc3RyaW5nIHwgbnVsbCxcbik6IE9yaWdpbmFsTWFwcGluZztcbmZ1bmN0aW9uIE9NYXBwaW5nKFxuICBzb3VyY2U6IHN0cmluZyB8IG51bGwsXG4gIGxpbmU6IG51bWJlciB8IG51bGwsXG4gIGNvbHVtbjogbnVtYmVyIHwgbnVsbCxcbiAgbmFtZTogc3RyaW5nIHwgbnVsbCxcbik6IE9yaWdpbmFsTWFwcGluZyB8IEludmFsaWRPcmlnaW5hbE1hcHBpbmcge1xuICByZXR1cm4geyBzb3VyY2UsIGxpbmUsIGNvbHVtbiwgbmFtZSB9IGFzIGFueTtcbn1cblxuZnVuY3Rpb24gR01hcHBpbmcobGluZTogbnVsbCwgY29sdW1uOiBudWxsKTogSW52YWxpZEdlbmVyYXRlZE1hcHBpbmc7XG5mdW5jdGlvbiBHTWFwcGluZyhsaW5lOiBudW1iZXIsIGNvbHVtbjogbnVtYmVyKTogR2VuZXJhdGVkTWFwcGluZztcbmZ1bmN0aW9uIEdNYXBwaW5nKFxuICBsaW5lOiBudW1iZXIgfCBudWxsLFxuICBjb2x1bW46IG51bWJlciB8IG51bGwsXG4pOiBHZW5lcmF0ZWRNYXBwaW5nIHwgSW52YWxpZEdlbmVyYXRlZE1hcHBpbmcge1xuICByZXR1cm4geyBsaW5lLCBjb2x1bW4gfSBhcyBhbnk7XG59XG5cbmZ1bmN0aW9uIHRyYWNlU2VnbWVudEludGVybmFsKFxuICBzZWdtZW50czogU291cmNlTWFwU2VnbWVudFtdLFxuICBtZW1vOiBNZW1vU3RhdGUsXG4gIGxpbmU6IG51bWJlcixcbiAgY29sdW1uOiBudW1iZXIsXG4gIGJpYXM6IEJpYXMsXG4pOiBudW1iZXI7XG5mdW5jdGlvbiB0cmFjZVNlZ21lbnRJbnRlcm5hbChcbiAgc2VnbWVudHM6IFJldmVyc2VTZWdtZW50W10sXG4gIG1lbW86IE1lbW9TdGF0ZSxcbiAgbGluZTogbnVtYmVyLFxuICBjb2x1bW46IG51bWJlcixcbiAgYmlhczogQmlhcyxcbik6IG51bWJlcjtcbmZ1bmN0aW9uIHRyYWNlU2VnbWVudEludGVybmFsKFxuICBzZWdtZW50czogU291cmNlTWFwU2VnbWVudFtdIHwgUmV2ZXJzZVNlZ21lbnRbXSxcbiAgbWVtbzogTWVtb1N0YXRlLFxuICBsaW5lOiBudW1iZXIsXG4gIGNvbHVtbjogbnVtYmVyLFxuICBiaWFzOiBCaWFzLFxuKTogbnVtYmVyIHtcbiAgbGV0IGluZGV4ID0gbWVtb2l6ZWRCaW5hcnlTZWFyY2goc2VnbWVudHMsIGNvbHVtbiwgbWVtbywgbGluZSk7XG4gIGlmIChic0ZvdW5kKSB7XG4gICAgaW5kZXggPSAoYmlhcyA9PT0gTEVBU1RfVVBQRVJfQk9VTkQgPyB1cHBlckJvdW5kIDogbG93ZXJCb3VuZCkoc2VnbWVudHMsIGNvbHVtbiwgaW5kZXgpO1xuICB9IGVsc2UgaWYgKGJpYXMgPT09IExFQVNUX1VQUEVSX0JPVU5EKSBpbmRleCsrO1xuXG4gIGlmIChpbmRleCA9PT0gLTEgfHwgaW5kZXggPT09IHNlZ21lbnRzLmxlbmd0aCkgcmV0dXJuIC0xO1xuICByZXR1cm4gaW5kZXg7XG59XG5cbmZ1bmN0aW9uIHNsaWNlR2VuZXJhdGVkUG9zaXRpb25zKFxuICBzZWdtZW50czogUmV2ZXJzZVNlZ21lbnRbXSxcbiAgbWVtbzogTWVtb1N0YXRlLFxuICBsaW5lOiBudW1iZXIsXG4gIGNvbHVtbjogbnVtYmVyLFxuICBiaWFzOiBCaWFzLFxuKTogR2VuZXJhdGVkTWFwcGluZ1tdIHtcbiAgbGV0IG1pbiA9IHRyYWNlU2VnbWVudEludGVybmFsKHNlZ21lbnRzLCBtZW1vLCBsaW5lLCBjb2x1bW4sIEdSRUFURVNUX0xPV0VSX0JPVU5EKTtcblxuICAvLyBXZSBpZ25vcmVkIHRoZSBiaWFzIHdoZW4gdHJhY2luZyB0aGUgc2VnbWVudCBzbyB0aGF0IHdlJ3JlIGd1YXJuYXRlZWQgdG8gZmluZCB0aGUgZmlyc3QgKGluXG4gIC8vIGluc2VydGlvbiBvcmRlcikgc2VnbWVudCB0aGF0IG1hdGNoZWQuIEV2ZW4gaWYgd2UgZGlkIHJlc3BlY3QgdGhlIGJpYXMgd2hlbiB0cmFjaW5nLCB3ZSB3b3VsZFxuICAvLyBzdGlsbCBuZWVkIHRvIGNhbGwgYGxvd2VyQm91bmQoKWAgdG8gZmluZCB0aGUgZmlyc3Qgc2VnbWVudCwgd2hpY2ggaXMgc2xvd2VyIHRoYW4ganVzdCBsb29raW5nXG4gIC8vIGZvciB0aGUgR1JFQVRFU1RfTE9XRVJfQk9VTkQgdG8gYmVnaW4gd2l0aC4gVGhlIG9ubHkgZGlmZmVyZW5jZSB0aGF0IG1hdHRlcnMgZm9yIHVzIGlzIHdoZW4gdGhlXG4gIC8vIGJpbmFyeSBzZWFyY2ggZGlkbid0IG1hdGNoLCBpbiB3aGljaCBjYXNlIEdSRUFURVNUX0xPV0VSX0JPVU5EIGp1c3QgbmVlZHMgdG8gaW5jcmVtZW50IHRvXG4gIC8vIG1hdGNoIExFQVNUX1VQUEVSX0JPVU5ELlxuICBpZiAoIWJzRm91bmQgJiYgYmlhcyA9PT0gTEVBU1RfVVBQRVJfQk9VTkQpIG1pbisrO1xuXG4gIGlmIChtaW4gPT09IC0xIHx8IG1pbiA9PT0gc2VnbWVudHMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgLy8gV2UgbWF5IGhhdmUgZm91bmQgdGhlIHNlZ21lbnQgdGhhdCBzdGFydGVkIGF0IGFuIGVhcmxpZXIgY29sdW1uLiBJZiB0aGlzIGlzIHRoZSBjYXNlLCB0aGVuIHdlXG4gIC8vIG5lZWQgdG8gc2xpY2UgYWxsIGdlbmVyYXRlZCBzZWdtZW50cyB0aGF0IG1hdGNoIF90aGF0XyBjb2x1bW4sIGJlY2F1c2UgYWxsIHN1Y2ggc2VnbWVudHMgc3BhblxuICAvLyB0byBvdXIgZGVzaXJlZCBjb2x1bW4uXG4gIGNvbnN0IG1hdGNoZWRDb2x1bW4gPSBic0ZvdW5kID8gY29sdW1uIDogc2VnbWVudHNbbWluXVtDT0xVTU5dO1xuXG4gIC8vIFRoZSBiaW5hcnkgc2VhcmNoIGlzIG5vdCBndWFyYW50ZWVkIHRvIGZpbmQgdGhlIGxvd2VyIGJvdW5kIHdoZW4gYSBtYXRjaCB3YXNuJ3QgZm91bmQuXG4gIGlmICghYnNGb3VuZCkgbWluID0gbG93ZXJCb3VuZChzZWdtZW50cywgbWF0Y2hlZENvbHVtbiwgbWluKTtcbiAgY29uc3QgbWF4ID0gdXBwZXJCb3VuZChzZWdtZW50cywgbWF0Y2hlZENvbHVtbiwgbWluKTtcblxuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgZm9yICg7IG1pbiA8PSBtYXg7IG1pbisrKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzW21pbl07XG4gICAgcmVzdWx0LnB1c2goR01hcHBpbmcoc2VnbWVudFtSRVZfR0VORVJBVEVEX0xJTkVdICsgMSwgc2VnbWVudFtSRVZfR0VORVJBVEVEX0NPTFVNTl0pKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZWRQb3NpdGlvbihcbiAgbWFwOiBUcmFjZU1hcCxcbiAgc291cmNlOiBzdHJpbmcsXG4gIGxpbmU6IG51bWJlcixcbiAgY29sdW1uOiBudW1iZXIsXG4gIGJpYXM6IEJpYXMsXG4gIGFsbDogZmFsc2UsXG4pOiBHZW5lcmF0ZWRNYXBwaW5nIHwgSW52YWxpZEdlbmVyYXRlZE1hcHBpbmc7XG5mdW5jdGlvbiBnZW5lcmF0ZWRQb3NpdGlvbihcbiAgbWFwOiBUcmFjZU1hcCxcbiAgc291cmNlOiBzdHJpbmcsXG4gIGxpbmU6IG51bWJlcixcbiAgY29sdW1uOiBudW1iZXIsXG4gIGJpYXM6IEJpYXMsXG4gIGFsbDogdHJ1ZSxcbik6IEdlbmVyYXRlZE1hcHBpbmdbXTtcbmZ1bmN0aW9uIGdlbmVyYXRlZFBvc2l0aW9uKFxuICBtYXA6IFRyYWNlTWFwLFxuICBzb3VyY2U6IHN0cmluZyxcbiAgbGluZTogbnVtYmVyLFxuICBjb2x1bW46IG51bWJlcixcbiAgYmlhczogQmlhcyxcbiAgYWxsOiBib29sZWFuLFxuKTogR2VuZXJhdGVkTWFwcGluZyB8IEludmFsaWRHZW5lcmF0ZWRNYXBwaW5nIHwgR2VuZXJhdGVkTWFwcGluZ1tdIHtcbiAgbGluZS0tO1xuICBpZiAobGluZSA8IDApIHRocm93IG5ldyBFcnJvcihMSU5FX0dUUl9aRVJPKTtcbiAgaWYgKGNvbHVtbiA8IDApIHRocm93IG5ldyBFcnJvcihDT0xfR1RSX0VRX1pFUk8pO1xuXG4gIGNvbnN0IHsgc291cmNlcywgcmVzb2x2ZWRTb3VyY2VzIH0gPSBtYXA7XG4gIGxldCBzb3VyY2VJbmRleCA9IHNvdXJjZXMuaW5kZXhPZihzb3VyY2UpO1xuICBpZiAoc291cmNlSW5kZXggPT09IC0xKSBzb3VyY2VJbmRleCA9IHJlc29sdmVkU291cmNlcy5pbmRleE9mKHNvdXJjZSk7XG4gIGlmIChzb3VyY2VJbmRleCA9PT0gLTEpIHJldHVybiBhbGwgPyBbXSA6IEdNYXBwaW5nKG51bGwsIG51bGwpO1xuXG4gIGNvbnN0IGdlbmVyYXRlZCA9IChjYXN0KG1hcCkuX2J5U291cmNlcyB8fD0gYnVpbGRCeVNvdXJjZXMoXG4gICAgZGVjb2RlZE1hcHBpbmdzKG1hcCksXG4gICAgKGNhc3QobWFwKS5fYnlTb3VyY2VNZW1vcyA9IHNvdXJjZXMubWFwKG1lbW9pemVkU3RhdGUpKSxcbiAgKSk7XG5cbiAgY29uc3Qgc2VnbWVudHMgPSBnZW5lcmF0ZWRbc291cmNlSW5kZXhdW2xpbmVdO1xuICBpZiAoc2VnbWVudHMgPT0gbnVsbCkgcmV0dXJuIGFsbCA/IFtdIDogR01hcHBpbmcobnVsbCwgbnVsbCk7XG5cbiAgY29uc3QgbWVtbyA9IGNhc3QobWFwKS5fYnlTb3VyY2VNZW1vcyFbc291cmNlSW5kZXhdO1xuXG4gIGlmIChhbGwpIHJldHVybiBzbGljZUdlbmVyYXRlZFBvc2l0aW9ucyhzZWdtZW50cywgbWVtbywgbGluZSwgY29sdW1uLCBiaWFzKTtcblxuICBjb25zdCBpbmRleCA9IHRyYWNlU2VnbWVudEludGVybmFsKHNlZ21lbnRzLCBtZW1vLCBsaW5lLCBjb2x1bW4sIGJpYXMpO1xuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gR01hcHBpbmcobnVsbCwgbnVsbCk7XG5cbiAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzW2luZGV4XTtcbiAgcmV0dXJuIEdNYXBwaW5nKHNlZ21lbnRbUkVWX0dFTkVSQVRFRF9MSU5FXSArIDEsIHNlZ21lbnRbUkVWX0dFTkVSQVRFRF9DT0xVTU5dKTtcbn1cbiIsICJ0eXBlIEdlbmVyYXRlZENvbHVtbiA9IG51bWJlcjtcbnR5cGUgU291cmNlc0luZGV4ID0gbnVtYmVyO1xudHlwZSBTb3VyY2VMaW5lID0gbnVtYmVyO1xudHlwZSBTb3VyY2VDb2x1bW4gPSBudW1iZXI7XG50eXBlIE5hbWVzSW5kZXggPSBudW1iZXI7XG5cbmV4cG9ydCB0eXBlIFNvdXJjZU1hcFNlZ21lbnQgPVxuICB8IFtHZW5lcmF0ZWRDb2x1bW5dXG4gIHwgW0dlbmVyYXRlZENvbHVtbiwgU291cmNlc0luZGV4LCBTb3VyY2VMaW5lLCBTb3VyY2VDb2x1bW5dXG4gIHwgW0dlbmVyYXRlZENvbHVtbiwgU291cmNlc0luZGV4LCBTb3VyY2VMaW5lLCBTb3VyY2VDb2x1bW4sIE5hbWVzSW5kZXhdO1xuXG5leHBvcnQgY29uc3QgQ09MVU1OID0gMDtcbmV4cG9ydCBjb25zdCBTT1VSQ0VTX0lOREVYID0gMTtcbmV4cG9ydCBjb25zdCBTT1VSQ0VfTElORSA9IDI7XG5leHBvcnQgY29uc3QgU09VUkNFX0NPTFVNTiA9IDM7XG5leHBvcnQgY29uc3QgTkFNRVNfSU5ERVggPSA0O1xuIiwgImltcG9ydCB7IFNldEFycmF5LCBwdXQsIHJlbW92ZSB9IGZyb20gJ0BqcmlkZ2V3ZWxsL3NldC1hcnJheSc7XG5pbXBvcnQgeyBlbmNvZGUgfSBmcm9tICdAanJpZGdld2VsbC9zb3VyY2VtYXAtY29kZWMnO1xuaW1wb3J0IHsgVHJhY2VNYXAsIGRlY29kZWRNYXBwaW5ncyB9IGZyb20gJ0BqcmlkZ2V3ZWxsL3RyYWNlLW1hcHBpbmcnO1xuXG5pbXBvcnQge1xuICBDT0xVTU4sXG4gIFNPVVJDRVNfSU5ERVgsXG4gIFNPVVJDRV9MSU5FLFxuICBTT1VSQ0VfQ09MVU1OLFxuICBOQU1FU19JTkRFWCxcbn0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgU291cmNlTWFwSW5wdXQgfSBmcm9tICdAanJpZGdld2VsbC90cmFjZS1tYXBwaW5nJztcbmltcG9ydCB0eXBlIHsgU291cmNlTWFwU2VnbWVudCB9IGZyb20gJy4vc291cmNlbWFwLXNlZ21lbnQnO1xuaW1wb3J0IHR5cGUgeyBEZWNvZGVkU291cmNlTWFwLCBFbmNvZGVkU291cmNlTWFwLCBQb3MsIE1hcHBpbmcgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgeyBEZWNvZGVkU291cmNlTWFwLCBFbmNvZGVkU291cmNlTWFwLCBNYXBwaW5nIH07XG5cbmV4cG9ydCB0eXBlIE9wdGlvbnMgPSB7XG4gIGZpbGU/OiBzdHJpbmcgfCBudWxsO1xuICBzb3VyY2VSb290Pzogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmNvbnN0IE5PX05BTUUgPSAtMTtcblxuLyoqXG4gKiBQcm92aWRlcyB0aGUgc3RhdGUgdG8gZ2VuZXJhdGUgYSBzb3VyY2VtYXAuXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW5NYXBwaW5nIHtcbiAgcHJpdmF0ZSBkZWNsYXJlIF9uYW1lczogU2V0QXJyYXk8c3RyaW5nPjtcbiAgcHJpdmF0ZSBkZWNsYXJlIF9zb3VyY2VzOiBTZXRBcnJheTxzdHJpbmc+O1xuICBwcml2YXRlIGRlY2xhcmUgX3NvdXJjZXNDb250ZW50OiAoc3RyaW5nIHwgbnVsbClbXTtcbiAgcHJpdmF0ZSBkZWNsYXJlIF9tYXBwaW5nczogU291cmNlTWFwU2VnbWVudFtdW107XG4gIHByaXZhdGUgZGVjbGFyZSBfaWdub3JlTGlzdDogU2V0QXJyYXk8bnVtYmVyPjtcbiAgZGVjbGFyZSBmaWxlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBkZWNsYXJlIHNvdXJjZVJvb3Q6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoeyBmaWxlLCBzb3VyY2VSb290IH06IE9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuX25hbWVzID0gbmV3IFNldEFycmF5KCk7XG4gICAgdGhpcy5fc291cmNlcyA9IG5ldyBTZXRBcnJheSgpO1xuICAgIHRoaXMuX3NvdXJjZXNDb250ZW50ID0gW107XG4gICAgdGhpcy5fbWFwcGluZ3MgPSBbXTtcbiAgICB0aGlzLmZpbGUgPSBmaWxlO1xuICAgIHRoaXMuc291cmNlUm9vdCA9IHNvdXJjZVJvb3Q7XG4gICAgdGhpcy5faWdub3JlTGlzdCA9IG5ldyBTZXRBcnJheSgpO1xuICB9XG59XG5cbmludGVyZmFjZSBQdWJsaWNNYXAge1xuICBfbmFtZXM6IEdlbk1hcHBpbmdbJ19uYW1lcyddO1xuICBfc291cmNlczogR2VuTWFwcGluZ1snX3NvdXJjZXMnXTtcbiAgX3NvdXJjZXNDb250ZW50OiBHZW5NYXBwaW5nWydfc291cmNlc0NvbnRlbnQnXTtcbiAgX21hcHBpbmdzOiBHZW5NYXBwaW5nWydfbWFwcGluZ3MnXTtcbiAgX2lnbm9yZUxpc3Q6IEdlbk1hcHBpbmdbJ19pZ25vcmVMaXN0J107XG59XG5cbi8qKlxuICogVHlwZXNjcmlwdCBkb2Vzbid0IGFsbG93IGZyaWVuZCBhY2Nlc3MgdG8gcHJpdmF0ZSBmaWVsZHMsIHNvIHRoaXMganVzdCBjYXN0cyB0aGUgbWFwIGludG8gYSB0eXBlXG4gKiB3aXRoIHB1YmxpYyBhY2Nlc3MgbW9kaWZpZXJzLlxuICovXG5mdW5jdGlvbiBjYXN0KG1hcDogdW5rbm93bik6IFB1YmxpY01hcCB7XG4gIHJldHVybiBtYXAgYXMgYW55O1xufVxuXG4vKipcbiAqIEEgbG93LWxldmVsIEFQSSB0byBhc3NvY2lhdGUgYSBnZW5lcmF0ZWQgcG9zaXRpb24gd2l0aCBhbiBvcmlnaW5hbCBzb3VyY2UgcG9zaXRpb24uIExpbmUgYW5kXG4gKiBjb2x1bW4gaGVyZSBhcmUgMC1iYXNlZCwgdW5saWtlIGBhZGRNYXBwaW5nYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlZ21lbnQoXG4gIG1hcDogR2VuTWFwcGluZyxcbiAgZ2VuTGluZTogbnVtYmVyLFxuICBnZW5Db2x1bW46IG51bWJlcixcbiAgc291cmNlPzogbnVsbCxcbiAgc291cmNlTGluZT86IG51bGwsXG4gIHNvdXJjZUNvbHVtbj86IG51bGwsXG4gIG5hbWU/OiBudWxsLFxuICBjb250ZW50PzogbnVsbCxcbik6IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gYWRkU2VnbWVudChcbiAgbWFwOiBHZW5NYXBwaW5nLFxuICBnZW5MaW5lOiBudW1iZXIsXG4gIGdlbkNvbHVtbjogbnVtYmVyLFxuICBzb3VyY2U6IHN0cmluZyxcbiAgc291cmNlTGluZTogbnVtYmVyLFxuICBzb3VyY2VDb2x1bW46IG51bWJlcixcbiAgbmFtZT86IG51bGwsXG4gIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsLFxuKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWdtZW50KFxuICBtYXA6IEdlbk1hcHBpbmcsXG4gIGdlbkxpbmU6IG51bWJlcixcbiAgZ2VuQ29sdW1uOiBudW1iZXIsXG4gIHNvdXJjZTogc3RyaW5nLFxuICBzb3VyY2VMaW5lOiBudW1iZXIsXG4gIHNvdXJjZUNvbHVtbjogbnVtYmVyLFxuICBuYW1lOiBzdHJpbmcsXG4gIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsLFxuKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWdtZW50KFxuICBtYXA6IEdlbk1hcHBpbmcsXG4gIGdlbkxpbmU6IG51bWJlcixcbiAgZ2VuQ29sdW1uOiBudW1iZXIsXG4gIHNvdXJjZT86IHN0cmluZyB8IG51bGwsXG4gIHNvdXJjZUxpbmU/OiBudW1iZXIgfCBudWxsLFxuICBzb3VyY2VDb2x1bW4/OiBudW1iZXIgfCBudWxsLFxuICBuYW1lPzogc3RyaW5nIHwgbnVsbCxcbiAgY29udGVudD86IHN0cmluZyB8IG51bGwsXG4pOiB2b2lkIHtcbiAgcmV0dXJuIGFkZFNlZ21lbnRJbnRlcm5hbChcbiAgICBmYWxzZSxcbiAgICBtYXAsXG4gICAgZ2VuTGluZSxcbiAgICBnZW5Db2x1bW4sXG4gICAgc291cmNlLFxuICAgIHNvdXJjZUxpbmUsXG4gICAgc291cmNlQ29sdW1uLFxuICAgIG5hbWUsXG4gICAgY29udGVudCxcbiAgKTtcbn1cblxuLyoqXG4gKiBBIGhpZ2gtbGV2ZWwgQVBJIHRvIGFzc29jaWF0ZSBhIGdlbmVyYXRlZCBwb3NpdGlvbiB3aXRoIGFuIG9yaWdpbmFsIHNvdXJjZSBwb3NpdGlvbi4gTGluZSBpc1xuICogMS1iYXNlZCwgYnV0IGNvbHVtbiBpcyAwLWJhc2VkLCBkdWUgdG8gbGVnYWN5IGJlaGF2aW9yIGluIGBzb3VyY2UtbWFwYCBsaWJyYXJ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTWFwcGluZyhcbiAgbWFwOiBHZW5NYXBwaW5nLFxuICBtYXBwaW5nOiB7XG4gICAgZ2VuZXJhdGVkOiBQb3M7XG4gICAgc291cmNlPzogbnVsbDtcbiAgICBvcmlnaW5hbD86IG51bGw7XG4gICAgbmFtZT86IG51bGw7XG4gICAgY29udGVudD86IG51bGw7XG4gIH0sXG4pOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1hcHBpbmcoXG4gIG1hcDogR2VuTWFwcGluZyxcbiAgbWFwcGluZzoge1xuICAgIGdlbmVyYXRlZDogUG9zO1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIG9yaWdpbmFsOiBQb3M7XG4gICAgbmFtZT86IG51bGw7XG4gICAgY29udGVudD86IHN0cmluZyB8IG51bGw7XG4gIH0sXG4pOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1hcHBpbmcoXG4gIG1hcDogR2VuTWFwcGluZyxcbiAgbWFwcGluZzoge1xuICAgIGdlbmVyYXRlZDogUG9zO1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIG9yaWdpbmFsOiBQb3M7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsO1xuICB9LFxuKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBhZGRNYXBwaW5nKFxuICBtYXA6IEdlbk1hcHBpbmcsXG4gIG1hcHBpbmc6IHtcbiAgICBnZW5lcmF0ZWQ6IFBvcztcbiAgICBzb3VyY2U/OiBzdHJpbmcgfCBudWxsO1xuICAgIG9yaWdpbmFsPzogUG9zIHwgbnVsbDtcbiAgICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgICBjb250ZW50Pzogc3RyaW5nIHwgbnVsbDtcbiAgfSxcbik6IHZvaWQge1xuICByZXR1cm4gYWRkTWFwcGluZ0ludGVybmFsKGZhbHNlLCBtYXAsIG1hcHBpbmcgYXMgUGFyYW1ldGVyczx0eXBlb2YgYWRkTWFwcGluZ0ludGVybmFsPlsyXSk7XG59XG5cbi8qKlxuICogU2FtZSBhcyBgYWRkU2VnbWVudGAsIGJ1dCB3aWxsIG9ubHkgYWRkIHRoZSBzZWdtZW50IGlmIGl0IGdlbmVyYXRlcyB1c2VmdWwgaW5mb3JtYXRpb24gaW4gdGhlXG4gKiByZXN1bHRpbmcgbWFwLiBUaGlzIG9ubHkgd29ya3MgY29ycmVjdGx5IGlmIHNlZ21lbnRzIGFyZSBhZGRlZCAqKmluIG9yZGVyKiosIG1lYW5pbmcgeW91IHNob3VsZFxuICogbm90IGFkZCBhIHNlZ21lbnQgd2l0aCBhIGxvd2VyIGdlbmVyYXRlZCBsaW5lL2NvbHVtbiB0aGFuIG9uZSB0aGF0IGNhbWUgYmVmb3JlLlxuICovXG5leHBvcnQgY29uc3QgbWF5YmVBZGRTZWdtZW50OiB0eXBlb2YgYWRkU2VnbWVudCA9IChcbiAgbWFwLFxuICBnZW5MaW5lLFxuICBnZW5Db2x1bW4sXG4gIHNvdXJjZSxcbiAgc291cmNlTGluZSxcbiAgc291cmNlQ29sdW1uLFxuICBuYW1lLFxuICBjb250ZW50LFxuKSA9PiB7XG4gIHJldHVybiBhZGRTZWdtZW50SW50ZXJuYWwoXG4gICAgdHJ1ZSxcbiAgICBtYXAsXG4gICAgZ2VuTGluZSxcbiAgICBnZW5Db2x1bW4sXG4gICAgc291cmNlLFxuICAgIHNvdXJjZUxpbmUsXG4gICAgc291cmNlQ29sdW1uLFxuICAgIG5hbWUsXG4gICAgY29udGVudCxcbiAgKTtcbn07XG5cbi8qKlxuICogU2FtZSBhcyBgYWRkTWFwcGluZ2AsIGJ1dCB3aWxsIG9ubHkgYWRkIHRoZSBtYXBwaW5nIGlmIGl0IGdlbmVyYXRlcyB1c2VmdWwgaW5mb3JtYXRpb24gaW4gdGhlXG4gKiByZXN1bHRpbmcgbWFwLiBUaGlzIG9ubHkgd29ya3MgY29ycmVjdGx5IGlmIG1hcHBpbmdzIGFyZSBhZGRlZCAqKmluIG9yZGVyKiosIG1lYW5pbmcgeW91IHNob3VsZFxuICogbm90IGFkZCBhIG1hcHBpbmcgd2l0aCBhIGxvd2VyIGdlbmVyYXRlZCBsaW5lL2NvbHVtbiB0aGFuIG9uZSB0aGF0IGNhbWUgYmVmb3JlLlxuICovXG5leHBvcnQgY29uc3QgbWF5YmVBZGRNYXBwaW5nOiB0eXBlb2YgYWRkTWFwcGluZyA9IChtYXAsIG1hcHBpbmcpID0+IHtcbiAgcmV0dXJuIGFkZE1hcHBpbmdJbnRlcm5hbCh0cnVlLCBtYXAsIG1hcHBpbmcgYXMgUGFyYW1ldGVyczx0eXBlb2YgYWRkTWFwcGluZ0ludGVybmFsPlsyXSk7XG59O1xuXG4vKipcbiAqIEFkZHMvcmVtb3ZlcyB0aGUgY29udGVudCBvZiB0aGUgc291cmNlIGZpbGUgdG8gdGhlIHNvdXJjZSBtYXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRTb3VyY2VDb250ZW50KG1hcDogR2VuTWFwcGluZywgc291cmNlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgY29uc3QgeyBfc291cmNlczogc291cmNlcywgX3NvdXJjZXNDb250ZW50OiBzb3VyY2VzQ29udGVudCB9ID0gY2FzdChtYXApO1xuICBjb25zdCBpbmRleCA9IHB1dChzb3VyY2VzLCBzb3VyY2UpO1xuICBzb3VyY2VzQ29udGVudFtpbmRleF0gPSBjb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0SWdub3JlKG1hcDogR2VuTWFwcGluZywgc291cmNlOiBzdHJpbmcsIGlnbm9yZSA9IHRydWUpIHtcbiAgY29uc3QgeyBfc291cmNlczogc291cmNlcywgX3NvdXJjZXNDb250ZW50OiBzb3VyY2VzQ29udGVudCwgX2lnbm9yZUxpc3Q6IGlnbm9yZUxpc3QgfSA9IGNhc3QobWFwKTtcbiAgY29uc3QgaW5kZXggPSBwdXQoc291cmNlcywgc291cmNlKTtcbiAgaWYgKGluZGV4ID09PSBzb3VyY2VzQ29udGVudC5sZW5ndGgpIHNvdXJjZXNDb250ZW50W2luZGV4XSA9IG51bGw7XG4gIGlmIChpZ25vcmUpIHB1dChpZ25vcmVMaXN0LCBpbmRleCk7XG4gIGVsc2UgcmVtb3ZlKGlnbm9yZUxpc3QsIGluZGV4KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc291cmNlbWFwIG9iamVjdCAod2l0aCBkZWNvZGVkIG1hcHBpbmdzKSBzdWl0YWJsZSBmb3IgcGFzc2luZyB0byBhIGxpYnJhcnkgdGhhdCBleHBlY3RzXG4gKiBhIHNvdXJjZW1hcCwgb3IgdG8gSlNPTi5zdHJpbmdpZnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0RlY29kZWRNYXAobWFwOiBHZW5NYXBwaW5nKTogRGVjb2RlZFNvdXJjZU1hcCB7XG4gIGNvbnN0IHtcbiAgICBfbWFwcGluZ3M6IG1hcHBpbmdzLFxuICAgIF9zb3VyY2VzOiBzb3VyY2VzLFxuICAgIF9zb3VyY2VzQ29udGVudDogc291cmNlc0NvbnRlbnQsXG4gICAgX25hbWVzOiBuYW1lcyxcbiAgICBfaWdub3JlTGlzdDogaWdub3JlTGlzdCxcbiAgfSA9IGNhc3QobWFwKTtcbiAgcmVtb3ZlRW1wdHlGaW5hbExpbmVzKG1hcHBpbmdzKTtcblxuICByZXR1cm4ge1xuICAgIHZlcnNpb246IDMsXG4gICAgZmlsZTogbWFwLmZpbGUgfHwgdW5kZWZpbmVkLFxuICAgIG5hbWVzOiBuYW1lcy5hcnJheSxcbiAgICBzb3VyY2VSb290OiBtYXAuc291cmNlUm9vdCB8fCB1bmRlZmluZWQsXG4gICAgc291cmNlczogc291cmNlcy5hcnJheSxcbiAgICBzb3VyY2VzQ29udGVudCxcbiAgICBtYXBwaW5ncyxcbiAgICBpZ25vcmVMaXN0OiBpZ25vcmVMaXN0LmFycmF5LFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBzb3VyY2VtYXAgb2JqZWN0ICh3aXRoIGVuY29kZWQgbWFwcGluZ3MpIHN1aXRhYmxlIGZvciBwYXNzaW5nIHRvIGEgbGlicmFyeSB0aGF0IGV4cGVjdHNcbiAqIGEgc291cmNlbWFwLCBvciB0byBKU09OLnN0cmluZ2lmeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRW5jb2RlZE1hcChtYXA6IEdlbk1hcHBpbmcpOiBFbmNvZGVkU291cmNlTWFwIHtcbiAgY29uc3QgZGVjb2RlZCA9IHRvRGVjb2RlZE1hcChtYXApO1xuICByZXR1cm4ge1xuICAgIC4uLmRlY29kZWQsXG4gICAgbWFwcGluZ3M6IGVuY29kZShkZWNvZGVkLm1hcHBpbmdzIGFzIFNvdXJjZU1hcFNlZ21lbnRbXVtdKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IEdlbk1hcHBpbmcsIHVzaW5nIHRoZSBhbHJlYWR5IHByZXNlbnQgbWFwcGluZ3Mgb2YgdGhlIGlucHV0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbU1hcChpbnB1dDogU291cmNlTWFwSW5wdXQpOiBHZW5NYXBwaW5nIHtcbiAgY29uc3QgbWFwID0gbmV3IFRyYWNlTWFwKGlucHV0KTtcbiAgY29uc3QgZ2VuID0gbmV3IEdlbk1hcHBpbmcoeyBmaWxlOiBtYXAuZmlsZSwgc291cmNlUm9vdDogbWFwLnNvdXJjZVJvb3QgfSk7XG5cbiAgcHV0QWxsKGNhc3QoZ2VuKS5fbmFtZXMsIG1hcC5uYW1lcyk7XG4gIHB1dEFsbChjYXN0KGdlbikuX3NvdXJjZXMsIG1hcC5zb3VyY2VzIGFzIHN0cmluZ1tdKTtcbiAgY2FzdChnZW4pLl9zb3VyY2VzQ29udGVudCA9IG1hcC5zb3VyY2VzQ29udGVudCB8fCBtYXAuc291cmNlcy5tYXAoKCkgPT4gbnVsbCk7XG4gIGNhc3QoZ2VuKS5fbWFwcGluZ3MgPSBkZWNvZGVkTWFwcGluZ3MobWFwKSBhcyBHZW5NYXBwaW5nWydfbWFwcGluZ3MnXTtcbiAgaWYgKG1hcC5pZ25vcmVMaXN0KSBwdXRBbGwoY2FzdChnZW4pLl9pZ25vcmVMaXN0LCBtYXAuaWdub3JlTGlzdCk7XG5cbiAgcmV0dXJuIGdlbjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFycmF5IG9mIGhpZ2gtbGV2ZWwgbWFwcGluZyBvYmplY3RzIGZvciBldmVyeSByZWNvcmRlZCBzZWdtZW50LCB3aGljaCBjb3VsZCB0aGVuIGJlXG4gKiBwYXNzZWQgdG8gdGhlIGBzb3VyY2UtbWFwYCBsaWJyYXJ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWxsTWFwcGluZ3MobWFwOiBHZW5NYXBwaW5nKTogTWFwcGluZ1tdIHtcbiAgY29uc3Qgb3V0OiBNYXBwaW5nW10gPSBbXTtcbiAgY29uc3QgeyBfbWFwcGluZ3M6IG1hcHBpbmdzLCBfc291cmNlczogc291cmNlcywgX25hbWVzOiBuYW1lcyB9ID0gY2FzdChtYXApO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWFwcGluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBsaW5lID0gbWFwcGluZ3NbaV07XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBsaW5lLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBzZWcgPSBsaW5lW2pdO1xuXG4gICAgICBjb25zdCBnZW5lcmF0ZWQgPSB7IGxpbmU6IGkgKyAxLCBjb2x1bW46IHNlZ1tDT0xVTU5dIH07XG4gICAgICBsZXQgc291cmNlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICBsZXQgb3JpZ2luYWw6IFBvcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgIGxldCBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChzZWcubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIHNvdXJjZSA9IHNvdXJjZXMuYXJyYXlbc2VnW1NPVVJDRVNfSU5ERVhdXTtcbiAgICAgICAgb3JpZ2luYWwgPSB7IGxpbmU6IHNlZ1tTT1VSQ0VfTElORV0gKyAxLCBjb2x1bW46IHNlZ1tTT1VSQ0VfQ09MVU1OXSB9O1xuXG4gICAgICAgIGlmIChzZWcubGVuZ3RoID09PSA1KSBuYW1lID0gbmFtZXMuYXJyYXlbc2VnW05BTUVTX0lOREVYXV07XG4gICAgICB9XG5cbiAgICAgIG91dC5wdXNoKHsgZ2VuZXJhdGVkLCBzb3VyY2UsIG9yaWdpbmFsLCBuYW1lIH0gYXMgTWFwcGluZyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cblxuLy8gVGhpcyBzcGxpdCBkZWNsYXJhdGlvbiBpcyBvbmx5IHNvIHRoYXQgdGVyc2VyIGNhbiBlbG1pbmlhdGUgdGhlIHN0YXRpYyBpbml0aWFsaXphdGlvbiBibG9jay5cbmZ1bmN0aW9uIGFkZFNlZ21lbnRJbnRlcm5hbDxTIGV4dGVuZHMgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4oXG4gIHNraXBhYmxlOiBib29sZWFuLFxuICBtYXA6IEdlbk1hcHBpbmcsXG4gIGdlbkxpbmU6IG51bWJlcixcbiAgZ2VuQ29sdW1uOiBudW1iZXIsXG4gIHNvdXJjZTogUyxcbiAgc291cmNlTGluZTogUyBleHRlbmRzIHN0cmluZyA/IG51bWJlciA6IG51bGwgfCB1bmRlZmluZWQsXG4gIHNvdXJjZUNvbHVtbjogUyBleHRlbmRzIHN0cmluZyA/IG51bWJlciA6IG51bGwgfCB1bmRlZmluZWQsXG4gIG5hbWU6IFMgZXh0ZW5kcyBzdHJpbmcgPyBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIDogbnVsbCB8IHVuZGVmaW5lZCxcbiAgY29udGVudDogUyBleHRlbmRzIHN0cmluZyA/IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgOiBudWxsIHwgdW5kZWZpbmVkLFxuKTogdm9pZCB7XG4gIGNvbnN0IHtcbiAgICBfbWFwcGluZ3M6IG1hcHBpbmdzLFxuICAgIF9zb3VyY2VzOiBzb3VyY2VzLFxuICAgIF9zb3VyY2VzQ29udGVudDogc291cmNlc0NvbnRlbnQsXG4gICAgX25hbWVzOiBuYW1lcyxcbiAgfSA9IGNhc3QobWFwKTtcbiAgY29uc3QgbGluZSA9IGdldExpbmUobWFwcGluZ3MsIGdlbkxpbmUpO1xuICBjb25zdCBpbmRleCA9IGdldENvbHVtbkluZGV4KGxpbmUsIGdlbkNvbHVtbik7XG5cbiAgaWYgKCFzb3VyY2UpIHtcbiAgICBpZiAoc2tpcGFibGUgJiYgc2tpcFNvdXJjZWxlc3MobGluZSwgaW5kZXgpKSByZXR1cm47XG4gICAgcmV0dXJuIGluc2VydChsaW5lLCBpbmRleCwgW2dlbkNvbHVtbl0pO1xuICB9XG5cbiAgLy8gU2lnaCwgVHlwZVNjcmlwdCBjYW4ndCBmaWd1cmUgb3V0IHNvdXJjZUxpbmUgYW5kIHNvdXJjZUNvbHVtbiBhcmVuJ3QgbnVsbGlzaCBpZiBzb3VyY2VcbiAgLy8gaXNuJ3QgbnVsbGlzaC5cbiAgYXNzZXJ0PG51bWJlcj4oc291cmNlTGluZSk7XG4gIGFzc2VydDxudW1iZXI+KHNvdXJjZUNvbHVtbik7XG5cbiAgY29uc3Qgc291cmNlc0luZGV4ID0gcHV0KHNvdXJjZXMsIHNvdXJjZSk7XG4gIGNvbnN0IG5hbWVzSW5kZXggPSBuYW1lID8gcHV0KG5hbWVzLCBuYW1lKSA6IE5PX05BTUU7XG4gIGlmIChzb3VyY2VzSW5kZXggPT09IHNvdXJjZXNDb250ZW50Lmxlbmd0aCkgc291cmNlc0NvbnRlbnRbc291cmNlc0luZGV4XSA9IGNvbnRlbnQgPz8gbnVsbDtcblxuICBpZiAoc2tpcGFibGUgJiYgc2tpcFNvdXJjZShsaW5lLCBpbmRleCwgc291cmNlc0luZGV4LCBzb3VyY2VMaW5lLCBzb3VyY2VDb2x1bW4sIG5hbWVzSW5kZXgpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIGluc2VydChcbiAgICBsaW5lLFxuICAgIGluZGV4LFxuICAgIG5hbWVcbiAgICAgID8gW2dlbkNvbHVtbiwgc291cmNlc0luZGV4LCBzb3VyY2VMaW5lLCBzb3VyY2VDb2x1bW4sIG5hbWVzSW5kZXhdXG4gICAgICA6IFtnZW5Db2x1bW4sIHNvdXJjZXNJbmRleCwgc291cmNlTGluZSwgc291cmNlQ29sdW1uXSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gYXNzZXJ0PFQ+KF92YWw6IHVua25vd24pOiBhc3NlcnRzIF92YWwgaXMgVCB7XG4gIC8vIG5vb3AuXG59XG5cbmZ1bmN0aW9uIGdldExpbmUobWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdLCBpbmRleDogbnVtYmVyKTogU291cmNlTWFwU2VnbWVudFtdIHtcbiAgZm9yIChsZXQgaSA9IG1hcHBpbmdzLmxlbmd0aDsgaSA8PSBpbmRleDsgaSsrKSB7XG4gICAgbWFwcGluZ3NbaV0gPSBbXTtcbiAgfVxuICByZXR1cm4gbWFwcGluZ3NbaW5kZXhdO1xufVxuXG5mdW5jdGlvbiBnZXRDb2x1bW5JbmRleChsaW5lOiBTb3VyY2VNYXBTZWdtZW50W10sIGdlbkNvbHVtbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IGluZGV4ID0gbGluZS5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSBpbmRleCAtIDE7IGkgPj0gMDsgaW5kZXggPSBpLS0pIHtcbiAgICBjb25zdCBjdXJyZW50ID0gbGluZVtpXTtcbiAgICBpZiAoZ2VuQ29sdW1uID49IGN1cnJlbnRbQ09MVU1OXSkgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5mdW5jdGlvbiBpbnNlcnQ8VD4oYXJyYXk6IFRbXSwgaW5kZXg6IG51bWJlciwgdmFsdWU6IFQpIHtcbiAgZm9yIChsZXQgaSA9IGFycmF5Lmxlbmd0aDsgaSA+IGluZGV4OyBpLS0pIHtcbiAgICBhcnJheVtpXSA9IGFycmF5W2kgLSAxXTtcbiAgfVxuICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRW1wdHlGaW5hbExpbmVzKG1hcHBpbmdzOiBTb3VyY2VNYXBTZWdtZW50W11bXSkge1xuICBjb25zdCB7IGxlbmd0aCB9ID0gbWFwcGluZ3M7XG4gIGxldCBsZW4gPSBsZW5ndGg7XG4gIGZvciAobGV0IGkgPSBsZW4gLSAxOyBpID49IDA7IGxlbiA9IGksIGktLSkge1xuICAgIGlmIChtYXBwaW5nc1tpXS5sZW5ndGggPiAwKSBicmVhaztcbiAgfVxuICBpZiAobGVuIDwgbGVuZ3RoKSBtYXBwaW5ncy5sZW5ndGggPSBsZW47XG59XG5cbmZ1bmN0aW9uIHB1dEFsbDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyPihzZXRhcnI6IFNldEFycmF5PFQ+LCBhcnJheTogVFtdKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHB1dChzZXRhcnIsIGFycmF5W2ldKTtcbn1cblxuZnVuY3Rpb24gc2tpcFNvdXJjZWxlc3MobGluZTogU291cmNlTWFwU2VnbWVudFtdLCBpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gIC8vIFRoZSBzdGFydCBvZiBhIGxpbmUgaXMgYWxyZWFkeSBzb3VyY2VsZXNzLCBzbyBhZGRpbmcgYSBzb3VyY2VsZXNzIHNlZ21lbnQgdG8gdGhlIGJlZ2lubmluZ1xuICAvLyBkb2Vzbid0IGdlbmVyYXRlIGFueSB1c2VmdWwgaW5mb3JtYXRpb24uXG4gIGlmIChpbmRleCA9PT0gMCkgcmV0dXJuIHRydWU7XG5cbiAgY29uc3QgcHJldiA9IGxpbmVbaW5kZXggLSAxXTtcbiAgLy8gSWYgdGhlIHByZXZpb3VzIHNlZ21lbnQgaXMgYWxzbyBzb3VyY2VsZXNzLCB0aGVuIGFkZGluZyBhbm90aGVyIHNvdXJjZWxlc3Mgc2VnbWVudCBkb2Vzbid0XG4gIC8vIGdlbnJhdGUgYW55IG5ldyBpbmZvcm1hdGlvbi4gRWxzZSwgdGhpcyBzZWdtZW50IHdpbGwgZW5kIHRoZSBzb3VyY2UvbmFtZWQgc2VnbWVudCBhbmQgcG9pbnQgdG9cbiAgLy8gYSBzb3VyY2VsZXNzIHBvc2l0aW9uLCB3aGljaCBpcyB1c2VmdWwuXG4gIHJldHVybiBwcmV2Lmxlbmd0aCA9PT0gMTtcbn1cblxuZnVuY3Rpb24gc2tpcFNvdXJjZShcbiAgbGluZTogU291cmNlTWFwU2VnbWVudFtdLFxuICBpbmRleDogbnVtYmVyLFxuICBzb3VyY2VzSW5kZXg6IG51bWJlcixcbiAgc291cmNlTGluZTogbnVtYmVyLFxuICBzb3VyY2VDb2x1bW46IG51bWJlcixcbiAgbmFtZXNJbmRleDogbnVtYmVyLFxuKTogYm9vbGVhbiB7XG4gIC8vIEEgc291cmNlL25hbWVkIHNlZ21lbnQgYXQgdGhlIHN0YXJ0IG9mIGEgbGluZSBnaXZlcyBwb3NpdGlvbiBhdCB0aGF0IGdlbkNvbHVtblxuICBpZiAoaW5kZXggPT09IDApIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBwcmV2ID0gbGluZVtpbmRleCAtIDFdO1xuXG4gIC8vIElmIHRoZSBwcmV2aW91cyBzZWdtZW50IGlzIHNvdXJjZWxlc3MsIHRoZW4gd2UncmUgdHJhbnNpdGlvbmluZyB0byBhIHNvdXJjZS5cbiAgaWYgKHByZXYubGVuZ3RoID09PSAxKSByZXR1cm4gZmFsc2U7XG5cbiAgLy8gSWYgdGhlIHByZXZpb3VzIHNlZ21lbnQgbWFwcyB0byB0aGUgZXhhY3Qgc2FtZSBzb3VyY2UgcG9zaXRpb24sIHRoZW4gdGhpcyBzZWdtZW50IGRvZXNuJ3RcbiAgLy8gcHJvdmlkZSBhbnkgbmV3IHBvc2l0aW9uIGluZm9ybWF0aW9uLlxuICByZXR1cm4gKFxuICAgIHNvdXJjZXNJbmRleCA9PT0gcHJldltTT1VSQ0VTX0lOREVYXSAmJlxuICAgIHNvdXJjZUxpbmUgPT09IHByZXZbU09VUkNFX0xJTkVdICYmXG4gICAgc291cmNlQ29sdW1uID09PSBwcmV2W1NPVVJDRV9DT0xVTU5dICYmXG4gICAgbmFtZXNJbmRleCA9PT0gKHByZXYubGVuZ3RoID09PSA1ID8gcHJldltOQU1FU19JTkRFWF0gOiBOT19OQU1FKVxuICApO1xufVxuXG5mdW5jdGlvbiBhZGRNYXBwaW5nSW50ZXJuYWw8UyBleHRlbmRzIHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KFxuICBza2lwYWJsZTogYm9vbGVhbixcbiAgbWFwOiBHZW5NYXBwaW5nLFxuICBtYXBwaW5nOiB7XG4gICAgZ2VuZXJhdGVkOiBQb3M7XG4gICAgc291cmNlOiBTO1xuICAgIG9yaWdpbmFsOiBTIGV4dGVuZHMgc3RyaW5nID8gUG9zIDogbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBuYW1lOiBTIGV4dGVuZHMgc3RyaW5nID8gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA6IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgY29udGVudDogUyBleHRlbmRzIHN0cmluZyA/IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgOiBudWxsIHwgdW5kZWZpbmVkO1xuICB9LFxuKSB7XG4gIGNvbnN0IHsgZ2VuZXJhdGVkLCBzb3VyY2UsIG9yaWdpbmFsLCBuYW1lLCBjb250ZW50IH0gPSBtYXBwaW5nO1xuICBpZiAoIXNvdXJjZSkge1xuICAgIHJldHVybiBhZGRTZWdtZW50SW50ZXJuYWwoXG4gICAgICBza2lwYWJsZSxcbiAgICAgIG1hcCxcbiAgICAgIGdlbmVyYXRlZC5saW5lIC0gMSxcbiAgICAgIGdlbmVyYXRlZC5jb2x1bW4sXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICApO1xuICB9XG4gIGFzc2VydDxQb3M+KG9yaWdpbmFsKTtcbiAgcmV0dXJuIGFkZFNlZ21lbnRJbnRlcm5hbChcbiAgICBza2lwYWJsZSxcbiAgICBtYXAsXG4gICAgZ2VuZXJhdGVkLmxpbmUgLSAxLFxuICAgIGdlbmVyYXRlZC5jb2x1bW4sXG4gICAgc291cmNlIGFzIHN0cmluZyxcbiAgICBvcmlnaW5hbC5saW5lIC0gMSxcbiAgICBvcmlnaW5hbC5jb2x1bW4sXG4gICAgbmFtZSxcbiAgICBjb250ZW50LFxuICApO1xufVxuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZXh0ZW5kcyA9ICh0aGlzICYmIHRoaXMuX19leHRlbmRzKSB8fCAoZnVuY3Rpb24gKCkge1xuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxuICAgICAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XG4gICAgICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG4gICAgfTtcbn0pKCk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkRldGFpbENvbnRleHQgPSBleHBvcnRzLk5vb3BDb250ZXh0ID0gZXhwb3J0cy5WRXJyb3IgPSB2b2lkIDA7XG4vKipcbiAqIEVycm9yIHRocm93biBieSB2YWxpZGF0aW9uLiBCZXNpZGVzIGFuIGluZm9ybWF0aXZlIG1lc3NhZ2UsIGl0IGluY2x1ZGVzIHRoZSBwYXRoIHRvIHRoZVxuICogcHJvcGVydHkgd2hpY2ggdHJpZ2dlcmVkIHRoZSBmYWlsdXJlLlxuICovXG52YXIgVkVycm9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhWRXJyb3IsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVkVycm9yKHBhdGgsIG1lc3NhZ2UpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgbWVzc2FnZSkgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucGF0aCA9IHBhdGg7XG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvd2lraS9CcmVha2luZy1DaGFuZ2VzI2V4dGVuZGluZy1idWlsdC1pbnMtbGlrZS1lcnJvci1hcnJheS1hbmQtbWFwLW1heS1uby1sb25nZXItd29yayBmb3IgaW5mbyBhYm91dCB0aGlzIHdvcmthcm91bmQuXG4gICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgVkVycm9yLnByb3RvdHlwZSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIFZFcnJvcjtcbn0oRXJyb3IpKTtcbmV4cG9ydHMuVkVycm9yID0gVkVycm9yO1xuLyoqXG4gKiBGYXN0IGltcGxlbWVudGF0aW9uIG9mIElDb250ZXh0IHVzZWQgZm9yIGZpcnN0LXBhc3MgdmFsaWRhdGlvbi4gSWYgdGhhdCBmYWlscywgd2UgY2FuIHZhbGlkYXRlXG4gKiB1c2luZyBEZXRhaWxDb250ZXh0IHRvIGNvbGxlY3QgZXJyb3IgbWVzc2FnZXMuIFRoYXQncyBmYXN0ZXIgZm9yIHRoZSBjb21tb24gY2FzZSB3aGVuIG1lc3NhZ2VzXG4gKiBub3JtYWxseSBwYXNzIHZhbGlkYXRpb24uXG4gKi9cbnZhciBOb29wQ29udGV4dCA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBOb29wQ29udGV4dCgpIHtcbiAgICB9XG4gICAgTm9vcENvbnRleHQucHJvdG90eXBlLmZhaWwgPSBmdW5jdGlvbiAocmVsUGF0aCwgbWVzc2FnZSwgc2NvcmUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG4gICAgTm9vcENvbnRleHQucHJvdG90eXBlLnVuaW9uUmVzb2x2ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xuICAgIE5vb3BDb250ZXh0LnByb3RvdHlwZS5jcmVhdGVDb250ZXh0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcbiAgICBOb29wQ29udGV4dC5wcm90b3R5cGUucmVzb2x2ZVVuaW9uID0gZnVuY3Rpb24gKHVyKSB7IH07XG4gICAgcmV0dXJuIE5vb3BDb250ZXh0O1xufSgpKTtcbmV4cG9ydHMuTm9vcENvbnRleHQgPSBOb29wQ29udGV4dDtcbi8qKlxuICogQ29tcGxldGUgaW1wbGVtZW50YXRpb24gb2YgSUNvbnRleHQgdGhhdCBjb2xsZWN0cyBtZWFuaW5nZnVsbCBlcnJvcnMuXG4gKi9cbnZhciBEZXRhaWxDb250ZXh0ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERldGFpbENvbnRleHQoKSB7XG4gICAgICAgIC8vIFN0YWNrIG9mIHByb3BlcnR5IG5hbWVzIGFuZCBhc3NvY2lhdGVkIG1lc3NhZ2VzIGZvciByZXBvcnRpbmcgaGVscGZ1bCBlcnJvciBtZXNzYWdlcy5cbiAgICAgICAgdGhpcy5fcHJvcE5hbWVzID0gW1wiXCJdO1xuICAgICAgICB0aGlzLl9tZXNzYWdlcyA9IFtudWxsXTtcbiAgICAgICAgLy8gU2NvcmUgaXMgdXNlZCB0byBjaG9vc2UgdGhlIGJlc3QgdW5pb24gbWVtYmVyIHdob3NlIERldGFpbENvbnRleHQgdG8gdXNlIGZvciByZXBvcnRpbmcuXG4gICAgICAgIC8vIEhpZ2hlciBzY29yZSBtZWFucyBiZXR0ZXIgbWF0Y2ggKG9yIHJhdGhlciBsZXNzIHNldmVyZSBtaXNtYXRjaCkuXG4gICAgICAgIHRoaXMuX3Njb3JlID0gMDtcbiAgICB9XG4gICAgRGV0YWlsQ29udGV4dC5wcm90b3R5cGUuZmFpbCA9IGZ1bmN0aW9uIChyZWxQYXRoLCBtZXNzYWdlLCBzY29yZSkge1xuICAgICAgICB0aGlzLl9wcm9wTmFtZXMucHVzaChyZWxQYXRoKTtcbiAgICAgICAgdGhpcy5fbWVzc2FnZXMucHVzaChtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5fc2NvcmUgKz0gc2NvcmU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICAgIERldGFpbENvbnRleHQucHJvdG90eXBlLnVuaW9uUmVzb2x2ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGV0YWlsVW5pb25SZXNvbHZlcigpO1xuICAgIH07XG4gICAgRGV0YWlsQ29udGV4dC5wcm90b3R5cGUucmVzb2x2ZVVuaW9uID0gZnVuY3Rpb24gKHVuaW9uUmVzb2x2ZXIpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgdmFyIHUgPSB1bmlvblJlc29sdmVyO1xuICAgICAgICB2YXIgYmVzdCA9IG51bGw7XG4gICAgICAgIGZvciAodmFyIF9pID0gMCwgX2MgPSB1LmNvbnRleHRzOyBfaSA8IF9jLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgdmFyIGN0eCA9IF9jW19pXTtcbiAgICAgICAgICAgIGlmICghYmVzdCB8fCBjdHguX3Njb3JlID49IGJlc3QuX3Njb3JlKSB7XG4gICAgICAgICAgICAgICAgYmVzdCA9IGN0eDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYmVzdCAmJiBiZXN0Ll9zY29yZSA+IDApIHtcbiAgICAgICAgICAgIChfYSA9IHRoaXMuX3Byb3BOYW1lcykucHVzaC5hcHBseShfYSwgYmVzdC5fcHJvcE5hbWVzKTtcbiAgICAgICAgICAgIChfYiA9IHRoaXMuX21lc3NhZ2VzKS5wdXNoLmFwcGx5KF9iLCBiZXN0Ll9tZXNzYWdlcyk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIERldGFpbENvbnRleHQucHJvdG90eXBlLmdldEVycm9yID0gZnVuY3Rpb24gKHBhdGgpIHtcbiAgICAgICAgdmFyIG1zZ1BhcnRzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLl9wcm9wTmFtZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIHZhciBwID0gdGhpcy5fcHJvcE5hbWVzW2ldO1xuICAgICAgICAgICAgcGF0aCArPSAodHlwZW9mIHAgPT09IFwibnVtYmVyXCIpID8gXCJbXCIgKyBwICsgXCJdXCIgOiAocCA/IFwiLlwiICsgcCA6IFwiXCIpO1xuICAgICAgICAgICAgdmFyIG0gPSB0aGlzLl9tZXNzYWdlc1tpXTtcbiAgICAgICAgICAgIGlmIChtKSB7XG4gICAgICAgICAgICAgICAgbXNnUGFydHMucHVzaChwYXRoICsgXCIgXCIgKyBtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFZFcnJvcihwYXRoLCBtc2dQYXJ0cy5qb2luKFwiOyBcIikpO1xuICAgIH07XG4gICAgRGV0YWlsQ29udGV4dC5wcm90b3R5cGUuZ2V0RXJyb3JEZXRhaWwgPSBmdW5jdGlvbiAocGF0aCkge1xuICAgICAgICB2YXIgZGV0YWlscyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gdGhpcy5fcHJvcE5hbWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICB2YXIgcCA9IHRoaXMuX3Byb3BOYW1lc1tpXTtcbiAgICAgICAgICAgIHBhdGggKz0gKHR5cGVvZiBwID09PSBcIm51bWJlclwiKSA/IFwiW1wiICsgcCArIFwiXVwiIDogKHAgPyBcIi5cIiArIHAgOiBcIlwiKTtcbiAgICAgICAgICAgIHZhciBtZXNzYWdlID0gdGhpcy5fbWVzc2FnZXNbaV07XG4gICAgICAgICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIGRldGFpbHMucHVzaCh7IHBhdGg6IHBhdGgsIG1lc3NhZ2U6IG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRldGFpbCA9IG51bGw7XG4gICAgICAgIGZvciAodmFyIGkgPSBkZXRhaWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBpZiAoZGV0YWlsKSB7XG4gICAgICAgICAgICAgICAgZGV0YWlsc1tpXS5uZXN0ZWQgPSBbZGV0YWlsXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRldGFpbCA9IGRldGFpbHNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRldGFpbDtcbiAgICB9O1xuICAgIHJldHVybiBEZXRhaWxDb250ZXh0O1xufSgpKTtcbmV4cG9ydHMuRGV0YWlsQ29udGV4dCA9IERldGFpbENvbnRleHQ7XG52YXIgRGV0YWlsVW5pb25SZXNvbHZlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBEZXRhaWxVbmlvblJlc29sdmVyKCkge1xuICAgICAgICB0aGlzLmNvbnRleHRzID0gW107XG4gICAgfVxuICAgIERldGFpbFVuaW9uUmVzb2x2ZXIucHJvdG90eXBlLmNyZWF0ZUNvbnRleHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjdHggPSBuZXcgRGV0YWlsQ29udGV4dCgpO1xuICAgICAgICB0aGlzLmNvbnRleHRzLnB1c2goY3R4KTtcbiAgICAgICAgcmV0dXJuIGN0eDtcbiAgICB9O1xuICAgIHJldHVybiBEZXRhaWxVbmlvblJlc29sdmVyO1xufSgpKTtcbiIsICJcInVzZSBzdHJpY3RcIjtcbi8qKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBub2RlcyB1c2VkIHRvIGRlZmluZSB0eXBlcyBhbmQgdmFsaWRhdGlvbnMgZm9yIG9iamVjdHMgYW5kIGludGVyZmFjZXMuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlOm5vLXNoYWRvd2VkLXZhcmlhYmxlIHByZWZlci1mb3Itb2ZcbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcbiAgICB9O1xuICAgIHJldHVybiBmdW5jdGlvbiAoZCwgYikge1xuICAgICAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cbiAgICAgICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xuICAgIH07XG59KSgpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5iYXNpY1R5cGVzID0gZXhwb3J0cy5CYXNpY1R5cGUgPSBleHBvcnRzLlRQYXJhbUxpc3QgPSBleHBvcnRzLlRQYXJhbSA9IGV4cG9ydHMucGFyYW0gPSBleHBvcnRzLlRGdW5jID0gZXhwb3J0cy5mdW5jID0gZXhwb3J0cy5UUHJvcCA9IGV4cG9ydHMuVE9wdGlvbmFsID0gZXhwb3J0cy5vcHQgPSBleHBvcnRzLlRJZmFjZSA9IGV4cG9ydHMuaWZhY2UgPSBleHBvcnRzLlRFbnVtTGl0ZXJhbCA9IGV4cG9ydHMuZW51bWxpdCA9IGV4cG9ydHMuVEVudW1UeXBlID0gZXhwb3J0cy5lbnVtdHlwZSA9IGV4cG9ydHMuVEludGVyc2VjdGlvbiA9IGV4cG9ydHMuaW50ZXJzZWN0aW9uID0gZXhwb3J0cy5UVW5pb24gPSBleHBvcnRzLnVuaW9uID0gZXhwb3J0cy5UVHVwbGUgPSBleHBvcnRzLnR1cGxlID0gZXhwb3J0cy5UQXJyYXkgPSBleHBvcnRzLmFycmF5ID0gZXhwb3J0cy5UTGl0ZXJhbCA9IGV4cG9ydHMubGl0ID0gZXhwb3J0cy5UTmFtZSA9IGV4cG9ydHMubmFtZSA9IGV4cG9ydHMuVFR5cGUgPSB2b2lkIDA7XG52YXIgdXRpbF8xID0gcmVxdWlyZShcIi4vdXRpbFwiKTtcbi8qKiBOb2RlIHRoYXQgcmVwcmVzZW50cyBhIHR5cGUuICovXG52YXIgVFR5cGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVFR5cGUoKSB7XG4gICAgfVxuICAgIHJldHVybiBUVHlwZTtcbn0oKSk7XG5leHBvcnRzLlRUeXBlID0gVFR5cGU7XG4vKiogUGFyc2VzIGEgdHlwZSBzcGVjIGludG8gYSBUVHlwZSBub2RlLiAqL1xuZnVuY3Rpb24gcGFyc2VTcGVjKHR5cGVTcGVjKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0eXBlU3BlYyA9PT0gXCJzdHJpbmdcIiA/IG5hbWUodHlwZVNwZWMpIDogdHlwZVNwZWM7XG59XG5mdW5jdGlvbiBnZXROYW1lZFR5cGUoc3VpdGUsIG5hbWUpIHtcbiAgICB2YXIgdHR5cGUgPSBzdWl0ZVtuYW1lXTtcbiAgICBpZiAoIXR0eXBlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gdHlwZSBcIiArIG5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gdHR5cGU7XG59XG4vKipcbiAqIERlZmluZXMgYSB0eXBlIG5hbWUsIGVpdGhlciBidWlsdC1pbiwgb3IgZGVmaW5lZCBpbiB0aGlzIHN1aXRlLiBJdCBjYW4gdHlwaWNhbGx5IGJlIGluY2x1ZGVkIGluXG4gKiB0aGUgc3BlY3MgYXMganVzdCBhIHBsYWluIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gbmFtZSh2YWx1ZSkgeyByZXR1cm4gbmV3IFROYW1lKHZhbHVlKTsgfVxuZXhwb3J0cy5uYW1lID0gbmFtZTtcbnZhciBUTmFtZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoVE5hbWUsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVE5hbWUobmFtZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgX3RoaXMuX2ZhaWxNc2cgPSBcImlzIG5vdCBhIFwiICsgbmFtZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUTmFtZS5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0LCBhbGxvd2VkUHJvcHMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIHR0eXBlID0gZ2V0TmFtZWRUeXBlKHN1aXRlLCB0aGlzLm5hbWUpO1xuICAgICAgICB2YXIgY2hlY2tlciA9IHR0eXBlLmdldENoZWNrZXIoc3VpdGUsIHN0cmljdCwgYWxsb3dlZFByb3BzKTtcbiAgICAgICAgaWYgKHR0eXBlIGluc3RhbmNlb2YgQmFzaWNUeXBlIHx8IHR0eXBlIGluc3RhbmNlb2YgVE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBjaGVja2VyO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZvciBjb21wbGV4IHR5cGVzLCBhZGQgYW4gYWRkaXRpb25hbCBcImlzIG5vdCBhIDxUeXBlPlwiIG1lc3NhZ2Ugb24gZmFpbHVyZS5cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSwgY3R4KSB7IHJldHVybiBjaGVja2VyKHZhbHVlLCBjdHgpID8gdHJ1ZSA6IGN0eC5mYWlsKG51bGwsIF90aGlzLl9mYWlsTXNnLCAwKTsgfTtcbiAgICB9O1xuICAgIHJldHVybiBUTmFtZTtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVE5hbWUgPSBUTmFtZTtcbi8qKlxuICogRGVmaW5lcyBhIGxpdGVyYWwgdmFsdWUsIGUuZy4gbGl0KCdoZWxsbycpIG9yIGxpdCgxMjMpLlxuICovXG5mdW5jdGlvbiBsaXQodmFsdWUpIHsgcmV0dXJuIG5ldyBUTGl0ZXJhbCh2YWx1ZSk7IH1cbmV4cG9ydHMubGl0ID0gbGl0O1xudmFyIFRMaXRlcmFsID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUTGl0ZXJhbCwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUTGl0ZXJhbCh2YWx1ZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBfdGhpcy5uYW1lID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBfdGhpcy5fZmFpbE1zZyA9IFwiaXMgbm90IFwiICsgX3RoaXMubmFtZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUTGl0ZXJhbC5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkgeyByZXR1cm4gKHZhbHVlID09PSBfdGhpcy52YWx1ZSkgPyB0cnVlIDogY3R4LmZhaWwobnVsbCwgX3RoaXMuX2ZhaWxNc2csIC0xKTsgfTtcbiAgICB9O1xuICAgIHJldHVybiBUTGl0ZXJhbDtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVExpdGVyYWwgPSBUTGl0ZXJhbDtcbi8qKlxuICogRGVmaW5lcyBhbiBhcnJheSB0eXBlLCBlLmcuIGFycmF5KCdudW1iZXInKS5cbiAqL1xuZnVuY3Rpb24gYXJyYXkodHlwZVNwZWMpIHsgcmV0dXJuIG5ldyBUQXJyYXkocGFyc2VTcGVjKHR5cGVTcGVjKSk7IH1cbmV4cG9ydHMuYXJyYXkgPSBhcnJheTtcbnZhciBUQXJyYXkgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRBcnJheSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUQXJyYXkodHR5cGUpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMudHR5cGUgPSB0dHlwZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUQXJyYXkucHJvdG90eXBlLmdldENoZWNrZXIgPSBmdW5jdGlvbiAoc3VpdGUsIHN0cmljdCkge1xuICAgICAgICB2YXIgaXRlbUNoZWNrZXIgPSB0aGlzLnR0eXBlLmdldENoZWNrZXIoc3VpdGUsIHN0cmljdCk7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChudWxsLCBcImlzIG5vdCBhbiBhcnJheVwiLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgb2sgPSBpdGVtQ2hlY2tlcih2YWx1ZVtpXSwgY3R4KTtcbiAgICAgICAgICAgICAgICBpZiAoIW9rKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChpLCBudWxsLCAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBUQXJyYXk7XG59KFRUeXBlKSk7XG5leHBvcnRzLlRBcnJheSA9IFRBcnJheTtcbi8qKlxuICogRGVmaW5lcyBhIHR1cGxlIHR5cGUsIGUuZy4gdHVwbGUoJ3N0cmluZycsICdudW1iZXInKS5cbiAqL1xuZnVuY3Rpb24gdHVwbGUoKSB7XG4gICAgdmFyIHR5cGVTcGVjID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdHlwZVNwZWNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUVHVwbGUodHlwZVNwZWMubWFwKGZ1bmN0aW9uICh0KSB7IHJldHVybiBwYXJzZVNwZWModCk7IH0pKTtcbn1cbmV4cG9ydHMudHVwbGUgPSB0dXBsZTtcbnZhciBUVHVwbGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRUdXBsZSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUVHVwbGUodHR5cGVzKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnR0eXBlcyA9IHR0eXBlcztcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUVHVwbGUucHJvdG90eXBlLmdldENoZWNrZXIgPSBmdW5jdGlvbiAoc3VpdGUsIHN0cmljdCkge1xuICAgICAgICB2YXIgaXRlbUNoZWNrZXJzID0gdGhpcy50dHlwZXMubWFwKGZ1bmN0aW9uICh0KSB7IHJldHVybiB0LmdldENoZWNrZXIoc3VpdGUsIHN0cmljdCk7IH0pO1xuICAgICAgICB2YXIgY2hlY2tlciA9IGZ1bmN0aW9uICh2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5mYWlsKG51bGwsIFwiaXMgbm90IGFuIGFycmF5XCIsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVtQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgb2sgPSBpdGVtQ2hlY2tlcnNbaV0odmFsdWVbaV0sIGN0eCk7XG4gICAgICAgICAgICAgICAgaWYgKCFvaykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmZhaWwoaSwgbnVsbCwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIGlmICghc3RyaWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2hlY2tlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGlmICghY2hlY2tlcih2YWx1ZSwgY3R4KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPD0gaXRlbUNoZWNrZXJzLmxlbmd0aCA/IHRydWUgOlxuICAgICAgICAgICAgICAgIGN0eC5mYWlsKGl0ZW1DaGVja2Vycy5sZW5ndGgsIFwiaXMgZXh0cmFuZW91c1wiLCAyKTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBUVHVwbGU7XG59KFRUeXBlKSk7XG5leHBvcnRzLlRUdXBsZSA9IFRUdXBsZTtcbi8qKlxuICogRGVmaW5lcyBhIHVuaW9uIHR5cGUsIGUuZy4gdW5pb24oJ251bWJlcicsICdudWxsJykuXG4gKi9cbmZ1bmN0aW9uIHVuaW9uKCkge1xuICAgIHZhciB0eXBlU3BlYyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIHR5cGVTcGVjW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHJldHVybiBuZXcgVFVuaW9uKHR5cGVTcGVjLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gcGFyc2VTcGVjKHQpOyB9KSk7XG59XG5leHBvcnRzLnVuaW9uID0gdW5pb247XG52YXIgVFVuaW9uID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUVW5pb24sIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVFVuaW9uKHR0eXBlcykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy50dHlwZXMgPSB0dHlwZXM7XG4gICAgICAgIHZhciBuYW1lcyA9IHR0eXBlcy5tYXAoZnVuY3Rpb24gKHQpIHsgcmV0dXJuIHQgaW5zdGFuY2VvZiBUTmFtZSB8fCB0IGluc3RhbmNlb2YgVExpdGVyYWwgPyB0Lm5hbWUgOiBudWxsOyB9KVxuICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAobikgeyByZXR1cm4gbjsgfSk7XG4gICAgICAgIHZhciBvdGhlclR5cGVzID0gdHR5cGVzLmxlbmd0aCAtIG5hbWVzLmxlbmd0aDtcbiAgICAgICAgaWYgKG5hbWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKG90aGVyVHlwZXMgPiAwKSB7XG4gICAgICAgICAgICAgICAgbmFtZXMucHVzaChvdGhlclR5cGVzICsgXCIgbW9yZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF90aGlzLl9mYWlsTXNnID0gXCJpcyBub25lIG9mIFwiICsgbmFtZXMuam9pbihcIiwgXCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMuX2ZhaWxNc2cgPSBcImlzIG5vbmUgb2YgXCIgKyBvdGhlclR5cGVzICsgXCIgdHlwZXNcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRVbmlvbi5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBpdGVtQ2hlY2tlcnMgPSB0aGlzLnR0eXBlcy5tYXAoZnVuY3Rpb24gKHQpIHsgcmV0dXJuIHQuZ2V0Q2hlY2tlcihzdWl0ZSwgc3RyaWN0KTsgfSk7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgdmFyIHVyID0gY3R4LnVuaW9uUmVzb2x2ZXIoKTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlbUNoZWNrZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIG9rID0gaXRlbUNoZWNrZXJzW2ldKHZhbHVlLCB1ci5jcmVhdGVDb250ZXh0KCkpO1xuICAgICAgICAgICAgICAgIGlmIChvaykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdHgucmVzb2x2ZVVuaW9uKHVyKTtcbiAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChudWxsLCBfdGhpcy5fZmFpbE1zZywgMCk7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICByZXR1cm4gVFVuaW9uO1xufShUVHlwZSkpO1xuZXhwb3J0cy5UVW5pb24gPSBUVW5pb247XG4vKipcbiAqIERlZmluZXMgYW4gaW50ZXJzZWN0aW9uIHR5cGUsIGUuZy4gaW50ZXJzZWN0aW9uKCdudW1iZXInLCAnbnVsbCcpLlxuICovXG5mdW5jdGlvbiBpbnRlcnNlY3Rpb24oKSB7XG4gICAgdmFyIHR5cGVTcGVjID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdHlwZVNwZWNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUSW50ZXJzZWN0aW9uKHR5cGVTcGVjLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gcGFyc2VTcGVjKHQpOyB9KSk7XG59XG5leHBvcnRzLmludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbjtcbnZhciBUSW50ZXJzZWN0aW9uID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUSW50ZXJzZWN0aW9uLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRJbnRlcnNlY3Rpb24odHR5cGVzKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnR0eXBlcyA9IHR0eXBlcztcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUSW50ZXJzZWN0aW9uLnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QpIHtcbiAgICAgICAgdmFyIGFsbG93ZWRQcm9wcyA9IG5ldyBTZXQoKTtcbiAgICAgICAgdmFyIGl0ZW1DaGVja2VycyA9IHRoaXMudHR5cGVzLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gdC5nZXRDaGVja2VyKHN1aXRlLCBzdHJpY3QsIGFsbG93ZWRQcm9wcyk7IH0pO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIHZhciBvayA9IGl0ZW1DaGVja2Vycy5ldmVyeShmdW5jdGlvbiAoY2hlY2tlcikgeyByZXR1cm4gY2hlY2tlcih2YWx1ZSwgY3R4KTsgfSk7XG4gICAgICAgICAgICBpZiAob2spIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChudWxsLCBudWxsLCAwKTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBUSW50ZXJzZWN0aW9uO1xufShUVHlwZSkpO1xuZXhwb3J0cy5USW50ZXJzZWN0aW9uID0gVEludGVyc2VjdGlvbjtcbi8qKlxuICogRGVmaW5lcyBhbiBlbnVtIHR5cGUsIGUuZy4gZW51bSh7J0EnOiAxLCAnQic6IDJ9KS5cbiAqL1xuZnVuY3Rpb24gZW51bXR5cGUodmFsdWVzKSB7XG4gICAgcmV0dXJuIG5ldyBURW51bVR5cGUodmFsdWVzKTtcbn1cbmV4cG9ydHMuZW51bXR5cGUgPSBlbnVtdHlwZTtcbnZhciBURW51bVR5cGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRFbnVtVHlwZSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBURW51bVR5cGUobWVtYmVycykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5tZW1iZXJzID0gbWVtYmVycztcbiAgICAgICAgX3RoaXMudmFsaWRWYWx1ZXMgPSBuZXcgU2V0KCk7XG4gICAgICAgIF90aGlzLl9mYWlsTXNnID0gXCJpcyBub3QgYSB2YWxpZCBlbnVtIHZhbHVlXCI7XG4gICAgICAgIF90aGlzLnZhbGlkVmFsdWVzID0gbmV3IFNldChPYmplY3Qua2V5cyhtZW1iZXJzKS5tYXAoZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIG1lbWJlcnNbbmFtZV07IH0pKTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBURW51bVR5cGUucHJvdG90eXBlLmdldENoZWNrZXIgPSBmdW5jdGlvbiAoc3VpdGUsIHN0cmljdCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIHJldHVybiAoX3RoaXMudmFsaWRWYWx1ZXMuaGFzKHZhbHVlKSA/IHRydWUgOiBjdHguZmFpbChudWxsLCBfdGhpcy5fZmFpbE1zZywgMCkpO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgcmV0dXJuIFRFbnVtVHlwZTtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVEVudW1UeXBlID0gVEVudW1UeXBlO1xuLyoqXG4gKiBEZWZpbmVzIGEgbGl0ZXJhbCBlbnVtIHZhbHVlLCBzdWNoIGFzIERpcmVjdGlvbi5VcCwgc3BlY2lmaWVkIGFzIGVudW1saXQoXCJEaXJlY3Rpb25cIiwgXCJVcFwiKS5cbiAqL1xuZnVuY3Rpb24gZW51bWxpdChuYW1lLCBwcm9wKSB7XG4gICAgcmV0dXJuIG5ldyBURW51bUxpdGVyYWwobmFtZSwgcHJvcCk7XG59XG5leHBvcnRzLmVudW1saXQgPSBlbnVtbGl0O1xudmFyIFRFbnVtTGl0ZXJhbCA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoVEVudW1MaXRlcmFsLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRFbnVtTGl0ZXJhbChlbnVtTmFtZSwgcHJvcCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5lbnVtTmFtZSA9IGVudW1OYW1lO1xuICAgICAgICBfdGhpcy5wcm9wID0gcHJvcDtcbiAgICAgICAgX3RoaXMuX2ZhaWxNc2cgPSBcImlzIG5vdCBcIiArIGVudW1OYW1lICsgXCIuXCIgKyBwcm9wO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRFbnVtTGl0ZXJhbC5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciB0dHlwZSA9IGdldE5hbWVkVHlwZShzdWl0ZSwgdGhpcy5lbnVtTmFtZSk7XG4gICAgICAgIGlmICghKHR0eXBlIGluc3RhbmNlb2YgVEVudW1UeXBlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVHlwZSBcIiArIHRoaXMuZW51bU5hbWUgKyBcIiB1c2VkIGluIGVudW1saXQgaXMgbm90IGFuIGVudW0gdHlwZVwiKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdmFsID0gdHR5cGUubWVtYmVyc1t0aGlzLnByb3BdO1xuICAgICAgICBpZiAoIXR0eXBlLm1lbWJlcnMuaGFzT3duUHJvcGVydHkodGhpcy5wcm9wKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biB2YWx1ZSBcIiArIHRoaXMuZW51bU5hbWUgKyBcIi5cIiArIHRoaXMucHJvcCArIFwiIHVzZWQgaW4gZW51bWxpdFwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHsgcmV0dXJuICh2YWx1ZSA9PT0gdmFsKSA/IHRydWUgOiBjdHguZmFpbChudWxsLCBfdGhpcy5fZmFpbE1zZywgLTEpOyB9O1xuICAgIH07XG4gICAgcmV0dXJuIFRFbnVtTGl0ZXJhbDtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVEVudW1MaXRlcmFsID0gVEVudW1MaXRlcmFsO1xuZnVuY3Rpb24gbWFrZUlmYWNlUHJvcHMocHJvcHMpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMocHJvcHMpLm1hcChmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gbWFrZUlmYWNlUHJvcChuYW1lLCBwcm9wc1tuYW1lXSk7IH0pO1xufVxuZnVuY3Rpb24gbWFrZUlmYWNlUHJvcChuYW1lLCBwcm9wKSB7XG4gICAgcmV0dXJuIHByb3AgaW5zdGFuY2VvZiBUT3B0aW9uYWwgP1xuICAgICAgICBuZXcgVFByb3AobmFtZSwgcHJvcC50dHlwZSwgdHJ1ZSkgOlxuICAgICAgICBuZXcgVFByb3AobmFtZSwgcGFyc2VTcGVjKHByb3ApLCBmYWxzZSk7XG59XG4vKipcbiAqIERlZmluZXMgYW4gaW50ZXJmYWNlLiBUaGUgZmlyc3QgYXJndW1lbnQgaXMgYW4gYXJyYXkgb2YgaW50ZXJmYWNlcyB0aGF0IGl0IGV4dGVuZHMsIGFuZCB0aGVcbiAqIHNlY29uZCBpcyBhbiBhcnJheSBvZiBwcm9wZXJ0aWVzLlxuICovXG5mdW5jdGlvbiBpZmFjZShiYXNlcywgcHJvcHMpIHtcbiAgICByZXR1cm4gbmV3IFRJZmFjZShiYXNlcywgbWFrZUlmYWNlUHJvcHMocHJvcHMpKTtcbn1cbmV4cG9ydHMuaWZhY2UgPSBpZmFjZTtcbnZhciBUSWZhY2UgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRJZmFjZSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUSWZhY2UoYmFzZXMsIHByb3BzKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmJhc2VzID0gYmFzZXM7XG4gICAgICAgIF90aGlzLnByb3BzID0gcHJvcHM7XG4gICAgICAgIF90aGlzLnByb3BTZXQgPSBuZXcgU2V0KHByb3BzLm1hcChmdW5jdGlvbiAocCkgeyByZXR1cm4gcC5uYW1lOyB9KSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgVElmYWNlLnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QsIGFsbG93ZWRQcm9wcykge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgYmFzZUNoZWNrZXJzID0gdGhpcy5iYXNlcy5tYXAoZnVuY3Rpb24gKGIpIHsgcmV0dXJuIGdldE5hbWVkVHlwZShzdWl0ZSwgYikuZ2V0Q2hlY2tlcihzdWl0ZSwgc3RyaWN0KTsgfSk7XG4gICAgICAgIHZhciBwcm9wQ2hlY2tlcnMgPSB0aGlzLnByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkgeyByZXR1cm4gcHJvcC50dHlwZS5nZXRDaGVja2VyKHN1aXRlLCBzdHJpY3QpOyB9KTtcbiAgICAgICAgdmFyIHRlc3RDdHggPSBuZXcgdXRpbF8xLk5vb3BDb250ZXh0KCk7XG4gICAgICAgIC8vIENvbnNpZGVyIGEgcHJvcCByZXF1aXJlZCBpZiBpdCdzIG5vdCBvcHRpb25hbCBBTkQgZG9lcyBub3QgYWxsb3cgZm9yIHVuZGVmaW5lZCBhcyBhIHZhbHVlLlxuICAgICAgICB2YXIgaXNQcm9wUmVxdWlyZWQgPSB0aGlzLnByb3BzLm1hcChmdW5jdGlvbiAocHJvcCwgaSkge1xuICAgICAgICAgICAgcmV0dXJuICFwcm9wLmlzT3B0ICYmICFwcm9wQ2hlY2tlcnNbaV0odW5kZWZpbmVkLCB0ZXN0Q3R4KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBjaGVja2VyID0gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmZhaWwobnVsbCwgXCJpcyBub3QgYW4gb2JqZWN0XCIsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiYXNlQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIWJhc2VDaGVja2Vyc1tpXSh2YWx1ZSwgY3R4KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgbmFtZV8xID0gX3RoaXMucHJvcHNbaV0ubmFtZTtcbiAgICAgICAgICAgICAgICB2YXIgdiA9IHZhbHVlW25hbWVfMV07XG4gICAgICAgICAgICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9wUmVxdWlyZWRbaV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChuYW1lXzEsIFwiaXMgbWlzc2luZ1wiLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9rID0gcHJvcENoZWNrZXJzW2ldKHYsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChuYW1lXzEsIG51bGwsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIGlmICghc3RyaWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2hlY2tlcjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJvcFNldCA9IHRoaXMucHJvcFNldDtcbiAgICAgICAgaWYgKGFsbG93ZWRQcm9wcykge1xuICAgICAgICAgICAgdGhpcy5wcm9wU2V0LmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHsgcmV0dXJuIGFsbG93ZWRQcm9wcy5hZGQocHJvcCk7IH0pO1xuICAgICAgICAgICAgcHJvcFNldCA9IGFsbG93ZWRQcm9wcztcbiAgICAgICAgfVxuICAgICAgICAvLyBJbiBzdHJpY3QgbW9kZSwgY2hlY2sgYWxzbyBmb3IgdW5rbm93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMuXG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgaWYgKCFjaGVja2VyKHZhbHVlLCBjdHgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICghcHJvcFNldC5oYXMocHJvcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5mYWlsKHByb3AsIFwiaXMgZXh0cmFuZW91c1wiLCAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBUSWZhY2U7XG59KFRUeXBlKSk7XG5leHBvcnRzLlRJZmFjZSA9IFRJZmFjZTtcbi8qKlxuICogRGVmaW5lcyBhbiBvcHRpb25hbCBwcm9wZXJ0eSBvbiBhbiBpbnRlcmZhY2UuXG4gKi9cbmZ1bmN0aW9uIG9wdCh0eXBlU3BlYykgeyByZXR1cm4gbmV3IFRPcHRpb25hbChwYXJzZVNwZWModHlwZVNwZWMpKTsgfVxuZXhwb3J0cy5vcHQgPSBvcHQ7XG52YXIgVE9wdGlvbmFsID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUT3B0aW9uYWwsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVE9wdGlvbmFsKHR0eXBlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnR0eXBlID0gdHR5cGU7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgVE9wdGlvbmFsLnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QpIHtcbiAgICAgICAgdmFyIGl0ZW1DaGVja2VyID0gdGhpcy50dHlwZS5nZXRDaGVja2VyKHN1aXRlLCBzdHJpY3QpO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGl0ZW1DaGVja2VyKHZhbHVlLCBjdHgpO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgcmV0dXJuIFRPcHRpb25hbDtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVE9wdGlvbmFsID0gVE9wdGlvbmFsO1xuLyoqXG4gKiBEZWZpbmVzIGEgcHJvcGVydHkgaW4gYW4gaW50ZXJmYWNlLlxuICovXG52YXIgVFByb3AgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVFByb3AobmFtZSwgdHR5cGUsIGlzT3B0KSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMudHR5cGUgPSB0dHlwZTtcbiAgICAgICAgdGhpcy5pc09wdCA9IGlzT3B0O1xuICAgIH1cbiAgICByZXR1cm4gVFByb3A7XG59KCkpO1xuZXhwb3J0cy5UUHJvcCA9IFRQcm9wO1xuLyoqXG4gKiBEZWZpbmVzIGEgZnVuY3Rpb24uIFRoZSBmaXJzdCBhcmd1bWVudCBkZWNsYXJlcyB0aGUgZnVuY3Rpb24ncyByZXR1cm4gdHlwZSwgdGhlIHJlc3QgZGVjbGFyZVxuICogaXRzIHBhcmFtZXRlcnMuXG4gKi9cbmZ1bmN0aW9uIGZ1bmMocmVzdWx0U3BlYykge1xuICAgIHZhciBwYXJhbXMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDE7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBwYXJhbXNbX2kgLSAxXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHJldHVybiBuZXcgVEZ1bmMobmV3IFRQYXJhbUxpc3QocGFyYW1zKSwgcGFyc2VTcGVjKHJlc3VsdFNwZWMpKTtcbn1cbmV4cG9ydHMuZnVuYyA9IGZ1bmM7XG52YXIgVEZ1bmMgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRGdW5jLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRGdW5jKHBhcmFtTGlzdCwgcmVzdWx0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnBhcmFtTGlzdCA9IHBhcmFtTGlzdDtcbiAgICAgICAgX3RoaXMucmVzdWx0ID0gcmVzdWx0O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRGdW5jLnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIgPyB0cnVlIDogY3R4LmZhaWwobnVsbCwgXCJpcyBub3QgYSBmdW5jdGlvblwiLCAwKTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBURnVuYztcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVEZ1bmMgPSBURnVuYztcbi8qKlxuICogRGVmaW5lcyBhIGZ1bmN0aW9uIHBhcmFtZXRlci5cbiAqL1xuZnVuY3Rpb24gcGFyYW0obmFtZSwgdHlwZVNwZWMsIGlzT3B0KSB7XG4gICAgcmV0dXJuIG5ldyBUUGFyYW0obmFtZSwgcGFyc2VTcGVjKHR5cGVTcGVjKSwgQm9vbGVhbihpc09wdCkpO1xufVxuZXhwb3J0cy5wYXJhbSA9IHBhcmFtO1xudmFyIFRQYXJhbSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBUUGFyYW0obmFtZSwgdHR5cGUsIGlzT3B0KSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMudHR5cGUgPSB0dHlwZTtcbiAgICAgICAgdGhpcy5pc09wdCA9IGlzT3B0O1xuICAgIH1cbiAgICByZXR1cm4gVFBhcmFtO1xufSgpKTtcbmV4cG9ydHMuVFBhcmFtID0gVFBhcmFtO1xuLyoqXG4gKiBEZWZpbmVzIGEgZnVuY3Rpb24gcGFyYW1ldGVyIGxpc3QuXG4gKi9cbnZhciBUUGFyYW1MaXN0ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUUGFyYW1MaXN0LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRQYXJhbUxpc3QocGFyYW1zKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUUGFyYW1MaXN0LnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIGl0ZW1DaGVja2VycyA9IHRoaXMucGFyYW1zLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gdC50dHlwZS5nZXRDaGVja2VyKHN1aXRlLCBzdHJpY3QpOyB9KTtcbiAgICAgICAgdmFyIHRlc3RDdHggPSBuZXcgdXRpbF8xLk5vb3BDb250ZXh0KCk7XG4gICAgICAgIHZhciBpc1BhcmFtUmVxdWlyZWQgPSB0aGlzLnBhcmFtcy5tYXAoZnVuY3Rpb24gKHBhcmFtLCBpKSB7XG4gICAgICAgICAgICByZXR1cm4gIXBhcmFtLmlzT3B0ICYmICFpdGVtQ2hlY2tlcnNbaV0odW5kZWZpbmVkLCB0ZXN0Q3R4KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBjaGVja2VyID0gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmZhaWwobnVsbCwgXCJpcyBub3QgYW4gYXJyYXlcIiwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1DaGVja2Vycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHZhciBwID0gX3RoaXMucGFyYW1zW2ldO1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZVtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1BhcmFtUmVxdWlyZWRbaV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChwLm5hbWUsIFwiaXMgbWlzc2luZ1wiLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9rID0gaXRlbUNoZWNrZXJzW2ldKHZhbHVlW2ldLCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmZhaWwocC5uYW1lLCBudWxsLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuICAgICAgICBpZiAoIXN0cmljdCkge1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBpZiAoIWNoZWNrZXIodmFsdWUsIGN0eCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoIDw9IGl0ZW1DaGVja2Vycy5sZW5ndGggPyB0cnVlIDpcbiAgICAgICAgICAgICAgICBjdHguZmFpbChpdGVtQ2hlY2tlcnMubGVuZ3RoLCBcImlzIGV4dHJhbmVvdXNcIiwgMik7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICByZXR1cm4gVFBhcmFtTGlzdDtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVFBhcmFtTGlzdCA9IFRQYXJhbUxpc3Q7XG4vKipcbiAqIFNpbmdsZSBUVHlwZSBpbXBsZW1lbnRhdGlvbiBmb3IgYWxsIGJhc2ljIGJ1aWx0LWluIHR5cGVzLlxuICovXG52YXIgQmFzaWNUeXBlID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhCYXNpY1R5cGUsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQmFzaWNUeXBlKHZhbGlkYXRvciwgbWVzc2FnZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy52YWxpZGF0b3IgPSB2YWxpZGF0b3I7XG4gICAgICAgIF90aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEJhc2ljVHlwZS5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkgeyByZXR1cm4gX3RoaXMudmFsaWRhdG9yKHZhbHVlKSA/IHRydWUgOiBjdHguZmFpbChudWxsLCBfdGhpcy5tZXNzYWdlLCAwKTsgfTtcbiAgICB9O1xuICAgIHJldHVybiBCYXNpY1R5cGU7XG59KFRUeXBlKSk7XG5leHBvcnRzLkJhc2ljVHlwZSA9IEJhc2ljVHlwZTtcbi8qKlxuICogRGVmaW5lcyB0aGUgc3VpdGUgb2YgYmFzaWMgdHlwZXMuXG4gKi9cbmV4cG9ydHMuYmFzaWNUeXBlcyA9IHtcbiAgICBhbnk6IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHRydWU7IH0sIFwiaXMgaW52YWxpZFwiKSxcbiAgICBudW1iZXI6IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuICh0eXBlb2YgdiA9PT0gXCJudW1iZXJcIik7IH0sIFwiaXMgbm90IGEgbnVtYmVyXCIpLFxuICAgIG9iamVjdDogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gKHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmIHYpOyB9LCBcImlzIG5vdCBhbiBvYmplY3RcIiksXG4gICAgYm9vbGVhbjogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gKHR5cGVvZiB2ID09PSBcImJvb2xlYW5cIik7IH0sIFwiaXMgbm90IGEgYm9vbGVhblwiKSxcbiAgICBzdHJpbmc6IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuICh0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIik7IH0sIFwiaXMgbm90IGEgc3RyaW5nXCIpLFxuICAgIHN5bWJvbDogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gKHR5cGVvZiB2ID09PSBcInN5bWJvbFwiKTsgfSwgXCJpcyBub3QgYSBzeW1ib2xcIiksXG4gICAgdm9pZDogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gKHYgPT0gbnVsbCk7IH0sIFwiaXMgbm90IHZvaWRcIiksXG4gICAgdW5kZWZpbmVkOiBuZXcgQmFzaWNUeXBlKGZ1bmN0aW9uICh2KSB7IHJldHVybiAodiA9PT0gdW5kZWZpbmVkKTsgfSwgXCJpcyBub3QgdW5kZWZpbmVkXCIpLFxuICAgIG51bGw6IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuICh2ID09PSBudWxsKTsgfSwgXCJpcyBub3QgbnVsbFwiKSxcbiAgICBuZXZlcjogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gZmFsc2U7IH0sIFwiaXMgdW5leHBlY3RlZFwiKSxcbiAgICBEYXRlOiBuZXcgQmFzaWNUeXBlKGdldElzTmF0aXZlQ2hlY2tlcihcIltvYmplY3QgRGF0ZV1cIiksIFwiaXMgbm90IGEgRGF0ZVwiKSxcbiAgICBSZWdFeHA6IG5ldyBCYXNpY1R5cGUoZ2V0SXNOYXRpdmVDaGVja2VyKFwiW29iamVjdCBSZWdFeHBdXCIpLCBcImlzIG5vdCBhIFJlZ0V4cFwiKSxcbn07XG4vLyBUaGlzIGFwcHJvYWNoIGZvciBjaGVja2luZyBuYXRpdmUgb2JqZWN0IHR5cGVzIG1pcnJvcnMgdGhhdCBvZiBsb2Rhc2guIEl0cyBhZHZhbnRhZ2Ugb3ZlclxuLy8gYGlzaW5zdGFuY2VgIGlzIHRoYXQgaXQgY2FuIHN0aWxsIHJldHVybiB0cnVlIGZvciBuYXRpdmUgb2JqZWN0cyBjcmVhdGVkIGluIGRpZmZlcmVudCBKU1xuLy8gZXhlY3V0aW9uIGVudmlyb25tZW50cy5cbnZhciBuYXRpdmVUb1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5mdW5jdGlvbiBnZXRJc05hdGl2ZUNoZWNrZXIodGFnKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiB0eXBlb2YgdiA9PT0gXCJvYmplY3RcIiAmJiB2ICYmIG5hdGl2ZVRvU3RyaW5nLmNhbGwodikgPT09IHRhZzsgfTtcbn1cbmlmICh0eXBlb2YgQnVmZmVyICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgZXhwb3J0cy5iYXNpY1R5cGVzLkJ1ZmZlciA9IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcih2KTsgfSwgXCJpcyBub3QgYSBCdWZmZXJcIik7XG59XG52YXIgX2xvb3BfMSA9IGZ1bmN0aW9uIChhcnJheV8xKSB7XG4gICAgZXhwb3J0cy5iYXNpY1R5cGVzW2FycmF5XzEubmFtZV0gPSBuZXcgQmFzaWNUeXBlKGZ1bmN0aW9uICh2KSB7IHJldHVybiAodiBpbnN0YW5jZW9mIGFycmF5XzEpOyB9LCBcImlzIG5vdCBhIFwiICsgYXJyYXlfMS5uYW1lKTtcbn07XG4vLyBTdXBwb3J0IHR5cGVkIGFycmF5cyBvZiB2YXJpb3VzIGZsYXZvcnNcbmZvciAodmFyIF9pID0gMCwgX2EgPSBbSW50OEFycmF5LCBVaW50OEFycmF5LCBVaW50OENsYW1wZWRBcnJheSwgSW50MTZBcnJheSwgVWludDE2QXJyYXksXG4gICAgSW50MzJBcnJheSwgVWludDMyQXJyYXksIEZsb2F0MzJBcnJheSwgRmxvYXQ2NEFycmF5LCBBcnJheUJ1ZmZlcl07IF9pIDwgX2EubGVuZ3RoOyBfaSsrKSB7XG4gICAgdmFyIGFycmF5XzEgPSBfYVtfaV07XG4gICAgX2xvb3BfMShhcnJheV8xKTtcbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcbnZhciBfX3NwcmVhZEFycmF5cyA9ICh0aGlzICYmIHRoaXMuX19zcHJlYWRBcnJheXMpIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxuICAgICAgICAgICAgcltrXSA9IGFbal07XG4gICAgcmV0dXJuIHI7XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5DaGVja2VyID0gZXhwb3J0cy5jcmVhdGVDaGVja2VycyA9IHZvaWQgMDtcbnZhciB0eXBlc18xID0gcmVxdWlyZShcIi4vdHlwZXNcIik7XG52YXIgdXRpbF8xID0gcmVxdWlyZShcIi4vdXRpbFwiKTtcbi8qKlxuICogRXhwb3J0IGZ1bmN0aW9ucyB1c2VkIHRvIGRlZmluZSBpbnRlcmZhY2VzLlxuICovXG52YXIgdHlwZXNfMiA9IHJlcXVpcmUoXCIuL3R5cGVzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVEFycmF5XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLlRBcnJheTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRFbnVtVHlwZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5URW51bVR5cGU7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJURW51bUxpdGVyYWxcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVEVudW1MaXRlcmFsOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVEZ1bmNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVEZ1bmM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUSWZhY2VcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVElmYWNlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVExpdGVyYWxcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVExpdGVyYWw7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUTmFtZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5UTmFtZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRPcHRpb25hbFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5UT3B0aW9uYWw7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUUGFyYW1cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFBhcmFtOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVFBhcmFtTGlzdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5UUGFyYW1MaXN0OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVFByb3BcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFByb3A7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUVHVwbGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFR1cGxlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVFR5cGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFR5cGU7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUVW5pb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFVuaW9uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVEludGVyc2VjdGlvblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5USW50ZXJzZWN0aW9uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYXJyYXlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuYXJyYXk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbnVtbGl0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLmVudW1saXQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbnVtdHlwZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5lbnVtdHlwZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZ1bmNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuZnVuYzsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlmYWNlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLmlmYWNlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibGl0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLmxpdDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5hbWVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIubmFtZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm9wdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5vcHQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJhbVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5wYXJhbTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInR1cGxlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLnR1cGxlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidW5pb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIudW5pb247IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpbnRlcnNlY3Rpb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuaW50ZXJzZWN0aW9uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQmFzaWNUeXBlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLkJhc2ljVHlwZTsgfSB9KTtcbnZhciB1dGlsXzIgPSByZXF1aXJlKFwiLi91dGlsXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVkVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB1dGlsXzIuVkVycm9yOyB9IH0pO1xuLyoqXG4gKiBUYWtlcyBvbmUgb2YgbW9yZSB0eXBlIHN1aXRlcyAoZS5nLiBhIG1vZHVsZSBnZW5lcmF0ZWQgYnkgYHRzLWludGVyZmFjZS1idWlsZGVyYCksIGFuZCBjb21iaW5lc1xuICogdGhlbSBpbnRvIGEgc3VpdGUgb2YgaW50ZXJmYWNlIGNoZWNrZXJzLiBJZiBhIHR5cGUgaXMgdXNlZCBieSBuYW1lLCB0aGF0IG5hbWUgc2hvdWxkIGJlIHByZXNlbnRcbiAqIGFtb25nIHRoZSBwYXNzZWQtaW4gdHlwZSBzdWl0ZXMuXG4gKlxuICogVGhlIHJldHVybmVkIG9iamVjdCBtYXBzIHR5cGUgbmFtZXMgdG8gQ2hlY2tlciBvYmplY3RzLlxuICovXG5mdW5jdGlvbiBjcmVhdGVDaGVja2VycygpIHtcbiAgICB2YXIgdHlwZVN1aXRlID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdHlwZVN1aXRlW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHZhciBmdWxsU3VpdGUgPSBPYmplY3QuYXNzaWduLmFwcGx5KE9iamVjdCwgX19zcHJlYWRBcnJheXMoW3t9LCB0eXBlc18xLmJhc2ljVHlwZXNdLCB0eXBlU3VpdGUpKTtcbiAgICB2YXIgY2hlY2tlcnMgPSB7fTtcbiAgICBmb3IgKHZhciBfYSA9IDAsIHR5cGVTdWl0ZV8xID0gdHlwZVN1aXRlOyBfYSA8IHR5cGVTdWl0ZV8xLmxlbmd0aDsgX2ErKykge1xuICAgICAgICB2YXIgc3VpdGVfMSA9IHR5cGVTdWl0ZV8xW19hXTtcbiAgICAgICAgZm9yICh2YXIgX2IgPSAwLCBfYyA9IE9iamVjdC5rZXlzKHN1aXRlXzEpOyBfYiA8IF9jLmxlbmd0aDsgX2IrKykge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSBfY1tfYl07XG4gICAgICAgICAgICBjaGVja2Vyc1tuYW1lXSA9IG5ldyBDaGVja2VyKGZ1bGxTdWl0ZSwgc3VpdGVfMVtuYW1lXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoZWNrZXJzO1xufVxuZXhwb3J0cy5jcmVhdGVDaGVja2VycyA9IGNyZWF0ZUNoZWNrZXJzO1xuLyoqXG4gKiBDaGVja2VyIGltcGxlbWVudHMgdmFsaWRhdGlvbiBvZiBvYmplY3RzLCBhbmQgYWxzbyBpbmNsdWRlcyBhY2Nlc3NvcnMgdG8gdmFsaWRhdGUgbWV0aG9kIGNhbGxzLlxuICogQ2hlY2tlcnMgc2hvdWxkIGJlIGNyZWF0ZWQgdXNpbmcgYGNyZWF0ZUNoZWNrZXJzKClgLlxuICovXG52YXIgQ2hlY2tlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBDcmVhdGUgY2hlY2tlcnMgYnkgdXNpbmcgYGNyZWF0ZUNoZWNrZXJzKClgIGZ1bmN0aW9uLlxuICAgIGZ1bmN0aW9uIENoZWNrZXIoc3VpdGUsIHR0eXBlLCBfcGF0aCkge1xuICAgICAgICBpZiAoX3BhdGggPT09IHZvaWQgMCkgeyBfcGF0aCA9ICd2YWx1ZSc7IH1cbiAgICAgICAgdGhpcy5zdWl0ZSA9IHN1aXRlO1xuICAgICAgICB0aGlzLnR0eXBlID0gdHR5cGU7XG4gICAgICAgIHRoaXMuX3BhdGggPSBfcGF0aDtcbiAgICAgICAgdGhpcy5wcm9wcyA9IG5ldyBNYXAoKTtcbiAgICAgICAgaWYgKHR0eXBlIGluc3RhbmNlb2YgdHlwZXNfMS5USWZhY2UpIHtcbiAgICAgICAgICAgIGZvciAodmFyIF9pID0gMCwgX2EgPSB0dHlwZS5wcm9wczsgX2kgPCBfYS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgcCA9IF9hW19pXTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldChwLm5hbWUsIHAudHR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hlY2tlclBsYWluID0gdGhpcy50dHlwZS5nZXRDaGVja2VyKHN1aXRlLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuY2hlY2tlclN0cmljdCA9IHRoaXMudHR5cGUuZ2V0Q2hlY2tlcihzdWl0ZSwgdHJ1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgcGF0aCB0byByZXBvcnQgaW4gZXJyb3JzLCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IFwidmFsdWVcIi4gKEUuZy4gaWYgdGhlIENoZWNrZXIgaXMgZm9yXG4gICAgICogYSBcInBlcnNvblwiIGludGVyZmFjZSwgc2V0IHBhdGggdG8gXCJwZXJzb25cIiB0byByZXBvcnQgZS5nLiBcInBlcnNvbi5uYW1lIGlzIG5vdCBhIHN0cmluZ1wiLilcbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS5zZXRSZXBvcnRlZFBhdGggPSBmdW5jdGlvbiAocGF0aCkge1xuICAgICAgICB0aGlzLl9wYXRoID0gcGF0aDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENoZWNrIHRoYXQgdGhlIGdpdmVuIHZhbHVlIHNhdGlzZmllcyB0aGlzIGNoZWNrZXIncyB0eXBlLCBvciB0aHJvdyBFcnJvci5cbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS5jaGVjayA9IGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdGhpcy5fZG9DaGVjayh0aGlzLmNoZWNrZXJQbGFpbiwgdmFsdWUpOyB9O1xuICAgIC8qKlxuICAgICAqIEEgZmFzdCBjaGVjayBmb3Igd2hldGhlciBvciBub3QgdGhlIGdpdmVuIHZhbHVlIHNhdGlzZmllcyB0aGlzIENoZWNrZXIncyB0eXBlLiBUaGlzIHJldHVybnNcbiAgICAgKiB0cnVlIG9yIGZhbHNlLCBkb2VzIG5vdCBwcm9kdWNlIGFuIGVycm9yIG1lc3NhZ2UsIGFuZCBpcyBmYXN0IGJvdGggb24gc3VjY2VzcyBhbmQgb24gZmFpbHVyZS5cbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrZXJQbGFpbih2YWx1ZSwgbmV3IHV0aWxfMS5Ob29wQ29udGV4dCgpKTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gZXJyb3Igb2JqZWN0IGRlc2NyaWJpbmcgdGhlIGVycm9ycyBpZiB0aGUgZ2l2ZW4gdmFsdWUgZG9lcyBub3Qgc2F0aXNmeSB0aGlzXG4gICAgICogQ2hlY2tlcidzIHR5cGUsIG9yIG51bGwgaWYgaXQgZG9lcy5cbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZG9WYWxpZGF0ZSh0aGlzLmNoZWNrZXJQbGFpbiwgdmFsdWUpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQ2hlY2sgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgc2F0aXNmaWVzIHRoaXMgY2hlY2tlcidzIHR5cGUgc3RyaWN0bHkuIFRoaXMgY2hlY2tzIHRoYXQgb2JqZWN0c1xuICAgICAqIGFuZCB0dXBsZXMgaGF2ZSBubyBleHRyYSBtZW1iZXJzLiBOb3RlIHRoYXQgdGhpcyBwcmV2ZW50cyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBzbyB1c3VhbGx5XG4gICAgICogYSBwbGFpbiBjaGVjaygpIGlzIG1vcmUgYXBwcm9wcmlhdGUuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuc3RyaWN0Q2hlY2sgPSBmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHRoaXMuX2RvQ2hlY2sodGhpcy5jaGVja2VyU3RyaWN0LCB2YWx1ZSk7IH07XG4gICAgLyoqXG4gICAgICogQSBmYXN0IHN0cmljdCBjaGVjayBmb3Igd2hldGhlciBvciBub3QgdGhlIGdpdmVuIHZhbHVlIHNhdGlzZmllcyB0aGlzIENoZWNrZXIncyB0eXBlLiBSZXR1cm5zXG4gICAgICogdHJ1ZSBvciBmYWxzZSwgZG9lcyBub3QgcHJvZHVjZSBhbiBlcnJvciBtZXNzYWdlLCBhbmQgaXMgZmFzdCBib3RoIG9uIHN1Y2Nlc3MgYW5kIG9uIGZhaWx1cmUuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuc3RyaWN0VGVzdCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja2VyU3RyaWN0KHZhbHVlLCBuZXcgdXRpbF8xLk5vb3BDb250ZXh0KCkpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBlcnJvciBvYmplY3QgZGVzY3JpYmluZyB0aGUgZXJyb3JzIGlmIHRoZSBnaXZlbiB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoaXNcbiAgICAgKiBDaGVja2VyJ3MgdHlwZSBzdHJpY3RseSwgb3IgbnVsbCBpZiBpdCBkb2VzLlxuICAgICAqL1xuICAgIENoZWNrZXIucHJvdG90eXBlLnN0cmljdFZhbGlkYXRlID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kb1ZhbGlkYXRlKHRoaXMuY2hlY2tlclN0cmljdCwgdmFsdWUpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogSWYgdGhpcyBjaGVja2VyIGlzIGZvciBhbiBpbnRlcmZhY2UsIHJldHVybnMgYSBDaGVja2VyIGZvciB0aGUgdHlwZSByZXF1aXJlZCBmb3IgdGhlIGdpdmVuXG4gICAgICogcHJvcGVydHkgb2YgdGhpcyBpbnRlcmZhY2UuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuZ2V0UHJvcCA9IGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICAgIHZhciB0dHlwZSA9IHRoaXMucHJvcHMuZ2V0KHByb3ApO1xuICAgICAgICBpZiAoIXR0eXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUeXBlIGhhcyBubyBwcm9wZXJ0eSBcIiArIHByb3ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tlcih0aGlzLnN1aXRlLCB0dHlwZSwgdGhpcy5fcGF0aCArIFwiLlwiICsgcHJvcCk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBJZiB0aGlzIGNoZWNrZXIgaXMgZm9yIGFuIGludGVyZmFjZSwgcmV0dXJucyBhIENoZWNrZXIgZm9yIHRoZSBhcmd1bWVudC1saXN0IHJlcXVpcmVkIHRvIGNhbGxcbiAgICAgKiB0aGUgZ2l2ZW4gbWV0aG9kIG9mIHRoaXMgaW50ZXJmYWNlLiBFLmcuIGlmIHRoaXMgQ2hlY2tlciBpcyBmb3IgdGhlIGludGVyZmFjZTpcbiAgICAgKiAgICBpbnRlcmZhY2UgRm9vIHtcbiAgICAgKiAgICAgIGZpbmQoczogc3RyaW5nLCBwb3M/OiBudW1iZXIpOiBudW1iZXI7XG4gICAgICogICAgfVxuICAgICAqIFRoZW4gbWV0aG9kQXJncyhcImZpbmRcIikuY2hlY2soLi4uKSB3aWxsIHN1Y2NlZWQgZm9yIFtcImZvb1wiXSBhbmQgW1wiZm9vXCIsIDNdLCBidXQgbm90IGZvciBbMTddLlxuICAgICAqL1xuICAgIENoZWNrZXIucHJvdG90eXBlLm1ldGhvZEFyZ3MgPSBmdW5jdGlvbiAobWV0aG9kTmFtZSkge1xuICAgICAgICB2YXIgdGZ1bmMgPSB0aGlzLl9nZXRNZXRob2QobWV0aG9kTmFtZSk7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tlcih0aGlzLnN1aXRlLCB0ZnVuYy5wYXJhbUxpc3QpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogSWYgdGhpcyBjaGVja2VyIGlzIGZvciBhbiBpbnRlcmZhY2UsIHJldHVybnMgYSBDaGVja2VyIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBnaXZlblxuICAgICAqIG1ldGhvZCBvZiB0aGlzIGludGVyZmFjZS5cbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS5tZXRob2RSZXN1bHQgPSBmdW5jdGlvbiAobWV0aG9kTmFtZSkge1xuICAgICAgICB2YXIgdGZ1bmMgPSB0aGlzLl9nZXRNZXRob2QobWV0aG9kTmFtZSk7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tlcih0aGlzLnN1aXRlLCB0ZnVuYy5yZXN1bHQpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogSWYgdGhpcyBjaGVja2VyIGlzIGZvciBhIGZ1bmN0aW9uLCByZXR1cm5zIGEgQ2hlY2tlciBmb3IgaXRzIGFyZ3VtZW50LWxpc3QuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuZ2V0QXJncyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCEodGhpcy50dHlwZSBpbnN0YW5jZW9mIHR5cGVzXzEuVEZ1bmMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZXRBcmdzKCkgYXBwbGllZCB0byBub24tZnVuY3Rpb25cIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja2VyKHRoaXMuc3VpdGUsIHRoaXMudHR5cGUucGFyYW1MaXN0KTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIElmIHRoaXMgY2hlY2tlciBpcyBmb3IgYSBmdW5jdGlvbiwgcmV0dXJucyBhIENoZWNrZXIgZm9yIGl0cyByZXN1bHQuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuZ2V0UmVzdWx0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoISh0aGlzLnR0eXBlIGluc3RhbmNlb2YgdHlwZXNfMS5URnVuYykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImdldFJlc3VsdCgpIGFwcGxpZWQgdG8gbm9uLWZ1bmN0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tlcih0aGlzLnN1aXRlLCB0aGlzLnR0eXBlLnJlc3VsdCk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIHR5cGUgZm9yIHdoaWNoIHRoaXMgaXMgYSBjaGVja2VyLlxuICAgICAqL1xuICAgIENoZWNrZXIucHJvdG90eXBlLmdldFR5cGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR0eXBlO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQWN0dWFsIGltcGxlbWVudGF0aW9uIG9mIGNoZWNrKCkgYW5kIHN0cmljdENoZWNrKCkuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuX2RvQ2hlY2sgPSBmdW5jdGlvbiAoY2hlY2tlckZ1bmMsIHZhbHVlKSB7XG4gICAgICAgIHZhciBub29wQ3R4ID0gbmV3IHV0aWxfMS5Ob29wQ29udGV4dCgpO1xuICAgICAgICBpZiAoIWNoZWNrZXJGdW5jKHZhbHVlLCBub29wQ3R4KSkge1xuICAgICAgICAgICAgdmFyIGRldGFpbEN0eCA9IG5ldyB1dGlsXzEuRGV0YWlsQ29udGV4dCgpO1xuICAgICAgICAgICAgY2hlY2tlckZ1bmModmFsdWUsIGRldGFpbEN0eCk7XG4gICAgICAgICAgICB0aHJvdyBkZXRhaWxDdHguZ2V0RXJyb3IodGhpcy5fcGF0aCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIENoZWNrZXIucHJvdG90eXBlLl9kb1ZhbGlkYXRlID0gZnVuY3Rpb24gKGNoZWNrZXJGdW5jLCB2YWx1ZSkge1xuICAgICAgICB2YXIgbm9vcEN0eCA9IG5ldyB1dGlsXzEuTm9vcENvbnRleHQoKTtcbiAgICAgICAgaWYgKGNoZWNrZXJGdW5jKHZhbHVlLCBub29wQ3R4KSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRldGFpbEN0eCA9IG5ldyB1dGlsXzEuRGV0YWlsQ29udGV4dCgpO1xuICAgICAgICBjaGVja2VyRnVuYyh2YWx1ZSwgZGV0YWlsQ3R4KTtcbiAgICAgICAgcmV0dXJuIGRldGFpbEN0eC5nZXRFcnJvckRldGFpbCh0aGlzLl9wYXRoKTtcbiAgICB9O1xuICAgIENoZWNrZXIucHJvdG90eXBlLl9nZXRNZXRob2QgPSBmdW5jdGlvbiAobWV0aG9kTmFtZSkge1xuICAgICAgICB2YXIgdHR5cGUgPSB0aGlzLnByb3BzLmdldChtZXRob2ROYW1lKTtcbiAgICAgICAgaWYgKCF0dHlwZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVHlwZSBoYXMgbm8gcHJvcGVydHkgXCIgKyBtZXRob2ROYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISh0dHlwZSBpbnN0YW5jZW9mIHR5cGVzXzEuVEZ1bmMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQcm9wZXJ0eSBcIiArIG1ldGhvZE5hbWUgKyBcIiBpcyBub3QgYSBtZXRob2RcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHR0eXBlO1xuICAgIH07XG4gICAgcmV0dXJuIENoZWNrZXI7XG59KCkpO1xuZXhwb3J0cy5DaGVja2VyID0gQ2hlY2tlcjtcbiIsICJcInVzZSBzdHJpY3RcIjtcbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLkxpbmVzQW5kQ29sdW1ucyA9IHZvaWQgMDtcbnZhciBMRiA9ICdcXG4nO1xudmFyIENSID0gJ1xccic7XG52YXIgTGluZXNBbmRDb2x1bW5zID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIExpbmVzQW5kQ29sdW1ucyhzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgICAgIHZhciBvZmZzZXRzID0gWzBdO1xuICAgICAgICBmb3IgKHZhciBvZmZzZXQgPSAwOyBvZmZzZXQgPCBzdHJpbmcubGVuZ3RoOykge1xuICAgICAgICAgICAgc3dpdGNoIChzdHJpbmdbb2Zmc2V0XSkge1xuICAgICAgICAgICAgICAgIGNhc2UgTEY6XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCArPSBMRi5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldHMucHVzaChvZmZzZXQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIENSOlxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gQ1IubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nW29mZnNldF0gPT09IExGKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gTEYubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldHMucHVzaChvZmZzZXQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQrKztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vZmZzZXRzID0gb2Zmc2V0cztcbiAgICB9XG4gICAgTGluZXNBbmRDb2x1bW5zLnByb3RvdHlwZS5sb2NhdGlvbkZvckluZGV4ID0gZnVuY3Rpb24gKGluZGV4KSB7XG4gICAgICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPiB0aGlzLnN0cmluZy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHZhciBsaW5lID0gMDtcbiAgICAgICAgdmFyIG9mZnNldHMgPSB0aGlzLm9mZnNldHM7XG4gICAgICAgIHdoaWxlIChvZmZzZXRzW2xpbmUgKyAxXSA8PSBpbmRleCkge1xuICAgICAgICAgICAgbGluZSsrO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjb2x1bW4gPSBpbmRleCAtIG9mZnNldHNbbGluZV07XG4gICAgICAgIHJldHVybiB7IGxpbmU6IGxpbmUsIGNvbHVtbjogY29sdW1uIH07XG4gICAgfTtcbiAgICBMaW5lc0FuZENvbHVtbnMucHJvdG90eXBlLmluZGV4Rm9yTG9jYXRpb24gPSBmdW5jdGlvbiAobG9jYXRpb24pIHtcbiAgICAgICAgdmFyIGxpbmUgPSBsb2NhdGlvbi5saW5lLCBjb2x1bW4gPSBsb2NhdGlvbi5jb2x1bW47XG4gICAgICAgIGlmIChsaW5lIDwgMCB8fCBsaW5lID49IHRoaXMub2Zmc2V0cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb2x1bW4gPCAwIHx8IGNvbHVtbiA+IHRoaXMubGVuZ3RoT2ZMaW5lKGxpbmUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vZmZzZXRzW2xpbmVdICsgY29sdW1uO1xuICAgIH07XG4gICAgTGluZXNBbmRDb2x1bW5zLnByb3RvdHlwZS5sZW5ndGhPZkxpbmUgPSBmdW5jdGlvbiAobGluZSkge1xuICAgICAgICB2YXIgb2Zmc2V0ID0gdGhpcy5vZmZzZXRzW2xpbmVdO1xuICAgICAgICB2YXIgbmV4dE9mZnNldCA9IGxpbmUgPT09IHRoaXMub2Zmc2V0cy5sZW5ndGggLSAxXG4gICAgICAgICAgICA/IHRoaXMuc3RyaW5nLmxlbmd0aFxuICAgICAgICAgICAgOiB0aGlzLm9mZnNldHNbbGluZSArIDFdO1xuICAgICAgICByZXR1cm4gbmV4dE9mZnNldCAtIG9mZnNldDtcbiAgICB9O1xuICAgIHJldHVybiBMaW5lc0FuZENvbHVtbnM7XG59KCkpO1xuZXhwb3J0cy5MaW5lc0FuZENvbHVtbnMgPSBMaW5lc0FuZENvbHVtbnM7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IExpbmVzQW5kQ29sdW1ucztcbiIsICIvKiogQGxpY2Vuc2UgUmVhY3QgdjE2LjEzLjFcbiAqIHJlYWN0LWlzLmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLiBJZiB0aGVyZSBpcyBubyBuYXRpdmUgU3ltYm9sXG4vLyBub3IgcG9seWZpbGwsIHRoZW4gYSBwbGFpbiBudW1iZXIgaXMgdXNlZCBmb3IgcGVyZm9ybWFuY2UuXG52YXIgaGFzU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yO1xudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpIDogMHhlYWNhO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpIDogMHhlYWNiO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpIDogMHhlYWNjO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpIDogMHhlYWQyO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpIDogMHhlYWNkO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKSA6IDB4ZWFjZTsgLy8gVE9ETzogV2UgZG9uJ3QgdXNlIEFzeW5jTW9kZSBvciBDb25jdXJyZW50TW9kZSBhbnltb3JlLiBUaGV5IHdlcmUgdGVtcG9yYXJ5XG4vLyAodW5zdGFibGUpIEFQSXMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZC4gQ2FuIHdlIHJlbW92ZSB0aGUgc3ltYm9scz9cblxudmFyIFJFQUNUX0FTWU5DX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmFzeW5jX21vZGUnKSA6IDB4ZWFjZjtcbnZhciBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbmN1cnJlbnRfbW9kZScpIDogMHhlYWNmO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpIDogMHhlYWQwO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpIDogMHhlYWQxO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKSA6IDB4ZWFkODtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJykgOiAweGVhZDM7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QubGF6eScpIDogMHhlYWQ0O1xudmFyIFJFQUNUX0JMT0NLX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5ibG9jaycpIDogMHhlYWQ5O1xudmFyIFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mdW5kYW1lbnRhbCcpIDogMHhlYWQ1O1xudmFyIFJFQUNUX1JFU1BPTkRFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucmVzcG9uZGVyJykgOiAweGVhZDY7XG52YXIgUkVBQ1RfU0NPUEVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnNjb3BlJykgOiAweGVhZDc7XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgfHwgLy8gTm90ZTogaXRzIHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIGlmIGl0J3MgYSBwb2x5ZmlsbC5cbiAgdHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GVU5EQU1FTlRBTF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1JFU1BPTkRFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1NDT1BFX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQkxPQ0tfVFlQRSk7XG59XG5cbmZ1bmN0aW9uIHR5cGVPZihvYmplY3QpIHtcbiAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCkge1xuICAgIHZhciAkJHR5cGVvZiA9IG9iamVjdC4kJHR5cGVvZjtcblxuICAgIHN3aXRjaCAoJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICB2YXIgdHlwZSA9IG9iamVjdC50eXBlO1xuXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgUkVBQ1RfQVNZTkNfTU9ERV9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OQ1VSUkVOVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFyICQkdHlwZW9mVHlwZSA9IHR5cGUgJiYgdHlwZS4kJHR5cGVvZjtcblxuICAgICAgICAgICAgc3dpdGNoICgkJHR5cGVvZlR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuICQkdHlwZW9mVHlwZTtcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAkJHR5cGVvZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgIHJldHVybiAkJHR5cGVvZjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufSAvLyBBc3luY01vZGUgaXMgZGVwcmVjYXRlZCBhbG9uZyB3aXRoIGlzQXN5bmNNb2RlXG5cbnZhciBBc3luY01vZGUgPSBSRUFDVF9BU1lOQ19NT0RFX1RZUEU7XG52YXIgQ29uY3VycmVudE1vZGUgPSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRTtcbnZhciBDb250ZXh0Q29uc3VtZXIgPSBSRUFDVF9DT05URVhUX1RZUEU7XG52YXIgQ29udGV4dFByb3ZpZGVyID0gUkVBQ1RfUFJPVklERVJfVFlQRTtcbnZhciBFbGVtZW50ID0gUkVBQ1RfRUxFTUVOVF9UWVBFO1xudmFyIEZvcndhcmRSZWYgPSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFO1xudmFyIEZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbnZhciBMYXp5ID0gUkVBQ1RfTEFaWV9UWVBFO1xudmFyIE1lbW8gPSBSRUFDVF9NRU1PX1RZUEU7XG52YXIgUG9ydGFsID0gUkVBQ1RfUE9SVEFMX1RZUEU7XG52YXIgUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xudmFyIFN0cmljdE1vZGUgPSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFO1xudmFyIFN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbnZhciBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IGZhbHNlOyAvLyBBc3luY01vZGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWRcblxuZnVuY3Rpb24gaXNBc3luY01vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlKSB7XG4gICAgICBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IHRydWU7IC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG5cbiAgICAgIGNvbnNvbGVbJ3dhcm4nXSgnVGhlIFJlYWN0SXMuaXNBc3luY01vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTcrLiBVcGRhdGUgeW91ciBjb2RlIHRvIHVzZSAnICsgJ1JlYWN0SXMuaXNDb25jdXJyZW50TW9kZSgpIGluc3RlYWQuIEl0IGhhcyB0aGUgZXhhY3Qgc2FtZSBBUEkuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGlzQ29uY3VycmVudE1vZGUob2JqZWN0KSB8fCB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfQVNZTkNfTU9ERV9UWVBFO1xufVxuZnVuY3Rpb24gaXNDb25jdXJyZW50TW9kZShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dENvbnN1bWVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0NPTlRFWFRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST1ZJREVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG5mdW5jdGlvbiBpc0ZvcndhcmRSZWYob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRnJhZ21lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzTGF6eShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9MQVpZX1RZUEU7XG59XG5mdW5jdGlvbiBpc01lbW8ob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfTUVNT19UWVBFO1xufVxuZnVuY3Rpb24gaXNQb3J0YWwob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUE9SVEFMX1RZUEU7XG59XG5mdW5jdGlvbiBpc1Byb2ZpbGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc1N0cmljdE1vZGUob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2Uob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbn1cblxuZXhwb3J0cy5Bc3luY01vZGUgPSBBc3luY01vZGU7XG5leHBvcnRzLkNvbmN1cnJlbnRNb2RlID0gQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLkNvbnRleHRDb25zdW1lciA9IENvbnRleHRDb25zdW1lcjtcbmV4cG9ydHMuQ29udGV4dFByb3ZpZGVyID0gQ29udGV4dFByb3ZpZGVyO1xuZXhwb3J0cy5FbGVtZW50ID0gRWxlbWVudDtcbmV4cG9ydHMuRm9yd2FyZFJlZiA9IEZvcndhcmRSZWY7XG5leHBvcnRzLkZyYWdtZW50ID0gRnJhZ21lbnQ7XG5leHBvcnRzLkxhenkgPSBMYXp5O1xuZXhwb3J0cy5NZW1vID0gTWVtbztcbmV4cG9ydHMuUG9ydGFsID0gUG9ydGFsO1xuZXhwb3J0cy5Qcm9maWxlciA9IFByb2ZpbGVyO1xuZXhwb3J0cy5TdHJpY3RNb2RlID0gU3RyaWN0TW9kZTtcbmV4cG9ydHMuU3VzcGVuc2UgPSBTdXNwZW5zZTtcbmV4cG9ydHMuaXNBc3luY01vZGUgPSBpc0FzeW5jTW9kZTtcbmV4cG9ydHMuaXNDb25jdXJyZW50TW9kZSA9IGlzQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLmlzQ29udGV4dENvbnN1bWVyID0gaXNDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLmlzQ29udGV4dFByb3ZpZGVyID0gaXNDb250ZXh0UHJvdmlkZXI7XG5leHBvcnRzLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbmV4cG9ydHMuaXNGb3J3YXJkUmVmID0gaXNGb3J3YXJkUmVmO1xuZXhwb3J0cy5pc0ZyYWdtZW50ID0gaXNGcmFnbWVudDtcbmV4cG9ydHMuaXNMYXp5ID0gaXNMYXp5O1xuZXhwb3J0cy5pc01lbW8gPSBpc01lbW87XG5leHBvcnRzLmlzUG9ydGFsID0gaXNQb3J0YWw7XG5leHBvcnRzLmlzUHJvZmlsZXIgPSBpc1Byb2ZpbGVyO1xuZXhwb3J0cy5pc1N0cmljdE1vZGUgPSBpc1N0cmljdE1vZGU7XG5leHBvcnRzLmlzU3VzcGVuc2UgPSBpc1N1c3BlbnNlO1xuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGU7XG5leHBvcnRzLnR5cGVPZiA9IHR5cGVPZjtcbiAgfSkoKTtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtaXMucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciByZWFjdElzID0gcmVxdWlyZSgncmVhY3QtaXMnKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSwgWWFob28hIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xudmFyIFJFQUNUX1NUQVRJQ1MgPSB7XG4gIGNoaWxkQ29udGV4dFR5cGVzOiB0cnVlLFxuICBjb250ZXh0VHlwZTogdHJ1ZSxcbiAgY29udGV4dFR5cGVzOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBnZXREZWZhdWx0UHJvcHM6IHRydWUsXG4gIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjogdHJ1ZSxcbiAgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOiB0cnVlLFxuICBtaXhpbnM6IHRydWUsXG4gIHByb3BUeXBlczogdHJ1ZSxcbiAgdHlwZTogdHJ1ZVxufTtcbnZhciBLTk9XTl9TVEFUSUNTID0ge1xuICBuYW1lOiB0cnVlLFxuICBsZW5ndGg6IHRydWUsXG4gIHByb3RvdHlwZTogdHJ1ZSxcbiAgY2FsbGVyOiB0cnVlLFxuICBjYWxsZWU6IHRydWUsXG4gIGFyZ3VtZW50czogdHJ1ZSxcbiAgYXJpdHk6IHRydWVcbn07XG52YXIgRk9SV0FSRF9SRUZfU1RBVElDUyA9IHtcbiAgJyQkdHlwZW9mJzogdHJ1ZSxcbiAgcmVuZGVyOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBwcm9wVHlwZXM6IHRydWVcbn07XG52YXIgTUVNT19TVEFUSUNTID0ge1xuICAnJCR0eXBlb2YnOiB0cnVlLFxuICBjb21wYXJlOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBwcm9wVHlwZXM6IHRydWUsXG4gIHR5cGU6IHRydWVcbn07XG52YXIgVFlQRV9TVEFUSUNTID0ge307XG5UWVBFX1NUQVRJQ1NbcmVhY3RJcy5Gb3J3YXJkUmVmXSA9IEZPUldBUkRfUkVGX1NUQVRJQ1M7XG5UWVBFX1NUQVRJQ1NbcmVhY3RJcy5NZW1vXSA9IE1FTU9fU1RBVElDUztcblxuZnVuY3Rpb24gZ2V0U3RhdGljcyhjb21wb25lbnQpIHtcbiAgLy8gUmVhY3QgdjE2LjExIGFuZCBiZWxvd1xuICBpZiAocmVhY3RJcy5pc01lbW8oY29tcG9uZW50KSkge1xuICAgIHJldHVybiBNRU1PX1NUQVRJQ1M7XG4gIH0gLy8gUmVhY3QgdjE2LjEyIGFuZCBhYm92ZVxuXG5cbiAgcmV0dXJuIFRZUEVfU1RBVElDU1tjb21wb25lbnRbJyQkdHlwZW9mJ11dIHx8IFJFQUNUX1NUQVRJQ1M7XG59XG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBnZXRPd25Qcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIGdldFByb3RvdHlwZU9mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIG9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG5mdW5jdGlvbiBob2lzdE5vblJlYWN0U3RhdGljcyh0YXJnZXRDb21wb25lbnQsIHNvdXJjZUNvbXBvbmVudCwgYmxhY2tsaXN0KSB7XG4gIGlmICh0eXBlb2Ygc291cmNlQ29tcG9uZW50ICE9PSAnc3RyaW5nJykge1xuICAgIC8vIGRvbid0IGhvaXN0IG92ZXIgc3RyaW5nIChodG1sKSBjb21wb25lbnRzXG4gICAgaWYgKG9iamVjdFByb3RvdHlwZSkge1xuICAgICAgdmFyIGluaGVyaXRlZENvbXBvbmVudCA9IGdldFByb3RvdHlwZU9mKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICAgIGlmIChpbmhlcml0ZWRDb21wb25lbnQgJiYgaW5oZXJpdGVkQ29tcG9uZW50ICE9PSBvYmplY3RQcm90b3R5cGUpIHtcbiAgICAgICAgaG9pc3ROb25SZWFjdFN0YXRpY3ModGFyZ2V0Q29tcG9uZW50LCBpbmhlcml0ZWRDb21wb25lbnQsIGJsYWNrbGlzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGtleXMgPSBnZXRPd25Qcm9wZXJ0eU5hbWVzKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICBpZiAoZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICBrZXlzID0ga2V5cy5jb25jYXQoZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZUNvbXBvbmVudCkpO1xuICAgIH1cblxuICAgIHZhciB0YXJnZXRTdGF0aWNzID0gZ2V0U3RhdGljcyh0YXJnZXRDb21wb25lbnQpO1xuICAgIHZhciBzb3VyY2VTdGF0aWNzID0gZ2V0U3RhdGljcyhzb3VyY2VDb21wb25lbnQpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgKytpKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKCFLTk9XTl9TVEFUSUNTW2tleV0gJiYgIShibGFja2xpc3QgJiYgYmxhY2tsaXN0W2tleV0pICYmICEoc291cmNlU3RhdGljcyAmJiBzb3VyY2VTdGF0aWNzW2tleV0pICYmICEodGFyZ2V0U3RhdGljcyAmJiB0YXJnZXRTdGF0aWNzW2tleV0pKSB7XG4gICAgICAgIHZhciBkZXNjcmlwdG9yID0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZUNvbXBvbmVudCwga2V5KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEF2b2lkIGZhaWx1cmVzIGZyb20gcmVhZC1vbmx5IHByb3BlcnRpZXNcbiAgICAgICAgICBkZWZpbmVQcm9wZXJ0eSh0YXJnZXRDb21wb25lbnQsIGtleSwgZGVzY3JpcHRvcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldENvbXBvbmVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBob2lzdE5vblJlYWN0U3RhdGljcztcbiIsICIvKlxub2JqZWN0LWFzc2lnblxuKGMpIFNpbmRyZSBTb3JodXNcbkBsaWNlbnNlIE1JVFxuKi9cblxuJ3VzZSBzdHJpY3QnO1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cbnZhciBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBwcm9wSXNFbnVtZXJhYmxlID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxuZnVuY3Rpb24gdG9PYmplY3QodmFsKSB7XG5cdGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdPYmplY3QuYXNzaWduIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCBudWxsIG9yIHVuZGVmaW5lZCcpO1xuXHR9XG5cblx0cmV0dXJuIE9iamVjdCh2YWwpO1xufVxuXG5mdW5jdGlvbiBzaG91bGRVc2VOYXRpdmUoKSB7XG5cdHRyeSB7XG5cdFx0aWYgKCFPYmplY3QuYXNzaWduKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gRGV0ZWN0IGJ1Z2d5IHByb3BlcnR5IGVudW1lcmF0aW9uIG9yZGVyIGluIG9sZGVyIFY4IHZlcnNpb25zLlxuXG5cdFx0Ly8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9NDExOFxuXHRcdHZhciB0ZXN0MSA9IG5ldyBTdHJpbmcoJ2FiYycpOyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXctd3JhcHBlcnNcblx0XHR0ZXN0MVs1XSA9ICdkZSc7XG5cdFx0aWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QxKVswXSA9PT0gJzUnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MzA1NlxuXHRcdHZhciB0ZXN0MiA9IHt9O1xuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykge1xuXHRcdFx0dGVzdDJbJ18nICsgU3RyaW5nLmZyb21DaGFyQ29kZShpKV0gPSBpO1xuXHRcdH1cblx0XHR2YXIgb3JkZXIyID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGVzdDIpLm1hcChmdW5jdGlvbiAobikge1xuXHRcdFx0cmV0dXJuIHRlc3QyW25dO1xuXHRcdH0pO1xuXHRcdGlmIChvcmRlcjIuam9pbignJykgIT09ICcwMTIzNDU2Nzg5Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDMgPSB7fTtcblx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnLnNwbGl0KCcnKS5mb3JFYWNoKGZ1bmN0aW9uIChsZXR0ZXIpIHtcblx0XHRcdHRlc3QzW2xldHRlcl0gPSBsZXR0ZXI7XG5cdFx0fSk7XG5cdFx0aWYgKE9iamVjdC5rZXlzKE9iamVjdC5hc3NpZ24oe30sIHRlc3QzKSkuam9pbignJykgIT09XG5cdFx0XHRcdCdhYmNkZWZnaGlqa2xtbm9wcXJzdCcpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0Ly8gV2UgZG9uJ3QgZXhwZWN0IGFueSBvZiB0aGUgYWJvdmUgdG8gdGhyb3csIGJ1dCBiZXR0ZXIgdG8gYmUgc2FmZS5cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzaG91bGRVc2VOYXRpdmUoKSA/IE9iamVjdC5hc3NpZ24gOiBmdW5jdGlvbiAodGFyZ2V0LCBzb3VyY2UpIHtcblx0dmFyIGZyb207XG5cdHZhciB0byA9IHRvT2JqZWN0KHRhcmdldCk7XG5cdHZhciBzeW1ib2xzO1xuXG5cdGZvciAodmFyIHMgPSAxOyBzIDwgYXJndW1lbnRzLmxlbmd0aDsgcysrKSB7XG5cdFx0ZnJvbSA9IE9iamVjdChhcmd1bWVudHNbc10pO1xuXG5cdFx0Zm9yICh2YXIga2V5IGluIGZyb20pIHtcblx0XHRcdGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGZyb20sIGtleSkpIHtcblx0XHRcdFx0dG9ba2V5XSA9IGZyb21ba2V5XTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG5cdFx0XHRzeW1ib2xzID0gZ2V0T3duUHJvcGVydHlTeW1ib2xzKGZyb20pO1xuXHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzeW1ib2xzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGlmIChwcm9wSXNFbnVtZXJhYmxlLmNhbGwoZnJvbSwgc3ltYm9sc1tpXSkpIHtcblx0XHRcdFx0XHR0b1tzeW1ib2xzW2ldXSA9IGZyb21bc3ltYm9sc1tpXV07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gdG87XG59O1xuIiwgIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWN0UHJvcFR5cGVzU2VjcmV0O1xuIiwgIm1vZHVsZS5leHBvcnRzID0gRnVuY3Rpb24uY2FsbC5iaW5kKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpO1xuIiwgIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24oKSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gcmVxdWlyZSgnLi9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQnKTtcbiAgdmFyIGxvZ2dlZFR5cGVGYWlsdXJlcyA9IHt9O1xuICB2YXIgaGFzID0gcmVxdWlyZSgnLi9saWIvaGFzJyk7XG5cbiAgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24odGV4dCkge1xuICAgIHZhciBtZXNzYWdlID0gJ1dhcm5pbmc6ICcgKyB0ZXh0O1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHsgLyoqLyB9XG4gIH07XG59XG5cbi8qKlxuICogQXNzZXJ0IHRoYXQgdGhlIHZhbHVlcyBtYXRjaCB3aXRoIHRoZSB0eXBlIHNwZWNzLlxuICogRXJyb3IgbWVzc2FnZXMgYXJlIG1lbW9yaXplZCBhbmQgd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IHR5cGVTcGVjcyBNYXAgb2YgbmFtZSB0byBhIFJlYWN0UHJvcFR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSB2YWx1ZXMgUnVudGltZSB2YWx1ZXMgdGhhdCBuZWVkIHRvIGJlIHR5cGUtY2hlY2tlZFxuICogQHBhcmFtIHtzdHJpbmd9IGxvY2F0aW9uIGUuZy4gXCJwcm9wXCIsIFwiY29udGV4dFwiLCBcImNoaWxkIGNvbnRleHRcIlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbXBvbmVudE5hbWUgTmFtZSBvZiB0aGUgY29tcG9uZW50IGZvciBlcnJvciBtZXNzYWdlcy5cbiAqIEBwYXJhbSB7P0Z1bmN0aW9ufSBnZXRTdGFjayBSZXR1cm5zIHRoZSBjb21wb25lbnQgc3RhY2suXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGdldFN0YWNrKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yO1xuICAgICAgICAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKFxuICAgICAgICAgICAgICAoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgK1xuICAgICAgICAgICAgICAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nICtcbiAgICAgICAgICAgICAgJ1RoaXMgb2Z0ZW4gaGFwcGVucyBiZWNhdXNlIG9mIHR5cG9zIHN1Y2ggYXMgYFByb3BUeXBlcy5mdW5jdGlvbmAgaW5zdGVhZCBvZiBgUHJvcFR5cGVzLmZ1bmNgLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXJyb3IgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICBlcnJvciA9IGV4O1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvciAmJiAhKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJyArXG4gICAgICAgICAgICBsb2NhdGlvbiArICcgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgK1xuICAgICAgICAgICAgJ2Z1bmN0aW9uIG11c3QgcmV0dXJuIGBudWxsYCBvciBhbiBgRXJyb3JgIGJ1dCByZXR1cm5lZCBhICcgKyB0eXBlb2YgZXJyb3IgKyAnLiAnICtcbiAgICAgICAgICAgICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICtcbiAgICAgICAgICAgICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgK1xuICAgICAgICAgICAgJ3NoYXBlIGFsbCByZXF1aXJlIGFuIGFyZ3VtZW50KS4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiAhKGVycm9yLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yLm1lc3NhZ2VdID0gdHJ1ZTtcblxuICAgICAgICAgIHZhciBzdGFjayA9IGdldFN0YWNrID8gZ2V0U3RhY2soKSA6ICcnO1xuXG4gICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgJ0ZhaWxlZCAnICsgbG9jYXRpb24gKyAnIHR5cGU6ICcgKyBlcnJvci5tZXNzYWdlICsgKHN0YWNrICE9IG51bGwgPyBzdGFjayA6ICcnKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXNldHMgd2FybmluZyBjYWNoZSB3aGVuIHRlc3RpbmcuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY2hlY2tQcm9wVHlwZXMucmVzZXRXYXJuaW5nQ2FjaGUgPSBmdW5jdGlvbigpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNoZWNrUHJvcFR5cGVzO1xuIiwgIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RJcyA9IHJlcXVpcmUoJ3JlYWN0LWlzJyk7XG52YXIgYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG52YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSByZXF1aXJlKCcuL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldCcpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vbGliL2hhcycpO1xudmFyIGNoZWNrUHJvcFR5cGVzID0gcmVxdWlyZSgnLi9jaGVja1Byb3BUeXBlcycpO1xuXG52YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24oKSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24odGV4dCkge1xuICAgIHZhciBtZXNzYWdlID0gJ1dhcm5pbmc6ICcgKyB0ZXh0O1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGVtcHR5RnVuY3Rpb25UaGF0UmV0dXJuc051bGwoKSB7XG4gIHJldHVybiBudWxsO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGlzVmFsaWRFbGVtZW50LCB0aHJvd09uRGlyZWN0QWNjZXNzKSB7XG4gIC8qIGdsb2JhbCBTeW1ib2wgKi9cbiAgdmFyIElURVJBVE9SX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLml0ZXJhdG9yO1xuICB2YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7IC8vIEJlZm9yZSBTeW1ib2wgc3BlYy5cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaXRlcmF0b3IgbWV0aG9kIGZ1bmN0aW9uIGNvbnRhaW5lZCBvbiB0aGUgaXRlcmFibGUgb2JqZWN0LlxuICAgKlxuICAgKiBCZSBzdXJlIHRvIGludm9rZSB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgaXRlcmFibGUgYXMgY29udGV4dDpcbiAgICpcbiAgICogICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihteUl0ZXJhYmxlKTtcbiAgICogICAgIGlmIChpdGVyYXRvckZuKSB7XG4gICAqICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChteUl0ZXJhYmxlKTtcbiAgICogICAgICAgLi4uXG4gICAqICAgICB9XG4gICAqXG4gICAqIEBwYXJhbSB7P29iamVjdH0gbWF5YmVJdGVyYWJsZVxuICAgKiBAcmV0dXJuIHs/ZnVuY3Rpb259XG4gICAqL1xuICBmdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgICB2YXIgaXRlcmF0b3JGbiA9IG1heWJlSXRlcmFibGUgJiYgKElURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF0pO1xuICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGl0ZXJhdG9yRm47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbGxlY3Rpb24gb2YgbWV0aG9kcyB0aGF0IGFsbG93IGRlY2xhcmF0aW9uIGFuZCB2YWxpZGF0aW9uIG9mIHByb3BzIHRoYXQgYXJlXG4gICAqIHN1cHBsaWVkIHRvIFJlYWN0IGNvbXBvbmVudHMuIEV4YW1wbGUgdXNhZ2U6XG4gICAqXG4gICAqICAgdmFyIFByb3BzID0gcmVxdWlyZSgnUmVhY3RQcm9wVHlwZXMnKTtcbiAgICogICB2YXIgTXlBcnRpY2xlID0gUmVhY3QuY3JlYXRlQ2xhc3Moe1xuICAgKiAgICAgcHJvcFR5cGVzOiB7XG4gICAqICAgICAgIC8vIEFuIG9wdGlvbmFsIHN0cmluZyBwcm9wIG5hbWVkIFwiZGVzY3JpcHRpb25cIi5cbiAgICogICAgICAgZGVzY3JpcHRpb246IFByb3BzLnN0cmluZyxcbiAgICpcbiAgICogICAgICAgLy8gQSByZXF1aXJlZCBlbnVtIHByb3AgbmFtZWQgXCJjYXRlZ29yeVwiLlxuICAgKiAgICAgICBjYXRlZ29yeTogUHJvcHMub25lT2YoWydOZXdzJywnUGhvdG9zJ10pLmlzUmVxdWlyZWQsXG4gICAqXG4gICAqICAgICAgIC8vIEEgcHJvcCBuYW1lZCBcImRpYWxvZ1wiIHRoYXQgcmVxdWlyZXMgYW4gaW5zdGFuY2Ugb2YgRGlhbG9nLlxuICAgKiAgICAgICBkaWFsb2c6IFByb3BzLmluc3RhbmNlT2YoRGlhbG9nKS5pc1JlcXVpcmVkXG4gICAqICAgICB9LFxuICAgKiAgICAgcmVuZGVyOiBmdW5jdGlvbigpIHsgLi4uIH1cbiAgICogICB9KTtcbiAgICpcbiAgICogQSBtb3JlIGZvcm1hbCBzcGVjaWZpY2F0aW9uIG9mIGhvdyB0aGVzZSBtZXRob2RzIGFyZSB1c2VkOlxuICAgKlxuICAgKiAgIHR5cGUgOj0gYXJyYXl8Ym9vbHxmdW5jfG9iamVjdHxudW1iZXJ8c3RyaW5nfG9uZU9mKFsuLi5dKXxpbnN0YW5jZU9mKC4uLilcbiAgICogICBkZWNsIDo9IFJlYWN0UHJvcFR5cGVzLnt0eXBlfSguaXNSZXF1aXJlZCk/XG4gICAqXG4gICAqIEVhY2ggYW5kIGV2ZXJ5IGRlY2xhcmF0aW9uIHByb2R1Y2VzIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBzaWduYXR1cmUuIFRoaXNcbiAgICogYWxsb3dzIHRoZSBjcmVhdGlvbiBvZiBjdXN0b20gdmFsaWRhdGlvbiBmdW5jdGlvbnMuIEZvciBleGFtcGxlOlxuICAgKlxuICAgKiAgdmFyIE15TGluayA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcbiAgICogICAgcHJvcFR5cGVzOiB7XG4gICAqICAgICAgLy8gQW4gb3B0aW9uYWwgc3RyaW5nIG9yIFVSSSBwcm9wIG5hbWVkIFwiaHJlZlwiLlxuICAgKiAgICAgIGhyZWY6IGZ1bmN0aW9uKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSkge1xuICAgKiAgICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICogICAgICAgIGlmIChwcm9wVmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgcHJvcFZhbHVlICE9PSAnc3RyaW5nJyAmJlxuICAgKiAgICAgICAgICAgICEocHJvcFZhbHVlIGluc3RhbmNlb2YgVVJJKSkge1xuICAgKiAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgKiAgICAgICAgICAgICdFeHBlY3RlZCBhIHN0cmluZyBvciBhbiBVUkkgZm9yICcgKyBwcm9wTmFtZSArICcgaW4gJyArXG4gICAqICAgICAgICAgICAgY29tcG9uZW50TmFtZVxuICAgKiAgICAgICAgICApO1xuICAgKiAgICAgICAgfVxuICAgKiAgICAgIH1cbiAgICogICAgfSxcbiAgICogICAgcmVuZGVyOiBmdW5jdGlvbigpIHsuLi59XG4gICAqICB9KTtcbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuXG4gIHZhciBBTk9OWU1PVVMgPSAnPDxhbm9ueW1vdXM+Pic7XG5cbiAgLy8gSW1wb3J0YW50IVxuICAvLyBLZWVwIHRoaXMgbGlzdCBpbiBzeW5jIHdpdGggcHJvZHVjdGlvbiB2ZXJzaW9uIGluIGAuL2ZhY3RvcnlXaXRoVGhyb3dpbmdTaGltcy5qc2AuXG4gIHZhciBSZWFjdFByb3BUeXBlcyA9IHtcbiAgICBhcnJheTogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ2FycmF5JyksXG4gICAgYmlnaW50OiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignYmlnaW50JyksXG4gICAgYm9vbDogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ2Jvb2xlYW4nKSxcbiAgICBmdW5jOiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignZnVuY3Rpb24nKSxcbiAgICBudW1iZXI6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdudW1iZXInKSxcbiAgICBvYmplY3Q6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdvYmplY3QnKSxcbiAgICBzdHJpbmc6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdzdHJpbmcnKSxcbiAgICBzeW1ib2w6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdzeW1ib2wnKSxcblxuICAgIGFueTogY3JlYXRlQW55VHlwZUNoZWNrZXIoKSxcbiAgICBhcnJheU9mOiBjcmVhdGVBcnJheU9mVHlwZUNoZWNrZXIsXG4gICAgZWxlbWVudDogY3JlYXRlRWxlbWVudFR5cGVDaGVja2VyKCksXG4gICAgZWxlbWVudFR5cGU6IGNyZWF0ZUVsZW1lbnRUeXBlVHlwZUNoZWNrZXIoKSxcbiAgICBpbnN0YW5jZU9mOiBjcmVhdGVJbnN0YW5jZVR5cGVDaGVja2VyLFxuICAgIG5vZGU6IGNyZWF0ZU5vZGVDaGVja2VyKCksXG4gICAgb2JqZWN0T2Y6IGNyZWF0ZU9iamVjdE9mVHlwZUNoZWNrZXIsXG4gICAgb25lT2Y6IGNyZWF0ZUVudW1UeXBlQ2hlY2tlcixcbiAgICBvbmVPZlR5cGU6IGNyZWF0ZVVuaW9uVHlwZUNoZWNrZXIsXG4gICAgc2hhcGU6IGNyZWF0ZVNoYXBlVHlwZUNoZWNrZXIsXG4gICAgZXhhY3Q6IGNyZWF0ZVN0cmljdFNoYXBlVHlwZUNoZWNrZXIsXG4gIH07XG5cbiAgLyoqXG4gICAqIGlubGluZWQgT2JqZWN0LmlzIHBvbHlmaWxsIHRvIGF2b2lkIHJlcXVpcmluZyBjb25zdW1lcnMgc2hpcCB0aGVpciBvd25cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvT2JqZWN0L2lzXG4gICAqL1xuICAvKmVzbGludC1kaXNhYmxlIG5vLXNlbGYtY29tcGFyZSovXG4gIGZ1bmN0aW9uIGlzKHgsIHkpIHtcbiAgICAvLyBTYW1lVmFsdWUgYWxnb3JpdGhtXG4gICAgaWYgKHggPT09IHkpIHtcbiAgICAgIC8vIFN0ZXBzIDEtNSwgNy0xMFxuICAgICAgLy8gU3RlcHMgNi5iLTYuZTogKzAgIT0gLTBcbiAgICAgIHJldHVybiB4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3RlcCA2LmE6IE5hTiA9PSBOYU5cbiAgICAgIHJldHVybiB4ICE9PSB4ICYmIHkgIT09IHk7XG4gICAgfVxuICB9XG4gIC8qZXNsaW50LWVuYWJsZSBuby1zZWxmLWNvbXBhcmUqL1xuXG4gIC8qKlxuICAgKiBXZSB1c2UgYW4gRXJyb3ItbGlrZSBvYmplY3QgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYXMgcGVvcGxlIG1heSBjYWxsXG4gICAqIFByb3BUeXBlcyBkaXJlY3RseSBhbmQgaW5zcGVjdCB0aGVpciBvdXRwdXQuIEhvd2V2ZXIsIHdlIGRvbid0IHVzZSByZWFsXG4gICAqIEVycm9ycyBhbnltb3JlLiBXZSBkb24ndCBpbnNwZWN0IHRoZWlyIHN0YWNrIGFueXdheSwgYW5kIGNyZWF0aW5nIHRoZW1cbiAgICogaXMgcHJvaGliaXRpdmVseSBleHBlbnNpdmUgaWYgdGhleSBhcmUgY3JlYXRlZCB0b28gb2Z0ZW4sIHN1Y2ggYXMgd2hhdFxuICAgKiBoYXBwZW5zIGluIG9uZU9mVHlwZSgpIGZvciBhbnkgdHlwZSBiZWZvcmUgdGhlIG9uZSB0aGF0IG1hdGNoZWQuXG4gICAqL1xuICBmdW5jdGlvbiBQcm9wVHlwZUVycm9yKG1lc3NhZ2UsIGRhdGEpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIHRoaXMuZGF0YSA9IGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnID8gZGF0YToge307XG4gICAgdGhpcy5zdGFjayA9ICcnO1xuICB9XG4gIC8vIE1ha2UgYGluc3RhbmNlb2YgRXJyb3JgIHN0aWxsIHdvcmsgZm9yIHJldHVybmVkIGVycm9ycy5cbiAgUHJvcFR5cGVFcnJvci5wcm90b3R5cGUgPSBFcnJvci5wcm90b3R5cGU7XG5cbiAgZnVuY3Rpb24gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgdmFyIG1hbnVhbFByb3BUeXBlQ2FsbENhY2hlID0ge307XG4gICAgICB2YXIgbWFudWFsUHJvcFR5cGVXYXJuaW5nQ291bnQgPSAwO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjaGVja1R5cGUoaXNSZXF1aXJlZCwgcHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBzZWNyZXQpIHtcbiAgICAgIGNvbXBvbmVudE5hbWUgPSBjb21wb25lbnROYW1lIHx8IEFOT05ZTU9VUztcbiAgICAgIHByb3BGdWxsTmFtZSA9IHByb3BGdWxsTmFtZSB8fCBwcm9wTmFtZTtcblxuICAgICAgaWYgKHNlY3JldCAhPT0gUmVhY3RQcm9wVHlwZXNTZWNyZXQpIHtcbiAgICAgICAgaWYgKHRocm93T25EaXJlY3RBY2Nlc3MpIHtcbiAgICAgICAgICAvLyBOZXcgYmVoYXZpb3Igb25seSBmb3IgdXNlcnMgb2YgYHByb3AtdHlwZXNgIHBhY2thZ2VcbiAgICAgICAgICB2YXIgZXJyID0gbmV3IEVycm9yKFxuICAgICAgICAgICAgJ0NhbGxpbmcgUHJvcFR5cGVzIHZhbGlkYXRvcnMgZGlyZWN0bHkgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UuICcgK1xuICAgICAgICAgICAgJ1VzZSBgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKClgIHRvIGNhbGwgdGhlbS4gJyArXG4gICAgICAgICAgICAnUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcydcbiAgICAgICAgICApO1xuICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIC8vIE9sZCBiZWhhdmlvciBmb3IgcGVvcGxlIHVzaW5nIFJlYWN0LlByb3BUeXBlc1xuICAgICAgICAgIHZhciBjYWNoZUtleSA9IGNvbXBvbmVudE5hbWUgKyAnOicgKyBwcm9wTmFtZTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhbWFudWFsUHJvcFR5cGVDYWxsQ2FjaGVbY2FjaGVLZXldICYmXG4gICAgICAgICAgICAvLyBBdm9pZCBzcGFtbWluZyB0aGUgY29uc29sZSBiZWNhdXNlIHRoZXkgYXJlIG9mdGVuIG5vdCBhY3Rpb25hYmxlIGV4Y2VwdCBmb3IgbGliIGF1dGhvcnNcbiAgICAgICAgICAgIG1hbnVhbFByb3BUeXBlV2FybmluZ0NvdW50IDwgM1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgICAnWW91IGFyZSBtYW51YWxseSBjYWxsaW5nIGEgUmVhY3QuUHJvcFR5cGVzIHZhbGlkYXRpb24gJyArXG4gICAgICAgICAgICAgICdmdW5jdGlvbiBmb3IgdGhlIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2AgcHJvcCBvbiBgJyArIGNvbXBvbmVudE5hbWUgKyAnYC4gVGhpcyBpcyBkZXByZWNhdGVkICcgK1xuICAgICAgICAgICAgICAnYW5kIHdpbGwgdGhyb3cgaW4gdGhlIHN0YW5kYWxvbmUgYHByb3AtdHlwZXNgIHBhY2thZ2UuICcgK1xuICAgICAgICAgICAgICAnWW91IG1heSBiZSBzZWVpbmcgdGhpcyB3YXJuaW5nIGR1ZSB0byBhIHRoaXJkLXBhcnR5IFByb3BUeXBlcyAnICtcbiAgICAgICAgICAgICAgJ2xpYnJhcnkuIFNlZSBodHRwczovL2ZiLm1lL3JlYWN0LXdhcm5pbmctZG9udC1jYWxsLXByb3B0eXBlcyAnICsgJ2ZvciBkZXRhaWxzLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtYW51YWxQcm9wVHlwZUNhbGxDYWNoZVtjYWNoZUtleV0gPSB0cnVlO1xuICAgICAgICAgICAgbWFudWFsUHJvcFR5cGVXYXJuaW5nQ291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT0gbnVsbCkge1xuICAgICAgICBpZiAoaXNSZXF1aXJlZCkge1xuICAgICAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignVGhlICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBpcyBtYXJrZWQgYXMgcmVxdWlyZWQgJyArICgnaW4gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGJ1dCBpdHMgdmFsdWUgaXMgYG51bGxgLicpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdUaGUgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIGlzIG1hcmtlZCBhcyByZXF1aXJlZCBpbiAnICsgKCdgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgYnV0IGl0cyB2YWx1ZSBpcyBgdW5kZWZpbmVkYC4nKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY2hhaW5lZENoZWNrVHlwZSA9IGNoZWNrVHlwZS5iaW5kKG51bGwsIGZhbHNlKTtcbiAgICBjaGFpbmVkQ2hlY2tUeXBlLmlzUmVxdWlyZWQgPSBjaGVja1R5cGUuYmluZChudWxsLCB0cnVlKTtcblxuICAgIHJldHVybiBjaGFpbmVkQ2hlY2tUeXBlO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoZXhwZWN0ZWRUeXBlKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBzZWNyZXQpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgaWYgKHByb3BUeXBlICE9PSBleHBlY3RlZFR5cGUpIHtcbiAgICAgICAgLy8gYHByb3BWYWx1ZWAgYmVpbmcgaW5zdGFuY2Ugb2YsIHNheSwgZGF0ZS9yZWdleHAsIHBhc3MgdGhlICdvYmplY3QnXG4gICAgICAgIC8vIGNoZWNrLCBidXQgd2UgY2FuIG9mZmVyIGEgbW9yZSBwcmVjaXNlIGVycm9yIG1lc3NhZ2UgaGVyZSByYXRoZXIgdGhhblxuICAgICAgICAvLyAnb2YgdHlwZSBgb2JqZWN0YCcuXG4gICAgICAgIHZhciBwcmVjaXNlVHlwZSA9IGdldFByZWNpc2VUeXBlKHByb3BWYWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKFxuICAgICAgICAgICdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJlY2lzZVR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgJykgKyAoJ2AnICsgZXhwZWN0ZWRUeXBlICsgJ2AuJyksXG4gICAgICAgICAge2V4cGVjdGVkVHlwZTogZXhwZWN0ZWRUeXBlfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVBbnlUeXBlQ2hlY2tlcigpIHtcbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIoZW1wdHlGdW5jdGlvblRoYXRSZXR1cm5zTnVsbCk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVBcnJheU9mVHlwZUNoZWNrZXIodHlwZUNoZWNrZXIpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdHlwZUNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdQcm9wZXJ0eSBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIGNvbXBvbmVudCBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCBoYXMgaW52YWxpZCBQcm9wVHlwZSBub3RhdGlvbiBpbnNpZGUgYXJyYXlPZi4nKTtcbiAgICAgIH1cbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocHJvcFZhbHVlKSkge1xuICAgICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBwcm9wVHlwZSArICdgIHN1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBhbiBhcnJheS4nKSk7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BWYWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgZXJyb3IgPSB0eXBlQ2hlY2tlcihwcm9wVmFsdWUsIGksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnWycgKyBpICsgJ10nLCBSZWFjdFByb3BUeXBlc1NlY3JldCk7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRUeXBlQ2hlY2tlcigpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICBpZiAoIWlzVmFsaWRFbGVtZW50KHByb3BWYWx1ZSkpIHtcbiAgICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJvcFR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYSBzaW5nbGUgUmVhY3RFbGVtZW50LicpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudFR5cGVUeXBlQ2hlY2tlcigpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICBpZiAoIVJlYWN0SXMuaXNWYWxpZEVsZW1lbnRUeXBlKHByb3BWYWx1ZSkpIHtcbiAgICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJvcFR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYSBzaW5nbGUgUmVhY3RFbGVtZW50IHR5cGUuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVJbnN0YW5jZVR5cGVDaGVja2VyKGV4cGVjdGVkQ2xhc3MpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICghKHByb3BzW3Byb3BOYW1lXSBpbnN0YW5jZW9mIGV4cGVjdGVkQ2xhc3MpKSB7XG4gICAgICAgIHZhciBleHBlY3RlZENsYXNzTmFtZSA9IGV4cGVjdGVkQ2xhc3MubmFtZSB8fCBBTk9OWU1PVVM7XG4gICAgICAgIHZhciBhY3R1YWxDbGFzc05hbWUgPSBnZXRDbGFzc05hbWUocHJvcHNbcHJvcE5hbWVdKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgYWN0dWFsQ2xhc3NOYW1lICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkICcpICsgKCdpbnN0YW5jZSBvZiBgJyArIGV4cGVjdGVkQ2xhc3NOYW1lICsgJ2AuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVFbnVtVHlwZUNoZWNrZXIoZXhwZWN0ZWRWYWx1ZXMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZXhwZWN0ZWRWYWx1ZXMpKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBwcmludFdhcm5pbmcoXG4gICAgICAgICAgICAnSW52YWxpZCBhcmd1bWVudHMgc3VwcGxpZWQgdG8gb25lT2YsIGV4cGVjdGVkIGFuIGFycmF5LCBnb3QgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIGFyZ3VtZW50cy4gJyArXG4gICAgICAgICAgICAnQSBjb21tb24gbWlzdGFrZSBpcyB0byB3cml0ZSBvbmVPZih4LCB5LCB6KSBpbnN0ZWFkIG9mIG9uZU9mKFt4LCB5LCB6XSkuJ1xuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJpbnRXYXJuaW5nKCdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIG9uZU9mLCBleHBlY3RlZCBhbiBhcnJheS4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGVtcHR5RnVuY3Rpb25UaGF0UmV0dXJuc051bGw7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXMocHJvcFZhbHVlLCBleHBlY3RlZFZhbHVlc1tpXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgdmFsdWVzU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWRWYWx1ZXMsIGZ1bmN0aW9uIHJlcGxhY2VyKGtleSwgdmFsdWUpIHtcbiAgICAgICAgdmFyIHR5cGUgPSBnZXRQcmVjaXNlVHlwZSh2YWx1ZSk7XG4gICAgICAgIGlmICh0eXBlID09PSAnc3ltYm9sJykge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB2YWx1ZSBgJyArIFN0cmluZyhwcm9wVmFsdWUpICsgJ2AgJyArICgnc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIG9uZSBvZiAnICsgdmFsdWVzU3RyaW5nICsgJy4nKSk7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVPYmplY3RPZlR5cGVDaGVja2VyKHR5cGVDaGVja2VyKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICBpZiAodHlwZW9mIHR5cGVDaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignUHJvcGVydHkgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiBjb21wb25lbnQgYCcgKyBjb21wb25lbnROYW1lICsgJ2AgaGFzIGludmFsaWQgUHJvcFR5cGUgbm90YXRpb24gaW5zaWRlIG9iamVjdE9mLicpO1xuICAgICAgfVxuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICBpZiAocHJvcFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSAnICsgKCdgJyArIHByb3BUeXBlICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGFuIG9iamVjdC4nKSk7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBrZXkgaW4gcHJvcFZhbHVlKSB7XG4gICAgICAgIGlmIChoYXMocHJvcFZhbHVlLCBrZXkpKSB7XG4gICAgICAgICAgdmFyIGVycm9yID0gdHlwZUNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVVbmlvblR5cGVDaGVja2VyKGFycmF5T2ZUeXBlQ2hlY2tlcnMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXlPZlR5cGVDaGVja2VycykpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBwcmludFdhcm5pbmcoJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gb25lT2ZUeXBlLCBleHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBhcnJheS4nKSA6IHZvaWQgMDtcbiAgICAgIHJldHVybiBlbXB0eUZ1bmN0aW9uVGhhdFJldHVybnNOdWxsO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlPZlR5cGVDaGVja2Vycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoZWNrZXIgPSBhcnJheU9mVHlwZUNoZWNrZXJzW2ldO1xuICAgICAgaWYgKHR5cGVvZiBjaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBvbmVPZlR5cGUuIEV4cGVjdGVkIGFuIGFycmF5IG9mIGNoZWNrIGZ1bmN0aW9ucywgYnV0ICcgK1xuICAgICAgICAgICdyZWNlaXZlZCAnICsgZ2V0UG9zdGZpeEZvclR5cGVXYXJuaW5nKGNoZWNrZXIpICsgJyBhdCBpbmRleCAnICsgaSArICcuJ1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZW1wdHlGdW5jdGlvblRoYXRSZXR1cm5zTnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIHZhciBleHBlY3RlZFR5cGVzID0gW107XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5T2ZUeXBlQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoZWNrZXIgPSBhcnJheU9mVHlwZUNoZWNrZXJzW2ldO1xuICAgICAgICB2YXIgY2hlY2tlclJlc3VsdCA9IGNoZWNrZXIocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBSZWFjdFByb3BUeXBlc1NlY3JldCk7XG4gICAgICAgIGlmIChjaGVja2VyUmVzdWx0ID09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hlY2tlclJlc3VsdC5kYXRhICYmIGhhcyhjaGVja2VyUmVzdWx0LmRhdGEsICdleHBlY3RlZFR5cGUnKSkge1xuICAgICAgICAgIGV4cGVjdGVkVHlwZXMucHVzaChjaGVja2VyUmVzdWx0LmRhdGEuZXhwZWN0ZWRUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmFyIGV4cGVjdGVkVHlwZXNNZXNzYWdlID0gKGV4cGVjdGVkVHlwZXMubGVuZ3RoID4gMCkgPyAnLCBleHBlY3RlZCBvbmUgb2YgdHlwZSBbJyArIGV4cGVjdGVkVHlwZXMuam9pbignLCAnKSArICddJzogJyc7XG4gICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIHN1cHBsaWVkIHRvICcgKyAoJ2AnICsgY29tcG9uZW50TmFtZSArICdgJyArIGV4cGVjdGVkVHlwZXNNZXNzYWdlICsgJy4nKSk7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVOb2RlQ2hlY2tlcigpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICghaXNOb2RlKHByb3BzW3Byb3BOYW1lXSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBzdXBwbGllZCB0byAnICsgKCdgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYSBSZWFjdE5vZGUuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbnZhbGlkVmFsaWRhdG9yRXJyb3IoY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwga2V5LCB0eXBlKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKFxuICAgICAgKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXkgKyAnYCBpcyBpbnZhbGlkOyAnICtcbiAgICAgICdpdCBtdXN0IGJlIGEgZnVuY3Rpb24sIHVzdWFsbHkgZnJvbSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJyArIHR5cGUgKyAnYC4nXG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVNoYXBlVHlwZUNoZWNrZXIoc2hhcGVUeXBlcykge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICBpZiAocHJvcFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSBgJyArIHByb3BUeXBlICsgJ2AgJyArICgnc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGBvYmplY3RgLicpKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGtleSBpbiBzaGFwZVR5cGVzKSB7XG4gICAgICAgIHZhciBjaGVja2VyID0gc2hhcGVUeXBlc1trZXldO1xuICAgICAgICBpZiAodHlwZW9mIGNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbGlkYXRvckVycm9yKGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIGtleSwgZ2V0UHJlY2lzZVR5cGUoY2hlY2tlcikpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBlcnJvciA9IGNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVN0cmljdFNoYXBlVHlwZUNoZWNrZXIoc2hhcGVUeXBlcykge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICBpZiAocHJvcFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSBgJyArIHByb3BUeXBlICsgJ2AgJyArICgnc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGBvYmplY3RgLicpKTtcbiAgICAgIH1cbiAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgYWxsIGtleXMgaW4gY2FzZSBzb21lIGFyZSByZXF1aXJlZCBidXQgbWlzc2luZyBmcm9tIHByb3BzLlxuICAgICAgdmFyIGFsbEtleXMgPSBhc3NpZ24oe30sIHByb3BzW3Byb3BOYW1lXSwgc2hhcGVUeXBlcyk7XG4gICAgICBmb3IgKHZhciBrZXkgaW4gYWxsS2V5cykge1xuICAgICAgICB2YXIgY2hlY2tlciA9IHNoYXBlVHlwZXNba2V5XTtcbiAgICAgICAgaWYgKGhhcyhzaGFwZVR5cGVzLCBrZXkpICYmIHR5cGVvZiBjaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIGludmFsaWRWYWxpZGF0b3JFcnJvcihjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBrZXksIGdldFByZWNpc2VUeXBlKGNoZWNrZXIpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNoZWNrZXIpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoXG4gICAgICAgICAgICAnSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Aga2V5IGAnICsga2V5ICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AuJyArXG4gICAgICAgICAgICAnXFxuQmFkIG9iamVjdDogJyArIEpTT04uc3RyaW5naWZ5KHByb3BzW3Byb3BOYW1lXSwgbnVsbCwgJyAgJykgK1xuICAgICAgICAgICAgJ1xcblZhbGlkIGtleXM6ICcgKyBKU09OLnN0cmluZ2lmeShPYmplY3Qua2V5cyhzaGFwZVR5cGVzKSwgbnVsbCwgJyAgJylcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHZhciBlcnJvciA9IGNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNOb2RlKHByb3BWYWx1ZSkge1xuICAgIHN3aXRjaCAodHlwZW9mIHByb3BWYWx1ZSkge1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICByZXR1cm4gIXByb3BWYWx1ZTtcbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gcHJvcFZhbHVlLmV2ZXJ5KGlzTm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BWYWx1ZSA9PT0gbnVsbCB8fCBpc1ZhbGlkRWxlbWVudChwcm9wVmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4ocHJvcFZhbHVlKTtcbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4pIHtcbiAgICAgICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwocHJvcFZhbHVlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcbiAgICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gcHJvcFZhbHVlLmVudHJpZXMpIHtcbiAgICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgICAgaWYgKCFpc05vZGUoc3RlcC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSXRlcmF0b3Igd2lsbCBwcm92aWRlIGVudHJ5IFtrLHZdIHR1cGxlcyByYXRoZXIgdGhhbiB2YWx1ZXMuXG4gICAgICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgICAgIHZhciBlbnRyeSA9IHN0ZXAudmFsdWU7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGlmICghaXNOb2RlKGVudHJ5WzFdKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpc1N5bWJvbChwcm9wVHlwZSwgcHJvcFZhbHVlKSB7XG4gICAgLy8gTmF0aXZlIFN5bWJvbC5cbiAgICBpZiAocHJvcFR5cGUgPT09ICdzeW1ib2wnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBmYWxzeSB2YWx1ZSBjYW4ndCBiZSBhIFN5bWJvbFxuICAgIGlmICghcHJvcFZhbHVlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gMTkuNC4zLjUgU3ltYm9sLnByb3RvdHlwZVtAQHRvU3RyaW5nVGFnXSA9PT0gJ1N5bWJvbCdcbiAgICBpZiAocHJvcFZhbHVlWydAQHRvU3RyaW5nVGFnJ10gPT09ICdTeW1ib2wnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayBmb3Igbm9uLXNwZWMgY29tcGxpYW50IFN5bWJvbHMgd2hpY2ggYXJlIHBvbHlmaWxsZWQuXG4gICAgaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgcHJvcFZhbHVlIGluc3RhbmNlb2YgU3ltYm9sKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBFcXVpdmFsZW50IG9mIGB0eXBlb2ZgIGJ1dCB3aXRoIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGFycmF5IGFuZCByZWdleHAuXG4gIGZ1bmN0aW9uIGdldFByb3BUeXBlKHByb3BWYWx1ZSkge1xuICAgIHZhciBwcm9wVHlwZSA9IHR5cGVvZiBwcm9wVmFsdWU7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcFZhbHVlKSkge1xuICAgICAgcmV0dXJuICdhcnJheSc7XG4gICAgfVxuICAgIGlmIChwcm9wVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgIC8vIE9sZCB3ZWJraXRzIChhdCBsZWFzdCB1bnRpbCBBbmRyb2lkIDQuMCkgcmV0dXJuICdmdW5jdGlvbicgcmF0aGVyIHRoYW5cbiAgICAgIC8vICdvYmplY3QnIGZvciB0eXBlb2YgYSBSZWdFeHAuIFdlJ2xsIG5vcm1hbGl6ZSB0aGlzIGhlcmUgc28gdGhhdCAvYmxhL1xuICAgICAgLy8gcGFzc2VzIFByb3BUeXBlcy5vYmplY3QuXG4gICAgICByZXR1cm4gJ29iamVjdCc7XG4gICAgfVxuICAgIGlmIChpc1N5bWJvbChwcm9wVHlwZSwgcHJvcFZhbHVlKSkge1xuICAgICAgcmV0dXJuICdzeW1ib2wnO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcFR5cGU7XG4gIH1cblxuICAvLyBUaGlzIGhhbmRsZXMgbW9yZSB0eXBlcyB0aGFuIGBnZXRQcm9wVHlwZWAuIE9ubHkgdXNlZCBmb3IgZXJyb3IgbWVzc2FnZXMuXG4gIC8vIFNlZSBgY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXJgLlxuICBmdW5jdGlvbiBnZXRQcmVjaXNlVHlwZShwcm9wVmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHByb3BWYWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgcHJvcFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gJycgKyBwcm9wVmFsdWU7XG4gICAgfVxuICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgaWYgKHByb3BUeXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgaWYgKHByb3BWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgcmV0dXJuICdkYXRlJztcbiAgICAgIH0gZWxzZSBpZiAocHJvcFZhbHVlIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIHJldHVybiAncmVnZXhwJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BUeXBlO1xuICB9XG5cbiAgLy8gUmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHBvc3RmaXhlZCB0byBhIHdhcm5pbmcgYWJvdXQgYW4gaW52YWxpZCB0eXBlLlxuICAvLyBGb3IgZXhhbXBsZSwgXCJ1bmRlZmluZWRcIiBvciBcIm9mIHR5cGUgYXJyYXlcIlxuICBmdW5jdGlvbiBnZXRQb3N0Zml4Rm9yVHlwZVdhcm5pbmcodmFsdWUpIHtcbiAgICB2YXIgdHlwZSA9IGdldFByZWNpc2VUeXBlKHZhbHVlKTtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIHJldHVybiAnYW4gJyArIHR5cGU7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgY2FzZSAncmVnZXhwJzpcbiAgICAgICAgcmV0dXJuICdhICcgKyB0eXBlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmV0dXJucyBjbGFzcyBuYW1lIG9mIHRoZSBvYmplY3QsIGlmIGFueS5cbiAgZnVuY3Rpb24gZ2V0Q2xhc3NOYW1lKHByb3BWYWx1ZSkge1xuICAgIGlmICghcHJvcFZhbHVlLmNvbnN0cnVjdG9yIHx8ICFwcm9wVmFsdWUuY29uc3RydWN0b3IubmFtZSkge1xuICAgICAgcmV0dXJuIEFOT05ZTU9VUztcbiAgICB9XG4gICAgcmV0dXJuIHByb3BWYWx1ZS5jb25zdHJ1Y3Rvci5uYW1lO1xuICB9XG5cbiAgUmVhY3RQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMgPSBjaGVja1Byb3BUeXBlcztcbiAgUmVhY3RQcm9wVHlwZXMucmVzZXRXYXJuaW5nQ2FjaGUgPSBjaGVja1Byb3BUeXBlcy5yZXNldFdhcm5pbmdDYWNoZTtcbiAgUmVhY3RQcm9wVHlwZXMuUHJvcFR5cGVzID0gUmVhY3RQcm9wVHlwZXM7XG5cbiAgcmV0dXJuIFJlYWN0UHJvcFR5cGVzO1xufTtcbiIsICIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBSZWFjdElzID0gcmVxdWlyZSgncmVhY3QtaXMnKTtcblxuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBkZXZlbG9wbWVudCBiZWhhdmlvci5cbiAgLy8gaHR0cDovL2ZiLm1lL3Byb3AtdHlwZXMtaW4tcHJvZFxuICB2YXIgdGhyb3dPbkRpcmVjdEFjY2VzcyA9IHRydWU7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFR5cGVDaGVja2VycycpKFJlYWN0SXMuaXNFbGVtZW50LCB0aHJvd09uRGlyZWN0QWNjZXNzKTtcbn0gZWxzZSB7XG4gIC8vIEJ5IGV4cGxpY2l0bHkgdXNpbmcgYHByb3AtdHlwZXNgIHlvdSBhcmUgb3B0aW5nIGludG8gbmV3IHByb2R1Y3Rpb24gYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2ZhY3RvcnlXaXRoVGhyb3dpbmdTaGltcycpKCk7XG59XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XHJcbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcclxuICAgICAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKGQsIGIpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XHJcbiAgICAgICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbiAgICB9O1xyXG59KSgpO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XHJcbmV4cG9ydHMuRW1wdHlCVHJlZSA9IGV4cG9ydHMuYXNTZXQgPSBleHBvcnRzLnNpbXBsZUNvbXBhcmF0b3IgPSBleHBvcnRzLmRlZmF1bHRDb21wYXJhdG9yID0gdm9pZCAwO1xyXG4vKipcclxuICogQ29tcGFyZXMgRGVmYXVsdENvbXBhcmFibGVzIHRvIGZvcm0gYSBzdHJpY3QgcGFydGlhbCBvcmRlcmluZy5cclxuICpcclxuICogSGFuZGxlcyArLy0wIGFuZCBOYU4gbGlrZSBNYXA6IE5hTiBpcyBlcXVhbCB0byBOYU4sIGFuZCAtMCBpcyBlcXVhbCB0byArMC5cclxuICpcclxuICogQXJyYXlzIGFyZSBjb21wYXJlZCB1c2luZyAnPCcgYW5kICc+Jywgd2hpY2ggbWF5IGNhdXNlIHVuZXhwZWN0ZWQgZXF1YWxpdHk6XHJcbiAqIGZvciBleGFtcGxlIFsxXSB3aWxsIGJlIGNvbnNpZGVyZWQgZXF1YWwgdG8gWycxJ10uXHJcbiAqXHJcbiAqIFR3byBvYmplY3RzIHdpdGggZXF1YWwgdmFsdWVPZiBjb21wYXJlIHRoZSBzYW1lLCBidXQgY29tcGFyZSB1bmVxdWFsIHRvXHJcbiAqIHByaW1pdGl2ZXMgdGhhdCBoYXZlIHRoZSBzYW1lIHZhbHVlLlxyXG4gKi9cclxuZnVuY3Rpb24gZGVmYXVsdENvbXBhcmF0b3IoYSwgYikge1xyXG4gICAgLy8gU3BlY2lhbCBjYXNlIGZpbml0ZSBudW1iZXJzIGZpcnN0IGZvciBwZXJmb3JtYW5jZS5cclxuICAgIC8vIE5vdGUgdGhhdCB0aGUgdHJpY2sgb2YgdXNpbmcgJ2EgLSBiJyBhbmQgY2hlY2tpbmcgZm9yIE5hTiB0byBkZXRlY3Qgbm9uLW51bWJlcnNcclxuICAgIC8vIGRvZXMgbm90IHdvcmsgaWYgdGhlIHN0cmluZ3MgYXJlIG51bWVyaWMgKGV4OiBcIjVcIikuIFRoaXMgd291bGQgbGVhZGluZyBtb3N0IFxyXG4gICAgLy8gY29tcGFyaXNvbiBmdW5jdGlvbnMgdXNpbmcgdGhhdCBhcHByb2FjaCB0byBmYWlsIHRvIGhhdmUgdHJhbnNpdGl2aXR5LlxyXG4gICAgaWYgKE51bWJlci5pc0Zpbml0ZShhKSAmJiBOdW1iZXIuaXNGaW5pdGUoYikpIHtcclxuICAgICAgICByZXR1cm4gYSAtIGI7XHJcbiAgICB9XHJcbiAgICAvLyBUaGUgZGVmYXVsdCA8IGFuZCA+IG9wZXJhdG9ycyBhcmUgbm90IHRvdGFsbHkgb3JkZXJlZC4gVG8gYWxsb3cgdHlwZXMgdG8gYmUgbWl4ZWRcclxuICAgIC8vIGluIGEgc2luZ2xlIGNvbGxlY3Rpb24sIGNvbXBhcmUgdHlwZXMgYW5kIG9yZGVyIHZhbHVlcyBvZiBkaWZmZXJlbnQgdHlwZXMgYnkgdHlwZS5cclxuICAgIHZhciB0YSA9IHR5cGVvZiBhO1xyXG4gICAgdmFyIHRiID0gdHlwZW9mIGI7XHJcbiAgICBpZiAodGEgIT09IHRiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRhIDwgdGIgPyAtMSA6IDE7XHJcbiAgICB9XHJcbiAgICBpZiAodGEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgLy8gc3RhbmRhcmRpemVkIEphdmFTY3JpcHQgYnVnOiBudWxsIGlzIG5vdCBhbiBvYmplY3QsIGJ1dCB0eXBlb2Ygc2F5cyBpdCBpc1xyXG4gICAgICAgIGlmIChhID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gYiA9PT0gbnVsbCA/IDAgOiAtMTtcclxuICAgICAgICBlbHNlIGlmIChiID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICBhID0gYS52YWx1ZU9mKCk7XHJcbiAgICAgICAgYiA9IGIudmFsdWVPZigpO1xyXG4gICAgICAgIHRhID0gdHlwZW9mIGE7XHJcbiAgICAgICAgdGIgPSB0eXBlb2YgYjtcclxuICAgICAgICAvLyBEZWFsIHdpdGggdGhlIHR3byB2YWx1ZU9mKClzIHByb2R1Y2luZyBkaWZmZXJlbnQgdHlwZXNcclxuICAgICAgICBpZiAodGEgIT09IHRiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0YSA8IHRiID8gLTEgOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGEgYW5kIGIgYXJlIG5vdyB0aGUgc2FtZSB0eXBlLCBhbmQgd2lsbCBiZSBhIG51bWJlciwgc3RyaW5nIG9yIGFycmF5IFxyXG4gICAgLy8gKHdoaWNoIHdlIGFzc3VtZSBob2xkcyBudW1iZXJzIG9yIHN0cmluZ3MpLCBvciBzb21ldGhpbmcgdW5zdXBwb3J0ZWQuXHJcbiAgICBpZiAoYSA8IGIpXHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgaWYgKGEgPiBiKVxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgaWYgKGEgPT09IGIpXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAvLyBPcmRlciBOYU4gbGVzcyB0aGFuIG90aGVyIG51bWJlcnNcclxuICAgIGlmIChOdW1iZXIuaXNOYU4oYSkpXHJcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTihiKSA/IDAgOiAtMTtcclxuICAgIGVsc2UgaWYgKE51bWJlci5pc05hTihiKSlcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgIC8vIFRoaXMgY291bGQgYmUgdHdvIG9iamVjdHMgKGUuZy4gWzddIGFuZCBbJzcnXSkgdGhhdCBhcmVuJ3Qgb3JkZXJlZFxyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYSkgPyAwIDogTnVtYmVyLk5hTjtcclxufVxyXG5leHBvcnRzLmRlZmF1bHRDb21wYXJhdG9yID0gZGVmYXVsdENvbXBhcmF0b3I7XHJcbjtcclxuZnVuY3Rpb24gc2ltcGxlQ29tcGFyYXRvcihhLCBiKSB7XHJcbiAgICByZXR1cm4gYSA+IGIgPyAxIDogYSA8IGIgPyAtMSA6IDA7XHJcbn1cclxuZXhwb3J0cy5zaW1wbGVDb21wYXJhdG9yID0gc2ltcGxlQ29tcGFyYXRvcjtcclxuO1xyXG4vKipcclxuICogQSByZWFzb25hYmx5IGZhc3QgY29sbGVjdGlvbiBvZiBrZXktdmFsdWUgcGFpcnMgd2l0aCBhIHBvd2VyZnVsIEFQSS5cclxuICogTGFyZ2VseSBjb21wYXRpYmxlIHdpdGggdGhlIHN0YW5kYXJkIE1hcC4gQlRyZWUgaXMgYSBCKyB0cmVlIGRhdGEgc3RydWN0dXJlLFxyXG4gKiBzbyB0aGUgY29sbGVjdGlvbiBpcyBzb3J0ZWQgYnkga2V5LlxyXG4gKlxyXG4gKiBCKyB0cmVlcyB0ZW5kIHRvIHVzZSBtZW1vcnkgbW9yZSBlZmZpY2llbnRseSB0aGFuIGhhc2h0YWJsZXMgc3VjaCBhcyB0aGVcclxuICogc3RhbmRhcmQgTWFwLCBlc3BlY2lhbGx5IHdoZW4gdGhlIGNvbGxlY3Rpb24gY29udGFpbnMgYSBsYXJnZSBudW1iZXIgb2ZcclxuICogaXRlbXMuIEhvd2V2ZXIsIG1haW50YWluaW5nIHRoZSBzb3J0IG9yZGVyIG1ha2VzIHRoZW0gbW9kZXN0bHkgc2xvd2VyOlxyXG4gKiBPKGxvZyBzaXplKSByYXRoZXIgdGhhbiBPKDEpLiBUaGlzIEIrIHRyZWUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgTygxKVxyXG4gKiBmYXN0IGNsb25pbmcuIEl0IGFsc28gc3VwcG9ydHMgZnJlZXplKCksIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGVuc3VyZSB0aGF0XHJcbiAqIGEgQlRyZWUgaXMgbm90IGNoYW5nZWQgYWNjaWRlbnRhbGx5LlxyXG4gKlxyXG4gKiBDb25mdXNpbmdseSwgdGhlIEVTNiBNYXAuZm9yRWFjaChjKSBtZXRob2QgY2FsbHMgYyh2YWx1ZSxrZXkpIGluc3RlYWQgb2ZcclxuICogYyhrZXksdmFsdWUpLCBpbiBjb250cmFzdCB0byBvdGhlciBtZXRob2RzIHN1Y2ggYXMgc2V0KCkgYW5kIGVudHJpZXMoKVxyXG4gKiB3aGljaCBwdXQgdGhlIGtleSBmaXJzdC4gSSBjYW4gb25seSBhc3N1bWUgdGhhdCB0aGUgb3JkZXIgd2FzIHJldmVyc2VkIG9uXHJcbiAqIHRoZSB0aGVvcnkgdGhhdCB1c2VycyB3b3VsZCB1c3VhbGx5IHdhbnQgdG8gZXhhbWluZSB2YWx1ZXMgYW5kIGlnbm9yZSBrZXlzLlxyXG4gKiBCVHJlZSdzIGZvckVhY2goKSB0aGVyZWZvcmUgd29ya3MgdGhlIHNhbWUgd2F5LCBidXQgYSBzZWNvbmQgbWV0aG9kXHJcbiAqIGAuZm9yRWFjaFBhaXIoKGtleSx2YWx1ZSk9PnsuLi59KWAgaXMgcHJvdmlkZWQgd2hpY2ggc2VuZHMgeW91IHRoZSBrZXlcclxuICogZmlyc3QgYW5kIHRoZSB2YWx1ZSBzZWNvbmQ7IHRoaXMgbWV0aG9kIGlzIHNsaWdodGx5IGZhc3RlciBiZWNhdXNlIGl0IGlzXHJcbiAqIHRoZSBcIm5hdGl2ZVwiIGZvci1lYWNoIG1ldGhvZCBmb3IgdGhpcyBjbGFzcy5cclxuICpcclxuICogT3V0IG9mIHRoZSBib3gsIEJUcmVlIHN1cHBvcnRzIGtleXMgdGhhdCBhcmUgbnVtYmVycywgc3RyaW5ncywgYXJyYXlzIG9mXHJcbiAqIG51bWJlcnMvc3RyaW5ncywgRGF0ZSwgYW5kIG9iamVjdHMgdGhhdCBoYXZlIGEgdmFsdWVPZigpIG1ldGhvZCByZXR1cm5pbmcgYVxyXG4gKiBudW1iZXIgb3Igc3RyaW5nLiBPdGhlciBkYXRhIHR5cGVzLCBzdWNoIGFzIGFycmF5cyBvZiBEYXRlIG9yIGN1c3RvbVxyXG4gKiBvYmplY3RzLCByZXF1aXJlIGEgY3VzdG9tIGNvbXBhcmF0b3IsIHdoaWNoIHlvdSBtdXN0IHBhc3MgYXMgdGhlIHNlY29uZFxyXG4gKiBhcmd1bWVudCB0byB0aGUgY29uc3RydWN0b3IgKHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhbiBvcHRpb25hbCBsaXN0IG9mXHJcbiAqIGluaXRpYWwgaXRlbXMpLiBTeW1ib2xzIGNhbm5vdCBiZSB1c2VkIGFzIGtleXMgYmVjYXVzZSB0aGV5IGFyZSB1bm9yZGVyZWRcclxuICogKG9uZSBTeW1ib2wgaXMgbmV2ZXIgXCJncmVhdGVyXCIgb3IgXCJsZXNzXCIgdGhhbiBhbm90aGVyKS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogR2l2ZW4gYSB7bmFtZTogc3RyaW5nLCBhZ2U6IG51bWJlcn0gb2JqZWN0LCB5b3UgY2FuIGNyZWF0ZSBhIHRyZWUgc29ydGVkIGJ5XHJcbiAqIG5hbWUgYW5kIHRoZW4gYnkgYWdlIGxpa2UgdGhpczpcclxuICpcclxuICogICAgIHZhciB0cmVlID0gbmV3IEJUcmVlKHVuZGVmaW5lZCwgKGEsIGIpID0+IHtcclxuICogICAgICAgaWYgKGEubmFtZSA+IGIubmFtZSlcclxuICogICAgICAgICByZXR1cm4gMTsgLy8gUmV0dXJuIGEgbnVtYmVyID4wIHdoZW4gYSA+IGJcclxuICogICAgICAgZWxzZSBpZiAoYS5uYW1lIDwgYi5uYW1lKVxyXG4gKiAgICAgICAgIHJldHVybiAtMTsgLy8gUmV0dXJuIGEgbnVtYmVyIDwwIHdoZW4gYSA8IGJcclxuICogICAgICAgZWxzZSAvLyBuYW1lcyBhcmUgZXF1YWwgKG9yIGluY29tcGFyYWJsZSlcclxuICogICAgICAgICByZXR1cm4gYS5hZ2UgLSBiLmFnZTsgLy8gUmV0dXJuID4wIHdoZW4gYS5hZ2UgPiBiLmFnZVxyXG4gKiAgICAgfSk7XHJcbiAqXHJcbiAqICAgICB0cmVlLnNldCh7bmFtZTpcIkJpbGxcIiwgYWdlOjE3fSwgXCJoYXBweVwiKTtcclxuICogICAgIHRyZWUuc2V0KHtuYW1lOlwiRnJhblwiLCBhZ2U6NDB9LCBcImJ1c3kgJiBzdHJlc3NlZFwiKTtcclxuICogICAgIHRyZWUuc2V0KHtuYW1lOlwiQmlsbFwiLCBhZ2U6NTV9LCBcInJlY2VudGx5IGxhaWQgb2ZmXCIpO1xyXG4gKiAgICAgdHJlZS5mb3JFYWNoUGFpcigoaywgdikgPT4ge1xyXG4gKiAgICAgICBjb25zb2xlLmxvZyhgTmFtZTogJHtrLm5hbWV9IEFnZTogJHtrLmFnZX0gU3RhdHVzOiAke3Z9YCk7XHJcbiAqICAgICB9KTtcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSBcInJhbmdlXCIgbWV0aG9kcyAoYGZvckVhY2gsIGZvclJhbmdlLCBlZGl0UmFuZ2VgKSB3aWxsIHJldHVybiB0aGUgbnVtYmVyXHJcbiAqIG9mIGVsZW1lbnRzIHRoYXQgd2VyZSBzY2FubmVkLiBJbiBhZGRpdGlvbiwgdGhlIGNhbGxiYWNrIGNhbiByZXR1cm4ge2JyZWFrOlJ9XHJcbiAqIHRvIHN0b3AgZWFybHkgYW5kIHJldHVybiBSIGZyb20gdGhlIG91dGVyIGZ1bmN0aW9uLlxyXG4gKlxyXG4gKiAtIFRPRE86IFRlc3QgcGVyZm9ybWFuY2Ugb2YgcHJlYWxsb2NhdGluZyB2YWx1ZXMgYXJyYXkgYXQgbWF4IHNpemVcclxuICogLSBUT0RPOiBBZGQgZmFzdCBpbml0aWFsaXphdGlvbiB3aGVuIGEgc29ydGVkIGFycmF5IGlzIHByb3ZpZGVkIHRvIGNvbnN0cnVjdG9yXHJcbiAqXHJcbiAqIEZvciBtb3JlIGRvY3VtZW50YXRpb24gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9xd2VydGllL2J0cmVlLXR5cGVzY3JpcHRcclxuICpcclxuICogQXJlIHlvdSBhIEMjIGRldmVsb3Blcj8gWW91IG1pZ2h0IGxpa2UgdGhlIHNpbWlsYXIgZGF0YSBzdHJ1Y3R1cmVzIEkgbWFkZSBmb3IgQyM6XHJcbiAqIEJEaWN0aW9uYXJ5LCBCTGlzdCwgZXRjLiBTZWUgaHR0cDovL2NvcmUubG95Yy5uZXQvY29sbGVjdGlvbnMvXHJcbiAqXHJcbiAqIEBhdXRob3IgRGF2aWQgUGllcGdyYXNzXHJcbiAqL1xyXG52YXIgQlRyZWUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGFuIGVtcHR5IEIrIHRyZWUuXHJcbiAgICAgKiBAcGFyYW0gY29tcGFyZSBDdXN0b20gZnVuY3Rpb24gdG8gY29tcGFyZSBwYWlycyBvZiBlbGVtZW50cyBpbiB0aGUgdHJlZS5cclxuICAgICAqICAgSWYgbm90IHNwZWNpZmllZCwgZGVmYXVsdENvbXBhcmF0b3Igd2lsbCBiZSB1c2VkIHdoaWNoIGlzIHZhbGlkIGFzIGxvbmcgYXMgSyBleHRlbmRzIERlZmF1bHRDb21wYXJhYmxlLlxyXG4gICAgICogQHBhcmFtIGVudHJpZXMgQSBzZXQgb2Yga2V5LXZhbHVlIHBhaXJzIHRvIGluaXRpYWxpemUgdGhlIHRyZWVcclxuICAgICAqIEBwYXJhbSBtYXhOb2RlU2l6ZSBCcmFuY2hpbmcgZmFjdG9yIChtYXhpbXVtIGl0ZW1zIG9yIGNoaWxkcmVuIHBlciBub2RlKVxyXG4gICAgICogICBNdXN0IGJlIGluIHJhbmdlIDQuLjI1Ni4gSWYgdW5kZWZpbmVkIG9yIDw0IHRoZW4gZGVmYXVsdCBpcyB1c2VkOyBpZiA+MjU2IHRoZW4gMjU2LlxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBCVHJlZShlbnRyaWVzLCBjb21wYXJlLCBtYXhOb2RlU2l6ZSkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QgPSBFbXB0eUxlYWY7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IDA7XHJcbiAgICAgICAgdGhpcy5fbWF4Tm9kZVNpemUgPSBtYXhOb2RlU2l6ZSA+PSA0ID8gTWF0aC5taW4obWF4Tm9kZVNpemUsIDI1NikgOiAzMjtcclxuICAgICAgICB0aGlzLl9jb21wYXJlID0gY29tcGFyZSB8fCBkZWZhdWx0Q29tcGFyYXRvcjtcclxuICAgICAgICBpZiAoZW50cmllcylcclxuICAgICAgICAgICAgdGhpcy5zZXRQYWlycyhlbnRyaWVzKTtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCVHJlZS5wcm90b3R5cGUsIFwic2l6ZVwiLCB7XHJcbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgICAgICAvLyBFUzYgTWFwPEssVj4gbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgICAgIC8qKiBHZXRzIHRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIGluIHRoZSB0cmVlLiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJsZW5ndGhcIiwge1xyXG4gICAgICAgIC8qKiBHZXRzIHRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIGluIHRoZSB0cmVlLiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJpc0VtcHR5XCIsIHtcclxuICAgICAgICAvKiogUmV0dXJucyB0cnVlIGlmZiB0aGUgdHJlZSBjb250YWlucyBubyBrZXktdmFsdWUgcGFpcnMuICovXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLl9zaXplID09PSAwOyB9LFxyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICAvKiogUmVsZWFzZXMgdGhlIHRyZWUgc28gdGhhdCBpdHMgc2l6ZSBpcyAwLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QgPSBFbXB0eUxlYWY7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IDA7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJ1bnMgYSBmdW5jdGlvbiBmb3IgZWFjaCBrZXktdmFsdWUgcGFpciwgaW4gb3JkZXIgZnJvbSBzbWFsbGVzdCB0b1xyXG4gICAgICogIGxhcmdlc3Qga2V5LiBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIEVTNiBNYXAsIHRoZSBhcmd1bWVudCBvcmRlciB0b1xyXG4gICAgICogIHRoZSBjYWxsYmFjayBpcyBiYWNrd2FyZHM6IHZhbHVlIGZpcnN0LCB0aGVuIGtleS4gQ2FsbCBmb3JFYWNoUGFpclxyXG4gICAgICogIGluc3RlYWQgdG8gcmVjZWl2ZSB0aGUga2V5IGFzIHRoZSBmaXJzdCBhcmd1bWVudC5cclxuICAgICAqIEBwYXJhbSB0aGlzQXJnIElmIHByb3ZpZGVkLCB0aGlzIHBhcmFtZXRlciBpcyBhc3NpZ25lZCBhcyB0aGUgYHRoaXNgXHJcbiAgICAgKiAgICAgICAgdmFsdWUgZm9yIGVhY2ggY2FsbGJhY2suXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHZhbHVlcyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2FsbGJhY2ssXHJcbiAgICAgKiAgICAgICAgb3IgdGhlIFIgdmFsdWUgaWYgdGhlIGNhbGxiYWNrIHJldHVybmVkIHticmVhazpSfS4gKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mb3JFYWNoID0gZnVuY3Rpb24gKGNhbGxiYWNrLCB0aGlzQXJnKSB7XHJcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgICAgICBpZiAodGhpc0FyZyAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrLmJpbmQodGhpc0FyZyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9yRWFjaFBhaXIoZnVuY3Rpb24gKGssIHYpIHsgcmV0dXJuIGNhbGxiYWNrKHYsIGssIF90aGlzKTsgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJ1bnMgYSBmdW5jdGlvbiBmb3IgZWFjaCBrZXktdmFsdWUgcGFpciwgaW4gb3JkZXIgZnJvbSBzbWFsbGVzdCB0b1xyXG4gICAgICogIGxhcmdlc3Qga2V5LiBUaGUgY2FsbGJhY2sgY2FuIHJldHVybiB7YnJlYWs6Un0gKHdoZXJlIFIgaXMgYW55IHZhbHVlXHJcbiAgICAgKiAgZXhjZXB0IHVuZGVmaW5lZCkgdG8gc3RvcCBpbW1lZGlhdGVseSBhbmQgcmV0dXJuIFIgZnJvbSBmb3JFYWNoUGFpci5cclxuICAgICAqIEBwYXJhbSBvbkZvdW5kIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgZm9yIGVhY2gga2V5LXZhbHVlIHBhaXIuIFRoaXNcclxuICAgICAqICAgICAgICBmdW5jdGlvbiBjYW4gcmV0dXJuIHticmVhazpSfSB0byBzdG9wIGVhcmx5IHdpdGggcmVzdWx0IFIuXHJcbiAgICAgKiAgICAgICAgVGhlIHJlYXNvbiB0aGF0IHlvdSBtdXN0IHJldHVybiB7YnJlYWs6Un0gaW5zdGVhZCBvZiBzaW1wbHkgUlxyXG4gICAgICogICAgICAgIGl0c2VsZiBpcyBmb3IgY29uc2lzdGVuY3kgd2l0aCBlZGl0UmFuZ2UoKSwgd2hpY2ggYWxsb3dzXHJcbiAgICAgKiAgICAgICAgbXVsdGlwbGUgYWN0aW9ucywgbm90IGp1c3QgYnJlYWtpbmcuXHJcbiAgICAgKiBAcGFyYW0gaW5pdGlhbENvdW50ZXIgVGhpcyBpcyB0aGUgdmFsdWUgb2YgdGhlIHRoaXJkIGFyZ3VtZW50IG9mXHJcbiAgICAgKiAgICAgICAgYG9uRm91bmRgIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC4gVGhlIGNvdW50ZXIgaW5jcmVhc2VzXHJcbiAgICAgKiAgICAgICAgYnkgb25lIGVhY2ggdGltZSBgb25Gb3VuZGAgaXMgY2FsbGVkLiBEZWZhdWx0IHZhbHVlOiAwXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHBhaXJzIHNlbnQgdG8gdGhlIGNhbGxiYWNrIChwbHVzIGluaXRpYWxDb3VudGVyLFxyXG4gICAgICogICAgICAgIGlmIHlvdSBwcm92aWRlZCBvbmUpLiBJZiB0aGUgY2FsbGJhY2sgcmV0dXJuZWQge2JyZWFrOlJ9IHRoZW5cclxuICAgICAqICAgICAgICB0aGUgUiB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmZvckVhY2hQYWlyID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBpbml0aWFsQ291bnRlcikge1xyXG4gICAgICAgIHZhciBsb3cgPSB0aGlzLm1pbktleSgpLCBoaWdoID0gdGhpcy5tYXhLZXkoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSYW5nZShsb3csIGhpZ2gsIHRydWUsIGNhbGxiYWNrLCBpbml0aWFsQ291bnRlcik7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBGaW5kcyBhIHBhaXIgaW4gdGhlIHRyZWUgYW5kIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgdmFsdWUuXHJcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIGEgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBrZXkgd2FzIG5vdCBmb3VuZC5cclxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSwgb3IgZGVmYXVsdFZhbHVlIGlmIHRoZSBrZXkgd2FzIG5vdCBmb3VuZC5cclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obG9nIHNpemUpXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5LCBkZWZhdWx0VmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdC5nZXQoa2V5LCBkZWZhdWx0VmFsdWUsIHRoaXMpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBvciBvdmVyd3JpdGVzIGEga2V5LXZhbHVlIHBhaXIgaW4gdGhlIEIrIHRyZWUuXHJcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHNvcnQgb3JkZXIgb2ZcclxuICAgICAqICAgICAgICBkYXRhIGluIHRoZSB0cmVlLlxyXG4gICAgICogQHBhcmFtIHZhbHVlIGRhdGEgdG8gYXNzb2NpYXRlIHdpdGggdGhlIGtleSAob3B0aW9uYWwpXHJcbiAgICAgKiBAcGFyYW0gb3ZlcndyaXRlIFdoZXRoZXIgdG8gb3ZlcndyaXRlIGFuIGV4aXN0aW5nIGtleS12YWx1ZSBwYWlyXHJcbiAgICAgKiAgICAgICAgKGRlZmF1bHQ6IHRydWUpLiBJZiB0aGlzIGlzIGZhbHNlIGFuZCB0aGVyZSBpcyBhbiBleGlzdGluZ1xyXG4gICAgICogICAgICAgIGtleS12YWx1ZSBwYWlyIHRoZW4gdGhpcyBtZXRob2QgaGFzIG5vIGVmZmVjdC5cclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcga2V5LXZhbHVlIHBhaXIgd2FzIGFkZGVkLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqIE5vdGU6IHdoZW4gb3ZlcndyaXRpbmcgYSBwcmV2aW91cyBlbnRyeSwgdGhlIGtleSBpcyB1cGRhdGVkXHJcbiAgICAgKiBhcyB3ZWxsIGFzIHRoZSB2YWx1ZS4gVGhpcyBoYXMgbm8gZWZmZWN0IHVubGVzcyB0aGUgbmV3IGtleVxyXG4gICAgICogaGFzIGRhdGEgdGhhdCBkb2VzIG5vdCBhZmZlY3QgaXRzIHNvcnQgb3JkZXIuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSwgb3ZlcndyaXRlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Jvb3QuaXNTaGFyZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSB0aGlzLl9yb290LmNsb25lKCk7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuX3Jvb3Quc2V0KGtleSwgdmFsdWUsIG92ZXJ3cml0ZSwgdGhpcyk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSB8fCByZXN1bHQgPT09IGZhbHNlKVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIC8vIFJvb3Qgbm9kZSBoYXMgc3BsaXQsIHNvIGNyZWF0ZSBhIG5ldyByb290IG5vZGUuXHJcbiAgICAgICAgdGhpcy5fcm9vdCA9IG5ldyBCTm9kZUludGVybmFsKFt0aGlzLl9yb290LCByZXN1bHRdKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUga2V5IGV4aXN0cyBpbiB0aGUgQisgdHJlZSwgZmFsc2UgaWYgbm90LlxyXG4gICAgICogVXNlIGdldCgpIGZvciBiZXN0IHBlcmZvcm1hbmNlOyB1c2UgaGFzKCkgaWYgeW91IG5lZWQgdG9cclxuICAgICAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gXCJ1bmRlZmluZWQgdmFsdWVcIiBhbmQgXCJrZXkgbm90IHByZXNlbnRcIi5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHRvIGRldGVjdFxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmhhcyA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSYW5nZShrZXksIGtleSwgdHJ1ZSwgdW5kZWZpbmVkKSAhPT0gMDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgYSBzaW5nbGUga2V5LXZhbHVlIHBhaXIgZnJvbSB0aGUgQisgdHJlZS5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHRvIGZpbmRcclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgYSBwYWlyIHdhcyBmb3VuZCBhbmQgcmVtb3ZlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmRlbGV0ZSA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0UmFuZ2Uoa2V5LCBrZXksIHRydWUsIERlbGV0ZVJhbmdlKSAhPT0gMDtcclxuICAgIH07XHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aCA9IGZ1bmN0aW9uIChrZXksIHZhbHVlLCBvdmVyd3JpdGUpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCk7XHJcbiAgICAgICAgcmV0dXJuIG51LnNldChrZXksIHZhbHVlLCBvdmVyd3JpdGUpIHx8IG92ZXJ3cml0ZSA/IG51IDogdGhpcztcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHRyZWUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleS12YWx1ZSBwYWlycyBzZXQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aFBhaXJzID0gZnVuY3Rpb24gKHBhaXJzLCBvdmVyd3JpdGUpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCk7XHJcbiAgICAgICAgcmV0dXJuIG51LnNldFBhaXJzKHBhaXJzLCBvdmVyd3JpdGUpICE9PSAwIHx8IG92ZXJ3cml0ZSA/IG51IDogdGhpcztcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHRyZWUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleXMgcHJlc2VudC5cclxuICAgICAqICBAcGFyYW0ga2V5cyBUaGUga2V5cyB0byBhZGQuIElmIGEga2V5IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgdHJlZSxcclxuICAgICAqICAgICAgICAgbmVpdGhlciB0aGUgZXhpc3Rpbmcga2V5IG5vciB0aGUgZXhpc3RpbmcgdmFsdWUgaXMgbW9kaWZpZWQuXHJcbiAgICAgKiAgQHBhcmFtIHJldHVyblRoaXNJZlVuY2hhbmdlZCBpZiB0cnVlLCByZXR1cm5zIHRoaXMgaWYgYWxsIGtleXMgYWxyZWFkeVxyXG4gICAgICogIGV4aXN0ZWQuIFBlcmZvcm1hbmNlIG5vdGU6IGR1ZSB0byB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoaXMgY2xhc3MsIGFsbFxyXG4gICAgICogIG5vZGUocykgbGVhZGluZyB0byBleGlzdGluZyBrZXlzIGFyZSBjbG9uZWQgZXZlbiBpZiB0aGUgY29sbGVjdGlvbiBpc1xyXG4gICAgICogIHVsdGltYXRlbHkgdW5jaGFuZ2VkLlxyXG4gICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS53aXRoS2V5cyA9IGZ1bmN0aW9uIChrZXlzLCByZXR1cm5UaGlzSWZVbmNoYW5nZWQpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCksIGNoYW5nZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIGNoYW5nZWQgPSBudS5zZXQoa2V5c1tpXSwgdW5kZWZpbmVkLCBmYWxzZSkgfHwgY2hhbmdlZDtcclxuICAgICAgICByZXR1cm4gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkICYmICFjaGFuZ2VkID8gdGhpcyA6IG51O1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIGEgY29weSBvZiB0aGUgdHJlZSB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IHJlbW92ZWQuXHJcbiAgICAgKiBAcGFyYW0gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkIGlmIHRydWUsIHJldHVybnMgdGhpcyBpZiB0aGUga2V5IGRpZG4ndCBleGlzdC5cclxuICAgICAqICBQZXJmb3JtYW5jZSBub3RlOiBkdWUgdG8gdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGlzIGNsYXNzLCBub2RlKHMpIGxlYWRpbmdcclxuICAgICAqICB0byB3aGVyZSB0aGUga2V5IHdvdWxkIGhhdmUgYmVlbiBzdG9yZWQgYXJlIGNsb25lZCBldmVuIHdoZW4gdGhlIGtleVxyXG4gICAgICogIHR1cm5zIG91dCBub3QgdG8gZXhpc3QgYW5kIHRoZSBjb2xsZWN0aW9uIGlzIHVuY2hhbmdlZC5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLndpdGhvdXQgPSBmdW5jdGlvbiAoa2V5LCByZXR1cm5UaGlzSWZVbmNoYW5nZWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy53aXRob3V0UmFuZ2Uoa2V5LCBrZXksIHRydWUsIHJldHVyblRoaXNJZlVuY2hhbmdlZCk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggdGhlIHNwZWNpZmllZCBrZXlzIHJlbW92ZWQuXHJcbiAgICAgKiBAcGFyYW0gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkIGlmIHRydWUsIHJldHVybnMgdGhpcyBpZiBub25lIG9mIHRoZSBrZXlzXHJcbiAgICAgKiAgZXhpc3RlZC4gUGVyZm9ybWFuY2Ugbm90ZTogZHVlIHRvIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhpcyBjbGFzcyxcclxuICAgICAqICBub2RlKHMpIGxlYWRpbmcgdG8gd2hlcmUgdGhlIGtleSB3b3VsZCBoYXZlIGJlZW4gc3RvcmVkIGFyZSBjbG9uZWRcclxuICAgICAqICBldmVuIHdoZW4gdGhlIGtleSB0dXJucyBvdXQgbm90IHRvIGV4aXN0LlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aG91dEtleXMgPSBmdW5jdGlvbiAoa2V5cywgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKSB7XHJcbiAgICAgICAgdmFyIG51ID0gdGhpcy5jbG9uZSgpO1xyXG4gICAgICAgIHJldHVybiBudS5kZWxldGVLZXlzKGtleXMpIHx8ICFyZXR1cm5UaGlzSWZVbmNoYW5nZWQgPyBudSA6IHRoaXM7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggdGhlIHNwZWNpZmllZCByYW5nZSBvZiBrZXlzIHJlbW92ZWQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aG91dFJhbmdlID0gZnVuY3Rpb24gKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIHJldHVyblRoaXNJZlVuY2hhbmdlZCkge1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuY2xvbmUoKTtcclxuICAgICAgICBpZiAobnUuZGVsZXRlUmFuZ2UobG93LCBoaWdoLCBpbmNsdWRlSGlnaCkgPT09IDAgJiYgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICByZXR1cm4gbnU7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggcGFpcnMgcmVtb3ZlZCB3aGVuZXZlciB0aGUgY2FsbGJhY2tcclxuICAgICAqICBmdW5jdGlvbiByZXR1cm5zIGZhbHNlLiBgd2hlcmUoKWAgaXMgYSBzeW5vbnltIGZvciB0aGlzIG1ldGhvZC4gKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5maWx0ZXIgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIHJldHVyblRoaXNJZlVuY2hhbmdlZCkge1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuZ3JlZWR5Q2xvbmUoKTtcclxuICAgICAgICB2YXIgZGVsO1xyXG4gICAgICAgIG51LmVkaXRBbGwoZnVuY3Rpb24gKGssIHYsIGkpIHtcclxuICAgICAgICAgICAgaWYgKCFjYWxsYmFjayhrLCB2LCBpKSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBkZWwgPSBEZWxldGU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFkZWwgJiYgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICByZXR1cm4gbnU7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggYWxsIHZhbHVlcyBhbHRlcmVkIGJ5IGEgY2FsbGJhY2sgZnVuY3Rpb24uICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubWFwVmFsdWVzID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XHJcbiAgICAgICAgdmFyIHRtcCA9IHt9O1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuZ3JlZWR5Q2xvbmUoKTtcclxuICAgICAgICBudS5lZGl0QWxsKGZ1bmN0aW9uIChrLCB2LCBpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0bXAudmFsdWUgPSBjYWxsYmFjayh2LCBrLCBpKSwgdG1wO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBudTtcclxuICAgIH07XHJcbiAgICBCVHJlZS5wcm90b3R5cGUucmVkdWNlID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcclxuICAgICAgICB2YXIgaSA9IDAsIHAgPSBpbml0aWFsVmFsdWU7XHJcbiAgICAgICAgdmFyIGl0ID0gdGhpcy5lbnRyaWVzKHRoaXMubWluS2V5KCksIFJldXNlZEFycmF5KSwgbmV4dDtcclxuICAgICAgICB3aGlsZSAoIShuZXh0ID0gaXQubmV4dCgpKS5kb25lKVxyXG4gICAgICAgICAgICBwID0gY2FsbGJhY2socCwgbmV4dC52YWx1ZSwgaSsrLCB0aGlzKTtcclxuICAgICAgICByZXR1cm4gcDtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gSXRlcmF0b3IgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8qKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIHRoYXQgcHJvdmlkZXMgaXRlbXMgaW4gb3JkZXIgKGFzY2VuZGluZyBvcmRlciBpZlxyXG4gICAgICogIHRoZSBjb2xsZWN0aW9uJ3MgY29tcGFyYXRvciB1c2VzIGFzY2VuZGluZyBvcmRlciwgYXMgaXMgdGhlIGRlZmF1bHQuKVxyXG4gICAgICogIEBwYXJhbSBsb3dlc3RLZXkgRmlyc3Qga2V5IHRvIGJlIGl0ZXJhdGVkLCBvciB1bmRlZmluZWQgdG8gc3RhcnQgYXRcclxuICAgICAqICAgICAgICAgbWluS2V5KCkuIElmIHRoZSBzcGVjaWZpZWQga2V5IGRvZXNuJ3QgZXhpc3QgdGhlbiBpdGVyYXRpb25cclxuICAgICAqICAgICAgICAgc3RhcnRzIGF0IHRoZSBuZXh0IGhpZ2hlciBrZXkgKGFjY29yZGluZyB0byB0aGUgY29tcGFyYXRvcikuXHJcbiAgICAgKiAgQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWVcclxuICAgICAqICAgICAgICAgcGFpcnMsIHRvIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmVudHJpZXMgPSBmdW5jdGlvbiAobG93ZXN0S2V5LCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpbmZvID0gdGhpcy5maW5kUGF0aChsb3dlc3RLZXkpO1xyXG4gICAgICAgIGlmIChpbmZvID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcigpO1xyXG4gICAgICAgIHZhciBub2RlcXVldWUgPSBpbmZvLm5vZGVxdWV1ZSwgbm9kZWluZGV4ID0gaW5mby5ub2RlaW5kZXgsIGxlYWYgPSBpbmZvLmxlYWY7XHJcbiAgICAgICAgdmFyIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgIHZhciBpID0gKGxvd2VzdEtleSA9PT0gdW5kZWZpbmVkID8gLTEgOiBsZWFmLmluZGV4T2YobG93ZXN0S2V5LCAwLCB0aGlzLl9jb21wYXJlKSAtIDEpO1xyXG4gICAgICAgIHJldHVybiBpdGVyYXRvcihmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGp1bXA6IGZvciAoOzspIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPCBsZWFmLmtleXMubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBbbGVhZi5rZXlzW2ldLCBsZWFmLnZhbHVlc1tpXV0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPCBsZWFmLmtleXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IGxlYWYua2V5c1tpXSwgcmV1c2VkQXJyYXlbMV0gPSBsZWFmLnZhbHVlc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogcmV1c2VkQXJyYXkgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZHZhbmNlIHRvIHRoZSBuZXh0IGxlYWYgbm9kZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBsZXZlbCA9IC0xOzspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2xldmVsID49IG5vZGVxdWV1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUganVtcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK25vZGVpbmRleFtsZXZlbF0gPCBub2RlcXVldWVbbGV2ZWxdLmxlbmd0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgbGV2ZWwgPiAwOyBsZXZlbC0tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlcXVldWVbbGV2ZWwgLSAxXSA9IG5vZGVxdWV1ZVtsZXZlbF1bbm9kZWluZGV4W2xldmVsXV0uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaW5kZXhbbGV2ZWwgLSAxXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVhZiA9IG5vZGVxdWV1ZVswXVtub2RlaW5kZXhbMF1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIHRoYXQgcHJvdmlkZXMgaXRlbXMgaW4gcmV2ZXJzZWQgb3JkZXIuXHJcbiAgICAgKiAgQHBhcmFtIGhpZ2hlc3RLZXkgS2V5IGF0IHdoaWNoIHRvIHN0YXJ0IGl0ZXJhdGluZywgb3IgdW5kZWZpbmVkIHRvXHJcbiAgICAgKiAgICAgICAgIHN0YXJ0IGF0IG1heEtleSgpLiBJZiB0aGUgc3BlY2lmaWVkIGtleSBkb2Vzbid0IGV4aXN0IHRoZW4gaXRlcmF0aW9uXHJcbiAgICAgKiAgICAgICAgIHN0YXJ0cyBhdCB0aGUgbmV4dCBsb3dlciBrZXkgKGFjY29yZGluZyB0byB0aGUgY29tcGFyYXRvcikuXHJcbiAgICAgKiAgQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWVcclxuICAgICAqICAgICAgICAgcGFpcnMsIHRvIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cclxuICAgICAqICBAcGFyYW0gc2tpcEhpZ2hlc3QgSWZmIHRoaXMgZmxhZyBpcyB0cnVlIGFuZCB0aGUgaGlnaGVzdEtleSBleGlzdHMgaW4gdGhlXHJcbiAgICAgKiAgICAgICAgIGNvbGxlY3Rpb24sIHRoZSBwYWlyIG1hdGNoaW5nIGhpZ2hlc3RLZXkgaXMgc2tpcHBlZCwgbm90IGl0ZXJhdGVkLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZW50cmllc1JldmVyc2VkID0gZnVuY3Rpb24gKGhpZ2hlc3RLZXksIHJldXNlZEFycmF5LCBza2lwSGlnaGVzdCkge1xyXG4gICAgICAgIGlmIChoaWdoZXN0S2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgaGlnaGVzdEtleSA9IHRoaXMubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIHNraXBIaWdoZXN0ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBpZiAoaGlnaGVzdEtleSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKCk7IC8vIGNvbGxlY3Rpb24gaXMgZW1wdHlcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIF9hID0gdGhpcy5maW5kUGF0aChoaWdoZXN0S2V5KSB8fCB0aGlzLmZpbmRQYXRoKHRoaXMubWF4S2V5KCkpLCBub2RlcXVldWUgPSBfYS5ub2RlcXVldWUsIG5vZGVpbmRleCA9IF9hLm5vZGVpbmRleCwgbGVhZiA9IF9hLmxlYWY7XHJcbiAgICAgICAgY2hlY2soIW5vZGVxdWV1ZVswXSB8fCBsZWFmID09PSBub2RlcXVldWVbMF1bbm9kZWluZGV4WzBdXSwgXCJ3YXQhXCIpO1xyXG4gICAgICAgIHZhciBpID0gbGVhZi5pbmRleE9mKGhpZ2hlc3RLZXksIDAsIHRoaXMuX2NvbXBhcmUpO1xyXG4gICAgICAgIGlmICghc2tpcEhpZ2hlc3QgJiYgaSA8IGxlYWYua2V5cy5sZW5ndGggJiYgdGhpcy5fY29tcGFyZShsZWFmLmtleXNbaV0sIGhpZ2hlc3RLZXkpIDw9IDApXHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB2YXIgc3RhdGUgPSByZXVzZWRBcnJheSAhPT0gdW5kZWZpbmVkID8gMSA6IDA7XHJcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAganVtcDogZm9yICg7Oykge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC0taSA+PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBbbGVhZi5rZXlzW2ldLCBsZWFmLnZhbHVlc1tpXV0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgtLWkgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV1c2VkQXJyYXlbMF0gPSBsZWFmLmtleXNbaV0sIHJldXNlZEFycmF5WzFdID0gbGVhZi52YWx1ZXNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBkb25lOiBmYWxzZSwgdmFsdWU6IHJldXNlZEFycmF5IH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWR2YW5jZSB0byB0aGUgbmV4dCBsZWFmIG5vZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbGV2ZWwgPSAtMTs7KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKytsZXZlbCA+PSBub2RlcXVldWUubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIGp1bXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoLS1ub2RlaW5kZXhbbGV2ZWxdID49IDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IGxldmVsID4gMDsgbGV2ZWwtLSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXF1ZXVlW2xldmVsIC0gMV0gPSBub2RlcXVldWVbbGV2ZWxdW25vZGVpbmRleFtsZXZlbF1dLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWluZGV4W2xldmVsIC0gMV0gPSBub2RlcXVldWVbbGV2ZWwgLSAxXS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWYgPSBub2RlcXVldWVbMF1bbm9kZWluZGV4WzBdXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGxlYWYua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIC8qIFVzZWQgYnkgZW50cmllcygpIGFuZCBlbnRyaWVzUmV2ZXJzZWQoKSB0byBwcmVwYXJlIHRvIHN0YXJ0IGl0ZXJhdGluZy5cclxuICAgICAqIEl0IGRldmVsb3BzIGEgXCJub2RlIHF1ZXVlXCIgZm9yIGVhY2ggbm9uLWxlYWYgbGV2ZWwgb2YgdGhlIHRyZWUuXHJcbiAgICAgKiBMZXZlbHMgYXJlIG51bWJlcmVkIFwiYm90dG9tLXVwXCIgc28gdGhhdCBsZXZlbCAwIGlzIGEgbGlzdCBvZiBsZWFmXHJcbiAgICAgKiBub2RlcyBmcm9tIGEgbG93LWxldmVsIG5vbi1sZWFmIG5vZGUuIFRoZSBxdWV1ZSBhdCBhIGdpdmVuIGxldmVsIExcclxuICAgICAqIGNvbnNpc3RzIG9mIG5vZGVxdWV1ZVtMXSB3aGljaCBpcyB0aGUgY2hpbGRyZW4gb2YgYSBCTm9kZUludGVybmFsLFxyXG4gICAgICogYW5kIG5vZGVpbmRleFtMXSwgdGhlIGN1cnJlbnQgaW5kZXggd2l0aGluIHRoYXQgY2hpbGQgbGlzdCwgc3VjaFxyXG4gICAgICogc3VjaCB0aGF0IG5vZGVxdWV1ZVtMLTFdID09PSBub2RlcXVldWVbTF1bbm9kZWluZGV4W0xdXS5jaGlsZHJlbi5cclxuICAgICAqIChIb3dldmVyIGluc2lkZSB0aGlzIGZ1bmN0aW9uIHRoZSBvcmRlciBpcyByZXZlcnNlZC4pXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5maW5kUGF0aCA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICB2YXIgbmV4dG5vZGUgPSB0aGlzLl9yb290O1xyXG4gICAgICAgIHZhciBub2RlcXVldWUsIG5vZGVpbmRleDtcclxuICAgICAgICBpZiAobmV4dG5vZGUuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgIG5vZGVxdWV1ZSA9IEVtcHR5QXJyYXksIG5vZGVpbmRleCA9IEVtcHR5QXJyYXk7IC8vIGF2b2lkIGFsbG9jYXRpb25zXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBub2RlcXVldWUgPSBbXSwgbm9kZWluZGV4ID0gW107XHJcbiAgICAgICAgICAgIGZvciAodmFyIGQgPSAwOyAhbmV4dG5vZGUuaXNMZWFmOyBkKyspIHtcclxuICAgICAgICAgICAgICAgIG5vZGVxdWV1ZVtkXSA9IG5leHRub2RlLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgbm9kZWluZGV4W2RdID0ga2V5ID09PSB1bmRlZmluZWQgPyAwIDogbmV4dG5vZGUuaW5kZXhPZihrZXksIDAsIHRoaXMuX2NvbXBhcmUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vZGVpbmRleFtkXSA+PSBub2RlcXVldWVbZF0ubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gZmlyc3Qga2V5ID4gbWF4S2V5KClcclxuICAgICAgICAgICAgICAgIG5leHRub2RlID0gbm9kZXF1ZXVlW2RdW25vZGVpbmRleFtkXV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbm9kZXF1ZXVlLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgbm9kZWluZGV4LnJldmVyc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsgbm9kZXF1ZXVlOiBub2RlcXVldWUsIG5vZGVpbmRleDogbm9kZWluZGV4LCBsZWFmOiBuZXh0bm9kZSB9O1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQ29tcHV0ZXMgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYHRoaXNgIGFuZCBgb3RoZXJgLlxyXG4gICAgICogRm9yIGVmZmljaWVuY3ksIHRoZSBkaWZmIGlzIHJldHVybmVkIHZpYSBpbnZvY2F0aW9ucyBvZiBzdXBwbGllZCBoYW5kbGVycy5cclxuICAgICAqIFRoZSBjb21wdXRhdGlvbiBpcyBvcHRpbWl6ZWQgZm9yIHRoZSBjYXNlIGluIHdoaWNoIHRoZSB0d28gdHJlZXMgaGF2ZSBsYXJnZSBhbW91bnRzXHJcbiAgICAgKiBvZiBzaGFyZWQgZGF0YSAob2J0YWluZWQgYnkgY2FsbGluZyB0aGUgYGNsb25lYCBvciBgd2l0aGAgQVBJcykgYW5kIHdpbGwgYXZvaWRcclxuICAgICAqIGFueSBpdGVyYXRpb24gb2Ygc2hhcmVkIHN0YXRlLlxyXG4gICAgICogVGhlIGhhbmRsZXJzIGNhbiBjYXVzZSBjb21wdXRhdGlvbiB0byBlYXJseSBleGl0IGJ5IHJldHVybmluZyB7YnJlYWs6IFJ9LlxyXG4gICAgICogTmVpdGhlciBvZiB0aGUgY29sbGVjdGlvbnMgc2hvdWxkIGJlIGNoYW5nZWQgZHVyaW5nIHRoZSBjb21wYXJpc29uIHByb2Nlc3MgKGluIHlvdXIgY2FsbGJhY2tzKSwgYXMgdGhpcyBtZXRob2QgYXNzdW1lcyB0aGV5IHdpbGwgbm90IGJlIG11dGF0ZWQuXHJcbiAgICAgKiBAcGFyYW0gb3RoZXIgVGhlIHRyZWUgdG8gY29tcHV0ZSBhIGRpZmYgYWdhaW5zdC5cclxuICAgICAqIEBwYXJhbSBvbmx5VGhpcyBDYWxsYmFjayBpbnZva2VkIGZvciBhbGwga2V5cyBvbmx5IHByZXNlbnQgaW4gYHRoaXNgLlxyXG4gICAgICogQHBhcmFtIG9ubHlPdGhlciBDYWxsYmFjayBpbnZva2VkIGZvciBhbGwga2V5cyBvbmx5IHByZXNlbnQgaW4gYG90aGVyYC5cclxuICAgICAqIEBwYXJhbSBkaWZmZXJlbnQgQ2FsbGJhY2sgaW52b2tlZCBmb3IgYWxsIGtleXMgd2l0aCBkaWZmZXJpbmcgdmFsdWVzLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZGlmZkFnYWluc3QgPSBmdW5jdGlvbiAob3RoZXIsIG9ubHlUaGlzLCBvbmx5T3RoZXIsIGRpZmZlcmVudCkge1xyXG4gICAgICAgIGlmIChvdGhlci5fY29tcGFyZSAhPT0gdGhpcy5fY29tcGFyZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUcmVlIGNvbXBhcmF0b3JzIGFyZSBub3QgdGhlIHNhbWUuXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pc0VtcHR5IHx8IG90aGVyLmlzRW1wdHkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNFbXB0eSAmJiBvdGhlci5pc0VtcHR5KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgLy8gSWYgb25lIHRyZWUgaXMgZW1wdHksIGV2ZXJ5dGhpbmcgd2lsbCBiZSBhbiBvbmx5VGhpcy9vbmx5T3RoZXIuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRW1wdHkpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb25seU90aGVyID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBCVHJlZS5zdGVwVG9FbmQoQlRyZWUubWFrZURpZmZDdXJzb3Iob3RoZXIpLCBvbmx5T3RoZXIpO1xyXG4gICAgICAgICAgICByZXR1cm4gb25seVRoaXMgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IEJUcmVlLnN0ZXBUb0VuZChCVHJlZS5tYWtlRGlmZkN1cnNvcih0aGlzKSwgb25seVRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDdXJzb3ItYmFzZWQgZGlmZiBhbGdvcml0aG0gaXMgYXMgZm9sbG93czpcclxuICAgICAgICAvLyAtIFVudGlsIG5laXRoZXIgY3Vyc29yIGhhcyBuYXZpZ2F0ZWQgdG8gdGhlIGVuZCBvZiB0aGUgdHJlZSwgZG8gdGhlIGZvbGxvd2luZzpcclxuICAgICAgICAvLyAgLSBJZiB0aGUgYHRoaXNgIGN1cnNvciBpcyBcImJlaGluZFwiIHRoZSBgb3RoZXJgIGN1cnNvciAoc3RyaWN0bHkgPCwgdmlhIGNvbXBhcmUpLCBhZHZhbmNlIGl0LlxyXG4gICAgICAgIC8vICAtIE90aGVyd2lzZSwgYWR2YW5jZSB0aGUgYG90aGVyYCBjdXJzb3IuXHJcbiAgICAgICAgLy8gIC0gQW55IHRpbWUgYSBjdXJzb3IgaXMgc3RlcHBlZCwgcGVyZm9ybSB0aGUgZm9sbG93aW5nOlxyXG4gICAgICAgIC8vICAgIC0gSWYgZWl0aGVyIGN1cnNvciBwb2ludHMgdG8gYSBrZXkvdmFsdWUgcGFpcjpcclxuICAgICAgICAvLyAgICAgIC0gSWYgdGhpc0N1cnNvciA9PT0gb3RoZXJDdXJzb3IgYW5kIHRoZSB2YWx1ZXMgZGlmZmVyLCBpdCBpcyBhIERpZmZlcmVudC5cclxuICAgICAgICAvLyAgICAgIC0gSWYgdGhpc0N1cnNvciA+IG90aGVyQ3Vyc29yIGFuZCBvdGhlckN1cnNvciBpcyBhdCBhIGtleS92YWx1ZSBwYWlyLCBpdCBpcyBhbiBPbmx5T3RoZXIuXHJcbiAgICAgICAgLy8gICAgICAtIElmIHRoaXNDdXJzb3IgPCBvdGhlckN1cnNvciBhbmQgdGhpc0N1cnNvciBpcyBhdCBhIGtleS92YWx1ZSBwYWlyLCBpdCBpcyBhbiBPbmx5VGhpcyBhcyBsb25nIGFzIHRoZSBtb3N0IHJlY2VudCBcclxuICAgICAgICAvLyAgICAgICAgY3Vyc29yIHN0ZXAgd2FzICpub3QqIG90aGVyQ3Vyc29yIGFkdmFuY2luZyBmcm9tIGEgdGllLiBUaGUgZXh0cmEgY29uZGl0aW9uIGF2b2lkcyBlcnJvbmVvdXMgT25seU90aGVyIGNhbGxzIFxyXG4gICAgICAgIC8vICAgICAgICB0aGF0IHdvdWxkIG9jY3VyIGR1ZSB0byBvdGhlckN1cnNvciBiZWluZyB0aGUgXCJsZWFkZXJcIi5cclxuICAgICAgICAvLyAgICAtIE90aGVyd2lzZSwgaWYgYm90aCBjdXJzb3JzIHBvaW50IHRvIG5vZGVzLCBjb21wYXJlIHRoZW0uIElmIHRoZXkgYXJlIGVxdWFsIGJ5IHJlZmVyZW5jZSAoc2hhcmVkKSwgc2tpcFxyXG4gICAgICAgIC8vICAgICAgYm90aCBjdXJzb3JzIHRvIHRoZSBuZXh0IG5vZGUgaW4gdGhlIHdhbGsuXHJcbiAgICAgICAgLy8gLSBPbmNlIG9uZSBjdXJzb3IgaGFzIGZpbmlzaGVkIHN0ZXBwaW5nLCBhbnkgcmVtYWluaW5nIHN0ZXBzIChpZiBhbnkpIGFyZSB0YWtlbiBhbmQga2V5L3ZhbHVlIHBhaXJzIGFyZSBsb2dnZWRcclxuICAgICAgICAvLyAgIGFzIE9ubHlPdGhlciAoaWYgb3RoZXJDdXJzb3IgaXMgc3RlcHBpbmcpIG9yIE9ubHlUaGlzIChpZiB0aGlzQ3Vyc29yIGlzIHN0ZXBwaW5nKS5cclxuICAgICAgICAvLyBUaGlzIGFsZ29yaXRobSBnaXZlcyB0aGUgY3JpdGljYWwgZ3VhcmFudGVlIHRoYXQgYWxsIGxvY2F0aW9ucyAoYm90aCBub2RlcyBhbmQga2V5L3ZhbHVlIHBhaXJzKSBpbiBib3RoIHRyZWVzIHRoYXQgXHJcbiAgICAgICAgLy8gYXJlIGlkZW50aWNhbCBieSB2YWx1ZSAoYW5kIHBvc3NpYmx5IGJ5IHJlZmVyZW5jZSkgd2lsbCBiZSB2aXNpdGVkICphdCB0aGUgc2FtZSB0aW1lKiBieSB0aGUgY3Vyc29ycy5cclxuICAgICAgICAvLyBUaGlzIHJlbW92ZXMgdGhlIHBvc3NpYmlsaXR5IG9mIGVtaXR0aW5nIGluY29ycmVjdCBkaWZmcywgYXMgd2VsbCBhcyBhbGxvd2luZyBmb3Igc2tpcHBpbmcgc2hhcmVkIG5vZGVzLlxyXG4gICAgICAgIHZhciBfY29tcGFyZSA9IHRoaXMuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIHRoaXNDdXJzb3IgPSBCVHJlZS5tYWtlRGlmZkN1cnNvcih0aGlzKTtcclxuICAgICAgICB2YXIgb3RoZXJDdXJzb3IgPSBCVHJlZS5tYWtlRGlmZkN1cnNvcihvdGhlcik7XHJcbiAgICAgICAgLy8gSXQgZG9lc24ndCBtYXR0ZXIgaG93IHRoaXNTdGVwcGVkTGFzdCBpcyBpbml0aWFsaXplZC5cclxuICAgICAgICAvLyBTdGVwIG9yZGVyIGlzIG9ubHkgdXNlZCB3aGVuIGVpdGhlciBjdXJzb3IgaXMgYXQgYSBsZWFmLCBhbmQgY3Vyc29ycyBhbHdheXMgc3RhcnQgYXQgYSBub2RlLlxyXG4gICAgICAgIHZhciB0aGlzU3VjY2VzcyA9IHRydWUsIG90aGVyU3VjY2VzcyA9IHRydWUsIHByZXZDdXJzb3JPcmRlciA9IEJUcmVlLmNvbXBhcmUodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlKTtcclxuICAgICAgICB3aGlsZSAodGhpc1N1Y2Nlc3MgJiYgb3RoZXJTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHZhciBjdXJzb3JPcmRlciA9IEJUcmVlLmNvbXBhcmUodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlKTtcclxuICAgICAgICAgICAgdmFyIHRoaXNMZWFmID0gdGhpc0N1cnNvci5sZWFmLCB0aGlzSW50ZXJuYWxTcGluZSA9IHRoaXNDdXJzb3IuaW50ZXJuYWxTcGluZSwgdGhpc0xldmVsSW5kaWNlcyA9IHRoaXNDdXJzb3IubGV2ZWxJbmRpY2VzO1xyXG4gICAgICAgICAgICB2YXIgb3RoZXJMZWFmID0gb3RoZXJDdXJzb3IubGVhZiwgb3RoZXJJbnRlcm5hbFNwaW5lID0gb3RoZXJDdXJzb3IuaW50ZXJuYWxTcGluZSwgb3RoZXJMZXZlbEluZGljZXMgPSBvdGhlckN1cnNvci5sZXZlbEluZGljZXM7XHJcbiAgICAgICAgICAgIGlmICh0aGlzTGVhZiB8fCBvdGhlckxlYWYpIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjdXJzb3JzIHdlcmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gbGFzdCBzdGVwLCB0aGVuIHRoZXJlIGlzIG5vIHdvcmsgdG8gYmUgZG9uZS5cclxuICAgICAgICAgICAgICAgIGlmIChwcmV2Q3Vyc29yT3JkZXIgIT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY3Vyc29yT3JkZXIgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNMZWFmICYmIG90aGVyTGVhZiAmJiBkaWZmZXJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVxdWFsIGtleXMsIGNoZWNrIGZvciBtb2RpZmljYXRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsVGhpcyA9IHRoaXNMZWFmLnZhbHVlc1t0aGlzTGV2ZWxJbmRpY2VzW3RoaXNMZXZlbEluZGljZXMubGVuZ3RoIC0gMV1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbE90aGVyID0gb3RoZXJMZWFmLnZhbHVlc1tvdGhlckxldmVsSW5kaWNlc1tvdGhlckxldmVsSW5kaWNlcy5sZW5ndGggLSAxXV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5pcyh2YWxUaGlzLCB2YWxPdGhlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZGlmZmVyZW50KHRoaXNDdXJzb3IuY3VycmVudEtleSwgdmFsVGhpcywgdmFsT3RoZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmJyZWFrKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGN1cnNvck9yZGVyID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBjYXNlLCB3ZSBrbm93IHRoYXQgZWl0aGVyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAxLiBvdGhlckN1cnNvciBzdGVwcGVkIGxhc3QgZnJvbSBhIHN0YXJ0aW5nIHBvc2l0aW9uIHRoYXQgdHJhaWxlZCB0aGlzQ3Vyc29yLCBhbmQgaXMgc3RpbGwgYmVoaW5kLCBvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAyLiB0aGlzQ3Vyc29yIHN0ZXBwZWQgbGFzdCBhbmQgbGVhcGZyb2dnZWQgb3RoZXJDdXJzb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRWl0aGVyIG9mIHRoZXNlIGNhc2VzIGlzIGFuIFwib25seSBvdGhlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvdGhlckxlYWYgJiYgb25seU90aGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3RoZXJWYWwgPSBvdGhlckxlYWYudmFsdWVzW290aGVyTGV2ZWxJbmRpY2VzW290aGVyTGV2ZWxJbmRpY2VzLmxlbmd0aCAtIDFdXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvbmx5T3RoZXIob3RoZXJDdXJzb3IuY3VycmVudEtleSwgb3RoZXJWYWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuYnJlYWspXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5icmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvbmx5VGhpcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpc0xlYWYgJiYgcHJldkN1cnNvck9yZGVyICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsVGhpcyA9IHRoaXNMZWFmLnZhbHVlc1t0aGlzTGV2ZWxJbmRpY2VzW3RoaXNMZXZlbEluZGljZXMubGVuZ3RoIC0gMV1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG9ubHlUaGlzKHRoaXNDdXJzb3IuY3VycmVudEtleSwgdmFsVGhpcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5icmVhaylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzTGVhZiAmJiAhb3RoZXJMZWFmICYmIGN1cnNvck9yZGVyID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbGFzdFRoaXMgPSB0aGlzSW50ZXJuYWxTcGluZS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgdmFyIGxhc3RPdGhlciA9IG90aGVySW50ZXJuYWxTcGluZS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgdmFyIG5vZGVUaGlzID0gdGhpc0ludGVybmFsU3BpbmVbbGFzdFRoaXNdW3RoaXNMZXZlbEluZGljZXNbbGFzdFRoaXNdXTtcclxuICAgICAgICAgICAgICAgIHZhciBub2RlT3RoZXIgPSBvdGhlckludGVybmFsU3BpbmVbbGFzdE90aGVyXVtvdGhlckxldmVsSW5kaWNlc1tsYXN0T3RoZXJdXTtcclxuICAgICAgICAgICAgICAgIGlmIChub2RlT3RoZXIgPT09IG5vZGVUaGlzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJldkN1cnNvck9yZGVyID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzU3VjY2VzcyA9IEJUcmVlLnN0ZXAodGhpc0N1cnNvciwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3RoZXJTdWNjZXNzID0gQlRyZWUuc3RlcChvdGhlckN1cnNvciwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJldkN1cnNvck9yZGVyID0gY3Vyc29yT3JkZXI7XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3JPcmRlciA8IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXNTdWNjZXNzID0gQlRyZWUuc3RlcCh0aGlzQ3Vyc29yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG90aGVyU3VjY2VzcyA9IEJUcmVlLnN0ZXAob3RoZXJDdXJzb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzU3VjY2VzcyAmJiBvbmx5VGhpcylcclxuICAgICAgICAgICAgcmV0dXJuIEJUcmVlLmZpbmlzaEN1cnNvcldhbGsodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlLCBvbmx5VGhpcyk7XHJcbiAgICAgICAgaWYgKG90aGVyU3VjY2VzcyAmJiBvbmx5T3RoZXIpXHJcbiAgICAgICAgICAgIHJldHVybiBCVHJlZS5maW5pc2hDdXJzb3JXYWxrKG90aGVyQ3Vyc29yLCB0aGlzQ3Vyc29yLCBfY29tcGFyZSwgb25seU90aGVyKTtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIEhlbHBlciBtZXRob2RzIGZvciBkaWZmQWdhaW5zdCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgQlRyZWUuZmluaXNoQ3Vyc29yV2FsayA9IGZ1bmN0aW9uIChjdXJzb3IsIGN1cnNvckZpbmlzaGVkLCBjb21wYXJlS2V5cywgY2FsbGJhY2spIHtcclxuICAgICAgICB2YXIgY29tcGFyZWQgPSBCVHJlZS5jb21wYXJlKGN1cnNvciwgY3Vyc29yRmluaXNoZWQsIGNvbXBhcmVLZXlzKTtcclxuICAgICAgICBpZiAoY29tcGFyZWQgPT09IDApIHtcclxuICAgICAgICAgICAgaWYgKCFCVHJlZS5zdGVwKGN1cnNvcikpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChjb21wYXJlZCA8IDApIHtcclxuICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwiY3Vyc29yIHdhbGsgdGVybWluYXRlZCBlYXJseVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIEJUcmVlLnN0ZXBUb0VuZChjdXJzb3IsIGNhbGxiYWNrKTtcclxuICAgIH07XHJcbiAgICBCVHJlZS5zdGVwVG9FbmQgPSBmdW5jdGlvbiAoY3Vyc29yLCBjYWxsYmFjaykge1xyXG4gICAgICAgIHZhciBjYW5TdGVwID0gdHJ1ZTtcclxuICAgICAgICB3aGlsZSAoY2FuU3RlcCkge1xyXG4gICAgICAgICAgICB2YXIgbGVhZiA9IGN1cnNvci5sZWFmLCBsZXZlbEluZGljZXMgPSBjdXJzb3IubGV2ZWxJbmRpY2VzLCBjdXJyZW50S2V5ID0gY3Vyc29yLmN1cnJlbnRLZXk7XHJcbiAgICAgICAgICAgIGlmIChsZWFmKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBsZWFmLnZhbHVlc1tsZXZlbEluZGljZXNbbGV2ZWxJbmRpY2VzLmxlbmd0aCAtIDFdXTtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBjYWxsYmFjayhjdXJyZW50S2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5icmVhaylcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhblN0ZXAgPSBCVHJlZS5zdGVwKGN1cnNvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQlRyZWUubWFrZURpZmZDdXJzb3IgPSBmdW5jdGlvbiAodHJlZSkge1xyXG4gICAgICAgIHZhciBfcm9vdCA9IHRyZWUuX3Jvb3QsIGhlaWdodCA9IHRyZWUuaGVpZ2h0O1xyXG4gICAgICAgIHJldHVybiB7IGhlaWdodDogaGVpZ2h0LCBpbnRlcm5hbFNwaW5lOiBbW19yb290XV0sIGxldmVsSW5kaWNlczogWzBdLCBsZWFmOiB1bmRlZmluZWQsIGN1cnJlbnRLZXk6IF9yb290Lm1heEtleSgpIH07XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBBZHZhbmNlcyB0aGUgY3Vyc29yIHRvIHRoZSBuZXh0IHN0ZXAgaW4gdGhlIHdhbGsgb2YgaXRzIHRyZWUuXHJcbiAgICAgKiBDdXJzb3JzIGFyZSB3YWxrZWQgYmFja3dhcmRzIGluIHNvcnQgb3JkZXIsIGFzIHRoaXMgYWxsb3dzIHRoZW0gdG8gbGV2ZXJhZ2UgbWF4S2V5KCkgaW4gb3JkZXIgdG8gYmUgY29tcGFyZWQgaW4gTygxKS5cclxuICAgICAqIEBwYXJhbSBjdXJzb3IgVGhlIGN1cnNvciB0byBzdGVwXHJcbiAgICAgKiBAcGFyYW0gc3RlcFRvTm9kZSBJZiB0cnVlLCB0aGUgY3Vyc29yIHdpbGwgYmUgYWR2YW5jZWQgdG8gdGhlIG5leHQgbm9kZSAoc2tpcHBpbmcgdmFsdWVzKVxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgc3RlcCB3YXMgY29tcGxldGVkIGFuZCBmYWxzZSBpZiB0aGUgc3RlcCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgY3Vyc29yIHRvIG1vdmUgYmV5b25kIHRoZSBlbmQgb2YgdGhlIHRyZWUuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnN0ZXAgPSBmdW5jdGlvbiAoY3Vyc29yLCBzdGVwVG9Ob2RlKSB7XHJcbiAgICAgICAgdmFyIGludGVybmFsU3BpbmUgPSBjdXJzb3IuaW50ZXJuYWxTcGluZSwgbGV2ZWxJbmRpY2VzID0gY3Vyc29yLmxldmVsSW5kaWNlcywgbGVhZiA9IGN1cnNvci5sZWFmO1xyXG4gICAgICAgIGlmIChzdGVwVG9Ob2RlID09PSB0cnVlIHx8IGxlYWYpIHtcclxuICAgICAgICAgICAgdmFyIGxldmVsc0xlbmd0aCA9IGxldmVsSW5kaWNlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIC8vIFN0ZXAgdG8gdGhlIG5leHQgbm9kZSBvbmx5IGlmOlxyXG4gICAgICAgICAgICAvLyAtIFdlIGFyZSBleHBsaWNpdGx5IGRpcmVjdGVkIHRvIHZpYSBzdGVwVG9Ob2RlLCBvclxyXG4gICAgICAgICAgICAvLyAtIFRoZXJlIGFyZSBubyBrZXkvdmFsdWUgcGFpcnMgbGVmdCB0byBzdGVwIHRvIGluIHRoaXMgbGVhZlxyXG4gICAgICAgICAgICBpZiAoc3RlcFRvTm9kZSA9PT0gdHJ1ZSB8fCBsZXZlbEluZGljZXNbbGV2ZWxzTGVuZ3RoIC0gMV0gPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHZhciBzcGluZUxlbmd0aCA9IGludGVybmFsU3BpbmUubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgLy8gUm9vdCBpcyBsZWFmXHJcbiAgICAgICAgICAgICAgICBpZiAoc3BpbmVMZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy8gV2FsayBiYWNrIHVwIHRoZSB0cmVlIHVudGlsIHdlIGZpbmQgYSBuZXcgc3VidHJlZSB0byBkZXNjZW5kIGludG9cclxuICAgICAgICAgICAgICAgIHZhciBub2RlTGV2ZWxJbmRleCA9IHNwaW5lTGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIHZhciBsZXZlbEluZGV4V2Fsa0JhY2sgPSBub2RlTGV2ZWxJbmRleDtcclxuICAgICAgICAgICAgICAgIHdoaWxlIChsZXZlbEluZGV4V2Fsa0JhY2sgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsZXZlbEluZGljZXNbbGV2ZWxJbmRleFdhbGtCYWNrXSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxldmVsSW5kZXhXYWxrQmFjayA8IGxldmVsc0xlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBsZWFmIHN0YXRlIGZyb20gY3Vyc29yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IubGVhZiA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsSW5kaWNlcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSB3YWxrZWQgdXB3YXJkcyBwYXN0IGFueSBpbnRlcm5hbCBub2RlLCBzbGljZSB0aGVtIG91dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGV2ZWxJbmRleFdhbGtCYWNrIDwgbm9kZUxldmVsSW5kZXgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuaW50ZXJuYWxTcGluZSA9IGludGVybmFsU3BpbmUuc2xpY2UoMCwgbGV2ZWxJbmRleFdhbGtCYWNrICsgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gbmV3IGludGVybmFsIG5vZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmN1cnJlbnRLZXkgPSBpbnRlcm5hbFNwaW5lW2xldmVsSW5kZXhXYWxrQmFja11bLS1sZXZlbEluZGljZXNbbGV2ZWxJbmRleFdhbGtCYWNrXV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXZlbEluZGV4V2Fsa0JhY2stLTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEN1cnNvciBpcyBpbiB0aGUgZmFyIGxlZnQgbGVhZiBvZiB0aGUgdHJlZSwgbm8gbW9yZSBub2RlcyB0byBlbnVtZXJhdGVcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gbmV3IGxlYWYgdmFsdWVcclxuICAgICAgICAgICAgICAgIHZhciB2YWx1ZUluZGV4ID0gLS1sZXZlbEluZGljZXNbbGV2ZWxzTGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgICAgICBjdXJzb3IuY3VycmVudEtleSA9IGxlYWYua2V5c1t2YWx1ZUluZGV4XTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgeyAvLyBDdXJzb3IgZG9lcyBub3QgcG9pbnQgdG8gYSB2YWx1ZSBpbiBhIGxlYWYsIHNvIG1vdmUgZG93bndhcmRzXHJcbiAgICAgICAgICAgIHZhciBuZXh0TGV2ZWwgPSBpbnRlcm5hbFNwaW5lLmxlbmd0aDtcclxuICAgICAgICAgICAgdmFyIGN1cnJlbnRMZXZlbCA9IG5leHRMZXZlbCAtIDE7XHJcbiAgICAgICAgICAgIHZhciBub2RlID0gaW50ZXJuYWxTcGluZVtjdXJyZW50TGV2ZWxdW2xldmVsSW5kaWNlc1tjdXJyZW50TGV2ZWxdXTtcclxuICAgICAgICAgICAgaWYgKG5vZGUuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBFbnRlcmluZyBpbnRvIGEgbGVhZi4gU2V0IHRoZSBjdXJzb3IgdG8gcG9pbnQgYXQgdGhlIGxhc3Qga2V5L3ZhbHVlIHBhaXIuXHJcbiAgICAgICAgICAgICAgICBjdXJzb3IubGVhZiA9IG5vZGU7XHJcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWVJbmRleCA9IGxldmVsSW5kaWNlc1tuZXh0TGV2ZWxdID0gbm9kZS52YWx1ZXMubGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIGN1cnNvci5jdXJyZW50S2V5ID0gbm9kZS5rZXlzW3ZhbHVlSW5kZXhdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjtcclxuICAgICAgICAgICAgICAgIGludGVybmFsU3BpbmVbbmV4dExldmVsXSA9IGNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkSW5kZXggPSBjaGlsZHJlbi5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgbGV2ZWxJbmRpY2VzW25leHRMZXZlbF0gPSBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yLmN1cnJlbnRLZXkgPSBjaGlsZHJlbltjaGlsZEluZGV4XS5tYXhLZXkoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlcyB0aGUgdHdvIGN1cnNvcnMuIFJldHVybnMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoaWNoIGN1cnNvciBpcyBhaGVhZCBpbiBhIHdhbGsuXHJcbiAgICAgKiBOb3RlIHRoYXQgY3Vyc29ycyBhcmUgYWR2YW5jZWQgaW4gcmV2ZXJzZSBzb3J0aW5nIG9yZGVyLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnNvckEsIGN1cnNvckIsIGNvbXBhcmVLZXlzKSB7XHJcbiAgICAgICAgdmFyIGhlaWdodEEgPSBjdXJzb3JBLmhlaWdodCwgY3VycmVudEtleUEgPSBjdXJzb3JBLmN1cnJlbnRLZXksIGxldmVsSW5kaWNlc0EgPSBjdXJzb3JBLmxldmVsSW5kaWNlcztcclxuICAgICAgICB2YXIgaGVpZ2h0QiA9IGN1cnNvckIuaGVpZ2h0LCBjdXJyZW50S2V5QiA9IGN1cnNvckIuY3VycmVudEtleSwgbGV2ZWxJbmRpY2VzQiA9IGN1cnNvckIubGV2ZWxJbmRpY2VzO1xyXG4gICAgICAgIC8vIFJldmVyc2UgdGhlIGNvbXBhcmlzb24gb3JkZXIsIGFzIGN1cnNvcnMgYXJlIGFkdmFuY2VkIGluIHJldmVyc2Ugc29ydGluZyBvcmRlclxyXG4gICAgICAgIHZhciBrZXlDb21wYXJpc29uID0gY29tcGFyZUtleXMoY3VycmVudEtleUIsIGN1cnJlbnRLZXlBKTtcclxuICAgICAgICBpZiAoa2V5Q29tcGFyaXNvbiAhPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4ga2V5Q29tcGFyaXNvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTm9ybWFsaXplIGRlcHRoIHZhbHVlcyByZWxhdGl2ZSB0byB0aGUgc2hvcnRlc3QgdHJlZS5cclxuICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCBjb25jdXJyZW50IGN1cnNvciB3YWxrcyBvZiB0cmVlcyBvZiBkaWZmZXJpbmcgaGVpZ2h0cyBjYW4gcmVsaWFibHkgbGFuZCBvbiBzaGFyZWQgbm9kZXMgYXQgdGhlIHNhbWUgdGltZS5cclxuICAgICAgICAvLyBUbyBhY2NvbXBsaXNoIHRoaXMsIGEgY3Vyc29yIHRoYXQgaXMgb24gYW4gaW50ZXJuYWwgbm9kZSBhdCBkZXB0aCBEMSB3aXRoIG1heEtleSBYIGlzIGNvbnNpZGVyZWQgXCJiZWhpbmRcIiBhIGN1cnNvciBvbiBhblxyXG4gICAgICAgIC8vIGludGVybmFsIG5vZGUgYXQgZGVwdGggRDIgd2l0aCBtYXhLZXkgWSwgd2hlbiBEMSA8IEQyLiBUaHVzLCBhbHdheXMgd2Fsa2luZyB0aGUgY3Vyc29yIHRoYXQgaXMgXCJiZWhpbmRcIiB3aWxsIGFsbG93IHRoZSBjdXJzb3JcclxuICAgICAgICAvLyBhdCBzaGFsbG93ZXIgZGVwdGggKGJ1dCBlcXVhbCBtYXhLZXkpIHRvIFwiY2F0Y2ggdXBcIiBhbmQgbGFuZCBvbiBzaGFyZWQgbm9kZXMuXHJcbiAgICAgICAgdmFyIGhlaWdodE1pbiA9IGhlaWdodEEgPCBoZWlnaHRCID8gaGVpZ2h0QSA6IGhlaWdodEI7XHJcbiAgICAgICAgdmFyIGRlcHRoQU5vcm1hbGl6ZWQgPSBsZXZlbEluZGljZXNBLmxlbmd0aCAtIChoZWlnaHRBIC0gaGVpZ2h0TWluKTtcclxuICAgICAgICB2YXIgZGVwdGhCTm9ybWFsaXplZCA9IGxldmVsSW5kaWNlc0IubGVuZ3RoIC0gKGhlaWdodEIgLSBoZWlnaHRNaW4pO1xyXG4gICAgICAgIHJldHVybiBkZXB0aEFOb3JtYWxpemVkIC0gZGVwdGhCTm9ybWFsaXplZDtcclxuICAgIH07XHJcbiAgICAvLyBFbmQgb2YgaGVscGVyIG1ldGhvZHMgZm9yIGRpZmZBZ2FpbnN0IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLyoqIFJldHVybnMgYSBuZXcgaXRlcmF0b3IgZm9yIGl0ZXJhdGluZyB0aGUga2V5cyBvZiBlYWNoIHBhaXIgaW4gYXNjZW5kaW5nIG9yZGVyLlxyXG4gICAgICogIEBwYXJhbSBmaXJzdEtleTogTWluaW11bSBrZXkgdG8gaW5jbHVkZSBpbiB0aGUgb3V0cHV0LiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmtleXMgPSBmdW5jdGlvbiAoZmlyc3RLZXkpIHtcclxuICAgICAgICB2YXIgaXQgPSB0aGlzLmVudHJpZXMoZmlyc3RLZXksIFJldXNlZEFycmF5KTtcclxuICAgICAgICByZXR1cm4gaXRlcmF0b3IoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgbiA9IGl0Lm5leHQoKTtcclxuICAgICAgICAgICAgaWYgKG4udmFsdWUpXHJcbiAgICAgICAgICAgICAgICBuLnZhbHVlID0gbi52YWx1ZVswXTtcclxuICAgICAgICAgICAgcmV0dXJuIG47XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBuZXcgaXRlcmF0b3IgZm9yIGl0ZXJhdGluZyB0aGUgdmFsdWVzIG9mIGVhY2ggcGFpciBpbiBvcmRlciBieSBrZXkuXHJcbiAgICAgKiAgQHBhcmFtIGZpcnN0S2V5OiBNaW5pbXVtIGtleSB3aG9zZSBhc3NvY2lhdGVkIHZhbHVlIGlzIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudmFsdWVzID0gZnVuY3Rpb24gKGZpcnN0S2V5KSB7XHJcbiAgICAgICAgdmFyIGl0ID0gdGhpcy5lbnRyaWVzKGZpcnN0S2V5LCBSZXVzZWRBcnJheSk7XHJcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIG4gPSBpdC5uZXh0KCk7XHJcbiAgICAgICAgICAgIGlmIChuLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgbi52YWx1ZSA9IG4udmFsdWVbMV07XHJcbiAgICAgICAgICAgIHJldHVybiBuO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCVHJlZS5wcm90b3R5cGUsIFwibWF4Tm9kZVNpemVcIiwge1xyXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAgICAgLy8gQWRkaXRpb25hbCBtZXRob2RzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgICAgICAvKiogUmV0dXJucyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hpbGRyZW4vdmFsdWVzIGJlZm9yZSBub2RlcyB3aWxsIHNwbGl0LiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbWF4Tm9kZVNpemU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLyoqIEdldHMgdGhlIGxvd2VzdCBrZXkgaW4gdGhlIHRyZWUuIENvbXBsZXhpdHk6IE8obG9nIHNpemUpICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubWluS2V5ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fcm9vdC5taW5LZXkoKTsgfTtcclxuICAgIC8qKiBHZXRzIHRoZSBoaWdoZXN0IGtleSBpbiB0aGUgdHJlZS4gQ29tcGxleGl0eTogTygxKSAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLm1heEtleSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX3Jvb3QubWF4S2V5KCk7IH07XHJcbiAgICAvKiogUXVpY2tseSBjbG9uZXMgdGhlIHRyZWUgYnkgbWFya2luZyB0aGUgcm9vdCBub2RlIGFzIHNoYXJlZC5cclxuICAgICAqICBCb3RoIGNvcGllcyByZW1haW4gZWRpdGFibGUuIFdoZW4geW91IG1vZGlmeSBlaXRoZXIgY29weSwgYW55XHJcbiAgICAgKiAgbm9kZXMgdGhhdCBhcmUgc2hhcmVkIChvciBwb3RlbnRpYWxseSBzaGFyZWQpIGJldHdlZW4gdGhlIHR3b1xyXG4gICAgICogIGNvcGllcyBhcmUgY2xvbmVkIHNvIHRoYXQgdGhlIGNoYW5nZXMgZG8gbm90IGFmZmVjdCBvdGhlciBjb3BpZXMuXHJcbiAgICAgKiAgVGhpcyBpcyBrbm93biBhcyBjb3B5LW9uLXdyaXRlIGJlaGF2aW9yLCBvciBcImxhenkgY29weWluZ1wiLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuaXNTaGFyZWQgPSB0cnVlO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgQlRyZWUodW5kZWZpbmVkLCB0aGlzLl9jb21wYXJlLCB0aGlzLl9tYXhOb2RlU2l6ZSk7XHJcbiAgICAgICAgcmVzdWx0Ll9yb290ID0gdGhpcy5fcm9vdDtcclxuICAgICAgICByZXN1bHQuX3NpemUgPSB0aGlzLl9zaXplO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIFBlcmZvcm1zIGEgZ3JlZWR5IGNsb25lLCBpbW1lZGlhdGVseSBkdXBsaWNhdGluZyBhbnkgbm9kZXMgdGhhdCBhcmVcclxuICAgICAqICBub3QgY3VycmVudGx5IG1hcmtlZCBhcyBzaGFyZWQsIGluIG9yZGVyIHRvIGF2b2lkIG1hcmtpbmcgYW55XHJcbiAgICAgKiAgYWRkaXRpb25hbCBub2RlcyBhcyBzaGFyZWQuXHJcbiAgICAgKiAgQHBhcmFtIGZvcmNlIENsb25lIGFsbCBub2RlcywgZXZlbiBzaGFyZWQgb25lcy5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdyZWVkeUNsb25lID0gZnVuY3Rpb24gKGZvcmNlKSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBCVHJlZSh1bmRlZmluZWQsIHRoaXMuX2NvbXBhcmUsIHRoaXMuX21heE5vZGVTaXplKTtcclxuICAgICAgICByZXN1bHQuX3Jvb3QgPSB0aGlzLl9yb290LmdyZWVkeUNsb25lKGZvcmNlKTtcclxuICAgICAgICByZXN1bHQuX3NpemUgPSB0aGlzLl9zaXplO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIEdldHMgYW4gYXJyYXkgZmlsbGVkIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSB0cmVlLCBzb3J0ZWQgYnkga2V5ICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIChtYXhMZW5ndGgpIHtcclxuICAgICAgICBpZiAobWF4TGVuZ3RoID09PSB2b2lkIDApIHsgbWF4TGVuZ3RoID0gMHg3RkZGRkZGRjsgfVxyXG4gICAgICAgIHZhciBtaW4gPSB0aGlzLm1pbktleSgpLCBtYXggPSB0aGlzLm1heEtleSgpO1xyXG4gICAgICAgIGlmIChtaW4gIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmFuZ2UobWluLCBtYXgsIHRydWUsIG1heExlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfTtcclxuICAgIC8qKiBHZXRzIGFuIGFycmF5IG9mIGFsbCBrZXlzLCBzb3J0ZWQgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5rZXlzQXJyYXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcclxuICAgICAgICB0aGlzLl9yb290LmZvclJhbmdlKHRoaXMubWluS2V5KCksIHRoaXMubWF4S2V5KCksIHRydWUsIGZhbHNlLCB0aGlzLCAwLCBmdW5jdGlvbiAoaywgdikgeyByZXN1bHRzLnB1c2goayk7IH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgfTtcclxuICAgIC8qKiBHZXRzIGFuIGFycmF5IG9mIGFsbCB2YWx1ZXMsIHNvcnRlZCBieSBrZXkgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS52YWx1ZXNBcnJheSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuZm9yUmFuZ2UodGhpcy5taW5LZXkoKSwgdGhpcy5tYXhLZXkoKSwgdHJ1ZSwgZmFsc2UsIHRoaXMsIDAsIGZ1bmN0aW9uIChrLCB2KSB7IHJlc3VsdHMucHVzaCh2KTsgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9O1xyXG4gICAgLyoqIEdldHMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0cmVlJ3MgZGF0YSBiYXNlZCBvbiB0b0FycmF5KCkuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9BcnJheSgpLnRvU3RyaW5nKCk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFN0b3JlcyBhIGtleS12YWx1ZSBwYWlyIG9ubHkgaWYgdGhlIGtleSBkb2Vzbid0IGFscmVhZHkgZXhpc3QgaW4gdGhlIHRyZWUuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IGtleSB3YXMgYWRkZWRcclxuICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuc2V0SWZOb3RQcmVzZW50ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXQoa2V5LCB2YWx1ZSwgZmFsc2UpO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBhaXIgd2hvc2Uga2V5IGlzIGxhcmdlciB0aGFuIHRoZSBzcGVjaWZpZWQga2V5IChvciB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm9uZSkuXHJcbiAgICAgKiBJZiBrZXkgPT09IHVuZGVmaW5lZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBsb3dlc3QgcGFpci5cclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxyXG4gICAgICogQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMsIHRvXHJcbiAgICAgKiBhdm9pZCBjcmVhdGluZyBhIG5ldyBhcnJheSBvbiBldmVyeSBpdGVyYXRpb24uXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0SGlnaGVyUGFpciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV1c2VkQXJyYXkgPSByZXVzZWRBcnJheSB8fCBbXTtcclxuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QubWluUGFpcihyZXVzZWRBcnJheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRIaWdoZXIoa2V5LCB0aGlzLl9jb21wYXJlLCBmYWxzZSwgcmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IGtleSBsYXJnZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUuXHJcbiAgICAgKiAgQWxzbywgbmV4dEhpZ2hlcktleSh1bmRlZmluZWQpIHJldHVybnMgdGhlIGxvd2VzdCBrZXkuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0SGlnaGVyS2V5ID0gZnVuY3Rpb24gKGtleSkge1xyXG4gICAgICAgIHZhciBwID0gdGhpcy5uZXh0SGlnaGVyUGFpcihrZXksIFJldXNlZEFycmF5KTtcclxuICAgICAgICByZXR1cm4gcCAmJiBwWzBdO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBhaXIgd2hvc2Uga2V5IGlzIHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSAob3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUpLlxyXG4gICAgICogIElmIGtleSA9PT0gdW5kZWZpbmVkLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGhpZ2hlc3QgcGFpci5cclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxyXG4gICAgICogQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMsIHRvXHJcbiAgICAgKiAgICAgICAgYXZvaWQgY3JlYXRpbmcgYSBuZXcgYXJyYXkgZWFjaCB0aW1lIHlvdSBjYWxsIHRoaXMgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubmV4dExvd2VyUGFpciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV1c2VkQXJyYXkgPSByZXVzZWRBcnJheSB8fCBbXTtcclxuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QubWF4UGFpcihyZXVzZWRBcnJheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRMb3dlcihrZXksIHRoaXMuX2NvbXBhcmUsIGZhbHNlLCByZXVzZWRBcnJheSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgdGhlIG5leHQga2V5IHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUuXHJcbiAgICAgKiAgQWxzbywgbmV4dExvd2VyS2V5KHVuZGVmaW5lZCkgcmV0dXJucyB0aGUgaGlnaGVzdCBrZXkuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0TG93ZXJLZXkgPSBmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgdmFyIHAgPSB0aGlzLm5leHRMb3dlclBhaXIoa2V5LCBSZXVzZWRBcnJheSk7XHJcbiAgICAgICAgcmV0dXJuIHAgJiYgcFswXTtcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdXBwbGllZCBrZXkgaWYgaXQgZXhpc3RzXHJcbiAgICAgKiAgb3IgdGhlIHBhaXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXh0IGxvd2VyIHBhaXIgb3RoZXJ3aXNlLiBJZiB0aGVyZSBpcyBub1xyXG4gICAgICogIG5leHQgbG93ZXIgcGFpciwgdW5kZWZpbmVkIGlzIHJldHVybmVkLlxyXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHNlYXJjaCBmb3IuXHJcbiAgICAgKiBAcGFyYW0gcmV1c2VkQXJyYXkgT3B0aW9uYWwgYXJyYXkgdXNlZCByZXBlYXRlZGx5IHRvIHN0b3JlIGtleS12YWx1ZSBwYWlycywgdG9cclxuICAgICAqICAgICAgICBhdm9pZCBjcmVhdGluZyBhIG5ldyBhcnJheSBlYWNoIHRpbWUgeW91IGNhbGwgdGhpcyBtZXRob2QuXHJcbiAgICAgKiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdldFBhaXJPck5leHRMb3dlciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dExvd2VyKGtleSwgdGhpcy5fY29tcGFyZSwgdHJ1ZSwgcmV1c2VkQXJyYXkgfHwgW10pO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBrZXktdmFsdWUgcGFpciBhc3NvY2lhdGVkIHdpdGggdGhlIHN1cHBsaWVkIGtleSBpZiBpdCBleGlzdHNcclxuICAgICAqICBvciB0aGUgcGFpciBhc3NvY2lhdGVkIHdpdGggdGhlIG5leHQgbG93ZXIgcGFpciBvdGhlcndpc2UuIElmIHRoZXJlIGlzIG5vXHJcbiAgICAgKiAgbmV4dCBsb3dlciBwYWlyLCB1bmRlZmluZWQgaXMgcmV0dXJuZWQuXHJcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cclxuICAgICAqIEBwYXJhbSByZXVzZWRBcnJheSBPcHRpb25hbCBhcnJheSB1c2VkIHJlcGVhdGVkbHkgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLCB0b1xyXG4gICAgICogICAgICAgIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IGVhY2ggdGltZSB5b3UgY2FsbCB0aGlzIG1ldGhvZC5cclxuICAgICAqICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dEhpZ2hlcihrZXksIHRoaXMuX2NvbXBhcmUsIHRydWUsIHJldXNlZEFycmF5IHx8IFtdKTtcclxuICAgIH07XHJcbiAgICAvKiogRWRpdHMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIGtleSBpbiB0aGUgdHJlZSwgaWYgaXQgYWxyZWFkeSBleGlzdHMuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBrZXkgZXhpc3RlZCwgZmFsc2UgaWYgbm90LlxyXG4gICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5jaGFuZ2VJZlByZXNlbnQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRSYW5nZShrZXksIGtleSwgdHJ1ZSwgZnVuY3Rpb24gKGssIHYpIHsgcmV0dXJuICh7IHZhbHVlOiB2YWx1ZSB9KTsgfSkgIT09IDA7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBCdWlsZHMgYW4gYXJyYXkgb2YgcGFpcnMgZnJvbSB0aGUgc3BlY2lmaWVkIHJhbmdlIG9mIGtleXMsIHNvcnRlZCBieSBrZXkuXHJcbiAgICAgKiBFYWNoIHJldHVybmVkIHBhaXIgaXMgYWxzbyBhbiBhcnJheTogcGFpclswXSBpcyB0aGUga2V5LCBwYWlyWzFdIGlzIHRoZSB2YWx1ZS5cclxuICAgICAqIEBwYXJhbSBsb3cgVGhlIGZpcnN0IGtleSBpbiB0aGUgYXJyYXkgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBUaGlzIG1ldGhvZCByZXR1cm5zIHdoZW4gYSBrZXkgbGFyZ2VyIHRoYW4gdGhpcyBpcyByZWFjaGVkLlxyXG4gICAgICogQHBhcmFtIGluY2x1ZGVIaWdoIElmIHRoZSBgaGlnaGAga2V5IGlzIHByZXNlbnQsIGl0cyBwYWlyIHdpbGwgYmUgaW5jbHVkZWRcclxuICAgICAqICAgICAgICBpbiB0aGUgb3V0cHV0IGlmIGFuZCBvbmx5IGlmIHRoaXMgcGFyYW1ldGVyIGlzIHRydWUuIE5vdGU6IGlmIHRoZVxyXG4gICAgICogICAgICAgIGBsb3dgIGtleSBpcyBwcmVzZW50LCBpdCBpcyBhbHdheXMgaW5jbHVkZWQgaW4gdGhlIG91dHB1dC5cclxuICAgICAqIEBwYXJhbSBtYXhMZW5ndGggTGVuZ3RoIGxpbWl0LiBnZXRSYW5nZSB3aWxsIHN0b3Agc2Nhbm5pbmcgdGhlIHRyZWUgd2hlblxyXG4gICAgICogICAgICAgICAgICAgICAgICB0aGUgYXJyYXkgcmVhY2hlcyB0aGlzIHNpemUuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0YXRpb25hbCBjb21wbGV4aXR5OiBPKHJlc3VsdC5sZW5ndGggKyBsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdldFJhbmdlID0gZnVuY3Rpb24gKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIG1heExlbmd0aCkge1xyXG4gICAgICAgIGlmIChtYXhMZW5ndGggPT09IHZvaWQgMCkgeyBtYXhMZW5ndGggPSAweDNGRkZGRkY7IH1cclxuICAgICAgICB2YXIgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuZm9yUmFuZ2UobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgZmFsc2UsIHRoaXMsIDAsIGZ1bmN0aW9uIChrLCB2KSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChbaywgdl0pO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cy5sZW5ndGggPiBtYXhMZW5ndGggPyBCcmVhayA6IHVuZGVmaW5lZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgIH07XHJcbiAgICAvKiogQWRkcyBhbGwgcGFpcnMgZnJvbSBhIGxpc3Qgb2Yga2V5LXZhbHVlIHBhaXJzLlxyXG4gICAgICogQHBhcmFtIHBhaXJzIFBhaXJzIHRvIGFkZCB0byB0aGlzIHRyZWUuIElmIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyxcclxuICAgICAqICAgICAgICBsYXRlciBwYWlycyBjdXJyZW50bHkgb3ZlcndyaXRlIGVhcmxpZXIgb25lcyAoZS5nLiBbWzAsMV0sWzAsN11dXHJcbiAgICAgKiAgICAgICAgYXNzb2NpYXRlcyAwIHdpdGggNy4pXHJcbiAgICAgKiBAcGFyYW0gb3ZlcndyaXRlIFdoZXRoZXIgdG8gb3ZlcndyaXRlIHBhaXJzIHRoYXQgYWxyZWFkeSBleGlzdCAoaWYgZmFsc2UsXHJcbiAgICAgKiAgICAgICAgcGFpcnNbaV0gaXMgaWdub3JlZCB3aGVuIHRoZSBrZXkgcGFpcnNbaV1bMF0gYWxyZWFkeSBleGlzdHMuKVxyXG4gICAgICogQHJldHVybnMgVGhlIG51bWJlciBvZiBwYWlycyBhZGRlZCB0byB0aGUgY29sbGVjdGlvbi5cclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8ocGFpcnMubGVuZ3RoICogbG9nKHNpemUgKyBwYWlycy5sZW5ndGgpKVxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuc2V0UGFpcnMgPSBmdW5jdGlvbiAocGFpcnMsIG92ZXJ3cml0ZSkge1xyXG4gICAgICAgIHZhciBhZGRlZCA9IDA7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYWlycy5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2V0KHBhaXJzW2ldWzBdLCBwYWlyc1tpXVsxXSwgb3ZlcndyaXRlKSlcclxuICAgICAgICAgICAgICAgIGFkZGVkKys7XHJcbiAgICAgICAgcmV0dXJuIGFkZGVkO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogU2NhbnMgdGhlIHNwZWNpZmllZCByYW5nZSBvZiBrZXlzLCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkga2V5LlxyXG4gICAgICogTm90ZTogdGhlIGNhbGxiYWNrIGBvbkZvdW5kYCBtdXN0IG5vdCBpbnNlcnQgb3IgcmVtb3ZlIGl0ZW1zIGluIHRoZVxyXG4gICAgICogY29sbGVjdGlvbi4gRG9pbmcgc28gbWF5IGNhdXNlIGluY29ycmVjdCBkYXRhIHRvIGJlIHNlbnQgdG8gdGhlXHJcbiAgICAgKiBjYWxsYmFjayBhZnRlcndhcmQuXHJcbiAgICAgKiBAcGFyYW0gbG93IFRoZSBmaXJzdCBrZXkgc2Nhbm5lZCB3aWxsIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBgbG93YC5cclxuICAgICAqIEBwYXJhbSBoaWdoIFNjYW5uaW5nIHN0b3BzIHdoZW4gYSBrZXkgbGFyZ2VyIHRoYW4gdGhpcyBpcyByZWFjaGVkLlxyXG4gICAgICogQHBhcmFtIGluY2x1ZGVIaWdoIElmIHRoZSBgaGlnaGAga2V5IGlzIHByZXNlbnQsIGBvbkZvdW5kYCBpcyBjYWxsZWQgZm9yXHJcbiAgICAgKiAgICAgICAgdGhhdCBmaW5hbCBwYWlyIGlmIGFuZCBvbmx5IGlmIHRoaXMgcGFyYW1ldGVyIGlzIHRydWUuXHJcbiAgICAgKiBAcGFyYW0gb25Gb3VuZCBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGZvciBlYWNoIGtleS12YWx1ZSBwYWlyLiBUaGlzXHJcbiAgICAgKiAgICAgICAgZnVuY3Rpb24gY2FuIHJldHVybiB7YnJlYWs6Un0gdG8gc3RvcCBlYXJseSB3aXRoIHJlc3VsdCBSLlxyXG4gICAgICogQHBhcmFtIGluaXRpYWxDb3VudGVyIEluaXRpYWwgdGhpcmQgYXJndW1lbnQgb2Ygb25Gb3VuZC4gVGhpcyB2YWx1ZVxyXG4gICAgICogICAgICAgIGluY3JlYXNlcyBieSBvbmUgZWFjaCB0aW1lIGBvbkZvdW5kYCBpcyBjYWxsZWQuIERlZmF1bHQ6IDBcclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdmFsdWVzIGZvdW5kLCBvciBSIGlmIHRoZSBjYWxsYmFjayByZXR1cm5lZFxyXG4gICAgICogICAgICAgIGB7YnJlYWs6Un1gIHRvIHN0b3AgZWFybHkuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0YXRpb25hbCBjb21wbGV4aXR5OiBPKG51bWJlciBvZiBpdGVtcyBzY2FubmVkICsgbG9nIHNpemUpXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mb3JSYW5nZSA9IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBvbkZvdW5kLCBpbml0aWFsQ291bnRlcikge1xyXG4gICAgICAgIHZhciByID0gdGhpcy5fcm9vdC5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBmYWxzZSwgdGhpcywgaW5pdGlhbENvdW50ZXIgfHwgMCwgb25Gb3VuZCk7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSBcIm51bWJlclwiID8gciA6IHIuYnJlYWs7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTY2FucyBhbmQgcG90ZW50aWFsbHkgbW9kaWZpZXMgdmFsdWVzIGZvciBhIHN1YnNlcXVlbmNlIG9mIGtleXMuXHJcbiAgICAgKiBOb3RlOiB0aGUgY2FsbGJhY2sgYG9uRm91bmRgIHNob3VsZCBpZGVhbGx5IGJlIGEgcHVyZSBmdW5jdGlvbi5cclxuICAgICAqICAgU3BlY2ZpY2FsbHksIGl0IG11c3Qgbm90IGluc2VydCBpdGVtcywgY2FsbCBjbG9uZSgpLCBvciBjaGFuZ2VcclxuICAgICAqICAgdGhlIGNvbGxlY3Rpb24gZXhjZXB0IHZpYSByZXR1cm4gdmFsdWU7IG91dC1vZi1iYW5kIGVkaXRpbmcgbWF5XHJcbiAgICAgKiAgIGNhdXNlIGFuIGV4Y2VwdGlvbiBvciBtYXkgY2F1c2UgaW5jb3JyZWN0IGRhdGEgdG8gYmUgc2VudCB0b1xyXG4gICAgICogICB0aGUgY2FsbGJhY2sgKGR1cGxpY2F0ZSBvciBtaXNzZWQgaXRlbXMpLiBJdCBtdXN0IG5vdCBjYXVzZSBhXHJcbiAgICAgKiAgIGNsb25lKCkgb2YgdGhlIGNvbGxlY3Rpb24sIG90aGVyd2lzZSB0aGUgY2xvbmUgY291bGQgYmUgbW9kaWZpZWRcclxuICAgICAqICAgYnkgY2hhbmdlcyByZXF1ZXN0ZWQgYnkgdGhlIGNhbGxiYWNrLlxyXG4gICAgICogQHBhcmFtIGxvdyBUaGUgZmlyc3Qga2V5IHNjYW5uZWQgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBTY2FubmluZyBzdG9wcyB3aGVuIGEga2V5IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVhY2hlZC5cclxuICAgICAqIEBwYXJhbSBpbmNsdWRlSGlnaCBJZiB0aGUgYGhpZ2hgIGtleSBpcyBwcmVzZW50LCBgb25Gb3VuZGAgaXMgY2FsbGVkIGZvclxyXG4gICAgICogICAgICAgIHRoYXQgZmluYWwgcGFpciBpZiBhbmQgb25seSBpZiB0aGlzIHBhcmFtZXRlciBpcyB0cnVlLlxyXG4gICAgICogQHBhcmFtIG9uRm91bmQgQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBmb3IgZWFjaCBrZXktdmFsdWUgcGFpci4gVGhpc1xyXG4gICAgICogICAgICAgIGZ1bmN0aW9uIGNhbiByZXR1cm4gYHt2YWx1ZTp2fWAgdG8gY2hhbmdlIHRoZSB2YWx1ZSBhc3NvY2lhdGVkXHJcbiAgICAgKiAgICAgICAgd2l0aCB0aGUgY3VycmVudCBrZXksIGB7ZGVsZXRlOnRydWV9YCB0byBkZWxldGUgdGhlIGN1cnJlbnQgcGFpcixcclxuICAgICAqICAgICAgICBge2JyZWFrOlJ9YCB0byBzdG9wIGVhcmx5IHdpdGggcmVzdWx0IFIsIG9yIGl0IGNhbiByZXR1cm4gbm90aGluZ1xyXG4gICAgICogICAgICAgICh1bmRlZmluZWQgb3Ige30pIHRvIGNhdXNlIG5vIGVmZmVjdCBhbmQgY29udGludWUgaXRlcmF0aW5nLlxyXG4gICAgICogICAgICAgIGB7YnJlYWs6Un1gIGNhbiBiZSBjb21iaW5lZCB3aXRoIG9uZSBvZiB0aGUgb3RoZXIgdHdvIGNvbW1hbmRzLlxyXG4gICAgICogICAgICAgIFRoZSB0aGlyZCBhcmd1bWVudCBgY291bnRlcmAgaXMgdGhlIG51bWJlciBvZiBpdGVtcyBpdGVyYXRlZFxyXG4gICAgICogICAgICAgIHByZXZpb3VzbHk7IGl0IGVxdWFscyAwIHdoZW4gYG9uRm91bmRgIGlzIGNhbGxlZCB0aGUgZmlyc3QgdGltZS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdmFsdWVzIHNjYW5uZWQsIG9yIFIgaWYgdGhlIGNhbGxiYWNrIHJldHVybmVkXHJcbiAgICAgKiAgICAgICAgYHticmVhazpSfWAgdG8gc3RvcCBlYXJseS5cclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogICBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obnVtYmVyIG9mIGl0ZW1zIHNjYW5uZWQgKyBsb2cgc2l6ZSlcclxuICAgICAqICAgTm90ZTogaWYgdGhlIHRyZWUgaGFzIGJlZW4gY2xvbmVkIHdpdGggY2xvbmUoKSwgYW55IHNoYXJlZFxyXG4gICAgICogICBub2RlcyBhcmUgY29waWVkIGJlZm9yZSBgb25Gb3VuZGAgaXMgY2FsbGVkLiBUaGlzIHRha2VzIE8obikgdGltZVxyXG4gICAgICogICB3aGVyZSBuIGlzIHByb3BvcnRpb25hbCB0byB0aGUgYW1vdW50IG9mIHNoYXJlZCBkYXRhIHNjYW5uZWQuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5lZGl0UmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgb25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpIHtcclxuICAgICAgICB2YXIgcm9vdCA9IHRoaXMuX3Jvb3Q7XHJcbiAgICAgICAgaWYgKHJvb3QuaXNTaGFyZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSByb290ID0gcm9vdC5jbG9uZSgpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHZhciByID0gcm9vdC5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCB0cnVlLCB0aGlzLCBpbml0aWFsQ291bnRlciB8fCAwLCBvbkZvdW5kKTtcclxuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSBcIm51bWJlclwiID8gciA6IHIuYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICB2YXIgaXNTaGFyZWQgPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHdoaWxlIChyb290LmtleXMubGVuZ3RoIDw9IDEgJiYgIXJvb3QuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgICAgICBpc1NoYXJlZCB8fCAoaXNTaGFyZWQgPSByb290LmlzU2hhcmVkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSByb290ID0gcm9vdC5rZXlzLmxlbmd0aCA9PT0gMCA/IEVtcHR5TGVhZiA6XHJcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5jaGlsZHJlblswXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBJZiBhbnkgYW5jZXN0b3Igb2YgdGhlIG5ldyByb290IHdhcyBzaGFyZWQsIHRoZSBuZXcgcm9vdCBtdXN0IGFsc28gYmUgc2hhcmVkXHJcbiAgICAgICAgICAgIGlmIChpc1NoYXJlZCkge1xyXG4gICAgICAgICAgICAgICAgcm9vdC5pc1NoYXJlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqIFNhbWUgYXMgYGVkaXRSYW5nZWAgZXhjZXB0IHRoYXQgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBmb3IgYWxsIHBhaXJzLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmVkaXRBbGwgPSBmdW5jdGlvbiAob25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0UmFuZ2UodGhpcy5taW5LZXkoKSwgdGhpcy5tYXhLZXkoKSwgdHJ1ZSwgb25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBhIHJhbmdlIG9mIGtleS12YWx1ZSBwYWlycyBmcm9tIHRoZSBCKyB0cmVlLlxyXG4gICAgICogQHBhcmFtIGxvdyBUaGUgZmlyc3Qga2V5IHNjYW5uZWQgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBTY2FubmluZyBzdG9wcyB3aGVuIGEga2V5IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVhY2hlZC5cclxuICAgICAqIEBwYXJhbSBpbmNsdWRlSGlnaCBTcGVjaWZpZXMgd2hldGhlciB0aGUgYGhpZ2hgIGtleSwgaWYgcHJlc2VudCwgaXMgZGVsZXRlZC5cclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIHRoYXQgd2VyZSBkZWxldGVkLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSArIG51bWJlciBvZiBpdGVtcyBkZWxldGVkKVxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZGVsZXRlUmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBEZWxldGVSYW5nZSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIERlbGV0ZXMgYSBzZXJpZXMgb2Yga2V5cyBmcm9tIHRoZSBjb2xsZWN0aW9uLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmRlbGV0ZUtleXMgPSBmdW5jdGlvbiAoa2V5cykge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCByID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRlbGV0ZShrZXlzW2ldKSlcclxuICAgICAgICAgICAgICAgIHIrKztcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgIH07XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQlRyZWUucHJvdG90eXBlLCBcImhlaWdodFwiLCB7XHJcbiAgICAgICAgLyoqIEdldHMgdGhlIGhlaWdodCBvZiB0aGUgdHJlZTogdGhlIG51bWJlciBvZiBpbnRlcm5hbCBub2RlcyBiZXR3ZWVuIHRoZVxyXG4gICAgICAgICAqICBCVHJlZSBvYmplY3QgYW5kIGl0cyBsZWFmIG5vZGVzICh6ZXJvIGlmIHRoZXJlIGFyZSBubyBpbnRlcm5hbCBub2RlcykuICovXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fcm9vdDtcclxuICAgICAgICAgICAgdmFyIGhlaWdodCA9IC0xO1xyXG4gICAgICAgICAgICB3aGlsZSAobm9kZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0Kys7XHJcbiAgICAgICAgICAgICAgICBub2RlID0gbm9kZS5pc0xlYWYgPyB1bmRlZmluZWQgOiBub2RlLmNoaWxkcmVuWzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBoZWlnaHQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLyoqIE1ha2VzIHRoZSBvYmplY3QgcmVhZC1vbmx5IHRvIGVuc3VyZSBpdCBpcyBub3QgYWNjaWRlbnRhbGx5IG1vZGlmaWVkLlxyXG4gICAgICogIEZyZWV6aW5nIGRvZXMgbm90IGhhdmUgdG8gYmUgcGVybWFuZW50OyB1bmZyZWV6ZSgpIHJldmVyc2VzIHRoZSBlZmZlY3QuXHJcbiAgICAgKiAgVGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgcmVwbGFjaW5nIG11dGF0b3IgZnVuY3Rpb25zIHdpdGggYSBmdW5jdGlvblxyXG4gICAgICogIHRoYXQgdGhyb3dzIGFuIEVycm9yLiBDb21wYXJlZCB0byB1c2luZyBhIHByb3BlcnR5IChlLmcuIHRoaXMuaXNGcm96ZW4pXHJcbiAgICAgKiAgdGhpcyBpbXBsZW1lbnRhdGlvbiBnaXZlcyBiZXR0ZXIgcGVyZm9ybWFuY2UgaW4gbm9uLWZyb3plbiBCVHJlZXMuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mcmVlemUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHQgPSB0aGlzO1xyXG4gICAgICAgIC8vIE5vdGU6IGFsbCBvdGhlciBtdXRhdG9ycyB1bHRpbWF0ZWx5IGNhbGwgc2V0KCkgb3IgZWRpdFJhbmdlKCkgXHJcbiAgICAgICAgLy8gICAgICAgc28gd2UgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aG9zZSBvdGhlcnMuXHJcbiAgICAgICAgdC5jbGVhciA9IHQuc2V0ID0gdC5lZGl0UmFuZ2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dGVtcHRlZCB0byBtb2RpZnkgYSBmcm96ZW4gQlRyZWVcIik7XHJcbiAgICAgICAgfTtcclxuICAgIH07XHJcbiAgICAvKiogRW5zdXJlcyBtdXRhdGlvbnMgYXJlIGFsbG93ZWQsIHJldmVyc2luZyB0aGUgZWZmZWN0IG9mIGZyZWV6ZSgpLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLnVuZnJlZXplID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmUgXCJUaGUgb3BlcmFuZCBvZiBhICdkZWxldGUnIG9wZXJhdG9yIG11c3QgYmUgb3B0aW9uYWwuXCJcclxuICAgICAgICAvLyAgICAgICAgICAgICh3cm9uZzogZGVsZXRlIGRvZXMgbm90IGFmZmVjdCB0aGUgcHJvdG90eXBlLilcclxuICAgICAgICBkZWxldGUgdGhpcy5jbGVhcjtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZGVsZXRlIHRoaXMuc2V0O1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBkZWxldGUgdGhpcy5lZGl0UmFuZ2U7XHJcbiAgICB9O1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJpc0Zyb3plblwiLCB7XHJcbiAgICAgICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHJlZSBhcHBlYXJzIHRvIGJlIGZyb3plbi4gKi9cclxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoJ2VkaXRSYW5nZScpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIC8qKiBTY2FucyB0aGUgdHJlZSBmb3Igc2lnbnMgb2Ygc2VyaW91cyBidWdzIChlLmcuIHRoaXMuc2l6ZSBkb2Vzbid0IG1hdGNoXHJcbiAgICAgKiAgbnVtYmVyIG9mIGVsZW1lbnRzLCBpbnRlcm5hbCBub2RlcyBub3QgY2FjaGluZyBtYXggZWxlbWVudCBwcm9wZXJseS4uLilcclxuICAgICAqICBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obnVtYmVyIG9mIG5vZGVzKSwgaS5lLiBPKHNpemUpLiBUaGlzIG1ldGhvZFxyXG4gICAgICogIHNraXBzIHRoZSBtb3N0IGV4cGVuc2l2ZSB0ZXN0IC0gd2hldGhlciBhbGwga2V5cyBhcmUgc29ydGVkIC0gYnV0IGl0XHJcbiAgICAgKiAgZG9lcyBjaGVjayB0aGF0IG1heEtleSgpIG9mIHRoZSBjaGlsZHJlbiBvZiBpbnRlcm5hbCBub2RlcyBhcmUgc29ydGVkLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHNpemUgPSB0aGlzLl9yb290LmNoZWNrVmFsaWQoMCwgdGhpcywgMCk7XHJcbiAgICAgICAgY2hlY2soc2l6ZSA9PT0gdGhpcy5zaXplLCBcInNpemUgbWlzbWF0Y2g6IGNvdW50ZWQgXCIsIHNpemUsIFwiYnV0IHN0b3JlZFwiLCB0aGlzLnNpemUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBCVHJlZTtcclxufSgpKTtcclxuZXhwb3J0cy5kZWZhdWx0ID0gQlRyZWU7XHJcbi8qKiBBIFR5cGVTY3JpcHQgaGVscGVyIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzIGFyZ3VtZW50LCB0eXBlZCBhc1xyXG4gKiAgYElTb3J0ZWRTZXQ8Sz5gIGlmIHRoZSBCVHJlZSBpbXBsZW1lbnRzIGl0LCBhcyBpdCBkb2VzIGlmIGBWIGV4dGVuZHMgdW5kZWZpbmVkYC5cclxuICogIElmIGBWYCBjYW5ub3QgYmUgYHVuZGVmaW5lZGAsIGl0IHJldHVybnMgYHVua25vd25gIGluc3RlYWQuIE9yIGF0IGxlYXN0LCB0aGF0XHJcbiAqICB3YXMgdGhlIGludGVudGlvbiwgYnV0IFR5cGVTY3JpcHQgaXMgYWN0aW5nIHdlaXJkIGFuZCBtYXkgcmV0dXJuIGBJU29ydGVkU2V0PEs+YFxyXG4gKiAgZXZlbiBpZiBgVmAgY2FuJ3QgYmUgYHVuZGVmaW5lZGAgKGRpc2N1c3Npb246IGJ0cmVlLXR5cGVzY3JpcHQgaXNzdWUgIzE0KSAqL1xyXG5mdW5jdGlvbiBhc1NldChidHJlZSkge1xyXG4gICAgcmV0dXJuIGJ0cmVlO1xyXG59XHJcbmV4cG9ydHMuYXNTZXQgPSBhc1NldDtcclxuaWYgKFN5bWJvbCAmJiBTeW1ib2wuaXRlcmF0b3IpIC8vIGl0ZXJhdG9yIGlzIGVxdWl2YWxlbnQgdG8gZW50cmllcygpXHJcbiAgICBCVHJlZS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IEJUcmVlLnByb3RvdHlwZS5lbnRyaWVzO1xyXG5CVHJlZS5wcm90b3R5cGUud2hlcmUgPSBCVHJlZS5wcm90b3R5cGUuZmlsdGVyO1xyXG5CVHJlZS5wcm90b3R5cGUuc2V0UmFuZ2UgPSBCVHJlZS5wcm90b3R5cGUuc2V0UGFpcnM7XHJcbkJUcmVlLnByb3RvdHlwZS5hZGQgPSBCVHJlZS5wcm90b3R5cGUuc2V0OyAvLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIElTZXRTaW5rPEs+XHJcbmZ1bmN0aW9uIGl0ZXJhdG9yKG5leHQpIHtcclxuICAgIGlmIChuZXh0ID09PSB2b2lkIDApIHsgbmV4dCA9IChmdW5jdGlvbiAoKSB7IHJldHVybiAoeyBkb25lOiB0cnVlLCB2YWx1ZTogdW5kZWZpbmVkIH0pOyB9KTsgfVxyXG4gICAgdmFyIHJlc3VsdCA9IHsgbmV4dDogbmV4dCB9O1xyXG4gICAgaWYgKFN5bWJvbCAmJiBTeW1ib2wuaXRlcmF0b3IpXHJcbiAgICAgICAgcmVzdWx0W1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG4vKiogTGVhZiBub2RlIC8gYmFzZSBjbGFzcy4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbnZhciBCTm9kZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcclxuICAgIGZ1bmN0aW9uIEJOb2RlKGtleXMsIHZhbHVlcykge1xyXG4gICAgICAgIGlmIChrZXlzID09PSB2b2lkIDApIHsga2V5cyA9IFtdOyB9XHJcbiAgICAgICAgdGhpcy5rZXlzID0ga2V5cztcclxuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcyB8fCB1bmRlZlZhbHM7XHJcbiAgICAgICAgdGhpcy5pc1NoYXJlZCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCTm9kZS5wcm90b3R5cGUsIFwiaXNMZWFmXCIsIHtcclxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuY2hpbGRyZW4gPT09IHVuZGVmaW5lZDsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBTaGFyZWQgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5tYXhLZXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5c1t0aGlzLmtleXMubGVuZ3RoIC0gMV07XHJcbiAgICB9O1xyXG4gICAgLy8gSWYga2V5IG5vdCBmb3VuZCwgcmV0dXJucyBpXmZhaWxYb3Igd2hlcmUgaSBpcyB0aGUgaW5zZXJ0aW9uIGluZGV4LlxyXG4gICAgLy8gQ2FsbGVycyB0aGF0IGRvbid0IGNhcmUgd2hldGhlciB0aGVyZSB3YXMgYSBtYXRjaCB3aWxsIHNldCBmYWlsWG9yPTAuXHJcbiAgICBCTm9kZS5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIChrZXksIGZhaWxYb3IsIGNtcCkge1xyXG4gICAgICAgIHZhciBrZXlzID0gdGhpcy5rZXlzO1xyXG4gICAgICAgIHZhciBsbyA9IDAsIGhpID0ga2V5cy5sZW5ndGgsIG1pZCA9IGhpID4+IDE7XHJcbiAgICAgICAgd2hpbGUgKGxvIDwgaGkpIHtcclxuICAgICAgICAgICAgdmFyIGMgPSBjbXAoa2V5c1ttaWRdLCBrZXkpO1xyXG4gICAgICAgICAgICBpZiAoYyA8IDApXHJcbiAgICAgICAgICAgICAgICBsbyA9IG1pZCArIDE7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGMgPiAwKSAvLyBrZXkgPCBrZXlzW21pZF1cclxuICAgICAgICAgICAgICAgIGhpID0gbWlkO1xyXG4gICAgICAgICAgICBlbHNlIGlmIChjID09PSAwKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1pZDtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjIGlzIE5hTiBvciBvdGhlcndpc2UgaW52YWxpZFxyXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0ga2V5KSAvLyBhdCBsZWFzdCB0aGUgc2VhcmNoIGtleSBpcyBub3QgTmFOXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWlkID0gKGxvICsgaGkpID4+IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtaWQgXiBmYWlsWG9yO1xyXG4gICAgICAgIC8vIFVucm9sbGVkIHZlcnNpb246IGJlbmNobWFya3Mgc2hvdyBzYW1lIHNwZWVkLCBub3Qgd29ydGggdXNpbmdcclxuICAgICAgICAvKnZhciBpID0gMSwgYzogbnVtYmVyID0gMCwgc3VtID0gMDtcclxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPj0gNCkge1xyXG4gICAgICAgICAgaSA9IDM7XHJcbiAgICAgICAgICBpZiAoa2V5cy5sZW5ndGggPj0gOCkge1xyXG4gICAgICAgICAgICBpID0gNztcclxuICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID49IDE2KSB7XHJcbiAgICAgICAgICAgICAgaSA9IDE1O1xyXG4gICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+PSAzMikge1xyXG4gICAgICAgICAgICAgICAgaSA9IDMxO1xyXG4gICAgICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID49IDY0KSB7XHJcbiAgICAgICAgICAgICAgICAgIGkgPSAxMjc7XHJcbiAgICAgICAgICAgICAgICAgIGkgKz0gKGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDEpIDwgMCA/IDY0IDogLTY0O1xyXG4gICAgICAgICAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMzIgOiAtMzI7XHJcbiAgICAgICAgICAgICAgICAgIHN1bSArPSBjO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMTYgOiAtMTY7XHJcbiAgICAgICAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gOCA6IC04O1xyXG4gICAgICAgICAgICAgIHN1bSArPSBjO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGkgKz0gKGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDEpIDwgMCA/IDQgOiAtNDtcclxuICAgICAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpICs9IChjID0gaSA8IGtleXMubGVuZ3RoID8gY21wKGtleXNbaV0sIGtleSkgOiAxKSA8IDAgPyAyIDogLTI7XHJcbiAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICB9XHJcbiAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMSA6IC0xO1xyXG4gICAgICAgIGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDE7XHJcbiAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgaWYgKGMgPCAwKSB7XHJcbiAgICAgICAgICArK2k7XHJcbiAgICAgICAgICBjID0gaSA8IGtleXMubGVuZ3RoID8gY21wKGtleXNbaV0sIGtleSkgOiAxO1xyXG4gICAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzdW0gIT09IHN1bSkge1xyXG4gICAgICAgICAgaWYgKGtleSA9PT0ga2V5KSAvLyBhdCBsZWFzdCB0aGUgc2VhcmNoIGtleSBpcyBub3QgTmFOXHJcbiAgICAgICAgICAgIHJldHVybiBrZXlzLmxlbmd0aCBeIGZhaWxYb3I7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjID09PSAwID8gaSA6IGkgXiBmYWlsWG9yOyovXHJcbiAgICB9O1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIExlYWYgTm9kZTogbWlzYyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWluS2V5ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmtleXNbMF07XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLm1pblBhaXIgPSBmdW5jdGlvbiAocmV1c2VkQXJyYXkpIHtcclxuICAgICAgICBpZiAodGhpcy5rZXlzLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1swXTtcclxuICAgICAgICByZXVzZWRBcnJheVsxXSA9IHRoaXMudmFsdWVzWzBdO1xyXG4gICAgICAgIHJldHVybiByZXVzZWRBcnJheTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWF4UGFpciA9IGZ1bmN0aW9uIChyZXVzZWRBcnJheSkge1xyXG4gICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoID09PSAwKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIHZhciBsYXN0SW5kZXggPSB0aGlzLmtleXMubGVuZ3RoIC0gMTtcclxuICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1tsYXN0SW5kZXhdO1xyXG4gICAgICAgIHJldXNlZEFycmF5WzFdID0gdGhpcy52YWx1ZXNbbGFzdEluZGV4XTtcclxuICAgICAgICByZXR1cm4gcmV1c2VkQXJyYXk7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciB2ID0gdGhpcy52YWx1ZXM7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCTm9kZSh0aGlzLmtleXMuc2xpY2UoMCksIHYgPT09IHVuZGVmVmFscyA/IHYgOiB2LnNsaWNlKDApKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ3JlZWR5Q2xvbmUgPSBmdW5jdGlvbiAoZm9yY2UpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1NoYXJlZCAmJiAhZm9yY2UgPyB0aGlzIDogdGhpcy5jbG9uZSgpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5LCBkZWZhdWx0VmFsdWUsIHRyZWUpIHtcclxuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXhPZihrZXksIC0xLCB0cmVlLl9jb21wYXJlKTtcclxuICAgICAgICByZXR1cm4gaSA8IDAgPyBkZWZhdWx0VmFsdWUgOiB0aGlzLnZhbHVlc1tpXTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgLTEsIGNvbXBhcmUpO1xyXG4gICAgICAgIHZhciBpbmRleE9yTG93ZXIgPSBpIDwgMCA/IH5pIC0gMSA6IChpbmNsdXNpdmUgPyBpIDogaSAtIDEpO1xyXG4gICAgICAgIGlmIChpbmRleE9yTG93ZXIgPj0gMCkge1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1tpbmRleE9yTG93ZXJdO1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVsxXSA9IHRoaXMudmFsdWVzW2luZGV4T3JMb3dlcl07XHJcbiAgICAgICAgICAgIHJldHVybiByZXVzZWRBcnJheTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlciA9IGZ1bmN0aW9uIChrZXksIGNvbXBhcmUsIGluY2x1c2l2ZSwgcmV1c2VkQXJyYXkpIHtcclxuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXhPZihrZXksIC0xLCBjb21wYXJlKTtcclxuICAgICAgICB2YXIgaW5kZXhPckxvd2VyID0gaSA8IDAgPyB+aSA6IChpbmNsdXNpdmUgPyBpIDogaSArIDEpO1xyXG4gICAgICAgIHZhciBrZXlzID0gdGhpcy5rZXlzO1xyXG4gICAgICAgIGlmIChpbmRleE9yTG93ZXIgPCBrZXlzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IGtleXNbaW5kZXhPckxvd2VyXTtcclxuICAgICAgICAgICAgcmV1c2VkQXJyYXlbMV0gPSB0aGlzLnZhbHVlc1tpbmRleE9yTG93ZXJdO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV1c2VkQXJyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoZGVwdGgsIHRyZWUsIGJhc2VJbmRleCkge1xyXG4gICAgICAgIHZhciBrTCA9IHRoaXMua2V5cy5sZW5ndGgsIHZMID0gdGhpcy52YWx1ZXMubGVuZ3RoO1xyXG4gICAgICAgIGNoZWNrKHRoaXMudmFsdWVzID09PSB1bmRlZlZhbHMgPyBrTCA8PSB2TCA6IGtMID09PSB2TCwgXCJrZXlzL3ZhbHVlcyBsZW5ndGggbWlzbWF0Y2g6IGRlcHRoXCIsIGRlcHRoLCBcIndpdGggbGVuZ3Roc1wiLCBrTCwgdkwsIFwiYW5kIGJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIC8vIE5vdGU6IHdlIGRvbid0IGNoZWNrIGZvciBcIm5vZGUgdG9vIHNtYWxsXCIgYmVjYXVzZSBzb21ldGltZXMgYSBub2RlXHJcbiAgICAgICAgLy8gY2FuIGxlZ2l0aW1hdGVseSBoYXZlIHNpemUgMS4gVGhpcyBvY2N1cnMgaWYgdGhlcmUgaXMgYSBiYXRjaCBcclxuICAgICAgICAvLyBkZWxldGlvbiwgbGVhdmluZyBhIG5vZGUgb2Ygc2l6ZSAxLCBhbmQgdGhlIHNpYmxpbmdzIGFyZSBmdWxsIHNvXHJcbiAgICAgICAgLy8gaXQgY2FuJ3QgYmUgbWVyZ2VkIHdpdGggYWRqYWNlbnQgbm9kZXMuIEhvd2V2ZXIsIHRoZSBwYXJlbnQgd2lsbFxyXG4gICAgICAgIC8vIHZlcmlmeSB0aGF0IHRoZSBhdmVyYWdlIG5vZGUgc2l6ZSBpcyBhdCBsZWFzdCBoYWxmIG9mIHRoZSBtYXhpbXVtLlxyXG4gICAgICAgIGNoZWNrKGRlcHRoID09IDAgfHwga0wgPiAwLCBcImVtcHR5IGxlYWYgYXQgZGVwdGhcIiwgZGVwdGgsIFwiYW5kIGJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiBrTDtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTGVhZiBOb2RlOiBzZXQgJiBub2RlIHNwbGl0dGluZyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSwgb3ZlcndyaXRlLCB0cmVlKSB7XHJcbiAgICAgICAgdmFyIGkgPSB0aGlzLmluZGV4T2Yoa2V5LCAtMSwgdHJlZS5fY29tcGFyZSk7XHJcbiAgICAgICAgaWYgKGkgPCAwKSB7XHJcbiAgICAgICAgICAgIC8vIGtleSBkb2VzIG5vdCBleGlzdCB5ZXRcclxuICAgICAgICAgICAgaSA9IH5pO1xyXG4gICAgICAgICAgICB0cmVlLl9zaXplKys7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoIDwgdHJlZS5fbWF4Tm9kZVNpemUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmluc2VydEluTGVhZihpLCBrZXksIHZhbHVlLCB0cmVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgbGVhZiBub2RlIGlzIGZ1bGwgYW5kIG11c3Qgc3BsaXRcclxuICAgICAgICAgICAgICAgIHZhciBuZXdSaWdodFNpYmxpbmcgPSB0aGlzLnNwbGl0T2ZmUmlnaHRTaWRlKCksIHRhcmdldCA9IHRoaXM7XHJcbiAgICAgICAgICAgICAgICBpZiAoaSA+IHRoaXMua2V5cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBpIC09IHRoaXMua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gbmV3UmlnaHRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lmluc2VydEluTGVhZihpLCBrZXksIHZhbHVlLCB0cmVlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXdSaWdodFNpYmxpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEtleSBhbHJlYWR5IGV4aXN0c1xyXG4gICAgICAgICAgICBpZiAob3ZlcndyaXRlICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWlmeVZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgLy8gdXN1YWxseSB0aGlzIGlzIGEgbm8tb3AsIGJ1dCBzb21lIHVzZXJzIG1heSB3aXNoIHRvIGVkaXQgdGhlIGtleVxyXG4gICAgICAgICAgICAgICAgdGhpcy5rZXlzW2ldID0ga2V5O1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5yZWlmeVZhbHVlcyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMgPT09IHVuZGVmVmFscylcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzO1xyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5pbnNlcnRJbkxlYWYgPSBmdW5jdGlvbiAoaSwga2V5LCB2YWx1ZSwgdHJlZSkge1xyXG4gICAgICAgIHRoaXMua2V5cy5zcGxpY2UoaSwgMCwga2V5KTtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMgPT09IHVuZGVmVmFscykge1xyXG4gICAgICAgICAgICB3aGlsZSAodW5kZWZWYWxzLmxlbmd0aCA8IHRyZWUuX21heE5vZGVTaXplKVxyXG4gICAgICAgICAgICAgICAgdW5kZWZWYWxzLnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB1bmRlZlZhbHMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCAtIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVzLnNwbGljZShpLCAwLCB2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLnRha2VGcm9tUmlnaHQgPSBmdW5jdGlvbiAocmhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdmFyIHYgPSB0aGlzLnZhbHVlcztcclxuICAgICAgICBpZiAocmhzLnZhbHVlcyA9PT0gdW5kZWZWYWxzKSB7XHJcbiAgICAgICAgICAgIGlmICh2ICE9PSB1bmRlZlZhbHMpXHJcbiAgICAgICAgICAgICAgICB2LnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHYgPSB0aGlzLnJlaWZ5VmFsdWVzKCk7XHJcbiAgICAgICAgICAgIHYucHVzaChyaHMudmFsdWVzLnNoaWZ0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmtleXMucHVzaChyaHMua2V5cy5zaGlmdCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUudGFrZUZyb21MZWZ0ID0gZnVuY3Rpb24gKGxocykge1xyXG4gICAgICAgIC8vIFJlbWluZGVyOiBwYXJlbnQgbm9kZSBtdXN0IHVwZGF0ZSBpdHMgY29weSBvZiBrZXkgZm9yIHRoaXMgbm9kZVxyXG4gICAgICAgIC8vIGFzc2VydDogbmVpdGhlciBub2RlIGlzIHNoYXJlZFxyXG4gICAgICAgIC8vIGFzc2VydCByaHMua2V5cy5sZW5ndGggPiAobWF4Tm9kZVNpemUvMiAmJiB0aGlzLmtleXMubGVuZ3RoPG1heE5vZGVTaXplKVxyXG4gICAgICAgIHZhciB2ID0gdGhpcy52YWx1ZXM7XHJcbiAgICAgICAgaWYgKGxocy52YWx1ZXMgPT09IHVuZGVmVmFscykge1xyXG4gICAgICAgICAgICBpZiAodiAhPT0gdW5kZWZWYWxzKVxyXG4gICAgICAgICAgICAgICAgdi51bnNoaWZ0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB2ID0gdGhpcy5yZWlmeVZhbHVlcygpO1xyXG4gICAgICAgICAgICB2LnVuc2hpZnQobGhzLnZhbHVlcy5wb3AoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMua2V5cy51bnNoaWZ0KGxocy5rZXlzLnBvcCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgdmFyIGhhbGYgPSB0aGlzLmtleXMubGVuZ3RoID4+IDEsIGtleXMgPSB0aGlzLmtleXMuc3BsaWNlKGhhbGYpO1xyXG4gICAgICAgIHZhciB2YWx1ZXMgPSB0aGlzLnZhbHVlcyA9PT0gdW5kZWZWYWxzID8gdW5kZWZWYWxzIDogdGhpcy52YWx1ZXMuc3BsaWNlKGhhbGYpO1xyXG4gICAgICAgIHJldHVybiBuZXcgQk5vZGUoa2V5cywgdmFsdWVzKTtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTGVhZiBOb2RlOiBzY2FubmluZyAmIGRlbGV0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5mb3JSYW5nZSA9IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBlZGl0TW9kZSwgdHJlZSwgY291bnQsIG9uRm91bmQpIHtcclxuICAgICAgICB2YXIgY21wID0gdHJlZS5fY29tcGFyZTtcclxuICAgICAgICB2YXIgaUxvdywgaUhpZ2g7XHJcbiAgICAgICAgaWYgKGhpZ2ggPT09IGxvdykge1xyXG4gICAgICAgICAgICBpZiAoIWluY2x1ZGVIaWdoKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgICAgICAgICBpSGlnaCA9IChpTG93ID0gdGhpcy5pbmRleE9mKGxvdywgLTEsIGNtcCkpICsgMTtcclxuICAgICAgICAgICAgaWYgKGlMb3cgPCAwKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaUxvdyA9IHRoaXMuaW5kZXhPZihsb3csIDAsIGNtcCk7XHJcbiAgICAgICAgICAgIGlIaWdoID0gdGhpcy5pbmRleE9mKGhpZ2gsIC0xLCBjbXApO1xyXG4gICAgICAgICAgICBpZiAoaUhpZ2ggPCAwKVxyXG4gICAgICAgICAgICAgICAgaUhpZ2ggPSB+aUhpZ2g7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGluY2x1ZGVIaWdoID09PSB0cnVlKVxyXG4gICAgICAgICAgICAgICAgaUhpZ2grKztcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXMsIHZhbHVlcyA9IHRoaXMudmFsdWVzO1xyXG4gICAgICAgIGlmIChvbkZvdW5kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IGlMb3c7IGkgPCBpSGlnaDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvbkZvdW5kKGtleSwgdmFsdWVzW2ldLCBjb3VudCsrKTtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlZGl0TW9kZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBrZXlzW2ldIHx8IHRoaXMuaXNTaGFyZWQgPT09IHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJCVHJlZSBpbGxlZ2FsbHkgY2hhbmdlZCBvciBjbG9uZWQgaW4gZWRpdFJhbmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmRlbGV0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlcyAhPT0gdW5kZWZWYWxzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWUuX3NpemUtLTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGktLTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlIaWdoLS07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzdWx0Lmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXNbaV0gPSByZXN1bHQudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5icmVhayAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgY291bnQgKz0gaUhpZ2ggLSBpTG93O1xyXG4gICAgICAgIHJldHVybiBjb3VudDtcclxuICAgIH07XHJcbiAgICAvKiogQWRkcyBlbnRpcmUgY29udGVudHMgb2YgcmlnaHQtaGFuZCBzaWJsaW5nIChyaHMgaXMgbGVmdCB1bmNoYW5nZWQpICovXHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWVyZ2VTaWJsaW5nID0gZnVuY3Rpb24gKHJocywgXykge1xyXG4gICAgICAgIHRoaXMua2V5cy5wdXNoLmFwcGx5KHRoaXMua2V5cywgcmhzLmtleXMpO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlcyA9PT0gdW5kZWZWYWxzKSB7XHJcbiAgICAgICAgICAgIGlmIChyaHMudmFsdWVzID09PSB1bmRlZlZhbHMpXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVzLnB1c2guYXBwbHkodGhpcy52YWx1ZXMsIHJocy5yZWlmeVZhbHVlcygpKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gQk5vZGU7XHJcbn0oKSk7XHJcbi8qKiBJbnRlcm5hbCBub2RlIChub24tbGVhZiBub2RlKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxudmFyIEJOb2RlSW50ZXJuYWwgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XHJcbiAgICBfX2V4dGVuZHMoQk5vZGVJbnRlcm5hbCwgX3N1cGVyKTtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkb2VzIG5vdCBtYXJrIGBjaGlsZHJlbmAgYXMgc2hhcmVkLCBzbyBpdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlclxyXG4gICAgICogdG8gZW5zdXJlIGNoaWxkcmVuIGFyZSBlaXRoZXIgbWFya2VkIHNoYXJlZCwgb3IgYXJlbid0IGluY2x1ZGVkIGluIGFub3RoZXIgdHJlZS5cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gQk5vZGVJbnRlcm5hbChjaGlsZHJlbiwga2V5cykge1xyXG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgaWYgKCFrZXlzKSB7XHJcbiAgICAgICAgICAgIGtleXMgPSBbXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgICAgIGtleXNbaV0gPSBjaGlsZHJlbltpXS5tYXhLZXkoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBrZXlzKSB8fCB0aGlzO1xyXG4gICAgICAgIF90aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XHJcbiAgICAgICAgcmV0dXJuIF90aGlzO1xyXG4gICAgfVxyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5zbGljZSgwKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICBjaGlsZHJlbltpXS5pc1NoYXJlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCTm9kZUludGVybmFsKGNoaWxkcmVuLCB0aGlzLmtleXMuc2xpY2UoMCkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmdyZWVkeUNsb25lID0gZnVuY3Rpb24gKGZvcmNlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTaGFyZWQgJiYgIWZvcmNlKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICB2YXIgbnUgPSBuZXcgQk5vZGVJbnRlcm5hbCh0aGlzLmNoaWxkcmVuLnNsaWNlKDApLCB0aGlzLmtleXMuc2xpY2UoMCkpO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnUuY2hpbGRyZW4ubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIG51LmNoaWxkcmVuW2ldID0gbnUuY2hpbGRyZW5baV0uZ3JlZWR5Q2xvbmUoZm9yY2UpO1xyXG4gICAgICAgIHJldHVybiBudTtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5taW5LZXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5bMF0ubWluS2V5KCk7XHJcbiAgICB9O1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUubWluUGFpciA9IGZ1bmN0aW9uIChyZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuWzBdLm1pblBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLm1heFBhaXIgPSBmdW5jdGlvbiAocmV1c2VkQXJyYXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aCAtIDFdLm1heFBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlZSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgdHJlZS5fY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICByZXR1cm4gaSA8IGNoaWxkcmVuLmxlbmd0aCA/IGNoaWxkcmVuW2ldLmdldChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlZSkgOiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICBpZiAoaSA+PSBjaGlsZHJlbi5sZW5ndGgpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heFBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBjaGlsZHJlbltpXS5nZXRQYWlyT3JOZXh0TG93ZXIoa2V5LCBjb21wYXJlLCBpbmNsdXNpdmUsIHJldXNlZEFycmF5KTtcclxuICAgICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQgJiYgaSA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuW2kgLSAxXS5tYXhQYWlyKHJldXNlZEFycmF5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0SGlnaGVyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbiwgbGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoO1xyXG4gICAgICAgIGlmIChpID49IGxlbmd0aClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gY2hpbGRyZW5baV0uZ2V0UGFpck9yTmV4dEhpZ2hlcihrZXksIGNvbXBhcmUsIGluY2x1c2l2ZSwgcmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCAmJiBpIDwgbGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5baSArIDFdLm1pblBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoZGVwdGgsIHRyZWUsIGJhc2VJbmRleCkge1xyXG4gICAgICAgIHZhciBrTCA9IHRoaXMua2V5cy5sZW5ndGgsIGNMID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XHJcbiAgICAgICAgY2hlY2soa0wgPT09IGNMLCBcImtleXMvY2hpbGRyZW4gbGVuZ3RoIG1pc21hdGNoOiBkZXB0aFwiLCBkZXB0aCwgXCJsZW5ndGhzXCIsIGtMLCBjTCwgXCJiYXNlSW5kZXhcIiwgYmFzZUluZGV4KTtcclxuICAgICAgICBjaGVjayhrTCA+IDEgfHwgZGVwdGggPiAwLCBcImludGVybmFsIG5vZGUgaGFzIGxlbmd0aFwiLCBrTCwgXCJhdCBkZXB0aFwiLCBkZXB0aCwgXCJiYXNlSW5kZXhcIiwgYmFzZUluZGV4KTtcclxuICAgICAgICB2YXIgc2l6ZSA9IDAsIGMgPSB0aGlzLmNoaWxkcmVuLCBrID0gdGhpcy5rZXlzLCBjaGlsZFNpemUgPSAwO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY0w7IGkrKykge1xyXG4gICAgICAgICAgICBzaXplICs9IGNbaV0uY2hlY2tWYWxpZChkZXB0aCArIDEsIHRyZWUsIGJhc2VJbmRleCArIHNpemUpO1xyXG4gICAgICAgICAgICBjaGlsZFNpemUgKz0gY1tpXS5rZXlzLmxlbmd0aDtcclxuICAgICAgICAgICAgY2hlY2soc2l6ZSA+PSBjaGlsZFNpemUsIFwid3RmXCIsIGJhc2VJbmRleCk7IC8vIG5vIHdheSB0aGlzIHdpbGwgZXZlciBmYWlsXHJcbiAgICAgICAgICAgIGNoZWNrKGkgPT09IDAgfHwgY1tpIC0gMV0uY29uc3RydWN0b3IgPT09IGNbaV0uY29uc3RydWN0b3IsIFwidHlwZSBtaXNtYXRjaCwgYmFzZUluZGV4OlwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoY1tpXS5tYXhLZXkoKSAhPSBrW2ldKVxyXG4gICAgICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwia2V5c1tcIiwgaSwgXCJdID1cIiwga1tpXSwgXCJpcyB3cm9uZywgc2hvdWxkIGJlIFwiLCBjW2ldLm1heEtleSgpLCBcImF0IGRlcHRoXCIsIGRlcHRoLCBcImJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoIShpID09PSAwIHx8IHRyZWUuX2NvbXBhcmUoa1tpIC0gMV0sIGtbaV0pIDwgMCkpXHJcbiAgICAgICAgICAgICAgICBjaGVjayhmYWxzZSwgXCJzb3J0IHZpb2xhdGlvbiBhdCBkZXB0aFwiLCBkZXB0aCwgXCJpbmRleFwiLCBpLCBcImtleXNcIiwga1tpIC0gMV0sIGtbaV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAyMDIwLzA4OiBCVHJlZSBkb2Vzbid0IGFsd2F5cyBhdm9pZCBncm9zc2x5IHVuZGVyc2l6ZWQgbm9kZXMsXHJcbiAgICAgICAgLy8gYnV0IEFGQUlLIHN1Y2ggbm9kZXMgYXJlIHByZXR0eSBoYXJtbGVzcywgc28gYWNjZXB0IHRoZW0uXHJcbiAgICAgICAgdmFyIHRvb2ZldyA9IGNoaWxkU2l6ZSA9PT0gMDsgLy8gY2hpbGRTaXplIDwgKHRyZWUubWF4Tm9kZVNpemUgPj4gMSkqY0w7XHJcbiAgICAgICAgaWYgKHRvb2ZldyB8fCBjaGlsZFNpemUgPiB0cmVlLm1heE5vZGVTaXplICogY0wpXHJcbiAgICAgICAgICAgIGNoZWNrKGZhbHNlLCB0b29mZXcgPyBcInRvbyBmZXdcIiA6IFwidG9vIG1hbnlcIiwgXCJjaGlsZHJlbiAoXCIsIGNoaWxkU2l6ZSwgc2l6ZSwgXCIpIGF0IGRlcHRoXCIsIGRlcHRoLCBcIm1heE5vZGVTaXplOlwiLCB0cmVlLm1heE5vZGVTaXplLCBcImNoaWxkcmVuLmxlbmd0aDpcIiwgY0wsIFwiYmFzZUluZGV4OlwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiBzaXplO1xyXG4gICAgfTtcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBJbnRlcm5hbCBOb2RlOiBzZXQgJiBub2RlIHNwbGl0dGluZyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUsIG92ZXJ3cml0ZSwgdHJlZSkge1xyXG4gICAgICAgIHZhciBjID0gdGhpcy5jaGlsZHJlbiwgbWF4ID0gdHJlZS5fbWF4Tm9kZVNpemUsIGNtcCA9IHRyZWUuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIGkgPSBNYXRoLm1pbih0aGlzLmluZGV4T2Yoa2V5LCAwLCBjbXApLCBjLmxlbmd0aCAtIDEpLCBjaGlsZCA9IGNbaV07XHJcbiAgICAgICAgaWYgKGNoaWxkLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICBjW2ldID0gY2hpbGQgPSBjaGlsZC5jbG9uZSgpO1xyXG4gICAgICAgIGlmIChjaGlsZC5rZXlzLmxlbmd0aCA+PSBtYXgpIHtcclxuICAgICAgICAgICAgLy8gY2hpbGQgaXMgZnVsbDsgaW5zZXJ0aW5nIGFueXRoaW5nIGVsc2Ugd2lsbCBjYXVzZSBhIHNwbGl0LlxyXG4gICAgICAgICAgICAvLyBTaGlmdGluZyBhbiBpdGVtIHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpYmxpbmcgbWF5IGF2b2lkIGEgc3BsaXQuXHJcbiAgICAgICAgICAgIC8vIFdlIGNhbiBkbyBhIHNoaWZ0IGlmIHRoZSBhZGphY2VudCBub2RlIGlzIG5vdCBmdWxsIGFuZCBpZiB0aGVcclxuICAgICAgICAgICAgLy8gY3VycmVudCBrZXkgY2FuIHN0aWxsIGJlIHBsYWNlZCBpbiB0aGUgc2FtZSBub2RlIGFmdGVyIHRoZSBzaGlmdC5cclxuICAgICAgICAgICAgdmFyIG90aGVyO1xyXG4gICAgICAgICAgICBpZiAoaSA+IDAgJiYgKG90aGVyID0gY1tpIC0gMV0pLmtleXMubGVuZ3RoIDwgbWF4ICYmIGNtcChjaGlsZC5rZXlzWzBdLCBrZXkpIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG90aGVyLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNbaSAtIDFdID0gb3RoZXIgPSBvdGhlci5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgb3RoZXIudGFrZUZyb21SaWdodChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmtleXNbaSAtIDFdID0gb3RoZXIubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoKG90aGVyID0gY1tpICsgMV0pICE9PSB1bmRlZmluZWQgJiYgb3RoZXIua2V5cy5sZW5ndGggPCBtYXggJiYgY21wKGNoaWxkLm1heEtleSgpLCBrZXkpIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG90aGVyLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNbaSArIDFdID0gb3RoZXIgPSBvdGhlci5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgb3RoZXIudGFrZUZyb21MZWZ0KGNoaWxkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMua2V5c1tpXSA9IGNbaV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNoaWxkLnNldChrZXksIHZhbHVlLCBvdmVyd3JpdGUsIHRyZWUpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5rZXlzW2ldID0gY2hpbGQubWF4S2V5KCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gVGhlIGNoaWxkIGhhcyBzcGxpdCBhbmQgYHJlc3VsdGAgaXMgYSBuZXcgcmlnaHQgY2hpbGQuLi4gZG9lcyBpdCBmaXQ/XHJcbiAgICAgICAgaWYgKHRoaXMua2V5cy5sZW5ndGggPCBtYXgpIHsgLy8geWVzXHJcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0KGkgKyAxLCByZXN1bHQpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7IC8vIG5vLCB3ZSBtdXN0IHNwbGl0IGFsc29cclxuICAgICAgICAgICAgdmFyIG5ld1JpZ2h0U2libGluZyA9IHRoaXMuc3BsaXRPZmZSaWdodFNpZGUoKSwgdGFyZ2V0ID0gdGhpcztcclxuICAgICAgICAgICAgaWYgKGNtcChyZXN1bHQubWF4S2V5KCksIHRoaXMubWF4S2V5KCkpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0ID0gbmV3UmlnaHRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgaSAtPSB0aGlzLmtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRhcmdldC5pbnNlcnQoaSArIDEsIHJlc3VsdCk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXdSaWdodFNpYmxpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogSW5zZXJ0cyBgY2hpbGRgIGF0IGluZGV4IGBpYC5cclxuICAgICAqIFRoaXMgZG9lcyBub3QgbWFyayBgY2hpbGRgIGFzIHNoYXJlZCwgc28gaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXJcclxuICAgICAqIHRvIGVuc3VyZSB0aGF0IGVpdGhlciBjaGlsZCBpcyBtYXJrZWQgc2hhcmVkLCBvciBpdCBpcyBub3QgaW5jbHVkZWQgaW4gYW5vdGhlciB0cmVlLlxyXG4gICAgICovXHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5pbnNlcnQgPSBmdW5jdGlvbiAoaSwgY2hpbGQpIHtcclxuICAgICAgICB0aGlzLmNoaWxkcmVuLnNwbGljZShpLCAwLCBjaGlsZCk7XHJcbiAgICAgICAgdGhpcy5rZXlzLnNwbGljZShpLCAwLCBjaGlsZC5tYXhLZXkoKSk7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTcGxpdCB0aGlzIG5vZGUuXHJcbiAgICAgKiBNb2RpZmllcyB0aGlzIHRvIHJlbW92ZSB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIGl0ZW1zLCByZXR1cm5pbmcgYSBzZXBhcmF0ZSBub2RlIGNvbnRhaW5pbmcgdGhlbS5cclxuICAgICAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gYXNzZXJ0ICF0aGlzLmlzU2hhcmVkO1xyXG4gICAgICAgIHZhciBoYWxmID0gdGhpcy5jaGlsZHJlbi5sZW5ndGggPj4gMTtcclxuICAgICAgICByZXR1cm4gbmV3IEJOb2RlSW50ZXJuYWwodGhpcy5jaGlsZHJlbi5zcGxpY2UoaGFsZiksIHRoaXMua2V5cy5zcGxpY2UoaGFsZikpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLnRha2VGcm9tUmlnaHQgPSBmdW5jdGlvbiAocmhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdGhpcy5rZXlzLnB1c2gocmhzLmtleXMuc2hpZnQoKSk7XHJcbiAgICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKHJocy5jaGlsZHJlbi5zaGlmdCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS50YWtlRnJvbUxlZnQgPSBmdW5jdGlvbiAobGhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdGhpcy5rZXlzLnVuc2hpZnQobGhzLmtleXMucG9wKCkpO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4udW5zaGlmdChsaHMuY2hpbGRyZW4ucG9wKCkpO1xyXG4gICAgfTtcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBJbnRlcm5hbCBOb2RlOiBzY2FubmluZyAmIGRlbGV0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTm90ZTogYGNvdW50YCBpcyB0aGUgbmV4dCB2YWx1ZSBvZiB0aGUgdGhpcmQgYXJndW1lbnQgdG8gYG9uRm91bmRgLiBcclxuICAgIC8vICAgICAgIEEgbGVhZiBub2RlJ3MgYGZvclJhbmdlYCBmdW5jdGlvbiByZXR1cm5zIGEgbmV3IHZhbHVlIGZvciB0aGlzIGNvdW50ZXIsXHJcbiAgICAvLyAgICAgICB1bmxlc3MgdGhlIG9wZXJhdGlvbiBpcyB0byBzdG9wIGVhcmx5LlxyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuZm9yUmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgZWRpdE1vZGUsIHRyZWUsIGNvdW50LCBvbkZvdW5kKSB7XHJcbiAgICAgICAgdmFyIGNtcCA9IHRyZWUuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXMsIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICB2YXIgaUxvdyA9IHRoaXMuaW5kZXhPZihsb3csIDAsIGNtcCksIGkgPSBpTG93O1xyXG4gICAgICAgIHZhciBpSGlnaCA9IE1hdGgubWluKGhpZ2ggPT09IGxvdyA/IGlMb3cgOiB0aGlzLmluZGV4T2YoaGlnaCwgMCwgY21wKSwga2V5cy5sZW5ndGggLSAxKTtcclxuICAgICAgICBpZiAoIWVkaXRNb2RlKSB7XHJcbiAgICAgICAgICAgIC8vIFNpbXBsZSBjYXNlXHJcbiAgICAgICAgICAgIGZvciAoOyBpIDw9IGlIaWdoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBjaGlsZHJlbltpXS5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBlZGl0TW9kZSwgdHJlZSwgY291bnQsIG9uRm91bmQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICBjb3VudCA9IHJlc3VsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpIDw9IGlIaWdoKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKDsgaSA8PSBpSGlnaDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ldLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltpXSA9IGNoaWxkcmVuW2ldLmNsb25lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGNoaWxkcmVuW2ldLmZvclJhbmdlKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIGVkaXRNb2RlLCB0cmVlLCBjb3VudCwgb25Gb3VuZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTm90ZTogaWYgY2hpbGRyZW5baV0gaXMgZW1wdHkgdGhlbiBrZXlzW2ldPXVuZGVmaW5lZC5cclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICBUaGlzIGlzIGFuIGludmFsaWQgc3RhdGUsIGJ1dCBpdCBpcyBmaXhlZCBiZWxvdy5cclxuICAgICAgICAgICAgICAgICAgICBrZXlzW2ldID0gY2hpbGRyZW5baV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvdW50ID0gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICAgICAgLy8gRGVsZXRpb25zIG1heSBoYXZlIG9jY3VycmVkLCBzbyBsb29rIGZvciBvcHBvcnR1bml0aWVzIHRvIG1lcmdlIG5vZGVzLlxyXG4gICAgICAgICAgICAgICAgdmFyIGhhbGYgPSB0cmVlLl9tYXhOb2RlU2l6ZSA+PiAxO1xyXG4gICAgICAgICAgICAgICAgaWYgKGlMb3cgPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgIGlMb3ctLTtcclxuICAgICAgICAgICAgICAgIGZvciAoaSA9IGlIaWdoOyBpID49IGlMb3c7IGktLSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltpXS5rZXlzLmxlbmd0aCA8PSBoYWxmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltpXS5rZXlzLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlNZXJnZShpLCB0cmVlLl9tYXhOb2RlU2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IC8vIGNoaWxkIGlzIGVtcHR5ISBkZWxldGUgaXQhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggIT09IDAgJiYgY2hpbGRyZW5bMF0ua2V5cy5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwiZW1wdGluZXNzIGJ1Z1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIE1lcmdlcyBjaGlsZCBpIHdpdGggY2hpbGQgaSsxIGlmIHRoZWlyIGNvbWJpbmVkIHNpemUgaXMgbm90IHRvbyBsYXJnZSAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUudHJ5TWVyZ2UgPSBmdW5jdGlvbiAoaSwgbWF4U2l6ZSkge1xyXG4gICAgICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW47XHJcbiAgICAgICAgaWYgKGkgPj0gMCAmJiBpICsgMSA8IGNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGRyZW5baV0ua2V5cy5sZW5ndGggKyBjaGlsZHJlbltpICsgMV0ua2V5cy5sZW5ndGggPD0gbWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ldLmlzU2hhcmVkKSAvLyBjbG9uZWQgYWxyZWFkeSBVTkxFU1MgaSBpcyBvdXRzaWRlIHNjYW4gcmFuZ2VcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltpXSA9IGNoaWxkcmVuW2ldLmNsb25lKCk7XHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbltpXS5tZXJnZVNpYmxpbmcoY2hpbGRyZW5baSArIDFdLCBtYXhTaXplKTtcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnNwbGljZShpICsgMSwgMSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmtleXMuc3BsaWNlKGkgKyAxLCAxKTtcclxuICAgICAgICAgICAgICAgIHRoaXMua2V5c1tpXSA9IGNoaWxkcmVuW2ldLm1heEtleSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogTW92ZSBjaGlsZHJlbiBmcm9tIGByaHNgIGludG8gdGhpcy5cclxuICAgICAqIGByaHNgIG11c3QgYmUgcGFydCBvZiB0aGlzIHRyZWUsIGFuZCBiZSByZW1vdmVkIGZyb20gaXQgYWZ0ZXIgdGhpcyBjYWxsXHJcbiAgICAgKiAob3RoZXJ3aXNlIGlzU2hhcmVkIGZvciBpdHMgY2hpbGRyZW4gY291bGQgYmUgaW5jb3JyZWN0KS5cclxuICAgICAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUubWVyZ2VTaWJsaW5nID0gZnVuY3Rpb24gKHJocywgbWF4Tm9kZVNpemUpIHtcclxuICAgICAgICAvLyBhc3NlcnQgIXRoaXMuaXNTaGFyZWQ7XHJcbiAgICAgICAgdmFyIG9sZExlbmd0aCA9IHRoaXMua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5rZXlzLnB1c2guYXBwbHkodGhpcy5rZXlzLCByaHMua2V5cyk7XHJcbiAgICAgICAgdmFyIHJoc0NoaWxkcmVuID0gcmhzLmNoaWxkcmVuO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaC5hcHBseSh0aGlzLmNoaWxkcmVuLCByaHNDaGlsZHJlbik7XHJcbiAgICAgICAgaWYgKHJocy5pc1NoYXJlZCAmJiAhdGhpcy5pc1NoYXJlZCkge1xyXG4gICAgICAgICAgICAvLyBBbGwgY2hpbGRyZW4gb2YgYSBzaGFyZWQgbm9kZSBhcmUgaW1wbGljaXRseSBzaGFyZWQsIGFuZCBzaW5jZSB0aGVpciBuZXdcclxuICAgICAgICAgICAgLy8gcGFyZW50IGlzIG5vdCBzaGFyZWQsIHRoZXkgbXVzdCBub3cgYmUgZXhwbGljaXRseSBtYXJrZWQgYXMgc2hhcmVkLlxyXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJoc0NoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICAgICAgcmhzQ2hpbGRyZW5baV0uaXNTaGFyZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBvdXIgY2hpbGRyZW4gYXJlIHRoZW1zZWx2ZXMgYWxtb3N0IGVtcHR5IGR1ZSB0byBhIG1hc3MtZGVsZXRlLFxyXG4gICAgICAgIC8vIHRoZXkgbWF5IG5lZWQgdG8gYmUgbWVyZ2VkIHRvbyAoYnV0IG9ubHkgdGhlIG9sZExlbmd0aC0xIGFuZCBpdHNcclxuICAgICAgICAvLyByaWdodCBzaWJsaW5nIHNob3VsZCBuZWVkIHRoaXMpLlxyXG4gICAgICAgIHRoaXMudHJ5TWVyZ2Uob2xkTGVuZ3RoIC0gMSwgbWF4Tm9kZVNpemUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBCTm9kZUludGVybmFsO1xyXG59KEJOb2RlKSk7XHJcbi8vIE9wdGltaXphdGlvbjogdGhpcyBhcnJheSBvZiBgdW5kZWZpbmVkYHMgaXMgdXNlZCBpbnN0ZWFkIG9mIGEgbm9ybWFsXHJcbi8vIGFycmF5IG9mIHZhbHVlcyBpbiBub2RlcyB3aGVyZSBgdW5kZWZpbmVkYCBpcyB0aGUgb25seSB2YWx1ZS5cclxuLy8gSXRzIGxlbmd0aCBpcyBleHRlbmRlZCB0byBtYXggbm9kZSBzaXplIG9uIGZpcnN0IHVzZTsgc2luY2UgaXQgY2FuXHJcbi8vIGJlIHNoYXJlZCBiZXR3ZWVuIHRyZWVzIHdpdGggZGlmZmVyZW50IG1heGltdW1zLCBpdHMgbGVuZ3RoIGNhbiBvbmx5XHJcbi8vIGluY3JlYXNlLCBuZXZlciBkZWNyZWFzZS4gSXRzIHR5cGUgc2hvdWxkIGJlIHVuZGVmaW5lZFtdIGJ1dCBzdHJhbmdlbHlcclxuLy8gVHlwZVNjcmlwdCB3b24ndCBhbGxvdyB0aGUgY29tcGFyaXNvbiBWW10gPT09IHVuZGVmaW5lZFtdLiBUbyBwcmV2ZW50XHJcbi8vIHVzZXJzIGZyb20gbWFraW5nIHRoaXMgYXJyYXkgdG9vIGxhcmdlLCBCVHJlZSBoYXMgYSBtYXhpbXVtIG5vZGUgc2l6ZS5cclxuLy9cclxuLy8gRkFROiB1bmRlZlZhbHNbaV0gaXMgYWxyZWFkeSB1bmRlZmluZWQsIHNvIHdoeSBpbmNyZWFzZSB0aGUgYXJyYXkgc2l6ZT9cclxuLy8gUmVhZGluZyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgYW4gYXJyYXkgaXMgcmVsYXRpdmVseSBzbG93IGJlY2F1c2UgaXRcclxuLy8gaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBzY2FubmluZyB0aGUgcHJvdG90eXBlIGNoYWluLlxyXG52YXIgdW5kZWZWYWxzID0gW107XHJcbnZhciBEZWxldGUgPSB7IGRlbGV0ZTogdHJ1ZSB9LCBEZWxldGVSYW5nZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIERlbGV0ZTsgfTtcclxudmFyIEJyZWFrID0geyBicmVhazogdHJ1ZSB9O1xyXG52YXIgRW1wdHlMZWFmID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBuID0gbmV3IEJOb2RlKCk7XHJcbiAgICBuLmlzU2hhcmVkID0gdHJ1ZTtcclxuICAgIHJldHVybiBuO1xyXG59KSgpO1xyXG52YXIgRW1wdHlBcnJheSA9IFtdO1xyXG52YXIgUmV1c2VkQXJyYXkgPSBbXTsgLy8gYXNzdW1lZCB0aHJlYWQtbG9jYWxcclxuZnVuY3Rpb24gY2hlY2soZmFjdCkge1xyXG4gICAgdmFyIGFyZ3MgPSBbXTtcclxuICAgIGZvciAodmFyIF9pID0gMTsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgYXJnc1tfaSAtIDFdID0gYXJndW1lbnRzW19pXTtcclxuICAgIH1cclxuICAgIGlmICghZmFjdCkge1xyXG4gICAgICAgIGFyZ3MudW5zaGlmdCgnQisgdHJlZScpOyAvLyBhdCBiZWdpbm5pbmcgb2YgbWVzc2FnZVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihhcmdzLmpvaW4oJyAnKSk7XHJcbiAgICB9XHJcbn1cclxuLyoqIEEgQlRyZWUgZnJvemVuIGluIHRoZSBlbXB0eSBzdGF0ZS4gKi9cclxuZXhwb3J0cy5FbXB0eUJUcmVlID0gKGZ1bmN0aW9uICgpIHsgdmFyIHQgPSBuZXcgQlRyZWUoKTsgdC5mcmVlemUoKTsgcmV0dXJuIHQ7IH0pKCk7XHJcbiIsICIvKiFcbiAgICBsb2NhbEZvcmFnZSAtLSBPZmZsaW5lIFN0b3JhZ2UsIEltcHJvdmVkXG4gICAgVmVyc2lvbiAxLjEwLjBcbiAgICBodHRwczovL2xvY2FsZm9yYWdlLmdpdGh1Yi5pby9sb2NhbEZvcmFnZVxuICAgIChjKSAyMDEzLTIwMTcgTW96aWxsYSwgQXBhY2hlIExpY2Vuc2UgMi4wXG4qL1xuKGZ1bmN0aW9uKGYpe2lmKHR5cGVvZiBleHBvcnRzPT09XCJvYmplY3RcIiYmdHlwZW9mIG1vZHVsZSE9PVwidW5kZWZpbmVkXCIpe21vZHVsZS5leHBvcnRzPWYoKX1lbHNlIGlmKHR5cGVvZiBkZWZpbmU9PT1cImZ1bmN0aW9uXCImJmRlZmluZS5hbWQpe2RlZmluZShbXSxmKX1lbHNle3ZhciBnO2lmKHR5cGVvZiB3aW5kb3chPT1cInVuZGVmaW5lZFwiKXtnPXdpbmRvd31lbHNlIGlmKHR5cGVvZiBnbG9iYWwhPT1cInVuZGVmaW5lZFwiKXtnPWdsb2JhbH1lbHNlIGlmKHR5cGVvZiBzZWxmIT09XCJ1bmRlZmluZWRcIil7Zz1zZWxmfWVsc2V7Zz10aGlzfWcubG9jYWxmb3JhZ2UgPSBmKCl9fSkoZnVuY3Rpb24oKXt2YXIgZGVmaW5lLG1vZHVsZSxleHBvcnRzO3JldHVybiAoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgKGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIiwgZil9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSh7MTpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7XG4oZnVuY3Rpb24gKGdsb2JhbCl7XG4ndXNlIHN0cmljdCc7XG52YXIgTXV0YXRpb24gPSBnbG9iYWwuTXV0YXRpb25PYnNlcnZlciB8fCBnbG9iYWwuV2ViS2l0TXV0YXRpb25PYnNlcnZlcjtcblxudmFyIHNjaGVkdWxlRHJhaW47XG5cbntcbiAgaWYgKE11dGF0aW9uKSB7XG4gICAgdmFyIGNhbGxlZCA9IDA7XG4gICAgdmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9uKG5leHRUaWNrKTtcbiAgICB2YXIgZWxlbWVudCA9IGdsb2JhbC5kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJyk7XG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7XG4gICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXG4gICAgfSk7XG4gICAgc2NoZWR1bGVEcmFpbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGVsZW1lbnQuZGF0YSA9IChjYWxsZWQgPSArK2NhbGxlZCAlIDIpO1xuICAgIH07XG4gIH0gZWxzZSBpZiAoIWdsb2JhbC5zZXRJbW1lZGlhdGUgJiYgdHlwZW9mIGdsb2JhbC5NZXNzYWdlQ2hhbm5lbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgY2hhbm5lbCA9IG5ldyBnbG9iYWwuTWVzc2FnZUNoYW5uZWwoKTtcbiAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IG5leHRUaWNrO1xuICAgIHNjaGVkdWxlRHJhaW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjaGFubmVsLnBvcnQyLnBvc3RNZXNzYWdlKDApO1xuICAgIH07XG4gIH0gZWxzZSBpZiAoJ2RvY3VtZW50JyBpbiBnbG9iYWwgJiYgJ29ucmVhZHlzdGF0ZWNoYW5nZScgaW4gZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpKSB7XG4gICAgc2NoZWR1bGVEcmFpbiA9IGZ1bmN0aW9uICgpIHtcblxuICAgICAgLy8gQ3JlYXRlIGEgPHNjcmlwdD4gZWxlbWVudDsgaXRzIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgd2lsbCBiZSBmaXJlZCBhc3luY2hyb25vdXNseSBvbmNlIGl0IGlzIGluc2VydGVkXG4gICAgICAvLyBpbnRvIHRoZSBkb2N1bWVudC4gRG8gc28sIHRodXMgcXVldWluZyB1cCB0aGUgdGFzay4gUmVtZW1iZXIgdG8gY2xlYW4gdXAgb25jZSBpdCdzIGJlZW4gY2FsbGVkLlxuICAgICAgdmFyIHNjcmlwdEVsID0gZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0RWwub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBuZXh0VGljaygpO1xuXG4gICAgICAgIHNjcmlwdEVsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7XG4gICAgICAgIHNjcmlwdEVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2NyaXB0RWwpO1xuICAgICAgICBzY3JpcHRFbCA9IG51bGw7XG4gICAgICB9O1xuICAgICAgZ2xvYmFsLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChzY3JpcHRFbCk7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBzY2hlZHVsZURyYWluID0gZnVuY3Rpb24gKCkge1xuICAgICAgc2V0VGltZW91dChuZXh0VGljaywgMCk7XG4gICAgfTtcbiAgfVxufVxuXG52YXIgZHJhaW5pbmc7XG52YXIgcXVldWUgPSBbXTtcbi8vbmFtZWQgbmV4dFRpY2sgZm9yIGxlc3MgY29uZnVzaW5nIHN0YWNrIHRyYWNlc1xuZnVuY3Rpb24gbmV4dFRpY2soKSB7XG4gIGRyYWluaW5nID0gdHJ1ZTtcbiAgdmFyIGksIG9sZFF1ZXVlO1xuICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xuICB3aGlsZSAobGVuKSB7XG4gICAgb2xkUXVldWUgPSBxdWV1ZTtcbiAgICBxdWV1ZSA9IFtdO1xuICAgIGkgPSAtMTtcbiAgICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgICBvbGRRdWV1ZVtpXSgpO1xuICAgIH1cbiAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gIH1cbiAgZHJhaW5pbmcgPSBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpbW1lZGlhdGU7XG5mdW5jdGlvbiBpbW1lZGlhdGUodGFzaykge1xuICBpZiAocXVldWUucHVzaCh0YXNrKSA9PT0gMSAmJiAhZHJhaW5pbmcpIHtcbiAgICBzY2hlZHVsZURyYWluKCk7XG4gIH1cbn1cblxufSkuY2FsbCh0aGlzLHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiA/IHNlbGYgOiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gd2luZG93IDoge30pXG59LHt9XSwyOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtcbid1c2Ugc3RyaWN0JztcbnZhciBpbW1lZGlhdGUgPSBfZGVyZXFfKDEpO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gSU5URVJOQUwoKSB7fVxuXG52YXIgaGFuZGxlcnMgPSB7fTtcblxudmFyIFJFSkVDVEVEID0gWydSRUpFQ1RFRCddO1xudmFyIEZVTEZJTExFRCA9IFsnRlVMRklMTEVEJ107XG52YXIgUEVORElORyA9IFsnUEVORElORyddO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFByb21pc2U7XG5cbmZ1bmN0aW9uIFByb21pc2UocmVzb2x2ZXIpIHtcbiAgaWYgKHR5cGVvZiByZXNvbHZlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3Jlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbicpO1xuICB9XG4gIHRoaXMuc3RhdGUgPSBQRU5ESU5HO1xuICB0aGlzLnF1ZXVlID0gW107XG4gIHRoaXMub3V0Y29tZSA9IHZvaWQgMDtcbiAgaWYgKHJlc29sdmVyICE9PSBJTlRFUk5BTCkge1xuICAgIHNhZmVseVJlc29sdmVUaGVuYWJsZSh0aGlzLCByZXNvbHZlcik7XG4gIH1cbn1cblxuUHJvbWlzZS5wcm90b3R5cGVbXCJjYXRjaFwiXSA9IGZ1bmN0aW9uIChvblJlamVjdGVkKSB7XG4gIHJldHVybiB0aGlzLnRoZW4obnVsbCwgb25SZWplY3RlZCk7XG59O1xuUHJvbWlzZS5wcm90b3R5cGUudGhlbiA9IGZ1bmN0aW9uIChvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkge1xuICBpZiAodHlwZW9mIG9uRnVsZmlsbGVkICE9PSAnZnVuY3Rpb24nICYmIHRoaXMuc3RhdGUgPT09IEZVTEZJTExFRCB8fFxuICAgIHR5cGVvZiBvblJlamVjdGVkICE9PSAnZnVuY3Rpb24nICYmIHRoaXMuc3RhdGUgPT09IFJFSkVDVEVEKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgdmFyIHByb21pc2UgPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcihJTlRFUk5BTCk7XG4gIGlmICh0aGlzLnN0YXRlICE9PSBQRU5ESU5HKSB7XG4gICAgdmFyIHJlc29sdmVyID0gdGhpcy5zdGF0ZSA9PT0gRlVMRklMTEVEID8gb25GdWxmaWxsZWQgOiBvblJlamVjdGVkO1xuICAgIHVud3JhcChwcm9taXNlLCByZXNvbHZlciwgdGhpcy5vdXRjb21lKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLnF1ZXVlLnB1c2gobmV3IFF1ZXVlSXRlbShwcm9taXNlLCBvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkpO1xuICB9XG5cbiAgcmV0dXJuIHByb21pc2U7XG59O1xuZnVuY3Rpb24gUXVldWVJdGVtKHByb21pc2UsIG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKSB7XG4gIHRoaXMucHJvbWlzZSA9IHByb21pc2U7XG4gIGlmICh0eXBlb2Ygb25GdWxmaWxsZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0aGlzLm9uRnVsZmlsbGVkID0gb25GdWxmaWxsZWQ7XG4gICAgdGhpcy5jYWxsRnVsZmlsbGVkID0gdGhpcy5vdGhlckNhbGxGdWxmaWxsZWQ7XG4gIH1cbiAgaWYgKHR5cGVvZiBvblJlamVjdGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhpcy5vblJlamVjdGVkID0gb25SZWplY3RlZDtcbiAgICB0aGlzLmNhbGxSZWplY3RlZCA9IHRoaXMub3RoZXJDYWxsUmVqZWN0ZWQ7XG4gIH1cbn1cblF1ZXVlSXRlbS5wcm90b3R5cGUuY2FsbEZ1bGZpbGxlZCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICBoYW5kbGVycy5yZXNvbHZlKHRoaXMucHJvbWlzZSwgdmFsdWUpO1xufTtcblF1ZXVlSXRlbS5wcm90b3R5cGUub3RoZXJDYWxsRnVsZmlsbGVkID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHVud3JhcCh0aGlzLnByb21pc2UsIHRoaXMub25GdWxmaWxsZWQsIHZhbHVlKTtcbn07XG5RdWV1ZUl0ZW0ucHJvdG90eXBlLmNhbGxSZWplY3RlZCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICBoYW5kbGVycy5yZWplY3QodGhpcy5wcm9taXNlLCB2YWx1ZSk7XG59O1xuUXVldWVJdGVtLnByb3RvdHlwZS5vdGhlckNhbGxSZWplY3RlZCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICB1bndyYXAodGhpcy5wcm9taXNlLCB0aGlzLm9uUmVqZWN0ZWQsIHZhbHVlKTtcbn07XG5cbmZ1bmN0aW9uIHVud3JhcChwcm9taXNlLCBmdW5jLCB2YWx1ZSkge1xuICBpbW1lZGlhdGUoZnVuY3Rpb24gKCkge1xuICAgIHZhciByZXR1cm5WYWx1ZTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuVmFsdWUgPSBmdW5jKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gaGFuZGxlcnMucmVqZWN0KHByb21pc2UsIGUpO1xuICAgIH1cbiAgICBpZiAocmV0dXJuVmFsdWUgPT09IHByb21pc2UpIHtcbiAgICAgIGhhbmRsZXJzLnJlamVjdChwcm9taXNlLCBuZXcgVHlwZUVycm9yKCdDYW5ub3QgcmVzb2x2ZSBwcm9taXNlIHdpdGggaXRzZWxmJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoYW5kbGVycy5yZXNvbHZlKHByb21pc2UsIHJldHVyblZhbHVlKTtcbiAgICB9XG4gIH0pO1xufVxuXG5oYW5kbGVycy5yZXNvbHZlID0gZnVuY3Rpb24gKHNlbGYsIHZhbHVlKSB7XG4gIHZhciByZXN1bHQgPSB0cnlDYXRjaChnZXRUaGVuLCB2YWx1ZSk7XG4gIGlmIChyZXN1bHQuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgcmV0dXJuIGhhbmRsZXJzLnJlamVjdChzZWxmLCByZXN1bHQudmFsdWUpO1xuICB9XG4gIHZhciB0aGVuYWJsZSA9IHJlc3VsdC52YWx1ZTtcblxuICBpZiAodGhlbmFibGUpIHtcbiAgICBzYWZlbHlSZXNvbHZlVGhlbmFibGUoc2VsZiwgdGhlbmFibGUpO1xuICB9IGVsc2Uge1xuICAgIHNlbGYuc3RhdGUgPSBGVUxGSUxMRUQ7XG4gICAgc2VsZi5vdXRjb21lID0gdmFsdWU7XG4gICAgdmFyIGkgPSAtMTtcbiAgICB2YXIgbGVuID0gc2VsZi5xdWV1ZS5sZW5ndGg7XG4gICAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgICAgc2VsZi5xdWV1ZVtpXS5jYWxsRnVsZmlsbGVkKHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlbGY7XG59O1xuaGFuZGxlcnMucmVqZWN0ID0gZnVuY3Rpb24gKHNlbGYsIGVycm9yKSB7XG4gIHNlbGYuc3RhdGUgPSBSRUpFQ1RFRDtcbiAgc2VsZi5vdXRjb21lID0gZXJyb3I7XG4gIHZhciBpID0gLTE7XG4gIHZhciBsZW4gPSBzZWxmLnF1ZXVlLmxlbmd0aDtcbiAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgIHNlbGYucXVldWVbaV0uY2FsbFJlamVjdGVkKGVycm9yKTtcbiAgfVxuICByZXR1cm4gc2VsZjtcbn07XG5cbmZ1bmN0aW9uIGdldFRoZW4ob2JqKSB7XG4gIC8vIE1ha2Ugc3VyZSB3ZSBvbmx5IGFjY2VzcyB0aGUgYWNjZXNzb3Igb25jZSBhcyByZXF1aXJlZCBieSB0aGUgc3BlY1xuICB2YXIgdGhlbiA9IG9iaiAmJiBvYmoudGhlbjtcbiAgaWYgKG9iaiAmJiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIG9iaiA9PT0gJ2Z1bmN0aW9uJykgJiYgdHlwZW9mIHRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gYXBweVRoZW4oKSB7XG4gICAgICB0aGVuLmFwcGx5KG9iaiwgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIHNhZmVseVJlc29sdmVUaGVuYWJsZShzZWxmLCB0aGVuYWJsZSkge1xuICAvLyBFaXRoZXIgZnVsZmlsbCwgcmVqZWN0IG9yIHJlamVjdCB3aXRoIGVycm9yXG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgZnVuY3Rpb24gb25FcnJvcih2YWx1ZSkge1xuICAgIGlmIChjYWxsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY2FsbGVkID0gdHJ1ZTtcbiAgICBoYW5kbGVycy5yZWplY3Qoc2VsZiwgdmFsdWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gb25TdWNjZXNzKHZhbHVlKSB7XG4gICAgaWYgKGNhbGxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYWxsZWQgPSB0cnVlO1xuICAgIGhhbmRsZXJzLnJlc29sdmUoc2VsZiwgdmFsdWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gdHJ5VG9VbndyYXAoKSB7XG4gICAgdGhlbmFibGUob25TdWNjZXNzLCBvbkVycm9yKTtcbiAgfVxuXG4gIHZhciByZXN1bHQgPSB0cnlDYXRjaCh0cnlUb1Vud3JhcCk7XG4gIGlmIChyZXN1bHQuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgb25FcnJvcihyZXN1bHQudmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRyeUNhdGNoKGZ1bmMsIHZhbHVlKSB7XG4gIHZhciBvdXQgPSB7fTtcbiAgdHJ5IHtcbiAgICBvdXQudmFsdWUgPSBmdW5jKHZhbHVlKTtcbiAgICBvdXQuc3RhdHVzID0gJ3N1Y2Nlc3MnO1xuICB9IGNhdGNoIChlKSB7XG4gICAgb3V0LnN0YXR1cyA9ICdlcnJvcic7XG4gICAgb3V0LnZhbHVlID0gZTtcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuXG5Qcm9taXNlLnJlc29sdmUgPSByZXNvbHZlO1xuZnVuY3Rpb24gcmVzb2x2ZSh2YWx1ZSkge1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiB0aGlzKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBoYW5kbGVycy5yZXNvbHZlKG5ldyB0aGlzKElOVEVSTkFMKSwgdmFsdWUpO1xufVxuXG5Qcm9taXNlLnJlamVjdCA9IHJlamVjdDtcbmZ1bmN0aW9uIHJlamVjdChyZWFzb24pIHtcbiAgdmFyIHByb21pc2UgPSBuZXcgdGhpcyhJTlRFUk5BTCk7XG4gIHJldHVybiBoYW5kbGVycy5yZWplY3QocHJvbWlzZSwgcmVhc29uKTtcbn1cblxuUHJvbWlzZS5hbGwgPSBhbGw7XG5mdW5jdGlvbiBhbGwoaXRlcmFibGUpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXJhYmxlKSAhPT0gJ1tvYmplY3QgQXJyYXldJykge1xuICAgIHJldHVybiB0aGlzLnJlamVjdChuZXcgVHlwZUVycm9yKCdtdXN0IGJlIGFuIGFycmF5JykpO1xuICB9XG5cbiAgdmFyIGxlbiA9IGl0ZXJhYmxlLmxlbmd0aDtcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuICBpZiAoIWxlbikge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUoW10pO1xuICB9XG5cbiAgdmFyIHZhbHVlcyA9IG5ldyBBcnJheShsZW4pO1xuICB2YXIgcmVzb2x2ZWQgPSAwO1xuICB2YXIgaSA9IC0xO1xuICB2YXIgcHJvbWlzZSA9IG5ldyB0aGlzKElOVEVSTkFMKTtcblxuICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgYWxsUmVzb2x2ZXIoaXRlcmFibGVbaV0sIGkpO1xuICB9XG4gIHJldHVybiBwcm9taXNlO1xuICBmdW5jdGlvbiBhbGxSZXNvbHZlcih2YWx1ZSwgaSkge1xuICAgIHNlbGYucmVzb2x2ZSh2YWx1ZSkudGhlbihyZXNvbHZlRnJvbUFsbCwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgICBoYW5kbGVycy5yZWplY3QocHJvbWlzZSwgZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIHJlc29sdmVGcm9tQWxsKG91dFZhbHVlKSB7XG4gICAgICB2YWx1ZXNbaV0gPSBvdXRWYWx1ZTtcbiAgICAgIGlmICgrK3Jlc29sdmVkID09PSBsZW4gJiYgIWNhbGxlZCkge1xuICAgICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgICBoYW5kbGVycy5yZXNvbHZlKHByb21pc2UsIHZhbHVlcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblByb21pc2UucmFjZSA9IHJhY2U7XG5mdW5jdGlvbiByYWNlKGl0ZXJhYmxlKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpdGVyYWJsZSkgIT09ICdbb2JqZWN0IEFycmF5XScpIHtcbiAgICByZXR1cm4gdGhpcy5yZWplY3QobmV3IFR5cGVFcnJvcignbXVzdCBiZSBhbiBhcnJheScpKTtcbiAgfVxuXG4gIHZhciBsZW4gPSBpdGVyYWJsZS5sZW5ndGg7XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgaWYgKCFsZW4pIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlKFtdKTtcbiAgfVxuXG4gIHZhciBpID0gLTE7XG4gIHZhciBwcm9taXNlID0gbmV3IHRoaXMoSU5URVJOQUwpO1xuXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcbiAgICByZXNvbHZlcihpdGVyYWJsZVtpXSk7XG4gIH1cbiAgcmV0dXJuIHByb21pc2U7XG4gIGZ1bmN0aW9uIHJlc29sdmVyKHZhbHVlKSB7XG4gICAgc2VsZi5yZXNvbHZlKHZhbHVlKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgaWYgKCFjYWxsZWQpIHtcbiAgICAgICAgY2FsbGVkID0gdHJ1ZTtcbiAgICAgICAgaGFuZGxlcnMucmVzb2x2ZShwcm9taXNlLCByZXNwb25zZSk7XG4gICAgICB9XG4gICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgICBoYW5kbGVycy5yZWplY3QocHJvbWlzZSwgZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbn0se1wiMVwiOjF9XSwzOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtcbihmdW5jdGlvbiAoZ2xvYmFsKXtcbid1c2Ugc3RyaWN0JztcbmlmICh0eXBlb2YgZ2xvYmFsLlByb21pc2UgIT09ICdmdW5jdGlvbicpIHtcbiAgZ2xvYmFsLlByb21pc2UgPSBfZGVyZXFfKDIpO1xufVxuXG59KS5jYWxsKHRoaXMsdHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiA/IGdsb2JhbCA6IHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiID8gc2VsZiA6IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyB3aW5kb3cgOiB7fSlcbn0se1wiMlwiOjJ9XSw0OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtcbid1c2Ugc3RyaWN0JztcblxudmFyIF90eXBlb2YgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIiA/IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH0gOiBmdW5jdGlvbiAob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9O1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBnZXRJREIoKSB7XG4gICAgLyogZ2xvYmFsIGluZGV4ZWREQix3ZWJraXRJbmRleGVkREIsbW96SW5kZXhlZERCLE9JbmRleGVkREIsbXNJbmRleGVkREIgKi9cbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIGluZGV4ZWREQiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBpbmRleGVkREI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB3ZWJraXRJbmRleGVkREIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gd2Via2l0SW5kZXhlZERCO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbW96SW5kZXhlZERCICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG1vekluZGV4ZWREQjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIE9JbmRleGVkREIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gT0luZGV4ZWREQjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIG1zSW5kZXhlZERCICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG1zSW5kZXhlZERCO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxufVxuXG52YXIgaWRiID0gZ2V0SURCKCk7XG5cbmZ1bmN0aW9uIGlzSW5kZXhlZERCVmFsaWQoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBJbmRleGVkREI7IGZhbGwgYmFjayB0byB2ZW5kb3ItcHJlZml4ZWQgdmVyc2lvbnNcbiAgICAgICAgLy8gaWYgbmVlZGVkLlxuICAgICAgICBpZiAoIWlkYiB8fCAhaWRiLm9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSBtaW1pYyBQb3VjaERCIGhlcmU7XG4gICAgICAgIC8vXG4gICAgICAgIC8vIFdlIHRlc3QgZm9yIG9wZW5EYXRhYmFzZSBiZWNhdXNlIElFIE1vYmlsZSBpZGVudGlmaWVzIGl0c2VsZlxuICAgICAgICAvLyBhcyBTYWZhcmkuIE9oIHRoZSBsdWx6Li4uXG4gICAgICAgIHZhciBpc1NhZmFyaSA9IHR5cGVvZiBvcGVuRGF0YWJhc2UgIT09ICd1bmRlZmluZWQnICYmIC8oU2FmYXJpfGlQaG9uZXxpUGFkfGlQb2QpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICEvQ2hyb21lLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICEvQmxhY2tCZXJyeS8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pO1xuXG4gICAgICAgIHZhciBoYXNGZXRjaCA9IHR5cGVvZiBmZXRjaCA9PT0gJ2Z1bmN0aW9uJyAmJiBmZXRjaC50b1N0cmluZygpLmluZGV4T2YoJ1tuYXRpdmUgY29kZScpICE9PSAtMTtcblxuICAgICAgICAvLyBTYWZhcmkgPDEwLjEgZG9lcyBub3QgbWVldCBvdXIgcmVxdWlyZW1lbnRzIGZvciBJREIgc3VwcG9ydFxuICAgICAgICAvLyAoc2VlOiBodHRwczovL2dpdGh1Yi5jb20vcG91Y2hkYi9wb3VjaGRiL2lzc3Vlcy81NTcyKS5cbiAgICAgICAgLy8gU2FmYXJpIDEwLjEgc2hpcHBlZCB3aXRoIGZldGNoLCB3ZSBjYW4gdXNlIHRoYXQgdG8gZGV0ZWN0IGl0LlxuICAgICAgICAvLyBOb3RlOiB0aGlzIGNyZWF0ZXMgaXNzdWVzIHdpdGggYHdpbmRvdy5mZXRjaGAgcG9seWZpbGxzIGFuZFxuICAgICAgICAvLyBvdmVycmlkZXM7IHNlZTpcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2xvY2FsRm9yYWdlL2xvY2FsRm9yYWdlL2lzc3Vlcy84NTZcbiAgICAgICAgcmV0dXJuICghaXNTYWZhcmkgfHwgaGFzRmV0Y2gpICYmIHR5cGVvZiBpbmRleGVkREIgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIC8vIHNvbWUgb3V0ZGF0ZWQgaW1wbGVtZW50YXRpb25zIG9mIElEQiB0aGF0IGFwcGVhciBvbiBTYW1zdW5nXG4gICAgICAgIC8vIGFuZCBIVEMgQW5kcm9pZCBkZXZpY2VzIDw0LjQgYXJlIG1pc3NpbmcgSURCS2V5UmFuZ2VcbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9sb2NhbEZvcmFnZS9pc3N1ZXMvMTI4XG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvbG9jYWxGb3JhZ2UvaXNzdWVzLzI3MlxuICAgICAgICB0eXBlb2YgSURCS2V5UmFuZ2UgIT09ICd1bmRlZmluZWQnO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuLy8gQWJzdHJhY3RzIGNvbnN0cnVjdGluZyBhIEJsb2Igb2JqZWN0LCBzbyBpdCBhbHNvIHdvcmtzIGluIG9sZGVyXG4vLyBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgdGhlIG5hdGl2ZSBCbG9iIGNvbnN0cnVjdG9yLiAoaS5lLlxuLy8gb2xkIFF0V2ViS2l0IHZlcnNpb25zLCBhdCBsZWFzdCkuXG4vLyBBYnN0cmFjdHMgY29uc3RydWN0aW5nIGEgQmxvYiBvYmplY3QsIHNvIGl0IGFsc28gd29ya3MgaW4gb2xkZXJcbi8vIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGUgbmF0aXZlIEJsb2IgY29uc3RydWN0b3IuIChpLmUuXG4vLyBvbGQgUXRXZWJLaXQgdmVyc2lvbnMsIGF0IGxlYXN0KS5cbmZ1bmN0aW9uIGNyZWF0ZUJsb2IocGFydHMsIHByb3BlcnRpZXMpIHtcbiAgICAvKiBnbG9iYWwgQmxvYkJ1aWxkZXIsTVNCbG9iQnVpbGRlcixNb3pCbG9iQnVpbGRlcixXZWJLaXRCbG9iQnVpbGRlciAqL1xuICAgIHBhcnRzID0gcGFydHMgfHwgW107XG4gICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXMgfHwge307XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBCbG9iKHBhcnRzLCBwcm9wZXJ0aWVzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLm5hbWUgIT09ICdUeXBlRXJyb3InKSB7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBCdWlsZGVyID0gdHlwZW9mIEJsb2JCdWlsZGVyICE9PSAndW5kZWZpbmVkJyA/IEJsb2JCdWlsZGVyIDogdHlwZW9mIE1TQmxvYkJ1aWxkZXIgIT09ICd1bmRlZmluZWQnID8gTVNCbG9iQnVpbGRlciA6IHR5cGVvZiBNb3pCbG9iQnVpbGRlciAhPT0gJ3VuZGVmaW5lZCcgPyBNb3pCbG9iQnVpbGRlciA6IFdlYktpdEJsb2JCdWlsZGVyO1xuICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBCdWlsZGVyKCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHBhcnRzW2ldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYnVpbGRlci5nZXRCbG9iKHByb3BlcnRpZXMudHlwZSk7XG4gICAgfVxufVxuXG4vLyBUaGlzIGlzIENvbW1vbkpTIGJlY2F1c2UgbGllIGlzIGFuIGV4dGVybmFsIGRlcGVuZGVuY3ksIHNvIFJvbGx1cFxuLy8gY2FuIGp1c3QgaWdub3JlIGl0LlxuaWYgKHR5cGVvZiBQcm9taXNlID09PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEluIHRoZSBcIm5vcHJvbWlzZXNcIiBidWlsZCB0aGlzIHdpbGwganVzdCB0aHJvdyBpZiB5b3UgZG9uJ3QgaGF2ZVxuICAgIC8vIGEgZ2xvYmFsIHByb21pc2Ugb2JqZWN0LCBidXQgaXQgd291bGQgdGhyb3cgYW55d2F5IGxhdGVyLlxuICAgIF9kZXJlcV8oMyk7XG59XG52YXIgUHJvbWlzZSQxID0gUHJvbWlzZTtcblxuZnVuY3Rpb24gZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKSB7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIHByb21pc2UudGhlbihmdW5jdGlvbiAocmVzdWx0KSB7XG4gICAgICAgICAgICBjYWxsYmFjayhudWxsLCByZXN1bHQpO1xuICAgICAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBleGVjdXRlVHdvQ2FsbGJhY2tzKHByb21pc2UsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSB7XG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBwcm9taXNlLnRoZW4oY2FsbGJhY2spO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZXJyb3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBwcm9taXNlW1wiY2F0Y2hcIl0oZXJyb3JDYWxsYmFjayk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVLZXkoa2V5KSB7XG4gICAgLy8gQ2FzdCB0aGUga2V5IHRvIGEgc3RyaW5nLCBhcyB0aGF0J3MgYWxsIHdlIGNhbiBzZXQgYXMgYSBrZXkuXG4gICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihrZXkgKyAnIHVzZWQgYXMgYSBrZXksIGJ1dCBpdCBpcyBub3QgYSBzdHJpbmcuJyk7XG4gICAgICAgIGtleSA9IFN0cmluZyhrZXkpO1xuICAgIH1cblxuICAgIHJldHVybiBrZXk7XG59XG5cbmZ1bmN0aW9uIGdldENhbGxiYWNrKCkge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICYmIHR5cGVvZiBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgIH1cbn1cblxuLy8gU29tZSBjb2RlIG9yaWdpbmFsbHkgZnJvbSBhc3luY19zdG9yYWdlLmpzIGluXG4vLyBbR2FpYV0oaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEtYjJnL2dhaWEpLlxuXG52YXIgREVURUNUX0JMT0JfU1VQUE9SVF9TVE9SRSA9ICdsb2NhbC1mb3JhZ2UtZGV0ZWN0LWJsb2Itc3VwcG9ydCc7XG52YXIgc3VwcG9ydHNCbG9icyA9IHZvaWQgMDtcbnZhciBkYkNvbnRleHRzID0ge307XG52YXIgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuXG4vLyBUcmFuc2FjdGlvbiBNb2Rlc1xudmFyIFJFQURfT05MWSA9ICdyZWFkb25seSc7XG52YXIgUkVBRF9XUklURSA9ICdyZWFkd3JpdGUnO1xuXG4vLyBUcmFuc2Zvcm0gYSBiaW5hcnkgc3RyaW5nIHRvIGFuIGFycmF5IGJ1ZmZlciwgYmVjYXVzZSBvdGhlcndpc2Vcbi8vIHdlaXJkIHN0dWZmIGhhcHBlbnMgd2hlbiB5b3UgdHJ5IHRvIHdvcmsgd2l0aCB0aGUgYmluYXJ5IHN0cmluZyBkaXJlY3RseS5cbi8vIEl0IGlzIGtub3duLlxuLy8gRnJvbSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE0OTY3NjQ3LyAoY29udGludWVzIG9uIG5leHQgbGluZSlcbi8vIGVuY29kZS1kZWNvZGUtaW1hZ2Utd2l0aC1iYXNlNjQtYnJlYWtzLWltYWdlICgyMDEzLTA0LTIxKVxuZnVuY3Rpb24gX2JpblN0cmluZ1RvQXJyYXlCdWZmZXIoYmluKSB7XG4gICAgdmFyIGxlbmd0aCA9IGJpbi5sZW5ndGg7XG4gICAgdmFyIGJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihsZW5ndGgpO1xuICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShidWYpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYXJyW2ldID0gYmluLmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuICAgIHJldHVybiBidWY7XG59XG5cbi8vXG4vLyBCbG9icyBhcmUgbm90IHN1cHBvcnRlZCBpbiBhbGwgdmVyc2lvbnMgb2YgSW5kZXhlZERCLCBub3RhYmx5XG4vLyBDaHJvbWUgPDM3IGFuZCBBbmRyb2lkIDw1LiBJbiB0aG9zZSB2ZXJzaW9ucywgc3RvcmluZyBhIGJsb2Igd2lsbCB0aHJvdy5cbi8vXG4vLyBWYXJpb3VzIG90aGVyIGJsb2IgYnVncyBleGlzdCBpbiBDaHJvbWUgdjM3LTQyIChpbmNsdXNpdmUpLlxuLy8gRGV0ZWN0aW5nIHRoZW0gaXMgZXhwZW5zaXZlIGFuZCBjb25mdXNpbmcgdG8gdXNlcnMsIGFuZCBDaHJvbWUgMzctNDJcbi8vIGlzIGF0IHZlcnkgbG93IHVzYWdlIHdvcmxkd2lkZSwgc28gd2UgZG8gYSBoYWNreSB1c2VyQWdlbnQgY2hlY2sgaW5zdGVhZC5cbi8vXG4vLyBjb250ZW50LXR5cGUgYnVnOiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDA4MTIwXG4vLyA0MDQgYnVnOiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDQ3OTE2XG4vLyBGaWxlUmVhZGVyIGJ1ZzogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ0NzgzNlxuLy9cbi8vIENvZGUgYm9ycm93ZWQgZnJvbSBQb3VjaERCLiBTZWU6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vcG91Y2hkYi9wb3VjaGRiL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL25vZGVfbW9kdWxlcy9wb3VjaGRiLWFkYXB0ZXItaWRiL3NyYy9ibG9iU3VwcG9ydC5qc1xuLy9cbmZ1bmN0aW9uIF9jaGVja0Jsb2JTdXBwb3J0V2l0aG91dENhY2hpbmcoaWRiKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgdmFyIHR4biA9IGlkYi50cmFuc2FjdGlvbihERVRFQ1RfQkxPQl9TVVBQT1JUX1NUT1JFLCBSRUFEX1dSSVRFKTtcbiAgICAgICAgdmFyIGJsb2IgPSBjcmVhdGVCbG9iKFsnJ10pO1xuICAgICAgICB0eG4ub2JqZWN0U3RvcmUoREVURUNUX0JMT0JfU1VQUE9SVF9TVE9SRSkucHV0KGJsb2IsICdrZXknKTtcblxuICAgICAgICB0eG4ub25hYm9ydCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgdHJhbnNhY3Rpb24gYWJvcnRzIG5vdyBpdHMgZHVlIHRvIG5vdCBiZWluZyBhYmxlIHRvXG4gICAgICAgICAgICAvLyB3cml0ZSB0byB0aGUgZGF0YWJhc2UsIGxpa2VseSBkdWUgdG8gdGhlIGRpc2sgYmVpbmcgZnVsbFxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHR4bi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIG1hdGNoZWRDaHJvbWUgPSBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9DaHJvbWVcXC8oXFxkKykvKTtcbiAgICAgICAgICAgIHZhciBtYXRjaGVkRWRnZSA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0VkZ2VcXC8vKTtcbiAgICAgICAgICAgIC8vIE1TIEVkZ2UgcHJldGVuZHMgdG8gYmUgQ2hyb21lIDQyOlxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9oaDg2OTMwMSUyOHY9dnMuODUlMjkuYXNweFxuICAgICAgICAgICAgcmVzb2x2ZShtYXRjaGVkRWRnZSB8fCAhbWF0Y2hlZENocm9tZSB8fCBwYXJzZUludChtYXRjaGVkQ2hyb21lWzFdLCAxMCkgPj0gNDMpO1xuICAgICAgICB9O1xuICAgIH0pW1wiY2F0Y2hcIl0oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGVycm9yLCBzbyBhc3N1bWUgdW5zdXBwb3J0ZWRcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gX2NoZWNrQmxvYlN1cHBvcnQoaWRiKSB7XG4gICAgaWYgKHR5cGVvZiBzdXBwb3J0c0Jsb2JzID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UkMS5yZXNvbHZlKHN1cHBvcnRzQmxvYnMpO1xuICAgIH1cbiAgICByZXR1cm4gX2NoZWNrQmxvYlN1cHBvcnRXaXRob3V0Q2FjaGluZyhpZGIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHN1cHBvcnRzQmxvYnMgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHN1cHBvcnRzQmxvYnM7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIF9kZWZlclJlYWRpbmVzcyhkYkluZm8pIHtcbiAgICB2YXIgZGJDb250ZXh0ID0gZGJDb250ZXh0c1tkYkluZm8ubmFtZV07XG5cbiAgICAvLyBDcmVhdGUgYSBkZWZlcnJlZCBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IGRhdGFiYXNlIG9wZXJhdGlvbi5cbiAgICB2YXIgZGVmZXJyZWRPcGVyYXRpb24gPSB7fTtcblxuICAgIGRlZmVycmVkT3BlcmF0aW9uLnByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZGVmZXJyZWRPcGVyYXRpb24ucmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgIGRlZmVycmVkT3BlcmF0aW9uLnJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcblxuICAgIC8vIEVucXVldWUgdGhlIGRlZmVycmVkIG9wZXJhdGlvbi5cbiAgICBkYkNvbnRleHQuZGVmZXJyZWRPcGVyYXRpb25zLnB1c2goZGVmZXJyZWRPcGVyYXRpb24pO1xuXG4gICAgLy8gQ2hhaW4gaXRzIHByb21pc2UgdG8gdGhlIGRhdGFiYXNlIHJlYWRpbmVzcy5cbiAgICBpZiAoIWRiQ29udGV4dC5kYlJlYWR5KSB7XG4gICAgICAgIGRiQ29udGV4dC5kYlJlYWR5ID0gZGVmZXJyZWRPcGVyYXRpb24ucHJvbWlzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBkYkNvbnRleHQuZGJSZWFkeSA9IGRiQ29udGV4dC5kYlJlYWR5LnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmVycmVkT3BlcmF0aW9uLnByb21pc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gX2FkdmFuY2VSZWFkaW5lc3MoZGJJbmZvKSB7XG4gICAgdmFyIGRiQ29udGV4dCA9IGRiQ29udGV4dHNbZGJJbmZvLm5hbWVdO1xuXG4gICAgLy8gRGVxdWV1ZSBhIGRlZmVycmVkIG9wZXJhdGlvbi5cbiAgICB2YXIgZGVmZXJyZWRPcGVyYXRpb24gPSBkYkNvbnRleHQuZGVmZXJyZWRPcGVyYXRpb25zLnBvcCgpO1xuXG4gICAgLy8gUmVzb2x2ZSBpdHMgcHJvbWlzZSAod2hpY2ggaXMgcGFydCBvZiB0aGUgZGF0YWJhc2UgcmVhZGluZXNzXG4gICAgLy8gY2hhaW4gb2YgcHJvbWlzZXMpLlxuICAgIGlmIChkZWZlcnJlZE9wZXJhdGlvbikge1xuICAgICAgICBkZWZlcnJlZE9wZXJhdGlvbi5yZXNvbHZlKCk7XG4gICAgICAgIHJldHVybiBkZWZlcnJlZE9wZXJhdGlvbi5wcm9taXNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gX3JlamVjdFJlYWRpbmVzcyhkYkluZm8sIGVycikge1xuICAgIHZhciBkYkNvbnRleHQgPSBkYkNvbnRleHRzW2RiSW5mby5uYW1lXTtcblxuICAgIC8vIERlcXVldWUgYSBkZWZlcnJlZCBvcGVyYXRpb24uXG4gICAgdmFyIGRlZmVycmVkT3BlcmF0aW9uID0gZGJDb250ZXh0LmRlZmVycmVkT3BlcmF0aW9ucy5wb3AoKTtcblxuICAgIC8vIFJlamVjdCBpdHMgcHJvbWlzZSAod2hpY2ggaXMgcGFydCBvZiB0aGUgZGF0YWJhc2UgcmVhZGluZXNzXG4gICAgLy8gY2hhaW4gb2YgcHJvbWlzZXMpLlxuICAgIGlmIChkZWZlcnJlZE9wZXJhdGlvbikge1xuICAgICAgICBkZWZlcnJlZE9wZXJhdGlvbi5yZWplY3QoZXJyKTtcbiAgICAgICAgcmV0dXJuIGRlZmVycmVkT3BlcmF0aW9uLnByb21pc2U7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBfZ2V0Q29ubmVjdGlvbihkYkluZm8sIHVwZ3JhZGVOZWVkZWQpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGRiQ29udGV4dHNbZGJJbmZvLm5hbWVdID0gZGJDb250ZXh0c1tkYkluZm8ubmFtZV0gfHwgY3JlYXRlRGJDb250ZXh0KCk7XG5cbiAgICAgICAgaWYgKGRiSW5mby5kYikge1xuICAgICAgICAgICAgaWYgKHVwZ3JhZGVOZWVkZWQpIHtcbiAgICAgICAgICAgICAgICBfZGVmZXJSZWFkaW5lc3MoZGJJbmZvKTtcbiAgICAgICAgICAgICAgICBkYkluZm8uZGIuY2xvc2UoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoZGJJbmZvLmRiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkYkFyZ3MgPSBbZGJJbmZvLm5hbWVdO1xuXG4gICAgICAgIGlmICh1cGdyYWRlTmVlZGVkKSB7XG4gICAgICAgICAgICBkYkFyZ3MucHVzaChkYkluZm8udmVyc2lvbik7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgb3BlbnJlcSA9IGlkYi5vcGVuLmFwcGx5KGlkYiwgZGJBcmdzKTtcblxuICAgICAgICBpZiAodXBncmFkZU5lZWRlZCkge1xuICAgICAgICAgICAgb3BlbnJlcS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgIHZhciBkYiA9IG9wZW5yZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKGRiSW5mby5zdG9yZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5vbGRWZXJzaW9uIDw9IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFkZGVkIHdoZW4gc3VwcG9ydCBmb3IgYmxvYiBzaGltcyB3YXMgYWRkZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKERFVEVDVF9CTE9CX1NVUFBPUlRfU1RPUkUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4Lm5hbWUgPT09ICdDb25zdHJhaW50RXJyb3InKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1RoZSBkYXRhYmFzZSBcIicgKyBkYkluZm8ubmFtZSArICdcIicgKyAnIGhhcyBiZWVuIHVwZ3JhZGVkIGZyb20gdmVyc2lvbiAnICsgZS5vbGRWZXJzaW9uICsgJyB0byB2ZXJzaW9uICcgKyBlLm5ld1ZlcnNpb24gKyAnLCBidXQgdGhlIHN0b3JhZ2UgXCInICsgZGJJbmZvLnN0b3JlTmFtZSArICdcIiBhbHJlYWR5IGV4aXN0cy4nKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGV4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIG9wZW5yZXEub25lcnJvciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZWplY3Qob3BlbnJlcS5lcnJvcik7XG4gICAgICAgIH07XG5cbiAgICAgICAgb3BlbnJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZGIgPSBvcGVucmVxLnJlc3VsdDtcbiAgICAgICAgICAgIGRiLm9udmVyc2lvbmNoYW5nZSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgLy8gVHJpZ2dlcmVkIHdoZW4gdGhlIGRhdGFiYXNlIGlzIG1vZGlmaWVkIChlLmcuIGFkZGluZyBhbiBvYmplY3RTdG9yZSkgb3JcbiAgICAgICAgICAgICAgICAvLyBkZWxldGVkIChldmVuIHdoZW4gaW5pdGlhdGVkIGJ5IG90aGVyIHNlc3Npb25zIGluIGRpZmZlcmVudCB0YWJzKS5cbiAgICAgICAgICAgICAgICAvLyBDbG9zaW5nIHRoZSBjb25uZWN0aW9uIGhlcmUgcHJldmVudHMgdGhvc2Ugb3BlcmF0aW9ucyBmcm9tIGJlaW5nIGJsb2NrZWQuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIGRhdGFiYXNlIGlzIGFjY2Vzc2VkIGFnYWluIGxhdGVyIGJ5IHRoaXMgaW5zdGFuY2UsIHRoZSBjb25uZWN0aW9uXG4gICAgICAgICAgICAgICAgLy8gd2lsbCBiZSByZW9wZW5lZCBvciB0aGUgZGF0YWJhc2UgcmVjcmVhdGVkIGFzIG5lZWRlZC5cbiAgICAgICAgICAgICAgICBlLnRhcmdldC5jbG9zZSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlc29sdmUoZGIpO1xuICAgICAgICAgICAgX2FkdmFuY2VSZWFkaW5lc3MoZGJJbmZvKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gX2dldE9yaWdpbmFsQ29ubmVjdGlvbihkYkluZm8pIHtcbiAgICByZXR1cm4gX2dldENvbm5lY3Rpb24oZGJJbmZvLCBmYWxzZSk7XG59XG5cbmZ1bmN0aW9uIF9nZXRVcGdyYWRlZENvbm5lY3Rpb24oZGJJbmZvKSB7XG4gICAgcmV0dXJuIF9nZXRDb25uZWN0aW9uKGRiSW5mbywgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIF9pc1VwZ3JhZGVOZWVkZWQoZGJJbmZvLCBkZWZhdWx0VmVyc2lvbikge1xuICAgIGlmICghZGJJbmZvLmRiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhciBpc05ld1N0b3JlID0gIWRiSW5mby5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKGRiSW5mby5zdG9yZU5hbWUpO1xuICAgIHZhciBpc0Rvd25ncmFkZSA9IGRiSW5mby52ZXJzaW9uIDwgZGJJbmZvLmRiLnZlcnNpb247XG4gICAgdmFyIGlzVXBncmFkZSA9IGRiSW5mby52ZXJzaW9uID4gZGJJbmZvLmRiLnZlcnNpb247XG5cbiAgICBpZiAoaXNEb3duZ3JhZGUpIHtcbiAgICAgICAgLy8gSWYgdGhlIHZlcnNpb24gaXMgbm90IHRoZSBkZWZhdWx0IG9uZVxuICAgICAgICAvLyB0aGVuIHdhcm4gZm9yIGltcG9zc2libGUgZG93bmdyYWRlLlxuICAgICAgICBpZiAoZGJJbmZvLnZlcnNpb24gIT09IGRlZmF1bHRWZXJzaW9uKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1RoZSBkYXRhYmFzZSBcIicgKyBkYkluZm8ubmFtZSArICdcIicgKyBcIiBjYW4ndCBiZSBkb3duZ3JhZGVkIGZyb20gdmVyc2lvbiBcIiArIGRiSW5mby5kYi52ZXJzaW9uICsgJyB0byB2ZXJzaW9uICcgKyBkYkluZm8udmVyc2lvbiArICcuJyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWxpZ24gdGhlIHZlcnNpb25zIHRvIHByZXZlbnQgZXJyb3JzLlxuICAgICAgICBkYkluZm8udmVyc2lvbiA9IGRiSW5mby5kYi52ZXJzaW9uO1xuICAgIH1cblxuICAgIGlmIChpc1VwZ3JhZGUgfHwgaXNOZXdTdG9yZSkge1xuICAgICAgICAvLyBJZiB0aGUgc3RvcmUgaXMgbmV3IHRoZW4gaW5jcmVtZW50IHRoZSB2ZXJzaW9uIChpZiBuZWVkZWQpLlxuICAgICAgICAvLyBUaGlzIHdpbGwgdHJpZ2dlciBhbiBcInVwZ3JhZGVuZWVkZWRcIiBldmVudCB3aGljaCBpcyByZXF1aXJlZFxuICAgICAgICAvLyBmb3IgY3JlYXRpbmcgYSBzdG9yZS5cbiAgICAgICAgaWYgKGlzTmV3U3RvcmUpIHtcbiAgICAgICAgICAgIHZhciBpbmNWZXJzaW9uID0gZGJJbmZvLmRiLnZlcnNpb24gKyAxO1xuICAgICAgICAgICAgaWYgKGluY1ZlcnNpb24gPiBkYkluZm8udmVyc2lvbikge1xuICAgICAgICAgICAgICAgIGRiSW5mby52ZXJzaW9uID0gaW5jVmVyc2lvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuLy8gZW5jb2RlIGEgYmxvYiBmb3IgaW5kZXhlZGRiIGVuZ2luZXMgdGhhdCBkb24ndCBzdXBwb3J0IGJsb2JzXG5mdW5jdGlvbiBfZW5jb2RlQmxvYihibG9iKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgdmFyIGJhc2U2NCA9IGJ0b2EoZS50YXJnZXQucmVzdWx0IHx8ICcnKTtcbiAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgIF9fbG9jYWxfZm9yYWdlX2VuY29kZWRfYmxvYjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBiYXNlNjQsXG4gICAgICAgICAgICAgICAgdHlwZTogYmxvYi50eXBlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyhibG9iKTtcbiAgICB9KTtcbn1cblxuLy8gZGVjb2RlIGFuIGVuY29kZWQgYmxvYlxuZnVuY3Rpb24gX2RlY29kZUJsb2IoZW5jb2RlZEJsb2IpIHtcbiAgICB2YXIgYXJyYXlCdWZmID0gX2JpblN0cmluZ1RvQXJyYXlCdWZmZXIoYXRvYihlbmNvZGVkQmxvYi5kYXRhKSk7XG4gICAgcmV0dXJuIGNyZWF0ZUJsb2IoW2FycmF5QnVmZl0sIHsgdHlwZTogZW5jb2RlZEJsb2IudHlwZSB9KTtcbn1cblxuLy8gaXMgdGhpcyBvbmUgb2Ygb3VyIGZhbmN5IGVuY29kZWQgYmxvYnM/XG5mdW5jdGlvbiBfaXNFbmNvZGVkQmxvYih2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS5fX2xvY2FsX2ZvcmFnZV9lbmNvZGVkX2Jsb2I7XG59XG5cbi8vIFNwZWNpYWxpemUgdGhlIGRlZmF1bHQgYHJlYWR5KClgIGZ1bmN0aW9uIGJ5IG1ha2luZyBpdCBkZXBlbmRlbnRcbi8vIG9uIHRoZSBjdXJyZW50IGRhdGFiYXNlIG9wZXJhdGlvbnMuIFRodXMsIHRoZSBkcml2ZXIgd2lsbCBiZSBhY3R1YWxseVxuLy8gcmVhZHkgd2hlbiBpdCdzIGJlZW4gaW5pdGlhbGl6ZWQgKGRlZmF1bHQpICphbmQqIHRoZXJlIGFyZSBubyBwZW5kaW5nXG4vLyBvcGVyYXRpb25zIG9uIHRoZSBkYXRhYmFzZSAoaW5pdGlhdGVkIGJ5IHNvbWUgb3RoZXIgaW5zdGFuY2VzKS5cbmZ1bmN0aW9uIF9mdWxseVJlYWR5KGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBzZWxmLl9pbml0UmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRiQ29udGV4dCA9IGRiQ29udGV4dHNbc2VsZi5fZGJJbmZvLm5hbWVdO1xuXG4gICAgICAgIGlmIChkYkNvbnRleHQgJiYgZGJDb250ZXh0LmRiUmVhZHkpIHtcbiAgICAgICAgICAgIHJldHVybiBkYkNvbnRleHQuZGJSZWFkeTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhlY3V0ZVR3b0NhbGxiYWNrcyhwcm9taXNlLCBjYWxsYmFjaywgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG4vLyBUcnkgdG8gZXN0YWJsaXNoIGEgbmV3IGRiIGNvbm5lY3Rpb24gdG8gcmVwbGFjZSB0aGVcbi8vIGN1cnJlbnQgb25lIHdoaWNoIGlzIGJyb2tlbiAoaS5lLiBleHBlcmllbmNpbmdcbi8vIEludmFsaWRTdGF0ZUVycm9yIHdoaWxlIGNyZWF0aW5nIGEgdHJhbnNhY3Rpb24pLlxuZnVuY3Rpb24gX3RyeVJlY29ubmVjdChkYkluZm8pIHtcbiAgICBfZGVmZXJSZWFkaW5lc3MoZGJJbmZvKTtcblxuICAgIHZhciBkYkNvbnRleHQgPSBkYkNvbnRleHRzW2RiSW5mby5uYW1lXTtcbiAgICB2YXIgZm9yYWdlcyA9IGRiQ29udGV4dC5mb3JhZ2VzO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JhZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBmb3JhZ2UgPSBmb3JhZ2VzW2ldO1xuICAgICAgICBpZiAoZm9yYWdlLl9kYkluZm8uZGIpIHtcbiAgICAgICAgICAgIGZvcmFnZS5fZGJJbmZvLmRiLmNsb3NlKCk7XG4gICAgICAgICAgICBmb3JhZ2UuX2RiSW5mby5kYiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGJJbmZvLmRiID0gbnVsbDtcblxuICAgIHJldHVybiBfZ2V0T3JpZ2luYWxDb25uZWN0aW9uKGRiSW5mbykudGhlbihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgZGJJbmZvLmRiID0gZGI7XG4gICAgICAgIGlmIChfaXNVcGdyYWRlTmVlZGVkKGRiSW5mbykpIHtcbiAgICAgICAgICAgIC8vIFJlb3BlbiB0aGUgZGF0YWJhc2UgZm9yIHVwZ3JhZGluZy5cbiAgICAgICAgICAgIHJldHVybiBfZ2V0VXBncmFkZWRDb25uZWN0aW9uKGRiSW5mbyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRiO1xuICAgIH0pLnRoZW4oZnVuY3Rpb24gKGRiKSB7XG4gICAgICAgIC8vIHN0b3JlIHRoZSBsYXRlc3QgZGIgcmVmZXJlbmNlXG4gICAgICAgIC8vIGluIGNhc2UgdGhlIGRiIHdhcyB1cGdyYWRlZFxuICAgICAgICBkYkluZm8uZGIgPSBkYkNvbnRleHQuZGIgPSBkYjtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JhZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBmb3JhZ2VzW2ldLl9kYkluZm8uZGIgPSBkYjtcbiAgICAgICAgfVxuICAgIH0pW1wiY2F0Y2hcIl0oZnVuY3Rpb24gKGVycikge1xuICAgICAgICBfcmVqZWN0UmVhZGluZXNzKGRiSW5mbywgZXJyKTtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgIH0pO1xufVxuXG4vLyBGRiBkb2Vzbid0IGxpa2UgUHJvbWlzZXMgKG1pY3JvLXRhc2tzKSBhbmQgSUREQiBzdG9yZSBvcGVyYXRpb25zLFxuLy8gc28gd2UgaGF2ZSB0byBkbyBpdCB3aXRoIGNhbGxiYWNrc1xuZnVuY3Rpb24gY3JlYXRlVHJhbnNhY3Rpb24oZGJJbmZvLCBtb2RlLCBjYWxsYmFjaywgcmV0cmllcykge1xuICAgIGlmIChyZXRyaWVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0cmllcyA9IDE7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgICAgdmFyIHR4ID0gZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGRiSW5mby5zdG9yZU5hbWUsIG1vZGUpO1xuICAgICAgICBjYWxsYmFjayhudWxsLCB0eCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChyZXRyaWVzID4gMCAmJiAoIWRiSW5mby5kYiB8fCBlcnIubmFtZSA9PT0gJ0ludmFsaWRTdGF0ZUVycm9yJyB8fCBlcnIubmFtZSA9PT0gJ05vdEZvdW5kRXJyb3InKSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UkMS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFkYkluZm8uZGIgfHwgZXJyLm5hbWUgPT09ICdOb3RGb3VuZEVycm9yJyAmJiAhZGJJbmZvLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoZGJJbmZvLnN0b3JlTmFtZSkgJiYgZGJJbmZvLnZlcnNpb24gPD0gZGJJbmZvLmRiLnZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaW5jcmVhc2UgdGhlIGRiIHZlcnNpb24sIHRvIGNyZWF0ZSB0aGUgbmV3IE9iamVjdFN0b3JlXG4gICAgICAgICAgICAgICAgICAgIGlmIChkYkluZm8uZGIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRiSW5mby52ZXJzaW9uID0gZGJJbmZvLmRiLnZlcnNpb24gKyAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlb3BlbiB0aGUgZGF0YWJhc2UgZm9yIHVwZ3JhZGluZy5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9nZXRVcGdyYWRlZENvbm5lY3Rpb24oZGJJbmZvKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX3RyeVJlY29ubmVjdChkYkluZm8pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihkYkluZm8sIG1vZGUsIGNhbGxiYWNrLCByZXRyaWVzIC0gMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVtcImNhdGNoXCJdKGNhbGxiYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNhbGxiYWNrKGVycik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVEYkNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLy8gUnVubmluZyBsb2NhbEZvcmFnZXMgc2hhcmluZyBhIGRhdGFiYXNlLlxuICAgICAgICBmb3JhZ2VzOiBbXSxcbiAgICAgICAgLy8gU2hhcmVkIGRhdGFiYXNlLlxuICAgICAgICBkYjogbnVsbCxcbiAgICAgICAgLy8gRGF0YWJhc2UgcmVhZGluZXNzIChwcm9taXNlKS5cbiAgICAgICAgZGJSZWFkeTogbnVsbCxcbiAgICAgICAgLy8gRGVmZXJyZWQgb3BlcmF0aW9ucyBvbiB0aGUgZGF0YWJhc2UuXG4gICAgICAgIGRlZmVycmVkT3BlcmF0aW9uczogW11cbiAgICB9O1xufVxuXG4vLyBPcGVuIHRoZSBJbmRleGVkREIgZGF0YWJhc2UgKGF1dG9tYXRpY2FsbHkgY3JlYXRlcyBvbmUgaWYgb25lIGRpZG4ndFxuLy8gcHJldmlvdXNseSBleGlzdCksIHVzaW5nIGFueSBvcHRpb25zIHNldCBpbiB0aGUgY29uZmlnLlxuZnVuY3Rpb24gX2luaXRTdG9yYWdlKG9wdGlvbnMpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGRiSW5mbyA9IHtcbiAgICAgICAgZGI6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgZm9yICh2YXIgaSBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgICBkYkluZm9baV0gPSBvcHRpb25zW2ldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR2V0IHRoZSBjdXJyZW50IGNvbnRleHQgb2YgdGhlIGRhdGFiYXNlO1xuICAgIHZhciBkYkNvbnRleHQgPSBkYkNvbnRleHRzW2RiSW5mby5uYW1lXTtcblxuICAgIC8vIC4uLm9yIGNyZWF0ZSBhIG5ldyBjb250ZXh0LlxuICAgIGlmICghZGJDb250ZXh0KSB7XG4gICAgICAgIGRiQ29udGV4dCA9IGNyZWF0ZURiQ29udGV4dCgpO1xuICAgICAgICAvLyBSZWdpc3RlciB0aGUgbmV3IGNvbnRleHQgaW4gdGhlIGdsb2JhbCBjb250YWluZXIuXG4gICAgICAgIGRiQ29udGV4dHNbZGJJbmZvLm5hbWVdID0gZGJDb250ZXh0O1xuICAgIH1cblxuICAgIC8vIFJlZ2lzdGVyIGl0c2VsZiBhcyBhIHJ1bm5pbmcgbG9jYWxGb3JhZ2UgaW4gdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgICBkYkNvbnRleHQuZm9yYWdlcy5wdXNoKHNlbGYpO1xuXG4gICAgLy8gUmVwbGFjZSB0aGUgZGVmYXVsdCBgcmVhZHkoKWAgZnVuY3Rpb24gd2l0aCB0aGUgc3BlY2lhbGl6ZWQgb25lLlxuICAgIGlmICghc2VsZi5faW5pdFJlYWR5KSB7XG4gICAgICAgIHNlbGYuX2luaXRSZWFkeSA9IHNlbGYucmVhZHk7XG4gICAgICAgIHNlbGYucmVhZHkgPSBfZnVsbHlSZWFkeTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYW4gYXJyYXkgb2YgaW5pdGlhbGl6YXRpb24gc3RhdGVzIG9mIHRoZSByZWxhdGVkIGxvY2FsRm9yYWdlcy5cbiAgICB2YXIgaW5pdFByb21pc2VzID0gW107XG5cbiAgICBmdW5jdGlvbiBpZ25vcmVFcnJvcnMoKSB7XG4gICAgICAgIC8vIERvbid0IGhhbmRsZSBlcnJvcnMgaGVyZSxcbiAgICAgICAgLy8ganVzdCBtYWtlcyBzdXJlIHJlbGF0ZWQgbG9jYWxGb3JhZ2VzIGFyZW4ndCBwZW5kaW5nLlxuICAgICAgICByZXR1cm4gUHJvbWlzZSQxLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IGRiQ29udGV4dC5mb3JhZ2VzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHZhciBmb3JhZ2UgPSBkYkNvbnRleHQuZm9yYWdlc1tqXTtcbiAgICAgICAgaWYgKGZvcmFnZSAhPT0gc2VsZikge1xuICAgICAgICAgICAgLy8gRG9uJ3Qgd2FpdCBmb3IgaXRzZWxmLi4uXG4gICAgICAgICAgICBpbml0UHJvbWlzZXMucHVzaChmb3JhZ2UuX2luaXRSZWFkeSgpW1wiY2F0Y2hcIl0oaWdub3JlRXJyb3JzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWtlIGEgc25hcHNob3Qgb2YgdGhlIHJlbGF0ZWQgbG9jYWxGb3JhZ2VzLlxuICAgIHZhciBmb3JhZ2VzID0gZGJDb250ZXh0LmZvcmFnZXMuc2xpY2UoMCk7XG5cbiAgICAvLyBJbml0aWFsaXplIHRoZSBjb25uZWN0aW9uIHByb2Nlc3Mgb25seSB3aGVuXG4gICAgLy8gYWxsIHRoZSByZWxhdGVkIGxvY2FsRm9yYWdlcyBhcmVuJ3QgcGVuZGluZy5cbiAgICByZXR1cm4gUHJvbWlzZSQxLmFsbChpbml0UHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICBkYkluZm8uZGIgPSBkYkNvbnRleHQuZGI7XG4gICAgICAgIC8vIEdldCB0aGUgY29ubmVjdGlvbiBvciBvcGVuIGEgbmV3IG9uZSB3aXRob3V0IHVwZ3JhZGUuXG4gICAgICAgIHJldHVybiBfZ2V0T3JpZ2luYWxDb25uZWN0aW9uKGRiSW5mbyk7XG4gICAgfSkudGhlbihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgZGJJbmZvLmRiID0gZGI7XG4gICAgICAgIGlmIChfaXNVcGdyYWRlTmVlZGVkKGRiSW5mbywgc2VsZi5fZGVmYXVsdENvbmZpZy52ZXJzaW9uKSkge1xuICAgICAgICAgICAgLy8gUmVvcGVuIHRoZSBkYXRhYmFzZSBmb3IgdXBncmFkaW5nLlxuICAgICAgICAgICAgcmV0dXJuIF9nZXRVcGdyYWRlZENvbm5lY3Rpb24oZGJJbmZvKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGI7XG4gICAgfSkudGhlbihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgZGJJbmZvLmRiID0gZGJDb250ZXh0LmRiID0gZGI7XG4gICAgICAgIHNlbGYuX2RiSW5mbyA9IGRiSW5mbztcbiAgICAgICAgLy8gU2hhcmUgdGhlIGZpbmFsIGNvbm5lY3Rpb24gYW1vbmdzdCByZWxhdGVkIGxvY2FsRm9yYWdlcy5cbiAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBmb3JhZ2VzLmxlbmd0aDsgaysrKSB7XG4gICAgICAgICAgICB2YXIgZm9yYWdlID0gZm9yYWdlc1trXTtcbiAgICAgICAgICAgIGlmIChmb3JhZ2UgIT09IHNlbGYpIHtcbiAgICAgICAgICAgICAgICAvLyBTZWxmIGlzIGFscmVhZHkgdXAtdG8tZGF0ZS5cbiAgICAgICAgICAgICAgICBmb3JhZ2UuX2RiSW5mby5kYiA9IGRiSW5mby5kYjtcbiAgICAgICAgICAgICAgICBmb3JhZ2UuX2RiSW5mby52ZXJzaW9uID0gZGJJbmZvLnZlcnNpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0SXRlbShrZXksIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAga2V5ID0gbm9ybWFsaXplS2V5KGtleSk7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfT05MWSwgZnVuY3Rpb24gKGVyciwgdHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShzZWxmLl9kYkluZm8uc3RvcmVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IHN0b3JlLmdldChrZXkpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2lzRW5jb2RlZEJsb2IodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBfZGVjb2RlQmxvYih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChyZXEuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG4vLyBJdGVyYXRlIG92ZXIgYWxsIGl0ZW1zIHN0b3JlZCBpbiBkYXRhYmFzZS5cbmZ1bmN0aW9uIGl0ZXJhdGUoaXRlcmF0b3IsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY3JlYXRlVHJhbnNhY3Rpb24oc2VsZi5fZGJJbmZvLCBSRUFEX09OTFksIGZ1bmN0aW9uIChlcnIsIHRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc2VsZi5fZGJJbmZvLnN0b3JlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXEgPSBzdG9yZS5vcGVuQ3Vyc29yKCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpdGVyYXRpb25OdW1iZXIgPSAxO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3Vyc29yID0gcmVxLnJlc3VsdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnNvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGN1cnNvci52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2lzRW5jb2RlZEJsb2IodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gX2RlY29kZUJsb2IodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gaXRlcmF0b3IodmFsdWUsIGN1cnNvci5rZXksIGl0ZXJhdGlvbk51bWJlcisrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdGhlIGl0ZXJhdG9yIGNhbGxiYWNrIHJldHVybnMgYW55XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gKG5vbi1gdW5kZWZpbmVkYCkgdmFsdWUsIHRoZW4gd2Ugc3RvcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpdGVyYXRpb24gaW1tZWRpYXRlbHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB2b2lkIDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcltcImNvbnRpbnVlXCJdKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QocmVxLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcblxuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBzZXRJdGVtKGtleSwgdmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAga2V5ID0gbm9ybWFsaXplS2V5KGtleSk7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICB2YXIgZGJJbmZvO1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgICAgICBpZiAodG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEJsb2JdJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBfY2hlY2tCbG9iU3VwcG9ydChkYkluZm8uZGIpLnRoZW4oZnVuY3Rpb24gKGJsb2JTdXBwb3J0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9iU3VwcG9ydCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfZW5jb2RlQmxvYih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfV1JJVEUsIGZ1bmN0aW9uIChlcnIsIHRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc2VsZi5fZGJJbmZvLnN0b3JlTmFtZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlYXNvbiB3ZSBkb24ndCBfc2F2ZV8gbnVsbCBpcyBiZWNhdXNlIElFIDEwIGRvZXNcbiAgICAgICAgICAgICAgICAgICAgLy8gbm90IHN1cHBvcnQgc2F2aW5nIHRoZSBgbnVsbGAgdHlwZSBpbiBJbmRleGVkREIuIEhvd1xuICAgICAgICAgICAgICAgICAgICAvLyBpcm9uaWMsIGdpdmVuIHRoZSBidWcgYmVsb3chXG4gICAgICAgICAgICAgICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvbG9jYWxGb3JhZ2UvaXNzdWVzLzE2MVxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IHN0b3JlLnB1dCh2YWx1ZSwga2V5KTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FzdCB0byB1bmRlZmluZWQgc28gdGhlIHZhbHVlIHBhc3NlZCB0b1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2FsbGJhY2svcHJvbWlzZSBpcyB0aGUgc2FtZSBhcyB3aGF0IG9uZSB3b3VsZCBnZXQgb3V0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvZiBgZ2V0SXRlbSgpYCBsYXRlci4gVGhpcyBsZWFkcyB0byBzb21lIHdlaXJkbmVzc1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gKHNldEl0ZW0oJ2ZvbycsIHVuZGVmaW5lZCkgd2lsbCByZXR1cm4gYG51bGxgKSwgYnV0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCdzIG5vdCBteSBmYXVsdCBsb2NhbFN0b3JhZ2UgaXMgb3VyIGJhc2VsaW5lIGFuZCB0aGF0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCdzIHdlaXJkLlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdHJhbnNhY3Rpb24ub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlcnIgPSByZXEuZXJyb3IgPyByZXEuZXJyb3IgOiByZXEudHJhbnNhY3Rpb24uZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlSXRlbShrZXksIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAga2V5ID0gbm9ybWFsaXplS2V5KGtleSk7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfV1JJVEUsIGZ1bmN0aW9uIChlcnIsIHRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc2VsZi5fZGJJbmZvLnN0b3JlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBhIEdydW50IHRhc2sgdG8gbWFrZSB0aGlzIHNhZmUgZm9yIElFIGFuZCBzb21lXG4gICAgICAgICAgICAgICAgICAgIC8vIHZlcnNpb25zIG9mIEFuZHJvaWQgKGluY2x1ZGluZyB0aG9zZSB1c2VkIGJ5IENvcmRvdmEpLlxuICAgICAgICAgICAgICAgICAgICAvLyBOb3JtYWxseSBJRSB3b24ndCBsaWtlIGAuZGVsZXRlKClgIGFuZCB3aWxsIGluc2lzdCBvblxuICAgICAgICAgICAgICAgICAgICAvLyB1c2luZyBgWydkZWxldGUnXSgpYCwgYnV0IHdlIGhhdmUgYSBidWlsZCBzdGVwIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgLy8gZml4ZXMgdGhpcyBmb3IgdXMgbm93LlxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gc3RvcmVbXCJkZWxldGVcIl0oa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHJlcS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlcXVlc3Qgd2lsbCBiZSBhbHNvIGJlIGFib3J0ZWQgaWYgd2UndmUgZXhjZWVkZWQgb3VyIHN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgICAgLy8gc3BhY2UuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXJyID0gcmVxLmVycm9yID8gcmVxLmVycm9yIDogcmVxLnRyYW5zYWN0aW9uLmVycm9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pW1wiY2F0Y2hcIl0ocmVqZWN0KTtcbiAgICB9KTtcblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbmZ1bmN0aW9uIGNsZWFyKGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY3JlYXRlVHJhbnNhY3Rpb24oc2VsZi5fZGJJbmZvLCBSRUFEX1dSSVRFLCBmdW5jdGlvbiAoZXJyLCB0cmFuc2FjdGlvbikge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHNlbGYuX2RiSW5mby5zdG9yZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gc3RvcmUuY2xlYXIoKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB0cmFuc2FjdGlvbi5vbmVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVyciA9IHJlcS5lcnJvciA/IHJlcS5lcnJvciA6IHJlcS50cmFuc2FjdGlvbi5lcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBsZW5ndGgoY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfT05MWSwgZnVuY3Rpb24gKGVyciwgdHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShzZWxmLl9kYkluZm8uc3RvcmVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IHN0b3JlLmNvdW50KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVxLnJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QocmVxLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24ga2V5KG4sIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgaWYgKG4gPCAwKSB7XG4gICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfT05MWSwgZnVuY3Rpb24gKGVyciwgdHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShzZWxmLl9kYkluZm8uc3RvcmVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFkdmFuY2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXEgPSBzdG9yZS5vcGVuS2V5Q3Vyc29yKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJzb3IgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJzb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIG1lYW5zIHRoZXJlIHdlcmVuJ3QgZW5vdWdoIGtleXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobiA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdGhlIGZpcnN0IGtleSwgcmV0dXJuIGl0IGlmIHRoYXQncyB3aGF0IHRoZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3YW50ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjdXJzb3Iua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhZHZhbmNlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGFzayB0aGUgY3Vyc29yIHRvIHNraXAgYWhlYWQgblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWNvcmRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5hZHZhbmNlKG4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdoZW4gd2UgZ2V0IGhlcmUsIHdlJ3ZlIGdvdCB0aGUgbnRoIGtleS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjdXJzb3Iua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QocmVxLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24ga2V5cyhjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNyZWF0ZVRyYW5zYWN0aW9uKHNlbGYuX2RiSW5mbywgUkVBRF9PTkxZLCBmdW5jdGlvbiAoZXJyLCB0cmFuc2FjdGlvbikge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHNlbGYuX2RiSW5mby5zdG9yZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gc3RvcmUub3BlbktleUN1cnNvcigpO1xuICAgICAgICAgICAgICAgICAgICB2YXIga2V5cyA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3Vyc29yID0gcmVxLnJlc3VsdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJzb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGtleXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAga2V5cy5wdXNoKGN1cnNvci5rZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yW1wiY29udGludWVcIl0oKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChyZXEuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBkcm9wSW5zdGFuY2Uob3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICBjYWxsYmFjayA9IGdldENhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgICB2YXIgY3VycmVudENvbmZpZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb25zICE9PSAnZnVuY3Rpb24nICYmIG9wdGlvbnMgfHwge307XG4gICAgaWYgKCFvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgb3B0aW9ucy5uYW1lID0gb3B0aW9ucy5uYW1lIHx8IGN1cnJlbnRDb25maWcubmFtZTtcbiAgICAgICAgb3B0aW9ucy5zdG9yZU5hbWUgPSBvcHRpb25zLnN0b3JlTmFtZSB8fCBjdXJyZW50Q29uZmlnLnN0b3JlTmFtZTtcbiAgICB9XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIHByb21pc2U7XG4gICAgaWYgKCFvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgcHJvbWlzZSA9IFByb21pc2UkMS5yZWplY3QoJ0ludmFsaWQgYXJndW1lbnRzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGlzQ3VycmVudERiID0gb3B0aW9ucy5uYW1lID09PSBjdXJyZW50Q29uZmlnLm5hbWUgJiYgc2VsZi5fZGJJbmZvLmRiO1xuXG4gICAgICAgIHZhciBkYlByb21pc2UgPSBpc0N1cnJlbnREYiA/IFByb21pc2UkMS5yZXNvbHZlKHNlbGYuX2RiSW5mby5kYikgOiBfZ2V0T3JpZ2luYWxDb25uZWN0aW9uKG9wdGlvbnMpLnRoZW4oZnVuY3Rpb24gKGRiKSB7XG4gICAgICAgICAgICB2YXIgZGJDb250ZXh0ID0gZGJDb250ZXh0c1tvcHRpb25zLm5hbWVdO1xuICAgICAgICAgICAgdmFyIGZvcmFnZXMgPSBkYkNvbnRleHQuZm9yYWdlcztcbiAgICAgICAgICAgIGRiQ29udGV4dC5kYiA9IGRiO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JhZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yYWdlc1tpXS5fZGJJbmZvLmRiID0gZGI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGI7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghb3B0aW9ucy5zdG9yZU5hbWUpIHtcbiAgICAgICAgICAgIHByb21pc2UgPSBkYlByb21pc2UudGhlbihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgICAgICAgICBfZGVmZXJSZWFkaW5lc3Mob3B0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICB2YXIgZGJDb250ZXh0ID0gZGJDb250ZXh0c1tvcHRpb25zLm5hbWVdO1xuICAgICAgICAgICAgICAgIHZhciBmb3JhZ2VzID0gZGJDb250ZXh0LmZvcmFnZXM7XG5cbiAgICAgICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9yYWdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZm9yYWdlID0gZm9yYWdlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yYWdlLl9kYkluZm8uZGIgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZhciBkcm9wREJQcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXEgPSBpZGIuZGVsZXRlRGF0YWJhc2Uob3B0aW9ucy5uYW1lKTtcblxuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYiA9IHJlcS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHJlcS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENsb3NpbmcgYWxsIG9wZW4gY29ubmVjdGlvbnMgaW4gb252ZXJzaW9uY2hhbmdlIGhhbmRsZXIgc2hvdWxkIHByZXZlbnQgdGhpcyBzaXR1YXRpb24sIGJ1dCBpZlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2UgZG8gZ2V0IGhlcmUsIGl0IGp1c3QgbWVhbnMgdGhlIHJlcXVlc3QgcmVtYWlucyBwZW5kaW5nIC0gZXZlbnR1YWxseSBpdCB3aWxsIHN1Y2NlZWQgb3IgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignZHJvcEluc3RhbmNlIGJsb2NrZWQgZm9yIGRhdGFiYXNlIFwiJyArIG9wdGlvbnMubmFtZSArICdcIiB1bnRpbCBhbGwgb3BlbiBjb25uZWN0aW9ucyBhcmUgY2xvc2VkJyk7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYiA9IHJlcS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShkYik7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZHJvcERCUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChkYikge1xuICAgICAgICAgICAgICAgICAgICBkYkNvbnRleHQuZGIgPSBkYjtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JhZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2ZvcmFnZSA9IGZvcmFnZXNbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICBfYWR2YW5jZVJlYWRpbmVzcyhfZm9yYWdlLl9kYkluZm8pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlbXCJjYXRjaFwiXShmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIChfcmVqZWN0UmVhZGluZXNzKG9wdGlvbnMsIGVycikgfHwgUHJvbWlzZSQxLnJlc29sdmUoKSlbXCJjYXRjaFwiXShmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJvbWlzZSA9IGRiUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChkYikge1xuICAgICAgICAgICAgICAgIGlmICghZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhvcHRpb25zLnN0b3JlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZhciBuZXdWZXJzaW9uID0gZGIudmVyc2lvbiArIDE7XG5cbiAgICAgICAgICAgICAgICBfZGVmZXJSZWFkaW5lc3Mob3B0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICB2YXIgZGJDb250ZXh0ID0gZGJDb250ZXh0c1tvcHRpb25zLm5hbWVdO1xuICAgICAgICAgICAgICAgIHZhciBmb3JhZ2VzID0gZGJDb250ZXh0LmZvcmFnZXM7XG5cbiAgICAgICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9yYWdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZm9yYWdlID0gZm9yYWdlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yYWdlLl9kYkluZm8uZGIgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICBmb3JhZ2UuX2RiSW5mby52ZXJzaW9uID0gbmV3VmVyc2lvbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB2YXIgZHJvcE9iamVjdFByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IGlkYi5vcGVuKG9wdGlvbnMubmFtZSwgbmV3VmVyc2lvbik7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGIgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGIuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGIgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGIuZGVsZXRlT2JqZWN0U3RvcmUob3B0aW9ucy5zdG9yZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGIgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGIuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGIpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRyb3BPYmplY3RQcm9taXNlLnRoZW4oZnVuY3Rpb24gKGRiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRiQ29udGV4dC5kYiA9IGRiO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGZvcmFnZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfZm9yYWdlMiA9IGZvcmFnZXNbal07XG4gICAgICAgICAgICAgICAgICAgICAgICBfZm9yYWdlMi5fZGJJbmZvLmRiID0gZGI7XG4gICAgICAgICAgICAgICAgICAgICAgICBfYWR2YW5jZVJlYWRpbmVzcyhfZm9yYWdlMi5fZGJJbmZvKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pW1wiY2F0Y2hcIl0oZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgICAgICAoX3JlamVjdFJlYWRpbmVzcyhvcHRpb25zLCBlcnIpIHx8IFByb21pc2UkMS5yZXNvbHZlKCkpW1wiY2F0Y2hcIl0oZnVuY3Rpb24gKCkge30pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbnZhciBhc3luY1N0b3JhZ2UgPSB7XG4gICAgX2RyaXZlcjogJ2FzeW5jU3RvcmFnZScsXG4gICAgX2luaXRTdG9yYWdlOiBfaW5pdFN0b3JhZ2UsXG4gICAgX3N1cHBvcnQ6IGlzSW5kZXhlZERCVmFsaWQoKSxcbiAgICBpdGVyYXRlOiBpdGVyYXRlLFxuICAgIGdldEl0ZW06IGdldEl0ZW0sXG4gICAgc2V0SXRlbTogc2V0SXRlbSxcbiAgICByZW1vdmVJdGVtOiByZW1vdmVJdGVtLFxuICAgIGNsZWFyOiBjbGVhcixcbiAgICBsZW5ndGg6IGxlbmd0aCxcbiAgICBrZXk6IGtleSxcbiAgICBrZXlzOiBrZXlzLFxuICAgIGRyb3BJbnN0YW5jZTogZHJvcEluc3RhbmNlXG59O1xuXG5mdW5jdGlvbiBpc1dlYlNRTFZhbGlkKCkge1xuICAgIHJldHVybiB0eXBlb2Ygb3BlbkRhdGFiYXNlID09PSAnZnVuY3Rpb24nO1xufVxuXG4vLyBTYWRseSwgdGhlIGJlc3Qgd2F5IHRvIHNhdmUgYmluYXJ5IGRhdGEgaW4gV2ViU1FML2xvY2FsU3RvcmFnZSBpcyBzZXJpYWxpemluZ1xuLy8gaXQgdG8gQmFzZTY0LCBzbyB0aGlzIGlzIGhvdyB3ZSBzdG9yZSBpdCB0byBwcmV2ZW50IHZlcnkgc3RyYW5nZSBlcnJvcnMgd2l0aCBsZXNzXG4vLyB2ZXJib3NlIHdheXMgb2YgYmluYXJ5IDwtPiBzdHJpbmcgZGF0YSBzdG9yYWdlLlxudmFyIEJBU0VfQ0hBUlMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7XG5cbnZhciBCTE9CX1RZUEVfUFJFRklYID0gJ35+bG9jYWxfZm9yYWdlX3R5cGV+JztcbnZhciBCTE9CX1RZUEVfUFJFRklYX1JFR0VYID0gL15+fmxvY2FsX2ZvcmFnZV90eXBlfihbXn5dKyl+LztcblxudmFyIFNFUklBTElaRURfTUFSS0VSID0gJ19fbGZzY19fOic7XG52YXIgU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIID0gU0VSSUFMSVpFRF9NQVJLRVIubGVuZ3RoO1xuXG4vLyBPTUcgdGhlIHNlcmlhbGl6YXRpb25zIVxudmFyIFRZUEVfQVJSQVlCVUZGRVIgPSAnYXJiZic7XG52YXIgVFlQRV9CTE9CID0gJ2Jsb2InO1xudmFyIFRZUEVfSU5UOEFSUkFZID0gJ3NpMDgnO1xudmFyIFRZUEVfVUlOVDhBUlJBWSA9ICd1aTA4JztcbnZhciBUWVBFX1VJTlQ4Q0xBTVBFREFSUkFZID0gJ3VpYzgnO1xudmFyIFRZUEVfSU5UMTZBUlJBWSA9ICdzaTE2JztcbnZhciBUWVBFX0lOVDMyQVJSQVkgPSAnc2kzMic7XG52YXIgVFlQRV9VSU5UMTZBUlJBWSA9ICd1cjE2JztcbnZhciBUWVBFX1VJTlQzMkFSUkFZID0gJ3VpMzInO1xudmFyIFRZUEVfRkxPQVQzMkFSUkFZID0gJ2ZsMzInO1xudmFyIFRZUEVfRkxPQVQ2NEFSUkFZID0gJ2ZsNjQnO1xudmFyIFRZUEVfU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIID0gU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIICsgVFlQRV9BUlJBWUJVRkZFUi5sZW5ndGg7XG5cbnZhciB0b1N0cmluZyQxID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuZnVuY3Rpb24gc3RyaW5nVG9CdWZmZXIoc2VyaWFsaXplZFN0cmluZykge1xuICAgIC8vIEZpbGwgdGhlIHN0cmluZyBpbnRvIGEgQXJyYXlCdWZmZXIuXG4gICAgdmFyIGJ1ZmZlckxlbmd0aCA9IHNlcmlhbGl6ZWRTdHJpbmcubGVuZ3RoICogMC43NTtcbiAgICB2YXIgbGVuID0gc2VyaWFsaXplZFN0cmluZy5sZW5ndGg7XG4gICAgdmFyIGk7XG4gICAgdmFyIHAgPSAwO1xuICAgIHZhciBlbmNvZGVkMSwgZW5jb2RlZDIsIGVuY29kZWQzLCBlbmNvZGVkNDtcblxuICAgIGlmIChzZXJpYWxpemVkU3RyaW5nW3NlcmlhbGl6ZWRTdHJpbmcubGVuZ3RoIC0gMV0gPT09ICc9Jykge1xuICAgICAgICBidWZmZXJMZW5ndGgtLTtcbiAgICAgICAgaWYgKHNlcmlhbGl6ZWRTdHJpbmdbc2VyaWFsaXplZFN0cmluZy5sZW5ndGggLSAyXSA9PT0gJz0nKSB7XG4gICAgICAgICAgICBidWZmZXJMZW5ndGgtLTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhciBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoYnVmZmVyTGVuZ3RoKTtcbiAgICB2YXIgYnl0ZXMgPSBuZXcgVWludDhBcnJheShidWZmZXIpO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgICAgIGVuY29kZWQxID0gQkFTRV9DSEFSUy5pbmRleE9mKHNlcmlhbGl6ZWRTdHJpbmdbaV0pO1xuICAgICAgICBlbmNvZGVkMiA9IEJBU0VfQ0hBUlMuaW5kZXhPZihzZXJpYWxpemVkU3RyaW5nW2kgKyAxXSk7XG4gICAgICAgIGVuY29kZWQzID0gQkFTRV9DSEFSUy5pbmRleE9mKHNlcmlhbGl6ZWRTdHJpbmdbaSArIDJdKTtcbiAgICAgICAgZW5jb2RlZDQgPSBCQVNFX0NIQVJTLmluZGV4T2Yoc2VyaWFsaXplZFN0cmluZ1tpICsgM10pO1xuXG4gICAgICAgIC8qanNsaW50IGJpdHdpc2U6IHRydWUgKi9cbiAgICAgICAgYnl0ZXNbcCsrXSA9IGVuY29kZWQxIDw8IDIgfCBlbmNvZGVkMiA+PiA0O1xuICAgICAgICBieXRlc1twKytdID0gKGVuY29kZWQyICYgMTUpIDw8IDQgfCBlbmNvZGVkMyA+PiAyO1xuICAgICAgICBieXRlc1twKytdID0gKGVuY29kZWQzICYgMykgPDwgNiB8IGVuY29kZWQ0ICYgNjM7XG4gICAgfVxuICAgIHJldHVybiBidWZmZXI7XG59XG5cbi8vIENvbnZlcnRzIGEgYnVmZmVyIHRvIGEgc3RyaW5nIHRvIHN0b3JlLCBzZXJpYWxpemVkLCBpbiB0aGUgYmFja2VuZFxuLy8gc3RvcmFnZSBsaWJyYXJ5LlxuZnVuY3Rpb24gYnVmZmVyVG9TdHJpbmcoYnVmZmVyKSB7XG4gICAgLy8gYmFzZTY0LWFycmF5YnVmZmVyXG4gICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTtcbiAgICB2YXIgYmFzZTY0U3RyaW5nID0gJyc7XG4gICAgdmFyIGk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpICs9IDMpIHtcbiAgICAgICAgLypqc2xpbnQgYml0d2lzZTogdHJ1ZSAqL1xuICAgICAgICBiYXNlNjRTdHJpbmcgKz0gQkFTRV9DSEFSU1tieXRlc1tpXSA+PiAyXTtcbiAgICAgICAgYmFzZTY0U3RyaW5nICs9IEJBU0VfQ0hBUlNbKGJ5dGVzW2ldICYgMykgPDwgNCB8IGJ5dGVzW2kgKyAxXSA+PiA0XTtcbiAgICAgICAgYmFzZTY0U3RyaW5nICs9IEJBU0VfQ0hBUlNbKGJ5dGVzW2kgKyAxXSAmIDE1KSA8PCAyIHwgYnl0ZXNbaSArIDJdID4+IDZdO1xuICAgICAgICBiYXNlNjRTdHJpbmcgKz0gQkFTRV9DSEFSU1tieXRlc1tpICsgMl0gJiA2M107XG4gICAgfVxuXG4gICAgaWYgKGJ5dGVzLmxlbmd0aCAlIDMgPT09IDIpIHtcbiAgICAgICAgYmFzZTY0U3RyaW5nID0gYmFzZTY0U3RyaW5nLnN1YnN0cmluZygwLCBiYXNlNjRTdHJpbmcubGVuZ3RoIC0gMSkgKyAnPSc7XG4gICAgfSBlbHNlIGlmIChieXRlcy5sZW5ndGggJSAzID09PSAxKSB7XG4gICAgICAgIGJhc2U2NFN0cmluZyA9IGJhc2U2NFN0cmluZy5zdWJzdHJpbmcoMCwgYmFzZTY0U3RyaW5nLmxlbmd0aCAtIDIpICsgJz09JztcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZTY0U3RyaW5nO1xufVxuXG4vLyBTZXJpYWxpemUgYSB2YWx1ZSwgYWZ0ZXJ3YXJkcyBleGVjdXRpbmcgYSBjYWxsYmFjayAod2hpY2ggdXN1YWxseVxuLy8gaW5zdHJ1Y3RzIHRoZSBgc2V0SXRlbSgpYCBjYWxsYmFjay9wcm9taXNlIHRvIGJlIGV4ZWN1dGVkKS4gVGhpcyBpcyBob3dcbi8vIHdlIHN0b3JlIGJpbmFyeSBkYXRhIHdpdGggbG9jYWxTdG9yYWdlLlxuZnVuY3Rpb24gc2VyaWFsaXplKHZhbHVlLCBjYWxsYmFjaykge1xuICAgIHZhciB2YWx1ZVR5cGUgPSAnJztcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdmFsdWVUeXBlID0gdG9TdHJpbmckMS5jYWxsKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBDYW5ub3QgdXNlIGB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyYCBvciBzdWNoIGhlcmUsIGFzIHRoZXNlXG4gICAgLy8gY2hlY2tzIGZhaWwgd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyB1c2luZyBjYXNwZXIuanMuLi5cbiAgICAvL1xuICAgIC8vIFRPRE86IFNlZSB3aHkgdGhvc2UgdGVzdHMgZmFpbCBhbmQgdXNlIGEgYmV0dGVyIHNvbHV0aW9uLlxuICAgIGlmICh2YWx1ZSAmJiAodmFsdWVUeXBlID09PSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nIHx8IHZhbHVlLmJ1ZmZlciAmJiB0b1N0cmluZyQxLmNhbGwodmFsdWUuYnVmZmVyKSA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJykpIHtcbiAgICAgICAgLy8gQ29udmVydCBiaW5hcnkgYXJyYXlzIHRvIGEgc3RyaW5nIGFuZCBwcmVmaXggdGhlIHN0cmluZyB3aXRoXG4gICAgICAgIC8vIGEgc3BlY2lhbCBtYXJrZXIuXG4gICAgICAgIHZhciBidWZmZXI7XG4gICAgICAgIHZhciBtYXJrZXIgPSBTRVJJQUxJWkVEX01BUktFUjtcblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xuICAgICAgICAgICAgYnVmZmVyID0gdmFsdWU7XG4gICAgICAgICAgICBtYXJrZXIgKz0gVFlQRV9BUlJBWUJVRkZFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJ1ZmZlciA9IHZhbHVlLmJ1ZmZlcjtcblxuICAgICAgICAgICAgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgSW50OEFycmF5XScpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXIgKz0gVFlQRV9JTlQ4QVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgVWludDhBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfVUlOVDhBUlJBWTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWVUeXBlID09PSAnW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfVUlOVDhDTEFNUEVEQVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgSW50MTZBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfSU5UMTZBUlJBWTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWVUeXBlID09PSAnW29iamVjdCBVaW50MTZBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfVUlOVDE2QVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgSW50MzJBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfSU5UMzJBUlJBWTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWVUeXBlID09PSAnW29iamVjdCBVaW50MzJBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfVUlOVDMyQVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgRmxvYXQzMkFycmF5XScpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXIgKz0gVFlQRV9GTE9BVDMyQVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgRmxvYXQ2NEFycmF5XScpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXIgKz0gVFlQRV9GTE9BVDY0QVJSQVk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcignRmFpbGVkIHRvIGdldCB0eXBlIGZvciBCaW5hcnlBcnJheScpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNhbGxiYWNrKG1hcmtlciArIGJ1ZmZlclRvU3RyaW5nKGJ1ZmZlcikpO1xuICAgIH0gZWxzZSBpZiAodmFsdWVUeXBlID09PSAnW29iamVjdCBCbG9iXScpIHtcbiAgICAgICAgLy8gQ29udmVyIHRoZSBibG9iIHRvIGEgYmluYXJ5QXJyYXkgYW5kIHRoZW4gdG8gYSBzdHJpbmcuXG4gICAgICAgIHZhciBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIEJhY2t3YXJkcy1jb21wYXRpYmxlIHByZWZpeCBmb3IgdGhlIGJsb2IgdHlwZS5cbiAgICAgICAgICAgIHZhciBzdHIgPSBCTE9CX1RZUEVfUFJFRklYICsgdmFsdWUudHlwZSArICd+JyArIGJ1ZmZlclRvU3RyaW5nKHRoaXMucmVzdWx0KTtcblxuICAgICAgICAgICAgY2FsbGJhY2soU0VSSUFMSVpFRF9NQVJLRVIgKyBUWVBFX0JMT0IgKyBzdHIpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGZpbGVSZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjYWxsYmFjayhKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiQ291bGRuJ3QgY29udmVydCB2YWx1ZSBpbnRvIGEgSlNPTiBzdHJpbmc6IFwiLCB2YWx1ZSk7XG5cbiAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBEZXNlcmlhbGl6ZSBkYXRhIHdlJ3ZlIGluc2VydGVkIGludG8gYSB2YWx1ZSBjb2x1bW4vZmllbGQuIFdlIHBsYWNlXG4vLyBzcGVjaWFsIG1hcmtlcnMgaW50byBvdXIgc3RyaW5ncyB0byBtYXJrIHRoZW0gYXMgZW5jb2RlZDsgdGhpcyBpc24ndFxuLy8gYXMgbmljZSBhcyBhIG1ldGEgZmllbGQsIGJ1dCBpdCdzIHRoZSBvbmx5IHNhbmUgdGhpbmcgd2UgY2FuIGRvIHdoaWxzdFxuLy8ga2VlcGluZyBsb2NhbFN0b3JhZ2Ugc3VwcG9ydCBpbnRhY3QuXG4vL1xuLy8gT2Z0ZW50aW1lcyB0aGlzIHdpbGwganVzdCBkZXNlcmlhbGl6ZSBKU09OIGNvbnRlbnQsIGJ1dCBpZiB3ZSBoYXZlIGFcbi8vIHNwZWNpYWwgbWFya2VyIChTRVJJQUxJWkVEX01BUktFUiwgZGVmaW5lZCBhYm92ZSksIHdlIHdpbGwgZXh0cmFjdFxuLy8gc29tZSBraW5kIG9mIGFycmF5YnVmZmVyL2JpbmFyeSBkYXRhL3R5cGVkIGFycmF5IG91dCBvZiB0aGUgc3RyaW5nLlxuZnVuY3Rpb24gZGVzZXJpYWxpemUodmFsdWUpIHtcbiAgICAvLyBJZiB3ZSBoYXZlbid0IG1hcmtlZCB0aGlzIHN0cmluZyBhcyBiZWluZyBzcGVjaWFsbHkgc2VyaWFsaXplZCAoaS5lLlxuICAgIC8vIHNvbWV0aGluZyBvdGhlciB0aGFuIHNlcmlhbGl6ZWQgSlNPTiksIHdlIGNhbiBqdXN0IHJldHVybiBpdCBhbmQgYmVcbiAgICAvLyBkb25lIHdpdGggaXQuXG4gICAgaWYgKHZhbHVlLnN1YnN0cmluZygwLCBTRVJJQUxJWkVEX01BUktFUl9MRU5HVEgpICE9PSBTRVJJQUxJWkVEX01BUktFUikge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIGRlYWxzIHdpdGggZGVzZXJpYWxpemluZyBzb21lIGtpbmQgb2YgQmxvYiBvclxuICAgIC8vIFR5cGVkQXJyYXkuIEZpcnN0IHdlIHNlcGFyYXRlIG91dCB0aGUgdHlwZSBvZiBkYXRhIHdlJ3JlIGRlYWxpbmdcbiAgICAvLyB3aXRoIGZyb20gdGhlIGRhdGEgaXRzZWxmLlxuICAgIHZhciBzZXJpYWxpemVkU3RyaW5nID0gdmFsdWUuc3Vic3RyaW5nKFRZUEVfU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIKTtcbiAgICB2YXIgdHlwZSA9IHZhbHVlLnN1YnN0cmluZyhTRVJJQUxJWkVEX01BUktFUl9MRU5HVEgsIFRZUEVfU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIKTtcblxuICAgIHZhciBibG9iVHlwZTtcbiAgICAvLyBCYWNrd2FyZHMtY29tcGF0aWJsZSBibG9iIHR5cGUgc2VyaWFsaXphdGlvbiBzdHJhdGVneS5cbiAgICAvLyBEQnMgY3JlYXRlZCB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGxvY2FsRm9yYWdlIHdpbGwgc2ltcGx5IG5vdCBoYXZlIHRoZSBibG9iIHR5cGUuXG4gICAgaWYgKHR5cGUgPT09IFRZUEVfQkxPQiAmJiBCTE9CX1RZUEVfUFJFRklYX1JFR0VYLnRlc3Qoc2VyaWFsaXplZFN0cmluZykpIHtcbiAgICAgICAgdmFyIG1hdGNoZXIgPSBzZXJpYWxpemVkU3RyaW5nLm1hdGNoKEJMT0JfVFlQRV9QUkVGSVhfUkVHRVgpO1xuICAgICAgICBibG9iVHlwZSA9IG1hdGNoZXJbMV07XG4gICAgICAgIHNlcmlhbGl6ZWRTdHJpbmcgPSBzZXJpYWxpemVkU3RyaW5nLnN1YnN0cmluZyhtYXRjaGVyWzBdLmxlbmd0aCk7XG4gICAgfVxuICAgIHZhciBidWZmZXIgPSBzdHJpbmdUb0J1ZmZlcihzZXJpYWxpemVkU3RyaW5nKTtcblxuICAgIC8vIFJldHVybiB0aGUgcmlnaHQgdHlwZSBiYXNlZCBvbiB0aGUgY29kZS90eXBlIHNldCBkdXJpbmdcbiAgICAvLyBzZXJpYWxpemF0aW9uLlxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFRZUEVfQVJSQVlCVUZGRVI6XG4gICAgICAgICAgICByZXR1cm4gYnVmZmVyO1xuICAgICAgICBjYXNlIFRZUEVfQkxPQjpcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVCbG9iKFtidWZmZXJdLCB7IHR5cGU6IGJsb2JUeXBlIH0pO1xuICAgICAgICBjYXNlIFRZUEVfSU5UOEFSUkFZOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnQ4QXJyYXkoYnVmZmVyKTtcbiAgICAgICAgY2FzZSBUWVBFX1VJTlQ4QVJSQVk6XG4gICAgICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTtcbiAgICAgICAgY2FzZSBUWVBFX1VJTlQ4Q0xBTVBFREFSUkFZOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBVaW50OENsYW1wZWRBcnJheShidWZmZXIpO1xuICAgICAgICBjYXNlIFRZUEVfSU5UMTZBUlJBWTpcbiAgICAgICAgICAgIHJldHVybiBuZXcgSW50MTZBcnJheShidWZmZXIpO1xuICAgICAgICBjYXNlIFRZUEVfVUlOVDE2QVJSQVk6XG4gICAgICAgICAgICByZXR1cm4gbmV3IFVpbnQxNkFycmF5KGJ1ZmZlcik7XG4gICAgICAgIGNhc2UgVFlQRV9JTlQzMkFSUkFZOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnQzMkFycmF5KGJ1ZmZlcik7XG4gICAgICAgIGNhc2UgVFlQRV9VSU5UMzJBUlJBWTpcbiAgICAgICAgICAgIHJldHVybiBuZXcgVWludDMyQXJyYXkoYnVmZmVyKTtcbiAgICAgICAgY2FzZSBUWVBFX0ZMT0FUMzJBUlJBWTpcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQzMkFycmF5KGJ1ZmZlcik7XG4gICAgICAgIGNhc2UgVFlQRV9GTE9BVDY0QVJSQVk6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZsb2F0NjRBcnJheShidWZmZXIpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtvd24gdHlwZTogJyArIHR5cGUpO1xuICAgIH1cbn1cblxudmFyIGxvY2FsZm9yYWdlU2VyaWFsaXplciA9IHtcbiAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZSxcbiAgICBkZXNlcmlhbGl6ZTogZGVzZXJpYWxpemUsXG4gICAgc3RyaW5nVG9CdWZmZXI6IHN0cmluZ1RvQnVmZmVyLFxuICAgIGJ1ZmZlclRvU3RyaW5nOiBidWZmZXJUb1N0cmluZ1xufTtcblxuLypcbiAqIEluY2x1ZGVzIGNvZGUgZnJvbTpcbiAqXG4gKiBiYXNlNjQtYXJyYXlidWZmZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWtsYXN2aC9iYXNlNjQtYXJyYXlidWZmZXJcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTIgTmlrbGFzIHZvbiBIZXJ0emVuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlRGJUYWJsZSh0LCBkYkluZm8sIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSB7XG4gICAgdC5leGVjdXRlU3FsKCdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyAnICsgZGJJbmZvLnN0b3JlTmFtZSArICcgJyArICcoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwga2V5IHVuaXF1ZSwgdmFsdWUpJywgW10sIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTtcbn1cblxuLy8gT3BlbiB0aGUgV2ViU1FMIGRhdGFiYXNlIChhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgb25lIGlmIG9uZSBkaWRuJ3Rcbi8vIHByZXZpb3VzbHkgZXhpc3QpLCB1c2luZyBhbnkgb3B0aW9ucyBzZXQgaW4gdGhlIGNvbmZpZy5cbmZ1bmN0aW9uIF9pbml0U3RvcmFnZSQxKG9wdGlvbnMpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGRiSW5mbyA9IHtcbiAgICAgICAgZGI6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgZm9yICh2YXIgaSBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgICBkYkluZm9baV0gPSB0eXBlb2Ygb3B0aW9uc1tpXSAhPT0gJ3N0cmluZycgPyBvcHRpb25zW2ldLnRvU3RyaW5nKCkgOiBvcHRpb25zW2ldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGRiSW5mb1Byb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgLy8gT3BlbiB0aGUgZGF0YWJhc2U7IHRoZSBvcGVuRGF0YWJhc2UgQVBJIHdpbGwgYXV0b21hdGljYWxseVxuICAgICAgICAvLyBjcmVhdGUgaXQgZm9yIHVzIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkYkluZm8uZGIgPSBvcGVuRGF0YWJhc2UoZGJJbmZvLm5hbWUsIFN0cmluZyhkYkluZm8udmVyc2lvbiksIGRiSW5mby5kZXNjcmlwdGlvbiwgZGJJbmZvLnNpemUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIG91ciBrZXkvdmFsdWUgdGFibGUgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAgICAgICAgZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICBjcmVhdGVEYlRhYmxlKHQsIGRiSW5mbywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHNlbGYuX2RiSW5mbyA9IGRiSW5mbztcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9LCBmdW5jdGlvbiAodCwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBkYkluZm8uc2VyaWFsaXplciA9IGxvY2FsZm9yYWdlU2VyaWFsaXplcjtcbiAgICByZXR1cm4gZGJJbmZvUHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gdHJ5RXhlY3V0ZVNxbCh0LCBkYkluZm8sIHNxbFN0YXRlbWVudCwgYXJncywgY2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spIHtcbiAgICB0LmV4ZWN1dGVTcWwoc3FsU3RhdGVtZW50LCBhcmdzLCBjYWxsYmFjaywgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvci5jb2RlID09PSBlcnJvci5TWU5UQVhfRVJSKSB7XG4gICAgICAgICAgICB0LmV4ZWN1dGVTcWwoJ1NFTEVDVCBuYW1lIEZST00gc3FsaXRlX21hc3RlciAnICsgXCJXSEVSRSB0eXBlPSd0YWJsZScgQU5EIG5hbWUgPSA/XCIsIFtkYkluZm8uc3RvcmVOYW1lXSwgZnVuY3Rpb24gKHQsIHJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdHMucm93cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIHRhYmxlIGlzIG1pc3NpbmcgKHdhcyBkZWxldGVkKVxuICAgICAgICAgICAgICAgICAgICAvLyByZS1jcmVhdGUgaXQgdGFibGUgYW5kIHJldHJ5XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZURiVGFibGUodCwgZGJJbmZvLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0LmV4ZWN1dGVTcWwoc3FsU3RhdGVtZW50LCBhcmdzLCBjYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGVycm9yQ2FsbGJhY2spO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yQ2FsbGJhY2sodCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIGVycm9yQ2FsbGJhY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3JDYWxsYmFjayh0LCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9LCBlcnJvckNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gZ2V0SXRlbSQxKGtleSwgY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICBrZXkgPSBub3JtYWxpemVLZXkoa2V5KTtcblxuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgICAgICBkYkluZm8uZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgICAgICAgICB0cnlFeGVjdXRlU3FsKHQsIGRiSW5mbywgJ1NFTEVDVCAqIEZST00gJyArIGRiSW5mby5zdG9yZU5hbWUgKyAnIFdIRVJFIGtleSA9ID8gTElNSVQgMScsIFtrZXldLCBmdW5jdGlvbiAodCwgcmVzdWx0cykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0cy5yb3dzLmxlbmd0aCA/IHJlc3VsdHMucm93cy5pdGVtKDApLnZhbHVlIDogbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhpcyBpcyBzZXJpYWxpemVkIGNvbnRlbnQgd2UgbmVlZCB0b1xuICAgICAgICAgICAgICAgICAgICAvLyB1bnBhY2suXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGRiSW5mby5zZXJpYWxpemVyLmRlc2VyaWFsaXplKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gaXRlcmF0ZSQxKGl0ZXJhdG9yLCBjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG5cbiAgICAgICAgICAgIGRiSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgIHRyeUV4ZWN1dGVTcWwodCwgZGJJbmZvLCAnU0VMRUNUICogRlJPTSAnICsgZGJJbmZvLnN0b3JlTmFtZSwgW10sIGZ1bmN0aW9uICh0LCByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByb3dzID0gcmVzdWx0cy5yb3dzO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGVuZ3RoID0gcm93cy5sZW5ndGg7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSByb3dzLml0ZW0oaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gaXRlbS52YWx1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoaXMgaXMgc2VyaWFsaXplZCBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBuZWVkIHRvIHVucGFjay5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBkYkluZm8uc2VyaWFsaXplci5kZXNlcmlhbGl6ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBpdGVyYXRvcihyZXN1bHQsIGl0ZW0ua2V5LCBpICsgMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZvaWQoMCkgcHJldmVudHMgcHJvYmxlbXMgd2l0aCByZWRlZmluaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mIGB1bmRlZmluZWRgLlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbiAodCwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBfc2V0SXRlbShrZXksIHZhbHVlLCBjYWxsYmFjaywgcmV0cmllc0xlZnQpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICBrZXkgPSBub3JtYWxpemVLZXkoa2V5KTtcblxuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIFRoZSBsb2NhbFN0b3JhZ2UgQVBJIGRvZXNuJ3QgcmV0dXJuIHVuZGVmaW5lZCB2YWx1ZXMgaW4gYW5cbiAgICAgICAgICAgIC8vIFwiZXhwZWN0ZWRcIiB3YXksIHNvIHVuZGVmaW5lZCBpcyBhbHdheXMgY2FzdCB0byBudWxsIGluIGFsbFxuICAgICAgICAgICAgLy8gZHJpdmVycy4gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9sb2NhbEZvcmFnZS9wdWxsLzQyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2F2ZSB0aGUgb3JpZ2luYWwgdmFsdWUgdG8gcGFzcyB0byB0aGUgY2FsbGJhY2suXG4gICAgICAgICAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgICAgICB2YXIgZGJJbmZvID0gc2VsZi5fZGJJbmZvO1xuICAgICAgICAgICAgZGJJbmZvLnNlcmlhbGl6ZXIuc2VyaWFsaXplKHZhbHVlLCBmdW5jdGlvbiAodmFsdWUsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnlFeGVjdXRlU3FsKHQsIGRiSW5mbywgJ0lOU0VSVCBPUiBSRVBMQUNFIElOVE8gJyArIGRiSW5mby5zdG9yZU5hbWUgKyAnICcgKyAnKGtleSwgdmFsdWUpIFZBTFVFUyAoPywgPyknLCBba2V5LCB2YWx1ZV0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG9yaWdpbmFsVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbiAoc3FsRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSB0cmFuc2FjdGlvbiBmYWlsZWQ7IGNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0byBzZWUgaWYgaXQncyBhIHF1b3RhIGVycm9yLlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNxbEVycm9yLmNvZGUgPT09IHNxbEVycm9yLlFVT1RBX0VSUikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIHJlamVjdCB0aGUgY2FsbGJhY2sgb3V0cmlnaHQgZm9yIG5vdywgYnV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXQncyB3b3J0aCB0cnlpbmcgdG8gcmUtcnVuIHRoZSB0cmFuc2FjdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFdmVuIGlmIHRoZSB1c2VyIGFjY2VwdHMgdGhlIHByb21wdCB0byB1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtb3JlIHN0b3JhZ2Ugb24gU2FmYXJpLCB0aGlzIGVycm9yIHdpbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZSBjYWxsZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcnkgdG8gcmUtcnVuIHRoZSB0cmFuc2FjdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0cmllc0xlZnQgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoX3NldEl0ZW0uYXBwbHkoc2VsZiwgW2tleSwgb3JpZ2luYWxWYWx1ZSwgY2FsbGJhY2ssIHJldHJpZXNMZWZ0IC0gMV0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3Qoc3FsRXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gc2V0SXRlbSQxKGtleSwgdmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIF9zZXRJdGVtLmFwcGx5KHRoaXMsIFtrZXksIHZhbHVlLCBjYWxsYmFjaywgMV0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJdGVtJDEoa2V5LCBjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIGtleSA9IG5vcm1hbGl6ZUtleShrZXkpO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRiSW5mbyA9IHNlbGYuX2RiSW5mbztcbiAgICAgICAgICAgIGRiSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgIHRyeUV4ZWN1dGVTcWwodCwgZGJJbmZvLCAnREVMRVRFIEZST00gJyArIGRiSW5mby5zdG9yZU5hbWUgKyAnIFdIRVJFIGtleSA9ID8nLCBba2V5XSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gRGVsZXRlcyBldmVyeSBpdGVtIGluIHRoZSB0YWJsZS5cbi8vIFRPRE86IEZpbmQgb3V0IGlmIHRoaXMgcmVzZXRzIHRoZSBBVVRPX0lOQ1JFTUVOVCBudW1iZXIuXG5mdW5jdGlvbiBjbGVhciQxKGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRiSW5mbyA9IHNlbGYuX2RiSW5mbztcbiAgICAgICAgICAgIGRiSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgIHRyeUV4ZWN1dGVTcWwodCwgZGJJbmZvLCAnREVMRVRFIEZST00gJyArIGRiSW5mby5zdG9yZU5hbWUsIFtdLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbiAodCwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG4vLyBEb2VzIGEgc2ltcGxlIGBDT1VOVChrZXkpYCB0byBnZXQgdGhlIG51bWJlciBvZiBpdGVtcyBzdG9yZWQgaW5cbi8vIGxvY2FsRm9yYWdlLlxuZnVuY3Rpb24gbGVuZ3RoJDEoY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZGJJbmZvID0gc2VsZi5fZGJJbmZvO1xuICAgICAgICAgICAgZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICAgICAgLy8gQWhoaCwgU1FMIG1ha2VzIHRoaXMgb25lIHNvb29vb28gZWFzeS5cbiAgICAgICAgICAgICAgICB0cnlFeGVjdXRlU3FsKHQsIGRiSW5mbywgJ1NFTEVDVCBDT1VOVChrZXkpIGFzIGMgRlJPTSAnICsgZGJJbmZvLnN0b3JlTmFtZSwgW10sIGZ1bmN0aW9uICh0LCByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSByZXN1bHRzLnJvd3MuaXRlbSgwKS5jO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gUmV0dXJuIHRoZSBrZXkgbG9jYXRlZCBhdCBrZXkgaW5kZXggWDsgZXNzZW50aWFsbHkgZ2V0cyB0aGUga2V5IGZyb20gYVxuLy8gYFdIRVJFIGlkID0gP2AuIFRoaXMgaXMgdGhlIG1vc3QgZWZmaWNpZW50IHdheSBJIGNhbiB0aGluayB0byBpbXBsZW1lbnRcbi8vIHRoaXMgcmFyZWx5LXVzZWQgKGluIG15IGV4cGVyaWVuY2UpIHBhcnQgb2YgdGhlIEFQSSwgYnV0IGl0IGNhbiBzZWVtXG4vLyBpbmNvbnNpc3RlbnQsIGJlY2F1c2Ugd2UgZG8gYElOU0VSVCBPUiBSRVBMQUNFIElOVE9gIG9uIGBzZXRJdGVtKClgLCBzb1xuLy8gdGhlIElEIG9mIGVhY2gga2V5IHdpbGwgY2hhbmdlIGV2ZXJ5IHRpbWUgaXQncyB1cGRhdGVkLiBQZXJoYXBzIGEgc3RvcmVkXG4vLyBwcm9jZWR1cmUgZm9yIHRoZSBgc2V0SXRlbSgpYCBTUUwgd291bGQgc29sdmUgdGhpcyBwcm9ibGVtP1xuLy8gVE9ETzogRG9uJ3QgY2hhbmdlIElEIG9uIGBzZXRJdGVtKClgLlxuZnVuY3Rpb24ga2V5JDEobiwgY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZGJJbmZvID0gc2VsZi5fZGJJbmZvO1xuICAgICAgICAgICAgZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICAgICAgdHJ5RXhlY3V0ZVNxbCh0LCBkYkluZm8sICdTRUxFQ1Qga2V5IEZST00gJyArIGRiSW5mby5zdG9yZU5hbWUgKyAnIFdIRVJFIGlkID0gPyBMSU1JVCAxJywgW24gKyAxXSwgZnVuY3Rpb24gKHQsIHJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHJlc3VsdHMucm93cy5sZW5ndGggPyByZXN1bHRzLnJvd3MuaXRlbSgwKS5rZXkgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24ga2V5cyQxKGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRiSW5mbyA9IHNlbGYuX2RiSW5mbztcbiAgICAgICAgICAgIGRiSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgIHRyeUV4ZWN1dGVTcWwodCwgZGJJbmZvLCAnU0VMRUNUIGtleSBGUk9NICcgKyBkYkluZm8uc3RvcmVOYW1lLCBbXSwgZnVuY3Rpb24gKHQsIHJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGtleXMgPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdHMucm93cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5cy5wdXNoKHJlc3VsdHMucm93cy5pdGVtKGkpLmtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGtleXMpO1xuICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uICh0LCBlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pW1wiY2F0Y2hcIl0ocmVqZWN0KTtcbiAgICB9KTtcblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbi8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJkYXRhYmFzZS8jZGF0YWJhc2VzXG4vLyA+IFRoZXJlIGlzIG5vIHdheSB0byBlbnVtZXJhdGUgb3IgZGVsZXRlIHRoZSBkYXRhYmFzZXMgYXZhaWxhYmxlIGZvciBhbiBvcmlnaW4gZnJvbSB0aGlzIEFQSS5cbmZ1bmN0aW9uIGdldEFsbFN0b3JlTmFtZXMoZGIpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICB0LmV4ZWN1dGVTcWwoJ1NFTEVDVCBuYW1lIEZST00gc3FsaXRlX21hc3RlciAnICsgXCJXSEVSRSB0eXBlPSd0YWJsZScgQU5EIG5hbWUgPD4gJ19fV2ViS2l0RGF0YWJhc2VJbmZvVGFibGVfXydcIiwgW10sIGZ1bmN0aW9uICh0LCByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgdmFyIHN0b3JlTmFtZXMgPSBbXTtcblxuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5yb3dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0b3JlTmFtZXMucHVzaChyZXN1bHRzLnJvd3MuaXRlbShpKS5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgZGI6IGRiLFxuICAgICAgICAgICAgICAgICAgICBzdG9yZU5hbWVzOiBzdG9yZU5hbWVzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LCBmdW5jdGlvbiAodCwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIGZ1bmN0aW9uIChzcWxFcnJvcikge1xuICAgICAgICAgICAgcmVqZWN0KHNxbEVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGRyb3BJbnN0YW5jZSQxKG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgY2FsbGJhY2sgPSBnZXRDYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXG4gICAgdmFyIGN1cnJlbnRDb25maWcgPSB0aGlzLmNvbmZpZygpO1xuICAgIG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zIHx8IHt9O1xuICAgIGlmICghb3B0aW9ucy5uYW1lKSB7XG4gICAgICAgIG9wdGlvbnMubmFtZSA9IG9wdGlvbnMubmFtZSB8fCBjdXJyZW50Q29uZmlnLm5hbWU7XG4gICAgICAgIG9wdGlvbnMuc3RvcmVOYW1lID0gb3B0aW9ucy5zdG9yZU5hbWUgfHwgY3VycmVudENvbmZpZy5zdG9yZU5hbWU7XG4gICAgfVxuXG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIHZhciBwcm9taXNlO1xuICAgIGlmICghb3B0aW9ucy5uYW1lKSB7XG4gICAgICAgIHByb21pc2UgPSBQcm9taXNlJDEucmVqZWN0KCdJbnZhbGlkIGFyZ3VtZW50cycpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgICB2YXIgZGI7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5uYW1lID09PSBjdXJyZW50Q29uZmlnLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAvLyB1c2UgdGhlIGRiIHJlZmVyZW5jZSBvZiB0aGUgY3VycmVudCBpbnN0YW5jZVxuICAgICAgICAgICAgICAgIGRiID0gc2VsZi5fZGJJbmZvLmRiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZShvcHRpb25zLm5hbWUsICcnLCAnJywgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghb3B0aW9ucy5zdG9yZU5hbWUpIHtcbiAgICAgICAgICAgICAgICAvLyBkcm9wIGFsbCBkYXRhYmFzZSB0YWJsZXNcbiAgICAgICAgICAgICAgICByZXNvbHZlKGdldEFsbFN0b3JlTmFtZXMoZGIpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgICAgIGRiOiBkYixcbiAgICAgICAgICAgICAgICAgICAgc3RvcmVOYW1lczogW29wdGlvbnMuc3RvcmVOYW1lXVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChvcGVyYXRpb25JbmZvKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkcm9wVGFibGUoc3RvcmVOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdC5leGVjdXRlU3FsKCdEUk9QIFRBQkxFIElGIEVYSVNUUyAnICsgc3RvcmVOYW1lLCBbXSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHZhciBvcGVyYXRpb25zID0gW107XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBvcGVyYXRpb25JbmZvLnN0b3JlTmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbnMucHVzaChkcm9wVGFibGUob3BlcmF0aW9uSW5mby5zdG9yZU5hbWVzW2ldKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBQcm9taXNlJDEuYWxsKG9wZXJhdGlvbnMpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9KVtcImNhdGNoXCJdKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChzcWxFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3Qoc3FsRXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbnZhciB3ZWJTUUxTdG9yYWdlID0ge1xuICAgIF9kcml2ZXI6ICd3ZWJTUUxTdG9yYWdlJyxcbiAgICBfaW5pdFN0b3JhZ2U6IF9pbml0U3RvcmFnZSQxLFxuICAgIF9zdXBwb3J0OiBpc1dlYlNRTFZhbGlkKCksXG4gICAgaXRlcmF0ZTogaXRlcmF0ZSQxLFxuICAgIGdldEl0ZW06IGdldEl0ZW0kMSxcbiAgICBzZXRJdGVtOiBzZXRJdGVtJDEsXG4gICAgcmVtb3ZlSXRlbTogcmVtb3ZlSXRlbSQxLFxuICAgIGNsZWFyOiBjbGVhciQxLFxuICAgIGxlbmd0aDogbGVuZ3RoJDEsXG4gICAga2V5OiBrZXkkMSxcbiAgICBrZXlzOiBrZXlzJDEsXG4gICAgZHJvcEluc3RhbmNlOiBkcm9wSW5zdGFuY2UkMVxufTtcblxuZnVuY3Rpb24gaXNMb2NhbFN0b3JhZ2VWYWxpZCgpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGxvY2FsU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCcgJiYgJ3NldEl0ZW0nIGluIGxvY2FsU3RvcmFnZSAmJlxuICAgICAgICAvLyBpbiBJRTggdHlwZW9mIGxvY2FsU3RvcmFnZS5zZXRJdGVtID09PSAnb2JqZWN0J1xuICAgICAgICAhIWxvY2FsU3RvcmFnZS5zZXRJdGVtO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gX2dldEtleVByZWZpeChvcHRpb25zLCBkZWZhdWx0Q29uZmlnKSB7XG4gICAgdmFyIGtleVByZWZpeCA9IG9wdGlvbnMubmFtZSArICcvJztcblxuICAgIGlmIChvcHRpb25zLnN0b3JlTmFtZSAhPT0gZGVmYXVsdENvbmZpZy5zdG9yZU5hbWUpIHtcbiAgICAgICAga2V5UHJlZml4ICs9IG9wdGlvbnMuc3RvcmVOYW1lICsgJy8nO1xuICAgIH1cbiAgICByZXR1cm4ga2V5UHJlZml4O1xufVxuXG4vLyBDaGVjayBpZiBsb2NhbFN0b3JhZ2UgdGhyb3dzIHdoZW4gc2F2aW5nIGFuIGl0ZW1cbmZ1bmN0aW9uIGNoZWNrSWZMb2NhbFN0b3JhZ2VUaHJvd3MoKSB7XG4gICAgdmFyIGxvY2FsU3RvcmFnZVRlc3RLZXkgPSAnX2xvY2FsZm9yYWdlX3N1cHBvcnRfdGVzdCc7XG5cbiAgICB0cnkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0b3JhZ2VUZXN0S2V5LCB0cnVlKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obG9jYWxTdG9yYWdlVGVzdEtleSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG4vLyBDaGVjayBpZiBsb2NhbFN0b3JhZ2UgaXMgdXNhYmxlIGFuZCBhbGxvd3MgdG8gc2F2ZSBhbiBpdGVtXG4vLyBUaGlzIG1ldGhvZCBjaGVja3MgaWYgbG9jYWxTdG9yYWdlIGlzIHVzYWJsZSBpbiBTYWZhcmkgUHJpdmF0ZSBCcm93c2luZ1xuLy8gbW9kZSwgb3IgaW4gYW55IG90aGVyIGNhc2Ugd2hlcmUgdGhlIGF2YWlsYWJsZSBxdW90YSBmb3IgbG9jYWxTdG9yYWdlXG4vLyBpcyAwIGFuZCB0aGVyZSB3YXNuJ3QgYW55IHNhdmVkIGl0ZW1zIHlldC5cbmZ1bmN0aW9uIF9pc0xvY2FsU3RvcmFnZVVzYWJsZSgpIHtcbiAgICByZXR1cm4gIWNoZWNrSWZMb2NhbFN0b3JhZ2VUaHJvd3MoKSB8fCBsb2NhbFN0b3JhZ2UubGVuZ3RoID4gMDtcbn1cblxuLy8gQ29uZmlnIHRoZSBsb2NhbFN0b3JhZ2UgYmFja2VuZCwgdXNpbmcgb3B0aW9ucyBzZXQgaW4gdGhlIGNvbmZpZy5cbmZ1bmN0aW9uIF9pbml0U3RvcmFnZSQyKG9wdGlvbnMpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGRiSW5mbyA9IHt9O1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgIGZvciAodmFyIGkgaW4gb3B0aW9ucykge1xuICAgICAgICAgICAgZGJJbmZvW2ldID0gb3B0aW9uc1tpXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRiSW5mby5rZXlQcmVmaXggPSBfZ2V0S2V5UHJlZml4KG9wdGlvbnMsIHNlbGYuX2RlZmF1bHRDb25maWcpO1xuXG4gICAgaWYgKCFfaXNMb2NhbFN0b3JhZ2VVc2FibGUoKSkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZSQxLnJlamVjdCgpO1xuICAgIH1cblxuICAgIHNlbGYuX2RiSW5mbyA9IGRiSW5mbztcbiAgICBkYkluZm8uc2VyaWFsaXplciA9IGxvY2FsZm9yYWdlU2VyaWFsaXplcjtcblxuICAgIHJldHVybiBQcm9taXNlJDEucmVzb2x2ZSgpO1xufVxuXG4vLyBSZW1vdmUgYWxsIGtleXMgZnJvbSB0aGUgZGF0YXN0b3JlLCBlZmZlY3RpdmVseSBkZXN0cm95aW5nIGFsbCBkYXRhIGluXG4vLyB0aGUgYXBwJ3Mga2V5L3ZhbHVlIHN0b3JlIVxuZnVuY3Rpb24gY2xlYXIkMihjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB2YXIgcHJvbWlzZSA9IHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGtleVByZWZpeCA9IHNlbGYuX2RiSW5mby5rZXlQcmVmaXg7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IGxvY2FsU3RvcmFnZS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgdmFyIGtleSA9IGxvY2FsU3RvcmFnZS5rZXkoaSk7XG5cbiAgICAgICAgICAgIGlmIChrZXkuaW5kZXhPZihrZXlQcmVmaXgpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gUmV0cmlldmUgYW4gaXRlbSBmcm9tIHRoZSBzdG9yZS4gVW5saWtlIHRoZSBvcmlnaW5hbCBhc3luY19zdG9yYWdlXG4vLyBsaWJyYXJ5IGluIEdhaWEsIHdlIGRvbid0IG1vZGlmeSByZXR1cm4gdmFsdWVzIGF0IGFsbC4gSWYgYSBrZXkncyB2YWx1ZVxuLy8gaXMgYHVuZGVmaW5lZGAsIHdlIHBhc3MgdGhhdCB2YWx1ZSB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG5mdW5jdGlvbiBnZXRJdGVtJDIoa2V5LCBjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIGtleSA9IG5vcm1hbGl6ZUtleShrZXkpO1xuXG4gICAgdmFyIHByb21pc2UgPSBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgIHZhciByZXN1bHQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShkYkluZm8ua2V5UHJlZml4ICsga2V5KTtcblxuICAgICAgICAvLyBJZiBhIHJlc3VsdCB3YXMgZm91bmQsIHBhcnNlIGl0IGZyb20gdGhlIHNlcmlhbGl6ZWRcbiAgICAgICAgLy8gc3RyaW5nIGludG8gYSBKUyBvYmplY3QuIElmIHJlc3VsdCBpc24ndCB0cnV0aHksIHRoZSBrZXlcbiAgICAgICAgLy8gaXMgbGlrZWx5IHVuZGVmaW5lZCBhbmQgd2UnbGwgcGFzcyBpdCBzdHJhaWdodCB0byB0aGVcbiAgICAgICAgLy8gY2FsbGJhY2suXG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGRiSW5mby5zZXJpYWxpemVyLmRlc2VyaWFsaXplKHJlc3VsdCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gSXRlcmF0ZSBvdmVyIGFsbCBpdGVtcyBpbiB0aGUgc3RvcmUuXG5mdW5jdGlvbiBpdGVyYXRlJDIoaXRlcmF0b3IsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgIHZhciBrZXlQcmVmaXggPSBkYkluZm8ua2V5UHJlZml4O1xuICAgICAgICB2YXIga2V5UHJlZml4TGVuZ3RoID0ga2V5UHJlZml4Lmxlbmd0aDtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGxvY2FsU3RvcmFnZS5sZW5ndGg7XG5cbiAgICAgICAgLy8gV2UgdXNlIGEgZGVkaWNhdGVkIGl0ZXJhdG9yIGluc3RlYWQgb2YgdGhlIGBpYCB2YXJpYWJsZSBiZWxvd1xuICAgICAgICAvLyBzbyBvdGhlciBrZXlzIHdlIGZldGNoIGluIGxvY2FsU3RvcmFnZSBhcmVuJ3QgY291bnRlZCBpblxuICAgICAgICAvLyB0aGUgYGl0ZXJhdGlvbk51bWJlcmAgYXJndW1lbnQgcGFzc2VkIHRvIHRoZSBgaXRlcmF0ZSgpYFxuICAgICAgICAvLyBjYWxsYmFjay5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gU2VlOiBnaXRodWIuY29tL21vemlsbGEvbG9jYWxGb3JhZ2UvcHVsbC80MzUjZGlzY3Vzc2lvbl9yMzgwNjE1MzBcbiAgICAgICAgdmFyIGl0ZXJhdGlvbk51bWJlciA9IDE7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGtleSA9IGxvY2FsU3RvcmFnZS5rZXkoaSk7XG4gICAgICAgICAgICBpZiAoa2V5LmluZGV4T2Yoa2V5UHJlZml4KSAhPT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcblxuICAgICAgICAgICAgLy8gSWYgYSByZXN1bHQgd2FzIGZvdW5kLCBwYXJzZSBpdCBmcm9tIHRoZSBzZXJpYWxpemVkXG4gICAgICAgICAgICAvLyBzdHJpbmcgaW50byBhIEpTIG9iamVjdC4gSWYgcmVzdWx0IGlzbid0IHRydXRoeSwgdGhlXG4gICAgICAgICAgICAvLyBrZXkgaXMgbGlrZWx5IHVuZGVmaW5lZCBhbmQgd2UnbGwgcGFzcyBpdCBzdHJhaWdodFxuICAgICAgICAgICAgLy8gdG8gdGhlIGl0ZXJhdG9yLlxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBkYkluZm8uc2VyaWFsaXplci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhbHVlID0gaXRlcmF0b3IodmFsdWUsIGtleS5zdWJzdHJpbmcoa2V5UHJlZml4TGVuZ3RoKSwgaXRlcmF0aW9uTnVtYmVyKyspO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gU2FtZSBhcyBsb2NhbFN0b3JhZ2UncyBrZXkoKSBtZXRob2QsIGV4Y2VwdCB0YWtlcyBhIGNhbGxiYWNrLlxuZnVuY3Rpb24ga2V5JDIobiwgY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIHByb21pc2UgPSBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgIHZhciByZXN1bHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHQgPSBsb2NhbFN0b3JhZ2Uua2V5KG4pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB0aGUgcHJlZml4IGZyb20gdGhlIGtleSwgaWYgYSBrZXkgaXMgZm91bmQuXG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdWJzdHJpbmcoZGJJbmZvLmtleVByZWZpeC5sZW5ndGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbmZ1bmN0aW9uIGtleXMkMihjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB2YXIgcHJvbWlzZSA9IHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRiSW5mbyA9IHNlbGYuX2RiSW5mbztcbiAgICAgICAgdmFyIGxlbmd0aCA9IGxvY2FsU3RvcmFnZS5sZW5ndGg7XG4gICAgICAgIHZhciBrZXlzID0gW107XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGl0ZW1LZXkgPSBsb2NhbFN0b3JhZ2Uua2V5KGkpO1xuICAgICAgICAgICAgaWYgKGl0ZW1LZXkuaW5kZXhPZihkYkluZm8ua2V5UHJlZml4KSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGtleXMucHVzaChpdGVtS2V5LnN1YnN0cmluZyhkYkluZm8ua2V5UHJlZml4Lmxlbmd0aCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG4vLyBTdXBwbHkgdGhlIG51bWJlciBvZiBrZXlzIGluIHRoZSBkYXRhc3RvcmUgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuZnVuY3Rpb24gbGVuZ3RoJDIoY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIHByb21pc2UgPSBzZWxmLmtleXMoKS50aGVuKGZ1bmN0aW9uIChrZXlzKSB7XG4gICAgICAgIHJldHVybiBrZXlzLmxlbmd0aDtcbiAgICB9KTtcblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbi8vIFJlbW92ZSBhbiBpdGVtIGZyb20gdGhlIHN0b3JlLCBuaWNlIGFuZCBzaW1wbGUuXG5mdW5jdGlvbiByZW1vdmVJdGVtJDIoa2V5LCBjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIGtleSA9IG5vcm1hbGl6ZUtleShrZXkpO1xuXG4gICAgdmFyIHByb21pc2UgPSBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGRiSW5mby5rZXlQcmVmaXggKyBrZXkpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gU2V0IGEga2V5J3MgdmFsdWUgYW5kIHJ1biBhbiBvcHRpb25hbCBjYWxsYmFjayBvbmNlIHRoZSB2YWx1ZSBpcyBzZXQuXG4vLyBVbmxpa2UgR2FpYSdzIGltcGxlbWVudGF0aW9uLCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSB2YWx1ZSxcbi8vIGluIGNhc2UgeW91IHdhbnQgdG8gb3BlcmF0ZSBvbiB0aGF0IHZhbHVlIG9ubHkgYWZ0ZXIgeW91J3JlIHN1cmUgaXRcbi8vIHNhdmVkLCBvciBzb21ldGhpbmcgbGlrZSB0aGF0LlxuZnVuY3Rpb24gc2V0SXRlbSQyKGtleSwgdmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAga2V5ID0gbm9ybWFsaXplS2V5KGtleSk7XG5cbiAgICB2YXIgcHJvbWlzZSA9IHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gQ29udmVydCB1bmRlZmluZWQgdmFsdWVzIHRvIG51bGwuXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2xvY2FsRm9yYWdlL3B1bGwvNDJcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNhdmUgdGhlIG9yaWdpbmFsIHZhbHVlIHRvIHBhc3MgdG8gdGhlIGNhbGxiYWNrLlxuICAgICAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgICAgICBkYkluZm8uc2VyaWFsaXplci5zZXJpYWxpemUodmFsdWUsIGZ1bmN0aW9uICh2YWx1ZSwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oZGJJbmZvLmtleVByZWZpeCArIGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShvcmlnaW5hbFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYWxTdG9yYWdlIGNhcGFjaXR5IGV4Y2VlZGVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogTWFrZSB0aGlzIGEgc3BlY2lmaWMgZXJyb3IvZXZlbnQuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5uYW1lID09PSAnUXVvdGFFeGNlZWRlZEVycm9yJyB8fCBlLm5hbWUgPT09ICdOU19FUlJPUl9ET01fUVVPVEFfUkVBQ0hFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBkcm9wSW5zdGFuY2UkMihvcHRpb25zLCBjYWxsYmFjaykge1xuICAgIGNhbGxiYWNrID0gZ2V0Q2FsbGJhY2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICAgIG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zIHx8IHt9O1xuICAgIGlmICghb3B0aW9ucy5uYW1lKSB7XG4gICAgICAgIHZhciBjdXJyZW50Q29uZmlnID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgb3B0aW9ucy5uYW1lID0gb3B0aW9ucy5uYW1lIHx8IGN1cnJlbnRDb25maWcubmFtZTtcbiAgICAgICAgb3B0aW9ucy5zdG9yZU5hbWUgPSBvcHRpb25zLnN0b3JlTmFtZSB8fCBjdXJyZW50Q29uZmlnLnN0b3JlTmFtZTtcbiAgICB9XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIHByb21pc2U7XG4gICAgaWYgKCFvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgcHJvbWlzZSA9IFByb21pc2UkMS5yZWplY3QoJ0ludmFsaWQgYXJndW1lbnRzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgICAgIGlmICghb3B0aW9ucy5zdG9yZU5hbWUpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKG9wdGlvbnMubmFtZSArICcvJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoX2dldEtleVByZWZpeChvcHRpb25zLCBzZWxmLl9kZWZhdWx0Q29uZmlnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGtleVByZWZpeCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IGxvY2FsU3RvcmFnZS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgICAgIHZhciBrZXkgPSBsb2NhbFN0b3JhZ2Uua2V5KGkpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGtleS5pbmRleE9mKGtleVByZWZpeCkgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbnZhciBsb2NhbFN0b3JhZ2VXcmFwcGVyID0ge1xuICAgIF9kcml2ZXI6ICdsb2NhbFN0b3JhZ2VXcmFwcGVyJyxcbiAgICBfaW5pdFN0b3JhZ2U6IF9pbml0U3RvcmFnZSQyLFxuICAgIF9zdXBwb3J0OiBpc0xvY2FsU3RvcmFnZVZhbGlkKCksXG4gICAgaXRlcmF0ZTogaXRlcmF0ZSQyLFxuICAgIGdldEl0ZW06IGdldEl0ZW0kMixcbiAgICBzZXRJdGVtOiBzZXRJdGVtJDIsXG4gICAgcmVtb3ZlSXRlbTogcmVtb3ZlSXRlbSQyLFxuICAgIGNsZWFyOiBjbGVhciQyLFxuICAgIGxlbmd0aDogbGVuZ3RoJDIsXG4gICAga2V5OiBrZXkkMixcbiAgICBrZXlzOiBrZXlzJDIsXG4gICAgZHJvcEluc3RhbmNlOiBkcm9wSW5zdGFuY2UkMlxufTtcblxudmFyIHNhbWVWYWx1ZSA9IGZ1bmN0aW9uIHNhbWVWYWx1ZSh4LCB5KSB7XG4gICAgcmV0dXJuIHggPT09IHkgfHwgdHlwZW9mIHggPT09ICdudW1iZXInICYmIHR5cGVvZiB5ID09PSAnbnVtYmVyJyAmJiBpc05hTih4KSAmJiBpc05hTih5KTtcbn07XG5cbnZhciBpbmNsdWRlcyA9IGZ1bmN0aW9uIGluY2x1ZGVzKGFycmF5LCBzZWFyY2hFbGVtZW50KSB7XG4gICAgdmFyIGxlbiA9IGFycmF5Lmxlbmd0aDtcbiAgICB2YXIgaSA9IDA7XG4gICAgd2hpbGUgKGkgPCBsZW4pIHtcbiAgICAgICAgaWYgKHNhbWVWYWx1ZShhcnJheVtpXSwgc2VhcmNoRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGkrKztcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gKGFyZykge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYXJnKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn07XG5cbi8vIERyaXZlcnMgYXJlIHN0b3JlZCBoZXJlIHdoZW4gYGRlZmluZURyaXZlcigpYCBpcyBjYWxsZWQuXG4vLyBUaGV5IGFyZSBzaGFyZWQgYWNyb3NzIGFsbCBpbnN0YW5jZXMgb2YgbG9jYWxGb3JhZ2UuXG52YXIgRGVmaW5lZERyaXZlcnMgPSB7fTtcblxudmFyIERyaXZlclN1cHBvcnQgPSB7fTtcblxudmFyIERlZmF1bHREcml2ZXJzID0ge1xuICAgIElOREVYRUREQjogYXN5bmNTdG9yYWdlLFxuICAgIFdFQlNRTDogd2ViU1FMU3RvcmFnZSxcbiAgICBMT0NBTFNUT1JBR0U6IGxvY2FsU3RvcmFnZVdyYXBwZXJcbn07XG5cbnZhciBEZWZhdWx0RHJpdmVyT3JkZXIgPSBbRGVmYXVsdERyaXZlcnMuSU5ERVhFRERCLl9kcml2ZXIsIERlZmF1bHREcml2ZXJzLldFQlNRTC5fZHJpdmVyLCBEZWZhdWx0RHJpdmVycy5MT0NBTFNUT1JBR0UuX2RyaXZlcl07XG5cbnZhciBPcHRpb25hbERyaXZlck1ldGhvZHMgPSBbJ2Ryb3BJbnN0YW5jZSddO1xuXG52YXIgTGlicmFyeU1ldGhvZHMgPSBbJ2NsZWFyJywgJ2dldEl0ZW0nLCAnaXRlcmF0ZScsICdrZXknLCAna2V5cycsICdsZW5ndGgnLCAncmVtb3ZlSXRlbScsICdzZXRJdGVtJ10uY29uY2F0KE9wdGlvbmFsRHJpdmVyTWV0aG9kcyk7XG5cbnZhciBEZWZhdWx0Q29uZmlnID0ge1xuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICBkcml2ZXI6IERlZmF1bHREcml2ZXJPcmRlci5zbGljZSgpLFxuICAgIG5hbWU6ICdsb2NhbGZvcmFnZScsXG4gICAgLy8gRGVmYXVsdCBEQiBzaXplIGlzIF9KVVNUIFVOREVSXyA1TUIsIGFzIGl0J3MgdGhlIGhpZ2hlc3Qgc2l6ZVxuICAgIC8vIHdlIGNhbiB1c2Ugd2l0aG91dCBhIHByb21wdC5cbiAgICBzaXplOiA0OTgwNzM2LFxuICAgIHN0b3JlTmFtZTogJ2tleXZhbHVlcGFpcnMnLFxuICAgIHZlcnNpb246IDEuMFxufTtcblxuZnVuY3Rpb24gY2FsbFdoZW5SZWFkeShsb2NhbEZvcmFnZUluc3RhbmNlLCBsaWJyYXJ5TWV0aG9kKSB7XG4gICAgbG9jYWxGb3JhZ2VJbnN0YW5jZVtsaWJyYXJ5TWV0aG9kXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hcmdzID0gYXJndW1lbnRzO1xuICAgICAgICByZXR1cm4gbG9jYWxGb3JhZ2VJbnN0YW5jZS5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGxvY2FsRm9yYWdlSW5zdGFuY2VbbGlicmFyeU1ldGhvZF0uYXBwbHkobG9jYWxGb3JhZ2VJbnN0YW5jZSwgX2FyZ3MpO1xuICAgICAgICB9KTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBleHRlbmQoKSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgICBpZiAoYXJnKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBfa2V5IGluIGFyZykge1xuICAgICAgICAgICAgICAgIGlmIChhcmcuaGFzT3duUHJvcGVydHkoX2tleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkoYXJnW19rZXldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdW19rZXldID0gYXJnW19rZXldLnNsaWNlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF1bX2tleV0gPSBhcmdbX2tleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYXJndW1lbnRzWzBdO1xufVxuXG52YXIgTG9jYWxGb3JhZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gTG9jYWxGb3JhZ2Uob3B0aW9ucykge1xuICAgICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTG9jYWxGb3JhZ2UpO1xuXG4gICAgICAgIGZvciAodmFyIGRyaXZlclR5cGVLZXkgaW4gRGVmYXVsdERyaXZlcnMpIHtcbiAgICAgICAgICAgIGlmIChEZWZhdWx0RHJpdmVycy5oYXNPd25Qcm9wZXJ0eShkcml2ZXJUeXBlS2V5KSkge1xuICAgICAgICAgICAgICAgIHZhciBkcml2ZXIgPSBEZWZhdWx0RHJpdmVyc1tkcml2ZXJUeXBlS2V5XTtcbiAgICAgICAgICAgICAgICB2YXIgZHJpdmVyTmFtZSA9IGRyaXZlci5fZHJpdmVyO1xuICAgICAgICAgICAgICAgIHRoaXNbZHJpdmVyVHlwZUtleV0gPSBkcml2ZXJOYW1lO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFEZWZpbmVkRHJpdmVyc1tkcml2ZXJOYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAvLyB3ZSBkb24ndCBuZWVkIHRvIHdhaXQgZm9yIHRoZSBwcm9taXNlLFxuICAgICAgICAgICAgICAgICAgICAvLyBzaW5jZSB0aGUgZGVmYXVsdCBkcml2ZXJzIGNhbiBiZSBkZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGEgYmxvY2tpbmcgbWFubmVyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRHJpdmVyKGRyaXZlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZGVmYXVsdENvbmZpZyA9IGV4dGVuZCh7fSwgRGVmYXVsdENvbmZpZyk7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGV4dGVuZCh7fSwgdGhpcy5fZGVmYXVsdENvbmZpZywgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMuX2RyaXZlclNldCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2luaXREcml2ZXIgPSBudWxsO1xuICAgICAgICB0aGlzLl9yZWFkeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9kYkluZm8gPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX3dyYXBMaWJyYXJ5TWV0aG9kc1dpdGhSZWFkeSgpO1xuICAgICAgICB0aGlzLnNldERyaXZlcih0aGlzLl9jb25maWcuZHJpdmVyKVtcImNhdGNoXCJdKGZ1bmN0aW9uICgpIHt9KTtcbiAgICB9XG5cbiAgICAvLyBTZXQgYW55IGNvbmZpZyB2YWx1ZXMgZm9yIGxvY2FsRm9yYWdlOyBjYW4gYmUgY2FsbGVkIGFueXRpbWUgYmVmb3JlXG4gICAgLy8gdGhlIGZpcnN0IEFQSSBjYWxsIChlLmcuIGBnZXRJdGVtYCwgYHNldEl0ZW1gKS5cbiAgICAvLyBXZSBsb29wIHRocm91Z2ggb3B0aW9ucyBzbyB3ZSBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgY29uZmlnXG4gICAgLy8gdmFsdWVzLlxuXG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuY29uZmlnID0gZnVuY3Rpb24gY29uZmlnKG9wdGlvbnMpIHtcbiAgICAgICAgLy8gSWYgdGhlIG9wdGlvbnMgYXJndW1lbnQgaXMgYW4gb2JqZWN0LCB3ZSB1c2UgaXQgdG8gc2V0IHZhbHVlcy5cbiAgICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSByZXR1cm4gZWl0aGVyIGEgc3BlY2lmaWVkIGNvbmZpZyB2YWx1ZSBvciBhbGxcbiAgICAgICAgLy8gY29uZmlnIHZhbHVlcy5cbiAgICAgICAgaWYgKCh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2Yob3B0aW9ucykpID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgLy8gSWYgbG9jYWxmb3JhZ2UgaXMgcmVhZHkgYW5kIGZ1bGx5IGluaXRpYWxpemVkLCB3ZSBjYW4ndCBzZXRcbiAgICAgICAgICAgIC8vIGFueSBuZXcgY29uZmlndXJhdGlvbiB2YWx1ZXMuIEluc3RlYWQsIHdlIHJldHVybiBhbiBlcnJvci5cbiAgICAgICAgICAgIGlmICh0aGlzLl9yZWFkeSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXCJDYW4ndCBjYWxsIGNvbmZpZygpIGFmdGVyIGxvY2FsZm9yYWdlIFwiICsgJ2hhcyBiZWVuIHVzZWQuJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gb3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGlmIChpID09PSAnc3RvcmVOYW1lJykge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zW2ldID0gb3B0aW9uc1tpXS5yZXBsYWNlKC9cXFcvZywgJ18nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaSA9PT0gJ3ZlcnNpb24nICYmIHR5cGVvZiBvcHRpb25zW2ldICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdEYXRhYmFzZSB2ZXJzaW9uIG11c3QgYmUgYSBudW1iZXIuJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnW2ldID0gb3B0aW9uc1tpXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWZ0ZXIgYWxsIGNvbmZpZyBvcHRpb25zIGFyZSBzZXQgYW5kXG4gICAgICAgICAgICAvLyB0aGUgZHJpdmVyIG9wdGlvbiBpcyB1c2VkLCB0cnkgc2V0dGluZyBpdFxuICAgICAgICAgICAgaWYgKCdkcml2ZXInIGluIG9wdGlvbnMgJiYgb3B0aW9ucy5kcml2ZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXREcml2ZXIodGhpcy5fY29uZmlnLmRyaXZlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1tvcHRpb25zXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gVXNlZCB0byBkZWZpbmUgYSBjdXN0b20gZHJpdmVyLCBzaGFyZWQgYWNyb3NzIGFsbCBpbnN0YW5jZXMgb2ZcbiAgICAvLyBsb2NhbEZvcmFnZS5cblxuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLmRlZmluZURyaXZlciA9IGZ1bmN0aW9uIGRlZmluZURyaXZlcihkcml2ZXJPYmplY3QsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSB7XG4gICAgICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHZhciBkcml2ZXJOYW1lID0gZHJpdmVyT2JqZWN0Ll9kcml2ZXI7XG4gICAgICAgICAgICAgICAgdmFyIGNvbXBsaWFuY2VFcnJvciA9IG5ldyBFcnJvcignQ3VzdG9tIGRyaXZlciBub3QgY29tcGxpYW50OyBzZWUgJyArICdodHRwczovL21vemlsbGEuZ2l0aHViLmlvL2xvY2FsRm9yYWdlLyNkZWZpbmVkcml2ZXInKTtcblxuICAgICAgICAgICAgICAgIC8vIEEgZHJpdmVyIG5hbWUgc2hvdWxkIGJlIGRlZmluZWQgYW5kIG5vdCBvdmVybGFwIHdpdGggdGhlXG4gICAgICAgICAgICAgICAgLy8gbGlicmFyeS1kZWZpbmVkLCBkZWZhdWx0IGRyaXZlcnMuXG4gICAgICAgICAgICAgICAgaWYgKCFkcml2ZXJPYmplY3QuX2RyaXZlcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoY29tcGxpYW5jZUVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZhciBkcml2ZXJNZXRob2RzID0gTGlicmFyeU1ldGhvZHMuY29uY2F0KCdfaW5pdFN0b3JhZ2UnKTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gZHJpdmVyTWV0aG9kcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZHJpdmVyTWV0aG9kTmFtZSA9IGRyaXZlck1ldGhvZHNbaV07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlcmUsXG4gICAgICAgICAgICAgICAgICAgIC8vIGl0IHNob3VsZCBiZSBhIG1ldGhvZCBldmVuIHdoZW4gb3B0aW9uYWxcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlzUmVxdWlyZWQgPSAhaW5jbHVkZXMoT3B0aW9uYWxEcml2ZXJNZXRob2RzLCBkcml2ZXJNZXRob2ROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChpc1JlcXVpcmVkIHx8IGRyaXZlck9iamVjdFtkcml2ZXJNZXRob2ROYW1lXSkgJiYgdHlwZW9mIGRyaXZlck9iamVjdFtkcml2ZXJNZXRob2ROYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGNvbXBsaWFuY2VFcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB2YXIgY29uZmlndXJlTWlzc2luZ01ldGhvZHMgPSBmdW5jdGlvbiBjb25maWd1cmVNaXNzaW5nTWV0aG9kcygpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG1ldGhvZE5vdEltcGxlbWVudGVkRmFjdG9yeSA9IGZ1bmN0aW9uIG1ldGhvZE5vdEltcGxlbWVudGVkRmFjdG9yeShtZXRob2ROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlcnJvciA9IG5ldyBFcnJvcignTWV0aG9kICcgKyBtZXRob2ROYW1lICsgJyBpcyBub3QgaW1wbGVtZW50ZWQgYnkgdGhlIGN1cnJlbnQgZHJpdmVyJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByb21pc2UgPSBQcm9taXNlJDEucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMCwgX2xlbiA9IE9wdGlvbmFsRHJpdmVyTWV0aG9kcy5sZW5ndGg7IF9pIDwgX2xlbjsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9wdGlvbmFsRHJpdmVyTWV0aG9kID0gT3B0aW9uYWxEcml2ZXJNZXRob2RzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZHJpdmVyT2JqZWN0W29wdGlvbmFsRHJpdmVyTWV0aG9kXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlck9iamVjdFtvcHRpb25hbERyaXZlck1ldGhvZF0gPSBtZXRob2ROb3RJbXBsZW1lbnRlZEZhY3Rvcnkob3B0aW9uYWxEcml2ZXJNZXRob2QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyZU1pc3NpbmdNZXRob2RzKCk7XG5cbiAgICAgICAgICAgICAgICB2YXIgc2V0RHJpdmVyU3VwcG9ydCA9IGZ1bmN0aW9uIHNldERyaXZlclN1cHBvcnQoc3VwcG9ydCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoRGVmaW5lZERyaXZlcnNbZHJpdmVyTmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnUmVkZWZpbmluZyBMb2NhbEZvcmFnZSBkcml2ZXI6ICcgKyBkcml2ZXJOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBEZWZpbmVkRHJpdmVyc1tkcml2ZXJOYW1lXSA9IGRyaXZlck9iamVjdDtcbiAgICAgICAgICAgICAgICAgICAgRHJpdmVyU3VwcG9ydFtkcml2ZXJOYW1lXSA9IHN1cHBvcnQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIGRvbid0IHVzZSBhIHRoZW4sIHNvIHRoYXQgd2UgY2FuIGRlZmluZVxuICAgICAgICAgICAgICAgICAgICAvLyBkcml2ZXJzIHRoYXQgaGF2ZSBzaW1wbGUgX3N1cHBvcnQgbWV0aG9kc1xuICAgICAgICAgICAgICAgICAgICAvLyBpbiBhIGJsb2NraW5nIG1hbm5lclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGlmICgnX3N1cHBvcnQnIGluIGRyaXZlck9iamVjdCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZHJpdmVyT2JqZWN0Ll9zdXBwb3J0ICYmIHR5cGVvZiBkcml2ZXJPYmplY3QuX3N1cHBvcnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlck9iamVjdC5fc3VwcG9ydCgpLnRoZW4oc2V0RHJpdmVyU3VwcG9ydCwgcmVqZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldERyaXZlclN1cHBvcnQoISFkcml2ZXJPYmplY3QuX3N1cHBvcnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RHJpdmVyU3VwcG9ydCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBleGVjdXRlVHdvQ2FsbGJhY2tzKHByb21pc2UsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfTtcblxuICAgIExvY2FsRm9yYWdlLnByb3RvdHlwZS5kcml2ZXIgPSBmdW5jdGlvbiBkcml2ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kcml2ZXIgfHwgbnVsbDtcbiAgICB9O1xuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLmdldERyaXZlciA9IGZ1bmN0aW9uIGdldERyaXZlcihkcml2ZXJOYW1lLCBjYWxsYmFjaywgZXJyb3JDYWxsYmFjaykge1xuICAgICAgICB2YXIgZ2V0RHJpdmVyUHJvbWlzZSA9IERlZmluZWREcml2ZXJzW2RyaXZlck5hbWVdID8gUHJvbWlzZSQxLnJlc29sdmUoRGVmaW5lZERyaXZlcnNbZHJpdmVyTmFtZV0pIDogUHJvbWlzZSQxLnJlamVjdChuZXcgRXJyb3IoJ0RyaXZlciBub3QgZm91bmQuJykpO1xuXG4gICAgICAgIGV4ZWN1dGVUd29DYWxsYmFja3MoZ2V0RHJpdmVyUHJvbWlzZSwgY2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spO1xuICAgICAgICByZXR1cm4gZ2V0RHJpdmVyUHJvbWlzZTtcbiAgICB9O1xuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLmdldFNlcmlhbGl6ZXIgPSBmdW5jdGlvbiBnZXRTZXJpYWxpemVyKGNhbGxiYWNrKSB7XG4gICAgICAgIHZhciBzZXJpYWxpemVyUHJvbWlzZSA9IFByb21pc2UkMS5yZXNvbHZlKGxvY2FsZm9yYWdlU2VyaWFsaXplcik7XG4gICAgICAgIGV4ZWN1dGVUd29DYWxsYmFja3Moc2VyaWFsaXplclByb21pc2UsIGNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZXJQcm9taXNlO1xuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUucmVhZHkgPSBmdW5jdGlvbiByZWFkeShjYWxsYmFjaykge1xuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICAgICAgdmFyIHByb21pc2UgPSBzZWxmLl9kcml2ZXJTZXQudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5fcmVhZHkgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZWxmLl9yZWFkeSA9IHNlbGYuX2luaXREcml2ZXIoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWR5O1xuICAgICAgICB9KTtcblxuICAgICAgICBleGVjdXRlVHdvQ2FsbGJhY2tzKHByb21pc2UsIGNhbGxiYWNrLCBjYWxsYmFjayk7XG4gICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuc2V0RHJpdmVyID0gZnVuY3Rpb24gc2V0RHJpdmVyKGRyaXZlcnMsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSB7XG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgICAgICBpZiAoIWlzQXJyYXkoZHJpdmVycykpIHtcbiAgICAgICAgICAgIGRyaXZlcnMgPSBbZHJpdmVyc107XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc3VwcG9ydGVkRHJpdmVycyA9IHRoaXMuX2dldFN1cHBvcnRlZERyaXZlcnMoZHJpdmVycyk7XG5cbiAgICAgICAgZnVuY3Rpb24gc2V0RHJpdmVyVG9Db25maWcoKSB7XG4gICAgICAgICAgICBzZWxmLl9jb25maWcuZHJpdmVyID0gc2VsZi5kcml2ZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGV4dGVuZFNlbGZXaXRoRHJpdmVyKGRyaXZlcikge1xuICAgICAgICAgICAgc2VsZi5fZXh0ZW5kKGRyaXZlcik7XG4gICAgICAgICAgICBzZXREcml2ZXJUb0NvbmZpZygpO1xuXG4gICAgICAgICAgICBzZWxmLl9yZWFkeSA9IHNlbGYuX2luaXRTdG9yYWdlKHNlbGYuX2NvbmZpZyk7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZHk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBpbml0RHJpdmVyKHN1cHBvcnRlZERyaXZlcnMpIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGN1cnJlbnREcml2ZXJJbmRleCA9IDA7XG5cbiAgICAgICAgICAgICAgICBmdW5jdGlvbiBkcml2ZXJQcm9taXNlTG9vcCgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnREcml2ZXJJbmRleCA8IHN1cHBvcnRlZERyaXZlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZHJpdmVyTmFtZSA9IHN1cHBvcnRlZERyaXZlcnNbY3VycmVudERyaXZlckluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnREcml2ZXJJbmRleCsrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYkluZm8gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVhZHkgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5nZXREcml2ZXIoZHJpdmVyTmFtZSkudGhlbihleHRlbmRTZWxmV2l0aERyaXZlcilbXCJjYXRjaFwiXShkcml2ZXJQcm9taXNlTG9vcCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzZXREcml2ZXJUb0NvbmZpZygpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IoJ05vIGF2YWlsYWJsZSBzdG9yYWdlIG1ldGhvZCBmb3VuZC4nKTtcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5fZHJpdmVyU2V0ID0gUHJvbWlzZSQxLnJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9kcml2ZXJTZXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRyaXZlclByb21pc2VMb29wKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgYSBkcml2ZXIgaW5pdGlhbGl6YXRpb24gaW4gcHJvZ3Jlc3NcbiAgICAgICAgLy8gc28gd2FpdCBmb3IgaXQgdG8gZmluaXNoIGluIG9yZGVyIHRvIGF2b2lkIGEgcG9zc2libGVcbiAgICAgICAgLy8gcmFjZSBjb25kaXRpb24gdG8gc2V0IF9kYkluZm9cbiAgICAgICAgdmFyIG9sZERyaXZlclNldERvbmUgPSB0aGlzLl9kcml2ZXJTZXQgIT09IG51bGwgPyB0aGlzLl9kcml2ZXJTZXRbXCJjYXRjaFwiXShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZSQxLnJlc29sdmUoKTtcbiAgICAgICAgfSkgOiBQcm9taXNlJDEucmVzb2x2ZSgpO1xuXG4gICAgICAgIHRoaXMuX2RyaXZlclNldCA9IG9sZERyaXZlclNldERvbmUudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZHJpdmVyTmFtZSA9IHN1cHBvcnRlZERyaXZlcnNbMF07XG4gICAgICAgICAgICBzZWxmLl9kYkluZm8gPSBudWxsO1xuICAgICAgICAgICAgc2VsZi5fcmVhZHkgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gc2VsZi5nZXREcml2ZXIoZHJpdmVyTmFtZSkudGhlbihmdW5jdGlvbiAoZHJpdmVyKSB7XG4gICAgICAgICAgICAgICAgc2VsZi5fZHJpdmVyID0gZHJpdmVyLl9kcml2ZXI7XG4gICAgICAgICAgICAgICAgc2V0RHJpdmVyVG9Db25maWcoKTtcbiAgICAgICAgICAgICAgICBzZWxmLl93cmFwTGlicmFyeU1ldGhvZHNXaXRoUmVhZHkoKTtcbiAgICAgICAgICAgICAgICBzZWxmLl9pbml0RHJpdmVyID0gaW5pdERyaXZlcihzdXBwb3J0ZWREcml2ZXJzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHNldERyaXZlclRvQ29uZmlnKCk7XG4gICAgICAgICAgICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IoJ05vIGF2YWlsYWJsZSBzdG9yYWdlIG1ldGhvZCBmb3VuZC4nKTtcbiAgICAgICAgICAgIHNlbGYuX2RyaXZlclNldCA9IFByb21pc2UkMS5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2RyaXZlclNldDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXhlY3V0ZVR3b0NhbGxiYWNrcyh0aGlzLl9kcml2ZXJTZXQsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RyaXZlclNldDtcbiAgICB9O1xuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLnN1cHBvcnRzID0gZnVuY3Rpb24gc3VwcG9ydHMoZHJpdmVyTmFtZSkge1xuICAgICAgICByZXR1cm4gISFEcml2ZXJTdXBwb3J0W2RyaXZlck5hbWVdO1xuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuX2V4dGVuZCA9IGZ1bmN0aW9uIF9leHRlbmQobGlicmFyeU1ldGhvZHNBbmRQcm9wZXJ0aWVzKSB7XG4gICAgICAgIGV4dGVuZCh0aGlzLCBsaWJyYXJ5TWV0aG9kc0FuZFByb3BlcnRpZXMpO1xuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuX2dldFN1cHBvcnRlZERyaXZlcnMgPSBmdW5jdGlvbiBfZ2V0U3VwcG9ydGVkRHJpdmVycyhkcml2ZXJzKSB7XG4gICAgICAgIHZhciBzdXBwb3J0ZWREcml2ZXJzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBkcml2ZXJzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgZHJpdmVyTmFtZSA9IGRyaXZlcnNbaV07XG4gICAgICAgICAgICBpZiAodGhpcy5zdXBwb3J0cyhkcml2ZXJOYW1lKSkge1xuICAgICAgICAgICAgICAgIHN1cHBvcnRlZERyaXZlcnMucHVzaChkcml2ZXJOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VwcG9ydGVkRHJpdmVycztcbiAgICB9O1xuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLl93cmFwTGlicmFyeU1ldGhvZHNXaXRoUmVhZHkgPSBmdW5jdGlvbiBfd3JhcExpYnJhcnlNZXRob2RzV2l0aFJlYWR5KCkge1xuICAgICAgICAvLyBBZGQgYSBzdHViIGZvciBlYWNoIGRyaXZlciBBUEkgbWV0aG9kIHRoYXQgZGVsYXlzIHRoZSBjYWxsIHRvIHRoZVxuICAgICAgICAvLyBjb3JyZXNwb25kaW5nIGRyaXZlciBtZXRob2QgdW50aWwgbG9jYWxGb3JhZ2UgaXMgcmVhZHkuIFRoZXNlIHN0dWJzXG4gICAgICAgIC8vIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIGRyaXZlciBtZXRob2RzIGFzIHNvb24gYXMgdGhlIGRyaXZlciBpc1xuICAgICAgICAvLyBsb2FkZWQsIHNvIHRoZXJlIGlzIG5vIHBlcmZvcm1hbmNlIGltcGFjdC5cbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IExpYnJhcnlNZXRob2RzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBjYWxsV2hlblJlYWR5KHRoaXMsIExpYnJhcnlNZXRob2RzW2ldKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuY3JlYXRlSW5zdGFuY2UgPSBmdW5jdGlvbiBjcmVhdGVJbnN0YW5jZShvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuZXcgTG9jYWxGb3JhZ2Uob3B0aW9ucyk7XG4gICAgfTtcblxuICAgIHJldHVybiBMb2NhbEZvcmFnZTtcbn0oKTtcblxuLy8gVGhlIGFjdHVhbCBsb2NhbEZvcmFnZSBvYmplY3QgdGhhdCB3ZSBleHBvc2UgYXMgYSBtb2R1bGUgb3IgdmlhIGFcbi8vIGdsb2JhbC4gSXQncyBleHRlbmRlZCBieSBwdWxsaW5nIGluIG9uZSBvZiBvdXIgb3RoZXIgbGlicmFyaWVzLlxuXG5cbnZhciBsb2NhbGZvcmFnZV9qcyA9IG5ldyBMb2NhbEZvcmFnZSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGxvY2FsZm9yYWdlX2pzO1xuXG59LHtcIjNcIjozfV19LHt9LFs0XSkoNClcbn0pO1xuIiwgIi8qKlxuICogQGxpY2Vuc2UgTUlUXG4gKiBAY29weXJpZ2h0IDIwMjAgRXlhcyBSYW5qb3VzIDxleWFzLnJhbmpvdXNAZ21haWwuY29tPlxuICpcbiAqIEBjbGFzc1xuICovXG5jbGFzcyBRdWV1ZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcXVldWUuXG4gICAqIEBwYXJhbSB7YXJyYXl9IFtlbGVtZW50c11cbiAgICovXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRzKSB7XG4gICAgdGhpcy5fZWxlbWVudHMgPSBBcnJheS5pc0FycmF5KGVsZW1lbnRzKSA/IGVsZW1lbnRzIDogW107XG4gICAgdGhpcy5fb2Zmc2V0ID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGVsZW1lbnQgdG8gdGhlIGJhY2sgb2YgdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqIEBwYXJhbSB7bnVtYmVyfHN0cmluZ3xvYmplY3R9IGVsZW1lbnRcbiAgICovXG4gIGVucXVldWUoZWxlbWVudCkge1xuICAgIHRoaXMuX2VsZW1lbnRzLnB1c2goZWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBlbGVtZW50IHRvIHRoZSBiYWNrIG9mIHRoZSBxdWV1ZS5cbiAgICogQHB1YmxpY1xuICAgKiBAcGFyYW0ge251bWJlcnxzdHJpbmd8b2JqZWN0fSBlbGVtZW50XG4gICAqL1xuICBwdXNoKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gdGhpcy5lbnF1ZXVlKGVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcXVldWVzIHRoZSBmcm9udCBlbGVtZW50IGluIHRoZSBxdWV1ZS5cbiAgICogQHB1YmxpY1xuICAgKiBAcmV0dXJucyB7bnVtYmVyfHN0cmluZ3xvYmplY3R9XG4gICAqL1xuICBkZXF1ZXVlKCkge1xuICAgIGlmICh0aGlzLnNpemUoKSA9PT0gMCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBmaXJzdCA9IHRoaXMuZnJvbnQoKTtcbiAgICB0aGlzLl9vZmZzZXQgKz0gMTtcblxuICAgIGlmICh0aGlzLl9vZmZzZXQgKiAyIDwgdGhpcy5fZWxlbWVudHMubGVuZ3RoKSByZXR1cm4gZmlyc3Q7XG5cbiAgICAvLyBvbmx5IHJlbW92ZSBkZXF1ZXVlZCBlbGVtZW50cyB3aGVuIHJlYWNoaW5nIGhhbGYgc2l6ZVxuICAgIC8vIHRvIGRlY3JlYXNlIGxhdGVuY3kgb2Ygc2hpZnRpbmcgZWxlbWVudHMuXG4gICAgdGhpcy5fZWxlbWVudHMgPSB0aGlzLl9lbGVtZW50cy5zbGljZSh0aGlzLl9vZmZzZXQpO1xuICAgIHRoaXMuX29mZnNldCA9IDA7XG4gICAgcmV0dXJuIGZpcnN0O1xuICB9XG5cbiAgLyoqXG4gICAqIERlcXVldWVzIHRoZSBmcm9udCBlbGVtZW50IGluIHRoZSBxdWV1ZS5cbiAgICogQHB1YmxpY1xuICAgKiBAcmV0dXJucyB7bnVtYmVyfHN0cmluZ3xvYmplY3R9XG4gICAqL1xuICBwb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVxdWV1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZyb250IGVsZW1lbnQgb2YgdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqIEByZXR1cm5zIHtudW1iZXJ8c3RyaW5nfG9iamVjdH1cbiAgICovXG4gIGZyb250KCkge1xuICAgIHJldHVybiB0aGlzLnNpemUoKSA+IDAgPyB0aGlzLl9lbGVtZW50c1t0aGlzLl9vZmZzZXRdIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBiYWNrIGVsZW1lbnQgb2YgdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqIEByZXR1cm5zIHtudW1iZXJ8c3RyaW5nfG9iamVjdH1cbiAgICovXG4gIGJhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSgpID4gMCA/IHRoaXMuX2VsZW1lbnRzW3RoaXMuX2VsZW1lbnRzLmxlbmd0aCAtIDFdIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50cy5sZW5ndGggLSB0aGlzLl9vZmZzZXQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICogQHB1YmxpY1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSgpID09PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJlbWFpbmluZyBlbGVtZW50cyBpbiB0aGUgcXVldWUgYXMgYW4gYXJyYXkuXG4gICAqIEBwdWJsaWNcbiAgICogQHJldHVybnMge2FycmF5fVxuICAgKi9cbiAgdG9BcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudHMuc2xpY2UodGhpcy5fb2Zmc2V0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLl9lbGVtZW50cyA9IFtdO1xuICAgIHRoaXMuX29mZnNldCA9IDA7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHNoYWxsb3cgY29weSBvZiB0aGUgcXVldWUuXG4gICAqIEBwdWJsaWNcbiAgICogQHJldHVybiB7UXVldWV9XG4gICAqL1xuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gbmV3IFF1ZXVlKHRoaXMuX2VsZW1lbnRzLnNsaWNlKHRoaXMuX29mZnNldCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBxdWV1ZSBmcm9tIGFuIGV4aXN0aW5nIGFycmF5LlxuICAgKiBAcHVibGljXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHthcnJheX0gZWxlbWVudHNcbiAgICogQHJldHVybiB7UXVldWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUFycmF5KGVsZW1lbnRzKSB7XG4gICAgcmV0dXJuIG5ldyBRdWV1ZShlbGVtZW50cyk7XG4gIH1cbn1cblxuZXhwb3J0cy5RdWV1ZSA9IFF1ZXVlO1xuIiwgImNvbnN0IHsgUXVldWUgfSA9IHJlcXVpcmUoJy4vc3JjL3F1ZXVlJyk7XG5cbmV4cG9ydHMuUXVldWUgPSBRdWV1ZTtcbiIsICJpbXBvcnQgeyBEYXRhY29yZUFwaSB9IGZyb20gXCJhcGkvYXBpXCI7XG5pbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IEFwcCwgUGx1Z2luLCBQbHVnaW5TZXR0aW5nVGFiLCBTZXR0aW5nIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBjcmVhdGVFbGVtZW50LCByZW5kZXIgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyBERUZBVUxUX1NFVFRJTkdTLCBTZXR0aW5ncyB9IGZyb20gXCJzZXR0aW5nc1wiO1xuaW1wb3J0IHsgRGF0YWNvcmVRdWVyeVZpZXcgYXMgRGF0YWNvcmVKU1ZpZXcsIFZJRVdfVFlQRV9EQVRBQ09SRUpTIH0gZnJvbSBcInVpL3ZpZXctcGFnZVwiO1xuaW1wb3J0IHsgSW5kZXhTdGF0dXNCYXIgfSBmcm9tIFwidWkvaW5kZXgtc3RhdHVzXCI7XG5cbi8qKiBSZWFjdGl2ZSBkYXRhIGVuZ2luZSBmb3IgeW91ciBPYnNpZGlhbi5tZCB2YXVsdC4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGFjb3JlUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcbiAgICAvKiogUGx1Z2luLXdpZGUgZGVmYXVsdCBzZXR0aW5ncy4gKi9cbiAgICBwdWJsaWMgc2V0dGluZ3M6IFNldHRpbmdzO1xuXG4gICAgLyoqIENlbnRyYWwgaW50ZXJuYWwgc3RhdGUuICovXG4gICAgcHVibGljIGNvcmU6IERhdGFjb3JlO1xuICAgIC8qKiBFeHRlcm5hbGx5IHZpc2libGUgQVBJIGZvciBxdWVyeWluZy4gKi9cbiAgICBwdWJsaWMgYXBpOiBEYXRhY29yZUFwaTtcblxuICAgIGFzeW5jIG9ubG9hZCgpIHtcbiAgICAgICAgdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfU0VUVElOR1MsIChhd2FpdCB0aGlzLmxvYWREYXRhKCkpID8/IHt9KTtcbiAgICAgICAgdGhpcy5hZGRTZXR0aW5nVGFiKG5ldyBHZW5lcmFsU2V0dGluZ3NUYWIodGhpcy5hcHAsIHRoaXMpKTtcblxuICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBjb3JlIEFQSSBmb3IgdXNhZ2UgaW4gYWxsIHZpZXdzIGFuZCBkb3duc3RyZWFtIGFwcHMuXG4gICAgICAgIHRoaXMuYWRkQ2hpbGQoKHRoaXMuY29yZSA9IG5ldyBEYXRhY29yZSh0aGlzLmFwcCwgdGhpcy5tYW5pZmVzdC52ZXJzaW9uLCB0aGlzLnNldHRpbmdzKSkpO1xuICAgICAgICB0aGlzLmFwaSA9IG5ldyBEYXRhY29yZUFwaSh0aGlzLmNvcmUpO1xuXG4gICAgICAgIC8vIEFkZCBhIHZpc3VhbCBhaWQgZm9yIHdoYXQgZGF0YWNvcmUgaXMgY3VycmVudGx5IGRvaW5nLlxuICAgICAgICB0aGlzLm1vdW50SW5kZXhTdGF0ZSh0aGlzLmFkZFN0YXR1c0Jhckl0ZW0oKSwgdGhpcy5jb3JlKTtcblxuICAgICAgICAvLyBQcmltYXJ5IHZpc3VhbCBlbGVtZW50cyAoRGF0YWNvcmVKUyBhbmQgRGF0YWNvcmUgYmxvY2tzKS5cbiAgICAgICAgdGhpcy5yZWdpc3Rlck1hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yKFxuICAgICAgICAgICAgXCJkYXRhY29yZWpzXCIsXG4gICAgICAgICAgICBhc3luYyAoc291cmNlOiBzdHJpbmcsIGVsLCBjdHgpID0+IHRoaXMuYXBpLmV4ZWN1dGVKcyhzb3VyY2UsIGVsLCBjdHgsIGN0eC5zb3VyY2VQYXRoKSxcbiAgICAgICAgICAgIC0xMDBcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IoXG4gICAgICAgICAgICBcImRhdGFjb3JlanN4XCIsXG4gICAgICAgICAgICBhc3luYyAoc291cmNlOiBzdHJpbmcsIGVsLCBjdHgpID0+IHRoaXMuYXBpLmV4ZWN1dGVKc3goc291cmNlLCBlbCwgY3R4LCBjdHguc291cmNlUGF0aCksXG4gICAgICAgICAgICAtMTAwXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3Rlck1hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yKFxuICAgICAgICAgICAgXCJkYXRhY29yZXRzXCIsXG4gICAgICAgICAgICBhc3luYyAoc291cmNlOiBzdHJpbmcsIGVsLCBjdHgpID0+IHRoaXMuYXBpLmV4ZWN1dGVUcyhzb3VyY2UsIGVsLCBjdHgsIGN0eC5zb3VyY2VQYXRoKSxcbiAgICAgICAgICAgIC0xMDBcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IoXG4gICAgICAgICAgICBcImRhdGFjb3JldHN4XCIsXG4gICAgICAgICAgICBhc3luYyAoc291cmNlOiBzdHJpbmcsIGVsLCBjdHgpID0+IHRoaXMuYXBpLmV4ZWN1dGVUc3goc291cmNlLCBlbCwgY3R4LCBjdHguc291cmNlUGF0aCksXG4gICAgICAgICAgICAtMTAwXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gVmlld3M6IERhdGFjb3JlSlMgdmlldy5cbiAgICAgICAgLy8gQHRzLWlnbm9yZSBiZSBxdWlldFxuICAgICAgICB0aGlzLnJlZ2lzdGVyVmlldyhWSUVXX1RZUEVfREFUQUNPUkVKUywgKGxlYWYpID0+IG5ldyBEYXRhY29yZUpTVmlldyhsZWFmLCB0aGlzLmFwaSkpO1xuXG4gICAgICAgIC8vIEFkZCBhIGNvbW1hbmQgZm9yIGNyZWF0aW5nIGEgbmV3IHZpZXcgcGFnZS5cbiAgICAgICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgICAgICAgIGlkOiBcImRhdGFjb3JlLWFkZC12aWV3LXBhZ2VcIixcbiAgICAgICAgICAgIG5hbWU6IFwiQ3JlYXRlIFZpZXcgUGFnZVwiLFxuICAgICAgICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdMZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlYWYoXCJ0YWJcIik7XG4gICAgICAgICAgICAgICAgbmV3TGVhZi5zZXRWaWV3U3RhdGUoeyB0eXBlOiBWSUVXX1RZUEVfREFUQUNPUkVKUywgYWN0aXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5zZXRBY3RpdmVMZWFmKG5ld0xlYWYsIHsgZm9jdXM6IHRydWUgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZWdpc3RlciBKUyBoaWdobGlnaHRpbmcgZm9yIGNvZGVibG9ja3MuXG4gICAgICAgIHRoaXMucmVnaXN0ZXIodGhpcy5yZWdpc3RlckNvZGVibG9ja0hpZ2hsaWdodGluZygpKTtcblxuICAgICAgICAvLyBJbml0aWFsaXplIGFzIHNvb24gYXMgdGhlIHdvcmtzcGFjZSBpcyByZWFkeS5cbiAgICAgICAgaWYgKCF0aGlzLmFwcC53b3Jrc3BhY2UubGF5b3V0UmVhZHkpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KGFzeW5jICgpID0+IHRoaXMuY29yZS5pbml0aWFsaXplKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb3JlLmluaXRpYWxpemUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgdGhlIEFQSSBnbG9iYWxseSBhY2Nlc3NpYmxlIGZyb20gYW55IGNvbnRleHQuXG4gICAgICAgIHdpbmRvdy5kYXRhY29yZSA9IHRoaXMuYXBpO1xuXG4gICAgICAgIC8vIGJvbiBhcHBldGl0XG4gICAgICAgIGNvbnNvbGUubG9nKGBEYXRhY29yZTogdmVyc2lvbiAke3RoaXMubWFuaWZlc3QudmVyc2lvbn0gKHJlcXVpcmVzIG9ic2lkaWFuICR7dGhpcy5tYW5pZmVzdC5taW5BcHBWZXJzaW9ufSlgKTtcbiAgICB9XG5cbiAgICBvbnVubG9hZCgpIHtcbiAgICAgICAgY29uc29sZS5sb2coYERhdGFjb3JlOiB2ZXJzaW9uICR7dGhpcy5tYW5pZmVzdC52ZXJzaW9ufSB1bmxvYWRlZC5gKTtcbiAgICB9XG5cbiAgICAvKiogUmVnaXN0ZXIgY29kZWJsb2NrIGhpZ2hsaWdodGluZyBhbmQgcmV0dXJuIGEgY2xvc3VyZSB3aGljaCB1bnJlZ2lzdGVycy4gKi9cbiAgICByZWdpc3RlckNvZGVibG9ja0hpZ2hsaWdodGluZygpOiAoKSA9PiB2b2lkIHtcbiAgICAgICAgd2luZG93LkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRhdGFjb3JlanNcIiwgKGNvbmZpZykgPT4gd2luZG93LkNvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIFwiamF2YXNjcmlwdFwiKSk7XG4gICAgICAgIHdpbmRvdy5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJkYXRhY29yZWpzeFwiLCAoY29uZmlnKSA9PiB3aW5kb3cuQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgXCJqc3hcIikpO1xuICAgICAgICB3aW5kb3cuQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwiZGF0YWNvcmV0c1wiLCAoY29uZmlnKSA9PiB3aW5kb3cuQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgXCJqYXZhc2NyaXB0XCIpKTtcbiAgICAgICAgd2luZG93LkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRhdGFjb3JldHN4XCIsIChjb25maWcpID0+IHdpbmRvdy5Db2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBcImpzeFwiKSk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJkYXRhY29yZWpzXCIsIChjb25maWcpID0+IHdpbmRvdy5Db2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBcIm51bGxcIikpO1xuICAgICAgICAgICAgd2luZG93LkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRhdGFjb3JlanN4XCIsIChjb25maWcpID0+IHdpbmRvdy5Db2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBcIm51bGxcIikpO1xuICAgICAgICAgICAgd2luZG93LkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRhdGFjb3JldHNcIiwgKGNvbmZpZykgPT4gd2luZG93LkNvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIFwibnVsbFwiKSk7XG4gICAgICAgICAgICB3aW5kb3cuQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwiZGF0YWNvcmV0c3hcIiwgKGNvbmZpZykgPT4gd2luZG93LkNvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIFwibnVsbFwiKSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSB0aGUgZ2l2ZW4gc2V0dGluZ3MgdG8gbmV3IHZhbHVlcy4gKi9cbiAgICBhc3luYyB1cGRhdGVTZXR0aW5ncyhzZXR0aW5nczogUGFydGlhbDxTZXR0aW5ncz4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnNldHRpbmdzLCBzZXR0aW5ncyk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XG4gICAgfVxuXG4gICAgLyoqIFJlbmRlciBkYXRhY29yZSBpbmRleGluZyBzdGF0dXMgdXNpbmcgdGhlIGluZGV4LiAqL1xuICAgIHByaXZhdGUgbW91bnRJbmRleFN0YXRlKHJvb3Q6IEhUTUxFbGVtZW50LCBjb3JlOiBEYXRhY29yZSk6IHZvaWQge1xuICAgICAgICByZW5kZXIoY3JlYXRlRWxlbWVudChJbmRleFN0YXR1c0JhciwgeyBkYXRhY29yZTogY29yZSB9KSwgcm9vdCk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlcigoKSA9PiByZW5kZXIobnVsbCwgcm9vdCkpO1xuICAgIH1cbn1cblxuLyoqIERhdGFjb3JlIFNldHRpbmdzIFRhYi4gKi9cbmNsYXNzIEdlbmVyYWxTZXR0aW5nc1RhYiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICAgIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwcml2YXRlIHBsdWdpbjogRGF0YWNvcmVQbHVnaW4pIHtcbiAgICAgICAgc3VwZXIoYXBwLCBwbHVnaW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNwbGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmVtcHR5KCk7XG5cbiAgICAgICAgdGhpcy5jb250YWluZXJFbC5jcmVhdGVFbChcImgyXCIsIHsgdGV4dDogXCJWaWV3c1wiIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIlBhZ2luYXRpb25cIilcbiAgICAgICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgICAgICAgIFwiSWYgZW5hYmxlZCwgc3BsaXRzIHVwIHZpZXdzIGludG8gcGFnZXMgb2YgcmVzdWx0cyB3aGljaCBjYW4gYmUgdHJhdmVyc2VkIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ2aWEgYnV0dG9ucyBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgdGhlIHZpZXcuIFRoaXMgc3Vic3RhbnRpYWxseSBpbXByb3ZlcyBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwidGhlIHBlcmZvcm1hbmNlIG9mIGxhcmdlIHZpZXdzLCBhbmQgY2FuIGhlbHAgd2l0aCB2aXN1YWwgY2x1dHRlci4gTm90ZSB0aGF0IFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ0aGlzIHNldHRpbmcgY2FuIGFsc28gYmUgc2V0IG9uIGEgcGVyLXZpZXcgYmFzaXMuXCJcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0UGFnaW5nRW5hYmxlZCkub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgZGVmYXVsdFBhZ2luZ0VuYWJsZWQ6IHZhbHVlIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IFNldHRpbmcodGhpcy5jb250YWluZXJFbClcbiAgICAgICAgICAgIC5zZXROYW1lKFwiRGVmYXVsdCBQYWdlIFNpemVcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFwiVGhlIG51bWJlciBvZiBlbnRyaWVzIHRvIHNob3cgcGVyIHBhZ2UsIGJ5IGRlZmF1bHQuIFRoaXMgY2FuIGJlIG92ZXJyaWRlbiBvbiBhIHBlci12aWV3IGJhc2lzLlwiKVxuICAgICAgICAgICAgLmFkZERyb3Bkb3duKChkcm9wZG93bikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IE9QVElPTlM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAgICAgICAgICAgICAgIFwiMjVcIjogXCIyNVwiLFxuICAgICAgICAgICAgICAgICAgICBcIjUwXCI6IFwiNTBcIixcbiAgICAgICAgICAgICAgICAgICAgXCIxMDBcIjogXCIxMDBcIixcbiAgICAgICAgICAgICAgICAgICAgXCIyMDBcIjogXCIyMDBcIixcbiAgICAgICAgICAgICAgICAgICAgXCI1MDBcIjogXCI1MDBcIixcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBcIlwiICsgdGhpcy5wbHVnaW4uc2V0dGluZ3MuZGVmYXVsdFBhZ2VTaXplO1xuICAgICAgICAgICAgICAgIGlmICghKGN1cnJlbnQgaW4gT1BUSU9OUykpIE9QVElPTlNbY3VycmVudF0gPSBjdXJyZW50O1xuXG4gICAgICAgICAgICAgICAgZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgLmFkZE9wdGlvbnMoT1BUSU9OUylcbiAgICAgICAgICAgICAgICAgICAgLnNldFZhbHVlKGN1cnJlbnQpXG4gICAgICAgICAgICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTmFOKHBhcnNlZCkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4udXBkYXRlU2V0dGluZ3MoeyBkZWZhdWx0UGFnZVNpemU6IHBhcnNlZCB8IDAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IFNldHRpbmcodGhpcy5jb250YWluZXJFbClcbiAgICAgICAgICAgIC5zZXROYW1lKFwiU2Nyb2xsIG9uIFBhZ2UgQ2hhbmdlXCIpXG4gICAgICAgICAgICAuc2V0RGVzYyhcbiAgICAgICAgICAgICAgICBcIklmIGVuYWJsZWQsIHRhYmxlIHRoYXQgYXJlIHBhZ2VkIHdpbGwgc2Nyb2xsIHRvIHRoZSB0b3Agb2YgdGhlIHRhYmxlIHdoZW4gdGhlIHBhZ2UgY2hhbmdlcy4gXCIgK1xuICAgICAgICAgICAgICAgICAgICBcIlRoaXMgY2FuIGJlIG92ZXJyaWRlbiBvbiBhIHBlci12aWV3IGJhc2lzLlwiXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgICAgICAgICB0b2dnbGUuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3Muc2Nyb2xsT25QYWdlQ2hhbmdlKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4udXBkYXRlU2V0dGluZ3MoeyBzY3JvbGxPblBhZ2VDaGFuZ2U6IHZhbHVlIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIkVuYWJsZSBKYXZhc2NyaXB0XCIpXG4gICAgICAgICAgICAuc2V0RGVzYyhcIldoZXRoZXIgSmF2YXNjcmlwdCBjb2RlYmxvY2tzIHdpbGwgYmUgZXZhbHVhdGVkLlwiKVxuICAgICAgICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgICAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmVuYWJsZUpzKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4udXBkYXRlU2V0dGluZ3MoeyBlbmFibGVKczogdmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaDJcIiwgeyB0ZXh0OiBcIkZvcm1hdHRpbmdcIiB9KTtcblxuICAgICAgICBuZXcgU2V0dGluZyh0aGlzLmNvbnRhaW5lckVsKVxuICAgICAgICAgICAgLnNldE5hbWUoXCJFbXB0eSBWYWx1ZXNcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFwiV2hhdCB0byBzaG93IGZvciB1bnNldC9lbXB0eSBwcm9wZXJ0aWVzLlwiKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnJlbmRlck51bGxBcykub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgcmVuZGVyTnVsbEFzOiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIkRlZmF1bHQgRGF0ZSBGb3JtYXRcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgICAgICAgIFwiVGhlIGRlZmF1bHQgZm9ybWF0IHRoYXQgZGF0ZXMgYXJlIHJlbmRlcmVkIGluLiBVc2VzIGx1eG9uIGRhdGUgZm9ybWF0dGluZyAoaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9sdXhvbi9ibG9iL21hc3Rlci9kb2NzL2Zvcm1hdHRpbmcubWQjZm9ybWF0dGluZy13aXRoLXRva2Vucy1zdHJpbmdzLWZvci1jdGh1bGh1KS5cIlxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0KS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgZGF0ZSBmb3JtYXQgaXMgdmFsaWRcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIERhdGVUaW1lLmZyb21NaWxsaXMoRGF0ZS5ub3coKSkudG9Gb3JtYXQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi51cGRhdGVTZXR0aW5ncyh7IGRlZmF1bHREYXRlRm9ybWF0OiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIkRlZmF1bHQgRGF0ZS1UaW1lIGZvcm1hdFwiKVxuICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJUaGUgZGVmYXVsdCBmb3JtYXQgdGhhdCBkYXRlLXRpbWVzIGFyZSByZW5kZXJlZCBpbi4gVXNlcyBsdXhvbiBkYXRlIGZvcm1hdHRpbmcgKGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbHV4b24vYmxvYi9tYXN0ZXIvZG9jcy9mb3JtYXR0aW5nLm1kI2Zvcm1hdHRpbmctd2l0aC10b2tlbnMtc3RyaW5ncy1mb3ItY3RodWxodSkuXCJcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0RGF0ZVRpbWVGb3JtYXQpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUuZnJvbU1pbGxpcyhEYXRlLm5vdygpKS50b0Zvcm1hdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgZGVmYXVsdERhdGVUaW1lRm9ybWF0OiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuY3JlYXRlRWwoXCJoMlwiLCB7IHRleHQ6IFwiUGVyZm9ybWFuY2UgVHVuaW5nXCIgfSk7XG5cbiAgICAgICAgbmV3IFNldHRpbmcodGhpcy5jb250YWluZXJFbClcbiAgICAgICAgICAgIC5zZXROYW1lKFwiSW5saW5lIEZpZWxkc1wiKVxuICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJJZiBlbmFibGVkLCBpbmxpbmUgZmllbGRzIHdpbGwgYmUgcGFyc2VkIGluIGFsbCBkb2N1bWVudHMuIEZpbmRpbmcgaW5saW5lIGZpZWxkcyByZXF1aXJlcyBhIGZ1bGwgdGV4dCBzY2FuIHRocm91Z2ggZWFjaCBkb2N1bWVudCwgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcIndoaWNoIG5vdGljYWJseSBzbG93cyBkb3duIGluZGV4aW5nIGZvciBsYXJnZSB2YXVsdHMuIERpc2FibGluZyB0aGlzIGZ1bmN0aW9uYWxpdHkgd2lsbCBtZWFuIG1ldGFkYXRhIHdpbGwgb25seSBjb21lIGZyb20gdGFncywgbGlua3MsIGFuZCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiUHJvcGVydGllcyAvIGZyb250bWF0dGVyXCJcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5pbmRleElubGluZUZpZWxkcykub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgaW5kZXhJbmxpbmVGaWVsZHM6IHZhbHVlIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFJlcXVlc3QgYSBmdWxsIGluZGV4IGRyb3AgKyByZWluZGV4IGZvciBjb3JyZWN0bmVzcy5cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIkltcG9ydGVyIFRocmVhZHNcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFwiVGhlIG51bWJlciBvZiBpbXBvcnRlciB0aHJlYWRzIHRvIHVzZSBmb3IgcGFyc2luZyBtZXRhZGF0YS5cIilcbiAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dC5zZXRWYWx1ZShcIlwiICsgdGhpcy5wbHVnaW4uc2V0dGluZ3MuaW1wb3J0ZXJOdW1UaHJlYWRzKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgaW1wb3J0ZXJOdW1UaHJlYWRzOiBwYXJzZWQgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBuZXcgU2V0dGluZyh0aGlzLmNvbnRhaW5lckVsKVxuICAgICAgICAgICAgLnNldE5hbWUoXCJJbXBvcnRlciBVdGlsaXphdGlvblwiKVxuICAgICAgICAgICAgLnNldERlc2MoXCJIb3cgbXVjaCBDUFUgdGltZSBlYWNoIGltcG9ydGVyIHRocmVhZCBzaG91bGQgdXNlLCBhcyBhIGZyYWN0aW9uICgwLjEgLSAxLjApLlwiKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmltcG9ydGVyVXRpbGl6YXRpb24udG9GaXhlZCgyKSkub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbWl0ZWQgPSBNYXRoLm1heCgwLjEsIE1hdGgubWluKDEuMCwgcGFyc2VkKSk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgaW1wb3J0ZXJVdGlsaXphdGlvbjogbGltaXRlZCB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIk1heGltdW0gUmVjdXJzaXZlIFJlbmRlciBEZXB0aFwiKVxuICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJNYXhpbXVtIGRlcHRoIHRoYXQgb2JqZWN0cyB3aWxsIGJlIHJlbmRlcmVkIHRvIChpLmUuLCBob3cgbWFueSBsZXZlbHMgb2Ygc3VicHJvcGVydGllc1wiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ3aWxsIGJlIHJlbmRlcmVkIGJ5IGRlZmF1bHQpLiBUaGlzIGF2b2lkcyBpbmZpbml0ZSByZWN1cnNpb24gZHVlIHRvIHNlbGYtcmVmZXJlbnRpYWwgb2JqZWN0c1wiICtcbiAgICAgICAgICAgICAgICAgICAgXCJhbmQgZW5zdXJlcyB0aGF0IHJlbmRlcmluZyBvYmplY3RzIGlzIGFjY2VwdGFibHkgcGVyZm9ybWFudC5cIlxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLm1heFJlY3Vyc2l2ZVJlbmRlckRlcHRoLnRvU3RyaW5nKCkpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc05hTihwYXJzZWQpKSByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgbWF4UmVjdXJzaXZlUmVuZGVyRGVwdGg6IHBhcnNlZCB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBuZXcgU2V0dGluZyh0aGlzLmNvbnRhaW5lckVsKVxuICAgICAgICAgICAgLnNldE5hbWUoXCJSZWN1cnNpdmUgc3VidGFzayBjb21wbGV0aW9uXCIpXG4gICAgICAgICAgICAuc2V0RGVzYyhcIldoZXRoZXIgb3Igbm90IHN1YnRhc2tzIHNob3VsZCBiZSBjb21wbGV0ZWQgYWxvbmcgd2l0aCB0aGVpciBwYXJlbnQgaW4gZGF0YWNvcmUgdGFzayB2aWV3c1wiKVxuICAgICAgICAgICAgLmFkZFRvZ2dsZSgodGIpID0+IHtcbiAgICAgICAgICAgICAgICB0Yi5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5yZWN1cnNpdmVUYXNrQ29tcGxldGlvbikub25DaGFuZ2UoYXN5bmMgKHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi51cGRhdGVTZXR0aW5ncyh7IHJlY3Vyc2l2ZVRhc2tDb21wbGV0aW9uOiB2YWwgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaDJcIiwgeyB0ZXh0OiBcIlRhc2tzXCIgfSk7XG5cbiAgICAgICAgbmV3IFNldHRpbmcodGhpcy5jb250YWluZXJFbClcbiAgICAgICAgICAgIC5zZXROYW1lKFwiVGFzayBDb21wbGV0aW9uIFRleHRcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFwiTmFtZSBvZiBpbmxpbmUgZmllbGQgaW4gd2hpY2ggdG8gc3RvcmUgdGFzayBjb21wbGV0aW9uIGRhdGUvdGltZVwiKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnRhc2tDb21wbGV0aW9uVGV4dCkub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgdGFza0NvbXBsZXRpb25UZXh0OiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIlVzZSBFbW9qaSBTaG9ydGhhbmQgZm9yIFRhc2sgQ29tcGxldGlvblwiKVxuICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJJZiBlbmFibGVkLCBhdXRvbWF0aWMgY29tcGxldGlvbiB3aWxsIHVzZSBhbiBlbW9qaSBzaG9ydGhhbmQgXHUyNzA1IFlZWVktTU0tRERcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiaW5zdGVhZCBvZiBbY29tcGxldGlvbjo6IGRhdGVdLlwiXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkVG9nZ2xlKCh0YikgPT4ge1xuICAgICAgICAgICAgICAgIHRiLnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnRhc2tDb21wbGV0aW9uVXNlRW1vamlTaG9ydGhhbmQpLm9uQ2hhbmdlKGFzeW5jICh2YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4udXBkYXRlU2V0dGluZ3MoeyB0YXNrQ29tcGxldGlvblVzZUVtb2ppU2hvcnRoYW5kOiB2YWwgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCAiaW1wb3J0IERhdGVUaW1lIGZyb20gXCIuL2RhdGV0aW1lLmpzXCI7XG5pbXBvcnQgRHVyYXRpb24gZnJvbSBcIi4vZHVyYXRpb24uanNcIjtcbmltcG9ydCBJbnRlcnZhbCBmcm9tIFwiLi9pbnRlcnZhbC5qc1wiO1xuaW1wb3J0IEluZm8gZnJvbSBcIi4vaW5mby5qc1wiO1xuaW1wb3J0IFpvbmUgZnJvbSBcIi4vem9uZS5qc1wiO1xuaW1wb3J0IEZpeGVkT2Zmc2V0Wm9uZSBmcm9tIFwiLi96b25lcy9maXhlZE9mZnNldFpvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuaW1wb3J0IEludmFsaWRab25lIGZyb20gXCIuL3pvbmVzL2ludmFsaWRab25lLmpzXCI7XG5pbXBvcnQgU3lzdGVtWm9uZSBmcm9tIFwiLi96b25lcy9zeXN0ZW1ab25lLmpzXCI7XG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3MuanNcIjtcblxuY29uc3QgVkVSU0lPTiA9IFwiMi41LjJcIjtcblxuZXhwb3J0IHtcbiAgVkVSU0lPTixcbiAgRGF0ZVRpbWUsXG4gIER1cmF0aW9uLFxuICBJbnRlcnZhbCxcbiAgSW5mbyxcbiAgWm9uZSxcbiAgRml4ZWRPZmZzZXRab25lLFxuICBJQU5BWm9uZSxcbiAgSW52YWxpZFpvbmUsXG4gIFN5c3RlbVpvbmUsXG4gIFNldHRpbmdzLFxufTtcbiIsICIvLyB0aGVzZSBhcmVuJ3QgcmVhbGx5IHByaXZhdGUsIGJ1dCBub3IgYXJlIHRoZXkgcmVhbGx5IHVzZWZ1bCB0byBkb2N1bWVudFxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIEx1eG9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnZhbGlkRGF0ZVRpbWVFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFzb24pIHtcbiAgICBzdXBlcihgSW52YWxpZCBEYXRlVGltZTogJHtyZWFzb24udG9NZXNzYWdlKCl9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEludGVydmFsRXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHtcbiAgY29uc3RydWN0b3IocmVhc29uKSB7XG4gICAgc3VwZXIoYEludmFsaWQgSW50ZXJ2YWw6ICR7cmVhc29uLnRvTWVzc2FnZSgpfWApO1xuICB9XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIEludmFsaWREdXJhdGlvbkVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKHJlYXNvbikge1xuICAgIHN1cGVyKGBJbnZhbGlkIER1cmF0aW9uOiAke3JlYXNvbi50b01lc3NhZ2UoKX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige31cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZFVuaXRFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcih1bml0KSB7XG4gICAgc3VwZXIoYEludmFsaWQgdW5pdCAke3VuaXR9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHt9XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIFpvbmVJc0Fic3RyYWN0RXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJab25lIGlzIGFuIGFic3RyYWN0IGNsYXNzXCIpO1xuICB9XG59XG4iLCAiLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmNvbnN0IG4gPSBcIm51bWVyaWNcIixcbiAgcyA9IFwic2hvcnRcIixcbiAgbCA9IFwibG9uZ1wiO1xuXG5leHBvcnQgY29uc3QgREFURV9TSE9SVCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IG4sXG4gIGRheTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFX01FRCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IHMsXG4gIGRheTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFX01FRF9XSVRIX1dFRUtEQVkgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBzLFxuICBkYXk6IG4sXG4gIHdlZWtkYXk6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURV9GVUxMID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbCxcbiAgZGF5OiBuLFxufTtcblxuZXhwb3J0IGNvbnN0IERBVEVfSFVHRSA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgd2Vla2RheTogbCxcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1NJTVBMRSA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfV0lUSF9TRUNPTkRTID0ge1xuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1dJVEhfU0hPUlRfT0ZGU0VUID0ge1xuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbiAgdGltZVpvbmVOYW1lOiBzLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfV0lUSF9MT05HX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIHRpbWVab25lTmFtZTogbCxcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FXzI0X1NJTVBMRSA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBob3VyQ3ljbGU6IFwiaDIzXCIsXG59O1xuXG5leHBvcnQgY29uc3QgVElNRV8yNF9XSVRIX1NFQ09ORFMgPSB7XG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICBob3VyQ3ljbGU6IFwiaDIzXCIsXG59O1xuXG5leHBvcnQgY29uc3QgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgdGltZVpvbmVOYW1lOiBzLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgdGltZVpvbmVOYW1lOiBsLFxufTtcblxuZXhwb3J0IGNvbnN0IERBVEVUSU1FX1NIT1JUID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbixcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbixcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRUQgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBzLFxuICBkYXk6IG4sXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogcyxcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogcyxcbiAgZGF5OiBuLFxuICB3ZWVrZGF5OiBzLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfRlVMTCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICB0aW1lWm9uZU5hbWU6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBsLFxuICBkYXk6IG4sXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICB0aW1lWm9uZU5hbWU6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfSFVHRSA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgd2Vla2RheTogbCxcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICB0aW1lWm9uZU5hbWU6IGwsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBsLFxuICBkYXk6IG4sXG4gIHdlZWtkYXk6IGwsXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICB0aW1lWm9uZU5hbWU6IGwsXG59O1xuIiwgIi8qXG4gIFRoaXMgaXMganVzdCBhIGp1bmsgZHJhd2VyLCBjb250YWluaW5nIGFueXRoaW5nIHVzZWQgYWNyb3NzIG11bHRpcGxlIGNsYXNzZXMuXG4gIEJlY2F1c2UgTHV4b24gaXMgc21hbGwoaXNoKSwgdGhpcyBzaG91bGQgc3RheSBzbWFsbCBhbmQgd2Ugd29uJ3Qgd29ycnkgYWJvdXQgc3BsaXR0aW5nXG4gIGl0IHVwIGludG8sIHNheSwgcGFyc2luZ1V0aWwuanMgYW5kIGJhc2ljVXRpbC5qcyBhbmQgc28gb24uIEJ1dCB0aGV5IGFyZSBkaXZpZGVkIHVwIGJ5IGZlYXR1cmUgYXJlYS5cbiovXG5cbmltcG9ydCB7IEludmFsaWRBcmd1bWVudEVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy5qc1wiO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuLy8gVFlQRVNcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKG8pIHtcbiAgcmV0dXJuIHR5cGVvZiBvID09PSBcInVuZGVmaW5lZFwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwibnVtYmVyXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVnZXIobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwibnVtYmVyXCIgJiYgbyAlIDEgPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyhvKSB7XG4gIHJldHVybiB0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZShvKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykgPT09IFwiW29iamVjdCBEYXRlXVwiO1xufVxuXG4vLyBDQVBBQklMSVRJRVNcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1JlbGF0aXZlKCkge1xuICB0cnkge1xuICAgIHJldHVybiB0eXBlb2YgSW50bCAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhIUludGwuUmVsYXRpdmVUaW1lRm9ybWF0O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vIE9CSkVDVFMgQU5EIEFSUkFZU1xuXG5leHBvcnQgZnVuY3Rpb24gbWF5YmVBcnJheSh0aGluZykge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGluZykgPyB0aGluZyA6IFt0aGluZ107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiZXN0QnkoYXJyLCBieSwgY29tcGFyZSkge1xuICBpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGFyci5yZWR1Y2UoKGJlc3QsIG5leHQpID0+IHtcbiAgICBjb25zdCBwYWlyID0gW2J5KG5leHQpLCBuZXh0XTtcbiAgICBpZiAoIWJlc3QpIHtcbiAgICAgIHJldHVybiBwYWlyO1xuICAgIH0gZWxzZSBpZiAoY29tcGFyZShiZXN0WzBdLCBwYWlyWzBdKSA9PT0gYmVzdFswXSkge1xuICAgICAgcmV0dXJuIGJlc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwYWlyO1xuICAgIH1cbiAgfSwgbnVsbClbMV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaWNrKG9iaiwga2V5cykge1xuICByZXR1cm4ga2V5cy5yZWR1Y2UoKGEsIGspID0+IHtcbiAgICBhW2tdID0gb2JqW2tdO1xuICAgIHJldHVybiBhO1xuICB9LCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3ApIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufVxuXG4vLyBOVU1CRVJTIEFORCBTVFJJTkdTXG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlZ2VyQmV0d2Vlbih0aGluZywgYm90dG9tLCB0b3ApIHtcbiAgcmV0dXJuIGlzSW50ZWdlcih0aGluZykgJiYgdGhpbmcgPj0gYm90dG9tICYmIHRoaW5nIDw9IHRvcDtcbn1cblxuLy8geCAlIG4gYnV0IHRha2VzIHRoZSBzaWduIG9mIG4gaW5zdGVhZCBvZiB4XG5leHBvcnQgZnVuY3Rpb24gZmxvb3JNb2QoeCwgbikge1xuICByZXR1cm4geCAtIG4gKiBNYXRoLmZsb29yKHggLyBuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZFN0YXJ0KGlucHV0LCBuID0gMikge1xuICBjb25zdCBpc05lZyA9IGlucHV0IDwgMDtcbiAgbGV0IHBhZGRlZDtcbiAgaWYgKGlzTmVnKSB7XG4gICAgcGFkZGVkID0gXCItXCIgKyAoXCJcIiArIC1pbnB1dCkucGFkU3RhcnQobiwgXCIwXCIpO1xuICB9IGVsc2Uge1xuICAgIHBhZGRlZCA9IChcIlwiICsgaW5wdXQpLnBhZFN0YXJ0KG4sIFwiMFwiKTtcbiAgfVxuICByZXR1cm4gcGFkZGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbnRlZ2VyKHN0cmluZykge1xuICBpZiAoaXNVbmRlZmluZWQoc3RyaW5nKSB8fCBzdHJpbmcgPT09IG51bGwgfHwgc3RyaW5nID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nLCAxMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRmxvYXRpbmcoc3RyaW5nKSB7XG4gIGlmIChpc1VuZGVmaW5lZChzdHJpbmcpIHx8IHN0cmluZyA9PT0gbnVsbCB8fCBzdHJpbmcgPT09IFwiXCIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBwYXJzZUZsb2F0KHN0cmluZyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWlsbGlzKGZyYWN0aW9uKSB7XG4gIC8vIFJldHVybiB1bmRlZmluZWQgKGluc3RlYWQgb2YgMCkgaW4gdGhlc2UgY2FzZXMsIHdoZXJlIGZyYWN0aW9uIGlzIG5vdCBzZXRcbiAgaWYgKGlzVW5kZWZpbmVkKGZyYWN0aW9uKSB8fCBmcmFjdGlvbiA9PT0gbnVsbCB8fCBmcmFjdGlvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZiA9IHBhcnNlRmxvYXQoXCIwLlwiICsgZnJhY3Rpb24pICogMTAwMDtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihmKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRUbyhudW1iZXIsIGRpZ2l0cywgdG93YXJkWmVybyA9IGZhbHNlKSB7XG4gIGNvbnN0IGZhY3RvciA9IDEwICoqIGRpZ2l0cyxcbiAgICByb3VuZGVyID0gdG93YXJkWmVybyA/IE1hdGgudHJ1bmMgOiBNYXRoLnJvdW5kO1xuICByZXR1cm4gcm91bmRlcihudW1iZXIgKiBmYWN0b3IpIC8gZmFjdG9yO1xufVxuXG4vLyBEQVRFIEJBU0lDU1xuXG5leHBvcnQgZnVuY3Rpb24gaXNMZWFwWWVhcih5ZWFyKSB7XG4gIHJldHVybiB5ZWFyICUgNCA9PT0gMCAmJiAoeWVhciAlIDEwMCAhPT0gMCB8fCB5ZWFyICUgNDAwID09PSAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJblllYXIoeWVhcikge1xuICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7XG4gIGNvbnN0IG1vZE1vbnRoID0gZmxvb3JNb2QobW9udGggLSAxLCAxMikgKyAxLFxuICAgIG1vZFllYXIgPSB5ZWFyICsgKG1vbnRoIC0gbW9kTW9udGgpIC8gMTI7XG5cbiAgaWYgKG1vZE1vbnRoID09PSAyKSB7XG4gICAgcmV0dXJuIGlzTGVhcFllYXIobW9kWWVhcikgPyAyOSA6IDI4O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBbMzEsIG51bGwsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXVttb2RNb250aCAtIDFdO1xuICB9XG59XG5cbi8vIGNvdmVydCBhIGNhbGVuZGFyIG9iamVjdCB0byBhIGxvY2FsIHRpbWVzdGFtcCAoZXBvY2gsIGJ1dCB3aXRoIHRoZSBvZmZzZXQgYmFrZWQgaW4pXG5leHBvcnQgZnVuY3Rpb24gb2JqVG9Mb2NhbFRTKG9iaikge1xuICBsZXQgZCA9IERhdGUuVVRDKFxuICAgIG9iai55ZWFyLFxuICAgIG9iai5tb250aCAtIDEsXG4gICAgb2JqLmRheSxcbiAgICBvYmouaG91cixcbiAgICBvYmoubWludXRlLFxuICAgIG9iai5zZWNvbmQsXG4gICAgb2JqLm1pbGxpc2Vjb25kXG4gICk7XG5cbiAgLy8gZm9yIGxlZ2FjeSByZWFzb25zLCB5ZWFycyBiZXR3ZWVuIDAgYW5kIDk5IGFyZSBpbnRlcnByZXRlZCBhcyAxOVhYOyByZXZlcnQgdGhhdFxuICBpZiAob2JqLnllYXIgPCAxMDAgJiYgb2JqLnllYXIgPj0gMCkge1xuICAgIGQgPSBuZXcgRGF0ZShkKTtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGQuZ2V0VVRDRnVsbFllYXIoKSAtIDE5MDApO1xuICB9XG4gIHJldHVybiArZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcikge1xuICBjb25zdCBwMSA9XG4gICAgICAod2Vla1llYXIgK1xuICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gNCkgLVxuICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gMTAwKSArXG4gICAgICAgIE1hdGguZmxvb3Iod2Vla1llYXIgLyA0MDApKSAlXG4gICAgICA3LFxuICAgIGxhc3QgPSB3ZWVrWWVhciAtIDEsXG4gICAgcDIgPSAobGFzdCArIE1hdGguZmxvb3IobGFzdCAvIDQpIC0gTWF0aC5mbG9vcihsYXN0IC8gMTAwKSArIE1hdGguZmxvb3IobGFzdCAvIDQwMCkpICUgNztcbiAgcmV0dXJuIHAxID09PSA0IHx8IHAyID09PSAzID8gNTMgOiA1Mjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVudHJ1bmNhdGVZZWFyKHllYXIpIHtcbiAgaWYgKHllYXIgPiA5OSkge1xuICAgIHJldHVybiB5ZWFyO1xuICB9IGVsc2UgcmV0dXJuIHllYXIgPiA2MCA/IDE5MDAgKyB5ZWFyIDogMjAwMCArIHllYXI7XG59XG5cbi8vIFBBUlNJTkdcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlWm9uZUluZm8odHMsIG9mZnNldEZvcm1hdCwgbG9jYWxlLCB0aW1lWm9uZSA9IG51bGwpIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRzKSxcbiAgICBpbnRsT3B0cyA9IHtcbiAgICAgIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgICAgIHllYXI6IFwibnVtZXJpY1wiLFxuICAgICAgbW9udGg6IFwiMi1kaWdpdFwiLFxuICAgICAgZGF5OiBcIjItZGlnaXRcIixcbiAgICAgIGhvdXI6IFwiMi1kaWdpdFwiLFxuICAgICAgbWludXRlOiBcIjItZGlnaXRcIixcbiAgICB9O1xuXG4gIGlmICh0aW1lWm9uZSkge1xuICAgIGludGxPcHRzLnRpbWVab25lID0gdGltZVpvbmU7XG4gIH1cblxuICBjb25zdCBtb2RpZmllZCA9IHsgdGltZVpvbmVOYW1lOiBvZmZzZXRGb3JtYXQsIC4uLmludGxPcHRzIH07XG5cbiAgY29uc3QgcGFyc2VkID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBtb2RpZmllZClcbiAgICAuZm9ybWF0VG9QYXJ0cyhkYXRlKVxuICAgIC5maW5kKChtKSA9PiBtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gXCJ0aW1lem9uZW5hbWVcIik7XG4gIHJldHVybiBwYXJzZWQgPyBwYXJzZWQudmFsdWUgOiBudWxsO1xufVxuXG4vLyBzaWduZWRPZmZzZXQoJy01JywgJzMwJykgLT4gLTMzMFxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25lZE9mZnNldChvZmZIb3VyU3RyLCBvZmZNaW51dGVTdHIpIHtcbiAgbGV0IG9mZkhvdXIgPSBwYXJzZUludChvZmZIb3VyU3RyLCAxMCk7XG5cbiAgLy8gZG9uJ3QgfHwgdGhpcyBiZWNhdXNlIHdlIHdhbnQgdG8gcHJlc2VydmUgLTBcbiAgaWYgKE51bWJlci5pc05hTihvZmZIb3VyKSkge1xuICAgIG9mZkhvdXIgPSAwO1xuICB9XG5cbiAgY29uc3Qgb2ZmTWluID0gcGFyc2VJbnQob2ZmTWludXRlU3RyLCAxMCkgfHwgMCxcbiAgICBvZmZNaW5TaWduZWQgPSBvZmZIb3VyIDwgMCB8fCBPYmplY3QuaXMob2ZmSG91ciwgLTApID8gLW9mZk1pbiA6IG9mZk1pbjtcbiAgcmV0dXJuIG9mZkhvdXIgKiA2MCArIG9mZk1pblNpZ25lZDtcbn1cblxuLy8gQ09FUkNJT05cblxuZXhwb3J0IGZ1bmN0aW9uIGFzTnVtYmVyKHZhbHVlKSB7XG4gIGNvbnN0IG51bWVyaWNWYWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiIHx8IHZhbHVlID09PSBcIlwiIHx8IE51bWJlci5pc05hTihudW1lcmljVmFsdWUpKVxuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgSW52YWxpZCB1bml0IHZhbHVlICR7dmFsdWV9YCk7XG4gIHJldHVybiBudW1lcmljVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVPYmplY3Qob2JqLCBub3JtYWxpemVyKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fTtcbiAgZm9yIChjb25zdCB1IGluIG9iaikge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eShvYmosIHUpKSB7XG4gICAgICBjb25zdCB2ID0gb2JqW3VdO1xuICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCB8fCB2ID09PSBudWxsKSBjb250aW51ZTtcbiAgICAgIG5vcm1hbGl6ZWRbbm9ybWFsaXplcih1KV0gPSBhc051bWJlcih2KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRPZmZzZXQob2Zmc2V0LCBmb3JtYXQpIHtcbiAgY29uc3QgaG91cnMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAvIDYwKSksXG4gICAgbWludXRlcyA9IE1hdGgudHJ1bmMoTWF0aC5hYnMob2Zmc2V0ICUgNjApKSxcbiAgICBzaWduID0gb2Zmc2V0ID49IDAgPyBcIitcIiA6IFwiLVwiO1xuXG4gIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgY2FzZSBcInNob3J0XCI6XG4gICAgICByZXR1cm4gYCR7c2lnbn0ke3BhZFN0YXJ0KGhvdXJzLCAyKX06JHtwYWRTdGFydChtaW51dGVzLCAyKX1gO1xuICAgIGNhc2UgXCJuYXJyb3dcIjpcbiAgICAgIHJldHVybiBgJHtzaWdufSR7aG91cnN9JHttaW51dGVzID4gMCA/IGA6JHttaW51dGVzfWAgOiBcIlwifWA7XG4gICAgY2FzZSBcInRlY2hpZVwiOlxuICAgICAgcmV0dXJuIGAke3NpZ259JHtwYWRTdGFydChob3VycywgMil9JHtwYWRTdGFydChtaW51dGVzLCAyKX1gO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVmFsdWUgZm9ybWF0ICR7Zm9ybWF0fSBpcyBvdXQgb2YgcmFuZ2UgZm9yIHByb3BlcnR5IGZvcm1hdGApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lT2JqZWN0KG9iaikge1xuICByZXR1cm4gcGljayhvYmosIFtcImhvdXJcIiwgXCJtaW51dGVcIiwgXCJzZWNvbmRcIiwgXCJtaWxsaXNlY29uZFwiXSk7XG59XG5cbmV4cG9ydCBjb25zdCBpYW5hUmVnZXggPVxuICAvW0EtWmEtel8rLV17MSwyNTZ9KD86Oj9cXC9bQS1aYS16MC05XystXXsxLDI1Nn0oPzpcXC9bQS1aYS16MC05XystXXsxLDI1Nn0pPyk/LztcbiIsICJpbXBvcnQgKiBhcyBGb3JtYXRzIGZyb20gXCIuL2Zvcm1hdHMuanNcIjtcbmltcG9ydCB7IHBpY2sgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShvYmopIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiwgT2JqZWN0LmtleXMob2JqKS5zb3J0KCkpO1xufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuZXhwb3J0IGNvbnN0IG1vbnRoc0xvbmcgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbmV4cG9ydCBjb25zdCBtb250aHNTaG9ydCA9IFtcbiAgXCJKYW5cIixcbiAgXCJGZWJcIixcbiAgXCJNYXJcIixcbiAgXCJBcHJcIixcbiAgXCJNYXlcIixcbiAgXCJKdW5cIixcbiAgXCJKdWxcIixcbiAgXCJBdWdcIixcbiAgXCJTZXBcIixcbiAgXCJPY3RcIixcbiAgXCJOb3ZcIixcbiAgXCJEZWNcIixcbl07XG5cbmV4cG9ydCBjb25zdCBtb250aHNOYXJyb3cgPSBbXCJKXCIsIFwiRlwiLCBcIk1cIiwgXCJBXCIsIFwiTVwiLCBcIkpcIiwgXCJKXCIsIFwiQVwiLCBcIlNcIiwgXCJPXCIsIFwiTlwiLCBcIkRcIl07XG5cbmV4cG9ydCBmdW5jdGlvbiBtb250aHMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi5tb250aHNOYXJyb3ddO1xuICAgIGNhc2UgXCJzaG9ydFwiOlxuICAgICAgcmV0dXJuIFsuLi5tb250aHNTaG9ydF07XG4gICAgY2FzZSBcImxvbmdcIjpcbiAgICAgIHJldHVybiBbLi4ubW9udGhzTG9uZ107XG4gICAgY2FzZSBcIm51bWVyaWNcIjpcbiAgICAgIHJldHVybiBbXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCIsIFwiOFwiLCBcIjlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl07XG4gICAgY2FzZSBcIjItZGlnaXRcIjpcbiAgICAgIHJldHVybiBbXCIwMVwiLCBcIjAyXCIsIFwiMDNcIiwgXCIwNFwiLCBcIjA1XCIsIFwiMDZcIiwgXCIwN1wiLCBcIjA4XCIsIFwiMDlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3ZWVrZGF5c0xvbmcgPSBbXG4gIFwiTW9uZGF5XCIsXG4gIFwiVHVlc2RheVwiLFxuICBcIldlZG5lc2RheVwiLFxuICBcIlRodXJzZGF5XCIsXG4gIFwiRnJpZGF5XCIsXG4gIFwiU2F0dXJkYXlcIixcbiAgXCJTdW5kYXlcIixcbl07XG5cbmV4cG9ydCBjb25zdCB3ZWVrZGF5c1Nob3J0ID0gW1wiTW9uXCIsIFwiVHVlXCIsIFwiV2VkXCIsIFwiVGh1XCIsIFwiRnJpXCIsIFwiU2F0XCIsIFwiU3VuXCJdO1xuXG5leHBvcnQgY29uc3Qgd2Vla2RheXNOYXJyb3cgPSBbXCJNXCIsIFwiVFwiLCBcIldcIiwgXCJUXCIsIFwiRlwiLCBcIlNcIiwgXCJTXCJdO1xuXG5leHBvcnQgZnVuY3Rpb24gd2Vla2RheXMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi53ZWVrZGF5c05hcnJvd107XG4gICAgY2FzZSBcInNob3J0XCI6XG4gICAgICByZXR1cm4gWy4uLndlZWtkYXlzU2hvcnRdO1xuICAgIGNhc2UgXCJsb25nXCI6XG4gICAgICByZXR1cm4gWy4uLndlZWtkYXlzTG9uZ107XG4gICAgY2FzZSBcIm51bWVyaWNcIjpcbiAgICAgIHJldHVybiBbXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCJdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgbWVyaWRpZW1zID0gW1wiQU1cIiwgXCJQTVwiXTtcblxuZXhwb3J0IGNvbnN0IGVyYXNMb25nID0gW1wiQmVmb3JlIENocmlzdFwiLCBcIkFubm8gRG9taW5pXCJdO1xuXG5leHBvcnQgY29uc3QgZXJhc1Nob3J0ID0gW1wiQkNcIiwgXCJBRFwiXTtcblxuZXhwb3J0IGNvbnN0IGVyYXNOYXJyb3cgPSBbXCJCXCIsIFwiQVwiXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVyYXMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi5lcmFzTmFycm93XTtcbiAgICBjYXNlIFwic2hvcnRcIjpcbiAgICAgIHJldHVybiBbLi4uZXJhc1Nob3J0XTtcbiAgICBjYXNlIFwibG9uZ1wiOlxuICAgICAgcmV0dXJuIFsuLi5lcmFzTG9uZ107XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJpZGllbUZvckRhdGVUaW1lKGR0KSB7XG4gIHJldHVybiBtZXJpZGllbXNbZHQuaG91ciA8IDEyID8gMCA6IDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIHdlZWtkYXlzKGxlbmd0aClbZHQud2Vla2RheSAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSB7XG4gIHJldHVybiBtb250aHMobGVuZ3RoKVtkdC5tb250aCAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXJhRm9yRGF0ZVRpbWUoZHQsIGxlbmd0aCkge1xuICByZXR1cm4gZXJhcyhsZW5ndGgpW2R0LnllYXIgPCAwID8gMCA6IDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCBudW1lcmljID0gXCJhbHdheXNcIiwgbmFycm93ID0gZmFsc2UpIHtcbiAgY29uc3QgdW5pdHMgPSB7XG4gICAgeWVhcnM6IFtcInllYXJcIiwgXCJ5ci5cIl0sXG4gICAgcXVhcnRlcnM6IFtcInF1YXJ0ZXJcIiwgXCJxdHIuXCJdLFxuICAgIG1vbnRoczogW1wibW9udGhcIiwgXCJtby5cIl0sXG4gICAgd2Vla3M6IFtcIndlZWtcIiwgXCJ3ay5cIl0sXG4gICAgZGF5czogW1wiZGF5XCIsIFwiZGF5XCIsIFwiZGF5c1wiXSxcbiAgICBob3VyczogW1wiaG91clwiLCBcImhyLlwiXSxcbiAgICBtaW51dGVzOiBbXCJtaW51dGVcIiwgXCJtaW4uXCJdLFxuICAgIHNlY29uZHM6IFtcInNlY29uZFwiLCBcInNlYy5cIl0sXG4gIH07XG5cbiAgY29uc3QgbGFzdGFibGUgPSBbXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJdLmluZGV4T2YodW5pdCkgPT09IC0xO1xuXG4gIGlmIChudW1lcmljID09PSBcImF1dG9cIiAmJiBsYXN0YWJsZSkge1xuICAgIGNvbnN0IGlzRGF5ID0gdW5pdCA9PT0gXCJkYXlzXCI7XG4gICAgc3dpdGNoIChjb3VudCkge1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInRvbW9ycm93XCIgOiBgbmV4dCAke3VuaXRzW3VuaXRdWzBdfWA7XG4gICAgICBjYXNlIC0xOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInllc3RlcmRheVwiIDogYGxhc3QgJHt1bml0c1t1bml0XVswXX1gO1xuICAgICAgY2FzZSAwOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInRvZGF5XCIgOiBgdGhpcyAke3VuaXRzW3VuaXRdWzBdfWA7XG4gICAgICBkZWZhdWx0OiAvLyBmYWxsIHRocm91Z2hcbiAgICB9XG4gIH1cblxuICBjb25zdCBpc0luUGFzdCA9IE9iamVjdC5pcyhjb3VudCwgLTApIHx8IGNvdW50IDwgMCxcbiAgICBmbXRWYWx1ZSA9IE1hdGguYWJzKGNvdW50KSxcbiAgICBzaW5ndWxhciA9IGZtdFZhbHVlID09PSAxLFxuICAgIGxpbFVuaXRzID0gdW5pdHNbdW5pdF0sXG4gICAgZm10VW5pdCA9IG5hcnJvd1xuICAgICAgPyBzaW5ndWxhclxuICAgICAgICA/IGxpbFVuaXRzWzFdXG4gICAgICAgIDogbGlsVW5pdHNbMl0gfHwgbGlsVW5pdHNbMV1cbiAgICAgIDogc2luZ3VsYXJcbiAgICAgID8gdW5pdHNbdW5pdF1bMF1cbiAgICAgIDogdW5pdDtcbiAgcmV0dXJuIGlzSW5QYXN0ID8gYCR7Zm10VmFsdWV9ICR7Zm10VW5pdH0gYWdvYCA6IGBpbiAke2ZtdFZhbHVlfSAke2ZtdFVuaXR9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFN0cmluZyhrbm93bkZvcm1hdCkge1xuICAvLyB0aGVzZSBhbGwgaGF2ZSB0aGUgb2Zmc2V0cyByZW1vdmVkIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlbVxuICAvLyB3aXRob3V0IGFsbCB0aGUgaW50bCBzdHVmZiB0aGlzIGlzIGJhY2tmaWxsaW5nXG4gIGNvbnN0IGZpbHRlcmVkID0gcGljayhrbm93bkZvcm1hdCwgW1xuICAgICAgXCJ3ZWVrZGF5XCIsXG4gICAgICBcImVyYVwiLFxuICAgICAgXCJ5ZWFyXCIsXG4gICAgICBcIm1vbnRoXCIsXG4gICAgICBcImRheVwiLFxuICAgICAgXCJob3VyXCIsXG4gICAgICBcIm1pbnV0ZVwiLFxuICAgICAgXCJzZWNvbmRcIixcbiAgICAgIFwidGltZVpvbmVOYW1lXCIsXG4gICAgICBcImhvdXJDeWNsZVwiLFxuICAgIF0pLFxuICAgIGtleSA9IHN0cmluZ2lmeShmaWx0ZXJlZCksXG4gICAgZGF0ZVRpbWVIdWdlID0gXCJFRUVFLCBMTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICBzd2l0Y2ggKGtleSkge1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURV9TSE9SVCk6XG4gICAgICByZXR1cm4gXCJNL2QveXl5eVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURV9NRUQpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXlcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWSk6XG4gICAgICByZXR1cm4gXCJFRUUsIExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFX0ZVTEwpOlxuICAgICAgcmV0dXJuIFwiTExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFX0hVR0UpOlxuICAgICAgcmV0dXJuIFwiRUVFRSwgTExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5USU1FX1NJTVBMRSk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcImg6bW06c3MgYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfMjRfU0lNUExFKTpcbiAgICAgIHJldHVybiBcIkhIOm1tXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5USU1FXzI0X1dJVEhfU0VDT05EUyk6XG4gICAgICByZXR1cm4gXCJISDptbTpzc1wiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJISDptbVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUKTpcbiAgICAgIHJldHVybiBcIkhIOm1tXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFVElNRV9TSE9SVCk6XG4gICAgICByZXR1cm4gXCJNL2QveXl5eSwgaDptbSBhXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFVElNRV9NRUQpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfRlVMTCk6XG4gICAgICByZXR1cm4gXCJMTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfSFVHRSk6XG4gICAgICByZXR1cm4gZGF0ZVRpbWVIdWdlO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcIk0vZC95eXl5LCBoOm1tOnNzIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXksIGg6bW06c3MgYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSk6XG4gICAgICByZXR1cm4gXCJFRUUsIGQgTExMIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMpOlxuICAgICAgcmV0dXJuIFwiTExMTCBkLCB5eXl5LCBoOm1tOnNzIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcIkVFRUUsIExMTEwgZCwgeXl5eSwgaDptbTpzcyBhXCI7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBkYXRlVGltZUh1Z2U7XG4gIH1cbn1cbiIsICJpbXBvcnQgKiBhcyBFbmdsaXNoIGZyb20gXCIuL2VuZ2xpc2guanNcIjtcbmltcG9ydCAqIGFzIEZvcm1hdHMgZnJvbSBcIi4vZm9ybWF0cy5qc1wiO1xuaW1wb3J0IHsgcGFkU3RhcnQgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeVRva2VucyhzcGxpdHMsIHRva2VuVG9TdHJpbmcpIHtcbiAgbGV0IHMgPSBcIlwiO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHNwbGl0cykge1xuICAgIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgICBzICs9IHRva2VuLnZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcyArPSB0b2tlblRvU3RyaW5nKHRva2VuLnZhbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBzO1xufVxuXG5jb25zdCBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzID0ge1xuICBEOiBGb3JtYXRzLkRBVEVfU0hPUlQsXG4gIEREOiBGb3JtYXRzLkRBVEVfTUVELFxuICBEREQ6IEZvcm1hdHMuREFURV9GVUxMLFxuICBEREREOiBGb3JtYXRzLkRBVEVfSFVHRSxcbiAgdDogRm9ybWF0cy5USU1FX1NJTVBMRSxcbiAgdHQ6IEZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFMsXG4gIHR0dDogRm9ybWF0cy5USU1FX1dJVEhfU0hPUlRfT0ZGU0VULFxuICB0dHR0OiBGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCxcbiAgVDogRm9ybWF0cy5USU1FXzI0X1NJTVBMRSxcbiAgVFQ6IEZvcm1hdHMuVElNRV8yNF9XSVRIX1NFQ09ORFMsXG4gIFRUVDogRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VULFxuICBUVFRUOiBGb3JtYXRzLlRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCxcbiAgZjogRm9ybWF0cy5EQVRFVElNRV9TSE9SVCxcbiAgZmY6IEZvcm1hdHMuREFURVRJTUVfTUVELFxuICBmZmY6IEZvcm1hdHMuREFURVRJTUVfRlVMTCxcbiAgZmZmZjogRm9ybWF0cy5EQVRFVElNRV9IVUdFLFxuICBGOiBGb3JtYXRzLkRBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUyxcbiAgRkY6IEZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUyxcbiAgRkZGOiBGb3JtYXRzLkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTLFxuICBGRkZGOiBGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTLFxufTtcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvcm1hdHRlciB7XG4gIHN0YXRpYyBjcmVhdGUobG9jYWxlLCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsb2NhbGUsIG9wdHMpO1xuICB9XG5cbiAgc3RhdGljIHBhcnNlRm9ybWF0KGZtdCkge1xuICAgIGxldCBjdXJyZW50ID0gbnVsbCxcbiAgICAgIGN1cnJlbnRGdWxsID0gXCJcIixcbiAgICAgIGJyYWNrZXRlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHNwbGl0cyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm10Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjID0gZm10LmNoYXJBdChpKTtcbiAgICAgIGlmIChjID09PSBcIidcIikge1xuICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogYnJhY2tldGVkLCB2YWw6IGN1cnJlbnRGdWxsIH0pO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnQgPSBudWxsO1xuICAgICAgICBjdXJyZW50RnVsbCA9IFwiXCI7XG4gICAgICAgIGJyYWNrZXRlZCA9ICFicmFja2V0ZWQ7XG4gICAgICB9IGVsc2UgaWYgKGJyYWNrZXRlZCkge1xuICAgICAgICBjdXJyZW50RnVsbCArPSBjO1xuICAgICAgfSBlbHNlIGlmIChjID09PSBjdXJyZW50KSB7XG4gICAgICAgIGN1cnJlbnRGdWxsICs9IGM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogZmFsc2UsIHZhbDogY3VycmVudEZ1bGwgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEZ1bGwgPSBjO1xuICAgICAgICBjdXJyZW50ID0gYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgc3BsaXRzLnB1c2goeyBsaXRlcmFsOiBicmFja2V0ZWQsIHZhbDogY3VycmVudEZ1bGwgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNwbGl0cztcbiAgfVxuXG4gIHN0YXRpYyBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuKSB7XG4gICAgcmV0dXJuIG1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHNbdG9rZW5dO1xuICB9XG5cbiAgY29uc3RydWN0b3IobG9jYWxlLCBmb3JtYXRPcHRzKSB7XG4gICAgdGhpcy5vcHRzID0gZm9ybWF0T3B0cztcbiAgICB0aGlzLmxvYyA9IGxvY2FsZTtcbiAgICB0aGlzLnN5c3RlbUxvYyA9IG51bGw7XG4gIH1cblxuICBmb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChkdCwgb3B0cykge1xuICAgIGlmICh0aGlzLnN5c3RlbUxvYyA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zeXN0ZW1Mb2MgPSB0aGlzLmxvYy5yZWRlZmF1bHRUb1N5c3RlbSgpO1xuICAgIH1cbiAgICBjb25zdCBkZiA9IHRoaXMuc3lzdGVtTG9jLmR0Rm9ybWF0dGVyKGR0LCB7IC4uLnRoaXMub3B0cywgLi4ub3B0cyB9KTtcbiAgICByZXR1cm4gZGYuZm9ybWF0KCk7XG4gIH1cblxuICBmb3JtYXREYXRlVGltZShkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLmZvcm1hdCgpO1xuICB9XG5cbiAgZm9ybWF0RGF0ZVRpbWVQYXJ0cyhkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLmZvcm1hdFRvUGFydHMoKTtcbiAgfVxuXG4gIHJlc29sdmVkT3B0aW9ucyhkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLnJlc29sdmVkT3B0aW9ucygpO1xuICB9XG5cbiAgbnVtKG4sIHAgPSAwKSB7XG4gICAgLy8gd2UgZ2V0IHNvbWUgcGVyZiBvdXQgb2YgZG9pbmcgdGhpcyBoZXJlLCBhbm5veWluZ2x5XG4gICAgaWYgKHRoaXMub3B0cy5mb3JjZVNpbXBsZSkge1xuICAgICAgcmV0dXJuIHBhZFN0YXJ0KG4sIHApO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdHMgPSB7IC4uLnRoaXMub3B0cyB9O1xuXG4gICAgaWYgKHAgPiAwKSB7XG4gICAgICBvcHRzLnBhZFRvID0gcDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sb2MubnVtYmVyRm9ybWF0dGVyKG9wdHMpLmZvcm1hdChuKTtcbiAgfVxuXG4gIGZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhkdCwgZm10KSB7XG4gICAgY29uc3Qga25vd25FbmdsaXNoID0gdGhpcy5sb2MubGlzdGluZ01vZGUoKSA9PT0gXCJlblwiLFxuICAgICAgdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPSB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAmJiB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAhPT0gXCJncmVnb3J5XCIsXG4gICAgICBzdHJpbmcgPSAob3B0cywgZXh0cmFjdCkgPT4gdGhpcy5sb2MuZXh0cmFjdChkdCwgb3B0cywgZXh0cmFjdCksXG4gICAgICBmb3JtYXRPZmZzZXQgPSAob3B0cykgPT4ge1xuICAgICAgICBpZiAoZHQuaXNPZmZzZXRGaXhlZCAmJiBkdC5vZmZzZXQgPT09IDAgJiYgb3B0cy5hbGxvd1opIHtcbiAgICAgICAgICByZXR1cm4gXCJaXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZHQuaXNWYWxpZCA/IGR0LnpvbmUuZm9ybWF0T2Zmc2V0KGR0LnRzLCBvcHRzLmZvcm1hdCkgOiBcIlwiO1xuICAgICAgfSxcbiAgICAgIG1lcmlkaWVtID0gKCkgPT5cbiAgICAgICAga25vd25FbmdsaXNoXG4gICAgICAgICAgPyBFbmdsaXNoLm1lcmlkaWVtRm9yRGF0ZVRpbWUoZHQpXG4gICAgICAgICAgOiBzdHJpbmcoeyBob3VyOiBcIm51bWVyaWNcIiwgaG91ckN5Y2xlOiBcImgxMlwiIH0sIFwiZGF5cGVyaW9kXCIpLFxuICAgICAgbW9udGggPSAobGVuZ3RoLCBzdGFuZGFsb25lKSA9PlxuICAgICAgICBrbm93bkVuZ2xpc2hcbiAgICAgICAgICA/IEVuZ2xpc2gubW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKVxuICAgICAgICAgIDogc3RyaW5nKHN0YW5kYWxvbmUgPyB7IG1vbnRoOiBsZW5ndGggfSA6IHsgbW9udGg6IGxlbmd0aCwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpLFxuICAgICAgd2Vla2RheSA9IChsZW5ndGgsIHN0YW5kYWxvbmUpID0+XG4gICAgICAgIGtub3duRW5nbGlzaFxuICAgICAgICAgID8gRW5nbGlzaC53ZWVrZGF5Rm9yRGF0ZVRpbWUoZHQsIGxlbmd0aClcbiAgICAgICAgICA6IHN0cmluZyhcbiAgICAgICAgICAgICAgc3RhbmRhbG9uZSA/IHsgd2Vla2RheTogbGVuZ3RoIH0gOiB7IHdlZWtkYXk6IGxlbmd0aCwgbW9udGg6IFwibG9uZ1wiLCBkYXk6IFwibnVtZXJpY1wiIH0sXG4gICAgICAgICAgICAgIFwid2Vla2RheVwiXG4gICAgICAgICAgICApLFxuICAgICAgbWF5YmVNYWNybyA9ICh0b2tlbikgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRPcHRzID0gRm9ybWF0dGVyLm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHModG9rZW4pO1xuICAgICAgICBpZiAoZm9ybWF0T3B0cykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGR0LCBmb3JtYXRPcHRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcmEgPSAobGVuZ3RoKSA9PlxuICAgICAgICBrbm93bkVuZ2xpc2ggPyBFbmdsaXNoLmVyYUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIDogc3RyaW5nKHsgZXJhOiBsZW5ndGggfSwgXCJlcmFcIiksXG4gICAgICB0b2tlblRvU3RyaW5nID0gKHRva2VuKSA9PiB7XG4gICAgICAgIC8vIFdoZXJlIHBvc3NpYmxlOiBodHRwOi8vY2xkci51bmljb2RlLm9yZy90cmFuc2xhdGlvbi9kYXRlLXRpbWUtMS9kYXRlLXRpbWUjVE9DLVN0YW5kYWxvbmUtdnMuLUZvcm1hdC1TdHlsZXNcbiAgICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICAgIC8vIG1zXG4gICAgICAgICAgY2FzZSBcIlNcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taWxsaXNlY29uZCk7XG4gICAgICAgICAgY2FzZSBcInVcIjpcbiAgICAgICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICAgICAgY2FzZSBcIlNTU1wiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbGxpc2Vjb25kLCAzKTtcbiAgICAgICAgICAvLyBzZWNvbmRzXG4gICAgICAgICAgY2FzZSBcInNcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5zZWNvbmQpO1xuICAgICAgICAgIGNhc2UgXCJzc1wiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnNlY29uZCwgMik7XG4gICAgICAgICAgLy8gZnJhY3Rpb25hbCBzZWNvbmRzXG4gICAgICAgICAgY2FzZSBcInV1XCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC5taWxsaXNlY29uZCAvIDEwKSwgMik7XG4gICAgICAgICAgY2FzZSBcInV1dVwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZHQubWlsbGlzZWNvbmQgLyAxMDApKTtcbiAgICAgICAgICAvLyBtaW51dGVzXG4gICAgICAgICAgY2FzZSBcIm1cIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taW51dGUpO1xuICAgICAgICAgIGNhc2UgXCJtbVwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbnV0ZSwgMik7XG4gICAgICAgICAgLy8gaG91cnNcbiAgICAgICAgICBjYXNlIFwiaFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LmhvdXIgJSAxMiA9PT0gMCA/IDEyIDogZHQuaG91ciAlIDEyKTtcbiAgICAgICAgICBjYXNlIFwiaGhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyICUgMTIgPT09IDAgPyAxMiA6IGR0LmhvdXIgJSAxMiwgMik7XG4gICAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyKTtcbiAgICAgICAgICBjYXNlIFwiSEhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyLCAyKTtcbiAgICAgICAgICAvLyBvZmZzZXRcbiAgICAgICAgICBjYXNlIFwiWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSArNlxuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogXCJuYXJyb3dcIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSArMDY6MDBcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRPZmZzZXQoeyBmb3JtYXQ6IFwic2hvcnRcIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlpcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgKzA2MDBcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRPZmZzZXQoeyBmb3JtYXQ6IFwidGVjaGllXCIsIGFsbG93WjogdGhpcy5vcHRzLmFsbG93WiB9KTtcbiAgICAgICAgICBjYXNlIFwiWlpaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSBFU1RcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiBcInNob3J0XCIsIGxvY2FsZTogdGhpcy5sb2MubG9jYWxlIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlpaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSBFYXN0ZXJuIFN0YW5kYXJkIFRpbWVcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiBcImxvbmdcIiwgbG9jYWxlOiB0aGlzLmxvYy5sb2NhbGUgfSk7XG4gICAgICAgICAgLy8gem9uZVxuICAgICAgICAgIGNhc2UgXCJ6XCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFtZXJpY2EvTmV3X1lvcmtcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lTmFtZTtcbiAgICAgICAgICAvLyBtZXJpZGllbXNcbiAgICAgICAgICBjYXNlIFwiYVwiOlxuICAgICAgICAgICAgcmV0dXJuIG1lcmlkaWVtKCk7XG4gICAgICAgICAgLy8gZGF0ZXNcbiAgICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyID8gc3RyaW5nKHsgZGF5OiBcIm51bWVyaWNcIiB9LCBcImRheVwiKSA6IHRoaXMubnVtKGR0LmRheSk7XG4gICAgICAgICAgY2FzZSBcImRkXCI6XG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyBkYXk6IFwiMi1kaWdpdFwiIH0sIFwiZGF5XCIpIDogdGhpcy5udW0oZHQuZGF5LCAyKTtcbiAgICAgICAgICAvLyB3ZWVrZGF5cyAtIHN0YW5kYWxvbmVcbiAgICAgICAgICBjYXNlIFwiY1wiOlxuICAgICAgICAgICAgLy8gbGlrZSAxXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7XG4gICAgICAgICAgY2FzZSBcImNjY1wiOlxuICAgICAgICAgICAgLy8gbGlrZSAnVHVlcydcbiAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KFwic2hvcnRcIiwgdHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcImNjY2NcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknXG4gICAgICAgICAgICByZXR1cm4gd2Vla2RheShcImxvbmdcIiwgdHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcImNjY2NjXCI6XG4gICAgICAgICAgICAvLyBsaWtlICdUJ1xuICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoXCJuYXJyb3dcIiwgdHJ1ZSk7XG4gICAgICAgICAgLy8gd2Vla2RheXMgLSBmb3JtYXRcbiAgICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAxXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7XG4gICAgICAgICAgY2FzZSBcIkVFRVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAnVHVlcydcbiAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KFwic2hvcnRcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJFRUVFXCI6XG4gICAgICAgICAgICAvLyBsaWtlICdUdWVzZGF5J1xuICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoXCJsb25nXCIsIGZhbHNlKTtcbiAgICAgICAgICBjYXNlIFwiRUVFRUVcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgJ1QnXG4gICAgICAgICAgICByZXR1cm4gd2Vla2RheShcIm5hcnJvd1wiLCBmYWxzZSk7XG4gICAgICAgICAgLy8gbW9udGhzIC0gc3RhbmRhbG9uZVxuICAgICAgICAgIGNhc2UgXCJMXCI6XG4gICAgICAgICAgICAvLyBsaWtlIDFcbiAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlclxuICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiBcIm51bWVyaWNcIiwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgpO1xuICAgICAgICAgIGNhc2UgXCJMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMSwgZG9lc24ndCBzZWVtIHRvIHdvcmtcbiAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlclxuICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiBcIjItZGlnaXRcIiwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgsIDIpO1xuICAgICAgICAgIGNhc2UgXCJMTExcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgSmFuXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJzaG9ydFwiLCB0cnVlKTtcbiAgICAgICAgICBjYXNlIFwiTExMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKYW51YXJ5XG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJsb25nXCIsIHRydWUpO1xuICAgICAgICAgIGNhc2UgXCJMTExMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJuYXJyb3dcIiwgdHJ1ZSk7XG4gICAgICAgICAgLy8gbW9udGhzIC0gZm9ybWF0XG4gICAgICAgICAgY2FzZSBcIk1cIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMVxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyXG4gICAgICAgICAgICAgID8gc3RyaW5nKHsgbW9udGg6IFwibnVtZXJpY1wiIH0sIFwibW9udGhcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC5tb250aCk7XG4gICAgICAgICAgY2FzZSBcIk1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIDAxXG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyBtb250aDogXCIyLWRpZ2l0XCIgfSwgXCJtb250aFwiKVxuICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTtcbiAgICAgICAgICBjYXNlIFwiTU1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEphblxuICAgICAgICAgICAgcmV0dXJuIG1vbnRoKFwic2hvcnRcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJNTU1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEphbnVhcnlcbiAgICAgICAgICAgIHJldHVybiBtb250aChcImxvbmdcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJNTU1NTVwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJuYXJyb3dcIiwgZmFsc2UpO1xuICAgICAgICAgIC8vIHllYXJzXG4gICAgICAgICAgY2FzZSBcInlcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMjAxNFxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyID8gc3RyaW5nKHsgeWVhcjogXCJudW1lcmljXCIgfSwgXCJ5ZWFyXCIpIDogdGhpcy5udW0oZHQueWVhcik7XG4gICAgICAgICAgY2FzZSBcInl5XCI6XG4gICAgICAgICAgICAvLyBsaWtlIDE0XG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiBcIjItZGlnaXRcIiB9LCBcInllYXJcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTtcbiAgICAgICAgICBjYXNlIFwieXl5eVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMDEyXG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiBcIm51bWVyaWNcIiB9LCBcInllYXJcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLCA0KTtcbiAgICAgICAgICBjYXNlIFwieXl5eXl5XCI6XG4gICAgICAgICAgICAvLyBsaWtlIDAwMDAxMlxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyXG4gICAgICAgICAgICAgID8gc3RyaW5nKHsgeWVhcjogXCJudW1lcmljXCIgfSwgXCJ5ZWFyXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQueWVhciwgNik7XG4gICAgICAgICAgLy8gZXJhc1xuICAgICAgICAgIGNhc2UgXCJHXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFEXG4gICAgICAgICAgICByZXR1cm4gZXJhKFwic2hvcnRcIik7XG4gICAgICAgICAgY2FzZSBcIkdHXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFubm8gRG9taW5pXG4gICAgICAgICAgICByZXR1cm4gZXJhKFwibG9uZ1wiKTtcbiAgICAgICAgICBjYXNlIFwiR0dHR0dcIjpcbiAgICAgICAgICAgIHJldHVybiBlcmEoXCJuYXJyb3dcIik7XG4gICAgICAgICAgY2FzZSBcImtrXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla1llYXIudG9TdHJpbmcoKS5zbGljZSgtMiksIDIpO1xuICAgICAgICAgIGNhc2UgXCJra2trXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla1llYXIsIDQpO1xuICAgICAgICAgIGNhc2UgXCJXXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla051bWJlcik7XG4gICAgICAgICAgY2FzZSBcIldXXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla051bWJlciwgMik7XG4gICAgICAgICAgY2FzZSBcIm9cIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5vcmRpbmFsKTtcbiAgICAgICAgICBjYXNlIFwib29vXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQub3JkaW5hbCwgMyk7XG4gICAgICAgICAgY2FzZSBcInFcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIpO1xuICAgICAgICAgIGNhc2UgXCJxcVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIsIDIpO1xuICAgICAgICAgIGNhc2UgXCJYXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC50cyAvIDEwMDApKTtcbiAgICAgICAgICBjYXNlIFwieFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnRzKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG1heWJlTWFjcm8odG9rZW4pO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgcmV0dXJuIHN0cmluZ2lmeVRva2VucyhGb3JtYXR0ZXIucGFyc2VGb3JtYXQoZm10KSwgdG9rZW5Ub1N0cmluZyk7XG4gIH1cblxuICBmb3JtYXREdXJhdGlvbkZyb21TdHJpbmcoZHVyLCBmbXQpIHtcbiAgICBjb25zdCB0b2tlblRvRmllbGQgPSAodG9rZW4pID0+IHtcbiAgICAgICAgc3dpdGNoICh0b2tlblswXSkge1xuICAgICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJtaWxsaXNlY29uZFwiO1xuICAgICAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJzZWNvbmRcIjtcbiAgICAgICAgICBjYXNlIFwibVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwibWludXRlXCI7XG4gICAgICAgICAgY2FzZSBcImhcIjpcbiAgICAgICAgICAgIHJldHVybiBcImhvdXJcIjtcbiAgICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgICAgcmV0dXJuIFwiZGF5XCI7XG4gICAgICAgICAgY2FzZSBcIndcIjpcbiAgICAgICAgICAgIHJldHVybiBcIndlZWtcIjtcbiAgICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwibW9udGhcIjtcbiAgICAgICAgICBjYXNlIFwieVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwieWVhclwiO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRva2VuVG9TdHJpbmcgPSAobGlsZHVyKSA9PiAodG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGVkID0gdG9rZW5Ub0ZpZWxkKHRva2VuKTtcbiAgICAgICAgaWYgKG1hcHBlZCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLm51bShsaWxkdXIuZ2V0KG1hcHBlZCksIHRva2VuLmxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9rZW5zID0gRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksXG4gICAgICByZWFsVG9rZW5zID0gdG9rZW5zLnJlZHVjZShcbiAgICAgICAgKGZvdW5kLCB7IGxpdGVyYWwsIHZhbCB9KSA9PiAobGl0ZXJhbCA/IGZvdW5kIDogZm91bmQuY29uY2F0KHZhbCkpLFxuICAgICAgICBbXVxuICAgICAgKSxcbiAgICAgIGNvbGxhcHNlZCA9IGR1ci5zaGlmdFRvKC4uLnJlYWxUb2tlbnMubWFwKHRva2VuVG9GaWVsZCkuZmlsdGVyKCh0KSA9PiB0KSk7XG4gICAgcmV0dXJuIHN0cmluZ2lmeVRva2Vucyh0b2tlbnMsIHRva2VuVG9TdHJpbmcoY29sbGFwc2VkKSk7XG4gIH1cbn1cbiIsICJleHBvcnQgZGVmYXVsdCBjbGFzcyBJbnZhbGlkIHtcbiAgY29uc3RydWN0b3IocmVhc29uLCBleHBsYW5hdGlvbikge1xuICAgIHRoaXMucmVhc29uID0gcmVhc29uO1xuICAgIHRoaXMuZXhwbGFuYXRpb24gPSBleHBsYW5hdGlvbjtcbiAgfVxuXG4gIHRvTWVzc2FnZSgpIHtcbiAgICBpZiAodGhpcy5leHBsYW5hdGlvbikge1xuICAgICAgcmV0dXJuIGAke3RoaXMucmVhc29ufTogJHt0aGlzLmV4cGxhbmF0aW9ufWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJlYXNvbjtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBab25lSXNBYnN0cmFjdEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5cbi8qKlxuICogQGludGVyZmFjZVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBab25lIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHpvbmVcbiAgICogQGFic3RyYWN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgdHlwZSgpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgem9uZS5cbiAgICogQGFic3RyYWN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbmFtZSgpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgZ2V0IGlhbmFOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBvZmZzZXQgaXMga25vd24gdG8gYmUgZml4ZWQgZm9yIHRoZSB3aG9sZSB5ZWFyLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNVbml2ZXJzYWwoKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyBjb21tb24gbmFtZSAoc3VjaCBhcyBFU1QpIGF0IHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge251bWJlcn0gdHMgLSBFcG9jaCBtaWxsaXNlY29uZHMgZm9yIHdoaWNoIHRvIGdldCB0aGUgbmFtZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gYWZmZWN0IHRoZSBmb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMuZm9ybWF0IC0gV2hhdCBzdHlsZSBvZiBvZmZzZXQgdG8gcmV0dXJuLiBBY2NlcHRzICdsb25nJyBvciAnc2hvcnQnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5sb2NhbGUgLSBXaGF0IGxvY2FsZSB0byByZXR1cm4gdGhlIG9mZnNldCBuYW1lIGluLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBvZmZzZXROYW1lKHRzLCBvcHRzKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyB2YWx1ZSBhcyBhIHN0cmluZ1xuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtudW1iZXJ9IHRzIC0gRXBvY2ggbWlsbGlzZWNvbmRzIGZvciB3aGljaCB0byBnZXQgdGhlIG9mZnNldFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gV2hhdCBzdHlsZSBvZiBvZmZzZXQgdG8gcmV0dXJuLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0cyAnbmFycm93JywgJ3Nob3J0Jywgb3IgJ3RlY2hpZScuIFJldHVybmluZyAnKzYnLCAnKzA2OjAwJywgb3IgJyswNjAwJyByZXNwZWN0aXZlbHlcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgZm9yIHRoaXMgem9uZSBhdCB0aGUgc3BlY2lmaWVkIHRpbWVzdGFtcC5cbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gY29tcHV0ZSB0aGUgb2Zmc2V0XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIG9mZnNldCh0cykge1xuICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBab25lIGlzIGVxdWFsIHRvIGFub3RoZXIgem9uZVxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtab25lfSBvdGhlclpvbmUgLSB0aGUgem9uZSB0byBjb21wYXJlXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBlcXVhbHMob3RoZXJab25lKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIFpvbmUgaXMgdmFsaWQuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBmb3JtYXRPZmZzZXQsIHBhcnNlWm9uZUluZm8gfSBmcm9tIFwiLi4vaW1wbC91dGlsLmpzXCI7XG5pbXBvcnQgWm9uZSBmcm9tIFwiLi4vem9uZS5qc1wiO1xuXG5sZXQgc2luZ2xldG9uID0gbnVsbDtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBsb2NhbCB6b25lIGZvciB0aGlzIEphdmFTY3JpcHQgZW52aXJvbm1lbnQuXG4gKiBAaW1wbGVtZW50cyB7Wm9uZX1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3lzdGVtWm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBsb2NhbCB6b25lXG4gICAqIEByZXR1cm4ge1N5c3RlbVpvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHtcbiAgICAgIHNpbmdsZXRvbiA9IG5ldyBTeXN0ZW1ab25lKCk7XG4gICAgfVxuICAgIHJldHVybiBzaW5nbGV0b247XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gXCJzeXN0ZW1cIjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IGlzVW5pdmVyc2FsKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldE5hbWUodHMsIHsgZm9ybWF0LCBsb2NhbGUgfSkge1xuICAgIHJldHVybiBwYXJzZVpvbmVJbmZvKHRzLCBmb3JtYXQsIGxvY2FsZSk7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkge1xuICAgIHJldHVybiBmb3JtYXRPZmZzZXQodGhpcy5vZmZzZXQodHMpLCBmb3JtYXQpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgb2Zmc2V0KHRzKSB7XG4gICAgcmV0dXJuIC1uZXcgRGF0ZSh0cykuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwic3lzdGVtXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZvcm1hdE9mZnNldCwgcGFyc2Vab25lSW5mbywgaXNVbmRlZmluZWQsIG9ialRvTG9jYWxUUyB9IGZyb20gXCIuLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCBab25lIGZyb20gXCIuLi96b25lLmpzXCI7XG5cbmxldCBkdGZDYWNoZSA9IHt9O1xuZnVuY3Rpb24gbWFrZURURih6b25lKSB7XG4gIGlmICghZHRmQ2FjaGVbem9uZV0pIHtcbiAgICBkdGZDYWNoZVt6b25lXSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFwiZW4tVVNcIiwge1xuICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgIHRpbWVab25lOiB6b25lLFxuICAgICAgeWVhcjogXCJudW1lcmljXCIsXG4gICAgICBtb250aDogXCIyLWRpZ2l0XCIsXG4gICAgICBkYXk6IFwiMi1kaWdpdFwiLFxuICAgICAgaG91cjogXCIyLWRpZ2l0XCIsXG4gICAgICBtaW51dGU6IFwiMi1kaWdpdFwiLFxuICAgICAgc2Vjb25kOiBcIjItZGlnaXRcIixcbiAgICAgIGVyYTogXCJzaG9ydFwiLFxuICAgIH0pO1xuICB9XG4gIHJldHVybiBkdGZDYWNoZVt6b25lXTtcbn1cblxuY29uc3QgdHlwZVRvUG9zID0ge1xuICB5ZWFyOiAwLFxuICBtb250aDogMSxcbiAgZGF5OiAyLFxuICBlcmE6IDMsXG4gIGhvdXI6IDQsXG4gIG1pbnV0ZTogNSxcbiAgc2Vjb25kOiA2LFxufTtcblxuZnVuY3Rpb24gaGFja3lPZmZzZXQoZHRmLCBkYXRlKSB7XG4gIGNvbnN0IGZvcm1hdHRlZCA9IGR0Zi5mb3JtYXQoZGF0ZSkucmVwbGFjZSgvXFx1MjAwRS9nLCBcIlwiKSxcbiAgICBwYXJzZWQgPSAvKFxcZCspXFwvKFxcZCspXFwvKFxcZCspIChBRHxCQyksPyAoXFxkKyk6KFxcZCspOihcXGQrKS8uZXhlYyhmb3JtYXR0ZWQpLFxuICAgIFssIGZNb250aCwgZkRheSwgZlllYXIsIGZhZE9yQmMsIGZIb3VyLCBmTWludXRlLCBmU2Vjb25kXSA9IHBhcnNlZDtcbiAgcmV0dXJuIFtmWWVhciwgZk1vbnRoLCBmRGF5LCBmYWRPckJjLCBmSG91ciwgZk1pbnV0ZSwgZlNlY29uZF07XG59XG5cbmZ1bmN0aW9uIHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSkge1xuICBjb25zdCBmb3JtYXR0ZWQgPSBkdGYuZm9ybWF0VG9QYXJ0cyhkYXRlKTtcbiAgY29uc3QgZmlsbGVkID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgeyB0eXBlLCB2YWx1ZSB9ID0gZm9ybWF0dGVkW2ldO1xuICAgIGNvbnN0IHBvcyA9IHR5cGVUb1Bvc1t0eXBlXTtcblxuICAgIGlmICh0eXBlID09PSBcImVyYVwiKSB7XG4gICAgICBmaWxsZWRbcG9zXSA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKHBvcykpIHtcbiAgICAgIGZpbGxlZFtwb3NdID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZpbGxlZDtcbn1cblxubGV0IGlhbmFab25lQ2FjaGUgPSB7fTtcbi8qKlxuICogQSB6b25lIGlkZW50aWZpZWQgYnkgYW4gSUFOQSBpZGVudGlmaWVyLCBsaWtlIEFtZXJpY2EvTmV3X1lvcmtcbiAqIEBpbXBsZW1lbnRzIHtab25lfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJQU5BWm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBab25lIG5hbWVcbiAgICogQHJldHVybiB7SUFOQVpvbmV9XG4gICAqL1xuICBzdGF0aWMgY3JlYXRlKG5hbWUpIHtcbiAgICBpZiAoIWlhbmFab25lQ2FjaGVbbmFtZV0pIHtcbiAgICAgIGlhbmFab25lQ2FjaGVbbmFtZV0gPSBuZXcgSUFOQVpvbmUobmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBpYW5hWm9uZUNhY2hlW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGxvY2FsIGNhY2hlcy4gU2hvdWxkIG9ubHkgYmUgbmVjZXNzYXJ5IGluIHRlc3Rpbmcgc2NlbmFyaW9zLlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIHJlc2V0Q2FjaGUoKSB7XG4gICAgaWFuYVpvbmVDYWNoZSA9IHt9O1xuICAgIGR0ZkNhY2hlID0ge307XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBwcm92aWRlZCBzdHJpbmcgaXMgYSB2YWxpZCBzcGVjaWZpZXIuIFRoaXMgb25seSBjaGVja3MgdGhlIHN0cmluZydzIGZvcm1hdCwgbm90IHRoYXQgdGhlIHNwZWNpZmllciBpZGVudGlmaWVzIGEga25vd24gem9uZTsgc2VlIGlzVmFsaWRab25lIGZvciB0aGF0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcyAtIFRoZSBzdHJpbmcgdG8gY2hlY2sgdmFsaWRpdHkgb25cbiAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcihcIkFtZXJpY2EvTmV3X1lvcmtcIikgLy89PiB0cnVlXG4gICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRTcGVjaWZpZXIoXCJTcG9ydH5+YmxvcnBcIikgLy89PiBmYWxzZVxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIG1ldGhvZCByZXR1cm5zIGZhbHNlIGZvciBzb21lIHZhbGlkIElBTkEgbmFtZXMuIFVzZSBpc1ZhbGlkWm9uZSBpbnN0ZWFkLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgc3RhdGljIGlzVmFsaWRTcGVjaWZpZXIocykge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRab25lKHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgcHJvdmlkZWQgc3RyaW5nIGlkZW50aWZpZXMgYSByZWFsIHpvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvbmUgLSBUaGUgc3RyaW5nIHRvIGNoZWNrXG4gICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRab25lKFwiQW1lcmljYS9OZXdfWW9ya1wiKSAvLz0+IHRydWVcbiAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFpvbmUoXCJGYW50YXNpYS9DYXN0bGVcIikgLy89PiBmYWxzZVxuICAgKiBAZXhhbXBsZSBJQU5BWm9uZS5pc1ZhbGlkWm9uZShcIlNwb3J0fn5ibG9ycFwiKSAvLz0+IGZhbHNlXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNWYWxpZFpvbmUoem9uZSkge1xuICAgIGlmICghem9uZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJlbi1VU1wiLCB7IHRpbWVab25lOiB6b25lIH0pLmZvcm1hdCgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG5hbWUpIHtcbiAgICBzdXBlcigpO1xuICAgIC8qKiBAcHJpdmF0ZSAqKi9cbiAgICB0aGlzLnpvbmVOYW1lID0gbmFtZTtcbiAgICAvKiogQHByaXZhdGUgKiovXG4gICAgdGhpcy52YWxpZCA9IElBTkFab25lLmlzVmFsaWRab25lKG5hbWUpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIFwiaWFuYVwiO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuem9uZU5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNVbml2ZXJzYWwoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgb2Zmc2V0TmFtZSh0cywgeyBmb3JtYXQsIGxvY2FsZSB9KSB7XG4gICAgcmV0dXJuIHBhcnNlWm9uZUluZm8odHMsIGZvcm1hdCwgbG9jYWxlLCB0aGlzLm5hbWUpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHtcbiAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHRoaXMub2Zmc2V0KHRzKSwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldCh0cykge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0cyk7XG5cbiAgICBpZiAoaXNOYU4oZGF0ZSkpIHJldHVybiBOYU47XG5cbiAgICBjb25zdCBkdGYgPSBtYWtlRFRGKHRoaXMubmFtZSk7XG4gICAgbGV0IFt5ZWFyLCBtb250aCwgZGF5LCBhZE9yQmMsIGhvdXIsIG1pbnV0ZSwgc2Vjb25kXSA9IGR0Zi5mb3JtYXRUb1BhcnRzXG4gICAgICA/IHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSlcbiAgICAgIDogaGFja3lPZmZzZXQoZHRmLCBkYXRlKTtcblxuICAgIGlmIChhZE9yQmMgPT09IFwiQkNcIikge1xuICAgICAgeWVhciA9IC1NYXRoLmFicyh5ZWFyKSArIDE7XG4gICAgfVxuXG4gICAgLy8gYmVjYXVzZSB3ZSdyZSB1c2luZyBob3VyMTIgYW5kIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTEwMjU1NjQmY2FuPTImcT0lMjIyNCUzQTAwJTIyJTIwZGF0ZXRpbWVmb3JtYXRcbiAgICBjb25zdCBhZGp1c3RlZEhvdXIgPSBob3VyID09PSAyNCA/IDAgOiBob3VyO1xuXG4gICAgY29uc3QgYXNVVEMgPSBvYmpUb0xvY2FsVFMoe1xuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5LFxuICAgICAgaG91cjogYWRqdXN0ZWRIb3VyLFxuICAgICAgbWludXRlLFxuICAgICAgc2Vjb25kLFxuICAgICAgbWlsbGlzZWNvbmQ6IDAsXG4gICAgfSk7XG5cbiAgICBsZXQgYXNUUyA9ICtkYXRlO1xuICAgIGNvbnN0IG92ZXIgPSBhc1RTICUgMTAwMDtcbiAgICBhc1RTIC09IG92ZXIgPj0gMCA/IG92ZXIgOiAxMDAwICsgb3ZlcjtcbiAgICByZXR1cm4gKGFzVVRDIC0gYXNUUykgLyAoNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwiaWFuYVwiICYmIG90aGVyWm9uZS5uYW1lID09PSB0aGlzLm5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZDtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZvcm1hdE9mZnNldCwgc2lnbmVkT2Zmc2V0IH0gZnJvbSBcIi4uL2ltcGwvdXRpbC5qc1wiO1xuaW1wb3J0IFpvbmUgZnJvbSBcIi4uL3pvbmUuanNcIjtcblxubGV0IHNpbmdsZXRvbiA9IG51bGw7XG5cbi8qKlxuICogQSB6b25lIHdpdGggYSBmaXhlZCBvZmZzZXQgKG1lYW5pbmcgbm8gRFNUKVxuICogQGltcGxlbWVudHMge1pvbmV9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpeGVkT2Zmc2V0Wm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIFVUQ1xuICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IHV0Y0luc3RhbmNlKCkge1xuICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHtcbiAgICAgIHNpbmdsZXRvbiA9IG5ldyBGaXhlZE9mZnNldFpvbmUoMCk7XG4gICAgfVxuICAgIHJldHVybiBzaW5nbGV0b247XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGluc3RhbmNlIHdpdGggYSBzcGVjaWZpZWQgb2Zmc2V0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXQgLSBUaGUgb2Zmc2V0IGluIG1pbnV0ZXNcbiAgICogQHJldHVybiB7Rml4ZWRPZmZzZXRab25lfVxuICAgKi9cbiAgc3RhdGljIGluc3RhbmNlKG9mZnNldCkge1xuICAgIHJldHVybiBvZmZzZXQgPT09IDAgPyBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2UgOiBuZXcgRml4ZWRPZmZzZXRab25lKG9mZnNldCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGluc3RhbmNlIG9mIEZpeGVkT2Zmc2V0Wm9uZSBmcm9tIGEgVVRDIG9mZnNldCBzdHJpbmcsIGxpa2UgXCJVVEMrNlwiXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIG9mZnNldCBzdHJpbmcgdG8gcGFyc2VcbiAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKFwiVVRDKzZcIilcbiAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKFwiVVRDKzA2XCIpXG4gICAqIEBleGFtcGxlIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihcIlVUQy02OjAwXCIpXG4gICAqIEByZXR1cm4ge0ZpeGVkT2Zmc2V0Wm9uZX1cbiAgICovXG4gIHN0YXRpYyBwYXJzZVNwZWNpZmllcihzKSB7XG4gICAgaWYgKHMpIHtcbiAgICAgIGNvbnN0IHIgPSBzLm1hdGNoKC9edXRjKD86KFsrLV1cXGR7MSwyfSkoPzo6KFxcZHsyfSkpPyk/JC9pKTtcbiAgICAgIGlmIChyKSB7XG4gICAgICAgIHJldHVybiBuZXcgRml4ZWRPZmZzZXRab25lKHNpZ25lZE9mZnNldChyWzFdLCByWzJdKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob2Zmc2V0KSB7XG4gICAgc3VwZXIoKTtcbiAgICAvKiogQHByaXZhdGUgKiovXG4gICAgdGhpcy5maXhlZCA9IG9mZnNldDtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiBcImZpeGVkXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maXhlZCA9PT0gMCA/IFwiVVRDXCIgOiBgVVRDJHtmb3JtYXRPZmZzZXQodGhpcy5maXhlZCwgXCJuYXJyb3dcIil9YDtcbiAgfVxuXG4gIGdldCBpYW5hTmFtZSgpIHtcbiAgICBpZiAodGhpcy5maXhlZCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFwiRXRjL1VUQ1wiO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYEV0Yy9HTVQke2Zvcm1hdE9mZnNldCgtdGhpcy5maXhlZCwgXCJuYXJyb3dcIil9YDtcbiAgICB9XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBvZmZzZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkge1xuICAgIHJldHVybiBmb3JtYXRPZmZzZXQodGhpcy5maXhlZCwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBpc1VuaXZlcnNhbCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldCgpIHtcbiAgICByZXR1cm4gdGhpcy5maXhlZDtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwiZml4ZWRcIiAmJiBvdGhlclpvbmUuZml4ZWQgPT09IHRoaXMuZml4ZWQ7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCBab25lIGZyb20gXCIuLi96b25lLmpzXCI7XG5cbi8qKlxuICogQSB6b25lIHRoYXQgZmFpbGVkIHRvIHBhcnNlLiBZb3Ugc2hvdWxkIG5ldmVyIG5lZWQgdG8gaW5zdGFudGlhdGUgdGhpcy5cbiAqIEBpbXBsZW1lbnRzIHtab25lfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnZhbGlkWm9uZSBleHRlbmRzIFpvbmUge1xuICBjb25zdHJ1Y3Rvcih6b25lTmFtZSkge1xuICAgIHN1cGVyKCk7XG4gICAgLyoqICBAcHJpdmF0ZSAqL1xuICAgIHRoaXMuem9uZU5hbWUgPSB6b25lTmFtZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiBcImludmFsaWRcIjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnpvbmVOYW1lO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IGlzVW5pdmVyc2FsKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldE5hbWUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBvZmZzZXQoKSB7XG4gICAgcmV0dXJuIE5hTjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsICIvKipcbiAqIEBwcml2YXRlXG4gKi9cblxuaW1wb3J0IFpvbmUgZnJvbSBcIi4uL3pvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBGaXhlZE9mZnNldFpvbmUgZnJvbSBcIi4uL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IEludmFsaWRab25lIGZyb20gXCIuLi96b25lcy9pbnZhbGlkWm9uZS5qc1wiO1xuXG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgaXNTdHJpbmcsIGlzTnVtYmVyIH0gZnJvbSBcIi4vdXRpbC5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplWm9uZShpbnB1dCwgZGVmYXVsdFpvbmUpIHtcbiAgbGV0IG9mZnNldDtcbiAgaWYgKGlzVW5kZWZpbmVkKGlucHV0KSB8fCBpbnB1dCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBkZWZhdWx0Wm9uZTtcbiAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIFpvbmUpIHtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH0gZWxzZSBpZiAoaXNTdHJpbmcoaW5wdXQpKSB7XG4gICAgY29uc3QgbG93ZXJlZCA9IGlucHV0LnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxvd2VyZWQgPT09IFwibG9jYWxcIiB8fCBsb3dlcmVkID09PSBcInN5c3RlbVwiKSByZXR1cm4gZGVmYXVsdFpvbmU7XG4gICAgZWxzZSBpZiAobG93ZXJlZCA9PT0gXCJ1dGNcIiB8fCBsb3dlcmVkID09PSBcImdtdFwiKSByZXR1cm4gRml4ZWRPZmZzZXRab25lLnV0Y0luc3RhbmNlO1xuICAgIGVsc2UgcmV0dXJuIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihsb3dlcmVkKSB8fCBJQU5BWm9uZS5jcmVhdGUoaW5wdXQpO1xuICB9IGVsc2UgaWYgKGlzTnVtYmVyKGlucHV0KSkge1xuICAgIHJldHVybiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoaW5wdXQpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIiAmJiBpbnB1dC5vZmZzZXQgJiYgdHlwZW9mIGlucHV0Lm9mZnNldCA9PT0gXCJudW1iZXJcIikge1xuICAgIC8vIFRoaXMgaXMgZHVtYiwgYnV0IHRoZSBpbnN0YW5jZW9mIGNoZWNrIGFib3ZlIGRvZXNuJ3Qgc2VlbSB0byByZWFsbHkgd29ya1xuICAgIC8vIHNvIHdlJ3JlIGR1Y2sgY2hlY2tpbmcgaXRcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBJbnZhbGlkWm9uZShpbnB1dCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgU3lzdGVtWm9uZSBmcm9tIFwiLi96b25lcy9zeXN0ZW1ab25lLmpzXCI7XG5pbXBvcnQgSUFOQVpvbmUgZnJvbSBcIi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcIi4vaW1wbC9sb2NhbGUuanNcIjtcblxuaW1wb3J0IHsgbm9ybWFsaXplWm9uZSB9IGZyb20gXCIuL2ltcGwvem9uZVV0aWwuanNcIjtcblxubGV0IG5vdyA9ICgpID0+IERhdGUubm93KCksXG4gIGRlZmF1bHRab25lID0gXCJzeXN0ZW1cIixcbiAgZGVmYXVsdExvY2FsZSA9IG51bGwsXG4gIGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0gPSBudWxsLFxuICBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIgPSBudWxsLFxuICB0aHJvd09uSW52YWxpZDtcblxuLyoqXG4gKiBTZXR0aW5ncyBjb250YWlucyBzdGF0aWMgZ2V0dGVycyBhbmQgc2V0dGVycyB0aGF0IGNvbnRyb2wgTHV4b24ncyBvdmVyYWxsIGJlaGF2aW9yLiBMdXhvbiBpcyBhIHNpbXBsZSBsaWJyYXJ5IHdpdGggZmV3IG9wdGlvbnMsIGJ1dCB0aGUgb25lcyBpdCBkb2VzIGhhdmUgbGl2ZSBoZXJlLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNhbGxiYWNrIGZvciByZXR1cm5pbmcgdGhlIGN1cnJlbnQgdGltZXN0YW1wLlxuICAgKiBAdHlwZSB7ZnVuY3Rpb259XG4gICAqL1xuICBzdGF0aWMgZ2V0IG5vdygpIHtcbiAgICByZXR1cm4gbm93O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY2FsbGJhY2sgZm9yIHJldHVybmluZyB0aGUgY3VycmVudCB0aW1lc3RhbXAuXG4gICAqIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgbnVtYmVyLCB3aGljaCB3aWxsIGJlIGludGVycHJldGVkIGFzIGFuIEVwb2NoIG1pbGxpc2Vjb25kIGNvdW50XG4gICAqIEB0eXBlIHtmdW5jdGlvbn1cbiAgICogQGV4YW1wbGUgU2V0dGluZ3Mubm93ID0gKCkgPT4gRGF0ZS5ub3coKSArIDMwMDAgLy8gcHJldGVuZCBpdCBpcyAzIHNlY29uZHMgaW4gdGhlIGZ1dHVyZVxuICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiAwIC8vIGFsd2F5cyBwcmV0ZW5kIGl0J3MgSmFuIDEsIDE5NzAgYXQgbWlkbmlnaHQgaW4gVVRDIHRpbWVcbiAgICovXG4gIHN0YXRpYyBzZXQgbm93KG4pIHtcbiAgICBub3cgPSBuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCB0aW1lIHpvbmUgdG8gY3JlYXRlIERhdGVUaW1lcyBpbi4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogVXNlIHRoZSB2YWx1ZSBcInN5c3RlbVwiIHRvIHJlc2V0IHRoaXMgdmFsdWUgdG8gdGhlIHN5c3RlbSdzIHRpbWUgem9uZS5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBzZXQgZGVmYXVsdFpvbmUoem9uZSkge1xuICAgIGRlZmF1bHRab25lID0gem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgdGltZSB6b25lIG9iamVjdCBjdXJyZW50bHkgdXNlZCB0byBjcmVhdGUgRGF0ZVRpbWVzLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUgc3lzdGVtJ3MgdGltZSB6b25lICh0aGUgb25lIHNldCBvbiB0aGUgbWFjaGluZSB0aGF0IHJ1bnMgdGhpcyBjb2RlKS5cbiAgICogQHR5cGUge1pvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IGRlZmF1bHRab25lKCkge1xuICAgIHJldHVybiBub3JtYWxpemVab25lKGRlZmF1bHRab25lLCBTeXN0ZW1ab25lLmluc3RhbmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgbG9jYWxlIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdExvY2FsZSgpIHtcbiAgICByZXR1cm4gZGVmYXVsdExvY2FsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgbG9jYWxlIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBzZXQgZGVmYXVsdExvY2FsZShsb2NhbGUpIHtcbiAgICBkZWZhdWx0TG9jYWxlID0gbG9jYWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGVmYXVsdCBudW1iZXJpbmcgc3lzdGVtIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSgpIHtcbiAgICByZXR1cm4gZGVmYXVsdE51bWJlcmluZ1N5c3RlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgbnVtYmVyaW5nIHN5c3RlbSB0byBjcmVhdGUgRGF0ZVRpbWVzIHdpdGguIERvZXMgbm90IGFmZmVjdCBleGlzdGluZyBpbnN0YW5jZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgc2V0IGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0obnVtYmVyaW5nU3lzdGVtKSB7XG4gICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bWJlcmluZ1N5c3RlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGNhbGVuZGFyIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKCkge1xuICAgIHJldHVybiBkZWZhdWx0T3V0cHV0Q2FsZW5kYXI7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZWZhdWx0IG91dHB1dCBjYWxlbmRhciB0byBjcmVhdGUgRGF0ZVRpbWVzIHdpdGguIERvZXMgbm90IGFmZmVjdCBleGlzdGluZyBpbnN0YW5jZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgc2V0IGRlZmF1bHRPdXRwdXRDYWxlbmRhcihvdXRwdXRDYWxlbmRhcikge1xuICAgIGRlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIEx1eG9uIHdpbGwgdGhyb3cgd2hlbiBpdCBlbmNvdW50ZXJzIGludmFsaWQgRGF0ZVRpbWVzLCBEdXJhdGlvbnMsIG9yIEludGVydmFsc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBnZXQgdGhyb3dPbkludmFsaWQoKSB7XG4gICAgcmV0dXJuIHRocm93T25JbnZhbGlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIEx1eG9uIHdpbGwgdGhyb3cgd2hlbiBpdCBlbmNvdW50ZXJzIGludmFsaWQgRGF0ZVRpbWVzLCBEdXJhdGlvbnMsIG9yIEludGVydmFsc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBzZXQgdGhyb3dPbkludmFsaWQodCkge1xuICAgIHRocm93T25JbnZhbGlkID0gdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBMdXhvbidzIGdsb2JhbCBjYWNoZXMuIFNob3VsZCBvbmx5IGJlIG5lY2Vzc2FyeSBpbiB0ZXN0aW5nIHNjZW5hcmlvcy5cbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyByZXNldENhY2hlcygpIHtcbiAgICBMb2NhbGUucmVzZXRDYWNoZSgpO1xuICAgIElBTkFab25lLnJlc2V0Q2FjaGUoKTtcbiAgfVxufVxuIiwgImltcG9ydCB7IHBhZFN0YXJ0LCByb3VuZFRvLCBoYXNSZWxhdGl2ZSB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCAqIGFzIEVuZ2xpc2ggZnJvbSBcIi4vZW5nbGlzaC5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuLi9zZXR0aW5ncy5qc1wiO1xuaW1wb3J0IERhdGVUaW1lIGZyb20gXCIuLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IElBTkFab25lIGZyb20gXCIuLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuXG4vLyB0b2RvIC0gcmVtYXAgY2FjaGluZ1xuXG5sZXQgaW50bExGQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGdldENhY2hlZExGKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTtcbiAgbGV0IGR0ZiA9IGludGxMRkNhY2hlW2tleV07XG4gIGlmICghZHRmKSB7XG4gICAgZHRmID0gbmV3IEludGwuTGlzdEZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxMRkNhY2hlW2tleV0gPSBkdGY7XG4gIH1cbiAgcmV0dXJuIGR0Zjtcbn1cblxubGV0IGludGxEVENhY2hlID0ge307XG5mdW5jdGlvbiBnZXRDYWNoZWREVEYobG9jU3RyaW5nLCBvcHRzID0ge30pIHtcbiAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgb3B0c10pO1xuICBsZXQgZHRmID0gaW50bERUQ2FjaGVba2V5XTtcbiAgaWYgKCFkdGYpIHtcbiAgICBkdGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxEVENhY2hlW2tleV0gPSBkdGY7XG4gIH1cbiAgcmV0dXJuIGR0Zjtcbn1cblxubGV0IGludGxOdW1DYWNoZSA9IHt9O1xuZnVuY3Rpb24gZ2V0Q2FjaGVkSU5GKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTtcbiAgbGV0IGluZiA9IGludGxOdW1DYWNoZVtrZXldO1xuICBpZiAoIWluZikge1xuICAgIGluZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxOdW1DYWNoZVtrZXldID0gaW5mO1xuICB9XG4gIHJldHVybiBpbmY7XG59XG5cbmxldCBpbnRsUmVsQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGdldENhY2hlZFJURihsb2NTdHJpbmcsIG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJhc2UsIC4uLmNhY2hlS2V5T3B0cyB9ID0gb3B0czsgLy8gZXhjbHVkZSBgYmFzZWAgZnJvbSB0aGUgb3B0aW9uc1xuICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeShbbG9jU3RyaW5nLCBjYWNoZUtleU9wdHNdKTtcbiAgbGV0IGluZiA9IGludGxSZWxDYWNoZVtrZXldO1xuICBpZiAoIWluZikge1xuICAgIGluZiA9IG5ldyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxSZWxDYWNoZVtrZXldID0gaW5mO1xuICB9XG4gIHJldHVybiBpbmY7XG59XG5cbmxldCBzeXNMb2NhbGVDYWNoZSA9IG51bGw7XG5mdW5jdGlvbiBzeXN0ZW1Mb2NhbGUoKSB7XG4gIGlmIChzeXNMb2NhbGVDYWNoZSkge1xuICAgIHJldHVybiBzeXNMb2NhbGVDYWNoZTtcbiAgfSBlbHNlIHtcbiAgICBzeXNMb2NhbGVDYWNoZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlO1xuICAgIHJldHVybiBzeXNMb2NhbGVDYWNoZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGVTdHIpIHtcbiAgLy8gSSByZWFsbHkgd2FudCB0byBhdm9pZCB3cml0aW5nIGEgQkNQIDQ3IHBhcnNlclxuICAvLyBzZWUsIGUuZy4gaHR0cHM6Ly9naXRodWIuY29tL3dvb29ybS9iY3AtNDdcbiAgLy8gSW5zdGVhZCwgd2UnbGwgZG8gdGhpczpcblxuICAvLyBhKSBpZiB0aGUgc3RyaW5nIGhhcyBubyAtdSBleHRlbnNpb25zLCBqdXN0IGxlYXZlIGl0IGFsb25lXG4gIC8vIGIpIGlmIGl0IGRvZXMsIHVzZSBJbnRsIHRvIHJlc29sdmUgZXZlcnl0aGluZ1xuICAvLyBjKSBpZiBJbnRsIGZhaWxzLCB0cnkgYWdhaW4gd2l0aG91dCB0aGUgLXVcblxuICBjb25zdCB1SW5kZXggPSBsb2NhbGVTdHIuaW5kZXhPZihcIi11LVwiKTtcbiAgaWYgKHVJbmRleCA9PT0gLTEpIHtcbiAgICByZXR1cm4gW2xvY2FsZVN0cl07XG4gIH0gZWxzZSB7XG4gICAgbGV0IG9wdGlvbnM7XG4gICAgY29uc3Qgc21hbGxlciA9IGxvY2FsZVN0ci5zdWJzdHJpbmcoMCwgdUluZGV4KTtcbiAgICB0cnkge1xuICAgICAgb3B0aW9ucyA9IGdldENhY2hlZERURihsb2NhbGVTdHIpLnJlc29sdmVkT3B0aW9ucygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIG9wdGlvbnMgPSBnZXRDYWNoZWREVEYoc21hbGxlcikucmVzb2x2ZWRPcHRpb25zKCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyIH0gPSBvcHRpb25zO1xuICAgIC8vIHJldHVybiB0aGUgc21hbGxlciBvbmUgc28gdGhhdCB3ZSBjYW4gYXBwZW5kIHRoZSBjYWxlbmRhciBhbmQgbnVtYmVyaW5nIG92ZXJyaWRlcyB0byBpdFxuICAgIHJldHVybiBbc21hbGxlciwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhcl07XG4gIH1cbn1cblxuZnVuY3Rpb24gaW50bENvbmZpZ1N0cmluZyhsb2NhbGVTdHIsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIpIHtcbiAgaWYgKG91dHB1dENhbGVuZGFyIHx8IG51bWJlcmluZ1N5c3RlbSkge1xuICAgIGxvY2FsZVN0ciArPSBcIi11XCI7XG5cbiAgICBpZiAob3V0cHV0Q2FsZW5kYXIpIHtcbiAgICAgIGxvY2FsZVN0ciArPSBgLWNhLSR7b3V0cHV0Q2FsZW5kYXJ9YDtcbiAgICB9XG5cbiAgICBpZiAobnVtYmVyaW5nU3lzdGVtKSB7XG4gICAgICBsb2NhbGVTdHIgKz0gYC1udS0ke251bWJlcmluZ1N5c3RlbX1gO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYWxlU3RyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsb2NhbGVTdHI7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwTW9udGhzKGYpIHtcbiAgY29uc3QgbXMgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMTI7IGkrKykge1xuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUudXRjKDIwMTYsIGksIDEpO1xuICAgIG1zLnB1c2goZihkdCkpO1xuICB9XG4gIHJldHVybiBtcztcbn1cblxuZnVuY3Rpb24gbWFwV2Vla2RheXMoZikge1xuICBjb25zdCBtcyA9IFtdO1xuICBmb3IgKGxldCBpID0gMTsgaSA8PSA3OyBpKyspIHtcbiAgICBjb25zdCBkdCA9IERhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMgKyBpKTtcbiAgICBtcy5wdXNoKGYoZHQpKTtcbiAgfVxuICByZXR1cm4gbXM7XG59XG5cbmZ1bmN0aW9uIGxpc3RTdHVmZihsb2MsIGxlbmd0aCwgZGVmYXVsdE9LLCBlbmdsaXNoRm4sIGludGxGbikge1xuICBjb25zdCBtb2RlID0gbG9jLmxpc3RpbmdNb2RlKGRlZmF1bHRPSyk7XG5cbiAgaWYgKG1vZGUgPT09IFwiZXJyb3JcIikge1xuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2UgaWYgKG1vZGUgPT09IFwiZW5cIikge1xuICAgIHJldHVybiBlbmdsaXNoRm4obGVuZ3RoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaW50bEZuKGxlbmd0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3VwcG9ydHNGYXN0TnVtYmVycyhsb2MpIHtcbiAgaWYgKGxvYy5udW1iZXJpbmdTeXN0ZW0gJiYgbG9jLm51bWJlcmluZ1N5c3RlbSAhPT0gXCJsYXRuXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxvYy5udW1iZXJpbmdTeXN0ZW0gPT09IFwibGF0blwiIHx8XG4gICAgICAhbG9jLmxvY2FsZSB8fFxuICAgICAgbG9jLmxvY2FsZS5zdGFydHNXaXRoKFwiZW5cIikgfHxcbiAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvYy5pbnRsKS5yZXNvbHZlZE9wdGlvbnMoKS5udW1iZXJpbmdTeXN0ZW0gPT09IFwibGF0blwiXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuY2xhc3MgUG9seU51bWJlckZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKGludGwsIGZvcmNlU2ltcGxlLCBvcHRzKSB7XG4gICAgdGhpcy5wYWRUbyA9IG9wdHMucGFkVG8gfHwgMDtcbiAgICB0aGlzLmZsb29yID0gb3B0cy5mbG9vciB8fCBmYWxzZTtcblxuICAgIGNvbnN0IHsgcGFkVG8sIGZsb29yLCAuLi5vdGhlck9wdHMgfSA9IG9wdHM7XG5cbiAgICBpZiAoIWZvcmNlU2ltcGxlIHx8IE9iamVjdC5rZXlzKG90aGVyT3B0cykubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgaW50bE9wdHMgPSB7IHVzZUdyb3VwaW5nOiBmYWxzZSwgLi4ub3B0cyB9O1xuICAgICAgaWYgKG9wdHMucGFkVG8gPiAwKSBpbnRsT3B0cy5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IG9wdHMucGFkVG87XG4gICAgICB0aGlzLmluZiA9IGdldENhY2hlZElORihpbnRsLCBpbnRsT3B0cyk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0KGkpIHtcbiAgICBpZiAodGhpcy5pbmYpIHtcbiAgICAgIGNvbnN0IGZpeGVkID0gdGhpcy5mbG9vciA/IE1hdGguZmxvb3IoaSkgOiBpO1xuICAgICAgcmV0dXJuIHRoaXMuaW5mLmZvcm1hdChmaXhlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRvIG1hdGNoIHRoZSBicm93c2VyJ3MgbnVtYmVyZm9ybWF0dGVyIGRlZmF1bHRzXG4gICAgICBjb25zdCBmaXhlZCA9IHRoaXMuZmxvb3IgPyBNYXRoLmZsb29yKGkpIDogcm91bmRUbyhpLCAzKTtcbiAgICAgIHJldHVybiBwYWRTdGFydChmaXhlZCwgdGhpcy5wYWRUbyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuXG5jbGFzcyBQb2x5RGF0ZUZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKGR0LCBpbnRsLCBvcHRzKSB7XG4gICAgdGhpcy5vcHRzID0gb3B0cztcblxuICAgIGxldCB6O1xuICAgIGlmIChkdC56b25lLmlzVW5pdmVyc2FsKSB7XG4gICAgICAvLyBVVEMtOCBvciBFdGMvVVRDLTggYXJlIG5vdCBwYXJ0IG9mIHR6ZGF0YSwgb25seSBFdGMvR01UKzggYW5kIHRoZSBsaWtlLlxuICAgICAgLy8gVGhhdCBpcyB3aHkgZml4ZWQtb2Zmc2V0IFRaIGlzIHNldCB0byB0aGF0IHVubGVzcyBpdCBpczpcbiAgICAgIC8vIDEuIFJlcHJlc2VudGluZyBvZmZzZXQgMCB3aGVuIFVUQyBpcyB1c2VkIHRvIG1haW50YWluIHByZXZpb3VzIGJlaGF2aW9yIGFuZCBkb2VzIG5vdCBiZWNvbWUgR01ULlxuICAgICAgLy8gMi4gVW5zdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXI6XG4gICAgICAvLyAgICAtIHNvbWUgZG8gbm90IHN1cHBvcnQgRXRjL1xuICAgICAgLy8gICAgLSA8IEV0Yy9HTVQtMTQsID4gRXRjL0dNVCsxMiwgYW5kIDMwLW1pbnV0ZSBvciA0NS1taW51dGUgb2Zmc2V0cyBhcmUgbm90IHBhcnQgb2YgdHpkYXRhXG4gICAgICBjb25zdCBnbXRPZmZzZXQgPSAtMSAqIChkdC5vZmZzZXQgLyA2MCk7XG4gICAgICBjb25zdCBvZmZzZXRaID0gZ210T2Zmc2V0ID49IDAgPyBgRXRjL0dNVCske2dtdE9mZnNldH1gIDogYEV0Yy9HTVQke2dtdE9mZnNldH1gO1xuICAgICAgaWYgKGR0Lm9mZnNldCAhPT0gMCAmJiBJQU5BWm9uZS5jcmVhdGUob2Zmc2V0WikudmFsaWQpIHtcbiAgICAgICAgeiA9IG9mZnNldFo7XG4gICAgICAgIHRoaXMuZHQgPSBkdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vdCBhbGwgZml4ZWQtb2Zmc2V0IHpvbmVzIGxpa2UgRXRjLys0OjMwIGFyZSBwcmVzZW50IGluIHR6ZGF0YS5cbiAgICAgICAgLy8gU28gd2UgaGF2ZSB0byBtYWtlIGRvLiBUd28gY2FzZXM6XG4gICAgICAgIC8vIDEuIFRoZSBmb3JtYXQgb3B0aW9ucyB0ZWxsIHVzIHRvIHNob3cgdGhlIHpvbmUuIFdlIGNhbid0IGRvIHRoYXQsIHNvIHRoZSBiZXN0XG4gICAgICAgIC8vIHdlIGNhbiBkbyBpcyBmb3JtYXQgdGhlIGRhdGUgaW4gVVRDLlxuICAgICAgICAvLyAyLiBUaGUgZm9ybWF0IG9wdGlvbnMgZG9uJ3QgdGVsbCB1cyB0byBzaG93IHRoZSB6b25lLiBUaGVuIHdlIGNhbiBhZGp1c3QgdGhlbVxuICAgICAgICAvLyB0aGUgdGltZSBhbmQgdGVsbCB0aGUgZm9ybWF0dGVyIHRvIHNob3cgaXQgdG8gdXMgaW4gVVRDLCBzbyB0aGF0IHRoZSB0aW1lIGlzIHJpZ2h0XG4gICAgICAgIC8vIGFuZCB0aGUgYmFkIHpvbmUgZG9lc24ndCBzaG93IHVwLlxuICAgICAgICB6ID0gXCJVVENcIjtcbiAgICAgICAgaWYgKG9wdHMudGltZVpvbmVOYW1lKSB7XG4gICAgICAgICAgdGhpcy5kdCA9IGR0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZHQgPSBkdC5vZmZzZXQgPT09IDAgPyBkdCA6IERhdGVUaW1lLmZyb21NaWxsaXMoZHQudHMgKyBkdC5vZmZzZXQgKiA2MCAqIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkdC56b25lLnR5cGUgPT09IFwic3lzdGVtXCIpIHtcbiAgICAgIHRoaXMuZHQgPSBkdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kdCA9IGR0O1xuICAgICAgeiA9IGR0LnpvbmUubmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRsT3B0cyA9IHsgLi4udGhpcy5vcHRzIH07XG4gICAgaWYgKHopIHtcbiAgICAgIGludGxPcHRzLnRpbWVab25lID0gejtcbiAgICB9XG4gICAgdGhpcy5kdGYgPSBnZXRDYWNoZWREVEYoaW50bCwgaW50bE9wdHMpO1xuICB9XG5cbiAgZm9ybWF0KCkge1xuICAgIHJldHVybiB0aGlzLmR0Zi5mb3JtYXQodGhpcy5kdC50b0pTRGF0ZSgpKTtcbiAgfVxuXG4gIGZvcm1hdFRvUGFydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZHRmLmZvcm1hdFRvUGFydHModGhpcy5kdC50b0pTRGF0ZSgpKTtcbiAgfVxuXG4gIHJlc29sdmVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kdGYucmVzb2x2ZWRPcHRpb25zKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBQb2x5UmVsRm9ybWF0dGVyIHtcbiAgY29uc3RydWN0b3IoaW50bCwgaXNFbmdsaXNoLCBvcHRzKSB7XG4gICAgdGhpcy5vcHRzID0geyBzdHlsZTogXCJsb25nXCIsIC4uLm9wdHMgfTtcbiAgICBpZiAoIWlzRW5nbGlzaCAmJiBoYXNSZWxhdGl2ZSgpKSB7XG4gICAgICB0aGlzLnJ0ZiA9IGdldENhY2hlZFJURihpbnRsLCBvcHRzKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXQoY291bnQsIHVuaXQpIHtcbiAgICBpZiAodGhpcy5ydGYpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ0Zi5mb3JtYXQoY291bnQsIHVuaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRW5nbGlzaC5mb3JtYXRSZWxhdGl2ZVRpbWUodW5pdCwgY291bnQsIHRoaXMub3B0cy5udW1lcmljLCB0aGlzLm9wdHMuc3R5bGUgIT09IFwibG9uZ1wiKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRUb1BhcnRzKGNvdW50LCB1bml0KSB7XG4gICAgaWYgKHRoaXMucnRmKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydGYuZm9ybWF0VG9QYXJ0cyhjb3VudCwgdW5pdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvY2FsZSB7XG4gIHN0YXRpYyBmcm9tT3B0cyhvcHRzKSB7XG4gICAgcmV0dXJuIExvY2FsZS5jcmVhdGUob3B0cy5sb2NhbGUsIG9wdHMubnVtYmVyaW5nU3lzdGVtLCBvcHRzLm91dHB1dENhbGVuZGFyLCBvcHRzLmRlZmF1bHRUb0VOKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyLCBkZWZhdWx0VG9FTiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgc3BlY2lmaWVkTG9jYWxlID0gbG9jYWxlIHx8IFNldHRpbmdzLmRlZmF1bHRMb2NhbGU7XG4gICAgLy8gdGhlIHN5c3RlbSBsb2NhbGUgaXMgdXNlZnVsIGZvciBodW1hbiByZWFkYWJsZSBzdHJpbmdzIGJ1dCBhbm5veWluZyBmb3IgcGFyc2luZy9mb3JtYXR0aW5nIGtub3duIGZvcm1hdHNcbiAgICBjb25zdCBsb2NhbGVSID0gc3BlY2lmaWVkTG9jYWxlIHx8IChkZWZhdWx0VG9FTiA/IFwiZW4tVVNcIiA6IHN5c3RlbUxvY2FsZSgpKTtcbiAgICBjb25zdCBudW1iZXJpbmdTeXN0ZW1SID0gbnVtYmVyaW5nU3lzdGVtIHx8IFNldHRpbmdzLmRlZmF1bHROdW1iZXJpbmdTeXN0ZW07XG4gICAgY29uc3Qgb3V0cHV0Q2FsZW5kYXJSID0gb3V0cHV0Q2FsZW5kYXIgfHwgU2V0dGluZ3MuZGVmYXVsdE91dHB1dENhbGVuZGFyO1xuICAgIHJldHVybiBuZXcgTG9jYWxlKGxvY2FsZVIsIG51bWJlcmluZ1N5c3RlbVIsIG91dHB1dENhbGVuZGFyUiwgc3BlY2lmaWVkTG9jYWxlKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNldENhY2hlKCkge1xuICAgIHN5c0xvY2FsZUNhY2hlID0gbnVsbDtcbiAgICBpbnRsRFRDYWNoZSA9IHt9O1xuICAgIGludGxOdW1DYWNoZSA9IHt9O1xuICAgIGludGxSZWxDYWNoZSA9IHt9O1xuICB9XG5cbiAgc3RhdGljIGZyb21PYmplY3QoeyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIgfSA9IHt9KSB7XG4gICAgcmV0dXJuIExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGxvY2FsZSwgbnVtYmVyaW5nLCBvdXRwdXRDYWxlbmRhciwgc3BlY2lmaWVkTG9jYWxlKSB7XG4gICAgY29uc3QgW3BhcnNlZExvY2FsZSwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtLCBwYXJzZWRPdXRwdXRDYWxlbmRhcl0gPSBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGUpO1xuXG4gICAgdGhpcy5sb2NhbGUgPSBwYXJzZWRMb2NhbGU7XG4gICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPSBudW1iZXJpbmcgfHwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtIHx8IG51bGw7XG4gICAgdGhpcy5vdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyIHx8IHBhcnNlZE91dHB1dENhbGVuZGFyIHx8IG51bGw7XG4gICAgdGhpcy5pbnRsID0gaW50bENvbmZpZ1N0cmluZyh0aGlzLmxvY2FsZSwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sIHRoaXMub3V0cHV0Q2FsZW5kYXIpO1xuXG4gICAgdGhpcy53ZWVrZGF5c0NhY2hlID0geyBmb3JtYXQ6IHt9LCBzdGFuZGFsb25lOiB7fSB9O1xuICAgIHRoaXMubW9udGhzQ2FjaGUgPSB7IGZvcm1hdDoge30sIHN0YW5kYWxvbmU6IHt9IH07XG4gICAgdGhpcy5tZXJpZGllbUNhY2hlID0gbnVsbDtcbiAgICB0aGlzLmVyYUNhY2hlID0ge307XG5cbiAgICB0aGlzLnNwZWNpZmllZExvY2FsZSA9IHNwZWNpZmllZExvY2FsZTtcbiAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gbnVsbDtcbiAgfVxuXG4gIGdldCBmYXN0TnVtYmVycygpIHtcbiAgICBpZiAodGhpcy5mYXN0TnVtYmVyc0NhY2hlZCA9PSBudWxsKSB7XG4gICAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gc3VwcG9ydHNGYXN0TnVtYmVycyh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mYXN0TnVtYmVyc0NhY2hlZDtcbiAgfVxuXG4gIGxpc3RpbmdNb2RlKCkge1xuICAgIGNvbnN0IGlzQWN0dWFsbHlFbiA9IHRoaXMuaXNFbmdsaXNoKCk7XG4gICAgY29uc3QgaGFzTm9XZWlyZG5lc3MgPVxuICAgICAgKHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBudWxsIHx8IHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBcImxhdG5cIikgJiZcbiAgICAgICh0aGlzLm91dHB1dENhbGVuZGFyID09PSBudWxsIHx8IHRoaXMub3V0cHV0Q2FsZW5kYXIgPT09IFwiZ3JlZ29yeVwiKTtcbiAgICByZXR1cm4gaXNBY3R1YWxseUVuICYmIGhhc05vV2VpcmRuZXNzID8gXCJlblwiIDogXCJpbnRsXCI7XG4gIH1cblxuICBjbG9uZShhbHRzKSB7XG4gICAgaWYgKCFhbHRzIHx8IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFsdHMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKFxuICAgICAgICBhbHRzLmxvY2FsZSB8fCB0aGlzLnNwZWNpZmllZExvY2FsZSxcbiAgICAgICAgYWx0cy5udW1iZXJpbmdTeXN0ZW0gfHwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sXG4gICAgICAgIGFsdHMub3V0cHV0Q2FsZW5kYXIgfHwgdGhpcy5vdXRwdXRDYWxlbmRhcixcbiAgICAgICAgYWx0cy5kZWZhdWx0VG9FTiB8fCBmYWxzZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZWRlZmF1bHRUb0VOKGFsdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKHsgLi4uYWx0cywgZGVmYXVsdFRvRU46IHRydWUgfSk7XG4gIH1cblxuICByZWRlZmF1bHRUb1N5c3RlbShhbHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSh7IC4uLmFsdHMsIGRlZmF1bHRUb0VOOiBmYWxzZSB9KTtcbiAgfVxuXG4gIG1vbnRocyhsZW5ndGgsIGZvcm1hdCA9IGZhbHNlLCBkZWZhdWx0T0sgPSB0cnVlKSB7XG4gICAgcmV0dXJuIGxpc3RTdHVmZih0aGlzLCBsZW5ndGgsIGRlZmF1bHRPSywgRW5nbGlzaC5tb250aHMsICgpID0+IHtcbiAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQgPyB7IG1vbnRoOiBsZW5ndGgsIGRheTogXCJudW1lcmljXCIgfSA6IHsgbW9udGg6IGxlbmd0aCB9LFxuICAgICAgICBmb3JtYXRTdHIgPSBmb3JtYXQgPyBcImZvcm1hdFwiIDogXCJzdGFuZGFsb25lXCI7XG4gICAgICBpZiAoIXRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdKSB7XG4gICAgICAgIHRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdID0gbWFwTW9udGhzKChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcIm1vbnRoXCIpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm1vbnRoc0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTtcbiAgICB9KTtcbiAgfVxuXG4gIHdlZWtkYXlzKGxlbmd0aCwgZm9ybWF0ID0gZmFsc2UsIGRlZmF1bHRPSyA9IHRydWUpIHtcbiAgICByZXR1cm4gbGlzdFN0dWZmKHRoaXMsIGxlbmd0aCwgZGVmYXVsdE9LLCBFbmdsaXNoLndlZWtkYXlzLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnRsID0gZm9ybWF0XG4gICAgICAgICAgPyB7IHdlZWtkYXk6IGxlbmd0aCwgeWVhcjogXCJudW1lcmljXCIsIG1vbnRoOiBcImxvbmdcIiwgZGF5OiBcIm51bWVyaWNcIiB9XG4gICAgICAgICAgOiB7IHdlZWtkYXk6IGxlbmd0aCB9LFxuICAgICAgICBmb3JtYXRTdHIgPSBmb3JtYXQgPyBcImZvcm1hdFwiIDogXCJzdGFuZGFsb25lXCI7XG4gICAgICBpZiAoIXRoaXMud2Vla2RheXNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF0pIHtcbiAgICAgICAgdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSA9IG1hcFdlZWtkYXlzKChkdCkgPT5cbiAgICAgICAgICB0aGlzLmV4dHJhY3QoZHQsIGludGwsIFwid2Vla2RheVwiKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMud2Vla2RheXNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF07XG4gICAgfSk7XG4gIH1cblxuICBtZXJpZGllbXMoZGVmYXVsdE9LID0gdHJ1ZSkge1xuICAgIHJldHVybiBsaXN0U3R1ZmYoXG4gICAgICB0aGlzLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZGVmYXVsdE9LLFxuICAgICAgKCkgPT4gRW5nbGlzaC5tZXJpZGllbXMsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIC8vIEluIHRoZW9yeSB0aGVyZSBjb3VsZCBiZSBhcmliaXRyYXJ5IGRheSBwZXJpb2RzLiBXZSdyZSBnb25uYSBhc3N1bWUgdGhlcmUgYXJlIGV4YWN0bHkgdHdvXG4gICAgICAgIC8vIGZvciBBTSBhbmQgUE0uIFRoaXMgaXMgcHJvYmFibHkgd3JvbmcsIGJ1dCBpdCdzIG1ha2VzIHBhcnNpbmcgd2F5IGVhc2llci5cbiAgICAgICAgaWYgKCF0aGlzLm1lcmlkaWVtQ2FjaGUpIHtcbiAgICAgICAgICBjb25zdCBpbnRsID0geyBob3VyOiBcIm51bWVyaWNcIiwgaG91ckN5Y2xlOiBcImgxMlwiIH07XG4gICAgICAgICAgdGhpcy5tZXJpZGllbUNhY2hlID0gW0RhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMsIDkpLCBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzLCAxOSldLm1hcChcbiAgICAgICAgICAgIChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcImRheXBlcmlvZFwiKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXJpZGllbUNhY2hlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBlcmFzKGxlbmd0aCwgZGVmYXVsdE9LID0gdHJ1ZSkge1xuICAgIHJldHVybiBsaXN0U3R1ZmYodGhpcywgbGVuZ3RoLCBkZWZhdWx0T0ssIEVuZ2xpc2guZXJhcywgKCkgPT4ge1xuICAgICAgY29uc3QgaW50bCA9IHsgZXJhOiBsZW5ndGggfTtcblxuICAgICAgLy8gVGhpcyBpcyBwcm9ibGVtYXRpYy4gRGlmZmVyZW50IGNhbGVuZGFycyBhcmUgZ29pbmcgdG8gZGVmaW5lIGVyYXMgdG90YWxseSBkaWZmZXJlbnRseS4gV2hhdCBJIG5lZWQgaXMgdGhlIG1pbmltdW0gc2V0IG9mIGRhdGVzXG4gICAgICAvLyB0byBkZWZpbml0ZWx5IGVudW1lcmF0ZSB0aGVtLlxuICAgICAgaWYgKCF0aGlzLmVyYUNhY2hlW2xlbmd0aF0pIHtcbiAgICAgICAgdGhpcy5lcmFDYWNoZVtsZW5ndGhdID0gW0RhdGVUaW1lLnV0YygtNDAsIDEsIDEpLCBEYXRlVGltZS51dGMoMjAxNywgMSwgMSldLm1hcCgoZHQpID0+XG4gICAgICAgICAgdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcImVyYVwiKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5lcmFDYWNoZVtsZW5ndGhdO1xuICAgIH0pO1xuICB9XG5cbiAgZXh0cmFjdChkdCwgaW50bE9wdHMsIGZpZWxkKSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyksXG4gICAgICByZXN1bHRzID0gZGYuZm9ybWF0VG9QYXJ0cygpLFxuICAgICAgbWF0Y2hpbmcgPSByZXN1bHRzLmZpbmQoKG0pID0+IG0udHlwZS50b0xvd2VyQ2FzZSgpID09PSBmaWVsZCk7XG4gICAgcmV0dXJuIG1hdGNoaW5nID8gbWF0Y2hpbmcudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgbnVtYmVyRm9ybWF0dGVyKG9wdHMgPSB7fSkge1xuICAgIC8vIHRoaXMgZm9yY2VzaW1wbGUgb3B0aW9uIGlzIG5ldmVyIHVzZWQgKHRoZSBvbmx5IGNhbGxlciBzaG9ydC1jaXJjdWl0cyBvbiBpdCwgYnV0IGl0IHNlZW1zIHNhZmVyIHRvIGxlYXZlKVxuICAgIC8vIChpbiBjb250cmFzdCwgdGhlIHJlc3Qgb2YgdGhlIGNvbmRpdGlvbiBpcyB1c2VkIGhlYXZpbHkpXG4gICAgcmV0dXJuIG5ldyBQb2x5TnVtYmVyRm9ybWF0dGVyKHRoaXMuaW50bCwgb3B0cy5mb3JjZVNpbXBsZSB8fCB0aGlzLmZhc3ROdW1iZXJzLCBvcHRzKTtcbiAgfVxuXG4gIGR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2x5RGF0ZUZvcm1hdHRlcihkdCwgdGhpcy5pbnRsLCBpbnRsT3B0cyk7XG4gIH1cblxuICByZWxGb3JtYXR0ZXIob3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2x5UmVsRm9ybWF0dGVyKHRoaXMuaW50bCwgdGhpcy5pc0VuZ2xpc2goKSwgb3B0cyk7XG4gIH1cblxuICBsaXN0Rm9ybWF0dGVyKG9wdHMgPSB7fSkge1xuICAgIHJldHVybiBnZXRDYWNoZWRMRih0aGlzLmludGwsIG9wdHMpO1xuICB9XG5cbiAgaXNFbmdsaXNoKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmxvY2FsZSA9PT0gXCJlblwiIHx8XG4gICAgICB0aGlzLmxvY2FsZS50b0xvd2VyQ2FzZSgpID09PSBcImVuLXVzXCIgfHxcbiAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuaW50bCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlLnN0YXJ0c1dpdGgoXCJlbi11c1wiKVxuICAgICk7XG4gIH1cblxuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5sb2NhbGUgPT09IG90aGVyLmxvY2FsZSAmJlxuICAgICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09IG90aGVyLm51bWJlcmluZ1N5c3RlbSAmJlxuICAgICAgdGhpcy5vdXRwdXRDYWxlbmRhciA9PT0gb3RoZXIub3V0cHV0Q2FsZW5kYXJcbiAgICApO1xuICB9XG59XG4iLCAiaW1wb3J0IHtcbiAgdW50cnVuY2F0ZVllYXIsXG4gIHNpZ25lZE9mZnNldCxcbiAgcGFyc2VJbnRlZ2VyLFxuICBwYXJzZU1pbGxpcyxcbiAgaWFuYVJlZ2V4LFxuICBpc1VuZGVmaW5lZCxcbiAgcGFyc2VGbG9hdGluZ1xufSBmcm9tIFwiLi91dGlsLmpzXCI7XG5pbXBvcnQgKiBhcyBFbmdsaXNoIGZyb20gXCIuL2VuZ2xpc2guanNcIjtcbmltcG9ydCBGaXhlZE9mZnNldFpvbmUgZnJvbSBcIi4uL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IElBTkFab25lIGZyb20gXCIuLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuXG4vKlxuICogVGhpcyBmaWxlIGhhbmRsZXMgcGFyc2luZyBmb3Igd2VsbC1zcGVjaWZpZWQgZm9ybWF0cy4gSGVyZSdzIGhvdyBpdCB3b3JrczpcbiAqIFR3byB0aGluZ3MgZ28gaW50byBwYXJzaW5nOiBhIHJlZ2V4IHRvIG1hdGNoIHdpdGggYW5kIGFuIGV4dHJhY3RvciB0byB0YWtlIGFwYXJ0IHRoZSBncm91cHMgaW4gdGhlIG1hdGNoLlxuICogQW4gZXh0cmFjdG9yIGlzIGp1c3QgYSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgcmVnZXggbWF0Y2ggYXJyYXkgYW5kIHJldHVybnMgYSB7IHllYXI6IC4uLiwgbW9udGg6IC4uLiB9IG9iamVjdFxuICogcGFyc2UoKSBkb2VzIHRoZSB3b3JrIG9mIGV4ZWN1dGluZyB0aGUgcmVnZXggYW5kIGFwcGx5aW5nIHRoZSBleHRyYWN0b3IuIEl0IHRha2VzIG11bHRpcGxlIHJlZ2V4L2V4dHJhY3RvciBwYWlycyB0byB0cnkgaW4gc2VxdWVuY2UuXG4gKiBFeHRyYWN0b3JzIGNhbiB0YWtlIGEgXCJjdXJzb3JcIiByZXByZXNlbnRpbmcgdGhlIG9mZnNldCBpbiB0aGUgbWF0Y2ggdG8gbG9vayBhdC4gVGhpcyBtYWtlcyBpdCBlYXN5IHRvIGNvbWJpbmUgZXh0cmFjdG9ycy5cbiAqIGNvbWJpbmVFeHRyYWN0b3JzKCkgZG9lcyB0aGUgd29yayBvZiBjb21iaW5pbmcgdGhlbSwga2VlcGluZyB0cmFjayBvZiB0aGUgY3Vyc29yIHRocm91Z2ggbXVsdGlwbGUgZXh0cmFjdGlvbnMuXG4gKiBTb21lIGV4dHJhY3Rpb25zIGFyZSBzdXBlciBkdW1iIGFuZCBzaW1wbGVQYXJzZSBhbmQgZnJvbVN0cmluZ3MgaGVscCBEUlkgdGhlbS5cbiAqL1xuXG5mdW5jdGlvbiBjb21iaW5lUmVnZXhlcyguLi5yZWdleGVzKSB7XG4gIGNvbnN0IGZ1bGwgPSByZWdleGVzLnJlZHVjZSgoZiwgcikgPT4gZiArIHIuc291cmNlLCBcIlwiKTtcbiAgcmV0dXJuIFJlZ0V4cChgXiR7ZnVsbH0kYCk7XG59XG5cbmZ1bmN0aW9uIGNvbWJpbmVFeHRyYWN0b3JzKC4uLmV4dHJhY3RvcnMpIHtcbiAgcmV0dXJuIG0gPT5cbiAgICBleHRyYWN0b3JzXG4gICAgICAucmVkdWNlKFxuICAgICAgICAoW21lcmdlZFZhbHMsIG1lcmdlZFpvbmUsIGN1cnNvcl0sIGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgW3ZhbCwgem9uZSwgbmV4dF0gPSBleChtLCBjdXJzb3IpO1xuICAgICAgICAgIHJldHVybiBbeyAuLi5tZXJnZWRWYWxzLCAuLi52YWwgfSwgem9uZSB8fCBtZXJnZWRab25lLCBuZXh0XTtcbiAgICAgICAgfSxcbiAgICAgICAgW3t9LCBudWxsLCAxXVxuICAgICAgKVxuICAgICAgLnNsaWNlKDAsIDIpO1xufVxuXG5mdW5jdGlvbiBwYXJzZShzLCAuLi5wYXR0ZXJucykge1xuICBpZiAocyA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgfVxuXG4gIGZvciAoY29uc3QgW3JlZ2V4LCBleHRyYWN0b3JdIG9mIHBhdHRlcm5zKSB7XG4gICAgY29uc3QgbSA9IHJlZ2V4LmV4ZWMocyk7XG4gICAgaWYgKG0pIHtcbiAgICAgIHJldHVybiBleHRyYWN0b3IobSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBbbnVsbCwgbnVsbF07XG59XG5cbmZ1bmN0aW9uIHNpbXBsZVBhcnNlKC4uLmtleXMpIHtcbiAgcmV0dXJuIChtYXRjaCwgY3Vyc29yKSA9PiB7XG4gICAgY29uc3QgcmV0ID0ge307XG4gICAgbGV0IGk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgcmV0W2tleXNbaV1dID0gcGFyc2VJbnRlZ2VyKG1hdGNoW2N1cnNvciArIGldKTtcbiAgICB9XG4gICAgcmV0dXJuIFtyZXQsIG51bGwsIGN1cnNvciArIGldO1xuICB9O1xufVxuXG4vLyBJU08gYW5kIFNRTCBwYXJzaW5nXG5jb25zdCBvZmZzZXRSZWdleCA9IC8oPzooWil8KFsrLV1cXGRcXGQpKD86Oj8oXFxkXFxkKSk/KS87XG5jb25zdCBpc29FeHRlbmRlZFpvbmUgPSBgKD86JHtvZmZzZXRSZWdleC5zb3VyY2V9Pyg/OlxcXFxbKCR7aWFuYVJlZ2V4LnNvdXJjZX0pXFxcXF0pPyk/YDtcbmNvbnN0IGlzb1RpbWVCYXNlUmVnZXggPSAvKFxcZFxcZCkoPzo6PyhcXGRcXGQpKD86Oj8oXFxkXFxkKSg/OlsuLF0oXFxkezEsMzB9KSk/KT8pPy87XG5jb25zdCBpc29UaW1lUmVnZXggPSBSZWdFeHAoYCR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JHtpc29FeHRlbmRlZFpvbmV9YCk7XG5jb25zdCBpc29UaW1lRXh0ZW5zaW9uUmVnZXggPSBSZWdFeHAoYCg/OlQke2lzb1RpbWVSZWdleC5zb3VyY2V9KT9gKTtcbmNvbnN0IGlzb1ltZFJlZ2V4ID0gLyhbKy1dXFxkezZ9fFxcZHs0fSkoPzotPyhcXGRcXGQpKD86LT8oXFxkXFxkKSk/KT8vO1xuY29uc3QgaXNvV2Vla1JlZ2V4ID0gLyhcXGR7NH0pLT9XKFxcZFxcZCkoPzotPyhcXGQpKT8vO1xuY29uc3QgaXNvT3JkaW5hbFJlZ2V4ID0gLyhcXGR7NH0pLT8oXFxkezN9KS87XG5jb25zdCBleHRyYWN0SVNPV2Vla0RhdGEgPSBzaW1wbGVQYXJzZShcIndlZWtZZWFyXCIsIFwid2Vla051bWJlclwiLCBcIndlZWtEYXlcIik7XG5jb25zdCBleHRyYWN0SVNPT3JkaW5hbERhdGEgPSBzaW1wbGVQYXJzZShcInllYXJcIiwgXCJvcmRpbmFsXCIpO1xuY29uc3Qgc3FsWW1kUmVnZXggPSAvKFxcZHs0fSktKFxcZFxcZCktKFxcZFxcZCkvOyAvLyBkdW1iZWQtZG93biB2ZXJzaW9uIG9mIHRoZSBJU08gb25lXG5jb25zdCBzcWxUaW1lUmVnZXggPSBSZWdFeHAoXG4gIGAke2lzb1RpbWVCYXNlUmVnZXguc291cmNlfSA/KD86JHtvZmZzZXRSZWdleC5zb3VyY2V9fCgke2lhbmFSZWdleC5zb3VyY2V9KSk/YFxuKTtcbmNvbnN0IHNxbFRpbWVFeHRlbnNpb25SZWdleCA9IFJlZ0V4cChgKD86ICR7c3FsVGltZVJlZ2V4LnNvdXJjZX0pP2ApO1xuXG5mdW5jdGlvbiBpbnQobWF0Y2gsIHBvcywgZmFsbGJhY2spIHtcbiAgY29uc3QgbSA9IG1hdGNoW3Bvc107XG4gIHJldHVybiBpc1VuZGVmaW5lZChtKSA/IGZhbGxiYWNrIDogcGFyc2VJbnRlZ2VyKG0pO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0SVNPWW1kKG1hdGNoLCBjdXJzb3IpIHtcbiAgY29uc3QgaXRlbSA9IHtcbiAgICB5ZWFyOiBpbnQobWF0Y2gsIGN1cnNvciksXG4gICAgbW9udGg6IGludChtYXRjaCwgY3Vyc29yICsgMSwgMSksXG4gICAgZGF5OiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDEpXG4gIH07XG5cbiAgcmV0dXJuIFtpdGVtLCBudWxsLCBjdXJzb3IgKyAzXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElTT1RpbWUobWF0Y2gsIGN1cnNvcikge1xuICBjb25zdCBpdGVtID0ge1xuICAgIGhvdXJzOiBpbnQobWF0Y2gsIGN1cnNvciwgMCksXG4gICAgbWludXRlczogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAwKSxcbiAgICBzZWNvbmRzOiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDApLFxuICAgIG1pbGxpc2Vjb25kczogcGFyc2VNaWxsaXMobWF0Y2hbY3Vyc29yICsgM10pXG4gIH07XG5cbiAgcmV0dXJuIFtpdGVtLCBudWxsLCBjdXJzb3IgKyA0XTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElTT09mZnNldChtYXRjaCwgY3Vyc29yKSB7XG4gIGNvbnN0IGxvY2FsID0gIW1hdGNoW2N1cnNvcl0gJiYgIW1hdGNoW2N1cnNvciArIDFdLFxuICAgIGZ1bGxPZmZzZXQgPSBzaWduZWRPZmZzZXQobWF0Y2hbY3Vyc29yICsgMV0sIG1hdGNoW2N1cnNvciArIDJdKSxcbiAgICB6b25lID0gbG9jYWwgPyBudWxsIDogRml4ZWRPZmZzZXRab25lLmluc3RhbmNlKGZ1bGxPZmZzZXQpO1xuICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAzXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElBTkFab25lKG1hdGNoLCBjdXJzb3IpIHtcbiAgY29uc3Qgem9uZSA9IG1hdGNoW2N1cnNvcl0gPyBJQU5BWm9uZS5jcmVhdGUobWF0Y2hbY3Vyc29yXSkgOiBudWxsO1xuICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAxXTtcbn1cblxuLy8gSVNPIHRpbWUgcGFyc2luZ1xuXG5jb25zdCBpc29UaW1lT25seSA9IFJlZ0V4cChgXlQ/JHtpc29UaW1lQmFzZVJlZ2V4LnNvdXJjZX0kYCk7XG5cbi8vIElTTyBkdXJhdGlvbiBwYXJzaW5nXG5cbmNvbnN0IGlzb0R1cmF0aW9uID0gL14tP1AoPzooPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylZKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylNKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylXKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylEKT8oPzpUKD86KC0/XFxkezEsMjB9KD86XFwuXFxkezEsMjB9KT8pSCk/KD86KC0/XFxkezEsMjB9KD86XFwuXFxkezEsMjB9KT8pTSk/KD86KC0/XFxkezEsMjB9KSg/OlsuLF0oLT9cXGR7MSwyMH0pKT9TKT8pPykkLztcblxuZnVuY3Rpb24gZXh0cmFjdElTT0R1cmF0aW9uKG1hdGNoKSB7XG4gIGNvbnN0IFtcbiAgICBzLFxuICAgIHllYXJTdHIsXG4gICAgbW9udGhTdHIsXG4gICAgd2Vla1N0cixcbiAgICBkYXlTdHIsXG4gICAgaG91clN0cixcbiAgICBtaW51dGVTdHIsXG4gICAgc2Vjb25kU3RyLFxuICAgIG1pbGxpc2Vjb25kc1N0clxuICBdID0gbWF0Y2g7XG5cbiAgY29uc3QgaGFzTmVnYXRpdmVQcmVmaXggPSBzWzBdID09PSBcIi1cIjtcbiAgY29uc3QgbmVnYXRpdmVTZWNvbmRzID0gc2Vjb25kU3RyICYmIHNlY29uZFN0clswXSA9PT0gXCItXCI7XG5cbiAgY29uc3QgbWF5YmVOZWdhdGUgPSAobnVtLCBmb3JjZSA9IGZhbHNlKSA9PlxuICAgIG51bSAhPT0gdW5kZWZpbmVkICYmIChmb3JjZSB8fCAobnVtICYmIGhhc05lZ2F0aXZlUHJlZml4KSkgPyAtbnVtIDogbnVtO1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgeWVhcnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoeWVhclN0cikpLFxuICAgICAgbW9udGhzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKG1vbnRoU3RyKSksXG4gICAgICB3ZWVrczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyh3ZWVrU3RyKSksXG4gICAgICBkYXlzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKGRheVN0cikpLFxuICAgICAgaG91cnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoaG91clN0cikpLFxuICAgICAgbWludXRlczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyhtaW51dGVTdHIpKSxcbiAgICAgIHNlY29uZHM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoc2Vjb25kU3RyKSwgc2Vjb25kU3RyID09PSBcIi0wXCIpLFxuICAgICAgbWlsbGlzZWNvbmRzOiBtYXliZU5lZ2F0ZShwYXJzZU1pbGxpcyhtaWxsaXNlY29uZHNTdHIpLCBuZWdhdGl2ZVNlY29uZHMpXG4gICAgfVxuICBdO1xufVxuXG4vLyBUaGVzZSBhcmUgYSBsaXR0bGUgYnJhaW5kZWFkLiBFRFQgKnNob3VsZCogdGVsbCB1cyB0aGF0IHdlJ3JlIGluLCBzYXksIEFtZXJpY2EvTmV3X1lvcmtcbi8vIGFuZCBub3QganVzdCB0aGF0IHdlJ3JlIGluIC0yNDAgKnJpZ2h0IG5vdyouIEJ1dCBzaW5jZSBJIGRvbid0IHRoaW5rIHRoZXNlIGFyZSB1c2VkIHRoYXQgb2Z0ZW5cbi8vIEknbSBqdXN0IGdvaW5nIHRvIGlnbm9yZSB0aGF0XG5jb25zdCBvYnNPZmZzZXRzID0ge1xuICBHTVQ6IDAsXG4gIEVEVDogLTQgKiA2MCxcbiAgRVNUOiAtNSAqIDYwLFxuICBDRFQ6IC01ICogNjAsXG4gIENTVDogLTYgKiA2MCxcbiAgTURUOiAtNiAqIDYwLFxuICBNU1Q6IC03ICogNjAsXG4gIFBEVDogLTcgKiA2MCxcbiAgUFNUOiAtOCAqIDYwXG59O1xuXG5mdW5jdGlvbiBmcm9tU3RyaW5ncyh3ZWVrZGF5U3RyLCB5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0cikge1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgeWVhcjogeWVhclN0ci5sZW5ndGggPT09IDIgPyB1bnRydW5jYXRlWWVhcihwYXJzZUludGVnZXIoeWVhclN0cikpIDogcGFyc2VJbnRlZ2VyKHllYXJTdHIpLFxuICAgIG1vbnRoOiBFbmdsaXNoLm1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpICsgMSxcbiAgICBkYXk6IHBhcnNlSW50ZWdlcihkYXlTdHIpLFxuICAgIGhvdXI6IHBhcnNlSW50ZWdlcihob3VyU3RyKSxcbiAgICBtaW51dGU6IHBhcnNlSW50ZWdlcihtaW51dGVTdHIpXG4gIH07XG5cbiAgaWYgKHNlY29uZFN0cikgcmVzdWx0LnNlY29uZCA9IHBhcnNlSW50ZWdlcihzZWNvbmRTdHIpO1xuICBpZiAod2Vla2RheVN0cikge1xuICAgIHJlc3VsdC53ZWVrZGF5ID1cbiAgICAgIHdlZWtkYXlTdHIubGVuZ3RoID4gM1xuICAgICAgICA/IEVuZ2xpc2gud2Vla2RheXNMb25nLmluZGV4T2Yod2Vla2RheVN0cikgKyAxXG4gICAgICAgIDogRW5nbGlzaC53ZWVrZGF5c1Nob3J0LmluZGV4T2Yod2Vla2RheVN0cikgKyAxO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gUkZDIDI4MjIvNTMyMlxuY29uc3QgcmZjMjgyMiA9IC9eKD86KE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksXFxzKT8oXFxkezEsMn0pXFxzKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKVxccyhcXGR7Miw0fSlcXHMoXFxkXFxkKTooXFxkXFxkKSg/OjooXFxkXFxkKSk/XFxzKD86KFVUfEdNVHxbRUNNUF1bU0RdVCl8KFtael0pfCg/OihbKy1dXFxkXFxkKShcXGRcXGQpKSkkLztcblxuZnVuY3Rpb24gZXh0cmFjdFJGQzI4MjIobWF0Y2gpIHtcbiAgY29uc3QgW1xuICAgICAgLFxuICAgICAgd2Vla2RheVN0cixcbiAgICAgIGRheVN0cixcbiAgICAgIG1vbnRoU3RyLFxuICAgICAgeWVhclN0cixcbiAgICAgIGhvdXJTdHIsXG4gICAgICBtaW51dGVTdHIsXG4gICAgICBzZWNvbmRTdHIsXG4gICAgICBvYnNPZmZzZXQsXG4gICAgICBtaWxPZmZzZXQsXG4gICAgICBvZmZIb3VyU3RyLFxuICAgICAgb2ZmTWludXRlU3RyXG4gICAgXSA9IG1hdGNoLFxuICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTtcblxuICBsZXQgb2Zmc2V0O1xuICBpZiAob2JzT2Zmc2V0KSB7XG4gICAgb2Zmc2V0ID0gb2JzT2Zmc2V0c1tvYnNPZmZzZXRdO1xuICB9IGVsc2UgaWYgKG1pbE9mZnNldCkge1xuICAgIG9mZnNldCA9IDA7XG4gIH0gZWxzZSB7XG4gICAgb2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cik7XG4gIH1cblxuICByZXR1cm4gW3Jlc3VsdCwgbmV3IEZpeGVkT2Zmc2V0Wm9uZShvZmZzZXQpXTtcbn1cblxuZnVuY3Rpb24gcHJlcHJvY2Vzc1JGQzI4MjIocykge1xuICAvLyBSZW1vdmUgY29tbWVudHMgYW5kIGZvbGRpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjZSBtdWx0aXBsZS1zcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZVxuICByZXR1cm4gc1xuICAgIC5yZXBsYWNlKC9cXChbXigpXSpcXCl8W1xcblxcdF0vZywgXCIgXCIpXG4gICAgLnJlcGxhY2UoLyhcXHNcXHMrKS9nLCBcIiBcIilcbiAgICAudHJpbSgpO1xufVxuXG4vLyBodHRwIGRhdGVcblxuY29uc3QgcmZjMTEyMyA9IC9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksIChcXGRcXGQpIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKFxcZHs0fSkgKFxcZFxcZCk6KFxcZFxcZCk6KFxcZFxcZCkgR01UJC8sXG4gIHJmYzg1MCA9IC9eKE1vbmRheXxUdWVzZGF5fFdlZG5lc2RheXxUaHVyc2RheXxGcmlkYXl8U2F0dXJkYXl8U3VuZGF5KSwgKFxcZFxcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXFxkXFxkKSAoXFxkXFxkKTooXFxkXFxkKTooXFxkXFxkKSBHTVQkLyxcbiAgYXNjaWkgPSAvXihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKCBcXGR8XFxkXFxkKSAoXFxkXFxkKTooXFxkXFxkKTooXFxkXFxkKSAoXFxkezR9KSQvO1xuXG5mdW5jdGlvbiBleHRyYWN0UkZDMTEyM09yODUwKG1hdGNoKSB7XG4gIGNvbnN0IFssIHdlZWtkYXlTdHIsIGRheVN0ciwgbW9udGhTdHIsIHllYXJTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyXSA9IG1hdGNoLFxuICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTtcbiAgcmV0dXJuIFtyZXN1bHQsIEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZV07XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBU0NJSShtYXRjaCkge1xuICBjb25zdCBbLCB3ZWVrZGF5U3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0ciwgeWVhclN0cl0gPSBtYXRjaCxcbiAgICByZXN1bHQgPSBmcm9tU3RyaW5ncyh3ZWVrZGF5U3RyLCB5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0cik7XG4gIHJldHVybiBbcmVzdWx0LCBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2VdO1xufVxuXG5jb25zdCBpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvWW1kUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7XG5jb25zdCBpc29XZWVrV2l0aFRpbWVFeHRlbnNpb25SZWdleCA9IGNvbWJpbmVSZWdleGVzKGlzb1dlZWtSZWdleCwgaXNvVGltZUV4dGVuc2lvblJlZ2V4KTtcbmNvbnN0IGlzb09yZGluYWxXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvT3JkaW5hbFJlZ2V4LCBpc29UaW1lRXh0ZW5zaW9uUmVnZXgpO1xuY29uc3QgaXNvVGltZUNvbWJpbmVkUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29UaW1lUmVnZXgpO1xuXG5jb25zdCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldCA9IGNvbWJpbmVFeHRyYWN0b3JzKFxuICBleHRyYWN0SVNPWW1kLFxuICBleHRyYWN0SVNPVGltZSxcbiAgZXh0cmFjdElTT09mZnNldCxcbiAgZXh0cmFjdElBTkFab25lXG4pO1xuY29uc3QgZXh0cmFjdElTT1dlZWtUaW1lQW5kT2Zmc2V0ID0gY29tYmluZUV4dHJhY3RvcnMoXG4gIGV4dHJhY3RJU09XZWVrRGF0YSxcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcbmNvbnN0IGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWUgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT09yZGluYWxEYXRhLFxuICBleHRyYWN0SVNPVGltZSxcbiAgZXh0cmFjdElTT09mZnNldCxcbiAgZXh0cmFjdElBTkFab25lXG4pO1xuY29uc3QgZXh0cmFjdElTT1RpbWVBbmRPZmZzZXQgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcblxuLypcbiAqIEBwcml2YXRlXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVNPRGF0ZShzKSB7XG4gIHJldHVybiBwYXJzZShcbiAgICBzLFxuICAgIFtpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldF0sXG4gICAgW2lzb1dlZWtXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPV2Vla1RpbWVBbmRPZmZzZXRdLFxuICAgIFtpc29PcmRpbmFsV2l0aFRpbWVFeHRlbnNpb25SZWdleCwgZXh0cmFjdElTT09yZGluYWxEYXRlQW5kVGltZV0sXG4gICAgW2lzb1RpbWVDb21iaW5lZFJlZ2V4LCBleHRyYWN0SVNPVGltZUFuZE9mZnNldF1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUkZDMjgyMkRhdGUocykge1xuICByZXR1cm4gcGFyc2UocHJlcHJvY2Vzc1JGQzI4MjIocyksIFtyZmMyODIyLCBleHRyYWN0UkZDMjgyMl0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VIVFRQRGF0ZShzKSB7XG4gIHJldHVybiBwYXJzZShcbiAgICBzLFxuICAgIFtyZmMxMTIzLCBleHRyYWN0UkZDMTEyM09yODUwXSxcbiAgICBbcmZjODUwLCBleHRyYWN0UkZDMTEyM09yODUwXSxcbiAgICBbYXNjaWksIGV4dHJhY3RBU0NJSV1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVNPRHVyYXRpb24ocykge1xuICByZXR1cm4gcGFyc2UocywgW2lzb0R1cmF0aW9uLCBleHRyYWN0SVNPRHVyYXRpb25dKTtcbn1cblxuY29uc3QgZXh0cmFjdElTT1RpbWVPbmx5ID0gY29tYmluZUV4dHJhY3RvcnMoZXh0cmFjdElTT1RpbWUpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJU09UaW1lT25seShzKSB7XG4gIHJldHVybiBwYXJzZShzLCBbaXNvVGltZU9ubHksIGV4dHJhY3RJU09UaW1lT25seV0pO1xufVxuXG5jb25zdCBzcWxZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoc3FsWW1kUmVnZXgsIHNxbFRpbWVFeHRlbnNpb25SZWdleCk7XG5jb25zdCBzcWxUaW1lQ29tYmluZWRSZWdleCA9IGNvbWJpbmVSZWdleGVzKHNxbFRpbWVSZWdleCk7XG5cbmNvbnN0IGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmUgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU1FMKHMpIHtcbiAgcmV0dXJuIHBhcnNlKFxuICAgIHMsXG4gICAgW3NxbFltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09ZbWRUaW1lQW5kT2Zmc2V0XSxcbiAgICBbc3FsVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmVdXG4gICk7XG59XG4iLCAiaW1wb3J0IHsgSW52YWxpZEFyZ3VtZW50RXJyb3IsIEludmFsaWREdXJhdGlvbkVycm9yLCBJbnZhbGlkVW5pdEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgRm9ybWF0dGVyIGZyb20gXCIuL2ltcGwvZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgSW52YWxpZCBmcm9tIFwiLi9pbXBsL2ludmFsaWQuanNcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcIi4vaW1wbC9sb2NhbGUuanNcIjtcbmltcG9ydCB7IHBhcnNlSVNPRHVyYXRpb24sIHBhcnNlSVNPVGltZU9ubHkgfSBmcm9tIFwiLi9pbXBsL3JlZ2V4UGFyc2VyLmpzXCI7XG5pbXBvcnQge1xuICBhc051bWJlcixcbiAgaGFzT3duUHJvcGVydHksXG4gIGlzTnVtYmVyLFxuICBpc1VuZGVmaW5lZCxcbiAgbm9ybWFsaXplT2JqZWN0LFxuICByb3VuZFRvLFxufSBmcm9tIFwiLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCBTZXR0aW5ncyBmcm9tIFwiLi9zZXR0aW5ncy5qc1wiO1xuXG5jb25zdCBJTlZBTElEID0gXCJJbnZhbGlkIER1cmF0aW9uXCI7XG5cbi8vIHVuaXQgY29udmVyc2lvbiBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBsb3dPcmRlck1hdHJpeCA9IHtcbiAgICB3ZWVrczoge1xuICAgICAgZGF5czogNyxcbiAgICAgIGhvdXJzOiA3ICogMjQsXG4gICAgICBtaW51dGVzOiA3ICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgIH0sXG4gICAgZGF5czoge1xuICAgICAgaG91cnM6IDI0LFxuICAgICAgbWludXRlczogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDI0ICogNjAgKiA2MCxcbiAgICAgIG1pbGxpc2Vjb25kczogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIGhvdXJzOiB7IG1pbnV0ZXM6IDYwLCBzZWNvbmRzOiA2MCAqIDYwLCBtaWxsaXNlY29uZHM6IDYwICogNjAgKiAxMDAwIH0sXG4gICAgbWludXRlczogeyBzZWNvbmRzOiA2MCwgbWlsbGlzZWNvbmRzOiA2MCAqIDEwMDAgfSxcbiAgICBzZWNvbmRzOiB7IG1pbGxpc2Vjb25kczogMTAwMCB9LFxuICB9LFxuICBjYXN1YWxNYXRyaXggPSB7XG4gICAgeWVhcnM6IHtcbiAgICAgIHF1YXJ0ZXJzOiA0LFxuICAgICAgbW9udGhzOiAxMixcbiAgICAgIHdlZWtzOiA1MixcbiAgICAgIGRheXM6IDM2NSxcbiAgICAgIGhvdXJzOiAzNjUgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDM2NSAqIDI0ICogNjAsXG4gICAgICBzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IDM2NSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBxdWFydGVyczoge1xuICAgICAgbW9udGhzOiAzLFxuICAgICAgd2Vla3M6IDEzLFxuICAgICAgZGF5czogOTEsXG4gICAgICBob3VyczogOTEgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDkxICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDkxICogMjQgKiA2MCAqIDYwLFxuICAgICAgbWlsbGlzZWNvbmRzOiA5MSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBtb250aHM6IHtcbiAgICAgIHdlZWtzOiA0LFxuICAgICAgZGF5czogMzAsXG4gICAgICBob3VyczogMzAgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDMwICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDMwICogMjQgKiA2MCAqIDYwLFxuICAgICAgbWlsbGlzZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcblxuICAgIC4uLmxvd09yZGVyTWF0cml4LFxuICB9LFxuICBkYXlzSW5ZZWFyQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQwMCxcbiAgZGF5c0luTW9udGhBY2N1cmF0ZSA9IDE0NjA5Ny4wIC8gNDgwMCxcbiAgYWNjdXJhdGVNYXRyaXggPSB7XG4gICAgeWVhcnM6IHtcbiAgICAgIHF1YXJ0ZXJzOiA0LFxuICAgICAgbW9udGhzOiAxMixcbiAgICAgIHdlZWtzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA3LFxuICAgICAgZGF5czogZGF5c0luWWVhckFjY3VyYXRlLFxuICAgICAgaG91cnM6IGRheXNJblllYXJBY2N1cmF0ZSAqIDI0LFxuICAgICAgbWludXRlczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjAgKiA2MCxcbiAgICAgIG1pbGxpc2Vjb25kczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIHF1YXJ0ZXJzOiB7XG4gICAgICBtb250aHM6IDMsXG4gICAgICB3ZWVrczogZGF5c0luWWVhckFjY3VyYXRlIC8gMjgsXG4gICAgICBkYXlzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA0LFxuICAgICAgaG91cnM6IChkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCkgLyA0LFxuICAgICAgbWludXRlczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjApIC8gNCxcbiAgICAgIHNlY29uZHM6IChkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjApIC8gNCxcbiAgICAgIG1pbGxpc2Vjb25kczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjAgKiA2MCAqIDEwMDApIC8gNCxcbiAgICB9LFxuICAgIG1vbnRoczoge1xuICAgICAgd2Vla3M6IGRheXNJbk1vbnRoQWNjdXJhdGUgLyA3LFxuICAgICAgZGF5czogZGF5c0luTW9udGhBY2N1cmF0ZSxcbiAgICAgIGhvdXJzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQsXG4gICAgICBtaW51dGVzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgIH0sXG4gICAgLi4ubG93T3JkZXJNYXRyaXgsXG4gIH07XG5cbi8vIHVuaXRzIG9yZGVyZWQgYnkgc2l6ZVxuY29uc3Qgb3JkZXJlZFVuaXRzID0gW1xuICBcInllYXJzXCIsXG4gIFwicXVhcnRlcnNcIixcbiAgXCJtb250aHNcIixcbiAgXCJ3ZWVrc1wiLFxuICBcImRheXNcIixcbiAgXCJob3Vyc1wiLFxuICBcIm1pbnV0ZXNcIixcbiAgXCJzZWNvbmRzXCIsXG4gIFwibWlsbGlzZWNvbmRzXCIsXG5dO1xuXG5jb25zdCByZXZlcnNlVW5pdHMgPSBvcmRlcmVkVW5pdHMuc2xpY2UoMCkucmV2ZXJzZSgpO1xuXG4vLyBjbG9uZSByZWFsbHkgbWVhbnMgXCJjcmVhdGUgYW5vdGhlciBpbnN0YW5jZSBqdXN0IGxpa2UgdGhpcyBvbmUsIGJ1dCB3aXRoIHRoZXNlIGNoYW5nZXNcIlxuZnVuY3Rpb24gY2xvbmUoZHVyLCBhbHRzLCBjbGVhciA9IGZhbHNlKSB7XG4gIC8vIGRlZXAgbWVyZ2UgZm9yIHZhbHNcbiAgY29uc3QgY29uZiA9IHtcbiAgICB2YWx1ZXM6IGNsZWFyID8gYWx0cy52YWx1ZXMgOiB7IC4uLmR1ci52YWx1ZXMsIC4uLihhbHRzLnZhbHVlcyB8fCB7fSkgfSxcbiAgICBsb2M6IGR1ci5sb2MuY2xvbmUoYWx0cy5sb2MpLFxuICAgIGNvbnZlcnNpb25BY2N1cmFjeTogYWx0cy5jb252ZXJzaW9uQWNjdXJhY3kgfHwgZHVyLmNvbnZlcnNpb25BY2N1cmFjeSxcbiAgfTtcbiAgcmV0dXJuIG5ldyBEdXJhdGlvbihjb25mKTtcbn1cblxuZnVuY3Rpb24gYW50aVRydW5jKG4pIHtcbiAgcmV0dXJuIG4gPCAwID8gTWF0aC5mbG9vcihuKSA6IE1hdGguY2VpbChuKTtcbn1cblxuLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVyc1xuZnVuY3Rpb24gY29udmVydChtYXRyaXgsIGZyb21NYXAsIGZyb21Vbml0LCB0b01hcCwgdG9Vbml0KSB7XG4gIGNvbnN0IGNvbnYgPSBtYXRyaXhbdG9Vbml0XVtmcm9tVW5pdF0sXG4gICAgcmF3ID0gZnJvbU1hcFtmcm9tVW5pdF0gLyBjb252LFxuICAgIHNhbWVTaWduID0gTWF0aC5zaWduKHJhdykgPT09IE1hdGguc2lnbih0b01hcFt0b1VuaXRdKSxcbiAgICAvLyBvaywgc28gdGhpcyBpcyB3aWxkLCBidXQgc2VlIHRoZSBtYXRyaXggaW4gdGhlIHRlc3RzXG4gICAgYWRkZWQgPVxuICAgICAgIXNhbWVTaWduICYmIHRvTWFwW3RvVW5pdF0gIT09IDAgJiYgTWF0aC5hYnMocmF3KSA8PSAxID8gYW50aVRydW5jKHJhdykgOiBNYXRoLnRydW5jKHJhdyk7XG4gIHRvTWFwW3RvVW5pdF0gKz0gYWRkZWQ7XG4gIGZyb21NYXBbZnJvbVVuaXRdIC09IGFkZGVkICogY29udjtcbn1cblxuLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVyc1xuZnVuY3Rpb24gbm9ybWFsaXplVmFsdWVzKG1hdHJpeCwgdmFscykge1xuICByZXZlcnNlVW5pdHMucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgIGlmICghaXNVbmRlZmluZWQodmFsc1tjdXJyZW50XSkpIHtcbiAgICAgIGlmIChwcmV2aW91cykge1xuICAgICAgICBjb252ZXJ0KG1hdHJpeCwgdmFscywgcHJldmlvdXMsIHZhbHMsIGN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICB9XG4gIH0sIG51bGwpO1xufVxuXG4vKipcbiAqIEEgRHVyYXRpb24gb2JqZWN0IHJlcHJlc2VudHMgYSBwZXJpb2Qgb2YgdGltZSwgbGlrZSBcIjIgbW9udGhzXCIgb3IgXCIxIGRheSwgMSBob3VyXCIuIENvbmNlcHR1YWxseSwgaXQncyBqdXN0IGEgbWFwIG9mIHVuaXRzIHRvIHRoZWlyIHF1YW50aXRpZXMsIGFjY29tcGFuaWVkIGJ5IHNvbWUgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGFuZCBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLiBUaGV5IGNhbiBiZSB1c2VkIG9uIHRoZWlyIG93biBvciBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIEx1eG9uIHR5cGVzOyBmb3IgZXhhbXBsZSwgeW91IGNhbiB1c2Uge0BsaW5rIERhdGVUaW1lI3BsdXN9IHRvIGFkZCBhIER1cmF0aW9uIG9iamVjdCB0byBhIERhdGVUaW1lLCBwcm9kdWNpbmcgYW5vdGhlciBEYXRlVGltZS5cbiAqXG4gKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgY29tbW9ubHkgdXNlZCBtZXRob2RzIGFuZCBnZXR0ZXJzIGluIER1cmF0aW9uOlxuICpcbiAqICogKipDcmVhdGlvbioqIFRvIGNyZWF0ZSBhIER1cmF0aW9uLCB1c2Uge0BsaW5rIER1cmF0aW9uI2Zyb21NaWxsaXN9LCB7QGxpbmsgRHVyYXRpb24jZnJvbU9iamVjdH0sIG9yIHtAbGluayBEdXJhdGlvbiNmcm9tSVNPfS5cbiAqICogKipVbml0IHZhbHVlcyoqIFNlZSB0aGUge0BsaW5rIER1cmF0aW9uI3llYXJzfSwge0BsaW5rIER1cmF0aW9uI21vbnRoc30sIHtAbGluayBEdXJhdGlvbiN3ZWVrc30sIHtAbGluayBEdXJhdGlvbiNkYXlzfSwge0BsaW5rIER1cmF0aW9uI2hvdXJzfSwge0BsaW5rIER1cmF0aW9uI21pbnV0ZXN9LCB7QGxpbmsgRHVyYXRpb24jc2Vjb25kc30sIHtAbGluayBEdXJhdGlvbiNtaWxsaXNlY29uZHN9IGFjY2Vzc29ycy5cbiAqICogKipDb25maWd1cmF0aW9uKiogU2VlICB7QGxpbmsgRHVyYXRpb24jbG9jYWxlfSBhbmQge0BsaW5rIER1cmF0aW9uI251bWJlcmluZ1N5c3RlbX0gYWNjZXNzb3JzLlxuICogKiAqKlRyYW5zZm9ybWF0aW9uKiogVG8gY3JlYXRlIG5ldyBEdXJhdGlvbnMgb3V0IG9mIG9sZCBvbmVzIHVzZSB7QGxpbmsgRHVyYXRpb24jcGx1c30sIHtAbGluayBEdXJhdGlvbiNtaW51c30sIHtAbGluayBEdXJhdGlvbiNub3JtYWxpemV9LCB7QGxpbmsgRHVyYXRpb24jc2V0fSwge0BsaW5rIER1cmF0aW9uI3JlY29uZmlndXJlfSwge0BsaW5rIER1cmF0aW9uI3NoaWZ0VG99LCBhbmQge0BsaW5rIER1cmF0aW9uI25lZ2F0ZX0uXG4gKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgRHVyYXRpb24gaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgRHVyYXRpb24jYXN9LCB7QGxpbmsgRHVyYXRpb24jdG9JU099LCB7QGxpbmsgRHVyYXRpb24jdG9Gb3JtYXR9LCBhbmQge0BsaW5rIER1cmF0aW9uI3RvSlNPTn1cbiAqXG4gKiBUaGVyZSdzIGFyZSBtb3JlIG1ldGhvZHMgZG9jdW1lbnRlZCBiZWxvdy4gSW4gYWRkaXRpb24sIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHN1YnRsZXIgdG9waWNzIGxpa2UgaW50ZXJuYXRpb25hbGl6YXRpb24gYW5kIHZhbGlkaXR5LCBzZWUgdGhlIGV4dGVybmFsIGRvY3VtZW50YXRpb24uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIER1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBjb25zdCBhY2N1cmF0ZSA9IGNvbmZpZy5jb252ZXJzaW9uQWNjdXJhY3kgPT09IFwibG9uZ3Rlcm1cIiB8fCBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnZhbHVlcyA9IGNvbmZpZy52YWx1ZXM7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5sb2MgPSBjb25maWcubG9jIHx8IExvY2FsZS5jcmVhdGUoKTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmNvbnZlcnNpb25BY2N1cmFjeSA9IGFjY3VyYXRlID8gXCJsb25ndGVybVwiIDogXCJjYXN1YWxcIjtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMubWF0cml4ID0gYWNjdXJhdGUgPyBhY2N1cmF0ZU1hdHJpeCA6IGNhc3VhbE1hdHJpeDtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmlzTHV4b25EdXJhdGlvbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIER1cmF0aW9uIGZyb20gYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQgb2YgbWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tTWlsbGlzKGNvdW50LCBvcHRzKSB7XG4gICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaWxsaXNlY29uZHM6IGNvdW50IH0sIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIER1cmF0aW9uIGZyb20gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIGtleXMgbGlrZSAneWVhcnMnIGFuZCAnaG91cnMnLlxuICAgKiBJZiB0aGlzIG9iamVjdCBpcyBlbXB0eSB0aGVuIGEgemVybyBtaWxsaXNlY29uZHMgZHVyYXRpb24gaXMgcmV0dXJuZWQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSB0aGUgb2JqZWN0IHRvIGNyZWF0ZSB0aGUgRGF0ZVRpbWUgZnJvbVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLnllYXJzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoucXVhcnRlcnNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5tb250aHNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai53ZWVrc1xuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLmRheXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3Vyc1xuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbnV0ZXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmRzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0cz1bXV0gLSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGlzIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSB0aGUgbG9jYWxlIHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmNvbnZlcnNpb25BY2N1cmFjeT0nY2FzdWFsJ10gLSB0aGUgY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGZyb21PYmplY3Qob2JqLCBvcHRzID0ge30pIHtcbiAgICBpZiAob2JqID09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgRHVyYXRpb24uZnJvbU9iamVjdDogYXJndW1lbnQgZXhwZWN0ZWQgdG8gYmUgYW4gb2JqZWN0LCBnb3QgJHtcbiAgICAgICAgICBvYmogPT09IG51bGwgPyBcIm51bGxcIiA6IHR5cGVvZiBvYmpcbiAgICAgICAgfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEdXJhdGlvbih7XG4gICAgICB2YWx1ZXM6IG5vcm1hbGl6ZU9iamVjdChvYmosIER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpLFxuICAgICAgbG9jOiBMb2NhbGUuZnJvbU9iamVjdChvcHRzKSxcbiAgICAgIGNvbnZlcnNpb25BY2N1cmFjeTogb3B0cy5jb252ZXJzaW9uQWNjdXJhY3ksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBEdXJhdGlvbkxpa2UuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0IHwgbnVtYmVyIHwgRHVyYXRpb259IGR1cmF0aW9uTGlrZVxuICAgKiBPbmUgb2Y6XG4gICAqIC0gb2JqZWN0IHdpdGgga2V5cyBsaWtlICd5ZWFycycgYW5kICdob3VycycuXG4gICAqIC0gbnVtYmVyIHJlcHJlc2VudGluZyBtaWxsaXNlY29uZHNcbiAgICogLSBEdXJhdGlvbiBpbnN0YW5jZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uTGlrZSkge1xuICAgIGlmIChpc051bWJlcihkdXJhdGlvbkxpa2UpKSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhkdXJhdGlvbkxpa2UpO1xuICAgIH0gZWxzZSBpZiAoRHVyYXRpb24uaXNEdXJhdGlvbihkdXJhdGlvbkxpa2UpKSB7XG4gICAgICByZXR1cm4gZHVyYXRpb25MaWtlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGR1cmF0aW9uTGlrZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QoZHVyYXRpb25MaWtlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgVW5rbm93biBkdXJhdGlvbiBhcmd1bWVudCAke2R1cmF0aW9uTGlrZX0gb2YgdHlwZSAke3R5cGVvZiBkdXJhdGlvbkxpa2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSBkdXJhdGlvbiBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBwYXJzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIHBhcnNpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2VcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDNZNk0xVzREVDEySDMwTTVTJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDMsIG1vbnRoczogNiwgd2Vla3M6IDEsIGRheXM6IDQsIGhvdXJzOiAxMiwgbWludXRlczogMzAsIHNlY29uZHM6IDUgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPKCdQVDIzSCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAyMyB9XG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21JU08oJ1A1WTNNJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDUsIG1vbnRoczogMyB9XG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGZyb21JU08odGV4dCwgb3B0cykge1xuICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09EdXJhdGlvbih0ZXh0KTtcbiAgICBpZiAocGFyc2VkKSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdChwYXJzZWQsIG9wdHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uaW52YWxpZChcInVucGFyc2FibGVcIiwgYHRoZSBpbnB1dCBcIiR7dGV4dH1cIiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSB0aW1lIHN0cmluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0ZXh0IHRvIHBhcnNlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVzXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21JU09UaW1lKCcxMToyMjozMy40NDQnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDIyLCBzZWNvbmRzOiAzMywgbWlsbGlzZWNvbmRzOiA0NDQgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTE6MDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExOjAwJykudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IDExLCBtaW51dGVzOiAwLCBzZWNvbmRzOiAwIH1cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJzExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tSVNPVGltZSh0ZXh0LCBvcHRzKSB7XG4gICAgY29uc3QgW3BhcnNlZF0gPSBwYXJzZUlTT1RpbWVPbmx5KHRleHQpO1xuICAgIGlmIChwYXJzZWQpIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKFwidW5wYXJzYWJsZVwiLCBgdGhlIGlucHV0IFwiJHt0ZXh0fVwiIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW52YWxpZCBEdXJhdGlvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIHNpbXBsZSBzdHJpbmcgb2Ygd2h5IHRoaXMgZGF0ZXRpbWUgaXMgaW52YWxpZC4gU2hvdWxkIG5vdCBjb250YWluIHBhcmFtZXRlcnMgb3IgYW55dGhpbmcgZWxzZSBkYXRhLWRlcGVuZGVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBEdXJhdGlvbiBpcyBpbnZhbGlkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7XG5cbiAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRHVyYXRpb25FcnJvcihpbnZhbGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBEdXJhdGlvbih7IGludmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplVW5pdCh1bml0KSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHtcbiAgICAgIHllYXI6IFwieWVhcnNcIixcbiAgICAgIHllYXJzOiBcInllYXJzXCIsXG4gICAgICBxdWFydGVyOiBcInF1YXJ0ZXJzXCIsXG4gICAgICBxdWFydGVyczogXCJxdWFydGVyc1wiLFxuICAgICAgbW9udGg6IFwibW9udGhzXCIsXG4gICAgICBtb250aHM6IFwibW9udGhzXCIsXG4gICAgICB3ZWVrOiBcIndlZWtzXCIsXG4gICAgICB3ZWVrczogXCJ3ZWVrc1wiLFxuICAgICAgZGF5OiBcImRheXNcIixcbiAgICAgIGRheXM6IFwiZGF5c1wiLFxuICAgICAgaG91cjogXCJob3Vyc1wiLFxuICAgICAgaG91cnM6IFwiaG91cnNcIixcbiAgICAgIG1pbnV0ZTogXCJtaW51dGVzXCIsXG4gICAgICBtaW51dGVzOiBcIm1pbnV0ZXNcIixcbiAgICAgIHNlY29uZDogXCJzZWNvbmRzXCIsXG4gICAgICBzZWNvbmRzOiBcInNlY29uZHNcIixcbiAgICAgIG1pbGxpc2Vjb25kOiBcIm1pbGxpc2Vjb25kc1wiLFxuICAgICAgbWlsbGlzZWNvbmRzOiBcIm1pbGxpc2Vjb25kc1wiLFxuICAgIH1bdW5pdCA/IHVuaXQudG9Mb3dlckNhc2UoKSA6IHVuaXRdO1xuXG4gICAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTtcblxuICAgIHJldHVybiBub3JtYWxpemVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhIER1cmF0aW9uLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNEdXJhdGlvbihvKSB7XG4gICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkR1cmF0aW9uKSB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgIHRoZSBsb2NhbGUgb2YgYSBEdXJhdGlvbiwgc3VjaCAnZW4tR0InXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyaW5nIHN5c3RlbSBvZiBhIER1cmF0aW9uLCBzdWNoICdiZW5nJy4gVGhlIG51bWJlcmluZyBzeXN0ZW0gaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIER1cmF0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy4gWW91IG1heSB1c2UgdGhlc2UgdG9rZW5zOlxuICAgKiAqIGBTYCBmb3IgbWlsbGlzZWNvbmRzXG4gICAqICogYHNgIGZvciBzZWNvbmRzXG4gICAqICogYG1gIGZvciBtaW51dGVzXG4gICAqICogYGhgIGZvciBob3Vyc1xuICAgKiAqIGBkYCBmb3IgZGF5c1xuICAgKiAqIGB3YCBmb3Igd2Vla3NcbiAgICogKiBgTWAgZm9yIG1vbnRoc1xuICAgKiAqIGB5YCBmb3IgeWVhcnNcbiAgICogTm90ZXM6XG4gICAqICogQWRkIHBhZGRpbmcgYnkgcmVwZWF0aW5nIHRoZSB0b2tlbiwgZS5nLiBcInl5XCIgcGFkcyB0aGUgeWVhcnMgdG8gdHdvIGRpZ2l0cywgXCJoaGhoXCIgcGFkcyB0aGUgaG91cnMgb3V0IHRvIGZvdXIgZGlnaXRzXG4gICAqICogVG9rZW5zIGNhbiBiZSBlc2NhcGVkIGJ5IHdyYXBwaW5nIHdpdGggc2luZ2xlIHF1b3Rlcy5cbiAgICogKiBUaGUgZHVyYXRpb24gd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhlIHNldCBvZiB1bml0cyBpbiB0aGUgZm9ybWF0IHN0cmluZyB1c2luZyB7QGxpbmsgRHVyYXRpb24jc2hpZnRUb30gYW5kIHRoZSBEdXJhdGlvbnMncyBjb252ZXJzaW9uIGFjY3VyYWN5IHNldHRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5mbG9vcj10cnVlXSAtIGZsb29yIG51bWVyaWNhbCB2YWx1ZXNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KFwieSBkIHNcIikgLy89PiBcIjEgNiAyXCJcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KFwieXkgZGQgc3NzXCIpIC8vPT4gXCIwMSAwNiAwMDJcIlxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfSkudG9Gb3JtYXQoXCJNIFNcIikgLy89PiBcIjEyIDUxODQwMjAwMFwiXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvRm9ybWF0KGZtdCwgb3B0cyA9IHt9KSB7XG4gICAgLy8gcmV2ZXJzZS1jb21wYXQgc2luY2UgMS4yOyB3ZSBhbHdheXMgcm91bmQgZG93biBub3csIG5ldmVyIHVwLCBhbmQgd2UgZG8gaXQgYnkgZGVmYXVsdFxuICAgIGNvbnN0IGZtdE9wdHMgPSB7XG4gICAgICAuLi5vcHRzLFxuICAgICAgZmxvb3I6IG9wdHMucm91bmQgIT09IGZhbHNlICYmIG9wdHMuZmxvb3IgIT09IGZhbHNlLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLCBmbXRPcHRzKS5mb3JtYXREdXJhdGlvbkZyb21TdHJpbmcodGhpcywgZm10KVxuICAgICAgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBEdXJhdGlvbiB3aXRoIGFsbCB1bml0cyBpbmNsdWRlZC5cbiAgICogVG8gbW9kaWZ5IGl0cyBiZWhhdmlvciB1c2UgdGhlIGBsaXN0U3R5bGVgIGFuZCBhbnkgSW50bC5OdW1iZXJGb3JtYXQgb3B0aW9uLCB0aG91Z2ggYHVuaXREaXNwbGF5YCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50LlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTnVtYmVyRm9ybWF0XG4gICAqIEBwYXJhbSBvcHRzIC0gT24gb3B0aW9uIG9iamVjdCB0byBvdmVycmlkZSB0aGUgZm9ybWF0dGluZy4gQWNjZXB0cyB0aGUgc2FtZSBrZXlzIGFzIHRoZSBvcHRpb25zIHBhcmFtZXRlciBvZiB0aGUgbmF0aXZlIGBJbnQuTnVtYmVyRm9ybWF0YCBjb25zdHJ1Y3RvciwgYXMgd2VsbCBhcyBgbGlzdFN0eWxlYC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICogdmFyIGR1ciA9IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxLCBob3VyczogNSwgbWludXRlczogNiB9KVxuICAgKiBkdXIudG9IdW1hbigpIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCA2IG1pbnV0ZXMnXG4gICAqIGR1ci50b0h1bWFuKHsgbGlzdFN0eWxlOiBcImxvbmdcIiB9KSAvLz0+ICcxIGRheSwgNSBob3VycywgYW5kIDYgbWludXRlcydcbiAgICogZHVyLnRvSHVtYW4oeyB1bml0RGlzcGxheTogXCJzaG9ydFwiIH0pIC8vPT4gJzEgZGF5LCA1IGhyLCA2IG1pbidcbiAgICogYGBgXG4gICAqL1xuICB0b0h1bWFuKG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IGwgPSBvcmRlcmVkVW5pdHNcbiAgICAgIC5tYXAoKHVuaXQpID0+IHtcbiAgICAgICAgY29uc3QgdmFsID0gdGhpcy52YWx1ZXNbdW5pdF07XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZCh2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubG9jXG4gICAgICAgICAgLm51bWJlckZvcm1hdHRlcih7IHN0eWxlOiBcInVuaXRcIiwgdW5pdERpc3BsYXk6IFwibG9uZ1wiLCAuLi5vcHRzLCB1bml0OiB1bml0LnNsaWNlKDAsIC0xKSB9KVxuICAgICAgICAgIC5mb3JtYXQodmFsKTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChuKSA9PiBuKTtcblxuICAgIHJldHVybiB0aGlzLmxvY1xuICAgICAgLmxpc3RGb3JtYXR0ZXIoeyB0eXBlOiBcImNvbmp1bmN0aW9uXCIsIHN0eWxlOiBvcHRzLmxpc3RTdHlsZSB8fCBcIm5hcnJvd1wiLCAuLi5vcHRzIH0pXG4gICAgICAuZm9ybWF0KGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHRoaXMgRHVyYXRpb24ncyB2YWx1ZXMuXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSwgZGF5czogNiwgc2Vjb25kczogMiB9KS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMSwgZGF5czogNiwgc2Vjb25kczogMiB9XG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHRvT2JqZWN0KCkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4ge307XG4gICAgcmV0dXJuIHsgLi4udGhpcy52YWx1ZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbi5cbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAzLCBzZWNvbmRzOiA0NSB9KS50b0lTTygpIC8vPT4gJ1AzWVQ0NVMnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDQsIHNlY29uZHM6IDQ1IH0pLnRvSVNPKCkgLy89PiAnUDRNVDQ1UydcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogNSB9KS50b0lTTygpIC8vPT4gJ1A1TSdcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDUgfSkudG9JU08oKSAvLz0+ICdQVDVNJ1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWlsbGlzZWNvbmRzOiA2IH0pLnRvSVNPKCkgLy89PiAnUFQwLjAwNlMnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKCkge1xuICAgIC8vIHdlIGNvdWxkIHVzZSB0aGUgZm9ybWF0dGVyLCBidXQgdGhpcyBpcyBhbiBlYXNpZXIgd2F5IHRvIGdldCB0aGUgbWluaW11bSBzdHJpbmdcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICBsZXQgcyA9IFwiUFwiO1xuICAgIGlmICh0aGlzLnllYXJzICE9PSAwKSBzICs9IHRoaXMueWVhcnMgKyBcIllcIjtcbiAgICBpZiAodGhpcy5tb250aHMgIT09IDAgfHwgdGhpcy5xdWFydGVycyAhPT0gMCkgcyArPSB0aGlzLm1vbnRocyArIHRoaXMucXVhcnRlcnMgKiAzICsgXCJNXCI7XG4gICAgaWYgKHRoaXMud2Vla3MgIT09IDApIHMgKz0gdGhpcy53ZWVrcyArIFwiV1wiO1xuICAgIGlmICh0aGlzLmRheXMgIT09IDApIHMgKz0gdGhpcy5kYXlzICsgXCJEXCI7XG4gICAgaWYgKHRoaXMuaG91cnMgIT09IDAgfHwgdGhpcy5taW51dGVzICE9PSAwIHx8IHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMClcbiAgICAgIHMgKz0gXCJUXCI7XG4gICAgaWYgKHRoaXMuaG91cnMgIT09IDApIHMgKz0gdGhpcy5ob3VycyArIFwiSFwiO1xuICAgIGlmICh0aGlzLm1pbnV0ZXMgIT09IDApIHMgKz0gdGhpcy5taW51dGVzICsgXCJNXCI7XG4gICAgaWYgKHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMClcbiAgICAgIC8vIHRoaXMgd2lsbCBoYW5kbGUgXCJmbG9hdGluZyBwb2ludCBtYWRuZXNzXCIgYnkgcmVtb3ZpbmcgZXh0cmEgZGVjaW1hbCBwbGFjZXNcbiAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzU4ODAwNC9pcy1mbG9hdGluZy1wb2ludC1tYXRoLWJyb2tlblxuICAgICAgcyArPSByb3VuZFRvKHRoaXMuc2Vjb25kcyArIHRoaXMubWlsbGlzZWNvbmRzIC8gMTAwMCwgMykgKyBcIlNcIjtcbiAgICBpZiAocyA9PT0gXCJQXCIpIHMgKz0gXCJUMFNcIjtcbiAgICByZXR1cm4gcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiwgZm9ybWF0dGVkIGFzIGEgdGltZSBvZiBkYXkuXG4gICAqIE5vdGUgdGhhdCB0aGlzIHdpbGwgcmV0dXJuIG51bGwgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQsIG5lZ2F0aXZlLCBvciBlcXVhbCB0byBvciBncmVhdGVyIHRoYW4gMjQgaG91cnMuXG4gICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZXNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NNaWxsaXNlY29uZHM9ZmFsc2VdIC0gZXhjbHVkZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzU2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIHNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVQcmVmaXg9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgYFRgIHByZWZpeFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXRcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoKSAvLz0+ICcxMTowMDowMC4wMDAnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NNaWxsaXNlY29uZHM6IHRydWUgfSkgLy89PiAnMTE6MDA6MDAnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NTZWNvbmRzOiB0cnVlIH0pIC8vPT4gJzExOjAwJ1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSh7IGluY2x1ZGVQcmVmaXg6IHRydWUgfSkgLy89PiAnVDExOjAwOjAwLjAwMCdcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoeyBmb3JtYXQ6ICdiYXNpYycgfSkgLy89PiAnMTEwMDAwLjAwMCdcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9JU09UaW1lKG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IG1pbGxpcyA9IHRoaXMudG9NaWxsaXMoKTtcbiAgICBpZiAobWlsbGlzIDwgMCB8fCBtaWxsaXMgPj0gODY0MDAwMDApIHJldHVybiBudWxsO1xuXG4gICAgb3B0cyA9IHtcbiAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzOiBmYWxzZSxcbiAgICAgIHN1cHByZXNzU2Vjb25kczogZmFsc2UsXG4gICAgICBpbmNsdWRlUHJlZml4OiBmYWxzZSxcbiAgICAgIGZvcm1hdDogXCJleHRlbmRlZFwiLFxuICAgICAgLi4ub3B0cyxcbiAgICB9O1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnNoaWZ0VG8oXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCIsIFwibWlsbGlzZWNvbmRzXCIpO1xuXG4gICAgbGV0IGZtdCA9IG9wdHMuZm9ybWF0ID09PSBcImJhc2ljXCIgPyBcImhobW1cIiA6IFwiaGg6bW1cIjtcblxuICAgIGlmICghb3B0cy5zdXBwcmVzc1NlY29uZHMgfHwgdmFsdWUuc2Vjb25kcyAhPT0gMCB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHtcbiAgICAgIGZtdCArPSBvcHRzLmZvcm1hdCA9PT0gXCJiYXNpY1wiID8gXCJzc1wiIDogXCI6c3NcIjtcbiAgICAgIGlmICghb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcyB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHtcbiAgICAgICAgZm10ICs9IFwiLlNTU1wiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBzdHIgPSB2YWx1ZS50b0Zvcm1hdChmbXQpO1xuXG4gICAgaWYgKG9wdHMuaW5jbHVkZVByZWZpeCkge1xuICAgICAgc3RyID0gXCJUXCIgKyBzdHI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBkZWJ1Z2dpbmcuXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnRvSVNPKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgdG9NaWxsaXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXMoXCJtaWxsaXNlY29uZHNcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi4gQWxpYXMgb2Yge0BsaW5rIHRvTWlsbGlzfVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB2YWx1ZU9mKCkge1xuICAgIHJldHVybiB0aGlzLnRvTWlsbGlzKCk7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSB0aGlzIER1cmF0aW9uIGxvbmdlciBieSB0aGUgc3BlY2lmaWVkIGFtb3VudC4gUmV0dXJuIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KClcbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBwbHVzKGR1cmF0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksXG4gICAgICByZXN1bHQgPSB7fTtcblxuICAgIGZvciAoY29uc3QgayBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eShkdXIudmFsdWVzLCBrKSB8fCBoYXNPd25Qcm9wZXJ0eSh0aGlzLnZhbHVlcywgaykpIHtcbiAgICAgICAgcmVzdWx0W2tdID0gZHVyLmdldChrKSArIHRoaXMuZ2V0KGspO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgdGhpcyBEdXJhdGlvbiBzaG9ydGVyIGJ5IHRoZSBzcGVjaWZpZWQgYW1vdW50LiBSZXR1cm4gYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi5cbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgbWludXMoZHVyYXRpb24pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcbiAgICByZXR1cm4gdGhpcy5wbHVzKGR1ci5uZWdhdGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGUgdGhpcyBEdXJhdGlvbiBieSB0aGUgc3BlY2lmaWVkIGFtb3VudC4gUmV0dXJuIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggdW5pdC4gQXJpdHkgaXMgMSBvciAyOiB0aGUgdmFsdWUgb2YgdGhlIHVuaXQgYW5kLCBvcHRpb25hbGx5LCB0aGUgdW5pdCBuYW1lLiBNdXN0IHJldHVybiBhIG51bWJlci5cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cyh4ID0+IHggKiAyKSAvLz0+IHsgaG91cnM6IDIsIG1pbnV0ZXM6IDYwIH1cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cygoeCwgdSkgPT4gdSA9PT0gXCJob3VyXCIgPyB4ICogMiA6IHgpIC8vPT4geyBob3VyczogMiwgbWludXRlczogMzAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIG1hcFVuaXRzKGZuKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHtcbiAgICAgIHJlc3VsdFtrXSA9IGFzTnVtYmVyKGZuKHRoaXMudmFsdWVzW2tdLCBrKSk7XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmFsdWUgb2YgdW5pdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlJyBvciAnZGF5J1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgneWVhcnMnKSAvLz0+IDJcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7eWVhcnM6IDIsIGRheXM6IDN9KS5nZXQoJ21vbnRocycpIC8vPT4gMFxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgnZGF5cycpIC8vPT4gM1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQodW5pdCkge1xuICAgIHJldHVybiB0aGlzW0R1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodW5pdCldO1xuICB9XG5cbiAgLyoqXG4gICAqIFwiU2V0XCIgdGhlIHZhbHVlcyBvZiBzcGVjaWZpZWQgdW5pdHMuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gYSBtYXBwaW5nIG9mIHVuaXRzIHRvIG51bWJlcnNcbiAgICogQGV4YW1wbGUgZHVyLnNldCh7IHllYXJzOiAyMDE3IH0pXG4gICAqIEBleGFtcGxlIGR1ci5zZXQoeyBob3VyczogOCwgbWludXRlczogMzAgfSlcbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBzZXQodmFsdWVzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgbWl4ZWQgPSB7IC4uLnRoaXMudmFsdWVzLCAuLi5ub3JtYWxpemVPYmplY3QodmFsdWVzLCBEdXJhdGlvbi5ub3JtYWxpemVVbml0KSB9O1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogbWl4ZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgbG9jYWxlIGFuZC9vciBudW1iZXJpbmdTeXN0ZW0uICBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBleGFtcGxlIGR1ci5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIGNvbnZlcnNpb25BY2N1cmFjeSB9ID0ge30pIHtcbiAgICBjb25zdCBsb2MgPSB0aGlzLmxvYy5jbG9uZSh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtIH0pLFxuICAgICAgb3B0cyA9IHsgbG9jIH07XG5cbiAgICBpZiAoY29udmVyc2lvbkFjY3VyYWN5KSB7XG4gICAgICBvcHRzLmNvbnZlcnNpb25BY2N1cmFjeSA9IGNvbnZlcnNpb25BY2N1cmFjeTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xvbmUodGhpcywgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIGR1cmF0aW9uIGluIHRoZSBzcGVjaWZpZWQgdW5pdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlcycgb3IgJ2RheXMnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAxfSkuYXMoJ2RheXMnKSAvLz0+IDM2NVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMX0pLmFzKCdtb250aHMnKSAvLz0+IDEyXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe2hvdXJzOiA2MH0pLmFzKCdkYXlzJykgLy89PiAyLjVcbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgYXModW5pdCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnNoaWZ0VG8odW5pdCkuZ2V0KHVuaXQpIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZHVjZSB0aGlzIER1cmF0aW9uIHRvIGl0cyBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gaW4gaXRzIGN1cnJlbnQgdW5pdHMuXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMiwgZGF5czogNTAwMCB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMTUsIGRheXM6IDI1NSB9XG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTIsIG1pbnV0ZXM6IC00NSB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDE1IH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBub3JtYWxpemUoKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IHZhbHMgPSB0aGlzLnRvT2JqZWN0KCk7XG4gICAgbm9ybWFsaXplVmFsdWVzKHRoaXMubWF0cml4LCB2YWxzKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgeyB2YWx1ZXM6IHZhbHMgfSwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGlzIER1cmF0aW9uIGludG8gaXRzIHJlcHJlc2VudGF0aW9uIGluIGEgZGlmZmVyZW50IHNldCBvZiB1bml0cy5cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBzZWNvbmRzOiAzMCB9KS5zaGlmdFRvKCdtaW51dGVzJywgJ21pbGxpc2Vjb25kcycpLnRvT2JqZWN0KCkgLy89PiB7IG1pbnV0ZXM6IDYwLCBtaWxsaXNlY29uZHM6IDMwMDAwIH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBzaGlmdFRvKC4uLnVuaXRzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHVuaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdW5pdHMgPSB1bml0cy5tYXAoKHUpID0+IER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodSkpO1xuXG4gICAgY29uc3QgYnVpbHQgPSB7fSxcbiAgICAgIGFjY3VtdWxhdGVkID0ge30sXG4gICAgICB2YWxzID0gdGhpcy50b09iamVjdCgpO1xuICAgIGxldCBsYXN0VW5pdDtcblxuICAgIGZvciAoY29uc3QgayBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmICh1bml0cy5pbmRleE9mKGspID49IDApIHtcbiAgICAgICAgbGFzdFVuaXQgPSBrO1xuXG4gICAgICAgIGxldCBvd24gPSAwO1xuXG4gICAgICAgIC8vIGFueXRoaW5nIHdlIGhhdmVuJ3QgYm9pbGVkIGRvd24geWV0IHNob3VsZCBnZXQgYm9pbGVkIHRvIHRoaXMgdW5pdFxuICAgICAgICBmb3IgKGNvbnN0IGFrIGluIGFjY3VtdWxhdGVkKSB7XG4gICAgICAgICAgb3duICs9IHRoaXMubWF0cml4W2FrXVtrXSAqIGFjY3VtdWxhdGVkW2FrXTtcbiAgICAgICAgICBhY2N1bXVsYXRlZFtha10gPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGx1cyBhbnl0aGluZyB0aGF0J3MgYWxyZWFkeSBpbiB0aGlzIHVuaXRcbiAgICAgICAgaWYgKGlzTnVtYmVyKHZhbHNba10pKSB7XG4gICAgICAgICAgb3duICs9IHZhbHNba107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpID0gTWF0aC50cnVuYyhvd24pO1xuICAgICAgICBidWlsdFtrXSA9IGk7XG4gICAgICAgIGFjY3VtdWxhdGVkW2tdID0gKG93biAqIDEwMDAgLSBpICogMTAwMCkgLyAxMDAwO1xuXG4gICAgICAgIC8vIHBsdXMgYW55dGhpbmcgZnVydGhlciBkb3duIHRoZSBjaGFpbiB0aGF0IHNob3VsZCBiZSByb2xsZWQgdXAgaW4gdG8gdGhpc1xuICAgICAgICBmb3IgKGNvbnN0IGRvd24gaW4gdmFscykge1xuICAgICAgICAgIGlmIChvcmRlcmVkVW5pdHMuaW5kZXhPZihkb3duKSA+IG9yZGVyZWRVbml0cy5pbmRleE9mKGspKSB7XG4gICAgICAgICAgICBjb252ZXJ0KHRoaXMubWF0cml4LCB2YWxzLCBkb3duLCBidWlsdCwgayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIG90aGVyd2lzZSwga2VlcCBpdCBpbiB0aGUgd2luZ3MgdG8gYm9pbCBpdCBsYXRlclxuICAgICAgfSBlbHNlIGlmIChpc051bWJlcih2YWxzW2tdKSkge1xuICAgICAgICBhY2N1bXVsYXRlZFtrXSA9IHZhbHNba107XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYW55dGhpbmcgbGVmdG92ZXIgYmVjb21lcyB0aGUgZGVjaW1hbCBmb3IgdGhlIGxhc3QgdW5pdFxuICAgIC8vIGxhc3RVbml0IG11c3QgYmUgZGVmaW5lZCBzaW5jZSB1bml0cyBpcyBub3QgZW1wdHlcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBhY2N1bXVsYXRlZCkge1xuICAgICAgaWYgKGFjY3VtdWxhdGVkW2tleV0gIT09IDApIHtcbiAgICAgICAgYnVpbHRbbGFzdFVuaXRdICs9XG4gICAgICAgICAga2V5ID09PSBsYXN0VW5pdCA/IGFjY3VtdWxhdGVkW2tleV0gOiBhY2N1bXVsYXRlZFtrZXldIC8gdGhpcy5tYXRyaXhbbGFzdFVuaXRdW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsb25lKHRoaXMsIHsgdmFsdWVzOiBidWlsdCB9LCB0cnVlKS5ub3JtYWxpemUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5lZ2F0aXZlIG9mIHRoaXMgRHVyYXRpb24uXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgc2Vjb25kczogMzAgfSkubmVnYXRlKCkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IC0xLCBzZWNvbmRzOiAtMzAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIG5lZ2F0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgbmVnYXRlZCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHtcbiAgICAgIG5lZ2F0ZWRba10gPSB0aGlzLnZhbHVlc1trXSA9PT0gMCA/IDAgOiAtdGhpcy52YWx1ZXNba107XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogbmVnYXRlZCB9LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXJzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHllYXJzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy55ZWFycyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcXVhcnRlcnMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgcXVhcnRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLnF1YXJ0ZXJzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aHMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbW9udGhzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5tb250aHMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHdlZWtzXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLndlZWtzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXlzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLmRheXMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGhvdXJzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGhvdXJzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5ob3VycyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWludXRlcy5cbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIGdldCBtaW51dGVzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5taW51dGVzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBzZWNvbmRzLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgc2Vjb25kcygpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMuc2Vjb25kcyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWlsbGlzZWNvbmRzLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbWlsbGlzZWNvbmRzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5taWxsaXNlY29uZHMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIER1cmF0aW9uIGlzIGludmFsaWQuIEludmFsaWQgZHVyYXRpb25zIGFyZSByZXR1cm5lZCBieSBkaWZmIG9wZXJhdGlvbnNcbiAgICogb24gaW52YWxpZCBEYXRlVGltZXMgb3IgSW50ZXJ2YWxzLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA9PT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGVycm9yIGNvZGUgaWYgdGhpcyBEdXJhdGlvbiBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRHVyYXRpb24gaXMgdmFsaWRcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRSZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgRHVyYXRpb24gYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIER1cmF0aW9uIGlzIHZhbGlkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgaW52YWxpZEV4cGxhbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEVxdWFsaXR5IGNoZWNrXG4gICAqIFR3byBEdXJhdGlvbnMgYXJlIGVxdWFsIGlmZiB0aGV5IGhhdmUgdGhlIHNhbWUgdW5pdHMgYW5kIHRoZSBzYW1lIHZhbHVlcyBmb3IgZWFjaCB1bml0LlxuICAgKiBAcGFyYW0ge0R1cmF0aW9ufSBvdGhlclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZXF1YWxzKG90aGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQgfHwgIW90aGVyLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubG9jLmVxdWFscyhvdGhlci5sb2MpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXEodjEsIHYyKSB7XG4gICAgICAvLyBDb25zaWRlciAwIGFuZCB1bmRlZmluZWQgYXMgZXF1YWxcbiAgICAgIGlmICh2MSA9PT0gdW5kZWZpbmVkIHx8IHYxID09PSAwKSByZXR1cm4gdjIgPT09IHVuZGVmaW5lZCB8fCB2MiA9PT0gMDtcbiAgICAgIHJldHVybiB2MSA9PT0gdjI7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB1IG9mIG9yZGVyZWRVbml0cykge1xuICAgICAgaWYgKCFlcSh0aGlzLnZhbHVlc1t1XSwgb3RoZXIudmFsdWVzW3VdKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCAiaW1wb3J0IERhdGVUaW1lLCB7IGZyaWVuZGx5RGF0ZVRpbWUgfSBmcm9tIFwiLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IER1cmF0aW9uIGZyb20gXCIuL2R1cmF0aW9uLmpzXCI7XG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3MuanNcIjtcbmltcG9ydCB7IEludmFsaWRBcmd1bWVudEVycm9yLCBJbnZhbGlkSW50ZXJ2YWxFcnJvciB9IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IEludmFsaWQgZnJvbSBcIi4vaW1wbC9pbnZhbGlkLmpzXCI7XG5cbmNvbnN0IElOVkFMSUQgPSBcIkludmFsaWQgSW50ZXJ2YWxcIjtcblxuLy8gY2hlY2tzIGlmIHRoZSBzdGFydCBpcyBlcXVhbCB0byBvciBiZWZvcmUgdGhlIGVuZFxuZnVuY3Rpb24gdmFsaWRhdGVTdGFydEVuZChzdGFydCwgZW5kKSB7XG4gIGlmICghc3RhcnQgfHwgIXN0YXJ0LmlzVmFsaWQpIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZChcIm1pc3Npbmcgb3IgaW52YWxpZCBzdGFydFwiKTtcbiAgfSBlbHNlIGlmICghZW5kIHx8ICFlbmQuaXNWYWxpZCkge1xuICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKFwibWlzc2luZyBvciBpbnZhbGlkIGVuZFwiKTtcbiAgfSBlbHNlIGlmIChlbmQgPCBzdGFydCkge1xuICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKFxuICAgICAgXCJlbmQgYmVmb3JlIHN0YXJ0XCIsXG4gICAgICBgVGhlIGVuZCBvZiBhbiBpbnRlcnZhbCBtdXN0IGJlIGFmdGVyIGl0cyBzdGFydCwgYnV0IHlvdSBoYWQgc3RhcnQ9JHtzdGFydC50b0lTTygpfSBhbmQgZW5kPSR7ZW5kLnRvSVNPKCl9YFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBJbnRlcnZhbCBvYmplY3QgcmVwcmVzZW50cyBhIGhhbGYtb3BlbiBpbnRlcnZhbCBvZiB0aW1lLCB3aGVyZSBlYWNoIGVuZHBvaW50IGlzIGEge0BsaW5rIERhdGVUaW1lfS4gQ29uY2VwdHVhbGx5LCBpdCdzIGEgY29udGFpbmVyIGZvciB0aG9zZSB0d28gZW5kcG9pbnRzLCBhY2NvbXBhbmllZCBieSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgY29tcGFyaW5nLCB0cmFuc2Zvcm1pbmcsIGFuZCBmb3JtYXR0aW5nIHRoZW0uXG4gKlxuICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgbWV0aG9kcyBhbmQgZ2V0dGVycyBpbiBJbnRlcnZhbDpcbiAqXG4gKiAqICoqQ3JlYXRpb24qKiBUbyBjcmVhdGUgYW4gSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjZnJvbURhdGVUaW1lc30sIHtAbGluayBJbnRlcnZhbCNhZnRlcn0sIHtAbGluayBJbnRlcnZhbCNiZWZvcmV9LCBvciB7QGxpbmsgSW50ZXJ2YWwjZnJvbUlTT30uXG4gKiAqICoqQWNjZXNzb3JzKiogVXNlIHtAbGluayBJbnRlcnZhbCNzdGFydH0gYW5kIHtAbGluayBJbnRlcnZhbCNlbmR9IHRvIGdldCB0aGUgc3RhcnQgYW5kIGVuZC5cbiAqICogKipJbnRlcnJvZ2F0aW9uKiogVG8gYW5hbHl6ZSB0aGUgSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjY291bnR9LCB7QGxpbmsgSW50ZXJ2YWwjbGVuZ3RofSwge0BsaW5rIEludGVydmFsI2hhc1NhbWV9LCB7QGxpbmsgSW50ZXJ2YWwjY29udGFpbnN9LCB7QGxpbmsgSW50ZXJ2YWwjaXNBZnRlcn0sIG9yIHtAbGluayBJbnRlcnZhbCNpc0JlZm9yZX0uXG4gKiAqICoqVHJhbnNmb3JtYXRpb24qKiBUbyBjcmVhdGUgb3RoZXIgSW50ZXJ2YWxzIG91dCBvZiB0aGlzIG9uZSwgdXNlIHtAbGluayBJbnRlcnZhbCNzZXR9LCB7QGxpbmsgSW50ZXJ2YWwjc3BsaXRBdH0sIHtAbGluayBJbnRlcnZhbCNzcGxpdEJ5fSwge0BsaW5rIEludGVydmFsI2RpdmlkZUVxdWFsbHl9LCB7QGxpbmsgSW50ZXJ2YWwjbWVyZ2V9LCB7QGxpbmsgSW50ZXJ2YWwjeG9yfSwge0BsaW5rIEludGVydmFsI3VuaW9ufSwge0BsaW5rIEludGVydmFsI2ludGVyc2VjdGlvbn0sIG9yIHtAbGluayBJbnRlcnZhbCNkaWZmZXJlbmNlfS5cbiAqICogKipDb21wYXJpc29uKiogVG8gY29tcGFyZSB0aGlzIEludGVydmFsIHRvIGFub3RoZXIgb25lLCB1c2Uge0BsaW5rIEludGVydmFsI2VxdWFsc30sIHtAbGluayBJbnRlcnZhbCNvdmVybGFwc30sIHtAbGluayBJbnRlcnZhbCNhYnV0c1N0YXJ0fSwge0BsaW5rIEludGVydmFsI2FidXRzRW5kfSwge0BsaW5rIEludGVydmFsI2VuZ3VsZnN9XG4gKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgSW50ZXJ2YWwgaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgSW50ZXJ2YWwjdG9TdHJpbmd9LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU099LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU09EYXRlfSwge0BsaW5rIEludGVydmFsI3RvSVNPVGltZX0sIHtAbGluayBJbnRlcnZhbCN0b0Zvcm1hdH0sIGFuZCB7QGxpbmsgSW50ZXJ2YWwjdG9EdXJhdGlvbn0uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVydmFsIHtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnMgPSBjb25maWcuc3RhcnQ7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5lID0gY29uZmlnLmVuZDtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuaXNMdXhvbkludGVydmFsID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW52YWxpZCBJbnRlcnZhbC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIHNpbXBsZSBzdHJpbmcgb2Ygd2h5IHRoaXMgSW50ZXJ2YWwgaXMgaW52YWxpZC4gU2hvdWxkIG5vdCBjb250YWluIHBhcmFtZXRlcnMgb3IgYW55dGhpbmcgZWxzZSBkYXRhLWRlcGVuZGVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBJbnRlcnZhbCBpcyBpbnZhbGlkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7XG5cbiAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkSW50ZXJ2YWxFcnJvcihpbnZhbGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBJbnRlcnZhbCh7IGludmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGEgc3RhcnQgRGF0ZVRpbWUgYW5kIGFuIGVuZCBEYXRlVGltZS4gSW5jbHVzaXZlIG9mIHRoZSBzdGFydCBidXQgbm90IHRoZSBlbmQuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IGVuZFxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRGF0ZVRpbWVzKHN0YXJ0LCBlbmQpIHtcbiAgICBjb25zdCBidWlsdFN0YXJ0ID0gZnJpZW5kbHlEYXRlVGltZShzdGFydCksXG4gICAgICBidWlsdEVuZCA9IGZyaWVuZGx5RGF0ZVRpbWUoZW5kKTtcblxuICAgIGNvbnN0IHZhbGlkYXRlRXJyb3IgPSB2YWxpZGF0ZVN0YXJ0RW5kKGJ1aWx0U3RhcnQsIGJ1aWx0RW5kKTtcblxuICAgIGlmICh2YWxpZGF0ZUVycm9yID09IG51bGwpIHtcbiAgICAgIHJldHVybiBuZXcgSW50ZXJ2YWwoe1xuICAgICAgICBzdGFydDogYnVpbHRTdGFydCxcbiAgICAgICAgZW5kOiBidWlsdEVuZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEludGVydmFsIGZyb20gYSBzdGFydCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgdG8uXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0XG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSB0aGUgbGVuZ3RoIG9mIHRoZSBJbnRlcnZhbC5cbiAgICogQHJldHVybiB7SW50ZXJ2YWx9XG4gICAqL1xuICBzdGF0aWMgYWZ0ZXIoc3RhcnQsIGR1cmF0aW9uKSB7XG4gICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksXG4gICAgICBkdCA9IGZyaWVuZGx5RGF0ZVRpbWUoc3RhcnQpO1xuICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0LCBkdC5wbHVzKGR1cikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIGVuZCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgYmFja3dhcmRzIHRvLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfERhdGV8T2JqZWN0fSBlbmRcbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIHRoZSBsZW5ndGggb2YgdGhlIEludGVydmFsLlxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIHN0YXRpYyBiZWZvcmUoZW5kLCBkdXJhdGlvbikge1xuICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLFxuICAgICAgZHQgPSBmcmllbmRseURhdGVUaW1lKGVuZCk7XG4gICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQubWludXMoZHVyKSwgZHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIElTTyA4NjAxIHN0cmluZy5cbiAgICogQWNjZXB0cyBgPHN0YXJ0Pi88ZW5kPmAsIGA8c3RhcnQ+LzxkdXJhdGlvbj5gLCBhbmQgYDxkdXJhdGlvbj4vPGVuZD5gIGZvcm1hdHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIElTTyBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIG9wdGlvbnMgdG8gcGFzcyB7QGxpbmsgRGF0ZVRpbWUjZnJvbUlTT30gYW5kIG9wdGlvbmFsbHkge0BsaW5rIER1cmF0aW9uI2Zyb21JU099XG4gICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZV9pbnRlcnZhbHNcbiAgICogQHJldHVybiB7SW50ZXJ2YWx9XG4gICAqL1xuICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzKSB7XG4gICAgY29uc3QgW3MsIGVdID0gKHRleHQgfHwgXCJcIikuc3BsaXQoXCIvXCIsIDIpO1xuICAgIGlmIChzICYmIGUpIHtcbiAgICAgIGxldCBzdGFydCwgc3RhcnRJc1ZhbGlkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc3RhcnQgPSBEYXRlVGltZS5mcm9tSVNPKHMsIG9wdHMpO1xuICAgICAgICBzdGFydElzVmFsaWQgPSBzdGFydC5pc1ZhbGlkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzdGFydElzVmFsaWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgbGV0IGVuZCwgZW5kSXNWYWxpZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGVuZCA9IERhdGVUaW1lLmZyb21JU08oZSwgb3B0cyk7XG4gICAgICAgIGVuZElzVmFsaWQgPSBlbmQuaXNWYWxpZDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZW5kSXNWYWxpZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RhcnRJc1ZhbGlkICYmIGVuZElzVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQsIGVuZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGFydElzVmFsaWQpIHtcbiAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhlLCBvcHRzKTtcbiAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIEludGVydmFsLmFmdGVyKHN0YXJ0LCBkdXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGVuZElzVmFsaWQpIHtcbiAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhzLCBvcHRzKTtcbiAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIEludGVydmFsLmJlZm9yZShlbmQsIGR1cik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEludGVydmFsLmludmFsaWQoXCJ1bnBhcnNhYmxlXCIsIGB0aGUgaW5wdXQgXCIke3RleHR9XCIgY2FuJ3QgYmUgcGFyc2VkIGFzIElTTyA4NjAxYCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4gb2JqZWN0IGlzIGFuIEludGVydmFsLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNJbnRlcnZhbChvKSB7XG4gICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkludGVydmFsKSB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdGFydCBvZiB0aGUgSW50ZXJ2YWxcbiAgICogQHR5cGUge0RhdGVUaW1lfVxuICAgKi9cbiAgZ2V0IHN0YXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnMgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVuZCBvZiB0aGUgSW50ZXJ2YWxcbiAgICogQHR5cGUge0RhdGVUaW1lfVxuICAgKi9cbiAgZ2V0IGVuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5lIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhdCBsZWFzdCBpdHMgc3RhcnQsIG1lYW5pbmcgdGhhdCB0aGUgSW50ZXJ2YWwgaXNuJ3QgJ2JhY2t3YXJkcycuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZFJlYXNvbiA9PT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGVycm9yIGNvZGUgaWYgdGhpcyBJbnRlcnZhbCBpcyBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBJbnRlcnZhbCBpcyB2YWxpZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRSZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgSW50ZXJ2YWwgYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIEludGVydmFsIGlzIHZhbGlkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgaW52YWxpZEV4cGxhbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgSW50ZXJ2YWwgaW4gdGhlIHNwZWNpZmllZCB1bml0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byByZXR1cm4gdGhlIGxlbmd0aCBpbi5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgbGVuZ3RoKHVuaXQgPSBcIm1pbGxpc2Vjb25kc1wiKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudG9EdXJhdGlvbiguLi5bdW5pdF0pLmdldCh1bml0KSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3VudCBvZiBtaW51dGVzLCBob3VycywgZGF5cywgbW9udGhzLCBvciB5ZWFycyBpbmNsdWRlZCBpbiB0aGUgSW50ZXJ2YWwsIGV2ZW4gaW4gcGFydC5cbiAgICogVW5saWtlIHtAbGluayBJbnRlcnZhbCNsZW5ndGh9IHRoaXMgY291bnRzIHNlY3Rpb25zIG9mIHRoZSBjYWxlbmRhciwgbm90IHBlcmlvZHMgb2YgdGltZSwgZS5nLiBzcGVjaWZ5aW5nICdkYXknXG4gICAqIGFza3MgJ3doYXQgZGF0ZXMgYXJlIGluY2x1ZGVkIGluIHRoaXMgaW50ZXJ2YWw/Jywgbm90ICdob3cgbWFueSBkYXlzIGxvbmcgaXMgdGhpcyBpbnRlcnZhbD8nXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbdW5pdD0nbWlsbGlzZWNvbmRzJ10gLSB0aGUgdW5pdCBvZiB0aW1lIHRvIGNvdW50LlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBjb3VudCh1bml0ID0gXCJtaWxsaXNlY29uZHNcIikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gTmFOO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5zdGFydE9mKHVuaXQpLFxuICAgICAgZW5kID0gdGhpcy5lbmQuc3RhcnRPZih1bml0KTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihlbmQuZGlmZihzdGFydCwgdW5pdCkuZ2V0KHVuaXQpKSArIDE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBhbmQgZW5kIGFyZSBib3RoIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb25cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGhhc1NhbWUodW5pdCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmlzRW1wdHkoKSB8fCB0aGlzLmUubWludXMoMSkuaGFzU2FtZSh0aGlzLnMsIHVuaXQpIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBoYXMgdGhlIHNhbWUgc3RhcnQgYW5kIGVuZCBEYXRlVGltZXMuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0VtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLnMudmFsdWVPZigpID09PSB0aGlzLmUudmFsdWVPZigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBpcyBhZnRlciB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBkYXRlVGltZVxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNBZnRlcihkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA+IGRhdGVUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBlbmQgaXMgYmVmb3JlIHRoZSBzcGVjaWZpZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0JlZm9yZShkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMuZSA8PSBkYXRlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsIGNvbnRhaW5zIHRoZSBzcGVjaWZpZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBjb250YWlucyhkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA8PSBkYXRlVGltZSAmJiB0aGlzLmUgPiBkYXRlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldHNcIiB0aGUgc3RhcnQgYW5kL29yIGVuZCBkYXRlcy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIEludGVydmFsLlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gdGhlIHZhbHVlcyB0byBzZXRcbiAgICogQHBhcmFtIHtEYXRlVGltZX0gdmFsdWVzLnN0YXJ0IC0gdGhlIHN0YXJ0aW5nIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IHZhbHVlcy5lbmQgLSB0aGUgZW5kaW5nIERhdGVUaW1lXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgc2V0KHsgc3RhcnQsIGVuZCB9ID0ge30pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQgfHwgdGhpcy5zLCBlbmQgfHwgdGhpcy5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdCB0aGlzIEludGVydmFsIGF0IGVhY2ggb2YgdGhlIHNwZWNpZmllZCBEYXRlVGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC5cbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBzcGxpdEF0KC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gW107XG4gICAgY29uc3Qgc29ydGVkID0gZGF0ZVRpbWVzXG4gICAgICAgIC5tYXAoZnJpZW5kbHlEYXRlVGltZSlcbiAgICAgICAgLmZpbHRlcigoZCkgPT4gdGhpcy5jb250YWlucyhkKSlcbiAgICAgICAgLnNvcnQoKSxcbiAgICAgIHJlc3VsdHMgPSBbXTtcbiAgICBsZXQgeyBzIH0gPSB0aGlzLFxuICAgICAgaSA9IDA7XG5cbiAgICB3aGlsZSAocyA8IHRoaXMuZSkge1xuICAgICAgY29uc3QgYWRkZWQgPSBzb3J0ZWRbaV0gfHwgdGhpcy5lLFxuICAgICAgICBuZXh0ID0gK2FkZGVkID4gK3RoaXMuZSA/IHRoaXMuZSA6IGFkZGVkO1xuICAgICAgcmVzdWx0cy5wdXNoKEludGVydmFsLmZyb21EYXRlVGltZXMocywgbmV4dCkpO1xuICAgICAgcyA9IG5leHQ7XG4gICAgICBpICs9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHNtYWxsZXIgSW50ZXJ2YWxzLCBlYWNoIG9mIHRoZSBzcGVjaWZpZWQgbGVuZ3RoLlxuICAgKiBMZWZ0IG92ZXIgdGltZSBpcyBncm91cGVkIGludG8gYSBzbWFsbGVyIGludGVydmFsXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgbGVuZ3RoIG9mIGVhY2ggcmVzdWx0aW5nIGludGVydmFsLlxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHNwbGl0QnkoZHVyYXRpb24pIHtcbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcblxuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFkdXIuaXNWYWxpZCB8fCBkdXIuYXMoXCJtaWxsaXNlY29uZHNcIikgPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBsZXQgeyBzIH0gPSB0aGlzLFxuICAgICAgaWR4ID0gMSxcbiAgICAgIG5leHQ7XG5cbiAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgd2hpbGUgKHMgPCB0aGlzLmUpIHtcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdGFydC5wbHVzKGR1ci5tYXBVbml0cygoeCkgPT4geCAqIGlkeCkpO1xuICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDtcbiAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIG5leHQpKTtcbiAgICAgIHMgPSBuZXh0O1xuICAgICAgaWR4ICs9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNtYWxsZXIgaW50ZXJ2YWxzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyT2ZQYXJ0cyAtIFRoZSBudW1iZXIgb2YgSW50ZXJ2YWxzIHRvIGRpdmlkZSB0aGUgSW50ZXJ2YWwgaW50by5cbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBkaXZpZGVFcXVhbGx5KG51bWJlck9mUGFydHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLnNwbGl0QnkodGhpcy5sZW5ndGgoKSAvIG51bWJlck9mUGFydHMpLnNsaWNlKDAsIG51bWJlck9mUGFydHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgb3ZlcmxhcHMgd2l0aCB0aGUgc3BlY2lmaWVkIEludGVydmFsXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBvdmVybGFwcyhvdGhlcikge1xuICAgIHJldHVybiB0aGlzLmUgPiBvdGhlci5zICYmIHRoaXMucyA8IG90aGVyLmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhZGphY2VudCB0byB0aGUgc3BlY2lmaWVkIEludGVydmFsJ3Mgc3RhcnQuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBhYnV0c1N0YXJ0KG90aGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gK3RoaXMuZSA9PT0gK290aGVyLnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIHN0YXJ0IGlzIGFkamFjZW50IHRvIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwncyBlbmQuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBhYnV0c0VuZChvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICtvdGhlci5lID09PSArdGhpcy5zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgZW5ndWxmcyB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFsLlxuICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZW5ndWxmcyhvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA8PSBvdGhlci5zICYmIHRoaXMuZSA+PSBvdGhlci5lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgaGFzIHRoZSBzYW1lIHN0YXJ0IGFuZCBlbmQgYXMgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC5cbiAgICogQHBhcmFtIHtJbnRlcnZhbH0gb3RoZXJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGVxdWFscyhvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlci5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucy5lcXVhbHMob3RoZXIucykgJiYgdGhpcy5lLmVxdWFscyhvdGhlci5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhpcyBJbnRlcnZhbCBhbmQgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC5cbiAgICogU3BlY2lmaWNhbGx5LCB0aGUgcmVzdWx0aW5nIEludGVydmFsIGhhcyB0aGUgbWF4aW11bSBzdGFydCB0aW1lIGFuZCB0aGUgbWluaW11bSBlbmQgdGltZSBvZiB0aGUgdHdvIEludGVydmFscy5cbiAgICogUmV0dXJucyBudWxsIGlmIHRoZSBpbnRlcnNlY3Rpb24gaXMgZW1wdHksIG1lYW5pbmcsIHRoZSBpbnRlcnZhbHMgZG9uJ3QgaW50ZXJzZWN0LlxuICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlclxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIGludGVyc2VjdGlvbihvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBzID0gdGhpcy5zID4gb3RoZXIucyA/IHRoaXMucyA6IG90aGVyLnMsXG4gICAgICBlID0gdGhpcy5lIDwgb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7XG5cbiAgICBpZiAocyA+PSBlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMocywgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIHVuaW9uIG9mIHRoaXMgSW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwuXG4gICAqIFNwZWNpZmljYWxseSwgdGhlIHJlc3VsdGluZyBJbnRlcnZhbCBoYXMgdGhlIG1pbmltdW0gc3RhcnQgdGltZSBhbmQgdGhlIG1heGltdW0gZW5kIHRpbWUgb2YgdGhlIHR3byBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgdW5pb24ob3RoZXIpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgcyA9IHRoaXMucyA8IG90aGVyLnMgPyB0aGlzLnMgOiBvdGhlci5zLFxuICAgICAgZSA9IHRoaXMuZSA+IG90aGVyLmUgPyB0aGlzLmUgOiBvdGhlci5lO1xuICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIGFuIGFycmF5IG9mIEludGVydmFscyBpbnRvIGEgZXF1aXZhbGVudCBtaW5pbWFsIHNldCBvZiBJbnRlcnZhbHMuXG4gICAqIENvbWJpbmVzIG92ZXJsYXBwaW5nIGFuZCBhZGphY2VudCBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGludGVydmFsc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtZXJnZShpbnRlcnZhbHMpIHtcbiAgICBjb25zdCBbZm91bmQsIGZpbmFsXSA9IGludGVydmFsc1xuICAgICAgLnNvcnQoKGEsIGIpID0+IGEucyAtIGIucylcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChbc29mYXIsIGN1cnJlbnRdLCBpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBpdGVtXTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnQub3ZlcmxhcHMoaXRlbSkgfHwgY3VycmVudC5hYnV0c1N0YXJ0KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBjdXJyZW50LnVuaW9uKGl0ZW0pXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFtzb2Zhci5jb25jYXQoW2N1cnJlbnRdKSwgaXRlbV07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbW10sIG51bGxdXG4gICAgICApO1xuICAgIGlmIChmaW5hbCkge1xuICAgICAgZm91bmQucHVzaChmaW5hbCk7XG4gICAgfVxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIHJlcHJlc2VudGluZyB0aGUgc3BhbnMgb2YgdGltZSB0aGF0IG9ubHkgYXBwZWFyIGluIG9uZSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy5cbiAgICogQHBhcmFtIHtBcnJheX0gaW50ZXJ2YWxzXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHhvcihpbnRlcnZhbHMpIHtcbiAgICBsZXQgc3RhcnQgPSBudWxsLFxuICAgICAgY3VycmVudENvdW50ID0gMDtcbiAgICBjb25zdCByZXN1bHRzID0gW10sXG4gICAgICBlbmRzID0gaW50ZXJ2YWxzLm1hcCgoaSkgPT4gW1xuICAgICAgICB7IHRpbWU6IGkucywgdHlwZTogXCJzXCIgfSxcbiAgICAgICAgeyB0aW1lOiBpLmUsIHR5cGU6IFwiZVwiIH0sXG4gICAgICBdKSxcbiAgICAgIGZsYXR0ZW5lZCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4uZW5kcyksXG4gICAgICBhcnIgPSBmbGF0dGVuZWQuc29ydCgoYSwgYikgPT4gYS50aW1lIC0gYi50aW1lKTtcblxuICAgIGZvciAoY29uc3QgaSBvZiBhcnIpIHtcbiAgICAgIGN1cnJlbnRDb3VudCArPSBpLnR5cGUgPT09IFwic1wiID8gMSA6IC0xO1xuXG4gICAgICBpZiAoY3VycmVudENvdW50ID09PSAxKSB7XG4gICAgICAgIHN0YXJ0ID0gaS50aW1lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHN0YXJ0ICYmICtzdGFydCAhPT0gK2kudGltZSkge1xuICAgICAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0LCBpLnRpbWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXJ0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gSW50ZXJ2YWwubWVyZ2UocmVzdWx0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIEludGVydmFsIHJlcHJlc2VudGluZyB0aGUgc3BhbiBvZiB0aW1lIGluIHRoaXMgSW50ZXJ2YWwgdGhhdCBkb2Vzbid0IG92ZXJsYXAgd2l0aCBhbnkgb2YgdGhlIHNwZWNpZmllZCBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7Li4uSW50ZXJ2YWx9IGludGVydmFsc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIGRpZmZlcmVuY2UoLi4uaW50ZXJ2YWxzKSB7XG4gICAgcmV0dXJuIEludGVydmFsLnhvcihbdGhpc10uY29uY2F0KGludGVydmFscykpXG4gICAgICAubWFwKChpKSA9PiB0aGlzLmludGVyc2VjdGlvbihpKSlcbiAgICAgIC5maWx0ZXIoKGkpID0+IGkgJiYgIWkuaXNFbXB0eSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSW50ZXJ2YWwgYXBwcm9wcmlhdGUgZm9yIGRlYnVnZ2luZy5cbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TdHJpbmcoKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgWyR7dGhpcy5zLnRvSVNPKCl9IFx1MjAxMyAke3RoaXMuZS50b0lTTygpfSlgO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gVGhlIHNhbWUgb3B0aW9ucyBhcyB7QGxpbmsgRGF0ZVRpbWUjdG9JU099XG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKG9wdHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQ7XG4gICAgcmV0dXJuIGAke3RoaXMucy50b0lTTyhvcHRzKX0vJHt0aGlzLmUudG9JU08ob3B0cyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgZGF0ZSBvZiB0aGlzIEludGVydmFsLlxuICAgKiBUaGUgdGltZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPRGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQ7XG4gICAgcmV0dXJuIGAke3RoaXMucy50b0lTT0RhdGUoKX0vJHt0aGlzLmUudG9JU09EYXRlKCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGltZSBvZiB0aGlzIEludGVydmFsLlxuICAgKiBUaGUgZGF0ZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gVGhlIHNhbWUgb3B0aW9ucyBhcyB7QGxpbmsgRGF0ZVRpbWUjdG9JU099XG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPVGltZShvcHRzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgJHt0aGlzLnMudG9JU09UaW1lKG9wdHMpfS8ke3RoaXMuZS50b0lTT1RpbWUob3B0cyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSW50ZXJ2YWwgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIGZvcm1hdCBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRlRm9ybWF0IC0gdGhlIGZvcm1hdCBzdHJpbmcuIFRoaXMgc3RyaW5nIGZvcm1hdHMgdGhlIHN0YXJ0IGFuZCBlbmQgdGltZS4gU2VlIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0gZm9yIGRldGFpbHMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuc2VwYXJhdG9yID0gICcgXHUyMDEzICddIC0gYSBzZXBhcmF0b3IgdG8gcGxhY2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCByZXByZXNlbnRhdGlvbnNcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9Gb3JtYXQoZGF0ZUZvcm1hdCwgeyBzZXBhcmF0b3IgPSBcIiBcdTIwMTMgXCIgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgJHt0aGlzLnMudG9Gb3JtYXQoZGF0ZUZvcm1hdCl9JHtzZXBhcmF0b3J9JHt0aGlzLmUudG9Gb3JtYXQoZGF0ZUZvcm1hdCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIHRpbWUgc3Bhbm5lZCBieSB0aGlzIGludGVydmFsLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gW3VuaXQ9WydtaWxsaXNlY29uZHMnXV0gLSB0aGUgdW5pdCBvciB1bml0cyAoc3VjaCBhcyAnaG91cnMnIG9yICdkYXlzJykgdG8gaW5jbHVkZSBpbiB0aGUgZHVyYXRpb24uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKCkudG9PYmplY3QoKSAvLz0+IHsgbWlsbGlzZWNvbmRzOiA4ODQ4OTI1NyB9XG4gICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oJ2RheXMnKS50b09iamVjdCgpIC8vPT4geyBkYXlzOiAxLjAyNDE4MTIxNTI3Nzc3NzggfVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKFsnaG91cnMnLCAnbWludXRlcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LjgyMDk1IH1cbiAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbihbJ2hvdXJzJywgJ21pbnV0ZXMnLCAnc2Vjb25kcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LCBzZWNvbmRzOiA0OS4yNTcgfVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKCdzZWNvbmRzJykudG9PYmplY3QoKSAvLz0+IHsgc2Vjb25kczogODg0ODkuMjU3IH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICB0b0R1cmF0aW9uKHVuaXQsIG9wdHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQodGhpcy5pbnZhbGlkUmVhc29uKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZS5kaWZmKHRoaXMucywgdW5pdCwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUnVuIG1hcEZuIG9uIHRoZSBpbnRlcnZhbCBzdGFydCBhbmQgZW5kLCByZXR1cm5pbmcgYSBuZXcgSW50ZXJ2YWwgZnJvbSB0aGUgcmVzdWx0aW5nIERhdGVUaW1lc1xuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBtYXBGblxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikubWFwRW5kcG9pbnRzKGVuZHBvaW50ID0+IGVuZHBvaW50LnRvVVRDKCkpXG4gICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLm1hcEVuZHBvaW50cyhlbmRwb2ludCA9PiBlbmRwb2ludC5wbHVzKHsgaG91cnM6IDIgfSkpXG4gICAqL1xuICBtYXBFbmRwb2ludHMobWFwRm4pIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhtYXBGbih0aGlzLnMpLCBtYXBGbih0aGlzLmUpKTtcbiAgfVxufVxuIiwgImltcG9ydCBEYXRlVGltZSBmcm9tIFwiLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzLmpzXCI7XG5pbXBvcnQgTG9jYWxlIGZyb20gXCIuL2ltcGwvbG9jYWxlLmpzXCI7XG5pbXBvcnQgSUFOQVpvbmUgZnJvbSBcIi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVpvbmUgfSBmcm9tIFwiLi9pbXBsL3pvbmVVdGlsLmpzXCI7XG5cbmltcG9ydCB7IGhhc1JlbGF0aXZlIH0gZnJvbSBcIi4vaW1wbC91dGlsLmpzXCI7XG5cbi8qKlxuICogVGhlIEluZm8gY2xhc3MgY29udGFpbnMgc3RhdGljIG1ldGhvZHMgZm9yIHJldHJpZXZpbmcgZ2VuZXJhbCB0aW1lIGFuZCBkYXRlIHJlbGF0ZWQgZGF0YS4gRm9yIGV4YW1wbGUsIGl0IGhhcyBtZXRob2RzIGZvciBmaW5kaW5nIG91dCBpZiBhIHRpbWUgem9uZSBoYXMgYSBEU1QsIGZvciBsaXN0aW5nIHRoZSBtb250aHMgaW4gYW55IHN1cHBvcnRlZCBsb2NhbGUsIGFuZCBmb3IgZGlzY292ZXJpbmcgd2hpY2ggb2YgTHV4b24gZmVhdHVyZXMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5mbyB7XG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgY29udGFpbnMgYSBEU1QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFt6b25lPSdsb2NhbCddIC0gWm9uZSB0byBjaGVjay4gRGVmYXVsdHMgdG8gdGhlIGVudmlyb25tZW50J3MgbG9jYWwgem9uZS5cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBoYXNEU1Qoem9uZSA9IFNldHRpbmdzLmRlZmF1bHRab25lKSB7XG4gICAgY29uc3QgcHJvdG8gPSBEYXRlVGltZS5ub3coKS5zZXRab25lKHpvbmUpLnNldCh7IG1vbnRoOiAxMiB9KTtcblxuICAgIHJldHVybiAhem9uZS5pc1VuaXZlcnNhbCAmJiBwcm90by5vZmZzZXQgIT09IHByb3RvLnNldCh7IG1vbnRoOiA2IH0pLm9mZnNldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgaXMgYSB2YWxpZCBJQU5BIHNwZWNpZmllci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvbmUgLSBab25lIHRvIGNoZWNrXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNWYWxpZElBTkFab25lKHpvbmUpIHtcbiAgICByZXR1cm4gSUFOQVpvbmUuaXNWYWxpZFpvbmUoem9uZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIGlucHV0IGludG8gYSB7QGxpbmsgWm9uZX0gaW5zdGFuY2UuXG4gICAqXG4gICAqICogSWYgYGlucHV0YCBpcyBhbHJlYWR5IGEgWm9uZSBpbnN0YW5jZSwgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxuICAgKiAqIElmIGBpbnB1dGAgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHZhbGlkIHRpbWUgem9uZSBuYW1lLCBhIFpvbmUgaW5zdGFuY2VcbiAgICogICB3aXRoIHRoYXQgbmFtZSBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIHRoYXQgZG9lc24ndCByZWZlciB0byBhIGtub3duIHRpbWUgem9uZSwgYSBab25lXG4gICAqICAgaW5zdGFuY2Ugd2l0aCB7QGxpbmsgWm9uZSNpc1ZhbGlkfSA9PSBmYWxzZSBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXQgaXMgYSBudW1iZXIsIGEgWm9uZSBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgZml4ZWQgb2Zmc2V0XG4gICAqICAgaW4gbWludXRlcyBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXRgIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYCwgdGhlIGRlZmF1bHQgem9uZSBpcyByZXR1cm5lZC5cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZXxudW1iZXJ9IFtpbnB1dF0gLSB0aGUgdmFsdWUgdG8gYmUgY29udmVydGVkXG4gICAqIEByZXR1cm4ge1pvbmV9XG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplWm9uZShpbnB1dCkge1xuICAgIHJldHVybiBub3JtYWxpemVab25lKGlucHV0LCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIHN0YW5kYWxvbmUgbW9udGggbmFtZXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibnVtZXJpY1wiLCBcIjItZGlnaXRcIiwgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXI9J2dyZWdvcnknXSAtIHRoZSBjYWxlbmRhclxuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygpWzBdIC8vPT4gJ0phbnVhcnknXG4gICAqIEBleGFtcGxlIEluZm8ubW9udGhzKCdzaG9ydCcpWzBdIC8vPT4gJ0phbidcbiAgICogQGV4YW1wbGUgSW5mby5tb250aHMoJ251bWVyaWMnKVswXSAvLz0+ICcxJ1xuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnLCB7IGxvY2FsZTogJ2ZyLUNBJyB9IClbMF0gLy89PiAnamFudi4nXG4gICAqIEBleGFtcGxlIEluZm8ubW9udGhzKCdudW1lcmljJywgeyBsb2NhbGU6ICdhcicgfSlbMF0gLy89PiAnXHUwNjYxJ1xuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbG9uZycsIHsgb3V0cHV0Q2FsZW5kYXI6ICdpc2xhbWljJyB9KVswXSAvLz0+ICdSYWJpXHUwMkJCIEknXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIG1vbnRocyhcbiAgICBsZW5ndGggPSBcImxvbmdcIixcbiAgICB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwsIG91dHB1dENhbGVuZGFyID0gXCJncmVnb3J5XCIgfSA9IHt9XG4gICkge1xuICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSkubW9udGhzKGxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGZvcm1hdCBtb250aCBuYW1lcy5cbiAgICogRm9ybWF0IG1vbnRocyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIG1vbnRocyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gdGhlIGRheSBvZiB0aGUgbW9udGguIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0XG4gICAqIGNoYW5nZXMgdGhlIHN0cmluZy5cbiAgICogU2VlIHtAbGluayBJbmZvI21vbnRoc31cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibnVtZXJpY1wiLCBcIjItZGlnaXRcIiwgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXI9J2dyZWdvcnknXSAtIHRoZSBjYWxlbmRhclxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtb250aHNGb3JtYXQoXG4gICAgbGVuZ3RoID0gXCJsb25nXCIsXG4gICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsLCBvdXRwdXRDYWxlbmRhciA9IFwiZ3JlZ29yeVwiIH0gPSB7fVxuICApIHtcbiAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcikpLm1vbnRocyhsZW5ndGgsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBhcnJheSBvZiBzdGFuZGFsb25lIHdlZWsgbmFtZXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIHdlZWtkYXkgcmVwcmVzZW50YXRpb24sIHN1Y2ggYXMgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIi5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5udW1iZXJpbmdTeXN0ZW09bnVsbF0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2VcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygpWzBdIC8vPT4gJ01vbmRheSdcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygnc2hvcnQnKVswXSAvLz0+ICdNb24nXG4gICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdmci1DQScgfSlbMF0gLy89PiAnbHVuLidcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygnc2hvcnQnLCB7IGxvY2FsZTogJ2FyJyB9KVswXSAvLz0+ICdcdTA2MjdcdTA2NDRcdTA2MjdcdTA2MkJcdTA2NDZcdTA2NEFcdTA2NDYnXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHdlZWtkYXlzKGxlbmd0aCA9IFwibG9uZ1wiLCB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwgfSA9IHt9KSB7XG4gICAgcmV0dXJuIChsb2NPYmogfHwgTG9jYWxlLmNyZWF0ZShsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgbnVsbCkpLndlZWtkYXlzKGxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGZvcm1hdCB3ZWVrIG5hbWVzLlxuICAgKiBGb3JtYXQgd2Vla2RheXMgZGlmZmVyIGZyb20gc3RhbmRhbG9uZSB3ZWVrZGF5cyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gbW9yZSBkYXRlIGluZm9ybWF0aW9uLiBJbiBzb21lIGxhbmd1YWdlcywgdGhhdFxuICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuXG4gICAqIFNlZSB7QGxpbmsgSW5mbyN3ZWVrZGF5c31cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibmFycm93XCIsIFwic2hvcnRcIiwgXCJsb25nXCIuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPW51bGxdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5udW1iZXJpbmdTeXN0ZW09bnVsbF0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2VcbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBzdGF0aWMgd2Vla2RheXNGb3JtYXQoXG4gICAgbGVuZ3RoID0gXCJsb25nXCIsXG4gICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fVxuICApIHtcbiAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBudWxsKSkud2Vla2RheXMobGVuZ3RoLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgbWVyaWRpZW1zLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQGV4YW1wbGUgSW5mby5tZXJpZGllbXMoKSAvLz0+IFsgJ0FNJywgJ1BNJyBdXG4gICAqIEBleGFtcGxlIEluZm8ubWVyaWRpZW1zKHsgbG9jYWxlOiAnbXknIH0pIC8vPT4gWyAnXHUxMDE0XHUxMDM2XHUxMDE0XHUxMDAwXHUxMDNBJywgJ1x1MTAwQVx1MTAxNFx1MTAzMScgXVxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtZXJpZGllbXMoeyBsb2NhbGUgPSBudWxsIH0gPSB7fSkge1xuICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSkubWVyaWRpZW1zKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGVyYXMsIHN1Y2ggYXMgWydCQycsICdBRCddLiBUaGUgbG9jYWxlIGNhbiBiZSBzcGVjaWZpZWQsIGJ1dCB0aGUgY2FsZW5kYXIgc3lzdGVtIGlzIGFsd2F5cyBHcmVnb3JpYW4uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdzaG9ydCddIC0gdGhlIGxlbmd0aCBvZiB0aGUgZXJhIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwic2hvcnRcIiBvciBcImxvbmdcIi5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBleGFtcGxlIEluZm8uZXJhcygpIC8vPT4gWyAnQkMnLCAnQUQnIF1cbiAgICogQGV4YW1wbGUgSW5mby5lcmFzKCdsb25nJykgLy89PiBbICdCZWZvcmUgQ2hyaXN0JywgJ0Fubm8gRG9taW5pJyBdXG4gICAqIEBleGFtcGxlIEluZm8uZXJhcygnbG9uZycsIHsgbG9jYWxlOiAnZnInIH0pIC8vPT4gWyAnYXZhbnQgSlx1MDBFOXN1cy1DaHJpc3QnLCAnYXByXHUwMEU4cyBKXHUwMEU5c3VzLUNocmlzdCcgXVxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBlcmFzKGxlbmd0aCA9IFwic2hvcnRcIiwgeyBsb2NhbGUgPSBudWxsIH0gPSB7fSkge1xuICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVsbCwgXCJncmVnb3J5XCIpLmVyYXMobGVuZ3RoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNldCBvZiBhdmFpbGFibGUgZmVhdHVyZXMgaW4gdGhpcyBlbnZpcm9ubWVudC5cbiAgICogU29tZSBmZWF0dXJlcyBvZiBMdXhvbiBhcmUgbm90IGF2YWlsYWJsZSBpbiBhbGwgZW52aXJvbm1lbnRzLiBGb3IgZXhhbXBsZSwgb24gb2xkZXIgYnJvd3NlcnMsIHJlbGF0aXZlIHRpbWUgZm9ybWF0dGluZyBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGZpZ3VyZSBvdXQgaWYgdGhhdCdzIHRoZSBjYXNlLlxuICAgKiBLZXlzOlxuICAgKiAqIGByZWxhdGl2ZWA6IHdoZXRoZXIgdGhpcyBlbnZpcm9ubWVudCBzdXBwb3J0cyByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmdcbiAgICogQGV4YW1wbGUgSW5mby5mZWF0dXJlcygpIC8vPT4geyByZWxhdGl2ZTogZmFsc2UgfVxuICAgKiBAcmV0dXJuIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHsgcmVsYXRpdmU6IGhhc1JlbGF0aXZlKCkgfTtcbiAgfVxufVxuIiwgImltcG9ydCBEdXJhdGlvbiBmcm9tIFwiLi4vZHVyYXRpb24uanNcIjtcblxuZnVuY3Rpb24gZGF5RGlmZihlYXJsaWVyLCBsYXRlcikge1xuICBjb25zdCB1dGNEYXlTdGFydCA9IChkdCkgPT4gZHQudG9VVEMoMCwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pLnN0YXJ0T2YoXCJkYXlcIikudmFsdWVPZigpLFxuICAgIG1zID0gdXRjRGF5U3RhcnQobGF0ZXIpIC0gdXRjRGF5U3RhcnQoZWFybGllcik7XG4gIHJldHVybiBNYXRoLmZsb29yKER1cmF0aW9uLmZyb21NaWxsaXMobXMpLmFzKFwiZGF5c1wiKSk7XG59XG5cbmZ1bmN0aW9uIGhpZ2hPcmRlckRpZmZzKGN1cnNvciwgbGF0ZXIsIHVuaXRzKSB7XG4gIGNvbnN0IGRpZmZlcnMgPSBbXG4gICAgW1wieWVhcnNcIiwgKGEsIGIpID0+IGIueWVhciAtIGEueWVhcl0sXG4gICAgW1wicXVhcnRlcnNcIiwgKGEsIGIpID0+IGIucXVhcnRlciAtIGEucXVhcnRlcl0sXG4gICAgW1wibW9udGhzXCIsIChhLCBiKSA9PiBiLm1vbnRoIC0gYS5tb250aCArIChiLnllYXIgLSBhLnllYXIpICogMTJdLFxuICAgIFtcbiAgICAgIFwid2Vla3NcIixcbiAgICAgIChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGRheXMgPSBkYXlEaWZmKGEsIGIpO1xuICAgICAgICByZXR1cm4gKGRheXMgLSAoZGF5cyAlIDcpKSAvIDc7XG4gICAgICB9LFxuICAgIF0sXG4gICAgW1wiZGF5c1wiLCBkYXlEaWZmXSxcbiAgXTtcblxuICBjb25zdCByZXN1bHRzID0ge307XG4gIGxldCBsb3dlc3RPcmRlciwgaGlnaFdhdGVyO1xuXG4gIGZvciAoY29uc3QgW3VuaXQsIGRpZmZlcl0gb2YgZGlmZmVycykge1xuICAgIGlmICh1bml0cy5pbmRleE9mKHVuaXQpID49IDApIHtcbiAgICAgIGxvd2VzdE9yZGVyID0gdW5pdDtcblxuICAgICAgbGV0IGRlbHRhID0gZGlmZmVyKGN1cnNvciwgbGF0ZXIpO1xuICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbdW5pdF06IGRlbHRhIH0pO1xuXG4gICAgICBpZiAoaGlnaFdhdGVyID4gbGF0ZXIpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29yLnBsdXMoeyBbdW5pdF06IGRlbHRhIC0gMSB9KTtcbiAgICAgICAgZGVsdGEgLT0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnNvciA9IGhpZ2hXYXRlcjtcbiAgICAgIH1cblxuICAgICAgcmVzdWx0c1t1bml0XSA9IGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBbY3Vyc29yLCByZXN1bHRzLCBoaWdoV2F0ZXIsIGxvd2VzdE9yZGVyXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGVhcmxpZXIsIGxhdGVyLCB1bml0cywgb3B0cykge1xuICBsZXQgW2N1cnNvciwgcmVzdWx0cywgaGlnaFdhdGVyLCBsb3dlc3RPcmRlcl0gPSBoaWdoT3JkZXJEaWZmcyhlYXJsaWVyLCBsYXRlciwgdW5pdHMpO1xuXG4gIGNvbnN0IHJlbWFpbmluZ01pbGxpcyA9IGxhdGVyIC0gY3Vyc29yO1xuXG4gIGNvbnN0IGxvd2VyT3JkZXJVbml0cyA9IHVuaXRzLmZpbHRlcihcbiAgICAodSkgPT4gW1wiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiXS5pbmRleE9mKHUpID49IDBcbiAgKTtcblxuICBpZiAobG93ZXJPcmRlclVuaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChoaWdoV2F0ZXIgPCBsYXRlcikge1xuICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbbG93ZXN0T3JkZXJdOiAxIH0pO1xuICAgIH1cblxuICAgIGlmIChoaWdoV2F0ZXIgIT09IGN1cnNvcikge1xuICAgICAgcmVzdWx0c1tsb3dlc3RPcmRlcl0gPSAocmVzdWx0c1tsb3dlc3RPcmRlcl0gfHwgMCkgKyByZW1haW5pbmdNaWxsaXMgLyAoaGlnaFdhdGVyIC0gY3Vyc29yKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IER1cmF0aW9uLmZyb21PYmplY3QocmVzdWx0cywgb3B0cyk7XG5cbiAgaWYgKGxvd2VyT3JkZXJVbml0cy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIER1cmF0aW9uLmZyb21NaWxsaXMocmVtYWluaW5nTWlsbGlzLCBvcHRzKVxuICAgICAgLnNoaWZ0VG8oLi4ubG93ZXJPcmRlclVuaXRzKVxuICAgICAgLnBsdXMoZHVyYXRpb24pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBkdXJhdGlvbjtcbiAgfVxufVxuIiwgImNvbnN0IG51bWJlcmluZ1N5c3RlbXMgPSB7XG4gIGFyYWI6IFwiW1xcdTA2NjAtXFx1MDY2OV1cIixcbiAgYXJhYmV4dDogXCJbXFx1MDZGMC1cXHUwNkY5XVwiLFxuICBiYWxpOiBcIltcXHUxQjUwLVxcdTFCNTldXCIsXG4gIGJlbmc6IFwiW1xcdTA5RTYtXFx1MDlFRl1cIixcbiAgZGV2YTogXCJbXFx1MDk2Ni1cXHUwOTZGXVwiLFxuICBmdWxsd2lkZTogXCJbXFx1RkYxMC1cXHVGRjE5XVwiLFxuICBndWpyOiBcIltcXHUwQUU2LVxcdTBBRUZdXCIsXG4gIGhhbmlkZWM6IFwiW1x1MzAwN3xcdTRFMDB8XHU0RThDfFx1NEUwOXxcdTU2REJ8XHU0RTk0fFx1NTE2RHxcdTRFMDN8XHU1MTZCfFx1NEU1RF1cIixcbiAga2htcjogXCJbXFx1MTdFMC1cXHUxN0U5XVwiLFxuICBrbmRhOiBcIltcXHUwQ0U2LVxcdTBDRUZdXCIsXG4gIGxhb286IFwiW1xcdTBFRDAtXFx1MEVEOV1cIixcbiAgbGltYjogXCJbXFx1MTk0Ni1cXHUxOTRGXVwiLFxuICBtbHltOiBcIltcXHUwRDY2LVxcdTBENkZdXCIsXG4gIG1vbmc6IFwiW1xcdTE4MTAtXFx1MTgxOV1cIixcbiAgbXltcjogXCJbXFx1MTA0MC1cXHUxMDQ5XVwiLFxuICBvcnlhOiBcIltcXHUwQjY2LVxcdTBCNkZdXCIsXG4gIHRhbWxkZWM6IFwiW1xcdTBCRTYtXFx1MEJFRl1cIixcbiAgdGVsdTogXCJbXFx1MEM2Ni1cXHUwQzZGXVwiLFxuICB0aGFpOiBcIltcXHUwRTUwLVxcdTBFNTldXCIsXG4gIHRpYnQ6IFwiW1xcdTBGMjAtXFx1MEYyOV1cIixcbiAgbGF0bjogXCJcXFxcZFwiLFxufTtcblxuY29uc3QgbnVtYmVyaW5nU3lzdGVtc1VURjE2ID0ge1xuICBhcmFiOiBbMTYzMiwgMTY0MV0sXG4gIGFyYWJleHQ6IFsxNzc2LCAxNzg1XSxcbiAgYmFsaTogWzY5OTIsIDcwMDFdLFxuICBiZW5nOiBbMjUzNCwgMjU0M10sXG4gIGRldmE6IFsyNDA2LCAyNDE1XSxcbiAgZnVsbHdpZGU6IFs2NTI5NiwgNjUzMDNdLFxuICBndWpyOiBbMjc5MCwgMjc5OV0sXG4gIGtobXI6IFs2MTEyLCA2MTIxXSxcbiAga25kYTogWzMzMDIsIDMzMTFdLFxuICBsYW9vOiBbMzc5MiwgMzgwMV0sXG4gIGxpbWI6IFs2NDcwLCA2NDc5XSxcbiAgbWx5bTogWzM0MzAsIDM0MzldLFxuICBtb25nOiBbNjE2MCwgNjE2OV0sXG4gIG15bXI6IFs0MTYwLCA0MTY5XSxcbiAgb3J5YTogWzI5MTgsIDI5MjddLFxuICB0YW1sZGVjOiBbMzA0NiwgMzA1NV0sXG4gIHRlbHU6IFszMTc0LCAzMTgzXSxcbiAgdGhhaTogWzM2NjQsIDM2NzNdLFxuICB0aWJ0OiBbMzg3MiwgMzg4MV0sXG59O1xuXG5jb25zdCBoYW5pZGVjQ2hhcnMgPSBudW1iZXJpbmdTeXN0ZW1zLmhhbmlkZWMucmVwbGFjZSgvW1xcW3xcXF1dL2csIFwiXCIpLnNwbGl0KFwiXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEaWdpdHMoc3RyKSB7XG4gIGxldCB2YWx1ZSA9IHBhcnNlSW50KHN0ciwgMTApO1xuICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgdmFsdWUgPSBcIlwiO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG5cbiAgICAgIGlmIChzdHJbaV0uc2VhcmNoKG51bWJlcmluZ1N5c3RlbXMuaGFuaWRlYykgIT09IC0xKSB7XG4gICAgICAgIHZhbHVlICs9IGhhbmlkZWNDaGFycy5pbmRleE9mKHN0cltpXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBudW1iZXJpbmdTeXN0ZW1zVVRGMTYpIHtcbiAgICAgICAgICBjb25zdCBbbWluLCBtYXhdID0gbnVtYmVyaW5nU3lzdGVtc1VURjE2W2tleV07XG4gICAgICAgICAgaWYgKGNvZGUgPj0gbWluICYmIGNvZGUgPD0gbWF4KSB7XG4gICAgICAgICAgICB2YWx1ZSArPSBjb2RlIC0gbWluO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpZ2l0UmVnZXgoeyBudW1iZXJpbmdTeXN0ZW0gfSwgYXBwZW5kID0gXCJcIikge1xuICByZXR1cm4gbmV3IFJlZ0V4cChgJHtudW1iZXJpbmdTeXN0ZW1zW251bWJlcmluZ1N5c3RlbSB8fCBcImxhdG5cIl19JHthcHBlbmR9YCk7XG59XG4iLCAiaW1wb3J0IHsgcGFyc2VNaWxsaXMsIGlzVW5kZWZpbmVkLCB1bnRydW5jYXRlWWVhciwgc2lnbmVkT2Zmc2V0LCBoYXNPd25Qcm9wZXJ0eSB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCBGb3JtYXR0ZXIgZnJvbSBcIi4vZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgRml4ZWRPZmZzZXRab25lIGZyb20gXCIuLi96b25lcy9maXhlZE9mZnNldFpvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBEYXRlVGltZSBmcm9tIFwiLi4vZGF0ZXRpbWUuanNcIjtcbmltcG9ydCB7IGRpZ2l0UmVnZXgsIHBhcnNlRGlnaXRzIH0gZnJvbSBcIi4vZGlnaXRzLmpzXCI7XG5pbXBvcnQgeyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcblxuY29uc3QgTUlTU0lOR19GVFAgPSBcIm1pc3NpbmcgSW50bC5EYXRlVGltZUZvcm1hdC5mb3JtYXRUb1BhcnRzIHN1cHBvcnRcIjtcblxuZnVuY3Rpb24gaW50VW5pdChyZWdleCwgcG9zdCA9IChpKSA9PiBpKSB7XG4gIHJldHVybiB7IHJlZ2V4LCBkZXNlcjogKFtzXSkgPT4gcG9zdChwYXJzZURpZ2l0cyhzKSkgfTtcbn1cblxuY29uc3QgTkJTUCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKTtcbmNvbnN0IHNwYWNlT3JOQlNQID0gYFsgJHtOQlNQfV1gO1xuY29uc3Qgc3BhY2VPck5CU1BSZWdFeHAgPSBuZXcgUmVnRXhwKHNwYWNlT3JOQlNQLCBcImdcIik7XG5cbmZ1bmN0aW9uIGZpeExpc3RSZWdleChzKSB7XG4gIC8vIG1ha2UgZG90cyBvcHRpb25hbCBhbmQgYWxzbyBtYWtlIHRoZW0gbGl0ZXJhbFxuICAvLyBtYWtlIHNwYWNlIGFuZCBub24gYnJlYWthYmxlIHNwYWNlIGNoYXJhY3RlcnMgaW50ZXJjaGFuZ2VhYmxlXG4gIHJldHVybiBzLnJlcGxhY2UoL1xcLi9nLCBcIlxcXFwuP1wiKS5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCBzcGFjZU9yTkJTUCk7XG59XG5cbmZ1bmN0aW9uIHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpIHtcbiAgcmV0dXJuIHNcbiAgICAucmVwbGFjZSgvXFwuL2csIFwiXCIpIC8vIGlnbm9yZSBkb3RzIHRoYXQgd2VyZSBtYWRlIG9wdGlvbmFsXG4gICAgLnJlcGxhY2Uoc3BhY2VPck5CU1BSZWdFeHAsIFwiIFwiKSAvLyBpbnRlcmNoYW5nZSBzcGFjZSBhbmQgbmJzcFxuICAgIC50b0xvd2VyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiBvbmVPZihzdHJpbmdzLCBzdGFydEluZGV4KSB7XG4gIGlmIChzdHJpbmdzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZ2V4OiBSZWdFeHAoc3RyaW5ncy5tYXAoZml4TGlzdFJlZ2V4KS5qb2luKFwifFwiKSksXG4gICAgICBkZXNlcjogKFtzXSkgPT5cbiAgICAgICAgc3RyaW5ncy5maW5kSW5kZXgoKGkpID0+IHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpID09PSBzdHJpcEluc2Vuc2l0aXZpdGllcyhpKSkgKyBzdGFydEluZGV4LFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gb2Zmc2V0KHJlZ2V4LCBncm91cHMpIHtcbiAgcmV0dXJuIHsgcmVnZXgsIGRlc2VyOiAoWywgaCwgbV0pID0+IHNpZ25lZE9mZnNldChoLCBtKSwgZ3JvdXBzIH07XG59XG5cbmZ1bmN0aW9uIHNpbXBsZShyZWdleCkge1xuICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHMgfTtcbn1cblxuZnVuY3Rpb24gZXNjYXBlVG9rZW4odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1tcXC1cXFtcXF17fSgpKis/LixcXFxcXFxeJHwjXFxzXS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuZnVuY3Rpb24gdW5pdEZvclRva2VuKHRva2VuLCBsb2MpIHtcbiAgY29uc3Qgb25lID0gZGlnaXRSZWdleChsb2MpLFxuICAgIHR3byA9IGRpZ2l0UmVnZXgobG9jLCBcInsyfVwiKSxcbiAgICB0aHJlZSA9IGRpZ2l0UmVnZXgobG9jLCBcInszfVwiKSxcbiAgICBmb3VyID0gZGlnaXRSZWdleChsb2MsIFwiezR9XCIpLFxuICAgIHNpeCA9IGRpZ2l0UmVnZXgobG9jLCBcIns2fVwiKSxcbiAgICBvbmVPclR3byA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDJ9XCIpLFxuICAgIG9uZVRvVGhyZWUgPSBkaWdpdFJlZ2V4KGxvYywgXCJ7MSwzfVwiKSxcbiAgICBvbmVUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDZ9XCIpLFxuICAgIG9uZVRvTmluZSA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDl9XCIpLFxuICAgIHR3b1RvRm91ciA9IGRpZ2l0UmVnZXgobG9jLCBcInsyLDR9XCIpLFxuICAgIGZvdXJUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCBcIns0LDZ9XCIpLFxuICAgIGxpdGVyYWwgPSAodCkgPT4gKHsgcmVnZXg6IFJlZ0V4cChlc2NhcGVUb2tlbih0LnZhbCkpLCBkZXNlcjogKFtzXSkgPT4gcywgbGl0ZXJhbDogdHJ1ZSB9KSxcbiAgICB1bml0YXRlID0gKHQpID0+IHtcbiAgICAgIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgICAgIHJldHVybiBsaXRlcmFsKHQpO1xuICAgICAgfVxuICAgICAgc3dpdGNoICh0LnZhbCkge1xuICAgICAgICAvLyBlcmFcbiAgICAgICAgY2FzZSBcIkdcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoXCJzaG9ydFwiLCBmYWxzZSksIDApO1xuICAgICAgICBjYXNlIFwiR0dcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoXCJsb25nXCIsIGZhbHNlKSwgMCk7XG4gICAgICAgIC8vIHllYXJzXG4gICAgICAgIGNhc2UgXCJ5XCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9TaXgpO1xuICAgICAgICBjYXNlIFwieXlcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d29Ub0ZvdXIsIHVudHJ1bmNhdGVZZWFyKTtcbiAgICAgICAgY2FzZSBcInl5eXlcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTtcbiAgICAgICAgY2FzZSBcInl5eXl5XCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQoZm91clRvU2l4KTtcbiAgICAgICAgY2FzZSBcInl5eXl5eVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHNpeCk7XG4gICAgICAgIC8vIG1vbnRoc1xuICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTtcbiAgICAgICAgY2FzZSBcIk1NXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTtcbiAgICAgICAgY2FzZSBcIk1NTVwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKFwic2hvcnRcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcIk1NTU1cIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLm1vbnRocyhcImxvbmdcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcIkxcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJMTFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJMTExcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLm1vbnRocyhcInNob3J0XCIsIGZhbHNlLCBmYWxzZSksIDEpO1xuICAgICAgICBjYXNlIFwiTExMTFwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKFwibG9uZ1wiLCBmYWxzZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgLy8gZGF0ZXNcbiAgICAgICAgY2FzZSBcImRcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJkZFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIC8vIG9yZGluYWxzXG4gICAgICAgIGNhc2UgXCJvXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9UaHJlZSk7XG4gICAgICAgIGNhc2UgXCJvb29cIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0aHJlZSk7XG4gICAgICAgIC8vIHRpbWVcbiAgICAgICAgY2FzZSBcIkhIXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTtcbiAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJoaFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJoXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwibW1cIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICBjYXNlIFwibVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTtcbiAgICAgICAgY2FzZSBcInFcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJxcVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwic3NcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICBjYXNlIFwiU1wiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZVRvVGhyZWUpO1xuICAgICAgICBjYXNlIFwiU1NTXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodGhyZWUpO1xuICAgICAgICBjYXNlIFwidVwiOlxuICAgICAgICAgIHJldHVybiBzaW1wbGUob25lVG9OaW5lKTtcbiAgICAgICAgY2FzZSBcInV1XCI6XG4gICAgICAgICAgcmV0dXJuIHNpbXBsZShvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJ1dXVcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmUpO1xuICAgICAgICAvLyBtZXJpZGllbVxuICAgICAgICBjYXNlIFwiYVwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubWVyaWRpZW1zKCksIDApO1xuICAgICAgICAvLyB3ZWVrWWVhciAoaylcbiAgICAgICAgY2FzZSBcImtra2tcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTtcbiAgICAgICAgY2FzZSBcImtrXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvVG9Gb3VyLCB1bnRydW5jYXRlWWVhcik7XG4gICAgICAgIC8vIHdlZWtOdW1iZXIgKFcpXG4gICAgICAgIGNhc2UgXCJXXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwiV1dcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICAvLyB3ZWVrZGF5c1xuICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICBjYXNlIFwiY1wiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZSk7XG4gICAgICAgIGNhc2UgXCJFRUVcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwic2hvcnRcIiwgZmFsc2UsIGZhbHNlKSwgMSk7XG4gICAgICAgIGNhc2UgXCJFRUVFXCI6XG4gICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy53ZWVrZGF5cyhcImxvbmdcIiwgZmFsc2UsIGZhbHNlKSwgMSk7XG4gICAgICAgIGNhc2UgXCJjY2NcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwic2hvcnRcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcImNjY2NcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwibG9uZ1wiLCB0cnVlLCBmYWxzZSksIDEpO1xuICAgICAgICAvLyBvZmZzZXQvem9uZVxuICAgICAgICBjYXNlIFwiWlwiOlxuICAgICAgICBjYXNlIFwiWlpcIjpcbiAgICAgICAgICByZXR1cm4gb2Zmc2V0KG5ldyBSZWdFeHAoYChbKy1dJHtvbmVPclR3by5zb3VyY2V9KSg/OjooJHt0d28uc291cmNlfSkpP2ApLCAyKTtcbiAgICAgICAgY2FzZSBcIlpaWlwiOlxuICAgICAgICAgIHJldHVybiBvZmZzZXQobmV3IFJlZ0V4cChgKFsrLV0ke29uZU9yVHdvLnNvdXJjZX0pKCR7dHdvLnNvdXJjZX0pP2ApLCAyKTtcbiAgICAgICAgLy8gd2UgZG9uJ3Qgc3VwcG9ydCBaWlpaIChQU1QpIG9yIFpaWlpaIChQYWNpZmljIFN0YW5kYXJkIFRpbWUpIGluIHBhcnNpbmdcbiAgICAgICAgLy8gYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFueSB3YXkgdG8gZmlndXJlIG91dCB3aGF0IHRoZXkgYXJlXG4gICAgICAgIGNhc2UgXCJ6XCI6XG4gICAgICAgICAgcmV0dXJuIHNpbXBsZSgvW2Etel8rLS9dezEsMjU2fT8vaSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIGxpdGVyYWwodCk7XG4gICAgICB9XG4gICAgfTtcblxuICBjb25zdCB1bml0ID0gdW5pdGF0ZSh0b2tlbikgfHwge1xuICAgIGludmFsaWRSZWFzb246IE1JU1NJTkdfRlRQLFxuICB9O1xuXG4gIHVuaXQudG9rZW4gPSB0b2tlbjtcblxuICByZXR1cm4gdW5pdDtcbn1cblxuY29uc3QgcGFydFR5cGVTdHlsZVRvVG9rZW5WYWwgPSB7XG4gIHllYXI6IHtcbiAgICBcIjItZGlnaXRcIjogXCJ5eVwiLFxuICAgIG51bWVyaWM6IFwieXl5eXlcIixcbiAgfSxcbiAgbW9udGg6IHtcbiAgICBudW1lcmljOiBcIk1cIixcbiAgICBcIjItZGlnaXRcIjogXCJNTVwiLFxuICAgIHNob3J0OiBcIk1NTVwiLFxuICAgIGxvbmc6IFwiTU1NTVwiLFxuICB9LFxuICBkYXk6IHtcbiAgICBudW1lcmljOiBcImRcIixcbiAgICBcIjItZGlnaXRcIjogXCJkZFwiLFxuICB9LFxuICB3ZWVrZGF5OiB7XG4gICAgc2hvcnQ6IFwiRUVFXCIsXG4gICAgbG9uZzogXCJFRUVFXCIsXG4gIH0sXG4gIGRheXBlcmlvZDogXCJhXCIsXG4gIGRheVBlcmlvZDogXCJhXCIsXG4gIGhvdXI6IHtcbiAgICBudW1lcmljOiBcImhcIixcbiAgICBcIjItZGlnaXRcIjogXCJoaFwiLFxuICB9LFxuICBtaW51dGU6IHtcbiAgICBudW1lcmljOiBcIm1cIixcbiAgICBcIjItZGlnaXRcIjogXCJtbVwiLFxuICB9LFxuICBzZWNvbmQ6IHtcbiAgICBudW1lcmljOiBcInNcIixcbiAgICBcIjItZGlnaXRcIjogXCJzc1wiLFxuICB9LFxufTtcblxuZnVuY3Rpb24gdG9rZW5Gb3JQYXJ0KHBhcnQsIGxvY2FsZSwgZm9ybWF0T3B0cykge1xuICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBwYXJ0O1xuXG4gIGlmICh0eXBlID09PSBcImxpdGVyYWxcIikge1xuICAgIHJldHVybiB7XG4gICAgICBsaXRlcmFsOiB0cnVlLFxuICAgICAgdmFsOiB2YWx1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3Qgc3R5bGUgPSBmb3JtYXRPcHRzW3R5cGVdO1xuXG4gIGxldCB2YWwgPSBwYXJ0VHlwZVN0eWxlVG9Ub2tlblZhbFt0eXBlXTtcbiAgaWYgKHR5cGVvZiB2YWwgPT09IFwib2JqZWN0XCIpIHtcbiAgICB2YWwgPSB2YWxbc3R5bGVdO1xuICB9XG5cbiAgaWYgKHZhbCkge1xuICAgIHJldHVybiB7XG4gICAgICBsaXRlcmFsOiBmYWxzZSxcbiAgICAgIHZhbCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYnVpbGRSZWdleCh1bml0cykge1xuICBjb25zdCByZSA9IHVuaXRzLm1hcCgodSkgPT4gdS5yZWdleCkucmVkdWNlKChmLCByKSA9PiBgJHtmfSgke3Iuc291cmNlfSlgLCBcIlwiKTtcbiAgcmV0dXJuIFtgXiR7cmV9JGAsIHVuaXRzXTtcbn1cblxuZnVuY3Rpb24gbWF0Y2goaW5wdXQsIHJlZ2V4LCBoYW5kbGVycykge1xuICBjb25zdCBtYXRjaGVzID0gaW5wdXQubWF0Y2gocmVnZXgpO1xuXG4gIGlmIChtYXRjaGVzKSB7XG4gICAgY29uc3QgYWxsID0ge307XG4gICAgbGV0IG1hdGNoSW5kZXggPSAxO1xuICAgIGZvciAoY29uc3QgaSBpbiBoYW5kbGVycykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5KGhhbmRsZXJzLCBpKSkge1xuICAgICAgICBjb25zdCBoID0gaGFuZGxlcnNbaV0sXG4gICAgICAgICAgZ3JvdXBzID0gaC5ncm91cHMgPyBoLmdyb3VwcyArIDEgOiAxO1xuICAgICAgICBpZiAoIWgubGl0ZXJhbCAmJiBoLnRva2VuKSB7XG4gICAgICAgICAgYWxsW2gudG9rZW4udmFsWzBdXSA9IGguZGVzZXIobWF0Y2hlcy5zbGljZShtYXRjaEluZGV4LCBtYXRjaEluZGV4ICsgZ3JvdXBzKSk7XG4gICAgICAgIH1cbiAgICAgICAgbWF0Y2hJbmRleCArPSBncm91cHM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbbWF0Y2hlcywgYWxsXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW21hdGNoZXMsIHt9XTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkYXRlVGltZUZyb21NYXRjaGVzKG1hdGNoZXMpIHtcbiAgY29uc3QgdG9GaWVsZCA9ICh0b2tlbikgPT4ge1xuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgIHJldHVybiBcIm1pbGxpc2Vjb25kXCI7XG4gICAgICBjYXNlIFwic1wiOlxuICAgICAgICByZXR1cm4gXCJzZWNvbmRcIjtcbiAgICAgIGNhc2UgXCJtXCI6XG4gICAgICAgIHJldHVybiBcIm1pbnV0ZVwiO1xuICAgICAgY2FzZSBcImhcIjpcbiAgICAgIGNhc2UgXCJIXCI6XG4gICAgICAgIHJldHVybiBcImhvdXJcIjtcbiAgICAgIGNhc2UgXCJkXCI6XG4gICAgICAgIHJldHVybiBcImRheVwiO1xuICAgICAgY2FzZSBcIm9cIjpcbiAgICAgICAgcmV0dXJuIFwib3JkaW5hbFwiO1xuICAgICAgY2FzZSBcIkxcIjpcbiAgICAgIGNhc2UgXCJNXCI6XG4gICAgICAgIHJldHVybiBcIm1vbnRoXCI7XG4gICAgICBjYXNlIFwieVwiOlxuICAgICAgICByZXR1cm4gXCJ5ZWFyXCI7XG4gICAgICBjYXNlIFwiRVwiOlxuICAgICAgY2FzZSBcImNcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla2RheVwiO1xuICAgICAgY2FzZSBcIldcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla051bWJlclwiO1xuICAgICAgY2FzZSBcImtcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla1llYXJcIjtcbiAgICAgIGNhc2UgXCJxXCI6XG4gICAgICAgIHJldHVybiBcInF1YXJ0ZXJcIjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBsZXQgem9uZSA9IG51bGw7XG4gIGxldCBzcGVjaWZpY09mZnNldDtcbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnopKSB7XG4gICAgem9uZSA9IElBTkFab25lLmNyZWF0ZShtYXRjaGVzLnopO1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLlopKSB7XG4gICAgaWYgKCF6b25lKSB7XG4gICAgICB6b25lID0gbmV3IEZpeGVkT2Zmc2V0Wm9uZShtYXRjaGVzLlopO1xuICAgIH1cbiAgICBzcGVjaWZpY09mZnNldCA9IG1hdGNoZXMuWjtcbiAgfVxuXG4gIGlmICghaXNVbmRlZmluZWQobWF0Y2hlcy5xKSkge1xuICAgIG1hdGNoZXMuTSA9IChtYXRjaGVzLnEgLSAxKSAqIDMgKyAxO1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLmgpKSB7XG4gICAgaWYgKG1hdGNoZXMuaCA8IDEyICYmIG1hdGNoZXMuYSA9PT0gMSkge1xuICAgICAgbWF0Y2hlcy5oICs9IDEyO1xuICAgIH0gZWxzZSBpZiAobWF0Y2hlcy5oID09PSAxMiAmJiBtYXRjaGVzLmEgPT09IDApIHtcbiAgICAgIG1hdGNoZXMuaCA9IDA7XG4gICAgfVxuICB9XG5cbiAgaWYgKG1hdGNoZXMuRyA9PT0gMCAmJiBtYXRjaGVzLnkpIHtcbiAgICBtYXRjaGVzLnkgPSAtbWF0Y2hlcy55O1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnUpKSB7XG4gICAgbWF0Y2hlcy5TID0gcGFyc2VNaWxsaXMobWF0Y2hlcy51KTtcbiAgfVxuXG4gIGNvbnN0IHZhbHMgPSBPYmplY3Qua2V5cyhtYXRjaGVzKS5yZWR1Y2UoKHIsIGspID0+IHtcbiAgICBjb25zdCBmID0gdG9GaWVsZChrKTtcbiAgICBpZiAoZikge1xuICAgICAgcltmXSA9IG1hdGNoZXNba107XG4gICAgfVxuXG4gICAgcmV0dXJuIHI7XG4gIH0sIHt9KTtcblxuICByZXR1cm4gW3ZhbHMsIHpvbmUsIHNwZWNpZmljT2Zmc2V0XTtcbn1cblxubGV0IGR1bW15RGF0ZVRpbWVDYWNoZSA9IG51bGw7XG5cbmZ1bmN0aW9uIGdldER1bW15RGF0ZVRpbWUoKSB7XG4gIGlmICghZHVtbXlEYXRlVGltZUNhY2hlKSB7XG4gICAgZHVtbXlEYXRlVGltZUNhY2hlID0gRGF0ZVRpbWUuZnJvbU1pbGxpcygxNTU1NTU1NTU1NTU1KTtcbiAgfVxuXG4gIHJldHVybiBkdW1teURhdGVUaW1lQ2FjaGU7XG59XG5cbmZ1bmN0aW9uIG1heWJlRXhwYW5kTWFjcm9Ub2tlbih0b2tlbiwgbG9jYWxlKSB7XG4gIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0T3B0cyA9IEZvcm1hdHRlci5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuLnZhbCk7XG5cbiAgaWYgKCFmb3JtYXRPcHRzKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0dGVyID0gRm9ybWF0dGVyLmNyZWF0ZShsb2NhbGUsIGZvcm1hdE9wdHMpO1xuICBjb25zdCBwYXJ0cyA9IGZvcm1hdHRlci5mb3JtYXREYXRlVGltZVBhcnRzKGdldER1bW15RGF0ZVRpbWUoKSk7XG5cbiAgY29uc3QgdG9rZW5zID0gcGFydHMubWFwKChwKSA9PiB0b2tlbkZvclBhcnQocCwgbG9jYWxlLCBmb3JtYXRPcHRzKSk7XG5cbiAgaWYgKHRva2Vucy5pbmNsdWRlcyh1bmRlZmluZWQpKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gZXhwYW5kTWFjcm9Ub2tlbnModG9rZW5zLCBsb2NhbGUpIHtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4udG9rZW5zLm1hcCgodCkgPT4gbWF5YmVFeHBhbmRNYWNyb1Rva2VuKHQsIGxvY2FsZSkpKTtcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHtcbiAgY29uc3QgdG9rZW5zID0gZXhwYW5kTWFjcm9Ub2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZvcm1hdCksIGxvY2FsZSksXG4gICAgdW5pdHMgPSB0b2tlbnMubWFwKCh0KSA9PiB1bml0Rm9yVG9rZW4odCwgbG9jYWxlKSksXG4gICAgZGlzcXVhbGlmeWluZ1VuaXQgPSB1bml0cy5maW5kKCh0KSA9PiB0LmludmFsaWRSZWFzb24pO1xuXG4gIGlmIChkaXNxdWFsaWZ5aW5nVW5pdCkge1xuICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIGludmFsaWRSZWFzb246IGRpc3F1YWxpZnlpbmdVbml0LmludmFsaWRSZWFzb24gfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBbcmVnZXhTdHJpbmcsIGhhbmRsZXJzXSA9IGJ1aWxkUmVnZXgodW5pdHMpLFxuICAgICAgcmVnZXggPSBSZWdFeHAocmVnZXhTdHJpbmcsIFwiaVwiKSxcbiAgICAgIFtyYXdNYXRjaGVzLCBtYXRjaGVzXSA9IG1hdGNoKGlucHV0LCByZWdleCwgaGFuZGxlcnMpLFxuICAgICAgW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXRdID0gbWF0Y2hlc1xuICAgICAgICA/IGRhdGVUaW1lRnJvbU1hdGNoZXMobWF0Y2hlcylcbiAgICAgICAgOiBbbnVsbCwgbnVsbCwgdW5kZWZpbmVkXTtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkobWF0Y2hlcywgXCJhXCIpICYmIGhhc093blByb3BlcnR5KG1hdGNoZXMsIFwiSFwiKSkge1xuICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKFxuICAgICAgICBcIkNhbid0IGluY2x1ZGUgbWVyaWRpZW0gd2hlbiBzcGVjaWZ5aW5nIDI0LWhvdXIgZm9ybWF0XCJcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIHJlZ2V4LCByYXdNYXRjaGVzLCBtYXRjaGVzLCByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0IH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHtcbiAgY29uc3QgeyByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0LCBpbnZhbGlkUmVhc29uIH0gPSBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpO1xuICByZXR1cm4gW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXQsIGludmFsaWRSZWFzb25dO1xufVxuIiwgImltcG9ydCB7XG4gIGludGVnZXJCZXR3ZWVuLFxuICBpc0xlYXBZZWFyLFxuICB0aW1lT2JqZWN0LFxuICBkYXlzSW5ZZWFyLFxuICBkYXlzSW5Nb250aCxcbiAgd2Vla3NJbldlZWtZZWFyLFxuICBpc0ludGVnZXIsXG59IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCBJbnZhbGlkIGZyb20gXCIuL2ludmFsaWQuanNcIjtcblxuY29uc3Qgbm9uTGVhcExhZGRlciA9IFswLCAzMSwgNTksIDkwLCAxMjAsIDE1MSwgMTgxLCAyMTIsIDI0MywgMjczLCAzMDQsIDMzNF0sXG4gIGxlYXBMYWRkZXIgPSBbMCwgMzEsIDYwLCA5MSwgMTIxLCAxNTIsIDE4MiwgMjEzLCAyNDQsIDI3NCwgMzA1LCAzMzVdO1xuXG5mdW5jdGlvbiB1bml0T3V0T2ZSYW5nZSh1bml0LCB2YWx1ZSkge1xuICByZXR1cm4gbmV3IEludmFsaWQoXG4gICAgXCJ1bml0IG91dCBvZiByYW5nZVwiLFxuICAgIGB5b3Ugc3BlY2lmaWVkICR7dmFsdWV9IChvZiB0eXBlICR7dHlwZW9mIHZhbHVlfSkgYXMgYSAke3VuaXR9LCB3aGljaCBpcyBpbnZhbGlkYFxuICApO1xufVxuXG5mdW5jdGlvbiBkYXlPZldlZWsoeWVhciwgbW9udGgsIGRheSkge1xuICBjb25zdCBkID0gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXkpKTtcblxuICBpZiAoeWVhciA8IDEwMCAmJiB5ZWFyID49IDApIHtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGQuZ2V0VVRDRnVsbFllYXIoKSAtIDE5MDApO1xuICB9XG5cbiAgY29uc3QganMgPSBkLmdldFVUQ0RheSgpO1xuXG4gIHJldHVybiBqcyA9PT0gMCA/IDcgOiBqcztcbn1cblxuZnVuY3Rpb24gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSkge1xuICByZXR1cm4gZGF5ICsgKGlzTGVhcFllYXIoeWVhcikgPyBsZWFwTGFkZGVyIDogbm9uTGVhcExhZGRlcilbbW9udGggLSAxXTtcbn1cblxuZnVuY3Rpb24gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKSB7XG4gIGNvbnN0IHRhYmxlID0gaXNMZWFwWWVhcih5ZWFyKSA/IGxlYXBMYWRkZXIgOiBub25MZWFwTGFkZGVyLFxuICAgIG1vbnRoMCA9IHRhYmxlLmZpbmRJbmRleCgoaSkgPT4gaSA8IG9yZGluYWwpLFxuICAgIGRheSA9IG9yZGluYWwgLSB0YWJsZVttb250aDBdO1xuICByZXR1cm4geyBtb250aDogbW9udGgwICsgMSwgZGF5IH07XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ3JlZ29yaWFuVG9XZWVrKGdyZWdPYmopIHtcbiAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnT2JqLFxuICAgIG9yZGluYWwgPSBjb21wdXRlT3JkaW5hbCh5ZWFyLCBtb250aCwgZGF5KSxcbiAgICB3ZWVrZGF5ID0gZGF5T2ZXZWVrKHllYXIsIG1vbnRoLCBkYXkpO1xuXG4gIGxldCB3ZWVrTnVtYmVyID0gTWF0aC5mbG9vcigob3JkaW5hbCAtIHdlZWtkYXkgKyAxMCkgLyA3KSxcbiAgICB3ZWVrWWVhcjtcblxuICBpZiAod2Vla051bWJlciA8IDEpIHtcbiAgICB3ZWVrWWVhciA9IHllYXIgLSAxO1xuICAgIHdlZWtOdW1iZXIgPSB3ZWVrc0luV2Vla1llYXIod2Vla1llYXIpO1xuICB9IGVsc2UgaWYgKHdlZWtOdW1iZXIgPiB3ZWVrc0luV2Vla1llYXIoeWVhcikpIHtcbiAgICB3ZWVrWWVhciA9IHllYXIgKyAxO1xuICAgIHdlZWtOdW1iZXIgPSAxO1xuICB9IGVsc2Uge1xuICAgIHdlZWtZZWFyID0geWVhcjtcbiAgfVxuXG4gIHJldHVybiB7IHdlZWtZZWFyLCB3ZWVrTnVtYmVyLCB3ZWVrZGF5LCAuLi50aW1lT2JqZWN0KGdyZWdPYmopIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3ZWVrVG9HcmVnb3JpYW4od2Vla0RhdGEpIHtcbiAgY29uc3QgeyB3ZWVrWWVhciwgd2Vla051bWJlciwgd2Vla2RheSB9ID0gd2Vla0RhdGEsXG4gICAgd2Vla2RheU9mSmFuNCA9IGRheU9mV2Vlayh3ZWVrWWVhciwgMSwgNCksXG4gICAgeWVhckluRGF5cyA9IGRheXNJblllYXIod2Vla1llYXIpO1xuXG4gIGxldCBvcmRpbmFsID0gd2Vla051bWJlciAqIDcgKyB3ZWVrZGF5IC0gd2Vla2RheU9mSmFuNCAtIDMsXG4gICAgeWVhcjtcblxuICBpZiAob3JkaW5hbCA8IDEpIHtcbiAgICB5ZWFyID0gd2Vla1llYXIgLSAxO1xuICAgIG9yZGluYWwgKz0gZGF5c0luWWVhcih5ZWFyKTtcbiAgfSBlbHNlIGlmIChvcmRpbmFsID4geWVhckluRGF5cykge1xuICAgIHllYXIgPSB3ZWVrWWVhciArIDE7XG4gICAgb3JkaW5hbCAtPSBkYXlzSW5ZZWFyKHdlZWtZZWFyKTtcbiAgfSBlbHNlIHtcbiAgICB5ZWFyID0gd2Vla1llYXI7XG4gIH1cblxuICBjb25zdCB7IG1vbnRoLCBkYXkgfSA9IHVuY29tcHV0ZU9yZGluYWwoeWVhciwgb3JkaW5hbCk7XG4gIHJldHVybiB7IHllYXIsIG1vbnRoLCBkYXksIC4uLnRpbWVPYmplY3Qod2Vla0RhdGEpIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmVnb3JpYW5Ub09yZGluYWwoZ3JlZ0RhdGEpIHtcbiAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnRGF0YTtcbiAgY29uc3Qgb3JkaW5hbCA9IGNvbXB1dGVPcmRpbmFsKHllYXIsIG1vbnRoLCBkYXkpO1xuICByZXR1cm4geyB5ZWFyLCBvcmRpbmFsLCAuLi50aW1lT2JqZWN0KGdyZWdEYXRhKSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JkaW5hbFRvR3JlZ29yaWFuKG9yZGluYWxEYXRhKSB7XG4gIGNvbnN0IHsgeWVhciwgb3JkaW5hbCB9ID0gb3JkaW5hbERhdGE7XG4gIGNvbnN0IHsgbW9udGgsIGRheSB9ID0gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKTtcbiAgcmV0dXJuIHsgeWVhciwgbW9udGgsIGRheSwgLi4udGltZU9iamVjdChvcmRpbmFsRGF0YSkgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludmFsaWRXZWVrRGF0YShvYmopIHtcbiAgY29uc3QgdmFsaWRZZWFyID0gaXNJbnRlZ2VyKG9iai53ZWVrWWVhciksXG4gICAgdmFsaWRXZWVrID0gaW50ZWdlckJldHdlZW4ob2JqLndlZWtOdW1iZXIsIDEsIHdlZWtzSW5XZWVrWWVhcihvYmoud2Vla1llYXIpKSxcbiAgICB2YWxpZFdlZWtkYXkgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla2RheSwgMSwgNyk7XG5cbiAgaWYgKCF2YWxpZFllYXIpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJ3ZWVrWWVhclwiLCBvYmoud2Vla1llYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZFdlZWspIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJ3ZWVrXCIsIG9iai53ZWVrKTtcbiAgfSBlbHNlIGlmICghdmFsaWRXZWVrZGF5KSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwid2Vla2RheVwiLCBvYmoud2Vla2RheSk7XG4gIH0gZWxzZSByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJbnZhbGlkT3JkaW5hbERhdGEob2JqKSB7XG4gIGNvbnN0IHZhbGlkWWVhciA9IGlzSW50ZWdlcihvYmoueWVhciksXG4gICAgdmFsaWRPcmRpbmFsID0gaW50ZWdlckJldHdlZW4ob2JqLm9yZGluYWwsIDEsIGRheXNJblllYXIob2JqLnllYXIpKTtcblxuICBpZiAoIXZhbGlkWWVhcikge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcInllYXJcIiwgb2JqLnllYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZE9yZGluYWwpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJvcmRpbmFsXCIsIG9iai5vcmRpbmFsKTtcbiAgfSBlbHNlIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludmFsaWRHcmVnb3JpYW5EYXRhKG9iaikge1xuICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLFxuICAgIHZhbGlkTW9udGggPSBpbnRlZ2VyQmV0d2VlbihvYmoubW9udGgsIDEsIDEyKSxcbiAgICB2YWxpZERheSA9IGludGVnZXJCZXR3ZWVuKG9iai5kYXksIDEsIGRheXNJbk1vbnRoKG9iai55ZWFyLCBvYmoubW9udGgpKTtcblxuICBpZiAoIXZhbGlkWWVhcikge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcInllYXJcIiwgb2JqLnllYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZE1vbnRoKSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwibW9udGhcIiwgb2JqLm1vbnRoKTtcbiAgfSBlbHNlIGlmICghdmFsaWREYXkpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJkYXlcIiwgb2JqLmRheSk7XG4gIH0gZWxzZSByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJbnZhbGlkVGltZURhdGEob2JqKSB7XG4gIGNvbnN0IHsgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0gPSBvYmo7XG4gIGNvbnN0IHZhbGlkSG91ciA9XG4gICAgICBpbnRlZ2VyQmV0d2Vlbihob3VyLCAwLCAyMykgfHxcbiAgICAgIChob3VyID09PSAyNCAmJiBtaW51dGUgPT09IDAgJiYgc2Vjb25kID09PSAwICYmIG1pbGxpc2Vjb25kID09PSAwKSxcbiAgICB2YWxpZE1pbnV0ZSA9IGludGVnZXJCZXR3ZWVuKG1pbnV0ZSwgMCwgNTkpLFxuICAgIHZhbGlkU2Vjb25kID0gaW50ZWdlckJldHdlZW4oc2Vjb25kLCAwLCA1OSksXG4gICAgdmFsaWRNaWxsaXNlY29uZCA9IGludGVnZXJCZXR3ZWVuKG1pbGxpc2Vjb25kLCAwLCA5OTkpO1xuXG4gIGlmICghdmFsaWRIb3VyKSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwiaG91clwiLCBob3VyKTtcbiAgfSBlbHNlIGlmICghdmFsaWRNaW51dGUpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJtaW51dGVcIiwgbWludXRlKTtcbiAgfSBlbHNlIGlmICghdmFsaWRTZWNvbmQpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJzZWNvbmRcIiwgc2Vjb25kKTtcbiAgfSBlbHNlIGlmICghdmFsaWRNaWxsaXNlY29uZCkge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcIm1pbGxpc2Vjb25kXCIsIG1pbGxpc2Vjb25kKTtcbiAgfSBlbHNlIHJldHVybiBmYWxzZTtcbn1cbiIsICJpbXBvcnQgRHVyYXRpb24gZnJvbSBcIi4vZHVyYXRpb24uanNcIjtcbmltcG9ydCBJbnRlcnZhbCBmcm9tIFwiLi9pbnRlcnZhbC5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzLmpzXCI7XG5pbXBvcnQgSW5mbyBmcm9tIFwiLi9pbmZvLmpzXCI7XG5pbXBvcnQgRm9ybWF0dGVyIGZyb20gXCIuL2ltcGwvZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgRml4ZWRPZmZzZXRab25lIGZyb20gXCIuL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IExvY2FsZSBmcm9tIFwiLi9pbXBsL2xvY2FsZS5qc1wiO1xuaW1wb3J0IHtcbiAgaXNVbmRlZmluZWQsXG4gIG1heWJlQXJyYXksXG4gIGlzRGF0ZSxcbiAgaXNOdW1iZXIsXG4gIGJlc3RCeSxcbiAgZGF5c0luTW9udGgsXG4gIGRheXNJblllYXIsXG4gIGlzTGVhcFllYXIsXG4gIHdlZWtzSW5XZWVrWWVhcixcbiAgbm9ybWFsaXplT2JqZWN0LFxuICByb3VuZFRvLFxuICBvYmpUb0xvY2FsVFMsXG4gIHBhZFN0YXJ0LFxufSBmcm9tIFwiLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVpvbmUgfSBmcm9tIFwiLi9pbXBsL3pvbmVVdGlsLmpzXCI7XG5pbXBvcnQgZGlmZiBmcm9tIFwiLi9pbXBsL2RpZmYuanNcIjtcbmltcG9ydCB7IHBhcnNlUkZDMjgyMkRhdGUsIHBhcnNlSVNPRGF0ZSwgcGFyc2VIVFRQRGF0ZSwgcGFyc2VTUUwgfSBmcm9tIFwiLi9pbXBsL3JlZ2V4UGFyc2VyLmpzXCI7XG5pbXBvcnQgeyBwYXJzZUZyb21Ub2tlbnMsIGV4cGxhaW5Gcm9tVG9rZW5zIH0gZnJvbSBcIi4vaW1wbC90b2tlblBhcnNlci5qc1wiO1xuaW1wb3J0IHtcbiAgZ3JlZ29yaWFuVG9XZWVrLFxuICB3ZWVrVG9HcmVnb3JpYW4sXG4gIGdyZWdvcmlhblRvT3JkaW5hbCxcbiAgb3JkaW5hbFRvR3JlZ29yaWFuLFxuICBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YSxcbiAgaGFzSW52YWxpZFdlZWtEYXRhLFxuICBoYXNJbnZhbGlkT3JkaW5hbERhdGEsXG4gIGhhc0ludmFsaWRUaW1lRGF0YSxcbn0gZnJvbSBcIi4vaW1wbC9jb252ZXJzaW9ucy5qc1wiO1xuaW1wb3J0ICogYXMgRm9ybWF0cyBmcm9tIFwiLi9pbXBsL2Zvcm1hdHMuanNcIjtcbmltcG9ydCB7XG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcixcbiAgSW52YWxpZFVuaXRFcnJvcixcbiAgSW52YWxpZERhdGVUaW1lRXJyb3IsXG59IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IEludmFsaWQgZnJvbSBcIi4vaW1wbC9pbnZhbGlkLmpzXCI7XG5cbmNvbnN0IElOVkFMSUQgPSBcIkludmFsaWQgRGF0ZVRpbWVcIjtcbmNvbnN0IE1BWF9EQVRFID0gOC42NGUxNTtcblxuZnVuY3Rpb24gdW5zdXBwb3J0ZWRab25lKHpvbmUpIHtcbiAgcmV0dXJuIG5ldyBJbnZhbGlkKFwidW5zdXBwb3J0ZWQgem9uZVwiLCBgdGhlIHpvbmUgXCIke3pvbmUubmFtZX1cIiBpcyBub3Qgc3VwcG9ydGVkYCk7XG59XG5cbi8vIHdlIGNhY2hlIHdlZWsgZGF0YSBvbiB0aGUgRFQgb2JqZWN0IGFuZCB0aGlzIGludGVybWVkaWF0ZXMgdGhlIGNhY2hlXG5mdW5jdGlvbiBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKGR0KSB7XG4gIGlmIChkdC53ZWVrRGF0YSA9PT0gbnVsbCkge1xuICAgIGR0LndlZWtEYXRhID0gZ3JlZ29yaWFuVG9XZWVrKGR0LmMpO1xuICB9XG4gIHJldHVybiBkdC53ZWVrRGF0YTtcbn1cblxuLy8gY2xvbmUgcmVhbGx5IG1lYW5zLCBcIm1ha2UgYSBuZXcgb2JqZWN0IHdpdGggdGhlc2UgbW9kaWZpY2F0aW9uc1wiLiBhbGwgXCJzZXR0ZXJzXCIgcmVhbGx5IHVzZSB0aGlzXG4vLyB0byBjcmVhdGUgYSBuZXcgb2JqZWN0IHdoaWxlIG9ubHkgY2hhbmdpbmcgc29tZSBvZiB0aGUgcHJvcGVydGllc1xuZnVuY3Rpb24gY2xvbmUoaW5zdCwgYWx0cykge1xuICBjb25zdCBjdXJyZW50ID0ge1xuICAgIHRzOiBpbnN0LnRzLFxuICAgIHpvbmU6IGluc3Quem9uZSxcbiAgICBjOiBpbnN0LmMsXG4gICAgbzogaW5zdC5vLFxuICAgIGxvYzogaW5zdC5sb2MsXG4gICAgaW52YWxpZDogaW5zdC5pbnZhbGlkLFxuICB9O1xuICByZXR1cm4gbmV3IERhdGVUaW1lKHsgLi4uY3VycmVudCwgLi4uYWx0cywgb2xkOiBjdXJyZW50IH0pO1xufVxuXG4vLyBmaW5kIHRoZSByaWdodCBvZmZzZXQgYSBnaXZlbiBsb2NhbCB0aW1lLiBUaGUgbyBpbnB1dCBpcyBvdXIgZ3Vlc3MsIHdoaWNoIGRldGVybWluZXMgd2hpY2hcbi8vIG9mZnNldCB3ZSdsbCBwaWNrIGluIGFtYmlndW91cyBjYXNlcyAoZS5nLiB0aGVyZSBhcmUgdHdvIDMgQU1zIGIvYyBGYWxsYmFjayBEU1QpXG5mdW5jdGlvbiBmaXhPZmZzZXQobG9jYWxUUywgbywgdHopIHtcbiAgLy8gT3VyIFVUQyB0aW1lIGlzIGp1c3QgYSBndWVzcyBiZWNhdXNlIG91ciBvZmZzZXQgaXMganVzdCBhIGd1ZXNzXG4gIGxldCB1dGNHdWVzcyA9IGxvY2FsVFMgLSBvICogNjAgKiAxMDAwO1xuXG4gIC8vIFRlc3Qgd2hldGhlciB0aGUgem9uZSBtYXRjaGVzIHRoZSBvZmZzZXQgZm9yIHRoaXMgdHNcbiAgY29uc3QgbzIgPSB0ei5vZmZzZXQodXRjR3Vlc3MpO1xuXG4gIC8vIElmIHNvLCBvZmZzZXQgZGlkbid0IGNoYW5nZSBhbmQgd2UncmUgZG9uZVxuICBpZiAobyA9PT0gbzIpIHtcbiAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvXTtcbiAgfVxuXG4gIC8vIElmIG5vdCwgY2hhbmdlIHRoZSB0cyBieSB0aGUgZGlmZmVyZW5jZSBpbiB0aGUgb2Zmc2V0XG4gIHV0Y0d1ZXNzIC09IChvMiAtIG8pICogNjAgKiAxMDAwO1xuXG4gIC8vIElmIHRoYXQgZ2l2ZXMgdXMgdGhlIGxvY2FsIHRpbWUgd2Ugd2FudCwgd2UncmUgZG9uZVxuICBjb25zdCBvMyA9IHR6Lm9mZnNldCh1dGNHdWVzcyk7XG4gIGlmIChvMiA9PT0gbzMpIHtcbiAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvMl07XG4gIH1cblxuICAvLyBJZiBpdCdzIGRpZmZlcmVudCwgd2UncmUgaW4gYSBob2xlIHRpbWUuIFRoZSBvZmZzZXQgaGFzIGNoYW5nZWQsIGJ1dCB0aGUgd2UgZG9uJ3QgYWRqdXN0IHRoZSB0aW1lXG4gIHJldHVybiBbbG9jYWxUUyAtIE1hdGgubWluKG8yLCBvMykgKiA2MCAqIDEwMDAsIE1hdGgubWF4KG8yLCBvMyldO1xufVxuXG4vLyBjb252ZXJ0IGFuIGVwb2NoIHRpbWVzdGFtcCBpbnRvIGEgY2FsZW5kYXIgb2JqZWN0IHdpdGggdGhlIGdpdmVuIG9mZnNldFxuZnVuY3Rpb24gdHNUb09iaih0cywgb2Zmc2V0KSB7XG4gIHRzICs9IG9mZnNldCAqIDYwICogMTAwMDtcblxuICBjb25zdCBkID0gbmV3IERhdGUodHMpO1xuXG4gIHJldHVybiB7XG4gICAgeWVhcjogZC5nZXRVVENGdWxsWWVhcigpLFxuICAgIG1vbnRoOiBkLmdldFVUQ01vbnRoKCkgKyAxLFxuICAgIGRheTogZC5nZXRVVENEYXRlKCksXG4gICAgaG91cjogZC5nZXRVVENIb3VycygpLFxuICAgIG1pbnV0ZTogZC5nZXRVVENNaW51dGVzKCksXG4gICAgc2Vjb25kOiBkLmdldFVUQ1NlY29uZHMoKSxcbiAgICBtaWxsaXNlY29uZDogZC5nZXRVVENNaWxsaXNlY29uZHMoKSxcbiAgfTtcbn1cblxuLy8gY29udmVydCBhIGNhbGVuZGFyIG9iamVjdCB0byBhIGVwb2NoIHRpbWVzdGFtcFxuZnVuY3Rpb24gb2JqVG9UUyhvYmosIG9mZnNldCwgem9uZSkge1xuICByZXR1cm4gZml4T2Zmc2V0KG9ialRvTG9jYWxUUyhvYmopLCBvZmZzZXQsIHpvbmUpO1xufVxuXG4vLyBjcmVhdGUgYSBuZXcgRFQgaW5zdGFuY2UgYnkgYWRkaW5nIGEgZHVyYXRpb24sIGFkanVzdGluZyBmb3IgRFNUc1xuZnVuY3Rpb24gYWRqdXN0VGltZShpbnN0LCBkdXIpIHtcbiAgY29uc3Qgb1ByZSA9IGluc3QubyxcbiAgICB5ZWFyID0gaW5zdC5jLnllYXIgKyBNYXRoLnRydW5jKGR1ci55ZWFycyksXG4gICAgbW9udGggPSBpbnN0LmMubW9udGggKyBNYXRoLnRydW5jKGR1ci5tb250aHMpICsgTWF0aC50cnVuYyhkdXIucXVhcnRlcnMpICogMyxcbiAgICBjID0ge1xuICAgICAgLi4uaW5zdC5jLFxuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5OlxuICAgICAgICBNYXRoLm1pbihpbnN0LmMuZGF5LCBkYXlzSW5Nb250aCh5ZWFyLCBtb250aCkpICtcbiAgICAgICAgTWF0aC50cnVuYyhkdXIuZGF5cykgK1xuICAgICAgICBNYXRoLnRydW5jKGR1ci53ZWVrcykgKiA3LFxuICAgIH0sXG4gICAgbWlsbGlzVG9BZGQgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHtcbiAgICAgIHllYXJzOiBkdXIueWVhcnMgLSBNYXRoLnRydW5jKGR1ci55ZWFycyksXG4gICAgICBxdWFydGVyczogZHVyLnF1YXJ0ZXJzIC0gTWF0aC50cnVuYyhkdXIucXVhcnRlcnMpLFxuICAgICAgbW9udGhzOiBkdXIubW9udGhzIC0gTWF0aC50cnVuYyhkdXIubW9udGhzKSxcbiAgICAgIHdlZWtzOiBkdXIud2Vla3MgLSBNYXRoLnRydW5jKGR1ci53ZWVrcyksXG4gICAgICBkYXlzOiBkdXIuZGF5cyAtIE1hdGgudHJ1bmMoZHVyLmRheXMpLFxuICAgICAgaG91cnM6IGR1ci5ob3VycyxcbiAgICAgIG1pbnV0ZXM6IGR1ci5taW51dGVzLFxuICAgICAgc2Vjb25kczogZHVyLnNlY29uZHMsXG4gICAgICBtaWxsaXNlY29uZHM6IGR1ci5taWxsaXNlY29uZHMsXG4gICAgfSkuYXMoXCJtaWxsaXNlY29uZHNcIiksXG4gICAgbG9jYWxUUyA9IG9ialRvTG9jYWxUUyhjKTtcblxuICBsZXQgW3RzLCBvXSA9IGZpeE9mZnNldChsb2NhbFRTLCBvUHJlLCBpbnN0LnpvbmUpO1xuXG4gIGlmIChtaWxsaXNUb0FkZCAhPT0gMCkge1xuICAgIHRzICs9IG1pbGxpc1RvQWRkO1xuICAgIC8vIHRoYXQgY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBvZmZzZXQgYnkgZ29pbmcgb3ZlciBhIERTVCwgYnV0IHdlIHdhbnQgdG8ga2VlcCB0aGUgdHMgdGhlIHNhbWVcbiAgICBvID0gaW5zdC56b25lLm9mZnNldCh0cyk7XG4gIH1cblxuICByZXR1cm4geyB0cywgbyB9O1xufVxuXG4vLyBoZWxwZXIgdXNlZnVsIGluIHR1cm5pbmcgdGhlIHJlc3VsdHMgb2YgcGFyc2luZyBpbnRvIHJlYWwgZGF0ZXNcbi8vIGJ5IGhhbmRsaW5nIHRoZSB6b25lIG9wdGlvbnNcbmZ1bmN0aW9uIHBhcnNlRGF0YVRvRGF0ZVRpbWUocGFyc2VkLCBwYXJzZWRab25lLCBvcHRzLCBmb3JtYXQsIHRleHQsIHNwZWNpZmljT2Zmc2V0KSB7XG4gIGNvbnN0IHsgc2V0Wm9uZSwgem9uZSB9ID0gb3B0cztcbiAgaWYgKHBhcnNlZCAmJiBPYmplY3Qua2V5cyhwYXJzZWQpLmxlbmd0aCAhPT0gMCkge1xuICAgIGNvbnN0IGludGVycHJldGF0aW9uWm9uZSA9IHBhcnNlZFpvbmUgfHwgem9uZSxcbiAgICAgIGluc3QgPSBEYXRlVGltZS5mcm9tT2JqZWN0KHBhcnNlZCwge1xuICAgICAgICAuLi5vcHRzLFxuICAgICAgICB6b25lOiBpbnRlcnByZXRhdGlvblpvbmUsXG4gICAgICAgIHNwZWNpZmljT2Zmc2V0LFxuICAgICAgfSk7XG4gICAgcmV0dXJuIHNldFpvbmUgPyBpbnN0IDogaW5zdC5zZXRab25lKHpvbmUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKFxuICAgICAgbmV3IEludmFsaWQoXCJ1bnBhcnNhYmxlXCIsIGB0aGUgaW5wdXQgXCIke3RleHR9XCIgY2FuJ3QgYmUgcGFyc2VkIGFzICR7Zm9ybWF0fWApXG4gICAgKTtcbiAgfVxufVxuXG4vLyBpZiB5b3Ugd2FudCB0byBvdXRwdXQgYSB0ZWNobmljYWwgZm9ybWF0IChlLmcuIFJGQyAyODIyKSwgdGhpcyBoZWxwZXJcbi8vIGhlbHBzIGhhbmRsZSB0aGUgZGV0YWlsc1xuZnVuY3Rpb24gdG9UZWNoRm9ybWF0KGR0LCBmb3JtYXQsIGFsbG93WiA9IHRydWUpIHtcbiAgcmV0dXJuIGR0LmlzVmFsaWRcbiAgICA/IEZvcm1hdHRlci5jcmVhdGUoTG9jYWxlLmNyZWF0ZShcImVuLVVTXCIpLCB7XG4gICAgICAgIGFsbG93WixcbiAgICAgICAgZm9yY2VTaW1wbGU6IHRydWUsXG4gICAgICB9KS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcoZHQsIGZvcm1hdClcbiAgICA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIHRvSVNPRGF0ZShvLCBleHRlbmRlZCkge1xuICBjb25zdCBsb25nRm9ybWF0ID0gby5jLnllYXIgPiA5OTk5IHx8IG8uYy55ZWFyIDwgMDtcbiAgbGV0IGMgPSBcIlwiO1xuICBpZiAobG9uZ0Zvcm1hdCAmJiBvLmMueWVhciA+PSAwKSBjICs9IFwiK1wiO1xuICBjICs9IHBhZFN0YXJ0KG8uYy55ZWFyLCBsb25nRm9ybWF0ID8gNiA6IDQpO1xuXG4gIGlmIChleHRlbmRlZCkge1xuICAgIGMgKz0gXCItXCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMubW9udGgpO1xuICAgIGMgKz0gXCItXCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMuZGF5KTtcbiAgfSBlbHNlIHtcbiAgICBjICs9IHBhZFN0YXJ0KG8uYy5tb250aCk7XG4gICAgYyArPSBwYWRTdGFydChvLmMuZGF5KTtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuZnVuY3Rpb24gdG9JU09UaW1lKFxuICBvLFxuICBleHRlbmRlZCxcbiAgc3VwcHJlc3NTZWNvbmRzLFxuICBzdXBwcmVzc01pbGxpc2Vjb25kcyxcbiAgaW5jbHVkZU9mZnNldCxcbiAgZXh0ZW5kZWRab25lXG4pIHtcbiAgbGV0IGMgPSBwYWRTdGFydChvLmMuaG91cik7XG4gIGlmIChleHRlbmRlZCkge1xuICAgIGMgKz0gXCI6XCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMubWludXRlKTtcbiAgICBpZiAoby5jLnNlY29uZCAhPT0gMCB8fCAhc3VwcHJlc3NTZWNvbmRzKSB7XG4gICAgICBjICs9IFwiOlwiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjICs9IHBhZFN0YXJ0KG8uYy5taW51dGUpO1xuICB9XG5cbiAgaWYgKG8uYy5zZWNvbmQgIT09IDAgfHwgIXN1cHByZXNzU2Vjb25kcykge1xuICAgIGMgKz0gcGFkU3RhcnQoby5jLnNlY29uZCk7XG5cbiAgICBpZiAoby5jLm1pbGxpc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc01pbGxpc2Vjb25kcykge1xuICAgICAgYyArPSBcIi5cIjtcbiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbGxpc2Vjb25kLCAzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaW5jbHVkZU9mZnNldCkge1xuICAgIGlmIChvLmlzT2Zmc2V0Rml4ZWQgJiYgby5vZmZzZXQgPT09IDAgJiYgIWV4dGVuZGVkWm9uZSkge1xuICAgICAgYyArPSBcIlpcIjtcbiAgICB9IGVsc2UgaWYgKG8ubyA8IDApIHtcbiAgICAgIGMgKz0gXCItXCI7XG4gICAgICBjICs9IHBhZFN0YXJ0KE1hdGgudHJ1bmMoLW8ubyAvIDYwKSk7XG4gICAgICBjICs9IFwiOlwiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKC1vLm8gJSA2MCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjICs9IFwiK1wiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKG8ubyAvIDYwKSk7XG4gICAgICBjICs9IFwiOlwiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKG8ubyAlIDYwKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGV4dGVuZGVkWm9uZSkge1xuICAgIGMgKz0gXCJbXCIgKyBvLnpvbmUuaWFuYU5hbWUgKyBcIl1cIjtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuLy8gZGVmYXVsdHMgZm9yIHVuc3BlY2lmaWVkIHVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzXG5jb25zdCBkZWZhdWx0VW5pdFZhbHVlcyA9IHtcbiAgICBtb250aDogMSxcbiAgICBkYXk6IDEsXG4gICAgaG91cjogMCxcbiAgICBtaW51dGU6IDAsXG4gICAgc2Vjb25kOiAwLFxuICAgIG1pbGxpc2Vjb25kOiAwLFxuICB9LFxuICBkZWZhdWx0V2Vla1VuaXRWYWx1ZXMgPSB7XG4gICAgd2Vla051bWJlcjogMSxcbiAgICB3ZWVrZGF5OiAxLFxuICAgIGhvdXI6IDAsXG4gICAgbWludXRlOiAwLFxuICAgIHNlY29uZDogMCxcbiAgICBtaWxsaXNlY29uZDogMCxcbiAgfSxcbiAgZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzID0ge1xuICAgIG9yZGluYWw6IDEsXG4gICAgaG91cjogMCxcbiAgICBtaW51dGU6IDAsXG4gICAgc2Vjb25kOiAwLFxuICAgIG1pbGxpc2Vjb25kOiAwLFxuICB9O1xuXG4vLyBVbml0cyBpbiB0aGUgc3VwcG9ydGVkIGNhbGVuZGFycywgc29ydGVkIGJ5IGJpZ25lc3NcbmNvbnN0IG9yZGVyZWRVbml0cyA9IFtcInllYXJcIiwgXCJtb250aFwiLCBcImRheVwiLCBcImhvdXJcIiwgXCJtaW51dGVcIiwgXCJzZWNvbmRcIiwgXCJtaWxsaXNlY29uZFwiXSxcbiAgb3JkZXJlZFdlZWtVbml0cyA9IFtcbiAgICBcIndlZWtZZWFyXCIsXG4gICAgXCJ3ZWVrTnVtYmVyXCIsXG4gICAgXCJ3ZWVrZGF5XCIsXG4gICAgXCJob3VyXCIsXG4gICAgXCJtaW51dGVcIixcbiAgICBcInNlY29uZFwiLFxuICAgIFwibWlsbGlzZWNvbmRcIixcbiAgXSxcbiAgb3JkZXJlZE9yZGluYWxVbml0cyA9IFtcInllYXJcIiwgXCJvcmRpbmFsXCIsIFwiaG91clwiLCBcIm1pbnV0ZVwiLCBcInNlY29uZFwiLCBcIm1pbGxpc2Vjb25kXCJdO1xuXG4vLyBzdGFuZGFyZGl6ZSBjYXNlIGFuZCBwbHVyYWxpdHkgaW4gdW5pdHNcbmZ1bmN0aW9uIG5vcm1hbGl6ZVVuaXQodW5pdCkge1xuICBjb25zdCBub3JtYWxpemVkID0ge1xuICAgIHllYXI6IFwieWVhclwiLFxuICAgIHllYXJzOiBcInllYXJcIixcbiAgICBtb250aDogXCJtb250aFwiLFxuICAgIG1vbnRoczogXCJtb250aFwiLFxuICAgIGRheTogXCJkYXlcIixcbiAgICBkYXlzOiBcImRheVwiLFxuICAgIGhvdXI6IFwiaG91clwiLFxuICAgIGhvdXJzOiBcImhvdXJcIixcbiAgICBtaW51dGU6IFwibWludXRlXCIsXG4gICAgbWludXRlczogXCJtaW51dGVcIixcbiAgICBxdWFydGVyOiBcInF1YXJ0ZXJcIixcbiAgICBxdWFydGVyczogXCJxdWFydGVyXCIsXG4gICAgc2Vjb25kOiBcInNlY29uZFwiLFxuICAgIHNlY29uZHM6IFwic2Vjb25kXCIsXG4gICAgbWlsbGlzZWNvbmQ6IFwibWlsbGlzZWNvbmRcIixcbiAgICBtaWxsaXNlY29uZHM6IFwibWlsbGlzZWNvbmRcIixcbiAgICB3ZWVrZGF5OiBcIndlZWtkYXlcIixcbiAgICB3ZWVrZGF5czogXCJ3ZWVrZGF5XCIsXG4gICAgd2Vla251bWJlcjogXCJ3ZWVrTnVtYmVyXCIsXG4gICAgd2Vla3NudW1iZXI6IFwid2Vla051bWJlclwiLFxuICAgIHdlZWtudW1iZXJzOiBcIndlZWtOdW1iZXJcIixcbiAgICB3ZWVreWVhcjogXCJ3ZWVrWWVhclwiLFxuICAgIHdlZWt5ZWFyczogXCJ3ZWVrWWVhclwiLFxuICAgIG9yZGluYWw6IFwib3JkaW5hbFwiLFxuICB9W3VuaXQudG9Mb3dlckNhc2UoKV07XG5cbiAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTtcblxuICByZXR1cm4gbm9ybWFsaXplZDtcbn1cblxuLy8gdGhpcyBpcyBhIGR1bWJlZCBkb3duIHZlcnNpb24gb2YgZnJvbU9iamVjdCgpIHRoYXQgcnVucyBhYm91dCA2MCUgZmFzdGVyXG4vLyBidXQgZG9lc24ndCBkbyBhbnkgdmFsaWRhdGlvbiwgbWFrZXMgYSBidW5jaCBvZiBhc3N1bXB0aW9ucyBhYm91dCB3aGF0IHVuaXRzXG4vLyBhcmUgcHJlc2VudCwgYW5kIHNvIG9uLlxuZnVuY3Rpb24gcXVpY2tEVChvYmosIG9wdHMpIHtcbiAgY29uc3Qgem9uZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksXG4gICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyksXG4gICAgdHNOb3cgPSBTZXR0aW5ncy5ub3coKTtcblxuICBsZXQgdHMsIG87XG5cbiAgLy8gYXNzdW1lIHdlIGhhdmUgdGhlIGhpZ2hlci1vcmRlciB1bml0c1xuICBpZiAoIWlzVW5kZWZpbmVkKG9iai55ZWFyKSkge1xuICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmIChpc1VuZGVmaW5lZChvYmpbdV0pKSB7XG4gICAgICAgIG9ialt1XSA9IGRlZmF1bHRVbml0VmFsdWVzW3VdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YShvYmopIHx8IGhhc0ludmFsaWRUaW1lRGF0YShvYmopO1xuICAgIGlmIChpbnZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRQcm92aXMgPSB6b25lLm9mZnNldCh0c05vdyk7XG4gICAgW3RzLCBvXSA9IG9ialRvVFMob2JqLCBvZmZzZXRQcm92aXMsIHpvbmUpO1xuICB9IGVsc2Uge1xuICAgIHRzID0gdHNOb3c7XG4gIH1cblxuICByZXR1cm4gbmV3IERhdGVUaW1lKHsgdHMsIHpvbmUsIGxvYywgbyB9KTtcbn1cblxuZnVuY3Rpb24gZGlmZlJlbGF0aXZlKHN0YXJ0LCBlbmQsIG9wdHMpIHtcbiAgY29uc3Qgcm91bmQgPSBpc1VuZGVmaW5lZChvcHRzLnJvdW5kKSA/IHRydWUgOiBvcHRzLnJvdW5kLFxuICAgIGZvcm1hdCA9IChjLCB1bml0KSA9PiB7XG4gICAgICBjID0gcm91bmRUbyhjLCByb3VuZCB8fCBvcHRzLmNhbGVuZGFyeSA/IDAgOiAyLCB0cnVlKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlciA9IGVuZC5sb2MuY2xvbmUob3B0cykucmVsRm9ybWF0dGVyKG9wdHMpO1xuICAgICAgcmV0dXJuIGZvcm1hdHRlci5mb3JtYXQoYywgdW5pdCk7XG4gICAgfSxcbiAgICBkaWZmZXIgPSAodW5pdCkgPT4ge1xuICAgICAgaWYgKG9wdHMuY2FsZW5kYXJ5KSB7XG4gICAgICAgIGlmICghZW5kLmhhc1NhbWUoc3RhcnQsIHVuaXQpKSB7XG4gICAgICAgICAgcmV0dXJuIGVuZC5zdGFydE9mKHVuaXQpLmRpZmYoc3RhcnQuc3RhcnRPZih1bml0KSwgdW5pdCkuZ2V0KHVuaXQpO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZW5kLmRpZmYoc3RhcnQsIHVuaXQpLmdldCh1bml0KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gIGlmIChvcHRzLnVuaXQpIHtcbiAgICByZXR1cm4gZm9ybWF0KGRpZmZlcihvcHRzLnVuaXQpLCBvcHRzLnVuaXQpO1xuICB9XG5cbiAgZm9yIChjb25zdCB1bml0IG9mIG9wdHMudW5pdHMpIHtcbiAgICBjb25zdCBjb3VudCA9IGRpZmZlcih1bml0KTtcbiAgICBpZiAoTWF0aC5hYnMoY291bnQpID49IDEpIHtcbiAgICAgIHJldHVybiBmb3JtYXQoY291bnQsIHVuaXQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZm9ybWF0KHN0YXJ0ID4gZW5kID8gLTAgOiAwLCBvcHRzLnVuaXRzW29wdHMudW5pdHMubGVuZ3RoIC0gMV0pO1xufVxuXG5mdW5jdGlvbiBsYXN0T3B0cyhhcmdMaXN0KSB7XG4gIGxldCBvcHRzID0ge30sXG4gICAgYXJncztcbiAgaWYgKGFyZ0xpc3QubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdID09PSBcIm9iamVjdFwiKSB7XG4gICAgb3B0cyA9IGFyZ0xpc3RbYXJnTGlzdC5sZW5ndGggLSAxXTtcbiAgICBhcmdzID0gQXJyYXkuZnJvbShhcmdMaXN0KS5zbGljZSgwLCBhcmdMaXN0Lmxlbmd0aCAtIDEpO1xuICB9IGVsc2Uge1xuICAgIGFyZ3MgPSBBcnJheS5mcm9tKGFyZ0xpc3QpO1xuICB9XG4gIHJldHVybiBbb3B0cywgYXJnc107XG59XG5cbi8qKlxuICogQSBEYXRlVGltZSBpcyBhbiBpbW11dGFibGUgZGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBhbmQgYWNjb21wYW55aW5nIG1ldGhvZHMuIEl0IGNvbnRhaW5zIGNsYXNzIGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLlxuICpcbiAqIEEgRGF0ZVRpbWUgY29tcHJpc2VzIG9mOlxuICogKiBBIHRpbWVzdGFtcC4gRWFjaCBEYXRlVGltZSBpbnN0YW5jZSByZWZlcnMgdG8gYSBzcGVjaWZpYyBtaWxsaXNlY29uZCBvZiB0aGUgVW5peCBlcG9jaC5cbiAqICogQSB0aW1lIHpvbmUuIEVhY2ggaW5zdGFuY2UgaXMgY29uc2lkZXJlZCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIHpvbmUgKGJ5IGRlZmF1bHQgdGhlIGxvY2FsIHN5c3RlbSdzIHpvbmUpLlxuICogKiBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgdGhhdCBlZmZlY3QgaG93IG91dHB1dCBzdHJpbmdzIGFyZSBmb3JtYXR0ZWQsIHN1Y2ggYXMgYGxvY2FsZWAsIGBudW1iZXJpbmdTeXN0ZW1gLCBhbmQgYG91dHB1dENhbGVuZGFyYC5cbiAqXG4gKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBmdW5jdGlvbmFsaXR5IGl0IHByb3ZpZGVzOlxuICpcbiAqICogKipDcmVhdGlvbioqOiBUbyBjcmVhdGUgYSBEYXRlVGltZSBmcm9tIGl0cyBjb21wb25lbnRzLCB1c2Ugb25lIG9mIGl0cyBmYWN0b3J5IGNsYXNzIG1ldGhvZHM6IHtAbGluayBEYXRlVGltZSNsb2NhbH0sIHtAbGluayBEYXRlVGltZSN1dGN9LCBhbmQgKG1vc3QgZmxleGlibHkpIHtAbGluayBEYXRlVGltZSNmcm9tT2JqZWN0fS4gVG8gY3JlYXRlIG9uZSBmcm9tIGEgc3RhbmRhcmQgc3RyaW5nIGZvcm1hdCwgdXNlIHtAbGluayBEYXRlVGltZSNmcm9tSVNPfSwge0BsaW5rIERhdGVUaW1lI2Zyb21IVFRQfSwgYW5kIHtAbGluayBEYXRlVGltZSNmcm9tUkZDMjgyMn0uIFRvIGNyZWF0ZSBvbmUgZnJvbSBhIGN1c3RvbSBzdHJpbmcgZm9ybWF0LCB1c2Uge0BsaW5rIERhdGVUaW1lI2Zyb21Gb3JtYXR9LiBUbyBjcmVhdGUgb25lIGZyb20gYSBuYXRpdmUgSlMgZGF0ZSwgdXNlIHtAbGluayBEYXRlVGltZSNmcm9tSlNEYXRlfS5cbiAqICogKipHcmVnb3JpYW4gY2FsZW5kYXIgYW5kIHRpbWUqKjogVG8gZXhhbWluZSB0aGUgR3JlZ29yaWFuIHByb3BlcnRpZXMgb2YgYSBEYXRlVGltZSBpbmRpdmlkdWFsbHkgKGkuZSBhcyBvcHBvc2VkIHRvIGNvbGxlY3RpdmVseSB0aHJvdWdoIHtAbGluayBEYXRlVGltZSN0b09iamVjdH0pLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN5ZWFyfSwge0BsaW5rIERhdGVUaW1lI21vbnRofSxcbiAqIHtAbGluayBEYXRlVGltZSNkYXl9LCB7QGxpbmsgRGF0ZVRpbWUjaG91cn0sIHtAbGluayBEYXRlVGltZSNtaW51dGV9LCB7QGxpbmsgRGF0ZVRpbWUjc2Vjb25kfSwge0BsaW5rIERhdGVUaW1lI21pbGxpc2Vjb25kfSBhY2Nlc3NvcnMuXG4gKiAqICoqV2VlayBjYWxlbmRhcioqOiBGb3IgSVNPIHdlZWsgY2FsZW5kYXIgYXR0cmlidXRlcywgc2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjd2Vla1llYXJ9LCB7QGxpbmsgRGF0ZVRpbWUjd2Vla051bWJlcn0sIGFuZCB7QGxpbmsgRGF0ZVRpbWUjd2Vla2RheX0gYWNjZXNzb3JzLlxuICogKiAqKkNvbmZpZ3VyYXRpb24qKiBTZWUgdGhlIHtAbGluayBEYXRlVGltZSNsb2NhbGV9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjbnVtYmVyaW5nU3lzdGVtfSBhY2Nlc3NvcnMuXG4gKiAqICoqVHJhbnNmb3JtYXRpb24qKjogVG8gdHJhbnNmb3JtIHRoZSBEYXRlVGltZSBpbnRvIG90aGVyIERhdGVUaW1lcywgdXNlIHtAbGluayBEYXRlVGltZSNzZXR9LCB7QGxpbmsgRGF0ZVRpbWUjcmVjb25maWd1cmV9LCB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0sIHtAbGluayBEYXRlVGltZSNzZXRMb2NhbGV9LCB7QGxpbmsgRGF0ZVRpbWUucGx1c30sIHtAbGluayBEYXRlVGltZSNtaW51c30sIHtAbGluayBEYXRlVGltZSNlbmRPZn0sIHtAbGluayBEYXRlVGltZSNzdGFydE9mfSwge0BsaW5rIERhdGVUaW1lI3RvVVRDfSwgYW5kIHtAbGluayBEYXRlVGltZSN0b0xvY2FsfS5cbiAqICogKipPdXRwdXQqKjogVG8gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN0b1JlbGF0aXZlfSwge0BsaW5rIERhdGVUaW1lI3RvUmVsYXRpdmVDYWxlbmRhcn0sIHtAbGluayBEYXRlVGltZSN0b0pTT059LCB7QGxpbmsgRGF0ZVRpbWUjdG9JU099LCB7QGxpbmsgRGF0ZVRpbWUjdG9IVFRQfSwge0BsaW5rIERhdGVUaW1lI3RvT2JqZWN0fSwge0BsaW5rIERhdGVUaW1lI3RvUkZDMjgyMn0sIHtAbGluayBEYXRlVGltZSN0b1N0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0sIHtAbGluayBEYXRlVGltZSN0b01pbGxpc30gYW5kIHtAbGluayBEYXRlVGltZSN0b0pTRGF0ZX0uXG4gKlxuICogVGhlcmUncyBwbGVudHkgb3RoZXJzIGRvY3VtZW50ZWQgYmVsb3cuIEluIGFkZGl0aW9uLCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzdWJ0bGVyIHRvcGljcyBsaWtlIGludGVybmF0aW9uYWxpemF0aW9uLCB0aW1lIHpvbmVzLCBhbHRlcm5hdGl2ZSBjYWxlbmRhcnMsIHZhbGlkaXR5LCBhbmQgc28gb24sIHNlZSB0aGUgZXh0ZXJuYWwgZG9jdW1lbnRhdGlvbi5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0ZVRpbWUge1xuICAvKipcbiAgICogQGFjY2VzcyBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBjb25zdCB6b25lID0gY29uZmlnLnpvbmUgfHwgU2V0dGluZ3MuZGVmYXVsdFpvbmU7XG5cbiAgICBsZXQgaW52YWxpZCA9XG4gICAgICBjb25maWcuaW52YWxpZCB8fFxuICAgICAgKE51bWJlci5pc05hTihjb25maWcudHMpID8gbmV3IEludmFsaWQoXCJpbnZhbGlkIGlucHV0XCIpIDogbnVsbCkgfHxcbiAgICAgICghem9uZS5pc1ZhbGlkID8gdW5zdXBwb3J0ZWRab25lKHpvbmUpIDogbnVsbCk7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy50cyA9IGlzVW5kZWZpbmVkKGNvbmZpZy50cykgPyBTZXR0aW5ncy5ub3coKSA6IGNvbmZpZy50cztcblxuICAgIGxldCBjID0gbnVsbCxcbiAgICAgIG8gPSBudWxsO1xuICAgIGlmICghaW52YWxpZCkge1xuICAgICAgY29uc3QgdW5jaGFuZ2VkID0gY29uZmlnLm9sZCAmJiBjb25maWcub2xkLnRzID09PSB0aGlzLnRzICYmIGNvbmZpZy5vbGQuem9uZS5lcXVhbHMoem9uZSk7XG5cbiAgICAgIGlmICh1bmNoYW5nZWQpIHtcbiAgICAgICAgW2MsIG9dID0gW2NvbmZpZy5vbGQuYywgY29uZmlnLm9sZC5vXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG90ID0gem9uZS5vZmZzZXQodGhpcy50cyk7XG4gICAgICAgIGMgPSB0c1RvT2JqKHRoaXMudHMsIG90KTtcbiAgICAgICAgaW52YWxpZCA9IE51bWJlci5pc05hTihjLnllYXIpID8gbmV3IEludmFsaWQoXCJpbnZhbGlkIGlucHV0XCIpIDogbnVsbDtcbiAgICAgICAgYyA9IGludmFsaWQgPyBudWxsIDogYztcbiAgICAgICAgbyA9IGludmFsaWQgPyBudWxsIDogb3Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5fem9uZSA9IHpvbmU7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5sb2MgPSBjb25maWcubG9jIHx8IExvY2FsZS5jcmVhdGUoKTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBpbnZhbGlkO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMud2Vla0RhdGEgPSBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuYyA9IGM7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5vID0gbztcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmlzTHV4b25EYXRlVGltZSA9IHRydWU7XG4gIH1cblxuICAvLyBDT05TVFJVQ1RcblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZm9yIHRoZSBjdXJyZW50IGluc3RhbnQsIGluIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUuXG4gICAqXG4gICAqIFVzZSBTZXR0aW5ncyB0byBvdmVycmlkZSB0aGVzZSBkZWZhdWx0IHZhbHVlcyBpZiBuZWVkZWQuXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvSVNPKCkgLy9+PiBub3cgaW4gdGhlIElTTyBmb3JtYXRcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgbm93KCkge1xuICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe30pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGxvY2FsIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYGxvY2FsKClgIHdpdGggbm8gYXJndW1lbnRzKSwgdGhlIGN1cnJlbnQgdGltZSB3aWxsIGJlIHVzZWRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFttb250aD0xXSAtIFRoZSBtb250aCwgMS1pbmRleGVkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbZGF5PTFdIC0gVGhlIGRheSBvZiB0aGUgbW9udGgsIDEtaW5kZXhlZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWVcbiAgICogQHBhcmFtIHtudW1iZXJ9IFttaW51dGU9MF0gLSBUaGUgbWludXRlIG9mIHRoZSBob3VyLCBtZWFuaW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgNTlcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzZWNvbmQ9MF0gLSBUaGUgc2Vjb25kIG9mIHRoZSBtaW51dGUsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA1OVxuICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vd1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCh7IHpvbmU6IFwiQW1lcmljYS9OZXdfWW9ya1wiIH0pICAgICAgLy9+PiBub3csIGluIFVTIGVhc3QgY29hc3QgdGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMS0wMVQwMDowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0wMVQwMDowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgeyBsb2NhbGU6IFwiZnJcIiB9KSAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwLCB3aXRoIGEgRnJlbmNoIGxvY2FsZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSkgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgeyB6b25lOiBcInV0Y1wiIH0pICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwLCBpbiBVVENcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1KSAgICAgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MDBcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCkgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTBcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCwgNzY1KSAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAuNzY1XG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc3RhdGljIGxvY2FsKCkge1xuICAgIGNvbnN0IFtvcHRzLCBhcmdzXSA9IGxhc3RPcHRzKGFyZ3VtZW50cyksXG4gICAgICBbeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXSA9IGFyZ3M7XG4gICAgcmV0dXJuIHF1aWNrRFQoeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgfSwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgaW4gVVRDXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYHV0YygpYCB3aXRoIG5vIGFyZ3VtZW50cyksIHRoZSBjdXJyZW50IHRpbWUgd2lsbCBiZSB1c2VkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbW9udGg9MV0gLSBUaGUgbW9udGgsIDEtaW5kZXhlZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2RheT0xXSAtIFRoZSBkYXkgb2YgdGhlIG1vbnRoXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbaG91cj0wXSAtIFRoZSBob3VyIG9mIHRoZSBkYXksIGluIDI0LWhvdXIgdGltZVxuICAgKiBAcGFyYW0ge251bWJlcn0gW21pbnV0ZT0wXSAtIFRoZSBtaW51dGUgb2YgdGhlIGhvdXIsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA1OVxuICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbWlsbGlzZWNvbmQ9MF0gLSBUaGUgbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDk5OVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5sb2NhbGVdIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm91dHB1dENhbGVuZGFyXSAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm51bWJlcmluZ1N5c3RlbV0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vd1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDEtMDFUMDA6MDA6MDBaXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0wMVQwMDowMDowMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwWlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNywgMywgMTIsIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6MDA6MDBaXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzLCAxMiwgNSwgNDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NTowMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgeyBsb2NhbGU6IFwiZnJcIiB9KSAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MDBaIHdpdGggYSBGcmVuY2ggbG9jYWxlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzLCAxMiwgNSwgNDUsIDEwKSAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NToxMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSwgeyBsb2NhbGU6IFwiZnJcIiB9KSAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAuNzY1WiB3aXRoIGEgRnJlbmNoIGxvY2FsZVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyB1dGMoKSB7XG4gICAgY29uc3QgW29wdHMsIGFyZ3NdID0gbGFzdE9wdHMoYXJndW1lbnRzKSxcbiAgICAgIFt5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmRdID0gYXJncztcblxuICAgIG9wdHMuem9uZSA9IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZTtcbiAgICByZXR1cm4gcXVpY2tEVCh7IHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCB9LCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgSmF2YVNjcmlwdCBEYXRlIG9iamVjdC4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLlxuICAgKiBAcGFyYW0ge0RhdGV9IGRhdGUgLSBhIEphdmFTY3JpcHQgRGF0ZSBvYmplY3RcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTRGF0ZShkYXRlLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB0cyA9IGlzRGF0ZShkYXRlKSA/IGRhdGUudmFsdWVPZigpIDogTmFOO1xuICAgIGlmIChOdW1iZXIuaXNOYU4odHMpKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcImludmFsaWQgaW5wdXRcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgem9uZVRvVXNlID0gbm9ybWFsaXplWm9uZShvcHRpb25zLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgICBpZiAoIXpvbmVUb1VzZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZVRvVXNlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7XG4gICAgICB0czogdHMsXG4gICAgICB6b25lOiB6b25lVG9Vc2UsXG4gICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCAobWVhbmluZyBzaW5jZSAxIEphbnVhcnkgMTk3MCAwMDowMDowMCBVVEMpLiBVc2VzIHRoZSBkZWZhdWx0IHpvbmUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaWxsaXNlY29uZHMgLSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MCBVVENcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbU1pbGxpcyhtaWxsaXNlY29uZHMsIG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghaXNOdW1iZXIobWlsbGlzZWNvbmRzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgZnJvbU1pbGxpcyByZXF1aXJlcyBhIG51bWVyaWNhbCBpbnB1dCwgYnV0IHJlY2VpdmVkIGEgJHt0eXBlb2YgbWlsbGlzZWNvbmRzfSB3aXRoIHZhbHVlICR7bWlsbGlzZWNvbmRzfWBcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChtaWxsaXNlY29uZHMgPCAtTUFYX0RBVEUgfHwgbWlsbGlzZWNvbmRzID4gTUFYX0RBVEUpIHtcbiAgICAgIC8vIHRoaXMgaXNuJ3QgcGVyZmVjdCBiZWNhdXNlIGJlY2F1c2Ugd2UgY2FuIHN0aWxsIGVuZCB1cCBvdXQgb2YgcmFuZ2UgYmVjYXVzZSBvZiBhZGRpdGlvbmFsIHNoaWZ0aW5nLCBidXQgaXQncyBhIHN0YXJ0XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcIlRpbWVzdGFtcCBvdXQgb2YgcmFuZ2VcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe1xuICAgICAgICB0czogbWlsbGlzZWNvbmRzLFxuICAgICAgICB6b25lOiBub3JtYWxpemVab25lKG9wdGlvbnMuem9uZSwgU2V0dGluZ3MuZGVmYXVsdFpvbmUpLFxuICAgICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2ggKG1lYW5pbmcgc2luY2UgMSBKYW51YXJ5IDE5NzAgMDA6MDA6MDAgVVRDKS4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2Vjb25kcyAtIGEgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMTk3MCBVVENcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbVNlY29uZHMoc2Vjb25kcywgb3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKCFpc051bWJlcihzZWNvbmRzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwiZnJvbVNlY29uZHMgcmVxdWlyZXMgYSBudW1lcmljYWwgaW5wdXRcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe1xuICAgICAgICB0czogc2Vjb25kcyAqIDEwMDAsXG4gICAgICAgIHpvbmU6IG5vcm1hbGl6ZVpvbmUob3B0aW9ucy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksXG4gICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGgga2V5cyBsaWtlICd5ZWFyJyBhbmQgJ2hvdXInIHdpdGggcmVhc29uYWJsZSBkZWZhdWx0cy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9iaiAtIHRoZSBvYmplY3QgdG8gY3JlYXRlIHRoZSBEYXRlVGltZSBmcm9tXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoueWVhciAtIGEgeWVhciwgc3VjaCBhcyAxOTg3XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubW9udGggLSBhIG1vbnRoLCAxLTEyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmouZGF5IC0gYSBkYXkgb2YgdGhlIG1vbnRoLCAxLTMxLCBkZXBlbmRpbmcgb24gdGhlIG1vbnRoXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoub3JkaW5hbCAtIGRheSBvZiB0aGUgeWVhciwgMS0zNjUgb3IgMzY2XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla1llYXIgLSBhbiBJU08gd2VlayB5ZWFyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla051bWJlciAtIGFuIElTTyB3ZWVrIG51bWJlciwgYmV0d2VlbiAxIGFuZCA1MiBvciA1MywgZGVwZW5kaW5nIG9uIHRoZSB5ZWFyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla2RheSAtIGFuIElTTyB3ZWVrZGF5LCAxLTcsIHdoZXJlIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLmhvdXIgLSBob3VyIG9mIHRoZSBkYXksIDAtMjNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taW51dGUgLSBtaW51dGUgb2YgdGhlIGhvdXIsIDAtNTlcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmQgLSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgMC01OVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbGxpc2Vjb25kIC0gbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCwgMC05OTlcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGlzIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBpbnRlcnByZXQgdGhlIG51bWJlcnMgaW4gdGhlIGNvbnRleHQgb2YgYSBwYXJ0aWN1bGFyIHpvbmUuIENhbiB0YWtlIGFueSB2YWx1ZSB0YWtlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gc2V0Wm9uZSgpXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiAxOTgyLCBtb250aDogNSwgZGF5OiAyNX0pLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDUtMjUnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiAxOTgyIH0pLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDEtMDEnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0pIC8vfj4gdG9kYXkgYXQgMTA6MjY6MDZcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IGhvdXI6IDEwLCBtaW51dGU6IDI2LCBzZWNvbmQ6IDYgfSwgeyB6b25lOiAndXRjJyB9KSxcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IGhvdXI6IDEwLCBtaW51dGU6IDI2LCBzZWNvbmQ6IDYgfSwgeyB6b25lOiAnbG9jYWwnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ0FtZXJpY2EvTmV3X1lvcmsnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB3ZWVrWWVhcjogMjAxNiwgd2Vla051bWJlcjogMiwgd2Vla2RheTogMyB9KS50b0lTT0RhdGUoKSAvLz0+ICcyMDE2LTAxLTEzJ1xuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tT2JqZWN0KG9iaiwgb3B0cyA9IHt9KSB7XG4gICAgb2JqID0gb2JqIHx8IHt9O1xuICAgIGNvbnN0IHpvbmVUb1VzZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7XG4gICAgaWYgKCF6b25lVG9Vc2UuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmVUb1VzZSkpO1xuICAgIH1cblxuICAgIGNvbnN0IHRzTm93ID0gU2V0dGluZ3Mubm93KCksXG4gICAgICBvZmZzZXRQcm92aXMgPSAhaXNVbmRlZmluZWQob3B0cy5zcGVjaWZpY09mZnNldClcbiAgICAgICAgPyBvcHRzLnNwZWNpZmljT2Zmc2V0XG4gICAgICAgIDogem9uZVRvVXNlLm9mZnNldCh0c05vdyksXG4gICAgICBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KG9iaiwgbm9ybWFsaXplVW5pdCksXG4gICAgICBjb250YWluc09yZGluYWwgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yWWVhciA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLnllYXIpLFxuICAgICAgY29udGFpbnNHcmVnb3JNRCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm1vbnRoKSB8fCAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5kYXkpLFxuICAgICAgY29udGFpbnNHcmVnb3IgPSBjb250YWluc0dyZWdvclllYXIgfHwgY29udGFpbnNHcmVnb3JNRCxcbiAgICAgIGRlZmluaXRlV2Vla0RlZiA9IG5vcm1hbGl6ZWQud2Vla1llYXIgfHwgbm9ybWFsaXplZC53ZWVrTnVtYmVyLFxuICAgICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyk7XG5cbiAgICAvLyBjYXNlczpcbiAgICAvLyBqdXN0IGEgd2Vla2RheSAtPiB0aGlzIHdlZWsncyBpbnN0YW5jZSBvZiB0aGF0IHdlZWtkYXksIG5vIHdvcnJpZXNcbiAgICAvLyAoZ3JlZ29yaWFuIGRhdGEgb3Igb3JkaW5hbCkgKyAod2Vla1llYXIgb3Igd2Vla051bWJlcikgLT4gZXJyb3JcbiAgICAvLyAoZ3JlZ29yaWFuIG1vbnRoIG9yIGRheSkgKyBvcmRpbmFsIC0+IGVycm9yXG4gICAgLy8gb3RoZXJ3aXNlIGp1c3QgdXNlIHdlZWtzIG9yIG9yZGluYWxzIG9yIGdyZWdvcmlhbiwgZGVwZW5kaW5nIG9uIHdoYXQncyBzcGVjaWZpZWRcblxuICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcihcbiAgICAgICAgXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VXZWVrRGF0YSA9IGRlZmluaXRlV2Vla0RlZiB8fCAobm9ybWFsaXplZC53ZWVrZGF5ICYmICFjb250YWluc0dyZWdvcik7XG5cbiAgICAvLyBjb25maWd1cmUgb3Vyc2VsdmVzIHRvIGRlYWwgd2l0aCBncmVnb3JpYW4gZGF0ZXMgb3Igd2VlayBzdHVmZlxuICAgIGxldCB1bml0cyxcbiAgICAgIGRlZmF1bHRWYWx1ZXMsXG4gICAgICBvYmpOb3cgPSB0c1RvT2JqKHRzTm93LCBvZmZzZXRQcm92aXMpO1xuICAgIGlmICh1c2VXZWVrRGF0YSkge1xuICAgICAgdW5pdHMgPSBvcmRlcmVkV2Vla1VuaXRzO1xuICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRXZWVrVW5pdFZhbHVlcztcbiAgICAgIG9iak5vdyA9IGdyZWdvcmlhblRvV2VlayhvYmpOb3cpO1xuICAgIH0gZWxzZSBpZiAoY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB1bml0cyA9IG9yZGVyZWRPcmRpbmFsVW5pdHM7XG4gICAgICBkZWZhdWx0VmFsdWVzID0gZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzO1xuICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9PcmRpbmFsKG9iak5vdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuaXRzID0gb3JkZXJlZFVuaXRzO1xuICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRVbml0VmFsdWVzO1xuICAgIH1cblxuICAgIC8vIHNldCBkZWZhdWx0IHZhbHVlcyBmb3IgbWlzc2luZyBzdHVmZlxuICAgIGxldCBmb3VuZEZpcnN0ID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCB1IG9mIHVuaXRzKSB7XG4gICAgICBjb25zdCB2ID0gbm9ybWFsaXplZFt1XTtcbiAgICAgIGlmICghaXNVbmRlZmluZWQodikpIHtcbiAgICAgICAgZm91bmRGaXJzdCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGZvdW5kRmlyc3QpIHtcbiAgICAgICAgbm9ybWFsaXplZFt1XSA9IGRlZmF1bHRWYWx1ZXNbdV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub3JtYWxpemVkW3VdID0gb2JqTm93W3VdO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgdmFsdWVzIHdlIGhhdmUgYXJlIGluIHJhbmdlXG4gICAgY29uc3QgaGlnaGVyT3JkZXJJbnZhbGlkID0gdXNlV2Vla0RhdGFcbiAgICAgICAgPyBoYXNJbnZhbGlkV2Vla0RhdGEobm9ybWFsaXplZClcbiAgICAgICAgOiBjb250YWluc09yZGluYWxcbiAgICAgICAgPyBoYXNJbnZhbGlkT3JkaW5hbERhdGEobm9ybWFsaXplZClcbiAgICAgICAgOiBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YShub3JtYWxpemVkKSxcbiAgICAgIGludmFsaWQgPSBoaWdoZXJPcmRlckludmFsaWQgfHwgaGFzSW52YWxpZFRpbWVEYXRhKG5vcm1hbGl6ZWQpO1xuXG4gICAgaWYgKGludmFsaWQpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKGludmFsaWQpO1xuICAgIH1cblxuICAgIC8vIGNvbXB1dGUgdGhlIGFjdHVhbCB0aW1lXG4gICAgY29uc3QgZ3JlZ29yaWFuID0gdXNlV2Vla0RhdGFcbiAgICAgICAgPyB3ZWVrVG9HcmVnb3JpYW4obm9ybWFsaXplZClcbiAgICAgICAgOiBjb250YWluc09yZGluYWxcbiAgICAgICAgPyBvcmRpbmFsVG9HcmVnb3JpYW4obm9ybWFsaXplZClcbiAgICAgICAgOiBub3JtYWxpemVkLFxuICAgICAgW3RzRmluYWwsIG9mZnNldEZpbmFsXSA9IG9ialRvVFMoZ3JlZ29yaWFuLCBvZmZzZXRQcm92aXMsIHpvbmVUb1VzZSksXG4gICAgICBpbnN0ID0gbmV3IERhdGVUaW1lKHtcbiAgICAgICAgdHM6IHRzRmluYWwsXG4gICAgICAgIHpvbmU6IHpvbmVUb1VzZSxcbiAgICAgICAgbzogb2Zmc2V0RmluYWwsXG4gICAgICAgIGxvYyxcbiAgICAgIH0pO1xuXG4gICAgLy8gZ3JlZ29yaWFuIGRhdGEgKyB3ZWVrZGF5IHNlcnZlcyBvbmx5IHRvIHZhbGlkYXRlXG4gICAgaWYgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiBjb250YWluc0dyZWdvciAmJiBvYmoud2Vla2RheSAhPT0gaW5zdC53ZWVrZGF5KSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcbiAgICAgICAgXCJtaXNtYXRjaGVkIHdlZWtkYXlcIixcbiAgICAgICAgYHlvdSBjYW4ndCBzcGVjaWZ5IGJvdGggYSB3ZWVrZGF5IG9mICR7bm9ybWFsaXplZC53ZWVrZGF5fSBhbmQgYSBkYXRlIG9mICR7aW5zdC50b0lTTygpfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBJU08gODYwMSBzdHJpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgSVNPIHN0cmluZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0cy56b25lPSdsb2NhbCddIC0gdXNlIHRoaXMgem9uZSBpZiBubyBvZmZzZXQgaXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dCBzdHJpbmcgaXRzZWxmLiBXaWxsIGFsc28gY29udmVydCB0aGUgdGltZSB0byB0aGlzIHpvbmVcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nc3lzdGVtJ3MgbG9jYWxlJ10gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXJdIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtMDUtMjVUMDk6MDg6MzQuMTIzJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUlTTygnMjAxNi0wNS0yNVQwOTowODozNC4xMjMrMDY6MDAnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcsIHtzZXRab25lOiB0cnVlfSlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUlTTygnMjAxNi0wNS0yNVQwOTowODozNC4xMjMnLCB7em9uZTogJ3V0Yyd9KVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LVcwNS00JylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzID0ge30pIHtcbiAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZUlTT0RhdGUodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgXCJJU08gODYwMVwiLCB0ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIFJGQyAyODIyIHN0cmluZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBSRkMgMjgyMiBzdHJpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIGNvbnZlcnQgdGhlIHRpbWUgdG8gdGhpcyB6b25lLiBTaW5jZSB0aGUgb2Zmc2V0IGlzIGFsd2F5cyBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIHRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgaW50ZXJwcmV0YXRpb24gb2Ygc3RyaW5nLCBtZXJlbHkgdGhlIHpvbmUgdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpcyBleHByZXNzZWQgaW4uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgZml4ZWQtb2Zmc2V0IHpvbmUgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCBpZiBpdCBzcGVjaWZpZXMgb25lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMzoxMiBHTVQnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tUkZDMjgyMignRnJpLCAyNSBOb3YgMjAxNiAxMzoyMzoxMiArMDYwMCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMyBaJylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbVJGQzI4MjIodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VSRkMyODIyRGF0ZSh0ZXh0KTtcbiAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBcIlJGQyAyODIyXCIsIHRleHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYW4gSFRUUCBoZWFkZXIgZGF0ZVxuICAgKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzMuaHRtbCNzZWMzLjMuMVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBIVFRQIGhlYWRlciBkYXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0byBhZmZlY3QgdGhlIGNyZWF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZS4gU2luY2UgSFRUUCBkYXRlcyBhcmUgYWx3YXlzIGluIFVUQywgdGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBzdHJpbmcsIG1lcmVseSB0aGUgem9uZSB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGlzIGV4cHJlc3NlZCBpbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggdGhlIGZpeGVkLW9mZnNldCB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nLiBGb3IgSFRUUCBkYXRlcywgdGhpcyBpcyBhbHdheXMgVVRDLCBzbyB0aGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcgdGhlIGB6b25lYCBvcHRpb24gdG8gJ3V0YycsIGJ1dCB0aGlzIG9wdGlvbiBpcyBpbmNsdWRlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCBzaW1pbGFyIG1ldGhvZHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21IVFRQKCdTdW4sIDA2IE5vdiAxOTk0IDA4OjQ5OjM3IEdNVCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21IVFRQKCdTdW5kYXksIDA2LU5vdi05NCAwODo0OTozNyBHTVQnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuIE5vdiAgNiAwODo0OTozNyAxOTk0JylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUhUVFAodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VIVFRQRGF0ZSh0ZXh0KTtcbiAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBcIkhUVFBcIiwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBpbnB1dCBzdHJpbmcgYW5kIGZvcm1hdCBzdHJpbmcuXG4gICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4gRm9yIGEgdGFibGUgb2YgdG9rZW5zIGFuZCB0aGVpciBpbnRlcnByZXRhdGlvbnMsIHNlZSBbaGVyZV0oaHR0cHM6Ly9tb21lbnQuZ2l0aHViLmlvL2x1eG9uLyMvcGFyc2luZz9pZD10YWJsZS1vZi10b2tlbnMpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIHRoZSBsaW5rIGJlbG93IGZvciB0aGUgZm9ybWF0cylcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIHVzZSB0aGlzIHpvbmUgaWYgbm8gb2Zmc2V0IGlzIHNwZWNpZmllZCBpbiB0aGUgaW5wdXQgc3RyaW5nIGl0c2VsZi4gV2lsbCBhbHNvIGNvbnZlcnQgdGhlIERhdGVUaW1lIHRvIHRoaXMgem9uZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnNldFpvbmU9ZmFsc2VdIC0gb3ZlcnJpZGUgdGhlIHpvbmUgd2l0aCBhIHpvbmUgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCBpZiBpdCBzcGVjaWZpZXMgb25lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSBhIGxvY2FsZSBzdHJpbmcgdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyBsb2NhbGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIHRvIHRoaXMgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUZvcm1hdCh0ZXh0LCBmbXQsIG9wdHMgPSB7fSkge1xuICAgIGlmIChpc1VuZGVmaW5lZCh0ZXh0KSB8fCBpc1VuZGVmaW5lZChmbXQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJmcm9tRm9ybWF0IHJlcXVpcmVzIGFuIGlucHV0IHN0cmluZyBhbmQgYSBmb3JtYXRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsIH0gPSBvcHRzLFxuICAgICAgbG9jYWxlVG9Vc2UgPSBMb2NhbGUuZnJvbU9wdHMoe1xuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG51bWJlcmluZ1N5c3RlbSxcbiAgICAgICAgZGVmYXVsdFRvRU46IHRydWUsXG4gICAgICB9KSxcbiAgICAgIFt2YWxzLCBwYXJzZWRab25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZF0gPSBwYXJzZUZyb21Ub2tlbnMobG9jYWxlVG9Vc2UsIHRleHQsIGZtdCk7XG4gICAgaWYgKGludmFsaWQpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKGludmFsaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBgZm9ybWF0ICR7Zm10fWAsIHRleHQsIHNwZWNpZmljT2Zmc2V0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGZyb21Gb3JtYXQgaW5zdGVhZFxuICAgKi9cbiAgc3RhdGljIGZyb21TdHJpbmcodGV4dCwgZm10LCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdCh0ZXh0LCBmbXQsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBTUUwgZGF0ZSwgdGltZSwgb3IgZGF0ZXRpbWVcbiAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIHN0cmluZyB0byBwYXJzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0cy56b25lPSdsb2NhbCddIC0gdXNlIHRoaXMgem9uZSBpZiBubyBvZmZzZXQgaXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dCBzdHJpbmcgaXRzZWxmLiBXaWxsIGFsc28gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyB6b25lXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIGEgbG9jYWxlIHN0cmluZyB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSBEYXRlVGltZSB0byB0aGlzIGxvY2FsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgdG8gdGhpcyBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1JylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzIwMTctMDUtMTUgMDk6MTI6MzQuMzQyJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIrMDY6MDAnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MiBBbWVyaWNhL0xvc19BbmdlbGVzJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIgQW1lcmljYS9Mb3NfQW5nZWxlcycsIHsgc2V0Wm9uZTogdHJ1ZSB9KVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MicsIHsgem9uZTogJ0FtZXJpY2EvTG9zX0FuZ2VsZXMnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzA5OjEyOjM0LjM0MicpXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc3RhdGljIGZyb21TUUwodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VTUUwodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgXCJTUUxcIiwgdGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGludmFsaWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWFzb24gLSBzaW1wbGUgc3RyaW5nIG9mIHdoeSB0aGlzIERhdGVUaW1lIGlzIGludmFsaWQuIFNob3VsZCBub3QgY29udGFpbiBwYXJhbWV0ZXJzIG9yIGFueXRoaW5nIGVsc2UgZGF0YS1kZXBlbmRlbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtleHBsYW5hdGlvbj1udWxsXSAtIGxvbmdlciBleHBsYW5hdGlvbiwgbWF5IGluY2x1ZGUgcGFyYW1ldGVycyBhbmQgb3RoZXIgdXNlZnVsIGRlYnVnZ2luZyBpbmZvcm1hdGlvblxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyBpbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24gPSBudWxsKSB7XG4gICAgaWYgKCFyZWFzb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgRGF0ZVRpbWUgaXMgaW52YWxpZFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pO1xuXG4gICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZERhdGVUaW1lRXJyb3IoaW52YWxpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoeyBpbnZhbGlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgRGF0ZVRpbWUuIFdvcmtzIGFjcm9zcyBjb250ZXh0IGJvdW5kYXJpZXNcbiAgICogQHBhcmFtIHtvYmplY3R9IG9cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBpc0RhdGVUaW1lKG8pIHtcbiAgICByZXR1cm4gKG8gJiYgby5pc0x1eG9uRGF0ZVRpbWUpIHx8IGZhbHNlO1xuICB9XG5cbiAgLy8gSU5GT1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbHVlIG9mIHVuaXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gYSB1bml0IHN1Y2ggYXMgJ21pbnV0ZScgb3IgJ2RheSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdtb250aCcpOyAvLz0+IDdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdkYXknKTsgLy89PiA0XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGdldCh1bml0KSB7XG4gICAgcmV0dXJuIHRoaXNbdW5pdF07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBEYXRlVGltZSBpcyB2YWxpZC4gSW52YWxpZCBEYXRlVGltZXMgb2NjdXIgd2hlbjpcbiAgICogKiBUaGUgRGF0ZVRpbWUgd2FzIGNyZWF0ZWQgZnJvbSBpbnZhbGlkIGNhbGVuZGFyIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSAxM3RoIG1vbnRoIG9yIEZlYnJ1YXJ5IDMwXG4gICAqICogVGhlIERhdGVUaW1lIHdhcyBjcmVhdGVkIGJ5IGFuIG9wZXJhdGlvbiBvbiBhbm90aGVyIGludmFsaWQgZGF0ZVxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBlcnJvciBjb2RlIGlmIHRoaXMgRGF0ZVRpbWUgaXMgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRGF0ZVRpbWUgaXMgdmFsaWRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCBpbnZhbGlkUmVhc29uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQucmVhc29uIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIERhdGVUaW1lIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBEYXRlVGltZSBpcyB2YWxpZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRFeHBsYW5hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gdGhpcy5pbnZhbGlkLmV4cGxhbmF0aW9uIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxvY2FsZSBvZiBhIERhdGVUaW1lLCBzdWNoICdlbi1HQicuIFRoZSBsb2NhbGUgaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyaW5nIHN5c3RlbSBvZiBhIERhdGVUaW1lLCBzdWNoICdiZW5nJy4gVGhlIG51bWJlcmluZyBzeXN0ZW0gaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgb3V0cHV0IGNhbGVuZGFyIG9mIGEgRGF0ZVRpbWUsIHN1Y2ggJ2lzbGFtaWMnLiBUaGUgb3V0cHV0IGNhbGVuZGFyIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZVxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG91dHB1dENhbGVuZGFyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0aW1lIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgRGF0ZVRpbWUuXG4gICAqIEB0eXBlIHtab25lfVxuICAgKi9cbiAgZ2V0IHpvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3pvbmU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSB0aW1lIHpvbmUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgem9uZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuem9uZS5uYW1lIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLnllYXIgLy89PiAyMDE3XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgeWVhcigpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnllYXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBxdWFydGVyXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5xdWFydGVyIC8vPT4gMlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHF1YXJ0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IE1hdGguY2VpbCh0aGlzLmMubW9udGggLyAzKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1vbnRoICgxLTEyKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm1vbnRoIC8vPT4gNVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IG1vbnRoKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubW9udGggOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIG1vbnRoICgxLTMwaXNoKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLmRheSAvLz0+IDI1XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgZGF5KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMuZGF5IDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaG91ciBvZiB0aGUgZGF5ICgwLTIzKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDkpLmhvdXIgLy89PiA5XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgaG91cigpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLmhvdXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtaW51dGUgb2YgdGhlIGhvdXIgKDAtNTkpLlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzApLm1pbnV0ZSAvLz0+IDMwXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbWludXRlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWludXRlIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2Vjb25kIG9mIHRoZSBtaW51dGUgKDAtNTkpLlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzAsIDUyKS5zZWNvbmQgLy89PiA1MlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHNlY29uZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnNlY29uZCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQgKDAtOTk5KS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwLCA1MiwgNjU0KS5taWxsaXNlY29uZCAvLz0+IDY1NFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IG1pbGxpc2Vjb25kKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWlsbGlzZWNvbmQgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3ZWVrIHllYXJcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDEyLCAzMSkud2Vla1llYXIgLy89PiAyMDE1XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla1llYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla1llYXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3ZWVrIG51bWJlciBvZiB0aGUgd2VlayB5ZWFyICgxLTUyaXNoKS5cbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS53ZWVrTnVtYmVyIC8vPT4gMjFcbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIGdldCB3ZWVrTnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKHRoaXMpLndlZWtOdW1iZXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIHdlZWsuXG4gICAqIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheVxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMTEsIDMxKS53ZWVrZGF5IC8vPT4gNFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHdlZWtkYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla2RheSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG9yZGluYWwgKG1lYW5pbmcgdGhlIGRheSBvZiB0aGUgeWVhcilcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm9yZGluYWwgLy89PiAxNDVcbiAgICogQHR5cGUge251bWJlcnxEYXRlVGltZX1cbiAgICovXG4gIGdldCBvcmRpbmFsKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKS5vcmRpbmFsIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgc2hvcnQgbW9udGggbmFtZSwgc3VjaCBhcyAnT2N0Jy5cbiAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkubW9udGhTaG9ydCAvLz0+IE9jdFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG1vbnRoU2hvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ubW9udGhzKFwic2hvcnRcIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBsb25nIG1vbnRoIG5hbWUsIHN1Y2ggYXMgJ09jdG9iZXInLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS5tb250aExvbmcgLy89PiBPY3RvYmVyXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbW9udGhMb25nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLm1vbnRocyhcImxvbmdcIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBzaG9ydCB3ZWVrZGF5LCBzdWNoIGFzICdNb24nLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5U2hvcnQgLy89PiBNb25cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCB3ZWVrZGF5U2hvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ud2Vla2RheXMoXCJzaG9ydFwiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgbG9uZyB3ZWVrZGF5LCBzdWNoIGFzICdNb25kYXknLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5TG9uZyAvLz0+IE1vbmRheVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IHdlZWtkYXlMb25nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLndlZWtkYXlzKFwibG9uZ1wiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgVVRDIG9mZnNldCBvZiB0aGlzIERhdGVUaW1lIGluIG1pbnV0ZXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkub2Zmc2V0IC8vPT4gLTI0MFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5vZmZzZXQgLy89PiAwXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgb2Zmc2V0KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyArdGhpcy5vIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2hvcnQgaHVtYW4gbmFtZSBmb3IgdGhlIHpvbmUncyBjdXJyZW50IG9mZnNldCwgZm9yIGV4YW1wbGUgXCJFU1RcIiBvciBcIkVEVFwiLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCBvZmZzZXROYW1lU2hvcnQoKSB7XG4gICAgaWYgKHRoaXMuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIHRoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMsIHtcbiAgICAgICAgZm9ybWF0OiBcInNob3J0XCIsXG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbG9uZyBodW1hbiBuYW1lIGZvciB0aGUgem9uZSdzIGN1cnJlbnQgb2Zmc2V0LCBmb3IgZXhhbXBsZSBcIkVhc3Rlcm4gU3RhbmRhcmQgVGltZVwiIG9yIFwiRWFzdGVybiBEYXlsaWdodCBUaW1lXCIuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG9mZnNldE5hbWVMb25nKCkge1xuICAgIGlmICh0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnpvbmUub2Zmc2V0TmFtZSh0aGlzLnRzLCB7XG4gICAgICAgIGZvcm1hdDogXCJsb25nXCIsXG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIHRoaXMgem9uZSdzIG9mZnNldCBldmVyIGNoYW5nZXMsIGFzIGluIGEgRFNULlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc09mZnNldEZpeGVkKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnpvbmUuaXNVbml2ZXJzYWwgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIHRoZSBEYXRlVGltZSBpcyBpbiBhIERTVC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNJbkRTVCgpIHtcbiAgICBpZiAodGhpcy5pc09mZnNldEZpeGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMub2Zmc2V0ID4gdGhpcy5zZXQoeyBtb250aDogMSwgZGF5OiAxIH0pLm9mZnNldCB8fFxuICAgICAgICB0aGlzLm9mZnNldCA+IHRoaXMuc2V0KHsgbW9udGg6IDUgfSkub2Zmc2V0XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBEYXRlVGltZSBpcyBpbiBhIGxlYXAgeWVhciwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmlzSW5MZWFwWWVhciAvLz0+IHRydWVcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuaXNJbkxlYXBZZWFyIC8vPT4gZmFsc2VcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNJbkxlYXBZZWFyKCkge1xuICAgIHJldHVybiBpc0xlYXBZZWFyKHRoaXMueWVhcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRheXMgaW4gdGhpcyBEYXRlVGltZSdzIG1vbnRoXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYsIDIpLmRheXNJbk1vbnRoIC8vPT4gMjlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNiwgMykuZGF5c0luTW9udGggLy89PiAzMVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXNJbk1vbnRoKCkge1xuICAgIHJldHVybiBkYXlzSW5Nb250aCh0aGlzLnllYXIsIHRoaXMubW9udGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoaXMgRGF0ZVRpbWUncyB5ZWFyXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmRheXNJblllYXIgLy89PiAzNjZcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuZGF5c0luWWVhciAvLz0+IDM2NVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXNJblllYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IGRheXNJblllYXIodGhpcy55ZWFyKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygd2Vla3MgaW4gdGhpcyBEYXRlVGltZSdzIHllYXJcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMDQpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUzXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTMpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUyXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla3NJbldlZWtZZWFyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB3ZWVrc0luV2Vla1llYXIodGhpcy53ZWVrWWVhcikgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmVzb2x2ZWQgSW50bCBvcHRpb25zIGZvciB0aGlzIERhdGVUaW1lLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpbiB1bmRlcnN0YW5kaW5nIHRoZSBiZWhhdmlvciBvZiBmb3JtYXR0aW5nIG1ldGhvZHNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSB0aGUgc2FtZSBvcHRpb25zIGFzIHRvTG9jYWxlU3RyaW5nXG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHJlc29sdmVkTG9jYWxlT3B0aW9ucyhvcHRzID0ge30pIHtcbiAgICBjb25zdCB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhciB9ID0gRm9ybWF0dGVyLmNyZWF0ZShcbiAgICAgIHRoaXMubG9jLmNsb25lKG9wdHMpLFxuICAgICAgb3B0c1xuICAgICkucmVzb2x2ZWRPcHRpb25zKHRoaXMpO1xuICAgIHJldHVybiB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcjogY2FsZW5kYXIgfTtcbiAgfVxuXG4gIC8vIFRSQU5TRk9STVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gVVRDLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8ge0BsaW5rIERhdGVUaW1lI3NldFpvbmV9KCd1dGMnKVxuICAgKiBAcGFyYW0ge251bWJlcn0gW29mZnNldD0wXSAtIG9wdGlvbmFsbHksIGFuIG9mZnNldCBmcm9tIFVUQyBpbiBtaW51dGVzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0cz17fV0gLSBvcHRpb25zIHRvIHBhc3MgdG8gYHNldFpvbmUoKWBcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICB0b1VUQyhvZmZzZXQgPSAwLCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5zZXRab25lKEZpeGVkT2Zmc2V0Wm9uZS5pbnN0YW5jZShvZmZzZXQpLCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gdGhlIGhvc3QncyBsb2NhbCB6b25lLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gYHNldFpvbmUoJ2xvY2FsJylgXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgdG9Mb2NhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZXRab25lKFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gc3BlY2lmaWVkIHpvbmUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIHNldHRlciBrZWVwcyB0aGUgdW5kZXJseWluZyB0aW1lIHRoZSBzYW1lIChhcyBpbiwgdGhlIHNhbWUgdGltZXN0YW1wKSwgYnV0IHRoZSBuZXcgaW5zdGFuY2Ugd2lsbCByZXBvcnQgZGlmZmVyZW50IGxvY2FsIHRpbWVzIGFuZCBjb25zaWRlciBEU1RzIHdoZW4gbWFraW5nIGNvbXB1dGF0aW9ucywgYXMgd2l0aCB7QGxpbmsgRGF0ZVRpbWUjcGx1c30uIFlvdSBtYXkgd2lzaCB0byB1c2Uge0BsaW5rIERhdGVUaW1lI3RvTG9jYWx9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjdG9VVEN9IHdoaWNoIHByb3ZpZGUgc2ltcGxlIGNvbnZlbmllbmNlIHdyYXBwZXJzIGZvciBjb21tb25seSB1c2VkIHpvbmVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbem9uZT0nbG9jYWwnXSAtIGEgem9uZSBpZGVudGlmaWVyLiBBcyBhIHN0cmluZywgdGhhdCBjYW4gYmUgYW55IElBTkEgem9uZSBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QgZW52aXJvbm1lbnQsIG9yIGEgZml4ZWQtb2Zmc2V0IG5hbWUgb2YgdGhlIGZvcm0gJ1VUQyszJywgb3IgdGhlIHN0cmluZ3MgJ2xvY2FsJyBvciAndXRjJy4gWW91IG1heSBhbHNvIHN1cHBseSBhbiBpbnN0YW5jZSBvZiBhIHtAbGluayBEYXRlVGltZSNab25lfSBjbGFzcy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMua2VlcExvY2FsVGltZT1mYWxzZV0gLSBJZiB0cnVlLCBhZGp1c3QgdGhlIHVuZGVybHlpbmcgdGltZSBzbyB0aGF0IHRoZSBsb2NhbCB0aW1lIHN0YXlzIHRoZSBzYW1lLCBidXQgaW4gdGhlIHRhcmdldCB6b25lLiBZb3Ugc2hvdWxkIHJhcmVseSBuZWVkIHRoaXMuXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc2V0Wm9uZSh6b25lLCB7IGtlZXBMb2NhbFRpbWUgPSBmYWxzZSwga2VlcENhbGVuZGFyVGltZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgIHpvbmUgPSBub3JtYWxpemVab25lKHpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgICBpZiAoem9uZS5lcXVhbHModGhpcy56b25lKSkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIGlmICghem9uZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbmV3VFMgPSB0aGlzLnRzO1xuICAgICAgaWYgKGtlZXBMb2NhbFRpbWUgfHwga2VlcENhbGVuZGFyVGltZSkge1xuICAgICAgICBjb25zdCBvZmZzZXRHdWVzcyA9IHpvbmUub2Zmc2V0KHRoaXMudHMpO1xuICAgICAgICBjb25zdCBhc09iaiA9IHRoaXMudG9PYmplY3QoKTtcbiAgICAgICAgW25ld1RTXSA9IG9ialRvVFMoYXNPYmosIG9mZnNldEd1ZXNzLCB6b25lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHRzOiBuZXdUUywgem9uZSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG9yIG91dHB1dENhbGVuZGFyLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIC0gdGhlIHByb3BlcnRpZXMgdG8gc2V0XG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0gPSB7fSkge1xuICAgIGNvbnN0IGxvYyA9IHRoaXMubG9jLmNsb25lKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0pO1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IGxvYyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBsb2NhbGUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS5cbiAgICogSnVzdCBhIGNvbnZlbmllbnQgYWxpYXMgZm9yIHJlY29uZmlndXJlKHsgbG9jYWxlIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5zZXRMb2NhbGUoJ2VuLUdCJylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzZXRMb2NhbGUobG9jYWxlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb25maWd1cmUoeyBsb2NhbGUgfSk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgdmFsdWVzIG9mIHNwZWNpZmllZCB1bml0cy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLlxuICAgKiBZb3UgY2FuIG9ubHkgc2V0IHVuaXRzIHdpdGggdGhpcyBtZXRob2Q7IGZvciBcInNldHRpbmdcIiBtZXRhZGF0YSwgc2VlIHtAbGluayBEYXRlVGltZSNyZWNvbmZpZ3VyZX0gYW5kIHtAbGluayBEYXRlVGltZSNzZXRab25lfS5cbiAgICogQHBhcmFtIHtPYmplY3R9IHZhbHVlcyAtIGEgbWFwcGluZyBvZiB1bml0cyB0byBudW1iZXJzXG4gICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMTcgfSlcbiAgICogQGV4YW1wbGUgZHQuc2V0KHsgaG91cjogOCwgbWludXRlOiAzMCB9KVxuICAgKiBAZXhhbXBsZSBkdC5zZXQoeyB3ZWVrZGF5OiA1IH0pXG4gICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMDUsIG9yZGluYWw6IDIzNCB9KVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHNldCh2YWx1ZXMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KHZhbHVlcywgbm9ybWFsaXplVW5pdCksXG4gICAgICBzZXR0aW5nV2Vla1N0dWZmID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQud2Vla1llYXIpIHx8XG4gICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtOdW1iZXIpIHx8XG4gICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtkYXkpLFxuICAgICAgY29udGFpbnNPcmRpbmFsID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQub3JkaW5hbCksXG4gICAgICBjb250YWluc0dyZWdvclllYXIgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC55ZWFyKSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yTUQgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5tb250aCkgfHwgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yID0gY29udGFpbnNHcmVnb3JZZWFyIHx8IGNvbnRhaW5zR3JlZ29yTUQsXG4gICAgICBkZWZpbml0ZVdlZWtEZWYgPSBub3JtYWxpemVkLndlZWtZZWFyIHx8IG5vcm1hbGl6ZWQud2Vla051bWJlcjtcblxuICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcihcbiAgICAgICAgXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVwiKTtcbiAgICB9XG5cbiAgICBsZXQgbWl4ZWQ7XG4gICAgaWYgKHNldHRpbmdXZWVrU3R1ZmYpIHtcbiAgICAgIG1peGVkID0gd2Vla1RvR3JlZ29yaWFuKHsgLi4uZ3JlZ29yaWFuVG9XZWVrKHRoaXMuYyksIC4uLm5vcm1hbGl6ZWQgfSk7XG4gICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSkge1xuICAgICAgbWl4ZWQgPSBvcmRpbmFsVG9HcmVnb3JpYW4oeyAuLi5ncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKSwgLi4ubm9ybWFsaXplZCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWl4ZWQgPSB7IC4uLnRoaXMudG9PYmplY3QoKSwgLi4ubm9ybWFsaXplZCB9O1xuXG4gICAgICAvLyBpZiB3ZSBkaWRuJ3Qgc2V0IHRoZSBkYXkgYnV0IHdlIGVuZGVkIHVwIG9uIGFuIG92ZXJmbG93IGRhdGUsXG4gICAgICAvLyB1c2UgdGhlIGxhc3QgZGF5IG9mIHRoZSByaWdodCBtb250aFxuICAgICAgaWYgKGlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSkge1xuICAgICAgICBtaXhlZC5kYXkgPSBNYXRoLm1pbihkYXlzSW5Nb250aChtaXhlZC55ZWFyLCBtaXhlZC5tb250aCksIG1peGVkLmRheSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgW3RzLCBvXSA9IG9ialRvVFMobWl4ZWQsIHRoaXMubywgdGhpcy56b25lKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgeyB0cywgbyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBwZXJpb2Qgb2YgdGltZSB0byB0aGlzIERhdGVUaW1lIGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyBEYXRlVGltZVxuICAgKlxuICAgKiBBZGRpbmcgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG9yIG1pbGxpc2Vjb25kcyBpbmNyZWFzZXMgdGhlIHRpbWVzdGFtcCBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy4gQWRkaW5nIGRheXMsIG1vbnRocywgb3IgeWVhcnMgc2hpZnRzIHRoZSBjYWxlbmRhciwgYWNjb3VudGluZyBmb3IgRFNUcyBhbmQgbGVhcCB5ZWFycyBhbG9uZyB0aGUgd2F5LiBUaHVzLCBgZHQucGx1cyh7IGhvdXJzOiAyNCB9KWAgbWF5IHJlc3VsdCBpbiBhIGRpZmZlcmVudCB0aW1lIHRoYW4gYGR0LnBsdXMoeyBkYXlzOiAxIH0pYCBpZiB0aGVyZSdzIGEgRFNUIHNoaWZ0IGluIGJldHdlZW4uXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KClcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cygxMjMpIC8vfj4gaW4gMTIzIG1pbGxpc2Vjb25kc1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgbWludXRlczogMTUgfSkgLy9+PiBpbiAxNSBtaW51dGVzXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pIC8vfj4gdGhpcyB0aW1lIHRvbW9ycm93XG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAtMSB9KSAvL34+IHRoaXMgdGltZSB5ZXN0ZXJkYXlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGhvdXJzOiAzLCBtaW51dGVzOiAxMyB9KSAvL34+IGluIDMgaHIsIDEzIG1pblxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMywgbWludXRlczogMTMgfSkpIC8vfj4gaW4gMyBociwgMTMgbWluXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgcGx1cyhkdXJhdGlvbikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgYWRqdXN0VGltZSh0aGlzLCBkdXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJ0cmFjdCBhIHBlcmlvZCBvZiB0aW1lIHRvIHRoaXMgRGF0ZVRpbWUgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lXG4gICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjcGx1c31cbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpXG4gICBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIG1pbnVzKGR1cmF0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLm5lZ2F0ZSgpO1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCBhZGp1c3RUaW1lKHRoaXMsIGR1cikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFwiU2V0XCIgdGhpcyBEYXRlVGltZSB0byB0aGUgYmVnaW5uaW5nIG9mIGEgdW5pdCBvZiB0aW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIFRoZSB1bml0IHRvIGdvIHRvIHRoZSBiZWdpbm5pbmcgb2YuIENhbiBiZSAneWVhcicsICdxdWFydGVyJywgJ21vbnRoJywgJ3dlZWsnLCAnZGF5JywgJ2hvdXInLCAnbWludXRlJywgJ3NlY29uZCcsIG9yICdtaWxsaXNlY29uZCcuXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ21vbnRoJykudG9JU09EYXRlKCk7IC8vPT4gJzIwMTQtMDMtMDEnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ3llYXInKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMS0wMSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuc3RhcnRPZignd2VlaycpLnRvSVNPRGF0ZSgpOyAvLz0+ICcyMDE0LTAzLTAzJywgd2Vla3MgYWx3YXlzIHN0YXJ0IG9uIE1vbmRheXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMywgNSwgMzApLnN0YXJ0T2YoJ2RheScpLnRvSVNPVGltZSgpOyAvLz0+ICcwMDowMC4wMDAtMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMsIDUsIDMwKS5zdGFydE9mKCdob3VyJykudG9JU09UaW1lKCk7IC8vPT4gJzA1OjAwOjAwLjAwMC0wNTowMCdcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGFydE9mKHVuaXQpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgbyA9IHt9LFxuICAgICAgbm9ybWFsaXplZFVuaXQgPSBEdXJhdGlvbi5ub3JtYWxpemVVbml0KHVuaXQpO1xuICAgIHN3aXRjaCAobm9ybWFsaXplZFVuaXQpIHtcbiAgICAgIGNhc2UgXCJ5ZWFyc1wiOlxuICAgICAgICBvLm1vbnRoID0gMTtcbiAgICAgIC8vIGZhbGxzIHRocm91Z2hcbiAgICAgIGNhc2UgXCJxdWFydGVyc1wiOlxuICAgICAgY2FzZSBcIm1vbnRoc1wiOlxuICAgICAgICBvLmRheSA9IDE7XG4gICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICBjYXNlIFwid2Vla3NcIjpcbiAgICAgIGNhc2UgXCJkYXlzXCI6XG4gICAgICAgIG8uaG91ciA9IDA7XG4gICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICBjYXNlIFwiaG91cnNcIjpcbiAgICAgICAgby5taW51dGUgPSAwO1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgICAgY2FzZSBcIm1pbnV0ZXNcIjpcbiAgICAgICAgby5zZWNvbmQgPSAwO1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgICAgY2FzZSBcInNlY29uZHNcIjpcbiAgICAgICAgby5taWxsaXNlY29uZCA9IDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1pbGxpc2Vjb25kc1wiOlxuICAgICAgICBicmVhaztcbiAgICAgIC8vIG5vIGRlZmF1bHQsIGludmFsaWQgdW5pdHMgdGhyb3cgaW4gbm9ybWFsaXplVW5pdCgpXG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSBcIndlZWtzXCIpIHtcbiAgICAgIG8ud2Vla2RheSA9IDE7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSBcInF1YXJ0ZXJzXCIpIHtcbiAgICAgIGNvbnN0IHEgPSBNYXRoLmNlaWwodGhpcy5tb250aCAvIDMpO1xuICAgICAgby5tb250aCA9IChxIC0gMSkgKiAzICsgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXQobyk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGlzIERhdGVUaW1lIHRvIHRoZSBlbmQgKG1lYW5pbmcgdGhlIGxhc3QgbWlsbGlzZWNvbmQpIG9mIGEgdW5pdCBvZiB0aW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gVGhlIHVuaXQgdG8gZ28gdG8gdGhlIGVuZCBvZi4gQ2FuIGJlICd5ZWFyJywgJ3F1YXJ0ZXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknLCAnaG91cicsICdtaW51dGUnLCAnc2Vjb25kJywgb3IgJ21pbGxpc2Vjb25kJy5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuZW5kT2YoJ21vbnRoJykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0zMVQyMzo1OTo1OS45OTktMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd5ZWFyJykudG9JU08oKTsgLy89PiAnMjAxNC0xMi0zMVQyMzo1OTo1OS45OTktMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd3ZWVrJykudG9JU08oKTsgLy8gPT4gJzIwMTQtMDMtMDlUMjM6NTk6NTkuOTk5LTA1OjAwJywgd2Vla3Mgc3RhcnQgb24gTW9uZGF5c1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2RheScpLnRvSVNPKCk7IC8vPT4gJzIwMTQtMDMtMDNUMjM6NTk6NTkuOTk5LTA1OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2hvdXInKS50b0lTTygpOyAvLz0+ICcyMDE0LTAzLTAzVDA1OjU5OjU5Ljk5OS0wNTowMCdcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBlbmRPZih1bml0KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyB0aGlzLnBsdXMoeyBbdW5pdF06IDEgfSlcbiAgICAgICAgICAuc3RhcnRPZih1bml0KVxuICAgICAgICAgIC5taW51cygxKVxuICAgICAgOiB0aGlzO1xuICB9XG5cbiAgLy8gT1VUUFVUXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy5cbiAgICogKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZSBmb3JtYXR0aW5nIHRvb2wuIEZvciBhIHRhYmxlIG9mIHRva2VucyBhbmQgdGhlaXIgaW50ZXJwcmV0YXRpb25zLCBzZWUgW2hlcmVdKGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi8jL2Zvcm1hdHRpbmc/aWQ9dGFibGUtb2YtdG9rZW5zKS5cbiAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm10IC0gdGhlIGZvcm1hdCBzdHJpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0Zvcm1hdCgneXl5eSBMTEwgZGQnKSAvLz0+ICcyMDE3IEFwciAyMidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuc2V0TG9jYWxlKCdmcicpLnRvRm9ybWF0KCd5eXl5IExMTCBkZCcpIC8vPT4gJzIwMTcgYXZyLiAyMidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJywgeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+ICcyMDE3IGF2ci4gMjInXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KFwiSEggJ2hvdXJzIGFuZCcgbW0gJ21pbnV0ZXMnXCIpIC8vPT4gJzIwIGhvdXJzIGFuZCA1NSBtaW51dGVzJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0Zvcm1hdChmbXQsIG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5yZWRlZmF1bHRUb0VOKG9wdHMpKS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcodGhpcywgZm10KVxuICAgICAgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsb2NhbGl6ZWQgc3RyaW5nIHJlcHJlc2VudGluZyB0aGlzIGRhdGUuIEFjY2VwdHMgdGhlIHNhbWUgb3B0aW9ucyBhcyB0aGUgSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBhbmQgYW55IHByZXNldHMgZGVmaW5lZCBieSBMdXhvbiwgc3VjaCBhcyBgRGF0ZVRpbWUuREFURV9GVUxMYCBvciBgRGF0ZVRpbWUuVElNRV9TSU1QTEVgLlxuICAgKiBUaGUgZXhhY3QgYmVoYXZpb3Igb2YgdGhpcyBtZXRob2QgaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb25cbiAgICogb2YgdGhlIERhdGVUaW1lIGluIHRoZSBhc3NpZ25lZCBsb2NhbGUuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0XG4gICAqIEBwYXJhbSBmb3JtYXRPcHRzIHtPYmplY3R9IC0gSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBvcHRpb25zIGFuZCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDQvMjAvMjAxN1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoJ2VuLWdiJykudG9Mb2NhbGVTdHJpbmcoKTsgLy89PiAnMjAvMDQvMjAxNydcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoeyBsb2NhbGU6ICdlbi1nYicgfSk7IC8vPT4gJzIwLzA0LzIwMTcnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCk7IC8vPT4gJ0FwcmlsIDIwLCAyMDE3J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5USU1FX1NJTVBMRSk7IC8vPT4gJzExOjMyIEFNJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFVElNRV9TSE9SVCk7IC8vPT4gJzQvMjAvMjAxNywgMTE6MzIgQU0nXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKHsgd2Vla2RheTogJ2xvbmcnLCBtb250aDogJ2xvbmcnLCBkYXk6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1cnNkYXksIEFwcmlsIDIwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IHdlZWtkYXk6ICdzaG9ydCcsIG1vbnRoOiAnc2hvcnQnLCBkYXk6ICcyLWRpZ2l0JywgaG91cjogJzItZGlnaXQnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1LCBBcHIgMjAsIDExOjI3IEFNJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcsIGhvdXJDeWNsZTogJ2gyMycgfSk7IC8vPT4gJzExOjMyJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0xvY2FsZVN0cmluZyhmb3JtYXRPcHRzID0gRm9ybWF0cy5EQVRFX1NIT1JULCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkXG4gICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5sb2MuY2xvbmUob3B0cyksIGZvcm1hdE9wdHMpLmZvcm1hdERhdGVUaW1lKHRoaXMpXG4gICAgICA6IElOVkFMSUQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBmb3JtYXQgXCJwYXJ0c1wiLCBtZWFuaW5nIGluZGl2aWR1YWwgdG9rZW5zIGFsb25nIHdpdGggbWV0YWRhdGEuIFRoaXMgaXMgYWxsb3dzIGNhbGxlcnMgdG8gcG9zdC1wcm9jZXNzIGluZGl2aWR1YWwgc2VjdGlvbnMgb2YgdGhlIGZvcm1hdHRlZCBvdXRwdXQuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0L2Zvcm1hdFRvUGFydHNcbiAgICogQHBhcmFtIG9wdHMge09iamVjdH0gLSBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIG9wdGlvbnMsIHNhbWUgYXMgYHRvTG9jYWxlU3RyaW5nYC5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVQYXJ0cygpOyAvLz0+IFtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdkYXknLCB2YWx1ZTogJzI1JyB9LFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnbW9udGgnLCB2YWx1ZTogJzA1JyB9LFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAneWVhcicsIHZhbHVlOiAnMTk4MicgfVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiBdXG4gICAqL1xuICB0b0xvY2FsZVBhcnRzKG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5jbG9uZShvcHRzKSwgb3B0cykuZm9ybWF0RGF0ZVRpbWVQYXJ0cyh0aGlzKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9dHJ1ZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MywgNSwgMjUpLnRvSVNPKCkgLy89PiAnMTk4Mi0wNS0yNVQwMDowMDowMC4wMDBaJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTygpIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1LTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcyMDE3MDQyMlQyMDQ3MDUuMzM1LTA0MDAnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKHtcbiAgICBmb3JtYXQgPSBcImV4dGVuZGVkXCIsXG4gICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsXG4gICAgc3VwcHJlc3NNaWxsaXNlY29uZHMgPSBmYWxzZSxcbiAgICBpbmNsdWRlT2Zmc2V0ID0gdHJ1ZSxcbiAgICBleHRlbmRlZFpvbmUgPSBmYWxzZSxcbiAgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dCA9IGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiO1xuXG4gICAgbGV0IGMgPSB0b0lTT0RhdGUodGhpcywgZXh0KTtcbiAgICBjICs9IFwiVFwiO1xuICAgIGMgKz0gdG9JU09UaW1lKHRoaXMsIGV4dCwgc3VwcHJlc3NTZWNvbmRzLCBzdXBwcmVzc01pbGxpc2Vjb25kcywgaW5jbHVkZU9mZnNldCwgZXh0ZW5kZWRab25lKTtcbiAgICByZXR1cm4gYztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIGRhdGUgY29tcG9uZW50XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDE5ODIsIDUsIDI1KS50b0lTT0RhdGUoKSAvLz0+ICcxOTgyLTA1LTI1J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPRGF0ZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcxOTgyMDUyNSdcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9JU09EYXRlKHsgZm9ybWF0ID0gXCJleHRlbmRlZFwiIH0gPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9JU09EYXRlKHRoaXMsIGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIHdlZWsgZGF0ZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPV2Vla0RhdGUoKSAvLz0+ICcxOTgyLVcyMS0yJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0lTT1dlZWtEYXRlKCkge1xuICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgXCJra2trLSdXJ1dXLWNcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyB0aW1lIGNvbXBvbmVudFxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9dHJ1ZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVByZWZpeD1mYWxzZV0gLSBpbmNsdWRlIHRoZSBgVGAgcHJlZml4XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSgpIC8vPT4gJzA3OjM0OjE5LjM2MVonXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQsIHNlY29uZHM6IDAsIG1pbGxpc2Vjb25kczogMCB9KS50b0lTT1RpbWUoeyBzdXBwcmVzc1NlY29uZHM6IHRydWUgfSkgLy89PiAnMDc6MzRaJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcwNzM0MTkuMzYxWidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkuc2V0KHsgaG91cjogNywgbWludXRlOiAzNCB9KS50b0lTT1RpbWUoeyBpbmNsdWRlUHJlZml4OiB0cnVlIH0pIC8vPT4gJ1QwNzozNDoxOS4zNjFaJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0lTT1RpbWUoe1xuICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzID0gZmFsc2UsXG4gICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsXG4gICAgaW5jbHVkZU9mZnNldCA9IHRydWUsXG4gICAgaW5jbHVkZVByZWZpeCA9IGZhbHNlLFxuICAgIGV4dGVuZGVkWm9uZSA9IGZhbHNlLFxuICAgIGZvcm1hdCA9IFwiZXh0ZW5kZWRcIixcbiAgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBjID0gaW5jbHVkZVByZWZpeCA/IFwiVFwiIDogXCJcIjtcbiAgICByZXR1cm4gKFxuICAgICAgYyArXG4gICAgICB0b0lTT1RpbWUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiLFxuICAgICAgICBzdXBwcmVzc1NlY29uZHMsXG4gICAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzLFxuICAgICAgICBpbmNsdWRlT2Zmc2V0LFxuICAgICAgICBleHRlbmRlZFpvbmVcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gUkZDIDI4MjItY29tcGF0aWJsZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvUkZDMjgyMigpIC8vPT4gJ1N1biwgMTMgSnVsIDIwMTQgMDA6MDA6MDAgKzAwMDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1JGQzI4MjIoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIC0wNDAwJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b1JGQzI4MjIoKSB7XG4gICAgcmV0dXJuIHRvVGVjaEZvcm1hdCh0aGlzLCBcIkVFRSwgZGQgTExMIHl5eXkgSEg6bW06c3MgWlpaXCIsIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBIVFRQIGhlYWRlcnMuIFRoZSBvdXRwdXQgaXMgYWx3YXlzIGV4cHJlc3NlZCBpbiBHTVQuXG4gICAqIFNwZWNpZmljYWxseSwgdGhlIHN0cmluZyBjb25mb3JtcyB0byBSRkMgMTEyMy5cbiAgICogQHNlZSBodHRwczovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMzLmh0bWwjc2VjMy4zLjFcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b0hUVFAoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIEdNVCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzLCAxOSkudG9IVFRQKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAxOTowMDowMCBHTVQnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSFRUUCgpIHtcbiAgICByZXR1cm4gdG9UZWNoRm9ybWF0KHRoaXMudG9VVEMoKSwgXCJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzICdHTVQnXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBEYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE0LCA3LCAxMykudG9TUUxEYXRlKCkgLy89PiAnMjAxNC0wNy0xMydcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TUUxEYXRlKCkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRvSVNPRGF0ZSh0aGlzLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgVGltZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlWm9uZT1mYWxzZV0gLSBpbmNsdWRlIHRoZSB6b25lLCBzdWNoIGFzICdBbWVyaWNhL05ld19Zb3JrJy4gT3ZlcnJpZGVzIGluY2x1ZGVPZmZzZXQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0U3BhY2U9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBzcGFjZSBiZXR3ZWVuIHRoZSB0aW1lIGFuZCB0aGUgb2Zmc2V0LCBzdWNoIGFzICcwNToxNToxNi4zNDUgLTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS50b1NRTCgpIC8vPT4gJzA1OjE1OjE2LjM0NSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoKSAvLz0+ICcwNToxNToxNi4zNDUgLTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b1NRTCh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzA1OjE1OjE2LjM0NSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoeyBpbmNsdWRlWm9uZTogZmFsc2UgfSkgLy89PiAnMDU6MTU6MTYuMzQ1IEFtZXJpY2EvTmV3X1lvcmsnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU1FMVGltZSh7IGluY2x1ZGVPZmZzZXQgPSB0cnVlLCBpbmNsdWRlWm9uZSA9IGZhbHNlLCBpbmNsdWRlT2Zmc2V0U3BhY2UgPSB0cnVlIH0gPSB7fSkge1xuICAgIGxldCBmbXQgPSBcIkhIOm1tOnNzLlNTU1wiO1xuXG4gICAgaWYgKGluY2x1ZGVab25lIHx8IGluY2x1ZGVPZmZzZXQpIHtcbiAgICAgIGlmIChpbmNsdWRlT2Zmc2V0U3BhY2UpIHtcbiAgICAgICAgZm10ICs9IFwiIFwiO1xuICAgICAgfVxuICAgICAgaWYgKGluY2x1ZGVab25lKSB7XG4gICAgICAgIGZtdCArPSBcInpcIjtcbiAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZU9mZnNldCkge1xuICAgICAgICBmbXQgKz0gXCJaWlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgZm10LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgRGF0ZVRpbWVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVpvbmU9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgem9uZSwgc3VjaCBhcyAnQW1lcmljYS9OZXdfWW9yaycuIE92ZXJyaWRlcyBpbmNsdWRlT2Zmc2V0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXQ9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJ1onIG9yICctMDQ6MDAnXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldFNwYWNlPXRydWVdIC0gaW5jbHVkZSB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgdGltZSBhbmQgdGhlIG9mZnNldCwgc3VjaCBhcyAnMDU6MTU6MTYuMzQ1IC0wNDowMCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIFonXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIC0wNDowMCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgNywgMTMpLnRvU1FMKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMjAxNC0wNy0xMyAwMDowMDowMC4wMDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCh7IGluY2x1ZGVab25lOiB0cnVlIH0pIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIEFtZXJpY2EvTmV3X1lvcmsnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU1FMKG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dGhpcy50b1NRTERhdGUoKX0gJHt0aGlzLnRvU1FMVGltZShvcHRzKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRvSVNPKCkgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVwb2NoIG1pbGxpc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLiBBbGlhcyBvZiB7QGxpbmsgRGF0ZVRpbWUjdG9NaWxsaXN9XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIHZhbHVlT2YoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9NaWxsaXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBlcG9jaCBtaWxsaXNlY29uZHMgb2YgdGhpcyBEYXRlVGltZS5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgdG9NaWxsaXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZXBvY2ggc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0b1NlY29uZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgLyAxMDAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVwb2NoIHNlY29uZHMgKGFzIGEgd2hvbGUgbnVtYmVyKSBvZiB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0b1VuaXhJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBNYXRoLmZsb29yKHRoaXMudHMgLyAxMDAwKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgQlNPTiBzZXJpYWxpemFibGUgZXF1aXZhbGVudCB0byB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtEYXRlfVxuICAgKi9cbiAgdG9CU09OKCkge1xuICAgIHJldHVybiB0aGlzLnRvSlNEYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggdGhpcyBEYXRlVGltZSdzIHllYXIsIG1vbnRoLCBkYXksIGFuZCBzbyBvbi5cbiAgICogQHBhcmFtIG9wdHMgLSBvcHRpb25zIGZvciBnZW5lcmF0aW5nIHRoZSBvYmplY3RcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlQ29uZmlnPWZhbHNlXSAtIGluY2x1ZGUgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGVzIGluIHRoZSBvdXRwdXRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9PYmplY3QoKSAvLz0+IHsgeWVhcjogMjAxNywgbW9udGg6IDQsIGRheTogMjIsIGhvdXI6IDIwLCBtaW51dGU6IDQ5LCBzZWNvbmQ6IDQyLCBtaWxsaXNlY29uZDogMjY4IH1cbiAgICogQHJldHVybiB7T2JqZWN0fVxuICAgKi9cbiAgdG9PYmplY3Qob3B0cyA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB7fTtcblxuICAgIGNvbnN0IGJhc2UgPSB7IC4uLnRoaXMuYyB9O1xuXG4gICAgaWYgKG9wdHMuaW5jbHVkZUNvbmZpZykge1xuICAgICAgYmFzZS5vdXRwdXRDYWxlbmRhciA9IHRoaXMub3V0cHV0Q2FsZW5kYXI7XG4gICAgICBiYXNlLm51bWJlcmluZ1N5c3RlbSA9IHRoaXMubG9jLm51bWJlcmluZ1N5c3RlbTtcbiAgICAgIGJhc2UubG9jYWxlID0gdGhpcy5sb2MubG9jYWxlO1xuICAgIH1cbiAgICByZXR1cm4gYmFzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgSmF2YVNjcmlwdCBEYXRlIGVxdWl2YWxlbnQgdG8gdGhpcyBEYXRlVGltZS5cbiAgICogQHJldHVybiB7RGF0ZX1cbiAgICovXG4gIHRvSlNEYXRlKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIDogTmFOKTtcbiAgfVxuXG4gIC8vIENPTVBBUkVcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIERhdGVUaW1lcyBhcyBhIER1cmF0aW9uLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBvdGhlckRhdGVUaW1lIC0gdGhlIERhdGVUaW1lIHRvIGNvbXBhcmUgdGhpcyBvbmUgdG9cbiAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgYXJyYXkgb2YgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGNyZWF0aW9uIG9mIHRoZSBEdXJhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2VcbiAgICogQGV4YW1wbGVcbiAgICogdmFyIGkxID0gRGF0ZVRpbWUuZnJvbUlTTygnMTk4Mi0wNS0yNVQwOTo0NScpLFxuICAgKiAgICAgaTIgPSBEYXRlVGltZS5mcm9tSVNPKCcxOTgzLTEwLTE0VDEwOjMwJyk7XG4gICAqIGkyLmRpZmYoaTEpLnRvT2JqZWN0KCkgLy89PiB7IG1pbGxpc2Vjb25kczogNDM4MDc1MDAwMDAgfVxuICAgKiBpMi5kaWZmKGkxLCAnaG91cnMnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTIxNjguNzUgfVxuICAgKiBpMi5kaWZmKGkxLCBbJ21vbnRocycsICdkYXlzJ10pLnRvT2JqZWN0KCkgLy89PiB7IG1vbnRoczogMTYsIGRheXM6IDE5LjAzMTI1IH1cbiAgICogaTIuZGlmZihpMSwgWydtb250aHMnLCAnZGF5cycsICdob3VycyddKS50b09iamVjdCgpIC8vPT4geyBtb250aHM6IDE2LCBkYXlzOiAxOSwgaG91cnM6IDAuNzUgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIGRpZmYob3RoZXJEYXRlVGltZSwgdW5pdCA9IFwibWlsbGlzZWNvbmRzXCIsIG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlckRhdGVUaW1lLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKFwiY3JlYXRlZCBieSBkaWZmaW5nIGFuIGludmFsaWQgRGF0ZVRpbWVcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZHVyT3B0cyA9IHsgbG9jYWxlOiB0aGlzLmxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtOiB0aGlzLm51bWJlcmluZ1N5c3RlbSwgLi4ub3B0cyB9O1xuXG4gICAgY29uc3QgdW5pdHMgPSBtYXliZUFycmF5KHVuaXQpLm1hcChEdXJhdGlvbi5ub3JtYWxpemVVbml0KSxcbiAgICAgIG90aGVySXNMYXRlciA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpID4gdGhpcy52YWx1ZU9mKCksXG4gICAgICBlYXJsaWVyID0gb3RoZXJJc0xhdGVyID8gdGhpcyA6IG90aGVyRGF0ZVRpbWUsXG4gICAgICBsYXRlciA9IG90aGVySXNMYXRlciA/IG90aGVyRGF0ZVRpbWUgOiB0aGlzLFxuICAgICAgZGlmZmVkID0gZGlmZihlYXJsaWVyLCBsYXRlciwgdW5pdHMsIGR1ck9wdHMpO1xuXG4gICAgcmV0dXJuIG90aGVySXNMYXRlciA/IGRpZmZlZC5uZWdhdGUoKSA6IGRpZmZlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIERhdGVUaW1lIGFuZCByaWdodCBub3cuXG4gICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjZGlmZn1cbiAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgdW5pdHMgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIGRpZmZOb3codW5pdCA9IFwibWlsbGlzZWNvbmRzXCIsIG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmRpZmYoRGF0ZVRpbWUubm93KCksIHVuaXQsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJbnRlcnZhbCBzcGFubmluZyBiZXR3ZWVuIHRoaXMgRGF0ZVRpbWUgYW5kIGFub3RoZXIgRGF0ZVRpbWVcbiAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBlbmQgcG9pbnQgb2YgdGhlIEludGVydmFsXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgdW50aWwob3RoZXJEYXRlVGltZSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHRoaXMsIG90aGVyRGF0ZVRpbWUpIDogdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIERhdGVUaW1lIGlzIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZSBhcyBhbm90aGVyIERhdGVUaW1lLlxuICAgKiBIaWdoZXItb3JkZXIgdW5pdHMgbXVzdCBhbHNvIGJlIGlkZW50aWNhbCBmb3IgdGhpcyBmdW5jdGlvbiB0byByZXR1cm4gYHRydWVgLlxuICAgKiBOb3RlIHRoYXQgdGltZSB6b25lcyBhcmUgKippZ25vcmVkKiogaW4gdGhpcyBjb21wYXJpc29uLCB3aGljaCBjb21wYXJlcyB0aGUgKipsb2NhbCoqIGNhbGVuZGFyIHRpbWUuIFVzZSB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0gdG8gY29udmVydCBvbmUgb2YgdGhlIGRhdGVzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb25cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuaGFzU2FtZShvdGhlckRULCAnZGF5Jyk7IC8vfj4gdHJ1ZSBpZiBvdGhlckRUIGlzIGluIHRoZSBzYW1lIGN1cnJlbnQgY2FsZW5kYXIgZGF5XG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBoYXNTYW1lKG90aGVyRGF0ZVRpbWUsIHVuaXQpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgaW5wdXRNcyA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpO1xuICAgIGNvbnN0IGFkanVzdGVkVG9ab25lID0gdGhpcy5zZXRab25lKG90aGVyRGF0ZVRpbWUuem9uZSwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pO1xuICAgIHJldHVybiBhZGp1c3RlZFRvWm9uZS5zdGFydE9mKHVuaXQpIDw9IGlucHV0TXMgJiYgaW5wdXRNcyA8PSBhZGp1c3RlZFRvWm9uZS5lbmRPZih1bml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcXVhbGl0eSBjaGVja1xuICAgKiBUd28gRGF0ZVRpbWVzIGFyZSBlcXVhbCBpZmYgdGhleSByZXByZXNlbnQgdGhlIHNhbWUgbWlsbGlzZWNvbmQsIGhhdmUgdGhlIHNhbWUgem9uZSBhbmQgbG9jYXRpb24sIGFuZCBhcmUgYm90aCB2YWxpZC5cbiAgICogVG8gY29tcGFyZSBqdXN0IHRoZSBtaWxsaXNlY29uZCB2YWx1ZXMsIHVzZSBgK2R0MSA9PT0gK2R0MmAuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IG90aGVyIC0gdGhlIG90aGVyIERhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1ZhbGlkICYmXG4gICAgICBvdGhlci5pc1ZhbGlkICYmXG4gICAgICB0aGlzLnZhbHVlT2YoKSA9PT0gb3RoZXIudmFsdWVPZigpICYmXG4gICAgICB0aGlzLnpvbmUuZXF1YWxzKG90aGVyLnpvbmUpICYmXG4gICAgICB0aGlzLmxvYy5lcXVhbHMob3RoZXIubG9jKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHRoaXMgdGltZSByZWxhdGl2ZSB0byBub3csIHN1Y2ggYXMgXCJpbiB0d28gZGF5c1wiLiBDYW4gb25seSBpbnRlcm5hdGlvbmFsaXplIGlmIHlvdXJcbiAgICogcGxhdGZvcm0gc3VwcG9ydHMgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuIFJvdW5kcyBkb3duIGJ5IGRlZmF1bHQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zdHlsZT1cImxvbmdcIl0gLSB0aGUgc3R5bGUgb2YgdW5pdHMsIG11c3QgYmUgXCJsb25nXCIsIFwic2hvcnRcIiwgb3IgXCJuYXJyb3dcIlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdCBvciBhcnJheSBvZiB1bml0czsgaWYgb21pdHRlZCwgb3IgYW4gYXJyYXksIHRoZSBtZXRob2Qgd2lsbCBwaWNrIHRoZSBiZXN0IHVuaXQuIFVzZSBhbiBhcnJheSBvciBvbmUgb2YgXCJ5ZWFyc1wiLCBcInF1YXJ0ZXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIG9yIFwic2Vjb25kc1wiXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMucm91bmQ9dHJ1ZV0gLSB3aGV0aGVyIHRvIHJvdW5kIHRoZSBudW1iZXJzIGluIHRoZSBvdXRwdXQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5wYWRkaW5nPTBdIC0gcGFkZGluZyBpbiBtaWxsaXNlY29uZHMuIFRoaXMgYWxsb3dzIHlvdSB0byByb3VuZCB1cCB0aGUgcmVzdWx0IGlmIGl0IGZpdHMgaW5zaWRlIHRoZSB0aHJlc2hvbGQuIERvbid0IHVzZSBpbiBjb21iaW5hdGlvbiB3aXRoIHtyb3VuZDogZmFsc2V9IGJlY2F1c2UgdGhlIGRlY2ltYWwgb3V0cHV0IHdpbGwgaW5jbHVkZSB0aGUgcGFkZGluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubG9jYWxlIC0gb3ZlcnJpZGUgdGhlIGxvY2FsZSBvZiB0aGlzIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlcmluZ1N5c3RlbSAtIG92ZXJyaWRlIHRoZSBudW1iZXJpbmdTeXN0ZW0gb2YgdGhpcyBEYXRlVGltZS4gVGhlIEludGwgc3lzdGVtIG1heSBjaG9vc2Ugbm90IHRvIGhvbm9yIHRoaXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZSgpIC8vPT4gXCJpbiAxIGRheVwiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnNldExvY2FsZShcImVzXCIpLnRvUmVsYXRpdmUoeyBkYXlzOiAxIH0pIC8vPT4gXCJkZW50cm8gZGUgMSBkXHUwMEVEYVwiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pLnRvUmVsYXRpdmUoeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+IFwiZGFucyAyMyBoZXVyZXNcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGRheXM6IDIgfSkudG9SZWxhdGl2ZSgpIC8vPT4gXCIyIGRheXMgYWdvXCJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmUoeyB1bml0OiBcImhvdXJzXCIgfSkgLy89PiBcIjQ4IGhvdXJzIGFnb1wiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLm1pbnVzKHsgaG91cnM6IDM2IH0pLnRvUmVsYXRpdmUoeyByb3VuZDogZmFsc2UgfSkgLy89PiBcIjEuNSBkYXlzIGFnb1wiXG4gICAqL1xuICB0b1JlbGF0aXZlKG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBiYXNlID0gb3B0aW9ucy5iYXNlIHx8IERhdGVUaW1lLmZyb21PYmplY3Qoe30sIHsgem9uZTogdGhpcy56b25lIH0pLFxuICAgICAgcGFkZGluZyA9IG9wdGlvbnMucGFkZGluZyA/ICh0aGlzIDwgYmFzZSA/IC1vcHRpb25zLnBhZGRpbmcgOiBvcHRpb25zLnBhZGRpbmcpIDogMDtcbiAgICBsZXQgdW5pdHMgPSBbXCJ5ZWFyc1wiLCBcIm1vbnRoc1wiLCBcImRheXNcIiwgXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJdO1xuICAgIGxldCB1bml0ID0gb3B0aW9ucy51bml0O1xuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMudW5pdCkpIHtcbiAgICAgIHVuaXRzID0gb3B0aW9ucy51bml0O1xuICAgICAgdW5pdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGRpZmZSZWxhdGl2ZShiYXNlLCB0aGlzLnBsdXMocGFkZGluZyksIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBudW1lcmljOiBcImFsd2F5c1wiLFxuICAgICAgdW5pdHMsXG4gICAgICB1bml0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBkYXRlIHJlbGF0aXZlIHRvIHRvZGF5LCBzdWNoIGFzIFwieWVzdGVyZGF5XCIgb3IgXCJuZXh0IG1vbnRoXCIuXG4gICAqIE9ubHkgaW50ZXJuYXRpb25hbGl6ZXMgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydHMgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmxvY2FsZSAtIG92ZXJyaWRlIHRoZSBsb2NhbGUgb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdDsgaWYgb21pdHRlZCwgdGhlIG1ldGhvZCB3aWxsIHBpY2sgdGhlIHVuaXQuIFVzZSBvbmUgb2YgXCJ5ZWFyc1wiLCBcInF1YXJ0ZXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgb3IgXCJkYXlzXCJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gb3ZlcnJpZGUgdGhlIG51bWJlcmluZ1N5c3RlbSBvZiB0aGlzIERhdGVUaW1lLiBUaGUgSW50bCBzeXN0ZW0gbWF5IGNob29zZSBub3QgdG8gaG9ub3IgdGhpc1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoKSAvLz0+IFwidG9tb3Jyb3dcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoXCJlc1wiKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlKCkgLy89PiBcIlwibWFcdTAwRjFhbmFcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+IFwiZGVtYWluXCJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmVDYWxlbmRhcigpIC8vPT4gXCIyIGRheXMgYWdvXCJcbiAgICovXG4gIHRvUmVsYXRpdmVDYWxlbmRhcihvcHRpb25zID0ge30pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gZGlmZlJlbGF0aXZlKG9wdGlvbnMuYmFzZSB8fCBEYXRlVGltZS5mcm9tT2JqZWN0KHt9LCB7IHpvbmU6IHRoaXMuem9uZSB9KSwgdGhpcywge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG51bWVyaWM6IFwiYXV0b1wiLFxuICAgICAgdW5pdHM6IFtcInllYXJzXCIsIFwibW9udGhzXCIsIFwiZGF5c1wiXSxcbiAgICAgIGNhbGVuZGFyeTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1pbiBvZiBzZXZlcmFsIGRhdGUgdGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWluaW11bVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1pbiBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50XG4gICAqL1xuICBzdGF0aWMgbWluKC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJtaW4gcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcIik7XG4gICAgfVxuICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWluKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1heCBvZiBzZXZlcmFsIGRhdGUgdGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWF4aW11bVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1heCBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50XG4gICAqL1xuICBzdGF0aWMgbWF4KC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJtYXggcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcIik7XG4gICAgfVxuICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWF4KTtcbiAgfVxuXG4gIC8vIE1JU0NcblxuICAvKipcbiAgICogRXhwbGFpbiBob3cgYSBzdHJpbmcgd291bGQgYmUgcGFyc2VkIGJ5IGZyb21Gb3JtYXQoKVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIGRlc2NyaXB0aW9uKVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIG9wdGlvbnMgdGFrZW4gYnkgZnJvbUZvcm1hdCgpXG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRm9ybWF0RXhwbGFpbih0ZXh0LCBmbXQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCB9ID0gb3B0aW9ucyxcbiAgICAgIGxvY2FsZVRvVXNlID0gTG9jYWxlLmZyb21PcHRzKHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBudW1iZXJpbmdTeXN0ZW0sXG4gICAgICAgIGRlZmF1bHRUb0VOOiB0cnVlLFxuICAgICAgfSk7XG4gICAgcmV0dXJuIGV4cGxhaW5Gcm9tVG9rZW5zKGxvY2FsZVRvVXNlLCB0ZXh0LCBmbXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBmcm9tRm9ybWF0RXhwbGFpbiBpbnN0ZWFkXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0cmluZ0V4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdEV4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIEZPUk1BVCBQUkVTRVRTXG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgMTAvMTQvMTk4M1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX1NIT1JUKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVfU0hPUlQ7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0IDE0LCAxOTgzJ1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX01FRCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFX01FRDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmksIE9jdCAxNCwgMTk4MydcbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURV9NRURfV0lUSF9XRUVLREFZKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3RvYmVyIDE0LCAxOTgzJ1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX0ZVTEwoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURV9GVUxMO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ1R1ZXNkYXksIE9jdG9iZXIgMTQsIDE5ODMnXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IERBVEVfSFVHRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFX0hVR0U7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9TSU1QTEUoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9TSU1QTEU7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFM7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9XSVRIX0xPTkdfT0ZGU0VUKCkge1xuICAgIHJldHVybiBGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMCcsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1NJTVBMRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1NJTVBMRTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMycsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfU0VDT05EUygpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1dJVEhfU0VDT05EUztcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBFRFQnLCBhbHdheXMgMjQtaG91ci5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEVhc3Rlcm4gRGF5bGlnaHQgVGltZScsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzEwLzE0LzE5ODMsIDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfU0hPUlQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfU0hPUlQ7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMTAvMTQvMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRUQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfTUVEO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFM7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnRnJpLCAxNCBPY3QgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVk7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfRlVMTCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFVElNRV9GVUxMO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdG9iZXIgMTQsIDE5ODMsIDk6MzA6MzMgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IERBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFVElNRV9IVUdFO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMDozMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFM7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJpZW5kbHlEYXRlVGltZShkYXRlVGltZWlzaCkge1xuICBpZiAoRGF0ZVRpbWUuaXNEYXRlVGltZShkYXRlVGltZWlzaCkpIHtcbiAgICByZXR1cm4gZGF0ZVRpbWVpc2g7XG4gIH0gZWxzZSBpZiAoZGF0ZVRpbWVpc2ggJiYgZGF0ZVRpbWVpc2gudmFsdWVPZiAmJiBpc051bWJlcihkYXRlVGltZWlzaC52YWx1ZU9mKCkpKSB7XG4gICAgcmV0dXJuIERhdGVUaW1lLmZyb21KU0RhdGUoZGF0ZVRpbWVpc2gpO1xuICB9IGVsc2UgaWYgKGRhdGVUaW1laXNoICYmIHR5cGVvZiBkYXRlVGltZWlzaCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KGRhdGVUaW1laXNoKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICBgVW5rbm93biBkYXRldGltZSBhcmd1bWVudDogJHtkYXRlVGltZWlzaH0sIG9mIHR5cGUgJHt0eXBlb2YgZGF0ZVRpbWVpc2h9YFxuICAgICk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IGVtb2ppUmVnZXggZnJvbSBcImVtb2ppLXJlZ2V4XCI7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGlua1wiO1xuXG4vKiogVGVzdC1lbnZpcm9ubWVudC1mcmllbmRseSBmdW5jdGlvbiB3aGljaCBmZXRjaGVzIHRoZSBjdXJyZW50IHN5c3RlbSBsb2NhbGUuICovXG5leHBvcnQgZnVuY3Rpb24gY3VycmVudExvY2FsZSgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gXCJlbi1VU1wiO1xuICAgIHJldHVybiB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlO1xufVxuXG4vLyBEYXRlL1RpbWUgUmVuZGVyaW5nXG5cbi8qKiBOb3JtYWxpemUgYSBkdXJhdGlvbiB0byBhbGwgb2YgdGhlIHByb3BlciB1bml0cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVEdXJhdGlvbihkdXI6IER1cmF0aW9uKSB7XG4gICAgaWYgKGR1ciA9PT0gdW5kZWZpbmVkIHx8IGR1ciA9PT0gbnVsbCkgcmV0dXJuIGR1cjtcblxuICAgIHJldHVybiBkdXIuc2hpZnRUbyhcInllYXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiKS5ub3JtYWxpemUoKTtcbn1cblxuLyoqIFN0cmlwIHRoZSB0aW1lIGNvbXBvbmVudHMgb2YgYSBkYXRlIHRpbWUgb2JqZWN0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwVGltZShkdDogRGF0ZVRpbWUpOiBEYXRlVGltZSB7XG4gICAgaWYgKGR0ID09PSBudWxsIHx8IGR0ID09PSB1bmRlZmluZWQpIHJldHVybiBkdDtcblxuICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHtcbiAgICAgICAgeWVhcjogZHQueWVhcixcbiAgICAgICAgbW9udGg6IGR0Lm1vbnRoLFxuICAgICAgICBkYXk6IGR0LmRheSxcbiAgICB9KTtcbn1cblxuLyoqIFRyeSB0byBleHRyYWN0IGEgWVlZWU1NREQgZGF0ZSBmcm9tIGEgc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3REYXRlKHN0cjogc3RyaW5nKTogRGF0ZVRpbWUgfCB1bmRlZmluZWQge1xuICAgIGxldCBkYXRlTWF0Y2ggPSAvKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkvLmV4ZWMoc3RyKTtcbiAgICBpZiAoIWRhdGVNYXRjaCkgZGF0ZU1hdGNoID0gLyhcXGR7NH0pKFxcZHsyfSkoXFxkezJ9KS8uZXhlYyhzdHIpO1xuICAgIGlmIChkYXRlTWF0Y2gpIHtcbiAgICAgICAgbGV0IHllYXIgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzFdKTtcbiAgICAgICAgbGV0IG1vbnRoID0gTnVtYmVyLnBhcnNlSW50KGRhdGVNYXRjaFsyXSk7XG4gICAgICAgIGxldCBkYXkgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzNdKTtcbiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyLCBtb250aCwgZGF5IH0pO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBSZW5kZXIgYSBEYXRlVGltZSBpbiBhIG1pbmltYWwgZm9ybWF0IHRvIHNhdmUgc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWluaW1hbERhdGUodGltZTogRGF0ZVRpbWUsIGRhdGVGb3JtYXQ6IHN0cmluZywgZGF0ZVRpbWVGb3JtYXQ6IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyByZWxldmFudCB0aW1lIHNwZWNpZmllZCwgZmFsbCBiYWNrIHRvIGp1c3QgcmVuZGVyaW5nIHRoZSBkYXRlLlxuICAgIGlmICh0aW1lLnNlY29uZCA9PSAwICYmIHRpbWUubWludXRlID09IDAgJiYgdGltZS5ob3VyID09IDApIHtcbiAgICAgICAgcmV0dXJuIHRpbWUudG9Mb2NhbCgpLnRvRm9ybWF0KGRhdGVGb3JtYXQsIHsgbG9jYWxlIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aW1lLnRvTG9jYWwoKS50b0Zvcm1hdChkYXRlVGltZUZvcm1hdCwgeyBsb2NhbGUgfSk7XG59XG5cbi8qKiBSZW5kZXIgYSBkdXJhdGlvbiBpbiBhIG1pbmltYWwgZm9ybWF0IHRvIHNhdmUgc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWluaW1hbER1cmF0aW9uKGR1cjogRHVyYXRpb24pOiBzdHJpbmcge1xuICAgIGR1ciA9IG5vcm1hbGl6ZUR1cmF0aW9uKGR1cik7XG5cbiAgICAvLyBUT0RPOiBMdXhvbiBkb2VzIG5vdCBoYXZlIG11bHRpLWxpbmd1YWwvbG9jYWxlLWF3YXJlIGR1cmF0aW9uIHJlbmRlcmluZy5cbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgICBpZiAoZHVyLnllYXJzKSByZXN1bHQgKz0gYCR7ZHVyLnllYXJzfSB5ZWFycywgYDtcbiAgICBpZiAoZHVyLm1vbnRocykgcmVzdWx0ICs9IGAke2R1ci5tb250aHN9IG1vbnRocywgYDtcbiAgICBpZiAoZHVyLndlZWtzKSByZXN1bHQgKz0gYCR7ZHVyLndlZWtzfSB3ZWVrcywgYDtcbiAgICBpZiAoZHVyLmRheXMpIHJlc3VsdCArPSBgJHtkdXIuZGF5c30gZGF5cywgYDtcbiAgICBpZiAoZHVyLmhvdXJzKSByZXN1bHQgKz0gYCR7ZHVyLmhvdXJzfSBob3VycywgYDtcbiAgICBpZiAoZHVyLm1pbnV0ZXMpIHJlc3VsdCArPSBgJHtkdXIubWludXRlc30gbWludXRlcywgYDtcbiAgICBpZiAoZHVyLnNlY29uZHMpIHJlc3VsdCArPSBgJHtNYXRoLnJvdW5kKGR1ci5zZWNvbmRzKX0gc2Vjb25kcywgYDtcbiAgICBpZiAoZHVyLm1pbGxpc2Vjb25kcykgcmVzdWx0ICs9IGAke01hdGgucm91bmQoZHVyLm1pbGxpc2Vjb25kcyl9IG1zLCBgO1xuXG4gICAgaWYgKHJlc3VsdC5lbmRzV2l0aChcIiwgXCIpKSByZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsIHJlc3VsdC5sZW5ndGggLSAyKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBQYXRoIHV0aWxpdGllcy5cblxuLyoqIEdldCB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGhlIGdpdmVuIHBhdGggKGkuZS4sIGxpa2UgY29tcHV0aW5nICdwYXRoLy4uJykuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyZW50Rm9sZGVyKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5qb2luKFwiL1wiKTtcbn1cblxuLyoqIEdldCB0aGUgZmlsZSBuYW1lIGZvciB0aGUgZmlsZSByZWZlcmVuY2VkIGluIHRoZSBnaXZlbiBwYXRoLCBieSBzdHJpcHBpbmcgdGhlIHBhcmVudCBmb2xkZXJzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVOYW1lKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguaW5jbHVkZXMoXCIvXCIpID8gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIi9cIikgKyAxKSA6IHBhdGg7XG59XG5cbi8qKiBHZXQgdGhlIFwidGl0bGVcIiBmb3IgYSBmaWxlLCBieSBzdHJpcHBpbmcgb3RoZXIgcGFydHMgb2YgdGhlIHBhdGggYXMgd2VsbCBhcyB0aGUgZXh0ZW5zaW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVUaXRsZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChwYXRoLmluY2x1ZGVzKFwiL1wiKSkgcGF0aCA9IHBhdGguc3Vic3RyaW5nKHBhdGgubGFzdEluZGV4T2YoXCIvXCIpICsgMSk7XG4gICAgaWYgKHBhdGguZW5kc1dpdGgoXCIubWRcIikpIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDMpO1xuICAgIHJldHVybiBwYXRoO1xufVxuXG4vKiogR2V0IHRoZSBleHRlbnNpb24gb2YgYSBmaWxlIGZyb20gdGhlIGZpbGUgcGF0aC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb24ocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXBhdGguaW5jbHVkZXMoXCIuXCIpKSByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIi5cIikgKyAxKTtcbn1cblxuLy8gVGFnIGV4dHJhY3Rpb24uXG5cbi8qKiBQYXJzZSBhbGwgc3VidGFncyBvdXQgb2YgdGhlIGdpdmVuIHRhZy4gSS5lLiwgI2hlbGxvL2kvYW0gd291bGQgeWllbGQgWyNoZWxsby9pL2FtLCAjaGVsbG8vaSwgI2hlbGxvXS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0U3VidGFncyh0YWdzOiBzdHJpbmcgfCBJdGVyYWJsZTxzdHJpbmc+KTogc3RyaW5nW10ge1xuICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGxldCB0YWcgb2YgdHlwZW9mIHRhZ3MgPT09IFwic3RyaW5nXCIgPyBbdGFnc10gOiB0YWdzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRhZyk7XG4gICAgICAgIHdoaWxlICh0YWcuaW5jbHVkZXMoXCIvXCIpKSB7XG4gICAgICAgICAgICB0YWcgPSB0YWcuc3Vic3RyaW5nKDAsIHRhZy5sYXN0SW5kZXhPZihcIi9cIikpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godGFnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKiBTcGxpdCBlYWNoIGJsb2NrIGFuZCBzZWN0aW9uIGxpbmsgaW50byB0aGUgb3JpZ2luYWwgbGluayBhbmQgYSBjb3JyZXNwb25kaW5nIGZpbGUgbGluay4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0RmlsZUxpbmtzKGVsaW5rczogTGlua1tdKTogTGlua1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IExpbmtbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbGluayBvZiBlbGlua3MpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobGluayk7XG5cbiAgICAgICAgY29uc3QgZmlsZUxpbmsgPSBsaW5rLnRvRmlsZSgpO1xuICAgICAgICBpZiAobGluay50eXBlICE9IFwiZmlsZVwiICYmICFyZXN1bHQuZmluZCgoZXhpc3RpbmcpID0+IGV4aXN0aW5nLmVxdWFscyhmaWxlTGluaykpKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChmaWxlTGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBTdHJpbmcgZXNjYXBpbmcgYW5kIGNhbm9uaWNhbGl6YXRpb24uXG5cbi8qKlxuICogRXNjYXBlIHJlZ2V4IGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcuXG4gKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9HdWlkZS9SZWd1bGFyX0V4cHJlc3Npb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmVnZXgoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuY29uc3QgSEVBREVSX0NBTk9OSUNBTElaRVI6IFAuUGFyc2VyPHN0cmluZz4gPSBQLmFsdChcbiAgICBQLnJlZ2V4KG5ldyBSZWdFeHAoZW1vamlSZWdleCgpLCBcIlwiKSksXG4gICAgUC5yZWdleCgvWzAtOVxccHtMZXR0ZXJ9Xy1dKy91KSxcbiAgICBQLndoaXRlc3BhY2UubWFwKChfKSA9PiBcIiBcIiksXG4gICAgUC5hbnkubWFwKChfKSA9PiBcIiBcIilcbilcbiAgICAubWFueSgpXG4gICAgLm1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbihcIlwiKS5zcGxpdCgvXFxzKy8pLmpvaW4oXCIgXCIpLnRyaW0oKTtcbiAgICB9KTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIHRoZSB0ZXh0IGluIGEgaGVhZGVyIHRvIGJlIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGxpbmthYmxlIHRvLiBUaGlzIG1pbWljc1xuICogaG93IE9ic2lkaWFuIGRvZXMgaXQncyBub3JtYWxpemF0aW9uLCBjb2xsYXBzaW5nIHJlcGVhdGVkIHNwYWNlcyBhbmQgc3RyaXBwaW5nIG91dCBjb250cm9sIGNoYXJhY3RlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKGhlYWRlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSEVBREVSX0NBTk9OSUNBTElaRVIudHJ5UGFyc2UoaGVhZGVyKTtcbn1cblxuLy8gRmFzdCBleHRyYWN0aW9uIG9mIGxpbmUgcmFuZ2VzIGZyb20gbGFyZ2UgcGllY2VzIG9mIHRleHQuXG5cbi8qKiBVcGRhdGUgdGhlIGxpbmUgcmFuZ2UgZnJvbSBbc3RhcnQsIGVuZCkgd2l0aCB0aGUgZ2l2ZW4gZnVuY3Rpb24uICovXG5leHBvcnQgZnVuY3Rpb24gbGluZVJlcGxhY2UodGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgZnVuYzogKGxpbmU6IHN0cmluZykgPT4gc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBbZGF0YSwgb2Zmc2V0XSA9IGxpbmVTcGFuKHRleHQsIHN0YXJ0LCBlbmQpO1xuICAgIGlmICghb2Zmc2V0KSByZXR1cm4gdGV4dDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIGRhdGEuc3Vic3RyaW5nKDAsIG9mZnNldC5zdGFydCkgKyBmdW5jKGRhdGEuc3Vic3RyaW5nKG9mZnNldC5zdGFydCwgb2Zmc2V0LmVuZCkpICsgZGF0YS5zdWJzdHJpbmcob2Zmc2V0LmVuZClcbiAgICApO1xufVxuXG4vKiogRXh0cmFjdCB0aGUgbGluZXMgaW4gdGhlIHJhbmdlIFtzdGFydCwgZW5kKSwgYXMgd2VsbCBhcyB0aGUgYWN0dWFsIG9mZnNldHMgb2YgdGhlIHN0YXJ0IGFuZCBlbmQuICovXG5leHBvcnQgZnVuY3Rpb24gbGluZVNwYW4oXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHN0YXJ0OiBudW1iZXIsXG4gICAgZW5kOiBudW1iZXJcbik6IFtzdHJpbmcsIHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfSB8IHVuZGVmaW5lZF0ge1xuICAgIHN0YXJ0ID0gTWF0aC5tYXgoc3RhcnQsIDApO1xuICAgIGVuZCA9IE1hdGgubWF4KGVuZCwgMCk7XG5cbiAgICBpZiAoc3RhcnQgPj0gZW5kKSByZXR1cm4gW1wiXCIsIHVuZGVmaW5lZF07XG5cbiAgICAvLyBTdGFydCBieSBmaW5kaW5nIHRoZSBzdGFydGluZyBsaW5lIG9mZnNldC5cbiAgICBjb25zdCBzdGFydE9mZnNldCA9IHNraXBOZXdsaW5lcyh0ZXh0LCAwLCBzdGFydCk7XG4gICAgaWYgKHN0YXJ0T2Zmc2V0ID09IC0xKSByZXR1cm4gW1wiXCIsIHVuZGVmaW5lZF07XG5cbiAgICBjb25zdCBlbmRPZmZzZXQgPSBza2lwTmV3bGluZXModGV4dCwgc3RhcnRPZmZzZXQsIGVuZCAtIHN0YXJ0KTtcbiAgICBpZiAoZW5kT2Zmc2V0ID09IC0xKSByZXR1cm4gW3RleHQuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0KSwgeyBzdGFydDogc3RhcnRPZmZzZXQsIGVuZDogdGV4dC5sZW5ndGggfV07XG4gICAgZWxzZSByZXR1cm4gW3RleHQuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgLSAxKSwgeyBzdGFydDogc3RhcnRPZmZzZXQsIGVuZDogZW5kT2Zmc2V0IC0gMSB9XTtcbn1cblxuLyoqIEV4dHJhY3QgdGhlIGxpbmVzIGluIHRoZSByYW5nZSBbc3RhcnQsIGVuZCkuIFN0YXJ0IGlzIGluY2x1c2l2ZSwgZW5kIGlzIGV4Y2x1c2l2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaW5lUmFuZ2UodGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxpbmVTcGFuKHRleHQsIHN0YXJ0LCBlbmQpWzBdO1xufVxuXG4vKiogU2tpcCB7Y291bnR9IHRvdGFsIG5ld2xpbmVzLCByZXR1cm5pbmcgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIHtjb3VudH0gbGluZXMgYWZ0ZXIgdGhlIGN1cnJlbnQgbGluZS4gSWYgY291bnQgaXMgMCwgdGhlIGluaXRpYWwgb2Zmc2V0IGlzIHJldHVybmVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNraXBOZXdsaW5lcyh0ZXh0OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChjb3VudCA9PSAwKSByZXR1cm4gc3RhcnQ7XG5cbiAgICBsZXQgcG9zaXRpb24gPSBzdGFydDtcbiAgICB3aGlsZSAoY291bnQgPiAwKSB7XG4gICAgICAgIHBvc2l0aW9uID0gdGV4dC5pbmRleE9mKFwiXFxuXCIsIHBvc2l0aW9uKTtcbiAgICAgICAgaWYgKHBvc2l0aW9uID09IC0xKSByZXR1cm4gLTE7XG5cbiAgICAgICAgY291bnQtLTtcbiAgICAgICAgcG9zaXRpb24gKz0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zaXRpb247XG59XG4iLCAiZXhwb3J0IGRlZmF1bHQgKCkgPT4ge1xuXHQvLyBodHRwczovL210aHMuYmUvZW1vamlcblx0cmV0dXJuIC9bIyowLTldXFx1RkUwRj9cXHUyMEUzfFtcXHhBOVxceEFFXFx1MjAzQ1xcdTIwNDlcXHUyMTIyXFx1MjEzOVxcdTIxOTQtXFx1MjE5OVxcdTIxQTlcXHUyMUFBXFx1MjMxQVxcdTIzMUJcXHUyMzI4XFx1MjNDRlxcdTIzRUQtXFx1MjNFRlxcdTIzRjFcXHUyM0YyXFx1MjNGOC1cXHUyM0ZBXFx1MjRDMlxcdTI1QUFcXHUyNUFCXFx1MjVCNlxcdTI1QzBcXHUyNUZCXFx1MjVGQ1xcdTI1RkVcXHUyNjAwLVxcdTI2MDRcXHUyNjBFXFx1MjYxMVxcdTI2MTRcXHUyNjE1XFx1MjYxOFxcdTI2MjBcXHUyNjIyXFx1MjYyM1xcdTI2MjZcXHUyNjJBXFx1MjYyRVxcdTI2MkZcXHUyNjM4LVxcdTI2M0FcXHUyNjQwXFx1MjY0MlxcdTI2NDgtXFx1MjY1M1xcdTI2NUZcXHUyNjYwXFx1MjY2M1xcdTI2NjVcXHUyNjY2XFx1MjY2OFxcdTI2N0JcXHUyNjdFXFx1MjY3RlxcdTI2OTJcXHUyNjk0LVxcdTI2OTdcXHUyNjk5XFx1MjY5QlxcdTI2OUNcXHUyNkEwXFx1MjZBN1xcdTI2QUFcXHUyNkIwXFx1MjZCMVxcdTI2QkRcXHUyNkJFXFx1MjZDNFxcdTI2QzhcXHUyNkNGXFx1MjZEMVxcdTI2RTlcXHUyNkYwLVxcdTI2RjVcXHUyNkY3XFx1MjZGOFxcdTI2RkFcXHUyNzAyXFx1MjcwOFxcdTI3MDlcXHUyNzBGXFx1MjcxMlxcdTI3MTRcXHUyNzE2XFx1MjcxRFxcdTI3MjFcXHUyNzMzXFx1MjczNFxcdTI3NDRcXHUyNzQ3XFx1Mjc1N1xcdTI3NjNcXHUyN0ExXFx1MjkzNFxcdTI5MzVcXHUyQjA1LVxcdTJCMDdcXHUyQjFCXFx1MkIxQ1xcdTJCNTVcXHUzMDMwXFx1MzAzRFxcdTMyOTdcXHUzMjk5XVxcdUZFMEY/fFtcXHUyNjFEXFx1MjcwQ1xcdTI3MERdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpP3xbXFx1MjcwQVxcdTI3MEJdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdTIzRTktXFx1MjNFQ1xcdTIzRjBcXHUyM0YzXFx1MjVGRFxcdTI2OTNcXHUyNkExXFx1MjZBQlxcdTI2QzVcXHUyNkNFXFx1MjZENFxcdTI2RUFcXHUyNkZEXFx1MjcwNVxcdTI3MjhcXHUyNzRDXFx1Mjc0RVxcdTI3NTMtXFx1Mjc1NVxcdTI3OTUtXFx1Mjc5N1xcdTI3QjBcXHUyN0JGXFx1MkI1MF18XFx1MjZEM1xcdUZFMEY/KD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E1KT98XFx1MjZGOSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98XFx1Mjc2NFxcdUZFMEY/KD86XFx1MjAwRCg/OlxcdUQ4M0RcXHVERDI1fFxcdUQ4M0VcXHVERTc5KSk/fFxcdUQ4M0MoPzpbXFx1REMwNFxcdURENzBcXHVERDcxXFx1REQ3RVxcdUREN0ZcXHVERTAyXFx1REUzN1xcdURGMjFcXHVERjI0LVxcdURGMkNcXHVERjM2XFx1REY3RFxcdURGOTZcXHVERjk3XFx1REY5OS1cXHVERjlCXFx1REY5RVxcdURGOUZcXHVERkNEXFx1REZDRVxcdURGRDQtXFx1REZERlxcdURGRjVcXHVERkY3XVxcdUZFMEY/fFtcXHVERjg1XFx1REZDMlxcdURGQzddKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdURGQzRcXHVERkNBXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERkNCXFx1REZDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVEQ0NGXFx1REQ4RVxcdUREOTEtXFx1REQ5QVxcdURFMDFcXHVERTFBXFx1REUyRlxcdURFMzItXFx1REUzNlxcdURFMzgtXFx1REUzQVxcdURFNTBcXHVERTUxXFx1REYwMC1cXHVERjIwXFx1REYyRC1cXHVERjM1XFx1REYzNy1cXHVERjQzXFx1REY0NS1cXHVERjRBXFx1REY0Qy1cXHVERjdDXFx1REY3RS1cXHVERjg0XFx1REY4Ni1cXHVERjkzXFx1REZBMC1cXHVERkMxXFx1REZDNVxcdURGQzZcXHVERkM4XFx1REZDOVxcdURGQ0YtXFx1REZEM1xcdURGRTAtXFx1REZGMFxcdURGRjgtXFx1REZGRl18XFx1RERFNlxcdUQ4M0NbXFx1RERFOC1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREYyXFx1RERGNFxcdURERjYtXFx1RERGQVxcdURERkNcXHVEREZEXFx1RERGRl18XFx1RERFN1xcdUQ4M0NbXFx1RERFNlxcdURERTdcXHVEREU5LVxcdURERUZcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkVcXHVEREZGXXxcXHVEREU4XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERUVcXHVEREYwLVxcdURERjdcXHVEREZBLVxcdURERkZdfFxcdURERTlcXHVEODNDW1xcdURERUFcXHVEREVDXFx1RERFRlxcdURERjBcXHVEREYyXFx1RERGNFxcdURERkZdfFxcdURERUFcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVEXFx1RERGNy1cXHVEREZBXXxcXHVEREVCXFx1RDgzQ1tcXHVEREVFLVxcdURERjBcXHVEREYyXFx1RERGNFxcdURERjddfFxcdURERUNcXHVEODNDW1xcdURERTZcXHVEREU3XFx1RERFOS1cXHVEREVFXFx1RERGMS1cXHVEREYzXFx1RERGNS1cXHVEREZBXFx1RERGQ1xcdURERkVdfFxcdURERURcXHVEODNDW1xcdURERjBcXHVEREYyXFx1RERGM1xcdURERjdcXHVEREY5XFx1RERGQV18XFx1RERFRVxcdUQ4M0NbXFx1RERFOC1cXHVEREVBXFx1RERGMS1cXHVEREY0XFx1RERGNi1cXHVEREY5XXxcXHVEREVGXFx1RDgzQ1tcXHVEREVBXFx1RERGMlxcdURERjRcXHVEREY1XXxcXHVEREYwXFx1RDgzQ1tcXHVEREVBXFx1RERFQy1cXHVEREVFXFx1RERGMlxcdURERjNcXHVEREY1XFx1RERGN1xcdURERkNcXHVEREZFXFx1RERGRl18XFx1RERGMVxcdUQ4M0NbXFx1RERFNi1cXHVEREU4XFx1RERFRVxcdURERjBcXHVEREY3LVxcdURERkJcXHVEREZFXXxcXHVEREYyXFx1RDgzQ1tcXHVEREU2XFx1RERFOC1cXHVEREVEXFx1RERGMC1cXHVEREZGXXxcXHVEREYzXFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUEtXFx1RERFQ1xcdURERUVcXHVEREYxXFx1RERGNFxcdURERjVcXHVEREY3XFx1RERGQVxcdURERkZdfFxcdURERjRcXHVEODNDXFx1RERGMnxcXHVEREY1XFx1RDgzQ1tcXHVEREU2XFx1RERFQS1cXHVEREVEXFx1RERGMC1cXHVEREYzXFx1RERGNy1cXHVEREY5XFx1RERGQ1xcdURERkVdfFxcdURERjZcXHVEODNDXFx1RERFNnxcXHVEREY3XFx1RDgzQ1tcXHVEREVBXFx1RERGNFxcdURERjhcXHVEREZBXFx1RERGQ118XFx1RERGOFxcdUQ4M0NbXFx1RERFNi1cXHVEREVBXFx1RERFQy1cXHVEREY0XFx1RERGNy1cXHVEREY5XFx1RERGQlxcdURERkQtXFx1RERGRl18XFx1RERGOVxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREU5XFx1RERFQi1cXHVEREVEXFx1RERFRi1cXHVEREY0XFx1RERGN1xcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkZdfFxcdURERkFcXHVEODNDW1xcdURERTZcXHVEREVDXFx1RERGMlxcdURERjNcXHVEREY4XFx1RERGRVxcdURERkZdfFxcdURERkJcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVFXFx1RERGM1xcdURERkFdfFxcdURERkNcXHVEODNDW1xcdURERUJcXHVEREY4XXxcXHVEREZEXFx1RDgzQ1xcdURERjB8XFx1RERGRVxcdUQ4M0NbXFx1RERFQVxcdURERjldfFxcdURERkZcXHVEODNDW1xcdURERTZcXHVEREYyXFx1RERGQ118XFx1REY0NCg/OlxcdTIwMERcXHVEODNEXFx1REZFQik/fFxcdURGNEIoPzpcXHUyMDBEXFx1RDgzRFxcdURGRTkpP3xcXHVERkMzKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVERkYzXFx1RkUwRj8oPzpcXHUyMDBEKD86XFx1MjZBN1xcdUZFMEY/fFxcdUQ4M0NcXHVERjA4KSk/fFxcdURGRjQoPzpcXHUyMDBEXFx1MjYyMFxcdUZFMEY/fFxcdURCNDBcXHVEQzY3XFx1REI0MFxcdURDNjJcXHVEQjQwKD86XFx1REM2NVxcdURCNDBcXHVEQzZFXFx1REI0MFxcdURDNjd8XFx1REM3M1xcdURCNDBcXHVEQzYzXFx1REI0MFxcdURDNzR8XFx1REM3N1xcdURCNDBcXHVEQzZDXFx1REI0MFxcdURDNzMpXFx1REI0MFxcdURDN0YpPyl8XFx1RDgzRCg/OltcXHVEQzNGXFx1RENGRFxcdURENDlcXHVERDRBXFx1REQ2RlxcdURENzBcXHVERDczXFx1REQ3Ni1cXHVERDc5XFx1REQ4N1xcdUREOEEtXFx1REQ4RFxcdUREQTVcXHVEREE4XFx1RERCMVxcdUREQjJcXHVEREJDXFx1RERDMi1cXHVEREM0XFx1REREMS1cXHVEREQzXFx1REREQy1cXHVERERFXFx1RERFMVxcdURERTNcXHVEREU4XFx1RERFRlxcdURERjNcXHVEREZBXFx1REVDQlxcdURFQ0QtXFx1REVDRlxcdURFRTAtXFx1REVFNVxcdURFRTlcXHVERUYwXFx1REVGM11cXHVGRTBGP3xbXFx1REM0MlxcdURDNDNcXHVEQzQ2LVxcdURDNTBcXHVEQzY2XFx1REM2N1xcdURDNkItXFx1REM2RFxcdURDNzJcXHVEQzc0LVxcdURDNzZcXHVEQzc4XFx1REM3Q1xcdURDODNcXHVEQzg1XFx1REM4RlxcdURDOTFcXHVEQ0FBXFx1REQ3QVxcdUREOTVcXHVERDk2XFx1REU0Q1xcdURFNEZcXHVERUMwXFx1REVDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REM2RVxcdURDNzBcXHVEQzcxXFx1REM3M1xcdURDNzdcXHVEQzgxXFx1REM4MlxcdURDODZcXHVEQzg3XFx1REU0NS1cXHVERTQ3XFx1REU0QlxcdURFNERcXHVERTRFXFx1REVBM1xcdURFQjRcXHVERUI1XSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDc0XFx1REQ5MF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/fFtcXHVEQzAwLVxcdURDMDdcXHVEQzA5LVxcdURDMTRcXHVEQzE2LVxcdURDMjVcXHVEQzI3LVxcdURDM0FcXHVEQzNDLVxcdURDM0VcXHVEQzQwXFx1REM0NFxcdURDNDVcXHVEQzUxLVxcdURDNjVcXHVEQzZBXFx1REM3OS1cXHVEQzdCXFx1REM3RC1cXHVEQzgwXFx1REM4NFxcdURDODgtXFx1REM4RVxcdURDOTBcXHVEQzkyLVxcdURDQTlcXHVEQ0FCLVxcdURDRkNcXHVEQ0ZGLVxcdUREM0RcXHVERDRCLVxcdURENEVcXHVERDUwLVxcdURENjdcXHVEREE0XFx1RERGQi1cXHVERTJEXFx1REUyRi1cXHVERTM0XFx1REUzNy1cXHVERTQxXFx1REU0M1xcdURFNDRcXHVERTQ4LVxcdURFNEFcXHVERTgwLVxcdURFQTJcXHVERUE0LVxcdURFQjNcXHVERUI3LVxcdURFQkZcXHVERUMxLVxcdURFQzVcXHVERUQwLVxcdURFRDJcXHVERUQ1LVxcdURFRDdcXHVERURDLVxcdURFREZcXHVERUVCXFx1REVFQ1xcdURFRjQtXFx1REVGQ1xcdURGRTAtXFx1REZFQlxcdURGRjBdfFxcdURDMDgoPzpcXHUyMDBEXFx1MkIxQik/fFxcdURDMTUoPzpcXHUyMDBEXFx1RDgzRVxcdUREQkEpP3xcXHVEQzI2KD86XFx1MjAwRCg/OlxcdTJCMUJ8XFx1RDgzRFxcdUREMjUpKT98XFx1REMzQig/OlxcdTIwMERcXHUyNzQ0XFx1RkUwRj8pP3xcXHVEQzQxXFx1RkUwRj8oPzpcXHUyMDBEXFx1RDgzRFxcdURERThcXHVGRTBGPyk/fFxcdURDNjgoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OHxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XVxcdTIwMERcXHVEODNEKD86XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkMtXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdKSkpP3xcXHVERkZEKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRV0pKSk/KSk/fFxcdURDNjkoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/W1xcdURDNjhcXHVEQzY5XXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pP3xcXHVEQzY5XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KSl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSkpKT8pKT98XFx1REM2Rig/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERDc1KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERTJFKD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E4KT98XFx1REUzNSg/OlxcdTIwMERcXHVEODNEXFx1RENBQik/fFxcdURFMzYoPzpcXHUyMDBEXFx1RDgzQ1xcdURGMkJcXHVGRTBGPyk/fFxcdURFNDIoPzpcXHUyMDBEW1xcdTIxOTRcXHUyMTk1XVxcdUZFMEY/KT98XFx1REVCNig/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRCg/OltcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xcXHUyN0ExXFx1RkUwRj8pKT8pfFxcdUQ4M0UoPzpbXFx1REQwQ1xcdUREMEZcXHVERDE4LVxcdUREMUZcXHVERDMwLVxcdUREMzRcXHVERDM2XFx1REQ3N1xcdUREQjVcXHVEREI2XFx1RERCQlxcdURERDJcXHVEREQzXFx1RERENVxcdURFQzMtXFx1REVDNVxcdURFRjBcXHVERUYyLVxcdURFRjhdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdUREMjZcXHVERDM1XFx1REQzNy1cXHVERDM5XFx1REQzRFxcdUREM0VcXHVEREI4XFx1RERCOVxcdUREQ0RcXHVERENGXFx1RERENFxcdURERDYtXFx1RERERF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1RERERVxcdUREREZdKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDBEXFx1REQwRVxcdUREMTAtXFx1REQxN1xcdUREMjAtXFx1REQyNVxcdUREMjctXFx1REQyRlxcdUREM0FcXHVERDNGLVxcdURENDVcXHVERDQ3LVxcdURENzZcXHVERDc4LVxcdUREQjRcXHVEREI3XFx1RERCQVxcdUREQkMtXFx1RERDQ1xcdURERDBcXHVEREUwLVxcdURERkZcXHVERTcwLVxcdURFN0NcXHVERTgwLVxcdURFODlcXHVERThGLVxcdURFQzJcXHVERUM2XFx1REVDRS1cXHVERURDXFx1REVERi1cXHVERUU5XXxcXHVERDNDKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGP3xcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xcXHVERENFKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVEREQxKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEREQxXFx1MjAwRFxcdUQ4M0VcXHVEREQyKD86XFx1MjAwRFxcdUQ4M0VcXHVEREQyKT98XFx1REREMig/OlxcdTIwMERcXHVEODNFXFx1REREMik/KSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRV18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT8pKT98XFx1REVGMSg/OlxcdUQ4M0MoPzpcXHVERkZCKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKT98XFx1REZGQyg/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pP3xcXHVERkZEKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSk/fFxcdURGRkUoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKT98XFx1REZGRig/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSk/KSk/KS9nO1xufTtcbiIsICJpbXBvcnQgeyBnZXRGaWxlVGl0bGUsIG5vcm1hbGl6ZUhlYWRlckZvckxpbmsgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcblxuLyoqIFRoZSBPYnNpZGlhbiAnbGluaycsIHVzZWQgZm9yIHVuaXF1ZWx5IGRlc2NyaWJpbmcgYSBmaWxlLCBoZWFkZXIsIG9yIGJsb2NrLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgY2xhc3MgTGluayB7XG4gICAgLyoqIFRoZSBmaWxlIHBhdGggdGhpcyBsaW5rIHBvaW50cyB0by4gKi9cbiAgICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZGlzcGxheSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay4gKi9cbiAgICBwdWJsaWMgZGlzcGxheT86IHN0cmluZztcbiAgICAvKiogVGhlIGJsb2NrIElEIG9yIGhlYWRlciB0aGlzIGxpbmsgcG9pbnRzIHRvIHdpdGhpbiBhIGZpbGUsIGlmIHJlbGV2YW50LiAqL1xuICAgIHB1YmxpYyBzdWJwYXRoPzogc3RyaW5nO1xuICAgIC8qKiBJcyB0aGlzIGxpbmsgYW4gZW1iZWRkZWQgbGluayAob2YgZm9ybSAnIVtbaGVsbG9dXScpPyAqL1xuICAgIHB1YmxpYyBlbWJlZDogYm9vbGVhbjtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBsaW5rLCB3aGljaCBkZXRlcm1pbmVzIHdoYXQgJ3N1YnBhdGgnIHJlZmVycyB0bywgaWYgYW55dGhpbmcuICovXG4gICAgcHVibGljIHR5cGU6IFwiZmlsZVwiIHwgXCJoZWFkZXJcIiB8IFwiYmxvY2tcIjtcblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgc3BlY2lmaWMgZmlsZS4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGZpbGUocGF0aDogc3RyaW5nLCBlbWJlZDogYm9vbGVhbiA9IGZhbHNlLCBkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayh7XG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgZW1iZWQsXG4gICAgICAgICAgICBkaXNwbGF5LFxuICAgICAgICAgICAgc3VicGF0aDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHlwZTogXCJmaWxlXCIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBJbmZlciB0aGUgdHlwZSBvZiB0aGUgbGluayBmcm9tIHRoZSBmdWxsIGludGVybmFsIGxpbmsgcGF0aC4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZmVyKGxpbmtwYXRoOiBzdHJpbmcsIGVtYmVkOiBib29sZWFuID0gZmFsc2UsIGRpc3BsYXk/OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgaWYgKGxpbmtwYXRoLmluY2x1ZGVzKFwiI15cIikpIHtcbiAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KFwiI15cIik7XG4gICAgICAgICAgICByZXR1cm4gTGluay5ibG9jayhzcGxpdFswXSwgc3BsaXRbMV0sIGVtYmVkLCBkaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIGlmIChsaW5rcGF0aC5pbmNsdWRlcyhcIiNcIikpIHtcbiAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KFwiI1wiKTtcbiAgICAgICAgICAgIHJldHVybiBMaW5rLmhlYWRlcihzcGxpdFswXSwgc3BsaXRbMV0sIGVtYmVkLCBkaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIHJldHVybiBMaW5rLmZpbGUobGlua3BhdGgsIGVtYmVkLCBkaXNwbGF5KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGhlYWRlciBpbiB0aGF0IGZpbGUuICovXG4gICAgcHVibGljIHN0YXRpYyBoZWFkZXIocGF0aDogc3RyaW5nLCBoZWFkZXI6IHN0cmluZywgZW1iZWQ/OiBib29sZWFuLCBkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIC8vIEhlYWRlcnMgbmVlZCB0byBiZSBub3JtYWxpemVkIHRvIGFscGhhLW51bWVyaWMgJiB3aXRoIGV4dHJhIHNwYWNpbmcgcmVtb3ZlZC5cbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBlbWJlZCxcbiAgICAgICAgICAgIGRpc3BsYXksXG4gICAgICAgICAgICBzdWJwYXRoOiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKGhlYWRlciksXG4gICAgICAgICAgICB0eXBlOiBcImhlYWRlclwiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGJsb2NrIGluIHRoYXQgZmlsZS4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGJsb2NrKHBhdGg6IHN0cmluZywgYmxvY2tJZDogc3RyaW5nLCBlbWJlZD86IGJvb2xlYW4sIGRpc3BsYXk/OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBlbWJlZCxcbiAgICAgICAgICAgIGRpc3BsYXksXG4gICAgICAgICAgICBzdWJwYXRoOiBibG9ja0lkLFxuICAgICAgICAgICAgdHlwZTogXCJibG9ja1wiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogTG9hZCBhIGxpbmsgZnJvbSBpdCdzIHJhdyBKU09OIHJlcHJlc2VudGF0aW9uLiAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbU9iamVjdChvYmplY3Q6IEpzb25MaW5rKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayhvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIGJ5IHBhcnNpbmcgaXQncyBpbnRlcmlvciBwYXJ0IChpbnNpZGUgb2YgdGhlICdbW11dJykuICovXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZUlubmVyKHJhd2xpbms6IHN0cmluZyk6IExpbmsge1xuICAgICAgICBsZXQgW2xpbmssIGRpc3BsYXldID0gc3BsaXRPblVuZXNjYXBlZFBpcGUocmF3bGluayk7XG4gICAgICAgIHJldHVybiBMaW5rLmluZmVyKGxpbmssIGZhbHNlLCBkaXNwbGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGZpZWxkczogUGFydGlhbDxMaW5rPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGZpZWxkcyk7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSB0aGlzIGxpbmsgd2l0aCBhIG5ldyBwYXRoLiAqL1xuICAgIHB1YmxpYyB3aXRoUGF0aChwYXRoOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKE9iamVjdC5hc3NpZ24oe30sIHRoaXMsIHsgcGF0aCB9KSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIG5ldyBsaW5rIHdoaWNoIHBvaW50cyB0byB0aGUgc2FtZSBsb2NhdGlvbiBidXQgd2l0aCBhIG5ldyBkaXNwbGF5IHZhbHVlLiAqL1xuICAgIHB1YmxpYyB3aXRoRGlzcGxheShkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayhPYmplY3QuYXNzaWduKHt9LCB0aGlzLCB7IGRpc3BsYXkgfSkpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBuZXcgbGluayB3aGljaCBoYXMgdGhlIGdpdmVuIGVtYmVkZGVkIHN0YXR1cy4gKi9cbiAgICBwdWJsaWMgd2l0aEVtYmVkKGVtYmVkOiBib29sZWFuKTogTGluayB7XG4gICAgICAgIGlmICh0aGlzLmVtYmVkID09IGVtYmVkKSByZXR1cm4gdGhpcztcblxuICAgICAgICByZXR1cm4gbmV3IExpbmsoT2JqZWN0LmFzc2lnbih7fSwgdGhpcywgeyBlbWJlZCB9KSk7XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgYSBmaWxlIGxpbmsgaW50byBhIGxpbmsgdG8gYSBzcGVjaWZpYyBoZWFkZXIuICovXG4gICAgcHVibGljIHdpdGhIZWFkZXIoaGVhZGVyOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHRoaXMucGF0aCwgaGVhZGVyLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGEgZmlsZSBsaW5rIGludG8gYSBsaW5rIHRvIGEgc3BlY2lmaWNiIGxvY2suICovXG4gICAgcHVibGljIHdpdGhCbG9jayhibG9jazogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmJsb2NrKHRoaXMucGF0aCwgYmxvY2ssIHRoaXMuZW1iZWQsIHRoaXMuZGlzcGxheSk7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyBmb3IgbGluayBlcXVhbGl0eSAoaS5lLiwgdGhhdCB0aGUgbGlua3MgYXJlIHBvaW50aW5nIHRvIHRoZSBzYW1lIGV4YWN0IGxvY2F0aW9uKS4gKi9cbiAgICBwdWJsaWMgZXF1YWxzKG90aGVyOiBMaW5rKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChvdGhlciA9PSB1bmRlZmluZWQgfHwgb3RoZXIgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBhdGggPT0gb3RoZXIucGF0aCAmJiB0aGlzLnR5cGUgPT0gb3RoZXIudHlwZSAmJiB0aGlzLnN1YnBhdGggPT0gb3RoZXIuc3VicGF0aDtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gaXQncyBtYXJrZG93biByZXByZXNlbnRhdGlvbi4gKi9cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFya2Rvd24oKTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gYSByYXcgb2JqZWN0IHdoaWNoIGlzIHNlcmlhbGl6YXRpb24tZnJpZW5kbHkuICovXG4gICAgcHVibGljIHRvT2JqZWN0KCk6IEpzb25MaW5rIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgICAgIHN1YnBhdGg6IHRoaXMuc3VicGF0aCxcbiAgICAgICAgICAgIGRpc3BsYXk6IHRoaXMuZGlzcGxheSxcbiAgICAgICAgICAgIGVtYmVkOiB0aGlzLmVtYmVkLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGFueSBsaW5rIGludG8gYSBsaW5rIHRvIGl0cyBmaWxlLiAqL1xuICAgIHB1YmxpYyB0b0ZpbGUoKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUodGhpcy5wYXRoLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IHRoaXMgbGluayBpbnRvIGFuIGVtYmVkZGVkIGxpbmsuICovXG4gICAgcHVibGljIHRvRW1iZWQoKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhFbWJlZCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhIG5vbi1lbWJlZGRlZCBsaW5rLiAqL1xuICAgIHB1YmxpYyBmcm9tRW1iZWQoKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhFbWJlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgdGhpcyBsaW5rIHRvIG1hcmtkb3duIHNvIGl0IGNhbiBiZSByZW5kZXJlZC4gKi9cbiAgICBwdWJsaWMgbWFya2Rvd24oKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICh0aGlzLmVtYmVkID8gXCIhXCIgOiBcIlwiKSArIFwiW1tcIiArIHRoaXMub2JzaWRpYW5MaW5rKCk7XG4gICAgICAgIHJlc3VsdCArPSBcInxcIjtcbiAgICAgICAgcmVzdWx0ICs9IHRoaXMuZGlzcGxheU9yRGVmYXVsdCgpO1xuICAgICAgICByZXN1bHQgKz0gXCJdXVwiO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gdGhlIGRpc3BsYXkgZm9yIHRoaXMgbGluayBpZiBwcmVzZW50LCBvciByZXR1cm4gYSBzaW1wbGUgZGVmYXVsdCBkaXNwbGF5LiAqL1xuICAgIHB1YmxpYyBkaXNwbGF5T3JEZWZhdWx0KCkge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpO1xuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBcImhlYWRlclwiIHx8IHRoaXMudHlwZSA9PSBcImJsb2NrXCIpIHJlc3VsdCArPSBcIiA+IFwiICsgdGhpcy5zdWJwYXRoO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgdGhlIGlubmVyIHBhcnQgb2YgdGhlIGxpbmsgdG8gc29tZXRoaW5nIHRoYXQgT2JzaWRpYW4gY2FuIG9wZW4gLyB1bmRlcnN0YW5kLiAqL1xuICAgIHB1YmxpYyBvYnNpZGlhbkxpbmsoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZXNjYXBlZCA9IHRoaXMucGF0aC5yZXBsYWNlKFwifFwiLCBcIlxcXFx8XCIpO1xuICAgICAgICBpZiAodGhpcy50eXBlID09IFwiaGVhZGVyXCIpIHJldHVybiBlc2NhcGVkICsgXCIjXCIgKyB0aGlzLnN1YnBhdGg/LnJlcGxhY2UoXCJ8XCIsIFwiXFxcXHxcIik7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gXCJibG9ja1wiKSByZXR1cm4gZXNjYXBlZCArIFwiI15cIiArIHRoaXMuc3VicGF0aD8ucmVwbGFjZShcInxcIiwgXCJcXFxcfFwiKTtcbiAgICAgICAgZWxzZSByZXR1cm4gZXNjYXBlZDtcbiAgICB9XG5cbiAgICAvKiogVGhlIHN0cmlwcGVkIG5hbWUgb2YgdGhlIGZpbGUgdGhpcyBsaW5rIHBvaW50cyB0by4gKi9cbiAgICBwdWJsaWMgZmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpO1xuICAgIH1cbn1cblxuLyoqIFNlcmlhbGl6ZWQgZm9ybSBvZiBhIGxpbmsuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkxpbmsge1xuICAgIC8qKiBUaGUgZmlsZSBwYXRoIHRoaXMgbGluayBwb2ludHMgdG8uICovXG4gICAgcGF0aDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZGlzcGxheSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay4gKi9cbiAgICBkaXNwbGF5Pzogc3RyaW5nO1xuICAgIC8qKiBUaGUgYmxvY2sgSUQgb3IgaGVhZGVyIHRoaXMgbGluayBwb2ludHMgdG8gd2l0aGluIGEgZmlsZSwgaWYgcmVsZXZhbnQuICovXG4gICAgc3VicGF0aD86IHN0cmluZztcbiAgICAvKiogSXMgdGhpcyBsaW5rIGFuIGVtYmVkZGVkIGxpbmsgKG9mIGZvcm0gJyFbW2hlbGxvXV0nKT8gKi9cbiAgICBlbWJlZDogYm9vbGVhbjtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBsaW5rLCB3aGljaCBkZXRlcm1pbmVzIHdoYXQgJ3N1YnBhdGgnIHJlZmVycyB0bywgaWYgYW55dGhpbmcuICovXG4gICAgdHlwZTogXCJmaWxlXCIgfCBcImhlYWRlclwiIHwgXCJibG9ja1wiO1xufVxuXG4vKiogU3BsaXQgb24gdW5lc2NhcGVkIHBpcGVzIGluIGFuIGlubmVyIGxpbmsuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdE9uVW5lc2NhcGVkUGlwZShsaW5rOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWRdIHtcbiAgICBsZXQgcGlwZSA9IC0xO1xuICAgIHdoaWxlICgocGlwZSA9IGxpbmsuaW5kZXhPZihcInxcIiwgcGlwZSArIDEpKSA+PSAwKSB7XG4gICAgICAgIGlmIChwaXBlID4gMCAmJiBsaW5rW3BpcGUgLSAxXSA9PSBcIlxcXFxcIikgY29udGludWU7XG4gICAgICAgIHJldHVybiBbbGluay5zdWJzdHJpbmcoMCwgcGlwZSkucmVwbGFjZSgvXFxcXFxcfC9nLCBcInxcIiksIGxpbmsuc3Vic3RyaW5nKHBpcGUgKyAxKV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtsaW5rLnJlcGxhY2UoL1xcXFxcXHwvZywgXCJ8XCIpLCB1bmRlZmluZWRdO1xufVxuIiwgImltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IHtcbiAgICBCaW5hcnlPcCxcbiAgICBFeHByZXNzaW9uLFxuICAgIEV4cHJlc3Npb25zLFxuICAgIExhbWJkYUV4cHJlc3Npb24sXG4gICAgTGlzdEV4cHJlc3Npb24sXG4gICAgTGl0ZXJhbEV4cHJlc3Npb24sXG4gICAgT2JqZWN0RXhwcmVzc2lvbixcbiAgICBWYXJpYWJsZUV4cHJlc3Npb24sXG59IGZyb20gXCIuL2V4cHJlc3Npb25cIjtcbmltcG9ydCBlbW9qaVJlZ2V4IGZyb20gXCJlbW9qaS1yZWdleFwiO1xuaW1wb3J0IHtcbiAgICBJbmRleENoaWxkT2YsXG4gICAgSW5kZXhQYXRoLFxuICAgIEluZGV4SWQsXG4gICAgSW5kZXhOb3QsXG4gICAgSW5kZXhQYXJlbnRPZixcbiAgICBJbmRleFF1ZXJ5LFxuICAgIEluZGV4VGFnZ2VkLFxuICAgIEluZGV4VHlwZWQsXG4gICAgSW5kZXhMaW5rZWQsXG4gICAgSW5kZXhGaWVsZCxcbiAgICBJbmRleEV4cHJlc3Npb24sXG59IGZyb20gXCJpbmRleC90eXBlcy9pbmRleC1xdWVyeVwiO1xuaW1wb3J0IHsgbm9ybWFsaXplRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7IExpdGVyYWwgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUGFyc2luZyBQcmltaXRpdmVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFByaW1pdGl2ZSBwYXJzaW5nIGZvciBjb21tb25seSBzZWVuIHR5cGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmltaXRpdmVzTGFuZ3VhZ2Uge1xuICAgIG51bWJlcjogbnVtYmVyO1xuICAgIHN0cmluZzogc3RyaW5nO1xuICAgIGVzY2FwZUNoYXJhY3Rlcjogc3RyaW5nO1xuICAgIGJvb2w6IGJvb2xlYW47XG4gICAgdGFnOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGxpbms6IExpbms7XG4gICAgZW1iZWRMaW5rOiBMaW5rO1xuICAgIHJvb3REYXRlOiBEYXRlVGltZTtcbiAgICBkYXRlU2hvcnRoYW5kOiBrZXlvZiB0eXBlb2YgREFURV9TSE9SVEhBTkRTO1xuICAgIGRhdGU6IERhdGVUaW1lO1xuICAgIGRhdGVQbHVzOiBEYXRlVGltZTtcbiAgICBkdXJhdGlvblR5cGU6IGtleW9mIHR5cGVvZiBEVVJBVElPTl9UWVBFUztcbiAgICBkdXJhdGlvbjogRHVyYXRpb247XG4gICAgcmF3TnVsbDogc3RyaW5nO1xuXG4gICAgYmluYXJ5UGx1c01pbnVzOiBCaW5hcnlPcDtcbiAgICBiaW5hcnlNdWxEaXY6IEJpbmFyeU9wO1xuICAgIGJpbmFyeUNvbXBhcmVPcDogQmluYXJ5T3A7XG4gICAgYmluYXJ5QW5kT3A6IEJpbmFyeU9wO1xuICAgIGJpbmFyeU9yT3A6IEJpbmFyeU9wO1xuXG4gICAgLy8gTGl0ZXJhbCBmaWVsZCBwYXJzaW5nIGZvciBpbmdlc3RpbmcgaW5saW5lIGZpZWxkcyBhbmQgZnJvbnRtYXR0ZXIuXG4gICAgYXRvbUlubGluZUZpZWxkOiBMaXRlcmFsO1xuICAgIGlubGluZUZpZWxkTGlzdDogTGl0ZXJhbFtdO1xuICAgIGlubGluZUZpZWxkOiBMaXRlcmFsO1xufVxuXG4vKiogSW1wbGVtZW50YXRpb25zIGZvciBtYW55IHByaW1pdGl2ZXMuICovXG5leHBvcnQgY29uc3QgUFJJTUlUSVZFUyA9IFAuY3JlYXRlTGFuZ3VhZ2U8UHJpbWl0aXZlc0xhbmd1YWdlPih7XG4gICAgbnVtYmVyOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoLy0/WzAtOV0rKFxcLlswLTldKyk/LylcbiAgICAgICAgICAgIC5tYXAoKHN0cikgPT4gTnVtYmVyLnBhcnNlRmxvYXQoc3RyKSlcbiAgICAgICAgICAgIC5kZXNjKFwibnVtYmVyXCIpLFxuXG4gICAgLy8gQSBxdW90ZS1zdXJyb3VuZGVkIHN0cmluZyB3aGljaCBzdXBwb3J0cyBlc2NhcGUgY2hhcmFjdGVycyAoJ1xcJykuXG4gICAgc3RyaW5nOiAocSkgPT5cbiAgICAgICAgUC5zdHJpbmcoJ1wiJylcbiAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgIFAuYWx0KHEuZXNjYXBlQ2hhcmFjdGVyLCBQLm5vbmVPZignXCJcXFxcJykpXG4gICAgICAgICAgICAgICAgICAgIC5hdExlYXN0KDApXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGNoYXJzKSA9PiBjaGFycy5qb2luKFwiXCIpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNraXAoUC5zdHJpbmcoJ1wiJykpXG4gICAgICAgICAgICAuZGVzYyhcInN0cmluZ1wiKSxcblxuICAgIGVzY2FwZUNoYXJhY3RlcjogKF8pID0+XG4gICAgICAgIFAuc3RyaW5nKFwiXFxcXFwiKVxuICAgICAgICAgICAgLnRoZW4oUC5hbnkpXG4gICAgICAgICAgICAubWFwKChlc2NhcGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgYXJlIGVzY2FwaW5nIGEgYmFja3NsYXNoIG9yIGEgcXVvdGUsIHBhc3MgaW4gb24gaW4gZXNjYXBlZCBmb3JtXG4gICAgICAgICAgICAgICAgaWYgKGVzY2FwZWQgPT09ICdcIicpIHJldHVybiAnXCInO1xuICAgICAgICAgICAgICAgIGlmIChlc2NhcGVkID09PSBcIlxcXFxcIikgcmV0dXJuIFwiXFxcXFwiO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIFwiXFxcXFwiICsgZXNjYXBlZDtcbiAgICAgICAgICAgIH0pLFxuXG4gICAgLy8gQSBib29sZWFuIHRydWUvZmFsc2UgdmFsdWUuXG4gICAgYm9vbDogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC90cnVlfGZhbHNlfFRydWV8RmFsc2UvKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIudG9Mb3dlckNhc2UoKSA9PSBcInRydWVcIilcbiAgICAgICAgICAgIC5kZXNjKFwiYm9vbGVhblwiKSxcblxuICAgIC8vIEEgdGFnIG9mIHRoZSBmb3JtICcjc3R1ZmYvaGVsbG8tdGhlcmUnLlxuICAgIHRhZzogKF8pID0+XG4gICAgICAgIFAuc2VxTWFwKFxuICAgICAgICAgICAgUC5zdHJpbmcoXCIjXCIpLFxuICAgICAgICAgICAgUC5hbHQoUC5yZWdleHAoL1teXFx1MjAwMC1cXHUyMDZGXFx1MkUwMC1cXHUyRTdGJyFcIiMkJSYoKSorLC46Ozw9Pj9AXmB7fH1+XFxbXFxdXFxcXFxcc10vKS5kZXNjKFwidGV4dFwiKSkubWFueSgpLFxuICAgICAgICAgICAgKHN0YXJ0LCByZXN0KSA9PiBzdGFydCArIHJlc3Quam9pbihcIlwiKVxuICAgICAgICApLmRlc2MoXCJ0YWdcIiksXG5cbiAgICAvLyBBIHZhcmlhYmxlIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFscGhhbnVtZXJpYyBhbmQgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yLi4uIGVtb2ppLlxuICAgIGlkZW50aWZpZXI6IChfKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFAuYWx0KFAucmVnZXhwKC9bXFxwe0xldHRlcn0kXS91KSwgUC5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoXCJ0ZXh0XCIpKSxcbiAgICAgICAgICAgIFAuYWx0KFAucmVnZXhwKC9bMC05XFxwe0xldHRlcn0kXy1dL3UpLCBQLnJlZ2V4cChFTU9KSV9SRUdFWCkuZGVzYyhcInRleHRcIikpLm1hbnkoKSxcbiAgICAgICAgICAgIChmaXJzdCwgcmVzdCkgPT4gZmlyc3QgKyByZXN0LmpvaW4oXCJcIilcbiAgICAgICAgKS5kZXNjKFwidmFyaWFibGVcIiksXG5cbiAgICAvLyBBbiBPYnNpZGlhbiBsaW5rIG9mIHRoZSBmb3JtIFtbPGxpbms+XV0uXG4gICAgbGluazogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9cXFtcXFsoW15cXFtcXF1dKj8pXFxdXFxdL3UsIDEpXG4gICAgICAgICAgICAubWFwKChsaW5rSW5uZXIpID0+IExpbmsucGFyc2VJbm5lcihsaW5rSW5uZXIpKVxuICAgICAgICAgICAgLmRlc2MoXCJmaWxlIGxpbmtcIiksXG5cbiAgICAvLyBBbiBlbWJlZGRhYmxlIGxpbmsgd2hpY2ggY2FuIHN0YXJ0IHdpdGggJyEnLiBUaGlzIG92ZXJsYXBzIHdpdGggdGhlIG5vcm1hbCBuZWdhdGlvbiBvcGVyYXRvciwgc28gaXQgaXMgb25seVxuICAgIC8vIHByb3ZpZGVkIGZvciBtZXRhZGF0YSBwYXJzaW5nLlxuICAgIGVtYmVkTGluazogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiIVwiKS5hdE1vc3QoMSksIHEubGluaywgKHAsIGwpID0+IHtcbiAgICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDApIGwuZW1iZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGw7XG4gICAgICAgIH0pLmRlc2MoXCJmaWxlIGxpbmtcIiksXG5cbiAgICAvLyBCaW5hcnkgcGx1cyBvciBtaW51cyBvcGVyYXRvci5cbiAgICBiaW5hcnlQbHVzTWludXM6IChfKSA9PlxuICAgICAgICBQLnJlZ2V4cCgvXFwrfC0vKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIgYXMgQmluYXJ5T3ApXG4gICAgICAgICAgICAuZGVzYyhcIicrJyBvciAnLSdcIiksXG5cbiAgICAvLyBCaW5hcnkgdGltZXMgb3IgZGl2aWRlIG9wZXJhdG9yLlxuICAgIGJpbmFyeU11bERpdjogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9cXCp8XFwvfCUvKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIgYXMgQmluYXJ5T3ApXG4gICAgICAgICAgICAuZGVzYyhcIicqJyBvciAnLycgb3IgJyUnXCIpLFxuXG4gICAgLy8gQmluYXJ5IGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gICAgYmluYXJ5Q29tcGFyZU9wOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoLz49fDw9fCE9fD58PHw9LylcbiAgICAgICAgICAgIC5tYXAoKHN0cikgPT4gc3RyIGFzIEJpbmFyeU9wKVxuICAgICAgICAgICAgLmRlc2MoXCInPj0nIG9yICc8PScgb3IgJyE9JyBvciAnPScgb3IgJz4nIG9yICc8J1wiKSxcblxuICAgIC8vIEJpbmFyeSBib29sZWFuIGNvbWJpbmF0aW9uIG9wZXJhdG9yLlxuICAgIGJpbmFyeUFuZE9wOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoL2FuZHwmL2kpXG4gICAgICAgICAgICAubWFwKChfc3RyKSA9PiBcIiZcIiBhcyBCaW5hcnlPcClcbiAgICAgICAgICAgIC5kZXNjKFwiJ2FuZCdcIiksXG4gICAgYmluYXJ5T3JPcDogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9vcnxcXHwvaSlcbiAgICAgICAgICAgIC5tYXAoKF9zdHIpID0+IFwifFwiIGFzIEJpbmFyeU9wKVxuICAgICAgICAgICAgLmRlc2MoXCInb3InXCIpLFxuXG4gICAgLy8gQSBkYXRlIHdoaWNoIGNhbiBiZSBZWVlZLU1NWy1ERFRISDptbTpzc10uXG4gICAgcm9vdERhdGU6IChfKSA9PlxuICAgICAgICBQLnNlcU1hcChQLnJlZ2V4cCgvXFxkezR9LyksIFAuc3RyaW5nKFwiLVwiKSwgUC5yZWdleHAoL1xcZHsyfS8pLCAoeWVhciwgXywgbW9udGgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHsgeWVhcjogTnVtYmVyLnBhcnNlSW50KHllYXIpLCBtb250aDogTnVtYmVyLnBhcnNlSW50KG1vbnRoKSB9KTtcbiAgICAgICAgfSkuZGVzYyhcImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXVwiKSxcbiAgICBkYXRlU2hvcnRoYW5kOiAoXykgPT5cbiAgICAgICAgUC5hbHQoXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyhEQVRFX1NIT1JUSEFORFMpXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgLm1hcChQLnN0cmluZylcbiAgICAgICAgKSBhcyBQLlBhcnNlcjxrZXlvZiB0eXBlb2YgREFURV9TSE9SVEhBTkRTPixcbiAgICBkYXRlOiAocSkgPT5cbiAgICAgICAgY2hhaW5PcHQ8RGF0ZVRpbWU+KFxuICAgICAgICAgICAgcS5yb290RGF0ZSxcbiAgICAgICAgICAgICh5bTogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCItXCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBkYXkpID0+IHltLnNldCh7IGRheTogTnVtYmVyLnBhcnNlSW50KGRheSkgfSkpLFxuICAgICAgICAgICAgKHltZDogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCJUXCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBob3VyKSA9PiB5bWQuc2V0KHsgaG91cjogTnVtYmVyLnBhcnNlSW50KGhvdXIpIH0pKSxcbiAgICAgICAgICAgICh5bWRoOiBEYXRlVGltZSkgPT5cbiAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIjpcIiksIFAucmVnZXhwKC9cXGR7Mn0vKSwgKF8sIG1pbnV0ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgeW1kaC5zZXQoeyBtaW51dGU6IE51bWJlci5wYXJzZUludChtaW51dGUpIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICh5bWRobTogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCI6XCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBzZWNvbmQpID0+XG4gICAgICAgICAgICAgICAgICAgIHltZGhtLnNldCh7IHNlY29uZDogTnVtYmVyLnBhcnNlSW50KHNlY29uZCkgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKHltZGhtczogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5hbHQoXG4gICAgICAgICAgICAgICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiLlwiKSwgUC5yZWdleHAoL1xcZHszfS8pLCAoXywgbWlsbGlzZWNvbmQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB5bWRobXMuc2V0KHsgbWlsbGlzZWNvbmQ6IE51bWJlci5wYXJzZUludChtaWxsaXNlY29uZCkgfSlcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgUC5zdWNjZWVkKHltZGhtcykgLy8gcGFzc1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAoZHQ6IERhdGVUaW1lKSA9PlxuICAgICAgICAgICAgICAgIFAuYWx0KFxuICAgICAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIitcIikub3IoUC5zdHJpbmcoXCItXCIpKSwgUC5yZWdleHAoL1xcZHsxLDJ9KDpcXGR7Mn0pPy8pLCAocG0sIGhyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZHQuc2V0Wm9uZShcIlVUQ1wiICsgcG0gKyBociwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiWlwiKSwgKCkgPT4gZHQuc2V0Wm9uZShcInV0Y1wiLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSkpLFxuICAgICAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIltcIiksIFAucmVnZXhwKC9bMC05QS1aYS16Ky1cXC9dKy91KSwgUC5zdHJpbmcoXCJdXCIpLCAoX2EsIHpvbmUsIF9iKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZHQuc2V0Wm9uZSh6b25lLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAgICAgLmFzc2VydCgoZHQ6IERhdGVUaW1lKSA9PiBkdC5pc1ZhbGlkLCBcInZhbGlkIGRhdGVcIilcbiAgICAgICAgICAgIC5kZXNjKFwiZGF0ZSBpbiBmb3JtYXQgWVlZWS1NTVstRERUSEgtTU0tU1MuTVNdXCIpLFxuXG4gICAgLy8gQSBkYXRlLCBwbHVzIHZhcmlvdXMgc2hvcnRoYW5kIHRpbWVzIG9mIGRheSBpdCBjb3VsZCBiZS5cbiAgICBkYXRlUGx1czogKHEpID0+XG4gICAgICAgIFAuYWx0PERhdGVUaW1lPihcbiAgICAgICAgICAgIHEuZGF0ZVNob3J0aGFuZC5tYXAoKGQpID0+IERBVEVfU0hPUlRIQU5EU1tkXSgpKSxcbiAgICAgICAgICAgIHEuZGF0ZVxuICAgICAgICApLmRlc2MoXCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU10gb3IgaW4gc2hvcnRoYW5kXCIpLFxuXG4gICAgLy8gQSBkdXJhdGlvbiBvZiB0aW1lLlxuICAgIGR1cmF0aW9uVHlwZTogKF8pID0+XG4gICAgICAgIFAuYWx0KFxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXMoRFVSQVRJT05fVFlQRVMpXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgLm1hcChQLnN0cmluZylcbiAgICAgICAgKSBhcyBQLlBhcnNlcjxrZXlvZiB0eXBlb2YgRFVSQVRJT05fVFlQRVM+LFxuICAgIGR1cmF0aW9uOiAocSkgPT5cbiAgICAgICAgUC5zZXFNYXAocS5udW1iZXIsIFAub3B0V2hpdGVzcGFjZSwgcS5kdXJhdGlvblR5cGUsIChjb3VudCwgXywgdCkgPT5cbiAgICAgICAgICAgIERVUkFUSU9OX1RZUEVTW3RdLm1hcFVuaXRzKCh4KSA9PiB4ICogY291bnQpXG4gICAgICAgIClcbiAgICAgICAgICAgIC5zZXBCeTEoUC5zdHJpbmcoXCIsXCIpLnRyaW0oUC5vcHRXaGl0ZXNwYWNlKS5vcihQLm9wdFdoaXRlc3BhY2UpKVxuICAgICAgICAgICAgLm1hcCgoZHVyYXRpb25zKSA9PiBkdXJhdGlvbnMucmVkdWNlKChwLCBjKSA9PiBwLnBsdXMoYykpKVxuICAgICAgICAgICAgLmRlc2MoXCJkdXJhdGlvbiBsaWtlIDRocjJtaW5cIiksXG5cbiAgICAvLyBBIHJhdyBudWxsIHZhbHVlLlxuICAgIHJhd051bGw6IChfKSA9PiBQLnN0cmluZyhcIm51bGxcIiksXG5cbiAgICAvLyBJbmxpbmUgZmllbGQgdmFsdWUgcGFyc2luZy5cbiAgICBhdG9tSW5saW5lRmllbGQ6IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIHEuZGF0ZSxcbiAgICAgICAgICAgIHEuZHVyYXRpb24ubWFwKChkKSA9PiBub3JtYWxpemVEdXJhdGlvbihkKSksXG4gICAgICAgICAgICBxLnN0cmluZyxcbiAgICAgICAgICAgIHEudGFnLFxuICAgICAgICAgICAgcS5lbWJlZExpbmssXG4gICAgICAgICAgICBxLmJvb2wsXG4gICAgICAgICAgICBxLm51bWJlcixcbiAgICAgICAgICAgIHEucmF3TnVsbFxuICAgICAgICApLFxuICAgIGlubGluZUZpZWxkTGlzdDogKHEpID0+IHEuYXRvbUlubGluZUZpZWxkLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkubG9va2FoZWFkKHEuYXRvbUlubGluZUZpZWxkKSksXG4gICAgaW5saW5lRmllbGQ6IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIFAuc2VxTWFwKHEuYXRvbUlubGluZUZpZWxkLCBQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpLCBxLmlubGluZUZpZWxkTGlzdCwgKGYsIF9zLCBsKSA9PlxuICAgICAgICAgICAgICAgIFtmXS5jb25jYXQobClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxLmF0b21JbmxpbmVGaWVsZFxuICAgICAgICApLFxufSk7XG5cbi8qKiBFbW9qaSByZWdleCwgc3RycHBpbmcgYW55IHJlZ2V4IGZsYWdzIGl0IGhhcy4gKi9cbmNvbnN0IEVNT0pJX1JFR0VYID0gbmV3IFJlZ0V4cChlbW9qaVJlZ2V4KCksIFwiXCIpO1xuXG4vKiogUHJvdmlkZXMgYSBsb29rdXAgdGFibGUgZm9yIHVuaXQgZHVyYXRpb25zIG9mIHRoZSBnaXZlbiB0eXBlLiAqL1xuZXhwb3J0IGNvbnN0IERVUkFUSU9OX1RZUEVTID0ge1xuICAgIHllYXI6IER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSB9KSxcbiAgICB5ZWFyczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLFxuICAgIHlyOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksXG4gICAgeXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksXG5cbiAgICBtb250aDogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSxcbiAgICBtb250aHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksXG4gICAgbW86IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksXG4gICAgbW9zOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbW9udGhzOiAxIH0pLFxuXG4gICAgd2VlazogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLFxuICAgIHdlZWtzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksXG4gICAgd2s6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSxcbiAgICB3a3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSxcbiAgICB3OiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksXG5cbiAgICBkYXk6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuICAgIGRheXM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuICAgIGQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuXG4gICAgaG91cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxIH0pLFxuICAgIGhvdXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksXG4gICAgaHI6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSxcbiAgICBocnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSxcbiAgICBoOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksXG5cbiAgICBtaW51dGU6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLFxuICAgIG1pbnV0ZXM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLFxuICAgIG1pbjogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG4gICAgbWluczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG4gICAgbTogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG5cbiAgICBzZWNvbmQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLFxuICAgIHNlY29uZHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLFxuICAgIHNlYzogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG4gICAgc2VjczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG4gICAgczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG59O1xuXG4vKiogU2hvcnRoYW5kIGZvciBjb21tb24gZGF0ZXMgKHJlbGF0aXZlIHRvIHJpZ2h0IG5vdykuICovXG5leHBvcnQgY29uc3QgREFURV9TSE9SVEhBTkRTID0ge1xuICAgIG5vdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKSxcbiAgICB0b2RheTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKFwiZGF5XCIpLFxuICAgIHllc3RlcmRheTogKCkgPT5cbiAgICAgICAgRGF0ZVRpbWUubG9jYWwoKVxuICAgICAgICAgICAgLnN0YXJ0T2YoXCJkYXlcIilcbiAgICAgICAgICAgIC5taW51cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksXG4gICAgdG9tb3Jyb3c6ICgpID0+XG4gICAgICAgIERhdGVUaW1lLmxvY2FsKClcbiAgICAgICAgICAgIC5zdGFydE9mKFwiZGF5XCIpXG4gICAgICAgICAgICAucGx1cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksXG4gICAgc293OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJ3ZWVrXCIpLFxuICAgIFwic3RhcnQtb2Ytd2Vla1wiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJ3ZWVrXCIpLFxuICAgIGVvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZihcIndlZWtcIiksXG4gICAgXCJlbmQtb2Ytd2Vla1wiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwid2Vla1wiKSxcbiAgICBzb3k6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZihcInllYXJcIiksXG4gICAgXCJzdGFydC1vZi15ZWFyXCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZihcInllYXJcIiksXG4gICAgZW95OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwieWVhclwiKSxcbiAgICBcImVuZC1vZi15ZWFyXCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoXCJ5ZWFyXCIpLFxuICAgIHNvbTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKFwibW9udGhcIiksXG4gICAgXCJzdGFydC1vZi1tb250aFwiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJtb250aFwiKSxcbiAgICBlb206ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoXCJtb250aFwiKSxcbiAgICBcImVuZC1vZi1tb250aFwiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwibW9udGhcIiksXG59O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBFeHByZXNzaW9uIExhbmd1YWdlIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCB0eXBlIFBvc3RmaXhGcmFnbWVudCA9XG4gICAgfCB7IHR5cGU6IFwiZG90XCI7IGV4cHI6IHN0cmluZyB9XG4gICAgfCB7IHR5cGU6IFwiaW5kZXhcIjsgZXhwcjogRXhwcmVzc2lvbiB9XG4gICAgfCB7IHR5cGU6IFwiZnVuY3Rpb25cIjsgZXhwcnM6IEV4cHJlc3Npb25bXSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cHJlc3Npb25MYW5ndWFnZSB7XG4gICAgdmFyaWFibGU6IFZhcmlhYmxlRXhwcmVzc2lvbjtcbiAgICBudW1iZXI6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIGJvb2w6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIHN0cmluZzogTGl0ZXJhbEV4cHJlc3Npb247XG4gICAgZGF0ZTogTGl0ZXJhbEV4cHJlc3Npb247XG4gICAgZHVyYXRpb246IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIGxpbms6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIG51bGw6IExpdGVyYWxFeHByZXNzaW9uO1xuXG4gICAgbGlzdDogTGlzdEV4cHJlc3Npb247XG4gICAgb2JqZWN0OiBPYmplY3RFeHByZXNzaW9uO1xuXG4gICAgbmVnYXRlZDogRXhwcmVzc2lvbjtcbiAgICBhdG9tOiBFeHByZXNzaW9uO1xuICAgIGluZGV4OiBFeHByZXNzaW9uO1xuICAgIGxhbWJkYTogTGFtYmRhRXhwcmVzc2lvbjtcblxuICAgIC8vIFBvc3RmaXggcGFyc2VycyBmb3IgZnVuY3Rpb24gY2FsbHMgJiB0aGUgbGlrZS5cbiAgICBkb3RQb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG4gICAgaW5kZXhQb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG4gICAgZnVuY3Rpb25Qb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG5cbiAgICAvLyBCaW5hcnkgb3AgcGFyc2Vycy5cbiAgICBiaW5hcnlNdWxEaXY6IEV4cHJlc3Npb247XG4gICAgYmluYXJ5UGx1c01pbnVzOiBFeHByZXNzaW9uO1xuICAgIGJpbmFyeUNvbXBhcmU6IEV4cHJlc3Npb247XG4gICAgYmluYXJ5Qm9vbGVhbjogRXhwcmVzc2lvbjtcbiAgICBiaW5hcnlPcDogRXhwcmVzc2lvbjtcbiAgICBwYXJlbnM6IEV4cHJlc3Npb247XG4gICAgZXhwcmVzc2lvbjogRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBQYXJzZSBmb3IgdGhlIGRhdGFjb3JlIGV4cHJlc3Npb24gbGFuZ3VhZ2UsIHdoaWNoIHByb3ZpZGVzIHNpbXBsZSBhbmQgdmFndWVseSBKUy1sb29raW5nIGNvbXB1dGF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgRVhQUkVTU0lPTiA9IFAuY3JlYXRlTGFuZ3VhZ2U8RXhwcmVzc2lvbkxhbmd1YWdlPih7XG4gICAgLy8gRmllbGQgcGFyc2luZy5cbiAgICB2YXJpYWJsZTogKF8pID0+IFBSSU1JVElWRVMuaWRlbnRpZmllci5tYXAoRXhwcmVzc2lvbnMudmFyaWFibGUpLmRlc2MoXCJ2YXJpYWJsZVwiKSxcbiAgICBudW1iZXI6IChfKSA9PiBQUklNSVRJVkVTLm51bWJlci5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCkuZGVzYyhcIm51bWJlclwiKSxcbiAgICBzdHJpbmc6IChfKSA9PiBQUklNSVRJVkVTLnN0cmluZy5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCkuZGVzYyhcInN0cmluZ1wiKSxcbiAgICBib29sOiAoXykgPT4gUFJJTUlUSVZFUy5ib29sLm1hcChFeHByZXNzaW9ucy5saXRlcmFsKS5kZXNjKFwiYm9vbGVhblwiKSxcbiAgICBkYXRlOiAoXykgPT5cbiAgICAgICAgY3JlYXRlRnVuY3Rpb24oXCJkYXRlXCIsIFBSSU1JVElWRVMuZGF0ZVBsdXMpXG4gICAgICAgICAgICAubWFwKChbX2Z1bmMsIGRhdGVdKSA9PiBFeHByZXNzaW9ucy5saXRlcmFsKGRhdGUpKVxuICAgICAgICAgICAgLmRlc2MoXCJkYXRlXCIpLFxuICAgIGR1cmF0aW9uOiAoXykgPT5cbiAgICAgICAgY3JlYXRlRnVuY3Rpb24oXCJkdXJcIiwgUFJJTUlUSVZFUy5kdXJhdGlvbilcbiAgICAgICAgICAgIC5tYXAoKFtfZnVuYywgZHVyXSkgPT4gRXhwcmVzc2lvbnMubGl0ZXJhbChkdXIpKVxuICAgICAgICAgICAgLmRlc2MoXCJkdXJhdGlvblwiKSxcbiAgICBudWxsOiAoXykgPT4gUFJJTUlUSVZFUy5yYXdOdWxsLm1hcCgoXykgPT4gRXhwcmVzc2lvbnMuTlVMTCksXG4gICAgbGluazogKF8pID0+IFBSSU1JVElWRVMubGluay5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCksXG4gICAgbGlzdDogKHEpID0+XG4gICAgICAgIHEuZXhwcmVzc2lvblxuICAgICAgICAgICAgLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpXG4gICAgICAgICAgICAud3JhcChQLnN0cmluZyhcIltcIikuc2tpcChQLm9wdFdoaXRlc3BhY2UpLCBQLm9wdFdoaXRlc3BhY2UudGhlbihQLnN0cmluZyhcIl1cIikpKVxuICAgICAgICAgICAgLm1hcCgobCkgPT4gRXhwcmVzc2lvbnMubGlzdChsKSlcbiAgICAgICAgICAgIC5kZXNjKFwibGlzdFwiKSxcbiAgICBvYmplY3Q6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFBSSU1JVElWRVMuaWRlbnRpZmllci5vcihQUklNSVRJVkVTLnN0cmluZyksXG4gICAgICAgICAgICBQLnN0cmluZyhcIjpcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpLFxuICAgICAgICAgICAgcS5leHByZXNzaW9uLFxuICAgICAgICAgICAgKG5hbWUsIF9zZXAsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgICAgICAgLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpXG4gICAgICAgICAgICAud3JhcChQLnN0cmluZyhcIntcIikuc2tpcChQLm9wdFdoaXRlc3BhY2UpLCBQLm9wdFdoaXRlc3BhY2UudGhlbihQLnN0cmluZyhcIn1cIikpKVxuICAgICAgICAgICAgLm1hcCgodmFscykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZXM6IFJlY29yZDxzdHJpbmcsIEV4cHJlc3Npb24+ID0ge307XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgdmFscykgcmVzW2VudHJ5Lm5hbWVdID0gZW50cnkudmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEV4cHJlc3Npb25zLm9iamVjdChyZXMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5kZXNjKFwib2JqZWN0ICgneyBhOiAxLCBiOiAyIH0nKVwiKSxcblxuICAgIGF0b206IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIC8vIFBsYWNlIGVtYmVkIGxpbmtzIGFib3ZlIG5lZ2F0ZWQgZmllbGRzIGFzIHRoZXkgYXJlIHRoZSBzcGVjaWFsIHBhcnNlciBjYXNlICchW1t0aGluZ11dJyBhbmQgYXJlIGdlbmVyYWxseSB1bmFtYmlnaW91cy5cbiAgICAgICAgICAgIFBSSU1JVElWRVMuZW1iZWRMaW5rLm1hcCgobCkgPT4gRXhwcmVzc2lvbnMubGl0ZXJhbChsKSksXG4gICAgICAgICAgICBxLm5lZ2F0ZWQsXG4gICAgICAgICAgICBxLmxpbmssXG4gICAgICAgICAgICBxLmxpc3QsXG4gICAgICAgICAgICBxLm9iamVjdCxcbiAgICAgICAgICAgIHEubGFtYmRhLFxuICAgICAgICAgICAgcS5wYXJlbnMsXG4gICAgICAgICAgICBxLmJvb2wsXG4gICAgICAgICAgICBxLm51bWJlcixcbiAgICAgICAgICAgIHEuc3RyaW5nLFxuICAgICAgICAgICAgcS5kYXRlLFxuICAgICAgICAgICAgcS5kdXJhdGlvbixcbiAgICAgICAgICAgIHEubnVsbCxcbiAgICAgICAgICAgIHEudmFyaWFibGVcbiAgICAgICAgKSxcbiAgICBpbmRleDogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKHEuYXRvbSwgUC5hbHQocS5kb3RQb3N0Zml4LCBxLmluZGV4UG9zdGZpeCwgcS5mdW5jdGlvblBvc3RmaXgpLm1hbnkoKSwgKG9iaiwgcG9zdGZpeGVzKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gb2JqO1xuICAgICAgICAgICAgZm9yIChsZXQgcG9zdCBvZiBwb3N0Zml4ZXMpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHBvc3QudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZG90XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5pbmRleChyZXN1bHQsIEV4cHJlc3Npb25zLmxpdGVyYWwocG9zdC5leHByKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImluZGV4XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5pbmRleChyZXN1bHQsIHBvc3QuZXhwcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5mdW5jKHJlc3VsdCwgcG9zdC5leHBycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgIG5lZ2F0ZWQ6IChxKSA9PiBQLnNlcU1hcChQLnN0cmluZyhcIiFcIiksIHEuaW5kZXgsIChfLCBmaWVsZCkgPT4gRXhwcmVzc2lvbnMubmVnYXRlKGZpZWxkKSkuZGVzYyhcIm5lZ2F0ZWQgZmllbGRcIiksXG4gICAgcGFyZW5zOiAocSkgPT4gcS5leHByZXNzaW9uLnRyaW0oUC5vcHRXaGl0ZXNwYWNlKS53cmFwKFAuc3RyaW5nKFwiKFwiKSwgUC5zdHJpbmcoXCIpXCIpKSxcbiAgICBsYW1iZGE6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFBSSU1JVElWRVMuaWRlbnRpZmllclxuICAgICAgICAgICAgICAgIC5zZXBCeShQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpKVxuICAgICAgICAgICAgICAgIC53cmFwKFAuc3RyaW5nKFwiKFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSksIFAuc3RyaW5nKFwiKVwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpLFxuICAgICAgICAgICAgUC5zdHJpbmcoXCI9PlwiKS50cmltKFAub3B0V2hpdGVzcGFjZSksXG4gICAgICAgICAgICBxLmV4cHJlc3Npb24sXG4gICAgICAgICAgICAoaWRlbnQsIF9pZ25vcmUsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsYW1iZGFcIiwgYXJndW1lbnRzOiBpZGVudCwgdmFsdWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcblxuICAgIGRvdFBvc3RmaXg6IChxKSA9PiBQLnNlcU1hcChQLnN0cmluZyhcIi5cIiksIFBSSU1JVElWRVMuaWRlbnRpZmllciwgKF8sIGV4cHIpID0+ICh7IHR5cGU6IFwiZG90XCIsIGV4cHIgfSkpLFxuICAgIGluZGV4UG9zdGZpeDogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKFxuICAgICAgICAgICAgUC5zdHJpbmcoXCJbXCIpLFxuICAgICAgICAgICAgUC5vcHRXaGl0ZXNwYWNlLFxuICAgICAgICAgICAgcS5leHByZXNzaW9uLFxuICAgICAgICAgICAgUC5vcHRXaGl0ZXNwYWNlLFxuICAgICAgICAgICAgUC5zdHJpbmcoXCJdXCIpLFxuICAgICAgICAgICAgKF8sIF8yLCBleHByLCBfMywgXzQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcImluZGV4XCIsIGV4cHIgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICBmdW5jdGlvblBvc3RmaXg6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFAuc3RyaW5nKFwiKFwiKSxcbiAgICAgICAgICAgIFAub3B0V2hpdGVzcGFjZSxcbiAgICAgICAgICAgIHEuZXhwcmVzc2lvbi5zZXBCeShQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpKSxcbiAgICAgICAgICAgIFAub3B0V2hpdGVzcGFjZSxcbiAgICAgICAgICAgIFAuc3RyaW5nKFwiKVwiKSxcbiAgICAgICAgICAgIChfLCBfMSwgZXhwcnMsIF8yLCBfMykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwiZnVuY3Rpb25cIiwgZXhwcnMgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcblxuICAgIC8vIFRoZSBwcmVjZWRlbmNlIGhpZXJhcmNoeSBvZiBvcGVyYXRvcnMgLSBtdWx0aXBseS9kaXZpZGUsIGFkZC9zdWJ0cmFjdCwgY29tcGFyZSwgYW5kIHRoZW4gYm9vbGVhbiBvcGVyYXRpb25zLlxuICAgIGJpbmFyeU11bERpdjogKHEpID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmluZGV4LCBQUklNSVRJVkVTLmJpbmFyeU11bERpdiwgRXhwcmVzc2lvbnMuYmluYXJ5T3ApLFxuICAgIGJpbmFyeVBsdXNNaW51czogKHEpID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmJpbmFyeU11bERpdiwgUFJJTUlUSVZFUy5iaW5hcnlQbHVzTWludXMsIEV4cHJlc3Npb25zLmJpbmFyeU9wKSxcbiAgICBiaW5hcnlDb21wYXJlOiAocSkgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5UGx1c01pbnVzLCBQUklNSVRJVkVTLmJpbmFyeUNvbXBhcmVPcCwgRXhwcmVzc2lvbnMuYmluYXJ5T3ApLFxuICAgIGJpbmFyeUJvb2xlYW46IChxKSA9PlxuICAgICAgICBjcmVhdGVCaW5hcnlQYXJzZXIocS5iaW5hcnlDb21wYXJlLCBQUklNSVRJVkVTLmJpbmFyeUFuZE9wLm9yKFBSSU1JVElWRVMuYmluYXJ5T3JPcCksIEV4cHJlc3Npb25zLmJpbmFyeU9wKSxcbiAgICBiaW5hcnlPcDogKHEpID0+IHEuYmluYXJ5Qm9vbGVhbixcblxuICAgIGV4cHJlc3Npb246IChxKSA9PiBxLmJpbmFyeU9wLFxufSk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBRdWVyeSBMYW5ndWFnZSAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFN1cHBvcnRlZCB0eXBlcyBpbiB0aGUgZ3JhbW1hciBmb3IgaW5kZXggcXVlcmllcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlMYW5ndWFnZSB7XG4gICAgcXVlcnlUYWc6IEluZGV4VGFnZ2VkO1xuICAgIHF1ZXJ5SWQ6IEluZGV4SWQ7XG4gICAgcXVlcnlUeXBlOiBJbmRleFR5cGVkO1xuICAgIHF1ZXJ5UGF0aDogSW5kZXhQYXRoO1xuICAgIHF1ZXJ5UGFyZW50T2Y6IEluZGV4UGFyZW50T2Y7XG4gICAgcXVlcnlDaGlsZE9mOiBJbmRleENoaWxkT2Y7XG4gICAgcXVlcnlTaW1wbGVMaW5rZWQ6IEluZGV4TGlua2VkO1xuICAgIHF1ZXJ5TGlua2VkOiBJbmRleExpbmtlZDtcbiAgICBxdWVyeUV4aXN0czogSW5kZXhGaWVsZDtcbiAgICBxdWVyeVF1b3RlZEV4cHJlc3Npb246IEluZGV4RXhwcmVzc2lvbjtcbiAgICBxdWVyeVJhd0V4cHJlc3Npb246IEluZGV4RXhwcmVzc2lvbjtcbiAgICBxdWVyeU5lZ2F0ZTogSW5kZXhOb3Q7XG4gICAgcXVlcnlQYXJlbnM6IEluZGV4UXVlcnk7XG4gICAgcXVlcnlBdG9tOiBJbmRleFF1ZXJ5O1xuICAgIHF1ZXJ5QW5kczogSW5kZXhRdWVyeTtcbiAgICBxdWVyeU9yczogSW5kZXhRdWVyeTtcbiAgICBxdWVyeTogSW5kZXhRdWVyeTtcbn1cblxuLyoqXG4gKiBQYXJzZXIgZm9yIHRoZSBxdWVyeSBsYW5ndWFnZS4gRGlkIEkgcmVhbGx5IG5lZWQgYSBxdWVyeSBsYW5ndWFnZSBpbnN0ZWFkIG9mIGp1c3QgYSBiZXR0ZXIgVUk/IFByb2JhYmx5IG5vdC5cbiAqIEJ1dCBxdWVyeSBsYW5ndWFnZXMgYXJlIGZ1biBmb3IgdGhlIHdob2xlIGZhbWlseSBhbmQgYXQgc29tZSBwb2ludCB5b3UgZ2V0IHNvIHVzZWQgdG8gd3JpdGluZyB0aGVtIHRoYXRcbiAqIHlvdSBkb24ndCBzdG9wIHRvIHRoaW5rIGlmIHlvdSAqbmVlZCogdG8gd3JpdGUgdGhlbSBhbnltb3JlLiBJdCdzIGdvb2QgdHlwaW5nIHByYWN0aWNlIGZvciBldmVyeW9uZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFFVRVJZID0gUC5jcmVhdGVMYW5ndWFnZTxRdWVyeUxhbmd1YWdlPih7XG4gICAgcXVlcnlUYWc6IChfKSA9PiBQUklNSVRJVkVTLnRhZy5tYXAoKHZhbHVlKSA9PiAoeyB0eXBlOiBcInRhZ2dlZFwiLCB2YWx1ZSB9KSksXG4gICAgcXVlcnlJZDogKF8pID0+IGNyZWF0ZUZ1bmN0aW9uKFwiaWRcIiwgUFJJTUlUSVZFUy5zdHJpbmcpLm1hcCgoW18sIGlkXSkgPT4gKHsgdHlwZTogXCJpZFwiLCB2YWx1ZTogaWQgfSkpLFxuICAgIHF1ZXJ5VHlwZTogKF8pID0+XG4gICAgICAgIFAuc3RyaW5nKFwiQFwiKVxuICAgICAgICAgICAgLnRoZW4oUFJJTUlUSVZFUy5pZGVudGlmaWVyKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7IHR5cGU6IFwidHlwZWRcIiwgdmFsdWU6IHZhbHVlIH0pKSxcblxuICAgIHF1ZXJ5UGF0aDogKF8pID0+XG4gICAgICAgIGNyZWF0ZUZ1bmN0aW9uKFAucmVnZXhwKC9lP3BhdGgvaSkuZGVzYyhcIltlXXBhdGhcIiksIFBSSU1JVElWRVMuc3RyaW5nKS5tYXAoKFtmdW5jLCBwYXRoXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwicGF0aFwiLFxuICAgICAgICAgICAgdmFsdWU6IHBhdGgsXG4gICAgICAgICAgICBleGFjdDogZnVuYy50b0xvd2VyQ2FzZSgpID09PSBcImVwYXRoXCIsXG4gICAgICAgIH0pKSxcblxuICAgIHF1ZXJ5UGFyZW50T2Y6IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvcGFyZW50b2Z8c3VwZXJ0cmVlL2kpLmRlc2MoXCJwYXJlbnRvZlwiKSwgcS5xdWVyeSkubWFwKChbZnVuYywgY2hpbGRyZW5dKSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogXCJwYXJlbnQtb2ZcIixcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBmdW5jLnRvTG93ZXJDYXNlKCkgPT09IFwic3VwZXJ0cmVlXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeUNoaWxkT2Y6IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvY2hpbGRvZnxzdWJ0cmVlL2kpLmRlc2MoXCJjaGlsZG9mXCIpLCBxLnF1ZXJ5KS5tYXAoKFtmdW5jLCBwYXJlbnRzXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiY2hpbGQtb2ZcIixcbiAgICAgICAgICAgIHBhcmVudHMsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IGZ1bmMudG9Mb3dlckNhc2UoKSA9PT0gXCJzdWJ0cmVlXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeVNpbXBsZUxpbmtlZDogKF8pID0+XG4gICAgICAgIFBSSU1JVElWRVMubGluay5tYXAoKGxpbmspID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcImxpbmtlZFwiLFxuICAgICAgICAgICAgc291cmNlOiB7IHR5cGU6IFwibGlua1wiLCB2YWx1ZTogbGluayB9LFxuICAgICAgICAgICAgZGlyZWN0aW9uOiBcImluY29taW5nXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeUxpbmtlZDogKHEpID0+XG4gICAgICAgIGNyZWF0ZUZ1bmN0aW9uKFAucmVnZXhwKC9saW5rc3RvfGxpbmtlZGZyb218Y29ubmVjdGVkL2kpLmRlc2MoXCJjb25uZWN0ZWRcIiksIHEucXVlcnkpLm1hcCgoW2Z1bmMsIHNvdXJjZV0pID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcImxpbmtlZFwiLFxuICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgZGlyZWN0aW9uOlxuICAgICAgICAgICAgICAgIGZ1bmMudG9Mb3dlckNhc2UoKSA9PSBcImxpbmtzdG9cIiA/IFwiaW5jb21pbmdcIiA6IGZ1bmMudG9Mb3dlckNhc2UoKSA9PSBcImxpbmtlZGZyb21cIiA/IFwib3V0Z29pbmdcIiA6IFwiYm90aFwiLFxuICAgICAgICB9KSksXG4gICAgcXVlcnlFeGlzdHM6IChfKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvZXhpc3RzL2kpLmRlc2MoXCJleGlzdHNcIiksIFBSSU1JVElWRVMuaWRlbnRpZmllci5vcihQUklNSVRJVkVTLnN0cmluZykpLm1hcChcbiAgICAgICAgICAgIChbX2Z1bmMsIGlkZW50XSkgPT4gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImZpZWxkXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGlkZW50LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICBxdWVyeVF1b3RlZEV4cHJlc3Npb246IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvZXhwci9pKS5kZXNjKFwiZXhwclwiKSwgRVhQUkVTU0lPTi5leHByZXNzaW9uKS5tYXAoKFtfLCBleHByXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiZXhwcmVzc2lvblwiLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogZXhwcixcbiAgICAgICAgfSkpLFxuICAgIHF1ZXJ5UmF3RXhwcmVzc2lvbjogKHEpID0+IEVYUFJFU1NJT04uYmluYXJ5Q29tcGFyZS5tYXAoKGV4cHIpID0+ICh7IHR5cGU6IFwiZXhwcmVzc2lvblwiLCBleHByZXNzaW9uOiBleHByIH0pKSxcblxuICAgIHF1ZXJ5UGFyZW5zOiAocSkgPT4gcS5xdWVyeS50cmltKFAub3B0V2hpdGVzcGFjZSkud3JhcChQLnN0cmluZyhcIihcIiksIFAuc3RyaW5nKFwiKVwiKSksXG4gICAgcXVlcnlOZWdhdGU6IChxKSA9PlxuICAgICAgICBQLnN0cmluZyhcIiFcIilcbiAgICAgICAgICAgIC5za2lwKFAub3B0V2hpdGVzcGFjZSlcbiAgICAgICAgICAgIC50aGVuKHEucXVlcnlBdG9tKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJub3RcIixcbiAgICAgICAgICAgICAgICBlbGVtZW50OiB2YWx1ZSxcbiAgICAgICAgICAgIH0pKSxcbiAgICBxdWVyeUF0b206IChxKSA9PlxuICAgICAgICBQLmFsdDxJbmRleFF1ZXJ5PihcbiAgICAgICAgICAgIHEucXVlcnlQYXJlbnMsXG4gICAgICAgICAgICBxLnF1ZXJ5TmVnYXRlLFxuICAgICAgICAgICAgcS5xdWVyeVNpbXBsZUxpbmtlZCxcbiAgICAgICAgICAgIHEucXVlcnlUYWcsXG4gICAgICAgICAgICBxLnF1ZXJ5VHlwZSxcbiAgICAgICAgICAgIHEucXVlcnlJZCxcbiAgICAgICAgICAgIHEucXVlcnlFeGlzdHMsXG4gICAgICAgICAgICBxLnF1ZXJ5Q2hpbGRPZixcbiAgICAgICAgICAgIHEucXVlcnlQYXJlbnRPZixcbiAgICAgICAgICAgIHEucXVlcnlMaW5rZWQsXG4gICAgICAgICAgICBxLnF1ZXJ5UGF0aCxcbiAgICAgICAgICAgIHEucXVlcnlRdW90ZWRFeHByZXNzaW9uLFxuICAgICAgICAgICAgLy8gRXhwcmVzc2lvbnMgYXJlIGVzc2VudGlhbGx5IHRoZSBcImNhdGNoLWFsbFwiIG9mIG90aGVyd2lzZSB1bnBhcnNlYWJsZSB0ZXJtcywgc28gdGhleSBzaG91bGQgZ28gYWJzb2x1dGUgbGFzdC5cbiAgICAgICAgICAgIHEucXVlcnlSYXdFeHByZXNzaW9uXG4gICAgICAgICksXG4gICAgcXVlcnlBbmRzOiAocSkgPT5cbiAgICAgICAgY3JlYXRlQmluYXJ5UGFyc2VyKHEucXVlcnlBdG9tLCBQUklNSVRJVkVTLmJpbmFyeUFuZE9wLCAobGVmdCwgX29wLCByaWdodCkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiYW5kXCIsXG4gICAgICAgICAgICBlbGVtZW50czogW2xlZnQsIHJpZ2h0XSxcbiAgICAgICAgfSkpLFxuICAgIHF1ZXJ5T3JzOiAocSkgPT5cbiAgICAgICAgY3JlYXRlQmluYXJ5UGFyc2VyKHEucXVlcnlBbmRzLCBQUklNSVRJVkVTLmJpbmFyeU9yT3AsIChsZWZ0LCBfb3AsIHJpZ2h0KSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogXCJvclwiLFxuICAgICAgICAgICAgZWxlbWVudHM6IFtsZWZ0LCByaWdodF0sXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeTogKHEpID0+IHEucXVlcnlPcnMudHJpbShQLm9wdFdoaXRlc3BhY2UpLFxufSk7XG5cbi8qKiBSZXR1cm4gYSBuZXcgcGFyc2VyIHdoaWNoIGV4ZWN1dGVzIHRoZSB1bmRlcmx5aW5nIHBhcnNlciBhbmQgcmV0dXJucyBpdCdzIHJhdyBzdHJpbmcgcmVwcmVzZW50YXRpb24uICovXG5leHBvcnQgZnVuY3Rpb24gY2FwdHVyZVJhdzxUPihiYXNlOiBQLlBhcnNlcjxUPik6IFAuUGFyc2VyPFtULCBzdHJpbmddPiB7XG4gICAgcmV0dXJuIFAuY3VzdG9tKChfc3VjY2VzcywgX2ZhaWx1cmUpID0+IHtcbiAgICAgICAgcmV0dXJuIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChiYXNlIGFzIGFueSkuXyhpbnB1dCwgaSk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5zdGF0dXMpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCByZXN1bHQsIHsgdmFsdWU6IFtyZXN1bHQudmFsdWUsIGlucHV0LnN1YnN0cmluZyhpLCByZXN1bHQuaW5kZXgpXSB9KTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuLyoqIENyZWF0ZSBhIGxlZnQtYXNzb2NpYXRpdmUgYmluYXJ5IHBhcnNlciB3aGljaCBwYXJzZXMgdGhlIGdpdmVuIHN1Yi1lbGVtZW50IGFuZCBzZXBhcmF0b3IuIEhhbmRsZXMgd2hpdGVzcGFjZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCaW5hcnlQYXJzZXI8VCwgVT4oXG4gICAgY2hpbGQ6IFAuUGFyc2VyPFQ+LFxuICAgIHNlcDogUC5QYXJzZXI8VT4sXG4gICAgY29tYmluZTogKGE6IFQsIGI6IFUsIGM6IFQpID0+IFRcbik6IFAuUGFyc2VyPFQ+IHtcbiAgICByZXR1cm4gUC5zZXFNYXAoY2hpbGQsIFAuc2VxKFAub3B0V2hpdGVzcGFjZSwgc2VwLCBQLm9wdFdoaXRlc3BhY2UsIGNoaWxkKS5tYW55KCksIChmaXJzdCwgcmVzdCkgPT4ge1xuICAgICAgICBpZiAocmVzdC5sZW5ndGggPT0gMCkgcmV0dXJuIGZpcnN0O1xuXG4gICAgICAgIGxldCBub2RlID0gY29tYmluZShmaXJzdCwgcmVzdFswXVsxXSwgcmVzdFswXVszXSk7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCByZXN0Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgbm9kZSA9IGNvbWJpbmUobm9kZSwgcmVzdFtpbmRleF1bMV0sIHJlc3RbaW5kZXhdWzNdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBwYXJzZXIgd2hpY2ggcGFyc2VzIFxcPGZ1bmN0aW9uXFw+KFxcPGFyZ3NcXD4pLlxuICogKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGdW5jdGlvbjxUPihmdW5jOiBzdHJpbmcgfCBQLlBhcnNlcjxzdHJpbmc+LCBhcmdzOiBQLlBhcnNlcjxUPik6IFAuUGFyc2VyPFtzdHJpbmcsIFRdPiB7XG4gICAgY29uc3QgcmVhbEZ1bmMgPSB0eXBlb2YgZnVuYyA9PT0gXCJzdHJpbmdcIiA/IFAuc3RyaW5nKGZ1bmMpIDogZnVuYztcbiAgICByZXR1cm4gUC5zZXFNYXAoXG4gICAgICAgIHJlYWxGdW5jLnNraXAoUC5vcHRXaGl0ZXNwYWNlKSxcbiAgICAgICAgYXJncy50cmltKFAub3B0V2hpdGVzcGFjZSkud3JhcChQLnN0cmluZyhcIihcIiksIFAuc3RyaW5nKFwiKVwiKSksXG4gICAgICAgIChmLCBhKSA9PiBbZiwgYV1cbiAgICApO1xufVxuXG4vKiogQ2hhaW5zIGEgbGlzdCBvZiBwYXJzZXJzOyB0aGUgZmlyc3Qgb25lIG11c3Qgc3VjY2VlZCwgYnV0IGZvbGxvd2luZyBvbmVzIG1heSBmYWlsIHdpdGhvdXQgZmFpbGluZyB0aGUgb3ZlcmFsbCBwYXJzZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFpbk9wdDxUPihiYXNlOiBQLlBhcnNlcjxUPiwgLi4uZnVuY3M6ICgocjogVCkgPT4gUC5QYXJzZXI8VD4pW10pOiBQLlBhcnNlcjxUPiB7XG4gICAgcmV0dXJuIFAuY3VzdG9tKChfc3VjY2VzcywgX2ZhaWx1cmUpID0+IHtcbiAgICAgICAgcmV0dXJuIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChiYXNlIGFzIGFueSkuXyhpbnB1dCwgaSk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5zdGF0dXMpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGZ1bmMgb2YgZnVuY3MpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dCA9IChmdW5jKHJlc3VsdC52YWx1ZSBhcyBUKSBhcyBhbnkpLl8oaW5wdXQsIHJlc3VsdC5pbmRleCk7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXh0LnN0YXR1cykgcmV0dXJuIHJlc3VsdDtcblxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5leHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGV4cHJlc3Npb25zXG4gKi9cbmltcG9ydCB7IERhdGVUaW1lLCBEdXJhdGlvbiB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IHJlbmRlck1pbmltYWxEYXRlLCByZW5kZXJNaW5pbWFsRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcblxuLy8gUmUtZXhwb3J0cyBvZiB1c2VmdWwgZ2VuZXJpYyB0eXBlcy5cbmV4cG9ydCB7IExpbmsgfTtcblxuLyoqIFNob3J0aGFuZCBmb3IgYSBtYXBwaW5nIGZyb20ga2V5cyB0byB2YWx1ZXMuICovXG5leHBvcnQgdHlwZSBEYXRhT2JqZWN0ID0gUmVjb3JkPHN0cmluZywgYW55Pjtcbi8qKiBUaGUgbGl0ZXJhbCB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIHF1ZXJ5IGVuZ2luZS4gKi9cbmV4cG9ydCB0eXBlIExpdGVyYWxUeXBlID1cbiAgICB8IFwiYm9vbGVhblwiXG4gICAgfCBcIm51bWJlclwiXG4gICAgfCBcInN0cmluZ1wiXG4gICAgfCBcImRhdGVcIlxuICAgIHwgXCJkdXJhdGlvblwiXG4gICAgfCBcImxpbmtcIlxuICAgIHwgXCJhcnJheVwiXG4gICAgfCBcIm9iamVjdFwiXG4gICAgfCBcImZ1bmN0aW9uXCJcbiAgICB8IFwibnVsbFwiO1xuLyoqIFRoZSByYXcgdmFsdWVzIHRoYXQgYSBsaXRlcmFsIGNhbiB0YWtlIG9uLiAqL1xuZXhwb3J0IHR5cGUgTGl0ZXJhbCA9XG4gICAgfCBib29sZWFuXG4gICAgfCBudW1iZXJcbiAgICB8IHN0cmluZ1xuICAgIHwgRGF0ZVRpbWVcbiAgICB8IER1cmF0aW9uXG4gICAgfCBMaW5rXG4gICAgfCBBcnJheTxMaXRlcmFsPlxuICAgIHwgRGF0YU9iamVjdFxuICAgIHwgRnVuY3Rpb25cbiAgICB8IG51bGw7XG5cbi8qKiBNYXBzIHRoZSBzdHJpbmcgdHlwZSB0byBpdCdzIGV4dGVybmFsLCBBUEktZmFjaW5nIHJlcHJlc2VudGF0aW9uLiAqL1xuZXhwb3J0IHR5cGUgTGl0ZXJhbFJlcHI8VCBleHRlbmRzIExpdGVyYWxUeXBlPiA9IFQgZXh0ZW5kcyBcImJvb2xlYW5cIlxuICAgID8gYm9vbGVhblxuICAgIDogVCBleHRlbmRzIFwibnVtYmVyXCJcbiAgICA/IG51bWJlclxuICAgIDogVCBleHRlbmRzIFwic3RyaW5nXCJcbiAgICA/IHN0cmluZ1xuICAgIDogVCBleHRlbmRzIFwiZHVyYXRpb25cIlxuICAgID8gRHVyYXRpb25cbiAgICA6IFQgZXh0ZW5kcyBcImRhdGVcIlxuICAgID8gRGF0ZVRpbWVcbiAgICA6IFQgZXh0ZW5kcyBcIm51bGxcIlxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIFwibGlua1wiXG4gICAgPyBMaW5rXG4gICAgOiBUIGV4dGVuZHMgXCJhcnJheVwiXG4gICAgPyBBcnJheTxMaXRlcmFsPlxuICAgIDogVCBleHRlbmRzIFwib2JqZWN0XCJcbiAgICA/IERhdGFPYmplY3RcbiAgICA6IFQgZXh0ZW5kcyBcImZ1bmN0aW9uXCJcbiAgICA/IEZ1bmN0aW9uXG4gICAgOiBhbnk7XG5cbi8qKiBBIHdyYXBwZWQgbGl0ZXJhbCB2YWx1ZSB3aGljaCBjYW4gYmUgc3dpdGNoZWQgb24uICovXG5leHBvcnQgdHlwZSBXcmFwcGVkTGl0ZXJhbCA9XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcInN0cmluZ1wiPlxuICAgIHwgTGl0ZXJhbFdyYXBwZXI8XCJudW1iZXJcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwiYm9vbGVhblwiPlxuICAgIHwgTGl0ZXJhbFdyYXBwZXI8XCJkYXRlXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImR1cmF0aW9uXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImxpbmtcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwiYXJyYXlcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwib2JqZWN0XCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImZ1bmN0aW9uXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcIm51bGxcIj47XG5cbi8qKiBDb21iaW5lcyBhIHRleHR1YWwgdHlwZSBhbmQgdmFsdWU7IHByaW1hcmlseSB1c2VmdWwgZm9yIHN3aXRjaGluZyBvbi5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXRlcmFsV3JhcHBlcjxUIGV4dGVuZHMgTGl0ZXJhbFR5cGU+IHtcbiAgICB0eXBlOiBUO1xuICAgIHZhbHVlOiBMaXRlcmFsUmVwcjxUPjtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiAgVXRpbGl0eSBsaWJyYXJ5IGZvciBoYW5kbGluZyBsaXRlcmFsIHZhbHVlcy4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgTGl0ZXJhbHMge1xuICAgIC8qKiBTZXR0aW5ncyB1c2VkIHdoZW4gZm9ybWF0dGluZyBsaXRlcmFsIHZhbHVlcyB0byB0ZXh0LiAqL1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgVG9TdHJpbmdTZXR0aW5ncyB7XG4gICAgICAgIC8qKiBXaGF0IGEgbnVsbCB3aWxsIHJlbmRlciBhcy4gKi9cbiAgICAgICAgbnVsbFJlcHJlc2VudGF0aW9uOiBzdHJpbmc7XG5cbiAgICAgICAgLyoqIERhdGUgZm9ybWF0LiAqL1xuICAgICAgICBkYXRlRm9ybWF0OiBzdHJpbmc7XG5cbiAgICAgICAgLyoqIERhdGUtdGltZSBmb3JtYXQuICovXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqIFNhbmUsIEVuZ2xpc2gtYmFzZWQgZGVmYXVsdHMgZm9yIGRhdGUgZm9ybWF0cy4gKi9cbiAgICBleHBvcnQgY29uc3QgREVGQVVMVF9UT19TVFJJTkc6IFRvU3RyaW5nU2V0dGluZ3MgPSB7XG4gICAgICAgIG51bGxSZXByZXNlbnRhdGlvbjogXCItXCIsXG5cbiAgICAgICAgZGF0ZUZvcm1hdDogXCJNTU1NIGRkLCB5eXl5XCIsXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBcImg6bW0gYSAtIE1NTU0gZGQsIHl5eXlcIixcbiAgICB9O1xuXG4gICAgLyoqIENvbnZlcnQgYW4gYXJiaXRyYXJ5IHZhbHVlIGludG8gYSByZWFzb25hYmxlLCBNYXJrZG93bi1mcmllbmRseSBzdHJpbmcgaWYgcG9zc2libGUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKFxuICAgICAgICBmaWVsZDogYW55LFxuICAgICAgICBzZXR0aW5nOiBUb1N0cmluZ1NldHRpbmdzID0gREVGQVVMVF9UT19TVFJJTkcsXG4gICAgICAgIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IGZhbHNlXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHdyYXBwZWQgPSB3cmFwVmFsdWUoZmllbGQpO1xuICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBzZXR0aW5nLm51bGxSZXByZXNlbnRhdGlvbjtcblxuICAgICAgICBzd2l0Y2ggKHdyYXBwZWQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZy5udWxsUmVwcmVzZW50YXRpb247XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIlwiICsgd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFya2Rvd24oKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIjxmdW5jdGlvbj5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xuICAgICAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHJlc3VsdCArPSBcIltcIjtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gd3JhcHBlZC52YWx1ZS5tYXAoKGYpID0+IHRvU3RyaW5nKGYsIHNldHRpbmcsIHRydWUpKS5qb2luKFwiLCBcIik7XG4gICAgICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkgcmVzdWx0ICs9IFwiXVwiO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgXCJ7IFwiICtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMod3JhcHBlZC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGUpID0+IGVbMF0gKyBcIjogXCIgKyB0b1N0cmluZyhlWzFdLCBzZXR0aW5nLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiLCBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIiB9XCJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVuZGVyTWluaW1hbERhdGUod3JhcHBlZC52YWx1ZSwgc2V0dGluZy5kYXRlRm9ybWF0LCBzZXR0aW5nLmRhdGVUaW1lRm9ybWF0KTtcbiAgICAgICAgICAgIGNhc2UgXCJkdXJhdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiByZW5kZXJNaW5pbWFsRHVyYXRpb24od3JhcHBlZC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogV3JhcCBhIGxpdGVyYWwgdmFsdWUgc28geW91IGNhbiBzd2l0Y2ggb24gaXQgZWFzaWx5LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB3cmFwVmFsdWUodmFsOiBMaXRlcmFsKTogV3JhcHBlZExpdGVyYWwgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaXNOdWxsKHZhbCkpIHJldHVybiB7IHR5cGU6IFwibnVsbFwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzTnVtYmVyKHZhbCkpIHJldHVybiB7IHR5cGU6IFwibnVtYmVyXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNTdHJpbmcodmFsKSkgcmV0dXJuIHsgdHlwZTogXCJzdHJpbmdcIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc0Jvb2xlYW4odmFsKSkgcmV0dXJuIHsgdHlwZTogXCJib29sZWFuXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNEdXJhdGlvbih2YWwpKSByZXR1cm4geyB0eXBlOiBcImR1cmF0aW9uXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNEYXRlKHZhbCkpIHJldHVybiB7IHR5cGU6IFwiZGF0ZVwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzQXJyYXkodmFsKSkgcmV0dXJuIHsgdHlwZTogXCJhcnJheVwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzTGluayh2YWwpKSByZXR1cm4geyB0eXBlOiBcImxpbmtcIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc0Z1bmN0aW9uKHZhbCkpIHJldHVybiB7IHR5cGU6IFwiZnVuY3Rpb25cIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKSByZXR1cm4geyB0eXBlOiBcIm9iamVjdFwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlbHkgbWFwIGNvbXBsZXggb2JqZWN0cyBhdCB0aGUgbGVhdmVzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBtYXBMZWF2ZXModmFsOiBMaXRlcmFsLCBmdW5jOiAodDogTGl0ZXJhbCkgPT4gTGl0ZXJhbCk6IExpdGVyYWwge1xuICAgICAgICBpZiAoaXNPYmplY3QodmFsKSkge1xuICAgICAgICAgICAgbGV0IHJlc3VsdDogRGF0YU9iamVjdCA9IHt9O1xuICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbCkpIHJlc3VsdFtrZXldID0gbWFwTGVhdmVzKHZhbHVlLCBmdW5jKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBMaXRlcmFsW10gPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIHZhbCkgcmVzdWx0LnB1c2gobWFwTGVhdmVzKHZhbHVlLCBmdW5jKSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmModmFsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0d28gYXJiaXRyYXJ5IGxpdGVyYWxzIGFyZSBlcXVhbC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZXF1YWxzKGZpcnN0OiBMaXRlcmFsIHwgdW5kZWZpbmVkLCBzZWNvbmQ6IExpdGVyYWwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmUoZmlyc3QsIHNlY29uZCkgPT0gMDtcbiAgICB9XG5cbiAgICAvKiogQ29tcGFyZSB0d28gYXJiaXRyYXJ5IEphdmFTY3JpcHQgdmFsdWVzLiBQcm9kdWNlcyBhIHRvdGFsIG9yZGVyaW5nIG92ZXIgQU5ZIHBvc3NpYmxlIGRhdGFjb3JlIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb21wYXJlKFxuICAgICAgICB2YWwxOiBMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICAgICB2YWwyOiBMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICAgICBsaW5rTm9ybWFsaXplcj86IChsaW5rOiBzdHJpbmcpID0+IHN0cmluZ1xuICAgICk6IG51bWJlciB7XG4gICAgICAgIC8vIFJlZmVyZW5jZSBlcXVhbGl0eSAtIHNob3J0IGNpcmN1aXQuXG4gICAgICAgIGlmICh2YWwxID09PSB2YWwyKSByZXR1cm4gMDtcblxuICAgICAgICAvLyBIYW5kbGUgdW5kZWZpbmVkL251bGxzIGZpcnN0LlxuICAgICAgICBpZiAodmFsMSA9PT0gdW5kZWZpbmVkKSB2YWwxID0gbnVsbDtcbiAgICAgICAgaWYgKHZhbDIgPT09IHVuZGVmaW5lZCkgdmFsMiA9IG51bGw7XG4gICAgICAgIGlmICh2YWwxID09PSBudWxsICYmIHZhbDIgPT09IG51bGwpIHJldHVybiAwO1xuICAgICAgICBlbHNlIGlmICh2YWwxID09PSBudWxsKSByZXR1cm4gLTE7XG4gICAgICAgIGVsc2UgaWYgKHZhbDIgPT09IG51bGwpIHJldHVybiAxO1xuXG4gICAgICAgIC8vIEEgbm9uLW51bGwgdmFsdWUgbm93IHdoaWNoIHdlIGNhbiB3cmFwICYgY29tcGFyZSBvbi5cbiAgICAgICAgbGV0IHdyYXAxID0gd3JhcFZhbHVlKHZhbDEpO1xuICAgICAgICBsZXQgd3JhcDIgPSB3cmFwVmFsdWUodmFsMik7XG5cbiAgICAgICAgaWYgKHdyYXAxID09PSB1bmRlZmluZWQgJiYgd3JhcDIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gICAgICAgIGVsc2UgaWYgKHdyYXAxID09PSB1bmRlZmluZWQpIHJldHVybiAtMTtcbiAgICAgICAgZWxzZSBpZiAod3JhcDIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDE7XG5cbiAgICAgICAgLy8gU2hvcnQtY2lyY3VpdCBvbiBkaWZmZXJlbnQgdHlwZXMgb3Igb24gcmVmZXJlbmNlIGVxdWFsaXR5LlxuICAgICAgICBpZiAod3JhcDEudHlwZSAhPSB3cmFwMi50eXBlKSByZXR1cm4gd3JhcDEudHlwZS5sb2NhbGVDb21wYXJlKHdyYXAyLnR5cGUpO1xuICAgICAgICBpZiAod3JhcDEudmFsdWUgPT09IHdyYXAyLnZhbHVlKSByZXR1cm4gMDtcblxuICAgICAgICBzd2l0Y2ggKHdyYXAxLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUubG9jYWxlQ29tcGFyZSh3cmFwMi52YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgICAgIGlmICh3cmFwMS52YWx1ZSA8ICh3cmFwMi52YWx1ZSBhcyBudW1iZXIpKSByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAod3JhcDEudmFsdWUgPT0gKHdyYXAyLnZhbHVlIGFzIG51bWJlcikpIHJldHVybiAwO1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICAgICAgaWYgKHdyYXAxLnZhbHVlID09IHdyYXAyLnZhbHVlKSByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiB3cmFwMS52YWx1ZSA/IDEgOiAtMTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgbGV0IGxpbmsxID0gd3JhcDEudmFsdWU7XG4gICAgICAgICAgICAgICAgbGV0IGxpbmsyID0gd3JhcDIudmFsdWUgYXMgTGluaztcbiAgICAgICAgICAgICAgICBsZXQgbm9ybWFsaXplID0gbGlua05vcm1hbGl6ZXIgPz8gKCh4OiBzdHJpbmcpID0+IHgpO1xuXG4gICAgICAgICAgICAgICAgLy8gV2UgY2FuJ3QgY29tcGFyZSBieSBmaWxlIG5hbWUgb3IgZGlzcGxheSwgc2luY2UgdGhhdCB3b3VsZCBicmVhayBsaW5rIGVxdWFsaXR5LiBDb21wYXJlIGJ5IHBhdGguXG4gICAgICAgICAgICAgICAgbGV0IHBhdGhDb21wYXJlID0gbm9ybWFsaXplKGxpbmsxLnBhdGgpLmxvY2FsZUNvbXBhcmUobm9ybWFsaXplKGxpbmsyLnBhdGgpKTtcbiAgICAgICAgICAgICAgICBpZiAocGF0aENvbXBhcmUgIT0gMCkgcmV0dXJuIHBhdGhDb21wYXJlO1xuXG4gICAgICAgICAgICAgICAgLy8gVGhlbiBjb21wYXJlIGJ5IHR5cGUuXG4gICAgICAgICAgICAgICAgbGV0IHR5cGVDb21wYXJlID0gbGluazEudHlwZS5sb2NhbGVDb21wYXJlKGxpbmsyLnR5cGUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlQ29tcGFyZSAhPSAwKSByZXR1cm4gdHlwZUNvbXBhcmU7XG5cbiAgICAgICAgICAgICAgICAvLyBUaGVuIGNvbXBhcmUgYnkgc3VicGF0aCBleGlzdGVuY2UuXG4gICAgICAgICAgICAgICAgaWYgKGxpbmsxLnN1YnBhdGggJiYgIWxpbmsyLnN1YnBhdGgpIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIGlmICghbGluazEuc3VicGF0aCAmJiBsaW5rMi5zdWJwYXRoKSByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKSByZXR1cm4gMDtcblxuICAgICAgICAgICAgICAgIC8vIFNpbmNlIGJvdGggaGF2ZSBhIHN1YnBhdGgsIGNvbXBhcmUgYnkgc3VicGF0aC5cbiAgICAgICAgICAgICAgICByZXR1cm4gKGxpbmsxLnN1YnBhdGggPz8gXCJcIikubG9jYWxlQ29tcGFyZShsaW5rMi5zdWJwYXRoID8/IFwiXCIpO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCAod3JhcDIudmFsdWUgYXMgRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUgYXMgRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCAod3JhcDIudmFsdWUgYXMgRHVyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUgYXMgRHVyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjYXNlIFwiYXJyYXlcIjpcbiAgICAgICAgICAgICAgICBsZXQgZjEgPSB3cmFwMS52YWx1ZTtcbiAgICAgICAgICAgICAgICBsZXQgZjIgPSB3cmFwMi52YWx1ZSBhcyBhbnlbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgTWF0aC5taW4oZjEubGVuZ3RoLCBmMi5sZW5ndGgpOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjb21wID0gY29tcGFyZShmMVtpbmRleF0sIGYyW2luZGV4XSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21wICE9IDApIHJldHVybiBjb21wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZjEubGVuZ3RoIC0gZjIubGVuZ3RoO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGxldCBvMSA9IHdyYXAxLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCBvMiA9IHdyYXAyLnZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgICAgICAgICAgbGV0IGsxID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvMSkpO1xuICAgICAgICAgICAgICAgIGxldCBrMiA9IEFycmF5LmZyb20oT2JqZWN0LmtleXMobzIpKTtcbiAgICAgICAgICAgICAgICBrMS5zb3J0KCk7XG4gICAgICAgICAgICAgICAgazIuc29ydCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGtleUNvbXBhcmUgPSBjb21wYXJlKGsxLCBrMik7XG4gICAgICAgICAgICAgICAgaWYgKGtleUNvbXBhcmUgIT0gMCkgcmV0dXJuIGtleUNvbXBhcmU7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgb2YgazEpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbXAgPSBjb21wYXJlKG8xW2tleV0sIG8yW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKSByZXR1cm4gY29tcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YWNvcmUgdHlwZSBmb3IgYW4gYXJiaXRyYXJ5IHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB0eXBlT2YodmFsOiBhbnkpOiBMaXRlcmFsVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB3cmFwVmFsdWUodmFsKT8udHlwZTtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBcInRydXRoeVwiIChpLmUuLCBpcyBub24tbnVsbCBhbmQgaGFzIGRhdGEgaW4gaXQpLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc1RydXRoeShmaWVsZDogTGl0ZXJhbCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgd3JhcHBlZCA9IHdyYXBWYWx1ZShmaWVsZCk7XG4gICAgICAgIGlmICghd3JhcHBlZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUgIT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhd3JhcHBlZC52YWx1ZS5wYXRoO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b01pbGxpcygpICE9IDA7XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5hcyhcInNlY29uZHNcIikgIT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMod3JhcHBlZC52YWx1ZSkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICBjYXNlIFwibnVsbFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIERlZXAgY29weSBhIGZpZWxkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBkZWVwQ29weTxUIGV4dGVuZHMgTGl0ZXJhbD4oZmllbGQ6IFQpOiBUIHtcbiAgICAgICAgaWYgKGZpZWxkID09PSBudWxsIHx8IGZpZWxkID09PSB1bmRlZmluZWQpIHJldHVybiBmaWVsZDtcblxuICAgICAgICBpZiAoTGl0ZXJhbHMuaXNBcnJheShmaWVsZCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoW10gYXMgTGl0ZXJhbFtdKS5jb25jYXQoZmllbGQubWFwKCh2KSA9PiBkZWVwQ29weSh2KSkpIGFzIFQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNPYmplY3QoZmllbGQpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBMaXRlcmFsPiA9IHt9O1xuICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGZpZWxkKSkgcmVzdWx0W2tleV0gPSBkZWVwQ29weSh2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIFQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIHN0cmluZy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gXCJzdHJpbmdcIjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlci4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsOiBhbnkpOiB2YWwgaXMgbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gXCJudW1iZXJcIjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIGRhdGUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZSh2YWw6IGFueSk6IHZhbCBpcyBEYXRlVGltZSB7XG4gICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEYXRlVGltZTtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIGR1cmF0aW9uLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc0R1cmF0aW9uKHZhbDogYW55KTogdmFsIGlzIER1cmF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIER1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc051bGwodmFsOiBhbnkpOiB2YWwgaXMgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZSBpZiB0aGUgdmFsdWUgaXMgYW4gYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodmFsOiBhbnkpOiB2YWwgaXMgYW55W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWwpO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIHZhbHVlIGlzIGEgYm9vbGVhbi4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNCb29sZWFuKHZhbDogYW55KTogdmFsIGlzIGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gXCJib29sZWFuXCI7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZSBpZiB0aGUgdmFsdWUgaXMgYSBsaW5rLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc0xpbmsodmFsOiBhbnkpOiB2YWwgaXMgTGluayB7XG4gICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBMaW5rO1xuICAgIH1cblxuICAgIC8qKiBDaGVja3MgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIG9iamVjdCAoYW5kIG5vdCBhbnkgb3RoZXIgZGF0YWNvcmUtcmVjb2duaXplZCBvYmplY3QtbGlrZSB0eXBlKS4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNPYmplY3QodmFsOiBhbnkpOiB2YWwgaXMgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB2YWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbCA9PSBcIm9iamVjdFwiICYmXG4gICAgICAgICAgICAhaXNBcnJheSh2YWwpICYmXG4gICAgICAgICAgICAhaXNEdXJhdGlvbih2YWwpICYmXG4gICAgICAgICAgICAhaXNEYXRlKHZhbCkgJiZcbiAgICAgICAgICAgICFpc0xpbmsodmFsKSAmJlxuICAgICAgICAgICAgIWlzTnVsbCh2YWwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGEgamF2YXNjcmlwdCBmdW5jdGlvbi4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWw6IGFueSk6IHZhbCBpcyBGdW5jdGlvbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09IFwiZnVuY3Rpb25cIjtcbiAgICB9XG59XG5cbi8qKiBBIGdyb3VwaW5nIG9uIGEgdHlwZSB3aGljaCBzdXBwb3J0cyByZWN1cnNpdmVseS1uZXN0ZWQgZ3JvdXBzLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgdHlwZSBHcm91cEVsZW1lbnQ8VD4gPSB7IGtleTogTGl0ZXJhbDsgcm93czogR3JvdXBpbmc8VD4gfTtcbi8qKlxuICogQSBncm91cGluZywgd2hpY2ggY2FuIGJlIGVpdGhlcjpcbiAqIC0gYW4gYXJyYXkgb2YgZWxlbWVudHMgb2YgdHlwZSBgVGAsIG9yXG4gKiAtIGFuIGFycmF5IG9mIHtAbGluayBHcm91cGVsZW1lbnR9c1xuICpcbiAqIEBncm91cCBDb21tb24gVHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgR3JvdXBpbmc8VD4gPSBUW10gfCBHcm91cEVsZW1lbnQ8VD5bXTtcbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgbmFtZXNwYWNlIEdyb3VwaW5ncyB7XG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGdyb3VwIGVudHJ5IGlzIGEgc3RhbmRhbG9uZSB2YWx1ZSwgb3IgYSBncm91cGluZyBvZiBzdWItZW50cmllcy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNFbGVtZW50R3JvdXA8VD4oZW50cnk6IGFueSk6IGVudHJ5IGlzIEdyb3VwRWxlbWVudDxUPiB7XG4gICAgICAgIHJldHVybiBMaXRlcmFscy5pc09iamVjdChlbnRyeSkgJiYgT2JqZWN0LmtleXMoZW50cnkpLmxlbmd0aCA9PSAyICYmIFwia2V5XCIgaW4gZW50cnkgJiYgXCJyb3dzXCIgaW4gZW50cnk7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgZ3JvdXBpbmcgYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBpbmc8VD4oZW50cnk6IEdyb3VwaW5nPFQ+KTogZW50cnkgaXMgR3JvdXBFbGVtZW50PFQ+W10ge1xuICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGVudHJ5KSBpZiAoIWlzRWxlbWVudEdyb3VwKGVsZW1lbnQpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgbGVhZiBhbmQgaGFzIG5vIHN1Ymdyb3VwaW5ncy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNMZWFmPFQ+KGVudHJ5OiBHcm91cGluZzxUPik6IGVudHJ5IGlzIFRbXSB7XG4gICAgICAgIGZvciAobGV0IGVsZW1lbnQgb2YgZW50cnkpIGlmIChpc0VsZW1lbnRHcm91cChlbGVtZW50KSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKiBDb3VudCB0aGUgdG90YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgcmVjdXJzaXZlIGdyb3VwaW5nLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb3VudDxUPihlbGVtZW50czogR3JvdXBpbmc8VD4gfCBHcm91cEVsZW1lbnQ8VD4pOiBudW1iZXIge1xuICAgICAgICBpZiAoaXNFbGVtZW50R3JvdXAoZWxlbWVudHMpKSB7XG4gICAgICAgICAgICByZXR1cm4gY291bnQoZWxlbWVudHMucm93cyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNHcm91cGluZyhlbGVtZW50cykpIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgc3ViZ3JvdXAgb2YgZWxlbWVudHMpIHJlc3VsdCArPSBjb3VudChzdWJncm91cC5yb3dzKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudHMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlY3Vyc2l2ZWx5IHNsaWNlIGEgZ3JvdXBpbmcsIHByZXNlcnZpbmcgdGhlIGdyb3VwIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIGVsZW1lbnRzIFtzdGFydC4uLmVuZCkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHNsaWNlPFQ+KGVsZW1lbnRzOiBHcm91cGluZzxUPiwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiBHcm91cGluZzxUPiB7XG4gICAgICAgIGlmIChlbmQgPD0gc3RhcnQpIHJldHVybiBbXTtcbiAgICAgICAgaWYgKGlzTGVhZihlbGVtZW50cykpIHJldHVybiBlbGVtZW50cy5zbGljZShzdGFydCwgZW5kKTtcblxuICAgICAgICAvLyBGaW5kIHRoZSBmaXJzdCBncm91cCB0aGF0IGNvbnRhaW5zIGluZGV4IGBzdGFydGAuXG4gICAgICAgIGxldCBpbmRleCA9IDAsXG4gICAgICAgICAgICBzZWVuID0gMDtcbiAgICAgICAgd2hpbGUgKGluZGV4IDwgZWxlbWVudHMubGVuZ3RoICYmIHNlZW4gKyBjb3VudChlbGVtZW50c1tpbmRleF0pIDw9IHN0YXJ0KSB7XG4gICAgICAgICAgICBzZWVuICs9IGNvdW50KGVsZW1lbnRzW2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3RhcnQgd2FzIGdyZWF0ZXIgdGhhbiB0aGUgZW50aXJlIGxlbmd0aCBvZiB0aGUgZ3JvdXBpbmdzLlxuICAgICAgICBpZiAoaW5kZXggPj0gZWxlbWVudHMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiB7IGtleTogTGl0ZXJhbDsgcm93czogR3JvdXBpbmc8VD4gfVtdID0gW107XG4gICAgICAgIHdoaWxlIChpbmRleCA8IGVsZW1lbnRzLmxlbmd0aCAmJiBzZWVuIDwgZW5kKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IGVsZW1lbnRzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU2l6ZSA9IGNvdW50KGdyb3VwKTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU3RhcnQgPSBNYXRoLm1heChzZWVuLCBzdGFydCk7XG4gICAgICAgICAgICBjb25zdCBncm91cEVuZCA9IE1hdGgubWluKGdyb3VwU2l6ZSArIHNlZW4sIGVuZCk7XG5cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IGdyb3VwLmtleSxcbiAgICAgICAgICAgICAgICByb3dzOiBzbGljZShncm91cC5yb3dzLCBncm91cFN0YXJ0IC0gc2VlbiwgZ3JvdXBFbmQgLSBzZWVuKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzZWVuICs9IGdyb3VwU2l6ZTtcbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgYXBpXG4gKi9cbi8qKlxuICogIEZ1bmN0aW9uYWwgcmV0dXJuIHR5cGUgZm9yIGVycm9yIGhhbmRsaW5nLlxuICogQGhpZGRlblxuICogKi9cbmV4cG9ydCBjbGFzcyBTdWNjZXNzPFQsIEU+IHtcbiAgICBwdWJsaWMgc3VjY2Vzc2Z1bDogdHJ1ZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwPFU+KGY6IChhOiBUKSA9PiBVKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKGYodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmbGF0TWFwPFU+KGY6IChhOiBUKSA9PiBSZXN1bHQ8VSwgRT4pOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gZih0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwRXJyPFU+KGY6IChlOiBFKSA9PiBVKTogUmVzdWx0PFQsIFU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55IGFzIFJlc3VsdDxULCBVPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmltYXA8VDIsIEUyPihzdWNjOiAoYTogVCkgPT4gVDIsIF9mYWlsOiAoYjogRSkgPT4gRTIpOiBSZXN1bHQ8VDIsIEUyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hcChzdWNjKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG9yRWxzZShfdmFsdWU6IFQpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNhc3Q8VT4oKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55O1xuICAgIH1cblxuICAgIHB1YmxpYyBvckVsc2VUaHJvdyhfbWVzc2FnZT86IChlOiBFKSA9PiBzdHJpbmcpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxufVxuXG4vKiogRnVuY3Rpb25hbCByZXR1cm4gdHlwZSBmb3IgZXJyb3IgaGFuZGxpbmcuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWlsdXJlPFQsIEU+IHtcbiAgICBwdWJsaWMgc3VjY2Vzc2Z1bDogZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGVycm9yOiBFKSB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXA8VT4oX2Y6IChhOiBUKSA9PiBVKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55IGFzIEZhaWx1cmU8VSwgRT47XG4gICAgfVxuXG4gICAgcHVibGljIGZsYXRNYXA8VT4oX2Y6IChhOiBUKSA9PiBSZXN1bHQ8VSwgRT4pOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnkgYXMgRmFpbHVyZTxVLCBFPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwRXJyPFU+KGY6IChlOiBFKSA9PiBVKTogUmVzdWx0PFQsIFU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGYodGhpcy5lcnJvcikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBiaW1hcDxUMiwgRTI+KF9zdWNjOiAoYTogVCkgPT4gVDIsIGZhaWw6IChiOiBFKSA9PiBFMik6IFJlc3VsdDxUMiwgRTI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwRXJyKGZhaWwpIGFzIGFueTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3JFbHNlKHZhbHVlOiBUKTogVCB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FzdDxVPigpOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG9yRWxzZVRocm93KG1lc3NhZ2U/OiAoZTogRSkgPT4gc3RyaW5nKTogVCB7XG4gICAgICAgIGlmIChtZXNzYWdlKSB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSh0aGlzLmVycm9yKSk7XG4gICAgICAgIGVsc2UgdGhyb3cgbmV3IEVycm9yKFwiXCIgKyB0aGlzLmVycm9yKTtcbiAgICB9XG59XG5cbi8qKlxuICogQSBtb25hZGljIHJlc3VsdCB0eXBlIHdoaWNoIHN0b3JlcyBlaXRoZXIgXCJzdWNjZXNzXCIgb3IgXCJmYWlsdXJlXCIuIEFuIGFsdGVybmF0aXZlIGhhbmRsaW5nIGV4Y2VwdGlvbmFsIGJlaGF2aW9yXG4gKiBieSB1c2luZyB0aGUgcmV0dXJuIHZhbHVlIGluc3RlYWQgb2YgYW4gZXhjZXB0aW9uLlxuICovXG5leHBvcnQgdHlwZSBSZXN1bHQ8VCwgRT4gPSBTdWNjZXNzPFQsIEU+IHwgRmFpbHVyZTxULCBFPjtcblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBNb25hZGljICdSZXN1bHQnIHR5cGUgd2hpY2ggZW5jYXBzdWxhdGVzIHdoZXRoZXIgYSBwcm9jZWR1cmUgc3VjY2VlZGVkIG9yIGZhaWxlZCwgYXMgd2VsbCBhcyBpdCdzIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBSZXN1bHQge1xuICAgIC8qKiBDb25zdHJ1Y3QgYSBuZXcgc3VjY2VzcyByZXN1bHQgd3JhcHBpbmcgdGhlIGdpdmVuIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzdWNjZXNzPFQsIEU+KHZhbHVlOiBUKTogUmVzdWx0PFQsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQ29uc3RydWN0IGEgbmV3IGZhaWx1cmUgdmFsdWUgd3JhcHBpbmcgdGhlIGdpdmVuIGVycm9yLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBmYWlsdXJlPFQsIEU+KGVycm9yOiBFKTogUmVzdWx0PFQsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGVycm9yKTtcbiAgICB9XG5cbiAgICAvKiogSm9pbiB0d28gcmVzdWx0cyB3aXRoIGEgYmktZnVuY3Rpb24gYW5kIHJldHVybiBhIG5ldyByZXN1bHQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZsYXRNYXAyPFQxLCBUMiwgTywgRT4oXG4gICAgICAgIGZpcnN0OiBSZXN1bHQ8VDEsIEU+LFxuICAgICAgICBzZWNvbmQ6IFJlc3VsdDxUMiwgRT4sXG4gICAgICAgIGY6IChhOiBUMSwgYjogVDIpID0+IFJlc3VsdDxPLCBFPlxuICAgICk6IFJlc3VsdDxPLCBFPiB7XG4gICAgICAgIGlmIChmaXJzdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICBpZiAoc2Vjb25kLnN1Y2Nlc3NmdWwpIHJldHVybiBmKGZpcnN0LnZhbHVlLCBzZWNvbmQudmFsdWUpO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gZmFpbHVyZShzZWNvbmQuZXJyb3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmUoZmlyc3QuZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEpvaW4gdHdvIHJlc3VsdHMgd2l0aCBhIGJpLWZ1bmN0aW9uIGFuZCByZXR1cm4gYSBuZXcgcmVzdWx0LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBtYXAyPFQxLCBUMiwgTywgRT4oXG4gICAgICAgIGZpcnN0OiBSZXN1bHQ8VDEsIEU+LFxuICAgICAgICBzZWNvbmQ6IFJlc3VsdDxUMiwgRT4sXG4gICAgICAgIGY6IChhOiBUMSwgYjogVDIpID0+IE9cbiAgICApOiBSZXN1bHQ8TywgRT4ge1xuICAgICAgICByZXR1cm4gZmxhdE1hcDIoZmlyc3QsIHNlY29uZCwgKGEsIGIpID0+IHN1Y2Nlc3MoZihhLCBiKSkpO1xuICAgIH1cblxuICAgIC8qKiBNYXAgYSBmYWlsYWJsZSBmdW5jdGlvbiBvdmVyIGFsbCBlbGVtZW50cyBpbiB0aGUgbGlzdCwgcmV0dXJuaW5nIGVhcmx5IG9uIGZhaWx1cmUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG1hcEFsbDxULCBPLCBFPihpbnB1dDogSXRlcmFibGU8VD4sIGZ1bmM6IChpbnB1dDogVCkgPT4gUmVzdWx0PE8sIEU+KTogUmVzdWx0PE9bXSwgRT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IE9bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgaW5wdXQpIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IGZ1bmMoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoIW91dHB1dC5zdWNjZXNzZnVsKSByZXR1cm4gb3V0cHV0LmNhc3QoKTtcblxuICAgICAgICAgICAgcmVzdWx0LnB1c2gob3V0cHV0LnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKiBDYXRjaCBhbnkgZXJyb3JzIGluIGEgY2FsbCwgcmV0dXJuaW5nIGEgcmVzdWx0IGluc3RlYWQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHRyeWluZzxUPihjYWxsOiAoKSA9PiBUKTogUmVzdWx0PFQsIEVycm9yPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoY2FsbCgpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ29udmVydCBhIHByb21pc2Ugd2hpY2ggbWF5IHRocm93IGludG8gYSBwcm9taXNlIHdoaWNoIHJldHVybnMgYSByZXN1bHQgb2YgdGhlIHN1Y2Nlc3NmdWwgdmFsdWUgb3IgYW4gZXJyb3IuICovXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jPFQ+KHByb21pc2U6IFByb21pc2U8VD4pOiBQcm9taXNlPFJlc3VsdDxULCBFcnJvcj4+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2Vzcyhhd2FpdCBwcm9taXNlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcblxuLyoqIFN0YXRpYyBzZXQgZWxlbWVudCB3aGljaCBtYXRjaGVzIGV2ZXJ5dGhpbmcuICovXG5leHBvcnQgdHlwZSBFdmVyeXRoaW5nID0geyB0eXBlOiBcImV2ZXJ5dGhpbmdcIiB9O1xuLyoqIFN0YXRpYyBzZXQgZWxlbWVudCB3aGljaCBtYXRjaGVzIG5vdGhpbmcuICovXG5leHBvcnQgdHlwZSBOb3RoaW5nID0geyB0eXBlOiBcIm5vdGhpbmdcIiB9O1xuLyoqIFNldCB3aGljaCBtYXRjaGVzIHRoZSBuZWdhdGlvbiBvZiBhIHNldC4gKi9cbmV4cG9ydCB0eXBlIE5lZ2F0ZWQ8VD4gPSB7IHR5cGU6IFwibmVnYXRlZFwiOyB2YWx1ZTogU2V0PFQ+IH07XG4vKiogU2V0IHdoaWNoIG1hdGNoZXMgYW4gYWN0dWFsIHNldCBvZiB2YWx1ZXMuICAqL1xuZXhwb3J0IHR5cGUgQXRvbTxUPiA9IHsgdHlwZTogXCJhdG9tXCI7IHZhbHVlOiBTZXQ8VD4gfTtcblxuLyoqIEFic3RyYWN0IGZpbHRlciB0eXBlIHdoaWNoIHJlcHJlc2VudHMgdGhlIHJlc3VsdHMgb2YgYXBwbHlpbmcgZmlsdGVyIG9wZXJhdGlvbnMgdG8gdGhlIGRhdGEgc3RvcmUuICovXG5leHBvcnQgdHlwZSBGaWx0ZXI8VD4gPSBFdmVyeXRoaW5nIHwgTm90aGluZyB8IEF0b208VD4gfCBOZWdhdGVkPFQ+O1xuXG4vKiogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGVmZmljaWVudGx5IG9wZXJhdGluZyBvbiBmaWx0ZXJzLiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBGaWx0ZXJzIHtcbiAgICAvKiogU3RhdGljIGZpbHRlciB3aGljaCBtYXRjaGVzIGV2ZXJ5dGhpbmcuICovXG4gICAgZXhwb3J0IGNvbnN0IEVWRVJZVEhJTkc6IEV2ZXJ5dGhpbmcgPSB7IHR5cGU6IFwiZXZlcnl0aGluZ1wiIH07XG4gICAgLyoqIFN0YXRpYyBmaWx0ZXIgd2hpY2ggbWF0Y2hlcyBub3RoaW5nLiAqL1xuICAgIGV4cG9ydCBjb25zdCBOT1RISU5HOiBOb3RoaW5nID0geyB0eXBlOiBcIm5vdGhpbmdcIiB9O1xuICAgIC8qKiBFbXB0eSBzZXQgY29uc3RhbnQuICovXG4gICAgZXhwb3J0IGNvbnN0IEVNUFRZX1NFVDogU2V0PGFueT4gPSBuZXcgU2V0KCk7XG5cbiAgICAvKiogQ29uc3RydWN0IGEgbmV3IGF0b20gZmlsdGVyLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBhdG9tPFQ+KHNldDogU2V0PFQ+KTogRmlsdGVyPFQ+IHtcbiAgICAgICAgaWYgKHNldC5zaXplID09IDApIHJldHVybiBOT1RISU5HO1xuXG4gICAgICAgIHJldHVybiB7IHR5cGU6IFwiYXRvbVwiLCB2YWx1ZTogc2V0IH07XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIGZpbHRlciB0aGF0IG1hdGNoZXMgZXZlcnl0aGluZyBvciBub3RoaW5nLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb25zdGFudDxUPih2YWx1ZTogYm9vbGVhbik6IEZpbHRlcjxUPiB7XG4gICAgICAgIGlmICh2YWx1ZSkgcmV0dXJuIEVWRVJZVEhJTkc7XG4gICAgICAgIGVsc2UgcmV0dXJuIE5PVEhJTkc7XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIG5ldyBhdG9tIGZpbHRlciB3aGljaCBpcyBOT1RISU5HIGlmIHNldCBpcyB1bmRlZmluZWQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG51bGxhYmxlQXRvbTxUPihzZXQ6IFNldDxUPiB8IHVuZGVmaW5lZCk6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBzZXQgIT09IHVuZGVmaW5lZCA/IGF0b20oc2V0KSA6IE5PVEhJTkc7XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIG5lZ2F0ZWQgYXRvbSBmaWx0ZXIuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG5lZ2F0ZWQ8VD4oc2V0OiBTZXQ8VD4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICBpZiAoc2V0LnNpemUgPT0gMCkgcmV0dXJuIEVWRVJZVEhJTkc7XG5cbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJuZWdhdGVkXCIsIHZhbHVlOiBzZXQgfTtcbiAgICB9XG5cbiAgICAvKiogUHJvZHVjZXMgdGhlIG5lZ2F0aW9uIG9mIGEgZmlsdGVyLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBuZWdhdGU8VD4oZmlsdGVyOiBGaWx0ZXI8VD4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXZlcnl0aGluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBOT1RISU5HO1xuICAgICAgICAgICAgY2FzZSBcIm5vdGhpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gRVZFUllUSElORztcbiAgICAgICAgICAgIGNhc2UgXCJhdG9tXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5lZ2F0ZWQoZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0b20oZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIGZpbHRlciBpcyBkZWZpbml0aXZlbHkgY3VycmVudGx5IGVtcHR5LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBlbXB0eTxUPihmaWx0ZXI6IEZpbHRlcjxUPik6IGJvb2xlYW4ge1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXZlcnl0aGluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY2FzZSBcImF0b21cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyLnZhbHVlLnNpemUgPT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJub3RoaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmVzb2x2ZSBhIHRvcC1sZXZlbCBmaWx0ZXIgd2l0aCB0aGUgc2V0IG9mIGFsbCBhdmFpbGFibGUgb2JqZWN0cy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gcmVzb2x2ZTxUPihmaWx0ZXI6IEZpbHRlcjxUPiwgZXZlcnl0aGluZzogU2V0PFQ+KTogU2V0PFQ+IHtcbiAgICAgICAgc3dpdGNoIChmaWx0ZXIudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImV2ZXJ5dGhpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZXZlcnl0aGluZztcbiAgICAgICAgICAgIGNhc2UgXCJub3RoaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZX1NFVDtcbiAgICAgICAgICAgIGNhc2UgXCJhdG9tXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNldEludGVyc2VjdE5lZ2F0aW9uKGV2ZXJ5dGhpbmcsIGZpbHRlci52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSW50ZXJzZWN0IGFuIGl0ZXJhYmxlIG9mIGZpbHRlcnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGludGVyc2VjdDxUPihlbGVtZW50czogSXRlcmFibGU8RmlsdGVyPFQ+Pik6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBsYXp5SW50ZXJzZWN0KGVsZW1lbnRzLCAoeCkgPT4geCk7XG4gICAgfVxuXG4gICAgLyoqIEludGVyc2VjdCBmaWx0ZXJzIGxhemlseSwgc2hvcnQtY2lyY3VpdGluZyBpZiB0aGUgaW50ZXJzZWN0aW9uIHdvdWxkIHByb2R1Y2UgTk9USElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eUludGVyc2VjdDxJLCBUPihcbiAgICAgICAgZWxlbWVudHM6IEl0ZXJhYmxlPEk+LFxuICAgICAgICBwcm9kdWNlOiAoaW5wdXQ6IEkpID0+IEZpbHRlcjxUPiB8IHVuZGVmaW5lZFxuICAgICk6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb24oZWxlbWVudHMsICh4KSA9PiBSZXN1bHQuc3VjY2Vzcyhwcm9kdWNlKHgpKSkub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogSW50ZXJzZWN0IGZpbHRlcnMgbGF6aWx5LCBzaG9ydC1jaXJjdWl0aW5nIGlmIHRoZSBpbnRlcnNlY3Rpb24gd291bGQgcHJvZHVjZSBOT1RISU5HLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb248SSwgVCwgRT4oXG4gICAgICAgIGVsZW1lbnRzOiBJdGVyYWJsZTxJPixcbiAgICAgICAgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBSZXN1bHQ8RmlsdGVyPFQ+IHwgdW5kZWZpbmVkLCBFPlxuICAgICk6IFJlc3VsdDxGaWx0ZXI8VD4sIEU+IHtcbiAgICAgICAgY29uc3QgYXRvbXM6IFNldDxUPltdID0gW107XG4gICAgICAgIGNvbnN0IG5lZ2F0aW9uczogU2V0PFQ+W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSBwcm9kdWNlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBtYXliZUZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIEVtcHR5IGZpbHRlcnMgd2lsbCBwcm9kdWNlIGFuIGVtcHR5IGludGVyc2VjdGlvbi5cbiAgICAgICAgICAgIGlmIChlbXB0eShmaWx0ZXIpKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoTk9USElORyk7XG4gICAgICAgICAgICAvLyBFVkVSWVRISU5HIGZpbHRlcnMgYXJlIHJlZHVuZGFudCBpbiBBTkRzLCBza2lwIHRoZW0uXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSBjb250aW51ZTtcblxuICAgICAgICAgICAgLy8gV2lsbCBvbmx5IGJlIGxlZnQgd2l0aCBhdG9tcyBvciBuZWdhdGlvbnMuXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT0gXCJhdG9tXCIpIGF0b21zLnB1c2goZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGZpbHRlci50eXBlID09IFwibmVnYXRlZFwiKSBuZWdhdGlvbnMucHVzaChmaWx0ZXIudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2Ugc3RhcnQgd2l0aCBzb21ldGhpbmcgb2YgdGhlIGZvcm0gYSAmJiBiICYmICFjICYmICFkLlxuICAgICAgICAvLyBJZiBubyB0ZXJtcywgdGhlbiBldmVyeXRoaW5nIHdhcyBFVkVSWVRISU5HIHNvIHJldHVybiB0aGF0LlxuICAgICAgICAvLyBJZiBvbmx5IGF0b21zLCBqdXN0IGludGVyc2VjdCB0aGVtIChhICYmIGIpLlxuICAgICAgICAvLyBJZiBvbmx5IG5lZ2F0aW9ucywgdGhlbiByZXdyaXRlICFjICYmICFkID0+ICEoYyB8fCBkKSBhbmQgcmV0dXJuIG5lZ2F0ZWQoYyB8fCBkKS5cbiAgICAgICAgLy8gSWYgYm90aCwgY29tcHV0ZSB4ID0gKGEgJiYgYikgYW5kIHkgPSAoYyB8fCBkKSwgYW5kIHRoZW4gY29tcHV0ZSB4ICYmICF5LlxuXG4gICAgICAgIGlmIChhdG9tcy5sZW5ndGggPT0gMCAmJiBuZWdhdGlvbnMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhFVkVSWVRISU5HKTtcbiAgICAgICAgfSBlbHNlIGlmIChhdG9tcy5sZW5ndGggPiAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKGF0b20oc2V0SW50ZXJzZWN0KGF0b21zKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobmVnYXRlZChzZXRVbmlvbihuZWdhdGlvbnMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKHNldEludGVyc2VjdE5lZ2F0aW9uKHNldEludGVyc2VjdChhdG9tcyksIHNldFVuaW9uKG5lZ2F0aW9ucykpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycywgcHJvZHVjaW5nIGEgc2luZ2xlIHJlc3VsdCBmaWx0ZXIuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHVuaW9uPFQ+KGZpbHRlcnM6IEl0ZXJhYmxlPEZpbHRlcjxUPj4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICByZXR1cm4gbGF6eVVuaW9uKGZpbHRlcnMsICh4KSA9PiB4KTtcbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycyBsYXppbHksIHNob3J0LWNpcmN1aXRpbmcgaWYgdGhlIHVuaW9uIHdvdWxkIHByb2R1Y2UgRVZFUllUSElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eVVuaW9uPEksIFQ+KGVsZW1lbnRzOiBJdGVyYWJsZTxJPiwgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBGaWx0ZXI8VD4gfCB1bmRlZmluZWQpOiBGaWx0ZXI8VD4ge1xuICAgICAgICByZXR1cm4gbGF6eUZhaWxhYmxlVW5pb24oZWxlbWVudHMsICh4KSA9PiBSZXN1bHQuc3VjY2Vzcyhwcm9kdWNlKHgpKSkub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycyBsYXppbHksIHNob3J0LWNpcmN1aXRpbmcgaWYgdGhlIHVuaW9uIHdvdWxkIHByb2R1Y2UgRVZFUllUSElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eUZhaWxhYmxlVW5pb248SSwgVCwgRT4oXG4gICAgICAgIGVsZW1lbnRzOiBJdGVyYWJsZTxJPixcbiAgICAgICAgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBSZXN1bHQ8RmlsdGVyPFQ+IHwgdW5kZWZpbmVkLCBFPlxuICAgICk6IFJlc3VsdDxGaWx0ZXI8VD4sIEU+IHtcbiAgICAgICAgY29uc3QgYXRvbXM6IFNldDxUPltdID0gW107XG4gICAgICAgIGNvbnN0IG5lZ2F0aW9uczogU2V0PFQ+W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSBwcm9kdWNlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBtYXliZUZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIEVWRVJZVEhJTkcgZmlsdGVycyB3aWxsIHByb2R1Y2UgZXZlcnl0aGluZyBhbHdheXMuXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRVZFUllUSElORyk7XG4gICAgICAgICAgICAvLyBFbXB0eSBmaWx0ZXJzIGFyZSByZWR1bmRhbnQuXG4gICAgICAgICAgICBpZiAoZW1wdHkoZmlsdGVyKSkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIFdpbGwgb25seSBiZSBsZWZ0IHdpdGggYXRvbXMgb3IgbmVnYXRpb25zLlxuICAgICAgICAgICAgaWYgKGZpbHRlci50eXBlID09IFwiYXRvbVwiKSBhdG9tcy5wdXNoKGZpbHRlci52YWx1ZSk7XG4gICAgICAgICAgICBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PSBcIm5lZ2F0ZWRcIikgbmVnYXRpb25zLnB1c2goZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9yIGlzIGEgYml0IGhhcmRlciB0aGFuIEFORCBzaW5jZSB5b3UgY2FuIGVuZCB1cCB3aXRoIHNjZW5hcmlvcyBsaWtlIGEgfHwgIWIsIHdoaWNoIGFyZVxuICAgICAgICAvLyBub3QgY29tcHV0YWJsZSBkaXJlY3RseS4gSG93ZXZlciwgd2UgY2FuIGRvIGJvb2xlYW4gbG9naWMgdG8gYWx3YXlzIHByb2R1Y2UgYSBzaW5nbGVcbiAgICAgICAgLy8gc2V0LlxuICAgICAgICAvLyBJZiBub3RoaW5nID0+IG5vdGhpbmcsIG5vIG5vbi1lbXB0eSBmaWx0ZXJzLlxuICAgICAgICAvLyBJZiBhdG9tcyBidXQgbm8gbmVnYXRpb25zIChhIHx8IGIgfHwgYykgPT4gY29tcHV0ZSB1bmlvbi5cbiAgICAgICAgLy8gSWYgbmVnYXRpb25zIGJ1dCBubyBhdG9tcyAoIWEgfHwgIWIgfHwgIWMpID0+IHJld3JpdGUgYXMgIShhICYmIGIgJiYgYykuXG4gICAgICAgIC8vIElmIGJvdGg6IChhIHx8IGIgfHwgIWMgfHwgIWQpID0+IGNvbWJpbmUgZWFjaCBwYXJ0IGludG8gKGEgfHwgYikgfHwgKCFjIHx8ICFkKSA9PiAoYSB8fCBiKSB8fCAhKGMgJiYgZCkgPT4gZSB8fCAhZiA9PiAhKCFlICYmIGYpIHdoaWNoXG4gICAgICAgIC8vIGNhbiBiZSBjb21wdXRlZCB1c2luZyBpbnRlcnNlY3Rpb24gbG9naWMuXG5cbiAgICAgICAgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKE5PVEhJTkcpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA+IDAgJiYgbmVnYXRpb25zLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKHNldFVuaW9uKGF0b21zKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5uZWdhdGVkKHNldEludGVyc2VjdChuZWdhdGlvbnMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobmVnYXRlZChzZXRJbnRlcnNlY3ROZWdhdGlvbihzZXRJbnRlcnNlY3QobmVnYXRpb25zKSwgc2V0VW5pb24oYXRvbXMpKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEVmZmljaWVudGx5IGNvbXB1dGUgdGhlIGludGVyc2VjdGlvbiBvZiBzZXRzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnNlY3Q8VD4oc2V0czogU2V0PFQ+W10pOiBTZXQ8VD4ge1xuICAgICAgICBpZiAoc2V0cy5sZW5ndGggPT0gMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgZWxzZSBpZiAoc2V0cy5sZW5ndGggPT0gMSkgcmV0dXJuIHNldHNbMF07XG5cbiAgICAgICAgLy8gU29ydCBieSBzaXplIGFuZCBjb21iaW5lIHNtYWxsZXN0IGFuZCBsYXJnZXN0IHNldCByZXBlYXRlZGx5LlxuICAgICAgICBsZXQgc29ydGVkID0gKFtdIGFzIFNldDxUPltdKS5jb25jYXQoc2V0cykuc29ydCgoYSwgYikgPT4gYS5zaXplIC0gYi5zaXplKTtcblxuICAgICAgICB3aGlsZSAoc29ydGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQ8VD4oKTtcbiAgICAgICAgICAgIGNvbnN0IGxhcmdlc3QgPSBzb3J0ZWQucG9wKCkhO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIHNvcnRlZFswXSkge1xuICAgICAgICAgICAgICAgIGlmIChsYXJnZXN0LmhhcyhlbGVtZW50KSkgcmVzdWx0LmFkZChlbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc29ydGVkWzBdID0gcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNvcnRlZFswXTtcbiAgICB9XG5cbiAgICAvKiogRWZmaWNpZW50bHkgY29tcHV0ZSB0aGUgdW5pb24gb2Ygc2V0cy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gc2V0VW5pb248VD4oc2V0czogU2V0PFQ+W10pOiBTZXQ8VD4ge1xuICAgICAgICBpZiAoc2V0cy5sZW5ndGggPT0gMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgZWxzZSBpZiAoc2V0cy5sZW5ndGggPT0gMSkgcmV0dXJuIHNldHNbMF07XG5cbiAgICAgICAgLy8gSSdtIG5vdCBzdXJlIGlmIHRoZXJlIGlzIGFueSB1c2VmdWwgb3B0aW1pemF0aW9uIGZvciBzZXQgdW5pb25zLCBzbyBqdXN0IGFkZCB0aGVtIGFsbCBJIGd1ZXNzLlxuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgICAgIGZvciAoY29uc3Qgc2V0IG9mIHNldHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBzZXQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuYWRkKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKiogRWZmaWNpZW50bHkgY29tcHV0ZSBhdG9tICYmICFuZWdhdGVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnNlY3ROZWdhdGlvbjxUPihhdG9tOiBTZXQ8VD4sIG5lZ2F0ZWQ6IFNldDxUPik6IFNldDxUPiB7XG4gICAgICAgIGlmIChhdG9tLnNpemUgPiBuZWdhdGVkLnNpemUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFdvdWxkIGJlIG5pY2UgdG8gYXZvaWQgdGhlIGNvcHksIHNpbmNlIEknbSBub3Qgc3VyZSBpdCdzIGFueSBmYXN0ZXIgd2l0aCB0aGUgY29weS5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQoYXRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIG5lZ2F0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuZGVsZXRlKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IC8qIGF0b20uc2l6ZSA8IG5lZ2F0aW9uLnNpemUgKi8gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGF0b20pIHtcbiAgICAgICAgICAgICAgICBpZiAobmVnYXRlZC5oYXMoZWxlbWVudCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5hZGQoZWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSBcIi4vZmlsdGVyc1wiO1xuXG4vKiogQ29tcGFyaXNvbiBvcGVyYXRvcnMgd2hpY2ggeWllbGQgdHJ1ZS9mYWxzZS4gKi9cbmV4cG9ydCB0eXBlIENvbXBhcmVPcCA9IFwiPlwiIHwgXCI+PVwiIHwgXCI8PVwiIHwgXCI8XCIgfCBcIj1cIiB8IFwiIT1cIjtcbi8qKiBBcml0aG1ldGljIG9wZXJhdG9ycyB3aGljaCB5aWVsZCBudW1iZXJzIGFuZCBvdGhlciB2YWx1ZXMuICovXG5leHBvcnQgdHlwZSBBcml0aG1ldGljT3AgPSBcIitcIiB8IFwiLVwiIHwgXCIqXCIgfCBcIi9cIiB8IFwiJVwiIHwgXCImXCIgfCBcInxcIjtcbi8qKiBJbmRleCBhIHZhbHVlIGludG8gYW5vdGhlciB2YWx1ZS4gKi9cbmV4cG9ydCB0eXBlIExvZ2ljYWxPcCA9IFwiaW5kZXhcIjtcbi8qKiBBbGwgdmFsaWQgYmluYXJ5IG9wZXJhdG9ycy4gKi9cbmV4cG9ydCB0eXBlIEJpbmFyeU9wID0gQ29tcGFyZU9wIHwgQXJpdGhtZXRpY09wIHwgTG9naWNhbE9wO1xuXG5leHBvcnQgdHlwZSBFeHByZXNzaW9uID1cbiAgICB8IExpdGVyYWxFeHByZXNzaW9uXG4gICAgfCBWYXJpYWJsZUV4cHJlc3Npb25cbiAgICB8IExpc3RFeHByZXNzaW9uXG4gICAgfCBPYmplY3RFeHByZXNzaW9uXG4gICAgfCBCaW5hcnlPcEV4cHJlc3Npb25cbiAgICB8IEZ1bmN0aW9uRXhwcmVzc2lvblxuICAgIHwgTGFtYmRhRXhwcmVzc2lvblxuICAgIHwgTmVnYXRlZEV4cHJlc3Npb247XG5cbi8qKiBMaXRlcmFsIHJlcHJlc2VudGF0aW9uIG9mIHNvbWUgZmllbGQgdHlwZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGl0ZXJhbEV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwibGl0ZXJhbFwiO1xuICAgIHZhbHVlOiBMaXRlcmFsO1xufVxuXG4vKiogQSB2YXJpYWJsZSBmaWVsZCBmb3IgYSB2YXJpYWJsZSB3aXRoIGEgZ2l2ZW4gbmFtZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGVFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcInZhcmlhYmxlXCI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG4vKiogQSBsaXN0IGxpdGVyYWwsIHdoaWNoIGlzIGFuIG9yZGVyZWQgY29sbGVjdGlvbiBvZiBmaWVsZHMuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcImxpc3RcIjtcbiAgICB2YWx1ZXM6IEV4cHJlc3Npb25bXTtcbn1cblxuLyoqIEFuIG9iamVjdCBsaXRlcmFsLCB3aGljaCBpcyBhIG1hcHBpbmcgb2YgbmFtZSB0byBmaWVsZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0RXhwcmVzc2lvbiB7XG4gICAgdHlwZTogXCJvYmplY3RcIjtcbiAgICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIEV4cHJlc3Npb24+O1xufVxuXG4vKiogQSBiaW5hcnkgb3BlcmF0b3IgZXhwcmVzc2lvbiB3aGljaCBjb21iaW5lcyB0d28gc3Vibm9kZXMgc29tZWhvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluYXJ5T3BFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcImJpbmFyeW9wXCI7XG4gICAgbGVmdDogRXhwcmVzc2lvbjtcbiAgICByaWdodDogRXhwcmVzc2lvbjtcbiAgICBvcDogQmluYXJ5T3A7XG59XG5cbi8qKiBBIGZ1bmN0aW9uIGV4cHJlc3Npb24gd2hpY2ggY2FsbHMgYSBmdW5jdGlvbiBvbiAwIG9yIG1vcmUgYXJndW1lbnRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIjtcbiAgICAvKiogRWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBiZWluZyBjYWxsZWQgb3IgYSBGdW5jdGlvbiBvYmplY3QuICovXG4gICAgZnVuYzogRXhwcmVzc2lvbjtcbiAgICAvKiogVGhlIGxpc3Qgb2YgYXJndW1lbnRzIGJlaW5nIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24uICovXG4gICAgYXJndW1lbnRzOiBFeHByZXNzaW9uW107XG59XG5cbi8qKiBBbiBpbmxpbmUgZnVuY3Rpb24gYWNjZXB0aW5nIG9uZSBvciBtb3JlIGFyZ3VtZW50cyBhbmQgcHJvZHVjaW5nIGEgdmFsdWUuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwibGFtYmRhXCI7XG4gICAgLyoqIEFuIG9yZGVyZWQgbGlzdCBvZiBuYW1lZCBhcmd1bWVudHMuICovXG4gICAgYXJndW1lbnRzOiBzdHJpbmdbXTtcbiAgICAvKiogVGhlIGZpZWxkIHdoaWNoIHdpbGwgYmUgZXZhbHVhdGVkIHVzaW5nIHRoZSBhcmd1bWVudHMgaW4gY29udGV4dC4gKi9cbiAgICB2YWx1ZTogRXhwcmVzc2lvbjtcbn1cblxuLyoqIEFuIGV4cHJlc3Npb24gd2hpY2ggbmVnYXRlcyB0aGUgdmFsdWUgb2YgdGhlIG9yaWdpbmFsIGZpZWxkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZWdhdGVkRXhwcmVzc2lvbiB7XG4gICAgdHlwZTogXCJuZWdhdGVkXCI7XG5cbiAgICAvKiogVGhlIGNoaWxkIGZpZWxkIHRvIG5lZ2F0ZS4gKi9cbiAgICBjaGlsZDogRXhwcmVzc2lvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFeHByZXNzaW9ucyB7XG4gICAgLyoqIFRoZSBpbXBsaWNpdCBmaWVsZCByZWZlcmVuY2luZyB0aGUgY3VycmVudCBmaWVsZC4gKi9cbiAgICBleHBvcnQgY29uc3QgUk9XOiBzdHJpbmcgPSBcIiRyb3dcIjtcblxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZShuYW1lOiBzdHJpbmcpOiBWYXJpYWJsZUV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcInZhcmlhYmxlXCIsIG5hbWUgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGl0ZXJhbCh2YWx1ZTogTGl0ZXJhbCk6IExpdGVyYWxFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsaXRlcmFsXCIsIHZhbHVlIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGJpbmFyeU9wKGxlZnQ6IEV4cHJlc3Npb24sIG9wOiBCaW5hcnlPcCwgcmlnaHQ6IEV4cHJlc3Npb24pOiBFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJiaW5hcnlvcFwiLCBsZWZ0LCBvcCwgcmlnaHQgfSBhcyBCaW5hcnlPcEV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGluZGV4KG9iajogRXhwcmVzc2lvbiwgaW5kZXg6IEV4cHJlc3Npb24pOiBFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJiaW5hcnlvcFwiLCBsZWZ0OiBvYmosIHJpZ2h0OiBpbmRleCwgb3A6IFwiaW5kZXhcIiB9O1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0cyBhIHN0cmluZyBpbiBkb3Qtbm90YXRpb24tZm9ybWF0IGludG8gYSB2YXJpYWJsZSB3aGljaCBpbmRleGVzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbmRleFZhcmlhYmxlKG5hbWU6IHN0cmluZyk6IEV4cHJlc3Npb24ge1xuICAgICAgICBsZXQgcGFydHMgPSBuYW1lLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgbGV0IHJlc3VsdDogRXhwcmVzc2lvbiA9IEV4cHJlc3Npb25zLnZhcmlhYmxlKHBhcnRzWzBdKTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHBhcnRzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgcmVzdWx0ID0gRXhwcmVzc2lvbnMuaW5kZXgocmVzdWx0LCBFeHByZXNzaW9ucy5saXRlcmFsKHBhcnRzW2luZGV4XSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGFtYmRhKGFyZ3M6IHN0cmluZ1tdLCB2YWx1ZTogRXhwcmVzc2lvbik6IExhbWJkYUV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcImxhbWJkYVwiLCBhcmd1bWVudHM6IGFyZ3MsIHZhbHVlIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZ1bmMoZnVuYzogRXhwcmVzc2lvbiwgYXJnczogRXhwcmVzc2lvbltdKTogRnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJmdW5jdGlvblwiLCBmdW5jLCBhcmd1bWVudHM6IGFyZ3MgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGlzdCh2YWx1ZXM6IEV4cHJlc3Npb25bXSk6IExpc3RFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsaXN0XCIsIHZhbHVlcyB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBvYmplY3QodmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBFeHByZXNzaW9uPik6IE9iamVjdEV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcIm9iamVjdFwiLCB2YWx1ZXMgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbmVnYXRlKGNoaWxkOiBFeHByZXNzaW9uKTogTmVnYXRlZEV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcIm5lZ2F0ZWRcIiwgY2hpbGQgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNDb21wYXJlT3Aob3A6IEJpbmFyeU9wKTogb3AgaXMgQ29tcGFyZU9wIHtcbiAgICAgICAgcmV0dXJuIG9wID09IFwiPD1cIiB8fCBvcCA9PSBcIjxcIiB8fCBvcCA9PSBcIj5cIiB8fCBvcCA9PSBcIj49XCIgfHwgb3AgPT0gXCIhPVwiIHx8IG9wID09IFwiPVwiO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGEgc2V0IG9mIGFsbCB1bmJvdW5kIHZhcmlhYmxlcyAoaS5lLiwgdmFyaWFibGVzIG5vdCBwcm92aWRlZCBieSBgcm93YCwgbGFtYmRhcywgb3Igc2ltaWxhci4pICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHVuYm91bmRWYXJpYWJsZXMoZXhwcjogRXhwcmVzc2lvbiwgYm91bmQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldChbUk9XXSkpOiBTZXQ8c3RyaW5nPiB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYmluYXJ5b3BcIjpcbiAgICAgICAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgYHJvd1tcIi4uLi5cIl1gLlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgZXhwci5vcCA9PT0gXCJpbmRleFwiICYmXG4gICAgICAgICAgICAgICAgICAgIGV4cHIubGVmdC50eXBlID09IFwidmFyaWFibGVcIiAmJlxuICAgICAgICAgICAgICAgICAgICBleHByLmxlZnQubmFtZSA9PSBST1cgJiZcbiAgICAgICAgICAgICAgICAgICAgZXhwci5yaWdodC50eXBlID09IFwibGl0ZXJhbFwiICYmXG4gICAgICAgICAgICAgICAgICAgIExpdGVyYWxzLmlzU3RyaW5nKGV4cHIucmlnaHQudmFsdWUpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChib3VuZC5oYXMoZXhwci5yaWdodC52YWx1ZSkpIHJldHVybiBuZXcgU2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIG5ldyBTZXQoW2V4cHIucmlnaHQudmFsdWVdKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UganVzdCBjaGVjayBsZWZ0IGFuZCByaWdodC5cbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsdGVycy5zZXRVbmlvbihbdW5ib3VuZFZhcmlhYmxlcyhleHByLmxlZnQsIGJvdW5kKSwgdW5ib3VuZFZhcmlhYmxlcyhleHByLnJpZ2h0LCBib3VuZCldKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKGV4cHIuYXJndW1lbnRzLm1hcCgoYSkgPT4gdW5ib3VuZFZhcmlhYmxlcyhhLCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJsYW1iZGFcIjpcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdCb3VuZCA9IGJvdW5kID8/IG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFyZyBvZiBleHByLmFyZ3VtZW50cykgbmV3Qm91bmQuYWRkKGFyZyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdW5ib3VuZFZhcmlhYmxlcyhleHByLnZhbHVlLCBuZXdCb3VuZCk7XG4gICAgICAgICAgICBjYXNlIFwibGlzdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKGV4cHIudmFsdWVzLm1hcCgodikgPT4gdW5ib3VuZFZhcmlhYmxlcyh2LCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuYm91bmRWYXJpYWJsZXMoZXhwci5jaGlsZCwgYm91bmQpO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKE9iamVjdC52YWx1ZXMoZXhwci52YWx1ZXMpLm1hcCgodikgPT4gdW5ib3VuZFZhcmlhYmxlcyh2LCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJ2YXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChib3VuZCAmJiBib3VuZC5oYXMoZXhwci5uYW1lKSkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBuZXcgU2V0KFtleHByLm5hbWVdKTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW5kZXIgYW4gZXhwcmVzc2lvbiBhcyBhIHN0cmluZy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcoZXhwcjogRXhwcmVzc2lvbik6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYmluYXJ5b3BcIjpcbiAgICAgICAgICAgICAgICBpZiAoZXhwci5vcCA9PT0gXCJpbmRleFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmxlZnQpfVske3RvU3RyaW5nKGV4cHIucmlnaHQpfV1gO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmxlZnQpfSAke2V4cHIub3B9ICR7dG9TdHJpbmcoZXhwci5yaWdodCl9YDtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmZ1bmMpfSgke2V4cHIuYXJndW1lbnRzLm1hcCh0b1N0cmluZykuam9pbihcIiwgXCIpfSlgO1xuICAgICAgICAgICAgY2FzZSBcImxhbWJkYVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBgKCR7ZXhwci5hcmd1bWVudHMuam9pbihcIiwgXCIpfSkgPT4gJHt0b1N0cmluZyhleHByLnZhbHVlKX1gO1xuICAgICAgICAgICAgY2FzZSBcImxpc3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYFske2V4cHIudmFsdWVzLm1hcCh0b1N0cmluZykuam9pbihcIiwgXCIpfV1gO1xuICAgICAgICAgICAgY2FzZSBcIm5lZ2F0ZWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCEke3RvU3RyaW5nKGV4cHIuY2hpbGQpfWA7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGB7JHtPYmplY3QuZW50cmllcyhleHByLnZhbHVlcylcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBgJHtrfTogJHt0b1N0cmluZyh2KX1gKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpfX1gO1xuICAgICAgICAgICAgY2FzZSBcInZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4cHIubmFtZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlZCA9IExpdGVyYWxzLndyYXBWYWx1ZShleHByLnZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHdyYXBwZWQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFwiJHt3cmFwcGVkLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMaXRlcmFscy50b1N0cmluZyh3cmFwcGVkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgY29uc3QgTlVMTCA9IEV4cHJlc3Npb25zLmxpdGVyYWwobnVsbCk7XG59XG4iLCAiLyoqIFByb3ZpZGVzIGNvcmUgcHJlYWN0IC8gcmVuZGVyaW5nIHV0aWxpdGllcyBmb3IgYWxsIHZpZXcgdHlwZXMuXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCB7IEFwcCwgTWFya2Rvd25SZW5kZXJlciB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBMaW5rLCBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IERhdGFjb3JlIH0gZnJvbSBcImluZGV4L2RhdGFjb3JlXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCJzZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3VycmVudExvY2FsZSwgcmVuZGVyTWluaW1hbERhdGUsIHJlbmRlck1pbmltYWxEdXJhdGlvbiB9IGZyb20gXCJ1dGlscy9ub3JtYWxpemVyc1wiO1xuaW1wb3J0IHsgZXh0cmFjdEltYWdlRGltZW5zaW9ucywgaXNJbWFnZUVtYmVkIH0gZnJvbSBcInV0aWxzL21lZGlhXCI7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIEZyYWdtZW50LCByZW5kZXIgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUVycm9yQm91bmRhcnkgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBDU1NQcm9wZXJ0aWVzLCBQcm9wc1dpdGhDaGlsZHJlbiwgbWVtbyB9IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5pbXBvcnQgeyBFbWJlZCB9IGZyb20gXCJhcGkvdWkvZW1iZWRcIjtcblxuaW1wb3J0IFwiLi9lcnJvcnMuY3NzXCI7XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRfQ09OVEVYVCA9IGNyZWF0ZUNvbnRleHQ8Q29tcG9uZW50Pih1bmRlZmluZWQhKTtcbmV4cG9ydCBjb25zdCBBUFBfQ09OVEVYVCA9IGNyZWF0ZUNvbnRleHQ8QXBwPih1bmRlZmluZWQhKTtcbmV4cG9ydCBjb25zdCBEQVRBQ09SRV9DT05URVhUID0gY3JlYXRlQ29udGV4dDxEYXRhY29yZT4odW5kZWZpbmVkISk7XG5leHBvcnQgY29uc3QgU0VUVElOR1NfQ09OVEVYVCA9IGNyZWF0ZUNvbnRleHQ8U2V0dGluZ3M+KHVuZGVmaW5lZCEpO1xuZXhwb3J0IGNvbnN0IENVUlJFTlRfRklMRV9DT05URVhUID0gY3JlYXRlQ29udGV4dDxzdHJpbmc+KFwiXCIpO1xuXG4vKiogTW9yZSBjb21wYWN0IHByb3ZpZGVyIGZvciBhbGwgb2YgdGhlIGRhdGFjb3JlIHJlYWN0IGNvbnRleHRzLlxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERhdGFjb3JlQ29udGV4dFByb3ZpZGVyKHtcbiAgICBjaGlsZHJlbixcbiAgICBhcHAsXG4gICAgY29tcG9uZW50LFxuICAgIGRhdGFjb3JlLFxuICAgIHNldHRpbmdzLFxufTogUHJvcHNXaXRoQ2hpbGRyZW48e1xuICAgIGFwcDogQXBwO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50O1xuICAgIGRhdGFjb3JlOiBEYXRhY29yZTtcbiAgICBzZXR0aW5nczogU2V0dGluZ3M7XG59Pikge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxDT01QT05FTlRfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17Y29tcG9uZW50fT5cbiAgICAgICAgICAgIDxBUFBfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17YXBwfT5cbiAgICAgICAgICAgICAgICA8REFUQUNPUkVfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17ZGF0YWNvcmV9PlxuICAgICAgICAgICAgICAgICAgICA8U0VUVElOR1NfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17c2V0dGluZ3N9PntjaGlsZHJlbn08L1NFVFRJTkdTX0NPTlRFWFQuUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9EQVRBQ09SRV9DT05URVhULlByb3ZpZGVyPlxuICAgICAgICAgICAgPC9BUFBfQ09OVEVYVC5Qcm92aWRlcj5cbiAgICAgICAgPC9DT01QT05FTlRfQ09OVEVYVC5Qcm92aWRlcj5cbiAgICApO1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJhd0xpbmsoeyBsaW5rLCBzb3VyY2VQYXRoOiBtYXliZVNvdXJjZVBhdGggfTogeyBsaW5rOiBMaW5rIHwgc3RyaW5nOyBzb3VyY2VQYXRoPzogc3RyaW5nIH0pIHtcbiAgICBjb25zdCB3b3Jrc3BhY2UgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKT8ud29ya3NwYWNlO1xuICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gdXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgY29uc3Qgc291cmNlUGF0aCA9IG1heWJlU291cmNlUGF0aCA/PyBjdXJyZW50UGF0aCA/PyBcIlwiO1xuICAgIGNvbnN0IHBhcnNlZCA9IHVzZU1lbW8oKCkgPT4gKExpdGVyYWxzLmlzTGluayhsaW5rKSA/IGxpbmsgOiBMaW5rLmluZmVyKGxpbmspKSwgW2xpbmtdKTtcblxuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXd0YWIgPSBldmVudC5zaGlmdEtleTtcbiAgICAgICAgICAgIHdvcmtzcGFjZT8ub3BlbkxpbmtUZXh0KHBhcnNlZC5vYnNpZGlhbkxpbmsoKSwgc291cmNlUGF0aCwgbmV3dGFiKTtcbiAgICAgICAgfSxcbiAgICAgICAgW3BhcnNlZCwgc291cmNlUGF0aF1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGFcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3BhcnNlZC5kaXNwbGF5T3JEZWZhdWx0KCl9XG4gICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW50ZXJuYWwtbGlua1wiXG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIlxuICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgIGRhdGEtaHJlZj17cGFyc2VkLm9ic2lkaWFuTGluaygpfVxuICAgICAgICA+XG4gICAgICAgICAgICB7cGFyc2VkLmRpc3BsYXlPckRlZmF1bHQoKX1cbiAgICAgICAgPC9hPlxuICAgICk7XG59XG5cbi8qKlxuICogQ29waWVzIGhvdyBhbiBPYnNpZGlhbiBsaW5rIGlzIHJlbmRlcmVkIGJ1dCBpcyBhYm91dCBhbiBvcmRlciBvZiBtYWduaXR1ZGUgZmFzdGVyIHRvIHJlbmRlciB0aGFuIHZpYSBtYXJrZG93biByZW5kZXJpbmcuICovXG5leHBvcnQgY29uc3QgT2JzaWRpYW5MaW5rID0gbWVtbyhSYXdMaW5rKTtcblxuLyoqQGhpZGRlbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJhd01hcmtkb3duKHtcbiAgICBjb250ZW50LFxuICAgIHNvdXJjZVBhdGg6IG1heWJlU291cmNlUGF0aCxcbiAgICBpbmxpbmUgPSB0cnVlLFxuICAgIHN0eWxlLFxuICAgIGNscyxcbiAgICBvbkNsaWNrLFxufToge1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICAgIGlubGluZT86IGJvb2xlYW47XG4gICAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xuICAgIGNscz86IHN0cmluZztcbiAgICBvbkNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiBhbnk7XG59KSB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdXNlUmVmPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdXNlQ29udGV4dChDT01QT05FTlRfQ09OVEVYVCk7XG4gICAgY29uc3QgZGVmYXVsdFBhdGggPSB1c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcblxuICAgIGNvbnN0IHNvdXJjZVBhdGggPSBtYXliZVNvdXJjZVBhdGggPz8gZGVmYXVsdFBhdGg7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWNvbnRhaW5lci5jdXJyZW50KSByZXR1cm47XG5cbiAgICAgICAgY29udGFpbmVyLmN1cnJlbnQuaW5uZXJIVE1MID0gXCJcIjtcbiAgICAgICAgTWFya2Rvd25SZW5kZXJlci5yZW5kZXIoYXBwLCBjb250ZW50LCBjb250YWluZXIuY3VycmVudCwgc291cmNlUGF0aCwgY29tcG9uZW50KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghY29udGFpbmVyLmN1cnJlbnQgfHwgIWlubGluZSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAvLyBVbndyYXAgYW55IGNyZWF0ZWQgcGFyYWdyYXBoIGVsZW1lbnRzIGlmIHdlIGFyZSBpbmxpbmUuXG4gICAgICAgICAgICBsZXQgcGFyYWdyYXBoID0gY29udGFpbmVyLmN1cnJlbnQucXVlcnlTZWxlY3RvcihcInBcIik7XG4gICAgICAgICAgICB3aGlsZSAocGFyYWdyYXBoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGNoaWxkcmVuID0gcGFyYWdyYXBoLmNoaWxkTm9kZXM7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoLnJlcGxhY2VXaXRoKC4uLkFycmF5LmZyb20oY2hpbGRyZW4pKTtcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGggPSBjb250YWluZXIuY3VycmVudC5xdWVyeVNlbGVjdG9yKFwicFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaGF2ZSBlbWJlZHMgYWN0dWFsbHkgbG9hZCBpbnN0ZWFkIG9mIGRpc3BsYXlpbmcgYXMgcGxhaW4gdGV4dC5cbiAgICAgICAgICAgIGxldCBlbWJlZCA9IGNvbnRhaW5lci5jdXJyZW50LnF1ZXJ5U2VsZWN0b3IoXCJzcGFuLmludGVybmFsLWVtYmVkOm5vdCguaXMtbG9hZGVkKVwiKTtcbiAgICAgICAgICAgIHdoaWxlIChlbWJlZCkge1xuICAgICAgICAgICAgICAgIGVtYmVkLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgcmVuZGVyKFxuICAgICAgICAgICAgICAgICAgICA8QVBQX0NPTlRFWFQuUHJvdmlkZXIgdmFsdWU9e2FwcH0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rPXtMaW5rLnBhcnNlSW5uZXIoZW1iZWQuZ2V0QXR0cmlidXRlKFwic3JjXCIpID8/IFwiXCIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9BUFBfQ09OVEVYVC5Qcm92aWRlcj4sXG4gICAgICAgICAgICAgICAgICAgIGVtYmVkXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBlbWJlZC5hZGRDbGFzcyhcImlzLWxvYWRlZFwiKTtcbiAgICAgICAgICAgICAgICBlbWJlZCA9IGNvbnRhaW5lci5jdXJyZW50LnF1ZXJ5U2VsZWN0b3IoXCJzcGFuLmludGVybmFsLWVtYmVkOm5vdCguaXMtbG9hZGVkKVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSwgW2NvbnRlbnQsIHNvdXJjZVBhdGgsIGlubGluZSwgY29udGFpbmVyLmN1cnJlbnRdKTtcblxuICAgIHJldHVybiA8c3BhbiByZWY9e2NvbnRhaW5lcn0gc3R5bGU9e3N0eWxlfSBjbGFzc05hbWU9e2Nsc30gb25DbGljaz17b25DbGlja30+PC9zcGFuPjtcbn1cblxuLyoqXG4gKiBIYWNreSBwcmVhY3QgY29tcG9uZW50IHdoaWNoIHdyYXBzIE9ic2lkaWFuJ3MgbWFya2Rvd24gcmVuZGVyZXIgaW50byBhIG5lYXQgY29tcG9uZW50LiAqL1xuZXhwb3J0IGNvbnN0IE1hcmtkb3duID0gbWVtbyhSYXdNYXJrZG93bik7XG5cbi8qKlxuICogQGhpZGRlblxuICogIEludGVsbGlnZW50bHkgcmVuZGVyIGFuIGFyYml0cmFyeSBsaXRlcmFsIHZhbHVlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJhd0xpdCh7XG4gICAgdmFsdWUsXG4gICAgc291cmNlUGF0aDogbWF5YmVTb3VyY2VQYXRoLFxuICAgIGlubGluZSA9IGZhbHNlLFxuICAgIGRlcHRoID0gMCxcbn06IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgICB2YWx1ZTogTGl0ZXJhbCB8IHVuZGVmaW5lZDtcbiAgICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICAgIGlubGluZT86IGJvb2xlYW47XG4gICAgZGVwdGg/OiBudW1iZXI7XG59Pikge1xuICAgIGNvbnN0IHNldHRpbmdzID0gdXNlQ29udGV4dChTRVRUSU5HU19DT05URVhUKTtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcbiAgICBjb25zdCBkZWZhdWx0UGF0aCA9IHVzZUNvbnRleHQoQ1VSUkVOVF9GSUxFX0NPTlRFWFQpO1xuXG4gICAgY29uc3Qgc291cmNlUGF0aCA9IG1heWJlU291cmNlUGF0aCA/PyBkZWZhdWx0UGF0aDtcblxuICAgIC8vIFNob3J0LWNpcmN1aXQgaWYgYmV5b25kIHRoZSBtYXhpbXVtIHJlbmRlciBkZXB0aC5cbiAgICBpZiAoZGVwdGggPj0gc2V0dGluZ3MubWF4UmVjdXJzaXZlUmVuZGVyRGVwdGgpIHJldHVybiA8RnJhZ21lbnQ+Li4uPC9GcmFnbWVudD47XG5cbiAgICBpZiAoTGl0ZXJhbHMuaXNOdWxsKHZhbHVlKSB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiA8TWFya2Rvd24gaW5saW5lPXtpbmxpbmV9IGNvbnRlbnQ9e3NldHRpbmdzLnJlbmRlck51bGxBc30gc291cmNlUGF0aD17c291cmNlUGF0aH0gLz47XG4gICAgfSBlbHNlIGlmIChMaXRlcmFscy5pc1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIDxNYXJrZG93biBpbmxpbmU9e2lubGluZX0gY29udGVudD17dmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IC8+O1xuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiA8RnJhZ21lbnQ+e1wiXCIgKyB2YWx1ZX08L0ZyYWdtZW50PjtcbiAgICB9IGVsc2UgaWYgKExpdGVyYWxzLmlzQm9vbGVhbih2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIDxGcmFnbWVudD57XCJcIiArIHZhbHVlfTwvRnJhZ21lbnQ+O1xuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNEYXRlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgIHtyZW5kZXJNaW5pbWFsRGF0ZSh2YWx1ZSwgc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQsIHNldHRpbmdzLmRlZmF1bHREYXRlVGltZUZvcm1hdCwgY3VycmVudExvY2FsZSgpKX1cbiAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICk7XG4gICAgfSBlbHNlIGlmIChMaXRlcmFscy5pc0R1cmF0aW9uKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gPEZyYWdtZW50PntyZW5kZXJNaW5pbWFsRHVyYXRpb24odmFsdWUpfTwvRnJhZ21lbnQ+O1xuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNMaW5rKHZhbHVlKSkge1xuICAgICAgICAvLyBTcGVjaWFsIGNhc2UgaGFuZGxpbmcgb2YgaW1hZ2UvdmlkZW8vZXRjIGVtYmVkZGluZ3MgdG8gYnlwYXNzIHRoZSBPYnNpZGlhbiBBUEkgbm90IHdvcmtpbmcuXG4gICAgICAgIGlmIChpc0ltYWdlRW1iZWQodmFsdWUpKSB7XG4gICAgICAgICAgICBsZXQgcmVhbEZpbGUgPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdCh2YWx1ZS5wYXRoLCBzb3VyY2VQYXRoKTtcbiAgICAgICAgICAgIGlmICghcmVhbEZpbGUpIHJldHVybiA8TWFya2Rvd24gY29udGVudD17dmFsdWUubWFya2Rvd24oKX0gc291cmNlUGF0aD17c291cmNlUGF0aH0gLz47XG5cbiAgICAgICAgICAgIGxldCBkaW1lbnNpb25zID0gZXh0cmFjdEltYWdlRGltZW5zaW9ucyh2YWx1ZSk7XG4gICAgICAgICAgICBsZXQgcmVzb3VyY2VQYXRoID0gYXBwLnZhdWx0LmdldFJlc291cmNlUGF0aChyZWFsRmlsZSk7XG5cbiAgICAgICAgICAgIGlmIChkaW1lbnNpb25zICYmIGRpbWVuc2lvbnMubGVuZ3RoID09IDIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIDxpbWcgYWx0PXt2YWx1ZS5wYXRofSBzcmM9e3Jlc291cmNlUGF0aH0gd2lkdGg9e2RpbWVuc2lvbnNbMF19IGhlaWdodD17ZGltZW5zaW9uc1sxXX0gLz47XG4gICAgICAgICAgICBlbHNlIGlmIChkaW1lbnNpb25zICYmIGRpbWVuc2lvbnMubGVuZ3RoID09IDEpXG4gICAgICAgICAgICAgICAgcmV0dXJuIDxpbWcgYWx0PXt2YWx1ZS5wYXRofSBzcmM9e3Jlc291cmNlUGF0aH0gd2lkdGg9e2RpbWVuc2lvbnNbMF19IC8+O1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gPGltZyBhbHQ9e3ZhbHVlLnBhdGh9IHNyYz17cmVzb3VyY2VQYXRofSAvPjtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5lbWJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIDxFbWJlZCBsaW5rPXt2YWx1ZX0gc291cmNlUGF0aD17c291cmNlUGF0aH0gaW5saW5lPXtpbmxpbmV9IC8+O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDxPYnNpZGlhbkxpbmsgbGluaz17dmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IC8+O1xuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNGdW5jdGlvbih2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIDxGcmFnbWVudD4mbHQ7ZnVuY3Rpb24mZ3Q7PC9GcmFnbWVudD47XG4gICAgfSBlbHNlIGlmIChMaXRlcmFscy5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBpZiAoIWlubGluZSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtcImRhdGF2aWV3IGRhdGF2aWV3LXVsIGRhdGF2aWV3LXJlc3VsdC1saXN0LXVsXCJ9PlxuICAgICAgICAgICAgICAgICAgICB7dmFsdWUubWFwKChzdWJ2YWx1ZSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImRhdGF2aWV3LXJlc3VsdC1saXN0LWxpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpdCB2YWx1ZT17c3VidmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17aW5saW5lfSBkZXB0aD17ZGVwdGggKyAxfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09IDApIHJldHVybiA8RnJhZ21lbnQ+Jmx0O0VtcHR5IExpc3QmZ3Q7PC9GcmFnbWVudD47XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGF0YXZpZXcgZGF0YXZpZXctcmVzdWx0LWxpc3Qtc3BhblwiPlxuICAgICAgICAgICAgICAgICAgICB7dmFsdWUubWFwKChzdWJ2YWx1ZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5kZXggPT0gMCA/IFwiXCIgOiBcIiwgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpdCB2YWx1ZT17c3VidmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17aW5saW5lfSBkZXB0aD17ZGVwdGggKyAxfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIC8vIERvbid0IHJlbmRlciBjbGFzc2VzIGluIGNhc2UgdGhleSBoYXZlIHJlY3Vyc2l2ZSByZWZlcmVuY2VzOyBzcG9vcHkuXG4gICAgICAgIGlmICh2YWx1ZT8uY29uc3RydWN0b3I/Lm5hbWUgJiYgdmFsdWU/LmNvbnN0cnVjdG9yPy5uYW1lICE9IFwiT2JqZWN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiA8RnJhZ21lbnQ+Jmx0O3t2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lfSZndDs8L0ZyYWdtZW50PjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaW5saW5lKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJkYXRhdmlldyBkYXRhdmlldy11bCBkYXRhdmlldy1yZXN1bHQtb2JqZWN0LXVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtPYmplY3QuZW50cmllcyh2YWx1ZSkubWFwKChba2V5LCB2YWx1ZV0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJkYXRhdmlldyBkYXRhdmlldy1saSBkYXRhdmlldy1yZXN1bHQtb2JqZWN0LWxpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2tleX06IDxMaXQgdmFsdWU9e3ZhbHVlfSBzb3VyY2VQYXRoPXtzb3VyY2VQYXRofSBpbmxpbmU9e2lubGluZX0gZGVwdGg9e2RlcHRoICsgMX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT0gMCkgcmV0dXJuIDxGcmFnbWVudD4mbHQ7RW1wdHkgT2JqZWN0Jmd0OzwvRnJhZ21lbnQ+O1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRhdGF2aWV3IGRhdGF2aWV3LXJlc3VsdC1vYmplY3Qtc3BhblwiPlxuICAgICAgICAgICAgICAgICAgICB7T2JqZWN0LmVudHJpZXModmFsdWUpLm1hcCgoW2tleSwgdmFsdWVdLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbmRleCA9PSAwID8gXCJcIiA6IFwiLCBcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7a2V5fTogPExpdCB2YWx1ZT17dmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17aW5saW5lfSBkZXB0aD17ZGVwdGggKyAxfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiA8RnJhZ21lbnQ+Jmx0O1VucmVjb2duaXplZDoge0pTT04uc3RyaW5naWZ5KHZhbHVlKX0mZ3Q7PC9GcmFnbWVudD47XG59XG5cbi8qKlxuICogQGhpZGRlblxuICogSW50ZWxsaWdlbnRseSByZW5kZXIgYW4gYXJiaXRyYXJ5IGxpdGVyYWwgdmFsdWUuICovXG5leHBvcnQgY29uc3QgTGl0ID0gbWVtbyhSYXdMaXQpO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqIFJlbmRlciBhIHByZXR0eSBjZW50ZXJlZCBlcnJvciBtZXNzYWdlIGluIGEgYm94LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEVycm9yTWVzc2FnZSh7XG4gICAgdGl0bGUsXG4gICAgbWVzc2FnZSxcbiAgICBlcnJvcixcbiAgICByZXNldCxcbn06IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIGVycm9yPzogc3RyaW5nO1xuICAgIHJlc2V0PzogKCkgPT4gdm9pZDtcbn0pIHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWVycm9yLWJveFwiPlxuICAgICAgICAgICAge3RpdGxlICYmIDxoNCBjbGFzc05hbWU9XCJkYXRhY29yZS1lcnJvci10aXRsZVwiPnt0aXRsZX08L2g0Pn1cbiAgICAgICAgICAgIHttZXNzYWdlICYmIDxwIGNsYXNzTmFtZT1cImRhdGFjb3JlLWVycm9yLW1lc3NhZ2VcIj57bWVzc2FnZX08L3A+fVxuICAgICAgICAgICAge2Vycm9yICYmIDxwcmUgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZXJyb3ItcHJlXCI+e2Vycm9yfTwvcHJlPn1cbiAgICAgICAgICAgIHtyZXNldCAmJiAoXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJkYXRhY29yZS1lcnJvci1yZXRyeVwiIG9uQ2xpY2s9e3Jlc2V0fT5cbiAgICAgICAgICAgICAgICAgICAgUmVydW5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG5cbi8qKiBBIHNpbXBsZSBlcnJvciBib3VuZGFyeSB3aGljaCByZW5kZXJzIGEgbWVzc2FnZSBvbiBmYWlsdXJlLlxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpbXBsZUVycm9yQm91bmRhcnkoe1xuICAgIHRpdGxlLFxuICAgIG1lc3NhZ2UsXG4gICAgY2hpbGRyZW4sXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7IHRpdGxlPzogc3RyaW5nOyBtZXNzYWdlPzogc3RyaW5nIH0+KSB7XG4gICAgY29uc3QgW2Vycm9yLCByZXNldF0gPSB1c2VFcnJvckJvdW5kYXJ5KCk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIDxFcnJvck1lc3NhZ2UgdGl0bGU9e3RpdGxlfSBtZXNzYWdlPXttZXNzYWdlfSBlcnJvcj17ZXJyb3Iuc3RhY2t9IHJlc2V0PXtyZXNldH0gLz47XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDxGcmFnbWVudD57Y2hpbGRyZW59PC9GcmFnbWVudD47XG4gICAgfVxufVxuIiwgImltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5cbmV4cG9ydCBjb25zdCBJTUFHRV9FWFRFTlNJT05TID0gT2JqZWN0LmZyZWV6ZShcbiAgICBuZXcgU2V0KFtcbiAgICAgICAgXCIudGlmXCIsXG4gICAgICAgIFwiLnRpZmZcIixcbiAgICAgICAgXCIuZ2lmXCIsXG4gICAgICAgIFwiLnBuZ1wiLFxuICAgICAgICBcIi5hcG5nXCIsXG4gICAgICAgIFwiLmF2aWZcIixcbiAgICAgICAgXCIuanBnXCIsXG4gICAgICAgIFwiLmpwZWdcIixcbiAgICAgICAgXCIuamZpZlwiLFxuICAgICAgICBcIi5wamVwZ1wiLFxuICAgICAgICBcIi5wanBcIixcbiAgICAgICAgXCIuc3ZnXCIsXG4gICAgICAgIFwiLndlYnBcIixcbiAgICAgICAgXCIuYm1wXCIsXG4gICAgICAgIFwiLmljb1wiLFxuICAgICAgICBcIi5jdXJcIixcbiAgICBdKVxuKTtcblxuLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGxpbmsgcG9pbnRzIHRvIGFuIGVtYmVkZGVkIGltYWdlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSW1hZ2VFbWJlZChsaW5rOiBMaW5rKTogYm9vbGVhbiB7XG4gICAgaWYgKCFsaW5rLnBhdGguY29udGFpbnMoXCIuXCIpKSByZXR1cm4gZmFsc2U7XG5cbiAgICBsZXQgZXh0ZW5zaW9uID0gbGluay5wYXRoLnN1YnN0cmluZyhsaW5rLnBhdGgubGFzdEluZGV4T2YoXCIuXCIpKTtcbiAgICByZXR1cm4gbGluay50eXBlID09IFwiZmlsZVwiICYmIGxpbmsuZW1iZWQgJiYgSU1BR0VfRVhURU5TSU9OUy5oYXMoZXh0ZW5zaW9uKTtcbn1cblxuLyoqIEV4dHJhY3QgdGV4dCBvZiB0aGUgZm9ybSAnV3hIJyBvciAnVycgZnJvbSB0aGUgZGlzcGxheSBvZiBhIGxpbmsuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEltYWdlRGltZW5zaW9ucyhsaW5rOiBMaW5rKTogW251bWJlciwgbnVtYmVyXSB8IFtudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWxpbmsuZGlzcGxheSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGxldCBtYXRjaCA9IC9eKFxcZCspeChcXGQrKSQvaXUuZXhlYyhsaW5rLmRpc3BsYXkpO1xuICAgIGlmIChtYXRjaCkgcmV0dXJuIFtwYXJzZUludChtYXRjaFsxXSksIHBhcnNlSW50KG1hdGNoWzJdKV07XG5cbiAgICBsZXQgbWF0Y2gyID0gL14oXFxkKykvLmV4ZWMobGluay5kaXNwbGF5KTtcbiAgICBpZiAobWF0Y2gyKSByZXR1cm4gW3BhcnNlSW50KG1hdGNoMlsxXSldO1xuXG4gICAgLy8gTm8gbWF0Y2guXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiIsICIvKiogTm9ybWFsIGh5ZHJhdGlvbiB0aGF0IGF0dGFjaGVzIHRvIGEgRE9NIHRyZWUgYnV0IGRvZXMgbm90IGRpZmYgaXQuICovXG5leHBvcnQgY29uc3QgTU9ERV9IWURSQVRFID0gMSA8PCA1O1xuLyoqIFNpZ25pZmllcyB0aGlzIFZOb2RlIHN1c3BlbmRlZCBvbiB0aGUgcHJldmlvdXMgcmVuZGVyICovXG5leHBvcnQgY29uc3QgTU9ERV9TVVNQRU5ERUQgPSAxIDw8IDc7XG4vKiogSW5kaWNhdGVzIHRoYXQgdGhpcyBub2RlIG5lZWRzIHRvIGJlIGluc2VydGVkIHdoaWxlIHBhdGNoaW5nIGNoaWxkcmVuICovXG5leHBvcnQgY29uc3QgSU5TRVJUX1ZOT0RFID0gMSA8PCAxNjtcbi8qKiBJbmRpY2F0ZXMgYSBWTm9kZSBoYXMgYmVlbiBtYXRjaGVkIHdpdGggYW5vdGhlciBWTm9kZSBpbiB0aGUgZGlmZiAqL1xuZXhwb3J0IGNvbnN0IE1BVENIRUQgPSAxIDw8IDE3O1xuXG4vKiogUmVzZXQgYWxsIG1vZGUgZmxhZ3MgKi9cbmV4cG9ydCBjb25zdCBSRVNFVF9NT0RFID0gfihNT0RFX0hZRFJBVEUgfCBNT0RFX1NVU1BFTkRFRCk7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9PQkogPSAvKiogQHR5cGUge2FueX0gKi8gKHt9KTtcbmV4cG9ydCBjb25zdCBFTVBUWV9BUlIgPSBbXTtcbmV4cG9ydCBjb25zdCBJU19OT05fRElNRU5TSU9OQUwgPVxuXHQvYWNpdHxleCg/OnN8Z3xufHB8JCl8cnBofGdyaWR8b3dzfG1uY3xudHd8aW5lW2NoXXx6b298Xm9yZHxpdGVyYS9pO1xuIiwgImltcG9ydCB7IEVNUFRZX0FSUiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuXG4vKipcbiAqIEFzc2lnbiBwcm9wZXJ0aWVzIGZyb20gYHByb3BzYCB0byBgb2JqYFxuICogQHRlbXBsYXRlIE8sIFAgVGhlIG9iaiBhbmQgcHJvcHMgdHlwZXNcbiAqIEBwYXJhbSB7T30gb2JqIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIHRvXG4gKiBAcGFyYW0ge1B9IHByb3BzIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb21cbiAqIEByZXR1cm5zIHtPICYgUH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbihvYmosIHByb3BzKSB7XG5cdC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2hhbmdlIHRoZSB0eXBlIG9mIGBvYmpgIHRvIGJlIGBPICYgUGBcblx0Zm9yIChsZXQgaSBpbiBwcm9wcykgb2JqW2ldID0gcHJvcHNbaV07XG5cdHJldHVybiAvKiogQHR5cGUge08gJiBQfSAqLyAob2JqKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYSBjaGlsZCBub2RlIGZyb20gaXRzIHBhcmVudCBpZiBhdHRhY2hlZC4gVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yXG4gKiBJRTExIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBgRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlKClgLiBVc2luZyB0aGlzIGZ1bmN0aW9uXG4gKiBpcyBzbWFsbGVyIHRoYW4gaW5jbHVkaW5nIGEgZGVkaWNhdGVkIHBvbHlmaWxsLlxuICogQHBhcmFtIHtwcmVhY3QuQ29udGFpbmVyTm9kZX0gbm9kZSBUaGUgbm9kZSB0byByZW1vdmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGUobm9kZSkge1xuXHRpZiAobm9kZSAmJiBub2RlLnBhcmVudE5vZGUpIG5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChub2RlKTtcbn1cblxuZXhwb3J0IGNvbnN0IHNsaWNlID0gRU1QVFlfQVJSLnNsaWNlO1xuIiwgImltcG9ydCB7IF9jYXRjaEVycm9yIH0gZnJvbSAnLi9kaWZmL2NhdGNoLWVycm9yJztcblxuLyoqXG4gKiBUaGUgYG9wdGlvbmAgb2JqZWN0IGNhbiBwb3RlbnRpYWxseSBjb250YWluIGNhbGxiYWNrIGZ1bmN0aW9uc1xuICogdGhhdCBhcmUgY2FsbGVkIGR1cmluZyB2YXJpb3VzIHN0YWdlcyBvZiBvdXIgcmVuZGVyZXIuIFRoaXMgaXMgdGhlXG4gKiBmb3VuZGF0aW9uIG9uIHdoaWNoIGFsbCBvdXIgYWRkb25zIGxpa2UgYHByZWFjdC9kZWJ1Z2AsIGBwcmVhY3QvY29tcGF0YCxcbiAqIGFuZCBgcHJlYWN0L2hvb2tzYCBhcmUgYmFzZWQgb24uIFNlZSB0aGUgYE9wdGlvbnNgIHR5cGUgaW4gYGludGVybmFsLmQudHNgXG4gKiBmb3IgYSBmdWxsIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbiBob29rcyAobW9zdCBlZGl0b3JzL0lERXMgYWxsb3cgeW91IHRvXG4gKiBjdHJsK2NsaWNrIG9yIGNtZCtjbGljayBvbiBtYWMgdGhlIHR5cGUgZGVmaW5pdGlvbiBiZWxvdykuXG4gKiBAdHlwZSB7T3B0aW9uc31cbiAqL1xuY29uc3Qgb3B0aW9ucyA9IHtcblx0X2NhdGNoRXJyb3Jcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG9wdGlvbnM7XG4iLCAiaW1wb3J0IHsgc2xpY2UgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IG9wdGlvbnMgZnJvbSAnLi9vcHRpb25zJztcblxubGV0IHZub2RlSWQgPSAwO1xuXG4vKipcbiAqIENyZWF0ZSBhbiB2aXJ0dWFsIG5vZGUgKHVzZWQgZm9yIEpTWClcbiAqIEBwYXJhbSB7Vk5vZGVbXCJ0eXBlXCJdfSB0eXBlIFRoZSBub2RlIG5hbWUgb3IgQ29tcG9uZW50IGNvbnN0cnVjdG9yIGZvciB0aGlzXG4gKiB2aXJ0dWFsIG5vZGVcbiAqIEBwYXJhbSB7b2JqZWN0IHwgbnVsbCB8IHVuZGVmaW5lZH0gW3Byb3BzXSBUaGUgcHJvcGVydGllcyBvZiB0aGUgdmlydHVhbCBub2RlXG4gKiBAcGFyYW0ge0FycmF5PGltcG9ydCgnLicpLkNvbXBvbmVudENoaWxkcmVuPn0gW2NoaWxkcmVuXSBUaGUgY2hpbGRyZW4gb2YgdGhlXG4gKiB2aXJ0dWFsIG5vZGVcbiAqIEByZXR1cm5zIHtWTm9kZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG5cdGxldCBub3JtYWxpemVkUHJvcHMgPSB7fSxcblx0XHRrZXksXG5cdFx0cmVmLFxuXHRcdGk7XG5cdGZvciAoaSBpbiBwcm9wcykge1xuXHRcdGlmIChpID09ICdrZXknKSBrZXkgPSBwcm9wc1tpXTtcblx0XHRlbHNlIGlmIChpID09ICdyZWYnKSByZWYgPSBwcm9wc1tpXTtcblx0XHRlbHNlIG5vcm1hbGl6ZWRQcm9wc1tpXSA9IHByb3BzW2ldO1xuXHR9XG5cblx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAyKSB7XG5cdFx0bm9ybWFsaXplZFByb3BzLmNoaWxkcmVuID1cblx0XHRcdGFyZ3VtZW50cy5sZW5ndGggPiAzID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpIDogY2hpbGRyZW47XG5cdH1cblxuXHQvLyBJZiBhIENvbXBvbmVudCBWTm9kZSwgY2hlY2sgZm9yIGFuZCBhcHBseSBkZWZhdWx0UHJvcHNcblx0Ly8gTm90ZTogdHlwZSBtYXkgYmUgdW5kZWZpbmVkIGluIGRldmVsb3BtZW50LCBtdXN0IG5ldmVyIGVycm9yIGhlcmUuXG5cdGlmICh0eXBlb2YgdHlwZSA9PSAnZnVuY3Rpb24nICYmIHR5cGUuZGVmYXVsdFByb3BzICE9IG51bGwpIHtcblx0XHRmb3IgKGkgaW4gdHlwZS5kZWZhdWx0UHJvcHMpIHtcblx0XHRcdGlmIChub3JtYWxpemVkUHJvcHNbaV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRub3JtYWxpemVkUHJvcHNbaV0gPSB0eXBlLmRlZmF1bHRQcm9wc1tpXTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gY3JlYXRlVk5vZGUodHlwZSwgbm9ybWFsaXplZFByb3BzLCBrZXksIHJlZiwgbnVsbCk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgVk5vZGUgKHVzZWQgaW50ZXJuYWxseSBieSBQcmVhY3QpXG4gKiBAcGFyYW0ge1ZOb2RlW1widHlwZVwiXX0gdHlwZSBUaGUgbm9kZSBuYW1lIG9yIENvbXBvbmVudFxuICogQ29uc3RydWN0b3IgZm9yIHRoaXMgdmlydHVhbCBub2RlXG4gKiBAcGFyYW0ge29iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IG51bGx9IHByb3BzIFRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgdmlydHVhbCBub2RlLlxuICogSWYgdGhpcyB2aXJ0dWFsIG5vZGUgcmVwcmVzZW50cyBhIHRleHQgbm9kZSwgdGhpcyBpcyB0aGUgdGV4dCBvZiB0aGUgbm9kZSAoc3RyaW5nIG9yIG51bWJlcikuXG4gKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlciB8IG51bGx9IGtleSBUaGUga2V5IGZvciB0aGlzIHZpcnR1YWwgbm9kZSwgdXNlZCB3aGVuXG4gKiBkaWZmaW5nIGl0IGFnYWluc3QgaXRzIGNoaWxkcmVuXG4gKiBAcGFyYW0ge1ZOb2RlW1wicmVmXCJdfSByZWYgVGhlIHJlZiBwcm9wZXJ0eSB0aGF0IHdpbGxcbiAqIHJlY2VpdmUgYSByZWZlcmVuY2UgdG8gaXRzIGNyZWF0ZWQgY2hpbGRcbiAqIEByZXR1cm5zIHtWTm9kZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVZOb2RlKHR5cGUsIHByb3BzLCBrZXksIHJlZiwgb3JpZ2luYWwpIHtcblx0Ly8gVjggc2VlbXMgdG8gYmUgYmV0dGVyIGF0IGRldGVjdGluZyB0eXBlIHNoYXBlcyBpZiB0aGUgb2JqZWN0IGlzIGFsbG9jYXRlZCBmcm9tIHRoZSBzYW1lIGNhbGwgc2l0ZVxuXHQvLyBEbyBub3QgaW5saW5lIGludG8gY3JlYXRlRWxlbWVudCBhbmQgY29lcmNlVG9WTm9kZSFcblx0LyoqIEB0eXBlIHtWTm9kZX0gKi9cblx0Y29uc3Qgdm5vZGUgPSB7XG5cdFx0dHlwZSxcblx0XHRwcm9wcyxcblx0XHRrZXksXG5cdFx0cmVmLFxuXHRcdF9jaGlsZHJlbjogbnVsbCxcblx0XHRfcGFyZW50OiBudWxsLFxuXHRcdF9kZXB0aDogMCxcblx0XHRfZG9tOiBudWxsLFxuXHRcdC8vIF9uZXh0RG9tIG11c3QgYmUgaW5pdGlhbGl6ZWQgdG8gdW5kZWZpbmVkIGIvYyBpdCB3aWxsIGV2ZW50dWFsbHlcblx0XHQvLyBiZSBzZXQgdG8gZG9tLm5leHRTaWJsaW5nIHdoaWNoIGNhbiByZXR1cm4gYG51bGxgIGFuZCBpdCBpcyBpbXBvcnRhbnRcblx0XHQvLyB0byBiZSBhYmxlIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gYW4gdW5pbml0aWFsaXplZCBfbmV4dERvbSBhbmRcblx0XHQvLyBhIF9uZXh0RG9tIHRoYXQgaGFzIGJlZW4gc2V0IHRvIGBudWxsYFxuXHRcdF9uZXh0RG9tOiB1bmRlZmluZWQsXG5cdFx0X2NvbXBvbmVudDogbnVsbCxcblx0XHRjb25zdHJ1Y3RvcjogdW5kZWZpbmVkLFxuXHRcdF9vcmlnaW5hbDogb3JpZ2luYWwgPT0gbnVsbCA/ICsrdm5vZGVJZCA6IG9yaWdpbmFsLFxuXHRcdF9pbmRleDogLTEsXG5cdFx0X2ZsYWdzOiAwXG5cdH07XG5cblx0Ly8gT25seSBpbnZva2UgdGhlIHZub2RlIGhvb2sgaWYgdGhpcyB3YXMgKm5vdCogYSBkaXJlY3QgY29weTpcblx0aWYgKG9yaWdpbmFsID09IG51bGwgJiYgb3B0aW9ucy52bm9kZSAhPSBudWxsKSBvcHRpb25zLnZub2RlKHZub2RlKTtcblxuXHRyZXR1cm4gdm5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWYoKSB7XG5cdHJldHVybiB7IGN1cnJlbnQ6IG51bGwgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZyYWdtZW50KHByb3BzKSB7XG5cdHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIHRoZSBhcmd1bWVudCBpcyBhIHZhbGlkIFByZWFjdCBWTm9kZS5cbiAqIEBwYXJhbSB7Kn0gdm5vZGVcbiAqIEByZXR1cm5zIHt2bm9kZSBpcyBWTm9kZX1cbiAqL1xuZXhwb3J0IGNvbnN0IGlzVmFsaWRFbGVtZW50ID0gdm5vZGUgPT5cblx0dm5vZGUgIT0gbnVsbCAmJiB2bm9kZS5jb25zdHJ1Y3RvciA9PSB1bmRlZmluZWQ7XG4iLCAiaW1wb3J0IHsgYXNzaWduIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IGRpZmYsIGNvbW1pdFJvb3QgfSBmcm9tICcuL2RpZmYvaW5kZXgnO1xuaW1wb3J0IG9wdGlvbnMgZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IEZyYWdtZW50IH0gZnJvbSAnLi9jcmVhdGUtZWxlbWVudCc7XG5pbXBvcnQgeyBNT0RFX0hZRFJBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8qKlxuICogQmFzZSBDb21wb25lbnQgY2xhc3MuIFByb3ZpZGVzIGBzZXRTdGF0ZSgpYCBhbmQgYGZvcmNlVXBkYXRlKClgLCB3aGljaFxuICogdHJpZ2dlciByZW5kZXJpbmdcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcyBUaGUgaW5pdGlhbCBjb21wb25lbnQgcHJvcHNcbiAqIEBwYXJhbSB7b2JqZWN0fSBjb250ZXh0IFRoZSBpbml0aWFsIGNvbnRleHQgZnJvbSBwYXJlbnQgY29tcG9uZW50cydcbiAqIGdldENoaWxkQ29udGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gQmFzZUNvbXBvbmVudChwcm9wcywgY29udGV4dCkge1xuXHR0aGlzLnByb3BzID0gcHJvcHM7XG5cdHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG59XG5cbi8qKlxuICogVXBkYXRlIGNvbXBvbmVudCBzdGF0ZSBhbmQgc2NoZWR1bGUgYSByZS1yZW5kZXIuXG4gKiBAdGhpcyB7Q29tcG9uZW50fVxuICogQHBhcmFtIHtvYmplY3QgfCAoKHM6IG9iamVjdCwgcDogb2JqZWN0KSA9PiBvYmplY3QpfSB1cGRhdGUgQSBoYXNoIG9mIHN0YXRlXG4gKiBwcm9wZXJ0aWVzIHRvIHVwZGF0ZSB3aXRoIG5ldyB2YWx1ZXMgb3IgYSBmdW5jdGlvbiB0aGF0IGdpdmVuIHRoZSBjdXJyZW50XG4gKiBzdGF0ZSBhbmQgcHJvcHMgcmV0dXJucyBhIG5ldyBwYXJ0aWFsIHN0YXRlXG4gKiBAcGFyYW0geygpID0+IHZvaWR9IFtjYWxsYmFja10gQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgb25jZSBjb21wb25lbnQgc3RhdGUgaXNcbiAqIHVwZGF0ZWRcbiAqL1xuQmFzZUNvbXBvbmVudC5wcm90b3R5cGUuc2V0U3RhdGUgPSBmdW5jdGlvbiAodXBkYXRlLCBjYWxsYmFjaykge1xuXHQvLyBvbmx5IGNsb25lIHN0YXRlIHdoZW4gY29weWluZyB0byBuZXh0U3RhdGUgdGhlIGZpcnN0IHRpbWUuXG5cdGxldCBzO1xuXHRpZiAodGhpcy5fbmV4dFN0YXRlICE9IG51bGwgJiYgdGhpcy5fbmV4dFN0YXRlICE9PSB0aGlzLnN0YXRlKSB7XG5cdFx0cyA9IHRoaXMuX25leHRTdGF0ZTtcblx0fSBlbHNlIHtcblx0XHRzID0gdGhpcy5fbmV4dFN0YXRlID0gYXNzaWduKHt9LCB0aGlzLnN0YXRlKTtcblx0fVxuXG5cdGlmICh0eXBlb2YgdXBkYXRlID09ICdmdW5jdGlvbicpIHtcblx0XHQvLyBTb21lIGxpYnJhcmllcyBsaWtlIGBpbW1lcmAgbWFyayB0aGUgY3VycmVudCBzdGF0ZSBhcyByZWFkb25seSxcblx0XHQvLyBwcmV2ZW50aW5nIHVzIGZyb20gbXV0YXRpbmcgaXQsIHNvIHdlIG5lZWQgdG8gY2xvbmUgaXQuIFNlZSAjMjcxNlxuXHRcdHVwZGF0ZSA9IHVwZGF0ZShhc3NpZ24oe30sIHMpLCB0aGlzLnByb3BzKTtcblx0fVxuXG5cdGlmICh1cGRhdGUpIHtcblx0XHRhc3NpZ24ocywgdXBkYXRlKTtcblx0fVxuXG5cdC8vIFNraXAgdXBkYXRlIGlmIHVwZGF0ZXIgZnVuY3Rpb24gcmV0dXJuZWQgbnVsbFxuXHRpZiAodXBkYXRlID09IG51bGwpIHJldHVybjtcblxuXHRpZiAodGhpcy5fdm5vZGUpIHtcblx0XHRpZiAoY2FsbGJhY2spIHtcblx0XHRcdHRoaXMuX3N0YXRlQ2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuXHRcdH1cblx0XHRlbnF1ZXVlUmVuZGVyKHRoaXMpO1xuXHR9XG59O1xuXG4vKipcbiAqIEltbWVkaWF0ZWx5IHBlcmZvcm0gYSBzeW5jaHJvbm91cyByZS1yZW5kZXIgb2YgdGhlIGNvbXBvbmVudFxuICogQHRoaXMge0NvbXBvbmVudH1cbiAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gW2NhbGxiYWNrXSBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhZnRlciBjb21wb25lbnQgaXNcbiAqIHJlLXJlbmRlcmVkXG4gKi9cbkJhc2VDb21wb25lbnQucHJvdG90eXBlLmZvcmNlVXBkYXRlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG5cdGlmICh0aGlzLl92bm9kZSkge1xuXHRcdC8vIFNldCByZW5kZXIgbW9kZSBzbyB0aGF0IHdlIGNhbiBkaWZmZXJlbnRpYXRlIHdoZXJlIHRoZSByZW5kZXIgcmVxdWVzdFxuXHRcdC8vIGlzIGNvbWluZyBmcm9tLiBXZSBuZWVkIHRoaXMgYmVjYXVzZSBmb3JjZVVwZGF0ZSBzaG91bGQgbmV2ZXIgY2FsbFxuXHRcdC8vIHNob3VsZENvbXBvbmVudFVwZGF0ZVxuXHRcdHRoaXMuX2ZvcmNlID0gdHJ1ZTtcblx0XHRpZiAoY2FsbGJhY2spIHRoaXMuX3JlbmRlckNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblx0XHRlbnF1ZXVlUmVuZGVyKHRoaXMpO1xuXHR9XG59O1xuXG4vKipcbiAqIEFjY2VwdHMgYHByb3BzYCBhbmQgYHN0YXRlYCwgYW5kIHJldHVybnMgYSBuZXcgVmlydHVhbCBET00gdHJlZSB0byBidWlsZC5cbiAqIFZpcnR1YWwgRE9NIGlzIGdlbmVyYWxseSBjb25zdHJ1Y3RlZCB2aWEgW0pTWF0oaHR0cDovL2phc29uZm9ybWF0LmNvbS93dGYtaXMtanN4KS5cbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcyBQcm9wcyAoZWc6IEpTWCBhdHRyaWJ1dGVzKSByZWNlaXZlZCBmcm9tIHBhcmVudFxuICogZWxlbWVudC9jb21wb25lbnRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzdGF0ZSBUaGUgY29tcG9uZW50J3MgY3VycmVudCBzdGF0ZVxuICogQHBhcmFtIHtvYmplY3R9IGNvbnRleHQgQ29udGV4dCBvYmplY3QsIGFzIHJldHVybmVkIGJ5IHRoZSBuZWFyZXN0XG4gKiBhbmNlc3RvcidzIGBnZXRDaGlsZENvbnRleHQoKWBcbiAqIEByZXR1cm5zIHtDb21wb25lbnRDaGlsZHJlbiB8IHZvaWR9XG4gKi9cbkJhc2VDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9IEZyYWdtZW50O1xuXG4vKipcbiAqIEBwYXJhbSB7Vk5vZGV9IHZub2RlXG4gKiBAcGFyYW0ge251bWJlciB8IG51bGx9IFtjaGlsZEluZGV4XVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RG9tU2libGluZyh2bm9kZSwgY2hpbGRJbmRleCkge1xuXHRpZiAoY2hpbGRJbmRleCA9PSBudWxsKSB7XG5cdFx0Ly8gVXNlIGNoaWxkSW5kZXg9PW51bGwgYXMgYSBzaWduYWwgdG8gcmVzdW1lIHRoZSBzZWFyY2ggZnJvbSB0aGUgdm5vZGUncyBzaWJsaW5nXG5cdFx0cmV0dXJuIHZub2RlLl9wYXJlbnRcblx0XHRcdD8gZ2V0RG9tU2libGluZyh2bm9kZS5fcGFyZW50LCB2bm9kZS5faW5kZXggKyAxKVxuXHRcdFx0OiBudWxsO1xuXHR9XG5cblx0bGV0IHNpYmxpbmc7XG5cdGZvciAoOyBjaGlsZEluZGV4IDwgdm5vZGUuX2NoaWxkcmVuLmxlbmd0aDsgY2hpbGRJbmRleCsrKSB7XG5cdFx0c2libGluZyA9IHZub2RlLl9jaGlsZHJlbltjaGlsZEluZGV4XTtcblxuXHRcdGlmIChzaWJsaW5nICE9IG51bGwgJiYgc2libGluZy5fZG9tICE9IG51bGwpIHtcblx0XHRcdC8vIFNpbmNlIHVwZGF0ZVBhcmVudERvbVBvaW50ZXJzIGtlZXBzIF9kb20gcG9pbnRlciBjb3JyZWN0LFxuXHRcdFx0Ly8gd2UgY2FuIHJlbHkgb24gX2RvbSB0byB0ZWxsIHVzIGlmIHRoaXMgc3VidHJlZSBjb250YWlucyBhXG5cdFx0XHQvLyByZW5kZXJlZCBET00gbm9kZSwgYW5kIHdoYXQgdGhlIGZpcnN0IHJlbmRlcmVkIERPTSBub2RlIGlzXG5cdFx0XHRyZXR1cm4gc2libGluZy5fZG9tO1xuXHRcdH1cblx0fVxuXG5cdC8vIElmIHdlIGdldCBoZXJlLCB3ZSBoYXZlIG5vdCBmb3VuZCBhIERPTSBub2RlIGluIHRoaXMgdm5vZGUncyBjaGlsZHJlbi5cblx0Ly8gV2UgbXVzdCByZXN1bWUgZnJvbSB0aGlzIHZub2RlJ3Mgc2libGluZyAoaW4gaXQncyBwYXJlbnQgX2NoaWxkcmVuIGFycmF5KVxuXHQvLyBPbmx5IGNsaW1iIHVwIGFuZCBzZWFyY2ggdGhlIHBhcmVudCBpZiB3ZSBhcmVuJ3Qgc2VhcmNoaW5nIHRocm91Z2ggYSBET01cblx0Ly8gVk5vZGUgKG1lYW5pbmcgd2UgcmVhY2hlZCB0aGUgRE9NIHBhcmVudCBvZiB0aGUgb3JpZ2luYWwgdm5vZGUgdGhhdCBiZWdhblxuXHQvLyB0aGUgc2VhcmNoKVxuXHRyZXR1cm4gdHlwZW9mIHZub2RlLnR5cGUgPT0gJ2Z1bmN0aW9uJyA/IGdldERvbVNpYmxpbmcodm5vZGUpIDogbnVsbDtcbn1cblxuLyoqXG4gKiBUcmlnZ2VyIGluLXBsYWNlIHJlLXJlbmRlcmluZyBvZiBhIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7Q29tcG9uZW50fSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byByZXJlbmRlclxuICovXG5mdW5jdGlvbiByZW5kZXJDb21wb25lbnQoY29tcG9uZW50KSB7XG5cdGxldCBvbGRWTm9kZSA9IGNvbXBvbmVudC5fdm5vZGUsXG5cdFx0b2xkRG9tID0gb2xkVk5vZGUuX2RvbSxcblx0XHRjb21taXRRdWV1ZSA9IFtdLFxuXHRcdHJlZlF1ZXVlID0gW107XG5cblx0aWYgKGNvbXBvbmVudC5fcGFyZW50RG9tKSB7XG5cdFx0Y29uc3QgbmV3Vk5vZGUgPSBhc3NpZ24oe30sIG9sZFZOb2RlKTtcblx0XHRuZXdWTm9kZS5fb3JpZ2luYWwgPSBvbGRWTm9kZS5fb3JpZ2luYWwgKyAxO1xuXHRcdGlmIChvcHRpb25zLnZub2RlKSBvcHRpb25zLnZub2RlKG5ld1ZOb2RlKTtcblxuXHRcdGRpZmYoXG5cdFx0XHRjb21wb25lbnQuX3BhcmVudERvbSxcblx0XHRcdG5ld1ZOb2RlLFxuXHRcdFx0b2xkVk5vZGUsXG5cdFx0XHRjb21wb25lbnQuX2dsb2JhbENvbnRleHQsXG5cdFx0XHRjb21wb25lbnQuX3BhcmVudERvbS5uYW1lc3BhY2VVUkksXG5cdFx0XHRvbGRWTm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUgPyBbb2xkRG9tXSA6IG51bGwsXG5cdFx0XHRjb21taXRRdWV1ZSxcblx0XHRcdG9sZERvbSA9PSBudWxsID8gZ2V0RG9tU2libGluZyhvbGRWTm9kZSkgOiBvbGREb20sXG5cdFx0XHQhIShvbGRWTm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUpLFxuXHRcdFx0cmVmUXVldWVcblx0XHQpO1xuXG5cdFx0bmV3Vk5vZGUuX29yaWdpbmFsID0gb2xkVk5vZGUuX29yaWdpbmFsO1xuXHRcdG5ld1ZOb2RlLl9wYXJlbnQuX2NoaWxkcmVuW25ld1ZOb2RlLl9pbmRleF0gPSBuZXdWTm9kZTtcblx0XHRjb21taXRSb290KGNvbW1pdFF1ZXVlLCBuZXdWTm9kZSwgcmVmUXVldWUpO1xuXG5cdFx0aWYgKG5ld1ZOb2RlLl9kb20gIT0gb2xkRG9tKSB7XG5cdFx0XHR1cGRhdGVQYXJlbnREb21Qb2ludGVycyhuZXdWTm9kZSk7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtWTm9kZX0gdm5vZGVcbiAqL1xuZnVuY3Rpb24gdXBkYXRlUGFyZW50RG9tUG9pbnRlcnModm5vZGUpIHtcblx0aWYgKCh2bm9kZSA9IHZub2RlLl9wYXJlbnQpICE9IG51bGwgJiYgdm5vZGUuX2NvbXBvbmVudCAhPSBudWxsKSB7XG5cdFx0dm5vZGUuX2RvbSA9IHZub2RlLl9jb21wb25lbnQuYmFzZSA9IG51bGw7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB2bm9kZS5fY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdGxldCBjaGlsZCA9IHZub2RlLl9jaGlsZHJlbltpXTtcblx0XHRcdGlmIChjaGlsZCAhPSBudWxsICYmIGNoaWxkLl9kb20gIT0gbnVsbCkge1xuXHRcdFx0XHR2bm9kZS5fZG9tID0gdm5vZGUuX2NvbXBvbmVudC5iYXNlID0gY2hpbGQuX2RvbTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHVwZGF0ZVBhcmVudERvbVBvaW50ZXJzKHZub2RlKTtcblx0fVxufVxuXG4vKipcbiAqIFRoZSByZW5kZXIgcXVldWVcbiAqIEB0eXBlIHtBcnJheTxDb21wb25lbnQ+fVxuICovXG5sZXQgcmVyZW5kZXJRdWV1ZSA9IFtdO1xuXG4vKlxuICogVGhlIHZhbHVlIG9mIGBDb21wb25lbnQuZGVib3VuY2VgIG11c3QgYXN5bmNocm9ub3VzbHkgaW52b2tlIHRoZSBwYXNzZWQgaW4gY2FsbGJhY2suIEl0IGlzXG4gKiBpbXBvcnRhbnQgdGhhdCBjb250cmlidXRvcnMgdG8gUHJlYWN0IGNhbiBjb25zaXN0ZW50bHkgcmVhc29uIGFib3V0IHdoYXQgY2FsbHMgdG8gYHNldFN0YXRlYCwgZXRjLlxuICogZG8sIGFuZCB3aGVuIHRoZWlyIGVmZmVjdHMgd2lsbCBiZSBhcHBsaWVkLiBTZWUgdGhlIGxpbmtzIGJlbG93IGZvciBzb21lIGZ1cnRoZXIgcmVhZGluZyBvbiBkZXNpZ25pbmdcbiAqIGFzeW5jaHJvbm91cyBBUElzLlxuICogKiBbRGVzaWduaW5nIEFQSXMgZm9yIEFzeW5jaHJvbnldKGh0dHBzOi8vYmxvZy5penMubWUvMjAxMy8wOC9kZXNpZ25pbmctYXBpcy1mb3ItYXN5bmNocm9ueSlcbiAqICogW0NhbGxiYWNrcyBzeW5jaHJvbm91cyBhbmQgYXN5bmNocm9ub3VzXShodHRwczovL2Jsb2cub21ldGVyLmNvbS8yMDExLzA3LzI0L2NhbGxiYWNrcy1zeW5jaHJvbm91cy1hbmQtYXN5bmNocm9ub3VzLylcbiAqL1xuXG5sZXQgcHJldkRlYm91bmNlO1xuXG5jb25zdCBkZWZlciA9XG5cdHR5cGVvZiBQcm9taXNlID09ICdmdW5jdGlvbidcblx0XHQ/IFByb21pc2UucHJvdG90eXBlLnRoZW4uYmluZChQcm9taXNlLnJlc29sdmUoKSlcblx0XHQ6IHNldFRpbWVvdXQ7XG5cbi8qKlxuICogRW5xdWV1ZSBhIHJlcmVuZGVyIG9mIGEgY29tcG9uZW50XG4gKiBAcGFyYW0ge0NvbXBvbmVudH0gYyBUaGUgY29tcG9uZW50IHRvIHJlcmVuZGVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnF1ZXVlUmVuZGVyKGMpIHtcblx0aWYgKFxuXHRcdCghYy5fZGlydHkgJiZcblx0XHRcdChjLl9kaXJ0eSA9IHRydWUpICYmXG5cdFx0XHRyZXJlbmRlclF1ZXVlLnB1c2goYykgJiZcblx0XHRcdCFwcm9jZXNzLl9yZXJlbmRlckNvdW50KyspIHx8XG5cdFx0cHJldkRlYm91bmNlICE9PSBvcHRpb25zLmRlYm91bmNlUmVuZGVyaW5nXG5cdCkge1xuXHRcdHByZXZEZWJvdW5jZSA9IG9wdGlvbnMuZGVib3VuY2VSZW5kZXJpbmc7XG5cdFx0KHByZXZEZWJvdW5jZSB8fCBkZWZlcikocHJvY2Vzcyk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge0NvbXBvbmVudH0gYVxuICogQHBhcmFtIHtDb21wb25lbnR9IGJcbiAqL1xuY29uc3QgZGVwdGhTb3J0ID0gKGEsIGIpID0+IGEuX3Zub2RlLl9kZXB0aCAtIGIuX3Zub2RlLl9kZXB0aDtcblxuLyoqIEZsdXNoIHRoZSByZW5kZXIgcXVldWUgYnkgcmVyZW5kZXJpbmcgYWxsIHF1ZXVlZCBjb21wb25lbnRzICovXG5mdW5jdGlvbiBwcm9jZXNzKCkge1xuXHRsZXQgYztcblx0cmVyZW5kZXJRdWV1ZS5zb3J0KGRlcHRoU29ydCk7XG5cdC8vIERvbid0IHVwZGF0ZSBgcmVuZGVyQ291bnRgIHlldC4gS2VlcCBpdHMgdmFsdWUgbm9uLXplcm8gdG8gcHJldmVudCB1bm5lY2Vzc2FyeVxuXHQvLyBwcm9jZXNzKCkgY2FsbHMgZnJvbSBnZXR0aW5nIHNjaGVkdWxlZCB3aGlsZSBgcXVldWVgIGlzIHN0aWxsIGJlaW5nIGNvbnN1bWVkLlxuXHR3aGlsZSAoKGMgPSByZXJlbmRlclF1ZXVlLnNoaWZ0KCkpKSB7XG5cdFx0aWYgKGMuX2RpcnR5KSB7XG5cdFx0XHRsZXQgcmVuZGVyUXVldWVMZW5ndGggPSByZXJlbmRlclF1ZXVlLmxlbmd0aDtcblx0XHRcdHJlbmRlckNvbXBvbmVudChjKTtcblx0XHRcdGlmIChyZXJlbmRlclF1ZXVlLmxlbmd0aCA+IHJlbmRlclF1ZXVlTGVuZ3RoKSB7XG5cdFx0XHRcdC8vIFdoZW4gaS5lLiByZXJlbmRlcmluZyBhIHByb3ZpZGVyIGFkZGl0aW9uYWwgbmV3IGl0ZW1zIGNhbiBiZSBpbmplY3RlZCwgd2Ugd2FudCB0b1xuXHRcdFx0XHQvLyBrZWVwIHRoZSBvcmRlciBmcm9tIHRvcCB0byBib3R0b20gd2l0aCB0aG9zZSBuZXcgaXRlbXMgc28gd2UgY2FuIGhhbmRsZSB0aGVtIGluIGFcblx0XHRcdFx0Ly8gc2luZ2xlIHBhc3Ncblx0XHRcdFx0cmVyZW5kZXJRdWV1ZS5zb3J0KGRlcHRoU29ydCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHByb2Nlc3MuX3JlcmVuZGVyQ291bnQgPSAwO1xufVxuXG5wcm9jZXNzLl9yZXJlbmRlckNvdW50ID0gMDtcbiIsICJpbXBvcnQgeyBJU19OT05fRElNRU5TSU9OQUwgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IG9wdGlvbnMgZnJvbSAnLi4vb3B0aW9ucyc7XG5cbmZ1bmN0aW9uIHNldFN0eWxlKHN0eWxlLCBrZXksIHZhbHVlKSB7XG5cdGlmIChrZXlbMF0gPT09ICctJykge1xuXHRcdHN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUgPT0gbnVsbCA/ICcnIDogdmFsdWUpO1xuXHR9IGVsc2UgaWYgKHZhbHVlID09IG51bGwpIHtcblx0XHRzdHlsZVtrZXldID0gJyc7XG5cdH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlICE9ICdudW1iZXInIHx8IElTX05PTl9ESU1FTlNJT05BTC50ZXN0KGtleSkpIHtcblx0XHRzdHlsZVtrZXldID0gdmFsdWU7XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGVba2V5XSA9IHZhbHVlICsgJ3B4Jztcblx0fVxufVxuXG4vLyBBIGxvZ2ljYWwgY2xvY2sgdG8gc29sdmUgaXNzdWVzIGxpa2UgaHR0cHM6Ly9naXRodWIuY29tL3ByZWFjdGpzL3ByZWFjdC9pc3N1ZXMvMzkyNy5cbi8vIFdoZW4gdGhlIERPTSBwZXJmb3JtcyBhbiBldmVudCBpdCBsZWF2ZXMgbWljcm8tdGlja3MgaW4gYmV0d2VlbiBidWJibGluZyB1cCB3aGljaCBtZWFucyB0aGF0XG4vLyBhbiBldmVudCBjYW4gdHJpZ2dlciBvbiBhIG5ld2x5IHJlYXRlZCBET00tbm9kZSB3aGlsZSB0aGUgZXZlbnQgYnViYmxlcyB1cC5cbi8vXG4vLyBPcmlnaW5hbGx5IGluc3BpcmVkIGJ5IFZ1ZVxuLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS92dWVqcy9jb3JlL2Jsb2IvY2FlYjhhNjg4MTFhMWIwZjc5L3BhY2thZ2VzL3J1bnRpbWUtZG9tL3NyYy9tb2R1bGVzL2V2ZW50cy50cyNMOTAtTDEwMSksXG4vLyBidXQgbW9kaWZpZWQgdG8gdXNlIGEgbG9naWNhbCBjbG9jayBpbnN0ZWFkIG9mIERhdGUubm93KCkgaW4gY2FzZSBldmVudCBoYW5kbGVycyBnZXQgYXR0YWNoZWRcbi8vIGFuZCBldmVudHMgZ2V0IGRpc3BhdGNoZWQgZHVyaW5nIHRoZSBzYW1lIG1pbGxpc2Vjb25kLlxuLy9cbi8vIFRoZSBjbG9jayBpcyBpbmNyZW1lbnRlZCBhZnRlciBlYWNoIG5ldyBldmVudCBkaXNwYXRjaC4gVGhpcyBhbGxvd3MgMSAwMDAgMDAwIG5ldyBldmVudHNcbi8vIHBlciBzZWNvbmQgZm9yIG92ZXIgMjgwIHllYXJzIGJlZm9yZSB0aGUgdmFsdWUgcmVhY2hlcyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiAoMioqNTMgLSAxKS5cbmxldCBldmVudENsb2NrID0gMDtcblxuLyoqXG4gKiBTZXQgYSBwcm9wZXJ0eSB2YWx1ZSBvbiBhIERPTSBub2RlXG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IGRvbSBUaGUgRE9NIG5vZGUgdG8gbW9kaWZ5XG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gc2V0XG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQgdGhlIHByb3BlcnR5IHRvXG4gKiBAcGFyYW0geyp9IG9sZFZhbHVlIFRoZSBvbGQgdmFsdWUgdGhlIHByb3BlcnR5IGhhZFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVzcGFjZSBXaGV0aGVyIG9yIG5vdCB0aGlzIERPTSBub2RlIGlzIGFuIFNWRyBub2RlIG9yIG5vdFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0UHJvcGVydHkoZG9tLCBuYW1lLCB2YWx1ZSwgb2xkVmFsdWUsIG5hbWVzcGFjZSkge1xuXHRsZXQgdXNlQ2FwdHVyZTtcblxuXHRvOiBpZiAobmFtZSA9PT0gJ3N0eWxlJykge1xuXHRcdGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycpIHtcblx0XHRcdGRvbS5zdHlsZS5jc3NUZXh0ID0gdmFsdWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmICh0eXBlb2Ygb2xkVmFsdWUgPT0gJ3N0cmluZycpIHtcblx0XHRcdFx0ZG9tLnN0eWxlLmNzc1RleHQgPSBvbGRWYWx1ZSA9ICcnO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAob2xkVmFsdWUpIHtcblx0XHRcdFx0Zm9yIChuYW1lIGluIG9sZFZhbHVlKSB7XG5cdFx0XHRcdFx0aWYgKCEodmFsdWUgJiYgbmFtZSBpbiB2YWx1ZSkpIHtcblx0XHRcdFx0XHRcdHNldFN0eWxlKGRvbS5zdHlsZSwgbmFtZSwgJycpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpZiAodmFsdWUpIHtcblx0XHRcdFx0Zm9yIChuYW1lIGluIHZhbHVlKSB7XG5cdFx0XHRcdFx0aWYgKCFvbGRWYWx1ZSB8fCB2YWx1ZVtuYW1lXSAhPT0gb2xkVmFsdWVbbmFtZV0pIHtcblx0XHRcdFx0XHRcdHNldFN0eWxlKGRvbS5zdHlsZSwgbmFtZSwgdmFsdWVbbmFtZV0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvLyBCZW5jaG1hcmsgZm9yIGNvbXBhcmlzb246IGh0dHBzOi8vZXNiZW5jaC5jb20vYmVuY2gvNTc0Yzk1NGJkYjk2NWI5YTAwOTY1YWM2XG5cdGVsc2UgaWYgKG5hbWVbMF0gPT09ICdvJyAmJiBuYW1lWzFdID09PSAnbicpIHtcblx0XHR1c2VDYXB0dXJlID1cblx0XHRcdG5hbWUgIT09IChuYW1lID0gbmFtZS5yZXBsYWNlKC8oUG9pbnRlckNhcHR1cmUpJHxDYXB0dXJlJC9pLCAnJDEnKSk7XG5cblx0XHQvLyBJbmZlciBjb3JyZWN0IGNhc2luZyBmb3IgRE9NIGJ1aWx0LWluIGV2ZW50czpcblx0XHRpZiAoXG5cdFx0XHRuYW1lLnRvTG93ZXJDYXNlKCkgaW4gZG9tIHx8XG5cdFx0XHRuYW1lID09PSAnb25Gb2N1c091dCcgfHxcblx0XHRcdG5hbWUgPT09ICdvbkZvY3VzSW4nXG5cdFx0KVxuXHRcdFx0bmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKS5zbGljZSgyKTtcblx0XHRlbHNlIG5hbWUgPSBuYW1lLnNsaWNlKDIpO1xuXG5cdFx0aWYgKCFkb20uX2xpc3RlbmVycykgZG9tLl9saXN0ZW5lcnMgPSB7fTtcblx0XHRkb20uX2xpc3RlbmVyc1tuYW1lICsgdXNlQ2FwdHVyZV0gPSB2YWx1ZTtcblxuXHRcdGlmICh2YWx1ZSkge1xuXHRcdFx0aWYgKCFvbGRWYWx1ZSkge1xuXHRcdFx0XHR2YWx1ZS5fYXR0YWNoZWQgPSBldmVudENsb2NrO1xuXHRcdFx0XHRkb20uYWRkRXZlbnRMaXN0ZW5lcihcblx0XHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRcdHVzZUNhcHR1cmUgPyBldmVudFByb3h5Q2FwdHVyZSA6IGV2ZW50UHJveHksXG5cdFx0XHRcdFx0dXNlQ2FwdHVyZVxuXHRcdFx0XHQpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dmFsdWUuX2F0dGFjaGVkID0gb2xkVmFsdWUuX2F0dGFjaGVkO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRkb20ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcblx0XHRcdFx0bmFtZSxcblx0XHRcdFx0dXNlQ2FwdHVyZSA/IGV2ZW50UHJveHlDYXB0dXJlIDogZXZlbnRQcm94eSxcblx0XHRcdFx0dXNlQ2FwdHVyZVxuXHRcdFx0KTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0aWYgKG5hbWVzcGFjZSA9PSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnKSB7XG5cdFx0XHQvLyBOb3JtYWxpemUgaW5jb3JyZWN0IHByb3AgdXNhZ2UgZm9yIFNWRzpcblx0XHRcdC8vIC0geGxpbms6aHJlZiAvIHhsaW5rSHJlZiAtLT4gaHJlZiAoeGxpbms6aHJlZiB3YXMgcmVtb3ZlZCBmcm9tIFNWRyBhbmQgaXNuJ3QgbmVlZGVkKVxuXHRcdFx0Ly8gLSBjbGFzc05hbWUgLS0+IGNsYXNzXG5cdFx0XHRuYW1lID0gbmFtZS5yZXBsYWNlKC94bGluayhIfDpoKS8sICdoJykucmVwbGFjZSgvc05hbWUkLywgJ3MnKTtcblx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0bmFtZSAhPSAnd2lkdGgnICYmXG5cdFx0XHRuYW1lICE9ICdoZWlnaHQnICYmXG5cdFx0XHRuYW1lICE9ICdocmVmJyAmJlxuXHRcdFx0bmFtZSAhPSAnbGlzdCcgJiZcblx0XHRcdG5hbWUgIT0gJ2Zvcm0nICYmXG5cdFx0XHQvLyBEZWZhdWx0IHZhbHVlIGluIGJyb3dzZXJzIGlzIGAtMWAgYW5kIGFuIGVtcHR5IHN0cmluZyBpc1xuXHRcdFx0Ly8gY2FzdCB0byBgMGAgaW5zdGVhZFxuXHRcdFx0bmFtZSAhPSAndGFiSW5kZXgnICYmXG5cdFx0XHRuYW1lICE9ICdkb3dubG9hZCcgJiZcblx0XHRcdG5hbWUgIT0gJ3Jvd1NwYW4nICYmXG5cdFx0XHRuYW1lICE9ICdjb2xTcGFuJyAmJlxuXHRcdFx0bmFtZSAhPSAncm9sZScgJiZcblx0XHRcdG5hbWUgIT0gJ3BvcG92ZXInICYmXG5cdFx0XHRuYW1lIGluIGRvbVxuXHRcdCkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0ZG9tW25hbWVdID0gdmFsdWUgPT0gbnVsbCA/ICcnIDogdmFsdWU7XG5cdFx0XHRcdC8vIGxhYmVsbGVkIGJyZWFrIGlzIDFiIHNtYWxsZXIgaGVyZSB0aGFuIGEgcmV0dXJuIHN0YXRlbWVudCAoc29ycnkpXG5cdFx0XHRcdGJyZWFrIG87XG5cdFx0XHR9IGNhdGNoIChlKSB7fVxuXHRcdH1cblxuXHRcdC8vIGFyaWEtIGFuZCBkYXRhLSBhdHRyaWJ1dGVzIGhhdmUgbm8gYm9vbGVhbiByZXByZXNlbnRhdGlvbi5cblx0XHQvLyBBIGBmYWxzZWAgdmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIGF0dHJpYnV0ZSBub3QgYmVpbmdcblx0XHQvLyBwcmVzZW50LCBzbyB3ZSBjYW4ndCByZW1vdmUgaXQuIEZvciBub24tYm9vbGVhbiBhcmlhXG5cdFx0Ly8gYXR0cmlidXRlcyB3ZSBjb3VsZCB0cmVhdCBmYWxzZSBhcyBhIHJlbW92YWwsIGJ1dCB0aGVcblx0XHQvLyBhbW91bnQgb2YgZXhjZXB0aW9ucyB3b3VsZCBjb3N0IHRvbyBtYW55IGJ5dGVzLiBPbiB0b3Agb2Zcblx0XHQvLyB0aGF0IG90aGVyIGZyYW1ld29ya3MgZ2VuZXJhbGx5IHN0cmluZ2lmeSBgZmFsc2VgLlxuXG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHQvLyBuZXZlciBzZXJpYWxpemUgZnVuY3Rpb25zIGFzIGF0dHJpYnV0ZSB2YWx1ZXNcblx0XHR9IGVsc2UgaWYgKHZhbHVlICE9IG51bGwgJiYgKHZhbHVlICE9PSBmYWxzZSB8fCBuYW1lWzRdID09PSAnLScpKSB7XG5cdFx0XHRkb20uc2V0QXR0cmlidXRlKG5hbWUsIG5hbWUgPT0gJ3BvcG92ZXInICYmIHZhbHVlID09IHRydWUgPyAnJyA6IHZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZG9tLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gZXZlbnQgcHJveHkgZnVuY3Rpb24uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHVzZUNhcHR1cmUgSXMgdGhlIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSBjYXB0dXJlIHBoYXNlLlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gY3JlYXRlRXZlbnRQcm94eSh1c2VDYXB0dXJlKSB7XG5cdC8qKlxuXHQgKiBQcm94eSBhbiBldmVudCB0byBob29rZWQgZXZlbnQgaGFuZGxlcnNcblx0ICogQHBhcmFtIHtQcmVhY3RFdmVudH0gZSBUaGUgZXZlbnQgb2JqZWN0IGZyb20gdGhlIGJyb3dzZXJcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHJldHVybiBmdW5jdGlvbiAoZSkge1xuXHRcdGlmICh0aGlzLl9saXN0ZW5lcnMpIHtcblx0XHRcdGNvbnN0IGV2ZW50SGFuZGxlciA9IHRoaXMuX2xpc3RlbmVyc1tlLnR5cGUgKyB1c2VDYXB0dXJlXTtcblx0XHRcdGlmIChlLl9kaXNwYXRjaGVkID09IG51bGwpIHtcblx0XHRcdFx0ZS5fZGlzcGF0Y2hlZCA9IGV2ZW50Q2xvY2srKztcblxuXHRcdFx0XHQvLyBXaGVuIGBlLl9kaXNwYXRjaGVkYCBpcyBzbWFsbGVyIHRoYW4gdGhlIHRpbWUgd2hlbiB0aGUgdGFyZ2V0ZWQgZXZlbnRcblx0XHRcdFx0Ly8gaGFuZGxlciB3YXMgYXR0YWNoZWQgd2Uga25vdyB3ZSBoYXZlIGJ1YmJsZWQgdXAgdG8gYW4gZWxlbWVudCB0aGF0IHdhcyBhZGRlZFxuXHRcdFx0XHQvLyBkdXJpbmcgcGF0Y2hpbmcgdGhlIERPTS5cblx0XHRcdH0gZWxzZSBpZiAoZS5fZGlzcGF0Y2hlZCA8IGV2ZW50SGFuZGxlci5fYXR0YWNoZWQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGV2ZW50SGFuZGxlcihvcHRpb25zLmV2ZW50ID8gb3B0aW9ucy5ldmVudChlKSA6IGUpO1xuXHRcdH1cblx0fTtcbn1cblxuY29uc3QgZXZlbnRQcm94eSA9IGNyZWF0ZUV2ZW50UHJveHkoZmFsc2UpO1xuY29uc3QgZXZlbnRQcm94eUNhcHR1cmUgPSBjcmVhdGVFdmVudFByb3h5KHRydWUpO1xuIiwgImltcG9ydCB7IGVucXVldWVSZW5kZXIgfSBmcm9tICcuL2NvbXBvbmVudCc7XG5cbmV4cG9ydCBsZXQgaSA9IDA7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb250ZXh0KGRlZmF1bHRWYWx1ZSwgY29udGV4dElkKSB7XG5cdGNvbnRleHRJZCA9ICdfX2NDJyArIGkrKztcblxuXHRjb25zdCBjb250ZXh0ID0ge1xuXHRcdF9pZDogY29udGV4dElkLFxuXHRcdF9kZWZhdWx0VmFsdWU6IGRlZmF1bHRWYWx1ZSxcblx0XHQvKiogQHR5cGUge0Z1bmN0aW9uQ29tcG9uZW50fSAqL1xuXHRcdENvbnN1bWVyKHByb3BzLCBjb250ZXh0VmFsdWUpIHtcblx0XHRcdC8vIHJldHVybiBwcm9wcy5jaGlsZHJlbihcblx0XHRcdC8vIFx0Y29udGV4dFtjb250ZXh0SWRdID8gY29udGV4dFtjb250ZXh0SWRdLnByb3BzLnZhbHVlIDogZGVmYXVsdFZhbHVlXG5cdFx0XHQvLyApO1xuXHRcdFx0cmV0dXJuIHByb3BzLmNoaWxkcmVuKGNvbnRleHRWYWx1ZSk7XG5cdFx0fSxcblx0XHQvKiogQHR5cGUge0Z1bmN0aW9uQ29tcG9uZW50fSAqL1xuXHRcdFByb3ZpZGVyKHByb3BzKSB7XG5cdFx0XHRpZiAoIXRoaXMuZ2V0Q2hpbGRDb250ZXh0KSB7XG5cdFx0XHRcdC8qKiBAdHlwZSB7U2V0PENvbXBvbmVudD4gfCBudWxsfSAqL1xuXHRcdFx0XHRsZXQgc3VicyA9IG5ldyBTZXQoKTtcblx0XHRcdFx0bGV0IGN0eCA9IHt9O1xuXHRcdFx0XHRjdHhbY29udGV4dElkXSA9IHRoaXM7XG5cblx0XHRcdFx0dGhpcy5nZXRDaGlsZENvbnRleHQgPSAoKSA9PiBjdHg7XG5cblx0XHRcdFx0dGhpcy5jb21wb25lbnRXaWxsVW5tb3VudCA9ICgpID0+IHtcblx0XHRcdFx0XHRzdWJzID0gbnVsbDtcblx0XHRcdFx0fTtcblxuXHRcdFx0XHR0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIChfcHJvcHMpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gX3Byb3BzLnZhbHVlKSB7XG5cdFx0XHRcdFx0XHRzdWJzLmZvckVhY2goYyA9PiB7XG5cdFx0XHRcdFx0XHRcdGMuX2ZvcmNlID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0ZW5xdWV1ZVJlbmRlcihjKTtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblxuXHRcdFx0XHR0aGlzLnN1YiA9IGMgPT4ge1xuXHRcdFx0XHRcdHN1YnMuYWRkKGMpO1xuXHRcdFx0XHRcdGxldCBvbGQgPSBjLmNvbXBvbmVudFdpbGxVbm1vdW50O1xuXHRcdFx0XHRcdGMuY29tcG9uZW50V2lsbFVubW91bnQgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoc3Vicykge1xuXHRcdFx0XHRcdFx0XHRzdWJzLmRlbGV0ZShjKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmIChvbGQpIG9sZC5jYWxsKGMpO1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBwcm9wcy5jaGlsZHJlbjtcblx0XHR9XG5cdH07XG5cblx0Ly8gRGV2dG9vbHMgbmVlZHMgYWNjZXNzIHRvIHRoZSBjb250ZXh0IG9iamVjdCB3aGVuIGl0XG5cdC8vIGVuY291bnRlcnMgYSBQcm92aWRlci4gVGhpcyBpcyBuZWNlc3NhcnkgdG8gc3VwcG9ydFxuXHQvLyBzZXR0aW5nIGBkaXNwbGF5TmFtZWAgb24gdGhlIGNvbnRleHQgb2JqZWN0IGluc3RlYWRcblx0Ly8gb2Ygb24gdGhlIGNvbXBvbmVudCBpdHNlbGYuIFNlZTpcblx0Ly8gaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2NvbnRleHQuaHRtbCNjb250ZXh0ZGlzcGxheW5hbWVcblxuXHRyZXR1cm4gKGNvbnRleHQuUHJvdmlkZXIuX2NvbnRleHRSZWYgPSBjb250ZXh0LkNvbnN1bWVyLmNvbnRleHRUeXBlID1cblx0XHRjb250ZXh0KTtcbn1cbiIsICJpbXBvcnQgeyBkaWZmLCB1bm1vdW50LCBhcHBseVJlZiB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgY3JlYXRlVk5vZGUsIEZyYWdtZW50IH0gZnJvbSAnLi4vY3JlYXRlLWVsZW1lbnQnO1xuaW1wb3J0IHsgRU1QVFlfT0JKLCBFTVBUWV9BUlIsIElOU0VSVF9WTk9ERSwgTUFUQ0hFRCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBnZXREb21TaWJsaW5nIH0gZnJvbSAnLi4vY29tcG9uZW50JztcblxuLyoqXG4gKiBEaWZmIHRoZSBjaGlsZHJlbiBvZiBhIHZpcnR1YWwgbm9kZVxuICogQHBhcmFtIHtQcmVhY3RFbGVtZW50fSBwYXJlbnREb20gVGhlIERPTSBlbGVtZW50IHdob3NlIGNoaWxkcmVuIGFyZSBiZWluZ1xuICogZGlmZmVkXG4gKiBAcGFyYW0ge0NvbXBvbmVudENoaWxkcmVuW119IHJlbmRlclJlc3VsdFxuICogQHBhcmFtIHtWTm9kZX0gbmV3UGFyZW50Vk5vZGUgVGhlIG5ldyB2aXJ0dWFsIG5vZGUgd2hvc2UgY2hpbGRyZW4gc2hvdWxkIGJlXG4gKiBkaWZmJ2VkIGFnYWluc3Qgb2xkUGFyZW50Vk5vZGVcbiAqIEBwYXJhbSB7Vk5vZGV9IG9sZFBhcmVudFZOb2RlIFRoZSBvbGQgdmlydHVhbCBub2RlIHdob3NlIGNoaWxkcmVuIHNob3VsZCBiZVxuICogZGlmZidlZCBhZ2FpbnN0IG5ld1BhcmVudFZOb2RlXG4gKiBAcGFyYW0ge29iamVjdH0gZ2xvYmFsQ29udGV4dCBUaGUgY3VycmVudCBjb250ZXh0IG9iamVjdCAtIG1vZGlmaWVkIGJ5XG4gKiBnZXRDaGlsZENvbnRleHRcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UgQ3VycmVudCBuYW1lc3BhY2Ugb2YgdGhlIERPTSBub2RlIChIVE1MLCBTVkcsIG9yIE1hdGhNTClcbiAqIEBwYXJhbSB7QXJyYXk8UHJlYWN0RWxlbWVudD59IGV4Y2Vzc0RvbUNoaWxkcmVuXG4gKiBAcGFyYW0ge0FycmF5PENvbXBvbmVudD59IGNvbW1pdFF1ZXVlIExpc3Qgb2YgY29tcG9uZW50cyB3aGljaCBoYXZlIGNhbGxiYWNrc1xuICogdG8gaW52b2tlIGluIGNvbW1pdFJvb3RcbiAqIEBwYXJhbSB7UHJlYWN0RWxlbWVudH0gb2xkRG9tIFRoZSBjdXJyZW50IGF0dGFjaGVkIERPTSBlbGVtZW50IGFueSBuZXcgZG9tXG4gKiBlbGVtZW50cyBzaG91bGQgYmUgcGxhY2VkIGFyb3VuZC4gTGlrZWx5IGBudWxsYCBvbiBmaXJzdCByZW5kZXIgKGV4Y2VwdCB3aGVuXG4gKiBoeWRyYXRpbmcpLiBDYW4gYmUgYSBzaWJsaW5nIERPTSBlbGVtZW50IHdoZW4gZGlmZmluZyBGcmFnbWVudHMgdGhhdCBoYXZlXG4gKiBzaWJsaW5ncy4gSW4gbW9zdCBjYXNlcywgaXQgc3RhcnRzIG91dCBhcyBgb2xkQ2hpbGRyZW5bMF0uX2RvbWAuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGlzSHlkcmF0aW5nIFdoZXRoZXIgb3Igbm90IHdlIGFyZSBpbiBoeWRyYXRpb25cbiAqIEBwYXJhbSB7YW55W119IHJlZlF1ZXVlIGFuIGFycmF5IG9mIGVsZW1lbnRzIG5lZWRlZCB0byBpbnZva2UgcmVmc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZkNoaWxkcmVuKFxuXHRwYXJlbnREb20sXG5cdHJlbmRlclJlc3VsdCxcblx0bmV3UGFyZW50Vk5vZGUsXG5cdG9sZFBhcmVudFZOb2RlLFxuXHRnbG9iYWxDb250ZXh0LFxuXHRuYW1lc3BhY2UsXG5cdGV4Y2Vzc0RvbUNoaWxkcmVuLFxuXHRjb21taXRRdWV1ZSxcblx0b2xkRG9tLFxuXHRpc0h5ZHJhdGluZyxcblx0cmVmUXVldWVcbikge1xuXHRsZXQgaSxcblx0XHQvKiogQHR5cGUge1ZOb2RlfSAqL1xuXHRcdG9sZFZOb2RlLFxuXHRcdC8qKiBAdHlwZSB7Vk5vZGV9ICovXG5cdFx0Y2hpbGRWTm9kZSxcblx0XHQvKiogQHR5cGUge1ByZWFjdEVsZW1lbnR9ICovXG5cdFx0bmV3RG9tLFxuXHRcdC8qKiBAdHlwZSB7UHJlYWN0RWxlbWVudH0gKi9cblx0XHRmaXJzdENoaWxkRG9tO1xuXG5cdC8vIFRoaXMgaXMgYSBjb21wcmVzc2lvbiBvZiBvbGRQYXJlbnRWTm9kZSE9bnVsbCAmJiBvbGRQYXJlbnRWTm9kZSAhPSBFTVBUWV9PQkogJiYgb2xkUGFyZW50Vk5vZGUuX2NoaWxkcmVuIHx8IEVNUFRZX0FSUlxuXHQvLyBhcyBFTVBUWV9PQkouX2NoaWxkcmVuIHNob3VsZCBiZSBgdW5kZWZpbmVkYC5cblx0LyoqIEB0eXBlIHtWTm9kZVtdfSAqL1xuXHRsZXQgb2xkQ2hpbGRyZW4gPSAob2xkUGFyZW50Vk5vZGUgJiYgb2xkUGFyZW50Vk5vZGUuX2NoaWxkcmVuKSB8fCBFTVBUWV9BUlI7XG5cblx0bGV0IG5ld0NoaWxkcmVuTGVuZ3RoID0gcmVuZGVyUmVzdWx0Lmxlbmd0aDtcblxuXHRuZXdQYXJlbnRWTm9kZS5fbmV4dERvbSA9IG9sZERvbTtcblx0Y29uc3RydWN0TmV3Q2hpbGRyZW5BcnJheShuZXdQYXJlbnRWTm9kZSwgcmVuZGVyUmVzdWx0LCBvbGRDaGlsZHJlbik7XG5cdG9sZERvbSA9IG5ld1BhcmVudFZOb2RlLl9uZXh0RG9tO1xuXG5cdGZvciAoaSA9IDA7IGkgPCBuZXdDaGlsZHJlbkxlbmd0aDsgaSsrKSB7XG5cdFx0Y2hpbGRWTm9kZSA9IG5ld1BhcmVudFZOb2RlLl9jaGlsZHJlbltpXTtcblx0XHRpZiAoY2hpbGRWTm9kZSA9PSBudWxsKSBjb250aW51ZTtcblxuXHRcdC8vIEF0IHRoaXMgcG9pbnQsIGNvbnN0cnVjdE5ld0NoaWxkcmVuQXJyYXkgaGFzIGFzc2lnbmVkIF9pbmRleCB0byBiZSB0aGVcblx0XHQvLyBtYXRjaGluZ0luZGV4IGZvciB0aGlzIFZOb2RlJ3Mgb2xkVk5vZGUgKG9yIC0xIGlmIHRoZXJlIGlzIG5vIG9sZFZOb2RlKS5cblx0XHRpZiAoY2hpbGRWTm9kZS5faW5kZXggPT09IC0xKSB7XG5cdFx0XHRvbGRWTm9kZSA9IEVNUFRZX09CSjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0b2xkVk5vZGUgPSBvbGRDaGlsZHJlbltjaGlsZFZOb2RlLl9pbmRleF0gfHwgRU1QVFlfT0JKO1xuXHRcdH1cblxuXHRcdC8vIFVwZGF0ZSBjaGlsZFZOb2RlLl9pbmRleCB0byBpdHMgZmluYWwgaW5kZXhcblx0XHRjaGlsZFZOb2RlLl9pbmRleCA9IGk7XG5cblx0XHQvLyBNb3JwaCB0aGUgb2xkIGVsZW1lbnQgaW50byB0aGUgbmV3IG9uZSwgYnV0IGRvbid0IGFwcGVuZCBpdCB0byB0aGUgZG9tIHlldFxuXHRcdGRpZmYoXG5cdFx0XHRwYXJlbnREb20sXG5cdFx0XHRjaGlsZFZOb2RlLFxuXHRcdFx0b2xkVk5vZGUsXG5cdFx0XHRnbG9iYWxDb250ZXh0LFxuXHRcdFx0bmFtZXNwYWNlLFxuXHRcdFx0ZXhjZXNzRG9tQ2hpbGRyZW4sXG5cdFx0XHRjb21taXRRdWV1ZSxcblx0XHRcdG9sZERvbSxcblx0XHRcdGlzSHlkcmF0aW5nLFxuXHRcdFx0cmVmUXVldWVcblx0XHQpO1xuXG5cdFx0Ly8gQWRqdXN0IERPTSBub2Rlc1xuXHRcdG5ld0RvbSA9IGNoaWxkVk5vZGUuX2RvbTtcblx0XHRpZiAoY2hpbGRWTm9kZS5yZWYgJiYgb2xkVk5vZGUucmVmICE9IGNoaWxkVk5vZGUucmVmKSB7XG5cdFx0XHRpZiAob2xkVk5vZGUucmVmKSB7XG5cdFx0XHRcdGFwcGx5UmVmKG9sZFZOb2RlLnJlZiwgbnVsbCwgY2hpbGRWTm9kZSk7XG5cdFx0XHR9XG5cdFx0XHRyZWZRdWV1ZS5wdXNoKFxuXHRcdFx0XHRjaGlsZFZOb2RlLnJlZixcblx0XHRcdFx0Y2hpbGRWTm9kZS5fY29tcG9uZW50IHx8IG5ld0RvbSxcblx0XHRcdFx0Y2hpbGRWTm9kZVxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRpZiAoZmlyc3RDaGlsZERvbSA9PSBudWxsICYmIG5ld0RvbSAhPSBudWxsKSB7XG5cdFx0XHRmaXJzdENoaWxkRG9tID0gbmV3RG9tO1xuXHRcdH1cblxuXHRcdGlmIChcblx0XHRcdGNoaWxkVk5vZGUuX2ZsYWdzICYgSU5TRVJUX1ZOT0RFIHx8XG5cdFx0XHRvbGRWTm9kZS5fY2hpbGRyZW4gPT09IGNoaWxkVk5vZGUuX2NoaWxkcmVuXG5cdFx0KSB7XG5cdFx0XHRvbGREb20gPSBpbnNlcnQoY2hpbGRWTm9kZSwgb2xkRG9tLCBwYXJlbnREb20pO1xuXHRcdH0gZWxzZSBpZiAoXG5cdFx0XHR0eXBlb2YgY2hpbGRWTm9kZS50eXBlID09ICdmdW5jdGlvbicgJiZcblx0XHRcdGNoaWxkVk5vZGUuX25leHREb20gIT09IHVuZGVmaW5lZFxuXHRcdCkge1xuXHRcdFx0Ly8gU2luY2UgRnJhZ21lbnRzIG9yIGNvbXBvbmVudHMgdGhhdCByZXR1cm4gRnJhZ21lbnQgbGlrZSBWTm9kZXMgY2FuXG5cdFx0XHQvLyBjb250YWluIG11bHRpcGxlIERPTSBub2RlcyBhcyB0aGUgc2FtZSBsZXZlbCwgY29udGludWUgdGhlIGRpZmYgZnJvbVxuXHRcdFx0Ly8gdGhlIHNpYmxpbmcgb2YgbGFzdCBET00gY2hpbGQgb2YgdGhpcyBjaGlsZCBWTm9kZVxuXHRcdFx0b2xkRG9tID0gY2hpbGRWTm9kZS5fbmV4dERvbTtcblx0XHR9IGVsc2UgaWYgKG5ld0RvbSkge1xuXHRcdFx0b2xkRG9tID0gbmV3RG9tLm5leHRTaWJsaW5nO1xuXHRcdH1cblxuXHRcdC8vIEVhZ2VybHkgY2xlYW51cCBfbmV4dERvbS4gV2UgZG9uJ3QgbmVlZCB0byBwZXJzaXN0IHRoZSB2YWx1ZSBiZWNhdXNlIGl0XG5cdFx0Ly8gaXMgb25seSB1c2VkIGJ5IGBkaWZmQ2hpbGRyZW5gIHRvIGRldGVybWluZSB3aGVyZSB0byByZXN1bWUgdGhlIGRpZmZcblx0XHQvLyBhZnRlciBkaWZmaW5nIENvbXBvbmVudHMgYW5kIEZyYWdtZW50cy4gT25jZSB3ZSBzdG9yZSBpdCB0aGUgbmV4dERPTVxuXHRcdC8vIGxvY2FsIHZhciwgd2UgY2FuIGNsZWFuIHVwIHRoZSBwcm9wZXJ0eS4gQWxzbyBwcmV2ZW50cyB1cyBoYW5naW5nIG9uIHRvXG5cdFx0Ly8gRE9NIG5vZGVzIHRoYXQgbWF5IGhhdmUgYmVlbiB1bm1vdW50ZWQuXG5cdFx0Y2hpbGRWTm9kZS5fbmV4dERvbSA9IHVuZGVmaW5lZDtcblxuXHRcdC8vIFVuc2V0IGRpZmZpbmcgZmxhZ3Ncblx0XHRjaGlsZFZOb2RlLl9mbGFncyAmPSB+KElOU0VSVF9WTk9ERSB8IE1BVENIRUQpO1xuXHR9XG5cblx0Ly8gVE9ETzogV2l0aCBuZXcgY2hpbGQgZGlmZmluZyBhbGdvLCBjb25zaWRlciBhbHQgd2F5cyB0byBkaWZmIEZyYWdtZW50cy5cblx0Ly8gU3VjaCBhcyBkcm9wcGluZyBvbGREb20gYW5kIG1vdmluZyBmcmFnbWVudHMgaW4gcGxhY2Vcblx0Ly9cblx0Ly8gQmVjYXVzZSB0aGUgbmV3UGFyZW50Vk5vZGUgaXMgRnJhZ21lbnQtbGlrZSwgd2UgbmVlZCB0byBzZXQgaXQnc1xuXHQvLyBfbmV4dERvbSBwcm9wZXJ0eSB0byB0aGUgbmV4dFNpYmxpbmcgb2YgaXRzIGxhc3QgY2hpbGQgRE9NIG5vZGUuXG5cdC8vXG5cdC8vIGBvbGREb21gIGNvbnRhaW5zIHRoZSBjb3JyZWN0IHZhbHVlIGhlcmUgYmVjYXVzZSBpZiB0aGUgbGFzdCBjaGlsZFxuXHQvLyBpcyBhIEZyYWdtZW50LWxpa2UsIHRoZW4gb2xkRG9tIGhhcyBhbHJlYWR5IGJlZW4gc2V0IHRvIHRoYXQgY2hpbGQncyBfbmV4dERvbS5cblx0Ly8gSWYgdGhlIGxhc3QgY2hpbGQgaXMgYSBET00gVk5vZGUsIHRoZW4gb2xkRG9tIHdpbGwgYmUgc2V0IHRvIHRoYXQgRE9NXG5cdC8vIG5vZGUncyBuZXh0U2libGluZy5cblx0bmV3UGFyZW50Vk5vZGUuX25leHREb20gPSBvbGREb207XG5cdG5ld1BhcmVudFZOb2RlLl9kb20gPSBmaXJzdENoaWxkRG9tO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Vk5vZGV9IG5ld1BhcmVudFZOb2RlXG4gKiBAcGFyYW0ge0NvbXBvbmVudENoaWxkcmVuW119IHJlbmRlclJlc3VsdFxuICogQHBhcmFtIHtWTm9kZVtdfSBvbGRDaGlsZHJlblxuICovXG5mdW5jdGlvbiBjb25zdHJ1Y3ROZXdDaGlsZHJlbkFycmF5KG5ld1BhcmVudFZOb2RlLCByZW5kZXJSZXN1bHQsIG9sZENoaWxkcmVuKSB7XG5cdC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xuXHRsZXQgaTtcblx0LyoqIEB0eXBlIHtWTm9kZX0gKi9cblx0bGV0IGNoaWxkVk5vZGU7XG5cdC8qKiBAdHlwZSB7Vk5vZGV9ICovXG5cdGxldCBvbGRWTm9kZTtcblxuXHRjb25zdCBuZXdDaGlsZHJlbkxlbmd0aCA9IHJlbmRlclJlc3VsdC5sZW5ndGg7XG5cdGxldCBvbGRDaGlsZHJlbkxlbmd0aCA9IG9sZENoaWxkcmVuLmxlbmd0aCxcblx0XHRyZW1haW5pbmdPbGRDaGlsZHJlbiA9IG9sZENoaWxkcmVuTGVuZ3RoO1xuXG5cdGxldCBza2V3ID0gMDtcblxuXHRuZXdQYXJlbnRWTm9kZS5fY2hpbGRyZW4gPSBbXTtcblx0Zm9yIChpID0gMDsgaSA8IG5ld0NoaWxkcmVuTGVuZ3RoOyBpKyspIHtcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIFdlIGFyZSByZXVzaW5nIHRoZSBjaGlsZFZOb2RlIHZhcmlhYmxlIHRvIGhvbGQgYm90aCB0aGVcblx0XHQvLyBwcmUgYW5kIHBvc3Qgbm9ybWFsaXplZCBjaGlsZFZOb2RlXG5cdFx0Y2hpbGRWTm9kZSA9IHJlbmRlclJlc3VsdFtpXTtcblxuXHRcdGlmIChcblx0XHRcdGNoaWxkVk5vZGUgPT0gbnVsbCB8fFxuXHRcdFx0dHlwZW9mIGNoaWxkVk5vZGUgPT0gJ2Jvb2xlYW4nIHx8XG5cdFx0XHR0eXBlb2YgY2hpbGRWTm9kZSA9PSAnZnVuY3Rpb24nXG5cdFx0KSB7XG5cdFx0XHRjaGlsZFZOb2RlID0gbmV3UGFyZW50Vk5vZGUuX2NoaWxkcmVuW2ldID0gbnVsbDtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBJZiB0aGlzIG5ld1ZOb2RlIGlzIGJlaW5nIHJldXNlZCAoZS5nLiA8ZGl2PntyZXVzZX17cmV1c2V9PC9kaXY+KSBpbiB0aGUgc2FtZSBkaWZmLFxuXHRcdC8vIG9yIHdlIGFyZSByZW5kZXJpbmcgYSBjb21wb25lbnQgKGUuZy4gc2V0U3RhdGUpIGNvcHkgdGhlIG9sZFZOb2RlcyBzbyBpdCBjYW4gaGF2ZVxuXHRcdC8vIGl0J3Mgb3duIERPTSAmIGV0Yy4gcG9pbnRlcnNcblx0XHRlbHNlIGlmIChcblx0XHRcdHR5cGVvZiBjaGlsZFZOb2RlID09ICdzdHJpbmcnIHx8XG5cdFx0XHR0eXBlb2YgY2hpbGRWTm9kZSA9PSAnbnVtYmVyJyB8fFxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHZhbGlkLXR5cGVvZlxuXHRcdFx0dHlwZW9mIGNoaWxkVk5vZGUgPT0gJ2JpZ2ludCcgfHxcblx0XHRcdGNoaWxkVk5vZGUuY29uc3RydWN0b3IgPT0gU3RyaW5nXG5cdFx0KSB7XG5cdFx0XHRjaGlsZFZOb2RlID0gbmV3UGFyZW50Vk5vZGUuX2NoaWxkcmVuW2ldID0gY3JlYXRlVk5vZGUoXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdGNoaWxkVk5vZGUsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdG51bGxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIGlmIChpc0FycmF5KGNoaWxkVk5vZGUpKSB7XG5cdFx0XHRjaGlsZFZOb2RlID0gbmV3UGFyZW50Vk5vZGUuX2NoaWxkcmVuW2ldID0gY3JlYXRlVk5vZGUoXG5cdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHR7IGNoaWxkcmVuOiBjaGlsZFZOb2RlIH0sXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdG51bGxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIGlmIChjaGlsZFZOb2RlLmNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQgJiYgY2hpbGRWTm9kZS5fZGVwdGggPiAwKSB7XG5cdFx0XHQvLyBWTm9kZSBpcyBhbHJlYWR5IGluIHVzZSwgY2xvbmUgaXQuIFRoaXMgY2FuIGhhcHBlbiBpbiB0aGUgZm9sbG93aW5nXG5cdFx0XHQvLyBzY2VuYXJpbzpcblx0XHRcdC8vICAgY29uc3QgcmV1c2UgPSA8ZGl2IC8+XG5cdFx0XHQvLyAgIDxkaXY+e3JldXNlfTxzcGFuIC8+e3JldXNlfTwvZGl2PlxuXHRcdFx0Y2hpbGRWTm9kZSA9IG5ld1BhcmVudFZOb2RlLl9jaGlsZHJlbltpXSA9IGNyZWF0ZVZOb2RlKFxuXHRcdFx0XHRjaGlsZFZOb2RlLnR5cGUsXG5cdFx0XHRcdGNoaWxkVk5vZGUucHJvcHMsXG5cdFx0XHRcdGNoaWxkVk5vZGUua2V5LFxuXHRcdFx0XHRjaGlsZFZOb2RlLnJlZiA/IGNoaWxkVk5vZGUucmVmIDogbnVsbCxcblx0XHRcdFx0Y2hpbGRWTm9kZS5fb3JpZ2luYWxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNoaWxkVk5vZGUgPSBuZXdQYXJlbnRWTm9kZS5fY2hpbGRyZW5baV0gPSBjaGlsZFZOb2RlO1xuXHRcdH1cblxuXHRcdGNvbnN0IHNrZXdlZEluZGV4ID0gaSArIHNrZXc7XG5cdFx0Y2hpbGRWTm9kZS5fcGFyZW50ID0gbmV3UGFyZW50Vk5vZGU7XG5cdFx0Y2hpbGRWTm9kZS5fZGVwdGggPSBuZXdQYXJlbnRWTm9kZS5fZGVwdGggKyAxO1xuXG5cdFx0Ly8gVGVtcG9yYXJpbHkgc3RvcmUgdGhlIG1hdGNoaW5nSW5kZXggb24gdGhlIF9pbmRleCBwcm9wZXJ0eSBzbyB3ZSBjYW4gcHVsbFxuXHRcdC8vIG91dCB0aGUgb2xkVk5vZGUgaW4gZGlmZkNoaWxkcmVuLiBXZSdsbCBvdmVycmlkZSB0aGlzIHRvIHRoZSBWTm9kZSdzXG5cdFx0Ly8gZmluYWwgaW5kZXggYWZ0ZXIgdXNpbmcgdGhpcyBwcm9wZXJ0eSB0byBnZXQgdGhlIG9sZFZOb2RlXG5cdFx0Y29uc3QgbWF0Y2hpbmdJbmRleCA9IChjaGlsZFZOb2RlLl9pbmRleCA9IGZpbmRNYXRjaGluZ0luZGV4KFxuXHRcdFx0Y2hpbGRWTm9kZSxcblx0XHRcdG9sZENoaWxkcmVuLFxuXHRcdFx0c2tld2VkSW5kZXgsXG5cdFx0XHRyZW1haW5pbmdPbGRDaGlsZHJlblxuXHRcdCkpO1xuXG5cdFx0b2xkVk5vZGUgPSBudWxsO1xuXHRcdGlmIChtYXRjaGluZ0luZGV4ICE9PSAtMSkge1xuXHRcdFx0b2xkVk5vZGUgPSBvbGRDaGlsZHJlblttYXRjaGluZ0luZGV4XTtcblx0XHRcdHJlbWFpbmluZ09sZENoaWxkcmVuLS07XG5cdFx0XHRpZiAob2xkVk5vZGUpIHtcblx0XHRcdFx0b2xkVk5vZGUuX2ZsYWdzIHw9IE1BVENIRUQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gSGVyZSwgd2UgZGVmaW5lIGlzTW91bnRpbmcgZm9yIHRoZSBwdXJwb3NlcyBvZiB0aGUgc2tldyBkaWZmaW5nXG5cdFx0Ly8gYWxnb3JpdGhtLiBOb2RlcyB0aGF0IGFyZSB1bnN1c3BlbmRpbmcgYXJlIGNvbnNpZGVyZWQgbW91bnRpbmcgYW5kIHdlIGRldGVjdFxuXHRcdC8vIHRoaXMgYnkgY2hlY2tpbmcgaWYgb2xkVk5vZGUuX29yaWdpbmFsID09PSBudWxsXG5cdFx0Y29uc3QgaXNNb3VudGluZyA9IG9sZFZOb2RlID09IG51bGwgfHwgb2xkVk5vZGUuX29yaWdpbmFsID09PSBudWxsO1xuXG5cdFx0aWYgKGlzTW91bnRpbmcpIHtcblx0XHRcdGlmIChtYXRjaGluZ0luZGV4ID09IC0xKSB7XG5cdFx0XHRcdHNrZXctLTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSWYgd2UgYXJlIG1vdW50aW5nIGEgRE9NIFZOb2RlLCBtYXJrIGl0IGZvciBpbnNlcnRpb25cblx0XHRcdGlmICh0eXBlb2YgY2hpbGRWTm9kZS50eXBlICE9ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0Y2hpbGRWTm9kZS5fZmxhZ3MgfD0gSU5TRVJUX1ZOT0RFO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAobWF0Y2hpbmdJbmRleCAhPT0gc2tld2VkSW5kZXgpIHtcblx0XHRcdC8vIFdoZW4gd2UgbW92ZSBlbGVtZW50cyBhcm91bmQgaS5lLiBbMCwgMSwgMl0gLS0+IFsxLCAwLCAyXVxuXHRcdFx0Ly8gLS0+IHdlIGRpZmYgMSwgd2UgZmluZCBpdCBhdCBwb3NpdGlvbiAxIHdoaWxlIG91ciBza2V3ZWQgaW5kZXggaXMgMCBhbmQgb3VyIHNrZXcgaXMgMFxuXHRcdFx0Ly8gICAgIHdlIHNldCB0aGUgc2tldyB0byAxIGFzIHdlIGZvdW5kIGFuIG9mZnNldC5cblx0XHRcdC8vIC0tPiB3ZSBkaWZmIDAsIHdlIGZpbmQgaXQgYXQgcG9zaXRpb24gMCB3aGlsZSBvdXIgc2tld2VkIGluZGV4IGlzIGF0IDIgYW5kIG91ciBza2V3IGlzIDFcblx0XHRcdC8vICAgICB0aGlzIG1ha2VzIHVzIGluY3JlYXNlIHRoZSBza2V3IGFnYWluLlxuXHRcdFx0Ly8gLS0+IHdlIGRpZmYgMiwgd2UgZmluZCBpdCBhdCBwb3NpdGlvbiAyIHdoaWxlIG91ciBza2V3ZWQgaW5kZXggaXMgYXQgNCBhbmQgb3VyIHNrZXcgaXMgMlxuXHRcdFx0Ly9cblx0XHRcdC8vIHRoaXMgYmVjb21lcyBhbiBvcHRpbWl6YXRpb24gcXVlc3Rpb24gd2hlcmUgY3VycmVudGx5IHdlIHNlZSBhIDEgZWxlbWVudCBvZmZzZXQgYXMgYW4gaW5zZXJ0aW9uXG5cdFx0XHQvLyBvciBkZWxldGlvbiBpLmUuIHdlIG9wdGltaXplIGZvciBbMCwgMSwgMl0gLS0+IFs5LCAwLCAxLCAyXVxuXHRcdFx0Ly8gd2hpbGUgYSBtb3JlIHRoYW4gMSBvZmZzZXQgd2Ugc2VlIGFzIGEgc3dhcC5cblx0XHRcdC8vIFdlIGNvdWxkIHByb2JhYmx5IGJ1aWxkIGhldXJpc3RpY3MgZm9yIGhhdmluZyBhbiBvcHRpbWl6ZWQgY291cnNlIG9mIGFjdGlvbiBoZXJlIGFzIHdlbGwsIGJ1dFxuXHRcdFx0Ly8gbWlnaHQgZ28gYXQgdGhlIGNvc3Qgb2Ygc29tZSBieXRlcy5cblx0XHRcdC8vXG5cdFx0XHQvLyBJZiB3ZSB3YW50ZWQgdG8gb3B0aW1pemUgZm9yIGkuZS4gb25seSBzd2FwcyB3ZSdkIGp1c3QgZG8gdGhlIGxhc3QgdHdvIGNvZGUtYnJhbmNoZXMgYW5kIGhhdmVcblx0XHRcdC8vIG9ubHkgdGhlIGZpcnN0IGl0ZW0gYmUgYSByZS1zY291dGluZyBhbmQgYWxsIHRoZSBvdGhlcnMgZmFsbCBpbiB0aGVpciBza2V3ZWQgY291bnRlci1wYXJ0LlxuXHRcdFx0Ly8gV2UgY291bGQgYWxzbyBmdXJ0aGVyIG9wdGltaXplIGZvciBzd2Fwc1xuXHRcdFx0aWYgKG1hdGNoaW5nSW5kZXggPT0gc2tld2VkSW5kZXggLSAxKSB7XG5cdFx0XHRcdHNrZXctLTtcblx0XHRcdH0gZWxzZSBpZiAobWF0Y2hpbmdJbmRleCA9PSBza2V3ZWRJbmRleCArIDEpIHtcblx0XHRcdFx0c2tldysrO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aWYgKG1hdGNoaW5nSW5kZXggPiBza2V3ZWRJbmRleCkge1xuXHRcdFx0XHRcdHNrZXctLTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRza2V3Kys7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBNb3ZlIHRoaXMgVk5vZGUncyBET00gaWYgdGhlIG9yaWdpbmFsIGluZGV4IChtYXRjaGluZ0luZGV4KSBkb2Vzbid0XG5cdFx0XHRcdC8vIG1hdGNoIHRoZSBuZXcgc2tldyBpbmRleCAoaSArIG5ldyBza2V3KVxuXHRcdFx0XHQvLyBJbiB0aGUgZm9ybWVyIHR3byBicmFuY2hlcyB3ZSBrbm93IHRoYXQgaXQgbWF0Y2hlcyBhZnRlciBza2V3aW5nXG5cdFx0XHRcdGNoaWxkVk5vZGUuX2ZsYWdzIHw9IElOU0VSVF9WTk9ERTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBSZW1vdmUgcmVtYWluaW5nIG9sZENoaWxkcmVuIGlmIHRoZXJlIGFyZSBhbnkuIExvb3AgZm9yd2FyZHMgc28gdGhhdCBhcyB3ZVxuXHQvLyB1bm1vdW50IERPTSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG9sZENoaWxkcmVuLCB3ZSBjYW4gYWRqdXN0IG9sZERvbSB0b1xuXHQvLyBwb2ludCB0byB0aGUgbmV4dCBjaGlsZCwgd2hpY2ggbmVlZHMgdG8gYmUgdGhlIGZpcnN0IERPTSBub2RlIHRoYXQgd29uJ3QgYmVcblx0Ly8gdW5tb3VudGVkLlxuXHRpZiAocmVtYWluaW5nT2xkQ2hpbGRyZW4pIHtcblx0XHRmb3IgKGkgPSAwOyBpIDwgb2xkQ2hpbGRyZW5MZW5ndGg7IGkrKykge1xuXHRcdFx0b2xkVk5vZGUgPSBvbGRDaGlsZHJlbltpXTtcblx0XHRcdGlmIChvbGRWTm9kZSAhPSBudWxsICYmIChvbGRWTm9kZS5fZmxhZ3MgJiBNQVRDSEVEKSA9PT0gMCkge1xuXHRcdFx0XHRpZiAob2xkVk5vZGUuX2RvbSA9PSBuZXdQYXJlbnRWTm9kZS5fbmV4dERvbSkge1xuXHRcdFx0XHRcdG5ld1BhcmVudFZOb2RlLl9uZXh0RG9tID0gZ2V0RG9tU2libGluZyhvbGRWTm9kZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bm1vdW50KG9sZFZOb2RlLCBvbGRWTm9kZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtWTm9kZX0gcGFyZW50Vk5vZGVcbiAqIEBwYXJhbSB7UHJlYWN0RWxlbWVudH0gb2xkRG9tXG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IHBhcmVudERvbVxuICogQHJldHVybnMge1ByZWFjdEVsZW1lbnR9XG4gKi9cbmZ1bmN0aW9uIGluc2VydChwYXJlbnRWTm9kZSwgb2xkRG9tLCBwYXJlbnREb20pIHtcblx0Ly8gTm90ZTogVk5vZGVzIGluIG5lc3RlZCBzdXNwZW5kZWQgdHJlZXMgbWF5IGJlIG1pc3NpbmcgX2NoaWxkcmVuLlxuXG5cdGlmICh0eXBlb2YgcGFyZW50Vk5vZGUudHlwZSA9PSAnZnVuY3Rpb24nKSB7XG5cdFx0bGV0IGNoaWxkcmVuID0gcGFyZW50Vk5vZGUuX2NoaWxkcmVuO1xuXHRcdGZvciAobGV0IGkgPSAwOyBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdGlmIChjaGlsZHJlbltpXSkge1xuXHRcdFx0XHQvLyBJZiB3ZSBlbnRlciB0aGlzIGNvZGUgcGF0aCBvbiBzQ1UgYmFpbG91dCwgd2hlcmUgd2UgY29weVxuXHRcdFx0XHQvLyBvbGRWTm9kZS5fY2hpbGRyZW4gdG8gbmV3Vk5vZGUuX2NoaWxkcmVuLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgb2xkXG5cdFx0XHRcdC8vIGNoaWxkcmVuJ3MgX3BhcmVudCBwb2ludGVyIHRvIHBvaW50IHRvIHRoZSBuZXdWTm9kZSAocGFyZW50Vk5vZGVcblx0XHRcdFx0Ly8gaGVyZSkuXG5cdFx0XHRcdGNoaWxkcmVuW2ldLl9wYXJlbnQgPSBwYXJlbnRWTm9kZTtcblx0XHRcdFx0b2xkRG9tID0gaW5zZXJ0KGNoaWxkcmVuW2ldLCBvbGREb20sIHBhcmVudERvbSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9sZERvbTtcblx0fSBlbHNlIGlmIChwYXJlbnRWTm9kZS5fZG9tICE9IG9sZERvbSkge1xuXHRcdGlmIChvbGREb20gJiYgcGFyZW50Vk5vZGUudHlwZSAmJiAhcGFyZW50RG9tLmNvbnRhaW5zKG9sZERvbSkpIHtcblx0XHRcdG9sZERvbSA9IGdldERvbVNpYmxpbmcocGFyZW50Vk5vZGUpO1xuXHRcdH1cblx0XHRwYXJlbnREb20uaW5zZXJ0QmVmb3JlKHBhcmVudFZOb2RlLl9kb20sIG9sZERvbSB8fCBudWxsKTtcblx0XHRvbGREb20gPSBwYXJlbnRWTm9kZS5fZG9tO1xuXHR9XG5cblx0ZG8ge1xuXHRcdG9sZERvbSA9IG9sZERvbSAmJiBvbGREb20ubmV4dFNpYmxpbmc7XG5cdH0gd2hpbGUgKG9sZERvbSAhPSBudWxsICYmIG9sZERvbS5ub2RlVHlwZSA9PT0gOCk7XG5cblx0cmV0dXJuIG9sZERvbTtcbn1cblxuLyoqXG4gKiBGbGF0dGVuIGFuZCBsb29wIHRocm91Z2ggdGhlIGNoaWxkcmVuIG9mIGEgdmlydHVhbCBub2RlXG4gKiBAcGFyYW0ge0NvbXBvbmVudENoaWxkcmVufSBjaGlsZHJlbiBUaGUgdW5mbGF0dGVuZWQgY2hpbGRyZW4gb2YgYSB2aXJ0dWFsXG4gKiBub2RlXG4gKiBAcmV0dXJucyB7Vk5vZGVbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvQ2hpbGRBcnJheShjaGlsZHJlbiwgb3V0KSB7XG5cdG91dCA9IG91dCB8fCBbXTtcblx0aWYgKGNoaWxkcmVuID09IG51bGwgfHwgdHlwZW9mIGNoaWxkcmVuID09ICdib29sZWFuJykge1xuXHR9IGVsc2UgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG5cdFx0Y2hpbGRyZW4uc29tZShjaGlsZCA9PiB7XG5cdFx0XHR0b0NoaWxkQXJyYXkoY2hpbGQsIG91dCk7XG5cdFx0fSk7XG5cdH0gZWxzZSB7XG5cdFx0b3V0LnB1c2goY2hpbGRyZW4pO1xuXHR9XG5cdHJldHVybiBvdXQ7XG59XG5cbi8qKlxuICogQHBhcmFtIHtWTm9kZX0gY2hpbGRWTm9kZVxuICogQHBhcmFtIHtWTm9kZVtdfSBvbGRDaGlsZHJlblxuICogQHBhcmFtIHtudW1iZXJ9IHNrZXdlZEluZGV4XG4gKiBAcGFyYW0ge251bWJlcn0gcmVtYWluaW5nT2xkQ2hpbGRyZW5cbiAqIEByZXR1cm5zIHtudW1iZXJ9XG4gKi9cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ0luZGV4KFxuXHRjaGlsZFZOb2RlLFxuXHRvbGRDaGlsZHJlbixcblx0c2tld2VkSW5kZXgsXG5cdHJlbWFpbmluZ09sZENoaWxkcmVuXG4pIHtcblx0Y29uc3Qga2V5ID0gY2hpbGRWTm9kZS5rZXk7XG5cdGNvbnN0IHR5cGUgPSBjaGlsZFZOb2RlLnR5cGU7XG5cdGxldCB4ID0gc2tld2VkSW5kZXggLSAxO1xuXHRsZXQgeSA9IHNrZXdlZEluZGV4ICsgMTtcblx0bGV0IG9sZFZOb2RlID0gb2xkQ2hpbGRyZW5bc2tld2VkSW5kZXhdO1xuXG5cdC8vIFdlIG9ubHkgbmVlZCB0byBwZXJmb3JtIGEgc2VhcmNoIGlmIHRoZXJlIGFyZSBtb3JlIGNoaWxkcmVuXG5cdC8vIChyZW1haW5pbmdPbGRDaGlsZHJlbikgdG8gc2VhcmNoLiBIb3dldmVyLCBpZiB0aGUgb2xkVk5vZGUgd2UganVzdCBsb29rZWRcblx0Ly8gYXQgc2tld2VkSW5kZXggd2FzIG5vdCBhbHJlYWR5IHVzZWQgaW4gdGhpcyBkaWZmLCB0aGVuIHRoZXJlIG11c3QgYmUgYXRcblx0Ly8gbGVhc3QgMSBvdGhlciAoc28gZ3JlYXRlciB0aGFuIDEpIHJlbWFpbmluZ09sZENoaWxkcmVuIHRvIGF0dGVtcHQgdG8gbWF0Y2hcblx0Ly8gYWdhaW5zdC4gU28gdGhlIGZvbGxvd2luZyBjb25kaXRpb24gY2hlY2tzIHRoYXQgZW5zdXJpbmdcblx0Ly8gcmVtYWluaW5nT2xkQ2hpbGRyZW4gPiAxIGlmIHRoZSBvbGRWTm9kZSBpcyBub3QgYWxyZWFkeSB1c2VkL21hdGNoZWQuIEVsc2Vcblx0Ly8gaWYgdGhlIG9sZFZOb2RlIHdhcyBudWxsIG9yIG1hdGNoZWQsIHRoZW4gdGhlcmUgY291bGQgbmVlZHMgdG8gYmUgYXQgbGVhc3Rcblx0Ly8gMSAoYWthIGByZW1haW5pbmdPbGRDaGlsZHJlbiA+IDBgKSBjaGlsZHJlbiB0byBmaW5kIGFuZCBjb21wYXJlIGFnYWluc3QuXG5cdGxldCBzaG91bGRTZWFyY2ggPVxuXHRcdHJlbWFpbmluZ09sZENoaWxkcmVuID5cblx0XHQob2xkVk5vZGUgIT0gbnVsbCAmJiAob2xkVk5vZGUuX2ZsYWdzICYgTUFUQ0hFRCkgPT09IDAgPyAxIDogMCk7XG5cblx0aWYgKFxuXHRcdG9sZFZOb2RlID09PSBudWxsIHx8XG5cdFx0KG9sZFZOb2RlICYmXG5cdFx0XHRrZXkgPT0gb2xkVk5vZGUua2V5ICYmXG5cdFx0XHR0eXBlID09PSBvbGRWTm9kZS50eXBlICYmXG5cdFx0XHQob2xkVk5vZGUuX2ZsYWdzICYgTUFUQ0hFRCkgPT09IDApXG5cdCkge1xuXHRcdHJldHVybiBza2V3ZWRJbmRleDtcblx0fSBlbHNlIGlmIChzaG91bGRTZWFyY2gpIHtcblx0XHR3aGlsZSAoeCA+PSAwIHx8IHkgPCBvbGRDaGlsZHJlbi5sZW5ndGgpIHtcblx0XHRcdGlmICh4ID49IDApIHtcblx0XHRcdFx0b2xkVk5vZGUgPSBvbGRDaGlsZHJlblt4XTtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdG9sZFZOb2RlICYmXG5cdFx0XHRcdFx0KG9sZFZOb2RlLl9mbGFncyAmIE1BVENIRUQpID09PSAwICYmXG5cdFx0XHRcdFx0a2V5ID09IG9sZFZOb2RlLmtleSAmJlxuXHRcdFx0XHRcdHR5cGUgPT09IG9sZFZOb2RlLnR5cGVcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0eC0tO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoeSA8IG9sZENoaWxkcmVuLmxlbmd0aCkge1xuXHRcdFx0XHRvbGRWTm9kZSA9IG9sZENoaWxkcmVuW3ldO1xuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0b2xkVk5vZGUgJiZcblx0XHRcdFx0XHQob2xkVk5vZGUuX2ZsYWdzICYgTUFUQ0hFRCkgPT09IDAgJiZcblx0XHRcdFx0XHRrZXkgPT0gb2xkVk5vZGUua2V5ICYmXG5cdFx0XHRcdFx0dHlwZSA9PT0gb2xkVk5vZGUudHlwZVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRyZXR1cm4geTtcblx0XHRcdFx0fVxuXHRcdFx0XHR5Kys7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIC0xO1xufVxuIiwgImltcG9ydCB7XG5cdEVNUFRZX09CSixcblx0TU9ERV9IWURSQVRFLFxuXHRNT0RFX1NVU1BFTkRFRCxcblx0UkVTRVRfTU9ERVxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgZ2V0RG9tU2libGluZyB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gJy4uL2NyZWF0ZS1lbGVtZW50JztcbmltcG9ydCB7IGRpZmZDaGlsZHJlbiB9IGZyb20gJy4vY2hpbGRyZW4nO1xuaW1wb3J0IHsgc2V0UHJvcGVydHkgfSBmcm9tICcuL3Byb3BzJztcbmltcG9ydCB7IGFzc2lnbiwgaXNBcnJheSwgcmVtb3ZlTm9kZSwgc2xpY2UgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCBvcHRpb25zIGZyb20gJy4uL29wdGlvbnMnO1xuXG4vKipcbiAqIERpZmYgdHdvIHZpcnR1YWwgbm9kZXMgYW5kIGFwcGx5IHByb3BlciBjaGFuZ2VzIHRvIHRoZSBET01cbiAqIEBwYXJhbSB7UHJlYWN0RWxlbWVudH0gcGFyZW50RG9tIFRoZSBwYXJlbnQgb2YgdGhlIERPTSBlbGVtZW50XG4gKiBAcGFyYW0ge1ZOb2RlfSBuZXdWTm9kZSBUaGUgbmV3IHZpcnR1YWwgbm9kZVxuICogQHBhcmFtIHtWTm9kZX0gb2xkVk5vZGUgVGhlIG9sZCB2aXJ0dWFsIG5vZGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBnbG9iYWxDb250ZXh0IFRoZSBjdXJyZW50IGNvbnRleHQgb2JqZWN0LiBNb2RpZmllZCBieVxuICogZ2V0Q2hpbGRDb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZXNwYWNlIEN1cnJlbnQgbmFtZXNwYWNlIG9mIHRoZSBET00gbm9kZSAoSFRNTCwgU1ZHLCBvciBNYXRoTUwpXG4gKiBAcGFyYW0ge0FycmF5PFByZWFjdEVsZW1lbnQ+fSBleGNlc3NEb21DaGlsZHJlblxuICogQHBhcmFtIHtBcnJheTxDb21wb25lbnQ+fSBjb21taXRRdWV1ZSBMaXN0IG9mIGNvbXBvbmVudHMgd2hpY2ggaGF2ZSBjYWxsYmFja3NcbiAqIHRvIGludm9rZSBpbiBjb21taXRSb290XG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IG9sZERvbSBUaGUgY3VycmVudCBhdHRhY2hlZCBET00gZWxlbWVudCBhbnkgbmV3IGRvbVxuICogZWxlbWVudHMgc2hvdWxkIGJlIHBsYWNlZCBhcm91bmQuIExpa2VseSBgbnVsbGAgb24gZmlyc3QgcmVuZGVyIChleGNlcHQgd2hlblxuICogaHlkcmF0aW5nKS4gQ2FuIGJlIGEgc2libGluZyBET00gZWxlbWVudCB3aGVuIGRpZmZpbmcgRnJhZ21lbnRzIHRoYXQgaGF2ZVxuICogc2libGluZ3MuIEluIG1vc3QgY2FzZXMsIGl0IHN0YXJ0cyBvdXQgYXMgYG9sZENoaWxkcmVuWzBdLl9kb21gLlxuICogQHBhcmFtIHtib29sZWFufSBpc0h5ZHJhdGluZyBXaGV0aGVyIG9yIG5vdCB3ZSBhcmUgaW4gaHlkcmF0aW9uXG4gKiBAcGFyYW0ge2FueVtdfSByZWZRdWV1ZSBhbiBhcnJheSBvZiBlbGVtZW50cyBuZWVkZWQgdG8gaW52b2tlIHJlZnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmYoXG5cdHBhcmVudERvbSxcblx0bmV3Vk5vZGUsXG5cdG9sZFZOb2RlLFxuXHRnbG9iYWxDb250ZXh0LFxuXHRuYW1lc3BhY2UsXG5cdGV4Y2Vzc0RvbUNoaWxkcmVuLFxuXHRjb21taXRRdWV1ZSxcblx0b2xkRG9tLFxuXHRpc0h5ZHJhdGluZyxcblx0cmVmUXVldWVcbikge1xuXHQvKiogQHR5cGUge2FueX0gKi9cblx0bGV0IHRtcCxcblx0XHRuZXdUeXBlID0gbmV3Vk5vZGUudHlwZTtcblxuXHQvLyBXaGVuIHBhc3NpbmcgdGhyb3VnaCBjcmVhdGVFbGVtZW50IGl0IGFzc2lnbnMgdGhlIG9iamVjdFxuXHQvLyBjb25zdHJ1Y3RvciBhcyB1bmRlZmluZWQuIFRoaXMgdG8gcHJldmVudCBKU09OLWluamVjdGlvbi5cblx0aWYgKG5ld1ZOb2RlLmNvbnN0cnVjdG9yICE9PSB1bmRlZmluZWQpIHJldHVybiBudWxsO1xuXG5cdC8vIElmIHRoZSBwcmV2aW91cyBkaWZmIGJhaWxlZCBvdXQsIHJlc3VtZSBjcmVhdGluZy9oeWRyYXRpbmcuXG5cdGlmIChvbGRWTm9kZS5fZmxhZ3MgJiBNT0RFX1NVU1BFTkRFRCkge1xuXHRcdGlzSHlkcmF0aW5nID0gISEob2xkVk5vZGUuX2ZsYWdzICYgTU9ERV9IWURSQVRFKTtcblx0XHRvbGREb20gPSBuZXdWTm9kZS5fZG9tID0gb2xkVk5vZGUuX2RvbTtcblx0XHRleGNlc3NEb21DaGlsZHJlbiA9IFtvbGREb21dO1xuXHR9XG5cblx0aWYgKCh0bXAgPSBvcHRpb25zLl9kaWZmKSkgdG1wKG5ld1ZOb2RlKTtcblxuXHRvdXRlcjogaWYgKHR5cGVvZiBuZXdUeXBlID09ICdmdW5jdGlvbicpIHtcblx0XHR0cnkge1xuXHRcdFx0bGV0IGMsIGlzTmV3LCBvbGRQcm9wcywgb2xkU3RhdGUsIHNuYXBzaG90LCBjbGVhclByb2Nlc3NpbmdFeGNlcHRpb247XG5cdFx0XHRsZXQgbmV3UHJvcHMgPSBuZXdWTm9kZS5wcm9wcztcblx0XHRcdGNvbnN0IGlzQ2xhc3NDb21wb25lbnQgPVxuXHRcdFx0XHQncHJvdG90eXBlJyBpbiBuZXdUeXBlICYmIG5ld1R5cGUucHJvdG90eXBlLnJlbmRlcjtcblxuXHRcdFx0Ly8gTmVjZXNzYXJ5IGZvciBjcmVhdGVDb250ZXh0IGFwaS4gU2V0dGluZyB0aGlzIHByb3BlcnR5IHdpbGwgcGFzc1xuXHRcdFx0Ly8gdGhlIGNvbnRleHQgdmFsdWUgYXMgYHRoaXMuY29udGV4dGAganVzdCBmb3IgdGhpcyBjb21wb25lbnQuXG5cdFx0XHR0bXAgPSBuZXdUeXBlLmNvbnRleHRUeXBlO1xuXHRcdFx0bGV0IHByb3ZpZGVyID0gdG1wICYmIGdsb2JhbENvbnRleHRbdG1wLl9pZF07XG5cdFx0XHRsZXQgY29tcG9uZW50Q29udGV4dCA9IHRtcFxuXHRcdFx0XHQ/IHByb3ZpZGVyXG5cdFx0XHRcdFx0PyBwcm92aWRlci5wcm9wcy52YWx1ZVxuXHRcdFx0XHRcdDogdG1wLl9kZWZhdWx0VmFsdWVcblx0XHRcdFx0OiBnbG9iYWxDb250ZXh0O1xuXG5cdFx0XHQvLyBHZXQgY29tcG9uZW50IGFuZCBzZXQgaXQgdG8gYGNgXG5cdFx0XHRpZiAob2xkVk5vZGUuX2NvbXBvbmVudCkge1xuXHRcdFx0XHRjID0gbmV3Vk5vZGUuX2NvbXBvbmVudCA9IG9sZFZOb2RlLl9jb21wb25lbnQ7XG5cdFx0XHRcdGNsZWFyUHJvY2Vzc2luZ0V4Y2VwdGlvbiA9IGMuX3Byb2Nlc3NpbmdFeGNlcHRpb24gPSBjLl9wZW5kaW5nRXJyb3I7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBJbnN0YW50aWF0ZSB0aGUgbmV3IGNvbXBvbmVudFxuXHRcdFx0XHRpZiAoaXNDbGFzc0NvbXBvbmVudCkge1xuXHRcdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgVGhlIGNoZWNrIGFib3ZlIHZlcmlmaWVzIHRoYXQgbmV3VHlwZSBpcyBzdXBwb3NlIHRvIGJlIGNvbnN0cnVjdGVkXG5cdFx0XHRcdFx0bmV3Vk5vZGUuX2NvbXBvbmVudCA9IGMgPSBuZXcgbmV3VHlwZShuZXdQcm9wcywgY29tcG9uZW50Q29udGV4dCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgVHJ1c3QgbWUsIENvbXBvbmVudCBpbXBsZW1lbnRzIHRoZSBpbnRlcmZhY2Ugd2Ugd2FudFxuXHRcdFx0XHRcdG5ld1ZOb2RlLl9jb21wb25lbnQgPSBjID0gbmV3IEJhc2VDb21wb25lbnQoXG5cdFx0XHRcdFx0XHRuZXdQcm9wcyxcblx0XHRcdFx0XHRcdGNvbXBvbmVudENvbnRleHRcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGMuY29uc3RydWN0b3IgPSBuZXdUeXBlO1xuXHRcdFx0XHRcdGMucmVuZGVyID0gZG9SZW5kZXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHByb3ZpZGVyKSBwcm92aWRlci5zdWIoYyk7XG5cblx0XHRcdFx0Yy5wcm9wcyA9IG5ld1Byb3BzO1xuXHRcdFx0XHRpZiAoIWMuc3RhdGUpIGMuc3RhdGUgPSB7fTtcblx0XHRcdFx0Yy5jb250ZXh0ID0gY29tcG9uZW50Q29udGV4dDtcblx0XHRcdFx0Yy5fZ2xvYmFsQ29udGV4dCA9IGdsb2JhbENvbnRleHQ7XG5cdFx0XHRcdGlzTmV3ID0gYy5fZGlydHkgPSB0cnVlO1xuXHRcdFx0XHRjLl9yZW5kZXJDYWxsYmFja3MgPSBbXTtcblx0XHRcdFx0Yy5fc3RhdGVDYWxsYmFja3MgPSBbXTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSW52b2tlIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc1xuXHRcdFx0aWYgKGlzQ2xhc3NDb21wb25lbnQgJiYgYy5fbmV4dFN0YXRlID09IG51bGwpIHtcblx0XHRcdFx0Yy5fbmV4dFN0YXRlID0gYy5zdGF0ZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGlzQ2xhc3NDb21wb25lbnQgJiYgbmV3VHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgIT0gbnVsbCkge1xuXHRcdFx0XHRpZiAoYy5fbmV4dFN0YXRlID09IGMuc3RhdGUpIHtcblx0XHRcdFx0XHRjLl9uZXh0U3RhdGUgPSBhc3NpZ24oe30sIGMuX25leHRTdGF0ZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhc3NpZ24oXG5cdFx0XHRcdFx0Yy5fbmV4dFN0YXRlLFxuXHRcdFx0XHRcdG5ld1R5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5ld1Byb3BzLCBjLl9uZXh0U3RhdGUpXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cblx0XHRcdG9sZFByb3BzID0gYy5wcm9wcztcblx0XHRcdG9sZFN0YXRlID0gYy5zdGF0ZTtcblx0XHRcdGMuX3Zub2RlID0gbmV3Vk5vZGU7XG5cblx0XHRcdC8vIEludm9rZSBwcmUtcmVuZGVyIGxpZmVjeWNsZSBtZXRob2RzXG5cdFx0XHRpZiAoaXNOZXcpIHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdGlzQ2xhc3NDb21wb25lbnQgJiZcblx0XHRcdFx0XHRuZXdUeXBlLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PSBudWxsICYmXG5cdFx0XHRcdFx0Yy5jb21wb25lbnRXaWxsTW91bnQgIT0gbnVsbFxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRjLmNvbXBvbmVudFdpbGxNb3VudCgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGlzQ2xhc3NDb21wb25lbnQgJiYgYy5jb21wb25lbnREaWRNb3VudCAhPSBudWxsKSB7XG5cdFx0XHRcdFx0Yy5fcmVuZGVyQ2FsbGJhY2tzLnB1c2goYy5jb21wb25lbnREaWRNb3VudCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHRpc0NsYXNzQ29tcG9uZW50ICYmXG5cdFx0XHRcdFx0bmV3VHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT0gbnVsbCAmJlxuXHRcdFx0XHRcdG5ld1Byb3BzICE9PSBvbGRQcm9wcyAmJlxuXHRcdFx0XHRcdGMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyAhPSBudWxsXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdGMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXdQcm9wcywgY29tcG9uZW50Q29udGV4dCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0IWMuX2ZvcmNlICYmXG5cdFx0XHRcdFx0KChjLnNob3VsZENvbXBvbmVudFVwZGF0ZSAhPSBudWxsICYmXG5cdFx0XHRcdFx0XHRjLnNob3VsZENvbXBvbmVudFVwZGF0ZShcblx0XHRcdFx0XHRcdFx0bmV3UHJvcHMsXG5cdFx0XHRcdFx0XHRcdGMuX25leHRTdGF0ZSxcblx0XHRcdFx0XHRcdFx0Y29tcG9uZW50Q29udGV4dFxuXHRcdFx0XHRcdFx0KSA9PT0gZmFsc2UpIHx8XG5cdFx0XHRcdFx0XHRuZXdWTm9kZS5fb3JpZ2luYWwgPT09IG9sZFZOb2RlLl9vcmlnaW5hbClcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0Ly8gTW9yZSBpbmZvIGFib3V0IHRoaXMgaGVyZTogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vSm92aURlQ3Jvb2NrL2JlYzVmMmNlOTM1NDRkMmU2MDcwZWY4ZTAwMzZlNGU4XG5cdFx0XHRcdFx0aWYgKG5ld1ZOb2RlLl9vcmlnaW5hbCAhPT0gb2xkVk5vZGUuX29yaWdpbmFsKSB7XG5cdFx0XHRcdFx0XHQvLyBXaGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggYSBiYWlsIGJlY2F1c2Ugb2Ygc0NVIHdlIGhhdmUgdG8gdXBkYXRlXG5cdFx0XHRcdFx0XHQvLyB0aGUgcHJvcHMsIHN0YXRlIGFuZCBkaXJ0eS1zdGF0ZS5cblx0XHRcdFx0XHRcdC8vIHdoZW4gd2UgYXJlIGRlYWxpbmcgd2l0aCBzdHJpY3QtZXF1YWxpdHkgd2UgZG9uJ3QgYXMgdGhlIGNoaWxkIGNvdWxkIHN0aWxsXG5cdFx0XHRcdFx0XHQvLyBiZSBkaXJ0aWVkIHNlZSAjMzg4M1xuXHRcdFx0XHRcdFx0Yy5wcm9wcyA9IG5ld1Byb3BzO1xuXHRcdFx0XHRcdFx0Yy5zdGF0ZSA9IGMuX25leHRTdGF0ZTtcblx0XHRcdFx0XHRcdGMuX2RpcnR5ID0gZmFsc2U7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bmV3Vk5vZGUuX2RvbSA9IG9sZFZOb2RlLl9kb207XG5cdFx0XHRcdFx0bmV3Vk5vZGUuX2NoaWxkcmVuID0gb2xkVk5vZGUuX2NoaWxkcmVuO1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9jaGlsZHJlbi5zb21lKHZub2RlID0+IHtcblx0XHRcdFx0XHRcdGlmICh2bm9kZSkgdm5vZGUuX3BhcmVudCA9IG5ld1ZOb2RlO1xuXHRcdFx0XHRcdH0pO1xuXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjLl9zdGF0ZUNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0Yy5fcmVuZGVyQ2FsbGJhY2tzLnB1c2goYy5fc3RhdGVDYWxsYmFja3NbaV0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjLl9zdGF0ZUNhbGxiYWNrcyA9IFtdO1xuXG5cdFx0XHRcdFx0aWYgKGMuX3JlbmRlckNhbGxiYWNrcy5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdGNvbW1pdFF1ZXVlLnB1c2goYyk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YnJlYWsgb3V0ZXI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoYy5jb21wb25lbnRXaWxsVXBkYXRlICE9IG51bGwpIHtcblx0XHRcdFx0XHRjLmNvbXBvbmVudFdpbGxVcGRhdGUobmV3UHJvcHMsIGMuX25leHRTdGF0ZSwgY29tcG9uZW50Q29udGV4dCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoaXNDbGFzc0NvbXBvbmVudCAmJiBjLmNvbXBvbmVudERpZFVwZGF0ZSAhPSBudWxsKSB7XG5cdFx0XHRcdFx0Yy5fcmVuZGVyQ2FsbGJhY2tzLnB1c2goKCkgPT4ge1xuXHRcdFx0XHRcdFx0Yy5jb21wb25lbnREaWRVcGRhdGUob2xkUHJvcHMsIG9sZFN0YXRlLCBzbmFwc2hvdCk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Yy5jb250ZXh0ID0gY29tcG9uZW50Q29udGV4dDtcblx0XHRcdGMucHJvcHMgPSBuZXdQcm9wcztcblx0XHRcdGMuX3BhcmVudERvbSA9IHBhcmVudERvbTtcblx0XHRcdGMuX2ZvcmNlID0gZmFsc2U7XG5cblx0XHRcdGxldCByZW5kZXJIb29rID0gb3B0aW9ucy5fcmVuZGVyLFxuXHRcdFx0XHRjb3VudCA9IDA7XG5cdFx0XHRpZiAoaXNDbGFzc0NvbXBvbmVudCkge1xuXHRcdFx0XHRjLnN0YXRlID0gYy5fbmV4dFN0YXRlO1xuXHRcdFx0XHRjLl9kaXJ0eSA9IGZhbHNlO1xuXG5cdFx0XHRcdGlmIChyZW5kZXJIb29rKSByZW5kZXJIb29rKG5ld1ZOb2RlKTtcblxuXHRcdFx0XHR0bXAgPSBjLnJlbmRlcihjLnByb3BzLCBjLnN0YXRlLCBjLmNvbnRleHQpO1xuXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYy5fc3RhdGVDYWxsYmFja3MubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRjLl9yZW5kZXJDYWxsYmFja3MucHVzaChjLl9zdGF0ZUNhbGxiYWNrc1tpXSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Yy5fc3RhdGVDYWxsYmFja3MgPSBbXTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGRvIHtcblx0XHRcdFx0XHRjLl9kaXJ0eSA9IGZhbHNlO1xuXHRcdFx0XHRcdGlmIChyZW5kZXJIb29rKSByZW5kZXJIb29rKG5ld1ZOb2RlKTtcblxuXHRcdFx0XHRcdHRtcCA9IGMucmVuZGVyKGMucHJvcHMsIGMuc3RhdGUsIGMuY29udGV4dCk7XG5cblx0XHRcdFx0XHQvLyBIYW5kbGUgc2V0U3RhdGUgY2FsbGVkIGluIHJlbmRlciwgc2VlICMyNTUzXG5cdFx0XHRcdFx0Yy5zdGF0ZSA9IGMuX25leHRTdGF0ZTtcblx0XHRcdFx0fSB3aGlsZSAoYy5fZGlydHkgJiYgKytjb3VudCA8IDI1KTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSGFuZGxlIHNldFN0YXRlIGNhbGxlZCBpbiByZW5kZXIsIHNlZSAjMjU1M1xuXHRcdFx0Yy5zdGF0ZSA9IGMuX25leHRTdGF0ZTtcblxuXHRcdFx0aWYgKGMuZ2V0Q2hpbGRDb250ZXh0ICE9IG51bGwpIHtcblx0XHRcdFx0Z2xvYmFsQ29udGV4dCA9IGFzc2lnbihhc3NpZ24oe30sIGdsb2JhbENvbnRleHQpLCBjLmdldENoaWxkQ29udGV4dCgpKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGlzQ2xhc3NDb21wb25lbnQgJiYgIWlzTmV3ICYmIGMuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgIT0gbnVsbCkge1xuXHRcdFx0XHRzbmFwc2hvdCA9IGMuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUob2xkUHJvcHMsIG9sZFN0YXRlKTtcblx0XHRcdH1cblxuXHRcdFx0bGV0IGlzVG9wTGV2ZWxGcmFnbWVudCA9XG5cdFx0XHRcdHRtcCAhPSBudWxsICYmIHRtcC50eXBlID09PSBGcmFnbWVudCAmJiB0bXAua2V5ID09IG51bGw7XG5cdFx0XHRsZXQgcmVuZGVyUmVzdWx0ID0gaXNUb3BMZXZlbEZyYWdtZW50ID8gdG1wLnByb3BzLmNoaWxkcmVuIDogdG1wO1xuXG5cdFx0XHRkaWZmQ2hpbGRyZW4oXG5cdFx0XHRcdHBhcmVudERvbSxcblx0XHRcdFx0aXNBcnJheShyZW5kZXJSZXN1bHQpID8gcmVuZGVyUmVzdWx0IDogW3JlbmRlclJlc3VsdF0sXG5cdFx0XHRcdG5ld1ZOb2RlLFxuXHRcdFx0XHRvbGRWTm9kZSxcblx0XHRcdFx0Z2xvYmFsQ29udGV4dCxcblx0XHRcdFx0bmFtZXNwYWNlLFxuXHRcdFx0XHRleGNlc3NEb21DaGlsZHJlbixcblx0XHRcdFx0Y29tbWl0UXVldWUsXG5cdFx0XHRcdG9sZERvbSxcblx0XHRcdFx0aXNIeWRyYXRpbmcsXG5cdFx0XHRcdHJlZlF1ZXVlXG5cdFx0XHQpO1xuXG5cdFx0XHRjLmJhc2UgPSBuZXdWTm9kZS5fZG9tO1xuXG5cdFx0XHQvLyBXZSBzdWNjZXNzZnVsbHkgcmVuZGVyZWQgdGhpcyBWTm9kZSwgdW5zZXQgYW55IHN0b3JlZCBoeWRyYXRpb24vYmFpbG91dCBzdGF0ZTpcblx0XHRcdG5ld1ZOb2RlLl9mbGFncyAmPSBSRVNFVF9NT0RFO1xuXG5cdFx0XHRpZiAoYy5fcmVuZGVyQ2FsbGJhY2tzLmxlbmd0aCkge1xuXHRcdFx0XHRjb21taXRRdWV1ZS5wdXNoKGMpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoY2xlYXJQcm9jZXNzaW5nRXhjZXB0aW9uKSB7XG5cdFx0XHRcdGMuX3BlbmRpbmdFcnJvciA9IGMuX3Byb2Nlc3NpbmdFeGNlcHRpb24gPSBudWxsO1xuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdG5ld1ZOb2RlLl9vcmlnaW5hbCA9IG51bGw7XG5cdFx0XHQvLyBpZiBoeWRyYXRpbmcgb3IgY3JlYXRpbmcgaW5pdGlhbCB0cmVlLCBiYWlsb3V0IHByZXNlcnZlcyBET006XG5cdFx0XHRpZiAoaXNIeWRyYXRpbmcgfHwgZXhjZXNzRG9tQ2hpbGRyZW4gIT0gbnVsbCkge1xuXHRcdFx0XHRuZXdWTm9kZS5fZmxhZ3MgfD0gaXNIeWRyYXRpbmdcblx0XHRcdFx0XHQ/IE1PREVfSFlEUkFURSB8IE1PREVfU1VTUEVOREVEXG5cdFx0XHRcdFx0OiBNT0RFX1NVU1BFTkRFRDtcblxuXHRcdFx0XHR3aGlsZSAob2xkRG9tICYmIG9sZERvbS5ub2RlVHlwZSA9PT0gOCAmJiBvbGREb20ubmV4dFNpYmxpbmcpIHtcblx0XHRcdFx0XHRvbGREb20gPSBvbGREb20ubmV4dFNpYmxpbmc7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZXhjZXNzRG9tQ2hpbGRyZW5bZXhjZXNzRG9tQ2hpbGRyZW4uaW5kZXhPZihvbGREb20pXSA9IG51bGw7XG5cdFx0XHRcdG5ld1ZOb2RlLl9kb20gPSBvbGREb207XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRuZXdWTm9kZS5fZG9tID0gb2xkVk5vZGUuX2RvbTtcblx0XHRcdFx0bmV3Vk5vZGUuX2NoaWxkcmVuID0gb2xkVk5vZGUuX2NoaWxkcmVuO1xuXHRcdFx0fVxuXHRcdFx0b3B0aW9ucy5fY2F0Y2hFcnJvcihlLCBuZXdWTm9kZSwgb2xkVk5vZGUpO1xuXHRcdH1cblx0fSBlbHNlIGlmIChcblx0XHRleGNlc3NEb21DaGlsZHJlbiA9PSBudWxsICYmXG5cdFx0bmV3Vk5vZGUuX29yaWdpbmFsID09PSBvbGRWTm9kZS5fb3JpZ2luYWxcblx0KSB7XG5cdFx0bmV3Vk5vZGUuX2NoaWxkcmVuID0gb2xkVk5vZGUuX2NoaWxkcmVuO1xuXHRcdG5ld1ZOb2RlLl9kb20gPSBvbGRWTm9kZS5fZG9tO1xuXHR9IGVsc2Uge1xuXHRcdG5ld1ZOb2RlLl9kb20gPSBkaWZmRWxlbWVudE5vZGVzKFxuXHRcdFx0b2xkVk5vZGUuX2RvbSxcblx0XHRcdG5ld1ZOb2RlLFxuXHRcdFx0b2xkVk5vZGUsXG5cdFx0XHRnbG9iYWxDb250ZXh0LFxuXHRcdFx0bmFtZXNwYWNlLFxuXHRcdFx0ZXhjZXNzRG9tQ2hpbGRyZW4sXG5cdFx0XHRjb21taXRRdWV1ZSxcblx0XHRcdGlzSHlkcmF0aW5nLFxuXHRcdFx0cmVmUXVldWVcblx0XHQpO1xuXHR9XG5cblx0aWYgKCh0bXAgPSBvcHRpb25zLmRpZmZlZCkpIHRtcChuZXdWTm9kZSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtBcnJheTxDb21wb25lbnQ+fSBjb21taXRRdWV1ZSBMaXN0IG9mIGNvbXBvbmVudHNcbiAqIHdoaWNoIGhhdmUgY2FsbGJhY2tzIHRvIGludm9rZSBpbiBjb21taXRSb290XG4gKiBAcGFyYW0ge1ZOb2RlfSByb290XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21taXRSb290KGNvbW1pdFF1ZXVlLCByb290LCByZWZRdWV1ZSkge1xuXHRyb290Ll9uZXh0RG9tID0gdW5kZWZpbmVkO1xuXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgcmVmUXVldWUubGVuZ3RoOyBpKyspIHtcblx0XHRhcHBseVJlZihyZWZRdWV1ZVtpXSwgcmVmUXVldWVbKytpXSwgcmVmUXVldWVbKytpXSk7XG5cdH1cblxuXHRpZiAob3B0aW9ucy5fY29tbWl0KSBvcHRpb25zLl9jb21taXQocm9vdCwgY29tbWl0UXVldWUpO1xuXG5cdGNvbW1pdFF1ZXVlLnNvbWUoYyA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgUmV1c2UgdGhlIGNvbW1pdFF1ZXVlIHZhcmlhYmxlIGhlcmUgc28gdGhlIHR5cGUgY2hhbmdlc1xuXHRcdFx0Y29tbWl0UXVldWUgPSBjLl9yZW5kZXJDYWxsYmFja3M7XG5cdFx0XHRjLl9yZW5kZXJDYWxsYmFja3MgPSBbXTtcblx0XHRcdGNvbW1pdFF1ZXVlLnNvbWUoY2IgPT4ge1xuXHRcdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIFNlZSBhYm92ZSBjb21tZW50IG9uIGNvbW1pdFF1ZXVlXG5cdFx0XHRcdGNiLmNhbGwoYyk7XG5cdFx0XHR9KTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRvcHRpb25zLl9jYXRjaEVycm9yKGUsIGMuX3Zub2RlKTtcblx0XHR9XG5cdH0pO1xufVxuXG4vKipcbiAqIERpZmYgdHdvIHZpcnR1YWwgbm9kZXMgcmVwcmVzZW50aW5nIERPTSBlbGVtZW50XG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IGRvbSBUaGUgRE9NIGVsZW1lbnQgcmVwcmVzZW50aW5nIHRoZSB2aXJ0dWFsIG5vZGVzXG4gKiBiZWluZyBkaWZmZWRcbiAqIEBwYXJhbSB7Vk5vZGV9IG5ld1ZOb2RlIFRoZSBuZXcgdmlydHVhbCBub2RlXG4gKiBAcGFyYW0ge1ZOb2RlfSBvbGRWTm9kZSBUaGUgb2xkIHZpcnR1YWwgbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IGdsb2JhbENvbnRleHQgVGhlIGN1cnJlbnQgY29udGV4dCBvYmplY3RcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UgQ3VycmVudCBuYW1lc3BhY2Ugb2YgdGhlIERPTSBub2RlIChIVE1MLCBTVkcsIG9yIE1hdGhNTClcbiAqIEBwYXJhbSB7QXJyYXk8UHJlYWN0RWxlbWVudD59IGV4Y2Vzc0RvbUNoaWxkcmVuXG4gKiBAcGFyYW0ge0FycmF5PENvbXBvbmVudD59IGNvbW1pdFF1ZXVlIExpc3Qgb2YgY29tcG9uZW50cyB3aGljaCBoYXZlIGNhbGxiYWNrc1xuICogdG8gaW52b2tlIGluIGNvbW1pdFJvb3RcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNIeWRyYXRpbmcgV2hldGhlciBvciBub3Qgd2UgYXJlIGluIGh5ZHJhdGlvblxuICogQHBhcmFtIHthbnlbXX0gcmVmUXVldWUgYW4gYXJyYXkgb2YgZWxlbWVudHMgbmVlZGVkIHRvIGludm9rZSByZWZzXG4gKiBAcmV0dXJucyB7UHJlYWN0RWxlbWVudH1cbiAqL1xuZnVuY3Rpb24gZGlmZkVsZW1lbnROb2Rlcyhcblx0ZG9tLFxuXHRuZXdWTm9kZSxcblx0b2xkVk5vZGUsXG5cdGdsb2JhbENvbnRleHQsXG5cdG5hbWVzcGFjZSxcblx0ZXhjZXNzRG9tQ2hpbGRyZW4sXG5cdGNvbW1pdFF1ZXVlLFxuXHRpc0h5ZHJhdGluZyxcblx0cmVmUXVldWVcbikge1xuXHRsZXQgb2xkUHJvcHMgPSBvbGRWTm9kZS5wcm9wcztcblx0bGV0IG5ld1Byb3BzID0gbmV3Vk5vZGUucHJvcHM7XG5cdGxldCBub2RlVHlwZSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAobmV3Vk5vZGUudHlwZSk7XG5cdC8qKiBAdHlwZSB7YW55fSAqL1xuXHRsZXQgaTtcblx0LyoqIEB0eXBlIHt7IF9faHRtbD86IHN0cmluZyB9fSAqL1xuXHRsZXQgbmV3SHRtbDtcblx0LyoqIEB0eXBlIHt7IF9faHRtbD86IHN0cmluZyB9fSAqL1xuXHRsZXQgb2xkSHRtbDtcblx0LyoqIEB0eXBlIHtDb21wb25lbnRDaGlsZHJlbn0gKi9cblx0bGV0IG5ld0NoaWxkcmVuO1xuXHRsZXQgdmFsdWU7XG5cdGxldCBpbnB1dFZhbHVlO1xuXHRsZXQgY2hlY2tlZDtcblxuXHQvLyBUcmFja3MgZW50ZXJpbmcgYW5kIGV4aXRpbmcgbmFtZXNwYWNlcyB3aGVuIGRlc2NlbmRpbmcgdGhyb3VnaCB0aGUgdHJlZS5cblx0aWYgKG5vZGVUeXBlID09PSAnc3ZnJykgbmFtZXNwYWNlID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcblx0ZWxzZSBpZiAobm9kZVR5cGUgPT09ICdtYXRoJylcblx0XHRuYW1lc3BhY2UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCc7XG5cdGVsc2UgaWYgKCFuYW1lc3BhY2UpIG5hbWVzcGFjZSA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJztcblxuXHRpZiAoZXhjZXNzRG9tQ2hpbGRyZW4gIT0gbnVsbCkge1xuXHRcdGZvciAoaSA9IDA7IGkgPCBleGNlc3NEb21DaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFsdWUgPSBleGNlc3NEb21DaGlsZHJlbltpXTtcblxuXHRcdFx0Ly8gaWYgbmV3Vk5vZGUgbWF0Y2hlcyBhbiBlbGVtZW50IGluIGV4Y2Vzc0RvbUNoaWxkcmVuIG9yIHRoZSBgZG9tYFxuXHRcdFx0Ly8gYXJndW1lbnQgbWF0Y2hlcyBhbiBlbGVtZW50IGluIGV4Y2Vzc0RvbUNoaWxkcmVuLCByZW1vdmUgaXQgZnJvbVxuXHRcdFx0Ly8gZXhjZXNzRG9tQ2hpbGRyZW4gc28gaXQgaXNuJ3QgbGF0ZXIgcmVtb3ZlZCBpbiBkaWZmQ2hpbGRyZW5cblx0XHRcdGlmIChcblx0XHRcdFx0dmFsdWUgJiZcblx0XHRcdFx0J3NldEF0dHJpYnV0ZScgaW4gdmFsdWUgPT09ICEhbm9kZVR5cGUgJiZcblx0XHRcdFx0KG5vZGVUeXBlID8gdmFsdWUubG9jYWxOYW1lID09PSBub2RlVHlwZSA6IHZhbHVlLm5vZGVUeXBlID09PSAzKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGRvbSA9IHZhbHVlO1xuXHRcdFx0XHRleGNlc3NEb21DaGlsZHJlbltpXSA9IG51bGw7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGlmIChkb20gPT0gbnVsbCkge1xuXHRcdGlmIChub2RlVHlwZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG5ld1Byb3BzKTtcblx0XHR9XG5cblx0XHRkb20gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoXG5cdFx0XHRuYW1lc3BhY2UsXG5cdFx0XHRub2RlVHlwZSxcblx0XHRcdG5ld1Byb3BzLmlzICYmIG5ld1Byb3BzXG5cdFx0KTtcblxuXHRcdC8vIHdlIGFyZSBjcmVhdGluZyBhIG5ldyBub2RlLCBzbyB3ZSBjYW4gYXNzdW1lIHRoaXMgaXMgYSBuZXcgc3VidHJlZSAoaW5cblx0XHQvLyBjYXNlIHdlIGFyZSBoeWRyYXRpbmcpLCB0aGlzIGRlb3B0cyB0aGUgaHlkcmF0ZVxuXHRcdGlmIChpc0h5ZHJhdGluZykge1xuXHRcdFx0aWYgKG9wdGlvbnMuX2h5ZHJhdGlvbk1pc21hdGNoKVxuXHRcdFx0XHRvcHRpb25zLl9oeWRyYXRpb25NaXNtYXRjaChuZXdWTm9kZSwgZXhjZXNzRG9tQ2hpbGRyZW4pO1xuXHRcdFx0aXNIeWRyYXRpbmcgPSBmYWxzZTtcblx0XHR9XG5cdFx0Ly8gd2UgY3JlYXRlZCBhIG5ldyBwYXJlbnQsIHNvIG5vbmUgb2YgdGhlIHByZXZpb3VzbHkgYXR0YWNoZWQgY2hpbGRyZW4gY2FuIGJlIHJldXNlZDpcblx0XHRleGNlc3NEb21DaGlsZHJlbiA9IG51bGw7XG5cdH1cblxuXHRpZiAobm9kZVR5cGUgPT09IG51bGwpIHtcblx0XHQvLyBEdXJpbmcgaHlkcmF0aW9uLCB3ZSBzdGlsbCBoYXZlIHRvIHNwbGl0IG1lcmdlZCB0ZXh0IGZyb20gU1NSJ2QgSFRNTC5cblx0XHRpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzICYmICghaXNIeWRyYXRpbmcgfHwgZG9tLmRhdGEgIT09IG5ld1Byb3BzKSkge1xuXHRcdFx0ZG9tLmRhdGEgPSBuZXdQcm9wcztcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Ly8gSWYgZXhjZXNzRG9tQ2hpbGRyZW4gd2FzIG5vdCBudWxsLCByZXBvcHVsYXRlIGl0IHdpdGggdGhlIGN1cnJlbnQgZWxlbWVudCdzIGNoaWxkcmVuOlxuXHRcdGV4Y2Vzc0RvbUNoaWxkcmVuID0gZXhjZXNzRG9tQ2hpbGRyZW4gJiYgc2xpY2UuY2FsbChkb20uY2hpbGROb2Rlcyk7XG5cblx0XHRvbGRQcm9wcyA9IG9sZFZOb2RlLnByb3BzIHx8IEVNUFRZX09CSjtcblxuXHRcdC8vIElmIHdlIGFyZSBpbiBhIHNpdHVhdGlvbiB3aGVyZSB3ZSBhcmUgbm90IGh5ZHJhdGluZyBidXQgYXJlIHVzaW5nXG5cdFx0Ly8gZXhpc3RpbmcgRE9NIChlLmcuIHJlcGxhY2VOb2RlKSB3ZSBzaG91bGQgcmVhZCB0aGUgZXhpc3RpbmcgRE9NXG5cdFx0Ly8gYXR0cmlidXRlcyB0byBkaWZmIHRoZW1cblx0XHRpZiAoIWlzSHlkcmF0aW5nICYmIGV4Y2Vzc0RvbUNoaWxkcmVuICE9IG51bGwpIHtcblx0XHRcdG9sZFByb3BzID0ge307XG5cdFx0XHRmb3IgKGkgPSAwOyBpIDwgZG9tLmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0dmFsdWUgPSBkb20uYXR0cmlidXRlc1tpXTtcblx0XHRcdFx0b2xkUHJvcHNbdmFsdWUubmFtZV0gPSB2YWx1ZS52YWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRmb3IgKGkgaW4gb2xkUHJvcHMpIHtcblx0XHRcdHZhbHVlID0gb2xkUHJvcHNbaV07XG5cdFx0XHRpZiAoaSA9PSAnY2hpbGRyZW4nKSB7XG5cdFx0XHR9IGVsc2UgaWYgKGkgPT0gJ2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MJykge1xuXHRcdFx0XHRvbGRIdG1sID0gdmFsdWU7XG5cdFx0XHR9IGVsc2UgaWYgKCEoaSBpbiBuZXdQcm9wcykpIHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdChpID09ICd2YWx1ZScgJiYgJ2RlZmF1bHRWYWx1ZScgaW4gbmV3UHJvcHMpIHx8XG5cdFx0XHRcdFx0KGkgPT0gJ2NoZWNrZWQnICYmICdkZWZhdWx0Q2hlY2tlZCcgaW4gbmV3UHJvcHMpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNldFByb3BlcnR5KGRvbSwgaSwgbnVsbCwgdmFsdWUsIG5hbWVzcGFjZSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gRHVyaW5nIGh5ZHJhdGlvbiwgcHJvcHMgYXJlIG5vdCBkaWZmZWQgYXQgYWxsIChpbmNsdWRpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpXG5cdFx0Ly8gQFRPRE8gd2Ugc2hvdWxkIHdhcm4gaW4gZGVidWcgbW9kZSB3aGVuIHByb3BzIGRvbid0IG1hdGNoIGhlcmUuXG5cdFx0Zm9yIChpIGluIG5ld1Byb3BzKSB7XG5cdFx0XHR2YWx1ZSA9IG5ld1Byb3BzW2ldO1xuXHRcdFx0aWYgKGkgPT0gJ2NoaWxkcmVuJykge1xuXHRcdFx0XHRuZXdDaGlsZHJlbiA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIGlmIChpID09ICdkYW5nZXJvdXNseVNldElubmVySFRNTCcpIHtcblx0XHRcdFx0bmV3SHRtbCA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIGlmIChpID09ICd2YWx1ZScpIHtcblx0XHRcdFx0aW5wdXRWYWx1ZSA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIGlmIChpID09ICdjaGVja2VkJykge1xuXHRcdFx0XHRjaGVja2VkID0gdmFsdWU7XG5cdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHQoIWlzSHlkcmF0aW5nIHx8IHR5cGVvZiB2YWx1ZSA9PSAnZnVuY3Rpb24nKSAmJlxuXHRcdFx0XHRvbGRQcm9wc1tpXSAhPT0gdmFsdWVcblx0XHRcdCkge1xuXHRcdFx0XHRzZXRQcm9wZXJ0eShkb20sIGksIHZhbHVlLCBvbGRQcm9wc1tpXSwgbmFtZXNwYWNlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBJZiB0aGUgbmV3IHZub2RlIGRpZG4ndCBoYXZlIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLCBkaWZmIGl0cyBjaGlsZHJlblxuXHRcdGlmIChuZXdIdG1sKSB7XG5cdFx0XHQvLyBBdm9pZCByZS1hcHBseWluZyB0aGUgc2FtZSAnX19odG1sJyBpZiBpdCBkaWQgbm90IGNoYW5nZWQgYmV0d2VlbiByZS1yZW5kZXJcblx0XHRcdGlmIChcblx0XHRcdFx0IWlzSHlkcmF0aW5nICYmXG5cdFx0XHRcdCghb2xkSHRtbCB8fFxuXHRcdFx0XHRcdChuZXdIdG1sLl9faHRtbCAhPT0gb2xkSHRtbC5fX2h0bWwgJiZcblx0XHRcdFx0XHRcdG5ld0h0bWwuX19odG1sICE9PSBkb20uaW5uZXJIVE1MKSlcblx0XHRcdCkge1xuXHRcdFx0XHRkb20uaW5uZXJIVE1MID0gbmV3SHRtbC5fX2h0bWw7XG5cdFx0XHR9XG5cblx0XHRcdG5ld1ZOb2RlLl9jaGlsZHJlbiA9IFtdO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAob2xkSHRtbCkgZG9tLmlubmVySFRNTCA9ICcnO1xuXG5cdFx0XHRkaWZmQ2hpbGRyZW4oXG5cdFx0XHRcdGRvbSxcblx0XHRcdFx0aXNBcnJheShuZXdDaGlsZHJlbikgPyBuZXdDaGlsZHJlbiA6IFtuZXdDaGlsZHJlbl0sXG5cdFx0XHRcdG5ld1ZOb2RlLFxuXHRcdFx0XHRvbGRWTm9kZSxcblx0XHRcdFx0Z2xvYmFsQ29udGV4dCxcblx0XHRcdFx0bm9kZVR5cGUgPT09ICdmb3JlaWduT2JqZWN0J1xuXHRcdFx0XHRcdD8gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnXG5cdFx0XHRcdFx0OiBuYW1lc3BhY2UsXG5cdFx0XHRcdGV4Y2Vzc0RvbUNoaWxkcmVuLFxuXHRcdFx0XHRjb21taXRRdWV1ZSxcblx0XHRcdFx0ZXhjZXNzRG9tQ2hpbGRyZW5cblx0XHRcdFx0XHQ/IGV4Y2Vzc0RvbUNoaWxkcmVuWzBdXG5cdFx0XHRcdFx0OiBvbGRWTm9kZS5fY2hpbGRyZW4gJiYgZ2V0RG9tU2libGluZyhvbGRWTm9kZSwgMCksXG5cdFx0XHRcdGlzSHlkcmF0aW5nLFxuXHRcdFx0XHRyZWZRdWV1ZVxuXHRcdFx0KTtcblxuXHRcdFx0Ly8gUmVtb3ZlIGNoaWxkcmVuIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIGFueSB2bm9kZS5cblx0XHRcdGlmIChleGNlc3NEb21DaGlsZHJlbiAhPSBudWxsKSB7XG5cdFx0XHRcdGZvciAoaSA9IGV4Y2Vzc0RvbUNoaWxkcmVuLmxlbmd0aDsgaS0tOyApIHtcblx0XHRcdFx0XHRyZW1vdmVOb2RlKGV4Y2Vzc0RvbUNoaWxkcmVuW2ldKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEFzIGFib3ZlLCBkb24ndCBkaWZmIHByb3BzIGR1cmluZyBoeWRyYXRpb25cblx0XHRpZiAoIWlzSHlkcmF0aW5nKSB7XG5cdFx0XHRpID0gJ3ZhbHVlJztcblx0XHRcdGlmIChub2RlVHlwZSA9PT0gJ3Byb2dyZXNzJyAmJiBpbnB1dFZhbHVlID09IG51bGwpIHtcblx0XHRcdFx0ZG9tLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcblx0XHRcdH0gZWxzZSBpZiAoXG5cdFx0XHRcdGlucHV0VmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuXHRcdFx0XHQvLyAjMjc1NiBGb3IgdGhlIDxwcm9ncmVzcz4tZWxlbWVudCB0aGUgaW5pdGlhbCB2YWx1ZSBpcyAwLFxuXHRcdFx0XHQvLyBkZXNwaXRlIHRoZSBhdHRyaWJ1dGUgbm90IGJlaW5nIHByZXNlbnQuIFdoZW4gdGhlIGF0dHJpYnV0ZVxuXHRcdFx0XHQvLyBpcyBtaXNzaW5nIHRoZSBwcm9ncmVzcyBiYXIgaXMgdHJlYXRlZCBhcyBpbmRldGVybWluYXRlLlxuXHRcdFx0XHQvLyBUbyBmaXggdGhhdCB3ZSdsbCBhbHdheXMgdXBkYXRlIGl0IHdoZW4gaXQgaXMgMCBmb3IgcHJvZ3Jlc3MgZWxlbWVudHNcblx0XHRcdFx0KGlucHV0VmFsdWUgIT09IGRvbVtpXSB8fFxuXHRcdFx0XHRcdChub2RlVHlwZSA9PT0gJ3Byb2dyZXNzJyAmJiAhaW5wdXRWYWx1ZSkgfHxcblx0XHRcdFx0XHQvLyBUaGlzIGlzIG9ubHkgZm9yIElFIDExIHRvIGZpeCA8c2VsZWN0PiB2YWx1ZSBub3QgYmVpbmcgdXBkYXRlZC5cblx0XHRcdFx0XHQvLyBUbyBhdm9pZCBhIHN0YWxlIHNlbGVjdCB2YWx1ZSB3ZSBuZWVkIHRvIHNldCB0aGUgb3B0aW9uLnZhbHVlXG5cdFx0XHRcdFx0Ly8gYWdhaW4sIHdoaWNoIHRyaWdnZXJzIElFMTEgdG8gcmUtZXZhbHVhdGUgdGhlIHNlbGVjdCB2YWx1ZVxuXHRcdFx0XHRcdChub2RlVHlwZSA9PT0gJ29wdGlvbicgJiYgaW5wdXRWYWx1ZSAhPT0gb2xkUHJvcHNbaV0pKVxuXHRcdFx0KSB7XG5cdFx0XHRcdHNldFByb3BlcnR5KGRvbSwgaSwgaW5wdXRWYWx1ZSwgb2xkUHJvcHNbaV0sIG5hbWVzcGFjZSk7XG5cdFx0XHR9XG5cblx0XHRcdGkgPSAnY2hlY2tlZCc7XG5cdFx0XHRpZiAoY2hlY2tlZCAhPT0gdW5kZWZpbmVkICYmIGNoZWNrZWQgIT09IGRvbVtpXSkge1xuXHRcdFx0XHRzZXRQcm9wZXJ0eShkb20sIGksIGNoZWNrZWQsIG9sZFByb3BzW2ldLCBuYW1lc3BhY2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBkb207XG59XG5cbi8qKlxuICogSW52b2tlIG9yIHVwZGF0ZSBhIHJlZiwgZGVwZW5kaW5nIG9uIHdoZXRoZXIgaXQgaXMgYSBmdW5jdGlvbiBvciBvYmplY3QgcmVmLlxuICogQHBhcmFtIHtSZWY8YW55PiAmIHsgX3VubW91bnQ/OiB1bmtub3duIH19IHJlZlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcGFyYW0ge1ZOb2RlfSB2bm9kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlSZWYocmVmLCB2YWx1ZSwgdm5vZGUpIHtcblx0dHJ5IHtcblx0XHRpZiAodHlwZW9mIHJlZiA9PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRsZXQgaGFzUmVmVW5tb3VudCA9IHR5cGVvZiByZWYuX3VubW91bnQgPT0gJ2Z1bmN0aW9uJztcblx0XHRcdGlmIChoYXNSZWZVbm1vdW50KSB7XG5cdFx0XHRcdC8vIEB0cy1pZ25vcmUgVFMgZG9lc24ndCBsaWtlIG1vdmluZyBuYXJyb3dpbmcgY2hlY2tzIGludG8gdmFyaWFibGVzXG5cdFx0XHRcdHJlZi5fdW5tb3VudCgpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIWhhc1JlZlVubW91bnQgfHwgdmFsdWUgIT0gbnVsbCkge1xuXHRcdFx0XHQvLyBTdG9yZSB0aGUgY2xlYW51cCBmdW5jdGlvbiBvbiB0aGUgZnVuY3Rpb25cblx0XHRcdFx0Ly8gaW5zdGFuY2Ugb2JqZWN0IGl0c2VsZiB0byBhdm9pZCBzaGFwZVxuXHRcdFx0XHQvLyB0cmFuc2l0aW9uaW5nIHZub2RlXG5cdFx0XHRcdHJlZi5fdW5tb3VudCA9IHJlZih2YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHJlZi5jdXJyZW50ID0gdmFsdWU7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRvcHRpb25zLl9jYXRjaEVycm9yKGUsIHZub2RlKTtcblx0fVxufVxuXG4vKipcbiAqIFVubW91bnQgYSB2aXJ0dWFsIG5vZGUgZnJvbSB0aGUgdHJlZSBhbmQgYXBwbHkgRE9NIGNoYW5nZXNcbiAqIEBwYXJhbSB7Vk5vZGV9IHZub2RlIFRoZSB2aXJ0dWFsIG5vZGUgdG8gdW5tb3VudFxuICogQHBhcmFtIHtWTm9kZX0gcGFyZW50Vk5vZGUgVGhlIHBhcmVudCBvZiB0aGUgVk5vZGUgdGhhdCBpbml0aWF0ZWQgdGhlIHVubW91bnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NraXBSZW1vdmVdIEZsYWcgdGhhdCBpbmRpY2F0ZXMgdGhhdCBhIHBhcmVudCBub2RlIG9mIHRoZVxuICogY3VycmVudCBlbGVtZW50IGlzIGFscmVhZHkgZGV0YWNoZWQgZnJvbSB0aGUgRE9NLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5tb3VudCh2bm9kZSwgcGFyZW50Vk5vZGUsIHNraXBSZW1vdmUpIHtcblx0bGV0IHI7XG5cdGlmIChvcHRpb25zLnVubW91bnQpIG9wdGlvbnMudW5tb3VudCh2bm9kZSk7XG5cblx0aWYgKChyID0gdm5vZGUucmVmKSkge1xuXHRcdGlmICghci5jdXJyZW50IHx8IHIuY3VycmVudCA9PT0gdm5vZGUuX2RvbSkge1xuXHRcdFx0YXBwbHlSZWYociwgbnVsbCwgcGFyZW50Vk5vZGUpO1xuXHRcdH1cblx0fVxuXG5cdGlmICgociA9IHZub2RlLl9jb21wb25lbnQpICE9IG51bGwpIHtcblx0XHRpZiAoci5jb21wb25lbnRXaWxsVW5tb3VudCkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0ci5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRvcHRpb25zLl9jYXRjaEVycm9yKGUsIHBhcmVudFZOb2RlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyLmJhc2UgPSByLl9wYXJlbnREb20gPSBudWxsO1xuXHR9XG5cblx0aWYgKChyID0gdm5vZGUuX2NoaWxkcmVuKSkge1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgci5sZW5ndGg7IGkrKykge1xuXHRcdFx0aWYgKHJbaV0pIHtcblx0XHRcdFx0dW5tb3VudChcblx0XHRcdFx0XHRyW2ldLFxuXHRcdFx0XHRcdHBhcmVudFZOb2RlLFxuXHRcdFx0XHRcdHNraXBSZW1vdmUgfHwgdHlwZW9mIHZub2RlLnR5cGUgIT0gJ2Z1bmN0aW9uJ1xuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGlmICghc2tpcFJlbW92ZSkge1xuXHRcdHJlbW92ZU5vZGUodm5vZGUuX2RvbSk7XG5cdH1cblxuXHQvLyBNdXN0IGJlIHNldCB0byBgdW5kZWZpbmVkYCB0byBwcm9wZXJseSBjbGVhbiB1cCBgX25leHREb21gXG5cdC8vIGZvciB3aGljaCBgbnVsbGAgaXMgYSB2YWxpZCB2YWx1ZS4gU2VlIGNvbW1lbnQgaW4gYGNyZWF0ZS1lbGVtZW50LmpzYFxuXHR2bm9kZS5fY29tcG9uZW50ID0gdm5vZGUuX3BhcmVudCA9IHZub2RlLl9kb20gPSB2bm9kZS5fbmV4dERvbSA9IHVuZGVmaW5lZDtcbn1cblxuLyoqIFRoZSBgLnJlbmRlcigpYCBtZXRob2QgZm9yIGEgUEZDIGJhY2tpbmcgaW5zdGFuY2UuICovXG5mdW5jdGlvbiBkb1JlbmRlcihwcm9wcywgc3RhdGUsIGNvbnRleHQpIHtcblx0cmV0dXJuIHRoaXMuY29uc3RydWN0b3IocHJvcHMsIGNvbnRleHQpO1xufVxuIiwgImltcG9ydCB7IEVNUFRZX09CSiB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNvbW1pdFJvb3QsIGRpZmYgfSBmcm9tICcuL2RpZmYvaW5kZXgnO1xuaW1wb3J0IHsgY3JlYXRlRWxlbWVudCwgRnJhZ21lbnQgfSBmcm9tICcuL2NyZWF0ZS1lbGVtZW50JztcbmltcG9ydCBvcHRpb25zIGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBzbGljZSB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogUmVuZGVyIGEgUHJlYWN0IHZpcnR1YWwgbm9kZSBpbnRvIGEgRE9NIGVsZW1lbnRcbiAqIEBwYXJhbSB7Q29tcG9uZW50Q2hpbGR9IHZub2RlIFRoZSB2aXJ0dWFsIG5vZGUgdG8gcmVuZGVyXG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IHBhcmVudERvbSBUaGUgRE9NIGVsZW1lbnQgdG8gcmVuZGVyIGludG9cbiAqIEBwYXJhbSB7UHJlYWN0RWxlbWVudCB8IG9iamVjdH0gW3JlcGxhY2VOb2RlXSBPcHRpb25hbDogQXR0ZW1wdCB0byByZS11c2UgYW5cbiAqIGV4aXN0aW5nIERPTSB0cmVlIHJvb3RlZCBhdCBgcmVwbGFjZU5vZGVgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXIodm5vZGUsIHBhcmVudERvbSwgcmVwbGFjZU5vZGUpIHtcblx0aWYgKG9wdGlvbnMuX3Jvb3QpIG9wdGlvbnMuX3Jvb3Qodm5vZGUsIHBhcmVudERvbSk7XG5cblx0Ly8gV2UgYWJ1c2UgdGhlIGByZXBsYWNlTm9kZWAgcGFyYW1ldGVyIGluIGBoeWRyYXRlKClgIHRvIHNpZ25hbCBpZiB3ZSBhcmUgaW5cblx0Ly8gaHlkcmF0aW9uIG1vZGUgb3Igbm90IGJ5IHBhc3NpbmcgdGhlIGBoeWRyYXRlYCBmdW5jdGlvbiBpbnN0ZWFkIG9mIGEgRE9NXG5cdC8vIGVsZW1lbnQuLlxuXHRsZXQgaXNIeWRyYXRpbmcgPSB0eXBlb2YgcmVwbGFjZU5vZGUgPT0gJ2Z1bmN0aW9uJztcblxuXHQvLyBUbyBiZSBhYmxlIHRvIHN1cHBvcnQgY2FsbGluZyBgcmVuZGVyKClgIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lXG5cdC8vIERPTSBub2RlLCB3ZSBuZWVkIHRvIG9idGFpbiBhIHJlZmVyZW5jZSB0byB0aGUgcHJldmlvdXMgdHJlZS4gV2UgZG9cblx0Ly8gdGhpcyBieSBhc3NpZ25pbmcgYSBuZXcgYF9jaGlsZHJlbmAgcHJvcGVydHkgdG8gRE9NIG5vZGVzIHdoaWNoIHBvaW50c1xuXHQvLyB0byB0aGUgbGFzdCByZW5kZXJlZCB0cmVlLiBCeSBkZWZhdWx0IHRoaXMgcHJvcGVydHkgaXMgbm90IHByZXNlbnQsIHdoaWNoXG5cdC8vIG1lYW5zIHRoYXQgd2UgYXJlIG1vdW50aW5nIGEgbmV3IHRyZWUgZm9yIHRoZSBmaXJzdCB0aW1lLlxuXHRsZXQgb2xkVk5vZGUgPSBpc0h5ZHJhdGluZ1xuXHRcdD8gbnVsbFxuXHRcdDogKHJlcGxhY2VOb2RlICYmIHJlcGxhY2VOb2RlLl9jaGlsZHJlbikgfHwgcGFyZW50RG9tLl9jaGlsZHJlbjtcblxuXHR2bm9kZSA9ICgoIWlzSHlkcmF0aW5nICYmIHJlcGxhY2VOb2RlKSB8fCBwYXJlbnREb20pLl9jaGlsZHJlbiA9XG5cdFx0Y3JlYXRlRWxlbWVudChGcmFnbWVudCwgbnVsbCwgW3Zub2RlXSk7XG5cblx0Ly8gTGlzdCBvZiBlZmZlY3RzIHRoYXQgbmVlZCB0byBiZSBjYWxsZWQgYWZ0ZXIgZGlmZmluZy5cblx0bGV0IGNvbW1pdFF1ZXVlID0gW10sXG5cdFx0cmVmUXVldWUgPSBbXTtcblx0ZGlmZihcblx0XHRwYXJlbnREb20sXG5cdFx0Ly8gRGV0ZXJtaW5lIHRoZSBuZXcgdm5vZGUgdHJlZSBhbmQgc3RvcmUgaXQgb24gdGhlIERPTSBlbGVtZW50IG9uXG5cdFx0Ly8gb3VyIGN1c3RvbSBgX2NoaWxkcmVuYCBwcm9wZXJ0eS5cblx0XHR2bm9kZSxcblx0XHRvbGRWTm9kZSB8fCBFTVBUWV9PQkosXG5cdFx0RU1QVFlfT0JKLFxuXHRcdHBhcmVudERvbS5uYW1lc3BhY2VVUkksXG5cdFx0IWlzSHlkcmF0aW5nICYmIHJlcGxhY2VOb2RlXG5cdFx0XHQ/IFtyZXBsYWNlTm9kZV1cblx0XHRcdDogb2xkVk5vZGVcblx0XHRcdFx0PyBudWxsXG5cdFx0XHRcdDogcGFyZW50RG9tLmZpcnN0Q2hpbGRcblx0XHRcdFx0XHQ/IHNsaWNlLmNhbGwocGFyZW50RG9tLmNoaWxkTm9kZXMpXG5cdFx0XHRcdFx0OiBudWxsLFxuXHRcdGNvbW1pdFF1ZXVlLFxuXHRcdCFpc0h5ZHJhdGluZyAmJiByZXBsYWNlTm9kZVxuXHRcdFx0PyByZXBsYWNlTm9kZVxuXHRcdFx0OiBvbGRWTm9kZVxuXHRcdFx0XHQ/IG9sZFZOb2RlLl9kb21cblx0XHRcdFx0OiBwYXJlbnREb20uZmlyc3RDaGlsZCxcblx0XHRpc0h5ZHJhdGluZyxcblx0XHRyZWZRdWV1ZVxuXHQpO1xuXG5cdC8vIEZsdXNoIGFsbCBxdWV1ZWQgZWZmZWN0c1xuXHRjb21taXRSb290KGNvbW1pdFF1ZXVlLCB2bm9kZSwgcmVmUXVldWUpO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhbiBleGlzdGluZyBET00gZWxlbWVudCB3aXRoIGRhdGEgZnJvbSBhIFByZWFjdCB2aXJ0dWFsIG5vZGVcbiAqIEBwYXJhbSB7Q29tcG9uZW50Q2hpbGR9IHZub2RlIFRoZSB2aXJ0dWFsIG5vZGUgdG8gcmVuZGVyXG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IHBhcmVudERvbSBUaGUgRE9NIGVsZW1lbnQgdG8gdXBkYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoeWRyYXRlKHZub2RlLCBwYXJlbnREb20pIHtcblx0cmVuZGVyKHZub2RlLCBwYXJlbnREb20sIGh5ZHJhdGUpO1xufVxuIiwgImltcG9ydCB7IGFzc2lnbiwgc2xpY2UgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgY3JlYXRlVk5vZGUgfSBmcm9tICcuL2NyZWF0ZS1lbGVtZW50JztcblxuLyoqXG4gKiBDbG9uZXMgdGhlIGdpdmVuIFZOb2RlLCBvcHRpb25hbGx5IGFkZGluZyBhdHRyaWJ1dGVzL3Byb3BzIGFuZCByZXBsYWNpbmcgaXRzXG4gKiBjaGlsZHJlbi5cbiAqIEBwYXJhbSB7Vk5vZGV9IHZub2RlIFRoZSB2aXJ0dWFsIERPTSBlbGVtZW50IHRvIGNsb25lXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHMgQXR0cmlidXRlcy9wcm9wcyB0byBhZGQgd2hlbiBjbG9uaW5nXG4gKiBAcGFyYW0ge0FycmF5PENvbXBvbmVudENoaWxkcmVuPn0gcmVzdCBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgd2lsbCBiZSB1c2VkXG4gKiBhcyByZXBsYWNlbWVudCBjaGlsZHJlbi5cbiAqIEByZXR1cm5zIHtWTm9kZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsb25lRWxlbWVudCh2bm9kZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG5cdGxldCBub3JtYWxpemVkUHJvcHMgPSBhc3NpZ24oe30sIHZub2RlLnByb3BzKSxcblx0XHRrZXksXG5cdFx0cmVmLFxuXHRcdGk7XG5cblx0bGV0IGRlZmF1bHRQcm9wcztcblxuXHRpZiAodm5vZGUudHlwZSAmJiB2bm9kZS50eXBlLmRlZmF1bHRQcm9wcykge1xuXHRcdGRlZmF1bHRQcm9wcyA9IHZub2RlLnR5cGUuZGVmYXVsdFByb3BzO1xuXHR9XG5cblx0Zm9yIChpIGluIHByb3BzKSB7XG5cdFx0aWYgKGkgPT0gJ2tleScpIGtleSA9IHByb3BzW2ldO1xuXHRcdGVsc2UgaWYgKGkgPT0gJ3JlZicpIHJlZiA9IHByb3BzW2ldO1xuXHRcdGVsc2UgaWYgKHByb3BzW2ldID09PSB1bmRlZmluZWQgJiYgZGVmYXVsdFByb3BzICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdG5vcm1hbGl6ZWRQcm9wc1tpXSA9IGRlZmF1bHRQcm9wc1tpXTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bm9ybWFsaXplZFByb3BzW2ldID0gcHJvcHNbaV07XG5cdFx0fVxuXHR9XG5cblx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAyKSB7XG5cdFx0bm9ybWFsaXplZFByb3BzLmNoaWxkcmVuID1cblx0XHRcdGFyZ3VtZW50cy5sZW5ndGggPiAzID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpIDogY2hpbGRyZW47XG5cdH1cblxuXHRyZXR1cm4gY3JlYXRlVk5vZGUoXG5cdFx0dm5vZGUudHlwZSxcblx0XHRub3JtYWxpemVkUHJvcHMsXG5cdFx0a2V5IHx8IHZub2RlLmtleSxcblx0XHRyZWYgfHwgdm5vZGUucmVmLFxuXHRcdG51bGxcblx0KTtcbn1cbiIsICIvKipcbiAqIEZpbmQgdGhlIGNsb3Nlc3QgZXJyb3IgYm91bmRhcnkgdG8gYSB0aHJvd24gZXJyb3IgYW5kIGNhbGwgaXRcbiAqIEBwYXJhbSB7b2JqZWN0fSBlcnJvciBUaGUgdGhyb3duIHZhbHVlXG4gKiBAcGFyYW0ge1ZOb2RlfSB2bm9kZSBUaGUgdm5vZGUgdGhhdCB0aHJldyB0aGUgZXJyb3IgdGhhdCB3YXMgY2F1Z2h0IChleGNlcHRcbiAqIGZvciB1bm1vdW50aW5nIHdoZW4gdGhpcyBwYXJhbWV0ZXIgaXMgdGhlIGhpZ2hlc3QgcGFyZW50IHRoYXQgd2FzIGJlaW5nXG4gKiB1bm1vdW50ZWQpXG4gKiBAcGFyYW0ge1ZOb2RlfSBbb2xkVk5vZGVdXG4gKiBAcGFyYW0ge0Vycm9ySW5mb30gW2Vycm9ySW5mb11cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9jYXRjaEVycm9yKGVycm9yLCB2bm9kZSwgb2xkVk5vZGUsIGVycm9ySW5mbykge1xuXHQvKiogQHR5cGUge0NvbXBvbmVudH0gKi9cblx0bGV0IGNvbXBvbmVudCxcblx0XHQvKiogQHR5cGUge0NvbXBvbmVudFR5cGV9ICovXG5cdFx0Y3Rvcixcblx0XHQvKiogQHR5cGUge2Jvb2xlYW59ICovXG5cdFx0aGFuZGxlZDtcblxuXHRmb3IgKDsgKHZub2RlID0gdm5vZGUuX3BhcmVudCk7ICkge1xuXHRcdGlmICgoY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudCkgJiYgIWNvbXBvbmVudC5fcHJvY2Vzc2luZ0V4Y2VwdGlvbikge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y3RvciA9IGNvbXBvbmVudC5jb25zdHJ1Y3RvcjtcblxuXHRcdFx0XHRpZiAoY3RvciAmJiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPSBudWxsKSB7XG5cdFx0XHRcdFx0Y29tcG9uZW50LnNldFN0YXRlKGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yKSk7XG5cdFx0XHRcdFx0aGFuZGxlZCA9IGNvbXBvbmVudC5fZGlydHk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoY29tcG9uZW50LmNvbXBvbmVudERpZENhdGNoICE9IG51bGwpIHtcblx0XHRcdFx0XHRjb21wb25lbnQuY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IsIGVycm9ySW5mbyB8fCB7fSk7XG5cdFx0XHRcdFx0aGFuZGxlZCA9IGNvbXBvbmVudC5fZGlydHk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBUaGlzIGlzIGFuIGVycm9yIGJvdW5kYXJ5LiBNYXJrIGl0IGFzIGhhdmluZyBiYWlsZWQgb3V0LCBhbmQgd2hldGhlciBpdCB3YXMgbWlkLWh5ZHJhdGlvbi5cblx0XHRcdFx0aWYgKGhhbmRsZWQpIHtcblx0XHRcdFx0XHRyZXR1cm4gKGNvbXBvbmVudC5fcGVuZGluZ0Vycm9yID0gY29tcG9uZW50KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRlcnJvciA9IGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0dGhyb3cgZXJyb3I7XG59XG4iLCAiaW1wb3J0IHsgb3B0aW9ucyBhcyBfb3B0aW9ucyB9IGZyb20gJ3ByZWFjdCc7XG5cbi8qKiBAdHlwZSB7bnVtYmVyfSAqL1xubGV0IGN1cnJlbnRJbmRleDtcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5Db21wb25lbnR9ICovXG5sZXQgY3VycmVudENvbXBvbmVudDtcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5Db21wb25lbnR9ICovXG5sZXQgcHJldmlvdXNDb21wb25lbnQ7XG5cbi8qKiBAdHlwZSB7bnVtYmVyfSAqL1xubGV0IGN1cnJlbnRIb29rID0gMDtcblxuLyoqIEB0eXBlIHtBcnJheTxpbXBvcnQoJy4vaW50ZXJuYWwnKS5Db21wb25lbnQ+fSAqL1xubGV0IGFmdGVyUGFpbnRFZmZlY3RzID0gW107XG5cbi8vIENhc3QgdG8gdXNlIGludGVybmFsIE9wdGlvbnMgdHlwZVxuY29uc3Qgb3B0aW9ucyA9IC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuT3B0aW9uc30gKi8gKF9vcHRpb25zKTtcblxubGV0IG9sZEJlZm9yZURpZmYgPSBvcHRpb25zLl9kaWZmO1xubGV0IG9sZEJlZm9yZVJlbmRlciA9IG9wdGlvbnMuX3JlbmRlcjtcbmxldCBvbGRBZnRlckRpZmYgPSBvcHRpb25zLmRpZmZlZDtcbmxldCBvbGRDb21taXQgPSBvcHRpb25zLl9jb21taXQ7XG5sZXQgb2xkQmVmb3JlVW5tb3VudCA9IG9wdGlvbnMudW5tb3VudDtcbmxldCBvbGRSb290ID0gb3B0aW9ucy5fcm9vdDtcblxuY29uc3QgUkFGX1RJTUVPVVQgPSAxMDA7XG5sZXQgcHJldlJhZjtcblxuLyoqIEB0eXBlIHsodm5vZGU6IGltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlKSA9PiB2b2lkfSAqL1xub3B0aW9ucy5fZGlmZiA9IHZub2RlID0+IHtcblx0Y3VycmVudENvbXBvbmVudCA9IG51bGw7XG5cdGlmIChvbGRCZWZvcmVEaWZmKSBvbGRCZWZvcmVEaWZmKHZub2RlKTtcbn07XG5cbm9wdGlvbnMuX3Jvb3QgPSAodm5vZGUsIHBhcmVudERvbSkgPT4ge1xuXHRpZiAodm5vZGUgJiYgcGFyZW50RG9tLl9jaGlsZHJlbiAmJiBwYXJlbnREb20uX2NoaWxkcmVuLl9tYXNrKSB7XG5cdFx0dm5vZGUuX21hc2sgPSBwYXJlbnREb20uX2NoaWxkcmVuLl9tYXNrO1xuXHR9XG5cblx0aWYgKG9sZFJvb3QpIG9sZFJvb3Qodm5vZGUsIHBhcmVudERvbSk7XG59O1xuXG4vKiogQHR5cGUgeyh2bm9kZTogaW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGUpID0+IHZvaWR9ICovXG5vcHRpb25zLl9yZW5kZXIgPSB2bm9kZSA9PiB7XG5cdGlmIChvbGRCZWZvcmVSZW5kZXIpIG9sZEJlZm9yZVJlbmRlcih2bm9kZSk7XG5cblx0Y3VycmVudENvbXBvbmVudCA9IHZub2RlLl9jb21wb25lbnQ7XG5cdGN1cnJlbnRJbmRleCA9IDA7XG5cblx0Y29uc3QgaG9va3MgPSBjdXJyZW50Q29tcG9uZW50Ll9faG9va3M7XG5cdGlmIChob29rcykge1xuXHRcdGlmIChwcmV2aW91c0NvbXBvbmVudCA9PT0gY3VycmVudENvbXBvbmVudCkge1xuXHRcdFx0aG9va3MuX3BlbmRpbmdFZmZlY3RzID0gW107XG5cdFx0XHRjdXJyZW50Q29tcG9uZW50Ll9yZW5kZXJDYWxsYmFja3MgPSBbXTtcblx0XHRcdGhvb2tzLl9saXN0LmZvckVhY2goaG9va0l0ZW0gPT4ge1xuXHRcdFx0XHRpZiAoaG9va0l0ZW0uX25leHRWYWx1ZSkge1xuXHRcdFx0XHRcdGhvb2tJdGVtLl92YWx1ZSA9IGhvb2tJdGVtLl9uZXh0VmFsdWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0aG9va0l0ZW0uX3BlbmRpbmdBcmdzID0gaG9va0l0ZW0uX25leHRWYWx1ZSA9IHVuZGVmaW5lZDtcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRob29rcy5fcGVuZGluZ0VmZmVjdHMuZm9yRWFjaChpbnZva2VDbGVhbnVwKTtcblx0XHRcdGhvb2tzLl9wZW5kaW5nRWZmZWN0cy5mb3JFYWNoKGludm9rZUVmZmVjdCk7XG5cdFx0XHRob29rcy5fcGVuZGluZ0VmZmVjdHMgPSBbXTtcblx0XHRcdGN1cnJlbnRJbmRleCA9IDA7XG5cdFx0fVxuXHR9XG5cdHByZXZpb3VzQ29tcG9uZW50ID0gY3VycmVudENvbXBvbmVudDtcbn07XG5cbi8qKiBAdHlwZSB7KHZub2RlOiBpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZSkgPT4gdm9pZH0gKi9cbm9wdGlvbnMuZGlmZmVkID0gdm5vZGUgPT4ge1xuXHRpZiAob2xkQWZ0ZXJEaWZmKSBvbGRBZnRlckRpZmYodm5vZGUpO1xuXG5cdGNvbnN0IGMgPSB2bm9kZS5fY29tcG9uZW50O1xuXHRpZiAoYyAmJiBjLl9faG9va3MpIHtcblx0XHRpZiAoYy5fX2hvb2tzLl9wZW5kaW5nRWZmZWN0cy5sZW5ndGgpIGFmdGVyUGFpbnQoYWZ0ZXJQYWludEVmZmVjdHMucHVzaChjKSk7XG5cdFx0Yy5fX2hvb2tzLl9saXN0LmZvckVhY2goaG9va0l0ZW0gPT4ge1xuXHRcdFx0aWYgKGhvb2tJdGVtLl9wZW5kaW5nQXJncykge1xuXHRcdFx0XHRob29rSXRlbS5fYXJncyA9IGhvb2tJdGVtLl9wZW5kaW5nQXJncztcblx0XHRcdH1cblx0XHRcdGhvb2tJdGVtLl9wZW5kaW5nQXJncyA9IHVuZGVmaW5lZDtcblx0XHR9KTtcblx0fVxuXHRwcmV2aW91c0NvbXBvbmVudCA9IGN1cnJlbnRDb21wb25lbnQgPSBudWxsO1xufTtcblxuLy8gVE9ETzogSW1wcm92ZSB0eXBpbmcgb2YgY29tbWl0UXVldWUgcGFyYW1ldGVyXG4vKiogQHR5cGUgeyh2bm9kZTogaW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGUsIGNvbW1pdFF1ZXVlOiBhbnkpID0+IHZvaWR9ICovXG5vcHRpb25zLl9jb21taXQgPSAodm5vZGUsIGNvbW1pdFF1ZXVlKSA9PiB7XG5cdGNvbW1pdFF1ZXVlLnNvbWUoY29tcG9uZW50ID0+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29tcG9uZW50Ll9yZW5kZXJDYWxsYmFja3MuZm9yRWFjaChpbnZva2VDbGVhbnVwKTtcblx0XHRcdGNvbXBvbmVudC5fcmVuZGVyQ2FsbGJhY2tzID0gY29tcG9uZW50Ll9yZW5kZXJDYWxsYmFja3MuZmlsdGVyKGNiID0+XG5cdFx0XHRcdGNiLl92YWx1ZSA/IGludm9rZUVmZmVjdChjYikgOiB0cnVlXG5cdFx0XHQpO1xuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdGNvbW1pdFF1ZXVlLnNvbWUoYyA9PiB7XG5cdFx0XHRcdGlmIChjLl9yZW5kZXJDYWxsYmFja3MpIGMuX3JlbmRlckNhbGxiYWNrcyA9IFtdO1xuXHRcdFx0fSk7XG5cdFx0XHRjb21taXRRdWV1ZSA9IFtdO1xuXHRcdFx0b3B0aW9ucy5fY2F0Y2hFcnJvcihlLCBjb21wb25lbnQuX3Zub2RlKTtcblx0XHR9XG5cdH0pO1xuXG5cdGlmIChvbGRDb21taXQpIG9sZENvbW1pdCh2bm9kZSwgY29tbWl0UXVldWUpO1xufTtcblxuLyoqIEB0eXBlIHsodm5vZGU6IGltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlKSA9PiB2b2lkfSAqL1xub3B0aW9ucy51bm1vdW50ID0gdm5vZGUgPT4ge1xuXHRpZiAob2xkQmVmb3JlVW5tb3VudCkgb2xkQmVmb3JlVW5tb3VudCh2bm9kZSk7XG5cblx0Y29uc3QgYyA9IHZub2RlLl9jb21wb25lbnQ7XG5cdGlmIChjICYmIGMuX19ob29rcykge1xuXHRcdGxldCBoYXNFcnJvcmVkO1xuXHRcdGMuX19ob29rcy5fbGlzdC5mb3JFYWNoKHMgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0aW52b2tlQ2xlYW51cChzKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0aGFzRXJyb3JlZCA9IGU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0Yy5fX2hvb2tzID0gdW5kZWZpbmVkO1xuXHRcdGlmIChoYXNFcnJvcmVkKSBvcHRpb25zLl9jYXRjaEVycm9yKGhhc0Vycm9yZWQsIGMuX3Zub2RlKTtcblx0fVxufTtcblxuLyoqXG4gKiBHZXQgYSBob29rJ3Mgc3RhdGUgZnJvbSB0aGUgY3VycmVudENvbXBvbmVudFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgaG9vayB0byBnZXRcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlIFRoZSBpbmRleCBvZiB0aGUgaG9vayB0byBnZXRcbiAqIEByZXR1cm5zIHthbnl9XG4gKi9cbmZ1bmN0aW9uIGdldEhvb2tTdGF0ZShpbmRleCwgdHlwZSkge1xuXHRpZiAob3B0aW9ucy5faG9vaykge1xuXHRcdG9wdGlvbnMuX2hvb2soY3VycmVudENvbXBvbmVudCwgaW5kZXgsIGN1cnJlbnRIb29rIHx8IHR5cGUpO1xuXHR9XG5cdGN1cnJlbnRIb29rID0gMDtcblxuXHQvLyBMYXJnZWx5IGluc3BpcmVkIGJ5OlxuXHQvLyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNoYWVsLWtsZWluL2Z1bmN5LmpzL2Jsb2IvZjZiZTczNDY4ZTZlYzQ2YjBmZjVhYTNjYzRjOWJhZjcyYTI5MDI1YS9zcmMvaG9va3MvY29yZV9ob29rcy5tanNcblx0Ly8gKiBodHRwczovL2dpdGh1Yi5jb20vbWljaGFlbC1rbGVpbi9mdW5jeS5qcy9ibG9iLzY1MGJlYWE1OGM0M2MzM2E3NDgyMGEzYzk4YjNjNzA3OWNmMmUzMzMvc3JjL3JlbmRlcmVyLm1qc1xuXHQvLyBPdGhlciBpbXBsZW1lbnRhdGlvbnMgdG8gbG9vayBhdDpcblx0Ly8gKiBodHRwczovL2NvZGVzYW5kYm94LmlvL3MvbW5veDA1cXA4XG5cdGNvbnN0IGhvb2tzID1cblx0XHRjdXJyZW50Q29tcG9uZW50Ll9faG9va3MgfHxcblx0XHQoY3VycmVudENvbXBvbmVudC5fX2hvb2tzID0ge1xuXHRcdFx0X2xpc3Q6IFtdLFxuXHRcdFx0X3BlbmRpbmdFZmZlY3RzOiBbXVxuXHRcdH0pO1xuXG5cdGlmIChpbmRleCA+PSBob29rcy5fbGlzdC5sZW5ndGgpIHtcblx0XHRob29rcy5fbGlzdC5wdXNoKHt9KTtcblx0fVxuXG5cdHJldHVybiBob29rcy5fbGlzdFtpbmRleF07XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIHt1bmtub3dufSBTXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbmRleCcpLkRpc3BhdGNoPGltcG9ydCgnLi9pbmRleCcpLlN0YXRlVXBkYXRlcjxTPj59IFtpbml0aWFsU3RhdGVdXG4gKiBAcmV0dXJucyB7W1MsIChzdGF0ZTogUykgPT4gdm9pZF19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTdGF0ZShpbml0aWFsU3RhdGUpIHtcblx0Y3VycmVudEhvb2sgPSAxO1xuXHRyZXR1cm4gdXNlUmVkdWNlcihpbnZva2VPclJldHVybiwgaW5pdGlhbFN0YXRlKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUge3Vua25vd259IFNcbiAqIEB0ZW1wbGF0ZSB7dW5rbm93bn0gQVxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW5kZXgnKS5SZWR1Y2VyPFMsIEE+fSByZWR1Y2VyXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbmRleCcpLkRpc3BhdGNoPGltcG9ydCgnLi9pbmRleCcpLlN0YXRlVXBkYXRlcjxTPj59IGluaXRpYWxTdGF0ZVxuICogQHBhcmFtIHsoaW5pdGlhbFN0YXRlOiBhbnkpID0+IHZvaWR9IFtpbml0XVxuICogQHJldHVybnMge1sgUywgKHN0YXRlOiBTKSA9PiB2b2lkIF19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxTdGF0ZSwgaW5pdCkge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlJlZHVjZXJIb29rU3RhdGV9ICovXG5cdGNvbnN0IGhvb2tTdGF0ZSA9IGdldEhvb2tTdGF0ZShjdXJyZW50SW5kZXgrKywgMik7XG5cdGhvb2tTdGF0ZS5fcmVkdWNlciA9IHJlZHVjZXI7XG5cdGlmICghaG9va1N0YXRlLl9jb21wb25lbnQpIHtcblx0XHRob29rU3RhdGUuX3ZhbHVlID0gW1xuXHRcdFx0IWluaXQgPyBpbnZva2VPclJldHVybih1bmRlZmluZWQsIGluaXRpYWxTdGF0ZSkgOiBpbml0KGluaXRpYWxTdGF0ZSksXG5cblx0XHRcdGFjdGlvbiA9PiB7XG5cdFx0XHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGhvb2tTdGF0ZS5fbmV4dFZhbHVlXG5cdFx0XHRcdFx0PyBob29rU3RhdGUuX25leHRWYWx1ZVswXVxuXHRcdFx0XHRcdDogaG9va1N0YXRlLl92YWx1ZVswXTtcblx0XHRcdFx0Y29uc3QgbmV4dFZhbHVlID0gaG9va1N0YXRlLl9yZWR1Y2VyKGN1cnJlbnRWYWx1ZSwgYWN0aW9uKTtcblxuXHRcdFx0XHRpZiAoY3VycmVudFZhbHVlICE9PSBuZXh0VmFsdWUpIHtcblx0XHRcdFx0XHRob29rU3RhdGUuX25leHRWYWx1ZSA9IFtuZXh0VmFsdWUsIGhvb2tTdGF0ZS5fdmFsdWVbMV1dO1xuXHRcdFx0XHRcdGhvb2tTdGF0ZS5fY29tcG9uZW50LnNldFN0YXRlKHt9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdF07XG5cblx0XHRob29rU3RhdGUuX2NvbXBvbmVudCA9IGN1cnJlbnRDb21wb25lbnQ7XG5cblx0XHRpZiAoIWN1cnJlbnRDb21wb25lbnQuX2hhc1NjdUZyb21Ib29rcykge1xuXHRcdFx0Y3VycmVudENvbXBvbmVudC5faGFzU2N1RnJvbUhvb2tzID0gdHJ1ZTtcblx0XHRcdGxldCBwcmV2U2N1ID0gY3VycmVudENvbXBvbmVudC5zaG91bGRDb21wb25lbnRVcGRhdGU7XG5cdFx0XHRjb25zdCBwcmV2Q1dVID0gY3VycmVudENvbXBvbmVudC5jb21wb25lbnRXaWxsVXBkYXRlO1xuXG5cdFx0XHQvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggYSBmb3JjZWQgdXBkYXRlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgIHdpbGxcblx0XHRcdC8vIG5vdCBiZSBjYWxsZWQuIEJ1dCB3ZSB1c2UgdGhhdCB0byB1cGRhdGUgdGhlIGhvb2sgdmFsdWVzLCBzbyB3ZVxuXHRcdFx0Ly8gbmVlZCB0byBjYWxsIGl0LlxuXHRcdFx0Y3VycmVudENvbXBvbmVudC5jb21wb25lbnRXaWxsVXBkYXRlID0gZnVuY3Rpb24gKHAsIHMsIGMpIHtcblx0XHRcdFx0aWYgKHRoaXMuX2ZvcmNlKSB7XG5cdFx0XHRcdFx0bGV0IHRtcCA9IHByZXZTY3U7XG5cdFx0XHRcdFx0Ly8gQ2xlYXIgdG8gYXZvaWQgb3RoZXIgc0NVIGhvb2tzIGZyb20gYmVpbmcgY2FsbGVkXG5cdFx0XHRcdFx0cHJldlNjdSA9IHVuZGVmaW5lZDtcblx0XHRcdFx0XHR1cGRhdGVIb29rU3RhdGUocCwgcywgYyk7XG5cdFx0XHRcdFx0cHJldlNjdSA9IHRtcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChwcmV2Q1dVKSBwcmV2Q1dVLmNhbGwodGhpcywgcCwgcywgYyk7XG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBUaGlzIFNDVSBoYXMgdGhlIHB1cnBvc2Ugb2YgYmFpbGluZyBvdXQgYWZ0ZXIgcmVwZWF0ZWQgdXBkYXRlc1xuXHRcdFx0Ly8gdG8gc3RhdGVmdWwgaG9va3MuXG5cdFx0XHQvLyB3ZSBzdG9yZSB0aGUgbmV4dCB2YWx1ZSBpbiBfbmV4dFZhbHVlWzBdIGFuZCBrZWVwIGRvaW5nIHRoYXQgZm9yIGFsbFxuXHRcdFx0Ly8gc3RhdGUgc2V0dGVycywgaWYgd2UgaGF2ZSBuZXh0IHN0YXRlcyBhbmRcblx0XHRcdC8vIGFsbCBuZXh0IHN0YXRlcyB3aXRoaW4gYSBjb21wb25lbnQgZW5kIHVwIGJlaW5nIGVxdWFsIHRvIHRoZWlyIG9yaWdpbmFsIHN0YXRlXG5cdFx0XHQvLyB3ZSBhcmUgc2FmZSB0byBiYWlsIG91dCBmb3IgdGhpcyBzcGVjaWZpYyBjb21wb25lbnQuXG5cdFx0XHQvKipcblx0XHRcdCAqXG5cdFx0XHQgKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50W1wic2hvdWxkQ29tcG9uZW50VXBkYXRlXCJdfVxuXHRcdFx0ICovXG5cdFx0XHQvLyBAdHMtaWdub3JlIC0gV2UgZG9uJ3QgdXNlIFRTIHRvIGRvd250cmFuc3BpbGVcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbm5lci1kZWNsYXJhdGlvbnNcblx0XHRcdGZ1bmN0aW9uIHVwZGF0ZUhvb2tTdGF0ZShwLCBzLCBjKSB7XG5cdFx0XHRcdGlmICghaG9va1N0YXRlLl9jb21wb25lbnQuX19ob29rcykgcmV0dXJuIHRydWU7XG5cblx0XHRcdFx0LyoqIEB0eXBlIHsoeDogaW1wb3J0KCcuL2ludGVybmFsJykuSG9va1N0YXRlKSA9PiB4IGlzIGltcG9ydCgnLi9pbnRlcm5hbCcpLlJlZHVjZXJIb29rU3RhdGV9ICovXG5cdFx0XHRcdGNvbnN0IGlzU3RhdGVIb29rID0geCA9PiAhIXguX2NvbXBvbmVudDtcblx0XHRcdFx0Y29uc3Qgc3RhdGVIb29rcyA9XG5cdFx0XHRcdFx0aG9va1N0YXRlLl9jb21wb25lbnQuX19ob29rcy5fbGlzdC5maWx0ZXIoaXNTdGF0ZUhvb2spO1xuXG5cdFx0XHRcdGNvbnN0IGFsbEhvb2tzRW1wdHkgPSBzdGF0ZUhvb2tzLmV2ZXJ5KHggPT4gIXguX25leHRWYWx1ZSk7XG5cdFx0XHRcdC8vIFdoZW4gd2UgaGF2ZSBubyB1cGRhdGVkIGhvb2tzIGluIHRoZSBjb21wb25lbnQgd2UgaW52b2tlIHRoZSBwcmV2aW91cyBTQ1Ugb3Jcblx0XHRcdFx0Ly8gdHJhdmVyc2UgdGhlIFZET00gdHJlZSBmdXJ0aGVyLlxuXHRcdFx0XHRpZiAoYWxsSG9va3NFbXB0eSkge1xuXHRcdFx0XHRcdHJldHVybiBwcmV2U2N1ID8gcHJldlNjdS5jYWxsKHRoaXMsIHAsIHMsIGMpIDogdHJ1ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFdlIGNoZWNrIHdoZXRoZXIgd2UgaGF2ZSBjb21wb25lbnRzIHdpdGggYSBuZXh0VmFsdWUgc2V0IHRoYXRcblx0XHRcdFx0Ly8gaGF2ZSB2YWx1ZXMgdGhhdCBhcmVuJ3QgZXF1YWwgdG8gb25lIGFub3RoZXIgdGhpcyBwdXNoZXNcblx0XHRcdFx0Ly8gdXMgdG8gdXBkYXRlIGZ1cnRoZXIgZG93biB0aGUgdHJlZVxuXHRcdFx0XHRsZXQgc2hvdWxkVXBkYXRlID0gZmFsc2U7XG5cdFx0XHRcdHN0YXRlSG9va3MuZm9yRWFjaChob29rSXRlbSA9PiB7XG5cdFx0XHRcdFx0aWYgKGhvb2tJdGVtLl9uZXh0VmFsdWUpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGhvb2tJdGVtLl92YWx1ZVswXTtcblx0XHRcdFx0XHRcdGhvb2tJdGVtLl92YWx1ZSA9IGhvb2tJdGVtLl9uZXh0VmFsdWU7XG5cdFx0XHRcdFx0XHRob29rSXRlbS5fbmV4dFZhbHVlID0gdW5kZWZpbmVkO1xuXHRcdFx0XHRcdFx0aWYgKGN1cnJlbnRWYWx1ZSAhPT0gaG9va0l0ZW0uX3ZhbHVlWzBdKSBzaG91bGRVcGRhdGUgPSB0cnVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0cmV0dXJuIHNob3VsZFVwZGF0ZSB8fCBob29rU3RhdGUuX2NvbXBvbmVudC5wcm9wcyAhPT0gcFxuXHRcdFx0XHRcdD8gcHJldlNjdVxuXHRcdFx0XHRcdFx0PyBwcmV2U2N1LmNhbGwodGhpcywgcCwgcywgYylcblx0XHRcdFx0XHRcdDogdHJ1ZVxuXHRcdFx0XHRcdDogZmFsc2U7XG5cdFx0XHR9XG5cblx0XHRcdGN1cnJlbnRDb21wb25lbnQuc2hvdWxkQ29tcG9uZW50VXBkYXRlID0gdXBkYXRlSG9va1N0YXRlO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBob29rU3RhdGUuX25leHRWYWx1ZSB8fCBob29rU3RhdGUuX3ZhbHVlO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuRWZmZWN0fSBjYWxsYmFja1xuICogQHBhcmFtIHt1bmtub3duW119IGFyZ3NcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRWZmZWN0KGNhbGxiYWNrLCBhcmdzKSB7XG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuRWZmZWN0SG9va1N0YXRlfSAqL1xuXHRjb25zdCBzdGF0ZSA9IGdldEhvb2tTdGF0ZShjdXJyZW50SW5kZXgrKywgMyk7XG5cdGlmICghb3B0aW9ucy5fc2tpcEVmZmVjdHMgJiYgYXJnc0NoYW5nZWQoc3RhdGUuX2FyZ3MsIGFyZ3MpKSB7XG5cdFx0c3RhdGUuX3ZhbHVlID0gY2FsbGJhY2s7XG5cdFx0c3RhdGUuX3BlbmRpbmdBcmdzID0gYXJncztcblxuXHRcdGN1cnJlbnRDb21wb25lbnQuX19ob29rcy5fcGVuZGluZ0VmZmVjdHMucHVzaChzdGF0ZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkVmZmVjdH0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7dW5rbm93bltdfSBhcmdzXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUxheW91dEVmZmVjdChjYWxsYmFjaywgYXJncykge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkVmZmVjdEhvb2tTdGF0ZX0gKi9cblx0Y29uc3Qgc3RhdGUgPSBnZXRIb29rU3RhdGUoY3VycmVudEluZGV4KyssIDQpO1xuXHRpZiAoIW9wdGlvbnMuX3NraXBFZmZlY3RzICYmIGFyZ3NDaGFuZ2VkKHN0YXRlLl9hcmdzLCBhcmdzKSkge1xuXHRcdHN0YXRlLl92YWx1ZSA9IGNhbGxiYWNrO1xuXHRcdHN0YXRlLl9wZW5kaW5nQXJncyA9IGFyZ3M7XG5cblx0XHRjdXJyZW50Q29tcG9uZW50Ll9yZW5kZXJDYWxsYmFja3MucHVzaChzdGF0ZSk7XG5cdH1cbn1cblxuLyoqIEB0eXBlIHsoaW5pdGlhbFZhbHVlOiB1bmtub3duKSA9PiB1bmtub3dufSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJlZihpbml0aWFsVmFsdWUpIHtcblx0Y3VycmVudEhvb2sgPSA1O1xuXHRyZXR1cm4gdXNlTWVtbygoKSA9PiAoeyBjdXJyZW50OiBpbml0aWFsVmFsdWUgfSksIFtdKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gcmVmXG4gKiBAcGFyYW0geygpID0+IG9iamVjdH0gY3JlYXRlSGFuZGxlXG4gKiBAcGFyYW0ge3Vua25vd25bXX0gYXJnc1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlSGFuZGxlLCBhcmdzKSB7XG5cdGN1cnJlbnRIb29rID0gNjtcblx0dXNlTGF5b3V0RWZmZWN0KFxuXHRcdCgpID0+IHtcblx0XHRcdGlmICh0eXBlb2YgcmVmID09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0cmVmKGNyZWF0ZUhhbmRsZSgpKTtcblx0XHRcdFx0cmV0dXJuICgpID0+IHJlZihudWxsKTtcblx0XHRcdH0gZWxzZSBpZiAocmVmKSB7XG5cdFx0XHRcdHJlZi5jdXJyZW50ID0gY3JlYXRlSGFuZGxlKCk7XG5cdFx0XHRcdHJldHVybiAoKSA9PiAocmVmLmN1cnJlbnQgPSBudWxsKTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGFyZ3MgPT0gbnVsbCA/IGFyZ3MgOiBhcmdzLmNvbmNhdChyZWYpXG5cdCk7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIHt1bmtub3dufSBUXG4gKiBAcGFyYW0geygpID0+IFR9IGZhY3RvcnlcbiAqIEBwYXJhbSB7dW5rbm93bltdfSBhcmdzXG4gKiBAcmV0dXJucyB7VH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU1lbW8oZmFjdG9yeSwgYXJncykge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLk1lbW9Ib29rU3RhdGU8VD59ICovXG5cdGNvbnN0IHN0YXRlID0gZ2V0SG9va1N0YXRlKGN1cnJlbnRJbmRleCsrLCA3KTtcblx0aWYgKGFyZ3NDaGFuZ2VkKHN0YXRlLl9hcmdzLCBhcmdzKSkge1xuXHRcdHN0YXRlLl92YWx1ZSA9IGZhY3RvcnkoKTtcblx0XHRzdGF0ZS5fYXJncyA9IGFyZ3M7XG5cdFx0c3RhdGUuX2ZhY3RvcnkgPSBmYWN0b3J5O1xuXHR9XG5cblx0cmV0dXJuIHN0YXRlLl92YWx1ZTtcbn1cblxuLyoqXG4gKiBAcGFyYW0geygpID0+IHZvaWR9IGNhbGxiYWNrXG4gKiBAcGFyYW0ge3Vua25vd25bXX0gYXJnc1xuICogQHJldHVybnMgeygpID0+IHZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDYWxsYmFjayhjYWxsYmFjaywgYXJncykge1xuXHRjdXJyZW50SG9vayA9IDg7XG5cdHJldHVybiB1c2VNZW1vKCgpID0+IGNhbGxiYWNrLCBhcmdzKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlByZWFjdENvbnRleHR9IGNvbnRleHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNvbnRleHQoY29udGV4dCkge1xuXHRjb25zdCBwcm92aWRlciA9IGN1cnJlbnRDb21wb25lbnQuY29udGV4dFtjb250ZXh0Ll9pZF07XG5cdC8vIFdlIGNvdWxkIHNraXAgdGhpcyBjYWxsIGhlcmUsIGJ1dCB0aGFuIHdlJ2Qgbm90IGNhbGxcblx0Ly8gYG9wdGlvbnMuX2hvb2tgLiBXZSBuZWVkIHRvIGRvIHRoYXQgaW4gb3JkZXIgdG8gbWFrZVxuXHQvLyB0aGUgZGV2dG9vbHMgYXdhcmUgb2YgdGhpcyBob29rLlxuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbnRleHRIb29rU3RhdGV9ICovXG5cdGNvbnN0IHN0YXRlID0gZ2V0SG9va1N0YXRlKGN1cnJlbnRJbmRleCsrLCA5KTtcblx0Ly8gVGhlIGRldnRvb2xzIG5lZWRzIGFjY2VzcyB0byB0aGUgY29udGV4dCBvYmplY3QgdG9cblx0Ly8gYmUgYWJsZSB0byBwdWxsIG9mIHRoZSBkZWZhdWx0IHZhbHVlIHdoZW4gbm8gcHJvdmlkZXJcblx0Ly8gaXMgcHJlc2VudCBpbiB0aGUgdHJlZS5cblx0c3RhdGUuX2NvbnRleHQgPSBjb250ZXh0O1xuXHRpZiAoIXByb3ZpZGVyKSByZXR1cm4gY29udGV4dC5fZGVmYXVsdFZhbHVlO1xuXHQvLyBUaGlzIGlzIHByb2JhYmx5IG5vdCBzYWZlIHRvIGNvbnZlcnQgdG8gXCIhXCJcblx0aWYgKHN0YXRlLl92YWx1ZSA9PSBudWxsKSB7XG5cdFx0c3RhdGUuX3ZhbHVlID0gdHJ1ZTtcblx0XHRwcm92aWRlci5zdWIoY3VycmVudENvbXBvbmVudCk7XG5cdH1cblx0cmV0dXJuIHByb3ZpZGVyLnByb3BzLnZhbHVlO1xufVxuXG4vKipcbiAqIERpc3BsYXkgYSBjdXN0b20gbGFiZWwgZm9yIGEgY3VzdG9tIGhvb2sgZm9yIHRoZSBkZXZ0b29scyBwYW5lbFxuICogQHR5cGUgezxUPih2YWx1ZTogVCwgY2I/OiAodmFsdWU6IFQpID0+IHN0cmluZyB8IG51bWJlcikgPT4gdm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZURlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlcikge1xuXHRpZiAob3B0aW9ucy51c2VEZWJ1Z1ZhbHVlKSB7XG5cdFx0b3B0aW9ucy51c2VEZWJ1Z1ZhbHVlKFxuXHRcdFx0Zm9ybWF0dGVyID8gZm9ybWF0dGVyKHZhbHVlKSA6IC8qKiBAdHlwZSB7YW55fSovICh2YWx1ZSlcblx0XHQpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHsoZXJyb3I6IHVua25vd24sIGVycm9ySW5mbzogaW1wb3J0KCdwcmVhY3QnKS5FcnJvckluZm8pID0+IHZvaWR9IGNiXG4gKiBAcmV0dXJucyB7W3Vua25vd24sICgpID0+IHZvaWRdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRXJyb3JCb3VuZGFyeShjYikge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkVycm9yQm91bmRhcnlIb29rU3RhdGV9ICovXG5cdGNvbnN0IHN0YXRlID0gZ2V0SG9va1N0YXRlKGN1cnJlbnRJbmRleCsrLCAxMCk7XG5cdGNvbnN0IGVyclN0YXRlID0gdXNlU3RhdGUoKTtcblx0c3RhdGUuX3ZhbHVlID0gY2I7XG5cdGlmICghY3VycmVudENvbXBvbmVudC5jb21wb25lbnREaWRDYXRjaCkge1xuXHRcdGN1cnJlbnRDb21wb25lbnQuY29tcG9uZW50RGlkQ2F0Y2ggPSAoZXJyLCBlcnJvckluZm8pID0+IHtcblx0XHRcdGlmIChzdGF0ZS5fdmFsdWUpIHN0YXRlLl92YWx1ZShlcnIsIGVycm9ySW5mbyk7XG5cdFx0XHRlcnJTdGF0ZVsxXShlcnIpO1xuXHRcdH07XG5cdH1cblx0cmV0dXJuIFtcblx0XHRlcnJTdGF0ZVswXSxcblx0XHQoKSA9PiB7XG5cdFx0XHRlcnJTdGF0ZVsxXSh1bmRlZmluZWQpO1xuXHRcdH1cblx0XTtcbn1cblxuLyoqIEB0eXBlIHsoKSA9PiBzdHJpbmd9ICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSWQoKSB7XG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuSWRIb29rU3RhdGV9ICovXG5cdGNvbnN0IHN0YXRlID0gZ2V0SG9va1N0YXRlKGN1cnJlbnRJbmRleCsrLCAxMSk7XG5cdGlmICghc3RhdGUuX3ZhbHVlKSB7XG5cdFx0Ly8gR3JhYiBlaXRoZXIgdGhlIHJvb3Qgbm9kZSBvciB0aGUgbmVhcmVzdCBhc3luYyBib3VuZGFyeSBub2RlLlxuXHRcdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsLmQnKS5WTm9kZX0gKi9cblx0XHRsZXQgcm9vdCA9IGN1cnJlbnRDb21wb25lbnQuX3Zub2RlO1xuXHRcdHdoaWxlIChyb290ICE9PSBudWxsICYmICFyb290Ll9tYXNrICYmIHJvb3QuX3BhcmVudCAhPT0gbnVsbCkge1xuXHRcdFx0cm9vdCA9IHJvb3QuX3BhcmVudDtcblx0XHR9XG5cblx0XHRsZXQgbWFzayA9IHJvb3QuX21hc2sgfHwgKHJvb3QuX21hc2sgPSBbMCwgMF0pO1xuXHRcdHN0YXRlLl92YWx1ZSA9ICdQJyArIG1hc2tbMF0gKyAnLScgKyBtYXNrWzFdKys7XG5cdH1cblxuXHRyZXR1cm4gc3RhdGUuX3ZhbHVlO1xufVxuXG4vKipcbiAqIEFmdGVyIHBhaW50IGVmZmVjdHMgY29uc3VtZXIuXG4gKi9cbmZ1bmN0aW9uIGZsdXNoQWZ0ZXJQYWludEVmZmVjdHMoKSB7XG5cdGxldCBjb21wb25lbnQ7XG5cdHdoaWxlICgoY29tcG9uZW50ID0gYWZ0ZXJQYWludEVmZmVjdHMuc2hpZnQoKSkpIHtcblx0XHRpZiAoIWNvbXBvbmVudC5fcGFyZW50RG9tIHx8ICFjb21wb25lbnQuX19ob29rcykgY29udGludWU7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbXBvbmVudC5fX2hvb2tzLl9wZW5kaW5nRWZmZWN0cy5mb3JFYWNoKGludm9rZUNsZWFudXApO1xuXHRcdFx0Y29tcG9uZW50Ll9faG9va3MuX3BlbmRpbmdFZmZlY3RzLmZvckVhY2goaW52b2tlRWZmZWN0KTtcblx0XHRcdGNvbXBvbmVudC5fX2hvb2tzLl9wZW5kaW5nRWZmZWN0cyA9IFtdO1xuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdGNvbXBvbmVudC5fX2hvb2tzLl9wZW5kaW5nRWZmZWN0cyA9IFtdO1xuXHRcdFx0b3B0aW9ucy5fY2F0Y2hFcnJvcihlLCBjb21wb25lbnQuX3Zub2RlKTtcblx0XHR9XG5cdH1cbn1cblxubGV0IEhBU19SQUYgPSB0eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lID09ICdmdW5jdGlvbic7XG5cbi8qKlxuICogU2NoZWR1bGUgYSBjYWxsYmFjayB0byBiZSBpbnZva2VkIGFmdGVyIHRoZSBicm93c2VyIGhhcyBhIGNoYW5jZSB0byBwYWludCBhIG5ldyBmcmFtZS5cbiAqIERvIHRoaXMgYnkgY29tYmluaW5nIHJlcXVlc3RBbmltYXRpb25GcmFtZSAockFGKSArIHNldFRpbWVvdXQgdG8gaW52b2tlIGEgY2FsbGJhY2sgYWZ0ZXJcbiAqIHRoZSBuZXh0IGJyb3dzZXIgZnJhbWUuXG4gKlxuICogQWxzbywgc2NoZWR1bGUgYSB0aW1lb3V0IGluIHBhcmFsbGVsIHRvIHRoZSB0aGUgckFGIHRvIGVuc3VyZSB0aGUgY2FsbGJhY2sgaXMgaW52b2tlZFxuICogZXZlbiBpZiBSQUYgZG9lc24ndCBmaXJlIChmb3IgZXhhbXBsZSBpZiB0aGUgYnJvd3NlciB0YWIgaXMgbm90IHZpc2libGUpXG4gKlxuICogQHBhcmFtIHsoKSA9PiB2b2lkfSBjYWxsYmFja1xuICovXG5mdW5jdGlvbiBhZnRlck5leHRGcmFtZShjYWxsYmFjaykge1xuXHRjb25zdCBkb25lID0gKCkgPT4ge1xuXHRcdGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblx0XHRpZiAoSEFTX1JBRikgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmKTtcblx0XHRzZXRUaW1lb3V0KGNhbGxiYWNrKTtcblx0fTtcblx0Y29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoZG9uZSwgUkFGX1RJTUVPVVQpO1xuXG5cdGxldCByYWY7XG5cdGlmIChIQVNfUkFGKSB7XG5cdFx0cmFmID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRvbmUpO1xuXHR9XG59XG5cbi8vIE5vdGU6IGlmIHNvbWVvbmUgdXNlZCBvcHRpb25zLmRlYm91bmNlUmVuZGVyaW5nID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lLFxuLy8gdGhlbiBlZmZlY3RzIHdpbGwgQUxXQVlTIHJ1biBvbiB0aGUgTkVYVCBmcmFtZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IG9uZSwgaW5jdXJyaW5nIGEgfjE2bXMgZGVsYXkuXG4vLyBQZXJoYXBzIHRoaXMgaXMgbm90IHN1Y2ggYSBiaWcgZGVhbC5cbi8qKlxuICogU2NoZWR1bGUgYWZ0ZXJQYWludEVmZmVjdHMgZmx1c2ggYWZ0ZXIgdGhlIGJyb3dzZXIgcGFpbnRzXG4gKiBAcGFyYW0ge251bWJlcn0gbmV3UXVldWVMZW5ndGhcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBhZnRlclBhaW50KG5ld1F1ZXVlTGVuZ3RoKSB7XG5cdGlmIChuZXdRdWV1ZUxlbmd0aCA9PT0gMSB8fCBwcmV2UmFmICE9PSBvcHRpb25zLnJlcXVlc3RBbmltYXRpb25GcmFtZSkge1xuXHRcdHByZXZSYWYgPSBvcHRpb25zLnJlcXVlc3RBbmltYXRpb25GcmFtZTtcblx0XHQocHJldlJhZiB8fCBhZnRlck5leHRGcmFtZSkoZmx1c2hBZnRlclBhaW50RWZmZWN0cyk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkhvb2tTdGF0ZX0gaG9va1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIGludm9rZUNsZWFudXAoaG9vaykge1xuXHQvLyBBIGhvb2sgY2xlYW51cCBjYW4gaW50cm9kdWNlIGEgY2FsbCB0byByZW5kZXIgd2hpY2ggY3JlYXRlcyBhIG5ldyByb290LCB0aGlzIHdpbGwgY2FsbCBvcHRpb25zLnZub2RlXG5cdC8vIGFuZCBtb3ZlIHRoZSBjdXJyZW50Q29tcG9uZW50IGF3YXkuXG5cdGNvbnN0IGNvbXAgPSBjdXJyZW50Q29tcG9uZW50O1xuXHRsZXQgY2xlYW51cCA9IGhvb2suX2NsZWFudXA7XG5cdGlmICh0eXBlb2YgY2xlYW51cCA9PSAnZnVuY3Rpb24nKSB7XG5cdFx0aG9vay5fY2xlYW51cCA9IHVuZGVmaW5lZDtcblx0XHRjbGVhbnVwKCk7XG5cdH1cblxuXHRjdXJyZW50Q29tcG9uZW50ID0gY29tcDtcbn1cblxuLyoqXG4gKiBJbnZva2UgYSBIb29rJ3MgZWZmZWN0XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkVmZmVjdEhvb2tTdGF0ZX0gaG9va1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIGludm9rZUVmZmVjdChob29rKSB7XG5cdC8vIEEgaG9vayBjYWxsIGNhbiBpbnRyb2R1Y2UgYSBjYWxsIHRvIHJlbmRlciB3aGljaCBjcmVhdGVzIGEgbmV3IHJvb3QsIHRoaXMgd2lsbCBjYWxsIG9wdGlvbnMudm5vZGVcblx0Ly8gYW5kIG1vdmUgdGhlIGN1cnJlbnRDb21wb25lbnQgYXdheS5cblx0Y29uc3QgY29tcCA9IGN1cnJlbnRDb21wb25lbnQ7XG5cdGhvb2suX2NsZWFudXAgPSBob29rLl92YWx1ZSgpO1xuXHRjdXJyZW50Q29tcG9uZW50ID0gY29tcDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3Vua25vd25bXX0gb2xkQXJnc1xuICogQHBhcmFtIHt1bmtub3duW119IG5ld0FyZ3NcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBhcmdzQ2hhbmdlZChvbGRBcmdzLCBuZXdBcmdzKSB7XG5cdHJldHVybiAoXG5cdFx0IW9sZEFyZ3MgfHxcblx0XHRvbGRBcmdzLmxlbmd0aCAhPT0gbmV3QXJncy5sZW5ndGggfHxcblx0XHRuZXdBcmdzLnNvbWUoKGFyZywgaW5kZXgpID0+IGFyZyAhPT0gb2xkQXJnc1tpbmRleF0pXG5cdCk7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIEFyZ1xuICogQHBhcmFtIHtBcmd9IGFyZ1xuICogQHBhcmFtIHsoYXJnOiBBcmcpID0+IGFueX0gZlxuICogQHJldHVybnMge2FueX1cbiAqL1xuZnVuY3Rpb24gaW52b2tlT3JSZXR1cm4oYXJnLCBmKSB7XG5cdHJldHVybiB0eXBlb2YgZiA9PSAnZnVuY3Rpb24nID8gZihhcmcpIDogZjtcbn1cbiIsICIvKipcbiAqIEFzc2lnbiBwcm9wZXJ0aWVzIGZyb20gYHByb3BzYCB0byBgb2JqYFxuICogQHRlbXBsYXRlIE8sIFAgVGhlIG9iaiBhbmQgcHJvcHMgdHlwZXNcbiAqIEBwYXJhbSB7T30gb2JqIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIHRvXG4gKiBAcGFyYW0ge1B9IHByb3BzIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb21cbiAqIEByZXR1cm5zIHtPICYgUH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbihvYmosIHByb3BzKSB7XG5cdGZvciAobGV0IGkgaW4gcHJvcHMpIG9ialtpXSA9IHByb3BzW2ldO1xuXHRyZXR1cm4gLyoqIEB0eXBlIHtPICYgUH0gKi8gKG9iaik7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIG9iamVjdHMgaGF2ZSBhIGRpZmZlcmVudCBzaGFwZVxuICogQHBhcmFtIHtvYmplY3R9IGFcbiAqIEBwYXJhbSB7b2JqZWN0fSBiXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNoYWxsb3dEaWZmZXJzKGEsIGIpIHtcblx0Zm9yIChsZXQgaSBpbiBhKSBpZiAoaSAhPT0gJ19fc291cmNlJyAmJiAhKGkgaW4gYikpIHJldHVybiB0cnVlO1xuXHRmb3IgKGxldCBpIGluIGIpIGlmIChpICE9PSAnX19zb3VyY2UnICYmIGFbaV0gIT09IGJbaV0pIHJldHVybiB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIHZhbHVlcyBhcmUgdGhlIHNhbWUgdmFsdWVcbiAqIEBwYXJhbSB7Kn0geFxuICogQHBhcmFtIHsqfSB5XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzKHgsIHkpIHtcblx0cmV0dXJuICh4ID09PSB5ICYmICh4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geSkpIHx8ICh4ICE9PSB4ICYmIHkgIT09IHkpO1xufVxuIiwgImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBzaGFsbG93RGlmZmVycyB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogQ29tcG9uZW50IGNsYXNzIHdpdGggYSBwcmVkZWZpbmVkIGBzaG91bGRDb21wb25lbnRVcGRhdGVgIGltcGxlbWVudGF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBQdXJlQ29tcG9uZW50KHAsIGMpIHtcblx0dGhpcy5wcm9wcyA9IHA7XG5cdHRoaXMuY29udGV4dCA9IGM7XG59XG5QdXJlQ29tcG9uZW50LnByb3RvdHlwZSA9IG5ldyBDb21wb25lbnQoKTtcbi8vIFNvbWUgdGhpcmQtcGFydHkgbGlicmFyaWVzIGNoZWNrIGlmIHRoaXMgcHJvcGVydHkgaXMgcHJlc2VudFxuUHVyZUNvbXBvbmVudC5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuUHVyZUNvbXBvbmVudC5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlID0gZnVuY3Rpb24gKHByb3BzLCBzdGF0ZSkge1xuXHRyZXR1cm4gc2hhbGxvd0RpZmZlcnModGhpcy5wcm9wcywgcHJvcHMpIHx8IHNoYWxsb3dEaWZmZXJzKHRoaXMuc3RhdGUsIHN0YXRlKTtcbn07XG4iLCAiaW1wb3J0IHsgY3JlYXRlRWxlbWVudCB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBzaGFsbG93RGlmZmVycyB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogTWVtb2l6ZSBhIGNvbXBvbmVudCwgc28gdGhhdCBpdCBvbmx5IHVwZGF0ZXMgd2hlbiB0aGUgcHJvcHMgYWN0dWFsbHkgaGF2ZVxuICogY2hhbmdlZC4gVGhpcyB3YXMgcHJldmlvdXNseSBrbm93biBhcyBgUmVhY3QucHVyZWAuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkZ1bmN0aW9uQ29tcG9uZW50fSBjIGZ1bmN0aW9uYWwgY29tcG9uZW50XG4gKiBAcGFyYW0geyhwcmV2OiBvYmplY3QsIG5leHQ6IG9iamVjdCkgPT4gYm9vbGVhbn0gW2NvbXBhcmVyXSBDdXN0b20gZXF1YWxpdHkgZnVuY3Rpb25cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5GdW5jdGlvbkNvbXBvbmVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lbW8oYywgY29tcGFyZXIpIHtcblx0ZnVuY3Rpb24gc2hvdWxkVXBkYXRlKG5leHRQcm9wcykge1xuXHRcdGxldCByZWYgPSB0aGlzLnByb3BzLnJlZjtcblx0XHRsZXQgdXBkYXRlUmVmID0gcmVmID09IG5leHRQcm9wcy5yZWY7XG5cdFx0aWYgKCF1cGRhdGVSZWYgJiYgcmVmKSB7XG5cdFx0XHRyZWYuY2FsbCA/IHJlZihudWxsKSA6IChyZWYuY3VycmVudCA9IG51bGwpO1xuXHRcdH1cblxuXHRcdGlmICghY29tcGFyZXIpIHtcblx0XHRcdHJldHVybiBzaGFsbG93RGlmZmVycyh0aGlzLnByb3BzLCBuZXh0UHJvcHMpO1xuXHRcdH1cblxuXHRcdHJldHVybiAhY29tcGFyZXIodGhpcy5wcm9wcywgbmV4dFByb3BzKSB8fCAhdXBkYXRlUmVmO1xuXHR9XG5cblx0ZnVuY3Rpb24gTWVtb2VkKHByb3BzKSB7XG5cdFx0dGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBzaG91bGRVcGRhdGU7XG5cdFx0cmV0dXJuIGNyZWF0ZUVsZW1lbnQoYywgcHJvcHMpO1xuXHR9XG5cdE1lbW9lZC5kaXNwbGF5TmFtZSA9ICdNZW1vKCcgKyAoYy5kaXNwbGF5TmFtZSB8fCBjLm5hbWUpICsgJyknO1xuXHRNZW1vZWQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuXHRNZW1vZWQuX2ZvcndhcmRlZCA9IHRydWU7XG5cdHJldHVybiBNZW1vZWQ7XG59XG4iLCAiaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJ3ByZWFjdCc7XG5cbmxldCBvbGREaWZmSG9vayA9IG9wdGlvbnMuX2RpZmY7XG5vcHRpb25zLl9kaWZmID0gdm5vZGUgPT4ge1xuXHRpZiAodm5vZGUudHlwZSAmJiB2bm9kZS50eXBlLl9mb3J3YXJkZWQgJiYgdm5vZGUucmVmKSB7XG5cdFx0dm5vZGUucHJvcHMucmVmID0gdm5vZGUucmVmO1xuXHRcdHZub2RlLnJlZiA9IG51bGw7XG5cdH1cblx0aWYgKG9sZERpZmZIb29rKSBvbGREaWZmSG9vayh2bm9kZSk7XG59O1xuXG5leHBvcnQgY29uc3QgUkVBQ1RfRk9SV0FSRF9TWU1CT0wgPVxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJlxuXHRcdFN5bWJvbC5mb3IgJiZcblx0XHRTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpKSB8fFxuXHQweGY0NztcblxuLyoqXG4gKiBQYXNzIHJlZiBkb3duIHRvIGEgY2hpbGQuIFRoaXMgaXMgbWFpbmx5IHVzZWQgaW4gbGlicmFyaWVzIHdpdGggSE9DcyB0aGF0XG4gKiB3cmFwIGNvbXBvbmVudHMuIFVzaW5nIGBmb3J3YXJkUmVmYCB0aGVyZSBpcyBhbiBlYXN5IHdheSB0byBnZXQgYSByZWZlcmVuY2VcbiAqIG9mIHRoZSB3cmFwcGVkIGNvbXBvbmVudCBpbnN0ZWFkIG9mIG9uZSBvZiB0aGUgd3JhcHBlciBpdHNlbGYuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbmRleCcpLkZvcndhcmRGbn0gZm5cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5GdW5jdGlvbkNvbXBvbmVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcndhcmRSZWYoZm4pIHtcblx0ZnVuY3Rpb24gRm9yd2FyZGVkKHByb3BzKSB7XG5cdFx0aWYgKCEoJ3JlZicgaW4gcHJvcHMpKSByZXR1cm4gZm4ocHJvcHMsIG51bGwpO1xuXG5cdFx0bGV0IHJlZiA9IHByb3BzLnJlZjtcblx0XHRkZWxldGUgcHJvcHMucmVmO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGZuKHByb3BzLCByZWYpO1xuXHRcdHByb3BzLnJlZiA9IHJlZjtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0Ly8gbW9ieC1yZWFjdCBjaGVja3MgZm9yIHRoaXMgYmVpbmcgcHJlc2VudFxuXHRGb3J3YXJkZWQuJCR0eXBlb2YgPSBSRUFDVF9GT1JXQVJEX1NZTUJPTDtcblx0Ly8gbW9ieC1yZWFjdCBoZWF2aWx5IHJlbGllcyBvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLlxuXHQvLyBJdCBleHBlY3RzIGFuIG9iamVjdCBoZXJlIHdpdGggYSBgcmVuZGVyYCBwcm9wZXJ0eSxcblx0Ly8gYW5kIHByb3RvdHlwZS5yZW5kZXIgd2lsbCBmYWlsLiBXaXRob3V0IHRoaXNcblx0Ly8gbW9ieC1yZWFjdCB0aHJvd3MuXG5cdEZvcndhcmRlZC5yZW5kZXIgPSBGb3J3YXJkZWQ7XG5cblx0Rm9yd2FyZGVkLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0gRm9yd2FyZGVkLl9mb3J3YXJkZWQgPSB0cnVlO1xuXHRGb3J3YXJkZWQuZGlzcGxheU5hbWUgPSAnRm9yd2FyZFJlZignICsgKGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUpICsgJyknO1xuXHRyZXR1cm4gRm9yd2FyZGVkO1xufVxuIiwgImltcG9ydCB7IHRvQ2hpbGRBcnJheSB9IGZyb20gJ3ByZWFjdCc7XG5cbmNvbnN0IG1hcEZuID0gKGNoaWxkcmVuLCBmbikgPT4ge1xuXHRpZiAoY2hpbGRyZW4gPT0gbnVsbCkgcmV0dXJuIG51bGw7XG5cdHJldHVybiB0b0NoaWxkQXJyYXkodG9DaGlsZEFycmF5KGNoaWxkcmVuKS5tYXAoZm4pKTtcbn07XG5cbi8vIFRoaXMgQVBJIGlzIGNvbXBsZXRlbHkgdW5uZWNlc3NhcnkgZm9yIFByZWFjdCwgc28gaXQncyBiYXNpY2FsbHkgcGFzc3Rocm91Z2guXG5leHBvcnQgY29uc3QgQ2hpbGRyZW4gPSB7XG5cdG1hcDogbWFwRm4sXG5cdGZvckVhY2g6IG1hcEZuLFxuXHRjb3VudChjaGlsZHJlbikge1xuXHRcdHJldHVybiBjaGlsZHJlbiA/IHRvQ2hpbGRBcnJheShjaGlsZHJlbikubGVuZ3RoIDogMDtcblx0fSxcblx0b25seShjaGlsZHJlbikge1xuXHRcdGNvbnN0IG5vcm1hbGl6ZWQgPSB0b0NoaWxkQXJyYXkoY2hpbGRyZW4pO1xuXHRcdGlmIChub3JtYWxpemVkLmxlbmd0aCAhPT0gMSkgdGhyb3cgJ0NoaWxkcmVuLm9ubHknO1xuXHRcdHJldHVybiBub3JtYWxpemVkWzBdO1xuXHR9LFxuXHR0b0FycmF5OiB0b0NoaWxkQXJyYXlcbn07XG4iLCAiaW1wb3J0IHsgQ29tcG9uZW50LCBjcmVhdGVFbGVtZW50LCBvcHRpb25zLCBGcmFnbWVudCB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBNT0RFX0hZRFJBVEUgfSBmcm9tICcuLi8uLi9zcmMvY29uc3RhbnRzJztcbmltcG9ydCB7IGFzc2lnbiB9IGZyb20gJy4vdXRpbCc7XG5cbmNvbnN0IG9sZENhdGNoRXJyb3IgPSBvcHRpb25zLl9jYXRjaEVycm9yO1xub3B0aW9ucy5fY2F0Y2hFcnJvciA9IGZ1bmN0aW9uIChlcnJvciwgbmV3Vk5vZGUsIG9sZFZOb2RlLCBlcnJvckluZm8pIHtcblx0aWYgKGVycm9yLnRoZW4pIHtcblx0XHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0XHRsZXQgY29tcG9uZW50O1xuXHRcdGxldCB2bm9kZSA9IG5ld1ZOb2RlO1xuXG5cdFx0Zm9yICg7ICh2bm9kZSA9IHZub2RlLl9wYXJlbnQpOyApIHtcblx0XHRcdGlmICgoY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudCkgJiYgY29tcG9uZW50Ll9jaGlsZERpZFN1c3BlbmQpIHtcblx0XHRcdFx0aWYgKG5ld1ZOb2RlLl9kb20gPT0gbnVsbCkge1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9kb20gPSBvbGRWTm9kZS5fZG9tO1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9jaGlsZHJlbiA9IG9sZFZOb2RlLl9jaGlsZHJlbjtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBEb24ndCBjYWxsIG9sZENhdGNoRXJyb3IgaWYgd2UgZm91bmQgYSBTdXNwZW5zZVxuXHRcdFx0XHRyZXR1cm4gY29tcG9uZW50Ll9jaGlsZERpZFN1c3BlbmQoZXJyb3IsIG5ld1ZOb2RlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0b2xkQ2F0Y2hFcnJvcihlcnJvciwgbmV3Vk5vZGUsIG9sZFZOb2RlLCBlcnJvckluZm8pO1xufTtcblxuY29uc3Qgb2xkVW5tb3VudCA9IG9wdGlvbnMudW5tb3VudDtcbm9wdGlvbnMudW5tb3VudCA9IGZ1bmN0aW9uICh2bm9kZSkge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0Y29uc3QgY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudDtcblx0aWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnQuX29uUmVzb2x2ZSkge1xuXHRcdGNvbXBvbmVudC5fb25SZXNvbHZlKCk7XG5cdH1cblxuXHQvLyBpZiB0aGUgY29tcG9uZW50IGlzIHN0aWxsIGh5ZHJhdGluZ1xuXHQvLyBtb3N0IGxpa2VseSBpdCBpcyBiZWNhdXNlIHRoZSBjb21wb25lbnQgaXMgc3VzcGVuZGVkXG5cdC8vIHdlIHNldCB0aGUgdm5vZGUudHlwZSBhcyBgbnVsbGAgc28gdGhhdCBpdCBpcyBub3QgYSB0eXBlb2YgZnVuY3Rpb25cblx0Ly8gc28gdGhlIHVubW91bnQgd2lsbCByZW1vdmUgdGhlIHZub2RlLl9kb21cblx0aWYgKGNvbXBvbmVudCAmJiB2bm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUpIHtcblx0XHR2bm9kZS50eXBlID0gbnVsbDtcblx0fVxuXG5cdGlmIChvbGRVbm1vdW50KSBvbGRVbm1vdW50KHZub2RlKTtcbn07XG5cbmZ1bmN0aW9uIGRldGFjaGVkQ2xvbmUodm5vZGUsIGRldGFjaGVkUGFyZW50LCBwYXJlbnREb20pIHtcblx0aWYgKHZub2RlKSB7XG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQgJiYgdm5vZGUuX2NvbXBvbmVudC5fX2hvb2tzKSB7XG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9faG9va3MuX2xpc3QuZm9yRWFjaChlZmZlY3QgPT4ge1xuXHRcdFx0XHRpZiAodHlwZW9mIGVmZmVjdC5fY2xlYW51cCA9PSAnZnVuY3Rpb24nKSBlZmZlY3QuX2NsZWFudXAoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9faG9va3MgPSBudWxsO1xuXHRcdH1cblxuXHRcdHZub2RlID0gYXNzaWduKHt9LCB2bm9kZSk7XG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQgIT0gbnVsbCkge1xuXHRcdFx0aWYgKHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9PT0gcGFyZW50RG9tKSB7XG5cdFx0XHRcdHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9IGRldGFjaGVkUGFyZW50O1xuXHRcdFx0fVxuXHRcdFx0dm5vZGUuX2NvbXBvbmVudCA9IG51bGw7XG5cdFx0fVxuXG5cdFx0dm5vZGUuX2NoaWxkcmVuID1cblx0XHRcdHZub2RlLl9jaGlsZHJlbiAmJlxuXHRcdFx0dm5vZGUuX2NoaWxkcmVuLm1hcChjaGlsZCA9PlxuXHRcdFx0XHRkZXRhY2hlZENsb25lKGNoaWxkLCBkZXRhY2hlZFBhcmVudCwgcGFyZW50RG9tKVxuXHRcdFx0KTtcblx0fVxuXG5cdHJldHVybiB2bm9kZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlT3JpZ2luYWwodm5vZGUsIGRldGFjaGVkUGFyZW50LCBvcmlnaW5hbFBhcmVudCkge1xuXHRpZiAodm5vZGUgJiYgb3JpZ2luYWxQYXJlbnQpIHtcblx0XHR2bm9kZS5fb3JpZ2luYWwgPSBudWxsO1xuXHRcdHZub2RlLl9jaGlsZHJlbiA9XG5cdFx0XHR2bm9kZS5fY2hpbGRyZW4gJiZcblx0XHRcdHZub2RlLl9jaGlsZHJlbi5tYXAoY2hpbGQgPT5cblx0XHRcdFx0cmVtb3ZlT3JpZ2luYWwoY2hpbGQsIGRldGFjaGVkUGFyZW50LCBvcmlnaW5hbFBhcmVudClcblx0XHRcdCk7XG5cblx0XHRpZiAodm5vZGUuX2NvbXBvbmVudCkge1xuXHRcdFx0aWYgKHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9PT0gZGV0YWNoZWRQYXJlbnQpIHtcblx0XHRcdFx0aWYgKHZub2RlLl9kb20pIHtcblx0XHRcdFx0XHRvcmlnaW5hbFBhcmVudC5hcHBlbmRDaGlsZCh2bm9kZS5fZG9tKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9mb3JjZSA9IHRydWU7XG5cdFx0XHRcdHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9IG9yaWdpbmFsUGFyZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiB2bm9kZTtcbn1cblxuLy8gaGF2aW5nIGN1c3RvbSBpbmhlcml0YW5jZSBpbnN0ZWFkIG9mIGEgY2xhc3MgaGVyZSBzYXZlcyBhIGxvdCBvZiBieXRlc1xuZXhwb3J0IGZ1bmN0aW9uIFN1c3BlbnNlKCkge1xuXHQvLyB3ZSBkbyBub3QgY2FsbCBzdXBlciBoZXJlIHRvIGdvbGYgc29tZSBieXRlcy4uLlxuXHR0aGlzLl9wZW5kaW5nU3VzcGVuc2lvbkNvdW50ID0gMDtcblx0dGhpcy5fc3VzcGVuZGVycyA9IG51bGw7XG5cdHRoaXMuX2RldGFjaE9uTmV4dFJlbmRlciA9IG51bGw7XG59XG5cbi8vIFRoaW5ncyB3ZSBkbyBoZXJlIHRvIHNhdmUgc29tZSBieXRlcyBidXQgYXJlIG5vdCBwcm9wZXIgSlMgaW5oZXJpdGFuY2U6XG4vLyAtIGNhbGwgYG5ldyBDb21wb25lbnQoKWAgYXMgdGhlIHByb3RvdHlwZVxuLy8gLSBkbyBub3Qgc2V0IGBTdXNwZW5zZS5wcm90b3R5cGUuY29uc3RydWN0b3JgIHRvIGBTdXNwZW5zZWBcblN1c3BlbnNlLnByb3RvdHlwZSA9IG5ldyBDb21wb25lbnQoKTtcblxuLyoqXG4gKiBAdGhpcyB7aW1wb3J0KCcuL2ludGVybmFsJykuU3VzcGVuc2VDb21wb25lbnR9XG4gKiBAcGFyYW0ge1Byb21pc2V9IHByb21pc2UgVGhlIHRocm93biBwcm9taXNlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlPGFueSwgYW55Pn0gc3VzcGVuZGluZ1ZOb2RlIFRoZSBzdXNwZW5kaW5nIGNvbXBvbmVudFxuICovXG5TdXNwZW5zZS5wcm90b3R5cGUuX2NoaWxkRGlkU3VzcGVuZCA9IGZ1bmN0aW9uIChwcm9taXNlLCBzdXNwZW5kaW5nVk5vZGUpIHtcblx0Y29uc3Qgc3VzcGVuZGluZ0NvbXBvbmVudCA9IHN1c3BlbmRpbmdWTm9kZS5fY29tcG9uZW50O1xuXG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuU3VzcGVuc2VDb21wb25lbnR9ICovXG5cdGNvbnN0IGMgPSB0aGlzO1xuXG5cdGlmIChjLl9zdXNwZW5kZXJzID09IG51bGwpIHtcblx0XHRjLl9zdXNwZW5kZXJzID0gW107XG5cdH1cblx0Yy5fc3VzcGVuZGVycy5wdXNoKHN1c3BlbmRpbmdDb21wb25lbnQpO1xuXG5cdGNvbnN0IHJlc29sdmUgPSBzdXNwZW5kZWQoYy5fdm5vZGUpO1xuXG5cdGxldCByZXNvbHZlZCA9IGZhbHNlO1xuXHRjb25zdCBvblJlc29sdmVkID0gKCkgPT4ge1xuXHRcdGlmIChyZXNvbHZlZCkgcmV0dXJuO1xuXG5cdFx0cmVzb2x2ZWQgPSB0cnVlO1xuXHRcdHN1c3BlbmRpbmdDb21wb25lbnQuX29uUmVzb2x2ZSA9IG51bGw7XG5cblx0XHRpZiAocmVzb2x2ZSkge1xuXHRcdFx0cmVzb2x2ZShvblN1c3BlbnNpb25Db21wbGV0ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG9uU3VzcGVuc2lvbkNvbXBsZXRlKCk7XG5cdFx0fVxuXHR9O1xuXG5cdHN1c3BlbmRpbmdDb21wb25lbnQuX29uUmVzb2x2ZSA9IG9uUmVzb2x2ZWQ7XG5cblx0Y29uc3Qgb25TdXNwZW5zaW9uQ29tcGxldGUgPSAoKSA9PiB7XG5cdFx0aWYgKCEtLWMuX3BlbmRpbmdTdXNwZW5zaW9uQ291bnQpIHtcblx0XHRcdC8vIElmIHRoZSBzdXNwZW5zaW9uIHdhcyBkdXJpbmcgaHlkcmF0aW9uIHdlIGRvbid0IG5lZWQgdG8gcmVzdG9yZSB0aGVcblx0XHRcdC8vIHN1c3BlbmRlZCBjaGlsZHJlbiBpbnRvIHRoZSBfY2hpbGRyZW4gYXJyYXlcblx0XHRcdGlmIChjLnN0YXRlLl9zdXNwZW5kZWQpIHtcblx0XHRcdFx0Y29uc3Qgc3VzcGVuZGVkVk5vZGUgPSBjLnN0YXRlLl9zdXNwZW5kZWQ7XG5cdFx0XHRcdGMuX3Zub2RlLl9jaGlsZHJlblswXSA9IHJlbW92ZU9yaWdpbmFsKFxuXHRcdFx0XHRcdHN1c3BlbmRlZFZOb2RlLFxuXHRcdFx0XHRcdHN1c3BlbmRlZFZOb2RlLl9jb21wb25lbnQuX3BhcmVudERvbSxcblx0XHRcdFx0XHRzdXNwZW5kZWRWTm9kZS5fY29tcG9uZW50Ll9vcmlnaW5hbFBhcmVudERvbVxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXG5cdFx0XHRjLnNldFN0YXRlKHsgX3N1c3BlbmRlZDogKGMuX2RldGFjaE9uTmV4dFJlbmRlciA9IG51bGwpIH0pO1xuXG5cdFx0XHRsZXQgc3VzcGVuZGVkO1xuXHRcdFx0d2hpbGUgKChzdXNwZW5kZWQgPSBjLl9zdXNwZW5kZXJzLnBvcCgpKSkge1xuXHRcdFx0XHRzdXNwZW5kZWQuZm9yY2VVcGRhdGUoKTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIFdlIGRvIG5vdCBzZXQgYHN1c3BlbmRlZDogdHJ1ZWAgZHVyaW5nIGh5ZHJhdGlvbiBiZWNhdXNlIHdlIHdhbnQgdGhlIGFjdHVhbCBtYXJrdXBcblx0ICogdG8gcmVtYWluIG9uIHNjcmVlbiBhbmQgaHlkcmF0ZSBpdCB3aGVuIHRoZSBzdXNwZW5zZSBhY3R1YWxseSBnZXRzIHJlc29sdmVkLlxuXHQgKiBXaGlsZSBpbiBub24taHlkcmF0aW9uIGNhc2VzIHRoZSB1c3VhbCBmYWxsYmFjayAtPiBjb21wb25lbnQgZmxvdyB3b3VsZCBvY2NvdXIuXG5cdCAqL1xuXHRpZiAoXG5cdFx0IWMuX3BlbmRpbmdTdXNwZW5zaW9uQ291bnQrKyAmJlxuXHRcdCEoc3VzcGVuZGluZ1ZOb2RlLl9mbGFncyAmIE1PREVfSFlEUkFURSlcblx0KSB7XG5cdFx0Yy5zZXRTdGF0ZSh7IF9zdXNwZW5kZWQ6IChjLl9kZXRhY2hPbk5leHRSZW5kZXIgPSBjLl92bm9kZS5fY2hpbGRyZW5bMF0pIH0pO1xuXHR9XG5cdHByb21pc2UudGhlbihvblJlc29sdmVkLCBvblJlc29sdmVkKTtcbn07XG5cblN1c3BlbnNlLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudCA9IGZ1bmN0aW9uICgpIHtcblx0dGhpcy5fc3VzcGVuZGVycyA9IFtdO1xufTtcblxuLyoqXG4gKiBAdGhpcyB7aW1wb3J0KCcuL2ludGVybmFsJykuU3VzcGVuc2VDb21wb25lbnR9XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlQ29tcG9uZW50W1wicHJvcHNcIl19IHByb3BzXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlU3RhdGV9IHN0YXRlXG4gKi9cblN1c3BlbnNlLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAocHJvcHMsIHN0YXRlKSB7XG5cdGlmICh0aGlzLl9kZXRhY2hPbk5leHRSZW5kZXIpIHtcblx0XHQvLyBXaGVuIHRoZSBTdXNwZW5zZSdzIF92bm9kZSB3YXMgY3JlYXRlZCBieSBhIGNhbGwgdG8gY3JlYXRlVk5vZGVcblx0XHQvLyAoaS5lLiBkdWUgdG8gYSBzZXRTdGF0ZSBmdXJ0aGVyIHVwIGluIHRoZSB0cmVlKVxuXHRcdC8vIGl0J3MgX2NoaWxkcmVuIHByb3AgaXMgbnVsbCwgaW4gdGhpcyBjYXNlIHdlIFwiZm9yZ2V0XCIgYWJvdXQgdGhlIHBhcmtlZCB2bm9kZXMgdG8gZGV0YWNoXG5cdFx0aWYgKHRoaXMuX3Zub2RlLl9jaGlsZHJlbikge1xuXHRcdFx0Y29uc3QgZGV0YWNoZWRQYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblx0XHRcdGNvbnN0IGRldGFjaGVkQ29tcG9uZW50ID0gdGhpcy5fdm5vZGUuX2NoaWxkcmVuWzBdLl9jb21wb25lbnQ7XG5cdFx0XHR0aGlzLl92bm9kZS5fY2hpbGRyZW5bMF0gPSBkZXRhY2hlZENsb25lKFxuXHRcdFx0XHR0aGlzLl9kZXRhY2hPbk5leHRSZW5kZXIsXG5cdFx0XHRcdGRldGFjaGVkUGFyZW50LFxuXHRcdFx0XHQoZGV0YWNoZWRDb21wb25lbnQuX29yaWdpbmFsUGFyZW50RG9tID0gZGV0YWNoZWRDb21wb25lbnQuX3BhcmVudERvbSlcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5fZGV0YWNoT25OZXh0UmVuZGVyID0gbnVsbDtcblx0fVxuXG5cdC8vIFdyYXAgZmFsbGJhY2sgdHJlZSBpbiBhIFZOb2RlIHRoYXQgcHJldmVudHMgaXRzZWxmIGZyb20gYmVpbmcgbWFya2VkIGFzIGFib3J0aW5nIG1pZC1oeWRyYXRpb246XG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGV9ICovXG5cdGNvbnN0IGZhbGxiYWNrID1cblx0XHRzdGF0ZS5fc3VzcGVuZGVkICYmIGNyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIG51bGwsIHByb3BzLmZhbGxiYWNrKTtcblx0aWYgKGZhbGxiYWNrKSBmYWxsYmFjay5fZmxhZ3MgJj0gfk1PREVfSFlEUkFURTtcblxuXHRyZXR1cm4gW1xuXHRcdGNyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIG51bGwsIHN0YXRlLl9zdXNwZW5kZWQgPyBudWxsIDogcHJvcHMuY2hpbGRyZW4pLFxuXHRcdGZhbGxiYWNrXG5cdF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBhbmQgY2FsbHMgdGhlIHBhcmVudCBjb21wb25lbnQncyBfc3VzcGVuZGVkIG1ldGhvZCwgcGFzc2luZyBpbiB0aGVcbiAqIHN1c3BlbmRlZCB2bm9kZS4gVGhpcyBpcyBhIHdheSBmb3IgYSBwYXJlbnQgKGUuZy4gU3VzcGVuc2VMaXN0KSB0byBnZXQgbm90aWZpZWRcbiAqIHRoYXQgb25lIG9mIGl0cyBjaGlsZHJlbi9kZXNjZW5kYW50cyBzdXNwZW5kZWQuXG4gKlxuICogVGhlIHBhcmVudCBNQVkgcmV0dXJuIGEgY2FsbGJhY2suIFRoZSBjYWxsYmFjayB3aWxsIGdldCBjYWxsZWQgd2hlbiB0aGVcbiAqIHN1c3BlbnNpb24gcmVzb2x2ZXMsIG5vdGlmeWluZyB0aGUgcGFyZW50IG9mIHRoZSBmYWN0LlxuICogTW9yZW92ZXIsIHRoZSBjYWxsYmFjayBnZXRzIGZ1bmN0aW9uIGB1bnN1c3BlbmRgIGFzIGEgcGFyYW1ldGVyLiBUaGUgcmVzb2x2ZWRcbiAqIGNoaWxkIGRlc2NlbmRhbnQgd2lsbCBub3QgYWN0dWFsbHkgZ2V0IHVuc3VzcGVuZGVkIHVudGlsIGB1bnN1c3BlbmRgIGdldHMgY2FsbGVkLlxuICogVGhpcyBpcyBhIHdheSBmb3IgdGhlIHBhcmVudCB0byBkZWxheSB1bnN1c3BlbmRpbmcuXG4gKlxuICogSWYgdGhlIHBhcmVudCBkb2VzIG5vdCByZXR1cm4gYSBjYWxsYmFjayB0aGVuIHRoZSByZXNvbHZlZCB2bm9kZVxuICogZ2V0cyB1bnN1c3BlbmRlZCBpbW1lZGlhdGVseSB3aGVuIGl0IHJlc29sdmVzLlxuICpcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGV9IHZub2RlXG4gKiBAcmV0dXJucyB7KCh1bnN1c3BlbmQ6ICgpID0+IHZvaWQpID0+IHZvaWQpP31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1c3BlbmRlZCh2bm9kZSkge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0bGV0IGNvbXBvbmVudCA9IHZub2RlLl9wYXJlbnQuX2NvbXBvbmVudDtcblx0cmV0dXJuIGNvbXBvbmVudCAmJiBjb21wb25lbnQuX3N1c3BlbmRlZCAmJiBjb21wb25lbnQuX3N1c3BlbmRlZCh2bm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYXp5KGxvYWRlcikge1xuXHRsZXQgcHJvbTtcblx0bGV0IGNvbXBvbmVudDtcblx0bGV0IGVycm9yO1xuXG5cdGZ1bmN0aW9uIExhenkocHJvcHMpIHtcblx0XHRpZiAoIXByb20pIHtcblx0XHRcdHByb20gPSBsb2FkZXIoKTtcblx0XHRcdHByb20udGhlbihcblx0XHRcdFx0ZXhwb3J0cyA9PiB7XG5cdFx0XHRcdFx0Y29tcG9uZW50ID0gZXhwb3J0cy5kZWZhdWx0IHx8IGV4cG9ydHM7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGUgPT4ge1xuXHRcdFx0XHRcdGVycm9yID0gZTtcblx0XHRcdFx0fVxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRpZiAoZXJyb3IpIHtcblx0XHRcdHRocm93IGVycm9yO1xuXHRcdH1cblxuXHRcdGlmICghY29tcG9uZW50KSB7XG5cdFx0XHR0aHJvdyBwcm9tO1xuXHRcdH1cblxuXHRcdHJldHVybiBjcmVhdGVFbGVtZW50KGNvbXBvbmVudCwgcHJvcHMpO1xuXHR9XG5cblx0TGF6eS5kaXNwbGF5TmFtZSA9ICdMYXp5Jztcblx0TGF6eS5fZm9yd2FyZGVkID0gdHJ1ZTtcblx0cmV0dXJuIExhenk7XG59XG4iLCAiaW1wb3J0IHsgQ29tcG9uZW50LCB0b0NoaWxkQXJyYXkgfSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHsgc3VzcGVuZGVkIH0gZnJvbSAnLi9zdXNwZW5zZS5qcyc7XG5cbi8vIEluZGV4ZXMgdG8gbGlua2VkIGxpc3Qgbm9kZXMgKG5vZGVzIGFyZSBzdG9yZWQgYXMgYXJyYXlzIHRvIHNhdmUgYnl0ZXMpLlxuY29uc3QgU1VTUEVOREVEX0NPVU5UID0gMDtcbmNvbnN0IFJFU09MVkVEX0NPVU5UID0gMTtcbmNvbnN0IE5FWFRfTk9ERSA9IDI7XG5cbi8vIEhhdmluZyBjdXN0b20gaW5oZXJpdGFuY2UgaW5zdGVhZCBvZiBhIGNsYXNzIGhlcmUgc2F2ZXMgYSBsb3Qgb2YgYnl0ZXMuXG5leHBvcnQgZnVuY3Rpb24gU3VzcGVuc2VMaXN0KCkge1xuXHR0aGlzLl9uZXh0ID0gbnVsbDtcblx0dGhpcy5fbWFwID0gbnVsbDtcbn1cblxuLy8gTWFyayBvbmUgb2YgY2hpbGQncyBlYXJsaWVyIHN1c3BlbnNpb25zIGFzIHJlc29sdmVkLlxuLy8gU29tZSBwZW5kaW5nIGNhbGxiYWNrcyBtYXkgYmVjb21lIGNhbGxhYmxlIGR1ZSB0byB0aGlzXG4vLyAoZS5nLiB0aGUgbGFzdCBzdXNwZW5kZWQgZGVzY2VuZGFudCBnZXRzIHJlc29sdmVkIHdoZW5cbi8vIHJldmVhbE9yZGVyID09PSAndG9nZXRoZXInKS4gUHJvY2VzcyB0aG9zZSBjYWxsYmFja3MgYXMgd2VsbC5cbmNvbnN0IHJlc29sdmUgPSAobGlzdCwgY2hpbGQsIG5vZGUpID0+IHtcblx0aWYgKCsrbm9kZVtSRVNPTFZFRF9DT1VOVF0gPT09IG5vZGVbU1VTUEVOREVEX0NPVU5UXSkge1xuXHRcdC8vIFRoZSBudW1iZXIgYSBjaGlsZCAob3IgYW55IG9mIGl0cyBkZXNjZW5kYW50cykgaGFzIGJlZW4gc3VzcGVuZGVkXG5cdFx0Ly8gbWF0Y2hlcyB0aGUgbnVtYmVyIG9mIHRpbWVzIGl0J3MgYmVlbiByZXNvbHZlZC4gVGhlcmVmb3JlIHdlXG5cdFx0Ly8gbWFyayB0aGUgY2hpbGQgYXMgY29tcGxldGVseSByZXNvbHZlZCBieSBkZWxldGluZyBpdCBmcm9tIC5fbWFwLlxuXHRcdC8vIFRoaXMgaXMgdXNlZCB0byBmaWd1cmUgb3V0IHdoZW4gKmFsbCogY2hpbGRyZW4gaGF2ZSBiZWVuIGNvbXBsZXRlbHlcblx0XHQvLyByZXNvbHZlZCB3aGVuIHJldmVhbE9yZGVyIGlzICd0b2dldGhlcicuXG5cdFx0bGlzdC5fbWFwLmRlbGV0ZShjaGlsZCk7XG5cdH1cblxuXHQvLyBJZiByZXZlYWxPcmRlciBpcyBmYWxzeSB0aGVuIHdlIGNhbiBkbyBhbiBlYXJseSBleGl0LCBhcyB0aGVcblx0Ly8gY2FsbGJhY2tzIHdvbid0IGdldCBxdWV1ZWQgaW4gdGhlIG5vZGUgYW55d2F5LlxuXHQvLyBJZiByZXZlYWxPcmRlciBpcyAndG9nZXRoZXInIHRoZW4gYWxzbyBkbyBhbiBlYXJseSBleGl0XG5cdC8vIGlmIGFsbCBzdXNwZW5kZWQgZGVzY2VuZGFudHMgaGF2ZSBub3QgeWV0IGJlZW4gcmVzb2x2ZWQuXG5cdGlmIChcblx0XHQhbGlzdC5wcm9wcy5yZXZlYWxPcmRlciB8fFxuXHRcdChsaXN0LnByb3BzLnJldmVhbE9yZGVyWzBdID09PSAndCcgJiYgbGlzdC5fbWFwLnNpemUpXG5cdCkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdC8vIFdhbGsgdGhlIGN1cnJlbnRseSBzdXNwZW5kZWQgY2hpbGRyZW4gaW4gb3JkZXIsIGNhbGxpbmcgdGhlaXJcblx0Ly8gc3RvcmVkIGNhbGxiYWNrcyBvbiB0aGUgd2F5LiBTdG9wIGlmIHdlIGVuY291bnRlciBhIGNoaWxkIHRoYXRcblx0Ly8gaGFzIG5vdCBiZWVuIGNvbXBsZXRlbHkgcmVzb2x2ZWQgeWV0LlxuXHRub2RlID0gbGlzdC5fbmV4dDtcblx0d2hpbGUgKG5vZGUpIHtcblx0XHR3aGlsZSAobm9kZS5sZW5ndGggPiAzKSB7XG5cdFx0XHRub2RlLnBvcCgpKCk7XG5cdFx0fVxuXHRcdGlmIChub2RlW1JFU09MVkVEX0NPVU5UXSA8IG5vZGVbU1VTUEVOREVEX0NPVU5UXSkge1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdGxpc3QuX25leHQgPSBub2RlID0gbm9kZVtORVhUX05PREVdO1xuXHR9XG59O1xuXG4vLyBUaGluZ3Mgd2UgZG8gaGVyZSB0byBzYXZlIHNvbWUgYnl0ZXMgYnV0IGFyZSBub3QgcHJvcGVyIEpTIGluaGVyaXRhbmNlOlxuLy8gLSBjYWxsIGBuZXcgQ29tcG9uZW50KClgIGFzIHRoZSBwcm90b3R5cGVcbi8vIC0gZG8gbm90IHNldCBgU3VzcGVuc2UucHJvdG90eXBlLmNvbnN0cnVjdG9yYCB0byBgU3VzcGVuc2VgXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlID0gbmV3IENvbXBvbmVudCgpO1xuXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlLl9zdXNwZW5kZWQgPSBmdW5jdGlvbiAoY2hpbGQpIHtcblx0Y29uc3QgbGlzdCA9IHRoaXM7XG5cdGNvbnN0IGRlbGVnYXRlZCA9IHN1c3BlbmRlZChsaXN0Ll92bm9kZSk7XG5cblx0bGV0IG5vZGUgPSBsaXN0Ll9tYXAuZ2V0KGNoaWxkKTtcblx0bm9kZVtTVVNQRU5ERURfQ09VTlRdKys7XG5cblx0cmV0dXJuIHVuc3VzcGVuZCA9PiB7XG5cdFx0Y29uc3Qgd3JhcHBlZFVuc3VzcGVuZCA9ICgpID0+IHtcblx0XHRcdGlmICghbGlzdC5wcm9wcy5yZXZlYWxPcmRlcikge1xuXHRcdFx0XHQvLyBTcGVjaWFsIGNhc2UgdGhlIHVuZGVmaW5lZCAoZmFsc3kpIHJldmVhbE9yZGVyLCBhcyB0aGVyZVxuXHRcdFx0XHQvLyBpcyBubyBuZWVkIHRvIGNvb3JkaW5hdGUgYSBzcGVjaWZpYyBvcmRlciBvciB1bnN1c3BlbmRzLlxuXHRcdFx0XHR1bnN1c3BlbmQoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG5vZGUucHVzaCh1bnN1c3BlbmQpO1xuXHRcdFx0XHRyZXNvbHZlKGxpc3QsIGNoaWxkLCBub2RlKTtcblx0XHRcdH1cblx0XHR9O1xuXHRcdGlmIChkZWxlZ2F0ZWQpIHtcblx0XHRcdGRlbGVnYXRlZCh3cmFwcGVkVW5zdXNwZW5kKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0d3JhcHBlZFVuc3VzcGVuZCgpO1xuXHRcdH1cblx0fTtcbn07XG5cblN1c3BlbnNlTGlzdC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKHByb3BzKSB7XG5cdHRoaXMuX25leHQgPSBudWxsO1xuXHR0aGlzLl9tYXAgPSBuZXcgTWFwKCk7XG5cblx0Y29uc3QgY2hpbGRyZW4gPSB0b0NoaWxkQXJyYXkocHJvcHMuY2hpbGRyZW4pO1xuXHRpZiAocHJvcHMucmV2ZWFsT3JkZXIgJiYgcHJvcHMucmV2ZWFsT3JkZXJbMF0gPT09ICdiJykge1xuXHRcdC8vIElmIG9yZGVyID09PSAnYmFja3dhcmRzJyAob3IsIHdlbGwsIGFueXRoaW5nIHN0YXJ0aW5nIHdpdGggYSAnYicpXG5cdFx0Ly8gdGhlbiBmbGlwIHRoZSBjaGlsZCBsaXN0IGFyb3VuZCBzbyB0aGF0IHRoZSBsYXN0IGNoaWxkIHdpbGwgYmVcblx0XHQvLyB0aGUgZmlyc3QgaW4gdGhlIGxpbmtlZCBsaXN0LlxuXHRcdGNoaWxkcmVuLnJldmVyc2UoKTtcblx0fVxuXHQvLyBCdWlsZCB0aGUgbGlua2VkIGxpc3QuIEl0ZXJhdGUgdGhyb3VnaCB0aGUgY2hpbGRyZW4gaW4gcmV2ZXJzZSBvcmRlclxuXHQvLyBzbyB0aGF0IGBfbmV4dGAgcG9pbnRzIHRvIHRoZSBmaXJzdCBsaW5rZWQgbGlzdCBub2RlIHRvIGJlIHJlc29sdmVkLlxuXHRmb3IgKGxldCBpID0gY2hpbGRyZW4ubGVuZ3RoOyBpLS07ICkge1xuXHRcdC8vIENyZWF0ZSBhIG5ldyBsaW5rZWQgbGlzdCBub2RlIGFzIGFuIGFycmF5IG9mIGZvcm06XG5cdFx0Ly8gXHRbc3VzcGVuZGVkX2NvdW50LCByZXNvbHZlZF9jb3VudCwgbmV4dF9ub2RlXVxuXHRcdC8vIHdoZXJlIHN1c3BlbmRlZF9jb3VudCBhbmQgcmVzb2x2ZWRfY291bnQgYXJlIG51bWVyaWMgY291bnRlcnMgZm9yXG5cdFx0Ly8ga2VlcGluZyB0cmFjayBob3cgbWFueSB0aW1lcyBhIG5vZGUgaGFzIGJlZW4gc3VzcGVuZGVkIGFuZCByZXNvbHZlZC5cblx0XHQvL1xuXHRcdC8vIE5vdGUgdGhhdCBzdXNwZW5kZWRfY291bnQgc3RhcnRzIGZyb20gMSBpbnN0ZWFkIG9mIDAsIHNvIHdlIGNhbiBibG9ja1xuXHRcdC8vIHByb2Nlc3NpbmcgY2FsbGJhY2tzIHVudGlsIGNvbXBvbmVudERpZE1vdW50IGhhcyBiZWVuIGNhbGxlZC4gSW4gYSBzZW5zZVxuXHRcdC8vIG5vZGUgaXMgc3VzcGVuZGVkIGF0IGxlYXN0IHVudGlsIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkIVxuXHRcdC8vXG5cdFx0Ly8gUGVuZGluZyBjYWxsYmFja3MgYXJlIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIG5vZGU6XG5cdFx0Ly8gXHRbc3VzcGVuZGVkX2NvdW50LCByZXNvbHZlZF9jb3VudCwgbmV4dF9ub2RlLCBjYWxsYmFja18wLCBjYWxsYmFja18xLCAuLi5dXG5cdFx0dGhpcy5fbWFwLnNldChjaGlsZHJlbltpXSwgKHRoaXMuX25leHQgPSBbMSwgMCwgdGhpcy5fbmV4dF0pKTtcblx0fVxuXHRyZXR1cm4gcHJvcHMuY2hpbGRyZW47XG59O1xuXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZSA9XG5cdFN1c3BlbnNlTGlzdC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0Ly8gSXRlcmF0ZSB0aHJvdWdoIGFsbCBjaGlsZHJlbiBhZnRlciBtb3VudGluZyBmb3IgdHdvIHJlYXNvbnM6XG5cdFx0Ly8gMS4gQXMgZWFjaCBub2RlW1NVU1BFTkRFRF9DT1VOVF0gc3RhcnRzIGZyb20gMSwgdGhpcyBpdGVyYXRpb24gaW5jcmVhc2VzXG5cdFx0Ly8gICAgZWFjaCBub2RlW1JFTEVBU0VEX0NPVU5UXSBieSAxLCB0aGVyZWZvcmUgYmFsYW5jaW5nIHRoZSBjb3VudGVycy5cblx0XHQvLyAgICBUaGUgbm9kZXMgY2FuIG5vdyBiZSBjb21wbGV0ZWx5IGNvbnN1bWVkIGZyb20gdGhlIGxpbmtlZCBsaXN0LlxuXHRcdC8vIDIuIEhhbmRsZSBub2RlcyB0aGF0IG1pZ2h0IGhhdmUgZ290dGVuIHJlc29sdmVkIGJldHdlZW4gcmVuZGVyIGFuZFxuXHRcdC8vICAgIGNvbXBvbmVudERpZE1vdW50LlxuXHRcdHRoaXMuX21hcC5mb3JFYWNoKChub2RlLCBjaGlsZCkgPT4ge1xuXHRcdFx0cmVzb2x2ZSh0aGlzLCBjaGlsZCwgbm9kZSk7XG5cdFx0fSk7XG5cdH07XG4iLCAiLyoqIE5vcm1hbCBoeWRyYXRpb24gdGhhdCBhdHRhY2hlcyB0byBhIERPTSB0cmVlIGJ1dCBkb2VzIG5vdCBkaWZmIGl0LiAqL1xuZXhwb3J0IGNvbnN0IE1PREVfSFlEUkFURSA9IDEgPDwgNTtcbi8qKiBTaWduaWZpZXMgdGhpcyBWTm9kZSBzdXNwZW5kZWQgb24gdGhlIHByZXZpb3VzIHJlbmRlciAqL1xuZXhwb3J0IGNvbnN0IE1PREVfU1VTUEVOREVEID0gMSA8PCA3O1xuLyoqIEluZGljYXRlcyB0aGF0IHRoaXMgbm9kZSBuZWVkcyB0byBiZSBpbnNlcnRlZCB3aGlsZSBwYXRjaGluZyBjaGlsZHJlbiAqL1xuZXhwb3J0IGNvbnN0IElOU0VSVF9WTk9ERSA9IDEgPDwgMTY7XG4vKiogSW5kaWNhdGVzIGEgVk5vZGUgaGFzIGJlZW4gbWF0Y2hlZCB3aXRoIGFub3RoZXIgVk5vZGUgaW4gdGhlIGRpZmYgKi9cbmV4cG9ydCBjb25zdCBNQVRDSEVEID0gMSA8PCAxNztcblxuLyoqIFJlc2V0IGFsbCBtb2RlIGZsYWdzICovXG5leHBvcnQgY29uc3QgUkVTRVRfTU9ERSA9IH4oTU9ERV9IWURSQVRFIHwgTU9ERV9TVVNQRU5ERUQpO1xuXG5leHBvcnQgY29uc3QgRU1QVFlfT0JKID0gLyoqIEB0eXBlIHthbnl9ICovICh7fSk7XG5leHBvcnQgY29uc3QgRU1QVFlfQVJSID0gW107XG5leHBvcnQgY29uc3QgSVNfTk9OX0RJTUVOU0lPTkFMID1cblx0L2FjaXR8ZXgoPzpzfGd8bnxwfCQpfHJwaHxncmlkfG93c3xtbmN8bnR3fGluZVtjaF18em9vfF5vcmR8aXRlcmEvaTtcbiIsICJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCByZW5kZXIgfSBmcm9tICdwcmVhY3QnO1xuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi8uLi9zcmMvaW5kZXgnKS5SZW5kZXJhYmxlUHJvcHM8eyBjb250ZXh0OiBhbnkgfT59IHByb3BzXG4gKi9cbmZ1bmN0aW9uIENvbnRleHRQcm92aWRlcihwcm9wcykge1xuXHR0aGlzLmdldENoaWxkQ29udGV4dCA9ICgpID0+IHByb3BzLmNvbnRleHQ7XG5cdHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbn1cblxuLyoqXG4gKiBQb3J0YWwgY29tcG9uZW50XG4gKiBAdGhpcyB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50fVxuICogQHBhcmFtIHtvYmplY3QgfCBudWxsIHwgdW5kZWZpbmVkfSBwcm9wc1xuICpcbiAqIFRPRE86IHVzZSBjcmVhdGVSb290KCkgaW5zdGVhZCBvZiBmYWtlIHJvb3RcbiAqL1xuZnVuY3Rpb24gUG9ydGFsKHByb3BzKSB7XG5cdGNvbnN0IF90aGlzID0gdGhpcztcblx0bGV0IGNvbnRhaW5lciA9IHByb3BzLl9jb250YWluZXI7XG5cblx0X3RoaXMuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0cmVuZGVyKG51bGwsIF90aGlzLl90ZW1wKTtcblx0XHRfdGhpcy5fdGVtcCA9IG51bGw7XG5cdFx0X3RoaXMuX2NvbnRhaW5lciA9IG51bGw7XG5cdH07XG5cblx0Ly8gV2hlbiB3ZSBjaGFuZ2UgY29udGFpbmVyIHdlIHNob3VsZCBjbGVhciBvdXIgb2xkIGNvbnRhaW5lciBhbmRcblx0Ly8gaW5kaWNhdGUgYSBuZXcgbW91bnQuXG5cdGlmIChfdGhpcy5fY29udGFpbmVyICYmIF90aGlzLl9jb250YWluZXIgIT09IGNvbnRhaW5lcikge1xuXHRcdF90aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG5cdH1cblxuXHRpZiAoIV90aGlzLl90ZW1wKSB7XG5cdFx0X3RoaXMuX2NvbnRhaW5lciA9IGNvbnRhaW5lcjtcblxuXHRcdC8vIENyZWF0ZSBhIGZha2UgRE9NIHBhcmVudCBub2RlIHRoYXQgbWFuYWdlcyBhIHN1YnNldCBvZiBgY29udGFpbmVyYCdzIGNoaWxkcmVuOlxuXHRcdF90aGlzLl90ZW1wID0ge1xuXHRcdFx0bm9kZVR5cGU6IDEsXG5cdFx0XHRwYXJlbnROb2RlOiBjb250YWluZXIsXG5cdFx0XHRjaGlsZE5vZGVzOiBbXSxcblx0XHRcdGNvbnRhaW5zOiAoKSA9PiB0cnVlLFxuXHRcdFx0YXBwZW5kQ2hpbGQoY2hpbGQpIHtcblx0XHRcdFx0dGhpcy5jaGlsZE5vZGVzLnB1c2goY2hpbGQpO1xuXHRcdFx0XHRfdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKGNoaWxkKTtcblx0XHRcdH0sXG5cdFx0XHRpbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZSkge1xuXHRcdFx0XHR0aGlzLmNoaWxkTm9kZXMucHVzaChjaGlsZCk7XG5cdFx0XHRcdF90aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQoY2hpbGQpO1xuXHRcdFx0fSxcblx0XHRcdHJlbW92ZUNoaWxkKGNoaWxkKSB7XG5cdFx0XHRcdHRoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2YoY2hpbGQpID4+PiAxLCAxKTtcblx0XHRcdFx0X3RoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZChjaGlsZCk7XG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXG5cdC8vIFJlbmRlciBvdXIgd3JhcHBpbmcgZWxlbWVudCBpbnRvIHRlbXAuXG5cdHJlbmRlcihcblx0XHRjcmVhdGVFbGVtZW50KENvbnRleHRQcm92aWRlciwgeyBjb250ZXh0OiBfdGhpcy5jb250ZXh0IH0sIHByb3BzLl92bm9kZSksXG5cdFx0X3RoaXMuX3RlbXBcblx0KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBgUG9ydGFsYCB0byBjb250aW51ZSByZW5kZXJpbmcgdGhlIHZub2RlIHRyZWUgYXQgYSBkaWZmZXJlbnQgRE9NIG5vZGVcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGV9IHZub2RlIFRoZSB2bm9kZSB0byByZW5kZXJcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuUHJlYWN0RWxlbWVudH0gY29udGFpbmVyIFRoZSBET00gbm9kZSB0byBjb250aW51ZSByZW5kZXJpbmcgaW4gdG8uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb3J0YWwodm5vZGUsIGNvbnRhaW5lcikge1xuXHRjb25zdCBlbCA9IGNyZWF0ZUVsZW1lbnQoUG9ydGFsLCB7IF92bm9kZTogdm5vZGUsIF9jb250YWluZXI6IGNvbnRhaW5lciB9KTtcblx0ZWwuY29udGFpbmVySW5mbyA9IGNvbnRhaW5lcjtcblx0cmV0dXJuIGVsO1xufVxuIiwgImltcG9ydCB7XG5cdHJlbmRlciBhcyBwcmVhY3RSZW5kZXIsXG5cdGh5ZHJhdGUgYXMgcHJlYWN0SHlkcmF0ZSxcblx0b3B0aW9ucyxcblx0dG9DaGlsZEFycmF5LFxuXHRDb21wb25lbnRcbn0gZnJvbSAncHJlYWN0JztcbmltcG9ydCB7XG5cdHVzZUNhbGxiYWNrLFxuXHR1c2VDb250ZXh0LFxuXHR1c2VEZWJ1Z1ZhbHVlLFxuXHR1c2VFZmZlY3QsXG5cdHVzZUlkLFxuXHR1c2VJbXBlcmF0aXZlSGFuZGxlLFxuXHR1c2VMYXlvdXRFZmZlY3QsXG5cdHVzZU1lbW8sXG5cdHVzZVJlZHVjZXIsXG5cdHVzZVJlZixcblx0dXNlU3RhdGVcbn0gZnJvbSAncHJlYWN0L2hvb2tzJztcbmltcG9ydCB7XG5cdHVzZURlZmVycmVkVmFsdWUsXG5cdHVzZUluc2VydGlvbkVmZmVjdCxcblx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdHVzZVRyYW5zaXRpb25cbn0gZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCBSRUFDVF9FTEVNRU5UX1RZUEUgPVxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJiBTeW1ib2wuZm9yICYmIFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSkgfHxcblx0MHhlYWM3O1xuXG5jb25zdCBDQU1FTF9QUk9QUyA9XG5cdC9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZG9taW5hbnR8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8aW1hZ2UoIVMpfGxldHRlcnxsaWdodGluZ3xtYXJrZXIoPyFIfFd8VSl8b3ZlcmxpbmV8cGFpbnR8cG9pbnRlcnxzaGFwZXxzdG9wfHN0cmlrZXRocm91Z2h8c3Ryb2tlfHRleHQoPyFMKXx0cmFuc2Zvcm18dW5kZXJsaW5lfHVuaWNvZGV8dW5pdHN8dnx2ZWN0b3J8dmVydHx3b3JkfHdyaXRpbmd8eCg/IUMpKVtBLVpdLztcbmNvbnN0IE9OX0FOSSA9IC9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS87XG5jb25zdCBDQU1FTF9SRVBMQUNFID0gL1tBLVowLTldL2c7XG5jb25zdCBJU19ET00gPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnO1xuXG4vLyBJbnB1dCB0eXBlcyBmb3Igd2hpY2ggb25jaGFuZ2Ugc2hvdWxkIG5vdCBiZSBjb252ZXJ0ZWQgdG8gb25pbnB1dC5cbi8vIHR5cGU9XCJmaWxlfGNoZWNrYm94fHJhZGlvXCIsIHBsdXMgXCJyYW5nZVwiIGluIElFMTEuXG4vLyAoSUUxMSBkb2Vzbid0IHN1cHBvcnQgU3ltYm9sLCB3aGljaCB3ZSB1c2UgaGVyZSB0byB0dXJuIGByYWRgIGludG8gYHJhYCB3aGljaCBtYXRjaGVzIFwicmFuZ2VcIilcbmNvbnN0IG9uQ2hhbmdlSW5wdXRUeXBlID0gdHlwZSA9PlxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgU3ltYm9sKCkgPT0gJ3N5bWJvbCdcblx0XHQ/IC9maWx8Y2hlfHJhZC9cblx0XHQ6IC9maWx8Y2hlfHJhL1xuXHQpLnRlc3QodHlwZSk7XG5cbi8vIFNvbWUgbGlicmFyaWVzIGxpa2UgYHJlYWN0LXZpcnR1YWxpemVkYCBleHBsaWNpdGx5IGNoZWNrIGZvciB0aGlzLlxuQ29tcG9uZW50LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0ge307XG5cbi8vIGBVTlNBRkVfKmAgbGlmZWN5Y2xlIGhvb2tzXG4vLyBQcmVhY3Qgb25seSBldmVyIGludm9rZXMgdGhlIHVucHJlZml4ZWQgbWV0aG9kcy5cbi8vIEhlcmUgd2UgcHJvdmlkZSBhIGJhc2UgXCJmYWxsYmFja1wiIGltcGxlbWVudGF0aW9uIHRoYXQgY2FsbHMgYW55IGRlZmluZWQgVU5TQUZFXyBwcmVmaXhlZCBtZXRob2QuXG4vLyAtIElmIGEgY29tcG9uZW50IGRlZmluZXMgaXRzIG93biBgY29tcG9uZW50RGlkTW91bnQoKWAgKGluY2x1ZGluZyB2aWEgZGVmaW5lUHJvcGVydHkpLCB1c2UgdGhhdC5cbi8vIC0gSWYgYSBjb21wb25lbnQgZGVmaW5lcyBgVU5TQUZFX2NvbXBvbmVudERpZE1vdW50KClgLCBgY29tcG9uZW50RGlkTW91bnRgIGlzIHRoZSBhbGlhcyBnZXR0ZXIvc2V0dGVyLlxuLy8gLSBJZiBhbnl0aGluZyBhc3NpZ25zIHRvIGFuIGBVTlNBRkVfKmAgcHJvcGVydHksIHRoZSBhc3NpZ25tZW50IGlzIGZvcndhcmRlZCB0byB0aGUgdW5wcmVmaXhlZCBwcm9wZXJ0eS5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJlYWN0anMvcHJlYWN0L2lzc3Vlcy8xOTQxXG5bXG5cdCdjb21wb25lbnRXaWxsTW91bnQnLFxuXHQnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycsXG5cdCdjb21wb25lbnRXaWxsVXBkYXRlJ1xuXS5mb3JFYWNoKGtleSA9PiB7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb21wb25lbnQucHJvdG90eXBlLCBrZXksIHtcblx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0Z2V0KCkge1xuXHRcdFx0cmV0dXJuIHRoaXNbJ1VOU0FGRV8nICsga2V5XTtcblx0XHR9LFxuXHRcdHNldCh2KSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywga2V5LCB7XG5cdFx0XHRcdGNvbmZpZ3VyYWJsZTogdHJ1ZSxcblx0XHRcdFx0d3JpdGFibGU6IHRydWUsXG5cdFx0XHRcdHZhbHVlOiB2XG5cdFx0XHR9KTtcblx0XHR9XG5cdH0pO1xufSk7XG5cbi8qKlxuICogUHJveHkgcmVuZGVyKCkgc2luY2UgUmVhY3QgcmV0dXJucyBhIENvbXBvbmVudCByZWZlcmVuY2UuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSB2bm9kZSBWTm9kZSB0cmVlIHRvIHJlbmRlclxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5QcmVhY3RFbGVtZW50fSBwYXJlbnQgRE9NIG5vZGUgdG8gcmVuZGVyIHZub2RlIHRyZWUgaW50b1xuICogQHBhcmFtIHsoKSA9PiB2b2lkfSBbY2FsbGJhY2tdIE9wdGlvbmFsIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgcmVuZGVyaW5nXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50IHwgbnVsbH0gVGhlIHJvb3QgY29tcG9uZW50IHJlZmVyZW5jZSBvciBudWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXIodm5vZGUsIHBhcmVudCwgY2FsbGJhY2spIHtcblx0Ly8gUmVhY3QgZGVzdHJveXMgYW55IGV4aXN0aW5nIERPTSBub2Rlcywgc2VlICMxNzI3XG5cdC8vIC4uLmJ1dCBvbmx5IG9uIHRoZSBmaXJzdCByZW5kZXIsIHNlZSAjMTgyOFxuXHRpZiAocGFyZW50Ll9jaGlsZHJlbiA9PSBudWxsKSB7XG5cdFx0cGFyZW50LnRleHRDb250ZW50ID0gJyc7XG5cdH1cblxuXHRwcmVhY3RSZW5kZXIodm5vZGUsIHBhcmVudCk7XG5cdGlmICh0eXBlb2YgY2FsbGJhY2sgPT0gJ2Z1bmN0aW9uJykgY2FsbGJhY2soKTtcblxuXHRyZXR1cm4gdm5vZGUgPyB2bm9kZS5fY29tcG9uZW50IDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5ZHJhdGUodm5vZGUsIHBhcmVudCwgY2FsbGJhY2spIHtcblx0cHJlYWN0SHlkcmF0ZSh2bm9kZSwgcGFyZW50KTtcblx0aWYgKHR5cGVvZiBjYWxsYmFjayA9PSAnZnVuY3Rpb24nKSBjYWxsYmFjaygpO1xuXG5cdHJldHVybiB2bm9kZSA/IHZub2RlLl9jb21wb25lbnQgOiBudWxsO1xufVxuXG5sZXQgb2xkRXZlbnRIb29rID0gb3B0aW9ucy5ldmVudDtcbm9wdGlvbnMuZXZlbnQgPSBlID0+IHtcblx0aWYgKG9sZEV2ZW50SG9vaykgZSA9IG9sZEV2ZW50SG9vayhlKTtcblxuXHRlLnBlcnNpc3QgPSBlbXB0eTtcblx0ZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGlzUHJvcGFnYXRpb25TdG9wcGVkO1xuXHRlLmlzRGVmYXVsdFByZXZlbnRlZCA9IGlzRGVmYXVsdFByZXZlbnRlZDtcblx0cmV0dXJuIChlLm5hdGl2ZUV2ZW50ID0gZSk7XG59O1xuXG5mdW5jdGlvbiBlbXB0eSgpIHt9XG5cbmZ1bmN0aW9uIGlzUHJvcGFnYXRpb25TdG9wcGVkKCkge1xuXHRyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGU7XG59XG5cbmZ1bmN0aW9uIGlzRGVmYXVsdFByZXZlbnRlZCgpIHtcblx0cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZDtcbn1cblxuY29uc3QgY2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlID0ge1xuXHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRnZXQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY2xhc3M7XG5cdH1cbn07XG5cbmZ1bmN0aW9uIGhhbmRsZURvbVZOb2RlKHZub2RlKSB7XG5cdGxldCBwcm9wcyA9IHZub2RlLnByb3BzLFxuXHRcdHR5cGUgPSB2bm9kZS50eXBlLFxuXHRcdG5vcm1hbGl6ZWRQcm9wcyA9IHt9O1xuXG5cdGxldCBpc05vbkRhc2hlZFR5cGUgPSB0eXBlLmluZGV4T2YoJy0nKSA9PT0gLTE7XG5cdGZvciAobGV0IGkgaW4gcHJvcHMpIHtcblx0XHRsZXQgdmFsdWUgPSBwcm9wc1tpXTtcblxuXHRcdGlmIChcblx0XHRcdChpID09PSAndmFsdWUnICYmICdkZWZhdWx0VmFsdWUnIGluIHByb3BzICYmIHZhbHVlID09IG51bGwpIHx8XG5cdFx0XHQvLyBFbXVsYXRlIFJlYWN0J3MgYmVoYXZpb3Igb2Ygbm90IHJlbmRlcmluZyB0aGUgY29udGVudHMgb2Ygbm9zY3JpcHQgdGFncyBvbiB0aGUgY2xpZW50LlxuXHRcdFx0KElTX0RPTSAmJiBpID09PSAnY2hpbGRyZW4nICYmIHR5cGUgPT09ICdub3NjcmlwdCcpIHx8XG5cdFx0XHRpID09PSAnY2xhc3MnIHx8XG5cdFx0XHRpID09PSAnY2xhc3NOYW1lJ1xuXHRcdCkge1xuXHRcdFx0Ly8gU2tpcCBhcHBseWluZyB2YWx1ZSBpZiBpdCBpcyBudWxsL3VuZGVmaW5lZCBhbmQgd2UgYWxyZWFkeSBzZXRcblx0XHRcdC8vIGEgZGVmYXVsdCB2YWx1ZVxuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0bGV0IGxvd2VyQ2FzZWQgPSBpLnRvTG93ZXJDYXNlKCk7XG5cdFx0aWYgKGkgPT09ICdkZWZhdWx0VmFsdWUnICYmICd2YWx1ZScgaW4gcHJvcHMgJiYgcHJvcHMudmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0Ly8gYGRlZmF1bHRWYWx1ZWAgaXMgdHJlYXRlZCBhcyBhIGZhbGxiYWNrIGB2YWx1ZWAgd2hlbiBhIHZhbHVlIHByb3AgaXMgcHJlc2VudCBidXQgbnVsbC91bmRlZmluZWQuXG5cdFx0XHQvLyBgZGVmYXVsdFZhbHVlYCBmb3IgRWxlbWVudHMgd2l0aCBubyB2YWx1ZSBwcm9wIGlzIHRoZSBzYW1lIGFzIHRoZSBET00gZGVmYXVsdFZhbHVlIHByb3BlcnR5LlxuXHRcdFx0aSA9ICd2YWx1ZSc7XG5cdFx0fSBlbHNlIGlmIChpID09PSAnZG93bmxvYWQnICYmIHZhbHVlID09PSB0cnVlKSB7XG5cdFx0XHQvLyBDYWxsaW5nIGBzZXRBdHRyaWJ1dGVgIHdpdGggYSB0cnV0aHkgdmFsdWUgd2lsbCBsZWFkIHRvIGl0IGJlaW5nXG5cdFx0XHQvLyBwYXNzZWQgYXMgYSBzdHJpbmdpZmllZCB2YWx1ZSwgZS5nLiBgZG93bmxvYWQ9XCJ0cnVlXCJgLiBSZWFjdFxuXHRcdFx0Ly8gY29udmVydHMgaXQgdG8gYW4gZW1wdHkgc3RyaW5nIGluc3RlYWQsIG90aGVyd2lzZSB0aGUgYXR0cmlidXRlXG5cdFx0XHQvLyB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgdGhlIGZpbGUgbmFtZSBhbmQgdGhlIGZpbGUgd2lsbCBiZSBjYWxsZWRcblx0XHRcdC8vIFwidHJ1ZVwiIHVwb24gZG93bmxvYWRpbmcgaXQuXG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH0gZWxzZSBpZiAobG93ZXJDYXNlZCA9PT0gJ3RyYW5zbGF0ZScgJiYgdmFsdWUgPT09ICdubycpIHtcblx0XHRcdHZhbHVlID0gZmFsc2U7XG5cdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkWzBdID09PSAnbycgJiYgbG93ZXJDYXNlZFsxXSA9PT0gJ24nKSB7XG5cdFx0XHRpZiAobG93ZXJDYXNlZCA9PT0gJ29uZG91YmxlY2xpY2snKSB7XG5cdFx0XHRcdGkgPSAnb25kYmxjbGljayc7XG5cdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHRsb3dlckNhc2VkID09PSAnb25jaGFuZ2UnICYmXG5cdFx0XHRcdCh0eXBlID09PSAnaW5wdXQnIHx8IHR5cGUgPT09ICd0ZXh0YXJlYScpICYmXG5cdFx0XHRcdCFvbkNoYW5nZUlucHV0VHlwZShwcm9wcy50eXBlKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGxvd2VyQ2FzZWQgPSBpID0gJ29uaW5wdXQnO1xuXHRcdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkID09PSAnb25mb2N1cycpIHtcblx0XHRcdFx0aSA9ICdvbmZvY3VzaW4nO1xuXHRcdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkID09PSAnb25ibHVyJykge1xuXHRcdFx0XHRpID0gJ29uZm9jdXNvdXQnO1xuXHRcdFx0fSBlbHNlIGlmIChPTl9BTkkudGVzdChpKSkge1xuXHRcdFx0XHRpID0gbG93ZXJDYXNlZDtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGlzTm9uRGFzaGVkVHlwZSAmJiBDQU1FTF9QUk9QUy50ZXN0KGkpKSB7XG5cdFx0XHRpID0gaS5yZXBsYWNlKENBTUVMX1JFUExBQ0UsICctJCYnKS50b0xvd2VyQ2FzZSgpO1xuXHRcdH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHZhbHVlID0gdW5kZWZpbmVkO1xuXHRcdH1cblxuXHRcdC8vIEFkZCBzdXBwb3J0IGZvciBvbklucHV0IGFuZCBvbkNoYW5nZSwgc2VlICMzNTYxXG5cdFx0Ly8gaWYgd2UgaGF2ZSBhbiBvbmlucHV0IHByb3AgYWxyZWFkeSBjaGFuZ2UgaXQgdG8gb25pbnB1dENhcHR1cmVcblx0XHRpZiAobG93ZXJDYXNlZCA9PT0gJ29uaW5wdXQnKSB7XG5cdFx0XHRpID0gbG93ZXJDYXNlZDtcblx0XHRcdGlmIChub3JtYWxpemVkUHJvcHNbaV0pIHtcblx0XHRcdFx0aSA9ICdvbmlucHV0Q2FwdHVyZSc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bm9ybWFsaXplZFByb3BzW2ldID0gdmFsdWU7XG5cdH1cblxuXHQvLyBBZGQgc3VwcG9ydCBmb3IgYXJyYXkgc2VsZWN0IHZhbHVlczogPHNlbGVjdCBtdWx0aXBsZSB2YWx1ZT17W119IC8+XG5cdGlmIChcblx0XHR0eXBlID09ICdzZWxlY3QnICYmXG5cdFx0bm9ybWFsaXplZFByb3BzLm11bHRpcGxlICYmXG5cdFx0QXJyYXkuaXNBcnJheShub3JtYWxpemVkUHJvcHMudmFsdWUpXG5cdCkge1xuXHRcdC8vIGZvckVhY2goKSBhbHdheXMgcmV0dXJucyB1bmRlZmluZWQsIHdoaWNoIHdlIGFidXNlIGhlcmUgdG8gdW5zZXQgdGhlIHZhbHVlIHByb3AuXG5cdFx0bm9ybWFsaXplZFByb3BzLnZhbHVlID0gdG9DaGlsZEFycmF5KHByb3BzLmNoaWxkcmVuKS5mb3JFYWNoKGNoaWxkID0+IHtcblx0XHRcdGNoaWxkLnByb3BzLnNlbGVjdGVkID1cblx0XHRcdFx0bm9ybWFsaXplZFByb3BzLnZhbHVlLmluZGV4T2YoY2hpbGQucHJvcHMudmFsdWUpICE9IC0xO1xuXHRcdH0pO1xuXHR9XG5cblx0Ly8gQWRkaW5nIHN1cHBvcnQgZm9yIGRlZmF1bHRWYWx1ZSBpbiBzZWxlY3QgdGFnXG5cdGlmICh0eXBlID09ICdzZWxlY3QnICYmIG5vcm1hbGl6ZWRQcm9wcy5kZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuXHRcdG5vcm1hbGl6ZWRQcm9wcy52YWx1ZSA9IHRvQ2hpbGRBcnJheShwcm9wcy5jaGlsZHJlbikuZm9yRWFjaChjaGlsZCA9PiB7XG5cdFx0XHRpZiAobm9ybWFsaXplZFByb3BzLm11bHRpcGxlKSB7XG5cdFx0XHRcdGNoaWxkLnByb3BzLnNlbGVjdGVkID1cblx0XHRcdFx0XHRub3JtYWxpemVkUHJvcHMuZGVmYXVsdFZhbHVlLmluZGV4T2YoY2hpbGQucHJvcHMudmFsdWUpICE9IC0xO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y2hpbGQucHJvcHMuc2VsZWN0ZWQgPVxuXHRcdFx0XHRcdG5vcm1hbGl6ZWRQcm9wcy5kZWZhdWx0VmFsdWUgPT0gY2hpbGQucHJvcHMudmFsdWU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRpZiAocHJvcHMuY2xhc3MgJiYgIXByb3BzLmNsYXNzTmFtZSkge1xuXHRcdG5vcm1hbGl6ZWRQcm9wcy5jbGFzcyA9IHByb3BzLmNsYXNzO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcblx0XHRcdG5vcm1hbGl6ZWRQcm9wcyxcblx0XHRcdCdjbGFzc05hbWUnLFxuXHRcdFx0Y2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlXG5cdFx0KTtcblx0fSBlbHNlIGlmIChwcm9wcy5jbGFzc05hbWUgJiYgIXByb3BzLmNsYXNzKSB7XG5cdFx0bm9ybWFsaXplZFByb3BzLmNsYXNzID0gbm9ybWFsaXplZFByb3BzLmNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZTtcblx0fSBlbHNlIGlmIChwcm9wcy5jbGFzcyAmJiBwcm9wcy5jbGFzc05hbWUpIHtcblx0XHRub3JtYWxpemVkUHJvcHMuY2xhc3MgPSBub3JtYWxpemVkUHJvcHMuY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lO1xuXHR9XG5cblx0dm5vZGUucHJvcHMgPSBub3JtYWxpemVkUHJvcHM7XG59XG5cbmxldCBvbGRWTm9kZUhvb2sgPSBvcHRpb25zLnZub2RlO1xub3B0aW9ucy52bm9kZSA9IHZub2RlID0+IHtcblx0Ly8gb25seSBub3JtYWxpemUgcHJvcHMgb24gRWxlbWVudCBub2Rlc1xuXHRpZiAodHlwZW9mIHZub2RlLnR5cGUgPT09ICdzdHJpbmcnKSB7XG5cdFx0aGFuZGxlRG9tVk5vZGUodm5vZGUpO1xuXHR9XG5cblx0dm5vZGUuJCR0eXBlb2YgPSBSRUFDVF9FTEVNRU5UX1RZUEU7XG5cblx0aWYgKG9sZFZOb2RlSG9vaykgb2xkVk5vZGVIb29rKHZub2RlKTtcbn07XG5cbi8vIE9ubHkgbmVlZGVkIGZvciByZWFjdC1yZWxheVxubGV0IGN1cnJlbnRDb21wb25lbnQ7XG5jb25zdCBvbGRCZWZvcmVSZW5kZXIgPSBvcHRpb25zLl9yZW5kZXI7XG5vcHRpb25zLl9yZW5kZXIgPSBmdW5jdGlvbiAodm5vZGUpIHtcblx0aWYgKG9sZEJlZm9yZVJlbmRlcikge1xuXHRcdG9sZEJlZm9yZVJlbmRlcih2bm9kZSk7XG5cdH1cblx0Y3VycmVudENvbXBvbmVudCA9IHZub2RlLl9jb21wb25lbnQ7XG59O1xuXG5jb25zdCBvbGREaWZmZWQgPSBvcHRpb25zLmRpZmZlZDtcbi8qKiBAdHlwZSB7KHZub2RlOiBpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZSkgPT4gdm9pZH0gKi9cbm9wdGlvbnMuZGlmZmVkID0gZnVuY3Rpb24gKHZub2RlKSB7XG5cdGlmIChvbGREaWZmZWQpIHtcblx0XHRvbGREaWZmZWQodm5vZGUpO1xuXHR9XG5cblx0Y29uc3QgcHJvcHMgPSB2bm9kZS5wcm9wcztcblx0Y29uc3QgZG9tID0gdm5vZGUuX2RvbTtcblxuXHRpZiAoXG5cdFx0ZG9tICE9IG51bGwgJiZcblx0XHR2bm9kZS50eXBlID09PSAndGV4dGFyZWEnICYmXG5cdFx0J3ZhbHVlJyBpbiBwcm9wcyAmJlxuXHRcdHByb3BzLnZhbHVlICE9PSBkb20udmFsdWVcblx0KSB7XG5cdFx0ZG9tLnZhbHVlID0gcHJvcHMudmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMudmFsdWU7XG5cdH1cblxuXHRjdXJyZW50Q29tcG9uZW50ID0gbnVsbDtcbn07XG5cbi8vIFRoaXMgaXMgYSB2ZXJ5IHZlcnkgcHJpdmF0ZSBpbnRlcm5hbCBmdW5jdGlvbiBmb3IgUmVhY3QgaXRcbi8vIGlzIHVzZWQgdG8gc29ydC1vZiBkbyBydW50aW1lIGRlcGVuZGVuY3kgaW5qZWN0aW9uLlxuZXhwb3J0IGNvbnN0IF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEID0ge1xuXHRSZWFjdEN1cnJlbnREaXNwYXRjaGVyOiB7XG5cdFx0Y3VycmVudDoge1xuXHRcdFx0cmVhZENvbnRleHQoY29udGV4dCkge1xuXHRcdFx0XHRyZXR1cm4gY3VycmVudENvbXBvbmVudC5fZ2xvYmFsQ29udGV4dFtjb250ZXh0Ll9pZF0ucHJvcHMudmFsdWU7XG5cdFx0XHR9LFxuXHRcdFx0dXNlQ2FsbGJhY2ssXG5cdFx0XHR1c2VDb250ZXh0LFxuXHRcdFx0dXNlRGVidWdWYWx1ZSxcblx0XHRcdHVzZURlZmVycmVkVmFsdWUsXG5cdFx0XHR1c2VFZmZlY3QsXG5cdFx0XHR1c2VJZCxcblx0XHRcdHVzZUltcGVyYXRpdmVIYW5kbGUsXG5cdFx0XHR1c2VJbnNlcnRpb25FZmZlY3QsXG5cdFx0XHR1c2VMYXlvdXRFZmZlY3QsXG5cdFx0XHR1c2VNZW1vLFxuXHRcdFx0Ly8gdXNlTXV0YWJsZVNvdXJjZSwgLy8gZXhwZXJpbWVudGFsLW9ubHkgYW5kIHJlcGxhY2VkIGJ5IHVTRVMsIGxpa2VseSBub3Qgd29ydGggc3VwcG9ydGluZ1xuXHRcdFx0dXNlUmVkdWNlcixcblx0XHRcdHVzZVJlZixcblx0XHRcdHVzZVN0YXRlLFxuXHRcdFx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdFx0XHR1c2VUcmFuc2l0aW9uXG5cdFx0fVxuXHR9XG59O1xuIiwgImltcG9ydCB7XG5cdGNyZWF0ZUVsZW1lbnQsXG5cdHJlbmRlciBhcyBwcmVhY3RSZW5kZXIsXG5cdGNsb25lRWxlbWVudCBhcyBwcmVhY3RDbG9uZUVsZW1lbnQsXG5cdGNyZWF0ZVJlZixcblx0Q29tcG9uZW50LFxuXHRjcmVhdGVDb250ZXh0LFxuXHRGcmFnbWVudFxufSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHtcblx0dXNlU3RhdGUsXG5cdHVzZUlkLFxuXHR1c2VSZWR1Y2VyLFxuXHR1c2VFZmZlY3QsXG5cdHVzZUxheW91dEVmZmVjdCxcblx0dXNlUmVmLFxuXHR1c2VJbXBlcmF0aXZlSGFuZGxlLFxuXHR1c2VNZW1vLFxuXHR1c2VDYWxsYmFjayxcblx0dXNlQ29udGV4dCxcblx0dXNlRGVidWdWYWx1ZVxufSBmcm9tICdwcmVhY3QvaG9va3MnO1xuaW1wb3J0IHsgUHVyZUNvbXBvbmVudCB9IGZyb20gJy4vUHVyZUNvbXBvbmVudCc7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAnLi9tZW1vJztcbmltcG9ydCB7IGZvcndhcmRSZWYgfSBmcm9tICcuL2ZvcndhcmRSZWYnO1xuaW1wb3J0IHsgQ2hpbGRyZW4gfSBmcm9tICcuL0NoaWxkcmVuJztcbmltcG9ydCB7IFN1c3BlbnNlLCBsYXp5IH0gZnJvbSAnLi9zdXNwZW5zZSc7XG5pbXBvcnQgeyBTdXNwZW5zZUxpc3QgfSBmcm9tICcuL3N1c3BlbnNlLWxpc3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAnLi9wb3J0YWxzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7XG5cdGh5ZHJhdGUsXG5cdHJlbmRlcixcblx0UkVBQ1RfRUxFTUVOVF9UWVBFLFxuXHRfX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRFxufSBmcm9tICcuL3JlbmRlcic7XG5cbmNvbnN0IHZlcnNpb24gPSAnMTguMy4xJzsgLy8gdHJpY2sgbGlicmFyaWVzIHRvIHRoaW5rIHdlIGFyZSByZWFjdFxuXG4vKipcbiAqIExlZ2FjeSB2ZXJzaW9uIG9mIGNyZWF0ZUVsZW1lbnQuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlW1widHlwZVwiXX0gdHlwZSBUaGUgbm9kZSBuYW1lIG9yIENvbXBvbmVudCBjb25zdHJ1Y3RvclxuICovXG5mdW5jdGlvbiBjcmVhdGVGYWN0b3J5KHR5cGUpIHtcblx0cmV0dXJuIGNyZWF0ZUVsZW1lbnQuYmluZChudWxsLCB0eXBlKTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcGFzc2VkIGVsZW1lbnQgaXMgYSB2YWxpZCAocClyZWFjdCBub2RlLlxuICogQHBhcmFtIHsqfSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQoZWxlbWVudCkge1xuXHRyZXR1cm4gISFlbGVtZW50ICYmIGVsZW1lbnQuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcGFzc2VkIGVsZW1lbnQgaXMgYSBGcmFnbWVudCBub2RlLlxuICogQHBhcmFtIHsqfSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNGcmFnbWVudChlbGVtZW50KSB7XG5cdHJldHVybiBpc1ZhbGlkRWxlbWVudChlbGVtZW50KSAmJiBlbGVtZW50LnR5cGUgPT09IEZyYWdtZW50O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBwYXNzZWQgZWxlbWVudCBpcyBhIE1lbW8gbm9kZS5cbiAqIEBwYXJhbSB7Kn0gZWxlbWVudCBUaGUgZWxlbWVudCB0byBjaGVja1xuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzTWVtbyhlbGVtZW50KSB7XG5cdHJldHVybiAoXG5cdFx0ISFlbGVtZW50ICYmXG5cdFx0ISFlbGVtZW50LmRpc3BsYXlOYW1lICYmXG5cdFx0KHR5cGVvZiBlbGVtZW50LmRpc3BsYXlOYW1lID09PSAnc3RyaW5nJyB8fFxuXHRcdFx0ZWxlbWVudC5kaXNwbGF5TmFtZSBpbnN0YW5jZW9mIFN0cmluZykgJiZcblx0XHRlbGVtZW50LmRpc3BsYXlOYW1lLnN0YXJ0c1dpdGgoJ01lbW8oJylcblx0KTtcbn1cblxuLyoqXG4gKiBXcmFwIGBjbG9uZUVsZW1lbnRgIHRvIGFib3J0IGlmIHRoZSBwYXNzZWQgZWxlbWVudCBpcyBub3QgYSB2YWxpZCBlbGVtZW50IGFuZCBhcHBseVxuICogYWxsIHZub2RlIG5vcm1hbGl6YXRpb25zLlxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZX0gZWxlbWVudCBUaGUgdm5vZGUgdG8gY2xvbmVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcyBQcm9wcyB0byBhZGQgd2hlbiBjbG9uaW5nXG4gKiBAcGFyYW0ge0FycmF5PGltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudENoaWxkcmVuPn0gcmVzdCBPcHRpb25hbCBjb21wb25lbnQgY2hpbGRyZW5cbiAqL1xuZnVuY3Rpb24gY2xvbmVFbGVtZW50KGVsZW1lbnQpIHtcblx0aWYgKCFpc1ZhbGlkRWxlbWVudChlbGVtZW50KSkgcmV0dXJuIGVsZW1lbnQ7XG5cdHJldHVybiBwcmVhY3RDbG9uZUVsZW1lbnQuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYSBjb21wb25lbnQgdHJlZSBmcm9tIHRoZSBET00sIGluY2x1ZGluZyBzdGF0ZSBhbmQgZXZlbnQgaGFuZGxlcnMuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlByZWFjdEVsZW1lbnR9IGNvbnRhaW5lclxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XG5cdGlmIChjb250YWluZXIuX2NoaWxkcmVuKSB7XG5cdFx0cHJlYWN0UmVuZGVyKG51bGwsIGNvbnRhaW5lcik7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbWF0Y2hpbmcgRE9NIG5vZGUgZm9yIGEgY29tcG9uZW50XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gY29tcG9uZW50XG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuUHJlYWN0RWxlbWVudCB8IG51bGx9XG4gKi9cbmZ1bmN0aW9uIGZpbmRET01Ob2RlKGNvbXBvbmVudCkge1xuXHRyZXR1cm4gKFxuXHRcdChjb21wb25lbnQgJiZcblx0XHRcdChjb21wb25lbnQuYmFzZSB8fCAoY29tcG9uZW50Lm5vZGVUeXBlID09PSAxICYmIGNvbXBvbmVudCkpKSB8fFxuXHRcdG51bGxcblx0KTtcbn1cblxuLyoqXG4gKiBEZXByZWNhdGVkIHdheSB0byBjb250cm9sIGJhdGNoZWQgcmVuZGVyaW5nIGluc2lkZSB0aGUgcmVjb25jaWxlciwgYnV0IHdlXG4gKiBhbHJlYWR5IHNjaGVkdWxlIGluIGJhdGNoZXMgaW5zaWRlIG91ciByZW5kZXJpbmcgY29kZVxuICogQHRlbXBsYXRlIEFyZ1xuICogQHBhcmFtIHsoYXJnOiBBcmcpID0+IHZvaWR9IGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgdHJpZ2dlcnMgdGhlIHVwZGF0ZWRcbiAqIEBwYXJhbSB7QXJnfSBbYXJnXSBPcHRpb25hbCBhcmd1bWVudCB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbmNvbnN0IHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzID0gKGNhbGxiYWNrLCBhcmcpID0+IGNhbGxiYWNrKGFyZyk7XG5cbi8qKlxuICogSW4gUmVhY3QsIGBmbHVzaFN5bmNgIGZsdXNoZXMgdGhlIGVudGlyZSB0cmVlIGFuZCBmb3JjZXMgYSByZXJlbmRlci4gSXQnc1xuICogaW1wbG1lbnRlZCBoZXJlIGFzIGEgbm8tb3AuXG4gKiBAdGVtcGxhdGUgQXJnXG4gKiBAdGVtcGxhdGUgUmVzdWx0XG4gKiBAcGFyYW0geyhhcmc6IEFyZykgPT4gUmVzdWx0fSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHJ1bnMgYmVmb3JlIHRoZSBmbHVzaFxuICogQHBhcmFtIHtBcmd9IFthcmddIE9wdGlvbmFsIGFyZ3VtZW50IHRoYXQgY2FuIGJlIHBhc3NlZCB0byB0aGUgY2FsbGJhY2tcbiAqIEByZXR1cm5zXG4gKi9cbmNvbnN0IGZsdXNoU3luYyA9IChjYWxsYmFjaywgYXJnKSA9PiBjYWxsYmFjayhhcmcpO1xuXG4vKipcbiAqIFN0cmljdCBNb2RlIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBQcmVhY3QsIHNvIHdlIHByb3ZpZGUgYSBzdGFuZC1pbiBmb3IgaXRcbiAqIHRoYXQganVzdCByZW5kZXJzIGl0cyBjaGlsZHJlbiB3aXRob3V0IGltcG9zaW5nIGFueSByZXN0cmljdGlvbnMuXG4gKi9cbmNvbnN0IFN0cmljdE1vZGUgPSBGcmFnbWVudDtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0VHJhbnNpdGlvbihjYikge1xuXHRjYigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlRGVmZXJyZWRWYWx1ZSh2YWwpIHtcblx0cmV0dXJuIHZhbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVRyYW5zaXRpb24oKSB7XG5cdHJldHVybiBbZmFsc2UsIHN0YXJ0VHJhbnNpdGlvbl07XG59XG5cbi8vIFRPRE86IGluIHRoZW9yeSB0aGlzIHNob3VsZCBiZSBkb25lIGFmdGVyIGEgVk5vZGUgaXMgZGlmZmVkIGFzIHdlIHdhbnQgdG8gaW5zZXJ0XG4vLyBzdHlsZXMvLi4uIGJlZm9yZSBpdCBhdHRhY2hlc1xuZXhwb3J0IGNvbnN0IHVzZUluc2VydGlvbkVmZmVjdCA9IHVzZUxheW91dEVmZmVjdDtcblxuLy8gY29tcGF0IHRvIHJlYWN0LWlzXG5leHBvcnQgY29uc3QgaXNFbGVtZW50ID0gaXNWYWxpZEVsZW1lbnQ7XG5cbi8qKlxuICogVGhpcyBpcyB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9ibG9iL21haW4vcGFja2FnZXMvdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvc3JjL3VzZVN5bmNFeHRlcm5hbFN0b3JlU2hpbUNsaWVudC5qcyNMODRcbiAqIG9uIGEgaGlnaCBsZXZlbCB0aGlzIGN1dHMgb3V0IHRoZSB3YXJuaW5ncywgLi4uIGFuZCBhdHRlbXB0cyBhIHNtYWxsZXIgaW1wbGVtZW50YXRpb25cbiAqIEB0eXBlZGVmIHt7IF92YWx1ZTogYW55OyBfZ2V0U25hcHNob3Q6ICgpID0+IGFueSB9fSBTdG9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCkge1xuXHRjb25zdCB2YWx1ZSA9IGdldFNuYXBzaG90KCk7XG5cblx0LyoqXG5cdCAqIEB0eXBlZGVmIHt7IF9pbnN0YW5jZTogU3RvcmUgfX0gU3RvcmVSZWZcblx0ICogQHR5cGUge1tTdG9yZVJlZiwgKHN0b3JlOiBTdG9yZVJlZikgPT4gdm9pZF19XG5cdCAqL1xuXHRjb25zdCBbeyBfaW5zdGFuY2UgfSwgZm9yY2VVcGRhdGVdID0gdXNlU3RhdGUoe1xuXHRcdF9pbnN0YW5jZTogeyBfdmFsdWU6IHZhbHVlLCBfZ2V0U25hcHNob3Q6IGdldFNuYXBzaG90IH1cblx0fSk7XG5cblx0dXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcblx0XHRfaW5zdGFuY2UuX3ZhbHVlID0gdmFsdWU7XG5cdFx0X2luc3RhbmNlLl9nZXRTbmFwc2hvdCA9IGdldFNuYXBzaG90O1xuXG5cdFx0aWYgKGRpZFNuYXBzaG90Q2hhbmdlKF9pbnN0YW5jZSkpIHtcblx0XHRcdGZvcmNlVXBkYXRlKHsgX2luc3RhbmNlIH0pO1xuXHRcdH1cblx0fSwgW3N1YnNjcmliZSwgdmFsdWUsIGdldFNuYXBzaG90XSk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoZGlkU25hcHNob3RDaGFuZ2UoX2luc3RhbmNlKSkge1xuXHRcdFx0Zm9yY2VVcGRhdGUoeyBfaW5zdGFuY2UgfSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHRpZiAoZGlkU25hcHNob3RDaGFuZ2UoX2luc3RhbmNlKSkge1xuXHRcdFx0XHRmb3JjZVVwZGF0ZSh7IF9pbnN0YW5jZSB9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fSwgW3N1YnNjcmliZV0pO1xuXG5cdHJldHVybiB2YWx1ZTtcbn1cblxuLyoqIEB0eXBlIHsoaW5zdDogU3RvcmUpID0+IGJvb2xlYW59ICovXG5mdW5jdGlvbiBkaWRTbmFwc2hvdENoYW5nZShpbnN0KSB7XG5cdGNvbnN0IGxhdGVzdEdldFNuYXBzaG90ID0gaW5zdC5fZ2V0U25hcHNob3Q7XG5cdGNvbnN0IHByZXZWYWx1ZSA9IGluc3QuX3ZhbHVlO1xuXHR0cnkge1xuXHRcdGNvbnN0IG5leHRWYWx1ZSA9IGxhdGVzdEdldFNuYXBzaG90KCk7XG5cdFx0cmV0dXJuICFpcyhwcmV2VmFsdWUsIG5leHRWYWx1ZSk7XG5cdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn1cblxuZXhwb3J0ICogZnJvbSAncHJlYWN0L2hvb2tzJztcbmV4cG9ydCB7XG5cdHZlcnNpb24sXG5cdENoaWxkcmVuLFxuXHRyZW5kZXIsXG5cdGh5ZHJhdGUsXG5cdHVubW91bnRDb21wb25lbnRBdE5vZGUsXG5cdGNyZWF0ZVBvcnRhbCxcblx0Y3JlYXRlRWxlbWVudCxcblx0Y3JlYXRlQ29udGV4dCxcblx0Y3JlYXRlRmFjdG9yeSxcblx0Y2xvbmVFbGVtZW50LFxuXHRjcmVhdGVSZWYsXG5cdEZyYWdtZW50LFxuXHRpc1ZhbGlkRWxlbWVudCxcblx0aXNGcmFnbWVudCxcblx0aXNNZW1vLFxuXHRmaW5kRE9NTm9kZSxcblx0Q29tcG9uZW50LFxuXHRQdXJlQ29tcG9uZW50LFxuXHRtZW1vLFxuXHRmb3J3YXJkUmVmLFxuXHRmbHVzaFN5bmMsXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2Vcblx0dW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMsXG5cdFN0cmljdE1vZGUsXG5cdFN1c3BlbnNlLFxuXHRTdXNwZW5zZUxpc3QsXG5cdGxhenksXG5cdF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEXG59O1xuXG4vLyBSZWFjdCBjb3BpZXMgdGhlIG5hbWVkIGV4cG9ydHMgdG8gdGhlIGRlZmF1bHQgb25lLlxuZXhwb3J0IGRlZmF1bHQge1xuXHR1c2VTdGF0ZSxcblx0dXNlSWQsXG5cdHVzZVJlZHVjZXIsXG5cdHVzZUVmZmVjdCxcblx0dXNlTGF5b3V0RWZmZWN0LFxuXHR1c2VJbnNlcnRpb25FZmZlY3QsXG5cdHVzZVRyYW5zaXRpb24sXG5cdHVzZURlZmVycmVkVmFsdWUsXG5cdHVzZVN5bmNFeHRlcm5hbFN0b3JlLFxuXHRzdGFydFRyYW5zaXRpb24sXG5cdHVzZVJlZixcblx0dXNlSW1wZXJhdGl2ZUhhbmRsZSxcblx0dXNlTWVtbyxcblx0dXNlQ2FsbGJhY2ssXG5cdHVzZUNvbnRleHQsXG5cdHVzZURlYnVnVmFsdWUsXG5cdHZlcnNpb24sXG5cdENoaWxkcmVuLFxuXHRyZW5kZXIsXG5cdGh5ZHJhdGUsXG5cdHVubW91bnRDb21wb25lbnRBdE5vZGUsXG5cdGNyZWF0ZVBvcnRhbCxcblx0Y3JlYXRlRWxlbWVudCxcblx0Y3JlYXRlQ29udGV4dCxcblx0Y3JlYXRlRmFjdG9yeSxcblx0Y2xvbmVFbGVtZW50LFxuXHRjcmVhdGVSZWYsXG5cdEZyYWdtZW50LFxuXHRpc1ZhbGlkRWxlbWVudCxcblx0aXNFbGVtZW50LFxuXHRpc0ZyYWdtZW50LFxuXHRpc01lbW8sXG5cdGZpbmRET01Ob2RlLFxuXHRDb21wb25lbnQsXG5cdFB1cmVDb21wb25lbnQsXG5cdG1lbW8sXG5cdGZvcndhcmRSZWYsXG5cdGZsdXNoU3luYyxcblx0dW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMsXG5cdFN0cmljdE1vZGUsXG5cdFN1c3BlbnNlLFxuXHRTdXNwZW5zZUxpc3QsXG5cdGxhenksXG5cdF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEXG59O1xuIiwgImNvbnN0IEVOQ09ERURfRU5USVRJRVMgPSAvW1wiJjxdLztcblxuLyoqIEBwYXJhbSB7c3RyaW5nfSBzdHIgKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVFbnRpdGllcyhzdHIpIHtcblx0Ly8gU2tpcCBhbGwgd29yayBmb3Igc3RyaW5ncyB3aXRoIG5vIGVudGl0aWVzIG5lZWRpbmcgZW5jb2Rpbmc6XG5cdGlmIChzdHIubGVuZ3RoID09PSAwIHx8IEVOQ09ERURfRU5USVRJRVMudGVzdChzdHIpID09PSBmYWxzZSkgcmV0dXJuIHN0cjtcblxuXHRsZXQgbGFzdCA9IDAsXG5cdFx0aSA9IDAsXG5cdFx0b3V0ID0gJycsXG5cdFx0Y2ggPSAnJztcblxuXHQvLyBTZWVrIGZvcndhcmQgaW4gc3RyIHVudGlsIHRoZSBuZXh0IGVudGl0eSBjaGFyOlxuXHRmb3IgKDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuXHRcdHN3aXRjaCAoc3RyLmNoYXJDb2RlQXQoaSkpIHtcblx0XHRcdGNhc2UgMzQ6XG5cdFx0XHRcdGNoID0gJyZxdW90Oyc7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAzODpcblx0XHRcdFx0Y2ggPSAnJmFtcDsnO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgNjA6XG5cdFx0XHRcdGNoID0gJyZsdDsnO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBBcHBlbmQgc2tpcHBlZC9idWZmZXJlZCBjaGFyYWN0ZXJzIGFuZCB0aGUgZW5jb2RlZCBlbnRpdHk6XG5cdFx0aWYgKGkgIT09IGxhc3QpIG91dCArPSBzdHIuc2xpY2UobGFzdCwgaSk7XG5cdFx0b3V0ICs9IGNoO1xuXHRcdC8vIFN0YXJ0IHRoZSBuZXh0IHNlZWsvYnVmZmVyIGFmdGVyIHRoZSBlbnRpdHkncyBvZmZzZXQ6XG5cdFx0bGFzdCA9IGkgKyAxO1xuXHR9XG5cdGlmIChpICE9PSBsYXN0KSBvdXQgKz0gc3RyLnNsaWNlKGxhc3QsIGkpO1xuXHRyZXR1cm4gb3V0O1xufVxuIiwgIi8qKiBOb3JtYWwgaHlkcmF0aW9uIHRoYXQgYXR0YWNoZXMgdG8gYSBET00gdHJlZSBidXQgZG9lcyBub3QgZGlmZiBpdC4gKi9cbmV4cG9ydCBjb25zdCBNT0RFX0hZRFJBVEUgPSAxIDw8IDU7XG4vKiogU2lnbmlmaWVzIHRoaXMgVk5vZGUgc3VzcGVuZGVkIG9uIHRoZSBwcmV2aW91cyByZW5kZXIgKi9cbmV4cG9ydCBjb25zdCBNT0RFX1NVU1BFTkRFRCA9IDEgPDwgNztcbi8qKiBJbmRpY2F0ZXMgdGhhdCB0aGlzIG5vZGUgbmVlZHMgdG8gYmUgaW5zZXJ0ZWQgd2hpbGUgcGF0Y2hpbmcgY2hpbGRyZW4gKi9cbmV4cG9ydCBjb25zdCBJTlNFUlRfVk5PREUgPSAxIDw8IDE2O1xuLyoqIEluZGljYXRlcyBhIFZOb2RlIGhhcyBiZWVuIG1hdGNoZWQgd2l0aCBhbm90aGVyIFZOb2RlIGluIHRoZSBkaWZmICovXG5leHBvcnQgY29uc3QgTUFUQ0hFRCA9IDEgPDwgMTc7XG5cbi8qKiBSZXNldCBhbGwgbW9kZSBmbGFncyAqL1xuZXhwb3J0IGNvbnN0IFJFU0VUX01PREUgPSB+KE1PREVfSFlEUkFURSB8IE1PREVfU1VTUEVOREVEKTtcblxuZXhwb3J0IGNvbnN0IEVNUFRZX09CSiA9IC8qKiBAdHlwZSB7YW55fSAqLyAoe30pO1xuZXhwb3J0IGNvbnN0IEVNUFRZX0FSUiA9IFtdO1xuZXhwb3J0IGNvbnN0IElTX05PTl9ESU1FTlNJT05BTCA9XG5cdC9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2k7XG4iLCAiaW1wb3J0IHsgb3B0aW9ucywgRnJhZ21lbnQgfSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHsgZW5jb2RlRW50aXRpZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IElTX05PTl9ESU1FTlNJT05BTCB9IGZyb20gJy4uLy4uL3NyYy9jb25zdGFudHMnO1xuXG5sZXQgdm5vZGVJZCA9IDA7XG5cbmNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqIFRoaXMgZmlsZSBleHBvcnRzIHZhcmlvdXMgbWV0aG9kcyB0aGF0IGltcGxlbWVudCBCYWJlbCdzIFwiYXV0b21hdGljXCIgSlNYIHJ1bnRpbWUgQVBJOlxuICogLSBqc3godHlwZSwgcHJvcHMsIGtleSlcbiAqIC0ganN4cyh0eXBlLCBwcm9wcywga2V5KVxuICogLSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgX19zb3VyY2UsIF9fc2VsZilcbiAqXG4gKiBUaGUgaW1wbGVtZW50YXRpb24gb2YgY3JlYXRlVk5vZGUgaGVyZSBpcyBvcHRpbWl6ZWQgZm9yIHBlcmZvcm1hbmNlLlxuICogQmVuY2htYXJrczogaHR0cHM6Ly9lc2JlbmNoLmNvbS9iZW5jaC81ZjZiNTRhMGI0NjMyMTAwYTdkY2QyYjNcbiAqL1xuXG4vKipcbiAqIEpTWC5FbGVtZW50IGZhY3RvcnkgdXNlZCBieSBCYWJlbCdzIHtydW50aW1lOlwiYXV0b21hdGljXCJ9IEpTWCB0cmFuc2Zvcm1cbiAqIEBwYXJhbSB7Vk5vZGVbJ3R5cGUnXX0gdHlwZVxuICogQHBhcmFtIHtWTm9kZVsncHJvcHMnXX0gcHJvcHNcbiAqIEBwYXJhbSB7Vk5vZGVbJ2tleSddfSBba2V5XVxuICogQHBhcmFtIHt1bmtub3dufSBbaXNTdGF0aWNDaGlsZHJlbl1cbiAqIEBwYXJhbSB7dW5rbm93bn0gW19fc291cmNlXVxuICogQHBhcmFtIHt1bmtub3dufSBbX19zZWxmXVxuICovXG5mdW5jdGlvbiBjcmVhdGVWTm9kZSh0eXBlLCBwcm9wcywga2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBfX3NvdXJjZSwgX19zZWxmKSB7XG5cdGlmICghcHJvcHMpIHByb3BzID0ge307XG5cdC8vIFdlJ2xsIHdhbnQgdG8gcHJlc2VydmUgYHJlZmAgaW4gcHJvcHMgdG8gZ2V0IHJpZCBvZiB0aGUgbmVlZCBmb3Jcblx0Ly8gZm9yd2FyZFJlZiBjb21wb25lbnRzIGluIHRoZSBmdXR1cmUsIGJ1dCB0aGF0IHNob3VsZCBoYXBwZW4gdmlhXG5cdC8vIGEgc2VwYXJhdGUgUFIuXG5cdGxldCBub3JtYWxpemVkUHJvcHMgPSBwcm9wcyxcblx0XHRyZWYsXG5cdFx0aTtcblxuXHRpZiAoJ3JlZicgaW4gcHJvcHMpIHtcblx0XHRyZWYgPSBwcm9wcy5yZWY7XG5cdFx0ZGVsZXRlIHByb3BzLnJlZjtcblx0fVxuXG5cdC8qKiBAdHlwZSB7Vk5vZGUgJiB7IF9fc291cmNlOiBhbnk7IF9fc2VsZjogYW55IH19ICovXG5cdGNvbnN0IHZub2RlID0ge1xuXHRcdHR5cGUsXG5cdFx0cHJvcHM6IG5vcm1hbGl6ZWRQcm9wcyxcblx0XHRrZXksXG5cdFx0cmVmLFxuXHRcdF9jaGlsZHJlbjogbnVsbCxcblx0XHRfcGFyZW50OiBudWxsLFxuXHRcdF9kZXB0aDogMCxcblx0XHRfZG9tOiBudWxsLFxuXHRcdF9uZXh0RG9tOiB1bmRlZmluZWQsXG5cdFx0X2NvbXBvbmVudDogbnVsbCxcblx0XHRjb25zdHJ1Y3RvcjogdW5kZWZpbmVkLFxuXHRcdF9vcmlnaW5hbDogLS12bm9kZUlkLFxuXHRcdF9pbmRleDogLTEsXG5cdFx0X2ZsYWdzOiAwLFxuXHRcdF9fc291cmNlLFxuXHRcdF9fc2VsZlxuXHR9O1xuXG5cdC8vIElmIGEgQ29tcG9uZW50IFZOb2RlLCBjaGVjayBmb3IgYW5kIGFwcGx5IGRlZmF1bHRQcm9wcy5cblx0Ly8gTm90ZTogYHR5cGVgIGlzIG9mdGVuIGEgU3RyaW5nLCBhbmQgY2FuIGJlIGB1bmRlZmluZWRgIGluIGRldmVsb3BtZW50LlxuXHRpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgJiYgKHJlZiA9IHR5cGUuZGVmYXVsdFByb3BzKSkge1xuXHRcdGZvciAoaSBpbiByZWYpXG5cdFx0XHRpZiAodHlwZW9mIG5vcm1hbGl6ZWRQcm9wc1tpXSA9PT0gJ3VuZGVmaW5lZCcpIHtcblx0XHRcdFx0bm9ybWFsaXplZFByb3BzW2ldID0gcmVmW2ldO1xuXHRcdFx0fVxuXHR9XG5cblx0aWYgKG9wdGlvbnMudm5vZGUpIG9wdGlvbnMudm5vZGUodm5vZGUpO1xuXHRyZXR1cm4gdm5vZGU7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgdGVtcGxhdGUgdm5vZGUuIFRoaXMgZnVuY3Rpb24gaXMgbm90IGV4cGVjdGVkIHRvIGJlXG4gKiB1c2VkIGRpcmVjdGx5LCBidXQgcmF0aGVyIHRocm91Z2ggYSBwcmVjb21waWxlIEpTWCB0cmFuc2Zvcm1cbiAqIEBwYXJhbSB7c3RyaW5nW119IHRlbXBsYXRlc1xuICogQHBhcmFtICB7QXJyYXk8c3RyaW5nIHwgbnVsbCB8IFZOb2RlPn0gZXhwcnNcbiAqIEByZXR1cm5zIHtWTm9kZX1cbiAqL1xuZnVuY3Rpb24ganN4VGVtcGxhdGUodGVtcGxhdGVzLCAuLi5leHBycykge1xuXHRjb25zdCB2bm9kZSA9IGNyZWF0ZVZOb2RlKEZyYWdtZW50LCB7IHRwbDogdGVtcGxhdGVzLCBleHBycyB9KTtcblx0Ly8gQnlwYXNzIHJlbmRlciB0byBzdHJpbmcgdG9wIGxldmVsIEZyYWdtZW50IG9wdGltaXphdGlvblxuXHR2bm9kZS5rZXkgPSB2bm9kZS5fdm5vZGU7XG5cdHJldHVybiB2bm9kZTtcbn1cblxuY29uc3QgSlNfVE9fQ1NTID0ge307XG5jb25zdCBDU1NfUkVHRVggPSAvW0EtWl0vZztcblxuLyoqXG4gKiBTZXJpYWxpemUgYW4gSFRNTCBhdHRyaWJ1dGUgdG8gYSBzdHJpbmcuIFRoaXMgZnVuY3Rpb24gaXMgbm90XG4gKiBleHBlY3RlZCB0byBiZSB1c2VkIGRpcmVjdGx5LCBidXQgcmF0aGVyIHRocm91Z2ggYSBwcmVjb21waWxlXG4gKiBKU1ggdHJhbnNmb3JtXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgYXR0cmlidXRlIG5hbWVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIGF0dHJpYnV0ZSB2YWx1ZVxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZnVuY3Rpb24ganN4QXR0cihuYW1lLCB2YWx1ZSkge1xuXHRpZiAob3B0aW9ucy5hdHRyKSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gb3B0aW9ucy5hdHRyKG5hbWUsIHZhbHVlKTtcblx0XHRpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiByZXN1bHQ7XG5cdH1cblxuXHRpZiAobmFtZSA9PT0gJ3JlZicgfHwgbmFtZSA9PT0gJ2tleScpIHJldHVybiAnJztcblx0aWYgKG5hbWUgPT09ICdzdHlsZScgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuXHRcdGxldCBzdHIgPSAnJztcblx0XHRmb3IgKGxldCBwcm9wIGluIHZhbHVlKSB7XG5cdFx0XHRsZXQgdmFsID0gdmFsdWVbcHJvcF07XG5cdFx0XHRpZiAodmFsICE9IG51bGwgJiYgdmFsICE9PSAnJykge1xuXHRcdFx0XHRjb25zdCBuYW1lID1cblx0XHRcdFx0XHRwcm9wWzBdID09ICctJ1xuXHRcdFx0XHRcdFx0PyBwcm9wXG5cdFx0XHRcdFx0XHQ6IEpTX1RPX0NTU1twcm9wXSB8fFxuXHRcdFx0XHRcdFx0XHQoSlNfVE9fQ1NTW3Byb3BdID0gcHJvcC5yZXBsYWNlKENTU19SRUdFWCwgJy0kJicpLnRvTG93ZXJDYXNlKCkpO1xuXG5cdFx0XHRcdGxldCBzdWZmaXggPSAnOyc7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHR0eXBlb2YgdmFsID09PSAnbnVtYmVyJyAmJlxuXHRcdFx0XHRcdC8vIEV4Y2x1ZGUgY3VzdG9tLWF0dHJpYnV0ZXNcblx0XHRcdFx0XHQhbmFtZS5zdGFydHNXaXRoKCctLScpICYmXG5cdFx0XHRcdFx0IUlTX05PTl9ESU1FTlNJT05BTC50ZXN0KG5hbWUpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdHN1ZmZpeCA9ICdweDsnO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHN0ciA9IHN0ciArIG5hbWUgKyAnOicgKyB2YWwgKyBzdWZmaXg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBuYW1lICsgJz1cIicgKyBzdHIgKyAnXCInO1xuXHR9XG5cblx0aWYgKFxuXHRcdHZhbHVlID09IG51bGwgfHxcblx0XHR2YWx1ZSA9PT0gZmFsc2UgfHxcblx0XHR0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgfHxcblx0XHR0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG5cdCkge1xuXHRcdHJldHVybiAnJztcblx0fSBlbHNlIGlmICh2YWx1ZSA9PT0gdHJ1ZSkgcmV0dXJuIG5hbWU7XG5cblx0cmV0dXJuIG5hbWUgKyAnPVwiJyArIGVuY29kZUVudGl0aWVzKHZhbHVlKSArICdcIic7XG59XG5cbi8qKlxuICogRXNjYXBlIGEgZHluYW1pYyBjaGlsZCBwYXNzZWQgdG8gYGpzeFRlbXBsYXRlYC4gVGhpcyBmdW5jdGlvblxuICogaXMgbm90IGV4cGVjdGVkIHRvIGJlIHVzZWQgZGlyZWN0bHksIGJ1dCByYXRoZXIgdGhyb3VnaCBhXG4gKiBwcmVjb21waWxlIEpTWCB0cmFuc2Zvcm1cbiAqIEBwYXJhbSB7Kn0gdmFsdWVcbiAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsIHwgVk5vZGUgfCBBcnJheTxzdHJpbmcgfCBudWxsIHwgVk5vZGU+fVxuICovXG5mdW5jdGlvbiBqc3hFc2NhcGUodmFsdWUpIHtcblx0aWYgKFxuXHRcdHZhbHVlID09IG51bGwgfHxcblx0XHR0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fFxuXHRcdHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJ1xuXHQpIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG5cdFx0Ly8gQ2hlY2sgZm9yIFZOb2RlXG5cdFx0aWYgKHZhbHVlLmNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQpIHJldHVybiB2YWx1ZTtcblxuXHRcdGlmIChpc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHR2YWx1ZVtpXSA9IGpzeEVzY2FwZSh2YWx1ZVtpXSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGVuY29kZUVudGl0aWVzKCcnICsgdmFsdWUpO1xufVxuXG5leHBvcnQge1xuXHRjcmVhdGVWTm9kZSBhcyBqc3gsXG5cdGNyZWF0ZVZOb2RlIGFzIGpzeHMsXG5cdGNyZWF0ZVZOb2RlIGFzIGpzeERFVixcblx0RnJhZ21lbnQsXG5cdC8vIHByZWNvbXBpbGVkIEpTWCB0cmFuc2Zvcm1cblx0anN4VGVtcGxhdGUsXG5cdGpzeEF0dHIsXG5cdGpzeEVzY2FwZVxufTtcbiIsICIvKipcbiAqIEBtb2R1bGUgdWlcbiAqL1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWR1Y2VyLCB1c2VSZWYgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQge1xuICAgIEFQUF9DT05URVhULFxuICAgIENPTVBPTkVOVF9DT05URVhULFxuICAgIENVUlJFTlRfRklMRV9DT05URVhULFxuICAgIERBVEFDT1JFX0NPTlRFWFQsXG4gICAgRXJyb3JNZXNzYWdlLFxuICAgIE1hcmtkb3duLFxufSBmcm9tIFwiLi4vLi4vdWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBnZXRGaWxlVGl0bGUsIGxpbmVSYW5nZSB9IGZyb20gXCJ1dGlscy9ub3JtYWxpemVyc1wiO1xuXG5pbXBvcnQgXCIuL2VtYmVkLmNzc1wiO1xuXG4vKiogUmVuZGVycyBhbiBlbWJlZCBpbiB0aGUgY2Fub25pY2FsIE9ic2lkaWFuIHN0eWxlLlxuICpcbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFbWJlZCh7XG4gICAgbGluayxcbiAgICBpbmxpbmUsXG4gICAgc291cmNlUGF0aDogbWF5YmVTb3VyY2VQYXRoLFxufToge1xuICAgIC8qKiBUaGUgbGluayB0aGF0IGlzIGJlaW5nIGVtYmVkZGVkLiAqL1xuICAgIGxpbms6IExpbms7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGVtYmVkIHNob3VsZCBiZSBzaG93biBpbmxpbmUgd2l0aCBsZXNzIHBhZGRpbmcuICovXG4gICAgaW5saW5lOiBib29sZWFuO1xuICAgIC8qKiBUaGUgcGF0aCB3aGljaCB0aGUgbGluayB3aWxsIGJlIHJlc29sdmVkIHJlbGF0aXZlIHRvLiAqL1xuICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG59KSB7XG4gICAgY29uc3QgYXBwID0gdXNlQ29udGV4dChBUFBfQ09OVEVYVCk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdXNlQ29udGV4dChDT01QT05FTlRfQ09OVEVYVCk7XG4gICAgY29uc3QgY3VycmVudEZpbGUgPSB1c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gbWF5YmVTb3VyY2VQYXRoID8/IGN1cnJlbnRGaWxlID8/IFwiXCI7XG5cbiAgICBjb25zdCBjb250YWluZXIgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBsaW5rZWRGaWxlID0gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Rmlyc3RMaW5rcGF0aERlc3QobGluay5wYXRoLCBzb3VyY2VQYXRoKSxcbiAgICAgICAgW2xpbmsucGF0aCwgc291cmNlUGF0aF1cbiAgICApO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFjb250YWluZXIuY3VycmVudCkgcmV0dXJuO1xuICAgICAgICBpZiAoIWxpbmtlZEZpbGUpIHJldHVybjtcblxuICAgICAgICBjb250YWluZXIuY3VycmVudC5pbm5lckhUTUwgPSBcIlwiO1xuXG4gICAgICAgIGNvbnN0IGNyZWF0b3IgPSBhcHAuZW1iZWRSZWdpc3RyeS5nZXRFbWJlZENyZWF0b3IobGlua2VkRmlsZSk7XG4gICAgICAgIGxldCBlbWJlZENvbXBvbmVudCA9IG5ldyBjcmVhdG9yKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxpbmt0ZXh0OiBsaW5rLnBhdGgsXG4gICAgICAgICAgICAgICAgc291cmNlUGF0aDogc291cmNlUGF0aCxcbiAgICAgICAgICAgICAgICBzaG93SW5saW5lOiBpbmxpbmUsXG4gICAgICAgICAgICAgICAgYXBwLFxuICAgICAgICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsOiBjb250YWluZXIuY3VycmVudCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5TW9kZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaW5rZWRGaWxlLFxuICAgICAgICAgICAgbGluay5zdWJwYXRoXG4gICAgICAgICk7XG5cbiAgICAgICAgY29tcG9uZW50LmFkZENoaWxkKGVtYmVkQ29tcG9uZW50KTtcbiAgICAgICAgZW1iZWRDb21wb25lbnQubG9hZEZpbGUobGlua2VkRmlsZSk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IGNvbXBvbmVudC5yZW1vdmVDaGlsZChlbWJlZENvbXBvbmVudCk7XG4gICAgfSwgW2NvbnRhaW5lci5jdXJyZW50LCBsaW5rZWRGaWxlLCBsaW5rLnN1YnBhdGhdKTtcblxuICAgIGlmICghbGlua2VkRmlsZSkge1xuICAgICAgICByZXR1cm4gPEVycm9yTWVzc2FnZSBtZXNzYWdlPXtgQ291bGQgbm90IGZpbmQgYSBwYWdlIGF0IGxpbmtlZCBsb2NhdGlvbjogJHtsaW5rLnBhdGh9YH0gLz47XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwiZGMtZW1iZWRcIiByZWY9e2NvbnRhaW5lcn0+PC9kaXY+O1xuICAgIH1cbn1cblxuLyoqXG4gKiBBbiBlbWJlZCBvZiBhbiBhcmJpdHJhcnkgc3BhbiBvZiBsaW5lcyBpbiBhIE1hcmtkb3duIGZpbGUuIE9wZXJhdGVzIGJ5IGFzeW5jaHJvbm91c2x5IGxvYWRpbmcgdGhlIGZpbGUgYW5kIHB1bGxpbmdcbiAqIG91dCB0aGUgZ2l2ZW4gW3N0YXJ0LCBlbmQpIGxpbmUgc3Bhbi5cbiAqXG4gKiBOb3RlIHRoYXQgaXQncyBwb3NzaWJsZSBmb3IgdGhlIGZpbGUgb24gZGlzayB0byBiZSBkaWZmZXJlbnQgdGhhbiBpdCB3YXMgd2hlbiB5b3UgZmlyc3QgbG9hZGVkIHRoZSBbc3RhcnQsIGVuZCkgbGluZSBzcGFuXG4gKiAtIGdlbmVyYWxseSwgZGF0YWNvcmUgd2lsbCBhc3luY2hyb25vdXNseSByZWxvYWQgdGhlc2UgZmlsZXMgaW4gdGhlIGJhY2tncm91bmQgYW5kIGZpeCBpdCdzIGluZGV4LCBidXQgeW91IG1heSBoYXZlIHNvbWVcbiAqIHN0cmFuZ2UgYXJ0aWZhY3RzIG90aGVyd2lzZS5cbiAqXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gTGluZVNwYW5FbWJlZCh7XG4gICAgcGF0aCxcbiAgICBzdGFydCxcbiAgICBlbmQsXG4gICAgZXhwbGFpbixcbiAgICBzaG93RXhwbGFpbiA9IHRydWUsXG59OiB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgZW5kOiBudW1iZXI7XG4gICAgZXhwbGFpbj86IHN0cmluZztcbiAgICBzaG93RXhwbGFpbj86IGJvb2xlYW47XG59KSB7XG4gICAgY29uc3QgY29udGVudCA9IHVzZUxpbmVTcGFuKHBhdGgsIHN0YXJ0LCBlbmQpO1xuICAgIGNvbnN0IGV4cGxhaW5lciA9IGV4cGxhaW4gPz8gYCR7Z2V0RmlsZVRpdGxlKHBhdGgpfSAoJHtzdGFydH0gLSAke2VuZH0pYDtcblxuICAgIC8vIFRvIGFsbG93IGZvciB0aGUgZXhwbGFpbmVyIHRvIGJlIGNsaWNrZWQgb24gdG8gbmF2aWdhdGUgdG8gdGhlIGdpdmVuIHBvc2l0aW9uLlxuICAgIGNvbnN0IHdvcmtzcGFjZSA9IHVzZUNvbnRleHQoQVBQX0NPTlRFWFQpPy53b3Jrc3BhY2U7XG4gICAgY29uc3Qgb25FeHBsYWluQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB3b3Jrc3BhY2U/Lm9wZW5MaW5rVGV4dChwYXRoLCBwYXRoLCBldmVudC5zaGlmdEtleSksXG4gICAgICAgIFtwYXRoXVxuICAgICk7XG5cbiAgICBzd2l0Y2ggKGNvbnRlbnQudHlwZSkge1xuICAgICAgICBjYXNlIFwibG9hZGluZ1wiOlxuICAgICAgICAgICAgcmV0dXJuIDxFcnJvck1lc3NhZ2UgbWVzc2FnZT17YFJlYWRpbmcgJHtwYXRofSAoJHtzdGFydH0gLSAke2VuZH0pYH0gLz47XG4gICAgICAgIGNhc2UgXCJmaWxlLW5vdC1mb3VuZFwiOlxuICAgICAgICAgICAgcmV0dXJuIDxFcnJvck1lc3NhZ2UgbWVzc2FnZT17YENvdWxkIG5vdCBmaW5kIGEgZmlsZSBhdCBwYXRoOiAke2NvbnRlbnQucGF0aH1gfSAvPjtcbiAgICAgICAgY2FzZSBcImVycm9yXCI6XG4gICAgICAgICAgICByZXR1cm4gPEVycm9yTWVzc2FnZSBtZXNzYWdlPXtjb250ZW50Lm1lc3NhZ2V9IC8+O1xuICAgICAgICBjYXNlIFwibG9hZGVkXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtc3Bhbi1lbWJlZFwiPlxuICAgICAgICAgICAgICAgICAgICB7c2hvd0V4cGxhaW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZW1iZWQtc291cmNlXCIgb25DbGljaz17b25FeHBsYWluQ2xpY2t9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtleHBsYWluZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxNYXJrZG93biBjb250ZW50PXtjb250ZW50LmNvbnRlbnR9IGlubGluZT17ZmFsc2V9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApO1xuICAgIH1cbn1cblxuLyoqIFN0YXRlIHRyYWNraW5nIGZvciBsb2FkaW5nIGEgbGluZSBzcGFuIGFzeW5jaHJvbm91c2x5LiAqL1xuZXhwb3J0IHR5cGUgTGluZVNwYW5Db250ZW50ID1cbiAgICB8IHsgdHlwZTogXCJsb2FkaW5nXCIgfVxuICAgIHwgeyB0eXBlOiBcImZpbGUtbm90LWZvdW5kXCI7IHBhdGg6IHN0cmluZyB9XG4gICAgfCB7IHR5cGU6IFwiZXJyb3JcIjsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICB8IHsgdHlwZTogXCJsb2FkZWRcIjsgY29udGVudDogc3RyaW5nIH07XG5cbi8qKiBVdGlsaXR5IGhvb2sgd2hpY2ggbG9hZHMgcGF0aFtzdGFydC4uZW5kKSBhcyBsb25nIGFzIHRoZSB0YXJnZXQgZmlsZSBleGlzdHMuXG4gKlxuICogQGdyb3VwIEhvb2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VMaW5lU3BhbihwYXRoOiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogTGluZVNwYW5Db250ZW50IHtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcbiAgICBjb25zdCBkYXRhY29yZSA9IHVzZUNvbnRleHQoREFUQUNPUkVfQ09OVEVYVCk7XG5cbiAgICBjb25zdCBbc3RhdGUsIHVwZGF0ZV0gPSB1c2VSZWR1Y2VyPExpbmVTcGFuQ29udGVudCwgTGluZVNwYW5Db250ZW50PihcbiAgICAgICAgKHN0YXRlLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgLy8gSWdub3JlIGFuIGVycm9yIHVwZGF0ZSB0aGF0IHdvdWxkIG92ZXJyaWRlIGEgdmFsaWQgY3VycmVudCBzdGF0ZTsgb3RoZXJ3aXNlLCB1cGRhdGUgdG8gdGhlIG5ldyBzdGF0ZS5cbiAgICAgICAgICAgIGlmIChzdGF0ZS50eXBlID09IFwibG9hZGVkXCIgJiYgZXZlbnQudHlwZSAhPT0gXCJsb2FkZWRcIikgcmV0dXJuIHN0YXRlO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gZXZlbnQ7XG4gICAgICAgIH0sXG4gICAgICAgIHsgdHlwZTogXCJsb2FkaW5nXCIgfVxuICAgICk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBSZXNvbHZlIHRoZSBjdXJyZW50IHBhdGggdG8gc2VlIGlmIGl0IHBvaW50cyB0byBhIHZhbGlkIGZpbGUuXG4gICAgICAgIGNvbnN0IGZpbGUgPSBhcHAudmF1bHQuZ2V0RmlsZUJ5UGF0aChwYXRoKTtcbiAgICAgICAgaWYgKGZpbGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgdXBkYXRlKHsgdHlwZTogXCJmaWxlLW5vdC1mb3VuZFwiLCBwYXRoOiBwYXRoIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJ5IHRvIGxvYWQgdGhlIGZpbGUgYXN5bmNocm9ub3VzbHkuXG4gICAgICAgIGRhdGFjb3JlXG4gICAgICAgICAgICAucmVhZChmaWxlKVxuICAgICAgICAgICAgLnRoZW4oKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGUoeyB0eXBlOiBcImxvYWRlZFwiLCBjb250ZW50OiBsaW5lUmFuZ2UoY29udGVudCwgc3RhcnQsIGVuZCkgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZSh7IHR5cGU6IFwiZXJyb3JcIiwgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH0sIFtwYXRoLCBzdGFydCwgZW5kXSk7XG5cbiAgICByZXR1cm4gc3RhdGU7XG59XG4iLCAiaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBTaW1wbGVFcnJvckJvdW5kYXJ5LCBDVVJSRU5UX0ZJTEVfQ09OVEVYVCwgRGF0YWNvcmVDb250ZXh0UHJvdmlkZXIgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IEFwcCwgTWFya2Rvd25SZW5kZXJDaGlsZCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRGF0YWNvcmVMb2NhbEFwaSB9IGZyb20gXCJhcGkvbG9jYWwtYXBpXCI7XG5pbXBvcnQgeyBoLCByZW5kZXIsIEZyYWdtZW50LCBWTm9kZSB9IGZyb20gXCJwcmVhY3RcIjtcbmltcG9ydCB7IHVubW91bnRDb21wb25lbnRBdE5vZGUgfSBmcm9tIFwicHJlYWN0L2NvbXBhdFwiO1xuaW1wb3J0IHsgU2NyaXB0TGFuZ3VhZ2UsIGFzeW5jRXZhbEluQ29udGV4dCwgdHJhbnNwaWxlIH0gZnJvbSBcInV0aWxzL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IExvYWRpbmdCb3VuZGFyeSwgU2NyaXB0Q29udGFpbmVyIH0gZnJvbSBcIi4vbG9hZGluZy1ib3VuZGFyeVwiO1xuaW1wb3J0IHsgRGF0YWNvcmUgfSBmcm9tIFwiaW5kZXgvZGF0YWNvcmVcIjtcblxuLyoqXG4gKiBSZW5kZXJzIGEgc2NyaXB0IGJ5IGV4ZWN1dGluZyBpdCBhbmQgaGFuZGluZyBpdCB0aGUgYXBwcm9wcmlhdGUgUmVhY3QgY29udGV4dCB0byBleGVjdXRlXG4gKiBhdXRvbWF0aWNhbGx5LlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWNvcmVKU1JlbmRlcmVyIGV4dGVuZHMgTWFya2Rvd25SZW5kZXJDaGlsZCB7XG4gICAgcHJpdmF0ZSBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGFwaTogRGF0YWNvcmVMb2NhbEFwaSxcbiAgICAgICAgcHVibGljIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gICAgICAgIHB1YmxpYyBwYXRoOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBzY3JpcHQ6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGxhbmd1YWdlOiBTY3JpcHRMYW5ndWFnZVxuICAgICkge1xuICAgICAgICBzdXBlcihjb250YWluZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBvbmxvYWQoKSB7XG4gICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyBBdHRlbXB0IHRvIHBhcnNlIGFuZCBldmFsdWF0ZSB0aGUgc2NyaXB0IHRvIHByb2R1Y2UgZWl0aGVyIGEgcmVuZGVyYWJsZSBKU1ggb2JqZWN0IG9yIGEgZnVuY3Rpb24uXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBwcmltaXRpdmVTY3JpcHQgPSB0cmFuc3BpbGUodGhpcy5zY3JpcHQsIHRoaXMubGFuZ3VhZ2UpO1xuICAgICAgICAgICAgY29uc3QgcmVuZGVyZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGFzeW5jRXZhbEluQ29udGV4dChwcmltaXRpdmVTY3JpcHQsIHtcbiAgICAgICAgICAgICAgICAgICAgZGM6IHRoaXMuYXBpLFxuICAgICAgICAgICAgICAgICAgICBoOiBoLFxuICAgICAgICAgICAgICAgICAgICBGcmFnbWVudDogRnJhZ21lbnQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZW5kZXIoXG4gICAgICAgICAgICAgICAgPERhdGFjb3JlQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgIGFwcD17dGhpcy5hcGkuYXBwfVxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e3RoaXN9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFjb3JlPXt0aGlzLmFwaS5jb3JlfVxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncz17dGhpcy5hcGkuY29yZS5zZXR0aW5nc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxDVVJSRU5UX0ZJTEVfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17dGhpcy5wYXRofT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTaW1wbGVFcnJvckJvdW5kYXJ5IG1lc3NhZ2U9XCJUaGUgZGF0YWNvcmUgc2NyaXB0IGZhaWxlZCB0byBleGVjdXRlLlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nQm91bmRhcnkgZGF0YWNvcmU9e3RoaXMuYXBpLmNvcmV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2NyaXB0Q29udGFpbmVyIGV4ZWN1dG9yPXtyZW5kZXJlcn0gc291cmNlUGF0aD17dGhpcy5wYXRofSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTG9hZGluZ0JvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TaW1wbGVFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgICA8L0NVUlJFTlRfRklMRV9DT05URVhULlByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvRGF0YWNvcmVDb250ZXh0UHJvdmlkZXI+LFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgICAgcmVuZGVyKFxuICAgICAgICAgICAgICAgIDxFcnJvck1lc3NhZ2UgbWVzc2FnZT1cIkRhdGFjb3JlIGZhaWxlZCB0byByZW5kZXIgdGhlIGNvZGUgYmxvY2suXCIgZXJyb3I9e1wiXCIgKyBleH0gLz4sXG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb251bmxvYWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZCkgdW5tb3VudENvbXBvbmVudEF0Tm9kZSh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMubG9hZGVkID0gZmFsc2U7XG4gICAgfVxufVxuXG4vKiogQSB0cml2aWFsIHdyYXBwZXIgd2hpY2ggYWxsb3dzIGEgcmVhY3QgY29tcG9uZW50IHRvIGxpdmUgZm9yIHRoZSBkdXJhdGlvbiBvZiBhIGBNYXJrZG93blJlbmRlckNoaWxkYC4gKi9cbmV4cG9ydCBjbGFzcyBSZWFjdFJlbmRlcmVyIGV4dGVuZHMgTWFya2Rvd25SZW5kZXJDaGlsZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgYXBwOiBBcHAsXG4gICAgICAgIHB1YmxpYyBkYXRhY29yZTogRGF0YWNvcmUsXG4gICAgICAgIHB1YmxpYyBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICAgICAgICBwdWJsaWMgc291cmNlUGF0aDogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgZWxlbWVudDogVk5vZGVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25sb2FkKCk6IHZvaWQge1xuICAgICAgICByZW5kZXIoXG4gICAgICAgICAgICA8RGF0YWNvcmVDb250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgICAgICBhcHA9e3RoaXMuYXBwfVxuICAgICAgICAgICAgICAgIGNvbXBvbmVudD17dGhpc31cbiAgICAgICAgICAgICAgICBkYXRhY29yZT17dGhpcy5kYXRhY29yZX1cbiAgICAgICAgICAgICAgICBzZXR0aW5ncz17dGhpcy5kYXRhY29yZS5zZXR0aW5nc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q1VSUkVOVF9GSUxFX0NPTlRFWFQuUHJvdmlkZXIgdmFsdWU9e3RoaXMuc291cmNlUGF0aH0+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nQm91bmRhcnkgZGF0YWNvcmU9e3RoaXMuZGF0YWNvcmV9Pnt0aGlzLmVsZW1lbnR9PC9Mb2FkaW5nQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgPC9DVVJSRU5UX0ZJTEVfQ09OVEVYVC5Qcm92aWRlcj5cbiAgICAgICAgICAgIDwvRGF0YWNvcmVDb250ZXh0UHJvdmlkZXI+LFxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb251bmxvYWQoKTogdm9pZCB7XG4gICAgICAgIHVubW91bnRDb21wb25lbnRBdE5vZGUodGhpcy5jb250YWluZXIpO1xuICAgIH1cbn1cbiIsICJleHBvcnQgdmFyIENvbnRleHR1YWxLZXl3b3JkOyAoZnVuY3Rpb24gKENvbnRleHR1YWxLZXl3b3JkKSB7XG4gIGNvbnN0IE5PTkUgPSAwOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIk5PTkVcIl0gPSBOT05FXSA9IFwiTk9ORVwiO1xuICBjb25zdCBfYWJzdHJhY3QgPSBOT05FICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYWJzdHJhY3RcIl0gPSBfYWJzdHJhY3RdID0gXCJfYWJzdHJhY3RcIjtcbiAgY29uc3QgX2FjY2Vzc29yID0gX2Fic3RyYWN0ICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYWNjZXNzb3JcIl0gPSBfYWNjZXNzb3JdID0gXCJfYWNjZXNzb3JcIjtcbiAgY29uc3QgX2FzID0gX2FjY2Vzc29yICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYXNcIl0gPSBfYXNdID0gXCJfYXNcIjtcbiAgY29uc3QgX2Fzc2VydCA9IF9hcyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2Fzc2VydFwiXSA9IF9hc3NlcnRdID0gXCJfYXNzZXJ0XCI7XG4gIGNvbnN0IF9hc3NlcnRzID0gX2Fzc2VydCArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2Fzc2VydHNcIl0gPSBfYXNzZXJ0c10gPSBcIl9hc3NlcnRzXCI7XG4gIGNvbnN0IF9hc3luYyA9IF9hc3NlcnRzICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYXN5bmNcIl0gPSBfYXN5bmNdID0gXCJfYXN5bmNcIjtcbiAgY29uc3QgX2F3YWl0ID0gX2FzeW5jICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYXdhaXRcIl0gPSBfYXdhaXRdID0gXCJfYXdhaXRcIjtcbiAgY29uc3QgX2NoZWNrcyA9IF9hd2FpdCArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2NoZWNrc1wiXSA9IF9jaGVja3NdID0gXCJfY2hlY2tzXCI7XG4gIGNvbnN0IF9jb25zdHJ1Y3RvciA9IF9jaGVja3MgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9jb25zdHJ1Y3RvclwiXSA9IF9jb25zdHJ1Y3Rvcl0gPSBcIl9jb25zdHJ1Y3RvclwiO1xuICBjb25zdCBfZGVjbGFyZSA9IF9jb25zdHJ1Y3RvciArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2RlY2xhcmVcIl0gPSBfZGVjbGFyZV0gPSBcIl9kZWNsYXJlXCI7XG4gIGNvbnN0IF9lbnVtID0gX2RlY2xhcmUgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9lbnVtXCJdID0gX2VudW1dID0gXCJfZW51bVwiO1xuICBjb25zdCBfZXhwb3J0cyA9IF9lbnVtICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfZXhwb3J0c1wiXSA9IF9leHBvcnRzXSA9IFwiX2V4cG9ydHNcIjtcbiAgY29uc3QgX2Zyb20gPSBfZXhwb3J0cyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2Zyb21cIl0gPSBfZnJvbV0gPSBcIl9mcm9tXCI7XG4gIGNvbnN0IF9nZXQgPSBfZnJvbSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2dldFwiXSA9IF9nZXRdID0gXCJfZ2V0XCI7XG4gIGNvbnN0IF9nbG9iYWwgPSBfZ2V0ICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfZ2xvYmFsXCJdID0gX2dsb2JhbF0gPSBcIl9nbG9iYWxcIjtcbiAgY29uc3QgX2ltcGxlbWVudHMgPSBfZ2xvYmFsICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfaW1wbGVtZW50c1wiXSA9IF9pbXBsZW1lbnRzXSA9IFwiX2ltcGxlbWVudHNcIjtcbiAgY29uc3QgX2luZmVyID0gX2ltcGxlbWVudHMgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9pbmZlclwiXSA9IF9pbmZlcl0gPSBcIl9pbmZlclwiO1xuICBjb25zdCBfaW50ZXJmYWNlID0gX2luZmVyICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfaW50ZXJmYWNlXCJdID0gX2ludGVyZmFjZV0gPSBcIl9pbnRlcmZhY2VcIjtcbiAgY29uc3QgX2lzID0gX2ludGVyZmFjZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2lzXCJdID0gX2lzXSA9IFwiX2lzXCI7XG4gIGNvbnN0IF9rZXlvZiA9IF9pcyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2tleW9mXCJdID0gX2tleW9mXSA9IFwiX2tleW9mXCI7XG4gIGNvbnN0IF9taXhpbnMgPSBfa2V5b2YgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9taXhpbnNcIl0gPSBfbWl4aW5zXSA9IFwiX21peGluc1wiO1xuICBjb25zdCBfbW9kdWxlID0gX21peGlucyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX21vZHVsZVwiXSA9IF9tb2R1bGVdID0gXCJfbW9kdWxlXCI7XG4gIGNvbnN0IF9uYW1lc3BhY2UgPSBfbW9kdWxlICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfbmFtZXNwYWNlXCJdID0gX25hbWVzcGFjZV0gPSBcIl9uYW1lc3BhY2VcIjtcbiAgY29uc3QgX29mID0gX25hbWVzcGFjZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX29mXCJdID0gX29mXSA9IFwiX29mXCI7XG4gIGNvbnN0IF9vcGFxdWUgPSBfb2YgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9vcGFxdWVcIl0gPSBfb3BhcXVlXSA9IFwiX29wYXF1ZVwiO1xuICBjb25zdCBfb3V0ID0gX29wYXF1ZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX291dFwiXSA9IF9vdXRdID0gXCJfb3V0XCI7XG4gIGNvbnN0IF9vdmVycmlkZSA9IF9vdXQgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9vdmVycmlkZVwiXSA9IF9vdmVycmlkZV0gPSBcIl9vdmVycmlkZVwiO1xuICBjb25zdCBfcHJpdmF0ZSA9IF9vdmVycmlkZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3ByaXZhdGVcIl0gPSBfcHJpdmF0ZV0gPSBcIl9wcml2YXRlXCI7XG4gIGNvbnN0IF9wcm90ZWN0ZWQgPSBfcHJpdmF0ZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3Byb3RlY3RlZFwiXSA9IF9wcm90ZWN0ZWRdID0gXCJfcHJvdGVjdGVkXCI7XG4gIGNvbnN0IF9wcm90byA9IF9wcm90ZWN0ZWQgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9wcm90b1wiXSA9IF9wcm90b10gPSBcIl9wcm90b1wiO1xuICBjb25zdCBfcHVibGljID0gX3Byb3RvICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfcHVibGljXCJdID0gX3B1YmxpY10gPSBcIl9wdWJsaWNcIjtcbiAgY29uc3QgX3JlYWRvbmx5ID0gX3B1YmxpYyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3JlYWRvbmx5XCJdID0gX3JlYWRvbmx5XSA9IFwiX3JlYWRvbmx5XCI7XG4gIGNvbnN0IF9yZXF1aXJlID0gX3JlYWRvbmx5ICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfcmVxdWlyZVwiXSA9IF9yZXF1aXJlXSA9IFwiX3JlcXVpcmVcIjtcbiAgY29uc3QgX3NhdGlzZmllcyA9IF9yZXF1aXJlICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfc2F0aXNmaWVzXCJdID0gX3NhdGlzZmllc10gPSBcIl9zYXRpc2ZpZXNcIjtcbiAgY29uc3QgX3NldCA9IF9zYXRpc2ZpZXMgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9zZXRcIl0gPSBfc2V0XSA9IFwiX3NldFwiO1xuICBjb25zdCBfc3RhdGljID0gX3NldCArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3N0YXRpY1wiXSA9IF9zdGF0aWNdID0gXCJfc3RhdGljXCI7XG4gIGNvbnN0IF9zeW1ib2wgPSBfc3RhdGljICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfc3ltYm9sXCJdID0gX3N5bWJvbF0gPSBcIl9zeW1ib2xcIjtcbiAgY29uc3QgX3R5cGUgPSBfc3ltYm9sICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfdHlwZVwiXSA9IF90eXBlXSA9IFwiX3R5cGVcIjtcbiAgY29uc3QgX3VuaXF1ZSA9IF90eXBlICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfdW5pcXVlXCJdID0gX3VuaXF1ZV0gPSBcIl91bmlxdWVcIjtcbiAgY29uc3QgX3VzaW5nID0gX3VuaXF1ZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3VzaW5nXCJdID0gX3VzaW5nXSA9IFwiX3VzaW5nXCI7XG59KShDb250ZXh0dWFsS2V5d29yZCB8fCAoQ29udGV4dHVhbEtleXdvcmQgPSB7fSkpO1xuIiwgIi8vIEdlbmVyYXRlZCBmaWxlLCBkbyBub3QgZWRpdCEgUnVuIFwieWFybiBnZW5lcmF0ZVwiIHRvIHJlLWdlbmVyYXRlIHRoaXMgZmlsZS5cbi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIEVudW0gb2YgYWxsIHRva2VuIHR5cGVzLCB3aXRoIGJpdCBmaWVsZHMgdG8gc2lnbmlmeSBtZWFuaW5nZnVsIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCB2YXIgVG9rZW5UeXBlOyAoZnVuY3Rpb24gKFRva2VuVHlwZSkge1xuICAvLyBQcmVjZWRlbmNlIDAgbWVhbnMgbm90IGFuIG9wZXJhdG9yOyBvdGhlcndpc2UgaXQgaXMgYSBwb3NpdGl2ZSBudW1iZXIgdXAgdG8gMTIuXG4gIGNvbnN0IFBSRUNFREVOQ0VfTUFTSyA9IDB4ZjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIlBSRUNFREVOQ0VfTUFTS1wiXSA9IFBSRUNFREVOQ0VfTUFTS10gPSBcIlBSRUNFREVOQ0VfTUFTS1wiO1xuICBjb25zdCBJU19LRVlXT1JEID0gMSA8PCA0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiSVNfS0VZV09SRFwiXSA9IElTX0tFWVdPUkRdID0gXCJJU19LRVlXT1JEXCI7XG4gIGNvbnN0IElTX0FTU0lHTiA9IDEgPDwgNTsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIklTX0FTU0lHTlwiXSA9IElTX0FTU0lHTl0gPSBcIklTX0FTU0lHTlwiO1xuICBjb25zdCBJU19SSUdIVF9BU1NPQ0lBVElWRSA9IDEgPDwgNjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIklTX1JJR0hUX0FTU09DSUFUSVZFXCJdID0gSVNfUklHSFRfQVNTT0NJQVRJVkVdID0gXCJJU19SSUdIVF9BU1NPQ0lBVElWRVwiO1xuICBjb25zdCBJU19QUkVGSVggPSAxIDw8IDc7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJJU19QUkVGSVhcIl0gPSBJU19QUkVGSVhdID0gXCJJU19QUkVGSVhcIjtcbiAgY29uc3QgSVNfUE9TVEZJWCA9IDEgPDwgODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIklTX1BPU1RGSVhcIl0gPSBJU19QT1NURklYXSA9IFwiSVNfUE9TVEZJWFwiO1xuICBjb25zdCBJU19FWFBSRVNTSU9OX1NUQVJUID0gMSA8PCA5OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiSVNfRVhQUkVTU0lPTl9TVEFSVFwiXSA9IElTX0VYUFJFU1NJT05fU1RBUlRdID0gXCJJU19FWFBSRVNTSU9OX1NUQVJUXCI7XG5cbiAgY29uc3QgbnVtID0gNTEyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wibnVtXCJdID0gbnVtXSA9IFwibnVtXCI7IC8vIG51bSBzdGFydHNFeHByXG4gIGNvbnN0IGJpZ2ludCA9IDE1MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJiaWdpbnRcIl0gPSBiaWdpbnRdID0gXCJiaWdpbnRcIjsgLy8gYmlnaW50IHN0YXJ0c0V4cHJcbiAgY29uc3QgZGVjaW1hbCA9IDI1NjA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJkZWNpbWFsXCJdID0gZGVjaW1hbF0gPSBcImRlY2ltYWxcIjsgLy8gZGVjaW1hbCBzdGFydHNFeHByXG4gIGNvbnN0IHJlZ2V4cCA9IDM1ODQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJyZWdleHBcIl0gPSByZWdleHBdID0gXCJyZWdleHBcIjsgLy8gcmVnZXhwIHN0YXJ0c0V4cHJcbiAgY29uc3Qgc3RyaW5nID0gNDYwODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInN0cmluZ1wiXSA9IHN0cmluZ10gPSBcInN0cmluZ1wiOyAvLyBzdHJpbmcgc3RhcnRzRXhwclxuICBjb25zdCBuYW1lID0gNTYzMjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIm5hbWVcIl0gPSBuYW1lXSA9IFwibmFtZVwiOyAvLyBuYW1lIHN0YXJ0c0V4cHJcbiAgY29uc3QgZW9mID0gNjE0NDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImVvZlwiXSA9IGVvZl0gPSBcImVvZlwiOyAvLyBlb2ZcbiAgY29uc3QgYnJhY2tldEwgPSA3NjgwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYnJhY2tldExcIl0gPSBicmFja2V0TF0gPSBcImJyYWNrZXRMXCI7IC8vIFsgc3RhcnRzRXhwclxuICBjb25zdCBicmFja2V0UiA9IDgxOTI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJicmFja2V0UlwiXSA9IGJyYWNrZXRSXSA9IFwiYnJhY2tldFJcIjsgLy8gXVxuICBjb25zdCBicmFjZUwgPSA5NzI4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYnJhY2VMXCJdID0gYnJhY2VMXSA9IFwiYnJhY2VMXCI7IC8vIHsgc3RhcnRzRXhwclxuICBjb25zdCBicmFjZUJhckwgPSAxMDc1MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImJyYWNlQmFyTFwiXSA9IGJyYWNlQmFyTF0gPSBcImJyYWNlQmFyTFwiOyAvLyB7fCBzdGFydHNFeHByXG4gIGNvbnN0IGJyYWNlUiA9IDExMjY0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYnJhY2VSXCJdID0gYnJhY2VSXSA9IFwiYnJhY2VSXCI7IC8vIH1cbiAgY29uc3QgYnJhY2VCYXJSID0gMTIyODg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJicmFjZUJhclJcIl0gPSBicmFjZUJhclJdID0gXCJicmFjZUJhclJcIjsgLy8gfH1cbiAgY29uc3QgcGFyZW5MID0gMTM4MjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJwYXJlbkxcIl0gPSBwYXJlbkxdID0gXCJwYXJlbkxcIjsgLy8gKCBzdGFydHNFeHByXG4gIGNvbnN0IHBhcmVuUiA9IDE0MzM2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wicGFyZW5SXCJdID0gcGFyZW5SXSA9IFwicGFyZW5SXCI7IC8vIClcbiAgY29uc3QgY29tbWEgPSAxNTM2MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImNvbW1hXCJdID0gY29tbWFdID0gXCJjb21tYVwiOyAvLyAsXG4gIGNvbnN0IHNlbWkgPSAxNjM4NDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInNlbWlcIl0gPSBzZW1pXSA9IFwic2VtaVwiOyAvLyA7XG4gIGNvbnN0IGNvbG9uID0gMTc0MDg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJjb2xvblwiXSA9IGNvbG9uXSA9IFwiY29sb25cIjsgLy8gOlxuICBjb25zdCBkb3VibGVDb2xvbiA9IDE4NDMyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiZG91YmxlQ29sb25cIl0gPSBkb3VibGVDb2xvbl0gPSBcImRvdWJsZUNvbG9uXCI7IC8vIDo6XG4gIGNvbnN0IGRvdCA9IDE5NDU2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiZG90XCJdID0gZG90XSA9IFwiZG90XCI7IC8vIC5cbiAgY29uc3QgcXVlc3Rpb24gPSAyMDQ4MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInF1ZXN0aW9uXCJdID0gcXVlc3Rpb25dID0gXCJxdWVzdGlvblwiOyAvLyA/XG4gIGNvbnN0IHF1ZXN0aW9uRG90ID0gMjE1MDQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJxdWVzdGlvbkRvdFwiXSA9IHF1ZXN0aW9uRG90XSA9IFwicXVlc3Rpb25Eb3RcIjsgLy8gPy5cbiAgY29uc3QgYXJyb3cgPSAyMjUyODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImFycm93XCJdID0gYXJyb3ddID0gXCJhcnJvd1wiOyAvLyA9PlxuICBjb25zdCB0ZW1wbGF0ZSA9IDIzNTUyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1widGVtcGxhdGVcIl0gPSB0ZW1wbGF0ZV0gPSBcInRlbXBsYXRlXCI7IC8vIHRlbXBsYXRlXG4gIGNvbnN0IGVsbGlwc2lzID0gMjQ1NzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJlbGxpcHNpc1wiXSA9IGVsbGlwc2lzXSA9IFwiZWxsaXBzaXNcIjsgLy8gLi4uXG4gIGNvbnN0IGJhY2tRdW90ZSA9IDI1NjAwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYmFja1F1b3RlXCJdID0gYmFja1F1b3RlXSA9IFwiYmFja1F1b3RlXCI7IC8vIGBcbiAgY29uc3QgZG9sbGFyQnJhY2VMID0gMjcxMzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJkb2xsYXJCcmFjZUxcIl0gPSBkb2xsYXJCcmFjZUxdID0gXCJkb2xsYXJCcmFjZUxcIjsgLy8gJHsgc3RhcnRzRXhwclxuICBjb25zdCBhdCA9IDI3NjQ4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYXRcIl0gPSBhdF0gPSBcImF0XCI7IC8vIEBcbiAgY29uc3QgaGFzaCA9IDI5MTg0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiaGFzaFwiXSA9IGhhc2hdID0gXCJoYXNoXCI7IC8vICMgc3RhcnRzRXhwclxuICBjb25zdCBlcSA9IDI5NzI4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiZXFcIl0gPSBlcV0gPSBcImVxXCI7IC8vID0gaXNBc3NpZ25cbiAgY29uc3QgYXNzaWduID0gMzA3NTI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJhc3NpZ25cIl0gPSBhc3NpZ25dID0gXCJhc3NpZ25cIjsgLy8gXz0gaXNBc3NpZ25cbiAgY29uc3QgcHJlSW5jRGVjID0gMzI2NDA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJwcmVJbmNEZWNcIl0gPSBwcmVJbmNEZWNdID0gXCJwcmVJbmNEZWNcIjsgLy8gKysvLS0gcHJlZml4IHBvc3RmaXggc3RhcnRzRXhwclxuICBjb25zdCBwb3N0SW5jRGVjID0gMzM2NjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJwb3N0SW5jRGVjXCJdID0gcG9zdEluY0RlY10gPSBcInBvc3RJbmNEZWNcIjsgLy8gKysvLS0gcHJlZml4IHBvc3RmaXggc3RhcnRzRXhwclxuICBjb25zdCBiYW5nID0gMzQ0MzI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJiYW5nXCJdID0gYmFuZ10gPSBcImJhbmdcIjsgLy8gISBwcmVmaXggc3RhcnRzRXhwclxuICBjb25zdCB0aWxkZSA9IDM1NDU2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1widGlsZGVcIl0gPSB0aWxkZV0gPSBcInRpbGRlXCI7IC8vIH4gcHJlZml4IHN0YXJ0c0V4cHJcbiAgY29uc3QgcGlwZWxpbmUgPSAzNTg0MTsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInBpcGVsaW5lXCJdID0gcGlwZWxpbmVdID0gXCJwaXBlbGluZVwiOyAvLyB8PiBwcmVjOjFcbiAgY29uc3QgbnVsbGlzaENvYWxlc2NpbmcgPSAzNjg2NjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIm51bGxpc2hDb2FsZXNjaW5nXCJdID0gbnVsbGlzaENvYWxlc2NpbmddID0gXCJudWxsaXNoQ29hbGVzY2luZ1wiOyAvLyA/PyBwcmVjOjJcbiAgY29uc3QgbG9naWNhbE9SID0gMzc4OTA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJsb2dpY2FsT1JcIl0gPSBsb2dpY2FsT1JdID0gXCJsb2dpY2FsT1JcIjsgLy8gfHwgcHJlYzoyXG4gIGNvbnN0IGxvZ2ljYWxBTkQgPSAzODkxNTsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImxvZ2ljYWxBTkRcIl0gPSBsb2dpY2FsQU5EXSA9IFwibG9naWNhbEFORFwiOyAvLyAmJiBwcmVjOjNcbiAgY29uc3QgYml0d2lzZU9SID0gMzk5NDA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJiaXR3aXNlT1JcIl0gPSBiaXR3aXNlT1JdID0gXCJiaXR3aXNlT1JcIjsgLy8gfCBwcmVjOjRcbiAgY29uc3QgYml0d2lzZVhPUiA9IDQwOTY1OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYml0d2lzZVhPUlwiXSA9IGJpdHdpc2VYT1JdID0gXCJiaXR3aXNlWE9SXCI7IC8vIF4gcHJlYzo1XG4gIGNvbnN0IGJpdHdpc2VBTkQgPSA0MTk5MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImJpdHdpc2VBTkRcIl0gPSBiaXR3aXNlQU5EXSA9IFwiYml0d2lzZUFORFwiOyAvLyAmIHByZWM6NlxuICBjb25zdCBlcXVhbGl0eSA9IDQzMDE1OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiZXF1YWxpdHlcIl0gPSBlcXVhbGl0eV0gPSBcImVxdWFsaXR5XCI7IC8vID09LyE9IHByZWM6N1xuICBjb25zdCBsZXNzVGhhbiA9IDQ0MDQwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wibGVzc1RoYW5cIl0gPSBsZXNzVGhhbl0gPSBcImxlc3NUaGFuXCI7IC8vIDwgcHJlYzo4XG4gIGNvbnN0IGdyZWF0ZXJUaGFuID0gNDUwNjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJncmVhdGVyVGhhblwiXSA9IGdyZWF0ZXJUaGFuXSA9IFwiZ3JlYXRlclRoYW5cIjsgLy8gPiBwcmVjOjhcbiAgY29uc3QgcmVsYXRpb25hbE9yRXF1YWwgPSA0NjA4ODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInJlbGF0aW9uYWxPckVxdWFsXCJdID0gcmVsYXRpb25hbE9yRXF1YWxdID0gXCJyZWxhdGlvbmFsT3JFcXVhbFwiOyAvLyA8PS8+PSBwcmVjOjhcbiAgY29uc3QgYml0U2hpZnRMID0gNDcxMTM7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJiaXRTaGlmdExcIl0gPSBiaXRTaGlmdExdID0gXCJiaXRTaGlmdExcIjsgLy8gPDwgcHJlYzo5XG4gIGNvbnN0IGJpdFNoaWZ0UiA9IDQ4MTM3OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYml0U2hpZnRSXCJdID0gYml0U2hpZnRSXSA9IFwiYml0U2hpZnRSXCI7IC8vID4+Lz4+PiBwcmVjOjlcbiAgY29uc3QgcGx1cyA9IDQ5ODAyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wicGx1c1wiXSA9IHBsdXNdID0gXCJwbHVzXCI7IC8vICsgcHJlYzoxMCBwcmVmaXggc3RhcnRzRXhwclxuICBjb25zdCBtaW51cyA9IDUwODI2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wibWludXNcIl0gPSBtaW51c10gPSBcIm1pbnVzXCI7IC8vIC0gcHJlYzoxMCBwcmVmaXggc3RhcnRzRXhwclxuICBjb25zdCBtb2R1bG8gPSA1MTcyMzsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIm1vZHVsb1wiXSA9IG1vZHVsb10gPSBcIm1vZHVsb1wiOyAvLyAlIHByZWM6MTEgc3RhcnRzRXhwclxuICBjb25zdCBzdGFyID0gNTIyMzU7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJzdGFyXCJdID0gc3Rhcl0gPSBcInN0YXJcIjsgLy8gKiBwcmVjOjExXG4gIGNvbnN0IHNsYXNoID0gNTMyNTk7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJzbGFzaFwiXSA9IHNsYXNoXSA9IFwic2xhc2hcIjsgLy8gLyBwcmVjOjExXG4gIGNvbnN0IGV4cG9uZW50ID0gNTQzNDg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJleHBvbmVudFwiXSA9IGV4cG9uZW50XSA9IFwiZXhwb25lbnRcIjsgLy8gKiogcHJlYzoxMiByaWdodEFzc29jaWF0aXZlXG4gIGNvbnN0IGpzeE5hbWUgPSA1NTI5NjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImpzeE5hbWVcIl0gPSBqc3hOYW1lXSA9IFwianN4TmFtZVwiOyAvLyBqc3hOYW1lXG4gIGNvbnN0IGpzeFRleHQgPSA1NjMyMDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImpzeFRleHRcIl0gPSBqc3hUZXh0XSA9IFwianN4VGV4dFwiOyAvLyBqc3hUZXh0XG4gIGNvbnN0IGpzeEVtcHR5VGV4dCA9IDU3MzQ0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wianN4RW1wdHlUZXh0XCJdID0ganN4RW1wdHlUZXh0XSA9IFwianN4RW1wdHlUZXh0XCI7IC8vIGpzeEVtcHR5VGV4dFxuICBjb25zdCBqc3hUYWdTdGFydCA9IDU4ODgwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wianN4VGFnU3RhcnRcIl0gPSBqc3hUYWdTdGFydF0gPSBcImpzeFRhZ1N0YXJ0XCI7IC8vIGpzeFRhZ1N0YXJ0IHN0YXJ0c0V4cHJcbiAgY29uc3QganN4VGFnRW5kID0gNTkzOTI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJqc3hUYWdFbmRcIl0gPSBqc3hUYWdFbmRdID0gXCJqc3hUYWdFbmRcIjsgLy8ganN4VGFnRW5kXG4gIGNvbnN0IHR5cGVQYXJhbWV0ZXJTdGFydCA9IDYwOTI4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1widHlwZVBhcmFtZXRlclN0YXJ0XCJdID0gdHlwZVBhcmFtZXRlclN0YXJ0XSA9IFwidHlwZVBhcmFtZXRlclN0YXJ0XCI7IC8vIHR5cGVQYXJhbWV0ZXJTdGFydCBzdGFydHNFeHByXG4gIGNvbnN0IG5vbk51bGxBc3NlcnRpb24gPSA2MTQ0MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIm5vbk51bGxBc3NlcnRpb25cIl0gPSBub25OdWxsQXNzZXJ0aW9uXSA9IFwibm9uTnVsbEFzc2VydGlvblwiOyAvLyBub25OdWxsQXNzZXJ0aW9uXG4gIGNvbnN0IF9icmVhayA9IDYyNDgwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2JyZWFrXCJdID0gX2JyZWFrXSA9IFwiX2JyZWFrXCI7IC8vIGJyZWFrIGtleXdvcmRcbiAgY29uc3QgX2Nhc2UgPSA2MzUwNDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9jYXNlXCJdID0gX2Nhc2VdID0gXCJfY2FzZVwiOyAvLyBjYXNlIGtleXdvcmRcbiAgY29uc3QgX2NhdGNoID0gNjQ1Mjg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfY2F0Y2hcIl0gPSBfY2F0Y2hdID0gXCJfY2F0Y2hcIjsgLy8gY2F0Y2gga2V5d29yZFxuICBjb25zdCBfY29udGludWUgPSA2NTU1MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9jb250aW51ZVwiXSA9IF9jb250aW51ZV0gPSBcIl9jb250aW51ZVwiOyAvLyBjb250aW51ZSBrZXl3b3JkXG4gIGNvbnN0IF9kZWJ1Z2dlciA9IDY2NTc2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2RlYnVnZ2VyXCJdID0gX2RlYnVnZ2VyXSA9IFwiX2RlYnVnZ2VyXCI7IC8vIGRlYnVnZ2VyIGtleXdvcmRcbiAgY29uc3QgX2RlZmF1bHQgPSA2NzYwMDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9kZWZhdWx0XCJdID0gX2RlZmF1bHRdID0gXCJfZGVmYXVsdFwiOyAvLyBkZWZhdWx0IGtleXdvcmRcbiAgY29uc3QgX2RvID0gNjg2MjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfZG9cIl0gPSBfZG9dID0gXCJfZG9cIjsgLy8gZG8ga2V5d29yZFxuICBjb25zdCBfZWxzZSA9IDY5NjQ4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2Vsc2VcIl0gPSBfZWxzZV0gPSBcIl9lbHNlXCI7IC8vIGVsc2Uga2V5d29yZFxuICBjb25zdCBfZmluYWxseSA9IDcwNjcyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2ZpbmFsbHlcIl0gPSBfZmluYWxseV0gPSBcIl9maW5hbGx5XCI7IC8vIGZpbmFsbHkga2V5d29yZFxuICBjb25zdCBfZm9yID0gNzE2OTY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfZm9yXCJdID0gX2Zvcl0gPSBcIl9mb3JcIjsgLy8gZm9yIGtleXdvcmRcbiAgY29uc3QgX2Z1bmN0aW9uID0gNzMyMzI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfZnVuY3Rpb25cIl0gPSBfZnVuY3Rpb25dID0gXCJfZnVuY3Rpb25cIjsgLy8gZnVuY3Rpb24ga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9pZiA9IDczNzQ0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2lmXCJdID0gX2lmXSA9IFwiX2lmXCI7IC8vIGlmIGtleXdvcmRcbiAgY29uc3QgX3JldHVybiA9IDc0NzY4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3JldHVyblwiXSA9IF9yZXR1cm5dID0gXCJfcmV0dXJuXCI7IC8vIHJldHVybiBrZXl3b3JkXG4gIGNvbnN0IF9zd2l0Y2ggPSA3NTc5MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9zd2l0Y2hcIl0gPSBfc3dpdGNoXSA9IFwiX3N3aXRjaFwiOyAvLyBzd2l0Y2gga2V5d29yZFxuICBjb25zdCBfdGhyb3cgPSA3NzQ1NjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl90aHJvd1wiXSA9IF90aHJvd10gPSBcIl90aHJvd1wiOyAvLyB0aHJvdyBrZXl3b3JkIHByZWZpeCBzdGFydHNFeHByXG4gIGNvbnN0IF90cnkgPSA3Nzg0MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl90cnlcIl0gPSBfdHJ5XSA9IFwiX3RyeVwiOyAvLyB0cnkga2V5d29yZFxuICBjb25zdCBfdmFyID0gNzg4NjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfdmFyXCJdID0gX3Zhcl0gPSBcIl92YXJcIjsgLy8gdmFyIGtleXdvcmRcbiAgY29uc3QgX2xldCA9IDc5ODg4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2xldFwiXSA9IF9sZXRdID0gXCJfbGV0XCI7IC8vIGxldCBrZXl3b3JkXG4gIGNvbnN0IF9jb25zdCA9IDgwOTEyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2NvbnN0XCJdID0gX2NvbnN0XSA9IFwiX2NvbnN0XCI7IC8vIGNvbnN0IGtleXdvcmRcbiAgY29uc3QgX3doaWxlID0gODE5MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfd2hpbGVcIl0gPSBfd2hpbGVdID0gXCJfd2hpbGVcIjsgLy8gd2hpbGUga2V5d29yZFxuICBjb25zdCBfd2l0aCA9IDgyOTYwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3dpdGhcIl0gPSBfd2l0aF0gPSBcIl93aXRoXCI7IC8vIHdpdGgga2V5d29yZFxuICBjb25zdCBfbmV3ID0gODQ0OTY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfbmV3XCJdID0gX25ld10gPSBcIl9uZXdcIjsgLy8gbmV3IGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfdGhpcyA9IDg1NTIwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3RoaXNcIl0gPSBfdGhpc10gPSBcIl90aGlzXCI7IC8vIHRoaXMga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9zdXBlciA9IDg2NTQ0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3N1cGVyXCJdID0gX3N1cGVyXSA9IFwiX3N1cGVyXCI7IC8vIHN1cGVyIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfY2xhc3MgPSA4NzU2ODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9jbGFzc1wiXSA9IF9jbGFzc10gPSBcIl9jbGFzc1wiOyAvLyBjbGFzcyBrZXl3b3JkIHN0YXJ0c0V4cHJcbiAgY29uc3QgX2V4dGVuZHMgPSA4ODA4MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9leHRlbmRzXCJdID0gX2V4dGVuZHNdID0gXCJfZXh0ZW5kc1wiOyAvLyBleHRlbmRzIGtleXdvcmRcbiAgY29uc3QgX2V4cG9ydCA9IDg5MTA0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2V4cG9ydFwiXSA9IF9leHBvcnRdID0gXCJfZXhwb3J0XCI7IC8vIGV4cG9ydCBrZXl3b3JkXG4gIGNvbnN0IF9pbXBvcnQgPSA5MDY0MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9pbXBvcnRcIl0gPSBfaW1wb3J0XSA9IFwiX2ltcG9ydFwiOyAvLyBpbXBvcnQga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF95aWVsZCA9IDkxNjY0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3lpZWxkXCJdID0gX3lpZWxkXSA9IFwiX3lpZWxkXCI7IC8vIHlpZWxkIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfbnVsbCA9IDkyNjg4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX251bGxcIl0gPSBfbnVsbF0gPSBcIl9udWxsXCI7IC8vIG51bGwga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF90cnVlID0gOTM3MTI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfdHJ1ZVwiXSA9IF90cnVlXSA9IFwiX3RydWVcIjsgLy8gdHJ1ZSBrZXl3b3JkIHN0YXJ0c0V4cHJcbiAgY29uc3QgX2ZhbHNlID0gOTQ3MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfZmFsc2VcIl0gPSBfZmFsc2VdID0gXCJfZmFsc2VcIjsgLy8gZmFsc2Uga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9pbiA9IDk1MjU2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2luXCJdID0gX2luXSA9IFwiX2luXCI7IC8vIGluIHByZWM6OCBrZXl3b3JkXG4gIGNvbnN0IF9pbnN0YW5jZW9mID0gOTYyODA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfaW5zdGFuY2VvZlwiXSA9IF9pbnN0YW5jZW9mXSA9IFwiX2luc3RhbmNlb2ZcIjsgLy8gaW5zdGFuY2VvZiBwcmVjOjgga2V5d29yZFxuICBjb25zdCBfdHlwZW9mID0gOTc5MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfdHlwZW9mXCJdID0gX3R5cGVvZl0gPSBcIl90eXBlb2ZcIjsgLy8gdHlwZW9mIGtleXdvcmQgcHJlZml4IHN0YXJ0c0V4cHJcbiAgY29uc3QgX3ZvaWQgPSA5ODk2MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl92b2lkXCJdID0gX3ZvaWRdID0gXCJfdm9pZFwiOyAvLyB2b2lkIGtleXdvcmQgcHJlZml4IHN0YXJ0c0V4cHJcbiAgY29uc3QgX2RlbGV0ZSA9IDk5OTg0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2RlbGV0ZVwiXSA9IF9kZWxldGVdID0gXCJfZGVsZXRlXCI7IC8vIGRlbGV0ZSBrZXl3b3JkIHByZWZpeCBzdGFydHNFeHByXG4gIGNvbnN0IF9hc3luYyA9IDEwMDg4MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9hc3luY1wiXSA9IF9hc3luY10gPSBcIl9hc3luY1wiOyAvLyBhc3luYyBrZXl3b3JkIHN0YXJ0c0V4cHJcbiAgY29uc3QgX2dldCA9IDEwMTkwNDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9nZXRcIl0gPSBfZ2V0XSA9IFwiX2dldFwiOyAvLyBnZXQga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9zZXQgPSAxMDI5Mjg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfc2V0XCJdID0gX3NldF0gPSBcIl9zZXRcIjsgLy8gc2V0IGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfZGVjbGFyZSA9IDEwMzk1MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9kZWNsYXJlXCJdID0gX2RlY2xhcmVdID0gXCJfZGVjbGFyZVwiOyAvLyBkZWNsYXJlIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfcmVhZG9ubHkgPSAxMDQ5NzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfcmVhZG9ubHlcIl0gPSBfcmVhZG9ubHldID0gXCJfcmVhZG9ubHlcIjsgLy8gcmVhZG9ubHkga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9hYnN0cmFjdCA9IDEwNjAwMDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9hYnN0cmFjdFwiXSA9IF9hYnN0cmFjdF0gPSBcIl9hYnN0cmFjdFwiOyAvLyBhYnN0cmFjdCBrZXl3b3JkIHN0YXJ0c0V4cHJcbiAgY29uc3QgX3N0YXRpYyA9IDEwNzAyNDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9zdGF0aWNcIl0gPSBfc3RhdGljXSA9IFwiX3N0YXRpY1wiOyAvLyBzdGF0aWMga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9wdWJsaWMgPSAxMDc1MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfcHVibGljXCJdID0gX3B1YmxpY10gPSBcIl9wdWJsaWNcIjsgLy8gcHVibGljIGtleXdvcmRcbiAgY29uc3QgX3ByaXZhdGUgPSAxMDg1NjA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfcHJpdmF0ZVwiXSA9IF9wcml2YXRlXSA9IFwiX3ByaXZhdGVcIjsgLy8gcHJpdmF0ZSBrZXl3b3JkXG4gIGNvbnN0IF9wcm90ZWN0ZWQgPSAxMDk1ODQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfcHJvdGVjdGVkXCJdID0gX3Byb3RlY3RlZF0gPSBcIl9wcm90ZWN0ZWRcIjsgLy8gcHJvdGVjdGVkIGtleXdvcmRcbiAgY29uc3QgX292ZXJyaWRlID0gMTEwNjA4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX292ZXJyaWRlXCJdID0gX292ZXJyaWRlXSA9IFwiX292ZXJyaWRlXCI7IC8vIG92ZXJyaWRlIGtleXdvcmRcbiAgY29uc3QgX2FzID0gMTEyMTQ0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2FzXCJdID0gX2FzXSA9IFwiX2FzXCI7IC8vIGFzIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfZW51bSA9IDExMzE2ODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9lbnVtXCJdID0gX2VudW1dID0gXCJfZW51bVwiOyAvLyBlbnVtIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfdHlwZSA9IDExNDE5MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl90eXBlXCJdID0gX3R5cGVdID0gXCJfdHlwZVwiOyAvLyB0eXBlIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfaW1wbGVtZW50cyA9IDExNTIxNjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9pbXBsZW1lbnRzXCJdID0gX2ltcGxlbWVudHNdID0gXCJfaW1wbGVtZW50c1wiOyAvLyBpbXBsZW1lbnRzIGtleXdvcmQgc3RhcnRzRXhwclxufSkoVG9rZW5UeXBlIHx8IChUb2tlblR5cGUgPSB7fSkpO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRva2VuVHlwZSh0b2tlblR5cGUpIHtcbiAgc3dpdGNoICh0b2tlblR5cGUpIHtcbiAgICBjYXNlIFRva2VuVHlwZS5udW06XG4gICAgICByZXR1cm4gXCJudW1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iaWdpbnQ6XG4gICAgICByZXR1cm4gXCJiaWdpbnRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5kZWNpbWFsOlxuICAgICAgcmV0dXJuIFwiZGVjaW1hbFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnJlZ2V4cDpcbiAgICAgIHJldHVybiBcInJlZ2V4cFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnN0cmluZzpcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLm5hbWU6XG4gICAgICByZXR1cm4gXCJuYW1lXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuZW9mOlxuICAgICAgcmV0dXJuIFwiZW9mXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYnJhY2tldEw6XG4gICAgICByZXR1cm4gXCJbXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYnJhY2tldFI6XG4gICAgICByZXR1cm4gXCJdXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYnJhY2VMOlxuICAgICAgcmV0dXJuIFwie1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmJyYWNlQmFyTDpcbiAgICAgIHJldHVybiBcInt8XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYnJhY2VSOlxuICAgICAgcmV0dXJuIFwifVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmJyYWNlQmFyUjpcbiAgICAgIHJldHVybiBcInx9XCI7XG4gICAgY2FzZSBUb2tlblR5cGUucGFyZW5MOlxuICAgICAgcmV0dXJuIFwiKFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnBhcmVuUjpcbiAgICAgIHJldHVybiBcIilcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5jb21tYTpcbiAgICAgIHJldHVybiBcIixcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5zZW1pOlxuICAgICAgcmV0dXJuIFwiO1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmNvbG9uOlxuICAgICAgcmV0dXJuIFwiOlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmRvdWJsZUNvbG9uOlxuICAgICAgcmV0dXJuIFwiOjpcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5kb3Q6XG4gICAgICByZXR1cm4gXCIuXCI7XG4gICAgY2FzZSBUb2tlblR5cGUucXVlc3Rpb246XG4gICAgICByZXR1cm4gXCI/XCI7XG4gICAgY2FzZSBUb2tlblR5cGUucXVlc3Rpb25Eb3Q6XG4gICAgICByZXR1cm4gXCI/LlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmFycm93OlxuICAgICAgcmV0dXJuIFwiPT5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS50ZW1wbGF0ZTpcbiAgICAgIHJldHVybiBcInRlbXBsYXRlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuZWxsaXBzaXM6XG4gICAgICByZXR1cm4gXCIuLi5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iYWNrUXVvdGU6XG4gICAgICByZXR1cm4gXCJgXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuZG9sbGFyQnJhY2VMOlxuICAgICAgcmV0dXJuIFwiJHtcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5hdDpcbiAgICAgIHJldHVybiBcIkBcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5oYXNoOlxuICAgICAgcmV0dXJuIFwiI1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmVxOlxuICAgICAgcmV0dXJuIFwiPVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmFzc2lnbjpcbiAgICAgIHJldHVybiBcIl89XCI7XG4gICAgY2FzZSBUb2tlblR5cGUucHJlSW5jRGVjOlxuICAgICAgcmV0dXJuIFwiKysvLS1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5wb3N0SW5jRGVjOlxuICAgICAgcmV0dXJuIFwiKysvLS1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iYW5nOlxuICAgICAgcmV0dXJuIFwiIVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnRpbGRlOlxuICAgICAgcmV0dXJuIFwiflwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnBpcGVsaW5lOlxuICAgICAgcmV0dXJuIFwifD5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5udWxsaXNoQ29hbGVzY2luZzpcbiAgICAgIHJldHVybiBcIj8/XCI7XG4gICAgY2FzZSBUb2tlblR5cGUubG9naWNhbE9SOlxuICAgICAgcmV0dXJuIFwifHxcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5sb2dpY2FsQU5EOlxuICAgICAgcmV0dXJuIFwiJiZcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iaXR3aXNlT1I6XG4gICAgICByZXR1cm4gXCJ8XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYml0d2lzZVhPUjpcbiAgICAgIHJldHVybiBcIl5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iaXR3aXNlQU5EOlxuICAgICAgcmV0dXJuIFwiJlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmVxdWFsaXR5OlxuICAgICAgcmV0dXJuIFwiPT0vIT1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5sZXNzVGhhbjpcbiAgICAgIHJldHVybiBcIjxcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5ncmVhdGVyVGhhbjpcbiAgICAgIHJldHVybiBcIj5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5yZWxhdGlvbmFsT3JFcXVhbDpcbiAgICAgIHJldHVybiBcIjw9Lz49XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYml0U2hpZnRMOlxuICAgICAgcmV0dXJuIFwiPDxcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iaXRTaGlmdFI6XG4gICAgICByZXR1cm4gXCI+Pi8+Pj5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5wbHVzOlxuICAgICAgcmV0dXJuIFwiK1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLm1pbnVzOlxuICAgICAgcmV0dXJuIFwiLVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLm1vZHVsbzpcbiAgICAgIHJldHVybiBcIiVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5zdGFyOlxuICAgICAgcmV0dXJuIFwiKlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnNsYXNoOlxuICAgICAgcmV0dXJuIFwiL1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmV4cG9uZW50OlxuICAgICAgcmV0dXJuIFwiKipcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5qc3hOYW1lOlxuICAgICAgcmV0dXJuIFwianN4TmFtZVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmpzeFRleHQ6XG4gICAgICByZXR1cm4gXCJqc3hUZXh0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuanN4RW1wdHlUZXh0OlxuICAgICAgcmV0dXJuIFwianN4RW1wdHlUZXh0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuanN4VGFnU3RhcnQ6XG4gICAgICByZXR1cm4gXCJqc3hUYWdTdGFydFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmpzeFRhZ0VuZDpcbiAgICAgIHJldHVybiBcImpzeFRhZ0VuZFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnR5cGVQYXJhbWV0ZXJTdGFydDpcbiAgICAgIHJldHVybiBcInR5cGVQYXJhbWV0ZXJTdGFydFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLm5vbk51bGxBc3NlcnRpb246XG4gICAgICByZXR1cm4gXCJub25OdWxsQXNzZXJ0aW9uXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2JyZWFrOlxuICAgICAgcmV0dXJuIFwiYnJlYWtcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fY2FzZTpcbiAgICAgIHJldHVybiBcImNhc2VcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fY2F0Y2g6XG4gICAgICByZXR1cm4gXCJjYXRjaFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9jb250aW51ZTpcbiAgICAgIHJldHVybiBcImNvbnRpbnVlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2RlYnVnZ2VyOlxuICAgICAgcmV0dXJuIFwiZGVidWdnZXJcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZGVmYXVsdDpcbiAgICAgIHJldHVybiBcImRlZmF1bHRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZG86XG4gICAgICByZXR1cm4gXCJkb1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9lbHNlOlxuICAgICAgcmV0dXJuIFwiZWxzZVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9maW5hbGx5OlxuICAgICAgcmV0dXJuIFwiZmluYWxseVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9mb3I6XG4gICAgICByZXR1cm4gXCJmb3JcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZnVuY3Rpb246XG4gICAgICByZXR1cm4gXCJmdW5jdGlvblwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9pZjpcbiAgICAgIHJldHVybiBcImlmXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3JldHVybjpcbiAgICAgIHJldHVybiBcInJldHVyblwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9zd2l0Y2g6XG4gICAgICByZXR1cm4gXCJzd2l0Y2hcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fdGhyb3c6XG4gICAgICByZXR1cm4gXCJ0aHJvd1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl90cnk6XG4gICAgICByZXR1cm4gXCJ0cnlcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fdmFyOlxuICAgICAgcmV0dXJuIFwidmFyXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2xldDpcbiAgICAgIHJldHVybiBcImxldFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9jb25zdDpcbiAgICAgIHJldHVybiBcImNvbnN0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3doaWxlOlxuICAgICAgcmV0dXJuIFwid2hpbGVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fd2l0aDpcbiAgICAgIHJldHVybiBcIndpdGhcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fbmV3OlxuICAgICAgcmV0dXJuIFwibmV3XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3RoaXM6XG4gICAgICByZXR1cm4gXCJ0aGlzXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3N1cGVyOlxuICAgICAgcmV0dXJuIFwic3VwZXJcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fY2xhc3M6XG4gICAgICByZXR1cm4gXCJjbGFzc1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9leHRlbmRzOlxuICAgICAgcmV0dXJuIFwiZXh0ZW5kc1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9leHBvcnQ6XG4gICAgICByZXR1cm4gXCJleHBvcnRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5faW1wb3J0OlxuICAgICAgcmV0dXJuIFwiaW1wb3J0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3lpZWxkOlxuICAgICAgcmV0dXJuIFwieWllbGRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fbnVsbDpcbiAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fdHJ1ZTpcbiAgICAgIHJldHVybiBcInRydWVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZmFsc2U6XG4gICAgICByZXR1cm4gXCJmYWxzZVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9pbjpcbiAgICAgIHJldHVybiBcImluXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2luc3RhbmNlb2Y6XG4gICAgICByZXR1cm4gXCJpbnN0YW5jZW9mXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3R5cGVvZjpcbiAgICAgIHJldHVybiBcInR5cGVvZlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl92b2lkOlxuICAgICAgcmV0dXJuIFwidm9pZFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9kZWxldGU6XG4gICAgICByZXR1cm4gXCJkZWxldGVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fYXN5bmM6XG4gICAgICByZXR1cm4gXCJhc3luY1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9nZXQ6XG4gICAgICByZXR1cm4gXCJnZXRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fc2V0OlxuICAgICAgcmV0dXJuIFwic2V0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2RlY2xhcmU6XG4gICAgICByZXR1cm4gXCJkZWNsYXJlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3JlYWRvbmx5OlxuICAgICAgcmV0dXJuIFwicmVhZG9ubHlcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fYWJzdHJhY3Q6XG4gICAgICByZXR1cm4gXCJhYnN0cmFjdFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9zdGF0aWM6XG4gICAgICByZXR1cm4gXCJzdGF0aWNcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fcHVibGljOlxuICAgICAgcmV0dXJuIFwicHVibGljXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3ByaXZhdGU6XG4gICAgICByZXR1cm4gXCJwcml2YXRlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3Byb3RlY3RlZDpcbiAgICAgIHJldHVybiBcInByb3RlY3RlZFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9vdmVycmlkZTpcbiAgICAgIHJldHVybiBcIm92ZXJyaWRlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2FzOlxuICAgICAgcmV0dXJuIFwiYXNcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZW51bTpcbiAgICAgIHJldHVybiBcImVudW1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fdHlwZTpcbiAgICAgIHJldHVybiBcInR5cGVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5faW1wbGVtZW50czpcbiAgICAgIHJldHVybiBcImltcGxlbWVudHNcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFwiXCI7XG4gIH1cbn1cbiIsICJcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuL2tleXdvcmRzXCI7XG5pbXBvcnQgeyBUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBTY29wZSB7XG4gIFxuICBcbiAgXG5cbiAgY29uc3RydWN0b3Ioc3RhcnRUb2tlbkluZGV4LCBlbmRUb2tlbkluZGV4LCBpc0Z1bmN0aW9uU2NvcGUpIHtcbiAgICB0aGlzLnN0YXJ0VG9rZW5JbmRleCA9IHN0YXJ0VG9rZW5JbmRleDtcbiAgICB0aGlzLmVuZFRva2VuSW5kZXggPSBlbmRUb2tlbkluZGV4O1xuICAgIHRoaXMuaXNGdW5jdGlvblNjb3BlID0gaXNGdW5jdGlvblNjb3BlO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdGF0ZVNuYXBzaG90IHtcbiAgY29uc3RydWN0b3IoXG4gICAgIHBvdGVudGlhbEFycm93QXQsXG4gICAgIG5vQW5vbkZ1bmN0aW9uVHlwZSxcbiAgICAgaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0LFxuICAgICB0b2tlbnNMZW5ndGgsXG4gICAgIHNjb3Blc0xlbmd0aCxcbiAgICAgcG9zLFxuICAgICB0eXBlLFxuICAgICBjb250ZXh0dWFsS2V5d29yZCxcbiAgICAgc3RhcnQsXG4gICAgIGVuZCxcbiAgICAgaXNUeXBlLFxuICAgICBzY29wZURlcHRoLFxuICAgICBlcnJvcixcbiAgKSB7O3RoaXMucG90ZW50aWFsQXJyb3dBdCA9IHBvdGVudGlhbEFycm93QXQ7dGhpcy5ub0Fub25GdW5jdGlvblR5cGUgPSBub0Fub25GdW5jdGlvblR5cGU7dGhpcy5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBpbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7dGhpcy50b2tlbnNMZW5ndGggPSB0b2tlbnNMZW5ndGg7dGhpcy5zY29wZXNMZW5ndGggPSBzY29wZXNMZW5ndGg7dGhpcy5wb3MgPSBwb3M7dGhpcy50eXBlID0gdHlwZTt0aGlzLmNvbnRleHR1YWxLZXl3b3JkID0gY29udGV4dHVhbEtleXdvcmQ7dGhpcy5zdGFydCA9IHN0YXJ0O3RoaXMuZW5kID0gZW5kO3RoaXMuaXNUeXBlID0gaXNUeXBlO3RoaXMuc2NvcGVEZXB0aCA9IHNjb3BlRGVwdGg7dGhpcy5lcnJvciA9IGVycm9yO31cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGUge2NvbnN0cnVjdG9yKCkgeyBTdGF0ZS5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7U3RhdGUucHJvdG90eXBlLl9faW5pdDIuY2FsbCh0aGlzKTtTdGF0ZS5wcm90b3R5cGUuX19pbml0My5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQ0LmNhbGwodGhpcyk7U3RhdGUucHJvdG90eXBlLl9faW5pdDUuY2FsbCh0aGlzKTtTdGF0ZS5wcm90b3R5cGUuX19pbml0Ni5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQ3LmNhbGwodGhpcyk7U3RhdGUucHJvdG90eXBlLl9faW5pdDguY2FsbCh0aGlzKTtTdGF0ZS5wcm90b3R5cGUuX19pbml0OS5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQxMC5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQxMS5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQxMi5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQxMy5jYWxsKHRoaXMpOyB9XG4gIC8vIFVzZWQgdG8gc2lnbmlmeSB0aGUgc3RhcnQgb2YgYSBwb3RlbnRpYWwgYXJyb3cgZnVuY3Rpb25cbiAgX19pbml0KCkge3RoaXMucG90ZW50aWFsQXJyb3dBdCA9IC0xfVxuXG4gIC8vIFVzZWQgYnkgRmxvdyB0byBoYW5kbGUgYW4gZWRnZSBjYXNlIGludm9sdmluZyBmdW5jdGlvbiB0eXBlIHBhcnNpbmcuXG4gIF9faW5pdDIoKSB7dGhpcy5ub0Fub25GdW5jdGlvblR5cGUgPSBmYWxzZX1cblxuICAvLyBVc2VkIGJ5IFR5cGVTY3JpcHQgdG8gaGFuZGxlIGFtYmlndWl0aWVzIHdoZW4gcGFyc2luZyBjb25kaXRpb25hbCB0eXBlcy5cbiAgX19pbml0MygpIHt0aGlzLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IGZhbHNlfVxuXG4gIC8vIFRva2VuIHN0b3JlLlxuICBfX2luaXQ0KCkge3RoaXMudG9rZW5zID0gW119XG5cbiAgLy8gQXJyYXkgb2YgYWxsIG9ic2VydmVkIHNjb3Blcywgb3JkZXJlZCBieSB0aGVpciBlbmRpbmcgcG9zaXRpb24uXG4gIF9faW5pdDUoKSB7dGhpcy5zY29wZXMgPSBbXX1cblxuICAvLyBUaGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgdG9rZW5pemVyIGluIHRoZSBpbnB1dC5cbiAgX19pbml0NigpIHt0aGlzLnBvcyA9IDB9XG5cbiAgLy8gSW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgdG9rZW4uXG4gIF9faW5pdDcoKSB7dGhpcy50eXBlID0gdHQuZW9mfVxuICBfX2luaXQ4KCkge3RoaXMuY29udGV4dHVhbEtleXdvcmQgPSBDb250ZXh0dWFsS2V5d29yZC5OT05FfVxuICBfX2luaXQ5KCkge3RoaXMuc3RhcnQgPSAwfVxuICBfX2luaXQxMCgpIHt0aGlzLmVuZCA9IDB9XG5cbiAgX19pbml0MTEoKSB7dGhpcy5pc1R5cGUgPSBmYWxzZX1cbiAgX19pbml0MTIoKSB7dGhpcy5zY29wZURlcHRoID0gMH1cblxuICAvKipcbiAgICogSWYgdGhlIHBhcnNlciBpcyBpbiBhbiBlcnJvciBzdGF0ZSwgdGhlbiB0aGUgdG9rZW4gaXMgYWx3YXlzIHR0LmVvZiBhbmQgYWxsIGZ1bmN0aW9ucyBjYW5cbiAgICoga2VlcCBleGVjdXRpbmcgYnV0IHNob3VsZCBiZSB3cml0dGVuIHNvIHRoZXkgZG9uJ3QgZ2V0IGludG8gYW4gaW5maW5pdGUgbG9vcCBpbiB0aGlzIHNpdHVhdGlvbi5cbiAgICpcbiAgICogVGhpcyBhcHByb2FjaCwgY29tYmluZWQgd2l0aCB0aGUgYWJpbGl0eSB0byBzbmFwc2hvdCBhbmQgcmVzdG9yZSBzdGF0ZSwgYWxsb3dzIHVzIHRvIGltcGxlbWVudFxuICAgKiBiYWNrdHJhY2tpbmcgd2l0aG91dCBleGNlcHRpb25zIGFuZCB3aXRob3V0IG5lZWRpbmcgdG8gZXhwbGljaXRseSBwcm9wYWdhdGUgZXJyb3Igc3RhdGVzXG4gICAqIGV2ZXJ5d2hlcmUuXG4gICAqL1xuICBfX2luaXQxMygpIHt0aGlzLmVycm9yID0gbnVsbH1cblxuICBzbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gbmV3IFN0YXRlU25hcHNob3QoXG4gICAgICB0aGlzLnBvdGVudGlhbEFycm93QXQsXG4gICAgICB0aGlzLm5vQW5vbkZ1bmN0aW9uVHlwZSxcbiAgICAgIHRoaXMuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0LFxuICAgICAgdGhpcy50b2tlbnMubGVuZ3RoLFxuICAgICAgdGhpcy5zY29wZXMubGVuZ3RoLFxuICAgICAgdGhpcy5wb3MsXG4gICAgICB0aGlzLnR5cGUsXG4gICAgICB0aGlzLmNvbnRleHR1YWxLZXl3b3JkLFxuICAgICAgdGhpcy5zdGFydCxcbiAgICAgIHRoaXMuZW5kLFxuICAgICAgdGhpcy5pc1R5cGUsXG4gICAgICB0aGlzLnNjb3BlRGVwdGgsXG4gICAgICB0aGlzLmVycm9yLFxuICAgICk7XG4gIH1cblxuICByZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KSB7XG4gICAgdGhpcy5wb3RlbnRpYWxBcnJvd0F0ID0gc25hcHNob3QucG90ZW50aWFsQXJyb3dBdDtcbiAgICB0aGlzLm5vQW5vbkZ1bmN0aW9uVHlwZSA9IHNuYXBzaG90Lm5vQW5vbkZ1bmN0aW9uVHlwZTtcbiAgICB0aGlzLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IHNuYXBzaG90LmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dDtcbiAgICB0aGlzLnRva2Vucy5sZW5ndGggPSBzbmFwc2hvdC50b2tlbnNMZW5ndGg7XG4gICAgdGhpcy5zY29wZXMubGVuZ3RoID0gc25hcHNob3Quc2NvcGVzTGVuZ3RoO1xuICAgIHRoaXMucG9zID0gc25hcHNob3QucG9zO1xuICAgIHRoaXMudHlwZSA9IHNuYXBzaG90LnR5cGU7XG4gICAgdGhpcy5jb250ZXh0dWFsS2V5d29yZCA9IHNuYXBzaG90LmNvbnRleHR1YWxLZXl3b3JkO1xuICAgIHRoaXMuc3RhcnQgPSBzbmFwc2hvdC5zdGFydDtcbiAgICB0aGlzLmVuZCA9IHNuYXBzaG90LmVuZDtcbiAgICB0aGlzLmlzVHlwZSA9IHNuYXBzaG90LmlzVHlwZTtcbiAgICB0aGlzLnNjb3BlRGVwdGggPSBzbmFwc2hvdC5zY29wZURlcHRoO1xuICAgIHRoaXMuZXJyb3IgPSBzbmFwc2hvdC5lcnJvcjtcbiAgfVxufVxuIiwgImV4cG9ydCB2YXIgY2hhckNvZGVzOyAoZnVuY3Rpb24gKGNoYXJDb2Rlcykge1xuICBjb25zdCBiYWNrU3BhY2UgPSA4OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiYmFja1NwYWNlXCJdID0gYmFja1NwYWNlXSA9IFwiYmFja1NwYWNlXCI7XG4gIGNvbnN0IGxpbmVGZWVkID0gMTA7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsaW5lRmVlZFwiXSA9IGxpbmVGZWVkXSA9IFwibGluZUZlZWRcIjsgLy8gICdcXG4nXG4gIGNvbnN0IHRhYiA9IDk7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJ0YWJcIl0gPSB0YWJdID0gXCJ0YWJcIjsgLy8gICdcXHQnXG4gIGNvbnN0IGNhcnJpYWdlUmV0dXJuID0gMTM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJjYXJyaWFnZVJldHVyblwiXSA9IGNhcnJpYWdlUmV0dXJuXSA9IFwiY2FycmlhZ2VSZXR1cm5cIjsgLy8gICdcXHInXG4gIGNvbnN0IHNoaWZ0T3V0ID0gMTQ7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJzaGlmdE91dFwiXSA9IHNoaWZ0T3V0XSA9IFwic2hpZnRPdXRcIjtcbiAgY29uc3Qgc3BhY2UgPSAzMjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInNwYWNlXCJdID0gc3BhY2VdID0gXCJzcGFjZVwiO1xuICBjb25zdCBleGNsYW1hdGlvbk1hcmsgPSAzMzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImV4Y2xhbWF0aW9uTWFya1wiXSA9IGV4Y2xhbWF0aW9uTWFya10gPSBcImV4Y2xhbWF0aW9uTWFya1wiOyAvLyAgJyEnXG4gIGNvbnN0IHF1b3RhdGlvbk1hcmsgPSAzNDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInF1b3RhdGlvbk1hcmtcIl0gPSBxdW90YXRpb25NYXJrXSA9IFwicXVvdGF0aW9uTWFya1wiOyAvLyAgJ1wiJ1xuICBjb25zdCBudW1iZXJTaWduID0gMzU7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJudW1iZXJTaWduXCJdID0gbnVtYmVyU2lnbl0gPSBcIm51bWJlclNpZ25cIjsgLy8gICcjJ1xuICBjb25zdCBkb2xsYXJTaWduID0gMzY7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJkb2xsYXJTaWduXCJdID0gZG9sbGFyU2lnbl0gPSBcImRvbGxhclNpZ25cIjsgLy8gICckJ1xuICBjb25zdCBwZXJjZW50U2lnbiA9IDM3OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wicGVyY2VudFNpZ25cIl0gPSBwZXJjZW50U2lnbl0gPSBcInBlcmNlbnRTaWduXCI7IC8vICAnJSdcbiAgY29uc3QgYW1wZXJzYW5kID0gMzg7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJhbXBlcnNhbmRcIl0gPSBhbXBlcnNhbmRdID0gXCJhbXBlcnNhbmRcIjsgLy8gICcmJ1xuICBjb25zdCBhcG9zdHJvcGhlID0gMzk7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJhcG9zdHJvcGhlXCJdID0gYXBvc3Ryb3BoZV0gPSBcImFwb3N0cm9waGVcIjsgLy8gICcnJ1xuICBjb25zdCBsZWZ0UGFyZW50aGVzaXMgPSA0MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxlZnRQYXJlbnRoZXNpc1wiXSA9IGxlZnRQYXJlbnRoZXNpc10gPSBcImxlZnRQYXJlbnRoZXNpc1wiOyAvLyAgJygnXG4gIGNvbnN0IHJpZ2h0UGFyZW50aGVzaXMgPSA0MTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInJpZ2h0UGFyZW50aGVzaXNcIl0gPSByaWdodFBhcmVudGhlc2lzXSA9IFwicmlnaHRQYXJlbnRoZXNpc1wiOyAvLyAgJyknXG4gIGNvbnN0IGFzdGVyaXNrID0gNDI7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJhc3Rlcmlza1wiXSA9IGFzdGVyaXNrXSA9IFwiYXN0ZXJpc2tcIjsgLy8gICcqJ1xuICBjb25zdCBwbHVzU2lnbiA9IDQzOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wicGx1c1NpZ25cIl0gPSBwbHVzU2lnbl0gPSBcInBsdXNTaWduXCI7IC8vICAnKydcbiAgY29uc3QgY29tbWEgPSA0NDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImNvbW1hXCJdID0gY29tbWFdID0gXCJjb21tYVwiOyAvLyAgJywnXG4gIGNvbnN0IGRhc2ggPSA0NTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImRhc2hcIl0gPSBkYXNoXSA9IFwiZGFzaFwiOyAvLyAgJy0nXG4gIGNvbnN0IGRvdCA9IDQ2OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZG90XCJdID0gZG90XSA9IFwiZG90XCI7IC8vICAnLidcbiAgY29uc3Qgc2xhc2ggPSA0NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInNsYXNoXCJdID0gc2xhc2hdID0gXCJzbGFzaFwiOyAvLyAgJy8nXG4gIGNvbnN0IGRpZ2l0MCA9IDQ4OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZGlnaXQwXCJdID0gZGlnaXQwXSA9IFwiZGlnaXQwXCI7IC8vICAnMCdcbiAgY29uc3QgZGlnaXQxID0gNDk7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJkaWdpdDFcIl0gPSBkaWdpdDFdID0gXCJkaWdpdDFcIjsgLy8gICcxJ1xuICBjb25zdCBkaWdpdDIgPSA1MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImRpZ2l0MlwiXSA9IGRpZ2l0Ml0gPSBcImRpZ2l0MlwiOyAvLyAgJzInXG4gIGNvbnN0IGRpZ2l0MyA9IDUxOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZGlnaXQzXCJdID0gZGlnaXQzXSA9IFwiZGlnaXQzXCI7IC8vICAnMydcbiAgY29uc3QgZGlnaXQ0ID0gNTI7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJkaWdpdDRcIl0gPSBkaWdpdDRdID0gXCJkaWdpdDRcIjsgLy8gICc0J1xuICBjb25zdCBkaWdpdDUgPSA1MzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImRpZ2l0NVwiXSA9IGRpZ2l0NV0gPSBcImRpZ2l0NVwiOyAvLyAgJzUnXG4gIGNvbnN0IGRpZ2l0NiA9IDU0OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZGlnaXQ2XCJdID0gZGlnaXQ2XSA9IFwiZGlnaXQ2XCI7IC8vICAnNidcbiAgY29uc3QgZGlnaXQ3ID0gNTU7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJkaWdpdDdcIl0gPSBkaWdpdDddID0gXCJkaWdpdDdcIjsgLy8gICc3J1xuICBjb25zdCBkaWdpdDggPSA1NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImRpZ2l0OFwiXSA9IGRpZ2l0OF0gPSBcImRpZ2l0OFwiOyAvLyAgJzgnXG4gIGNvbnN0IGRpZ2l0OSA9IDU3OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZGlnaXQ5XCJdID0gZGlnaXQ5XSA9IFwiZGlnaXQ5XCI7IC8vICAnOSdcbiAgY29uc3QgY29sb24gPSA1ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImNvbG9uXCJdID0gY29sb25dID0gXCJjb2xvblwiOyAvLyAgJzonXG4gIGNvbnN0IHNlbWljb2xvbiA9IDU5OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wic2VtaWNvbG9uXCJdID0gc2VtaWNvbG9uXSA9IFwic2VtaWNvbG9uXCI7IC8vICAnOydcbiAgY29uc3QgbGVzc1RoYW4gPSA2MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxlc3NUaGFuXCJdID0gbGVzc1RoYW5dID0gXCJsZXNzVGhhblwiOyAvLyAgJzwnXG4gIGNvbnN0IGVxdWFsc1RvID0gNjE7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJlcXVhbHNUb1wiXSA9IGVxdWFsc1RvXSA9IFwiZXF1YWxzVG9cIjsgLy8gICc9J1xuICBjb25zdCBncmVhdGVyVGhhbiA9IDYyOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZ3JlYXRlclRoYW5cIl0gPSBncmVhdGVyVGhhbl0gPSBcImdyZWF0ZXJUaGFuXCI7IC8vICAnPidcbiAgY29uc3QgcXVlc3Rpb25NYXJrID0gNjM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJxdWVzdGlvbk1hcmtcIl0gPSBxdWVzdGlvbk1hcmtdID0gXCJxdWVzdGlvbk1hcmtcIjsgLy8gICc/J1xuICBjb25zdCBhdFNpZ24gPSA2NDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImF0U2lnblwiXSA9IGF0U2lnbl0gPSBcImF0U2lnblwiOyAvLyAgJ0AnXG4gIGNvbnN0IHVwcGVyY2FzZUEgPSA2NTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUFcIl0gPSB1cHBlcmNhc2VBXSA9IFwidXBwZXJjYXNlQVwiOyAvLyAgJ0EnXG4gIGNvbnN0IHVwcGVyY2FzZUIgPSA2NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUJcIl0gPSB1cHBlcmNhc2VCXSA9IFwidXBwZXJjYXNlQlwiOyAvLyAgJ0InXG4gIGNvbnN0IHVwcGVyY2FzZUMgPSA2NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUNcIl0gPSB1cHBlcmNhc2VDXSA9IFwidXBwZXJjYXNlQ1wiOyAvLyAgJ0MnXG4gIGNvbnN0IHVwcGVyY2FzZUQgPSA2ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZURcIl0gPSB1cHBlcmNhc2VEXSA9IFwidXBwZXJjYXNlRFwiOyAvLyAgJ0QnXG4gIGNvbnN0IHVwcGVyY2FzZUUgPSA2OTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUVcIl0gPSB1cHBlcmNhc2VFXSA9IFwidXBwZXJjYXNlRVwiOyAvLyAgJ0UnXG4gIGNvbnN0IHVwcGVyY2FzZUYgPSA3MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUZcIl0gPSB1cHBlcmNhc2VGXSA9IFwidXBwZXJjYXNlRlwiOyAvLyAgJ0YnXG4gIGNvbnN0IHVwcGVyY2FzZUcgPSA3MTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUdcIl0gPSB1cHBlcmNhc2VHXSA9IFwidXBwZXJjYXNlR1wiOyAvLyAgJ0cnXG4gIGNvbnN0IHVwcGVyY2FzZUggPSA3MjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUhcIl0gPSB1cHBlcmNhc2VIXSA9IFwidXBwZXJjYXNlSFwiOyAvLyAgJ0gnXG4gIGNvbnN0IHVwcGVyY2FzZUkgPSA3MzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUlcIl0gPSB1cHBlcmNhc2VJXSA9IFwidXBwZXJjYXNlSVwiOyAvLyAgJ0knXG4gIGNvbnN0IHVwcGVyY2FzZUogPSA3NDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUpcIl0gPSB1cHBlcmNhc2VKXSA9IFwidXBwZXJjYXNlSlwiOyAvLyAgJ0onXG4gIGNvbnN0IHVwcGVyY2FzZUsgPSA3NTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUtcIl0gPSB1cHBlcmNhc2VLXSA9IFwidXBwZXJjYXNlS1wiOyAvLyAgJ0snXG4gIGNvbnN0IHVwcGVyY2FzZUwgPSA3NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUxcIl0gPSB1cHBlcmNhc2VMXSA9IFwidXBwZXJjYXNlTFwiOyAvLyAgJ0wnXG4gIGNvbnN0IHVwcGVyY2FzZU0gPSA3NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZU1cIl0gPSB1cHBlcmNhc2VNXSA9IFwidXBwZXJjYXNlTVwiOyAvLyAgJ00nXG4gIGNvbnN0IHVwcGVyY2FzZU4gPSA3ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZU5cIl0gPSB1cHBlcmNhc2VOXSA9IFwidXBwZXJjYXNlTlwiOyAvLyAgJ04nXG4gIGNvbnN0IHVwcGVyY2FzZU8gPSA3OTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZU9cIl0gPSB1cHBlcmNhc2VPXSA9IFwidXBwZXJjYXNlT1wiOyAvLyAgJ08nXG4gIGNvbnN0IHVwcGVyY2FzZVAgPSA4MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVBcIl0gPSB1cHBlcmNhc2VQXSA9IFwidXBwZXJjYXNlUFwiOyAvLyAgJ1AnXG4gIGNvbnN0IHVwcGVyY2FzZVEgPSA4MTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVFcIl0gPSB1cHBlcmNhc2VRXSA9IFwidXBwZXJjYXNlUVwiOyAvLyAgJ1EnXG4gIGNvbnN0IHVwcGVyY2FzZVIgPSA4MjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVJcIl0gPSB1cHBlcmNhc2VSXSA9IFwidXBwZXJjYXNlUlwiOyAvLyAgJ1InXG4gIGNvbnN0IHVwcGVyY2FzZVMgPSA4MzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVNcIl0gPSB1cHBlcmNhc2VTXSA9IFwidXBwZXJjYXNlU1wiOyAvLyAgJ1MnXG4gIGNvbnN0IHVwcGVyY2FzZVQgPSA4NDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVRcIl0gPSB1cHBlcmNhc2VUXSA9IFwidXBwZXJjYXNlVFwiOyAvLyAgJ1QnXG4gIGNvbnN0IHVwcGVyY2FzZVUgPSA4NTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVVcIl0gPSB1cHBlcmNhc2VVXSA9IFwidXBwZXJjYXNlVVwiOyAvLyAgJ1UnXG4gIGNvbnN0IHVwcGVyY2FzZVYgPSA4NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVZcIl0gPSB1cHBlcmNhc2VWXSA9IFwidXBwZXJjYXNlVlwiOyAvLyAgJ1YnXG4gIGNvbnN0IHVwcGVyY2FzZVcgPSA4NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVdcIl0gPSB1cHBlcmNhc2VXXSA9IFwidXBwZXJjYXNlV1wiOyAvLyAgJ1cnXG4gIGNvbnN0IHVwcGVyY2FzZVggPSA4ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVhcIl0gPSB1cHBlcmNhc2VYXSA9IFwidXBwZXJjYXNlWFwiOyAvLyAgJ1gnXG4gIGNvbnN0IHVwcGVyY2FzZVkgPSA4OTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVlcIl0gPSB1cHBlcmNhc2VZXSA9IFwidXBwZXJjYXNlWVwiOyAvLyAgJ1knXG4gIGNvbnN0IHVwcGVyY2FzZVogPSA5MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVpcIl0gPSB1cHBlcmNhc2VaXSA9IFwidXBwZXJjYXNlWlwiOyAvLyAgJ1onXG4gIGNvbnN0IGxlZnRTcXVhcmVCcmFja2V0ID0gOTE7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsZWZ0U3F1YXJlQnJhY2tldFwiXSA9IGxlZnRTcXVhcmVCcmFja2V0XSA9IFwibGVmdFNxdWFyZUJyYWNrZXRcIjsgLy8gICdbJ1xuICBjb25zdCBiYWNrc2xhc2ggPSA5MjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImJhY2tzbGFzaFwiXSA9IGJhY2tzbGFzaF0gPSBcImJhY2tzbGFzaFwiOyAvLyAgJ1xcICAgICdcbiAgY29uc3QgcmlnaHRTcXVhcmVCcmFja2V0ID0gOTM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJyaWdodFNxdWFyZUJyYWNrZXRcIl0gPSByaWdodFNxdWFyZUJyYWNrZXRdID0gXCJyaWdodFNxdWFyZUJyYWNrZXRcIjsgLy8gICddJ1xuICBjb25zdCBjYXJldCA9IDk0OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiY2FyZXRcIl0gPSBjYXJldF0gPSBcImNhcmV0XCI7IC8vICAnXidcbiAgY29uc3QgdW5kZXJzY29yZSA9IDk1OyBjaGFyQ29kZXNbY2hhckNvZGVzW1widW5kZXJzY29yZVwiXSA9IHVuZGVyc2NvcmVdID0gXCJ1bmRlcnNjb3JlXCI7IC8vICAnXydcbiAgY29uc3QgZ3JhdmVBY2NlbnQgPSA5NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImdyYXZlQWNjZW50XCJdID0gZ3JhdmVBY2NlbnRdID0gXCJncmF2ZUFjY2VudFwiOyAvLyAgJ2AnXG4gIGNvbnN0IGxvd2VyY2FzZUEgPSA5NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUFcIl0gPSBsb3dlcmNhc2VBXSA9IFwibG93ZXJjYXNlQVwiOyAvLyAgJ2EnXG4gIGNvbnN0IGxvd2VyY2FzZUIgPSA5ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUJcIl0gPSBsb3dlcmNhc2VCXSA9IFwibG93ZXJjYXNlQlwiOyAvLyAgJ2InXG4gIGNvbnN0IGxvd2VyY2FzZUMgPSA5OTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUNcIl0gPSBsb3dlcmNhc2VDXSA9IFwibG93ZXJjYXNlQ1wiOyAvLyAgJ2MnXG4gIGNvbnN0IGxvd2VyY2FzZUQgPSAxMDA7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VEXCJdID0gbG93ZXJjYXNlRF0gPSBcImxvd2VyY2FzZURcIjsgLy8gICdkJ1xuICBjb25zdCBsb3dlcmNhc2VFID0gMTAxOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlRVwiXSA9IGxvd2VyY2FzZUVdID0gXCJsb3dlcmNhc2VFXCI7IC8vICAnZSdcbiAgY29uc3QgbG93ZXJjYXNlRiA9IDEwMjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUZcIl0gPSBsb3dlcmNhc2VGXSA9IFwibG93ZXJjYXNlRlwiOyAvLyAgJ2YnXG4gIGNvbnN0IGxvd2VyY2FzZUcgPSAxMDM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VHXCJdID0gbG93ZXJjYXNlR10gPSBcImxvd2VyY2FzZUdcIjsgLy8gICdnJ1xuICBjb25zdCBsb3dlcmNhc2VIID0gMTA0OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlSFwiXSA9IGxvd2VyY2FzZUhdID0gXCJsb3dlcmNhc2VIXCI7IC8vICAnaCdcbiAgY29uc3QgbG93ZXJjYXNlSSA9IDEwNTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUlcIl0gPSBsb3dlcmNhc2VJXSA9IFwibG93ZXJjYXNlSVwiOyAvLyAgJ2knXG4gIGNvbnN0IGxvd2VyY2FzZUogPSAxMDY7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VKXCJdID0gbG93ZXJjYXNlSl0gPSBcImxvd2VyY2FzZUpcIjsgLy8gICdqJ1xuICBjb25zdCBsb3dlcmNhc2VLID0gMTA3OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlS1wiXSA9IGxvd2VyY2FzZUtdID0gXCJsb3dlcmNhc2VLXCI7IC8vICAnaydcbiAgY29uc3QgbG93ZXJjYXNlTCA9IDEwODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUxcIl0gPSBsb3dlcmNhc2VMXSA9IFwibG93ZXJjYXNlTFwiOyAvLyAgJ2wnXG4gIGNvbnN0IGxvd2VyY2FzZU0gPSAxMDk7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VNXCJdID0gbG93ZXJjYXNlTV0gPSBcImxvd2VyY2FzZU1cIjsgLy8gICdtJ1xuICBjb25zdCBsb3dlcmNhc2VOID0gMTEwOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlTlwiXSA9IGxvd2VyY2FzZU5dID0gXCJsb3dlcmNhc2VOXCI7IC8vICAnbidcbiAgY29uc3QgbG93ZXJjYXNlTyA9IDExMTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZU9cIl0gPSBsb3dlcmNhc2VPXSA9IFwibG93ZXJjYXNlT1wiOyAvLyAgJ28nXG4gIGNvbnN0IGxvd2VyY2FzZVAgPSAxMTI7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VQXCJdID0gbG93ZXJjYXNlUF0gPSBcImxvd2VyY2FzZVBcIjsgLy8gICdwJ1xuICBjb25zdCBsb3dlcmNhc2VRID0gMTEzOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlUVwiXSA9IGxvd2VyY2FzZVFdID0gXCJsb3dlcmNhc2VRXCI7IC8vICAncSdcbiAgY29uc3QgbG93ZXJjYXNlUiA9IDExNDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZVJcIl0gPSBsb3dlcmNhc2VSXSA9IFwibG93ZXJjYXNlUlwiOyAvLyAgJ3InXG4gIGNvbnN0IGxvd2VyY2FzZVMgPSAxMTU7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VTXCJdID0gbG93ZXJjYXNlU10gPSBcImxvd2VyY2FzZVNcIjsgLy8gICdzJ1xuICBjb25zdCBsb3dlcmNhc2VUID0gMTE2OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlVFwiXSA9IGxvd2VyY2FzZVRdID0gXCJsb3dlcmNhc2VUXCI7IC8vICAndCdcbiAgY29uc3QgbG93ZXJjYXNlVSA9IDExNzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZVVcIl0gPSBsb3dlcmNhc2VVXSA9IFwibG93ZXJjYXNlVVwiOyAvLyAgJ3UnXG4gIGNvbnN0IGxvd2VyY2FzZVYgPSAxMTg7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VWXCJdID0gbG93ZXJjYXNlVl0gPSBcImxvd2VyY2FzZVZcIjsgLy8gICd2J1xuICBjb25zdCBsb3dlcmNhc2VXID0gMTE5OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlV1wiXSA9IGxvd2VyY2FzZVddID0gXCJsb3dlcmNhc2VXXCI7IC8vICAndydcbiAgY29uc3QgbG93ZXJjYXNlWCA9IDEyMDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZVhcIl0gPSBsb3dlcmNhc2VYXSA9IFwibG93ZXJjYXNlWFwiOyAvLyAgJ3gnXG4gIGNvbnN0IGxvd2VyY2FzZVkgPSAxMjE7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VZXCJdID0gbG93ZXJjYXNlWV0gPSBcImxvd2VyY2FzZVlcIjsgLy8gICd5J1xuICBjb25zdCBsb3dlcmNhc2VaID0gMTIyOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlWlwiXSA9IGxvd2VyY2FzZVpdID0gXCJsb3dlcmNhc2VaXCI7IC8vICAneidcbiAgY29uc3QgbGVmdEN1cmx5QnJhY2UgPSAxMjM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsZWZ0Q3VybHlCcmFjZVwiXSA9IGxlZnRDdXJseUJyYWNlXSA9IFwibGVmdEN1cmx5QnJhY2VcIjsgLy8gICd7J1xuICBjb25zdCB2ZXJ0aWNhbEJhciA9IDEyNDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInZlcnRpY2FsQmFyXCJdID0gdmVydGljYWxCYXJdID0gXCJ2ZXJ0aWNhbEJhclwiOyAvLyAgJ3wnXG4gIGNvbnN0IHJpZ2h0Q3VybHlCcmFjZSA9IDEyNTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInJpZ2h0Q3VybHlCcmFjZVwiXSA9IHJpZ2h0Q3VybHlCcmFjZV0gPSBcInJpZ2h0Q3VybHlCcmFjZVwiOyAvLyAgJ30nXG4gIGNvbnN0IHRpbGRlID0gMTI2OyBjaGFyQ29kZXNbY2hhckNvZGVzW1widGlsZGVcIl0gPSB0aWxkZV0gPSBcInRpbGRlXCI7IC8vICAnfidcbiAgY29uc3Qgbm9uQnJlYWtpbmdTcGFjZSA9IDE2MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcIm5vbkJyZWFraW5nU3BhY2VcIl0gPSBub25CcmVha2luZ1NwYWNlXSA9IFwibm9uQnJlYWtpbmdTcGFjZVwiO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taXJyZWd1bGFyLXdoaXRlc3BhY2VcbiAgY29uc3Qgb2doYW1TcGFjZU1hcmsgPSA1NzYwOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wib2doYW1TcGFjZU1hcmtcIl0gPSBvZ2hhbVNwYWNlTWFya10gPSBcIm9naGFtU3BhY2VNYXJrXCI7IC8vICdcdTE2ODAnXG4gIGNvbnN0IGxpbmVTZXBhcmF0b3IgPSA4MjMyOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibGluZVNlcGFyYXRvclwiXSA9IGxpbmVTZXBhcmF0b3JdID0gXCJsaW5lU2VwYXJhdG9yXCI7XG4gIGNvbnN0IHBhcmFncmFwaFNlcGFyYXRvciA9IDgyMzM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJwYXJhZ3JhcGhTZXBhcmF0b3JcIl0gPSBwYXJhZ3JhcGhTZXBhcmF0b3JdID0gXCJwYXJhZ3JhcGhTZXBhcmF0b3JcIjtcbn0pKGNoYXJDb2RlcyB8fCAoY2hhckNvZGVzID0ge30pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlnaXQoY29kZSkge1xuICByZXR1cm4gKFxuICAgIChjb2RlID49IGNoYXJDb2Rlcy5kaWdpdDAgJiYgY29kZSA8PSBjaGFyQ29kZXMuZGlnaXQ5KSB8fFxuICAgIChjb2RlID49IGNoYXJDb2Rlcy5sb3dlcmNhc2VBICYmIGNvZGUgPD0gY2hhckNvZGVzLmxvd2VyY2FzZUYpIHx8XG4gICAgKGNvZGUgPj0gY2hhckNvZGVzLnVwcGVyY2FzZUEgJiYgY29kZSA8PSBjaGFyQ29kZXMudXBwZXJjYXNlRilcbiAgKTtcbn1cbiIsICJpbXBvcnQgU3RhdGUgZnJvbSBcIi4uL3Rva2VuaXplci9zdGF0ZVwiO1xuaW1wb3J0IHtjaGFyQ29kZXN9IGZyb20gXCIuLi91dGlsL2NoYXJjb2Rlc1wiO1xuXG5leHBvcnQgbGV0IGlzSlNYRW5hYmxlZDtcbmV4cG9ydCBsZXQgaXNUeXBlU2NyaXB0RW5hYmxlZDtcbmV4cG9ydCBsZXQgaXNGbG93RW5hYmxlZDtcbmV4cG9ydCBsZXQgc3RhdGU7XG5leHBvcnQgbGV0IGlucHV0O1xuZXhwb3J0IGxldCBuZXh0Q29udGV4dElkO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dENvbnRleHRJZCgpIHtcbiAgcmV0dXJuIG5leHRDb250ZXh0SWQrKztcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBhdWdtZW50RXJyb3IoZXJyb3IpIHtcbiAgaWYgKFwicG9zXCIgaW4gZXJyb3IpIHtcbiAgICBjb25zdCBsb2MgPSBsb2NhdGlvbkZvckluZGV4KGVycm9yLnBvcyk7XG4gICAgZXJyb3IubWVzc2FnZSArPSBgICgke2xvYy5saW5lfToke2xvYy5jb2x1bW59KWA7XG4gICAgZXJyb3IubG9jID0gbG9jO1xuICB9XG4gIHJldHVybiBlcnJvcjtcbn1cblxuZXhwb3J0IGNsYXNzIExvYyB7XG4gIFxuICBcbiAgY29uc3RydWN0b3IobGluZSwgY29sdW1uKSB7XG4gICAgdGhpcy5saW5lID0gbGluZTtcbiAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9jYXRpb25Gb3JJbmRleChwb3MpIHtcbiAgbGV0IGxpbmUgPSAxO1xuICBsZXQgY29sdW1uID0gMTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3M7IGkrKykge1xuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KGkpID09PSBjaGFyQ29kZXMubGluZUZlZWQpIHtcbiAgICAgIGxpbmUrKztcbiAgICAgIGNvbHVtbiA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbHVtbisrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3IExvYyhsaW5lLCBjb2x1bW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFBhcnNlcihcbiAgaW5wdXRDb2RlLFxuICBpc0pTWEVuYWJsZWRBcmcsXG4gIGlzVHlwZVNjcmlwdEVuYWJsZWRBcmcsXG4gIGlzRmxvd0VuYWJsZWRBcmcsXG4pIHtcbiAgaW5wdXQgPSBpbnB1dENvZGU7XG4gIHN0YXRlID0gbmV3IFN0YXRlKCk7XG4gIG5leHRDb250ZXh0SWQgPSAxO1xuICBpc0pTWEVuYWJsZWQgPSBpc0pTWEVuYWJsZWRBcmc7XG4gIGlzVHlwZVNjcmlwdEVuYWJsZWQgPSBpc1R5cGVTY3JpcHRFbmFibGVkQXJnO1xuICBpc0Zsb3dFbmFibGVkID0gaXNGbG93RW5hYmxlZEFyZztcbn1cbiIsICJpbXBvcnQge2VhdCwgZmluaXNoVG9rZW4sIGxvb2thaGVhZFR5cGVBbmRLZXl3b3JkLCBtYXRjaCwgbmV4dFRva2VuU3RhcnR9IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXhcIjtcblxuaW1wb3J0IHtmb3JtYXRUb2tlblR5cGUsIFRva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3Rva2VuaXplci90eXBlc1wiO1xuaW1wb3J0IHtjaGFyQ29kZXN9IGZyb20gXCIuLi91dGlsL2NoYXJjb2Rlc1wiO1xuaW1wb3J0IHtpbnB1dCwgc3RhdGV9IGZyb20gXCIuL2Jhc2VcIjtcblxuLy8gIyMgUGFyc2VyIHV0aWxpdGllc1xuXG4vLyBUZXN0cyB3aGV0aGVyIHBhcnNlZCB0b2tlbiBpcyBhIGNvbnRleHR1YWwga2V5d29yZC5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbnRleHR1YWwoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgcmV0dXJuIHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkID09PSBjb250ZXh0dWFsS2V5d29yZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9va2FoZWFkQ29udGV4dHVhbChjb250ZXh0dWFsS2V5d29yZCkge1xuICBjb25zdCBsID0gbG9va2FoZWFkVHlwZUFuZEtleXdvcmQoKTtcbiAgcmV0dXJuIGwudHlwZSA9PT0gdHQubmFtZSAmJiBsLmNvbnRleHR1YWxLZXl3b3JkID09PSBjb250ZXh0dWFsS2V5d29yZDtcbn1cblxuLy8gQ29uc3VtZXMgY29udGV4dHVhbCBrZXl3b3JkIGlmIHBvc3NpYmxlLlxuZXhwb3J0IGZ1bmN0aW9uIGVhdENvbnRleHR1YWwoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgcmV0dXJuIHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkID09PSBjb250ZXh0dWFsS2V5d29yZCAmJiBlYXQodHQubmFtZSk7XG59XG5cbi8vIEFzc2VydHMgdGhhdCBmb2xsb3dpbmcgdG9rZW4gaXMgZ2l2ZW4gY29udGV4dHVhbCBrZXl3b3JkLlxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdENvbnRleHR1YWwoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgaWYgKCFlYXRDb250ZXh0dWFsKGNvbnRleHR1YWxLZXl3b3JkKSkge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxufVxuXG4vLyBUZXN0IHdoZXRoZXIgYSBzZW1pY29sb24gY2FuIGJlIGluc2VydGVkIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLlxuZXhwb3J0IGZ1bmN0aW9uIGNhbkluc2VydFNlbWljb2xvbigpIHtcbiAgcmV0dXJuIG1hdGNoKHR0LmVvZikgfHwgbWF0Y2godHQuYnJhY2VSKSB8fCBoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1ByZWNlZGluZ0xpbmVCcmVhaygpIHtcbiAgY29uc3QgcHJldlRva2VuID0gc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXTtcbiAgY29uc3QgbGFzdFRva0VuZCA9IHByZXZUb2tlbiA/IHByZXZUb2tlbi5lbmQgOiAwO1xuICBmb3IgKGxldCBpID0gbGFzdFRva0VuZDsgaSA8IHN0YXRlLnN0YXJ0OyBpKyspIHtcbiAgICBjb25zdCBjb2RlID0gaW5wdXQuY2hhckNvZGVBdChpKTtcbiAgICBpZiAoXG4gICAgICBjb2RlID09PSBjaGFyQ29kZXMubGluZUZlZWQgfHxcbiAgICAgIGNvZGUgPT09IGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybiB8fFxuICAgICAgY29kZSA9PT0gMHgyMDI4IHx8XG4gICAgICBjb2RlID09PSAweDIwMjlcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNGb2xsb3dpbmdMaW5lQnJlYWsoKSB7XG4gIGNvbnN0IG5leHRTdGFydCA9IG5leHRUb2tlblN0YXJ0KCk7XG4gIGZvciAobGV0IGkgPSBzdGF0ZS5lbmQ7IGkgPCBuZXh0U3RhcnQ7IGkrKykge1xuICAgIGNvbnN0IGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmIChcbiAgICAgIGNvZGUgPT09IGNoYXJDb2Rlcy5saW5lRmVlZCB8fFxuICAgICAgY29kZSA9PT0gY2hhckNvZGVzLmNhcnJpYWdlUmV0dXJuIHx8XG4gICAgICBjb2RlID09PSAweDIwMjggfHxcbiAgICAgIGNvZGUgPT09IDB4MjAyOVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGluZVRlcm1pbmF0b3IoKSB7XG4gIHJldHVybiBlYXQodHQuc2VtaSkgfHwgY2FuSW5zZXJ0U2VtaWNvbG9uKCk7XG59XG5cbi8vIENvbnN1bWUgYSBzZW1pY29sb24sIG9yLCBmYWlsaW5nIHRoYXQsIHNlZSBpZiB3ZSBhcmUgYWxsb3dlZCB0b1xuLy8gcHJldGVuZCB0aGF0IHRoZXJlIGlzIGEgc2VtaWNvbG9uIGF0IHRoaXMgcG9zaXRpb24uXG5leHBvcnQgZnVuY3Rpb24gc2VtaWNvbG9uKCkge1xuICBpZiAoIWlzTGluZVRlcm1pbmF0b3IoKSkge1xuICAgIHVuZXhwZWN0ZWQoJ1VuZXhwZWN0ZWQgdG9rZW4sIGV4cGVjdGVkIFwiO1wiJyk7XG4gIH1cbn1cblxuLy8gRXhwZWN0IGEgdG9rZW4gb2YgYSBnaXZlbiB0eXBlLiBJZiBmb3VuZCwgY29uc3VtZSBpdCwgb3RoZXJ3aXNlLFxuLy8gcmFpc2UgYW4gdW5leHBlY3RlZCB0b2tlbiBlcnJvciBhdCBnaXZlbiBwb3MuXG5leHBvcnQgZnVuY3Rpb24gZXhwZWN0KHR5cGUpIHtcbiAgY29uc3QgbWF0Y2hlZCA9IGVhdCh0eXBlKTtcbiAgaWYgKCFtYXRjaGVkKSB7XG4gICAgdW5leHBlY3RlZChgVW5leHBlY3RlZCB0b2tlbiwgZXhwZWN0ZWQgXCIke2Zvcm1hdFRva2VuVHlwZSh0eXBlKX1cImApO1xuICB9XG59XG5cbi8qKlxuICogVHJhbnNpdGlvbiB0aGUgcGFyc2VyIHRvIGFuIGVycm9yIHN0YXRlLiBBbGwgY29kZSBuZWVkcyB0byBiZSB3cml0dGVuIHRvIG5hdHVyYWxseSB1bndpbmQgaW4gdGhpc1xuICogc3RhdGUsIHdoaWNoIGFsbG93cyB1cyB0byBiYWNrdHJhY2sgd2l0aG91dCBleGNlcHRpb25zIGFuZCB3aXRob3V0IGVycm9yIHBsdW1iaW5nIGV2ZXJ5d2hlcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmV4cGVjdGVkKG1lc3NhZ2UgPSBcIlVuZXhwZWN0ZWQgdG9rZW5cIiwgcG9zID0gc3RhdGUuc3RhcnQpIHtcbiAgaWYgKHN0YXRlLmVycm9yKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGNvbnN0IGVyciA9IG5ldyBTeW50YXhFcnJvcihtZXNzYWdlKTtcbiAgZXJyLnBvcyA9IHBvcztcbiAgc3RhdGUuZXJyb3IgPSBlcnI7XG4gIHN0YXRlLnBvcyA9IGlucHV0Lmxlbmd0aDtcbiAgZmluaXNoVG9rZW4odHQuZW9mKTtcbn1cbiIsICJpbXBvcnQge2NoYXJDb2Rlc30gZnJvbSBcIi4vY2hhcmNvZGVzXCI7XG5cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXdoaXRlLXNwYWNlXG5leHBvcnQgY29uc3QgV0hJVEVTUEFDRV9DSEFSUyA9IFtcbiAgMHgwMDA5LFxuICAweDAwMGIsXG4gIDB4MDAwYyxcbiAgY2hhckNvZGVzLnNwYWNlLFxuICBjaGFyQ29kZXMubm9uQnJlYWtpbmdTcGFjZSxcbiAgY2hhckNvZGVzLm9naGFtU3BhY2VNYXJrLFxuICAweDIwMDAsIC8vIEVOIFFVQURcbiAgMHgyMDAxLCAvLyBFTSBRVUFEXG4gIDB4MjAwMiwgLy8gRU4gU1BBQ0VcbiAgMHgyMDAzLCAvLyBFTSBTUEFDRVxuICAweDIwMDQsIC8vIFRIUkVFLVBFUi1FTSBTUEFDRVxuICAweDIwMDUsIC8vIEZPVVItUEVSLUVNIFNQQUNFXG4gIDB4MjAwNiwgLy8gU0lYLVBFUi1FTSBTUEFDRVxuICAweDIwMDcsIC8vIEZJR1VSRSBTUEFDRVxuICAweDIwMDgsIC8vIFBVTkNUVUFUSU9OIFNQQUNFXG4gIDB4MjAwOSwgLy8gVEhJTiBTUEFDRVxuICAweDIwMGEsIC8vIEhBSVIgU1BBQ0VcbiAgMHgyMDJmLCAvLyBOQVJST1cgTk8tQlJFQUsgU1BBQ0VcbiAgMHgyMDVmLCAvLyBNRURJVU0gTUFUSEVNQVRJQ0FMIFNQQUNFXG4gIDB4MzAwMCwgLy8gSURFT0dSQVBISUMgU1BBQ0VcbiAgMHhmZWZmLCAvLyBaRVJPIFdJRFRIIE5PLUJSRUFLIFNQQUNFXG5dO1xuXG5leHBvcnQgY29uc3Qgc2tpcFdoaXRlU3BhY2UgPSAvKD86XFxzfFxcL1xcLy4qfFxcL1xcKlteXSo/XFwqXFwvKSovZztcblxuZXhwb3J0IGNvbnN0IElTX1dISVRFU1BBQ0UgPSBuZXcgVWludDhBcnJheSg2NTUzNik7XG5mb3IgKGNvbnN0IGNoYXIgb2YgV0hJVEVTUEFDRV9DSEFSUykge1xuICBJU19XSElURVNQQUNFW2NoYXJdID0gMTtcbn1cbiIsICJpbXBvcnQge2NoYXJDb2Rlc30gZnJvbSBcIi4vY2hhcmNvZGVzXCI7XG5pbXBvcnQge1dISVRFU1BBQ0VfQ0hBUlN9IGZyb20gXCIuL3doaXRlc3BhY2VcIjtcblxuZnVuY3Rpb24gY29tcHV0ZUlzSWRlbnRpZmllckNoYXIoY29kZSkge1xuICBpZiAoY29kZSA8IDQ4KSByZXR1cm4gY29kZSA9PT0gMzY7XG4gIGlmIChjb2RlIDwgNTgpIHJldHVybiB0cnVlO1xuICBpZiAoY29kZSA8IDY1KSByZXR1cm4gZmFsc2U7XG4gIGlmIChjb2RlIDwgOTEpIHJldHVybiB0cnVlO1xuICBpZiAoY29kZSA8IDk3KSByZXR1cm4gY29kZSA9PT0gOTU7XG4gIGlmIChjb2RlIDwgMTIzKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKGNvZGUgPCAxMjgpIHJldHVybiBmYWxzZTtcbiAgdGhyb3cgbmV3IEVycm9yKFwiU2hvdWxkIG5vdCBiZSBjYWxsZWQgd2l0aCBub24tQVNDSUkgY2hhciBjb2RlLlwiKTtcbn1cblxuZXhwb3J0IGNvbnN0IElTX0lERU5USUZJRVJfQ0hBUiA9IG5ldyBVaW50OEFycmF5KDY1NTM2KTtcbmZvciAobGV0IGkgPSAwOyBpIDwgMTI4OyBpKyspIHtcbiAgSVNfSURFTlRJRklFUl9DSEFSW2ldID0gY29tcHV0ZUlzSWRlbnRpZmllckNoYXIoaSkgPyAxIDogMDtcbn1cbmZvciAobGV0IGkgPSAxMjg7IGkgPCA2NTUzNjsgaSsrKSB7XG4gIElTX0lERU5USUZJRVJfQ0hBUltpXSA9IDE7XG59XG4vLyBBc2lkZSBmcm9tIHdoaXRlc3BhY2UgYW5kIG5ld2xpbmVzLCBhbGwgY2hhcmFjdGVycyBvdXRzaWRlIHRoZSBBU0NJSSBzcGFjZSBhcmUgZWl0aGVyXG4vLyBpZGVudGlmaWVyIGNoYXJhY3RlcnMgb3IgaW52YWxpZC4gU2luY2Ugd2UncmUgbm90IHBlcmZvcm1pbmcgY29kZSB2YWxpZGF0aW9uLCB3ZSBjYW4ganVzdFxuLy8gdHJlYXQgYWxsIGludmFsaWQgY2hhcmFjdGVycyBhcyBpZGVudGlmaWVyIGNoYXJhY3RlcnMuXG5mb3IgKGNvbnN0IHdoaXRlc3BhY2VDaGFyIG9mIFdISVRFU1BBQ0VfQ0hBUlMpIHtcbiAgSVNfSURFTlRJRklFUl9DSEFSW3doaXRlc3BhY2VDaGFyXSA9IDA7XG59XG5JU19JREVOVElGSUVSX0NIQVJbMHgyMDI4XSA9IDA7XG5JU19JREVOVElGSUVSX0NIQVJbMHgyMDI5XSA9IDA7XG5cbmV4cG9ydCBjb25zdCBJU19JREVOVElGSUVSX1NUQVJUID0gSVNfSURFTlRJRklFUl9DSEFSLnNsaWNlKCk7XG5mb3IgKGxldCBudW1DaGFyID0gY2hhckNvZGVzLmRpZ2l0MDsgbnVtQ2hhciA8PSBjaGFyQ29kZXMuZGlnaXQ5OyBudW1DaGFyKyspIHtcbiAgSVNfSURFTlRJRklFUl9TVEFSVFtudW1DaGFyXSA9IDA7XG59XG4iLCAiLy8gR2VuZXJhdGVkIGZpbGUsIGRvIG5vdCBlZGl0ISBSdW4gXCJ5YXJuIGdlbmVyYXRlXCIgdG8gcmUtZ2VuZXJhdGUgdGhpcyBmaWxlLlxuaW1wb3J0IHtDb250ZXh0dWFsS2V5d29yZH0gZnJvbSBcIi4va2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBSRUFEX1dPUkRfVFJFRSA9IG5ldyBJbnQzMkFycmF5KFtcbiAgLy8gXCJcIlxuICAtMSwgMjcsIDc4MywgOTE4LCAxNzU1LCAyMzc2LCAyODYyLCAzNDgzLCAtMSwgMzY5OSwgLTEsIDQ2MTcsIDQ3NTIsIDQ4MzMsIDUxMzAsIDU1MDgsIDU5NDAsIC0xLCA2NDgwLCA2OTM5LCA3NzQ5LCA4MTgxLCA4NDUxLCA4NjEzLCAtMSwgODgyOSwgLTEsXG4gIC8vIFwiYVwiXG4gIC0xLCAtMSwgNTQsIDI0MywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDMyLCAtMSwgLTEsIC0xLCA2NzUsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYWJcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFic1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTA4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFic3RcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxMzUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhYnN0clwiXG4gIC0xLCAxNjIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFic3RyYVwiXG4gIC0xLCAtMSwgLTEsIDE4OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFic3RyYWNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIxNiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhYnN0cmFjdFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdCA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYWNcIlxuICAtMSwgLTEsIC0xLCAyNzAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhY2NcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDI5NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhY2NlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMyNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYWNjZXNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzUxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhY2Nlc3NcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNzgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhY2Nlc3NvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDA1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYWNjZXNzb3JcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fYWNjZXNzb3IgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX2FzIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ1OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1OTQsIC0xLFxuICAvLyBcImFzc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDg2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzc2VcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhc3NlclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTQwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzc2VydFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9hc3NlcnQgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTY3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhc3NlcnRzXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX2Fzc2VydHMgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzeVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjIxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzeW5cIlxuICAtMSwgLTEsIC0xLCA2NDgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhc3luY1wiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9hc3luYyA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYXdcIlxuICAtMSwgNzAyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhd2FcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3MjksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhd2FpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3NTYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYXdhaXRcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fYXdhaXQgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImJcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MTAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJiclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgODM3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImJyZVwiXG4gIC0xLCA4NjQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImJyZWFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg5MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJicmVha1wiXG4gICh0dC5fYnJlYWsgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY1wiXG4gIC0xLCA5NDUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDExMDcsIC0xLCAtMSwgLTEsIDEyNDIsIC0xLCAtMSwgMTM1MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImNhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDk3MiwgMTAyNiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjYXNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDk5OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjYXNlXCJcbiAgKHR0Ll9jYXNlIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImNhdFwiXG4gIC0xLCAtMSwgLTEsIDEwNTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjYXRjXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxMDgwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImNhdGNoXCJcbiAgKHR0Ll9jYXRjaCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjaFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTEzNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjaGVcIlxuICAtMSwgLTEsIC0xLCAxMTYxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY2hlY1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTE4OCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjaGVja1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxMjE1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjaGVja3NcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fY2hlY2tzIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjbFwiXG4gIC0xLCAxMjY5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjbGFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTI5NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY2xhc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxMzIzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjbGFzc1wiXG4gICh0dC5fY2xhc3MgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDEzNzcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29uXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE0MDQsIDE2MjAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29uc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTQzMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdFwiXG4gICh0dC5fY29uc3QgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE0NTgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdHJcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxNDg1LCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29uc3RydVwiXG4gIC0xLCAtMSwgLTEsIDE1MTIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdHJ1Y1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTUzOSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdHJ1Y3RcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxNTY2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29uc3RydWN0b1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE1OTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdHJ1Y3RvclwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9jb25zdHJ1Y3RvciA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29udFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE2NDcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb250aVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTY3NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb250aW5cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxNzAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29udGludVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTcyOCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb250aW51ZVwiXG4gICh0dC5fY29udGludWUgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTc4MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjM0OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlXCJcbiAgLTEsIC0xLCAxODA5LCAxOTcxLCAtMSwgLTEsIDIxMDYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjI0MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlYlwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE4MzYsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWJ1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE4NjMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlYnVnXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE4OTAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlYnVnZ1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTkxNywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWJ1Z2dlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTk0NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlYnVnZ2VyXCJcbiAgKHR0Ll9kZWJ1Z2dlciA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxOTk4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVjbFwiXG4gIC0xLCAyMDI1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWNsYVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIwNTIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWNsYXJcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDIwNzksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVjbGFyZVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9kZWNsYXJlIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWZcIlxuICAtMSwgMjEzMywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVmYVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIxNjAsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWZhdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIxODcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWZhdWxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIyMTQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVmYXVsdFwiXG4gICh0dC5fZGVmYXVsdCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDIyNjgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVsZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjI5NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWxldFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjMyMiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWxldGVcIlxuICAodHQuX2RlbGV0ZSA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkb1wiXG4gICh0dC5fZG8gPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI0MDMsIC0xLCAyNDg0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNTY1LCAtMSwgLTEsXG4gIC8vIFwiZWxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjQzMCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZWxzXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNDU3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImVsc2VcIlxuICAodHQuX2Vsc2UgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZW5cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNTExLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZW51XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI1MzgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImVudW1cIlxuICBDb250ZXh0dWFsS2V5d29yZC5fZW51bSA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXhcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjU5MiwgLTEsIC0xLCAtMSwgMjcyNywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJleHBcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNjE5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXhwb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI2NDYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJleHBvclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjY3MywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJleHBvcnRcIlxuICAodHQuX2V4cG9ydCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI3MDAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImV4cG9ydHNcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fZXhwb3J0cyA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXh0XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNzU0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImV4dGVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI3ODEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXh0ZW5cIlxuICAtMSwgLTEsIC0xLCAtMSwgMjgwOCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXh0ZW5kXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI4MzUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImV4dGVuZHNcIlxuICAodHQuX2V4dGVuZHMgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZlwiXG4gIC0xLCAyODg5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjk5NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAzMTU5LCAtMSwgLTEsIDMyMTMsIC0xLCAtMSwgMzI5NCwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImZhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjkxNiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImZhbFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyOTQzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmYWxzXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAyOTcwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImZhbHNlXCJcbiAgKHR0Ll9mYWxzZSA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzAyNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmaW5cIlxuICAtMSwgMzA1MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZmluYVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMwNzgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmaW5hbFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMxMDUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmaW5hbGxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzEzMiwgLTEsXG4gIC8vIFwiZmluYWxseVwiXG4gICh0dC5fZmluYWxseSA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMxODYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmb3JcIlxuICAodHQuX2ZvciA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMyNDAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmcm9cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzI2NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZnJvbVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9mcm9tIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzMyMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdW5cIlxuICAtMSwgLTEsIC0xLCAzMzQ4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZnVuY1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzM3NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdW5jdFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM0MDIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdW5jdGlcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNDI5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZnVuY3Rpb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzQ1NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdW5jdGlvblwiXG4gICh0dC5fZnVuY3Rpb24gPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZ1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzUxMCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzU2NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNTM3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdldFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9nZXQgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdsXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzU5MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdsb1wiXG4gIC0xLCAtMSwgMzYxOCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJnbG9iXCJcbiAgLTEsIDM2NDUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdsb2JhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzY3MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdsb2JhbFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9nbG9iYWwgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImlcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNzI2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNzUzLCA0MDc3LCAtMSwgLTEsIC0xLCAtMSwgNDU5MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaWZcIlxuICAodHQuX2lmIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM3ODAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltcFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM4MDcsIC0xLCAtMSwgMzk5NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltcGxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDM4MzQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wbGVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzg2MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wbGVtXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAzODg4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltcGxlbWVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM5MTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wbGVtZW5cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM5NDIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wbGVtZW50XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM5NjksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltcGxlbWVudHNcIlxuICBDb250ZXh0dWFsS2V5d29yZC5faW1wbGVtZW50cyA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQwMjMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbXBvclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDA1MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbXBvcnRcIlxuICAodHQuX2ltcG9ydCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpblwiXG4gICh0dC5faW4gPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQxMDQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQxODUsIDQ0MDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW5mXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0MTMxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluZmVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0MTU4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW5mZXJcIlxuICBDb250ZXh0dWFsS2V5d29yZC5faW5mZXIgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDIxMiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnN0XCJcbiAgLTEsIDQyMzksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc3RhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0MjY2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc3RhblwiXG4gIC0xLCAtMSwgLTEsIDQyOTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnN0YW5jXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0MzIwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc3RhbmNlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDM0NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc3RhbmNlb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQzNzQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnN0YW5jZW9mXCJcbiAgKHR0Ll9pbnN0YW5jZW9mIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDQyOCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnRlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDQ1NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludGVyXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDQ4MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludGVyZlwiXG4gIC0xLCA0NTA5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnRlcmZhXCJcbiAgLTEsIC0xLCAtMSwgNDUzNiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludGVyZmFjXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0NTYzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludGVyZmFjZVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImlzXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX2lzIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJrXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0NjQ0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImtlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ2NzEsIC0xLFxuICAvLyBcImtleVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ2OTgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJrZXlvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDcyNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImtleW9mXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX2tleW9mIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJsXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0Nzc5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImxlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0ODA2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImxldFwiXG4gICh0dC5fbGV0IDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIm1cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0ODYwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ5OTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ4ODcsIC0xLCAtMSxcbiAgLy8gXCJtaXhcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0OTE0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibWl4aVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDk0MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtaXhpblwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0OTY4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtaXhpbnNcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fbWl4aW5zIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCA1MDIyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtb2RcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MDQ5LCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibW9kdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDUwNzYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtb2R1bFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTEwMywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtb2R1bGVcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuXCJcbiAgLTEsIDUxNTcsIC0xLCAtMSwgLTEsIDUzNzMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU0MjcsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MTg0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDUyMTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibmFtZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MjM4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1lc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MjY1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1lc3BcIlxuICAtMSwgNTI5MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibmFtZXNwYVwiXG4gIC0xLCAtMSwgLTEsIDUzMTksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1lc3BhY1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTM0NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1lc3BhY2VcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fbmFtZXNwYWNlIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTQwMCwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuZXdcIlxuICAodHQuX25ldyA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJudVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU0NTQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJudWxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1NDgxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibnVsbFwiXG4gICh0dC5fbnVsbCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTUzNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTU2MiwgLTEsIC0xLCAtMSwgLTEsIDU2OTcsIDU3NTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIm9mXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX29mIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvcFwiXG4gIC0xLCA1NTg5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvcGFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU2MTYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwib3BhcVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU2NDMsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvcGFxdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTY3MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvcGFxdWVcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fb3BhcXVlIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTcyNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdXRcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fb3V0IDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdlwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTc3OCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdmVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1ODA1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwib3ZlclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU4MzIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdmVyclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU4NTksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdmVycmlcIlxuICAtMSwgLTEsIC0xLCAtMSwgNTg4NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwib3ZlcnJpZFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTkxMywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdmVycmlkZVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9vdmVycmlkZSA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU5NjcsIC0xLCAtMSwgNjM0NSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInByXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTk5NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2MTI5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDYwMjEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInByaXZcIlxuICAtMSwgNjA0OCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJpdmFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDYwNzUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJpdmF0XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA2MTAyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInByaXZhdGVcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fcHJpdmF0ZSA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2MTU2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInByb3RcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDYxODMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDYzMTgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90ZVwiXG4gIC0xLCAtMSwgLTEsIDYyMTAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90ZWNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDYyMzcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJvdGVjdFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjI2NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90ZWN0ZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCA2MjkxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90ZWN0ZWRcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fcHJvdGVjdGVkIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90b1wiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9wcm90byA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHVcIlxuICAtMSwgLTEsIDYzNzIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHViXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjM5OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInB1YmxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2NDI2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHVibGlcIlxuICAtMSwgLTEsIC0xLCA2NDUzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHVibGljXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX3B1YmxpYyA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjUwNywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJyZVwiXG4gIC0xLCA2NTM0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2Njk2LCAtMSwgLTEsIDY4MzEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicmVhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIDY1NjEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlYWRcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2NTg4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicmVhZG9cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDY2MTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicmVhZG9uXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjY0MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlYWRvbmxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjY2OSwgLTEsXG4gIC8vIFwicmVhZG9ubHlcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHkgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlcVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDY3MjMsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJyZXF1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjc1MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlcXVpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjc3NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlcXVpclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjgwNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJyZXF1aXJlXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX3JlcXVpcmUgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJldFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDY4NTgsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJyZXR1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjg4NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJldHVyXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2OTEyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJldHVyblwiXG4gICh0dC5fcmV0dXJuIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNcIlxuICAtMSwgNjk2NiwgLTEsIC0xLCAtMSwgNzE4MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3MjM2LCA3MzcxLCAtMSwgNzQ3OSwgLTEsIDc2MTQsIC0xLFxuICAvLyBcInNhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2OTkzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDcwMjAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzYXRpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDcwNDcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdGlzXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzA3NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdGlzZlwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDcxMDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzYXRpc2ZpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA3MTI4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdGlzZmllXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDcxNTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdGlzZmllc1wiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9zYXRpc2ZpZXMgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3MjA5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNldFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9zZXQgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN0XCJcbiAgLTEsIDcyNjMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN0YVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzI5MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzdGF0XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzMxNywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN0YXRpXCJcbiAgLTEsIC0xLCAtMSwgNzM0NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN0YXRpY1wiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9zdGF0aWMgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDczOTgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN1cFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzQyNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzdXBlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzQ1MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN1cGVyXCJcbiAgKHR0Ll9zdXBlciA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzd1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc1MDYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzd2lcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc1MzMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwic3dpdFwiXG4gIC0xLCAtMSwgLTEsIDc1NjAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzd2l0Y1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzU4NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzd2l0Y2hcIlxuICAodHQuX3N3aXRjaCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzeVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3NjQxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzeW1cIlxuICAtMSwgLTEsIDc2NjgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwic3ltYlwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc2OTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzeW1ib1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc3MjIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzeW1ib2xcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fc3ltYm9sIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3Nzc2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3OTM4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MDQ2LCAtMSxcbiAgLy8gXCJ0aFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc4MDMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzg1NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInRoaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3ODMwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0aGlzXCJcbiAgKHR0Ll90aGlzIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInRoclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc4ODQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0aHJvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3OTExLCAtMSwgLTEsIC0xLFxuICAvLyBcInRocm93XCJcbiAgKHR0Ll90aHJvdyA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0clwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc5NjUsIC0xLCAtMSwgLTEsIDgwMTksIC0xLFxuICAvLyBcInRydVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzk5MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0cnVlXCJcbiAgKHR0Ll90cnVlIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInRyeVwiXG4gICh0dC5fdHJ5IDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInR5XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDgwNzMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInR5cFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgODEwMCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0eXBlXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX3R5cGUgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MTI3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidHlwZW9cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MTU0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidHlwZW9mXCJcbiAgKHR0Ll90eXBlb2YgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODIwOCwgLTEsIC0xLCAtMSwgLTEsIDgzNDMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVuXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODIzNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVuaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODI2MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ1bmlxXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODI4OSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVuaXF1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MzE2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVuaXF1ZVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl91bmlxdWUgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVzXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODM3MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVzaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODM5NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ1c2luXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg0MjQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVzaW5nXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX3VzaW5nIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ2XCJcbiAgLTEsIDg0NzgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4NTMyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidmFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4NTA1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidmFyXCJcbiAgKHR0Ll92YXIgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidm9cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4NTU5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidm9pXCJcbiAgLTEsIC0xLCAtMSwgLTEsIDg1ODYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInZvaWRcIlxuICAodHQuX3ZvaWQgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwid1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODY0MCwgODc0OCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIndoXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODY2NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIndoaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg2OTQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ3aGlsXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA4NzIxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIndoaWxlXCJcbiAgKHR0Ll93aGlsZSA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ3aVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODc3NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ3aXRcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg4MDIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwid2l0aFwiXG4gICh0dC5fd2l0aCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ5XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODg1NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInlpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA4ODgzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInlpZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg5MTAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ5aWVsXCJcbiAgLTEsIC0xLCAtMSwgLTEsIDg5MzcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInlpZWxkXCJcbiAgKHR0Ll95aWVsZCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbl0pO1xuIiwgImltcG9ydCB7aW5wdXQsIHN0YXRlfSBmcm9tIFwiLi4vdHJhdmVyc2VyL2Jhc2VcIjtcbmltcG9ydCB7Y2hhckNvZGVzfSBmcm9tIFwiLi4vdXRpbC9jaGFyY29kZXNcIjtcbmltcG9ydCB7SVNfSURFTlRJRklFUl9DSEFSfSBmcm9tIFwiLi4vdXRpbC9pZGVudGlmaWVyXCI7XG5pbXBvcnQge2ZpbmlzaFRva2VufSBmcm9tIFwiLi9pbmRleFwiO1xuaW1wb3J0IHtSRUFEX1dPUkRfVFJFRX0gZnJvbSBcIi4vcmVhZFdvcmRUcmVlXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBSZWFkIGFuIGlkZW50aWZpZXIsIHByb2R1Y2luZyBlaXRoZXIgYSBuYW1lIHRva2VuIG9yIG1hdGNoaW5nIG9uIG9uZSBvZiB0aGUgZXhpc3Rpbmcga2V5d29yZHMuXG4gKiBGb3IgcGVyZm9ybWFuY2UsIHdlIHByZS1nZW5lcmF0ZSBiaWcgZGVjaXNpb24gdHJlZSB0aGF0IHdlIHRyYXZlcnNlLiBFYWNoIG5vZGUgcmVwcmVzZW50cyBhXG4gKiBwcmVmaXggYW5kIGhhcyAyNyB2YWx1ZXMsIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyB0aGUgdG9rZW4gb3IgY29udGV4dHVhbCB0b2tlbiwgaWYgYW55ICgtMSBpZlxuICogbm90KSwgYW5kIHRoZSBvdGhlciAyNiB2YWx1ZXMgYXJlIHRoZSB0cmFuc2l0aW9ucyB0byBvdGhlciBub2Rlcywgb3IgLTEgdG8gc3RvcC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVhZFdvcmQoKSB7XG4gIGxldCB0cmVlUG9zID0gMDtcbiAgbGV0IGNvZGUgPSAwO1xuICBsZXQgcG9zID0gc3RhdGUucG9zO1xuICB3aGlsZSAocG9zIDwgaW5wdXQubGVuZ3RoKSB7XG4gICAgY29kZSA9IGlucHV0LmNoYXJDb2RlQXQocG9zKTtcbiAgICBpZiAoY29kZSA8IGNoYXJDb2Rlcy5sb3dlcmNhc2VBIHx8IGNvZGUgPiBjaGFyQ29kZXMubG93ZXJjYXNlWikge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNvbnN0IG5leHQgPSBSRUFEX1dPUkRfVFJFRVt0cmVlUG9zICsgKGNvZGUgLSBjaGFyQ29kZXMubG93ZXJjYXNlQSkgKyAxXTtcbiAgICBpZiAobmV4dCA9PT0gLTEpIHtcbiAgICAgIGJyZWFrO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmVlUG9zID0gbmV4dDtcbiAgICAgIHBvcysrO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGtleXdvcmRWYWx1ZSA9IFJFQURfV09SRF9UUkVFW3RyZWVQb3NdO1xuICBpZiAoa2V5d29yZFZhbHVlID4gLTEgJiYgIUlTX0lERU5USUZJRVJfQ0hBUltjb2RlXSkge1xuICAgIHN0YXRlLnBvcyA9IHBvcztcbiAgICBpZiAoa2V5d29yZFZhbHVlICYgMSkge1xuICAgICAgZmluaXNoVG9rZW4oa2V5d29yZFZhbHVlID4+PiAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluaXNoVG9rZW4odHQubmFtZSwga2V5d29yZFZhbHVlID4+PiAxKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgd2hpbGUgKHBvcyA8IGlucHV0Lmxlbmd0aCkge1xuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChwb3MpO1xuICAgIGlmIChJU19JREVOVElGSUVSX0NIQVJbY2hdKSB7XG4gICAgICBwb3MrKztcbiAgICB9IGVsc2UgaWYgKGNoID09PSBjaGFyQ29kZXMuYmFja3NsYXNoKSB7XG4gICAgICAvLyBcXHVcbiAgICAgIHBvcyArPSAyO1xuICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocG9zKSA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlKSB7XG4gICAgICAgIHdoaWxlIChwb3MgPCBpbnB1dC5sZW5ndGggJiYgaW5wdXQuY2hhckNvZGVBdChwb3MpICE9PSBjaGFyQ29kZXMucmlnaHRDdXJseUJyYWNlKSB7XG4gICAgICAgICAgcG9zKys7XG4gICAgICAgIH1cbiAgICAgICAgcG9zKys7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjaCA9PT0gY2hhckNvZGVzLmF0U2lnbiAmJiBpbnB1dC5jaGFyQ29kZUF0KHBvcyArIDEpID09PSBjaGFyQ29kZXMuYXRTaWduKSB7XG4gICAgICBwb3MgKz0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHN0YXRlLnBvcyA9IHBvcztcbiAgZmluaXNoVG9rZW4odHQubmFtZSk7XG59XG4iLCAiLyogZXNsaW50IG1heC1sZW46IDAgKi9cblxuaW1wb3J0IHtpbnB1dCwgaXNGbG93RW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuLi90cmF2ZXJzZXIvYmFzZVwiO1xuaW1wb3J0IHt1bmV4cGVjdGVkfSBmcm9tIFwiLi4vdHJhdmVyc2VyL3V0aWxcIjtcbmltcG9ydCB7Y2hhckNvZGVzfSBmcm9tIFwiLi4vdXRpbC9jaGFyY29kZXNcIjtcbmltcG9ydCB7SVNfSURFTlRJRklFUl9DSEFSLCBJU19JREVOVElGSUVSX1NUQVJUfSBmcm9tIFwiLi4vdXRpbC9pZGVudGlmaWVyXCI7XG5pbXBvcnQge0lTX1dISVRFU1BBQ0UsIHNraXBXaGl0ZVNwYWNlfSBmcm9tIFwiLi4vdXRpbC93aGl0ZXNwYWNlXCI7XG5pbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi9rZXl3b3Jkc1wiO1xuaW1wb3J0IHJlYWRXb3JkIGZyb20gXCIuL3JlYWRXb3JkXCI7XG5pbXBvcnQgeyBUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCB2YXIgSWRlbnRpZmllclJvbGU7IChmdW5jdGlvbiAoSWRlbnRpZmllclJvbGUpIHtcbiAgY29uc3QgQWNjZXNzID0gMDsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJBY2Nlc3NcIl0gPSBBY2Nlc3NdID0gXCJBY2Nlc3NcIjtcbiAgY29uc3QgRXhwb3J0QWNjZXNzID0gQWNjZXNzICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJFeHBvcnRBY2Nlc3NcIl0gPSBFeHBvcnRBY2Nlc3NdID0gXCJFeHBvcnRBY2Nlc3NcIjtcbiAgY29uc3QgVG9wTGV2ZWxEZWNsYXJhdGlvbiA9IEV4cG9ydEFjY2VzcyArIDE7IElkZW50aWZpZXJSb2xlW0lkZW50aWZpZXJSb2xlW1wiVG9wTGV2ZWxEZWNsYXJhdGlvblwiXSA9IFRvcExldmVsRGVjbGFyYXRpb25dID0gXCJUb3BMZXZlbERlY2xhcmF0aW9uXCI7XG4gIGNvbnN0IEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gPSBUb3BMZXZlbERlY2xhcmF0aW9uICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uXCJdID0gRnVuY3Rpb25TY29wZWREZWNsYXJhdGlvbl0gPSBcIkZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb25cIjtcbiAgY29uc3QgQmxvY2tTY29wZWREZWNsYXJhdGlvbiA9IEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gKyAxOyBJZGVudGlmaWVyUm9sZVtJZGVudGlmaWVyUm9sZVtcIkJsb2NrU2NvcGVkRGVjbGFyYXRpb25cIl0gPSBCbG9ja1Njb3BlZERlY2xhcmF0aW9uXSA9IFwiQmxvY2tTY29wZWREZWNsYXJhdGlvblwiO1xuICBjb25zdCBPYmplY3RTaG9ydGhhbmRUb3BMZXZlbERlY2xhcmF0aW9uID0gQmxvY2tTY29wZWREZWNsYXJhdGlvbiArIDE7IElkZW50aWZpZXJSb2xlW0lkZW50aWZpZXJSb2xlW1wiT2JqZWN0U2hvcnRoYW5kVG9wTGV2ZWxEZWNsYXJhdGlvblwiXSA9IE9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb25dID0gXCJPYmplY3RTaG9ydGhhbmRUb3BMZXZlbERlY2xhcmF0aW9uXCI7XG4gIGNvbnN0IE9iamVjdFNob3J0aGFuZEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gPSBPYmplY3RTaG9ydGhhbmRUb3BMZXZlbERlY2xhcmF0aW9uICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJPYmplY3RTaG9ydGhhbmRGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uXCJdID0gT2JqZWN0U2hvcnRoYW5kRnVuY3Rpb25TY29wZWREZWNsYXJhdGlvbl0gPSBcIk9iamVjdFNob3J0aGFuZEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb25cIjtcbiAgY29uc3QgT2JqZWN0U2hvcnRoYW5kQmxvY2tTY29wZWREZWNsYXJhdGlvbiA9IE9iamVjdFNob3J0aGFuZEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gKyAxOyBJZGVudGlmaWVyUm9sZVtJZGVudGlmaWVyUm9sZVtcIk9iamVjdFNob3J0aGFuZEJsb2NrU2NvcGVkRGVjbGFyYXRpb25cIl0gPSBPYmplY3RTaG9ydGhhbmRCbG9ja1Njb3BlZERlY2xhcmF0aW9uXSA9IFwiT2JqZWN0U2hvcnRoYW5kQmxvY2tTY29wZWREZWNsYXJhdGlvblwiO1xuICBjb25zdCBPYmplY3RTaG9ydGhhbmQgPSBPYmplY3RTaG9ydGhhbmRCbG9ja1Njb3BlZERlY2xhcmF0aW9uICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJPYmplY3RTaG9ydGhhbmRcIl0gPSBPYmplY3RTaG9ydGhhbmRdID0gXCJPYmplY3RTaG9ydGhhbmRcIjtcbiAgLy8gQW55IGlkZW50aWZpZXIgYm91bmQgaW4gYW4gaW1wb3J0IHN0YXRlbWVudCwgZS5nLiBib3RoIEEgYW5kIGIgZnJvbVxuICAvLyBgaW1wb3J0IEEsICogYXMgYiBmcm9tICdBJztgXG4gIGNvbnN0IEltcG9ydERlY2xhcmF0aW9uID0gT2JqZWN0U2hvcnRoYW5kICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJJbXBvcnREZWNsYXJhdGlvblwiXSA9IEltcG9ydERlY2xhcmF0aW9uXSA9IFwiSW1wb3J0RGVjbGFyYXRpb25cIjtcbiAgY29uc3QgT2JqZWN0S2V5ID0gSW1wb3J0RGVjbGFyYXRpb24gKyAxOyBJZGVudGlmaWVyUm9sZVtJZGVudGlmaWVyUm9sZVtcIk9iamVjdEtleVwiXSA9IE9iamVjdEtleV0gPSBcIk9iamVjdEtleVwiO1xuICAvLyBUaGUgYGZvb2AgaW4gYGltcG9ydCB7Zm9vIGFzIGJhcn0gZnJvbSBcIi4vYWJjXCI7YC5cbiAgY29uc3QgSW1wb3J0QWNjZXNzID0gT2JqZWN0S2V5ICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJJbXBvcnRBY2Nlc3NcIl0gPSBJbXBvcnRBY2Nlc3NdID0gXCJJbXBvcnRBY2Nlc3NcIjtcbn0pKElkZW50aWZpZXJSb2xlIHx8IChJZGVudGlmaWVyUm9sZSA9IHt9KSk7XG5cbi8qKlxuICogRXh0cmEgaW5mb3JtYXRpb24gb24ganN4VGFnU3RhcnQgdG9rZW5zLCB1c2VkIHRvIGRldGVybWluZSB3aGljaCBvZiB0aGUgdGhyZWVcbiAqIGpzeCBmdW5jdGlvbnMgYXJlIGNhbGxlZCBpbiB0aGUgYXV0b21hdGljIHRyYW5zZm9ybS5cbiAqL1xuZXhwb3J0IHZhciBKU1hSb2xlOyAoZnVuY3Rpb24gKEpTWFJvbGUpIHtcbiAgLy8gVGhlIGVsZW1lbnQgaXMgc2VsZi1jbG9zaW5nIG9yIGhhcyBhIGJvZHkgdGhhdCByZXNvbHZlcyB0byBlbXB0eS4gV2VcbiAgLy8gc2hvdWxkbid0IGVtaXQgY2hpbGRyZW4gYXQgYWxsIGluIHRoaXMgY2FzZS5cbiAgY29uc3QgTm9DaGlsZHJlbiA9IDA7IEpTWFJvbGVbSlNYUm9sZVtcIk5vQ2hpbGRyZW5cIl0gPSBOb0NoaWxkcmVuXSA9IFwiTm9DaGlsZHJlblwiO1xuICAvLyBUaGUgZWxlbWVudCBoYXMgYSBzaW5nbGUgZXhwbGljaXQgY2hpbGQsIHdoaWNoIG1pZ2h0IHN0aWxsIGJlIGFuIGFyYml0cmFyeVxuICAvLyBleHByZXNzaW9uIGxpa2UgYW4gYXJyYXkuIFdlIHNob3VsZCBlbWl0IHRoYXQgZXhwcmVzc2lvbiBhcyB0aGUgY2hpbGRyZW4uXG4gIGNvbnN0IE9uZUNoaWxkID0gTm9DaGlsZHJlbiArIDE7IEpTWFJvbGVbSlNYUm9sZVtcIk9uZUNoaWxkXCJdID0gT25lQ2hpbGRdID0gXCJPbmVDaGlsZFwiO1xuICAvLyBUaGUgZWxlbWVudCBoYXMgYXQgbGVhc3QgdHdvIGV4cGxpY2l0bHktc3BlY2lmaWVkIGNoaWxkcmVuIG9yIGhhcyBzcHJlYWRcbiAgLy8gY2hpbGRyZW4sIHNvIGNoaWxkIHBvc2l0aW9ucyBhcmUgYXNzdW1lZCB0byBiZSBcInN0YXRpY1wiLiBXZSBzaG91bGQgd3JhcFxuICAvLyB0aGVzZSBjaGlsZHJlbiBpbiBhbiBhcnJheS5cbiAgY29uc3QgU3RhdGljQ2hpbGRyZW4gPSBPbmVDaGlsZCArIDE7IEpTWFJvbGVbSlNYUm9sZVtcIlN0YXRpY0NoaWxkcmVuXCJdID0gU3RhdGljQ2hpbGRyZW5dID0gXCJTdGF0aWNDaGlsZHJlblwiO1xuICAvLyBUaGUgZWxlbWVudCBoYXMgYSBwcm9wIG5hbWVkIFwia2V5XCIgYWZ0ZXIgYSBwcm9wIHNwcmVhZCwgc28gd2Ugc2hvdWxkIGZhbGxcbiAgLy8gYmFjayB0byB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbi5cbiAgY29uc3QgS2V5QWZ0ZXJQcm9wU3ByZWFkID0gU3RhdGljQ2hpbGRyZW4gKyAxOyBKU1hSb2xlW0pTWFJvbGVbXCJLZXlBZnRlclByb3BTcHJlYWRcIl0gPSBLZXlBZnRlclByb3BTcHJlYWRdID0gXCJLZXlBZnRlclByb3BTcHJlYWRcIjtcbn0pKEpTWFJvbGUgfHwgKEpTWFJvbGUgPSB7fSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEZWNsYXJhdGlvbih0b2tlbikge1xuICBjb25zdCByb2xlID0gdG9rZW4uaWRlbnRpZmllclJvbGU7XG4gIHJldHVybiAoXG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuVG9wTGV2ZWxEZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLkZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5CbG9ja1Njb3BlZERlY2xhcmF0aW9uIHx8XG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuT2JqZWN0U2hvcnRoYW5kVG9wTGV2ZWxEZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRCbG9ja1Njb3BlZERlY2xhcmF0aW9uXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vblRvcExldmVsRGVjbGFyYXRpb24odG9rZW4pIHtcbiAgY29uc3Qgcm9sZSA9IHRva2VuLmlkZW50aWZpZXJSb2xlO1xuICByZXR1cm4gKFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLkZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5CbG9ja1Njb3BlZERlY2xhcmF0aW9uIHx8XG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuT2JqZWN0U2hvcnRoYW5kRnVuY3Rpb25TY29wZWREZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZEJsb2NrU2NvcGVkRGVjbGFyYXRpb25cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVG9wTGV2ZWxEZWNsYXJhdGlvbih0b2tlbikge1xuICBjb25zdCByb2xlID0gdG9rZW4uaWRlbnRpZmllclJvbGU7XG4gIHJldHVybiAoXG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuVG9wTGV2ZWxEZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5JbXBvcnREZWNsYXJhdGlvblxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCbG9ja1Njb3BlZERlY2xhcmF0aW9uKHRva2VuKSB7XG4gIGNvbnN0IHJvbGUgPSB0b2tlbi5pZGVudGlmaWVyUm9sZTtcbiAgLy8gVHJlYXQgdG9wLWxldmVsIGRlY2xhcmF0aW9ucyBhcyBibG9jayBzY29wZSBzaW5jZSB0aGUgZGlzdGluY3Rpb24gZG9lc24ndCBtYXR0ZXIgaGVyZS5cbiAgcmV0dXJuIChcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5Ub3BMZXZlbERlY2xhcmF0aW9uIHx8XG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuQmxvY2tTY29wZWREZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRCbG9ja1Njb3BlZERlY2xhcmF0aW9uXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24odG9rZW4pIHtcbiAgY29uc3Qgcm9sZSA9IHRva2VuLmlkZW50aWZpZXJSb2xlO1xuICByZXR1cm4gKFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLkZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdFNob3J0aGFuZERlY2xhcmF0aW9uKHRva2VuKSB7XG4gIHJldHVybiAoXG4gICAgdG9rZW4uaWRlbnRpZmllclJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb24gfHxcbiAgICB0b2tlbi5pZGVudGlmaWVyUm9sZSA9PT0gSWRlbnRpZmllclJvbGUuT2JqZWN0U2hvcnRoYW5kQmxvY2tTY29wZWREZWNsYXJhdGlvbiB8fFxuICAgIHRva2VuLmlkZW50aWZpZXJSb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uXG4gICk7XG59XG5cbi8vIE9iamVjdCB0eXBlIHVzZWQgdG8gcmVwcmVzZW50IHRva2Vucy4gTm90ZSB0aGF0IG5vcm1hbGx5LCB0b2tlbnNcbi8vIHNpbXBseSBleGlzdCBhcyBwcm9wZXJ0aWVzIG9uIHRoZSBwYXJzZXIgb2JqZWN0LiBUaGlzIGlzIG9ubHlcbi8vIHVzZWQgZm9yIHRoZSBvblRva2VuIGNhbGxiYWNrIGFuZCB0aGUgZXh0ZXJuYWwgdG9rZW5pemVyLlxuZXhwb3J0IGNsYXNzIFRva2VuIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy50eXBlID0gc3RhdGUudHlwZTtcbiAgICB0aGlzLmNvbnRleHR1YWxLZXl3b3JkID0gc3RhdGUuY29udGV4dHVhbEtleXdvcmQ7XG4gICAgdGhpcy5zdGFydCA9IHN0YXRlLnN0YXJ0O1xuICAgIHRoaXMuZW5kID0gc3RhdGUuZW5kO1xuICAgIHRoaXMuc2NvcGVEZXB0aCA9IHN0YXRlLnNjb3BlRGVwdGg7XG4gICAgdGhpcy5pc1R5cGUgPSBzdGF0ZS5pc1R5cGU7XG4gICAgdGhpcy5pZGVudGlmaWVyUm9sZSA9IG51bGw7XG4gICAgdGhpcy5qc3hSb2xlID0gbnVsbDtcbiAgICB0aGlzLnNoYWRvd3NHbG9iYWwgPSBmYWxzZTtcbiAgICB0aGlzLmlzQXN5bmNPcGVyYXRpb24gPSBmYWxzZTtcbiAgICB0aGlzLmNvbnRleHRJZCA9IG51bGw7XG4gICAgdGhpcy5yaHNFbmRJbmRleCA9IG51bGw7XG4gICAgdGhpcy5pc0V4cHJlc3Npb24gPSBmYWxzZTtcbiAgICB0aGlzLm51bU51bGxpc2hDb2FsZXNjZVN0YXJ0cyA9IDA7XG4gICAgdGhpcy5udW1OdWxsaXNoQ29hbGVzY2VFbmRzID0gMDtcbiAgICB0aGlzLmlzT3B0aW9uYWxDaGFpblN0YXJ0ID0gZmFsc2U7XG4gICAgdGhpcy5pc09wdGlvbmFsQ2hhaW5FbmQgPSBmYWxzZTtcbiAgICB0aGlzLnN1YnNjcmlwdFN0YXJ0SW5kZXggPSBudWxsO1xuICAgIHRoaXMubnVsbGlzaFN0YXJ0SW5kZXggPSBudWxsO1xuICB9XG5cbiAgXG4gIFxuICBcbiAgXG4gIFxuICBcbiAgXG4gIFxuICAvLyBJbml0aWFsbHkgZmFsc2UgZm9yIGFsbCB0b2tlbnMsIHRoZW4gbWF5IGJlIGNvbXB1dGVkIGluIGEgZm9sbG93LXVwIHN0ZXAgdGhhdCBkb2VzIHNjb3BlXG4gIC8vIGFuYWx5c2lzLlxuICBcbiAgLy8gSW5pdGlhbGx5IGZhbHNlIGZvciBhbGwgdG9rZW5zLCBidXQgbWF5IGJlIHNldCBkdXJpbmcgdHJhbnNmb3JtIHRvIG1hcmsgaXQgYXMgY29udGFpbmluZyBhblxuICAvLyBhd2FpdCBvcGVyYXRpb24uXG4gIFxuICBcbiAgLy8gRm9yIGFzc2lnbm1lbnRzLCB0aGUgaW5kZXggb2YgdGhlIFJIUy4gRm9yIGV4cG9ydCB0b2tlbnMsIHRoZSBlbmQgb2YgdGhlIGV4cG9ydC5cbiAgXG4gIC8vIEZvciBjbGFzcyB0b2tlbnMsIHJlY29yZHMgaWYgdGhlIGNsYXNzIGlzIGEgY2xhc3MgZXhwcmVzc2lvbiBvciBhIGNsYXNzIHN0YXRlbWVudC5cbiAgXG4gIC8vIE51bWJlciBvZiB0aW1lcyB0byBpbnNlcnQgYSBgbnVsbGlzaENvYWxlc2NlKGAgc25pcHBldCBiZWZvcmUgdGhpcyB0b2tlbi5cbiAgXG4gIC8vIE51bWJlciBvZiB0aW1lcyB0byBpbnNlcnQgYSBgKWAgc25pcHBldCBhZnRlciB0aGlzIHRva2VuLlxuICBcbiAgLy8gSWYgdHJ1ZSwgaW5zZXJ0IGFuIGBvcHRpb25hbENoYWluKFtgIHNuaXBwZXQgYmVmb3JlIHRoaXMgdG9rZW4uXG4gIFxuICAvLyBJZiB0cnVlLCBpbnNlcnQgYSBgXSlgIHNuaXBwZXQgYWZ0ZXIgdGhpcyB0b2tlbi5cbiAgXG4gIC8vIFRhZyBmb3IgYC5gLCBgPy5gLCBgW2AsIGA/LltgLCBgKGAsIGFuZCBgPy4oYCB0byBkZW5vdGUgdGhlIFwicm9vdFwiIHRva2VuIGZvciB0aGlzXG4gIC8vIHN1YnNjcmlwdCBjaGFpbi4gVGhpcyBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhpcyBjaGFpbiBpcyBhbiBvcHRpb25hbCBjaGFpbi5cbiAgXG4gIC8vIFRhZyBmb3IgYD8/YCBvcGVyYXRvcnMgdG8gZGVub3RlIHRoZSByb290IHRva2VuIGZvciB0aGlzIG51bGxpc2ggY29hbGVzY2luZyBjYWxsLlxuICBcbn1cblxuLy8gIyMgVG9rZW5pemVyXG5cbi8vIE1vdmUgdG8gdGhlIG5leHQgdG9rZW5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0KCkge1xuICBzdGF0ZS50b2tlbnMucHVzaChuZXcgVG9rZW4oKSk7XG4gIG5leHRUb2tlbigpO1xufVxuXG4vLyBDYWxsIGluc3RlYWQgb2YgbmV4dCB3aGVuIGluc2lkZSBhIHRlbXBsYXRlLCBzaW5jZSB0aGF0IG5lZWRzIHRvIGJlIGhhbmRsZWQgZGlmZmVyZW50bHkuXG5leHBvcnQgZnVuY3Rpb24gbmV4dFRlbXBsYXRlVG9rZW4oKSB7XG4gIHN0YXRlLnRva2Vucy5wdXNoKG5ldyBUb2tlbigpKTtcbiAgc3RhdGUuc3RhcnQgPSBzdGF0ZS5wb3M7XG4gIHJlYWRUbXBsVG9rZW4oKTtcbn1cblxuLy8gVGhlIHRva2VuaXplciBuZXZlciBwYXJzZXMgcmVnZXhlcyBieSBkZWZhdWx0LiBJbnN0ZWFkLCB0aGUgcGFyc2VyIGlzIHJlc3BvbnNpYmxlIGZvclxuLy8gaW5zdHJ1Y3RpbmcgaXQgdG8gcGFyc2UgYSByZWdleCB3aGVuIHdlIHNlZSBhIHNsYXNoIGF0IHRoZSBzdGFydCBvZiBhbiBleHByZXNzaW9uLlxuZXhwb3J0IGZ1bmN0aW9uIHJldG9rZW5pemVTbGFzaEFzUmVnZXgoKSB7XG4gIGlmIChzdGF0ZS50eXBlID09PSB0dC5hc3NpZ24pIHtcbiAgICAtLXN0YXRlLnBvcztcbiAgfVxuICByZWFkUmVnZXhwKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwdXNoVHlwZUNvbnRleHQoZXhpc3RpbmdUb2tlbnNJblR5cGUpIHtcbiAgZm9yIChsZXQgaSA9IHN0YXRlLnRva2Vucy5sZW5ndGggLSBleGlzdGluZ1Rva2Vuc0luVHlwZTsgaSA8IHN0YXRlLnRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIHN0YXRlLnRva2Vuc1tpXS5pc1R5cGUgPSB0cnVlO1xuICB9XG4gIGNvbnN0IG9sZElzVHlwZSA9IHN0YXRlLmlzVHlwZTtcbiAgc3RhdGUuaXNUeXBlID0gdHJ1ZTtcbiAgcmV0dXJuIG9sZElzVHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSkge1xuICBzdGF0ZS5pc1R5cGUgPSBvbGRJc1R5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlYXQodHlwZSkge1xuICBpZiAobWF0Y2godHlwZSkpIHtcbiAgICBuZXh0KCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlYXRUeXBlVG9rZW4odG9rZW5UeXBlKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHN0YXRlLmlzVHlwZTtcbiAgc3RhdGUuaXNUeXBlID0gdHJ1ZTtcbiAgZWF0KHRva2VuVHlwZSk7XG4gIHN0YXRlLmlzVHlwZSA9IG9sZElzVHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoKHR5cGUpIHtcbiAgcmV0dXJuIHN0YXRlLnR5cGUgPT09IHR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rYWhlYWRUeXBlKCkge1xuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG4gIG5leHQoKTtcbiAgY29uc3QgdHlwZSA9IHN0YXRlLnR5cGU7XG4gIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICByZXR1cm4gdHlwZTtcbn1cblxuZXhwb3J0IGNsYXNzIFR5cGVBbmRLZXl3b3JkIHtcbiAgXG4gIFxuICBjb25zdHJ1Y3Rvcih0eXBlLCBjb250ZXh0dWFsS2V5d29yZCkge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5jb250ZXh0dWFsS2V5d29yZCA9IGNvbnRleHR1YWxLZXl3b3JkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rYWhlYWRUeXBlQW5kS2V5d29yZCgpIHtcbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICBuZXh0KCk7XG4gIGNvbnN0IHR5cGUgPSBzdGF0ZS50eXBlO1xuICBjb25zdCBjb250ZXh0dWFsS2V5d29yZCA9IHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkO1xuICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgcmV0dXJuIG5ldyBUeXBlQW5kS2V5d29yZCh0eXBlLCBjb250ZXh0dWFsS2V5d29yZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0VG9rZW5TdGFydCgpIHtcbiAgcmV0dXJuIG5leHRUb2tlblN0YXJ0U2luY2Uoc3RhdGUucG9zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5leHRUb2tlblN0YXJ0U2luY2UocG9zKSB7XG4gIHNraXBXaGl0ZVNwYWNlLmxhc3RJbmRleCA9IHBvcztcbiAgY29uc3Qgc2tpcCA9IHNraXBXaGl0ZVNwYWNlLmV4ZWMoaW5wdXQpO1xuICByZXR1cm4gcG9zICsgc2tpcFswXS5sZW5ndGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rYWhlYWRDaGFyQ29kZSgpIHtcbiAgcmV0dXJuIGlucHV0LmNoYXJDb2RlQXQobmV4dFRva2VuU3RhcnQoKSk7XG59XG5cbi8vIFJlYWQgYSBzaW5nbGUgdG9rZW4sIHVwZGF0aW5nIHRoZSBwYXJzZXIgb2JqZWN0J3MgdG9rZW4tcmVsYXRlZFxuLy8gcHJvcGVydGllcy5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0VG9rZW4oKSB7XG4gIHNraXBTcGFjZSgpO1xuICBzdGF0ZS5zdGFydCA9IHN0YXRlLnBvcztcbiAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICBjb25zdCB0b2tlbnMgPSBzdGF0ZS50b2tlbnM7XG4gICAgLy8gV2Ugbm9ybWFsbHkgcnVuIHBhc3QgdGhlIGVuZCBhIGJpdCwgYnV0IGlmIHdlJ3JlIHdheSBwYXN0IHRoZSBlbmQsIGF2b2lkIGFuIGluZmluaXRlIGxvb3AuXG4gICAgLy8gQWxzbyBjaGVjayB0aGUgdG9rZW4gcG9zaXRpb25zIHJhdGhlciB0aGFuIHRoZSB0eXBlcyBzaW5jZSBzb21ldGltZXMgd2UgcmV3cml0ZSB0aGUgdG9rZW5cbiAgICAvLyB0eXBlIHRvIHNvbWV0aGluZyBlbHNlLlxuICAgIGlmIChcbiAgICAgIHRva2Vucy5sZW5ndGggPj0gMiAmJlxuICAgICAgdG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXS5zdGFydCA+PSBpbnB1dC5sZW5ndGggJiZcbiAgICAgIHRva2Vuc1t0b2tlbnMubGVuZ3RoIC0gMl0uc3RhcnQgPj0gaW5wdXQubGVuZ3RoXG4gICAgKSB7XG4gICAgICB1bmV4cGVjdGVkKFwiVW5leHBlY3RlZGx5IHJlYWNoZWQgdGhlIGVuZCBvZiBpbnB1dC5cIik7XG4gICAgfVxuICAgIGZpbmlzaFRva2VuKHR0LmVvZik7XG4gICAgcmV0dXJuO1xuICB9XG4gIHJlYWRUb2tlbihpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcykpO1xufVxuXG5mdW5jdGlvbiByZWFkVG9rZW4oY29kZSkge1xuICAvLyBJZGVudGlmaWVyIG9yIGtleXdvcmQuICdcXHVYWFhYJyBzZXF1ZW5jZXMgYXJlIGFsbG93ZWQgaW5cbiAgLy8gaWRlbnRpZmllcnMsIHNvICdcXCcgYWxzbyBkaXNwYXRjaGVzIHRvIHRoYXQuXG4gIGlmIChcbiAgICBJU19JREVOVElGSUVSX1NUQVJUW2NvZGVdIHx8XG4gICAgY29kZSA9PT0gY2hhckNvZGVzLmJhY2tzbGFzaCB8fFxuICAgIChjb2RlID09PSBjaGFyQ29kZXMuYXRTaWduICYmIGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSkgPT09IGNoYXJDb2Rlcy5hdFNpZ24pXG4gICkge1xuICAgIHJlYWRXb3JkKCk7XG4gIH0gZWxzZSB7XG4gICAgZ2V0VG9rZW5Gcm9tQ29kZShjb2RlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBza2lwQmxvY2tDb21tZW50KCkge1xuICB3aGlsZSAoXG4gICAgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpICE9PSBjaGFyQ29kZXMuYXN0ZXJpc2sgfHxcbiAgICBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpICE9PSBjaGFyQ29kZXMuc2xhc2hcbiAgKSB7XG4gICAgc3RhdGUucG9zKys7XG4gICAgaWYgKHN0YXRlLnBvcyA+IGlucHV0Lmxlbmd0aCkge1xuICAgICAgdW5leHBlY3RlZChcIlVudGVybWluYXRlZCBjb21tZW50XCIsIHN0YXRlLnBvcyAtIDIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICBzdGF0ZS5wb3MgKz0gMjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNraXBMaW5lQ29tbWVudChzdGFydFNraXApIHtcbiAgbGV0IGNoID0gaW5wdXQuY2hhckNvZGVBdCgoc3RhdGUucG9zICs9IHN0YXJ0U2tpcCkpO1xuICBpZiAoc3RhdGUucG9zIDwgaW5wdXQubGVuZ3RoKSB7XG4gICAgd2hpbGUgKFxuICAgICAgY2ggIT09IGNoYXJDb2Rlcy5saW5lRmVlZCAmJlxuICAgICAgY2ggIT09IGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybiAmJlxuICAgICAgY2ggIT09IGNoYXJDb2Rlcy5saW5lU2VwYXJhdG9yICYmXG4gICAgICBjaCAhPT0gY2hhckNvZGVzLnBhcmFncmFwaFNlcGFyYXRvciAmJlxuICAgICAgKytzdGF0ZS5wb3MgPCBpbnB1dC5sZW5ndGhcbiAgICApIHtcbiAgICAgIGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDYWxsZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBwYXJzZSBhbmQgYWZ0ZXIgZXZlcnkgdG9rZW4uIFNraXBzXG4vLyB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cy5cbmV4cG9ydCBmdW5jdGlvbiBza2lwU3BhY2UoKSB7XG4gIHdoaWxlIChzdGF0ZS5wb3MgPCBpbnB1dC5sZW5ndGgpIHtcbiAgICBjb25zdCBjaCA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zKTtcbiAgICBzd2l0Y2ggKGNoKSB7XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybjpcbiAgICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSkgPT09IGNoYXJDb2Rlcy5saW5lRmVlZCkge1xuICAgICAgICAgICsrc3RhdGUucG9zO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLmxpbmVGZWVkOlxuICAgICAgY2FzZSBjaGFyQ29kZXMubGluZVNlcGFyYXRvcjpcbiAgICAgIGNhc2UgY2hhckNvZGVzLnBhcmFncmFwaFNlcGFyYXRvcjpcbiAgICAgICAgKytzdGF0ZS5wb3M7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIGNoYXJDb2Rlcy5zbGFzaDpcbiAgICAgICAgc3dpdGNoIChpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpKSB7XG4gICAgICAgICAgY2FzZSBjaGFyQ29kZXMuYXN0ZXJpc2s6XG4gICAgICAgICAgICBzdGF0ZS5wb3MgKz0gMjtcbiAgICAgICAgICAgIHNraXBCbG9ja0NvbW1lbnQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBjaGFyQ29kZXMuc2xhc2g6XG4gICAgICAgICAgICBza2lwTGluZUNvbW1lbnQoMik7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChJU19XSElURVNQQUNFW2NoXSkge1xuICAgICAgICAgICsrc3RhdGUucG9zO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDYWxsZWQgYXQgdGhlIGVuZCBvZiBldmVyeSB0b2tlbi4gU2V0cyB2YXJpb3VzIGZpZWxkcywgYW5kIHNraXBzIHRoZSBzcGFjZSBhZnRlciB0aGUgdG9rZW4sIHNvXG4vLyB0aGF0IHRoZSBuZXh0IG9uZSdzIGBzdGFydGAgd2lsbCBwb2ludCBhdCB0aGUgcmlnaHQgcG9zaXRpb24uXG5leHBvcnQgZnVuY3Rpb24gZmluaXNoVG9rZW4oXG4gIHR5cGUsXG4gIGNvbnRleHR1YWxLZXl3b3JkID0gQ29udGV4dHVhbEtleXdvcmQuTk9ORSxcbikge1xuICBzdGF0ZS5lbmQgPSBzdGF0ZS5wb3M7XG4gIHN0YXRlLnR5cGUgPSB0eXBlO1xuICBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9IGNvbnRleHR1YWxLZXl3b3JkO1xufVxuXG4vLyAjIyMgVG9rZW4gcmVhZGluZ1xuXG4vLyBUaGlzIGlzIHRoZSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB0byBmZXRjaCB0aGUgbmV4dCB0b2tlbi4gSXRcbi8vIGlzIHNvbWV3aGF0IG9ic2N1cmUsIGJlY2F1c2UgaXQgd29ya3MgaW4gY2hhcmFjdGVyIGNvZGVzIHJhdGhlclxuLy8gdGhhbiBjaGFyYWN0ZXJzLCBhbmQgYmVjYXVzZSBvcGVyYXRvciBwYXJzaW5nIGhhcyBiZWVuIGlubGluZWRcbi8vIGludG8gaXQuXG4vL1xuLy8gQWxsIGluIHRoZSBuYW1lIG9mIHNwZWVkLlxuZnVuY3Rpb24gcmVhZFRva2VuX2RvdCgpIHtcbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuICBpZiAobmV4dENoYXIgPj0gY2hhckNvZGVzLmRpZ2l0MCAmJiBuZXh0Q2hhciA8PSBjaGFyQ29kZXMuZGlnaXQ5KSB7XG4gICAgcmVhZE51bWJlcih0cnVlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5kb3QgJiYgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAyKSA9PT0gY2hhckNvZGVzLmRvdCkge1xuICAgIHN0YXRlLnBvcyArPSAzO1xuICAgIGZpbmlzaFRva2VuKHR0LmVsbGlwc2lzKTtcbiAgfSBlbHNlIHtcbiAgICArK3N0YXRlLnBvcztcbiAgICBmaW5pc2hUb2tlbih0dC5kb3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9zbGFzaCgpIHtcbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgIGZpbmlzaE9wKHR0LmFzc2lnbiwgMik7XG4gIH0gZWxzZSB7XG4gICAgZmluaXNoT3AodHQuc2xhc2gsIDEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9tdWx0X21vZHVsbyhjb2RlKSB7XG4gIC8vICclKidcbiAgbGV0IHRva2VuVHlwZSA9IGNvZGUgPT09IGNoYXJDb2Rlcy5hc3RlcmlzayA/IHR0LnN0YXIgOiB0dC5tb2R1bG87XG4gIGxldCB3aWR0aCA9IDE7XG4gIGxldCBuZXh0Q2hhciA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSk7XG5cbiAgLy8gRXhwb25lbnRpYXRpb24gb3BlcmF0b3IgKipcbiAgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5hc3RlcmlzayAmJiBuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmFzdGVyaXNrKSB7XG4gICAgd2lkdGgrKztcbiAgICBuZXh0Q2hhciA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMik7XG4gICAgdG9rZW5UeXBlID0gdHQuZXhwb25lbnQ7XG4gIH1cblxuICAvLyBNYXRjaCAqPSBvciAlPSwgZGlzYWxsb3dpbmcgKj0+IHdoaWNoIGNhbiBiZSB2YWxpZCBpbiBmbG93LlxuICBpZiAoXG4gICAgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbyAmJlxuICAgIGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMikgIT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhblxuICApIHtcbiAgICB3aWR0aCsrO1xuICAgIHRva2VuVHlwZSA9IHR0LmFzc2lnbjtcbiAgfVxuXG4gIGZpbmlzaE9wKHRva2VuVHlwZSwgd2lkdGgpO1xufVxuXG5mdW5jdGlvbiByZWFkVG9rZW5fcGlwZV9hbXAoY29kZSkge1xuICAvLyAnfCYnXG4gIGNvbnN0IG5leHRDaGFyID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKTtcblxuICBpZiAobmV4dENoYXIgPT09IGNvZGUpIHtcbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAyKSA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgICAvLyB8fD0gb3IgJiY9XG4gICAgICBmaW5pc2hPcCh0dC5hc3NpZ24sIDMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB8fCBvciAmJlxuICAgICAgZmluaXNoT3AoY29kZSA9PT0gY2hhckNvZGVzLnZlcnRpY2FsQmFyID8gdHQubG9naWNhbE9SIDogdHQubG9naWNhbEFORCwgMik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjb2RlID09PSBjaGFyQ29kZXMudmVydGljYWxCYXIpIHtcbiAgICAvLyAnfD4nXG4gICAgaWYgKG5leHRDaGFyID09PSBjaGFyQ29kZXMuZ3JlYXRlclRoYW4pIHtcbiAgICAgIGZpbmlzaE9wKHR0LnBpcGVsaW5lLCAyKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKG5leHRDaGFyID09PSBjaGFyQ29kZXMucmlnaHRDdXJseUJyYWNlICYmIGlzRmxvd0VuYWJsZWQpIHtcbiAgICAgIC8vICd8fSdcbiAgICAgIGZpbmlzaE9wKHR0LmJyYWNlQmFyUiwgMik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKG5leHRDaGFyID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICBmaW5pc2hPcCh0dC5hc3NpZ24sIDIpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZpbmlzaE9wKGNvZGUgPT09IGNoYXJDb2Rlcy52ZXJ0aWNhbEJhciA/IHR0LmJpdHdpc2VPUiA6IHR0LmJpdHdpc2VBTkQsIDEpO1xufVxuXG5mdW5jdGlvbiByZWFkVG9rZW5fY2FyZXQoKSB7XG4gIC8vICdeJ1xuICBjb25zdCBuZXh0Q2hhciA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSk7XG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgZmluaXNoT3AodHQuYXNzaWduLCAyKTtcbiAgfSBlbHNlIHtcbiAgICBmaW5pc2hPcCh0dC5iaXR3aXNlWE9SLCAxKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWFkVG9rZW5fcGx1c19taW4oY29kZSkge1xuICAvLyAnKy0nXG4gIGNvbnN0IG5leHRDaGFyID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKTtcblxuICBpZiAobmV4dENoYXIgPT09IGNvZGUpIHtcbiAgICAvLyBUZW50YXRpdmVseSBjYWxsIHRoaXMgYSBwcmVmaXggb3BlcmF0b3IsIGJ1dCBpdCBtaWdodCBiZSBjaGFuZ2VkIHRvIHBvc3RmaXggbGF0ZXIuXG4gICAgZmluaXNoT3AodHQucHJlSW5jRGVjLCAyKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgIGZpbmlzaE9wKHR0LmFzc2lnbiwgMik7XG4gIH0gZWxzZSBpZiAoY29kZSA9PT0gY2hhckNvZGVzLnBsdXNTaWduKSB7XG4gICAgZmluaXNoT3AodHQucGx1cywgMSk7XG4gIH0gZWxzZSB7XG4gICAgZmluaXNoT3AodHQubWludXMsIDEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9sdCgpIHtcbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmxlc3NUaGFuKSB7XG4gICAgaWYgKGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMikgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgICAgZmluaXNoT3AodHQuYXNzaWduLCAzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gV2Ugc2VlIDw8LCBidXQgbmVlZCB0byBiZSByZWFsbHkgY2FyZWZ1bCBhYm91dCB3aGV0aGVyIHRvIHRyZWF0IGl0IGFzIGFcbiAgICAvLyB0cnVlIGxlZnQtc2hpZnQgb3IgYXMgdHdvIDwgdG9rZW5zLlxuICAgIGlmIChzdGF0ZS5pc1R5cGUpIHtcbiAgICAgIC8vIFdpdGhpbiBhIHR5cGUsIDw8IG1pZ2h0IGNvbWUgdXAgaW4gYSBzbmlwcGV0IGxpa2UgYEFycmF5PDxUPigpID0+IHZvaWQ+YCxcbiAgICAgIC8vIHNvIHRyZWF0IGl0IGFzIHR3byA8IHRva2Vucy4gSW1wb3J0YW50bHksIHRoaXMgc2hvdWxkIG9ubHkgb3ZlcnJpZGUgPDxcbiAgICAgIC8vIHJhdGhlciB0aGFuIG90aGVyIHRva2VucyBsaWtlIDw9IC4gSWYgd2UgdHJlYXRlZCA8PSBhcyA8IGluIGEgdHlwZVxuICAgICAgLy8gY29udGV4dCwgdGhlbiB0aGUgc25pcHBldCBgYSBhcyBUIDw9IDFgIHdvdWxkIGluY29ycmVjdGx5IHN0YXJ0IHBhcnNpbmdcbiAgICAgIC8vIGEgdHlwZSBhcmd1bWVudCBvbiBULiBXZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGBhIGFzIFQgPDwgMWBcbiAgICAgIC8vIGJlY2F1c2UgVHlwZVNjcmlwdCBkaXNhbGxvd3MgdGhhdCBzeW50YXguXG4gICAgICBmaW5pc2hPcCh0dC5sZXNzVGhhbiwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE91dHNpZGUgYSB0eXBlLCB0aGlzIG1pZ2h0IGJlIGEgdHJ1ZSBsZWZ0LXNoaWZ0IG9wZXJhdG9yLCBvciBpdCBtaWdodFxuICAgICAgLy8gc3RpbGwgYmUgdHdvIG9wZW4tdHlwZS1hcmcgdG9rZW5zLCBzdWNoIGFzIGluIGBmPDxUPigpID0+IHZvaWQ+KClgLiBXZVxuICAgICAgLy8gbG9vayBhdCB0aGUgdG9rZW4gd2hpbGUgY29uc2lkZXJpbmcgdGhlIGBmYCwgc28gd2UgZG9uJ3QgeWV0IGtub3cgdGhhdFxuICAgICAgLy8gd2UncmUgaW4gYSB0eXBlIGNvbnRleHQuIEluIHRoaXMgY2FzZSwgd2UgaW5pdGlhbGx5IHRva2VuaXplIGFzIGFcbiAgICAgIC8vIGxlZnQtc2hpZnQgYW5kIGNvcnJlY3QgYWZ0ZXItdGhlLWZhY3QgYXMgbmVjZXNzYXJ5IGluXG4gICAgICAvLyB0c1BhcnNlVHlwZUFyZ3VtZW50c1dpdGhQb3NzaWJsZUJpdHNoaWZ0IC5cbiAgICAgIGZpbmlzaE9wKHR0LmJpdFNoaWZ0TCwgMik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgLy8gPD1cbiAgICBmaW5pc2hPcCh0dC5yZWxhdGlvbmFsT3JFcXVhbCwgMik7XG4gIH0gZWxzZSB7XG4gICAgZmluaXNoT3AodHQubGVzc1RoYW4sIDEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9ndCgpIHtcbiAgaWYgKHN0YXRlLmlzVHlwZSkge1xuICAgIC8vIEF2b2lkIHJpZ2h0LXNoaWZ0IGZvciB0aGluZ3MgbGlrZSBgQXJyYXk8QXJyYXk8c3RyaW5nPj5gIGFuZFxuICAgIC8vIGdyZWF0ZXItdGhhbi1vci1lcXVhbCBmb3IgdGhpbmdzIGxpa2UgYGNvbnN0IGE6IEFycmF5PG51bWJlcj49W107YC5cbiAgICBmaW5pc2hPcCh0dC5ncmVhdGVyVGhhbiwgMSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmdyZWF0ZXJUaGFuKSB7XG4gICAgY29uc3Qgc2l6ZSA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMikgPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbiA/IDMgOiAyO1xuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIHNpemUpID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICAgIGZpbmlzaE9wKHR0LmFzc2lnbiwgc2l6ZSArIDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmaW5pc2hPcCh0dC5iaXRTaGlmdFIsIHNpemUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgLy8gPj1cbiAgICBmaW5pc2hPcCh0dC5yZWxhdGlvbmFsT3JFcXVhbCwgMik7XG4gIH0gZWxzZSB7XG4gICAgZmluaXNoT3AodHQuZ3JlYXRlclRoYW4sIDEpO1xuICB9XG59XG5cbi8qKlxuICogUmVpbnRlcnByZXQgYSBwb3NzaWJsZSA+IHRva2VuIHdoZW4gdHJhbnNpdGlvbmluZyBmcm9tIGEgdHlwZSB0byBhIG5vbi10eXBlXG4gKiBjb250ZXh0LlxuICpcbiAqIFRoaXMgY29tZXMgdXAgaW4gdHdvIHNpdHVhdGlvbnMgd2hlcmUgPj0gbmVlZHMgdG8gYmUgdHJlYXRlZCBhcyBvbmUgdG9rZW46XG4gKiAtIEFmdGVyIGFuIGBhc2AgZXhwcmVzc2lvbiwgbGlrZSBpbiB0aGUgY29kZSBgYSBhcyBUID49IDFgLlxuICogLSBJbiBhIHR5cGUgYXJndW1lbnQgaW4gYW4gZXhwcmVzc2lvbiBjb250ZXh0LCBlLmcuIGBmKGEgPCBiLCBjID49IGQpYCwgd2VcbiAqICAgbmVlZCB0byBzZWUgdGhlIHRva2VuIGFzID49IHNvIHRoYXQgd2UgZ2V0IGFuIGVycm9yIGFuZCBiYWNrdHJhY2sgdG9cbiAqICAgbm9ybWFsIGV4cHJlc3Npb24gcGFyc2luZy5cbiAqXG4gKiBPdGhlciBzaXR1YXRpb25zIHJlcXVpcmUgPj0gdG8gYmUgc2VlbiBhcyB0d28gdG9rZW5zLCBlLmcuXG4gKiBgY29uc3QgeDogQXJyYXk8VD49W107YCwgc28gaXQncyBpbXBvcnRhbnQgdG8gdHJlYXQgPiBhcyBpdHMgb3duIHRva2VuIGluXG4gKiB0eXBpY2FsIHR5cGUgcGFyc2luZyBzaXR1YXRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzY2FuX2d0KCkge1xuICBpZiAoc3RhdGUudHlwZSA9PT0gdHQuZ3JlYXRlclRoYW4pIHtcbiAgICBzdGF0ZS5wb3MgLT0gMTtcbiAgICByZWFkVG9rZW5fZ3QoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWFkVG9rZW5fZXFfZXhjbChjb2RlKSB7XG4gIC8vICc9ISdcbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgIGZpbmlzaE9wKHR0LmVxdWFsaXR5LCBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDIpID09PSBjaGFyQ29kZXMuZXF1YWxzVG8gPyAzIDogMik7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChjb2RlID09PSBjaGFyQ29kZXMuZXF1YWxzVG8gJiYgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbikge1xuICAgIC8vICc9PidcbiAgICBzdGF0ZS5wb3MgKz0gMjtcbiAgICBmaW5pc2hUb2tlbih0dC5hcnJvdyk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGZpbmlzaE9wKGNvZGUgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbyA/IHR0LmVxIDogdHQuYmFuZywgMSk7XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9xdWVzdGlvbigpIHtcbiAgLy8gJz8nXG4gIGNvbnN0IG5leHRDaGFyID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKTtcbiAgY29uc3QgbmV4dENoYXIyID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAyKTtcbiAgaWYgKFxuICAgIG5leHRDaGFyID09PSBjaGFyQ29kZXMucXVlc3Rpb25NYXJrICYmXG4gICAgLy8gSW4gRmxvdyAoYnV0IG5vdCBUeXBlU2NyaXB0KSwgPz9zdHJpbmcgaXMgYSB2YWxpZCB0eXBlIHRoYXQgc2hvdWxkIGJlXG4gICAgLy8gdG9rZW5pemVkIGFzIHR3byBpbmRpdmlkdWFsID8gdG9rZW5zLlxuICAgICEoaXNGbG93RW5hYmxlZCAmJiBzdGF0ZS5pc1R5cGUpXG4gICkge1xuICAgIGlmIChuZXh0Q2hhcjIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgICAgLy8gJz8/PSdcbiAgICAgIGZpbmlzaE9wKHR0LmFzc2lnbiwgMyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vICc/PydcbiAgICAgIGZpbmlzaE9wKHR0Lm51bGxpc2hDb2FsZXNjaW5nLCAyKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoXG4gICAgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5kb3QgJiZcbiAgICAhKG5leHRDaGFyMiA+PSBjaGFyQ29kZXMuZGlnaXQwICYmIG5leHRDaGFyMiA8PSBjaGFyQ29kZXMuZGlnaXQ5KVxuICApIHtcbiAgICAvLyAnLicgbm90IGZvbGxvd2VkIGJ5IGEgbnVtYmVyXG4gICAgc3RhdGUucG9zICs9IDI7XG4gICAgZmluaXNoVG9rZW4odHQucXVlc3Rpb25Eb3QpO1xuICB9IGVsc2Uge1xuICAgICsrc3RhdGUucG9zO1xuICAgIGZpbmlzaFRva2VuKHR0LnF1ZXN0aW9uKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9rZW5Gcm9tQ29kZShjb2RlKSB7XG4gIHN3aXRjaCAoY29kZSkge1xuICAgIGNhc2UgY2hhckNvZGVzLm51bWJlclNpZ246XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0Lmhhc2gpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgLy8gVGhlIGludGVycHJldGF0aW9uIG9mIGEgZG90IGRlcGVuZHMgb24gd2hldGhlciBpdCBpcyBmb2xsb3dlZFxuICAgIC8vIGJ5IGEgZGlnaXQgb3IgYW5vdGhlciB0d28gZG90cy5cblxuICAgIGNhc2UgY2hhckNvZGVzLmRvdDpcbiAgICAgIHJlYWRUb2tlbl9kb3QoKTtcbiAgICAgIHJldHVybjtcblxuICAgIC8vIFB1bmN0dWF0aW9uIHRva2Vucy5cbiAgICBjYXNlIGNoYXJDb2Rlcy5sZWZ0UGFyZW50aGVzaXM6XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0LnBhcmVuTCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBjaGFyQ29kZXMucmlnaHRQYXJlbnRoZXNpczpcbiAgICAgICsrc3RhdGUucG9zO1xuICAgICAgZmluaXNoVG9rZW4odHQucGFyZW5SKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIGNoYXJDb2Rlcy5zZW1pY29sb246XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0LnNlbWkpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgY2hhckNvZGVzLmNvbW1hOlxuICAgICAgKytzdGF0ZS5wb3M7XG4gICAgICBmaW5pc2hUb2tlbih0dC5jb21tYSk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBjaGFyQ29kZXMubGVmdFNxdWFyZUJyYWNrZXQ6XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0LmJyYWNrZXRMKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIGNoYXJDb2Rlcy5yaWdodFNxdWFyZUJyYWNrZXQ6XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0LmJyYWNrZXRSKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlOlxuICAgICAgaWYgKGlzRmxvd0VuYWJsZWQgJiYgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKSA9PT0gY2hhckNvZGVzLnZlcnRpY2FsQmFyKSB7XG4gICAgICAgIGZpbmlzaE9wKHR0LmJyYWNlQmFyTCwgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICArK3N0YXRlLnBvcztcbiAgICAgICAgZmluaXNoVG9rZW4odHQuYnJhY2VMKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLnJpZ2h0Q3VybHlCcmFjZTpcbiAgICAgICsrc3RhdGUucG9zO1xuICAgICAgZmluaXNoVG9rZW4odHQuYnJhY2VSKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLmNvbG9uOlxuICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSkgPT09IGNoYXJDb2Rlcy5jb2xvbikge1xuICAgICAgICBmaW5pc2hPcCh0dC5kb3VibGVDb2xvbiwgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICArK3N0YXRlLnBvcztcbiAgICAgICAgZmluaXNoVG9rZW4odHQuY29sb24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMucXVlc3Rpb25NYXJrOlxuICAgICAgcmVhZFRva2VuX3F1ZXN0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBjaGFyQ29kZXMuYXRTaWduOlxuICAgICAgKytzdGF0ZS5wb3M7XG4gICAgICBmaW5pc2hUb2tlbih0dC5hdCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIGNoYXJDb2Rlcy5ncmF2ZUFjY2VudDpcbiAgICAgICsrc3RhdGUucG9zO1xuICAgICAgZmluaXNoVG9rZW4odHQuYmFja1F1b3RlKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0MDoge1xuICAgICAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuICAgICAgLy8gJzB4JywgJzBYJywgJzBvJywgJzBPJywgJzBiJywgJzBCJ1xuICAgICAgaWYgKFxuICAgICAgICBuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmxvd2VyY2FzZVggfHxcbiAgICAgICAgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy51cHBlcmNhc2VYIHx8XG4gICAgICAgIG5leHRDaGFyID09PSBjaGFyQ29kZXMubG93ZXJjYXNlTyB8fFxuICAgICAgICBuZXh0Q2hhciA9PT0gY2hhckNvZGVzLnVwcGVyY2FzZU8gfHxcbiAgICAgICAgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VCIHx8XG4gICAgICAgIG5leHRDaGFyID09PSBjaGFyQ29kZXMudXBwZXJjYXNlQlxuICAgICAgKSB7XG4gICAgICAgIHJlYWRSYWRpeE51bWJlcigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEFueXRoaW5nIGVsc2UgYmVnaW5uaW5nIHdpdGggYSBkaWdpdCBpcyBhbiBpbnRlZ2VyLCBvY3RhbFxuICAgIC8vIG51bWJlciwgb3IgZmxvYXQuXG4gICAgY2FzZSBjaGFyQ29kZXMuZGlnaXQxOlxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0MjpcbiAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDM6XG4gICAgY2FzZSBjaGFyQ29kZXMuZGlnaXQ0OlxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0NTpcbiAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDY6XG4gICAgY2FzZSBjaGFyQ29kZXMuZGlnaXQ3OlxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0ODpcbiAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDk6XG4gICAgICByZWFkTnVtYmVyKGZhbHNlKTtcbiAgICAgIHJldHVybjtcblxuICAgIC8vIFF1b3RlcyBwcm9kdWNlIHN0cmluZ3MuXG4gICAgY2FzZSBjaGFyQ29kZXMucXVvdGF0aW9uTWFyazpcbiAgICBjYXNlIGNoYXJDb2Rlcy5hcG9zdHJvcGhlOlxuICAgICAgcmVhZFN0cmluZyhjb2RlKTtcbiAgICAgIHJldHVybjtcblxuICAgIC8vIE9wZXJhdG9ycyBhcmUgcGFyc2VkIGlubGluZSBpbiB0aW55IHN0YXRlIG1hY2hpbmVzLiAnPScgKGNoYXJDb2Rlcy5lcXVhbHNUbykgaXNcbiAgICAvLyBvZnRlbiByZWZlcnJlZCB0by4gYGZpbmlzaE9wYCBzaW1wbHkgc2tpcHMgdGhlIGFtb3VudCBvZlxuICAgIC8vIGNoYXJhY3RlcnMgaXQgaXMgZ2l2ZW4gYXMgc2Vjb25kIGFyZ3VtZW50LCBhbmQgcmV0dXJucyBhIHRva2VuXG4gICAgLy8gb2YgdGhlIHR5cGUgZ2l2ZW4gYnkgaXRzIGZpcnN0IGFyZ3VtZW50LlxuXG4gICAgY2FzZSBjaGFyQ29kZXMuc2xhc2g6XG4gICAgICByZWFkVG9rZW5fc2xhc2goKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLnBlcmNlbnRTaWduOlxuICAgIGNhc2UgY2hhckNvZGVzLmFzdGVyaXNrOlxuICAgICAgcmVhZFRva2VuX211bHRfbW9kdWxvKGNvZGUpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMudmVydGljYWxCYXI6XG4gICAgY2FzZSBjaGFyQ29kZXMuYW1wZXJzYW5kOlxuICAgICAgcmVhZFRva2VuX3BpcGVfYW1wKGNvZGUpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMuY2FyZXQ6XG4gICAgICByZWFkVG9rZW5fY2FyZXQoKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLnBsdXNTaWduOlxuICAgIGNhc2UgY2hhckNvZGVzLmRhc2g6XG4gICAgICByZWFkVG9rZW5fcGx1c19taW4oY29kZSk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIGNoYXJDb2Rlcy5sZXNzVGhhbjpcbiAgICAgIHJlYWRUb2tlbl9sdCgpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMuZ3JlYXRlclRoYW46XG4gICAgICByZWFkVG9rZW5fZ3QoKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLmVxdWFsc1RvOlxuICAgIGNhc2UgY2hhckNvZGVzLmV4Y2xhbWF0aW9uTWFyazpcbiAgICAgIHJlYWRUb2tlbl9lcV9leGNsKGNvZGUpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMudGlsZGU6XG4gICAgICBmaW5pc2hPcCh0dC50aWxkZSwgMSk7XG4gICAgICByZXR1cm47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICB1bmV4cGVjdGVkKGBVbmV4cGVjdGVkIGNoYXJhY3RlciAnJHtTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpfSdgLCBzdGF0ZS5wb3MpO1xufVxuXG5mdW5jdGlvbiBmaW5pc2hPcCh0eXBlLCBzaXplKSB7XG4gIHN0YXRlLnBvcyArPSBzaXplO1xuICBmaW5pc2hUb2tlbih0eXBlKTtcbn1cblxuZnVuY3Rpb24gcmVhZFJlZ2V4cCgpIHtcbiAgY29uc3Qgc3RhcnQgPSBzdGF0ZS5wb3M7XG4gIGxldCBlc2NhcGVkID0gZmFsc2U7XG4gIGxldCBpbkNsYXNzID0gZmFsc2U7XG4gIGZvciAoOzspIHtcbiAgICBpZiAoc3RhdGUucG9zID49IGlucHV0Lmxlbmd0aCkge1xuICAgICAgdW5leHBlY3RlZChcIlVudGVybWluYXRlZCByZWd1bGFyIGV4cHJlc3Npb25cIiwgc3RhcnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb2RlID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChlc2NhcGVkKSB7XG4gICAgICBlc2NhcGVkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChjb2RlID09PSBjaGFyQ29kZXMubGVmdFNxdWFyZUJyYWNrZXQpIHtcbiAgICAgICAgaW5DbGFzcyA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5yaWdodFNxdWFyZUJyYWNrZXQgJiYgaW5DbGFzcykge1xuICAgICAgICBpbkNsYXNzID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5zbGFzaCAmJiAhaW5DbGFzcykge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGVzY2FwZWQgPSBjb2RlID09PSBjaGFyQ29kZXMuYmFja3NsYXNoO1xuICAgIH1cbiAgICArK3N0YXRlLnBvcztcbiAgfVxuICArK3N0YXRlLnBvcztcbiAgLy8gTmVlZCB0byB1c2UgYHNraXBXb3JkYCBiZWNhdXNlICdcXHVYWFhYJyBzZXF1ZW5jZXMgYXJlIGFsbG93ZWQgaGVyZSAoZG9uJ3QgYXNrKS5cbiAgc2tpcFdvcmQoKTtcblxuICBmaW5pc2hUb2tlbih0dC5yZWdleHApO1xufVxuXG4vKipcbiAqIFJlYWQgYSBkZWNpbWFsIGludGVnZXIuIE5vdGUgdGhhdCB0aGlzIGNhbid0IGJlIHVuaWZpZWQgd2l0aCB0aGUgc2ltaWxhciBjb2RlXG4gKiBpbiByZWFkUmFkaXhOdW1iZXIgKHdoaWNoIGFsc28gaGFuZGxlcyBoZXggZGlnaXRzKSBiZWNhdXNlIFwiZVwiIG5lZWRzIHRvIGJlXG4gKiB0aGUgZW5kIG9mIHRoZSBpbnRlZ2VyIHNvIHRoYXQgd2UgY2FuIHByb3Blcmx5IGhhbmRsZSBzY2llbnRpZmljIG5vdGF0aW9uLlxuICovXG5mdW5jdGlvbiByZWFkSW50KCkge1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gICAgaWYgKChjb2RlID49IGNoYXJDb2Rlcy5kaWdpdDAgJiYgY29kZSA8PSBjaGFyQ29kZXMuZGlnaXQ5KSB8fCBjb2RlID09PSBjaGFyQ29kZXMudW5kZXJzY29yZSkge1xuICAgICAgc3RhdGUucG9zKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZWFkUmFkaXhOdW1iZXIoKSB7XG4gIHN0YXRlLnBvcyArPSAyOyAvLyAweFxuXG4gIC8vIFdhbGsgdG8gdGhlIGVuZCBvZiB0aGUgbnVtYmVyLCBhbGxvd2luZyBoZXggZGlnaXRzLlxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gICAgaWYgKFxuICAgICAgKGNvZGUgPj0gY2hhckNvZGVzLmRpZ2l0MCAmJiBjb2RlIDw9IGNoYXJDb2Rlcy5kaWdpdDkpIHx8XG4gICAgICAoY29kZSA+PSBjaGFyQ29kZXMubG93ZXJjYXNlQSAmJiBjb2RlIDw9IGNoYXJDb2Rlcy5sb3dlcmNhc2VGKSB8fFxuICAgICAgKGNvZGUgPj0gY2hhckNvZGVzLnVwcGVyY2FzZUEgJiYgY29kZSA8PSBjaGFyQ29kZXMudXBwZXJjYXNlRikgfHxcbiAgICAgIGNvZGUgPT09IGNoYXJDb2Rlcy51bmRlcnNjb3JlXG4gICAgKSB7XG4gICAgICBzdGF0ZS5wb3MrKztcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmxvd2VyY2FzZU4pIHtcbiAgICArK3N0YXRlLnBvcztcbiAgICBmaW5pc2hUb2tlbih0dC5iaWdpbnQpO1xuICB9IGVsc2Uge1xuICAgIGZpbmlzaFRva2VuKHR0Lm51bSk7XG4gIH1cbn1cblxuLy8gUmVhZCBhbiBpbnRlZ2VyLCBvY3RhbCBpbnRlZ2VyLCBvciBmbG9hdGluZy1wb2ludCBudW1iZXIuXG5mdW5jdGlvbiByZWFkTnVtYmVyKHN0YXJ0c1dpdGhEb3QpIHtcbiAgbGV0IGlzQmlnSW50ID0gZmFsc2U7XG4gIGxldCBpc0RlY2ltYWwgPSBmYWxzZTtcblxuICBpZiAoIXN0YXJ0c1dpdGhEb3QpIHtcbiAgICByZWFkSW50KCk7XG4gIH1cblxuICBsZXQgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmRvdCkge1xuICAgICsrc3RhdGUucG9zO1xuICAgIHJlYWRJbnQoKTtcbiAgICBuZXh0Q2hhciA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zKTtcbiAgfVxuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLnVwcGVyY2FzZUUgfHwgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VFKSB7XG4gICAgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zKTtcbiAgICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5wbHVzU2lnbiB8fCBuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmRhc2gpIHtcbiAgICAgICsrc3RhdGUucG9zO1xuICAgIH1cbiAgICByZWFkSW50KCk7XG4gICAgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gIH1cblxuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VOKSB7XG4gICAgKytzdGF0ZS5wb3M7XG4gICAgaXNCaWdJbnQgPSB0cnVlO1xuICB9IGVsc2UgaWYgKG5leHRDaGFyID09PSBjaGFyQ29kZXMubG93ZXJjYXNlTSkge1xuICAgICsrc3RhdGUucG9zO1xuICAgIGlzRGVjaW1hbCA9IHRydWU7XG4gIH1cblxuICBpZiAoaXNCaWdJbnQpIHtcbiAgICBmaW5pc2hUb2tlbih0dC5iaWdpbnQpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpc0RlY2ltYWwpIHtcbiAgICBmaW5pc2hUb2tlbih0dC5kZWNpbWFsKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBmaW5pc2hUb2tlbih0dC5udW0pO1xufVxuXG5mdW5jdGlvbiByZWFkU3RyaW5nKHF1b3RlKSB7XG4gIHN0YXRlLnBvcysrO1xuICBmb3IgKDs7KSB7XG4gICAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHVuZXhwZWN0ZWQoXCJVbnRlcm1pbmF0ZWQgc3RyaW5nIGNvbnN0YW50XCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjaCA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zKTtcbiAgICBpZiAoY2ggPT09IGNoYXJDb2Rlcy5iYWNrc2xhc2gpIHtcbiAgICAgIHN0YXRlLnBvcysrO1xuICAgIH0gZWxzZSBpZiAoY2ggPT09IHF1b3RlKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgc3RhdGUucG9zKys7XG4gIH1cbiAgc3RhdGUucG9zKys7XG4gIGZpbmlzaFRva2VuKHR0LnN0cmluZyk7XG59XG5cbi8vIFJlYWRzIHRlbXBsYXRlIHN0cmluZyB0b2tlbnMuXG5mdW5jdGlvbiByZWFkVG1wbFRva2VuKCkge1xuICBmb3IgKDs7KSB7XG4gICAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHVuZXhwZWN0ZWQoXCJVbnRlcm1pbmF0ZWQgdGVtcGxhdGVcIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChcbiAgICAgIGNoID09PSBjaGFyQ29kZXMuZ3JhdmVBY2NlbnQgfHxcbiAgICAgIChjaCA9PT0gY2hhckNvZGVzLmRvbGxhclNpZ24gJiYgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKSA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlKVxuICAgICkge1xuICAgICAgaWYgKHN0YXRlLnBvcyA9PT0gc3RhdGUuc3RhcnQgJiYgbWF0Y2godHQudGVtcGxhdGUpKSB7XG4gICAgICAgIGlmIChjaCA9PT0gY2hhckNvZGVzLmRvbGxhclNpZ24pIHtcbiAgICAgICAgICBzdGF0ZS5wb3MgKz0gMjtcbiAgICAgICAgICBmaW5pc2hUb2tlbih0dC5kb2xsYXJCcmFjZUwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICArK3N0YXRlLnBvcztcbiAgICAgICAgICBmaW5pc2hUb2tlbih0dC5iYWNrUXVvdGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZmluaXNoVG9rZW4odHQudGVtcGxhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY2ggPT09IGNoYXJDb2Rlcy5iYWNrc2xhc2gpIHtcbiAgICAgIHN0YXRlLnBvcysrO1xuICAgIH1cbiAgICBzdGF0ZS5wb3MrKztcbiAgfVxufVxuXG4vLyBTa2lwIHRvIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgd29yZC4gTm90ZSB0aGF0IHRoaXMgaXMgdGhlIHNhbWUgYXMgdGhlIHNuaXBwZXQgYXQgdGhlIGVuZCBvZlxuLy8gcmVhZFdvcmQsIGJ1dCBjYWxsaW5nIHNraXBXb3JkIGZyb20gcmVhZFdvcmQgc2VlbXMgdG8gc2xpZ2h0bHkgaHVydCBwZXJmb3JtYW5jZSBmcm9tIHNvbWUgcm91Z2hcbi8vIG1lYXN1cmVtZW50cy5cbmV4cG9ydCBmdW5jdGlvbiBza2lwV29yZCgpIHtcbiAgd2hpbGUgKHN0YXRlLnBvcyA8IGlucHV0Lmxlbmd0aCkge1xuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChJU19JREVOVElGSUVSX0NIQVJbY2hdKSB7XG4gICAgICBzdGF0ZS5wb3MrKztcbiAgICB9IGVsc2UgaWYgKGNoID09PSBjaGFyQ29kZXMuYmFja3NsYXNoKSB7XG4gICAgICAvLyBcXHVcbiAgICAgIHN0YXRlLnBvcyArPSAyO1xuICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zKSA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlKSB7XG4gICAgICAgIHdoaWxlIChcbiAgICAgICAgICBzdGF0ZS5wb3MgPCBpbnB1dC5sZW5ndGggJiZcbiAgICAgICAgICBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcykgIT09IGNoYXJDb2Rlcy5yaWdodEN1cmx5QnJhY2VcbiAgICAgICAgKSB7XG4gICAgICAgICAgc3RhdGUucG9zKys7XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUucG9zKys7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwgImltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5cbiBcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyoqXG4gKiBEZXRlcm1pbmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBuYW1lZCBpbXBvcnQgb3IgbmFtZWQgZXhwb3J0IHNwZWNpZmllci5cbiAqXG4gKiBUaGlzIHN5bnRheCBpcyB0aGUgYGFgIGZyb20gc3RhdGVtZW50cyBsaWtlIHRoZXNlOlxuICogaW1wb3J0IHtBfSBmcm9tIFwiLi9mb29cIjtcbiAqIGV4cG9ydCB7QX07XG4gKiBleHBvcnQge0F9IGZyb20gXCIuL2Zvb1wiO1xuICpcbiAqIEFzIGl0IHR1cm5zIG91dCwgd2UgY2FuIGV4YWN0bHkgY2hhcmFjdGVyaXplIHRoZSBzeW50YXggbWVhbmluZyBieSBzaW1wbHlcbiAqIGNvdW50aW5nIHRoZSBudW1iZXIgb2YgdG9rZW5zLCB3aGljaCBjYW4gYmUgZnJvbSAxIHRvIDQ6XG4gKiB7QX1cbiAqIHt0eXBlIEF9XG4gKiB7QSBhcyBCfVxuICoge3R5cGUgQSBhcyBCfVxuICpcbiAqIEluIHRoZSB0eXBlIGNhc2UsIHdlIG5ldmVyIGFjdHVhbGx5IG5lZWQgdGhlIG5hbWVzIGluIHByYWN0aWNlLCBzbyBkb24ndCBnZXRcbiAqIHRoZW0uXG4gKlxuICogVE9ETzogVGhlcmUncyBzb21lIHJlZHVuZGFuY3kgd2l0aCB0aGUgdHlwZSBkZXRlY3Rpb24gaGVyZSBhbmQgdGhlIGlzVHlwZVxuICogZmxhZyB0aGF0J3MgYWxyZWFkeSBwcmVzZW50IG9uIHRva2VucyBpbiBUUyBtb2RlLiBUaGlzIGZ1bmN0aW9uIGNvdWxkXG4gKiBwb3RlbnRpYWxseSBiZSBzaW1wbGlmaWVkIGFuZC9vciBwdXNoZWQgdG8gdGhlIGNhbGwgc2l0ZXMgdG8gYXZvaWQgdGhlIG9iamVjdFxuICogYWxsb2NhdGlvbi5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mbyhcbiAgdG9rZW5zLFxuICBpbmRleCA9IHRva2Vucy5jdXJyZW50SW5kZXgoKSxcbikge1xuICBsZXQgZW5kSW5kZXggPSBpbmRleCArIDE7XG4gIGlmIChpc1NwZWNpZmllckVuZCh0b2tlbnMsIGVuZEluZGV4KSkge1xuICAgIC8vIGltcG9ydCB7QX1cbiAgICBjb25zdCBuYW1lID0gdG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVHlwZTogZmFsc2UsXG4gICAgICBsZWZ0TmFtZTogbmFtZSxcbiAgICAgIHJpZ2h0TmFtZTogbmFtZSxcbiAgICAgIGVuZEluZGV4LFxuICAgIH07XG4gIH1cbiAgZW5kSW5kZXgrKztcbiAgaWYgKGlzU3BlY2lmaWVyRW5kKHRva2VucywgZW5kSW5kZXgpKSB7XG4gICAgLy8gaW1wb3J0IHt0eXBlIEF9XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVHlwZTogdHJ1ZSxcbiAgICAgIGxlZnROYW1lOiBudWxsLFxuICAgICAgcmlnaHROYW1lOiBudWxsLFxuICAgICAgZW5kSW5kZXgsXG4gICAgfTtcbiAgfVxuICBlbmRJbmRleCsrO1xuICBpZiAoaXNTcGVjaWZpZXJFbmQodG9rZW5zLCBlbmRJbmRleCkpIHtcbiAgICAvLyBpbXBvcnQge0EgYXMgQn1cbiAgICByZXR1cm4ge1xuICAgICAgaXNUeXBlOiBmYWxzZSxcbiAgICAgIGxlZnROYW1lOiB0b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KGluZGV4KSxcbiAgICAgIHJpZ2h0TmFtZTogdG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCArIDIpLFxuICAgICAgZW5kSW5kZXgsXG4gICAgfTtcbiAgfVxuICBlbmRJbmRleCsrO1xuICBpZiAoaXNTcGVjaWZpZXJFbmQodG9rZW5zLCBlbmRJbmRleCkpIHtcbiAgICAvLyBpbXBvcnQge3R5cGUgQSBhcyBCfVxuICAgIHJldHVybiB7XG4gICAgICBpc1R5cGU6IHRydWUsXG4gICAgICBsZWZ0TmFtZTogbnVsbCxcbiAgICAgIHJpZ2h0TmFtZTogbnVsbCxcbiAgICAgIGVuZEluZGV4LFxuICAgIH07XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGltcG9ydC9leHBvcnQgc3BlY2lmaWVyIGF0ICR7aW5kZXh9YCk7XG59XG5cbmZ1bmN0aW9uIGlzU3BlY2lmaWVyRW5kKHRva2VucywgaW5kZXgpIHtcbiAgY29uc3QgdG9rZW4gPSB0b2tlbnMudG9rZW5zW2luZGV4XTtcbiAgcmV0dXJuIHRva2VuLnR5cGUgPT09IHR0LmJyYWNlUiB8fCB0b2tlbi50eXBlID09PSB0dC5jb21tYTtcbn1cbiIsICIvLyBVc2UgYSBNYXAgcmF0aGVyIHRoYW4gb2JqZWN0IHRvIGF2b2lkIHVuZXhwZWN0ZWQgX19wcm90b19fIGFjY2Vzcy5cbmV4cG9ydCBkZWZhdWx0IG5ldyBNYXAoW1xuICBbXCJxdW90XCIsIFwiXFx1MDAyMlwiXSxcbiAgW1wiYW1wXCIsIFwiJlwiXSxcbiAgW1wiYXBvc1wiLCBcIlxcdTAwMjdcIl0sXG4gIFtcImx0XCIsIFwiPFwiXSxcbiAgW1wiZ3RcIiwgXCI+XCJdLFxuICBbXCJuYnNwXCIsIFwiXFx1MDBBMFwiXSxcbiAgW1wiaWV4Y2xcIiwgXCJcXHUwMEExXCJdLFxuICBbXCJjZW50XCIsIFwiXFx1MDBBMlwiXSxcbiAgW1wicG91bmRcIiwgXCJcXHUwMEEzXCJdLFxuICBbXCJjdXJyZW5cIiwgXCJcXHUwMEE0XCJdLFxuICBbXCJ5ZW5cIiwgXCJcXHUwMEE1XCJdLFxuICBbXCJicnZiYXJcIiwgXCJcXHUwMEE2XCJdLFxuICBbXCJzZWN0XCIsIFwiXFx1MDBBN1wiXSxcbiAgW1widW1sXCIsIFwiXFx1MDBBOFwiXSxcbiAgW1wiY29weVwiLCBcIlxcdTAwQTlcIl0sXG4gIFtcIm9yZGZcIiwgXCJcXHUwMEFBXCJdLFxuICBbXCJsYXF1b1wiLCBcIlxcdTAwQUJcIl0sXG4gIFtcIm5vdFwiLCBcIlxcdTAwQUNcIl0sXG4gIFtcInNoeVwiLCBcIlxcdTAwQURcIl0sXG4gIFtcInJlZ1wiLCBcIlxcdTAwQUVcIl0sXG4gIFtcIm1hY3JcIiwgXCJcXHUwMEFGXCJdLFxuICBbXCJkZWdcIiwgXCJcXHUwMEIwXCJdLFxuICBbXCJwbHVzbW5cIiwgXCJcXHUwMEIxXCJdLFxuICBbXCJzdXAyXCIsIFwiXFx1MDBCMlwiXSxcbiAgW1wic3VwM1wiLCBcIlxcdTAwQjNcIl0sXG4gIFtcImFjdXRlXCIsIFwiXFx1MDBCNFwiXSxcbiAgW1wibWljcm9cIiwgXCJcXHUwMEI1XCJdLFxuICBbXCJwYXJhXCIsIFwiXFx1MDBCNlwiXSxcbiAgW1wibWlkZG90XCIsIFwiXFx1MDBCN1wiXSxcbiAgW1wiY2VkaWxcIiwgXCJcXHUwMEI4XCJdLFxuICBbXCJzdXAxXCIsIFwiXFx1MDBCOVwiXSxcbiAgW1wib3JkbVwiLCBcIlxcdTAwQkFcIl0sXG4gIFtcInJhcXVvXCIsIFwiXFx1MDBCQlwiXSxcbiAgW1wiZnJhYzE0XCIsIFwiXFx1MDBCQ1wiXSxcbiAgW1wiZnJhYzEyXCIsIFwiXFx1MDBCRFwiXSxcbiAgW1wiZnJhYzM0XCIsIFwiXFx1MDBCRVwiXSxcbiAgW1wiaXF1ZXN0XCIsIFwiXFx1MDBCRlwiXSxcbiAgW1wiQWdyYXZlXCIsIFwiXFx1MDBDMFwiXSxcbiAgW1wiQWFjdXRlXCIsIFwiXFx1MDBDMVwiXSxcbiAgW1wiQWNpcmNcIiwgXCJcXHUwMEMyXCJdLFxuICBbXCJBdGlsZGVcIiwgXCJcXHUwMEMzXCJdLFxuICBbXCJBdW1sXCIsIFwiXFx1MDBDNFwiXSxcbiAgW1wiQXJpbmdcIiwgXCJcXHUwMEM1XCJdLFxuICBbXCJBRWxpZ1wiLCBcIlxcdTAwQzZcIl0sXG4gIFtcIkNjZWRpbFwiLCBcIlxcdTAwQzdcIl0sXG4gIFtcIkVncmF2ZVwiLCBcIlxcdTAwQzhcIl0sXG4gIFtcIkVhY3V0ZVwiLCBcIlxcdTAwQzlcIl0sXG4gIFtcIkVjaXJjXCIsIFwiXFx1MDBDQVwiXSxcbiAgW1wiRXVtbFwiLCBcIlxcdTAwQ0JcIl0sXG4gIFtcIklncmF2ZVwiLCBcIlxcdTAwQ0NcIl0sXG4gIFtcIklhY3V0ZVwiLCBcIlxcdTAwQ0RcIl0sXG4gIFtcIkljaXJjXCIsIFwiXFx1MDBDRVwiXSxcbiAgW1wiSXVtbFwiLCBcIlxcdTAwQ0ZcIl0sXG4gIFtcIkVUSFwiLCBcIlxcdTAwRDBcIl0sXG4gIFtcIk50aWxkZVwiLCBcIlxcdTAwRDFcIl0sXG4gIFtcIk9ncmF2ZVwiLCBcIlxcdTAwRDJcIl0sXG4gIFtcIk9hY3V0ZVwiLCBcIlxcdTAwRDNcIl0sXG4gIFtcIk9jaXJjXCIsIFwiXFx1MDBENFwiXSxcbiAgW1wiT3RpbGRlXCIsIFwiXFx1MDBENVwiXSxcbiAgW1wiT3VtbFwiLCBcIlxcdTAwRDZcIl0sXG4gIFtcInRpbWVzXCIsIFwiXFx1MDBEN1wiXSxcbiAgW1wiT3NsYXNoXCIsIFwiXFx1MDBEOFwiXSxcbiAgW1wiVWdyYXZlXCIsIFwiXFx1MDBEOVwiXSxcbiAgW1wiVWFjdXRlXCIsIFwiXFx1MDBEQVwiXSxcbiAgW1wiVWNpcmNcIiwgXCJcXHUwMERCXCJdLFxuICBbXCJVdW1sXCIsIFwiXFx1MDBEQ1wiXSxcbiAgW1wiWWFjdXRlXCIsIFwiXFx1MDBERFwiXSxcbiAgW1wiVEhPUk5cIiwgXCJcXHUwMERFXCJdLFxuICBbXCJzemxpZ1wiLCBcIlxcdTAwREZcIl0sXG4gIFtcImFncmF2ZVwiLCBcIlxcdTAwRTBcIl0sXG4gIFtcImFhY3V0ZVwiLCBcIlxcdTAwRTFcIl0sXG4gIFtcImFjaXJjXCIsIFwiXFx1MDBFMlwiXSxcbiAgW1wiYXRpbGRlXCIsIFwiXFx1MDBFM1wiXSxcbiAgW1wiYXVtbFwiLCBcIlxcdTAwRTRcIl0sXG4gIFtcImFyaW5nXCIsIFwiXFx1MDBFNVwiXSxcbiAgW1wiYWVsaWdcIiwgXCJcXHUwMEU2XCJdLFxuICBbXCJjY2VkaWxcIiwgXCJcXHUwMEU3XCJdLFxuICBbXCJlZ3JhdmVcIiwgXCJcXHUwMEU4XCJdLFxuICBbXCJlYWN1dGVcIiwgXCJcXHUwMEU5XCJdLFxuICBbXCJlY2lyY1wiLCBcIlxcdTAwRUFcIl0sXG4gIFtcImV1bWxcIiwgXCJcXHUwMEVCXCJdLFxuICBbXCJpZ3JhdmVcIiwgXCJcXHUwMEVDXCJdLFxuICBbXCJpYWN1dGVcIiwgXCJcXHUwMEVEXCJdLFxuICBbXCJpY2lyY1wiLCBcIlxcdTAwRUVcIl0sXG4gIFtcIml1bWxcIiwgXCJcXHUwMEVGXCJdLFxuICBbXCJldGhcIiwgXCJcXHUwMEYwXCJdLFxuICBbXCJudGlsZGVcIiwgXCJcXHUwMEYxXCJdLFxuICBbXCJvZ3JhdmVcIiwgXCJcXHUwMEYyXCJdLFxuICBbXCJvYWN1dGVcIiwgXCJcXHUwMEYzXCJdLFxuICBbXCJvY2lyY1wiLCBcIlxcdTAwRjRcIl0sXG4gIFtcIm90aWxkZVwiLCBcIlxcdTAwRjVcIl0sXG4gIFtcIm91bWxcIiwgXCJcXHUwMEY2XCJdLFxuICBbXCJkaXZpZGVcIiwgXCJcXHUwMEY3XCJdLFxuICBbXCJvc2xhc2hcIiwgXCJcXHUwMEY4XCJdLFxuICBbXCJ1Z3JhdmVcIiwgXCJcXHUwMEY5XCJdLFxuICBbXCJ1YWN1dGVcIiwgXCJcXHUwMEZBXCJdLFxuICBbXCJ1Y2lyY1wiLCBcIlxcdTAwRkJcIl0sXG4gIFtcInV1bWxcIiwgXCJcXHUwMEZDXCJdLFxuICBbXCJ5YWN1dGVcIiwgXCJcXHUwMEZEXCJdLFxuICBbXCJ0aG9yblwiLCBcIlxcdTAwRkVcIl0sXG4gIFtcInl1bWxcIiwgXCJcXHUwMEZGXCJdLFxuICBbXCJPRWxpZ1wiLCBcIlxcdTAxNTJcIl0sXG4gIFtcIm9lbGlnXCIsIFwiXFx1MDE1M1wiXSxcbiAgW1wiU2Nhcm9uXCIsIFwiXFx1MDE2MFwiXSxcbiAgW1wic2Nhcm9uXCIsIFwiXFx1MDE2MVwiXSxcbiAgW1wiWXVtbFwiLCBcIlxcdTAxNzhcIl0sXG4gIFtcImZub2ZcIiwgXCJcXHUwMTkyXCJdLFxuICBbXCJjaXJjXCIsIFwiXFx1MDJDNlwiXSxcbiAgW1widGlsZGVcIiwgXCJcXHUwMkRDXCJdLFxuICBbXCJBbHBoYVwiLCBcIlxcdTAzOTFcIl0sXG4gIFtcIkJldGFcIiwgXCJcXHUwMzkyXCJdLFxuICBbXCJHYW1tYVwiLCBcIlxcdTAzOTNcIl0sXG4gIFtcIkRlbHRhXCIsIFwiXFx1MDM5NFwiXSxcbiAgW1wiRXBzaWxvblwiLCBcIlxcdTAzOTVcIl0sXG4gIFtcIlpldGFcIiwgXCJcXHUwMzk2XCJdLFxuICBbXCJFdGFcIiwgXCJcXHUwMzk3XCJdLFxuICBbXCJUaGV0YVwiLCBcIlxcdTAzOThcIl0sXG4gIFtcIklvdGFcIiwgXCJcXHUwMzk5XCJdLFxuICBbXCJLYXBwYVwiLCBcIlxcdTAzOUFcIl0sXG4gIFtcIkxhbWJkYVwiLCBcIlxcdTAzOUJcIl0sXG4gIFtcIk11XCIsIFwiXFx1MDM5Q1wiXSxcbiAgW1wiTnVcIiwgXCJcXHUwMzlEXCJdLFxuICBbXCJYaVwiLCBcIlxcdTAzOUVcIl0sXG4gIFtcIk9taWNyb25cIiwgXCJcXHUwMzlGXCJdLFxuICBbXCJQaVwiLCBcIlxcdTAzQTBcIl0sXG4gIFtcIlJob1wiLCBcIlxcdTAzQTFcIl0sXG4gIFtcIlNpZ21hXCIsIFwiXFx1MDNBM1wiXSxcbiAgW1wiVGF1XCIsIFwiXFx1MDNBNFwiXSxcbiAgW1wiVXBzaWxvblwiLCBcIlxcdTAzQTVcIl0sXG4gIFtcIlBoaVwiLCBcIlxcdTAzQTZcIl0sXG4gIFtcIkNoaVwiLCBcIlxcdTAzQTdcIl0sXG4gIFtcIlBzaVwiLCBcIlxcdTAzQThcIl0sXG4gIFtcIk9tZWdhXCIsIFwiXFx1MDNBOVwiXSxcbiAgW1wiYWxwaGFcIiwgXCJcXHUwM0IxXCJdLFxuICBbXCJiZXRhXCIsIFwiXFx1MDNCMlwiXSxcbiAgW1wiZ2FtbWFcIiwgXCJcXHUwM0IzXCJdLFxuICBbXCJkZWx0YVwiLCBcIlxcdTAzQjRcIl0sXG4gIFtcImVwc2lsb25cIiwgXCJcXHUwM0I1XCJdLFxuICBbXCJ6ZXRhXCIsIFwiXFx1MDNCNlwiXSxcbiAgW1wiZXRhXCIsIFwiXFx1MDNCN1wiXSxcbiAgW1widGhldGFcIiwgXCJcXHUwM0I4XCJdLFxuICBbXCJpb3RhXCIsIFwiXFx1MDNCOVwiXSxcbiAgW1wia2FwcGFcIiwgXCJcXHUwM0JBXCJdLFxuICBbXCJsYW1iZGFcIiwgXCJcXHUwM0JCXCJdLFxuICBbXCJtdVwiLCBcIlxcdTAzQkNcIl0sXG4gIFtcIm51XCIsIFwiXFx1MDNCRFwiXSxcbiAgW1wieGlcIiwgXCJcXHUwM0JFXCJdLFxuICBbXCJvbWljcm9uXCIsIFwiXFx1MDNCRlwiXSxcbiAgW1wicGlcIiwgXCJcXHUwM0MwXCJdLFxuICBbXCJyaG9cIiwgXCJcXHUwM0MxXCJdLFxuICBbXCJzaWdtYWZcIiwgXCJcXHUwM0MyXCJdLFxuICBbXCJzaWdtYVwiLCBcIlxcdTAzQzNcIl0sXG4gIFtcInRhdVwiLCBcIlxcdTAzQzRcIl0sXG4gIFtcInVwc2lsb25cIiwgXCJcXHUwM0M1XCJdLFxuICBbXCJwaGlcIiwgXCJcXHUwM0M2XCJdLFxuICBbXCJjaGlcIiwgXCJcXHUwM0M3XCJdLFxuICBbXCJwc2lcIiwgXCJcXHUwM0M4XCJdLFxuICBbXCJvbWVnYVwiLCBcIlxcdTAzQzlcIl0sXG4gIFtcInRoZXRhc3ltXCIsIFwiXFx1MDNEMVwiXSxcbiAgW1widXBzaWhcIiwgXCJcXHUwM0QyXCJdLFxuICBbXCJwaXZcIiwgXCJcXHUwM0Q2XCJdLFxuICBbXCJlbnNwXCIsIFwiXFx1MjAwMlwiXSxcbiAgW1wiZW1zcFwiLCBcIlxcdTIwMDNcIl0sXG4gIFtcInRoaW5zcFwiLCBcIlxcdTIwMDlcIl0sXG4gIFtcInp3bmpcIiwgXCJcXHUyMDBDXCJdLFxuICBbXCJ6d2pcIiwgXCJcXHUyMDBEXCJdLFxuICBbXCJscm1cIiwgXCJcXHUyMDBFXCJdLFxuICBbXCJybG1cIiwgXCJcXHUyMDBGXCJdLFxuICBbXCJuZGFzaFwiLCBcIlxcdTIwMTNcIl0sXG4gIFtcIm1kYXNoXCIsIFwiXFx1MjAxNFwiXSxcbiAgW1wibHNxdW9cIiwgXCJcXHUyMDE4XCJdLFxuICBbXCJyc3F1b1wiLCBcIlxcdTIwMTlcIl0sXG4gIFtcInNicXVvXCIsIFwiXFx1MjAxQVwiXSxcbiAgW1wibGRxdW9cIiwgXCJcXHUyMDFDXCJdLFxuICBbXCJyZHF1b1wiLCBcIlxcdTIwMURcIl0sXG4gIFtcImJkcXVvXCIsIFwiXFx1MjAxRVwiXSxcbiAgW1wiZGFnZ2VyXCIsIFwiXFx1MjAyMFwiXSxcbiAgW1wiRGFnZ2VyXCIsIFwiXFx1MjAyMVwiXSxcbiAgW1wiYnVsbFwiLCBcIlxcdTIwMjJcIl0sXG4gIFtcImhlbGxpcFwiLCBcIlxcdTIwMjZcIl0sXG4gIFtcInBlcm1pbFwiLCBcIlxcdTIwMzBcIl0sXG4gIFtcInByaW1lXCIsIFwiXFx1MjAzMlwiXSxcbiAgW1wiUHJpbWVcIiwgXCJcXHUyMDMzXCJdLFxuICBbXCJsc2FxdW9cIiwgXCJcXHUyMDM5XCJdLFxuICBbXCJyc2FxdW9cIiwgXCJcXHUyMDNBXCJdLFxuICBbXCJvbGluZVwiLCBcIlxcdTIwM0VcIl0sXG4gIFtcImZyYXNsXCIsIFwiXFx1MjA0NFwiXSxcbiAgW1wiZXVyb1wiLCBcIlxcdTIwQUNcIl0sXG4gIFtcImltYWdlXCIsIFwiXFx1MjExMVwiXSxcbiAgW1wid2VpZXJwXCIsIFwiXFx1MjExOFwiXSxcbiAgW1wicmVhbFwiLCBcIlxcdTIxMUNcIl0sXG4gIFtcInRyYWRlXCIsIFwiXFx1MjEyMlwiXSxcbiAgW1wiYWxlZnN5bVwiLCBcIlxcdTIxMzVcIl0sXG4gIFtcImxhcnJcIiwgXCJcXHUyMTkwXCJdLFxuICBbXCJ1YXJyXCIsIFwiXFx1MjE5MVwiXSxcbiAgW1wicmFyclwiLCBcIlxcdTIxOTJcIl0sXG4gIFtcImRhcnJcIiwgXCJcXHUyMTkzXCJdLFxuICBbXCJoYXJyXCIsIFwiXFx1MjE5NFwiXSxcbiAgW1wiY3JhcnJcIiwgXCJcXHUyMUI1XCJdLFxuICBbXCJsQXJyXCIsIFwiXFx1MjFEMFwiXSxcbiAgW1widUFyclwiLCBcIlxcdTIxRDFcIl0sXG4gIFtcInJBcnJcIiwgXCJcXHUyMUQyXCJdLFxuICBbXCJkQXJyXCIsIFwiXFx1MjFEM1wiXSxcbiAgW1wiaEFyclwiLCBcIlxcdTIxRDRcIl0sXG4gIFtcImZvcmFsbFwiLCBcIlxcdTIyMDBcIl0sXG4gIFtcInBhcnRcIiwgXCJcXHUyMjAyXCJdLFxuICBbXCJleGlzdFwiLCBcIlxcdTIyMDNcIl0sXG4gIFtcImVtcHR5XCIsIFwiXFx1MjIwNVwiXSxcbiAgW1wibmFibGFcIiwgXCJcXHUyMjA3XCJdLFxuICBbXCJpc2luXCIsIFwiXFx1MjIwOFwiXSxcbiAgW1wibm90aW5cIiwgXCJcXHUyMjA5XCJdLFxuICBbXCJuaVwiLCBcIlxcdTIyMEJcIl0sXG4gIFtcInByb2RcIiwgXCJcXHUyMjBGXCJdLFxuICBbXCJzdW1cIiwgXCJcXHUyMjExXCJdLFxuICBbXCJtaW51c1wiLCBcIlxcdTIyMTJcIl0sXG4gIFtcImxvd2FzdFwiLCBcIlxcdTIyMTdcIl0sXG4gIFtcInJhZGljXCIsIFwiXFx1MjIxQVwiXSxcbiAgW1wicHJvcFwiLCBcIlxcdTIyMURcIl0sXG4gIFtcImluZmluXCIsIFwiXFx1MjIxRVwiXSxcbiAgW1wiYW5nXCIsIFwiXFx1MjIyMFwiXSxcbiAgW1wiYW5kXCIsIFwiXFx1MjIyN1wiXSxcbiAgW1wib3JcIiwgXCJcXHUyMjI4XCJdLFxuICBbXCJjYXBcIiwgXCJcXHUyMjI5XCJdLFxuICBbXCJjdXBcIiwgXCJcXHUyMjJBXCJdLFxuICBbXCJpbnRcIiwgXCJcXHUyMjJCXCJdLFxuICBbXCJ0aGVyZTRcIiwgXCJcXHUyMjM0XCJdLFxuICBbXCJzaW1cIiwgXCJcXHUyMjNDXCJdLFxuICBbXCJjb25nXCIsIFwiXFx1MjI0NVwiXSxcbiAgW1wiYXN5bXBcIiwgXCJcXHUyMjQ4XCJdLFxuICBbXCJuZVwiLCBcIlxcdTIyNjBcIl0sXG4gIFtcImVxdWl2XCIsIFwiXFx1MjI2MVwiXSxcbiAgW1wibGVcIiwgXCJcXHUyMjY0XCJdLFxuICBbXCJnZVwiLCBcIlxcdTIyNjVcIl0sXG4gIFtcInN1YlwiLCBcIlxcdTIyODJcIl0sXG4gIFtcInN1cFwiLCBcIlxcdTIyODNcIl0sXG4gIFtcIm5zdWJcIiwgXCJcXHUyMjg0XCJdLFxuICBbXCJzdWJlXCIsIFwiXFx1MjI4NlwiXSxcbiAgW1wic3VwZVwiLCBcIlxcdTIyODdcIl0sXG4gIFtcIm9wbHVzXCIsIFwiXFx1MjI5NVwiXSxcbiAgW1wib3RpbWVzXCIsIFwiXFx1MjI5N1wiXSxcbiAgW1wicGVycFwiLCBcIlxcdTIyQTVcIl0sXG4gIFtcInNkb3RcIiwgXCJcXHUyMkM1XCJdLFxuICBbXCJsY2VpbFwiLCBcIlxcdTIzMDhcIl0sXG4gIFtcInJjZWlsXCIsIFwiXFx1MjMwOVwiXSxcbiAgW1wibGZsb29yXCIsIFwiXFx1MjMwQVwiXSxcbiAgW1wicmZsb29yXCIsIFwiXFx1MjMwQlwiXSxcbiAgW1wibGFuZ1wiLCBcIlxcdTIzMjlcIl0sXG4gIFtcInJhbmdcIiwgXCJcXHUyMzJBXCJdLFxuICBbXCJsb3pcIiwgXCJcXHUyNUNBXCJdLFxuICBbXCJzcGFkZXNcIiwgXCJcXHUyNjYwXCJdLFxuICBbXCJjbHVic1wiLCBcIlxcdTI2NjNcIl0sXG4gIFtcImhlYXJ0c1wiLCBcIlxcdTI2NjVcIl0sXG4gIFtcImRpYW1zXCIsIFwiXFx1MjY2NlwiXSxcbl0pO1xuIiwgIlxuXG5cblxuXG5cblxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEpTWFByYWdtYUluZm8ob3B0aW9ucykge1xuICBjb25zdCBbYmFzZSwgc3VmZml4XSA9IHNwbGl0UHJhZ21hKG9wdGlvbnMuanN4UHJhZ21hIHx8IFwiUmVhY3QuY3JlYXRlRWxlbWVudFwiKTtcbiAgY29uc3QgW2ZyYWdtZW50QmFzZSwgZnJhZ21lbnRTdWZmaXhdID0gc3BsaXRQcmFnbWEob3B0aW9ucy5qc3hGcmFnbWVudFByYWdtYSB8fCBcIlJlYWN0LkZyYWdtZW50XCIpO1xuICByZXR1cm4ge2Jhc2UsIHN1ZmZpeCwgZnJhZ21lbnRCYXNlLCBmcmFnbWVudFN1ZmZpeH07XG59XG5cbmZ1bmN0aW9uIHNwbGl0UHJhZ21hKHByYWdtYSkge1xuICBsZXQgZG90SW5kZXggPSBwcmFnbWEuaW5kZXhPZihcIi5cIik7XG4gIGlmIChkb3RJbmRleCA9PT0gLTEpIHtcbiAgICBkb3RJbmRleCA9IHByYWdtYS5sZW5ndGg7XG4gIH1cbiAgcmV0dXJuIFtwcmFnbWEuc2xpY2UoMCwgZG90SW5kZXgpLCBwcmFnbWEuc2xpY2UoZG90SW5kZXgpXTtcbn1cbiIsICJleHBvcnQgZGVmYXVsdCAgY2xhc3MgVHJhbnNmb3JtZXIge1xuICAvLyBSZXR1cm4gdHJ1ZSBpZiBhbnl0aGluZyB3YXMgcHJvY2Vzc2VkLCBmYWxzZSBvdGhlcndpc2UuXG4gIFxuXG4gIGdldFByZWZpeENvZGUoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBnZXRIb2lzdGVkQ29kZSgpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIGdldFN1ZmZpeENvZGUoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cbn1cbiIsICJcblxuXG5pbXBvcnQgWEhUTUxFbnRpdGllcyBmcm9tIFwiLi4vcGFyc2VyL3BsdWdpbnMvanN4L3hodG1sXCI7XG5pbXBvcnQge0pTWFJvbGV9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcbmltcG9ydCB7Y2hhckNvZGVzfSBmcm9tIFwiLi4vcGFyc2VyL3V0aWwvY2hhcmNvZGVzXCI7XG5cbmltcG9ydCBnZXRKU1hQcmFnbWFJbmZvLCB7fSBmcm9tIFwiLi4vdXRpbC9nZXRKU1hQcmFnbWFJbmZvXCI7XG5cbmltcG9ydCBUcmFuc2Zvcm1lciBmcm9tIFwiLi9UcmFuc2Zvcm1lclwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKU1hUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgXG4gIFxuICBcblxuICAvLyBTdGF0ZSBmb3IgY2FsY3VsYXRpbmcgdGhlIGxpbmUgbnVtYmVyIG9mIGVhY2ggSlNYIHRhZyBpbiBkZXZlbG9wbWVudC5cbiAgX19pbml0KCkge3RoaXMubGFzdExpbmVOdW1iZXIgPSAxfVxuICBfX2luaXQyKCkge3RoaXMubGFzdEluZGV4ID0gMH1cblxuICAvLyBJbiBkZXZlbG9wbWVudCwgdmFyaWFibGUgbmFtZSBob2xkaW5nIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGZpbGUuXG4gIF9faW5pdDMoKSB7dGhpcy5maWxlbmFtZVZhck5hbWUgPSBudWxsfVxuICAvLyBNYXBwaW5nIG9mIGNsYWltZWQgbmFtZXMgZm9yIGltcG9ydHMgaW4gdGhlIGF1dG9tYXRpYyB0cmFuc2Zvcm0sIGUsZy5cbiAgLy8ge2pzeDogXCJfanN4XCJ9LiBUaGlzIGRldGVybWluZXMgd2hpY2ggaW1wb3J0cyB0byBnZW5lcmF0ZSBpbiB0aGUgcHJlZml4LlxuICBfX2luaXQ0KCkge3RoaXMuZXNtQXV0b21hdGljSW1wb3J0TmFtZVJlc29sdXRpb25zID0ge319XG4gIC8vIFdoZW4gYXV0b21hdGljYWxseSBhZGRpbmcgaW1wb3J0cyBpbiBDSlMgbW9kZSwgd2Ugc3RvcmUgdGhlIHZhcmlhYmxlIG5hbWVcbiAgLy8gaG9sZGluZyB0aGUgaW1wb3J0ZWQgQ0pTIG1vZHVsZSBzbyB3ZSBjYW4gcmVxdWlyZSBpdCBpbiB0aGUgcHJlZml4LlxuICBfX2luaXQ1KCkge3RoaXMuY2pzQXV0b21hdGljTW9kdWxlTmFtZVJlc29sdXRpb25zID0ge319XG5cbiAgY29uc3RydWN0b3IoXG4gICAgIHJvb3RUcmFuc2Zvcm1lcixcbiAgICAgdG9rZW5zLFxuICAgICBpbXBvcnRQcm9jZXNzb3IsXG4gICAgIG5hbWVNYW5hZ2VyLFxuICAgICBvcHRpb25zLFxuICApIHtcbiAgICBzdXBlcigpO3RoaXMucm9vdFRyYW5zZm9ybWVyID0gcm9vdFRyYW5zZm9ybWVyO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMuaW1wb3J0UHJvY2Vzc29yID0gaW1wb3J0UHJvY2Vzc29yO3RoaXMubmFtZU1hbmFnZXIgPSBuYW1lTWFuYWdlcjt0aGlzLm9wdGlvbnMgPSBvcHRpb25zO0pTWFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtKU1hUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0Mi5jYWxsKHRoaXMpO0pTWFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQzLmNhbGwodGhpcyk7SlNYVHJhbnNmb3JtZXIucHJvdG90eXBlLl9faW5pdDQuY2FsbCh0aGlzKTtKU1hUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0NS5jYWxsKHRoaXMpOztcbiAgICB0aGlzLmpzeFByYWdtYUluZm8gPSBnZXRKU1hQcmFnbWFJbmZvKG9wdGlvbnMpO1xuICAgIHRoaXMuaXNBdXRvbWF0aWNSdW50aW1lID0gb3B0aW9ucy5qc3hSdW50aW1lID09PSBcImF1dG9tYXRpY1wiO1xuICAgIHRoaXMuanN4SW1wb3J0U291cmNlID0gb3B0aW9ucy5qc3hJbXBvcnRTb3VyY2UgfHwgXCJyZWFjdFwiO1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4VGFnU3RhcnQpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NKU1hUYWcoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRQcmVmaXhDb2RlKCkge1xuICAgIGxldCBwcmVmaXggPSBcIlwiO1xuICAgIGlmICh0aGlzLmZpbGVuYW1lVmFyTmFtZSkge1xuICAgICAgcHJlZml4ICs9IGBjb25zdCAke3RoaXMuZmlsZW5hbWVWYXJOYW1lfSA9ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zLmZpbGVQYXRoIHx8IFwiXCIpfTtgO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0F1dG9tYXRpY1J1bnRpbWUpIHtcbiAgICAgIGlmICh0aGlzLmltcG9ydFByb2Nlc3Nvcikge1xuICAgICAgICAvLyBDSlMgbW9kZTogZW1pdCByZXF1aXJlIHN0YXRlbWVudHMgZm9yIGFsbCBtb2R1bGVzIHRoYXQgd2VyZSByZWZlcmVuY2VkLlxuICAgICAgICBmb3IgKGNvbnN0IFtwYXRoLCByZXNvbHZlZE5hbWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuY2pzQXV0b21hdGljTW9kdWxlTmFtZVJlc29sdXRpb25zKSkge1xuICAgICAgICAgIHByZWZpeCArPSBgdmFyICR7cmVzb2x2ZWROYW1lfSA9IHJlcXVpcmUoXCIke3BhdGh9XCIpO2A7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEVTTSBtb2RlOiBjb25zb2xpZGF0ZSBhbmQgZW1pdCBpbXBvcnQgc3RhdGVtZW50cyBmb3IgcmVmZXJlbmNlZCBuYW1lcy5cbiAgICAgICAgY29uc3Qge2NyZWF0ZUVsZW1lbnQ6IGNyZWF0ZUVsZW1lbnRSZXNvbHV0aW9uLCAuLi5vdGhlclJlc29sdXRpb25zfSA9XG4gICAgICAgICAgdGhpcy5lc21BdXRvbWF0aWNJbXBvcnROYW1lUmVzb2x1dGlvbnM7XG4gICAgICAgIGlmIChjcmVhdGVFbGVtZW50UmVzb2x1dGlvbikge1xuICAgICAgICAgIHByZWZpeCArPSBgaW1wb3J0IHtjcmVhdGVFbGVtZW50IGFzICR7Y3JlYXRlRWxlbWVudFJlc29sdXRpb259fSBmcm9tIFwiJHt0aGlzLmpzeEltcG9ydFNvdXJjZX1cIjtgO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGltcG9ydFNwZWNpZmllcnMgPSBPYmplY3QuZW50cmllcyhvdGhlclJlc29sdXRpb25zKVxuICAgICAgICAgIC5tYXAoKFtuYW1lLCByZXNvbHZlZE5hbWVdKSA9PiBgJHtuYW1lfSBhcyAke3Jlc29sdmVkTmFtZX1gKVxuICAgICAgICAgIC5qb2luKFwiLCBcIik7XG4gICAgICAgIGlmIChpbXBvcnRTcGVjaWZpZXJzKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0UGF0aCA9XG4gICAgICAgICAgICB0aGlzLmpzeEltcG9ydFNvdXJjZSArICh0aGlzLm9wdGlvbnMucHJvZHVjdGlvbiA/IFwiL2pzeC1ydW50aW1lXCIgOiBcIi9qc3gtZGV2LXJ1bnRpbWVcIik7XG4gICAgICAgICAgcHJlZml4ICs9IGBpbXBvcnQgeyR7aW1wb3J0U3BlY2lmaWVyc319IGZyb20gXCIke2ltcG9ydFBhdGh9XCI7YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJlZml4O1xuICB9XG5cbiAgcHJvY2Vzc0pTWFRhZygpIHtcbiAgICBjb25zdCB7anN4Um9sZSwgc3RhcnR9ID0gdGhpcy50b2tlbnMuY3VycmVudFRva2VuKCk7XG4gICAgLy8gQ2FsY3VsYXRlIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uIGF0IHRoZSB2ZXJ5IHN0YXJ0IChpZiBpbiBkZXZlbG9wbWVudFxuICAgIC8vIG1vZGUpIHNvIHRoYXQgdGhlIGluZm9ybWF0aW9uIGlzIGd1YXJhbnRlZWQgdG8gYmUgcXVlcmllZCBpbiB0b2tlbiBvcmRlci5cbiAgICBjb25zdCBlbGVtZW50TG9jYXRpb25Db2RlID0gdGhpcy5vcHRpb25zLnByb2R1Y3Rpb24gPyBudWxsIDogdGhpcy5nZXRFbGVtZW50TG9jYXRpb25Db2RlKHN0YXJ0KTtcbiAgICBpZiAodGhpcy5pc0F1dG9tYXRpY1J1bnRpbWUgJiYganN4Um9sZSAhPT0gSlNYUm9sZS5LZXlBZnRlclByb3BTcHJlYWQpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtVGFnVG9KU1hGdW5jKGVsZW1lbnRMb2NhdGlvbkNvZGUsIGpzeFJvbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybVRhZ1RvQ3JlYXRlRWxlbWVudChlbGVtZW50TG9jYXRpb25Db2RlKTtcbiAgICB9XG4gIH1cblxuICBnZXRFbGVtZW50TG9jYXRpb25Db2RlKGZpcnN0VG9rZW5TdGFydCkge1xuICAgIGNvbnN0IGxpbmVOdW1iZXIgPSB0aGlzLmdldExpbmVOdW1iZXJGb3JJbmRleChmaXJzdFRva2VuU3RhcnQpO1xuICAgIHJldHVybiBgbGluZU51bWJlcjogJHtsaW5lTnVtYmVyfWA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaW5lIG51bWJlciBmb3IgdGhpcyBzb3VyY2UgcG9zaXRpb24uIFRoaXMgaXMgY2FsY3VsYXRlZCBsYXppbHkgYW5kXG4gICAqIG11c3QgYmUgY2FsbGVkIGluIGluY3JlYXNpbmcgb3JkZXIgYnkgaW5kZXguXG4gICAqL1xuICBnZXRMaW5lTnVtYmVyRm9ySW5kZXgoaW5kZXgpIHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy50b2tlbnMuY29kZTtcbiAgICB3aGlsZSAodGhpcy5sYXN0SW5kZXggPCBpbmRleCAmJiB0aGlzLmxhc3RJbmRleCA8IGNvZGUubGVuZ3RoKSB7XG4gICAgICBpZiAoY29kZVt0aGlzLmxhc3RJbmRleF0gPT09IFwiXFxuXCIpIHtcbiAgICAgICAgdGhpcy5sYXN0TGluZU51bWJlcisrO1xuICAgICAgfVxuICAgICAgdGhpcy5sYXN0SW5kZXgrKztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubGFzdExpbmVOdW1iZXI7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGUgY3VycmVudCBKU1ggZWxlbWVudCB0byBhIGNhbGwgdG8ganN4LCBqc3hzLCBvciBqc3hERVYuIFRoaXMgaXNcbiAgICogdGhlIHByaW1hcnkgdHJhbnNmb3JtYXRpb24gZm9yIHRoZSBhdXRvbWF0aWMgdHJhbnNmb3JtLlxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKiA8ZGl2IGE9ezF9IGtleT17Mn0+SGVsbG97eH08L2Rpdj5cbiAgICogYmVjb21lc1xuICAgKiBqc3hzKCdkaXYnLCB7YTogMSwgY2hpbGRyZW46IFtcIkhlbGxvXCIsIHhdfSwgMilcbiAgICovXG4gIHRyYW5zZm9ybVRhZ1RvSlNYRnVuYyhlbGVtZW50TG9jYXRpb25Db2RlLCBqc3hSb2xlKSB7XG4gICAgY29uc3QgaXNTdGF0aWMgPSBqc3hSb2xlID09PSBKU1hSb2xlLlN0YXRpY0NoaWxkcmVuO1xuICAgIC8vIEZpcnN0IHRhZyBpcyBhbHdheXMganN4VGFnU3RhcnQuXG4gICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKHRoaXMuZ2V0SlNYRnVuY0ludm9jYXRpb25Db2RlKGlzU3RhdGljKSk7XG5cbiAgICBsZXQga2V5Q29kZSA9IG51bGw7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeFRhZ0VuZCkpIHtcbiAgICAgIC8vIEZyYWdtZW50IHN5bnRheC5cbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgJHt0aGlzLmdldEZyYWdtZW50Q29kZSgpfSwge2ApO1xuICAgICAgdGhpcy5wcm9jZXNzQXV0b21hdGljQ2hpbGRyZW5BbmRFbmRQcm9wcyhqc3hSb2xlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm9ybWFsIG9wZW4gdGFnIG9yIHNlbGYtY2xvc2luZyB0YWcuXG4gICAgICB0aGlzLnByb2Nlc3NUYWdJbnRybygpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIiwge1wiKTtcbiAgICAgIGtleUNvZGUgPSB0aGlzLnByb2Nlc3NQcm9wcyh0cnVlKTtcblxuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnNsYXNoLCB0dC5qc3hUYWdFbmQpKSB7XG4gICAgICAgIC8vIFNlbGYtY2xvc2luZyB0YWcsIG5vIGNoaWxkcmVuIHRvIGFkZCwgc28gY2xvc2UgdGhlIHByb3BzLlxuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwifVwiKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4VGFnRW5kKSkge1xuICAgICAgICAvLyBUYWcgd2l0aCBjaGlsZHJlbi5cbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzQXV0b21hdGljQ2hpbGRyZW5BbmRFbmRQcm9wcyhqc3hSb2xlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGVpdGhlciAvPiBvciA+IGF0IHRoZSBlbmQgb2YgdGhlIHRhZy5cIik7XG4gICAgICB9XG4gICAgICAvLyBJZiBhIGtleSB3YXMgcHJlc2VudCwgbW92ZSBpdCB0byBpdHMgb3duIGFyZy4gTm90ZSB0aGF0IG1vdmluZyBjb2RlXG4gICAgICAvLyBsaWtlIHRoaXMgd2lsbCBjYXVzZSBsaW5lIG51bWJlcnMgdG8gZ2V0IG91dCBvZiBzeW5jIHdpdGhpbiB0aGUgSlNYXG4gICAgICAvLyBlbGVtZW50IGlmIHRoZSBrZXkgZXhwcmVzc2lvbiBoYXMgYSBuZXdsaW5lIGluIGl0LiBUaGlzIGlzIHVuZm9ydHVuYXRlLFxuICAgICAgLy8gYnV0IGhvcGVmdWxseSBzaG91bGQgYmUgcmFyZS5cbiAgICAgIGlmIChrZXlDb2RlKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCwgJHtrZXlDb2RlfWApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMub3B0aW9ucy5wcm9kdWN0aW9uKSB7XG4gICAgICAvLyBJZiB0aGUga2V5IHdhc24ndCBhbHJlYWR5IGFkZGVkLCBhZGQgaXQgbm93IHNvIHdlIGNhbiBjb3JyZWN0bHkgc2V0XG4gICAgICAvLyBwb3NpdGlvbmFsIGFyZ3MgZm9yIGpzeERFVi5cbiAgICAgIGlmIChrZXlDb2RlID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIsIHZvaWQgMFwiKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCwgJHtpc1N0YXRpY30sICR7dGhpcy5nZXREZXZTb3VyY2UoZWxlbWVudExvY2F0aW9uQ29kZSl9LCB0aGlzYCk7XG4gICAgfVxuICAgIC8vIFdlJ3JlIGF0IHRoZSBjbG9zZS10YWcgb3IgdGhlIGVuZCBvZiBhIHNlbGYtY2xvc2luZyB0YWcsIHNvIHJlbW92ZVxuICAgIC8vIGV2ZXJ5dGhpbmcgZWxzZSBhbmQgY2xvc2UgdGhlIGZ1bmN0aW9uIGNhbGwuXG4gICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5qc3hUYWdFbmQpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCIpXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdGhlIGN1cnJlbnQgSlNYIGVsZW1lbnQgdG8gYSBjcmVhdGVFbGVtZW50IGNhbGwuIEluIHRoZSBjbGFzc2ljXG4gICAqIHJ1bnRpbWUsIHRoaXMgaXMgdGhlIG9ubHkgY2FzZS4gSW4gdGhlIGF1dG9tYXRpYyBydW50aW1lLCB0aGlzIGlzIGNhbGxlZFxuICAgKiBhcyBhIGZhbGxiYWNrIGluIHNvbWUgc2l0dWF0aW9ucy5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogPGRpdiBhPXsxfSBrZXk9ezJ9PkhlbGxve3h9PC9kaXY+XG4gICAqIGJlY29tZXNcbiAgICogUmVhY3QuY3JlYXRlRWxlbWVudCgnZGl2Jywge2E6IDEsIGtleTogMn0sIFwiSGVsbG9cIiwgeClcbiAgICovXG4gIHRyYW5zZm9ybVRhZ1RvQ3JlYXRlRWxlbWVudChlbGVtZW50TG9jYXRpb25Db2RlKSB7XG4gICAgLy8gRmlyc3QgdGFnIGlzIGFsd2F5cyBqc3hUYWdTdGFydC5cbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4odGhpcy5nZXRDcmVhdGVFbGVtZW50SW52b2NhdGlvbkNvZGUoKSk7XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4VGFnRW5kKSkge1xuICAgICAgLy8gRnJhZ21lbnQgc3ludGF4LlxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAke3RoaXMuZ2V0RnJhZ21lbnRDb2RlKCl9LCBudWxsYCk7XG4gICAgICB0aGlzLnByb2Nlc3NDaGlsZHJlbih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm9ybWFsIG9wZW4gdGFnIG9yIHNlbGYtY2xvc2luZyB0YWcuXG4gICAgICB0aGlzLnByb2Nlc3NUYWdJbnRybygpO1xuICAgICAgdGhpcy5wcm9jZXNzUHJvcHNPYmplY3RXaXRoRGV2SW5mbyhlbGVtZW50TG9jYXRpb25Db2RlKTtcblxuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnNsYXNoLCB0dC5qc3hUYWdFbmQpKSB7XG4gICAgICAgIC8vIFNlbGYtY2xvc2luZyB0YWc7IG5vIGNoaWxkcmVuIHRvIHByb2Nlc3MuXG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeFRhZ0VuZCkpIHtcbiAgICAgICAgLy8gVGFnIHdpdGggY2hpbGRyZW4gYW5kIGEgY2xvc2UtdGFnOyBwcm9jZXNzIHRoZSBjaGlsZHJlbiBhcyBhcmdzLlxuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB0aGlzLnByb2Nlc3NDaGlsZHJlbih0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGVpdGhlciAvPiBvciA+IGF0IHRoZSBlbmQgb2YgdGhlIHRhZy5cIik7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFdlJ3JlIGF0IHRoZSBjbG9zZS10YWcgb3IgdGhlIGVuZCBvZiBhIHNlbGYtY2xvc2luZyB0YWcsIHNvIHJlbW92ZVxuICAgIC8vIGV2ZXJ5dGhpbmcgZWxzZSBhbmQgY2xvc2UgdGhlIGZ1bmN0aW9uIGNhbGwuXG4gICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5qc3hUYWdFbmQpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCIpXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29kZSBmb3IgdGhlIHJlbGV2YW50IGZ1bmN0aW9uIGZvciB0aGlzIGNvbnRleHQ6IGpzeCwganN4cyxcbiAgICogb3IganN4REVWLiBUaGUgZm9sbG93aW5nIG9wZW4tcGFyZW4gaXMgaW5jbHVkZWQgYXMgd2VsbC5cbiAgICpcbiAgICogVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IHVzZWQgZm9yIHRoZSBhdXRvbWF0aWMgcnVudGltZSwgc28gdGhleSBhcmUgYWx3YXlzXG4gICAqIGF1dG8taW1wb3J0ZWQsIGJ1dCB0aGUgYXV0by1pbXBvcnQgd2lsbCBiZSBlaXRoZXIgQ0pTIG9yIEVTTSBiYXNlZCBvbiB0aGVcbiAgICogdGFyZ2V0IG1vZHVsZSBmb3JtYXQuXG4gICAqL1xuICBnZXRKU1hGdW5jSW52b2NhdGlvbkNvZGUoaXNTdGF0aWMpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb2R1Y3Rpb24pIHtcbiAgICAgIGlmIChpc1N0YXRpYykge1xuICAgICAgICByZXR1cm4gdGhpcy5jbGFpbUF1dG9JbXBvcnRlZEZ1bmNJbnZvY2F0aW9uKFwianN4c1wiLCBcIi9qc3gtcnVudGltZVwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNsYWltQXV0b0ltcG9ydGVkRnVuY0ludm9jYXRpb24oXCJqc3hcIiwgXCIvanN4LXJ1bnRpbWVcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNsYWltQXV0b0ltcG9ydGVkRnVuY0ludm9jYXRpb24oXCJqc3hERVZcIiwgXCIvanN4LWRldi1ydW50aW1lXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGNvZGUgdG8gdXNlIGZvciB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbiwgZS5nLlxuICAgKiBgUmVhY3QuY3JlYXRlRWxlbWVudGAsIGluY2x1ZGluZyB0aGUgZm9sbG93aW5nIG9wZW4tcGFyZW4uXG4gICAqXG4gICAqIFRoaXMgaXMgdGhlIG1haW4gZnVuY3Rpb24gdG8gdXNlIGZvciB0aGUgY2xhc3NpYyBydW50aW1lLiBGb3IgdGhlXG4gICAqIGF1dG9tYXRpYyBydW50aW1lLCB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgYXMgYSBmYWxsYmFjayBmdW5jdGlvbiB0b1xuICAgKiBwcmVzZXJ2ZSBiZWhhdmlvciB3aGVuIHRoZXJlIGlzIGEgcHJvcCBzcHJlYWQgZm9sbG93ZWQgYnkgYW4gZXhwbGljaXRcbiAgICoga2V5LiBJbiB0aGF0IGF1dG9tYXRpYyBydW50aW1lIGNhc2UsIHRoZSBmdW5jdGlvbiBzaG91bGQgYmUgYXV0b21hdGljYWxseVxuICAgKiBpbXBvcnRlZC5cbiAgICovXG4gIGdldENyZWF0ZUVsZW1lbnRJbnZvY2F0aW9uQ29kZSgpIHtcbiAgICBpZiAodGhpcy5pc0F1dG9tYXRpY1J1bnRpbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsYWltQXV0b0ltcG9ydGVkRnVuY0ludm9jYXRpb24oXCJjcmVhdGVFbGVtZW50XCIsIFwiXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7anN4UHJhZ21hSW5mb30gPSB0aGlzO1xuICAgICAgY29uc3QgcmVzb2x2ZWRQcmFnbWFCYXNlTmFtZSA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yXG4gICAgICAgID8gdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KGpzeFByYWdtYUluZm8uYmFzZSkgfHwganN4UHJhZ21hSW5mby5iYXNlXG4gICAgICAgIDoganN4UHJhZ21hSW5mby5iYXNlO1xuICAgICAgcmV0dXJuIGAke3Jlc29sdmVkUHJhZ21hQmFzZU5hbWV9JHtqc3hQcmFnbWFJbmZvLnN1ZmZpeH0oYDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBjb2RlIHRvIHVzZSBhcyB0aGUgY29tcG9uZW50IHdoZW4gY29tcGlsaW5nIGEgc2hvcnRoYW5kXG4gICAqIGZyYWdtZW50LCBlLmcuIGBSZWFjdC5GcmFnbWVudGAuXG4gICAqXG4gICAqIFRoaXMgbWF5IGJlIGNhbGxlZCBmcm9tIGVpdGhlciB0aGUgY2xhc3NpYyBvciBhdXRvbWF0aWMgcnVudGltZSwgYW5kXG4gICAqIHRoZSB2YWx1ZSBzaG91bGQgYmUgYXV0by1pbXBvcnRlZCBmb3IgdGhlIGF1dG9tYXRpYyBydW50aW1lLlxuICAgKi9cbiAgZ2V0RnJhZ21lbnRDb2RlKCkge1xuICAgIGlmICh0aGlzLmlzQXV0b21hdGljUnVudGltZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2xhaW1BdXRvSW1wb3J0ZWROYW1lKFxuICAgICAgICBcIkZyYWdtZW50XCIsXG4gICAgICAgIHRoaXMub3B0aW9ucy5wcm9kdWN0aW9uID8gXCIvanN4LXJ1bnRpbWVcIiA6IFwiL2pzeC1kZXYtcnVudGltZVwiLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qge2pzeFByYWdtYUluZm99ID0gdGhpcztcbiAgICAgIGNvbnN0IHJlc29sdmVkRnJhZ21lbnRQcmFnbWFCYXNlTmFtZSA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yXG4gICAgICAgID8gdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KGpzeFByYWdtYUluZm8uZnJhZ21lbnRCYXNlKSB8fFxuICAgICAgICAgIGpzeFByYWdtYUluZm8uZnJhZ21lbnRCYXNlXG4gICAgICAgIDoganN4UHJhZ21hSW5mby5mcmFnbWVudEJhc2U7XG4gICAgICByZXR1cm4gcmVzb2x2ZWRGcmFnbWVudFByYWdtYUJhc2VOYW1lICsganN4UHJhZ21hSW5mby5mcmFnbWVudFN1ZmZpeDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGNvZGUgdGhhdCBpbnZva2VzIHRoZSBnaXZlbiBmdW5jdGlvbi5cbiAgICpcbiAgICogV2hlbiB0aGUgaW1wb3J0cyB0cmFuc2Zvcm0gaXMgZW5hYmxlZCwgdXNlIHRoZSBDSlNJbXBvcnRUcmFuc2Zvcm1lclxuICAgKiBzdHJhdGVneSBvZiB1c2luZyBgLmNhbGwodm9pZCAwLCAuLi5gIHRvIGF2b2lkIHBhc3NpbmcgYSBgdGhpc2AgdmFsdWUgaW4gYVxuICAgKiBzaXR1YXRpb24gdGhhdCB3b3VsZCBvdGhlcndpc2UgbG9vayBsaWtlIGEgbWV0aG9kIGNhbGwuXG4gICAqL1xuICBjbGFpbUF1dG9JbXBvcnRlZEZ1bmNJbnZvY2F0aW9uKGZ1bmNOYW1lLCBpbXBvcnRQYXRoU3VmZml4KSB7XG4gICAgY29uc3QgZnVuY0NvZGUgPSB0aGlzLmNsYWltQXV0b0ltcG9ydGVkTmFtZShmdW5jTmFtZSwgaW1wb3J0UGF0aFN1ZmZpeCk7XG4gICAgaWYgKHRoaXMuaW1wb3J0UHJvY2Vzc29yKSB7XG4gICAgICByZXR1cm4gYCR7ZnVuY0NvZGV9LmNhbGwodm9pZCAwLCBgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCR7ZnVuY0NvZGV9KGA7XG4gICAgfVxuICB9XG5cbiAgY2xhaW1BdXRvSW1wb3J0ZWROYW1lKGZ1bmNOYW1lLCBpbXBvcnRQYXRoU3VmZml4KSB7XG4gICAgaWYgKHRoaXMuaW1wb3J0UHJvY2Vzc29yKSB7XG4gICAgICAvLyBDSlMgbW9kZTogY2xhaW0gYSBuYW1lIGZvciB0aGUgbW9kdWxlIGFuZCBtYXJrIGl0IGZvciBpbXBvcnQuXG4gICAgICBjb25zdCBwYXRoID0gdGhpcy5qc3hJbXBvcnRTb3VyY2UgKyBpbXBvcnRQYXRoU3VmZml4O1xuICAgICAgaWYgKCF0aGlzLmNqc0F1dG9tYXRpY01vZHVsZU5hbWVSZXNvbHV0aW9uc1twYXRoXSkge1xuICAgICAgICB0aGlzLmNqc0F1dG9tYXRpY01vZHVsZU5hbWVSZXNvbHV0aW9uc1twYXRoXSA9XG4gICAgICAgICAgdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0RnJlZUlkZW50aWZpZXJGb3JQYXRoKHBhdGgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGAke3RoaXMuY2pzQXV0b21hdGljTW9kdWxlTmFtZVJlc29sdXRpb25zW3BhdGhdfS4ke2Z1bmNOYW1lfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVTTSBtb2RlOiBjbGFpbSBhIG5hbWUgZm9yIHRoaXMgZnVuY3Rpb24gYW5kIGFkZCBpdCB0byB0aGUgbmFtZXMgdGhhdFxuICAgICAgLy8gc2hvdWxkIGJlIGF1dG8taW1wb3J0ZWQgd2hlbiB0aGUgcHJlZml4IGlzIGdlbmVyYXRlZC5cbiAgICAgIGlmICghdGhpcy5lc21BdXRvbWF0aWNJbXBvcnROYW1lUmVzb2x1dGlvbnNbZnVuY05hbWVdKSB7XG4gICAgICAgIHRoaXMuZXNtQXV0b21hdGljSW1wb3J0TmFtZVJlc29sdXRpb25zW2Z1bmNOYW1lXSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcbiAgICAgICAgICBgXyR7ZnVuY05hbWV9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmVzbUF1dG9tYXRpY0ltcG9ydE5hbWVSZXNvbHV0aW9uc1tmdW5jTmFtZV07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgdGhlIGZpcnN0IHBhcnQgb2YgYSB0YWcsIGJlZm9yZSBhbnkgcHJvcHMuXG4gICAqL1xuICBwcm9jZXNzVGFnSW50cm8oKSB7XG4gICAgLy8gV2FsayBmb3J3YXJkIHVudGlsIHdlIHNlZSBvbmUgb2YgdGhlc2UgcGF0dGVybnM6XG4gICAgLy8ganN4TmFtZSB0byBzdGFydCB0aGUgZmlyc3QgcHJvcCwgcHJlY2VkZWQgYnkgYW5vdGhlciBqc3hOYW1lIHRvIGVuZCB0aGUgdGFnIG5hbWUuXG4gICAgLy8ganN4TmFtZSB0byBzdGFydCB0aGUgZmlyc3QgcHJvcCwgcHJlY2VkZWQgYnkgZ3JlYXRlclRoYW4gdG8gZW5kIHRoZSB0eXBlIGFyZ3VtZW50LlxuICAgIC8vIFtvcGVuIGJyYWNlXSB0byBzdGFydCB0aGUgZmlyc3QgcHJvcC5cbiAgICAvLyBbanN4VGFnRW5kXSB0byBlbmQgdGhlIG9wZW4tdGFnLlxuICAgIC8vIFtzbGFzaCwganN4VGFnRW5kXSB0byBlbmQgdGhlIHNlbGYtY2xvc2luZyB0YWcuXG4gICAgbGV0IGludHJvRW5kID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxO1xuICAgIHdoaWxlIChcbiAgICAgIHRoaXMudG9rZW5zLnRva2Vuc1tpbnRyb0VuZF0uaXNUeXBlIHx8XG4gICAgICAoIXRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbnRyb0VuZCAtIDEsIHR0LmpzeE5hbWUsIHR0LmpzeE5hbWUpICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW50cm9FbmQgLSAxLCB0dC5ncmVhdGVyVGhhbiwgdHQuanN4TmFtZSkgJiZcbiAgICAgICAgIXRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbnRyb0VuZCwgdHQuYnJhY2VMKSAmJlxuICAgICAgICAhdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGludHJvRW5kLCB0dC5qc3hUYWdFbmQpICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW50cm9FbmQsIHR0LnNsYXNoLCB0dC5qc3hUYWdFbmQpKVxuICAgICkge1xuICAgICAgaW50cm9FbmQrKztcbiAgICB9XG4gICAgaWYgKGludHJvRW5kID09PSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEpIHtcbiAgICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZSgpO1xuICAgICAgaWYgKHN0YXJ0c1dpdGhMb3dlckNhc2UodGFnTmFtZSkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAnJHt0YWdOYW1lfSdgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgaW50cm9FbmQpIHtcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydGluZyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwcm9wcywgYWRkIHRoZSBwcm9wcyBhcmd1bWVudCB0b1xuICAgKiBSZWFjdC5jcmVhdGVFbGVtZW50LCBpbmNsdWRpbmcgdGhlIGNvbW1hIGJlZm9yZSBpdC5cbiAgICovXG4gIHByb2Nlc3NQcm9wc09iamVjdFdpdGhEZXZJbmZvKGVsZW1lbnRMb2NhdGlvbkNvZGUpIHtcbiAgICBjb25zdCBkZXZQcm9wcyA9IHRoaXMub3B0aW9ucy5wcm9kdWN0aW9uXG4gICAgICA/IFwiXCJcbiAgICAgIDogYF9fc2VsZjogdGhpcywgX19zb3VyY2U6ICR7dGhpcy5nZXREZXZTb3VyY2UoZWxlbWVudExvY2F0aW9uQ29kZSl9YDtcbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeE5hbWUpICYmICF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZUwpKSB7XG4gICAgICBpZiAoZGV2UHJvcHMpIHtcbiAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgLCB7JHtkZXZQcm9wc319YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAsIG51bGxgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgLCB7YCk7XG4gICAgdGhpcy5wcm9jZXNzUHJvcHMoZmFsc2UpO1xuICAgIGlmIChkZXZQcm9wcykge1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgICR7ZGV2UHJvcHN9fWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwifVwiKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoZSBjb3JlIHBhcnQgb2YgdGhlIHByb3BzLCBhc3N1bWluZyB0aGF0IGEgeyBoYXMgYWxyZWFkeSBiZWVuXG4gICAqIGluc2VydGVkIGJlZm9yZSB1cyBhbmQgdGhhdCBhIH0gd2lsbCBiZSBpbnNlcnRlZCBhZnRlciB1cy5cbiAgICpcbiAgICogSWYgZXh0cmFjdEtleUNvZGUgaXMgdHJ1ZSAoaS5lLiB3aGVuIHVzaW5nIGFueSBqc3guLi4gZnVuY3Rpb24pLCBhbnkgcHJvcFxuICAgKiBuYW1lZCBcImtleVwiIGhhcyBpdHMgY29kZSBjYXB0dXJlZCBhbmQgcmV0dXJuZWQgcmF0aGVyIHRoYW4gYmVpbmcgZW1pdHRlZCB0b1xuICAgKiB0aGUgb3V0cHV0IGNvZGUuIFRoaXMgc2hpZnRzIGxpbmUgbnVtYmVycywgYW5kIGVtaXR0aW5nIHRoZSBjb2RlIGxhdGVyIHdpbGxcbiAgICogY29ycmVjdCBsaW5lIG51bWJlcnMgYWdhaW4uIElmIG5vIGtleSBpcyBmb3VuZCBvciBpZiBleHRyYWN0S2V5Q29kZSBpc1xuICAgKiBmYWxzZSwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIG51bGwuXG4gICAqL1xuICBwcm9jZXNzUHJvcHMoZXh0cmFjdEtleUNvZGUpIHtcbiAgICBsZXQga2V5Q29kZSA9IG51bGw7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5qc3hOYW1lLCB0dC5lcSkpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHJlZ3VsYXIga2V5PXt2YWx1ZX0gb3Iga2V5PVwidmFsdWVcIiBwcm9wLlxuICAgICAgICBjb25zdCBwcm9wTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgICAgIGlmIChleHRyYWN0S2V5Q29kZSAmJiBwcm9wTmFtZSA9PT0gXCJrZXlcIikge1xuICAgICAgICAgIGlmIChrZXlDb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgcHJvcHMgbGlzdCBoYXMgbXVsdGlwbGUga2V5cy4gRGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBhcmVcbiAgICAgICAgICAgIC8vIGluY29uc2lzdGVudCBhYm91dCB3aGF0IHRvIGRvIGhlcmU6IGFzIG9mIHRoaXMgd3JpdGluZywgQmFiZWwgYW5kXG4gICAgICAgICAgICAvLyBzd2Mga2VlcCB0aGUgKmxhc3QqIGtleSBhbmQgY29tcGxldGVseSByZW1vdmUgdGhlIHJlc3QsIHdoaWxlXG4gICAgICAgICAgICAvLyBUeXBlU2NyaXB0IHVzZXMgdGhlICpmaXJzdCoga2V5IGFuZCBsZWF2ZXMgdGhlIG90aGVycyBhcyByZWd1bGFyXG4gICAgICAgICAgICAvLyBwcm9wcy4gVGhlIFJlYWN0IHRlYW0gY29sbGFib3JhdGVkIHdpdGggQmFiZWwgb24gdGhlXG4gICAgICAgICAgICAvLyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGJlaGF2aW9yLCBzbyBwcmVzdW1hYmx5IHRoZSBCYWJlbCBiZWhhdmlvclxuICAgICAgICAgICAgLy8gaXMgdGhlIG9uZSB0byB1c2UuXG4gICAgICAgICAgICAvLyBTaW5jZSB3ZSB3b24ndCBldmVyIGJlIGVtaXR0aW5nIHRoZSBwcmV2aW91cyBrZXkgY29kZSwgd2UgbmVlZCB0b1xuICAgICAgICAgICAgLy8gYXQgbGVhc3QgZW1pdCBpdHMgbmV3bGluZXMgaGVyZSBzbyB0aGF0IHRoZSBsaW5lIG51bWJlcnMgbWF0Y2ggdXBcbiAgICAgICAgICAgIC8vIGluIHRoZSBsb25nIHJ1bi5cbiAgICAgICAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoa2V5Q29kZS5yZXBsYWNlKC9bXlxcbl0vZywgXCJcIikpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBrZXlcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAgIC8vID1cbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy50b2tlbnMuc25hcHNob3QoKTtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NQcm9wVmFsdWUoKTtcbiAgICAgICAgICBrZXlDb2RlID0gdGhpcy50b2tlbnMuZGFuZ2Vyb3VzbHlHZXRBbmRSZW1vdmVDb2RlU2luY2VTbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgICAgICAgLy8gRG9uJ3QgYWRkIGEgY29tbWFcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NQcm9wTmFtZShwcm9wTmFtZSk7XG4gICAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiOiBcIik7XG4gICAgICAgICAgdGhpcy5wcm9jZXNzUHJvcFZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4TmFtZSkpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNob3J0aGFuZCBwcm9wIGxpa2UgPGlucHV0IGRpc2FibGVkIC8+LlxuICAgICAgICBjb25zdCBwcm9wTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1Byb3BOYW1lKHByb3BOYW1lKTtcbiAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIjogdHJ1ZVwiKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKSkge1xuICAgICAgICAvLyBUaGlzIGlzIHByb3Agc3ByZWFkLCBsaWtlIDxkaXYgey4uLmdldFByb3BzKCl9Piwgd2hpY2ggd2UgY2FuIHBhc3NcbiAgICAgICAgLy8gdGhyb3VnaCBmYWlybHkgZGlyZWN0bHkgYXMgYW4gb2JqZWN0IHNwcmVhZC5cbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiXCIpO1xuICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIixcIik7XG4gICAgfVxuICAgIHJldHVybiBrZXlDb2RlO1xuICB9XG5cbiAgcHJvY2Vzc1Byb3BOYW1lKHByb3BOYW1lKSB7XG4gICAgaWYgKHByb3BOYW1lLmluY2x1ZGVzKFwiLVwiKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAnJHtwcm9wTmFtZX0nYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gIHByb2Nlc3NQcm9wVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlTCkpIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeFRhZ1N0YXJ0KSkge1xuICAgICAgdGhpcy5wcm9jZXNzSlNYVGFnKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc1N0cmluZ1Byb3BWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb2Nlc3NTdHJpbmdQcm9wVmFsdWUoKSB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICBjb25zdCB2YWx1ZUNvZGUgPSB0aGlzLnRva2Vucy5jb2RlLnNsaWNlKHRva2VuLnN0YXJ0ICsgMSwgdG9rZW4uZW5kIC0gMSk7XG4gICAgY29uc3QgcmVwbGFjZW1lbnRDb2RlID0gZm9ybWF0SlNYVGV4dFJlcGxhY2VtZW50KHZhbHVlQ29kZSk7XG4gICAgY29uc3QgbGl0ZXJhbENvZGUgPSBmb3JtYXRKU1hTdHJpbmdWYWx1ZUxpdGVyYWwodmFsdWVDb2RlKTtcbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4obGl0ZXJhbENvZGUgKyByZXBsYWNlbWVudENvZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0aW5nIGluIHRoZSBtaWRkbGUgb2YgdGhlIHByb3BzIG9iamVjdCBsaXRlcmFsLCBwcm9kdWNlIGFuIGFkZGl0aW9uYWxcbiAgICogcHJvcCBmb3IgdGhlIGNoaWxkcmVuIGFuZCBjbG9zZSB0aGUgb2JqZWN0IGxpdGVyYWwuXG4gICAqL1xuICBwcm9jZXNzQXV0b21hdGljQ2hpbGRyZW5BbmRFbmRQcm9wcyhqc3hSb2xlKSB7XG4gICAgaWYgKGpzeFJvbGUgPT09IEpTWFJvbGUuU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIgY2hpbGRyZW46IFtcIik7XG4gICAgICB0aGlzLnByb2Nlc3NDaGlsZHJlbihmYWxzZSk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwiXX1cIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBwYXJzZXIgaW5mb3JtYXRpb24gdGVsbHMgdXMgd2hldGhlciB3ZSB3aWxsIHNlZSBhIHJlYWwgY2hpbGQgb3IgaWZcbiAgICAgIC8vIGFsbCByZW1haW5pbmcgY2hpbGRyZW4gKGlmIGFueSkgd2lsbCByZXNvbHZlIHRvIGVtcHR5LiBJZiB0aGVyZSBhcmUgbm9cbiAgICAgIC8vIG5vbi1lbXB0eSBjaGlsZHJlbiwgZG9uJ3QgZW1pdCBhIGNoaWxkcmVuIHByb3AgYXQgYWxsLCBidXQgc3RpbGxcbiAgICAgIC8vIHByb2Nlc3MgY2hpbGRyZW4gc28gdGhhdCB3ZSBwcm9wZXJseSB0cmFuc2Zvcm0gdGhlIGNvZGUgaW50byBub3RoaW5nLlxuICAgICAgaWYgKGpzeFJvbGUgPT09IEpTWFJvbGUuT25lQ2hpbGQpIHtcbiAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIiBjaGlsZHJlbjogXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy5wcm9jZXNzQ2hpbGRyZW4oZmFsc2UpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIn1cIik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBjaGlsZHJlbiBpbnRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdoaWNoIHdpbGwgYmUgZWl0aGVyXG4gICAqIGFyZ3VtZW50cyB0byBjcmVhdGVFbGVtZW50IG9yIGFycmF5IGVsZW1lbnRzIG9mIGEgY2hpbGRyZW4gcHJvcC5cbiAgICovXG4gIHByb2Nlc3NDaGlsZHJlbihuZWVkc0luaXRpYWxDb21tYSkge1xuICAgIGxldCBuZWVkc0NvbW1hID0gbmVlZHNJbml0aWFsQ29tbWE7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5qc3hUYWdTdGFydCwgdHQuc2xhc2gpKSB7XG4gICAgICAgIC8vIENsb3NpbmcgdGFnLCBzbyBubyBtb3JlIGNoaWxkcmVuLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsZXQgZGlkRW1pdEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZUwpKSB7XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5icmFjZUwsIHR0LmJyYWNlUikpIHtcbiAgICAgICAgICAvLyBFbXB0eSBpbnRlcnBvbGF0aW9ucyBhbmQgY29tbWVudC1vbmx5IGludGVycG9sYXRpb25zIGFyZSBhbGxvd2VkXG4gICAgICAgICAgLy8gYW5kIGRvbid0IGNyZWF0ZSBhbiBleHRyYSBjaGlsZCBhcmcuXG4gICAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiXCIpO1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJbnRlcnBvbGF0ZWQgZXhwcmVzc2lvbi5cbiAgICAgICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4obmVlZHNDb21tYSA/IFwiLCBcIiA6IFwiXCIpO1xuICAgICAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCJcIik7XG4gICAgICAgICAgZGlkRW1pdEVsZW1lbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeFRhZ1N0YXJ0KSkge1xuICAgICAgICAvLyBDaGlsZCBKU1ggZWxlbWVudFxuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKG5lZWRzQ29tbWEgPyBcIiwgXCIgOiBcIlwiKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzSlNYVGFnKCk7XG4gICAgICAgIGRpZEVtaXRFbGVtZW50ID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4VGV4dCkgfHwgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4RW1wdHlUZXh0KSkge1xuICAgICAgICBkaWRFbWl0RWxlbWVudCA9IHRoaXMucHJvY2Vzc0NoaWxkVGV4dEVsZW1lbnQobmVlZHNDb21tYSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIHRva2VuIHdoZW4gcHJvY2Vzc2luZyBKU1ggY2hpbGRyZW4uXCIpO1xuICAgICAgfVxuICAgICAgaWYgKGRpZEVtaXRFbGVtZW50KSB7XG4gICAgICAgIG5lZWRzQ29tbWEgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUdXJuIGEgSlNYIHRleHQgZWxlbWVudCBpbnRvIGEgc3RyaW5nIGxpdGVyYWwsIG9yIG5vdGhpbmcgYXQgYWxsIGlmIHRoZSBKU1hcbiAgICogdGV4dCByZXNvbHZlcyB0byB0aGUgZW1wdHkgc3RyaW5nLlxuICAgKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYSBzdHJpbmcgbGl0ZXJhbCBpcyBlbWl0dGVkLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqL1xuICBwcm9jZXNzQ2hpbGRUZXh0RWxlbWVudChuZWVkc0NvbW1hKSB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICBjb25zdCB2YWx1ZUNvZGUgPSB0aGlzLnRva2Vucy5jb2RlLnNsaWNlKHRva2VuLnN0YXJ0LCB0b2tlbi5lbmQpO1xuICAgIGNvbnN0IHJlcGxhY2VtZW50Q29kZSA9IGZvcm1hdEpTWFRleHRSZXBsYWNlbWVudCh2YWx1ZUNvZGUpO1xuICAgIGNvbnN0IGxpdGVyYWxDb2RlID0gZm9ybWF0SlNYVGV4dExpdGVyYWwodmFsdWVDb2RlKTtcbiAgICBpZiAobGl0ZXJhbENvZGUgPT09ICdcIlwiJykge1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKHJlcGxhY2VtZW50Q29kZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgJHtuZWVkc0NvbW1hID8gXCIsIFwiIDogXCJcIn0ke2xpdGVyYWxDb2RlfSR7cmVwbGFjZW1lbnRDb2RlfWApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGV2U291cmNlKGVsZW1lbnRMb2NhdGlvbkNvZGUpIHtcbiAgICByZXR1cm4gYHtmaWxlTmFtZTogJHt0aGlzLmdldEZpbGVuYW1lVmFyTmFtZSgpfSwgJHtlbGVtZW50TG9jYXRpb25Db2RlfX1gO1xuICB9XG5cbiAgZ2V0RmlsZW5hbWVWYXJOYW1lKCkge1xuICAgIGlmICghdGhpcy5maWxlbmFtZVZhck5hbWUpIHtcbiAgICAgIHRoaXMuZmlsZW5hbWVWYXJOYW1lID0gdGhpcy5uYW1lTWFuYWdlci5jbGFpbUZyZWVOYW1lKFwiX2pzeEZpbGVOYW1lXCIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5maWxlbmFtZVZhck5hbWU7XG4gIH1cbn1cblxuLyoqXG4gKiBTcGVjIGZvciBpZGVudGlmaWVyczogaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNwcm9kLUlkZW50aWZpZXJTdGFydC5cbiAqXG4gKiBSZWFsbHkgb25seSB0cmVhdCBhbnl0aGluZyBzdGFydGluZyB3aXRoIGEteiBhcyB0YWcgbmFtZXMuICBgX2AsIGAkYCwgYFx1MDBFOWBcbiAqIHNob3VsZCBiZSB0cmVhdGVkIGFzIGNvbXBvbmVudCBuYW1lc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRzV2l0aExvd2VyQ2FzZShzKSB7XG4gIGNvbnN0IGZpcnN0Q2hhciA9IHMuY2hhckNvZGVBdCgwKTtcbiAgcmV0dXJuIGZpcnN0Q2hhciA+PSBjaGFyQ29kZXMubG93ZXJjYXNlQSAmJiBmaXJzdENoYXIgPD0gY2hhckNvZGVzLmxvd2VyY2FzZVo7XG59XG5cbi8qKlxuICogVHVybiB0aGUgZ2l2ZW4ganN4VGV4dCBzdHJpbmcgaW50byBhIEpTIHN0cmluZyBsaXRlcmFsLiBMZWFkaW5nIGFuZCB0cmFpbGluZ1xuICogd2hpdGVzcGFjZSBvbiBsaW5lcyBpcyByZW1vdmVkLCBleGNlcHQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIG9wZW4tdGFnIGFuZFxuICogYmVmb3JlIHRoZSBjbG9zZS10YWcuIEVtcHR5IGxpbmVzIGFyZSBjb21wbGV0ZWx5IHJlbW92ZWQsIGFuZCBzcGFjZXMgYXJlXG4gKiBhZGRlZCBiZXR3ZWVuIGxpbmVzIGFmdGVyIHRoYXQuXG4gKlxuICogV2UgdXNlIEpTT04uc3RyaW5naWZ5IHRvIGludHJvZHVjZSBlc2NhcGUgY2hhcmFjdGVycyBhcyBuZWNlc3NhcnksIGFuZCB0cmltXG4gKiB0aGUgc3RhcnQgYW5kIGVuZCBvZiBlYWNoIGxpbmUgYW5kIHJlbW92ZSBibGFuayBsaW5lcy5cbiAqL1xuZnVuY3Rpb24gZm9ybWF0SlNYVGV4dExpdGVyYWwodGV4dCkge1xuICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgbGV0IHdoaXRlc3BhY2UgPSBcIlwiO1xuXG4gIGxldCBpc0luSW5pdGlhbExpbmVXaGl0ZXNwYWNlID0gZmFsc2U7XG4gIGxldCBzZWVuTm9uV2hpdGVzcGFjZSA9IGZhbHNlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjID0gdGV4dFtpXTtcbiAgICBpZiAoYyA9PT0gXCIgXCIgfHwgYyA9PT0gXCJcXHRcIiB8fCBjID09PSBcIlxcclwiKSB7XG4gICAgICBpZiAoIWlzSW5Jbml0aWFsTGluZVdoaXRlc3BhY2UpIHtcbiAgICAgICAgd2hpdGVzcGFjZSArPSBjO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYyA9PT0gXCJcXG5cIikge1xuICAgICAgd2hpdGVzcGFjZSA9IFwiXCI7XG4gICAgICBpc0luSW5pdGlhbExpbmVXaGl0ZXNwYWNlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHNlZW5Ob25XaGl0ZXNwYWNlICYmIGlzSW5Jbml0aWFsTGluZVdoaXRlc3BhY2UpIHtcbiAgICAgICAgcmVzdWx0ICs9IFwiIFwiO1xuICAgICAgfVxuICAgICAgcmVzdWx0ICs9IHdoaXRlc3BhY2U7XG4gICAgICB3aGl0ZXNwYWNlID0gXCJcIjtcbiAgICAgIGlmIChjID09PSBcIiZcIikge1xuICAgICAgICBjb25zdCB7ZW50aXR5LCBuZXdJfSA9IHByb2Nlc3NFbnRpdHkodGV4dCwgaSArIDEpO1xuICAgICAgICBpID0gbmV3SSAtIDE7XG4gICAgICAgIHJlc3VsdCArPSBlbnRpdHk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgKz0gYztcbiAgICAgIH1cbiAgICAgIHNlZW5Ob25XaGl0ZXNwYWNlID0gdHJ1ZTtcbiAgICAgIGlzSW5Jbml0aWFsTGluZVdoaXRlc3BhY2UgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgaWYgKCFpc0luSW5pdGlhbExpbmVXaGl0ZXNwYWNlKSB7XG4gICAgcmVzdWx0ICs9IHdoaXRlc3BhY2U7XG4gIH1cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XG59XG5cbi8qKlxuICogUHJvZHVjZSB0aGUgY29kZSB0aGF0IHNob3VsZCBiZSBwcmludGVkIGFmdGVyIHRoZSBKU1ggdGV4dCBzdHJpbmcgbGl0ZXJhbCxcbiAqIHdpdGggbW9zdCBjb250ZW50IHJlbW92ZWQsIGJ1dCBhbGwgbmV3bGluZXMgcHJlc2VydmVkIGFuZCBhbGwgc3BhY2luZyBhdCB0aGVcbiAqIGVuZCBwcmVzZXJ2ZWQuXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdEpTWFRleHRSZXBsYWNlbWVudCh0ZXh0KSB7XG4gIGxldCBudW1OZXdsaW5lcyA9IDA7XG4gIGxldCBudW1TcGFjZXMgPSAwO1xuICBmb3IgKGNvbnN0IGMgb2YgdGV4dCkge1xuICAgIGlmIChjID09PSBcIlxcblwiKSB7XG4gICAgICBudW1OZXdsaW5lcysrO1xuICAgICAgbnVtU3BhY2VzID0gMDtcbiAgICB9IGVsc2UgaWYgKGMgPT09IFwiIFwiKSB7XG4gICAgICBudW1TcGFjZXMrKztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFwiXFxuXCIucmVwZWF0KG51bU5ld2xpbmVzKSArIFwiIFwiLnJlcGVhdChudW1TcGFjZXMpO1xufVxuXG4vKipcbiAqIEZvcm1hdCBhIHN0cmluZyBpbiB0aGUgdmFsdWUgcG9zaXRpb24gb2YgYSBKU1ggcHJvcC5cbiAqXG4gKiBVc2UgdGhlIHNhbWUgaW1wbGVtZW50YXRpb24gYXMgY29udmVydEF0dHJpYnV0ZSBmcm9tXG4gKiBiYWJlbC1oZWxwZXItYnVpbGRlci1yZWFjdC1qc3guXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdEpTWFN0cmluZ1ZhbHVlTGl0ZXJhbCh0ZXh0KSB7XG4gIGxldCByZXN1bHQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjID0gdGV4dFtpXTtcbiAgICBpZiAoYyA9PT0gXCJcXG5cIikge1xuICAgICAgaWYgKC9cXHMvLnRlc3QodGV4dFtpICsgMV0pKSB7XG4gICAgICAgIHJlc3VsdCArPSBcIiBcIjtcbiAgICAgICAgd2hpbGUgKGkgPCB0ZXh0Lmxlbmd0aCAmJiAvXFxzLy50ZXN0KHRleHRbaSArIDFdKSkge1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ICs9IFwiXFxuXCI7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjID09PSBcIiZcIikge1xuICAgICAgY29uc3Qge2VudGl0eSwgbmV3SX0gPSBwcm9jZXNzRW50aXR5KHRleHQsIGkgKyAxKTtcbiAgICAgIHJlc3VsdCArPSBlbnRpdHk7XG4gICAgICBpID0gbmV3SSAtIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCArPSBjO1xuICAgIH1cbiAgfVxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcbn1cblxuLyoqXG4gKiBTdGFydGluZyBhdCBhICYsIHNlZSBpZiB0aGVyZSdzIGFuIEhUTUwgZW50aXR5IChzcGVjaWZpZWQgYnkgbmFtZSwgZGVjaW1hbFxuICogY2hhciBjb2RlLCBvciBoZXggY2hhciBjb2RlKSBhbmQgcmV0dXJuIGl0IGlmIHNvLlxuICpcbiAqIE1vZGlmaWVkIGZyb20ganN4UmVhZFN0cmluZyBpbiBiYWJlbC1wYXJzZXIuXG4gKi9cbmZ1bmN0aW9uIHByb2Nlc3NFbnRpdHkodGV4dCwgaW5kZXhBZnRlckFtcGVyc2FuZCkge1xuICBsZXQgc3RyID0gXCJcIjtcbiAgbGV0IGNvdW50ID0gMDtcbiAgbGV0IGVudGl0eTtcbiAgbGV0IGkgPSBpbmRleEFmdGVyQW1wZXJzYW5kO1xuXG4gIGlmICh0ZXh0W2ldID09PSBcIiNcIikge1xuICAgIGxldCByYWRpeCA9IDEwO1xuICAgIGkrKztcbiAgICBsZXQgbnVtU3RhcnQ7XG4gICAgaWYgKHRleHRbaV0gPT09IFwieFwiKSB7XG4gICAgICByYWRpeCA9IDE2O1xuICAgICAgaSsrO1xuICAgICAgbnVtU3RhcnQgPSBpO1xuICAgICAgd2hpbGUgKGkgPCB0ZXh0Lmxlbmd0aCAmJiBpc0hleERpZ2l0KHRleHQuY2hhckNvZGVBdChpKSkpIHtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBudW1TdGFydCA9IGk7XG4gICAgICB3aGlsZSAoaSA8IHRleHQubGVuZ3RoICYmIGlzRGVjaW1hbERpZ2l0KHRleHQuY2hhckNvZGVBdChpKSkpIHtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGV4dFtpXSA9PT0gXCI7XCIpIHtcbiAgICAgIGNvbnN0IG51bVN0ciA9IHRleHQuc2xpY2UobnVtU3RhcnQsIGkpO1xuICAgICAgaWYgKG51bVN0cikge1xuICAgICAgICBpKys7XG4gICAgICAgIGVudGl0eSA9IFN0cmluZy5mcm9tQ29kZVBvaW50KHBhcnNlSW50KG51bVN0ciwgcmFkaXgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKGkgPCB0ZXh0Lmxlbmd0aCAmJiBjb3VudCsrIDwgMTApIHtcbiAgICAgIGNvbnN0IGNoID0gdGV4dFtpXTtcbiAgICAgIGkrKztcbiAgICAgIGlmIChjaCA9PT0gXCI7XCIpIHtcbiAgICAgICAgZW50aXR5ID0gWEhUTUxFbnRpdGllcy5nZXQoc3RyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBzdHIgKz0gY2g7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFlbnRpdHkpIHtcbiAgICByZXR1cm4ge2VudGl0eTogXCImXCIsIG5ld0k6IGluZGV4QWZ0ZXJBbXBlcnNhbmR9O1xuICB9XG4gIHJldHVybiB7ZW50aXR5LCBuZXdJOiBpfTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsRGlnaXQoY29kZSkge1xuICByZXR1cm4gY29kZSA+PSBjaGFyQ29kZXMuZGlnaXQwICYmIGNvZGUgPD0gY2hhckNvZGVzLmRpZ2l0OTtcbn1cblxuZnVuY3Rpb24gaXNIZXhEaWdpdChjb2RlKSB7XG4gIHJldHVybiAoXG4gICAgKGNvZGUgPj0gY2hhckNvZGVzLmRpZ2l0MCAmJiBjb2RlIDw9IGNoYXJDb2Rlcy5kaWdpdDkpIHx8XG4gICAgKGNvZGUgPj0gY2hhckNvZGVzLmxvd2VyY2FzZUEgJiYgY29kZSA8PSBjaGFyQ29kZXMubG93ZXJjYXNlRikgfHxcbiAgICAoY29kZSA+PSBjaGFyQ29kZXMudXBwZXJjYXNlQSAmJiBjb2RlIDw9IGNoYXJDb2Rlcy51cHBlcmNhc2VGKVxuICApO1xufVxuIiwgIlxuaW1wb3J0IHtJZGVudGlmaWVyUm9sZX0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXJcIjtcbmltcG9ydCB7VG9rZW5UeXBlLCBUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5cbmltcG9ydCB7c3RhcnRzV2l0aExvd2VyQ2FzZX0gZnJvbSBcIi4uL3RyYW5zZm9ybWVycy9KU1hUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IGdldEpTWFByYWdtYUluZm8gZnJvbSBcIi4vZ2V0SlNYUHJhZ21hSW5mb1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9uVHlwZUlkZW50aWZpZXJzKHRva2Vucywgb3B0aW9ucykge1xuICBjb25zdCBqc3hQcmFnbWFJbmZvID0gZ2V0SlNYUHJhZ21hSW5mbyhvcHRpb25zKTtcbiAgY29uc3Qgbm9uVHlwZUlkZW50aWZpZXJzID0gbmV3IFNldCgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy50b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB0b2tlbiA9IHRva2Vucy50b2tlbnNbaV07XG4gICAgaWYgKFxuICAgICAgdG9rZW4udHlwZSA9PT0gdHQubmFtZSAmJlxuICAgICAgIXRva2VuLmlzVHlwZSAmJlxuICAgICAgKHRva2VuLmlkZW50aWZpZXJSb2xlID09PSBJZGVudGlmaWVyUm9sZS5BY2Nlc3MgfHxcbiAgICAgICAgdG9rZW4uaWRlbnRpZmllclJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZCB8fFxuICAgICAgICB0b2tlbi5pZGVudGlmaWVyUm9sZSA9PT0gSWRlbnRpZmllclJvbGUuRXhwb3J0QWNjZXNzKSAmJlxuICAgICAgIXRva2VuLnNoYWRvd3NHbG9iYWxcbiAgICApIHtcbiAgICAgIG5vblR5cGVJZGVudGlmaWVycy5hZGQodG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odG9rZW4pKTtcbiAgICB9XG4gICAgaWYgKHRva2VuLnR5cGUgPT09IHR0LmpzeFRhZ1N0YXJ0KSB7XG4gICAgICBub25UeXBlSWRlbnRpZmllcnMuYWRkKGpzeFByYWdtYUluZm8uYmFzZSk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRva2VuLnR5cGUgPT09IHR0LmpzeFRhZ1N0YXJ0ICYmXG4gICAgICBpICsgMSA8IHRva2Vucy50b2tlbnMubGVuZ3RoICYmXG4gICAgICB0b2tlbnMudG9rZW5zW2kgKyAxXS50eXBlID09PSB0dC5qc3hUYWdFbmRcbiAgICApIHtcbiAgICAgIG5vblR5cGVJZGVudGlmaWVycy5hZGQoanN4UHJhZ21hSW5mby5iYXNlKTtcbiAgICAgIG5vblR5cGVJZGVudGlmaWVycy5hZGQoanN4UHJhZ21hSW5mby5mcmFnbWVudEJhc2UpO1xuICAgIH1cbiAgICBpZiAodG9rZW4udHlwZSA9PT0gdHQuanN4TmFtZSAmJiB0b2tlbi5pZGVudGlmaWVyUm9sZSA9PT0gSWRlbnRpZmllclJvbGUuQWNjZXNzKSB7XG4gICAgICBjb25zdCBpZGVudGlmaWVyTmFtZSA9IHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKTtcbiAgICAgIC8vIExvd2VyLWNhc2Ugc2luZ2xlLWNvbXBvbmVudCB0YWcgbmFtZXMgbGlrZSBcImRpdlwiIGRvbid0IGNvdW50LlxuICAgICAgaWYgKCFzdGFydHNXaXRoTG93ZXJDYXNlKGlkZW50aWZpZXJOYW1lKSB8fCB0b2tlbnMudG9rZW5zW2kgKyAxXS50eXBlID09PSBUb2tlblR5cGUuZG90KSB7XG4gICAgICAgIG5vblR5cGVJZGVudGlmaWVycy5hZGQodG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odG9rZW4pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vblR5cGVJZGVudGlmaWVycztcbn1cbiIsICJcblxuXG5pbXBvcnQge2lzRGVjbGFyYXRpb259IGZyb20gXCIuL3BhcnNlci90b2tlbml6ZXJcIjtcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuL3BhcnNlci90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5cbmltcG9ydCBnZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvIGZyb20gXCIuL3V0aWwvZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mb1wiO1xuaW1wb3J0IHtnZXROb25UeXBlSWRlbnRpZmllcnN9IGZyb20gXCIuL3V0aWwvZ2V0Tm9uVHlwZUlkZW50aWZpZXJzXCI7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qKlxuICogQ2xhc3MgcmVzcG9uc2libGUgZm9yIHByZXByb2Nlc3NpbmcgYW5kIGJvb2trZWVwaW5nIGltcG9ydCBhbmQgZXhwb3J0IGRlY2xhcmF0aW9ucyB3aXRoaW4gdGhlXG4gKiBmaWxlLlxuICpcbiAqIFR5cGVTY3JpcHQgdXNlcyBhIHNpbXBsZXIgbWVjaGFuaXNtIHRoYXQgZG9lcyBub3QgdXNlIGZ1bmN0aW9ucyBsaWtlIGludGVyb3BSZXF1aXJlRGVmYXVsdCBhbmRcbiAqIGludGVyb3BSZXF1aXJlV2lsZGNhcmQsIHNvIHdlIGFsc28gYWxsb3cgdGhhdCBtb2RlIGZvciBjb21wYXRpYmlsaXR5LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDSlNJbXBvcnRQcm9jZXNzb3Ige1xuICAgX19pbml0KCkge3RoaXMubm9uVHlwZUlkZW50aWZpZXJzID0gbmV3IFNldCgpfVxuICAgX19pbml0MigpIHt0aGlzLmltcG9ydEluZm9CeVBhdGggPSBuZXcgTWFwKCl9XG4gICBfX2luaXQzKCkge3RoaXMuaW1wb3J0c1RvUmVwbGFjZSA9IG5ldyBNYXAoKX1cbiAgIF9faW5pdDQoKSB7dGhpcy5pZGVudGlmaWVyUmVwbGFjZW1lbnRzID0gbmV3IE1hcCgpfVxuICAgX19pbml0NSgpIHt0aGlzLmV4cG9ydEJpbmRpbmdzQnlMb2NhbE5hbWUgPSBuZXcgTWFwKCl9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgIG5hbWVNYW5hZ2VyLFxuICAgICB0b2tlbnMsXG4gICAgIGVuYWJsZUxlZ2FjeVR5cGVTY3JpcHRNb2R1bGVJbnRlcm9wLFxuICAgICBvcHRpb25zLFxuICAgICBpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkLFxuICAgICBrZWVwVW51c2VkSW1wb3J0cyxcbiAgICAgaGVscGVyTWFuYWdlcixcbiAgKSB7O3RoaXMubmFtZU1hbmFnZXIgPSBuYW1lTWFuYWdlcjt0aGlzLnRva2VucyA9IHRva2Vuczt0aGlzLmVuYWJsZUxlZ2FjeVR5cGVTY3JpcHRNb2R1bGVJbnRlcm9wID0gZW5hYmxlTGVnYWN5VHlwZVNjcmlwdE1vZHVsZUludGVyb3A7dGhpcy5vcHRpb25zID0gb3B0aW9uczt0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgPSBpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkO3RoaXMua2VlcFVudXNlZEltcG9ydHMgPSBrZWVwVW51c2VkSW1wb3J0czt0aGlzLmhlbHBlck1hbmFnZXIgPSBoZWxwZXJNYW5hZ2VyO0NKU0ltcG9ydFByb2Nlc3Nvci5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7Q0pTSW1wb3J0UHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7Q0pTSW1wb3J0UHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQzLmNhbGwodGhpcyk7Q0pTSW1wb3J0UHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQ0LmNhbGwodGhpcyk7Q0pTSW1wb3J0UHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQ1LmNhbGwodGhpcyk7fVxuXG4gIHByZXByb2Nlc3NUb2tlbnMoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRva2Vucy50b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGksIHR0Ll9pbXBvcnQpICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzM0F0SW5kZXgoaSwgdHQuX2ltcG9ydCwgdHQubmFtZSwgdHQuZXEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5wcmVwcm9jZXNzSW1wb3J0QXRJbmRleChpKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGksIHR0Ll9leHBvcnQpICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaSwgdHQuX2V4cG9ydCwgdHQuZXEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5wcmVwcm9jZXNzRXhwb3J0QXRJbmRleChpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5nZW5lcmF0ZUltcG9ydFJlcGxhY2VtZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluIFR5cGVTY3JpcHQsIGltcG9ydCBzdGF0ZW1lbnRzIHRoYXQgb25seSBpbXBvcnQgdHlwZXMgc2hvdWxkIGJlIHJlbW92ZWQuXG4gICAqIFRoaXMgaW5jbHVkZXMgYGltcG9ydCB7fSBmcm9tICdmb28nO2AsIGJ1dCBub3QgYGltcG9ydCAnZm9vJztgLlxuICAgKi9cbiAgcHJ1bmVUeXBlT25seUltcG9ydHMoKSB7XG4gICAgdGhpcy5ub25UeXBlSWRlbnRpZmllcnMgPSBnZXROb25UeXBlSWRlbnRpZmllcnModGhpcy50b2tlbnMsIHRoaXMub3B0aW9ucyk7XG4gICAgZm9yIChjb25zdCBbcGF0aCwgaW1wb3J0SW5mb10gb2YgdGhpcy5pbXBvcnRJbmZvQnlQYXRoLmVudHJpZXMoKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpbXBvcnRJbmZvLmhhc0JhcmVJbXBvcnQgfHxcbiAgICAgICAgaW1wb3J0SW5mby5oYXNTdGFyRXhwb3J0IHx8XG4gICAgICAgIGltcG9ydEluZm8uZXhwb3J0U3Rhck5hbWVzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgaW1wb3J0SW5mby5uYW1lZEV4cG9ydHMubGVuZ3RoID4gMFxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbmFtZXMgPSBbXG4gICAgICAgIC4uLmltcG9ydEluZm8uZGVmYXVsdE5hbWVzLFxuICAgICAgICAuLi5pbXBvcnRJbmZvLndpbGRjYXJkTmFtZXMsXG4gICAgICAgIC4uLmltcG9ydEluZm8ubmFtZWRJbXBvcnRzLm1hcCgoe2xvY2FsTmFtZX0pID0+IGxvY2FsTmFtZSksXG4gICAgICBdO1xuICAgICAgaWYgKG5hbWVzLmV2ZXJ5KChuYW1lKSA9PiB0aGlzLnNob3VsZEF1dG9tYXRpY2FsbHlFbGlkZUltcG9ydGVkTmFtZShuYW1lKSkpIHtcbiAgICAgICAgdGhpcy5pbXBvcnRzVG9SZXBsYWNlLnNldChwYXRoLCBcIlwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaG91bGRBdXRvbWF0aWNhbGx5RWxpZGVJbXBvcnRlZE5hbWUobmFtZSkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgJiZcbiAgICAgICF0aGlzLmtlZXBVbnVzZWRJbXBvcnRzICYmXG4gICAgICAhdGhpcy5ub25UeXBlSWRlbnRpZmllcnMuaGFzKG5hbWUpXG4gICAgKTtcbiAgfVxuXG4gICBnZW5lcmF0ZUltcG9ydFJlcGxhY2VtZW50cygpIHtcbiAgICBmb3IgKGNvbnN0IFtwYXRoLCBpbXBvcnRJbmZvXSBvZiB0aGlzLmltcG9ydEluZm9CeVBhdGguZW50cmllcygpKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGRlZmF1bHROYW1lcyxcbiAgICAgICAgd2lsZGNhcmROYW1lcyxcbiAgICAgICAgbmFtZWRJbXBvcnRzLFxuICAgICAgICBuYW1lZEV4cG9ydHMsXG4gICAgICAgIGV4cG9ydFN0YXJOYW1lcyxcbiAgICAgICAgaGFzU3RhckV4cG9ydCxcbiAgICAgIH0gPSBpbXBvcnRJbmZvO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRlZmF1bHROYW1lcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgd2lsZGNhcmROYW1lcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgbmFtZWRJbXBvcnRzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBuYW1lZEV4cG9ydHMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIGV4cG9ydFN0YXJOYW1lcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgIWhhc1N0YXJFeHBvcnRcbiAgICAgICkge1xuICAgICAgICAvLyBJbXBvcnQgaXMgbmV2ZXIgdXNlZCwgc28gZG9uJ3QgZXZlbiBhc3NpZ24gYSBuYW1lLlxuICAgICAgICB0aGlzLmltcG9ydHNUb1JlcGxhY2Uuc2V0KHBhdGgsIGByZXF1aXJlKCcke3BhdGh9Jyk7YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcmltYXJ5SW1wb3J0TmFtZSA9IHRoaXMuZ2V0RnJlZUlkZW50aWZpZXJGb3JQYXRoKHBhdGgpO1xuICAgICAgbGV0IHNlY29uZGFyeUltcG9ydE5hbWU7XG4gICAgICBpZiAodGhpcy5lbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcCkge1xuICAgICAgICBzZWNvbmRhcnlJbXBvcnROYW1lID0gcHJpbWFyeUltcG9ydE5hbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWNvbmRhcnlJbXBvcnROYW1lID1cbiAgICAgICAgICB3aWxkY2FyZE5hbWVzLmxlbmd0aCA+IDAgPyB3aWxkY2FyZE5hbWVzWzBdIDogdGhpcy5nZXRGcmVlSWRlbnRpZmllckZvclBhdGgocGF0aCk7XG4gICAgICB9XG4gICAgICBsZXQgcmVxdWlyZUNvZGUgPSBgdmFyICR7cHJpbWFyeUltcG9ydE5hbWV9ID0gcmVxdWlyZSgnJHtwYXRofScpO2A7XG4gICAgICBpZiAod2lsZGNhcmROYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAoY29uc3Qgd2lsZGNhcmROYW1lIG9mIHdpbGRjYXJkTmFtZXMpIHtcbiAgICAgICAgICBjb25zdCBtb2R1bGVFeHByID0gdGhpcy5lbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcFxuICAgICAgICAgICAgPyBwcmltYXJ5SW1wb3J0TmFtZVxuICAgICAgICAgICAgOiBgJHt0aGlzLmhlbHBlck1hbmFnZXIuZ2V0SGVscGVyTmFtZShcImludGVyb3BSZXF1aXJlV2lsZGNhcmRcIil9KCR7cHJpbWFyeUltcG9ydE5hbWV9KWA7XG4gICAgICAgICAgcmVxdWlyZUNvZGUgKz0gYCB2YXIgJHt3aWxkY2FyZE5hbWV9ID0gJHttb2R1bGVFeHByfTtgO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGV4cG9ydFN0YXJOYW1lcy5sZW5ndGggPiAwICYmIHNlY29uZGFyeUltcG9ydE5hbWUgIT09IHByaW1hcnlJbXBvcnROYW1lKSB7XG4gICAgICAgIHJlcXVpcmVDb2RlICs9IGAgdmFyICR7c2Vjb25kYXJ5SW1wb3J0TmFtZX0gPSAke3RoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFxuICAgICAgICAgIFwiaW50ZXJvcFJlcXVpcmVXaWxkY2FyZFwiLFxuICAgICAgICApfSgke3ByaW1hcnlJbXBvcnROYW1lfSk7YDtcbiAgICAgIH0gZWxzZSBpZiAoZGVmYXVsdE5hbWVzLmxlbmd0aCA+IDAgJiYgc2Vjb25kYXJ5SW1wb3J0TmFtZSAhPT0gcHJpbWFyeUltcG9ydE5hbWUpIHtcbiAgICAgICAgcmVxdWlyZUNvZGUgKz0gYCB2YXIgJHtzZWNvbmRhcnlJbXBvcnROYW1lfSA9ICR7dGhpcy5oZWxwZXJNYW5hZ2VyLmdldEhlbHBlck5hbWUoXG4gICAgICAgICAgXCJpbnRlcm9wUmVxdWlyZURlZmF1bHRcIixcbiAgICAgICAgKX0oJHtwcmltYXJ5SW1wb3J0TmFtZX0pO2A7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3Qge2ltcG9ydGVkTmFtZSwgbG9jYWxOYW1lfSBvZiBuYW1lZEV4cG9ydHMpIHtcbiAgICAgICAgcmVxdWlyZUNvZGUgKz0gYCAke3RoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFxuICAgICAgICAgIFwiY3JlYXRlTmFtZWRFeHBvcnRGcm9tXCIsXG4gICAgICAgICl9KCR7cHJpbWFyeUltcG9ydE5hbWV9LCAnJHtsb2NhbE5hbWV9JywgJyR7aW1wb3J0ZWROYW1lfScpO2A7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGV4cG9ydFN0YXJOYW1lIG9mIGV4cG9ydFN0YXJOYW1lcykge1xuICAgICAgICByZXF1aXJlQ29kZSArPSBgIGV4cG9ydHMuJHtleHBvcnRTdGFyTmFtZX0gPSAke3NlY29uZGFyeUltcG9ydE5hbWV9O2A7XG4gICAgICB9XG4gICAgICBpZiAoaGFzU3RhckV4cG9ydCkge1xuICAgICAgICByZXF1aXJlQ29kZSArPSBgICR7dGhpcy5oZWxwZXJNYW5hZ2VyLmdldEhlbHBlck5hbWUoXG4gICAgICAgICAgXCJjcmVhdGVTdGFyRXhwb3J0XCIsXG4gICAgICAgICl9KCR7cHJpbWFyeUltcG9ydE5hbWV9KTtgO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmltcG9ydHNUb1JlcGxhY2Uuc2V0KHBhdGgsIHJlcXVpcmVDb2RlKTtcblxuICAgICAgZm9yIChjb25zdCBkZWZhdWx0TmFtZSBvZiBkZWZhdWx0TmFtZXMpIHtcbiAgICAgICAgdGhpcy5pZGVudGlmaWVyUmVwbGFjZW1lbnRzLnNldChkZWZhdWx0TmFtZSwgYCR7c2Vjb25kYXJ5SW1wb3J0TmFtZX0uZGVmYXVsdGApO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCB7aW1wb3J0ZWROYW1lLCBsb2NhbE5hbWV9IG9mIG5hbWVkSW1wb3J0cykge1xuICAgICAgICB0aGlzLmlkZW50aWZpZXJSZXBsYWNlbWVudHMuc2V0KGxvY2FsTmFtZSwgYCR7cHJpbWFyeUltcG9ydE5hbWV9LiR7aW1wb3J0ZWROYW1lfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEZyZWVJZGVudGlmaWVyRm9yUGF0aChwYXRoKSB7XG4gICAgY29uc3QgY29tcG9uZW50cyA9IHBhdGguc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IGxhc3RDb21wb25lbnQgPSBjb21wb25lbnRzW2NvbXBvbmVudHMubGVuZ3RoIC0gMV07XG4gICAgY29uc3QgYmFzZU5hbWUgPSBsYXN0Q29tcG9uZW50LnJlcGxhY2UoL1xcVy9nLCBcIlwiKTtcbiAgICByZXR1cm4gdGhpcy5uYW1lTWFuYWdlci5jbGFpbUZyZWVOYW1lKGBfJHtiYXNlTmFtZX1gKTtcbiAgfVxuXG4gICBwcmVwcm9jZXNzSW1wb3J0QXRJbmRleChpbmRleCkge1xuICAgIGNvbnN0IGRlZmF1bHROYW1lcyA9IFtdO1xuICAgIGNvbnN0IHdpbGRjYXJkTmFtZXMgPSBbXTtcbiAgICBjb25zdCBuYW1lZEltcG9ydHMgPSBbXTtcblxuICAgIGluZGV4Kys7XG4gICAgaWYgKFxuICAgICAgKHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleChpbmRleCwgQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQuX3R5cGVvZikpICYmXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4ICsgMSwgdHQuY29tbWEpICYmXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWxBdEluZGV4KGluZGV4ICsgMSwgQ29udGV4dHVhbEtleXdvcmQuX2Zyb20pXG4gICAgKSB7XG4gICAgICAvLyBpbXBvcnQgdHlwZSBkZWNsYXJhdGlvbiwgc28gbm8gbmVlZCB0byBwcm9jZXNzIGFueXRoaW5nLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnBhcmVuTCkpIHtcbiAgICAgIC8vIER5bmFtaWMgaW1wb3J0LCBzbyBub3RoaW5nIHRvIGRvXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQubmFtZSkpIHtcbiAgICAgIGRlZmF1bHROYW1lcy5wdXNoKHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCkpO1xuICAgICAgaW5kZXgrKztcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LmNvbW1hKSkge1xuICAgICAgICBpbmRleCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnN0YXIpKSB7XG4gICAgICAvLyAqIGFzXG4gICAgICBpbmRleCArPSAyO1xuICAgICAgd2lsZGNhcmROYW1lcy5wdXNoKHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCkpO1xuICAgICAgaW5kZXgrKztcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4LCB0dC5icmFjZUwpKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldE5hbWVkSW1wb3J0cyhpbmRleCArIDEpO1xuICAgICAgaW5kZXggPSByZXN1bHQubmV3SW5kZXg7XG5cbiAgICAgIGZvciAoY29uc3QgbmFtZWRJbXBvcnQgb2YgcmVzdWx0Lm5hbWVkSW1wb3J0cykge1xuICAgICAgICAvLyBUcmVhdCB7ZGVmYXVsdCBhcyBYfSBhcyBhIGRlZmF1bHQgaW1wb3J0IHRvIGVuc3VyZSB1c2FnZSBvZiByZXF1aXJlIGludGVyb3AgaGVscGVyXG4gICAgICAgIGlmIChuYW1lZEltcG9ydC5pbXBvcnRlZE5hbWUgPT09IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgICAgZGVmYXVsdE5hbWVzLnB1c2gobmFtZWRJbXBvcnQubG9jYWxOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuYW1lZEltcG9ydHMucHVzaChuYW1lZEltcG9ydCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWxBdEluZGV4KGluZGV4LCBDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkpIHtcbiAgICAgIGluZGV4Kys7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnN0cmluZykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIHN0cmluZyB0b2tlbiBhdCB0aGUgZW5kIG9mIGltcG9ydCBzdGF0ZW1lbnQuXCIpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gdGhpcy50b2tlbnMuc3RyaW5nVmFsdWVBdEluZGV4KGluZGV4KTtcbiAgICBjb25zdCBpbXBvcnRJbmZvID0gdGhpcy5nZXRJbXBvcnRJbmZvKHBhdGgpO1xuICAgIGltcG9ydEluZm8uZGVmYXVsdE5hbWVzLnB1c2goLi4uZGVmYXVsdE5hbWVzKTtcbiAgICBpbXBvcnRJbmZvLndpbGRjYXJkTmFtZXMucHVzaCguLi53aWxkY2FyZE5hbWVzKTtcbiAgICBpbXBvcnRJbmZvLm5hbWVkSW1wb3J0cy5wdXNoKC4uLm5hbWVkSW1wb3J0cyk7XG4gICAgaWYgKGRlZmF1bHROYW1lcy5sZW5ndGggPT09IDAgJiYgd2lsZGNhcmROYW1lcy5sZW5ndGggPT09IDAgJiYgbmFtZWRJbXBvcnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW1wb3J0SW5mby5oYXNCYXJlSW1wb3J0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAgcHJlcHJvY2Vzc0V4cG9ydEF0SW5kZXgoaW5kZXgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0Ll92YXIpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0Ll9sZXQpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0Ll9jb25zdClcbiAgICApIHtcbiAgICAgIHRoaXMucHJlcHJvY2Vzc1ZhckV4cG9ydEF0SW5kZXgoaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0Ll9mdW5jdGlvbikgfHxcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbmRleCwgdHQuX2V4cG9ydCwgdHQuX2NsYXNzKVxuICAgICkge1xuICAgICAgY29uc3QgZXhwb3J0TmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCArIDIpO1xuICAgICAgdGhpcy5hZGRFeHBvcnRCaW5kaW5nKGV4cG9ydE5hbWUsIGV4cG9ydE5hbWUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczNBdEluZGV4KGluZGV4LCB0dC5fZXhwb3J0LCB0dC5uYW1lLCB0dC5fZnVuY3Rpb24pKSB7XG4gICAgICBjb25zdCBleHBvcnROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KGluZGV4ICsgMyk7XG4gICAgICB0aGlzLmFkZEV4cG9ydEJpbmRpbmcoZXhwb3J0TmFtZSwgZXhwb3J0TmFtZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0LmJyYWNlTCkpIHtcbiAgICAgIHRoaXMucHJlcHJvY2Vzc05hbWVkRXhwb3J0QXRJbmRleChpbmRleCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0LnN0YXIpKSB7XG4gICAgICB0aGlzLnByZXByb2Nlc3NFeHBvcnRTdGFyQXRJbmRleChpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgIHByZXByb2Nlc3NWYXJFeHBvcnRBdEluZGV4KGluZGV4KSB7XG4gICAgbGV0IGRlcHRoID0gMDtcbiAgICAvLyBIYW5kbGUgY2FzZXMgbGlrZSBgZXhwb3J0IGxldCB7eH0gPSB5O2AsIHN0YXJ0aW5nIGF0IHRoZSBvcGVuLWJyYWNlIGluIHRoYXQgY2FzZS5cbiAgICBmb3IgKGxldCBpID0gaW5kZXggKyAyOyA7IGkrKykge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaSwgdHQuYnJhY2VMKSB8fFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaSwgdHQuZG9sbGFyQnJhY2VMKSB8fFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaSwgdHQuYnJhY2tldEwpXG4gICAgICApIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpLCB0dC5icmFjZVIpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpLCB0dC5icmFja2V0UilcbiAgICAgICkge1xuICAgICAgICBkZXB0aC0tO1xuICAgICAgfSBlbHNlIGlmIChkZXB0aCA9PT0gMCAmJiAhdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGksIHR0Lm5hbWUpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoMSwgdHQuZXEpKSB7XG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkucmhzRW5kSW5kZXg7XG4gICAgICAgIGlmIChlbmRJbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgPSB0b2tlbiB3aXRoIGFuIGVuZCBpbmRleC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgaSA9IGVuZEluZGV4IC0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnMudG9rZW5zW2ldO1xuICAgICAgICBpZiAoaXNEZWNsYXJhdGlvbih0b2tlbikpIHtcbiAgICAgICAgICBjb25zdCBleHBvcnROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KGkpO1xuICAgICAgICAgIHRoaXMuaWRlbnRpZmllclJlcGxhY2VtZW50cy5zZXQoZXhwb3J0TmFtZSwgYGV4cG9ydHMuJHtleHBvcnROYW1lfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdhbGsgdGhpcyBleHBvcnQgc3RhdGVtZW50IGp1c3QgaW4gY2FzZSBpdCdzIGFuIGV4cG9ydC4uLmZyb20gc3RhdGVtZW50LlxuICAgKiBJZiBpdCBpcywgY29tYmluZSBpdCBpbnRvIHRoZSBpbXBvcnQgaW5mbyBmb3IgdGhhdCBwYXRoLiBPdGhlcndpc2UsIGp1c3RcbiAgICogYmFpbCBvdXQ7IGl0J2xsIGJlIGhhbmRsZWQgbGF0ZXIuXG4gICAqL1xuICAgcHJlcHJvY2Vzc05hbWVkRXhwb3J0QXRJbmRleChpbmRleCkge1xuICAgIC8vIGV4cG9ydCB7XG4gICAgaW5kZXggKz0gMjtcbiAgICBjb25zdCB7bmV3SW5kZXgsIG5hbWVkSW1wb3J0c30gPSB0aGlzLmdldE5hbWVkSW1wb3J0cyhpbmRleCk7XG4gICAgaW5kZXggPSBuZXdJbmRleDtcblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbEF0SW5kZXgoaW5kZXgsIENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKSkge1xuICAgICAgaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVpbnRlcnByZXQgXCJhIGFzIGJcIiB0byBiZSBsb2NhbC9leHBvcnRlZCByYXRoZXIgdGhhbiBpbXBvcnRlZC9sb2NhbC5cbiAgICAgIGZvciAoY29uc3Qge2ltcG9ydGVkTmFtZTogbG9jYWxOYW1lLCBsb2NhbE5hbWU6IGV4cG9ydGVkTmFtZX0gb2YgbmFtZWRJbXBvcnRzKSB7XG4gICAgICAgIHRoaXMuYWRkRXhwb3J0QmluZGluZyhsb2NhbE5hbWUsIGV4cG9ydGVkTmFtZSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnN0cmluZykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIHN0cmluZyB0b2tlbiBhdCB0aGUgZW5kIG9mIGltcG9ydCBzdGF0ZW1lbnQuXCIpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gdGhpcy50b2tlbnMuc3RyaW5nVmFsdWVBdEluZGV4KGluZGV4KTtcbiAgICBjb25zdCBpbXBvcnRJbmZvID0gdGhpcy5nZXRJbXBvcnRJbmZvKHBhdGgpO1xuICAgIGltcG9ydEluZm8ubmFtZWRFeHBvcnRzLnB1c2goLi4ubmFtZWRJbXBvcnRzKTtcbiAgfVxuXG4gICBwcmVwcm9jZXNzRXhwb3J0U3RhckF0SW5kZXgoaW5kZXgpIHtcbiAgICBsZXQgZXhwb3J0ZWROYW1lID0gbnVsbDtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczNBdEluZGV4KGluZGV4LCB0dC5fZXhwb3J0LCB0dC5zdGFyLCB0dC5fYXMpKSB7XG4gICAgICAvLyBleHBvcnQgKiBhc1xuICAgICAgaW5kZXggKz0gMztcbiAgICAgIGV4cG9ydGVkTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCk7XG4gICAgICAvLyBmb28gZnJvbVxuICAgICAgaW5kZXggKz0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZXhwb3J0ICogZnJvbVxuICAgICAgaW5kZXggKz0gMztcbiAgICB9XG4gICAgaWYgKCF0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnN0cmluZykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIHN0cmluZyB0b2tlbiBhdCB0aGUgZW5kIG9mIHN0YXIgZXhwb3J0IHN0YXRlbWVudC5cIik7XG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSB0aGlzLnRva2Vucy5zdHJpbmdWYWx1ZUF0SW5kZXgoaW5kZXgpO1xuICAgIGNvbnN0IGltcG9ydEluZm8gPSB0aGlzLmdldEltcG9ydEluZm8ocGF0aCk7XG4gICAgaWYgKGV4cG9ydGVkTmFtZSAhPT0gbnVsbCkge1xuICAgICAgaW1wb3J0SW5mby5leHBvcnRTdGFyTmFtZXMucHVzaChleHBvcnRlZE5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbXBvcnRJbmZvLmhhc1N0YXJFeHBvcnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gICBnZXROYW1lZEltcG9ydHMoaW5kZXgpIHtcbiAgICBjb25zdCBuYW1lZEltcG9ydHMgPSBbXTtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQuYnJhY2VSKSkge1xuICAgICAgICBpbmRleCsrO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3BlY2lmaWVySW5mbyA9IGdldEltcG9ydEV4cG9ydFNwZWNpZmllckluZm8odGhpcy50b2tlbnMsIGluZGV4KTtcbiAgICAgIGluZGV4ID0gc3BlY2lmaWVySW5mby5lbmRJbmRleDtcbiAgICAgIGlmICghc3BlY2lmaWVySW5mby5pc1R5cGUpIHtcbiAgICAgICAgbmFtZWRJbXBvcnRzLnB1c2goe1xuICAgICAgICAgIGltcG9ydGVkTmFtZTogc3BlY2lmaWVySW5mby5sZWZ0TmFtZSxcbiAgICAgICAgICBsb2NhbE5hbWU6IHNwZWNpZmllckluZm8ucmlnaHROYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbmRleCwgdHQuY29tbWEsIHR0LmJyYWNlUikpIHtcbiAgICAgICAgaW5kZXggKz0gMjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQuYnJhY2VSKSkge1xuICAgICAgICBpbmRleCsrO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4LCB0dC5jb21tYSkpIHtcbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCB0b2tlbjogJHtKU09OLnN0cmluZ2lmeSh0aGlzLnRva2Vucy50b2tlbnNbaW5kZXhdKX1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtuZXdJbmRleDogaW5kZXgsIG5hbWVkSW1wb3J0c307XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgbXV0YWJsZSBpbXBvcnQgaW5mbyBvYmplY3QgZm9yIHRoaXMgcGF0aCwgY3JlYXRpbmcgb25lIGlmIGl0IGRvZXNuJ3RcbiAgICogZXhpc3QgeWV0LlxuICAgKi9cbiAgIGdldEltcG9ydEluZm8ocGF0aCkge1xuICAgIGNvbnN0IGV4aXN0aW5nSW5mbyA9IHRoaXMuaW1wb3J0SW5mb0J5UGF0aC5nZXQocGF0aCk7XG4gICAgaWYgKGV4aXN0aW5nSW5mbykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nSW5mbztcbiAgICB9XG4gICAgY29uc3QgbmV3SW5mbyA9IHtcbiAgICAgIGRlZmF1bHROYW1lczogW10sXG4gICAgICB3aWxkY2FyZE5hbWVzOiBbXSxcbiAgICAgIG5hbWVkSW1wb3J0czogW10sXG4gICAgICBuYW1lZEV4cG9ydHM6IFtdLFxuICAgICAgaGFzQmFyZUltcG9ydDogZmFsc2UsXG4gICAgICBleHBvcnRTdGFyTmFtZXM6IFtdLFxuICAgICAgaGFzU3RhckV4cG9ydDogZmFsc2UsXG4gICAgfTtcbiAgICB0aGlzLmltcG9ydEluZm9CeVBhdGguc2V0KHBhdGgsIG5ld0luZm8pO1xuICAgIHJldHVybiBuZXdJbmZvO1xuICB9XG5cbiAgIGFkZEV4cG9ydEJpbmRpbmcobG9jYWxOYW1lLCBleHBvcnRlZE5hbWUpIHtcbiAgICBpZiAoIXRoaXMuZXhwb3J0QmluZGluZ3NCeUxvY2FsTmFtZS5oYXMobG9jYWxOYW1lKSkge1xuICAgICAgdGhpcy5leHBvcnRCaW5kaW5nc0J5TG9jYWxOYW1lLnNldChsb2NhbE5hbWUsIFtdKTtcbiAgICB9XG4gICAgdGhpcy5leHBvcnRCaW5kaW5nc0J5TG9jYWxOYW1lLmdldChsb2NhbE5hbWUpLnB1c2goZXhwb3J0ZWROYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGNvZGUgdG8gdXNlIGZvciB0aGUgaW1wb3J0IGZvciB0aGlzIHBhdGgsIG9yIHRoZSBlbXB0eSBzdHJpbmcgaWZcbiAgICogdGhlIGNvZGUgaGFzIGFscmVhZHkgYmVlbiBcImNsYWltZWRcIiBieSBhIHByZXZpb3VzIGltcG9ydC5cbiAgICovXG4gIGNsYWltSW1wb3J0Q29kZShpbXBvcnRQYXRoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5pbXBvcnRzVG9SZXBsYWNlLmdldChpbXBvcnRQYXRoKTtcbiAgICB0aGlzLmltcG9ydHNUb1JlcGxhY2Uuc2V0KGltcG9ydFBhdGgsIFwiXCIpO1xuICAgIHJldHVybiByZXN1bHQgfHwgXCJcIjtcbiAgfVxuXG4gIGdldElkZW50aWZpZXJSZXBsYWNlbWVudChpZGVudGlmaWVyTmFtZSkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXJSZXBsYWNlbWVudHMuZ2V0KGlkZW50aWZpZXJOYW1lKSB8fCBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHN0cmluZyBsaWtlIGBleHBvcnRzLmZvbyA9IGV4cG9ydHMuYmFyYC5cbiAgICovXG4gIHJlc29sdmVFeHBvcnRCaW5kaW5nKGFzc2lnbmVkTmFtZSkge1xuICAgIGNvbnN0IGV4cG9ydGVkTmFtZXMgPSB0aGlzLmV4cG9ydEJpbmRpbmdzQnlMb2NhbE5hbWUuZ2V0KGFzc2lnbmVkTmFtZSk7XG4gICAgaWYgKCFleHBvcnRlZE5hbWVzIHx8IGV4cG9ydGVkTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGV4cG9ydGVkTmFtZXMubWFwKChleHBvcnRlZE5hbWUpID0+IGBleHBvcnRzLiR7ZXhwb3J0ZWROYW1lfWApLmpvaW4oXCIgPSBcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFsbCBpbXBvcnRlZC9leHBvcnRlZCBuYW1lcyB3aGVyZSB3ZSBtaWdodCBiZSBpbnRlcmVzdGVkIGluIHdoZXRoZXIgdXNhZ2VzIG9mIHRob3NlXG4gICAqIG5hbWVzIGFyZSBzaGFkb3dlZC5cbiAgICovXG4gIGdldEdsb2JhbE5hbWVzKCkge1xuICAgIHJldHVybiBuZXcgU2V0KFtcbiAgICAgIC4uLnRoaXMuaWRlbnRpZmllclJlcGxhY2VtZW50cy5rZXlzKCksXG4gICAgICAuLi50aGlzLmV4cG9ydEJpbmRpbmdzQnlMb2NhbE5hbWUua2V5cygpLFxuICAgIF0pO1xuICB9XG59XG4iLCAiaW1wb3J0IHtHZW5NYXBwaW5nLCBtYXliZUFkZFNlZ21lbnQsIHRvRW5jb2RlZE1hcH0gZnJvbSBcIkBqcmlkZ2V3ZWxsL2dlbi1tYXBwaW5nXCI7XG5cblxuXG5pbXBvcnQge2NoYXJDb2Rlc30gZnJvbSBcIi4vcGFyc2VyL3V0aWwvY2hhcmNvZGVzXCI7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKipcbiAqIEdlbmVyYXRlIGEgc291cmNlIG1hcCBpbmRpY2F0aW5nIHRoYXQgZWFjaCBsaW5lIG1hcHMgZGlyZWN0bHkgdG8gdGhlIG9yaWdpbmFsIGxpbmUsXG4gKiB3aXRoIHRoZSB0b2tlbnMgaW4gdGhlaXIgbmV3IHBvc2l0aW9ucy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcHV0ZVNvdXJjZU1hcChcbiAge2NvZGU6IGdlbmVyYXRlZENvZGUsIG1hcHBpbmdzOiByYXdNYXBwaW5nc30sXG4gIGZpbGVQYXRoLFxuICBvcHRpb25zLFxuICBzb3VyY2UsXG4gIHRva2Vucyxcbikge1xuICBjb25zdCBzb3VyY2VDb2x1bW5zID0gY29tcHV0ZVNvdXJjZUNvbHVtbnMoc291cmNlLCB0b2tlbnMpO1xuICBjb25zdCBtYXAgPSBuZXcgR2VuTWFwcGluZyh7ZmlsZTogb3B0aW9ucy5jb21waWxlZEZpbGVuYW1lfSk7XG4gIGxldCB0b2tlbkluZGV4ID0gMDtcbiAgLy8gY3VycmVudE1hcHBpbmcgaXMgdGhlIG91dHB1dCBzb3VyY2UgaW5kZXggZm9yIHRoZSBjdXJyZW50IGlucHV0IHRva2VuIGJlaW5nXG4gIC8vIGNvbnNpZGVyZWQuXG4gIGxldCBjdXJyZW50TWFwcGluZyA9IHJhd01hcHBpbmdzWzBdO1xuICB3aGlsZSAoY3VycmVudE1hcHBpbmcgPT09IHVuZGVmaW5lZCAmJiB0b2tlbkluZGV4IDwgcmF3TWFwcGluZ3MubGVuZ3RoIC0gMSkge1xuICAgIHRva2VuSW5kZXgrKztcbiAgICBjdXJyZW50TWFwcGluZyA9IHJhd01hcHBpbmdzW3Rva2VuSW5kZXhdO1xuICB9XG4gIGxldCBsaW5lID0gMDtcbiAgbGV0IGxpbmVTdGFydCA9IDA7XG4gIGlmIChjdXJyZW50TWFwcGluZyAhPT0gbGluZVN0YXJ0KSB7XG4gICAgbWF5YmVBZGRTZWdtZW50KG1hcCwgbGluZSwgMCwgZmlsZVBhdGgsIGxpbmUsIDApO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZ2VuZXJhdGVkQ29kZS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpID09PSBjdXJyZW50TWFwcGluZykge1xuICAgICAgY29uc3QgZ2VuQ29sdW1uID0gY3VycmVudE1hcHBpbmcgLSBsaW5lU3RhcnQ7XG4gICAgICBjb25zdCBzb3VyY2VDb2x1bW4gPSBzb3VyY2VDb2x1bW5zW3Rva2VuSW5kZXhdO1xuICAgICAgbWF5YmVBZGRTZWdtZW50KG1hcCwgbGluZSwgZ2VuQ29sdW1uLCBmaWxlUGF0aCwgbGluZSwgc291cmNlQ29sdW1uKTtcbiAgICAgIHdoaWxlIChcbiAgICAgICAgKGN1cnJlbnRNYXBwaW5nID09PSBpIHx8IGN1cnJlbnRNYXBwaW5nID09PSB1bmRlZmluZWQpICYmXG4gICAgICAgIHRva2VuSW5kZXggPCByYXdNYXBwaW5ncy5sZW5ndGggLSAxXG4gICAgICApIHtcbiAgICAgICAgdG9rZW5JbmRleCsrO1xuICAgICAgICBjdXJyZW50TWFwcGluZyA9IHJhd01hcHBpbmdzW3Rva2VuSW5kZXhdO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZ2VuZXJhdGVkQ29kZS5jaGFyQ29kZUF0KGkpID09PSBjaGFyQ29kZXMubGluZUZlZWQpIHtcbiAgICAgIGxpbmUrKztcbiAgICAgIGxpbmVTdGFydCA9IGkgKyAxO1xuICAgICAgaWYgKGN1cnJlbnRNYXBwaW5nICE9PSBsaW5lU3RhcnQpIHtcbiAgICAgICAgbWF5YmVBZGRTZWdtZW50KG1hcCwgbGluZSwgMCwgZmlsZVBhdGgsIGxpbmUsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBjb25zdCB7c291cmNlUm9vdCwgc291cmNlc0NvbnRlbnQsIC4uLnNvdXJjZU1hcH0gPSB0b0VuY29kZWRNYXAobWFwKTtcbiAgcmV0dXJuIHNvdXJjZU1hcCA7XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIGFycmF5IG1hcHBpbmcgZWFjaCB0b2tlbiBpbmRleCB0byB0aGUgMC1iYXNlZCBjb2x1bW4gb2YgdGhlIHN0YXJ0XG4gKiBwb3NpdGlvbiBvZiB0aGUgdG9rZW4uXG4gKi9cbmZ1bmN0aW9uIGNvbXB1dGVTb3VyY2VDb2x1bW5zKGNvZGUsIHRva2Vucykge1xuICBjb25zdCBzb3VyY2VDb2x1bW5zID0gbmV3IEFycmF5KHRva2Vucy5sZW5ndGgpO1xuICBsZXQgdG9rZW5JbmRleCA9IDA7XG4gIGxldCBjdXJyZW50TWFwcGluZyA9IHRva2Vuc1t0b2tlbkluZGV4XS5zdGFydDtcbiAgbGV0IGxpbmVTdGFydCA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29kZS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpID09PSBjdXJyZW50TWFwcGluZykge1xuICAgICAgc291cmNlQ29sdW1uc1t0b2tlbkluZGV4XSA9IGN1cnJlbnRNYXBwaW5nIC0gbGluZVN0YXJ0O1xuICAgICAgdG9rZW5JbmRleCsrO1xuICAgICAgY3VycmVudE1hcHBpbmcgPSB0b2tlbnNbdG9rZW5JbmRleF0uc3RhcnQ7XG4gICAgfVxuICAgIGlmIChjb2RlLmNoYXJDb2RlQXQoaSkgPT09IGNoYXJDb2Rlcy5saW5lRmVlZCkge1xuICAgICAgbGluZVN0YXJ0ID0gaSArIDE7XG4gICAgfVxuICB9XG4gIHJldHVybiBzb3VyY2VDb2x1bW5zO1xufVxuIiwgIlxuXG5jb25zdCBIRUxQRVJTID0ge1xuICByZXF1aXJlOiBgXG4gICAgaW1wb3J0IHtjcmVhdGVSZXF1aXJlIGFzIENSRUFURV9SRVFVSVJFX05BTUV9IGZyb20gXCJtb2R1bGVcIjtcbiAgICBjb25zdCByZXF1aXJlID0gQ1JFQVRFX1JFUVVJUkVfTkFNRShpbXBvcnQubWV0YS51cmwpO1xuICBgLFxuICBpbnRlcm9wUmVxdWlyZVdpbGRjYXJkOiBgXG4gICAgZnVuY3Rpb24gaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChvYmopIHtcbiAgICAgIGlmIChvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBuZXdPYmogPSB7fTtcbiAgICAgICAgaWYgKG9iaiAhPSBudWxsKSB7XG4gICAgICAgICAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7XG4gICAgICAgIHJldHVybiBuZXdPYmo7XG4gICAgICB9XG4gICAgfVxuICBgLFxuICBpbnRlcm9wUmVxdWlyZURlZmF1bHQ6IGBcbiAgICBmdW5jdGlvbiBpbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7XG4gICAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTtcbiAgICB9XG4gIGAsXG4gIGNyZWF0ZU5hbWVkRXhwb3J0RnJvbTogYFxuICAgIGZ1bmN0aW9uIGNyZWF0ZU5hbWVkRXhwb3J0RnJvbShvYmosIGxvY2FsTmFtZSwgaW1wb3J0ZWROYW1lKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbG9jYWxOYW1lLCB7ZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBnZXQ6ICgpID0+IG9ialtpbXBvcnRlZE5hbWVdfSk7XG4gICAgfVxuICBgLFxuICAvLyBOb3RlIHRoYXQgVHlwZVNjcmlwdCBhbmQgQmFiZWwgZG8gdGhpcyBkaWZmZXJlbnRseTsgVHlwZVNjcmlwdCBkb2VzIGEgc2ltcGxlIGV4aXN0ZW5jZVxuICAvLyBjaGVjayBpbiB0aGUgZXhwb3J0cyBvYmplY3QgYW5kIGRvZXMgYSBwbGFpbiBhc3NpZ25tZW50LCB3aGVyZWFzIEJhYmVsIHVzZXNcbiAgLy8gZGVmaW5lUHJvcGVydHkgYW5kIGJ1aWxkcyBhbiBvYmplY3Qgb2YgZXhwbGljaXRseS1leHBvcnRlZCBuYW1lcyBzbyB0aGF0IHN0YXIgZXhwb3J0cyBjYW5cbiAgLy8gYWx3YXlzIHRha2UgbG93ZXIgcHJlY2VkZW5jZS4gRm9yIG5vdywgd2UgZG8gdGhlIGVhc2llciBUeXBlU2NyaXB0IHRoaW5nLlxuICBjcmVhdGVTdGFyRXhwb3J0OiBgXG4gICAgZnVuY3Rpb24gY3JlYXRlU3RhckV4cG9ydChvYmopIHtcbiAgICAgIE9iamVjdC5rZXlzKG9iailcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiBrZXkgIT09IFwiZGVmYXVsdFwiICYmIGtleSAhPT0gXCJfX2VzTW9kdWxlXCIpXG4gICAgICAgIC5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICBpZiAoZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHtlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGdldDogKCkgPT4gb2JqW2tleV19KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICBgLFxuICBudWxsaXNoQ29hbGVzY2U6IGBcbiAgICBmdW5jdGlvbiBudWxsaXNoQ29hbGVzY2UobGhzLCByaHNGbikge1xuICAgICAgaWYgKGxocyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBsaHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmhzRm4oKTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIGFzeW5jTnVsbGlzaENvYWxlc2NlOiBgXG4gICAgYXN5bmMgZnVuY3Rpb24gYXN5bmNOdWxsaXNoQ29hbGVzY2UobGhzLCByaHNGbikge1xuICAgICAgaWYgKGxocyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBsaHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYXdhaXQgcmhzRm4oKTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIG9wdGlvbmFsQ2hhaW46IGBcbiAgICBmdW5jdGlvbiBvcHRpb25hbENoYWluKG9wcykge1xuICAgICAgbGV0IGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7XG4gICAgICBsZXQgdmFsdWUgPSBvcHNbMF07XG4gICAgICBsZXQgaSA9IDE7XG4gICAgICB3aGlsZSAoaSA8IG9wcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgb3AgPSBvcHNbaV07XG4gICAgICAgIGNvbnN0IGZuID0gb3BzW2kgKyAxXTtcbiAgICAgICAgaSArPSAyO1xuICAgICAgICBpZiAoKG9wID09PSAnb3B0aW9uYWxBY2Nlc3MnIHx8IG9wID09PSAnb3B0aW9uYWxDYWxsJykgJiYgdmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wID09PSAnYWNjZXNzJyB8fCBvcCA9PT0gJ29wdGlvbmFsQWNjZXNzJykge1xuICAgICAgICAgIGxhc3RBY2Nlc3NMSFMgPSB2YWx1ZTtcbiAgICAgICAgICB2YWx1ZSA9IGZuKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gJ2NhbGwnIHx8IG9wID09PSAnb3B0aW9uYWxDYWxsJykge1xuICAgICAgICAgIHZhbHVlID0gZm4oKC4uLmFyZ3MpID0+IHZhbHVlLmNhbGwobGFzdEFjY2Vzc0xIUywgLi4uYXJncykpO1xuICAgICAgICAgIGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIGAsXG4gIGFzeW5jT3B0aW9uYWxDaGFpbjogYFxuICAgIGFzeW5jIGZ1bmN0aW9uIGFzeW5jT3B0aW9uYWxDaGFpbihvcHMpIHtcbiAgICAgIGxldCBsYXN0QWNjZXNzTEhTID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IHZhbHVlID0gb3BzWzBdO1xuICAgICAgbGV0IGkgPSAxO1xuICAgICAgd2hpbGUgKGkgPCBvcHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG9wID0gb3BzW2ldO1xuICAgICAgICBjb25zdCBmbiA9IG9wc1tpICsgMV07XG4gICAgICAgIGkgKz0gMjtcbiAgICAgICAgaWYgKChvcCA9PT0gJ29wdGlvbmFsQWNjZXNzJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpICYmIHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcCA9PT0gJ2FjY2VzcycgfHwgb3AgPT09ICdvcHRpb25hbEFjY2VzcycpIHtcbiAgICAgICAgICBsYXN0QWNjZXNzTEhTID0gdmFsdWU7XG4gICAgICAgICAgdmFsdWUgPSBhd2FpdCBmbih2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAob3AgPT09ICdjYWxsJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpIHtcbiAgICAgICAgICB2YWx1ZSA9IGF3YWl0IGZuKCguLi5hcmdzKSA9PiB2YWx1ZS5jYWxsKGxhc3RBY2Nlc3NMSFMsIC4uLmFyZ3MpKTtcbiAgICAgICAgICBsYXN0QWNjZXNzTEhTID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICBgLFxuICBvcHRpb25hbENoYWluRGVsZXRlOiBgXG4gICAgZnVuY3Rpb24gb3B0aW9uYWxDaGFpbkRlbGV0ZShvcHMpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IE9QVElPTkFMX0NIQUlOX05BTUUob3BzKTtcbiAgICAgIHJldHVybiByZXN1bHQgPT0gbnVsbCA/IHRydWUgOiByZXN1bHQ7XG4gICAgfVxuICBgLFxuICBhc3luY09wdGlvbmFsQ2hhaW5EZWxldGU6IGBcbiAgICBhc3luYyBmdW5jdGlvbiBhc3luY09wdGlvbmFsQ2hhaW5EZWxldGUob3BzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBBU1lOQ19PUFRJT05BTF9DSEFJTl9OQU1FKG9wcyk7XG4gICAgICByZXR1cm4gcmVzdWx0ID09IG51bGwgPyB0cnVlIDogcmVzdWx0O1xuICAgIH1cbiAgYCxcbn07XG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJNYW5hZ2VyIHtcbiAgX19pbml0KCkge3RoaXMuaGVscGVyTmFtZXMgPSB7fX1cbiAgX19pbml0MigpIHt0aGlzLmNyZWF0ZVJlcXVpcmVOYW1lID0gbnVsbH1cbiAgY29uc3RydWN0b3IoIG5hbWVNYW5hZ2VyKSB7O3RoaXMubmFtZU1hbmFnZXIgPSBuYW1lTWFuYWdlcjtIZWxwZXJNYW5hZ2VyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtIZWxwZXJNYW5hZ2VyLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7fVxuXG4gIGdldEhlbHBlck5hbWUoYmFzZU5hbWUpIHtcbiAgICBsZXQgaGVscGVyTmFtZSA9IHRoaXMuaGVscGVyTmFtZXNbYmFzZU5hbWVdO1xuICAgIGlmIChoZWxwZXJOYW1lKSB7XG4gICAgICByZXR1cm4gaGVscGVyTmFtZTtcbiAgICB9XG4gICAgaGVscGVyTmFtZSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShgXyR7YmFzZU5hbWV9YCk7XG4gICAgdGhpcy5oZWxwZXJOYW1lc1tiYXNlTmFtZV0gPSBoZWxwZXJOYW1lO1xuICAgIHJldHVybiBoZWxwZXJOYW1lO1xuICB9XG5cbiAgZW1pdEhlbHBlcnMoKSB7XG4gICAgbGV0IHJlc3VsdENvZGUgPSBcIlwiO1xuICAgIGlmICh0aGlzLmhlbHBlck5hbWVzLm9wdGlvbmFsQ2hhaW5EZWxldGUpIHtcbiAgICAgIHRoaXMuZ2V0SGVscGVyTmFtZShcIm9wdGlvbmFsQ2hhaW5cIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmhlbHBlck5hbWVzLmFzeW5jT3B0aW9uYWxDaGFpbkRlbGV0ZSkge1xuICAgICAgdGhpcy5nZXRIZWxwZXJOYW1lKFwiYXN5bmNPcHRpb25hbENoYWluXCIpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IFtiYXNlTmFtZSwgaGVscGVyQ29kZVRlbXBsYXRlXSBvZiBPYmplY3QuZW50cmllcyhIRUxQRVJTKSkge1xuICAgICAgY29uc3QgaGVscGVyTmFtZSA9IHRoaXMuaGVscGVyTmFtZXNbYmFzZU5hbWVdO1xuICAgICAgbGV0IGhlbHBlckNvZGUgPSBoZWxwZXJDb2RlVGVtcGxhdGU7XG4gICAgICBpZiAoYmFzZU5hbWUgPT09IFwib3B0aW9uYWxDaGFpbkRlbGV0ZVwiKSB7XG4gICAgICAgIGhlbHBlckNvZGUgPSBoZWxwZXJDb2RlLnJlcGxhY2UoXCJPUFRJT05BTF9DSEFJTl9OQU1FXCIsIHRoaXMuaGVscGVyTmFtZXMub3B0aW9uYWxDaGFpbik7XG4gICAgICB9IGVsc2UgaWYgKGJhc2VOYW1lID09PSBcImFzeW5jT3B0aW9uYWxDaGFpbkRlbGV0ZVwiKSB7XG4gICAgICAgIGhlbHBlckNvZGUgPSBoZWxwZXJDb2RlLnJlcGxhY2UoXG4gICAgICAgICAgXCJBU1lOQ19PUFRJT05BTF9DSEFJTl9OQU1FXCIsXG4gICAgICAgICAgdGhpcy5oZWxwZXJOYW1lcy5hc3luY09wdGlvbmFsQ2hhaW4sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGJhc2VOYW1lID09PSBcInJlcXVpcmVcIikge1xuICAgICAgICBpZiAodGhpcy5jcmVhdGVSZXF1aXJlTmFtZSA9PT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuY3JlYXRlUmVxdWlyZU5hbWUgPSB0aGlzLm5hbWVNYW5hZ2VyLmNsYWltRnJlZU5hbWUoXCJfY3JlYXRlUmVxdWlyZVwiKTtcbiAgICAgICAgfVxuICAgICAgICBoZWxwZXJDb2RlID0gaGVscGVyQ29kZS5yZXBsYWNlKC9DUkVBVEVfUkVRVUlSRV9OQU1FL2csIHRoaXMuY3JlYXRlUmVxdWlyZU5hbWUpO1xuICAgICAgfVxuICAgICAgaWYgKGhlbHBlck5hbWUpIHtcbiAgICAgICAgcmVzdWx0Q29kZSArPSBcIiBcIjtcbiAgICAgICAgcmVzdWx0Q29kZSArPSBoZWxwZXJDb2RlLnJlcGxhY2UoYmFzZU5hbWUsIGhlbHBlck5hbWUpLnJlcGxhY2UoL1xccysvZywgXCIgXCIpLnRyaW0oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdENvZGU7XG4gIH1cbn1cbiIsICJpbXBvcnQge1xuICBpc0Jsb2NrU2NvcGVkRGVjbGFyYXRpb24sXG4gIGlzRnVuY3Rpb25TY29wZWREZWNsYXJhdGlvbixcbiAgaXNOb25Ub3BMZXZlbERlY2xhcmF0aW9uLFxufSBmcm9tIFwiLi9wYXJzZXIvdG9rZW5pemVyXCI7XG5cbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5cblxuLyoqXG4gKiBUcmF2ZXJzZSB0aGUgZ2l2ZW4gdG9rZW5zIGFuZCBtb2RpZnkgdGhlbSBpZiBuZWNlc3NhcnkgdG8gaW5kaWNhdGUgdGhhdCBzb21lIG5hbWVzIHNoYWRvdyBnbG9iYWxcbiAqIHZhcmlhYmxlcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaWRlbnRpZnlTaGFkb3dlZEdsb2JhbHMoXG4gIHRva2VucyxcbiAgc2NvcGVzLFxuICBnbG9iYWxOYW1lcyxcbikge1xuICBpZiAoIWhhc1NoYWRvd2VkR2xvYmFscyh0b2tlbnMsIGdsb2JhbE5hbWVzKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBtYXJrU2hhZG93ZWRHbG9iYWxzKHRva2Vucywgc2NvcGVzLCBnbG9iYWxOYW1lcyk7XG59XG5cbi8qKlxuICogV2UgY2FuIGRvIGEgZmFzdCB1cC1mcm9udCBjaGVjayB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBkZWNsYXJhdGlvbnMgdG8gZ2xvYmFsIG5hbWVzLiBJZiBub3QsXG4gKiB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gY29tcHV0aW5nIHNjb3BlIGFzc2lnbm1lbnRzLlxuICovXG4vLyBFeHBvcnRlZCBmb3IgdGVzdGluZy5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTaGFkb3dlZEdsb2JhbHModG9rZW5zLCBnbG9iYWxOYW1lcykge1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucy50b2tlbnMpIHtcbiAgICBpZiAoXG4gICAgICB0b2tlbi50eXBlID09PSB0dC5uYW1lICYmXG4gICAgICAhdG9rZW4uaXNUeXBlICYmXG4gICAgICBpc05vblRvcExldmVsRGVjbGFyYXRpb24odG9rZW4pICYmXG4gICAgICBnbG9iYWxOYW1lcy5oYXModG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odG9rZW4pKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gbWFya1NoYWRvd2VkR2xvYmFscyhcbiAgdG9rZW5zLFxuICBzY29wZXMsXG4gIGdsb2JhbE5hbWVzLFxuKSB7XG4gIGNvbnN0IHNjb3BlU3RhY2sgPSBbXTtcbiAgbGV0IHNjb3BlSW5kZXggPSBzY29wZXMubGVuZ3RoIC0gMTtcbiAgLy8gU2NvcGVzIHdlcmUgZ2VuZXJhdGVkIGF0IGNvbXBsZXRpb24gdGltZSwgc28gdGhleSdyZSBzb3J0ZWQgYnkgZW5kIGluZGV4LCBzbyB3ZSBjYW4gbWFpbnRhaW4gYVxuICAvLyBnb29kIHN0YWNrIGJ5IGdvaW5nIGJhY2t3YXJkcyB0aHJvdWdoIHRoZW0uXG4gIGZvciAobGV0IGkgPSB0b2tlbnMudG9rZW5zLmxlbmd0aCAtIDE7IDsgaS0tKSB7XG4gICAgd2hpbGUgKHNjb3BlU3RhY2subGVuZ3RoID4gMCAmJiBzY29wZVN0YWNrW3Njb3BlU3RhY2subGVuZ3RoIC0gMV0uc3RhcnRUb2tlbkluZGV4ID09PSBpICsgMSkge1xuICAgICAgc2NvcGVTdGFjay5wb3AoKTtcbiAgICB9XG4gICAgd2hpbGUgKHNjb3BlSW5kZXggPj0gMCAmJiBzY29wZXNbc2NvcGVJbmRleF0uZW5kVG9rZW5JbmRleCA9PT0gaSArIDEpIHtcbiAgICAgIHNjb3BlU3RhY2sucHVzaChzY29wZXNbc2NvcGVJbmRleF0pO1xuICAgICAgc2NvcGVJbmRleC0tO1xuICAgIH1cbiAgICAvLyBQcm9jZXNzIHNjb3BlcyBhZnRlciB0aGUgbGFzdCBpdGVyYXRpb24gc28gd2UgY2FuIG1ha2Ugc3VyZSB3ZSBwb3AgYWxsIG9mIHRoZW0uXG4gICAgaWYgKGkgPCAwKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbiA9IHRva2Vucy50b2tlbnNbaV07XG4gICAgY29uc3QgbmFtZSA9IHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKTtcbiAgICBpZiAoc2NvcGVTdGFjay5sZW5ndGggPiAxICYmICF0b2tlbi5pc1R5cGUgJiYgdG9rZW4udHlwZSA9PT0gdHQubmFtZSAmJiBnbG9iYWxOYW1lcy5oYXMobmFtZSkpIHtcbiAgICAgIGlmIChpc0Jsb2NrU2NvcGVkRGVjbGFyYXRpb24odG9rZW4pKSB7XG4gICAgICAgIG1hcmtTaGFkb3dlZEZvclNjb3BlKHNjb3BlU3RhY2tbc2NvcGVTdGFjay5sZW5ndGggLSAxXSwgdG9rZW5zLCBuYW1lKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uKHRva2VuKSkge1xuICAgICAgICBsZXQgc3RhY2tJbmRleCA9IHNjb3BlU3RhY2subGVuZ3RoIC0gMTtcbiAgICAgICAgd2hpbGUgKHN0YWNrSW5kZXggPiAwICYmICFzY29wZVN0YWNrW3N0YWNrSW5kZXhdLmlzRnVuY3Rpb25TY29wZSkge1xuICAgICAgICAgIHN0YWNrSW5kZXgtLTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhY2tJbmRleCA8IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEaWQgbm90IGZpbmQgcGFyZW50IGZ1bmN0aW9uIHNjb3BlLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBtYXJrU2hhZG93ZWRGb3JTY29wZShzY29wZVN0YWNrW3N0YWNrSW5kZXhdLCB0b2tlbnMsIG5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoc2NvcGVTdGFjay5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgZW1wdHkgc2NvcGUgc3RhY2sgYWZ0ZXIgcHJvY2Vzc2luZyBmaWxlLlwiKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU2hhZG93ZWRGb3JTY29wZShzY29wZSwgdG9rZW5zLCBuYW1lKSB7XG4gIGZvciAobGV0IGkgPSBzY29wZS5zdGFydFRva2VuSW5kZXg7IGkgPCBzY29wZS5lbmRUb2tlbkluZGV4OyBpKyspIHtcbiAgICBjb25zdCB0b2tlbiA9IHRva2Vucy50b2tlbnNbaV07XG4gICAgaWYgKFxuICAgICAgKHRva2VuLnR5cGUgPT09IHR0Lm5hbWUgfHwgdG9rZW4udHlwZSA9PT0gdHQuanN4TmFtZSkgJiZcbiAgICAgIHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKSA9PT0gbmFtZVxuICAgICkge1xuICAgICAgdG9rZW4uc2hhZG93c0dsb2JhbCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCAiXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuLyoqXG4gKiBHZXQgYWxsIGlkZW50aWZpZXIgbmFtZXMgaW4gdGhlIGNvZGUsIGluIG9yZGVyLCBpbmNsdWRpbmcgZHVwbGljYXRlcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0SWRlbnRpZmllck5hbWVzKGNvZGUsIHRva2Vucykge1xuICBjb25zdCBuYW1lcyA9IFtdO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgIGlmICh0b2tlbi50eXBlID09PSB0dC5uYW1lKSB7XG4gICAgICBuYW1lcy5wdXNoKGNvZGUuc2xpY2UodG9rZW4uc3RhcnQsIHRva2VuLmVuZCkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmFtZXM7XG59XG4iLCAiXG5pbXBvcnQgZ2V0SWRlbnRpZmllck5hbWVzIGZyb20gXCIuL3V0aWwvZ2V0SWRlbnRpZmllck5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5hbWVNYW5hZ2VyIHtcbiAgICBfX2luaXQoKSB7dGhpcy51c2VkTmFtZXMgPSBuZXcgU2V0KCl9XG5cbiAgY29uc3RydWN0b3IoY29kZSwgdG9rZW5zKSB7O05hbWVNYW5hZ2VyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtcbiAgICB0aGlzLnVzZWROYW1lcyA9IG5ldyBTZXQoZ2V0SWRlbnRpZmllck5hbWVzKGNvZGUsIHRva2VucykpO1xuICB9XG5cbiAgY2xhaW1GcmVlTmFtZShuYW1lKSB7XG4gICAgY29uc3QgbmV3TmFtZSA9IHRoaXMuZmluZEZyZWVOYW1lKG5hbWUpO1xuICAgIHRoaXMudXNlZE5hbWVzLmFkZChuZXdOYW1lKTtcbiAgICByZXR1cm4gbmV3TmFtZTtcbiAgfVxuXG4gIGZpbmRGcmVlTmFtZShuYW1lKSB7XG4gICAgaWYgKCF0aGlzLnVzZWROYW1lcy5oYXMobmFtZSkpIHtcbiAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cbiAgICBsZXQgc3VmZml4TnVtID0gMjtcbiAgICB3aGlsZSAodGhpcy51c2VkTmFtZXMuaGFzKG5hbWUgKyBTdHJpbmcoc3VmZml4TnVtKSkpIHtcbiAgICAgIHN1ZmZpeE51bSsrO1xuICAgIH1cbiAgICByZXR1cm4gbmFtZSArIFN0cmluZyhzdWZmaXhOdW0pO1xuICB9XG59XG4iLCAiaW1wb3J0IHtjcmVhdGVDaGVja2Vyc30gZnJvbSBcInRzLWludGVyZmFjZS1jaGVja2VyXCI7XG5cbmltcG9ydCBPcHRpb25zR2VuVHlwZXMgZnJvbSBcIi4vT3B0aW9ucy1nZW4tdHlwZXNcIjtcblxuY29uc3Qge09wdGlvbnM6IE9wdGlvbnNDaGVja2VyfSA9IGNyZWF0ZUNoZWNrZXJzKE9wdGlvbnNHZW5UeXBlcyk7XG5cbiBcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlT3B0aW9ucyhvcHRpb25zKSB7XG4gIE9wdGlvbnNDaGVja2VyLnN0cmljdENoZWNrKG9wdGlvbnMpO1xufVxuIiwgIi8qKlxuICogVGhpcyBtb2R1bGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGB0cy1pbnRlcmZhY2UtYnVpbGRlcmBcbiAqL1xuaW1wb3J0ICogYXMgdCBmcm9tIFwidHMtaW50ZXJmYWNlLWNoZWNrZXJcIjtcbi8vIHRzbGludDpkaXNhYmxlOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcblxuZXhwb3J0IGNvbnN0IFRyYW5zZm9ybSA9IHQudW5pb24oXG4gIHQubGl0KFwianN4XCIpLFxuICB0LmxpdChcInR5cGVzY3JpcHRcIiksXG4gIHQubGl0KFwiZmxvd1wiKSxcbiAgdC5saXQoXCJpbXBvcnRzXCIpLFxuICB0LmxpdChcInJlYWN0LWhvdC1sb2FkZXJcIiksXG4gIHQubGl0KFwiamVzdFwiKSxcbik7XG5cbmV4cG9ydCBjb25zdCBTb3VyY2VNYXBPcHRpb25zID0gdC5pZmFjZShbXSwge1xuICBjb21waWxlZEZpbGVuYW1lOiBcInN0cmluZ1wiLFxufSk7XG5cbmV4cG9ydCBjb25zdCBPcHRpb25zID0gdC5pZmFjZShbXSwge1xuICB0cmFuc2Zvcm1zOiB0LmFycmF5KFwiVHJhbnNmb3JtXCIpLFxuICBkaXNhYmxlRVNUcmFuc2Zvcm1zOiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGpzeFJ1bnRpbWU6IHQub3B0KHQudW5pb24odC5saXQoXCJjbGFzc2ljXCIpLCB0LmxpdChcImF1dG9tYXRpY1wiKSwgdC5saXQoXCJwcmVzZXJ2ZVwiKSkpLFxuICBwcm9kdWN0aW9uOiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGpzeEltcG9ydFNvdXJjZTogdC5vcHQoXCJzdHJpbmdcIiksXG4gIGpzeFByYWdtYTogdC5vcHQoXCJzdHJpbmdcIiksXG4gIGpzeEZyYWdtZW50UHJhZ21hOiB0Lm9wdChcInN0cmluZ1wiKSxcbiAga2VlcFVudXNlZEltcG9ydHM6IHQub3B0KFwiYm9vbGVhblwiKSxcbiAgcHJlc2VydmVEeW5hbWljSW1wb3J0OiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGluamVjdENyZWF0ZVJlcXVpcmVGb3JJbXBvcnRSZXF1aXJlOiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGVuYWJsZUxlZ2FjeVR5cGVTY3JpcHRNb2R1bGVJbnRlcm9wOiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGVuYWJsZUxlZ2FjeUJhYmVsNU1vZHVsZUludGVyb3A6IHQub3B0KFwiYm9vbGVhblwiKSxcbiAgc291cmNlTWFwT3B0aW9uczogdC5vcHQoXCJTb3VyY2VNYXBPcHRpb25zXCIpLFxuICBmaWxlUGF0aDogdC5vcHQoXCJzdHJpbmdcIiksXG59KTtcblxuY29uc3QgZXhwb3J0ZWRUeXBlU3VpdGUgPSB7XG4gIFRyYW5zZm9ybSxcbiAgU291cmNlTWFwT3B0aW9ucyxcbiAgT3B0aW9ucyxcbn07XG5leHBvcnQgZGVmYXVsdCBleHBvcnRlZFR5cGVTdWl0ZTtcbiIsICJpbXBvcnQge2Zsb3dQYXJzZUFzc2lnbmFibGVMaXN0SXRlbVR5cGVzfSBmcm9tIFwiLi4vcGx1Z2lucy9mbG93XCI7XG5pbXBvcnQge3RzUGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcywgdHNQYXJzZU1vZGlmaWVyc30gZnJvbSBcIi4uL3BsdWdpbnMvdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHtcbiAgZWF0LFxuICBJZGVudGlmaWVyUm9sZSxcbiAgbWF0Y2gsXG4gIG5leHQsXG4gIHBvcFR5cGVDb250ZXh0LFxuICBwdXNoVHlwZUNvbnRleHQsXG59IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXhcIjtcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlLCBUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuLi90b2tlbml6ZXIvdHlwZXNcIjtcbmltcG9ydCB7aXNGbG93RW5hYmxlZCwgaXNUeXBlU2NyaXB0RW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuL2Jhc2VcIjtcbmltcG9ydCB7cGFyc2VJZGVudGlmaWVyLCBwYXJzZU1heWJlQXNzaWduLCBwYXJzZU9ian0gZnJvbSBcIi4vZXhwcmVzc2lvblwiO1xuaW1wb3J0IHtleHBlY3QsIHVuZXhwZWN0ZWR9IGZyb20gXCIuL3V0aWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3ByZWFkKCkge1xuICBuZXh0KCk7XG4gIHBhcnNlTWF5YmVBc3NpZ24oZmFsc2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VSZXN0KGlzQmxvY2tTY29wZSkge1xuICBuZXh0KCk7XG4gIHBhcnNlQmluZGluZ0F0b20oaXNCbG9ja1Njb3BlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmluZGluZ0lkZW50aWZpZXIoaXNCbG9ja1Njb3BlKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBtYXJrUHJpb3JCaW5kaW5nSWRlbnRpZmllcihpc0Jsb2NrU2NvcGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbXBvcnRlZElkZW50aWZpZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuSW1wb3J0RGVjbGFyYXRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrUHJpb3JCaW5kaW5nSWRlbnRpZmllcihpc0Jsb2NrU2NvcGUpIHtcbiAgbGV0IGlkZW50aWZpZXJSb2xlO1xuICBpZiAoc3RhdGUuc2NvcGVEZXB0aCA9PT0gMCkge1xuICAgIGlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuVG9wTGV2ZWxEZWNsYXJhdGlvbjtcbiAgfSBlbHNlIGlmIChpc0Jsb2NrU2NvcGUpIHtcbiAgICBpZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLkJsb2NrU2NvcGVkRGVjbGFyYXRpb247XG4gIH0gZWxzZSB7XG4gICAgaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5GdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uO1xuICB9XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBpZGVudGlmaWVyUm9sZTtcbn1cblxuLy8gUGFyc2VzIGx2YWx1ZSAoYXNzaWduYWJsZSkgYXRvbS5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJpbmRpbmdBdG9tKGlzQmxvY2tTY29wZSkge1xuICBzd2l0Y2ggKHN0YXRlLnR5cGUpIHtcbiAgICBjYXNlIHR0Ll90aGlzOiB7XG4gICAgICAvLyBJbiBUeXBlU2NyaXB0LCBcInRoaXNcIiBtYXkgYmUgdGhlIG5hbWUgb2YgYSBwYXJhbWV0ZXIsIHNvIGFsbG93IGl0LlxuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICAgICAgbmV4dCgpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjYXNlIHR0Ll95aWVsZDpcbiAgICBjYXNlIHR0Lm5hbWU6IHtcbiAgICAgIHN0YXRlLnR5cGUgPSB0dC5uYW1lO1xuICAgICAgcGFyc2VCaW5kaW5nSWRlbnRpZmllcihpc0Jsb2NrU2NvcGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNhc2UgdHQuYnJhY2tldEw6IHtcbiAgICAgIG5leHQoKTtcbiAgICAgIHBhcnNlQmluZGluZ0xpc3QodHQuYnJhY2tldFIsIGlzQmxvY2tTY29wZSwgdHJ1ZSAvKiBhbGxvd0VtcHR5ICovKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjYXNlIHR0LmJyYWNlTDpcbiAgICAgIHBhcnNlT2JqKHRydWUsIGlzQmxvY2tTY29wZSk7XG4gICAgICByZXR1cm47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdW5leHBlY3RlZCgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJpbmRpbmdMaXN0KFxuICBjbG9zZSxcbiAgaXNCbG9ja1Njb3BlLFxuICBhbGxvd0VtcHR5ID0gZmFsc2UsXG4gIGFsbG93TW9kaWZpZXJzID0gZmFsc2UsXG4gIGNvbnRleHRJZCA9IDAsXG4pIHtcbiAgbGV0IGZpcnN0ID0gdHJ1ZTtcblxuICBsZXQgaGFzUmVtb3ZlZENvbW1hID0gZmFsc2U7XG4gIGNvbnN0IGZpcnN0SXRlbVRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuXG4gIHdoaWxlICghZWF0KGNsb3NlKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICBpZiAoZmlyc3QpIHtcbiAgICAgIGZpcnN0ID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4cGVjdCh0dC5jb21tYSk7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbiAgICAgIC8vIEFmdGVyIGEgXCJ0aGlzXCIgdHlwZSBpbiBUeXBlU2NyaXB0LCB3ZSBuZWVkIHRvIHNldCB0aGUgZm9sbG93aW5nIGNvbW1hIChpZiBhbnkpIHRvIGFsc28gYmVcbiAgICAgIC8vIGEgdHlwZSB0b2tlbiBzbyB0aGF0IGl0IHdpbGwgYmUgcmVtb3ZlZC5cbiAgICAgIGlmICghaGFzUmVtb3ZlZENvbW1hICYmIHN0YXRlLnRva2Vuc1tmaXJzdEl0ZW1Ub2tlbkluZGV4XS5pc1R5cGUpIHtcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc1R5cGUgPSB0cnVlO1xuICAgICAgICBoYXNSZW1vdmVkQ29tbWEgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWxsb3dFbXB0eSAmJiBtYXRjaCh0dC5jb21tYSkpIHtcbiAgICAgIC8vIEVtcHR5IGl0ZW07IG5vdGhpbmcgZnVydGhlciB0byBwYXJzZSBmb3IgdGhpcyBpdGVtLlxuICAgIH0gZWxzZSBpZiAoZWF0KGNsb3NlKSkge1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIGlmIChtYXRjaCh0dC5lbGxpcHNpcykpIHtcbiAgICAgIHBhcnNlUmVzdChpc0Jsb2NrU2NvcGUpO1xuICAgICAgcGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcygpO1xuICAgICAgLy8gU3VwcG9ydCByZXN0IGVsZW1lbnQgdHJhaWxpbmcgY29tbWFzIGFsbG93ZWQgYnkgVHlwZVNjcmlwdCA8Mi45LlxuICAgICAgZWF0KFRva2VuVHlwZS5jb21tYSk7XG4gICAgICBleHBlY3QoY2xvc2UpO1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlQXNzaWduYWJsZUxpc3RJdGVtKGFsbG93TW9kaWZpZXJzLCBpc0Jsb2NrU2NvcGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUFzc2lnbmFibGVMaXN0SXRlbShhbGxvd01vZGlmaWVycywgaXNCbG9ja1Njb3BlKSB7XG4gIGlmIChhbGxvd01vZGlmaWVycykge1xuICAgIHRzUGFyc2VNb2RpZmllcnMoW1xuICAgICAgQ29udGV4dHVhbEtleXdvcmQuX3B1YmxpYyxcbiAgICAgIENvbnRleHR1YWxLZXl3b3JkLl9wcm90ZWN0ZWQsXG4gICAgICBDb250ZXh0dWFsS2V5d29yZC5fcHJpdmF0ZSxcbiAgICAgIENvbnRleHR1YWxLZXl3b3JkLl9yZWFkb25seSxcbiAgICAgIENvbnRleHR1YWxLZXl3b3JkLl9vdmVycmlkZSxcbiAgICBdKTtcbiAgfVxuXG4gIHBhcnNlTWF5YmVEZWZhdWx0KGlzQmxvY2tTY29wZSk7XG4gIHBhcnNlQXNzaWduYWJsZUxpc3RJdGVtVHlwZXMoKTtcbiAgcGFyc2VNYXliZURlZmF1bHQoaXNCbG9ja1Njb3BlLCB0cnVlIC8qIGxlZnRBbHJlYWR5UGFyc2VkICovKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcygpIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcygpO1xuICB9IGVsc2UgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c1BhcnNlQXNzaWduYWJsZUxpc3RJdGVtVHlwZXMoKTtcbiAgfVxufVxuXG4vLyBQYXJzZXMgYXNzaWdubWVudCBwYXR0ZXJuIGFyb3VuZCBnaXZlbiBhdG9tIGlmIHBvc3NpYmxlLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWF5YmVEZWZhdWx0KGlzQmxvY2tTY29wZSwgbGVmdEFscmVhZHlQYXJzZWQgPSBmYWxzZSkge1xuICBpZiAoIWxlZnRBbHJlYWR5UGFyc2VkKSB7XG4gICAgcGFyc2VCaW5kaW5nQXRvbShpc0Jsb2NrU2NvcGUpO1xuICB9XG4gIGlmICghZWF0KHR0LmVxKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlcUluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aCAtIDE7XG4gIHBhcnNlTWF5YmVBc3NpZ24oKTtcbiAgc3RhdGUudG9rZW5zW2VxSW5kZXhdLnJoc0VuZEluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbn1cbiIsICJpbXBvcnQge1xuICBlYXQsXG4gIGZpbmlzaFRva2VuLFxuICBJZGVudGlmaWVyUm9sZSxcbiAgbG9va2FoZWFkVHlwZSxcbiAgbG9va2FoZWFkVHlwZUFuZEtleXdvcmQsXG4gIG1hdGNoLFxuICBuZXh0LFxuICBuZXh0VGVtcGxhdGVUb2tlbixcbiAgcG9wVHlwZUNvbnRleHQsXG4gIHB1c2hUeXBlQ29udGV4dCxcbiAgcmVzY2FuX2d0LFxufSBmcm9tIFwiLi4vdG9rZW5pemVyL2luZGV4XCI7XG5pbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi4vdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSwgVG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQge2lzSlNYRW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuLi90cmF2ZXJzZXIvYmFzZVwiO1xuaW1wb3J0IHtcbiAgYXRQb3NzaWJsZUFzeW5jLFxuICBiYXNlUGFyc2VNYXliZUFzc2lnbixcbiAgYmFzZVBhcnNlU3Vic2NyaXB0LFxuICBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzLFxuICBwYXJzZUV4cHJBdG9tLFxuICBwYXJzZUV4cHJlc3Npb24sXG4gIHBhcnNlRnVuY3Rpb25Cb2R5LFxuICBwYXJzZUlkZW50aWZpZXIsXG4gIHBhcnNlTGl0ZXJhbCxcbiAgcGFyc2VNYXliZUFzc2lnbixcbiAgcGFyc2VNYXliZVVuYXJ5LFxuICBwYXJzZVByb3BlcnR5TmFtZSxcbiAgcGFyc2VUZW1wbGF0ZSxcblxufSBmcm9tIFwiLi4vdHJhdmVyc2VyL2V4cHJlc3Npb25cIjtcbmltcG9ydCB7cGFyc2VCaW5kaW5nSWRlbnRpZmllciwgcGFyc2VCaW5kaW5nTGlzdCwgcGFyc2VJbXBvcnRlZElkZW50aWZpZXJ9IGZyb20gXCIuLi90cmF2ZXJzZXIvbHZhbFwiO1xuaW1wb3J0IHtcbiAgYmFzZVBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMsXG4gIHBhcnNlQmxvY2tCb2R5LFxuICBwYXJzZUNsYXNzLFxuICBwYXJzZUZ1bmN0aW9uLFxuICBwYXJzZUZ1bmN0aW9uUGFyYW1zLFxuICBwYXJzZVN0YXRlbWVudCxcbiAgcGFyc2VWYXJTdGF0ZW1lbnQsXG59IGZyb20gXCIuLi90cmF2ZXJzZXIvc3RhdGVtZW50XCI7XG5pbXBvcnQge1xuICBjYW5JbnNlcnRTZW1pY29sb24sXG4gIGVhdENvbnRleHR1YWwsXG4gIGV4cGVjdCxcbiAgZXhwZWN0Q29udGV4dHVhbCxcbiAgaGFzUHJlY2VkaW5nTGluZUJyZWFrLFxuICBpc0NvbnRleHR1YWwsXG4gIGlzTGluZVRlcm1pbmF0b3IsXG4gIGlzTG9va2FoZWFkQ29udGV4dHVhbCxcbiAgc2VtaWNvbG9uLFxuICB1bmV4cGVjdGVkLFxufSBmcm9tIFwiLi4vdHJhdmVyc2VyL3V0aWxcIjtcbmltcG9ydCB7bmV4dEpTWFRhZ1Rva2VufSBmcm9tIFwiLi9qc3hcIjtcblxuZnVuY3Rpb24gdHNJc0lkZW50aWZpZXIoKSB7XG4gIC8vIFRPRE86IGFjdHVhbGx5IGEgYml0IG1vcmUgY29tcGxleCBpbiBUeXBlU2NyaXB0LCBidXQgc2hvdWxkbid0IG1hdHRlci5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMTUwMDhcbiAgcmV0dXJuIG1hdGNoKHR0Lm5hbWUpO1xufVxuXG5mdW5jdGlvbiBpc0xpdGVyYWxQcm9wZXJ0eU5hbWUoKSB7XG4gIHJldHVybiAoXG4gICAgbWF0Y2godHQubmFtZSkgfHxcbiAgICBCb29sZWFuKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfS0VZV09SRCkgfHxcbiAgICBtYXRjaCh0dC5zdHJpbmcpIHx8XG4gICAgbWF0Y2godHQubnVtKSB8fFxuICAgIG1hdGNoKHR0LmJpZ2ludCkgfHxcbiAgICBtYXRjaCh0dC5kZWNpbWFsKVxuICApO1xufVxuXG5mdW5jdGlvbiB0c05leHRUb2tlbkNhbkZvbGxvd01vZGlmaWVyKCkge1xuICAvLyBOb3RlOiBUeXBlU2NyaXB0J3MgaW1wbGVtZW50YXRpb24gaXMgbXVjaCBtb3JlIGNvbXBsaWNhdGVkIGJlY2F1c2VcbiAgLy8gbW9yZSB0aGluZ3MgYXJlIGNvbnNpZGVyZWQgbW9kaWZpZXJzIHRoZXJlLlxuICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIG9ubHkgaGFuZGxlcyBtb2RpZmllcnMgbm90IGhhbmRsZWQgYnkgYmFieWxvbiBpdHNlbGYuIEFuZCBcInN0YXRpY1wiLlxuICAvLyBUT0RPOiBXb3VsZCBiZSBuaWNlIHRvIGF2b2lkIGxvb2thaGVhZC4gV2FudCBhIGhhc0xpbmVCcmVha1VwTmV4dCgpIG1ldGhvZC4uLlxuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG5cbiAgbmV4dCgpO1xuICBjb25zdCBjYW5Gb2xsb3dNb2RpZmllciA9XG4gICAgKG1hdGNoKHR0LmJyYWNrZXRMKSB8fFxuICAgICAgbWF0Y2godHQuYnJhY2VMKSB8fFxuICAgICAgbWF0Y2godHQuc3RhcikgfHxcbiAgICAgIG1hdGNoKHR0LmVsbGlwc2lzKSB8fFxuICAgICAgbWF0Y2godHQuaGFzaCkgfHxcbiAgICAgIGlzTGl0ZXJhbFByb3BlcnR5TmFtZSgpKSAmJlxuICAgICFoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKTtcblxuICBpZiAoY2FuRm9sbG93TW9kaWZpZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VNb2RpZmllcnMoYWxsb3dlZE1vZGlmaWVycykge1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IG1vZGlmaWVyID0gdHNQYXJzZU1vZGlmaWVyKGFsbG93ZWRNb2RpZmllcnMpO1xuICAgIGlmIChtb2RpZmllciA9PT0gbnVsbCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbi8qKiBQYXJzZXMgYSBtb2RpZmllciBtYXRjaGluZyBvbmUgdGhlIGdpdmVuIG1vZGlmaWVyIG5hbWVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VNb2RpZmllcihcbiAgYWxsb3dlZE1vZGlmaWVycyxcbikge1xuICBpZiAoIW1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBtb2RpZmllciA9IHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkO1xuICBpZiAoYWxsb3dlZE1vZGlmaWVycy5pbmRleE9mKG1vZGlmaWVyKSAhPT0gLTEgJiYgdHNOZXh0VG9rZW5DYW5Gb2xsb3dNb2RpZmllcigpKSB7XG4gICAgc3dpdGNoIChtb2RpZmllcikge1xuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHk6XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9yZWFkb25seTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdDpcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2Fic3RyYWN0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX3N0YXRpYzpcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX3N0YXRpYztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9wdWJsaWM6XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9wdWJsaWM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fcHJpdmF0ZTpcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX3ByaXZhdGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fcHJvdGVjdGVkOlxuICAgICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fcHJvdGVjdGVkO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX292ZXJyaWRlOlxuICAgICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fb3ZlcnJpZGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fZGVjbGFyZTpcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2RlY2xhcmU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBtb2RpZmllcjtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZUVudGl0eU5hbWUoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICB3aGlsZSAoZWF0KHR0LmRvdCkpIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVJlZmVyZW5jZSgpIHtcbiAgdHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgaWYgKCFoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiBtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICB0c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VUaGlzVHlwZVByZWRpY2F0ZSgpIHtcbiAgbmV4dCgpO1xuICB0c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZVRoaXNUeXBlTm9kZSgpIHtcbiAgbmV4dCgpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVF1ZXJ5KCkge1xuICBleHBlY3QodHQuX3R5cGVvZik7XG4gIGlmIChtYXRjaCh0dC5faW1wb3J0KSkge1xuICAgIHRzUGFyc2VJbXBvcnRUeXBlKCk7XG4gIH0gZWxzZSB7XG4gICAgdHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgfVxuICBpZiAoIWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpICYmIG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIHRzUGFyc2VUeXBlQXJndW1lbnRzKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHNQYXJzZUltcG9ydFR5cGUoKSB7XG4gIGV4cGVjdCh0dC5faW1wb3J0KTtcbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG4gIGV4cGVjdCh0dC5zdHJpbmcpO1xuICBleHBlY3QodHQucGFyZW5SKTtcbiAgaWYgKGVhdCh0dC5kb3QpKSB7XG4gICAgdHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgfVxuICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHMoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVBhcmFtZXRlcigpIHtcbiAgZWF0KHR0Ll9jb25zdCk7XG4gIGNvbnN0IGhhZEluID0gZWF0KHR0Ll9pbik7XG4gIGNvbnN0IGhhZE91dCA9IGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX291dCk7XG4gIGVhdCh0dC5fY29uc3QpO1xuICBpZiAoKGhhZEluIHx8IGhhZE91dCkgJiYgIW1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgLy8gVGhlIFwiaW5cIiBvciBcIm91dFwiIGtleXdvcmQgbXVzdCBoYXZlIGFjdHVhbGx5IGJlZW4gdGhlIHR5cGUgcGFyYW1ldGVyXG4gICAgLy8gbmFtZSwgc28gc2V0IGl0IGFzIHRoZSBuYW1lLlxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Lm5hbWU7XG4gIH0gZWxzZSB7XG4gICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIH1cblxuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIHRzUGFyc2VUeXBlKCk7XG4gIH1cbiAgaWYgKGVhdCh0dC5lcSkpIHtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoKSB7XG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICB0c1BhcnNlVHlwZVBhcmFtZXRlcnMoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVBhcmFtZXRlcnMoKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSB8fCBtYXRjaCh0dC50eXBlUGFyYW1ldGVyU3RhcnQpKSB7XG4gICAgbmV4dCgpO1xuICB9IGVsc2Uge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxuXG4gIHdoaWxlICghZWF0KHR0LmdyZWF0ZXJUaGFuKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICB0c1BhcnNlVHlwZVBhcmFtZXRlcigpO1xuICAgIGVhdCh0dC5jb21tYSk7XG4gIH1cbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuLy8gTm90ZTogSW4gVHlwZVNjcmlwdCBpbXBsZW1lbnRhdGlvbiB3ZSBtdXN0IHByb3ZpZGUgYHlpZWxkQ29udGV4dGAgYW5kIGBhd2FpdENvbnRleHRgLFxuLy8gYnV0IGhlcmUgaXQncyBhbHdheXMgZmFsc2UsIGJlY2F1c2UgdGhpcyBpcyBvbmx5IHVzZWQgZm9yIHR5cGVzLlxuZnVuY3Rpb24gdHNGaWxsU2lnbmF0dXJlKHJldHVyblRva2VuKSB7XG4gIC8vIEFycm93IGZucyAqbXVzdCogaGF2ZSByZXR1cm4gdG9rZW4gKGA9PmApLiBOb3JtYWwgZnVuY3Rpb25zIGNhbiBvbWl0IGl0LlxuICBjb25zdCByZXR1cm5Ub2tlblJlcXVpcmVkID0gcmV0dXJuVG9rZW4gPT09IHR0LmFycm93O1xuICB0c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoKTtcbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG4gIC8vIENyZWF0ZSBhIHNjb3BlIGV2ZW4gdGhvdWdoIHdlJ3JlIGRvaW5nIHR5cGUgcGFyc2luZyBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHlcbiAgLy8gdHJlYXQgcGFyYW1zIGFzIHRvcC1sZXZlbCBiaW5kaW5ncy5cbiAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICB0c1BhcnNlQmluZGluZ0xpc3RGb3JTaWduYXR1cmUoZmFsc2UgLyogaXNCbG9ja1Njb3BlICovKTtcbiAgc3RhdGUuc2NvcGVEZXB0aC0tO1xuICBpZiAocmV0dXJuVG9rZW5SZXF1aXJlZCkge1xuICAgIHRzUGFyc2VUeXBlT3JUeXBlUHJlZGljYXRlQW5ub3RhdGlvbihyZXR1cm5Ub2tlbik7XG4gIH0gZWxzZSBpZiAobWF0Y2gocmV0dXJuVG9rZW4pKSB7XG4gICAgdHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKHJldHVyblRva2VuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlQmluZGluZ0xpc3RGb3JTaWduYXR1cmUoaXNCbG9ja1Njb3BlKSB7XG4gIHBhcnNlQmluZGluZ0xpc3QodHQucGFyZW5SLCBpc0Jsb2NrU2NvcGUpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZU1lbWJlclNlbWljb2xvbigpIHtcbiAgaWYgKCFlYXQodHQuY29tbWEpKSB7XG4gICAgc2VtaWNvbG9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHNQYXJzZVNpZ25hdHVyZU1lbWJlcigpIHtcbiAgdHNGaWxsU2lnbmF0dXJlKHR0LmNvbG9uKTtcbiAgdHNQYXJzZVR5cGVNZW1iZXJTZW1pY29sb24oKTtcbn1cblxuZnVuY3Rpb24gdHNJc1VuYW1iaWd1b3VzbHlJbmRleFNpZ25hdHVyZSgpIHtcbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICBuZXh0KCk7IC8vIFNraXAgJ3snXG4gIGNvbnN0IGlzSW5kZXhTaWduYXR1cmUgPSBlYXQodHQubmFtZSkgJiYgbWF0Y2godHQuY29sb24pO1xuICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgcmV0dXJuIGlzSW5kZXhTaWduYXR1cmU7XG59XG5cbmZ1bmN0aW9uIHRzVHJ5UGFyc2VJbmRleFNpZ25hdHVyZSgpIHtcbiAgaWYgKCEobWF0Y2godHQuYnJhY2tldEwpICYmIHRzSXNVbmFtYmlndW91c2x5SW5kZXhTaWduYXR1cmUoKSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMCk7XG5cbiAgZXhwZWN0KHR0LmJyYWNrZXRMKTtcbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIHRzUGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICBleHBlY3QodHQuYnJhY2tldFIpO1xuXG4gIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICB0c1BhcnNlVHlwZU1lbWJlclNlbWljb2xvbigpO1xuXG4gIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlUHJvcGVydHlPck1ldGhvZFNpZ25hdHVyZShpc1JlYWRvbmx5KSB7XG4gIGVhdCh0dC5xdWVzdGlvbik7XG5cbiAgaWYgKCFpc1JlYWRvbmx5ICYmIChtYXRjaCh0dC5wYXJlbkwpIHx8IG1hdGNoKHR0Lmxlc3NUaGFuKSkpIHtcbiAgICB0c0ZpbGxTaWduYXR1cmUodHQuY29sb24pO1xuICAgIHRzUGFyc2VUeXBlTWVtYmVyU2VtaWNvbG9uKCk7XG4gIH0gZWxzZSB7XG4gICAgdHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgdHNQYXJzZVR5cGVNZW1iZXJTZW1pY29sb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZU1lbWJlcigpIHtcbiAgaWYgKG1hdGNoKHR0LnBhcmVuTCkgfHwgbWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgLy8gY2FsbCBzaWduYXR1cmVcbiAgICB0c1BhcnNlU2lnbmF0dXJlTWVtYmVyKCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChtYXRjaCh0dC5fbmV3KSkge1xuICAgIG5leHQoKTtcbiAgICBpZiAobWF0Y2godHQucGFyZW5MKSB8fCBtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICAgIC8vIGNvbnN0cnVjdG9yIHNpZ25hdHVyZVxuICAgICAgdHNQYXJzZVNpZ25hdHVyZU1lbWJlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0c1BhcnNlUHJvcGVydHlPck1ldGhvZFNpZ25hdHVyZShmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCByZWFkb25seSA9ICEhdHNQYXJzZU1vZGlmaWVyKFtDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHldKTtcblxuICBjb25zdCBmb3VuZCA9IHRzVHJ5UGFyc2VJbmRleFNpZ25hdHVyZSgpO1xuICBpZiAoZm91bmQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKFxuICAgIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2dldCkgfHwgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9zZXQpKSAmJlxuICAgIHRzTmV4dFRva2VuQ2FuRm9sbG93TW9kaWZpZXIoKVxuICApIHtcbiAgICAvLyBUaGlzIGlzIGEgZ2V0dGVyL3NldHRlciBvbiBhIHR5cGUuIFRoZSB0c05leHRUb2tlbkNhbkZvbGxvd01vZGlmaWVyXG4gICAgLy8gZnVuY3Rpb24gYWxyZWFkeSBjYWxsZWQgbmV4dCgpIGZvciB1cywgc28gY29udGludWUgcGFyc2luZyB0aGUgbmFtZS5cbiAgfVxuICBwYXJzZVByb3BlcnR5TmFtZSgtMSAvKiBUeXBlcyBkb24ndCBuZWVkIGNvbnRleHQgSURzLiAqLyk7XG4gIHRzUGFyc2VQcm9wZXJ0eU9yTWV0aG9kU2lnbmF0dXJlKHJlYWRvbmx5KTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZVR5cGVMaXRlcmFsKCkge1xuICB0c1BhcnNlT2JqZWN0VHlwZU1lbWJlcnMoKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZU9iamVjdFR5cGVNZW1iZXJzKCkge1xuICBleHBlY3QodHQuYnJhY2VMKTtcbiAgd2hpbGUgKCFlYXQodHQuYnJhY2VSKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICB0c1BhcnNlVHlwZU1lbWJlcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzTG9va2FoZWFkSXNTdGFydE9mTWFwcGVkVHlwZSgpIHtcbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICBjb25zdCBpc1N0YXJ0T2ZNYXBwZWRUeXBlID0gdHNJc1N0YXJ0T2ZNYXBwZWRUeXBlKCk7XG4gIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICByZXR1cm4gaXNTdGFydE9mTWFwcGVkVHlwZTtcbn1cblxuZnVuY3Rpb24gdHNJc1N0YXJ0T2ZNYXBwZWRUeXBlKCkge1xuICBuZXh0KCk7XG4gIGlmIChlYXQodHQucGx1cykgfHwgZWF0KHR0Lm1pbnVzKSkge1xuICAgIHJldHVybiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3JlYWRvbmx5KTtcbiAgfVxuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9yZWFkb25seSkpIHtcbiAgICBuZXh0KCk7XG4gIH1cbiAgaWYgKCFtYXRjaCh0dC5icmFja2V0TCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgbmV4dCgpO1xuICBpZiAoIXRzSXNJZGVudGlmaWVyKCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgbmV4dCgpO1xuICByZXR1cm4gbWF0Y2godHQuX2luKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZU1hcHBlZFR5cGVQYXJhbWV0ZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBleHBlY3QodHQuX2luKTtcbiAgdHNQYXJzZVR5cGUoKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZU1hcHBlZFR5cGUoKSB7XG4gIGV4cGVjdCh0dC5icmFjZUwpO1xuICBpZiAobWF0Y2godHQucGx1cykgfHwgbWF0Y2godHQubWludXMpKSB7XG4gICAgbmV4dCgpO1xuICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3JlYWRvbmx5KTtcbiAgfSBlbHNlIHtcbiAgICBlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9yZWFkb25seSk7XG4gIH1cbiAgZXhwZWN0KHR0LmJyYWNrZXRMKTtcbiAgdHNQYXJzZU1hcHBlZFR5cGVQYXJhbWV0ZXIoKTtcbiAgaWYgKGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzKSkge1xuICAgIHRzUGFyc2VUeXBlKCk7XG4gIH1cbiAgZXhwZWN0KHR0LmJyYWNrZXRSKTtcbiAgaWYgKG1hdGNoKHR0LnBsdXMpIHx8IG1hdGNoKHR0Lm1pbnVzKSkge1xuICAgIG5leHQoKTtcbiAgICBleHBlY3QodHQucXVlc3Rpb24pO1xuICB9IGVsc2Uge1xuICAgIGVhdCh0dC5xdWVzdGlvbik7XG4gIH1cbiAgdHNUcnlQYXJzZVR5cGUoKTtcbiAgc2VtaWNvbG9uKCk7XG4gIGV4cGVjdCh0dC5icmFjZVIpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHVwbGVUeXBlKCkge1xuICBleHBlY3QodHQuYnJhY2tldEwpO1xuICB3aGlsZSAoIWVhdCh0dC5icmFja2V0UikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgLy8gRG8gbm90IHZhbGlkYXRlIHByZXNlbmNlIG9mIGVpdGhlciBub25lIG9yIG9ubHkgbGFiZWxlZCBlbGVtZW50c1xuICAgIHRzUGFyc2VUdXBsZUVsZW1lbnRUeXBlKCk7XG4gICAgZWF0KHR0LmNvbW1hKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHVwbGVFbGVtZW50VHlwZSgpIHtcbiAgLy8gcGFyc2VzIGAuLi5Uc1R5cGVbXWBcbiAgaWYgKGVhdCh0dC5lbGxpcHNpcykpIHtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICB9IGVsc2Uge1xuICAgIC8vIHBhcnNlcyBgVHNUeXBlP2BcbiAgICB0c1BhcnNlVHlwZSgpO1xuICAgIGVhdCh0dC5xdWVzdGlvbik7XG4gIH1cblxuICAvLyBUaGUgdHlwZSB3ZSBwYXJzZWQgYWJvdmUgd2FzIGFjdHVhbGx5IGEgbGFiZWxcbiAgaWYgKGVhdCh0dC5jb2xvbikpIHtcbiAgICAvLyBMYWJlbGVkIHR1cGxlIHR5cGVzIG11c3QgYWZmaXggdGhlIGxhYmVsIHdpdGggYC4uLmAgb3IgYD9gLCBzbyBubyBuZWVkIHRvIGhhbmRsZSB0aG9zZSBoZXJlXG4gICAgdHNQYXJzZVR5cGUoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlUGFyZW50aGVzaXplZFR5cGUoKSB7XG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICB0c1BhcnNlVHlwZSgpO1xuICBleHBlY3QodHQucGFyZW5SKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZVRlbXBsYXRlTGl0ZXJhbFR5cGUoKSB7XG4gIC8vIEZpbmlzaCBgLCByZWFkIHF1YXNpXG4gIG5leHRUZW1wbGF0ZVRva2VuKCk7XG4gIC8vIEZpbmlzaCBxdWFzaSwgcmVhZCAke1xuICBuZXh0VGVtcGxhdGVUb2tlbigpO1xuICB3aGlsZSAoIW1hdGNoKHR0LmJhY2tRdW90ZSkgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgZXhwZWN0KHR0LmRvbGxhckJyYWNlTCk7XG4gICAgdHNQYXJzZVR5cGUoKTtcbiAgICAvLyBGaW5pc2ggfSwgcmVhZCBxdWFzaVxuICAgIG5leHRUZW1wbGF0ZVRva2VuKCk7XG4gICAgLy8gRmluaXNoIHF1YXNpLCByZWFkIGVpdGhlciAkeyBvciBgXG4gICAgbmV4dFRlbXBsYXRlVG9rZW4oKTtcbiAgfVxuICBuZXh0KCk7XG59XG5cbnZhciBGdW5jdGlvblR5cGU7IChmdW5jdGlvbiAoRnVuY3Rpb25UeXBlKSB7XG4gIGNvbnN0IFRTRnVuY3Rpb25UeXBlID0gMDsgRnVuY3Rpb25UeXBlW0Z1bmN0aW9uVHlwZVtcIlRTRnVuY3Rpb25UeXBlXCJdID0gVFNGdW5jdGlvblR5cGVdID0gXCJUU0Z1bmN0aW9uVHlwZVwiO1xuICBjb25zdCBUU0NvbnN0cnVjdG9yVHlwZSA9IFRTRnVuY3Rpb25UeXBlICsgMTsgRnVuY3Rpb25UeXBlW0Z1bmN0aW9uVHlwZVtcIlRTQ29uc3RydWN0b3JUeXBlXCJdID0gVFNDb25zdHJ1Y3RvclR5cGVdID0gXCJUU0NvbnN0cnVjdG9yVHlwZVwiO1xuICBjb25zdCBUU0Fic3RyYWN0Q29uc3RydWN0b3JUeXBlID0gVFNDb25zdHJ1Y3RvclR5cGUgKyAxOyBGdW5jdGlvblR5cGVbRnVuY3Rpb25UeXBlW1wiVFNBYnN0cmFjdENvbnN0cnVjdG9yVHlwZVwiXSA9IFRTQWJzdHJhY3RDb25zdHJ1Y3RvclR5cGVdID0gXCJUU0Fic3RyYWN0Q29uc3RydWN0b3JUeXBlXCI7XG59KShGdW5jdGlvblR5cGUgfHwgKEZ1bmN0aW9uVHlwZSA9IHt9KSk7XG5cbmZ1bmN0aW9uIHRzUGFyc2VGdW5jdGlvbk9yQ29uc3RydWN0b3JUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT09IEZ1bmN0aW9uVHlwZS5UU0Fic3RyYWN0Q29uc3RydWN0b3JUeXBlKSB7XG4gICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYWJzdHJhY3QpO1xuICB9XG4gIGlmICh0eXBlID09PSBGdW5jdGlvblR5cGUuVFNDb25zdHJ1Y3RvclR5cGUgfHwgdHlwZSA9PT0gRnVuY3Rpb25UeXBlLlRTQWJzdHJhY3RDb25zdHJ1Y3RvclR5cGUpIHtcbiAgICBleHBlY3QodHQuX25ldyk7XG4gIH1cbiAgY29uc3Qgb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xuICBzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBmYWxzZTtcbiAgdHNGaWxsU2lnbmF0dXJlKHR0LmFycm93KTtcbiAgc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlTm9uQXJyYXlUeXBlKCkge1xuICBzd2l0Y2ggKHN0YXRlLnR5cGUpIHtcbiAgICBjYXNlIHR0Lm5hbWU6XG4gICAgICB0c1BhcnNlVHlwZVJlZmVyZW5jZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX3ZvaWQ6XG4gICAgY2FzZSB0dC5fbnVsbDpcbiAgICAgIG5leHQoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0LnN0cmluZzpcbiAgICBjYXNlIHR0Lm51bTpcbiAgICBjYXNlIHR0LmJpZ2ludDpcbiAgICBjYXNlIHR0LmRlY2ltYWw6XG4gICAgY2FzZSB0dC5fdHJ1ZTpcbiAgICBjYXNlIHR0Ll9mYWxzZTpcbiAgICAgIHBhcnNlTGl0ZXJhbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQubWludXM6XG4gICAgICBuZXh0KCk7XG4gICAgICBwYXJzZUxpdGVyYWwoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0Ll90aGlzOiB7XG4gICAgICB0c1BhcnNlVGhpc1R5cGVOb2RlKCk7XG4gICAgICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pcykgJiYgIWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSB7XG4gICAgICAgIHRzUGFyc2VUaGlzVHlwZVByZWRpY2F0ZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYXNlIHR0Ll90eXBlb2Y6XG4gICAgICB0c1BhcnNlVHlwZVF1ZXJ5KCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSB0dC5faW1wb3J0OlxuICAgICAgdHNQYXJzZUltcG9ydFR5cGUoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0LmJyYWNlTDpcbiAgICAgIGlmICh0c0xvb2thaGVhZElzU3RhcnRPZk1hcHBlZFR5cGUoKSkge1xuICAgICAgICB0c1BhcnNlTWFwcGVkVHlwZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHNQYXJzZVR5cGVMaXRlcmFsKCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgY2FzZSB0dC5icmFja2V0TDpcbiAgICAgIHRzUGFyc2VUdXBsZVR5cGUoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0LnBhcmVuTDpcbiAgICAgIHRzUGFyc2VQYXJlbnRoZXNpemVkVHlwZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuYmFja1F1b3RlOlxuICAgICAgdHNQYXJzZVRlbXBsYXRlTGl0ZXJhbFR5cGUoKTtcbiAgICAgIHJldHVybjtcbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfS0VZV09SRCkge1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Lm5hbWU7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdW5leHBlY3RlZCgpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlQXJyYXlUeXBlT3JIaWdoZXIoKSB7XG4gIHRzUGFyc2VOb25BcnJheVR5cGUoKTtcbiAgd2hpbGUgKCFoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiBlYXQodHQuYnJhY2tldEwpKSB7XG4gICAgaWYgKCFlYXQodHQuYnJhY2tldFIpKSB7XG4gICAgICAvLyBJZiB3ZSBoaXQgXSBpbW1lZGlhdGVseSwgdGhpcyBpcyBhbiBhcnJheSB0eXBlLCBvdGhlcndpc2UgaXQncyBhbiBpbmRleGVkIGFjY2VzcyB0eXBlLlxuICAgICAgdHNQYXJzZVR5cGUoKTtcbiAgICAgIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VJbmZlclR5cGUoKSB7XG4gIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2luZmVyKTtcbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmIChtYXRjaCh0dC5fZXh0ZW5kcykpIHtcbiAgICAvLyBJbmZlciB0eXBlIGNvbnN0cmFpbnRzIGludHJvZHVjZSBhbiBhbWJpZ3VpdHkgYWJvdXQgd2hldGhlciB0aGUgXCJleHRlbmRzXCJcbiAgICAvLyBpcyBhIGNvbnN0cmFpbnQgZm9yIHRoaXMgaW5mZXIgdHlwZSBvciBpcyBhbm90aGVyIGNvbmRpdGlvbmFsIHR5cGUuXG4gICAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICAgIGV4cGVjdCh0dC5fZXh0ZW5kcyk7XG4gICAgY29uc3Qgb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xuICAgIHN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IHRydWU7XG4gICAgdHNQYXJzZVR5cGUoKTtcbiAgICBzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBvbGRJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7XG4gICAgaWYgKHN0YXRlLmVycm9yIHx8ICghc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ICYmIG1hdGNoKHR0LnF1ZXN0aW9uKSkpIHtcbiAgICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZU9wZXJhdG9yT3JIaWdoZXIoKSB7XG4gIGlmIChcbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2tleW9mKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdW5pcXVlKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHkpXG4gICkge1xuICAgIG5leHQoKTtcbiAgICB0c1BhcnNlVHlwZU9wZXJhdG9yT3JIaWdoZXIoKTtcbiAgfSBlbHNlIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2luZmVyKSkge1xuICAgIHRzUGFyc2VJbmZlclR5cGUoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBvbGRJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7XG4gICAgc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gZmFsc2U7XG4gICAgdHNQYXJzZUFycmF5VHlwZU9ySGlnaGVyKCk7XG4gICAgc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VJbnRlcnNlY3Rpb25UeXBlT3JIaWdoZXIoKSB7XG4gIGVhdCh0dC5iaXR3aXNlQU5EKTtcbiAgdHNQYXJzZVR5cGVPcGVyYXRvck9ySGlnaGVyKCk7XG4gIGlmIChtYXRjaCh0dC5iaXR3aXNlQU5EKSkge1xuICAgIHdoaWxlIChlYXQodHQuYml0d2lzZUFORCkpIHtcbiAgICAgIHRzUGFyc2VUeXBlT3BlcmF0b3JPckhpZ2hlcigpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVW5pb25UeXBlT3JIaWdoZXIoKSB7XG4gIGVhdCh0dC5iaXR3aXNlT1IpO1xuICB0c1BhcnNlSW50ZXJzZWN0aW9uVHlwZU9ySGlnaGVyKCk7XG4gIGlmIChtYXRjaCh0dC5iaXR3aXNlT1IpKSB7XG4gICAgd2hpbGUgKGVhdCh0dC5iaXR3aXNlT1IpKSB7XG4gICAgICB0c1BhcnNlSW50ZXJzZWN0aW9uVHlwZU9ySGlnaGVyKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRzSXNTdGFydE9mRnVuY3Rpb25UeXBlKCkge1xuICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIG1hdGNoKHR0LnBhcmVuTCkgJiYgdHNMb29rYWhlYWRJc1VuYW1iaWd1b3VzbHlTdGFydE9mRnVuY3Rpb25UeXBlKCk7XG59XG5cbmZ1bmN0aW9uIHRzU2tpcFBhcmFtZXRlclN0YXJ0KCkge1xuICBpZiAobWF0Y2godHQubmFtZSkgfHwgbWF0Y2godHQuX3RoaXMpKSB7XG4gICAgbmV4dCgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmIHRoaXMgaXMgYSBwb3NzaWJsZSBhcnJheS9vYmplY3QgZGVzdHJ1Y3R1cmUsIHdhbGsgdG8gdGhlIG1hdGNoaW5nIGJyYWNrZXQvYnJhY2UuXG4gIC8vIFRoZSBuZXh0IHRva2VuIGFmdGVyIHdpbGwgdGVsbCB1cyBkZWZpbml0aXZlbHkgd2hldGhlciB0aGlzIGlzIGEgZnVuY3Rpb24gcGFyYW0uXG4gIGlmIChtYXRjaCh0dC5icmFjZUwpIHx8IG1hdGNoKHR0LmJyYWNrZXRMKSkge1xuICAgIGxldCBkZXB0aCA9IDE7XG4gICAgbmV4dCgpO1xuICAgIHdoaWxlIChkZXB0aCA+IDAgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgICBpZiAobWF0Y2godHQuYnJhY2VMKSB8fCBtYXRjaCh0dC5icmFja2V0TCkpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH0gZWxzZSBpZiAobWF0Y2godHQuYnJhY2VSKSB8fCBtYXRjaCh0dC5icmFja2V0UikpIHtcbiAgICAgICAgZGVwdGgtLTtcbiAgICAgIH1cbiAgICAgIG5leHQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiB0c0xvb2thaGVhZElzVW5hbWJpZ3VvdXNseVN0YXJ0T2ZGdW5jdGlvblR5cGUoKSB7XG4gIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgY29uc3QgaXNVbmFtYmlndW91c2x5U3RhcnRPZkZ1bmN0aW9uVHlwZSA9IHRzSXNVbmFtYmlndW91c2x5U3RhcnRPZkZ1bmN0aW9uVHlwZSgpO1xuICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgcmV0dXJuIGlzVW5hbWJpZ3VvdXNseVN0YXJ0T2ZGdW5jdGlvblR5cGU7XG59XG5cbmZ1bmN0aW9uIHRzSXNVbmFtYmlndW91c2x5U3RhcnRPZkZ1bmN0aW9uVHlwZSgpIHtcbiAgbmV4dCgpO1xuICBpZiAobWF0Y2godHQucGFyZW5SKSB8fCBtYXRjaCh0dC5lbGxpcHNpcykpIHtcbiAgICAvLyAoIClcbiAgICAvLyAoIC4uLlxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmICh0c1NraXBQYXJhbWV0ZXJTdGFydCgpKSB7XG4gICAgaWYgKG1hdGNoKHR0LmNvbG9uKSB8fCBtYXRjaCh0dC5jb21tYSkgfHwgbWF0Y2godHQucXVlc3Rpb24pIHx8IG1hdGNoKHR0LmVxKSkge1xuICAgICAgLy8gKCB4eHggOlxuICAgICAgLy8gKCB4eHggLFxuICAgICAgLy8gKCB4eHggP1xuICAgICAgLy8gKCB4eHggPVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChtYXRjaCh0dC5wYXJlblIpKSB7XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAobWF0Y2godHQuYXJyb3cpKSB7XG4gICAgICAgIC8vICggeHh4ICkgPT5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKHJldHVyblRva2VuKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgZXhwZWN0KHJldHVyblRva2VuKTtcbiAgY29uc3QgZmluaXNoZWRSZXR1cm4gPSB0c1BhcnNlVHlwZVByZWRpY2F0ZU9yQXNzZXJ0c1ByZWZpeCgpO1xuICBpZiAoIWZpbmlzaGVkUmV0dXJuKSB7XG4gICAgdHNQYXJzZVR5cGUoKTtcbiAgfVxuICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xufVxuXG5mdW5jdGlvbiB0c1RyeVBhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oKSB7XG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICB0c1BhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24odHQuY29sb24pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1RyeVBhcnNlVHlwZUFubm90YXRpb24oKSB7XG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICB0c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1RyeVBhcnNlVHlwZSgpIHtcbiAgaWYgKGVhdCh0dC5jb2xvbikpIHtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICB9XG59XG5cbi8qKlxuICogRGV0ZWN0IGEgZmV3IHNwZWNpYWwgcmV0dXJuIHN5bnRheCBjYXNlczogYHggaXMgVGAsIGBhc3NlcnRzIHhgLCBgYXNzZXJ0cyB4IGlzIFRgLFxuICogYGFzc2VydHMgdGhpcyBpcyBUYC5cbiAqXG4gKiBSZXR1cm5zIHRydWUgaWYgd2UgcGFyc2VkIHRoZSByZXR1cm4gdHlwZSwgZmFsc2UgaWYgdGhlcmUncyBzdGlsbCBhIHR5cGUgdG8gYmUgcGFyc2VkLlxuICovXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVByZWRpY2F0ZU9yQXNzZXJ0c1ByZWZpeCgpIHtcbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hc3NlcnRzKSkge1xuICAgIC8vIE5vcm1hbGx5IHRoaXMgaXMgYGFzc2VydHMgeCBpcyBUYCwgYnV0IGF0IHRoaXMgcG9pbnQsIGl0IG1pZ2h0IGJlIGBhc3NlcnRzIGlzIFRgIChhIHVzZXItXG4gICAgLy8gZGVmaW5lZCB0eXBlIGd1YXJkIG9uIHRoZSBgYXNzZXJ0c2AgdmFyaWFibGUpIG9yIGp1c3QgYSB0eXBlIGNhbGxlZCBgYXNzZXJ0c2AuXG4gICAgbmV4dCgpO1xuICAgIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pcykpIHtcbiAgICAgIC8vIElmIHdlIHNlZSBgYXNzZXJ0cyBpc2AsIHRoZW4gdGhpcyBtdXN0IGJlIG9mIHRoZSBmb3JtIGBhc3NlcnRzIGlzIFRgLCBzaW5jZVxuICAgICAgLy8gYGFzc2VydHMgaXMgaXMgVGAgaXNuJ3QgdmFsaWQuXG4gICAgICB0c1BhcnNlVHlwZSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh0c0lzSWRlbnRpZmllcigpIHx8IG1hdGNoKHR0Ll90aGlzKSkge1xuICAgICAgbmV4dCgpO1xuICAgICAgaWYgKGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2lzKSkge1xuICAgICAgICAvLyBJZiB3ZSBzZWUgYGlzYCwgdGhlbiB0aGlzIGlzIGBhc3NlcnRzIHggaXMgVGAuIE90aGVyd2lzZSwgaXQncyBgYXNzZXJ0cyB4YC5cbiAgICAgICAgdHNQYXJzZVR5cGUoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWd1bGFyIHR5cGUsIHNvIGJhaWwgb3V0IGFuZCBzdGFydCB0eXBlIHBhcnNpbmcgZnJvbSBzY3JhdGNoLlxuICAgICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKHRzSXNJZGVudGlmaWVyKCkgfHwgbWF0Y2godHQuX3RoaXMpKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlZ3VsYXIgaWRlbnRpZmllciwgd2hpY2ggbWF5IG9yIG1heSBub3QgaGF2ZSBcImlzXCIgYWZ0ZXIgaXQuXG4gICAgbmV4dCgpO1xuICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2lzKSAmJiAhaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpIHtcbiAgICAgIG5leHQoKTtcbiAgICAgIHRzUGFyc2VUeXBlKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVndWxhciB0eXBlLCBzbyBiYWlsIG91dCBhbmQgc3RhcnQgdHlwZSBwYXJzaW5nIGZyb20gc2NyYXRjaC5cbiAgICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1BhcnNlVHlwZUFubm90YXRpb24oKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgZXhwZWN0KHR0LmNvbG9uKTtcbiAgdHNQYXJzZVR5cGUoKTtcbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VUeXBlKCkge1xuICB0c1BhcnNlTm9uQ29uZGl0aW9uYWxUeXBlKCk7XG4gIGlmIChzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgfHwgaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkgfHwgIWVhdCh0dC5fZXh0ZW5kcykpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLy8gZXh0ZW5kcyB0eXBlXG4gIGNvbnN0IG9sZEluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IHN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dDtcbiAgc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gdHJ1ZTtcbiAgdHNQYXJzZU5vbkNvbmRpdGlvbmFsVHlwZSgpO1xuICBzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBvbGRJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7XG5cbiAgZXhwZWN0KHR0LnF1ZXN0aW9uKTtcbiAgLy8gdHJ1ZSB0eXBlXG4gIHRzUGFyc2VUeXBlKCk7XG4gIGV4cGVjdCh0dC5jb2xvbik7XG4gIC8vIGZhbHNlIHR5cGVcbiAgdHNQYXJzZVR5cGUoKTtcbn1cblxuZnVuY3Rpb24gaXNBYnN0cmFjdENvbnN0cnVjdG9yU2lnbmF0dXJlKCkge1xuICByZXR1cm4gaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdCkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5fbmV3O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZU5vbkNvbmRpdGlvbmFsVHlwZSgpIHtcbiAgaWYgKHRzSXNTdGFydE9mRnVuY3Rpb25UeXBlKCkpIHtcbiAgICB0c1BhcnNlRnVuY3Rpb25PckNvbnN0cnVjdG9yVHlwZShGdW5jdGlvblR5cGUuVFNGdW5jdGlvblR5cGUpO1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAobWF0Y2godHQuX25ldykpIHtcbiAgICAvLyBBcyBpbiBgbmV3ICgpID0+IERhdGVgXG4gICAgdHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUoRnVuY3Rpb25UeXBlLlRTQ29uc3RydWN0b3JUeXBlKTtcbiAgICByZXR1cm47XG4gIH0gZWxzZSBpZiAoaXNBYnN0cmFjdENvbnN0cnVjdG9yU2lnbmF0dXJlKCkpIHtcbiAgICAvLyBBcyBpbiBgYWJzdHJhY3QgbmV3ICgpID0+IERhdGVgXG4gICAgdHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUoRnVuY3Rpb25UeXBlLlRTQWJzdHJhY3RDb25zdHJ1Y3RvclR5cGUpO1xuICAgIHJldHVybjtcbiAgfVxuICB0c1BhcnNlVW5pb25UeXBlT3JIaWdoZXIoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VUeXBlQXNzZXJ0aW9uKCkge1xuICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMSk7XG4gIHRzUGFyc2VUeXBlKCk7XG4gIGV4cGVjdCh0dC5ncmVhdGVyVGhhbik7XG4gIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIHBhcnNlTWF5YmVVbmFyeSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNUcnlQYXJzZUpTWFR5cGVBcmd1bWVudCgpIHtcbiAgaWYgKGVhdCh0dC5qc3hUYWdTdGFydCkpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC50eXBlUGFyYW1ldGVyU3RhcnQ7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgIHdoaWxlICghbWF0Y2godHQuZ3JlYXRlclRoYW4pICYmICFzdGF0ZS5lcnJvcikge1xuICAgICAgdHNQYXJzZVR5cGUoKTtcbiAgICAgIGVhdCh0dC5jb21tYSk7XG4gICAgfVxuICAgIC8vIFByb2Nlc3MgPiwgYnV0IHRoZSBvbmUgYWZ0ZXIgbmVlZHMgdG8gYmUgcGFyc2VkIEpTWC1zdHlsZS5cbiAgICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VIZXJpdGFnZUNsYXVzZSgpIHtcbiAgd2hpbGUgKCFtYXRjaCh0dC5icmFjZUwpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIHRzUGFyc2VFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHMoKTtcbiAgICBlYXQodHQuY29tbWEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHMoKSB7XG4gIC8vIE5vdGU6IFRTIHVzZXMgcGFyc2VMZWZ0SGFuZFNpZGVFeHByZXNzaW9uT3JIaWdoZXIsXG4gIC8vIHRoZW4gaGFzIGdyYW1tYXIgZXJyb3JzIGxhdGVyIGlmIGl0J3Mgbm90IGFuIEVudGl0eU5hbWUuXG4gIHRzUGFyc2VFbnRpdHlOYW1lKCk7XG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICB0c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VJbnRlcmZhY2VEZWNsYXJhdGlvbigpIHtcbiAgcGFyc2VCaW5kaW5nSWRlbnRpZmllcihmYWxzZSk7XG4gIHRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycygpO1xuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIHRzUGFyc2VIZXJpdGFnZUNsYXVzZSgpO1xuICB9XG4gIHRzUGFyc2VPYmplY3RUeXBlTWVtYmVycygpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZUFsaWFzRGVjbGFyYXRpb24oKSB7XG4gIHBhcnNlQmluZGluZ0lkZW50aWZpZXIoZmFsc2UpO1xuICB0c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoKTtcbiAgZXhwZWN0KHR0LmVxKTtcbiAgdHNQYXJzZVR5cGUoKTtcbiAgc2VtaWNvbG9uKCk7XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VFbnVtTWVtYmVyKCkge1xuICAvLyBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lcyBhcmUgZ3JhbW1hciBlcnJvcnMgaW4gYW4gZW51bSwgc28gYWNjZXB0IGp1c3Qgc3RyaW5nIGxpdGVyYWwgb3IgaWRlbnRpZmllci5cbiAgaWYgKG1hdGNoKHR0LnN0cmluZykpIHtcbiAgICBwYXJzZUxpdGVyYWwoKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxuICBpZiAoZWF0KHR0LmVxKSkge1xuICAgIGNvbnN0IGVxSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMTtcbiAgICBwYXJzZU1heWJlQXNzaWduKCk7XG4gICAgc3RhdGUudG9rZW5zW2VxSW5kZXhdLnJoc0VuZEluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlRW51bURlY2xhcmF0aW9uKCkge1xuICBwYXJzZUJpbmRpbmdJZGVudGlmaWVyKGZhbHNlKTtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gIHdoaWxlICghZWF0KHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgdHNQYXJzZUVudW1NZW1iZXIoKTtcbiAgICBlYXQodHQuY29tbWEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VNb2R1bGVCbG9jaygpIHtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gIHBhcnNlQmxvY2tCb2R5KC8qIGVuZCAqLyB0dC5icmFjZVIpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlTW9kdWxlT3JOYW1lc3BhY2VEZWNsYXJhdGlvbigpIHtcbiAgcGFyc2VCaW5kaW5nSWRlbnRpZmllcihmYWxzZSk7XG4gIGlmIChlYXQodHQuZG90KSkge1xuICAgIHRzUGFyc2VNb2R1bGVPck5hbWVzcGFjZURlY2xhcmF0aW9uKCk7XG4gIH0gZWxzZSB7XG4gICAgdHNQYXJzZU1vZHVsZUJsb2NrKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHNQYXJzZUFtYmllbnRFeHRlcm5hbE1vZHVsZURlY2xhcmF0aW9uKCkge1xuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9nbG9iYWwpKSB7XG4gICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfSBlbHNlIHtcbiAgICB1bmV4cGVjdGVkKCk7XG4gIH1cblxuICBpZiAobWF0Y2godHQuYnJhY2VMKSkge1xuICAgIHRzUGFyc2VNb2R1bGVCbG9jaygpO1xuICB9IGVsc2Uge1xuICAgIHNlbWljb2xvbigpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1BhcnNlSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24oKSB7XG4gIHBhcnNlSW1wb3J0ZWRJZGVudGlmaWVyKCk7XG4gIGV4cGVjdCh0dC5lcSk7XG4gIHRzUGFyc2VNb2R1bGVSZWZlcmVuY2UoKTtcbiAgc2VtaWNvbG9uKCk7XG59XG5cbmZ1bmN0aW9uIHRzSXNFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZSgpIHtcbiAgcmV0dXJuIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fcmVxdWlyZSkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5wYXJlbkw7XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VNb2R1bGVSZWZlcmVuY2UoKSB7XG4gIGlmICh0c0lzRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2UoKSkge1xuICAgIHRzUGFyc2VFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZSgpO1xuICB9IGVsc2Uge1xuICAgIHRzUGFyc2VFbnRpdHlOYW1lKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHNQYXJzZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlKCkge1xuICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9yZXF1aXJlKTtcbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG4gIGlmICghbWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxuICBwYXJzZUxpdGVyYWwoKTtcbiAgZXhwZWN0KHR0LnBhcmVuUik7XG59XG5cbi8vIFV0aWxpdGllc1xuXG4vLyBSZXR1cm5zIHRydWUgaWYgYSBzdGF0ZW1lbnQgbWF0Y2hlZC5cbmZ1bmN0aW9uIHRzVHJ5UGFyc2VEZWNsYXJlKCkge1xuICBpZiAoaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN3aXRjaCAoc3RhdGUudHlwZSkge1xuICAgIGNhc2UgdHQuX2Z1bmN0aW9uOiB7XG4gICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMSk7XG4gICAgICBuZXh0KCk7XG4gICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHByZWNpc2VseSBnZXQgdGhlIGZ1bmN0aW9uIHN0YXJ0IGhlcmUsIHNpbmNlIGl0J3Mgb25seSB1c2VkIHRvIG1hcmtcbiAgICAgIC8vIHRoZSBmdW5jdGlvbiBhcyBhIHR5cGUgaWYgaXQncyBib2RpbGVzcywgYW5kIGl0J3MgYWxyZWFkeSBhIHR5cGUgaGVyZS5cbiAgICAgIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgICAgIHBhcnNlRnVuY3Rpb24oZnVuY3Rpb25TdGFydCwgLyogaXNTdGF0ZW1lbnQgKi8gdHJ1ZSk7XG4gICAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNhc2UgdHQuX2NsYXNzOiB7XG4gICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMSk7XG4gICAgICBwYXJzZUNsYXNzKC8qIGlzU3RhdGVtZW50ICovIHRydWUsIC8qIG9wdGlvbmFsSWQgKi8gZmFsc2UpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjYXNlIHR0Ll9jb25zdDoge1xuICAgICAgaWYgKG1hdGNoKHR0Ll9jb25zdCkgJiYgaXNMb29rYWhlYWRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9lbnVtKSkge1xuICAgICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMSk7XG4gICAgICAgIC8vIGBjb25zdCBlbnVtID0gMDtgIG5vdCBhbGxvd2VkIGJlY2F1c2UgXCJlbnVtXCIgaXMgYSBzdHJpY3QgbW9kZSByZXNlcnZlZCB3b3JkLlxuICAgICAgICBleHBlY3QodHQuX2NvbnN0KTtcbiAgICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZW51bSk7XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9lbnVtO1xuICAgICAgICB0c1BhcnNlRW51bURlY2xhcmF0aW9uKCk7XG4gICAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgY2FzZSB0dC5fdmFyOlxuICAgIGNhc2UgdHQuX2xldDoge1xuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgICAgcGFyc2VWYXJTdGF0ZW1lbnQoc3RhdGUudHlwZSAhPT0gdHQuX3Zhcik7XG4gICAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNhc2UgdHQubmFtZToge1xuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgICAgY29uc3QgY29udGV4dHVhbEtleXdvcmQgPSBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZDtcbiAgICAgIGxldCBtYXRjaGVkID0gZmFsc2U7XG4gICAgICBpZiAoY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9nbG9iYWwpIHtcbiAgICAgICAgdHNQYXJzZUFtYmllbnRFeHRlcm5hbE1vZHVsZURlY2xhcmF0aW9uKCk7XG4gICAgICAgIG1hdGNoZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWF0Y2hlZCA9IHRzUGFyc2VEZWNsYXJhdGlvbihjb250ZXh0dWFsS2V5d29yZCwgLyogaXNCZWZvcmVUb2tlbiAqLyB0cnVlKTtcbiAgICAgIH1cbiAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgICByZXR1cm4gbWF0Y2hlZDtcbiAgICB9XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLyBOb3RlOiB0aGlzIHdvbid0IGJlIGNhbGxlZCB1bmxlc3MgdGhlIGtleXdvcmQgaXMgYWxsb3dlZCBpbiBgc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbmAuXG4vLyBSZXR1cm5zIHRydWUgaWYgaXQgbWF0Y2hlZCBhIGRlY2xhcmF0aW9uLlxuZnVuY3Rpb24gdHNUcnlQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkge1xuICByZXR1cm4gdHNQYXJzZURlY2xhcmF0aW9uKHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkLCAvKiBpc0JlZm9yZVRva2VuICovIHRydWUpO1xufVxuXG4vLyBSZXR1cm5zIHRydWUgaWYgaXQgbWF0Y2hlZCBhIHN0YXRlbWVudC5cbmZ1bmN0aW9uIHRzUGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGNvbnRleHR1YWxLZXl3b3JkKSB7XG4gIHN3aXRjaCAoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9kZWNsYXJlOiB7XG4gICAgICBjb25zdCBkZWNsYXJlVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGggLSAxO1xuICAgICAgY29uc3QgbWF0Y2hlZCA9IHRzVHJ5UGFyc2VEZWNsYXJlKCk7XG4gICAgICBpZiAobWF0Y2hlZCkge1xuICAgICAgICBzdGF0ZS50b2tlbnNbZGVjbGFyZVRva2VuSW5kZXhdLnR5cGUgPSB0dC5fZGVjbGFyZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fZ2xvYmFsOlxuICAgICAgLy8gYGdsb2JhbCB7IH1gICh3aXRoIG5vIGBkZWNsYXJlYCkgbWF5IGFwcGVhciBpbnNpZGUgYW4gYW1iaWVudCBtb2R1bGUgZGVjbGFyYXRpb24uXG4gICAgICAvLyBXb3VsZCBsaWtlIHRvIHVzZSB0c1BhcnNlQW1iaWVudEV4dGVybmFsTW9kdWxlRGVjbGFyYXRpb24gaGVyZSwgYnV0IGFscmVhZHkgcmFuIHBhc3QgXCJnbG9iYWxcIi5cbiAgICAgIGlmIChtYXRjaCh0dC5icmFjZUwpKSB7XG4gICAgICAgIHRzUGFyc2VNb2R1bGVCbG9jaygpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB0c1BhcnNlRGVjbGFyYXRpb24oY29udGV4dHVhbEtleXdvcmQsIC8qIGlzQmVmb3JlVG9rZW4gKi8gZmFsc2UpO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDb21tb24gY29kZSBmb3IgcGFyc2luZyBhIGRlY2xhcmF0aW9uLlxuICpcbiAqIGlzQmVmb3JlVG9rZW4gaW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgcGFyc2VyIHN0YXRlIGlzIGF0IHRoZSBjb250ZXh0dWFsXG4gKiBrZXl3b3JkIChhbmQgdGhhdCBpdCBpcyBub3QgeWV0IGVtaXR0ZWQpIHJhdGhlciB0aGFuIHJlYWRpbmcgdGhlIHRva2VuIGFmdGVyXG4gKiBpdC4gV2hlbiBpc0JlZm9yZVRva2VuIGlzIHRydWUsIHdlIG1heSBiZSBwcmVjZWRlZCBieSBhbiBgZXhwb3J0YCB0b2tlbiBhbmRcbiAqIHNob3VsZCBpbmNsdWRlIHRoYXQgdG9rZW4gaW4gYSB0eXBlIGNvbnRleHQgd2UgY3JlYXRlLCBlLmcuIHRvIGhhbmRsZVxuICogYGV4cG9ydCBpbnRlcmZhY2VgIG9yIGBleHBvcnQgdHlwZWAuIChUaGlzIGlzIGEgYml0IG9mIGEgaGFjayBhbmQgc2hvdWxkIGJlXG4gKiBjbGVhbmVkIHVwIGF0IHNvbWUgcG9pbnQuKVxuICpcbiAqIFJldHVybnMgdHJ1ZSBpZiBpdCBtYXRjaGVkIGEgZGVjbGFyYXRpb24uXG4gKi9cbmZ1bmN0aW9uIHRzUGFyc2VEZWNsYXJhdGlvbihjb250ZXh0dWFsS2V5d29yZCwgaXNCZWZvcmVUb2tlbikge1xuICBzd2l0Y2ggKGNvbnRleHR1YWxLZXl3b3JkKSB7XG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fYWJzdHJhY3Q6XG4gICAgICBpZiAodHNDaGVja0xpbmVUZXJtaW5hdG9yKGlzQmVmb3JlVG9rZW4pICYmIG1hdGNoKHR0Ll9jbGFzcykpIHtcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2Fic3RyYWN0O1xuICAgICAgICBwYXJzZUNsYXNzKC8qIGlzU3RhdGVtZW50ICovIHRydWUsIC8qIG9wdGlvbmFsSWQgKi8gZmFsc2UpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fZW51bTpcbiAgICAgIGlmICh0c0NoZWNrTGluZVRlcm1pbmF0b3IoaXNCZWZvcmVUb2tlbikgJiYgbWF0Y2godHQubmFtZSkpIHtcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2VudW07XG4gICAgICAgIHRzUGFyc2VFbnVtRGVjbGFyYXRpb24oKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX2ludGVyZmFjZTpcbiAgICAgIGlmICh0c0NoZWNrTGluZVRlcm1pbmF0b3IoaXNCZWZvcmVUb2tlbikgJiYgbWF0Y2godHQubmFtZSkpIHtcbiAgICAgICAgLy8gYG5leHRgIGlzIHRydWUgaW4gXCJleHBvcnRcIiBhbmQgXCJkZWNsYXJlXCIgY29udGV4dHMsIHNvIHdlIHdhbnQgdG8gcmVtb3ZlIHRoYXQgdG9rZW5cbiAgICAgICAgLy8gYXMgd2VsbC5cbiAgICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KGlzQmVmb3JlVG9rZW4gPyAyIDogMSk7XG4gICAgICAgIHRzUGFyc2VJbnRlcmZhY2VEZWNsYXJhdGlvbigpO1xuICAgICAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlOlxuICAgICAgaWYgKHRzQ2hlY2tMaW5lVGVybWluYXRvcihpc0JlZm9yZVRva2VuKSkge1xuICAgICAgICBpZiAobWF0Y2godHQuc3RyaW5nKSkge1xuICAgICAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dChpc0JlZm9yZVRva2VuID8gMiA6IDEpO1xuICAgICAgICAgIHRzUGFyc2VBbWJpZW50RXh0ZXJuYWxNb2R1bGVEZWNsYXJhdGlvbigpO1xuICAgICAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICAgICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoaXNCZWZvcmVUb2tlbiA/IDIgOiAxKTtcbiAgICAgICAgICB0c1BhcnNlTW9kdWxlT3JOYW1lc3BhY2VEZWNsYXJhdGlvbigpO1xuICAgICAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fbmFtZXNwYWNlOlxuICAgICAgaWYgKHRzQ2hlY2tMaW5lVGVybWluYXRvcihpc0JlZm9yZVRva2VuKSAmJiBtYXRjaCh0dC5uYW1lKSkge1xuICAgICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoaXNCZWZvcmVUb2tlbiA/IDIgOiAxKTtcbiAgICAgICAgdHNQYXJzZU1vZHVsZU9yTmFtZXNwYWNlRGVjbGFyYXRpb24oKTtcbiAgICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX3R5cGU6XG4gICAgICBpZiAodHNDaGVja0xpbmVUZXJtaW5hdG9yKGlzQmVmb3JlVG9rZW4pICYmIG1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dChpc0JlZm9yZVRva2VuID8gMiA6IDEpO1xuICAgICAgICB0c1BhcnNlVHlwZUFsaWFzRGVjbGFyYXRpb24oKTtcbiAgICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHRzQ2hlY2tMaW5lVGVybWluYXRvcihpc0JlZm9yZVRva2VuKSB7XG4gIGlmIChpc0JlZm9yZVRva2VuKSB7XG4gICAgLy8gQmFiZWwgY2hlY2tzIGhhc0ZvbGxvd2luZ0xpbmVCcmVhayBoZXJlIGFuZCByZXR1cm5zIGZhbHNlLCBidXQgdGhpc1xuICAgIC8vIGRvZXNuJ3QgYWN0dWFsbHkgY29tZSB1cCwgZS5nLiBgZXhwb3J0IGludGVyZmFjZWAgY2FuIG5ldmVyIGJlIG9uIGl0cyBvd25cbiAgICAvLyBsaW5lIGluIHZhbGlkIGNvZGUuXG4gICAgbmV4dCgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiAhaXNMaW5lVGVybWluYXRvcigpO1xuICB9XG59XG5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSB3YXMgYSBnZW5lcmljIGFzeW5jIGFycm93IGZ1bmN0aW9uLlxuZnVuY3Rpb24gdHNUcnlQYXJzZUdlbmVyaWNBc3luY0Fycm93RnVuY3Rpb24oKSB7XG4gIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcblxuICB0c1BhcnNlVHlwZVBhcmFtZXRlcnMoKTtcbiAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICB0c1RyeVBhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oKTtcbiAgZXhwZWN0KHR0LmFycm93KTtcblxuICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwYXJzZUZ1bmN0aW9uQm9keSh0cnVlKTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogSWYgbmVjZXNzYXJ5LCBoYWNrIHRoZSB0b2tlbml6ZXIgc3RhdGUgc28gdGhhdCB0aGlzIGJpdHNoaWZ0IHdhcyBhY3R1YWxseSBhXG4gKiBsZXNzLXRoYW4gdG9rZW4sIHRoZW4ga2VlcCBwYXJzaW5nLiBUaGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gc2l0dWF0aW9uc1xuICogd2hlcmUgd2UgcmVzdG9yZSBmcm9tIHNuYXBzaG90IG9uIGVycm9yICh3aGljaCByZXZlcnRzIHRoaXMgY2hhbmdlKSBvclxuICogd2hlcmUgYml0c2hpZnQgd291bGQgYmUgaWxsZWdhbCBhbnl3YXkgKGUuZy4gaW4gYSBjbGFzcyBcImV4dGVuZHNcIiBjbGF1c2UpLlxuICpcbiAqIFRoaXMgaGFjayBpcyB1c2VmdWwgdG8gaGFuZGxlIHNpdHVhdGlvbnMgbGlrZSBmb288PFQ+KCkgPT4gdm9pZD4oKSB3aGVyZVxuICogdGhlcmUgY2FuIGxlZ2l0aW1hdGVseSBiZSB0d28gb3Blbi1hbmdsZS1icmFja2V0cyBpbiBhIHJvdyBpbiBUUy5cbiAqL1xuZnVuY3Rpb24gdHNQYXJzZVR5cGVBcmd1bWVudHNXaXRoUG9zc2libGVCaXRzaGlmdCgpIHtcbiAgaWYgKHN0YXRlLnR5cGUgPT09IHR0LmJpdFNoaWZ0TCkge1xuICAgIHN0YXRlLnBvcyAtPSAxO1xuICAgIGZpbmlzaFRva2VuKHR0Lmxlc3NUaGFuKTtcbiAgfVxuICB0c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZUFyZ3VtZW50cygpIHtcbiAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICBleHBlY3QodHQubGVzc1RoYW4pO1xuICB3aGlsZSAoIW1hdGNoKHR0LmdyZWF0ZXJUaGFuKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICAgIGVhdCh0dC5jb21tYSk7XG4gIH1cbiAgaWYgKCFvbGRJc1R5cGUpIHtcbiAgICAvLyBJZiB0aGUgdHlwZSBhcmd1bWVudHMgYXJlIHByZXNlbnQgaW4gYW4gZXhwcmVzc2lvbiBjb250ZXh0LCBlLmcuXG4gICAgLy8gZjxudW1iZXI+KCksIHRoZW4gdGhlID4gc2lnbiBzaG91bGQgYmUgdG9rZW5pemVkIGFzIGEgbm9uLXR5cGUgdG9rZW4uXG4gICAgLy8gSW4gcGFydGljdWxhciwgZihhIDwgYiwgYyA+PSBkKSBzaG91bGQgcGFyc2UgdGhlID49IGFzIGEgc2luZ2xlIHRva2VuLFxuICAgIC8vIHJlc3VsdGluZyBpbiBhIHN5bnRheCBlcnJvciBhbmQgZmFsbGJhY2sgdG8gdGhlIG5vbi10eXBlLWFyZ3NcbiAgICAvLyBpbnRlcnByZXRhdGlvbi4gSW4gdGhlIHN1Y2Nlc3MgY2FzZSwgZXZlbiB0aG91Z2ggdGhlID4gaXMgdG9rZW5pemVkIGFzIGFcbiAgICAvLyBub24tdHlwZSB0b2tlbiwgaXQgc3RpbGwgbXVzdCBiZSBtYXJrZWQgYXMgYSB0eXBlIHRva2VuIHNvIHRoYXQgaXQgaXNcbiAgICAvLyBlcmFzZWQuXG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICByZXNjYW5fZ3QoKTtcbiAgICBleHBlY3QodHQuZ3JlYXRlclRoYW4pO1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaXNUeXBlID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBleHBlY3QodHQuZ3JlYXRlclRoYW4pO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzSXNEZWNsYXJhdGlvblN0YXJ0KCkge1xuICBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICBzd2l0Y2ggKHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkKSB7XG4gICAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdDpcbiAgICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX2RlY2xhcmU6XG4gICAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9lbnVtOlxuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5faW50ZXJmYWNlOlxuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlOlxuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fbmFtZXNwYWNlOlxuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fdHlwZTpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gT1ZFUlJJREVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2goZnVuY3Rpb25TdGFydCwgZnVuY0NvbnRleHRJZCkge1xuICAvLyBGb3IgYXJyb3cgZnVuY3Rpb25zLCBgcGFyc2VBcnJvd2AgaGFuZGxlcyB0aGUgcmV0dXJuIHR5cGUgaXRzZWxmLlxuICBpZiAobWF0Y2godHQuY29sb24pKSB7XG4gICAgdHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKHR0LmNvbG9uKTtcbiAgfVxuXG4gIC8vIFRoZSBvcmlnaW5hbCBjb2RlIGNoZWNrZWQgdGhlIG5vZGUgdHlwZSB0byBtYWtlIHN1cmUgdGhpcyBmdW5jdGlvbiB0eXBlIGFsbG93cyBhIG1pc3NpbmdcbiAgLy8gYm9keSwgYnV0IHdlIHNraXAgdGhhdCB0byBhdm9pZCBzZW5kaW5nIGFyb3VuZCB0aGUgbm9kZSB0eXBlLiBXZSBpbnN0ZWFkIGp1c3QgdXNlIHRoZVxuICAvLyBhbGxvd0V4cHJlc3Npb25Cb2R5IGJvb2xlYW4gdG8gbWFrZSBzdXJlIGl0J3Mgbm90IGFuIGFycm93IGZ1bmN0aW9uLlxuICBpZiAoIW1hdGNoKHR0LmJyYWNlTCkgJiYgaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgLy8gUmV0cm9hY3RpdmVseSBtYXJrIHRoZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBhcyBhIHR5cGUuXG4gICAgbGV0IGkgPSBzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMTtcbiAgICB3aGlsZSAoXG4gICAgICBpID49IDAgJiZcbiAgICAgIChzdGF0ZS50b2tlbnNbaV0uc3RhcnQgPj0gZnVuY3Rpb25TdGFydCB8fFxuICAgICAgICBzdGF0ZS50b2tlbnNbaV0udHlwZSA9PT0gdHQuX2RlZmF1bHQgfHxcbiAgICAgICAgc3RhdGUudG9rZW5zW2ldLnR5cGUgPT09IHR0Ll9leHBvcnQpXG4gICAgKSB7XG4gICAgICBzdGF0ZS50b2tlbnNbaV0uaXNUeXBlID0gdHJ1ZTtcbiAgICAgIGktLTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcGFyc2VGdW5jdGlvbkJvZHkoZmFsc2UsIGZ1bmNDb250ZXh0SWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZVN1YnNjcmlwdChcbiAgc3RhcnRUb2tlbkluZGV4LFxuICBub0NhbGxzLFxuICBzdG9wU3RhdGUsXG4pIHtcbiAgaWYgKCFoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiBlYXQodHQuYmFuZykpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5ub25OdWxsQXNzZXJ0aW9uO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikgfHwgbWF0Y2godHQuYml0U2hpZnRMKSkge1xuICAgIC8vIFRoZXJlIGFyZSBudW1iZXIgb2YgdGhpbmdzIHdlIGFyZSBnb2luZyB0byBcIm1heWJlXCIgcGFyc2UsIGxpa2UgdHlwZSBhcmd1bWVudHMgb25cbiAgICAvLyB0YWdnZWQgdGVtcGxhdGUgZXhwcmVzc2lvbnMuIElmIGFueSBvZiB0aGVtIGZhaWwsIHdhbGsgaXQgYmFjayBhbmQgY29udGludWUuXG4gICAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuXG4gICAgaWYgKCFub0NhbGxzICYmIGF0UG9zc2libGVBc3luYygpKSB7XG4gICAgICAvLyBBbG1vc3QgY2VydGFpbmx5IHRoaXMgaXMgYSBnZW5lcmljIGFzeW5jIGZ1bmN0aW9uIGBhc3luYyA8VD4oKSA9PiAuLi5cbiAgICAgIC8vIEJ1dCBpdCBtaWdodCBiZSBhIGNhbGwgd2l0aCBhIHR5cGUgYXJndW1lbnQgYGFzeW5jPFQ+KCk7YFxuICAgICAgY29uc3QgYXN5bmNBcnJvd0ZuID0gdHNUcnlQYXJzZUdlbmVyaWNBc3luY0Fycm93RnVuY3Rpb24oKTtcbiAgICAgIGlmIChhc3luY0Fycm93Rm4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0c1BhcnNlVHlwZUFyZ3VtZW50c1dpdGhQb3NzaWJsZUJpdHNoaWZ0KCk7XG4gICAgaWYgKCFub0NhbGxzICYmIGVhdCh0dC5wYXJlbkwpKSB7XG4gICAgICAvLyBXaXRoIGY8VD4oKSwgdGhlIHN1YnNjcmlwdFN0YXJ0SW5kZXggbWFya2VyIGlzIG9uIHRoZSAoIHRva2VuLlxuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5zdWJzY3JpcHRTdGFydEluZGV4ID0gc3RhcnRUb2tlbkluZGV4O1xuICAgICAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cygpO1xuICAgIH0gZWxzZSBpZiAobWF0Y2godHQuYmFja1F1b3RlKSkge1xuICAgICAgLy8gVGFnZ2VkIHRlbXBsYXRlIHdpdGggYSB0eXBlIGFyZ3VtZW50LlxuICAgICAgcGFyc2VUZW1wbGF0ZSgpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAvLyBUaGUgcmVtYWluaW5nIHBvc3NpYmxlIGNhc2UgaXMgYW4gaW5zdGFudGlhdGlvbiBleHByZXNzaW9uLCBlLmcuXG4gICAgICAvLyBBcnJheTxudW1iZXI+IC4gQ2hlY2sgZm9yIGEgZmV3IGNhc2VzIHRoYXQgd291bGQgZGlzcXVhbGlmeSBpdCBhbmRcbiAgICAgIC8vIGNhdXNlIHVzIHRvIGJhaWwgb3V0LlxuICAgICAgLy8gYTxiPj5jIGlzIG5vdCAoYTxiPik+YywgYnV0IGE8KGI+PmMpXG4gICAgICBzdGF0ZS50eXBlID09PSB0dC5ncmVhdGVyVGhhbiB8fFxuICAgICAgLy8gYTxiPmMgaXMgKGE8Yik+Y1xuICAgICAgKHN0YXRlLnR5cGUgIT09IHR0LnBhcmVuTCAmJlxuICAgICAgICBCb29sZWFuKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfRVhQUkVTU0lPTl9TVEFSVCkgJiZcbiAgICAgICAgIWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKVxuICAgICkge1xuICAgICAgLy8gQmFpbCBvdXQuIFdlIGhhdmUgc29tZXRoaW5nIGxpa2UgYTxiPmMsIHdoaWNoIGlzIG5vdCBhbiBleHByZXNzaW9uIHdpdGhcbiAgICAgIC8vIHR5cGUgYXJndW1lbnRzIGJ1dCBhbiAoYSA8IGIpID4gYyBjb21wYXJpc29uLlxuICAgICAgdW5leHBlY3RlZCgpO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH0gZWxzZSBpZiAoIW5vQ2FsbHMgJiYgbWF0Y2godHQucXVlc3Rpb25Eb3QpICYmIGxvb2thaGVhZFR5cGUoKSA9PT0gdHQubGVzc1RoYW4pIHtcbiAgICAvLyBJZiB3ZSBzZWUgZj8uPCwgdGhlbiB0aGlzIG11c3QgYmUgYW4gb3B0aW9uYWwgY2FsbCB3aXRoIGEgdHlwZSBhcmd1bWVudC5cbiAgICBuZXh0KCk7XG4gICAgc3RhdGUudG9rZW5zW3N0YXJ0VG9rZW5JbmRleF0uaXNPcHRpb25hbENoYWluU3RhcnQgPSB0cnVlO1xuICAgIC8vIFdpdGggZj8uPFQ+KCksIHRoZSBzdWJzY3JpcHRTdGFydEluZGV4IG1hcmtlciBpcyBvbiB0aGUgPy4gdG9rZW4uXG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5zdWJzY3JpcHRTdGFydEluZGV4ID0gc3RhcnRUb2tlbkluZGV4O1xuXG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHMoKTtcbiAgICBleHBlY3QodHQucGFyZW5MKTtcbiAgICBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKCk7XG4gIH1cbiAgYmFzZVBhcnNlU3Vic2NyaXB0KHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscywgc3RvcFN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzVHJ5UGFyc2VFeHBvcnQoKSB7XG4gIGlmIChlYXQodHQuX2ltcG9ydCkpIHtcbiAgICAvLyBPbmUgb2YgdGhlc2UgY2FzZXM6XG4gICAgLy8gZXhwb3J0IGltcG9ydCBBID0gQjtcbiAgICAvLyBleHBvcnQgaW1wb3J0IHR5cGUgQSA9IHJlcXVpcmUoXCJBXCIpO1xuICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpICYmIGxvb2thaGVhZFR5cGUoKSAhPT0gdHQuZXEpIHtcbiAgICAgIC8vIEVhdCBhIGB0eXBlYCB0b2tlbiwgdW5sZXNzIGl0J3MgYWN0dWFsbHkgYW4gaWRlbnRpZmllciBuYW1lLlxuICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdHlwZSk7XG4gICAgfVxuICAgIHRzUGFyc2VJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbigpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGVhdCh0dC5lcSkpIHtcbiAgICAvLyBgZXhwb3J0ID0geDtgXG4gICAgcGFyc2VFeHByZXNzaW9uKCk7XG4gICAgc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpKSB7XG4gICAgLy8gYGV4cG9ydCBhcyBuYW1lc3BhY2UgQTtgXG4gICAgLy8gU2VlIGBwYXJzZU5hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uYCBpbiBUeXBlU2NyaXB0J3Mgb3duIHBhcnNlclxuICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX25hbWVzcGFjZSk7XG4gICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gICAgc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdHlwZSkpIHtcbiAgICAgIGNvbnN0IG5leHRUeXBlID0gbG9va2FoZWFkVHlwZSgpO1xuICAgICAgLy8gZXhwb3J0IHR5cGUge2Zvb30gZnJvbSAnYSc7XG4gICAgICAvLyBleHBvcnQgdHlwZSAqIGZyb20gJ2EnOydcbiAgICAgIC8vIGV4cG9ydCB0eXBlICogYXMgbnMgZnJvbSAnYSc7J1xuICAgICAgaWYgKG5leHRUeXBlID09PSB0dC5icmFjZUwgfHwgbmV4dFR5cGUgPT09IHR0LnN0YXIpIHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZSBhIFRTIGltcG9ydCBzcGVjaWZpZXIsIHdoaWNoIG1heSBiZSBwcmVmaXhlZCB3aXRoIFwidHlwZVwiIGFuZCBtYXkgYmUgb2ZcbiAqIHRoZSBmb3JtIGBmb28gYXMgYmFyYC5cbiAqXG4gKiBUaGUgbnVtYmVyIG9mIGlkZW50aWZpZXItbGlrZSB0b2tlbnMgd2Ugc2VlIGhhcHBlbnMgdG8gYmUgZW5vdWdoIHRvIHVuaXF1ZWx5XG4gKiBpZGVudGlmeSB0aGUgZm9ybSwgc28gc2ltcGx5IGNvdW50IHRoZSBudW1iZXIgb2YgaWRlbnRpZmllcnMgcmF0aGVyIHRoYW5cbiAqIG1hdGNoaW5nIHRoZSB3b3JkcyBgdHlwZWAgb3IgYGFzYC4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGJlY2F1c2VcbiAqIGB0eXBlYCBhbmQgYGFzYCBjb3VsZCBlYWNoIGFjdHVhbGx5IGJlIHBsYWluIGlkZW50aWZpZXJzIHJhdGhlciB0aGFuXG4gKiBrZXl3b3Jkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VJbXBvcnRTcGVjaWZpZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBpZiAobWF0Y2godHQuY29tbWEpIHx8IG1hdGNoKHR0LmJyYWNlUikpIHtcbiAgICAvLyBpbXBvcnQge2Zvb31cbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuSW1wb3J0RGVjbGFyYXRpb247XG4gICAgcmV0dXJuO1xuICB9XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBpZiAobWF0Y2godHQuY29tbWEpIHx8IG1hdGNoKHR0LmJyYWNlUikpIHtcbiAgICAvLyBpbXBvcnQge3R5cGUgZm9vfVxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5JbXBvcnREZWNsYXJhdGlvbjtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDJdLmlzVHlwZSA9IHRydWU7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc1R5cGUgPSB0cnVlO1xuICAgIHJldHVybjtcbiAgfVxuICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgaWYgKG1hdGNoKHR0LmNvbW1hKSB8fCBtYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgLy8gaW1wb3J0IHtmb28gYXMgYmFyfVxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gM10uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5JbXBvcnRBY2Nlc3M7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLkltcG9ydERlY2xhcmF0aW9uO1xuICAgIHJldHVybjtcbiAgfVxuICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgLy8gaW1wb3J0IHt0eXBlIGZvbyBhcyBiYXJ9XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gM10uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5JbXBvcnRBY2Nlc3M7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5JbXBvcnREZWNsYXJhdGlvbjtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSA0XS5pc1R5cGUgPSB0cnVlO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDNdLmlzVHlwZSA9IHRydWU7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMl0uaXNUeXBlID0gdHJ1ZTtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc1R5cGUgPSB0cnVlO1xufVxuXG4vKipcbiAqIEp1c3QgbGlrZSBuYW1lZCBpbXBvcnQgc3BlY2lmaWVycywgZXhwb3J0IHNwZWNpZmllcnMgY2FuIGhhdmUgZnJvbSAxIHRvIDRcbiAqIHRva2VucywgaW5jbHVzaXZlLCBhbmQgdGhlIG51bWJlciBvZiB0b2tlbnMgZGV0ZXJtaW5lcyB0aGUgcm9sZSBvZiBlYWNoIHRva2VuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZUV4cG9ydFNwZWNpZmllcigpIHtcbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmIChtYXRjaCh0dC5jb21tYSkgfHwgbWF0Y2godHQuYnJhY2VSKSkge1xuICAgIC8vIGV4cG9ydCB7Zm9vfVxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5FeHBvcnRBY2Nlc3M7XG4gICAgcmV0dXJuO1xuICB9XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBpZiAobWF0Y2godHQuY29tbWEpIHx8IG1hdGNoKHR0LmJyYWNlUikpIHtcbiAgICAvLyBleHBvcnQge3R5cGUgZm9vfVxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5FeHBvcnRBY2Nlc3M7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAyXS5pc1R5cGUgPSB0cnVlO1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaXNUeXBlID0gdHJ1ZTtcbiAgICByZXR1cm47XG4gIH1cbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmIChtYXRjaCh0dC5jb21tYSkgfHwgbWF0Y2godHQuYnJhY2VSKSkge1xuICAgIC8vIGV4cG9ydCB7Zm9vIGFzIGJhcn1cbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDNdLmlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuRXhwb3J0QWNjZXNzO1xuICAgIHJldHVybjtcbiAgfVxuICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgLy8gZXhwb3J0IHt0eXBlIGZvbyBhcyBiYXJ9XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gM10uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5FeHBvcnRBY2Nlc3M7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gNF0uaXNUeXBlID0gdHJ1ZTtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAzXS5pc1R5cGUgPSB0cnVlO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDJdLmlzVHlwZSA9IHRydWU7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaXNUeXBlID0gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzVHJ5UGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbigpIHtcbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYWJzdHJhY3QpICYmIGxvb2thaGVhZFR5cGUoKSA9PT0gdHQuX2NsYXNzKSB7XG4gICAgc3RhdGUudHlwZSA9IHR0Ll9hYnN0cmFjdDtcbiAgICBuZXh0KCk7IC8vIFNraXAgXCJhYnN0cmFjdFwiXG4gICAgcGFyc2VDbGFzcyh0cnVlLCB0cnVlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpKSB7XG4gICAgLy8gTWFrZSBzdXJlIFwiZXhwb3J0IGRlZmF1bHRcIiBhcmUgY29uc2lkZXJlZCB0eXBlIHRva2VucyBzbyB0aGUgd2hvbGUgdGhpbmcgaXMgcmVtb3ZlZC5cbiAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMik7XG4gICAgdHNQYXJzZURlY2xhcmF0aW9uKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UsIHRydWUpO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNUcnlQYXJzZVN0YXRlbWVudENvbnRlbnQoKSB7XG4gIGlmIChzdGF0ZS50eXBlID09PSB0dC5fY29uc3QpIHtcbiAgICBjb25zdCBhaGVhZCA9IGxvb2thaGVhZFR5cGVBbmRLZXl3b3JkKCk7XG4gICAgaWYgKGFoZWFkLnR5cGUgPT09IHR0Lm5hbWUgJiYgYWhlYWQuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9lbnVtKSB7XG4gICAgICBleHBlY3QodHQuX2NvbnN0KTtcbiAgICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2VudW0pO1xuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2VudW07XG4gICAgICB0c1BhcnNlRW51bURlY2xhcmF0aW9uKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNUcnlQYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKGlzU3RhdGljKSB7XG4gIGNvbnN0IG1lbWJlclN0YXJ0SW5kZXhBZnRlclN0YXRpYyA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHRzUGFyc2VNb2RpZmllcnMoW1xuICAgIENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdCxcbiAgICBDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHksXG4gICAgQ29udGV4dHVhbEtleXdvcmQuX2RlY2xhcmUsXG4gICAgQ29udGV4dHVhbEtleXdvcmQuX3N0YXRpYyxcbiAgICBDb250ZXh0dWFsS2V5d29yZC5fb3ZlcnJpZGUsXG4gIF0pO1xuXG4gIGNvbnN0IG1vZGlmaWVyc0VuZEluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgY29uc3QgZm91bmQgPSB0c1RyeVBhcnNlSW5kZXhTaWduYXR1cmUoKTtcbiAgaWYgKGZvdW5kKSB7XG4gICAgLy8gSW5kZXggc2lnbmF0dXJlcyBhcmUgdHlwZSBkZWNsYXJhdGlvbnMsIHNvIHNldCB0aGUgbW9kaWZpZXIgdG9rZW5zIGFzXG4gICAgLy8gdHlwZSB0b2tlbnMuIE1vc3QgdG9rZW5zIGNvdWxkIGJlIGFzc3VtZWQgdG8gYmUgdHlwZSB0b2tlbnMsIGJ1dCBgc3RhdGljYFxuICAgIC8vIGlzIGFtYmlndW91cyB1bmxlc3Mgd2Ugc2V0IGl0IGV4cGxpY2l0bHkgaGVyZS5cbiAgICBjb25zdCBtZW1iZXJTdGFydEluZGV4ID0gaXNTdGF0aWNcbiAgICAgID8gbWVtYmVyU3RhcnRJbmRleEFmdGVyU3RhdGljIC0gMVxuICAgICAgOiBtZW1iZXJTdGFydEluZGV4QWZ0ZXJTdGF0aWM7XG4gICAgZm9yIChsZXQgaSA9IG1lbWJlclN0YXJ0SW5kZXg7IGkgPCBtb2RpZmllcnNFbmRJbmRleDsgaSsrKSB7XG4gICAgICBzdGF0ZS50b2tlbnNbaV0uaXNUeXBlID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBOb3RlOiBUaGUgcmVhc29uIHdlIGRvIHRoaXMgaW4gYHBhcnNlSWRlbnRpZmllclN0YXRlbWVudGAgYW5kIG5vdCBgcGFyc2VTdGF0ZW1lbnRgXG4vLyBpcyB0aGF0IGUuZy4gYHR5cGUoKWAgaXMgdmFsaWQgSlMsIHNvIHdlIG11c3QgdHJ5IHBhcnNpbmcgdGhhdCBmaXJzdC5cbi8vIElmIGl0J3MgcmVhbGx5IGEgdHlwZSwgd2Ugd2lsbCBwYXJzZSBgdHlwZWAgYXMgdGhlIHN0YXRlbWVudCwgYW5kIGNhbiBjb3JyZWN0IGl0IGhlcmVcbi8vIGJ5IHBhcnNpbmcgdGhlIHJlc3QuXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZUlkZW50aWZpZXJTdGF0ZW1lbnQoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgY29uc3QgbWF0Y2hlZCA9IHRzUGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGNvbnRleHR1YWxLZXl3b3JkKTtcbiAgaWYgKCFtYXRjaGVkKSB7XG4gICAgc2VtaWNvbG9uKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpIHtcbiAgLy8gXCJleHBvcnQgZGVjbGFyZVwiIGlzIGVxdWl2YWxlbnQgdG8ganVzdCBcImV4cG9ydFwiLlxuICBjb25zdCBpc0RlY2xhcmUgPSBlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9kZWNsYXJlKTtcbiAgaWYgKGlzRGVjbGFyZSkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9kZWNsYXJlO1xuICB9XG5cbiAgbGV0IG1hdGNoZWREZWNsYXJhdGlvbiA9IGZhbHNlO1xuICBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICBpZiAoaXNEZWNsYXJlKSB7XG4gICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMik7XG4gICAgICBtYXRjaGVkRGVjbGFyYXRpb24gPSB0c1RyeVBhcnNlRXhwb3J0RGVjbGFyYXRpb24oKTtcbiAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1hdGNoZWREZWNsYXJhdGlvbiA9IHRzVHJ5UGFyc2VFeHBvcnREZWNsYXJhdGlvbigpO1xuICAgIH1cbiAgfVxuICBpZiAoIW1hdGNoZWREZWNsYXJhdGlvbikge1xuICAgIGlmIChpc0RlY2xhcmUpIHtcbiAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgyKTtcbiAgICAgIHBhcnNlU3RhdGVtZW50KHRydWUpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VTdGF0ZW1lbnQodHJ1ZSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c0FmdGVyUGFyc2VDbGFzc1N1cGVyKGhhc1N1cGVyKSB7XG4gIGlmIChoYXNTdXBlciAmJiAobWF0Y2godHQubGVzc1RoYW4pIHx8IG1hdGNoKHR0LmJpdFNoaWZ0TCkpKSB7XG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHNXaXRoUG9zc2libGVCaXRzaGlmdCgpO1xuICB9XG4gIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbXBsZW1lbnRzKSkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9pbXBsZW1lbnRzO1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICB0c1BhcnNlSGVyaXRhZ2VDbGF1c2UoKTtcbiAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1N0YXJ0UGFyc2VPYmpQcm9wVmFsdWUoKSB7XG4gIHRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNTdGFydFBhcnNlRnVuY3Rpb25QYXJhbXMoKSB7XG4gIHRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycygpO1xufVxuXG4vLyBgbGV0IHg6IG51bWJlcjtgXG5leHBvcnQgZnVuY3Rpb24gdHNBZnRlclBhcnNlVmFySGVhZCgpIHtcbiAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICBpZiAoIWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSB7XG4gICAgZWF0KHR0LmJhbmcpO1xuICB9XG4gIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xufVxuXG4vLyBwYXJzZSB0aGUgcmV0dXJuIHR5cGUgb2YgYW4gYXN5bmMgYXJyb3cgZnVuY3Rpb24gLSBsZXQgZm9vID0gKGFzeW5jICgpOiBudW1iZXIgPT4ge30pO1xuZXhwb3J0IGZ1bmN0aW9uIHRzU3RhcnRQYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oKSB7XG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICB0c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgfVxufVxuXG4vLyBSZXR1cm5zIHRydWUgaWYgdGhlIGV4cHJlc3Npb24gd2FzIGFuIGFycm93IGZ1bmN0aW9uLlxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VNYXliZUFzc2lnbihub0luLCBpc1dpdGhpblBhcmVucykge1xuICAvLyBOb3RlOiBXaGVuIHRoZSBKU1ggcGx1Z2luIGlzIG9uLCB0eXBlIGFzc2VydGlvbnMgKGA8VD4geGApIGFyZW4ndCB2YWxpZCBzeW50YXguXG4gIGlmIChpc0pTWEVuYWJsZWQpIHtcbiAgICByZXR1cm4gdHNQYXJzZU1heWJlQXNzaWduV2l0aEpTWChub0luLCBpc1dpdGhpblBhcmVucyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRzUGFyc2VNYXliZUFzc2lnbldpdGhvdXRKU1gobm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1BhcnNlTWF5YmVBc3NpZ25XaXRoSlNYKG5vSW4sIGlzV2l0aGluUGFyZW5zKSB7XG4gIGlmICghbWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgcmV0dXJuIGJhc2VQYXJzZU1heWJlQXNzaWduKG5vSW4sIGlzV2l0aGluUGFyZW5zKTtcbiAgfVxuXG4gIC8vIFByZWZlciB0byBwYXJzZSBKU1ggaWYgcG9zc2libGUuIEJ1dCBtYXkgYmUgYW4gYXJyb3cgZm4uXG4gIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgbGV0IHdhc0Fycm93ID0gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gd2FzQXJyb3c7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHRyeSBhcyB0eXBlLXBhcmFtZXRlcml6ZWQgYXJyb3cgZnVuY3Rpb24uXG4gIHN0YXRlLnR5cGUgPSB0dC50eXBlUGFyYW1ldGVyU3RhcnQ7XG4gIC8vIFRoaXMgaXMgc2ltaWxhciB0byBUeXBlU2NyaXB0J3MgYHRyeVBhcnNlUGFyZW50aGVzaXplZEFycm93RnVuY3Rpb25FeHByZXNzaW9uYC5cbiAgdHNQYXJzZVR5cGVQYXJhbWV0ZXJzKCk7XG4gIHdhc0Fycm93ID0gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICBpZiAoIXdhc0Fycm93KSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG5cbiAgcmV0dXJuIHdhc0Fycm93O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZU1heWJlQXNzaWduV2l0aG91dEpTWChub0luLCBpc1dpdGhpblBhcmVucykge1xuICBpZiAoIW1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIHJldHVybiBiYXNlUGFyc2VNYXliZUFzc2lnbihub0luLCBpc1dpdGhpblBhcmVucyk7XG4gIH1cblxuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG4gIC8vIFRoaXMgaXMgc2ltaWxhciB0byBUeXBlU2NyaXB0J3MgYHRyeVBhcnNlUGFyZW50aGVzaXplZEFycm93RnVuY3Rpb25FeHByZXNzaW9uYC5cbiAgdHNQYXJzZVR5cGVQYXJhbWV0ZXJzKCk7XG4gIGNvbnN0IHdhc0Fycm93ID0gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICBpZiAoIXdhc0Fycm93KSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG4gIGlmIChzdGF0ZS5lcnJvcikge1xuICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB3YXNBcnJvdztcbiAgfVxuXG4gIC8vIFRyeSBwYXJzaW5nIGEgdHlwZSBjYXN0IGluc3RlYWQgb2YgYW4gYXJyb3cgZnVuY3Rpb24uXG4gIC8vIFRoaXMgd2lsbCBzdGFydCB3aXRoIGEgdHlwZSBhc3NlcnRpb24gKHZpYSBwYXJzZU1heWJlVW5hcnkpLlxuICAvLyBCdXQgZG9uJ3QgZGlyZWN0bHkgY2FsbCBgdHNQYXJzZVR5cGVBc3NlcnRpb25gIGJlY2F1c2Ugd2Ugd2FudCB0byBoYW5kbGUgYW55IGJpbmFyeSBhZnRlciBpdC5cbiAgcmV0dXJuIGJhc2VQYXJzZU1heWJlQXNzaWduKG5vSW4sIGlzV2l0aGluUGFyZW5zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VBcnJvdygpIHtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIC8vIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gaG93IHRoZSBUUyBwYXJzZXIgZG9lcyBpdC5cbiAgICAvLyBUUyB1c2VzIGxvb2thaGVhZC4gQmFieWxvbiBwYXJzZXMgaXQgYXMgYSBwYXJlbnRoZXNpemVkIGV4cHJlc3Npb24gYW5kIGNvbnZlcnRzLlxuICAgIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcblxuICAgIHRzUGFyc2VUeXBlT3JUeXBlUHJlZGljYXRlQW5ub3RhdGlvbih0dC5jb2xvbik7XG4gICAgaWYgKGNhbkluc2VydFNlbWljb2xvbigpKSB1bmV4cGVjdGVkKCk7XG4gICAgaWYgKCFtYXRjaCh0dC5hcnJvdykpIHVuZXhwZWN0ZWQoKTtcblxuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBlYXQodHQuYXJyb3cpO1xufVxuXG4vLyBBbGxvdyB0eXBlIGFubm90YXRpb25zIGluc2lkZSBvZiBhIHBhcmFtZXRlciBsaXN0LlxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcygpIHtcbiAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICBlYXQodHQucXVlc3Rpb24pO1xuICB0c1RyeVBhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VNYXliZURlY29yYXRvckFyZ3VtZW50cygpIHtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSB8fCBtYXRjaCh0dC5iaXRTaGlmdEwpKSB7XG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHNXaXRoUG9zc2libGVCaXRzaGlmdCgpO1xuICB9XG4gIGJhc2VQYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgZWF0LFxuICBmaW5pc2hUb2tlbixcbiAgZ2V0VG9rZW5Gcm9tQ29kZSxcbiAgSWRlbnRpZmllclJvbGUsXG4gIEpTWFJvbGUsXG4gIG1hdGNoLFxuICBuZXh0LFxuICBza2lwU3BhY2UsXG4gIFRva2VuLFxufSBmcm9tIFwiLi4vLi4vdG9rZW5pemVyL2luZGV4XCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uLy4uL3Rva2VuaXplci90eXBlc1wiO1xuaW1wb3J0IHtpbnB1dCwgaXNUeXBlU2NyaXB0RW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuLi8uLi90cmF2ZXJzZXIvYmFzZVwiO1xuaW1wb3J0IHtwYXJzZUV4cHJlc3Npb24sIHBhcnNlTWF5YmVBc3NpZ259IGZyb20gXCIuLi8uLi90cmF2ZXJzZXIvZXhwcmVzc2lvblwiO1xuaW1wb3J0IHtleHBlY3QsIHVuZXhwZWN0ZWR9IGZyb20gXCIuLi8uLi90cmF2ZXJzZXIvdXRpbFwiO1xuaW1wb3J0IHtjaGFyQ29kZXN9IGZyb20gXCIuLi8uLi91dGlsL2NoYXJjb2Rlc1wiO1xuaW1wb3J0IHtJU19JREVOVElGSUVSX0NIQVIsIElTX0lERU5USUZJRVJfU1RBUlR9IGZyb20gXCIuLi8uLi91dGlsL2lkZW50aWZpZXJcIjtcbmltcG9ydCB7dHNUcnlQYXJzZUpTWFR5cGVBcmd1bWVudH0gZnJvbSBcIi4uL3R5cGVzY3JpcHRcIjtcblxuLyoqXG4gKiBSZWFkIHRva2VuIHdpdGggSlNYIGNvbnRlbnRzLlxuICpcbiAqIEluIGFkZGl0aW9uIHRvIGRldGVjdGluZyBqc3hUYWdTdGFydCBhbmQgYWxzbyByZWd1bGFyIHRva2VucyB0aGF0IG1pZ2h0IGJlXG4gKiBwYXJ0IG9mIGFuIGV4cHJlc3Npb24sIHRoaXMgY29kZSBkZXRlY3RzIHRoZSBzdGFydCBhbmQgZW5kIG9mIHRleHQgcmFuZ2VzXG4gKiB3aXRoaW4gSlNYIGNoaWxkcmVuLiBJbiBvcmRlciB0byBwcm9wZXJseSBjb3VudCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuLCB3ZVxuICogZGlzdGluZ3Vpc2gganN4VGV4dCBmcm9tIGpzeEVtcHR5VGV4dCwgd2hpY2ggaXMgYSB0ZXh0IHJhbmdlIHRoYXQgc2ltcGxpZmllc1xuICogdG8gdGhlIGVtcHR5IHN0cmluZyBhZnRlciBKU1ggd2hpdGVzcGFjZSB0cmltbWluZy5cbiAqXG4gKiBJdCB0dXJucyBvdXQgdGhhdCBhIEpTWCB0ZXh0IHJhbmdlIHdpbGwgc2ltcGxpZnkgdG8gdGhlIGVtcHR5IHN0cmluZyBpZiBhbmRcbiAqIG9ubHkgaWYgYm90aCBvZiB0aGVzZSBjb25kaXRpb25zIGhvbGQ6XG4gKiAtIFRoZSByYW5nZSBjb25zaXN0cyBlbnRpcmVseSBvZiB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgKG9ubHkgY291bnRpbmcgc3BhY2UsXG4gKiAgIHRhYiwgXFxyLCBhbmQgXFxuKS5cbiAqIC0gVGhlIHJhbmdlIGhhcyBhdCBsZWFzdCBvbmUgbmV3bGluZS5cbiAqIFRoaXMgY2FuIGJlIHByb3ZlbiBieSBhbmFseXppbmcgYW55IGltcGxlbWVudGF0aW9uIG9mIHdoaXRlc3BhY2UgdHJpbW1pbmcsXG4gKiBlLmcuIGZvcm1hdEpTWFRleHRMaXRlcmFsIGluIFN1Y3Jhc2Ugb3IgY2xlYW5KU1hFbGVtZW50TGl0ZXJhbENoaWxkIGluIEJhYmVsLlxuICovXG5mdW5jdGlvbiBqc3hSZWFkVG9rZW4oKSB7XG4gIGxldCBzYXdOZXdsaW5lID0gZmFsc2U7XG4gIGxldCBzYXdOb25XaGl0ZXNwYWNlID0gZmFsc2U7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHVuZXhwZWN0ZWQoXCJVbnRlcm1pbmF0ZWQgSlNYIGNvbnRlbnRzXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChjaCA9PT0gY2hhckNvZGVzLmxlc3NUaGFuIHx8IGNoID09PSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2UpIHtcbiAgICAgIGlmIChzdGF0ZS5wb3MgPT09IHN0YXRlLnN0YXJ0KSB7XG4gICAgICAgIGlmIChjaCA9PT0gY2hhckNvZGVzLmxlc3NUaGFuKSB7XG4gICAgICAgICAgc3RhdGUucG9zKys7XG4gICAgICAgICAgZmluaXNoVG9rZW4odHQuanN4VGFnU3RhcnQpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBnZXRUb2tlbkZyb21Db2RlKGNoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHNhd05ld2xpbmUgJiYgIXNhd05vbldoaXRlc3BhY2UpIHtcbiAgICAgICAgZmluaXNoVG9rZW4odHQuanN4RW1wdHlUZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbmlzaFRva2VuKHR0LmpzeFRleHQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgcGFydCBvZiBKU1ggdGV4dC5cbiAgICBpZiAoY2ggPT09IGNoYXJDb2Rlcy5saW5lRmVlZCkge1xuICAgICAgc2F3TmV3bGluZSA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChjaCAhPT0gY2hhckNvZGVzLnNwYWNlICYmIGNoICE9PSBjaGFyQ29kZXMuY2FycmlhZ2VSZXR1cm4gJiYgY2ggIT09IGNoYXJDb2Rlcy50YWIpIHtcbiAgICAgIHNhd05vbldoaXRlc3BhY2UgPSB0cnVlO1xuICAgIH1cbiAgICBzdGF0ZS5wb3MrKztcbiAgfVxufVxuXG5mdW5jdGlvbiBqc3hSZWFkU3RyaW5nKHF1b3RlKSB7XG4gIHN0YXRlLnBvcysrO1xuICBmb3IgKDs7KSB7XG4gICAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHVuZXhwZWN0ZWQoXCJVbnRlcm1pbmF0ZWQgc3RyaW5nIGNvbnN0YW50XCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChjaCA9PT0gcXVvdGUpIHtcbiAgICAgIHN0YXRlLnBvcysrO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHN0YXRlLnBvcysrO1xuICB9XG4gIGZpbmlzaFRva2VuKHR0LnN0cmluZyk7XG59XG5cbi8vIFJlYWQgYSBKU1ggaWRlbnRpZmllciAodmFsaWQgdGFnIG9yIGF0dHJpYnV0ZSBuYW1lKS5cbi8vXG4vLyBPcHRpbWl6ZWQgdmVyc2lvbiBzaW5jZSBKU1ggaWRlbnRpZmllcnMgY2FuJ3QgY29udGFpblxuLy8gZXNjYXBlIGNoYXJhY3RlcnMgYW5kIHNvIGNhbiBiZSByZWFkIGFzIHNpbmdsZSBzbGljZS5cbi8vIEFsc28gYXNzdW1lcyB0aGF0IGZpcnN0IGNoYXJhY3RlciB3YXMgYWxyZWFkeSBjaGVja2VkXG4vLyBieSBpc0lkZW50aWZpZXJTdGFydCBpbiByZWFkVG9rZW4uXG5cbmZ1bmN0aW9uIGpzeFJlYWRXb3JkKCkge1xuICBsZXQgY2g7XG4gIGRvIHtcbiAgICBpZiAoc3RhdGUucG9zID4gaW5wdXQubGVuZ3RoKSB7XG4gICAgICB1bmV4cGVjdGVkKFwiVW5leHBlY3RlZGx5IHJlYWNoZWQgdGhlIGVuZCBvZiBpbnB1dC5cIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNoID0gaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvcyk7XG4gIH0gd2hpbGUgKElTX0lERU5USUZJRVJfQ0hBUltjaF0gfHwgY2ggPT09IGNoYXJDb2Rlcy5kYXNoKTtcbiAgZmluaXNoVG9rZW4odHQuanN4TmFtZSk7XG59XG5cbi8vIFBhcnNlIG5leHQgdG9rZW4gYXMgSlNYIGlkZW50aWZpZXJcbmZ1bmN0aW9uIGpzeFBhcnNlSWRlbnRpZmllcigpIHtcbiAgbmV4dEpTWFRhZ1Rva2VuKCk7XG59XG5cbi8vIFBhcnNlIG5hbWVzcGFjZWQgaWRlbnRpZmllci5cbmZ1bmN0aW9uIGpzeFBhcnNlTmFtZXNwYWNlZE5hbWUoaWRlbnRpZmllclJvbGUpIHtcbiAganN4UGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmICghZWF0KHR0LmNvbG9uKSkge1xuICAgIC8vIFBsYWluIGlkZW50aWZpZXIsIHNvIHRoaXMgaXMgYW4gYWNjZXNzLlxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBpZGVudGlmaWVyUm9sZTtcbiAgICByZXR1cm47XG4gIH1cbiAgLy8gUHJvY2VzcyB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIG5hbWVzcGFjZWQgbmFtZS5cbiAganN4UGFyc2VJZGVudGlmaWVyKCk7XG59XG5cbi8vIFBhcnNlcyBlbGVtZW50IG5hbWUgaW4gYW55IGZvcm0gLSBuYW1lc3BhY2VkLCBtZW1iZXJcbi8vIG9yIHNpbmdsZSBpZGVudGlmaWVyLlxuZnVuY3Rpb24ganN4UGFyc2VFbGVtZW50TmFtZSgpIHtcbiAgY29uc3QgZmlyc3RUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAganN4UGFyc2VOYW1lc3BhY2VkTmFtZShJZGVudGlmaWVyUm9sZS5BY2Nlc3MpO1xuICBsZXQgaGFkRG90ID0gZmFsc2U7XG4gIHdoaWxlIChtYXRjaCh0dC5kb3QpKSB7XG4gICAgaGFkRG90ID0gdHJ1ZTtcbiAgICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAgICBqc3hQYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxuICAvLyBGb3IgdGFncyBsaWtlIDxkaXY+IHdpdGggYSBsb3dlcmNhc2UgbGV0dGVyIGFuZCBubyBkb3RzLCB0aGUgbmFtZSBpc1xuICAvLyBhY3R1YWxseSAqbm90KiBhbiBpZGVudGlmaWVyIGFjY2Vzcywgc2luY2UgaXQncyByZWZlcnJpbmcgdG8gYSBidWlsdC1pblxuICAvLyB0YWcgbmFtZS4gUmVtb3ZlIHRoZSBpZGVudGlmaWVyIHJvbGUgaW4gdGhpcyBjYXNlIHNvIHRoYXQgaXQncyBub3RcbiAgLy8gYWNjaWRlbnRhbGx5IHRyYW5zZm9ybWVkIGJ5IHRoZSBpbXBvcnRzIHRyYW5zZm9ybSB3aGVuIHByZXNlcnZpbmcgSlNYLlxuICBpZiAoIWhhZERvdCkge1xuICAgIGNvbnN0IGZpcnN0VG9rZW4gPSBzdGF0ZS50b2tlbnNbZmlyc3RUb2tlbkluZGV4XTtcbiAgICBjb25zdCBmaXJzdENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KGZpcnN0VG9rZW4uc3RhcnQpO1xuICAgIGlmIChmaXJzdENoYXIgPj0gY2hhckNvZGVzLmxvd2VyY2FzZUEgJiYgZmlyc3RDaGFyIDw9IGNoYXJDb2Rlcy5sb3dlcmNhc2VaKSB7XG4gICAgICBmaXJzdFRva2VuLmlkZW50aWZpZXJSb2xlID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFyc2VzIGFueSB0eXBlIG9mIEpTWCBhdHRyaWJ1dGUgdmFsdWUuXG5mdW5jdGlvbiBqc3hQYXJzZUF0dHJpYnV0ZVZhbHVlKCkge1xuICBzd2l0Y2ggKHN0YXRlLnR5cGUpIHtcbiAgICBjYXNlIHR0LmJyYWNlTDpcbiAgICAgIG5leHQoKTtcbiAgICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgbmV4dEpTWFRhZ1Rva2VuKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0LmpzeFRhZ1N0YXJ0OlxuICAgICAganN4UGFyc2VFbGVtZW50KCk7XG4gICAgICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgdHQuc3RyaW5nOlxuICAgICAgbmV4dEpTWFRhZ1Rva2VuKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdW5leHBlY3RlZChcIkpTWCB2YWx1ZSBzaG91bGQgYmUgZWl0aGVyIGFuIGV4cHJlc3Npb24gb3IgYSBxdW90ZWQgSlNYIHRleHRcIik7XG4gIH1cbn1cblxuLy8gUGFyc2UgSlNYIHNwcmVhZCBjaGlsZCwgYWZ0ZXIgYWxyZWFkeSBwcm9jZXNzaW5nIHRoZSB7XG4vLyBEb2VzIG5vdCBwYXJzZSB0aGUgY2xvc2luZyB9XG5mdW5jdGlvbiBqc3hQYXJzZVNwcmVhZENoaWxkKCkge1xuICBleHBlY3QodHQuZWxsaXBzaXMpO1xuICBwYXJzZUV4cHJlc3Npb24oKTtcbn1cblxuLy8gUGFyc2VzIEpTWCBvcGVuaW5nIHRhZyBzdGFydGluZyBhZnRlciBcIjxcIi5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgdGFnIHdhcyBzZWxmLWNsb3NpbmcuXG4vLyBEb2VzIG5vdCBwYXJzZSB0aGUgbGFzdCB0b2tlbi5cbmZ1bmN0aW9uIGpzeFBhcnNlT3BlbmluZ0VsZW1lbnQoaW5pdGlhbFRva2VuSW5kZXgpIHtcbiAgaWYgKG1hdGNoKHR0LmpzeFRhZ0VuZCkpIHtcbiAgICAvLyBUaGlzIGlzIGFuIG9wZW4tZnJhZ21lbnQuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGpzeFBhcnNlRWxlbWVudE5hbWUoKTtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c1RyeVBhcnNlSlNYVHlwZUFyZ3VtZW50KCk7XG4gIH1cbiAgbGV0IGhhc1NlZW5Qcm9wU3ByZWFkID0gZmFsc2U7XG4gIHdoaWxlICghbWF0Y2godHQuc2xhc2gpICYmICFtYXRjaCh0dC5qc3hUYWdFbmQpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGlmIChlYXQodHQuYnJhY2VMKSkge1xuICAgICAgaGFzU2VlblByb3BTcHJlYWQgPSB0cnVlO1xuICAgICAgZXhwZWN0KHR0LmVsbGlwc2lzKTtcbiAgICAgIHBhcnNlTWF5YmVBc3NpZ24oKTtcbiAgICAgIC8vIH1cbiAgICAgIG5leHRKU1hUYWdUb2tlbigpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGhhc1NlZW5Qcm9wU3ByZWFkICYmXG4gICAgICBzdGF0ZS5lbmQgLSBzdGF0ZS5zdGFydCA9PT0gMyAmJlxuICAgICAgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5zdGFydCkgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VLICYmXG4gICAgICBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnN0YXJ0ICsgMSkgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VFICYmXG4gICAgICBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnN0YXJ0ICsgMikgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VZXG4gICAgKSB7XG4gICAgICBzdGF0ZS50b2tlbnNbaW5pdGlhbFRva2VuSW5kZXhdLmpzeFJvbGUgPSBKU1hSb2xlLktleUFmdGVyUHJvcFNwcmVhZDtcbiAgICB9XG4gICAganN4UGFyc2VOYW1lc3BhY2VkTmFtZShJZGVudGlmaWVyUm9sZS5PYmplY3RLZXkpO1xuICAgIGlmIChtYXRjaCh0dC5lcSkpIHtcbiAgICAgIG5leHRKU1hUYWdUb2tlbigpO1xuICAgICAganN4UGFyc2VBdHRyaWJ1dGVWYWx1ZSgpO1xuICAgIH1cbiAgfVxuICBjb25zdCBpc1NlbGZDbG9zaW5nID0gbWF0Y2godHQuc2xhc2gpO1xuICBpZiAoaXNTZWxmQ2xvc2luZykge1xuICAgIC8vIC9cbiAgICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAgfVxuICByZXR1cm4gaXNTZWxmQ2xvc2luZztcbn1cblxuLy8gUGFyc2VzIEpTWCBjbG9zaW5nIHRhZyBzdGFydGluZyBhZnRlciBcIjwvXCIuXG4vLyBEb2VzIG5vdCBwYXJzZSB0aGUgbGFzdCB0b2tlbi5cbmZ1bmN0aW9uIGpzeFBhcnNlQ2xvc2luZ0VsZW1lbnQoKSB7XG4gIGlmIChtYXRjaCh0dC5qc3hUYWdFbmQpKSB7XG4gICAgLy8gRnJhZ21lbnQgc3ludGF4LCBzbyB3ZSBpbW1lZGlhdGVseSBoYXZlIGEgdGFnIGVuZC5cbiAgICByZXR1cm47XG4gIH1cbiAganN4UGFyc2VFbGVtZW50TmFtZSgpO1xufVxuXG4vLyBQYXJzZXMgZW50aXJlIEpTWCBlbGVtZW50LCBpbmNsdWRpbmcgaXRzIG9wZW5pbmcgdGFnXG4vLyAoc3RhcnRpbmcgYWZ0ZXIgXCI8XCIpLCBhdHRyaWJ1dGVzLCBjb250ZW50cyBhbmQgY2xvc2luZyB0YWcuXG4vLyBEb2VzIG5vdCBwYXJzZSB0aGUgbGFzdCB0b2tlbi5cbmZ1bmN0aW9uIGpzeFBhcnNlRWxlbWVudEF0KCkge1xuICBjb25zdCBpbml0aWFsVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGggLSAxO1xuICBzdGF0ZS50b2tlbnNbaW5pdGlhbFRva2VuSW5kZXhdLmpzeFJvbGUgPSBKU1hSb2xlLk5vQ2hpbGRyZW47XG4gIGxldCBudW1FeHBsaWNpdENoaWxkcmVuID0gMDtcbiAgY29uc3QgaXNTZWxmQ2xvc2luZyA9IGpzeFBhcnNlT3BlbmluZ0VsZW1lbnQoaW5pdGlhbFRva2VuSW5kZXgpO1xuICBpZiAoIWlzU2VsZkNsb3NpbmcpIHtcbiAgICBuZXh0SlNYRXhwclRva2VuKCk7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHN3aXRjaCAoc3RhdGUudHlwZSkge1xuICAgICAgICBjYXNlIHR0LmpzeFRhZ1N0YXJ0OlxuICAgICAgICAgIG5leHRKU1hUYWdUb2tlbigpO1xuICAgICAgICAgIGlmIChtYXRjaCh0dC5zbGFzaCkpIHtcbiAgICAgICAgICAgIG5leHRKU1hUYWdUb2tlbigpO1xuICAgICAgICAgICAganN4UGFyc2VDbG9zaW5nRWxlbWVudCgpO1xuICAgICAgICAgICAgLy8gS2V5IGFmdGVyIHByb3Agc3ByZWFkIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBudW1iZXIgb2YgY2hpbGRyZW4sXG4gICAgICAgICAgICAvLyBzaW5jZSBpdCBtZWFucyB3ZSBzd2l0Y2ggdG8gY3JlYXRlRWxlbWVudCwgd2hpY2ggZG9lc24ndCBjYXJlXG4gICAgICAgICAgICAvLyBhYm91dCBudW1iZXIgb2YgY2hpbGRyZW4uXG4gICAgICAgICAgICBpZiAoc3RhdGUudG9rZW5zW2luaXRpYWxUb2tlbkluZGV4XS5qc3hSb2xlICE9PSBKU1hSb2xlLktleUFmdGVyUHJvcFNwcmVhZCkge1xuICAgICAgICAgICAgICBpZiAobnVtRXhwbGljaXRDaGlsZHJlbiA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHN0YXRlLnRva2Vuc1tpbml0aWFsVG9rZW5JbmRleF0uanN4Um9sZSA9IEpTWFJvbGUuT25lQ2hpbGQ7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAobnVtRXhwbGljaXRDaGlsZHJlbiA+IDEpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS50b2tlbnNbaW5pdGlhbFRva2VuSW5kZXhdLmpzeFJvbGUgPSBKU1hSb2xlLlN0YXRpY0NoaWxkcmVuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIG51bUV4cGxpY2l0Q2hpbGRyZW4rKztcbiAgICAgICAgICBqc3hQYXJzZUVsZW1lbnRBdCgpO1xuICAgICAgICAgIG5leHRKU1hFeHByVG9rZW4oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIHR0LmpzeFRleHQ6XG4gICAgICAgICAgbnVtRXhwbGljaXRDaGlsZHJlbisrO1xuICAgICAgICAgIG5leHRKU1hFeHByVG9rZW4oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIHR0LmpzeEVtcHR5VGV4dDpcbiAgICAgICAgICBuZXh0SlNYRXhwclRva2VuKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSB0dC5icmFjZUw6XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIGlmIChtYXRjaCh0dC5lbGxpcHNpcykpIHtcbiAgICAgICAgICAgIGpzeFBhcnNlU3ByZWFkQ2hpbGQoKTtcbiAgICAgICAgICAgIG5leHRKU1hFeHByVG9rZW4oKTtcbiAgICAgICAgICAgIC8vIFNwcmVhZCBjaGlsZHJlbiBhcmUgYSBtZWNoYW5pc20gdG8gZXhwbGljaXRseSBtYXJrIGNoaWxkcmVuIGFzXG4gICAgICAgICAgICAvLyBzdGF0aWMsIHNvIGNvdW50IGl0IGFzIDIgY2hpbGRyZW4gdG8gc2F0aXNmeSB0aGUgXCJtb3JlIHRoYW4gb25lXG4gICAgICAgICAgICAvLyBjaGlsZFwiIGNvbmRpdGlvbi5cbiAgICAgICAgICAgIG51bUV4cGxpY2l0Q2hpbGRyZW4gKz0gMjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgd2Ugc2VlIHt9LCB0aGlzIGlzIGFuIGVtcHR5IHBzZXVkby1leHByZXNzaW9uIHRoYXQgZG9lc24ndFxuICAgICAgICAgICAgLy8gY291bnQgYXMgYSBjaGlsZC5cbiAgICAgICAgICAgIGlmICghbWF0Y2godHQuYnJhY2VSKSkge1xuICAgICAgICAgICAgICBudW1FeHBsaWNpdENoaWxkcmVuKys7XG4gICAgICAgICAgICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dEpTWEV4cHJUb2tlbigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0IC0gc2hvdWxkIG5ldmVyIGhhcHBlblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHVuZXhwZWN0ZWQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFBhcnNlcyBlbnRpcmUgSlNYIGVsZW1lbnQgZnJvbSBjdXJyZW50IHBvc2l0aW9uLlxuLy8gRG9lcyBub3QgcGFyc2UgdGhlIGxhc3QgdG9rZW4uXG5leHBvcnQgZnVuY3Rpb24ganN4UGFyc2VFbGVtZW50KCkge1xuICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAganN4UGFyc2VFbGVtZW50QXQoKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gT3ZlcnJpZGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0SlNYVGFnVG9rZW4oKSB7XG4gIHN0YXRlLnRva2Vucy5wdXNoKG5ldyBUb2tlbigpKTtcbiAgc2tpcFNwYWNlKCk7XG4gIHN0YXRlLnN0YXJ0ID0gc3RhdGUucG9zO1xuICBjb25zdCBjb2RlID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuXG4gIGlmIChJU19JREVOVElGSUVSX1NUQVJUW2NvZGVdKSB7XG4gICAganN4UmVhZFdvcmQoKTtcbiAgfSBlbHNlIGlmIChjb2RlID09PSBjaGFyQ29kZXMucXVvdGF0aW9uTWFyayB8fCBjb2RlID09PSBjaGFyQ29kZXMuYXBvc3Ryb3BoZSkge1xuICAgIGpzeFJlYWRTdHJpbmcoY29kZSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhlIGZvbGxvd2luZyB0b2tlbnMgYXJlIGp1c3Qgb25lIGNoYXJhY3RlciBlYWNoLlxuICAgICsrc3RhdGUucG9zO1xuICAgIHN3aXRjaCAoY29kZSkge1xuICAgICAgY2FzZSBjaGFyQ29kZXMuZ3JlYXRlclRoYW46XG4gICAgICAgIGZpbmlzaFRva2VuKHR0LmpzeFRhZ0VuZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBjaGFyQ29kZXMubGVzc1RoYW46XG4gICAgICAgIGZpbmlzaFRva2VuKHR0LmpzeFRhZ1N0YXJ0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5zbGFzaDpcbiAgICAgICAgZmluaXNoVG9rZW4odHQuc2xhc2gpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgY2hhckNvZGVzLmVxdWFsc1RvOlxuICAgICAgICBmaW5pc2hUb2tlbih0dC5lcSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2U6XG4gICAgICAgIGZpbmlzaFRva2VuKHR0LmJyYWNlTCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBjaGFyQ29kZXMuZG90OlxuICAgICAgICBmaW5pc2hUb2tlbih0dC5kb3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgY2hhckNvZGVzLmNvbG9uOlxuICAgICAgICBmaW5pc2hUb2tlbih0dC5jb2xvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdW5leHBlY3RlZCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBuZXh0SlNYRXhwclRva2VuKCkge1xuICBzdGF0ZS50b2tlbnMucHVzaChuZXcgVG9rZW4oKSk7XG4gIHN0YXRlLnN0YXJ0ID0gc3RhdGUucG9zO1xuICBqc3hSZWFkVG9rZW4oKTtcbn1cbiIsICJpbXBvcnQge2VhdFR5cGVUb2tlbiwgbG9va2FoZWFkVHlwZSwgbWF0Y2h9IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXhcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQge2lzRmxvd0VuYWJsZWQsIGlzVHlwZVNjcmlwdEVuYWJsZWR9IGZyb20gXCIuLi90cmF2ZXJzZXIvYmFzZVwiO1xuaW1wb3J0IHtiYXNlUGFyc2VDb25kaXRpb25hbH0gZnJvbSBcIi4uL3RyYXZlcnNlci9leHByZXNzaW9uXCI7XG5pbXBvcnQge2Zsb3dQYXJzZVR5cGVBbm5vdGF0aW9ufSBmcm9tIFwiLi9mbG93XCI7XG5pbXBvcnQge3RzUGFyc2VUeXBlQW5ub3RhdGlvbn0gZnJvbSBcIi4vdHlwZXNjcmlwdFwiO1xuXG4vKipcbiAqIENvbW1vbiBwYXJzZXIgY29kZSBmb3IgVHlwZVNjcmlwdCBhbmQgRmxvdy5cbiAqL1xuXG4vLyBBbiBhcHBhcmVudCBjb25kaXRpb25hbCBleHByZXNzaW9uIGNvdWxkIGFjdHVhbGx5IGJlIGFuIG9wdGlvbmFsIHBhcmFtZXRlciBpbiBhbiBhcnJvdyBmdW5jdGlvbi5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlZFBhcnNlQ29uZGl0aW9uYWwobm9Jbikge1xuICAvLyBJZiB3ZSBzZWUgPzosIHRoaXMgY2FuJ3QgcG9zc2libHkgYmUgYSB2YWxpZCBjb25kaXRpb25hbC4gdHlwZWRQYXJzZVBhcmVuSXRlbSB3aWxsIGJlIGNhbGxlZFxuICAvLyBsYXRlciB0byBmaW5pc2ggb2ZmIHRoZSBhcnJvdyBwYXJhbWV0ZXIuIFdlIGFsc28gbmVlZCB0byBoYW5kbGUgYmFyZSA/IHRva2VucyBmb3Igb3B0aW9uYWxcbiAgLy8gcGFyYW1ldGVycyB3aXRob3V0IHR5cGUgYW5ub3RhdGlvbnMsIGkuZS4gPywgYW5kID8pIC5cbiAgaWYgKG1hdGNoKHR0LnF1ZXN0aW9uKSkge1xuICAgIGNvbnN0IG5leHRUeXBlID0gbG9va2FoZWFkVHlwZSgpO1xuICAgIGlmIChuZXh0VHlwZSA9PT0gdHQuY29sb24gfHwgbmV4dFR5cGUgPT09IHR0LmNvbW1hIHx8IG5leHRUeXBlID09PSB0dC5wYXJlblIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbiAgYmFzZVBhcnNlQ29uZGl0aW9uYWwobm9Jbik7XG59XG5cbi8vIE5vdGU6IFRoZXNlIFwidHlwZSBjYXN0c1wiIGFyZSAqbm90KiB2YWxpZCBUUyBleHByZXNzaW9ucy5cbi8vIEJ1dCB3ZSBwYXJzZSB0aGVtIGhlcmUgYW5kIGNoYW5nZSB0aGVtIHdoZW4gY29tcGxldGluZyB0aGUgYXJyb3cgZnVuY3Rpb24uXG5leHBvcnQgZnVuY3Rpb24gdHlwZWRQYXJzZVBhcmVuSXRlbSgpIHtcbiAgZWF0VHlwZVRva2VuKHR0LnF1ZXN0aW9uKTtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgICB0c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICAgIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iLCAiLyogZXNsaW50IG1heC1sZW46IDAgKi9cblxuLy8gQSByZWN1cnNpdmUgZGVzY2VudCBwYXJzZXIgb3BlcmF0ZXMgYnkgZGVmaW5pbmcgZnVuY3Rpb25zIGZvciBhbGxcbi8vIHN5bnRhY3RpYyBlbGVtZW50cywgYW5kIHJlY3Vyc2l2ZWx5IGNhbGxpbmcgdGhvc2UsIGVhY2ggZnVuY3Rpb25cbi8vIGFkdmFuY2luZyB0aGUgaW5wdXQgc3RyZWFtIGFuZCByZXR1cm5pbmcgYW4gQVNUIG5vZGUuIFByZWNlZGVuY2Vcbi8vIG9mIGNvbnN0cnVjdHMgKGZvciBleGFtcGxlLCB0aGUgZmFjdCB0aGF0IGAheFsxXWAgbWVhbnMgYCEoeFsxXSlgXG4vLyBpbnN0ZWFkIG9mIGAoIXgpWzFdYCBpcyBoYW5kbGVkIGJ5IHRoZSBmYWN0IHRoYXQgdGhlIHBhcnNlclxuLy8gZnVuY3Rpb24gdGhhdCBwYXJzZXMgdW5hcnkgcHJlZml4IG9wZXJhdG9ycyBpcyBjYWxsZWQgZmlyc3QsIGFuZFxuLy8gaW4gdHVybiBjYWxscyB0aGUgZnVuY3Rpb24gdGhhdCBwYXJzZXMgYFtdYCBzdWJzY3JpcHRzIFx1MjAxNCB0aGF0XG4vLyB3YXksIGl0J2xsIHJlY2VpdmUgdGhlIG5vZGUgZm9yIGB4WzFdYCBhbHJlYWR5IHBhcnNlZCwgYW5kIHdyYXBzXG4vLyAqdGhhdCogaW4gdGhlIHVuYXJ5IG9wZXJhdG9yIG5vZGUuXG4vL1xuLy8gQWNvcm4gdXNlcyBhbiBbb3BlcmF0b3IgcHJlY2VkZW5jZSBwYXJzZXJdW29wcF0gdG8gaGFuZGxlIGJpbmFyeVxuLy8gb3BlcmF0b3IgcHJlY2VkZW5jZSwgYmVjYXVzZSBpdCBpcyBtdWNoIG1vcmUgY29tcGFjdCB0aGFuIHVzaW5nXG4vLyB0aGUgdGVjaG5pcXVlIG91dGxpbmVkIGFib3ZlLCB3aGljaCB1c2VzIGRpZmZlcmVudCwgbmVzdGluZ1xuLy8gZnVuY3Rpb25zIHRvIHNwZWNpZnkgcHJlY2VkZW5jZSwgZm9yIGFsbCBvZiB0aGUgdGVuIGJpbmFyeVxuLy8gcHJlY2VkZW5jZSBsZXZlbHMgdGhhdCBKYXZhU2NyaXB0IGRlZmluZXMuXG4vL1xuLy8gW29wcF06IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvT3BlcmF0b3ItcHJlY2VkZW5jZV9wYXJzZXJcblxuaW1wb3J0IHtcbiAgZmxvd1BhcnNlQXJyb3csXG4gIGZsb3dQYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaCxcbiAgZmxvd1BhcnNlTWF5YmVBc3NpZ24sXG4gIGZsb3dQYXJzZVN1YnNjcmlwdCxcbiAgZmxvd1BhcnNlU3Vic2NyaXB0cyxcbiAgZmxvd1BhcnNlVmFyaWFuY2UsXG4gIGZsb3dTdGFydFBhcnNlQXN5bmNBcnJvd0Zyb21DYWxsRXhwcmVzc2lvbixcbiAgZmxvd1N0YXJ0UGFyc2VOZXdBcmd1bWVudHMsXG4gIGZsb3dTdGFydFBhcnNlT2JqUHJvcFZhbHVlLFxufSBmcm9tIFwiLi4vcGx1Z2lucy9mbG93XCI7XG5pbXBvcnQge2pzeFBhcnNlRWxlbWVudH0gZnJvbSBcIi4uL3BsdWdpbnMvanN4L2luZGV4XCI7XG5pbXBvcnQge3R5cGVkUGFyc2VDb25kaXRpb25hbCwgdHlwZWRQYXJzZVBhcmVuSXRlbX0gZnJvbSBcIi4uL3BsdWdpbnMvdHlwZXNcIjtcbmltcG9ydCB7XG4gIHRzUGFyc2VBcnJvdyxcbiAgdHNQYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaCxcbiAgdHNQYXJzZU1heWJlQXNzaWduLFxuICB0c1BhcnNlU3Vic2NyaXB0LFxuICB0c1BhcnNlVHlwZSxcbiAgdHNQYXJzZVR5cGVBc3NlcnRpb24sXG4gIHRzU3RhcnRQYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24sXG4gIHRzU3RhcnRQYXJzZU9ialByb3BWYWx1ZSxcbn0gZnJvbSBcIi4uL3BsdWdpbnMvdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHtcbiAgZWF0LFxuICBJZGVudGlmaWVyUm9sZSxcbiAgbG9va2FoZWFkQ2hhckNvZGUsXG4gIGxvb2thaGVhZFR5cGUsXG4gIG1hdGNoLFxuICBuZXh0LFxuICBuZXh0VGVtcGxhdGVUb2tlbixcbiAgcG9wVHlwZUNvbnRleHQsXG4gIHB1c2hUeXBlQ29udGV4dCxcbiAgcmVzY2FuX2d0LFxuICByZXRva2VuaXplU2xhc2hBc1JlZ2V4LFxufSBmcm9tIFwiLi4vdG9rZW5pemVyL2luZGV4XCI7XG5pbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi4vdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Njb3BlfSBmcm9tIFwiLi4vdG9rZW5pemVyL3N0YXRlXCI7XG5pbXBvcnQge1Rva2VuVHlwZSwgVG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQge2NoYXJDb2Rlc30gZnJvbSBcIi4uL3V0aWwvY2hhcmNvZGVzXCI7XG5pbXBvcnQge0lTX0lERU5USUZJRVJfU1RBUlR9IGZyb20gXCIuLi91dGlsL2lkZW50aWZpZXJcIjtcbmltcG9ydCB7Z2V0TmV4dENvbnRleHRJZCwgaXNGbG93RW5hYmxlZCwgaXNKU1hFbmFibGVkLCBpc1R5cGVTY3JpcHRFbmFibGVkLCBzdGF0ZX0gZnJvbSBcIi4vYmFzZVwiO1xuaW1wb3J0IHtcbiAgbWFya1ByaW9yQmluZGluZ0lkZW50aWZpZXIsXG4gIHBhcnNlQmluZGluZ0lkZW50aWZpZXIsXG4gIHBhcnNlTWF5YmVEZWZhdWx0LFxuICBwYXJzZVJlc3QsXG4gIHBhcnNlU3ByZWFkLFxufSBmcm9tIFwiLi9sdmFsXCI7XG5pbXBvcnQge1xuICBwYXJzZUJsb2NrLFxuICBwYXJzZUJsb2NrQm9keSxcbiAgcGFyc2VDbGFzcyxcbiAgcGFyc2VEZWNvcmF0b3JzLFxuICBwYXJzZUZ1bmN0aW9uLFxuICBwYXJzZUZ1bmN0aW9uUGFyYW1zLFxufSBmcm9tIFwiLi9zdGF0ZW1lbnRcIjtcbmltcG9ydCB7XG4gIGNhbkluc2VydFNlbWljb2xvbixcbiAgZWF0Q29udGV4dHVhbCxcbiAgZXhwZWN0LFxuICBleHBlY3RDb250ZXh0dWFsLFxuICBoYXNGb2xsb3dpbmdMaW5lQnJlYWssXG4gIGhhc1ByZWNlZGluZ0xpbmVCcmVhayxcbiAgaXNDb250ZXh0dWFsLFxuICB1bmV4cGVjdGVkLFxufSBmcm9tIFwiLi91dGlsXCI7XG5cbmV4cG9ydCBjbGFzcyBTdG9wU3RhdGUge1xuICBcbiAgY29uc3RydWN0b3Ioc3RvcCkge1xuICAgIHRoaXMuc3RvcCA9IHN0b3A7XG4gIH1cbn1cblxuLy8gIyMjIEV4cHJlc3Npb24gcGFyc2luZ1xuXG4vLyBUaGVzZSBuZXN0LCBmcm9tIHRoZSBtb3N0IGdlbmVyYWwgZXhwcmVzc2lvbiB0eXBlIGF0IHRoZSB0b3AgdG9cbi8vICdhdG9taWMnLCBub25kaXZpc2libGUgZXhwcmVzc2lvbiB0eXBlcyBhdCB0aGUgYm90dG9tLiBNb3N0IG9mXG4vLyB0aGUgZnVuY3Rpb25zIHdpbGwgc2ltcGx5IGxldCB0aGUgZnVuY3Rpb24gKHMpIGJlbG93IHRoZW0gcGFyc2UsXG4vLyBhbmQsICppZiogdGhlIHN5bnRhY3RpYyBjb25zdHJ1Y3QgdGhleSBoYW5kbGUgaXMgcHJlc2VudCwgd3JhcFxuLy8gdGhlIEFTVCBub2RlIHRoYXQgdGhlIGlubmVyIHBhcnNlciBnYXZlIHRoZW0gaW4gYW5vdGhlciBub2RlLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRXhwcmVzc2lvbihub0luID0gZmFsc2UpIHtcbiAgcGFyc2VNYXliZUFzc2lnbihub0luKTtcbiAgaWYgKG1hdGNoKHR0LmNvbW1hKSkge1xuICAgIHdoaWxlIChlYXQodHQuY29tbWEpKSB7XG4gICAgICBwYXJzZU1heWJlQXNzaWduKG5vSW4pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIG5vSW4gaXMgdXNlZCB3aGVuIHBhcnNpbmcgYSBmb3IgbG9vcCBzbyB0aGF0IHdlIGRvbid0IGludGVycHJldCBhIGZvbGxvd2luZyBcImluXCIgYXMgdGhlIGJpbmFyeVxuICogb3BlcmF0aW9yLlxuICogaXNXaXRoaW5QYXJlbnMgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IHdlJ3JlIHBhcnNpbmcgc29tZXRoaW5nIHRoYXQgbWlnaHQgYmUgYSBjb21tYSBleHByZXNzaW9uXG4gKiBvciBtaWdodCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBvciBtaWdodCBiZSBhIEZsb3cgdHlwZSBhc3NlcnRpb24gKHdoaWNoIHJlcXVpcmVzIGV4cGxpY2l0IHBhcmVucykuXG4gKiBJbiB0aGVzZSBjYXNlcywgd2Ugc2hvdWxkIGFsbG93IDogYW5kID86IGFmdGVyIHRoZSBpbml0aWFsIFwibGVmdFwiIHBhcnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1heWJlQXNzaWduKG5vSW4gPSBmYWxzZSwgaXNXaXRoaW5QYXJlbnMgPSBmYWxzZSkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHJldHVybiB0c1BhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICByZXR1cm4gZmxvd1BhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBiYXNlUGFyc2VNYXliZUFzc2lnbihub0luLCBpc1dpdGhpblBhcmVucyk7XG4gIH1cbn1cblxuLy8gUGFyc2UgYW4gYXNzaWdubWVudCBleHByZXNzaW9uLiBUaGlzIGluY2x1ZGVzIGFwcGxpY2F0aW9ucyBvZlxuLy8gb3BlcmF0b3JzIGxpa2UgYCs9YC5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgZXhwcmVzc2lvbiB3YXMgYW4gYXJyb3cgZnVuY3Rpb24uXG5leHBvcnQgZnVuY3Rpb24gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpIHtcbiAgaWYgKG1hdGNoKHR0Ll95aWVsZCkpIHtcbiAgICBwYXJzZVlpZWxkKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKG1hdGNoKHR0LnBhcmVuTCkgfHwgbWF0Y2godHQubmFtZSkgfHwgbWF0Y2godHQuX3lpZWxkKSkge1xuICAgIHN0YXRlLnBvdGVudGlhbEFycm93QXQgPSBzdGF0ZS5zdGFydDtcbiAgfVxuXG4gIGNvbnN0IHdhc0Fycm93ID0gcGFyc2VNYXliZUNvbmRpdGlvbmFsKG5vSW4pO1xuICBpZiAoaXNXaXRoaW5QYXJlbnMpIHtcbiAgICBwYXJzZVBhcmVuSXRlbSgpO1xuICB9XG4gIGlmIChzdGF0ZS50eXBlICYgVG9rZW5UeXBlLklTX0FTU0lHTikge1xuICAgIG5leHQoKTtcbiAgICBwYXJzZU1heWJlQXNzaWduKG5vSW4pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gd2FzQXJyb3c7XG59XG5cbi8vIFBhcnNlIGEgdGVybmFyeSBjb25kaXRpb25hbCAoYD86YCkgb3BlcmF0b3IuXG4vLyBSZXR1cm5zIHRydWUgaWYgdGhlIGV4cHJlc3Npb24gd2FzIGFuIGFycm93IGZ1bmN0aW9uLlxuZnVuY3Rpb24gcGFyc2VNYXliZUNvbmRpdGlvbmFsKG5vSW4pIHtcbiAgY29uc3Qgd2FzQXJyb3cgPSBwYXJzZUV4cHJPcHMobm9Jbik7XG4gIGlmICh3YXNBcnJvdykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHBhcnNlQ29uZGl0aW9uYWwobm9Jbik7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcGFyc2VDb25kaXRpb25hbChub0luKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkIHx8IGlzRmxvd0VuYWJsZWQpIHtcbiAgICB0eXBlZFBhcnNlQ29uZGl0aW9uYWwobm9Jbik7XG4gIH0gZWxzZSB7XG4gICAgYmFzZVBhcnNlQ29uZGl0aW9uYWwobm9Jbik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJhc2VQYXJzZUNvbmRpdGlvbmFsKG5vSW4pIHtcbiAgaWYgKGVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICBwYXJzZU1heWJlQXNzaWduKCk7XG4gICAgZXhwZWN0KHR0LmNvbG9uKTtcbiAgICBwYXJzZU1heWJlQXNzaWduKG5vSW4pO1xuICB9XG59XG5cbi8vIFN0YXJ0IHRoZSBwcmVjZWRlbmNlIHBhcnNlci5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBhcnJvdyBmdW5jdGlvblxuZnVuY3Rpb24gcGFyc2VFeHByT3BzKG5vSW4pIHtcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgY29uc3Qgd2FzQXJyb3cgPSBwYXJzZU1heWJlVW5hcnkoKTtcbiAgaWYgKHdhc0Fycm93KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcGFyc2VFeHByT3Aoc3RhcnRUb2tlbkluZGV4LCAtMSwgbm9Jbik7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLy8gUGFyc2UgYmluYXJ5IG9wZXJhdG9ycyB3aXRoIHRoZSBvcGVyYXRvciBwcmVjZWRlbmNlIHBhcnNpbmdcbi8vIGFsZ29yaXRobS4gYGxlZnRgIGlzIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgb3BlcmF0b3IuXG4vLyBgbWluUHJlY2AgcHJvdmlkZXMgY29udGV4dCB0aGF0IGFsbG93cyB0aGUgZnVuY3Rpb24gdG8gc3RvcCBhbmRcbi8vIGRlZmVyIGZ1cnRoZXIgcGFyc2VyIHRvIG9uZSBvZiBpdHMgY2FsbGVycyB3aGVuIGl0IGVuY291bnRlcnMgYW5cbi8vIG9wZXJhdG9yIHRoYXQgaGFzIGEgbG93ZXIgcHJlY2VkZW5jZSB0aGFuIHRoZSBzZXQgaXQgaXMgcGFyc2luZy5cbmZ1bmN0aW9uIHBhcnNlRXhwck9wKHN0YXJ0VG9rZW5JbmRleCwgbWluUHJlYywgbm9Jbikge1xuICBpZiAoXG4gICAgaXNUeXBlU2NyaXB0RW5hYmxlZCAmJlxuICAgICh0dC5faW4gJiBUb2tlblR5cGUuUFJFQ0VERU5DRV9NQVNLKSA+IG1pblByZWMgJiZcbiAgICAhaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkgJiZcbiAgICAoZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpIHx8IGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3NhdGlzZmllcykpXG4gICkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgcmVzY2FuX2d0KCk7XG4gICAgcGFyc2VFeHByT3Aoc3RhcnRUb2tlbkluZGV4LCBtaW5QcmVjLCBub0luKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBwcmVjID0gc3RhdGUudHlwZSAmIFRva2VuVHlwZS5QUkVDRURFTkNFX01BU0s7XG4gIGlmIChwcmVjID4gMCAmJiAoIW5vSW4gfHwgIW1hdGNoKHR0Ll9pbikpKSB7XG4gICAgaWYgKHByZWMgPiBtaW5QcmVjKSB7XG4gICAgICBjb25zdCBvcCA9IHN0YXRlLnR5cGU7XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAob3AgPT09IHR0Lm51bGxpc2hDb2FsZXNjaW5nKSB7XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0ubnVsbGlzaFN0YXJ0SW5kZXggPSBzdGFydFRva2VuSW5kZXg7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJoc1N0YXJ0VG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gICAgICBwYXJzZU1heWJlVW5hcnkoKTtcbiAgICAgIC8vIEV4dGVuZCB0aGUgcmlnaHQgb3BlcmFuZCBvZiB0aGlzIG9wZXJhdG9yIGlmIHBvc3NpYmxlLlxuICAgICAgcGFyc2VFeHByT3AocmhzU3RhcnRUb2tlbkluZGV4LCBvcCAmIFRva2VuVHlwZS5JU19SSUdIVF9BU1NPQ0lBVElWRSA/IHByZWMgLSAxIDogcHJlYywgbm9Jbik7XG4gICAgICBpZiAob3AgPT09IHR0Lm51bGxpc2hDb2FsZXNjaW5nKSB7XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGFydFRva2VuSW5kZXhdLm51bU51bGxpc2hDb2FsZXNjZVN0YXJ0cysrO1xuICAgICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLm51bU51bGxpc2hDb2FsZXNjZUVuZHMrKztcbiAgICAgIH1cbiAgICAgIC8vIENvbnRpbnVlIHdpdGggYW55IGZ1dHVyZSBvcGVyYXRvciBob2xkaW5nIHRoaXMgZXhwcmVzc2lvbiBhcyB0aGUgbGVmdCBvcGVyYW5kLlxuICAgICAgcGFyc2VFeHByT3Aoc3RhcnRUb2tlbkluZGV4LCBtaW5QcmVjLCBub0luKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFyc2UgdW5hcnkgb3BlcmF0b3JzLCBib3RoIHByZWZpeCBhbmQgcG9zdGZpeC5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBhcnJvdyBmdW5jdGlvbi5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1heWJlVW5hcnkoKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkICYmICFpc0pTWEVuYWJsZWQgJiYgZWF0KHR0Lmxlc3NUaGFuKSkge1xuICAgIHRzUGFyc2VUeXBlQXNzZXJ0aW9uKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChcbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX21vZHVsZSkgJiZcbiAgICBsb29rYWhlYWRDaGFyQ29kZSgpID09PSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2UgJiZcbiAgICAhaGFzRm9sbG93aW5nTGluZUJyZWFrKClcbiAgKSB7XG4gICAgcGFyc2VNb2R1bGVFeHByZXNzaW9uKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChzdGF0ZS50eXBlICYgVG9rZW5UeXBlLklTX1BSRUZJWCkge1xuICAgIG5leHQoKTtcbiAgICBwYXJzZU1heWJlVW5hcnkoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB3YXNBcnJvdyA9IHBhcnNlRXhwclN1YnNjcmlwdHMoKTtcbiAgaWYgKHdhc0Fycm93KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgd2hpbGUgKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfUE9TVEZJWCAmJiAhY2FuSW5zZXJ0U2VtaWNvbG9uKCkpIHtcbiAgICAvLyBUaGUgdG9rZW5pemVyIGNhbGxzIGV2ZXJ5dGhpbmcgYSBwcmVpbmNyZW1lbnQsIHNvIG1ha2UgaXQgYSBwb3N0aW5jcmVtZW50IHdoZW5cbiAgICAvLyB3ZSBzZWUgaXQgaW4gdGhhdCBjb250ZXh0LlxuICAgIGlmIChzdGF0ZS50eXBlID09PSB0dC5wcmVJbmNEZWMpIHtcbiAgICAgIHN0YXRlLnR5cGUgPSB0dC5wb3N0SW5jRGVjO1xuICAgIH1cbiAgICBuZXh0KCk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBQYXJzZSBjYWxsLCBkb3QsIGFuZCBgW11gLXN1YnNjcmlwdCBleHByZXNzaW9ucy5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBhcnJvdyBmdW5jdGlvbi5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUV4cHJTdWJzY3JpcHRzKCkge1xuICBjb25zdCBzdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICBjb25zdCB3YXNBcnJvdyA9IHBhcnNlRXhwckF0b20oKTtcbiAgaWYgKHdhc0Fycm93KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcGFyc2VTdWJzY3JpcHRzKHN0YXJ0VG9rZW5JbmRleCk7XG4gIC8vIElmIHRoZXJlIHdhcyBhbnkgb3B0aW9uYWwgY2hhaW4gb3BlcmF0aW9uLCB0aGUgc3RhcnQgdG9rZW4gd291bGQgYmUgbWFya2VkXG4gIC8vIGFzIHN1Y2gsIHNvIGFsc28gbWFyayB0aGUgZW5kIG5vdy5cbiAgaWYgKHN0YXRlLnRva2Vucy5sZW5ndGggPiBzdGFydFRva2VuSW5kZXggJiYgc3RhdGUudG9rZW5zW3N0YXJ0VG9rZW5JbmRleF0uaXNPcHRpb25hbENoYWluU3RhcnQpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmlzT3B0aW9uYWxDaGFpbkVuZCA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwYXJzZVN1YnNjcmlwdHMoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzID0gZmFsc2UpIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VTdWJzY3JpcHRzKHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscyk7XG4gIH0gZWxzZSB7XG4gICAgYmFzZVBhcnNlU3Vic2NyaXB0cyhzdGFydFRva2VuSW5kZXgsIG5vQ2FsbHMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYXNlUGFyc2VTdWJzY3JpcHRzKHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscyA9IGZhbHNlKSB7XG4gIGNvbnN0IHN0b3BTdGF0ZSA9IG5ldyBTdG9wU3RhdGUoZmFsc2UpO1xuICBkbyB7XG4gICAgcGFyc2VTdWJzY3JpcHQoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzLCBzdG9wU3RhdGUpO1xuICB9IHdoaWxlICghc3RvcFN0YXRlLnN0b3AgJiYgIXN0YXRlLmVycm9yKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VTdWJzY3JpcHQoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzLCBzdG9wU3RhdGUpIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c1BhcnNlU3Vic2NyaXB0KHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscywgc3RvcFN0YXRlKTtcbiAgfSBlbHNlIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgZmxvd1BhcnNlU3Vic2NyaXB0KHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscywgc3RvcFN0YXRlKTtcbiAgfSBlbHNlIHtcbiAgICBiYXNlUGFyc2VTdWJzY3JpcHQoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzLCBzdG9wU3RhdGUpO1xuICB9XG59XG5cbi8qKiBTZXQgJ3N0YXRlLnN0b3AgPSB0cnVlJyB0byBpbmRpY2F0ZSB0aGF0IHdlIHNob3VsZCBzdG9wIHBhcnNpbmcgc3Vic2NyaXB0cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiYXNlUGFyc2VTdWJzY3JpcHQoXG4gIHN0YXJ0VG9rZW5JbmRleCxcbiAgbm9DYWxscyxcbiAgc3RvcFN0YXRlLFxuKSB7XG4gIGlmICghbm9DYWxscyAmJiBlYXQodHQuZG91YmxlQ29sb24pKSB7XG4gICAgcGFyc2VOb0NhbGxFeHByKCk7XG4gICAgc3RvcFN0YXRlLnN0b3AgPSB0cnVlO1xuICAgIC8vIFByb3BhZ2F0ZSBzdGFydFRva2VuSW5kZXggc28gdGhhdCBgYTo6Yj8uKClgIHdpbGwga2VlcCBgYWAgYXMgdGhlIGZpcnN0IHRva2VuLiBXZSBtYXkgd2FudFxuICAgIC8vIHRvIHJldmlzaXQgdGhpcyBpbiB0aGUgZnV0dXJlIHdoZW4gZnVsbHkgc3VwcG9ydGluZyBiaW5kIHN5bnRheC5cbiAgICBwYXJzZVN1YnNjcmlwdHMoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzKTtcbiAgfSBlbHNlIGlmIChtYXRjaCh0dC5xdWVzdGlvbkRvdCkpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhcnRUb2tlbkluZGV4XS5pc09wdGlvbmFsQ2hhaW5TdGFydCA9IHRydWU7XG4gICAgaWYgKG5vQ2FsbHMgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5wYXJlbkwpIHtcbiAgICAgIHN0b3BTdGF0ZS5zdG9wID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbmV4dCgpO1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uc3Vic2NyaXB0U3RhcnRJbmRleCA9IHN0YXJ0VG9rZW5JbmRleDtcblxuICAgIGlmIChlYXQodHQuYnJhY2tldEwpKSB7XG4gICAgICBwYXJzZUV4cHJlc3Npb24oKTtcbiAgICAgIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgfSBlbHNlIGlmIChlYXQodHQucGFyZW5MKSkge1xuICAgICAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZU1heWJlUHJpdmF0ZU5hbWUoKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZWF0KHR0LmRvdCkpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnN1YnNjcmlwdFN0YXJ0SW5kZXggPSBzdGFydFRva2VuSW5kZXg7XG4gICAgcGFyc2VNYXliZVByaXZhdGVOYW1lKCk7XG4gIH0gZWxzZSBpZiAoZWF0KHR0LmJyYWNrZXRMKSkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uc3Vic2NyaXB0U3RhcnRJbmRleCA9IHN0YXJ0VG9rZW5JbmRleDtcbiAgICBwYXJzZUV4cHJlc3Npb24oKTtcbiAgICBleHBlY3QodHQuYnJhY2tldFIpO1xuICB9IGVsc2UgaWYgKCFub0NhbGxzICYmIG1hdGNoKHR0LnBhcmVuTCkpIHtcbiAgICBpZiAoYXRQb3NzaWJsZUFzeW5jKCkpIHtcbiAgICAgIC8vIFdlIHNlZSBcImFzeW5jXCIsIGJ1dCBpdCdzIHBvc3NpYmxlIGl0J3MgYSB1c2FnZSBvZiB0aGUgbmFtZSBcImFzeW5jXCIuIFBhcnNlIGFzIGlmIGl0J3MgYVxuICAgICAgLy8gZnVuY3Rpb24gY2FsbCwgYW5kIGlmIHdlIHNlZSBhbiBhcnJvdyBsYXRlciwgYmFja3RyYWNrIGFuZCByZS1wYXJzZSBhcyBhIHBhcmFtZXRlciBsaXN0LlxuICAgICAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICAgICAgY29uc3QgYXN5bmNTdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgICAgbmV4dCgpO1xuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5zdWJzY3JpcHRTdGFydEluZGV4ID0gc3RhcnRUb2tlbkluZGV4O1xuXG4gICAgICBjb25zdCBjYWxsQ29udGV4dElkID0gZ2V0TmV4dENvbnRleHRJZCgpO1xuXG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNhbGxDb250ZXh0SWQ7XG4gICAgICBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKCk7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNhbGxDb250ZXh0SWQ7XG5cbiAgICAgIGlmIChzaG91bGRQYXJzZUFzeW5jQXJyb3coKSkge1xuICAgICAgICAvLyBXZSBoaXQgYW4gYXJyb3csIHNvIGJhY2t0cmFjayBhbmQgc3RhcnQgYWdhaW4gcGFyc2luZyBmdW5jdGlvbiBwYXJhbWV0ZXJzLlxuICAgICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgICAgc3RvcFN0YXRlLnN0b3AgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5zY29wZURlcHRoKys7XG5cbiAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICAgICAgICBwYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oYXN5bmNTdGFydFRva2VuSW5kZXgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0KCk7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnN1YnNjcmlwdFN0YXJ0SW5kZXggPSBzdGFydFRva2VuSW5kZXg7XG4gICAgICBjb25zdCBjYWxsQ29udGV4dElkID0gZ2V0TmV4dENvbnRleHRJZCgpO1xuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBjYWxsQ29udGV4dElkO1xuICAgICAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cygpO1xuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBjYWxsQ29udGV4dElkO1xuICAgIH1cbiAgfSBlbHNlIGlmIChtYXRjaCh0dC5iYWNrUXVvdGUpKSB7XG4gICAgLy8gVGFnZ2VkIHRlbXBsYXRlIGV4cHJlc3Npb24uXG4gICAgcGFyc2VUZW1wbGF0ZSgpO1xuICB9IGVsc2Uge1xuICAgIHN0b3BTdGF0ZS5zdG9wID0gdHJ1ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXRQb3NzaWJsZUFzeW5jKCkge1xuICAvLyBUaGlzIHdhcyBtYWRlIGxlc3Mgc3RyaWN0IHRoYW4gdGhlIG9yaWdpbmFsIHZlcnNpb24gdG8gYXZvaWQgcGFzc2luZyBhcm91bmQgbm9kZXMsIGJ1dCBpdFxuICAvLyBzaG91bGQgYmUgc2FmZSB0byBoYXZlIHJhcmUgZmFsc2UgcG9zaXRpdmVzIGhlcmUuXG4gIHJldHVybiAoXG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jICYmXG4gICAgIWNhbkluc2VydFNlbWljb2xvbigpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKCkge1xuICBsZXQgZmlyc3QgPSB0cnVlO1xuICB3aGlsZSAoIWVhdCh0dC5wYXJlblIpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGlmIChmaXJzdCkge1xuICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgIGlmIChlYXQodHQucGFyZW5SKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXJzZUV4cHJMaXN0SXRlbShmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkUGFyc2VBc3luY0Fycm93KCkge1xuICByZXR1cm4gbWF0Y2godHQuY29sb24pIHx8IG1hdGNoKHR0LmFycm93KTtcbn1cblxuZnVuY3Rpb24gcGFyc2VBc3luY0Fycm93RnJvbUNhbGxFeHByZXNzaW9uKHN0YXJ0VG9rZW5JbmRleCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzU3RhcnRQYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oKTtcbiAgfSBlbHNlIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgZmxvd1N0YXJ0UGFyc2VBc3luY0Fycm93RnJvbUNhbGxFeHByZXNzaW9uKCk7XG4gIH1cbiAgZXhwZWN0KHR0LmFycm93KTtcbiAgcGFyc2VBcnJvd0V4cHJlc3Npb24oc3RhcnRUb2tlbkluZGV4KTtcbn1cblxuLy8gUGFyc2UgYSBuby1jYWxsIGV4cHJlc3Npb24gKGxpa2UgYXJndW1lbnQgb2YgYG5ld2Agb3IgYDo6YCBvcGVyYXRvcnMpLlxuXG5mdW5jdGlvbiBwYXJzZU5vQ2FsbEV4cHIoKSB7XG4gIGNvbnN0IHN0YXJ0VG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHBhcnNlRXhwckF0b20oKTtcbiAgcGFyc2VTdWJzY3JpcHRzKHN0YXJ0VG9rZW5JbmRleCwgdHJ1ZSk7XG59XG5cbi8vIFBhcnNlIGFuIGF0b21pYyBleHByZXNzaW9uIFx1MjAxNCBlaXRoZXIgYSBzaW5nbGUgdG9rZW4gdGhhdCBpcyBhblxuLy8gZXhwcmVzc2lvbiwgYW4gZXhwcmVzc2lvbiBzdGFydGVkIGJ5IGEga2V5d29yZCBsaWtlIGBmdW5jdGlvbmAgb3Jcbi8vIGBuZXdgLCBvciBhbiBleHByZXNzaW9uIHdyYXBwZWQgaW4gcHVuY3R1YXRpb24gbGlrZSBgKClgLCBgW11gLFxuLy8gb3IgYHt9YC5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGFyc2VkIGV4cHJlc3Npb24gd2FzIGFuIGFycm93IGZ1bmN0aW9uLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRXhwckF0b20oKSB7XG4gIGlmIChlYXQodHQubW9kdWxvKSkge1xuICAgIC8vIFY4IGludHJpbnNpYyBleHByZXNzaW9uLiBKdXN0IHBhcnNlIHRoZSBpZGVudGlmaWVyLCBhbmQgdGhlIGZ1bmN0aW9uIGludm9jYXRpb24gaXMgcGFyc2VkXG4gICAgLy8gbmF0dXJhbGx5LlxuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChtYXRjaCh0dC5qc3hUZXh0KSB8fCBtYXRjaCh0dC5qc3hFbXB0eVRleHQpKSB7XG4gICAgcGFyc2VMaXRlcmFsKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSAmJiBpc0pTWEVuYWJsZWQpIHtcbiAgICBzdGF0ZS50eXBlID0gdHQuanN4VGFnU3RhcnQ7XG4gICAganN4UGFyc2VFbGVtZW50KCk7XG4gICAgbmV4dCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGNhbkJlQXJyb3cgPSBzdGF0ZS5wb3RlbnRpYWxBcnJvd0F0ID09PSBzdGF0ZS5zdGFydDtcbiAgc3dpdGNoIChzdGF0ZS50eXBlKSB7XG4gICAgY2FzZSB0dC5zbGFzaDpcbiAgICBjYXNlIHR0LmFzc2lnbjpcbiAgICAgIHJldG9rZW5pemVTbGFzaEFzUmVnZXgoKTtcbiAgICAvLyBGYWxsIHRocm91Z2guXG5cbiAgICBjYXNlIHR0Ll9zdXBlcjpcbiAgICBjYXNlIHR0Ll90aGlzOlxuICAgIGNhc2UgdHQucmVnZXhwOlxuICAgIGNhc2UgdHQubnVtOlxuICAgIGNhc2UgdHQuYmlnaW50OlxuICAgIGNhc2UgdHQuZGVjaW1hbDpcbiAgICBjYXNlIHR0LnN0cmluZzpcbiAgICBjYXNlIHR0Ll9udWxsOlxuICAgIGNhc2UgdHQuX3RydWU6XG4gICAgY2FzZSB0dC5fZmFsc2U6XG4gICAgICBuZXh0KCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBjYXNlIHR0Ll9pbXBvcnQ6XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAobWF0Y2godHQuZG90KSkge1xuICAgICAgICAvLyBpbXBvcnQubWV0YVxuICAgICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5uYW1lO1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5uYW1lOiB7XG4gICAgICBjb25zdCBzdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgICAgY29uc3QgZnVuY3Rpb25TdGFydCA9IHN0YXRlLnN0YXJ0O1xuICAgICAgY29uc3QgY29udGV4dHVhbEtleXdvcmQgPSBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZDtcbiAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgaWYgKGNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fYXdhaXQpIHtcbiAgICAgICAgcGFyc2VBd2FpdCgpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jICYmXG4gICAgICAgIG1hdGNoKHR0Ll9mdW5jdGlvbikgJiZcbiAgICAgICAgIWNhbkluc2VydFNlbWljb2xvbigpXG4gICAgICApIHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgICBwYXJzZUZ1bmN0aW9uKGZ1bmN0aW9uU3RhcnQsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgY2FuQmVBcnJvdyAmJlxuICAgICAgICBjb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jICYmXG4gICAgICAgICFjYW5JbnNlcnRTZW1pY29sb24oKSAmJlxuICAgICAgICBtYXRjaCh0dC5uYW1lKVxuICAgICAgKSB7XG4gICAgICAgIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgICAgICAgcGFyc2VCaW5kaW5nSWRlbnRpZmllcihmYWxzZSk7XG4gICAgICAgIGV4cGVjdCh0dC5hcnJvdyk7XG4gICAgICAgIC8vIGxldCBmb28gPSBhc3luYyBiYXIgPT4ge307XG4gICAgICAgIHBhcnNlQXJyb3dFeHByZXNzaW9uKHN0YXJ0VG9rZW5JbmRleCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChtYXRjaCh0dC5fZG8pICYmICFjYW5JbnNlcnRTZW1pY29sb24oKSkge1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIHBhcnNlQmxvY2soKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2FuQmVBcnJvdyAmJiAhY2FuSW5zZXJ0U2VtaWNvbG9uKCkgJiYgbWF0Y2godHQuYXJyb3cpKSB7XG4gICAgICAgIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgICAgICAgbWFya1ByaW9yQmluZGluZ0lkZW50aWZpZXIoZmFsc2UpO1xuICAgICAgICBleHBlY3QodHQuYXJyb3cpO1xuICAgICAgICBwYXJzZUFycm93RXhwcmVzc2lvbihzdGFydFRva2VuSW5kZXgpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLkFjY2VzcztcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjYXNlIHR0Ll9kbzoge1xuICAgICAgbmV4dCgpO1xuICAgICAgcGFyc2VCbG9jaygpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNhc2UgdHQucGFyZW5MOiB7XG4gICAgICBjb25zdCB3YXNBcnJvdyA9IHBhcnNlUGFyZW5BbmREaXN0aW5ndWlzaEV4cHJlc3Npb24oY2FuQmVBcnJvdyk7XG4gICAgICByZXR1cm4gd2FzQXJyb3c7XG4gICAgfVxuXG4gICAgY2FzZSB0dC5icmFja2V0TDpcbiAgICAgIG5leHQoKTtcbiAgICAgIHBhcnNlRXhwckxpc3QodHQuYnJhY2tldFIsIHRydWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5icmFjZUw6XG4gICAgICBwYXJzZU9iaihmYWxzZSwgZmFsc2UpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5fZnVuY3Rpb246XG4gICAgICBwYXJzZUZ1bmN0aW9uRXhwcmVzc2lvbigpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5hdDpcbiAgICAgIHBhcnNlRGVjb3JhdG9ycygpO1xuICAgIC8vIEZhbGwgdGhyb3VnaC5cblxuICAgIGNhc2UgdHQuX2NsYXNzOlxuICAgICAgcGFyc2VDbGFzcyhmYWxzZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBjYXNlIHR0Ll9uZXc6XG4gICAgICBwYXJzZU5ldygpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5iYWNrUXVvdGU6XG4gICAgICBwYXJzZVRlbXBsYXRlKCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBjYXNlIHR0LmRvdWJsZUNvbG9uOiB7XG4gICAgICBuZXh0KCk7XG4gICAgICBwYXJzZU5vQ2FsbEV4cHIoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjYXNlIHR0Lmhhc2g6IHtcbiAgICAgIGNvbnN0IGNvZGUgPSBsb29rYWhlYWRDaGFyQ29kZSgpO1xuICAgICAgaWYgKElTX0lERU5USUZJRVJfU1RBUlRbY29kZV0gfHwgY29kZSA9PT0gY2hhckNvZGVzLmJhY2tzbGFzaCkge1xuICAgICAgICBwYXJzZU1heWJlUHJpdmF0ZU5hbWUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICAgIC8vIFNtYXJ0IHBpcGVsaW5lIHRvcGljIHJlZmVyZW5jZS5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdW5leHBlY3RlZCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlTWF5YmVQcml2YXRlTmFtZSgpIHtcbiAgZWF0KHR0Lmhhc2gpO1xuICBwYXJzZUlkZW50aWZpZXIoKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VGdW5jdGlvbkV4cHJlc3Npb24oKSB7XG4gIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmIChlYXQodHQuZG90KSkge1xuICAgIC8vIGZ1bmN0aW9uLnNlbnRcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxuICBwYXJzZUZ1bmN0aW9uKGZ1bmN0aW9uU3RhcnQsIGZhbHNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTGl0ZXJhbCgpIHtcbiAgbmV4dCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQYXJlbkV4cHJlc3Npb24oKSB7XG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICBwYXJzZUV4cHJlc3Npb24oKTtcbiAgZXhwZWN0KHR0LnBhcmVuUik7XG59XG5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBhcnJvdyBleHByZXNzaW9uLlxuZnVuY3Rpb24gcGFyc2VQYXJlbkFuZERpc3Rpbmd1aXNoRXhwcmVzc2lvbihjYW5CZUFycm93KSB7XG4gIC8vIEFzc3VtZSB0aGlzIGlzIGEgbm9ybWFsIHBhcmVudGhlc2l6ZWQgZXhwcmVzc2lvbiwgYnV0IGlmIHdlIHNlZSBhbiBhcnJvdywgd2UnbGwgYmFpbCBhbmRcbiAgLy8gc3RhcnQgb3ZlciBhcyBhIHBhcmFtZXRlciBsaXN0LlxuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG5cbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG5cbiAgbGV0IGZpcnN0ID0gdHJ1ZTtcblxuICB3aGlsZSAoIW1hdGNoKHR0LnBhcmVuUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgICAgaWYgKG1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgcGFyc2VSZXN0KGZhbHNlIC8qIGlzQmxvY2tTY29wZSAqLyk7XG4gICAgICBwYXJzZVBhcmVuSXRlbSgpO1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlTWF5YmVBc3NpZ24oZmFsc2UsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGV4cGVjdCh0dC5wYXJlblIpO1xuXG4gIGlmIChjYW5CZUFycm93ICYmIHNob3VsZFBhcnNlQXJyb3coKSkge1xuICAgIGNvbnN0IHdhc0Fycm93ID0gcGFyc2VBcnJvdygpO1xuICAgIGlmICh3YXNBcnJvdykge1xuICAgICAgLy8gSXQgd2FzIGFuIGFycm93IGZ1bmN0aW9uIHRoaXMgd2hvbGUgdGltZSwgc28gc3RhcnQgb3ZlciBhbmQgcGFyc2UgaXQgYXMgcGFyYW1zIHNvIHRoYXQgd2VcbiAgICAgIC8vIGdldCBwcm9wZXIgdG9rZW4gYW5ub3RhdGlvbnMuXG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgICAgIC8vIERvbid0IHNwZWNpZnkgYSBjb250ZXh0IElEIGJlY2F1c2UgYXJyb3cgZnVuY3Rpb25zIGRvbid0IG5lZWQgYSBjb250ZXh0IElELlxuICAgICAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICAgICAgcGFyc2VBcnJvdygpO1xuICAgICAgcGFyc2VBcnJvd0V4cHJlc3Npb24oc3RhcnRUb2tlbkluZGV4KTtcbiAgICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgICAvLyBOZXZlcm1pbmQhIFRoaXMgbXVzdCBoYXZlIGJlZW4gc29tZXRoaW5nIHRoYXQgbG9va3MgdmVyeSBtdWNoIGxpa2UgYW5cbiAgICAgICAgLy8gYXJyb3cgZnVuY3Rpb24gYnV0IHdoZXJlIGl0cyBcInBhcmFtZXRlciBsaXN0XCIgaXNuJ3QgYWN0dWFsbHkgYSB2YWxpZFxuICAgICAgICAvLyBwYXJhbWV0ZXIgbGlzdC4gRm9yY2Ugbm9uLWFycm93IHBhcnNpbmcuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYWxhbmdwaWVyY2Uvc3VjcmFzZS9pc3N1ZXMvNjY2IGZvciBhbiBleGFtcGxlLlxuICAgICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgICAgcGFyc2VQYXJlbkFuZERpc3Rpbmd1aXNoRXhwcmVzc2lvbihmYWxzZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkUGFyc2VBcnJvdygpIHtcbiAgcmV0dXJuIG1hdGNoKHR0LmNvbG9uKSB8fCAhY2FuSW5zZXJ0U2VtaWNvbG9uKCk7XG59XG5cbi8vIFJldHVybnMgd2hldGhlciB0aGVyZSB3YXMgYW4gYXJyb3cgdG9rZW4uXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBcnJvdygpIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICByZXR1cm4gdHNQYXJzZUFycm93KCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIHJldHVybiBmbG93UGFyc2VBcnJvdygpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBlYXQodHQuYXJyb3cpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlUGFyZW5JdGVtKCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCB8fCBpc0Zsb3dFbmFibGVkKSB7XG4gICAgdHlwZWRQYXJzZVBhcmVuSXRlbSgpO1xuICB9XG59XG5cbi8vIE5ldydzIHByZWNlZGVuY2UgaXMgc2xpZ2h0bHkgdHJpY2t5LiBJdCBtdXN0IGFsbG93IGl0cyBhcmd1bWVudCB0b1xuLy8gYmUgYSBgW11gIG9yIGRvdCBzdWJzY3JpcHQgZXhwcmVzc2lvbiwgYnV0IG5vdCBhIGNhbGwgXHUyMDE0IGF0IGxlYXN0LFxuLy8gbm90IHdpdGhvdXQgd3JhcHBpbmcgaXQgaW4gcGFyZW50aGVzZXMuIFRodXMsIGl0IHVzZXMgdGhlIG5vQ2FsbHNcbi8vIGFyZ3VtZW50IHRvIHBhcnNlU3Vic2NyaXB0cyB0byBwcmV2ZW50IGl0IGZyb20gY29uc3VtaW5nIHRoZVxuLy8gYXJndW1lbnQgbGlzdC5cbmZ1bmN0aW9uIHBhcnNlTmV3KCkge1xuICBleHBlY3QodHQuX25ldyk7XG4gIGlmIChlYXQodHQuZG90KSkge1xuICAgIC8vIG5ldy50YXJnZXRcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcGFyc2VOZXdDYWxsZWUoKTtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93U3RhcnRQYXJzZU5ld0FyZ3VtZW50cygpO1xuICB9XG4gIGlmIChlYXQodHQucGFyZW5MKSkge1xuICAgIHBhcnNlRXhwckxpc3QodHQucGFyZW5SKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZU5ld0NhbGxlZSgpIHtcbiAgcGFyc2VOb0NhbGxFeHByKCk7XG4gIGVhdCh0dC5xdWVzdGlvbkRvdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRlbXBsYXRlKCkge1xuICAvLyBGaW5pc2ggYCwgcmVhZCBxdWFzaVxuICBuZXh0VGVtcGxhdGVUb2tlbigpO1xuICAvLyBGaW5pc2ggcXVhc2ksIHJlYWQgJHtcbiAgbmV4dFRlbXBsYXRlVG9rZW4oKTtcbiAgd2hpbGUgKCFtYXRjaCh0dC5iYWNrUXVvdGUpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGV4cGVjdCh0dC5kb2xsYXJCcmFjZUwpO1xuICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgIC8vIEZpbmlzaCB9LCByZWFkIHF1YXNpXG4gICAgbmV4dFRlbXBsYXRlVG9rZW4oKTtcbiAgICAvLyBGaW5pc2ggcXVhc2ksIHJlYWQgZWl0aGVyICR7IG9yIGBcbiAgICBuZXh0VGVtcGxhdGVUb2tlbigpO1xuICB9XG4gIG5leHQoKTtcbn1cblxuLy8gUGFyc2UgYW4gb2JqZWN0IGxpdGVyYWwgb3IgYmluZGluZyBwYXR0ZXJuLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlT2JqKGlzUGF0dGVybiwgaXNCbG9ja1Njb3BlKSB7XG4gIC8vIEF0dGFjaCBhIGNvbnRleHQgSUQgdG8gdGhlIG9iamVjdCBvcGVuIGFuZCBjbG9zZSBicmFjZSBhbmQgZWFjaCBvYmplY3Qga2V5LlxuICBjb25zdCBjb250ZXh0SWQgPSBnZXROZXh0Q29udGV4dElkKCk7XG4gIGxldCBmaXJzdCA9IHRydWU7XG5cbiAgbmV4dCgpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcblxuICB3aGlsZSAoIWVhdCh0dC5icmFjZVIpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGlmIChmaXJzdCkge1xuICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgIGlmIChlYXQodHQuYnJhY2VSKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgaXNHZW5lcmF0b3IgPSBmYWxzZTtcbiAgICBpZiAobWF0Y2godHQuZWxsaXBzaXMpKSB7XG4gICAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgICAgIHBhcnNlU3ByZWFkKCk7XG4gICAgICBpZiAoaXNQYXR0ZXJuKSB7XG4gICAgICAgIC8vIE1hcmsgcm9sZSB3aGVuIHRoZSBvbmx5IHRoaW5nIGJlaW5nIHNwcmVhZCBvdmVyIGlzIGFuIGlkZW50aWZpZXIuXG4gICAgICAgIGlmIChzdGF0ZS50b2tlbnMubGVuZ3RoID09PSBwcmV2aW91c0luZGV4ICsgMikge1xuICAgICAgICAgIG1hcmtQcmlvckJpbmRpbmdJZGVudGlmaWVyKGlzQmxvY2tTY29wZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVhdCh0dC5icmFjZVIpKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghaXNQYXR0ZXJuKSB7XG4gICAgICBpc0dlbmVyYXRvciA9IGVhdCh0dC5zdGFyKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzUGF0dGVybiAmJiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSkge1xuICAgICAgaWYgKGlzR2VuZXJhdG9yKSB1bmV4cGVjdGVkKCk7XG5cbiAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgaWYgKFxuICAgICAgICBtYXRjaCh0dC5jb2xvbikgfHxcbiAgICAgICAgbWF0Y2godHQucGFyZW5MKSB8fFxuICAgICAgICBtYXRjaCh0dC5icmFjZVIpIHx8XG4gICAgICAgIG1hdGNoKHR0LmVxKSB8fFxuICAgICAgICBtYXRjaCh0dC5jb21tYSlcbiAgICAgICkge1xuICAgICAgICAvLyBUaGlzIGlzIGEga2V5IGNhbGxlZCBcImFzeW5jXCIgcmF0aGVyIHRoYW4gYW4gYXN5bmMgZnVuY3Rpb24uXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobWF0Y2godHQuc3RhcikpIHtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHBhcnNlUHJvcGVydHlOYW1lKGNvbnRleHRJZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlUHJvcGVydHlOYW1lKGNvbnRleHRJZCk7XG4gICAgfVxuXG4gICAgcGFyc2VPYmpQcm9wVmFsdWUoaXNQYXR0ZXJuLCBpc0Jsb2NrU2NvcGUsIGNvbnRleHRJZCk7XG4gIH1cblxuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbn1cblxuZnVuY3Rpb24gaXNHZXR0ZXJPclNldHRlck1ldGhvZChpc1BhdHRlcm4pIHtcbiAgLy8gV2UgZ28gb2ZmIG9mIHRoZSBuZXh0IGFuZCBkb24ndCBib3RoZXIgY2hlY2tpbmcgaWYgdGhlIG5vZGUga2V5IGlzIGFjdHVhbGx5IFwiZ2V0XCIgb3IgXCJzZXRcIi5cbiAgLy8gVGhpcyBsZXRzIHVzIGF2b2lkIGdlbmVyYXRpbmcgYSBub2RlLCBhbmQgc2hvdWxkIG9ubHkgbWFrZSB0aGUgdmFsaWRhdGlvbiB3b3JzZS5cbiAgcmV0dXJuIChcbiAgICAhaXNQYXR0ZXJuICYmXG4gICAgKG1hdGNoKHR0LnN0cmluZykgfHwgLy8gZ2V0IFwic3RyaW5nXCIoKSB7fVxuICAgICAgbWF0Y2godHQubnVtKSB8fCAvLyBnZXQgMSgpIHt9XG4gICAgICBtYXRjaCh0dC5icmFja2V0TCkgfHwgLy8gZ2V0IFtcInN0cmluZ1wiXSgpIHt9XG4gICAgICBtYXRjaCh0dC5uYW1lKSB8fCAvLyBnZXQgZm9vKCkge31cbiAgICAgICEhKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfS0VZV09SRCkpIC8vIGdldCBkZWJ1Z2dlcigpIHt9XG4gICk7XG59XG5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhIG1ldGhvZC5cbmZ1bmN0aW9uIHBhcnNlT2JqZWN0TWV0aG9kKGlzUGF0dGVybiwgb2JqZWN0Q29udGV4dElkKSB7XG4gIC8vIFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgbW9kaWZpZXJzIGJlY2F1c2Ugb2JqZWN0IG1ldGhvZHMgY2FuJ3QgaGF2ZSBvcHRpb25hbCBib2RpZXMsIHNvXG4gIC8vIHRoZSBzdGFydCB3aWxsIG5ldmVyIGJlIHVzZWQuXG4gIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgaWYgKG1hdGNoKHR0LnBhcmVuTCkpIHtcbiAgICBpZiAoaXNQYXR0ZXJuKSB1bmV4cGVjdGVkKCk7XG4gICAgcGFyc2VNZXRob2QoZnVuY3Rpb25TdGFydCwgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaXNHZXR0ZXJPclNldHRlck1ldGhvZChpc1BhdHRlcm4pKSB7XG4gICAgcGFyc2VQcm9wZXJ0eU5hbWUob2JqZWN0Q29udGV4dElkKTtcbiAgICBwYXJzZU1ldGhvZChmdW5jdGlvblN0YXJ0LCAvKiBpc0NvbnN0cnVjdG9yICovIGZhbHNlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHBhcnNlT2JqZWN0UHJvcGVydHkoaXNQYXR0ZXJuLCBpc0Jsb2NrU2NvcGUpIHtcbiAgaWYgKGVhdCh0dC5jb2xvbikpIHtcbiAgICBpZiAoaXNQYXR0ZXJuKSB7XG4gICAgICBwYXJzZU1heWJlRGVmYXVsdChpc0Jsb2NrU2NvcGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZU1heWJlQXNzaWduKGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gU2luY2UgdGhlcmUncyBubyBjb2xvbiwgd2UgYXNzdW1lIHRoaXMgaXMgYW4gb2JqZWN0IHNob3J0aGFuZC5cblxuICAvLyBJZiB3ZSdyZSBpbiBhIGRlc3RydWN0dXJpbmcsIHdlJ3ZlIG5vdyBkaXNjb3ZlcmVkIHRoYXQgdGhlIGtleSB3YXMgYWN0dWFsbHkgYW4gYXNzaWduZWUsIHNvXG4gIC8vIHdlIG5lZWQgdG8gdGFnIGl0IGFzIGEgZGVjbGFyYXRpb24gd2l0aCB0aGUgYXBwcm9wcmlhdGUgc2NvcGUuIE90aGVyd2lzZSwgd2UgbWlnaHQgbmVlZCB0b1xuICAvLyB0cmFuc2Zvcm0gaXQgb24gYWNjZXNzLCBzbyBtYXJrIGl0IGFzIGEgbm9ybWFsIG9iamVjdCBzaG9ydGhhbmQuXG4gIGxldCBpZGVudGlmaWVyUm9sZTtcbiAgaWYgKGlzUGF0dGVybikge1xuICAgIGlmIChzdGF0ZS5zY29wZURlcHRoID09PSAwKSB7XG4gICAgICBpZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb247XG4gICAgfSBlbHNlIGlmIChpc0Jsb2NrU2NvcGUpIHtcbiAgICAgIGlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuT2JqZWN0U2hvcnRoYW5kQmxvY2tTY29wZWREZWNsYXJhdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZDtcbiAgfVxuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmlkZW50aWZpZXJSb2xlID0gaWRlbnRpZmllclJvbGU7XG5cbiAgLy8gUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHdlIGtub3cgdGhpcyB0byBiZSBhIHBhdHRlcm4gb3IgaWYgd2UncmUgaW4gYW4gYW1iaWd1b3VzIGNvbnRleHQsIGFsbG93XG4gIC8vIHBhcnNpbmcgYXMgaWYgdGhlcmUncyBhIGRlZmF1bHQgdmFsdWUuXG4gIHBhcnNlTWF5YmVEZWZhdWx0KGlzQmxvY2tTY29wZSwgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlT2JqUHJvcFZhbHVlKFxuICBpc1BhdHRlcm4sXG4gIGlzQmxvY2tTY29wZSxcbiAgb2JqZWN0Q29udGV4dElkLFxuKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNTdGFydFBhcnNlT2JqUHJvcFZhbHVlKCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGZsb3dTdGFydFBhcnNlT2JqUHJvcFZhbHVlKCk7XG4gIH1cbiAgY29uc3Qgd2FzTWV0aG9kID0gcGFyc2VPYmplY3RNZXRob2QoaXNQYXR0ZXJuLCBvYmplY3RDb250ZXh0SWQpO1xuICBpZiAoIXdhc01ldGhvZCkge1xuICAgIHBhcnNlT2JqZWN0UHJvcGVydHkoaXNQYXR0ZXJuLCBpc0Jsb2NrU2NvcGUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVByb3BlcnR5TmFtZShvYmplY3RDb250ZXh0SWQpIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VWYXJpYW5jZSgpO1xuICB9XG4gIGlmIChlYXQodHQuYnJhY2tldEwpKSB7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBvYmplY3RDb250ZXh0SWQ7XG4gICAgcGFyc2VNYXliZUFzc2lnbigpO1xuICAgIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBvYmplY3RDb250ZXh0SWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKG1hdGNoKHR0Lm51bSkgfHwgbWF0Y2godHQuc3RyaW5nKSB8fCBtYXRjaCh0dC5iaWdpbnQpIHx8IG1hdGNoKHR0LmRlY2ltYWwpKSB7XG4gICAgICBwYXJzZUV4cHJBdG9tKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlTWF5YmVQcml2YXRlTmFtZSgpO1xuICAgIH1cblxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5PYmplY3RLZXk7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBvYmplY3RDb250ZXh0SWQ7XG4gIH1cbn1cblxuLy8gUGFyc2Ugb2JqZWN0IG9yIGNsYXNzIG1ldGhvZC5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1ldGhvZChmdW5jdGlvblN0YXJ0LCBpc0NvbnN0cnVjdG9yKSB7XG4gIGNvbnN0IGZ1bmNDb250ZXh0SWQgPSBnZXROZXh0Q29udGV4dElkKCk7XG5cbiAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICBjb25zdCBzdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICBjb25zdCBhbGxvd01vZGlmaWVycyA9IGlzQ29uc3RydWN0b3I7IC8vIEZvciBUeXBlU2NyaXB0IHBhcmFtZXRlciBwcm9wZXJ0aWVzXG4gIHBhcnNlRnVuY3Rpb25QYXJhbXMoYWxsb3dNb2RpZmllcnMsIGZ1bmNDb250ZXh0SWQpO1xuICBwYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChmdW5jdGlvblN0YXJ0LCBmdW5jQ29udGV4dElkKTtcbiAgY29uc3QgZW5kVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHN0YXRlLnNjb3Blcy5wdXNoKG5ldyBTY29wZShzdGFydFRva2VuSW5kZXgsIGVuZFRva2VuSW5kZXgsIHRydWUpKTtcbiAgc3RhdGUuc2NvcGVEZXB0aC0tO1xufVxuXG4vLyBQYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uLlxuLy8gSWYgdGhlIHBhcmFtZXRlcnMgYXJlIHByb3ZpZGVkLCB0aGV5IHdpbGwgYmUgY29udmVydGVkIHRvIGFuXG4vLyBhc3NpZ25hYmxlIGxpc3QuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBcnJvd0V4cHJlc3Npb24oc3RhcnRUb2tlbkluZGV4KSB7XG4gIHBhcnNlRnVuY3Rpb25Cb2R5KHRydWUpO1xuICBjb25zdCBlbmRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgc3RhdGUuc2NvcGVzLnB1c2gobmV3IFNjb3BlKHN0YXJ0VG9rZW5JbmRleCwgZW5kVG9rZW5JbmRleCwgdHJ1ZSkpO1xuICBzdGF0ZS5zY29wZURlcHRoLS07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChmdW5jdGlvblN0YXJ0LCBmdW5jQ29udGV4dElkID0gMCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzUGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2goZnVuY3Rpb25TdGFydCwgZnVuY0NvbnRleHRJZCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGZsb3dQYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChmdW5jQ29udGV4dElkKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUZ1bmN0aW9uQm9keShmYWxzZSwgZnVuY0NvbnRleHRJZCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnVuY3Rpb25Cb2R5KGFsbG93RXhwcmVzc2lvbiwgZnVuY0NvbnRleHRJZCA9IDApIHtcbiAgY29uc3QgaXNFeHByZXNzaW9uID0gYWxsb3dFeHByZXNzaW9uICYmICFtYXRjaCh0dC5icmFjZUwpO1xuXG4gIGlmIChpc0V4cHJlc3Npb24pIHtcbiAgICBwYXJzZU1heWJlQXNzaWduKCk7XG4gIH0gZWxzZSB7XG4gICAgcGFyc2VCbG9jayh0cnVlIC8qIGlzRnVuY3Rpb25TY29wZSAqLywgZnVuY0NvbnRleHRJZCk7XG4gIH1cbn1cblxuLy8gUGFyc2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgZXhwcmVzc2lvbnMsIGFuZCByZXR1cm5zIHRoZW0gYXNcbi8vIGFuIGFycmF5LiBgY2xvc2VgIGlzIHRoZSB0b2tlbiB0eXBlIHRoYXQgZW5kcyB0aGUgbGlzdCwgYW5kXG4vLyBgYWxsb3dFbXB0eWAgY2FuIGJlIHR1cm5lZCBvbiB0byBhbGxvdyBzdWJzZXF1ZW50IGNvbW1hcyB3aXRoXG4vLyBub3RoaW5nIGluIGJldHdlZW4gdGhlbSB0byBiZSBwYXJzZWQgYXMgYG51bGxgICh3aGljaCBpcyBuZWVkZWRcbi8vIGZvciBhcnJheSBsaXRlcmFscykuXG5cbmZ1bmN0aW9uIHBhcnNlRXhwckxpc3QoY2xvc2UsIGFsbG93RW1wdHkgPSBmYWxzZSkge1xuICBsZXQgZmlyc3QgPSB0cnVlO1xuICB3aGlsZSAoIWVhdChjbG9zZSkgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgICAgaWYgKGVhdChjbG9zZSkpIGJyZWFrO1xuICAgIH1cbiAgICBwYXJzZUV4cHJMaXN0SXRlbShhbGxvd0VtcHR5KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUV4cHJMaXN0SXRlbShhbGxvd0VtcHR5KSB7XG4gIGlmIChhbGxvd0VtcHR5ICYmIG1hdGNoKHR0LmNvbW1hKSkge1xuICAgIC8vIEVtcHR5IGl0ZW07IG5vdGhpbmcgbW9yZSB0byBwYXJzZSBmb3IgdGhpcyBpdGVtLlxuICB9IGVsc2UgaWYgKG1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgIHBhcnNlU3ByZWFkKCk7XG4gICAgcGFyc2VQYXJlbkl0ZW0oKTtcbiAgfSBlbHNlIGlmIChtYXRjaCh0dC5xdWVzdGlvbikpIHtcbiAgICAvLyBQYXJ0aWFsIGZ1bmN0aW9uIGFwcGxpY2F0aW9uIHByb3Bvc2FsLlxuICAgIG5leHQoKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZU1heWJlQXNzaWduKGZhbHNlLCB0cnVlKTtcbiAgfVxufVxuXG4vLyBQYXJzZSB0aGUgbmV4dCB0b2tlbiBhcyBhbiBpZGVudGlmaWVyLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSWRlbnRpZmllcigpIHtcbiAgbmV4dCgpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5uYW1lO1xufVxuXG4vLyBQYXJzZXMgYXdhaXQgZXhwcmVzc2lvbiBpbnNpZGUgYXN5bmMgZnVuY3Rpb24uXG5mdW5jdGlvbiBwYXJzZUF3YWl0KCkge1xuICBwYXJzZU1heWJlVW5hcnkoKTtcbn1cblxuLy8gUGFyc2VzIHlpZWxkIGV4cHJlc3Npb24gaW5zaWRlIGdlbmVyYXRvci5cbmZ1bmN0aW9uIHBhcnNlWWllbGQoKSB7XG4gIG5leHQoKTtcbiAgaWYgKCFtYXRjaCh0dC5zZW1pKSAmJiAhY2FuSW5zZXJ0U2VtaWNvbG9uKCkpIHtcbiAgICBlYXQodHQuc3Rhcik7XG4gICAgcGFyc2VNYXliZUFzc2lnbigpO1xuICB9XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLWpzLW1vZHVsZS1ibG9ja3NcbmZ1bmN0aW9uIHBhcnNlTW9kdWxlRXhwcmVzc2lvbigpIHtcbiAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlKTtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gIC8vIEZvciBub3csIGp1c3QgY2FsbCBwYXJzZUJsb2NrQm9keSB0byBwYXJzZSB0aGUgYmxvY2suIEluIHRoZSBmdXR1cmUgd2hlbiB3ZVxuICAvLyBpbXBsZW1lbnQgZnVsbCBzdXBwb3J0LCB3ZSdsbCB3YW50IHRvIGVtaXQgc2NvcGVzIGFuZCBwb3NzaWJseSBvdGhlclxuICAvLyBpbmZvcm1hdGlvbi5cbiAgcGFyc2VCbG9ja0JvZHkodHQuYnJhY2VSKTtcbn1cbiIsICIvKiBlc2xpbnQgbWF4LWxlbjogMCAqL1xuXG5pbXBvcnQge1xuICBlYXQsXG4gIGxvb2thaGVhZFR5cGUsXG4gIGxvb2thaGVhZFR5cGVBbmRLZXl3b3JkLFxuICBtYXRjaCxcbiAgbmV4dCxcbiAgcG9wVHlwZUNvbnRleHQsXG4gIHB1c2hUeXBlQ29udGV4dCxcblxufSBmcm9tIFwiLi4vdG9rZW5pemVyL2luZGV4XCI7XG5pbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi4vdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSwgVG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQge2lucHV0LCBzdGF0ZX0gZnJvbSBcIi4uL3RyYXZlcnNlci9iYXNlXCI7XG5pbXBvcnQge1xuICBiYXNlUGFyc2VNYXliZUFzc2lnbixcbiAgYmFzZVBhcnNlU3Vic2NyaXB0LFxuICBiYXNlUGFyc2VTdWJzY3JpcHRzLFxuICBwYXJzZUFycm93LFxuICBwYXJzZUFycm93RXhwcmVzc2lvbixcbiAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cyxcbiAgcGFyc2VFeHByQXRvbSxcbiAgcGFyc2VFeHByZXNzaW9uLFxuICBwYXJzZUZ1bmN0aW9uQm9keSxcbiAgcGFyc2VJZGVudGlmaWVyLFxuICBwYXJzZUxpdGVyYWwsXG5cbn0gZnJvbSBcIi4uL3RyYXZlcnNlci9leHByZXNzaW9uXCI7XG5pbXBvcnQge1xuICBiYXNlUGFyc2VFeHBvcnRTdGFyLFxuICBwYXJzZUV4cG9ydCxcbiAgcGFyc2VFeHBvcnRGcm9tLFxuICBwYXJzZUV4cG9ydFNwZWNpZmllcnMsXG4gIHBhcnNlRnVuY3Rpb25QYXJhbXMsXG4gIHBhcnNlSW1wb3J0LFxuICBwYXJzZVN0YXRlbWVudCxcbn0gZnJvbSBcIi4uL3RyYXZlcnNlci9zdGF0ZW1lbnRcIjtcbmltcG9ydCB7XG4gIGNhbkluc2VydFNlbWljb2xvbixcbiAgZWF0Q29udGV4dHVhbCxcbiAgZXhwZWN0LFxuICBleHBlY3RDb250ZXh0dWFsLFxuICBpc0NvbnRleHR1YWwsXG4gIGlzTG9va2FoZWFkQ29udGV4dHVhbCxcbiAgc2VtaWNvbG9uLFxuICB1bmV4cGVjdGVkLFxufSBmcm9tIFwiLi4vdHJhdmVyc2VyL3V0aWxcIjtcblxuZnVuY3Rpb24gaXNNYXliZURlZmF1bHRJbXBvcnQobG9va2FoZWFkKSB7XG4gIHJldHVybiAoXG4gICAgKGxvb2thaGVhZC50eXBlID09PSB0dC5uYW1lIHx8ICEhKGxvb2thaGVhZC50eXBlICYgVG9rZW5UeXBlLklTX0tFWVdPUkQpKSAmJlxuICAgIGxvb2thaGVhZC5jb250ZXh0dWFsS2V5d29yZCAhPT0gQ29udGV4dHVhbEtleXdvcmQuX2Zyb21cbiAgKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKHRvaykge1xuICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMCk7XG4gIGV4cGVjdCh0b2sgfHwgdHQuY29sb24pO1xuICBmbG93UGFyc2VUeXBlKCk7XG4gIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZVByZWRpY2F0ZSgpIHtcbiAgZXhwZWN0KHR0Lm1vZHVsbyk7XG4gIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2NoZWNrcyk7XG4gIGlmIChlYXQodHQucGFyZW5MKSkge1xuICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgIGV4cGVjdCh0dC5wYXJlblIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpIHtcbiAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICBleHBlY3QodHQuY29sb24pO1xuICBpZiAobWF0Y2godHQubW9kdWxvKSkge1xuICAgIGZsb3dQYXJzZVByZWRpY2F0ZSgpO1xuICB9IGVsc2Uge1xuICAgIGZsb3dQYXJzZVR5cGUoKTtcbiAgICBpZiAobWF0Y2godHQubW9kdWxvKSkge1xuICAgICAgZmxvd1BhcnNlUHJlZGljYXRlKCk7XG4gICAgfVxuICB9XG4gIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZURlY2xhcmVDbGFzcygpIHtcbiAgbmV4dCgpO1xuICBmbG93UGFyc2VJbnRlcmZhY2Vpc2goLyogaXNDbGFzcyAqLyB0cnVlKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlRGVjbGFyZUZ1bmN0aW9uKCkge1xuICBuZXh0KCk7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuXG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgfVxuXG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICBmbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbXMoKTtcbiAgZXhwZWN0KHR0LnBhcmVuUik7XG5cbiAgZmxvd1BhcnNlVHlwZUFuZFByZWRpY2F0ZUluaXRpYWxpc2VyKCk7XG5cbiAgc2VtaWNvbG9uKCk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZURlY2xhcmUoKSB7XG4gIGlmIChtYXRjaCh0dC5fY2xhc3MpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZUNsYXNzKCk7XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuX2Z1bmN0aW9uKSkge1xuICAgIGZsb3dQYXJzZURlY2xhcmVGdW5jdGlvbigpO1xuICB9IGVsc2UgaWYgKG1hdGNoKHR0Ll92YXIpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZVZhcmlhYmxlKCk7XG4gIH0gZWxzZSBpZiAoZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlKSkge1xuICAgIGlmIChlYXQodHQuZG90KSkge1xuICAgICAgZmxvd1BhcnNlRGVjbGFyZU1vZHVsZUV4cG9ydHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmxvd1BhcnNlRGVjbGFyZU1vZHVsZSgpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZVR5cGVBbGlhcygpO1xuICB9IGVsc2UgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fb3BhcXVlKSkge1xuICAgIGZsb3dQYXJzZURlY2xhcmVPcGFxdWVUeXBlKCk7XG4gIH0gZWxzZSBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZUludGVyZmFjZSgpO1xuICB9IGVsc2UgaWYgKG1hdGNoKHR0Ll9leHBvcnQpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uKCk7XG4gIH0gZWxzZSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZURlY2xhcmVWYXJpYWJsZSgpIHtcbiAgbmV4dCgpO1xuICBmbG93UGFyc2VUeXBlQW5ub3RhdGFibGVJZGVudGlmaWVyKCk7XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlTW9kdWxlKCkge1xuICBpZiAobWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxuXG4gIGV4cGVjdCh0dC5icmFjZUwpO1xuICB3aGlsZSAoIW1hdGNoKHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKG1hdGNoKHR0Ll9pbXBvcnQpKSB7XG4gICAgICBuZXh0KCk7XG4gICAgICBwYXJzZUltcG9ydCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB1bmV4cGVjdGVkKCk7XG4gICAgfVxuICB9XG4gIGV4cGVjdCh0dC5icmFjZVIpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb24oKSB7XG4gIGV4cGVjdCh0dC5fZXhwb3J0KTtcblxuICBpZiAoZWF0KHR0Ll9kZWZhdWx0KSkge1xuICAgIGlmIChtYXRjaCh0dC5fZnVuY3Rpb24pIHx8IG1hdGNoKHR0Ll9jbGFzcykpIHtcbiAgICAgIC8vIGRlY2xhcmUgZXhwb3J0IGRlZmF1bHQgY2xhc3MgLi4uXG4gICAgICAvLyBkZWNsYXJlIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIC4uLlxuICAgICAgZmxvd1BhcnNlRGVjbGFyZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBkZWNsYXJlIGV4cG9ydCBkZWZhdWx0IFt0eXBlXTtcbiAgICAgIGZsb3dQYXJzZVR5cGUoKTtcbiAgICAgIHNlbWljb2xvbigpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChcbiAgICBtYXRjaCh0dC5fdmFyKSB8fCAvLyBkZWNsYXJlIGV4cG9ydCB2YXIgLi4uXG4gICAgbWF0Y2godHQuX2Z1bmN0aW9uKSB8fCAvLyBkZWNsYXJlIGV4cG9ydCBmdW5jdGlvbiAuLi5cbiAgICBtYXRjaCh0dC5fY2xhc3MpIHx8IC8vIGRlY2xhcmUgZXhwb3J0IGNsYXNzIC4uLlxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fb3BhcXVlKSAvLyBkZWNsYXJlIGV4cG9ydCBvcGFxdWUgLi5cbiAgKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZSgpO1xuICB9IGVsc2UgaWYgKFxuICAgIG1hdGNoKHR0LnN0YXIpIHx8IC8vIGRlY2xhcmUgZXhwb3J0ICogZnJvbSAnJ1xuICAgIG1hdGNoKHR0LmJyYWNlTCkgfHwgLy8gZGVjbGFyZSBleHBvcnQge30gLi4uXG4gICAgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpIHx8IC8vIGRlY2xhcmUgZXhwb3J0IGludGVyZmFjZSAuLi5cbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpIHx8IC8vIGRlY2xhcmUgZXhwb3J0IHR5cGUgLi4uXG4gICAgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vcGFxdWUpIC8vIGRlY2xhcmUgZXhwb3J0IG9wYXF1ZSB0eXBlIC4uLlxuICApIHtcbiAgICBwYXJzZUV4cG9ydCgpO1xuICB9IGVsc2Uge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlTW9kdWxlRXhwb3J0cygpIHtcbiAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZXhwb3J0cyk7XG4gIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlVHlwZUFsaWFzKCkge1xuICBuZXh0KCk7XG4gIGZsb3dQYXJzZVR5cGVBbGlhcygpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlT3BhcXVlVHlwZSgpIHtcbiAgbmV4dCgpO1xuICBmbG93UGFyc2VPcGFxdWVUeXBlKHRydWUpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlSW50ZXJmYWNlKCkge1xuICBuZXh0KCk7XG4gIGZsb3dQYXJzZUludGVyZmFjZWlzaCgpO1xufVxuXG4vLyBJbnRlcmZhY2VzXG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUludGVyZmFjZWlzaChpc0NsYXNzID0gZmFsc2UpIHtcbiAgZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoKTtcblxuICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gIH1cblxuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIGRvIHtcbiAgICAgIGZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKTtcbiAgICB9IHdoaWxlICghaXNDbGFzcyAmJiBlYXQodHQuY29tbWEpKTtcbiAgfVxuXG4gIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX21peGlucykpIHtcbiAgICBuZXh0KCk7XG4gICAgZG8ge1xuICAgICAgZmxvd1BhcnNlSW50ZXJmYWNlRXh0ZW5kcygpO1xuICAgIH0gd2hpbGUgKGVhdCh0dC5jb21tYSkpO1xuICB9XG5cbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5faW1wbGVtZW50cykpIHtcbiAgICBuZXh0KCk7XG4gICAgZG8ge1xuICAgICAgZmxvd1BhcnNlSW50ZXJmYWNlRXh0ZW5kcygpO1xuICAgIH0gd2hpbGUgKGVhdCh0dC5jb21tYSkpO1xuICB9XG5cbiAgZmxvd1BhcnNlT2JqZWN0VHlwZShpc0NsYXNzLCBmYWxzZSwgaXNDbGFzcyk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKSB7XG4gIGZsb3dQYXJzZVF1YWxpZmllZFR5cGVJZGVudGlmaWVyKGZhbHNlKTtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlSW50ZXJmYWNlKCkge1xuICBmbG93UGFyc2VJbnRlcmZhY2Vpc2goKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VUeXBlQWxpYXMoKSB7XG4gIGZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyKCk7XG5cbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbigpO1xuICB9XG5cbiAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKHR0LmVxKTtcbiAgc2VtaWNvbG9uKCk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZU9wYXF1ZVR5cGUoZGVjbGFyZSkge1xuICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKTtcbiAgZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoKTtcblxuICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gIH1cblxuICAvLyBQYXJzZSB0aGUgc3VwZXJ0eXBlXG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICBmbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIodHQuY29sb24pO1xuICB9XG5cbiAgaWYgKCFkZWNsYXJlKSB7XG4gICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKHR0LmVxKTtcbiAgfVxuICBzZW1pY29sb24oKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZVBhcmFtZXRlcigpIHtcbiAgZmxvd1BhcnNlVmFyaWFuY2UoKTtcbiAgZmxvd1BhcnNlVHlwZUFubm90YXRhYmxlSWRlbnRpZmllcigpO1xuXG4gIGlmIChlYXQodHQuZXEpKSB7XG4gICAgZmxvd1BhcnNlVHlwZSgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgLy8gaXN0YW5idWwgaWdub3JlIGVsc2U6IHRoaXMgY29uZGl0aW9uIGlzIGFscmVhZHkgY2hlY2tlZCBhdCBhbGwgY2FsbCBzaXRlc1xuICBpZiAobWF0Y2godHQubGVzc1RoYW4pIHx8IG1hdGNoKHR0LnR5cGVQYXJhbWV0ZXJTdGFydCkpIHtcbiAgICBuZXh0KCk7XG4gIH0gZWxzZSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG5cbiAgZG8ge1xuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXIoKTtcbiAgICBpZiAoIW1hdGNoKHR0LmdyZWF0ZXJUaGFuKSkge1xuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICB9XG4gIH0gd2hpbGUgKCFtYXRjaCh0dC5ncmVhdGVyVGhhbikgJiYgIXN0YXRlLmVycm9yKTtcbiAgZXhwZWN0KHR0LmdyZWF0ZXJUaGFuKTtcbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24oKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgZXhwZWN0KHR0Lmxlc3NUaGFuKTtcbiAgd2hpbGUgKCFtYXRjaCh0dC5ncmVhdGVyVGhhbikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgZmxvd1BhcnNlVHlwZSgpO1xuICAgIGlmICghbWF0Y2godHQuZ3JlYXRlclRoYW4pKSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgIH1cbiAgfVxuICBleHBlY3QodHQuZ3JlYXRlclRoYW4pO1xuICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VJbnRlcmZhY2VUeXBlKCkge1xuICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpO1xuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIGRvIHtcbiAgICAgIGZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKTtcbiAgICB9IHdoaWxlIChlYXQodHQuY29tbWEpKTtcbiAgfVxuICBmbG93UGFyc2VPYmplY3RUeXBlKGZhbHNlLCBmYWxzZSwgZmFsc2UpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpIHtcbiAgaWYgKG1hdGNoKHR0Lm51bSkgfHwgbWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VPYmplY3RUeXBlSW5kZXhlcigpIHtcbiAgLy8gTm90ZTogYnJhY2tldEwgaGFzIGFscmVhZHkgYmVlbiBjb25zdW1lZFxuICBpZiAobG9va2FoZWFkVHlwZSgpID09PSB0dC5jb2xvbikge1xuICAgIGZsb3dQYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG4gICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvd1BhcnNlVHlwZSgpO1xuICB9XG4gIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gIGZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VPYmplY3RUeXBlSW50ZXJuYWxTbG90KCkge1xuICAvLyBOb3RlOiBib3RoIGJyYWNrZXRMIGhhdmUgYWxyZWFkeSBiZWVuIGNvbnN1bWVkXG4gIGZsb3dQYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG4gIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikgfHwgbWF0Y2godHQucGFyZW5MKSkge1xuICAgIGZsb3dQYXJzZU9iamVjdFR5cGVNZXRob2Rpc2goKTtcbiAgfSBlbHNlIHtcbiAgICBlYXQodHQucXVlc3Rpb24pO1xuICAgIGZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZU9iamVjdFR5cGVNZXRob2Rpc2goKSB7XG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgfVxuXG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICB3aGlsZSAoIW1hdGNoKHR0LnBhcmVuUikgJiYgIW1hdGNoKHR0LmVsbGlwc2lzKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICBmbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbSgpO1xuICAgIGlmICghbWF0Y2godHQucGFyZW5SKSkge1xuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZWF0KHR0LmVsbGlwc2lzKSkge1xuICAgIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtKCk7XG4gIH1cbiAgZXhwZWN0KHR0LnBhcmVuUik7XG4gIGZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VPYmplY3RUeXBlQ2FsbFByb3BlcnR5KCkge1xuICBmbG93UGFyc2VPYmplY3RUeXBlTWV0aG9kaXNoKCk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZU9iamVjdFR5cGUoYWxsb3dTdGF0aWMsIGFsbG93RXhhY3QsIGFsbG93UHJvdG8pIHtcbiAgbGV0IGVuZERlbGltO1xuICBpZiAoYWxsb3dFeGFjdCAmJiBtYXRjaCh0dC5icmFjZUJhckwpKSB7XG4gICAgZXhwZWN0KHR0LmJyYWNlQmFyTCk7XG4gICAgZW5kRGVsaW0gPSB0dC5icmFjZUJhclI7XG4gIH0gZWxzZSB7XG4gICAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gICAgZW5kRGVsaW0gPSB0dC5icmFjZVI7XG4gIH1cblxuICB3aGlsZSAoIW1hdGNoKGVuZERlbGltKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICBpZiAoYWxsb3dQcm90byAmJiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3Byb3RvKSkge1xuICAgICAgY29uc3QgbG9va2FoZWFkID0gbG9va2FoZWFkVHlwZSgpO1xuICAgICAgaWYgKGxvb2thaGVhZCAhPT0gdHQuY29sb24gJiYgbG9va2FoZWFkICE9PSB0dC5xdWVzdGlvbikge1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIGFsbG93U3RhdGljID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChhbGxvd1N0YXRpYyAmJiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3N0YXRpYykpIHtcbiAgICAgIGNvbnN0IGxvb2thaGVhZCA9IGxvb2thaGVhZFR5cGUoKTtcbiAgICAgIGlmIChsb29rYWhlYWQgIT09IHR0LmNvbG9uICYmIGxvb2thaGVhZCAhPT0gdHQucXVlc3Rpb24pIHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dQYXJzZVZhcmlhbmNlKCk7XG5cbiAgICBpZiAoZWF0KHR0LmJyYWNrZXRMKSkge1xuICAgICAgaWYgKGVhdCh0dC5icmFja2V0TCkpIHtcbiAgICAgICAgZmxvd1BhcnNlT2JqZWN0VHlwZUludGVybmFsU2xvdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmxvd1BhcnNlT2JqZWN0VHlwZUluZGV4ZXIoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG1hdGNoKHR0LnBhcmVuTCkgfHwgbWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgICBmbG93UGFyc2VPYmplY3RUeXBlQ2FsbFByb3BlcnR5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2dldCkgfHwgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9zZXQpKSB7XG4gICAgICAgIGNvbnN0IGxvb2thaGVhZCA9IGxvb2thaGVhZFR5cGUoKTtcbiAgICAgICAgaWYgKGxvb2thaGVhZCA9PT0gdHQubmFtZSB8fCBsb29rYWhlYWQgPT09IHR0LnN0cmluZyB8fCBsb29rYWhlYWQgPT09IHR0Lm51bSkge1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmbG93UGFyc2VPYmplY3RUeXBlUHJvcGVydHkoKTtcbiAgICB9XG5cbiAgICBmbG93T2JqZWN0VHlwZVNlbWljb2xvbigpO1xuICB9XG5cbiAgZXhwZWN0KGVuZERlbGltKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlT2JqZWN0VHlwZVByb3BlcnR5KCkge1xuICBpZiAobWF0Y2godHQuZWxsaXBzaXMpKSB7XG4gICAgZXhwZWN0KHR0LmVsbGlwc2lzKTtcbiAgICBpZiAoIWVhdCh0dC5jb21tYSkpIHtcbiAgICAgIGVhdCh0dC5zZW1pKTtcbiAgICB9XG4gICAgLy8gRXhwbGljaXQgaW5leGFjdCBvYmplY3Qgc3ludGF4LlxuICAgIGlmIChtYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZsb3dQYXJzZVR5cGUoKTtcbiAgfSBlbHNlIHtcbiAgICBmbG93UGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpO1xuICAgIGlmIChtYXRjaCh0dC5sZXNzVGhhbikgfHwgbWF0Y2godHQucGFyZW5MKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIG1ldGhvZCBwcm9wZXJ0eVxuICAgICAgZmxvd1BhcnNlT2JqZWN0VHlwZU1ldGhvZGlzaCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlYXQodHQucXVlc3Rpb24pO1xuICAgICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dPYmplY3RUeXBlU2VtaWNvbG9uKCkge1xuICBpZiAoIWVhdCh0dC5zZW1pKSAmJiAhZWF0KHR0LmNvbW1hKSAmJiAhbWF0Y2godHQuYnJhY2VSKSAmJiAhbWF0Y2godHQuYnJhY2VCYXJSKSkge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VRdWFsaWZpZWRUeXBlSWRlbnRpZmllcihpbml0aWFsSWRBbHJlYWR5UGFyc2VkKSB7XG4gIGlmICghaW5pdGlhbElkQWxyZWFkeVBhcnNlZCkge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICB9XG4gIHdoaWxlIChlYXQodHQuZG90KSkge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUdlbmVyaWNUeXBlKCkge1xuICBmbG93UGFyc2VRdWFsaWZpZWRUeXBlSWRlbnRpZmllcih0cnVlKTtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZW9mVHlwZSgpIHtcbiAgZXhwZWN0KHR0Ll90eXBlb2YpO1xuICBmbG93UGFyc2VQcmltYXJ5VHlwZSgpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VUdXBsZVR5cGUoKSB7XG4gIGV4cGVjdCh0dC5icmFja2V0TCk7XG4gIC8vIFdlIGFsbG93IHRyYWlsaW5nIGNvbW1hc1xuICB3aGlsZSAoc3RhdGUucG9zIDwgaW5wdXQubGVuZ3RoICYmICFtYXRjaCh0dC5icmFja2V0UikpIHtcbiAgICBmbG93UGFyc2VUeXBlKCk7XG4gICAgaWYgKG1hdGNoKHR0LmJyYWNrZXRSKSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGV4cGVjdCh0dC5jb21tYSk7XG4gIH1cbiAgZXhwZWN0KHR0LmJyYWNrZXRSKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oKSB7XG4gIGNvbnN0IGxvb2thaGVhZCA9IGxvb2thaGVhZFR5cGUoKTtcbiAgaWYgKGxvb2thaGVhZCA9PT0gdHQuY29sb24gfHwgbG9va2FoZWFkID09PSB0dC5xdWVzdGlvbikge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIGVhdCh0dC5xdWVzdGlvbik7XG4gICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvd1BhcnNlVHlwZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcygpIHtcbiAgd2hpbGUgKCFtYXRjaCh0dC5wYXJlblIpICYmICFtYXRjaCh0dC5lbGxpcHNpcykgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oKTtcbiAgICBpZiAoIW1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICAgIGV4cGVjdCh0dC5jb21tYSk7XG4gICAgfVxuICB9XG4gIGlmIChlYXQodHQuZWxsaXBzaXMpKSB7XG4gICAgZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oKTtcbiAgfVxufVxuXG4vLyBUaGUgcGFyc2luZyBvZiB0eXBlcyByb3VnaGx5IHBhcmFsbGVscyB0aGUgcGFyc2luZyBvZiBleHByZXNzaW9ucywgYW5kXG4vLyBwcmltYXJ5IHR5cGVzIGFyZSBraW5kIG9mIGxpa2UgcHJpbWFyeSBleHByZXNzaW9ucy4uLnRoZXkncmUgdGhlXG4vLyBwcmltaXRpdmVzIHdpdGggd2hpY2ggb3RoZXIgdHlwZXMgYXJlIGNvbnN0cnVjdGVkLlxuZnVuY3Rpb24gZmxvd1BhcnNlUHJpbWFyeVR5cGUoKSB7XG4gIGxldCBpc0dyb3VwZWRUeXBlID0gZmFsc2U7XG4gIGNvbnN0IG9sZE5vQW5vbkZ1bmN0aW9uVHlwZSA9IHN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZTtcblxuICBzd2l0Y2ggKHN0YXRlLnR5cGUpIHtcbiAgICBjYXNlIHR0Lm5hbWU6IHtcbiAgICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2ludGVyZmFjZSkpIHtcbiAgICAgICAgZmxvd1BhcnNlSW50ZXJmYWNlVHlwZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgIGZsb3dQYXJzZUdlbmVyaWNUeXBlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2FzZSB0dC5icmFjZUw6XG4gICAgICBmbG93UGFyc2VPYmplY3RUeXBlKGZhbHNlLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSB0dC5icmFjZUJhckw6XG4gICAgICBmbG93UGFyc2VPYmplY3RUeXBlKGZhbHNlLCB0cnVlLCBmYWxzZSk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0LmJyYWNrZXRMOlxuICAgICAgZmxvd1BhcnNlVHVwbGVUeXBlKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0Lmxlc3NUaGFuOlxuICAgICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgICBleHBlY3QodHQucGFyZW5MKTtcbiAgICAgIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcygpO1xuICAgICAgZXhwZWN0KHR0LnBhcmVuUik7XG4gICAgICBleHBlY3QodHQuYXJyb3cpO1xuICAgICAgZmxvd1BhcnNlVHlwZSgpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSB0dC5wYXJlbkw6XG4gICAgICBuZXh0KCk7XG5cbiAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGlzIGlzIGFjdHVhbGx5IGEgZ3JvdXBlZCB0eXBlXG4gICAgICBpZiAoIW1hdGNoKHR0LnBhcmVuUikgJiYgIW1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgICBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICAgICAgICBjb25zdCB0b2tlbiA9IGxvb2thaGVhZFR5cGUoKTtcbiAgICAgICAgICBpc0dyb3VwZWRUeXBlID0gdG9rZW4gIT09IHR0LnF1ZXN0aW9uICYmIHRva2VuICE9PSB0dC5jb2xvbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0dyb3VwZWRUeXBlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNHcm91cGVkVHlwZSkge1xuICAgICAgICBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSBmYWxzZTtcbiAgICAgICAgZmxvd1BhcnNlVHlwZSgpO1xuICAgICAgICBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSBvbGROb0Fub25GdW5jdGlvblR5cGU7XG5cbiAgICAgICAgLy8gQSBgLGAgb3IgYSBgKSA9PmAgbWVhbnMgdGhpcyBpcyBhbiBhbm9ueW1vdXMgZnVuY3Rpb24gdHlwZVxuICAgICAgICBpZiAoXG4gICAgICAgICAgc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlIHx8XG4gICAgICAgICAgIShtYXRjaCh0dC5jb21tYSkgfHwgKG1hdGNoKHR0LnBhcmVuUikgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5hcnJvdykpXG4gICAgICAgICkge1xuICAgICAgICAgIGV4cGVjdCh0dC5wYXJlblIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBFYXQgYSBjb21tYSBpZiB0aGVyZSBpcyBvbmVcbiAgICAgICAgICBlYXQodHQuY29tbWEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcygpO1xuXG4gICAgICBleHBlY3QodHQucGFyZW5SKTtcbiAgICAgIGV4cGVjdCh0dC5hcnJvdyk7XG4gICAgICBmbG93UGFyc2VUeXBlKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0Lm1pbnVzOlxuICAgICAgbmV4dCgpO1xuICAgICAgcGFyc2VMaXRlcmFsKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0LnN0cmluZzpcbiAgICBjYXNlIHR0Lm51bTpcbiAgICBjYXNlIHR0Ll90cnVlOlxuICAgIGNhc2UgdHQuX2ZhbHNlOlxuICAgIGNhc2UgdHQuX251bGw6XG4gICAgY2FzZSB0dC5fdGhpczpcbiAgICBjYXNlIHR0Ll92b2lkOlxuICAgIGNhc2UgdHQuc3RhcjpcbiAgICAgIG5leHQoKTtcbiAgICAgIHJldHVybjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAoc3RhdGUudHlwZSA9PT0gdHQuX3R5cGVvZikge1xuICAgICAgICBmbG93UGFyc2VUeXBlb2ZUeXBlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSAmIFRva2VuVHlwZS5JU19LRVlXT1JEKSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQubmFtZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG5cbiAgdW5leHBlY3RlZCgpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VQb3N0Zml4VHlwZSgpIHtcbiAgZmxvd1BhcnNlUHJpbWFyeVR5cGUoKTtcbiAgd2hpbGUgKCFjYW5JbnNlcnRTZW1pY29sb24oKSAmJiAobWF0Y2godHQuYnJhY2tldEwpIHx8IG1hdGNoKHR0LnF1ZXN0aW9uRG90KSkpIHtcbiAgICBlYXQodHQucXVlc3Rpb25Eb3QpO1xuICAgIGV4cGVjdCh0dC5icmFja2V0TCk7XG4gICAgaWYgKGVhdCh0dC5icmFja2V0UikpIHtcbiAgICAgIC8vIEFycmF5IHR5cGVcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSW5kZXhlZCBhY2Nlc3MgdHlwZVxuICAgICAgZmxvd1BhcnNlVHlwZSgpO1xuICAgICAgZXhwZWN0KHR0LmJyYWNrZXRSKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlUHJlZml4VHlwZSgpIHtcbiAgaWYgKGVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICBmbG93UGFyc2VQcmVmaXhUeXBlKCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvd1BhcnNlUG9zdGZpeFR5cGUoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCkge1xuICBmbG93UGFyc2VQcmVmaXhUeXBlKCk7XG4gIGlmICghc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlICYmIGVhdCh0dC5hcnJvdykpIHtcbiAgICBmbG93UGFyc2VUeXBlKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlSW50ZXJzZWN0aW9uVHlwZSgpIHtcbiAgZWF0KHR0LmJpdHdpc2VBTkQpO1xuICBmbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCk7XG4gIHdoaWxlIChlYXQodHQuYml0d2lzZUFORCkpIHtcbiAgICBmbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVW5pb25UeXBlKCkge1xuICBlYXQodHQuYml0d2lzZU9SKTtcbiAgZmxvd1BhcnNlSW50ZXJzZWN0aW9uVHlwZSgpO1xuICB3aGlsZSAoZWF0KHR0LmJpdHdpc2VPUikpIHtcbiAgICBmbG93UGFyc2VJbnRlcnNlY3Rpb25UeXBlKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZSgpIHtcbiAgZmxvd1BhcnNlVW5pb25UeXBlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbG93UGFyc2VUeXBlQW5ub3RhdGlvbigpIHtcbiAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZVR5cGVBbm5vdGF0YWJsZUlkZW50aWZpZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBpZiAobWF0Y2godHQuY29sb24pKSB7XG4gICAgZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlVmFyaWFuY2UoKSB7XG4gIGlmIChtYXRjaCh0dC5wbHVzKSB8fCBtYXRjaCh0dC5taW51cykpIHtcbiAgICBuZXh0KCk7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc1R5cGUgPSB0cnVlO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE92ZXJyaWRlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlRnVuY3Rpb25Cb2R5QW5kRmluaXNoKGZ1bmNDb250ZXh0SWQpIHtcbiAgLy8gRm9yIGFycm93IGZ1bmN0aW9ucywgYHBhcnNlQXJyb3dgIGhhbmRsZXMgdGhlIHJldHVybiB0eXBlIGl0c2VsZi5cbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpO1xuICB9XG5cbiAgcGFyc2VGdW5jdGlvbkJvZHkoZmFsc2UsIGZ1bmNDb250ZXh0SWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlU3Vic2NyaXB0KFxuICBzdGFydFRva2VuSW5kZXgsXG4gIG5vQ2FsbHMsXG4gIHN0b3BTdGF0ZSxcbikge1xuICBpZiAobWF0Y2godHQucXVlc3Rpb25Eb3QpICYmIGxvb2thaGVhZFR5cGUoKSA9PT0gdHQubGVzc1RoYW4pIHtcbiAgICBpZiAobm9DYWxscykge1xuICAgICAgc3RvcFN0YXRlLnN0b3AgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBuZXh0KCk7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24oKTtcbiAgICBleHBlY3QodHQucGFyZW5MKTtcbiAgICBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKCk7XG4gICAgcmV0dXJuO1xuICB9IGVsc2UgaWYgKCFub0NhbGxzICYmIG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpO1xuICAgIGV4cGVjdCh0dC5wYXJlbkwpO1xuICAgIHBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMoKTtcbiAgICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIGJhc2VQYXJzZVN1YnNjcmlwdChzdGFydFRva2VuSW5kZXgsIG5vQ2FsbHMsIHN0b3BTdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbG93U3RhcnRQYXJzZU5ld0FyZ3VtZW50cygpIHtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpO1xuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgfVxuICB9XG59XG5cbi8vIGludGVyZmFjZXNcbmV4cG9ydCBmdW5jdGlvbiBmbG93VHJ5UGFyc2VTdGF0ZW1lbnQoKSB7XG4gIGlmIChtYXRjaCh0dC5uYW1lKSAmJiBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2ludGVyZmFjZSkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgICBuZXh0KCk7XG4gICAgZmxvd1BhcnNlSW50ZXJmYWNlKCk7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2VudW0pKSB7XG4gICAgZmxvd1BhcnNlRW51bURlY2xhcmF0aW9uKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1RyeVBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKSB7XG4gIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2VudW0pKSB7XG4gICAgZmxvd1BhcnNlRW51bURlY2xhcmF0aW9uKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBkZWNsYXJlcywgaW50ZXJmYWNlcyBhbmQgdHlwZSBhbGlhc2VzXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlSWRlbnRpZmllclN0YXRlbWVudChjb250ZXh0dWFsS2V5d29yZCkge1xuICBpZiAoY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9kZWNsYXJlKSB7XG4gICAgaWYgKFxuICAgICAgbWF0Y2godHQuX2NsYXNzKSB8fFxuICAgICAgbWF0Y2godHQubmFtZSkgfHxcbiAgICAgIG1hdGNoKHR0Ll9mdW5jdGlvbikgfHxcbiAgICAgIG1hdGNoKHR0Ll92YXIpIHx8XG4gICAgICBtYXRjaCh0dC5fZXhwb3J0KVxuICAgICkge1xuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgICAgZmxvd1BhcnNlRGVjbGFyZSgpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICBpZiAoY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpIHtcbiAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICAgIGZsb3dQYXJzZUludGVyZmFjZSgpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB9IGVsc2UgaWYgKGNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fdHlwZSkge1xuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgICAgZmxvd1BhcnNlVHlwZUFsaWFzKCk7XG4gICAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICAgIH0gZWxzZSBpZiAoY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9vcGFxdWUpIHtcbiAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICAgIGZsb3dQYXJzZU9wYXF1ZVR5cGUoZmFsc2UpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB9XG4gIH1cbiAgc2VtaWNvbG9uKCk7XG59XG5cbi8vIGV4cG9ydCB0eXBlXG5leHBvcnQgZnVuY3Rpb24gZmxvd1Nob3VsZFBhcnNlRXhwb3J0RGVjbGFyYXRpb24oKSB7XG4gIHJldHVybiAoXG4gICAgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5faW50ZXJmYWNlKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fb3BhcXVlKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZW51bSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dTaG91bGREaXNhbGxvd0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKSB7XG4gIHJldHVybiAoXG4gICAgbWF0Y2godHQubmFtZSkgJiZcbiAgICAoc3RhdGUuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl90eXBlIHx8XG4gICAgICBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2ludGVyZmFjZSB8fFxuICAgICAgc3RhdGUuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9vcGFxdWUgfHxcbiAgICAgIHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fZW51bSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkge1xuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKSkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICBuZXh0KCk7XG5cbiAgICBpZiAobWF0Y2godHQuYnJhY2VMKSkge1xuICAgICAgLy8gZXhwb3J0IHR5cGUgeyBmb28sIGJhciB9O1xuICAgICAgcGFyc2VFeHBvcnRTcGVjaWZpZXJzKCk7XG4gICAgICBwYXJzZUV4cG9ydEZyb20oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZXhwb3J0IHR5cGUgRm9vID0gQmFyO1xuICAgICAgZmxvd1BhcnNlVHlwZUFsaWFzKCk7XG4gICAgfVxuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIH0gZWxzZSBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vcGFxdWUpKSB7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgIG5leHQoKTtcbiAgICAvLyBleHBvcnQgb3BhcXVlIHR5cGUgRm9vID0gQmFyO1xuICAgIGZsb3dQYXJzZU9wYXF1ZVR5cGUoZmFsc2UpO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIH0gZWxzZSBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpKSB7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgIG5leHQoKTtcbiAgICBmbG93UGFyc2VJbnRlcmZhY2UoKTtcbiAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICB9IGVsc2Uge1xuICAgIHBhcnNlU3RhdGVtZW50KHRydWUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbG93U2hvdWxkUGFyc2VFeHBvcnRTdGFyKCkge1xuICByZXR1cm4gbWF0Y2godHQuc3RhcikgfHwgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdHlwZSkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5zdGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dQYXJzZUV4cG9ydFN0YXIoKSB7XG4gIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKSkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgyKTtcbiAgICBiYXNlUGFyc2VFeHBvcnRTdGFyKCk7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgfSBlbHNlIHtcbiAgICBiYXNlUGFyc2VFeHBvcnRTdGFyKCk7XG4gIH1cbn1cblxuLy8gcGFyc2UgYSB0aGUgc3VwZXIgY2xhc3MgdHlwZSBwYXJhbWV0ZXJzIGFuZCBpbXBsZW1lbnRzXG5leHBvcnQgZnVuY3Rpb24gZmxvd0FmdGVyUGFyc2VDbGFzc1N1cGVyKGhhc1N1cGVyKSB7XG4gIGlmIChoYXNTdXBlciAmJiBtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpO1xuICB9XG4gIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2ltcGxlbWVudHMpKSB7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICAgIG5leHQoKTtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5faW1wbGVtZW50cztcbiAgICBkbyB7XG4gICAgICBmbG93UGFyc2VSZXN0cmljdGVkSWRlbnRpZmllcigpO1xuICAgICAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgICAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKGVhdCh0dC5jb21tYSkpO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIH1cbn1cblxuLy8gcGFyc2UgdHlwZSBwYXJhbWV0ZXJzIGZvciBvYmplY3QgbWV0aG9kIHNob3J0aGFuZFxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dTdGFydFBhcnNlT2JqUHJvcFZhbHVlKCkge1xuICAvLyBtZXRob2Qgc2hvcnRoYW5kXG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICBpZiAoIW1hdGNoKHR0LnBhcmVuTCkpIHVuZXhwZWN0ZWQoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlQXNzaWduYWJsZUxpc3RJdGVtVHlwZXMoKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgZWF0KHR0LnF1ZXN0aW9uKTtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gIH1cbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuLy8gcGFyc2UgdHlwZW9mIGFuZCB0eXBlIGltcG9ydHNcbmV4cG9ydCBmdW5jdGlvbiBmbG93U3RhcnRQYXJzZUltcG9ydFNwZWNpZmllcnMoKSB7XG4gIGlmIChtYXRjaCh0dC5fdHlwZW9mKSB8fCBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpKSB7XG4gICAgY29uc3QgbGggPSBsb29rYWhlYWRUeXBlQW5kS2V5d29yZCgpO1xuICAgIGlmIChpc01heWJlRGVmYXVsdEltcG9ydChsaCkgfHwgbGgudHlwZSA9PT0gdHQuYnJhY2VMIHx8IGxoLnR5cGUgPT09IHR0LnN0YXIpIHtcbiAgICAgIG5leHQoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gcGFyc2UgaW1wb3J0LXR5cGUvdHlwZW9mIHNob3J0aGFuZFxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dQYXJzZUltcG9ydFNwZWNpZmllcigpIHtcbiAgY29uc3QgaXNUeXBlS2V5d29yZCA9XG4gICAgc3RhdGUuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl90eXBlIHx8IHN0YXRlLnR5cGUgPT09IHR0Ll90eXBlb2Y7XG4gIGlmIChpc1R5cGVLZXl3b3JkKSB7XG4gICAgbmV4dCgpO1xuICB9IGVsc2Uge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICB9XG5cbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpICYmICFpc0xvb2thaGVhZENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzKSkge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIGlmIChpc1R5cGVLZXl3b3JkICYmICFtYXRjaCh0dC5uYW1lKSAmJiAhKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfS0VZV09SRCkpIHtcbiAgICAgIC8vIGBpbXBvcnQge3R5cGUgYXMgLGAgb3IgYGltcG9ydCB7dHlwZSBhcyB9YFxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBgaW1wb3J0IHt0eXBlIGFzIGZvb2BcbiAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNUeXBlS2V5d29yZCAmJiAobWF0Y2godHQubmFtZSkgfHwgISEoc3RhdGUudHlwZSAmIFRva2VuVHlwZS5JU19LRVlXT1JEKSkpIHtcbiAgICAgIC8vIGBpbXBvcnQge3R5cGUgZm9vYFxuICAgICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gICAgfVxuICAgIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hcykpIHtcbiAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBwYXJzZSBmdW5jdGlvbiB0eXBlIHBhcmFtZXRlcnMgLSBmdW5jdGlvbiBmb288VD4oKSB7fVxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dTdGFydFBhcnNlRnVuY3Rpb25QYXJhbXMoKSB7XG4gIC8vIE9yaWdpbmFsbHkgdGhpcyBjaGVja2VkIGlmIHRoZSBtZXRob2QgaXMgYSBnZXR0ZXIvc2V0dGVyLCBidXQgaWYgaXQgd2FzLCB3ZSdkIGNyYXNoIHNvb25cbiAgLy8gYW55d2F5LCBzbyBkb24ndCB0cnkgdG8gcHJvcGFnYXRlIHRoYXQgaW5mb3JtYXRpb24uXG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMCk7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgfVxufVxuXG4vLyBwYXJzZSBmbG93IHR5cGUgYW5ub3RhdGlvbnMgb24gdmFyaWFibGUgZGVjbGFyYXRvciBoZWFkcyAtIGxldCBmb286IHN0cmluZyA9IGJhclxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dBZnRlclBhcnNlVmFySGVhZCgpIHtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gIH1cbn1cblxuLy8gcGFyc2UgdGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGFycm93IGZ1bmN0aW9uIC0gbGV0IGZvbyA9IChhc3luYyAoKTogbnVtYmVyID0+IHt9KTtcbmV4cG9ydCBmdW5jdGlvbiBmbG93U3RhcnRQYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oKSB7XG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICBjb25zdCBvbGROb0Fub25GdW5jdGlvblR5cGUgPSBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU7XG4gICAgc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gdHJ1ZTtcbiAgICBmbG93UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICAgIHN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZSA9IG9sZE5vQW5vbkZ1bmN0aW9uVHlwZTtcbiAgfVxufVxuXG4vLyBXZSBuZWVkIHRvIHN1cHBvcnQgdHlwZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb25zIGZvciBhcnJvdyBmdW5jdGlvbnMuIFRoaXNcbi8vIGlzIHRyaWNreS4gVGhlcmUgYXJlIHRocmVlIHNpdHVhdGlvbnMgd2UgbmVlZCB0byBoYW5kbGVcbi8vXG4vLyAxLiBUaGlzIGlzIGVpdGhlciBKU1ggb3IgYW4gYXJyb3cgZnVuY3Rpb24uIFdlJ2xsIHRyeSBKU1ggZmlyc3QuIElmIHRoYXRcbi8vICAgIGZhaWxzLCB3ZSdsbCB0cnkgYW4gYXJyb3cgZnVuY3Rpb24uIElmIHRoYXQgZmFpbHMsIHdlJ2xsIHRocm93IHRoZSBKU1hcbi8vICAgIGVycm9yLlxuLy8gMi4gVGhpcyBpcyBhbiBhcnJvdyBmdW5jdGlvbi4gV2UnbGwgcGFyc2UgdGhlIHR5cGUgcGFyYW1ldGVyIGRlY2xhcmF0aW9uLFxuLy8gICAgcGFyc2UgdGhlIHJlc3QsIG1ha2Ugc3VyZSB0aGUgcmVzdCBpcyBhbiBhcnJvdyBmdW5jdGlvbiwgYW5kIGdvIGZyb21cbi8vICAgIHRoZXJlXG4vLyAzLiBUaGlzIGlzIG5laXRoZXIuIEp1c3QgY2FsbCB0aGUgc3VwZXIgbWV0aG9kXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpIHtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgICBsZXQgd2FzQXJyb3cgPSBiYXNlUGFyc2VNYXliZUFzc2lnbihub0luLCBpc1dpdGhpblBhcmVucyk7XG4gICAgaWYgKHN0YXRlLmVycm9yKSB7XG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgIHN0YXRlLnR5cGUgPSB0dC50eXBlUGFyYW1ldGVyU3RhcnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB3YXNBcnJvdztcbiAgICB9XG5cbiAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMCk7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB3YXNBcnJvdyA9IGJhc2VQYXJzZU1heWJlQXNzaWduKG5vSW4sIGlzV2l0aGluUGFyZW5zKTtcbiAgICBpZiAod2FzQXJyb3cpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB1bmV4cGVjdGVkKCk7XG4gIH1cblxuICByZXR1cm4gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xufVxuXG4vLyBoYW5kbGUgcmV0dXJuIHR5cGVzIGZvciBhcnJvdyBmdW5jdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBmbG93UGFyc2VBcnJvdygpIHtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG5cbiAgICBjb25zdCBvbGROb0Fub25GdW5jdGlvblR5cGUgPSBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU7XG4gICAgc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gdHJ1ZTtcbiAgICBmbG93UGFyc2VUeXBlQW5kUHJlZGljYXRlSW5pdGlhbGlzZXIoKTtcbiAgICBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSBvbGROb0Fub25GdW5jdGlvblR5cGU7XG5cbiAgICBpZiAoY2FuSW5zZXJ0U2VtaWNvbG9uKCkpIHVuZXhwZWN0ZWQoKTtcbiAgICBpZiAoIW1hdGNoKHR0LmFycm93KSkgdW5leHBlY3RlZCgpO1xuXG4gICAgaWYgKHN0YXRlLmVycm9yKSB7XG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICB9XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgfVxuICByZXR1cm4gZWF0KHR0LmFycm93KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dQYXJzZVN1YnNjcmlwdHMoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzID0gZmFsc2UpIHtcbiAgaWYgKFxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hc3luYyAmJlxuICAgIG1hdGNoKHR0Lmxlc3NUaGFuKVxuICApIHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG4gICAgY29uc3Qgd2FzQXJyb3cgPSBwYXJzZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtZXRlcnMoKTtcbiAgICBpZiAod2FzQXJyb3cgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICB9XG5cbiAgYmFzZVBhcnNlU3Vic2NyaXB0cyhzdGFydFRva2VuSW5kZXgsIG5vQ2FsbHMpO1xufVxuXG4vLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgd2FzIGFuIGFycm93IGZ1bmN0aW9uIGhlcmUuXG5mdW5jdGlvbiBwYXJzZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtZXRlcnMoKSB7XG4gIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICBpZiAoIXBhcnNlQXJyb3coKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBwYXJzZUFycm93RXhwcmVzc2lvbihzdGFydFRva2VuSW5kZXgpO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlRW51bURlY2xhcmF0aW9uKCkge1xuICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9lbnVtKTtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2VudW07XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBmbG93UGFyc2VFbnVtQm9keSgpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VFbnVtQm9keSgpIHtcbiAgaWYgKGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX29mKSkge1xuICAgIG5leHQoKTtcbiAgfVxuICBleHBlY3QodHQuYnJhY2VMKTtcbiAgZmxvd1BhcnNlRW51bU1lbWJlcnMoKTtcbiAgZXhwZWN0KHR0LmJyYWNlUik7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUVudW1NZW1iZXJzKCkge1xuICB3aGlsZSAoIW1hdGNoKHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGVhdCh0dC5lbGxpcHNpcykpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBmbG93UGFyc2VFbnVtTWVtYmVyKCk7XG4gICAgaWYgKCFtYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VFbnVtTWVtYmVyKCkge1xuICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgaWYgKGVhdCh0dC5lcSkpIHtcbiAgICAvLyBGbG93IGVudW0gdmFsdWVzIGFyZSBhbHdheXMganVzdCBvbmUgdG9rZW4gKGEgc3RyaW5nLCBudW1iZXIsIG9yIGJvb2xlYW4gbGl0ZXJhbCkuXG4gICAgbmV4dCgpO1xuICB9XG59XG4iLCAiLyogZXNsaW50IG1heC1sZW46IDAgKi9cblxuaW1wb3J0IHtGaWxlfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB7XG4gIGZsb3dBZnRlclBhcnNlQ2xhc3NTdXBlcixcbiAgZmxvd0FmdGVyUGFyc2VWYXJIZWFkLFxuICBmbG93UGFyc2VFeHBvcnREZWNsYXJhdGlvbixcbiAgZmxvd1BhcnNlRXhwb3J0U3RhcixcbiAgZmxvd1BhcnNlSWRlbnRpZmllclN0YXRlbWVudCxcbiAgZmxvd1BhcnNlSW1wb3J0U3BlY2lmaWVyLFxuICBmbG93UGFyc2VUeXBlQW5ub3RhdGlvbixcbiAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uLFxuICBmbG93U2hvdWxkRGlzYWxsb3dFeHBvcnREZWZhdWx0U3BlY2lmaWVyLFxuICBmbG93U2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbixcbiAgZmxvd1Nob3VsZFBhcnNlRXhwb3J0U3RhcixcbiAgZmxvd1N0YXJ0UGFyc2VGdW5jdGlvblBhcmFtcyxcbiAgZmxvd1N0YXJ0UGFyc2VJbXBvcnRTcGVjaWZpZXJzLFxuICBmbG93VHJ5UGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbixcbiAgZmxvd1RyeVBhcnNlU3RhdGVtZW50LFxufSBmcm9tIFwiLi4vcGx1Z2lucy9mbG93XCI7XG5pbXBvcnQge1xuICB0c0FmdGVyUGFyc2VDbGFzc1N1cGVyLFxuICB0c0FmdGVyUGFyc2VWYXJIZWFkLFxuICB0c0lzRGVjbGFyYXRpb25TdGFydCxcbiAgdHNQYXJzZUV4cG9ydERlY2xhcmF0aW9uLFxuICB0c1BhcnNlRXhwb3J0U3BlY2lmaWVyLFxuICB0c1BhcnNlSWRlbnRpZmllclN0YXRlbWVudCxcbiAgdHNQYXJzZUltcG9ydEVxdWFsc0RlY2xhcmF0aW9uLFxuICB0c1BhcnNlSW1wb3J0U3BlY2lmaWVyLFxuICB0c1BhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMsXG4gIHRzUGFyc2VNb2RpZmllcnMsXG4gIHRzU3RhcnRQYXJzZUZ1bmN0aW9uUGFyYW1zLFxuICB0c1RyeVBhcnNlQ2xhc3NNZW1iZXJXaXRoSXNTdGF0aWMsXG4gIHRzVHJ5UGFyc2VFeHBvcnQsXG4gIHRzVHJ5UGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbixcbiAgdHNUcnlQYXJzZVN0YXRlbWVudENvbnRlbnQsXG4gIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbixcbiAgdHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzLFxufSBmcm9tIFwiLi4vcGx1Z2lucy90eXBlc2NyaXB0XCI7XG5pbXBvcnQge1xuICBlYXQsXG4gIGVhdFR5cGVUb2tlbixcbiAgSWRlbnRpZmllclJvbGUsXG4gIGxvb2thaGVhZFR5cGUsXG4gIGxvb2thaGVhZFR5cGVBbmRLZXl3b3JkLFxuICBtYXRjaCxcbiAgbmV4dCxcbiAgbmV4dFRva2VuU3RhcnQsXG4gIG5leHRUb2tlblN0YXJ0U2luY2UsXG4gIHBvcFR5cGVDb250ZXh0LFxuICBwdXNoVHlwZUNvbnRleHQsXG59IGZyb20gXCIuLi90b2tlbml6ZXJcIjtcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7U2NvcGV9IGZyb20gXCIuLi90b2tlbml6ZXIvc3RhdGVcIjtcbmltcG9ydCB7IFRva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3Rva2VuaXplci90eXBlc1wiO1xuaW1wb3J0IHtjaGFyQ29kZXN9IGZyb20gXCIuLi91dGlsL2NoYXJjb2Rlc1wiO1xuaW1wb3J0IHtnZXROZXh0Q29udGV4dElkLCBpbnB1dCwgaXNGbG93RW5hYmxlZCwgaXNUeXBlU2NyaXB0RW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuL2Jhc2VcIjtcbmltcG9ydCB7XG4gIHBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMsXG4gIHBhcnNlRXhwckF0b20sXG4gIHBhcnNlRXhwcmVzc2lvbixcbiAgcGFyc2VFeHByU3Vic2NyaXB0cyxcbiAgcGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2gsXG4gIHBhcnNlSWRlbnRpZmllcixcbiAgcGFyc2VNYXliZUFzc2lnbixcbiAgcGFyc2VNZXRob2QsXG4gIHBhcnNlT2JqLFxuICBwYXJzZVBhcmVuRXhwcmVzc2lvbixcbiAgcGFyc2VQcm9wZXJ0eU5hbWUsXG59IGZyb20gXCIuL2V4cHJlc3Npb25cIjtcbmltcG9ydCB7XG4gIHBhcnNlQmluZGluZ0F0b20sXG4gIHBhcnNlQmluZGluZ0lkZW50aWZpZXIsXG4gIHBhcnNlQmluZGluZ0xpc3QsXG4gIHBhcnNlSW1wb3J0ZWRJZGVudGlmaWVyLFxufSBmcm9tIFwiLi9sdmFsXCI7XG5pbXBvcnQge1xuICBjYW5JbnNlcnRTZW1pY29sb24sXG4gIGVhdENvbnRleHR1YWwsXG4gIGV4cGVjdCxcbiAgZXhwZWN0Q29udGV4dHVhbCxcbiAgaGFzRm9sbG93aW5nTGluZUJyZWFrLFxuICBoYXNQcmVjZWRpbmdMaW5lQnJlYWssXG4gIGlzQ29udGV4dHVhbCxcbiAgaXNMaW5lVGVybWluYXRvcixcbiAgaXNMb29rYWhlYWRDb250ZXh0dWFsLFxuICBzZW1pY29sb24sXG4gIHVuZXhwZWN0ZWQsXG59IGZyb20gXCIuL3V0aWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVG9wTGV2ZWwoKSB7XG4gIHBhcnNlQmxvY2tCb2R5KHR0LmVvZik7XG4gIHN0YXRlLnNjb3Blcy5wdXNoKG5ldyBTY29wZSgwLCBzdGF0ZS50b2tlbnMubGVuZ3RoLCB0cnVlKSk7XG4gIGlmIChzdGF0ZS5zY29wZURlcHRoICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNjb3BlIGRlcHRoIGF0IGVuZCBvZiBmaWxlOiAke3N0YXRlLnNjb3BlRGVwdGh9YCk7XG4gIH1cbiAgcmV0dXJuIG5ldyBGaWxlKHN0YXRlLnRva2Vucywgc3RhdGUuc2NvcGVzKTtcbn1cblxuLy8gUGFyc2UgYSBzaW5nbGUgc3RhdGVtZW50LlxuLy9cbi8vIElmIGV4cGVjdGluZyBhIHN0YXRlbWVudCBhbmQgZmluZGluZyBhIHNsYXNoIG9wZXJhdG9yLCBwYXJzZSBhXG4vLyByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbC4gVGhpcyBpcyB0byBoYW5kbGUgY2FzZXMgbGlrZVxuLy8gYGlmIChmb28pIC9ibGFoLy5leGVjKGZvbylgLCB3aGVyZSBsb29raW5nIGF0IHRoZSBwcmV2aW91cyB0b2tlblxuLy8gZG9lcyBub3QgaGVscC5cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3RhdGVtZW50KGRlY2xhcmF0aW9uKSB7XG4gIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgaWYgKGZsb3dUcnlQYXJzZVN0YXRlbWVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIGlmIChtYXRjaCh0dC5hdCkpIHtcbiAgICBwYXJzZURlY29yYXRvcnMoKTtcbiAgfVxuICBwYXJzZVN0YXRlbWVudENvbnRlbnQoZGVjbGFyYXRpb24pO1xufVxuXG5mdW5jdGlvbiBwYXJzZVN0YXRlbWVudENvbnRlbnQoZGVjbGFyYXRpb24pIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICBpZiAodHNUcnlQYXJzZVN0YXRlbWVudENvbnRlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN0YXJ0dHlwZSA9IHN0YXRlLnR5cGU7XG5cbiAgLy8gTW9zdCB0eXBlcyBvZiBzdGF0ZW1lbnRzIGFyZSByZWNvZ25pemVkIGJ5IHRoZSBrZXl3b3JkIHRoZXlcbiAgLy8gc3RhcnQgd2l0aC4gTWFueSBhcmUgdHJpdmlhbCB0byBwYXJzZSwgc29tZSByZXF1aXJlIGEgYml0IG9mXG4gIC8vIGNvbXBsZXhpdHkuXG5cbiAgc3dpdGNoIChzdGFydHR5cGUpIHtcbiAgICBjYXNlIHR0Ll9icmVhazpcbiAgICBjYXNlIHR0Ll9jb250aW51ZTpcbiAgICAgIHBhcnNlQnJlYWtDb250aW51ZVN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX2RlYnVnZ2VyOlxuICAgICAgcGFyc2VEZWJ1Z2dlclN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX2RvOlxuICAgICAgcGFyc2VEb1N0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX2ZvcjpcbiAgICAgIHBhcnNlRm9yU3RhdGVtZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSB0dC5fZnVuY3Rpb246XG4gICAgICBpZiAobG9va2FoZWFkVHlwZSgpID09PSB0dC5kb3QpIGJyZWFrO1xuICAgICAgaWYgKCFkZWNsYXJhdGlvbikgdW5leHBlY3RlZCgpO1xuICAgICAgcGFyc2VGdW5jdGlvblN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSB0dC5fY2xhc3M6XG4gICAgICBpZiAoIWRlY2xhcmF0aW9uKSB1bmV4cGVjdGVkKCk7XG4gICAgICBwYXJzZUNsYXNzKHRydWUpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSB0dC5faWY6XG4gICAgICBwYXJzZUlmU3RhdGVtZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSB0dC5fcmV0dXJuOlxuICAgICAgcGFyc2VSZXR1cm5TdGF0ZW1lbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0Ll9zd2l0Y2g6XG4gICAgICBwYXJzZVN3aXRjaFN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX3Rocm93OlxuICAgICAgcGFyc2VUaHJvd1N0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX3RyeTpcbiAgICAgIHBhcnNlVHJ5U3RhdGVtZW50KCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0Ll9sZXQ6XG4gICAgY2FzZSB0dC5fY29uc3Q6XG4gICAgICBpZiAoIWRlY2xhcmF0aW9uKSB1bmV4cGVjdGVkKCk7IC8vIE5PVEU6IGZhbGxzIHRocm91Z2ggdG8gX3ZhclxuXG4gICAgY2FzZSB0dC5fdmFyOlxuICAgICAgcGFyc2VWYXJTdGF0ZW1lbnQoc3RhcnR0eXBlICE9PSB0dC5fdmFyKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgdHQuX3doaWxlOlxuICAgICAgcGFyc2VXaGlsZVN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuYnJhY2VMOlxuICAgICAgcGFyc2VCbG9jaygpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuc2VtaTpcbiAgICAgIHBhcnNlRW1wdHlTdGF0ZW1lbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0Ll9leHBvcnQ6XG4gICAgY2FzZSB0dC5faW1wb3J0OiB7XG4gICAgICBjb25zdCBuZXh0VHlwZSA9IGxvb2thaGVhZFR5cGUoKTtcbiAgICAgIGlmIChuZXh0VHlwZSA9PT0gdHQucGFyZW5MIHx8IG5leHRUeXBlID09PSB0dC5kb3QpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAoc3RhcnR0eXBlID09PSB0dC5faW1wb3J0KSB7XG4gICAgICAgIHBhcnNlSW1wb3J0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJzZUV4cG9ydCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYXNlIHR0Lm5hbWU6XG4gICAgICBpZiAoc3RhdGUuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hc3luYykge1xuICAgICAgICBjb25zdCBmdW5jdGlvblN0YXJ0ID0gc3RhdGUuc3RhcnQ7XG4gICAgICAgIC8vIHBlZWsgYWhlYWQgYW5kIHNlZSBpZiBuZXh0IHRva2VuIGlzIGEgZnVuY3Rpb25cbiAgICAgICAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIGlmIChtYXRjaCh0dC5fZnVuY3Rpb24pICYmICFjYW5JbnNlcnRTZW1pY29sb24oKSkge1xuICAgICAgICAgIGV4cGVjdCh0dC5fZnVuY3Rpb24pO1xuICAgICAgICAgIHBhcnNlRnVuY3Rpb24oZnVuY3Rpb25TdGFydCwgdHJ1ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX3VzaW5nICYmXG4gICAgICAgICFoYXNGb2xsb3dpbmdMaW5lQnJlYWsoKSAmJlxuICAgICAgICAvLyBTdGF0ZW1lbnRzIGxpa2UgYHVzaW5nWzBdYCBhbmQgYHVzaW5nIGluIGZvb2AgYXJlbid0IGFjdHVhbCB1c2luZ1xuICAgICAgICAvLyBkZWNsYXJhdGlvbnMuXG4gICAgICAgIGxvb2thaGVhZFR5cGUoKSA9PT0gdHQubmFtZVxuICAgICAgKSB7XG4gICAgICAgIHBhcnNlVmFyU3RhdGVtZW50KHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKHN0YXJ0c0F3YWl0VXNpbmcoKSkge1xuICAgICAgICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hd2FpdCk7XG4gICAgICAgIHBhcnNlVmFyU3RhdGVtZW50KHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIERvIG5vdGhpbmcuXG4gICAgICBicmVhaztcbiAgfVxuXG4gIC8vIElmIHRoZSBzdGF0ZW1lbnQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhIHN0YXRlbWVudCBrZXl3b3JkIG9yIGFcbiAgLy8gYnJhY2UsIGl0J3MgYW4gRXhwcmVzc2lvblN0YXRlbWVudCBvciBMYWJlbGVkU3RhdGVtZW50LiBXZVxuICAvLyBzaW1wbHkgc3RhcnQgcGFyc2luZyBhbiBleHByZXNzaW9uLCBhbmQgYWZ0ZXJ3YXJkcywgaWYgdGhlXG4gIC8vIG5leHQgdG9rZW4gaXMgYSBjb2xvbiBhbmQgdGhlIGV4cHJlc3Npb24gd2FzIGEgc2ltcGxlXG4gIC8vIElkZW50aWZpZXIgbm9kZSwgd2Ugc3dpdGNoIHRvIGludGVycHJldGluZyBpdCBhcyBhIGxhYmVsLlxuICBjb25zdCBpbml0aWFsVG9rZW5zTGVuZ3RoID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgcGFyc2VFeHByZXNzaW9uKCk7XG4gIGxldCBzaW1wbGVOYW1lID0gbnVsbDtcbiAgaWYgKHN0YXRlLnRva2Vucy5sZW5ndGggPT09IGluaXRpYWxUb2tlbnNMZW5ndGggKyAxKSB7XG4gICAgY29uc3QgdG9rZW4gPSBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgIGlmICh0b2tlbi50eXBlID09PSB0dC5uYW1lKSB7XG4gICAgICBzaW1wbGVOYW1lID0gdG9rZW4uY29udGV4dHVhbEtleXdvcmQ7XG4gICAgfVxuICB9XG4gIGlmIChzaW1wbGVOYW1lID09IG51bGwpIHtcbiAgICBzZW1pY29sb24oKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGVhdCh0dC5jb2xvbikpIHtcbiAgICBwYXJzZUxhYmVsZWRTdGF0ZW1lbnQoKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIHdhcyBhbiBpZGVudGlmaWVyLCBzbyB3ZSBtaWdodCB3YW50IHRvIGhhbmRsZSBmbG93L3R5cGVzY3JpcHQtc3BlY2lmaWMgY2FzZXMuXG4gICAgcGFyc2VJZGVudGlmaWVyU3RhdGVtZW50KHNpbXBsZU5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIHdlJ3JlIHBvc2l0aW9uZWQgYXQgYW4gYGF3YWl0IHVzaW5nYCBkZWNsYXJhdGlvbi5cbiAqXG4gKiBOb3RlIHRoYXQgdGhpcyBjYW4gaGFwcGVuIGVpdGhlciBpbiBwbGFjZSBvZiBhIHJlZ3VsYXIgdmFyaWFibGUgZGVjbGFyYXRpb25cbiAqIG9yIGluIGEgbG9vcCBib2R5LCBhbmQgaW4gYm90aCBwbGFjZXMsIHRoZXJlIGFyZSBzaW1pbGFyLWxvb2tpbmcgY2FzZXMgd2hlcmVcbiAqIHdlIG5lZWQgdG8gcmV0dXJuIGZhbHNlLlxuICpcbiAqIEV4YW1wbGVzIHJldHVybmluZyB0cnVlOlxuICogYXdhaXQgdXNpbmcgZm9vID0gYmFyKCk7XG4gKiBmb3IgKGF3YWl0IHVzaW5nIGEgb2YgYikge31cbiAqXG4gKiBFeGFtcGxlcyByZXR1cm5pbmcgZmFsc2U6XG4gKiBhd2FpdCB1c2luZ1xuICogYXdhaXQgdXNpbmcgKyAxXG4gKiBhd2FpdCB1c2luZyBpbnN0YW5jZW9mIFRcbiAqIGZvciAoYXdhaXQgdXNpbmc7Oykge31cbiAqXG4gKiBGb3Igbm93LCB3ZSBlYXJseSByZXR1cm4gaWYgd2UgZG9uJ3Qgc2VlIGBhd2FpdGAsIHRoZW4gZG8gYSBzaW1wbGVcbiAqIGJhY2t0cmFja2luZy1iYXNlZCBsb29rYWhlYWQgZm9yIHRoZSBgdXNpbmdgIGFuZCBpZGVudGlmaWVyIHRva2Vucy4gSW4gdGhlXG4gKiBmdXR1cmUsIHRoaXMgY291bGQgYmUgb3B0aW1pemVkIHdpdGggYSBjaGFyYWN0ZXItYmFzZWQgYXBwcm9hY2guXG4gKi9cbmZ1bmN0aW9uIHN0YXJ0c0F3YWl0VXNpbmcoKSB7XG4gIGlmICghaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hd2FpdCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICAvLyBhd2FpdFxuICBuZXh0KCk7XG4gIGlmICghaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl91c2luZykgfHwgaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpIHtcbiAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gdXNpbmdcbiAgbmV4dCgpO1xuICBpZiAoIW1hdGNoKHR0Lm5hbWUpIHx8IGhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSB7XG4gICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGVjb3JhdG9ycygpIHtcbiAgd2hpbGUgKG1hdGNoKHR0LmF0KSkge1xuICAgIHBhcnNlRGVjb3JhdG9yKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VEZWNvcmF0b3IoKSB7XG4gIG5leHQoKTtcbiAgaWYgKGVhdCh0dC5wYXJlbkwpKSB7XG4gICAgcGFyc2VFeHByZXNzaW9uKCk7XG4gICAgZXhwZWN0KHR0LnBhcmVuUik7XG4gIH0gZWxzZSB7XG4gICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gICAgd2hpbGUgKGVhdCh0dC5kb3QpKSB7XG4gICAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgICB9XG4gICAgcGFyc2VNYXliZURlY29yYXRvckFyZ3VtZW50cygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNQYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKCk7XG4gIH0gZWxzZSB7XG4gICAgYmFzZVBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFzZVBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoKSB7XG4gIGlmIChlYXQodHQucGFyZW5MKSkge1xuICAgIHBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUJyZWFrQ29udGludWVTdGF0ZW1lbnQoKSB7XG4gIG5leHQoKTtcbiAgaWYgKCFpc0xpbmVUZXJtaW5hdG9yKCkpIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgICBzZW1pY29sb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZURlYnVnZ2VyU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBwYXJzZURvU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlU3RhdGVtZW50KGZhbHNlKTtcbiAgZXhwZWN0KHR0Ll93aGlsZSk7XG4gIHBhcnNlUGFyZW5FeHByZXNzaW9uKCk7XG4gIGVhdCh0dC5zZW1pKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VGb3JTdGF0ZW1lbnQoKSB7XG4gIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgcGFyc2VBbWJpZ3VvdXNGb3JTdGF0ZW1lbnQoKTtcbiAgY29uc3QgZW5kVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHN0YXRlLnNjb3Blcy5wdXNoKG5ldyBTY29wZShzdGFydFRva2VuSW5kZXgsIGVuZFRva2VuSW5kZXgsIGZhbHNlKSk7XG4gIHN0YXRlLnNjb3BlRGVwdGgtLTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgdGhpcyB0b2tlbiBpcyBhIGB1c2luZ2AgZGVjbGFyYXRpb24gKGV4cGxpY2l0IHJlc291cmNlXG4gKiBtYW5hZ2VtZW50KSBhcyBwYXJ0IG9mIGEgbG9vcC5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLWV4cGxpY2l0LXJlc291cmNlLW1hbmFnZW1lbnRcbiAqL1xuZnVuY3Rpb24gaXNVc2luZ0luTG9vcCgpIHtcbiAgaWYgKCFpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3VzaW5nKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvLyBUaGlzIG11c3QgYmUgYGZvciAodXNpbmcgb2ZgLCB3aGVyZSBgdXNpbmdgIGlzIHRoZSBuYW1lIG9mIHRoZSBsb29wXG4gIC8vIHZhcmlhYmxlLlxuICBpZiAoaXNMb29rYWhlYWRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vZikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8vIERpc2FtYmlndWF0aW5nIGJldHdlZW4gYSBgZm9yYCBhbmQgYSBgZm9yYC9gaW5gIG9yIGBmb3JgL2BvZmBcbi8vIGxvb3AgaXMgbm9uLXRyaXZpYWwuIEJhc2ljYWxseSwgd2UgaGF2ZSB0byBwYXJzZSB0aGUgaW5pdCBgdmFyYFxuLy8gc3RhdGVtZW50IG9yIGV4cHJlc3Npb24sIGRpc2FsbG93aW5nIHRoZSBgaW5gIG9wZXJhdG9yIChzZWVcbi8vIHRoZSBzZWNvbmQgcGFyYW1ldGVyIHRvIGBwYXJzZUV4cHJlc3Npb25gKSwgYW5kIHRoZW4gY2hlY2tcbi8vIHdoZXRoZXIgdGhlIG5leHQgdG9rZW4gaXMgYGluYCBvciBgb2ZgLiBXaGVuIHRoZXJlIGlzIG5vIGluaXRcbi8vIHBhcnQgKHNlbWljb2xvbiBpbW1lZGlhdGVseSBhZnRlciB0aGUgb3BlbmluZyBwYXJlbnRoZXNpcyksIGl0XG4vLyBpcyBhIHJlZ3VsYXIgYGZvcmAgbG9vcC5cbmZ1bmN0aW9uIHBhcnNlQW1iaWd1b3VzRm9yU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG5cbiAgbGV0IGZvckF3YWl0ID0gZmFsc2U7XG4gIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2F3YWl0KSkge1xuICAgIGZvckF3YWl0ID0gdHJ1ZTtcbiAgICBuZXh0KCk7XG4gIH1cbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG5cbiAgaWYgKG1hdGNoKHR0LnNlbWkpKSB7XG4gICAgaWYgKGZvckF3YWl0KSB7XG4gICAgICB1bmV4cGVjdGVkKCk7XG4gICAgfVxuICAgIHBhcnNlRm9yKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgaXNBd2FpdFVzaW5nID0gc3RhcnRzQXdhaXRVc2luZygpO1xuICBpZiAoaXNBd2FpdFVzaW5nIHx8IG1hdGNoKHR0Ll92YXIpIHx8IG1hdGNoKHR0Ll9sZXQpIHx8IG1hdGNoKHR0Ll9jb25zdCkgfHwgaXNVc2luZ0luTG9vcCgpKSB7XG4gICAgaWYgKGlzQXdhaXRVc2luZykge1xuICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXdhaXQpO1xuICAgIH1cbiAgICBuZXh0KCk7XG4gICAgcGFyc2VWYXIodHJ1ZSwgc3RhdGUudHlwZSAhPT0gdHQuX3Zhcik7XG4gICAgaWYgKG1hdGNoKHR0Ll9pbikgfHwgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vZikpIHtcbiAgICAgIHBhcnNlRm9ySW4oZm9yQXdhaXQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBwYXJzZUZvcigpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHBhcnNlRXhwcmVzc2lvbih0cnVlKTtcbiAgaWYgKG1hdGNoKHR0Ll9pbikgfHwgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vZikpIHtcbiAgICBwYXJzZUZvckluKGZvckF3YWl0KTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGZvckF3YWl0KSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG4gIHBhcnNlRm9yKCk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlRnVuY3Rpb25TdGF0ZW1lbnQoKSB7XG4gIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgbmV4dCgpO1xuICBwYXJzZUZ1bmN0aW9uKGZ1bmN0aW9uU3RhcnQsIHRydWUpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUlmU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlUGFyZW5FeHByZXNzaW9uKCk7XG4gIHBhcnNlU3RhdGVtZW50KGZhbHNlKTtcbiAgaWYgKGVhdCh0dC5fZWxzZSkpIHtcbiAgICBwYXJzZVN0YXRlbWVudChmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoKSB7XG4gIG5leHQoKTtcblxuICAvLyBJbiBgcmV0dXJuYCAoYW5kIGBicmVha2AvYGNvbnRpbnVlYCksIHRoZSBrZXl3b3JkcyB3aXRoXG4gIC8vIG9wdGlvbmFsIGFyZ3VtZW50cywgd2UgZWFnZXJseSBsb29rIGZvciBhIHNlbWljb2xvbiBvciB0aGVcbiAgLy8gcG9zc2liaWxpdHkgdG8gaW5zZXJ0IG9uZS5cblxuICBpZiAoIWlzTGluZVRlcm1pbmF0b3IoKSkge1xuICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgIHNlbWljb2xvbigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3dpdGNoU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlUGFyZW5FeHByZXNzaW9uKCk7XG4gIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG5cbiAgLy8gRG9uJ3QgYm90aGVyIHZhbGlkYXRpb247IGp1c3QgZ28gdGhyb3VnaCBhbnkgc2VxdWVuY2Ugb2YgY2FzZXMsIGRlZmF1bHRzLCBhbmQgc3RhdGVtZW50cy5cbiAgd2hpbGUgKCFtYXRjaCh0dC5icmFjZVIpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGlmIChtYXRjaCh0dC5fY2FzZSkgfHwgbWF0Y2godHQuX2RlZmF1bHQpKSB7XG4gICAgICBjb25zdCBpc0Nhc2UgPSBtYXRjaCh0dC5fY2FzZSk7XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAoaXNDYXNlKSB7XG4gICAgICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgfVxuICAgICAgZXhwZWN0KHR0LmNvbG9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VTdGF0ZW1lbnQodHJ1ZSk7XG4gICAgfVxuICB9XG4gIG5leHQoKTsgLy8gQ2xvc2luZyBicmFjZVxuICBjb25zdCBlbmRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgc3RhdGUuc2NvcGVzLnB1c2gobmV3IFNjb3BlKHN0YXJ0VG9rZW5JbmRleCwgZW5kVG9rZW5JbmRleCwgZmFsc2UpKTtcbiAgc3RhdGUuc2NvcGVEZXB0aC0tO1xufVxuXG5mdW5jdGlvbiBwYXJzZVRocm93U3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlRXhwcmVzc2lvbigpO1xuICBzZW1pY29sb24oKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VDYXRjaENsYXVzZVBhcmFtKCkge1xuICBwYXJzZUJpbmRpbmdBdG9tKHRydWUgLyogaXNCbG9ja1Njb3BlICovKTtcblxuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlVHJ5U3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG5cbiAgcGFyc2VCbG9jaygpO1xuXG4gIGlmIChtYXRjaCh0dC5fY2F0Y2gpKSB7XG4gICAgbmV4dCgpO1xuICAgIGxldCBjYXRjaEJpbmRpbmdTdGFydFRva2VuSW5kZXggPSBudWxsO1xuICAgIGlmIChtYXRjaCh0dC5wYXJlbkwpKSB7XG4gICAgICBzdGF0ZS5zY29wZURlcHRoKys7XG4gICAgICBjYXRjaEJpbmRpbmdTdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgICAgZXhwZWN0KHR0LnBhcmVuTCk7XG4gICAgICBwYXJzZUNhdGNoQ2xhdXNlUGFyYW0oKTtcbiAgICAgIGV4cGVjdCh0dC5wYXJlblIpO1xuICAgIH1cbiAgICBwYXJzZUJsb2NrKCk7XG4gICAgaWYgKGNhdGNoQmluZGluZ1N0YXJ0VG9rZW5JbmRleCAhPSBudWxsKSB7XG4gICAgICAvLyBXZSBuZWVkIGEgc3BlY2lhbCBzY29wZSBmb3IgdGhlIGNhdGNoIGJpbmRpbmcgd2hpY2ggaW5jbHVkZXMgdGhlIGJpbmRpbmcgaXRzZWxmIGFuZCB0aGVcbiAgICAgIC8vIGNhdGNoIGJsb2NrLlxuICAgICAgY29uc3QgZW5kVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gICAgICBzdGF0ZS5zY29wZXMucHVzaChuZXcgU2NvcGUoY2F0Y2hCaW5kaW5nU3RhcnRUb2tlbkluZGV4LCBlbmRUb2tlbkluZGV4LCBmYWxzZSkpO1xuICAgICAgc3RhdGUuc2NvcGVEZXB0aC0tO1xuICAgIH1cbiAgfVxuICBpZiAoZWF0KHR0Ll9maW5hbGx5KSkge1xuICAgIHBhcnNlQmxvY2soKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VWYXJTdGF0ZW1lbnQoaXNCbG9ja1Njb3BlKSB7XG4gIG5leHQoKTtcbiAgcGFyc2VWYXIoZmFsc2UsIGlzQmxvY2tTY29wZSk7XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBwYXJzZVdoaWxlU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlUGFyZW5FeHByZXNzaW9uKCk7XG4gIHBhcnNlU3RhdGVtZW50KGZhbHNlKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VFbXB0eVN0YXRlbWVudCgpIHtcbiAgbmV4dCgpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUxhYmVsZWRTdGF0ZW1lbnQoKSB7XG4gIHBhcnNlU3RhdGVtZW50KHRydWUpO1xufVxuXG4vKipcbiAqIFBhcnNlIGEgc3RhdGVtZW50IHN0YXJ0aW5nIHdpdGggYW4gaWRlbnRpZmllciBvZiB0aGUgZ2l2ZW4gbmFtZS4gU3ViY2xhc3NlcyBtYXRjaCBvbiB0aGUgbmFtZVxuICogdG8gaGFuZGxlIHN0YXRlbWVudHMgbGlrZSBcImRlY2xhcmVcIi5cbiAqL1xuZnVuY3Rpb24gcGFyc2VJZGVudGlmaWVyU3RhdGVtZW50KGNvbnRleHR1YWxLZXl3b3JkKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNQYXJzZUlkZW50aWZpZXJTdGF0ZW1lbnQoY29udGV4dHVhbEtleXdvcmQpO1xuICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VJZGVudGlmaWVyU3RhdGVtZW50KGNvbnRleHR1YWxLZXl3b3JkKTtcbiAgfSBlbHNlIHtcbiAgICBzZW1pY29sb24oKTtcbiAgfVxufVxuXG4vLyBQYXJzZSBhIHNlbWljb2xvbi1lbmNsb3NlZCBibG9jayBvZiBzdGF0ZW1lbnRzLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmxvY2soaXNGdW5jdGlvblNjb3BlID0gZmFsc2UsIGNvbnRleHRJZCA9IDApIHtcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICBleHBlY3QodHQuYnJhY2VMKTtcbiAgaWYgKGNvbnRleHRJZCkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uY29udGV4dElkID0gY29udGV4dElkO1xuICB9XG4gIHBhcnNlQmxvY2tCb2R5KHR0LmJyYWNlUik7XG4gIGlmIChjb250ZXh0SWQpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbiAgfVxuICBjb25zdCBlbmRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgc3RhdGUuc2NvcGVzLnB1c2gobmV3IFNjb3BlKHN0YXJ0VG9rZW5JbmRleCwgZW5kVG9rZW5JbmRleCwgaXNGdW5jdGlvblNjb3BlKSk7XG4gIHN0YXRlLnNjb3BlRGVwdGgtLTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmxvY2tCb2R5KGVuZCkge1xuICB3aGlsZSAoIWVhdChlbmQpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIHBhcnNlU3RhdGVtZW50KHRydWUpO1xuICB9XG59XG5cbi8vIFBhcnNlIGEgcmVndWxhciBgZm9yYCBsb29wLiBUaGUgZGlzYW1iaWd1YXRpb24gY29kZSBpblxuLy8gYHBhcnNlU3RhdGVtZW50YCB3aWxsIGFscmVhZHkgaGF2ZSBwYXJzZWQgdGhlIGluaXQgc3RhdGVtZW50IG9yXG4vLyBleHByZXNzaW9uLlxuXG5mdW5jdGlvbiBwYXJzZUZvcigpIHtcbiAgZXhwZWN0KHR0LnNlbWkpO1xuICBpZiAoIW1hdGNoKHR0LnNlbWkpKSB7XG4gICAgcGFyc2VFeHByZXNzaW9uKCk7XG4gIH1cbiAgZXhwZWN0KHR0LnNlbWkpO1xuICBpZiAoIW1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICBwYXJzZUV4cHJlc3Npb24oKTtcbiAgfVxuICBleHBlY3QodHQucGFyZW5SKTtcbiAgcGFyc2VTdGF0ZW1lbnQoZmFsc2UpO1xufVxuXG4vLyBQYXJzZSBhIGBmb3JgL2BpbmAgYW5kIGBmb3JgL2BvZmAgbG9vcCwgd2hpY2ggYXJlIGFsbW9zdFxuLy8gc2FtZSBmcm9tIHBhcnNlcidzIHBlcnNwZWN0aXZlLlxuXG5mdW5jdGlvbiBwYXJzZUZvckluKGZvckF3YWl0KSB7XG4gIGlmIChmb3JBd2FpdCkge1xuICAgIGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX29mKTtcbiAgfSBlbHNlIHtcbiAgICBuZXh0KCk7XG4gIH1cbiAgcGFyc2VFeHByZXNzaW9uKCk7XG4gIGV4cGVjdCh0dC5wYXJlblIpO1xuICBwYXJzZVN0YXRlbWVudChmYWxzZSk7XG59XG5cbi8vIFBhcnNlIGEgbGlzdCBvZiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMuXG5cbmZ1bmN0aW9uIHBhcnNlVmFyKGlzRm9yLCBpc0Jsb2NrU2NvcGUpIHtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICBwYXJzZVZhckhlYWQoaXNCbG9ja1Njb3BlKTtcbiAgICBpZiAoZWF0KHR0LmVxKSkge1xuICAgICAgY29uc3QgZXFJbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGggLSAxO1xuICAgICAgcGFyc2VNYXliZUFzc2lnbihpc0Zvcik7XG4gICAgICBzdGF0ZS50b2tlbnNbZXFJbmRleF0ucmhzRW5kSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgIH1cbiAgICBpZiAoIWVhdCh0dC5jb21tYSkpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZVZhckhlYWQoaXNCbG9ja1Njb3BlKSB7XG4gIHBhcnNlQmluZGluZ0F0b20oaXNCbG9ja1Njb3BlKTtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c0FmdGVyUGFyc2VWYXJIZWFkKCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGZsb3dBZnRlclBhcnNlVmFySGVhZCgpO1xuICB9XG59XG5cbi8vIFBhcnNlIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gb3IgbGl0ZXJhbCAoZGVwZW5kaW5nIG9uIHRoZVxuLy8gYGlzU3RhdGVtZW50YCBwYXJhbWV0ZXIpLlxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGdW5jdGlvbihcbiAgZnVuY3Rpb25TdGFydCxcbiAgaXNTdGF0ZW1lbnQsXG4gIG9wdGlvbmFsSWQgPSBmYWxzZSxcbikge1xuICBpZiAobWF0Y2godHQuc3RhcikpIHtcbiAgICBuZXh0KCk7XG4gIH1cblxuICBpZiAoaXNTdGF0ZW1lbnQgJiYgIW9wdGlvbmFsSWQgJiYgIW1hdGNoKHR0Lm5hbWUpICYmICFtYXRjaCh0dC5feWllbGQpKSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG5cbiAgbGV0IG5hbWVTY29wZVN0YXJ0VG9rZW5JbmRleCA9IG51bGw7XG5cbiAgaWYgKG1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgLy8gRXhwcmVzc2lvbi1zdHlsZSBmdW5jdGlvbnMgc2hvdWxkIGxpbWl0IHRoZWlyIG5hbWUncyBzY29wZSB0byB0aGUgZnVuY3Rpb24gYm9keSwgc28gd2UgbWFrZVxuICAgIC8vIGEgbmV3IGZ1bmN0aW9uIHNjb3BlIHRvIGVuZm9yY2UgdGhhdC5cbiAgICBpZiAoIWlzU3RhdGVtZW50KSB7XG4gICAgICBuYW1lU2NvcGVTdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgICAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICAgIH1cbiAgICBwYXJzZUJpbmRpbmdJZGVudGlmaWVyKGZhbHNlKTtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0VG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICBwYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChmdW5jdGlvblN0YXJ0KTtcbiAgY29uc3QgZW5kVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIC8vIEluIGFkZGl0aW9uIHRvIHRoZSBibG9jayBzY29wZSBvZiB0aGUgZnVuY3Rpb24gYm9keSwgd2UgbmVlZCBhIHNlcGFyYXRlIGZ1bmN0aW9uLXN0eWxlIHNjb3BlXG4gIC8vIHRoYXQgaW5jbHVkZXMgdGhlIHBhcmFtcy5cbiAgc3RhdGUuc2NvcGVzLnB1c2gobmV3IFNjb3BlKHN0YXJ0VG9rZW5JbmRleCwgZW5kVG9rZW5JbmRleCwgdHJ1ZSkpO1xuICBzdGF0ZS5zY29wZURlcHRoLS07XG4gIGlmIChuYW1lU2NvcGVTdGFydFRva2VuSW5kZXggIT09IG51bGwpIHtcbiAgICBzdGF0ZS5zY29wZXMucHVzaChuZXcgU2NvcGUobmFtZVNjb3BlU3RhcnRUb2tlbkluZGV4LCBlbmRUb2tlbkluZGV4LCB0cnVlKSk7XG4gICAgc3RhdGUuc2NvcGVEZXB0aC0tO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUZ1bmN0aW9uUGFyYW1zKFxuICBhbGxvd01vZGlmaWVycyA9IGZhbHNlLFxuICBmdW5jQ29udGV4dElkID0gMCxcbikge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzU3RhcnRQYXJzZUZ1bmN0aW9uUGFyYW1zKCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGZsb3dTdGFydFBhcnNlRnVuY3Rpb25QYXJhbXMoKTtcbiAgfVxuXG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICBpZiAoZnVuY0NvbnRleHRJZCkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uY29udGV4dElkID0gZnVuY0NvbnRleHRJZDtcbiAgfVxuICBwYXJzZUJpbmRpbmdMaXN0KFxuICAgIHR0LnBhcmVuUixcbiAgICBmYWxzZSAvKiBpc0Jsb2NrU2NvcGUgKi8sXG4gICAgZmFsc2UgLyogYWxsb3dFbXB0eSAqLyxcbiAgICBhbGxvd01vZGlmaWVycyxcbiAgICBmdW5jQ29udGV4dElkLFxuICApO1xuICBpZiAoZnVuY0NvbnRleHRJZCkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uY29udGV4dElkID0gZnVuY0NvbnRleHRJZDtcbiAgfVxufVxuXG4vLyBQYXJzZSBhIGNsYXNzIGRlY2xhcmF0aW9uIG9yIGxpdGVyYWwgKGRlcGVuZGluZyBvbiB0aGVcbi8vIGBpc1N0YXRlbWVudGAgcGFyYW1ldGVyKS5cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQ2xhc3MoaXNTdGF0ZW1lbnQsIG9wdGlvbmFsSWQgPSBmYWxzZSkge1xuICAvLyBQdXQgYSBjb250ZXh0IElEIG9uIHRoZSBjbGFzcyBrZXl3b3JkLCB0aGUgb3Blbi1icmFjZSwgYW5kIHRoZSBjbG9zZS1icmFjZSwgc28gdGhhdCBsYXRlclxuICAvLyBjb2RlIGNhbiBlYXNpbHkgbmF2aWdhdGUgdG8gbWVhbmluZ2Z1bCBwb2ludHMgb24gdGhlIGNsYXNzLlxuICBjb25zdCBjb250ZXh0SWQgPSBnZXROZXh0Q29udGV4dElkKCk7XG5cbiAgbmV4dCgpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc0V4cHJlc3Npb24gPSAhaXNTdGF0ZW1lbnQ7XG4gIC8vIExpa2Ugd2l0aCBmdW5jdGlvbnMsIHdlIGRlY2xhcmUgYSBzcGVjaWFsIFwibmFtZSBzY29wZVwiIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBuYW1lIHRvIHRoZSBlbmRcbiAgLy8gb2YgdGhlIGNsYXNzLCBidXQgb25seSB3aXRoIGV4cHJlc3Npb24tc3R5bGUgY2xhc3NlcywgdG8gcmVwcmVzZW50IHRoZSBmYWN0IHRoYXQgdGhlIG5hbWUgaXNcbiAgLy8gYXZhaWxhYmxlIHRvIHRoZSBib2R5IG9mIHRoZSBjbGFzcyBidXQgbm90IGFuIG91dGVyIGRlY2xhcmF0aW9uLlxuICBsZXQgbmFtZVNjb3BlU3RhcnRUb2tlbkluZGV4ID0gbnVsbDtcbiAgaWYgKCFpc1N0YXRlbWVudCkge1xuICAgIG5hbWVTY29wZVN0YXJ0VG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gICAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICB9XG4gIHBhcnNlQ2xhc3NJZChpc1N0YXRlbWVudCwgb3B0aW9uYWxJZCk7XG4gIHBhcnNlQ2xhc3NTdXBlcigpO1xuICBjb25zdCBvcGVuQnJhY2VJbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHBhcnNlQ2xhc3NCb2R5KGNvbnRleHRJZCk7XG4gIGlmIChzdGF0ZS5lcnJvcikge1xuICAgIHJldHVybjtcbiAgfVxuICBzdGF0ZS50b2tlbnNbb3BlbkJyYWNlSW5kZXhdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBjb250ZXh0SWQ7XG4gIGlmIChuYW1lU2NvcGVTdGFydFRva2VuSW5kZXggIT09IG51bGwpIHtcbiAgICBjb25zdCBlbmRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgICBzdGF0ZS5zY29wZXMucHVzaChuZXcgU2NvcGUobmFtZVNjb3BlU3RhcnRUb2tlbkluZGV4LCBlbmRUb2tlbkluZGV4LCBmYWxzZSkpO1xuICAgIHN0YXRlLnNjb3BlRGVwdGgtLTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NsYXNzUHJvcGVydHkoKSB7XG4gIHJldHVybiBtYXRjaCh0dC5lcSkgfHwgbWF0Y2godHQuc2VtaSkgfHwgbWF0Y2godHQuYnJhY2VSKSB8fCBtYXRjaCh0dC5iYW5nKSB8fCBtYXRjaCh0dC5jb2xvbik7XG59XG5cbmZ1bmN0aW9uIGlzQ2xhc3NNZXRob2QoKSB7XG4gIHJldHVybiBtYXRjaCh0dC5wYXJlbkwpIHx8IG1hdGNoKHR0Lmxlc3NUaGFuKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VDbGFzc0JvZHkoY2xhc3NDb250ZXh0SWQpIHtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG5cbiAgd2hpbGUgKCFlYXQodHQuYnJhY2VSKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICBpZiAoZWF0KHR0LnNlbWkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobWF0Y2godHQuYXQpKSB7XG4gICAgICBwYXJzZURlY29yYXRvcigpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IG1lbWJlclN0YXJ0ID0gc3RhdGUuc3RhcnQ7XG4gICAgcGFyc2VDbGFzc01lbWJlcihtZW1iZXJTdGFydCwgY2xhc3NDb250ZXh0SWQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlQ2xhc3NNZW1iZXIobWVtYmVyU3RhcnQsIGNsYXNzQ29udGV4dElkKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNQYXJzZU1vZGlmaWVycyhbXG4gICAgICBDb250ZXh0dWFsS2V5d29yZC5fZGVjbGFyZSxcbiAgICAgIENvbnRleHR1YWxLZXl3b3JkLl9wdWJsaWMsXG4gICAgICBDb250ZXh0dWFsS2V5d29yZC5fcHJvdGVjdGVkLFxuICAgICAgQ29udGV4dHVhbEtleXdvcmQuX3ByaXZhdGUsXG4gICAgICBDb250ZXh0dWFsS2V5d29yZC5fb3ZlcnJpZGUsXG4gICAgXSk7XG4gIH1cbiAgbGV0IGlzU3RhdGljID0gZmFsc2U7XG4gIGlmIChtYXRjaCh0dC5uYW1lKSAmJiBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX3N0YXRpYykge1xuICAgIHBhcnNlSWRlbnRpZmllcigpOyAvLyBlYXRzICdzdGF0aWMnXG4gICAgaWYgKGlzQ2xhc3NNZXRob2QoKSkge1xuICAgICAgcGFyc2VDbGFzc01ldGhvZChtZW1iZXJTdGFydCwgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChpc0NsYXNzUHJvcGVydHkoKSkge1xuICAgICAgcGFyc2VDbGFzc1Byb3BlcnR5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIG90aGVyd2lzZSBzb21ldGhpbmcgc3RhdGljXG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX3N0YXRpYztcbiAgICBpc1N0YXRpYyA9IHRydWU7XG5cbiAgICBpZiAobWF0Y2godHQuYnJhY2VMKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIHN0YXRpYyBibG9jay4gTWFyayB0aGUgd29yZCBcInN0YXRpY1wiIHdpdGggdGhlIGNsYXNzIGNvbnRleHQgSUQgZm9yIGNsYXNzIGVsZW1lbnRcbiAgICAgIC8vIGRldGVjdGlvbiBhbmQgcGFyc2UgYXMgYSByZWd1bGFyIGJsb2NrLlxuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBjbGFzc0NvbnRleHRJZDtcbiAgICAgIHBhcnNlQmxvY2soKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKG1lbWJlclN0YXJ0LCBpc1N0YXRpYywgY2xhc3NDb250ZXh0SWQpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKFxuICBtZW1iZXJTdGFydCxcbiAgaXNTdGF0aWMsXG4gIGNsYXNzQ29udGV4dElkLFxuKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgaWYgKHRzVHJ5UGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyhpc1N0YXRpYykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbiAgaWYgKGVhdCh0dC5zdGFyKSkge1xuICAgIC8vIGEgZ2VuZXJhdG9yXG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5TmFtZShjbGFzc0NvbnRleHRJZCk7XG4gICAgcGFyc2VDbGFzc01ldGhvZChtZW1iZXJTdGFydCwgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBpZGVudGlmaWVyIG5hbWUgc28gd2UgY2FuIHRlbGwgaWYgaXQncyBhY3R1YWxseSBhIGtleXdvcmQgbGlrZSBcImFzeW5jXCIsIFwiZ2V0XCIsIG9yXG4gIC8vIFwic2V0XCIuXG4gIHBhcnNlQ2xhc3NQcm9wZXJ0eU5hbWUoY2xhc3NDb250ZXh0SWQpO1xuICBsZXQgaXNDb25zdHJ1Y3RvciA9IGZhbHNlO1xuICBjb25zdCB0b2tlbiA9IHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV07XG4gIC8vIFdlIGFsbG93IFwiY29uc3RydWN0b3JcIiBhcyBlaXRoZXIgYW4gaWRlbnRpZmllciBvciBhIHN0cmluZy5cbiAgaWYgKHRva2VuLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fY29uc3RydWN0b3IpIHtcbiAgICBpc0NvbnN0cnVjdG9yID0gdHJ1ZTtcbiAgfVxuICBwYXJzZVBvc3RNZW1iZXJOYW1lTW9kaWZpZXJzKCk7XG5cbiAgaWYgKGlzQ2xhc3NNZXRob2QoKSkge1xuICAgIHBhcnNlQ2xhc3NNZXRob2QobWVtYmVyU3RhcnQsIGlzQ29uc3RydWN0b3IpO1xuICB9IGVsc2UgaWYgKGlzQ2xhc3NQcm9wZXJ0eSgpKSB7XG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5KCk7XG4gIH0gZWxzZSBpZiAodG9rZW4uY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hc3luYyAmJiAhaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2FzeW5jO1xuICAgIC8vIGFuIGFzeW5jIG1ldGhvZFxuICAgIGNvbnN0IGlzR2VuZXJhdG9yID0gbWF0Y2godHQuc3Rhcik7XG4gICAgaWYgKGlzR2VuZXJhdG9yKSB7XG4gICAgICBuZXh0KCk7XG4gICAgfVxuXG4gICAgLy8gVGhlIHNvLWNhbGxlZCBwYXJzZWQgbmFtZSB3b3VsZCBoYXZlIGJlZW4gXCJhc3luY1wiOiBnZXQgdGhlIHJlYWwgbmFtZS5cbiAgICBwYXJzZUNsYXNzUHJvcGVydHlOYW1lKGNsYXNzQ29udGV4dElkKTtcbiAgICBwYXJzZVBvc3RNZW1iZXJOYW1lTW9kaWZpZXJzKCk7XG4gICAgcGFyc2VDbGFzc01ldGhvZChtZW1iZXJTdGFydCwgZmFsc2UgLyogaXNDb25zdHJ1Y3RvciAqLyk7XG4gIH0gZWxzZSBpZiAoXG4gICAgKHRva2VuLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fZ2V0IHx8XG4gICAgICB0b2tlbi5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX3NldCkgJiZcbiAgICAhKGlzTGluZVRlcm1pbmF0b3IoKSAmJiBtYXRjaCh0dC5zdGFyKSlcbiAgKSB7XG4gICAgaWYgKHRva2VuLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fZ2V0KSB7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fZ2V0O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fc2V0O1xuICAgIH1cbiAgICAvLyBgZ2V0XFxuKmAgaXMgYW4gdW5pbml0aWFsaXplZCBwcm9wZXJ0eSBuYW1lZCAnZ2V0JyBmb2xsb3dlZCBieSBhIGdlbmVyYXRvci5cbiAgICAvLyBhIGdldHRlciBvciBzZXR0ZXJcbiAgICAvLyBUaGUgc28tY2FsbGVkIHBhcnNlZCBuYW1lIHdvdWxkIGhhdmUgYmVlbiBcImdldC9zZXRcIjogZ2V0IHRoZSByZWFsIG5hbWUuXG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5TmFtZShjbGFzc0NvbnRleHRJZCk7XG4gICAgcGFyc2VDbGFzc01ldGhvZChtZW1iZXJTdGFydCwgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSk7XG4gIH0gZWxzZSBpZiAodG9rZW4uY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hY2Nlc3NvciAmJiAhaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5TmFtZShjbGFzc0NvbnRleHRJZCk7XG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5KCk7XG4gIH0gZWxzZSBpZiAoaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgLy8gYW4gdW5pbml0aWFsaXplZCBjbGFzcyBwcm9wZXJ0eSAoZHVlIHRvIEFTSSwgc2luY2Ugd2UgZG9uJ3Qgb3RoZXJ3aXNlIHJlY29nbml6ZSB0aGUgbmV4dCB0b2tlbilcbiAgICBwYXJzZUNsYXNzUHJvcGVydHkoKTtcbiAgfSBlbHNlIHtcbiAgICB1bmV4cGVjdGVkKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VDbGFzc01ldGhvZChmdW5jdGlvblN0YXJ0LCBpc0NvbnN0cnVjdG9yKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzKCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwYXJzZU1ldGhvZChmdW5jdGlvblN0YXJ0LCBpc0NvbnN0cnVjdG9yKTtcbn1cblxuLy8gUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBjbGFzcyBwcm9wZXJ0eSwgaWYgaXQgaXMgYSBzaW1wbGUgaWRlbnRpZmllci5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNsYXNzUHJvcGVydHlOYW1lKGNsYXNzQ29udGV4dElkKSB7XG4gIHBhcnNlUHJvcGVydHlOYW1lKGNsYXNzQ29udGV4dElkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUG9zdE1lbWJlck5hbWVNb2RpZmllcnMoKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICAgIGVhdCh0dC5xdWVzdGlvbik7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDbGFzc1Byb3BlcnR5KCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIGVhdFR5cGVUb2tlbih0dC5iYW5nKTtcbiAgICB0c1RyeVBhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgfSBlbHNlIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBpZiAobWF0Y2godHQuZXEpKSB7XG4gICAgY29uc3QgZXF1YWxzVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gICAgbmV4dCgpO1xuICAgIHBhcnNlTWF5YmVBc3NpZ24oKTtcbiAgICBzdGF0ZS50b2tlbnNbZXF1YWxzVG9rZW5JbmRleF0ucmhzRW5kSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICB9XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNsYXNzSWQoaXNTdGF0ZW1lbnQsIG9wdGlvbmFsSWQgPSBmYWxzZSkge1xuICBpZiAoXG4gICAgaXNUeXBlU2NyaXB0RW5hYmxlZCAmJlxuICAgICghaXNTdGF0ZW1lbnQgfHwgb3B0aW9uYWxJZCkgJiZcbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2ltcGxlbWVudHMpXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChtYXRjaCh0dC5uYW1lKSkge1xuICAgIHBhcnNlQmluZGluZ0lkZW50aWZpZXIodHJ1ZSk7XG4gIH1cblxuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycygpO1xuICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmV0dXJucyB0cnVlIGlmIHRoZXJlIHdhcyBhIHN1cGVyY2xhc3MuXG5mdW5jdGlvbiBwYXJzZUNsYXNzU3VwZXIoKSB7XG4gIGxldCBoYXNTdXBlciA9IGZhbHNlO1xuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIHBhcnNlRXhwclN1YnNjcmlwdHMoKTtcbiAgICBoYXNTdXBlciA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgaGFzU3VwZXIgPSBmYWxzZTtcbiAgfVxuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzQWZ0ZXJQYXJzZUNsYXNzU3VwZXIoaGFzU3VwZXIpO1xuICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93QWZ0ZXJQYXJzZUNsYXNzU3VwZXIoaGFzU3VwZXIpO1xuICB9XG59XG5cbi8vIFBhcnNlcyBtb2R1bGUgZXhwb3J0IGRlY2xhcmF0aW9uLlxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFeHBvcnQoKSB7XG4gIGNvbnN0IGV4cG9ydEluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aCAtIDE7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgaWYgKHRzVHJ5UGFyc2VFeHBvcnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICAvLyBleHBvcnQgKiBmcm9tICcuLi4nXG4gIGlmIChzaG91bGRQYXJzZUV4cG9ydFN0YXIoKSkge1xuICAgIHBhcnNlRXhwb3J0U3RhcigpO1xuICB9IGVsc2UgaWYgKGlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpKSB7XG4gICAgLy8gZXhwb3J0IGRlZmF1bHQgZnJvbVxuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIGlmIChtYXRjaCh0dC5jb21tYSkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5zdGFyKSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgICAgZXhwZWN0KHR0LnN0YXIpO1xuICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpO1xuICAgICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlRXhwb3J0U3BlY2lmaWVyc01heWJlKCk7XG4gICAgfVxuICAgIHBhcnNlRXhwb3J0RnJvbSgpO1xuICB9IGVsc2UgaWYgKGVhdCh0dC5fZGVmYXVsdCkpIHtcbiAgICAvLyBleHBvcnQgZGVmYXVsdCAuLi5cbiAgICBwYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uKCk7XG4gIH0gZWxzZSBpZiAoc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpKSB7XG4gICAgcGFyc2VFeHBvcnREZWNsYXJhdGlvbigpO1xuICB9IGVsc2Uge1xuICAgIC8vIGV4cG9ydCB7IHgsIHkgYXMgeiB9IFtmcm9tICcuLi4nXVxuICAgIHBhcnNlRXhwb3J0U3BlY2lmaWVycygpO1xuICAgIHBhcnNlRXhwb3J0RnJvbSgpO1xuICB9XG4gIHN0YXRlLnRva2Vuc1tleHBvcnRJbmRleF0ucmhzRW5kSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBwYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uKCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIGlmICh0c1RyeVBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGlmIChmbG93VHJ5UGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgaWYgKGVhdCh0dC5fZnVuY3Rpb24pKSB7XG4gICAgcGFyc2VGdW5jdGlvbihmdW5jdGlvblN0YXJ0LCB0cnVlLCB0cnVlKTtcbiAgfSBlbHNlIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSAmJiBsb29rYWhlYWRUeXBlKCkgPT09IHR0Ll9mdW5jdGlvbikge1xuICAgIC8vIGFzeW5jIGZ1bmN0aW9uIGRlY2xhcmF0aW9uXG4gICAgZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXN5bmMpO1xuICAgIGVhdCh0dC5fZnVuY3Rpb24pO1xuICAgIHBhcnNlRnVuY3Rpb24oZnVuY3Rpb25TdGFydCwgdHJ1ZSwgdHJ1ZSk7XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuX2NsYXNzKSkge1xuICAgIHBhcnNlQ2xhc3ModHJ1ZSwgdHJ1ZSk7XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuYXQpKSB7XG4gICAgcGFyc2VEZWNvcmF0b3JzKCk7XG4gICAgcGFyc2VDbGFzcyh0cnVlLCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZU1heWJlQXNzaWduKCk7XG4gICAgc2VtaWNvbG9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VFeHBvcnREZWNsYXJhdGlvbigpIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c1BhcnNlRXhwb3J0RGVjbGFyYXRpb24oKTtcbiAgfSBlbHNlIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgZmxvd1BhcnNlRXhwb3J0RGVjbGFyYXRpb24oKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZVN0YXRlbWVudCh0cnVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkICYmIHRzSXNEZWNsYXJhdGlvblN0YXJ0KCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCAmJiBmbG93U2hvdWxkRGlzYWxsb3dFeHBvcnREZWZhdWx0U3BlY2lmaWVyKCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKG1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgcmV0dXJuIHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkICE9PSBDb250ZXh0dWFsS2V5d29yZC5fYXN5bmM7XG4gIH1cblxuICBpZiAoIW1hdGNoKHR0Ll9kZWZhdWx0KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IF9uZXh0ID0gbmV4dFRva2VuU3RhcnQoKTtcbiAgY29uc3QgbG9va2FoZWFkID0gbG9va2FoZWFkVHlwZUFuZEtleXdvcmQoKTtcbiAgY29uc3QgaGFzRnJvbSA9XG4gICAgbG9va2FoZWFkLnR5cGUgPT09IHR0Lm5hbWUgJiYgbG9va2FoZWFkLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fZnJvbTtcbiAgaWYgKGxvb2thaGVhZC50eXBlID09PSB0dC5jb21tYSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8vIGxvb2thaGVhZCBhZ2FpbiB3aGVuIGBleHBvcnQgZGVmYXVsdCBmcm9tYCBpcyBzZWVuXG4gIGlmIChoYXNGcm9tKSB7XG4gICAgY29uc3QgbmV4dEFmdGVyRnJvbSA9IGlucHV0LmNoYXJDb2RlQXQobmV4dFRva2VuU3RhcnRTaW5jZShfbmV4dCArIDQpKTtcbiAgICByZXR1cm4gbmV4dEFmdGVyRnJvbSA9PT0gY2hhckNvZGVzLnF1b3RhdGlvbk1hcmsgfHwgbmV4dEFmdGVyRnJvbSA9PT0gY2hhckNvZGVzLmFwb3N0cm9waGU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwYXJzZUV4cG9ydFNwZWNpZmllcnNNYXliZSgpIHtcbiAgaWYgKGVhdCh0dC5jb21tYSkpIHtcbiAgICBwYXJzZUV4cG9ydFNwZWNpZmllcnMoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFeHBvcnRGcm9tKCkge1xuICBpZiAoZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkpIHtcbiAgICBwYXJzZUV4cHJBdG9tKCk7XG4gICAgbWF5YmVQYXJzZUltcG9ydEF0dHJpYnV0ZXMoKTtcbiAgfVxuICBzZW1pY29sb24oKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkUGFyc2VFeHBvcnRTdGFyKCkge1xuICBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIHJldHVybiBmbG93U2hvdWxkUGFyc2VFeHBvcnRTdGFyKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG1hdGNoKHR0LnN0YXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlRXhwb3J0U3RhcigpIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VFeHBvcnRTdGFyKCk7XG4gIH0gZWxzZSB7XG4gICAgYmFzZVBhcnNlRXhwb3J0U3RhcigpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYXNlUGFyc2VFeHBvcnRTdGFyKCkge1xuICBleHBlY3QodHQuc3Rhcik7XG5cbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpKSB7XG4gICAgcGFyc2VFeHBvcnROYW1lc3BhY2UoKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUV4cG9ydEZyb20oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUV4cG9ydE5hbWVzcGFjZSgpIHtcbiAgbmV4dCgpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fYXM7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBwYXJzZUV4cG9ydFNwZWNpZmllcnNNYXliZSgpO1xuICBwYXJzZUV4cG9ydEZyb20oKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpIHtcbiAgcmV0dXJuIChcbiAgICAoaXNUeXBlU2NyaXB0RW5hYmxlZCAmJiB0c0lzRGVjbGFyYXRpb25TdGFydCgpKSB8fFxuICAgIChpc0Zsb3dFbmFibGVkICYmIGZsb3dTaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkpIHx8XG4gICAgc3RhdGUudHlwZSA9PT0gdHQuX3ZhciB8fFxuICAgIHN0YXRlLnR5cGUgPT09IHR0Ll9jb25zdCB8fFxuICAgIHN0YXRlLnR5cGUgPT09IHR0Ll9sZXQgfHxcbiAgICBzdGF0ZS50eXBlID09PSB0dC5fZnVuY3Rpb24gfHxcbiAgICBzdGF0ZS50eXBlID09PSB0dC5fY2xhc3MgfHxcbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSB8fFxuICAgIG1hdGNoKHR0LmF0KVxuICApO1xufVxuXG4vLyBQYXJzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb2R1bGUgZXhwb3J0cy5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUV4cG9ydFNwZWNpZmllcnMoKSB7XG4gIGxldCBmaXJzdCA9IHRydWU7XG5cbiAgLy8gZXhwb3J0IHsgeCwgeSBhcyB6IH0gW2Zyb20gJy4uLiddXG4gIGV4cGVjdCh0dC5icmFjZUwpO1xuXG4gIHdoaWxlICghZWF0KHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgICAgaWYgKGVhdCh0dC5icmFjZVIpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBwYXJzZUV4cG9ydFNwZWNpZmllcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlRXhwb3J0U3BlY2lmaWVyKCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzUGFyc2VFeHBvcnRTcGVjaWZpZXIoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5FeHBvcnRBY2Nlc3M7XG4gIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hcykpIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIFN0YXJ0aW5nIGF0IHRoZSBgbW9kdWxlYCB0b2tlbiBpbiBhbiBpbXBvcnQsIGRldGVybWluZSBpZiBpdCB3YXMgdHJ1bHkgYW5cbiAqIGltcG9ydCByZWZsZWN0aW9uIHRva2VuIG9yIGp1c3QgbG9va3MgbGlrZSBvbmUuXG4gKlxuICogUmV0dXJucyB0cnVlIGZvcjpcbiAqIGltcG9ydCBtb2R1bGUgZm9vIGZyb20gXCJmb29cIjtcbiAqIGltcG9ydCBtb2R1bGUgZnJvbSBmcm9tIFwiZm9vXCI7XG4gKlxuICogUmV0dXJucyBmYWxzZSBmb3I6XG4gKiBpbXBvcnQgbW9kdWxlIGZyb20gXCJmb29cIjtcbiAqIGltcG9ydCBtb2R1bGUsIHtiYXJ9IGZyb20gXCJmb29cIjtcbiAqL1xuZnVuY3Rpb24gaXNJbXBvcnRSZWZsZWN0aW9uKCkge1xuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG4gIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX21vZHVsZSk7XG4gIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKSkge1xuICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2Zyb20pKSB7XG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuY29tbWEpKSB7XG4gICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8qKlxuICogRWF0IHRoZSBcIm1vZHVsZVwiIHRva2VuIGZyb20gdGhlIGltcG9ydCByZWZsZWN0aW9uIHByb3Bvc2FsLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtaW1wb3J0LXJlZmxlY3Rpb25cbiAqL1xuZnVuY3Rpb24gcGFyc2VNYXliZUltcG9ydFJlZmxlY3Rpb24oKSB7XG4gIC8vIGlzSW1wb3J0UmVmbGVjdGlvbiBkb2VzIHNuYXBzaG90L3Jlc3RvcmUsIHNvIG9ubHkgcnVuIGl0IGlmIHdlIHNlZSB0aGUgd29yZFxuICAvLyBcIm1vZHVsZVwiLlxuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9tb2R1bGUpICYmIGlzSW1wb3J0UmVmbGVjdGlvbigpKSB7XG4gICAgbmV4dCgpO1xuICB9XG59XG5cbi8vIFBhcnNlcyBpbXBvcnQgZGVjbGFyYXRpb24uXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUltcG9ydCgpIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQgJiYgbWF0Y2godHQubmFtZSkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5lcSkge1xuICAgIHRzUGFyc2VJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbigpO1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCAmJiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpKSB7XG4gICAgY29uc3QgbG9va2FoZWFkID0gbG9va2FoZWFkVHlwZUFuZEtleXdvcmQoKTtcbiAgICBpZiAobG9va2FoZWFkLnR5cGUgPT09IHR0Lm5hbWUgJiYgbG9va2FoZWFkLmNvbnRleHR1YWxLZXl3b3JkICE9PSBDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkge1xuICAgICAgLy8gT25lIG9mIHRoZXNlIGBpbXBvcnQgdHlwZWAgY2FzZXM6XG4gICAgICAvLyBpbXBvcnQgdHlwZSBUID0gcmVxdWlyZSgnVCcpO1xuICAgICAgLy8gaW1wb3J0IHR5cGUgQSBmcm9tICdBJztcbiAgICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpO1xuICAgICAgaWYgKGxvb2thaGVhZFR5cGUoKSA9PT0gdHQuZXEpIHtcbiAgICAgICAgdHNQYXJzZUltcG9ydEVxdWFsc0RlY2xhcmF0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIElmIHRoaXMgaXMgYW4gYGltcG9ydCB0eXBlLi4uZnJvbWAgc3RhdGVtZW50LCB0aGVuIHdlIGFscmVhZHkgYXRlIHRoZVxuICAgICAgLy8gdHlwZSB0b2tlbiwgc28gcHJvY2VlZCB0byB0aGUgcmVndWxhciBpbXBvcnQgcGFyc2VyLlxuICAgIH0gZWxzZSBpZiAobG9va2FoZWFkLnR5cGUgPT09IHR0LnN0YXIgfHwgbG9va2FoZWFkLnR5cGUgPT09IHR0LmJyYWNlTCkge1xuICAgICAgLy8gT25lIG9mIHRoZXNlIGBpbXBvcnQgdHlwZWAgY2FzZXMsIGluIHdoaWNoIGNhc2Ugd2UgY2FuIGVhdCB0aGUgdHlwZSB0b2tlblxuICAgICAgLy8gYW5kIHByb2NlZWQgYXMgbm9ybWFsOlxuICAgICAgLy8gaW1wb3J0IHR5cGUgKiBhcyBBIGZyb20gJ0EnO1xuICAgICAgLy8gaW1wb3J0IHR5cGUge2F9IGZyb20gJ0EnO1xuICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdHlwZSk7XG4gICAgfVxuICAgIC8vIE90aGVyd2lzZSwgd2UgYXJlIGltcG9ydGluZyB0aGUgbmFtZSBcInR5cGVcIi5cbiAgfVxuXG4gIC8vIGltcG9ydCAnLi4uJ1xuICBpZiAobWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZU1heWJlSW1wb3J0UmVmbGVjdGlvbigpO1xuICAgIHBhcnNlSW1wb3J0U3BlY2lmaWVycygpO1xuICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2Zyb20pO1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfVxuICBtYXliZVBhcnNlSW1wb3J0QXR0cmlidXRlcygpO1xuICBzZW1pY29sb24oKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG5mdW5jdGlvbiBzaG91bGRQYXJzZURlZmF1bHRJbXBvcnQoKSB7XG4gIHJldHVybiBtYXRjaCh0dC5uYW1lKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCgpIHtcbiAgcGFyc2VJbXBvcnRlZElkZW50aWZpZXIoKTtcbn1cblxuLy8gUGFyc2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW9kdWxlIGltcG9ydHMuXG5mdW5jdGlvbiBwYXJzZUltcG9ydFNwZWNpZmllcnMoKSB7XG4gIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgZmxvd1N0YXJ0UGFyc2VJbXBvcnRTcGVjaWZpZXJzKCk7XG4gIH1cblxuICBsZXQgZmlyc3QgPSB0cnVlO1xuICBpZiAoc2hvdWxkUGFyc2VEZWZhdWx0SW1wb3J0KCkpIHtcbiAgICAvLyBpbXBvcnQgZGVmYXVsdE9iaiwgeyB4LCB5IGFzIHogfSBmcm9tICcuLi4nXG4gICAgcGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCgpO1xuXG4gICAgaWYgKCFlYXQodHQuY29tbWEpKSByZXR1cm47XG4gIH1cblxuICBpZiAobWF0Y2godHQuc3RhcikpIHtcbiAgICBuZXh0KCk7XG4gICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpO1xuXG4gICAgcGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gIHdoaWxlICghZWF0KHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBEZXRlY3QgYW4gYXR0ZW1wdCB0byBkZWVwIGRlc3RydWN0dXJlXG4gICAgICBpZiAoZWF0KHR0LmNvbG9uKSkge1xuICAgICAgICB1bmV4cGVjdGVkKFxuICAgICAgICAgIFwiRVMyMDE1IG5hbWVkIGltcG9ydHMgZG8gbm90IGRlc3RydWN0dXJlLiBVc2UgYW5vdGhlciBzdGF0ZW1lbnQgZm9yIGRlc3RydWN0dXJpbmcgYWZ0ZXIgdGhlIGltcG9ydC5cIixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgIGlmIChlYXQodHQuYnJhY2VSKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXJzZUltcG9ydFNwZWNpZmllcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlSW1wb3J0U3BlY2lmaWVyKCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzUGFyc2VJbXBvcnRTcGVjaWZpZXIoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VJbXBvcnRTcGVjaWZpZXIoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcGFyc2VJbXBvcnRlZElkZW50aWZpZXIoKTtcbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpKSB7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLkltcG9ydEFjY2VzcztcbiAgICBuZXh0KCk7XG4gICAgcGFyc2VJbXBvcnRlZElkZW50aWZpZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlIGltcG9ydCBhdHRyaWJ1dGVzIGxpa2UgYHdpdGgge3R5cGU6IFwianNvblwifWAsIG9yIHRoZSBsZWdhY3kgZm9ybVxuICogYGFzc2VydCB7dHlwZTogXCJqc29uXCJ9YC5cbiAqXG4gKiBJbXBvcnQgYXR0cmlidXRlcyB0ZWNobmljYWxseSBoYXZlIHRoZWlyIG93biBzeW50YXgsIGJ1dCBhcmUgYWx3YXlzIHBhcnNlYWJsZVxuICogYXMgYSBwbGFpbiBKUyBvYmplY3QsIHNvIGp1c3QgZG8gdGhhdCBmb3Igc2ltcGxpY2l0eS5cbiAqL1xuZnVuY3Rpb24gbWF5YmVQYXJzZUltcG9ydEF0dHJpYnV0ZXMoKSB7XG4gIGlmIChtYXRjaCh0dC5fd2l0aCkgfHwgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXNzZXJ0KSAmJiAhaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpKSB7XG4gICAgbmV4dCgpO1xuICAgIHBhcnNlT2JqKGZhbHNlLCBmYWxzZSk7XG4gIH1cbn1cbiIsICJcbmltcG9ydCB7bmV4dFRva2VuLCBza2lwTGluZUNvbW1lbnR9IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXhcIjtcbmltcG9ydCB7Y2hhckNvZGVzfSBmcm9tIFwiLi4vdXRpbC9jaGFyY29kZXNcIjtcbmltcG9ydCB7aW5wdXQsIHN0YXRlfSBmcm9tIFwiLi9iYXNlXCI7XG5pbXBvcnQge3BhcnNlVG9wTGV2ZWx9IGZyb20gXCIuL3N0YXRlbWVudFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGaWxlKCkge1xuICAvLyBJZiBlbmFibGVkLCBza2lwIGxlYWRpbmcgaGFzaGJhbmcgbGluZS5cbiAgaWYgKFxuICAgIHN0YXRlLnBvcyA9PT0gMCAmJlxuICAgIGlucHV0LmNoYXJDb2RlQXQoMCkgPT09IGNoYXJDb2Rlcy5udW1iZXJTaWduICYmXG4gICAgaW5wdXQuY2hhckNvZGVBdCgxKSA9PT0gY2hhckNvZGVzLmV4Y2xhbWF0aW9uTWFya1xuICApIHtcbiAgICBza2lwTGluZUNvbW1lbnQoMik7XG4gIH1cbiAgbmV4dFRva2VuKCk7XG4gIHJldHVybiBwYXJzZVRvcExldmVsKCk7XG59XG4iLCAiXG5cbmltcG9ydCB7YXVnbWVudEVycm9yLCBpbml0UGFyc2VyLCBzdGF0ZX0gZnJvbSBcIi4vdHJhdmVyc2VyL2Jhc2VcIjtcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tIFwiLi90cmF2ZXJzZXIvaW5kZXhcIjtcblxuZXhwb3J0IGNsYXNzIEZpbGUge1xuICBcbiAgXG5cbiAgY29uc3RydWN0b3IodG9rZW5zLCBzY29wZXMpIHtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB0aGlzLnNjb3BlcyA9IHNjb3BlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UoXG4gIGlucHV0LFxuICBpc0pTWEVuYWJsZWQsXG4gIGlzVHlwZVNjcmlwdEVuYWJsZWQsXG4gIGlzRmxvd0VuYWJsZWQsXG4pIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQgJiYgaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBjb21iaW5lIGZsb3cgYW5kIHR5cGVzY3JpcHQgcGx1Z2lucy5cIik7XG4gIH1cbiAgaW5pdFBhcnNlcihpbnB1dCwgaXNKU1hFbmFibGVkLCBpc1R5cGVTY3JpcHRFbmFibGVkLCBpc0Zsb3dFbmFibGVkKTtcbiAgY29uc3QgcmVzdWx0ID0gcGFyc2VGaWxlKCk7XG4gIGlmIChzdGF0ZS5lcnJvcikge1xuICAgIHRocm93IGF1Z21lbnRFcnJvcihzdGF0ZS5lcnJvcik7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiIsICJpbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci9rZXl3b3Jkc1wiO1xuXG5cbi8qKlxuICogRGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyBvcHRpb25hbCBjaGFpbiBvciBudWxsaXNoIGNvYWxlc2Npbmcgb3BlcmF0aW9uIGhhcyBhbnkgYXdhaXQgc3RhdGVtZW50cyBpblxuICogaXQuIElmIHNvLCB3ZSdsbCBuZWVkIHRvIHRyYW5zcGlsZSB0byBhbiBhc3luYyBvcGVyYXRpb24uXG4gKlxuICogV2UgY29tcHV0ZSB0aGlzIGJ5IHdhbGtpbmcgdGhlIGxlbmd0aCBvZiB0aGUgb3BlcmF0aW9uIGFuZCByZXR1cm5pbmcgdHJ1ZSBpZiB3ZSBzZWUgYW4gYXdhaXRcbiAqIGtleXdvcmQgdXNlZCBhcyBhIHJlYWwgYXdhaXQgKHJhdGhlciB0aGFuIGFuIG9iamVjdCBrZXkgb3IgcHJvcGVydHkgYWNjZXNzKS4gTmVzdGVkIG9wdGlvbmFsXG4gKiBjaGFpbi9udWxsaXNoIG9wZXJhdGlvbnMgbmVlZCB0byBiZSB0cmFja2VkIGJ1dCBkb24ndCBzaWxlbmNlIGF3YWl0LCBidXQgYSBuZXN0ZWQgYXN5bmMgZnVuY3Rpb25cbiAqIChvciBhbnkgb3RoZXIgbmVzdGVkIHNjb3BlKSB3aWxsIG1ha2UgdGhlIGF3YWl0IG5vdCBjb3VudC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNBc3luY09wZXJhdGlvbih0b2tlbnMpIHtcbiAgbGV0IGluZGV4ID0gdG9rZW5zLmN1cnJlbnRJbmRleCgpO1xuICBsZXQgZGVwdGggPSAwO1xuICBjb25zdCBzdGFydFRva2VuID0gdG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICBkbyB7XG4gICAgY29uc3QgdG9rZW4gPSB0b2tlbnMudG9rZW5zW2luZGV4XTtcbiAgICBpZiAodG9rZW4uaXNPcHRpb25hbENoYWluU3RhcnQpIHtcbiAgICAgIGRlcHRoKys7XG4gICAgfVxuICAgIGlmICh0b2tlbi5pc09wdGlvbmFsQ2hhaW5FbmQpIHtcbiAgICAgIGRlcHRoLS07XG4gICAgfVxuICAgIGRlcHRoICs9IHRva2VuLm51bU51bGxpc2hDb2FsZXNjZVN0YXJ0cztcbiAgICBkZXB0aCAtPSB0b2tlbi5udW1OdWxsaXNoQ29hbGVzY2VFbmRzO1xuXG4gICAgaWYgKFxuICAgICAgdG9rZW4uY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hd2FpdCAmJlxuICAgICAgdG9rZW4uaWRlbnRpZmllclJvbGUgPT0gbnVsbCAmJlxuICAgICAgdG9rZW4uc2NvcGVEZXB0aCA9PT0gc3RhcnRUb2tlbi5zY29wZURlcHRoXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaW5kZXggKz0gMTtcbiAgfSB3aGlsZSAoZGVwdGggPiAwICYmIGluZGV4IDwgdG9rZW5zLnRva2Vucy5sZW5ndGgpO1xuICByZXR1cm4gZmFsc2U7XG59XG4iLCAiXG5cblxuaW1wb3J0IHsgVG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQgaXNBc3luY09wZXJhdGlvbiBmcm9tIFwiLi91dGlsL2lzQXN5bmNPcGVyYXRpb25cIjtcblxuXG5cblxuXG5cblxuXG5cblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUb2tlblByb2Nlc3NvciB7XG4gICBfX2luaXQoKSB7dGhpcy5yZXN1bHRDb2RlID0gXCJcIn1cbiAgLy8gQXJyYXkgbWFwcGluZyBpbnB1dCB0b2tlbiBpbmRleCB0byBvcHRpb25hbCBzdHJpbmcgaW5kZXggcG9zaXRpb24gaW4gdGhlXG4gIC8vIG91dHB1dCBjb2RlLlxuICAgX19pbml0MigpIHt0aGlzLnJlc3VsdE1hcHBpbmdzID0gbmV3IEFycmF5KHRoaXMudG9rZW5zLmxlbmd0aCl9XG4gICBfX2luaXQzKCkge3RoaXMudG9rZW5JbmRleCA9IDB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgIGNvZGUsXG4gICAgIHRva2VucyxcbiAgICAgaXNGbG93RW5hYmxlZCxcbiAgICAgZGlzYWJsZUVTVHJhbnNmb3JtcyxcbiAgICAgaGVscGVyTWFuYWdlcixcbiAgKSB7O3RoaXMuY29kZSA9IGNvZGU7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5pc0Zsb3dFbmFibGVkID0gaXNGbG93RW5hYmxlZDt0aGlzLmRpc2FibGVFU1RyYW5zZm9ybXMgPSBkaXNhYmxlRVNUcmFuc2Zvcm1zO3RoaXMuaGVscGVyTWFuYWdlciA9IGhlbHBlck1hbmFnZXI7VG9rZW5Qcm9jZXNzb3IucHJvdG90eXBlLl9faW5pdC5jYWxsKHRoaXMpO1Rva2VuUHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7VG9rZW5Qcm9jZXNzb3IucHJvdG90eXBlLl9faW5pdDMuY2FsbCh0aGlzKTt9XG5cbiAgLyoqXG4gICAqIFNuYXBzaG90IHRoZSB0b2tlbiBzdGF0ZSBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXN0b3JlZCBsYXRlciwgdXNlZnVsIGZvclxuICAgKiB0aGluZ3MgbGlrZSBsb29rYWhlYWQuXG4gICAqXG4gICAqIHJlc3VsdE1hcHBpbmdzIGRvIG5vdCBuZWVkIHRvIGJlIGNvcGllZCBzaW5jZSBpbiBhbGwgdXNlIGNhc2VzLCB0aGV5IHdpbGxcbiAgICogYmUgb3ZlcndyaXR0ZW4gYW55d2F5IGFmdGVyIHJlc3RvcmUuXG4gICAqL1xuICBzbmFwc2hvdCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzdWx0Q29kZTogdGhpcy5yZXN1bHRDb2RlLFxuICAgICAgdG9rZW5JbmRleDogdGhpcy50b2tlbkluZGV4LFxuICAgIH07XG4gIH1cblxuICByZXN0b3JlVG9TbmFwc2hvdChzbmFwc2hvdCkge1xuICAgIHRoaXMucmVzdWx0Q29kZSA9IHNuYXBzaG90LnJlc3VsdENvZGU7XG4gICAgdGhpcy50b2tlbkluZGV4ID0gc25hcHNob3QudG9rZW5JbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYW5kIHJldHVybiB0aGUgY29kZSBnZW5lcmF0ZWQgc2luY2UgdGhlIHNuYXBzaG90LCBsZWF2aW5nIHRoZVxuICAgKiBjdXJyZW50IHRva2VuIHBvc2l0aW9uIGluLXBsYWNlLiBVbmxpa2UgbW9zdCBUb2tlblByb2Nlc3NvciBvcGVyYXRpb25zLFxuICAgKiB0aGlzIG9wZXJhdGlvbiBjYW4gcmVzdWx0IGluIGlucHV0L291dHB1dCBsaW5lIG51bWJlciBtaXNtYXRjaGVzIGJlY2F1c2VcbiAgICogdGhlIHJlbW92ZWQgY29kZSBtYXkgY29udGFpbiBuZXdsaW5lcywgc28gdGhpcyBvcGVyYXRpb24gc2hvdWxkIGJlIHVzZWRcbiAgICogc3BhcmluZ2x5LlxuICAgKi9cbiAgZGFuZ2Vyb3VzbHlHZXRBbmRSZW1vdmVDb2RlU2luY2VTbmFwc2hvdChzbmFwc2hvdCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMucmVzdWx0Q29kZS5zbGljZShzbmFwc2hvdC5yZXN1bHRDb2RlLmxlbmd0aCk7XG4gICAgdGhpcy5yZXN1bHRDb2RlID0gc25hcHNob3QucmVzdWx0Q29kZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5yZXN1bHRDb2RlID0gXCJcIjtcbiAgICB0aGlzLnJlc3VsdE1hcHBpbmdzID0gbmV3IEFycmF5KHRoaXMudG9rZW5zLmxlbmd0aCk7XG4gICAgdGhpcy50b2tlbkluZGV4ID0gMDtcbiAgfVxuXG4gIG1hdGNoZXNDb250ZXh0dWFsQXRJbmRleChpbmRleCwgY29udGV4dHVhbEtleXdvcmQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0Lm5hbWUpICYmXG4gICAgICB0aGlzLnRva2Vuc1tpbmRleF0uY29udGV4dHVhbEtleXdvcmQgPT09IGNvbnRleHR1YWxLZXl3b3JkXG4gICAgKTtcbiAgfVxuXG4gIGlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCkge1xuICAgIC8vIFRPRE86IFdlIG5lZWQgdG8gcHJvY2VzcyBlc2NhcGVzIHNpbmNlIHRlY2huaWNhbGx5IHlvdSBjYW4gaGF2ZSB1bmljb2RlIGVzY2FwZXMgaW4gdmFyaWFibGVcbiAgICAvLyBuYW1lcy5cbiAgICByZXR1cm4gdGhpcy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRoaXMudG9rZW5zW2luZGV4XSk7XG4gIH1cblxuICBpZGVudGlmaWVyTmFtZUF0UmVsYXRpdmVJbmRleChyZWxhdGl2ZUluZGV4KSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpZmllck5hbWVGb3JUb2tlbih0aGlzLnRva2VuQXRSZWxhdGl2ZUluZGV4KHJlbGF0aXZlSW5kZXgpKTtcbiAgfVxuXG4gIGlkZW50aWZpZXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odGhpcy5jdXJyZW50VG9rZW4oKSk7XG4gIH1cblxuICBpZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKSB7XG4gICAgcmV0dXJuIHRoaXMuY29kZS5zbGljZSh0b2tlbi5zdGFydCwgdG9rZW4uZW5kKTtcbiAgfVxuXG4gIHJhd0NvZGVGb3JUb2tlbih0b2tlbikge1xuICAgIHJldHVybiB0aGlzLmNvZGUuc2xpY2UodG9rZW4uc3RhcnQsIHRva2VuLmVuZCk7XG4gIH1cblxuICBzdHJpbmdWYWx1ZUF0SW5kZXgoaW5kZXgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmdWYWx1ZUZvclRva2VuKHRoaXMudG9rZW5zW2luZGV4XSk7XG4gIH1cblxuICBzdHJpbmdWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmdWYWx1ZUZvclRva2VuKHRoaXMuY3VycmVudFRva2VuKCkpO1xuICB9XG5cbiAgc3RyaW5nVmFsdWVGb3JUb2tlbih0b2tlbikge1xuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSB3aGVuIHR3byBpbXBvcnRzIGFyZSB0aGUgc2FtZSBhbmQgdG8gcmVzb2x2ZSBUeXBlU2NyaXB0IGVudW0ga2V5cy5cbiAgICAvLyBJZGVhbGx5IHdlJ2QgcHJvY2VzcyBlc2NhcGVzIHdpdGhpbiB0aGUgc3RyaW5ncywgYnV0IGZvciBub3cgd2UgcHJldHR5IG11Y2ggdGFrZSB0aGUgcmF3XG4gICAgLy8gY29kZS5cbiAgICByZXR1cm4gdGhpcy5jb2RlLnNsaWNlKHRva2VuLnN0YXJ0ICsgMSwgdG9rZW4uZW5kIC0gMSk7XG4gIH1cblxuICBtYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHQxKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zW2luZGV4XS50eXBlID09PSB0MTtcbiAgfVxuXG4gIG1hdGNoZXMyQXRJbmRleChpbmRleCwgdDEsIHQyKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zW2luZGV4XS50eXBlID09PSB0MSAmJiB0aGlzLnRva2Vuc1tpbmRleCArIDFdLnR5cGUgPT09IHQyO1xuICB9XG5cbiAgbWF0Y2hlczNBdEluZGV4KGluZGV4LCB0MSwgdDIsIHQzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudG9rZW5zW2luZGV4XS50eXBlID09PSB0MSAmJlxuICAgICAgdGhpcy50b2tlbnNbaW5kZXggKyAxXS50eXBlID09PSB0MiAmJlxuICAgICAgdGhpcy50b2tlbnNbaW5kZXggKyAyXS50eXBlID09PSB0M1xuICAgICk7XG4gIH1cblxuICBtYXRjaGVzMSh0MSkge1xuICAgIHJldHVybiB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnR5cGUgPT09IHQxO1xuICB9XG5cbiAgbWF0Y2hlczIodDEsIHQyKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleF0udHlwZSA9PT0gdDEgJiYgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4ICsgMV0udHlwZSA9PT0gdDI7XG4gIH1cblxuICBtYXRjaGVzMyh0MSwgdDIsIHQzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleF0udHlwZSA9PT0gdDEgJiZcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleCArIDFdLnR5cGUgPT09IHQyICYmXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggKyAyXS50eXBlID09PSB0M1xuICAgICk7XG4gIH1cblxuICBtYXRjaGVzNCh0MSwgdDIsIHQzLCB0NCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnR5cGUgPT09IHQxICYmXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggKyAxXS50eXBlID09PSB0MiAmJlxuICAgICAgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4ICsgMl0udHlwZSA9PT0gdDMgJiZcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleCArIDNdLnR5cGUgPT09IHQ0XG4gICAgKTtcbiAgfVxuXG4gIG1hdGNoZXM1KHQxLCB0MiwgdDMsIHQ0LCB0NSkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnR5cGUgPT09IHQxICYmXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggKyAxXS50eXBlID09PSB0MiAmJlxuICAgICAgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4ICsgMl0udHlwZSA9PT0gdDMgJiZcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleCArIDNdLnR5cGUgPT09IHQ0ICYmXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggKyA0XS50eXBlID09PSB0NVxuICAgICk7XG4gIH1cblxuICBtYXRjaGVzQ29udGV4dHVhbChjb250ZXh0dWFsS2V5d29yZCkge1xuICAgIHJldHVybiB0aGlzLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleCh0aGlzLnRva2VuSW5kZXgsIGNvbnRleHR1YWxLZXl3b3JkKTtcbiAgfVxuXG4gIG1hdGNoZXNDb250ZXh0SWRBbmRMYWJlbCh0eXBlLCBjb250ZXh0SWQpIHtcbiAgICByZXR1cm4gdGhpcy5tYXRjaGVzMSh0eXBlKSAmJiB0aGlzLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZCA9PT0gY29udGV4dElkO1xuICB9XG5cbiAgcHJldmlvdXNXaGl0ZXNwYWNlQW5kQ29tbWVudHMoKSB7XG4gICAgbGV0IHdoaXRlc3BhY2VBbmRDb21tZW50cyA9IHRoaXMuY29kZS5zbGljZShcbiAgICAgIHRoaXMudG9rZW5JbmRleCA+IDAgPyB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggLSAxXS5lbmQgOiAwLFxuICAgICAgdGhpcy50b2tlbkluZGV4IDwgdGhpcy50b2tlbnMubGVuZ3RoID8gdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4XS5zdGFydCA6IHRoaXMuY29kZS5sZW5ndGgsXG4gICAgKTtcbiAgICBpZiAodGhpcy5pc0Zsb3dFbmFibGVkKSB7XG4gICAgICB3aGl0ZXNwYWNlQW5kQ29tbWVudHMgPSB3aGl0ZXNwYWNlQW5kQ29tbWVudHMucmVwbGFjZSgvQGZsb3cvZywgXCJcIik7XG4gICAgfVxuICAgIHJldHVybiB3aGl0ZXNwYWNlQW5kQ29tbWVudHM7XG4gIH1cblxuICByZXBsYWNlVG9rZW4obmV3Q29kZSkge1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLnByZXZpb3VzV2hpdGVzcGFjZUFuZENvbW1lbnRzKCk7XG4gICAgdGhpcy5hcHBlbmRUb2tlblByZWZpeCgpO1xuICAgIHRoaXMucmVzdWx0TWFwcGluZ3NbdGhpcy50b2tlbkluZGV4XSA9IHRoaXMucmVzdWx0Q29kZS5sZW5ndGg7XG4gICAgdGhpcy5yZXN1bHRDb2RlICs9IG5ld0NvZGU7XG4gICAgdGhpcy5hcHBlbmRUb2tlblN1ZmZpeCgpO1xuICAgIHRoaXMudG9rZW5JbmRleCsrO1xuICB9XG5cbiAgcmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShuZXdDb2RlKSB7XG4gICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMucHJldmlvdXNXaGl0ZXNwYWNlQW5kQ29tbWVudHMoKS5yZXBsYWNlKC9bXlxcclxcbl0vZywgXCJcIik7XG4gICAgdGhpcy5hcHBlbmRUb2tlblByZWZpeCgpO1xuICAgIHRoaXMucmVzdWx0TWFwcGluZ3NbdGhpcy50b2tlbkluZGV4XSA9IHRoaXMucmVzdWx0Q29kZS5sZW5ndGg7XG4gICAgdGhpcy5yZXN1bHRDb2RlICs9IG5ld0NvZGU7XG4gICAgdGhpcy5hcHBlbmRUb2tlblN1ZmZpeCgpO1xuICAgIHRoaXMudG9rZW5JbmRleCsrO1xuICB9XG5cbiAgcmVtb3ZlSW5pdGlhbFRva2VuKCkge1xuICAgIHRoaXMucmVwbGFjZVRva2VuKFwiXCIpO1xuICB9XG5cbiAgcmVtb3ZlVG9rZW4oKSB7XG4gICAgdGhpcy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKFwiXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgY29kZSB1bnRpbCB0aGUgbmV4dCB9LCBhY2NvdW50aW5nIGZvciBiYWxhbmNlZCBicmFjZXMuXG4gICAqL1xuICByZW1vdmVCYWxhbmNlZENvZGUoKSB7XG4gICAgbGV0IGJyYWNlRGVwdGggPSAwO1xuICAgIHdoaWxlICghdGhpcy5pc0F0RW5kKCkpIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoZXMxKHR0LmJyYWNlTCkpIHtcbiAgICAgICAgYnJhY2VEZXB0aCsrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgaWYgKGJyYWNlRGVwdGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYnJhY2VEZXB0aC0tO1xuICAgICAgfVxuICAgICAgdGhpcy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gIGNvcHlFeHBlY3RlZFRva2VuKHRva2VuVHlwZSkge1xuICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnR5cGUgIT09IHRva2VuVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCB0b2tlbiAke3Rva2VuVHlwZX1gKTtcbiAgICB9XG4gICAgdGhpcy5jb3B5VG9rZW4oKTtcbiAgfVxuXG4gIGNvcHlUb2tlbigpIHtcbiAgICB0aGlzLnJlc3VsdENvZGUgKz0gdGhpcy5wcmV2aW91c1doaXRlc3BhY2VBbmRDb21tZW50cygpO1xuICAgIHRoaXMuYXBwZW5kVG9rZW5QcmVmaXgoKTtcbiAgICB0aGlzLnJlc3VsdE1hcHBpbmdzW3RoaXMudG9rZW5JbmRleF0gPSB0aGlzLnJlc3VsdENvZGUubGVuZ3RoO1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLmNvZGUuc2xpY2UoXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnN0YXJ0LFxuICAgICAgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4XS5lbmQsXG4gICAgKTtcbiAgICB0aGlzLmFwcGVuZFRva2VuU3VmZml4KCk7XG4gICAgdGhpcy50b2tlbkluZGV4Kys7XG4gIH1cblxuICBjb3B5VG9rZW5XaXRoUHJlZml4KHByZWZpeCkge1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLnByZXZpb3VzV2hpdGVzcGFjZUFuZENvbW1lbnRzKCk7XG4gICAgdGhpcy5hcHBlbmRUb2tlblByZWZpeCgpO1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSBwcmVmaXg7XG4gICAgdGhpcy5yZXN1bHRNYXBwaW5nc1t0aGlzLnRva2VuSW5kZXhdID0gdGhpcy5yZXN1bHRDb2RlLmxlbmd0aDtcbiAgICB0aGlzLnJlc3VsdENvZGUgKz0gdGhpcy5jb2RlLnNsaWNlKFxuICAgICAgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4XS5zdGFydCxcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleF0uZW5kLFxuICAgICk7XG4gICAgdGhpcy5hcHBlbmRUb2tlblN1ZmZpeCgpO1xuICAgIHRoaXMudG9rZW5JbmRleCsrO1xuICB9XG5cbiAgIGFwcGVuZFRva2VuUHJlZml4KCkge1xuICAgIGNvbnN0IHRva2VuID0gdGhpcy5jdXJyZW50VG9rZW4oKTtcbiAgICBpZiAodG9rZW4ubnVtTnVsbGlzaENvYWxlc2NlU3RhcnRzIHx8IHRva2VuLmlzT3B0aW9uYWxDaGFpblN0YXJ0KSB7XG4gICAgICB0b2tlbi5pc0FzeW5jT3BlcmF0aW9uID0gaXNBc3luY09wZXJhdGlvbih0aGlzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZUVTVHJhbnNmb3Jtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodG9rZW4ubnVtTnVsbGlzaENvYWxlc2NlU3RhcnRzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2VuLm51bU51bGxpc2hDb2FsZXNjZVN0YXJ0czsgaSsrKSB7XG4gICAgICAgIGlmICh0b2tlbi5pc0FzeW5jT3BlcmF0aW9uKSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRDb2RlICs9IFwiYXdhaXQgXCI7XG4gICAgICAgICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFwiYXN5bmNOdWxsaXNoQ29hbGVzY2VcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFwibnVsbGlzaENvYWxlc2NlXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzdWx0Q29kZSArPSBcIihcIjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRva2VuLmlzT3B0aW9uYWxDaGFpblN0YXJ0KSB7XG4gICAgICBpZiAodG9rZW4uaXNBc3luY09wZXJhdGlvbikge1xuICAgICAgICB0aGlzLnJlc3VsdENvZGUgKz0gXCJhd2FpdCBcIjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2VuSW5kZXggPiAwICYmIHRoaXMudG9rZW5BdFJlbGF0aXZlSW5kZXgoLTEpLnR5cGUgPT09IHR0Ll9kZWxldGUpIHtcbiAgICAgICAgaWYgKHRva2VuLmlzQXN5bmNPcGVyYXRpb24pIHtcbiAgICAgICAgICB0aGlzLnJlc3VsdENvZGUgKz0gdGhpcy5oZWxwZXJNYW5hZ2VyLmdldEhlbHBlck5hbWUoXCJhc3luY09wdGlvbmFsQ2hhaW5EZWxldGVcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFwib3B0aW9uYWxDaGFpbkRlbGV0ZVwiKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0b2tlbi5pc0FzeW5jT3BlcmF0aW9uKSB7XG4gICAgICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLmhlbHBlck1hbmFnZXIuZ2V0SGVscGVyTmFtZShcImFzeW5jT3B0aW9uYWxDaGFpblwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLmhlbHBlck1hbmFnZXIuZ2V0SGVscGVyTmFtZShcIm9wdGlvbmFsQ2hhaW5cIik7XG4gICAgICB9XG4gICAgICB0aGlzLnJlc3VsdENvZGUgKz0gXCIoW1wiO1xuICAgIH1cbiAgfVxuXG4gICBhcHBlbmRUb2tlblN1ZmZpeCgpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuY3VycmVudFRva2VuKCk7XG4gICAgaWYgKHRva2VuLmlzT3B0aW9uYWxDaGFpbkVuZCAmJiAhdGhpcy5kaXNhYmxlRVNUcmFuc2Zvcm1zKSB7XG4gICAgICB0aGlzLnJlc3VsdENvZGUgKz0gXCJdKVwiO1xuICAgIH1cbiAgICBpZiAodG9rZW4ubnVtTnVsbGlzaENvYWxlc2NlRW5kcyAmJiAhdGhpcy5kaXNhYmxlRVNUcmFuc2Zvcm1zKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2VuLm51bU51bGxpc2hDb2FsZXNjZUVuZHM7IGkrKykge1xuICAgICAgICB0aGlzLnJlc3VsdENvZGUgKz0gXCIpKVwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFwcGVuZENvZGUoY29kZSkge1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSBjb2RlO1xuICB9XG5cbiAgY3VycmVudFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdO1xuICB9XG5cbiAgY3VycmVudFRva2VuQ29kZSgpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuY3VycmVudFRva2VuKCk7XG4gICAgcmV0dXJuIHRoaXMuY29kZS5zbGljZSh0b2tlbi5zdGFydCwgdG9rZW4uZW5kKTtcbiAgfVxuXG4gIHRva2VuQXRSZWxhdGl2ZUluZGV4KHJlbGF0aXZlSW5kZXgpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4ICsgcmVsYXRpdmVJbmRleF07XG4gIH1cblxuICBjdXJyZW50SW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5JbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlIHRvIHRoZSBuZXh0IHRva2VuLiBPbmx5IHN1aXRhYmxlIGluIHByZXByb2Nlc3Npbmcgc3RlcHMuIFdoZW5cbiAgICogZ2VuZXJhdGluZyBuZXcgY29kZSwgeW91IHNob3VsZCB1c2UgY29weVRva2VuIG9yIHJlbW92ZVRva2VuLlxuICAgKi9cbiAgbmV4dFRva2VuKCkge1xuICAgIGlmICh0aGlzLnRva2VuSW5kZXggPT09IHRoaXMudG9rZW5zLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5leHBlY3RlZGx5IHJlYWNoZWQgZW5kIG9mIGlucHV0LlwiKTtcbiAgICB9XG4gICAgdGhpcy50b2tlbkluZGV4Kys7XG4gIH1cblxuICBwcmV2aW91c1Rva2VuKCkge1xuICAgIHRoaXMudG9rZW5JbmRleC0tO1xuICB9XG5cbiAgZmluaXNoKCkge1xuICAgIGlmICh0aGlzLnRva2VuSW5kZXggIT09IHRoaXMudG9rZW5zLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVHJpZWQgdG8gZmluaXNoIHByb2Nlc3NpbmcgdG9rZW5zIGJlZm9yZSByZWFjaGluZyB0aGUgZW5kLlwiKTtcbiAgICB9XG4gICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMucHJldmlvdXNXaGl0ZXNwYWNlQW5kQ29tbWVudHMoKTtcbiAgICByZXR1cm4ge2NvZGU6IHRoaXMucmVzdWx0Q29kZSwgbWFwcGluZ3M6IHRoaXMucmVzdWx0TWFwcGluZ3N9O1xuICB9XG5cbiAgaXNBdEVuZCgpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkluZGV4ID09PSB0aGlzLnRva2Vucy5sZW5ndGg7XG4gIH1cbn1cbiIsICJcblxuaW1wb3J0IHtDb250ZXh0dWFsS2V5d29yZH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyoqXG4gKiBHZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNsYXNzIGZpZWxkcyBmb3IgdGhpcyBjbGFzcywgZ2l2ZW4gYSB0b2tlbiBwcm9jZXNzb3IgcG9pbnRpbmcgdG8gdGhlXG4gKiBvcGVuLWJyYWNlIGF0IHRoZSBzdGFydCBvZiB0aGUgY2xhc3MuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldENsYXNzSW5mbyhcbiAgcm9vdFRyYW5zZm9ybWVyLFxuICB0b2tlbnMsXG4gIG5hbWVNYW5hZ2VyLFxuICBkaXNhYmxlRVNUcmFuc2Zvcm1zLFxuKSB7XG4gIGNvbnN0IHNuYXBzaG90ID0gdG9rZW5zLnNuYXBzaG90KCk7XG5cbiAgY29uc3QgaGVhZGVySW5mbyA9IHByb2Nlc3NDbGFzc0hlYWRlcih0b2tlbnMpO1xuXG4gIGxldCBjb25zdHJ1Y3RvckluaXRpYWxpemVyU3RhdGVtZW50cyA9IFtdO1xuICBjb25zdCBpbnN0YW5jZUluaXRpYWxpemVyTmFtZXMgPSBbXTtcbiAgY29uc3Qgc3RhdGljSW5pdGlhbGl6ZXJOYW1lcyA9IFtdO1xuICBsZXQgY29uc3RydWN0b3JJbnNlcnRQb3MgPSBudWxsO1xuICBjb25zdCBmaWVsZHMgPSBbXTtcbiAgY29uc3QgcmFuZ2VzVG9SZW1vdmUgPSBbXTtcblxuICBjb25zdCBjbGFzc0NvbnRleHRJZCA9IHRva2Vucy5jdXJyZW50VG9rZW4oKS5jb250ZXh0SWQ7XG4gIGlmIChjbGFzc0NvbnRleHRJZCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgbm9uLW51bGwgY2xhc3MgY29udGV4dCBJRCBvbiBjbGFzcyBvcGVuLWJyYWNlLlwiKTtcbiAgfVxuXG4gIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgd2hpbGUgKCF0b2tlbnMubWF0Y2hlc0NvbnRleHRJZEFuZExhYmVsKHR0LmJyYWNlUiwgY2xhc3NDb250ZXh0SWQpKSB7XG4gICAgaWYgKHRva2Vucy5tYXRjaGVzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fY29uc3RydWN0b3IpICYmICF0b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlKSB7XG4gICAgICAoe2NvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLCBjb25zdHJ1Y3Rvckluc2VydFBvc30gPSBwcm9jZXNzQ29uc3RydWN0b3IodG9rZW5zKSk7XG4gICAgfSBlbHNlIGlmICh0b2tlbnMubWF0Y2hlczEodHQuc2VtaSkpIHtcbiAgICAgIGlmICghZGlzYWJsZUVTVHJhbnNmb3Jtcykge1xuICAgICAgICByYW5nZXNUb1JlbW92ZS5wdXNoKHtzdGFydDogdG9rZW5zLmN1cnJlbnRJbmRleCgpLCBlbmQ6IHRva2Vucy5jdXJyZW50SW5kZXgoKSArIDF9KTtcbiAgICAgIH1cbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICB9IGVsc2UgaWYgKHRva2Vucy5jdXJyZW50VG9rZW4oKS5pc1R5cGUpIHtcbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRWl0aGVyIGEgbWV0aG9kIG9yIGEgZmllbGQuIFNraXAgdG8gdGhlIGlkZW50aWZpZXIgcGFydC5cbiAgICAgIGNvbnN0IHN0YXRlbWVudFN0YXJ0SW5kZXggPSB0b2tlbnMuY3VycmVudEluZGV4KCk7XG4gICAgICBsZXQgaXNTdGF0aWMgPSBmYWxzZTtcbiAgICAgIGxldCBpc0VTUHJpdmF0ZSA9IGZhbHNlO1xuICAgICAgbGV0IGlzRGVjbGFyZU9yQWJzdHJhY3QgPSBmYWxzZTtcbiAgICAgIHdoaWxlIChpc0FjY2Vzc01vZGlmaWVyKHRva2Vucy5jdXJyZW50VG9rZW4oKSkpIHtcbiAgICAgICAgaWYgKHRva2Vucy5tYXRjaGVzMSh0dC5fc3RhdGljKSkge1xuICAgICAgICAgIGlzU3RhdGljID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW5zLm1hdGNoZXMxKHR0Lmhhc2gpKSB7XG4gICAgICAgICAgaXNFU1ByaXZhdGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbnMubWF0Y2hlczEodHQuX2RlY2xhcmUpIHx8IHRva2Vucy5tYXRjaGVzMSh0dC5fYWJzdHJhY3QpKSB7XG4gICAgICAgICAgaXNEZWNsYXJlT3JBYnN0cmFjdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgICAgfVxuICAgICAgaWYgKGlzU3RhdGljICYmIHRva2Vucy5tYXRjaGVzMSh0dC5icmFjZUwpKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBzdGF0aWMgYmxvY2ssIHNvIGRvbid0IHByb2Nlc3MgaXQgaW4gYW55IHNwZWNpYWwgd2F5LlxuICAgICAgICBza2lwVG9OZXh0Q2xhc3NFbGVtZW50KHRva2VucywgY2xhc3NDb250ZXh0SWQpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0VTUHJpdmF0ZSkge1xuICAgICAgICAvLyBTdWNyYXNlIGRvZXNuJ3QgYXR0ZW1wdCB0byB0cmFuc3BpbGUgcHJpdmF0ZSBmaWVsZHM7IGp1c3QgbGVhdmUgdGhlbSBhcy1pcy5cbiAgICAgICAgc2tpcFRvTmV4dENsYXNzRWxlbWVudCh0b2tlbnMsIGNsYXNzQ29udGV4dElkKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRva2Vucy5tYXRjaGVzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fY29uc3RydWN0b3IpICYmXG4gICAgICAgICF0b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlXG4gICAgICApIHtcbiAgICAgICAgKHtjb25zdHJ1Y3RvckluaXRpYWxpemVyU3RhdGVtZW50cywgY29uc3RydWN0b3JJbnNlcnRQb3N9ID0gcHJvY2Vzc0NvbnN0cnVjdG9yKHRva2VucykpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmFtZVN0YXJ0SW5kZXggPSB0b2tlbnMuY3VycmVudEluZGV4KCk7XG4gICAgICBza2lwRmllbGROYW1lKHRva2Vucyk7XG4gICAgICBpZiAodG9rZW5zLm1hdGNoZXMxKHR0Lmxlc3NUaGFuKSB8fCB0b2tlbnMubWF0Y2hlczEodHQucGFyZW5MKSkge1xuICAgICAgICAvLyBUaGlzIGlzIGEgbWV0aG9kLCBzbyBub3RoaW5nIHRvIHByb2Nlc3MuXG4gICAgICAgIHNraXBUb05leHRDbGFzc0VsZW1lbnQodG9rZW5zLCBjbGFzc0NvbnRleHRJZCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgYSB0eXBlIGFubm90YXRpb24gdGhhdCB3ZSBuZWVkIHRvIHNraXAuXG4gICAgICB3aGlsZSAodG9rZW5zLmN1cnJlbnRUb2tlbigpLmlzVHlwZSkge1xuICAgICAgICB0b2tlbnMubmV4dFRva2VuKCk7XG4gICAgICB9XG4gICAgICBpZiAodG9rZW5zLm1hdGNoZXMxKHR0LmVxKSkge1xuICAgICAgICBjb25zdCBlcXVhbHNJbmRleCA9IHRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICAgICAgLy8gVGhpcyBpcyBhbiBpbml0aWFsaXplciwgc28gd2UgbmVlZCB0byB3cmFwIGluIGFuIGluaXRpYWxpemVyIG1ldGhvZC5cbiAgICAgICAgY29uc3QgdmFsdWVFbmQgPSB0b2tlbnMuY3VycmVudFRva2VuKCkucmhzRW5kSW5kZXg7XG4gICAgICAgIGlmICh2YWx1ZUVuZCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgcmhzRW5kSW5kZXggb24gY2xhc3MgZmllbGQgYXNzaWdubWVudC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgICAgICB3aGlsZSAodG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgdmFsdWVFbmQpIHtcbiAgICAgICAgICByb290VHJhbnNmb3JtZXIucHJvY2Vzc1Rva2VuKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGluaXRpYWxpemVyTmFtZTtcbiAgICAgICAgaWYgKGlzU3RhdGljKSB7XG4gICAgICAgICAgaW5pdGlhbGl6ZXJOYW1lID0gbmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcIl9faW5pdFN0YXRpY1wiKTtcbiAgICAgICAgICBzdGF0aWNJbml0aWFsaXplck5hbWVzLnB1c2goaW5pdGlhbGl6ZXJOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpbml0aWFsaXplck5hbWUgPSBuYW1lTWFuYWdlci5jbGFpbUZyZWVOYW1lKFwiX19pbml0XCIpO1xuICAgICAgICAgIGluc3RhbmNlSW5pdGlhbGl6ZXJOYW1lcy5wdXNoKGluaXRpYWxpemVyTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRmllbGRzIHN0YXJ0IGF0IHRoZSBuYW1lLCBzbyBgc3RhdGljIHggPSAxO2AgaGFzIGEgZmllbGQgcmFuZ2Ugb2YgYHggPSAxO2AuXG4gICAgICAgIGZpZWxkcy5wdXNoKHtcbiAgICAgICAgICBpbml0aWFsaXplck5hbWUsXG4gICAgICAgICAgZXF1YWxzSW5kZXgsXG4gICAgICAgICAgc3RhcnQ6IG5hbWVTdGFydEluZGV4LFxuICAgICAgICAgIGVuZDogdG9rZW5zLmN1cnJlbnRJbmRleCgpLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIWRpc2FibGVFU1RyYW5zZm9ybXMgfHwgaXNEZWNsYXJlT3JBYnN0cmFjdCkge1xuICAgICAgICAvLyBUaGlzIGlzIGEgcmVndWxhciBmaWVsZCBkZWNsYXJhdGlvbiwgbGlrZSBgeDtgLiBXaXRoIHRoZSBjbGFzcyB0cmFuc2Zvcm0gZW5hYmxlZCwgd2UganVzdFxuICAgICAgICAvLyByZW1vdmUgdGhlIGxpbmUgc28gdGhhdCBubyBvdXRwdXQgaXMgcHJvZHVjZWQuIFdpdGggdGhlIGNsYXNzIHRyYW5zZm9ybSBkaXNhYmxlZCwgd2VcbiAgICAgICAgLy8gdXN1YWxseSB3YW50IHRvIHByZXNlcnZlIHRoZSBkZWNsYXJhdGlvbiAoYnV0IHN0aWxsIHN0cmlwIHR5cGVzKSwgYnV0IGlmIHRoZSBgZGVjbGFyZWBcbiAgICAgICAgLy8gb3IgYGFic3RyYWN0YCBrZXl3b3JkIGlzIHNwZWNpZmllZCwgd2Ugc2hvdWxkIHJlbW92ZSB0aGUgbGluZSB0byBhdm9pZCBpbml0aWFsaXppbmcgdGhlXG4gICAgICAgIC8vIHZhbHVlIHRvIHVuZGVmaW5lZC5cbiAgICAgICAgcmFuZ2VzVG9SZW1vdmUucHVzaCh7c3RhcnQ6IHN0YXRlbWVudFN0YXJ0SW5kZXgsIGVuZDogdG9rZW5zLmN1cnJlbnRJbmRleCgpfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdG9rZW5zLnJlc3RvcmVUb1NuYXBzaG90KHNuYXBzaG90KTtcbiAgaWYgKGRpc2FibGVFU1RyYW5zZm9ybXMpIHtcbiAgICAvLyBXaXRoIEVTIHRyYW5zZm9ybXMgZGlzYWJsZWQsIHdlIGRvbid0IHdhbnQgdG8gdHJhbnNmb3JtIHJlZ3VsYXIgY2xhc3NcbiAgICAvLyBmaWVsZCBkZWNsYXJhdGlvbnMsIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueSBhZGRpdGlvbmFsIHRyaWNrcyB0b1xuICAgIC8vIHJlZmVyZW5jZSB0aGUgY29uc3RydWN0b3IgZm9yIHN0YXRpYyBpbml0LCBidXQgd2Ugc3RpbGwgbmVlZCB0byB0cmFuc2Zvcm1cbiAgICAvLyBUeXBlU2NyaXB0IGZpZWxkIGluaXRpYWxpemVycyBkZWZpbmVkIGFzIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnMgYW5kIHdlXG4gICAgLy8gc3RpbGwgbmVlZCB0byByZW1vdmUgYGRlY2xhcmVgIGZpZWxkcy4gRm9yIG5vdywgd2UgcnVuIHRoZSBzYW1lIGNvZGVcbiAgICAvLyBwYXRoIGJ1dCBvbWl0IGFueSBmaWVsZCBpbmZvcm1hdGlvbiwgYXMgaWYgdGhlIGNsYXNzIGhhZCBubyBmaWVsZFxuICAgIC8vIGRlY2xhcmF0aW9ucy4gSW4gdGhlIGZ1dHVyZSwgd2hlbiB3ZSBmdWxseSBkcm9wIHRoZSBjbGFzcyBmaWVsZHNcbiAgICAvLyB0cmFuc2Zvcm0sIHdlIGNhbiBzaW1wbGlmeSB0aGlzIGNvZGUgc2lnbmlmaWNhbnRseS5cbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVySW5mbyxcbiAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgICAgaW5zdGFuY2VJbml0aWFsaXplck5hbWVzOiBbXSxcbiAgICAgIHN0YXRpY0luaXRpYWxpemVyTmFtZXM6IFtdLFxuICAgICAgY29uc3RydWN0b3JJbnNlcnRQb3MsXG4gICAgICBmaWVsZHM6IFtdLFxuICAgICAgcmFuZ2VzVG9SZW1vdmUsXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVySW5mbyxcbiAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgICAgaW5zdGFuY2VJbml0aWFsaXplck5hbWVzLFxuICAgICAgc3RhdGljSW5pdGlhbGl6ZXJOYW1lcyxcbiAgICAgIGNvbnN0cnVjdG9ySW5zZXJ0UG9zLFxuICAgICAgZmllbGRzLFxuICAgICAgcmFuZ2VzVG9SZW1vdmUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE1vdmUgdGhlIHRva2VuIHByb2Nlc3NvciB0byB0aGUgbmV4dCBtZXRob2QvZmllbGQgaW4gdGhlIGNsYXNzLlxuICpcbiAqIFRvIGRvIHRoYXQsIHdlIHNlZWsgZm9yd2FyZCB0byB0aGUgbmV4dCBzdGFydCBvZiBhIGNsYXNzIG5hbWUgKGVpdGhlciBhbiBvcGVuXG4gKiBicmFja2V0IG9yIGFuIGlkZW50aWZpZXIsIG9yIHRoZSBjbG9zaW5nIGN1cmx5IGJyYWNlKSwgdGhlbiBzZWVrIGJhY2t3YXJkIHRvXG4gKiBpbmNsdWRlIGFueSBhY2Nlc3MgbW9kaWZpZXJzLlxuICovXG5mdW5jdGlvbiBza2lwVG9OZXh0Q2xhc3NFbGVtZW50KHRva2VucywgY2xhc3NDb250ZXh0SWQpIHtcbiAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB3aGlsZSAodG9rZW5zLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZCAhPT0gY2xhc3NDb250ZXh0SWQpIHtcbiAgICB0b2tlbnMubmV4dFRva2VuKCk7XG4gIH1cbiAgd2hpbGUgKGlzQWNjZXNzTW9kaWZpZXIodG9rZW5zLnRva2VuQXRSZWxhdGl2ZUluZGV4KC0xKSkpIHtcbiAgICB0b2tlbnMucHJldmlvdXNUb2tlbigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NDbGFzc0hlYWRlcih0b2tlbnMpIHtcbiAgY29uc3QgY2xhc3NUb2tlbiA9IHRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgY29uc3QgY29udGV4dElkID0gY2xhc3NUb2tlbi5jb250ZXh0SWQ7XG4gIGlmIChjb250ZXh0SWQgPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGNvbnRleHQgSUQgb24gY2xhc3MgdG9rZW4uXCIpO1xuICB9XG4gIGNvbnN0IGlzRXhwcmVzc2lvbiA9IGNsYXNzVG9rZW4uaXNFeHByZXNzaW9uO1xuICBpZiAoaXNFeHByZXNzaW9uID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBpc0V4cHJlc3Npb24gb24gY2xhc3MgdG9rZW4uXCIpO1xuICB9XG4gIGxldCBjbGFzc05hbWUgPSBudWxsO1xuICBsZXQgaGFzU3VwZXJjbGFzcyA9IGZhbHNlO1xuICB0b2tlbnMubmV4dFRva2VuKCk7XG4gIGlmICh0b2tlbnMubWF0Y2hlczEodHQubmFtZSkpIHtcbiAgICBjbGFzc05hbWUgPSB0b2tlbnMuaWRlbnRpZmllck5hbWUoKTtcbiAgfVxuICB3aGlsZSAoIXRva2Vucy5tYXRjaGVzQ29udGV4dElkQW5kTGFiZWwodHQuYnJhY2VMLCBjb250ZXh0SWQpKSB7XG4gICAgLy8gSWYgdGhpcyBoYXMgYSBzdXBlcmNsYXNzLCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhbiBgZXh0ZW5kc2AgdG9rZW4uIElmIGl0IGRvZXNuJ3QgaGF2ZSBhXG4gICAgLy8gc3VwZXJjbGFzcywgb25seSB0eXBlIHBhcmFtZXRlcnMgYW5kIGBpbXBsZW1lbnRzYCBjbGF1c2VzIGNhbiBzaG93IHVwIGhlcmUsIGFsbCBvZiB3aGljaFxuICAgIC8vIGNvbnNpc3Qgb25seSBvZiB0eXBlIHRva2Vucy4gQSBkZWNsYXJhdGlvbiBsaWtlIGBjbGFzcyBBPEIgZXh0ZW5kcyBDPiB7YCBzaG91bGQgKm5vdCogY291bnRcbiAgICAvLyBhcyBoYXZpbmcgYSBzdXBlcmNsYXNzLlxuICAgIGlmICh0b2tlbnMubWF0Y2hlczEodHQuX2V4dGVuZHMpICYmICF0b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlKSB7XG4gICAgICBoYXNTdXBlcmNsYXNzID0gdHJ1ZTtcbiAgICB9XG4gICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB9XG4gIHJldHVybiB7aXNFeHByZXNzaW9uLCBjbGFzc05hbWUsIGhhc1N1cGVyY2xhc3N9O1xufVxuXG4vKipcbiAqIEV4dHJhY3QgdXNlZnVsIGluZm9ybWF0aW9uIG91dCBvZiBhIGNvbnN0cnVjdG9yLCBzdGFydGluZyBhdCB0aGUgXCJjb25zdHJ1Y3RvclwiIG5hbWUuXG4gKi9cbmZ1bmN0aW9uIHByb2Nlc3NDb25zdHJ1Y3Rvcih0b2tlbnMpXG5cblxuIHtcbiAgY29uc3QgY29uc3RydWN0b3JJbml0aWFsaXplclN0YXRlbWVudHMgPSBbXTtcblxuICB0b2tlbnMubmV4dFRva2VuKCk7XG4gIGNvbnN0IGNvbnN0cnVjdG9yQ29udGV4dElkID0gdG9rZW5zLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZDtcbiAgaWYgKGNvbnN0cnVjdG9yQ29udGV4dElkID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBjb250ZXh0IElEIG9uIG9wZW4tcGFyZW4gc3RhcnRpbmcgY29uc3RydWN0b3IgcGFyYW1zLlwiKTtcbiAgfVxuICAvLyBBZHZhbmNlIHRocm91Z2ggcGFyYW1ldGVycyBsb29raW5nIGZvciBhY2Nlc3MgbW9kaWZpZXJzLlxuICB3aGlsZSAoIXRva2Vucy5tYXRjaGVzQ29udGV4dElkQW5kTGFiZWwodHQucGFyZW5SLCBjb25zdHJ1Y3RvckNvbnRleHRJZCkpIHtcbiAgICBpZiAodG9rZW5zLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZCA9PT0gY29uc3RydWN0b3JDb250ZXh0SWQpIHtcbiAgICAgIC8vIEN1cnJlbnQgdG9rZW4gaXMgYW4gb3BlbiBwYXJlbiBvciBjb21tYSBqdXN0IGJlZm9yZSBhIHBhcmFtLCBzbyBjaGVja1xuICAgICAgLy8gdGhhdCBwYXJhbSBmb3IgYWNjZXNzIG1vZGlmaWVycy5cbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICAgIGlmIChpc0FjY2Vzc01vZGlmaWVyKHRva2Vucy5jdXJyZW50VG9rZW4oKSkpIHtcbiAgICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgICAgICB3aGlsZSAoaXNBY2Nlc3NNb2RpZmllcih0b2tlbnMuY3VycmVudFRva2VuKCkpKSB7XG4gICAgICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRva2VuID0gdG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICAgICAgICBpZiAodG9rZW4udHlwZSAhPT0gdHQubmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGlkZW50aWZpZXIgYWZ0ZXIgYWNjZXNzIG1vZGlmaWVycyBpbiBjb25zdHJ1Y3RvciBhcmcuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWUgPSB0b2tlbnMuaWRlbnRpZmllck5hbWVGb3JUb2tlbih0b2tlbik7XG4gICAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLnB1c2goYHRoaXMuJHtuYW1lfSA9ICR7bmFtZX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgIH1cbiAgfVxuICAvLyApXG4gIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgLy8gQ29uc3RydWN0b3IgdHlwZSBhbm5vdGF0aW9ucyBhcmUgaW52YWxpZCwgYnV0IHNraXAgdGhlbSBhbnl3YXkgc2luY2VcbiAgLy8gdGhleSdyZSBlYXN5IHRvIHNraXAuXG4gIHdoaWxlICh0b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlKSB7XG4gICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB9XG4gIGxldCBjb25zdHJ1Y3Rvckluc2VydFBvcyA9IHRva2Vucy5jdXJyZW50SW5kZXgoKTtcblxuICAvLyBBZHZhbmNlIHRocm91Z2ggYm9keSBsb29raW5nIGZvciBhIHN1cGVyIGNhbGwuXG4gIGxldCBmb3VuZFN1cGVyQ2FsbCA9IGZhbHNlO1xuICB3aGlsZSAoIXRva2Vucy5tYXRjaGVzQ29udGV4dElkQW5kTGFiZWwodHQuYnJhY2VSLCBjb25zdHJ1Y3RvckNvbnRleHRJZCkpIHtcbiAgICBpZiAoIWZvdW5kU3VwZXJDYWxsICYmIHRva2Vucy5tYXRjaGVzMih0dC5fc3VwZXIsIHR0LnBhcmVuTCkpIHtcbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICAgIGNvbnN0IHN1cGVyQ2FsbENvbnRleHRJZCA9IHRva2Vucy5jdXJyZW50VG9rZW4oKS5jb250ZXh0SWQ7XG4gICAgICBpZiAoc3VwZXJDYWxsQ29udGV4dElkID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgYSBjb250ZXh0IElEIG9uIHRoZSBzdXBlciBjYWxsXCIpO1xuICAgICAgfVxuICAgICAgd2hpbGUgKCF0b2tlbnMubWF0Y2hlc0NvbnRleHRJZEFuZExhYmVsKHR0LnBhcmVuUiwgc3VwZXJDYWxsQ29udGV4dElkKSkge1xuICAgICAgICB0b2tlbnMubmV4dFRva2VuKCk7XG4gICAgICB9XG4gICAgICBjb25zdHJ1Y3Rvckluc2VydFBvcyA9IHRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICAgIGZvdW5kU3VwZXJDYWxsID0gdHJ1ZTtcbiAgICB9XG4gICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB9XG4gIC8vIH1cbiAgdG9rZW5zLm5leHRUb2tlbigpO1xuXG4gIHJldHVybiB7Y29uc3RydWN0b3JJbml0aWFsaXplclN0YXRlbWVudHMsIGNvbnN0cnVjdG9ySW5zZXJ0UG9zfTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgdGhpcyBpcyBhbnkgdG9rZW4gdGhhdCBjYW4gZ28gYmVmb3JlIHRoZSBuYW1lIGluIGEgbWV0aG9kL2ZpZWxkLlxuICovXG5mdW5jdGlvbiBpc0FjY2Vzc01vZGlmaWVyKHRva2VuKSB7XG4gIHJldHVybiBbXG4gICAgdHQuX2FzeW5jLFxuICAgIHR0Ll9nZXQsXG4gICAgdHQuX3NldCxcbiAgICB0dC5wbHVzLFxuICAgIHR0Lm1pbnVzLFxuICAgIHR0Ll9yZWFkb25seSxcbiAgICB0dC5fc3RhdGljLFxuICAgIHR0Ll9wdWJsaWMsXG4gICAgdHQuX3ByaXZhdGUsXG4gICAgdHQuX3Byb3RlY3RlZCxcbiAgICB0dC5fb3ZlcnJpZGUsXG4gICAgdHQuX2Fic3RyYWN0LFxuICAgIHR0LnN0YXIsXG4gICAgdHQuX2RlY2xhcmUsXG4gICAgdHQuaGFzaCxcbiAgXS5pbmNsdWRlcyh0b2tlbi50eXBlKTtcbn1cblxuLyoqXG4gKiBUaGUgbmV4dCB0b2tlbiBvciBzZXQgb2YgdG9rZW5zIGlzIGVpdGhlciBhbiBpZGVudGlmaWVyIG9yIGFuIGV4cHJlc3Npb24gaW4gc3F1YXJlIGJyYWNrZXRzLCBmb3JcbiAqIGEgbWV0aG9kIG9yIGZpZWxkIG5hbWUuXG4gKi9cbmZ1bmN0aW9uIHNraXBGaWVsZE5hbWUodG9rZW5zKSB7XG4gIGlmICh0b2tlbnMubWF0Y2hlczEodHQuYnJhY2tldEwpKSB7XG4gICAgY29uc3Qgc3RhcnRUb2tlbiA9IHRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICBjb25zdCBjbGFzc0NvbnRleHRJZCA9IHN0YXJ0VG9rZW4uY29udGV4dElkO1xuICAgIGlmIChjbGFzc0NvbnRleHRJZCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBjbGFzcyBjb250ZXh0IElEIG9uIGNvbXB1dGVkIG5hbWUgb3BlbiBicmFja2V0LlwiKTtcbiAgICB9XG4gICAgd2hpbGUgKCF0b2tlbnMubWF0Y2hlc0NvbnRleHRJZEFuZExhYmVsKHR0LmJyYWNrZXRSLCBjbGFzc0NvbnRleHRJZCkpIHtcbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICB9XG4gICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB9IGVsc2Uge1xuICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgfVxufVxuIiwgImltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGVsaWRlSW1wb3J0RXF1YWxzKHRva2Vucykge1xuICAvLyBpbXBvcnRcbiAgdG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAvLyBuYW1lXG4gIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAvLyA9XG4gIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAvLyBuYW1lIG9yIHJlcXVpcmVcbiAgdG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gIC8vIEhhbmRsZSBlaXRoZXIgYGltcG9ydCBBID0gcmVxdWlyZSgnQScpYCBvciBgaW1wb3J0IEEgPSBCLkMuRGAuXG4gIGlmICh0b2tlbnMubWF0Y2hlczEodHQucGFyZW5MKSkge1xuICAgIC8vIChcbiAgICB0b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAvLyBwYXRoIHN0cmluZ1xuICAgIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIC8vIClcbiAgICB0b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAodG9rZW5zLm1hdGNoZXMxKHR0LmRvdCkpIHtcbiAgICAgIC8vIC5cbiAgICAgIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgLy8gbmFtZVxuICAgICAgdG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgfVxuICB9XG59XG4iLCAiaW1wb3J0IHtpc1RvcExldmVsRGVjbGFyYXRpb259IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG5cblxuXG5cblxuZXhwb3J0IGNvbnN0IEVNUFRZX0RFQ0xBUkFUSU9OX0lORk8gPSB7XG4gIHR5cGVEZWNsYXJhdGlvbnM6IG5ldyBTZXQoKSxcbiAgdmFsdWVEZWNsYXJhdGlvbnM6IG5ldyBTZXQoKSxcbn07XG5cbi8qKlxuICogR2V0IGFsbCB0b3AtbGV2ZWwgaWRlbnRpZmllcnMgdGhhdCBzaG91bGQgYmUgcHJlc2VydmVkIHdoZW4gZXhwb3J0ZWQgaW4gVHlwZVNjcmlwdC5cbiAqXG4gKiBFeGFtcGxlczpcbiAqIC0gSWYgYW4gaWRlbnRpZmllciBpcyBkZWNsYXJlZCBhcyBgY29uc3QgeGAsIHRoZW4gYGV4cG9ydCB7eH1gIHNob3VsZCBiZSBwcmVzZXJ2ZWQuXG4gKiAtIElmIGl0J3MgZGVjbGFyZWQgYXMgYHR5cGUgeGAsIHRoZW4gYGV4cG9ydCB7eH1gIHNob3VsZCBiZSByZW1vdmVkLlxuICogLSBJZiBpdCdzIGRlY2xhcmVkIGFzIGJvdGggYGNvbnN0IHhgIGFuZCBgdHlwZSB4YCwgdGhlbiB0aGUgZXhwb3J0IHNob3VsZCBiZSBwcmVzZXJ2ZWQuXG4gKiAtIENsYXNzZXMgYW5kIGVudW1zIHNob3VsZCBiZSBwcmVzZXJ2ZWQgKGV2ZW4gdGhvdWdoIHRoZXkgYWxzbyBpbnRyb2R1Y2UgdHlwZXMpLlxuICogLSBJbXBvcnRlZCBpZGVudGlmaWVycyBzaG91bGQgYmUgcHJlc2VydmVkIHNpbmNlIHdlIGRvbid0IGhhdmUgZW5vdWdoIGluZm9ybWF0aW9uIHRvXG4gKiAgIHJ1bGUgdGhlbSBvdXQuIC0taXNvbGF0ZWRNb2R1bGVzIGRpc2FsbG93cyByZS1leHBvcnRzLCB3aGljaCBjYXRjaGVzIGVycm9ycyBoZXJlLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXREZWNsYXJhdGlvbkluZm8odG9rZW5zKSB7XG4gIGNvbnN0IHR5cGVEZWNsYXJhdGlvbnMgPSBuZXcgU2V0KCk7XG4gIGNvbnN0IHZhbHVlRGVjbGFyYXRpb25zID0gbmV3IFNldCgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy50b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB0b2tlbiA9IHRva2Vucy50b2tlbnNbaV07XG4gICAgaWYgKHRva2VuLnR5cGUgPT09IHR0Lm5hbWUgJiYgaXNUb3BMZXZlbERlY2xhcmF0aW9uKHRva2VuKSkge1xuICAgICAgaWYgKHRva2VuLmlzVHlwZSkge1xuICAgICAgICB0eXBlRGVjbGFyYXRpb25zLmFkZCh0b2tlbnMuaWRlbnRpZmllck5hbWVGb3JUb2tlbih0b2tlbikpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWVEZWNsYXJhdGlvbnMuYWRkKHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB7dHlwZURlY2xhcmF0aW9ucywgdmFsdWVEZWNsYXJhdGlvbnN9O1xufVxuIiwgImltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG4vKipcbiAqIFN0YXJ0aW5nIGF0IGBleHBvcnQge2AsIGxvb2sgYWhlYWQgYW5kIHJldHVybiBgdHJ1ZWAgaWYgdGhpcyBpcyBhblxuICogYGV4cG9ydCB7Li4ufSBmcm9tYCBzdGF0ZW1lbnQgYW5kIGBmYWxzZWAgaWYgdGhpcyBpcyBhIHBsYWluIG11bHRpLWV4cG9ydC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNFeHBvcnRGcm9tKHRva2Vucykge1xuICBsZXQgY2xvc2VCcmFjZUluZGV4ID0gdG9rZW5zLmN1cnJlbnRJbmRleCgpO1xuICB3aGlsZSAoIXRva2Vucy5tYXRjaGVzMUF0SW5kZXgoY2xvc2VCcmFjZUluZGV4LCB0dC5icmFjZVIpKSB7XG4gICAgY2xvc2VCcmFjZUluZGV4Kys7XG4gIH1cbiAgcmV0dXJuIChcbiAgICB0b2tlbnMubWF0Y2hlc0NvbnRleHR1YWxBdEluZGV4KGNsb3NlQnJhY2VJbmRleCArIDEsIENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKSAmJlxuICAgIHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoY2xvc2VCcmFjZUluZGV4ICsgMiwgdHQuc3RyaW5nKVxuICApO1xufVxuIiwgImltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG4vKipcbiAqIFN0YXJ0aW5nIGF0IGEgcG90ZW50aWFsIGB3aXRoYCBvciAobGVnYWN5KSBgYXNzZXJ0YCB0b2tlbiwgcmVtb3ZlIHRoZSBpbXBvcnRcbiAqIGF0dHJpYnV0ZXMgaWYgdGhleSBleGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlcyh0b2tlbnMpIHtcbiAgaWYgKFxuICAgIHRva2Vucy5tYXRjaGVzMih0dC5fd2l0aCwgdHQuYnJhY2VMKSB8fFxuICAgICh0b2tlbnMubWF0Y2hlczIodHQubmFtZSwgdHQuYnJhY2VMKSAmJiB0b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2Fzc2VydCkpXG4gICkge1xuICAgIC8vIGFzc2VydFxuICAgIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIC8vIHtcbiAgICB0b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB0b2tlbnMucmVtb3ZlQmFsYW5jZWRDb2RlKCk7XG4gICAgLy8gfVxuICAgIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICB9XG59XG4iLCAiaW1wb3J0IHtUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5cblxuXG4vKipcbiAqIENvbW1vbiBtZXRob2Qgc2hhcmluZyBjb2RlIGJldHdlZW4gQ0pTIGFuZCBFU00gY2FzZXMsIHNpbmNlIHRoZXkncmUgdGhlIHNhbWUgaGVyZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2hvdWxkRWxpZGVEZWZhdWx0RXhwb3J0KFxuICBpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkLFxuICBrZWVwVW51c2VkSW1wb3J0cyxcbiAgdG9rZW5zLFxuICBkZWNsYXJhdGlvbkluZm8sXG4pIHtcbiAgaWYgKCFpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkIHx8IGtlZXBVbnVzZWRJbXBvcnRzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGV4cG9ydFRva2VuID0gdG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICBpZiAoZXhwb3J0VG9rZW4ucmhzRW5kSW5kZXggPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG5vbi1udWxsIHJoc0VuZEluZGV4IG9uIGV4cG9ydCB0b2tlbi5cIik7XG4gIH1cbiAgLy8gVGhlIGV4cG9ydCBtdXN0IGJlIG9mIHRoZSBmb3JtIGBleHBvcnQgZGVmYXVsdCBhYCBvciBgZXhwb3J0IGRlZmF1bHQgYTtgLlxuICBjb25zdCBudW1Ub2tlbnMgPSBleHBvcnRUb2tlbi5yaHNFbmRJbmRleCAtIHRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgaWYgKFxuICAgIG51bVRva2VucyAhPT0gMyAmJlxuICAgICEobnVtVG9rZW5zID09PSA0ICYmIHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoZXhwb3J0VG9rZW4ucmhzRW5kSW5kZXggLSAxLCB0dC5zZW1pKSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGlkZW50aWZpZXJUb2tlbiA9IHRva2Vucy50b2tlbkF0UmVsYXRpdmVJbmRleCgyKTtcbiAgaWYgKGlkZW50aWZpZXJUb2tlbi50eXBlICE9PSB0dC5uYW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGV4cG9ydGVkTmFtZSA9IHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKGlkZW50aWZpZXJUb2tlbik7XG4gIHJldHVybiAoXG4gICAgZGVjbGFyYXRpb25JbmZvLnR5cGVEZWNsYXJhdGlvbnMuaGFzKGV4cG9ydGVkTmFtZSkgJiZcbiAgICAhZGVjbGFyYXRpb25JbmZvLnZhbHVlRGVjbGFyYXRpb25zLmhhcyhleHBvcnRlZE5hbWUpXG4gICk7XG59XG4iLCAiXG5cblxuaW1wb3J0IHtJZGVudGlmaWVyUm9sZSwgaXNEZWNsYXJhdGlvbiwgaXNPYmplY3RTaG9ydGhhbmREZWNsYXJhdGlvbn0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXJcIjtcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IGVsaWRlSW1wb3J0RXF1YWxzIGZyb20gXCIuLi91dGlsL2VsaWRlSW1wb3J0RXF1YWxzXCI7XG5pbXBvcnQgZ2V0RGVjbGFyYXRpb25JbmZvLCB7XG5cbiAgRU1QVFlfREVDTEFSQVRJT05fSU5GTyxcbn0gZnJvbSBcIi4uL3V0aWwvZ2V0RGVjbGFyYXRpb25JbmZvXCI7XG5pbXBvcnQgZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mbyBmcm9tIFwiLi4vdXRpbC9nZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvXCI7XG5pbXBvcnQgaXNFeHBvcnRGcm9tIGZyb20gXCIuLi91dGlsL2lzRXhwb3J0RnJvbVwiO1xuaW1wb3J0IHtyZW1vdmVNYXliZUltcG9ydEF0dHJpYnV0ZXN9IGZyb20gXCIuLi91dGlsL3JlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlc1wiO1xuaW1wb3J0IHNob3VsZEVsaWRlRGVmYXVsdEV4cG9ydCBmcm9tIFwiLi4vdXRpbC9zaG91bGRFbGlkZURlZmF1bHRFeHBvcnRcIjtcblxuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuLyoqXG4gKiBDbGFzcyBmb3IgZWRpdGluZyBpbXBvcnQgc3RhdGVtZW50cyB3aGVuIHdlIGFyZSB0cmFuc2Zvcm1pbmcgdG8gY29tbW9uanMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENKU0ltcG9ydFRyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICAgX19pbml0KCkge3RoaXMuaGFkRXhwb3J0ID0gZmFsc2V9XG4gICBfX2luaXQyKCkge3RoaXMuaGFkTmFtZWRFeHBvcnQgPSBmYWxzZX1cbiAgIF9faW5pdDMoKSB7dGhpcy5oYWREZWZhdWx0RXhwb3J0ID0gZmFsc2V9XG4gIFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICByb290VHJhbnNmb3JtZXIsXG4gICAgIHRva2VucyxcbiAgICAgaW1wb3J0UHJvY2Vzc29yLFxuICAgICBuYW1lTWFuYWdlcixcbiAgICAgaGVscGVyTWFuYWdlcixcbiAgICAgcmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcixcbiAgICAgZW5hYmxlTGVnYWN5QmFiZWw1TW9kdWxlSW50ZXJvcCxcbiAgICAgZW5hYmxlTGVnYWN5VHlwZVNjcmlwdE1vZHVsZUludGVyb3AsXG4gICAgIGlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQsXG4gICAgIGlzRmxvd1RyYW5zZm9ybUVuYWJsZWQsXG4gICAgIHByZXNlcnZlRHluYW1pY0ltcG9ydCxcbiAgICAga2VlcFVudXNlZEltcG9ydHMsXG4gICkge1xuICAgIHN1cGVyKCk7dGhpcy5yb290VHJhbnNmb3JtZXIgPSByb290VHJhbnNmb3JtZXI7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5pbXBvcnRQcm9jZXNzb3IgPSBpbXBvcnRQcm9jZXNzb3I7dGhpcy5uYW1lTWFuYWdlciA9IG5hbWVNYW5hZ2VyO3RoaXMuaGVscGVyTWFuYWdlciA9IGhlbHBlck1hbmFnZXI7dGhpcy5yZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyID0gcmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcjt0aGlzLmVuYWJsZUxlZ2FjeUJhYmVsNU1vZHVsZUludGVyb3AgPSBlbmFibGVMZWdhY3lCYWJlbDVNb2R1bGVJbnRlcm9wO3RoaXMuZW5hYmxlTGVnYWN5VHlwZVNjcmlwdE1vZHVsZUludGVyb3AgPSBlbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcDt0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgPSBpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkO3RoaXMuaXNGbG93VHJhbnNmb3JtRW5hYmxlZCA9IGlzRmxvd1RyYW5zZm9ybUVuYWJsZWQ7dGhpcy5wcmVzZXJ2ZUR5bmFtaWNJbXBvcnQgPSBwcmVzZXJ2ZUR5bmFtaWNJbXBvcnQ7dGhpcy5rZWVwVW51c2VkSW1wb3J0cyA9IGtlZXBVbnVzZWRJbXBvcnRzO0NKU0ltcG9ydFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtDSlNJbXBvcnRUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0Mi5jYWxsKHRoaXMpO0NKU0ltcG9ydFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQzLmNhbGwodGhpcyk7O1xuICAgIHRoaXMuZGVjbGFyYXRpb25JbmZvID0gaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZFxuICAgICAgPyBnZXREZWNsYXJhdGlvbkluZm8odG9rZW5zKVxuICAgICAgOiBFTVBUWV9ERUNMQVJBVElPTl9JTkZPO1xuICB9XG5cbiAgZ2V0UHJlZml4Q29kZSgpIHtcbiAgICBsZXQgcHJlZml4ID0gXCJcIjtcbiAgICBpZiAodGhpcy5oYWRFeHBvcnQpIHtcbiAgICAgIHByZWZpeCArPSAnT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7dmFsdWU6IHRydWV9KTsnO1xuICAgIH1cbiAgICByZXR1cm4gcHJlZml4O1xuICB9XG5cbiAgZ2V0U3VmZml4Q29kZSgpIHtcbiAgICBpZiAodGhpcy5lbmFibGVMZWdhY3lCYWJlbDVNb2R1bGVJbnRlcm9wICYmIHRoaXMuaGFkRGVmYXVsdEV4cG9ydCAmJiAhdGhpcy5oYWROYW1lZEV4cG9ydCkge1xuICAgICAgcmV0dXJuIFwiXFxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XFxuXCI7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICAvLyBUeXBlU2NyaXB0IGBpbXBvcnQgZm9vID0gcmVxdWlyZSgnZm9vJyk7YCBzaG91bGQgYWx3YXlzIGp1c3QgYmUgdHJhbnNsYXRlZCB0byBwbGFpbiByZXF1aXJlLlxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5faW1wb3J0LCB0dC5uYW1lLCB0dC5lcSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NJbXBvcnRFcXVhbHMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9pbXBvcnQpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NJbXBvcnQoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQuZXEpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCJtb2R1bGUuZXhwb3J0c1wiKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuX2V4cG9ydCkgJiYgIXRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLmlzVHlwZSkge1xuICAgICAgdGhpcy5oYWRFeHBvcnQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0V4cG9ydCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczIodHQubmFtZSwgdHQucG9zdEluY0RlYykpIHtcbiAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBub3JtYWwgaWRlbnRpZmllciBtYXRjaGluZyBpZiB0aGlzIGRvZXNuJ3QgYXBwbHkuXG4gICAgICBpZiAodGhpcy5wcm9jZXNzUG9zdEluY0RlYygpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQubmFtZSkgfHwgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4TmFtZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NJZGVudGlmaWVyKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5lcSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NBc3NpZ25tZW50KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5hc3NpZ24pKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ29tcGxleEFzc2lnbm1lbnQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnByZUluY0RlYykpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NQcmVJbmNEZWMoKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgIHByb2Nlc3NJbXBvcnRFcXVhbHMoKSB7XG4gICAgY29uc3QgaW1wb3J0TmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEpO1xuICAgIGlmICh0aGlzLmltcG9ydFByb2Nlc3Nvci5zaG91bGRBdXRvbWF0aWNhbGx5RWxpZGVJbXBvcnRlZE5hbWUoaW1wb3J0TmFtZSkpIHtcbiAgICAgIC8vIElmIHRoaXMgbmFtZSBpcyBvbmx5IHVzZWQgYXMgYSB0eXBlLCBlbGlkZSB0aGUgd2hvbGUgaW1wb3J0LlxuICAgICAgZWxpZGVJbXBvcnRFcXVhbHModGhpcy50b2tlbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBPdGhlcndpc2UsIHN3aXRjaCBgaW1wb3J0YCB0byBgY29uc3RgLlxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiY29uc3RcIik7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGlzOlxuICAgKiBpbXBvcnQgZm9vLCB7YmFyfSBmcm9tICdiYXonO1xuICAgKiBpbnRvXG4gICAqIHZhciBfYmF6ID0gcmVxdWlyZSgnYmF6Jyk7IHZhciBfYmF6MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Jheik7XG4gICAqXG4gICAqIFRoZSBpbXBvcnQgY29kZSB3YXMgYWxyZWFkeSBnZW5lcmF0ZWQgaW4gdGhlIGltcG9ydCBwcmVwcm9jZXNzaW5nIHN0ZXAsIHNvXG4gICAqIHdlIGp1c3QgbmVlZCB0byBsb29rIGl0IHVwLlxuICAgKi9cbiAgIHByb2Nlc3NJbXBvcnQoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9pbXBvcnQsIHR0LnBhcmVuTCkpIHtcbiAgICAgIGlmICh0aGlzLnByZXNlcnZlRHluYW1pY0ltcG9ydCkge1xuICAgICAgICAvLyBCYWlsIG91dCwgb25seSBtYWtpbmcgcHJvZ3Jlc3MgZm9yIHRoaXMgb25lIHRva2VuLlxuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVxdWlyZVdyYXBwZXIgPSB0aGlzLmVuYWJsZUxlZ2FjeVR5cGVTY3JpcHRNb2R1bGVJbnRlcm9wXG4gICAgICAgID8gXCJcIlxuICAgICAgICA6IGAke3RoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFwiaW50ZXJvcFJlcXVpcmVXaWxkY2FyZFwiKX0oYDtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiAke3JlcXVpcmVXcmFwcGVyfXJlcXVpcmVgKTtcbiAgICAgIGNvbnN0IGNvbnRleHRJZCA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZDtcbiAgICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBjb250ZXh0IElEIG9uIGR5bmFtaWMgaW1wb3J0IGludm9jYXRpb24uXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0SWRBbmRMYWJlbCh0dC5wYXJlblIsIGNvbnRleHRJZCkpIHtcbiAgICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc1Rva2VuKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4ocmVxdWlyZVdyYXBwZXIgPyBcIikpKVwiIDogXCIpKVwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzaG91bGRFbGlkZUltcG9ydCA9IHRoaXMucmVtb3ZlSW1wb3J0QW5kRGV0ZWN0SWZTaG91bGRFbGlkZSgpO1xuICAgIGlmIChzaG91bGRFbGlkZUltcG9ydCkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGF0aCA9IHRoaXMudG9rZW5zLnN0cmluZ1ZhbHVlKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKHRoaXMuaW1wb3J0UHJvY2Vzc29yLmNsYWltSW1wb3J0Q29kZShwYXRoKSk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKHRoaXMuaW1wb3J0UHJvY2Vzc29yLmNsYWltSW1wb3J0Q29kZShwYXRoKSk7XG4gICAgfVxuICAgIHJlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlcyh0aGlzLnRva2Vucyk7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnNlbWkpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFcmFzZSB0aGlzIGltcG9ydCAoc2luY2UgYW55IENKUyBvdXRwdXQgd291bGQgYmUgY29tcGxldGVseSBkaWZmZXJlbnQpLCBhbmRcbiAgICogcmV0dXJuIHRydWUgaWYgdGhpcyBpbXBvcnQgaXMgc2hvdWxkIGJlIGVsaWRlZCBkdWUgdG8gYmVpbmcgYSB0eXBlLW9ubHlcbiAgICogaW1wb3J0LiBTdWNoIGltcG9ydHMgd2lsbCBub3QgYmUgZW1pdHRlZCBhdCBhbGwgdG8gYXZvaWQgc2lkZSBlZmZlY3RzLlxuICAgKlxuICAgKiBJbXBvcnQgZWxpc2lvbiBvbmx5IGhhcHBlbnMgd2l0aCB0aGUgVHlwZVNjcmlwdCBvciBGbG93IHRyYW5zZm9ybXMgZW5hYmxlZC5cbiAgICpcbiAgICogVE9ETzogVGhpcyBmdW5jdGlvbiBoYXMgc29tZSBhd2t3YXJkIG92ZXJsYXAgd2l0aFxuICAgKiAgQ0pTSW1wb3J0UHJvY2Vzc29yLnBydW5lVHlwZU9ubHlJbXBvcnRzICwgYW5kIHRoZSB0d28gc2hvdWxkIGJlIHVuaWZpZWQuXG4gICAqICBUaGF0IGZ1bmN0aW9uIGhhbmRsZXMgVHlwZVNjcmlwdCBpbXBsaWNpdCBpbXBvcnQgbmFtZSBlbGlzaW9uLCBhbmQgcmVtb3Zlc1xuICAgKiAgYW4gaW1wb3J0IGlmIGFsbCB0eXBpY2FsIGltcG9ydGVkIG5hbWVzICh3aXRob3V0IGB0eXBlYCkgYXJlIHJlbW92ZWQgZHVlXG4gICAqICB0byBiZWluZyB0eXBlLW9ubHkgaW1wb3J0cy4gVGhpcyBmdW5jdGlvbiBoYW5kbGVzIEZsb3cgaW1wb3J0IHJlbW92YWwgYW5kXG4gICAqICBwcm9wZXJseSBkaXN0aW5ndWlzaGVzIGBpbXBvcnQgJ2ZvbydgIGZyb20gYGltcG9ydCB7fSBmcm9tICdmb28nYCBmb3IgVFNcbiAgICogIHB1cnBvc2VzLlxuICAgKlxuICAgKiBUaGUgcG9zaXRpb24gc2hvdWxkIGVuZCBhdCB0aGUgaW1wb3J0IHN0cmluZy5cbiAgICovXG4gICByZW1vdmVJbXBvcnRBbmREZXRlY3RJZlNob3VsZEVsaWRlKCkge1xuICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKSAmJlxuICAgICAgIXRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEsIHR0LmNvbW1hKSAmJlxuICAgICAgIXRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEsIENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKVxuICAgICkge1xuICAgICAgLy8gVGhpcyBpcyBhbiBcImltcG9ydCB0eXBlXCIgc3RhdGVtZW50LCBzbyBleGl0IGVhcmx5LlxuICAgICAgdGhpcy5yZW1vdmVSZW1haW5pbmdJbXBvcnQoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5uYW1lKSB8fCB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5zdGFyKSkge1xuICAgICAgLy8gV2UgaGF2ZSBhIGRlZmF1bHQgaW1wb3J0IG9yIG5hbWVzcGFjZSBpbXBvcnQsIHNvIHRoZXJlIG11c3QgYmUgc29tZVxuICAgICAgLy8gbm9uLXR5cGUgaW1wb3J0LlxuICAgICAgdGhpcy5yZW1vdmVSZW1haW5pbmdJbXBvcnQoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuc3RyaW5nKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJhcmUgaW1wb3J0LCBzbyB3ZSBzaG91bGQgcHJvY2VlZCB3aXRoIHRoZSBpbXBvcnQuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgbGV0IGZvdW5kTm9uVHlwZUltcG9ydCA9IGZhbHNlO1xuICAgIGxldCBmb3VuZEFueU5hbWVkSW1wb3J0ID0gZmFsc2U7XG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5zdHJpbmcpKSB7XG4gICAgICAvLyBDaGVjayBpZiBhbnkgbmFtZWQgaW1wb3J0cyBhcmUgb2YgdGhlIGZvcm0gXCJmb29cIiBvciBcImZvbyBhcyBiYXJcIiwgd2l0aFxuICAgICAgLy8gbm8gbGVhZGluZyBcInR5cGVcIi5cbiAgICAgIGlmIChcbiAgICAgICAgKCFmb3VuZE5vblR5cGVJbXBvcnQgJiYgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKSkgfHxcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuY29tbWEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgaWYgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZVIpKSB7XG4gICAgICAgICAgZm91bmRBbnlOYW1lZEltcG9ydCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Lm5hbWUsIHR0LmNvbW1hKSB8fFxuICAgICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Lm5hbWUsIHR0LmJyYWNlUikgfHxcbiAgICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNCh0dC5uYW1lLCB0dC5uYW1lLCB0dC5uYW1lLCB0dC5jb21tYSkgfHxcbiAgICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNCh0dC5uYW1lLCB0dC5uYW1lLCB0dC5uYW1lLCB0dC5icmFjZVIpXG4gICAgICAgICkge1xuICAgICAgICAgIGZvdW5kTm9uVHlwZUltcG9ydCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmtlZXBVbnVzZWRJbXBvcnRzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQpIHtcbiAgICAgIHJldHVybiAhZm91bmROb25UeXBlSW1wb3J0O1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0Zsb3dUcmFuc2Zvcm1FbmFibGVkKSB7XG4gICAgICAvLyBJbiBGbG93LCB1bmxpa2UgVFMsIGBpbXBvcnQge30gZnJvbSAnZm9vJztgIHByZXNlcnZlcyB0aGUgaW1wb3J0LlxuICAgICAgcmV0dXJuIGZvdW5kQW55TmFtZWRJbXBvcnQgJiYgIWZvdW5kTm9uVHlwZUltcG9ydDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gICByZW1vdmVSZW1haW5pbmdJbXBvcnQoKSB7XG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5zdHJpbmcpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gICBwcm9jZXNzSWRlbnRpZmllcigpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICAgIGlmICh0b2tlbi5zaGFkb3dzR2xvYmFsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuLmlkZW50aWZpZXJSb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmQpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NPYmplY3RTaG9ydGhhbmQoKTtcbiAgICB9XG5cbiAgICBpZiAodG9rZW4uaWRlbnRpZmllclJvbGUgIT09IElkZW50aWZpZXJSb2xlLkFjY2Vzcykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCByZXBsYWNlbWVudCA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yLmdldElkZW50aWZpZXJSZXBsYWNlbWVudChcbiAgICAgIHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odG9rZW4pLFxuICAgICk7XG4gICAgaWYgKCFyZXBsYWNlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBUb2xlcmF0ZSBhbnkgbnVtYmVyIG9mIGNsb3NpbmcgcGFyZW5zIHdoaWxlIGxvb2tpbmcgZm9yIGFuIG9wZW5pbmcgcGFyZW5cbiAgICAvLyB0aGF0IGluZGljYXRlcyBhIGZ1bmN0aW9uIGNhbGwuXG4gICAgbGV0IHBvc3NpYmxlT3BlblBhcmVuSW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDE7XG4gICAgd2hpbGUgKFxuICAgICAgcG9zc2libGVPcGVuUGFyZW5JbmRleCA8IHRoaXMudG9rZW5zLnRva2Vucy5sZW5ndGggJiZcbiAgICAgIHRoaXMudG9rZW5zLnRva2Vuc1twb3NzaWJsZU9wZW5QYXJlbkluZGV4XS50eXBlID09PSB0dC5wYXJlblJcbiAgICApIHtcbiAgICAgIHBvc3NpYmxlT3BlblBhcmVuSW5kZXgrKztcbiAgICB9XG4gICAgLy8gQXZvaWQgdHJlYXRpbmcgaW1wb3J0ZWQgZnVuY3Rpb25zIGFzIG1ldGhvZHMgb2YgdGhlaXIgYGV4cG9ydHNgIG9iamVjdFxuICAgIC8vIGJ5IHVzaW5nIGAoMCwgZilgIHdoZW4gdGhlIGlkZW50aWZpZXIgaXMgaW4gYSBwYXJlbiBleHByZXNzaW9uLiBFbHNlXG4gICAgLy8gdXNlIGBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbGAgd2hlbiB0aGUgaWRlbnRpZmllciBpcyBhIGd1YXJhbnRlZWRcbiAgICAvLyBmdW5jdGlvbiBjYWxsLiBXaGVuIHVzaW5nIGBjYWxsYCwgcGFzcyB1bmRlZmluZWQgYXMgdGhlIGNvbnRleHQuXG4gICAgaWYgKHRoaXMudG9rZW5zLnRva2Vuc1twb3NzaWJsZU9wZW5QYXJlbkluZGV4XS50eXBlID09PSB0dC5wYXJlbkwpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy50b2tlbnMudG9rZW5BdFJlbGF0aXZlSW5kZXgoMSkudHlwZSA9PT0gdHQucGFyZW5MICYmXG4gICAgICAgIHRoaXMudG9rZW5zLnRva2VuQXRSZWxhdGl2ZUluZGV4KC0xKS50eXBlICE9PSB0dC5fbmV3XG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAke3JlcGxhY2VtZW50fS5jYWxsKHZvaWQgMCwgYCk7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgb2xkIHBhcmVuLlxuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAvLyBCYWxhbmNlIG91dCB0aGUgbmV3IHBhcmVuLlxuICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuUik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTZWUgaGVyZTogaHR0cDovLzJhbGl0eS5jb20vMjAxNS8xMi9yZWZlcmVuY2VzLmh0bWxcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAoMCwgJHtyZXBsYWNlbWVudH0pYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihyZXBsYWNlbWVudCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvY2Vzc09iamVjdFNob3J0aGFuZCgpIHtcbiAgICBjb25zdCBpZGVudGlmaWVyID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWUoKTtcbiAgICBjb25zdCByZXBsYWNlbWVudCA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yLmdldElkZW50aWZpZXJSZXBsYWNlbWVudChpZGVudGlmaWVyKTtcbiAgICBpZiAoIXJlcGxhY2VtZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgJHtpZGVudGlmaWVyfTogJHtyZXBsYWNlbWVudH1gKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb2Nlc3NFeHBvcnQoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQuX2VudW0pIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5fZXhwb3J0LCB0dC5fY29uc3QsIHR0Ll9lbnVtKVxuICAgICkge1xuICAgICAgdGhpcy5oYWROYW1lZEV4cG9ydCA9IHRydWU7XG4gICAgICAvLyBMZXQgdGhlIFR5cGVTY3JpcHQgdHJhbnNmb3JtIGhhbmRsZSBpdC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0KSkge1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMzKHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fZW51bSkpIHtcbiAgICAgICAgdGhpcy5oYWREZWZhdWx0RXhwb3J0ID0gdHJ1ZTtcbiAgICAgICAgLy8gRmxvdyBleHBvcnQgZGVmYXVsdCBlbnVtcyBuZWVkIHNvbWUgc3BlY2lhbCBoYW5kbGluZywgc28gaGFuZGxlIHRoZW1cbiAgICAgICAgLy8gaW4gdGhhdCB0cmFuZm9ybSByYXRoZXIgdGhhbiB0aGlzIG9uZS5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5wcm9jZXNzRXhwb3J0RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5icmFjZUwpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NFeHBvcnRCaW5kaW5ncygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Lm5hbWUpICYmXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbEF0SW5kZXgodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxLCBDb250ZXh0dWFsS2V5d29yZC5fdHlwZSlcbiAgICApIHtcbiAgICAgIC8vIGV4cG9ydCB0eXBlIHthfTtcbiAgICAgIC8vIGV4cG9ydCB0eXBlIHthIGFzIGJ9O1xuICAgICAgLy8gZXhwb3J0IHR5cGUge2F9IGZyb20gJy4vYic7XG4gICAgICAvLyBleHBvcnQgdHlwZSAqIGZyb20gJy4vYic7XG4gICAgICAvLyBleHBvcnQgdHlwZSAqIGFzIG5zIGZyb20gJy4vYic7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKSkge1xuICAgICAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyAqXG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fYXMpKSB7XG4gICAgICAgICAgLy8gYXNcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAgIC8vIG5zXG4gICAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gUmVtb3ZlIHR5cGUgcmUtZXhwb3J0IGAuLi4gfSBmcm9tICcuL1QnYFxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkgJiZcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSwgdHQuc3RyaW5nKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIHJlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlcyh0aGlzLnRva2Vucyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5oYWROYW1lZEV4cG9ydCA9IHRydWU7XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQuX3ZhcikgfHxcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Ll9sZXQpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5fY29uc3QpXG4gICAgKSB7XG4gICAgICB0aGlzLnByb2Nlc3NFeHBvcnRWYXIoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5fZnVuY3Rpb24pIHx8XG4gICAgICAvLyBleHBvcnQgYXN5bmMgZnVuY3Rpb25cbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMzKHR0Ll9leHBvcnQsIHR0Lm5hbWUsIHR0Ll9mdW5jdGlvbilcbiAgICApIHtcbiAgICAgIHRoaXMucHJvY2Vzc0V4cG9ydEZ1bmN0aW9uKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQuX2NsYXNzKSB8fFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczModHQuX2V4cG9ydCwgdHQuX2Fic3RyYWN0LCB0dC5fY2xhc3MpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5hdClcbiAgICApIHtcbiAgICAgIHRoaXMucHJvY2Vzc0V4cG9ydENsYXNzKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0LnN0YXIpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NFeHBvcnRTdGFyKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5yZWNvZ25pemVkIGV4cG9ydCBzeW50YXguXCIpO1xuICAgIH1cbiAgfVxuXG4gICBwcm9jZXNzQXNzaWdubWVudCgpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpO1xuICAgIGNvbnN0IGlkZW50aWZpZXJUb2tlbiA9IHRoaXMudG9rZW5zLnRva2Vuc1tpbmRleCAtIDFdO1xuICAgIC8vIElmIHRoZSBMSFMgaXMgYSB0eXBlIGlkZW50aWZpZXIsIHRoaXMgbXVzdCBiZSBhIGRlY2xhcmF0aW9uIGxpa2UgYGxldCBhOiBiID0gYztgLFxuICAgIC8vIHdpdGggYGJgIGFzIHRoZSBpZGVudGlmaWVyLCBzbyBub3RoaW5nIG5lZWRzIHRvIGJlIGRvbmUgaW4gdGhhdCBjYXNlLlxuICAgIGlmIChpZGVudGlmaWVyVG9rZW4uaXNUeXBlIHx8IGlkZW50aWZpZXJUb2tlbi50eXBlICE9PSB0dC5uYW1lKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpZGVudGlmaWVyVG9rZW4uc2hhZG93c0dsb2JhbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaW5kZXggPj0gMiAmJiB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXggLSAyLCB0dC5kb3QpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpbmRleCA+PSAyICYmIFt0dC5fdmFyLCB0dC5fbGV0LCB0dC5fY29uc3RdLmluY2x1ZGVzKHRoaXMudG9rZW5zLnRva2Vuc1tpbmRleCAtIDJdLnR5cGUpKSB7XG4gICAgICAvLyBEZWNsYXJhdGlvbnMgZG9uJ3QgbmVlZCBhbiBleHRyYSBhc3NpZ25tZW50LiBUaGlzIGRvZXNuJ3QgYXZvaWQgdGhlXG4gICAgICAvLyBhc3NpZ25tZW50IGZvciBjb21tYS1zZXBhcmF0ZWQgZGVjbGFyYXRpb25zLCBidXQgaXQncyBzdGlsbCBjb3JyZWN0XG4gICAgICAvLyBzaW5jZSB0aGUgYXNzaWdubWVudCBpcyBqdXN0IHJlZHVuZGFudC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgYXNzaWdubWVudFNuaXBwZXQgPSB0aGlzLmltcG9ydFByb2Nlc3Nvci5yZXNvbHZlRXhwb3J0QmluZGluZyhcbiAgICAgIHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4oaWRlbnRpZmllclRva2VuKSxcbiAgICApO1xuICAgIGlmICghYXNzaWdubWVudFNuaXBwZXQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgICR7YXNzaWdubWVudFNuaXBwZXR9ID1gKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHNvbWV0aGluZyBsaWtlIGBhICs9IDNgLCB3aGVyZSBgYWAgbWlnaHQgYmUgYW4gZXhwb3J0ZWQgdmFsdWUuXG4gICAqL1xuICAgcHJvY2Vzc0NvbXBsZXhBc3NpZ25tZW50KCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCk7XG4gICAgY29uc3QgaWRlbnRpZmllclRva2VuID0gdGhpcy50b2tlbnMudG9rZW5zW2luZGV4IC0gMV07XG4gICAgaWYgKGlkZW50aWZpZXJUb2tlbi50eXBlICE9PSB0dC5uYW1lKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpZGVudGlmaWVyVG9rZW4uc2hhZG93c0dsb2JhbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaW5kZXggPj0gMiAmJiB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXggLSAyLCB0dC5kb3QpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGFzc2lnbm1lbnRTbmlwcGV0ID0gdGhpcy5pbXBvcnRQcm9jZXNzb3IucmVzb2x2ZUV4cG9ydEJpbmRpbmcoXG4gICAgICB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKGlkZW50aWZpZXJUb2tlbiksXG4gICAgKTtcbiAgICBpZiAoIWFzc2lnbm1lbnRTbmlwcGV0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCA9ICR7YXNzaWdubWVudFNuaXBwZXR9YCk7XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VzcyBzb21ldGhpbmcgbGlrZSBgKythYCwgd2hlcmUgYGFgIG1pZ2h0IGJlIGFuIGV4cG9ydGVkIHZhbHVlLlxuICAgKi9cbiAgIHByb2Nlc3NQcmVJbmNEZWMoKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICBjb25zdCBpZGVudGlmaWVyVG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbnNbaW5kZXggKyAxXTtcbiAgICBpZiAoaWRlbnRpZmllclRva2VuLnR5cGUgIT09IHR0Lm5hbWUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGlkZW50aWZpZXJUb2tlbi5zaGFkb3dzR2xvYmFsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIElnbm9yZSB0aGluZ3MgbGlrZSArK2EuYiBhbmQgKythW2JdIGFuZCArK2EoKS5iLlxuICAgIGlmIChcbiAgICAgIGluZGV4ICsgMiA8IHRoaXMudG9rZW5zLnRva2Vucy5sZW5ndGggJiZcbiAgICAgICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXggKyAyLCB0dC5kb3QpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCArIDIsIHR0LmJyYWNrZXRMKSB8fFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXggKyAyLCB0dC5wYXJlbkwpKVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBpZGVudGlmaWVyTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4oaWRlbnRpZmllclRva2VuKTtcbiAgICBjb25zdCBhc3NpZ25tZW50U25pcHBldCA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yLnJlc29sdmVFeHBvcnRCaW5kaW5nKGlkZW50aWZpZXJOYW1lKTtcbiAgICBpZiAoIWFzc2lnbm1lbnRTbmlwcGV0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCR7YXNzaWdubWVudFNuaXBwZXR9ID0gYCk7XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VzcyBzb21ldGhpbmcgbGlrZSBgYSsrYCwgd2hlcmUgYGFgIG1pZ2h0IGJlIGFuIGV4cG9ydGVkIHZhbHVlLlxuICAgKiBUaGlzIHN0YXJ0cyBhdCB0aGUgYGFgLCBub3QgYXQgdGhlIGArK2AuXG4gICAqL1xuICAgcHJvY2Vzc1Bvc3RJbmNEZWMoKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICBjb25zdCBpZGVudGlmaWVyVG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbnNbaW5kZXhdO1xuICAgIGNvbnN0IG9wZXJhdG9yVG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbnNbaW5kZXggKyAxXTtcbiAgICBpZiAoaWRlbnRpZmllclRva2VuLnR5cGUgIT09IHR0Lm5hbWUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGlkZW50aWZpZXJUb2tlbi5zaGFkb3dzR2xvYmFsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpbmRleCA+PSAxICYmIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCAtIDEsIHR0LmRvdCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgaWRlbnRpZmllck5hbWUgPSB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKGlkZW50aWZpZXJUb2tlbik7XG4gICAgY29uc3QgYXNzaWdubWVudFNuaXBwZXQgPSB0aGlzLmltcG9ydFByb2Nlc3Nvci5yZXNvbHZlRXhwb3J0QmluZGluZyhpZGVudGlmaWVyTmFtZSk7XG4gICAgaWYgKCFhc3NpZ25tZW50U25pcHBldCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBvcGVyYXRvckNvZGUgPSB0aGlzLnRva2Vucy5yYXdDb2RlRm9yVG9rZW4ob3BlcmF0b3JUb2tlbik7XG4gICAgLy8gV2UgbWlnaHQgYWxzbyByZXBsYWNlIHRoZSBpZGVudGlmaWVyIHdpdGggc29tZXRoaW5nIGxpa2UgZXhwb3J0cy54LCBzb1xuICAgIC8vIGRvIHRoYXQgcmVwbGFjZW1lbnQgaGVyZSBhcyB3ZWxsLlxuICAgIGNvbnN0IGJhc2UgPSB0aGlzLmltcG9ydFByb2Nlc3Nvci5nZXRJZGVudGlmaWVyUmVwbGFjZW1lbnQoaWRlbnRpZmllck5hbWUpIHx8IGlkZW50aWZpZXJOYW1lO1xuICAgIGlmIChvcGVyYXRvckNvZGUgPT09IFwiKytcIikge1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAoJHtiYXNlfSA9ICR7YXNzaWdubWVudFNuaXBwZXR9ID0gJHtiYXNlfSArIDEsICR7YmFzZX0gLSAxKWApO1xuICAgIH0gZWxzZSBpZiAob3BlcmF0b3JDb2RlID09PSBcIi0tXCIpIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgKCR7YmFzZX0gPSAke2Fzc2lnbm1lbnRTbmlwcGV0fSA9ICR7YmFzZX0gLSAxLCAke2Jhc2V9ICsgMSlgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG9wZXJhdG9yOiAke29wZXJhdG9yQ29kZX1gKTtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gICBwcm9jZXNzRXhwb3J0RGVmYXVsdCgpIHtcbiAgICBsZXQgZXhwb3J0ZWRSdW50aW1lVmFsdWUgPSB0cnVlO1xuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXM0KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fZnVuY3Rpb24sIHR0Lm5hbWUpIHx8XG4gICAgICAvLyBleHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvblxuICAgICAgKHRoaXMudG9rZW5zLm1hdGNoZXM1KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5uYW1lLCB0dC5fZnVuY3Rpb24sIHR0Lm5hbWUpICYmXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleChcbiAgICAgICAgICB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDIsXG4gICAgICAgICAgQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jLFxuICAgICAgICApKVxuICAgICkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgLy8gTmFtZWQgZnVuY3Rpb24gZXhwb3J0IGNhc2U6IGNoYW5nZSBpdCB0byBhIHRvcC1sZXZlbCBmdW5jdGlvblxuICAgICAgLy8gZGVjbGFyYXRpb24gZm9sbG93ZWQgYnkgZXhwb3J0cyBzdGF0ZW1lbnQuXG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5wcm9jZXNzTmFtZWRGdW5jdGlvbigpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgIGV4cG9ydHMuZGVmYXVsdCA9ICR7bmFtZX07YCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXM0KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fY2xhc3MsIHR0Lm5hbWUpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNSh0dC5fZXhwb3J0LCB0dC5fZGVmYXVsdCwgdHQuX2Fic3RyYWN0LCB0dC5fY2xhc3MsIHR0Lm5hbWUpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5fZXhwb3J0LCB0dC5fZGVmYXVsdCwgdHQuYXQpXG4gICAgKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB0aGlzLmNvcHlEZWNvcmF0b3JzKCk7XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuX2Fic3RyYWN0KSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgfVxuICAgICAgY29uc3QgbmFtZSA9IHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NOYW1lZENsYXNzKCk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAgZXhwb3J0cy5kZWZhdWx0ID0gJHtuYW1lfTtgKTtcbiAgICAgIC8vIEFmdGVyIHRoaXMgcG9pbnQsIHRoaXMgaXMgYSBwbGFpbiBcImV4cG9ydCBkZWZhdWx0IEVcIiBzdGF0ZW1lbnQuXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHNob3VsZEVsaWRlRGVmYXVsdEV4cG9ydChcbiAgICAgICAgdGhpcy5pc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkLFxuICAgICAgICB0aGlzLmtlZXBVbnVzZWRJbXBvcnRzLFxuICAgICAgICB0aGlzLnRva2VucyxcbiAgICAgICAgdGhpcy5kZWNsYXJhdGlvbkluZm8sXG4gICAgICApXG4gICAgKSB7XG4gICAgICAvLyBJZiB0aGUgZXhwb3J0ZWQgdmFsdWUgaXMganVzdCBhbiBpZGVudGlmaWVyIGFuZCBzaG91bGQgYmUgZWxpZGVkIGJ5IFR5cGVTY3JpcHRcbiAgICAgIC8vIHJ1bGVzLCB0aGVuIHJlbW92ZSBpdCBlbnRpcmVseS4gSXQgd2lsbCBhbHdheXMgaGF2ZSB0aGUgZm9ybSBgZXhwb3J0IGRlZmF1bHQgZWAsXG4gICAgICAvLyB3aGVyZSBgZWAgaXMgYW4gaWRlbnRpZmllci5cbiAgICAgIGV4cG9ydGVkUnVudGltZVZhbHVlID0gZmFsc2U7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyKSB7XG4gICAgICAvLyBXZSBuZWVkIHRvIGFzc2lnbiBFIHRvIGEgdmFyaWFibGUuIENoYW5nZSBcImV4cG9ydCBkZWZhdWx0IEVcIiB0b1xuICAgICAgLy8gXCJsZXQgX2RlZmF1bHQ7IGV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0ID0gRVwiXG4gICAgICBjb25zdCBkZWZhdWx0VmFyTmFtZSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcIl9kZWZhdWx0XCIpO1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGBsZXQgJHtkZWZhdWx0VmFyTmFtZX07IGV4cG9ydHMuYCk7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCA9ICR7ZGVmYXVsdFZhck5hbWV9ID1gKTtcbiAgICAgIHRoaXMucmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lci5zZXRFeHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZShkZWZhdWx0VmFyTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENoYW5nZSBcImV4cG9ydCBkZWZhdWx0IEVcIiB0byBcImV4cG9ydHMuZGVmYXVsdCA9IEVcIlxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiZXhwb3J0cy5cIik7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIgPVwiKTtcbiAgICB9XG4gICAgaWYgKGV4cG9ydGVkUnVudGltZVZhbHVlKSB7XG4gICAgICB0aGlzLmhhZERlZmF1bHRFeHBvcnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gICBjb3B5RGVjb3JhdG9ycygpIHtcbiAgICB3aGlsZSAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYXQpKSB7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5wYXJlbkwpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuTCk7XG4gICAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQucGFyZW5SKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0Lm5hbWUpO1xuICAgICAgICB3aGlsZSAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuZG90KSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LmRvdCk7XG4gICAgICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQubmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnBhcmVuTCkpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5wYXJlbkwpO1xuICAgICAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5wYXJlblIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBhIGRlY2xhcmF0aW9uIGxpa2UgYGV4cG9ydCB2YXJgLCBgZXhwb3J0IGxldGAsIG9yIGBleHBvcnQgY29uc3RgLlxuICAgKi9cbiAgIHByb2Nlc3NFeHBvcnRWYXIoKSB7XG4gICAgaWYgKHRoaXMuaXNTaW1wbGVFeHBvcnRWYXIoKSkge1xuICAgICAgdGhpcy5wcm9jZXNzU2ltcGxlRXhwb3J0VmFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc0NvbXBsZXhFeHBvcnRWYXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBleHBvcnQgaXMgb2YgdGhlIGZvcm06XG4gICAqIGV4cG9ydCB2YXIvbGV0L2NvbnN0IFt2YXJOYW1lXSA9IFtleHByXTtcbiAgICogSW4gb3RoZXIgd29yZHMsIGRldGVybWluZSBpZiBmdW5jdGlvbiBuYW1lIGluZmVyZW5jZSBtaWdodCBhcHBseS5cbiAgICovXG4gICBpc1NpbXBsZUV4cG9ydFZhcigpIHtcbiAgICBsZXQgdG9rZW5JbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpO1xuICAgIC8vIGV4cG9ydFxuICAgIHRva2VuSW5kZXgrKztcbiAgICAvLyB2YXIvbGV0L2NvbnN0XG4gICAgdG9rZW5JbmRleCsrO1xuICAgIGlmICghdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KHRva2VuSW5kZXgsIHR0Lm5hbWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRva2VuSW5kZXgrKztcbiAgICB3aGlsZSAodG9rZW5JbmRleCA8IHRoaXMudG9rZW5zLnRva2Vucy5sZW5ndGggJiYgdGhpcy50b2tlbnMudG9rZW5zW3Rva2VuSW5kZXhdLmlzVHlwZSkge1xuICAgICAgdG9rZW5JbmRleCsrO1xuICAgIH1cbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleCh0b2tlbkluZGV4LCB0dC5lcSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIGFuIGBleHBvcnQgdmFyYCBkZWNsYXJhdGlvbiBpbml0aWFsaXppbmcgYSBzaW5nbGUgdmFyaWFibGUuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCB0aGlzOlxuICAgKiBleHBvcnQgY29uc3QgZiA9ICgpID0+IHt9O1xuICAgKiBiZWNvbWVzIHRoaXM6XG4gICAqIGNvbnN0IGYgPSAoKSA9PiB7fTsgZXhwb3J0cy5mID0gZjtcbiAgICpcbiAgICogVGhlIHZhcmlhYmxlIGlzIHVudXNlZCAoZS5nLiBleHBvcnRzLmYgaGFzIHRoZSB0cnVlIHZhbHVlIG9mIHRoZSBleHBvcnQpLlxuICAgKiBXZSBuZWVkIHRvIHByb2R1Y2UgYW4gYXNzaWdubWVudCBvZiB0aGlzIGZvcm0gc28gdGhhdCB0aGUgZnVuY3Rpb24gd2lsbFxuICAgKiBoYXZlIGFuIGluZmVycmVkIG5hbWUgb2YgXCJmXCIsIHdoaWNoIHdvdWxkbid0IGhhcHBlbiBpbiB0aGUgbW9yZSBnZW5lcmFsXG4gICAqIGNhc2UgYmVsb3cuXG4gICAqL1xuICAgcHJvY2Vzc1NpbXBsZUV4cG9ydFZhcigpIHtcbiAgICAvLyBleHBvcnRcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAvLyB2YXIvbGV0L2NvbnN0XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgY29uc3QgdmFyTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgLy8geDogbnVtYmVyICAtPiAgeFxuICAgIHdoaWxlICghdGhpcy50b2tlbnMubWF0Y2hlczEodHQuZXEpKSB7XG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICB9XG4gICAgY29uc3QgZW5kSW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKS5yaHNFbmRJbmRleDtcbiAgICBpZiAoZW5kSW5kZXggPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgPSB0b2tlbiB3aXRoIGFuIGVuZCBpbmRleC5cIik7XG4gICAgfVxuICAgIHdoaWxlICh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA8IGVuZEluZGV4KSB7XG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgOyBleHBvcnRzLiR7dmFyTmFtZX0gPSAke3Zhck5hbWV9YCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIG5vcm1hbCBkZWNsYXJhdGlvbiBleHBvcnRzLCBpbmNsdWRpbmcgaGFuZGxpbmcgZGVzdHJ1Y3R1cmluZy5cbiAgICogRm9yIGV4YW1wbGUsIHRoaXM6XG4gICAqIGV4cG9ydCBjb25zdCB7eDogW2EgPSAyLCBiXSwgY30gPSBkO1xuICAgKiBiZWNvbWVzIHRoaXM6XG4gICAqICh7eDogW2V4cG9ydHMuYSA9IDIsIGV4cG9ydHMuYl0sIGM6IGV4cG9ydHMuY30gPSBkOylcbiAgICovXG4gICBwcm9jZXNzQ29tcGxleEV4cG9ydFZhcigpIHtcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIGNvbnN0IG5lZWRzUGFyZW5zID0gdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKTtcbiAgICBpZiAobmVlZHNQYXJlbnMpIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIoXCIpO1xuICAgIH1cblxuICAgIGxldCBkZXB0aCA9IDA7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKSB8fFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5kb2xsYXJCcmFjZUwpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNrZXRMKVxuICAgICAgKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZVIpIHx8IHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNrZXRSKSkge1xuICAgICAgICBkZXB0aC0tO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGRlcHRoID09PSAwICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5uYW1lKSAmJlxuICAgICAgICAhdGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlXG4gICAgICApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmVxKSkge1xuICAgICAgICAvLyBEZWZhdWx0IHZhbHVlcyBtaWdodCBoYXZlIGFzc2lnbm1lbnRzIGluIHRoZSBSSFMgdGhhdCB3ZSB3YW50IHRvIGlnbm9yZSwgc28gc2tpcCBwYXN0XG4gICAgICAgIC8vIHRoZW0uXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkucmhzRW5kSW5kZXg7XG4gICAgICAgIGlmIChlbmRJbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgPSB0b2tlbiB3aXRoIGFuIGVuZCBpbmRleC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgZW5kSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICAgICAgaWYgKGlzRGVjbGFyYXRpb24odG9rZW4pKSB7XG4gICAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgICAgICAgbGV0IHJlcGxhY2VtZW50ID0gdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KG5hbWUpO1xuICAgICAgICAgIGlmIChyZXBsYWNlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIHJlcGxhY2VtZW50IGZvciAke25hbWV9IGluIFxcYGV4cG9ydCB2YXJcXGAgc3ludGF4LmApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNPYmplY3RTaG9ydGhhbmREZWNsYXJhdGlvbih0b2tlbikpIHtcbiAgICAgICAgICAgIHJlcGxhY2VtZW50ID0gYCR7bmFtZX06ICR7cmVwbGFjZW1lbnR9YDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKHJlcGxhY2VtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuZWVkc1BhcmVucykge1xuICAgICAgLy8gU2VlayB0byB0aGUgZW5kIG9mIHRoZSBSSFMuXG4gICAgICBjb25zdCBlbmRJbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLnJoc0VuZEluZGV4O1xuICAgICAgaWYgKGVuZEluZGV4ID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgPSB0b2tlbiB3aXRoIGFuIGVuZCBpbmRleC5cIik7XG4gICAgICB9XG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCBlbmRJbmRleCkge1xuICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIpXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhpczpcbiAgICogZXhwb3J0IGZ1bmN0aW9uIGZvbygpIHt9XG4gICAqIGludG8gdGhpczpcbiAgICogZnVuY3Rpb24gZm9vKCkge30gZXhwb3J0cy5mb28gPSBmb287XG4gICAqL1xuICAgcHJvY2Vzc0V4cG9ydEZ1bmN0aW9uKCkge1xuICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5wcm9jZXNzTmFtZWRGdW5jdGlvbigpO1xuICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCBleHBvcnRzLiR7bmFtZX0gPSAke25hbWV9O2ApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNraXAgcGFzdCBhIGZ1bmN0aW9uIHdpdGggYSBuYW1lIGFuZCByZXR1cm4gdGhhdCBuYW1lLlxuICAgKi9cbiAgIHByb2Nlc3NOYW1lZEZ1bmN0aW9uKCkge1xuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fZnVuY3Rpb24pKSB7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Lm5hbWUsIHR0Ll9mdW5jdGlvbikpIHtcbiAgICAgIGlmICghdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBhc3luYyBrZXl3b3JkIGluIGZ1bmN0aW9uIGV4cG9ydC5cIik7XG4gICAgICB9XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuc3RhcikpIHtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Lm5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBpZGVudGlmaWVyIGZvciBleHBvcnRlZCBmdW5jdGlvbiBuYW1lLlwiKTtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgaWYgKHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLmlzVHlwZSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuTCk7XG4gICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc0JhbGFuY2VkQ29kZSgpO1xuICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuUik7XG4gICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc1Bvc3NpYmxlVHlwZVJhbmdlKCk7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VMKTtcbiAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VSKTtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhpczpcbiAgICogZXhwb3J0IGNsYXNzIEEge31cbiAgICogaW50byB0aGlzOlxuICAgKiBjbGFzcyBBIHt9IGV4cG9ydHMuQSA9IEE7XG4gICAqL1xuICAgcHJvY2Vzc0V4cG9ydENsYXNzKCkge1xuICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgIHRoaXMuY29weURlY29yYXRvcnMoKTtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuX2Fic3RyYWN0KSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NOYW1lZENsYXNzKCk7XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgIGV4cG9ydHMuJHtuYW1lfSA9ICR7bmFtZX07YCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoaXM6XG4gICAqIGV4cG9ydCB7YSwgYiBhcyBjfTtcbiAgICogaW50byB0aGlzOlxuICAgKiBleHBvcnRzLmEgPSBhOyBleHBvcnRzLmMgPSBiO1xuICAgKlxuICAgKiBPUlxuICAgKlxuICAgKiBUcmFuc2Zvcm0gdGhpczpcbiAgICogZXhwb3J0IHthLCBiIGFzIGN9IGZyb20gJy4vZm9vJztcbiAgICogaW50byB0aGUgcHJlLWdlbmVyYXRlZCBPYmplY3QuZGVmaW5lUHJvcGVydHkgY29kZSBmcm9tIHRoZSBJbXBvcnRQcm9jZXNzb3IuXG4gICAqXG4gICAqIEZvciB0aGUgZmlyc3QgY2FzZSwgaWYgdGhlIFR5cGVTY3JpcHQgdHJhbnNmb3JtIGlzIGVuYWJsZWQsIHdlIG5lZWQgdG8gc2tpcFxuICAgKiBleHBvcnRzIHRoYXQgYXJlIG9ubHkgZGVmaW5lZCBhcyB0eXBlcy5cbiAgICovXG4gICBwcm9jZXNzRXhwb3J0QmluZGluZ3MoKSB7XG4gICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcblxuICAgIGNvbnN0IGlzUmVFeHBvcnQgPSBpc0V4cG9ydEZyb20odGhpcy50b2tlbnMpO1xuXG4gICAgY29uc3QgZXhwb3J0U3RhdGVtZW50cyA9IFtdO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VSKSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3BlY2lmaWVySW5mbyA9IGdldEltcG9ydEV4cG9ydFNwZWNpZmllckluZm8odGhpcy50b2tlbnMpO1xuXG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCBzcGVjaWZpZXJJbmZvLmVuZEluZGV4KSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNob3VsZFJlbW92ZUV4cG9ydCA9XG4gICAgICAgIHNwZWNpZmllckluZm8uaXNUeXBlIHx8XG4gICAgICAgICghaXNSZUV4cG9ydCAmJiB0aGlzLnNob3VsZEVsaWRlRXhwb3J0ZWRJZGVudGlmaWVyKHNwZWNpZmllckluZm8ubGVmdE5hbWUpKTtcbiAgICAgIGlmICghc2hvdWxkUmVtb3ZlRXhwb3J0KSB7XG4gICAgICAgIGNvbnN0IGV4cG9ydGVkTmFtZSA9IHNwZWNpZmllckluZm8ucmlnaHROYW1lO1xuICAgICAgICBpZiAoZXhwb3J0ZWROYW1lID09PSBcImRlZmF1bHRcIikge1xuICAgICAgICAgIHRoaXMuaGFkRGVmYXVsdEV4cG9ydCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYWROYW1lZEV4cG9ydCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbG9jYWxOYW1lID0gc3BlY2lmaWVySW5mby5sZWZ0TmFtZTtcbiAgICAgICAgY29uc3QgbmV3TG9jYWxOYW1lID0gdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KGxvY2FsTmFtZSk7XG4gICAgICAgIGV4cG9ydFN0YXRlbWVudHMucHVzaChgZXhwb3J0cy4ke2V4cG9ydGVkTmFtZX0gPSAke25ld0xvY2FsTmFtZSB8fCBsb2NhbE5hbWV9O2ApO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VSKSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5jb21tYSwgdHQuYnJhY2VSKSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuY29tbWEpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdG9rZW46ICR7SlNPTi5zdHJpbmdpZnkodGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkpfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkpIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gZXhwb3J0Li4uZnJvbSwgc28gdGhyb3cgYXdheSB0aGUgbm9ybWFsIG5hbWVkIGV4cG9ydCBjb2RlXG4gICAgICAvLyBhbmQgdXNlIHRoZSBPYmplY3QuZGVmaW5lUHJvcGVydHkgY29kZSBmcm9tIEltcG9ydFByb2Nlc3Nvci5cbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICBjb25zdCBwYXRoID0gdGhpcy50b2tlbnMuc3RyaW5nVmFsdWUoKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UodGhpcy5pbXBvcnRQcm9jZXNzb3IuY2xhaW1JbXBvcnRDb2RlKHBhdGgpKTtcbiAgICAgIHJlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlcyh0aGlzLnRva2Vucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBub3JtYWwgbmFtZWQgZXhwb3J0LCBzbyB1c2UgdGhhdC5cbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoZXhwb3J0U3RhdGVtZW50cy5qb2luKFwiIFwiKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnNlbWkpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gICBwcm9jZXNzRXhwb3J0U3RhcigpIHtcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnN0cmluZykpIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSB0aGlzLnRva2Vucy5zdHJpbmdWYWx1ZSgpO1xuICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UodGhpcy5pbXBvcnRQcm9jZXNzb3IuY2xhaW1JbXBvcnRDb2RlKHBhdGgpKTtcbiAgICByZW1vdmVNYXliZUltcG9ydEF0dHJpYnV0ZXModGhpcy50b2tlbnMpO1xuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5zZW1pKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9XG4gIH1cblxuICAgc2hvdWxkRWxpZGVFeHBvcnRlZElkZW50aWZpZXIobmFtZSkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgJiZcbiAgICAgICF0aGlzLmtlZXBVbnVzZWRJbXBvcnRzICYmXG4gICAgICAhdGhpcy5kZWNsYXJhdGlvbkluZm8udmFsdWVEZWNsYXJhdGlvbnMuaGFzKG5hbWUpXG4gICAgKTtcbiAgfVxufVxuIiwgIlxuXG5cbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IGVsaWRlSW1wb3J0RXF1YWxzIGZyb20gXCIuLi91dGlsL2VsaWRlSW1wb3J0RXF1YWxzXCI7XG5pbXBvcnQgZ2V0RGVjbGFyYXRpb25JbmZvLCB7XG5cbiAgRU1QVFlfREVDTEFSQVRJT05fSU5GTyxcbn0gZnJvbSBcIi4uL3V0aWwvZ2V0RGVjbGFyYXRpb25JbmZvXCI7XG5pbXBvcnQgZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mbyBmcm9tIFwiLi4vdXRpbC9nZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvXCI7XG5pbXBvcnQge2dldE5vblR5cGVJZGVudGlmaWVyc30gZnJvbSBcIi4uL3V0aWwvZ2V0Tm9uVHlwZUlkZW50aWZpZXJzXCI7XG5pbXBvcnQgaXNFeHBvcnRGcm9tIGZyb20gXCIuLi91dGlsL2lzRXhwb3J0RnJvbVwiO1xuaW1wb3J0IHtyZW1vdmVNYXliZUltcG9ydEF0dHJpYnV0ZXN9IGZyb20gXCIuLi91dGlsL3JlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlc1wiO1xuaW1wb3J0IHNob3VsZEVsaWRlRGVmYXVsdEV4cG9ydCBmcm9tIFwiLi4vdXRpbC9zaG91bGRFbGlkZURlZmF1bHRFeHBvcnRcIjtcblxuaW1wb3J0IFRyYW5zZm9ybWVyIGZyb20gXCIuL1RyYW5zZm9ybWVyXCI7XG5cbi8qKlxuICogQ2xhc3MgZm9yIGVkaXRpbmcgaW1wb3J0IHN0YXRlbWVudHMgd2hlbiB3ZSBhcmUga2VlcGluZyB0aGUgY29kZSBhcyBFU00uIFdlIHN0aWxsIG5lZWQgdG8gcmVtb3ZlXG4gKiB0eXBlLW9ubHkgaW1wb3J0cyBpbiBUeXBlU2NyaXB0IGFuZCBGbG93LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFU01JbXBvcnRUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgXG4gIFxuICBcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgdG9rZW5zLFxuICAgICBuYW1lTWFuYWdlcixcbiAgICAgaGVscGVyTWFuYWdlcixcbiAgICAgcmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcixcbiAgICAgaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCxcbiAgICAgaXNGbG93VHJhbnNmb3JtRW5hYmxlZCxcbiAgICAga2VlcFVudXNlZEltcG9ydHMsXG4gICAgb3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoKTt0aGlzLnRva2VucyA9IHRva2Vuczt0aGlzLm5hbWVNYW5hZ2VyID0gbmFtZU1hbmFnZXI7dGhpcy5oZWxwZXJNYW5hZ2VyID0gaGVscGVyTWFuYWdlcjt0aGlzLnJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIgPSByZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyO3RoaXMuaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCA9IGlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQ7dGhpcy5pc0Zsb3dUcmFuc2Zvcm1FbmFibGVkID0gaXNGbG93VHJhbnNmb3JtRW5hYmxlZDt0aGlzLmtlZXBVbnVzZWRJbXBvcnRzID0ga2VlcFVudXNlZEltcG9ydHM7O1xuICAgIHRoaXMubm9uVHlwZUlkZW50aWZpZXJzID1cbiAgICAgIGlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgJiYgIWtlZXBVbnVzZWRJbXBvcnRzXG4gICAgICAgID8gZ2V0Tm9uVHlwZUlkZW50aWZpZXJzKHRva2Vucywgb3B0aW9ucylcbiAgICAgICAgOiBuZXcgU2V0KCk7XG4gICAgdGhpcy5kZWNsYXJhdGlvbkluZm8gPVxuICAgICAgaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCAmJiAha2VlcFVudXNlZEltcG9ydHNcbiAgICAgICAgPyBnZXREZWNsYXJhdGlvbkluZm8odG9rZW5zKVxuICAgICAgICA6IEVNUFRZX0RFQ0xBUkFUSU9OX0lORk87XG4gICAgdGhpcy5pbmplY3RDcmVhdGVSZXF1aXJlRm9ySW1wb3J0UmVxdWlyZSA9IEJvb2xlYW4ob3B0aW9ucy5pbmplY3RDcmVhdGVSZXF1aXJlRm9ySW1wb3J0UmVxdWlyZSk7XG4gIH1cblxuICBwcm9jZXNzKCkge1xuICAgIC8vIFR5cGVTY3JpcHQgYGltcG9ydCBmb28gPSByZXF1aXJlKCdmb28nKTtgIHNob3VsZCBhbHdheXMganVzdCBiZSB0cmFuc2xhdGVkIHRvIHBsYWluIHJlcXVpcmUuXG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMzKHR0Ll9pbXBvcnQsIHR0Lm5hbWUsIHR0LmVxKSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0ltcG9ydEVxdWFscygpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNCh0dC5faW1wb3J0LCB0dC5uYW1lLCB0dC5uYW1lLCB0dC5lcSkgJiZcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEsIENvbnRleHR1YWxLZXl3b3JkLl90eXBlKVxuICAgICkge1xuICAgICAgLy8gaW1wb3J0IHR5cGUgVCA9IHJlcXVpcmUoJ1QnKVxuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICAvLyBUaGlzIGNvbnN0cnVjdCBpcyBhbHdheXMgZXhhY3RseSA4IHRva2VucyBsb25nLCBzbyByZW1vdmUgdGhlIDcgcmVtYWluaW5nIHRva2Vucy5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0LmVxKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwibW9kdWxlLmV4cG9ydHNcIik7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczUodHQuX2V4cG9ydCwgdHQuX2ltcG9ydCwgdHQubmFtZSwgdHQubmFtZSwgdHQuZXEpICYmXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbEF0SW5kZXgodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAyLCBDb250ZXh0dWFsS2V5d29yZC5fdHlwZSlcbiAgICApIHtcbiAgICAgIC8vIGV4cG9ydCBpbXBvcnQgdHlwZSBUID0gcmVxdWlyZSgnVCcpXG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgIC8vIFRoaXMgY29uc3RydWN0IGlzIGFsd2F5cyBleGFjdGx5IDkgdG9rZW5zIGxvbmcsIHNvIHJlbW92ZSB0aGUgOCByZW1haW5pbmcgdG9rZW5zLlxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA4OyBpKyspIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuX2ltcG9ydCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NJbXBvcnQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0KSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0V4cG9ydERlZmF1bHQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0LmJyYWNlTCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NOYW1lZEV4cG9ydHMoKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQubmFtZSkgJiZcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEsIENvbnRleHR1YWxLZXl3b3JkLl90eXBlKVxuICAgICkge1xuICAgICAgLy8gZXhwb3J0IHR5cGUge2F9O1xuICAgICAgLy8gZXhwb3J0IHR5cGUge2EgYXMgYn07XG4gICAgICAvLyBleHBvcnQgdHlwZSB7YX0gZnJvbSAnLi9iJztcbiAgICAgIC8vIGV4cG9ydCB0eXBlICogZnJvbSAnLi9iJztcbiAgICAgIC8vIGV4cG9ydCB0eXBlICogYXMgbnMgZnJvbSAnLi9iJztcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZUwpKSB7XG4gICAgICAgIHdoaWxlICghdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VSKSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vICpcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9hcykpIHtcbiAgICAgICAgICAvLyBhc1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgICAgLy8gbnNcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBSZW1vdmUgdHlwZSByZS1leHBvcnQgYC4uLiB9IGZyb20gJy4vVCdgXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKSAmJlxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxLCB0dC5zdHJpbmcpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgcmVtb3ZlTWF5YmVJbXBvcnRBdHRyaWJ1dGVzKHRoaXMudG9rZW5zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAgcHJvY2Vzc0ltcG9ydEVxdWFscygpIHtcbiAgICBjb25zdCBpbXBvcnROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSk7XG4gICAgaWYgKHRoaXMuc2hvdWxkQXV0b21hdGljYWxseUVsaWRlSW1wb3J0ZWROYW1lKGltcG9ydE5hbWUpKSB7XG4gICAgICAvLyBJZiB0aGlzIG5hbWUgaXMgb25seSB1c2VkIGFzIGEgdHlwZSwgZWxpZGUgdGhlIHdob2xlIGltcG9ydC5cbiAgICAgIGVsaWRlSW1wb3J0RXF1YWxzKHRoaXMudG9rZW5zKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaW5qZWN0Q3JlYXRlUmVxdWlyZUZvckltcG9ydFJlcXVpcmUpIHtcbiAgICAgIC8vIFdlJ3JlIHVzaW5nIHJlcXVpcmUgaW4gYW4gZW52aXJvbm1lbnQgKE5vZGUgRVNNKSB0aGF0IGRvZXNuJ3QgcHJvdmlkZVxuICAgICAgLy8gaXQgYXMgYSBnbG9iYWwsIHNvIGdlbmVyYXRlIGEgaGVscGVyIHRvIGltcG9ydCBpdC5cbiAgICAgIC8vIGltcG9ydCAtPiBjb25zdFxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiY29uc3RcIik7XG4gICAgICAvLyBGb29cbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgLy8gPVxuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICAvLyByZXF1aXJlXG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4odGhpcy5oZWxwZXJNYW5hZ2VyLmdldEhlbHBlck5hbWUoXCJyZXF1aXJlXCIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gT3RoZXJ3aXNlLCBqdXN0IHN3aXRjaCBgaW1wb3J0YCB0byBgY29uc3RgLlxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiY29uc3RcIik7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgIHByb2Nlc3NJbXBvcnQoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9pbXBvcnQsIHR0LnBhcmVuTCkpIHtcbiAgICAgIC8vIER5bmFtaWMgaW1wb3J0cyBkb24ndCBuZWVkIHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy50b2tlbnMuc25hcHNob3QoKTtcbiAgICBjb25zdCBhbGxJbXBvcnRzUmVtb3ZlZCA9IHRoaXMucmVtb3ZlSW1wb3J0VHlwZUJpbmRpbmdzKCk7XG4gICAgaWYgKGFsbEltcG9ydHNSZW1vdmVkKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZXN0b3JlVG9TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnN0cmluZykpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICByZW1vdmVNYXliZUltcG9ydEF0dHJpYnV0ZXModGhpcy50b2tlbnMpO1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnNlbWkpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0eXBlIGJpbmRpbmdzIGZyb20gdGhpcyBpbXBvcnQsIGxlYXZpbmcgdGhlIHJlc3Qgb2YgdGhlIGltcG9ydCBpbnRhY3QuXG4gICAqXG4gICAqIFJldHVybiB0cnVlIGlmIHRoaXMgaW1wb3J0IHdhcyBPTkxZIHR5cGVzLCBhbmQgdGh1cyBpcyBlbGlnaWJsZSBmb3IgcmVtb3ZhbC4gVGhpcyB3aWxsIGJhaWwgb3V0XG4gICAqIG9mIHRoZSByZXBsYWNlbWVudCBvcGVyYXRpb24sIHNvIHdlIGNhbiByZXR1cm4gZWFybHkgaGVyZS5cbiAgICovXG4gICByZW1vdmVJbXBvcnRUeXBlQmluZGluZ3MoKSB7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuX2ltcG9ydCk7XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpICYmXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSwgdHQuY29tbWEpICYmXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWxBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSwgQ29udGV4dHVhbEtleXdvcmQuX2Zyb20pXG4gICAgKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIFwiaW1wb3J0IHR5cGVcIiBzdGF0ZW1lbnQsIHNvIGV4aXQgZWFybHkuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuc3RyaW5nKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJhcmUgaW1wb3J0LCBzbyB3ZSBzaG91bGQgcHJvY2VlZCB3aXRoIHRoZSBpbXBvcnQuXG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBTa2lwIHRoZSBcIm1vZHVsZVwiIHRva2VuIGluIGltcG9ydCByZWZsZWN0aW9uLlxuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9tb2R1bGUpICYmXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbEF0SW5kZXgodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAyLCBDb250ZXh0dWFsS2V5d29yZC5fZnJvbSlcbiAgICApIHtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH1cblxuICAgIGxldCBmb3VuZE5vblR5cGVJbXBvcnQgPSBmYWxzZTtcbiAgICBsZXQgZm91bmRBbnlOYW1lZEltcG9ydCA9IGZhbHNlO1xuICAgIGxldCBuZWVkc0NvbW1hID0gZmFsc2U7XG5cbiAgICAvLyBIYW5kbGUgZGVmYXVsdCBpbXBvcnQuXG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Lm5hbWUpKSB7XG4gICAgICBpZiAodGhpcy5zaG91bGRBdXRvbWF0aWNhbGx5RWxpZGVJbXBvcnRlZE5hbWUodGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWUoKSkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmNvbW1hKSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvdW5kTm9uVHlwZUltcG9ydCA9IHRydWU7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuY29tbWEpKSB7XG4gICAgICAgICAgLy8gV2UncmUgaW4gYSBzdGF0ZW1lbnQgbGlrZTpcbiAgICAgICAgICAvLyBpbXBvcnQgQSwgKiBhcyBCIGZyb20gJy4vQSc7XG4gICAgICAgICAgLy8gb3JcbiAgICAgICAgICAvLyBpbXBvcnQgQSwge2Zvb30gZnJvbSAnLi9BJztcbiAgICAgICAgICAvLyB3aGVyZSB0aGUgYEFgIGlzIGJlaW5nIGtlcHQuIFRoZSBjb21tYSBzaG91bGQgYmUgcmVtb3ZlZCBpZiBhbiBvbmx5XG4gICAgICAgICAgLy8gaWYgdGhlIG5leHQgcGFydCBvZiB0aGUgaW1wb3J0IHN0YXRlbWVudCBpcyBlbGlkZWQsIGJ1dCB0aGF0J3MgaGFyZFxuICAgICAgICAgIC8vIHRvIGRldGVybWluZSBhdCB0aGlzIHBvaW50IGluIHRoZSBjb2RlLiBJbnN0ZWFkLCBhbHdheXMgcmVtb3ZlIGl0XG4gICAgICAgICAgLy8gYW5kIHNldCBhIGZsYWcgdG8gYWRkIGl0IGJhY2sgaWYgbmVjZXNzYXJ5LlxuICAgICAgICAgIG5lZWRzQ29tbWEgPSB0cnVlO1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuc3RhcikpIHtcbiAgICAgIGlmICh0aGlzLnNob3VsZEF1dG9tYXRpY2FsbHlFbGlkZUltcG9ydGVkTmFtZSh0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUF0UmVsYXRpdmVJbmRleCgyKSkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChuZWVkc0NvbW1hKSB7XG4gICAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIixcIik7XG4gICAgICAgIH1cbiAgICAgICAgZm91bmROb25UeXBlSW1wb3J0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuc3Rhcik7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0Lm5hbWUpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5uYW1lKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlTCkpIHtcbiAgICAgIGlmIChuZWVkc0NvbW1hKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIsXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgZm91bmRBbnlOYW1lZEltcG9ydCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHNwZWNpZmllckluZm8gPSBnZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvKHRoaXMudG9rZW5zKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNwZWNpZmllckluZm8uaXNUeXBlIHx8XG4gICAgICAgICAgdGhpcy5zaG91bGRBdXRvbWF0aWNhbGx5RWxpZGVJbXBvcnRlZE5hbWUoc3BlY2lmaWVySW5mby5yaWdodE5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgIHdoaWxlICh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA8IHNwZWNpZmllckluZm8uZW5kSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZvdW5kTm9uVHlwZUltcG9ydCA9IHRydWU7XG4gICAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgc3BlY2lmaWVySW5mby5lbmRJbmRleCkge1xuICAgICAgICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VSKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5rZWVwVW51c2VkSW1wb3J0cykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkKSB7XG4gICAgICByZXR1cm4gIWZvdW5kTm9uVHlwZUltcG9ydDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNGbG93VHJhbnNmb3JtRW5hYmxlZCkge1xuICAgICAgLy8gSW4gRmxvdywgdW5saWtlIFRTLCBgaW1wb3J0IHt9IGZyb20gJ2Zvbyc7YCBwcmVzZXJ2ZXMgdGhlIGltcG9ydC5cbiAgICAgIHJldHVybiBmb3VuZEFueU5hbWVkSW1wb3J0ICYmICFmb3VuZE5vblR5cGVJbXBvcnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAgc2hvdWxkQXV0b21hdGljYWxseUVsaWRlSW1wb3J0ZWROYW1lKG5hbWUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkICYmXG4gICAgICAhdGhpcy5rZWVwVW51c2VkSW1wb3J0cyAmJlxuICAgICAgIXRoaXMubm9uVHlwZUlkZW50aWZpZXJzLmhhcyhuYW1lKVxuICAgICk7XG4gIH1cblxuICAgcHJvY2Vzc0V4cG9ydERlZmF1bHQoKSB7XG4gICAgaWYgKFxuICAgICAgc2hvdWxkRWxpZGVEZWZhdWx0RXhwb3J0KFxuICAgICAgICB0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQsXG4gICAgICAgIHRoaXMua2VlcFVudXNlZEltcG9ydHMsXG4gICAgICAgIHRoaXMudG9rZW5zLFxuICAgICAgICB0aGlzLmRlY2xhcmF0aW9uSW5mbyxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIC8vIElmIHRoZSBleHBvcnRlZCB2YWx1ZSBpcyBqdXN0IGFuIGlkZW50aWZpZXIgYW5kIHNob3VsZCBiZSBlbGlkZWQgYnkgVHlwZVNjcmlwdFxuICAgICAgLy8gcnVsZXMsIHRoZW4gcmVtb3ZlIGl0IGVudGlyZWx5LiBJdCB3aWxsIGFsd2F5cyBoYXZlIHRoZSBmb3JtIGBleHBvcnQgZGVmYXVsdCBlYCxcbiAgICAgIC8vIHdoZXJlIGBlYCBpcyBhbiBpZGVudGlmaWVyLlxuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFscmVhZHlIYXNOYW1lID1cbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXM0KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fZnVuY3Rpb24sIHR0Lm5hbWUpIHx8XG4gICAgICAvLyBleHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvblxuICAgICAgKHRoaXMudG9rZW5zLm1hdGNoZXM1KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5uYW1lLCB0dC5fZnVuY3Rpb24sIHR0Lm5hbWUpICYmXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleChcbiAgICAgICAgICB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDIsXG4gICAgICAgICAgQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jLFxuICAgICAgICApKSB8fFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczQodHQuX2V4cG9ydCwgdHQuX2RlZmF1bHQsIHR0Ll9jbGFzcywgdHQubmFtZSkgfHxcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXM1KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fYWJzdHJhY3QsIHR0Ll9jbGFzcywgdHQubmFtZSk7XG5cbiAgICBpZiAoIWFscmVhZHlIYXNOYW1lICYmIHRoaXMucmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcikge1xuICAgICAgLy8gVGhpcyBpcyBhIHBsYWluIFwiZXhwb3J0IGRlZmF1bHQgRVwiIHN0YXRlbWVudCBhbmQgd2UgbmVlZCB0byBhc3NpZ24gRSB0byBhIHZhcmlhYmxlLlxuICAgICAgLy8gQ2hhbmdlIFwiZXhwb3J0IGRlZmF1bHQgRVwiIHRvIFwibGV0IF9kZWZhdWx0OyBleHBvcnQgZGVmYXVsdCBfZGVmYXVsdCA9IEVcIlxuICAgICAgY29uc3QgZGVmYXVsdFZhck5hbWUgPSB0aGlzLm5hbWVNYW5hZ2VyLmNsYWltRnJlZU5hbWUoXCJfZGVmYXVsdFwiKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgbGV0ICR7ZGVmYXVsdFZhck5hbWV9OyBleHBvcnRgKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgICR7ZGVmYXVsdFZhck5hbWV9ID1gKTtcbiAgICAgIHRoaXMucmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lci5zZXRFeHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZShkZWZhdWx0VmFyTmFtZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBhIHN0YXRlbWVudCB3aXRoIG9uZSBvZiB0aGVzZSBmb3JtczpcbiAgICogZXhwb3J0IHthLCB0eXBlIGJ9O1xuICAgKiBleHBvcnQge2MsIHR5cGUgZH0gZnJvbSAnZm9vJztcbiAgICpcbiAgICogSW4gYm90aCBjYXNlcywgYW55IGV4cGxpY2l0IHR5cGUgZXhwb3J0cyBzaG91bGQgYmUgcmVtb3ZlZC4gSW4gdGhlIGZpcnN0XG4gICAqIGNhc2UsIHdlIGFsc28gbmVlZCB0byBoYW5kbGUgaW1wbGljaXQgZXhwb3J0IGVsaXNpb24gZm9yIG5hbWVzIGRlY2xhcmVkIGFzXG4gICAqIHR5cGVzLiBJbiB0aGUgc2Vjb25kIGNhc2UsIHdlIG11c3QgTk9UIGRvIGltcGxpY2l0IG5hbWVkIGV4cG9ydCBlbGlzaW9uLFxuICAgKiBidXQgd2UgbXVzdCByZW1vdmUgdGhlIHJ1bnRpbWUgaW1wb3J0IGlmIGFsbCBleHBvcnRzIGFyZSB0eXBlIGV4cG9ydHMuXG4gICAqL1xuICAgcHJvY2Vzc05hbWVkRXhwb3J0cygpIHtcbiAgICBpZiAoIXRoaXMuaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5fZXhwb3J0KTtcbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZUwpO1xuXG4gICAgY29uc3QgaXNSZUV4cG9ydCA9IGlzRXhwb3J0RnJvbSh0aGlzLnRva2Vucyk7XG4gICAgbGV0IGZvdW5kTm9uVHlwZUV4cG9ydCA9IGZhbHNlO1xuICAgIHdoaWxlICghdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VSKSkge1xuICAgICAgY29uc3Qgc3BlY2lmaWVySW5mbyA9IGdldEltcG9ydEV4cG9ydFNwZWNpZmllckluZm8odGhpcy50b2tlbnMpO1xuICAgICAgaWYgKFxuICAgICAgICBzcGVjaWZpZXJJbmZvLmlzVHlwZSB8fFxuICAgICAgICAoIWlzUmVFeHBvcnQgJiYgdGhpcy5zaG91bGRFbGlkZUV4cG9ydGVkTmFtZShzcGVjaWZpZXJJbmZvLmxlZnROYW1lKSlcbiAgICAgICkge1xuICAgICAgICAvLyBUeXBlIGV4cG9ydCwgc28gcmVtb3ZlIGFsbCB0b2tlbnMsIGluY2x1ZGluZyBhbnkgY29tbWEuXG4gICAgICAgIHdoaWxlICh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA8IHNwZWNpZmllckluZm8uZW5kSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBOb24tdHlwZSBleHBvcnQsIHNvIGNvcHkgYWxsIHRva2VucywgaW5jbHVkaW5nIGFueSBjb21tYS5cbiAgICAgICAgZm91bmROb25UeXBlRXhwb3J0ID0gdHJ1ZTtcbiAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgc3BlY2lmaWVySW5mby5lbmRJbmRleCkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZVIpO1xuXG4gICAgaWYgKCF0aGlzLmtlZXBVbnVzZWRJbXBvcnRzICYmIGlzUmVFeHBvcnQgJiYgIWZvdW5kTm9uVHlwZUV4cG9ydCkge1xuICAgICAgLy8gVGhpcyBpcyBhIHR5cGUtb25seSByZS1leHBvcnQsIHNvIHNraXAgZXZhbHVhdGluZyB0aGUgb3RoZXIgbW9kdWxlLiBUZWNobmljYWxseSB0aGlzXG4gICAgICAvLyBsZWF2ZXMgdGhlIHN0YXRlbWVudCBhcyBgZXhwb3J0IHt9YCwgYnV0IHRoYXQncyBvayBzaW5jZSB0aGF0J3MgYSBuby1vcC5cbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgcmVtb3ZlTWF5YmVJbXBvcnRBdHRyaWJ1dGVzKHRoaXMudG9rZW5zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFU00gZWxpZGVzIGFsbCBpbXBvcnRzIHdpdGggdGhlIHJ1bGUgdGhhdCB3ZSBvbmx5IGVsaWRlIGlmIHdlIHNlZSB0aGF0IGl0J3NcbiAgICogYSB0eXBlIGFuZCBuZXZlciBzZWUgaXQgYXMgYSB2YWx1ZS4gVGhpcyBpcyBpbiBjb250cmFzdCB0byBDSlMsIHdoaWNoXG4gICAqIGVsaWRlcyBpbXBvcnRzIHRoYXQgYXJlIGNvbXBsZXRlbHkgdW5rbm93bi5cbiAgICovXG4gICBzaG91bGRFbGlkZUV4cG9ydGVkTmFtZShuYW1lKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCAmJlxuICAgICAgIXRoaXMua2VlcFVudXNlZEltcG9ydHMgJiZcbiAgICAgIHRoaXMuZGVjbGFyYXRpb25JbmZvLnR5cGVEZWNsYXJhdGlvbnMuaGFzKG5hbWUpICYmXG4gICAgICAhdGhpcy5kZWNsYXJhdGlvbkluZm8udmFsdWVEZWNsYXJhdGlvbnMuaGFzKG5hbWUpXG4gICAgKTtcbiAgfVxufVxuIiwgImltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmxvd1RyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgcm9vdFRyYW5zZm9ybWVyLFxuICAgICB0b2tlbnMsXG4gICAgIGlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQsXG4gICkge1xuICAgIHN1cGVyKCk7dGhpcy5yb290VHJhbnNmb3JtZXIgPSByb290VHJhbnNmb3JtZXI7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5pc0ltcG9ydHNUcmFuc2Zvcm1FbmFibGVkID0gaXNJbXBvcnRzVHJhbnNmb3JtRW5hYmxlZDs7XG4gIH1cblxuICBwcm9jZXNzKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NQb3NzaWJsZUFycm93UGFyYW1FbmQoKSB8fFxuICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc1Bvc3NpYmxlQXN5bmNBcnJvd1dpdGhUeXBlUGFyYW1zKCkgfHxcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NQb3NzaWJsZVR5cGVSYW5nZSgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9lbnVtKSkge1xuICAgICAgdGhpcy5wcm9jZXNzRW51bSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5fZW51bSkpIHtcbiAgICAgIHRoaXMucHJvY2Vzc05hbWVkRXhwb3J0RW51bSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5fZXhwb3J0LCB0dC5fZGVmYXVsdCwgdHQuX2VudW0pKSB7XG4gICAgICB0aGlzLnByb2Nlc3NEZWZhdWx0RXhwb3J0RW51bSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgYSBkZWNsYXJhdGlvbiBsaWtlOlxuICAgKiBleHBvcnQgZW51bSBFIC4uLlxuICAgKlxuICAgKiBXaXRoIHRoaXMgaW1wb3J0cyB0cmFuc2Zvcm0sIHRoaXMgYmVjb21lczpcbiAgICogY29uc3QgRSA9IFtbZW51bV1dOyBleHBvcnRzLkUgPSBFO1xuICAgKlxuICAgKiBvdGhlcndpc2UsIGl0IGJlY29tZXM6XG4gICAqIGV4cG9ydCBjb25zdCBFID0gW1tlbnVtXV07XG4gICAqL1xuICBwcm9jZXNzTmFtZWRFeHBvcnRFbnVtKCkge1xuICAgIGlmICh0aGlzLmlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQpIHtcbiAgICAgIC8vIGV4cG9ydFxuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICBjb25zdCBlbnVtTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRSZWxhdGl2ZUluZGV4KDEpO1xuICAgICAgdGhpcy5wcm9jZXNzRW51bSgpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgIGV4cG9ydHMuJHtlbnVtTmFtZX0gPSAke2VudW1OYW1lfTtgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB0aGlzLnByb2Nlc3NFbnVtKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBhIGRlY2xhcmF0aW9uIGxpa2U6XG4gICAqIGV4cG9ydCBkZWZhdWx0IGVudW0gRVxuICAgKlxuICAgKiBXaXRoIHRoZSBpbXBvcnRzIHRyYW5zZm9ybSwgdGhpcyBiZWNvbWVzOlxuICAgKiBjb25zdCBFID0gW1tlbnVtXV07IGV4cG9ydHMuZGVmYXVsdCA9IEU7XG4gICAqXG4gICAqIG90aGVyd2lzZSwgaXQgYmVjb21lczpcbiAgICogY29uc3QgRSA9IFtbZW51bV1dOyBleHBvcnQgZGVmYXVsdCBFO1xuICAgKi9cbiAgcHJvY2Vzc0RlZmF1bHRFeHBvcnRFbnVtKCkge1xuICAgIC8vIGV4cG9ydFxuICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgIC8vIGRlZmF1bHRcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIGNvbnN0IGVudW1OYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdFJlbGF0aXZlSW5kZXgoMSk7XG4gICAgdGhpcy5wcm9jZXNzRW51bSgpO1xuICAgIGlmICh0aGlzLmlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQpIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCBleHBvcnRzLmRlZmF1bHQgPSAke2VudW1OYW1lfTtgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgIGV4cG9ydCBkZWZhdWx0ICR7ZW51bU5hbWV9O2ApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc3BpbGUgZmxvdyBlbnVtcyB0byBpbnZva2UgdGhlIFwiZmxvdy1lbnVtcy1ydW50aW1lXCIgbGlicmFyeS5cbiAgICpcbiAgICogQ3VycmVudGx5LCB0aGUgdHJhbnNwaWxlZCBjb2RlIGFsd2F5cyB1c2VzIGByZXF1aXJlKFwiZmxvdy1lbnVtcy1ydW50aW1lXCIpYCxcbiAgICogYnV0IGlmIGZ1dHVyZSBmbGV4aWJpbGl0eSBpcyBuZWVkZWQsIHdlIGNvdWxkIGV4cG9zZSBhIGNvbmZpZyBvcHRpb24gZm9yXG4gICAqIHRoaXMgc3RyaW5nIChzaW1pbGFyIHRvIGNvbmZpZ3VyYWJsZSBKU1gpLiBFdmVuIHdoZW4gdGFyZ2V0aW5nIEVTTSwgdGhlXG4gICAqIGRlZmF1bHQgYmVoYXZpb3Igb2YgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1mbG93LWVudW1zIGlzIHRvIHVzZSByZXF1aXJlXG4gICAqIHJhdGhlciB0aGFuIGluamVjdGluZyBhbiBpbXBvcnQuXG4gICAqXG4gICAqIEZsb3cgZW51bXMgYXJlIHF1aXRlIGEgYml0IHNpbXBsZXIgdGhhbiBUUyBlbnVtcyBhbmQgaGF2ZSBzb21lIGNvbnZlbmllbnRcbiAgICogY29uc3RyYWludHM6XG4gICAqIC0gRWxlbWVudCBpbml0aWFsaXplcnMgbXVzdCBiZSBlaXRoZXIgYWx3YXlzIHByZXNlbnQgb3IgYWx3YXlzIGFic2VudC4gVGhhdFxuICAgKiAgIG1lYW5zIHRoYXQgd2UgY2FuIHVzZSBmaXhlZCBsb29rYWhlYWQgb24gdGhlIGZpcnN0IGVsZW1lbnQgKGlmIGFueSkgYW5kXG4gICAqICAgYXNzdW1lIHRoYXQgYWxsIGVsZW1lbnRzIGFyZSBsaWtlIHRoYXQuXG4gICAqIC0gVGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiBhbiBlbGVtZW50IGluaXRpYWxpemVyIG11c3QgYmUgYSBsaXRlcmFsIHZhbHVlLFxuICAgKiAgIG5vdCBhIGNvbXBsZXggZXhwcmVzc2lvbiBhbmQgbm90IHJlZmVyZW5jaW5nIG90aGVyIGVsZW1lbnRzLiBUaGF0IG1lYW5zXG4gICAqICAgd2UgY2FuIHNpbXBseSBjb3B5IGEgc2luZ2xlIHRva2VuLlxuICAgKlxuICAgKiBFbnVtcyBjYW4gYmUgYnJva2VuIHVwIGludG8gdGhyZWUgYmFzaWMgY2FzZXM6XG4gICAqXG4gICAqIE1pcnJvcmVkIGVudW1zOlxuICAgKiBlbnVtIEUge0EsIEJ9XG4gICAqICAgLT5cbiAgICogY29uc3QgRSA9IHJlcXVpcmUoXCJmbG93LWVudW1zLXJ1bnRpbWVcIikuTWlycm9yZWQoW1wiQVwiLCBcIkJcIl0pO1xuICAgKlxuICAgKiBJbml0aWFsaXplciBlbnVtczpcbiAgICogZW51bSBFIHtBID0gMSwgQiA9IDJ9XG4gICAqICAgLT5cbiAgICogY29uc3QgRSA9IHJlcXVpcmUoXCJmbG93LWVudW1zLXJ1bnRpbWVcIikoe0E6IDEsIEI6IDJ9KTtcbiAgICpcbiAgICogU3ltYm9sIGVudW1zOlxuICAgKiBlbnVtIEUgb2Ygc3ltYm9sIHtBLCBCfVxuICAgKiAgIC0+XG4gICAqIGNvbnN0IEUgPSByZXF1aXJlKFwiZmxvdy1lbnVtcy1ydW50aW1lXCIpKHtBOiBTeW1ib2woXCJBXCIpLCBCOiBTeW1ib2woXCJCXCIpfSk7XG4gICAqXG4gICAqIFdlIGNhbiBzdGF0aWNhbGx5IGRldGVjdCB3aGljaCBvZiB0aGUgdGhyZWUgY2FzZXMgdGhpcyBpcyBieSBsb29raW5nIGF0IHRoZVxuICAgKiBcIm9mXCIgZGVjbGFyYXRpb24gKGlmIGFueSkgYW5kIHNlZWluZyBpZiB0aGUgZmlyc3QgZWxlbWVudCBoYXMgYW4gaW5pdGlhbGl6ZXIuXG4gICAqIFNpbmNlIHRoZSBvdGhlciB0cmFuc2Zvcm0gZGV0YWlscyBhcmUgc28gc2ltaWxhciBiZXR3ZWVuIHRoZSB0aHJlZSBjYXNlcywgd2VcbiAgICogdXNlIGEgc2luZ2xlIGltcGxlbWVudGF0aW9uIGFuZCB2YXJ5IHRoZSB0cmFuc2Zvcm0gd2l0aGluIHByb2Nlc3NFbnVtRWxlbWVudFxuICAgKiBiYXNlZCBvbiBjYXNlLlxuICAgKi9cbiAgcHJvY2Vzc0VudW0oKSB7XG4gICAgLy8gZW51bSBFIC0+IGNvbnN0IEVcbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCJjb25zdFwiKTtcbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5uYW1lKTtcblxuICAgIGxldCBpc1N5bWJvbEVudW0gPSBmYWxzZTtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX29mKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIGlzU3ltYm9sRW51bSA9IHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9zeW1ib2wpO1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9XG4gICAgY29uc3QgaGFzSW5pdGlhbGl6ZXJzID0gdGhpcy50b2tlbnMubWF0Y2hlczModHQuYnJhY2VMLCB0dC5uYW1lLCB0dC5lcSk7XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZSgnID0gcmVxdWlyZShcImZsb3ctZW51bXMtcnVudGltZVwiKScpO1xuXG4gICAgY29uc3QgaXNNaXJyb3JlZCA9ICFpc1N5bWJvbEVudW0gJiYgIWhhc0luaXRpYWxpemVycztcbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKGlzTWlycm9yZWQgPyBcIi5NaXJyb3JlZChbXCIgOiBcIih7XCIpO1xuXG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZVIpKSB7XG4gICAgICAvLyAuLi4gaXMgYWxsb3dlZCBhdCB0aGUgZW5kIGFuZCBoYXMgbm8gcnVudGltZSBiZWhhdmlvci5cbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5lbGxpcHNpcykpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLnByb2Nlc3NFbnVtRWxlbWVudChpc1N5bWJvbEVudW0sIGhhc0luaXRpYWxpemVycyk7XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuY29tbWEpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihpc01pcnJvcmVkID8gXCJdKTtcIiA6IFwifSk7XCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgYW4gaW5kaXZpZHVhbCBlbnVtIGVsZW1lbnQsIHByb2R1Y2luZyBlaXRoZXIgYW4gYXJyYXkgZWxlbWVudCBvciBhblxuICAgKiBvYmplY3QgZWxlbWVudCBiYXNlZCBvbiB3aGF0IHR5cGUgb2YgZW51bSB0aGlzIGlzLlxuICAgKi9cbiAgcHJvY2Vzc0VudW1FbGVtZW50KGlzU3ltYm9sRW51bSwgaGFzSW5pdGlhbGl6ZXJzKSB7XG4gICAgaWYgKGlzU3ltYm9sRW51bSkge1xuICAgICAgLy8gU3ltYm9sIGVudW1zIG5ldmVyIGhhdmUgaW5pdGlhbGl6ZXJzIGFuZCBhcmUgZXhwYW5kZWQgdG8gb2JqZWN0IGVsZW1lbnRzLlxuICAgICAgLy8gQSwgLT4gQTogU3ltYm9sKFwiQVwiKSxcbiAgICAgIGNvbnN0IGVsZW1lbnROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWUoKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgOiBTeW1ib2woXCIke2VsZW1lbnROYW1lfVwiKWApO1xuICAgIH0gZWxzZSBpZiAoaGFzSW5pdGlhbGl6ZXJzKSB7XG4gICAgICAvLyBJbml0aWFsaXplcnMgYXJlIGV4cGFuZGVkIHRvIG9iamVjdCBlbGVtZW50cy5cbiAgICAgIC8vIEEgPSAxLCAtPiBBOiAxLFxuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKFwiOlwiKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFbnVtIGVsZW1lbnRzIHdpdGhvdXQgaW5pdGlhbGl6ZXJzIGJlY29tZSBzdHJpbmcgbGl0ZXJhbCBhcnJheSBlbGVtZW50cy5cbiAgICAgIC8vIEEsIC0+IFwiQVwiLFxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGBcIiR7dGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWUoKX1cImApO1xuICAgIH1cbiAgfVxufVxuIiwgIiBmdW5jdGlvbiBfb3B0aW9uYWxDaGFpbihvcHMpIHsgbGV0IGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7IGxldCB2YWx1ZSA9IG9wc1swXTsgbGV0IGkgPSAxOyB3aGlsZSAoaSA8IG9wcy5sZW5ndGgpIHsgY29uc3Qgb3AgPSBvcHNbaV07IGNvbnN0IGZuID0gb3BzW2kgKyAxXTsgaSArPSAyOyBpZiAoKG9wID09PSAnb3B0aW9uYWxBY2Nlc3MnIHx8IG9wID09PSAnb3B0aW9uYWxDYWxsJykgJiYgdmFsdWUgPT0gbnVsbCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9IGlmIChvcCA9PT0gJ2FjY2VzcycgfHwgb3AgPT09ICdvcHRpb25hbEFjY2VzcycpIHsgbGFzdEFjY2Vzc0xIUyA9IHZhbHVlOyB2YWx1ZSA9IGZuKHZhbHVlKTsgfSBlbHNlIGlmIChvcCA9PT0gJ2NhbGwnIHx8IG9wID09PSAnb3B0aW9uYWxDYWxsJykgeyB2YWx1ZSA9IGZuKCguLi5hcmdzKSA9PiB2YWx1ZS5jYWxsKGxhc3RBY2Nlc3NMSFMsIC4uLmFyZ3MpKTsgbGFzdEFjY2Vzc0xIUyA9IHVuZGVmaW5lZDsgfSB9IHJldHVybiB2YWx1ZTsgfVxuXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuY29uc3QgSkVTVF9HTE9CQUxfTkFNRSA9IFwiamVzdFwiO1xuY29uc3QgSE9JU1RFRF9NRVRIT0RTID0gW1wibW9ja1wiLCBcInVubW9ja1wiLCBcImVuYWJsZUF1dG9tb2NrXCIsIFwiZGlzYWJsZUF1dG9tb2NrXCJdO1xuXG4vKipcbiAqIEltcGxlbWVudGF0aW9uIG9mIGJhYmVsLXBsdWdpbi1qZXN0LWhvaXN0LCB3aGljaCBob2lzdHMgdXAgc29tZSBqZXN0IG1ldGhvZFxuICogY2FsbHMgYWJvdmUgdGhlIGltcG9ydHMgdG8gYWxsb3cgdGhlbSB0byBvdmVycmlkZSBvdGhlciBpbXBvcnRzLlxuICpcbiAqIFRvIHByZXNlcnZlIGxpbmUgbnVtYmVycywgcmF0aGVyIHRoYW4gZGlyZWN0bHkgbW92aW5nIHRoZSBqZXN0Lm1vY2sgY29kZSwgd2VcbiAqIHdyYXAgZWFjaCBpbnZvY2F0aW9uIGluIGEgZnVuY3Rpb24gc3RhdGVtZW50IGFuZCB0aGVuIGNhbGwgdGhlIGZ1bmN0aW9uIGZyb21cbiAqIHRoZSB0b3Agb2YgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEplc3RIb2lzdFRyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICAgIF9faW5pdCgpIHt0aGlzLmhvaXN0ZWRGdW5jdGlvbk5hbWVzID0gW119XG5cbiAgY29uc3RydWN0b3IoXG4gICAgIHJvb3RUcmFuc2Zvcm1lcixcbiAgICAgdG9rZW5zLFxuICAgICBuYW1lTWFuYWdlcixcbiAgICAgaW1wb3J0UHJvY2Vzc29yLFxuICApIHtcbiAgICBzdXBlcigpO3RoaXMucm9vdFRyYW5zZm9ybWVyID0gcm9vdFRyYW5zZm9ybWVyO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMubmFtZU1hbmFnZXIgPSBuYW1lTWFuYWdlcjt0aGlzLmltcG9ydFByb2Nlc3NvciA9IGltcG9ydFByb2Nlc3NvcjtKZXN0SG9pc3RUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7O1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKS5zY29wZURlcHRoID09PSAwICYmXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNCh0dC5uYW1lLCB0dC5kb3QsIHR0Lm5hbWUsIHR0LnBhcmVuTCkgJiZcbiAgICAgIHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCkgPT09IEpFU1RfR0xPQkFMX05BTUVcbiAgICApIHtcbiAgICAgIC8vIFRPRE86IFRoaXMgb25seSB3b3JrcyBpZiBpbXBvcnRzIHRyYW5zZm9ybSBpcyBhY3RpdmUsIHdoaWNoIGl0IHdpbGwgYmUgZm9yIGplc3QuXG4gICAgICAvLyAgICAgICBCdXQgaWYgamVzdCBhZGRzIG1vZHVsZSBzdXBwb3J0IGFuZCB3ZSBubyBsb25nZXIgbmVlZCB0aGUgaW1wb3J0IHRyYW5zZm9ybSwgdGhpcyBuZWVkcyBmaXhpbmcuXG4gICAgICBpZiAoX29wdGlvbmFsQ2hhaW4oW3RoaXMsICdhY2Nlc3MnLCBfID0+IF8uaW1wb3J0UHJvY2Vzc29yLCAnb3B0aW9uYWxBY2Nlc3MnLCBfMiA9PiBfMi5nZXRHbG9iYWxOYW1lcywgJ2NhbGwnLCBfMyA9PiBfMygpLCAnb3B0aW9uYWxBY2Nlc3MnLCBfNCA9PiBfNC5oYXMsICdjYWxsJywgXzUgPT4gXzUoSkVTVF9HTE9CQUxfTkFNRSldKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5leHRyYWN0SG9pc3RlZENhbGxzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0SG9pc3RlZENvZGUoKSB7XG4gICAgaWYgKHRoaXMuaG9pc3RlZEZ1bmN0aW9uTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gVGhpcyB3aWxsIGJlIHBsYWNlZCBiZWZvcmUgbW9kdWxlIGludGVyb3AgY29kZSwgYnV0IHRoYXQncyBmaW5lIHNpbmNlXG4gICAgICAvLyBpbXBvcnRzIGFyZW4ndCBhbGxvd2VkIGluIG1vZHVsZSBtb2NrIGZhY3Rvcmllcy5cbiAgICAgIHJldHVybiB0aGlzLmhvaXN0ZWRGdW5jdGlvbk5hbWVzLm1hcCgobmFtZSkgPT4gYCR7bmFtZX0oKTtgKS5qb2luKFwiXCIpO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWN0cyBhbnkgbWV0aG9kcyBjYWxscyBvbiB0aGUgamVzdC1vYmplY3QgdGhhdCBzaG91bGQgYmUgaG9pc3RlZC5cbiAgICpcbiAgICogQWNjb3JkaW5nIHRvIHRoZSBqZXN0IGRvY3MsIGh0dHBzOi8vamVzdGpzLmlvL2RvY3MvZW4vamVzdC1vYmplY3QjamVzdG1vY2ttb2R1bGVuYW1lLWZhY3Rvcnktb3B0aW9ucyxcbiAgICogbW9jaywgdW5tb2NrLCBlbmFibGVBdXRvbW9jaywgZGlzYWJsZUF1dG9tb2NrLCBhcmUgdGhlIG1ldGhvZHMgdGhhdCBzaG91bGQgYmUgaG9pc3RlZC5cbiAgICpcbiAgICogV2UgZG8gbm90IGFwcGx5IHRoZSBzYW1lIGNoZWNrcyBvZiB0aGUgYXJndW1lbnRzIGFzIGJhYmVsLXBsdWdpbi1qZXN0LWhvaXN0IGRvZXMuXG4gICAqL1xuICAgZXh0cmFjdEhvaXN0ZWRDYWxscygpIHtcbiAgICAvLyBXZSdyZSBoYW5kbGluZyBhIGNoYWluIG9mIGNhbGxzIHdoZXJlIGBqZXN0YCBtYXkgb3IgbWF5IG5vdCBuZWVkIHRvIGJlIGluc2VydGVkIGZvciBlYWNoIGNhbGxcbiAgICAvLyBpbiB0aGUgY2hhaW4sIHNvIHJlbW92ZSB0aGUgaW5pdGlhbCBgamVzdGAgdG8gbWFrZSB0aGUgbG9vcCBpbXBsZW1lbnRhdGlvbiBjbGVhbmVyLlxuICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgLy8gVHJhY2sgc29tZSBzdGF0ZSBzbyB0aGF0IG11bHRpcGxlIG5vbi1ob2lzdGVkIGNoYWluZWQgY2FsbHMgaW4gYSByb3cga2VlcCB0aGVpciBjaGFpbmluZ1xuICAgIC8vIHN5bnRheC5cbiAgICBsZXQgZm9sbG93c05vbkhvaXN0ZWRKZXN0Q2FsbCA9IGZhbHNlO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGFsbCBjaGFpbmVkIGNhbGxzIG9uIHRoZSBqZXN0IG9iamVjdC5cbiAgICB3aGlsZSAodGhpcy50b2tlbnMubWF0Y2hlczModHQuZG90LCB0dC5uYW1lLCB0dC5wYXJlbkwpKSB7XG4gICAgICBjb25zdCBtZXRob2ROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSk7XG4gICAgICBjb25zdCBzaG91bGRIb2lzdCA9IEhPSVNURURfTUVUSE9EUy5pbmNsdWRlcyhtZXRob2ROYW1lKTtcbiAgICAgIGlmIChzaG91bGRIb2lzdCkge1xuICAgICAgICAvLyBXZSd2ZSBtYXRjaGVkIGUuZy4gYC5tb2NrKC4uLilgIG9yIHNpbWlsYXIgY2FsbC5cbiAgICAgICAgLy8gUmVwbGFjZSB0aGUgaW5pdGlhbCBgLmAgd2l0aCBgZnVuY3Rpb24gX19qZXN0SG9pc3QoKXtqZXN0LmBcbiAgICAgICAgY29uc3QgaG9pc3RlZEZ1bmN0aW9uTmFtZSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcIl9famVzdEhvaXN0XCIpO1xuICAgICAgICB0aGlzLmhvaXN0ZWRGdW5jdGlvbk5hbWVzLnB1c2goaG9pc3RlZEZ1bmN0aW9uTmFtZSk7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgZnVuY3Rpb24gJHtob2lzdGVkRnVuY3Rpb25OYW1lfSgpeyR7SkVTVF9HTE9CQUxfTkFNRX0uYCk7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc0JhbGFuY2VkQ29kZSgpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5wYXJlblIpO1xuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwiO31cIik7XG4gICAgICAgIGZvbGxvd3NOb25Ib2lzdGVkSmVzdENhbGwgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBub24taG9pc3RlZCBtZXRob2QsIHNvIGp1c3QgdHJhbnNmb3JtIHRoZSBjb2RlIGFzIHVzdWFsLlxuICAgICAgICBpZiAoZm9sbG93c05vbkhvaXN0ZWRKZXN0Q2FsbCkge1xuICAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBob2lzdCB0aGUgcHJldmlvdXMgY2FsbCwgd2UgY2FuIGxlYXZlIHRoZSBjb2RlIGFzLWlzIHRvIGNoYWluIG9mZiBvZiB0aGVcbiAgICAgICAgICAvLyBwcmV2aW91cyBtZXRob2QgY2FsbC4gSXQncyBpbXBvcnRhbnQgdG8gcHJlc2VydmUgdGhlIGNvZGUgaGVyZSBiZWNhdXNlIHdlIGRvbid0IGtub3dcbiAgICAgICAgICAvLyBmb3Igc3VyZSB0aGF0IHRoZSBtZXRob2QgYWN0dWFsbHkgcmV0dXJuZWQgdGhlIGplc3Qgb2JqZWN0IGZvciBjaGFpbmluZy5cbiAgICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJZiB3ZSBob2lzdGVkIHRoZSBwcmV2aW91cyBjYWxsLCB3ZSBrbm93IGl0IHJldHVybnMgdGhlIGplc3Qgb2JqZWN0IGJhY2ssIHNvIHdlIGluc2VydFxuICAgICAgICAgIC8vIHRoZSBpZGVudGlmaWVyIGBqZXN0YCB0byBjb250aW51ZSB0aGUgY2hhaW4uXG4gICAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAke0pFU1RfR0xPQkFMX05BTUV9LmApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc0JhbGFuY2VkQ29kZSgpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5wYXJlblIpO1xuICAgICAgICBmb2xsb3dzTm9uSG9pc3RlZEplc3RDYWxsID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnVtZXJpY1NlcGFyYXRvclRyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICBjb25zdHJ1Y3RvciggdG9rZW5zKSB7XG4gICAgc3VwZXIoKTt0aGlzLnRva2VucyA9IHRva2Vuczs7XG4gIH1cblxuICBwcm9jZXNzKCkge1xuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5udW0pKSB7XG4gICAgICBjb25zdCBjb2RlID0gdGhpcy50b2tlbnMuY3VycmVudFRva2VuQ29kZSgpO1xuICAgICAgaWYgKGNvZGUuaW5jbHVkZXMoXCJfXCIpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihjb2RlLnJlcGxhY2UoL18vZywgXCJcIikpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCAiXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IFRyYW5zZm9ybWVyIGZyb20gXCIuL1RyYW5zZm9ybWVyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9wdGlvbmFsQ2F0Y2hCaW5kaW5nVHJhbnNmb3JtZXIgZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIGNvbnN0cnVjdG9yKCB0b2tlbnMsICBuYW1lTWFuYWdlcikge1xuICAgIHN1cGVyKCk7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5uYW1lTWFuYWdlciA9IG5hbWVNYW5hZ2VyOztcbiAgfVxuXG4gIHByb2Nlc3MoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9jYXRjaCwgdHQuYnJhY2VMKSkge1xuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAgKCR7dGhpcy5uYW1lTWFuYWdlci5jbGFpbUZyZWVOYW1lKFwiZVwiKX0pYCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCAiXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IFRyYW5zZm9ybWVyIGZyb20gXCIuL1RyYW5zZm9ybWVyXCI7XG5cbi8qKlxuICogVHJhbnNmb3JtZXIgc3VwcG9ydGluZyB0aGUgb3B0aW9uYWwgY2hhaW5pbmcgYW5kIG51bGxpc2ggY29hbGVzY2luZyBvcGVyYXRvcnMuXG4gKlxuICogVGVjaCBwbGFuIGhlcmU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vYWxhbmdwaWVyY2Uvc3VjcmFzZS93aWtpL1N1Y3Jhc2UtT3B0aW9uYWwtQ2hhaW5pbmctYW5kLU51bGxpc2gtQ29hbGVzY2luZy1UZWNobmljYWwtUGxhblxuICpcbiAqIFRoZSBwcmVmaXggYW5kIHN1ZmZpeCBjb2RlIHNuaXBwZXRzIGFyZSBoYW5kbGVkIGJ5IFRva2VuUHJvY2Vzc29yLCBhbmQgdGhpcyB0cmFuc2Zvcm1lciBoYW5kbGVzXG4gKiB0aGUgb3BlcmF0b3JzIHRoZW1zZWx2ZXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9wdGlvbmFsQ2hhaW5pbmdOdWxsaXNoVHJhbnNmb3JtZXIgZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIGNvbnN0cnVjdG9yKCB0b2tlbnMsICBuYW1lTWFuYWdlcikge1xuICAgIHN1cGVyKCk7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5uYW1lTWFuYWdlciA9IG5hbWVNYW5hZ2VyOztcbiAgfVxuXG4gIHByb2Nlc3MoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Lm51bGxpc2hDb2FsZXNjaW5nKSkge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICAgIGlmICh0aGlzLnRva2Vucy50b2tlbnNbdG9rZW4ubnVsbGlzaFN0YXJ0SW5kZXhdLmlzQXN5bmNPcGVyYXRpb24pIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShcIiwgYXN5bmMgKCkgPT4gKFwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UoXCIsICgpID0+IChcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9kZWxldGUpKSB7XG4gICAgICBjb25zdCBuZXh0VG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbkF0UmVsYXRpdmVJbmRleCgxKTtcbiAgICAgIGlmIChuZXh0VG9rZW4uaXNPcHRpb25hbENoYWluU3RhcnQpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICAgIGNvbnN0IGNoYWluU3RhcnQgPSB0b2tlbi5zdWJzY3JpcHRTdGFydEluZGV4O1xuICAgIGlmIChcbiAgICAgIGNoYWluU3RhcnQgIT0gbnVsbCAmJlxuICAgICAgdGhpcy50b2tlbnMudG9rZW5zW2NoYWluU3RhcnRdLmlzT3B0aW9uYWxDaGFpblN0YXJ0ICYmXG4gICAgICAvLyBTdXBlciBzdWJzY3JpcHRzIGNhbid0IGJlIG9wdGlvbmFsIChzaW5jZSBzdXBlciBpcyBuZXZlciBudWxsL3VuZGVmaW5lZCksIGFuZCB0aGUgc3ludGF4XG4gICAgICAvLyByZWxpZXMgb24gdGhlIHN1YnNjcmlwdCBiZWluZyBpbnRhY3QsIHNvIGxlYXZlIHRoaXMgdG9rZW4gYWxvbmUuXG4gICAgICB0aGlzLnRva2Vucy50b2tlbkF0UmVsYXRpdmVJbmRleCgtMSkudHlwZSAhPT0gdHQuX3N1cGVyXG4gICAgKSB7XG4gICAgICBjb25zdCBwYXJhbSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcIl9cIik7XG4gICAgICBsZXQgYXJyb3dTdGFydFNuaXBwZXQ7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYWluU3RhcnQgPiAwICYmXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChjaGFpblN0YXJ0IC0gMSwgdHQuX2RlbGV0ZSkgJiZcbiAgICAgICAgdGhpcy5pc0xhc3RTdWJzY3JpcHRJbkNoYWluKClcbiAgICAgICkge1xuICAgICAgICAvLyBEZWxldGUgb3BlcmF0aW9ucyBhcmUgc3BlY2lhbDogd2UgYWxyZWFkeSByZW1vdmVkIHRoZSBkZWxldGUga2V5d29yZCwgYW5kIHRvIHN0aWxsXG4gICAgICAgIC8vIHBlcmZvcm0gYSBkZWxldGUsIHdlIG5lZWQgdG8gaW5zZXJ0IGEgZGVsZXRlIGluIHRoZSB2ZXJ5IGxhc3QgcGFydCBvZiB0aGUgY2hhaW4sIHdoaWNoXG4gICAgICAgIC8vIGluIGNvcnJlY3QgY29kZSB3aWxsIGFsd2F5cyBiZSBhIHByb3BlcnR5IGFjY2Vzcy5cbiAgICAgICAgYXJyb3dTdGFydFNuaXBwZXQgPSBgJHtwYXJhbX0gPT4gZGVsZXRlICR7cGFyYW19YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFycm93U3RhcnRTbmlwcGV0ID0gYCR7cGFyYW19ID0+ICR7cGFyYW19YDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2Vucy50b2tlbnNbY2hhaW5TdGFydF0uaXNBc3luY09wZXJhdGlvbikge1xuICAgICAgICBhcnJvd1N0YXJ0U25pcHBldCA9IGBhc3luYyAke2Fycm93U3RhcnRTbmlwcGV0fWA7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnF1ZXN0aW9uRG90LCB0dC5wYXJlbkwpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnF1ZXN0aW9uRG90LCB0dC5sZXNzVGhhbilcbiAgICAgICkge1xuICAgICAgICBpZiAodGhpcy5qdXN0U2tpcHBlZFN1cGVyKCkpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwiLmJpbmQodGhpcylcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShgLCAnb3B0aW9uYWxDYWxsJywgJHthcnJvd1N0YXJ0U25pcHBldH1gKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczIodHQucXVlc3Rpb25Eb3QsIHR0LmJyYWNrZXRMKSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKGAsICdvcHRpb25hbEFjY2VzcycsICR7YXJyb3dTdGFydFNuaXBwZXR9YCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnF1ZXN0aW9uRG90KSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKGAsICdvcHRpb25hbEFjY2VzcycsICR7YXJyb3dTdGFydFNuaXBwZXR9LmApO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5kb3QpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UoYCwgJ2FjY2VzcycsICR7YXJyb3dTdGFydFNuaXBwZXR9LmApO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFja2V0TCkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShgLCAnYWNjZXNzJywgJHthcnJvd1N0YXJ0U25pcHBldH1bYCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnBhcmVuTCkpIHtcbiAgICAgICAgaWYgKHRoaXMuanVzdFNraXBwZWRTdXBlcigpKSB7XG4gICAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIi5iaW5kKHRoaXMpXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UoYCwgJ2NhbGwnLCAke2Fycm93U3RhcnRTbmlwcGV0fShgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuZXhwZWN0ZWQgc3Vic2NyaXB0IG9wZXJhdG9yIGluIG9wdGlvbmFsIGNoYWluLlwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBjdXJyZW50IHRva2VuIGlzIHRoZSBsYXN0IG9mIGl0cyBjaGFpbiwgc28gdGhhdCB3ZSBrbm93IHdoZXRoZXIgaXQncyBlbGlnaWJsZVxuICAgKiB0byBoYXZlIGEgZGVsZXRlIG9wIGluc2VydGVkLlxuICAgKlxuICAgKiBXZSBjYW4gZG8gdGhpcyBieSB3YWxraW5nIGZvcndhcmQgdW50aWwgd2UgZGV0ZXJtaW5lIG9uZSB3YXkgb3IgYW5vdGhlci4gRWFjaFxuICAgKiBpc09wdGlvbmFsQ2hhaW5TdGFydCB0b2tlbiBtdXN0IGJlIHBhaXJlZCB3aXRoIGV4YWN0bHkgb25lIGlzT3B0aW9uYWxDaGFpbkVuZCB0b2tlbiBhZnRlciBpdCBpblxuICAgKiBhIG5lc3Rpbmcgd2F5LCBzbyB3ZSBjYW4gdHJhY2sgZGVwdGggYW5kIHdhbGsgdG8gdGhlIGVuZCBvZiB0aGUgY2hhaW4gKHRoZSBwb2ludCB3aGVyZSB0aGVcbiAgICogZGVwdGggZ29lcyBuZWdhdGl2ZSkgYW5kIHNlZSBpZiBhbnkgb3RoZXIgc3Vic2NyaXB0IHRva2VuIGlzIGFmdGVyIHVzIGluIHRoZSBjaGFpbi5cbiAgICovXG4gIGlzTGFzdFN1YnNjcmlwdEluQ2hhaW4oKSB7XG4gICAgbGV0IGRlcHRoID0gMDtcbiAgICBmb3IgKGxldCBpID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxOyA7IGkrKykge1xuICAgICAgaWYgKGkgPj0gdGhpcy50b2tlbnMudG9rZW5zLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWFjaGVkIHRoZSBlbmQgb2YgdGhlIGNvZGUgd2hpbGUgZmluZGluZyB0aGUgZW5kIG9mIHRoZSBhY2Nlc3MgY2hhaW4uXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudG9rZW5zLnRva2Vuc1tpXS5pc09wdGlvbmFsQ2hhaW5TdGFydCkge1xuICAgICAgICBkZXB0aCsrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy50b2tlbnNbaV0uaXNPcHRpb25hbENoYWluRW5kKSB7XG4gICAgICAgIGRlcHRoLS07XG4gICAgICB9XG4gICAgICBpZiAoZGVwdGggPCAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBUaGlzIHN1YnNjcmlwdCB0b2tlbiBpcyBhIGxhdGVyIG9uZSBpbiB0aGUgc2FtZSBjaGFpbi5cbiAgICAgIGlmIChkZXB0aCA9PT0gMCAmJiB0aGlzLnRva2Vucy50b2tlbnNbaV0uc3Vic2NyaXB0U3RhcnRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHdlIGFyZSB0aGUgb3Blbi1wYXJlbiBpbiBhbiBleHByZXNzaW9uIGxpa2Ugc3VwZXIuYSgpPy5iLlxuICAgKlxuICAgKiBXZSBjYW4gZG8gdGhpcyBieSB3YWxraW5nIGJhY2t3YXJkIHRvIGZpbmQgdGhlIHByZXZpb3VzIHN1YnNjcmlwdC4gSWYgdGhhdCBzdWJzY3JpcHQgd2FzXG4gICAqIHByZWNlZGVkIGJ5IGEgc3VwZXIsIHRoZW4gd2UgbXVzdCBiZSB0aGUgc3Vic2NyaXB0IGFmdGVyIGl0LCBzbyBpZiB0aGlzIGlzIGEgY2FsbCBleHByZXNzaW9uLFxuICAgKiB3ZSdsbCBuZWVkIHRvIGF0dGFjaCB0aGUgcmlnaHQgY29udGV4dC5cbiAgICovXG4gIGp1c3RTa2lwcGVkU3VwZXIoKSB7XG4gICAgbGV0IGRlcHRoID0gMDtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSAtIDE7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiUmVhY2hlZCB0aGUgc3RhcnQgb2YgdGhlIGNvZGUgd2hpbGUgZmluZGluZyB0aGUgc3RhcnQgb2YgdGhlIGFjY2VzcyBjaGFpbi5cIixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2Vucy50b2tlbnNbaW5kZXhdLmlzT3B0aW9uYWxDaGFpblN0YXJ0KSB7XG4gICAgICAgIGRlcHRoLS07XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLnRva2Vuc1tpbmRleF0uaXNPcHRpb25hbENoYWluRW5kKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgICBpZiAoZGVwdGggPCAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gVGhpcyBzdWJzY3JpcHQgdG9rZW4gaXMgYSBsYXRlciBvbmUgaW4gdGhlIHNhbWUgY2hhaW4uXG4gICAgICBpZiAoZGVwdGggPT09IDAgJiYgdGhpcy50b2tlbnMudG9rZW5zW2luZGV4XS5zdWJzY3JpcHRTdGFydEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5zLnRva2Vuc1tpbmRleCAtIDFdLnR5cGUgPT09IHR0Ll9zdXBlcjtcbiAgICAgIH1cbiAgICAgIGluZGV4LS07XG4gICAgfVxuICB9XG59XG4iLCAiXG5cbmltcG9ydCB7SWRlbnRpZmllclJvbGV9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3BsYXktbmFtZSwgd2hpY2ggYWRkcyBhXG4gKiBkaXNwbGF5IG5hbWUgdG8gdXNhZ2VzIG9mIFJlYWN0LmNyZWF0ZUNsYXNzIGFuZCBjcmVhdGVSZWFjdENsYXNzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWFjdERpc3BsYXlOYW1lVHJhbnNmb3JtZXIgZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICByb290VHJhbnNmb3JtZXIsXG4gICAgIHRva2VucyxcbiAgICAgaW1wb3J0UHJvY2Vzc29yLFxuICAgICBvcHRpb25zLFxuICApIHtcbiAgICBzdXBlcigpO3RoaXMucm9vdFRyYW5zZm9ybWVyID0gcm9vdFRyYW5zZm9ybWVyO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMuaW1wb3J0UHJvY2Vzc29yID0gaW1wb3J0UHJvY2Vzc29yO3RoaXMub3B0aW9ucyA9IG9wdGlvbnM7O1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCk7XG4gICAgaWYgKHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCkgPT09IFwiY3JlYXRlUmVhY3RDbGFzc1wiKSB7XG4gICAgICBjb25zdCBuZXdOYW1lID1cbiAgICAgICAgdGhpcy5pbXBvcnRQcm9jZXNzb3IgJiYgdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KFwiY3JlYXRlUmVhY3RDbGFzc1wiKTtcbiAgICAgIGlmIChuZXdOYW1lKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgKDAsICR7bmV3TmFtZX0pYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudHJ5UHJvY2Vzc0NyZWF0ZUNsYXNzQ2FsbChzdGFydEluZGV4KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5uYW1lLCB0dC5kb3QsIHR0Lm5hbWUpICYmXG4gICAgICB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZSgpID09PSBcIlJlYWN0XCIgJiZcbiAgICAgIHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDIpID09PSBcImNyZWF0ZUNsYXNzXCJcbiAgICApIHtcbiAgICAgIGNvbnN0IG5ld05hbWUgPSB0aGlzLmltcG9ydFByb2Nlc3NvclxuICAgICAgICA/IHRoaXMuaW1wb3J0UHJvY2Vzc29yLmdldElkZW50aWZpZXJSZXBsYWNlbWVudChcIlJlYWN0XCIpIHx8IFwiUmVhY3RcIlxuICAgICAgICA6IFwiUmVhY3RcIjtcbiAgICAgIGlmIChuZXdOYW1lKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihuZXdOYW1lKTtcbiAgICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudHJ5UHJvY2Vzc0NyZWF0ZUNsYXNzQ2FsbChzdGFydEluZGV4KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBpcyBjYWxsZWQgd2l0aCB0aGUgdG9rZW4gcG9zaXRpb24gYXQgdGhlIG9wZW4tcGFyZW4uXG4gICAqL1xuICAgdHJ5UHJvY2Vzc0NyZWF0ZUNsYXNzQ2FsbChzdGFydEluZGV4KSB7XG4gICAgY29uc3QgZGlzcGxheU5hbWUgPSB0aGlzLmZpbmREaXNwbGF5TmFtZShzdGFydEluZGV4KTtcbiAgICBpZiAoIWRpc3BsYXlOYW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2xhc3NOZWVkc0Rpc3BsYXlOYW1lKCkpIHtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuTCk7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZUwpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgZGlzcGxheU5hbWU6ICcke2Rpc3BsYXlOYW1lfScsYCk7XG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZVIpO1xuICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQucGFyZW5SKTtcbiAgICB9XG4gIH1cblxuICAgZmluZERpc3BsYXlOYW1lKHN0YXJ0SW5kZXgpIHtcbiAgICBpZiAoc3RhcnRJbmRleCA8IDIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczJBdEluZGV4KHN0YXJ0SW5kZXggLSAyLCB0dC5uYW1lLCB0dC5lcSkpIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gYXNzaWdubWVudCAob3IgZGVjbGFyYXRpb24pIGFuZCB0aGUgTEhTIGlzIGVpdGhlciBhbiBpZGVudGlmaWVyIG9yIGEgbWVtYmVyXG4gICAgICAvLyBleHByZXNzaW9uIGVuZGluZyBpbiBhbiBpZGVudGlmaWVyLCBzbyB1c2UgdGhhdCBpZGVudGlmaWVyIG5hbWUuXG4gICAgICByZXR1cm4gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHN0YXJ0SW5kZXggLSAyKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgc3RhcnRJbmRleCA+PSAyICYmXG4gICAgICB0aGlzLnRva2Vucy50b2tlbnNbc3RhcnRJbmRleCAtIDJdLmlkZW50aWZpZXJSb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RLZXlcbiAgICApIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gb2JqZWN0IGxpdGVyYWwgdmFsdWUuXG4gICAgICByZXR1cm4gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHN0YXJ0SW5kZXggLSAyKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChzdGFydEluZGV4IC0gMiwgdHQuX2V4cG9ydCwgdHQuX2RlZmF1bHQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXREaXNwbGF5TmFtZUZyb21GaWxlbmFtZSgpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gICBnZXREaXNwbGF5TmFtZUZyb21GaWxlbmFtZSgpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMub3B0aW9ucy5maWxlUGF0aCB8fCBcInVua25vd25cIjtcbiAgICBjb25zdCBwYXRoU2VnbWVudHMgPSBmaWxlUGF0aC5zcGxpdChcIi9cIik7XG4gICAgY29uc3QgZmlsZW5hbWUgPSBwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGRvdEluZGV4ID0gZmlsZW5hbWUubGFzdEluZGV4T2YoXCIuXCIpO1xuICAgIGNvbnN0IGJhc2VGaWxlbmFtZSA9IGRvdEluZGV4ID09PSAtMSA/IGZpbGVuYW1lIDogZmlsZW5hbWUuc2xpY2UoMCwgZG90SW5kZXgpO1xuICAgIGlmIChiYXNlRmlsZW5hbWUgPT09IFwiaW5kZXhcIiAmJiBwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDJdKSB7XG4gICAgICByZXR1cm4gcGF0aFNlZ21lbnRzW3BhdGhTZWdtZW50cy5sZW5ndGggLSAyXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGJhc2VGaWxlbmFtZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2Ugb25seSB3YW50IHRvIGFkZCBhIGRpc3BsYXkgbmFtZSB3aGVuIHRoaXMgaXMgYSBmdW5jdGlvbiBjYWxsIGNvbnRhaW5pbmdcbiAgICogb25lIGFyZ3VtZW50LCB3aGljaCBpcyBhbiBvYmplY3QgbGl0ZXJhbCB3aXRob3V0IGBkaXNwbGF5TmFtZWAgYXMgYW5cbiAgICogZXhpc3Rpbmcga2V5LlxuICAgKi9cbiAgIGNsYXNzTmVlZHNEaXNwbGF5TmFtZSgpIHtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnBhcmVuTCwgdHQuYnJhY2VMKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBUaGUgYmxvY2sgc3RhcnRzIG9uIHRoZSB7LCBhbmQgd2UgZXhwZWN0IGFueSBkaXNwbGF5TmFtZSBrZXkgdG8gYmUgaW5cbiAgICAvLyB0aGF0IGNvbnRleHQuIFdlIG5lZWQgdG8gaWdub3JlIG90aGVyIG90aGVyIGNvbnRleHRzIHRvIGF2b2lkIG1hdGNoaW5nXG4gICAgLy8gbmVzdGVkIGRpc3BsYXlOYW1lIGtleXMuXG4gICAgY29uc3Qgb2JqZWN0U3RhcnRJbmRleCA9IGluZGV4ICsgMTtcbiAgICBjb25zdCBvYmplY3RDb250ZXh0SWQgPSB0aGlzLnRva2Vucy50b2tlbnNbb2JqZWN0U3RhcnRJbmRleF0uY29udGV4dElkO1xuICAgIGlmIChvYmplY3RDb250ZXh0SWQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgbm9uLW51bGwgY29udGV4dCBJRCBvbiBvYmplY3Qgb3Blbi1icmFjZS5cIik7XG4gICAgfVxuXG4gICAgZm9yICg7IGluZGV4IDwgdGhpcy50b2tlbnMudG9rZW5zLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbnNbaW5kZXhdO1xuICAgICAgaWYgKHRva2VuLnR5cGUgPT09IHR0LmJyYWNlUiAmJiB0b2tlbi5jb250ZXh0SWQgPT09IG9iamVjdENvbnRleHRJZCkge1xuICAgICAgICBpbmRleCsrO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUF0SW5kZXgoaW5kZXgpID09PSBcImRpc3BsYXlOYW1lXCIgJiZcbiAgICAgICAgdGhpcy50b2tlbnMudG9rZW5zW2luZGV4XS5pZGVudGlmaWVyUm9sZSA9PT0gSWRlbnRpZmllclJvbGUuT2JqZWN0S2V5ICYmXG4gICAgICAgIHRva2VuLmNvbnRleHRJZCA9PT0gb2JqZWN0Q29udGV4dElkXG4gICAgICApIHtcbiAgICAgICAgLy8gV2UgZm91bmQgYSBkaXNwbGF5TmFtZSBrZXksIHNvIGJhaWwgb3V0LlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGluZGV4ID09PSB0aGlzLnRva2Vucy50b2tlbnMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dCB3aGVuIHByb2Nlc3NpbmcgUmVhY3QgY2xhc3MuXCIpO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGdvdCB0aGlzIGZhciwgd2Uga25vdyB3ZSBoYXZlIGNyZWF0ZUNsYXNzIHdpdGggYW4gb2JqZWN0IHdpdGggbm9cbiAgICAvLyBkaXNwbGF5IG5hbWUsIHNvIHdlIHdhbnQgdG8gcHJvY2VlZCBhcyBsb25nIGFzIHRoYXQgd2FzIHRoZSBvbmx5IGFyZ3VtZW50LlxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnBhcmVuUikgfHxcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbmRleCwgdHQuY29tbWEsIHR0LnBhcmVuUilcbiAgICApO1xuICB9XG59XG4iLCAiaW1wb3J0IHtJZGVudGlmaWVyUm9sZSwgaXNUb3BMZXZlbERlY2xhcmF0aW9ufSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplclwiO1xuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgIF9faW5pdCgpIHt0aGlzLmV4dHJhY3RlZERlZmF1bHRFeHBvcnROYW1lID0gbnVsbH1cblxuICBjb25zdHJ1Y3RvciggdG9rZW5zLCAgZmlsZVBhdGgpIHtcbiAgICBzdXBlcigpO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMuZmlsZVBhdGggPSBmaWxlUGF0aDtSZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTs7XG4gIH1cblxuICBzZXRFeHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZShleHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZSkge1xuICAgIHRoaXMuZXh0cmFjdGVkRGVmYXVsdEV4cG9ydE5hbWUgPSBleHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZTtcbiAgfVxuXG4gIGdldFByZWZpeENvZGUoKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgIChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBlbnRlck1vZHVsZSA9IHJlcXVpcmUoJ3JlYWN0LWhvdC1sb2FkZXInKS5lbnRlck1vZHVsZTtcbiAgICAgICAgZW50ZXJNb2R1bGUgJiYgZW50ZXJNb2R1bGUobW9kdWxlKTtcbiAgICAgIH0pKCk7YFxuICAgICAgLnJlcGxhY2UoL1xccysvZywgXCIgXCIpXG4gICAgICAudHJpbSgpO1xuICB9XG5cbiAgZ2V0U3VmZml4Q29kZSgpIHtcbiAgICBjb25zdCB0b3BMZXZlbE5hbWVzID0gbmV3IFNldCgpO1xuICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdGhpcy50b2tlbnMudG9rZW5zKSB7XG4gICAgICBpZiAoXG4gICAgICAgICF0b2tlbi5pc1R5cGUgJiZcbiAgICAgICAgaXNUb3BMZXZlbERlY2xhcmF0aW9uKHRva2VuKSAmJlxuICAgICAgICB0b2tlbi5pZGVudGlmaWVyUm9sZSAhPT0gSWRlbnRpZmllclJvbGUuSW1wb3J0RGVjbGFyYXRpb25cbiAgICAgICkge1xuICAgICAgICB0b3BMZXZlbE5hbWVzLmFkZCh0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5hbWVzVG9SZWdpc3RlciA9IEFycmF5LmZyb20odG9wTGV2ZWxOYW1lcykubWFwKChuYW1lKSA9PiAoe1xuICAgICAgdmFyaWFibGVOYW1lOiBuYW1lLFxuICAgICAgdW5pcXVlTG9jYWxOYW1lOiBuYW1lLFxuICAgIH0pKTtcbiAgICBpZiAodGhpcy5leHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZSkge1xuICAgICAgbmFtZXNUb1JlZ2lzdGVyLnB1c2goe1xuICAgICAgICB2YXJpYWJsZU5hbWU6IHRoaXMuZXh0cmFjdGVkRGVmYXVsdEV4cG9ydE5hbWUsXG4gICAgICAgIHVuaXF1ZUxvY2FsTmFtZTogXCJkZWZhdWx0XCIsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGBcbjsoZnVuY3Rpb24gKCkge1xuICB2YXIgcmVhY3RIb3RMb2FkZXIgPSByZXF1aXJlKCdyZWFjdC1ob3QtbG9hZGVyJykuZGVmYXVsdDtcbiAgdmFyIGxlYXZlTW9kdWxlID0gcmVxdWlyZSgncmVhY3QtaG90LWxvYWRlcicpLmxlYXZlTW9kdWxlO1xuICBpZiAoIXJlYWN0SG90TG9hZGVyKSB7XG4gICAgcmV0dXJuO1xuICB9XG4ke25hbWVzVG9SZWdpc3RlclxuICAubWFwKFxuICAgICh7dmFyaWFibGVOYW1lLCB1bmlxdWVMb2NhbE5hbWV9KSA9PlxuICAgICAgYCAgcmVhY3RIb3RMb2FkZXIucmVnaXN0ZXIoJHt2YXJpYWJsZU5hbWV9LCBcIiR7dW5pcXVlTG9jYWxOYW1lfVwiLCAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0aGlzLmZpbGVQYXRoIHx8IFwiXCIsXG4gICAgICApfSk7YCxcbiAgKVxuICAuam9pbihcIlxcblwiKX1cbiAgbGVhdmVNb2R1bGUobW9kdWxlKTtcbn0pKCk7YDtcbiAgfVxuXG4gIHByb2Nlc3MoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCAiaW1wb3J0IHtJU19JREVOVElGSUVSX0NIQVIsIElTX0lERU5USUZJRVJfU1RBUlR9IGZyb20gXCIuLi9wYXJzZXIvdXRpbC9pZGVudGlmaWVyXCI7XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0xleGljYWxfZ3JhbW1hclxuLy8gSGFyZC1jb2RlIGEgbGlzdCBvZiByZXNlcnZlZCB3b3JkcyByYXRoZXIgdGhhbiB0cnlpbmcgdG8gdXNlIGtleXdvcmRzIG9yIGNvbnRleHR1YWwga2V5d29yZHNcbi8vIGZyb20gdGhlIHBhcnNlciwgc2luY2UgY3VycmVudGx5IHRoZXJlIGFyZSB2YXJpb3VzIGV4Y2VwdGlvbnMsIGxpa2UgYHBhY2thZ2VgIGJlaW5nIHJlc2VydmVkXG4vLyBidXQgdW51c2VkIGFuZCB2YXJpb3VzIGNvbnRleHR1YWwga2V5d29yZHMgYmVpbmcgcmVzZXJ2ZWQuIE5vdGUgdGhhdCB3ZSBhc3N1bWUgdGhhdCBhbGwgY29kZVxuLy8gY29tcGlsZWQgYnkgU3VjcmFzZSBpcyBpbiBhIG1vZHVsZSwgc28gc3RyaWN0IG1vZGUgd29yZHMgYW5kIGF3YWl0IGFyZSBhbGwgY29uc2lkZXJlZCByZXNlcnZlZFxuLy8gaGVyZS5cbmNvbnN0IFJFU0VSVkVEX1dPUkRTID0gbmV3IFNldChbXG4gIC8vIFJlc2VydmVkIGtleXdvcmRzIGFzIG9mIEVDTUFTY3JpcHQgMjAxNVxuICBcImJyZWFrXCIsXG4gIFwiY2FzZVwiLFxuICBcImNhdGNoXCIsXG4gIFwiY2xhc3NcIixcbiAgXCJjb25zdFwiLFxuICBcImNvbnRpbnVlXCIsXG4gIFwiZGVidWdnZXJcIixcbiAgXCJkZWZhdWx0XCIsXG4gIFwiZGVsZXRlXCIsXG4gIFwiZG9cIixcbiAgXCJlbHNlXCIsXG4gIFwiZXhwb3J0XCIsXG4gIFwiZXh0ZW5kc1wiLFxuICBcImZpbmFsbHlcIixcbiAgXCJmb3JcIixcbiAgXCJmdW5jdGlvblwiLFxuICBcImlmXCIsXG4gIFwiaW1wb3J0XCIsXG4gIFwiaW5cIixcbiAgXCJpbnN0YW5jZW9mXCIsXG4gIFwibmV3XCIsXG4gIFwicmV0dXJuXCIsXG4gIFwic3VwZXJcIixcbiAgXCJzd2l0Y2hcIixcbiAgXCJ0aGlzXCIsXG4gIFwidGhyb3dcIixcbiAgXCJ0cnlcIixcbiAgXCJ0eXBlb2ZcIixcbiAgXCJ2YXJcIixcbiAgXCJ2b2lkXCIsXG4gIFwid2hpbGVcIixcbiAgXCJ3aXRoXCIsXG4gIFwieWllbGRcIixcbiAgLy8gRnV0dXJlIHJlc2VydmVkIGtleXdvcmRzXG4gIFwiZW51bVwiLFxuICBcImltcGxlbWVudHNcIixcbiAgXCJpbnRlcmZhY2VcIixcbiAgXCJsZXRcIixcbiAgXCJwYWNrYWdlXCIsXG4gIFwicHJpdmF0ZVwiLFxuICBcInByb3RlY3RlZFwiLFxuICBcInB1YmxpY1wiLFxuICBcInN0YXRpY1wiLFxuICBcImF3YWl0XCIsXG4gIC8vIExpdGVyYWxzIHRoYXQgY2Fubm90IGJlIHVzZWQgYXMgaWRlbnRpZmllcnNcbiAgXCJmYWxzZVwiLFxuICBcIm51bGxcIixcbiAgXCJ0cnVlXCIsXG5dKTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIG5hbWUgaXMgYSBsZWdhbCB2YXJpYWJsZSBuYW1lLlxuICpcbiAqIFRoaXMgaXMgbmVlZGVkIHdoZW4gdHJhbnNmb3JtaW5nIFR5cGVTY3JpcHQgZW51bXM7IGlmIGFuIGVudW0ga2V5IGlzIGEgdmFsaWRcbiAqIHZhcmlhYmxlIG5hbWUsIGl0IG1pZ2h0IGJlIHJlZmVyZW5jZWQgbGF0ZXIgaW4gdGhlIGVudW0sIHNvIHdlIG5lZWQgdG9cbiAqIGRlY2xhcmUgYSB2YXJpYWJsZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNJZGVudGlmaWVyKG5hbWUpIHtcbiAgaWYgKG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICghSVNfSURFTlRJRklFUl9TVEFSVFtuYW1lLmNoYXJDb2RlQXQoMCldKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgbmFtZS5sZW5ndGg7IGkrKykge1xuICAgIGlmICghSVNfSURFTlRJRklFUl9DSEFSW25hbWUuY2hhckNvZGVBdChpKV0pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuICFSRVNFUlZFRF9XT1JEUy5oYXMobmFtZSk7XG59XG4iLCAiXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IGlzSWRlbnRpZmllciBmcm9tIFwiLi4vdXRpbC9pc0lkZW50aWZpZXJcIjtcblxuaW1wb3J0IFRyYW5zZm9ybWVyIGZyb20gXCIuL1RyYW5zZm9ybWVyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFR5cGVTY3JpcHRUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgIHJvb3RUcmFuc2Zvcm1lcixcbiAgICAgdG9rZW5zLFxuICAgICBpc0ltcG9ydHNUcmFuc2Zvcm1FbmFibGVkLFxuICApIHtcbiAgICBzdXBlcigpO3RoaXMucm9vdFRyYW5zZm9ybWVyID0gcm9vdFRyYW5zZm9ybWVyO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMuaXNJbXBvcnRzVHJhbnNmb3JtRW5hYmxlZCA9IGlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQ7O1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzUG9zc2libGVBcnJvd1BhcmFtRW5kKCkgfHxcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NQb3NzaWJsZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtcygpIHx8XG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzUG9zc2libGVUeXBlUmFuZ2UoKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9wdWJsaWMpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fcHJvdGVjdGVkKSB8fFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuX3ByaXZhdGUpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fYWJzdHJhY3QpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fcmVhZG9ubHkpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fb3ZlcnJpZGUpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5ub25OdWxsQXNzZXJ0aW9uKVxuICAgICkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9lbnVtKSB8fCB0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fY29uc3QsIHR0Ll9lbnVtKSkge1xuICAgICAgdGhpcy5wcm9jZXNzRW51bSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Ll9lbnVtKSB8fFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczModHQuX2V4cG9ydCwgdHQuX2NvbnN0LCB0dC5fZW51bSlcbiAgICApIHtcbiAgICAgIHRoaXMucHJvY2Vzc0VudW0odHJ1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvY2Vzc0VudW0oaXNFeHBvcnQgPSBmYWxzZSkge1xuICAgIC8vIFdlIG1pZ2h0IGhhdmUgXCJleHBvcnQgY29uc3QgZW51bVwiLCBzbyBqdXN0IHJlbW92ZSBhbGwgcmVsZXZhbnQgdG9rZW5zLlxuICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgIHdoaWxlICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fY29uc3QpIHx8IHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9lbnVtKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9XG4gICAgY29uc3QgZW51bU5hbWUgPSB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZSgpO1xuICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgaWYgKGlzRXhwb3J0ICYmICF0aGlzLmlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQpIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCJleHBvcnQgXCIpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGB2YXIgJHtlbnVtTmFtZX07IChmdW5jdGlvbiAoJHtlbnVtTmFtZX0pYCk7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VMKTtcbiAgICB0aGlzLnByb2Nlc3NFbnVtQm9keShlbnVtTmFtZSk7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VSKTtcbiAgICBpZiAoaXNFeHBvcnQgJiYgdGhpcy5pc0ltcG9ydHNUcmFuc2Zvcm1FbmFibGVkKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGApKCR7ZW51bU5hbWV9IHx8IChleHBvcnRzLiR7ZW51bU5hbWV9ID0gJHtlbnVtTmFtZX0gPSB7fSkpO2ApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGApKCR7ZW51bU5hbWV9IHx8ICgke2VudW1OYW1lfSA9IHt9KSk7YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBhbiBlbnVtIGludG8gZXF1aXZhbGVudCBKUy4gVGhpcyBoYXMgY29tcGxleGl0eSBpbiBhIGZldyBwbGFjZXM6XG4gICAqIC0gVFMgYWxsb3dzIHN0cmluZyBlbnVtcywgbnVtZXJpYyBlbnVtcywgYW5kIGEgbWl4IG9mIHRoZSB0d28gc3R5bGVzIHdpdGhpbiBhbiBlbnVtLlxuICAgKiAtIEVudW0ga2V5cyBhcmUgYWxsb3dlZCB0byBiZSByZWZlcmVuY2VkIGluIGxhdGVyIGVudW0gdmFsdWVzLlxuICAgKiAtIEVudW0ga2V5cyBhcmUgYWxsb3dlZCB0byBiZSBzdHJpbmdzLlxuICAgKiAtIFdoZW4gZW51bSB2YWx1ZXMgYXJlIG9taXR0ZWQsIHRoZXkgc2hvdWxkIGZvbGxvdyBhbiBhdXRvLWluY3JlbWVudCBiZWhhdmlvci5cbiAgICovXG4gIHByb2Nlc3NFbnVtQm9keShlbnVtTmFtZSkge1xuICAgIC8vIENvZGUgdGhhdCBjYW4gYmUgdXNlZCB0byByZWZlcmVuY2UgdGhlIHByZXZpb3VzIGVudW0gbWVtYmVyLCBvciBudWxsIGlmIHRoaXMgaXMgdGhlIGZpcnN0XG4gICAgLy8gZW51bSBtZW1iZXIuXG4gICAgbGV0IHByZXZpb3VzVmFsdWVDb2RlID0gbnVsbDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zdCB7bmFtZVN0cmluZ0NvZGUsIHZhcmlhYmxlTmFtZX0gPSB0aGlzLmV4dHJhY3RFbnVtS2V5SW5mbyh0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKSk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5lcSwgdHQuc3RyaW5nLCB0dC5jb21tYSkgfHxcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczModHQuZXEsIHR0LnN0cmluZywgdHQuYnJhY2VSKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0cmluZ0xpdGVyYWxFbnVtTWVtYmVyKGVudW1OYW1lLCBuYW1lU3RyaW5nQ29kZSwgdmFyaWFibGVOYW1lKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuZXEpKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0V4cGxpY2l0VmFsdWVFbnVtTWVtYmVyKGVudW1OYW1lLCBuYW1lU3RyaW5nQ29kZSwgdmFyaWFibGVOYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0ltcGxpY2l0VmFsdWVFbnVtTWVtYmVyKFxuICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIG5hbWVTdHJpbmdDb2RlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSxcbiAgICAgICAgICBwcmV2aW91c1ZhbHVlQ29kZSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhcmlhYmxlTmFtZSAhPSBudWxsKSB7XG4gICAgICAgIHByZXZpb3VzVmFsdWVDb2RlID0gdmFyaWFibGVOYW1lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJldmlvdXNWYWx1ZUNvZGUgPSBgJHtlbnVtTmFtZX1bJHtuYW1lU3RyaW5nQ29kZX1dYDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0IG5hbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBlbnVtIGtleSwgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBjb2RlIHRvIGVtaXRcbiAgICogYW5kIHdoZXRoZXIgd2Ugc2hvdWxkIGRlY2xhcmUgYSB2YXJpYWJsZSBhcyBwYXJ0IG9mIHRoaXMgZGVjbGFyYXRpb24uXG4gICAqXG4gICAqIFNvbWUgY2FzZXMgdG8ga2VlcCBpbiBtaW5kOlxuICAgKiAtIEVudW0ga2V5cyBjYW4gYmUgaW1wbGljaXRseSByZWZlcmVuY2VkIGxhdGVyLCBlLmcuIGBYID0gMSwgWSA9IFhgLiBJbiBTdWNyYXNlLCB3ZSBpbXBsZW1lbnRcbiAgICogICB0aGlzIGJ5IGRlY2xhcmluZyBhIHZhcmlhYmxlIGBYYCBzbyB0aGF0IGxhdGVyIGV4cHJlc3Npb25zIGNhbiB1c2UgaXQuXG4gICAqIC0gSW4gYWRkaXRpb24gdG8gdGhlIHVzdWFsIGlkZW50aWZpZXIga2V5IHN5bnRheCwgZW51bSBrZXlzIGFyZSBhbGxvd2VkIHRvIGJlIHN0cmluZyBsaXRlcmFscyxcbiAgICogICBlLmcuIGBcImhlbGxvIHdvcmxkXCIgPSAzLGAuIFRlbXBsYXRlIGxpdGVyYWwgc3ludGF4IGlzIE5PVCBhbGxvd2VkLlxuICAgKiAtIEV2ZW4gaWYgdGhlIGVudW0ga2V5IGlzIGRlZmluZWQgYXMgYSBzdHJpbmcgbGl0ZXJhbCwgaXQgbWF5IHN0aWxsIGJlIHJlZmVyZW5jZWQgYnkgaWRlbnRpZmllclxuICAgKiAgIGxhdGVyLCBlLmcuIGBcIlhcIiA9IDEsIFkgPSBYYC4gVGhhdCBtZWFucyB0aGF0IHdlIG5lZWQgdG8gZGV0ZWN0IHdoZXRoZXIgb3Igbm90IGEgc3RyaW5nXG4gICAqICAgbGl0ZXJhbCBpcyBpZGVudGlmaWVyLWxpa2UgYW5kIGVtaXQgYSB2YXJpYWJsZSBpZiBzbywgZXZlbiBpZiB0aGUgZGVjbGFyYXRpb24gZGlkIG5vdCB1c2UgYW5cbiAgICogICBpZGVudGlmaWVyLlxuICAgKiAtIFJlc2VydmVkIGtleXdvcmRzIGxpa2UgYGJyZWFrYCBhcmUgdmFsaWQgZW51bSBrZXlzLCBidXQgYXJlIG5vdCB2YWxpZCB0byBiZSByZWZlcmVuY2VkIGxhdGVyXG4gICAqICAgYW5kIHdvdWxkIGJlIGEgc3ludGF4IGVycm9yIGlmIHdlIGVtaXR0ZWQgYSB2YXJpYWJsZSwgc28gd2UgbmVlZCB0byBza2lwIHRoZSB2YXJpYWJsZVxuICAgKiAgIGRlY2xhcmF0aW9uIGluIHRob3NlIGNhc2VzLlxuICAgKlxuICAgKiBUaGUgdmFyaWFibGVOYW1lIHJldHVybiB2YWx1ZSBjYXB0dXJlcyB0aGVzZSBudWFuY2VzOiBpZiBub24tbnVsbCwgd2UgY2FuIGFuZCBtdXN0IGVtaXQgYVxuICAgKiB2YXJpYWJsZSBkZWNsYXJhdGlvbiwgYW5kIGlmIG51bGwsIHdlIGNhbid0IGFuZCBzaG91bGRuJ3QuXG4gICAqL1xuICBleHRyYWN0RW51bUtleUluZm8obmFtZVRva2VuKSB7XG4gICAgaWYgKG5hbWVUb2tlbi50eXBlID09PSB0dC5uYW1lKSB7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVGb3JUb2tlbihuYW1lVG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZVN0cmluZ0NvZGU6IGBcIiR7bmFtZX1cImAsXG4gICAgICAgIHZhcmlhYmxlTmFtZTogaXNJZGVudGlmaWVyKG5hbWUpID8gbmFtZSA6IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAobmFtZVRva2VuLnR5cGUgPT09IHR0LnN0cmluZykge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMudG9rZW5zLnN0cmluZ1ZhbHVlRm9yVG9rZW4obmFtZVRva2VuKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWVTdHJpbmdDb2RlOiB0aGlzLnRva2Vucy5jb2RlLnNsaWNlKG5hbWVUb2tlbi5zdGFydCwgbmFtZVRva2VuLmVuZCksXG4gICAgICAgIHZhcmlhYmxlTmFtZTogaXNJZGVudGlmaWVyKG5hbWUpID8gbmFtZSA6IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBuYW1lIG9yIHN0cmluZyBhdCBiZWdpbm5pbmcgb2YgZW51bSBlbGVtZW50LlwiKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGFuIGVudW0gbWVtYmVyIHdoZXJlIHRoZSBSSFMgaXMganVzdCBhIHN0cmluZyBsaXRlcmFsIChub3Qgb21pdHRlZCwgbm90IGEgbnVtYmVyLCBhbmRcbiAgICogbm90IGEgY29tcGxleCBleHByZXNzaW9uKS4gVGhpcyBpcyB0aGUgdHlwaWNhbCBmb3JtIGZvciBUUyBzdHJpbmcgZW51bXMsIGFuZCBpbiB0aGlzIGNhc2UsIHdlXG4gICAqIGRvICpub3QqIGNyZWF0ZSBhIHJldmVyc2UgbWFwcGluZy5cbiAgICpcbiAgICogVGhpcyBpcyBjYWxsZWQgYWZ0ZXIgZGVsZXRpbmcgdGhlIGtleSB0b2tlbiwgd2hlbiB0aGUgdG9rZW4gcHJvY2Vzc29yIGlzIGF0IHRoZSBlcXVhbHMgc2lnbi5cbiAgICpcbiAgICogRXhhbXBsZSAxOlxuICAgKiBzb21lS2V5ID0gXCJzb21lIHZhbHVlXCJcbiAgICogLT5cbiAgICogY29uc3Qgc29tZUtleSA9IFwic29tZSB2YWx1ZVwiOyBNeUVudW1bXCJzb21lS2V5XCJdID0gc29tZUtleTtcbiAgICpcbiAgICogRXhhbXBsZSAyOlxuICAgKiBcInNvbWUga2V5XCIgPSBcInNvbWUgdmFsdWVcIlxuICAgKiAtPlxuICAgKiBNeUVudW1bXCJzb21lIGtleVwiXSA9IFwic29tZSB2YWx1ZVwiO1xuICAgKi9cbiAgcHJvY2Vzc1N0cmluZ0xpdGVyYWxFbnVtTWVtYmVyKFxuICAgIGVudW1OYW1lLFxuICAgIG5hbWVTdHJpbmdDb2RlLFxuICAgIHZhcmlhYmxlTmFtZSxcbiAgKSB7XG4gICAgaWYgKHZhcmlhYmxlTmFtZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGBjb25zdCAke3ZhcmlhYmxlTmFtZX1gKTtcbiAgICAgIC8vID1cbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgLy8gdmFsdWUgc3RyaW5nXG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYDsgJHtlbnVtTmFtZX1bJHtuYW1lU3RyaW5nQ29kZX1dID0gJHt2YXJpYWJsZU5hbWV9O2ApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAke2VudW1OYW1lfVske25hbWVTdHJpbmdDb2RlfV1gKTtcbiAgICAgIC8vID1cbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgLy8gdmFsdWUgc3RyaW5nXG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCI7XCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgYW4gZW51bSBtZW1iZXIgaW5pdGlhbGl6ZWQgd2l0aCBhbiBleHByZXNzaW9uIG9uIHRoZSByaWdodC1oYW5kIHNpZGUgKG90aGVyIHRoYW4gYVxuICAgKiBzdHJpbmcgbGl0ZXJhbCkuIEluIHRoZXNlIGNhc2VzLCB3ZSBzaG91bGQgdHJhbnNmb3JtIHRoZSBleHByZXNzaW9uIGFuZCBlbWl0IGNvZGUgdGhhdCBzZXRzIHVwXG4gICAqIGEgcmV2ZXJzZSBtYXBwaW5nLlxuICAgKlxuICAgKiBUaGUgVHlwZVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIG9wZXJhdGlvbiBkaXN0aW5ndWlzaGVzIGJldHdlZW4gZXhwcmVzc2lvbnMgdGhhdCBjYW4gYmVcbiAgICogXCJjb25zdGFudCBmb2xkZWRcIiBhdCBjb21waWxlIHRpbWUgKGkuZS4gY29uc2lzdCBvZiBudW1iZXIgbGl0ZXJhbHMgYW5kIHNpbXBsZSBtYXRoIG9wZXJhdGlvbnNcbiAgICogb24gdGhvc2UgbnVtYmVycykgYW5kIG9uZXMgdGhhdCBhcmUgZHluYW1pYy4gRm9yIGNvbnN0YW50IGV4cHJlc3Npb25zLCBpdCBlbWl0cyB0aGUgcmVzb2x2ZWRcbiAgICogbnVtZXJpYyB2YWx1ZSwgYW5kIGF1dG8taW5jcmVtZW50aW5nIGlzIG9ubHkgYWxsb3dlZCBpbiB0aGF0IGNhc2UuIEV2YWx1YXRpbmcgZXhwcmVzc2lvbnMgYXRcbiAgICogY29tcGlsZSB0aW1lIHdvdWxkIGFkZCBzaWduaWZpY2FudCBjb21wbGV4aXR5IHRvIFN1Y3Jhc2UsIHNvIFN1Y3Jhc2UgaW5zdGVhZCBsZWF2ZXMgdGhlXG4gICAqIGV4cHJlc3Npb24gYXMtaXMsIGFuZCB3aWxsIGxhdGVyIGVtaXQgc29tZXRoaW5nIGxpa2UgYE15RW51bVtcInByZXZpb3VzS2V5XCJdICsgMWAgdG8gaW1wbGVtZW50XG4gICAqIGF1dG8taW5jcmVtZW50aW5nLlxuICAgKlxuICAgKiBUaGlzIGlzIGNhbGxlZCBhZnRlciBkZWxldGluZyB0aGUga2V5IHRva2VuLCB3aGVuIHRoZSB0b2tlbiBwcm9jZXNzb3IgaXMgYXQgdGhlIGVxdWFscyBzaWduLlxuICAgKlxuICAgKiBFeGFtcGxlIDE6XG4gICAqIHNvbWVLZXkgPSAxICsgMVxuICAgKiAtPlxuICAgKiBjb25zdCBzb21lS2V5ID0gMSArIDE7IE15RW51bVtNeUVudW1bXCJzb21lS2V5XCJdID0gc29tZUtleV0gPSBcInNvbWVLZXlcIjtcbiAgICpcbiAgICogRXhhbXBsZSAyOlxuICAgKiBcInNvbWUga2V5XCIgPSAxICsgMVxuICAgKiAtPlxuICAgKiBNeUVudW1bTXlFbnVtW1wic29tZSBrZXlcIl0gPSAxICsgMV0gPSBcInNvbWUga2V5XCI7XG4gICAqL1xuICBwcm9jZXNzRXhwbGljaXRWYWx1ZUVudW1NZW1iZXIoXG4gICAgZW51bU5hbWUsXG4gICAgbmFtZVN0cmluZ0NvZGUsXG4gICAgdmFyaWFibGVOYW1lLFxuICApIHtcbiAgICBjb25zdCByaHNFbmRJbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLnJoc0VuZEluZGV4O1xuICAgIGlmIChyaHNFbmRJbmRleCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCByaHNFbmRJbmRleCBvbiBlbnVtIGFzc2lnbi5cIik7XG4gICAgfVxuXG4gICAgaWYgKHZhcmlhYmxlTmFtZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGBjb25zdCAke3ZhcmlhYmxlTmFtZX1gKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgcmhzRW5kSW5kZXgpIHtcbiAgICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc1Rva2VuKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFxuICAgICAgICBgOyAke2VudW1OYW1lfVske2VudW1OYW1lfVske25hbWVTdHJpbmdDb2RlfV0gPSAke3ZhcmlhYmxlTmFtZX1dID0gJHtuYW1lU3RyaW5nQ29kZX07YCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCR7ZW51bU5hbWV9WyR7ZW51bU5hbWV9WyR7bmFtZVN0cmluZ0NvZGV9XWApO1xuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCByaHNFbmRJbmRleCkge1xuICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYF0gPSAke25hbWVTdHJpbmdDb2RlfTtgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGFuIGVudW0gbWVtYmVyIHdpdGggbm8gcmlnaHQtaGFuZCBzaWRlIGV4cHJlc3Npb24uIEluIHRoaXMgY2FzZSwgdGhlIHZhbHVlIGlzIHRoZVxuICAgKiBwcmV2aW91cyB2YWx1ZSBwbHVzIDEsIG9yIDAgaWYgdGhlcmUgd2FzIG5vIHByZXZpb3VzIHZhbHVlLiBXZSBzaG91bGQgYWxzbyBhbHdheXMgZW1pdCBhXG4gICAqIHJldmVyc2UgbWFwcGluZy5cbiAgICpcbiAgICogRXhhbXBsZSAxOlxuICAgKiBzb21lS2V5MlxuICAgKiAtPlxuICAgKiBjb25zdCBzb21lS2V5MiA9IHNvbWVLZXkxICsgMTsgTXlFbnVtW015RW51bVtcInNvbWVLZXkyXCJdID0gc29tZUtleTJdID0gXCJzb21lS2V5MlwiO1xuICAgKlxuICAgKiBFeGFtcGxlIDI6XG4gICAqIFwic29tZSBrZXkgMlwiXG4gICAqIC0+XG4gICAqIE15RW51bVtNeUVudW1bXCJzb21lIGtleSAyXCJdID0gc29tZUtleTEgKyAxXSA9IFwic29tZSBrZXkgMlwiO1xuICAgKi9cbiAgcHJvY2Vzc0ltcGxpY2l0VmFsdWVFbnVtTWVtYmVyKFxuICAgIGVudW1OYW1lLFxuICAgIG5hbWVTdHJpbmdDb2RlLFxuICAgIHZhcmlhYmxlTmFtZSxcbiAgICBwcmV2aW91c1ZhbHVlQ29kZSxcbiAgKSB7XG4gICAgbGV0IHZhbHVlQ29kZSA9IHByZXZpb3VzVmFsdWVDb2RlICE9IG51bGwgPyBgJHtwcmV2aW91c1ZhbHVlQ29kZX0gKyAxYCA6IFwiMFwiO1xuICAgIGlmICh2YXJpYWJsZU5hbWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgY29uc3QgJHt2YXJpYWJsZU5hbWV9ID0gJHt2YWx1ZUNvZGV9OyBgKTtcbiAgICAgIHZhbHVlQ29kZSA9IHZhcmlhYmxlTmFtZTtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcbiAgICAgIGAke2VudW1OYW1lfVske2VudW1OYW1lfVske25hbWVTdHJpbmdDb2RlfV0gPSAke3ZhbHVlQ29kZX1dID0gJHtuYW1lU3RyaW5nQ29kZX07YCxcbiAgICApO1xuICB9XG59XG4iLCAiXG5cblxuaW1wb3J0IHtDb250ZXh0dWFsS2V5d29yZH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5pbXBvcnQgZ2V0Q2xhc3NJbmZvLCB7fSBmcm9tIFwiLi4vdXRpbC9nZXRDbGFzc0luZm9cIjtcbmltcG9ydCBDSlNJbXBvcnRUcmFuc2Zvcm1lciBmcm9tIFwiLi9DSlNJbXBvcnRUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IEVTTUltcG9ydFRyYW5zZm9ybWVyIGZyb20gXCIuL0VTTUltcG9ydFRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgRmxvd1RyYW5zZm9ybWVyIGZyb20gXCIuL0Zsb3dUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IEplc3RIb2lzdFRyYW5zZm9ybWVyIGZyb20gXCIuL0plc3RIb2lzdFRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgSlNYVHJhbnNmb3JtZXIgZnJvbSBcIi4vSlNYVHJhbnNmb3JtZXJcIjtcbmltcG9ydCBOdW1lcmljU2VwYXJhdG9yVHJhbnNmb3JtZXIgZnJvbSBcIi4vTnVtZXJpY1NlcGFyYXRvclRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgT3B0aW9uYWxDYXRjaEJpbmRpbmdUcmFuc2Zvcm1lciBmcm9tIFwiLi9PcHRpb25hbENhdGNoQmluZGluZ1RyYW5zZm9ybWVyXCI7XG5pbXBvcnQgT3B0aW9uYWxDaGFpbmluZ051bGxpc2hUcmFuc2Zvcm1lciBmcm9tIFwiLi9PcHRpb25hbENoYWluaW5nTnVsbGlzaFRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgUmVhY3REaXNwbGF5TmFtZVRyYW5zZm9ybWVyIGZyb20gXCIuL1JlYWN0RGlzcGxheU5hbWVUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IFJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIgZnJvbSBcIi4vUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lclwiO1xuXG5pbXBvcnQgVHlwZVNjcmlwdFRyYW5zZm9ybWVyIGZyb20gXCIuL1R5cGVTY3JpcHRUcmFuc2Zvcm1lclwiO1xuXG5cblxuXG5cblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvb3RUcmFuc2Zvcm1lciB7XG4gICBfX2luaXQoKSB7dGhpcy50cmFuc2Zvcm1lcnMgPSBbXX1cbiAgXG4gIFxuICAgX19pbml0MigpIHt0aGlzLmdlbmVyYXRlZFZhcmlhYmxlcyA9IFtdfVxuICBcbiAgXG4gIFxuICBcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdWNyYXNlQ29udGV4dCxcbiAgICB0cmFuc2Zvcm1zLFxuICAgIGVuYWJsZUxlZ2FjeUJhYmVsNU1vZHVsZUludGVyb3AsXG4gICAgb3B0aW9ucyxcbiAgKSB7O1Jvb3RUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7Um9vdFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7XG4gICAgdGhpcy5uYW1lTWFuYWdlciA9IHN1Y3Jhc2VDb250ZXh0Lm5hbWVNYW5hZ2VyO1xuICAgIHRoaXMuaGVscGVyTWFuYWdlciA9IHN1Y3Jhc2VDb250ZXh0LmhlbHBlck1hbmFnZXI7XG4gICAgY29uc3Qge3Rva2VuUHJvY2Vzc29yLCBpbXBvcnRQcm9jZXNzb3J9ID0gc3VjcmFzZUNvbnRleHQ7XG4gICAgdGhpcy50b2tlbnMgPSB0b2tlblByb2Nlc3NvcjtcbiAgICB0aGlzLmlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQgPSB0cmFuc2Zvcm1zLmluY2x1ZGVzKFwiaW1wb3J0c1wiKTtcbiAgICB0aGlzLmlzUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1FbmFibGVkID0gdHJhbnNmb3Jtcy5pbmNsdWRlcyhcInJlYWN0LWhvdC1sb2FkZXJcIik7XG4gICAgdGhpcy5kaXNhYmxlRVNUcmFuc2Zvcm1zID0gQm9vbGVhbihvcHRpb25zLmRpc2FibGVFU1RyYW5zZm9ybXMpO1xuXG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVFU1RyYW5zZm9ybXMpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtZXJzLnB1c2goXG4gICAgICAgIG5ldyBPcHRpb25hbENoYWluaW5nTnVsbGlzaFRyYW5zZm9ybWVyKHRva2VuUHJvY2Vzc29yLCB0aGlzLm5hbWVNYW5hZ2VyKSxcbiAgICAgICk7XG4gICAgICB0aGlzLnRyYW5zZm9ybWVycy5wdXNoKG5ldyBOdW1lcmljU2VwYXJhdG9yVHJhbnNmb3JtZXIodG9rZW5Qcm9jZXNzb3IpKTtcbiAgICAgIHRoaXMudHJhbnNmb3JtZXJzLnB1c2gobmV3IE9wdGlvbmFsQ2F0Y2hCaW5kaW5nVHJhbnNmb3JtZXIodG9rZW5Qcm9jZXNzb3IsIHRoaXMubmFtZU1hbmFnZXIpKTtcbiAgICB9XG5cbiAgICBpZiAodHJhbnNmb3Jtcy5pbmNsdWRlcyhcImpzeFwiKSkge1xuICAgICAgaWYgKG9wdGlvbnMuanN4UnVudGltZSAhPT0gXCJwcmVzZXJ2ZVwiKSB7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtZXJzLnB1c2goXG4gICAgICAgICAgbmV3IEpTWFRyYW5zZm9ybWVyKHRoaXMsIHRva2VuUHJvY2Vzc29yLCBpbXBvcnRQcm9jZXNzb3IsIHRoaXMubmFtZU1hbmFnZXIsIG9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy50cmFuc2Zvcm1lcnMucHVzaChcbiAgICAgICAgbmV3IFJlYWN0RGlzcGxheU5hbWVUcmFuc2Zvcm1lcih0aGlzLCB0b2tlblByb2Nlc3NvciwgaW1wb3J0UHJvY2Vzc29yLCBvcHRpb25zKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIgPSBudWxsO1xuICAgIGlmICh0cmFuc2Zvcm1zLmluY2x1ZGVzKFwicmVhY3QtaG90LWxvYWRlclwiKSkge1xuICAgICAgaWYgKCFvcHRpb25zLmZpbGVQYXRoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImZpbGVQYXRoIGlzIHJlcXVpcmVkIHdoZW4gdXNpbmcgdGhlIHJlYWN0LWhvdC1sb2FkZXIgdHJhbnNmb3JtLlwiKTtcbiAgICAgIH1cbiAgICAgIHJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIgPSBuZXcgUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcih0b2tlblByb2Nlc3Nvciwgb3B0aW9ucy5maWxlUGF0aCk7XG4gICAgICB0aGlzLnRyYW5zZm9ybWVycy5wdXNoKHJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIpO1xuICAgIH1cblxuICAgIC8vIE5vdGUgdGhhdCB3ZSBhbHdheXMgd2FudCB0byBlbmFibGUgdGhlIGltcG9ydHMgdHJhbnNmb3JtZXIsIGV2ZW4gd2hlbiB0aGUgaW1wb3J0IHRyYW5zZm9ybVxuICAgIC8vIGl0c2VsZiBpc24ndCBlbmFibGVkLCBzaW5jZSB3ZSBuZWVkIHRvIGRvIHR5cGUtb25seSBpbXBvcnQgcHJ1bmluZyBmb3IgYm90aCBGbG93IGFuZFxuICAgIC8vIFR5cGVTY3JpcHQuXG4gICAgaWYgKHRyYW5zZm9ybXMuaW5jbHVkZXMoXCJpbXBvcnRzXCIpKSB7XG4gICAgICBpZiAoaW1wb3J0UHJvY2Vzc29yID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG5vbi1udWxsIGltcG9ydFByb2Nlc3NvciB3aXRoIGltcG9ydHMgdHJhbnNmb3JtIGVuYWJsZWQuXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy50cmFuc2Zvcm1lcnMucHVzaChcbiAgICAgICAgbmV3IENKU0ltcG9ydFRyYW5zZm9ybWVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdG9rZW5Qcm9jZXNzb3IsXG4gICAgICAgICAgaW1wb3J0UHJvY2Vzc29yLFxuICAgICAgICAgIHRoaXMubmFtZU1hbmFnZXIsXG4gICAgICAgICAgdGhpcy5oZWxwZXJNYW5hZ2VyLFxuICAgICAgICAgIHJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIsXG4gICAgICAgICAgZW5hYmxlTGVnYWN5QmFiZWw1TW9kdWxlSW50ZXJvcCxcbiAgICAgICAgICBCb29sZWFuKG9wdGlvbnMuZW5hYmxlTGVnYWN5VHlwZVNjcmlwdE1vZHVsZUludGVyb3ApLFxuICAgICAgICAgIHRyYW5zZm9ybXMuaW5jbHVkZXMoXCJ0eXBlc2NyaXB0XCIpLFxuICAgICAgICAgIHRyYW5zZm9ybXMuaW5jbHVkZXMoXCJmbG93XCIpLFxuICAgICAgICAgIEJvb2xlYW4ob3B0aW9ucy5wcmVzZXJ2ZUR5bmFtaWNJbXBvcnQpLFxuICAgICAgICAgIEJvb2xlYW4ob3B0aW9ucy5rZWVwVW51c2VkSW1wb3J0cyksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybWVycy5wdXNoKFxuICAgICAgICBuZXcgRVNNSW1wb3J0VHJhbnNmb3JtZXIoXG4gICAgICAgICAgdG9rZW5Qcm9jZXNzb3IsXG4gICAgICAgICAgdGhpcy5uYW1lTWFuYWdlcixcbiAgICAgICAgICB0aGlzLmhlbHBlck1hbmFnZXIsXG4gICAgICAgICAgcmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcixcbiAgICAgICAgICB0cmFuc2Zvcm1zLmluY2x1ZGVzKFwidHlwZXNjcmlwdFwiKSxcbiAgICAgICAgICB0cmFuc2Zvcm1zLmluY2x1ZGVzKFwiZmxvd1wiKSxcbiAgICAgICAgICBCb29sZWFuKG9wdGlvbnMua2VlcFVudXNlZEltcG9ydHMpLFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0cmFuc2Zvcm1zLmluY2x1ZGVzKFwiZmxvd1wiKSkge1xuICAgICAgdGhpcy50cmFuc2Zvcm1lcnMucHVzaChcbiAgICAgICAgbmV3IEZsb3dUcmFuc2Zvcm1lcih0aGlzLCB0b2tlblByb2Nlc3NvciwgdHJhbnNmb3Jtcy5pbmNsdWRlcyhcImltcG9ydHNcIikpLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRyYW5zZm9ybXMuaW5jbHVkZXMoXCJ0eXBlc2NyaXB0XCIpKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybWVycy5wdXNoKFxuICAgICAgICBuZXcgVHlwZVNjcmlwdFRyYW5zZm9ybWVyKHRoaXMsIHRva2VuUHJvY2Vzc29yLCB0cmFuc2Zvcm1zLmluY2x1ZGVzKFwiaW1wb3J0c1wiKSksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodHJhbnNmb3Jtcy5pbmNsdWRlcyhcImplc3RcIikpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtZXJzLnB1c2goXG4gICAgICAgIG5ldyBKZXN0SG9pc3RUcmFuc2Zvcm1lcih0aGlzLCB0b2tlblByb2Nlc3NvciwgdGhpcy5uYW1lTWFuYWdlciwgaW1wb3J0UHJvY2Vzc29yKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdHJhbnNmb3JtKCkge1xuICAgIHRoaXMudG9rZW5zLnJlc2V0KCk7XG4gICAgdGhpcy5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgY29uc3Qgc2hvdWxkQWRkVXNlU3RyaWN0ID0gdGhpcy5pc0ltcG9ydHNUcmFuc2Zvcm1FbmFibGVkO1xuICAgIC8vIFwidXNlIHN0cmljdFwiIGFsd2F5cyBuZWVkcyB0byBiZSBmaXJzdCwgc28gb3ZlcnJpZGUgdGhlIG5vcm1hbCB0cmFuc2Zvcm1lciBvcmRlci5cbiAgICBsZXQgcHJlZml4ID0gc2hvdWxkQWRkVXNlU3RyaWN0ID8gJ1widXNlIHN0cmljdFwiOycgOiBcIlwiO1xuICAgIGZvciAoY29uc3QgdHJhbnNmb3JtZXIgb2YgdGhpcy50cmFuc2Zvcm1lcnMpIHtcbiAgICAgIHByZWZpeCArPSB0cmFuc2Zvcm1lci5nZXRQcmVmaXhDb2RlKCk7XG4gICAgfVxuICAgIHByZWZpeCArPSB0aGlzLmhlbHBlck1hbmFnZXIuZW1pdEhlbHBlcnMoKTtcbiAgICBwcmVmaXggKz0gdGhpcy5nZW5lcmF0ZWRWYXJpYWJsZXMubWFwKCh2KSA9PiBgIHZhciAke3Z9O2ApLmpvaW4oXCJcIik7XG4gICAgZm9yIChjb25zdCB0cmFuc2Zvcm1lciBvZiB0aGlzLnRyYW5zZm9ybWVycykge1xuICAgICAgcHJlZml4ICs9IHRyYW5zZm9ybWVyLmdldEhvaXN0ZWRDb2RlKCk7XG4gICAgfVxuICAgIGxldCBzdWZmaXggPSBcIlwiO1xuICAgIGZvciAoY29uc3QgdHJhbnNmb3JtZXIgb2YgdGhpcy50cmFuc2Zvcm1lcnMpIHtcbiAgICAgIHN1ZmZpeCArPSB0cmFuc2Zvcm1lci5nZXRTdWZmaXhDb2RlKCk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9rZW5zLmZpbmlzaCgpO1xuICAgIGxldCB7Y29kZX0gPSByZXN1bHQ7XG4gICAgaWYgKGNvZGUuc3RhcnRzV2l0aChcIiMhXCIpKSB7XG4gICAgICBsZXQgbmV3bGluZUluZGV4ID0gY29kZS5pbmRleE9mKFwiXFxuXCIpO1xuICAgICAgaWYgKG5ld2xpbmVJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgbmV3bGluZUluZGV4ID0gY29kZS5sZW5ndGg7XG4gICAgICAgIGNvZGUgKz0gXCJcXG5cIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvZGU6IGNvZGUuc2xpY2UoMCwgbmV3bGluZUluZGV4ICsgMSkgKyBwcmVmaXggKyBjb2RlLnNsaWNlKG5ld2xpbmVJbmRleCArIDEpICsgc3VmZml4LFxuICAgICAgICAvLyBUaGUgaGFzaGJhbmcgbGluZSBoYXMgbm8gdG9rZW5zLCBzbyBzaGlmdGluZyB0aGUgdG9rZW5zIHRvIGFjY291bnRcbiAgICAgICAgLy8gZm9yIHByZWZpeCBjYW4gaGFwcGVuIG5vcm1hbGx5LlxuICAgICAgICBtYXBwaW5nczogdGhpcy5zaGlmdE1hcHBpbmdzKHJlc3VsdC5tYXBwaW5ncywgcHJlZml4Lmxlbmd0aCksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2RlOiBwcmVmaXggKyBjb2RlICsgc3VmZml4LFxuICAgICAgICBtYXBwaW5nczogdGhpcy5zaGlmdE1hcHBpbmdzKHJlc3VsdC5tYXBwaW5ncywgcHJlZml4Lmxlbmd0aCksXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByb2Nlc3NCYWxhbmNlZENvZGUoKSB7XG4gICAgbGV0IGJyYWNlRGVwdGggPSAwO1xuICAgIGxldCBwYXJlbkRlcHRoID0gMDtcbiAgICB3aGlsZSAoIXRoaXMudG9rZW5zLmlzQXRFbmQoKSkge1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlTCkgfHwgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuZG9sbGFyQnJhY2VMKSkge1xuICAgICAgICBicmFjZURlcHRoKys7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgaWYgKGJyYWNlRGVwdGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYnJhY2VEZXB0aC0tO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnBhcmVuTCkpIHtcbiAgICAgICAgcGFyZW5EZXB0aCsrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5wYXJlblIpKSB7XG4gICAgICAgIGlmIChwYXJlbkRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHBhcmVuRGVwdGgtLTtcbiAgICAgIH1cbiAgICAgIHRoaXMucHJvY2Vzc1Rva2VuKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzc1Rva2VuKCkge1xuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fY2xhc3MpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NDbGFzcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHRyYW5zZm9ybWVyIG9mIHRoaXMudHJhbnNmb3JtZXJzKSB7XG4gICAgICBjb25zdCB3YXNQcm9jZXNzZWQgPSB0cmFuc2Zvcm1lci5wcm9jZXNzKCk7XG4gICAgICBpZiAod2FzUHJvY2Vzc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gIH1cblxuICAvKipcbiAgICogU2tpcCBwYXN0IGEgY2xhc3Mgd2l0aCBhIG5hbWUgYW5kIHJldHVybiB0aGF0IG5hbWUuXG4gICAqL1xuICBwcm9jZXNzTmFtZWRDbGFzcygpIHtcbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9jbGFzcywgdHQubmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGlkZW50aWZpZXIgZm9yIGV4cG9ydGVkIGNsYXNzIG5hbWUuXCIpO1xuICAgIH1cbiAgICBjb25zdCBuYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSk7XG4gICAgdGhpcy5wcm9jZXNzQ2xhc3MoKTtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIHByb2Nlc3NDbGFzcygpIHtcbiAgICBjb25zdCBjbGFzc0luZm8gPSBnZXRDbGFzc0luZm8odGhpcywgdGhpcy50b2tlbnMsIHRoaXMubmFtZU1hbmFnZXIsIHRoaXMuZGlzYWJsZUVTVHJhbnNmb3Jtcyk7XG5cbiAgICAvLyBCb3RoIHN0YXRpYyBhbmQgaW5zdGFuY2UgaW5pdGlhbGl6ZXJzIG5lZWQgYSBjbGFzcyBuYW1lIHRvIHVzZSB0byBpbnZva2UgdGhlIGluaXRpYWxpemVyLCBzb1xuICAgIC8vIGFzc2lnbiB0byBvbmUgaWYgbmVjZXNzYXJ5LlxuICAgIGNvbnN0IG5lZWRzQ29tbWFFeHByZXNzaW9uID1cbiAgICAgIChjbGFzc0luZm8uaGVhZGVySW5mby5pc0V4cHJlc3Npb24gfHwgIWNsYXNzSW5mby5oZWFkZXJJbmZvLmNsYXNzTmFtZSkgJiZcbiAgICAgIGNsYXNzSW5mby5zdGF0aWNJbml0aWFsaXplck5hbWVzLmxlbmd0aCArIGNsYXNzSW5mby5pbnN0YW5jZUluaXRpYWxpemVyTmFtZXMubGVuZ3RoID4gMDtcblxuICAgIGxldCBjbGFzc05hbWUgPSBjbGFzc0luZm8uaGVhZGVySW5mby5jbGFzc05hbWU7XG4gICAgaWYgKG5lZWRzQ29tbWFFeHByZXNzaW9uKSB7XG4gICAgICBjbGFzc05hbWUgPSB0aGlzLm5hbWVNYW5hZ2VyLmNsYWltRnJlZU5hbWUoXCJfY2xhc3NcIik7XG4gICAgICB0aGlzLmdlbmVyYXRlZFZhcmlhYmxlcy5wdXNoKGNsYXNzTmFtZSk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAgKCR7Y2xhc3NOYW1lfSA9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xhc3NUb2tlbiA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICAgIGNvbnN0IGNvbnRleHRJZCA9IGNsYXNzVG9rZW4uY29udGV4dElkO1xuICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgY2xhc3MgdG8gaGF2ZSBhIGNvbnRleHQgSUQuXCIpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5fY2xhc3MpO1xuICAgIHdoaWxlICghdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHRJZEFuZExhYmVsKHR0LmJyYWNlTCwgY29udGV4dElkKSkge1xuICAgICAgdGhpcy5wcm9jZXNzVG9rZW4oKTtcbiAgICB9XG5cbiAgICB0aGlzLnByb2Nlc3NDbGFzc0JvZHkoY2xhc3NJbmZvLCBjbGFzc05hbWUpO1xuXG4gICAgY29uc3Qgc3RhdGljSW5pdGlhbGl6ZXJTdGF0ZW1lbnRzID0gY2xhc3NJbmZvLnN0YXRpY0luaXRpYWxpemVyTmFtZXMubWFwKFxuICAgICAgKG5hbWUpID0+IGAke2NsYXNzTmFtZX0uJHtuYW1lfSgpYCxcbiAgICApO1xuICAgIGlmIChuZWVkc0NvbW1hRXhwcmVzc2lvbikge1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcbiAgICAgICAgYCwgJHtzdGF0aWNJbml0aWFsaXplclN0YXRlbWVudHMubWFwKChzKSA9PiBgJHtzfSwgYCkuam9pbihcIlwiKX0ke2NsYXNzTmFtZX0pYCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChjbGFzc0luZm8uc3RhdGljSW5pdGlhbGl6ZXJOYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAgJHtzdGF0aWNJbml0aWFsaXplclN0YXRlbWVudHMubWFwKChzKSA9PiBgJHtzfTtgKS5qb2luKFwiIFwiKX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2Ugd2FudCB0byBqdXN0IGhhbmRsZSBjbGFzcyBmaWVsZHMgaW4gYWxsIGNvbnRleHRzLCBzaW5jZSBUeXBlU2NyaXB0IHN1cHBvcnRzIHRoZW0uIExhdGVyLFxuICAgKiB3aGVuIHNvbWUgSlMgaW1wbGVtZW50YXRpb25zIHN1cHBvcnQgY2xhc3MgZmllbGRzLCB0aGlzIHNob3VsZCBiZSBtYWRlIG9wdGlvbmFsLlxuICAgKi9cbiAgcHJvY2Vzc0NsYXNzQm9keShjbGFzc0luZm8sIGNsYXNzTmFtZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGhlYWRlckluZm8sXG4gICAgICBjb25zdHJ1Y3Rvckluc2VydFBvcyxcbiAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgICAgZmllbGRzLFxuICAgICAgaW5zdGFuY2VJbml0aWFsaXplck5hbWVzLFxuICAgICAgcmFuZ2VzVG9SZW1vdmUsXG4gICAgfSA9IGNsYXNzSW5mbztcbiAgICBsZXQgZmllbGRJbmRleCA9IDA7XG4gICAgbGV0IHJhbmdlVG9SZW1vdmVJbmRleCA9IDA7XG4gICAgY29uc3QgY2xhc3NDb250ZXh0SWQgPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKS5jb250ZXh0SWQ7XG4gICAgaWYgKGNsYXNzQ29udGV4dElkID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG5vbi1udWxsIGNvbnRleHQgSUQgb24gY2xhc3MuXCIpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZUwpO1xuICAgIGlmICh0aGlzLmlzUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1FbmFibGVkKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFxuICAgICAgICBcIl9fcmVhY3RzdGFuZGluX19yZWdlbmVyYXRlQnlFdmFsKGtleSwgY29kZSkge3RoaXNba2V5XSA9IGV2YWwoY29kZSk7fVwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZWVkc0NvbnN0cnVjdG9ySW5pdCA9XG4gICAgICBjb25zdHJ1Y3RvckluaXRpYWxpemVyU3RhdGVtZW50cy5sZW5ndGggKyBpbnN0YW5jZUluaXRpYWxpemVyTmFtZXMubGVuZ3RoID4gMDtcblxuICAgIGlmIChjb25zdHJ1Y3Rvckluc2VydFBvcyA9PT0gbnVsbCAmJiBuZWVkc0NvbnN0cnVjdG9ySW5pdCkge1xuICAgICAgY29uc3QgY29uc3RydWN0b3JJbml0aWFsaXplcnNDb2RlID0gdGhpcy5tYWtlQ29uc3RydWN0b3JJbml0Q29kZShcbiAgICAgICAgY29uc3RydWN0b3JJbml0aWFsaXplclN0YXRlbWVudHMsXG4gICAgICAgIGluc3RhbmNlSW5pdGlhbGl6ZXJOYW1lcyxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKTtcbiAgICAgIGlmIChoZWFkZXJJbmZvLmhhc1N1cGVyY2xhc3MpIHtcbiAgICAgICAgY29uc3QgYXJnc05hbWUgPSB0aGlzLm5hbWVNYW5hZ2VyLmNsYWltRnJlZU5hbWUoXCJhcmdzXCIpO1xuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFxuICAgICAgICAgIGBjb25zdHJ1Y3RvciguLi4ke2FyZ3NOYW1lfSkgeyBzdXBlciguLi4ke2FyZ3NOYW1lfSk7ICR7Y29uc3RydWN0b3JJbml0aWFsaXplcnNDb2RlfTsgfWAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGBjb25zdHJ1Y3RvcigpIHsgJHtjb25zdHJ1Y3RvckluaXRpYWxpemVyc0NvZGV9OyB9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dElkQW5kTGFiZWwodHQuYnJhY2VSLCBjbGFzc0NvbnRleHRJZCkpIHtcbiAgICAgIGlmIChmaWVsZEluZGV4IDwgZmllbGRzLmxlbmd0aCAmJiB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA9PT0gZmllbGRzW2ZpZWxkSW5kZXhdLnN0YXJ0KSB7XG4gICAgICAgIGxldCBuZWVkc0Nsb3NlQnJhY2UgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNrZXRMKSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbldpdGhQcmVmaXgoYCR7ZmllbGRzW2ZpZWxkSW5kZXhdLmluaXRpYWxpemVyTmFtZX0oKSB7dGhpc2ApO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnN0cmluZykgfHwgdGhpcy50b2tlbnMubWF0Y2hlczEodHQubnVtKSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbldpdGhQcmVmaXgoYCR7ZmllbGRzW2ZpZWxkSW5kZXhdLmluaXRpYWxpemVyTmFtZX0oKSB7dGhpc1tgKTtcbiAgICAgICAgICBuZWVkc0Nsb3NlQnJhY2UgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbldpdGhQcmVmaXgoYCR7ZmllbGRzW2ZpZWxkSW5kZXhdLmluaXRpYWxpemVyTmFtZX0oKSB7dGhpcy5gKTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCBmaWVsZHNbZmllbGRJbmRleF0uZW5kKSB7XG4gICAgICAgICAgaWYgKG5lZWRzQ2xvc2VCcmFjZSAmJiB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA9PT0gZmllbGRzW2ZpZWxkSW5kZXhdLmVxdWFsc0luZGV4KSB7XG4gICAgICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwiXVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5wcm9jZXNzVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwifVwiKTtcbiAgICAgICAgZmllbGRJbmRleCsrO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgcmFuZ2VUb1JlbW92ZUluZGV4IDwgcmFuZ2VzVG9SZW1vdmUubGVuZ3RoICYmXG4gICAgICAgIHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpID49IHJhbmdlc1RvUmVtb3ZlW3JhbmdlVG9SZW1vdmVJbmRleF0uc3RhcnRcbiAgICAgICkge1xuICAgICAgICBpZiAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCByYW5nZXNUb1JlbW92ZVtyYW5nZVRvUmVtb3ZlSW5kZXhdLmVuZCkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIHdoaWxlICh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA8IHJhbmdlc1RvUmVtb3ZlW3JhbmdlVG9SZW1vdmVJbmRleF0uZW5kKSB7XG4gICAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgICByYW5nZVRvUmVtb3ZlSW5kZXgrKztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPT09IGNvbnN0cnVjdG9ySW5zZXJ0UG9zKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICBpZiAobmVlZHNDb25zdHJ1Y3RvckluaXQpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFxuICAgICAgICAgICAgYDske3RoaXMubWFrZUNvbnN0cnVjdG9ySW5pdENvZGUoXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgICAgICAgICAgICBpbnN0YW5jZUluaXRpYWxpemVyTmFtZXMsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICl9O2AsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByb2Nlc3NUb2tlbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzVG9rZW4oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VSKTtcbiAgfVxuXG4gIG1ha2VDb25zdHJ1Y3RvckluaXRDb2RlKFxuICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgIGluc3RhbmNlSW5pdGlhbGl6ZXJOYW1lcyxcbiAgICBjbGFzc05hbWUsXG4gICkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5jb25zdHJ1Y3RvckluaXRpYWxpemVyU3RhdGVtZW50cyxcbiAgICAgIC4uLmluc3RhbmNlSW5pdGlhbGl6ZXJOYW1lcy5tYXAoKG5hbWUpID0+IGAke2NsYXNzTmFtZX0ucHJvdG90eXBlLiR7bmFtZX0uY2FsbCh0aGlzKWApLFxuICAgIF0uam9pbihcIjtcIik7XG4gIH1cblxuICAvKipcbiAgICogTm9ybWFsbHkgaXQncyBvayB0byBzaW1wbHkgcmVtb3ZlIHR5cGUgdG9rZW5zLCBidXQgd2UgbmVlZCB0byBiZSBtb3JlIGNhcmVmdWwgd2hlbiBkZWFsaW5nIHdpdGhcbiAgICogYXJyb3cgZnVuY3Rpb24gcmV0dXJuIHR5cGVzIHNpbmNlIHRoZXkgY2FuIGNvbmZ1c2UgdGhlIHBhcnNlci4gSW4gdGhhdCBjYXNlLCB3ZSB3YW50IHRvIG1vdmVcbiAgICogdGhlIGNsb3NlLXBhcmVuIHRvIHRoZSBzYW1lIGxpbmUgYXMgdGhlIGFycm93LlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2FsYW5ncGllcmNlL3N1Y3Jhc2UvaXNzdWVzLzM5MSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgKi9cbiAgcHJvY2Vzc1Bvc3NpYmxlQXJyb3dQYXJhbUVuZCgpIHtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczIodHQucGFyZW5SLCB0dC5jb2xvbikgJiYgdGhpcy50b2tlbnMudG9rZW5BdFJlbGF0aXZlSW5kZXgoMSkuaXNUeXBlKSB7XG4gICAgICBsZXQgbmV4dE5vblR5cGVJbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMTtcbiAgICAgIC8vIExvb2sgYWhlYWQgdG8gc2VlIGlmIHRoaXMgaXMgYW4gYXJyb3cgZnVuY3Rpb24gb3Igc29tZXRoaW5nIGVsc2UuXG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMudG9rZW5zW25leHROb25UeXBlSW5kZXhdLmlzVHlwZSkge1xuICAgICAgICBuZXh0Tm9uVHlwZUluZGV4Kys7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KG5leHROb25UeXBlSW5kZXgsIHR0LmFycm93KSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgbmV4dE5vblR5cGVJbmRleCkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShcIikgPT5cIik7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQW4gYXN5bmMgYXJyb3cgZnVuY3Rpb24gbWlnaHQgYmUgb2YgdGhlIGZvcm06XG4gICAqXG4gICAqIGFzeW5jIDxcbiAgICogICBUXG4gICAqID4oKSA9PiB7fVxuICAgKlxuICAgKiBpbiB3aGljaCBjYXNlLCByZW1vdmluZyB0aGUgdHlwZSBwYXJhbWV0ZXJzIHdpbGwgY2F1c2UgYSBzeW50YXggZXJyb3IuIERldGVjdCB0aGlzIGNhc2UgYW5kXG4gICAqIG1vdmUgdGhlIG9wZW4tcGFyZW4gZWFybGllci5cbiAgICovXG4gIHByb2Nlc3NQb3NzaWJsZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtcygpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSAmJlxuICAgICAgIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9hc3luYylcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgbmV4dFRva2VuID0gdGhpcy50b2tlbnMudG9rZW5BdFJlbGF0aXZlSW5kZXgoMSk7XG4gICAgaWYgKG5leHRUb2tlbi50eXBlICE9PSB0dC5sZXNzVGhhbiB8fCAhbmV4dFRva2VuLmlzVHlwZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGxldCBuZXh0Tm9uVHlwZUluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxO1xuICAgIC8vIExvb2sgYWhlYWQgdG8gc2VlIGlmIHRoaXMgaXMgYW4gYXJyb3cgZnVuY3Rpb24gb3Igc29tZXRoaW5nIGVsc2UuXG4gICAgd2hpbGUgKHRoaXMudG9rZW5zLnRva2Vuc1tuZXh0Tm9uVHlwZUluZGV4XS5pc1R5cGUpIHtcbiAgICAgIG5leHROb25UeXBlSW5kZXgrKztcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChuZXh0Tm9uVHlwZUluZGV4LCB0dC5wYXJlbkwpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCJhc3luYyAoXCIpO1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCBuZXh0Tm9uVHlwZUluZGV4KSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgLy8gV2UgYXRlIGEgKCB0b2tlbiwgc28gd2UgbmVlZCB0byBwcm9jZXNzIHRoZSB0b2tlbnMgaW4gYmV0d2VlbiBhbmQgdGhlbiB0aGUgKSB0b2tlbiBzbyB0aGF0XG4gICAgICAvLyB3ZSByZW1haW4gYmFsYW5jZWQuXG4gICAgICB0aGlzLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgIHRoaXMucHJvY2Vzc1Rva2VuKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvY2Vzc1Bvc3NpYmxlVHlwZVJhbmdlKCkge1xuICAgIGlmICh0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKS5pc1R5cGUpIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLmlzVHlwZSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNoaWZ0TWFwcGluZ3MoXG4gICAgbWFwcGluZ3MsXG4gICAgcHJlZml4TGVuZ3RoLFxuICApIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcHBpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBtYXBwaW5nID0gbWFwcGluZ3NbaV07XG4gICAgICBpZiAobWFwcGluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG1hcHBpbmdzW2ldID0gbWFwcGluZyArIHByZWZpeExlbmd0aDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hcHBpbmdzO1xuICB9XG59XG4iLCAiaW1wb3J0IExpbmVzQW5kQ29sdW1ucyBmcm9tIFwibGluZXMtYW5kLWNvbHVtbnNcIjtcblxuXG5pbXBvcnQge2Zvcm1hdFRva2VuVHlwZX0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZm9ybWF0VG9rZW5zKGNvZGUsIHRva2Vucykge1xuICBpZiAodG9rZW5zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgY29uc3QgdG9rZW5LZXlzID0gT2JqZWN0LmtleXModG9rZW5zWzBdKS5maWx0ZXIoXG4gICAgKGspID0+IGsgIT09IFwidHlwZVwiICYmIGsgIT09IFwidmFsdWVcIiAmJiBrICE9PSBcInN0YXJ0XCIgJiYgayAhPT0gXCJlbmRcIiAmJiBrICE9PSBcImxvY1wiLFxuICApO1xuICBjb25zdCB0eXBlS2V5cyA9IE9iamVjdC5rZXlzKHRva2Vuc1swXS50eXBlKS5maWx0ZXIoKGspID0+IGsgIT09IFwibGFiZWxcIiAmJiBrICE9PSBcImtleXdvcmRcIik7XG5cbiAgY29uc3QgaGVhZGluZ3MgPSBbXCJMb2NhdGlvblwiLCBcIkxhYmVsXCIsIFwiUmF3XCIsIC4uLnRva2VuS2V5cywgLi4udHlwZUtleXNdO1xuXG4gIGNvbnN0IGxpbmVzID0gbmV3IExpbmVzQW5kQ29sdW1ucyhjb2RlKTtcbiAgY29uc3Qgcm93cyA9IFtoZWFkaW5ncywgLi4udG9rZW5zLm1hcChnZXRUb2tlbkNvbXBvbmVudHMpXTtcbiAgY29uc3QgcGFkZGluZyA9IGhlYWRpbmdzLm1hcCgoKSA9PiAwKTtcbiAgZm9yIChjb25zdCBjb21wb25lbnRzIG9mIHJvd3MpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBvbmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHBhZGRpbmdbaV0gPSBNYXRoLm1heChwYWRkaW5nW2ldLCBjb21wb25lbnRzW2ldLmxlbmd0aCk7XG4gICAgfVxuICB9XG4gIHJldHVybiByb3dzXG4gICAgLm1hcCgoY29tcG9uZW50cykgPT4gY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCwgaSkgPT4gY29tcG9uZW50LnBhZEVuZChwYWRkaW5nW2ldKSkuam9pbihcIiBcIikpXG4gICAgLmpvaW4oXCJcXG5cIik7XG5cbiAgZnVuY3Rpb24gZ2V0VG9rZW5Db21wb25lbnRzKHRva2VuKSB7XG4gICAgY29uc3QgcmF3ID0gY29kZS5zbGljZSh0b2tlbi5zdGFydCwgdG9rZW4uZW5kKTtcbiAgICByZXR1cm4gW1xuICAgICAgZm9ybWF0UmFuZ2UodG9rZW4uc3RhcnQsIHRva2VuLmVuZCksXG4gICAgICBmb3JtYXRUb2tlblR5cGUodG9rZW4udHlwZSksXG4gICAgICB0cnVuY2F0ZShTdHJpbmcocmF3KSwgMTQpLFxuICAgICAgLy8gQHRzLWlnbm9yZTogSW50ZW50aW9uYWwgZHluYW1pYyBhY2Nlc3MgYnkga2V5LlxuICAgICAgLi4udG9rZW5LZXlzLm1hcCgoa2V5KSA9PiBmb3JtYXRWYWx1ZSh0b2tlbltrZXldLCBrZXkpKSxcbiAgICAgIC8vIEB0cy1pZ25vcmU6IEludGVudGlvbmFsIGR5bmFtaWMgYWNjZXNzIGJ5IGtleS5cbiAgICAgIC4uLnR5cGVLZXlzLm1hcCgoa2V5KSA9PiBmb3JtYXRWYWx1ZSh0b2tlbi50eXBlW2tleV0sIGtleSkpLFxuICAgIF07XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBmdW5jdGlvbiBmb3JtYXRWYWx1ZSh2YWx1ZSwga2V5KSB7XG4gICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4ga2V5O1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZm9ybWF0UmFuZ2Uoc3RhcnQsIGVuZCkge1xuICAgIHJldHVybiBgJHtmb3JtYXRQb3Moc3RhcnQpfS0ke2Zvcm1hdFBvcyhlbmQpfWA7XG4gIH1cblxuICBmdW5jdGlvbiBmb3JtYXRQb3MocG9zKSB7XG4gICAgY29uc3QgbG9jYXRpb24gPSBsaW5lcy5sb2NhdGlvbkZvckluZGV4KHBvcyk7XG4gICAgaWYgKCFsb2NhdGlvbikge1xuICAgICAgcmV0dXJuIFwiVW5rbm93blwiO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCR7bG9jYXRpb24ubGluZSArIDF9OiR7bG9jYXRpb24uY29sdW1uICsgMX1gO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0cnVuY2F0ZShzLCBsZW5ndGgpIHtcbiAgaWYgKHMubGVuZ3RoID4gbGVuZ3RoKSB7XG4gICAgcmV0dXJuIGAke3Muc2xpY2UoMCwgbGVuZ3RoIC0gMyl9Li4uYDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcztcbiAgfVxufVxuIiwgImltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5pbXBvcnQgZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mbyBmcm9tIFwiLi9nZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvXCI7XG5cbi8qKlxuICogU3BlY2lhbCBjYXNlIGNvZGUgdG8gc2NhbiBmb3IgaW1wb3J0ZWQgbmFtZXMgaW4gRVNNIFR5cGVTY3JpcHQuIFdlIG5lZWQgdG8gZG8gdGhpcyBzbyB3ZSBjYW5cbiAqIHByb3Blcmx5IGdldCBnbG9iYWxzIHNvIHdlIGNhbiBjb21wdXRlIHNoYWRvd2VkIGdsb2JhbHMuXG4gKlxuICogVGhpcyBpcyBzaW1pbGFyIHRvIGxvZ2ljIGluIENKU0ltcG9ydFByb2Nlc3NvciwgYnV0IHRyaW1tZWQgZG93biB0byBhdm9pZCBsb2dpYyB3aXRoIENKU1xuICogcmVwbGFjZW1lbnQgYW5kIGZsb3cgdHlwZSBpbXBvcnRzLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRUU0ltcG9ydGVkTmFtZXModG9rZW5zKSB7XG4gIGNvbnN0IGltcG9ydGVkTmFtZXMgPSBuZXcgU2V0KCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLnRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChcbiAgICAgIHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaSwgdHQuX2ltcG9ydCkgJiZcbiAgICAgICF0b2tlbnMubWF0Y2hlczNBdEluZGV4KGksIHR0Ll9pbXBvcnQsIHR0Lm5hbWUsIHR0LmVxKVxuICAgICkge1xuICAgICAgY29sbGVjdE5hbWVzRm9ySW1wb3J0KHRva2VucywgaSwgaW1wb3J0ZWROYW1lcyk7XG4gICAgfVxuICB9XG4gIHJldHVybiBpbXBvcnRlZE5hbWVzO1xufVxuXG5mdW5jdGlvbiBjb2xsZWN0TmFtZXNGb3JJbXBvcnQoXG4gIHRva2VucyxcbiAgaW5kZXgsXG4gIGltcG9ydGVkTmFtZXMsXG4pIHtcbiAgaW5kZXgrKztcblxuICBpZiAodG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQucGFyZW5MKSkge1xuICAgIC8vIER5bmFtaWMgaW1wb3J0LCBzbyBub3RoaW5nIHRvIGRvXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0Lm5hbWUpKSB7XG4gICAgaW1wb3J0ZWROYW1lcy5hZGQodG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCkpO1xuICAgIGluZGV4Kys7XG4gICAgaWYgKHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LmNvbW1hKSkge1xuICAgICAgaW5kZXgrKztcbiAgICB9XG4gIH1cblxuICBpZiAodG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQuc3RhcikpIHtcbiAgICAvLyAqIGFzXG4gICAgaW5kZXggKz0gMjtcbiAgICBpbXBvcnRlZE5hbWVzLmFkZCh0b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KGluZGV4KSk7XG4gICAgaW5kZXgrKztcbiAgfVxuXG4gIGlmICh0b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4LCB0dC5icmFjZUwpKSB7XG4gICAgaW5kZXgrKztcbiAgICBjb2xsZWN0TmFtZXNGb3JOYW1lZEltcG9ydCh0b2tlbnMsIGluZGV4LCBpbXBvcnRlZE5hbWVzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb2xsZWN0TmFtZXNGb3JOYW1lZEltcG9ydChcbiAgdG9rZW5zLFxuICBpbmRleCxcbiAgaW1wb3J0ZWROYW1lcyxcbikge1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGlmICh0b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4LCB0dC5icmFjZVIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3BlY2lmaWVySW5mbyA9IGdldEltcG9ydEV4cG9ydFNwZWNpZmllckluZm8odG9rZW5zLCBpbmRleCk7XG4gICAgaW5kZXggPSBzcGVjaWZpZXJJbmZvLmVuZEluZGV4O1xuICAgIGlmICghc3BlY2lmaWVySW5mby5pc1R5cGUpIHtcbiAgICAgIGltcG9ydGVkTmFtZXMuYWRkKHNwZWNpZmllckluZm8ucmlnaHROYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbmRleCwgdHQuY29tbWEsIHR0LmJyYWNlUikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LmJyYWNlUikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LmNvbW1hKSkge1xuICAgICAgaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHRva2VuOiAke0pTT04uc3RyaW5naWZ5KHRva2Vucy50b2tlbnNbaW5kZXhdKX1gKTtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgQ0pTSW1wb3J0UHJvY2Vzc29yIGZyb20gXCIuL0NKU0ltcG9ydFByb2Nlc3NvclwiO1xuaW1wb3J0IGNvbXB1dGVTb3VyY2VNYXAsIHt9IGZyb20gXCIuL2NvbXB1dGVTb3VyY2VNYXBcIjtcbmltcG9ydCB7SGVscGVyTWFuYWdlcn0gZnJvbSBcIi4vSGVscGVyTWFuYWdlclwiO1xuaW1wb3J0IGlkZW50aWZ5U2hhZG93ZWRHbG9iYWxzIGZyb20gXCIuL2lkZW50aWZ5U2hhZG93ZWRHbG9iYWxzXCI7XG5pbXBvcnQgTmFtZU1hbmFnZXIgZnJvbSBcIi4vTmFtZU1hbmFnZXJcIjtcbmltcG9ydCB7dmFsaWRhdGVPcHRpb25zfSBmcm9tIFwiLi9PcHRpb25zXCI7XG5cbmltcG9ydCB7cGFyc2V9IGZyb20gXCIuL3BhcnNlclwiO1xuXG5pbXBvcnQgVG9rZW5Qcm9jZXNzb3IgZnJvbSBcIi4vVG9rZW5Qcm9jZXNzb3JcIjtcbmltcG9ydCBSb290VHJhbnNmb3JtZXIgZnJvbSBcIi4vdHJhbnNmb3JtZXJzL1Jvb3RUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IGZvcm1hdFRva2VucyBmcm9tIFwiLi91dGlsL2Zvcm1hdFRva2Vuc1wiO1xuaW1wb3J0IGdldFRTSW1wb3J0ZWROYW1lcyBmcm9tIFwiLi91dGlsL2dldFRTSW1wb3J0ZWROYW1lc1wiO1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb24oKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHJldHVybiBcIjMuMzUuMFwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtKGNvZGUsIG9wdGlvbnMpIHtcbiAgdmFsaWRhdGVPcHRpb25zKG9wdGlvbnMpO1xuICB0cnkge1xuICAgIGNvbnN0IHN1Y3Jhc2VDb250ZXh0ID0gZ2V0U3VjcmFzZUNvbnRleHQoY29kZSwgb3B0aW9ucyk7XG4gICAgY29uc3QgdHJhbnNmb3JtZXIgPSBuZXcgUm9vdFRyYW5zZm9ybWVyKFxuICAgICAgc3VjcmFzZUNvbnRleHQsXG4gICAgICBvcHRpb25zLnRyYW5zZm9ybXMsXG4gICAgICBCb29sZWFuKG9wdGlvbnMuZW5hYmxlTGVnYWN5QmFiZWw1TW9kdWxlSW50ZXJvcCksXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgY29uc3QgdHJhbnNmb3JtZXJSZXN1bHQgPSB0cmFuc2Zvcm1lci50cmFuc2Zvcm0oKTtcbiAgICBsZXQgcmVzdWx0ID0ge2NvZGU6IHRyYW5zZm9ybWVyUmVzdWx0LmNvZGV9O1xuICAgIGlmIChvcHRpb25zLnNvdXJjZU1hcE9wdGlvbnMpIHtcbiAgICAgIGlmICghb3B0aW9ucy5maWxlUGF0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaWxlUGF0aCBtdXN0IGJlIHNwZWNpZmllZCB3aGVuIGdlbmVyYXRpbmcgYSBzb3VyY2UgbWFwLlwiKTtcbiAgICAgIH1cbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICBzb3VyY2VNYXA6IGNvbXB1dGVTb3VyY2VNYXAoXG4gICAgICAgICAgdHJhbnNmb3JtZXJSZXN1bHQsXG4gICAgICAgICAgb3B0aW9ucy5maWxlUGF0aCxcbiAgICAgICAgICBvcHRpb25zLnNvdXJjZU1hcE9wdGlvbnMsXG4gICAgICAgICAgY29kZSxcbiAgICAgICAgICBzdWNyYXNlQ29udGV4dC50b2tlblByb2Nlc3Nvci50b2tlbnMsXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAob3B0aW9ucy5maWxlUGF0aCkge1xuICAgICAgZS5tZXNzYWdlID0gYEVycm9yIHRyYW5zZm9ybWluZyAke29wdGlvbnMuZmlsZVBhdGh9OiAke2UubWVzc2FnZX1gO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzdWNyYXNlIHRva2VucywgbW9zdGx5IHVzZWZ1bCBmb3JcbiAqIGRpYWdub3N0aWMgcHVycG9zZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXR0ZWRUb2tlbnMoY29kZSwgb3B0aW9ucykge1xuICBjb25zdCB0b2tlbnMgPSBnZXRTdWNyYXNlQ29udGV4dChjb2RlLCBvcHRpb25zKS50b2tlblByb2Nlc3Nvci50b2tlbnM7XG4gIHJldHVybiBmb3JtYXRUb2tlbnMoY29kZSwgdG9rZW5zKTtcbn1cblxuLyoqXG4gKiBDYWxsIGludG8gdGhlIHBhcnNlci90b2tlbml6ZXIgYW5kIGRvIHNvbWUgZnVydGhlciBwcmVwcm9jZXNzaW5nOlxuICogLSBDb21lIHVwIHdpdGggYSBzZXQgb2YgdXNlZCBuYW1lcyBzbyB0aGF0IHdlIGNhbiBhc3NpZ24gbmV3IG5hbWVzLlxuICogLSBQcmVwcm9jZXNzIGFsbCBpbXBvcnQvZXhwb3J0IHN0YXRlbWVudHMgc28gd2Uga25vdyB3aGljaCBnbG9iYWxzIHdlIGFyZSBpbnRlcmVzdGVkIGluLlxuICogLSBDb21wdXRlIHNpdHVhdGlvbnMgd2hlcmUgYW55IG9mIHRob3NlIGdsb2JhbHMgYXJlIHNoYWRvd2VkLlxuICpcbiAqIEluIHRoZSBmdXR1cmUsIHNvbWUgb2YgdGhlc2UgcHJlcHJvY2Vzc2luZyBzdGVwcyBjYW4gYmUgc2tpcHBlZCBiYXNlZCBvbiB3aGF0IGFjdHVhbCB3b3JrIGlzXG4gKiBiZWluZyBkb25lLlxuICovXG5mdW5jdGlvbiBnZXRTdWNyYXNlQ29udGV4dChjb2RlLCBvcHRpb25zKSB7XG4gIGNvbnN0IGlzSlNYRW5hYmxlZCA9IG9wdGlvbnMudHJhbnNmb3Jtcy5pbmNsdWRlcyhcImpzeFwiKTtcbiAgY29uc3QgaXNUeXBlU2NyaXB0RW5hYmxlZCA9IG9wdGlvbnMudHJhbnNmb3Jtcy5pbmNsdWRlcyhcInR5cGVzY3JpcHRcIik7XG4gIGNvbnN0IGlzRmxvd0VuYWJsZWQgPSBvcHRpb25zLnRyYW5zZm9ybXMuaW5jbHVkZXMoXCJmbG93XCIpO1xuICBjb25zdCBkaXNhYmxlRVNUcmFuc2Zvcm1zID0gb3B0aW9ucy5kaXNhYmxlRVNUcmFuc2Zvcm1zID09PSB0cnVlO1xuICBjb25zdCBmaWxlID0gcGFyc2UoY29kZSwgaXNKU1hFbmFibGVkLCBpc1R5cGVTY3JpcHRFbmFibGVkLCBpc0Zsb3dFbmFibGVkKTtcbiAgY29uc3QgdG9rZW5zID0gZmlsZS50b2tlbnM7XG4gIGNvbnN0IHNjb3BlcyA9IGZpbGUuc2NvcGVzO1xuXG4gIGNvbnN0IG5hbWVNYW5hZ2VyID0gbmV3IE5hbWVNYW5hZ2VyKGNvZGUsIHRva2Vucyk7XG4gIGNvbnN0IGhlbHBlck1hbmFnZXIgPSBuZXcgSGVscGVyTWFuYWdlcihuYW1lTWFuYWdlcik7XG4gIGNvbnN0IHRva2VuUHJvY2Vzc29yID0gbmV3IFRva2VuUHJvY2Vzc29yKFxuICAgIGNvZGUsXG4gICAgdG9rZW5zLFxuICAgIGlzRmxvd0VuYWJsZWQsXG4gICAgZGlzYWJsZUVTVHJhbnNmb3JtcyxcbiAgICBoZWxwZXJNYW5hZ2VyLFxuICApO1xuICBjb25zdCBlbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcCA9IEJvb2xlYW4ob3B0aW9ucy5lbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcCk7XG5cbiAgbGV0IGltcG9ydFByb2Nlc3NvciA9IG51bGw7XG4gIGlmIChvcHRpb25zLnRyYW5zZm9ybXMuaW5jbHVkZXMoXCJpbXBvcnRzXCIpKSB7XG4gICAgaW1wb3J0UHJvY2Vzc29yID0gbmV3IENKU0ltcG9ydFByb2Nlc3NvcihcbiAgICAgIG5hbWVNYW5hZ2VyLFxuICAgICAgdG9rZW5Qcm9jZXNzb3IsXG4gICAgICBlbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcCxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBvcHRpb25zLnRyYW5zZm9ybXMuaW5jbHVkZXMoXCJ0eXBlc2NyaXB0XCIpLFxuICAgICAgQm9vbGVhbihvcHRpb25zLmtlZXBVbnVzZWRJbXBvcnRzKSxcbiAgICAgIGhlbHBlck1hbmFnZXIsXG4gICAgKTtcbiAgICBpbXBvcnRQcm9jZXNzb3IucHJlcHJvY2Vzc1Rva2VucygpO1xuICAgIC8vIFdlIG5lZWQgdG8gbWFyayBzaGFkb3dlZCBnbG9iYWxzIGFmdGVyIHByb2Nlc3NpbmcgaW1wb3J0cyBzbyB3ZSBrbm93IHRoYXQgdGhlIGdsb2JhbHMgYXJlLFxuICAgIC8vIGJ1dCBiZWZvcmUgdHlwZS1vbmx5IGltcG9ydCBwcnVuaW5nLCBzaW5jZSB0aGF0IHJlbGllcyBvbiBzaGFkb3dpbmcgaW5mb3JtYXRpb24uXG4gICAgaWRlbnRpZnlTaGFkb3dlZEdsb2JhbHModG9rZW5Qcm9jZXNzb3IsIHNjb3BlcywgaW1wb3J0UHJvY2Vzc29yLmdldEdsb2JhbE5hbWVzKCkpO1xuICAgIGlmIChvcHRpb25zLnRyYW5zZm9ybXMuaW5jbHVkZXMoXCJ0eXBlc2NyaXB0XCIpICYmICFvcHRpb25zLmtlZXBVbnVzZWRJbXBvcnRzKSB7XG4gICAgICBpbXBvcnRQcm9jZXNzb3IucHJ1bmVUeXBlT25seUltcG9ydHMoKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAob3B0aW9ucy50cmFuc2Zvcm1zLmluY2x1ZGVzKFwidHlwZXNjcmlwdFwiKSAmJiAhb3B0aW9ucy5rZWVwVW51c2VkSW1wb3J0cykge1xuICAgIC8vIFNoYWRvd2VkIGdsb2JhbCBkZXRlY3Rpb24gaXMgbmVlZGVkIGZvciBUUyBpbXBsaWNpdCBlbGlzaW9uIG9mIGltcG9ydGVkIG5hbWVzLlxuICAgIGlkZW50aWZ5U2hhZG93ZWRHbG9iYWxzKHRva2VuUHJvY2Vzc29yLCBzY29wZXMsIGdldFRTSW1wb3J0ZWROYW1lcyh0b2tlblByb2Nlc3NvcikpO1xuICB9XG4gIHJldHVybiB7dG9rZW5Qcm9jZXNzb3IsIHNjb3BlcywgbmFtZU1hbmFnZXIsIGltcG9ydFByb2Nlc3NvciwgaGVscGVyTWFuYWdlcn07XG59XG4iLCAiLy8hIFV0aWxpdGllcyBmb3IgcnVubmluZyBqYXZhc2NyaXB0LlxuXG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tIFwic3VjcmFzZVwiO1xuXG5leHBvcnQgdHlwZSBTY3JpcHRMYW5ndWFnZSA9IFwianNcIiB8IFwidHNcIiB8IFwianN4XCIgfCBcInRzeFwiO1xuXG4vKiogQ29udmVydHMgYSByYXcgc2NyaXB0IGluIHRoZSBnaXZlbiBsYW5ndWFnZSB0byBwbGFpbiBqYXZhc2NyaXB0LiAgKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc3BpbGUoc2NyaXB0OiBzdHJpbmcsIGxhbmd1YWdlOiBTY3JpcHRMYW5ndWFnZSk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChsYW5ndWFnZSkge1xuICAgICAgICBjYXNlIFwianNcIjpcbiAgICAgICAgICAgIHJldHVybiBzY3JpcHQ7XG4gICAgICAgIGNhc2UgXCJqc3hcIjpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0oc2NyaXB0LCB7IHRyYW5zZm9ybXM6IFtcImpzeFwiXSwganN4UHJhZ21hOiBcImhcIiwganN4RnJhZ21lbnRQcmFnbWE6IFwiRnJhZ21lbnRcIiB9KS5jb2RlO1xuICAgICAgICBjYXNlIFwidHNcIjpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0oc2NyaXB0LCB7IHRyYW5zZm9ybXM6IFtcInR5cGVzY3JpcHRcIl0gfSkuY29kZTtcbiAgICAgICAgY2FzZSBcInRzeFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybShzY3JpcHQsIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1zOiBbXCJ0eXBlc2NyaXB0XCIsIFwianN4XCJdLFxuICAgICAgICAgICAgICAgIGpzeFByYWdtYTogXCJoXCIsXG4gICAgICAgICAgICAgICAganN4RnJhZ21lbnRQcmFnbWE6IFwiRnJhZ21lbnRcIixcbiAgICAgICAgICAgIH0pLmNvZGU7XG4gICAgfVxufVxuXG4vKipcbiAqIEV2YWx1YXRlIGEgc2NyaXB0IHdoZXJlICd0aGlzJyBmb3IgdGhlIHNjcmlwdCBpcyBzZXQgdG8gdGhlIGdpdmVuIGNvbnRleHQuIEFsbG93cyB5b3UgdG8gZGVmaW5lIGdsb2JhbCB2YXJpYWJsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBldmFsSW5Db250ZXh0KHNjcmlwdDogc3RyaW5nLCB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBhbnkge1xuICAgIGNvbnN0IHBhaXJzID0gT2JqZWN0LmVudHJpZXModmFyaWFibGVzKTtcbiAgICBjb25zdCBrZXlzID0gcGFpcnMubWFwKChba2V5LCBfXSkgPT4ga2V5KTtcbiAgICBjb25zdCB2YWx1ZXMgPSBwYWlycy5tYXAoKFtfLCB2YWx1ZV0pID0+IHZhbHVlKTtcblxuICAgIHJldHVybiBuZXcgRnVuY3Rpb24oLi4ua2V5cywgc2NyaXB0KSguLi52YWx1ZXMpO1xufVxuXG4vKipcbiAqIEV2YWx1YXRlIGEgc2NyaXB0IHBvc3NpYmx5IGFzeW5jaHJvbm91c2x5LCBpZiB0aGUgc2NyaXB0IGNvbnRhaW5zIGBhc3luYy9hd2FpdGAgYmxvY2tzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNFdmFsSW5Db250ZXh0KHNjcmlwdDogc3RyaW5nLCB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPGFueT4ge1xuICAgIGlmIChzY3JpcHQuaW5jbHVkZXMoXCJhd2FpdFwiKSkge1xuICAgICAgICByZXR1cm4gZXZhbEluQ29udGV4dChcInJldHVybiAoYXN5bmMgKCkgPT4geyBcIiArIHNjcmlwdCArIFwiIH0pKClcIiwgdmFyaWFibGVzKSBhcyBQcm9taXNlPGFueT47XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShldmFsSW5Db250ZXh0KHNjcmlwdCwgdmFyaWFibGVzKSk7XG4gICAgfVxufVxuIiwgIi8qKiBAbW9kdWxlIHVpICovXG5pbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IEluZGV4UXVlcnkgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXgtcXVlcnlcIjtcbmltcG9ydCB7IEluZGV4YWJsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tIFwiaW5kZXgvZGF0YXN0b3JlXCI7XG5pbXBvcnQgeyBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCJhcGkvcmVzdWx0XCI7XG5cbi8qKiBIb29rIHRoYXQgdXBkYXRlcyB0aGUgdmlldyB3aGVuZXZlciB0aGUgcmV2aXNpb24gdXBkYXRlcywgcmV0dXJuaW5nIHRoZSBuZXdlc3QgcmV2aXNpb24uXG4gKiBAZ3JvdXAgSG9va3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUluZGV4VXBkYXRlcyhkYXRhY29yZTogRGF0YWNvcmUsIHNldHRpbmdzPzogeyBkZWJvdW5jZT86IG51bWJlciB9KTogbnVtYmVyIHtcbiAgICBjb25zdCBbcmV2aXNpb24sIHNldFJldmlzaW9uXSA9IHVzZVN0YXRlKGRhdGFjb3JlLmRhdGFzdG9yZS5yZXZpc2lvbik7XG4gICAgY29uc3QgZGVib3VuY2VkUmV2aXNpb24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHNldHRpbmdzPy5kZWJvdW5jZSAmJiBzZXR0aW5ncy5kZWJvdW5jZSA9PSAwKSByZXR1cm4gc2V0UmV2aXNpb247XG4gICAgICAgIGVsc2UgcmV0dXJuIGRlYm91bmNlKHNldFJldmlzaW9uLCBzZXR0aW5ncz8uZGVib3VuY2UgPz8gNTAwKTtcbiAgICB9LCBbc2V0UmV2aXNpb24sIHNldHRpbmdzPy5kZWJvdW5jZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcmVmID0gZGF0YWNvcmUub24oXCJ1cGRhdGVcIiwgZGVib3VuY2VkUmV2aXNpb24pO1xuICAgICAgICByZXR1cm4gKCkgPT4gZGF0YWNvcmUub2ZmcmVmKHJlZik7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIHJldmlzaW9uO1xufVxuXG4vKiogQSBob29rIHdoaWNoIHVwZGF0ZXMgd2hlbmV2ZXIgZmlsZSBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmaWxlIHVwZGF0ZXMuXG4gKiBAZ3JvdXAgSG9va3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUZpbGVNZXRhZGF0YShcbiAgICBkYXRhY29yZTogRGF0YWNvcmUsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHNldHRpbmdzPzogeyBkZWJvdW5jZT86IG51bWJlciB9XG4pOiBJbmRleGFibGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGluZGV4UmV2aXNpb24gPSB1c2VJbmRleFVwZGF0ZXMoZGF0YWNvcmUsIHNldHRpbmdzKTtcblxuICAgIC8vIFRPRE86IEkgdGhpbmsgbG9hZCByZXR1cm5zIGNvbnNpc3RlbnQgb2JqZWN0cyBzbyBpdCBzaG91bGQgYmUgb2theS5cbiAgICByZXR1cm4gdXNlTWVtbygoKSA9PiBkYXRhY29yZS5kYXRhc3RvcmUubG9hZChwYXRoKSwgW2luZGV4UmV2aXNpb24sIHBhdGhdKTtcbn1cblxuLyoqIFNldHRpbmdzIHdoaWNoIGNvbnRyb2wgaG93IGF1dG9tYXRpYyBxdWVyeSByZWxvYWRpbmcgc2hvdWxkIHdvcmsuXG4gKiBAZ3JvdXAgQ29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlUXVlcnlTZXR0aW5ncyB7XG4gICAgLyoqXG4gICAgICogSWYgcHJlc2VudCwgZGVib3VuY2UgcmVwZWF0ZWQgcXVlcnkgdXBkYXRlcyBzbyB0aGF0IGFuIHVwZGF0ZSBvbmx5IG9jY3VycyBldmVyeSBcXDxkZWJvdW5jZVxcPiBtaWxsaXNlY29uZHMuIFRoaXNcbiAgICAgKiBkZWZhdWx0cyB0byB0aGUgb3ZlcmFsbCBkZWZhdWx0IGRlYm91bmNlIHNldHRpbmdzLlxuICAgICAqL1xuICAgIGRlYm91bmNlPzogbnVtYmVyO1xufVxuXG4vKiogUGVyZm9ybSBhIGxpdmUsIHN5bmNocm9ub3VzIHF1ZXJ5IHdoaWNoIHVwZGF0ZXMgaXRzIHJlc3VsdHMgd2hlbmV2ZXIgdGhlIGJhY2tpbmcgcXVlcnkgd291bGQgY2hhbmdlLlxuICpcbiAqIEBncm91cCBIb29rc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHJ5VXNlRnVsbFF1ZXJ5KFxuICAgIGRhdGFjb3JlOiBEYXRhY29yZSxcbiAgICBxdWVyeTogSW5kZXhRdWVyeSxcbiAgICBzZXR0aW5ncz86IFVzZVF1ZXJ5U2V0dGluZ3Ncbik6IFJlc3VsdDxTZWFyY2hSZXN1bHQ8SW5kZXhhYmxlPiwgc3RyaW5nPiB7XG4gICAgLy8gVHJhY2sgaW5kZXggdXBkYXRlcyB3aXRoIGN1c3RvbWl6YWJsZSBkZWJvdW5jaW5nLlxuICAgIGNvbnN0IGluZGV4UmV2aXNpb24gPSB1c2VJbmRleFVwZGF0ZXMoZGF0YWNvcmUsIHNldHRpbmdzKTtcblxuICAgIC8vIFdlIFwiaW50ZXJuXCIgdGhlIHF1ZXJ5LCBtZWFuaW5nIHdlIHJldXNlIHRoZSBvbGRlc3QgdmVyc2lvbiBpZiBpdCBpcyBzZW1hbnRpY2FsbHkgZXF1YWwgYnV0IGp1c3QgYSBkaWZmZXJlbnQgb2JqZWN0LlxuICAgIGNvbnN0IGludGVybmVkUXVlcnkgPSB1c2VJbnRlcm5pbmcocXVlcnksIExpdGVyYWxzLmVxdWFscyk7XG4gICAgLy8gSW50ZXJuIHRoZSBvdXRwdXQgYXMgd2VsbCBzbyByZWFjdCBkaWZmaW5nIFwianVzdCB3b3Jrc1wiIHdpdGggdGhlIHJlc3VsdCBvZiB1c2VRdWVyeS5cbiAgICBjb25zdCBpbnRlcm5lZFJlc3VsdCA9IHVzZVJlZjxSZXN1bHQ8U2VhcmNoUmVzdWx0PEluZGV4YWJsZT4sIHN0cmluZz4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICAvLyBPbiBldmVyeSBpbmRleCByZXZpc2lvbiB1cGRhdGUsIHJlLXJ1biB0aGUgcXVlcnkgYW5kIGNoZWNrIGlmIGl0IHByb2R1Y2VkIG1lYW5pbmdmdWxseSBuZXcgdmFsdWVzLlxuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgbmV3UmVzdWx0ID0gZGF0YWNvcmUuZGF0YXN0b3JlLnNlYXJjaChxdWVyeSk7XG5cbiAgICAgICAgLy8gU2V0IGZhaWx1cmUgaWYgdGhlIG5ldyByZXF1ZXN0IGlzIGEgZmFpbHVyZS5cbiAgICAgICAgaWYgKCFuZXdSZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgaW50ZXJuZWRSZXN1bHQuY3VycmVudCA9IFJlc3VsdC5mYWlsdXJlKG5ld1Jlc3VsdC5lcnJvcik7XG4gICAgICAgICAgICByZXR1cm4gaW50ZXJuZWRSZXN1bHQuY3VycmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGN1cnJlbnQgaW50ZXJuZWQgc3RhdGUsIHVwZGF0ZSBpdCBhbmQgcmV0dXJuLlxuICAgICAgICBpZiAoaW50ZXJuZWRSZXN1bHQuY3VycmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpbnRlcm5lZFJlc3VsdC5jdXJyZW50ID0gUmVzdWx0LnN1Y2Nlc3MobmV3UmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBpbnRlcm5lZFJlc3VsdC5jdXJyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgdGhlIG5ldyByZXF1ZXN0IGlzIGlzIHN1Y2Nlc3NmdWwgYW5kIHRoZSBvbGQgcmVzdWx0IGlzIGRlZmluZWQuIElmIHRoZSBvbGQgcmVzdWx0IHdhcyBhbiBlcnJvciwgdXBkYXRlIGl0LlxuICAgICAgICBjb25zdCBvbGRSZXN1bHQgPSBpbnRlcm5lZFJlc3VsdC5jdXJyZW50O1xuICAgICAgICBpZiAoIW9sZFJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICBpbnRlcm5lZFJlc3VsdC5jdXJyZW50ID0gUmVzdWx0LnN1Y2Nlc3MobmV3UmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBpbnRlcm5lZFJlc3VsdC5jdXJyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQm90aCBhcmUgc3VjY2Vzc2Z1bCwgY2hlY2sgaWYgdGhleSBhcmUgZGlmZmVyZW50LlxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBvbGRSZXN1bHQudmFsdWUucmV2aXNpb24gIT0gbmV3UmVzdWx0LnZhbHVlLnJldmlzaW9uIHx8XG4gICAgICAgICAgICAhc2FtZU9iamVjdHMob2xkUmVzdWx0LnZhbHVlLnJlc3VsdHMsIG5ld1Jlc3VsdC52YWx1ZS5yZXN1bHRzKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAoaW50ZXJuZWRSZXN1bHQuY3VycmVudCA9IFJlc3VsdC5zdWNjZXNzKG5ld1Jlc3VsdC52YWx1ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2FtZSByZXZpc2lvbiBhbmQgc2FtZSBvYmplY3RzLCB0aGlzIGlzIHRoZSBzYW1lIHF1ZXJ5IHJlc3VsdCwgc28gcmV0dXJuIHRoZSBvbGQgb2JqZWN0LlxuICAgICAgICByZXR1cm4gaW50ZXJuZWRSZXN1bHQuY3VycmVudDtcbiAgICB9LCBbaW50ZXJuZWRRdWVyeSwgaW5kZXhSZXZpc2lvbl0pO1xufVxuXG4vKiogUGVyZm9ybSBhIGxpdmUsIHN5bmNocm9ub3VzIHF1ZXJ5IHdoaWNoIHVwZGF0ZXMgaXRzIHJlc3VsdHMgd2hlbmV2ZXIgdGhlIGJhY2tpbmcgcXVlcnkgd291bGQgY2hhbmdlLlxuICpcbiAqIEBncm91cCBIb29rc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRnVsbFF1ZXJ5KFxuICAgIGRhdGFjb3JlOiBEYXRhY29yZSxcbiAgICBxdWVyeTogSW5kZXhRdWVyeSxcbiAgICBzZXR0aW5ncz86IFVzZVF1ZXJ5U2V0dGluZ3Ncbik6IFNlYXJjaFJlc3VsdDxJbmRleGFibGU+IHtcbiAgICByZXR1cm4gdHJ5VXNlRnVsbFF1ZXJ5KGRhdGFjb3JlLCBxdWVyeSwgc2V0dGluZ3MpLm9yRWxzZVRocm93KChlKSA9PiBcIkZhaWxlZCB0byBzZWFyY2g6IFwiICsgZSk7XG59XG5cbi8qKiBTaW1wbGllciB2ZXJzaW9uIG9mIHVzZUZ1bGxRdWVyeSB3aGljaCBqdXN0IGRpcmVjdGx5IHJldHVybnMgcmVzdWx0cy5cbiAqXG4gKiBAZ3JvdXAgSG9va3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyeVVzZVF1ZXJ5KFxuICAgIGRhdGFjb3JlOiBEYXRhY29yZSxcbiAgICBxdWVyeTogSW5kZXhRdWVyeSxcbiAgICBzZXR0aW5ncz86IFVzZVF1ZXJ5U2V0dGluZ3Ncbik6IFJlc3VsdDxJbmRleGFibGVbXSwgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRyeVVzZUZ1bGxRdWVyeShkYXRhY29yZSwgcXVlcnksIHNldHRpbmdzKS5tYXAoKHJlc3VsdCkgPT4gcmVzdWx0LnJlc3VsdHMpO1xufVxuXG4vKiogU2ltcGxpZXIgdmVyc2lvbiBvZiB1c2VGdWxsUXVlcnkgd2hpY2gganVzdCBkaXJlY3RseSByZXR1cm5zIHJlc3VsdHMuXG4gKlxuICogQGdyb3VwIEhvb2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VRdWVyeShkYXRhY29yZTogRGF0YWNvcmUsIHF1ZXJ5OiBJbmRleFF1ZXJ5LCBzZXR0aW5ncz86IFVzZVF1ZXJ5U2V0dGluZ3MpOiBJbmRleGFibGVbXSB7XG4gICAgcmV0dXJuIHVzZUZ1bGxRdWVyeShkYXRhY29yZSwgcXVlcnksIHNldHRpbmdzKS5yZXN1bHRzO1xufVxuXG4vKiogRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHNldHMgb2Ygb2JqZWN0cyBhcmUgdGhlIHNhbWUuIE9ubHkgdXNlcyByZXZpc2lvbiBjb21wYXJpc29uIGZvciBwZXJmb3JtYW5jZS5cbiAqXG4gKiBAaGlkZGVuXG4gKi9cbmZ1bmN0aW9uIHNhbWVPYmplY3RzKG9sZDogSW5kZXhhYmxlW10sIGluY29taW5nOiBJbmRleGFibGVbXSkge1xuICAgIGlmIChvbGQubGVuZ3RoICE9IGluY29taW5nLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3Qgb2xkczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuICAgIGZvciAoY29uc3QgaW5kZXhhYmxlIG9mIG9sZCkge1xuICAgICAgICBvbGRzW2luZGV4YWJsZS4kaWRdID0gaW5kZXhhYmxlLiRyZXZpc2lvbiE7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBpbmRleGFibGUgb2YgaW5jb21pbmcpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBvbGRzW2luZGV4YWJsZS4kaWRdO1xuICAgICAgICBpZiAodmFsdWUgPT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBpbmRleGFibGUuJHJldmlzaW9uKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogXCJJbnRlcm5zXCIgdGhlIGluY29taW5nIHZhbHVlLCByZXR1cm5pbmcgdGhlIG9sZGVzdCBlcXVhbCBpbnN0YW5jZS4gVGhpcyBpcyBhIHRyaWNrIHRvIGltcHJvdmUgUmVhY3QgZGlmZmluZ1xuICogIGJlaGF2aW9yLCBhcyB0d28gb2JqZWN0cyB3aGljaCBhcmUgZXF1YWxzIHZpYSBlcXVhbGl0eShhLCBiKSB3aWxsIHJldHVybiB0aGUgc2FtZSBvYmplY3QgcmVmZXJlbmNlIGFmdGVyIGJlaW5nXG4gKiAgaW50ZXJuZWQuXG4gKlxuICogQGdyb3VwIEhvb2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VJbnRlcm5pbmc8VD4odmFsdWU6IFQsIGVxdWFsaXR5OiAoYTogVCwgYjogVCkgPT4gYm9vbGVhbik6IFQge1xuICAgIGNvbnN0IHJlZiA9IHVzZVJlZjxUPigpO1xuXG4gICAgaWYgKHJlZi5jdXJyZW50ID09PSB1bmRlZmluZWQgfHwgIWVxdWFsaXR5KHJlZi5jdXJyZW50LCB2YWx1ZSkpIHtcbiAgICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVmLmN1cnJlbnQ7XG59XG5cbi8qKiBVc2UgYSBzdGFibGUgY2FsbGJhY2sgd2hpY2ggaGlkZXMgbXV0YWJsZSBzdGF0ZSBiZWhpbmQgYSBzdGFibGUgcmVmZXJlbmNlLlxuICpcbiAqIEBncm91cCBIb29rc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlU3RhYmxlQ2FsbGJhY2s8VD4oY2FsbGJhY2s6IFQsIGRlcHM6IGFueVtdKTogVCB7XG4gICAgY29uc3QgcmVmID0gdXNlUmVmPFQ+KCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICByZWYuY3VycmVudCA9IGNhbGxiYWNrO1xuICAgIH0sIFtjYWxsYmFjaywgLi4uZGVwc10pO1xuXG4gICAgcmV0dXJuIHVzZUNhbGxiYWNrKFxuICAgICAgICAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICAgIChyZWYuY3VycmVudCBhcyBhbnkpKC4uLmFyZ3MpO1xuICAgICAgICB9LFxuICAgICAgICBbcmVmXVxuICAgICkgYXMgVDtcbn1cblxuY29uc3QgTk9fT1BfVVBEQVRFID0gKHg6IGFueSkgPT4ge307XG5cbi8qKiBVc2Ugc3RhdGUgdGhhdCB3aWxsIGRlZmF1bHQgdG8gYW4gZXh0ZXJuYWwgY29udHJvbGxlZCB2YWx1ZSBpZiBzZXQ7IG90aGVyd2lzZSwgd2lsbCB0cmFjayBhbiBpbnRlcm5hbCB2YWx1ZS5cbiAqXG4gKiBAZ3JvdXAgSG9va3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNvbnRyb2xsZWRTdGF0ZTxUPihcbiAgICBpbml0aWFsU3RhdGU6IFQsXG4gICAgb3ZlcnJpZGU/OiBULFxuICAgIHVwZGF0ZT86ICh2YWx1ZTogVCkgPT4gdm9pZFxuKTogW1QsICh2YWx1ZTogVCkgPT4gdm9pZF0ge1xuICAgIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gdXNlU3RhdGUob3ZlcnJpZGUgPz8gaW5pdGlhbFN0YXRlKTtcbiAgICBpZiAob3ZlcnJpZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoc3RhdGUgIT0gb3ZlcnJpZGUpIHNldFN0YXRlKG92ZXJyaWRlKTtcblxuICAgICAgICByZXR1cm4gW292ZXJyaWRlLCB1cGRhdGUgPz8gTk9fT1BfVVBEQVRFXTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXRTdGF0ZVdpdGhVcGRhdGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKHZhbHVlOiBUKSA9PiB7XG4gICAgICAgICAgICBzZXRTdGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAodXBkYXRlKSB1cGRhdGUodmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBbc2V0U3RhdGUsIHVwZGF0ZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIFtzdGF0ZSwgc2V0U3RhdGVXaXRoVXBkYXRlXTtcbn1cbiIsICJpbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicHJlYWN0L2NvbXBhdFwiO1xuaW1wb3J0IHsgdXNlSW5kZXhVcGRhdGVzIH0gZnJvbSBcIi4vaG9va3NcIjtcbmltcG9ydCB7IExpdGVyYWwgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBWTm9kZSwgY3JlYXRlRWxlbWVudCwgaXNWYWxpZEVsZW1lbnQgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIExpdCB9IGZyb20gXCIuL21hcmtkb3duXCI7XG5cbmltcG9ydCBcIi4vZXJyb3JzLmNzc1wiO1xuXG5mdW5jdGlvbiBMb2FkaW5nUHJvZ3Jlc3MoeyBkYXRhY29yZSB9OiB7IGRhdGFjb3JlOiBEYXRhY29yZSB9KSB7XG4gICAgdXNlSW5kZXhVcGRhdGVzKGRhdGFjb3JlLCB7IGRlYm91bmNlOiAyNTAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8cD5cbiAgICAgICAgICAgIHtkYXRhY29yZS5pbml0aWFsaXplcj8uaW5pdGlhbGl6ZWQgPz8gMH0gLyB7ZGF0YWNvcmUuaW5pdGlhbGl6ZXI/LnRhcmdldFRvdGFsID8/IDB9XG4gICAgICAgIDwvcD5cbiAgICApO1xufVxuXG4vKiogTG9hZGluZyBib3VuZGFyeSB3aGljaCBzaG93cyBhIGxvYWRpbmcgc2NyZWVuIHdoaWxlIERhdGFjb3JlIGlzIGluaXRpYWxpemluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2FkaW5nQm91bmRhcnkoeyBjaGlsZHJlbiwgZGF0YWNvcmUgfTogUHJvcHNXaXRoQ2hpbGRyZW48eyBkYXRhY29yZTogRGF0YWNvcmUgfT4pIHtcbiAgICBjb25zdCBbaW5pdGlhbGl6ZWQsIHNldEluaXRpYWxpemVkXSA9IHVzZVN0YXRlKGRhdGFjb3JlLmluaXRpYWxpemVkKTtcblxuICAgIC8vIFN5bmNzIHRoZSBib3VuZGFyeSB3aXRoIGRhdGFjb3JlJ3MgaW5pdGlhbGl6YXRpb24gc3RhdGUuXG4gICAgLy8gVE9ETzogQWRkIGFuIGV2ZW50IHRvIGRhdGFjb3JlIHdoaWNoIGluZGljYXRlcyB3aGVuIGEgcmVpbmRleCBoYXBwZW5zIChpLmUuLCBpbml0aWFsaXplZFxuICAgIC8vIHJldHVybnMgYmFjayB0byAnZmFsc2UnKS5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoaW5pdGlhbGl6ZWQpIHJldHVybjtcblxuICAgICAgICBjb25zdCByZWYgPSBkYXRhY29yZS5vbihcImluaXRpYWxpemVkXCIsICgpID0+IHNldEluaXRpYWxpemVkKHRydWUpKTtcbiAgICAgICAgcmV0dXJuICgpID0+IGRhdGFjb3JlLm9mZnJlZihyZWYpO1xuICAgIH0sIFtpbml0aWFsaXplZCwgZGF0YWNvcmVdKTtcblxuICAgIGlmIChpbml0aWFsaXplZCkge1xuICAgICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWxvYWRpbmctYm91bmRhcnlcIj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZGF0YWNvcmUtbG9hZGluZy10aXRsZVwiPkRhdGFjb3JlIGlzIGdldHRpbmcgcmVhZHkuLi48L2g0PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtbG9hZGluZy1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nUHJvZ3Jlc3MgZGF0YWNvcmU9e2RhdGFjb3JlfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vKipcbiAqIEV4ZWN1dGVzIGEgdmFuaWxsYSBqYXZhc3JpcHQgZnVuY3Rpb24gbGF6aWx5IG9uZSB0aW1lLiBNYWlubHkgdXNlZnVsIHRvIG9ubHkgcnVuIGEgc2NyaXB0XG4gKiBvbmNlIHRoZSBwYXJlbnQgbG9hZGluZyBib3VuZGFyeSBpcyBhY3R1YWxseSByZWFkeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNjcmlwdENvbnRhaW5lcih7XG4gICAgZXhlY3V0b3IsXG4gICAgc291cmNlUGF0aCxcbn06IHtcbiAgICBleGVjdXRvcjogKCkgPT4gUHJvbWlzZTxMaXRlcmFsIHwgVk5vZGUgfCBGdW5jdGlvbj47XG4gICAgc291cmNlUGF0aDogc3RyaW5nO1xufSkge1xuICAgIGNvbnN0IFtlbGVtZW50LCBzZXRFbGVtZW50XSA9IHVzZVN0YXRlPEpTWC5FbGVtZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8RXJyb3IgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBzZXRFbGVtZW50KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldEVycm9yKHVuZGVmaW5lZCk7XG5cbiAgICAgICAgZXhlY3V0b3IoKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4gc2V0RWxlbWVudChtYWtlUmVuZGVyYWJsZUVsZW1lbnQocmVzdWx0LCBzb3VyY2VQYXRoKSkpXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiBzZXRFcnJvcihlcnJvcikpO1xuICAgIH0sIFtleGVjdXRvcl0pO1xuXG4gICAgLy8gUHJvcG9nYXRlIGVycm9yIHVwd2FyZHMuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cblxuICAgIHJldHVybiA8PntlbGVtZW50ID8/IDxFcnJvck1lc3NhZ2UgbWVzc2FnZT1cIjwgVmlldyBpcyByZW5kZXJpbmcgPlwiIC8+fTwvPjtcbn1cblxuLyoqIE1ha2UgYSByZW5kZXJhYmxlIGVsZW1lbnQgZnJvbSB0aGUgcmV0dXJuZWQgb2JqZWN0OyBpZiB0aGlzIHRyYW5zZm9ybWF0aW9uIGlzIG5vdCBwb3NzaWJsZSwgdGhyb3cgYW4gZXhjZXB0aW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VSZW5kZXJhYmxlRWxlbWVudChvYmplY3Q6IGFueSwgc291cmNlUGF0aDogc3RyaW5nKTogSlNYLkVsZW1lbnQge1xuICAgIGlmICh0eXBlb2Ygb2JqZWN0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQob2JqZWN0LCB7fSk7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgICAob2JqZWN0IGFzIGFueVtdKS5tYXAoKHgpID0+IG1ha2VSZW5kZXJhYmxlRWxlbWVudCh4LCBzb3VyY2VQYXRoKSlcbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzVmFsaWRFbGVtZW50KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gPExpdCB2YWx1ZT17b2JqZWN0fSBzb3VyY2VQYXRoPXtzb3VyY2VQYXRofSAvPjtcbiAgICB9XG59XG4iLCAiLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGRpcmVjdCBBUEktZmFjaW5nIGVsZW1lbnRzLiBUaGlzIGVzc2VudGlhbGx5IHNlcnZlcyBhcyBhIGxheWVyIG9mIGluZGlyZWN0aW9uIHRvIGludGVybmFsIHR5cGVzLCBzbyB0aGF0IHRoZSBpbnRlcm5hbCB0eXBlcyBjYW4gYmVcbiAqIGNoYW5nZWQgd2l0aG91dCBicmVha2luZyB0aGUgQVBJLlxuICpcbiAqIEBtb2R1bGUgdWlcbiAqL1xuXG5pbXBvcnQgeyBIVE1MQXR0cmlidXRlcywgdXNlTWVtbyB9IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5cbmltcG9ydCBcImFwaS91aS9sYXlvdXQuY3NzXCI7XG5cbi8qKiBDcmVhdGVzIGEgdmVydGljYWwgZmxleGJveCBcInN0YWNrXCIgb2YgZWxlbWVudHMuXG4gKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFN0YWNrKFxuICAgIHByb3BzOiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4gJiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICAgICAganVzdGlmeT86IHN0cmluZztcbiAgICAgICAgYWxpZ24/OiBzdHJpbmc7XG4gICAgICAgIHN0eWxlPzogc3RyaW5nO1xuICAgIH1cbikge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBqdXN0aWZ5LCBhbGlnbiwgc3R5bGUsIGNoaWxkcmVuLCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgICBjb25zdCBleHRyYVN0eWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGxldCBzdHlsZSA9IFwiXCI7XG4gICAgICAgIGlmIChqdXN0aWZ5KSBzdHlsZSArPSBganVzdGlmeS1jb250ZW50OiAke2p1c3RpZnl9O2A7XG4gICAgICAgIGlmIChhbGlnbikgc3R5bGUgKz0gYGFsaWduLWl0ZW1zOiAke2FsaWdufTtgO1xuXG4gICAgICAgIHJldHVybiBzdHlsZS5sZW5ndGggPT0gMCA/IHVuZGVmaW5lZCA6IHN0eWxlO1xuICAgIH0sIFtqdXN0aWZ5LCBhbGlnbl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWUgPyBjbGFzc05hbWUgKyBcIiBkYy1zdGFja1wiIDogXCJkYy1zdGFja1wifVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlID8gZXh0cmFTdHlsZSArIHN0eWxlIDogZXh0cmFTdHlsZX1cbiAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG5cbi8qKiBDcmVhdGVzIGEgaG9yaXpvbnRhbCBmbGV4Ym94IFwiZ3JvdXBpbmdcIiBvZiBlbGVtZW50cy5cbiAqXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gR3JvdXAoXG4gICAgcHJvcHM6IEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiAmIHtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgICBqdXN0aWZ5Pzogc3RyaW5nO1xuICAgICAgICBhbGlnbj86IHN0cmluZztcbiAgICAgICAgc3R5bGU/OiBzdHJpbmc7XG4gICAgfVxuKSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIGp1c3RpZnksIGFsaWduLCBzdHlsZSwgY2hpbGRyZW4sIC4uLnJlc3QgfSA9IHByb3BzO1xuICAgIGNvbnN0IGV4dHJhU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgbGV0IHN0eWxlID0gXCJcIjtcbiAgICAgICAgaWYgKGp1c3RpZnkpIHN0eWxlICs9IGBqdXN0aWZ5LWNvbnRlbnQ6ICR7anVzdGlmeX07YDtcbiAgICAgICAgaWYgKGFsaWduKSBzdHlsZSArPSBgYWxpZ24taXRlbXM6ICR7YWxpZ259O2A7XG5cbiAgICAgICAgcmV0dXJuIHN0eWxlLmxlbmd0aCA9PSAwID8gdW5kZWZpbmVkIDogc3R5bGU7XG4gICAgfSwgW2p1c3RpZnksIGFsaWduXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZSA/IGNsYXNzTmFtZSArIFwiIGRjLWdyb3VwXCIgOiBcImRjLWdyb3VwXCJ9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGUgPyBleHRyYVN0eWxlICsgc3R5bGUgOiBleHRyYVN0eWxlfVxuICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cbiIsICIvKiogQmFzaWMgVUkgY29tcG9uZW50cyB0aGF0IGhhdmUgc2ltcGxlIE9ic2lkaWFuIHRoZW1pbmcuXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5cbmltcG9ydCB7IENvbXBvbmVudENoaWxkcmVuIH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgc2V0SWNvbiB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5cbmltcG9ydCBcIi4vYmFzaWNzLmNzc1wiO1xuXG4vKiogVmFyaW91cyBpbnRlbnRzIGZvciBidXR0b25zIGFuZCBvdGhlciBpbnRlcmFjdGl2ZSBlbGVtZW50cy4gKi9cbmV4cG9ydCB0eXBlIEludGVudCA9IFwiZXJyb3JcIiB8IFwid2FyblwiIHwgXCJpbmZvXCIgfCBcInN1Y2Nlc3NcIjtcbmV4cG9ydCB0eXBlIE9taXR0YWJsZSA9IFwidmFsdWVcIiB8IFwiZGVmYXVsdFZhbHVlXCI7XG5leHBvcnQgY29uc3QgSU5URU5UX0NMQVNTRVM6IFJlY29yZDxJbnRlbnQsIHN0cmluZz4gPSB7XG4gICAgZXJyb3I6IFwiZGMtaW50ZW50LWVycm9yXCIsXG4gICAgd2FybjogXCJkYy1pbnRlbnQtd2FyblwiLFxuICAgIGluZm86IFwiZGMtaW50ZW50LWluZm9cIixcbiAgICBzdWNjZXNzOiBcImRjLWludGVudC1zdWNjZXNzXCIsXG59O1xuXG4vKiogV3JhcHBlciBmb3IgYSByZWd1bGFyIEhUTUwgYnV0dG9uIHdpdGggc29tZSBkZWZhdWx0IGNsYXNzZXMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKFxuICAgIHByb3BzOiB7IGNsYXNzTmFtZT86IHN0cmluZzsgaW50ZW50PzogSW50ZW50OyBjaGlsZHJlbjogQ29tcG9uZW50Q2hpbGRyZW4gfSAmIFJlYWN0LkhUTUxQcm9wczxIVE1MQnV0dG9uRWxlbWVudD5cbikge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBpbnRlbnQsIGNoaWxkcmVuLCAuLi5mb3J3YXJkaW5nUHJvcHMgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYy1idXR0b25cIiwgaW50ZW50ID8gSU5URU5UX0NMQVNTRVNbaW50ZW50XSA6IHVuZGVmaW5lZCwgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgIHsuLi5mb3J3YXJkaW5nUHJvcHN9XG4gICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9idXR0b24+XG4gICAgKTtcbn1cblxuLyoqIEEgc2ltcGxlIHRleHRib3ggd2hpY2ggYWNjZXB0cyB0ZXh0LlxuICpcbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUZXh0Ym94KHByb3BzOiB7IGNsYXNzTmFtZT86IHN0cmluZzsgaW5saW5lPzogYm9vbGVhbiB9ICYgUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+KSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIGNoaWxkcmVuLCBpbmxpbmUgPSBmYWxzZSwgLi4uZm9yd2FyZGluZ1Byb3BzIH0gPSBwcm9wcztcbiAgICByZXR1cm4gaW5saW5lID8gKFxuICAgICAgICA8aW5wdXQgdHlwZT17cHJvcHMudHlwZSA/PyBcInRleHRcIn0gY2xhc3NOYW1lPXtjb21iaW5lQ2xhc3NlcyhcImRjLXRleHRib3hcIiwgY2xhc3NOYW1lKX0gey4uLmZvcndhcmRpbmdQcm9wc30gLz5cbiAgICApIDogKFxuICAgICAgICA8dGV4dGFyZWEgY2xhc3NOYW1lPXtjb21iaW5lQ2xhc3NlcyhcImRjLXRleHRib3hcIiwgY2xhc3NOYW1lKX0+e3Byb3BzLnZhbHVlID8/IFwiXCJ9PC90ZXh0YXJlYT5cbiAgICApO1xufVxuXG4vKiogQSBjaGVja2JveCB0aGF0IGNhbiBiZSBjaGVja2VkIGFuZCB1bmNoZWNrZWQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tib3goXG4gICAgcHJvcHM6IHtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICAgIGNoZWNrZWQ/OiBib29sZWFuO1xuICAgICAgICBkZWZhdWx0Q2hlY2tlZD86IGJvb2xlYW47XG4gICAgICAgIG9uQ2hlY2tDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgICAgICAgY2hpbGRyZW4/OiBDb21wb25lbnRDaGlsZHJlbjtcbiAgICB9ICYgUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+XG4pIHtcbiAgICBjb25zdCB7XG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIGRlZmF1bHRDaGVja2VkLFxuICAgICAgICBjaGVja2VkOiBpc0NoZWNrZWQsXG4gICAgICAgIG9uQ2hlY2tDaGFuZ2UsXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAuLi5mb3J3YXJkaW5nUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2NoZWNrZWQsIHNldENoZWNrZWRdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRDaGVja2VkID8/IGZhbHNlLCBpc0NoZWNrZWQsIG9uQ2hlY2tDaGFuZ2UpO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjaygoZXZlbnQ6IGFueSkgPT4gc2V0Q2hlY2tlZChldmVudC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQpLCBbc2V0Q2hlY2tlZF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYy1jaGVja2JveFwiLCBkaXNhYmxlZCA/IFwiZGMtY2hlY2tib3gtZGlzYWJsZWRcIiA6IHVuZGVmaW5lZCwgY2xhc3NOYW1lKX0+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICAgICAgey4uLmZvcndhcmRpbmdQcm9wc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvbGFiZWw+XG4gICAgKTtcbn1cblxuLyoqIFdyYXBwZXIgZm9yIGEgc2xpZGVyIChyYW5nZSBpbnB1dCkgd2l0aCBzb21lIGRlZmF1bHQgY2xhc3Nlcy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTbGlkZXIoXG4gICAgcHJvcHM6IHtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgICBtaW4/OiBudW1iZXI7XG4gICAgICAgIG1heD86IG51bWJlcjtcbiAgICAgICAgc3RlcD86IG51bWJlcjtcbiAgICAgICAgdmFsdWU/OiBudW1iZXI7XG4gICAgICAgIGRlZmF1bHRWYWx1ZT86IG51bWJlcjtcbiAgICAgICAgb25WYWx1ZUNoYW5nZT86ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xuICAgIH0gJiBPbWl0PFJlYWN0LkhUTUxQcm9wczxIVE1MSW5wdXRFbGVtZW50PiwgT21pdHRhYmxlPlxuKSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIG1pbiA9IDAsIG1heCA9IDEwLCBzdGVwID0gMSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgb25WYWx1ZUNoYW5nZSwgLi4uZm9yd2FyZGluZ1Byb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBbc2xpZGVyLCBzZXRTbGlkZXJdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRWYWx1ZSA/PyAwLCB2YWx1ZSwgb25WYWx1ZUNoYW5nZSk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChldmVudDogYW55KSA9PiBzZXRTbGlkZXIocGFyc2VGbG9hdChldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKSksIFtzZXRTbGlkZXJdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3NsaWRlci50b1N0cmluZygpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjb21iaW5lQ2xhc3NlcyhcImRjLXNsaWRlclwiLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgbWluPXttaW59XG4gICAgICAgICAgICBtYXg9e21heH1cbiAgICAgICAgICAgIHN0ZXA9e3N0ZXB9XG4gICAgICAgICAgICB2YWx1ZT17c2xpZGVyfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgey4uLmZvcndhcmRpbmdQcm9wc31cbiAgICAgICAgLz5cbiAgICApO1xufVxuXG4vKiogV3JhcHBlciBmb3IgYSBzd2l0Y2ggKHRvZ2dsZSkgY29tcG9uZW50IHdpdGggc29tZSBkZWZhdWx0IGNsYXNzZXMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gU3dpdGNoKFxuICAgIHByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICAgICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgICAgICBjaGVja2VkPzogYm9vbGVhbjtcbiAgICAgICAgZGVmYXVsdENoZWNrZWQ/OiBib29sZWFuO1xuICAgICAgICBvblRvZ2dsZUNoYW5nZT86IChjaGVja2VkOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIH0gJiBSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD5cbikge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBkaXNhYmxlZCwgZGVmYXVsdENoZWNrZWQsIGNoZWNrZWQsIG9uVG9nZ2xlQ2hhbmdlLCAuLi5mb3J3YXJkaW5nUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IFt0b2dnbGVkLCBzZXRUb2dnbGVkXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0Q2hlY2tlZCA/PyBmYWxzZSwgY2hlY2tlZCwgb25Ub2dnbGVDaGFuZ2UpO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjaygoZXZlbnQ6IGFueSkgPT4gc2V0VG9nZ2xlZChldmVudC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQpLCBbc2V0VG9nZ2xlZF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NvbWJpbmVDbGFzc2VzKFxuICAgICAgICAgICAgICAgIFwiZGMtc3dpdGNoIGNoZWNrYm94LWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgIHRvZ2dsZWQgPyBcImlzLWVuYWJsZWRcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA/IFwiZGMtc3dpdGNoLWRpc2FibGVkXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lXG4gICAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRjLXN3aXRjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RvZ2dsZWR9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgICAgICB7Li4uZm9yd2FyZGluZ1Byb3BzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9sYWJlbD5cbiAgICApO1xufVxuXG4vKiogV3JhcHBlciBmb3IgYSBzZWxlY3QgY29tcG9uZW50IHdpdGggc29tZSBkZWZhdWx0IGNsYXNzZXMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gVmFuaWxsYVNlbGVjdChcbiAgICBwcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgICAgIG9wdGlvbnM6IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9W107XG4gICAgICAgIHZhbHVlPzogc3RyaW5nO1xuICAgICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICAgIG9uVmFsdWVDaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgICB9ICYgUmVhY3QuSFRNTFByb3BzPEhUTUxTZWxlY3RFbGVtZW50PlxuKSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIG9wdGlvbnMgPSBbXSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgb25WYWx1ZUNoYW5nZSwgLi4uZm9yd2FyZGluZ1Byb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBbc2VsZWN0ZWRWYWx1ZSwgc2V0U2VsZWN0ZWRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZSh2YWx1ZSA/PyBkZWZhdWx0VmFsdWUgPz8gXCJcIik7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSBzZXRTZWxlY3RlZFZhbHVlKHZhbHVlKTtcbiAgICB9LCBbdmFsdWVdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYy1zZWxlY3QgZHJvcGRvd25cIiwgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZFZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRWYWx1ZShlLmN1cnJlbnRUYXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2UgJiYgb25WYWx1ZUNoYW5nZShlLmN1cnJlbnRUYXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHsuLi5mb3J3YXJkaW5nUHJvcHN9XG4gICAgICAgID5cbiAgICAgICAgICAgIHtvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9e29wdGlvbi52YWx1ZX0gdmFsdWU9e29wdGlvbi52YWx1ZX0+XG4gICAgICAgICAgICAgICAgICAgIHtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgKTtcbn1cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCByZW5kZXJzIGFuIGljb25cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBJY29uKHByb3BzOiB7IGNsYXNzTmFtZT86IHN0cmluZzsgaWNvbjogc3RyaW5nIH0pIHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSwgaWNvbiB9ID0gcHJvcHM7XG4gICAgY29uc3QgcmVmID0gUmVhY3QuY3JlYXRlUmVmPEhUTUxTcGFuRWxlbWVudD4oKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChyZWYuY3VycmVudCkge1xuICAgICAgICAgICAgc2V0SWNvbihyZWYuY3VycmVudCwgaWNvbik7XG4gICAgICAgIH1cbiAgICB9LCBbcmVmXSk7XG5cbiAgICByZXR1cm4gPHNwYW4gcmVmPXtyZWZ9IGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYy1pY29uXCIsIGNsYXNzTmFtZSl9IGRhdGEtaWNvbj17aWNvbn0gLz47XG59XG5cbi8qKlxuICogIEFwcGVuZHMgYWRkaXRpb25hbCBjbGFzc2VzIHRvIGEgYmFzaWMgZml4ZWQgY2xhc3MuXG4gKlxuICogQGdyb3VwIFV0aWxpdGllc1xuICogKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lQ2xhc3NlcyhmaXhlZDogc3RyaW5nLCAuLi5yZXN0OiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdKSB7XG4gICAgY29uc3Qgbm9uZW1wdHkgPSByZXN0LmZpbHRlcigoYykgPT4gYyAhPT0gdW5kZWZpbmVkKTtcbiAgICBpZiAobm9uZW1wdHkubGVuZ3RoID09PSAwKSByZXR1cm4gZml4ZWQ7XG5cbiAgICByZXR1cm4gW2ZpeGVkLCAuLi5ub25lbXB0eV0uam9pbihcIiBcIik7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGluZGV4YWJsZXNcbiAqL1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5cbi8qKiBBbnkgaW5kZXhhYmxlIGZpZWxkLCB3aGljaCBtdXN0IGhhdmUgYSBmZXcgaW5kZXgtcmVsZXZhbnQgcHJvcGVydGllcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhhYmxlIHtcbiAgICAvKiogVGhlIG9iamVjdCB0eXBlcyB0aGF0IHRoaXMgaW5kZXhhYmxlIGlzLiAqL1xuICAgICR0eXBlczogc3RyaW5nW107XG4gICAgLyoqIFRleHR1YWwgZGVzY3JpcHRpb24gb2YgdGhlIG9iamVjdCwgc3VjaCBhcyBgUGFnZWAgb3IgYFNlY3Rpb25gLiBVc2VkIGluIHZpc3VhbGl6YXRpb25zLiAqL1xuICAgICR0eXBlbmFtZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgdW5pcXVlIGluZGV4IElEIGZvciB0aGlzIG9iamVjdC4gKi9cbiAgICAkaWQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXhhYmxlIG9iamVjdCB0aGF0IGlzIHRoZSBwYXJlbnQgb2YgdGhpcyBvYmplY3QuIE9ubHkgc2V0IGFmdGVyIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgaW5kZXhlZC5cbiAgICAgKi9cbiAgICAkcGFyZW50PzogSW5kZXhhYmxlO1xuICAgIC8qKiBJZiBwcmVzZW50LCB0aGUgcmV2aXNpb24gaW4gdGhlIGluZGV4IG9mIHRoaXMgb2JqZWN0LiAqL1xuICAgICRyZXZpc2lvbj86IG51bWJlcjtcbiAgICAvKiogVGhlIGZpbGUgdGhhdCB0aGlzIGluZGV4YWJsZSB3YXMgZGVyaXZlZCBmcm9tLCBpZiBmaWxlLWJhY2tlZC4gKi9cbiAgICAkZmlsZT86IHN0cmluZztcbn1cblxuLyoqIE1ldGFkYXRhIGZvciBvYmplY3RzIHdoaWNoIHN1cHBvcnQgbGlua2luZy4gKi9cbmV4cG9ydCBjb25zdCBMSU5LQUJMRV9UWVBFID0gXCJsaW5rYWJsZVwiO1xuLyoqXG4gKiB7QGluaGVyaXREb2MgTElOS0FCTEVfVFlQRX1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW5rYWJsZSB7XG4gICAgLyoqIEEgbGluayB0byB0aGlzIGxpbmthYmxlIG9iamVjdC4gKi9cbiAgICAkbGluazogTGluaztcbn1cblxuLyoqIEdlbmVyYWwgbWV0YWRhdGEgZm9yIGFueSBmaWxlLiAqL1xuZXhwb3J0IGNvbnN0IEZJTEVfVFlQRSA9IFwiZmlsZVwiO1xuLyoqXG4gKiB7QGluaGVyaXREb2MgRklMRV9UWVBFfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGUgZXh0ZW5kcyBMaW5rYWJsZSB7XG4gICAgLyoqIFRoZSBwYXRoIHRoaXMgZmlsZSBleGlzdHMgYXQuICovXG4gICAgJHBhdGg6IHN0cmluZztcbiAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgZGF0ZSB0aGlzIHBhZ2Ugd2FzIGNyZWF0ZWQuICovXG4gICAgJGN0aW1lOiBEYXRlVGltZTtcbiAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgZGF0ZSB0aGlzIHBhZ2Ugd2FzIG1vZGlmaWVkLiAqL1xuICAgICRtdGltZTogRGF0ZVRpbWU7XG4gICAgLyoqIE9ic2lkaWFuLXByb3ZpZGVkIHNpemUgb2YgdGhpcyBwYWdlIGluIGJ5dGVzLiAqL1xuICAgICRzaXplOiBudW1iZXI7XG4gICAgLyoqIFRoZSBleHRlbnNpb24gb2YgdGhlIGZpbGUuICovXG4gICAgJGV4dGVuc2lvbjogc3RyaW5nO1xufVxuXG4vKiogTWV0YWRhdGEgZm9yIHRhZ2dhYmxlIG9iamVjdHMuICovXG5leHBvcnQgY29uc3QgVEFHR0FCTEVfVFlQRSA9IFwidGFnZ2FibGVcIjtcbi8qKlxuICoge0Bpbmhlcml0RG9jIFRBR0dBQkxFX1RZUEV9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnZ2FibGUge1xuICAgIC8qKiBUaGUgZXhhY3QgdGFncyBvbiB0aGlzIG9iamVjdC4gKCNhL2IvYyBvciAjZm9vL2JhcikuICovXG4gICAgJHRhZ3M6IHN0cmluZ1tdO1xufVxuXG4vKiogTWV0YWRhdGEgZm9yIG9iamVjdHMgd2hpY2ggY2FuIGxpbmsgdG8gb3RoZXIgdGhpbmdzLiAqL1xuZXhwb3J0IGNvbnN0IExJTktCRUFSSU5HX1RZUEUgPSBcImxpbmtzXCI7XG4vKipcbiAqIHtAaW5oZXJpdERvYyBMSU5LQkVBUklOR19UWVBFfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpbmtiZWFyaW5nIHtcbiAgICAvKiogVGhlIGxpbmtzIGluIHRoaXMgZmlsZS4gKi9cbiAgICAkbGlua3M6IExpbmtbXTtcbn1cblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIGV4dGVuc2lvbnMuIFRoaXMgc2hvdWxkIHByb2JhYmx5IGJlY29tZSBhIGR5bmFtaWMgbG9va3VwIHRhYmxlIGFuZCBub3QganVzdFxuICogYSBmaXhlZCBsaXN0IGF0IHNvbWUgcG9pbnQsIGVzcGVjaWFsbHkgaWYgd2UgYWRkIHRoZSBhYmlsaXR5IHRvIHR1cm4gaW5kZXhpbmcgb24vb2ZmLlxuICovXG5leHBvcnQgY29uc3QgSU5ERVhBQkxFX0VYVEVOU0lPTlMgPSBuZXcgU2V0KFtcIm1kXCIsIFwibWFya2Rvd25cIiwgXCJjYW52YXNcIl0pO1xuIiwgIi8qKlxuICogQG1vZHVsZSBhcGlcbiAqL1xuaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBJbmRleGFibGUgfSBmcm9tIFwiLi4vaW5kZXgvdHlwZXMvaW5kZXhhYmxlXCI7XG5pbXBvcnQgeyBJbmxpbmVGaWVsZCB9IGZyb20gXCJpbmRleC9pbXBvcnQvaW5saW5lLWZpZWxkXCI7XG5pbXBvcnQgeyBGcm9udG1hdHRlckVudHJ5IH0gZnJvbSBcImluZGV4L3R5cGVzL21hcmtkb3duXCI7XG5pbXBvcnQgeyBMaW5lU3BhbiB9IGZyb20gXCJpbmRleC90eXBlcy9qc29uL21hcmtkb3duXCI7XG5cbi8qKiBUaGUgc291cmNlIG9mIGEgZmllbGQsIHVzZWQgd2hlbiBkZXRlcm1pbmluZyB3aGF0IGZpbGVzIHRvIG92ZXJ3cml0ZSBhbmQgaG93LiAqL1xuZXhwb3J0IHR5cGUgUHJvdmVuYW5jZSA9XG4gICAgfCB7IHR5cGU6IFwiZnJvbnRtYXR0ZXJcIjsgZmlsZTogc3RyaW5nOyBrZXk6IHN0cmluZyB9XG4gICAgfCB7IHR5cGU6IFwiaW5saW5lLWZpZWxkXCI7IGZpbGU6IHN0cmluZzsgbGluZTogbnVtYmVyOyBrZXk6IHN0cmluZyB9O1xuXG4vKipcbiAqIEdlbmVyYWwgZGVmaW5pdGlvbiBmb3IgYSBmaWVsZC4gUHJvdmlkZXMgdGhlIGZpZWxkIGtleSwgdmFsdWUsIGFzIHdlbGwgYXMgaW5mb3JtYXRpb24gb24gaXQncyBzb3VyY2UgYW5kIGhvdyBpdCBjYW4gYmUgZWRpdGVkLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICogKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGQge1xuICAgIC8qKiBUaGUgY2Fub25pY2FsIGtleSBuYW1lIGZvciB0aGUgZmllbGQgKGkuZS4sIGFzIGl0IGFjdHVhbGx5IHNob3dzIHVwIGluIHRoZSBkYXRhIHN0cnVjdHVyZSkuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gICAgdmFsdWU6IExpdGVyYWw7XG4gICAgLyoqIFRoZSByYXcgdmFsdWUgb2YgdGhlIGZpZWxkIGJlZm9yZSBwYXJzaW5nLCBpZiByZWxldmFudC4gKi9cbiAgICByYXc/OiBzdHJpbmc7XG4gICAgLyoqIElmIHByZXNlbnQsIGRlc2NyaWJlcyB3aGVyZSB0aGUgZmllbGQgY2FtZSBmcm9tIGluIHByZWNpc2UgZGV0YWlsLCBhbGxvd2luZyB0aGUgZmllbGQgdG8gYmUgZWRpdGVkLiAqL1xuICAgIHByb3ZlbmFuY2U/OiBQcm92ZW5hbmNlO1xufVxuXG4vKiogTWV0YWRhdGEgZm9yIG9iamVjdHMgd2hpY2ggYXJlIGFubm90YXRlZCB3aXRoIGZpZWxkcy4gKi9cbmV4cG9ydCBjb25zdCBGSUVMREJFQVJJTkdfVFlQRSA9IFwiZmllbGRzXCI7XG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkYmVhcmluZyB7XG4gICAgLyoqIFJldHVybiBhIGxpc3Qgb2YgYWxsIGZpZWxkcy4gVGhpcyBtYXkgYmUgY29tcHV0ZWQgZWFnZXJseSwgc28gY2FjaGUgdGhpcyB2YWx1ZSBmb3IgcmVwZWF0ZWQgb3BlcmF0aW9ucy4gKi9cbiAgICBmaWVsZHM6IEZpZWxkW107XG5cbiAgICAvKiogRmV0Y2ggYSBmaWVsZCB3aXRoIHRoZSBnaXZlbiBuYW1lIGlmIGl0IGlzIHByZXNlbnQgb24gdGhpcyBvYmplY3QuICovXG4gICAgZmllbGQoa2V5OiBzdHJpbmcpOiBGaWVsZCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBGaWVsZGJlYXJpbmdzIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gaXNGaWVsZGJlYXJpbmcob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgRmllbGRiZWFyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIG9iamVjdCAhPSBudWxsICYmIHR5cGVvZiBvYmplY3QgPT09IFwib2JqZWN0XCIgJiYgXCJmaWVsZFwiIGluIG9iamVjdCAmJiB0eXBlb2Ygb2JqZWN0W1wiZmllbGRcIl0gPT0gXCJmdW5jdGlvblwiXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhIGtleSBmcm9tIGEgZ2VuZXJpYyBtYXAgb3IgZmllbGRiZWFyaW5nIG9iamVjdC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZ2V0KG9iamVjdDogRmllbGRiZWFyaW5nIHwgUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4sIGtleTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0ZpZWxkYmVhcmluZyhvYmplY3QpKSByZXR1cm4gb2JqZWN0LmZpZWxkKGtleSk/LnZhbHVlO1xuICAgICAgICBlbHNlIHJldHVybiBvYmplY3Rba2V5XTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gZ2V0V2l0aERlZmF1bHQ8VCBleHRlbmRzIHsgJHBvc2l0aW9uOiBMaW5lU3BhbiB9ICYgSW5kZXhhYmxlPihcbiAgICAgICAgb2JqZWN0OiBULFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgZGVmYXVsdFZhbHVlPzogTGl0ZXJhbFxuICAgICk6IEZpZWxkIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IGRlZmF1bHRWYWx1ZSA/PyBudWxsLFxuICAgICAgICAgICAgcHJvdmVuYW5jZToge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiaW5saW5lLWZpZWxkXCIsXG4gICAgICAgICAgICAgICAgZmlsZTogb2JqZWN0LiRmaWxlISxcbiAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgbGluZTogb2JqZWN0LiRwb3NpdGlvbi5lbmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqXG4gKiBHZW5lcmljIGZ1bmN0aW9uIHdoaWNoIGV4dHJhY3QgZmllbGRzLiBJZiBubyBhcmd1bWVudCBpcyBwcm92aWRlZCwgaXQgc2hvdWxkIHJldHVybiBhbGwgZmllbGRzOyBvdGhlcndpc2UsXG4gKiBpdCBzaG91bGQgcmV0dXJuIHRoZSBmaWVsZCBtYXRjaGluZyB0aGUgZ2l2ZW4ga2V5LlxuICpcbiAqIEtleXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUgdG8gbWF0Y2ggT2JzaWRpYW4gc3RhbmRhcmQgYmVoYXZpb3IuXG4gKi9cbmV4cG9ydCB0eXBlIEZpZWxkRXh0cmFjdG9yPFQ+ID0gKG9iamVjdDogVCwga2V5Pzogc3RyaW5nKSA9PiBGaWVsZFtdO1xuXG4vKiogUXVpY2sgdXRpbGl0aWVzIGZvciBnZW5lcmF0aW5nIGZpZWxkcyBhbmQgZG9pbmcgc2VhcmNoZXMgb3ZlciB0aGVtLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgbmFtZXNwYWNlIEV4dHJhY3RvcnMge1xuICAgIC8qKiBDaGVjayBpZiB0aGUgZ2l2ZW4gcHJvcGVydHkgaW4gdGhlIG9iamVjdCBpcyBub3QgZXhjbHVkZWQgYW5kIGlzIGEgcGxhaW4gcHJvcGVydHkgKG5vdCBhIGZ1bmN0aW9uIG9yIG90aGVyIHNwZWNpYWwgb2JqZWN0KS4gKi9cbiAgICBmdW5jdGlvbiBpc1ZhbGlkSW50cmluc2ljKG9iamVjdDogUmVjb3JkPHN0cmluZywgYW55Piwga2V5OiBzdHJpbmcsIGV4Y2x1ZGU/OiBTZXQ8c3RyaW5nPik6IGJvb2xlYW4ge1xuICAgICAgICAvLyBEb24ndCBhbGxvdyByZWN1cnNpb24gb24gJ2ZpZWxkcycgb3IgY2FjaGVkIHZhbHVlcywgYW5kIHNraXAgYW55IGlnbm9yZWQgYW5kIG5vbi1pbnRyaW5zaWNzLlxuICAgICAgICBpZiAoZXhjbHVkZT8uaGFzKGtleSkgfHwgIWtleS5zdGFydHNXaXRoKFwiJFwiKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIC8vIE5vIGZ1bmN0aW9ucywgb25seSB1c2UgYWN0dWFsIHZhbHVlcy5cbiAgICAgICAgY29uc3QgdmFsdWUgPSAob2JqZWN0IGFzIGFueSlba2V5XTtcbiAgICAgICAgaWYgKExpdGVyYWxzLmlzRnVuY3Rpb24odmFsdWUpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhbGwga2V5cyBvZiB0aGUgb2JqZWN0LCBpbmNsdWRpbmcgZGVyaXZlZCBmaWVsZHMgZnJvbSBwcm90b3R5cGVzLiAqL1xuICAgIGZ1bmN0aW9uKiBwcm90b3R5cGVLZXlzKG9iamVjdDogYW55KSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iamVjdCkpIHlpZWxkIGtleTtcblxuICAgICAgICBsZXQgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqZWN0KTtcbiAgICAgICAgd2hpbGUgKHByb3RvKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm90bykpIHlpZWxkIGtleTtcblxuICAgICAgICAgICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdlbmVyYXRlIGEgbGlzdCBvZiBmaWVsZHMgZm9yIHRoZSBnaXZlbiBvYmplY3QsIHJldHVybmluZyB0aGVtIGFzIGEgbGlzdC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaW50cmluc2ljczxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oZXhjZXB0PzogU2V0PHN0cmluZz4pOiBGaWVsZEV4dHJhY3RvcjxUPiB7XG4gICAgICAgIHJldHVybiAob2JqZWN0OiBULCBrZXk/OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChrZXkgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtdO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgcHJvdG90eXBlS2V5cyhvYmplY3QpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZEludHJpbnNpYyhvYmplY3QsIGtleSwgZXhjZXB0KSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IChvYmplY3QgYXMgYW55KVtrZXldLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmllbGRzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBrZXkgaXMgZGlyZWN0bHkgcHJlc2VudCBpbiBvYmplY3QsIGp1c3QgcmV0dXJuIGl0LlxuICAgICAgICAgICAgICAgIGlmIChrZXkgaW4gb2JqZWN0ICYmIGlzVmFsaWRJbnRyaW5zaWMob2JqZWN0LCBrZXksIGV4Y2VwdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IChvYmplY3QgYXMgYW55KVtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSBhcyBGaWVsZFtdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogRmllbGQgZXh0cmFjdG9yIHdoaWNoIGV4dHJhY3RzIGZyb250bWF0dGVyIGZpZWxkcy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZnJvbnRtYXR0ZXI8VCBleHRlbmRzIEluZGV4YWJsZT4oXG4gICAgICAgIGZyb250OiAob2JqZWN0OiBUKSA9PiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5PiB8IHVuZGVmaW5lZFxuICAgICk6IEZpZWxkRXh0cmFjdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIChvYmplY3Q6IFQsIGtleT86IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZnJvbnRtYXR0ZXIgPSBmcm9udChvYmplY3QpO1xuICAgICAgICAgICAgaWYgKCFmcm9udG1hdHRlcikgcmV0dXJuIFtdO1xuXG4gICAgICAgICAgICBpZiAoa2V5ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXTtcblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZyb250bWF0dGVyKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGZyb250bWF0dGVyW2tleV07XG5cbiAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBlbnRyeS5rZXkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBlbnRyeS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhdzogZW50cnkucmF3LFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmVuYW5jZTogeyB0eXBlOiBcImZyb250bWF0dGVyXCIsIGZpbGU6IG9iamVjdC4kZmlsZSEsIGtleTogZW50cnkua2V5IH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBmaWVsZHM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGlmICghKGtleSBpbiBmcm9udG1hdHRlcikpIHJldHVybiBbXTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGVudHJ5ID0gZnJvbnRtYXR0ZXJba2V5XTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVudHJ5LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3OiBlbnRyeS5yYXcsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92ZW5hbmNlOiB7IHR5cGU6IFwiZnJvbnRtYXR0ZXJcIiwgZmlsZTogb2JqZWN0LiRmaWxlISwga2V5IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogRmllbGQgZXh0cmFjdG9yIHdoaWNoIHNob3dzIGFsbCBpbmxpbmUgZmllbGRzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbmxpbmVGaWVsZHM8VCBleHRlbmRzIEluZGV4YWJsZT4oXG4gICAgICAgIGlubGluZU1hcDogKG9iamVjdDogVCkgPT4gUmVjb3JkPHN0cmluZywgSW5saW5lRmllbGQ+IHwgdW5kZWZpbmVkXG4gICAgKTogRmllbGRFeHRyYWN0b3I8VD4ge1xuICAgICAgICByZXR1cm4gKG9iamVjdDogVCwga2V5Pzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXAgPSBpbmxpbmVNYXAob2JqZWN0KTtcbiAgICAgICAgICAgIGlmICghbWFwKSByZXR1cm4gW107XG5cbiAgICAgICAgICAgIGlmIChrZXkgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IFtdO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3QudmFsdWVzKG1hcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBmaWVsZC5rZXkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWVsZC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhdzogZmllbGQucmF3LFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmVuYW5jZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiaW5saW5lLWZpZWxkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogb2JqZWN0LiRmaWxlISxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBmaWVsZC5wb3NpdGlvbi5saW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBQcm92ZW5hbmNlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmllbGRzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSBrZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICBpZiAoIShrZXkgaW4gbWFwKSkgcmV0dXJuIFtdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBtYXBba2V5XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWVsZC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhdzogZmllbGQucmF3LFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmVuYW5jZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiaW5saW5lLWZpZWxkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogb2JqZWN0LiRmaWxlISxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBmaWVsZC5wb3NpdGlvbi5saW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBQcm92ZW5hbmNlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIE1lcmdlIG11bHRpcGxlIGZpZWxkIGV4dHJhY3RvcnMgaW50byBvbmU7IGlmIG11bHRpcGxlIGV4dHJhY3RvcnMgcHJvZHVjZSBpZGVudGljYWwga2V5cywga2V5cyBmcm9tIHRoZSBlYXJsaWVyIGV4dHJhY3RvciB3aWxsIGJlIHByZWZlcnJlZC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbWVyZ2U8VCBleHRlbmRzIEZpZWxkYmVhcmluZz4oLi4uZXh0cmFjdG9yczogRmllbGRFeHRyYWN0b3I8VD5bXSk6IEZpZWxkRXh0cmFjdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIChvYmplY3Q6IFQsIGtleT86IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGtleSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXNlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW107XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBleHRyYWN0b3Igb2YgZXh0cmFjdG9ycykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGV4dHJhY3RvcihvYmplY3QsIHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1c2VkLmhhcyhmaWVsZC5rZXkudG9Mb3dlckNhc2UoKSkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VkLmFkZChmaWVsZC5rZXkudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHMucHVzaChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpZWxkcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBleHRyYWN0b3Igb2YgZXh0cmFjdG9ycykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGV4dHJhY3RvcihvYmplY3QsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZCAmJiBmaWVsZC5sZW5ndGggPiAwKSByZXR1cm4gZmllbGQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsICIvKiogUGFyc2UgaW5saW5lIGZpZWxkcyBhbmQgb3RoZXIgZW1iZWRkZWQgbWV0YWRhdGEgaW4gYSBsaW5lLiAqL1xuXG5pbXBvcnQgeyBQUklNSVRJVkVTIH0gZnJvbSBcImV4cHJlc3Npb24vcGFyc2VyXCI7XG5pbXBvcnQgeyBMaXRlcmFsIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0ICogYXMgUCBmcm9tIFwicGFyc2ltbW9uXCI7XG5pbXBvcnQgZW1vamlSZWdleCBmcm9tIFwiZW1vamktcmVnZXhcIjtcbmltcG9ydCB7IEpzb25Db252ZXJzaW9uLCBKc29uTGl0ZXJhbCB9IGZyb20gXCJpbmRleC90eXBlcy9qc29uL2NvbW1vblwiO1xuXG4vKiogQSBwYXJzZWQgaW5saW5lIGZpZWxkIGZyb20gYSBzcGVjaWZpYyBsaW5lLiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2NhbElubGluZUZpZWxkIHtcbiAgICAvKiogVGhlIHJhdyBwYXJzZWQga2V5LiAqL1xuICAgIGtleTogc3RyaW5nO1xuICAgIC8qKiBUaGUgcmF3IHZhbHVlIG9mIHRoZSBmaWVsZC4gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSBmaWVsZC4gKi9cbiAgICBzdGFydDogbnVtYmVyO1xuICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSAqdmFsdWUqIGZvciB0aGUgZmllbGQuICovXG4gICAgc3RhcnRWYWx1ZTogbnVtYmVyO1xuICAgIC8qKiBUaGUgZW5kIGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgZW5kOiBudW1iZXI7XG4gICAgLyoqIElmIHRoaXMgaW5saW5lIGZpZWxkIHdhcyBkZWZpbmVkIHZpYSBhIHdyYXBwaW5nICgnWycgb3IgJygnIG9yICdsaW5rJyksIHRoZW4gdGhlIHdyYXBwaW5nIHRoYXQgd2FzIHVzZWQuICovXG4gICAgd3JhcHBpbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBGdWxsIGlubGluZSBmaWVsZCBtZXRhZGF0YSBmb3IgYW4gb2JqZWN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmxpbmVGaWVsZCB7XG4gICAgLyoqIFRoZSBhY3R1YWwga2V5IGRlc2NyaWJpbmcgdGhlIGlubGluZSBmaWVsZC4gKi9cbiAgICBrZXk6IHN0cmluZztcbiAgICAvKiogVGhlIHJhdyB2YWx1ZSBvZiB0aGUgaW5saW5lIGZpZWxkLiAqL1xuICAgIHJhdzogc3RyaW5nO1xuICAgIC8qKiBUaGUgcGFyc2VkIHZhbHVlLiAqL1xuICAgIHZhbHVlOiBMaXRlcmFsO1xuICAgIC8qKiBGdWxsIHBvc2l0aW9uIGluZm9ybWF0aW9uIGZvciB3aGVyZSB0aGUgaW5saW5lIGZpZWxkIGlzIGxvY2F0ZWQgaW4gdGhlIGRvY3VtZW50LiAqL1xuICAgIHBvc2l0aW9uOiB7XG4gICAgICAgIC8qKiBUaGUgbGluZSBudW1iZXIgdGhlIGlubGluZSBmaWVsZCBhcHBlYXJzIG9uLiAqL1xuICAgICAgICBsaW5lOiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSBmaWVsZC4gKi9cbiAgICAgICAgc3RhcnQ6IG51bWJlcjtcbiAgICAgICAgLyoqIFRoZSBzdGFydCBjb2x1bW4gb2YgdGhlICp2YWx1ZSogZm9yIHRoZSBmaWVsZC4gSW1tZWRpYXRlbHkgYWZ0ZXIgdGhlICc6OicuICovXG4gICAgICAgIHN0YXJ0VmFsdWU6IG51bWJlcjtcbiAgICAgICAgLyoqIFRoZSBlbmQgY29sdW1uIG9mIHRoZSBmaWVsZC4gKi9cbiAgICAgICAgZW5kOiBudW1iZXI7XG4gICAgfTtcbiAgICAvKiogSWYgdGhpcyBpbmxpbmUgZmllbGQgd2FzIGRlZmluZWQgdmlhIGEgd3JhcHBpbmcgKCdbJyBvciAnKCcgb3IgJ2xpbmsnKSwgdGhlbiB0aGUgd3JhcHBpbmcgdGhhdCB3YXMgdXNlZC4gKi9cbiAgICB3cmFwcGluZz86IHN0cmluZztcbn1cblxuLyoqIEpTT04sIHNlcmlhbGl6YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhbiBpbmxpbmUgZmllbGQuICovXG5leHBvcnQgaW50ZXJmYWNlIEpzb25JbmxpbmVGaWVsZCB7XG4gICAgLyoqIFRoZSBhY3R1YWwga2V5IGRlc2NyaWJpbmcgdGhlIGlubGluZSBmaWVsZC4gKi9cbiAgICBrZXk6IHN0cmluZztcbiAgICAvKiogVGhlIHJhdyB2YWx1ZSBvZiB0aGUgaW5saW5lIGZpZWxkLiAqL1xuICAgIHJhdzogc3RyaW5nO1xuICAgIC8qKiBUaGUgcGFyc2VkIHZhbHVlLiAqL1xuICAgIHZhbHVlOiBKc29uTGl0ZXJhbDtcbiAgICAvKiogRnVsbCBwb3NpdGlvbiBpbmZvcm1hdGlvbiBmb3Igd2hlcmUgdGhlIGlubGluZSBmaWVsZCBpcyBsb2NhdGVkIGluIHRoZSBkb2N1bWVudC4gKi9cbiAgICBwb3NpdGlvbjoge1xuICAgICAgICAvKiogVGhlIGxpbmUgbnVtYmVyIHRoZSBpbmxpbmUgZmllbGQgYXBwZWFycyBvbi4gKi9cbiAgICAgICAgbGluZTogbnVtYmVyO1xuICAgICAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSAqdmFsdWUqIGZvciB0aGUgZmllbGQuIEltbWVkaWF0ZWx5IGFmdGVyIHRoZSAnOjonLiAqL1xuICAgICAgICBzdGFydFZhbHVlOiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgZW5kIGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgICAgIGVuZDogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqIElmIHRoaXMgaW5saW5lIGZpZWxkIHdhcyBkZWZpbmVkIHZpYSBhIHdyYXBwaW5nICgnWycgb3IgJygnIG9yICdsaW5rJyksIHRoZW4gdGhlIHdyYXBwaW5nIHRoYXQgd2FzIHVzZWQuICovXG4gICAgd3JhcHBpbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBDb252ZXJ0IGFuIGlubGluZSBmaWVsZCB0byBhIEpTT04gZm9ybWF0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGpzb25JbmxpbmVGaWVsZChmaWVsZDogSW5saW5lRmllbGQpOiBKc29uSW5saW5lRmllbGQge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBmaWVsZCwgeyB2YWx1ZTogSnNvbkNvbnZlcnNpb24uanNvbihmaWVsZC52YWx1ZSkgfSk7XG59XG5cbi8qKiBDb252ZXJ0IGEgSlNPTiBpbmxpbmUgZmllbGQgYmFjayB0byBhIHJlZ3VsYXIgZmllbGQuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsdWVJbmxpbmVGaWVsZChmaWVsZDogSnNvbklubGluZUZpZWxkKTogSW5saW5lRmllbGQge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBmaWVsZCwgeyB2YWx1ZTogSnNvbkNvbnZlcnNpb24udmFsdWUoZmllbGQudmFsdWUpIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNJbmxpbmVGaWVsZChsb2NhbDogTG9jYWxJbmxpbmVGaWVsZCwgbGluZW5vOiBudW1iZXIpOiBJbmxpbmVGaWVsZDtcbmV4cG9ydCBmdW5jdGlvbiBhc0lubGluZUZpZWxkKGxvY2FsOiBMb2NhbElubGluZUZpZWxkW10sIGxpbmVubzogbnVtYmVyKTogSW5saW5lRmllbGRbXTtcbi8qKiBDb252ZXJ0IGEgbG9jYWwgaW5saW5lIGZpZWxkIGludG8gYSBmdWxsIGlubGluZSBmaWVsZCBieSBwZXJmb3JtaW5nIHBhcnNpbmcgYW5kIGFkZGluZyB0aGUgY29ycmVjdCBsaW5lIG51bWJlci4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc0lubGluZUZpZWxkKFxuICAgIGxvY2FsOiBMb2NhbElubGluZUZpZWxkIHwgTG9jYWxJbmxpbmVGaWVsZFtdLFxuICAgIGxpbmVubzogbnVtYmVyXG4pOiBJbmxpbmVGaWVsZCB8IElubGluZUZpZWxkW10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsKSkge1xuICAgICAgICByZXR1cm4gbG9jYWwubWFwKChmKSA9PiBhc0lubGluZUZpZWxkKGYsIGxpbmVubykpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGtleTogbG9jYWwua2V5LFxuICAgICAgICByYXc6IGxvY2FsLnZhbHVlLFxuICAgICAgICB2YWx1ZTogcGFyc2VJbmxpbmVWYWx1ZShsb2NhbC52YWx1ZSksXG4gICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICBsaW5lOiBsaW5lbm8sXG4gICAgICAgICAgICBzdGFydDogbG9jYWwuc3RhcnQsXG4gICAgICAgICAgICBzdGFydFZhbHVlOiBsb2NhbC5zdGFydFZhbHVlLFxuICAgICAgICAgICAgZW5kOiBsb2NhbC5lbmQsXG4gICAgICAgIH0sXG4gICAgICAgIHdyYXBwaW5nOiBsb2NhbC53cmFwcGluZyxcbiAgICB9O1xufVxuXG4vKiogVGhlIHdyYXBwZXIgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhbiBpbmxpbmUgZmllbGQuICovXG5leHBvcnQgY29uc3QgSU5MSU5FX0ZJRUxEX1dSQVBQRVJTOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IE9iamVjdC5mcmVlemUoe1xuICAgIFwiW1wiOiBcIl1cIixcbiAgICBcIihcIjogXCIpXCIsXG59KTtcblxuLyoqXG4gKiBGaW5kIGEgbWF0Y2hpbmcgY2xvc2luZyBicmFja2V0IHRoYXQgb2NjdXJzIGF0IG9yIGFmdGVyIGBzdGFydGAsIHJlc3BlY3RpbmcgbmVzdGluZyBhbmQgZXNjYXBlcy4gSWYgZm91bmQsXG4gKiByZXR1cm5zIHRoZSB2YWx1ZSBjb250YWluZWQgd2l0aGluIGFuZCB0aGUgc3RyaW5nIGluZGV4IGFmdGVyIHRoZSBlbmQgb2YgdGhlIHZhbHVlLlxuICovXG5mdW5jdGlvbiBmaW5kQ2xvc2luZyhcbiAgICBsaW5lOiBzdHJpbmcsXG4gICAgc3RhcnQ6IG51bWJlcixcbiAgICBvcGVuOiBzdHJpbmcsXG4gICAgY2xvc2U6IHN0cmluZ1xuKTogeyB2YWx1ZTogc3RyaW5nOyBlbmRJbmRleDogbnVtYmVyIH0gfCB1bmRlZmluZWQge1xuICAgIGxldCBuZXN0aW5nID0gMDtcbiAgICBsZXQgZXNjYXBlZCA9IGZhbHNlO1xuICAgIGZvciAobGV0IGluZGV4ID0gc3RhcnQ7IGluZGV4IDwgbGluZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgbGV0IGNoYXIgPSBsaW5lLmNoYXJBdChpbmRleCk7XG5cbiAgICAgICAgLy8gQWxsb3dzIGZvciBkb3VibGUgZXNjYXBlcyBsaWtlICdcXFxcJyB0byBiZSByZW5kZXJlZCBub3JtYWxseS5cbiAgICAgICAgaWYgKGNoYXIgPT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICAgIGVzY2FwZWQgPSAhZXNjYXBlZDtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgZXNjYXBlZCwgaWdub3JlIHRoZSBuZXh0IGNoYXJhY3RlciBmb3IgY29tcHV0aW5nIG5lc3RpbmcsIHJlZ2FyZGxlc3Mgb2Ygd2hhdCBpdCBpcy5cbiAgICAgICAgaWYgKGVzY2FwZWQpIHtcbiAgICAgICAgICAgIGVzY2FwZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYXIgPT0gb3BlbikgbmVzdGluZysrO1xuICAgICAgICBlbHNlIGlmIChjaGFyID09IGNsb3NlKSBuZXN0aW5nLS07XG5cbiAgICAgICAgLy8gT25seSBvY2N1cnMgaWYgd2UgYXJlIG9uIGEgY2xvc2UgY2hhcmFjdGVyIGFuZCB0cmhlcmUgaXMgbm8gbW9yZSBuZXN0aW5nLlxuICAgICAgICBpZiAobmVzdGluZyA8IDApIHJldHVybiB7IHZhbHVlOiBsaW5lLnN1YnN0cmluZyhzdGFydCwgaW5kZXgpLnRyaW0oKSwgZW5kSW5kZXg6IGluZGV4ICsgMSB9O1xuXG4gICAgICAgIGVzY2FwZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKiogRmluZCB0aGUgJzo6JyBzZXBhcmF0b3IgaW4gYW4gaW5saW5lIGZpZWxkLiAqL1xuZnVuY3Rpb24gZmluZFNlcGFyYXRvcihsaW5lOiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIpOiB7IGtleTogc3RyaW5nOyB2YWx1ZUluZGV4OiBudW1iZXIgfSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHNlcCA9IGxpbmUuaW5kZXhPZihcIjo6XCIsIHN0YXJ0KTtcbiAgICBpZiAoc2VwIDwgMCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7IGtleTogbGluZS5zdWJzdHJpbmcoc3RhcnQsIHNlcCkudHJpbSgpLCB2YWx1ZUluZGV4OiBzZXAgKyAyIH07XG59XG5cbi8qKiBUcnkgdG8gY29tcGxldGVseSBwYXJzZSBhbiBpbmxpbmUgZmllbGQgc3RhcnRpbmcgYXQgdGhlIGdpdmVuIHBvc2l0aW9uLiBBc3N1bWVzIGBzdGFydGAgaXMgb24gYSB3cmFwcGluZyBjaGFyYWN0ZXIuICovXG5mdW5jdGlvbiBmaW5kU3BlY2lmaWNJbmxpbmVGaWVsZChsaW5lOiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIpOiBMb2NhbElubGluZUZpZWxkIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgb3BlbiA9IGxpbmUuY2hhckF0KHN0YXJ0KTtcblxuICAgIGxldCBrZXkgPSBmaW5kU2VwYXJhdG9yKGxpbmUsIHN0YXJ0ICsgMSk7XG4gICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgLy8gRmFpbCB0aGUgbWF0Y2ggaWYgd2UgZmluZCBhbnkgc2VwYXJhdG9yIGNoYXJhY3RlcnMgKG5vdCBhbGxvd2VkIGluIGtleXMpLlxuICAgIGZvciAobGV0IHNlcCBvZiBPYmplY3Qua2V5cyhJTkxJTkVfRklFTERfV1JBUFBFUlMpLmNvbmNhdChPYmplY3QudmFsdWVzKElOTElORV9GSUVMRF9XUkFQUEVSUykpKSB7XG4gICAgICAgIGlmIChrZXkua2V5LmluY2x1ZGVzKHNlcCkpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gZmluZENsb3NpbmcobGluZSwga2V5LnZhbHVlSW5kZXgsIG9wZW4sIElOTElORV9GSUVMRF9XUkFQUEVSU1tvcGVuXSk7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGtleS5rZXksXG4gICAgICAgIHZhbHVlOiB2YWx1ZS52YWx1ZSxcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBzdGFydFZhbHVlOiBrZXkudmFsdWVJbmRleCxcbiAgICAgICAgZW5kOiB2YWx1ZS5lbmRJbmRleCxcbiAgICAgICAgd3JhcHBpbmc6IG9wZW4sXG4gICAgfTtcbn1cblxuLyoqIFBhcnNlIGEgdGV4dHVhbCBpbmxpbmUgZmllbGQgdmFsdWUgaW50byBzb21ldGhpbmcgd2UgY2FuIHdvcmsgd2l0aC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUlubGluZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBMaXRlcmFsIHtcbiAgICAvLyBFbXB0eSBpbmxpbmUgdmFsdWVzIChpLmUuLCBubyB0ZXh0KSBzaG91bGQgbWFwIHRvIG51bGwgdG8gbWF0Y2ggbG9uZy10ZXJtIERhdGF2aWV3IHNlbWFudGljcy5cbiAgICAvLyBOdWxsIGlzIGFsc28gYSBtb3JlIHVuaXZlcnNhbCB0eXBlIHRvIGRlYWwgd2l0aCB0aGFuIHN0cmluZ3MsIHNpbmNlIGFsbCBmdW5jdGlvbnMgYWNjZXB0IG51bGxzLlxuICAgIGlmICh2YWx1ZS50cmltKCkgPT0gXCJcIikgcmV0dXJuIG51bGw7XG5cbiAgICAvLyBUaGUgc3RyaXBwZWQgbGl0ZXJhbCBmaWVsZCBwYXJzZXIgdW5kZXJzdGFuZHMgYWxsIG9mIHRoZSBub24tYXJyYXkvbm9uLW9iamVjdCBmaWVsZHMgYW5kIGNhbiBwYXJzZSB0aGVtIGZvciB1cy5cbiAgICAvLyBJbmxpbmUgZmllbGQgb2JqZWN0cyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQ7IGlubGluZSBhcnJheSBvYmplY3RzIGhhdmUgdG8gYmUgaGFuZGxlZCBieSB0aGUgcGFyc2VyXG4gICAgLy8gc2VwYXJhdGVseS5cbiAgICBsZXQgaW5saW5lID0gUFJJTUlUSVZFUy5pbmxpbmVGaWVsZC5wYXJzZSh2YWx1ZSk7XG4gICAgaWYgKGlubGluZS5zdGF0dXMpIHJldHVybiBpbmxpbmUudmFsdWU7XG4gICAgZWxzZSByZXR1cm4gdmFsdWU7XG59XG5cbi8qKiBFeHRyYWN0cyBpbmxpbmUgZmllbGRzIG9mIHRoZSBmb3JtICdba2V5OjogdmFsdWVdJyBmcm9tIGEgbGluZSBvZiB0ZXh0LiBUaGlzIGlzIGRvbmUgaW4gYSByZWxhdGl2ZWx5XG4gKiBcInJvYnVzdFwiIHdheSB0byBhdm9pZCBmYWlsaW5nIGR1ZSB0byBiYWQgbmVzdGluZyBvciBvdGhlciBpbnRlcmZlcmluZyBNYXJrZG93biBzeW1ib2xzOlxuICpcbiAqIC0gTG9vayBmb3IgYW55IHdyYXBwZXJzICgnWycgYW5kICcoJykgaW4gdGhlIGxpbmUsIHRyeWluZyB0byBwYXJzZSB3aGF0ZXZlciBjb21lcyBhZnRlciBpdCBhcyBhbiBpbmxpbmUga2V5OjouXG4gKiAtIElmIHN1Y2Nlc3NmdWwsIHNjYW4gdW50aWwgeW91IGZpbmQgYSBtYXRjaGluZyBlbmQgYnJhY2tldCwgYW5kIHBhcnNlIHdoYXRldmVyIHJlbWFpbnMgYXMgYW4gaW5saW5lIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdElubGluZUZpZWxkcyhsaW5lOiBzdHJpbmcsIGluY2x1ZGVUYXNrRmllbGRzOiBib29sZWFuID0gZmFsc2UpOiBMb2NhbElubGluZUZpZWxkW10ge1xuICAgIGxldCBmaWVsZHM6IExvY2FsSW5saW5lRmllbGRbXSA9IFtdO1xuICAgIGZvciAobGV0IHdyYXBwZXIgb2YgT2JqZWN0LmtleXMoSU5MSU5FX0ZJRUxEX1dSQVBQRVJTKSkge1xuICAgICAgICBsZXQgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyKTtcbiAgICAgICAgd2hpbGUgKGZvdW5kSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgbGV0IHBhcnNlZEZpZWxkID0gZmluZFNwZWNpZmljSW5saW5lRmllbGQobGluZSwgZm91bmRJbmRleCk7XG4gICAgICAgICAgICBpZiAoIXBhcnNlZEZpZWxkKSB7XG4gICAgICAgICAgICAgICAgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyLCBmb3VuZEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZpZWxkcy5wdXNoKHBhcnNlZEZpZWxkKTtcbiAgICAgICAgICAgIGZvdW5kSW5kZXggPSBsaW5lLmluZGV4T2Yod3JhcHBlciwgcGFyc2VkRmllbGQuZW5kKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpbmNsdWRlVGFza0ZpZWxkcykgZmllbGRzID0gZmllbGRzLmNvbmNhdChleHRyYWN0U3BlY2lhbFRhc2tGaWVsZHMobGluZSkpO1xuXG4gICAgZmllbGRzLnNvcnQoKGEsIGIpID0+IGEuc3RhcnQgLSBiLnN0YXJ0KTtcblxuICAgIGxldCBmaWx0ZXJlZEZpZWxkczogTG9jYWxJbmxpbmVGaWVsZFtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWVsZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGkgPT0gMCB8fCBmaWx0ZXJlZEZpZWxkc1tmaWx0ZXJlZEZpZWxkcy5sZW5ndGggLSAxXS5lbmQgPCBmaWVsZHNbaV0uc3RhcnQpIHtcbiAgICAgICAgICAgIGZpbHRlcmVkRmllbGRzLnB1c2goZmllbGRzW2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyZWRGaWVsZHM7XG59XG5cbi8qKiBWYWxpZGF0ZXMgdGhhdCBhIHJhdyBmaWVsZCBuYW1lIGhhcyBhIHZhbGlkIGZvcm0uICovXG5jb25zdCBGVUxMX0xJTkVfS0VZX1BBUlQ6IFAuUGFyc2VyPHN0cmluZz4gPSBQLmFsdChcbiAgICBQLnJlZ2V4cChuZXcgUmVnRXhwKGVtb2ppUmVnZXgoKSwgXCJ1XCIpKSxcbiAgICBQLnJlZ2V4cCgvWzAtOVxccHtMZXR0ZXJ9XFx3XFxzXy8tXSsvdSlcbilcbiAgICAubWFueSgpXG4gICAgLm1hcCgocGFydHMpID0+IHBhcnRzLmpvaW4oXCJcIikpO1xuXG5jb25zdCBGVUxMX0xJTkVfS0VZX1BBUlNFUjogUC5QYXJzZXI8c3RyaW5nPiA9IFAucmVnZXhwKC9bXjAtOVxcd1xccHtMZXR0ZXJ9XSovdSlcbiAgICAudGhlbihGVUxMX0xJTkVfS0VZX1BBUlQpXG4gICAgLnNraXAoUC5yZWdleHAoL1tfXFwqfmBdKi91KSk7XG5cbi8qKiBBdHRlbXB0IHRvIGV4dHJhY3QgYSBmdWxsLWxpbmUgZmllbGQgKEtleTo6IFZhbHVlIGNvbnN1bWluZyB0aGUgZW50aXJlIGNvbnRlbnQgbGluZSkuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEZ1bGxMaW5lRmllbGQodGV4dDogc3RyaW5nKTogTG9jYWxJbmxpbmVGaWVsZCB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHNlcCA9IGZpbmRTZXBhcmF0b3IodGV4dCwgMCk7XG4gICAgaWYgKCFzZXApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAvLyBXZSBuZWVkIHRvIHBvc3QtcHJvY2VzcyB0aGUga2V5IHRvIGRyb3AgdW5uZWNlc3Nhcnkgb3BlbmluZyBhbm5vdGF0aW9ucyBhcyB3ZWxsIGFzXG4gICAgLy8gZHJvcCBzdXJyb3VuZGluZyBNYXJrZG93bi5cbiAgICBsZXQgcmVhbEtleSA9IEZVTExfTElORV9LRVlfUEFSU0VSLnBhcnNlKHNlcC5rZXkpO1xuICAgIGlmICghcmVhbEtleS5zdGF0dXMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IHJlYWxLZXkudmFsdWUsXG4gICAgICAgIHZhbHVlOiB0ZXh0LnN1YnN0cmluZyhzZXAudmFsdWVJbmRleCkudHJpbSgpLFxuICAgICAgICBzdGFydDogMCxcbiAgICAgICAgc3RhcnRWYWx1ZTogc2VwLnZhbHVlSW5kZXgsXG4gICAgICAgIGVuZDogdGV4dC5sZW5ndGgsXG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IENSRUFURURfREFURV9SRUdFWCA9IC9cXHV7Mjc5NX1cXHMqKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KS91O1xuZXhwb3J0IGNvbnN0IERVRV9EQVRFX1JFR0VYID0gLyg/OlxcdXsxRjRDNX18XFx1ezFGNEM2fXxcXHV7MUY1RDN9XFx1e0ZFMEZ9PylcXHMqKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KS91O1xuZXhwb3J0IGNvbnN0IERPTkVfREFURV9SRUdFWCA9IC9cXHV7MjcwNX1cXHMqKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KS91O1xuZXhwb3J0IGNvbnN0IFNDSEVEVUxFRF9EQVRFX1JFR0VYID0gL1tcXHV7MjNGM31cXHV7MjMxQn1dXFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcbmV4cG9ydCBjb25zdCBTVEFSVF9EQVRFX1JFR0VYID0gL1xcdXsxRjZFQn1cXHMqKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KS91O1xuXG5leHBvcnQgY29uc3QgRU1PSklfUkVHRVhFUyA9IFtcbiAgICB7IHJlZ2V4OiBDUkVBVEVEX0RBVEVfUkVHRVgsIGtleTogXCJjcmVhdGVkXCIgfSxcbiAgICB7IHJlZ2V4OiBTVEFSVF9EQVRFX1JFR0VYLCBrZXk6IFwic3RhcnRcIiB9LFxuICAgIHsgcmVnZXg6IFNDSEVEVUxFRF9EQVRFX1JFR0VYLCBrZXk6IFwic2NoZWR1bGVkXCIgfSxcbiAgICB7IHJlZ2V4OiBEVUVfREFURV9SRUdFWCwga2V5OiBcImR1ZVwiIH0sXG4gICAgeyByZWdleDogRE9ORV9EQVRFX1JFR0VYLCBrZXk6IFwiY29tcGxldGlvblwiIH0sXG5dO1xuXG4vKiogUGFyc2Ugc3BlY2lhbCBjb21wbGV0ZWQvZHVlL2RvbmUgdGFzayBmaWVsZHMgd2hpY2ggYXJlIG1hcmtlZCB2aWEgZW1vamkuICovXG5mdW5jdGlvbiBleHRyYWN0U3BlY2lhbFRhc2tGaWVsZHMobGluZTogc3RyaW5nKTogTG9jYWxJbmxpbmVGaWVsZFtdIHtcbiAgICBsZXQgcmVzdWx0czogTG9jYWxJbmxpbmVGaWVsZFtdID0gW107XG5cbiAgICBmb3IgKGxldCB7IHJlZ2V4LCBrZXkgfSBvZiBFTU9KSV9SRUdFWEVTKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gcmVnZXguZXhlYyhsaW5lKTtcbiAgICAgICAgaWYgKCFtYXRjaCkgY29udGludWU7XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHZhbHVlOiBtYXRjaFsxXSxcbiAgICAgICAgICAgIHN0YXJ0OiBtYXRjaC5pbmRleCxcbiAgICAgICAgICAgIHN0YXJ0VmFsdWU6IG1hdGNoLmluZGV4ICsgMSxcbiAgICAgICAgICAgIGVuZDogbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGgsXG4gICAgICAgICAgICB3cmFwcGluZzogXCJlbW9qaS1zaG9ydGhhbmRcIixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG59XG5cbi8qKiBTZXRzIG9yIHJlcGxhY2VzIHRoZSB2YWx1ZSBvZiBhbiBpbmxpbmUgZmllbGQ7IGlmIHRoZSB2YWx1ZSBpcyAndW5kZWZpbmVkJywgZGVsZXRlcyB0aGUga2V5LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldElubGluZUZpZWxkKHNvdXJjZTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBleGlzdGluZyA9IGV4dHJhY3RJbmxpbmVGaWVsZHMoc291cmNlKTtcbiAgICBsZXQgZXhpc3RpbmdLZXlzID0gZXhpc3RpbmcuZmlsdGVyKChmKSA9PiBmLmtleSA9PSBrZXkpO1xuXG4gICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgaWYgdGhlcmUgYXJlIGR1cGxpY2F0ZSBrZXlzIE9SIHRoZSBrZXkgYWxyZWFkeSBkb2Vzbid0IGV4aXN0LlxuICAgIGlmIChleGlzdGluZ0tleXMubGVuZ3RoID4gMiB8fCAoZXhpc3RpbmdLZXlzLmxlbmd0aCA9PSAwICYmICF2YWx1ZSkpIHJldHVybiBzb3VyY2U7XG4gICAgbGV0IGV4aXN0aW5nS2V5ID0gZXhpc3RpbmdLZXlzWzBdO1xuXG4gICAgbGV0IGFubm90YXRpb24gPSB2YWx1ZSA/IGBbJHtrZXl9OjogJHt2YWx1ZX1dYCA6IFwiXCI7XG4gICAgaWYgKGV4aXN0aW5nS2V5KSB7XG4gICAgICAgIGxldCBwcmVmaXggPSBzb3VyY2Uuc3Vic3RyaW5nKDAsIGV4aXN0aW5nS2V5LnN0YXJ0KTtcbiAgICAgICAgbGV0IHN1ZmZpeCA9IHNvdXJjZS5zdWJzdHJpbmcoZXhpc3RpbmdLZXkuZW5kKTtcblxuICAgICAgICBpZiAoYW5ub3RhdGlvbikgcmV0dXJuIGAke3ByZWZpeH0ke2Fubm90YXRpb259JHtzdWZmaXh9YDtcbiAgICAgICAgZWxzZSByZXR1cm4gYCR7cHJlZml4fSR7c3VmZml4LnRyaW1TdGFydCgpfWA7XG4gICAgfSBlbHNlIGlmIChhbm5vdGF0aW9uKSB7XG4gICAgICAgIHJldHVybiBgJHtzb3VyY2UudHJpbUVuZCgpfSAke2Fubm90YXRpb259YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RW1vamlTaG9ydGhhbmRDb21wbGV0aW9uRmllbGQoc291cmNlOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleGlzdGluZyA9IGV4dHJhY3RJbmxpbmVGaWVsZHMoc291cmNlLCB0cnVlKTtcbiAgICBjb25zdCBleGlzdGluZ0tleXMgPSBleGlzdGluZy5maWx0ZXIoKGYpID0+IGYua2V5ID09PSBcImNvbXBsZXRpb25cIiAmJiBmLndyYXBwaW5nID09PSBcImVtb2ppLXNob3J0aGFuZFwiKTtcblxuICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyBPUiB0aGUga2V5IGFscmVhZHkgZG9lc24ndCBleGlzdC5cbiAgICBpZiAoZXhpc3RpbmdLZXlzLmxlbmd0aCA+IDIgfHwgKGV4aXN0aW5nS2V5cy5sZW5ndGggPT0gMCAmJiAhdmFsdWUpKSByZXR1cm4gc291cmNlO1xuXG4gICAgLyogTm8gd3JhcHBlciwgYWRkIG93biBzcGFjaW5nIGF0IHN0YXJ0ICovXG4gICAgY29uc3QgYW5ub3RhdGlvbiA9IHZhbHVlID8gYCBcdTI3MDUgJHt2YWx1ZX1gIDogXCJcIjtcbiAgICBsZXQgZXhpc3RpbmdLZXkgPSBleGlzdGluZ0tleXNbMF07XG4gICAgaWYgKGV4aXN0aW5nS2V5KSB7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHNvdXJjZS5zdWJzdHJpbmcoMCwgZXhpc3RpbmdLZXkuc3RhcnQpO1xuICAgICAgICBjb25zdCBzdWZmaXggPSBzb3VyY2Uuc3Vic3RyaW5nKGV4aXN0aW5nS2V5LmVuZCk7XG4gICAgICAgIHJldHVybiBgJHtwcmVmaXgudHJpbUVuZCgpfSR7YW5ub3RhdGlvbn0ke3N1ZmZpeH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgJHtzb3VyY2UudHJpbUVuZCgpfSR7YW5ub3RhdGlvbn1gO1xuICAgIH1cbn1cbiIsICIvKiogTWFwIHRoZSB2YWx1ZXMgb2YgYW4gb2JqZWN0LCByZXR1cm5pbmcgYSBuZXcgb2JqZWN0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcE9iamVjdFZhbHVlczxWLCBVPihvYmplY3Q6IFJlY29yZDxzdHJpbmcsIFY+LCBmdW5jOiAoeDogVikgPT4gVSk6IFJlY29yZDxzdHJpbmcsIFU+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFU+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqZWN0KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IGZ1bmModmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG4iLCAiaW1wb3J0IHsgTGluaywgSnNvbkxpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IERhdGVUaW1lLCBEdXJhdGlvbiB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgbWFwT2JqZWN0VmFsdWVzIH0gZnJvbSBcInV0aWxzL2RhdGFcIjtcblxuLyoqIEpTT04tc2VyaWFsaXplZCBlcXVpdmFsZW50cyBmb3IgbGl0ZXJhbHMuICovXG5leHBvcnQgdHlwZSBKc29uTGl0ZXJhbCA9XG4gICAgfCBib29sZWFuXG4gICAgfCBudW1iZXJcbiAgICB8IHN0cmluZ1xuICAgIHwgeyAkX3R5cGU6IFwiZGF0ZVwiOyB2YWx1ZTogc3RyaW5nIH1cbiAgICB8IHsgJF90eXBlOiBcImR1cmF0aW9uXCI7IHZhbHVlOiBzdHJpbmcgfVxuICAgIHwgeyAkX3R5cGU6IFwibGlua1wiOyB2YWx1ZTogSnNvbkxpbmsgfVxuICAgIHwgQXJyYXk8SnNvbkxpdGVyYWw+XG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgfCBudWxsO1xuXG5leHBvcnQgbmFtZXNwYWNlIEpzb25Db252ZXJzaW9uIHtcbiAgICBleHBvcnQgY29uc3QgTk9PUF9OT1JNQUxJWkVSOiAoaW5wdXQ6IExpdGVyYWwpID0+IExpdGVyYWwgPSAoaW5wdXQpID0+IGlucHV0O1xuXG4gICAgLyoqIENvbnZlcnQgYSBsaXRlcmFsIHZhbHVlIHRvIGEgc2FmZSwgcGVyc2lzdGVudCBKU09OIGVxdWl2YWxlbnQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGpzb24obGl0ZXJhbDogTGl0ZXJhbCk6IEpzb25MaXRlcmFsIHtcbiAgICAgICAgY29uc3Qgd3JhcHBlZCA9IExpdGVyYWxzLndyYXBWYWx1ZShsaXRlcmFsKTtcbiAgICAgICAgaWYgKCF3cmFwcGVkKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBzd2l0Y2ggKHdyYXBwZWQ/LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm1hcChKc29uQ29udmVyc2lvbi5qc29uKTtcbiAgICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwT2JqZWN0VmFsdWVzKHdyYXBwZWQudmFsdWUsIEpzb25Db252ZXJzaW9uLmpzb24pO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyAkX3R5cGU6IFwiZGF0ZVwiLCB2YWx1ZTogd3JhcHBlZC52YWx1ZS50b0lTTyh7IGV4dGVuZGVkWm9uZTogdHJ1ZSwgaW5jbHVkZU9mZnNldDogdHJ1ZSB9KSB9O1xuICAgICAgICAgICAgY2FzZSBcImxpbmtcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyAkX3R5cGU6IFwibGlua1wiLCB2YWx1ZTogd3JhcHBlZC52YWx1ZS50b09iamVjdCgpIH07XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyAkX3R5cGU6IFwiZHVyYXRpb25cIiwgdmFsdWU6IHdyYXBwZWQudmFsdWUudG9JU08oKSB9O1xuICAgICAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnQgYSBKU09OIGxpdGVyYWwgdG8gaXQncyBjb3JyZXNwb25kaW5nIGh5ZHJhdGVkIHZhbHVlLCBvcHRpb25hbGx5IGFwcGx5aW5nXG4gICAgICogYSBub3JtYWxpemF0aW9uIHN0ZXAgdG8gdGhlIHJlc3VsdGluZyB2YWx1ZSBhbmQgYW55IGxpdGVyYWxzIGNvbnRhaW5lZCB3aXRoaW4gaXRcbiAgICAgKiAoc3VjaCBhcyBpZiB0aGUgbGl0ZXJhbCBpcyBhIGxpc3Qgb3Igb2JqZWN0KS5cbiAgICAgKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWUoanNvbjogSnNvbkxpdGVyYWwsIG5vcm1hbGl6ZXI6IChpbnB1dDogTGl0ZXJhbCkgPT4gTGl0ZXJhbCA9IE5PT1BfTk9STUFMSVpFUik6IExpdGVyYWwge1xuICAgICAgICBpZiAoanNvbiA9PT0gbnVsbCB8fCBqc29uID09PSB1bmRlZmluZWQpIHJldHVybiBudWxsO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGpzb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplcihqc29uLm1hcCgoaW5wdXQpID0+IEpzb25Db252ZXJzaW9uLnZhbHVlKGlucHV0LCBub3JtYWxpemVyKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBqc29uID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoIShcIiRfdHlwZVwiIGluIGpzb24pKVxuICAgICAgICAgICAgICAgIHJldHVybiBtYXBPYmplY3RWYWx1ZXMoanNvbiwgKHYpID0+IEpzb25Db252ZXJzaW9uLnZhbHVlKHYgYXMgSnNvbkxpdGVyYWwsIG5vcm1hbGl6ZXIpKTtcblxuICAgICAgICAgICAgY29uc3QgdHlwZSA9IGpzb25bXCIkX3R5cGVcIl07XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiZGF0ZVwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplcihEYXRlVGltZS5mcm9tSVNPKGpzb24udmFsdWUpKTtcbiAgICAgICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoRHVyYXRpb24uZnJvbUlTTyhqc29uLnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgY2FzZSBcImxpbmtcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoTGluay5mcm9tT2JqZWN0KGpzb24udmFsdWUpKTtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBzZXJpYWxpemVkIHR5cGUgJyR7dHlwZX0nIWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJpbWl0aXZlIHR5cGUsIHJldHVybiBhcyBpcy5cbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoanNvbiBhcyBMaXRlcmFsKTtcbiAgICB9XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGluZGV4YWJsZXNcbiAqL1xuaW1wb3J0IHsgTGluaywgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBnZXRGaWxlVGl0bGUgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7XG4gICAgRklMRV9UWVBFLFxuICAgIEZpbGUsXG4gICAgSW5kZXhhYmxlLFxuICAgIExJTktBQkxFX1RZUEUsXG4gICAgTElOS0JFQVJJTkdfVFlQRSxcbiAgICBMaW5rYWJsZSxcbiAgICBMaW5rYmVhcmluZyxcbiAgICBUQUdHQUJMRV9UWVBFLFxuICAgIFRhZ2dhYmxlLFxufSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXhhYmxlXCI7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHtcbiAgICBFeHRyYWN0b3JzLFxuICAgIEZJRUxEQkVBUklOR19UWVBFLFxuICAgIEZpZWxkLFxuICAgIEZpZWxkRXh0cmFjdG9yLFxuICAgIEZpZWxkYmVhcmluZyxcbiAgICBGaWVsZGJlYXJpbmdzLFxufSBmcm9tIFwiLi4vLi4vZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgSW5saW5lRmllbGQsIGpzb25JbmxpbmVGaWVsZCwgdmFsdWVJbmxpbmVGaWVsZCB9IGZyb20gXCJpbmRleC9pbXBvcnQvaW5saW5lLWZpZWxkXCI7XG5pbXBvcnQge1xuICAgIExpbmVTcGFuLFxuICAgIEpzb25NYXJrZG93blBhZ2UsXG4gICAgSnNvbk1hcmtkb3duU2VjdGlvbixcbiAgICBKc29uTWFya2Rvd25CbG9jayxcbiAgICBKc29uTWFya2Rvd25MaXN0QmxvY2ssXG4gICAgSnNvbk1hcmtkb3duTGlzdEl0ZW0sXG4gICAgSnNvbk1hcmtkb3duVGFza0l0ZW0sXG4gICAgSnNvbk1hcmtkb3duRGF0YWJsb2NrIGFzIEpzb25NYXJrZG93bkRhdGFibG9jayxcbiAgICBKc29uTWFya2Rvd25Db2RlYmxvY2ssXG4gICAgSnNvbkZyb250bWF0dGVyRW50cnksXG59IGZyb20gXCIuL2pzb24vbWFya2Rvd25cIjtcbmltcG9ydCB7IG1hcE9iamVjdFZhbHVlcyB9IGZyb20gXCJ1dGlscy9kYXRhXCI7XG5pbXBvcnQgeyBKc29uQ29udmVyc2lvbiB9IGZyb20gXCIuL2pzb24vY29tbW9uXCI7XG5cbi8qKiBBIG1hcmtkb3duIGZpbGUgaW4gdGhlIHZhdWx0OyB0aGUgc291cmNlIG9mIG1vc3QgbWV0YWRhdGEuICovXG5leHBvcnQgY2xhc3MgTWFya2Rvd25QYWdlIGltcGxlbWVudHMgRmlsZSwgTGlua2JlYXJpbmcsIFRhZ2dhYmxlLCBJbmRleGFibGUsIEZpZWxkYmVhcmluZyB7XG4gICAgLyoqIEFsbCBvZiB0aGUgdHlwZXMgdGhhdCBhIG1hcmtkb3duIGZpbGUgaXMuICovXG4gICAgc3RhdGljIFRZUEVTID0gW0ZJTEVfVFlQRSwgXCJtYXJrZG93blwiLCBcInBhZ2VcIiwgVEFHR0FCTEVfVFlQRSwgTElOS0FCTEVfVFlQRSwgTElOS0JFQVJJTkdfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgLy8gVXNlIHN0YXRpYyB0eXBlcyBmb3IgYWxsIG1hcmtkb3duIGZpbGVzLlxuICAgICR0eXBlczogc3RyaW5nW10gPSBNYXJrZG93blBhZ2UuVFlQRVM7XG4gICAgJHR5cGVuYW1lOiBzdHJpbmcgPSBcIlBhZ2VcIjtcblxuICAgIC8vIE1hcmtkb3duIGZpbGUgSURzIGFyZSBhbHdheXMganVzdCB0aGUgZnVsbCBwYXRoLlxuICAgIGdldCAkaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiRwYXRoO1xuICAgIH1cbiAgICAvLyBUaGUgZmlsZSBvZiBhIGZpbGUgaXMuLi4gaXQncyBmaWxlLlxuICAgIGdldCAkZmlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBhdGg7XG4gICAgfVxuXG4gICAgLyoqIEZyb250bWF0dGVyIHZhbHVlcyBpbiB0aGUgZmlsZSwgaWYgcHJlc2VudC4gTWFwcyBsb3dlciBjYXNlIGZyb250bWF0dGVyIGtleSAtPiBlbnRyeS4gKi9cbiAgICAkZnJvbnRtYXR0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5PjtcbiAgICAvKiogTWFwIG9mIGFsbCBkaXN0aW5jdCBpbmxpbmUgZmllbGRzIGluIHRoZSBkb2N1bWVudC4gTWFwcyBsb3dlciBjYXNlIGtleSBuYW1lIC0+IGZ1bGwgbWV0YWRhdGEuICovXG4gICAgJGluZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVGaWVsZD47XG5cbiAgICAvKiogVGhlIHBhdGggdGhpcyBmaWxlIGV4aXN0cyBhdC4gKi9cbiAgICAkcGF0aDogc3RyaW5nO1xuICAgIC8qKiBPYnNpZGlhbi1wcm92aWRlZCBkYXRlIHRoaXMgcGFnZSB3YXMgY3JlYXRlZC4gKi9cbiAgICAkY3RpbWU6IERhdGVUaW1lO1xuICAgIC8qKiBPYnNpZGlhbi1wcm92aWRlZCBkYXRlIHRoaXMgcGFnZSB3YXMgbW9kaWZpZWQuICovXG4gICAgJG10aW1lOiBEYXRlVGltZTtcbiAgICAvKiogVGhlIGV4dGVuc2lvbjsgZm9yIG1hcmtkb3duIGZpbGVzLCBhbG1vc3QgYWx3YXlzICcubWQnLiAqL1xuICAgICRleHRlbnNpb246IHN0cmluZztcbiAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgc2l6ZSBvZiB0aGlzIHBhZ2UgaW4gYnl0ZXMuICovXG4gICAgJHNpemU6IG51bWJlciA9IDA7XG4gICAgLyoqIFRoZSBmdWxsIGV4dGVudCBvZiB0aGUgZmlsZSAoc3RhcnQgMCwgZW5kIHRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhlIGZpbGUuKSAqL1xuICAgICRwb3NpdGlvbjogTGluZVNwYW47XG4gICAgLyoqIFRoZSBleGFjdCB0YWdzIGluIHRoZSBmaWxlLiAqL1xuICAgICR0YWdzOiBzdHJpbmdbXTtcbiAgICAvKiogQWxsIGxpbmtzIGluIHRoZSBmaWxlLiAqL1xuICAgICRsaW5rczogTGlua1tdO1xuICAgIC8qKlxuICAgICAqIEFsbCBjaGlsZCBtYXJrZG93biBzZWN0aW9ucyBvZiB0aGlzIG1hcmtkb3duIGZpbGUuIFRoZSBpbml0aWFsIHNlY3Rpb24gYmVmb3JlIGFueSBjb250ZW50IGlzIHNwZWNpYWwgYW5kIGlzXG4gICAgICogbmFtZWQgd2l0aCB0aGUgdGl0bGUgb2YgdGhlIGZpbGUuXG4gICAgICovXG4gICAgJHNlY3Rpb25zOiBNYXJrZG93blNlY3Rpb25bXSA9IFtdO1xuXG4gICAgLyoqIENyZWF0ZSBhIG1hcmtkb3duIGZpbGUgZnJvbSB0aGUgZ2l2ZW4gcmF3IHZhbHVlcy4gKi9cbiAgICBzdGF0aWMgZnJvbShyYXc6IEpzb25NYXJrZG93blBhZ2UsIG5vcm1hbGl6ZXI6IExpbmtOb3JtYWxpemVyID0gTk9PUF9OT1JNQUxJWkVSKTogTWFya2Rvd25QYWdlIHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbnMgPSByYXcuJHNlY3Rpb25zLm1hcCgoc2VjdCkgPT4gTWFya2Rvd25TZWN0aW9uLmZyb20oc2VjdCwgcmF3LiRwYXRoLCBub3JtYWxpemVyKSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBNYXJrZG93blBhZ2Uoe1xuICAgICAgICAgICAgJHBhdGg6IHJhdy4kcGF0aCxcbiAgICAgICAgICAgICRmcm9udG1hdHRlcjogcmF3LiRmcm9udG1hdHRlclxuICAgICAgICAgICAgICAgID8gbWFwT2JqZWN0VmFsdWVzKHJhdy4kZnJvbnRtYXR0ZXIsIChmbSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVGcm9udG1hdHRlckVudHJ5KGZtKSwgbm9ybWFsaXplcikpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhyYXcuJGluZmllbGRzLCAoZmllbGQpID0+IG5vcm1hbGl6ZUxpbmtzKHZhbHVlSW5saW5lRmllbGQoZmllbGQpLCBub3JtYWxpemVyKSksXG4gICAgICAgICAgICAkY3RpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMocmF3LiRjdGltZSksXG4gICAgICAgICAgICAkbXRpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMocmF3LiRtdGltZSksXG4gICAgICAgICAgICAkZXh0ZW5zaW9uOiByYXcuJGV4dGVuc2lvbixcbiAgICAgICAgICAgICRzaXplOiByYXcuJHNpemUsXG4gICAgICAgICAgICAkcG9zaXRpb246IHJhdy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkdGFnczogcmF3LiR0YWdzLFxuICAgICAgICAgICAgJGxpbmtzOiByYXcuJGxpbmtzLm1hcCgobGluaykgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobGluaykpKSxcbiAgICAgICAgICAgICRzZWN0aW9uczogc2VjdGlvbnMsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoaW5pdDogUGFydGlhbDxNYXJrZG93blBhZ2U+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoZSBkb2N1bWVudC4gKi9cbiAgICBnZXQgJGxpbmVDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBvc2l0aW9uLmVuZDtcbiAgICB9XG5cbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIGZpbGUuICovXG4gICAgZ2V0ICRuYW1lKCkge1xuICAgICAgICByZXR1cm4gZ2V0RmlsZVRpdGxlKHRoaXMuJHBhdGgpO1xuICAgIH1cblxuICAgIC8qKiBBIGxpbmsgdG8gdGhpcyBmaWxlLiAqL1xuICAgIGdldCAkbGluaygpIHtcbiAgICAgICAgcmV0dXJuIExpbmsuZmlsZSh0aGlzLiRwYXRoKTtcbiAgICB9XG5cbiAgICAvKiogQWxsIG9mIHRoZSBpbmRleGVkIGZpZWxkcyBpbiB0aGlzIG9iamVjdC4gKi9cbiAgICBnZXQgZmllbGRzKCk6IEZpZWxkW10ge1xuICAgICAgICByZXR1cm4gTWFya2Rvd25QYWdlLkZJRUxEX0RFRih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHRoZSBmdWxsIGZpZWxkIGRlZmluaXRpb24gZm9yIHRoZSBnaXZlbiBmaWVsZC4gKi9cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpOiBGaWVsZCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBNYXJrZG93blBhZ2UuRklFTERfREVGKHRoaXMsIGtleSk/LlswXTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHRoZSB2YWx1ZSBmb3IgdGhlIGdpdmVuIGZpZWxkLiAqL1xuICAgIHB1YmxpYyB2YWx1ZShrZXk6IHN0cmluZyk6IExpdGVyYWwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZChrZXkpPy52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIHBhZ2UgaW50byBpdCdzIHBhcnRpYWwgcmVwcmVzZW50YXRpb24gZm9yIHNhdmluZy4gKi9cbiAgICBwdWJsaWMganNvbigpOiBKc29uTWFya2Rvd25QYWdlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRwYXRoOiB0aGlzLiRwYXRoLFxuICAgICAgICAgICAgJGZyb250bWF0dGVyOiB0aGlzLiRmcm9udG1hdHRlciA/IG1hcE9iamVjdFZhbHVlcyh0aGlzLiRmcm9udG1hdHRlciwganNvbkZyb250bWF0dGVyRW50cnkpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgJGluZmllbGRzOiBtYXBPYmplY3RWYWx1ZXModGhpcy4kaW5maWVsZHMsIGpzb25JbmxpbmVGaWVsZCksXG4gICAgICAgICAgICAkY3RpbWU6IHRoaXMuJGN0aW1lLnRvTWlsbGlzKCksXG4gICAgICAgICAgICAkbXRpbWU6IHRoaXMuJG10aW1lLnRvTWlsbGlzKCksXG4gICAgICAgICAgICAkZXh0ZW5zaW9uOiB0aGlzLiRleHRlbnNpb24sXG4gICAgICAgICAgICAkc2l6ZTogdGhpcy4kc2l6ZSxcbiAgICAgICAgICAgICRwb3NpdGlvbjogdGhpcy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkdGFnczogdGhpcy4kdGFncyxcbiAgICAgICAgICAgICRsaW5rczogdGhpcy4kbGlua3MubWFwKChsaW5rKSA9PiBsaW5rLnRvT2JqZWN0KCkpLFxuICAgICAgICAgICAgJHNlY3Rpb25zOiB0aGlzLiRzZWN0aW9ucy5tYXAoKHNlY3QpID0+IHNlY3QuanNvbigpKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBGSUVMRF9ERUY6IEZpZWxkRXh0cmFjdG9yPE1hcmtkb3duUGFnZT4gPSBFeHRyYWN0b3JzLm1lcmdlKFxuICAgICAgICBFeHRyYWN0b3JzLmludHJpbnNpY3MoKSxcbiAgICAgICAgRXh0cmFjdG9ycy5mcm9udG1hdHRlcigoZikgPT4gZi4kZnJvbnRtYXR0ZXIpLFxuICAgICAgICBFeHRyYWN0b3JzLmlubGluZUZpZWxkcygoZikgPT4gZi4kaW5maWVsZHMpXG4gICAgKTtcbn1cblxuZXhwb3J0IGNsYXNzIE1hcmtkb3duU2VjdGlvbiBpbXBsZW1lbnRzIEluZGV4YWJsZSwgVGFnZ2FibGUsIExpbmthYmxlLCBMaW5rYmVhcmluZywgRmllbGRiZWFyaW5nIHtcbiAgICAvKiogQWxsIG9mIHRoZSB0eXBlcyB0aGF0IGEgbWFya2Rvd24gc2VjdGlvbiBpcy4gKi9cbiAgICBzdGF0aWMgVFlQRVMgPSBbXCJtYXJrZG93blwiLCBcInNlY3Rpb25cIiwgVEFHR0FCTEVfVFlQRSwgTElOS0FCTEVfVFlQRSwgTElOS0JFQVJJTkdfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgLyoqIFBhdGggb2YgdGhlIGZpbGUgdGhhdCB0aGlzIHNlY3Rpb24gaXMgaW4uICovXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IE1hcmtkb3duU2VjdGlvbi5UWVBFUztcbiAgICAkdHlwZW5hbWU6IHN0cmluZyA9IFwiU2VjdGlvblwiO1xuICAgICRpZDogc3RyaW5nO1xuICAgICRmaWxlOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIGluZGV4IG9mIHRoaXMgc2VjdGlvbiBpbiB0aGUgZmlsZS4gKi9cbiAgICAkb3JkaW5hbDogbnVtYmVyO1xuICAgIC8qKiBUaGUgdGl0bGUgb2YgdGhlIHNlY3Rpb247IHRoZSByb290IChpbXBsaWNpdCkgc2VjdGlvbiB3aWxsIGhhdmUgdGhlIHRpdGxlIG9mIHRoZSBwYWdlLiAqL1xuICAgICR0aXRsZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgaW5kZW50YXRpb24gbGV2ZWwgb2YgdGhlIHNlY3Rpb24gKDEgLSA2KS4gKi9cbiAgICAkbGV2ZWw6IG51bWJlcjtcbiAgICAvKiogVGhlIHNwYW4gb2YgbGluZXMgaW5kaWNhdGluZyB0aGUgcG9zaXRpb24gb2YgdGhlIHNlY3Rpb24uICovXG4gICAgJHBvc2l0aW9uOiBMaW5lU3BhbjtcbiAgICAvKiogQWxsIHRhZ3Mgb24gdGhlIGZpbGUuICovXG4gICAgJHRhZ3M6IHN0cmluZ1tdO1xuICAgIC8qKiBBbGwgbGlua3MgaW4gdGhlIGZpbGUuICovXG4gICAgJGxpbmtzOiBMaW5rW107XG4gICAgLyoqIEFsbCBvZiB0aGUgbWFya2Rvd24gYmxvY2tzIGluIHRoaXMgc2VjdGlvbi4gKi9cbiAgICAkYmxvY2tzOiBNYXJrZG93bkJsb2NrW107XG4gICAgLyoqIE1hcCBvZiBhbGwgZGlzdGluY3QgaW5saW5lIGZpZWxkcyBpbiB0aGUgZG9jdW1lbnQsIGZyb20ga2V5IG5hbWUgLT4gbWV0YWRhdGEuICovXG4gICAgJGluZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVGaWVsZD47XG5cbiAgICAvKiogQ29udmVydCByYXcgbWFya2Rvd24gc2VjdGlvbiBkYXRhIHRvIHRoZSBhcHByb3ByaWF0ZSBjbGFzcy4gKi9cbiAgICBzdGF0aWMgZnJvbShyYXc6IEpzb25NYXJrZG93blNlY3Rpb24sIGZpbGU6IHN0cmluZywgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVIpOiBNYXJrZG93blNlY3Rpb24ge1xuICAgICAgICBjb25zdCBibG9ja3MgPSByYXcuJGJsb2Nrcy5tYXAoKGJsb2NrKSA9PiBNYXJrZG93bkJsb2NrLmZyb20oYmxvY2ssIGZpbGUsIG5vcm1hbGl6ZXIpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBNYXJrZG93blNlY3Rpb24oe1xuICAgICAgICAgICAgJGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAkaWQ6IE1hcmtkb3duU2VjdGlvbi5yZWFkYWJsZUlkKGZpbGUsIHJhdy4kdGl0bGUsIHJhdy4kb3JkaW5hbCksXG4gICAgICAgICAgICAkb3JkaW5hbDogcmF3LiRvcmRpbmFsLFxuICAgICAgICAgICAgJHRpdGxlOiByYXcuJHRpdGxlLFxuICAgICAgICAgICAgJGxldmVsOiByYXcuJGxldmVsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiByYXcuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJHRhZ3M6IHJhdy4kdGFncyxcbiAgICAgICAgICAgICRsaW5rczogcmF3LiRsaW5rcy5tYXAoKGwpID0+IG5vcm1hbGl6ZXIoTGluay5mcm9tT2JqZWN0KGwpKSksXG4gICAgICAgICAgICAkYmxvY2tzOiBibG9ja3MsXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhyYXcuJGluZmllbGRzLCAoaSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVJbmxpbmVGaWVsZChpKSwgbm9ybWFsaXplcikpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGluaXQ6IFBhcnRpYWw8TWFya2Rvd25TZWN0aW9uPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gdGhlIG51bWJlciBvZiBsaW5lcyBpbiB0aGUgc2VjdGlvbi4gKi9cbiAgICBnZXQgJGxpbmVDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy4kcG9zaXRpb24uZW5kIC0gdGhpcy4kcG9zaXRpb24uc3RhcnQ7XG4gICAgfVxuXG4gICAgLyoqIEFsaWFzIGZvciB0aXRsZSB3aGljaCBhbGxvd3Mgc2VhcmNoaW5nIG92ZXIgcGFnZXMgYW5kIHNlY3Rpb25zIGJ5ICduYW1lJy4gKi9cbiAgICBnZXQgJG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHRpdGxlO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBsaW5rIHRvIHRoaXMgc2VjdGlvbi4gKi9cbiAgICBnZXQgJGxpbmsoKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmhlYWRlcih0aGlzLiRmaWxlLCB0aGlzLiR0aXRsZSk7XG4gICAgfVxuXG4gICAgLyoqIEFsbCBvZiB0aGUgaW5kZXhlZCBmaWVsZHMgaW4gdGhpcyBvYmplY3QuICovXG4gICAgZ2V0IGZpZWxkcygpOiBGaWVsZFtdIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duU2VjdGlvbi5GSUVMRF9ERUYodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIEZldGNoIGEgc3BlY2lmaWMgZmllbGQgYnkga2V5LiAqL1xuICAgIHB1YmxpYyBmaWVsZChrZXk6IHN0cmluZyk6IEZpZWxkIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duU2VjdGlvbi5GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdID8/IEZpZWxkYmVhcmluZ3MuZ2V0V2l0aERlZmF1bHQodGhpcywga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWUoa2V5OiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoa2V5KT8udmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbk1hcmtkb3duU2VjdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy4kb3JkaW5hbCxcbiAgICAgICAgICAgICR0aXRsZTogdGhpcy4kdGl0bGUsXG4gICAgICAgICAgICAkbGV2ZWw6IHRoaXMuJGxldmVsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB0aGlzLiRwb3NpdGlvbixcbiAgICAgICAgICAgICR0YWdzOiB0aGlzLiR0YWdzLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLiRsaW5rcy5tYXAoKGxpbmspID0+IGxpbmsudG9PYmplY3QoKSksXG4gICAgICAgICAgICAkYmxvY2tzOiB0aGlzLiRibG9ja3MubWFwKChibG9jaykgPT4gYmxvY2suanNvbigpKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKHRoaXMuJGluZmllbGRzLCBqc29uSW5saW5lRmllbGQpLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIEZJRUxEX0RFRjogRmllbGRFeHRyYWN0b3I8TWFya2Rvd25TZWN0aW9uPiA9IEV4dHJhY3RvcnMubWVyZ2UoXG4gICAgICAgIEV4dHJhY3RvcnMuaW50cmluc2ljcygpLFxuICAgICAgICBFeHRyYWN0b3JzLmlubGluZUZpZWxkcygoZikgPT4gZi4kaW5maWVsZHMpXG4gICAgKTtcblxuICAgIC8qKiBHZW5lcmF0ZSBhIHJlYWRhYmxlIElEIGZvciB0aGlzIHNlY3Rpb24gdXNpbmcgdGhlIGZpcnN0IDggY2hhcmFjdGVycyBvZiB0aGUgc3RyaW5nIGFuZCB0aGUgb3JkaW5hbC4gKi9cbiAgICBzdGF0aWMgcmVhZGFibGVJZChmaWxlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9yZGluYWw6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpcnN0OCA9IHRpdGxlLnN1YnN0cmluZygwLCBNYXRoLm1pbih0aXRsZS5sZW5ndGgsIDgpKS5yZXBsYWNlKC9bXkEtWmEtejAtOS1fXSsvZ2ksIFwiLVwiKTtcblxuICAgICAgICByZXR1cm4gYCR7ZmlsZX0vc2VjdGlvbiR7b3JkaW5hbH0vJHtmaXJzdDh9YDtcbiAgICB9XG59XG5cbi8qKiBCYXNlIGNsYXNzIGZvciBhbGwgbWFya2Rvd24gYmxvY2tzLiAqL1xuZXhwb3J0IGNsYXNzIE1hcmtkb3duQmxvY2sgaW1wbGVtZW50cyBJbmRleGFibGUsIExpbmtiZWFyaW5nLCBUYWdnYWJsZSwgRmllbGRiZWFyaW5nIHtcbiAgICBzdGF0aWMgVFlQRVMgPSBbXCJtYXJrZG93blwiLCBcImJsb2NrXCIsIExJTktCRUFSSU5HX1RZUEUsIFRBR0dBQkxFX1RZUEUsIEZJRUxEQkVBUklOR19UWVBFXTtcblxuICAgICR0eXBlczogc3RyaW5nW10gPSBNYXJrZG93bkJsb2NrLlRZUEVTO1xuICAgICR0eXBlbmFtZTogc3RyaW5nID0gXCJCbG9ja1wiO1xuICAgICRpZDogc3RyaW5nO1xuICAgICRmaWxlOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIGluZGV4IG9mIHRoaXMgYmxvY2sgaW4gdGhlIGZpbGUuICovXG4gICAgJG9yZGluYWw6IG51bWJlcjtcbiAgICAvKiogVGhlIHBvc2l0aW9uL2V4dGVudCBvZiB0aGUgYmxvY2suICovXG4gICAgJHBvc2l0aW9uOiBMaW5lU3BhbjtcbiAgICAvKiogQWxsIHRhZ3Mgb24gdGhlIGJsb2NrLiAqL1xuICAgICR0YWdzOiBzdHJpbmdbXTtcbiAgICAvKiogQWxsIGxpbmtzIGluIHRoZSBmaWxlLiAqL1xuICAgICRsaW5rczogTGlua1tdO1xuICAgIC8qKiBNYXAgb2YgYWxsIGRpc3RpbmN0IGlubGluZSBmaWVsZHMgaW4gdGhlIGRvY3VtZW50LCBmcm9tIGtleSBuYW1lIC0+IG1ldGFkYXRhLiAqL1xuICAgICRpbmZpZWxkczogUmVjb3JkPHN0cmluZywgSW5saW5lRmllbGQ+O1xuICAgIC8qKiBJZiBwcmVzZW50LCB0aGUgZGlzdGluY3QgYmxvY2sgSUQgZm9yIHRoaXMgYmxvY2suICovXG4gICAgJGJsb2NrSWQ/OiBzdHJpbmc7XG4gICAgLyoqIFRoZSB0eXBlIG9mIGJsb2NrIC0gcGFyYWdyYXBoLCBsaXN0LCBhbmQgc28gb24uICovXG4gICAgJHR5cGU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tKG9iamVjdDogSnNvbk1hcmtkb3duQmxvY2ssIGZpbGU6IHN0cmluZywgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVIpOiBNYXJrZG93bkJsb2NrIHtcbiAgICAgICAgaWYgKG9iamVjdC4kdHlwZSA9PT0gXCJsaXN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXJrZG93bkxpc3RCbG9jay5mcm9tKG9iamVjdCBhcyBKc29uTWFya2Rvd25MaXN0QmxvY2ssIGZpbGUsIG5vcm1hbGl6ZXIpO1xuICAgICAgICB9IGVsc2UgaWYgKG9iamVjdC4kdHlwZSA9PT0gXCJkYXRhYmxvY2tcIikge1xuICAgICAgICAgICAgcmV0dXJuIE1hcmtkb3duRGF0YWJsb2NrLmZyb20ob2JqZWN0IGFzIEpzb25NYXJrZG93bkRhdGFibG9jaywgZmlsZSwgbm9ybWFsaXplcik7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqZWN0LiR0eXBlID09PSBcImNvZGVibG9ja1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gTWFya2Rvd25Db2RlYmxvY2suZnJvbShvYmplY3QgYXMgSnNvbk1hcmtkb3duQ29kZWJsb2NrLCBmaWxlLCBub3JtYWxpemVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgTWFya2Rvd25CbG9jayh7XG4gICAgICAgICAgICAkZmlsZTogZmlsZSxcbiAgICAgICAgICAgICRpZDogTWFya2Rvd25CbG9jay5yZWFkYWJsZUlkKGZpbGUsIG9iamVjdC4kb3JkaW5hbCksXG4gICAgICAgICAgICAkb3JkaW5hbDogb2JqZWN0LiRvcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiBvYmplY3QuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJHRhZ3M6IG9iamVjdC4kdGFncyxcbiAgICAgICAgICAgICRsaW5rczogb2JqZWN0LiRsaW5rcy5tYXAoKGwpID0+IG5vcm1hbGl6ZXIoTGluay5mcm9tT2JqZWN0KGwpKSksXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhvYmplY3QuJGluZmllbGRzLCAoaSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVJbmxpbmVGaWVsZChpKSwgbm9ybWFsaXplcikpLFxuICAgICAgICAgICAgJGJsb2NrSWQ6IG9iamVjdC4kYmxvY2tJZCxcbiAgICAgICAgICAgICR0eXBlOiBvYmplY3QuJHR5cGUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPE1hcmtkb3duQmxvY2s+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgfVxuXG4gICAgLyoqIElmIHRoaXMgYmxvY2sgaGFzIGEgYmxvY2sgSUQsIHRoZSBsaW5rIHRvIHRoaXMgYmxvY2suICovXG4gICAgZ2V0ICRsaW5rKCk6IExpbmsgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodGhpcy4kYmxvY2tJZCkgcmV0dXJuIExpbmsuYmxvY2sodGhpcy4kZmlsZSwgdGhpcy4kYmxvY2tJZCk7XG4gICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQWxsIG9mIHRoZSBpbmRleGVkIGZpZWxkcyBpbiB0aGlzIG9iamVjdC4gKi9cbiAgICBnZXQgZmllbGRzKCkge1xuICAgICAgICByZXR1cm4gTWFya2Rvd25CbG9jay5GSUVMRF9ERUYodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIEZldGNoIGEgc3BlY2lmaWMgZmllbGQgYnkga2V5LiAqL1xuICAgIHB1YmxpYyBmaWVsZChrZXk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gTWFya2Rvd25CbG9jay5GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdID8/IEZpZWxkYmVhcmluZ3MuZ2V0V2l0aERlZmF1bHQodGhpcywga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWUoa2V5OiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoa2V5KT8udmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbk1hcmtkb3duQmxvY2sge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJG9yZGluYWw6IHRoaXMuJG9yZGluYWwsXG4gICAgICAgICAgICAkcG9zaXRpb246IHRoaXMuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJHRhZ3M6IHRoaXMuJHRhZ3MsXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMuJGxpbmtzLm1hcCgobCkgPT4gbC50b09iamVjdCgpKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKHRoaXMuJGluZmllbGRzLCBqc29uSW5saW5lRmllbGQpLFxuICAgICAgICAgICAgJGJsb2NrSWQ6IHRoaXMuJGJsb2NrSWQsXG4gICAgICAgICAgICAkdHlwZTogdGhpcy4kdHlwZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgRklFTERfREVGOiBGaWVsZEV4dHJhY3RvcjxNYXJrZG93bkJsb2NrPiA9IEV4dHJhY3RvcnMubWVyZ2UoXG4gICAgICAgIEV4dHJhY3RvcnMuaW50cmluc2ljcygpLFxuICAgICAgICBFeHRyYWN0b3JzLmlubGluZUZpZWxkcygoZikgPT4gZi4kaW5maWVsZHMpXG4gICAgKTtcblxuICAgIC8qKiBHZW5lcmF0ZSBhIHJlYWRhYmxlIElEIGZvciB0aGlzIGJsb2NrIHVzaW5nIHRoZSBvcmRpbmFsIG9mIHRoZSBibG9jay4gKi9cbiAgICBzdGF0aWMgcmVhZGFibGVJZChmaWxlOiBzdHJpbmcsIG9yZGluYWw6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtmaWxlfS9ibG9jayR7b3JkaW5hbH1gO1xuICAgIH1cbn1cblxuLyoqIFNwZWNpYWwgYmxvY2sgZm9yIG1hcmtkb3duIGxpc3RzIChvZiBlaXRoZXIgcGxhaW4gbGlzdCBlbnRyaWVzIG9yIHRhc2tzKS4gKi9cbmV4cG9ydCBjbGFzcyBNYXJrZG93bkxpc3RCbG9jayBleHRlbmRzIE1hcmtkb3duQmxvY2sgaW1wbGVtZW50cyBUYWdnYWJsZSwgTGlua2JlYXJpbmcge1xuICAgIHN0YXRpYyBUWVBFUyA9IFtcIm1hcmtkb3duXCIsIFwiYmxvY2tcIiwgXCJibG9jay1saXN0XCIsIFRBR0dBQkxFX1RZUEUsIExJTktCRUFSSU5HX1RZUEVdO1xuXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IE1hcmtkb3duTGlzdEJsb2NrLlRZUEVTO1xuICAgICR0eXBlbmFtZTogc3RyaW5nID0gXCJMaXN0IEJsb2NrXCI7XG5cbiAgICAvKiogVGhlIGxpc3QgaXRlbXMgaW5zaWRlIG9mIHRoaXMgYmxvY2suICovXG4gICAgJGVsZW1lbnRzOiBNYXJrZG93bkxpc3RJdGVtW107XG5cbiAgICAvKiogQ3JlYXRlIGEgbGlzdCBibG9jayBmcm9tIGEgc2VyaWFsaXplZCB2YWx1ZS4gKi9cbiAgICBzdGF0aWMgZnJvbShcbiAgICAgICAgb2JqZWN0OiBKc29uTWFya2Rvd25MaXN0QmxvY2ssXG4gICAgICAgIGZpbGU6IHN0cmluZyxcbiAgICAgICAgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVJcbiAgICApOiBNYXJrZG93bkxpc3RCbG9jayB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gb2JqZWN0LiRlbGVtZW50cy5tYXAoKGVsZW0pID0+IE1hcmtkb3duTGlzdEl0ZW0uZnJvbShlbGVtLCBmaWxlLCBub3JtYWxpemVyKSk7XG4gICAgICAgIHJldHVybiBuZXcgTWFya2Rvd25MaXN0QmxvY2soe1xuICAgICAgICAgICAgLy8gVE9ETzogVGhpcyBpcyBzaGFyZWQgd2l0aCBvdGhlciBibG9ja3MsIHNob3VsZCBwcm9iYWJseSBiZSBmaXhlZC5cbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiBNYXJrZG93bkJsb2NrLnJlYWRhYmxlSWQoZmlsZSwgb2JqZWN0LiRvcmRpbmFsKSxcbiAgICAgICAgICAgICRvcmRpbmFsOiBvYmplY3QuJG9yZGluYWwsXG4gICAgICAgICAgICAkcG9zaXRpb246IG9iamVjdC4kcG9zaXRpb24sXG4gICAgICAgICAgICAkdGFnczogb2JqZWN0LiR0YWdzLFxuICAgICAgICAgICAgJGxpbmtzOiBvYmplY3QuJGxpbmtzLm1hcCgobCkgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobCkpKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKG9iamVjdC4kaW5maWVsZHMsIChpKSA9PiBub3JtYWxpemVMaW5rcyh2YWx1ZUlubGluZUZpZWxkKGkpLCBub3JtYWxpemVyKSksXG4gICAgICAgICAgICAkYmxvY2tJZDogb2JqZWN0LiRibG9ja0lkLFxuICAgICAgICAgICAgJGVsZW1lbnRzOiBlbGVtZW50cyxcbiAgICAgICAgICAgICR0eXBlOiBcImxpc3RcIixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbk1hcmtkb3duTGlzdEJsb2NrIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkZWxlbWVudHM6IHRoaXMuJGVsZW1lbnRzLm1hcCgoZWxlbSkgPT4gZWxlbS5qc29uKCkpLFxuICAgICAgICB9KSBhcyBKc29uTWFya2Rvd25MaXN0QmxvY2s7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGluaXQ6IFBhcnRpYWw8TWFya2Rvd25MaXN0QmxvY2s+KSB7XG4gICAgICAgIHN1cGVyKGluaXQpO1xuICAgIH1cbn1cblxuLyoqIEEgYmxvY2sgY29udGFpbmluZyBtYXJrZG93biBjb2RlLiAqL1xuZXhwb3J0IGNsYXNzIE1hcmtkb3duQ29kZWJsb2NrIGV4dGVuZHMgTWFya2Rvd25CbG9jayBpbXBsZW1lbnRzIEluZGV4YWJsZSwgRmllbGRiZWFyaW5nLCBMaW5rYmVhcmluZyB7XG4gICAgc3RhdGljIFRZUEVTID0gW1wibWFya2Rvd25cIiwgXCJibG9ja1wiLCBcImNvZGVibG9ja1wiLCBUQUdHQUJMRV9UWVBFLCBMSU5LQkVBUklOR19UWVBFLCBGSUVMREJFQVJJTkdfVFlQRV07XG5cbiAgICAkdHlwZXM6IHN0cmluZ1tdID0gTWFya2Rvd25Db2RlYmxvY2suVFlQRVM7XG4gICAgJGxhbmd1YWdlczogc3RyaW5nW107XG4gICAgJGNvbnRlbnRQb3NpdGlvbjogeyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9O1xuICAgICRzdHlsZTogXCJmZW5jZWRcIiB8IFwiaW5kZW50XCI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdDogUGFydGlhbDxNYXJrZG93bkNvZGVibG9jaz4pIHtcbiAgICAgICAgc3VwZXIoaW5pdCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGZyb20oXG4gICAgICAgIG9iamVjdDogSnNvbk1hcmtkb3duQ29kZWJsb2NrLFxuICAgICAgICBmaWxlOiBzdHJpbmcsXG4gICAgICAgIG5vcm1hbGl6ZXI6IExpbmtOb3JtYWxpemVyID0gTk9PUF9OT1JNQUxJWkVSXG4gICAgKTogTWFya2Rvd25Db2RlYmxvY2sge1xuICAgICAgICByZXR1cm4gbmV3IE1hcmtkb3duQ29kZWJsb2NrKHtcbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiBNYXJrZG93bkNvZGVibG9jay5yZWFkYWJsZUlkKGZpbGUsIG9iamVjdC4kcG9zaXRpb24uc3RhcnQpLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiBvYmplY3QuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJG9yZGluYWw6IG9iamVjdC4kb3JkaW5hbCxcbiAgICAgICAgICAgICR0eXBlbmFtZTogXCJDb2RlYmxvY2tcIixcbiAgICAgICAgICAgICR0eXBlOiBcImNvZGVibG9ja1wiLFxuICAgICAgICAgICAgJGJsb2NrSWQ6IG9iamVjdC4kYmxvY2tJZCxcbiAgICAgICAgICAgICRsYW5ndWFnZXM6IG9iamVjdC4kbGFuZ3VhZ2VzLFxuICAgICAgICAgICAgJGxpbmtzOiBvYmplY3QuJGxpbmtzLm1hcCgobGluaykgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobGluaykpKSxcbiAgICAgICAgICAgICR0YWdzOiBvYmplY3QuJHRhZ3MsXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhvYmplY3QuJGluZmllbGRzLCB2YWx1ZUlubGluZUZpZWxkKSxcbiAgICAgICAgICAgICRjb250ZW50UG9zaXRpb246IG9iamVjdC4kY29udGVudFBvc2l0aW9uLFxuICAgICAgICAgICAgJHN0eWxlOiBvYmplY3QuJHN0eWxlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQWxsIG9mIHRoZSBpbmRleGVkIGZpZWxkcyBpbiB0aGlzIG9iamVjdC4gKi9cbiAgICBnZXQgZmllbGRzKCkge1xuICAgICAgICByZXR1cm4gTWFya2Rvd25Db2RlYmxvY2suU1VCX0ZJRUxEX0RFRih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogRmV0Y2ggYSBzcGVjaWZpYyBmaWVsZCBieSBrZXkuICovXG4gICAgcHVibGljIGZpZWxkKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBNYXJrZG93bkNvZGVibG9jay5TVUJfRklFTERfREVGKHRoaXMsIGtleSk/LlswXSA/PyBGaWVsZGJlYXJpbmdzLmdldFdpdGhEZWZhdWx0KHRoaXMsIGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbHVlKGtleTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKGtleSk/LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25NYXJrZG93bkNvZGVibG9jayB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN1cGVyLmpzb24oKSwge1xuICAgICAgICAgICAgJGxhbmd1YWdlczogdGhpcy4kbGFuZ3VhZ2VzLFxuICAgICAgICAgICAgJGNvbnRlbnRQb3NpdGlvbjogdGhpcy4kY29udGVudFBvc2l0aW9uLFxuICAgICAgICAgICAgJHN0eWxlOiB0aGlzLiRzdHlsZSxcbiAgICAgICAgfSkgYXMgSnNvbk1hcmtkb3duQ29kZWJsb2NrO1xuICAgIH1cblxuICAgIHN0YXRpYyByZWFkYWJsZUlkKGZpbGU6IHN0cmluZywgbGluZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2ZpbGV9L2NvZGVibG9jayR7bGluZX1gO1xuICAgIH1cblxuICAgIHN0YXRpYyBTVUJfRklFTERfREVGOiBGaWVsZEV4dHJhY3RvcjxNYXJrZG93bkNvZGVibG9jaz4gPSBFeHRyYWN0b3JzLm1lcmdlPE1hcmtkb3duQ29kZWJsb2NrPihcbiAgICAgICAgTWFya2Rvd25CbG9jay5GSUVMRF9ERUZcbiAgICApO1xufVxuXG4vKiogQSBkYXRhLWFubm90YXRlZCBZQU1MIGNvZGVibG9jay4gKi9cbmV4cG9ydCBjbGFzcyBNYXJrZG93bkRhdGFibG9jayBleHRlbmRzIE1hcmtkb3duQmxvY2sgaW1wbGVtZW50cyBJbmRleGFibGUsIEZpZWxkYmVhcmluZywgTGlua2JlYXJpbmcge1xuICAgIHN0YXRpYyBUWVBFUyA9IFtcIm1hcmtkb3duXCIsIFwiYmxvY2tcIiwgXCJkYXRhYmxvY2tcIiwgVEFHR0FCTEVfVFlQRSwgTElOS0JFQVJJTkdfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IE1hcmtkb3duRGF0YWJsb2NrLlRZUEVTO1xuICAgICRkYXRhOiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5PjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPE1hcmtkb3duRGF0YWJsb2NrPikge1xuICAgICAgICBzdXBlcihpbml0KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZnJvbShcbiAgICAgICAgb2JqZWN0OiBKc29uTWFya2Rvd25EYXRhYmxvY2ssXG4gICAgICAgIGZpbGU6IHN0cmluZyxcbiAgICAgICAgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVJcbiAgICApOiBNYXJrZG93bkRhdGFibG9jayB7XG4gICAgICAgIC8vIERhdGFibG9ja3MgYXJlIGJhc2VkIG9uIHdoYXQgaXMgZXNzZW50aWFsbHkganVzdCBmcm9udG1hdHRlcjsgd2UgY2FuIGFwcGx5XG4gICAgICAgIC8vIHRoZSBzYW1lIG5vcm1hbGl6YXRpb24gbG9naWMgdG8gdGhlbS5cbiAgICAgICAgY29uc3Qgbm9ybWRhdGEgPSBub3JtYWxpemVMaW5rcyhtYXBPYmplY3RWYWx1ZXMob2JqZWN0LiRkYXRhLCB2YWx1ZUZyb250bWF0dGVyRW50cnkpLCBub3JtYWxpemVyKTtcbiAgICAgICAgY29uc3QgbGlua3MgPSBnYXRoZXJMaW5rcyhub3JtZGF0YSk7XG4gICAgICAgIGNvbnN0IHRhZ3MgPSBnYXRoZXJUYWdzKG5vcm1kYXRhKTtcblxuICAgICAgICByZXR1cm4gbmV3IE1hcmtkb3duRGF0YWJsb2NrKHtcbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiBNYXJrZG93bkRhdGFibG9jay5yZWFkYWJsZUlkKGZpbGUsIG9iamVjdC4kcG9zaXRpb24uc3RhcnQpLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiBvYmplY3QuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJGluZmllbGRzOiB7fSxcbiAgICAgICAgICAgICRvcmRpbmFsOiBvYmplY3QuJG9yZGluYWwsXG4gICAgICAgICAgICAkZGF0YTogbm9ybWRhdGEsXG4gICAgICAgICAgICAkbGlua3M6IGxpbmtzLFxuICAgICAgICAgICAgJHR5cGVuYW1lOiBcIkRhdGFibG9ja1wiLFxuICAgICAgICAgICAgJHRhZ3M6IHRhZ3MsXG4gICAgICAgICAgICAkdHlwZTogXCJkYXRhYmxvY2tcIixcbiAgICAgICAgICAgICRibG9ja0lkOiBvYmplY3QuJGJsb2NrSWQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBBbGwgb2YgdGhlIGluZGV4ZWQgZmllbGRzIGluIHRoaXMgb2JqZWN0LiAqL1xuICAgIGdldCBmaWVsZHMoKSB7XG4gICAgICAgIHJldHVybiBNYXJrZG93bkRhdGFibG9jay5TVUJfRklFTERfREVGKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKiBGZXRjaCBhIHNwZWNpZmljIGZpZWxkIGJ5IGtleS4gKi9cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duRGF0YWJsb2NrLlNVQl9GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdID8/IEZpZWxkYmVhcmluZ3MuZ2V0V2l0aERlZmF1bHQodGhpcywga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWUoa2V5OiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoa2V5KT8udmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbk1hcmtkb3duRGF0YWJsb2NrIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkZGF0YTogbWFwT2JqZWN0VmFsdWVzKHRoaXMuJGRhdGEsIGpzb25Gcm9udG1hdHRlckVudHJ5KSxcbiAgICAgICAgfSkgYXMgSnNvbk1hcmtkb3duRGF0YWJsb2NrO1xuICAgIH1cblxuICAgIHN0YXRpYyByZWFkYWJsZUlkKGZpbGU6IHN0cmluZywgbGluZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2ZpbGV9L2RhdGFibG9jayR7bGluZX1gO1xuICAgIH1cblxuICAgIHN0YXRpYyBTVUJfRklFTERfREVGOiBGaWVsZEV4dHJhY3RvcjxNYXJrZG93bkRhdGFibG9jaz4gPSBFeHRyYWN0b3JzLm1lcmdlPE1hcmtkb3duRGF0YWJsb2NrPihcbiAgICAgICAgTWFya2Rvd25CbG9jay5GSUVMRF9ERUYsXG4gICAgICAgIEV4dHJhY3RvcnMuZnJvbnRtYXR0ZXIoKGYpID0+IGYuJGRhdGEpXG4gICAgKTtcbn1cblxuLyoqIEEgc3BlY2lmaWMgbGlzdCBpdGVtIGluIGEgbGlzdC4gKi9cbmV4cG9ydCBjbGFzcyBNYXJrZG93bkxpc3RJdGVtIGltcGxlbWVudHMgSW5kZXhhYmxlLCBMaW5rYmVhcmluZywgVGFnZ2FibGUsIEZpZWxkYmVhcmluZyB7XG4gICAgc3RhdGljIFRZUEVTID0gW1wibWFya2Rvd25cIiwgXCJsaXN0LWl0ZW1cIiwgTElOS0JFQVJJTkdfVFlQRSwgVEFHR0FCTEVfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IE1hcmtkb3duTGlzdEl0ZW0uVFlQRVM7XG4gICAgJHR5cGVuYW1lOiBzdHJpbmcgPSBcIkxpc3QgSXRlbVwiO1xuICAgICRpZDogc3RyaW5nO1xuICAgICRmaWxlOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSBsaXN0IGl0ZW0gaW4gdGhlIGZpbGUuICovXG4gICAgJHBvc2l0aW9uOiBMaW5lU3BhbjtcbiAgICAvKiogQ2hpbGQgZWxlbWVudHMgb2YgdGhpcyBsaXN0IGl0ZW0uICovXG4gICAgJGVsZW1lbnRzOiBNYXJrZG93bkxpc3RJdGVtW107XG4gICAgLyoqIFRoZSB0eXBlIG9mIGxpc3QgaXRlbSB0aGF0IHRoaXMgZWxlbWVudCBpcy4gKi9cbiAgICAkdHlwZTogc3RyaW5nO1xuICAgIC8qKiBFeGFjdCB0YWdzIG9uIHRoaXMgbGlzdCBpdGVtLiAqL1xuICAgICR0YWdzOiBzdHJpbmdbXTtcbiAgICAvKiogTWFwIG9mIGFsbCBkaXN0aW5jdCBpbmxpbmUgZmllbGRzIGluIHRoZSBkb2N1bWVudCwgZnJvbSBrZXkgbmFtZSAtPiBtZXRhZGF0YS4gKi9cbiAgICAkaW5maWVsZHM6IFJlY29yZDxzdHJpbmcsIElubGluZUZpZWxkPjtcbiAgICAvKiogQWxsIGxpbmtzIGluIHRoZSBmaWxlLiAqL1xuICAgICRsaW5rczogTGlua1tdO1xuICAgIC8qKiBUaGUgYmxvY2sgSUQgb2YgdGhpcyBsaXN0IGl0ZW0gaWYgcHJlc2VudC4gKi9cbiAgICAkYmxvY2tJZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbGluZSBudW1iZXIgb2YgdGhlIHBhcmVudCBvZiB0aGlzIGxpc3QgaXRlbS5cbiAgICAgKiBJZiBhIHBvc2l0aXZlIG51bWJlciwgdGhlbiB0aGlzIGxpc3QgZWxlbWVudCBpcyBhIGNoaWxkXG4gICAgICogb2YgdGhlIGxpc3QgZWxlbWVudCBhdCB0aGF0IGxpbmUuXG4gICAgICpcbiAgICAgKiBJZiBhIG5lZ2F0aXZlIG51bWJlciwgdGhlbiB0aGlzIGxpc3QgZWxlbWVudCBpcyBhIHJvb3QgZWxlbWVudFxuICAgICAqIG9mIGEgbGlzdCBzdGFydGluZyBhdCB0aGF0IGxpbmUgKG5lZ2F0ZWQpLiBJLmUuLCAtNyBtZWFuc1xuICAgICAqIHRoaXMgaXMgYSByb290IGVsZW1lbnQgb2YgdGhlIGxpc3Qgc3RhcnRpbmcgYXQgbGluZSA3LlxuICAgICAqL1xuICAgICRwYXJlbnRMaW5lOiBudW1iZXI7XG4gICAgLyoqIFRoZSBtYXJrZXIgdXNlZCB0byBzdGFydCB0aGUgbGlzdCBpdGVtIChzdWNoIGFzIC0gb3IgKyBvciAqKS4gT24gYSBtYWxmb3JtZWQgdGFzaywgbWF5IGJlIHVuZGVmaW5lZC4gKi9cbiAgICAkc3ltYm9sPzogc3RyaW5nO1xuICAgIC8qKiBUaGUgdGV4dCBjb250ZW50cyBvZiB0aGUgbGlzdCBpdGVtLiAqL1xuICAgICR0ZXh0Pzogc3RyaW5nO1xuXG4gICAgLyoqIENyZWF0ZSBhIGxpc3QgaXRlbSBmcm9tIGEgc2VyaWFsaXplZCBvYmplY3QuICovXG4gICAgc3RhdGljIGZyb20oXG4gICAgICAgIG9iamVjdDogSnNvbk1hcmtkb3duTGlzdEl0ZW0sXG4gICAgICAgIGZpbGU6IHN0cmluZyxcbiAgICAgICAgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVJcbiAgICApOiBNYXJrZG93bkxpc3RJdGVtIHtcbiAgICAgICAgaWYgKG9iamVjdC4kdHlwZSA9PT0gXCJ0YXNrXCIpIHJldHVybiBNYXJrZG93blRhc2tJdGVtLmZyb20ob2JqZWN0IGFzIEpzb25NYXJrZG93blRhc2tJdGVtLCBmaWxlLCBub3JtYWxpemVyKTtcblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IG9iamVjdC4kZWxlbWVudHMubWFwKChlbGVtKSA9PiBNYXJrZG93bkxpc3RJdGVtLmZyb20oZWxlbSwgZmlsZSwgbm9ybWFsaXplcikpO1xuICAgICAgICByZXR1cm4gbmV3IE1hcmtkb3duTGlzdEl0ZW0oe1xuICAgICAgICAgICAgJGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAkaWQ6IE1hcmtkb3duTGlzdEl0ZW0ucmVhZGFibGVJZChmaWxlLCBvYmplY3QuJHBvc2l0aW9uLnN0YXJ0KSxcbiAgICAgICAgICAgICRwb3NpdGlvbjogb2JqZWN0LiRwb3NpdGlvbixcbiAgICAgICAgICAgICRlbGVtZW50czogZWxlbWVudHMsXG4gICAgICAgICAgICAkdHlwZTogb2JqZWN0LiR0eXBlLFxuICAgICAgICAgICAgJHRhZ3M6IG9iamVjdC4kdGFncyxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKG9iamVjdC4kaW5maWVsZHMsIChpKSA9PiBub3JtYWxpemVMaW5rcyh2YWx1ZUlubGluZUZpZWxkKGkpLCBub3JtYWxpemVyKSksXG4gICAgICAgICAgICAkbGlua3M6IG9iamVjdC4kbGlua3MubWFwKChsKSA9PiBub3JtYWxpemVyKExpbmsuZnJvbU9iamVjdChsKSkpLFxuICAgICAgICAgICAgJGJsb2NrSWQ6IG9iamVjdC4kYmxvY2tJZCxcbiAgICAgICAgICAgICRwYXJlbnRMaW5lOiBvYmplY3QuJHBhcmVudExpbmUsXG4gICAgICAgICAgICAkdGV4dDogb2JqZWN0LiR0ZXh0LFxuICAgICAgICAgICAgJHN5bWJvbDogb2JqZWN0LiRzeW1ib2wsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPE1hcmtkb3duTGlzdEl0ZW0+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgfVxuXG4gICAgLyoqIEdldCB0aGUgbGluZSB0aGF0IHRoaXMgbGlzdCBpdGVtIHN0YXJ0cyBvbi4gKi9cbiAgICBnZXQgJGxpbmUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBvc2l0aW9uLnN0YXJ0O1xuICAgIH1cblxuICAgIC8qKiBUaGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoaXMgbGlzdCBpdGVtLiAqL1xuICAgIGdldCAkbGluZUNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLiRwb3NpdGlvbi5lbmQgLSB0aGlzLiRwb3NpdGlvbi5zdGFydCArIDE7XG4gICAgfVxuXG4gICAgLyoqIENsZWFuZWQgdGV4dCB0aGF0IGlzIGdhcmF1bnRlZWQgdG8gYmUgbm9uLW51bGwgYW5kIGhhcyBpbmRlbmF0aW9uIGFuZCBpbmxpbmUgZmllbGRzIHJlbW92ZWQuICovXG4gICAgZ2V0ICRjbGVhbnRleHQoKSB7XG4gICAgICAgIGlmICghdGhpcy4kdGV4dCkgcmV0dXJuIFwiXCI7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuJHRleHRcbiAgICAgICAgICAgICAgICAvLyBFbGltaW5hdGUgW2tleTo6IHZhbHVlXSBhbm5vdGF0aW9ucy5cbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvKC4qPykoW1xcW1xcKF1bXjooXFxbXSs6OlxccyouKj9bXFxdXFwpXVxccyopJC9nbSwgXCIkMVwiKVxuICAgICAgICAgICAgICAgIC8vIFRyaW0gd2hpdGVzcGFjZS5cbiAgICAgICAgICAgICAgICAudHJpbSgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEFsbCBvZiB0aGUgaW5kZXhlZCBmaWVsZHMgaW4gdGhpcyBvYmplY3QuICovXG4gICAgZ2V0IGZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duTGlzdEl0ZW0uRklFTERfREVGKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKiBGZXRjaCBhIHNwZWNpZmljIGZpZWxkIGJ5IGtleS4gKi9cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duTGlzdEl0ZW0uRklFTERfREVGKHRoaXMsIGtleSk/LlswXSA/PyBGaWVsZGJlYXJpbmdzLmdldFdpdGhEZWZhdWx0KHRoaXMsIGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbHVlKGtleTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKGtleSk/LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25NYXJrZG93bkxpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRwb3NpdGlvbjogdGhpcy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkZWxlbWVudHM6IHRoaXMuJGVsZW1lbnRzLm1hcCgoZWxlbSkgPT4gZWxlbS5qc29uKCkpLFxuICAgICAgICAgICAgJHR5cGU6IHRoaXMuJHR5cGUsXG4gICAgICAgICAgICAkdGFnczogdGhpcy4kdGFncyxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKHRoaXMuJGluZmllbGRzLCBqc29uSW5saW5lRmllbGQpLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLiRsaW5rcyxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLiRibG9ja0lkLFxuICAgICAgICAgICAgJHBhcmVudExpbmU6IHRoaXMuJHBhcmVudExpbmUsXG4gICAgICAgICAgICAkc3ltYm9sOiB0aGlzLiRzeW1ib2wsXG4gICAgICAgICAgICAkdGV4dDogdGhpcy4kdGV4dCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBGSUVMRF9ERUY6IEZpZWxkRXh0cmFjdG9yPE1hcmtkb3duTGlzdEl0ZW0+ID0gRXh0cmFjdG9ycy5tZXJnZShcbiAgICAgICAgRXh0cmFjdG9ycy5pbnRyaW5zaWNzKCksXG4gICAgICAgIEV4dHJhY3RvcnMuaW5saW5lRmllbGRzKChmKSA9PiBmLiRpbmZpZWxkcylcbiAgICApO1xuXG4gICAgLyoqIEdlbmVyYXRlIGEgcmVhZGFibGUgSUQgZm9yIHRoaXMgaXRlbSB1c2luZyB0aGUgbGluZSBudW1iZXIuICovXG4gICAgc3RhdGljIHJlYWRhYmxlSWQoZmlsZTogc3RyaW5nLCBsaW5lOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7ZmlsZX0vbGlzdCR7bGluZX1gO1xuICAgIH1cbn1cblxuLyoqIEEgc3BlY2lmaWMgdGFzayBpbnNpZGUgb2YgYSBtYXJrZG93biBsaXN0LiAqL1xuZXhwb3J0IGNsYXNzIE1hcmtkb3duVGFza0l0ZW0gZXh0ZW5kcyBNYXJrZG93bkxpc3RJdGVtIGltcGxlbWVudHMgSW5kZXhhYmxlLCBMaW5rYmVhcmluZywgVGFnZ2FibGUsIEZpZWxkYmVhcmluZyB7XG4gICAgc3RhdGljIFRZUEVTID0gW1wibWFya2Rvd25cIiwgXCJsaXN0LWl0ZW1cIiwgXCJ0YXNrXCIsIExJTktCRUFSSU5HX1RZUEUsIFRBR0dBQkxFX1RZUEUsIEZJRUxEQkVBUklOR19UWVBFXTtcblxuICAgICR0eXBlczogc3RyaW5nW10gPSBNYXJrZG93blRhc2tJdGVtLlRZUEVTO1xuICAgICR0eXBlbmFtZTogc3RyaW5nID0gXCJUYXNrXCI7XG5cbiAgICAvKiogVGhlIHRleHQgaW5zaWRlIG9mIHRoZSB0YXNrIGl0ZW0uICovXG4gICAgJHN0YXR1czogc3RyaW5nO1xuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tKG9iamVjdDogSnNvbk1hcmtkb3duVGFza0l0ZW0sIGZpbGU6IHN0cmluZywgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIpOiBNYXJrZG93blRhc2tJdGVtIHtcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBvYmplY3QuJGVsZW1lbnRzLm1hcCgoZWxlbSkgPT4gTWFya2Rvd25MaXN0SXRlbS5mcm9tKGVsZW0sIGZpbGUsIG5vcm1hbGl6ZXIpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBNYXJrZG93blRhc2tJdGVtKHtcbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiBNYXJrZG93bkxpc3RJdGVtLnJlYWRhYmxlSWQoZmlsZSwgb2JqZWN0LiRwb3NpdGlvbi5zdGFydCksXG4gICAgICAgICAgICAkcG9zaXRpb246IG9iamVjdC4kcG9zaXRpb24sXG4gICAgICAgICAgICAkZWxlbWVudHM6IGVsZW1lbnRzLFxuICAgICAgICAgICAgJHR5cGU6IG9iamVjdC4kdHlwZSxcbiAgICAgICAgICAgICR0YWdzOiBvYmplY3QuJHRhZ3MsXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhvYmplY3QuJGluZmllbGRzLCAoaSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVJbmxpbmVGaWVsZChpKSwgbm9ybWFsaXplcikpLFxuICAgICAgICAgICAgJGxpbmtzOiBvYmplY3QuJGxpbmtzLm1hcCgobCkgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobCkpKSxcbiAgICAgICAgICAgICRibG9ja0lkOiBvYmplY3QuJGJsb2NrSWQsXG4gICAgICAgICAgICAkcGFyZW50TGluZTogb2JqZWN0LiRwYXJlbnRMaW5lLFxuICAgICAgICAgICAgJHN0YXR1czogb2JqZWN0LiRzdGF0dXMsXG4gICAgICAgICAgICAkc3ltYm9sOiBvYmplY3QuJHN5bWJvbCxcbiAgICAgICAgICAgICR0ZXh0OiBvYmplY3QuJHRleHQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPE1hcmtkb3duVGFza0l0ZW0+KSB7XG4gICAgICAgIHN1cGVyKGluaXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25NYXJrZG93bkxpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkc3RhdHVzOiB0aGlzLiRzdGF0dXMsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIHRhc2sgaXMgY29tcGxldGVkLiAqL1xuICAgIHB1YmxpYyBnZXQgJGNvbXBsZXRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHN0YXR1cyA9PT0gXCJ4XCIgfHwgdGhpcy4kc3RhdHVzID09PSBcIlhcIjtcbiAgICB9XG59XG5cbi8qKiBBbiBlbnRyeSBpbiB0aGUgZnJvbnRtYXR0ZXI7IGluY2x1ZGVzIHRoZSByYXcgdmFsdWUsIHBhcnNlZCB2YWx1ZSwgYW5kIHJhdyBrZXkgKGJlZm9yZSBsb3dlci1jYXNpbmcpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGcm9udG1hdHRlckVudHJ5IHtcbiAgICAvKiogVGhlIGFjdHVhbCBzdHJpbmcgaW4gZnJvbnRtYXR0ZXIgd2l0aCBleGFjdCBjYXNpbmcuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFRoZSBwYXJzZWQgdmFsdWUgb2YgdGhlIGZyb250bWF0dGVyIGVudHJ5IChkYXRlLCBkdXJhdGlvbiwgZXRjLikuICovXG4gICAgdmFsdWU6IExpdGVyYWw7XG4gICAgLyoqIFRoZSByYXcgdmFsdWUgb2YgdGhlIGZyb250bWF0dGVyIGVudHJ5IGJlZm9yZSBwYXJzaW5nOyBnZW5lcmFsbHkgYSBzdHJpbmcgb3IgbnVtYmVyLiAqL1xuICAgIHJhdzogc3RyaW5nO1xufVxuXG4vKiogQ29udmVydCBhIHJlZ3VsYXIgZnJvbnRtYXR0ZXIgZW50cnkgaW50byBhIEpTT04gZnJvbnRtYXR0ZXIgZW50cnkuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqc29uRnJvbnRtYXR0ZXJFbnRyeShyYXc6IEZyb250bWF0dGVyRW50cnkpOiBKc29uRnJvbnRtYXR0ZXJFbnRyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiByYXcua2V5LFxuICAgICAgICB2YWx1ZTogSnNvbkNvbnZlcnNpb24uanNvbihyYXcudmFsdWUpLFxuICAgICAgICByYXc6IHJhdy5yYXcsXG4gICAgfTtcbn1cblxuLyoqIENvbnZlcnQgYSBqc29uIGZyb250bWF0dGVyIGVudHJ5IHRvIGEgcmVndWxhciBmcm9udG1hdHRlciBlbnRyeS5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlRnJvbnRtYXR0ZXJFbnRyeShyYXc6IEpzb25Gcm9udG1hdHRlckVudHJ5KTogRnJvbnRtYXR0ZXJFbnRyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiByYXcua2V5LFxuICAgICAgICB2YWx1ZTogSnNvbkNvbnZlcnNpb24udmFsdWUocmF3LnZhbHVlKSxcbiAgICAgICAgcmF3OiByYXcucmF3LFxuICAgIH07XG59XG5cbi8qKiBOb3JtYWxpemUgbGlua3MgZGVlcGx5IGluIHRoZSBvYmplY3QuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVMaW5rczxUIGV4dGVuZHMgTGl0ZXJhbD4oaW5wdXQ6IFQsIG5vcm1hbGl6ZXI6IExpbmtOb3JtYWxpemVyKTogVCB7XG4gICAgcmV0dXJuIExpdGVyYWxzLm1hcExlYXZlcyhpbnB1dCwgKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChMaXRlcmFscy5pc0xpbmsodmFsdWUpKSByZXR1cm4gbm9ybWFsaXplcih2YWx1ZSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIHZhbHVlO1xuICAgIH0pIGFzIFQ7XG59XG5cbi8qKiBSZWN1cnNpdmVseSBnYXRoZXIgbGlua3MgZnJvbSBhIGxpdGVyYWwgb2JqZWN0LlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2F0aGVyTGlua3MoaW5wdXQ6IExpdGVyYWwpOiBMaW5rW10ge1xuICAgIGNvbnN0IHJlc3VsdDogTGlua1tdID0gW107XG5cbiAgICBMaXRlcmFscy5tYXBMZWF2ZXMoaW5wdXQsICh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAoTGl0ZXJhbHMuaXNMaW5rKHZhbHVlKSkgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKiBHYXRoZXIgdGFncyBmcm9tIGEgZGF0YWJsb2NrLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2F0aGVyVGFncyhkYXRhOiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5Pik6IHN0cmluZ1tdIHtcbiAgICBmdW5jdGlvbiByZWN1cnNlKGlucHV0OiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgICAgIGlmIChMaXRlcmFscy5pc1N0cmluZyhpbnB1dCkpIHJldHVybiBbaW5wdXQuc3RhcnRzV2l0aChcIiNcIikgPyBpbnB1dCA6IFwiI1wiICsgaW5wdXRdO1xuICAgICAgICBlbHNlIGlmIChMaXRlcmFscy5pc0FycmF5KGlucHV0KSkgcmV0dXJuIGlucHV0LmZsYXRNYXAocmVjdXJzZSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGxldCB0YWdzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChcInRhZ1wiIGluIGRhdGEpIHRhZ3MgPSB0YWdzLmNvbmNhdChyZWN1cnNlKGRhdGFbXCJ0YWdzXCJdKSk7XG4gICAgaWYgKFwidGFnc1wiIGluIGRhdGEpIHRhZ3MgPSB0YWdzLmNvbmNhdChyZWN1cnNlKGRhdGFbXCJ0YWdzXCJdKSk7XG5cbiAgICByZXR1cm4gdGFncztcbn1cblxuLyoqIEEgbGluayBub3JtYWxpemVyIHdoaWNoIHRha2VzIGluIGEgcmF3IGxpbmsgYW5kIHByb2R1Y2VzIGEgbm9ybWFsaXplZCBsaW5rLiAqL1xuZXhwb3J0IHR5cGUgTGlua05vcm1hbGl6ZXIgPSAobGluazogTGluaykgPT4gTGluaztcbmV4cG9ydCBjb25zdCBOT09QX05PUk1BTElaRVI6IExpbmtOb3JtYWxpemVyID0gKHgpID0+IHg7XG4iLCAiZnVuY3Rpb24gX3R5cGVvZihvKSB7XG4gIFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjtcblxuICByZXR1cm4gX3R5cGVvZiA9IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgU3ltYm9sICYmIFwic3ltYm9sXCIgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA/IGZ1bmN0aW9uIChvKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvO1xuICB9IDogZnVuY3Rpb24gKG8pIHtcbiAgICByZXR1cm4gbyAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBvLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgbyAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2YgbztcbiAgfSwgX3R5cGVvZihvKTtcbn1cbmV4cG9ydCB7IF90eXBlb2YgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiLi90eXBlb2YuanNcIjtcbmZ1bmN0aW9uIHRvUHJpbWl0aXZlKHQsIHIpIHtcbiAgaWYgKFwib2JqZWN0XCIgIT0gX3R5cGVvZih0KSB8fCAhdCkgcmV0dXJuIHQ7XG4gIHZhciBlID0gdFtTeW1ib2wudG9QcmltaXRpdmVdO1xuICBpZiAodm9pZCAwICE9PSBlKSB7XG4gICAgdmFyIGkgPSBlLmNhbGwodCwgciB8fCBcImRlZmF1bHRcIik7XG4gICAgaWYgKFwib2JqZWN0XCIgIT0gX3R5cGVvZihpKSkgcmV0dXJuIGk7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuXCIpO1xuICB9XG4gIHJldHVybiAoXCJzdHJpbmdcIiA9PT0gciA/IFN0cmluZyA6IE51bWJlcikodCk7XG59XG5leHBvcnQgeyB0b1ByaW1pdGl2ZSBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBfdHlwZW9mIGZyb20gXCIuL3R5cGVvZi5qc1wiO1xuaW1wb3J0IHRvUHJpbWl0aXZlIGZyb20gXCIuL3RvUHJpbWl0aXZlLmpzXCI7XG5mdW5jdGlvbiB0b1Byb3BlcnR5S2V5KHQpIHtcbiAgdmFyIGkgPSB0b1ByaW1pdGl2ZSh0LCBcInN0cmluZ1wiKTtcbiAgcmV0dXJuIFwic3ltYm9sXCIgPT0gX3R5cGVvZihpKSA/IGkgOiBpICsgXCJcIjtcbn1cbmV4cG9ydCB7IHRvUHJvcGVydHlLZXkgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgdG9Qcm9wZXJ0eUtleSBmcm9tIFwiLi90b1Byb3BlcnR5S2V5LmpzXCI7XG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSwgciwgdCkge1xuICByZXR1cm4gKHIgPSB0b1Byb3BlcnR5S2V5KHIpKSBpbiBlID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIHIsIHtcbiAgICB2YWx1ZTogdCxcbiAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICBjb25maWd1cmFibGU6ICEwLFxuICAgIHdyaXRhYmxlOiAhMFxuICB9KSA6IGVbcl0gPSB0LCBlO1xufVxuZXhwb3J0IHsgX2RlZmluZVByb3BlcnR5IGFzIGRlZmF1bHQgfTsiLCAiaW1wb3J0IGRlZmluZVByb3BlcnR5IGZyb20gXCIuL2RlZmluZVByb3BlcnR5LmpzXCI7XG5mdW5jdGlvbiBvd25LZXlzKGUsIHIpIHtcbiAgdmFyIHQgPSBPYmplY3Qua2V5cyhlKTtcbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgbyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7XG4gICAgciAmJiAobyA9IG8uZmlsdGVyKGZ1bmN0aW9uIChyKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCByKS5lbnVtZXJhYmxlO1xuICAgIH0pKSwgdC5wdXNoLmFwcGx5KHQsIG8pO1xuICB9XG4gIHJldHVybiB0O1xufVxuZnVuY3Rpb24gX29iamVjdFNwcmVhZDIoZSkge1xuICBmb3IgKHZhciByID0gMTsgciA8IGFyZ3VtZW50cy5sZW5ndGg7IHIrKykge1xuICAgIHZhciB0ID0gbnVsbCAhPSBhcmd1bWVudHNbcl0gPyBhcmd1bWVudHNbcl0gOiB7fTtcbiAgICByICUgMiA/IG93bktleXMoT2JqZWN0KHQpLCAhMCkuZm9yRWFjaChmdW5jdGlvbiAocikge1xuICAgICAgZGVmaW5lUHJvcGVydHkoZSwgciwgdFtyXSk7XG4gICAgfSkgOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHQpKSA6IG93bktleXMoT2JqZWN0KHQpKS5mb3JFYWNoKGZ1bmN0aW9uIChyKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgciwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LCByKSk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGU7XG59XG5leHBvcnQgeyBfb2JqZWN0U3ByZWFkMiBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9hcnJheVdpdGhIb2xlcyhyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHIpKSByZXR1cm4gcjtcbn1cbmV4cG9ydCB7IF9hcnJheVdpdGhIb2xlcyBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChyLCBsKSB7XG4gIHZhciB0ID0gbnVsbCA9PSByID8gbnVsbCA6IFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIFN5bWJvbCAmJiByW1N5bWJvbC5pdGVyYXRvcl0gfHwgcltcIkBAaXRlcmF0b3JcIl07XG4gIGlmIChudWxsICE9IHQpIHtcbiAgICB2YXIgZSxcbiAgICAgIG4sXG4gICAgICBpLFxuICAgICAgdSxcbiAgICAgIGEgPSBbXSxcbiAgICAgIGYgPSAhMCxcbiAgICAgIG8gPSAhMTtcbiAgICB0cnkge1xuICAgICAgaWYgKGkgPSAodCA9IHQuY2FsbChyKSkubmV4dCwgMCA9PT0gbCkge1xuICAgICAgICBpZiAoT2JqZWN0KHQpICE9PSB0KSByZXR1cm47XG4gICAgICAgIGYgPSAhMTtcbiAgICAgIH0gZWxzZSBmb3IgKDsgIShmID0gKGUgPSBpLmNhbGwodCkpLmRvbmUpICYmIChhLnB1c2goZS52YWx1ZSksIGEubGVuZ3RoICE9PSBsKTsgZiA9ICEwKTtcbiAgICB9IGNhdGNoIChyKSB7XG4gICAgICBvID0gITAsIG4gPSByO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIWYgJiYgbnVsbCAhPSB0W1wicmV0dXJuXCJdICYmICh1ID0gdFtcInJldHVyblwiXSgpLCBPYmplY3QodSkgIT09IHUpKSByZXR1cm47XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAobykgdGhyb3cgbjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGE7XG4gIH1cbn1cbmV4cG9ydCB7IF9pdGVyYWJsZVRvQXJyYXlMaW1pdCBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KHIsIGEpIHtcbiAgKG51bGwgPT0gYSB8fCBhID4gci5sZW5ndGgpICYmIChhID0gci5sZW5ndGgpO1xuICBmb3IgKHZhciBlID0gMCwgbiA9IEFycmF5KGEpOyBlIDwgYTsgZSsrKSBuW2VdID0gcltlXTtcbiAgcmV0dXJuIG47XG59XG5leHBvcnQgeyBfYXJyYXlMaWtlVG9BcnJheSBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBhcnJheUxpa2VUb0FycmF5IGZyb20gXCIuL2FycmF5TGlrZVRvQXJyYXkuanNcIjtcbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShyLCBhKSB7XG4gIGlmIChyKSB7XG4gICAgaWYgKFwic3RyaW5nXCIgPT0gdHlwZW9mIHIpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KHIsIGEpO1xuICAgIHZhciB0ID0ge30udG9TdHJpbmcuY2FsbChyKS5zbGljZSg4LCAtMSk7XG4gICAgcmV0dXJuIFwiT2JqZWN0XCIgPT09IHQgJiYgci5jb25zdHJ1Y3RvciAmJiAodCA9IHIuY29uc3RydWN0b3IubmFtZSksIFwiTWFwXCIgPT09IHQgfHwgXCJTZXRcIiA9PT0gdCA/IEFycmF5LmZyb20ocikgOiBcIkFyZ3VtZW50c1wiID09PSB0IHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHQpID8gYXJyYXlMaWtlVG9BcnJheShyLCBhKSA6IHZvaWQgMDtcbiAgfVxufVxuZXhwb3J0IHsgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IGFzIGRlZmF1bHQgfTsiLCAiZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbn1cbmV4cG9ydCB7IF9ub25JdGVyYWJsZVJlc3QgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgYXJyYXlXaXRoSG9sZXMgZnJvbSBcIi4vYXJyYXlXaXRoSG9sZXMuanNcIjtcbmltcG9ydCBpdGVyYWJsZVRvQXJyYXlMaW1pdCBmcm9tIFwiLi9pdGVyYWJsZVRvQXJyYXlMaW1pdC5qc1wiO1xuaW1wb3J0IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IGZyb20gXCIuL3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5LmpzXCI7XG5pbXBvcnQgbm9uSXRlcmFibGVSZXN0IGZyb20gXCIuL25vbkl0ZXJhYmxlUmVzdC5qc1wiO1xuZnVuY3Rpb24gX3NsaWNlZFRvQXJyYXkociwgZSkge1xuICByZXR1cm4gYXJyYXlXaXRoSG9sZXMocikgfHwgaXRlcmFibGVUb0FycmF5TGltaXQociwgZSkgfHwgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkociwgZSkgfHwgbm9uSXRlcmFibGVSZXN0KCk7XG59XG5leHBvcnQgeyBfc2xpY2VkVG9BcnJheSBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHIsIGUpIHtcbiAgaWYgKG51bGwgPT0gcikgcmV0dXJuIHt9O1xuICB2YXIgdCA9IHt9O1xuICBmb3IgKHZhciBuIGluIHIpIGlmICh7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsIG4pKSB7XG4gICAgaWYgKGUuaW5jbHVkZXMobikpIGNvbnRpbnVlO1xuICAgIHRbbl0gPSByW25dO1xuICB9XG4gIHJldHVybiB0O1xufVxuZXhwb3J0IHsgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSBmcm9tIFwiLi9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLmpzXCI7XG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoZSwgdCkge1xuICBpZiAobnVsbCA9PSBlKSByZXR1cm4ge307XG4gIHZhciBvLFxuICAgIHIsXG4gICAgaSA9IG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UoZSwgdCk7XG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO1xuICAgIGZvciAociA9IDA7IHIgPCBzLmxlbmd0aDsgcisrKSBvID0gc1tyXSwgdC5pbmNsdWRlcyhvKSB8fCB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIG8pICYmIChpW29dID0gZVtvXSk7XG4gIH1cbiAgcmV0dXJuIGk7XG59XG5leHBvcnQgeyBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyJztcbmltcG9ydCBfc2xpY2VkVG9BcnJheSBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zbGljZWRUb0FycmF5JztcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0V2l0aG91dFByb3BlcnRpZXMnO1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuXG52YXIgX2V4Y2x1ZGVkID0gW1wiZGVmYXVsdElucHV0VmFsdWVcIiwgXCJkZWZhdWx0TWVudUlzT3BlblwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcImlucHV0VmFsdWVcIiwgXCJtZW51SXNPcGVuXCIsIFwib25DaGFuZ2VcIiwgXCJvbklucHV0Q2hhbmdlXCIsIFwib25NZW51Q2xvc2VcIiwgXCJvbk1lbnVPcGVuXCIsIFwidmFsdWVcIl07XG5mdW5jdGlvbiB1c2VTdGF0ZU1hbmFnZXIoX3JlZikge1xuICB2YXIgX3JlZiRkZWZhdWx0SW5wdXRWYWx1ID0gX3JlZi5kZWZhdWx0SW5wdXRWYWx1ZSxcbiAgICBkZWZhdWx0SW5wdXRWYWx1ZSA9IF9yZWYkZGVmYXVsdElucHV0VmFsdSA9PT0gdm9pZCAwID8gJycgOiBfcmVmJGRlZmF1bHRJbnB1dFZhbHUsXG4gICAgX3JlZiRkZWZhdWx0TWVudUlzT3BlID0gX3JlZi5kZWZhdWx0TWVudUlzT3BlbixcbiAgICBkZWZhdWx0TWVudUlzT3BlbiA9IF9yZWYkZGVmYXVsdE1lbnVJc09wZSA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGRlZmF1bHRNZW51SXNPcGUsXG4gICAgX3JlZiRkZWZhdWx0VmFsdWUgPSBfcmVmLmRlZmF1bHRWYWx1ZSxcbiAgICBkZWZhdWx0VmFsdWUgPSBfcmVmJGRlZmF1bHRWYWx1ZSA9PT0gdm9pZCAwID8gbnVsbCA6IF9yZWYkZGVmYXVsdFZhbHVlLFxuICAgIHByb3BzSW5wdXRWYWx1ZSA9IF9yZWYuaW5wdXRWYWx1ZSxcbiAgICBwcm9wc01lbnVJc09wZW4gPSBfcmVmLm1lbnVJc09wZW4sXG4gICAgcHJvcHNPbkNoYW5nZSA9IF9yZWYub25DaGFuZ2UsXG4gICAgcHJvcHNPbklucHV0Q2hhbmdlID0gX3JlZi5vbklucHV0Q2hhbmdlLFxuICAgIHByb3BzT25NZW51Q2xvc2UgPSBfcmVmLm9uTWVudUNsb3NlLFxuICAgIHByb3BzT25NZW51T3BlbiA9IF9yZWYub25NZW51T3BlbixcbiAgICBwcm9wc1ZhbHVlID0gX3JlZi52YWx1ZSxcbiAgICByZXN0U2VsZWN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZiwgX2V4Y2x1ZGVkKTtcbiAgdmFyIF91c2VTdGF0ZSA9IHVzZVN0YXRlKHByb3BzSW5wdXRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gcHJvcHNJbnB1dFZhbHVlIDogZGVmYXVsdElucHV0VmFsdWUpLFxuICAgIF91c2VTdGF0ZTIgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGUsIDIpLFxuICAgIHN0YXRlSW5wdXRWYWx1ZSA9IF91c2VTdGF0ZTJbMF0sXG4gICAgc2V0U3RhdGVJbnB1dFZhbHVlID0gX3VzZVN0YXRlMlsxXTtcbiAgdmFyIF91c2VTdGF0ZTMgPSB1c2VTdGF0ZShwcm9wc01lbnVJc09wZW4gIT09IHVuZGVmaW5lZCA/IHByb3BzTWVudUlzT3BlbiA6IGRlZmF1bHRNZW51SXNPcGVuKSxcbiAgICBfdXNlU3RhdGU0ID0gX3NsaWNlZFRvQXJyYXkoX3VzZVN0YXRlMywgMiksXG4gICAgc3RhdGVNZW51SXNPcGVuID0gX3VzZVN0YXRlNFswXSxcbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4gPSBfdXNlU3RhdGU0WzFdO1xuICB2YXIgX3VzZVN0YXRlNSA9IHVzZVN0YXRlKHByb3BzVmFsdWUgIT09IHVuZGVmaW5lZCA/IHByb3BzVmFsdWUgOiBkZWZhdWx0VmFsdWUpLFxuICAgIF91c2VTdGF0ZTYgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGU1LCAyKSxcbiAgICBzdGF0ZVZhbHVlID0gX3VzZVN0YXRlNlswXSxcbiAgICBzZXRTdGF0ZVZhbHVlID0gX3VzZVN0YXRlNlsxXTtcbiAgdmFyIG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wc09uQ2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwcm9wc09uQ2hhbmdlKHZhbHVlLCBhY3Rpb25NZXRhKTtcbiAgICB9XG4gICAgc2V0U3RhdGVWYWx1ZSh2YWx1ZSk7XG4gIH0sIFtwcm9wc09uQ2hhbmdlXSk7XG4gIHZhciBvbklucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgdmFyIG5ld1ZhbHVlO1xuICAgIGlmICh0eXBlb2YgcHJvcHNPbklucHV0Q2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBuZXdWYWx1ZSA9IHByb3BzT25JbnB1dENoYW5nZSh2YWx1ZSwgYWN0aW9uTWV0YSk7XG4gICAgfVxuICAgIHNldFN0YXRlSW5wdXRWYWx1ZShuZXdWYWx1ZSAhPT0gdW5kZWZpbmVkID8gbmV3VmFsdWUgOiB2YWx1ZSk7XG4gIH0sIFtwcm9wc09uSW5wdXRDaGFuZ2VdKTtcbiAgdmFyIG9uTWVudU9wZW4gPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wc09uTWVudU9wZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BzT25NZW51T3BlbigpO1xuICAgIH1cbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4odHJ1ZSk7XG4gIH0sIFtwcm9wc09uTWVudU9wZW5dKTtcbiAgdmFyIG9uTWVudUNsb3NlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKCkge1xuICAgIGlmICh0eXBlb2YgcHJvcHNPbk1lbnVDbG9zZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJvcHNPbk1lbnVDbG9zZSgpO1xuICAgIH1cbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4oZmFsc2UpO1xuICB9LCBbcHJvcHNPbk1lbnVDbG9zZV0pO1xuICB2YXIgaW5wdXRWYWx1ZSA9IHByb3BzSW5wdXRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gcHJvcHNJbnB1dFZhbHVlIDogc3RhdGVJbnB1dFZhbHVlO1xuICB2YXIgbWVudUlzT3BlbiA9IHByb3BzTWVudUlzT3BlbiAhPT0gdW5kZWZpbmVkID8gcHJvcHNNZW51SXNPcGVuIDogc3RhdGVNZW51SXNPcGVuO1xuICB2YXIgdmFsdWUgPSBwcm9wc1ZhbHVlICE9PSB1bmRlZmluZWQgPyBwcm9wc1ZhbHVlIDogc3RhdGVWYWx1ZTtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgcmVzdFNlbGVjdFByb3BzKSwge30sIHtcbiAgICBpbnB1dFZhbHVlOiBpbnB1dFZhbHVlLFxuICAgIG1lbnVJc09wZW46IG1lbnVJc09wZW4sXG4gICAgb25DaGFuZ2U6IG9uQ2hhbmdlLFxuICAgIG9uSW5wdXRDaGFuZ2U6IG9uSW5wdXRDaGFuZ2UsXG4gICAgb25NZW51Q2xvc2U6IG9uTWVudUNsb3NlLFxuICAgIG9uTWVudU9wZW46IG9uTWVudU9wZW4sXG4gICAgdmFsdWU6IHZhbHVlXG4gIH0pO1xufVxuXG5leHBvcnQgeyB1c2VTdGF0ZU1hbmFnZXIgYXMgdSB9O1xuIiwgImZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICByZXR1cm4gX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduID8gT2JqZWN0LmFzc2lnbi5iaW5kKCkgOiBmdW5jdGlvbiAobikge1xuICAgIGZvciAodmFyIGUgPSAxOyBlIDwgYXJndW1lbnRzLmxlbmd0aDsgZSsrKSB7XG4gICAgICB2YXIgdCA9IGFyZ3VtZW50c1tlXTtcbiAgICAgIGZvciAodmFyIHIgaW4gdCkgKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIHIpICYmIChuW3JdID0gdFtyXSk7XG4gICAgfVxuICAgIHJldHVybiBuO1xuICB9LCBfZXh0ZW5kcy5hcHBseShudWxsLCBhcmd1bWVudHMpO1xufVxuZXhwb3J0IHsgX2V4dGVuZHMgYXMgZGVmYXVsdCB9OyIsICJmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soYSwgbikge1xuICBpZiAoIShhIGluc3RhbmNlb2YgbikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG59XG5leHBvcnQgeyBfY2xhc3NDYWxsQ2hlY2sgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgdG9Qcm9wZXJ0eUtleSBmcm9tIFwiLi90b1Byb3BlcnR5S2V5LmpzXCI7XG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyhlLCByKSB7XG4gIGZvciAodmFyIHQgPSAwOyB0IDwgci5sZW5ndGg7IHQrKykge1xuICAgIHZhciBvID0gclt0XTtcbiAgICBvLmVudW1lcmFibGUgPSBvLmVudW1lcmFibGUgfHwgITEsIG8uY29uZmlndXJhYmxlID0gITAsIFwidmFsdWVcIiBpbiBvICYmIChvLndyaXRhYmxlID0gITApLCBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgdG9Qcm9wZXJ0eUtleShvLmtleSksIG8pO1xuICB9XG59XG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoZSwgciwgdCkge1xuICByZXR1cm4gciAmJiBfZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSwgciksIHQgJiYgX2RlZmluZVByb3BlcnRpZXMoZSwgdCksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCBcInByb3RvdHlwZVwiLCB7XG4gICAgd3JpdGFibGU6ICExXG4gIH0pLCBlO1xufVxuZXhwb3J0IHsgX2NyZWF0ZUNsYXNzIGFzIGRlZmF1bHQgfTsiLCAiZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKHQsIGUpIHtcbiAgcmV0dXJuIF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCkgOiBmdW5jdGlvbiAodCwgZSkge1xuICAgIHJldHVybiB0Ll9fcHJvdG9fXyA9IGUsIHQ7XG4gIH0sIF9zZXRQcm90b3R5cGVPZih0LCBlKTtcbn1cbmV4cG9ydCB7IF9zZXRQcm90b3R5cGVPZiBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBzZXRQcm90b3R5cGVPZiBmcm9tIFwiLi9zZXRQcm90b3R5cGVPZi5qc1wiO1xuZnVuY3Rpb24gX2luaGVyaXRzKHQsIGUpIHtcbiAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSAmJiBudWxsICE9PSBlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7XG4gIHQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlICYmIGUucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiB0LFxuICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgY29uZmlndXJhYmxlOiAhMFxuICAgIH1cbiAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcInByb3RvdHlwZVwiLCB7XG4gICAgd3JpdGFibGU6ICExXG4gIH0pLCBlICYmIHNldFByb3RvdHlwZU9mKHQsIGUpO1xufVxuZXhwb3J0IHsgX2luaGVyaXRzIGFzIGRlZmF1bHQgfTsiLCAiZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKHQpIHtcbiAgcmV0dXJuIF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZi5iaW5kKCkgOiBmdW5jdGlvbiAodCkge1xuICAgIHJldHVybiB0Ll9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7XG4gIH0sIF9nZXRQcm90b3R5cGVPZih0KTtcbn1cbmV4cG9ydCB7IF9nZXRQcm90b3R5cGVPZiBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7XG4gIHRyeSB7XG4gICAgdmFyIHQgPSAhQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sIFtdLCBmdW5jdGlvbiAoKSB7fSkpO1xuICB9IGNhdGNoICh0KSB7fVxuICByZXR1cm4gKF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBmdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkge1xuICAgIHJldHVybiAhIXQ7XG4gIH0pKCk7XG59XG5leHBvcnQgeyBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IGFzIGRlZmF1bHQgfTsiLCAiZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChlKSB7XG4gIGlmICh2b2lkIDAgPT09IGUpIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtcbiAgcmV0dXJuIGU7XG59XG5leHBvcnQgeyBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGFzIGRlZmF1bHQgfTsiLCAiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5pbXBvcnQgYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCIuL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qc1wiO1xuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odCwgZSkge1xuICBpZiAoZSAmJiAoXCJvYmplY3RcIiA9PSBfdHlwZW9mKGUpIHx8IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZSkpIHJldHVybiBlO1xuICBpZiAodm9pZCAwICE9PSBlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRGVyaXZlZCBjb25zdHJ1Y3RvcnMgbWF5IG9ubHkgcmV0dXJuIG9iamVjdCBvciB1bmRlZmluZWRcIik7XG4gIHJldHVybiBhc3NlcnRUaGlzSW5pdGlhbGl6ZWQodCk7XG59XG5leHBvcnQgeyBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBnZXRQcm90b3R5cGVPZiBmcm9tIFwiLi9nZXRQcm90b3R5cGVPZi5qc1wiO1xuaW1wb3J0IGlzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCBmcm9tIFwiLi9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QuanNcIjtcbmltcG9ydCBwb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCIuL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4uanNcIjtcbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcih0KSB7XG4gIHZhciByID0gaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGUsXG4gICAgICBvID0gZ2V0UHJvdG90eXBlT2YodCk7XG4gICAgaWYgKHIpIHtcbiAgICAgIHZhciBzID0gZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7XG4gICAgICBlID0gUmVmbGVjdC5jb25zdHJ1Y3QobywgYXJndW1lbnRzLCBzKTtcbiAgICB9IGVsc2UgZSA9IG8uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICByZXR1cm4gcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBlKTtcbiAgfTtcbn1cbmV4cG9ydCB7IF9jcmVhdGVTdXBlciBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBhcnJheUxpa2VUb0FycmF5IGZyb20gXCIuL2FycmF5TGlrZVRvQXJyYXkuanNcIjtcbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHIpKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShyKTtcbn1cbmV4cG9ydCB7IF9hcnJheVdpdGhvdXRIb2xlcyBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkocikge1xuICBpZiAoXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgU3ltYm9sICYmIG51bGwgIT0gcltTeW1ib2wuaXRlcmF0b3JdIHx8IG51bGwgIT0gcltcIkBAaXRlcmF0b3JcIl0pIHJldHVybiBBcnJheS5mcm9tKHIpO1xufVxuZXhwb3J0IHsgX2l0ZXJhYmxlVG9BcnJheSBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59XG5leHBvcnQgeyBfbm9uSXRlcmFibGVTcHJlYWQgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgYXJyYXlXaXRob3V0SG9sZXMgZnJvbSBcIi4vYXJyYXlXaXRob3V0SG9sZXMuanNcIjtcbmltcG9ydCBpdGVyYWJsZVRvQXJyYXkgZnJvbSBcIi4vaXRlcmFibGVUb0FycmF5LmpzXCI7XG5pbXBvcnQgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgZnJvbSBcIi4vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanNcIjtcbmltcG9ydCBub25JdGVyYWJsZVNwcmVhZCBmcm9tIFwiLi9ub25JdGVyYWJsZVNwcmVhZC5qc1wiO1xuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KHIpIHtcbiAgcmV0dXJuIGFycmF5V2l0aG91dEhvbGVzKHIpIHx8IGl0ZXJhYmxlVG9BcnJheShyKSB8fCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShyKSB8fCBub25JdGVyYWJsZVNwcmVhZCgpO1xufVxuZXhwb3J0IHsgX3RvQ29uc3VtYWJsZUFycmF5IGFzIGRlZmF1bHQgfTsiLCAidmFyIGlzRGV2ZWxvcG1lbnQgPSBmYWxzZTtcblxuLypcblxuQmFzZWQgb2ZmIGdsYW1vcidzIFN0eWxlU2hlZXQsIHRoYW5rcyBTdW5pbCBcdTI3NjRcdUZFMEZcblxuaGlnaCBwZXJmb3JtYW5jZSBTdHlsZVNoZWV0IGZvciBjc3MtaW4tanMgc3lzdGVtc1xuXG4tIHVzZXMgbXVsdGlwbGUgc3R5bGUgdGFncyBiZWhpbmQgdGhlIHNjZW5lcyBmb3IgbWlsbGlvbnMgb2YgcnVsZXNcbi0gdXNlcyBgaW5zZXJ0UnVsZWAgZm9yIGFwcGVuZGluZyBpbiBwcm9kdWN0aW9uIGZvciAqbXVjaCogZmFzdGVyIHBlcmZvcm1hbmNlXG5cbi8vIHVzYWdlXG5cbmltcG9ydCB7IFN0eWxlU2hlZXQgfSBmcm9tICdAZW1vdGlvbi9zaGVldCdcblxubGV0IHN0eWxlU2hlZXQgPSBuZXcgU3R5bGVTaGVldCh7IGtleTogJycsIGNvbnRhaW5lcjogZG9jdW1lbnQuaGVhZCB9KVxuXG5zdHlsZVNoZWV0Lmluc2VydCgnI2JveCB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgfScpXG4tIGFwcGVuZHMgYSBjc3MgcnVsZSBpbnRvIHRoZSBzdHlsZXNoZWV0XG5cbnN0eWxlU2hlZXQuZmx1c2goKVxuLSBlbXB0aWVzIHRoZSBzdHlsZXNoZWV0IG9mIGFsbCBpdHMgY29udGVudHNcblxuKi9cblxuZnVuY3Rpb24gc2hlZXRGb3JUYWcodGFnKSB7XG4gIGlmICh0YWcuc2hlZXQpIHtcbiAgICByZXR1cm4gdGFnLnNoZWV0O1xuICB9IC8vIHRoaXMgd2VpcmRuZXNzIGJyb3VnaHQgdG8geW91IGJ5IGZpcmVmb3hcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBkb2N1bWVudC5zdHlsZVNoZWV0cy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChkb2N1bWVudC5zdHlsZVNoZWV0c1tpXS5vd25lck5vZGUgPT09IHRhZykge1xuICAgICAgcmV0dXJuIGRvY3VtZW50LnN0eWxlU2hlZXRzW2ldO1xuICAgIH1cbiAgfSAvLyB0aGlzIGZ1bmN0aW9uIHNob3VsZCBhbHdheXMgcmV0dXJuIHdpdGggYSB2YWx1ZVxuICAvLyBUUyBjYW4ndCB1bmRlcnN0YW5kIGl0IHRob3VnaCBzbyB3ZSBtYWtlIGl0IHN0b3AgY29tcGxhaW5pbmcgaGVyZVxuXG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpIHtcbiAgdmFyIHRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHRhZy5zZXRBdHRyaWJ1dGUoJ2RhdGEtZW1vdGlvbicsIG9wdGlvbnMua2V5KTtcblxuICBpZiAob3B0aW9ucy5ub25jZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdGFnLnNldEF0dHJpYnV0ZSgnbm9uY2UnLCBvcHRpb25zLm5vbmNlKTtcbiAgfVxuXG4gIHRhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJykpO1xuICB0YWcuc2V0QXR0cmlidXRlKCdkYXRhLXMnLCAnJyk7XG4gIHJldHVybiB0YWc7XG59XG5cbnZhciBTdHlsZVNoZWV0ID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgLy8gVXNpbmcgTm9kZSBpbnN0ZWFkIG9mIEhUTUxFbGVtZW50IHNpbmNlIGNvbnRhaW5lciBtYXkgYmUgYSBTaGFkb3dSb290XG4gIGZ1bmN0aW9uIFN0eWxlU2hlZXQob3B0aW9ucykge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB0aGlzLl9pbnNlcnRUYWcgPSBmdW5jdGlvbiAodGFnKSB7XG4gICAgICB2YXIgYmVmb3JlO1xuXG4gICAgICBpZiAoX3RoaXMudGFncy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKF90aGlzLmluc2VydGlvblBvaW50KSB7XG4gICAgICAgICAgYmVmb3JlID0gX3RoaXMuaW5zZXJ0aW9uUG9pbnQubmV4dFNpYmxpbmc7XG4gICAgICAgIH0gZWxzZSBpZiAoX3RoaXMucHJlcGVuZCkge1xuICAgICAgICAgIGJlZm9yZSA9IF90aGlzLmNvbnRhaW5lci5maXJzdENoaWxkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJlZm9yZSA9IF90aGlzLmJlZm9yZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmVmb3JlID0gX3RoaXMudGFnc1tfdGhpcy50YWdzLmxlbmd0aCAtIDFdLm5leHRTaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICBfdGhpcy5jb250YWluZXIuaW5zZXJ0QmVmb3JlKHRhZywgYmVmb3JlKTtcblxuICAgICAgX3RoaXMudGFncy5wdXNoKHRhZyk7XG4gICAgfTtcblxuICAgIHRoaXMuaXNTcGVlZHkgPSBvcHRpb25zLnNwZWVkeSA9PT0gdW5kZWZpbmVkID8gIWlzRGV2ZWxvcG1lbnQgOiBvcHRpb25zLnNwZWVkeTtcbiAgICB0aGlzLnRhZ3MgPSBbXTtcbiAgICB0aGlzLmN0ciA9IDA7XG4gICAgdGhpcy5ub25jZSA9IG9wdGlvbnMubm9uY2U7IC8vIGtleSBpcyB0aGUgdmFsdWUgb2YgdGhlIGRhdGEtZW1vdGlvbiBhdHRyaWJ1dGUsIGl0J3MgdXNlZCB0byBpZGVudGlmeSBkaWZmZXJlbnQgc2hlZXRzXG5cbiAgICB0aGlzLmtleSA9IG9wdGlvbnMua2V5O1xuICAgIHRoaXMuY29udGFpbmVyID0gb3B0aW9ucy5jb250YWluZXI7XG4gICAgdGhpcy5wcmVwZW5kID0gb3B0aW9ucy5wcmVwZW5kO1xuICAgIHRoaXMuaW5zZXJ0aW9uUG9pbnQgPSBvcHRpb25zLmluc2VydGlvblBvaW50O1xuICAgIHRoaXMuYmVmb3JlID0gbnVsbDtcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBTdHlsZVNoZWV0LnByb3RvdHlwZTtcblxuICBfcHJvdG8uaHlkcmF0ZSA9IGZ1bmN0aW9uIGh5ZHJhdGUobm9kZXMpIHtcbiAgICBub2Rlcy5mb3JFYWNoKHRoaXMuX2luc2VydFRhZyk7XG4gIH07XG5cbiAgX3Byb3RvLmluc2VydCA9IGZ1bmN0aW9uIGluc2VydChydWxlKSB7XG4gICAgLy8gdGhlIG1heCBsZW5ndGggaXMgaG93IG1hbnkgcnVsZXMgd2UgaGF2ZSBwZXIgc3R5bGUgdGFnLCBpdCdzIDY1MDAwIGluIHNwZWVkeSBtb2RlXG4gICAgLy8gaXQncyAxIGluIGRldiBiZWNhdXNlIHdlIGluc2VydCBzb3VyY2UgbWFwcyB0aGF0IG1hcCBhIHNpbmdsZSBydWxlIHRvIGEgbG9jYXRpb25cbiAgICAvLyBhbmQgeW91IGNhbiBvbmx5IGhhdmUgb25lIHNvdXJjZSBtYXAgcGVyIHN0eWxlIHRhZ1xuICAgIGlmICh0aGlzLmN0ciAlICh0aGlzLmlzU3BlZWR5ID8gNjUwMDAgOiAxKSA9PT0gMCkge1xuICAgICAgdGhpcy5faW5zZXJ0VGFnKGNyZWF0ZVN0eWxlRWxlbWVudCh0aGlzKSk7XG4gICAgfVxuXG4gICAgdmFyIHRhZyA9IHRoaXMudGFnc1t0aGlzLnRhZ3MubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAodGhpcy5pc1NwZWVkeSkge1xuICAgICAgdmFyIHNoZWV0ID0gc2hlZXRGb3JUYWcodGFnKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gdGhpcyBpcyB0aGUgdWx0cmFmYXN0IHZlcnNpb24sIHdvcmtzIGFjcm9zcyBicm93c2Vyc1xuICAgICAgICAvLyB0aGUgYmlnIGRyYXdiYWNrIGlzIHRoYXQgdGhlIGNzcyB3b24ndCBiZSBlZGl0YWJsZSBpbiBkZXZ0b29sc1xuICAgICAgICBzaGVldC5pbnNlcnRSdWxlKHJ1bGUsIHNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShydWxlKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jdHIrKztcbiAgfTtcblxuICBfcHJvdG8uZmx1c2ggPSBmdW5jdGlvbiBmbHVzaCgpIHtcbiAgICB0aGlzLnRhZ3MuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7XG4gICAgICB2YXIgX3RhZyRwYXJlbnROb2RlO1xuXG4gICAgICByZXR1cm4gKF90YWckcGFyZW50Tm9kZSA9IHRhZy5wYXJlbnROb2RlKSA9PSBudWxsID8gdm9pZCAwIDogX3RhZyRwYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRhZyk7XG4gICAgfSk7XG4gICAgdGhpcy50YWdzID0gW107XG4gICAgdGhpcy5jdHIgPSAwO1xuICB9O1xuXG4gIHJldHVybiBTdHlsZVNoZWV0O1xufSgpO1xuXG5leHBvcnQgeyBTdHlsZVNoZWV0IH07XG4iLCAiZXhwb3J0IHZhciBNUyA9ICctbXMtJ1xuZXhwb3J0IHZhciBNT1ogPSAnLW1vei0nXG5leHBvcnQgdmFyIFdFQktJVCA9ICctd2Via2l0LSdcblxuZXhwb3J0IHZhciBDT01NRU5UID0gJ2NvbW0nXG5leHBvcnQgdmFyIFJVTEVTRVQgPSAncnVsZSdcbmV4cG9ydCB2YXIgREVDTEFSQVRJT04gPSAnZGVjbCdcblxuZXhwb3J0IHZhciBQQUdFID0gJ0BwYWdlJ1xuZXhwb3J0IHZhciBNRURJQSA9ICdAbWVkaWEnXG5leHBvcnQgdmFyIElNUE9SVCA9ICdAaW1wb3J0J1xuZXhwb3J0IHZhciBDSEFSU0VUID0gJ0BjaGFyc2V0J1xuZXhwb3J0IHZhciBWSUVXUE9SVCA9ICdAdmlld3BvcnQnXG5leHBvcnQgdmFyIFNVUFBPUlRTID0gJ0BzdXBwb3J0cydcbmV4cG9ydCB2YXIgRE9DVU1FTlQgPSAnQGRvY3VtZW50J1xuZXhwb3J0IHZhciBOQU1FU1BBQ0UgPSAnQG5hbWVzcGFjZSdcbmV4cG9ydCB2YXIgS0VZRlJBTUVTID0gJ0BrZXlmcmFtZXMnXG5leHBvcnQgdmFyIEZPTlRfRkFDRSA9ICdAZm9udC1mYWNlJ1xuZXhwb3J0IHZhciBDT1VOVEVSX1NUWUxFID0gJ0Bjb3VudGVyLXN0eWxlJ1xuZXhwb3J0IHZhciBGT05UX0ZFQVRVUkVfVkFMVUVTID0gJ0Bmb250LWZlYXR1cmUtdmFsdWVzJ1xuZXhwb3J0IHZhciBMQVlFUiA9ICdAbGF5ZXInXG4iLCAiLyoqXG4gKiBAcGFyYW0ge251bWJlcn1cbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IHZhciBhYnMgPSBNYXRoLmFic1xuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfVxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgdmFyIGZyb20gPSBTdHJpbmcuZnJvbUNoYXJDb2RlXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9XG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCB2YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnblxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzaCAodmFsdWUsIGxlbmd0aCkge1xuXHRyZXR1cm4gY2hhcmF0KHZhbHVlLCAwKSBeIDQ1ID8gKCgoKCgoKGxlbmd0aCA8PCAyKSBeIGNoYXJhdCh2YWx1ZSwgMCkpIDw8IDIpIF4gY2hhcmF0KHZhbHVlLCAxKSkgPDwgMikgXiBjaGFyYXQodmFsdWUsIDIpKSA8PCAyKSBeIGNoYXJhdCh2YWx1ZSwgMykgOiAwXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmltICh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUudHJpbSgpXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge1JlZ0V4cH0gcGF0dGVyblxuICogQHJldHVybiB7c3RyaW5nP31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoICh2YWx1ZSwgcGF0dGVybikge1xuXHRyZXR1cm4gKHZhbHVlID0gcGF0dGVybi5leGVjKHZhbHVlKSkgPyB2YWx1ZVswXSA6IHZhbHVlXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0geyhzdHJpbmd8UmVnRXhwKX0gcGF0dGVyblxuICogQHBhcmFtIHtzdHJpbmd9IHJlcGxhY2VtZW50XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlICh2YWx1ZSwgcGF0dGVybiwgcmVwbGFjZW1lbnQpIHtcblx0cmV0dXJuIHZhbHVlLnJlcGxhY2UocGF0dGVybiwgcmVwbGFjZW1lbnQpXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmRleG9mICh2YWx1ZSwgc2VhcmNoKSB7XG5cdHJldHVybiB2YWx1ZS5pbmRleE9mKHNlYXJjaClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hhcmF0ICh2YWx1ZSwgaW5kZXgpIHtcblx0cmV0dXJuIHZhbHVlLmNoYXJDb2RlQXQoaW5kZXgpIHwgMFxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGJlZ2luXG4gKiBAcGFyYW0ge251bWJlcn0gZW5kXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJzdHIgKHZhbHVlLCBiZWdpbiwgZW5kKSB7XG5cdHJldHVybiB2YWx1ZS5zbGljZShiZWdpbiwgZW5kKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RybGVuICh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUubGVuZ3RoXG59XG5cbi8qKlxuICogQHBhcmFtIHthbnlbXX0gdmFsdWVcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpemVvZiAodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlLmxlbmd0aFxufVxuXG4vKipcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICogQHBhcmFtIHthbnlbXX0gYXJyYXlcbiAqIEByZXR1cm4ge2FueX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZCAodmFsdWUsIGFycmF5KSB7XG5cdHJldHVybiBhcnJheS5wdXNoKHZhbHVlKSwgdmFsdWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBhcnJheVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmUgKGFycmF5LCBjYWxsYmFjaykge1xuXHRyZXR1cm4gYXJyYXkubWFwKGNhbGxiYWNrKS5qb2luKCcnKVxufVxuIiwgImltcG9ydCB7ZnJvbSwgdHJpbSwgY2hhcmF0LCBzdHJsZW4sIHN1YnN0ciwgYXBwZW5kLCBhc3NpZ259IGZyb20gJy4vVXRpbGl0eS5qcydcblxuZXhwb3J0IHZhciBsaW5lID0gMVxuZXhwb3J0IHZhciBjb2x1bW4gPSAxXG5leHBvcnQgdmFyIGxlbmd0aCA9IDBcbmV4cG9ydCB2YXIgcG9zaXRpb24gPSAwXG5leHBvcnQgdmFyIGNoYXJhY3RlciA9IDBcbmV4cG9ydCB2YXIgY2hhcmFjdGVycyA9ICcnXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdCB8IG51bGx9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0IHwgbnVsbH0gcGFyZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gdHlwZVxuICogQHBhcmFtIHtzdHJpbmdbXSB8IHN0cmluZ30gcHJvcHNcbiAqIEBwYXJhbSB7b2JqZWN0W10gfCBzdHJpbmd9IGNoaWxkcmVuXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub2RlICh2YWx1ZSwgcm9vdCwgcGFyZW50LCB0eXBlLCBwcm9wcywgY2hpbGRyZW4sIGxlbmd0aCkge1xuXHRyZXR1cm4ge3ZhbHVlOiB2YWx1ZSwgcm9vdDogcm9vdCwgcGFyZW50OiBwYXJlbnQsIHR5cGU6IHR5cGUsIHByb3BzOiBwcm9wcywgY2hpbGRyZW46IGNoaWxkcmVuLCBsaW5lOiBsaW5lLCBjb2x1bW46IGNvbHVtbiwgbGVuZ3RoOiBsZW5ndGgsIHJldHVybjogJyd9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHJldHVybiB7b2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29weSAocm9vdCwgcHJvcHMpIHtcblx0cmV0dXJuIGFzc2lnbihub2RlKCcnLCBudWxsLCBudWxsLCAnJywgbnVsbCwgbnVsbCwgMCksIHJvb3QsIHtsZW5ndGg6IC1yb290Lmxlbmd0aH0sIHByb3BzKVxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoYXIgKCkge1xuXHRyZXR1cm4gY2hhcmFjdGVyXG59XG5cbi8qKlxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJldiAoKSB7XG5cdGNoYXJhY3RlciA9IHBvc2l0aW9uID4gMCA/IGNoYXJhdChjaGFyYWN0ZXJzLCAtLXBvc2l0aW9uKSA6IDBcblxuXHRpZiAoY29sdW1uLS0sIGNoYXJhY3RlciA9PT0gMTApXG5cdFx0Y29sdW1uID0gMSwgbGluZS0tXG5cblx0cmV0dXJuIGNoYXJhY3RlclxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5leHQgKCkge1xuXHRjaGFyYWN0ZXIgPSBwb3NpdGlvbiA8IGxlbmd0aCA/IGNoYXJhdChjaGFyYWN0ZXJzLCBwb3NpdGlvbisrKSA6IDBcblxuXHRpZiAoY29sdW1uKyssIGNoYXJhY3RlciA9PT0gMTApXG5cdFx0Y29sdW1uID0gMSwgbGluZSsrXG5cblx0cmV0dXJuIGNoYXJhY3RlclxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBlZWsgKCkge1xuXHRyZXR1cm4gY2hhcmF0KGNoYXJhY3RlcnMsIHBvc2l0aW9uKVxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhcmV0ICgpIHtcblx0cmV0dXJuIHBvc2l0aW9uXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IGJlZ2luXG4gKiBAcGFyYW0ge251bWJlcn0gZW5kXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzbGljZSAoYmVnaW4sIGVuZCkge1xuXHRyZXR1cm4gc3Vic3RyKGNoYXJhY3RlcnMsIGJlZ2luLCBlbmQpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuICh0eXBlKSB7XG5cdHN3aXRjaCAodHlwZSkge1xuXHRcdC8vIFxcMCBcXHQgXFxuIFxcciBcXHMgd2hpdGVzcGFjZSB0b2tlblxuXHRcdGNhc2UgMDogY2FzZSA5OiBjYXNlIDEwOiBjYXNlIDEzOiBjYXNlIDMyOlxuXHRcdFx0cmV0dXJuIDVcblx0XHQvLyAhICsgLCAvID4gQCB+IGlzb2xhdGUgdG9rZW5cblx0XHRjYXNlIDMzOiBjYXNlIDQzOiBjYXNlIDQ0OiBjYXNlIDQ3OiBjYXNlIDYyOiBjYXNlIDY0OiBjYXNlIDEyNjpcblx0XHQvLyA7IHsgfSBicmVha3BvaW50IHRva2VuXG5cdFx0Y2FzZSA1OTogY2FzZSAxMjM6IGNhc2UgMTI1OlxuXHRcdFx0cmV0dXJuIDRcblx0XHQvLyA6IGFjY29tcGFuaWVkIHRva2VuXG5cdFx0Y2FzZSA1ODpcblx0XHRcdHJldHVybiAzXG5cdFx0Ly8gXCIgJyAoIFsgb3BlbmluZyBkZWxpbWl0IHRva2VuXG5cdFx0Y2FzZSAzNDogY2FzZSAzOTogY2FzZSA0MDogY2FzZSA5MTpcblx0XHRcdHJldHVybiAyXG5cdFx0Ly8gKSBdIGNsb3NpbmcgZGVsaW1pdCB0b2tlblxuXHRcdGNhc2UgNDE6IGNhc2UgOTM6XG5cdFx0XHRyZXR1cm4gMVxuXHR9XG5cblx0cmV0dXJuIDBcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge2FueVtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWxsb2MgKHZhbHVlKSB7XG5cdHJldHVybiBsaW5lID0gY29sdW1uID0gMSwgbGVuZ3RoID0gc3RybGVuKGNoYXJhY3RlcnMgPSB2YWx1ZSksIHBvc2l0aW9uID0gMCwgW11cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAqIEByZXR1cm4ge2FueX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlYWxsb2MgKHZhbHVlKSB7XG5cdHJldHVybiBjaGFyYWN0ZXJzID0gJycsIHZhbHVlXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGltaXQgKHR5cGUpIHtcblx0cmV0dXJuIHRyaW0oc2xpY2UocG9zaXRpb24gLSAxLCBkZWxpbWl0ZXIodHlwZSA9PT0gOTEgPyB0eXBlICsgMiA6IHR5cGUgPT09IDQwID8gdHlwZSArIDEgOiB0eXBlKSkpXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHtzdHJpbmdbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuaXplICh2YWx1ZSkge1xuXHRyZXR1cm4gZGVhbGxvYyh0b2tlbml6ZXIoYWxsb2ModmFsdWUpKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gdHlwZVxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gd2hpdGVzcGFjZSAodHlwZSkge1xuXHR3aGlsZSAoY2hhcmFjdGVyID0gcGVlaygpKVxuXHRcdGlmIChjaGFyYWN0ZXIgPCAzMylcblx0XHRcdG5leHQoKVxuXHRcdGVsc2Vcblx0XHRcdGJyZWFrXG5cblx0cmV0dXJuIHRva2VuKHR5cGUpID4gMiB8fCB0b2tlbihjaGFyYWN0ZXIpID4gMyA/ICcnIDogJyAnXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gY2hpbGRyZW5cbiAqIEByZXR1cm4ge3N0cmluZ1tdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemVyIChjaGlsZHJlbikge1xuXHR3aGlsZSAobmV4dCgpKVxuXHRcdHN3aXRjaCAodG9rZW4oY2hhcmFjdGVyKSkge1xuXHRcdFx0Y2FzZSAwOiBhcHBlbmQoaWRlbnRpZmllcihwb3NpdGlvbiAtIDEpLCBjaGlsZHJlbilcblx0XHRcdFx0YnJlYWtcblx0XHRcdGNhc2UgMjogYXBwZW5kKGRlbGltaXQoY2hhcmFjdGVyKSwgY2hpbGRyZW4pXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHRkZWZhdWx0OiBhcHBlbmQoZnJvbShjaGFyYWN0ZXIpLCBjaGlsZHJlbilcblx0XHR9XG5cblx0cmV0dXJuIGNoaWxkcmVuXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge251bWJlcn0gY291bnRcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwaW5nIChpbmRleCwgY291bnQpIHtcblx0d2hpbGUgKC0tY291bnQgJiYgbmV4dCgpKVxuXHRcdC8vIG5vdCAwLTkgQS1GIGEtZlxuXHRcdGlmIChjaGFyYWN0ZXIgPCA0OCB8fCBjaGFyYWN0ZXIgPiAxMDIgfHwgKGNoYXJhY3RlciA+IDU3ICYmIGNoYXJhY3RlciA8IDY1KSB8fCAoY2hhcmFjdGVyID4gNzAgJiYgY2hhcmFjdGVyIDwgOTcpKVxuXHRcdFx0YnJlYWtcblxuXHRyZXR1cm4gc2xpY2UoaW5kZXgsIGNhcmV0KCkgKyAoY291bnQgPCA2ICYmIHBlZWsoKSA9PSAzMiAmJiBuZXh0KCkgPT0gMzIpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxpbWl0ZXIgKHR5cGUpIHtcblx0d2hpbGUgKG5leHQoKSlcblx0XHRzd2l0Y2ggKGNoYXJhY3Rlcikge1xuXHRcdFx0Ly8gXSApIFwiICdcblx0XHRcdGNhc2UgdHlwZTpcblx0XHRcdFx0cmV0dXJuIHBvc2l0aW9uXG5cdFx0XHQvLyBcIiAnXG5cdFx0XHRjYXNlIDM0OiBjYXNlIDM5OlxuXHRcdFx0XHRpZiAodHlwZSAhPT0gMzQgJiYgdHlwZSAhPT0gMzkpXG5cdFx0XHRcdFx0ZGVsaW1pdGVyKGNoYXJhY3Rlcilcblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIChcblx0XHRcdGNhc2UgNDA6XG5cdFx0XHRcdGlmICh0eXBlID09PSA0MSlcblx0XHRcdFx0XHRkZWxpbWl0ZXIodHlwZSlcblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIFxcXG5cdFx0XHRjYXNlIDkyOlxuXHRcdFx0XHRuZXh0KClcblx0XHRcdFx0YnJlYWtcblx0XHR9XG5cblx0cmV0dXJuIHBvc2l0aW9uXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tbWVudGVyICh0eXBlLCBpbmRleCkge1xuXHR3aGlsZSAobmV4dCgpKVxuXHRcdC8vIC8vXG5cdFx0aWYgKHR5cGUgKyBjaGFyYWN0ZXIgPT09IDQ3ICsgMTApXG5cdFx0XHRicmVha1xuXHRcdC8vIC8qXG5cdFx0ZWxzZSBpZiAodHlwZSArIGNoYXJhY3RlciA9PT0gNDIgKyA0MiAmJiBwZWVrKCkgPT09IDQ3KVxuXHRcdFx0YnJlYWtcblxuXHRyZXR1cm4gJy8qJyArIHNsaWNlKGluZGV4LCBwb3NpdGlvbiAtIDEpICsgJyonICsgZnJvbSh0eXBlID09PSA0NyA/IHR5cGUgOiBuZXh0KCkpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpZGVudGlmaWVyIChpbmRleCkge1xuXHR3aGlsZSAoIXRva2VuKHBlZWsoKSkpXG5cdFx0bmV4dCgpXG5cblx0cmV0dXJuIHNsaWNlKGluZGV4LCBwb3NpdGlvbilcbn1cbiIsICJpbXBvcnQge0NPTU1FTlQsIFJVTEVTRVQsIERFQ0xBUkFUSU9OfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge2FicywgY2hhcmF0LCB0cmltLCBmcm9tLCBzaXplb2YsIHN0cmxlbiwgc3Vic3RyLCBhcHBlbmQsIHJlcGxhY2UsIGluZGV4b2Z9IGZyb20gJy4vVXRpbGl0eS5qcydcbmltcG9ydCB7bm9kZSwgY2hhciwgcHJldiwgbmV4dCwgcGVlaywgY2FyZXQsIGFsbG9jLCBkZWFsbG9jLCBkZWxpbWl0LCB3aGl0ZXNwYWNlLCBlc2NhcGluZywgaWRlbnRpZmllciwgY29tbWVudGVyfSBmcm9tICcuL1Rva2VuaXplci5qcydcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge29iamVjdFtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcGlsZSAodmFsdWUpIHtcblx0cmV0dXJuIGRlYWxsb2MocGFyc2UoJycsIG51bGwsIG51bGwsIG51bGwsIFsnJ10sIHZhbHVlID0gYWxsb2ModmFsdWUpLCAwLCBbMF0sIHZhbHVlKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdD99IHBhcmVudFxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZXNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHJ1bGVzZXRzXG4gKiBAcGFyYW0ge251bWJlcltdfSBwc2V1ZG9cbiAqIEBwYXJhbSB7bnVtYmVyW119IHBvaW50c1xuICogQHBhcmFtIHtzdHJpbmdbXX0gZGVjbGFyYXRpb25zXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZSAodmFsdWUsIHJvb3QsIHBhcmVudCwgcnVsZSwgcnVsZXMsIHJ1bGVzZXRzLCBwc2V1ZG8sIHBvaW50cywgZGVjbGFyYXRpb25zKSB7XG5cdHZhciBpbmRleCA9IDBcblx0dmFyIG9mZnNldCA9IDBcblx0dmFyIGxlbmd0aCA9IHBzZXVkb1xuXHR2YXIgYXRydWxlID0gMFxuXHR2YXIgcHJvcGVydHkgPSAwXG5cdHZhciBwcmV2aW91cyA9IDBcblx0dmFyIHZhcmlhYmxlID0gMVxuXHR2YXIgc2Nhbm5pbmcgPSAxXG5cdHZhciBhbXBlcnNhbmQgPSAxXG5cdHZhciBjaGFyYWN0ZXIgPSAwXG5cdHZhciB0eXBlID0gJydcblx0dmFyIHByb3BzID0gcnVsZXNcblx0dmFyIGNoaWxkcmVuID0gcnVsZXNldHNcblx0dmFyIHJlZmVyZW5jZSA9IHJ1bGVcblx0dmFyIGNoYXJhY3RlcnMgPSB0eXBlXG5cblx0d2hpbGUgKHNjYW5uaW5nKVxuXHRcdHN3aXRjaCAocHJldmlvdXMgPSBjaGFyYWN0ZXIsIGNoYXJhY3RlciA9IG5leHQoKSkge1xuXHRcdFx0Ly8gKFxuXHRcdFx0Y2FzZSA0MDpcblx0XHRcdFx0aWYgKHByZXZpb3VzICE9IDEwOCAmJiBjaGFyYXQoY2hhcmFjdGVycywgbGVuZ3RoIC0gMSkgPT0gNTgpIHtcblx0XHRcdFx0XHRpZiAoaW5kZXhvZihjaGFyYWN0ZXJzICs9IHJlcGxhY2UoZGVsaW1pdChjaGFyYWN0ZXIpLCAnJicsICcmXFxmJyksICcmXFxmJykgIT0gLTEpXG5cdFx0XHRcdFx0XHRhbXBlcnNhbmQgPSAtMVxuXHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdH1cblx0XHRcdC8vIFwiICcgW1xuXHRcdFx0Y2FzZSAzNDogY2FzZSAzOTogY2FzZSA5MTpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSBkZWxpbWl0KGNoYXJhY3Rlcilcblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIFxcdCBcXG4gXFxyIFxcc1xuXHRcdFx0Y2FzZSA5OiBjYXNlIDEwOiBjYXNlIDEzOiBjYXNlIDMyOlxuXHRcdFx0XHRjaGFyYWN0ZXJzICs9IHdoaXRlc3BhY2UocHJldmlvdXMpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyBcXFxuXHRcdFx0Y2FzZSA5Mjpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSBlc2NhcGluZyhjYXJldCgpIC0gMSwgNylcblx0XHRcdFx0Y29udGludWVcblx0XHRcdC8vIC9cblx0XHRcdGNhc2UgNDc6XG5cdFx0XHRcdHN3aXRjaCAocGVlaygpKSB7XG5cdFx0XHRcdFx0Y2FzZSA0MjogY2FzZSA0Nzpcblx0XHRcdFx0XHRcdGFwcGVuZChjb21tZW50KGNvbW1lbnRlcihuZXh0KCksIGNhcmV0KCkpLCByb290LCBwYXJlbnQpLCBkZWNsYXJhdGlvbnMpXG5cdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRjaGFyYWN0ZXJzICs9ICcvJ1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyB7XG5cdFx0XHRjYXNlIDEyMyAqIHZhcmlhYmxlOlxuXHRcdFx0XHRwb2ludHNbaW5kZXgrK10gPSBzdHJsZW4oY2hhcmFjdGVycykgKiBhbXBlcnNhbmRcblx0XHRcdC8vIH0gOyBcXDBcblx0XHRcdGNhc2UgMTI1ICogdmFyaWFibGU6IGNhc2UgNTk6IGNhc2UgMDpcblx0XHRcdFx0c3dpdGNoIChjaGFyYWN0ZXIpIHtcblx0XHRcdFx0XHQvLyBcXDAgfVxuXHRcdFx0XHRcdGNhc2UgMDogY2FzZSAxMjU6IHNjYW5uaW5nID0gMFxuXHRcdFx0XHRcdC8vIDtcblx0XHRcdFx0XHRjYXNlIDU5ICsgb2Zmc2V0OiBpZiAoYW1wZXJzYW5kID09IC0xKSBjaGFyYWN0ZXJzID0gcmVwbGFjZShjaGFyYWN0ZXJzLCAvXFxmL2csICcnKVxuXHRcdFx0XHRcdFx0aWYgKHByb3BlcnR5ID4gMCAmJiAoc3RybGVuKGNoYXJhY3RlcnMpIC0gbGVuZ3RoKSlcblx0XHRcdFx0XHRcdFx0YXBwZW5kKHByb3BlcnR5ID4gMzIgPyBkZWNsYXJhdGlvbihjaGFyYWN0ZXJzICsgJzsnLCBydWxlLCBwYXJlbnQsIGxlbmd0aCAtIDEpIDogZGVjbGFyYXRpb24ocmVwbGFjZShjaGFyYWN0ZXJzLCAnICcsICcnKSArICc7JywgcnVsZSwgcGFyZW50LCBsZW5ndGggLSAyKSwgZGVjbGFyYXRpb25zKVxuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyBAIDtcblx0XHRcdFx0XHRjYXNlIDU5OiBjaGFyYWN0ZXJzICs9ICc7J1xuXHRcdFx0XHRcdC8vIHsgcnVsZS9hdC1ydWxlXG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdGFwcGVuZChyZWZlcmVuY2UgPSBydWxlc2V0KGNoYXJhY3RlcnMsIHJvb3QsIHBhcmVudCwgaW5kZXgsIG9mZnNldCwgcnVsZXMsIHBvaW50cywgdHlwZSwgcHJvcHMgPSBbXSwgY2hpbGRyZW4gPSBbXSwgbGVuZ3RoKSwgcnVsZXNldHMpXG5cblx0XHRcdFx0XHRcdGlmIChjaGFyYWN0ZXIgPT09IDEyMylcblx0XHRcdFx0XHRcdFx0aWYgKG9mZnNldCA9PT0gMClcblx0XHRcdFx0XHRcdFx0XHRwYXJzZShjaGFyYWN0ZXJzLCByb290LCByZWZlcmVuY2UsIHJlZmVyZW5jZSwgcHJvcHMsIHJ1bGVzZXRzLCBsZW5ndGgsIHBvaW50cywgY2hpbGRyZW4pXG5cdFx0XHRcdFx0XHRcdGVsc2Vcblx0XHRcdFx0XHRcdFx0XHRzd2l0Y2ggKGF0cnVsZSA9PT0gOTkgJiYgY2hhcmF0KGNoYXJhY3RlcnMsIDMpID09PSAxMTAgPyAxMDAgOiBhdHJ1bGUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGQgbCBtIHNcblx0XHRcdFx0XHRcdFx0XHRcdGNhc2UgMTAwOiBjYXNlIDEwODogY2FzZSAxMDk6IGNhc2UgMTE1OlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYXJzZSh2YWx1ZSwgcmVmZXJlbmNlLCByZWZlcmVuY2UsIHJ1bGUgJiYgYXBwZW5kKHJ1bGVzZXQodmFsdWUsIHJlZmVyZW5jZSwgcmVmZXJlbmNlLCAwLCAwLCBydWxlcywgcG9pbnRzLCB0eXBlLCBydWxlcywgcHJvcHMgPSBbXSwgbGVuZ3RoKSwgY2hpbGRyZW4pLCBydWxlcywgY2hpbGRyZW4sIGxlbmd0aCwgcG9pbnRzLCBydWxlID8gcHJvcHMgOiBjaGlsZHJlbilcblx0XHRcdFx0XHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhcnNlKGNoYXJhY3RlcnMsIHJlZmVyZW5jZSwgcmVmZXJlbmNlLCByZWZlcmVuY2UsIFsnJ10sIGNoaWxkcmVuLCAwLCBwb2ludHMsIGNoaWxkcmVuKVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGluZGV4ID0gb2Zmc2V0ID0gcHJvcGVydHkgPSAwLCB2YXJpYWJsZSA9IGFtcGVyc2FuZCA9IDEsIHR5cGUgPSBjaGFyYWN0ZXJzID0gJycsIGxlbmd0aCA9IHBzZXVkb1xuXHRcdFx0XHRicmVha1xuXHRcdFx0Ly8gOlxuXHRcdFx0Y2FzZSA1ODpcblx0XHRcdFx0bGVuZ3RoID0gMSArIHN0cmxlbihjaGFyYWN0ZXJzKSwgcHJvcGVydHkgPSBwcmV2aW91c1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0aWYgKHZhcmlhYmxlIDwgMSlcblx0XHRcdFx0XHRpZiAoY2hhcmFjdGVyID09IDEyMylcblx0XHRcdFx0XHRcdC0tdmFyaWFibGVcblx0XHRcdFx0XHRlbHNlIGlmIChjaGFyYWN0ZXIgPT0gMTI1ICYmIHZhcmlhYmxlKysgPT0gMCAmJiBwcmV2KCkgPT0gMTI1KVxuXHRcdFx0XHRcdFx0Y29udGludWVcblxuXHRcdFx0XHRzd2l0Y2ggKGNoYXJhY3RlcnMgKz0gZnJvbShjaGFyYWN0ZXIpLCBjaGFyYWN0ZXIgKiB2YXJpYWJsZSkge1xuXHRcdFx0XHRcdC8vICZcblx0XHRcdFx0XHRjYXNlIDM4OlxuXHRcdFx0XHRcdFx0YW1wZXJzYW5kID0gb2Zmc2V0ID4gMCA/IDEgOiAoY2hhcmFjdGVycyArPSAnXFxmJywgLTEpXG5cdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdC8vICxcblx0XHRcdFx0XHRjYXNlIDQ0OlxuXHRcdFx0XHRcdFx0cG9pbnRzW2luZGV4KytdID0gKHN0cmxlbihjaGFyYWN0ZXJzKSAtIDEpICogYW1wZXJzYW5kLCBhbXBlcnNhbmQgPSAxXG5cdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdC8vIEBcblx0XHRcdFx0XHRjYXNlIDY0OlxuXHRcdFx0XHRcdFx0Ly8gLVxuXHRcdFx0XHRcdFx0aWYgKHBlZWsoKSA9PT0gNDUpXG5cdFx0XHRcdFx0XHRcdGNoYXJhY3RlcnMgKz0gZGVsaW1pdChuZXh0KCkpXG5cblx0XHRcdFx0XHRcdGF0cnVsZSA9IHBlZWsoKSwgb2Zmc2V0ID0gbGVuZ3RoID0gc3RybGVuKHR5cGUgPSBjaGFyYWN0ZXJzICs9IGlkZW50aWZpZXIoY2FyZXQoKSkpLCBjaGFyYWN0ZXIrK1xuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyAtXG5cdFx0XHRcdFx0Y2FzZSA0NTpcblx0XHRcdFx0XHRcdGlmIChwcmV2aW91cyA9PT0gNDUgJiYgc3RybGVuKGNoYXJhY3RlcnMpID09IDIpXG5cdFx0XHRcdFx0XHRcdHZhcmlhYmxlID0gMFxuXHRcdFx0XHR9XG5cdFx0fVxuXG5cdHJldHVybiBydWxlc2V0c1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0P30gcGFyZW50XG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAqIEBwYXJhbSB7c3RyaW5nW119IHJ1bGVzXG4gKiBAcGFyYW0ge251bWJlcltdfSBwb2ludHNcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmdbXX0gY2hpbGRyZW5cbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzZXQgKHZhbHVlLCByb290LCBwYXJlbnQsIGluZGV4LCBvZmZzZXQsIHJ1bGVzLCBwb2ludHMsIHR5cGUsIHByb3BzLCBjaGlsZHJlbiwgbGVuZ3RoKSB7XG5cdHZhciBwb3N0ID0gb2Zmc2V0IC0gMVxuXHR2YXIgcnVsZSA9IG9mZnNldCA9PT0gMCA/IHJ1bGVzIDogWycnXVxuXHR2YXIgc2l6ZSA9IHNpemVvZihydWxlKVxuXG5cdGZvciAodmFyIGkgPSAwLCBqID0gMCwgayA9IDA7IGkgPCBpbmRleDsgKytpKVxuXHRcdGZvciAodmFyIHggPSAwLCB5ID0gc3Vic3RyKHZhbHVlLCBwb3N0ICsgMSwgcG9zdCA9IGFicyhqID0gcG9pbnRzW2ldKSksIHogPSB2YWx1ZTsgeCA8IHNpemU7ICsreClcblx0XHRcdGlmICh6ID0gdHJpbShqID4gMCA/IHJ1bGVbeF0gKyAnICcgKyB5IDogcmVwbGFjZSh5LCAvJlxcZi9nLCBydWxlW3hdKSkpXG5cdFx0XHRcdHByb3BzW2srK10gPSB6XG5cblx0cmV0dXJuIG5vZGUodmFsdWUsIHJvb3QsIHBhcmVudCwgb2Zmc2V0ID09PSAwID8gUlVMRVNFVCA6IHR5cGUsIHByb3BzLCBjaGlsZHJlbiwgbGVuZ3RoKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0P30gcGFyZW50XG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21tZW50ICh2YWx1ZSwgcm9vdCwgcGFyZW50KSB7XG5cdHJldHVybiBub2RlKHZhbHVlLCByb290LCBwYXJlbnQsIENPTU1FTlQsIGZyb20oY2hhcigpKSwgc3Vic3RyKHZhbHVlLCAyLCAtMiksIDApXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3Q/fSBwYXJlbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uICh2YWx1ZSwgcm9vdCwgcGFyZW50LCBsZW5ndGgpIHtcblx0cmV0dXJuIG5vZGUodmFsdWUsIHJvb3QsIHBhcmVudCwgREVDTEFSQVRJT04sIHN1YnN0cih2YWx1ZSwgMCwgbGVuZ3RoKSwgc3Vic3RyKHZhbHVlLCBsZW5ndGggKyAxLCAtMSksIGxlbmd0aClcbn1cbiIsICJpbXBvcnQge0lNUE9SVCwgTEFZRVIsIENPTU1FTlQsIFJVTEVTRVQsIERFQ0xBUkFUSU9OLCBLRVlGUkFNRVN9IGZyb20gJy4vRW51bS5qcydcbmltcG9ydCB7c3RybGVuLCBzaXplb2Z9IGZyb20gJy4vVXRpbGl0eS5qcydcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdFtdfSBjaGlsZHJlblxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZSAoY2hpbGRyZW4sIGNhbGxiYWNrKSB7XG5cdHZhciBvdXRwdXQgPSAnJ1xuXHR2YXIgbGVuZ3RoID0gc2l6ZW9mKGNoaWxkcmVuKVxuXG5cdGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspXG5cdFx0b3V0cHV0ICs9IGNhbGxiYWNrKGNoaWxkcmVuW2ldLCBpLCBjaGlsZHJlbiwgY2FsbGJhY2spIHx8ICcnXG5cblx0cmV0dXJuIG91dHB1dFxufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBlbGVtZW50XG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5IChlbGVtZW50LCBpbmRleCwgY2hpbGRyZW4sIGNhbGxiYWNrKSB7XG5cdHN3aXRjaCAoZWxlbWVudC50eXBlKSB7XG5cdFx0Y2FzZSBMQVlFUjogaWYgKGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKSBicmVha1xuXHRcdGNhc2UgSU1QT1JUOiBjYXNlIERFQ0xBUkFUSU9OOiByZXR1cm4gZWxlbWVudC5yZXR1cm4gPSBlbGVtZW50LnJldHVybiB8fCBlbGVtZW50LnZhbHVlXG5cdFx0Y2FzZSBDT01NRU5UOiByZXR1cm4gJydcblx0XHRjYXNlIEtFWUZSQU1FUzogcmV0dXJuIGVsZW1lbnQucmV0dXJuID0gZWxlbWVudC52YWx1ZSArICd7JyArIHNlcmlhbGl6ZShlbGVtZW50LmNoaWxkcmVuLCBjYWxsYmFjaykgKyAnfSdcblx0XHRjYXNlIFJVTEVTRVQ6IGVsZW1lbnQudmFsdWUgPSBlbGVtZW50LnByb3BzLmpvaW4oJywnKVxuXHR9XG5cblx0cmV0dXJuIHN0cmxlbihjaGlsZHJlbiA9IHNlcmlhbGl6ZShlbGVtZW50LmNoaWxkcmVuLCBjYWxsYmFjaykpID8gZWxlbWVudC5yZXR1cm4gPSBlbGVtZW50LnZhbHVlICsgJ3snICsgY2hpbGRyZW4gKyAnfScgOiAnJ1xufVxuIiwgImltcG9ydCB7TVMsIE1PWiwgV0VCS0lULCBSVUxFU0VULCBLRVlGUkFNRVMsIERFQ0xBUkFUSU9OfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge21hdGNoLCBjaGFyYXQsIHN1YnN0ciwgc3RybGVuLCBzaXplb2YsIHJlcGxhY2UsIGNvbWJpbmV9IGZyb20gJy4vVXRpbGl0eS5qcydcbmltcG9ydCB7Y29weSwgdG9rZW5pemV9IGZyb20gJy4vVG9rZW5pemVyLmpzJ1xuaW1wb3J0IHtzZXJpYWxpemV9IGZyb20gJy4vU2VyaWFsaXplci5qcydcbmltcG9ydCB7cHJlZml4fSBmcm9tICcuL1ByZWZpeGVyLmpzJ1xuXG4vKipcbiAqIEBwYXJhbSB7ZnVuY3Rpb25bXX0gY29sbGVjdGlvblxuICogQHJldHVybiB7ZnVuY3Rpb259XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtaWRkbGV3YXJlIChjb2xsZWN0aW9uKSB7XG5cdHZhciBsZW5ndGggPSBzaXplb2YoY29sbGVjdGlvbilcblxuXHRyZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcblx0XHR2YXIgb3V0cHV0ID0gJydcblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspXG5cdFx0XHRvdXRwdXQgKz0gY29sbGVjdGlvbltpXShlbGVtZW50LCBpbmRleCwgY2hpbGRyZW4sIGNhbGxiYWNrKSB8fCAnJ1xuXG5cdFx0cmV0dXJuIG91dHB1dFxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge2Z1bmN0aW9ufVxuICovXG5leHBvcnQgZnVuY3Rpb24gcnVsZXNoZWV0IChjYWxsYmFjaykge1xuXHRyZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQpIHtcblx0XHRpZiAoIWVsZW1lbnQucm9vdClcblx0XHRcdGlmIChlbGVtZW50ID0gZWxlbWVudC5yZXR1cm4pXG5cdFx0XHRcdGNhbGxiYWNrKGVsZW1lbnQpXG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gZWxlbWVudFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge29iamVjdFtdfSBjaGlsZHJlblxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZWZpeGVyIChlbGVtZW50LCBpbmRleCwgY2hpbGRyZW4sIGNhbGxiYWNrKSB7XG5cdGlmIChlbGVtZW50Lmxlbmd0aCA+IC0xKVxuXHRcdGlmICghZWxlbWVudC5yZXR1cm4pXG5cdFx0XHRzd2l0Y2ggKGVsZW1lbnQudHlwZSkge1xuXHRcdFx0XHRjYXNlIERFQ0xBUkFUSU9OOiBlbGVtZW50LnJldHVybiA9IHByZWZpeChlbGVtZW50LnZhbHVlLCBlbGVtZW50Lmxlbmd0aCwgY2hpbGRyZW4pXG5cdFx0XHRcdFx0cmV0dXJuXG5cdFx0XHRcdGNhc2UgS0VZRlJBTUVTOlxuXHRcdFx0XHRcdHJldHVybiBzZXJpYWxpemUoW2NvcHkoZWxlbWVudCwge3ZhbHVlOiByZXBsYWNlKGVsZW1lbnQudmFsdWUsICdAJywgJ0AnICsgV0VCS0lUKX0pXSwgY2FsbGJhY2spXG5cdFx0XHRcdGNhc2UgUlVMRVNFVDpcblx0XHRcdFx0XHRpZiAoZWxlbWVudC5sZW5ndGgpXG5cdFx0XHRcdFx0XHRyZXR1cm4gY29tYmluZShlbGVtZW50LnByb3BzLCBmdW5jdGlvbiAodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0c3dpdGNoIChtYXRjaCh2YWx1ZSwgLyg6OnBsYWNcXHcrfDpyZWFkLVxcdyspLykpIHtcblx0XHRcdFx0XHRcdFx0XHQvLyA6cmVhZC0ob25seXx3cml0ZSlcblx0XHRcdFx0XHRcdFx0XHRjYXNlICc6cmVhZC1vbmx5JzogY2FzZSAnOnJlYWQtd3JpdGUnOlxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNlcmlhbGl6ZShbY29weShlbGVtZW50LCB7cHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihyZWFkLVxcdyspLywgJzonICsgTU9aICsgJyQxJyldfSldLCBjYWxsYmFjaylcblx0XHRcdFx0XHRcdFx0XHQvLyA6cGxhY2Vob2xkZXJcblx0XHRcdFx0XHRcdFx0XHRjYXNlICc6OnBsYWNlaG9sZGVyJzpcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXJpYWxpemUoW1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb3B5KGVsZW1lbnQsIHtwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHBsYWNcXHcrKS8sICc6JyArIFdFQktJVCArICdpbnB1dC0kMScpXX0pLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb3B5KGVsZW1lbnQsIHtwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHBsYWNcXHcrKS8sICc6JyArIE1PWiArICckMScpXX0pLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb3B5KGVsZW1lbnQsIHtwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHBsYWNcXHcrKS8sIE1TICsgJ2lucHV0LSQxJyldfSlcblx0XHRcdFx0XHRcdFx0XHRcdF0sIGNhbGxiYWNrKVxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0cmV0dXJuICcnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBlbGVtZW50XG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuYW1lc3BhY2UgKGVsZW1lbnQpIHtcblx0c3dpdGNoIChlbGVtZW50LnR5cGUpIHtcblx0XHRjYXNlIFJVTEVTRVQ6XG5cdFx0XHRlbGVtZW50LnByb3BzID0gZWxlbWVudC5wcm9wcy5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0XHRcdHJldHVybiBjb21iaW5lKHRva2VuaXplKHZhbHVlKSwgZnVuY3Rpb24gKHZhbHVlLCBpbmRleCwgY2hpbGRyZW4pIHtcblx0XHRcdFx0XHRzd2l0Y2ggKGNoYXJhdCh2YWx1ZSwgMCkpIHtcblx0XHRcdFx0XHRcdC8vIFxcZlxuXHRcdFx0XHRcdFx0Y2FzZSAxMjpcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHN1YnN0cih2YWx1ZSwgMSwgc3RybGVuKHZhbHVlKSlcblx0XHRcdFx0XHRcdC8vIFxcMCAoICsgPiB+XG5cdFx0XHRcdFx0XHRjYXNlIDA6IGNhc2UgNDA6IGNhc2UgNDM6IGNhc2UgNjI6IGNhc2UgMTI2OlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWVcblx0XHRcdFx0XHRcdC8vIDpcblx0XHRcdFx0XHRcdGNhc2UgNTg6XG5cdFx0XHRcdFx0XHRcdGlmIChjaGlsZHJlblsrK2luZGV4XSA9PT0gJ2dsb2JhbCcpXG5cdFx0XHRcdFx0XHRcdFx0Y2hpbGRyZW5baW5kZXhdID0gJycsIGNoaWxkcmVuWysraW5kZXhdID0gJ1xcZicgKyBzdWJzdHIoY2hpbGRyZW5baW5kZXhdLCBpbmRleCA9IDEsIC0xKVxuXHRcdFx0XHRcdFx0Ly8gXFxzXG5cdFx0XHRcdFx0XHRjYXNlIDMyOlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gaW5kZXggPT09IDEgPyAnJyA6IHZhbHVlXG5cdFx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0XHRzd2l0Y2ggKGluZGV4KSB7XG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAwOiBlbGVtZW50ID0gdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzaXplb2YoY2hpbGRyZW4pID4gMSA/ICcnIDogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRjYXNlIGluZGV4ID0gc2l6ZW9mKGNoaWxkcmVuKSAtIDE6IGNhc2UgMjpcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBpbmRleCA9PT0gMiA/IHZhbHVlICsgZWxlbWVudCArIGVsZW1lbnQgOiB2YWx1ZSArIGVsZW1lbnRcblx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhbHVlXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9KVxuXHR9XG59XG4iLCAiZnVuY3Rpb24gbWVtb2l6ZShmbikge1xuICB2YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICByZXR1cm4gZnVuY3Rpb24gKGFyZykge1xuICAgIGlmIChjYWNoZVthcmddID09PSB1bmRlZmluZWQpIGNhY2hlW2FyZ10gPSBmbihhcmcpO1xuICAgIHJldHVybiBjYWNoZVthcmddO1xuICB9O1xufVxuXG5leHBvcnQgeyBtZW1vaXplIGFzIGRlZmF1bHQgfTtcbiIsICJpbXBvcnQgeyBTdHlsZVNoZWV0IH0gZnJvbSAnQGVtb3Rpb24vc2hlZXQnO1xuaW1wb3J0IHsgZGVhbGxvYywgYWxsb2MsIG5leHQsIHRva2VuLCBmcm9tLCBwZWVrLCBkZWxpbWl0LCBzbGljZSwgcG9zaXRpb24sIFJVTEVTRVQsIGNvbWJpbmUsIG1hdGNoLCBzZXJpYWxpemUsIGNvcHksIHJlcGxhY2UsIFdFQktJVCwgTU9aLCBNUywgS0VZRlJBTUVTLCBERUNMQVJBVElPTiwgaGFzaCwgY2hhcmF0LCBzdHJsZW4sIGluZGV4b2YsIHN0cmluZ2lmeSwgcnVsZXNoZWV0LCBtaWRkbGV3YXJlLCBjb21waWxlIH0gZnJvbSAnc3R5bGlzJztcbmltcG9ydCAnQGVtb3Rpb24vd2Vhay1tZW1vaXplJztcbmltcG9ydCAnQGVtb3Rpb24vbWVtb2l6ZSc7XG5cbnZhciBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcgPSBmdW5jdGlvbiBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcoYmVnaW4sIHBvaW50cywgaW5kZXgpIHtcbiAgdmFyIHByZXZpb3VzID0gMDtcbiAgdmFyIGNoYXJhY3RlciA9IDA7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBwcmV2aW91cyA9IGNoYXJhY3RlcjtcbiAgICBjaGFyYWN0ZXIgPSBwZWVrKCk7IC8vICZcXGZcblxuICAgIGlmIChwcmV2aW91cyA9PT0gMzggJiYgY2hhcmFjdGVyID09PSAxMikge1xuICAgICAgcG9pbnRzW2luZGV4XSA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuKGNoYXJhY3RlcikpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIG5leHQoKTtcbiAgfVxuXG4gIHJldHVybiBzbGljZShiZWdpbiwgcG9zaXRpb24pO1xufTtcblxudmFyIHRvUnVsZXMgPSBmdW5jdGlvbiB0b1J1bGVzKHBhcnNlZCwgcG9pbnRzKSB7XG4gIC8vIHByZXRlbmQgd2UndmUgc3RhcnRlZCB3aXRoIGEgY29tbWFcbiAgdmFyIGluZGV4ID0gLTE7XG4gIHZhciBjaGFyYWN0ZXIgPSA0NDtcblxuICBkbyB7XG4gICAgc3dpdGNoICh0b2tlbihjaGFyYWN0ZXIpKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIC8vICZcXGZcbiAgICAgICAgaWYgKGNoYXJhY3RlciA9PT0gMzggJiYgcGVlaygpID09PSAxMikge1xuICAgICAgICAgIC8vIHRoaXMgaXMgbm90IDEwMCUgY29ycmVjdCwgd2UgZG9uJ3QgYWNjb3VudCBmb3IgbGl0ZXJhbCBzZXF1ZW5jZXMgaGVyZSAtIGxpa2UgZm9yIGV4YW1wbGUgcXVvdGVkIHN0cmluZ3NcbiAgICAgICAgICAvLyBzdHlsaXMgaW5zZXJ0cyBcXGYgYWZ0ZXIgJiB0byBrbm93IHdoZW4gJiB3aGVyZSBpdCBzaG91bGQgcmVwbGFjZSB0aGlzIHNlcXVlbmNlIHdpdGggdGhlIGNvbnRleHQgc2VsZWN0b3JcbiAgICAgICAgICAvLyBhbmQgd2hlbiBpdCBzaG91bGQganVzdCBjb25jYXRlbmF0ZSB0aGUgb3V0ZXIgYW5kIGlubmVyIHNlbGVjdG9yc1xuICAgICAgICAgIC8vIGl0J3MgdmVyeSB1bmxpa2VseSBmb3IgdGhpcyBzZXF1ZW5jZSB0byBhY3R1YWxseSBhcHBlYXIgaW4gYSBkaWZmZXJlbnQgY29udGV4dCwgc28gd2UganVzdCBsZXZlcmFnZSB0aGlzIGZhY3QgaGVyZVxuICAgICAgICAgIHBvaW50c1tpbmRleF0gPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyc2VkW2luZGV4XSArPSBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcocG9zaXRpb24gLSAxLCBwb2ludHMsIGluZGV4KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgMjpcbiAgICAgICAgcGFyc2VkW2luZGV4XSArPSBkZWxpbWl0KGNoYXJhY3Rlcik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDQ6XG4gICAgICAgIC8vIGNvbW1hXG4gICAgICAgIGlmIChjaGFyYWN0ZXIgPT09IDQ0KSB7XG4gICAgICAgICAgLy8gY29sb25cbiAgICAgICAgICBwYXJzZWRbKytpbmRleF0gPSBwZWVrKCkgPT09IDU4ID8gJyZcXGYnIDogJyc7XG4gICAgICAgICAgcG9pbnRzW2luZGV4XSA9IHBhcnNlZFtpbmRleF0ubGVuZ3RoO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIC8vIGZhbGx0aHJvdWdoXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHBhcnNlZFtpbmRleF0gKz0gZnJvbShjaGFyYWN0ZXIpO1xuICAgIH1cbiAgfSB3aGlsZSAoY2hhcmFjdGVyID0gbmV4dCgpKTtcblxuICByZXR1cm4gcGFyc2VkO1xufTtcblxudmFyIGdldFJ1bGVzID0gZnVuY3Rpb24gZ2V0UnVsZXModmFsdWUsIHBvaW50cykge1xuICByZXR1cm4gZGVhbGxvYyh0b1J1bGVzKGFsbG9jKHZhbHVlKSwgcG9pbnRzKSk7XG59OyAvLyBXZWFrU2V0IHdvdWxkIGJlIG1vcmUgYXBwcm9wcmlhdGUsIGJ1dCBvbmx5IFdlYWtNYXAgaXMgc3VwcG9ydGVkIGluIElFMTFcblxuXG52YXIgZml4ZWRFbGVtZW50cyA9IC8qICNfX1BVUkVfXyAqL25ldyBXZWFrTWFwKCk7XG52YXIgY29tcGF0ID0gZnVuY3Rpb24gY29tcGF0KGVsZW1lbnQpIHtcbiAgaWYgKGVsZW1lbnQudHlwZSAhPT0gJ3J1bGUnIHx8ICFlbGVtZW50LnBhcmVudCB8fCAvLyBwb3NpdGl2ZSAubGVuZ3RoIGluZGljYXRlcyB0aGF0IHRoaXMgcnVsZSBjb250YWlucyBwc2V1ZG9cbiAgLy8gbmVnYXRpdmUgLmxlbmd0aCBpbmRpY2F0ZXMgdGhhdCB0aGlzIHJ1bGUgaGFzIGJlZW4gYWxyZWFkeSBwcmVmaXhlZFxuICBlbGVtZW50Lmxlbmd0aCA8IDEpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgdmFsdWUgPSBlbGVtZW50LnZhbHVlLFxuICAgICAgcGFyZW50ID0gZWxlbWVudC5wYXJlbnQ7XG4gIHZhciBpc0ltcGxpY2l0UnVsZSA9IGVsZW1lbnQuY29sdW1uID09PSBwYXJlbnQuY29sdW1uICYmIGVsZW1lbnQubGluZSA9PT0gcGFyZW50LmxpbmU7XG5cbiAgd2hpbGUgKHBhcmVudC50eXBlICE9PSAncnVsZScpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICAgIGlmICghcGFyZW50KSByZXR1cm47XG4gIH0gLy8gc2hvcnQtY2lyY3VpdCBmb3IgdGhlIHNpbXBsZXN0IGNhc2VcblxuXG4gIGlmIChlbGVtZW50LnByb3BzLmxlbmd0aCA9PT0gMSAmJiB2YWx1ZS5jaGFyQ29kZUF0KDApICE9PSA1OFxuICAvKiBjb2xvbiAqL1xuICAmJiAhZml4ZWRFbGVtZW50cy5nZXQocGFyZW50KSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBpZiB0aGlzIGlzIGFuIGltcGxpY2l0bHkgaW5zZXJ0ZWQgcnVsZSAodGhlIG9uZSBlYWdlcmx5IGluc2VydGVkIGF0IHRoZSBlYWNoIG5ldyBuZXN0ZWQgbGV2ZWwpXG4gIC8vIHRoZW4gdGhlIHByb3BzIGhhcyBhbHJlYWR5IGJlZW4gbWFuaXB1bGF0ZWQgYmVmb3JlaGFuZCBhcyB0aGV5IHRoYXQgYXJyYXkgaXMgc2hhcmVkIGJldHdlZW4gaXQgYW5kIGl0cyBcInJ1bGUgcGFyZW50XCJcblxuXG4gIGlmIChpc0ltcGxpY2l0UnVsZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZpeGVkRWxlbWVudHMuc2V0KGVsZW1lbnQsIHRydWUpO1xuICB2YXIgcG9pbnRzID0gW107XG4gIHZhciBydWxlcyA9IGdldFJ1bGVzKHZhbHVlLCBwb2ludHMpO1xuICB2YXIgcGFyZW50UnVsZXMgPSBwYXJlbnQucHJvcHM7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGsgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBhcmVudFJ1bGVzLmxlbmd0aDsgaisrLCBrKyspIHtcbiAgICAgIGVsZW1lbnQucHJvcHNba10gPSBwb2ludHNbaV0gPyBydWxlc1tpXS5yZXBsYWNlKC8mXFxmL2csIHBhcmVudFJ1bGVzW2pdKSA6IHBhcmVudFJ1bGVzW2pdICsgXCIgXCIgKyBydWxlc1tpXTtcbiAgICB9XG4gIH1cbn07XG52YXIgcmVtb3ZlTGFiZWwgPSBmdW5jdGlvbiByZW1vdmVMYWJlbChlbGVtZW50KSB7XG4gIGlmIChlbGVtZW50LnR5cGUgPT09ICdkZWNsJykge1xuICAgIHZhciB2YWx1ZSA9IGVsZW1lbnQudmFsdWU7XG5cbiAgICBpZiAoIC8vIGNoYXJjb2RlIGZvciBsXG4gICAgdmFsdWUuY2hhckNvZGVBdCgwKSA9PT0gMTA4ICYmIC8vIGNoYXJjb2RlIGZvciBiXG4gICAgdmFsdWUuY2hhckNvZGVBdCgyKSA9PT0gOTgpIHtcbiAgICAgIC8vIHRoaXMgaWdub3JlcyBsYWJlbFxuICAgICAgZWxlbWVudFtcInJldHVyblwiXSA9ICcnO1xuICAgICAgZWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxufTtcblxuLyogZXNsaW50LWRpc2FibGUgbm8tZmFsbHRocm91Z2ggKi9cblxuZnVuY3Rpb24gcHJlZml4KHZhbHVlLCBsZW5ndGgpIHtcbiAgc3dpdGNoIChoYXNoKHZhbHVlLCBsZW5ndGgpKSB7XG4gICAgLy8gY29sb3ItYWRqdXN0XG4gICAgY2FzZSA1MTAzOlxuICAgICAgcmV0dXJuIFdFQktJVCArICdwcmludC0nICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBhbmltYXRpb24sIGFuaW1hdGlvbi0oZGVsYXl8ZGlyZWN0aW9ufGR1cmF0aW9ufGZpbGwtbW9kZXxpdGVyYXRpb24tY291bnR8bmFtZXxwbGF5LXN0YXRlfHRpbWluZy1mdW5jdGlvbilcblxuICAgIGNhc2UgNTczNzpcbiAgICBjYXNlIDQyMDE6XG4gICAgY2FzZSAzMTc3OlxuICAgIGNhc2UgMzQzMzpcbiAgICBjYXNlIDE2NDE6XG4gICAgY2FzZSA0NDU3OlxuICAgIGNhc2UgMjkyMTogLy8gdGV4dC1kZWNvcmF0aW9uLCBmaWx0ZXIsIGNsaXAtcGF0aCwgYmFja2ZhY2UtdmlzaWJpbGl0eSwgY29sdW1uLCBib3gtZGVjb3JhdGlvbi1icmVha1xuXG4gICAgY2FzZSA1NTcyOlxuICAgIGNhc2UgNjM1NjpcbiAgICBjYXNlIDU4NDQ6XG4gICAgY2FzZSAzMTkxOlxuICAgIGNhc2UgNjY0NTpcbiAgICBjYXNlIDMwMDU6IC8vIG1hc2ssIG1hc2staW1hZ2UsIG1hc2stKG1vZGV8Y2xpcHxzaXplKSwgbWFzay0ocmVwZWF0fG9yaWdpbiksIG1hc2stcG9zaXRpb24sIG1hc2stY29tcG9zaXRlLFxuXG4gICAgY2FzZSA2MzkxOlxuICAgIGNhc2UgNTg3OTpcbiAgICBjYXNlIDU2MjM6XG4gICAgY2FzZSA2MTM1OlxuICAgIGNhc2UgNDU5OTpcbiAgICBjYXNlIDQ4NTU6IC8vIGJhY2tncm91bmQtY2xpcCwgY29sdW1ucywgY29sdW1uLShjb3VudHxmaWxsfGdhcHxydWxlfHJ1bGUtY29sb3J8cnVsZS1zdHlsZXxydWxlLXdpZHRofHNwYW58d2lkdGgpXG5cbiAgICBjYXNlIDQyMTU6XG4gICAgY2FzZSA2Mzg5OlxuICAgIGNhc2UgNTEwOTpcbiAgICBjYXNlIDUzNjU6XG4gICAgY2FzZSA1NjIxOlxuICAgIGNhc2UgMzgyOTpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIHZhbHVlO1xuICAgIC8vIGFwcGVhcmFuY2UsIHVzZXItc2VsZWN0LCB0cmFuc2Zvcm0sIGh5cGhlbnMsIHRleHQtc2l6ZS1hZGp1c3RcblxuICAgIGNhc2UgNTM0OTpcbiAgICBjYXNlIDQyNDY6XG4gICAgY2FzZSA0ODEwOlxuICAgIGNhc2UgNjk2ODpcbiAgICBjYXNlIDI3NTY6XG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNT1ogKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LCBmbGV4LWRpcmVjdGlvblxuXG4gICAgY2FzZSA2ODI4OlxuICAgIGNhc2UgNDI2ODpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBvcmRlclxuXG4gICAgY2FzZSA2MTY1OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC0nICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBhbGlnbi1pdGVtc1xuXG4gICAgY2FzZSA1MTg3OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgcmVwbGFjZSh2YWx1ZSwgLyhcXHcrKS4rKDpbXl0rKS8sIFdFQktJVCArICdib3gtJDEkMicgKyBNUyArICdmbGV4LSQxJDInKSArIHZhbHVlO1xuICAgIC8vIGFsaWduLXNlbGZcblxuICAgIGNhc2UgNTQ0MzpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgJ2ZsZXgtaXRlbS0nICsgcmVwbGFjZSh2YWx1ZSwgL2ZsZXgtfC1zZWxmLywgJycpICsgdmFsdWU7XG4gICAgLy8gYWxpZ24tY29udGVudFxuXG4gICAgY2FzZSA0Njc1OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC1saW5lLXBhY2snICsgcmVwbGFjZSh2YWx1ZSwgL2FsaWduLWNvbnRlbnR8ZmxleC18LXNlbGYvLCAnJykgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LXNocmlua1xuXG4gICAgY2FzZSA1NTQ4OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAnc2hyaW5rJywgJ25lZ2F0aXZlJykgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LWJhc2lzXG5cbiAgICBjYXNlIDUyOTI6XG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsICdiYXNpcycsICdwcmVmZXJyZWQtc2l6ZScpICsgdmFsdWU7XG4gICAgLy8gZmxleC1ncm93XG5cbiAgICBjYXNlIDYwNjA6XG4gICAgICByZXR1cm4gV0VCS0lUICsgJ2JveC0nICsgcmVwbGFjZSh2YWx1ZSwgJy1ncm93JywgJycpICsgV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsICdncm93JywgJ3Bvc2l0aXZlJykgKyB2YWx1ZTtcbiAgICAvLyB0cmFuc2l0aW9uXG5cbiAgICBjYXNlIDQ1NTQ6XG4gICAgICByZXR1cm4gV0VCS0lUICsgcmVwbGFjZSh2YWx1ZSwgLyhbXi1dKSh0cmFuc2Zvcm0pL2csICckMScgKyBXRUJLSVQgKyAnJDInKSArIHZhbHVlO1xuICAgIC8vIGN1cnNvclxuXG4gICAgY2FzZSA2MTg3OlxuICAgICAgcmV0dXJuIHJlcGxhY2UocmVwbGFjZShyZXBsYWNlKHZhbHVlLCAvKHpvb20tfGdyYWIpLywgV0VCS0lUICsgJyQxJyksIC8oaW1hZ2Utc2V0KS8sIFdFQktJVCArICckMScpLCB2YWx1ZSwgJycpICsgdmFsdWU7XG4gICAgLy8gYmFja2dyb3VuZCwgYmFja2dyb3VuZC1pbWFnZVxuXG4gICAgY2FzZSA1NDk1OlxuICAgIGNhc2UgMzk1OTpcbiAgICAgIHJldHVybiByZXBsYWNlKHZhbHVlLCAvKGltYWdlLXNldFxcKFteXSopLywgV0VCS0lUICsgJyQxJyArICckYCQxJyk7XG4gICAgLy8ganVzdGlmeS1jb250ZW50XG5cbiAgICBjYXNlIDQ5Njg6XG4gICAgICByZXR1cm4gcmVwbGFjZShyZXBsYWNlKHZhbHVlLCAvKC4rOikoZmxleC0pPyguKikvLCBXRUJLSVQgKyAnYm94LXBhY2s6JDMnICsgTVMgKyAnZmxleC1wYWNrOiQzJyksIC9zListYlteO10rLywgJ2p1c3RpZnknKSArIFdFQktJVCArIHZhbHVlICsgdmFsdWU7XG4gICAgLy8gKG1hcmdpbnxwYWRkaW5nKS1pbmxpbmUtKHN0YXJ0fGVuZClcblxuICAgIGNhc2UgNDA5NTpcbiAgICBjYXNlIDM1ODM6XG4gICAgY2FzZSA0MDY4OlxuICAgIGNhc2UgMjUzMjpcbiAgICAgIHJldHVybiByZXBsYWNlKHZhbHVlLCAvKC4rKS1pbmxpbmUoLispLywgV0VCS0lUICsgJyQxJDInKSArIHZhbHVlO1xuICAgIC8vIChtaW58bWF4KT8od2lkdGh8aGVpZ2h0fGlubGluZS1zaXplfGJsb2NrLXNpemUpXG5cbiAgICBjYXNlIDgxMTY6XG4gICAgY2FzZSA3MDU5OlxuICAgIGNhc2UgNTc1MzpcbiAgICBjYXNlIDU1MzU6XG4gICAgY2FzZSA1NDQ1OlxuICAgIGNhc2UgNTcwMTpcbiAgICBjYXNlIDQ5MzM6XG4gICAgY2FzZSA0Njc3OlxuICAgIGNhc2UgNTUzMzpcbiAgICBjYXNlIDU3ODk6XG4gICAgY2FzZSA1MDIxOlxuICAgIGNhc2UgNDc2NTpcbiAgICAgIC8vIHN0cmV0Y2gsIG1heC1jb250ZW50LCBtaW4tY29udGVudCwgZmlsbC1hdmFpbGFibGVcbiAgICAgIGlmIChzdHJsZW4odmFsdWUpIC0gMSAtIGxlbmd0aCA+IDYpIHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxKSkge1xuICAgICAgICAvLyAobSlheC1jb250ZW50LCAobSlpbi1jb250ZW50XG4gICAgICAgIGNhc2UgMTA5OlxuICAgICAgICAgIC8vIC1cbiAgICAgICAgICBpZiAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyA0KSAhPT0gNDUpIGJyZWFrO1xuICAgICAgICAvLyAoZilpbGwtYXZhaWxhYmxlLCAoZilpdC1jb250ZW50XG5cbiAgICAgICAgY2FzZSAxMDI6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLis6KSguKyktKFteXSspLywgJyQxJyArIFdFQktJVCArICckMi0kMycgKyAnJDEnICsgTU9aICsgKGNoYXJhdCh2YWx1ZSwgbGVuZ3RoICsgMykgPT0gMTA4ID8gJyQzJyA6ICckMi0kMycpKSArIHZhbHVlO1xuICAgICAgICAvLyAocyl0cmV0Y2hcblxuICAgICAgICBjYXNlIDExNTpcbiAgICAgICAgICByZXR1cm4gfmluZGV4b2YodmFsdWUsICdzdHJldGNoJykgPyBwcmVmaXgocmVwbGFjZSh2YWx1ZSwgJ3N0cmV0Y2gnLCAnZmlsbC1hdmFpbGFibGUnKSwgbGVuZ3RoKSArIHZhbHVlIDogdmFsdWU7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICAvLyBwb3NpdGlvbjogc3RpY2t5XG5cbiAgICBjYXNlIDQ5NDk6XG4gICAgICAvLyAocyl0aWNreT9cbiAgICAgIGlmIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDEpICE9PSAxMTUpIGJyZWFrO1xuICAgIC8vIGRpc3BsYXk6IChmbGV4fGlubGluZS1mbGV4KVxuXG4gICAgY2FzZSA2NDQ0OlxuICAgICAgc3dpdGNoIChjaGFyYXQodmFsdWUsIHN0cmxlbih2YWx1ZSkgLSAzIC0gKH5pbmRleG9mKHZhbHVlLCAnIWltcG9ydGFudCcpICYmIDEwKSkpIHtcbiAgICAgICAgLy8gc3RpYyhrKXlcbiAgICAgICAgY2FzZSAxMDc6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsICc6JywgJzonICsgV0VCS0lUKSArIHZhbHVlO1xuICAgICAgICAvLyAoaW5saW5lLSk/ZmwoZSl4XG5cbiAgICAgICAgY2FzZSAxMDE6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLis6KShbXjshXSspKDt8IS4rKT8vLCAnJDEnICsgV0VCS0lUICsgKGNoYXJhdCh2YWx1ZSwgMTQpID09PSA0NSA/ICdpbmxpbmUtJyA6ICcnKSArICdib3gkMycgKyAnJDEnICsgV0VCS0lUICsgJyQyJDMnICsgJyQxJyArIE1TICsgJyQyYm94JDMnKSArIHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICAvLyB3cml0aW5nLW1vZGVcblxuICAgIGNhc2UgNTkzNjpcbiAgICAgIHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxMSkpIHtcbiAgICAgICAgLy8gdmVydGljYWwtbChyKVxuICAgICAgICBjYXNlIDExNDpcbiAgICAgICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsIC9bc3ZoXVxcdystW3RibHJdezJ9LywgJ3RiJykgKyB2YWx1ZTtcbiAgICAgICAgLy8gdmVydGljYWwtcihsKVxuXG4gICAgICAgIGNhc2UgMTA4OlxuICAgICAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAndGItcmwnKSArIHZhbHVlO1xuICAgICAgICAvLyBob3Jpem9udGFsKC0pdGJcblxuICAgICAgICBjYXNlIDQ1OlxuICAgICAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAnbHInKSArIHZhbHVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHZhbHVlICsgdmFsdWU7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbnZhciBwcmVmaXhlciA9IGZ1bmN0aW9uIHByZWZpeGVyKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcbiAgaWYgKGVsZW1lbnQubGVuZ3RoID4gLTEpIGlmICghZWxlbWVudFtcInJldHVyblwiXSkgc3dpdGNoIChlbGVtZW50LnR5cGUpIHtcbiAgICBjYXNlIERFQ0xBUkFUSU9OOlxuICAgICAgZWxlbWVudFtcInJldHVyblwiXSA9IHByZWZpeChlbGVtZW50LnZhbHVlLCBlbGVtZW50Lmxlbmd0aCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgS0VZRlJBTUVTOlxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZShbY29weShlbGVtZW50LCB7XG4gICAgICAgIHZhbHVlOiByZXBsYWNlKGVsZW1lbnQudmFsdWUsICdAJywgJ0AnICsgV0VCS0lUKVxuICAgICAgfSldLCBjYWxsYmFjayk7XG5cbiAgICBjYXNlIFJVTEVTRVQ6XG4gICAgICBpZiAoZWxlbWVudC5sZW5ndGgpIHJldHVybiBjb21iaW5lKGVsZW1lbnQucHJvcHMsIGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKG1hdGNoKHZhbHVlLCAvKDo6cGxhY1xcdyt8OnJlYWQtXFx3KykvKSkge1xuICAgICAgICAgIC8vIDpyZWFkLShvbmx5fHdyaXRlKVxuICAgICAgICAgIGNhc2UgJzpyZWFkLW9ubHknOlxuICAgICAgICAgIGNhc2UgJzpyZWFkLXdyaXRlJzpcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemUoW2NvcHkoZWxlbWVudCwge1xuICAgICAgICAgICAgICBwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHJlYWQtXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV1cbiAgICAgICAgICAgIH0pXSwgY2FsbGJhY2spO1xuICAgICAgICAgIC8vIDpwbGFjZWhvbGRlclxuXG4gICAgICAgICAgY2FzZSAnOjpwbGFjZWhvbGRlcic6XG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplKFtjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCAnOicgKyBXRUJLSVQgKyAnaW5wdXQtJDEnKV1cbiAgICAgICAgICAgIH0pLCBjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV1cbiAgICAgICAgICAgIH0pLCBjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCBNUyArICdpbnB1dC0kMScpXVxuICAgICAgICAgICAgfSldLCBjYWxsYmFjayk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9KTtcbiAgfVxufTtcblxudmFyIGRlZmF1bHRTdHlsaXNQbHVnaW5zID0gW3ByZWZpeGVyXTtcblxudmFyIGNyZWF0ZUNhY2hlID0gZnVuY3Rpb25cbiAgLyo6IEVtb3Rpb25DYWNoZSAqL1xuY3JlYXRlQ2FjaGUob3B0aW9uc1xuLyo6IE9wdGlvbnMgKi9cbikge1xuICB2YXIga2V5ID0gb3B0aW9ucy5rZXk7XG5cbiAgaWYgKGtleSA9PT0gJ2NzcycpIHtcbiAgICB2YXIgc3NyU3R5bGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcInN0eWxlW2RhdGEtZW1vdGlvbl06bm90KFtkYXRhLXNdKVwiKTsgLy8gZ2V0IFNTUmVkIHN0eWxlcyBvdXQgb2YgdGhlIHdheSBvZiBSZWFjdCdzIGh5ZHJhdGlvblxuICAgIC8vIGRvY3VtZW50LmhlYWQgaXMgYSBzYWZlIHBsYWNlIHRvIG1vdmUgdGhlbSB0byh0aG91Z2ggbm90ZSBkb2N1bWVudC5oZWFkIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgbGFzdCBwbGFjZSB0aGV5IHdpbGwgYmUpXG4gICAgLy8gbm90ZSB0aGlzIHZlcnkgdmVyeSBpbnRlbnRpb25hbGx5IHRhcmdldHMgYWxsIHN0eWxlIGVsZW1lbnRzIHJlZ2FyZGxlc3Mgb2YgdGhlIGtleSB0byBlbnN1cmVcbiAgICAvLyB0aGF0IGNyZWF0aW5nIGEgY2FjaGUgd29ya3MgaW5zaWRlIG9mIHJlbmRlciBvZiBhIFJlYWN0IGNvbXBvbmVudFxuXG4gICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChzc3JTdHlsZXMsIGZ1bmN0aW9uIChub2RlXG4gICAgLyo6IEhUTUxTdHlsZUVsZW1lbnQgKi9cbiAgICApIHtcbiAgICAgIC8vIHdlIHdhbnQgdG8gb25seSBtb3ZlIGVsZW1lbnRzIHdoaWNoIGhhdmUgYSBzcGFjZSBpbiB0aGUgZGF0YS1lbW90aW9uIGF0dHJpYnV0ZSB2YWx1ZVxuICAgICAgLy8gYmVjYXVzZSB0aGF0IGluZGljYXRlcyB0aGF0IGl0IGlzIGFuIEVtb3Rpb24gMTEgc2VydmVyLXNpZGUgcmVuZGVyZWQgc3R5bGUgZWxlbWVudHNcbiAgICAgIC8vIHdoaWxlIHdlIHdpbGwgYWxyZWFkeSBpZ25vcmUgRW1vdGlvbiAxMSBjbGllbnQtc2lkZSBpbnNlcnRlZCBzdHlsZXMgYmVjYXVzZSBvZiB0aGUgOm5vdChbZGF0YS1zXSkgcGFydCBpbiB0aGUgc2VsZWN0b3JcbiAgICAgIC8vIEVtb3Rpb24gMTAgY2xpZW50LXNpZGUgaW5zZXJ0ZWQgc3R5bGVzIGRpZCBub3QgaGF2ZSBkYXRhLXMgKGJ1dCBpbXBvcnRhbnRseSBkaWQgbm90IGhhdmUgYSBzcGFjZSBpbiB0aGVpciBkYXRhLWVtb3Rpb24gYXR0cmlidXRlcylcbiAgICAgIC8vIHNvIGNoZWNraW5nIGZvciB0aGUgc3BhY2UgZW5zdXJlcyB0aGF0IGxvYWRpbmcgRW1vdGlvbiAxMSBhZnRlciBFbW90aW9uIDEwIGhhcyBpbnNlcnRlZCBzb21lIHN0eWxlc1xuICAgICAgLy8gd2lsbCBub3QgcmVzdWx0IGluIHRoZSBFbW90aW9uIDEwIHN0eWxlcyBiZWluZyBkZXN0cm95ZWRcbiAgICAgIHZhciBkYXRhRW1vdGlvbkF0dHJpYnV0ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWVtb3Rpb24nKTtcblxuICAgICAgaWYgKGRhdGFFbW90aW9uQXR0cmlidXRlLmluZGV4T2YoJyAnKSA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG5vZGUpO1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2RhdGEtcycsICcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhciBzdHlsaXNQbHVnaW5zID0gb3B0aW9ucy5zdHlsaXNQbHVnaW5zIHx8IGRlZmF1bHRTdHlsaXNQbHVnaW5zO1xuXG4gIHZhciBpbnNlcnRlZCA9IHt9O1xuICB2YXIgY29udGFpbmVyO1xuICAvKiA6IE5vZGUgKi9cblxuICB2YXIgbm9kZXNUb0h5ZHJhdGUgPSBbXTtcblxuICB7XG4gICAgY29udGFpbmVyID0gb3B0aW9ucy5jb250YWluZXIgfHwgZG9jdW1lbnQuaGVhZDtcbiAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKCAvLyB0aGlzIG1lYW5zIHdlIHdpbGwgaWdub3JlIGVsZW1lbnRzIHdoaWNoIGRvbid0IGhhdmUgYSBzcGFjZSBpbiB0aGVtIHdoaWNoXG4gICAgLy8gbWVhbnMgdGhhdCB0aGUgc3R5bGUgZWxlbWVudHMgd2UncmUgbG9va2luZyBhdCBhcmUgb25seSBFbW90aW9uIDExIHNlcnZlci1yZW5kZXJlZCBzdHlsZSBlbGVtZW50c1xuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJzdHlsZVtkYXRhLWVtb3Rpb25ePVxcXCJcIiArIGtleSArIFwiIFxcXCJdXCIpLCBmdW5jdGlvbiAobm9kZVxuICAgIC8qOiBIVE1MU3R5bGVFbGVtZW50ICovXG4gICAgKSB7XG4gICAgICB2YXIgYXR0cmliID0gbm9kZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWVtb3Rpb25cIikuc3BsaXQoJyAnKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhdHRyaWIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaW5zZXJ0ZWRbYXR0cmliW2ldXSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIG5vZGVzVG9IeWRyYXRlLnB1c2gobm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICB2YXIgX2luc2VydDtcbiAgLyo6IChcbiAgc2VsZWN0b3I6IHN0cmluZyxcbiAgc2VyaWFsaXplZDogU2VyaWFsaXplZFN0eWxlcyxcbiAgc2hlZXQ6IFN0eWxlU2hlZXQsXG4gIHNob3VsZENhY2hlOiBib29sZWFuXG4gICkgPT4gc3RyaW5nIHwgdm9pZCAqL1xuXG5cbiAgdmFyIG9tbmlwcmVzZW50UGx1Z2lucyA9IFtjb21wYXQsIHJlbW92ZUxhYmVsXTtcblxuICB7XG4gICAgdmFyIGN1cnJlbnRTaGVldDtcbiAgICB2YXIgZmluYWxpemluZ1BsdWdpbnMgPSBbc3RyaW5naWZ5LCBydWxlc2hlZXQoZnVuY3Rpb24gKHJ1bGUpIHtcbiAgICAgIGN1cnJlbnRTaGVldC5pbnNlcnQocnVsZSk7XG4gICAgfSldO1xuICAgIHZhciBzZXJpYWxpemVyID0gbWlkZGxld2FyZShvbW5pcHJlc2VudFBsdWdpbnMuY29uY2F0KHN0eWxpc1BsdWdpbnMsIGZpbmFsaXppbmdQbHVnaW5zKSk7XG5cbiAgICB2YXIgc3R5bGlzID0gZnVuY3Rpb24gc3R5bGlzKHN0eWxlcykge1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZShjb21waWxlKHN0eWxlcyksIHNlcmlhbGl6ZXIpO1xuICAgIH07XG5cbiAgICBfaW5zZXJ0ID0gZnVuY3Rpb25cbiAgICAgIC8qOiB2b2lkICovXG4gICAgaW5zZXJ0KHNlbGVjdG9yXG4gICAgLyo6IHN0cmluZyAqL1xuICAgICwgc2VyaWFsaXplZFxuICAgIC8qOiBTZXJpYWxpemVkU3R5bGVzICovXG4gICAgLCBzaGVldFxuICAgIC8qOiBTdHlsZVNoZWV0ICovXG4gICAgLCBzaG91bGRDYWNoZVxuICAgIC8qOiBib29sZWFuICovXG4gICAgKSB7XG4gICAgICBjdXJyZW50U2hlZXQgPSBzaGVldDtcblxuICAgICAgc3R5bGlzKHNlbGVjdG9yID8gc2VsZWN0b3IgKyBcIntcIiArIHNlcmlhbGl6ZWQuc3R5bGVzICsgXCJ9XCIgOiBzZXJpYWxpemVkLnN0eWxlcyk7XG5cbiAgICAgIGlmIChzaG91bGRDYWNoZSkge1xuICAgICAgICBjYWNoZS5pbnNlcnRlZFtzZXJpYWxpemVkLm5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgdmFyIGNhY2hlXG4gIC8qOiBFbW90aW9uQ2FjaGUgKi9cbiAgPSB7XG4gICAga2V5OiBrZXksXG4gICAgc2hlZXQ6IG5ldyBTdHlsZVNoZWV0KHtcbiAgICAgIGtleToga2V5LFxuICAgICAgY29udGFpbmVyOiBjb250YWluZXIsXG4gICAgICBub25jZTogb3B0aW9ucy5ub25jZSxcbiAgICAgIHNwZWVkeTogb3B0aW9ucy5zcGVlZHksXG4gICAgICBwcmVwZW5kOiBvcHRpb25zLnByZXBlbmQsXG4gICAgICBpbnNlcnRpb25Qb2ludDogb3B0aW9ucy5pbnNlcnRpb25Qb2ludFxuICAgIH0pLFxuICAgIG5vbmNlOiBvcHRpb25zLm5vbmNlLFxuICAgIGluc2VydGVkOiBpbnNlcnRlZCxcbiAgICByZWdpc3RlcmVkOiB7fSxcbiAgICBpbnNlcnQ6IF9pbnNlcnRcbiAgfTtcbiAgY2FjaGUuc2hlZXQuaHlkcmF0ZShub2Rlc1RvSHlkcmF0ZSk7XG4gIHJldHVybiBjYWNoZTtcbn07XG5cbmV4cG9ydCB7IGNyZWF0ZUNhY2hlIGFzIGRlZmF1bHQgfTtcbiIsICJ2YXIgaXNCcm93c2VyID0gdHJ1ZTtcblxuZnVuY3Rpb24gZ2V0UmVnaXN0ZXJlZFN0eWxlcyhyZWdpc3RlcmVkLCByZWdpc3RlcmVkU3R5bGVzLCBjbGFzc05hbWVzKSB7XG4gIHZhciByYXdDbGFzc05hbWUgPSAnJztcbiAgY2xhc3NOYW1lcy5zcGxpdCgnICcpLmZvckVhY2goZnVuY3Rpb24gKGNsYXNzTmFtZSkge1xuICAgIGlmIChyZWdpc3RlcmVkW2NsYXNzTmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVnaXN0ZXJlZFN0eWxlcy5wdXNoKHJlZ2lzdGVyZWRbY2xhc3NOYW1lXSArIFwiO1wiKTtcbiAgICB9IGVsc2UgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgcmF3Q2xhc3NOYW1lICs9IGNsYXNzTmFtZSArIFwiIFwiO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByYXdDbGFzc05hbWU7XG59XG52YXIgcmVnaXN0ZXJTdHlsZXMgPSBmdW5jdGlvbiByZWdpc3RlclN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpIHtcbiAgdmFyIGNsYXNzTmFtZSA9IGNhY2hlLmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuXG4gIGlmICggLy8gd2Ugb25seSBuZWVkIHRvIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSByZWdpc3RlcmVkIGNhY2hlIGlmIHRoZVxuICAvLyBjbGFzcyBuYW1lIGNvdWxkIGJlIHVzZWQgZnVydGhlciBkb3duXG4gIC8vIHRoZSB0cmVlIGJ1dCBpZiBpdCdzIGEgc3RyaW5nIHRhZywgd2Uga25vdyBpdCB3b24ndFxuICAvLyBzbyB3ZSBkb24ndCBoYXZlIHRvIGFkZCBpdCB0byByZWdpc3RlcmVkIGNhY2hlLlxuICAvLyB0aGlzIGltcHJvdmVzIG1lbW9yeSB1c2FnZSBzaW5jZSB3ZSBjYW4gYXZvaWQgc3RvcmluZyB0aGUgd2hvbGUgc3R5bGUgc3RyaW5nXG4gIChpc1N0cmluZ1RhZyA9PT0gZmFsc2UgfHwgLy8gd2UgbmVlZCB0byBhbHdheXMgc3RvcmUgaXQgaWYgd2UncmUgaW4gY29tcGF0IG1vZGUgYW5kXG4gIC8vIGluIG5vZGUgc2luY2UgZW1vdGlvbi1zZXJ2ZXIgcmVsaWVzIG9uIHdoZXRoZXIgYSBzdHlsZSBpcyBpblxuICAvLyB0aGUgcmVnaXN0ZXJlZCBjYWNoZSB0byBrbm93IHdoZXRoZXIgYSBzdHlsZSBpcyBnbG9iYWwgb3Igbm90XG4gIC8vIGFsc28sIG5vdGUgdGhhdCB0aGlzIGNoZWNrIHdpbGwgYmUgZGVhZCBjb2RlIGVsaW1pbmF0ZWQgaW4gdGhlIGJyb3dzZXJcbiAgaXNCcm93c2VyID09PSBmYWxzZSApICYmIGNhY2hlLnJlZ2lzdGVyZWRbY2xhc3NOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FjaGUucmVnaXN0ZXJlZFtjbGFzc05hbWVdID0gc2VyaWFsaXplZC5zdHlsZXM7XG4gIH1cbn07XG52YXIgaW5zZXJ0U3R5bGVzID0gZnVuY3Rpb24gaW5zZXJ0U3R5bGVzKGNhY2hlLCBzZXJpYWxpemVkLCBpc1N0cmluZ1RhZykge1xuICByZWdpc3RlclN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpO1xuICB2YXIgY2xhc3NOYW1lID0gY2FjaGUua2V5ICsgXCItXCIgKyBzZXJpYWxpemVkLm5hbWU7XG5cbiAgaWYgKGNhY2hlLmluc2VydGVkW3NlcmlhbGl6ZWQubmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBjdXJyZW50ID0gc2VyaWFsaXplZDtcblxuICAgIGRvIHtcbiAgICAgIGNhY2hlLmluc2VydChzZXJpYWxpemVkID09PSBjdXJyZW50ID8gXCIuXCIgKyBjbGFzc05hbWUgOiAnJywgY3VycmVudCwgY2FjaGUuc2hlZXQsIHRydWUpO1xuXG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH0gd2hpbGUgKGN1cnJlbnQgIT09IHVuZGVmaW5lZCk7XG4gIH1cbn07XG5cbmV4cG9ydCB7IGdldFJlZ2lzdGVyZWRTdHlsZXMsIGluc2VydFN0eWxlcywgcmVnaXN0ZXJTdHlsZXMgfTtcbiIsICIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuLy8gSW5zcGlyZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2dhcnljb3VydC9tdXJtdXJoYXNoLWpzXG4vLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYWFwcGxlYnkvc21oYXNoZXIvYmxvYi82MWEwNTMwZjI4Mjc3ZjJlODUwYmZjMzk2MDBjZTYxZDAyYjUxOGRlL3NyYy9NdXJtdXJIYXNoMi5jcHAjTDM3LUw4NlxuZnVuY3Rpb24gbXVybXVyMihzdHIpIHtcbiAgLy8gJ20nIGFuZCAncicgYXJlIG1peGluZyBjb25zdGFudHMgZ2VuZXJhdGVkIG9mZmxpbmUuXG4gIC8vIFRoZXkncmUgbm90IHJlYWxseSAnbWFnaWMnLCB0aGV5IGp1c3QgaGFwcGVuIHRvIHdvcmsgd2VsbC5cbiAgLy8gY29uc3QgbSA9IDB4NWJkMWU5OTU7XG4gIC8vIGNvbnN0IHIgPSAyNDtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGFzaFxuICB2YXIgaCA9IDA7IC8vIE1peCA0IGJ5dGVzIGF0IGEgdGltZSBpbnRvIHRoZSBoYXNoXG5cbiAgdmFyIGssXG4gICAgICBpID0gMCxcbiAgICAgIGxlbiA9IHN0ci5sZW5ndGg7XG5cbiAgZm9yICg7IGxlbiA+PSA0OyArK2ksIGxlbiAtPSA0KSB7XG4gICAgayA9IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhmZiB8IChzdHIuY2hhckNvZGVBdCgrK2kpICYgMHhmZikgPDwgOCB8IChzdHIuY2hhckNvZGVBdCgrK2kpICYgMHhmZikgPDwgMTYgfCAoc3RyLmNoYXJDb2RlQXQoKytpKSAmIDB4ZmYpIDw8IDI0O1xuICAgIGsgPVxuICAgIC8qIE1hdGguaW11bChrLCBtKTogKi9cbiAgICAoayAmIDB4ZmZmZikgKiAweDViZDFlOTk1ICsgKChrID4+PiAxNikgKiAweGU5OTUgPDwgMTYpO1xuICAgIGsgXj1cbiAgICAvKiBrID4+PiByOiAqL1xuICAgIGsgPj4+IDI0O1xuICAgIGggPVxuICAgIC8qIE1hdGguaW11bChrLCBtKTogKi9cbiAgICAoayAmIDB4ZmZmZikgKiAweDViZDFlOTk1ICsgKChrID4+PiAxNikgKiAweGU5OTUgPDwgMTYpIF5cbiAgICAvKiBNYXRoLmltdWwoaCwgbSk6ICovXG4gICAgKGggJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoaCA+Pj4gMTYpICogMHhlOTk1IDw8IDE2KTtcbiAgfSAvLyBIYW5kbGUgdGhlIGxhc3QgZmV3IGJ5dGVzIG9mIHRoZSBpbnB1dCBhcnJheVxuXG5cbiAgc3dpdGNoIChsZW4pIHtcbiAgICBjYXNlIDM6XG4gICAgICBoIF49IChzdHIuY2hhckNvZGVBdChpICsgMikgJiAweGZmKSA8PCAxNjtcblxuICAgIGNhc2UgMjpcbiAgICAgIGggXj0gKHN0ci5jaGFyQ29kZUF0KGkgKyAxKSAmIDB4ZmYpIDw8IDg7XG5cbiAgICBjYXNlIDE6XG4gICAgICBoIF49IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhmZjtcbiAgICAgIGggPVxuICAgICAgLyogTWF0aC5pbXVsKGgsIG0pOiAqL1xuICAgICAgKGggJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoaCA+Pj4gMTYpICogMHhlOTk1IDw8IDE2KTtcbiAgfSAvLyBEbyBhIGZldyBmaW5hbCBtaXhlcyBvZiB0aGUgaGFzaCB0byBlbnN1cmUgdGhlIGxhc3QgZmV3XG4gIC8vIGJ5dGVzIGFyZSB3ZWxsLWluY29ycG9yYXRlZC5cblxuXG4gIGggXj0gaCA+Pj4gMTM7XG4gIGggPVxuICAvKiBNYXRoLmltdWwoaCwgbSk6ICovXG4gIChoICYgMHhmZmZmKSAqIDB4NWJkMWU5OTUgKyAoKGggPj4+IDE2KSAqIDB4ZTk5NSA8PCAxNik7XG4gIHJldHVybiAoKGggXiBoID4+PiAxNSkgPj4+IDApLnRvU3RyaW5nKDM2KTtcbn1cblxuZXhwb3J0IHsgbXVybXVyMiBhcyBkZWZhdWx0IH07XG4iLCAidmFyIHVuaXRsZXNzS2V5cyA9IHtcbiAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IDEsXG4gIGFzcGVjdFJhdGlvOiAxLFxuICBib3JkZXJJbWFnZU91dHNldDogMSxcbiAgYm9yZGVySW1hZ2VTbGljZTogMSxcbiAgYm9yZGVySW1hZ2VXaWR0aDogMSxcbiAgYm94RmxleDogMSxcbiAgYm94RmxleEdyb3VwOiAxLFxuICBib3hPcmRpbmFsR3JvdXA6IDEsXG4gIGNvbHVtbkNvdW50OiAxLFxuICBjb2x1bW5zOiAxLFxuICBmbGV4OiAxLFxuICBmbGV4R3JvdzogMSxcbiAgZmxleFBvc2l0aXZlOiAxLFxuICBmbGV4U2hyaW5rOiAxLFxuICBmbGV4TmVnYXRpdmU6IDEsXG4gIGZsZXhPcmRlcjogMSxcbiAgZ3JpZFJvdzogMSxcbiAgZ3JpZFJvd0VuZDogMSxcbiAgZ3JpZFJvd1NwYW46IDEsXG4gIGdyaWRSb3dTdGFydDogMSxcbiAgZ3JpZENvbHVtbjogMSxcbiAgZ3JpZENvbHVtbkVuZDogMSxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG4gIGdyaWRDb2x1bW5TdGFydDogMSxcbiAgbXNHcmlkUm93OiAxLFxuICBtc0dyaWRSb3dTcGFuOiAxLFxuICBtc0dyaWRDb2x1bW46IDEsXG4gIG1zR3JpZENvbHVtblNwYW46IDEsXG4gIGZvbnRXZWlnaHQ6IDEsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG9wYWNpdHk6IDEsXG4gIG9yZGVyOiAxLFxuICBvcnBoYW5zOiAxLFxuICBzY2FsZTogMSxcbiAgdGFiU2l6ZTogMSxcbiAgd2lkb3dzOiAxLFxuICB6SW5kZXg6IDEsXG4gIHpvb206IDEsXG4gIFdlYmtpdExpbmVDbGFtcDogMSxcbiAgLy8gU1ZHLXJlbGF0ZWQgcHJvcGVydGllc1xuICBmaWxsT3BhY2l0eTogMSxcbiAgZmxvb2RPcGFjaXR5OiAxLFxuICBzdG9wT3BhY2l0eTogMSxcbiAgc3Ryb2tlRGFzaGFycmF5OiAxLFxuICBzdHJva2VEYXNob2Zmc2V0OiAxLFxuICBzdHJva2VNaXRlcmxpbWl0OiAxLFxuICBzdHJva2VPcGFjaXR5OiAxLFxuICBzdHJva2VXaWR0aDogMVxufTtcblxuZXhwb3J0IHsgdW5pdGxlc3NLZXlzIGFzIGRlZmF1bHQgfTtcbiIsICJpbXBvcnQgaGFzaFN0cmluZyBmcm9tICdAZW1vdGlvbi9oYXNoJztcbmltcG9ydCB1bml0bGVzcyBmcm9tICdAZW1vdGlvbi91bml0bGVzcyc7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdAZW1vdGlvbi9tZW1vaXplJztcblxudmFyIGlzRGV2ZWxvcG1lbnQgPSBmYWxzZTtcblxudmFyIGh5cGhlbmF0ZVJlZ2V4ID0gL1tBLVpdfF5tcy9nO1xudmFyIGFuaW1hdGlvblJlZ2V4ID0gL19FTU9fKFteX10rPylfKFteXSo/KV9FTU9fL2c7XG5cbnZhciBpc0N1c3RvbVByb3BlcnR5ID0gZnVuY3Rpb24gaXNDdXN0b21Qcm9wZXJ0eShwcm9wZXJ0eSkge1xuICByZXR1cm4gcHJvcGVydHkuY2hhckNvZGVBdCgxKSA9PT0gNDU7XG59O1xuXG52YXIgaXNQcm9jZXNzYWJsZVZhbHVlID0gZnVuY3Rpb24gaXNQcm9jZXNzYWJsZVZhbHVlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nO1xufTtcblxudmFyIHByb2Nlc3NTdHlsZU5hbWUgPSAvKiAjX19QVVJFX18gKi9tZW1vaXplKGZ1bmN0aW9uIChzdHlsZU5hbWUpIHtcbiAgcmV0dXJuIGlzQ3VzdG9tUHJvcGVydHkoc3R5bGVOYW1lKSA/IHN0eWxlTmFtZSA6IHN0eWxlTmFtZS5yZXBsYWNlKGh5cGhlbmF0ZVJlZ2V4LCAnLSQmJykudG9Mb3dlckNhc2UoKTtcbn0pO1xuXG52YXIgcHJvY2Vzc1N0eWxlVmFsdWUgPSBmdW5jdGlvbiBwcm9jZXNzU3R5bGVWYWx1ZShrZXksIHZhbHVlKSB7XG4gIHN3aXRjaCAoa2V5KSB7XG4gICAgY2FzZSAnYW5pbWF0aW9uJzpcbiAgICBjYXNlICdhbmltYXRpb25OYW1lJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShhbmltYXRpb25SZWdleCwgZnVuY3Rpb24gKG1hdGNoLCBwMSwgcDIpIHtcbiAgICAgICAgICAgIGN1cnNvciA9IHtcbiAgICAgICAgICAgICAgbmFtZTogcDEsXG4gICAgICAgICAgICAgIHN0eWxlczogcDIsXG4gICAgICAgICAgICAgIG5leHQ6IGN1cnNvclxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBwMTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgaWYgKHVuaXRsZXNzW2tleV0gIT09IDEgJiYgIWlzQ3VzdG9tUHJvcGVydHkoa2V5KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIHZhbHVlICE9PSAwKSB7XG4gICAgcmV0dXJuIHZhbHVlICsgJ3B4JztcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn07XG5cbnZhciBub0NvbXBvbmVudFNlbGVjdG9yTWVzc2FnZSA9ICdDb21wb25lbnQgc2VsZWN0b3JzIGNhbiBvbmx5IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCAnICsgJ0BlbW90aW9uL2JhYmVsLXBsdWdpbiwgdGhlIHN3YyBFbW90aW9uIHBsdWdpbiwgb3IgYW5vdGhlciBFbW90aW9uLWF3YXJlICcgKyAnY29tcGlsZXIgdHJhbnNmb3JtLic7XG5cbmZ1bmN0aW9uIGhhbmRsZUludGVycG9sYXRpb24obWVyZ2VkUHJvcHMsIHJlZ2lzdGVyZWQsIGludGVycG9sYXRpb24pIHtcbiAgaWYgKGludGVycG9sYXRpb24gPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHZhciBjb21wb25lbnRTZWxlY3RvciA9IGludGVycG9sYXRpb247XG5cbiAgaWYgKGNvbXBvbmVudFNlbGVjdG9yLl9fZW1vdGlvbl9zdHlsZXMgIT09IHVuZGVmaW5lZCkge1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFNlbGVjdG9yO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgaW50ZXJwb2xhdGlvbikge1xuICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG5cbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAge1xuICAgICAgICB2YXIga2V5ZnJhbWVzID0gaW50ZXJwb2xhdGlvbjtcblxuICAgICAgICBpZiAoa2V5ZnJhbWVzLmFuaW0gPT09IDEpIHtcbiAgICAgICAgICBjdXJzb3IgPSB7XG4gICAgICAgICAgICBuYW1lOiBrZXlmcmFtZXMubmFtZSxcbiAgICAgICAgICAgIHN0eWxlczoga2V5ZnJhbWVzLnN0eWxlcyxcbiAgICAgICAgICAgIG5leHQ6IGN1cnNvclxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIGtleWZyYW1lcy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNlcmlhbGl6ZWRTdHlsZXMgPSBpbnRlcnBvbGF0aW9uO1xuXG4gICAgICAgIGlmIChzZXJpYWxpemVkU3R5bGVzLnN0eWxlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdmFyIG5leHQgPSBzZXJpYWxpemVkU3R5bGVzLm5leHQ7XG5cbiAgICAgICAgICBpZiAobmV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBub3QgdGhlIG1vc3QgZWZmaWNpZW50IHRoaW5nIGV2ZXIgYnV0IHRoaXMgaXMgYSBwcmV0dHkgcmFyZSBjYXNlXG4gICAgICAgICAgICAvLyBhbmQgdGhlcmUgd2lsbCBiZSB2ZXJ5IGZldyBpdGVyYXRpb25zIG9mIHRoaXMgZ2VuZXJhbGx5XG4gICAgICAgICAgICB3aGlsZSAobmV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGN1cnNvciA9IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBuZXh0Lm5hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGVzOiBuZXh0LnN0eWxlcyxcbiAgICAgICAgICAgICAgICBuZXh0OiBjdXJzb3JcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgbmV4dCA9IG5leHQubmV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgc3R5bGVzID0gc2VyaWFsaXplZFN0eWxlcy5zdHlsZXMgKyBcIjtcIjtcblxuICAgICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3JlYXRlU3RyaW5nRnJvbU9iamVjdChtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgaW50ZXJwb2xhdGlvbik7XG4gICAgICB9XG5cbiAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICB7XG4gICAgICAgIGlmIChtZXJnZWRQcm9wcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdmFyIHByZXZpb3VzQ3Vyc29yID0gY3Vyc29yO1xuICAgICAgICAgIHZhciByZXN1bHQgPSBpbnRlcnBvbGF0aW9uKG1lcmdlZFByb3BzKTtcbiAgICAgICAgICBjdXJzb3IgPSBwcmV2aW91c0N1cnNvcjtcbiAgICAgICAgICByZXR1cm4gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgcmVzdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9IC8vIGZpbmFsaXplIHN0cmluZyB2YWx1ZXMgKHJlZ3VsYXIgc3RyaW5ncyBhbmQgZnVuY3Rpb25zIGludGVycG9sYXRlZCBpbnRvIGNzcyBjYWxscylcblxuXG4gIHZhciBhc1N0cmluZyA9IGludGVycG9sYXRpb247XG5cbiAgaWYgKHJlZ2lzdGVyZWQgPT0gbnVsbCkge1xuICAgIHJldHVybiBhc1N0cmluZztcbiAgfVxuXG4gIHZhciBjYWNoZWQgPSByZWdpc3RlcmVkW2FzU3RyaW5nXTtcbiAgcmV0dXJuIGNhY2hlZCAhPT0gdW5kZWZpbmVkID8gY2FjaGVkIDogYXNTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0cmluZ0Zyb21PYmplY3QobWVyZ2VkUHJvcHMsIHJlZ2lzdGVyZWQsIG9iaikge1xuICB2YXIgc3RyaW5nID0gJyc7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSsrKSB7XG4gICAgICBzdHJpbmcgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgb2JqW2ldKSArIFwiO1wiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICB2YXIgdmFsdWUgPSBvYmpba2V5XTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgdmFyIGFzU3RyaW5nID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHJlZ2lzdGVyZWQgIT0gbnVsbCAmJiByZWdpc3RlcmVkW2FzU3RyaW5nXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc3RyaW5nICs9IGtleSArIFwie1wiICsgcmVnaXN0ZXJlZFthc1N0cmluZ10gKyBcIn1cIjtcbiAgICAgICAgfSBlbHNlIGlmIChpc1Byb2Nlc3NhYmxlVmFsdWUoYXNTdHJpbmcpKSB7XG4gICAgICAgICAgc3RyaW5nICs9IHByb2Nlc3NTdHlsZU5hbWUoa2V5KSArIFwiOlwiICsgcHJvY2Vzc1N0eWxlVmFsdWUoa2V5LCBhc1N0cmluZykgKyBcIjtcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ05PX0NPTVBPTkVOVF9TRUxFQ1RPUicgJiYgaXNEZXZlbG9wbWVudCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihub0NvbXBvbmVudFNlbGVjdG9yTWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdHlwZW9mIHZhbHVlWzBdID09PSAnc3RyaW5nJyAmJiAocmVnaXN0ZXJlZCA9PSBudWxsIHx8IHJlZ2lzdGVyZWRbdmFsdWVbMF1dID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IHZhbHVlLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgaWYgKGlzUHJvY2Vzc2FibGVWYWx1ZSh2YWx1ZVtfaV0pKSB7XG4gICAgICAgICAgICAgIHN0cmluZyArPSBwcm9jZXNzU3R5bGVOYW1lKGtleSkgKyBcIjpcIiArIHByb2Nlc3NTdHlsZVZhbHVlKGtleSwgdmFsdWVbX2ldKSArIFwiO1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgaW50ZXJwb2xhdGVkID0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgdmFsdWUpO1xuXG4gICAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2FuaW1hdGlvbic6XG4gICAgICAgICAgICBjYXNlICdhbmltYXRpb25OYW1lJzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHN0cmluZyArPSBwcm9jZXNzU3R5bGVOYW1lKGtleSkgKyBcIjpcIiArIGludGVycG9sYXRlZCArIFwiO1wiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHtcblxuICAgICAgICAgICAgICAgIHN0cmluZyArPSBrZXkgKyBcIntcIiArIGludGVycG9sYXRlZCArIFwifVwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxudmFyIGxhYmVsUGF0dGVybiA9IC9sYWJlbDpcXHMqKFteXFxzO3tdKylcXHMqKDt8JCkvZztcbi8vIGtleWZyYW1lcyBhcmUgc3RvcmVkIG9uIHRoZSBTZXJpYWxpemVkU3R5bGVzIG9iamVjdCBhcyBhIGxpbmtlZCBsaXN0XG5cblxudmFyIGN1cnNvcjtcbmZ1bmN0aW9uIHNlcmlhbGl6ZVN0eWxlcyhhcmdzLCByZWdpc3RlcmVkLCBtZXJnZWRQcm9wcykge1xuICBpZiAoYXJncy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIGFyZ3NbMF0gPT09ICdvYmplY3QnICYmIGFyZ3NbMF0gIT09IG51bGwgJiYgYXJnc1swXS5zdHlsZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBhcmdzWzBdO1xuICB9XG5cbiAgdmFyIHN0cmluZ01vZGUgPSB0cnVlO1xuICB2YXIgc3R5bGVzID0gJyc7XG4gIGN1cnNvciA9IHVuZGVmaW5lZDtcbiAgdmFyIHN0cmluZ3MgPSBhcmdzWzBdO1xuXG4gIGlmIChzdHJpbmdzID09IG51bGwgfHwgc3RyaW5ncy5yYXcgPT09IHVuZGVmaW5lZCkge1xuICAgIHN0cmluZ01vZGUgPSBmYWxzZTtcbiAgICBzdHlsZXMgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgc3RyaW5ncyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGFzVGVtcGxhdGVTdHJpbmdzQXJyID0gc3RyaW5ncztcblxuICAgIHN0eWxlcyArPSBhc1RlbXBsYXRlU3RyaW5nc0FyclswXTtcbiAgfSAvLyB3ZSBzdGFydCBhdCAxIHNpbmNlIHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCB0aGUgZmlyc3QgYXJnXG5cblxuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcbiAgICBzdHlsZXMgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgYXJnc1tpXSk7XG5cbiAgICBpZiAoc3RyaW5nTW9kZSkge1xuICAgICAgdmFyIHRlbXBsYXRlU3RyaW5nc0FyciA9IHN0cmluZ3M7XG5cbiAgICAgIHN0eWxlcyArPSB0ZW1wbGF0ZVN0cmluZ3NBcnJbaV07XG4gICAgfVxuICB9XG5cblxuICBsYWJlbFBhdHRlcm4ubGFzdEluZGV4ID0gMDtcbiAgdmFyIGlkZW50aWZpZXJOYW1lID0gJyc7XG4gIHZhciBtYXRjaDsgLy8gaHR0cHM6Ly9lc2JlbmNoLmNvbS9iZW5jaC81YjgwOWMyY2YyOTQ5ODAwYTBmNjFmYjVcblxuICB3aGlsZSAoKG1hdGNoID0gbGFiZWxQYXR0ZXJuLmV4ZWMoc3R5bGVzKSkgIT09IG51bGwpIHtcbiAgICBpZGVudGlmaWVyTmFtZSArPSAnLScgKyBtYXRjaFsxXTtcbiAgfVxuXG4gIHZhciBuYW1lID0gaGFzaFN0cmluZyhzdHlsZXMpICsgaWRlbnRpZmllck5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lLFxuICAgIHN0eWxlczogc3R5bGVzLFxuICAgIG5leHQ6IGN1cnNvclxuICB9O1xufVxuXG5leHBvcnQgeyBzZXJpYWxpemVTdHlsZXMgfTtcbiIsICJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbnZhciBzeW5jRmFsbGJhY2sgPSBmdW5jdGlvbiBzeW5jRmFsbGJhY2soY3JlYXRlKSB7XG4gIHJldHVybiBjcmVhdGUoKTtcbn07XG5cbnZhciB1c2VJbnNlcnRpb25FZmZlY3QgPSBSZWFjdFsndXNlSW5zZXJ0aW9uJyArICdFZmZlY3QnXSA/IFJlYWN0Wyd1c2VJbnNlcnRpb24nICsgJ0VmZmVjdCddIDogZmFsc2U7XG52YXIgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjayA9IHVzZUluc2VydGlvbkVmZmVjdCB8fCBzeW5jRmFsbGJhY2s7XG52YXIgdXNlSW5zZXJ0aW9uRWZmZWN0V2l0aExheW91dEZhbGxiYWNrID0gdXNlSW5zZXJ0aW9uRWZmZWN0IHx8IFJlYWN0LnVzZUxheW91dEVmZmVjdDtcblxuZXhwb3J0IHsgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjaywgdXNlSW5zZXJ0aW9uRWZmZWN0V2l0aExheW91dEZhbGxiYWNrIH07XG4iLCAiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjcmVhdGVDYWNoZSBmcm9tICdAZW1vdGlvbi9jYWNoZSc7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcyc7XG5pbXBvcnQgd2Vha01lbW9pemUgZnJvbSAnQGVtb3Rpb24vd2Vhay1tZW1vaXplJztcbmltcG9ydCBob2lzdE5vblJlYWN0U3RhdGljcyBmcm9tICcuLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuYnJvd3Nlci5lc20uanMnO1xuaW1wb3J0IHsgZ2V0UmVnaXN0ZXJlZFN0eWxlcywgcmVnaXN0ZXJTdHlsZXMsIGluc2VydFN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3V0aWxzJztcbmltcG9ydCB7IHNlcmlhbGl6ZVN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3NlcmlhbGl6ZSc7XG5pbXBvcnQgeyB1c2VJbnNlcnRpb25FZmZlY3RBbHdheXNXaXRoU3luY0ZhbGxiYWNrIH0gZnJvbSAnQGVtb3Rpb24vdXNlLWluc2VydGlvbi1lZmZlY3Qtd2l0aC1mYWxsYmFja3MnO1xuXG52YXIgaXNEZXZlbG9wbWVudCA9IGZhbHNlO1xuXG4vKiBpbXBvcnQgeyB0eXBlIEVtb3Rpb25DYWNoZSB9IGZyb20gJ0BlbW90aW9uL3V0aWxzJyAqL1xudmFyIEVtb3Rpb25DYWNoZUNvbnRleHRcbi8qOiBSZWFjdC5Db250ZXh0PEVtb3Rpb25DYWNoZSB8IG51bGw+ICovXG49IC8qICNfX1BVUkVfXyAqL1JlYWN0LmNyZWF0ZUNvbnRleHQoIC8vIHdlJ3JlIGRvaW5nIHRoaXMgdG8gYXZvaWQgcHJlY29uc3RydWN0J3MgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIGluIHRoaXMgb25lIGNhc2Vcbi8vIGJlY2F1c2UgdGhpcyBtb2R1bGUgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciB0aGUgYnJvd3NlciBhbmQgbm9kZVxuLy8gYnV0IGl0J3MgYWxzbyByZXF1aXJlZCBpbiByZWFjdCBuYXRpdmUgYW5kIHNpbWlsYXIgZW52aXJvbm1lbnRzIHNvbWV0aW1lc1xuLy8gYW5kIHdlIGNvdWxkIGhhdmUgYSBzcGVjaWFsIGJ1aWxkIGp1c3QgZm9yIHRoYXRcbi8vIGJ1dCB0aGlzIGlzIG11Y2ggZWFzaWVyIGFuZCB0aGUgbmF0aXZlIHBhY2thZ2VzXG4vLyBtaWdodCB1c2UgYSBkaWZmZXJlbnQgdGhlbWUgY29udGV4dCBpbiB0aGUgZnV0dXJlIGFueXdheVxudHlwZW9mIEhUTUxFbGVtZW50ICE9PSAndW5kZWZpbmVkJyA/IC8qICNfX1BVUkVfXyAqL2NyZWF0ZUNhY2hlKHtcbiAga2V5OiAnY3NzJ1xufSkgOiBudWxsKTtcblxudmFyIENhY2hlUHJvdmlkZXIgPSBFbW90aW9uQ2FjaGVDb250ZXh0LlByb3ZpZGVyO1xudmFyIF9fdW5zYWZlX3VzZUVtb3Rpb25DYWNoZSA9IGZ1bmN0aW9uIHVzZUVtb3Rpb25DYWNoZSgpXG4vKjogRW1vdGlvbkNhY2hlIHwgbnVsbCovXG57XG4gIHJldHVybiB1c2VDb250ZXh0KEVtb3Rpb25DYWNoZUNvbnRleHQpO1xufTtcblxudmFyIHdpdGhFbW90aW9uQ2FjaGUgPSBmdW5jdGlvbiB3aXRoRW1vdGlvbkNhY2hlXG4vKiA8UHJvcHMsIFJlZjogUmVhY3QuUmVmPCo+PiAqL1xuKGZ1bmNcbi8qOiAocHJvcHM6IFByb3BzLCBjYWNoZTogRW1vdGlvbkNhY2hlLCByZWY6IFJlZikgPT4gUmVhY3QuTm9kZSAqL1xuKVxuLyo6IFJlYWN0LkFic3RyYWN0Q29tcG9uZW50PFByb3BzPiAqL1xue1xuICByZXR1cm4gLyojX19QVVJFX18qL2ZvcndhcmRSZWYoZnVuY3Rpb24gKHByb3BzXG4gIC8qOiBQcm9wcyAqL1xuICAsIHJlZlxuICAvKjogUmVmICovXG4gICkge1xuICAgIC8vIHRoZSBjYWNoZSB3aWxsIG5ldmVyIGJlIG51bGwgaW4gdGhlIGJyb3dzZXJcbiAgICB2YXIgY2FjaGUgPSB1c2VDb250ZXh0KEVtb3Rpb25DYWNoZUNvbnRleHQpO1xuICAgIHJldHVybiBmdW5jKHByb3BzLCBjYWNoZSwgcmVmKTtcbiAgfSk7XG59O1xuXG52YXIgVGhlbWVDb250ZXh0ID0gLyogI19fUFVSRV9fICovUmVhY3QuY3JlYXRlQ29udGV4dCh7fSk7XG5cbnZhciB1c2VUaGVtZSA9IGZ1bmN0aW9uIHVzZVRoZW1lKCkge1xuICByZXR1cm4gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xufTtcblxudmFyIGdldFRoZW1lID0gZnVuY3Rpb24gZ2V0VGhlbWUob3V0ZXJUaGVtZVxuLyo6IE9iamVjdCAqL1xuLCB0aGVtZVxuLyo6IE9iamVjdCB8IChPYmplY3QgPT4gT2JqZWN0KSAqL1xuKSB7XG4gIGlmICh0eXBlb2YgdGhlbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgbWVyZ2VkVGhlbWUgPSB0aGVtZShvdXRlclRoZW1lKTtcblxuICAgIHJldHVybiBtZXJnZWRUaGVtZTtcbiAgfVxuXG4gIHJldHVybiBfZXh0ZW5kcyh7fSwgb3V0ZXJUaGVtZSwgdGhlbWUpO1xufTtcblxudmFyIGNyZWF0ZUNhY2hlV2l0aFRoZW1lID0gLyogI19fUFVSRV9fICovd2Vha01lbW9pemUoZnVuY3Rpb24gKG91dGVyVGhlbWUpIHtcbiAgcmV0dXJuIHdlYWtNZW1vaXplKGZ1bmN0aW9uICh0aGVtZSkge1xuICAgIHJldHVybiBnZXRUaGVtZShvdXRlclRoZW1lLCB0aGVtZSk7XG4gIH0pO1xufSk7XG4vKlxudHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgPSB7XG4gIHRoZW1lOiBPYmplY3QgfCAoT2JqZWN0ID0+IE9iamVjdCksXG4gIGNoaWxkcmVuOiBSZWFjdC5Ob2RlXG59XG4qL1xuXG52YXIgVGhlbWVQcm92aWRlciA9IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIocHJvcHNcbi8qOiBUaGVtZVByb3ZpZGVyUHJvcHMgKi9cbikge1xuICB2YXIgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XG5cbiAgaWYgKHByb3BzLnRoZW1lICE9PSB0aGVtZSkge1xuICAgIHRoZW1lID0gY3JlYXRlQ2FjaGVXaXRoVGhlbWUodGhlbWUpKHByb3BzLnRoZW1lKTtcbiAgfVxuXG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogdGhlbWVcbiAgfSwgcHJvcHMuY2hpbGRyZW4pO1xufTtcbmZ1bmN0aW9uIHdpdGhUaGVtZVxuLyogPENvbmZpZzoge30+ICovXG4oQ29tcG9uZW50XG4vKjogUmVhY3QuQWJzdHJhY3RDb21wb25lbnQ8Q29uZmlnPiAqL1xuKVxuLyo6IFJlYWN0LkFic3RyYWN0Q29tcG9uZW50PCREaWZmPENvbmZpZywgeyB0aGVtZTogT2JqZWN0IH0+PiAqL1xue1xuICB2YXIgY29tcG9uZW50TmFtZSA9IENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnQ29tcG9uZW50JztcblxuICB2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKHByb3BzLCByZWYpIHtcbiAgICB2YXIgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgX2V4dGVuZHMoe1xuICAgICAgdGhlbWU6IHRoZW1lLFxuICAgICAgcmVmOiByZWZcbiAgICB9LCBwcm9wcykpO1xuICB9O1xuXG4gIHZhciBXaXRoVGhlbWUgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihyZW5kZXIpO1xuICBXaXRoVGhlbWUuZGlzcGxheU5hbWUgPSBcIldpdGhUaGVtZShcIiArIGNvbXBvbmVudE5hbWUgKyBcIilcIjtcbiAgcmV0dXJuIGhvaXN0Tm9uUmVhY3RTdGF0aWNzKFdpdGhUaGVtZSwgQ29tcG9uZW50KTtcbn1cblxudmFyIGhhc093biA9IHt9Lmhhc093blByb3BlcnR5O1xuXG52YXIgdHlwZVByb3BOYW1lID0gJ19fRU1PVElPTl9UWVBFX1BMRUFTRV9ET19OT1RfVVNFX18nO1xudmFyIGNyZWF0ZUVtb3Rpb25Qcm9wcyA9IGZ1bmN0aW9uIGNyZWF0ZUVtb3Rpb25Qcm9wcyh0eXBlXG4vKjogUmVhY3QuRWxlbWVudFR5cGUgKi9cbiwgcHJvcHNcbi8qOiBPYmplY3QgKi9cbikge1xuXG4gIHZhciBuZXdQcm9wc1xuICAvKjogYW55ICovXG4gID0ge307XG5cbiAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgaWYgKGhhc093bi5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICBuZXdQcm9wc1trZXldID0gcHJvcHNba2V5XTtcbiAgICB9XG4gIH1cblxuICBuZXdQcm9wc1t0eXBlUHJvcE5hbWVdID0gdHlwZTsgLy8gUnVudGltZSBsYWJlbGluZyBpcyBhbiBvcHQtaW4gZmVhdHVyZSBiZWNhdXNlOlxuXG4gIHJldHVybiBuZXdQcm9wcztcbn07XG5cbnZhciBJbnNlcnRpb24gPSBmdW5jdGlvbiBJbnNlcnRpb24oX3JlZikge1xuICB2YXIgY2FjaGUgPSBfcmVmLmNhY2hlLFxuICAgICAgc2VyaWFsaXplZCA9IF9yZWYuc2VyaWFsaXplZCxcbiAgICAgIGlzU3RyaW5nVGFnID0gX3JlZi5pc1N0cmluZ1RhZztcbiAgcmVnaXN0ZXJTdHlsZXMoY2FjaGUsIHNlcmlhbGl6ZWQsIGlzU3RyaW5nVGFnKTtcbiAgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGluc2VydFN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpO1xuICB9KTtcblxuICByZXR1cm4gbnVsbDtcbn07XG5cbnZhciBFbW90aW9uID0gLyogI19fUFVSRV9fICovd2l0aEVtb3Rpb25DYWNoZShcbi8qIDxhbnksIGFueT4gKi9cbmZ1bmN0aW9uIChwcm9wcywgY2FjaGUsIHJlZikge1xuICB2YXIgY3NzUHJvcCA9IHByb3BzLmNzczsgLy8gc28gdGhhdCB1c2luZyBgY3NzYCBmcm9tIGBlbW90aW9uYCBhbmQgcGFzc2luZyB0aGUgcmVzdWx0IHRvIHRoZSBjc3MgcHJvcCB3b3Jrc1xuICAvLyBub3QgcGFzc2luZyB0aGUgcmVnaXN0ZXJlZCBjYWNoZSB0byBzZXJpYWxpemVTdHlsZXMgYmVjYXVzZSBpdCB3b3VsZFxuICAvLyBtYWtlIGNlcnRhaW4gYmFiZWwgb3B0aW1pc2F0aW9ucyBub3QgcG9zc2libGVcblxuICBpZiAodHlwZW9mIGNzc1Byb3AgPT09ICdzdHJpbmcnICYmIGNhY2hlLnJlZ2lzdGVyZWRbY3NzUHJvcF0gIT09IHVuZGVmaW5lZCkge1xuICAgIGNzc1Byb3AgPSBjYWNoZS5yZWdpc3RlcmVkW2Nzc1Byb3BdO1xuICB9XG5cbiAgdmFyIFdyYXBwZWRDb21wb25lbnQgPSBwcm9wc1t0eXBlUHJvcE5hbWVdO1xuICB2YXIgcmVnaXN0ZXJlZFN0eWxlcyA9IFtjc3NQcm9wXTtcbiAgdmFyIGNsYXNzTmFtZSA9ICcnO1xuXG4gIGlmICh0eXBlb2YgcHJvcHMuY2xhc3NOYW1lID09PSAnc3RyaW5nJykge1xuICAgIGNsYXNzTmFtZSA9IGdldFJlZ2lzdGVyZWRTdHlsZXMoY2FjaGUucmVnaXN0ZXJlZCwgcmVnaXN0ZXJlZFN0eWxlcywgcHJvcHMuY2xhc3NOYW1lKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5jbGFzc05hbWUgIT0gbnVsbCkge1xuICAgIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZSArIFwiIFwiO1xuICB9XG5cbiAgdmFyIHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVTdHlsZXMocmVnaXN0ZXJlZFN0eWxlcywgdW5kZWZpbmVkLCBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCkpO1xuXG4gIGNsYXNzTmFtZSArPSBjYWNoZS5rZXkgKyBcIi1cIiArIHNlcmlhbGl6ZWQubmFtZTtcbiAgdmFyIG5ld1Byb3BzID0ge307XG5cbiAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgaWYgKGhhc093bi5jYWxsKHByb3BzLCBrZXkpICYmIGtleSAhPT0gJ2NzcycgJiYga2V5ICE9PSB0eXBlUHJvcE5hbWUgJiYgKCFpc0RldmVsb3BtZW50ICkpIHtcbiAgICAgIG5ld1Byb3BzW2tleV0gPSBwcm9wc1trZXldO1xuICAgIH1cbiAgfVxuXG4gIG5ld1Byb3BzLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcblxuICBpZiAocmVmKSB7XG4gICAgbmV3UHJvcHMucmVmID0gcmVmO1xuICB9XG5cbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChJbnNlcnRpb24sIHtcbiAgICBjYWNoZTogY2FjaGUsXG4gICAgc2VyaWFsaXplZDogc2VyaWFsaXplZCxcbiAgICBpc1N0cmluZ1RhZzogdHlwZW9mIFdyYXBwZWRDb21wb25lbnQgPT09ICdzdHJpbmcnXG4gIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChXcmFwcGVkQ29tcG9uZW50LCBuZXdQcm9wcykpO1xufSk7XG5cbnZhciBFbW90aW9uJDEgPSBFbW90aW9uO1xuXG5leHBvcnQgeyBDYWNoZVByb3ZpZGVyIGFzIEMsIEVtb3Rpb24kMSBhcyBFLCBUaGVtZUNvbnRleHQgYXMgVCwgX191bnNhZmVfdXNlRW1vdGlvbkNhY2hlIGFzIF8sIFRoZW1lUHJvdmlkZXIgYXMgYSwgd2l0aFRoZW1lIGFzIGIsIGNyZWF0ZUVtb3Rpb25Qcm9wcyBhcyBjLCBoYXNPd24gYXMgaCwgaXNEZXZlbG9wbWVudCBhcyBpLCB1c2VUaGVtZSBhcyB1LCB3aXRoRW1vdGlvbkNhY2hlIGFzIHcgfTtcbiIsICJpbXBvcnQgeyBoIGFzIGhhc093biwgRSBhcyBFbW90aW9uLCBjIGFzIGNyZWF0ZUVtb3Rpb25Qcm9wcywgdyBhcyB3aXRoRW1vdGlvbkNhY2hlLCBUIGFzIFRoZW1lQ29udGV4dCwgaSBhcyBpc0RldmVsb3BtZW50IH0gZnJvbSAnLi9lbW90aW9uLWVsZW1lbnQtNTQ4NmM1MWMuYnJvd3Nlci5lc20uanMnO1xuZXhwb3J0IHsgQyBhcyBDYWNoZVByb3ZpZGVyLCBUIGFzIFRoZW1lQ29udGV4dCwgYSBhcyBUaGVtZVByb3ZpZGVyLCBfIGFzIF9fdW5zYWZlX3VzZUVtb3Rpb25DYWNoZSwgdSBhcyB1c2VUaGVtZSwgdyBhcyB3aXRoRW1vdGlvbkNhY2hlLCBiIGFzIHdpdGhUaGVtZSB9IGZyb20gJy4vZW1vdGlvbi1lbGVtZW50LTU0ODZjNTFjLmJyb3dzZXIuZXNtLmpzJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGluc2VydFN0eWxlcywgcmVnaXN0ZXJTdHlsZXMsIGdldFJlZ2lzdGVyZWRTdHlsZXMgfSBmcm9tICdAZW1vdGlvbi91dGlscyc7XG5pbXBvcnQgeyB1c2VJbnNlcnRpb25FZmZlY3RXaXRoTGF5b3V0RmFsbGJhY2ssIHVzZUluc2VydGlvbkVmZmVjdEFsd2F5c1dpdGhTeW5jRmFsbGJhY2sgfSBmcm9tICdAZW1vdGlvbi91c2UtaW5zZXJ0aW9uLWVmZmVjdC13aXRoLWZhbGxiYWNrcyc7XG5pbXBvcnQgeyBzZXJpYWxpemVTdHlsZXMgfSBmcm9tICdAZW1vdGlvbi9zZXJpYWxpemUnO1xuaW1wb3J0ICdAZW1vdGlvbi9jYWNoZSc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcyc7XG5pbXBvcnQgJ0BlbW90aW9uL3dlYWstbWVtb2l6ZSc7XG5pbXBvcnQgJy4uL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5icm93c2VyLmVzbS5qcyc7XG5pbXBvcnQgJ2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzJztcblxudmFyIGpzeFxuLyo6IHR5cGVvZiBSZWFjdC5jcmVhdGVFbGVtZW50ICovXG49IGZ1bmN0aW9uIGpzeFxuLyo6IHR5cGVvZiBSZWFjdC5jcmVhdGVFbGVtZW50ICovXG4odHlwZVxuLyo6IFJlYWN0LkVsZW1lbnRUeXBlICovXG4sIHByb3BzXG4vKjogT2JqZWN0ICovXG4pIHtcbiAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG5cbiAgaWYgKHByb3BzID09IG51bGwgfHwgIWhhc093bi5jYWxsKHByb3BzLCAnY3NzJykpIHtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudC5hcHBseSh1bmRlZmluZWQsIGFyZ3MpO1xuICB9XG5cbiAgdmFyIGFyZ3NMZW5ndGggPSBhcmdzLmxlbmd0aDtcbiAgdmFyIGNyZWF0ZUVsZW1lbnRBcmdBcnJheSA9IG5ldyBBcnJheShhcmdzTGVuZ3RoKTtcbiAgY3JlYXRlRWxlbWVudEFyZ0FycmF5WzBdID0gRW1vdGlvbjtcbiAgY3JlYXRlRWxlbWVudEFyZ0FycmF5WzFdID0gY3JlYXRlRW1vdGlvblByb3BzKHR5cGUsIHByb3BzKTtcblxuICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3NMZW5ndGg7IGkrKykge1xuICAgIGNyZWF0ZUVsZW1lbnRBcmdBcnJheVtpXSA9IGFyZ3NbaV07XG4gIH1cblxuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudC5hcHBseShudWxsLCBjcmVhdGVFbGVtZW50QXJnQXJyYXkpO1xufTtcblxuLy8gaW5pdGlhbCByZW5kZXIgZnJvbSBicm93c2VyLCBpbnNlcnRCZWZvcmUgY29udGV4dC5zaGVldC50YWdzWzBdIG9yIGlmIGEgc3R5bGUgaGFzbid0IGJlZW4gaW5zZXJ0ZWQgdGhlcmUgeWV0LCBhcHBlbmRDaGlsZFxuLy8gaW5pdGlhbCBjbGllbnQtc2lkZSByZW5kZXIgZnJvbSBTU1IsIHVzZSBwbGFjZSBvZiBoeWRyYXRpbmcgdGFnXG5cbnZhciBHbG9iYWxcbi8qOiBSZWFjdC5BYnN0cmFjdENvbXBvbmVudDxcbkdsb2JhbFByb3BzXG4+ICovXG49IC8qICNfX1BVUkVfXyAqL3dpdGhFbW90aW9uQ2FjaGUoZnVuY3Rpb24gKHByb3BzXG4vKjogR2xvYmFsUHJvcHMgKi9cbiwgY2FjaGUpIHtcblxuICB2YXIgc3R5bGVzID0gcHJvcHMuc3R5bGVzO1xuICB2YXIgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZVN0eWxlcyhbc3R5bGVzXSwgdW5kZWZpbmVkLCBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCkpO1xuICAvLyBidXQgaXQgaXMgYmFzZWQgb24gYSBjb25zdGFudCB0aGF0IHdpbGwgbmV2ZXIgY2hhbmdlIGF0IHJ1bnRpbWVcbiAgLy8gaXQncyBlZmZlY3RpdmVseSBsaWtlIGhhdmluZyB0d28gaW1wbGVtZW50YXRpb25zIGFuZCBzd2l0Y2hpbmcgdGhlbSBvdXRcbiAgLy8gc28gaXQncyBub3QgYWN0dWFsbHkgYnJlYWtpbmcgYW55dGhpbmdcblxuXG4gIHZhciBzaGVldFJlZiA9IFJlYWN0LnVzZVJlZigpO1xuICB1c2VJbnNlcnRpb25FZmZlY3RXaXRoTGF5b3V0RmFsbGJhY2soZnVuY3Rpb24gKCkge1xuICAgIHZhciBrZXkgPSBjYWNoZS5rZXkgKyBcIi1nbG9iYWxcIjsgLy8gdXNlIGNhc2Ugb2YgaHR0cHM6Ly9naXRodWIuY29tL2Vtb3Rpb24tanMvZW1vdGlvbi9pc3N1ZXMvMjY3NVxuXG4gICAgdmFyIHNoZWV0ID0gbmV3IGNhY2hlLnNoZWV0LmNvbnN0cnVjdG9yKHtcbiAgICAgIGtleToga2V5LFxuICAgICAgbm9uY2U6IGNhY2hlLnNoZWV0Lm5vbmNlLFxuICAgICAgY29udGFpbmVyOiBjYWNoZS5zaGVldC5jb250YWluZXIsXG4gICAgICBzcGVlZHk6IGNhY2hlLnNoZWV0LmlzU3BlZWR5XG4gICAgfSk7XG4gICAgdmFyIHJlaHlkcmF0aW5nID0gZmFsc2U7XG4gICAgdmFyIG5vZGVcbiAgICAvKjogSFRNTFN0eWxlRWxlbWVudCB8IG51bGwqL1xuICAgID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcInN0eWxlW2RhdGEtZW1vdGlvbj1cXFwiXCIgKyBrZXkgKyBcIiBcIiArIHNlcmlhbGl6ZWQubmFtZSArIFwiXFxcIl1cIik7XG5cbiAgICBpZiAoY2FjaGUuc2hlZXQudGFncy5sZW5ndGgpIHtcbiAgICAgIHNoZWV0LmJlZm9yZSA9IGNhY2hlLnNoZWV0LnRhZ3NbMF07XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIHJlaHlkcmF0aW5nID0gdHJ1ZTsgLy8gY2xlYXIgdGhlIGhhc2ggc28gdGhpcyBub2RlIHdvbid0IGJlIHJlY29nbml6YWJsZSBhcyByZWh5ZHJhdGFibGUgYnkgb3RoZXIgPEdsb2JhbC8+c1xuXG4gICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1lbW90aW9uJywga2V5KTtcbiAgICAgIHNoZWV0Lmh5ZHJhdGUoW25vZGVdKTtcbiAgICB9XG5cbiAgICBzaGVldFJlZi5jdXJyZW50ID0gW3NoZWV0LCByZWh5ZHJhdGluZ107XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHNoZWV0LmZsdXNoKCk7XG4gICAgfTtcbiAgfSwgW2NhY2hlXSk7XG4gIHVzZUluc2VydGlvbkVmZmVjdFdpdGhMYXlvdXRGYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNoZWV0UmVmQ3VycmVudCA9IHNoZWV0UmVmLmN1cnJlbnQ7XG4gICAgdmFyIHNoZWV0ID0gc2hlZXRSZWZDdXJyZW50WzBdLFxuICAgICAgICByZWh5ZHJhdGluZyA9IHNoZWV0UmVmQ3VycmVudFsxXTtcblxuICAgIGlmIChyZWh5ZHJhdGluZykge1xuICAgICAgc2hlZXRSZWZDdXJyZW50WzFdID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNlcmlhbGl6ZWQubmV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBpbnNlcnQga2V5ZnJhbWVzXG4gICAgICBpbnNlcnRTdHlsZXMoY2FjaGUsIHNlcmlhbGl6ZWQubmV4dCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHNoZWV0LnRhZ3MubGVuZ3RoKSB7XG4gICAgICAvLyBpZiB0aGlzIGRvZXNuJ3QgZXhpc3QgdGhlbiBpdCB3aWxsIGJlIG51bGwgc28gdGhlIHN0eWxlIGVsZW1lbnQgd2lsbCBiZSBhcHBlbmRlZFxuICAgICAgdmFyIGVsZW1lbnQgPSBzaGVldC50YWdzW3NoZWV0LnRhZ3MubGVuZ3RoIC0gMV0ubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgICAgc2hlZXQuYmVmb3JlID0gZWxlbWVudDtcbiAgICAgIHNoZWV0LmZsdXNoKCk7XG4gICAgfVxuXG4gICAgY2FjaGUuaW5zZXJ0KFwiXCIsIHNlcmlhbGl6ZWQsIHNoZWV0LCBmYWxzZSk7XG4gIH0sIFtjYWNoZSwgc2VyaWFsaXplZC5uYW1lXSk7XG4gIHJldHVybiBudWxsO1xufSk7XG5cbi8qIGltcG9ydCB0eXBlIHsgSW50ZXJwb2xhdGlvbiwgU2VyaWFsaXplZFN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3V0aWxzJyAqL1xuXG5mdW5jdGlvbiBjc3MoKVxuLyo6IFNlcmlhbGl6ZWRTdHlsZXMgKi9cbntcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiBzZXJpYWxpemVTdHlsZXMoYXJncyk7XG59XG5cbi8qXG50eXBlIEtleWZyYW1lcyA9IHt8XG4gIG5hbWU6IHN0cmluZyxcbiAgc3R5bGVzOiBzdHJpbmcsXG4gIGFuaW06IDEsXG4gIHRvU3RyaW5nOiAoKSA9PiBzdHJpbmdcbnx9ICYgc3RyaW5nXG4qL1xuXG52YXIga2V5ZnJhbWVzID0gZnVuY3Rpb25cbiAgLyo6IEtleWZyYW1lcyAqL1xua2V5ZnJhbWVzKCkge1xuICB2YXIgaW5zZXJ0YWJsZSA9IGNzcy5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG4gIHZhciBuYW1lID0gXCJhbmltYXRpb24tXCIgKyBpbnNlcnRhYmxlLm5hbWU7XG4gIHJldHVybiB7XG4gICAgbmFtZTogbmFtZSxcbiAgICBzdHlsZXM6IFwiQGtleWZyYW1lcyBcIiArIG5hbWUgKyBcIntcIiArIGluc2VydGFibGUuc3R5bGVzICsgXCJ9XCIsXG4gICAgYW5pbTogMSxcbiAgICB0b1N0cmluZzogZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgICByZXR1cm4gXCJfRU1PX1wiICsgdGhpcy5uYW1lICsgXCJfXCIgKyB0aGlzLnN0eWxlcyArIFwiX0VNT19cIjtcbiAgICB9XG4gIH07XG59O1xuXG4vKlxudHlwZSBDbGFzc05hbWVBcmcgPVxuICB8IHN0cmluZ1xuICB8IGJvb2xlYW5cbiAgfCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfVxuICB8IEFycmF5PENsYXNzTmFtZUFyZz5cbiAgfCBudWxsXG4gIHwgdm9pZFxuKi9cblxudmFyIGNsYXNzbmFtZXMgPSBmdW5jdGlvblxuICAvKjogc3RyaW5nICovXG5jbGFzc25hbWVzKGFyZ3Ncbi8qOiBBcnJheTxDbGFzc05hbWVBcmc+ICovXG4pIHtcbiAgdmFyIGxlbiA9IGFyZ3MubGVuZ3RoO1xuICB2YXIgaSA9IDA7XG4gIHZhciBjbHMgPSAnJztcblxuICBmb3IgKDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgdmFyIGFyZyA9IGFyZ3NbaV07XG4gICAgaWYgKGFyZyA9PSBudWxsKSBjb250aW51ZTtcbiAgICB2YXIgdG9BZGQgPSB2b2lkIDA7XG5cbiAgICBzd2l0Y2ggKHR5cGVvZiBhcmcpIHtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgICAgICAgIHRvQWRkID0gY2xhc3NuYW1lcyhhcmcpO1xuICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgIHRvQWRkID0gJyc7XG5cbiAgICAgICAgICAgIGZvciAodmFyIGsgaW4gYXJnKSB7XG4gICAgICAgICAgICAgIGlmIChhcmdba10gJiYgaykge1xuICAgICAgICAgICAgICAgIHRvQWRkICYmICh0b0FkZCArPSAnICcpO1xuICAgICAgICAgICAgICAgIHRvQWRkICs9IGs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB7XG4gICAgICAgICAgdG9BZGQgPSBhcmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodG9BZGQpIHtcbiAgICAgIGNscyAmJiAoY2xzICs9ICcgJyk7XG4gICAgICBjbHMgKz0gdG9BZGQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNscztcbn07XG5cbmZ1bmN0aW9uIG1lcmdlKHJlZ2lzdGVyZWRcbi8qOiBPYmplY3QgKi9cbiwgY3NzXG4vKjogKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHN0cmluZyAqL1xuLCBjbGFzc05hbWVcbi8qOiBzdHJpbmcgKi9cbikge1xuICB2YXIgcmVnaXN0ZXJlZFN0eWxlcyA9IFtdO1xuICB2YXIgcmF3Q2xhc3NOYW1lID0gZ2V0UmVnaXN0ZXJlZFN0eWxlcyhyZWdpc3RlcmVkLCByZWdpc3RlcmVkU3R5bGVzLCBjbGFzc05hbWUpO1xuXG4gIGlmIChyZWdpc3RlcmVkU3R5bGVzLmxlbmd0aCA8IDIpIHtcbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG5cbiAgcmV0dXJuIHJhd0NsYXNzTmFtZSArIGNzcyhyZWdpc3RlcmVkU3R5bGVzKTtcbn1cblxudmFyIEluc2VydGlvbiA9IGZ1bmN0aW9uIEluc2VydGlvbihfcmVmKSB7XG4gIHZhciBjYWNoZSA9IF9yZWYuY2FjaGUsXG4gICAgICBzZXJpYWxpemVkQXJyID0gX3JlZi5zZXJpYWxpemVkQXJyO1xuICB1c2VJbnNlcnRpb25FZmZlY3RBbHdheXNXaXRoU3luY0ZhbGxiYWNrKGZ1bmN0aW9uICgpIHtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VyaWFsaXplZEFyci5sZW5ndGg7IGkrKykge1xuICAgICAgaW5zZXJ0U3R5bGVzKGNhY2hlLCBzZXJpYWxpemVkQXJyW2ldLCBmYWxzZSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbnVsbDtcbn07XG4vKlxudHlwZSBQcm9wcyA9IHtcbiAgY2hpbGRyZW46ICh7XG4gICAgY3NzOiAoLi4uYXJnczogYW55KSA9PiBzdHJpbmcsXG4gICAgY3g6ICguLi5hcmdzOiBBcnJheTxDbGFzc05hbWVBcmc+KSA9PiBzdHJpbmcsXG4gICAgdGhlbWU6IE9iamVjdFxuICB9KSA9PiBSZWFjdC5Ob2RlXG59ICovXG5cblxudmFyIENsYXNzTmFtZXNcbi8qOiBSZWFjdC5BYnN0cmFjdENvbXBvbmVudDxQcm9wcz4qL1xuPSAvKiAjX19QVVJFX18gKi93aXRoRW1vdGlvbkNhY2hlKGZ1bmN0aW9uIChwcm9wcywgY2FjaGUpIHtcbiAgdmFyIGhhc1JlbmRlcmVkID0gZmFsc2U7XG4gIHZhciBzZXJpYWxpemVkQXJyID0gW107XG5cbiAgdmFyIGNzcyA9IGZ1bmN0aW9uIGNzcygpIHtcbiAgICBpZiAoaGFzUmVuZGVyZWQgJiYgaXNEZXZlbG9wbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjc3MgY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgcmVuZGVyJyk7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cblxuICAgIHZhciBzZXJpYWxpemVkID0gc2VyaWFsaXplU3R5bGVzKGFyZ3MsIGNhY2hlLnJlZ2lzdGVyZWQpO1xuICAgIHNlcmlhbGl6ZWRBcnIucHVzaChzZXJpYWxpemVkKTsgLy8gcmVnaXN0cmF0aW9uIGhhcyB0byBoYXBwZW4gaGVyZSBhcyB0aGUgcmVzdWx0IG9mIHRoaXMgbWlnaHQgZ2V0IGNvbnN1bWVkIGJ5IGBjeGBcblxuICAgIHJlZ2lzdGVyU3R5bGVzKGNhY2hlLCBzZXJpYWxpemVkLCBmYWxzZSk7XG4gICAgcmV0dXJuIGNhY2hlLmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuICB9O1xuXG4gIHZhciBjeCA9IGZ1bmN0aW9uIGN4KCkge1xuICAgIGlmIChoYXNSZW5kZXJlZCAmJiBpc0RldmVsb3BtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2N4IGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIHJlbmRlcicpO1xuICAgIH1cblxuICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgYXJnc1tfa2V5Ml0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgIH1cblxuICAgIHJldHVybiBtZXJnZShjYWNoZS5yZWdpc3RlcmVkLCBjc3MsIGNsYXNzbmFtZXMoYXJncykpO1xuICB9O1xuXG4gIHZhciBjb250ZW50ID0ge1xuICAgIGNzczogY3NzLFxuICAgIGN4OiBjeCxcbiAgICB0aGVtZTogUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpXG4gIH07XG4gIHZhciBlbGUgPSBwcm9wcy5jaGlsZHJlbihjb250ZW50KTtcbiAgaGFzUmVuZGVyZWQgPSB0cnVlO1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEluc2VydGlvbiwge1xuICAgIGNhY2hlOiBjYWNoZSxcbiAgICBzZXJpYWxpemVkQXJyOiBzZXJpYWxpemVkQXJyXG4gIH0pLCBlbGUpO1xufSk7XG5cbmV4cG9ydCB7IENsYXNzTmFtZXMsIEdsb2JhbCwganN4IGFzIGNyZWF0ZUVsZW1lbnQsIGNzcywganN4LCBrZXlmcmFtZXMgfTtcbiIsICJmdW5jdGlvbiBfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsKGUsIHQpIHtcbiAgcmV0dXJuIHQgfHwgKHQgPSBlLnNsaWNlKDApKSwgT2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLCB7XG4gICAgcmF3OiB7XG4gICAgICB2YWx1ZTogT2JqZWN0LmZyZWV6ZSh0KVxuICAgIH1cbiAgfSkpO1xufVxuZXhwb3J0IHsgX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCBhcyBkZWZhdWx0IH07IiwgIi8qKlxuICogQ3VzdG9tIHBvc2l0aW9uaW5nIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3ZpcnR1YWwtZWxlbWVudHNcbiAqL1xuXG5jb25zdCBzaWRlcyA9IFsndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J107XG5jb25zdCBhbGlnbm1lbnRzID0gWydzdGFydCcsICdlbmQnXTtcbmNvbnN0IHBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovc2lkZXMucmVkdWNlKChhY2MsIHNpZGUpID0+IGFjYy5jb25jYXQoc2lkZSwgc2lkZSArIFwiLVwiICsgYWxpZ25tZW50c1swXSwgc2lkZSArIFwiLVwiICsgYWxpZ25tZW50c1sxXSksIFtdKTtcbmNvbnN0IG1pbiA9IE1hdGgubWluO1xuY29uc3QgbWF4ID0gTWF0aC5tYXg7XG5jb25zdCByb3VuZCA9IE1hdGgucm91bmQ7XG5jb25zdCBmbG9vciA9IE1hdGguZmxvb3I7XG5jb25zdCBjcmVhdGVDb29yZHMgPSB2ID0+ICh7XG4gIHg6IHYsXG4gIHk6IHZcbn0pO1xuY29uc3Qgb3Bwb3NpdGVTaWRlTWFwID0ge1xuICBsZWZ0OiAncmlnaHQnLFxuICByaWdodDogJ2xlZnQnLFxuICBib3R0b206ICd0b3AnLFxuICB0b3A6ICdib3R0b20nXG59O1xuY29uc3Qgb3Bwb3NpdGVBbGlnbm1lbnRNYXAgPSB7XG4gIHN0YXJ0OiAnZW5kJyxcbiAgZW5kOiAnc3RhcnQnXG59O1xuZnVuY3Rpb24gY2xhbXAoc3RhcnQsIHZhbHVlLCBlbmQpIHtcbiAgcmV0dXJuIG1heChzdGFydCwgbWluKHZhbHVlLCBlbmQpKTtcbn1cbmZ1bmN0aW9uIGV2YWx1YXRlKHZhbHVlLCBwYXJhbSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nID8gdmFsdWUocGFyYW0pIDogdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRTaWRlKHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQXhpcyhheGlzKSB7XG4gIHJldHVybiBheGlzID09PSAneCcgPyAneScgOiAneCc7XG59XG5mdW5jdGlvbiBnZXRBeGlzTGVuZ3RoKGF4aXMpIHtcbiAgcmV0dXJuIGF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbn1cbmZ1bmN0aW9uIGdldFNpZGVBeGlzKHBsYWNlbWVudCkge1xuICByZXR1cm4gWyd0b3AnLCAnYm90dG9tJ10uaW5jbHVkZXMoZ2V0U2lkZShwbGFjZW1lbnQpKSA/ICd5JyA6ICd4Jztcbn1cbmZ1bmN0aW9uIGdldEFsaWdubWVudEF4aXMocGxhY2VtZW50KSB7XG4gIHJldHVybiBnZXRPcHBvc2l0ZUF4aXMoZ2V0U2lkZUF4aXMocGxhY2VtZW50KSk7XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnRTaWRlcyhwbGFjZW1lbnQsIHJlY3RzLCBydGwpIHtcbiAgaWYgKHJ0bCA9PT0gdm9pZCAwKSB7XG4gICAgcnRsID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCk7XG4gIGNvbnN0IGFsaWdubWVudEF4aXMgPSBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCk7XG4gIGNvbnN0IGxlbmd0aCA9IGdldEF4aXNMZW5ndGgoYWxpZ25tZW50QXhpcyk7XG4gIGxldCBtYWluQWxpZ25tZW50U2lkZSA9IGFsaWdubWVudEF4aXMgPT09ICd4JyA/IGFsaWdubWVudCA9PT0gKHJ0bCA/ICdlbmQnIDogJ3N0YXJ0JykgPyAncmlnaHQnIDogJ2xlZnQnIDogYWxpZ25tZW50ID09PSAnc3RhcnQnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgaWYgKHJlY3RzLnJlZmVyZW5jZVtsZW5ndGhdID4gcmVjdHMuZmxvYXRpbmdbbGVuZ3RoXSkge1xuICAgIG1haW5BbGlnbm1lbnRTaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpbkFsaWdubWVudFNpZGUpO1xuICB9XG4gIHJldHVybiBbbWFpbkFsaWdubWVudFNpZGUsIGdldE9wcG9zaXRlUGxhY2VtZW50KG1haW5BbGlnbm1lbnRTaWRlKV07XG59XG5mdW5jdGlvbiBnZXRFeHBhbmRlZFBsYWNlbWVudHMocGxhY2VtZW50KSB7XG4gIGNvbnN0IG9wcG9zaXRlUGxhY2VtZW50ID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgcmV0dXJuIFtnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudChwbGFjZW1lbnQpLCBvcHBvc2l0ZVBsYWNlbWVudCwgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQob3Bwb3NpdGVQbGFjZW1lbnQpXTtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnJlcGxhY2UoL3N0YXJ0fGVuZC9nLCBhbGlnbm1lbnQgPT4gb3Bwb3NpdGVBbGlnbm1lbnRNYXBbYWxpZ25tZW50XSk7XG59XG5mdW5jdGlvbiBnZXRTaWRlTGlzdChzaWRlLCBpc1N0YXJ0LCBydGwpIHtcbiAgY29uc3QgbHIgPSBbJ2xlZnQnLCAncmlnaHQnXTtcbiAgY29uc3QgcmwgPSBbJ3JpZ2h0JywgJ2xlZnQnXTtcbiAgY29uc3QgdGIgPSBbJ3RvcCcsICdib3R0b20nXTtcbiAgY29uc3QgYnQgPSBbJ2JvdHRvbScsICd0b3AnXTtcbiAgc3dpdGNoIChzaWRlKSB7XG4gICAgY2FzZSAndG9wJzpcbiAgICBjYXNlICdib3R0b20nOlxuICAgICAgaWYgKHJ0bCkgcmV0dXJuIGlzU3RhcnQgPyBybCA6IGxyO1xuICAgICAgcmV0dXJuIGlzU3RhcnQgPyBsciA6IHJsO1xuICAgIGNhc2UgJ2xlZnQnOlxuICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgIHJldHVybiBpc1N0YXJ0ID8gdGIgOiBidDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFtdO1xuICB9XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZUF4aXNQbGFjZW1lbnRzKHBsYWNlbWVudCwgZmxpcEFsaWdubWVudCwgZGlyZWN0aW9uLCBydGwpIHtcbiAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCk7XG4gIGxldCBsaXN0ID0gZ2V0U2lkZUxpc3QoZ2V0U2lkZShwbGFjZW1lbnQpLCBkaXJlY3Rpb24gPT09ICdzdGFydCcsIHJ0bCk7XG4gIGlmIChhbGlnbm1lbnQpIHtcbiAgICBsaXN0ID0gbGlzdC5tYXAoc2lkZSA9PiBzaWRlICsgXCItXCIgKyBhbGlnbm1lbnQpO1xuICAgIGlmIChmbGlwQWxpZ25tZW50KSB7XG4gICAgICBsaXN0ID0gbGlzdC5jb25jYXQobGlzdC5tYXAoZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGxpc3Q7XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgc2lkZSA9PiBvcHBvc2l0ZVNpZGVNYXBbc2lkZV0pO1xufVxuZnVuY3Rpb24gZXhwYW5kUGFkZGluZ09iamVjdChwYWRkaW5nKSB7XG4gIHJldHVybiB7XG4gICAgdG9wOiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwLFxuICAgIC4uLnBhZGRpbmdcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFBhZGRpbmdPYmplY3QocGFkZGluZykge1xuICByZXR1cm4gdHlwZW9mIHBhZGRpbmcgIT09ICdudW1iZXInID8gZXhwYW5kUGFkZGluZ09iamVjdChwYWRkaW5nKSA6IHtcbiAgICB0b3A6IHBhZGRpbmcsXG4gICAgcmlnaHQ6IHBhZGRpbmcsXG4gICAgYm90dG9tOiBwYWRkaW5nLFxuICAgIGxlZnQ6IHBhZGRpbmdcbiAgfTtcbn1cbmZ1bmN0aW9uIHJlY3RUb0NsaWVudFJlY3QocmVjdCkge1xuICBjb25zdCB7XG4gICAgeCxcbiAgICB5LFxuICAgIHdpZHRoLFxuICAgIGhlaWdodFxuICB9ID0gcmVjdDtcbiAgcmV0dXJuIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgdG9wOiB5LFxuICAgIGxlZnQ6IHgsXG4gICAgcmlnaHQ6IHggKyB3aWR0aCxcbiAgICBib3R0b206IHkgKyBoZWlnaHQsXG4gICAgeCxcbiAgICB5XG4gIH07XG59XG5cbmV4cG9ydCB7IGFsaWdubWVudHMsIGNsYW1wLCBjcmVhdGVDb29yZHMsIGV2YWx1YXRlLCBleHBhbmRQYWRkaW5nT2JqZWN0LCBmbG9vciwgZ2V0QWxpZ25tZW50LCBnZXRBbGlnbm1lbnRBeGlzLCBnZXRBbGlnbm1lbnRTaWRlcywgZ2V0QXhpc0xlbmd0aCwgZ2V0RXhwYW5kZWRQbGFjZW1lbnRzLCBnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudCwgZ2V0T3Bwb3NpdGVBeGlzLCBnZXRPcHBvc2l0ZUF4aXNQbGFjZW1lbnRzLCBnZXRPcHBvc2l0ZVBsYWNlbWVudCwgZ2V0UGFkZGluZ09iamVjdCwgZ2V0U2lkZSwgZ2V0U2lkZUF4aXMsIG1heCwgbWluLCBwbGFjZW1lbnRzLCByZWN0VG9DbGllbnRSZWN0LCByb3VuZCwgc2lkZXMgfTtcbiIsICJmdW5jdGlvbiBoYXNXaW5kb3coKSB7XG4gIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztcbn1cbmZ1bmN0aW9uIGdldE5vZGVOYW1lKG5vZGUpIHtcbiAgaWYgKGlzTm9kZShub2RlKSkge1xuICAgIHJldHVybiAobm9kZS5ub2RlTmFtZSB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgfVxuICAvLyBNb2NrZWQgbm9kZXMgaW4gdGVzdGluZyBlbnZpcm9ubWVudHMgbWF5IG5vdCBiZSBpbnN0YW5jZXMgb2YgTm9kZS4gQnlcbiAgLy8gcmV0dXJuaW5nIGAjZG9jdW1lbnRgIGFuIGluZmluaXRlIGxvb3Agd29uJ3Qgb2NjdXIuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMjMxN1xuICByZXR1cm4gJyNkb2N1bWVudCc7XG59XG5mdW5jdGlvbiBnZXRXaW5kb3cobm9kZSkge1xuICB2YXIgX25vZGUkb3duZXJEb2N1bWVudDtcbiAgcmV0dXJuIChub2RlID09IG51bGwgfHwgKF9ub2RlJG93bmVyRG9jdW1lbnQgPSBub2RlLm93bmVyRG9jdW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfbm9kZSRvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSB8fCB3aW5kb3c7XG59XG5mdW5jdGlvbiBnZXREb2N1bWVudEVsZW1lbnQobm9kZSkge1xuICB2YXIgX3JlZjtcbiAgcmV0dXJuIChfcmVmID0gKGlzTm9kZShub2RlKSA/IG5vZGUub3duZXJEb2N1bWVudCA6IG5vZGUuZG9jdW1lbnQpIHx8IHdpbmRvdy5kb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9yZWYuZG9jdW1lbnRFbGVtZW50O1xufVxuZnVuY3Rpb24gaXNOb2RlKHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgTm9kZSB8fCB2YWx1ZSBpbnN0YW5jZW9mIGdldFdpbmRvdyh2YWx1ZSkuTm9kZTtcbn1cbmZ1bmN0aW9uIGlzRWxlbWVudCh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLkVsZW1lbnQ7XG59XG5mdW5jdGlvbiBpc0hUTUxFbGVtZW50KHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLkhUTUxFbGVtZW50O1xufVxuZnVuY3Rpb24gaXNTaGFkb3dSb290KHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkgfHwgdHlwZW9mIFNoYWRvd1Jvb3QgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLlNoYWRvd1Jvb3Q7XG59XG5mdW5jdGlvbiBpc092ZXJmbG93RWxlbWVudChlbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICBvdmVyZmxvdyxcbiAgICBvdmVyZmxvd1gsXG4gICAgb3ZlcmZsb3dZLFxuICAgIGRpc3BsYXlcbiAgfSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIHJldHVybiAvYXV0b3xzY3JvbGx8b3ZlcmxheXxoaWRkZW58Y2xpcC8udGVzdChvdmVyZmxvdyArIG92ZXJmbG93WSArIG92ZXJmbG93WCkgJiYgIVsnaW5saW5lJywgJ2NvbnRlbnRzJ10uaW5jbHVkZXMoZGlzcGxheSk7XG59XG5mdW5jdGlvbiBpc1RhYmxlRWxlbWVudChlbGVtZW50KSB7XG4gIHJldHVybiBbJ3RhYmxlJywgJ3RkJywgJ3RoJ10uaW5jbHVkZXMoZ2V0Tm9kZU5hbWUoZWxlbWVudCkpO1xufVxuZnVuY3Rpb24gaXNUb3BMYXllcihlbGVtZW50KSB7XG4gIHJldHVybiBbJzpwb3BvdmVyLW9wZW4nLCAnOm1vZGFsJ10uc29tZShzZWxlY3RvciA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0pO1xufVxuZnVuY3Rpb24gaXNDb250YWluaW5nQmxvY2soZWxlbWVudE9yQ3NzKSB7XG4gIGNvbnN0IHdlYmtpdCA9IGlzV2ViS2l0KCk7XG4gIGNvbnN0IGNzcyA9IGlzRWxlbWVudChlbGVtZW50T3JDc3MpID8gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50T3JDc3MpIDogZWxlbWVudE9yQ3NzO1xuXG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9Db250YWluaW5nX2Jsb2NrI2lkZW50aWZ5aW5nX3RoZV9jb250YWluaW5nX2Jsb2NrXG4gIHJldHVybiBjc3MudHJhbnNmb3JtICE9PSAnbm9uZScgfHwgY3NzLnBlcnNwZWN0aXZlICE9PSAnbm9uZScgfHwgKGNzcy5jb250YWluZXJUeXBlID8gY3NzLmNvbnRhaW5lclR5cGUgIT09ICdub3JtYWwnIDogZmFsc2UpIHx8ICF3ZWJraXQgJiYgKGNzcy5iYWNrZHJvcEZpbHRlciA/IGNzcy5iYWNrZHJvcEZpbHRlciAhPT0gJ25vbmUnIDogZmFsc2UpIHx8ICF3ZWJraXQgJiYgKGNzcy5maWx0ZXIgPyBjc3MuZmlsdGVyICE9PSAnbm9uZScgOiBmYWxzZSkgfHwgWyd0cmFuc2Zvcm0nLCAncGVyc3BlY3RpdmUnLCAnZmlsdGVyJ10uc29tZSh2YWx1ZSA9PiAoY3NzLndpbGxDaGFuZ2UgfHwgJycpLmluY2x1ZGVzKHZhbHVlKSkgfHwgWydwYWludCcsICdsYXlvdXQnLCAnc3RyaWN0JywgJ2NvbnRlbnQnXS5zb21lKHZhbHVlID0+IChjc3MuY29udGFpbiB8fCAnJykuaW5jbHVkZXModmFsdWUpKTtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG4gIHdoaWxlIChpc0hUTUxFbGVtZW50KGN1cnJlbnROb2RlKSAmJiAhaXNMYXN0VHJhdmVyc2FibGVOb2RlKGN1cnJlbnROb2RlKSkge1xuICAgIGlmIChpc0NvbnRhaW5pbmdCbG9jayhjdXJyZW50Tm9kZSkpIHtcbiAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICB9IGVsc2UgaWYgKGlzVG9wTGF5ZXIoY3VycmVudE5vZGUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGN1cnJlbnROb2RlKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzV2ViS2l0KCkge1xuICBpZiAodHlwZW9mIENTUyA9PT0gJ3VuZGVmaW5lZCcgfHwgIUNTUy5zdXBwb3J0cykgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gQ1NTLnN1cHBvcnRzKCctd2Via2l0LWJhY2tkcm9wLWZpbHRlcicsICdub25lJyk7XG59XG5mdW5jdGlvbiBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUobm9kZSkge1xuICByZXR1cm4gWydodG1sJywgJ2JvZHknLCAnI2RvY3VtZW50J10uaW5jbHVkZXMoZ2V0Tm9kZU5hbWUobm9kZSkpO1xufVxuZnVuY3Rpb24gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KSB7XG4gIHJldHVybiBnZXRXaW5kb3coZWxlbWVudCkuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbn1cbmZ1bmN0aW9uIGdldE5vZGVTY3JvbGwoZWxlbWVudCkge1xuICBpZiAoaXNFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjcm9sbExlZnQ6IGVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxUb3BcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogZWxlbWVudC5zY3JvbGxYLFxuICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxZXG4gIH07XG59XG5mdW5jdGlvbiBnZXRQYXJlbnROb2RlKG5vZGUpIHtcbiAgaWYgKGdldE5vZGVOYW1lKG5vZGUpID09PSAnaHRtbCcpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuICBjb25zdCByZXN1bHQgPVxuICAvLyBTdGVwIGludG8gdGhlIHNoYWRvdyBET00gb2YgdGhlIHBhcmVudCBvZiBhIHNsb3R0ZWQgbm9kZS5cbiAgbm9kZS5hc3NpZ25lZFNsb3QgfHxcbiAgLy8gRE9NIEVsZW1lbnQgZGV0ZWN0ZWQuXG4gIG5vZGUucGFyZW50Tm9kZSB8fFxuICAvLyBTaGFkb3dSb290IGRldGVjdGVkLlxuICBpc1NoYWRvd1Jvb3Qobm9kZSkgJiYgbm9kZS5ob3N0IHx8XG4gIC8vIEZhbGxiYWNrLlxuICBnZXREb2N1bWVudEVsZW1lbnQobm9kZSk7XG4gIHJldHVybiBpc1NoYWRvd1Jvb3QocmVzdWx0KSA/IHJlc3VsdC5ob3N0IDogcmVzdWx0O1xufVxuZnVuY3Rpb24gZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3Iobm9kZSkge1xuICBjb25zdCBwYXJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShub2RlKTtcbiAgaWYgKGlzTGFzdFRyYXZlcnNhYmxlTm9kZShwYXJlbnROb2RlKSkge1xuICAgIHJldHVybiBub2RlLm93bmVyRG9jdW1lbnQgPyBub2RlLm93bmVyRG9jdW1lbnQuYm9keSA6IG5vZGUuYm9keTtcbiAgfVxuICBpZiAoaXNIVE1MRWxlbWVudChwYXJlbnROb2RlKSAmJiBpc092ZXJmbG93RWxlbWVudChwYXJlbnROb2RlKSkge1xuICAgIHJldHVybiBwYXJlbnROb2RlO1xuICB9XG4gIHJldHVybiBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3RvcihwYXJlbnROb2RlKTtcbn1cbmZ1bmN0aW9uIGdldE92ZXJmbG93QW5jZXN0b3JzKG5vZGUsIGxpc3QsIHRyYXZlcnNlSWZyYW1lcykge1xuICB2YXIgX25vZGUkb3duZXJEb2N1bWVudDI7XG4gIGlmIChsaXN0ID09PSB2b2lkIDApIHtcbiAgICBsaXN0ID0gW107XG4gIH1cbiAgaWYgKHRyYXZlcnNlSWZyYW1lcyA9PT0gdm9pZCAwKSB7XG4gICAgdHJhdmVyc2VJZnJhbWVzID0gdHJ1ZTtcbiAgfVxuICBjb25zdCBzY3JvbGxhYmxlQW5jZXN0b3IgPSBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3Rvcihub2RlKTtcbiAgY29uc3QgaXNCb2R5ID0gc2Nyb2xsYWJsZUFuY2VzdG9yID09PSAoKF9ub2RlJG93bmVyRG9jdW1lbnQyID0gbm9kZS5vd25lckRvY3VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkb3duZXJEb2N1bWVudDIuYm9keSk7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhzY3JvbGxhYmxlQW5jZXN0b3IpO1xuICBpZiAoaXNCb2R5KSB7XG4gICAgY29uc3QgZnJhbWVFbGVtZW50ID0gZ2V0RnJhbWVFbGVtZW50KHdpbik7XG4gICAgcmV0dXJuIGxpc3QuY29uY2F0KHdpbiwgd2luLnZpc3VhbFZpZXdwb3J0IHx8IFtdLCBpc092ZXJmbG93RWxlbWVudChzY3JvbGxhYmxlQW5jZXN0b3IpID8gc2Nyb2xsYWJsZUFuY2VzdG9yIDogW10sIGZyYW1lRWxlbWVudCAmJiB0cmF2ZXJzZUlmcmFtZXMgPyBnZXRPdmVyZmxvd0FuY2VzdG9ycyhmcmFtZUVsZW1lbnQpIDogW10pO1xuICB9XG4gIHJldHVybiBsaXN0LmNvbmNhdChzY3JvbGxhYmxlQW5jZXN0b3IsIGdldE92ZXJmbG93QW5jZXN0b3JzKHNjcm9sbGFibGVBbmNlc3RvciwgW10sIHRyYXZlcnNlSWZyYW1lcykpO1xufVxuZnVuY3Rpb24gZ2V0RnJhbWVFbGVtZW50KHdpbikge1xuICByZXR1cm4gd2luLnBhcmVudCAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yod2luLnBhcmVudCkgPyB3aW4uZnJhbWVFbGVtZW50IDogbnVsbDtcbn1cblxuZXhwb3J0IHsgZ2V0Q29tcHV0ZWRTdHlsZSwgZ2V0Q29udGFpbmluZ0Jsb2NrLCBnZXREb2N1bWVudEVsZW1lbnQsIGdldEZyYW1lRWxlbWVudCwgZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3IsIGdldE5vZGVOYW1lLCBnZXROb2RlU2Nyb2xsLCBnZXRPdmVyZmxvd0FuY2VzdG9ycywgZ2V0UGFyZW50Tm9kZSwgZ2V0V2luZG93LCBpc0NvbnRhaW5pbmdCbG9jaywgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50LCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUsIGlzTm9kZSwgaXNPdmVyZmxvd0VsZW1lbnQsIGlzU2hhZG93Um9vdCwgaXNUYWJsZUVsZW1lbnQsIGlzVG9wTGF5ZXIsIGlzV2ViS2l0IH07XG4iLCAiaW1wb3J0IHsgcmVjdFRvQ2xpZW50UmVjdCwgZGV0ZWN0T3ZlcmZsb3cgYXMgZGV0ZWN0T3ZlcmZsb3ckMSwgb2Zmc2V0IGFzIG9mZnNldCQxLCBhdXRvUGxhY2VtZW50IGFzIGF1dG9QbGFjZW1lbnQkMSwgc2hpZnQgYXMgc2hpZnQkMSwgZmxpcCBhcyBmbGlwJDEsIHNpemUgYXMgc2l6ZSQxLCBoaWRlIGFzIGhpZGUkMSwgYXJyb3cgYXMgYXJyb3ckMSwgaW5saW5lIGFzIGlubGluZSQxLCBsaW1pdFNoaWZ0IGFzIGxpbWl0U2hpZnQkMSwgY29tcHV0ZVBvc2l0aW9uIGFzIGNvbXB1dGVQb3NpdGlvbiQxIH0gZnJvbSAnQGZsb2F0aW5nLXVpL2NvcmUnO1xuaW1wb3J0IHsgcm91bmQsIGNyZWF0ZUNvb3JkcywgbWF4LCBtaW4sIGZsb29yIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzJztcbmltcG9ydCB7IGdldENvbXB1dGVkU3R5bGUsIGlzSFRNTEVsZW1lbnQsIGlzRWxlbWVudCwgZ2V0V2luZG93LCBpc1dlYktpdCwgZ2V0RnJhbWVFbGVtZW50LCBnZXREb2N1bWVudEVsZW1lbnQsIGlzVG9wTGF5ZXIsIGdldE5vZGVOYW1lLCBpc092ZXJmbG93RWxlbWVudCwgZ2V0Tm9kZVNjcm9sbCwgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMsIGdldFBhcmVudE5vZGUsIGlzTGFzdFRyYXZlcnNhYmxlTm9kZSwgaXNDb250YWluaW5nQmxvY2ssIGlzVGFibGVFbGVtZW50LCBnZXRDb250YWluaW5nQmxvY2sgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMvZG9tJztcbmV4cG9ydCB7IGdldE92ZXJmbG93QW5jZXN0b3JzIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzL2RvbSc7XG5cbmZ1bmN0aW9uIGdldENzc0RpbWVuc2lvbnMoZWxlbWVudCkge1xuICBjb25zdCBjc3MgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAvLyBJbiB0ZXN0aW5nIGVudmlyb25tZW50cywgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIHByb3BlcnRpZXMgYXJlIGVtcHR5XG4gIC8vIHN0cmluZ3MgZm9yIFNWRyBlbGVtZW50cywgcmV0dXJuaW5nIE5hTi4gRmFsbGJhY2sgdG8gYDBgIGluIHRoaXMgY2FzZS5cbiAgbGV0IHdpZHRoID0gcGFyc2VGbG9hdChjc3Mud2lkdGgpIHx8IDA7XG4gIGxldCBoZWlnaHQgPSBwYXJzZUZsb2F0KGNzcy5oZWlnaHQpIHx8IDA7XG4gIGNvbnN0IGhhc09mZnNldCA9IGlzSFRNTEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IG9mZnNldFdpZHRoID0gaGFzT2Zmc2V0ID8gZWxlbWVudC5vZmZzZXRXaWR0aCA6IHdpZHRoO1xuICBjb25zdCBvZmZzZXRIZWlnaHQgPSBoYXNPZmZzZXQgPyBlbGVtZW50Lm9mZnNldEhlaWdodCA6IGhlaWdodDtcbiAgY29uc3Qgc2hvdWxkRmFsbGJhY2sgPSByb3VuZCh3aWR0aCkgIT09IG9mZnNldFdpZHRoIHx8IHJvdW5kKGhlaWdodCkgIT09IG9mZnNldEhlaWdodDtcbiAgaWYgKHNob3VsZEZhbGxiYWNrKSB7XG4gICAgd2lkdGggPSBvZmZzZXRXaWR0aDtcbiAgICBoZWlnaHQgPSBvZmZzZXRIZWlnaHQ7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgJDogc2hvdWxkRmFsbGJhY2tcbiAgfTtcbn1cblxuZnVuY3Rpb24gdW53cmFwRWxlbWVudChlbGVtZW50KSB7XG4gIHJldHVybiAhaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudC5jb250ZXh0RWxlbWVudCA6IGVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGdldFNjYWxlKGVsZW1lbnQpIHtcbiAgY29uc3QgZG9tRWxlbWVudCA9IHVud3JhcEVsZW1lbnQoZWxlbWVudCk7XG4gIGlmICghaXNIVE1MRWxlbWVudChkb21FbGVtZW50KSkge1xuICAgIHJldHVybiBjcmVhdGVDb29yZHMoMSk7XG4gIH1cbiAgY29uc3QgcmVjdCA9IGRvbUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgJFxuICB9ID0gZ2V0Q3NzRGltZW5zaW9ucyhkb21FbGVtZW50KTtcbiAgbGV0IHggPSAoJCA/IHJvdW5kKHJlY3Qud2lkdGgpIDogcmVjdC53aWR0aCkgLyB3aWR0aDtcbiAgbGV0IHkgPSAoJCA/IHJvdW5kKHJlY3QuaGVpZ2h0KSA6IHJlY3QuaGVpZ2h0KSAvIGhlaWdodDtcblxuICAvLyAwLCBOYU4sIG9yIEluZmluaXR5IHNob3VsZCBhbHdheXMgZmFsbGJhY2sgdG8gMS5cblxuICBpZiAoIXggfHwgIU51bWJlci5pc0Zpbml0ZSh4KSkge1xuICAgIHggPSAxO1xuICB9XG4gIGlmICgheSB8fCAhTnVtYmVyLmlzRmluaXRlKHkpKSB7XG4gICAgeSA9IDE7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuY29uc3Qgbm9PZmZzZXRzID0gLyojX19QVVJFX18qL2NyZWF0ZUNvb3JkcygwKTtcbmZ1bmN0aW9uIGdldFZpc3VhbE9mZnNldHMoZWxlbWVudCkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGlmICghaXNXZWJLaXQoKSB8fCAhd2luLnZpc3VhbFZpZXdwb3J0KSB7XG4gICAgcmV0dXJuIG5vT2Zmc2V0cztcbiAgfVxuICByZXR1cm4ge1xuICAgIHg6IHdpbi52aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0LFxuICAgIHk6IHdpbi52aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3BcbiAgfTtcbn1cbmZ1bmN0aW9uIHNob3VsZEFkZFZpc3VhbE9mZnNldHMoZWxlbWVudCwgaXNGaXhlZCwgZmxvYXRpbmdPZmZzZXRQYXJlbnQpIHtcbiAgaWYgKGlzRml4ZWQgPT09IHZvaWQgMCkge1xuICAgIGlzRml4ZWQgPSBmYWxzZTtcbiAgfVxuICBpZiAoIWZsb2F0aW5nT2Zmc2V0UGFyZW50IHx8IGlzRml4ZWQgJiYgZmxvYXRpbmdPZmZzZXRQYXJlbnQgIT09IGdldFdpbmRvdyhlbGVtZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gaXNGaXhlZDtcbn1cblxuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIGluY2x1ZGVTY2FsZSwgaXNGaXhlZFN0cmF0ZWd5LCBvZmZzZXRQYXJlbnQpIHtcbiAgaWYgKGluY2x1ZGVTY2FsZSA9PT0gdm9pZCAwKSB7XG4gICAgaW5jbHVkZVNjYWxlID0gZmFsc2U7XG4gIH1cbiAgaWYgKGlzRml4ZWRTdHJhdGVneSA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZFN0cmF0ZWd5ID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgY2xpZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGRvbUVsZW1lbnQgPSB1bndyYXBFbGVtZW50KGVsZW1lbnQpO1xuICBsZXQgc2NhbGUgPSBjcmVhdGVDb29yZHMoMSk7XG4gIGlmIChpbmNsdWRlU2NhbGUpIHtcbiAgICBpZiAob2Zmc2V0UGFyZW50KSB7XG4gICAgICBpZiAoaXNFbGVtZW50KG9mZnNldFBhcmVudCkpIHtcbiAgICAgICAgc2NhbGUgPSBnZXRTY2FsZShvZmZzZXRQYXJlbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY2FsZSA9IGdldFNjYWxlKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBjb25zdCB2aXN1YWxPZmZzZXRzID0gc2hvdWxkQWRkVmlzdWFsT2Zmc2V0cyhkb21FbGVtZW50LCBpc0ZpeGVkU3RyYXRlZ3ksIG9mZnNldFBhcmVudCkgPyBnZXRWaXN1YWxPZmZzZXRzKGRvbUVsZW1lbnQpIDogY3JlYXRlQ29vcmRzKDApO1xuICBsZXQgeCA9IChjbGllbnRSZWN0LmxlZnQgKyB2aXN1YWxPZmZzZXRzLngpIC8gc2NhbGUueDtcbiAgbGV0IHkgPSAoY2xpZW50UmVjdC50b3AgKyB2aXN1YWxPZmZzZXRzLnkpIC8gc2NhbGUueTtcbiAgbGV0IHdpZHRoID0gY2xpZW50UmVjdC53aWR0aCAvIHNjYWxlLng7XG4gIGxldCBoZWlnaHQgPSBjbGllbnRSZWN0LmhlaWdodCAvIHNjYWxlLnk7XG4gIGlmIChkb21FbGVtZW50KSB7XG4gICAgY29uc3Qgd2luID0gZ2V0V2luZG93KGRvbUVsZW1lbnQpO1xuICAgIGNvbnN0IG9mZnNldFdpbiA9IG9mZnNldFBhcmVudCAmJiBpc0VsZW1lbnQob2Zmc2V0UGFyZW50KSA/IGdldFdpbmRvdyhvZmZzZXRQYXJlbnQpIDogb2Zmc2V0UGFyZW50O1xuICAgIGxldCBjdXJyZW50V2luID0gd2luO1xuICAgIGxldCBjdXJyZW50SUZyYW1lID0gZ2V0RnJhbWVFbGVtZW50KGN1cnJlbnRXaW4pO1xuICAgIHdoaWxlIChjdXJyZW50SUZyYW1lICYmIG9mZnNldFBhcmVudCAmJiBvZmZzZXRXaW4gIT09IGN1cnJlbnRXaW4pIHtcbiAgICAgIGNvbnN0IGlmcmFtZVNjYWxlID0gZ2V0U2NhbGUoY3VycmVudElGcmFtZSk7XG4gICAgICBjb25zdCBpZnJhbWVSZWN0ID0gY3VycmVudElGcmFtZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGNzcyA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudElGcmFtZSk7XG4gICAgICBjb25zdCBsZWZ0ID0gaWZyYW1lUmVjdC5sZWZ0ICsgKGN1cnJlbnRJRnJhbWUuY2xpZW50TGVmdCArIHBhcnNlRmxvYXQoY3NzLnBhZGRpbmdMZWZ0KSkgKiBpZnJhbWVTY2FsZS54O1xuICAgICAgY29uc3QgdG9wID0gaWZyYW1lUmVjdC50b3AgKyAoY3VycmVudElGcmFtZS5jbGllbnRUb3AgKyBwYXJzZUZsb2F0KGNzcy5wYWRkaW5nVG9wKSkgKiBpZnJhbWVTY2FsZS55O1xuICAgICAgeCAqPSBpZnJhbWVTY2FsZS54O1xuICAgICAgeSAqPSBpZnJhbWVTY2FsZS55O1xuICAgICAgd2lkdGggKj0gaWZyYW1lU2NhbGUueDtcbiAgICAgIGhlaWdodCAqPSBpZnJhbWVTY2FsZS55O1xuICAgICAgeCArPSBsZWZ0O1xuICAgICAgeSArPSB0b3A7XG4gICAgICBjdXJyZW50V2luID0gZ2V0V2luZG93KGN1cnJlbnRJRnJhbWUpO1xuICAgICAgY3VycmVudElGcmFtZSA9IGdldEZyYW1lRWxlbWVudChjdXJyZW50V2luKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlY3RUb0NsaWVudFJlY3Qoe1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KF9yZWYpIHtcbiAgbGV0IHtcbiAgICBlbGVtZW50cyxcbiAgICByZWN0LFxuICAgIG9mZnNldFBhcmVudCxcbiAgICBzdHJhdGVneVxuICB9ID0gX3JlZjtcbiAgY29uc3QgaXNGaXhlZCA9IHN0cmF0ZWd5ID09PSAnZml4ZWQnO1xuICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSBnZXREb2N1bWVudEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgY29uc3QgdG9wTGF5ZXIgPSBlbGVtZW50cyA/IGlzVG9wTGF5ZXIoZWxlbWVudHMuZmxvYXRpbmcpIDogZmFsc2U7XG4gIGlmIChvZmZzZXRQYXJlbnQgPT09IGRvY3VtZW50RWxlbWVudCB8fCB0b3BMYXllciAmJiBpc0ZpeGVkKSB7XG4gICAgcmV0dXJuIHJlY3Q7XG4gIH1cbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBsZXQgc2NhbGUgPSBjcmVhdGVDb29yZHMoMSk7XG4gIGNvbnN0IG9mZnNldHMgPSBjcmVhdGVDb29yZHMoMCk7XG4gIGNvbnN0IGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCBpc092ZXJmbG93RWxlbWVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuICAgIGlmIChpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCkpIHtcbiAgICAgIGNvbnN0IG9mZnNldFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qob2Zmc2V0UGFyZW50KTtcbiAgICAgIHNjYWxlID0gZ2V0U2NhbGUob2Zmc2V0UGFyZW50KTtcbiAgICAgIG9mZnNldHMueCA9IG9mZnNldFJlY3QueCArIG9mZnNldFBhcmVudC5jbGllbnRMZWZ0O1xuICAgICAgb2Zmc2V0cy55ID0gb2Zmc2V0UmVjdC55ICsgb2Zmc2V0UGFyZW50LmNsaWVudFRvcDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogcmVjdC53aWR0aCAqIHNjYWxlLngsXG4gICAgaGVpZ2h0OiByZWN0LmhlaWdodCAqIHNjYWxlLnksXG4gICAgeDogcmVjdC54ICogc2NhbGUueCAtIHNjcm9sbC5zY3JvbGxMZWZ0ICogc2NhbGUueCArIG9mZnNldHMueCxcbiAgICB5OiByZWN0LnkgKiBzY2FsZS55IC0gc2Nyb2xsLnNjcm9sbFRvcCAqIHNjYWxlLnkgKyBvZmZzZXRzLnlcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2xpZW50UmVjdHMoZWxlbWVudCkge1xuICByZXR1cm4gQXJyYXkuZnJvbShlbGVtZW50LmdldENsaWVudFJlY3RzKCkpO1xufVxuXG4vLyBJZiA8aHRtbD4gaGFzIGEgQ1NTIHdpZHRoIGdyZWF0ZXIgdGhhbiB0aGUgdmlld3BvcnQsIHRoZW4gdGhpcyB3aWxsIGJlXG4vLyBpbmNvcnJlY3QgZm9yIFJUTC5cbmZ1bmN0aW9uIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCwgcmVjdCkge1xuICBjb25zdCBsZWZ0U2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChlbGVtZW50KS5zY3JvbGxMZWZ0O1xuICBpZiAoIXJlY3QpIHtcbiAgICByZXR1cm4gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSkubGVmdCArIGxlZnRTY3JvbGw7XG4gIH1cbiAgcmV0dXJuIHJlY3QubGVmdCArIGxlZnRTY3JvbGw7XG59XG5cbi8vIEdldHMgdGhlIGVudGlyZSBzaXplIG9mIHRoZSBzY3JvbGxhYmxlIGRvY3VtZW50IGFyZWEsIGV2ZW4gZXh0ZW5kaW5nIG91dHNpZGVcbi8vIG9mIHRoZSBgPGh0bWw+YCBhbmQgYDxib2R5PmAgcmVjdCBib3VuZHMgaWYgaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUuXG5mdW5jdGlvbiBnZXREb2N1bWVudFJlY3QoZWxlbWVudCkge1xuICBjb25zdCBodG1sID0gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpO1xuICBjb25zdCBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKGVsZW1lbnQpO1xuICBjb25zdCBib2R5ID0gZWxlbWVudC5vd25lckRvY3VtZW50LmJvZHk7XG4gIGNvbnN0IHdpZHRoID0gbWF4KGh0bWwuc2Nyb2xsV2lkdGgsIGh0bWwuY2xpZW50V2lkdGgsIGJvZHkuc2Nyb2xsV2lkdGgsIGJvZHkuY2xpZW50V2lkdGgpO1xuICBjb25zdCBoZWlnaHQgPSBtYXgoaHRtbC5zY3JvbGxIZWlnaHQsIGh0bWwuY2xpZW50SGVpZ2h0LCBib2R5LnNjcm9sbEhlaWdodCwgYm9keS5jbGllbnRIZWlnaHQpO1xuICBsZXQgeCA9IC1zY3JvbGwuc2Nyb2xsTGVmdCArIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCk7XG4gIGNvbnN0IHkgPSAtc2Nyb2xsLnNjcm9sbFRvcDtcbiAgaWYgKGdldENvbXB1dGVkU3R5bGUoYm9keSkuZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgIHggKz0gbWF4KGh0bWwuY2xpZW50V2lkdGgsIGJvZHkuY2xpZW50V2lkdGgpIC0gd2lkdGg7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgeCxcbiAgICB5XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFZpZXdwb3J0UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGNvbnN0IGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IHZpc3VhbFZpZXdwb3J0ID0gd2luLnZpc3VhbFZpZXdwb3J0O1xuICBsZXQgd2lkdGggPSBodG1sLmNsaWVudFdpZHRoO1xuICBsZXQgaGVpZ2h0ID0gaHRtbC5jbGllbnRIZWlnaHQ7XG4gIGxldCB4ID0gMDtcbiAgbGV0IHkgPSAwO1xuICBpZiAodmlzdWFsVmlld3BvcnQpIHtcbiAgICB3aWR0aCA9IHZpc3VhbFZpZXdwb3J0LndpZHRoO1xuICAgIGhlaWdodCA9IHZpc3VhbFZpZXdwb3J0LmhlaWdodDtcbiAgICBjb25zdCB2aXN1YWxWaWV3cG9ydEJhc2VkID0gaXNXZWJLaXQoKTtcbiAgICBpZiAoIXZpc3VhbFZpZXdwb3J0QmFzZWQgfHwgdmlzdWFsVmlld3BvcnRCYXNlZCAmJiBzdHJhdGVneSA9PT0gJ2ZpeGVkJykge1xuICAgICAgeCA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQ7XG4gICAgICB5ID0gdmlzdWFsVmlld3BvcnQub2Zmc2V0VG9wO1xuICAgIH1cbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuLy8gUmV0dXJucyB0aGUgaW5uZXIgY2xpZW50IHJlY3QsIHN1YnRyYWN0aW5nIHNjcm9sbGJhcnMgaWYgcHJlc2VudC5cbmZ1bmN0aW9uIGdldElubmVyQm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSB7XG4gIGNvbnN0IGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgc3RyYXRlZ3kgPT09ICdmaXhlZCcpO1xuICBjb25zdCB0b3AgPSBjbGllbnRSZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50VG9wO1xuICBjb25zdCBsZWZ0ID0gY2xpZW50UmVjdC5sZWZ0ICsgZWxlbWVudC5jbGllbnRMZWZ0O1xuICBjb25zdCBzY2FsZSA9IGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgPyBnZXRTY2FsZShlbGVtZW50KSA6IGNyZWF0ZUNvb3JkcygxKTtcbiAgY29uc3Qgd2lkdGggPSBlbGVtZW50LmNsaWVudFdpZHRoICogc2NhbGUueDtcbiAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQgKiBzY2FsZS55O1xuICBjb25zdCB4ID0gbGVmdCAqIHNjYWxlLng7XG4gIGNvbnN0IHkgPSB0b3AgKiBzY2FsZS55O1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldENsaWVudFJlY3RGcm9tQ2xpcHBpbmdBbmNlc3RvcihlbGVtZW50LCBjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkge1xuICBsZXQgcmVjdDtcbiAgaWYgKGNsaXBwaW5nQW5jZXN0b3IgPT09ICd2aWV3cG9ydCcpIHtcbiAgICByZWN0ID0gZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KTtcbiAgfSBlbHNlIGlmIChjbGlwcGluZ0FuY2VzdG9yID09PSAnZG9jdW1lbnQnKSB7XG4gICAgcmVjdCA9IGdldERvY3VtZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpO1xuICB9IGVsc2UgaWYgKGlzRWxlbWVudChjbGlwcGluZ0FuY2VzdG9yKSkge1xuICAgIHJlY3QgPSBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmlzdWFsT2Zmc2V0cyA9IGdldFZpc3VhbE9mZnNldHMoZWxlbWVudCk7XG4gICAgcmVjdCA9IHtcbiAgICAgIC4uLmNsaXBwaW5nQW5jZXN0b3IsXG4gICAgICB4OiBjbGlwcGluZ0FuY2VzdG9yLnggLSB2aXN1YWxPZmZzZXRzLngsXG4gICAgICB5OiBjbGlwcGluZ0FuY2VzdG9yLnkgLSB2aXN1YWxPZmZzZXRzLnlcbiAgICB9O1xuICB9XG4gIHJldHVybiByZWN0VG9DbGllbnRSZWN0KHJlY3QpO1xufVxuZnVuY3Rpb24gaGFzRml4ZWRQb3NpdGlvbkFuY2VzdG9yKGVsZW1lbnQsIHN0b3BOb2RlKSB7XG4gIGNvbnN0IHBhcmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuICBpZiAocGFyZW50Tm9kZSA9PT0gc3RvcE5vZGUgfHwgIWlzRWxlbWVudChwYXJlbnROb2RlKSB8fCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUocGFyZW50Tm9kZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUocGFyZW50Tm9kZSkucG9zaXRpb24gPT09ICdmaXhlZCcgfHwgaGFzRml4ZWRQb3NpdGlvbkFuY2VzdG9yKHBhcmVudE5vZGUsIHN0b3BOb2RlKTtcbn1cblxuLy8gQSBcImNsaXBwaW5nIGFuY2VzdG9yXCIgaXMgYW4gYG92ZXJmbG93YCBlbGVtZW50IHdpdGggdGhlIGNoYXJhY3RlcmlzdGljIG9mXG4vLyBjbGlwcGluZyAob3IgaGlkaW5nKSBjaGlsZCBlbGVtZW50cy4gVGhpcyByZXR1cm5zIGFsbCBjbGlwcGluZyBhbmNlc3RvcnNcbi8vIG9mIHRoZSBnaXZlbiBlbGVtZW50IHVwIHRoZSB0cmVlLlxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdFbGVtZW50QW5jZXN0b3JzKGVsZW1lbnQsIGNhY2hlKSB7XG4gIGNvbnN0IGNhY2hlZFJlc3VsdCA9IGNhY2hlLmdldChlbGVtZW50KTtcbiAgaWYgKGNhY2hlZFJlc3VsdCkge1xuICAgIHJldHVybiBjYWNoZWRSZXN1bHQ7XG4gIH1cbiAgbGV0IHJlc3VsdCA9IGdldE92ZXJmbG93QW5jZXN0b3JzKGVsZW1lbnQsIFtdLCBmYWxzZSkuZmlsdGVyKGVsID0+IGlzRWxlbWVudChlbCkgJiYgZ2V0Tm9kZU5hbWUoZWwpICE9PSAnYm9keScpO1xuICBsZXQgY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUgPSBudWxsO1xuICBjb25zdCBlbGVtZW50SXNGaXhlZCA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24gPT09ICdmaXhlZCc7XG4gIGxldCBjdXJyZW50Tm9kZSA9IGVsZW1lbnRJc0ZpeGVkID8gZ2V0UGFyZW50Tm9kZShlbGVtZW50KSA6IGVsZW1lbnQ7XG5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0NvbnRhaW5pbmdfYmxvY2sjaWRlbnRpZnlpbmdfdGhlX2NvbnRhaW5pbmdfYmxvY2tcbiAgd2hpbGUgKGlzRWxlbWVudChjdXJyZW50Tm9kZSkgJiYgIWlzTGFzdFRyYXZlcnNhYmxlTm9kZShjdXJyZW50Tm9kZSkpIHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50Tm9kZSk7XG4gICAgY29uc3QgY3VycmVudE5vZGVJc0NvbnRhaW5pbmcgPSBpc0NvbnRhaW5pbmdCbG9jayhjdXJyZW50Tm9kZSk7XG4gICAgaWYgKCFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBjb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgICBjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSA9IG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHNob3VsZERyb3BDdXJyZW50Tm9kZSA9IGVsZW1lbnRJc0ZpeGVkID8gIWN1cnJlbnROb2RlSXNDb250YWluaW5nICYmICFjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSA6ICFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBjb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnc3RhdGljJyAmJiAhIWN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlICYmIFsnYWJzb2x1dGUnLCAnZml4ZWQnXS5pbmNsdWRlcyhjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZS5wb3NpdGlvbikgfHwgaXNPdmVyZmxvd0VsZW1lbnQoY3VycmVudE5vZGUpICYmICFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBoYXNGaXhlZFBvc2l0aW9uQW5jZXN0b3IoZWxlbWVudCwgY3VycmVudE5vZGUpO1xuICAgIGlmIChzaG91bGREcm9wQ3VycmVudE5vZGUpIHtcbiAgICAgIC8vIERyb3Agbm9uLWNvbnRhaW5pbmcgYmxvY2tzLlxuICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihhbmNlc3RvciA9PiBhbmNlc3RvciAhPT0gY3VycmVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWNvcmQgbGFzdCBjb250YWluaW5nIGJsb2NrIGZvciBuZXh0IGl0ZXJhdGlvbi5cbiAgICAgIGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlID0gY29tcHV0ZWRTdHlsZTtcbiAgICB9XG4gICAgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGN1cnJlbnROb2RlKTtcbiAgfVxuICBjYWNoZS5zZXQoZWxlbWVudCwgcmVzdWx0KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gR2V0cyB0aGUgbWF4aW11bSBhcmVhIHRoYXQgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiBkdWUgdG8gYW55IG51bWJlciBvZlxuLy8gY2xpcHBpbmcgYW5jZXN0b3JzLlxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdSZWN0KF9yZWYpIHtcbiAgbGV0IHtcbiAgICBlbGVtZW50LFxuICAgIGJvdW5kYXJ5LFxuICAgIHJvb3RCb3VuZGFyeSxcbiAgICBzdHJhdGVneVxuICB9ID0gX3JlZjtcbiAgY29uc3QgZWxlbWVudENsaXBwaW5nQW5jZXN0b3JzID0gYm91bmRhcnkgPT09ICdjbGlwcGluZ0FuY2VzdG9ycycgPyBpc1RvcExheWVyKGVsZW1lbnQpID8gW10gOiBnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnMoZWxlbWVudCwgdGhpcy5fYykgOiBbXS5jb25jYXQoYm91bmRhcnkpO1xuICBjb25zdCBjbGlwcGluZ0FuY2VzdG9ycyA9IFsuLi5lbGVtZW50Q2xpcHBpbmdBbmNlc3RvcnMsIHJvb3RCb3VuZGFyeV07XG4gIGNvbnN0IGZpcnN0Q2xpcHBpbmdBbmNlc3RvciA9IGNsaXBwaW5nQW5jZXN0b3JzWzBdO1xuICBjb25zdCBjbGlwcGluZ1JlY3QgPSBjbGlwcGluZ0FuY2VzdG9ycy5yZWR1Y2UoKGFjY1JlY3QsIGNsaXBwaW5nQW5jZXN0b3IpID0+IHtcbiAgICBjb25zdCByZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21DbGlwcGluZ0FuY2VzdG9yKGVsZW1lbnQsIGNsaXBwaW5nQW5jZXN0b3IsIHN0cmF0ZWd5KTtcbiAgICBhY2NSZWN0LnRvcCA9IG1heChyZWN0LnRvcCwgYWNjUmVjdC50b3ApO1xuICAgIGFjY1JlY3QucmlnaHQgPSBtaW4ocmVjdC5yaWdodCwgYWNjUmVjdC5yaWdodCk7XG4gICAgYWNjUmVjdC5ib3R0b20gPSBtaW4ocmVjdC5ib3R0b20sIGFjY1JlY3QuYm90dG9tKTtcbiAgICBhY2NSZWN0LmxlZnQgPSBtYXgocmVjdC5sZWZ0LCBhY2NSZWN0LmxlZnQpO1xuICAgIHJldHVybiBhY2NSZWN0O1xuICB9LCBnZXRDbGllbnRSZWN0RnJvbUNsaXBwaW5nQW5jZXN0b3IoZWxlbWVudCwgZmlyc3RDbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkpO1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiBjbGlwcGluZ1JlY3QucmlnaHQgLSBjbGlwcGluZ1JlY3QubGVmdCxcbiAgICBoZWlnaHQ6IGNsaXBwaW5nUmVjdC5ib3R0b20gLSBjbGlwcGluZ1JlY3QudG9wLFxuICAgIHg6IGNsaXBwaW5nUmVjdC5sZWZ0LFxuICAgIHk6IGNsaXBwaW5nUmVjdC50b3BcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHRcbiAgfSA9IGdldENzc0RpbWVuc2lvbnMoZWxlbWVudCk7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFJlY3RSZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGVsZW1lbnQsIG9mZnNldFBhcmVudCwgc3RyYXRlZ3kpIHtcbiAgY29uc3QgaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgPSBpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIGNvbnN0IGRvY3VtZW50RWxlbWVudCA9IGdldERvY3VtZW50RWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBjb25zdCBpc0ZpeGVkID0gc3RyYXRlZ3kgPT09ICdmaXhlZCc7XG4gIGNvbnN0IHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgaXNGaXhlZCwgb2Zmc2V0UGFyZW50KTtcbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBjb25zdCBvZmZzZXRzID0gY3JlYXRlQ29vcmRzKDApO1xuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCBpc092ZXJmbG93RWxlbWVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuICAgIGlmIChpc09mZnNldFBhcmVudEFuRWxlbWVudCkge1xuICAgICAgY29uc3Qgb2Zmc2V0UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChvZmZzZXRQYXJlbnQsIHRydWUsIGlzRml4ZWQsIG9mZnNldFBhcmVudCk7XG4gICAgICBvZmZzZXRzLnggPSBvZmZzZXRSZWN0LnggKyBvZmZzZXRQYXJlbnQuY2xpZW50TGVmdDtcbiAgICAgIG9mZnNldHMueSA9IG9mZnNldFJlY3QueSArIG9mZnNldFBhcmVudC5jbGllbnRUb3A7XG4gICAgfSBlbHNlIGlmIChkb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIC8vIElmIHRoZSA8Ym9keT4gc2Nyb2xsYmFyIGFwcGVhcnMgb24gdGhlIGxlZnQgKGUuZy4gUlRMIHN5c3RlbXMpLiBVc2VcbiAgICAgIC8vIEZpcmVmb3ggd2l0aCBsYXlvdXQuc2Nyb2xsYmFyLnNpZGUgPSAzIGluIGFib3V0OmNvbmZpZyB0byB0ZXN0IHRoaXMuXG4gICAgICBvZmZzZXRzLnggPSBnZXRXaW5kb3dTY3JvbGxCYXJYKGRvY3VtZW50RWxlbWVudCk7XG4gICAgfVxuICB9XG4gIGxldCBodG1sWCA9IDA7XG4gIGxldCBodG1sWSA9IDA7XG4gIGlmIChkb2N1bWVudEVsZW1lbnQgJiYgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgY29uc3QgaHRtbFJlY3QgPSBkb2N1bWVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgaHRtbFkgPSBodG1sUmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wO1xuICAgIGh0bWxYID0gaHRtbFJlY3QubGVmdCArIHNjcm9sbC5zY3JvbGxMZWZ0IC1cbiAgICAvLyBSVEwgPGJvZHk+IHNjcm9sbGJhci5cbiAgICBnZXRXaW5kb3dTY3JvbGxCYXJYKGRvY3VtZW50RWxlbWVudCwgaHRtbFJlY3QpO1xuICB9XG4gIGNvbnN0IHggPSByZWN0LmxlZnQgKyBzY3JvbGwuc2Nyb2xsTGVmdCAtIG9mZnNldHMueCAtIGh0bWxYO1xuICBjb25zdCB5ID0gcmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wIC0gb2Zmc2V0cy55IC0gaHRtbFk7XG4gIHJldHVybiB7XG4gICAgeCxcbiAgICB5LFxuICAgIHdpZHRoOiByZWN0LndpZHRoLFxuICAgIGhlaWdodDogcmVjdC5oZWlnaHRcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNTdGF0aWNQb3NpdGlvbmVkKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnO1xufVxuXG5mdW5jdGlvbiBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQsIHBvbHlmaWxsKSB7XG4gIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKHBvbHlmaWxsKSB7XG4gICAgcmV0dXJuIHBvbHlmaWxsKGVsZW1lbnQpO1xuICB9XG4gIGxldCByYXdPZmZzZXRQYXJlbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudDtcblxuICAvLyBGaXJlZm94IHJldHVybnMgdGhlIDxodG1sPiBlbGVtZW50IGFzIHRoZSBvZmZzZXRQYXJlbnQgaWYgaXQncyBub24tc3RhdGljLFxuICAvLyB3aGlsZSBDaHJvbWUgYW5kIFNhZmFyaSByZXR1cm4gdGhlIDxib2R5PiBlbGVtZW50LiBUaGUgPGJvZHk+IGVsZW1lbnQgbXVzdFxuICAvLyBiZSB1c2VkIHRvIHBlcmZvcm0gdGhlIGNvcnJlY3QgY2FsY3VsYXRpb25zIGV2ZW4gaWYgdGhlIDxodG1sPiBlbGVtZW50IGlzXG4gIC8vIG5vbi1zdGF0aWMuXG4gIGlmIChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkgPT09IHJhd09mZnNldFBhcmVudCkge1xuICAgIHJhd09mZnNldFBhcmVudCA9IHJhd09mZnNldFBhcmVudC5vd25lckRvY3VtZW50LmJvZHk7XG4gIH1cbiAgcmV0dXJuIHJhd09mZnNldFBhcmVudDtcbn1cblxuLy8gR2V0cyB0aGUgY2xvc2VzdCBhbmNlc3RvciBwb3NpdGlvbmVkIGVsZW1lbnQuIEhhbmRsZXMgc29tZSBlZGdlIGNhc2VzLFxuLy8gc3VjaCBhcyB0YWJsZSBhbmNlc3RvcnMgYW5kIGNyb3NzIGJyb3dzZXIgYnVncy5cbmZ1bmN0aW9uIGdldE9mZnNldFBhcmVudChlbGVtZW50LCBwb2x5ZmlsbCkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGlmIChpc1RvcExheWVyKGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBsZXQgc3ZnT2Zmc2V0UGFyZW50ID0gZ2V0UGFyZW50Tm9kZShlbGVtZW50KTtcbiAgICB3aGlsZSAoc3ZnT2Zmc2V0UGFyZW50ICYmICFpc0xhc3RUcmF2ZXJzYWJsZU5vZGUoc3ZnT2Zmc2V0UGFyZW50KSkge1xuICAgICAgaWYgKGlzRWxlbWVudChzdmdPZmZzZXRQYXJlbnQpICYmICFpc1N0YXRpY1Bvc2l0aW9uZWQoc3ZnT2Zmc2V0UGFyZW50KSkge1xuICAgICAgICByZXR1cm4gc3ZnT2Zmc2V0UGFyZW50O1xuICAgICAgfVxuICAgICAgc3ZnT2Zmc2V0UGFyZW50ID0gZ2V0UGFyZW50Tm9kZShzdmdPZmZzZXRQYXJlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gd2luO1xuICB9XG4gIGxldCBvZmZzZXRQYXJlbnQgPSBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQsIHBvbHlmaWxsKTtcbiAgd2hpbGUgKG9mZnNldFBhcmVudCAmJiBpc1RhYmxlRWxlbWVudChvZmZzZXRQYXJlbnQpICYmIGlzU3RhdGljUG9zaXRpb25lZChvZmZzZXRQYXJlbnQpKSB7XG4gICAgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChvZmZzZXRQYXJlbnQsIHBvbHlmaWxsKTtcbiAgfVxuICBpZiAob2Zmc2V0UGFyZW50ICYmIGlzTGFzdFRyYXZlcnNhYmxlTm9kZShvZmZzZXRQYXJlbnQpICYmIGlzU3RhdGljUG9zaXRpb25lZChvZmZzZXRQYXJlbnQpICYmICFpc0NvbnRhaW5pbmdCbG9jayhvZmZzZXRQYXJlbnQpKSB7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuICByZXR1cm4gb2Zmc2V0UGFyZW50IHx8IGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB8fCB3aW47XG59XG5cbmNvbnN0IGdldEVsZW1lbnRSZWN0cyA9IGFzeW5jIGZ1bmN0aW9uIChkYXRhKSB7XG4gIGNvbnN0IGdldE9mZnNldFBhcmVudEZuID0gdGhpcy5nZXRPZmZzZXRQYXJlbnQgfHwgZ2V0T2Zmc2V0UGFyZW50O1xuICBjb25zdCBnZXREaW1lbnNpb25zRm4gPSB0aGlzLmdldERpbWVuc2lvbnM7XG4gIGNvbnN0IGZsb2F0aW5nRGltZW5zaW9ucyA9IGF3YWl0IGdldERpbWVuc2lvbnNGbihkYXRhLmZsb2F0aW5nKTtcbiAgcmV0dXJuIHtcbiAgICByZWZlcmVuY2U6IGdldFJlY3RSZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGRhdGEucmVmZXJlbmNlLCBhd2FpdCBnZXRPZmZzZXRQYXJlbnRGbihkYXRhLmZsb2F0aW5nKSwgZGF0YS5zdHJhdGVneSksXG4gICAgZmxvYXRpbmc6IHtcbiAgICAgIHg6IDAsXG4gICAgICB5OiAwLFxuICAgICAgd2lkdGg6IGZsb2F0aW5nRGltZW5zaW9ucy53aWR0aCxcbiAgICAgIGhlaWdodDogZmxvYXRpbmdEaW1lbnNpb25zLmhlaWdodFxuICAgIH1cbiAgfTtcbn07XG5cbmZ1bmN0aW9uIGlzUlRMKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZGlyZWN0aW9uID09PSAncnRsJztcbn1cblxuY29uc3QgcGxhdGZvcm0gPSB7XG4gIGNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0LFxuICBnZXREb2N1bWVudEVsZW1lbnQsXG4gIGdldENsaXBwaW5nUmVjdCxcbiAgZ2V0T2Zmc2V0UGFyZW50LFxuICBnZXRFbGVtZW50UmVjdHMsXG4gIGdldENsaWVudFJlY3RzLFxuICBnZXREaW1lbnNpb25zLFxuICBnZXRTY2FsZSxcbiAgaXNFbGVtZW50LFxuICBpc1JUTFxufTtcblxuLy8gaHR0cHM6Ly9zYW10aG9yLmF1LzIwMjEvb2JzZXJ2aW5nLWRvbS9cbmZ1bmN0aW9uIG9ic2VydmVNb3ZlKGVsZW1lbnQsIG9uTW92ZSkge1xuICBsZXQgaW8gPSBudWxsO1xuICBsZXQgdGltZW91dElkO1xuICBjb25zdCByb290ID0gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpO1xuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIHZhciBfaW87XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgKF9pbyA9IGlvKSA9PSBudWxsIHx8IF9pby5kaXNjb25uZWN0KCk7XG4gICAgaW8gPSBudWxsO1xuICB9XG4gIGZ1bmN0aW9uIHJlZnJlc2goc2tpcCwgdGhyZXNob2xkKSB7XG4gICAgaWYgKHNraXAgPT09IHZvaWQgMCkge1xuICAgICAgc2tpcCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhyZXNob2xkID09PSB2b2lkIDApIHtcbiAgICAgIHRocmVzaG9sZCA9IDE7XG4gICAgfVxuICAgIGNsZWFudXAoKTtcbiAgICBjb25zdCB7XG4gICAgICBsZWZ0LFxuICAgICAgdG9wLFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICB9ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAoIXNraXApIHtcbiAgICAgIG9uTW92ZSgpO1xuICAgIH1cbiAgICBpZiAoIXdpZHRoIHx8ICFoZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaW5zZXRUb3AgPSBmbG9vcih0b3ApO1xuICAgIGNvbnN0IGluc2V0UmlnaHQgPSBmbG9vcihyb290LmNsaWVudFdpZHRoIC0gKGxlZnQgKyB3aWR0aCkpO1xuICAgIGNvbnN0IGluc2V0Qm90dG9tID0gZmxvb3Iocm9vdC5jbGllbnRIZWlnaHQgLSAodG9wICsgaGVpZ2h0KSk7XG4gICAgY29uc3QgaW5zZXRMZWZ0ID0gZmxvb3IobGVmdCk7XG4gICAgY29uc3Qgcm9vdE1hcmdpbiA9IC1pbnNldFRvcCArIFwicHggXCIgKyAtaW5zZXRSaWdodCArIFwicHggXCIgKyAtaW5zZXRCb3R0b20gKyBcInB4IFwiICsgLWluc2V0TGVmdCArIFwicHhcIjtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcm9vdE1hcmdpbixcbiAgICAgIHRocmVzaG9sZDogbWF4KDAsIG1pbigxLCB0aHJlc2hvbGQpKSB8fCAxXG4gICAgfTtcbiAgICBsZXQgaXNGaXJzdFVwZGF0ZSA9IHRydWU7XG4gICAgZnVuY3Rpb24gaGFuZGxlT2JzZXJ2ZShlbnRyaWVzKSB7XG4gICAgICBjb25zdCByYXRpbyA9IGVudHJpZXNbMF0uaW50ZXJzZWN0aW9uUmF0aW87XG4gICAgICBpZiAocmF0aW8gIT09IHRocmVzaG9sZCkge1xuICAgICAgICBpZiAoIWlzRmlyc3RVcGRhdGUpIHtcbiAgICAgICAgICByZXR1cm4gcmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmF0aW8pIHtcbiAgICAgICAgICAvLyBJZiB0aGUgcmVmZXJlbmNlIGlzIGNsaXBwZWQsIHRoZSByYXRpbyBpcyAwLiBUaHJvdHRsZSB0aGUgcmVmcmVzaFxuICAgICAgICAgIC8vIHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCBvZiB1cGRhdGVzLlxuICAgICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgcmVmcmVzaChmYWxzZSwgMWUtNyk7XG4gICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmcmVzaChmYWxzZSwgcmF0aW8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpc0ZpcnN0VXBkYXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gT2xkZXIgYnJvd3NlcnMgZG9uJ3Qgc3VwcG9ydCBhIGBkb2N1bWVudGAgYXMgdGhlIHJvb3QgYW5kIHdpbGwgdGhyb3cgYW5cbiAgICAvLyBlcnJvci5cbiAgICB0cnkge1xuICAgICAgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoaGFuZGxlT2JzZXJ2ZSwge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAvLyBIYW5kbGUgPGlmcmFtZT5zXG4gICAgICAgIHJvb3Q6IHJvb3Qub3duZXJEb2N1bWVudFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoaGFuZGxlT2JzZXJ2ZSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGlvLm9ic2VydmUoZWxlbWVudCk7XG4gIH1cbiAgcmVmcmVzaCh0cnVlKTtcbiAgcmV0dXJuIGNsZWFudXA7XG59XG5cbi8qKlxuICogQXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGVuIG5lY2Vzc2FyeS5cbiAqIFNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzIG1vdW50ZWQgb24gdGhlIERPTSBvclxuICogdmlzaWJsZSBvbiB0aGUgc2NyZWVuLlxuICogQHJldHVybnMgY2xlYW51cCBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBpbnZva2VkIHdoZW4gdGhlIGZsb2F0aW5nIGVsZW1lbnQgaXNcbiAqIHJlbW92ZWQgZnJvbSB0aGUgRE9NIG9yIGhpZGRlbiBmcm9tIHRoZSBzY3JlZW4uXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1VwZGF0ZVxuICovXG5mdW5jdGlvbiBhdXRvVXBkYXRlKHJlZmVyZW5jZSwgZmxvYXRpbmcsIHVwZGF0ZSwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBhbmNlc3RvclNjcm9sbCA9IHRydWUsXG4gICAgYW5jZXN0b3JSZXNpemUgPSB0cnVlLFxuICAgIGVsZW1lbnRSZXNpemUgPSB0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09ICdmdW5jdGlvbicsXG4gICAgbGF5b3V0U2hpZnQgPSB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPT09ICdmdW5jdGlvbicsXG4gICAgYW5pbWF0aW9uRnJhbWUgPSBmYWxzZVxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgcmVmZXJlbmNlRWwgPSB1bndyYXBFbGVtZW50KHJlZmVyZW5jZSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGFuY2VzdG9yU2Nyb2xsIHx8IGFuY2VzdG9yUmVzaXplID8gWy4uLihyZWZlcmVuY2VFbCA/IGdldE92ZXJmbG93QW5jZXN0b3JzKHJlZmVyZW5jZUVsKSA6IFtdKSwgLi4uZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoZmxvYXRpbmcpXSA6IFtdO1xuICBhbmNlc3RvcnMuZm9yRWFjaChhbmNlc3RvciA9PiB7XG4gICAgYW5jZXN0b3JTY3JvbGwgJiYgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlXG4gICAgfSk7XG4gICAgYW5jZXN0b3JSZXNpemUgJiYgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKTtcbiAgfSk7XG4gIGNvbnN0IGNsZWFudXBJbyA9IHJlZmVyZW5jZUVsICYmIGxheW91dFNoaWZ0ID8gb2JzZXJ2ZU1vdmUocmVmZXJlbmNlRWwsIHVwZGF0ZSkgOiBudWxsO1xuICBsZXQgcmVvYnNlcnZlRnJhbWUgPSAtMTtcbiAgbGV0IHJlc2l6ZU9ic2VydmVyID0gbnVsbDtcbiAgaWYgKGVsZW1lbnRSZXNpemUpIHtcbiAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihfcmVmID0+IHtcbiAgICAgIGxldCBbZmlyc3RFbnRyeV0gPSBfcmVmO1xuICAgICAgaWYgKGZpcnN0RW50cnkgJiYgZmlyc3RFbnRyeS50YXJnZXQgPT09IHJlZmVyZW5jZUVsICYmIHJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICAgIC8vIFByZXZlbnQgdXBkYXRlIGxvb3BzIHdoZW4gdXNpbmcgdGhlIGBzaXplYCBtaWRkbGV3YXJlLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzE3NDBcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmVvYnNlcnZlRnJhbWUpO1xuICAgICAgICByZW9ic2VydmVGcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgdmFyIF9yZXNpemVPYnNlcnZlcjtcbiAgICAgICAgICAoX3Jlc2l6ZU9ic2VydmVyID0gcmVzaXplT2JzZXJ2ZXIpID09IG51bGwgfHwgX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoZmxvYXRpbmcpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHVwZGF0ZSgpO1xuICAgIH0pO1xuICAgIGlmIChyZWZlcmVuY2VFbCAmJiAhYW5pbWF0aW9uRnJhbWUpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUocmVmZXJlbmNlRWwpO1xuICAgIH1cbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgfVxuICBsZXQgZnJhbWVJZDtcbiAgbGV0IHByZXZSZWZSZWN0ID0gYW5pbWF0aW9uRnJhbWUgPyBnZXRCb3VuZGluZ0NsaWVudFJlY3QocmVmZXJlbmNlKSA6IG51bGw7XG4gIGlmIChhbmltYXRpb25GcmFtZSkge1xuICAgIGZyYW1lTG9vcCgpO1xuICB9XG4gIGZ1bmN0aW9uIGZyYW1lTG9vcCgpIHtcbiAgICBjb25zdCBuZXh0UmVmUmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChyZWZlcmVuY2UpO1xuICAgIGlmIChwcmV2UmVmUmVjdCAmJiAobmV4dFJlZlJlY3QueCAhPT0gcHJldlJlZlJlY3QueCB8fCBuZXh0UmVmUmVjdC55ICE9PSBwcmV2UmVmUmVjdC55IHx8IG5leHRSZWZSZWN0LndpZHRoICE9PSBwcmV2UmVmUmVjdC53aWR0aCB8fCBuZXh0UmVmUmVjdC5oZWlnaHQgIT09IHByZXZSZWZSZWN0LmhlaWdodCkpIHtcbiAgICAgIHVwZGF0ZSgpO1xuICAgIH1cbiAgICBwcmV2UmVmUmVjdCA9IG5leHRSZWZSZWN0O1xuICAgIGZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnJhbWVMb29wKTtcbiAgfVxuICB1cGRhdGUoKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICB2YXIgX3Jlc2l6ZU9ic2VydmVyMjtcbiAgICBhbmNlc3RvcnMuZm9yRWFjaChhbmNlc3RvciA9PiB7XG4gICAgICBhbmNlc3RvclNjcm9sbCAmJiBhbmNlc3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB1cGRhdGUpO1xuICAgICAgYW5jZXN0b3JSZXNpemUgJiYgYW5jZXN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKTtcbiAgICB9KTtcbiAgICBjbGVhbnVwSW8gPT0gbnVsbCB8fCBjbGVhbnVwSW8oKTtcbiAgICAoX3Jlc2l6ZU9ic2VydmVyMiA9IHJlc2l6ZU9ic2VydmVyKSA9PSBudWxsIHx8IF9yZXNpemVPYnNlcnZlcjIuZGlzY29ubmVjdCgpO1xuICAgIHJlc2l6ZU9ic2VydmVyID0gbnVsbDtcbiAgICBpZiAoYW5pbWF0aW9uRnJhbWUpIHtcbiAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lSWQpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB3aXRoIGFuIG9iamVjdCBvZiBvdmVyZmxvdyBzaWRlIG9mZnNldHMgdGhhdCBkZXRlcm1pbmUgaG93IG11Y2ggdGhlXG4gKiBlbGVtZW50IGlzIG92ZXJmbG93aW5nIGEgZ2l2ZW4gY2xpcHBpbmcgYm91bmRhcnkgb24gZWFjaCBzaWRlLlxuICogLSBwb3NpdGl2ZSA9IG92ZXJmbG93aW5nIHRoZSBib3VuZGFyeSBieSB0aGF0IG51bWJlciBvZiBwaXhlbHNcbiAqIC0gbmVnYXRpdmUgPSBob3cgbWFueSBwaXhlbHMgbGVmdCBiZWZvcmUgaXQgd2lsbCBvdmVyZmxvd1xuICogLSAwID0gbGllcyBmbHVzaCB3aXRoIHRoZSBib3VuZGFyeVxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2RldGVjdE92ZXJmbG93XG4gKi9cbmNvbnN0IGRldGVjdE92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3ckMTtcblxuLyoqXG4gKiBNb2RpZmllcyB0aGUgcGxhY2VtZW50IGJ5IHRyYW5zbGF0aW5nIHRoZSBmbG9hdGluZyBlbGVtZW50IGFsb25nIHRoZVxuICogc3BlY2lmaWVkIGF4ZXMuXG4gKiBBIG51bWJlciAoc2hvcnRoYW5kIGZvciBgbWFpbkF4aXNgIG9yIGRpc3RhbmNlKSwgb3IgYW4gYXhlcyBjb25maWd1cmF0aW9uXG4gKiBvYmplY3QgbWF5IGJlIHBhc3NlZC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9vZmZzZXRcbiAqL1xuY29uc3Qgb2Zmc2V0ID0gb2Zmc2V0JDE7XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGNob29zaW5nIHRoZSBwbGFjZW1lbnRcbiAqIHRoYXQgaGFzIHRoZSBtb3N0IHNwYWNlIGF2YWlsYWJsZSBhdXRvbWF0aWNhbGx5LCB3aXRob3V0IG5lZWRpbmcgdG8gc3BlY2lmeSBhXG4gKiBwcmVmZXJyZWQgcGxhY2VtZW50LiBBbHRlcm5hdGl2ZSB0byBgZmxpcGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1BsYWNlbWVudFxuICovXG5jb25zdCBhdXRvUGxhY2VtZW50ID0gYXV0b1BsYWNlbWVudCQxO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBzaGlmdGluZyBpdCBpbiBvcmRlciB0b1xuICoga2VlcCBpdCBpbiB2aWV3IHdoZW4gaXQgd2lsbCBvdmVyZmxvdyB0aGUgY2xpcHBpbmcgYm91bmRhcnkuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvc2hpZnRcbiAqL1xuY29uc3Qgc2hpZnQgPSBzaGlmdCQxO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBmbGlwcGluZyB0aGUgYHBsYWNlbWVudGBcbiAqIGluIG9yZGVyIHRvIGtlZXAgaXQgaW4gdmlldyB3aGVuIHRoZSBwcmVmZXJyZWQgcGxhY2VtZW50KHMpIHdpbGwgb3ZlcmZsb3cgdGhlXG4gKiBjbGlwcGluZyBib3VuZGFyeS4gQWx0ZXJuYXRpdmUgdG8gYGF1dG9QbGFjZW1lbnRgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2ZsaXBcbiAqL1xuY29uc3QgZmxpcCA9IGZsaXAkMTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRoYXQgYWxsb3dzIHlvdSB0byBjaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgXHUyMDE0XG4gKiBmb3IgaW5zdGFuY2UsIHByZXZlbnQgaXQgZnJvbSBvdmVyZmxvd2luZyB0aGUgY2xpcHBpbmcgYm91bmRhcnkgb3IgbWF0Y2ggdGhlXG4gKiB3aWR0aCBvZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvc2l6ZVxuICovXG5jb25zdCBzaXplID0gc2l6ZSQxO1xuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdG8gaGlkZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBpbiBhcHBsaWNhYmxlIHNpdHVhdGlvbnMsIHN1Y2ggYXNcbiAqIHdoZW4gaXQgaXMgbm90IGluIHRoZSBzYW1lIGNsaXBwaW5nIGNvbnRleHQgYXMgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2hpZGVcbiAqL1xuY29uc3QgaGlkZSA9IGhpZGUkMTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIHBvc2l0aW9uIGFuIGlubmVyIGVsZW1lbnQgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgc28gdGhhdCBpdFxuICogYXBwZWFycyBjZW50ZXJlZCB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXJyb3dcbiAqL1xuY29uc3QgYXJyb3cgPSBhcnJvdyQxO1xuXG4vKipcbiAqIFByb3ZpZGVzIGltcHJvdmVkIHBvc2l0aW9uaW5nIGZvciBpbmxpbmUgcmVmZXJlbmNlIGVsZW1lbnRzIHRoYXQgY2FuIHNwYW5cbiAqIG92ZXIgbXVsdGlwbGUgbGluZXMsIHN1Y2ggYXMgaHlwZXJsaW5rcyBvciByYW5nZSBzZWxlY3Rpb25zLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2lubGluZVxuICovXG5jb25zdCBpbmxpbmUgPSBpbmxpbmUkMTtcblxuLyoqXG4gKiBCdWlsdC1pbiBgbGltaXRlcmAgdGhhdCB3aWxsIHN0b3AgYHNoaWZ0KClgIGF0IGEgY2VydGFpbiBwb2ludC5cbiAqL1xuY29uc3QgbGltaXRTaGlmdCA9IGxpbWl0U2hpZnQkMTtcblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgYHhgIGFuZCBgeWAgY29vcmRpbmF0ZXMgdGhhdCB3aWxsIHBsYWNlIHRoZSBmbG9hdGluZyBlbGVtZW50XG4gKiBuZXh0IHRvIGEgZ2l2ZW4gcmVmZXJlbmNlIGVsZW1lbnQuXG4gKi9cbmNvbnN0IGNvbXB1dGVQb3NpdGlvbiA9IChyZWZlcmVuY2UsIGZsb2F0aW5nLCBvcHRpb25zKSA9PiB7XG4gIC8vIFRoaXMgY2FjaGVzIHRoZSBleHBlbnNpdmUgYGdldENsaXBwaW5nRWxlbWVudEFuY2VzdG9yc2AgZnVuY3Rpb24gc28gdGhhdFxuICAvLyBtdWx0aXBsZSBsaWZlY3ljbGUgcmVzZXRzIHJlLXVzZSB0aGUgc2FtZSByZXN1bHQuIEl0IG9ubHkgbGl2ZXMgZm9yIGFcbiAgLy8gc2luZ2xlIGNhbGwuIElmIG90aGVyIGZ1bmN0aW9ucyBiZWNvbWUgZXhwZW5zaXZlLCB3ZSBjYW4gYWRkIHRoZW0gYXMgd2VsbC5cbiAgY29uc3QgY2FjaGUgPSBuZXcgTWFwKCk7XG4gIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSB7XG4gICAgcGxhdGZvcm0sXG4gICAgLi4ub3B0aW9uc1xuICB9O1xuICBjb25zdCBwbGF0Zm9ybVdpdGhDYWNoZSA9IHtcbiAgICAuLi5tZXJnZWRPcHRpb25zLnBsYXRmb3JtLFxuICAgIF9jOiBjYWNoZVxuICB9O1xuICByZXR1cm4gY29tcHV0ZVBvc2l0aW9uJDEocmVmZXJlbmNlLCBmbG9hdGluZywge1xuICAgIC4uLm1lcmdlZE9wdGlvbnMsXG4gICAgcGxhdGZvcm06IHBsYXRmb3JtV2l0aENhY2hlXG4gIH0pO1xufTtcblxuZXhwb3J0IHsgYXJyb3csIGF1dG9QbGFjZW1lbnQsIGF1dG9VcGRhdGUsIGNvbXB1dGVQb3NpdGlvbiwgZGV0ZWN0T3ZlcmZsb3csIGZsaXAsIGhpZGUsIGlubGluZSwgbGltaXRTaGlmdCwgb2Zmc2V0LCBwbGF0Zm9ybSwgc2hpZnQsIHNpemUgfTtcbiIsICJpbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbnZhciBpbmRleCA9ICB1c2VMYXlvdXRFZmZlY3QgO1xuXG5leHBvcnQgZGVmYXVsdCBpbmRleDtcbiIsICJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyJztcbmltcG9ydCBfZXh0ZW5kcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzJztcbmltcG9ydCB7IGpzeCwga2V5ZnJhbWVzLCBjc3MgYXMgY3NzJDIgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgX3NsaWNlZFRvQXJyYXkgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vc2xpY2VkVG9BcnJheSc7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzJztcbmltcG9ydCBfdHlwZW9mIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3R5cGVvZic7XG5pbXBvcnQgX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90YWdnZWRUZW1wbGF0ZUxpdGVyYWwnO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eSc7XG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VNZW1vLCB1c2VDYWxsYmFjaywgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBhdXRvVXBkYXRlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5pbXBvcnQgdXNlTGF5b3V0RWZmZWN0IGZyb20gJ3VzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QnO1xuXG52YXIgX2V4Y2x1ZGVkJDQgPSBbXCJjbGFzc05hbWVcIiwgXCJjbGVhclZhbHVlXCIsIFwiY3hcIiwgXCJnZXRTdHlsZXNcIiwgXCJnZXRDbGFzc05hbWVzXCIsIFwiZ2V0VmFsdWVcIiwgXCJoYXNWYWx1ZVwiLCBcImlzTXVsdGlcIiwgXCJpc1J0bFwiLCBcIm9wdGlvbnNcIiwgXCJzZWxlY3RPcHRpb25cIiwgXCJzZWxlY3RQcm9wc1wiLCBcInNldFZhbHVlXCIsIFwidGhlbWVcIl07XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5PIE9QXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudmFyIG5vb3AgPSBmdW5jdGlvbiBub29wKCkge307XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2xhc3MgTmFtZSBQcmVmaXhlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBjb21wb25lbnQgc3RhdGUgZm9yIHN0eWxpbmcgd2l0aCBjbGFzcyBuYW1lcy5cblxuIEV4cGVjdHMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBPUiBhIHN0cmluZy9vYmplY3QgcGFpcjpcbiAtIGNsYXNzTmFtZShbJ2NvbXAnLCAnY29tcC1hcmcnLCAnY29tcC1hcmctMiddKVxuICAgQHJldHVybnMgJ3JlYWN0LXNlbGVjdF9fY29tcCByZWFjdC1zZWxlY3RfX2NvbXAtYXJnIHJlYWN0LXNlbGVjdF9fY29tcC1hcmctMidcbiAtIGNsYXNzTmFtZSgnY29tcCcsIHsgc29tZTogdHJ1ZSwgc3RhdGU6IGZhbHNlIH0pXG4gICBAcmV0dXJucyAncmVhY3Qtc2VsZWN0X19jb21wIHJlYWN0LXNlbGVjdF9fY29tcC0tc29tZSdcbiovXG5mdW5jdGlvbiBhcHBseVByZWZpeFRvTmFtZShwcmVmaXgsIG5hbWUpIHtcbiAgaWYgKCFuYW1lKSB7XG4gICAgcmV0dXJuIHByZWZpeDtcbiAgfSBlbHNlIGlmIChuYW1lWzBdID09PSAnLScpIHtcbiAgICByZXR1cm4gcHJlZml4ICsgbmFtZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcHJlZml4ICsgJ19fJyArIG5hbWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNsYXNzTmFtZXMocHJlZml4LCBzdGF0ZSkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgY2xhc3NOYW1lTGlzdCA9IG5ldyBBcnJheShfbGVuID4gMiA/IF9sZW4gLSAyIDogMCksIF9rZXkgPSAyOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgY2xhc3NOYW1lTGlzdFtfa2V5IC0gMl0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cbiAgdmFyIGFyciA9IFtdLmNvbmNhdChjbGFzc05hbWVMaXN0KTtcbiAgaWYgKHN0YXRlICYmIHByZWZpeCkge1xuICAgIGZvciAodmFyIGtleSBpbiBzdGF0ZSkge1xuICAgICAgaWYgKHN0YXRlLmhhc093blByb3BlcnR5KGtleSkgJiYgc3RhdGVba2V5XSkge1xuICAgICAgICBhcnIucHVzaChcIlwiLmNvbmNhdChhcHBseVByZWZpeFRvTmFtZShwcmVmaXgsIGtleSkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFyci5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICByZXR1cm4gaTtcbiAgfSkubWFwKGZ1bmN0aW9uIChpKSB7XG4gICAgcmV0dXJuIFN0cmluZyhpKS50cmltKCk7XG4gIH0pLmpvaW4oJyAnKTtcbn1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2xlYW4gVmFsdWVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgY2xlYW5WYWx1ZSA9IGZ1bmN0aW9uIGNsZWFuVmFsdWUodmFsdWUpIHtcbiAgaWYgKGlzQXJyYXkodmFsdWUpKSByZXR1cm4gdmFsdWUuZmlsdGVyKEJvb2xlYW4pO1xuICBpZiAoX3R5cGVvZih2YWx1ZSkgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSByZXR1cm4gW3ZhbHVlXTtcbiAgcmV0dXJuIFtdO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDbGVhbiBDb21tb24gUHJvcHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgY2xlYW5Db21tb25Qcm9wcyA9IGZ1bmN0aW9uIGNsZWFuQ29tbW9uUHJvcHMocHJvcHMpIHtcbiAgLy9jbGFzc05hbWVcbiAgcHJvcHMuY2xhc3NOYW1lO1xuICAgIHByb3BzLmNsZWFyVmFsdWU7XG4gICAgcHJvcHMuY3g7XG4gICAgcHJvcHMuZ2V0U3R5bGVzO1xuICAgIHByb3BzLmdldENsYXNzTmFtZXM7XG4gICAgcHJvcHMuZ2V0VmFsdWU7XG4gICAgcHJvcHMuaGFzVmFsdWU7XG4gICAgcHJvcHMuaXNNdWx0aTtcbiAgICBwcm9wcy5pc1J0bDtcbiAgICBwcm9wcy5vcHRpb25zO1xuICAgIHByb3BzLnNlbGVjdE9wdGlvbjtcbiAgICBwcm9wcy5zZWxlY3RQcm9wcztcbiAgICBwcm9wcy5zZXRWYWx1ZTtcbiAgICBwcm9wcy50aGVtZTtcbiAgICB2YXIgaW5uZXJQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgX2V4Y2x1ZGVkJDQpO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgaW5uZXJQcm9wcyk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdldCBTdHlsZSBQcm9wc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBnZXRTdHlsZVByb3BzID0gZnVuY3Rpb24gZ2V0U3R5bGVQcm9wcyhwcm9wcywgbmFtZSwgY2xhc3NOYW1lc1N0YXRlKSB7XG4gIHZhciBjeCA9IHByb3BzLmN4LFxuICAgIGdldFN0eWxlcyA9IHByb3BzLmdldFN0eWxlcyxcbiAgICBnZXRDbGFzc05hbWVzID0gcHJvcHMuZ2V0Q2xhc3NOYW1lcyxcbiAgICBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWU7XG4gIHJldHVybiB7XG4gICAgY3NzOiBnZXRTdHlsZXMobmFtZSwgcHJvcHMpLFxuICAgIGNsYXNzTmFtZTogY3goY2xhc3NOYW1lc1N0YXRlICE9PSBudWxsICYmIGNsYXNzTmFtZXNTdGF0ZSAhPT0gdm9pZCAwID8gY2xhc3NOYW1lc1N0YXRlIDoge30sIGdldENsYXNzTmFtZXMobmFtZSwgcHJvcHMpLCBjbGFzc05hbWUpXG4gIH07XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhhbmRsZSBJbnB1dCBDaGFuZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5mdW5jdGlvbiBoYW5kbGVJbnB1dENoYW5nZShpbnB1dFZhbHVlLCBhY3Rpb25NZXRhLCBvbklucHV0Q2hhbmdlKSB7XG4gIGlmIChvbklucHV0Q2hhbmdlKSB7XG4gICAgdmFyIF9uZXdWYWx1ZSA9IG9uSW5wdXRDaGFuZ2UoaW5wdXRWYWx1ZSwgYWN0aW9uTWV0YSk7XG4gICAgaWYgKHR5cGVvZiBfbmV3VmFsdWUgPT09ICdzdHJpbmcnKSByZXR1cm4gX25ld1ZhbHVlO1xuICB9XG4gIHJldHVybiBpbnB1dFZhbHVlO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjcm9sbCBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZnVuY3Rpb24gaXNEb2N1bWVudEVsZW1lbnQoZWwpIHtcbiAgcmV0dXJuIFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIGRvY3VtZW50LmJvZHksIHdpbmRvd10uaW5kZXhPZihlbCkgPiAtMTtcbn1cblxuLy8gTm9ybWFsaXplZCBTY3JvbGwgVG9wXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZnVuY3Rpb24gbm9ybWFsaXplZEhlaWdodChlbCkge1xuICBpZiAoaXNEb2N1bWVudEVsZW1lbnQoZWwpKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodDtcbiAgfVxuICByZXR1cm4gZWwuY2xpZW50SGVpZ2h0O1xufVxuXG4vLyBOb3JtYWxpemVkIHNjcm9sbFRvICYgc2Nyb2xsVG9wXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZnVuY3Rpb24gZ2V0U2Nyb2xsVG9wKGVsKSB7XG4gIGlmIChpc0RvY3VtZW50RWxlbWVudChlbCkpIHtcbiAgICByZXR1cm4gd2luZG93LnBhZ2VZT2Zmc2V0O1xuICB9XG4gIHJldHVybiBlbC5zY3JvbGxUb3A7XG59XG5mdW5jdGlvbiBzY3JvbGxUbyhlbCwgdG9wKSB7XG4gIC8vIHdpdGggYSBzY3JvbGwgZGlzdGFuY2UsIHdlIHBlcmZvcm0gc2Nyb2xsIG9uIHRoZSBlbGVtZW50XG4gIGlmIChpc0RvY3VtZW50RWxlbWVudChlbCkpIHtcbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgdG9wKTtcbiAgICByZXR1cm47XG4gIH1cbiAgZWwuc2Nyb2xsVG9wID0gdG9wO1xufVxuXG4vLyBHZXQgU2Nyb2xsIFBhcmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIGdldFNjcm9sbFBhcmVudChlbGVtZW50KSB7XG4gIHZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIHZhciBleGNsdWRlU3RhdGljUGFyZW50ID0gc3R5bGUucG9zaXRpb24gPT09ICdhYnNvbHV0ZSc7XG4gIHZhciBvdmVyZmxvd1J4ID0gLyhhdXRvfHNjcm9sbCkvO1xuICBpZiAoc3R5bGUucG9zaXRpb24gPT09ICdmaXhlZCcpIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIGZvciAodmFyIHBhcmVudCA9IGVsZW1lbnQ7IHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50Oykge1xuICAgIHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpO1xuICAgIGlmIChleGNsdWRlU3RhdGljUGFyZW50ICYmIHN0eWxlLnBvc2l0aW9uID09PSAnc3RhdGljJykge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChvdmVyZmxvd1J4LnRlc3Qoc3R5bGUub3ZlcmZsb3cgKyBzdHlsZS5vdmVyZmxvd1kgKyBzdHlsZS5vdmVyZmxvd1gpKSB7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH1cbiAgfVxuICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xufVxuXG4vLyBBbmltYXRlZCBTY3JvbGwgVG9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAgQHBhcmFtIHQ6IHRpbWUgKGVsYXBzZWQpXG4gIEBwYXJhbSBiOiBpbml0aWFsIHZhbHVlXG4gIEBwYXJhbSBjOiBhbW91bnQgb2YgY2hhbmdlXG4gIEBwYXJhbSBkOiBkdXJhdGlvblxuKi9cbmZ1bmN0aW9uIGVhc2VPdXRDdWJpYyh0LCBiLCBjLCBkKSB7XG4gIHJldHVybiBjICogKCh0ID0gdCAvIGQgLSAxKSAqIHQgKiB0ICsgMSkgKyBiO1xufVxuZnVuY3Rpb24gYW5pbWF0ZWRTY3JvbGxUbyhlbGVtZW50LCB0bykge1xuICB2YXIgZHVyYXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IDIwMDtcbiAgdmFyIGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiBub29wO1xuICB2YXIgc3RhcnQgPSBnZXRTY3JvbGxUb3AoZWxlbWVudCk7XG4gIHZhciBjaGFuZ2UgPSB0byAtIHN0YXJ0O1xuICB2YXIgaW5jcmVtZW50ID0gMTA7XG4gIHZhciBjdXJyZW50VGltZSA9IDA7XG4gIGZ1bmN0aW9uIGFuaW1hdGVTY3JvbGwoKSB7XG4gICAgY3VycmVudFRpbWUgKz0gaW5jcmVtZW50O1xuICAgIHZhciB2YWwgPSBlYXNlT3V0Q3ViaWMoY3VycmVudFRpbWUsIHN0YXJ0LCBjaGFuZ2UsIGR1cmF0aW9uKTtcbiAgICBzY3JvbGxUbyhlbGVtZW50LCB2YWwpO1xuICAgIGlmIChjdXJyZW50VGltZSA8IGR1cmF0aW9uKSB7XG4gICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGVTY3JvbGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWxsYmFjayhlbGVtZW50KTtcbiAgICB9XG4gIH1cbiAgYW5pbWF0ZVNjcm9sbCgpO1xufVxuXG4vLyBTY3JvbGwgSW50byBWaWV3XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZnVuY3Rpb24gc2Nyb2xsSW50b1ZpZXcobWVudUVsLCBmb2N1c2VkRWwpIHtcbiAgdmFyIG1lbnVSZWN0ID0gbWVudUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB2YXIgZm9jdXNlZFJlY3QgPSBmb2N1c2VkRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHZhciBvdmVyU2Nyb2xsID0gZm9jdXNlZEVsLm9mZnNldEhlaWdodCAvIDM7XG4gIGlmIChmb2N1c2VkUmVjdC5ib3R0b20gKyBvdmVyU2Nyb2xsID4gbWVudVJlY3QuYm90dG9tKSB7XG4gICAgc2Nyb2xsVG8obWVudUVsLCBNYXRoLm1pbihmb2N1c2VkRWwub2Zmc2V0VG9wICsgZm9jdXNlZEVsLmNsaWVudEhlaWdodCAtIG1lbnVFbC5vZmZzZXRIZWlnaHQgKyBvdmVyU2Nyb2xsLCBtZW51RWwuc2Nyb2xsSGVpZ2h0KSk7XG4gIH0gZWxzZSBpZiAoZm9jdXNlZFJlY3QudG9wIC0gb3ZlclNjcm9sbCA8IG1lbnVSZWN0LnRvcCkge1xuICAgIHNjcm9sbFRvKG1lbnVFbCwgTWF0aC5tYXgoZm9jdXNlZEVsLm9mZnNldFRvcCAtIG92ZXJTY3JvbGwsIDApKTtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdldCBib3VuZGluZyBjbGllbnQgb2JqZWN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gY2Fubm90IGdldCBrZXlzIHVzaW5nIGFycmF5IG5vdGF0aW9uIHdpdGggRE9NUmVjdFxuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRPYmooZWxlbWVudCkge1xuICB2YXIgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHJldHVybiB7XG4gICAgYm90dG9tOiByZWN0LmJvdHRvbSxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0LFxuICAgIGxlZnQ6IHJlY3QubGVmdCxcbiAgICByaWdodDogcmVjdC5yaWdodCxcbiAgICB0b3A6IHJlY3QudG9wLFxuICAgIHdpZHRoOiByZWN0LndpZHRoXG4gIH07XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVG91Y2ggQ2FwYWJpbGl0eSBEZXRlY3RvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmZ1bmN0aW9uIGlzVG91Y2hDYXBhYmxlKCkge1xuICB0cnkge1xuICAgIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdUb3VjaEV2ZW50Jyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgRGV2aWNlIERldGVjdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZnVuY3Rpb24gaXNNb2JpbGVEZXZpY2UoKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhc3NpdmUgRXZlbnQgRGV0ZWN0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vcmFmZ3JhcGgvZGV0ZWN0LWl0L2Jsb2IvbWFpbi9zcmMvaW5kZXgudHMjTDE5LUwzNlxudmFyIHBhc3NpdmVPcHRpb25BY2Nlc3NlZCA9IGZhbHNlO1xudmFyIG9wdGlvbnMgPSB7XG4gIGdldCBwYXNzaXZlKCkge1xuICAgIHJldHVybiBwYXNzaXZlT3B0aW9uQWNjZXNzZWQgPSB0cnVlO1xuICB9XG59O1xuLy8gY2hlY2sgZm9yIFNTUlxudmFyIHcgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHt9O1xuaWYgKHcuYWRkRXZlbnRMaXN0ZW5lciAmJiB3LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHtcbiAgdy5hZGRFdmVudExpc3RlbmVyKCdwJywgbm9vcCwgb3B0aW9ucyk7XG4gIHcucmVtb3ZlRXZlbnRMaXN0ZW5lcigncCcsIG5vb3AsIGZhbHNlKTtcbn1cbnZhciBzdXBwb3J0c1Bhc3NpdmVFdmVudHMgPSBwYXNzaXZlT3B0aW9uQWNjZXNzZWQ7XG5mdW5jdGlvbiBub3ROdWxsaXNoKGl0ZW0pIHtcbiAgcmV0dXJuIGl0ZW0gIT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzQXJyYXkoYXJnKSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KGFyZyk7XG59XG5mdW5jdGlvbiB2YWx1ZVRlcm5hcnkoaXNNdWx0aSwgbXVsdGlWYWx1ZSwgc2luZ2xlVmFsdWUpIHtcbiAgcmV0dXJuIGlzTXVsdGkgPyBtdWx0aVZhbHVlIDogc2luZ2xlVmFsdWU7XG59XG5mdW5jdGlvbiBzaW5nbGVWYWx1ZUFzVmFsdWUoc2luZ2xlVmFsdWUpIHtcbiAgcmV0dXJuIHNpbmdsZVZhbHVlO1xufVxuZnVuY3Rpb24gbXVsdGlWYWx1ZUFzVmFsdWUobXVsdGlWYWx1ZSkge1xuICByZXR1cm4gbXVsdGlWYWx1ZTtcbn1cbnZhciByZW1vdmVQcm9wcyA9IGZ1bmN0aW9uIHJlbW92ZVByb3BzKHByb3BzT2JqKSB7XG4gIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgcHJvcGVydGllcyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgcHJvcGVydGllc1tfa2V5MiAtIDFdID0gYXJndW1lbnRzW19rZXkyXTtcbiAgfVxuICB2YXIgcHJvcHNNYXAgPSBPYmplY3QuZW50cmllcyhwcm9wc09iaikuZmlsdGVyKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIF9yZWYyID0gX3NsaWNlZFRvQXJyYXkoX3JlZiwgMSksXG4gICAgICBrZXkgPSBfcmVmMlswXTtcbiAgICByZXR1cm4gIXByb3BlcnRpZXMuaW5jbHVkZXMoa2V5KTtcbiAgfSk7XG4gIHJldHVybiBwcm9wc01hcC5yZWR1Y2UoZnVuY3Rpb24gKG5ld1Byb3BzLCBfcmVmMykge1xuICAgIHZhciBfcmVmNCA9IF9zbGljZWRUb0FycmF5KF9yZWYzLCAyKSxcbiAgICAgIGtleSA9IF9yZWY0WzBdLFxuICAgICAgdmFsID0gX3JlZjRbMV07XG4gICAgbmV3UHJvcHNba2V5XSA9IHZhbDtcbiAgICByZXR1cm4gbmV3UHJvcHM7XG4gIH0sIHt9KTtcbn07XG5cbnZhciBfZXhjbHVkZWQkMyA9IFtcImNoaWxkcmVuXCIsIFwiaW5uZXJQcm9wc1wiXSxcbiAgX2V4Y2x1ZGVkMiQxID0gW1wiY2hpbGRyZW5cIiwgXCJpbm5lclByb3BzXCJdO1xuZnVuY3Rpb24gZ2V0TWVudVBsYWNlbWVudChfcmVmKSB7XG4gIHZhciBwcmVmZXJyZWRNYXhIZWlnaHQgPSBfcmVmLm1heEhlaWdodCxcbiAgICBtZW51RWwgPSBfcmVmLm1lbnVFbCxcbiAgICBtaW5IZWlnaHQgPSBfcmVmLm1pbkhlaWdodCxcbiAgICBwcmVmZXJyZWRQbGFjZW1lbnQgPSBfcmVmLnBsYWNlbWVudCxcbiAgICBzaG91bGRTY3JvbGwgPSBfcmVmLnNob3VsZFNjcm9sbCxcbiAgICBpc0ZpeGVkUG9zaXRpb24gPSBfcmVmLmlzRml4ZWRQb3NpdGlvbixcbiAgICBjb250cm9sSGVpZ2h0ID0gX3JlZi5jb250cm9sSGVpZ2h0O1xuICB2YXIgc2Nyb2xsUGFyZW50ID0gZ2V0U2Nyb2xsUGFyZW50KG1lbnVFbCk7XG4gIHZhciBkZWZhdWx0U3RhdGUgPSB7XG4gICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICBtYXhIZWlnaHQ6IHByZWZlcnJlZE1heEhlaWdodFxuICB9O1xuXG4gIC8vIHNvbWV0aGluZyB3ZW50IHdyb25nLCByZXR1cm4gZGVmYXVsdCBzdGF0ZVxuICBpZiAoIW1lbnVFbCB8fCAhbWVudUVsLm9mZnNldFBhcmVudCkgcmV0dXJuIGRlZmF1bHRTdGF0ZTtcblxuICAvLyB3ZSBjYW4ndCB0cnVzdCBgc2Nyb2xsUGFyZW50LnNjcm9sbEhlaWdodGAgLS0+IGl0IG1heSBpbmNyZWFzZSB3aGVuXG4gIC8vIHRoZSBtZW51IGlzIHJlbmRlcmVkXG4gIHZhciBfc2Nyb2xsUGFyZW50JGdldEJvdW4gPSBzY3JvbGxQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgc2Nyb2xsSGVpZ2h0ID0gX3Njcm9sbFBhcmVudCRnZXRCb3VuLmhlaWdodDtcbiAgdmFyIF9tZW51RWwkZ2V0Qm91bmRpbmdDbCA9IG1lbnVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICBtZW51Qm90dG9tID0gX21lbnVFbCRnZXRCb3VuZGluZ0NsLmJvdHRvbSxcbiAgICBtZW51SGVpZ2h0ID0gX21lbnVFbCRnZXRCb3VuZGluZ0NsLmhlaWdodCxcbiAgICBtZW51VG9wID0gX21lbnVFbCRnZXRCb3VuZGluZ0NsLnRvcDtcbiAgdmFyIF9tZW51RWwkb2Zmc2V0UGFyZW50JCA9IG1lbnVFbC5vZmZzZXRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgY29udGFpbmVyVG9wID0gX21lbnVFbCRvZmZzZXRQYXJlbnQkLnRvcDtcbiAgdmFyIHZpZXdIZWlnaHQgPSBpc0ZpeGVkUG9zaXRpb24gPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiBub3JtYWxpemVkSGVpZ2h0KHNjcm9sbFBhcmVudCk7XG4gIHZhciBzY3JvbGxUb3AgPSBnZXRTY3JvbGxUb3Aoc2Nyb2xsUGFyZW50KTtcbiAgdmFyIG1hcmdpbkJvdHRvbSA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUobWVudUVsKS5tYXJnaW5Cb3R0b20sIDEwKTtcbiAgdmFyIG1hcmdpblRvcCA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUobWVudUVsKS5tYXJnaW5Ub3AsIDEwKTtcbiAgdmFyIHZpZXdTcGFjZUFib3ZlID0gY29udGFpbmVyVG9wIC0gbWFyZ2luVG9wO1xuICB2YXIgdmlld1NwYWNlQmVsb3cgPSB2aWV3SGVpZ2h0IC0gbWVudVRvcDtcbiAgdmFyIHNjcm9sbFNwYWNlQWJvdmUgPSB2aWV3U3BhY2VBYm92ZSArIHNjcm9sbFRvcDtcbiAgdmFyIHNjcm9sbFNwYWNlQmVsb3cgPSBzY3JvbGxIZWlnaHQgLSBzY3JvbGxUb3AgLSBtZW51VG9wO1xuICB2YXIgc2Nyb2xsRG93biA9IG1lbnVCb3R0b20gLSB2aWV3SGVpZ2h0ICsgc2Nyb2xsVG9wICsgbWFyZ2luQm90dG9tO1xuICB2YXIgc2Nyb2xsVXAgPSBzY3JvbGxUb3AgKyBtZW51VG9wIC0gbWFyZ2luVG9wO1xuICB2YXIgc2Nyb2xsRHVyYXRpb24gPSAxNjA7XG4gIHN3aXRjaCAocHJlZmVycmVkUGxhY2VtZW50KSB7XG4gICAgY2FzZSAnYXV0byc6XG4gICAgY2FzZSAnYm90dG9tJzpcbiAgICAgIC8vIDE6IHRoZSBtZW51IHdpbGwgZml0LCBkbyBub3RoaW5nXG4gICAgICBpZiAodmlld1NwYWNlQmVsb3cgPj0gbWVudUhlaWdodCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICAgICAgbWF4SGVpZ2h0OiBwcmVmZXJyZWRNYXhIZWlnaHRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gMjogdGhlIG1lbnUgd2lsbCBmaXQsIGlmIHNjcm9sbGVkXG4gICAgICBpZiAoc2Nyb2xsU3BhY2VCZWxvdyA+PSBtZW51SGVpZ2h0ICYmICFpc0ZpeGVkUG9zaXRpb24pIHtcbiAgICAgICAgaWYgKHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgIGFuaW1hdGVkU2Nyb2xsVG8oc2Nyb2xsUGFyZW50LCBzY3JvbGxEb3duLCBzY3JvbGxEdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgIG1heEhlaWdodDogcHJlZmVycmVkTWF4SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIDM6IHRoZSBtZW51IHdpbGwgZml0LCBpZiBjb25zdHJhaW5lZFxuICAgICAgaWYgKCFpc0ZpeGVkUG9zaXRpb24gJiYgc2Nyb2xsU3BhY2VCZWxvdyA+PSBtaW5IZWlnaHQgfHwgaXNGaXhlZFBvc2l0aW9uICYmIHZpZXdTcGFjZUJlbG93ID49IG1pbkhlaWdodCkge1xuICAgICAgICBpZiAoc2hvdWxkU2Nyb2xsKSB7XG4gICAgICAgICAgYW5pbWF0ZWRTY3JvbGxUbyhzY3JvbGxQYXJlbnQsIHNjcm9sbERvd24sIHNjcm9sbER1cmF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHdlIHdhbnQgdG8gcHJvdmlkZSBhcyBtdWNoIG9mIHRoZSBtZW51IGFzIHBvc3NpYmxlIHRvIHRoZSB1c2VyLFxuICAgICAgICAvLyBzbyBnaXZlIHRoZW0gd2hhdGV2ZXIgaXMgYXZhaWxhYmxlIGJlbG93IHJhdGhlciB0aGFuIHRoZSBtaW5IZWlnaHQuXG4gICAgICAgIHZhciBjb25zdHJhaW5lZEhlaWdodCA9IGlzRml4ZWRQb3NpdGlvbiA/IHZpZXdTcGFjZUJlbG93IC0gbWFyZ2luQm90dG9tIDogc2Nyb2xsU3BhY2VCZWxvdyAtIG1hcmdpbkJvdHRvbTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgIG1heEhlaWdodDogY29uc3RyYWluZWRIZWlnaHRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gNC4gRm9ya2VkIGJldmlvdXIgd2hlbiB0aGVyZSBpc24ndCBlbm91Z2ggc3BhY2UgYmVsb3dcblxuICAgICAgLy8gQVVUTzogZmxpcCB0aGUgbWVudSwgcmVuZGVyIGFib3ZlXG4gICAgICBpZiAocHJlZmVycmVkUGxhY2VtZW50ID09PSAnYXV0bycgfHwgaXNGaXhlZFBvc2l0aW9uKSB7XG4gICAgICAgIC8vIG1heSBuZWVkIHRvIGJlIGNvbnN0cmFpbmVkIGFmdGVyIGZsaXBwaW5nXG4gICAgICAgIHZhciBfY29uc3RyYWluZWRIZWlnaHQgPSBwcmVmZXJyZWRNYXhIZWlnaHQ7XG4gICAgICAgIHZhciBzcGFjZUFib3ZlID0gaXNGaXhlZFBvc2l0aW9uID8gdmlld1NwYWNlQWJvdmUgOiBzY3JvbGxTcGFjZUFib3ZlO1xuICAgICAgICBpZiAoc3BhY2VBYm92ZSA+PSBtaW5IZWlnaHQpIHtcbiAgICAgICAgICBfY29uc3RyYWluZWRIZWlnaHQgPSBNYXRoLm1pbihzcGFjZUFib3ZlIC0gbWFyZ2luQm90dG9tIC0gY29udHJvbEhlaWdodCwgcHJlZmVycmVkTWF4SGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgICAgICAgbWF4SGVpZ2h0OiBfY29uc3RyYWluZWRIZWlnaHRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gQk9UVE9NOiBhbGxvdyBicm93c2VyIHRvIGluY3JlYXNlIHNjcm9sbGFibGUgYXJlYSBhbmQgaW1tZWRpYXRlbHkgc2V0IHNjcm9sbFxuICAgICAgaWYgKHByZWZlcnJlZFBsYWNlbWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgaWYgKHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgIHNjcm9sbFRvKHNjcm9sbFBhcmVudCwgc2Nyb2xsRG93bik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgIG1heEhlaWdodDogcHJlZmVycmVkTWF4SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0b3AnOlxuICAgICAgLy8gMTogdGhlIG1lbnUgd2lsbCBmaXQsIGRvIG5vdGhpbmdcbiAgICAgIGlmICh2aWV3U3BhY2VBYm92ZSA+PSBtZW51SGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IHByZWZlcnJlZE1heEhlaWdodFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyAyOiB0aGUgbWVudSB3aWxsIGZpdCwgaWYgc2Nyb2xsZWRcbiAgICAgIGlmIChzY3JvbGxTcGFjZUFib3ZlID49IG1lbnVIZWlnaHQgJiYgIWlzRml4ZWRQb3NpdGlvbikge1xuICAgICAgICBpZiAoc2hvdWxkU2Nyb2xsKSB7XG4gICAgICAgICAgYW5pbWF0ZWRTY3JvbGxUbyhzY3JvbGxQYXJlbnQsIHNjcm9sbFVwLCBzY3JvbGxEdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgICAgIG1heEhlaWdodDogcHJlZmVycmVkTWF4SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIDM6IHRoZSBtZW51IHdpbGwgZml0LCBpZiBjb25zdHJhaW5lZFxuICAgICAgaWYgKCFpc0ZpeGVkUG9zaXRpb24gJiYgc2Nyb2xsU3BhY2VBYm92ZSA+PSBtaW5IZWlnaHQgfHwgaXNGaXhlZFBvc2l0aW9uICYmIHZpZXdTcGFjZUFib3ZlID49IG1pbkhlaWdodCkge1xuICAgICAgICB2YXIgX2NvbnN0cmFpbmVkSGVpZ2h0MiA9IHByZWZlcnJlZE1heEhlaWdodDtcblxuICAgICAgICAvLyB3ZSB3YW50IHRvIHByb3ZpZGUgYXMgbXVjaCBvZiB0aGUgbWVudSBhcyBwb3NzaWJsZSB0byB0aGUgdXNlcixcbiAgICAgICAgLy8gc28gZ2l2ZSB0aGVtIHdoYXRldmVyIGlzIGF2YWlsYWJsZSBiZWxvdyByYXRoZXIgdGhhbiB0aGUgbWluSGVpZ2h0LlxuICAgICAgICBpZiAoIWlzRml4ZWRQb3NpdGlvbiAmJiBzY3JvbGxTcGFjZUFib3ZlID49IG1pbkhlaWdodCB8fCBpc0ZpeGVkUG9zaXRpb24gJiYgdmlld1NwYWNlQWJvdmUgPj0gbWluSGVpZ2h0KSB7XG4gICAgICAgICAgX2NvbnN0cmFpbmVkSGVpZ2h0MiA9IGlzRml4ZWRQb3NpdGlvbiA/IHZpZXdTcGFjZUFib3ZlIC0gbWFyZ2luVG9wIDogc2Nyb2xsU3BhY2VBYm92ZSAtIG1hcmdpblRvcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2hvdWxkU2Nyb2xsKSB7XG4gICAgICAgICAgYW5pbWF0ZWRTY3JvbGxUbyhzY3JvbGxQYXJlbnQsIHNjcm9sbFVwLCBzY3JvbGxEdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgICAgIG1heEhlaWdodDogX2NvbnN0cmFpbmVkSGVpZ2h0MlxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyA0LiBub3QgZW5vdWdoIHNwYWNlLCB0aGUgYnJvd3NlciBXSUxMIE5PVCBpbmNyZWFzZSBzY3JvbGxhYmxlIGFyZWEgd2hlblxuICAgICAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIGVsZW1lbnQgcmVuZGVyZWQgYWJvdmUgdGhlIHZpZXdwb3J0IChvbmx5IGJlbG93KS5cbiAgICAgIC8vIEZsaXAgdGhlIG1lbnUsIHJlbmRlciBiZWxvd1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgICAgbWF4SGVpZ2h0OiBwcmVmZXJyZWRNYXhIZWlnaHRcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgcGxhY2VtZW50IHByb3ZpZGVkIFxcXCJcIi5jb25jYXQocHJlZmVycmVkUGxhY2VtZW50LCBcIlxcXCIuXCIpKTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdFN0YXRlO1xufVxuXG4vLyBNZW51IENvbXBvbmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIGFsaWduVG9Db250cm9sKHBsYWNlbWVudCkge1xuICB2YXIgcGxhY2VtZW50VG9DU1NQcm9wID0ge1xuICAgIGJvdHRvbTogJ3RvcCcsXG4gICAgdG9wOiAnYm90dG9tJ1xuICB9O1xuICByZXR1cm4gcGxhY2VtZW50ID8gcGxhY2VtZW50VG9DU1NQcm9wW3BsYWNlbWVudF0gOiAnYm90dG9tJztcbn1cbnZhciBjb2VyY2VQbGFjZW1lbnQgPSBmdW5jdGlvbiBjb2VyY2VQbGFjZW1lbnQocCkge1xuICByZXR1cm4gcCA9PT0gJ2F1dG8nID8gJ2JvdHRvbScgOiBwO1xufTtcbnZhciBtZW51Q1NTID0gZnVuY3Rpb24gbWVudUNTUyhfcmVmMiwgdW5zdHlsZWQpIHtcbiAgdmFyIF9vYmplY3RTcHJlYWQyO1xuICB2YXIgcGxhY2VtZW50ID0gX3JlZjIucGxhY2VtZW50LFxuICAgIF9yZWYyJHRoZW1lID0gX3JlZjIudGhlbWUsXG4gICAgYm9yZGVyUmFkaXVzID0gX3JlZjIkdGhlbWUuYm9yZGVyUmFkaXVzLFxuICAgIHNwYWNpbmcgPSBfcmVmMiR0aGVtZS5zcGFjaW5nLFxuICAgIGNvbG9ycyA9IF9yZWYyJHRoZW1lLmNvbG9ycztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoKF9vYmplY3RTcHJlYWQyID0ge1xuICAgIGxhYmVsOiAnbWVudSdcbiAgfSwgX2RlZmluZVByb3BlcnR5KF9vYmplY3RTcHJlYWQyLCBhbGlnblRvQ29udHJvbChwbGFjZW1lbnQpLCAnMTAwJScpLCBfZGVmaW5lUHJvcGVydHkoX29iamVjdFNwcmVhZDIsIFwicG9zaXRpb25cIiwgJ2Fic29sdXRlJyksIF9kZWZpbmVQcm9wZXJ0eShfb2JqZWN0U3ByZWFkMiwgXCJ3aWR0aFwiLCAnMTAwJScpLCBfZGVmaW5lUHJvcGVydHkoX29iamVjdFNwcmVhZDIsIFwiekluZGV4XCIsIDEpLCBfb2JqZWN0U3ByZWFkMiksIHVuc3R5bGVkID8ge30gOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMubmV1dHJhbDAsXG4gICAgYm9yZGVyUmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgYm94U2hhZG93OiAnMCAwIDAgMXB4IGhzbGEoMCwgMCUsIDAlLCAwLjEpLCAwIDRweCAxMXB4IGhzbGEoMCwgMCUsIDAlLCAwLjEpJyxcbiAgICBtYXJnaW5Cb3R0b206IHNwYWNpbmcubWVudUd1dHRlcixcbiAgICBtYXJnaW5Ub3A6IHNwYWNpbmcubWVudUd1dHRlclxuICB9KTtcbn07XG52YXIgUG9ydGFsUGxhY2VtZW50Q29udGV4dCA9IC8qI19fUFVSRV9fKi9jcmVhdGVDb250ZXh0KG51bGwpO1xuXG4vLyBOT1RFOiBpbnRlcm5hbCBvbmx5XG52YXIgTWVudVBsYWNlciA9IGZ1bmN0aW9uIE1lbnVQbGFjZXIocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgbWluTWVudUhlaWdodCA9IHByb3BzLm1pbk1lbnVIZWlnaHQsXG4gICAgbWF4TWVudUhlaWdodCA9IHByb3BzLm1heE1lbnVIZWlnaHQsXG4gICAgbWVudVBsYWNlbWVudCA9IHByb3BzLm1lbnVQbGFjZW1lbnQsXG4gICAgbWVudVBvc2l0aW9uID0gcHJvcHMubWVudVBvc2l0aW9uLFxuICAgIG1lbnVTaG91bGRTY3JvbGxJbnRvVmlldyA9IHByb3BzLm1lbnVTaG91bGRTY3JvbGxJbnRvVmlldyxcbiAgICB0aGVtZSA9IHByb3BzLnRoZW1lO1xuICB2YXIgX3JlZjMgPSB1c2VDb250ZXh0KFBvcnRhbFBsYWNlbWVudENvbnRleHQpIHx8IHt9LFxuICAgIHNldFBvcnRhbFBsYWNlbWVudCA9IF9yZWYzLnNldFBvcnRhbFBsYWNlbWVudDtcbiAgdmFyIHJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIF91c2VTdGF0ZSA9IHVzZVN0YXRlKG1heE1lbnVIZWlnaHQpLFxuICAgIF91c2VTdGF0ZTIgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGUsIDIpLFxuICAgIG1heEhlaWdodCA9IF91c2VTdGF0ZTJbMF0sXG4gICAgc2V0TWF4SGVpZ2h0ID0gX3VzZVN0YXRlMlsxXTtcbiAgdmFyIF91c2VTdGF0ZTMgPSB1c2VTdGF0ZShudWxsKSxcbiAgICBfdXNlU3RhdGU0ID0gX3NsaWNlZFRvQXJyYXkoX3VzZVN0YXRlMywgMiksXG4gICAgcGxhY2VtZW50ID0gX3VzZVN0YXRlNFswXSxcbiAgICBzZXRQbGFjZW1lbnQgPSBfdXNlU3RhdGU0WzFdO1xuICB2YXIgY29udHJvbEhlaWdodCA9IHRoZW1lLnNwYWNpbmcuY29udHJvbEhlaWdodDtcbiAgdXNlTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbWVudUVsID0gcmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFtZW51RWwpIHJldHVybjtcblxuICAgIC8vIERPIE5PVCBzY3JvbGwgaWYgcG9zaXRpb24gaXMgZml4ZWRcbiAgICB2YXIgaXNGaXhlZFBvc2l0aW9uID0gbWVudVBvc2l0aW9uID09PSAnZml4ZWQnO1xuICAgIHZhciBzaG91bGRTY3JvbGwgPSBtZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXcgJiYgIWlzRml4ZWRQb3NpdGlvbjtcbiAgICB2YXIgc3RhdGUgPSBnZXRNZW51UGxhY2VtZW50KHtcbiAgICAgIG1heEhlaWdodDogbWF4TWVudUhlaWdodCxcbiAgICAgIG1lbnVFbDogbWVudUVsLFxuICAgICAgbWluSGVpZ2h0OiBtaW5NZW51SGVpZ2h0LFxuICAgICAgcGxhY2VtZW50OiBtZW51UGxhY2VtZW50LFxuICAgICAgc2hvdWxkU2Nyb2xsOiBzaG91bGRTY3JvbGwsXG4gICAgICBpc0ZpeGVkUG9zaXRpb246IGlzRml4ZWRQb3NpdGlvbixcbiAgICAgIGNvbnRyb2xIZWlnaHQ6IGNvbnRyb2xIZWlnaHRcbiAgICB9KTtcbiAgICBzZXRNYXhIZWlnaHQoc3RhdGUubWF4SGVpZ2h0KTtcbiAgICBzZXRQbGFjZW1lbnQoc3RhdGUucGxhY2VtZW50KTtcbiAgICBzZXRQb3J0YWxQbGFjZW1lbnQgPT09IG51bGwgfHwgc2V0UG9ydGFsUGxhY2VtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZXRQb3J0YWxQbGFjZW1lbnQoc3RhdGUucGxhY2VtZW50KTtcbiAgfSwgW21heE1lbnVIZWlnaHQsIG1lbnVQbGFjZW1lbnQsIG1lbnVQb3NpdGlvbiwgbWVudVNob3VsZFNjcm9sbEludG9WaWV3LCBtaW5NZW51SGVpZ2h0LCBzZXRQb3J0YWxQbGFjZW1lbnQsIGNvbnRyb2xIZWlnaHRdKTtcbiAgcmV0dXJuIGNoaWxkcmVuKHtcbiAgICByZWY6IHJlZixcbiAgICBwbGFjZXJQcm9wczogX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBwcm9wcyksIHt9LCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCB8fCBjb2VyY2VQbGFjZW1lbnQobWVudVBsYWNlbWVudCksXG4gICAgICBtYXhIZWlnaHQ6IG1heEhlaWdodFxuICAgIH0pXG4gIH0pO1xufTtcbnZhciBNZW51ID0gZnVuY3Rpb24gTWVudShwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpbm5lclJlZiA9IHByb3BzLmlubmVyUmVmLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnbWVudScsIHtcbiAgICBtZW51OiB0cnVlXG4gIH0pLCB7XG4gICAgcmVmOiBpbm5lclJlZlxuICB9LCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcbnZhciBNZW51JDEgPSBNZW51O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbnUgTGlzdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBtZW51TGlzdENTUyA9IGZ1bmN0aW9uIG1lbnVMaXN0Q1NTKF9yZWY0LCB1bnN0eWxlZCkge1xuICB2YXIgbWF4SGVpZ2h0ID0gX3JlZjQubWF4SGVpZ2h0LFxuICAgIGJhc2VVbml0ID0gX3JlZjQudGhlbWUuc3BhY2luZy5iYXNlVW5pdDtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIG1heEhlaWdodDogbWF4SGVpZ2h0LFxuICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIC8vIHJlcXVpcmVkIGZvciBvZmZzZXRbSGVpZ2h0LCBUb3BdID4ga2V5Ym9hcmQgc2Nyb2xsXG4gICAgV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6ICd0b3VjaCdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBwYWRkaW5nQm90dG9tOiBiYXNlVW5pdCxcbiAgICBwYWRkaW5nVG9wOiBiYXNlVW5pdFxuICB9KTtcbn07XG52YXIgTWVudUxpc3QgPSBmdW5jdGlvbiBNZW51TGlzdChwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBpbm5lclJlZiA9IHByb3BzLmlubmVyUmVmLFxuICAgIGlzTXVsdGkgPSBwcm9wcy5pc011bHRpO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnbWVudUxpc3QnLCB7XG4gICAgJ21lbnUtbGlzdCc6IHRydWUsXG4gICAgJ21lbnUtbGlzdC0taXMtbXVsdGknOiBpc011bHRpXG4gIH0pLCB7XG4gICAgcmVmOiBpbm5lclJlZlxuICB9LCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZW51IE5vdGljZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgbm90aWNlQ1NTID0gZnVuY3Rpb24gbm90aWNlQ1NTKF9yZWY1LCB1bnN0eWxlZCkge1xuICB2YXIgX3JlZjUkdGhlbWUgPSBfcmVmNS50aGVtZSxcbiAgICBiYXNlVW5pdCA9IF9yZWY1JHRoZW1lLnNwYWNpbmcuYmFzZVVuaXQsXG4gICAgY29sb3JzID0gX3JlZjUkdGhlbWUuY29sb3JzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgdGV4dEFsaWduOiAnY2VudGVyJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGNvbG9yOiBjb2xvcnMubmV1dHJhbDQwLFxuICAgIHBhZGRpbmc6IFwiXCIuY29uY2F0KGJhc2VVbml0ICogMiwgXCJweCBcIikuY29uY2F0KGJhc2VVbml0ICogMywgXCJweFwiKVxuICB9KTtcbn07XG52YXIgbm9PcHRpb25zTWVzc2FnZUNTUyA9IG5vdGljZUNTUztcbnZhciBsb2FkaW5nTWVzc2FnZUNTUyA9IG5vdGljZUNTUztcbnZhciBOb09wdGlvbnNNZXNzYWdlID0gZnVuY3Rpb24gTm9PcHRpb25zTWVzc2FnZShfcmVmNikge1xuICB2YXIgX3JlZjYkY2hpbGRyZW4gPSBfcmVmNi5jaGlsZHJlbixcbiAgICBjaGlsZHJlbiA9IF9yZWY2JGNoaWxkcmVuID09PSB2b2lkIDAgPyAnTm8gb3B0aW9ucycgOiBfcmVmNiRjaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gX3JlZjYuaW5uZXJQcm9wcyxcbiAgICByZXN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZjYsIF9leGNsdWRlZCQzKTtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIHJlc3RQcm9wcyksIHt9LCB7XG4gICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHNcbiAgfSksICdub09wdGlvbnNNZXNzYWdlJywge1xuICAgICdtZW51LW5vdGljZSc6IHRydWUsXG4gICAgJ21lbnUtbm90aWNlLS1uby1vcHRpb25zJzogdHJ1ZVxuICB9KSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG52YXIgTG9hZGluZ01lc3NhZ2UgPSBmdW5jdGlvbiBMb2FkaW5nTWVzc2FnZShfcmVmNykge1xuICB2YXIgX3JlZjckY2hpbGRyZW4gPSBfcmVmNy5jaGlsZHJlbixcbiAgICBjaGlsZHJlbiA9IF9yZWY3JGNoaWxkcmVuID09PSB2b2lkIDAgPyAnTG9hZGluZy4uLicgOiBfcmVmNyRjaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gX3JlZjcuaW5uZXJQcm9wcyxcbiAgICByZXN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZjcsIF9leGNsdWRlZDIkMSk7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCByZXN0UHJvcHMpLCB7fSwge1xuICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcbiAgICBpbm5lclByb3BzOiBpbm5lclByb3BzXG4gIH0pLCAnbG9hZGluZ01lc3NhZ2UnLCB7XG4gICAgJ21lbnUtbm90aWNlJzogdHJ1ZSxcbiAgICAnbWVudS1ub3RpY2UtLWxvYWRpbmcnOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZW51IFBvcnRhbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBtZW51UG9ydGFsQ1NTID0gZnVuY3Rpb24gbWVudVBvcnRhbENTUyhfcmVmOCkge1xuICB2YXIgcmVjdCA9IF9yZWY4LnJlY3QsXG4gICAgb2Zmc2V0ID0gX3JlZjgub2Zmc2V0LFxuICAgIHBvc2l0aW9uID0gX3JlZjgucG9zaXRpb247XG4gIHJldHVybiB7XG4gICAgbGVmdDogcmVjdC5sZWZ0LFxuICAgIHBvc2l0aW9uOiBwb3NpdGlvbixcbiAgICB0b3A6IG9mZnNldCxcbiAgICB3aWR0aDogcmVjdC53aWR0aCxcbiAgICB6SW5kZXg6IDFcbiAgfTtcbn07XG52YXIgTWVudVBvcnRhbCA9IGZ1bmN0aW9uIE1lbnVQb3J0YWwocHJvcHMpIHtcbiAgdmFyIGFwcGVuZFRvID0gcHJvcHMuYXBwZW5kVG8sXG4gICAgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBjb250cm9sRWxlbWVudCA9IHByb3BzLmNvbnRyb2xFbGVtZW50LFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzLFxuICAgIG1lbnVQbGFjZW1lbnQgPSBwcm9wcy5tZW51UGxhY2VtZW50LFxuICAgIG1lbnVQb3NpdGlvbiA9IHByb3BzLm1lbnVQb3NpdGlvbjtcbiAgdmFyIG1lbnVQb3J0YWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBjbGVhbnVwUmVmID0gdXNlUmVmKG51bGwpO1xuICB2YXIgX3VzZVN0YXRlNSA9IHVzZVN0YXRlKGNvZXJjZVBsYWNlbWVudChtZW51UGxhY2VtZW50KSksXG4gICAgX3VzZVN0YXRlNiA9IF9zbGljZWRUb0FycmF5KF91c2VTdGF0ZTUsIDIpLFxuICAgIHBsYWNlbWVudCA9IF91c2VTdGF0ZTZbMF0sXG4gICAgc2V0UG9ydGFsUGxhY2VtZW50ID0gX3VzZVN0YXRlNlsxXTtcbiAgdmFyIHBvcnRhbFBsYWNlbWVudENvbnRleHQgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0UG9ydGFsUGxhY2VtZW50OiBzZXRQb3J0YWxQbGFjZW1lbnRcbiAgICB9O1xuICB9LCBbXSk7XG4gIHZhciBfdXNlU3RhdGU3ID0gdXNlU3RhdGUobnVsbCksXG4gICAgX3VzZVN0YXRlOCA9IF9zbGljZWRUb0FycmF5KF91c2VTdGF0ZTcsIDIpLFxuICAgIGNvbXB1dGVkUG9zaXRpb24gPSBfdXNlU3RhdGU4WzBdLFxuICAgIHNldENvbXB1dGVkUG9zaXRpb24gPSBfdXNlU3RhdGU4WzFdO1xuICB2YXIgdXBkYXRlQ29tcHV0ZWRQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIWNvbnRyb2xFbGVtZW50KSByZXR1cm47XG4gICAgdmFyIHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudE9iaihjb250cm9sRWxlbWVudCk7XG4gICAgdmFyIHNjcm9sbERpc3RhbmNlID0gbWVudVBvc2l0aW9uID09PSAnZml4ZWQnID8gMCA6IHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICB2YXIgb2Zmc2V0ID0gcmVjdFtwbGFjZW1lbnRdICsgc2Nyb2xsRGlzdGFuY2U7XG4gICAgaWYgKG9mZnNldCAhPT0gKGNvbXB1dGVkUG9zaXRpb24gPT09IG51bGwgfHwgY29tcHV0ZWRQb3NpdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY29tcHV0ZWRQb3NpdGlvbi5vZmZzZXQpIHx8IHJlY3QubGVmdCAhPT0gKGNvbXB1dGVkUG9zaXRpb24gPT09IG51bGwgfHwgY29tcHV0ZWRQb3NpdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY29tcHV0ZWRQb3NpdGlvbi5yZWN0LmxlZnQpIHx8IHJlY3Qud2lkdGggIT09IChjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ucmVjdC53aWR0aCkpIHtcbiAgICAgIHNldENvbXB1dGVkUG9zaXRpb24oe1xuICAgICAgICBvZmZzZXQ6IG9mZnNldCxcbiAgICAgICAgcmVjdDogcmVjdFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbY29udHJvbEVsZW1lbnQsIG1lbnVQb3NpdGlvbiwgcGxhY2VtZW50LCBjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ub2Zmc2V0LCBjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ucmVjdC5sZWZ0LCBjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ucmVjdC53aWR0aF0pO1xuICB1c2VMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZUNvbXB1dGVkUG9zaXRpb24oKTtcbiAgfSwgW3VwZGF0ZUNvbXB1dGVkUG9zaXRpb25dKTtcbiAgdmFyIHJ1bkF1dG9VcGRhdGUgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHR5cGVvZiBjbGVhbnVwUmVmLmN1cnJlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNsZWFudXBSZWYuY3VycmVudCgpO1xuICAgICAgY2xlYW51cFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGNvbnRyb2xFbGVtZW50ICYmIG1lbnVQb3J0YWxSZWYuY3VycmVudCkge1xuICAgICAgY2xlYW51cFJlZi5jdXJyZW50ID0gYXV0b1VwZGF0ZShjb250cm9sRWxlbWVudCwgbWVudVBvcnRhbFJlZi5jdXJyZW50LCB1cGRhdGVDb21wdXRlZFBvc2l0aW9uLCB7XG4gICAgICAgIGVsZW1lbnRSZXNpemU6ICdSZXNpemVPYnNlcnZlcicgaW4gd2luZG93XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtjb250cm9sRWxlbWVudCwgdXBkYXRlQ29tcHV0ZWRQb3NpdGlvbl0pO1xuICB1c2VMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHJ1bkF1dG9VcGRhdGUoKTtcbiAgfSwgW3J1bkF1dG9VcGRhdGVdKTtcbiAgdmFyIHNldE1lbnVQb3J0YWxFbGVtZW50ID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKG1lbnVQb3J0YWxFbGVtZW50KSB7XG4gICAgbWVudVBvcnRhbFJlZi5jdXJyZW50ID0gbWVudVBvcnRhbEVsZW1lbnQ7XG4gICAgcnVuQXV0b1VwZGF0ZSgpO1xuICB9LCBbcnVuQXV0b1VwZGF0ZV0pO1xuXG4gIC8vIGJhaWwgZWFybHkgaWYgcmVxdWlyZWQgZWxlbWVudHMgYXJlbid0IHByZXNlbnRcbiAgaWYgKCFhcHBlbmRUbyAmJiBtZW51UG9zaXRpb24gIT09ICdmaXhlZCcgfHwgIWNvbXB1dGVkUG9zaXRpb24pIHJldHVybiBudWxsO1xuXG4gIC8vIHNhbWUgd3JhcHBlciBlbGVtZW50IHdoZXRoZXIgZml4ZWQgb3IgcG9ydGFsbGVkXG4gIHZhciBtZW51V3JhcHBlciA9IGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgcmVmOiBzZXRNZW51UG9ydGFsRWxlbWVudFxuICB9LCBnZXRTdHlsZVByb3BzKF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgcHJvcHMpLCB7fSwge1xuICAgIG9mZnNldDogY29tcHV0ZWRQb3NpdGlvbi5vZmZzZXQsXG4gICAgcG9zaXRpb246IG1lbnVQb3NpdGlvbixcbiAgICByZWN0OiBjb21wdXRlZFBvc2l0aW9uLnJlY3RcbiAgfSksICdtZW51UG9ydGFsJywge1xuICAgICdtZW51LXBvcnRhbCc6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG4gIHJldHVybiBqc3goUG9ydGFsUGxhY2VtZW50Q29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBwb3J0YWxQbGFjZW1lbnRDb250ZXh0XG4gIH0sIGFwcGVuZFRvID8gLyojX19QVVJFX18qL2NyZWF0ZVBvcnRhbChtZW51V3JhcHBlciwgYXBwZW5kVG8pIDogbWVudVdyYXBwZXIpO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb290IENvbnRhaW5lclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBjb250YWluZXJDU1MgPSBmdW5jdGlvbiBjb250YWluZXJDU1MoX3JlZikge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9yZWYuaXNEaXNhYmxlZCxcbiAgICBpc1J0bCA9IF9yZWYuaXNSdGw7XG4gIHJldHVybiB7XG4gICAgbGFiZWw6ICdjb250YWluZXInLFxuICAgIGRpcmVjdGlvbjogaXNSdGwgPyAncnRsJyA6IHVuZGVmaW5lZCxcbiAgICBwb2ludGVyRXZlbnRzOiBpc0Rpc2FibGVkID8gJ25vbmUnIDogdW5kZWZpbmVkLFxuICAgIC8vIGNhbmNlbCBtb3VzZSBldmVudHMgd2hlbiBkaXNhYmxlZFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gIH07XG59O1xudmFyIFNlbGVjdENvbnRhaW5lciA9IGZ1bmN0aW9uIFNlbGVjdENvbnRhaW5lcihwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpc1J0bCA9IHByb3BzLmlzUnRsO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnY29udGFpbmVyJywge1xuICAgICctLWlzLWRpc2FibGVkJzogaXNEaXNhYmxlZCxcbiAgICAnLS1pcy1ydGwnOiBpc1J0bFxuICB9KSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVmFsdWUgQ29udGFpbmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudmFyIHZhbHVlQ29udGFpbmVyQ1NTID0gZnVuY3Rpb24gdmFsdWVDb250YWluZXJDU1MoX3JlZjIsIHVuc3R5bGVkKSB7XG4gIHZhciBzcGFjaW5nID0gX3JlZjIudGhlbWUuc3BhY2luZyxcbiAgICBpc011bHRpID0gX3JlZjIuaXNNdWx0aSxcbiAgICBoYXNWYWx1ZSA9IF9yZWYyLmhhc1ZhbHVlLFxuICAgIGNvbnRyb2xTaG91bGRSZW5kZXJWYWx1ZSA9IF9yZWYyLnNlbGVjdFByb3BzLmNvbnRyb2xTaG91bGRSZW5kZXJWYWx1ZTtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGRpc3BsYXk6IGlzTXVsdGkgJiYgaGFzVmFsdWUgJiYgY29udHJvbFNob3VsZFJlbmRlclZhbHVlID8gJ2ZsZXgnIDogJ2dyaWQnLFxuICAgIGZsZXg6IDEsXG4gICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICBXZWJraXRPdmVyZmxvd1Njcm9sbGluZzogJ3RvdWNoJyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbidcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBwYWRkaW5nOiBcIlwiLmNvbmNhdChzcGFjaW5nLmJhc2VVbml0IC8gMiwgXCJweCBcIikuY29uY2F0KHNwYWNpbmcuYmFzZVVuaXQgKiAyLCBcInB4XCIpXG4gIH0pO1xufTtcbnZhciBWYWx1ZUNvbnRhaW5lciA9IGZ1bmN0aW9uIFZhbHVlQ29udGFpbmVyKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzLFxuICAgIGlzTXVsdGkgPSBwcm9wcy5pc011bHRpLFxuICAgIGhhc1ZhbHVlID0gcHJvcHMuaGFzVmFsdWU7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICd2YWx1ZUNvbnRhaW5lcicsIHtcbiAgICAndmFsdWUtY29udGFpbmVyJzogdHJ1ZSxcbiAgICAndmFsdWUtY29udGFpbmVyLS1pcy1tdWx0aSc6IGlzTXVsdGksXG4gICAgJ3ZhbHVlLWNvbnRhaW5lci0taGFzLXZhbHVlJzogaGFzVmFsdWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEluZGljYXRvciBDb250YWluZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgaW5kaWNhdG9yc0NvbnRhaW5lckNTUyA9IGZ1bmN0aW9uIGluZGljYXRvcnNDb250YWluZXJDU1MoKSB7XG4gIHJldHVybiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYWxpZ25TZWxmOiAnc3RyZXRjaCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhTaHJpbms6IDBcbiAgfTtcbn07XG52YXIgSW5kaWNhdG9yc0NvbnRhaW5lciA9IGZ1bmN0aW9uIEluZGljYXRvcnNDb250YWluZXIocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JzQ29udGFpbmVyJywge1xuICAgIGluZGljYXRvcnM6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xuXG52YXIgX3RlbXBsYXRlT2JqZWN0O1xudmFyIF9leGNsdWRlZCQyID0gW1wic2l6ZVwiXSxcbiAgX2V4Y2x1ZGVkMiA9IFtcImlubmVyUHJvcHNcIiwgXCJpc1J0bFwiLCBcInNpemVcIl07XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHsgcmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiOyB9XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG52YXIgX3JlZjIgPSBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG4gIG5hbWU6IFwiOG1ta2NnXCIsXG4gIHN0eWxlczogXCJkaXNwbGF5OmlubGluZS1ibG9jaztmaWxsOmN1cnJlbnRDb2xvcjtsaW5lLWhlaWdodDoxO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLXdpZHRoOjBcIlxufSA6IHtcbiAgbmFtZTogXCJ0ajViZGUtU3ZnXCIsXG4gIHN0eWxlczogXCJkaXNwbGF5OmlubGluZS1ibG9jaztmaWxsOmN1cnJlbnRDb2xvcjtsaW5lLWhlaWdodDoxO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLXdpZHRoOjA7bGFiZWw6U3ZnO1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHbGpZWFJ2Y25NdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRWGxDU1NJc0ltWnBiR1VpT2lKcGJtUnBZMkYwYjNKekxuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtpQkFhbk40SUdwemVDQXFMMXh1YVcxd2IzSjBJSHNnVW1WaFkzUk9iMlJsSUgwZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnYW5ONExDQnJaWGxtY21GdFpYTWdmU0JtY205dElDZEFaVzF2ZEdsdmJpOXlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjdYRzRnSUVOdmJXMXZibEJ5YjNCelFXNWtRMnhoYzNOT1lXMWxMRnh1SUNCRFUxTlBZbXBsWTNSWGFYUm9UR0ZpWld3c1hHNGdJRWR5YjNWd1FtRnpaU3hjYm4wZ1puSnZiU0FuTGk0dmRIbHdaWE1uTzF4dWFXMXdiM0owSUhzZ1oyVjBVM1I1YkdWUWNtOXdjeUI5SUdaeWIyMGdKeTR1TDNWMGFXeHpKenRjYmx4dUx5OGdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0dkx5QkVjbTl3Wkc5M2JpQW1JRU5zWldGeUlFbGpiMjV6WEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmx4dVkyOXVjM1FnVTNabklEMGdLSHRjYmlBZ2MybDZaU3hjYmlBZ0xpNHVjSEp2Y0hOY2JuMDZJRXBUV0M1SmJuUnlhVzV6YVdORmJHVnRaVzUwYzFzbmMzWm5KMTBnSmlCN0lITnBlbVU2SUc1MWJXSmxjaUI5S1NBOVBpQW9YRzRnSUR4emRtZGNiaUFnSUNCb1pXbG5hSFE5ZTNOcGVtVjlYRzRnSUNBZ2QybGtkR2c5ZTNOcGVtVjlYRzRnSUNBZ2RtbGxkMEp2ZUQxY0lqQWdNQ0F5TUNBeU1Gd2lYRzRnSUNBZ1lYSnBZUzFvYVdSa1pXNDlYQ0owY25WbFhDSmNiaUFnSUNCbWIyTjFjMkZpYkdVOVhDSm1ZV3h6WlZ3aVhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQW5hVzVzYVc1bExXSnNiMk5ySnl4Y2JpQWdJQ0FnSUdacGJHdzZJQ2RqZFhKeVpXNTBRMjlzYjNJbkxGeHVJQ0FnSUNBZ2JHbHVaVWhsYVdkb2REb2dNU3hjYmlBZ0lDQWdJSE4wY205clpUb2dKMk4xY25KbGJuUkRiMnh2Y2ljc1hHNGdJQ0FnSUNCemRISnZhMlZYYVdSMGFEb2dNQ3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnTHo1Y2JpazdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFTnliM056U1dOdmJsQnliM0J6SUQwZ1NsTllMa2x1ZEhKcGJuTnBZMFZzWlcxbGJuUnpXeWR6ZG1jblhTQW1JSHNnYzJsNlpUODZJRzUxYldKbGNpQjlPMXh1Wlhod2IzSjBJR052Ym5OMElFTnliM056U1dOdmJpQTlJQ2h3Y205d2N6b2dRM0p2YzNOSlkyOXVVSEp2Y0hNcElEMCtJQ2hjYmlBZ1BGTjJaeUJ6YVhwbFBYc3lNSDBnZXk0dUxuQnliM0J6ZlQ1Y2JpQWdJQ0E4Y0dGMGFDQmtQVndpVFRFMExqTTBPQ0F4TkM0NE5EbGpMVEF1TkRZNUlEQXVORFk1TFRFdU1qSTVJREF1TkRZNUxURXVOamszSURCc0xUSXVOalV4TFRNdU1ETXdMVEl1TmpVeElETXVNREk1WXkwd0xqUTJPU0F3TGpRMk9TMHhMakl5T1NBd0xqUTJPUzB4TGpZNU55QXdMVEF1TkRZNUxUQXVORFk1TFRBdU5EWTVMVEV1TWpJNUlEQXRNUzQyT1Rkc01pNDNOVGd0TXk0eE5TMHlMamMxT1MwekxqRTFNbU10TUM0ME5qa3RNQzQwTmprdE1DNDBOamt0TVM0eU1qZ2dNQzB4TGpZNU4zTXhMakl5T0Mwd0xqUTJPU0F4TGpZNU55QXdiREl1TmpVeUlETXVNRE14SURJdU5qVXhMVE11TURNeFl6QXVORFk1TFRBdU5EWTVJREV1TWpJNExUQXVORFk1SURFdU5qazNJREJ6TUM0ME5qa2dNUzR5TWprZ01DQXhMalk1TjJ3dE1pNDNOVGdnTXk0eE5USWdNaTQzTlRnZ015NHhOV013TGpRMk9TQXdMalEyT1NBd0xqUTJPU0F4TGpJeU9TQXdJREV1TmprNGVsd2lJQzgrWEc0Z0lEd3ZVM1puUGx4dUtUdGNibVY0Y0c5eWRDQjBlWEJsSUVSdmQyNURhR1YyY205dVVISnZjSE1nUFNCS1UxZ3VTVzUwY21sdWMybGpSV3hsYldWdWRITmJKM04yWnlkZElDWWdleUJ6YVhwbFB6b2diblZ0WW1WeUlIMDdYRzVsZUhCdmNuUWdZMjl1YzNRZ1JHOTNia05vWlhaeWIyNGdQU0FvY0hKdmNITTZJRVJ2ZDI1RGFHVjJjbTl1VUhKdmNITXBJRDArSUNoY2JpQWdQRk4yWnlCemFYcGxQWHN5TUgwZ2V5NHVMbkJ5YjNCemZUNWNiaUFnSUNBOGNHRjBhQ0JrUFZ3aVRUUXVOVEUySURjdU5UUTRZekF1TkRNMkxUQXVORFEySURFdU1EUXpMVEF1TkRneElERXVOVGMySURCc015NDVNRGdnTXk0M05EY2dNeTQ1TURndE15NDNORGRqTUM0MU16TXRNQzQwT0RFZ01TNHhOREV0TUM0ME5EWWdNUzQxTnpRZ01DQXdMalF6TmlBd0xqUTBOU0F3TGpRd09DQXhMakU1TnlBd0lERXVOakUxTFRBdU5EQTJJREF1TkRFNExUUXVOamsxSURRdU5UQXlMVFF1TmprMUlEUXVOVEF5TFRBdU1qRTNJREF1TWpJekxUQXVOVEF5SURBdU16TTFMVEF1TnpnM0lEQXVNek0xY3kwd0xqVTNMVEF1TVRFeUxUQXVOemc1TFRBdU16TTFZekFnTUMwMExqSTROeTAwTGpBNE5DMDBMalk1TlMwMExqVXdNbk10TUM0ME16WXRNUzR4TnlBd0xURXVOakUxZWx3aUlDOCtYRzRnSUR3dlUzWm5QbHh1S1R0Y2JseHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNHZMeUJFY205d1pHOTNiaUFtSUVOc1pXRnlJRUoxZEhSdmJuTmNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRVJ5YjNCa2IzZHVTVzVrYVdOaGRHOXlVSEp2Y0hNOFhHNGdJRTl3ZEdsdmJpQTlJSFZ1YTI1dmQyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVJRDBnWW05dmJHVmhiaXhjYmlBZ1IzSnZkWEFnWlhoMFpXNWtjeUJIY205MWNFSmhjMlU4VDNCMGFXOXVQaUE5SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0lHVjRkR1Z1WkhNZ1EyOXRiVzl1VUhKdmNITkJibVJEYkdGemMwNWhiV1U4VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENGdlMXh1SUNBdktpb2dWR2hsSUdOb2FXeGtjbVZ1SUhSdklHSmxJSEpsYm1SbGNtVmtJR2x1YzJsa1pTQjBhR1VnYVc1a2FXTmhkRzl5TGlBcUwxeHVJQ0JqYUdsc1pISmxiajg2SUZKbFlXTjBUbTlrWlR0Y2JpQWdMeW9xSUZCeWIzQnpJSFJvWVhRZ2QybHNiQ0JpWlNCd1lYTnpaV1FnYjI0Z2RHOGdkR2hsSUdOb2FXeGtjbVZ1TGlBcUwxeHVJQ0JwYm01bGNsQnliM0J6T2lCS1UxZ3VTVzUwY21sdWMybGpSV3hsYldWdWRITmJKMlJwZGlkZE8xeHVJQ0F2S2lvZ1ZHaGxJR1p2WTNWelpXUWdjM1JoZEdVZ2IyWWdkR2hsSUhObGJHVmpkQzRnS2k5Y2JpQWdhWE5HYjJOMWMyVmtPaUJpYjI5c1pXRnVPMXh1SUNCcGMwUnBjMkZpYkdWa09pQmliMjlzWldGdU8xeHVmVnh1WEc1amIyNXpkQ0JpWVhObFExTlRJRDBnUEZ4dUlDQlBjSFJwYjI0c1hHNGdJRWx6VFhWc2RHa2daWGgwWlc1a2N5QmliMjlzWldGdUxGeHVJQ0JIY205MWNDQmxlSFJsYm1SeklFZHliM1Z3UW1GelpUeFBjSFJwYjI0K1hHNCtLRnh1SUNCN1hHNGdJQ0FnYVhOR2IyTjFjMlZrTEZ4dUlDQWdJSFJvWlcxbE9pQjdYRzRnSUNBZ0lDQnpjR0ZqYVc1bk9pQjdJR0poYzJWVmJtbDBJSDBzWEc0Z0lDQWdJQ0JqYjJ4dmNuTXNYRzRnSUNBZ2ZTeGNiaUFnZlRwY2JpQWdJQ0I4SUVSeWIzQmtiM2R1U1c1a2FXTmhkRzl5VUhKdmNITThUM0IwYVc5dUxDQkpjMDExYkhScExDQkhjbTkxY0Q1Y2JpQWdJQ0I4SUVOc1pXRnlTVzVrYVdOaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDRzWEc0Z0lIVnVjM1I1YkdWa09pQmliMjlzWldGdVhHNHBPaUJEVTFOUFltcGxZM1JYYVhSb1RHRmlaV3dnUFQ0Z0tIdGNiaUFnYkdGaVpXdzZJQ2RwYm1ScFkyRjBiM0pEYjI1MFlXbHVaWEluTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJSFJ5WVc1emFYUnBiMjQ2SUNkamIyeHZjaUF4TlRCdGN5Y3NYRzRnSUM0dUxpaDFibk4wZVd4bFpGeHVJQ0FnSUQ4Z2UzMWNiaUFnSUNBNklIdGNiaUFnSUNBZ0lDQWdZMjlzYjNJNklHbHpSbTlqZFhObFpDQS9JR052Ykc5eWN5NXVaWFYwY21Gc05qQWdPaUJqYjJ4dmNuTXVibVYxZEhKaGJESXdMRnh1SUNBZ0lDQWdJQ0J3WVdSa2FXNW5PaUJpWVhObFZXNXBkQ0FxSURJc1hHNGdJQ0FnSUNBZ0lDYzZhRzkyWlhJbk9pQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5c2IzSTZJR2x6Um05amRYTmxaQ0EvSUdOdmJHOXljeTV1WlhWMGNtRnNPREFnT2lCamIyeHZjbk11Ym1WMWRISmhiRFF3TEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2ZTa3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUdSeWIzQmtiM2R1U1c1a2FXTmhkRzl5UTFOVElEMGdZbUZ6WlVOVFV6dGNibVY0Y0c5eWRDQmpiMjV6ZENCRWNtOXdaRzkzYmtsdVpHbGpZWFJ2Y2lBOUlEeGNiaUFnVDNCMGFXOXVMRnh1SUNCSmMwMTFiSFJwSUdWNGRHVnVaSE1nWW05dmJHVmhiaXhjYmlBZ1IzSnZkWEFnWlhoMFpXNWtjeUJIY205MWNFSmhjMlU4VDNCMGFXOXVQbHh1UGloY2JpQWdjSEp2Y0hNNklFUnliM0JrYjNkdVNXNWthV05oZEc5eVVISnZjSE04VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENWNiaWtnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJR05vYVd4a2NtVnVMQ0JwYm01bGNsQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFpHbDJYRzRnSUNBZ0lDQjdMaTR1WjJWMFUzUjViR1ZRY205d2N5aHdjbTl3Y3l3Z0oyUnliM0JrYjNkdVNXNWthV05oZEc5eUp5d2dlMXh1SUNBZ0lDQWdJQ0JwYm1ScFkyRjBiM0k2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ2RrY205d1pHOTNiaTFwYm1ScFkyRjBiM0luT2lCMGNuVmxMRnh1SUNBZ0lDQWdmU2w5WEc0Z0lDQWdJQ0I3TGk0dWFXNXVaWEpRY205d2MzMWNiaUFnSUNBK1hHNGdJQ0FnSUNCN1kyaHBiR1J5Wlc0Z2ZId2dQRVJ2ZDI1RGFHVjJjbTl1SUM4K2ZWeHVJQ0FnSUR3dlpHbDJQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCRGJHVmhja2x1WkdsallYUnZjbEJ5YjNCelBGeHVJQ0JQY0hScGIyNGdQU0IxYm10dWIzZHVMRnh1SUNCSmMwMTFiSFJwSUdWNGRHVnVaSE1nWW05dmJHVmhiaUE5SUdKdmIyeGxZVzRzWEc0Z0lFZHliM1Z3SUdWNGRHVnVaSE1nUjNKdmRYQkNZWE5sUEU5d2RHbHZiajRnUFNCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGx4dVBpQmxlSFJsYm1SeklFTnZiVzF2YmxCeWIzQnpRVzVrUTJ4aGMzTk9ZVzFsUEU5d2RHbHZiaXdnU1hOTmRXeDBhU3dnUjNKdmRYQStJSHRjYmlBZ0x5b3FJRlJvWlNCamFHbHNaSEpsYmlCMGJ5QmlaU0J5Wlc1a1pYSmxaQ0JwYm5OcFpHVWdkR2hsSUdsdVpHbGpZWFJ2Y2k0Z0tpOWNiaUFnWTJocGJHUnlaVzQvT2lCU1pXRmpkRTV2WkdVN1hHNGdJQzhxS2lCUWNtOXdjeUIwYUdGMElIZHBiR3dnWW1VZ2NHRnpjMlZrSUc5dUlIUnZJSFJvWlNCamFHbHNaSEpsYmk0Z0tpOWNiaUFnYVc1dVpYSlFjbTl3Y3pvZ1NsTllMa2x1ZEhKcGJuTnBZMFZzWlcxbGJuUnpXeWRrYVhZblhUdGNiaUFnTHlvcUlGUm9aU0JtYjJOMWMyVmtJSE4wWVhSbElHOW1JSFJvWlNCelpXeGxZM1F1SUNvdlhHNGdJR2x6Um05amRYTmxaRG9nWW05dmJHVmhianRjYm4xY2JseHVaWGh3YjNKMElHTnZibk4wSUdOc1pXRnlTVzVrYVdOaGRHOXlRMU5USUQwZ1ltRnpaVU5UVXp0Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYkdWaGNrbHVaR2xqWVhSdmNpQTlJRHhjYmlBZ1QzQjBhVzl1TEZ4dUlDQkpjMDExYkhScElHVjRkR1Z1WkhNZ1ltOXZiR1ZoYml4Y2JpQWdSM0p2ZFhBZ1pYaDBaVzVrY3lCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGx4dVBpaGNiaUFnY0hKdmNITTZJRU5zWldGeVNXNWthV05oZEc5eVVISnZjSE04VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENWNiaWtnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJR05vYVd4a2NtVnVMQ0JwYm01bGNsQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFpHbDJYRzRnSUNBZ0lDQjdMaTR1WjJWMFUzUjViR1ZRY205d2N5aHdjbTl3Y3l3Z0oyTnNaV0Z5U1c1a2FXTmhkRzl5Snl3Z2UxeHVJQ0FnSUNBZ0lDQnBibVJwWTJGMGIzSTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDZGpiR1ZoY2kxcGJtUnBZMkYwYjNJbk9pQjBjblZsTEZ4dUlDQWdJQ0FnZlNsOVhHNGdJQ0FnSUNCN0xpNHVhVzV1WlhKUWNtOXdjMzFjYmlBZ0lDQStYRzRnSUNBZ0lDQjdZMmhwYkdSeVpXNGdmSHdnUEVOeWIzTnpTV052YmlBdlBuMWNiaUFnSUNBOEwyUnBkajVjYmlBZ0tUdGNibjA3WEc1Y2JpOHZJRDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZ4dUx5OGdVMlZ3WVhKaGRHOXlYRzR2THlBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JKYm1ScFkyRjBiM0pUWlhCaGNtRjBiM0pRY205d2N6eGNiaUFnVDNCMGFXOXVJRDBnZFc1cmJtOTNiaXhjYmlBZ1NYTk5kV3gwYVNCbGVIUmxibVJ6SUdKdmIyeGxZVzRnUFNCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrSUQwZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo1Y2JqNGdaWGgwWlc1a2N5QkRiMjF0YjI1UWNtOXdjMEZ1WkVOc1lYTnpUbUZ0WlR4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaUI3WEc0Z0lHbHpSR2x6WVdKc1pXUTZJR0p2YjJ4bFlXNDdYRzRnSUdselJtOWpkWE5sWkRvZ1ltOXZiR1ZoYmp0Y2JpQWdhVzV1WlhKUWNtOXdjejg2SUVwVFdDNUpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxc25jM0JoYmlkZE8xeHVmVnh1WEc1bGVIQnZjblFnWTI5dWMzUWdhVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlRMU5USUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0Z4dUlDQjdYRzRnSUNBZ2FYTkVhWE5oWW14bFpDeGNiaUFnSUNCMGFHVnRaVG9nZTF4dUlDQWdJQ0FnYzNCaFkybHVaem9nZXlCaVlYTmxWVzVwZENCOUxGeHVJQ0FnSUNBZ1kyOXNiM0p6TEZ4dUlDQWdJSDBzWEc0Z0lIMDZJRWx1WkdsallYUnZjbE5sY0dGeVlYUnZjbEJ5YjNCelBFOXdkR2x2Yml3Z1NYTk5kV3gwYVN3Z1IzSnZkWEErTEZ4dUlDQjFibk4wZVd4bFpEb2dZbTl2YkdWaGJseHVLVG9nUTFOVFQySnFaV04wVjJsMGFFeGhZbVZzSUQwK0lDaDdYRzRnSUd4aFltVnNPaUFuYVc1a2FXTmhkRzl5VTJWd1lYSmhkRzl5Snl4Y2JpQWdZV3hwWjI1VFpXeG1PaUFuYzNSeVpYUmphQ2NzWEc0Z0lIZHBaSFJvT2lBeExGeHVJQ0F1TGk0b2RXNXpkSGxzWldSY2JpQWdJQ0EvSUh0OVhHNGdJQ0FnT2lCN1hHNGdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2FYTkVhWE5oWW14bFpDQS9JR052Ykc5eWN5NXVaWFYwY21Gc01UQWdPaUJqYjJ4dmNuTXVibVYxZEhKaGJESXdMRnh1SUNBZ0lDQWdJQ0J0WVhKbmFXNUNiM1IwYjIwNklHSmhjMlZWYm1sMElDb2dNaXhjYmlBZ0lDQWdJQ0FnYldGeVoybHVWRzl3T2lCaVlYTmxWVzVwZENBcUlESXNYRzRnSUNBZ0lDQjlLU3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNWthV05oZEc5eVUyVndZWEpoZEc5eUlEMGdQRnh1SUNCUGNIUnBiMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0tGeHVJQ0J3Y205d2N6b2dTVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDVjYmlrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUdsdWJtVnlVSEp2Y0hNZ2ZTQTlJSEJ5YjNCek8xeHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeHpjR0Z1WEc0Z0lDQWdJQ0I3TGk0dWFXNXVaWEpRY205d2MzMWNiaUFnSUNBZ0lIc3VMaTVuWlhSVGRIbHNaVkJ5YjNCektIQnliM0J6TENBbmFXNWthV05oZEc5eVUyVndZWEpoZEc5eUp5d2dlMXh1SUNBZ0lDQWdJQ0FuYVc1a2FXTmhkRzl5TFhObGNHRnlZWFJ2Y2ljNklIUnlkV1VzWEc0Z0lDQWdJQ0I5S1gxY2JpQWdJQ0F2UGx4dUlDQXBPMXh1ZlR0Y2JseHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNHZMeUJNYjJGa2FXNW5YRzR2THlBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNibHh1WTI5dWMzUWdiRzloWkdsdVowUnZkRUZ1YVcxaGRHbHZibk1nUFNCclpYbG1jbUZ0WlhOZ1hHNGdJREFsTENBNE1DVXNJREV3TUNVZ2V5QnZjR0ZqYVhSNU9pQXdPeUI5WEc0Z0lEUXdKU0I3SUc5d1lXTnBkSGs2SURFN0lIMWNibUE3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JzYjJGa2FXNW5TVzVrYVdOaGRHOXlRMU5USUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0Z4dUlDQjdYRzRnSUNBZ2FYTkdiMk4xYzJWa0xGeHVJQ0FnSUhOcGVtVXNYRzRnSUNBZ2RHaGxiV1U2SUh0Y2JpQWdJQ0FnSUdOdmJHOXljeXhjYmlBZ0lDQWdJSE53WVdOcGJtYzZJSHNnWW1GelpWVnVhWFFnZlN4Y2JpQWdJQ0I5TEZ4dUlDQjlPaUJNYjJGa2FXNW5TVzVrYVdOaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDRzWEc0Z0lIVnVjM1I1YkdWa09pQmliMjlzWldGdVhHNHBPaUJEVTFOUFltcGxZM1JYYVhSb1RHRmlaV3dnUFQ0Z0tIdGNiaUFnYkdGaVpXdzZJQ2RzYjJGa2FXNW5TVzVrYVdOaGRHOXlKeXhjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQjBjbUZ1YzJsMGFXOXVPaUFuWTI5c2IzSWdNVFV3YlhNbkxGeHVJQ0JoYkdsbmJsTmxiR1k2SUNkalpXNTBaWEluTEZ4dUlDQm1iMjUwVTJsNlpUb2djMmw2WlN4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVN4Y2JpQWdiV0Z5WjJsdVVtbG5hSFE2SUhOcGVtVXNYRzRnSUhSbGVIUkJiR2xuYmpvZ0oyTmxiblJsY2ljc1hHNGdJSFpsY25ScFkyRnNRV3hwWjI0NklDZHRhV1JrYkdVbkxGeHVJQ0F1TGk0b2RXNXpkSGxzWldSY2JpQWdJQ0EvSUh0OVhHNGdJQ0FnT2lCN1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lCcGMwWnZZM1Z6WldRZ1B5QmpiMnh2Y25NdWJtVjFkSEpoYkRZd0lEb2dZMjlzYjNKekxtNWxkWFJ5WVd3eU1DeGNiaUFnSUNBZ0lDQWdjR0ZrWkdsdVp6b2dZbUZ6WlZWdWFYUWdLaUF5TEZ4dUlDQWdJQ0FnZlNrc1hHNTlLVHRjYmx4dWFXNTBaWEptWVdObElFeHZZV1JwYm1kRWIzUlFjbTl3Y3lCN1hHNGdJR1JsYkdGNU9pQnVkVzFpWlhJN1hHNGdJRzltWm5ObGREb2dZbTl2YkdWaGJqdGNibjFjYm1OdmJuTjBJRXh2WVdScGJtZEViM1FnUFNBb2V5QmtaV3hoZVN3Z2IyWm1jMlYwSUgwNklFeHZZV1JwYm1kRWIzUlFjbTl3Y3lrZ1BUNGdLRnh1SUNBOGMzQmhibHh1SUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnWVc1cGJXRjBhVzl1T2lCZ0pIdHNiMkZrYVc1blJHOTBRVzVwYldGMGFXOXVjMzBnTVhNZ1pXRnpaUzFwYmkxdmRYUWdKSHRrWld4aGVYMXRjeUJwYm1acGJtbDBaVHRnTEZ4dUlDQWdJQ0FnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUFuWTNWeWNtVnVkRU52Ykc5eUp5eGNiaUFnSUNBZ0lHSnZjbVJsY2xKaFpHbDFjem9nSnpGbGJTY3NYRzRnSUNBZ0lDQmthWE53YkdGNU9pQW5hVzVzYVc1bExXSnNiMk5ySnl4Y2JpQWdJQ0FnSUcxaGNtZHBia3hsWm5RNklHOW1abk5sZENBL0lDY3haVzBuSURvZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ2FHVnBaMmgwT2lBbk1XVnRKeXhjYmlBZ0lDQWdJSFpsY25ScFkyRnNRV3hwWjI0NklDZDBiM0FuTEZ4dUlDQWdJQ0FnZDJsa2RHZzZJQ2N4WlcwbkxGeHVJQ0FnSUgxOVhHNGdJQzgrWEc0cE8xeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRXh2WVdScGJtZEpibVJwWTJGMGIzSlFjbTl3Y3p4Y2JpQWdUM0IwYVc5dUlEMGdkVzVyYm05M2JpeGNiaUFnU1hOTmRXeDBhU0JsZUhSbGJtUnpJR0p2YjJ4bFlXNGdQU0JpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtJRDBnUjNKdmRYQkNZWE5sUEU5d2RHbHZiajVjYmo0Z1pYaDBaVzVrY3lCRGIyMXRiMjVRY205d2MwRnVaRU5zWVhOelRtRnRaVHhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1BpQjdYRzRnSUM4cUtpQlFjbTl3Y3lCMGFHRjBJSGRwYkd3Z1ltVWdjR0Z6YzJWa0lHOXVJSFJ2SUhSb1pTQmphR2xzWkhKbGJpNGdLaTljYmlBZ2FXNXVaWEpRY205d2N6b2dTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lka2FYWW5YVHRjYmlBZ0x5b3FJRlJvWlNCbWIyTjFjMlZrSUhOMFlYUmxJRzltSUhSb1pTQnpaV3hsWTNRdUlDb3ZYRzRnSUdselJtOWpkWE5sWkRvZ1ltOXZiR1ZoYmp0Y2JpQWdhWE5FYVhOaFlteGxaRG9nWW05dmJHVmhianRjYmlBZ0x5b3FJRk5sZENCemFYcGxJRzltSUhSb1pTQmpiMjUwWVdsdVpYSXVJQ292WEc0Z0lITnBlbVU2SUc1MWJXSmxjanRjYm4xY2JtVjRjRzl5ZENCamIyNXpkQ0JNYjJGa2FXNW5TVzVrYVdOaGRHOXlJRDBnUEZ4dUlDQlBjSFJwYjI0c1hHNGdJRWx6VFhWc2RHa2daWGgwWlc1a2N5QmliMjlzWldGdUxGeHVJQ0JIY205MWNDQmxlSFJsYm1SeklFZHliM1Z3UW1GelpUeFBjSFJwYjI0K1hHNCtLSHRjYmlBZ2FXNXVaWEpRY205d2N5eGNiaUFnYVhOU2RHd3NYRzRnSUhOcGVtVWdQU0EwTEZ4dUlDQXVMaTV5WlhOMFVISnZjSE5jYm4wNklFeHZZV1JwYm1kSmJtUnBZMkYwYjNKUWNtOXdjenhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1Bpa2dQVDRnZTF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lIc3VMaTVuWlhSVGRIbHNaVkJ5YjNCektGeHVJQ0FnSUNBZ0lDQjdJQzR1TG5KbGMzUlFjbTl3Y3l3Z2FXNXVaWEpRY205d2N5d2dhWE5TZEd3c0lITnBlbVVnZlN4Y2JpQWdJQ0FnSUNBZ0oyeHZZV1JwYm1kSmJtUnBZMkYwYjNJbkxGeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnYVc1a2FXTmhkRzl5T2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNkc2IyRmthVzVuTFdsdVpHbGpZWFJ2Y2ljNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNsOVhHNGdJQ0FnSUNCN0xpNHVhVzV1WlhKUWNtOXdjMzFjYmlBZ0lDQStYRzRnSUNBZ0lDQThURzloWkdsdVowUnZkQ0JrWld4aGVUMTdNSDBnYjJabWMyVjBQWHRwYzFKMGJIMGdMejVjYmlBZ0lDQWdJRHhNYjJGa2FXNW5SRzkwSUdSbGJHRjVQWHN4TmpCOUlHOW1abk5sZENBdlBseHVJQ0FnSUNBZ1BFeHZZV1JwYm1kRWIzUWdaR1ZzWVhrOWV6TXlNSDBnYjJabWMyVjBQWHNoYVhOU2RHeDlJQzgrWEc0Z0lDQWdQQzlrYVhZK1hHNGdJQ2s3WEc1OU8xeHVJbDE5ICovXCIsXG4gIHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufTtcbnZhciBTdmcgPSBmdW5jdGlvbiBTdmcoX3JlZikge1xuICB2YXIgc2l6ZSA9IF9yZWYuc2l6ZSxcbiAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBfZXhjbHVkZWQkMik7XG4gIHJldHVybiBqc3goXCJzdmdcIiwgX2V4dGVuZHMoe1xuICAgIGhlaWdodDogc2l6ZSxcbiAgICB3aWR0aDogc2l6ZSxcbiAgICB2aWV3Qm94OiBcIjAgMCAyMCAyMFwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgZm9jdXNhYmxlOiBcImZhbHNlXCIsXG4gICAgY3NzOiBfcmVmMlxuICB9LCBwcm9wcykpO1xufTtcbnZhciBDcm9zc0ljb24gPSBmdW5jdGlvbiBDcm9zc0ljb24ocHJvcHMpIHtcbiAgcmV0dXJuIGpzeChTdmcsIF9leHRlbmRzKHtcbiAgICBzaXplOiAyMFxuICB9LCBwcm9wcyksIGpzeChcInBhdGhcIiwge1xuICAgIGQ6IFwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiXG4gIH0pKTtcbn07XG52YXIgRG93bkNoZXZyb24gPSBmdW5jdGlvbiBEb3duQ2hldnJvbihwcm9wcykge1xuICByZXR1cm4ganN4KFN2ZywgX2V4dGVuZHMoe1xuICAgIHNpemU6IDIwXG4gIH0sIHByb3BzKSwganN4KFwicGF0aFwiLCB7XG4gICAgZDogXCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCJcbiAgfSkpO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEJ1dHRvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgYmFzZUNTUyA9IGZ1bmN0aW9uIGJhc2VDU1MoX3JlZjMsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0ZvY3VzZWQgPSBfcmVmMy5pc0ZvY3VzZWQsXG4gICAgX3JlZjMkdGhlbWUgPSBfcmVmMy50aGVtZSxcbiAgICBiYXNlVW5pdCA9IF9yZWYzJHRoZW1lLnNwYWNpbmcuYmFzZVVuaXQsXG4gICAgY29sb3JzID0gX3JlZjMkdGhlbWUuY29sb3JzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdpbmRpY2F0b3JDb250YWluZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgICAnOmhvdmVyJzoge1xuICAgICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsODAgOiBjb2xvcnMubmV1dHJhbDQwXG4gICAgfVxuICB9KTtcbn07XG52YXIgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xudmFyIERyb3Bkb3duSW5kaWNhdG9yID0gZnVuY3Rpb24gRHJvcGRvd25JbmRpY2F0b3IocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdkcm9wZG93bkluZGljYXRvcicsIHtcbiAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgJ2Ryb3Bkb3duLWluZGljYXRvcic6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbiB8fCBqc3goRG93bkNoZXZyb24sIG51bGwpKTtcbn07XG52YXIgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xudmFyIENsZWFySW5kaWNhdG9yID0gZnVuY3Rpb24gQ2xlYXJJbmRpY2F0b3IocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdjbGVhckluZGljYXRvcicsIHtcbiAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgJ2NsZWFyLWluZGljYXRvcic6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbiB8fCBqc3goQ3Jvc3NJY29uLCBudWxsKSk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlcGFyYXRvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSBmdW5jdGlvbiBpbmRpY2F0b3JTZXBhcmF0b3JDU1MoX3JlZjQsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0Rpc2FibGVkID0gX3JlZjQuaXNEaXNhYmxlZCxcbiAgICBfcmVmNCR0aGVtZSA9IF9yZWY0LnRoZW1lLFxuICAgIGJhc2VVbml0ID0gX3JlZjQkdGhlbWUuc3BhY2luZy5iYXNlVW5pdCxcbiAgICBjb2xvcnMgPSBfcmVmNCR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gICAgYWxpZ25TZWxmOiAnc3RyZXRjaCcsXG4gICAgd2lkdGg6IDFcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgICBtYXJnaW5Cb3R0b206IGJhc2VVbml0ICogMixcbiAgICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMlxuICB9KTtcbn07XG52YXIgSW5kaWNhdG9yU2VwYXJhdG9yID0gZnVuY3Rpb24gSW5kaWNhdG9yU2VwYXJhdG9yKHByb3BzKSB7XG4gIHZhciBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcInNwYW5cIiwgX2V4dGVuZHMoe30sIGlubmVyUHJvcHMsIGdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JTZXBhcmF0b3InLCB7XG4gICAgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlXG4gIH0pKSk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXMoX3RlbXBsYXRlT2JqZWN0IHx8IChfdGVtcGxhdGVPYmplY3QgPSBfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsKFtcIlxcbiAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDA7IH1cXG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cXG5cIl0pKSk7XG52YXIgbG9hZGluZ0luZGljYXRvckNTUyA9IGZ1bmN0aW9uIGxvYWRpbmdJbmRpY2F0b3JDU1MoX3JlZjUsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0ZvY3VzZWQgPSBfcmVmNS5pc0ZvY3VzZWQsXG4gICAgc2l6ZSA9IF9yZWY1LnNpemUsXG4gICAgX3JlZjUkdGhlbWUgPSBfcmVmNS50aGVtZSxcbiAgICBjb2xvcnMgPSBfcmVmNSR0aGVtZS5jb2xvcnMsXG4gICAgYmFzZVVuaXQgPSBfcmVmNSR0aGVtZS5zcGFjaW5nLmJhc2VVbml0O1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICAgIGZvbnRTaXplOiBzaXplLFxuICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgICBwYWRkaW5nOiBiYXNlVW5pdCAqIDJcbiAgfSk7XG59O1xudmFyIExvYWRpbmdEb3QgPSBmdW5jdGlvbiBMb2FkaW5nRG90KF9yZWY2KSB7XG4gIHZhciBkZWxheSA9IF9yZWY2LmRlbGF5LFxuICAgIG9mZnNldCA9IF9yZWY2Lm9mZnNldDtcbiAgcmV0dXJuIGpzeChcInNwYW5cIiwge1xuICAgIGNzczogLyojX19QVVJFX18qL2NzcyQyKHtcbiAgICAgIGFuaW1hdGlvbjogXCJcIi5jb25jYXQobG9hZGluZ0RvdEFuaW1hdGlvbnMsIFwiIDFzIGVhc2UtaW4tb3V0IFwiKS5jb25jYXQoZGVsYXksIFwibXMgaW5maW5pdGU7XCIpLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGJvcmRlclJhZGl1czogJzFlbScsXG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgIG1hcmdpbkxlZnQ6IG9mZnNldCA/ICcxZW0nIDogdW5kZWZpbmVkLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nXG4gICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiO2xhYmVsOkxvYWRpbmdEb3Q7XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR2xqWVhSdmNuTXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVcxUlNTSXNJbVpwYkdVaU9pSnBibVJwWTJGMGIzSnpMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaUJBYW5ONElHcHplQ0FxTDF4dWFXMXdiM0owSUhzZ1VtVmhZM1JPYjJSbElIMGdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2FuTjRMQ0JyWlhsbWNtRnRaWE1nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3WEc0Z0lFTnZiVzF2YmxCeWIzQnpRVzVrUTJ4aGMzTk9ZVzFsTEZ4dUlDQkRVMU5QWW1wbFkzUlhhWFJvVEdGaVpXd3NYRzRnSUVkeWIzVndRbUZ6WlN4Y2JuMGdabkp2YlNBbkxpNHZkSGx3WlhNbk8xeHVhVzF3YjNKMElIc2daMlYwVTNSNWJHVlFjbTl3Y3lCOUlHWnliMjBnSnk0dUwzVjBhV3h6Snp0Y2JseHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNHZMeUJFY205d1pHOTNiaUFtSUVOc1pXRnlJRWxqYjI1elhHNHZMeUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JseHVZMjl1YzNRZ1UzWm5JRDBnS0h0Y2JpQWdjMmw2WlN4Y2JpQWdMaTR1Y0hKdmNITmNibjA2SUVwVFdDNUpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxc25jM1puSjEwZ0ppQjdJSE5wZW1VNklHNTFiV0psY2lCOUtTQTlQaUFvWEc0Z0lEeHpkbWRjYmlBZ0lDQm9aV2xuYUhROWUzTnBlbVY5WEc0Z0lDQWdkMmxrZEdnOWUzTnBlbVY5WEc0Z0lDQWdkbWxsZDBKdmVEMWNJakFnTUNBeU1DQXlNRndpWEc0Z0lDQWdZWEpwWVMxb2FXUmtaVzQ5WENKMGNuVmxYQ0pjYmlBZ0lDQm1iMk4xYzJGaWJHVTlYQ0ptWVd4elpWd2lYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV0pzYjJOckp5eGNiaUFnSUNBZ0lHWnBiR3c2SUNkamRYSnlaVzUwUTI5c2IzSW5MRnh1SUNBZ0lDQWdiR2x1WlVobGFXZG9kRG9nTVN4Y2JpQWdJQ0FnSUhOMGNtOXJaVG9nSjJOMWNuSmxiblJEYjJ4dmNpY3NYRzRnSUNBZ0lDQnpkSEp2YTJWWGFXUjBhRG9nTUN4Y2JpQWdJQ0I5ZlZ4dUlDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ0x6NWNiaWs3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRU55YjNOelNXTnZibEJ5YjNCeklEMGdTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lkemRtY25YU0FtSUhzZ2MybDZaVDg2SUc1MWJXSmxjaUI5TzF4dVpYaHdiM0owSUdOdmJuTjBJRU55YjNOelNXTnZiaUE5SUNod2NtOXdjem9nUTNKdmMzTkpZMjl1VUhKdmNITXBJRDArSUNoY2JpQWdQRk4yWnlCemFYcGxQWHN5TUgwZ2V5NHVMbkJ5YjNCemZUNWNiaUFnSUNBOGNHRjBhQ0JrUFZ3aVRURTBMak0wT0NBeE5DNDRORGxqTFRBdU5EWTVJREF1TkRZNUxURXVNakk1SURBdU5EWTVMVEV1TmprM0lEQnNMVEl1TmpVeExUTXVNRE13TFRJdU5qVXhJRE11TURJNVl5MHdMalEyT1NBd0xqUTJPUzB4TGpJeU9TQXdMalEyT1MweExqWTVOeUF3TFRBdU5EWTVMVEF1TkRZNUxUQXVORFk1TFRFdU1qSTVJREF0TVM0Mk9UZHNNaTQzTlRndE15NHhOUzB5TGpjMU9TMHpMakUxTW1NdE1DNDBOamt0TUM0ME5qa3RNQzQwTmprdE1TNHlNamdnTUMweExqWTVOM014TGpJeU9DMHdMalEyT1NBeExqWTVOeUF3YkRJdU5qVXlJRE11TURNeElESXVOalV4TFRNdU1ETXhZekF1TkRZNUxUQXVORFk1SURFdU1qSTRMVEF1TkRZNUlERXVOamszSURCek1DNDBOamtnTVM0eU1qa2dNQ0F4TGpZNU4yd3RNaTQzTlRnZ015NHhOVElnTWk0M05UZ2dNeTR4TldNd0xqUTJPU0F3TGpRMk9TQXdMalEyT1NBeExqSXlPU0F3SURFdU5qazRlbHdpSUM4K1hHNGdJRHd2VTNablBseHVLVHRjYm1WNGNHOXlkQ0IwZVhCbElFUnZkMjVEYUdWMmNtOXVVSEp2Y0hNZ1BTQktVMWd1U1c1MGNtbHVjMmxqUld4bGJXVnVkSE5iSjNOMlp5ZGRJQ1lnZXlCemFYcGxQem9nYm5WdFltVnlJSDA3WEc1bGVIQnZjblFnWTI5dWMzUWdSRzkzYmtOb1pYWnliMjRnUFNBb2NISnZjSE02SUVSdmQyNURhR1YyY205dVVISnZjSE1wSUQwK0lDaGNiaUFnUEZOMlp5QnphWHBsUFhzeU1IMGdleTR1TG5CeWIzQnpmVDVjYmlBZ0lDQThjR0YwYUNCa1BWd2lUVFF1TlRFMklEY3VOVFE0WXpBdU5ETTJMVEF1TkRRMklERXVNRFF6TFRBdU5EZ3hJREV1TlRjMklEQnNNeTQ1TURnZ015NDNORGNnTXk0NU1EZ3RNeTQzTkRkak1DNDFNek10TUM0ME9ERWdNUzR4TkRFdE1DNDBORFlnTVM0MU56UWdNQ0F3TGpRek5pQXdMalEwTlNBd0xqUXdPQ0F4TGpFNU55QXdJREV1TmpFMUxUQXVOREEySURBdU5ERTRMVFF1TmprMUlEUXVOVEF5TFRRdU5qazFJRFF1TlRBeUxUQXVNakUzSURBdU1qSXpMVEF1TlRBeUlEQXVNek0xTFRBdU56ZzNJREF1TXpNMWN5MHdMalUzTFRBdU1URXlMVEF1TnpnNUxUQXVNek0xWXpBZ01DMDBMakk0TnkwMExqQTROQzAwTGpZNU5TMDBMalV3TW5NdE1DNDBNell0TVM0eE55QXdMVEV1TmpFMWVsd2lJQzgrWEc0Z0lEd3ZVM1puUGx4dUtUdGNibHh1THk4Z1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzR2THlCRWNtOXdaRzkzYmlBbUlFTnNaV0Z5SUVKMWRIUnZibk5jYmk4dklEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVSeWIzQmtiM2R1U1c1a2FXTmhkRzl5VUhKdmNITThYRzRnSUU5d2RHbHZiaUE5SUhWdWEyNXZkMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1SUQwZ1ltOXZiR1ZoYml4Y2JpQWdSM0p2ZFhBZ1pYaDBaVzVrY3lCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGlBOUlFZHliM1Z3UW1GelpUeFBjSFJwYjI0K1hHNCtJR1Y0ZEdWdVpITWdRMjl0Ylc5dVVISnZjSE5CYm1SRGJHRnpjMDVoYldVOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDRnZTF4dUlDQXZLaW9nVkdobElHTm9hV3hrY21WdUlIUnZJR0psSUhKbGJtUmxjbVZrSUdsdWMybGtaU0IwYUdVZ2FXNWthV05oZEc5eUxpQXFMMXh1SUNCamFHbHNaSEpsYmo4NklGSmxZV04wVG05a1pUdGNiaUFnTHlvcUlGQnliM0J6SUhSb1lYUWdkMmxzYkNCaVpTQndZWE56WldRZ2IyNGdkRzhnZEdobElHTm9hV3hrY21WdUxpQXFMMXh1SUNCcGJtNWxjbEJ5YjNCek9pQktVMWd1U1c1MGNtbHVjMmxqUld4bGJXVnVkSE5iSjJScGRpZGRPMXh1SUNBdktpb2dWR2hsSUdadlkzVnpaV1FnYzNSaGRHVWdiMllnZEdobElITmxiR1ZqZEM0Z0tpOWNiaUFnYVhOR2IyTjFjMlZrT2lCaWIyOXNaV0Z1TzF4dUlDQnBjMFJwYzJGaWJHVmtPaUJpYjI5c1pXRnVPMXh1ZlZ4dVhHNWpiMjV6ZENCaVlYTmxRMU5USUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0Z4dUlDQjdYRzRnSUNBZ2FYTkdiMk4xYzJWa0xGeHVJQ0FnSUhSb1pXMWxPaUI3WEc0Z0lDQWdJQ0J6Y0dGamFXNW5PaUI3SUdKaGMyVlZibWwwSUgwc1hHNGdJQ0FnSUNCamIyeHZjbk1zWEc0Z0lDQWdmU3hjYmlBZ2ZUcGNiaUFnSUNCOElFUnliM0JrYjNkdVNXNWthV05oZEc5eVVISnZjSE04VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENWNiaUFnSUNCOElFTnNaV0Z5U1c1a2FXTmhkRzl5VUhKdmNITThUM0IwYVc5dUxDQkpjMDExYkhScExDQkhjbTkxY0Q0c1hHNGdJSFZ1YzNSNWJHVmtPaUJpYjI5c1pXRnVYRzRwT2lCRFUxTlBZbXBsWTNSWGFYUm9UR0ZpWld3Z1BUNGdLSHRjYmlBZ2JHRmlaV3c2SUNkcGJtUnBZMkYwYjNKRGIyNTBZV2x1WlhJbkxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUhSeVlXNXphWFJwYjI0NklDZGpiMnh2Y2lBeE5UQnRjeWNzWEc0Z0lDNHVMaWgxYm5OMGVXeGxaRnh1SUNBZ0lEOGdlMzFjYmlBZ0lDQTZJSHRjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJR2x6Um05amRYTmxaQ0EvSUdOdmJHOXljeTV1WlhWMGNtRnNOakFnT2lCamIyeHZjbk11Ym1WMWRISmhiREl3TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuT2lCaVlYTmxWVzVwZENBcUlESXNYRzRnSUNBZ0lDQWdJQ2M2YUc5MlpYSW5PaUI3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXNiM0k2SUdselJtOWpkWE5sWkNBL0lHTnZiRzl5Y3k1dVpYVjBjbUZzT0RBZ09pQmpiMnh2Y25NdWJtVjFkSEpoYkRRd0xGeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdmU2tzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHUnliM0JrYjNkdVNXNWthV05oZEc5eVExTlRJRDBnWW1GelpVTlRVenRjYm1WNGNHOXlkQ0JqYjI1emRDQkVjbTl3Wkc5M2JrbHVaR2xqWVhSdmNpQTlJRHhjYmlBZ1QzQjBhVzl1TEZ4dUlDQkpjMDExYkhScElHVjRkR1Z1WkhNZ1ltOXZiR1ZoYml4Y2JpQWdSM0p2ZFhBZ1pYaDBaVzVrY3lCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGx4dVBpaGNiaUFnY0hKdmNITTZJRVJ5YjNCa2IzZHVTVzVrYVdOaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDVjYmlrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUdOb2FXeGtjbVZ1TENCcGJtNWxjbEJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThaR2wyWEc0Z0lDQWdJQ0I3TGk0dVoyVjBVM1I1YkdWUWNtOXdjeWh3Y205d2N5d2dKMlJ5YjNCa2IzZHVTVzVrYVdOaGRHOXlKeXdnZTF4dUlDQWdJQ0FnSUNCcGJtUnBZMkYwYjNJNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNka2NtOXdaRzkzYmkxcGJtUnBZMkYwYjNJbk9pQjBjblZsTEZ4dUlDQWdJQ0FnZlNsOVhHNGdJQ0FnSUNCN0xpNHVhVzV1WlhKUWNtOXdjMzFjYmlBZ0lDQStYRzRnSUNBZ0lDQjdZMmhwYkdSeVpXNGdmSHdnUEVSdmQyNURhR1YyY205dUlDOCtmVnh1SUNBZ0lEd3ZaR2wyUGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkRiR1ZoY2tsdVpHbGpZWFJ2Y2xCeWIzQnpQRnh1SUNCUGNIUnBiMjRnUFNCMWJtdHViM2R1TEZ4dUlDQkpjMDExYkhScElHVjRkR1Z1WkhNZ1ltOXZiR1ZoYmlBOUlHSnZiMnhsWVc0c1hHNGdJRWR5YjNWd0lHVjRkR1Z1WkhNZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo0Z1BTQkhjbTkxY0VKaGMyVThUM0IwYVc5dVBseHVQaUJsZUhSbGJtUnpJRU52YlcxdmJsQnliM0J6UVc1a1EyeGhjM05PWVcxbFBFOXdkR2x2Yml3Z1NYTk5kV3gwYVN3Z1IzSnZkWEErSUh0Y2JpQWdMeW9xSUZSb1pTQmphR2xzWkhKbGJpQjBieUJpWlNCeVpXNWtaWEpsWkNCcGJuTnBaR1VnZEdobElHbHVaR2xqWVhSdmNpNGdLaTljYmlBZ1kyaHBiR1J5Wlc0L09pQlNaV0ZqZEU1dlpHVTdYRzRnSUM4cUtpQlFjbTl3Y3lCMGFHRjBJSGRwYkd3Z1ltVWdjR0Z6YzJWa0lHOXVJSFJ2SUhSb1pTQmphR2xzWkhKbGJpNGdLaTljYmlBZ2FXNXVaWEpRY205d2N6b2dTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lka2FYWW5YVHRjYmlBZ0x5b3FJRlJvWlNCbWIyTjFjMlZrSUhOMFlYUmxJRzltSUhSb1pTQnpaV3hsWTNRdUlDb3ZYRzRnSUdselJtOWpkWE5sWkRvZ1ltOXZiR1ZoYmp0Y2JuMWNibHh1Wlhod2IzSjBJR052Ym5OMElHTnNaV0Z5U1c1a2FXTmhkRzl5UTFOVElEMGdZbUZ6WlVOVFV6dGNibVY0Y0c5eWRDQmpiMjV6ZENCRGJHVmhja2x1WkdsallYUnZjaUE5SUR4Y2JpQWdUM0IwYVc5dUxGeHVJQ0JKYzAxMWJIUnBJR1Y0ZEdWdVpITWdZbTl2YkdWaGJpeGNiaUFnUjNKdmRYQWdaWGgwWlc1a2N5QkhjbTkxY0VKaGMyVThUM0IwYVc5dVBseHVQaWhjYmlBZ2NISnZjSE02SUVOc1pXRnlTVzVrYVdOaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDVjYmlrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUdOb2FXeGtjbVZ1TENCcGJtNWxjbEJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThaR2wyWEc0Z0lDQWdJQ0I3TGk0dVoyVjBVM1I1YkdWUWNtOXdjeWh3Y205d2N5d2dKMk5zWldGeVNXNWthV05oZEc5eUp5d2dlMXh1SUNBZ0lDQWdJQ0JwYm1ScFkyRjBiM0k2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ2RqYkdWaGNpMXBibVJwWTJGMGIzSW5PaUIwY25WbExGeHVJQ0FnSUNBZ2ZTbDlYRzRnSUNBZ0lDQjdMaTR1YVc1dVpYSlFjbTl3YzMxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0I3WTJocGJHUnlaVzRnZkh3Z1BFTnliM056U1dOdmJpQXZQbjFjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4wN1hHNWNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVMeThnVTJWd1lYSmhkRzl5WEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSmJtUnBZMkYwYjNKVFpYQmhjbUYwYjNKUWNtOXdjenhjYmlBZ1QzQjBhVzl1SUQwZ2RXNXJibTkzYml4Y2JpQWdTWE5OZFd4MGFTQmxlSFJsYm1SeklHSnZiMnhsWVc0Z1BTQmliMjlzWldGdUxGeHVJQ0JIY205MWNDQmxlSFJsYm1SeklFZHliM1Z3UW1GelpUeFBjSFJwYjI0K0lEMGdSM0p2ZFhCQ1lYTmxQRTl3ZEdsdmJqNWNiajRnWlhoMFpXNWtjeUJEYjIxdGIyNVFjbTl3YzBGdVpFTnNZWE56VG1GdFpUeFBjSFJwYjI0c0lFbHpUWFZzZEdrc0lFZHliM1Z3UGlCN1hHNGdJR2x6UkdsellXSnNaV1E2SUdKdmIyeGxZVzQ3WEc0Z0lHbHpSbTlqZFhObFpEb2dZbTl2YkdWaGJqdGNiaUFnYVc1dVpYSlFjbTl3Y3o4NklFcFRXQzVKYm5SeWFXNXphV05GYkdWdFpXNTBjMXNuYzNCaGJpZGRPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnYVc1a2FXTmhkRzl5VTJWd1lYSmhkRzl5UTFOVElEMGdQRnh1SUNCUGNIUnBiMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0tGeHVJQ0I3WEc0Z0lDQWdhWE5FYVhOaFlteGxaQ3hjYmlBZ0lDQjBhR1Z0WlRvZ2UxeHVJQ0FnSUNBZ2MzQmhZMmx1WnpvZ2V5QmlZWE5sVlc1cGRDQjlMRnh1SUNBZ0lDQWdZMjlzYjNKekxGeHVJQ0FnSUgwc1hHNGdJSDA2SUVsdVpHbGpZWFJ2Y2xObGNHRnlZWFJ2Y2xCeWIzQnpQRTl3ZEdsdmJpd2dTWE5OZFd4MGFTd2dSM0p2ZFhBK0xGeHVJQ0IxYm5OMGVXeGxaRG9nWW05dmJHVmhibHh1S1RvZ1ExTlRUMkpxWldOMFYybDBhRXhoWW1Wc0lEMCtJQ2g3WEc0Z0lHeGhZbVZzT2lBbmFXNWthV05oZEc5eVUyVndZWEpoZEc5eUp5eGNiaUFnWVd4cFoyNVRaV3htT2lBbmMzUnlaWFJqYUNjc1hHNGdJSGRwWkhSb09pQXhMRnh1SUNBdUxpNG9kVzV6ZEhsc1pXUmNiaUFnSUNBL0lIdDlYRzRnSUNBZ09pQjdYRzRnSUNBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dhWE5FYVhOaFlteGxaQ0EvSUdOdmJHOXljeTV1WlhWMGNtRnNNVEFnT2lCamIyeHZjbk11Ym1WMWRISmhiREl3TEZ4dUlDQWdJQ0FnSUNCdFlYSm5hVzVDYjNSMGIyMDZJR0poYzJWVmJtbDBJQ29nTWl4Y2JpQWdJQ0FnSUNBZ2JXRnlaMmx1Vkc5d09pQmlZWE5sVlc1cGRDQXFJRElzWEc0Z0lDQWdJQ0I5S1N4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlJRDBnUEZ4dUlDQlBjSFJwYjI0c1hHNGdJRWx6VFhWc2RHa2daWGgwWlc1a2N5QmliMjlzWldGdUxGeHVJQ0JIY205MWNDQmxlSFJsYm1SeklFZHliM1Z3UW1GelpUeFBjSFJwYjI0K1hHNCtLRnh1SUNCd2NtOXdjem9nU1c1a2FXTmhkRzl5VTJWd1lYSmhkRzl5VUhKdmNITThUM0IwYVc5dUxDQkpjMDExYkhScExDQkhjbTkxY0Q1Y2Jpa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lHbHVibVZ5VUhKdmNITWdmU0E5SUhCeWIzQnpPMXh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHh6Y0dGdVhHNGdJQ0FnSUNCN0xpNHVhVzV1WlhKUWNtOXdjMzFjYmlBZ0lDQWdJSHN1TGk1blpYUlRkSGxzWlZCeWIzQnpLSEJ5YjNCekxDQW5hVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlKeXdnZTF4dUlDQWdJQ0FnSUNBbmFXNWthV05oZEc5eUxYTmxjR0Z5WVhSdmNpYzZJSFJ5ZFdVc1hHNGdJQ0FnSUNCOUtYMWNiaUFnSUNBdlBseHVJQ0FwTzF4dWZUdGNibHh1THk4Z1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzR2THlCTWIyRmthVzVuWEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmx4dVkyOXVjM1FnYkc5aFpHbHVaMFJ2ZEVGdWFXMWhkR2x2Ym5NZ1BTQnJaWGxtY21GdFpYTmdYRzRnSURBbExDQTRNQ1VzSURFd01DVWdleUJ2Y0dGamFYUjVPaUF3T3lCOVhHNGdJRFF3SlNCN0lHOXdZV05wZEhrNklERTdJSDFjYm1BN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCc2IyRmthVzVuU1c1a2FXTmhkRzl5UTFOVElEMGdQRnh1SUNCUGNIUnBiMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0tGeHVJQ0I3WEc0Z0lDQWdhWE5HYjJOMWMyVmtMRnh1SUNBZ0lITnBlbVVzWEc0Z0lDQWdkR2hsYldVNklIdGNiaUFnSUNBZ0lHTnZiRzl5Y3l4Y2JpQWdJQ0FnSUhOd1lXTnBibWM2SUhzZ1ltRnpaVlZ1YVhRZ2ZTeGNiaUFnSUNCOUxGeHVJQ0I5T2lCTWIyRmthVzVuU1c1a2FXTmhkRzl5VUhKdmNITThUM0IwYVc5dUxDQkpjMDExYkhScExDQkhjbTkxY0Q0c1hHNGdJSFZ1YzNSNWJHVmtPaUJpYjI5c1pXRnVYRzRwT2lCRFUxTlBZbXBsWTNSWGFYUm9UR0ZpWld3Z1BUNGdLSHRjYmlBZ2JHRmlaV3c2SUNkc2IyRmthVzVuU1c1a2FXTmhkRzl5Snl4Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0IwY21GdWMybDBhVzl1T2lBblkyOXNiM0lnTVRVd2JYTW5MRnh1SUNCaGJHbG5ibE5sYkdZNklDZGpaVzUwWlhJbkxGeHVJQ0JtYjI1MFUybDZaVG9nYzJsNlpTeGNiaUFnYkdsdVpVaGxhV2RvZERvZ01TeGNiaUFnYldGeVoybHVVbWxuYUhRNklITnBlbVVzWEc0Z0lIUmxlSFJCYkdsbmJqb2dKMk5sYm5SbGNpY3NYRzRnSUhabGNuUnBZMkZzUVd4cFoyNDZJQ2R0YVdSa2JHVW5MRnh1SUNBdUxpNG9kVzV6ZEhsc1pXUmNiaUFnSUNBL0lIdDlYRzRnSUNBZ09pQjdYRzRnSUNBZ0lDQWdJR052Ykc5eU9pQnBjMFp2WTNWelpXUWdQeUJqYjJ4dmNuTXVibVYxZEhKaGJEWXdJRG9nWTI5c2IzSnpMbTVsZFhSeVlXd3lNQ3hjYmlBZ0lDQWdJQ0FnY0dGa1pHbHVaem9nWW1GelpWVnVhWFFnS2lBeUxGeHVJQ0FnSUNBZ2ZTa3NYRzU5S1R0Y2JseHVhVzUwWlhKbVlXTmxJRXh2WVdScGJtZEViM1JRY205d2N5QjdYRzRnSUdSbGJHRjVPaUJ1ZFcxaVpYSTdYRzRnSUc5bVpuTmxkRG9nWW05dmJHVmhianRjYm4xY2JtTnZibk4wSUV4dllXUnBibWRFYjNRZ1BTQW9leUJrWld4aGVTd2diMlptYzJWMElIMDZJRXh2WVdScGJtZEViM1JRY205d2N5a2dQVDRnS0Z4dUlDQThjM0JoYmx4dUlDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ1lXNXBiV0YwYVc5dU9pQmdKSHRzYjJGa2FXNW5SRzkwUVc1cGJXRjBhVzl1YzMwZ01YTWdaV0Z6WlMxcGJpMXZkWFFnSkh0a1pXeGhlWDF0Y3lCcGJtWnBibWwwWlR0Z0xGeHVJQ0FnSUNBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lBblkzVnljbVZ1ZEVOdmJHOXlKeXhjYmlBZ0lDQWdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6RmxiU2NzWEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV0pzYjJOckp5eGNiaUFnSUNBZ0lHMWhjbWRwYmt4bFpuUTZJRzltWm5ObGRDQS9JQ2N4WlcwbklEb2dkVzVrWldacGJtVmtMRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQW5NV1Z0Snl4Y2JpQWdJQ0FnSUhabGNuUnBZMkZzUVd4cFoyNDZJQ2QwYjNBbkxGeHVJQ0FnSUNBZ2QybGtkR2c2SUNjeFpXMG5MRnh1SUNBZ0lIMTlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUV4dllXUnBibWRKYm1ScFkyRjBiM0pRY205d2N6eGNiaUFnVDNCMGFXOXVJRDBnZFc1cmJtOTNiaXhjYmlBZ1NYTk5kV3gwYVNCbGVIUmxibVJ6SUdKdmIyeGxZVzRnUFNCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrSUQwZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo1Y2JqNGdaWGgwWlc1a2N5QkRiMjF0YjI1UWNtOXdjMEZ1WkVOc1lYTnpUbUZ0WlR4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaUI3WEc0Z0lDOHFLaUJRY205d2N5QjBhR0YwSUhkcGJHd2dZbVVnY0dGemMyVmtJRzl1SUhSdklIUm9aU0JqYUdsc1pISmxiaTRnS2k5Y2JpQWdhVzV1WlhKUWNtOXdjem9nU2xOWUxrbHVkSEpwYm5OcFkwVnNaVzFsYm5Seld5ZGthWFluWFR0Y2JpQWdMeW9xSUZSb1pTQm1iMk4xYzJWa0lITjBZWFJsSUc5bUlIUm9aU0J6Wld4bFkzUXVJQ292WEc0Z0lHbHpSbTlqZFhObFpEb2dZbTl2YkdWaGJqdGNiaUFnYVhORWFYTmhZbXhsWkRvZ1ltOXZiR1ZoYmp0Y2JpQWdMeW9xSUZObGRDQnphWHBsSUc5bUlIUm9aU0JqYjI1MFlXbHVaWEl1SUNvdlhHNGdJSE5wZW1VNklHNTFiV0psY2p0Y2JuMWNibVY0Y0c5eWRDQmpiMjV6ZENCTWIyRmthVzVuU1c1a2FXTmhkRzl5SUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0h0Y2JpQWdhVzV1WlhKUWNtOXdjeXhjYmlBZ2FYTlNkR3dzWEc0Z0lITnBlbVVnUFNBMExGeHVJQ0F1TGk1eVpYTjBVSEp2Y0hOY2JuMDZJRXh2WVdScGJtZEpibVJwWTJGMGIzSlFjbTl3Y3p4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaWtnUFQ0Z2UxeHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeGthWFpjYmlBZ0lDQWdJSHN1TGk1blpYUlRkSGxzWlZCeWIzQnpLRnh1SUNBZ0lDQWdJQ0I3SUM0dUxuSmxjM1JRY205d2N5d2dhVzV1WlhKUWNtOXdjeXdnYVhOU2RHd3NJSE5wZW1VZ2ZTeGNiaUFnSUNBZ0lDQWdKMnh2WVdScGJtZEpibVJwWTJGMGIzSW5MRnh1SUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXNWthV05oZEc5eU9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDZHNiMkZrYVc1bkxXbHVaR2xqWVhSdmNpYzZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDbDlYRzRnSUNBZ0lDQjdMaTR1YVc1dVpYSlFjbTl3YzMxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4VEc5aFpHbHVaMFJ2ZENCa1pXeGhlVDE3TUgwZ2IyWm1jMlYwUFh0cGMxSjBiSDBnTHo1Y2JpQWdJQ0FnSUR4TWIyRmthVzVuUkc5MElHUmxiR0Y1UFhzeE5qQjlJRzltWm5ObGRDQXZQbHh1SUNBZ0lDQWdQRXh2WVdScGJtZEViM1FnWkdWc1lYazllek15TUgwZ2IyWm1jMlYwUFhzaGFYTlNkR3g5SUM4K1hHNGdJQ0FnUEM5a2FYWStYRzRnSUNrN1hHNTlPMXh1SWwxOSAqL1wiKVxuICB9KTtcbn07XG52YXIgTG9hZGluZ0luZGljYXRvciA9IGZ1bmN0aW9uIExvYWRpbmdJbmRpY2F0b3IoX3JlZjcpIHtcbiAgdmFyIGlubmVyUHJvcHMgPSBfcmVmNy5pbm5lclByb3BzLFxuICAgIGlzUnRsID0gX3JlZjcuaXNSdGwsXG4gICAgX3JlZjckc2l6ZSA9IF9yZWY3LnNpemUsXG4gICAgc2l6ZSA9IF9yZWY3JHNpemUgPT09IHZvaWQgMCA/IDQgOiBfcmVmNyRzaXplLFxuICAgIHJlc3RQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmNywgX2V4Y2x1ZGVkMik7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCByZXN0UHJvcHMpLCB7fSwge1xuICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsXG4gICAgaXNSdGw6IGlzUnRsLFxuICAgIHNpemU6IHNpemVcbiAgfSksICdsb2FkaW5nSW5kaWNhdG9yJywge1xuICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSwganN4KExvYWRpbmdEb3QsIHtcbiAgICBkZWxheTogMCxcbiAgICBvZmZzZXQ6IGlzUnRsXG4gIH0pLCBqc3goTG9hZGluZ0RvdCwge1xuICAgIGRlbGF5OiAxNjAsXG4gICAgb2Zmc2V0OiB0cnVlXG4gIH0pLCBqc3goTG9hZGluZ0RvdCwge1xuICAgIGRlbGF5OiAzMjAsXG4gICAgb2Zmc2V0OiAhaXNSdGxcbiAgfSkpO1xufTtcblxudmFyIGNzcyQxID0gZnVuY3Rpb24gY3NzKF9yZWYsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0Rpc2FibGVkID0gX3JlZi5pc0Rpc2FibGVkLFxuICAgIGlzRm9jdXNlZCA9IF9yZWYuaXNGb2N1c2VkLFxuICAgIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIGNvbG9ycyA9IF9yZWYkdGhlbWUuY29sb3JzLFxuICAgIGJvcmRlclJhZGl1cyA9IF9yZWYkdGhlbWUuYm9yZGVyUmFkaXVzLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmc7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ2NvbnRyb2wnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGN1cnNvcjogJ2RlZmF1bHQnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgbWluSGVpZ2h0OiBzcGFjaW5nLmNvbnRyb2xIZWlnaHQsXG4gICAgb3V0bGluZTogJzAgIWltcG9ydGFudCcsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgdHJhbnNpdGlvbjogJ2FsbCAxMDBtcydcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDUgOiBjb2xvcnMubmV1dHJhbDAsXG4gICAgYm9yZGVyQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogaXNGb2N1c2VkID8gY29sb3JzLnByaW1hcnkgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICAgIGJvcmRlcldpZHRoOiAxLFxuICAgIGJveFNoYWRvdzogaXNGb2N1c2VkID8gXCIwIDAgMCAxcHggXCIuY29uY2F0KGNvbG9ycy5wcmltYXJ5KSA6IHVuZGVmaW5lZCxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGJvcmRlckNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMucHJpbWFyeSA6IGNvbG9ycy5uZXV0cmFsMzBcbiAgICB9XG4gIH0pO1xufTtcbnZhciBDb250cm9sID0gZnVuY3Rpb24gQ29udHJvbChwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpc0ZvY3VzZWQgPSBwcm9wcy5pc0ZvY3VzZWQsXG4gICAgaW5uZXJSZWYgPSBwcm9wcy5pbm5lclJlZixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBtZW51SXNPcGVuID0gcHJvcHMubWVudUlzT3BlbjtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgcmVmOiBpbm5lclJlZlxuICB9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnY29udHJvbCcsIHtcbiAgICBjb250cm9sOiB0cnVlLFxuICAgICdjb250cm9sLS1pcy1kaXNhYmxlZCc6IGlzRGlzYWJsZWQsXG4gICAgJ2NvbnRyb2wtLWlzLWZvY3VzZWQnOiBpc0ZvY3VzZWQsXG4gICAgJ2NvbnRyb2wtLW1lbnUtaXMtb3Blbic6IG1lbnVJc09wZW5cbiAgfSksIGlubmVyUHJvcHMsIHtcbiAgICBcImFyaWEtZGlzYWJsZWRcIjogaXNEaXNhYmxlZCB8fCB1bmRlZmluZWRcbiAgfSksIGNoaWxkcmVuKTtcbn07XG52YXIgQ29udHJvbCQxID0gQ29udHJvbDtcblxudmFyIF9leGNsdWRlZCQxID0gW1wiZGF0YVwiXTtcbnZhciBncm91cENTUyA9IGZ1bmN0aW9uIGdyb3VwQ1NTKF9yZWYsIHVuc3R5bGVkKSB7XG4gIHZhciBzcGFjaW5nID0gX3JlZi50aGVtZS5zcGFjaW5nO1xuICByZXR1cm4gdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBwYWRkaW5nQm90dG9tOiBzcGFjaW5nLmJhc2VVbml0ICogMixcbiAgICBwYWRkaW5nVG9wOiBzcGFjaW5nLmJhc2VVbml0ICogMlxuICB9O1xufTtcbnZhciBHcm91cCA9IGZ1bmN0aW9uIEdyb3VwKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGN4ID0gcHJvcHMuY3gsXG4gICAgZ2V0U3R5bGVzID0gcHJvcHMuZ2V0U3R5bGVzLFxuICAgIGdldENsYXNzTmFtZXMgPSBwcm9wcy5nZXRDbGFzc05hbWVzLFxuICAgIEhlYWRpbmcgPSBwcm9wcy5IZWFkaW5nLFxuICAgIGhlYWRpbmdQcm9wcyA9IHByb3BzLmhlYWRpbmdQcm9wcyxcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBsYWJlbCA9IHByb3BzLmxhYmVsLFxuICAgIHRoZW1lID0gcHJvcHMudGhlbWUsXG4gICAgc2VsZWN0UHJvcHMgPSBwcm9wcy5zZWxlY3RQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ2dyb3VwJywge1xuICAgIGdyb3VwOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSwganN4KEhlYWRpbmcsIF9leHRlbmRzKHt9LCBoZWFkaW5nUHJvcHMsIHtcbiAgICBzZWxlY3RQcm9wczogc2VsZWN0UHJvcHMsXG4gICAgdGhlbWU6IHRoZW1lLFxuICAgIGdldFN0eWxlczogZ2V0U3R5bGVzLFxuICAgIGdldENsYXNzTmFtZXM6IGdldENsYXNzTmFtZXMsXG4gICAgY3g6IGN4XG4gIH0pLCBsYWJlbCksIGpzeChcImRpdlwiLCBudWxsLCBjaGlsZHJlbikpO1xufTtcbnZhciBncm91cEhlYWRpbmdDU1MgPSBmdW5jdGlvbiBncm91cEhlYWRpbmdDU1MoX3JlZjIsIHVuc3R5bGVkKSB7XG4gIHZhciBfcmVmMiR0aGVtZSA9IF9yZWYyLnRoZW1lLFxuICAgIGNvbG9ycyA9IF9yZWYyJHRoZW1lLmNvbG9ycyxcbiAgICBzcGFjaW5nID0gX3JlZjIkdGhlbWUuc3BhY2luZztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGxhYmVsOiAnZ3JvdXAnLFxuICAgIGN1cnNvcjogJ2RlZmF1bHQnLFxuICAgIGRpc3BsYXk6ICdibG9jaydcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBjb2xvcjogY29sb3JzLm5ldXRyYWw0MCxcbiAgICBmb250U2l6ZTogJzc1JScsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIG1hcmdpbkJvdHRvbTogJzAuMjVlbScsXG4gICAgcGFkZGluZ0xlZnQ6IHNwYWNpbmcuYmFzZVVuaXQgKiAzLFxuICAgIHBhZGRpbmdSaWdodDogc3BhY2luZy5iYXNlVW5pdCAqIDMsXG4gICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZSdcbiAgfSk7XG59O1xudmFyIEdyb3VwSGVhZGluZyA9IGZ1bmN0aW9uIEdyb3VwSGVhZGluZyhwcm9wcykge1xuICB2YXIgX2NsZWFuQ29tbW9uUHJvcHMgPSBjbGVhbkNvbW1vblByb3BzKHByb3BzKTtcbiAgICBfY2xlYW5Db21tb25Qcm9wcy5kYXRhO1xuICAgIHZhciBpbm5lclByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9jbGVhbkNvbW1vblByb3BzLCBfZXhjbHVkZWQkMSk7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdncm91cEhlYWRpbmcnLCB7XG4gICAgJ2dyb3VwLWhlYWRpbmcnOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSk7XG59O1xudmFyIEdyb3VwJDEgPSBHcm91cDtcblxudmFyIF9leGNsdWRlZCA9IFtcImlubmVyUmVmXCIsIFwiaXNEaXNhYmxlZFwiLCBcImlzSGlkZGVuXCIsIFwiaW5wdXRDbGFzc05hbWVcIl07XG52YXIgaW5wdXRDU1MgPSBmdW5jdGlvbiBpbnB1dENTUyhfcmVmLCB1bnN0eWxlZCkge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9yZWYuaXNEaXNhYmxlZCxcbiAgICB2YWx1ZSA9IF9yZWYudmFsdWUsXG4gICAgX3JlZiR0aGVtZSA9IF9yZWYudGhlbWUsXG4gICAgc3BhY2luZyA9IF9yZWYkdGhlbWUuc3BhY2luZyxcbiAgICBjb2xvcnMgPSBfcmVmJHRoZW1lLmNvbG9ycztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7XG4gICAgdmlzaWJpbGl0eTogaXNEaXNhYmxlZCA/ICdoaWRkZW4nIDogJ3Zpc2libGUnLFxuICAgIC8vIGZvcmNlIGNzcyB0byByZWNvbXB1dGUgd2hlbiB2YWx1ZSBjaGFuZ2UgZHVlIHRvIEBlbW90aW9uIGJ1Zy5cbiAgICAvLyBXZSBjYW4gcmVtb3ZlIGl0IHdoZW5ldmVyIHRoZSBidWcgaXMgZml4ZWQuXG4gICAgdHJhbnNmb3JtOiB2YWx1ZSA/ICd0cmFuc2xhdGVaKDApJyA6ICcnXG4gIH0sIGNvbnRhaW5lclN0eWxlKSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBtYXJnaW46IHNwYWNpbmcuYmFzZVVuaXQgLyAyLFxuICAgIHBhZGRpbmdCb3R0b206IHNwYWNpbmcuYmFzZVVuaXQgLyAyLFxuICAgIHBhZGRpbmdUb3A6IHNwYWNpbmcuYmFzZVVuaXQgLyAyLFxuICAgIGNvbG9yOiBjb2xvcnMubmV1dHJhbDgwXG4gIH0pO1xufTtcbnZhciBzcGFjaW5nU3R5bGUgPSB7XG4gIGdyaWRBcmVhOiAnMSAvIDInLFxuICBmb250OiAnaW5oZXJpdCcsXG4gIG1pbldpZHRoOiAnMnB4JyxcbiAgYm9yZGVyOiAwLFxuICBtYXJnaW46IDAsXG4gIG91dGxpbmU6IDAsXG4gIHBhZGRpbmc6IDBcbn07XG52YXIgY29udGFpbmVyU3R5bGUgPSB7XG4gIGZsZXg6ICcxIDEgYXV0bycsXG4gIGRpc3BsYXk6ICdpbmxpbmUtZ3JpZCcsXG4gIGdyaWRBcmVhOiAnMSAvIDEgLyAyIC8gMycsXG4gIGdyaWRUZW1wbGF0ZUNvbHVtbnM6ICcwIG1pbi1jb250ZW50JyxcbiAgJyY6YWZ0ZXInOiBfb2JqZWN0U3ByZWFkKHtcbiAgICBjb250ZW50OiAnYXR0cihkYXRhLXZhbHVlKSBcIiBcIicsXG4gICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgd2hpdGVTcGFjZTogJ3ByZSdcbiAgfSwgc3BhY2luZ1N0eWxlKVxufTtcbnZhciBpbnB1dFN0eWxlID0gZnVuY3Rpb24gaW5wdXRTdHlsZShpc0hpZGRlbikge1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdpbnB1dCcsXG4gICAgY29sb3I6ICdpbmhlcml0JyxcbiAgICBiYWNrZ3JvdW5kOiAwLFxuICAgIG9wYWNpdHk6IGlzSGlkZGVuID8gMCA6IDEsXG4gICAgd2lkdGg6ICcxMDAlJ1xuICB9LCBzcGFjaW5nU3R5bGUpO1xufTtcbnZhciBJbnB1dCA9IGZ1bmN0aW9uIElucHV0KHByb3BzKSB7XG4gIHZhciBjeCA9IHByb3BzLmN4LFxuICAgIHZhbHVlID0gcHJvcHMudmFsdWU7XG4gIHZhciBfY2xlYW5Db21tb25Qcm9wcyA9IGNsZWFuQ29tbW9uUHJvcHMocHJvcHMpLFxuICAgIGlubmVyUmVmID0gX2NsZWFuQ29tbW9uUHJvcHMuaW5uZXJSZWYsXG4gICAgaXNEaXNhYmxlZCA9IF9jbGVhbkNvbW1vblByb3BzLmlzRGlzYWJsZWQsXG4gICAgaXNIaWRkZW4gPSBfY2xlYW5Db21tb25Qcm9wcy5pc0hpZGRlbixcbiAgICBpbnB1dENsYXNzTmFtZSA9IF9jbGVhbkNvbW1vblByb3BzLmlucHV0Q2xhc3NOYW1lLFxuICAgIGlubmVyUHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX2NsZWFuQ29tbW9uUHJvcHMsIF9leGNsdWRlZCk7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdpbnB1dCcsIHtcbiAgICAnaW5wdXQtY29udGFpbmVyJzogdHJ1ZVxuICB9KSwge1xuICAgIFwiZGF0YS12YWx1ZVwiOiB2YWx1ZSB8fCAnJ1xuICB9KSwganN4KFwiaW5wdXRcIiwgX2V4dGVuZHMoe1xuICAgIGNsYXNzTmFtZTogY3goe1xuICAgICAgaW5wdXQ6IHRydWVcbiAgICB9LCBpbnB1dENsYXNzTmFtZSksXG4gICAgcmVmOiBpbm5lclJlZixcbiAgICBzdHlsZTogaW5wdXRTdHlsZShpc0hpZGRlbiksXG4gICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWRcbiAgfSwgaW5uZXJQcm9wcykpKTtcbn07XG52YXIgSW5wdXQkMSA9IElucHV0O1xuXG52YXIgbXVsdGlWYWx1ZUNTUyA9IGZ1bmN0aW9uIG11bHRpVmFsdWVDU1MoX3JlZiwgdW5zdHlsZWQpIHtcbiAgdmFyIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmcsXG4gICAgYm9yZGVyUmFkaXVzID0gX3JlZiR0aGVtZS5ib3JkZXJSYWRpdXMsXG4gICAgY29sb3JzID0gX3JlZiR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ211bHRpVmFsdWUnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBtaW5XaWR0aDogMFxuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLm5ldXRyYWwxMCxcbiAgICBib3JkZXJSYWRpdXM6IGJvcmRlclJhZGl1cyAvIDIsXG4gICAgbWFyZ2luOiBzcGFjaW5nLmJhc2VVbml0IC8gMlxuICB9KTtcbn07XG52YXIgbXVsdGlWYWx1ZUxhYmVsQ1NTID0gZnVuY3Rpb24gbXVsdGlWYWx1ZUxhYmVsQ1NTKF9yZWYyLCB1bnN0eWxlZCkge1xuICB2YXIgX3JlZjIkdGhlbWUgPSBfcmVmMi50aGVtZSxcbiAgICBib3JkZXJSYWRpdXMgPSBfcmVmMiR0aGVtZS5ib3JkZXJSYWRpdXMsXG4gICAgY29sb3JzID0gX3JlZjIkdGhlbWUuY29sb3JzLFxuICAgIGNyb3BXaXRoRWxsaXBzaXMgPSBfcmVmMi5jcm9wV2l0aEVsbGlwc2lzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHRleHRPdmVyZmxvdzogY3JvcFdpdGhFbGxpcHNpcyB8fCBjcm9wV2l0aEVsbGlwc2lzID09PSB1bmRlZmluZWQgPyAnZWxsaXBzaXMnIDogdW5kZWZpbmVkLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgYm9yZGVyUmFkaXVzOiBib3JkZXJSYWRpdXMgLyAyLFxuICAgIGNvbG9yOiBjb2xvcnMubmV1dHJhbDgwLFxuICAgIGZvbnRTaXplOiAnODUlJyxcbiAgICBwYWRkaW5nOiAzLFxuICAgIHBhZGRpbmdMZWZ0OiA2XG4gIH0pO1xufTtcbnZhciBtdWx0aVZhbHVlUmVtb3ZlQ1NTID0gZnVuY3Rpb24gbXVsdGlWYWx1ZVJlbW92ZUNTUyhfcmVmMywgdW5zdHlsZWQpIHtcbiAgdmFyIF9yZWYzJHRoZW1lID0gX3JlZjMudGhlbWUsXG4gICAgc3BhY2luZyA9IF9yZWYzJHRoZW1lLnNwYWNpbmcsXG4gICAgYm9yZGVyUmFkaXVzID0gX3JlZjMkdGhlbWUuYm9yZGVyUmFkaXVzLFxuICAgIGNvbG9ycyA9IF9yZWYzJHRoZW1lLmNvbG9ycyxcbiAgICBpc0ZvY3VzZWQgPSBfcmVmMy5pc0ZvY3VzZWQ7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBkaXNwbGF5OiAnZmxleCdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBib3JkZXJSYWRpdXM6IGJvcmRlclJhZGl1cyAvIDIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMuZGFuZ2VyTGlnaHQgOiB1bmRlZmluZWQsXG4gICAgcGFkZGluZ0xlZnQ6IHNwYWNpbmcuYmFzZVVuaXQsXG4gICAgcGFkZGluZ1JpZ2h0OiBzcGFjaW5nLmJhc2VVbml0LFxuICAgICc6aG92ZXInOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5kYW5nZXJMaWdodCxcbiAgICAgIGNvbG9yOiBjb2xvcnMuZGFuZ2VyXG4gICAgfVxuICB9KTtcbn07XG52YXIgTXVsdGlWYWx1ZUdlbmVyaWMgPSBmdW5jdGlvbiBNdWx0aVZhbHVlR2VuZXJpYyhfcmVmNCkge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmNC5jaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gX3JlZjQuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBpbm5lclByb3BzLCBjaGlsZHJlbik7XG59O1xudmFyIE11bHRpVmFsdWVDb250YWluZXIgPSBNdWx0aVZhbHVlR2VuZXJpYztcbnZhciBNdWx0aVZhbHVlTGFiZWwgPSBNdWx0aVZhbHVlR2VuZXJpYztcbmZ1bmN0aW9uIE11bHRpVmFsdWVSZW1vdmUoX3JlZjUpIHtcbiAgdmFyIGNoaWxkcmVuID0gX3JlZjUuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IF9yZWY1LmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIHJvbGU6IFwiYnV0dG9uXCJcbiAgfSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuIHx8IGpzeChDcm9zc0ljb24sIHtcbiAgICBzaXplOiAxNFxuICB9KSk7XG59XG52YXIgTXVsdGlWYWx1ZSA9IGZ1bmN0aW9uIE11bHRpVmFsdWUocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgY29tcG9uZW50cyA9IHByb3BzLmNvbXBvbmVudHMsXG4gICAgZGF0YSA9IHByb3BzLmRhdGEsXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHMsXG4gICAgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQsXG4gICAgcmVtb3ZlUHJvcHMgPSBwcm9wcy5yZW1vdmVQcm9wcyxcbiAgICBzZWxlY3RQcm9wcyA9IHByb3BzLnNlbGVjdFByb3BzO1xuICB2YXIgQ29udGFpbmVyID0gY29tcG9uZW50cy5Db250YWluZXIsXG4gICAgTGFiZWwgPSBjb21wb25lbnRzLkxhYmVsLFxuICAgIFJlbW92ZSA9IGNvbXBvbmVudHMuUmVtb3ZlO1xuICByZXR1cm4ganN4KENvbnRhaW5lciwge1xuICAgIGRhdGE6IGRhdGEsXG4gICAgaW5uZXJQcm9wczogX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnbXVsdGlWYWx1ZScsIHtcbiAgICAgICdtdWx0aS12YWx1ZSc6IHRydWUsXG4gICAgICAnbXVsdGktdmFsdWUtLWlzLWRpc2FibGVkJzogaXNEaXNhYmxlZFxuICAgIH0pKSwgaW5uZXJQcm9wcyksXG4gICAgc2VsZWN0UHJvcHM6IHNlbGVjdFByb3BzXG4gIH0sIGpzeChMYWJlbCwge1xuICAgIGRhdGE6IGRhdGEsXG4gICAgaW5uZXJQcm9wczogX29iamVjdFNwcmVhZCh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ211bHRpVmFsdWVMYWJlbCcsIHtcbiAgICAgICdtdWx0aS12YWx1ZV9fbGFiZWwnOiB0cnVlXG4gICAgfSkpLFxuICAgIHNlbGVjdFByb3BzOiBzZWxlY3RQcm9wc1xuICB9LCBjaGlsZHJlbiksIGpzeChSZW1vdmUsIHtcbiAgICBkYXRhOiBkYXRhLFxuICAgIGlubmVyUHJvcHM6IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ211bHRpVmFsdWVSZW1vdmUnLCB7XG4gICAgICAnbXVsdGktdmFsdWVfX3JlbW92ZSc6IHRydWVcbiAgICB9KSksIHt9LCB7XG4gICAgICAnYXJpYS1sYWJlbCc6IFwiUmVtb3ZlIFwiLmNvbmNhdChjaGlsZHJlbiB8fCAnb3B0aW9uJylcbiAgICB9LCByZW1vdmVQcm9wcyksXG4gICAgc2VsZWN0UHJvcHM6IHNlbGVjdFByb3BzXG4gIH0pKTtcbn07XG52YXIgTXVsdGlWYWx1ZSQxID0gTXVsdGlWYWx1ZTtcblxudmFyIG9wdGlvbkNTUyA9IGZ1bmN0aW9uIG9wdGlvbkNTUyhfcmVmLCB1bnN0eWxlZCkge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9yZWYuaXNEaXNhYmxlZCxcbiAgICBpc0ZvY3VzZWQgPSBfcmVmLmlzRm9jdXNlZCxcbiAgICBpc1NlbGVjdGVkID0gX3JlZi5pc1NlbGVjdGVkLFxuICAgIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmcsXG4gICAgY29sb3JzID0gX3JlZiR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ29wdGlvbicsXG4gICAgY3Vyc29yOiAnZGVmYXVsdCcsXG4gICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgdXNlclNlbGVjdDogJ25vbmUnLFxuICAgIFdlYmtpdFRhcEhpZ2hsaWdodENvbG9yOiAncmdiYSgwLCAwLCAwLCAwKSdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzU2VsZWN0ZWQgPyBjb2xvcnMucHJpbWFyeSA6IGlzRm9jdXNlZCA/IGNvbG9ycy5wcmltYXJ5MjUgOiAndHJhbnNwYXJlbnQnLFxuICAgIGNvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwyMCA6IGlzU2VsZWN0ZWQgPyBjb2xvcnMubmV1dHJhbDAgOiAnaW5oZXJpdCcsXG4gICAgcGFkZGluZzogXCJcIi5jb25jYXQoc3BhY2luZy5iYXNlVW5pdCAqIDIsIFwicHggXCIpLmNvbmNhdChzcGFjaW5nLmJhc2VVbml0ICogMywgXCJweFwiKSxcbiAgICAvLyBwcm92aWRlIHNvbWUgYWZmb3JkYW5jZSBvbiB0b3VjaCBkZXZpY2VzXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICFpc0Rpc2FibGVkID8gaXNTZWxlY3RlZCA/IGNvbG9ycy5wcmltYXJ5IDogY29sb3JzLnByaW1hcnk1MCA6IHVuZGVmaW5lZFxuICAgIH1cbiAgfSk7XG59O1xudmFyIE9wdGlvbiA9IGZ1bmN0aW9uIE9wdGlvbihwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpc0ZvY3VzZWQgPSBwcm9wcy5pc0ZvY3VzZWQsXG4gICAgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQsXG4gICAgaW5uZXJSZWYgPSBwcm9wcy5pbm5lclJlZixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ29wdGlvbicsIHtcbiAgICBvcHRpb246IHRydWUsXG4gICAgJ29wdGlvbi0taXMtZGlzYWJsZWQnOiBpc0Rpc2FibGVkLFxuICAgICdvcHRpb24tLWlzLWZvY3VzZWQnOiBpc0ZvY3VzZWQsXG4gICAgJ29wdGlvbi0taXMtc2VsZWN0ZWQnOiBpc1NlbGVjdGVkXG4gIH0pLCB7XG4gICAgcmVmOiBpbm5lclJlZixcbiAgICBcImFyaWEtZGlzYWJsZWRcIjogaXNEaXNhYmxlZFxuICB9LCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcbnZhciBPcHRpb24kMSA9IE9wdGlvbjtcblxudmFyIHBsYWNlaG9sZGVyQ1NTID0gZnVuY3Rpb24gcGxhY2Vob2xkZXJDU1MoX3JlZiwgdW5zdHlsZWQpIHtcbiAgdmFyIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmcsXG4gICAgY29sb3JzID0gX3JlZiR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ3BsYWNlaG9sZGVyJyxcbiAgICBncmlkQXJlYTogJzEgLyAxIC8gMiAvIDMnXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgY29sb3I6IGNvbG9ycy5uZXV0cmFsNTAsXG4gICAgbWFyZ2luTGVmdDogc3BhY2luZy5iYXNlVW5pdCAvIDIsXG4gICAgbWFyZ2luUmlnaHQ6IHNwYWNpbmcuYmFzZVVuaXQgLyAyXG4gIH0pO1xufTtcbnZhciBQbGFjZWhvbGRlciA9IGZ1bmN0aW9uIFBsYWNlaG9sZGVyKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAncGxhY2Vob2xkZXInLCB7XG4gICAgcGxhY2Vob2xkZXI6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xudmFyIFBsYWNlaG9sZGVyJDEgPSBQbGFjZWhvbGRlcjtcblxudmFyIGNzcyA9IGZ1bmN0aW9uIGNzcyhfcmVmLCB1bnN0eWxlZCkge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9yZWYuaXNEaXNhYmxlZCxcbiAgICBfcmVmJHRoZW1lID0gX3JlZi50aGVtZSxcbiAgICBzcGFjaW5nID0gX3JlZiR0aGVtZS5zcGFjaW5nLFxuICAgIGNvbG9ycyA9IF9yZWYkdGhlbWUuY29sb3JzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdzaW5nbGVWYWx1ZScsXG4gICAgZ3JpZEFyZWE6ICcxIC8gMSAvIDIgLyAzJyxcbiAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBjb2xvcjogaXNEaXNhYmxlZCA/IGNvbG9ycy5uZXV0cmFsNDAgOiBjb2xvcnMubmV1dHJhbDgwLFxuICAgIG1hcmdpbkxlZnQ6IHNwYWNpbmcuYmFzZVVuaXQgLyAyLFxuICAgIG1hcmdpblJpZ2h0OiBzcGFjaW5nLmJhc2VVbml0IC8gMlxuICB9KTtcbn07XG52YXIgU2luZ2xlVmFsdWUgPSBmdW5jdGlvbiBTaW5nbGVWYWx1ZShwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ3NpbmdsZVZhbHVlJywge1xuICAgICdzaW5nbGUtdmFsdWUnOiB0cnVlLFxuICAgICdzaW5nbGUtdmFsdWUtLWlzLWRpc2FibGVkJzogaXNEaXNhYmxlZFxuICB9KSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG52YXIgU2luZ2xlVmFsdWUkMSA9IFNpbmdsZVZhbHVlO1xuXG52YXIgY29tcG9uZW50cyA9IHtcbiAgQ2xlYXJJbmRpY2F0b3I6IENsZWFySW5kaWNhdG9yLFxuICBDb250cm9sOiBDb250cm9sJDEsXG4gIERyb3Bkb3duSW5kaWNhdG9yOiBEcm9wZG93bkluZGljYXRvcixcbiAgRG93bkNoZXZyb246IERvd25DaGV2cm9uLFxuICBDcm9zc0ljb246IENyb3NzSWNvbixcbiAgR3JvdXA6IEdyb3VwJDEsXG4gIEdyb3VwSGVhZGluZzogR3JvdXBIZWFkaW5nLFxuICBJbmRpY2F0b3JzQ29udGFpbmVyOiBJbmRpY2F0b3JzQ29udGFpbmVyLFxuICBJbmRpY2F0b3JTZXBhcmF0b3I6IEluZGljYXRvclNlcGFyYXRvcixcbiAgSW5wdXQ6IElucHV0JDEsXG4gIExvYWRpbmdJbmRpY2F0b3I6IExvYWRpbmdJbmRpY2F0b3IsXG4gIE1lbnU6IE1lbnUkMSxcbiAgTWVudUxpc3Q6IE1lbnVMaXN0LFxuICBNZW51UG9ydGFsOiBNZW51UG9ydGFsLFxuICBMb2FkaW5nTWVzc2FnZTogTG9hZGluZ01lc3NhZ2UsXG4gIE5vT3B0aW9uc01lc3NhZ2U6IE5vT3B0aW9uc01lc3NhZ2UsXG4gIE11bHRpVmFsdWU6IE11bHRpVmFsdWUkMSxcbiAgTXVsdGlWYWx1ZUNvbnRhaW5lcjogTXVsdGlWYWx1ZUNvbnRhaW5lcixcbiAgTXVsdGlWYWx1ZUxhYmVsOiBNdWx0aVZhbHVlTGFiZWwsXG4gIE11bHRpVmFsdWVSZW1vdmU6IE11bHRpVmFsdWVSZW1vdmUsXG4gIE9wdGlvbjogT3B0aW9uJDEsXG4gIFBsYWNlaG9sZGVyOiBQbGFjZWhvbGRlciQxLFxuICBTZWxlY3RDb250YWluZXI6IFNlbGVjdENvbnRhaW5lcixcbiAgU2luZ2xlVmFsdWU6IFNpbmdsZVZhbHVlJDEsXG4gIFZhbHVlQ29udGFpbmVyOiBWYWx1ZUNvbnRhaW5lclxufTtcbnZhciBkZWZhdWx0Q29tcG9uZW50cyA9IGZ1bmN0aW9uIGRlZmF1bHRDb21wb25lbnRzKHByb3BzKSB7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIGNvbXBvbmVudHMpLCBwcm9wcy5jb21wb25lbnRzKTtcbn07XG5cbmV4cG9ydCB7IGlzTW9iaWxlRGV2aWNlIGFzIEEsIG11bHRpVmFsdWVBc1ZhbHVlIGFzIEIsIHNpbmdsZVZhbHVlQXNWYWx1ZSBhcyBDLCB2YWx1ZVRlcm5hcnkgYXMgRCwgY2xhc3NOYW1lcyBhcyBFLCBkZWZhdWx0Q29tcG9uZW50cyBhcyBGLCBpc0RvY3VtZW50RWxlbWVudCBhcyBHLCBjbGVhblZhbHVlIGFzIEgsIHNjcm9sbEludG9WaWV3IGFzIEksIG5vb3AgYXMgSiwgbm90TnVsbGlzaCBhcyBLLCBoYW5kbGVJbnB1dENoYW5nZSBhcyBMLCBNZW51UGxhY2VyIGFzIE0sIGNsZWFySW5kaWNhdG9yQ1NTIGFzIGEsIGNvbnRhaW5lckNTUyBhcyBiLCBjb21wb25lbnRzIGFzIGMsIGNzcyQxIGFzIGQsIGRyb3Bkb3duSW5kaWNhdG9yQ1NTIGFzIGUsIGdyb3VwSGVhZGluZ0NTUyBhcyBmLCBncm91cENTUyBhcyBnLCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgYXMgaCwgaW5kaWNhdG9yc0NvbnRhaW5lckNTUyBhcyBpLCBpbnB1dENTUyBhcyBqLCBsb2FkaW5nTWVzc2FnZUNTUyBhcyBrLCBsb2FkaW5nSW5kaWNhdG9yQ1NTIGFzIGwsIG1lbnVDU1MgYXMgbSwgbWVudUxpc3RDU1MgYXMgbiwgbWVudVBvcnRhbENTUyBhcyBvLCBtdWx0aVZhbHVlQ1NTIGFzIHAsIG11bHRpVmFsdWVMYWJlbENTUyBhcyBxLCByZW1vdmVQcm9wcyBhcyByLCBzdXBwb3J0c1Bhc3NpdmVFdmVudHMgYXMgcywgbXVsdGlWYWx1ZVJlbW92ZUNTUyBhcyB0LCBub09wdGlvbnNNZXNzYWdlQ1NTIGFzIHUsIG9wdGlvbkNTUyBhcyB2LCBwbGFjZWhvbGRlckNTUyBhcyB3LCBjc3MgYXMgeCwgdmFsdWVDb250YWluZXJDU1MgYXMgeSwgaXNUb3VjaENhcGFibGUgYXMgeiB9O1xuIiwgInZhciBzYWZlSXNOYU4gPSBOdW1iZXIuaXNOYU4gfHxcbiAgICBmdW5jdGlvbiBwb255ZmlsbCh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gdmFsdWU7XG4gICAgfTtcbmZ1bmN0aW9uIGlzRXF1YWwoZmlyc3QsIHNlY29uZCkge1xuICAgIGlmIChmaXJzdCA9PT0gc2Vjb25kKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoc2FmZUlzTmFOKGZpcnN0KSAmJiBzYWZlSXNOYU4oc2Vjb25kKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gYXJlSW5wdXRzRXF1YWwobmV3SW5wdXRzLCBsYXN0SW5wdXRzKSB7XG4gICAgaWYgKG5ld0lucHV0cy5sZW5ndGggIT09IGxhc3RJbnB1dHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdJbnB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKCFpc0VxdWFsKG5ld0lucHV0c1tpXSwgbGFzdElucHV0c1tpXSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbWVtb2l6ZU9uZShyZXN1bHRGbiwgaXNFcXVhbCkge1xuICAgIGlmIChpc0VxdWFsID09PSB2b2lkIDApIHsgaXNFcXVhbCA9IGFyZUlucHV0c0VxdWFsOyB9XG4gICAgdmFyIGNhY2hlID0gbnVsbDtcbiAgICBmdW5jdGlvbiBtZW1vaXplZCgpIHtcbiAgICAgICAgdmFyIG5ld0FyZ3MgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIG5ld0FyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FjaGUgJiYgY2FjaGUubGFzdFRoaXMgPT09IHRoaXMgJiYgaXNFcXVhbChuZXdBcmdzLCBjYWNoZS5sYXN0QXJncykpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWNoZS5sYXN0UmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHZhciBsYXN0UmVzdWx0ID0gcmVzdWx0Rm4uYXBwbHkodGhpcywgbmV3QXJncyk7XG4gICAgICAgIGNhY2hlID0ge1xuICAgICAgICAgICAgbGFzdFJlc3VsdDogbGFzdFJlc3VsdCxcbiAgICAgICAgICAgIGxhc3RBcmdzOiBuZXdBcmdzLFxuICAgICAgICAgICAgbGFzdFRoaXM6IHRoaXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgIH1cbiAgICBtZW1vaXplZC5jbGVhciA9IGZ1bmN0aW9uIGNsZWFyKCkge1xuICAgICAgICBjYWNoZSA9IG51bGw7XG4gICAgfTtcbiAgICByZXR1cm4gbWVtb2l6ZWQ7XG59XG5cbmV4cG9ydCB7IG1lbW9pemVPbmUgYXMgZGVmYXVsdCB9O1xuIiwgImltcG9ydCBfZXh0ZW5kcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzJztcbmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDInO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jbGFzc0NhbGxDaGVjayc7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzJztcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaW5oZXJpdHMnO1xuaW1wb3J0IF9jcmVhdGVTdXBlciBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jcmVhdGVTdXBlcic7XG5pbXBvcnQgX3RvQ29uc3VtYWJsZUFycmF5IGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW8sIEZyYWdtZW50LCB1c2VSZWYsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHIgYXMgcmVtb3ZlUHJvcHMsIHMgYXMgc3VwcG9ydHNQYXNzaXZlRXZlbnRzLCBhIGFzIGNsZWFySW5kaWNhdG9yQ1NTLCBiIGFzIGNvbnRhaW5lckNTUywgZCBhcyBjc3MkMSwgZSBhcyBkcm9wZG93bkluZGljYXRvckNTUywgZyBhcyBncm91cENTUywgZiBhcyBncm91cEhlYWRpbmdDU1MsIGkgYXMgaW5kaWNhdG9yc0NvbnRhaW5lckNTUywgaCBhcyBpbmRpY2F0b3JTZXBhcmF0b3JDU1MsIGogYXMgaW5wdXRDU1MsIGwgYXMgbG9hZGluZ0luZGljYXRvckNTUywgayBhcyBsb2FkaW5nTWVzc2FnZUNTUywgbSBhcyBtZW51Q1NTLCBuIGFzIG1lbnVMaXN0Q1NTLCBvIGFzIG1lbnVQb3J0YWxDU1MsIHAgYXMgbXVsdGlWYWx1ZUNTUywgcSBhcyBtdWx0aVZhbHVlTGFiZWxDU1MsIHQgYXMgbXVsdGlWYWx1ZVJlbW92ZUNTUywgdSBhcyBub09wdGlvbnNNZXNzYWdlQ1NTLCB2IGFzIG9wdGlvbkNTUywgdyBhcyBwbGFjZWhvbGRlckNTUywgeCBhcyBjc3MkMiwgeSBhcyB2YWx1ZUNvbnRhaW5lckNTUywgeiBhcyBpc1RvdWNoQ2FwYWJsZSwgQSBhcyBpc01vYmlsZURldmljZSwgQiBhcyBtdWx0aVZhbHVlQXNWYWx1ZSwgQyBhcyBzaW5nbGVWYWx1ZUFzVmFsdWUsIEQgYXMgdmFsdWVUZXJuYXJ5LCBFIGFzIGNsYXNzTmFtZXMsIEYgYXMgZGVmYXVsdENvbXBvbmVudHMsIEcgYXMgaXNEb2N1bWVudEVsZW1lbnQsIEggYXMgY2xlYW5WYWx1ZSwgSSBhcyBzY3JvbGxJbnRvVmlldywgSiBhcyBub29wLCBNIGFzIE1lbnVQbGFjZXIsIEsgYXMgbm90TnVsbGlzaCB9IGZyb20gJy4vaW5kZXgtYTMwMWY1MjYuZXNtLmpzJztcbmltcG9ydCB7IGpzeCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IG1lbW9pemVPbmUgZnJvbSAnbWVtb2l6ZS1vbmUnO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllcyc7XG5cbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fJDIoKSB7IHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjsgfVxuXG4vLyBBc3Npc3RpdmUgdGV4dCB0byBkZXNjcmliZSB2aXN1YWwgZWxlbWVudHMuIEhpZGRlbiBmb3Igc2lnaHRlZCB1c2Vycy5cbnZhciBfcmVmID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuICBuYW1lOiBcIjdwZzBjai1hMTF5VGV4dFwiLFxuICBzdHlsZXM6IFwibGFiZWw6YTExeVRleHQ7ei1pbmRleDo5OTk5O2JvcmRlcjowO2NsaXA6cmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO2hlaWdodDoxcHg7d2lkdGg6MXB4O3Bvc2l0aW9uOmFic29sdXRlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm93cmFwXCJcbn0gOiB7XG4gIG5hbWU6IFwiMWY0M2F2ei1hMTF5VGV4dC1BMTF5VGV4dFwiLFxuICBzdHlsZXM6IFwibGFiZWw6YTExeVRleHQ7ei1pbmRleDo5OTk5O2JvcmRlcjowO2NsaXA6cmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO2hlaWdodDoxcHg7d2lkdGg6MXB4O3Bvc2l0aW9uOmFic29sdXRlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm93cmFwO2xhYmVsOkExMXlUZXh0O1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtFeE1YbFVaWGgwTG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRk5TU0lzSW1acGJHVWlPaUpCTVRGNVZHVjRkQzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaW9nUUdwemVDQnFjM2dnS2k5Y2JtbHRjRzl5ZENCN0lHcHplQ0I5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibHh1THk4Z1FYTnphWE4wYVhabElIUmxlSFFnZEc4Z1pHVnpZM0pwWW1VZ2RtbHpkV0ZzSUdWc1pXMWxiblJ6TGlCSWFXUmtaVzRnWm05eUlITnBaMmgwWldRZ2RYTmxjbk11WEc1amIyNXpkQ0JCTVRGNVZHVjRkQ0E5SUNod2NtOXdjem9nU2xOWUxrbHVkSEpwYm5OcFkwVnNaVzFsYm5Seld5ZHpjR0Z1SjEwcElEMCtJQ2hjYmlBZ1BITndZVzVjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUd4aFltVnNPaUFuWVRFeGVWUmxlSFFuTEZ4dUlDQWdJQ0FnZWtsdVpHVjRPaUE1T1RrNUxGeHVJQ0FnSUNBZ1ltOXlaR1Z5T2lBd0xGeHVJQ0FnSUNBZ1kyeHBjRG9nSjNKbFkzUW9NWEI0TENBeGNIZ3NJREZ3ZUN3Z01YQjRLU2NzWEc0Z0lDQWdJQ0JvWldsbmFIUTZJREVzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dNU3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQWdJQ0FnYjNabGNtWnNiM2M2SUNkb2FXUmtaVzRuTEZ4dUlDQWdJQ0FnY0dGa1pHbHVaem9nTUN4Y2JpQWdJQ0FnSUhkb2FYUmxVM0JoWTJVNklDZHViM2R5WVhBbkxGeHVJQ0FnSUgxOVhHNGdJQ0FnZXk0dUxuQnliM0J6ZlZ4dUlDQXZQbHh1S1R0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1FURXhlVlJsZUhRN1hHNGlYWDA9ICovXCIsXG4gIHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXyQyXG59O1xudmFyIEExMXlUZXh0ID0gZnVuY3Rpb24gQTExeVRleHQocHJvcHMpIHtcbiAgcmV0dXJuIGpzeChcInNwYW5cIiwgX2V4dGVuZHMoe1xuICAgIGNzczogX3JlZlxuICB9LCBwcm9wcykpO1xufTtcbnZhciBBMTF5VGV4dCQxID0gQTExeVRleHQ7XG5cbnZhciBkZWZhdWx0QXJpYUxpdmVNZXNzYWdlcyA9IHtcbiAgZ3VpZGFuY2U6IGZ1bmN0aW9uIGd1aWRhbmNlKHByb3BzKSB7XG4gICAgdmFyIGlzU2VhcmNoYWJsZSA9IHByb3BzLmlzU2VhcmNoYWJsZSxcbiAgICAgIGlzTXVsdGkgPSBwcm9wcy5pc011bHRpLFxuICAgICAgdGFiU2VsZWN0c1ZhbHVlID0gcHJvcHMudGFiU2VsZWN0c1ZhbHVlLFxuICAgICAgY29udGV4dCA9IHByb3BzLmNvbnRleHQsXG4gICAgICBpc0luaXRpYWxGb2N1cyA9IHByb3BzLmlzSW5pdGlhbEZvY3VzO1xuICAgIHN3aXRjaCAoY29udGV4dCkge1xuICAgICAgY2FzZSAnbWVudSc6XG4gICAgICAgIHJldHVybiBcIlVzZSBVcCBhbmQgRG93biB0byBjaG9vc2Ugb3B0aW9ucywgcHJlc3MgRW50ZXIgdG8gc2VsZWN0IHRoZSBjdXJyZW50bHkgZm9jdXNlZCBvcHRpb24sIHByZXNzIEVzY2FwZSB0byBleGl0IHRoZSBtZW51XCIuY29uY2F0KHRhYlNlbGVjdHNWYWx1ZSA/ICcsIHByZXNzIFRhYiB0byBzZWxlY3QgdGhlIG9wdGlvbiBhbmQgZXhpdCB0aGUgbWVudScgOiAnJywgXCIuXCIpO1xuICAgICAgY2FzZSAnaW5wdXQnOlxuICAgICAgICByZXR1cm4gaXNJbml0aWFsRm9jdXMgPyBcIlwiLmNvbmNhdChwcm9wc1snYXJpYS1sYWJlbCddIHx8ICdTZWxlY3QnLCBcIiBpcyBmb2N1c2VkIFwiKS5jb25jYXQoaXNTZWFyY2hhYmxlID8gJyx0eXBlIHRvIHJlZmluZSBsaXN0JyA6ICcnLCBcIiwgcHJlc3MgRG93biB0byBvcGVuIHRoZSBtZW51LCBcIikuY29uY2F0KGlzTXVsdGkgPyAnIHByZXNzIGxlZnQgdG8gZm9jdXMgc2VsZWN0ZWQgdmFsdWVzJyA6ICcnKSA6ICcnO1xuICAgICAgY2FzZSAndmFsdWUnOlxuICAgICAgICByZXR1cm4gJ1VzZSBsZWZ0IGFuZCByaWdodCB0byB0b2dnbGUgYmV0d2VlbiBmb2N1c2VkIHZhbHVlcywgcHJlc3MgQmFja3NwYWNlIHRvIHJlbW92ZSB0aGUgY3VycmVudGx5IGZvY3VzZWQgdmFsdWUnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfSxcbiAgb25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHByb3BzKSB7XG4gICAgdmFyIGFjdGlvbiA9IHByb3BzLmFjdGlvbixcbiAgICAgIF9wcm9wcyRsYWJlbCA9IHByb3BzLmxhYmVsLFxuICAgICAgbGFiZWwgPSBfcHJvcHMkbGFiZWwgPT09IHZvaWQgMCA/ICcnIDogX3Byb3BzJGxhYmVsLFxuICAgICAgbGFiZWxzID0gcHJvcHMubGFiZWxzLFxuICAgICAgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQ7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2Rlc2VsZWN0LW9wdGlvbic6XG4gICAgICBjYXNlICdwb3AtdmFsdWUnOlxuICAgICAgY2FzZSAncmVtb3ZlLXZhbHVlJzpcbiAgICAgICAgcmV0dXJuIFwib3B0aW9uIFwiLmNvbmNhdChsYWJlbCwgXCIsIGRlc2VsZWN0ZWQuXCIpO1xuICAgICAgY2FzZSAnY2xlYXInOlxuICAgICAgICByZXR1cm4gJ0FsbCBzZWxlY3RlZCBvcHRpb25zIGhhdmUgYmVlbiBjbGVhcmVkLic7XG4gICAgICBjYXNlICdpbml0aWFsLWlucHV0LWZvY3VzJzpcbiAgICAgICAgcmV0dXJuIFwib3B0aW9uXCIuY29uY2F0KGxhYmVscy5sZW5ndGggPiAxID8gJ3MnIDogJycsIFwiIFwiKS5jb25jYXQobGFiZWxzLmpvaW4oJywnKSwgXCIsIHNlbGVjdGVkLlwiKTtcbiAgICAgIGNhc2UgJ3NlbGVjdC1vcHRpb24nOlxuICAgICAgICByZXR1cm4gaXNEaXNhYmxlZCA/IFwib3B0aW9uIFwiLmNvbmNhdChsYWJlbCwgXCIgaXMgZGlzYWJsZWQuIFNlbGVjdCBhbm90aGVyIG9wdGlvbi5cIikgOiBcIm9wdGlvbiBcIi5jb25jYXQobGFiZWwsIFwiLCBzZWxlY3RlZC5cIik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9LFxuICBvbkZvY3VzOiBmdW5jdGlvbiBvbkZvY3VzKHByb3BzKSB7XG4gICAgdmFyIGNvbnRleHQgPSBwcm9wcy5jb250ZXh0LFxuICAgICAgZm9jdXNlZCA9IHByb3BzLmZvY3VzZWQsXG4gICAgICBvcHRpb25zID0gcHJvcHMub3B0aW9ucyxcbiAgICAgIF9wcm9wcyRsYWJlbDIgPSBwcm9wcy5sYWJlbCxcbiAgICAgIGxhYmVsID0gX3Byb3BzJGxhYmVsMiA9PT0gdm9pZCAwID8gJycgOiBfcHJvcHMkbGFiZWwyLFxuICAgICAgc2VsZWN0VmFsdWUgPSBwcm9wcy5zZWxlY3RWYWx1ZSxcbiAgICAgIGlzRGlzYWJsZWQgPSBwcm9wcy5pc0Rpc2FibGVkLFxuICAgICAgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQsXG4gICAgICBpc0FwcGxlRGV2aWNlID0gcHJvcHMuaXNBcHBsZURldmljZTtcbiAgICB2YXIgZ2V0QXJyYXlJbmRleCA9IGZ1bmN0aW9uIGdldEFycmF5SW5kZXgoYXJyLCBpdGVtKSB7XG4gICAgICByZXR1cm4gYXJyICYmIGFyci5sZW5ndGggPyBcIlwiLmNvbmNhdChhcnIuaW5kZXhPZihpdGVtKSArIDEsIFwiIG9mIFwiKS5jb25jYXQoYXJyLmxlbmd0aCkgOiAnJztcbiAgICB9O1xuICAgIGlmIChjb250ZXh0ID09PSAndmFsdWUnICYmIHNlbGVjdFZhbHVlKSB7XG4gICAgICByZXR1cm4gXCJ2YWx1ZSBcIi5jb25jYXQobGFiZWwsIFwiIGZvY3VzZWQsIFwiKS5jb25jYXQoZ2V0QXJyYXlJbmRleChzZWxlY3RWYWx1ZSwgZm9jdXNlZCksIFwiLlwiKTtcbiAgICB9XG4gICAgaWYgKGNvbnRleHQgPT09ICdtZW51JyAmJiBpc0FwcGxlRGV2aWNlKSB7XG4gICAgICB2YXIgZGlzYWJsZWQgPSBpc0Rpc2FibGVkID8gJyBkaXNhYmxlZCcgOiAnJztcbiAgICAgIHZhciBzdGF0dXMgPSBcIlwiLmNvbmNhdChpc1NlbGVjdGVkID8gJyBzZWxlY3RlZCcgOiAnJykuY29uY2F0KGRpc2FibGVkKTtcbiAgICAgIHJldHVybiBcIlwiLmNvbmNhdChsYWJlbCkuY29uY2F0KHN0YXR1cywgXCIsIFwiKS5jb25jYXQoZ2V0QXJyYXlJbmRleChvcHRpb25zLCBmb2N1c2VkKSwgXCIuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH0sXG4gIG9uRmlsdGVyOiBmdW5jdGlvbiBvbkZpbHRlcihwcm9wcykge1xuICAgIHZhciBpbnB1dFZhbHVlID0gcHJvcHMuaW5wdXRWYWx1ZSxcbiAgICAgIHJlc3VsdHNNZXNzYWdlID0gcHJvcHMucmVzdWx0c01lc3NhZ2U7XG4gICAgcmV0dXJuIFwiXCIuY29uY2F0KHJlc3VsdHNNZXNzYWdlKS5jb25jYXQoaW5wdXRWYWx1ZSA/ICcgZm9yIHNlYXJjaCB0ZXJtICcgKyBpbnB1dFZhbHVlIDogJycsIFwiLlwiKTtcbiAgfVxufTtcblxudmFyIExpdmVSZWdpb24gPSBmdW5jdGlvbiBMaXZlUmVnaW9uKHByb3BzKSB7XG4gIHZhciBhcmlhU2VsZWN0aW9uID0gcHJvcHMuYXJpYVNlbGVjdGlvbixcbiAgICBmb2N1c2VkT3B0aW9uID0gcHJvcHMuZm9jdXNlZE9wdGlvbixcbiAgICBmb2N1c2VkVmFsdWUgPSBwcm9wcy5mb2N1c2VkVmFsdWUsXG4gICAgZm9jdXNhYmxlT3B0aW9ucyA9IHByb3BzLmZvY3VzYWJsZU9wdGlvbnMsXG4gICAgaXNGb2N1c2VkID0gcHJvcHMuaXNGb2N1c2VkLFxuICAgIHNlbGVjdFZhbHVlID0gcHJvcHMuc2VsZWN0VmFsdWUsXG4gICAgc2VsZWN0UHJvcHMgPSBwcm9wcy5zZWxlY3RQcm9wcyxcbiAgICBpZCA9IHByb3BzLmlkLFxuICAgIGlzQXBwbGVEZXZpY2UgPSBwcm9wcy5pc0FwcGxlRGV2aWNlO1xuICB2YXIgYXJpYUxpdmVNZXNzYWdlcyA9IHNlbGVjdFByb3BzLmFyaWFMaXZlTWVzc2FnZXMsXG4gICAgZ2V0T3B0aW9uTGFiZWwgPSBzZWxlY3RQcm9wcy5nZXRPcHRpb25MYWJlbCxcbiAgICBpbnB1dFZhbHVlID0gc2VsZWN0UHJvcHMuaW5wdXRWYWx1ZSxcbiAgICBpc011bHRpID0gc2VsZWN0UHJvcHMuaXNNdWx0aSxcbiAgICBpc09wdGlvbkRpc2FibGVkID0gc2VsZWN0UHJvcHMuaXNPcHRpb25EaXNhYmxlZCxcbiAgICBpc1NlYXJjaGFibGUgPSBzZWxlY3RQcm9wcy5pc1NlYXJjaGFibGUsXG4gICAgbWVudUlzT3BlbiA9IHNlbGVjdFByb3BzLm1lbnVJc09wZW4sXG4gICAgb3B0aW9ucyA9IHNlbGVjdFByb3BzLm9wdGlvbnMsXG4gICAgc2NyZWVuUmVhZGVyU3RhdHVzID0gc2VsZWN0UHJvcHMuc2NyZWVuUmVhZGVyU3RhdHVzLFxuICAgIHRhYlNlbGVjdHNWYWx1ZSA9IHNlbGVjdFByb3BzLnRhYlNlbGVjdHNWYWx1ZSxcbiAgICBpc0xvYWRpbmcgPSBzZWxlY3RQcm9wcy5pc0xvYWRpbmc7XG4gIHZhciBhcmlhTGFiZWwgPSBzZWxlY3RQcm9wc1snYXJpYS1sYWJlbCddO1xuICB2YXIgYXJpYUxpdmUgPSBzZWxlY3RQcm9wc1snYXJpYS1saXZlJ107XG5cbiAgLy8gVXBkYXRlIGFyaWEgbGl2ZSBtZXNzYWdlIGNvbmZpZ3VyYXRpb24gd2hlbiBwcm9wIGNoYW5nZXNcbiAgdmFyIG1lc3NhZ2VzID0gdXNlTWVtbyhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgZGVmYXVsdEFyaWFMaXZlTWVzc2FnZXMpLCBhcmlhTGl2ZU1lc3NhZ2VzIHx8IHt9KTtcbiAgfSwgW2FyaWFMaXZlTWVzc2FnZXNdKTtcblxuICAvLyBVcGRhdGUgYXJpYSBsaXZlIHNlbGVjdGVkIG9wdGlvbiB3aGVuIHByb3AgY2hhbmdlc1xuICB2YXIgYXJpYVNlbGVjdGVkID0gdXNlTWVtbyhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG1lc3NhZ2UgPSAnJztcbiAgICBpZiAoYXJpYVNlbGVjdGlvbiAmJiBtZXNzYWdlcy5vbkNoYW5nZSkge1xuICAgICAgdmFyIG9wdGlvbiA9IGFyaWFTZWxlY3Rpb24ub3B0aW9uLFxuICAgICAgICBzZWxlY3RlZE9wdGlvbnMgPSBhcmlhU2VsZWN0aW9uLm9wdGlvbnMsXG4gICAgICAgIHJlbW92ZWRWYWx1ZSA9IGFyaWFTZWxlY3Rpb24ucmVtb3ZlZFZhbHVlLFxuICAgICAgICByZW1vdmVkVmFsdWVzID0gYXJpYVNlbGVjdGlvbi5yZW1vdmVkVmFsdWVzLFxuICAgICAgICB2YWx1ZSA9IGFyaWFTZWxlY3Rpb24udmFsdWU7XG4gICAgICAvLyBzZWxlY3Qtb3B0aW9uIHdoZW4gIWlzTXVsdGkgZG9lcyBub3QgcmV0dXJuIG9wdGlvbiBzbyB3ZSBhc3N1bWUgc2VsZWN0ZWQgb3B0aW9uIGlzIHZhbHVlXG4gICAgICB2YXIgYXNPcHRpb24gPSBmdW5jdGlvbiBhc09wdGlvbih2YWwpIHtcbiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KHZhbCkgPyB2YWwgOiBudWxsO1xuICAgICAgfTtcblxuICAgICAgLy8gSWYgdGhlcmUgaXMganVzdCBvbmUgaXRlbSBmcm9tIHRoZSBhY3Rpb24gdGhlbiBnZXQgaXRzIGxhYmVsXG4gICAgICB2YXIgc2VsZWN0ZWQgPSByZW1vdmVkVmFsdWUgfHwgb3B0aW9uIHx8IGFzT3B0aW9uKHZhbHVlKTtcbiAgICAgIHZhciBsYWJlbCA9IHNlbGVjdGVkID8gZ2V0T3B0aW9uTGFiZWwoc2VsZWN0ZWQpIDogJyc7XG5cbiAgICAgIC8vIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBpdGVtcyBmcm9tIHRoZSBhY3Rpb24gdGhlbiByZXR1cm4gYW4gYXJyYXkgb2YgbGFiZWxzXG4gICAgICB2YXIgbXVsdGlTZWxlY3RlZCA9IHNlbGVjdGVkT3B0aW9ucyB8fCByZW1vdmVkVmFsdWVzIHx8IHVuZGVmaW5lZDtcbiAgICAgIHZhciBsYWJlbHMgPSBtdWx0aVNlbGVjdGVkID8gbXVsdGlTZWxlY3RlZC5tYXAoZ2V0T3B0aW9uTGFiZWwpIDogW107XG4gICAgICB2YXIgb25DaGFuZ2VQcm9wcyA9IF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAvLyBtdWx0aVNlbGVjdGVkIGl0ZW1zIGFyZSB1c3VhbGx5IGl0ZW1zIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gc2VsZWN0ZWRcbiAgICAgICAgLy8gb3Igc2V0IGJ5IHRoZSB1c2VyIGFzIGEgZGVmYXVsdCB2YWx1ZSBzbyB3ZSBhc3N1bWUgdGhleSBhcmUgbm90IGRpc2FibGVkXG4gICAgICAgIGlzRGlzYWJsZWQ6IHNlbGVjdGVkICYmIGlzT3B0aW9uRGlzYWJsZWQoc2VsZWN0ZWQsIHNlbGVjdFZhbHVlKSxcbiAgICAgICAgbGFiZWw6IGxhYmVsLFxuICAgICAgICBsYWJlbHM6IGxhYmVsc1xuICAgICAgfSwgYXJpYVNlbGVjdGlvbik7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZXMub25DaGFuZ2Uob25DaGFuZ2VQcm9wcyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LCBbYXJpYVNlbGVjdGlvbiwgbWVzc2FnZXMsIGlzT3B0aW9uRGlzYWJsZWQsIHNlbGVjdFZhbHVlLCBnZXRPcHRpb25MYWJlbF0pO1xuICB2YXIgYXJpYUZvY3VzZWQgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZm9jdXNNc2cgPSAnJztcbiAgICB2YXIgZm9jdXNlZCA9IGZvY3VzZWRPcHRpb24gfHwgZm9jdXNlZFZhbHVlO1xuICAgIHZhciBpc1NlbGVjdGVkID0gISEoZm9jdXNlZE9wdGlvbiAmJiBzZWxlY3RWYWx1ZSAmJiBzZWxlY3RWYWx1ZS5pbmNsdWRlcyhmb2N1c2VkT3B0aW9uKSk7XG4gICAgaWYgKGZvY3VzZWQgJiYgbWVzc2FnZXMub25Gb2N1cykge1xuICAgICAgdmFyIG9uRm9jdXNQcm9wcyA9IHtcbiAgICAgICAgZm9jdXNlZDogZm9jdXNlZCxcbiAgICAgICAgbGFiZWw6IGdldE9wdGlvbkxhYmVsKGZvY3VzZWQpLFxuICAgICAgICBpc0Rpc2FibGVkOiBpc09wdGlvbkRpc2FibGVkKGZvY3VzZWQsIHNlbGVjdFZhbHVlKSxcbiAgICAgICAgaXNTZWxlY3RlZDogaXNTZWxlY3RlZCxcbiAgICAgICAgb3B0aW9uczogZm9jdXNhYmxlT3B0aW9ucyxcbiAgICAgICAgY29udGV4dDogZm9jdXNlZCA9PT0gZm9jdXNlZE9wdGlvbiA/ICdtZW51JyA6ICd2YWx1ZScsXG4gICAgICAgIHNlbGVjdFZhbHVlOiBzZWxlY3RWYWx1ZSxcbiAgICAgICAgaXNBcHBsZURldmljZTogaXNBcHBsZURldmljZVxuICAgICAgfTtcbiAgICAgIGZvY3VzTXNnID0gbWVzc2FnZXMub25Gb2N1cyhvbkZvY3VzUHJvcHMpO1xuICAgIH1cbiAgICByZXR1cm4gZm9jdXNNc2c7XG4gIH0sIFtmb2N1c2VkT3B0aW9uLCBmb2N1c2VkVmFsdWUsIGdldE9wdGlvbkxhYmVsLCBpc09wdGlvbkRpc2FibGVkLCBtZXNzYWdlcywgZm9jdXNhYmxlT3B0aW9ucywgc2VsZWN0VmFsdWUsIGlzQXBwbGVEZXZpY2VdKTtcbiAgdmFyIGFyaWFSZXN1bHRzID0gdXNlTWVtbyhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHJlc3VsdHNNc2cgPSAnJztcbiAgICBpZiAobWVudUlzT3BlbiAmJiBvcHRpb25zLmxlbmd0aCAmJiAhaXNMb2FkaW5nICYmIG1lc3NhZ2VzLm9uRmlsdGVyKSB7XG4gICAgICB2YXIgcmVzdWx0c01lc3NhZ2UgPSBzY3JlZW5SZWFkZXJTdGF0dXMoe1xuICAgICAgICBjb3VudDogZm9jdXNhYmxlT3B0aW9ucy5sZW5ndGhcbiAgICAgIH0pO1xuICAgICAgcmVzdWx0c01zZyA9IG1lc3NhZ2VzLm9uRmlsdGVyKHtcbiAgICAgICAgaW5wdXRWYWx1ZTogaW5wdXRWYWx1ZSxcbiAgICAgICAgcmVzdWx0c01lc3NhZ2U6IHJlc3VsdHNNZXNzYWdlXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHNNc2c7XG4gIH0sIFtmb2N1c2FibGVPcHRpb25zLCBpbnB1dFZhbHVlLCBtZW51SXNPcGVuLCBtZXNzYWdlcywgb3B0aW9ucywgc2NyZWVuUmVhZGVyU3RhdHVzLCBpc0xvYWRpbmddKTtcbiAgdmFyIGlzSW5pdGlhbEZvY3VzID0gKGFyaWFTZWxlY3Rpb24gPT09IG51bGwgfHwgYXJpYVNlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYXJpYVNlbGVjdGlvbi5hY3Rpb24pID09PSAnaW5pdGlhbC1pbnB1dC1mb2N1cyc7XG4gIHZhciBhcmlhR3VpZGFuY2UgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZ3VpZGFuY2VNc2cgPSAnJztcbiAgICBpZiAobWVzc2FnZXMuZ3VpZGFuY2UpIHtcbiAgICAgIHZhciBjb250ZXh0ID0gZm9jdXNlZFZhbHVlID8gJ3ZhbHVlJyA6IG1lbnVJc09wZW4gPyAnbWVudScgOiAnaW5wdXQnO1xuICAgICAgZ3VpZGFuY2VNc2cgPSBtZXNzYWdlcy5ndWlkYW5jZSh7XG4gICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgICBpc0Rpc2FibGVkOiBmb2N1c2VkT3B0aW9uICYmIGlzT3B0aW9uRGlzYWJsZWQoZm9jdXNlZE9wdGlvbiwgc2VsZWN0VmFsdWUpLFxuICAgICAgICBpc011bHRpOiBpc011bHRpLFxuICAgICAgICBpc1NlYXJjaGFibGU6IGlzU2VhcmNoYWJsZSxcbiAgICAgICAgdGFiU2VsZWN0c1ZhbHVlOiB0YWJTZWxlY3RzVmFsdWUsXG4gICAgICAgIGlzSW5pdGlhbEZvY3VzOiBpc0luaXRpYWxGb2N1c1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBndWlkYW5jZU1zZztcbiAgfSwgW2FyaWFMYWJlbCwgZm9jdXNlZE9wdGlvbiwgZm9jdXNlZFZhbHVlLCBpc011bHRpLCBpc09wdGlvbkRpc2FibGVkLCBpc1NlYXJjaGFibGUsIG1lbnVJc09wZW4sIG1lc3NhZ2VzLCBzZWxlY3RWYWx1ZSwgdGFiU2VsZWN0c1ZhbHVlLCBpc0luaXRpYWxGb2N1c10pO1xuICB2YXIgU2NyZWVuUmVhZGVyVGV4dCA9IGpzeChGcmFnbWVudCwgbnVsbCwganN4KFwic3BhblwiLCB7XG4gICAgaWQ6IFwiYXJpYS1zZWxlY3Rpb25cIlxuICB9LCBhcmlhU2VsZWN0ZWQpLCBqc3goXCJzcGFuXCIsIHtcbiAgICBpZDogXCJhcmlhLWZvY3VzZWRcIlxuICB9LCBhcmlhRm9jdXNlZCksIGpzeChcInNwYW5cIiwge1xuICAgIGlkOiBcImFyaWEtcmVzdWx0c1wiXG4gIH0sIGFyaWFSZXN1bHRzKSwganN4KFwic3BhblwiLCB7XG4gICAgaWQ6IFwiYXJpYS1ndWlkYW5jZVwiXG4gIH0sIGFyaWFHdWlkYW5jZSkpO1xuICByZXR1cm4ganN4KEZyYWdtZW50LCBudWxsLCBqc3goQTExeVRleHQkMSwge1xuICAgIGlkOiBpZFxuICB9LCBpc0luaXRpYWxGb2N1cyAmJiBTY3JlZW5SZWFkZXJUZXh0KSwganN4KEExMXlUZXh0JDEsIHtcbiAgICBcImFyaWEtbGl2ZVwiOiBhcmlhTGl2ZSxcbiAgICBcImFyaWEtYXRvbWljXCI6IFwiZmFsc2VcIixcbiAgICBcImFyaWEtcmVsZXZhbnRcIjogXCJhZGRpdGlvbnMgdGV4dFwiLFxuICAgIHJvbGU6IFwibG9nXCJcbiAgfSwgaXNGb2N1c2VkICYmICFpc0luaXRpYWxGb2N1cyAmJiBTY3JlZW5SZWFkZXJUZXh0KSk7XG59O1xudmFyIExpdmVSZWdpb24kMSA9IExpdmVSZWdpb247XG5cbnZhciBkaWFjcml0aWNzID0gW3tcbiAgYmFzZTogJ0EnLFxuICBsZXR0ZXJzOiBcIkFcXHUyNEI2XFx1RkYyMVxceEMwXFx4QzFcXHhDMlxcdTFFQTZcXHUxRUE0XFx1MUVBQVxcdTFFQThcXHhDM1xcdTAxMDBcXHUwMTAyXFx1MUVCMFxcdTFFQUVcXHUxRUI0XFx1MUVCMlxcdTAyMjZcXHUwMUUwXFx4QzRcXHUwMURFXFx1MUVBMlxceEM1XFx1MDFGQVxcdTAxQ0RcXHUwMjAwXFx1MDIwMlxcdTFFQTBcXHUxRUFDXFx1MUVCNlxcdTFFMDBcXHUwMTA0XFx1MDIzQVxcdTJDNkZcIlxufSwge1xuICBiYXNlOiAnQUEnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzJcIlxufSwge1xuICBiYXNlOiAnQUUnLFxuICBsZXR0ZXJzOiBcIlxceEM2XFx1MDFGQ1xcdTAxRTJcIlxufSwge1xuICBiYXNlOiAnQU8nLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzRcIlxufSwge1xuICBiYXNlOiAnQVUnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzZcIlxufSwge1xuICBiYXNlOiAnQVYnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzhcXHVBNzNBXCJcbn0sIHtcbiAgYmFzZTogJ0FZJyxcbiAgbGV0dGVyczogXCJcXHVBNzNDXCJcbn0sIHtcbiAgYmFzZTogJ0InLFxuICBsZXR0ZXJzOiBcIkJcXHUyNEI3XFx1RkYyMlxcdTFFMDJcXHUxRTA0XFx1MUUwNlxcdTAyNDNcXHUwMTgyXFx1MDE4MVwiXG59LCB7XG4gIGJhc2U6ICdDJyxcbiAgbGV0dGVyczogXCJDXFx1MjRCOFxcdUZGMjNcXHUwMTA2XFx1MDEwOFxcdTAxMEFcXHUwMTBDXFx4QzdcXHUxRTA4XFx1MDE4N1xcdTAyM0JcXHVBNzNFXCJcbn0sIHtcbiAgYmFzZTogJ0QnLFxuICBsZXR0ZXJzOiBcIkRcXHUyNEI5XFx1RkYyNFxcdTFFMEFcXHUwMTBFXFx1MUUwQ1xcdTFFMTBcXHUxRTEyXFx1MUUwRVxcdTAxMTBcXHUwMThCXFx1MDE4QVxcdTAxODlcXHVBNzc5XCJcbn0sIHtcbiAgYmFzZTogJ0RaJyxcbiAgbGV0dGVyczogXCJcXHUwMUYxXFx1MDFDNFwiXG59LCB7XG4gIGJhc2U6ICdEeicsXG4gIGxldHRlcnM6IFwiXFx1MDFGMlxcdTAxQzVcIlxufSwge1xuICBiYXNlOiAnRScsXG4gIGxldHRlcnM6IFwiRVxcdTI0QkFcXHVGRjI1XFx4QzhcXHhDOVxceENBXFx1MUVDMFxcdTFFQkVcXHUxRUM0XFx1MUVDMlxcdTFFQkNcXHUwMTEyXFx1MUUxNFxcdTFFMTZcXHUwMTE0XFx1MDExNlxceENCXFx1MUVCQVxcdTAxMUFcXHUwMjA0XFx1MDIwNlxcdTFFQjhcXHUxRUM2XFx1MDIyOFxcdTFFMUNcXHUwMTE4XFx1MUUxOFxcdTFFMUFcXHUwMTkwXFx1MDE4RVwiXG59LCB7XG4gIGJhc2U6ICdGJyxcbiAgbGV0dGVyczogXCJGXFx1MjRCQlxcdUZGMjZcXHUxRTFFXFx1MDE5MVxcdUE3N0JcIlxufSwge1xuICBiYXNlOiAnRycsXG4gIGxldHRlcnM6IFwiR1xcdTI0QkNcXHVGRjI3XFx1MDFGNFxcdTAxMUNcXHUxRTIwXFx1MDExRVxcdTAxMjBcXHUwMUU2XFx1MDEyMlxcdTAxRTRcXHUwMTkzXFx1QTdBMFxcdUE3N0RcXHVBNzdFXCJcbn0sIHtcbiAgYmFzZTogJ0gnLFxuICBsZXR0ZXJzOiBcIkhcXHUyNEJEXFx1RkYyOFxcdTAxMjRcXHUxRTIyXFx1MUUyNlxcdTAyMUVcXHUxRTI0XFx1MUUyOFxcdTFFMkFcXHUwMTI2XFx1MkM2N1xcdTJDNzVcXHVBNzhEXCJcbn0sIHtcbiAgYmFzZTogJ0knLFxuICBsZXR0ZXJzOiBcIklcXHUyNEJFXFx1RkYyOVxceENDXFx4Q0RcXHhDRVxcdTAxMjhcXHUwMTJBXFx1MDEyQ1xcdTAxMzBcXHhDRlxcdTFFMkVcXHUxRUM4XFx1MDFDRlxcdTAyMDhcXHUwMjBBXFx1MUVDQVxcdTAxMkVcXHUxRTJDXFx1MDE5N1wiXG59LCB7XG4gIGJhc2U6ICdKJyxcbiAgbGV0dGVyczogXCJKXFx1MjRCRlxcdUZGMkFcXHUwMTM0XFx1MDI0OFwiXG59LCB7XG4gIGJhc2U6ICdLJyxcbiAgbGV0dGVyczogXCJLXFx1MjRDMFxcdUZGMkJcXHUxRTMwXFx1MDFFOFxcdTFFMzJcXHUwMTM2XFx1MUUzNFxcdTAxOThcXHUyQzY5XFx1QTc0MFxcdUE3NDJcXHVBNzQ0XFx1QTdBMlwiXG59LCB7XG4gIGJhc2U6ICdMJyxcbiAgbGV0dGVyczogXCJMXFx1MjRDMVxcdUZGMkNcXHUwMTNGXFx1MDEzOVxcdTAxM0RcXHUxRTM2XFx1MUUzOFxcdTAxM0JcXHUxRTNDXFx1MUUzQVxcdTAxNDFcXHUwMjNEXFx1MkM2MlxcdTJDNjBcXHVBNzQ4XFx1QTc0NlxcdUE3ODBcIlxufSwge1xuICBiYXNlOiAnTEonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQzdcIlxufSwge1xuICBiYXNlOiAnTGonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQzhcIlxufSwge1xuICBiYXNlOiAnTScsXG4gIGxldHRlcnM6IFwiTVxcdTI0QzJcXHVGRjJEXFx1MUUzRVxcdTFFNDBcXHUxRTQyXFx1MkM2RVxcdTAxOUNcIlxufSwge1xuICBiYXNlOiAnTicsXG4gIGxldHRlcnM6IFwiTlxcdTI0QzNcXHVGRjJFXFx1MDFGOFxcdTAxNDNcXHhEMVxcdTFFNDRcXHUwMTQ3XFx1MUU0NlxcdTAxNDVcXHUxRTRBXFx1MUU0OFxcdTAyMjBcXHUwMTlEXFx1QTc5MFxcdUE3QTRcIlxufSwge1xuICBiYXNlOiAnTkonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQ0FcIlxufSwge1xuICBiYXNlOiAnTmonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQ0JcIlxufSwge1xuICBiYXNlOiAnTycsXG4gIGxldHRlcnM6IFwiT1xcdTI0QzRcXHVGRjJGXFx4RDJcXHhEM1xceEQ0XFx1MUVEMlxcdTFFRDBcXHUxRUQ2XFx1MUVENFxceEQ1XFx1MUU0Q1xcdTAyMkNcXHUxRTRFXFx1MDE0Q1xcdTFFNTBcXHUxRTUyXFx1MDE0RVxcdTAyMkVcXHUwMjMwXFx4RDZcXHUwMjJBXFx1MUVDRVxcdTAxNTBcXHUwMUQxXFx1MDIwQ1xcdTAyMEVcXHUwMUEwXFx1MUVEQ1xcdTFFREFcXHUxRUUwXFx1MUVERVxcdTFFRTJcXHUxRUNDXFx1MUVEOFxcdTAxRUFcXHUwMUVDXFx4RDhcXHUwMUZFXFx1MDE4NlxcdTAxOUZcXHVBNzRBXFx1QTc0Q1wiXG59LCB7XG4gIGJhc2U6ICdPSScsXG4gIGxldHRlcnM6IFwiXFx1MDFBMlwiXG59LCB7XG4gIGJhc2U6ICdPTycsXG4gIGxldHRlcnM6IFwiXFx1QTc0RVwiXG59LCB7XG4gIGJhc2U6ICdPVScsXG4gIGxldHRlcnM6IFwiXFx1MDIyMlwiXG59LCB7XG4gIGJhc2U6ICdQJyxcbiAgbGV0dGVyczogXCJQXFx1MjRDNVxcdUZGMzBcXHUxRTU0XFx1MUU1NlxcdTAxQTRcXHUyQzYzXFx1QTc1MFxcdUE3NTJcXHVBNzU0XCJcbn0sIHtcbiAgYmFzZTogJ1EnLFxuICBsZXR0ZXJzOiBcIlFcXHUyNEM2XFx1RkYzMVxcdUE3NTZcXHVBNzU4XFx1MDI0QVwiXG59LCB7XG4gIGJhc2U6ICdSJyxcbiAgbGV0dGVyczogXCJSXFx1MjRDN1xcdUZGMzJcXHUwMTU0XFx1MUU1OFxcdTAxNThcXHUwMjEwXFx1MDIxMlxcdTFFNUFcXHUxRTVDXFx1MDE1NlxcdTFFNUVcXHUwMjRDXFx1MkM2NFxcdUE3NUFcXHVBN0E2XFx1QTc4MlwiXG59LCB7XG4gIGJhc2U6ICdTJyxcbiAgbGV0dGVyczogXCJTXFx1MjRDOFxcdUZGMzNcXHUxRTlFXFx1MDE1QVxcdTFFNjRcXHUwMTVDXFx1MUU2MFxcdTAxNjBcXHUxRTY2XFx1MUU2MlxcdTFFNjhcXHUwMjE4XFx1MDE1RVxcdTJDN0VcXHVBN0E4XFx1QTc4NFwiXG59LCB7XG4gIGJhc2U6ICdUJyxcbiAgbGV0dGVyczogXCJUXFx1MjRDOVxcdUZGMzRcXHUxRTZBXFx1MDE2NFxcdTFFNkNcXHUwMjFBXFx1MDE2MlxcdTFFNzBcXHUxRTZFXFx1MDE2NlxcdTAxQUNcXHUwMUFFXFx1MDIzRVxcdUE3ODZcIlxufSwge1xuICBiYXNlOiAnVFonLFxuICBsZXR0ZXJzOiBcIlxcdUE3MjhcIlxufSwge1xuICBiYXNlOiAnVScsXG4gIGxldHRlcnM6IFwiVVxcdTI0Q0FcXHVGRjM1XFx4RDlcXHhEQVxceERCXFx1MDE2OFxcdTFFNzhcXHUwMTZBXFx1MUU3QVxcdTAxNkNcXHhEQ1xcdTAxREJcXHUwMUQ3XFx1MDFENVxcdTAxRDlcXHUxRUU2XFx1MDE2RVxcdTAxNzBcXHUwMUQzXFx1MDIxNFxcdTAyMTZcXHUwMUFGXFx1MUVFQVxcdTFFRThcXHUxRUVFXFx1MUVFQ1xcdTFFRjBcXHUxRUU0XFx1MUU3MlxcdTAxNzJcXHUxRTc2XFx1MUU3NFxcdTAyNDRcIlxufSwge1xuICBiYXNlOiAnVicsXG4gIGxldHRlcnM6IFwiVlxcdTI0Q0JcXHVGRjM2XFx1MUU3Q1xcdTFFN0VcXHUwMUIyXFx1QTc1RVxcdTAyNDVcIlxufSwge1xuICBiYXNlOiAnVlknLFxuICBsZXR0ZXJzOiBcIlxcdUE3NjBcIlxufSwge1xuICBiYXNlOiAnVycsXG4gIGxldHRlcnM6IFwiV1xcdTI0Q0NcXHVGRjM3XFx1MUU4MFxcdTFFODJcXHUwMTc0XFx1MUU4NlxcdTFFODRcXHUxRTg4XFx1MkM3MlwiXG59LCB7XG4gIGJhc2U6ICdYJyxcbiAgbGV0dGVyczogXCJYXFx1MjRDRFxcdUZGMzhcXHUxRThBXFx1MUU4Q1wiXG59LCB7XG4gIGJhc2U6ICdZJyxcbiAgbGV0dGVyczogXCJZXFx1MjRDRVxcdUZGMzlcXHUxRUYyXFx4RERcXHUwMTc2XFx1MUVGOFxcdTAyMzJcXHUxRThFXFx1MDE3OFxcdTFFRjZcXHUxRUY0XFx1MDFCM1xcdTAyNEVcXHUxRUZFXCJcbn0sIHtcbiAgYmFzZTogJ1onLFxuICBsZXR0ZXJzOiBcIlpcXHUyNENGXFx1RkYzQVxcdTAxNzlcXHUxRTkwXFx1MDE3QlxcdTAxN0RcXHUxRTkyXFx1MUU5NFxcdTAxQjVcXHUwMjI0XFx1MkM3RlxcdTJDNkJcXHVBNzYyXCJcbn0sIHtcbiAgYmFzZTogJ2EnLFxuICBsZXR0ZXJzOiBcImFcXHUyNEQwXFx1RkY0MVxcdTFFOUFcXHhFMFxceEUxXFx4RTJcXHUxRUE3XFx1MUVBNVxcdTFFQUJcXHUxRUE5XFx4RTNcXHUwMTAxXFx1MDEwM1xcdTFFQjFcXHUxRUFGXFx1MUVCNVxcdTFFQjNcXHUwMjI3XFx1MDFFMVxceEU0XFx1MDFERlxcdTFFQTNcXHhFNVxcdTAxRkJcXHUwMUNFXFx1MDIwMVxcdTAyMDNcXHUxRUExXFx1MUVBRFxcdTFFQjdcXHUxRTAxXFx1MDEwNVxcdTJDNjVcXHUwMjUwXCJcbn0sIHtcbiAgYmFzZTogJ2FhJyxcbiAgbGV0dGVyczogXCJcXHVBNzMzXCJcbn0sIHtcbiAgYmFzZTogJ2FlJyxcbiAgbGV0dGVyczogXCJcXHhFNlxcdTAxRkRcXHUwMUUzXCJcbn0sIHtcbiAgYmFzZTogJ2FvJyxcbiAgbGV0dGVyczogXCJcXHVBNzM1XCJcbn0sIHtcbiAgYmFzZTogJ2F1JyxcbiAgbGV0dGVyczogXCJcXHVBNzM3XCJcbn0sIHtcbiAgYmFzZTogJ2F2JyxcbiAgbGV0dGVyczogXCJcXHVBNzM5XFx1QTczQlwiXG59LCB7XG4gIGJhc2U6ICdheScsXG4gIGxldHRlcnM6IFwiXFx1QTczRFwiXG59LCB7XG4gIGJhc2U6ICdiJyxcbiAgbGV0dGVyczogXCJiXFx1MjREMVxcdUZGNDJcXHUxRTAzXFx1MUUwNVxcdTFFMDdcXHUwMTgwXFx1MDE4M1xcdTAyNTNcIlxufSwge1xuICBiYXNlOiAnYycsXG4gIGxldHRlcnM6IFwiY1xcdTI0RDJcXHVGRjQzXFx1MDEwN1xcdTAxMDlcXHUwMTBCXFx1MDEwRFxceEU3XFx1MUUwOVxcdTAxODhcXHUwMjNDXFx1QTczRlxcdTIxODRcIlxufSwge1xuICBiYXNlOiAnZCcsXG4gIGxldHRlcnM6IFwiZFxcdTI0RDNcXHVGRjQ0XFx1MUUwQlxcdTAxMEZcXHUxRTBEXFx1MUUxMVxcdTFFMTNcXHUxRTBGXFx1MDExMVxcdTAxOENcXHUwMjU2XFx1MDI1N1xcdUE3N0FcIlxufSwge1xuICBiYXNlOiAnZHonLFxuICBsZXR0ZXJzOiBcIlxcdTAxRjNcXHUwMUM2XCJcbn0sIHtcbiAgYmFzZTogJ2UnLFxuICBsZXR0ZXJzOiBcImVcXHUyNEQ0XFx1RkY0NVxceEU4XFx4RTlcXHhFQVxcdTFFQzFcXHUxRUJGXFx1MUVDNVxcdTFFQzNcXHUxRUJEXFx1MDExM1xcdTFFMTVcXHUxRTE3XFx1MDExNVxcdTAxMTdcXHhFQlxcdTFFQkJcXHUwMTFCXFx1MDIwNVxcdTAyMDdcXHUxRUI5XFx1MUVDN1xcdTAyMjlcXHUxRTFEXFx1MDExOVxcdTFFMTlcXHUxRTFCXFx1MDI0N1xcdTAyNUJcXHUwMUREXCJcbn0sIHtcbiAgYmFzZTogJ2YnLFxuICBsZXR0ZXJzOiBcImZcXHUyNEQ1XFx1RkY0NlxcdTFFMUZcXHUwMTkyXFx1QTc3Q1wiXG59LCB7XG4gIGJhc2U6ICdnJyxcbiAgbGV0dGVyczogXCJnXFx1MjRENlxcdUZGNDdcXHUwMUY1XFx1MDExRFxcdTFFMjFcXHUwMTFGXFx1MDEyMVxcdTAxRTdcXHUwMTIzXFx1MDFFNVxcdTAyNjBcXHVBN0ExXFx1MUQ3OVxcdUE3N0ZcIlxufSwge1xuICBiYXNlOiAnaCcsXG4gIGxldHRlcnM6IFwiaFxcdTI0RDdcXHVGRjQ4XFx1MDEyNVxcdTFFMjNcXHUxRTI3XFx1MDIxRlxcdTFFMjVcXHUxRTI5XFx1MUUyQlxcdTFFOTZcXHUwMTI3XFx1MkM2OFxcdTJDNzZcXHUwMjY1XCJcbn0sIHtcbiAgYmFzZTogJ2h2JyxcbiAgbGV0dGVyczogXCJcXHUwMTk1XCJcbn0sIHtcbiAgYmFzZTogJ2knLFxuICBsZXR0ZXJzOiBcImlcXHUyNEQ4XFx1RkY0OVxceEVDXFx4RURcXHhFRVxcdTAxMjlcXHUwMTJCXFx1MDEyRFxceEVGXFx1MUUyRlxcdTFFQzlcXHUwMUQwXFx1MDIwOVxcdTAyMEJcXHUxRUNCXFx1MDEyRlxcdTFFMkRcXHUwMjY4XFx1MDEzMVwiXG59LCB7XG4gIGJhc2U6ICdqJyxcbiAgbGV0dGVyczogXCJqXFx1MjREOVxcdUZGNEFcXHUwMTM1XFx1MDFGMFxcdTAyNDlcIlxufSwge1xuICBiYXNlOiAnaycsXG4gIGxldHRlcnM6IFwia1xcdTI0REFcXHVGRjRCXFx1MUUzMVxcdTAxRTlcXHUxRTMzXFx1MDEzN1xcdTFFMzVcXHUwMTk5XFx1MkM2QVxcdUE3NDFcXHVBNzQzXFx1QTc0NVxcdUE3QTNcIlxufSwge1xuICBiYXNlOiAnbCcsXG4gIGxldHRlcnM6IFwibFxcdTI0REJcXHVGRjRDXFx1MDE0MFxcdTAxM0FcXHUwMTNFXFx1MUUzN1xcdTFFMzlcXHUwMTNDXFx1MUUzRFxcdTFFM0JcXHUwMTdGXFx1MDE0MlxcdTAxOUFcXHUwMjZCXFx1MkM2MVxcdUE3NDlcXHVBNzgxXFx1QTc0N1wiXG59LCB7XG4gIGJhc2U6ICdsaicsXG4gIGxldHRlcnM6IFwiXFx1MDFDOVwiXG59LCB7XG4gIGJhc2U6ICdtJyxcbiAgbGV0dGVyczogXCJtXFx1MjREQ1xcdUZGNERcXHUxRTNGXFx1MUU0MVxcdTFFNDNcXHUwMjcxXFx1MDI2RlwiXG59LCB7XG4gIGJhc2U6ICduJyxcbiAgbGV0dGVyczogXCJuXFx1MjRERFxcdUZGNEVcXHUwMUY5XFx1MDE0NFxceEYxXFx1MUU0NVxcdTAxNDhcXHUxRTQ3XFx1MDE0NlxcdTFFNEJcXHUxRTQ5XFx1MDE5RVxcdTAyNzJcXHUwMTQ5XFx1QTc5MVxcdUE3QTVcIlxufSwge1xuICBiYXNlOiAnbmonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQ0NcIlxufSwge1xuICBiYXNlOiAnbycsXG4gIGxldHRlcnM6IFwib1xcdTI0REVcXHVGRjRGXFx4RjJcXHhGM1xceEY0XFx1MUVEM1xcdTFFRDFcXHUxRUQ3XFx1MUVENVxceEY1XFx1MUU0RFxcdTAyMkRcXHUxRTRGXFx1MDE0RFxcdTFFNTFcXHUxRTUzXFx1MDE0RlxcdTAyMkZcXHUwMjMxXFx4RjZcXHUwMjJCXFx1MUVDRlxcdTAxNTFcXHUwMUQyXFx1MDIwRFxcdTAyMEZcXHUwMUExXFx1MUVERFxcdTFFREJcXHUxRUUxXFx1MUVERlxcdTFFRTNcXHUxRUNEXFx1MUVEOVxcdTAxRUJcXHUwMUVEXFx4RjhcXHUwMUZGXFx1MDI1NFxcdUE3NEJcXHVBNzREXFx1MDI3NVwiXG59LCB7XG4gIGJhc2U6ICdvaScsXG4gIGxldHRlcnM6IFwiXFx1MDFBM1wiXG59LCB7XG4gIGJhc2U6ICdvdScsXG4gIGxldHRlcnM6IFwiXFx1MDIyM1wiXG59LCB7XG4gIGJhc2U6ICdvbycsXG4gIGxldHRlcnM6IFwiXFx1QTc0RlwiXG59LCB7XG4gIGJhc2U6ICdwJyxcbiAgbGV0dGVyczogXCJwXFx1MjRERlxcdUZGNTBcXHUxRTU1XFx1MUU1N1xcdTAxQTVcXHUxRDdEXFx1QTc1MVxcdUE3NTNcXHVBNzU1XCJcbn0sIHtcbiAgYmFzZTogJ3EnLFxuICBsZXR0ZXJzOiBcInFcXHUyNEUwXFx1RkY1MVxcdTAyNEJcXHVBNzU3XFx1QTc1OVwiXG59LCB7XG4gIGJhc2U6ICdyJyxcbiAgbGV0dGVyczogXCJyXFx1MjRFMVxcdUZGNTJcXHUwMTU1XFx1MUU1OVxcdTAxNTlcXHUwMjExXFx1MDIxM1xcdTFFNUJcXHUxRTVEXFx1MDE1N1xcdTFFNUZcXHUwMjREXFx1MDI3RFxcdUE3NUJcXHVBN0E3XFx1QTc4M1wiXG59LCB7XG4gIGJhc2U6ICdzJyxcbiAgbGV0dGVyczogXCJzXFx1MjRFMlxcdUZGNTNcXHhERlxcdTAxNUJcXHUxRTY1XFx1MDE1RFxcdTFFNjFcXHUwMTYxXFx1MUU2N1xcdTFFNjNcXHUxRTY5XFx1MDIxOVxcdTAxNUZcXHUwMjNGXFx1QTdBOVxcdUE3ODVcXHUxRTlCXCJcbn0sIHtcbiAgYmFzZTogJ3QnLFxuICBsZXR0ZXJzOiBcInRcXHUyNEUzXFx1RkY1NFxcdTFFNkJcXHUxRTk3XFx1MDE2NVxcdTFFNkRcXHUwMjFCXFx1MDE2M1xcdTFFNzFcXHUxRTZGXFx1MDE2N1xcdTAxQURcXHUwMjg4XFx1MkM2NlxcdUE3ODdcIlxufSwge1xuICBiYXNlOiAndHonLFxuICBsZXR0ZXJzOiBcIlxcdUE3MjlcIlxufSwge1xuICBiYXNlOiAndScsXG4gIGxldHRlcnM6IFwidVxcdTI0RTRcXHVGRjU1XFx4RjlcXHhGQVxceEZCXFx1MDE2OVxcdTFFNzlcXHUwMTZCXFx1MUU3QlxcdTAxNkRcXHhGQ1xcdTAxRENcXHUwMUQ4XFx1MDFENlxcdTAxREFcXHUxRUU3XFx1MDE2RlxcdTAxNzFcXHUwMUQ0XFx1MDIxNVxcdTAyMTdcXHUwMUIwXFx1MUVFQlxcdTFFRTlcXHUxRUVGXFx1MUVFRFxcdTFFRjFcXHUxRUU1XFx1MUU3M1xcdTAxNzNcXHUxRTc3XFx1MUU3NVxcdTAyODlcIlxufSwge1xuICBiYXNlOiAndicsXG4gIGxldHRlcnM6IFwidlxcdTI0RTVcXHVGRjU2XFx1MUU3RFxcdTFFN0ZcXHUwMjhCXFx1QTc1RlxcdTAyOENcIlxufSwge1xuICBiYXNlOiAndnknLFxuICBsZXR0ZXJzOiBcIlxcdUE3NjFcIlxufSwge1xuICBiYXNlOiAndycsXG4gIGxldHRlcnM6IFwid1xcdTI0RTZcXHVGRjU3XFx1MUU4MVxcdTFFODNcXHUwMTc1XFx1MUU4N1xcdTFFODVcXHUxRTk4XFx1MUU4OVxcdTJDNzNcIlxufSwge1xuICBiYXNlOiAneCcsXG4gIGxldHRlcnM6IFwieFxcdTI0RTdcXHVGRjU4XFx1MUU4QlxcdTFFOERcIlxufSwge1xuICBiYXNlOiAneScsXG4gIGxldHRlcnM6IFwieVxcdTI0RThcXHVGRjU5XFx1MUVGM1xceEZEXFx1MDE3N1xcdTFFRjlcXHUwMjMzXFx1MUU4RlxceEZGXFx1MUVGN1xcdTFFOTlcXHUxRUY1XFx1MDFCNFxcdTAyNEZcXHUxRUZGXCJcbn0sIHtcbiAgYmFzZTogJ3onLFxuICBsZXR0ZXJzOiBcInpcXHUyNEU5XFx1RkY1QVxcdTAxN0FcXHUxRTkxXFx1MDE3Q1xcdTAxN0VcXHUxRTkzXFx1MUU5NVxcdTAxQjZcXHUwMjI1XFx1MDI0MFxcdTJDNkNcXHVBNzYzXCJcbn1dO1xudmFyIGFueURpYWNyaXRpYyA9IG5ldyBSZWdFeHAoJ1snICsgZGlhY3JpdGljcy5tYXAoZnVuY3Rpb24gKGQpIHtcbiAgcmV0dXJuIGQubGV0dGVycztcbn0pLmpvaW4oJycpICsgJ10nLCAnZycpO1xudmFyIGRpYWNyaXRpY1RvQmFzZSA9IHt9O1xuZm9yICh2YXIgaSA9IDA7IGkgPCBkaWFjcml0aWNzLmxlbmd0aDsgaSsrKSB7XG4gIHZhciBkaWFjcml0aWMgPSBkaWFjcml0aWNzW2ldO1xuICBmb3IgKHZhciBqID0gMDsgaiA8IGRpYWNyaXRpYy5sZXR0ZXJzLmxlbmd0aDsgaisrKSB7XG4gICAgZGlhY3JpdGljVG9CYXNlW2RpYWNyaXRpYy5sZXR0ZXJzW2pdXSA9IGRpYWNyaXRpYy5iYXNlO1xuICB9XG59XG52YXIgc3RyaXBEaWFjcml0aWNzID0gZnVuY3Rpb24gc3RyaXBEaWFjcml0aWNzKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoYW55RGlhY3JpdGljLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICByZXR1cm4gZGlhY3JpdGljVG9CYXNlW21hdGNoXTtcbiAgfSk7XG59O1xuXG52YXIgbWVtb2l6ZWRTdHJpcERpYWNyaXRpY3NGb3JJbnB1dCA9IG1lbW9pemVPbmUoc3RyaXBEaWFjcml0aWNzKTtcbnZhciB0cmltU3RyaW5nID0gZnVuY3Rpb24gdHJpbVN0cmluZyhzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCAnJyk7XG59O1xudmFyIGRlZmF1bHRTdHJpbmdpZnkgPSBmdW5jdGlvbiBkZWZhdWx0U3RyaW5naWZ5KG9wdGlvbikge1xuICByZXR1cm4gXCJcIi5jb25jYXQob3B0aW9uLmxhYmVsLCBcIiBcIikuY29uY2F0KG9wdGlvbi52YWx1ZSk7XG59O1xudmFyIGNyZWF0ZUZpbHRlciA9IGZ1bmN0aW9uIGNyZWF0ZUZpbHRlcihjb25maWcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChvcHRpb24sIHJhd0lucHV0KSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgaWYgKG9wdGlvbi5kYXRhLl9faXNOZXdfXykgcmV0dXJuIHRydWU7XG4gICAgdmFyIF9pZ25vcmVDYXNlJGlnbm9yZUFjYyA9IF9vYmplY3RTcHJlYWQoe1xuICAgICAgICBpZ25vcmVDYXNlOiB0cnVlLFxuICAgICAgICBpZ25vcmVBY2NlbnRzOiB0cnVlLFxuICAgICAgICBzdHJpbmdpZnk6IGRlZmF1bHRTdHJpbmdpZnksXG4gICAgICAgIHRyaW06IHRydWUsXG4gICAgICAgIG1hdGNoRnJvbTogJ2FueSdcbiAgICAgIH0sIGNvbmZpZyksXG4gICAgICBpZ25vcmVDYXNlID0gX2lnbm9yZUNhc2UkaWdub3JlQWNjLmlnbm9yZUNhc2UsXG4gICAgICBpZ25vcmVBY2NlbnRzID0gX2lnbm9yZUNhc2UkaWdub3JlQWNjLmlnbm9yZUFjY2VudHMsXG4gICAgICBzdHJpbmdpZnkgPSBfaWdub3JlQ2FzZSRpZ25vcmVBY2Muc3RyaW5naWZ5LFxuICAgICAgdHJpbSA9IF9pZ25vcmVDYXNlJGlnbm9yZUFjYy50cmltLFxuICAgICAgbWF0Y2hGcm9tID0gX2lnbm9yZUNhc2UkaWdub3JlQWNjLm1hdGNoRnJvbTtcbiAgICB2YXIgaW5wdXQgPSB0cmltID8gdHJpbVN0cmluZyhyYXdJbnB1dCkgOiByYXdJbnB1dDtcbiAgICB2YXIgY2FuZGlkYXRlID0gdHJpbSA/IHRyaW1TdHJpbmcoc3RyaW5naWZ5KG9wdGlvbikpIDogc3RyaW5naWZ5KG9wdGlvbik7XG4gICAgaWYgKGlnbm9yZUNhc2UpIHtcbiAgICAgIGlucHV0ID0gaW5wdXQudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNhbmRpZGF0ZSA9IGNhbmRpZGF0ZS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbiAgICBpZiAoaWdub3JlQWNjZW50cykge1xuICAgICAgaW5wdXQgPSBtZW1vaXplZFN0cmlwRGlhY3JpdGljc0ZvcklucHV0KGlucHV0KTtcbiAgICAgIGNhbmRpZGF0ZSA9IHN0cmlwRGlhY3JpdGljcyhjYW5kaWRhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gbWF0Y2hGcm9tID09PSAnc3RhcnQnID8gY2FuZGlkYXRlLnN1YnN0cigwLCBpbnB1dC5sZW5ndGgpID09PSBpbnB1dCA6IGNhbmRpZGF0ZS5pbmRleE9mKGlucHV0KSA+IC0xO1xuICB9O1xufTtcblxudmFyIF9leGNsdWRlZCA9IFtcImlubmVyUmVmXCJdO1xuZnVuY3Rpb24gRHVtbXlJbnB1dChfcmVmKSB7XG4gIHZhciBpbm5lclJlZiA9IF9yZWYuaW5uZXJSZWYsXG4gICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZiwgX2V4Y2x1ZGVkKTtcbiAgLy8gUmVtb3ZlIGFuaW1hdGlvbiBwcm9wcyBub3QgbWVhbnQgZm9yIEhUTUwgZWxlbWVudHNcbiAgdmFyIGZpbHRlcmVkUHJvcHMgPSByZW1vdmVQcm9wcyhwcm9wcywgJ29uRXhpdGVkJywgJ2luJywgJ2VudGVyJywgJ2V4aXQnLCAnYXBwZWFyJyk7XG4gIHJldHVybiBqc3goXCJpbnB1dFwiLCBfZXh0ZW5kcyh7XG4gICAgcmVmOiBpbm5lclJlZlxuICB9LCBmaWx0ZXJlZFByb3BzLCB7XG4gICAgY3NzOiAvKiNfX1BVUkVfXyovY3NzKHtcbiAgICAgIGxhYmVsOiAnZHVtbXlJbnB1dCcsXG4gICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgYmFja2dyb3VuZDogMCxcbiAgICAgIGJvcmRlcjogMCxcbiAgICAgIC8vIGltcG9ydGFudCEgdGhpcyBoaWRlcyB0aGUgZmxhc2hpbmcgY3Vyc29yXG4gICAgICBjYXJldENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICAgIGdyaWRBcmVhOiAnMSAvIDEgLyAyIC8gMycsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICB3aWR0aDogMSxcbiAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgY29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICBsZWZ0OiAtMTAwLFxuICAgICAgb3BhY2l0eTogMCxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoLjAxKSdcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCI7bGFiZWw6RHVtbXlJbnB1dDtcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtSMWJXMTVTVzV3ZFhRdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRWGxDVFNJc0ltWnBiR1VpT2lKRWRXMXRlVWx1Y0hWMExuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtpQkFhbk40SUdwemVDQXFMMXh1YVcxd2IzSjBJSHNnVW1WbUlIMGdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2FuTjRJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZjbVZoWTNRbk8xeHVhVzF3YjNKMElIc2djbVZ0YjNabFVISnZjSE1nZlNCbWNtOXRJQ2N1TGk5MWRHbHNjeWM3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUdaMWJtTjBhVzl1SUVSMWJXMTVTVzV3ZFhRb2UxeHVJQ0JwYm01bGNsSmxaaXhjYmlBZ0xpNHVjSEp2Y0hOY2JuMDZJRXBUV0M1SmJuUnlhVzV6YVdORmJHVnRaVzUwYzFzbmFXNXdkWFFuWFNBbUlIdGNiaUFnY21WaFpHOXViSGtnYVc1dVpYSlNaV1k2SUZKbFpqeElWRTFNU1c1d2RYUkZiR1Z0Wlc1MFBqdGNibjBwSUh0Y2JpQWdMeThnVW1WdGIzWmxJR0Z1YVcxaGRHbHZiaUJ3Y205d2N5QnViM1FnYldWaGJuUWdabTl5SUVoVVRVd2daV3hsYldWdWRITmNiaUFnWTI5dWMzUWdabWxzZEdWeVpXUlFjbTl3Y3lBOUlISmxiVzkyWlZCeWIzQnpLRnh1SUNBZ0lIQnliM0J6TEZ4dUlDQWdJQ2R2YmtWNGFYUmxaQ2NzWEc0Z0lDQWdKMmx1Snl4Y2JpQWdJQ0FuWlc1MFpYSW5MRnh1SUNBZ0lDZGxlR2wwSnl4Y2JpQWdJQ0FuWVhCd1pXRnlKMXh1SUNBcE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR2x1Y0hWMFhHNGdJQ0FnSUNCeVpXWTllMmx1Ym1WeVVtVm1mVnh1SUNBZ0lDQWdleTR1TG1acGJIUmxjbVZrVUhKdmNITjlYRzRnSUNBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUNBZ2JHRmlaV3c2SUNka2RXMXRlVWx1Y0hWMEp5eGNiaUFnSUNBZ0lDQWdMeThnWjJWMElISnBaQ0J2WmlCaGJua2daR1ZtWVhWc2RDQnpkSGxzWlhOY2JpQWdJQ0FnSUNBZ1ltRmphMmR5YjNWdVpEb2dNQ3hjYmlBZ0lDQWdJQ0FnWW05eVpHVnlPaUF3TEZ4dUlDQWdJQ0FnSUNBdkx5QnBiWEJ2Y25SaGJuUWhJSFJvYVhNZ2FHbGtaWE1nZEdobElHWnNZWE5vYVc1bklHTjFjbk52Y2x4dUlDQWdJQ0FnSUNCallYSmxkRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dUlDQWdJQ0FnSUNCbWIyNTBVMmw2WlRvZ0oybHVhR1Z5YVhRbkxGeHVJQ0FnSUNBZ0lDQm5jbWxrUVhKbFlUb2dKekVnTHlBeElDOGdNaUF2SURNbkxGeHVJQ0FnSUNBZ0lDQnZkWFJzYVc1bE9pQXdMRnh1SUNBZ0lDQWdJQ0J3WVdSa2FXNW5PaUF3TEZ4dUlDQWdJQ0FnSUNBdkx5QnBiWEJ2Y25SaGJuUWhJSGRwZEdodmRYUWdZSGRwWkhSb1lDQmljbTkzYzJWeWN5QjNiMjRuZENCaGJHeHZkeUJtYjJOMWMxeHVJQ0FnSUNBZ0lDQjNhV1IwYURvZ01TeGNibHh1SUNBZ0lDQWdJQ0F2THlCeVpXMXZkbVVnWTNWeWMyOXlJRzl1SUdSbGMydDBiM0JjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNWNiaUFnSUNBZ0lDQWdMeThnY21WdGIzWmxJR04xY25OdmNpQnZiaUJ0YjJKcGJHVWdkMmhwYkhOMElHMWhhVzUwWVdsdWFXNW5JRndpYzJOeWIyeHNJR2x1ZEc4Z2RtbGxkMXdpSUdKbGFHRjJhVzkxY2x4dUlDQWdJQ0FnSUNCc1pXWjBPaUF0TVRBd0xGeHVJQ0FnSUNBZ0lDQnZjR0ZqYVhSNU9pQXdMRnh1SUNBZ0lDQWdJQ0J3YjNOcGRHbHZiam9nSjNKbGJHRjBhWFpsSnl4Y2JpQWdJQ0FnSUNBZ2RISmhibk5tYjNKdE9pQW5jMk5oYkdVb0xqQXhLU2NzWEc0Z0lDQWdJQ0I5ZlZ4dUlDQWdJQzgrWEc0Z0lDazdYRzU5WEc0aVhYMD0gKi9cIilcbiAgfSkpO1xufVxuXG52YXIgY2FuY2VsU2Nyb2xsID0gZnVuY3Rpb24gY2FuY2VsU2Nyb2xsKGV2ZW50KSB7XG4gIGlmIChldmVudC5jYW5jZWxhYmxlKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn07XG5mdW5jdGlvbiB1c2VTY3JvbGxDYXB0dXJlKF9yZWYpIHtcbiAgdmFyIGlzRW5hYmxlZCA9IF9yZWYuaXNFbmFibGVkLFxuICAgIG9uQm90dG9tQXJyaXZlID0gX3JlZi5vbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlID0gX3JlZi5vbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlID0gX3JlZi5vblRvcEFycml2ZSxcbiAgICBvblRvcExlYXZlID0gX3JlZi5vblRvcExlYXZlO1xuICB2YXIgaXNCb3R0b20gPSB1c2VSZWYoZmFsc2UpO1xuICB2YXIgaXNUb3AgPSB1c2VSZWYoZmFsc2UpO1xuICB2YXIgdG91Y2hTdGFydCA9IHVzZVJlZigwKTtcbiAgdmFyIHNjcm9sbFRhcmdldCA9IHVzZVJlZihudWxsKTtcbiAgdmFyIGhhbmRsZUV2ZW50RGVsdGEgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoZXZlbnQsIGRlbHRhKSB7XG4gICAgaWYgKHNjcm9sbFRhcmdldC5jdXJyZW50ID09PSBudWxsKSByZXR1cm47XG4gICAgdmFyIF9zY3JvbGxUYXJnZXQkY3VycmVudCA9IHNjcm9sbFRhcmdldC5jdXJyZW50LFxuICAgICAgc2Nyb2xsVG9wID0gX3Njcm9sbFRhcmdldCRjdXJyZW50LnNjcm9sbFRvcCxcbiAgICAgIHNjcm9sbEhlaWdodCA9IF9zY3JvbGxUYXJnZXQkY3VycmVudC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQgPSBfc2Nyb2xsVGFyZ2V0JGN1cnJlbnQuY2xpZW50SGVpZ2h0O1xuICAgIHZhciB0YXJnZXQgPSBzY3JvbGxUYXJnZXQuY3VycmVudDtcbiAgICB2YXIgaXNEZWx0YVBvc2l0aXZlID0gZGVsdGEgPiAwO1xuICAgIHZhciBhdmFpbGFibGVTY3JvbGwgPSBzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQgLSBzY3JvbGxUb3A7XG4gICAgdmFyIHNob3VsZENhbmNlbFNjcm9sbCA9IGZhbHNlO1xuXG4gICAgLy8gcmVzZXQgYm90dG9tL3RvcCBmbGFnc1xuICAgIGlmIChhdmFpbGFibGVTY3JvbGwgPiBkZWx0YSAmJiBpc0JvdHRvbS5jdXJyZW50KSB7XG4gICAgICBpZiAob25Cb3R0b21MZWF2ZSkgb25Cb3R0b21MZWF2ZShldmVudCk7XG4gICAgICBpc0JvdHRvbS5jdXJyZW50ID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpc0RlbHRhUG9zaXRpdmUgJiYgaXNUb3AuY3VycmVudCkge1xuICAgICAgaWYgKG9uVG9wTGVhdmUpIG9uVG9wTGVhdmUoZXZlbnQpO1xuICAgICAgaXNUb3AuY3VycmVudCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIGJvdHRvbSBsaW1pdFxuICAgIGlmIChpc0RlbHRhUG9zaXRpdmUgJiYgZGVsdGEgPiBhdmFpbGFibGVTY3JvbGwpIHtcbiAgICAgIGlmIChvbkJvdHRvbUFycml2ZSAmJiAhaXNCb3R0b20uY3VycmVudCkge1xuICAgICAgICBvbkJvdHRvbUFycml2ZShldmVudCk7XG4gICAgICB9XG4gICAgICB0YXJnZXQuc2Nyb2xsVG9wID0gc2Nyb2xsSGVpZ2h0O1xuICAgICAgc2hvdWxkQ2FuY2VsU2Nyb2xsID0gdHJ1ZTtcbiAgICAgIGlzQm90dG9tLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgICAvLyB0b3AgbGltaXRcbiAgICB9IGVsc2UgaWYgKCFpc0RlbHRhUG9zaXRpdmUgJiYgLWRlbHRhID4gc2Nyb2xsVG9wKSB7XG4gICAgICBpZiAob25Ub3BBcnJpdmUgJiYgIWlzVG9wLmN1cnJlbnQpIHtcbiAgICAgICAgb25Ub3BBcnJpdmUoZXZlbnQpO1xuICAgICAgfVxuICAgICAgdGFyZ2V0LnNjcm9sbFRvcCA9IDA7XG4gICAgICBzaG91bGRDYW5jZWxTY3JvbGwgPSB0cnVlO1xuICAgICAgaXNUb3AuY3VycmVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gY2FuY2VsIHNjcm9sbFxuICAgIGlmIChzaG91bGRDYW5jZWxTY3JvbGwpIHtcbiAgICAgIGNhbmNlbFNjcm9sbChldmVudCk7XG4gICAgfVxuICB9LCBbb25Cb3R0b21BcnJpdmUsIG9uQm90dG9tTGVhdmUsIG9uVG9wQXJyaXZlLCBvblRvcExlYXZlXSk7XG4gIHZhciBvbldoZWVsID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgaGFuZGxlRXZlbnREZWx0YShldmVudCwgZXZlbnQuZGVsdGFZKTtcbiAgfSwgW2hhbmRsZUV2ZW50RGVsdGFdKTtcbiAgdmFyIG9uVG91Y2hTdGFydCA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIHNldCB0b3VjaCBzdGFydCBzbyB3ZSBjYW4gY2FsY3VsYXRlIHRvdWNobW92ZSBkZWx0YVxuICAgIHRvdWNoU3RhcnQuY3VycmVudCA9IGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFk7XG4gIH0sIFtdKTtcbiAgdmFyIG9uVG91Y2hNb3ZlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgdmFyIGRlbHRhWSA9IHRvdWNoU3RhcnQuY3VycmVudCAtIGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFk7XG4gICAgaGFuZGxlRXZlbnREZWx0YShldmVudCwgZGVsdGFZKTtcbiAgfSwgW2hhbmRsZUV2ZW50RGVsdGFdKTtcbiAgdmFyIHN0YXJ0TGlzdGVuaW5nID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKGVsKSB7XG4gICAgLy8gYmFpbCBlYXJseSBpZiBubyBlbGVtZW50IGlzIGF2YWlsYWJsZSB0byBhdHRhY2ggdG9cbiAgICBpZiAoIWVsKSByZXR1cm47XG4gICAgdmFyIG5vdFBhc3NpdmUgPSBzdXBwb3J0c1Bhc3NpdmVFdmVudHMgPyB7XG4gICAgICBwYXNzaXZlOiBmYWxzZVxuICAgIH0gOiBmYWxzZTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIG9uV2hlZWwsIG5vdFBhc3NpdmUpO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBvblRvdWNoU3RhcnQsIG5vdFBhc3NpdmUpO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIG9uVG91Y2hNb3ZlLCBub3RQYXNzaXZlKTtcbiAgfSwgW29uVG91Y2hNb3ZlLCBvblRvdWNoU3RhcnQsIG9uV2hlZWxdKTtcbiAgdmFyIHN0b3BMaXN0ZW5pbmcgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoZWwpIHtcbiAgICAvLyBiYWlsIGVhcmx5IGlmIG5vIGVsZW1lbnQgaXMgYXZhaWxhYmxlIHRvIGRldGFjaCBmcm9tXG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgb25XaGVlbCwgZmFsc2UpO1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBvblRvdWNoU3RhcnQsIGZhbHNlKTtcbiAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBvblRvdWNoTW92ZSwgZmFsc2UpO1xuICB9LCBbb25Ub3VjaE1vdmUsIG9uVG91Y2hTdGFydCwgb25XaGVlbF0pO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmICghaXNFbmFibGVkKSByZXR1cm47XG4gICAgdmFyIGVsZW1lbnQgPSBzY3JvbGxUYXJnZXQuY3VycmVudDtcbiAgICBzdGFydExpc3RlbmluZyhlbGVtZW50KTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgc3RvcExpc3RlbmluZyhlbGVtZW50KTtcbiAgICB9O1xuICB9LCBbaXNFbmFibGVkLCBzdGFydExpc3RlbmluZywgc3RvcExpc3RlbmluZ10pO1xuICByZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICBzY3JvbGxUYXJnZXQuY3VycmVudCA9IGVsZW1lbnQ7XG4gIH07XG59XG5cbnZhciBTVFlMRV9LRVlTID0gWydib3hTaXppbmcnLCAnaGVpZ2h0JywgJ292ZXJmbG93JywgJ3BhZGRpbmdSaWdodCcsICdwb3NpdGlvbiddO1xudmFyIExPQ0tfU1RZTEVTID0ge1xuICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgLy8gYWNjb3VudCBmb3IgcG9zc2libGUgZGVjbGFyYXRpb24gYHdpZHRoOiAxMDAlO2Agb24gYm9keVxuICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBoZWlnaHQ6ICcxMDAlJ1xufTtcbmZ1bmN0aW9uIHByZXZlbnRUb3VjaE1vdmUoZSkge1xuICBpZiAoZS5jYW5jZWxhYmxlKSBlLnByZXZlbnREZWZhdWx0KCk7XG59XG5mdW5jdGlvbiBhbGxvd1RvdWNoTW92ZShlKSB7XG4gIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG5mdW5jdGlvbiBwcmV2ZW50SW5lcnRpYVNjcm9sbCgpIHtcbiAgdmFyIHRvcCA9IHRoaXMuc2Nyb2xsVG9wO1xuICB2YXIgdG90YWxTY3JvbGwgPSB0aGlzLnNjcm9sbEhlaWdodDtcbiAgdmFyIGN1cnJlbnRTY3JvbGwgPSB0b3AgKyB0aGlzLm9mZnNldEhlaWdodDtcbiAgaWYgKHRvcCA9PT0gMCkge1xuICAgIHRoaXMuc2Nyb2xsVG9wID0gMTtcbiAgfSBlbHNlIGlmIChjdXJyZW50U2Nyb2xsID09PSB0b3RhbFNjcm9sbCkge1xuICAgIHRoaXMuc2Nyb2xsVG9wID0gdG9wIC0gMTtcbiAgfVxufVxuXG4vLyBgb250b3VjaHN0YXJ0YCBjaGVjayB3b3JrcyBvbiBtb3N0IGJyb3dzZXJzXG4vLyBgbWF4VG91Y2hQb2ludHNgIHdvcmtzIG9uIElFMTAvMTEgYW5kIFN1cmZhY2VcbmZ1bmN0aW9uIGlzVG91Y2hEZXZpY2UoKSB7XG4gIHJldHVybiAnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cgfHwgbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzO1xufVxudmFyIGNhblVzZURPTSA9ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG52YXIgYWN0aXZlU2Nyb2xsTG9ja3MgPSAwO1xudmFyIGxpc3RlbmVyT3B0aW9ucyA9IHtcbiAgY2FwdHVyZTogZmFsc2UsXG4gIHBhc3NpdmU6IGZhbHNlXG59O1xuZnVuY3Rpb24gdXNlU2Nyb2xsTG9jayhfcmVmKSB7XG4gIHZhciBpc0VuYWJsZWQgPSBfcmVmLmlzRW5hYmxlZCxcbiAgICBfcmVmJGFjY291bnRGb3JTY3JvbGwgPSBfcmVmLmFjY291bnRGb3JTY3JvbGxiYXJzLFxuICAgIGFjY291bnRGb3JTY3JvbGxiYXJzID0gX3JlZiRhY2NvdW50Rm9yU2Nyb2xsID09PSB2b2lkIDAgPyB0cnVlIDogX3JlZiRhY2NvdW50Rm9yU2Nyb2xsO1xuICB2YXIgb3JpZ2luYWxTdHlsZXMgPSB1c2VSZWYoe30pO1xuICB2YXIgc2Nyb2xsVGFyZ2V0ID0gdXNlUmVmKG51bGwpO1xuICB2YXIgYWRkU2Nyb2xsTG9jayA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uICh0b3VjaFNjcm9sbFRhcmdldCkge1xuICAgIGlmICghY2FuVXNlRE9NKSByZXR1cm47XG4gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmJvZHk7XG4gICAgdmFyIHRhcmdldFN0eWxlID0gdGFyZ2V0ICYmIHRhcmdldC5zdHlsZTtcbiAgICBpZiAoYWNjb3VudEZvclNjcm9sbGJhcnMpIHtcbiAgICAgIC8vIHN0b3JlIGFueSBzdHlsZXMgYWxyZWFkeSBhcHBsaWVkIHRvIHRoZSBib2R5XG4gICAgICBTVFlMRV9LRVlTLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICB2YXIgdmFsID0gdGFyZ2V0U3R5bGUgJiYgdGFyZ2V0U3R5bGVba2V5XTtcbiAgICAgICAgb3JpZ2luYWxTdHlsZXMuY3VycmVudFtrZXldID0gdmFsO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gYXBwbHkgdGhlIGxvY2sgc3R5bGVzIGFuZCBwYWRkaW5nIGlmIHRoaXMgaXMgdGhlIGZpcnN0IHNjcm9sbCBsb2NrXG4gICAgaWYgKGFjY291bnRGb3JTY3JvbGxiYXJzICYmIGFjdGl2ZVNjcm9sbExvY2tzIDwgMSkge1xuICAgICAgdmFyIGN1cnJlbnRQYWRkaW5nID0gcGFyc2VJbnQob3JpZ2luYWxTdHlsZXMuY3VycmVudC5wYWRkaW5nUmlnaHQsIDEwKSB8fCAwO1xuICAgICAgdmFyIGNsaWVudFdpZHRoID0gZG9jdW1lbnQuYm9keSA/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggOiAwO1xuICAgICAgdmFyIGFkanVzdGVkUGFkZGluZyA9IHdpbmRvdy5pbm5lcldpZHRoIC0gY2xpZW50V2lkdGggKyBjdXJyZW50UGFkZGluZyB8fCAwO1xuICAgICAgT2JqZWN0LmtleXMoTE9DS19TVFlMRVMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICB2YXIgdmFsID0gTE9DS19TVFlMRVNba2V5XTtcbiAgICAgICAgaWYgKHRhcmdldFN0eWxlKSB7XG4gICAgICAgICAgdGFyZ2V0U3R5bGVba2V5XSA9IHZhbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAodGFyZ2V0U3R5bGUpIHtcbiAgICAgICAgdGFyZ2V0U3R5bGUucGFkZGluZ1JpZ2h0ID0gXCJcIi5jb25jYXQoYWRqdXN0ZWRQYWRkaW5nLCBcInB4XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGFjY291bnQgZm9yIHRvdWNoIGRldmljZXNcbiAgICBpZiAodGFyZ2V0ICYmIGlzVG91Y2hEZXZpY2UoKSkge1xuICAgICAgLy8gTW9iaWxlIFNhZmFyaSBpZ25vcmVzIHsgb3ZlcmZsb3c6IGhpZGRlbiB9IGRlY2xhcmF0aW9uIG9uIHRoZSBib2R5LlxuICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHByZXZlbnRUb3VjaE1vdmUsIGxpc3RlbmVyT3B0aW9ucyk7XG5cbiAgICAgIC8vIEFsbG93IHNjcm9sbCBvbiBwcm92aWRlZCB0YXJnZXRcbiAgICAgIGlmICh0b3VjaFNjcm9sbFRhcmdldCkge1xuICAgICAgICB0b3VjaFNjcm9sbFRhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgcHJldmVudEluZXJ0aWFTY3JvbGwsIGxpc3RlbmVyT3B0aW9ucyk7XG4gICAgICAgIHRvdWNoU2Nyb2xsVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGFsbG93VG91Y2hNb3ZlLCBsaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGluY3JlbWVudCBhY3RpdmUgc2Nyb2xsIGxvY2tzXG4gICAgYWN0aXZlU2Nyb2xsTG9ja3MgKz0gMTtcbiAgfSwgW2FjY291bnRGb3JTY3JvbGxiYXJzXSk7XG4gIHZhciByZW1vdmVTY3JvbGxMb2NrID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHRvdWNoU2Nyb2xsVGFyZ2V0KSB7XG4gICAgaWYgKCFjYW5Vc2VET00pIHJldHVybjtcbiAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuYm9keTtcbiAgICB2YXIgdGFyZ2V0U3R5bGUgPSB0YXJnZXQgJiYgdGFyZ2V0LnN0eWxlO1xuXG4gICAgLy8gc2FmZWx5IGRlY3JlbWVudCBhY3RpdmUgc2Nyb2xsIGxvY2tzXG4gICAgYWN0aXZlU2Nyb2xsTG9ja3MgPSBNYXRoLm1heChhY3RpdmVTY3JvbGxMb2NrcyAtIDEsIDApO1xuXG4gICAgLy8gcmVhcHBseSBvcmlnaW5hbCBib2R5IHN0eWxlcywgaWYgYW55XG4gICAgaWYgKGFjY291bnRGb3JTY3JvbGxiYXJzICYmIGFjdGl2ZVNjcm9sbExvY2tzIDwgMSkge1xuICAgICAgU1RZTEVfS0VZUy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgdmFyIHZhbCA9IG9yaWdpbmFsU3R5bGVzLmN1cnJlbnRba2V5XTtcbiAgICAgICAgaWYgKHRhcmdldFN0eWxlKSB7XG4gICAgICAgICAgdGFyZ2V0U3R5bGVba2V5XSA9IHZhbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIHRvdWNoIGxpc3RlbmVyc1xuICAgIGlmICh0YXJnZXQgJiYgaXNUb3VjaERldmljZSgpKSB7XG4gICAgICB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgcHJldmVudFRvdWNoTW92ZSwgbGlzdGVuZXJPcHRpb25zKTtcbiAgICAgIGlmICh0b3VjaFNjcm9sbFRhcmdldCkge1xuICAgICAgICB0b3VjaFNjcm9sbFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgcHJldmVudEluZXJ0aWFTY3JvbGwsIGxpc3RlbmVyT3B0aW9ucyk7XG4gICAgICAgIHRvdWNoU2Nyb2xsVGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGFsbG93VG91Y2hNb3ZlLCBsaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2FjY291bnRGb3JTY3JvbGxiYXJzXSk7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFpc0VuYWJsZWQpIHJldHVybjtcbiAgICB2YXIgZWxlbWVudCA9IHNjcm9sbFRhcmdldC5jdXJyZW50O1xuICAgIGFkZFNjcm9sbExvY2soZWxlbWVudCk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJlbW92ZVNjcm9sbExvY2soZWxlbWVudCk7XG4gICAgfTtcbiAgfSwgW2lzRW5hYmxlZCwgYWRkU2Nyb2xsTG9jaywgcmVtb3ZlU2Nyb2xsTG9ja10pO1xuICByZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICBzY3JvbGxUYXJnZXQuY3VycmVudCA9IGVsZW1lbnQ7XG4gIH07XG59XG5cbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fJDEoKSB7IHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjsgfVxudmFyIGJsdXJTZWxlY3RJbnB1dCA9IGZ1bmN0aW9uIGJsdXJTZWxlY3RJbnB1dChldmVudCkge1xuICB2YXIgZWxlbWVudCA9IGV2ZW50LnRhcmdldDtcbiAgcmV0dXJuIGVsZW1lbnQub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmIGVsZW1lbnQub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbn07XG52YXIgX3JlZjIkMSA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcbiAgbmFtZTogXCIxa2ZkYjBlXCIsXG4gIHN0eWxlczogXCJwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MDt0b3A6MFwiXG59IDoge1xuICBuYW1lOiBcImJwOGN1YS1TY3JvbGxNYW5hZ2VyXCIsXG4gIHN0eWxlczogXCJwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MDt0b3A6MDtsYWJlbDpTY3JvbGxNYW5hZ2VyO1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxOamNtOXNiRTFoYm1GblpYSXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVc5RVZTSXNJbVpwYkdVaU9pSlRZM0p2Ykd4TllXNWhaMlZ5TG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2lCQWFuTjRJR3B6ZUNBcUwxeHVhVzF3YjNKMElIc2dhbk40SUgwZ1puSnZiU0FuUUdWdGIzUnBiMjR2Y21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnUm5KaFoyMWxiblFzSUZKbFlXTjBSV3hsYldWdWRDd2dVbVZtUTJGc2JHSmhZMnNzSUUxdmRYTmxSWFpsYm5RZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnZFhObFUyTnliMnhzUTJGd2RIVnlaU0JtY205dElDY3VMM1Z6WlZOamNtOXNiRU5oY0hSMWNtVW5PMXh1YVcxd2IzSjBJSFZ6WlZOamNtOXNiRXh2WTJzZ1puSnZiU0FuTGk5MWMyVlRZM0p2Ykd4TWIyTnJKenRjYmx4dWFXNTBaWEptWVdObElGQnliM0J6SUh0Y2JpQWdjbVZoWkc5dWJIa2dZMmhwYkdSeVpXNDZJQ2h5WldZNklGSmxaa05oYkd4aVlXTnJQRWhVVFV4RmJHVnRaVzUwUGlrZ1BUNGdVbVZoWTNSRmJHVnRaVzUwTzF4dUlDQnlaV0ZrYjI1c2VTQnNiMk5yUlc1aFlteGxaRG9nWW05dmJHVmhianRjYmlBZ2NtVmhaRzl1YkhrZ1kyRndkSFZ5WlVWdVlXSnNaV1E2SUdKdmIyeGxZVzQ3WEc0Z0lISmxZV1J2Ym14NUlHOXVRbTkwZEc5dFFYSnlhWFpsUHpvZ0tHVjJaVzUwT2lCWGFHVmxiRVYyWlc1MElId2dWRzkxWTJoRmRtVnVkQ2tnUFQ0Z2RtOXBaRHRjYmlBZ2NtVmhaRzl1YkhrZ2IyNUNiM1IwYjIxTVpXRjJaVDg2SUNobGRtVnVkRG9nVjJobFpXeEZkbVZ1ZENCOElGUnZkV05vUlhabGJuUXBJRDArSUhadmFXUTdYRzRnSUhKbFlXUnZibXg1SUc5dVZHOXdRWEp5YVhabFB6b2dLR1YyWlc1ME9pQlhhR1ZsYkVWMlpXNTBJSHdnVkc5MVkyaEZkbVZ1ZENrZ1BUNGdkbTlwWkR0Y2JpQWdjbVZoWkc5dWJIa2diMjVVYjNCTVpXRjJaVDg2SUNobGRtVnVkRG9nVjJobFpXeEZkbVZ1ZENCOElGUnZkV05vUlhabGJuUXBJRDArSUhadmFXUTdYRzU5WEc1Y2JtTnZibk4wSUdKc2RYSlRaV3hsWTNSSmJuQjFkQ0E5SUNobGRtVnVkRG9nVFc5MWMyVkZkbVZ1ZER4SVZFMU1SR2wyUld4bGJXVnVkRDRwSUQwK0lIdGNiaUFnWTI5dWMzUWdaV3hsYldWdWRDQTlJR1YyWlc1MExuUmhjbWRsZENCaGN5QklWRTFNUkdsMlJXeGxiV1Z1ZER0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNCbGJHVnRaVzUwTG05M2JtVnlSRzlqZFcxbGJuUXVZV04wYVhabFJXeGxiV1Z1ZENBbUpseHVJQ0FnSUNobGJHVnRaVzUwTG05M2JtVnlSRzlqZFcxbGJuUXVZV04wYVhabFJXeGxiV1Z1ZENCaGN5QklWRTFNUld4bGJXVnVkQ2t1WW14MWNpZ3BYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JtZFc1amRHbHZiaUJUWTNKdmJHeE5ZVzVoWjJWeUtIdGNiaUFnWTJocGJHUnlaVzRzWEc0Z0lHeHZZMnRGYm1GaWJHVmtMRnh1SUNCallYQjBkWEpsUlc1aFlteGxaQ0E5SUhSeWRXVXNYRzRnSUc5dVFtOTBkRzl0UVhKeWFYWmxMRnh1SUNCdmJrSnZkSFJ2YlV4bFlYWmxMRnh1SUNCdmJsUnZjRUZ5Y21sMlpTeGNiaUFnYjI1VWIzQk1aV0YyWlN4Y2JuMDZJRkJ5YjNCektTQjdYRzRnSUdOdmJuTjBJSE5sZEZOamNtOXNiRU5oY0hSMWNtVlVZWEpuWlhRZ1BTQjFjMlZUWTNKdmJHeERZWEIwZFhKbEtIdGNiaUFnSUNCcGMwVnVZV0pzWldRNklHTmhjSFIxY21WRmJtRmliR1ZrTEZ4dUlDQWdJRzl1UW05MGRHOXRRWEp5YVhabExGeHVJQ0FnSUc5dVFtOTBkRzl0VEdWaGRtVXNYRzRnSUNBZ2IyNVViM0JCY25KcGRtVXNYRzRnSUNBZ2IyNVViM0JNWldGMlpTeGNiaUFnZlNrN1hHNGdJR052Ym5OMElITmxkRk5qY205c2JFeHZZMnRVWVhKblpYUWdQU0IxYzJWVFkzSnZiR3hNYjJOcktIc2dhWE5GYm1GaWJHVmtPaUJzYjJOclJXNWhZbXhsWkNCOUtUdGNibHh1SUNCamIyNXpkQ0IwWVhKblpYUlNaV1k2SUZKbFprTmhiR3hpWVdOclBFaFVUVXhGYkdWdFpXNTBQaUE5SUNobGJHVnRaVzUwS1NBOVBpQjdYRzRnSUNBZ2MyVjBVMk55YjJ4c1EyRndkSFZ5WlZSaGNtZGxkQ2hsYkdWdFpXNTBLVHRjYmlBZ0lDQnpaWFJUWTNKdmJHeE1iMk5yVkdGeVoyVjBLR1ZzWlcxbGJuUXBPMXh1SUNCOU8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRVp5WVdkdFpXNTBQbHh1SUNBZ0lDQWdlMnh2WTJ0RmJtRmliR1ZrSUNZbUlDaGNiaUFnSUNBZ0lDQWdQR1JwZGx4dUlDQWdJQ0FnSUNBZ0lHOXVRMnhwWTJzOWUySnNkWEpUWld4bFkzUkpibkIxZEgxY2JpQWdJQ0FnSUNBZ0lDQmpjM005ZTNzZ2NHOXphWFJwYjI0NklDZG1hWGhsWkNjc0lHeGxablE2SURBc0lHSnZkSFJ2YlRvZ01Dd2djbWxuYUhRNklEQXNJSFJ2Y0RvZ01DQjlmVnh1SUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0FnSUh0amFHbHNaSEpsYmloMFlYSm5aWFJTWldZcGZWeHVJQ0FnSUR3dlJuSmhaMjFsYm5RK1hHNGdJQ2s3WEc1OVhHNGlYWDA9ICovXCIsXG4gIHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXyQxXG59O1xuZnVuY3Rpb24gU2Nyb2xsTWFuYWdlcihfcmVmKSB7XG4gIHZhciBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW4sXG4gICAgbG9ja0VuYWJsZWQgPSBfcmVmLmxvY2tFbmFibGVkLFxuICAgIF9yZWYkY2FwdHVyZUVuYWJsZWQgPSBfcmVmLmNhcHR1cmVFbmFibGVkLFxuICAgIGNhcHR1cmVFbmFibGVkID0gX3JlZiRjYXB0dXJlRW5hYmxlZCA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9yZWYkY2FwdHVyZUVuYWJsZWQsXG4gICAgb25Cb3R0b21BcnJpdmUgPSBfcmVmLm9uQm90dG9tQXJyaXZlLFxuICAgIG9uQm90dG9tTGVhdmUgPSBfcmVmLm9uQm90dG9tTGVhdmUsXG4gICAgb25Ub3BBcnJpdmUgPSBfcmVmLm9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmUgPSBfcmVmLm9uVG9wTGVhdmU7XG4gIHZhciBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0ID0gdXNlU2Nyb2xsQ2FwdHVyZSh7XG4gICAgaXNFbmFibGVkOiBjYXB0dXJlRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZTogb25Cb3R0b21BcnJpdmUsXG4gICAgb25Cb3R0b21MZWF2ZTogb25Cb3R0b21MZWF2ZSxcbiAgICBvblRvcEFycml2ZTogb25Ub3BBcnJpdmUsXG4gICAgb25Ub3BMZWF2ZTogb25Ub3BMZWF2ZVxuICB9KTtcbiAgdmFyIHNldFNjcm9sbExvY2tUYXJnZXQgPSB1c2VTY3JvbGxMb2NrKHtcbiAgICBpc0VuYWJsZWQ6IGxvY2tFbmFibGVkXG4gIH0pO1xuICB2YXIgdGFyZ2V0UmVmID0gZnVuY3Rpb24gdGFyZ2V0UmVmKGVsZW1lbnQpIHtcbiAgICBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0KGVsZW1lbnQpO1xuICAgIHNldFNjcm9sbExvY2tUYXJnZXQoZWxlbWVudCk7XG4gIH07XG4gIHJldHVybiBqc3goRnJhZ21lbnQsIG51bGwsIGxvY2tFbmFibGVkICYmIGpzeChcImRpdlwiLCB7XG4gICAgb25DbGljazogYmx1clNlbGVjdElucHV0LFxuICAgIGNzczogX3JlZjIkMVxuICB9KSwgY2hpbGRyZW4odGFyZ2V0UmVmKSk7XG59XG5cbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkgeyByZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7IH1cbnZhciBfcmVmMiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcbiAgbmFtZTogXCIxYTBybzRuLXJlcXVpcmVkSW5wdXRcIixcbiAgc3R5bGVzOiBcImxhYmVsOnJlcXVpcmVkSW5wdXQ7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7d2lkdGg6MTAwJVwiXG59IDoge1xuICBuYW1lOiBcIjVra3hiMi1yZXF1aXJlZElucHV0LVJlcXVpcmVkSW5wdXRcIixcbiAgc3R5bGVzOiBcImxhYmVsOnJlcXVpcmVkSW5wdXQ7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7d2lkdGg6MTAwJTtsYWJlbDpSZXF1aXJlZElucHV0O1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxKbGNYVnBjbVZrU1c1d2RYUXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVdOSklpd2labWxzWlNJNklsSmxjWFZwY21Wa1NXNXdkWFF1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xSUVCcWMzZ2dhbk40SUNvdlhHNXBiWEJ2Y25RZ2V5QkdiMk4xYzBWMlpXNTBTR0Z1Wkd4bGNpd2dSblZ1WTNScGIyNURiMjF3YjI1bGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2V5QnFjM2dnZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVjYm1OdmJuTjBJRkpsY1hWcGNtVmtTVzV3ZFhRNklFWjFibU4wYVc5dVEyOXRjRzl1Wlc1MFBIdGNiaUFnY21WaFpHOXViSGtnYm1GdFpUODZJSE4wY21sdVp6dGNiaUFnY21WaFpHOXViSGtnYjI1R2IyTjFjem9nUm05amRYTkZkbVZ1ZEVoaGJtUnNaWEk4U0ZSTlRFbHVjSFYwUld4bGJXVnVkRDQ3WEc1OVBpQTlJQ2g3SUc1aGJXVXNJRzl1Um05amRYTWdmU2tnUFQ0Z0tGeHVJQ0E4YVc1d2RYUmNiaUFnSUNCeVpYRjFhWEpsWkZ4dUlDQWdJRzVoYldVOWUyNWhiV1Y5WEc0Z0lDQWdkR0ZpU1c1a1pYZzlleTB4ZlZ4dUlDQWdJR0Z5YVdFdGFHbGtaR1Z1UFZ3aWRISjFaVndpWEc0Z0lDQWdiMjVHYjJOMWN6MTdiMjVHYjJOMWMzMWNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR3hoWW1Wc09pQW5jbVZ4ZFdseVpXUkpibkIxZENjc1hHNGdJQ0FnSUNCdmNHRmphWFI1T2lBd0xGeHVJQ0FnSUNBZ2NHOXBiblJsY2tWMlpXNTBjem9nSjI1dmJtVW5MRnh1SUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdJQ0JpYjNSMGIyMDZJREFzWEc0Z0lDQWdJQ0JzWldaME9pQXdMRnh1SUNBZ0lDQWdjbWxuYUhRNklEQXNYRzRnSUNBZ0lDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQWdJSDE5WEc0Z0lDQWdMeThnVUhKbGRtVnVkQ0JnVTNkcGRHTm9hVzVuSUdaeWIyMGdkVzVqYjI1MGNtOXNiR1ZrSUhSdklHTnZiblJ5YjJ4c1pXUmdJR1Z5Y205eVhHNGdJQ0FnZG1Gc2RXVTlYQ0pjSWx4dUlDQWdJRzl1UTJoaGJtZGxQWHNvS1NBOVBpQjdmWDFjYmlBZ0x6NWNiaWs3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUZKbGNYVnBjbVZrU1c1d2RYUTdYRzRpWFgwPSAqL1wiLFxuICB0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn07XG52YXIgUmVxdWlyZWRJbnB1dCA9IGZ1bmN0aW9uIFJlcXVpcmVkSW5wdXQoX3JlZikge1xuICB2YXIgbmFtZSA9IF9yZWYubmFtZSxcbiAgICBvbkZvY3VzID0gX3JlZi5vbkZvY3VzO1xuICByZXR1cm4ganN4KFwiaW5wdXRcIiwge1xuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIG5hbWU6IG5hbWUsXG4gICAgdGFiSW5kZXg6IC0xLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgb25Gb2N1czogb25Gb2N1cyxcbiAgICBjc3M6IF9yZWYyXG4gICAgLy8gUHJldmVudCBgU3dpdGNoaW5nIGZyb20gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWRgIGVycm9yXG4gICAgLFxuICAgIHZhbHVlOiBcIlwiLFxuICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSgpIHt9XG4gIH0pO1xufTtcbnZhciBSZXF1aXJlZElucHV0JDEgPSBSZXF1aXJlZElucHV0O1xuXG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cInVzZXItYWdlbnQtZGF0YS10eXBlc1wiIC8+XG5cbmZ1bmN0aW9uIHRlc3RQbGF0Zm9ybShyZSkge1xuICB2YXIgX3dpbmRvdyRuYXZpZ2F0b3IkdXNlO1xuICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lm5hdmlnYXRvciAhPSBudWxsID8gcmUudGVzdCgoKF93aW5kb3ckbmF2aWdhdG9yJHVzZSA9IHdpbmRvdy5uYXZpZ2F0b3JbJ3VzZXJBZ2VudERhdGEnXSkgPT09IG51bGwgfHwgX3dpbmRvdyRuYXZpZ2F0b3IkdXNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfd2luZG93JG5hdmlnYXRvciR1c2UucGxhdGZvcm0pIHx8IHdpbmRvdy5uYXZpZ2F0b3IucGxhdGZvcm0pIDogZmFsc2U7XG59XG5mdW5jdGlvbiBpc0lQaG9uZSgpIHtcbiAgcmV0dXJuIHRlc3RQbGF0Zm9ybSgvXmlQaG9uZS9pKTtcbn1cbmZ1bmN0aW9uIGlzTWFjKCkge1xuICByZXR1cm4gdGVzdFBsYXRmb3JtKC9eTWFjL2kpO1xufVxuZnVuY3Rpb24gaXNJUGFkKCkge1xuICByZXR1cm4gdGVzdFBsYXRmb3JtKC9eaVBhZC9pKSB8fFxuICAvLyBpUGFkT1MgMTMgbGllcyBhbmQgc2F5cyBpdCdzIGEgTWFjLCBidXQgd2UgY2FuIGRpc3Rpbmd1aXNoIGJ5IGRldGVjdGluZyB0b3VjaCBzdXBwb3J0LlxuICBpc01hYygpICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDE7XG59XG5mdW5jdGlvbiBpc0lPUygpIHtcbiAgcmV0dXJuIGlzSVBob25lKCkgfHwgaXNJUGFkKCk7XG59XG5mdW5jdGlvbiBpc0FwcGxlRGV2aWNlKCkge1xuICByZXR1cm4gaXNNYWMoKSB8fCBpc0lPUygpO1xufVxuXG52YXIgZm9ybWF0R3JvdXBMYWJlbCA9IGZ1bmN0aW9uIGZvcm1hdEdyb3VwTGFiZWwoZ3JvdXApIHtcbiAgcmV0dXJuIGdyb3VwLmxhYmVsO1xufTtcbnZhciBnZXRPcHRpb25MYWJlbCQxID0gZnVuY3Rpb24gZ2V0T3B0aW9uTGFiZWwob3B0aW9uKSB7XG4gIHJldHVybiBvcHRpb24ubGFiZWw7XG59O1xudmFyIGdldE9wdGlvblZhbHVlJDEgPSBmdW5jdGlvbiBnZXRPcHRpb25WYWx1ZShvcHRpb24pIHtcbiAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbn07XG52YXIgaXNPcHRpb25EaXNhYmxlZCA9IGZ1bmN0aW9uIGlzT3B0aW9uRGlzYWJsZWQob3B0aW9uKSB7XG4gIHJldHVybiAhIW9wdGlvbi5pc0Rpc2FibGVkO1xufTtcblxudmFyIGRlZmF1bHRTdHlsZXMgPSB7XG4gIGNsZWFySW5kaWNhdG9yOiBjbGVhckluZGljYXRvckNTUyxcbiAgY29udGFpbmVyOiBjb250YWluZXJDU1MsXG4gIGNvbnRyb2w6IGNzcyQxLFxuICBkcm9wZG93bkluZGljYXRvcjogZHJvcGRvd25JbmRpY2F0b3JDU1MsXG4gIGdyb3VwOiBncm91cENTUyxcbiAgZ3JvdXBIZWFkaW5nOiBncm91cEhlYWRpbmdDU1MsXG4gIGluZGljYXRvcnNDb250YWluZXI6IGluZGljYXRvcnNDb250YWluZXJDU1MsXG4gIGluZGljYXRvclNlcGFyYXRvcjogaW5kaWNhdG9yU2VwYXJhdG9yQ1NTLFxuICBpbnB1dDogaW5wdXRDU1MsXG4gIGxvYWRpbmdJbmRpY2F0b3I6IGxvYWRpbmdJbmRpY2F0b3JDU1MsXG4gIGxvYWRpbmdNZXNzYWdlOiBsb2FkaW5nTWVzc2FnZUNTUyxcbiAgbWVudTogbWVudUNTUyxcbiAgbWVudUxpc3Q6IG1lbnVMaXN0Q1NTLFxuICBtZW51UG9ydGFsOiBtZW51UG9ydGFsQ1NTLFxuICBtdWx0aVZhbHVlOiBtdWx0aVZhbHVlQ1NTLFxuICBtdWx0aVZhbHVlTGFiZWw6IG11bHRpVmFsdWVMYWJlbENTUyxcbiAgbXVsdGlWYWx1ZVJlbW92ZTogbXVsdGlWYWx1ZVJlbW92ZUNTUyxcbiAgbm9PcHRpb25zTWVzc2FnZTogbm9PcHRpb25zTWVzc2FnZUNTUyxcbiAgb3B0aW9uOiBvcHRpb25DU1MsXG4gIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlckNTUyxcbiAgc2luZ2xlVmFsdWU6IGNzcyQyLFxuICB2YWx1ZUNvbnRhaW5lcjogdmFsdWVDb250YWluZXJDU1Ncbn07XG4vLyBNZXJnZSBVdGlsaXR5XG4vLyBBbGxvd3MgY29uc3VtZXJzIHRvIGV4dGVuZCBhIGJhc2UgU2VsZWN0IHdpdGggYWRkaXRpb25hbCBzdHlsZXNcblxuZnVuY3Rpb24gbWVyZ2VTdHlsZXMoc291cmNlKSB7XG4gIHZhciB0YXJnZXQgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICAvLyBpbml0aWFsaXplIHdpdGggc291cmNlIHN0eWxlc1xuICB2YXIgc3R5bGVzID0gX29iamVjdFNwcmVhZCh7fSwgc291cmNlKTtcblxuICAvLyBtYXNzYWdlIGluIHRhcmdldCBzdHlsZXNcbiAgT2JqZWN0LmtleXModGFyZ2V0KS5mb3JFYWNoKGZ1bmN0aW9uIChrZXlBc1N0cmluZykge1xuICAgIHZhciBrZXkgPSBrZXlBc1N0cmluZztcbiAgICBpZiAoc291cmNlW2tleV0pIHtcbiAgICAgIHN0eWxlc1trZXldID0gZnVuY3Rpb24gKHJzQ3NzLCBwcm9wcykge1xuICAgICAgICByZXR1cm4gdGFyZ2V0W2tleV0oc291cmNlW2tleV0ocnNDc3MsIHByb3BzKSwgcHJvcHMpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzW2tleV0gPSB0YXJnZXRba2V5XTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gc3R5bGVzO1xufVxuXG52YXIgY29sb3JzID0ge1xuICBwcmltYXJ5OiAnIzI2ODRGRicsXG4gIHByaW1hcnk3NTogJyM0QzlBRkYnLFxuICBwcmltYXJ5NTA6ICcjQjJENEZGJyxcbiAgcHJpbWFyeTI1OiAnI0RFRUJGRicsXG4gIGRhbmdlcjogJyNERTM1MEInLFxuICBkYW5nZXJMaWdodDogJyNGRkJEQUQnLFxuICBuZXV0cmFsMDogJ2hzbCgwLCAwJSwgMTAwJSknLFxuICBuZXV0cmFsNTogJ2hzbCgwLCAwJSwgOTUlKScsXG4gIG5ldXRyYWwxMDogJ2hzbCgwLCAwJSwgOTAlKScsXG4gIG5ldXRyYWwyMDogJ2hzbCgwLCAwJSwgODAlKScsXG4gIG5ldXRyYWwzMDogJ2hzbCgwLCAwJSwgNzAlKScsXG4gIG5ldXRyYWw0MDogJ2hzbCgwLCAwJSwgNjAlKScsXG4gIG5ldXRyYWw1MDogJ2hzbCgwLCAwJSwgNTAlKScsXG4gIG5ldXRyYWw2MDogJ2hzbCgwLCAwJSwgNDAlKScsXG4gIG5ldXRyYWw3MDogJ2hzbCgwLCAwJSwgMzAlKScsXG4gIG5ldXRyYWw4MDogJ2hzbCgwLCAwJSwgMjAlKScsXG4gIG5ldXRyYWw5MDogJ2hzbCgwLCAwJSwgMTAlKSdcbn07XG52YXIgYm9yZGVyUmFkaXVzID0gNDtcbi8vIFVzZWQgdG8gY2FsY3VsYXRlIGNvbnNpc3RlbnQgbWFyZ2luL3BhZGRpbmcgb24gZWxlbWVudHNcbnZhciBiYXNlVW5pdCA9IDQ7XG4vLyBUaGUgbWluaW11bSBoZWlnaHQgb2YgdGhlIGNvbnRyb2xcbnZhciBjb250cm9sSGVpZ2h0ID0gMzg7XG4vLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIGNvbnRyb2wgYW5kIG1lbnUgKi9cbnZhciBtZW51R3V0dGVyID0gYmFzZVVuaXQgKiAyO1xudmFyIHNwYWNpbmcgPSB7XG4gIGJhc2VVbml0OiBiYXNlVW5pdCxcbiAgY29udHJvbEhlaWdodDogY29udHJvbEhlaWdodCxcbiAgbWVudUd1dHRlcjogbWVudUd1dHRlclxufTtcbnZhciBkZWZhdWx0VGhlbWUgPSB7XG4gIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzLFxuICBjb2xvcnM6IGNvbG9ycyxcbiAgc3BhY2luZzogc3BhY2luZ1xufTtcblxudmFyIGRlZmF1bHRQcm9wcyA9IHtcbiAgJ2FyaWEtbGl2ZSc6ICdwb2xpdGUnLFxuICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU6IHRydWUsXG4gIGJsdXJJbnB1dE9uU2VsZWN0OiBpc1RvdWNoQ2FwYWJsZSgpLFxuICBjYXB0dXJlTWVudVNjcm9sbDogIWlzVG91Y2hDYXBhYmxlKCksXG4gIGNsYXNzTmFtZXM6IHt9LFxuICBjbG9zZU1lbnVPblNlbGVjdDogdHJ1ZSxcbiAgY2xvc2VNZW51T25TY3JvbGw6IGZhbHNlLFxuICBjb21wb25lbnRzOiB7fSxcbiAgY29udHJvbFNob3VsZFJlbmRlclZhbHVlOiB0cnVlLFxuICBlc2NhcGVDbGVhcnNWYWx1ZTogZmFsc2UsXG4gIGZpbHRlck9wdGlvbjogY3JlYXRlRmlsdGVyKCksXG4gIGZvcm1hdEdyb3VwTGFiZWw6IGZvcm1hdEdyb3VwTGFiZWwsXG4gIGdldE9wdGlvbkxhYmVsOiBnZXRPcHRpb25MYWJlbCQxLFxuICBnZXRPcHRpb25WYWx1ZTogZ2V0T3B0aW9uVmFsdWUkMSxcbiAgaXNEaXNhYmxlZDogZmFsc2UsXG4gIGlzTG9hZGluZzogZmFsc2UsXG4gIGlzTXVsdGk6IGZhbHNlLFxuICBpc1J0bDogZmFsc2UsXG4gIGlzU2VhcmNoYWJsZTogdHJ1ZSxcbiAgaXNPcHRpb25EaXNhYmxlZDogaXNPcHRpb25EaXNhYmxlZCxcbiAgbG9hZGluZ01lc3NhZ2U6IGZ1bmN0aW9uIGxvYWRpbmdNZXNzYWdlKCkge1xuICAgIHJldHVybiAnTG9hZGluZy4uLic7XG4gIH0sXG4gIG1heE1lbnVIZWlnaHQ6IDMwMCxcbiAgbWluTWVudUhlaWdodDogMTQwLFxuICBtZW51SXNPcGVuOiBmYWxzZSxcbiAgbWVudVBsYWNlbWVudDogJ2JvdHRvbScsXG4gIG1lbnVQb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsOiBmYWxzZSxcbiAgbWVudVNob3VsZFNjcm9sbEludG9WaWV3OiAhaXNNb2JpbGVEZXZpY2UoKSxcbiAgbm9PcHRpb25zTWVzc2FnZTogZnVuY3Rpb24gbm9PcHRpb25zTWVzc2FnZSgpIHtcbiAgICByZXR1cm4gJ05vIG9wdGlvbnMnO1xuICB9LFxuICBvcGVuTWVudU9uRm9jdXM6IGZhbHNlLFxuICBvcGVuTWVudU9uQ2xpY2s6IHRydWUsXG4gIG9wdGlvbnM6IFtdLFxuICBwYWdlU2l6ZTogNSxcbiAgcGxhY2Vob2xkZXI6ICdTZWxlY3QuLi4nLFxuICBzY3JlZW5SZWFkZXJTdGF0dXM6IGZ1bmN0aW9uIHNjcmVlblJlYWRlclN0YXR1cyhfcmVmKSB7XG4gICAgdmFyIGNvdW50ID0gX3JlZi5jb3VudDtcbiAgICByZXR1cm4gXCJcIi5jb25jYXQoY291bnQsIFwiIHJlc3VsdFwiKS5jb25jYXQoY291bnQgIT09IDEgPyAncycgOiAnJywgXCIgYXZhaWxhYmxlXCIpO1xuICB9LFxuICBzdHlsZXM6IHt9LFxuICB0YWJJbmRleDogMCxcbiAgdGFiU2VsZWN0c1ZhbHVlOiB0cnVlLFxuICB1bnN0eWxlZDogZmFsc2Vcbn07XG5mdW5jdGlvbiB0b0NhdGVnb3JpemVkT3B0aW9uKHByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlLCBpbmRleCkge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9pc09wdGlvbkRpc2FibGVkKHByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlKTtcbiAgdmFyIGlzU2VsZWN0ZWQgPSBfaXNPcHRpb25TZWxlY3RlZChwcm9wcywgb3B0aW9uLCBzZWxlY3RWYWx1ZSk7XG4gIHZhciBsYWJlbCA9IGdldE9wdGlvbkxhYmVsKHByb3BzLCBvcHRpb24pO1xuICB2YXIgdmFsdWUgPSBnZXRPcHRpb25WYWx1ZShwcm9wcywgb3B0aW9uKTtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnb3B0aW9uJyxcbiAgICBkYXRhOiBvcHRpb24sXG4gICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICBpc1NlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgIGxhYmVsOiBsYWJlbCxcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgaW5kZXg6IGluZGV4XG4gIH07XG59XG5mdW5jdGlvbiBidWlsZENhdGVnb3JpemVkT3B0aW9ucyhwcm9wcywgc2VsZWN0VmFsdWUpIHtcbiAgcmV0dXJuIHByb3BzLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChncm91cE9yT3B0aW9uLCBncm91cE9yT3B0aW9uSW5kZXgpIHtcbiAgICBpZiAoJ29wdGlvbnMnIGluIGdyb3VwT3JPcHRpb24pIHtcbiAgICAgIHZhciBjYXRlZ29yaXplZE9wdGlvbnMgPSBncm91cE9yT3B0aW9uLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24sIG9wdGlvbkluZGV4KSB7XG4gICAgICAgIHJldHVybiB0b0NhdGVnb3JpemVkT3B0aW9uKHByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlLCBvcHRpb25JbmRleCk7XG4gICAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKGNhdGVnb3JpemVkT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiBpc0ZvY3VzYWJsZShwcm9wcywgY2F0ZWdvcml6ZWRPcHRpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gY2F0ZWdvcml6ZWRPcHRpb25zLmxlbmd0aCA+IDAgPyB7XG4gICAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICAgIGRhdGE6IGdyb3VwT3JPcHRpb24sXG4gICAgICAgIG9wdGlvbnM6IGNhdGVnb3JpemVkT3B0aW9ucyxcbiAgICAgICAgaW5kZXg6IGdyb3VwT3JPcHRpb25JbmRleFxuICAgICAgfSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdmFyIGNhdGVnb3JpemVkT3B0aW9uID0gdG9DYXRlZ29yaXplZE9wdGlvbihwcm9wcywgZ3JvdXBPck9wdGlvbiwgc2VsZWN0VmFsdWUsIGdyb3VwT3JPcHRpb25JbmRleCk7XG4gICAgcmV0dXJuIGlzRm9jdXNhYmxlKHByb3BzLCBjYXRlZ29yaXplZE9wdGlvbikgPyBjYXRlZ29yaXplZE9wdGlvbiA6IHVuZGVmaW5lZDtcbiAgfSkuZmlsdGVyKG5vdE51bGxpc2gpO1xufVxuZnVuY3Rpb24gYnVpbGRGb2N1c2FibGVPcHRpb25zRnJvbUNhdGVnb3JpemVkT3B0aW9ucyhjYXRlZ29yaXplZE9wdGlvbnMpIHtcbiAgcmV0dXJuIGNhdGVnb3JpemVkT3B0aW9ucy5yZWR1Y2UoZnVuY3Rpb24gKG9wdGlvbnNBY2N1bXVsYXRvciwgY2F0ZWdvcml6ZWRPcHRpb24pIHtcbiAgICBpZiAoY2F0ZWdvcml6ZWRPcHRpb24udHlwZSA9PT0gJ2dyb3VwJykge1xuICAgICAgb3B0aW9uc0FjY3VtdWxhdG9yLnB1c2guYXBwbHkob3B0aW9uc0FjY3VtdWxhdG9yLCBfdG9Db25zdW1hYmxlQXJyYXkoY2F0ZWdvcml6ZWRPcHRpb24ub3B0aW9ucy5tYXAoZnVuY3Rpb24gKG9wdGlvbikge1xuICAgICAgICByZXR1cm4gb3B0aW9uLmRhdGE7XG4gICAgICB9KSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zQWNjdW11bGF0b3IucHVzaChjYXRlZ29yaXplZE9wdGlvbi5kYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnNBY2N1bXVsYXRvcjtcbiAgfSwgW10pO1xufVxuZnVuY3Rpb24gYnVpbGRGb2N1c2FibGVPcHRpb25zV2l0aElkcyhjYXRlZ29yaXplZE9wdGlvbnMsIG9wdGlvbklkKSB7XG4gIHJldHVybiBjYXRlZ29yaXplZE9wdGlvbnMucmVkdWNlKGZ1bmN0aW9uIChvcHRpb25zQWNjdW11bGF0b3IsIGNhdGVnb3JpemVkT3B0aW9uKSB7XG4gICAgaWYgKGNhdGVnb3JpemVkT3B0aW9uLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICAgIG9wdGlvbnNBY2N1bXVsYXRvci5wdXNoLmFwcGx5KG9wdGlvbnNBY2N1bXVsYXRvciwgX3RvQ29uc3VtYWJsZUFycmF5KGNhdGVnb3JpemVkT3B0aW9uLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiBvcHRpb24uZGF0YSxcbiAgICAgICAgICBpZDogXCJcIi5jb25jYXQob3B0aW9uSWQsIFwiLVwiKS5jb25jYXQoY2F0ZWdvcml6ZWRPcHRpb24uaW5kZXgsIFwiLVwiKS5jb25jYXQob3B0aW9uLmluZGV4KVxuICAgICAgICB9O1xuICAgICAgfSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9uc0FjY3VtdWxhdG9yLnB1c2goe1xuICAgICAgICBkYXRhOiBjYXRlZ29yaXplZE9wdGlvbi5kYXRhLFxuICAgICAgICBpZDogXCJcIi5jb25jYXQob3B0aW9uSWQsIFwiLVwiKS5jb25jYXQoY2F0ZWdvcml6ZWRPcHRpb24uaW5kZXgpXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnNBY2N1bXVsYXRvcjtcbiAgfSwgW10pO1xufVxuZnVuY3Rpb24gYnVpbGRGb2N1c2FibGVPcHRpb25zKHByb3BzLCBzZWxlY3RWYWx1ZSkge1xuICByZXR1cm4gYnVpbGRGb2N1c2FibGVPcHRpb25zRnJvbUNhdGVnb3JpemVkT3B0aW9ucyhidWlsZENhdGVnb3JpemVkT3B0aW9ucyhwcm9wcywgc2VsZWN0VmFsdWUpKTtcbn1cbmZ1bmN0aW9uIGlzRm9jdXNhYmxlKHByb3BzLCBjYXRlZ29yaXplZE9wdGlvbikge1xuICB2YXIgX3Byb3BzJGlucHV0VmFsdWUgPSBwcm9wcy5pbnB1dFZhbHVlLFxuICAgIGlucHV0VmFsdWUgPSBfcHJvcHMkaW5wdXRWYWx1ZSA9PT0gdm9pZCAwID8gJycgOiBfcHJvcHMkaW5wdXRWYWx1ZTtcbiAgdmFyIGRhdGEgPSBjYXRlZ29yaXplZE9wdGlvbi5kYXRhLFxuICAgIGlzU2VsZWN0ZWQgPSBjYXRlZ29yaXplZE9wdGlvbi5pc1NlbGVjdGVkLFxuICAgIGxhYmVsID0gY2F0ZWdvcml6ZWRPcHRpb24ubGFiZWwsXG4gICAgdmFsdWUgPSBjYXRlZ29yaXplZE9wdGlvbi52YWx1ZTtcbiAgcmV0dXJuICghc2hvdWxkSGlkZVNlbGVjdGVkT3B0aW9ucyhwcm9wcykgfHwgIWlzU2VsZWN0ZWQpICYmIF9maWx0ZXJPcHRpb24ocHJvcHMsIHtcbiAgICBsYWJlbDogbGFiZWwsXG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIGRhdGE6IGRhdGFcbiAgfSwgaW5wdXRWYWx1ZSk7XG59XG5mdW5jdGlvbiBnZXROZXh0Rm9jdXNlZFZhbHVlKHN0YXRlLCBuZXh0U2VsZWN0VmFsdWUpIHtcbiAgdmFyIGZvY3VzZWRWYWx1ZSA9IHN0YXRlLmZvY3VzZWRWYWx1ZSxcbiAgICBsYXN0U2VsZWN0VmFsdWUgPSBzdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgdmFyIGxhc3RGb2N1c2VkSW5kZXggPSBsYXN0U2VsZWN0VmFsdWUuaW5kZXhPZihmb2N1c2VkVmFsdWUpO1xuICBpZiAobGFzdEZvY3VzZWRJbmRleCA+IC0xKSB7XG4gICAgdmFyIG5leHRGb2N1c2VkSW5kZXggPSBuZXh0U2VsZWN0VmFsdWUuaW5kZXhPZihmb2N1c2VkVmFsdWUpO1xuICAgIGlmIChuZXh0Rm9jdXNlZEluZGV4ID4gLTEpIHtcbiAgICAgIC8vIHRoZSBmb2N1c2VkIHZhbHVlIGlzIHN0aWxsIGluIHRoZSBzZWxlY3RWYWx1ZSwgcmV0dXJuIGl0XG4gICAgICByZXR1cm4gZm9jdXNlZFZhbHVlO1xuICAgIH0gZWxzZSBpZiAobGFzdEZvY3VzZWRJbmRleCA8IG5leHRTZWxlY3RWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIC8vIHRoZSBmb2N1c2VkVmFsdWUgaXMgbm90IHByZXNlbnQgaW4gdGhlIG5leHQgc2VsZWN0VmFsdWUgYXJyYXkgYnlcbiAgICAgIC8vIHJlZmVyZW5jZSwgc28gcmV0dXJuIHRoZSBuZXcgdmFsdWUgYXQgdGhlIHNhbWUgaW5kZXhcbiAgICAgIHJldHVybiBuZXh0U2VsZWN0VmFsdWVbbGFzdEZvY3VzZWRJbmRleF07XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZ2V0TmV4dEZvY3VzZWRPcHRpb24oc3RhdGUsIG9wdGlvbnMpIHtcbiAgdmFyIGxhc3RGb2N1c2VkT3B0aW9uID0gc3RhdGUuZm9jdXNlZE9wdGlvbjtcbiAgcmV0dXJuIGxhc3RGb2N1c2VkT3B0aW9uICYmIG9wdGlvbnMuaW5kZXhPZihsYXN0Rm9jdXNlZE9wdGlvbikgPiAtMSA/IGxhc3RGb2N1c2VkT3B0aW9uIDogb3B0aW9uc1swXTtcbn1cbnZhciBnZXRGb2N1c2VkT3B0aW9uSWQgPSBmdW5jdGlvbiBnZXRGb2N1c2VkT3B0aW9uSWQoZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMsIGZvY3VzZWRPcHRpb24pIHtcbiAgdmFyIF9mb2N1c2FibGVPcHRpb25zV2l0aDtcbiAgdmFyIGZvY3VzZWRPcHRpb25JZCA9IChfZm9jdXNhYmxlT3B0aW9uc1dpdGggPSBmb2N1c2FibGVPcHRpb25zV2l0aElkcy5maW5kKGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uLmRhdGEgPT09IGZvY3VzZWRPcHRpb247XG4gIH0pKSA9PT0gbnVsbCB8fCBfZm9jdXNhYmxlT3B0aW9uc1dpdGggPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9mb2N1c2FibGVPcHRpb25zV2l0aC5pZDtcbiAgcmV0dXJuIGZvY3VzZWRPcHRpb25JZCB8fCBudWxsO1xufTtcbnZhciBnZXRPcHRpb25MYWJlbCA9IGZ1bmN0aW9uIGdldE9wdGlvbkxhYmVsKHByb3BzLCBkYXRhKSB7XG4gIHJldHVybiBwcm9wcy5nZXRPcHRpb25MYWJlbChkYXRhKTtcbn07XG52YXIgZ2V0T3B0aW9uVmFsdWUgPSBmdW5jdGlvbiBnZXRPcHRpb25WYWx1ZShwcm9wcywgZGF0YSkge1xuICByZXR1cm4gcHJvcHMuZ2V0T3B0aW9uVmFsdWUoZGF0YSk7XG59O1xuZnVuY3Rpb24gX2lzT3B0aW9uRGlzYWJsZWQocHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5pc09wdGlvbkRpc2FibGVkID09PSAnZnVuY3Rpb24nID8gcHJvcHMuaXNPcHRpb25EaXNhYmxlZChvcHRpb24sIHNlbGVjdFZhbHVlKSA6IGZhbHNlO1xufVxuZnVuY3Rpb24gX2lzT3B0aW9uU2VsZWN0ZWQocHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpIHtcbiAgaWYgKHNlbGVjdFZhbHVlLmluZGV4T2Yob3B0aW9uKSA+IC0xKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKHR5cGVvZiBwcm9wcy5pc09wdGlvblNlbGVjdGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHByb3BzLmlzT3B0aW9uU2VsZWN0ZWQob3B0aW9uLCBzZWxlY3RWYWx1ZSk7XG4gIH1cbiAgdmFyIGNhbmRpZGF0ZSA9IGdldE9wdGlvblZhbHVlKHByb3BzLCBvcHRpb24pO1xuICByZXR1cm4gc2VsZWN0VmFsdWUuc29tZShmdW5jdGlvbiAoaSkge1xuICAgIHJldHVybiBnZXRPcHRpb25WYWx1ZShwcm9wcywgaSkgPT09IGNhbmRpZGF0ZTtcbiAgfSk7XG59XG5mdW5jdGlvbiBfZmlsdGVyT3B0aW9uKHByb3BzLCBvcHRpb24sIGlucHV0VmFsdWUpIHtcbiAgcmV0dXJuIHByb3BzLmZpbHRlck9wdGlvbiA/IHByb3BzLmZpbHRlck9wdGlvbihvcHRpb24sIGlucHV0VmFsdWUpIDogdHJ1ZTtcbn1cbnZhciBzaG91bGRIaWRlU2VsZWN0ZWRPcHRpb25zID0gZnVuY3Rpb24gc2hvdWxkSGlkZVNlbGVjdGVkT3B0aW9ucyhwcm9wcykge1xuICB2YXIgaGlkZVNlbGVjdGVkT3B0aW9ucyA9IHByb3BzLmhpZGVTZWxlY3RlZE9wdGlvbnMsXG4gICAgaXNNdWx0aSA9IHByb3BzLmlzTXVsdGk7XG4gIGlmIChoaWRlU2VsZWN0ZWRPcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiBpc011bHRpO1xuICByZXR1cm4gaGlkZVNlbGVjdGVkT3B0aW9ucztcbn07XG52YXIgaW5zdGFuY2VJZCA9IDE7XG52YXIgU2VsZWN0ID0gLyojX19QVVJFX18qL2Z1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhTZWxlY3QsIF9Db21wb25lbnQpO1xuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKFNlbGVjdCk7XG4gIC8vIE1pc2MuIEluc3RhbmNlIFByb3BlcnRpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gVE9ET1xuXG4gIC8vIFJlZnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gTGlmZWN5Y2xlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGZ1bmN0aW9uIFNlbGVjdChfcHJvcHMpIHtcbiAgICB2YXIgX3RoaXM7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFNlbGVjdCk7XG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBfcHJvcHMpO1xuICAgIF90aGlzLnN0YXRlID0ge1xuICAgICAgYXJpYVNlbGVjdGlvbjogbnVsbCxcbiAgICAgIGZvY3VzZWRPcHRpb246IG51bGwsXG4gICAgICBmb2N1c2VkT3B0aW9uSWQ6IG51bGwsXG4gICAgICBmb2N1c2FibGVPcHRpb25zV2l0aElkczogW10sXG4gICAgICBmb2N1c2VkVmFsdWU6IG51bGwsXG4gICAgICBpbnB1dElzSGlkZGVuOiBmYWxzZSxcbiAgICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgICBzZWxlY3RWYWx1ZTogW10sXG4gICAgICBjbGVhckZvY3VzVmFsdWVPblVwZGF0ZTogZmFsc2UsXG4gICAgICBwcmV2V2FzRm9jdXNlZDogZmFsc2UsXG4gICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZQcm9wczogdW5kZWZpbmVkLFxuICAgICAgaW5zdGFuY2VQcmVmaXg6ICcnXG4gICAgfTtcbiAgICBfdGhpcy5ibG9ja09wdGlvbkhvdmVyID0gZmFsc2U7XG4gICAgX3RoaXMuaXNDb21wb3NpbmcgPSBmYWxzZTtcbiAgICBfdGhpcy5jb21tb25Qcm9wcyA9IHZvaWQgMDtcbiAgICBfdGhpcy5pbml0aWFsVG91Y2hYID0gMDtcbiAgICBfdGhpcy5pbml0aWFsVG91Y2hZID0gMDtcbiAgICBfdGhpcy5vcGVuQWZ0ZXJGb2N1cyA9IGZhbHNlO1xuICAgIF90aGlzLnNjcm9sbFRvRm9jdXNlZE9wdGlvbk9uVXBkYXRlID0gZmFsc2U7XG4gICAgX3RoaXMudXNlcklzRHJhZ2dpbmcgPSB2b2lkIDA7XG4gICAgX3RoaXMuaXNBcHBsZURldmljZSA9IGlzQXBwbGVEZXZpY2UoKTtcbiAgICBfdGhpcy5jb250cm9sUmVmID0gbnVsbDtcbiAgICBfdGhpcy5nZXRDb250cm9sUmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgICAgX3RoaXMuY29udHJvbFJlZiA9IHJlZjtcbiAgICB9O1xuICAgIF90aGlzLmZvY3VzZWRPcHRpb25SZWYgPSBudWxsO1xuICAgIF90aGlzLmdldEZvY3VzZWRPcHRpb25SZWYgPSBmdW5jdGlvbiAocmVmKSB7XG4gICAgICBfdGhpcy5mb2N1c2VkT3B0aW9uUmVmID0gcmVmO1xuICAgIH07XG4gICAgX3RoaXMubWVudUxpc3RSZWYgPSBudWxsO1xuICAgIF90aGlzLmdldE1lbnVMaXN0UmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgICAgX3RoaXMubWVudUxpc3RSZWYgPSByZWY7XG4gICAgfTtcbiAgICBfdGhpcy5pbnB1dFJlZiA9IG51bGw7XG4gICAgX3RoaXMuZ2V0SW5wdXRSZWYgPSBmdW5jdGlvbiAocmVmKSB7XG4gICAgICBfdGhpcy5pbnB1dFJlZiA9IHJlZjtcbiAgICB9O1xuICAgIF90aGlzLmZvY3VzID0gX3RoaXMuZm9jdXNJbnB1dDtcbiAgICBfdGhpcy5ibHVyID0gX3RoaXMuYmx1cklucHV0O1xuICAgIF90aGlzLm9uQ2hhbmdlID0gZnVuY3Rpb24gKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgb25DaGFuZ2UgPSBfdGhpcyRwcm9wcy5vbkNoYW5nZSxcbiAgICAgICAgbmFtZSA9IF90aGlzJHByb3BzLm5hbWU7XG4gICAgICBhY3Rpb25NZXRhLm5hbWUgPSBuYW1lO1xuICAgICAgX3RoaXMuYXJpYU9uQ2hhbmdlKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKTtcbiAgICAgIG9uQ2hhbmdlKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKTtcbiAgICB9O1xuICAgIF90aGlzLnNldFZhbHVlID0gZnVuY3Rpb24gKG5ld1ZhbHVlLCBhY3Rpb24sIG9wdGlvbikge1xuICAgICAgdmFyIF90aGlzJHByb3BzMiA9IF90aGlzLnByb3BzLFxuICAgICAgICBjbG9zZU1lbnVPblNlbGVjdCA9IF90aGlzJHByb3BzMi5jbG9zZU1lbnVPblNlbGVjdCxcbiAgICAgICAgaXNNdWx0aSA9IF90aGlzJHByb3BzMi5pc011bHRpLFxuICAgICAgICBpbnB1dFZhbHVlID0gX3RoaXMkcHJvcHMyLmlucHV0VmFsdWU7XG4gICAgICBfdGhpcy5vbklucHV0Q2hhbmdlKCcnLCB7XG4gICAgICAgIGFjdGlvbjogJ3NldC12YWx1ZScsXG4gICAgICAgIHByZXZJbnB1dFZhbHVlOiBpbnB1dFZhbHVlXG4gICAgICB9KTtcbiAgICAgIGlmIChjbG9zZU1lbnVPblNlbGVjdCkge1xuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlOiAhaXNNdWx0aVxuICAgICAgICB9KTtcbiAgICAgICAgX3RoaXMub25NZW51Q2xvc2UoKTtcbiAgICAgIH1cbiAgICAgIC8vIHdoZW4gdGhlIHNlbGVjdCB2YWx1ZSBzaG91bGQgY2hhbmdlLCB3ZSBzaG91bGQgcmVzZXQgZm9jdXNlZFZhbHVlXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGNsZWFyRm9jdXNWYWx1ZU9uVXBkYXRlOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIF90aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlLCB7XG4gICAgICAgIGFjdGlvbjogYWN0aW9uLFxuICAgICAgICBvcHRpb246IG9wdGlvblxuICAgICAgfSk7XG4gICAgfTtcbiAgICBfdGhpcy5zZWxlY3RPcHRpb24gPSBmdW5jdGlvbiAobmV3VmFsdWUpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczMgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgYmx1cklucHV0T25TZWxlY3QgPSBfdGhpcyRwcm9wczMuYmx1cklucHV0T25TZWxlY3QsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczMuaXNNdWx0aSxcbiAgICAgICAgbmFtZSA9IF90aGlzJHByb3BzMy5uYW1lO1xuICAgICAgdmFyIHNlbGVjdFZhbHVlID0gX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICB2YXIgZGVzZWxlY3RlZCA9IGlzTXVsdGkgJiYgX3RoaXMuaXNPcHRpb25TZWxlY3RlZChuZXdWYWx1ZSwgc2VsZWN0VmFsdWUpO1xuICAgICAgdmFyIGlzRGlzYWJsZWQgPSBfdGhpcy5pc09wdGlvbkRpc2FibGVkKG5ld1ZhbHVlLCBzZWxlY3RWYWx1ZSk7XG4gICAgICBpZiAoZGVzZWxlY3RlZCkge1xuICAgICAgICB2YXIgY2FuZGlkYXRlID0gX3RoaXMuZ2V0T3B0aW9uVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICBfdGhpcy5zZXRWYWx1ZShtdWx0aVZhbHVlQXNWYWx1ZShzZWxlY3RWYWx1ZS5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMuZ2V0T3B0aW9uVmFsdWUoaSkgIT09IGNhbmRpZGF0ZTtcbiAgICAgICAgfSkpLCAnZGVzZWxlY3Qtb3B0aW9uJywgbmV3VmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICghaXNEaXNhYmxlZCkge1xuICAgICAgICAvLyBTZWxlY3Qgb3B0aW9uIGlmIG9wdGlvbiBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKGlzTXVsdGkpIHtcbiAgICAgICAgICBfdGhpcy5zZXRWYWx1ZShtdWx0aVZhbHVlQXNWYWx1ZShbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KHNlbGVjdFZhbHVlKSwgW25ld1ZhbHVlXSkpLCAnc2VsZWN0LW9wdGlvbicsIG5ld1ZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpcy5zZXRWYWx1ZShzaW5nbGVWYWx1ZUFzVmFsdWUobmV3VmFsdWUpLCAnc2VsZWN0LW9wdGlvbicpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfdGhpcy5hcmlhT25DaGFuZ2Uoc2luZ2xlVmFsdWVBc1ZhbHVlKG5ld1ZhbHVlKSwge1xuICAgICAgICAgIGFjdGlvbjogJ3NlbGVjdC1vcHRpb24nLFxuICAgICAgICAgIG9wdGlvbjogbmV3VmFsdWUsXG4gICAgICAgICAgbmFtZTogbmFtZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGJsdXJJbnB1dE9uU2VsZWN0KSB7XG4gICAgICAgIF90aGlzLmJsdXJJbnB1dCgpO1xuICAgICAgfVxuICAgIH07XG4gICAgX3RoaXMucmVtb3ZlVmFsdWUgPSBmdW5jdGlvbiAocmVtb3ZlZFZhbHVlKSB7XG4gICAgICB2YXIgaXNNdWx0aSA9IF90aGlzLnByb3BzLmlzTXVsdGk7XG4gICAgICB2YXIgc2VsZWN0VmFsdWUgPSBfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgICAgIHZhciBjYW5kaWRhdGUgPSBfdGhpcy5nZXRPcHRpb25WYWx1ZShyZW1vdmVkVmFsdWUpO1xuICAgICAgdmFyIG5ld1ZhbHVlQXJyYXkgPSBzZWxlY3RWYWx1ZS5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzLmdldE9wdGlvblZhbHVlKGkpICE9PSBjYW5kaWRhdGU7XG4gICAgICB9KTtcbiAgICAgIHZhciBuZXdWYWx1ZSA9IHZhbHVlVGVybmFyeShpc011bHRpLCBuZXdWYWx1ZUFycmF5LCBuZXdWYWx1ZUFycmF5WzBdIHx8IG51bGwpO1xuICAgICAgX3RoaXMub25DaGFuZ2UobmV3VmFsdWUsIHtcbiAgICAgICAgYWN0aW9uOiAncmVtb3ZlLXZhbHVlJyxcbiAgICAgICAgcmVtb3ZlZFZhbHVlOiByZW1vdmVkVmFsdWVcbiAgICAgIH0pO1xuICAgICAgX3RoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH07XG4gICAgX3RoaXMuY2xlYXJWYWx1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IF90aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xuICAgICAgX3RoaXMub25DaGFuZ2UodmFsdWVUZXJuYXJ5KF90aGlzLnByb3BzLmlzTXVsdGksIFtdLCBudWxsKSwge1xuICAgICAgICBhY3Rpb246ICdjbGVhcicsXG4gICAgICAgIHJlbW92ZWRWYWx1ZXM6IHNlbGVjdFZhbHVlXG4gICAgICB9KTtcbiAgICB9O1xuICAgIF90aGlzLnBvcFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGlzTXVsdGkgPSBfdGhpcy5wcm9wcy5pc011bHRpO1xuICAgICAgdmFyIHNlbGVjdFZhbHVlID0gX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICB2YXIgbGFzdFNlbGVjdGVkVmFsdWUgPSBzZWxlY3RWYWx1ZVtzZWxlY3RWYWx1ZS5sZW5ndGggLSAxXTtcbiAgICAgIHZhciBuZXdWYWx1ZUFycmF5ID0gc2VsZWN0VmFsdWUuc2xpY2UoMCwgc2VsZWN0VmFsdWUubGVuZ3RoIC0gMSk7XG4gICAgICB2YXIgbmV3VmFsdWUgPSB2YWx1ZVRlcm5hcnkoaXNNdWx0aSwgbmV3VmFsdWVBcnJheSwgbmV3VmFsdWVBcnJheVswXSB8fCBudWxsKTtcbiAgICAgIGlmIChsYXN0U2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICBfdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSwge1xuICAgICAgICAgIGFjdGlvbjogJ3BvcC12YWx1ZScsXG4gICAgICAgICAgcmVtb3ZlZFZhbHVlOiBsYXN0U2VsZWN0ZWRWYWx1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLmdldEZvY3VzZWRPcHRpb25JZCA9IGZ1bmN0aW9uIChmb2N1c2VkT3B0aW9uKSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZE9wdGlvbklkKF90aGlzLnN0YXRlLmZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzLCBmb2N1c2VkT3B0aW9uKTtcbiAgICB9O1xuICAgIF90aGlzLmdldEZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1aWxkRm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMoYnVpbGRDYXRlZ29yaXplZE9wdGlvbnMoX3RoaXMucHJvcHMsIF90aGlzLnN0YXRlLnNlbGVjdFZhbHVlKSwgX3RoaXMuZ2V0RWxlbWVudElkKCdvcHRpb24nKSk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRWYWx1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgICB9O1xuICAgIF90aGlzLmN4ID0gZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG4gICAgICByZXR1cm4gY2xhc3NOYW1lcy5hcHBseSh2b2lkIDAsIFtfdGhpcy5wcm9wcy5jbGFzc05hbWVQcmVmaXhdLmNvbmNhdChhcmdzKSk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRPcHRpb25MYWJlbCA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICByZXR1cm4gZ2V0T3B0aW9uTGFiZWwoX3RoaXMucHJvcHMsIGRhdGEpO1xuICAgIH07XG4gICAgX3RoaXMuZ2V0T3B0aW9uVmFsdWUgPSBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgcmV0dXJuIGdldE9wdGlvblZhbHVlKF90aGlzLnByb3BzLCBkYXRhKTtcbiAgICB9O1xuICAgIF90aGlzLmdldFN0eWxlcyA9IGZ1bmN0aW9uIChrZXksIHByb3BzKSB7XG4gICAgICB2YXIgdW5zdHlsZWQgPSBfdGhpcy5wcm9wcy51bnN0eWxlZDtcbiAgICAgIHZhciBiYXNlID0gZGVmYXVsdFN0eWxlc1trZXldKHByb3BzLCB1bnN0eWxlZCk7XG4gICAgICBiYXNlLmJveFNpemluZyA9ICdib3JkZXItYm94JztcbiAgICAgIHZhciBjdXN0b20gPSBfdGhpcy5wcm9wcy5zdHlsZXNba2V5XTtcbiAgICAgIHJldHVybiBjdXN0b20gPyBjdXN0b20oYmFzZSwgcHJvcHMpIDogYmFzZTtcbiAgICB9O1xuICAgIF90aGlzLmdldENsYXNzTmFtZXMgPSBmdW5jdGlvbiAoa2V5LCBwcm9wcykge1xuICAgICAgdmFyIF90aGlzJHByb3BzJGNsYXNzTmFtZSwgX3RoaXMkcHJvcHMkY2xhc3NOYW1lMjtcbiAgICAgIHJldHVybiAoX3RoaXMkcHJvcHMkY2xhc3NOYW1lID0gKF90aGlzJHByb3BzJGNsYXNzTmFtZTIgPSBfdGhpcy5wcm9wcy5jbGFzc05hbWVzKVtrZXldKSA9PT0gbnVsbCB8fCBfdGhpcyRwcm9wcyRjbGFzc05hbWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJHByb3BzJGNsYXNzTmFtZS5jYWxsKF90aGlzJHByb3BzJGNsYXNzTmFtZTIsIHByb3BzKTtcbiAgICB9O1xuICAgIF90aGlzLmdldEVsZW1lbnRJZCA9IGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICByZXR1cm4gXCJcIi5jb25jYXQoX3RoaXMuc3RhdGUuaW5zdGFuY2VQcmVmaXgsIFwiLVwiKS5jb25jYXQoZWxlbWVudCk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRDb21wb25lbnRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRDb21wb25lbnRzKF90aGlzLnByb3BzKTtcbiAgICB9O1xuICAgIF90aGlzLmJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKF90aGlzLnByb3BzLCBfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZSk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRDYXRlZ29yaXplZE9wdGlvbnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gX3RoaXMucHJvcHMubWVudUlzT3BlbiA/IF90aGlzLmJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKCkgOiBbXTtcbiAgICB9O1xuICAgIF90aGlzLmJ1aWxkRm9jdXNhYmxlT3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBidWlsZEZvY3VzYWJsZU9wdGlvbnNGcm9tQ2F0ZWdvcml6ZWRPcHRpb25zKF90aGlzLmJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKCkpO1xuICAgIH07XG4gICAgX3RoaXMuZ2V0Rm9jdXNhYmxlT3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfdGhpcy5wcm9wcy5tZW51SXNPcGVuID8gX3RoaXMuYnVpbGRGb2N1c2FibGVPcHRpb25zKCkgOiBbXTtcbiAgICB9O1xuICAgIF90aGlzLmFyaWFPbkNoYW5nZSA9IGZ1bmN0aW9uICh2YWx1ZSwgYWN0aW9uTWV0YSkge1xuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBhcmlhU2VsZWN0aW9uOiBfb2JqZWN0U3ByZWFkKHtcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSwgYWN0aW9uTWV0YSlcbiAgICAgIH0pO1xuICAgIH07XG4gICAgX3RoaXMub25NZW51TW91c2VEb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBpZiAoZXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIF90aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9O1xuICAgIF90aGlzLm9uTWVudU1vdXNlTW92ZSA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgX3RoaXMuYmxvY2tPcHRpb25Ib3ZlciA9IGZhbHNlO1xuICAgIH07XG4gICAgX3RoaXMub25Db250cm9sTW91c2VEb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAvLyBFdmVudCBjYXB0dXJlZCBieSBkcm9wZG93biBpbmRpY2F0b3JcbiAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBvcGVuTWVudU9uQ2xpY2sgPSBfdGhpcy5wcm9wcy5vcGVuTWVudU9uQ2xpY2s7XG4gICAgICBpZiAoIV90aGlzLnN0YXRlLmlzRm9jdXNlZCkge1xuICAgICAgICBpZiAob3Blbk1lbnVPbkNsaWNrKSB7XG4gICAgICAgICAgX3RoaXMub3BlbkFmdGVyRm9jdXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIF90aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgIH0gZWxzZSBpZiAoIV90aGlzLnByb3BzLm1lbnVJc09wZW4pIHtcbiAgICAgICAgaWYgKG9wZW5NZW51T25DbGljaykge1xuICAgICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYgZXZlbnQudGFyZ2V0LnRhZ05hbWUgIT09ICdURVhUQVJFQScpIHtcbiAgICAgICAgICBfdGhpcy5vbk1lbnVDbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYgZXZlbnQudGFyZ2V0LnRhZ05hbWUgIT09ICdURVhUQVJFQScpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLm9uRHJvcGRvd25JbmRpY2F0b3JNb3VzZURvd24gPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIC8vIGlnbm9yZSBtb3VzZSBldmVudHMgdGhhdCB3ZXJlbid0IHRyaWdnZXJlZCBieSB0aGUgcHJpbWFyeSBidXR0b25cbiAgICAgIGlmIChldmVudCAmJiBldmVudC50eXBlID09PSAnbW91c2Vkb3duJyAmJiBldmVudC5idXR0b24gIT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKF90aGlzLnByb3BzLmlzRGlzYWJsZWQpIHJldHVybjtcbiAgICAgIHZhciBfdGhpcyRwcm9wczQgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgaXNNdWx0aSA9IF90aGlzJHByb3BzNC5pc011bHRpLFxuICAgICAgICBtZW51SXNPcGVuID0gX3RoaXMkcHJvcHM0Lm1lbnVJc09wZW47XG4gICAgICBfdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICBpZiAobWVudUlzT3Blbikge1xuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlOiAhaXNNdWx0aVxuICAgICAgICB9KTtcbiAgICAgICAgX3RoaXMub25NZW51Q2xvc2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgfVxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9O1xuICAgIF90aGlzLm9uQ2xlYXJJbmRpY2F0b3JNb3VzZURvd24gPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIC8vIGlnbm9yZSBtb3VzZSBldmVudHMgdGhhdCB3ZXJlbid0IHRyaWdnZXJlZCBieSB0aGUgcHJpbWFyeSBidXR0b25cbiAgICAgIGlmIChldmVudCAmJiBldmVudC50eXBlID09PSAnbW91c2Vkb3duJyAmJiBldmVudC5idXR0b24gIT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgX3RoaXMuY2xlYXJWYWx1ZSgpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIF90aGlzLm9wZW5BZnRlckZvY3VzID0gZmFsc2U7XG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ3RvdWNoZW5kJykge1xuICAgICAgICBfdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLm9uU2Nyb2xsID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBpZiAodHlwZW9mIF90aGlzLnByb3BzLmNsb3NlTWVudU9uU2Nyb2xsID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmIGlzRG9jdW1lbnRFbGVtZW50KGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICBfdGhpcy5wcm9wcy5vbk1lbnVDbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBfdGhpcy5wcm9wcy5jbG9zZU1lbnVPblNjcm9sbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAoX3RoaXMucHJvcHMuY2xvc2VNZW51T25TY3JvbGwoZXZlbnQpKSB7XG4gICAgICAgICAgX3RoaXMucHJvcHMub25NZW51Q2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgX3RoaXMub25Db21wb3NpdGlvblN0YXJ0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuaXNDb21wb3NpbmcgPSB0cnVlO1xuICAgIH07XG4gICAgX3RoaXMub25Db21wb3NpdGlvbkVuZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzLmlzQ29tcG9zaW5nID0gZmFsc2U7XG4gICAgfTtcbiAgICBfdGhpcy5vblRvdWNoU3RhcnQgPSBmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICAgIHZhciB0b3VjaGVzID0gX3JlZjIudG91Y2hlcztcbiAgICAgIHZhciB0b3VjaCA9IHRvdWNoZXMgJiYgdG91Y2hlcy5pdGVtKDApO1xuICAgICAgaWYgKCF0b3VjaCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBfdGhpcy5pbml0aWFsVG91Y2hYID0gdG91Y2guY2xpZW50WDtcbiAgICAgIF90aGlzLmluaXRpYWxUb3VjaFkgPSB0b3VjaC5jbGllbnRZO1xuICAgICAgX3RoaXMudXNlcklzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB9O1xuICAgIF90aGlzLm9uVG91Y2hNb3ZlID0gZnVuY3Rpb24gKF9yZWYzKSB7XG4gICAgICB2YXIgdG91Y2hlcyA9IF9yZWYzLnRvdWNoZXM7XG4gICAgICB2YXIgdG91Y2ggPSB0b3VjaGVzICYmIHRvdWNoZXMuaXRlbSgwKTtcbiAgICAgIGlmICghdG91Y2gpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdmFyIGRlbHRhWCA9IE1hdGguYWJzKHRvdWNoLmNsaWVudFggLSBfdGhpcy5pbml0aWFsVG91Y2hYKTtcbiAgICAgIHZhciBkZWx0YVkgPSBNYXRoLmFicyh0b3VjaC5jbGllbnRZIC0gX3RoaXMuaW5pdGlhbFRvdWNoWSk7XG4gICAgICB2YXIgbW92ZVRocmVzaG9sZCA9IDU7XG4gICAgICBfdGhpcy51c2VySXNEcmFnZ2luZyA9IGRlbHRhWCA+IG1vdmVUaHJlc2hvbGQgfHwgZGVsdGFZID4gbW92ZVRocmVzaG9sZDtcbiAgICB9O1xuICAgIF90aGlzLm9uVG91Y2hFbmQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGlmIChfdGhpcy51c2VySXNEcmFnZ2luZykgcmV0dXJuO1xuXG4gICAgICAvLyBjbG9zZSB0aGUgbWVudSBpZiB0aGUgdXNlciB0YXBzIG91dHNpZGVcbiAgICAgIC8vIHdlJ3JlIGNoZWNraW5nIG9uIGV2ZW50LnRhcmdldCBoZXJlIGluc3RlYWQgb2YgZXZlbnQuY3VycmVudFRhcmdldCwgYmVjYXVzZSB3ZSB3YW50IHRvIGFzc2VydCBpbmZvcm1hdGlvblxuICAgICAgLy8gb24gZXZlbnRzIG9uIGNoaWxkIGVsZW1lbnRzLCBub3QgdGhlIGRvY3VtZW50ICh3aGljaCB3ZSd2ZSBhdHRhY2hlZCB0aGlzIGhhbmRsZXIgdG8pLlxuICAgICAgaWYgKF90aGlzLmNvbnRyb2xSZWYgJiYgIV90aGlzLmNvbnRyb2xSZWYuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJiBfdGhpcy5tZW51TGlzdFJlZiAmJiAhX3RoaXMubWVudUxpc3RSZWYuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICBfdGhpcy5ibHVySW5wdXQoKTtcbiAgICAgIH1cblxuICAgICAgLy8gcmVzZXQgbW92ZSB2YXJzXG4gICAgICBfdGhpcy5pbml0aWFsVG91Y2hYID0gMDtcbiAgICAgIF90aGlzLmluaXRpYWxUb3VjaFkgPSAwO1xuICAgIH07XG4gICAgX3RoaXMub25Db250cm9sVG91Y2hFbmQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGlmIChfdGhpcy51c2VySXNEcmFnZ2luZykgcmV0dXJuO1xuICAgICAgX3RoaXMub25Db250cm9sTW91c2VEb3duKGV2ZW50KTtcbiAgICB9O1xuICAgIF90aGlzLm9uQ2xlYXJJbmRpY2F0b3JUb3VjaEVuZCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKF90aGlzLnVzZXJJc0RyYWdnaW5nKSByZXR1cm47XG4gICAgICBfdGhpcy5vbkNsZWFySW5kaWNhdG9yTW91c2VEb3duKGV2ZW50KTtcbiAgICB9O1xuICAgIF90aGlzLm9uRHJvcGRvd25JbmRpY2F0b3JUb3VjaEVuZCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKF90aGlzLnVzZXJJc0RyYWdnaW5nKSByZXR1cm47XG4gICAgICBfdGhpcy5vbkRyb3Bkb3duSW5kaWNhdG9yTW91c2VEb3duKGV2ZW50KTtcbiAgICB9O1xuICAgIF90aGlzLmhhbmRsZUlucHV0Q2hhbmdlID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICB2YXIgcHJldklucHV0VmFsdWUgPSBfdGhpcy5wcm9wcy5pbnB1dFZhbHVlO1xuICAgICAgdmFyIGlucHV0VmFsdWUgPSBldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlO1xuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIF90aGlzLm9uSW5wdXRDaGFuZ2UoaW5wdXRWYWx1ZSwge1xuICAgICAgICBhY3Rpb246ICdpbnB1dC1jaGFuZ2UnLFxuICAgICAgICBwcmV2SW5wdXRWYWx1ZTogcHJldklucHV0VmFsdWVcbiAgICAgIH0pO1xuICAgICAgaWYgKCFfdGhpcy5wcm9wcy5tZW51SXNPcGVuKSB7XG4gICAgICAgIF90aGlzLm9uTWVudU9wZW4oKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLm9uSW5wdXRGb2N1cyA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKF90aGlzLnByb3BzLm9uRm9jdXMpIHtcbiAgICAgICAgX3RoaXMucHJvcHMub25Gb2N1cyhldmVudCk7XG4gICAgICB9XG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZTogZmFsc2UsXG4gICAgICAgIGlzRm9jdXNlZDogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBpZiAoX3RoaXMub3BlbkFmdGVyRm9jdXMgfHwgX3RoaXMucHJvcHMub3Blbk1lbnVPbkZvY3VzKSB7XG4gICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgfVxuICAgICAgX3RoaXMub3BlbkFmdGVyRm9jdXMgPSBmYWxzZTtcbiAgICB9O1xuICAgIF90aGlzLm9uSW5wdXRCbHVyID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICB2YXIgcHJldklucHV0VmFsdWUgPSBfdGhpcy5wcm9wcy5pbnB1dFZhbHVlO1xuICAgICAgaWYgKF90aGlzLm1lbnVMaXN0UmVmICYmIF90aGlzLm1lbnVMaXN0UmVmLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgIF90aGlzLmlucHV0UmVmLmZvY3VzKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChfdGhpcy5wcm9wcy5vbkJsdXIpIHtcbiAgICAgICAgX3RoaXMucHJvcHMub25CbHVyKGV2ZW50KTtcbiAgICAgIH1cbiAgICAgIF90aGlzLm9uSW5wdXRDaGFuZ2UoJycsIHtcbiAgICAgICAgYWN0aW9uOiAnaW5wdXQtYmx1cicsXG4gICAgICAgIHByZXZJbnB1dFZhbHVlOiBwcmV2SW5wdXRWYWx1ZVxuICAgICAgfSk7XG4gICAgICBfdGhpcy5vbk1lbnVDbG9zZSgpO1xuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBmb2N1c2VkVmFsdWU6IG51bGwsXG4gICAgICAgIGlzRm9jdXNlZDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH07XG4gICAgX3RoaXMub25PcHRpb25Ib3ZlciA9IGZ1bmN0aW9uIChmb2N1c2VkT3B0aW9uKSB7XG4gICAgICBpZiAoX3RoaXMuYmxvY2tPcHRpb25Ib3ZlciB8fCBfdGhpcy5zdGF0ZS5mb2N1c2VkT3B0aW9uID09PSBmb2N1c2VkT3B0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBvcHRpb25zID0gX3RoaXMuZ2V0Rm9jdXNhYmxlT3B0aW9ucygpO1xuICAgICAgdmFyIGZvY3VzZWRPcHRpb25JbmRleCA9IG9wdGlvbnMuaW5kZXhPZihmb2N1c2VkT3B0aW9uKTtcbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogZm9jdXNlZE9wdGlvbixcbiAgICAgICAgZm9jdXNlZE9wdGlvbklkOiBmb2N1c2VkT3B0aW9uSW5kZXggPiAtMSA/IF90aGlzLmdldEZvY3VzZWRPcHRpb25JZChmb2N1c2VkT3B0aW9uKSA6IG51bGxcbiAgICAgIH0pO1xuICAgIH07XG4gICAgX3RoaXMuc2hvdWxkSGlkZVNlbGVjdGVkT3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBzaG91bGRIaWRlU2VsZWN0ZWRPcHRpb25zKF90aGlzLnByb3BzKTtcbiAgICB9O1xuICAgIF90aGlzLm9uVmFsdWVJbnB1dEZvY3VzID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBfdGhpcy5mb2N1cygpO1xuICAgIH07XG4gICAgX3RoaXMub25LZXlEb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHM1ID0gX3RoaXMucHJvcHMsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczUuaXNNdWx0aSxcbiAgICAgICAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlID0gX3RoaXMkcHJvcHM1LmJhY2tzcGFjZVJlbW92ZXNWYWx1ZSxcbiAgICAgICAgZXNjYXBlQ2xlYXJzVmFsdWUgPSBfdGhpcyRwcm9wczUuZXNjYXBlQ2xlYXJzVmFsdWUsXG4gICAgICAgIGlucHV0VmFsdWUgPSBfdGhpcyRwcm9wczUuaW5wdXRWYWx1ZSxcbiAgICAgICAgaXNDbGVhcmFibGUgPSBfdGhpcyRwcm9wczUuaXNDbGVhcmFibGUsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczUuaXNEaXNhYmxlZCxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzNS5tZW51SXNPcGVuLFxuICAgICAgICBvbktleURvd24gPSBfdGhpcyRwcm9wczUub25LZXlEb3duLFxuICAgICAgICB0YWJTZWxlY3RzVmFsdWUgPSBfdGhpcyRwcm9wczUudGFiU2VsZWN0c1ZhbHVlLFxuICAgICAgICBvcGVuTWVudU9uRm9jdXMgPSBfdGhpcyRwcm9wczUub3Blbk1lbnVPbkZvY3VzO1xuICAgICAgdmFyIF90aGlzJHN0YXRlID0gX3RoaXMuc3RhdGUsXG4gICAgICAgIGZvY3VzZWRPcHRpb24gPSBfdGhpcyRzdGF0ZS5mb2N1c2VkT3B0aW9uLFxuICAgICAgICBmb2N1c2VkVmFsdWUgPSBfdGhpcyRzdGF0ZS5mb2N1c2VkVmFsdWUsXG4gICAgICAgIHNlbGVjdFZhbHVlID0gX3RoaXMkc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICBpZiAoaXNEaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgaWYgKHR5cGVvZiBvbktleURvd24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQmxvY2sgb3B0aW9uIGhvdmVyIGV2ZW50cyB3aGVuIHRoZSB1c2VyIGhhcyBqdXN0IHByZXNzZWQgYSBrZXlcbiAgICAgIF90aGlzLmJsb2NrT3B0aW9uSG92ZXIgPSB0cnVlO1xuICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICBpZiAoIWlzTXVsdGkgfHwgaW5wdXRWYWx1ZSkgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLmZvY3VzVmFsdWUoJ3ByZXZpb3VzJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgIGlmICghaXNNdWx0aSB8fCBpbnB1dFZhbHVlKSByZXR1cm47XG4gICAgICAgICAgX3RoaXMuZm9jdXNWYWx1ZSgnbmV4dCcpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdEZWxldGUnOlxuICAgICAgICBjYXNlICdCYWNrc3BhY2UnOlxuICAgICAgICAgIGlmIChpbnB1dFZhbHVlKSByZXR1cm47XG4gICAgICAgICAgaWYgKGZvY3VzZWRWYWx1ZSkge1xuICAgICAgICAgICAgX3RoaXMucmVtb3ZlVmFsdWUoZm9jdXNlZFZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFiYWNrc3BhY2VSZW1vdmVzVmFsdWUpIHJldHVybjtcbiAgICAgICAgICAgIGlmIChpc011bHRpKSB7XG4gICAgICAgICAgICAgIF90aGlzLnBvcFZhbHVlKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzQ2xlYXJhYmxlKSB7XG4gICAgICAgICAgICAgIF90aGlzLmNsZWFyVmFsdWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgICAgaWYgKF90aGlzLmlzQ29tcG9zaW5nKSByZXR1cm47XG4gICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5IHx8ICFtZW51SXNPcGVuIHx8ICF0YWJTZWxlY3RzVmFsdWUgfHwgIWZvY3VzZWRPcHRpb24gfHxcbiAgICAgICAgICAvLyBkb24ndCBjYXB0dXJlIHRoZSBldmVudCBpZiB0aGUgbWVudSBvcGVucyBvbiBmb2N1cyBhbmQgdGhlIGZvY3VzZWRcbiAgICAgICAgICAvLyBvcHRpb24gaXMgYWxyZWFkeSBzZWxlY3RlZDsgaXQgYnJlYWtzIHRoZSBmbG93IG9mIG5hdmlnYXRpb25cbiAgICAgICAgICBvcGVuTWVudU9uRm9jdXMgJiYgX3RoaXMuaXNPcHRpb25TZWxlY3RlZChmb2N1c2VkT3B0aW9uLCBzZWxlY3RWYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgX3RoaXMuc2VsZWN0T3B0aW9uKGZvY3VzZWRPcHRpb24pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDIyOSkge1xuICAgICAgICAgICAgLy8gaWdub3JlIHRoZSBrZXlkb3duIGV2ZW50IGZyb20gYW4gSW5wdXQgTWV0aG9kIEVkaXRvcihJTUUpXG4gICAgICAgICAgICAvLyByZWYuIGh0dHBzOi8vd3d3LnczLm9yZy9UUi91aWV2ZW50cy8jZGV0ZXJtaW5lLWtleWRvd24ta2V5dXAta2V5Q29kZVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChtZW51SXNPcGVuKSB7XG4gICAgICAgICAgICBpZiAoIWZvY3VzZWRPcHRpb24pIHJldHVybjtcbiAgICAgICAgICAgIGlmIChfdGhpcy5pc0NvbXBvc2luZykgcmV0dXJuO1xuICAgICAgICAgICAgX3RoaXMuc2VsZWN0T3B0aW9uKGZvY3VzZWRPcHRpb24pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgICBpZiAobWVudUlzT3Blbikge1xuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IGZhbHNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIF90aGlzLm9uSW5wdXRDaGFuZ2UoJycsIHtcbiAgICAgICAgICAgICAgYWN0aW9uOiAnbWVudS1jbG9zZScsXG4gICAgICAgICAgICAgIHByZXZJbnB1dFZhbHVlOiBpbnB1dFZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIF90aGlzLm9uTWVudUNsb3NlKCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChpc0NsZWFyYWJsZSAmJiBlc2NhcGVDbGVhcnNWYWx1ZSkge1xuICAgICAgICAgICAgX3RoaXMuY2xlYXJWYWx1ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgLy8gc3BhY2VcbiAgICAgICAgICBpZiAoaW5wdXRWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIW1lbnVJc09wZW4pIHtcbiAgICAgICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZm9jdXNlZE9wdGlvbikgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLnNlbGVjdE9wdGlvbihmb2N1c2VkT3B0aW9uKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgICAgaWYgKG1lbnVJc09wZW4pIHtcbiAgICAgICAgICAgIF90aGlzLmZvY3VzT3B0aW9uKCd1cCcpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBfdGhpcy5vcGVuTWVudSgnbGFzdCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICBpZiAobWVudUlzT3Blbikge1xuICAgICAgICAgICAgX3RoaXMuZm9jdXNPcHRpb24oJ2Rvd24nKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMub3Blbk1lbnUoJ2ZpcnN0Jyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgICAgIGlmICghbWVudUlzT3BlbikgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLmZvY3VzT3B0aW9uKCdwYWdldXAnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnUGFnZURvd24nOlxuICAgICAgICAgIGlmICghbWVudUlzT3BlbikgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLmZvY3VzT3B0aW9uKCdwYWdlZG93bicpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgICBpZiAoIW1lbnVJc09wZW4pIHJldHVybjtcbiAgICAgICAgICBfdGhpcy5mb2N1c09wdGlvbignZmlyc3QnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgICBpZiAoIW1lbnVJc09wZW4pIHJldHVybjtcbiAgICAgICAgICBfdGhpcy5mb2N1c09wdGlvbignbGFzdCcpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfTtcbiAgICBfdGhpcy5zdGF0ZS5pbnN0YW5jZVByZWZpeCA9ICdyZWFjdC1zZWxlY3QtJyArIChfdGhpcy5wcm9wcy5pbnN0YW5jZUlkIHx8ICsraW5zdGFuY2VJZCk7XG4gICAgX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWUgPSBjbGVhblZhbHVlKF9wcm9wcy52YWx1ZSk7XG4gICAgLy8gU2V0IGZvY3VzZWRPcHRpb24gaWYgbWVudUlzT3BlbiBpcyBzZXQgb24gaW5pdCAoZS5nLiBkZWZhdWx0TWVudUlzT3BlbilcbiAgICBpZiAoX3Byb3BzLm1lbnVJc09wZW4gJiYgX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWUubGVuZ3RoKSB7XG4gICAgICB2YXIgZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMgPSBfdGhpcy5nZXRGb2N1c2FibGVPcHRpb25zV2l0aElkcygpO1xuICAgICAgdmFyIGZvY3VzYWJsZU9wdGlvbnMgPSBfdGhpcy5idWlsZEZvY3VzYWJsZU9wdGlvbnMoKTtcbiAgICAgIHZhciBvcHRpb25JbmRleCA9IGZvY3VzYWJsZU9wdGlvbnMuaW5kZXhPZihfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZVswXSk7XG4gICAgICBfdGhpcy5zdGF0ZS5mb2N1c2FibGVPcHRpb25zV2l0aElkcyA9IGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzO1xuICAgICAgX3RoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbiA9IGZvY3VzYWJsZU9wdGlvbnNbb3B0aW9uSW5kZXhdO1xuICAgICAgX3RoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbklkID0gZ2V0Rm9jdXNlZE9wdGlvbklkKGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzLCBmb2N1c2FibGVPcHRpb25zW29wdGlvbkluZGV4XSk7XG4gICAgfVxuICAgIHJldHVybiBfdGhpcztcbiAgfVxuICBfY3JlYXRlQ2xhc3MoU2VsZWN0LCBbe1xuICAgIGtleTogXCJjb21wb25lbnREaWRNb3VudFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIHRoaXMuc3RhcnRMaXN0ZW5pbmdDb21wb3NpdGlvbigpO1xuICAgICAgdGhpcy5zdGFydExpc3RlbmluZ1RvVG91Y2goKTtcbiAgICAgIGlmICh0aGlzLnByb3BzLmNsb3NlTWVudU9uU2Nyb2xsICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgLy8gTGlzdGVuIHRvIGFsbCBzY3JvbGwgZXZlbnRzLCBhbmQgZmlsdGVyIHRoZW0gb3V0IGluc2lkZSBvZiAnb25TY3JvbGwnXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMuYXV0b0ZvY3VzKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTY3JvbGwgZm9jdXNlZE9wdGlvbiBpbnRvIHZpZXcgaWYgbWVudUlzT3BlbiBpcyBzZXQgb24gbW91bnQgKGUuZy4gZGVmYXVsdE1lbnVJc09wZW4pXG4gICAgICBpZiAodGhpcy5wcm9wcy5tZW51SXNPcGVuICYmIHRoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbiAmJiB0aGlzLm1lbnVMaXN0UmVmICYmIHRoaXMuZm9jdXNlZE9wdGlvblJlZikge1xuICAgICAgICBzY3JvbGxJbnRvVmlldyh0aGlzLm1lbnVMaXN0UmVmLCB0aGlzLmZvY3VzZWRPcHRpb25SZWYpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb21wb25lbnREaWRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgICAgdmFyIF90aGlzJHByb3BzNiA9IHRoaXMucHJvcHMsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczYuaXNEaXNhYmxlZCxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzNi5tZW51SXNPcGVuO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgaWYgKFxuICAgICAgLy8gZW5zdXJlIGZvY3VzIGlzIHJlc3RvcmVkIGNvcnJlY3RseSB3aGVuIHRoZSBjb250cm9sIGJlY29tZXMgZW5hYmxlZFxuICAgICAgaXNGb2N1c2VkICYmICFpc0Rpc2FibGVkICYmIHByZXZQcm9wcy5pc0Rpc2FibGVkIHx8XG4gICAgICAvLyBlbnN1cmUgZm9jdXMgaXMgb24gdGhlIElucHV0IHdoZW4gdGhlIG1lbnUgb3BlbnNcbiAgICAgIGlzRm9jdXNlZCAmJiBtZW51SXNPcGVuICYmICFwcmV2UHJvcHMubWVudUlzT3Blbikge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0ZvY3VzZWQgJiYgaXNEaXNhYmxlZCAmJiAhcHJldlByb3BzLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgLy8gZW5zdXJlIHNlbGVjdCBzdGF0ZSBnZXRzIGJsdXJyZWQgaW4gY2FzZSBTZWxlY3QgaXMgcHJvZ3JhbW1hdGljYWxseSBkaXNhYmxlZCB3aGlsZSBmb2N1c2VkXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kaWQtdXBkYXRlLXNldC1zdGF0ZVxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBpc0ZvY3VzZWQ6IGZhbHNlXG4gICAgICAgIH0sIHRoaXMub25NZW51Q2xvc2UpO1xuICAgICAgfSBlbHNlIGlmICghaXNGb2N1c2VkICYmICFpc0Rpc2FibGVkICYmIHByZXZQcm9wcy5pc0Rpc2FibGVkICYmIHRoaXMuaW5wdXRSZWYgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgLy8gZW5zdXJlIHNlbGVjdCBzdGF0ZSBnZXRzIGZvY3VzZWQgaW4gY2FzZSBTZWxlY3QgaXMgcHJvZ3JhbWF0aWNhbGx5IHJlLWVuYWJsZWQgd2hpbGUgZm9jdXNlZCAoRmlyZWZveClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRpZC11cGRhdGUtc2V0LXN0YXRlXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGlzRm9jdXNlZDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gc2Nyb2xsIHRoZSBmb2N1c2VkIG9wdGlvbiBpbnRvIHZpZXcgaWYgbmVjZXNzYXJ5XG4gICAgICBpZiAodGhpcy5tZW51TGlzdFJlZiAmJiB0aGlzLmZvY3VzZWRPcHRpb25SZWYgJiYgdGhpcy5zY3JvbGxUb0ZvY3VzZWRPcHRpb25PblVwZGF0ZSkge1xuICAgICAgICBzY3JvbGxJbnRvVmlldyh0aGlzLm1lbnVMaXN0UmVmLCB0aGlzLmZvY3VzZWRPcHRpb25SZWYpO1xuICAgICAgICB0aGlzLnNjcm9sbFRvRm9jdXNlZE9wdGlvbk9uVXBkYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNvbXBvbmVudFdpbGxVbm1vdW50XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgdGhpcy5zdG9wTGlzdGVuaW5nQ29tcG9zaXRpb24oKTtcbiAgICAgIHRoaXMuc3RvcExpc3RlbmluZ1RvVG91Y2goKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIENvbnN1bWVyIEhhbmRsZXJzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIH0sIHtcbiAgICBrZXk6IFwib25NZW51T3BlblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbk1lbnVPcGVuKCkge1xuICAgICAgdGhpcy5wcm9wcy5vbk1lbnVPcGVuKCk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIm9uTWVudUNsb3NlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uTWVudUNsb3NlKCkge1xuICAgICAgdGhpcy5vbklucHV0Q2hhbmdlKCcnLCB7XG4gICAgICAgIGFjdGlvbjogJ21lbnUtY2xvc2UnLFxuICAgICAgICBwcmV2SW5wdXRWYWx1ZTogdGhpcy5wcm9wcy5pbnB1dFZhbHVlXG4gICAgICB9KTtcbiAgICAgIHRoaXMucHJvcHMub25NZW51Q2xvc2UoKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwib25JbnB1dENoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbklucHV0Q2hhbmdlKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgICB0aGlzLnByb3BzLm9uSW5wdXRDaGFuZ2UobmV3VmFsdWUsIGFjdGlvbk1ldGEpO1xuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIE1ldGhvZHNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c0lucHV0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzSW5wdXQoKSB7XG4gICAgICBpZiAoIXRoaXMuaW5wdXRSZWYpIHJldHVybjtcbiAgICAgIHRoaXMuaW5wdXRSZWYuZm9jdXMoKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiYmx1cklucHV0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGJsdXJJbnB1dCgpIHtcbiAgICAgIGlmICghdGhpcy5pbnB1dFJlZikgcmV0dXJuO1xuICAgICAgdGhpcy5pbnB1dFJlZi5ibHVyKCk7XG4gICAgfVxuXG4gICAgLy8gYWxpYXNlZCBmb3IgY29uc3VtZXJzXG4gIH0sIHtcbiAgICBrZXk6IFwib3Blbk1lbnVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb3Blbk1lbnUoZm9jdXNPcHRpb24pIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuICAgICAgdmFyIF90aGlzJHN0YXRlMiA9IHRoaXMuc3RhdGUsXG4gICAgICAgIHNlbGVjdFZhbHVlID0gX3RoaXMkc3RhdGUyLnNlbGVjdFZhbHVlLFxuICAgICAgICBpc0ZvY3VzZWQgPSBfdGhpcyRzdGF0ZTIuaXNGb2N1c2VkO1xuICAgICAgdmFyIGZvY3VzYWJsZU9wdGlvbnMgPSB0aGlzLmJ1aWxkRm9jdXNhYmxlT3B0aW9ucygpO1xuICAgICAgdmFyIG9wZW5BdEluZGV4ID0gZm9jdXNPcHRpb24gPT09ICdmaXJzdCcgPyAwIDogZm9jdXNhYmxlT3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmlzTXVsdGkpIHtcbiAgICAgICAgdmFyIHNlbGVjdGVkSW5kZXggPSBmb2N1c2FibGVPcHRpb25zLmluZGV4T2Yoc2VsZWN0VmFsdWVbMF0pO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgb3BlbkF0SW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIG9ubHkgc2Nyb2xsIGlmIHRoZSBtZW51IGlzbid0IGFscmVhZHkgb3BlblxuICAgICAgdGhpcy5zY3JvbGxUb0ZvY3VzZWRPcHRpb25PblVwZGF0ZSA9ICEoaXNGb2N1c2VkICYmIHRoaXMubWVudUxpc3RSZWYpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZTogZmFsc2UsXG4gICAgICAgIGZvY3VzZWRWYWx1ZTogbnVsbCxcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogZm9jdXNhYmxlT3B0aW9uc1tvcGVuQXRJbmRleF0sXG4gICAgICAgIGZvY3VzZWRPcHRpb25JZDogdGhpcy5nZXRGb2N1c2VkT3B0aW9uSWQoZm9jdXNhYmxlT3B0aW9uc1tvcGVuQXRJbmRleF0pXG4gICAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfdGhpczIub25NZW51T3BlbigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzVmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNWYWx1ZShkaXJlY3Rpb24pIHtcbiAgICAgIHZhciBfdGhpcyRzdGF0ZTMgPSB0aGlzLnN0YXRlLFxuICAgICAgICBzZWxlY3RWYWx1ZSA9IF90aGlzJHN0YXRlMy5zZWxlY3RWYWx1ZSxcbiAgICAgICAgZm9jdXNlZFZhbHVlID0gX3RoaXMkc3RhdGUzLmZvY3VzZWRWYWx1ZTtcblxuICAgICAgLy8gT25seSBtdWx0aXNlbGVjdHMgc3VwcG9ydCB2YWx1ZSBmb2N1c2luZ1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmlzTXVsdGkpIHJldHVybjtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBmb2N1c2VkT3B0aW9uOiBudWxsXG4gICAgICB9KTtcbiAgICAgIHZhciBmb2N1c2VkSW5kZXggPSBzZWxlY3RWYWx1ZS5pbmRleE9mKGZvY3VzZWRWYWx1ZSk7XG4gICAgICBpZiAoIWZvY3VzZWRWYWx1ZSkge1xuICAgICAgICBmb2N1c2VkSW5kZXggPSAtMTtcbiAgICAgIH1cbiAgICAgIHZhciBsYXN0SW5kZXggPSBzZWxlY3RWYWx1ZS5sZW5ndGggLSAxO1xuICAgICAgdmFyIG5leHRGb2N1cyA9IC0xO1xuICAgICAgaWYgKCFzZWxlY3RWYWx1ZS5sZW5ndGgpIHJldHVybjtcbiAgICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgIGNhc2UgJ3ByZXZpb3VzJzpcbiAgICAgICAgICBpZiAoZm9jdXNlZEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAvLyBkb24ndCBjeWNsZSBmcm9tIHRoZSBzdGFydCB0byB0aGUgZW5kXG4gICAgICAgICAgICBuZXh0Rm9jdXMgPSAwO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZm9jdXNlZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgLy8gaWYgbm90aGluZyBpcyBmb2N1c2VkLCBmb2N1cyB0aGUgbGFzdCB2YWx1ZSBmaXJzdFxuICAgICAgICAgICAgbmV4dEZvY3VzID0gbGFzdEluZGV4O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXh0Rm9jdXMgPSBmb2N1c2VkSW5kZXggLSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbmV4dCc6XG4gICAgICAgICAgaWYgKGZvY3VzZWRJbmRleCA+IC0xICYmIGZvY3VzZWRJbmRleCA8IGxhc3RJbmRleCkge1xuICAgICAgICAgICAgbmV4dEZvY3VzID0gZm9jdXNlZEluZGV4ICsgMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaW5wdXRJc0hpZGRlbjogbmV4dEZvY3VzICE9PSAtMSxcbiAgICAgICAgZm9jdXNlZFZhbHVlOiBzZWxlY3RWYWx1ZVtuZXh0Rm9jdXNdXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNPcHRpb24oKSB7XG4gICAgICB2YXIgZGlyZWN0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnZmlyc3QnO1xuICAgICAgdmFyIHBhZ2VTaXplID0gdGhpcy5wcm9wcy5wYWdlU2l6ZTtcbiAgICAgIHZhciBmb2N1c2VkT3B0aW9uID0gdGhpcy5zdGF0ZS5mb2N1c2VkT3B0aW9uO1xuICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLmdldEZvY3VzYWJsZU9wdGlvbnMoKTtcbiAgICAgIGlmICghb3B0aW9ucy5sZW5ndGgpIHJldHVybjtcbiAgICAgIHZhciBuZXh0Rm9jdXMgPSAwOyAvLyBoYW5kbGVzICdmaXJzdCdcbiAgICAgIHZhciBmb2N1c2VkSW5kZXggPSBvcHRpb25zLmluZGV4T2YoZm9jdXNlZE9wdGlvbik7XG4gICAgICBpZiAoIWZvY3VzZWRPcHRpb24pIHtcbiAgICAgICAgZm9jdXNlZEluZGV4ID0gLTE7XG4gICAgICB9XG4gICAgICBpZiAoZGlyZWN0aW9uID09PSAndXAnKSB7XG4gICAgICAgIG5leHRGb2N1cyA9IGZvY3VzZWRJbmRleCA+IDAgPyBmb2N1c2VkSW5kZXggLSAxIDogb3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdkb3duJykge1xuICAgICAgICBuZXh0Rm9jdXMgPSAoZm9jdXNlZEluZGV4ICsgMSkgJSBvcHRpb25zLmxlbmd0aDtcbiAgICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAncGFnZXVwJykge1xuICAgICAgICBuZXh0Rm9jdXMgPSBmb2N1c2VkSW5kZXggLSBwYWdlU2l6ZTtcbiAgICAgICAgaWYgKG5leHRGb2N1cyA8IDApIG5leHRGb2N1cyA9IDA7XG4gICAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ3BhZ2Vkb3duJykge1xuICAgICAgICBuZXh0Rm9jdXMgPSBmb2N1c2VkSW5kZXggKyBwYWdlU2l6ZTtcbiAgICAgICAgaWYgKG5leHRGb2N1cyA+IG9wdGlvbnMubGVuZ3RoIC0gMSkgbmV4dEZvY3VzID0gb3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdsYXN0Jykge1xuICAgICAgICBuZXh0Rm9jdXMgPSBvcHRpb25zLmxlbmd0aCAtIDE7XG4gICAgICB9XG4gICAgICB0aGlzLnNjcm9sbFRvRm9jdXNlZE9wdGlvbk9uVXBkYXRlID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBmb2N1c2VkT3B0aW9uOiBvcHRpb25zW25leHRGb2N1c10sXG4gICAgICAgIGZvY3VzZWRWYWx1ZTogbnVsbCxcbiAgICAgICAgZm9jdXNlZE9wdGlvbklkOiB0aGlzLmdldEZvY3VzZWRPcHRpb25JZChvcHRpb25zW25leHRGb2N1c10pXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0VGhlbWVcIixcbiAgICB2YWx1ZTpcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBHZXR0ZXJzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBmdW5jdGlvbiBnZXRUaGVtZSgpIHtcbiAgICAgIC8vIFVzZSB0aGUgZGVmYXVsdCB0aGVtZSBpZiB0aGVyZSBhcmUgbm8gY3VzdG9taXNhdGlvbnMuXG4gICAgICBpZiAoIXRoaXMucHJvcHMudGhlbWUpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRUaGVtZTtcbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSB0aGVtZSBwcm9wIGlzIGEgZnVuY3Rpb24sIGFzc3VtZSB0aGUgZnVuY3Rpb25cbiAgICAgIC8vIGtub3dzIGhvdyB0byBtZXJnZSB0aGUgcGFzc2VkLWluIGRlZmF1bHQgdGhlbWUgd2l0aFxuICAgICAgLy8gaXRzIG93biBtb2RpZmljYXRpb25zLlxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLnRoZW1lID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLnRoZW1lKGRlZmF1bHRUaGVtZSk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIGlmIGEgcGxhaW4gdGhlbWUgb2JqZWN0IHdhcyBwYXNzZWQgaW4sXG4gICAgICAvLyBvdmVybGF5IGl0IHdpdGggdGhlIGRlZmF1bHQgdGhlbWUuXG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBkZWZhdWx0VGhlbWUpLCB0aGlzLnByb3BzLnRoZW1lKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0Q29tbW9uUHJvcHNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0Q29tbW9uUHJvcHMoKSB7XG4gICAgICB2YXIgY2xlYXJWYWx1ZSA9IHRoaXMuY2xlYXJWYWx1ZSxcbiAgICAgICAgY3ggPSB0aGlzLmN4LFxuICAgICAgICBnZXRTdHlsZXMgPSB0aGlzLmdldFN0eWxlcyxcbiAgICAgICAgZ2V0Q2xhc3NOYW1lcyA9IHRoaXMuZ2V0Q2xhc3NOYW1lcyxcbiAgICAgICAgZ2V0VmFsdWUgPSB0aGlzLmdldFZhbHVlLFxuICAgICAgICBzZWxlY3RPcHRpb24gPSB0aGlzLnNlbGVjdE9wdGlvbixcbiAgICAgICAgc2V0VmFsdWUgPSB0aGlzLnNldFZhbHVlLFxuICAgICAgICBwcm9wcyA9IHRoaXMucHJvcHM7XG4gICAgICB2YXIgaXNNdWx0aSA9IHByb3BzLmlzTXVsdGksXG4gICAgICAgIGlzUnRsID0gcHJvcHMuaXNSdGwsXG4gICAgICAgIG9wdGlvbnMgPSBwcm9wcy5vcHRpb25zO1xuICAgICAgdmFyIGhhc1ZhbHVlID0gdGhpcy5oYXNWYWx1ZSgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2xlYXJWYWx1ZTogY2xlYXJWYWx1ZSxcbiAgICAgICAgY3g6IGN4LFxuICAgICAgICBnZXRTdHlsZXM6IGdldFN0eWxlcyxcbiAgICAgICAgZ2V0Q2xhc3NOYW1lczogZ2V0Q2xhc3NOYW1lcyxcbiAgICAgICAgZ2V0VmFsdWU6IGdldFZhbHVlLFxuICAgICAgICBoYXNWYWx1ZTogaGFzVmFsdWUsXG4gICAgICAgIGlzTXVsdGk6IGlzTXVsdGksXG4gICAgICAgIGlzUnRsOiBpc1J0bCxcbiAgICAgICAgb3B0aW9uczogb3B0aW9ucyxcbiAgICAgICAgc2VsZWN0T3B0aW9uOiBzZWxlY3RPcHRpb24sXG4gICAgICAgIHNlbGVjdFByb3BzOiBwcm9wcyxcbiAgICAgICAgc2V0VmFsdWU6IHNldFZhbHVlLFxuICAgICAgICB0aGVtZTogdGhpcy5nZXRUaGVtZSgpXG4gICAgICB9O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJoYXNWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBoYXNWYWx1ZSgpIHtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICByZXR1cm4gc2VsZWN0VmFsdWUubGVuZ3RoID4gMDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaGFzT3B0aW9uc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBoYXNPcHRpb25zKCkge1xuICAgICAgcmV0dXJuICEhdGhpcy5nZXRGb2N1c2FibGVPcHRpb25zKCkubGVuZ3RoO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpc0NsZWFyYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc0NsZWFyYWJsZSgpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczcgPSB0aGlzLnByb3BzLFxuICAgICAgICBpc0NsZWFyYWJsZSA9IF90aGlzJHByb3BzNy5pc0NsZWFyYWJsZSxcbiAgICAgICAgaXNNdWx0aSA9IF90aGlzJHByb3BzNy5pc011bHRpO1xuXG4gICAgICAvLyBzaW5nbGUgc2VsZWN0LCBieSBkZWZhdWx0LCBJUyBOT1QgY2xlYXJhYmxlXG4gICAgICAvLyBtdWx0aSBzZWxlY3QsIGJ5IGRlZmF1bHQsIElTIGNsZWFyYWJsZVxuICAgICAgaWYgKGlzQ2xlYXJhYmxlID09PSB1bmRlZmluZWQpIHJldHVybiBpc011bHRpO1xuICAgICAgcmV0dXJuIGlzQ2xlYXJhYmxlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpc09wdGlvbkRpc2FibGVkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzT3B0aW9uRGlzYWJsZWQob3B0aW9uLCBzZWxlY3RWYWx1ZSkge1xuICAgICAgcmV0dXJuIF9pc09wdGlvbkRpc2FibGVkKHRoaXMucHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpc09wdGlvblNlbGVjdGVkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzT3B0aW9uU2VsZWN0ZWQob3B0aW9uLCBzZWxlY3RWYWx1ZSkge1xuICAgICAgcmV0dXJuIF9pc09wdGlvblNlbGVjdGVkKHRoaXMucHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJmaWx0ZXJPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZmlsdGVyT3B0aW9uKG9wdGlvbiwgaW5wdXRWYWx1ZSkge1xuICAgICAgcmV0dXJuIF9maWx0ZXJPcHRpb24odGhpcy5wcm9wcywgb3B0aW9uLCBpbnB1dFZhbHVlKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZm9ybWF0T3B0aW9uTGFiZWxcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9ybWF0T3B0aW9uTGFiZWwoZGF0YSwgY29udGV4dCkge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLmZvcm1hdE9wdGlvbkxhYmVsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHZhciBfaW5wdXRWYWx1ZSA9IHRoaXMucHJvcHMuaW5wdXRWYWx1ZTtcbiAgICAgICAgdmFyIF9zZWxlY3RWYWx1ZSA9IHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmZvcm1hdE9wdGlvbkxhYmVsKGRhdGEsIHtcbiAgICAgICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgICAgIGlucHV0VmFsdWU6IF9pbnB1dFZhbHVlLFxuICAgICAgICAgIHNlbGVjdFZhbHVlOiBfc2VsZWN0VmFsdWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRPcHRpb25MYWJlbChkYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZm9ybWF0R3JvdXBMYWJlbFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXRHcm91cExhYmVsKGRhdGEpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmZvcm1hdEdyb3VwTGFiZWwoZGF0YSk7XG4gICAgfVxuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gTW91c2UgSGFuZGxlcnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgfSwge1xuICAgIGtleTogXCJzdGFydExpc3RlbmluZ0NvbXBvc2l0aW9uXCIsXG4gICAgdmFsdWU6XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gQ29tcG9zaXRpb24gSGFuZGxlcnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIGZ1bmN0aW9uIHN0YXJ0TGlzdGVuaW5nQ29tcG9zaXRpb24oKSB7XG4gICAgICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbnN0YXJ0JywgdGhpcy5vbkNvbXBvc2l0aW9uU3RhcnQsIGZhbHNlKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25lbmQnLCB0aGlzLm9uQ29tcG9zaXRpb25FbmQsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic3RvcExpc3RlbmluZ0NvbXBvc2l0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHN0b3BMaXN0ZW5pbmdDb21wb3NpdGlvbigpIHtcbiAgICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uc3RhcnQnLCB0aGlzLm9uQ29tcG9zaXRpb25TdGFydCk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uZW5kJywgdGhpcy5vbkNvbXBvc2l0aW9uRW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic3RhcnRMaXN0ZW5pbmdUb1RvdWNoXCIsXG4gICAgdmFsdWU6XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gVG91Y2ggSGFuZGxlcnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIGZ1bmN0aW9uIHN0YXJ0TGlzdGVuaW5nVG9Ub3VjaCgpIHtcbiAgICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uVG91Y2hTdGFydCwgZmFsc2UpO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLm9uVG91Y2hNb3ZlLCBmYWxzZSk7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5vblRvdWNoRW5kLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInN0b3BMaXN0ZW5pbmdUb1RvdWNoXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHN0b3BMaXN0ZW5pbmdUb1RvdWNoKCkge1xuICAgICAgaWYgKGRvY3VtZW50ICYmIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Ub3VjaFN0YXJ0KTtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5vblRvdWNoRW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVySW5wdXRcIixcbiAgICB2YWx1ZTpcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBSZW5kZXJlcnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBmdW5jdGlvbiByZW5kZXJJbnB1dCgpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczggPSB0aGlzLnByb3BzLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHM4LmlzRGlzYWJsZWQsXG4gICAgICAgIGlzU2VhcmNoYWJsZSA9IF90aGlzJHByb3BzOC5pc1NlYXJjaGFibGUsXG4gICAgICAgIGlucHV0SWQgPSBfdGhpcyRwcm9wczguaW5wdXRJZCxcbiAgICAgICAgaW5wdXRWYWx1ZSA9IF90aGlzJHByb3BzOC5pbnB1dFZhbHVlLFxuICAgICAgICB0YWJJbmRleCA9IF90aGlzJHByb3BzOC50YWJJbmRleCxcbiAgICAgICAgZm9ybSA9IF90aGlzJHByb3BzOC5mb3JtLFxuICAgICAgICBtZW51SXNPcGVuID0gX3RoaXMkcHJvcHM4Lm1lbnVJc09wZW4sXG4gICAgICAgIHJlcXVpcmVkID0gX3RoaXMkcHJvcHM4LnJlcXVpcmVkO1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHMgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgSW5wdXQgPSBfdGhpcyRnZXRDb21wb25lbnRzLklucHV0O1xuICAgICAgdmFyIF90aGlzJHN0YXRlNCA9IHRoaXMuc3RhdGUsXG4gICAgICAgIGlucHV0SXNIaWRkZW4gPSBfdGhpcyRzdGF0ZTQuaW5wdXRJc0hpZGRlbixcbiAgICAgICAgYXJpYVNlbGVjdGlvbiA9IF90aGlzJHN0YXRlNC5hcmlhU2VsZWN0aW9uO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBpZCA9IGlucHV0SWQgfHwgdGhpcy5nZXRFbGVtZW50SWQoJ2lucHV0Jyk7XG5cbiAgICAgIC8vIGFyaWEgYXR0cmlidXRlcyBtYWtlcyB0aGUgSlNYIFwibm9pc3lcIiwgc2VwYXJhdGVkIGZvciBjbGFyaXR5XG4gICAgICB2YXIgYXJpYUF0dHJpYnV0ZXMgPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7XG4gICAgICAgICdhcmlhLWF1dG9jb21wbGV0ZSc6ICdsaXN0JyxcbiAgICAgICAgJ2FyaWEtZXhwYW5kZWQnOiBtZW51SXNPcGVuLFxuICAgICAgICAnYXJpYS1oYXNwb3B1cCc6IHRydWUsXG4gICAgICAgICdhcmlhLWVycm9ybWVzc2FnZSc6IHRoaXMucHJvcHNbJ2FyaWEtZXJyb3JtZXNzYWdlJ10sXG4gICAgICAgICdhcmlhLWludmFsaWQnOiB0aGlzLnByb3BzWydhcmlhLWludmFsaWQnXSxcbiAgICAgICAgJ2FyaWEtbGFiZWwnOiB0aGlzLnByb3BzWydhcmlhLWxhYmVsJ10sXG4gICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiB0aGlzLnByb3BzWydhcmlhLWxhYmVsbGVkYnknXSxcbiAgICAgICAgJ2FyaWEtcmVxdWlyZWQnOiByZXF1aXJlZCxcbiAgICAgICAgcm9sZTogJ2NvbWJvYm94JyxcbiAgICAgICAgJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc6IHRoaXMuaXNBcHBsZURldmljZSA/IHVuZGVmaW5lZCA6IHRoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbklkIHx8ICcnXG4gICAgICB9LCBtZW51SXNPcGVuICYmIHtcbiAgICAgICAgJ2FyaWEtY29udHJvbHMnOiB0aGlzLmdldEVsZW1lbnRJZCgnbGlzdGJveCcpXG4gICAgICB9KSwgIWlzU2VhcmNoYWJsZSAmJiB7XG4gICAgICAgICdhcmlhLXJlYWRvbmx5JzogdHJ1ZVxuICAgICAgfSksIHRoaXMuaGFzVmFsdWUoKSA/IChhcmlhU2VsZWN0aW9uID09PSBudWxsIHx8IGFyaWFTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFyaWFTZWxlY3Rpb24uYWN0aW9uKSA9PT0gJ2luaXRpYWwtaW5wdXQtZm9jdXMnICYmIHtcbiAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiB0aGlzLmdldEVsZW1lbnRJZCgnbGl2ZS1yZWdpb24nKVxuICAgICAgfSA6IHtcbiAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiB0aGlzLmdldEVsZW1lbnRJZCgncGxhY2Vob2xkZXInKVxuICAgICAgfSk7XG4gICAgICBpZiAoIWlzU2VhcmNoYWJsZSkge1xuICAgICAgICAvLyB1c2UgYSBkdW1teSBpbnB1dCB0byBtYWludGFpbiBmb2N1cy9ibHVyIGZ1bmN0aW9uYWxpdHlcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KER1bW15SW5wdXQsIF9leHRlbmRzKHtcbiAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgaW5uZXJSZWY6IHRoaXMuZ2V0SW5wdXRSZWYsXG4gICAgICAgICAgb25CbHVyOiB0aGlzLm9uSW5wdXRCbHVyLFxuICAgICAgICAgIG9uQ2hhbmdlOiBub29wLFxuICAgICAgICAgIG9uRm9jdXM6IHRoaXMub25JbnB1dEZvY3VzLFxuICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICAgIHRhYkluZGV4OiB0YWJJbmRleCxcbiAgICAgICAgICBpbnB1dE1vZGU6IFwibm9uZVwiLFxuICAgICAgICAgIGZvcm06IGZvcm0sXG4gICAgICAgICAgdmFsdWU6IFwiXCJcbiAgICAgICAgfSwgYXJpYUF0dHJpYnV0ZXMpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dCwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGF1dG9DYXBpdGFsaXplOiBcIm5vbmVcIixcbiAgICAgICAgYXV0b0NvbXBsZXRlOiBcIm9mZlwiLFxuICAgICAgICBhdXRvQ29ycmVjdDogXCJvZmZcIixcbiAgICAgICAgaWQ6IGlkLFxuICAgICAgICBpbm5lclJlZjogdGhpcy5nZXRJbnB1dFJlZixcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgaXNIaWRkZW46IGlucHV0SXNIaWRkZW4sXG4gICAgICAgIG9uQmx1cjogdGhpcy5vbklucHV0Qmx1cixcbiAgICAgICAgb25DaGFuZ2U6IHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2UsXG4gICAgICAgIG9uRm9jdXM6IHRoaXMub25JbnB1dEZvY3VzLFxuICAgICAgICBzcGVsbENoZWNrOiBcImZhbHNlXCIsXG4gICAgICAgIHRhYkluZGV4OiB0YWJJbmRleCxcbiAgICAgICAgZm9ybTogZm9ybSxcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHZhbHVlOiBpbnB1dFZhbHVlXG4gICAgICB9LCBhcmlhQXR0cmlidXRlcykpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJQbGFjZWhvbGRlck9yVmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyUGxhY2Vob2xkZXJPclZhbHVlKCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG4gICAgICB2YXIgX3RoaXMkZ2V0Q29tcG9uZW50czIgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgTXVsdGlWYWx1ZSA9IF90aGlzJGdldENvbXBvbmVudHMyLk11bHRpVmFsdWUsXG4gICAgICAgIE11bHRpVmFsdWVDb250YWluZXIgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5NdWx0aVZhbHVlQ29udGFpbmVyLFxuICAgICAgICBNdWx0aVZhbHVlTGFiZWwgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5NdWx0aVZhbHVlTGFiZWwsXG4gICAgICAgIE11bHRpVmFsdWVSZW1vdmUgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5NdWx0aVZhbHVlUmVtb3ZlLFxuICAgICAgICBTaW5nbGVWYWx1ZSA9IF90aGlzJGdldENvbXBvbmVudHMyLlNpbmdsZVZhbHVlLFxuICAgICAgICBQbGFjZWhvbGRlciA9IF90aGlzJGdldENvbXBvbmVudHMyLlBsYWNlaG9sZGVyO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBfdGhpcyRwcm9wczkgPSB0aGlzLnByb3BzLFxuICAgICAgICBjb250cm9sU2hvdWxkUmVuZGVyVmFsdWUgPSBfdGhpcyRwcm9wczkuY29udHJvbFNob3VsZFJlbmRlclZhbHVlLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHM5LmlzRGlzYWJsZWQsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczkuaXNNdWx0aSxcbiAgICAgICAgaW5wdXRWYWx1ZSA9IF90aGlzJHByb3BzOS5pbnB1dFZhbHVlLFxuICAgICAgICBwbGFjZWhvbGRlciA9IF90aGlzJHByb3BzOS5wbGFjZWhvbGRlcjtcbiAgICAgIHZhciBfdGhpcyRzdGF0ZTUgPSB0aGlzLnN0YXRlLFxuICAgICAgICBzZWxlY3RWYWx1ZSA9IF90aGlzJHN0YXRlNS5zZWxlY3RWYWx1ZSxcbiAgICAgICAgZm9jdXNlZFZhbHVlID0gX3RoaXMkc3RhdGU1LmZvY3VzZWRWYWx1ZSxcbiAgICAgICAgaXNGb2N1c2VkID0gX3RoaXMkc3RhdGU1LmlzRm9jdXNlZDtcbiAgICAgIGlmICghdGhpcy5oYXNWYWx1ZSgpIHx8ICFjb250cm9sU2hvdWxkUmVuZGVyVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0VmFsdWUgPyBudWxsIDogLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoUGxhY2Vob2xkZXIsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICAgIGtleTogXCJwbGFjZWhvbGRlclwiLFxuICAgICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgICAgaW5uZXJQcm9wczoge1xuICAgICAgICAgICAgaWQ6IHRoaXMuZ2V0RWxlbWVudElkKCdwbGFjZWhvbGRlcicpXG4gICAgICAgICAgfVxuICAgICAgICB9KSwgcGxhY2Vob2xkZXIpO1xuICAgICAgfVxuICAgICAgaWYgKGlzTXVsdGkpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdFZhbHVlLm1hcChmdW5jdGlvbiAob3B0LCBpbmRleCkge1xuICAgICAgICAgIHZhciBpc09wdGlvbkZvY3VzZWQgPSBvcHQgPT09IGZvY3VzZWRWYWx1ZTtcbiAgICAgICAgICB2YXIga2V5ID0gXCJcIi5jb25jYXQoX3RoaXMzLmdldE9wdGlvbkxhYmVsKG9wdCksIFwiLVwiKS5jb25jYXQoX3RoaXMzLmdldE9wdGlvblZhbHVlKG9wdCkpO1xuICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChNdWx0aVZhbHVlLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgQ29udGFpbmVyOiBNdWx0aVZhbHVlQ29udGFpbmVyLFxuICAgICAgICAgICAgICBMYWJlbDogTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgICAgICBSZW1vdmU6IE11bHRpVmFsdWVSZW1vdmVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc0ZvY3VzZWQ6IGlzT3B0aW9uRm9jdXNlZCxcbiAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgIHJlbW92ZVByb3BzOiB7XG4gICAgICAgICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMy5yZW1vdmVWYWx1ZShvcHQpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvblRvdWNoRW5kOiBmdW5jdGlvbiBvblRvdWNoRW5kKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfdGhpczMucmVtb3ZlVmFsdWUob3B0KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb25Nb3VzZURvd246IGZ1bmN0aW9uIG9uTW91c2VEb3duKGUpIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkYXRhOiBvcHRcbiAgICAgICAgICB9KSwgX3RoaXMzLmZvcm1hdE9wdGlvbkxhYmVsKG9wdCwgJ3ZhbHVlJykpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgdmFyIHNpbmdsZVZhbHVlID0gc2VsZWN0VmFsdWVbMF07XG4gICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoU2luZ2xlVmFsdWUsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBkYXRhOiBzaW5nbGVWYWx1ZSxcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZFxuICAgICAgfSksIHRoaXMuZm9ybWF0T3B0aW9uTGFiZWwoc2luZ2xlVmFsdWUsICd2YWx1ZScpKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyQ2xlYXJJbmRpY2F0b3JcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyQ2xlYXJJbmRpY2F0b3IoKSB7XG4gICAgICB2YXIgX3RoaXMkZ2V0Q29tcG9uZW50czMgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgQ2xlYXJJbmRpY2F0b3IgPSBfdGhpcyRnZXRDb21wb25lbnRzMy5DbGVhckluZGljYXRvcjtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMxMCA9IHRoaXMucHJvcHMsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczEwLmlzRGlzYWJsZWQsXG4gICAgICAgIGlzTG9hZGluZyA9IF90aGlzJHByb3BzMTAuaXNMb2FkaW5nO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgaWYgKCF0aGlzLmlzQ2xlYXJhYmxlKCkgfHwgIUNsZWFySW5kaWNhdG9yIHx8IGlzRGlzYWJsZWQgfHwgIXRoaXMuaGFzVmFsdWUoKSB8fCBpc0xvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICB2YXIgaW5uZXJQcm9wcyA9IHtcbiAgICAgICAgb25Nb3VzZURvd246IHRoaXMub25DbGVhckluZGljYXRvck1vdXNlRG93bixcbiAgICAgICAgb25Ub3VjaEVuZDogdGhpcy5vbkNsZWFySW5kaWNhdG9yVG91Y2hFbmQsXG4gICAgICAgICdhcmlhLWhpZGRlbic6ICd0cnVlJ1xuICAgICAgfTtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckluZGljYXRvciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkXG4gICAgICB9KSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlckxvYWRpbmdJbmRpY2F0b3JcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyTG9hZGluZ0luZGljYXRvcigpIHtcbiAgICAgIHZhciBfdGhpcyRnZXRDb21wb25lbnRzNCA9IHRoaXMuZ2V0Q29tcG9uZW50cygpLFxuICAgICAgICBMb2FkaW5nSW5kaWNhdG9yID0gX3RoaXMkZ2V0Q29tcG9uZW50czQuTG9hZGluZ0luZGljYXRvcjtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMxMSA9IHRoaXMucHJvcHMsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczExLmlzRGlzYWJsZWQsXG4gICAgICAgIGlzTG9hZGluZyA9IF90aGlzJHByb3BzMTEuaXNMb2FkaW5nO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgaWYgKCFMb2FkaW5nSW5kaWNhdG9yIHx8ICFpc0xvYWRpbmcpIHJldHVybiBudWxsO1xuICAgICAgdmFyIGlubmVyUHJvcHMgPSB7XG4gICAgICAgICdhcmlhLWhpZGRlbic6ICd0cnVlJ1xuICAgICAgfTtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChMb2FkaW5nSW5kaWNhdG9yLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgaW5uZXJQcm9wczogaW5uZXJQcm9wcyxcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWRcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVySW5kaWNhdG9yU2VwYXJhdG9yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlckluZGljYXRvclNlcGFyYXRvcigpIHtcbiAgICAgIHZhciBfdGhpcyRnZXRDb21wb25lbnRzNSA9IHRoaXMuZ2V0Q29tcG9uZW50cygpLFxuICAgICAgICBEcm9wZG93bkluZGljYXRvciA9IF90aGlzJGdldENvbXBvbmVudHM1LkRyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICBJbmRpY2F0b3JTZXBhcmF0b3IgPSBfdGhpcyRnZXRDb21wb25lbnRzNS5JbmRpY2F0b3JTZXBhcmF0b3I7XG5cbiAgICAgIC8vIHNlcGFyYXRvciBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCB0aGUgZHJvcGRvd24gaW5kaWNhdG9yXG4gICAgICBpZiAoIURyb3Bkb3duSW5kaWNhdG9yIHx8ICFJbmRpY2F0b3JTZXBhcmF0b3IpIHJldHVybiBudWxsO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBpc0Rpc2FibGVkID0gdGhpcy5wcm9wcy5pc0Rpc2FibGVkO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEluZGljYXRvclNlcGFyYXRvciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkXG4gICAgICB9KSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlckRyb3Bkb3duSW5kaWNhdG9yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlckRyb3Bkb3duSW5kaWNhdG9yKCkge1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHM2ID0gdGhpcy5nZXRDb21wb25lbnRzKCksXG4gICAgICAgIERyb3Bkb3duSW5kaWNhdG9yID0gX3RoaXMkZ2V0Q29tcG9uZW50czYuRHJvcGRvd25JbmRpY2F0b3I7XG4gICAgICBpZiAoIURyb3Bkb3duSW5kaWNhdG9yKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgaXNEaXNhYmxlZCA9IHRoaXMucHJvcHMuaXNEaXNhYmxlZDtcbiAgICAgIHZhciBpc0ZvY3VzZWQgPSB0aGlzLnN0YXRlLmlzRm9jdXNlZDtcbiAgICAgIHZhciBpbm5lclByb3BzID0ge1xuICAgICAgICBvbk1vdXNlRG93bjogdGhpcy5vbkRyb3Bkb3duSW5kaWNhdG9yTW91c2VEb3duLFxuICAgICAgICBvblRvdWNoRW5kOiB0aGlzLm9uRHJvcGRvd25JbmRpY2F0b3JUb3VjaEVuZCxcbiAgICAgICAgJ2FyaWEtaGlkZGVuJzogJ3RydWUnXG4gICAgICB9O1xuICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgaW5uZXJQcm9wczogaW5uZXJQcm9wcyxcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWRcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyTWVudVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXJNZW51KCkge1xuICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG4gICAgICB2YXIgX3RoaXMkZ2V0Q29tcG9uZW50czcgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgR3JvdXAgPSBfdGhpcyRnZXRDb21wb25lbnRzNy5Hcm91cCxcbiAgICAgICAgR3JvdXBIZWFkaW5nID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuR3JvdXBIZWFkaW5nLFxuICAgICAgICBNZW51ID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuTWVudSxcbiAgICAgICAgTWVudUxpc3QgPSBfdGhpcyRnZXRDb21wb25lbnRzNy5NZW51TGlzdCxcbiAgICAgICAgTWVudVBvcnRhbCA9IF90aGlzJGdldENvbXBvbmVudHM3Lk1lbnVQb3J0YWwsXG4gICAgICAgIExvYWRpbmdNZXNzYWdlID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuTG9hZGluZ01lc3NhZ2UsXG4gICAgICAgIE5vT3B0aW9uc01lc3NhZ2UgPSBfdGhpcyRnZXRDb21wb25lbnRzNy5Ob09wdGlvbnNNZXNzYWdlLFxuICAgICAgICBPcHRpb24gPSBfdGhpcyRnZXRDb21wb25lbnRzNy5PcHRpb247XG4gICAgICB2YXIgY29tbW9uUHJvcHMgPSB0aGlzLmNvbW1vblByb3BzO1xuICAgICAgdmFyIGZvY3VzZWRPcHRpb24gPSB0aGlzLnN0YXRlLmZvY3VzZWRPcHRpb247XG4gICAgICB2YXIgX3RoaXMkcHJvcHMxMiA9IHRoaXMucHJvcHMsXG4gICAgICAgIGNhcHR1cmVNZW51U2Nyb2xsID0gX3RoaXMkcHJvcHMxMi5jYXB0dXJlTWVudVNjcm9sbCxcbiAgICAgICAgaW5wdXRWYWx1ZSA9IF90aGlzJHByb3BzMTIuaW5wdXRWYWx1ZSxcbiAgICAgICAgaXNMb2FkaW5nID0gX3RoaXMkcHJvcHMxMi5pc0xvYWRpbmcsXG4gICAgICAgIGxvYWRpbmdNZXNzYWdlID0gX3RoaXMkcHJvcHMxMi5sb2FkaW5nTWVzc2FnZSxcbiAgICAgICAgbWluTWVudUhlaWdodCA9IF90aGlzJHByb3BzMTIubWluTWVudUhlaWdodCxcbiAgICAgICAgbWF4TWVudUhlaWdodCA9IF90aGlzJHByb3BzMTIubWF4TWVudUhlaWdodCxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzMTIubWVudUlzT3BlbixcbiAgICAgICAgbWVudVBsYWNlbWVudCA9IF90aGlzJHByb3BzMTIubWVudVBsYWNlbWVudCxcbiAgICAgICAgbWVudVBvc2l0aW9uID0gX3RoaXMkcHJvcHMxMi5tZW51UG9zaXRpb24sXG4gICAgICAgIG1lbnVQb3J0YWxUYXJnZXQgPSBfdGhpcyRwcm9wczEyLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgICAgIG1lbnVTaG91bGRCbG9ja1Njcm9sbCA9IF90aGlzJHByb3BzMTIubWVudVNob3VsZEJsb2NrU2Nyb2xsLFxuICAgICAgICBtZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXcgPSBfdGhpcyRwcm9wczEyLm1lbnVTaG91bGRTY3JvbGxJbnRvVmlldyxcbiAgICAgICAgbm9PcHRpb25zTWVzc2FnZSA9IF90aGlzJHByb3BzMTIubm9PcHRpb25zTWVzc2FnZSxcbiAgICAgICAgb25NZW51U2Nyb2xsVG9Ub3AgPSBfdGhpcyRwcm9wczEyLm9uTWVudVNjcm9sbFRvVG9wLFxuICAgICAgICBvbk1lbnVTY3JvbGxUb0JvdHRvbSA9IF90aGlzJHByb3BzMTIub25NZW51U2Nyb2xsVG9Cb3R0b207XG4gICAgICBpZiAoIW1lbnVJc09wZW4pIHJldHVybiBudWxsO1xuXG4gICAgICAvLyBUT0RPOiBJbnRlcm5hbCBPcHRpb24gVHlwZSBoZXJlXG4gICAgICB2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKHByb3BzLCBpZCkge1xuICAgICAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGUsXG4gICAgICAgICAgZGF0YSA9IHByb3BzLmRhdGEsXG4gICAgICAgICAgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQsXG4gICAgICAgICAgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQsXG4gICAgICAgICAgbGFiZWwgPSBwcm9wcy5sYWJlbCxcbiAgICAgICAgICB2YWx1ZSA9IHByb3BzLnZhbHVlO1xuICAgICAgICB2YXIgaXNGb2N1c2VkID0gZm9jdXNlZE9wdGlvbiA9PT0gZGF0YTtcbiAgICAgICAgdmFyIG9uSG92ZXIgPSBpc0Rpc2FibGVkID8gdW5kZWZpbmVkIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczQub25PcHRpb25Ib3ZlcihkYXRhKTtcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIG9uU2VsZWN0ID0gaXNEaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXM0LnNlbGVjdE9wdGlvbihkYXRhKTtcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIG9wdGlvbklkID0gXCJcIi5jb25jYXQoX3RoaXM0LmdldEVsZW1lbnRJZCgnb3B0aW9uJyksIFwiLVwiKS5jb25jYXQoaWQpO1xuICAgICAgICB2YXIgaW5uZXJQcm9wcyA9IHtcbiAgICAgICAgICBpZDogb3B0aW9uSWQsXG4gICAgICAgICAgb25DbGljazogb25TZWxlY3QsXG4gICAgICAgICAgb25Nb3VzZU1vdmU6IG9uSG92ZXIsXG4gICAgICAgICAgb25Nb3VzZU92ZXI6IG9uSG92ZXIsXG4gICAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogX3RoaXM0LmlzQXBwbGVEZXZpY2UgPyB1bmRlZmluZWQgOiBpc1NlbGVjdGVkIC8vIGlzIG5vdCBzdXBwb3J0ZWQgb24gQXBwbGUgZGV2aWNlc1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChPcHRpb24sIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsXG4gICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICBpc0Rpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICAgIGlzU2VsZWN0ZWQ6IGlzU2VsZWN0ZWQsXG4gICAgICAgICAga2V5OiBvcHRpb25JZCxcbiAgICAgICAgICBsYWJlbDogbGFiZWwsXG4gICAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgICAgaW5uZXJSZWY6IGlzRm9jdXNlZCA/IF90aGlzNC5nZXRGb2N1c2VkT3B0aW9uUmVmIDogdW5kZWZpbmVkXG4gICAgICAgIH0pLCBfdGhpczQuZm9ybWF0T3B0aW9uTGFiZWwocHJvcHMuZGF0YSwgJ21lbnUnKSk7XG4gICAgICB9O1xuICAgICAgdmFyIG1lbnVVSTtcbiAgICAgIGlmICh0aGlzLmhhc09wdGlvbnMoKSkge1xuICAgICAgICBtZW51VUkgPSB0aGlzLmdldENhdGVnb3JpemVkT3B0aW9ucygpLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICAgICAgICAgIHZhciBfZGF0YSA9IGl0ZW0uZGF0YSxcbiAgICAgICAgICAgICAgb3B0aW9ucyA9IGl0ZW0ub3B0aW9ucyxcbiAgICAgICAgICAgICAgZ3JvdXBJbmRleCA9IGl0ZW0uaW5kZXg7XG4gICAgICAgICAgICB2YXIgZ3JvdXBJZCA9IFwiXCIuY29uY2F0KF90aGlzNC5nZXRFbGVtZW50SWQoJ2dyb3VwJyksIFwiLVwiKS5jb25jYXQoZ3JvdXBJbmRleCk7XG4gICAgICAgICAgICB2YXIgaGVhZGluZ0lkID0gXCJcIi5jb25jYXQoZ3JvdXBJZCwgXCItaGVhZGluZ1wiKTtcbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChHcm91cCwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgICAgICAgIGtleTogZ3JvdXBJZCxcbiAgICAgICAgICAgICAgZGF0YTogX2RhdGEsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICAgICAgICAgIEhlYWRpbmc6IEdyb3VwSGVhZGluZyxcbiAgICAgICAgICAgICAgaGVhZGluZ1Byb3BzOiB7XG4gICAgICAgICAgICAgICAgaWQ6IGhlYWRpbmdJZCxcbiAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmRhdGFcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbGFiZWw6IF90aGlzNC5mb3JtYXRHcm91cExhYmVsKGl0ZW0uZGF0YSlcbiAgICAgICAgICAgIH0pLCBpdGVtLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlbmRlcihvcHRpb24sIFwiXCIuY29uY2F0KGdyb3VwSW5kZXgsIFwiLVwiKS5jb25jYXQob3B0aW9uLmluZGV4KSk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdvcHRpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVuZGVyKGl0ZW0sIFwiXCIuY29uY2F0KGl0ZW0uaW5kZXgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChpc0xvYWRpbmcpIHtcbiAgICAgICAgdmFyIG1lc3NhZ2UgPSBsb2FkaW5nTWVzc2FnZSh7XG4gICAgICAgICAgaW5wdXRWYWx1ZTogaW5wdXRWYWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG1lc3NhZ2UgPT09IG51bGwpIHJldHVybiBudWxsO1xuICAgICAgICBtZW51VUkgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChMb2FkaW5nTWVzc2FnZSwgY29tbW9uUHJvcHMsIG1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIF9tZXNzYWdlID0gbm9PcHRpb25zTWVzc2FnZSh7XG4gICAgICAgICAgaW5wdXRWYWx1ZTogaW5wdXRWYWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKF9tZXNzYWdlID09PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgbWVudVVJID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoTm9PcHRpb25zTWVzc2FnZSwgY29tbW9uUHJvcHMsIF9tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHZhciBtZW51UGxhY2VtZW50UHJvcHMgPSB7XG4gICAgICAgIG1pbk1lbnVIZWlnaHQ6IG1pbk1lbnVIZWlnaHQsXG4gICAgICAgIG1heE1lbnVIZWlnaHQ6IG1heE1lbnVIZWlnaHQsXG4gICAgICAgIG1lbnVQbGFjZW1lbnQ6IG1lbnVQbGFjZW1lbnQsXG4gICAgICAgIG1lbnVQb3NpdGlvbjogbWVudVBvc2l0aW9uLFxuICAgICAgICBtZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXc6IG1lbnVTaG91bGRTY3JvbGxJbnRvVmlld1xuICAgICAgfTtcbiAgICAgIHZhciBtZW51RWxlbWVudCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KE1lbnVQbGFjZXIsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywgbWVudVBsYWNlbWVudFByb3BzKSwgZnVuY3Rpb24gKF9yZWY0KSB7XG4gICAgICAgIHZhciByZWYgPSBfcmVmNC5yZWYsXG4gICAgICAgICAgX3JlZjQkcGxhY2VyUHJvcHMgPSBfcmVmNC5wbGFjZXJQcm9wcyxcbiAgICAgICAgICBwbGFjZW1lbnQgPSBfcmVmNCRwbGFjZXJQcm9wcy5wbGFjZW1lbnQsXG4gICAgICAgICAgbWF4SGVpZ2h0ID0gX3JlZjQkcGxhY2VyUHJvcHMubWF4SGVpZ2h0O1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoTWVudSwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCBtZW51UGxhY2VtZW50UHJvcHMsIHtcbiAgICAgICAgICBpbm5lclJlZjogcmVmLFxuICAgICAgICAgIGlubmVyUHJvcHM6IHtcbiAgICAgICAgICAgIG9uTW91c2VEb3duOiBfdGhpczQub25NZW51TW91c2VEb3duLFxuICAgICAgICAgICAgb25Nb3VzZU1vdmU6IF90aGlzNC5vbk1lbnVNb3VzZU1vdmVcbiAgICAgICAgICB9LFxuICAgICAgICAgIGlzTG9hZGluZzogaXNMb2FkaW5nLFxuICAgICAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50XG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChTY3JvbGxNYW5hZ2VyLCB7XG4gICAgICAgICAgY2FwdHVyZUVuYWJsZWQ6IGNhcHR1cmVNZW51U2Nyb2xsLFxuICAgICAgICAgIG9uVG9wQXJyaXZlOiBvbk1lbnVTY3JvbGxUb1RvcCxcbiAgICAgICAgICBvbkJvdHRvbUFycml2ZTogb25NZW51U2Nyb2xsVG9Cb3R0b20sXG4gICAgICAgICAgbG9ja0VuYWJsZWQ6IG1lbnVTaG91bGRCbG9ja1Njcm9sbFxuICAgICAgICB9LCBmdW5jdGlvbiAoc2Nyb2xsVGFyZ2V0UmVmKSB7XG4gICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KE1lbnVMaXN0LCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgICAgIGlubmVyUmVmOiBmdW5jdGlvbiBpbm5lclJlZihpbnN0YW5jZSkge1xuICAgICAgICAgICAgICBfdGhpczQuZ2V0TWVudUxpc3RSZWYoaW5zdGFuY2UpO1xuICAgICAgICAgICAgICBzY3JvbGxUYXJnZXRSZWYoaW5zdGFuY2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlubmVyUHJvcHM6IHtcbiAgICAgICAgICAgICAgcm9sZTogJ2xpc3Rib3gnLFxuICAgICAgICAgICAgICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiBjb21tb25Qcm9wcy5pc011bHRpLFxuICAgICAgICAgICAgICBpZDogX3RoaXM0LmdldEVsZW1lbnRJZCgnbGlzdGJveCcpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmcsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6IG1heEhlaWdodCxcbiAgICAgICAgICAgIGZvY3VzZWRPcHRpb246IGZvY3VzZWRPcHRpb25cbiAgICAgICAgICB9KSwgbWVudVVJKTtcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIHBvc2l0aW9uaW5nIGJlaGF2aW91ciBpcyBhbG1vc3QgaWRlbnRpY2FsIGZvciBwb3J0YWxsZWQgYW5kIGZpeGVkLFxuICAgICAgLy8gc28gd2UgdXNlIHRoZSBzYW1lIGNvbXBvbmVudC4gdGhlIGFjdHVhbCBwb3J0YWxsaW5nIGxvZ2ljIGlzIGZvcmtlZFxuICAgICAgLy8gd2l0aGluIHRoZSBjb21wb25lbnQgYmFzZWQgb24gYG1lbnVQb3NpdGlvbmBcbiAgICAgIHJldHVybiBtZW51UG9ydGFsVGFyZ2V0IHx8IG1lbnVQb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KE1lbnVQb3J0YWwsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBhcHBlbmRUbzogbWVudVBvcnRhbFRhcmdldCxcbiAgICAgICAgY29udHJvbEVsZW1lbnQ6IHRoaXMuY29udHJvbFJlZixcbiAgICAgICAgbWVudVBsYWNlbWVudDogbWVudVBsYWNlbWVudCxcbiAgICAgICAgbWVudVBvc2l0aW9uOiBtZW51UG9zaXRpb25cbiAgICAgIH0pLCBtZW51RWxlbWVudCkgOiBtZW51RWxlbWVudDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyRm9ybUZpZWxkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlckZvcm1GaWVsZCgpIHtcbiAgICAgIHZhciBfdGhpczUgPSB0aGlzO1xuICAgICAgdmFyIF90aGlzJHByb3BzMTMgPSB0aGlzLnByb3BzLFxuICAgICAgICBkZWxpbWl0ZXIgPSBfdGhpcyRwcm9wczEzLmRlbGltaXRlcixcbiAgICAgICAgaXNEaXNhYmxlZCA9IF90aGlzJHByb3BzMTMuaXNEaXNhYmxlZCxcbiAgICAgICAgaXNNdWx0aSA9IF90aGlzJHByb3BzMTMuaXNNdWx0aSxcbiAgICAgICAgbmFtZSA9IF90aGlzJHByb3BzMTMubmFtZSxcbiAgICAgICAgcmVxdWlyZWQgPSBfdGhpcyRwcm9wczEzLnJlcXVpcmVkO1xuICAgICAgdmFyIHNlbGVjdFZhbHVlID0gdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgICAgIGlmIChyZXF1aXJlZCAmJiAhdGhpcy5oYXNWYWx1ZSgpICYmICFpc0Rpc2FibGVkKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChSZXF1aXJlZElucHV0JDEsIHtcbiAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgIG9uRm9jdXM6IHRoaXMub25WYWx1ZUlucHV0Rm9jdXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoIW5hbWUgfHwgaXNEaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgaWYgKGlzTXVsdGkpIHtcbiAgICAgICAgaWYgKGRlbGltaXRlcikge1xuICAgICAgICAgIHZhciB2YWx1ZSA9IHNlbGVjdFZhbHVlLm1hcChmdW5jdGlvbiAob3B0KSB7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXM1LmdldE9wdGlvblZhbHVlKG9wdCk7XG4gICAgICAgICAgfSkuam9pbihkZWxpbWl0ZXIpO1xuICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICB0eXBlOiBcImhpZGRlblwiLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIGlucHV0ID0gc2VsZWN0VmFsdWUubGVuZ3RoID4gMCA/IHNlbGVjdFZhbHVlLm1hcChmdW5jdGlvbiAob3B0LCBpKSB7XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgIGtleTogXCJpLVwiLmNvbmNhdChpKSxcbiAgICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogXCJoaWRkZW5cIixcbiAgICAgICAgICAgICAgdmFsdWU6IF90aGlzNS5nZXRPcHRpb25WYWx1ZShvcHQpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSA6IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgIHR5cGU6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICB2YWx1ZTogXCJcIlxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLCBpbnB1dCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBfdmFsdWUgPSBzZWxlY3RWYWx1ZVswXSA/IHRoaXMuZ2V0T3B0aW9uVmFsdWUoc2VsZWN0VmFsdWVbMF0pIDogJyc7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtcbiAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgIHR5cGU6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgdmFsdWU6IF92YWx1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyTGl2ZVJlZ2lvblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXJMaXZlUmVnaW9uKCkge1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBfdGhpcyRzdGF0ZTYgPSB0aGlzLnN0YXRlLFxuICAgICAgICBhcmlhU2VsZWN0aW9uID0gX3RoaXMkc3RhdGU2LmFyaWFTZWxlY3Rpb24sXG4gICAgICAgIGZvY3VzZWRPcHRpb24gPSBfdGhpcyRzdGF0ZTYuZm9jdXNlZE9wdGlvbixcbiAgICAgICAgZm9jdXNlZFZhbHVlID0gX3RoaXMkc3RhdGU2LmZvY3VzZWRWYWx1ZSxcbiAgICAgICAgaXNGb2N1c2VkID0gX3RoaXMkc3RhdGU2LmlzRm9jdXNlZCxcbiAgICAgICAgc2VsZWN0VmFsdWUgPSBfdGhpcyRzdGF0ZTYuc2VsZWN0VmFsdWU7XG4gICAgICB2YXIgZm9jdXNhYmxlT3B0aW9ucyA9IHRoaXMuZ2V0Rm9jdXNhYmxlT3B0aW9ucygpO1xuICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KExpdmVSZWdpb24kMSwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlkOiB0aGlzLmdldEVsZW1lbnRJZCgnbGl2ZS1yZWdpb24nKSxcbiAgICAgICAgYXJpYVNlbGVjdGlvbjogYXJpYVNlbGVjdGlvbixcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogZm9jdXNlZE9wdGlvbixcbiAgICAgICAgZm9jdXNlZFZhbHVlOiBmb2N1c2VkVmFsdWUsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkLFxuICAgICAgICBzZWxlY3RWYWx1ZTogc2VsZWN0VmFsdWUsXG4gICAgICAgIGZvY3VzYWJsZU9wdGlvbnM6IGZvY3VzYWJsZU9wdGlvbnMsXG4gICAgICAgIGlzQXBwbGVEZXZpY2U6IHRoaXMuaXNBcHBsZURldmljZVxuICAgICAgfSkpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHM4ID0gdGhpcy5nZXRDb21wb25lbnRzKCksXG4gICAgICAgIENvbnRyb2wgPSBfdGhpcyRnZXRDb21wb25lbnRzOC5Db250cm9sLFxuICAgICAgICBJbmRpY2F0b3JzQ29udGFpbmVyID0gX3RoaXMkZ2V0Q29tcG9uZW50czguSW5kaWNhdG9yc0NvbnRhaW5lcixcbiAgICAgICAgU2VsZWN0Q29udGFpbmVyID0gX3RoaXMkZ2V0Q29tcG9uZW50czguU2VsZWN0Q29udGFpbmVyLFxuICAgICAgICBWYWx1ZUNvbnRhaW5lciA9IF90aGlzJGdldENvbXBvbmVudHM4LlZhbHVlQ29udGFpbmVyO1xuICAgICAgdmFyIF90aGlzJHByb3BzMTQgPSB0aGlzLnByb3BzLFxuICAgICAgICBjbGFzc05hbWUgPSBfdGhpcyRwcm9wczE0LmNsYXNzTmFtZSxcbiAgICAgICAgaWQgPSBfdGhpcyRwcm9wczE0LmlkLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHMxNC5pc0Rpc2FibGVkLFxuICAgICAgICBtZW51SXNPcGVuID0gX3RoaXMkcHJvcHMxNC5tZW51SXNPcGVuO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcyA9IHRoaXMuZ2V0Q29tbW9uUHJvcHMoKTtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RDb250YWluZXIsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZSxcbiAgICAgICAgaW5uZXJQcm9wczoge1xuICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICBvbktleURvd246IHRoaXMub25LZXlEb3duXG4gICAgICAgIH0sXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkXG4gICAgICB9KSwgdGhpcy5yZW5kZXJMaXZlUmVnaW9uKCksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KENvbnRyb2wsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBpbm5lclJlZjogdGhpcy5nZXRDb250cm9sUmVmLFxuICAgICAgICBpbm5lclByb3BzOiB7XG4gICAgICAgICAgb25Nb3VzZURvd246IHRoaXMub25Db250cm9sTW91c2VEb3duLFxuICAgICAgICAgIG9uVG91Y2hFbmQ6IHRoaXMub25Db250cm9sVG91Y2hFbmRcbiAgICAgICAgfSxcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgIG1lbnVJc09wZW46IG1lbnVJc09wZW5cbiAgICAgIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChWYWx1ZUNvbnRhaW5lciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWRcbiAgICAgIH0pLCB0aGlzLnJlbmRlclBsYWNlaG9sZGVyT3JWYWx1ZSgpLCB0aGlzLnJlbmRlcklucHV0KCkpLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChJbmRpY2F0b3JzQ29udGFpbmVyLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZFxuICAgICAgfSksIHRoaXMucmVuZGVyQ2xlYXJJbmRpY2F0b3IoKSwgdGhpcy5yZW5kZXJMb2FkaW5nSW5kaWNhdG9yKCksIHRoaXMucmVuZGVySW5kaWNhdG9yU2VwYXJhdG9yKCksIHRoaXMucmVuZGVyRHJvcGRvd25JbmRpY2F0b3IoKSkpLCB0aGlzLnJlbmRlck1lbnUoKSwgdGhpcy5yZW5kZXJGb3JtRmllbGQoKSk7XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6IFwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIHZhciBwcmV2UHJvcHMgPSBzdGF0ZS5wcmV2UHJvcHMsXG4gICAgICAgIGNsZWFyRm9jdXNWYWx1ZU9uVXBkYXRlID0gc3RhdGUuY2xlYXJGb2N1c1ZhbHVlT25VcGRhdGUsXG4gICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZSA9IHN0YXRlLmlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZSxcbiAgICAgICAgYXJpYVNlbGVjdGlvbiA9IHN0YXRlLmFyaWFTZWxlY3Rpb24sXG4gICAgICAgIGlzRm9jdXNlZCA9IHN0YXRlLmlzRm9jdXNlZCxcbiAgICAgICAgcHJldldhc0ZvY3VzZWQgPSBzdGF0ZS5wcmV2V2FzRm9jdXNlZCxcbiAgICAgICAgaW5zdGFuY2VQcmVmaXggPSBzdGF0ZS5pbnN0YW5jZVByZWZpeDtcbiAgICAgIHZhciBvcHRpb25zID0gcHJvcHMub3B0aW9ucyxcbiAgICAgICAgdmFsdWUgPSBwcm9wcy52YWx1ZSxcbiAgICAgICAgbWVudUlzT3BlbiA9IHByb3BzLm1lbnVJc09wZW4sXG4gICAgICAgIGlucHV0VmFsdWUgPSBwcm9wcy5pbnB1dFZhbHVlLFxuICAgICAgICBpc011bHRpID0gcHJvcHMuaXNNdWx0aTtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IGNsZWFuVmFsdWUodmFsdWUpO1xuICAgICAgdmFyIG5ld01lbnVPcHRpb25zU3RhdGUgPSB7fTtcbiAgICAgIGlmIChwcmV2UHJvcHMgJiYgKHZhbHVlICE9PSBwcmV2UHJvcHMudmFsdWUgfHwgb3B0aW9ucyAhPT0gcHJldlByb3BzLm9wdGlvbnMgfHwgbWVudUlzT3BlbiAhPT0gcHJldlByb3BzLm1lbnVJc09wZW4gfHwgaW5wdXRWYWx1ZSAhPT0gcHJldlByb3BzLmlucHV0VmFsdWUpKSB7XG4gICAgICAgIHZhciBmb2N1c2FibGVPcHRpb25zID0gbWVudUlzT3BlbiA/IGJ1aWxkRm9jdXNhYmxlT3B0aW9ucyhwcm9wcywgc2VsZWN0VmFsdWUpIDogW107XG4gICAgICAgIHZhciBmb2N1c2FibGVPcHRpb25zV2l0aElkcyA9IG1lbnVJc09wZW4gPyBidWlsZEZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzKGJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKHByb3BzLCBzZWxlY3RWYWx1ZSksIFwiXCIuY29uY2F0KGluc3RhbmNlUHJlZml4LCBcIi1vcHRpb25cIikpIDogW107XG4gICAgICAgIHZhciBmb2N1c2VkVmFsdWUgPSBjbGVhckZvY3VzVmFsdWVPblVwZGF0ZSA/IGdldE5leHRGb2N1c2VkVmFsdWUoc3RhdGUsIHNlbGVjdFZhbHVlKSA6IG51bGw7XG4gICAgICAgIHZhciBmb2N1c2VkT3B0aW9uID0gZ2V0TmV4dEZvY3VzZWRPcHRpb24oc3RhdGUsIGZvY3VzYWJsZU9wdGlvbnMpO1xuICAgICAgICB2YXIgZm9jdXNlZE9wdGlvbklkID0gZ2V0Rm9jdXNlZE9wdGlvbklkKGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzLCBmb2N1c2VkT3B0aW9uKTtcbiAgICAgICAgbmV3TWVudU9wdGlvbnNTdGF0ZSA9IHtcbiAgICAgICAgICBzZWxlY3RWYWx1ZTogc2VsZWN0VmFsdWUsXG4gICAgICAgICAgZm9jdXNlZE9wdGlvbjogZm9jdXNlZE9wdGlvbixcbiAgICAgICAgICBmb2N1c2VkT3B0aW9uSWQ6IGZvY3VzZWRPcHRpb25JZCxcbiAgICAgICAgICBmb2N1c2FibGVPcHRpb25zV2l0aElkczogZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMsXG4gICAgICAgICAgZm9jdXNlZFZhbHVlOiBmb2N1c2VkVmFsdWUsXG4gICAgICAgICAgY2xlYXJGb2N1c1ZhbHVlT25VcGRhdGU6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICAvLyBzb21lIHVwZGF0ZXMgc2hvdWxkIHRvZ2dsZSB0aGUgc3RhdGUgb2YgdGhlIGlucHV0IHZpc2liaWxpdHlcbiAgICAgIHZhciBuZXdJbnB1dElzSGlkZGVuU3RhdGUgPSBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGUgIT0gbnVsbCAmJiBwcm9wcyAhPT0gcHJldlByb3BzID8ge1xuICAgICAgICBpbnB1dElzSGlkZGVuOiBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGUsXG4gICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZTogdW5kZWZpbmVkXG4gICAgICB9IDoge307XG4gICAgICB2YXIgbmV3QXJpYVNlbGVjdGlvbiA9IGFyaWFTZWxlY3Rpb247XG4gICAgICB2YXIgaGFzS2VwdEZvY3VzID0gaXNGb2N1c2VkICYmIHByZXZXYXNGb2N1c2VkO1xuICAgICAgaWYgKGlzRm9jdXNlZCAmJiAhaGFzS2VwdEZvY3VzKSB7XG4gICAgICAgIC8vIElmIGB2YWx1ZWAgb3IgYGRlZmF1bHRWYWx1ZWAgcHJvcHMgYXJlIG5vdCBlbXB0eSB0aGVuIGFubm91bmNlIHRoZW1cbiAgICAgICAgLy8gd2hlbiB0aGUgU2VsZWN0IGlzIGluaXRpYWxseSBmb2N1c2VkXG4gICAgICAgIG5ld0FyaWFTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgdmFsdWU6IHZhbHVlVGVybmFyeShpc011bHRpLCBzZWxlY3RWYWx1ZSwgc2VsZWN0VmFsdWVbMF0gfHwgbnVsbCksXG4gICAgICAgICAgb3B0aW9uczogc2VsZWN0VmFsdWUsXG4gICAgICAgICAgYWN0aW9uOiAnaW5pdGlhbC1pbnB1dC1mb2N1cydcbiAgICAgICAgfTtcbiAgICAgICAgaGFzS2VwdEZvY3VzID0gIXByZXZXYXNGb2N1c2VkO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgJ2luaXRpYWwtaW5wdXQtZm9jdXMnIGFjdGlvbiBoYXMgYmVlbiBzZXQgYWxyZWFkeVxuICAgICAgLy8gdGhlbiByZXNldCB0aGUgYXJpYVNlbGVjdGlvbiB0byBudWxsXG4gICAgICBpZiAoKGFyaWFTZWxlY3Rpb24gPT09IG51bGwgfHwgYXJpYVNlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYXJpYVNlbGVjdGlvbi5hY3Rpb24pID09PSAnaW5pdGlhbC1pbnB1dC1mb2N1cycpIHtcbiAgICAgICAgbmV3QXJpYVNlbGVjdGlvbiA9IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIG5ld01lbnVPcHRpb25zU3RhdGUpLCBuZXdJbnB1dElzSGlkZGVuU3RhdGUpLCB7fSwge1xuICAgICAgICBwcmV2UHJvcHM6IHByb3BzLFxuICAgICAgICBhcmlhU2VsZWN0aW9uOiBuZXdBcmlhU2VsZWN0aW9uLFxuICAgICAgICBwcmV2V2FzRm9jdXNlZDogaGFzS2VwdEZvY3VzXG4gICAgICB9KTtcbiAgICB9XG4gIH1dKTtcbiAgcmV0dXJuIFNlbGVjdDtcbn0oQ29tcG9uZW50KTtcblNlbGVjdC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbmV4cG9ydCB7IFNlbGVjdCBhcyBTLCBkZWZhdWx0UHJvcHMgYXMgYSwgZ2V0T3B0aW9uTGFiZWwkMSBhcyBiLCBjcmVhdGVGaWx0ZXIgYXMgYywgZGVmYXVsdFRoZW1lIGFzIGQsIGdldE9wdGlvblZhbHVlJDEgYXMgZywgbWVyZ2VTdHlsZXMgYXMgbSB9O1xuIiwgImltcG9ydCB7IHUgYXMgdXNlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi91c2VTdGF0ZU1hbmFnZXItN2UxZTg0ODkuZXNtLmpzJztcbmV4cG9ydCB7IHUgYXMgdXNlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi91c2VTdGF0ZU1hbmFnZXItN2UxZTg0ODkuZXNtLmpzJztcbmltcG9ydCBfZXh0ZW5kcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGZvcndhcmRSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTIGFzIFNlbGVjdCB9IGZyb20gJy4vU2VsZWN0LTFmZDU4OGM5LmVzbS5qcyc7XG5leHBvcnQgeyBjIGFzIGNyZWF0ZUZpbHRlciwgZCBhcyBkZWZhdWx0VGhlbWUsIG0gYXMgbWVyZ2VTdHlsZXMgfSBmcm9tICcuL1NlbGVjdC0xZmQ1ODhjOS5lc20uanMnO1xuaW1wb3J0IHsgQ2FjaGVQcm92aWRlciB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBjcmVhdGVDYWNoZSBmcm9tICdAZW1vdGlvbi9jYWNoZSc7XG5leHBvcnQgeyBjIGFzIGNvbXBvbmVudHMgfSBmcm9tICcuL2luZGV4LWEzMDFmNTI2LmVzbS5qcyc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMic7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvc2xpY2VkVG9BcnJheSc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXMnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcyc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHMnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZVN1cGVyJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy90b0NvbnN1bWFibGVBcnJheSc7XG5pbXBvcnQgJ21lbW9pemUtb25lJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHknO1xuaW1wb3J0ICdyZWFjdC1kb20nO1xuaW1wb3J0ICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCAndXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdCc7XG5cbnZhciBTdGF0ZU1hbmFnZWRTZWxlY3QgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiAocHJvcHMsIHJlZikge1xuICB2YXIgYmFzZVNlbGVjdFByb3BzID0gdXNlU3RhdGVNYW5hZ2VyKHByb3BzKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFNlbGVjdCwgX2V4dGVuZHMoe1xuICAgIHJlZjogcmVmXG4gIH0sIGJhc2VTZWxlY3RQcm9wcykpO1xufSk7XG52YXIgU3RhdGVNYW5hZ2VkU2VsZWN0JDEgPSBTdGF0ZU1hbmFnZWRTZWxlY3Q7XG5cbnZhciBOb25jZVByb3ZpZGVyID0gKGZ1bmN0aW9uIChfcmVmKSB7XG4gIHZhciBub25jZSA9IF9yZWYubm9uY2UsXG4gICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLFxuICAgIGNhY2hlS2V5ID0gX3JlZi5jYWNoZUtleTtcbiAgdmFyIGVtb3Rpb25DYWNoZSA9IHVzZU1lbW8oZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBjcmVhdGVDYWNoZSh7XG4gICAgICBrZXk6IGNhY2hlS2V5LFxuICAgICAgbm9uY2U6IG5vbmNlXG4gICAgfSk7XG4gIH0sIFtjYWNoZUtleSwgbm9uY2VdKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KENhY2hlUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogZW1vdGlvbkNhY2hlXG4gIH0sIGNoaWxkcmVuKTtcbn0pO1xuXG5leHBvcnQgeyBOb25jZVByb3ZpZGVyLCBTdGF0ZU1hbmFnZWRTZWxlY3QkMSBhcyBkZWZhdWx0IH07XG4iLCAiLyoqXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCB7IHVzZUVkaXRhYmxlRGlzcGF0Y2ggfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyBGaWVsZENvbnRyb2xQcm9wcyB9IGZyb20gXCIuL2NvbW1vbi1wcm9wc1wiO1xuaW1wb3J0IHsgVGFyZ2V0ZWRFdmVudCB9IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5pbXBvcnQgeyB1c2VTdGFibGVDYWxsYmFjayB9IGZyb20gXCJ1aS9ob29rc1wiO1xuXG4vKiogRWRpdGFibGUgZmllbGQgZm9yIGEgYm9vbGVhbiAodHJ1ZS9mYWxzZSkgdmFsdWUuXG4gKiBAZ3JvdXAgRWRpdGFibGUgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gQm9vbGVhbkVkaXRhYmxlKHByb3BzOiBGaWVsZENvbnRyb2xQcm9wczxib29sZWFuPikge1xuICAgIGNvbnN0IFtzdGF0ZSwgZGlzcGF0Y2hdID0gdXNlRWRpdGFibGVEaXNwYXRjaDxib29sZWFuPih7XG4gICAgICAgIGNvbnRlbnQ6IHByb3BzLnZhbHVlID8/IHByb3BzLmRlZmF1bHRWYWx1ZSxcbiAgICAgICAgdXBkYXRlcjogcHJvcHMudXBkYXRlciEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICAoZXZ0OiBUYXJnZXRlZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+ICYgTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld1ZhbHVlID0gIWV2dC5jdXJyZW50VGFyZ2V0Lmhhc0NsYXNzKFwiaXMtZW5hYmxlZFwiKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWUgfSk7XG4gICAgICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IFwiY29tbWl0XCIsIG5ld1ZhbHVlIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbc3RhdGUuY29udGVudCwgc3RhdGUsIHByb3BzLnZhbHVlXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IG9uQ2xpY2s9e29uQ2hhbmdlfSBjbGFzc05hbWU9e2BjaGVja2JveC1jb250YWluZXIke3N0YXRlLmNvbnRlbnQgPyBcIiBpcy1lbmFibGVkXCIgOiBcIlwifWB9PlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCB7IENoYW5nZUV2ZW50IH0gZnJvbSBcInByZWFjdC9jb21wYXRcIjtcbmltcG9ydCB7IERpc3BhdGNoLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IEVkaXRhYmxlLCBFZGl0YWJsZUFjdGlvbiwgRWRpdGFibGVTdGF0ZSB9IGZyb20gXCJ1aS9maWVsZHMvZWRpdGFibGVcIjtcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5cbmltcG9ydCBcIi4vZmllbGRzLmNzc1wiO1xuXG4vKiogRWRpdGFibGUgZmllbGQgZm9yIG11bHRpLXN0ZXAgcHJvZ3Jlc3MuXG4gKiBAZ3JvdXAgRWRpdGFibGUgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gUHJvZ3Jlc3NFZGl0YWJsZShcbiAgICBwcm9wczogRWRpdGFibGVTdGF0ZTxudW1iZXI+ICYge1xuICAgICAgICBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gICAgICAgIG1pbjogbnVtYmVyO1xuICAgICAgICBtYXg6IG51bWJlcjtcbiAgICAgICAgc3RlcDogbnVtYmVyO1xuICAgICAgICBkaXNwYXRjaDogRGlzcGF0Y2g8RWRpdGFibGVBY3Rpb248bnVtYmVyPj47XG4gICAgfVxuKSB7XG4gICAgY29uc3QgdmFsID0gdXNlUmVmKHByb3BzLmNvbnRlbnQpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHByb3BzLmRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWU6IHZhbC5jdXJyZW50IH0pO1xuICAgIH0sIFt2YWwuY3VycmVudF0pO1xuICAgIGNvbnN0IGZpbmFsaXplID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBwcm9wcy5kaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBcImNvbW1pdFwiLFxuICAgICAgICAgICAgbmV3VmFsdWU6IHZhbC5jdXJyZW50LFxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGNvbnN0IGNoYW5nZUNCID0gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIChlOiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgZmluYWxpemUoKTtcbiAgICAgICAgICAgIHZhbC5jdXJyZW50ID0gcGFyc2VGbG9hdChlLmN1cnJlbnRUYXJnZXQudmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBbdmFsLmN1cnJlbnQsIHByb3BzLnNvdXJjZVBhdGhdXG4gICAgKTtcbiAgICBjb25zdCByZWFkT25seSA9IDxwcm9ncmVzcyB2YWx1ZT17dmFsLmN1cnJlbnR9IG1pbj17cHJvcHMubWlufSBtYXg9e3Byb3BzLm1heH0gc3RlcD17cHJvcHMuc3RlcH0gLz47XG5cbiAgICBjb25zdCBlZGl0b3IgPSAoXG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzc05hbWU9XCJkYXRhY29yZS1wcm9ncmVzcy1lZGl0YWJsZVwiIHZhbHVlPXt2YWwuY3VycmVudH0gb25DaGFuZ2U9e2NoYW5nZUNCfSAvPlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoYXMtdGV4dGVkaXRhYmxlXCI+XG4gICAgICAgICAgICA8RWRpdGFibGU8bnVtYmVyPlxuICAgICAgICAgICAgICAgIGRpc3BhdGNoPXtwcm9wcy5kaXNwYXRjaH1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgICAgICBzdGF0ZT17eyAuLi5wcm9wcywgY29udGVudDogdmFsLmN1cnJlbnQsIGlzRWRpdGluZzogcHJvcHMuaXNFZGl0aW5nIH19XG4gICAgICAgICAgICAgICAgZGVmYXVsdFJlbmRlcj17cmVhZE9ubHl9XG4gICAgICAgICAgICAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgKTtcbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgdWlcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5pbXBvcnQgeyBGaWVsZENvbnRyb2xQcm9wcyB9IGZyb20gXCIuL2NvbW1vbi1wcm9wc1wiO1xuaW1wb3J0IHsgdXNlRWRpdGFibGVEaXNwYXRjaCB9IGZyb20gXCJ1aS9maWVsZHMvZWRpdGFibGVcIjtcblxuaW1wb3J0IFwiLi9maWVsZHMuY3NzXCI7XG5cbi8qKiBFZGl0YWJsZSBmaWVsZCBmb3IgYSBzdGFyLWJhc2VkIHJhdGluZyBmaWVsZC5cbiAqIEBncm91cCBFZGl0YWJsZSBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBSYXRpbmdFZGl0YWJsZSh7IHZhbHVlLCB1cGRhdGVyLCBjb25maWc6IGNvbmZpZywgZGVmYXVsdFZhbHVlIH06IEZpZWxkQ29udHJvbFByb3BzPG51bWJlciB8IHN0cmluZz4pIHtcbiAgICBjb25zdCBbc3RhdGUsIGRpc3BhdGNoXSA9IHVzZUVkaXRhYmxlRGlzcGF0Y2g8bnVtYmVyIHwgc3RyaW5nPih7XG4gICAgICAgIGNvbnRlbnQ6IHZhbHVlID8/IGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgdXBkYXRlcjogdXBkYXRlciEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHN0YXRlLmNvbnRlbnQgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgaWYgKHN0YXRlLmNvbnRlbnQuY29udGFpbnMoXCIvXCIpKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNwbGl0ID0gc3RhdGUuY29udGVudC5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHNwbGl0WzBdKSAvIHBhcnNlSW50KHNwbGl0WzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RhdGUuY29udGVudCA9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5taW4oc3RhdGUuY29udGVudCwgNSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfSwgW3N0YXRlLmNvbnRlbnRdKTtcblxuICAgIGNvbnN0IHN0YXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGxldCByOiBSZWFjdC5SZWFjdE5vZGVbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChjb25maWc/Lm1heCA/PyA1KTsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgY2xpY2tDYiA9IHVzZVN0YWJsZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbmV3VmFsdWU6IG51bWJlciB8IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RhdGUuY29udGVudCA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5jb250ZW50LmNvbnRhaW5zKFwiL1wiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBgJHtpICsgMX0vNWA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzdGF0ZS5jb250ZW50ID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBNYXRoLm1pbihpICsgMSwgY29uZmlnPy5tYXggPz8gNSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLCBuZXdWYWx1ZTogbmV3VmFsdWUgfHwgaSArIDEgfSk7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbW1pdFwiLCBuZXdWYWx1ZTogbmV3VmFsdWUgfHwgaSArIDEgfSk7XG4gICAgICAgICAgICB9LCBbc3RhdGUsIHBhcnNlZFZhbHVlLCBpXSk7XG4gICAgICAgICAgICBsZXQgY2xhc3NlcyA9IFtcImRhdGFjb3JlLXJhdGluZy1zdGFyXCJdO1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGkgPCBwYXJzZWRWYWx1ZSA/IFwiZmlsbGVkXCIgOiBcImVtcHR5XCIpO1xuICAgICAgICAgICAgci5wdXNoKFxuICAgICAgICAgICAgICAgIDxzcGFuIG9uQ2xpY2s9e2NsaWNrQ2J9IGNsYXNzTmFtZT17Y2xhc3Nlcy5qb2luKFwiIFwiKX0+XG4gICAgICAgICAgICAgICAgICAgICYjOTczMztcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByO1xuICAgIH0sIFtwYXJzZWRWYWx1ZSwgc3RhdGVdKTtcblxuICAgIHJldHVybiA8c3BhbiBjbGFzc05hbWU9XCJkYXRhY29yZS1yYXRpbmdcIj57c3RhcnN9PC9zcGFuPjtcbn1cbiIsICJpbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgU3Vic3RvcmVyIH0gZnJvbSBcImluZGV4L2RhdGFzdG9yZVwiO1xuaW1wb3J0IHsgc2V0RW1vamlTaG9ydGhhbmRDb21wbGV0aW9uRmllbGQsIHNldElubGluZUZpZWxkIH0gZnJvbSBcImluZGV4L2ltcG9ydC9pbmxpbmUtZmllbGRcIjtcbmltcG9ydCB7IEluZGV4YWJsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IE1hcmtkb3duUGFnZSwgTWFya2Rvd25TZWN0aW9uLCBNYXJrZG93bkJsb2NrLCBNYXJrZG93bkxpc3RJdGVtLCBNYXJrZG93blRhc2tJdGVtIH0gZnJvbSBcImluZGV4L3R5cGVzL21hcmtkb3duXCI7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgVmF1bHQgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRG90RmllbGQocmF3OiBzdHJpbmcsIG9iajogYW55KSB7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCkgcmV0dXJuIG9iajtcbiAgICBpZiAocmF3LmNvbnRhaW5zKFwiLlwiKSlcbiAgICAgICAgcmV0dXJuIHJhdy5zcGxpdChcIi5cIikucmVkdWNlKCh0aWYsIGMpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGlmID09IFwib2JqZWN0XCIpIHJldHVybiB0aWZbY107XG4gICAgICAgICAgICBlbHNlIHJldHVybiB0aWY7XG4gICAgICAgIH0sIG9iaiB8fCB7fSk7XG4gICAgaWYgKHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgICByZXR1cm4gb2JqW3Jhd107XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZChpbnB1dDogSW5kZXhhYmxlLCBmaWVsZDogc3RyaW5nKSB7XG4gICAgaWYgKGlucHV0IGluc3RhbmNlb2YgTWFya2Rvd25QYWdlKSB7XG4gICAgICAgIHJldHVybiBpbnB1dC5maWVsZChmaWVsZCk/LnZhbHVlID8/IG51bGw7XG4gICAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIE1hcmtkb3duU2VjdGlvbikge1xuICAgICAgICByZXR1cm4gaW5wdXQuZmllbGQoZmllbGQpPy52YWx1ZSA/PyBudWxsO1xuICAgIH0gZWxzZSBpZiAoaW5wdXQgaW5zdGFuY2VvZiBNYXJrZG93bkJsb2NrKSB7XG4gICAgICAgIHJldHVybiBpbnB1dC5maWVsZChmaWVsZCk/LnZhbHVlID8/IG51bGw7XG4gICAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIE1hcmtkb3duTGlzdEl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGlucHV0LmZpZWxkKGZpZWxkKT8udmFsdWUgPz8gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxufSAvKiogVHJpbSBlbXB0eSBlbmRpbmcgbGluZXMuICovXG5mdW5jdGlvbiB0cmltRW5kaW5nTGluZXModGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgcGFydHMgPSB0ZXh0LnNwbGl0KC9cXHI/XFxuL3UpO1xuICAgIGxldCB0cmltID0gcGFydHMubGVuZ3RoIC0gMTtcbiAgICB3aGlsZSAodHJpbSA+IDAgJiYgcGFydHNbdHJpbV0udHJpbSgpID09IFwiXCIpIHRyaW0tLTtcblxuICAgIHJldHVybiBwYXJ0cy5qb2luKFwiXFxuXCIpO1xufVxuLyoqIFNldCB0aGUgdGFzayBjb21wbGV0aW9uIGtleSBvbiBjaGVjay4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRUYXNrQ29tcGxldGlvbihcbiAgICB0YXNrOiBNYXJrZG93blRhc2tJdGVtLFxuICAgIG9yaWdpbmFsVGV4dDogc3RyaW5nLFxuICAgIHVzZUVtb2ppU2hvcnRoYW5kOiBib29sZWFuLFxuICAgIGNvbXBsZXRpb25LZXk6IHN0cmluZyxcbiAgICBjb21wbGV0aW9uRGF0ZUZvcm1hdDogc3RyaW5nLFxuICAgIGNvbXBsZXRlOiBib29sZWFuXG4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGJsb2NrSWRSZWdleCA9IC9cXF5bYS16MC05XFwtXSsvaTtcblxuICAgIGlmICghY29tcGxldGUgJiYgIXVzZUVtb2ppU2hvcnRoYW5kKSB7XG4gICAgICAgIGRlbGV0ZSB0YXNrLiRpbmZpZWxkc1tjb21wbGV0aW9uS2V5XTtcbiAgICAgICAgcmV0dXJuIHRyaW1FbmRpbmdMaW5lcyhzZXRJbmxpbmVGaWVsZChvcmlnaW5hbFRleHQudHJpbUVuZCgpLCBjb21wbGV0aW9uS2V5KSkudHJpbUVuZCgpO1xuICAgIH1cblxuICAgIGxldCBwYXJ0cyA9IG9yaWdpbmFsVGV4dC5zcGxpdCgvXFxyP1xcbi91KTtcbiAgICBjb25zdCBtYXRjaGVzID0gYmxvY2tJZFJlZ2V4LmV4ZWMocGFydHNbcGFydHMubGVuZ3RoIC0gMV0pO1xuXG4gICAgbGV0IHByb2Nlc3NlZFBhcnQgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXS5zcGxpdChibG9ja0lkUmVnZXgpLmpvaW4oXCJcIik7IC8vIGxhc3QgcGFydCB3aXRob3V0IGJsb2NrIGlkXG4gICAgaWYgKHVzZUVtb2ppU2hvcnRoYW5kKSB7XG4gICAgICAgIHByb2Nlc3NlZFBhcnQgPSBzZXRFbW9qaVNob3J0aGFuZENvbXBsZXRpb25GaWVsZChcbiAgICAgICAgICAgIHByb2Nlc3NlZFBhcnQsXG4gICAgICAgICAgICBjb21wbGV0ZSA/IERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KFwieXl5eS1NTS1kZFwiKSA6IFwiXCJcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBwcm9jZXNzZWRQYXJ0ID0gc2V0SW5saW5lRmllbGQocHJvY2Vzc2VkUGFydCwgY29tcGxldGlvbktleSwgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoY29tcGxldGlvbkRhdGVGb3JtYXQpKTtcbiAgICAgICAgdGFzay4kaW5maWVsZHNbY29tcGxldGlvbktleV0gPSB7XG4gICAgICAgICAgICByYXc6IERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KGNvbXBsZXRpb25EYXRlRm9ybWF0KSxcbiAgICAgICAgICAgIHZhbHVlOiBEYXRlVGltZS5ub3coKSxcbiAgICAgICAgICAgIGtleTogY29tcGxldGlvbktleSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgbGluZTogdGFzay4kbGluZSxcbiAgICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAwLFxuICAgICAgICAgICAgICAgIGVuZDogRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoY29tcGxldGlvbkRhdGVGb3JtYXQpLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbiAgICBwcm9jZXNzZWRQYXJ0ID0gYCR7cHJvY2Vzc2VkUGFydC50cmltRW5kKCl9JHttYXRjaGVzPy5sZW5ndGggPyBcIiBcIiArIG1hdGNoZXNbMF0udHJpbSgpIDogXCJcIn1gLnRyaW1FbmQoKTsgLy8gYWRkIGJhY2sgYmxvY2sgaWRcbiAgICBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSA9IHByb2Nlc3NlZFBhcnQudHJpbVN0YXJ0KCk7XG5cbiAgICByZXR1cm4gcGFydHMuam9pbihcIlxcblwiKTtcbn1cblxuZXhwb3J0IGNvbnN0IExJU1RfSVRFTV9SRUdFWCA9IC9eW1xccz5dKihcXGQrXFwufFxcZCtcXCl8XFwqfC18XFwrKVxccyooXFxbLnswLDF9XFxdKT9cXHMqKC4qKSQvbXU7XG5cbi8qKiBSZXdyaXRlIGEgdGFzayB3aXRoIHRoZSBnaXZlbiBjb21wbGV0aW9uIHN0YXR1cyBhbmQgbmV3IHRleHQuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV3cml0ZVRhc2soXG4gICAgdmF1bHQ6IFZhdWx0LFxuICAgIGNvcmU6IERhdGFjb3JlLFxuICAgIHRhc2s6IE1hcmtkb3duVGFza0l0ZW0gfCBNYXJrZG93bkxpc3RJdGVtLFxuICAgIGRlc2lyZWRTdGF0dXM6IHN0cmluZyxcbiAgICBkZXNpcmVkVGV4dD86IHN0cmluZ1xuKSB7XG4gICAgaWYgKFxuICAgICAgICB0YXNrIGluc3RhbmNlb2YgTWFya2Rvd25UYXNrSXRlbSAmJlxuICAgICAgICBkZXNpcmVkU3RhdHVzID09IHRhc2suJHN0YXR1cyAmJlxuICAgICAgICAoZGVzaXJlZFRleHQgPT0gdW5kZWZpbmVkIHx8IGRlc2lyZWRUZXh0ID09IHRhc2suJHRleHQpXG4gICAgKVxuICAgICAgICByZXR1cm47XG4gICAgZGVzaXJlZFN0YXR1cyA9IGRlc2lyZWRTdGF0dXMgPT0gXCJcIiA/IFwiIFwiIDogZGVzaXJlZFN0YXR1cztcblxuICAgIGxldCByYXdGaWxldGV4dCA9IGF3YWl0IHZhdWx0LmFkYXB0ZXIucmVhZCh0YXNrLiRmaWxlKTtcbiAgICBsZXQgaGFzUk4gPSByYXdGaWxldGV4dC5jb250YWlucyhcIlxcclwiKTtcbiAgICBsZXQgZmlsZXRleHQgPSByYXdGaWxldGV4dC5zcGxpdCgvXFxyXFxufFxccnxcXG4vdSk7XG5cbiAgICBpZiAoZmlsZXRleHQubGVuZ3RoIDwgdGFzay4kbGluZSkgcmV0dXJuO1xuICAgIGxldCBtYXRjaCA9IExJU1RfSVRFTV9SRUdFWC5leGVjKGZpbGV0ZXh0W3Rhc2suJGxpbmVdKTtcbiAgICBpZiAoIW1hdGNoIHx8IG1hdGNoWzJdPy5sZW5ndGggPT0gMCkgcmV0dXJuO1xuXG4gICAgbGV0IHRhc2tUZXh0UGFydHMgPSB0YXNrLiR0ZXh0IS5zcGxpdChcIlxcblwiKTtcbiAgICAvLyBpZiAodGFza1RleHRQYXJ0c1swXS50cmltKCkgIT0gbWF0Y2hbM10udHJpbSgpKSByZXR1cm47XG5cbiAgICAvLyBXZSBoYXZlIGEgcG9zaXRpdmUgbWF0Y2ggaGVyZSBhdCB0aGlzIHBvaW50LCBzbyBnbyBhaGVhZCBhbmQgZG8gdGhlIHJld3JpdGUgb2YgdGhlIHN0YXR1cy5cbiAgICBjb25zdCBzdGF0dXNQYXJ0ID0gdGFzayBpbnN0YW5jZW9mIE1hcmtkb3duVGFza0l0ZW0gPyBgWyR7ZGVzaXJlZFN0YXR1c31dYCA6IFwiXCI7XG4gICAgbGV0IGluaXRpYWxTcGFjaW5nID0gL15bXFxzPl0qL3UuZXhlYyhmaWxldGV4dFt0YXNrLiRsaW5lXSkhIVswXTtcbiAgICBsZXQgY250ID0gMDtcbiAgICBpZiAoZGVzaXJlZFRleHQpIHtcbiAgICAgICAgbGV0IGRlc2lyZWRQYXJ0cyA9IGRlc2lyZWRUZXh0LnNwbGl0KFwiXFxuXCIpO1xuXG4gICAgICAgIGxldCBuZXdUZXh0TGluZXM6IHN0cmluZ1tdID0gW2Ake2luaXRpYWxTcGFjaW5nfSR7dGFzay4kc3ltYm9sfSAke3N0YXR1c1BhcnR9ICR7ZGVzaXJlZFBhcnRzWzBdfWBdLmNvbmNhdChcbiAgICAgICAgICAgIGRlc2lyZWRQYXJ0cy5zbGljZSgxKS5tYXAoKGwpID0+IGluaXRpYWxTcGFjaW5nICsgXCIgICBcIiArIGwudHJpbVN0YXJ0KCkpXG4gICAgICAgICk7XG5cbiAgICAgICAgZmlsZXRleHQuc3BsaWNlKHRhc2suJGxpbmUsIHRhc2suJHRleHQhLnNwbGl0KFwiXFxuXCIpLmxlbmd0aCwgLi4ubmV3VGV4dExpbmVzKTtcbiAgICAgICAgY250ID0gbmV3VGV4dExpbmVzLmxlbmd0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBmaWxldGV4dFt0YXNrLiRsaW5lXSA9IGAke2luaXRpYWxTcGFjaW5nfSR7dGFzay4kc3ltYm9sfSAke3N0YXR1c1BhcnR9ICR7dGFza1RleHRQYXJ0c1swXS50cmltKCl9YDtcbiAgICAgICAgY250ID0gMTtcbiAgICB9XG5cbiAgICBsZXQgbmV3VGV4dCA9IGZpbGV0ZXh0LmpvaW4oaGFzUk4gPyBcIlxcclxcblwiIDogXCJcXG5cIik7XG4gICAgYXdhaXQgdmF1bHQuYWRhcHRlci53cml0ZSh0YXNrLiRmaWxlLCBuZXdUZXh0KTtcbiAgICBjb25zdCB0ZmlsZSA9IHZhdWx0LmdldEZpbGVCeVBhdGgodGFzay4kZmlsZSk7XG4gICAgY29uc29sZS5sb2codGFzay4kZmlsZSwgZmlsZXRleHQuc2xpY2UodGFzay4kcG9zaXRpb24uc3RhcnQsIHRhc2suJHBvc2l0aW9uLnN0YXJ0ICsgY250KS5qb2luKFwiXFxuXCIpKTtcbiAgICBpZiAodGZpbGUpIGNvcmUucmVsb2FkKHRmaWxlKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb21wbGV0ZVRhc2soY29tcGxldGVkOiBib29sZWFuLCB0YXNrOiBNYXJrZG93blRhc2tJdGVtLCB2YXVsdDogVmF1bHQsIGNvcmU6IERhdGFjb3JlKSB7XG4gICAgY29uc3QgdGFza3NUb0NvbXBsZXRlID0gW3Rhc2tdO1xuICAgIGlmIChjb3JlLnNldHRpbmdzLnJlY3Vyc2l2ZVRhc2tDb21wbGV0aW9uKSB7XG4gICAgICAgIGNvbnN0IGZvckVhY2ggPSAoeDogTWFya2Rvd25UYXNrSXRlbSB8IE1hcmtkb3duTGlzdEl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICh4IGluc3RhbmNlb2YgTWFya2Rvd25UYXNrSXRlbSkgdGFza3NUb0NvbXBsZXRlLnB1c2goeCk7XG4gICAgICAgICAgICB4LiRlbGVtZW50cy5mb3JFYWNoKGZvckVhY2gpO1xuICAgICAgICB9O1xuICAgICAgICB0YXNrLiRlbGVtZW50cy5mb3JFYWNoKGZvckVhY2gpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHQgb2YgdGFza3NUb0NvbXBsZXRlKSB7XG4gICAgICAgIGxldCBuZXdUZXh0ID0gc2V0VGFza0NvbXBsZXRpb24oXG4gICAgICAgICAgICB0LFxuICAgICAgICAgICAgdC4kdGV4dCEsXG4gICAgICAgICAgICBjb3JlLnNldHRpbmdzLnRhc2tDb21wbGV0aW9uVXNlRW1vamlTaG9ydGhhbmQsXG4gICAgICAgICAgICBjb3JlLnNldHRpbmdzLnRhc2tDb21wbGV0aW9uVGV4dCxcbiAgICAgICAgICAgIGNvcmUuc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQsXG4gICAgICAgICAgICBjb21wbGV0ZWRcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgcmV3cml0ZVRhc2sodmF1bHQsIGNvcmUsIHQsIGNvbXBsZXRlZCA/IFwieFwiIDogXCIgXCIsIG5ld1RleHQpO1xuICAgIH1cbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgaW5kZXhhYmxlc1xuICovXG4vKiogVXRpbGl0aWVzIGZvciBjb252ZXJ0aW5nIGxpdGVyYWwgdHlwZXMgdG8gYW5kIGZyb20gdGhlaXIgWUFNTCBmcm9udG1hdHRlciByZXByZXNlbnRhdGlvbi4gKi9cblxuaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBQUklNSVRJVkVTIH0gZnJvbSBcImV4cHJlc3Npb24vcGFyc2VyXCI7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgbWFwT2JqZWN0VmFsdWVzIH0gZnJvbSBcInV0aWxzL2RhdGFcIjtcblxuLyoqIFlBTUwtZnJpZW5kbHkgcmVwcmVzZW50YXRpb24gZm9yIGEgbGl0ZXJhbC4gKi9cbmV4cG9ydCB0eXBlIFlhbWxMaXRlcmFsID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgQXJyYXk8WWFtbExpdGVyYWw+O1xuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBZYW1sQ29udmVyc2lvbiB7XG4gICAgLyoqIENvbnZlcnQgYSBsaXRlcmFsIGludG8gYSB5YW1sIGZyaWVuZGx5IHJlcHJlc2VudGF0aW9uLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB5YW1sKHZhbHVlOiBMaXRlcmFsKTogWWFtbExpdGVyYWwge1xuICAgICAgICBjb25zdCB3cmFwcGVkID0gTGl0ZXJhbHMud3JhcFZhbHVlKGxpdGVyYWwpO1xuICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm1hcCh5YW1sKTtcbiAgICAgICAgICAgIGNhc2UgXCJkYXRlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUudG9JU08oKTtcbiAgICAgICAgICAgIGNhc2UgXCJkdXJhdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLnRvSHVtYW4oKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgY2FzZSBcImxpbmtcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5tYXJrZG93bigpO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBtYXBPYmplY3RWYWx1ZXMod3JhcHBlZC52YWx1ZSwgeWFtbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlbHkgY29udmVydCBhIFlBTUwgbGl0ZXJhbCBpbnRvIGEgcmVndWxhciBsaXRlcmFsIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBsaXRlcmFsKHZhbHVlOiBZYW1sTGl0ZXJhbCk6IExpdGVyYWwge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgdmFsdWUgYXMgQXJyYXk8YW55Pikge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChsaXRlcmFsKGNoaWxkKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGVQYXJzZSA9IERhdGVUaW1lLmZyb21KU0RhdGUodmFsdWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlUGFyc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBvYmplY3QgPSB2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIExpdGVyYWw+ID0ge307XG4gICAgICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIG9iamVjdCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IGxpdGVyYWwob2JqZWN0W2tleV0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgbGV0IGRhdGVQYXJzZSA9IFBSSU1JVElWRVMuZGF0ZS5wYXJzZSh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoZGF0ZVBhcnNlLnN0YXR1cykgcmV0dXJuIGRhdGVQYXJzZS52YWx1ZTtcblxuICAgICAgICAgICAgbGV0IGR1cmF0aW9uUGFyc2UgPSBQUklNSVRJVkVTLmR1cmF0aW9uLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChkdXJhdGlvblBhcnNlLnN0YXR1cykgcmV0dXJuIGR1cmF0aW9uUGFyc2UudmFsdWU7XG5cbiAgICAgICAgICAgIGxldCBsaW5rUGFyc2UgPSBQUklNSVRJVkVTLmxpbmsucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGxpbmtQYXJzZS5zdGF0dXMpIHJldHVybiBsaW5rUGFyc2UudmFsdWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJhY2t1cCBpZiB3ZSBkb24ndCB1bmRlcnN0YW5kIHRoZSB0eXBlLlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iLCAiLyoqIENlbnRyYWwgdXRpbGl0aWVzIGZvciBlZGl0aW5nIGZpZWxkcyBieSBzZXR0aW5nIG5ldyB2YWx1ZXMgaW4gZmlsZXMsIGFuZCB0cmFja2luZyBvdXRzdGFuZGluZyBlZGl0cy4gKi9cblxuaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcbmltcG9ydCB7IFByb3ZlbmFuY2UgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgTGl0ZXJhbCB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IHNldElubGluZUZpZWxkIH0gZnJvbSBcImluZGV4L2ltcG9ydC9pbmxpbmUtZmllbGRcIjtcbmltcG9ydCB7IFlhbWxDb252ZXJzaW9uIH0gZnJvbSBcImluZGV4L3R5cGVzL3lhbWxcIjtcbmltcG9ydCB7IEFwcCwgVEZpbGUgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGxpbmVSZXBsYWNlIH0gZnJvbSBcInV0aWxzL25vcm1hbGl6ZXJzXCI7XG5cbi8qKiBFZGl0IGEgZmllbGQgYnkgaXQncyBwcm92ZW5hbmNlIChpLmUuLCBzb3VyY2UpOyByZXR1cm5zIGEgcHJvbWlzZSB3aGljaCBjYW4gYmUgYXdhaXRlZCB0byB3YWl0IGZvciB0aGUgZmlsZSB3cml0ZSB0byBjb21wbGV0ZS4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0UHJvdmVuYW5jZShhcHA6IEFwcCwgcHJvdmVuYW5jZTogUHJvdmVuYW5jZSwgdmFsdWU6IExpdGVyYWwpOiBQcm9taXNlPFJlc3VsdDxudWxsLCBzdHJpbmc+PiB7XG4gICAgY29uc3QgZmlsZSA9IGFwcC52YXVsdC5nZXRGaWxlQnlQYXRoKHByb3ZlbmFuY2UuZmlsZSk7XG4gICAgaWYgKCFmaWxlKSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYEZpbGUgd2l0aCBwYXRoICR7cHJvdmVuYW5jZS5maWxlfSBkb2VzIG5vdCBleGlzdC5gKTtcblxuICAgIC8vIFRPRE86IElmIHdlIGV2ZXIgc3VwcG9ydCBjdXN0b20gdHlwZXMsIHdlJ2xsIHdhbnQgdG8gY2hhbmdlIHRoaXMgc3dpdGNoIGludG8gc29tZSBraW5kIG9mIGR5bmFtaWMgbG9va3VwLlxuICAgIHN3aXRjaCAocHJvdmVuYW5jZS50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJmcm9udG1hdHRlclwiOlxuICAgICAgICAgICAgYXdhaXQgYXBwLmZpbGVNYW5hZ2VyLnByb2Nlc3NGcm9udE1hdHRlcihmaWxlLCAoZnJvbnRtYXR0ZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCAmJiBwcm92ZW5hbmNlLmtleSBpbiBmcm9udG1hdHRlcikge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgZnJvbnRtYXR0ZXJbcHJvdmVuYW5jZS5rZXldO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZyb250bWF0dGVyW3Byb3ZlbmFuY2Uua2V5XSA9IFlhbWxDb252ZXJzaW9uLnlhbWwodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhudWxsKTtcbiAgICAgICAgY2FzZSBcImlubGluZS1maWVsZFwiOlxuICAgICAgICAgICAgcmV0dXJuIGVkaXRJbmxpbmVGaWVsZChhcHAsIGZpbGUsIHByb3ZlbmFuY2UubGluZSwgcHJvdmVuYW5jZS5rZXksIHZhbHVlKTtcbiAgICB9XG59XG5cbi8qKiBDb21wbGV0ZSB3b3JrZmxvdyBmb3IgZWRpdGluZyBhbiBpbmxpbmUgZmllbGQuICAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRJbmxpbmVGaWVsZChcbiAgICBhcHA6IEFwcCxcbiAgICBmaWxlOiBURmlsZSxcbiAgICBsaW5lOiBudW1iZXIsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IExpdGVyYWxcbik6IFByb21pc2U8UmVzdWx0PG51bGwsIHN0cmluZz4+IHtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoZmlsZSk7XG4gICAgaWYgKCFjb250ZW50KSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYEZpbGUgd2l0aCBwYXRoICR7ZmlsZS5wYXRofSBkb2VzIG5vdCBleGlzdC5gKTtcblxuICAgIC8vIEZpbmQgdGhlIGV4dGVudCBvZiB0aGUgZ2l2ZW4gbGluZSAoMC1pbmRleGVkKSwgZXh0cmFjdCBpdCBhbmQgdXBkYXRlLlxuICAgIGNvbnN0IHVwZGF0ZWQgPSBsaW5lUmVwbGFjZShjb250ZW50LCBsaW5lLCBsaW5lICsgMSwgKGxpbmUpID0+IHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBzdHJpbmdpZi1pY2F0aW9uIG9mIHRoZSB2YWx1ZSBpcyBub3QgY29ycmVjdCBhbmQgd2lsbCBub3Qgd29ya1xuICAgICAgICAvLyBmb3IgYXJyYXlzIG9yIG9iamVjdHMsIGJ1dCB3aWxsIHNlcnZlIHB1cnBvc2UgZm9yIG5vdy4uLlxuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuIHNldElubGluZUZpZWxkKGxpbmUsIGtleSwgdW5kZWZpbmVkKTtcbiAgICAgICAgZWxzZSByZXR1cm4gc2V0SW5saW5lRmllbGQobGluZSwga2V5LCBcIlwiICsgWWFtbENvbnZlcnNpb24ueWFtbCh2YWx1ZSkpO1xuICAgIH0pO1xuXG4gICAgaWYgKHVwZGF0ZWQgPT0gY29udGVudCkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKG51bGwpO1xuXG4gICAgYXdhaXQgYXBwLnZhdWx0Lm1vZGlmeShmaWxlLCB1cGRhdGVkKTtcbiAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobnVsbCk7XG59XG4iLCAiaW1wb3J0IHsgRmllbGQgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgTGl0ZXJhbCB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IHNldElubGluZUZpZWxkIH0gZnJvbSBcImluZGV4L2ltcG9ydC9pbmxpbmUtZmllbGRcIjtcbmltcG9ydCB7IE1hcmtkb3duVGFza0l0ZW0gfSBmcm9tIFwiaW5kZXgvdHlwZXMvbWFya2Rvd25cIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0IH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgQVBQX0NPTlRFWFQgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IHJld3JpdGVUYXNrIH0gZnJvbSBcIi4vdGFza1wiO1xuaW1wb3J0IHsgRWRpdGFibGVBY3Rpb24gfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgZWRpdFByb3ZlbmFuY2UgfSBmcm9tIFwiaW5kZXgvZWRpdC9maWVsZFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlU2V0RmllbGQ8VCBleHRlbmRzIExpdGVyYWw+KGZpZWxkOiBGaWVsZCwgb25DaGFuZ2U/OiAobmV3VmFsdWU6IFQpID0+IHZvaWQpIHtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcbiAgICByZXR1cm4gdXNlQ2FsbGJhY2soXG4gICAgICAgIChuZXdWYWx1ZTogVCkgPT4ge1xuICAgICAgICAgICAgZWRpdFByb3ZlbmFuY2UoYXBwLCBmaWVsZC5wcm92ZW5hbmNlISwgbmV3VmFsdWUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtmaWVsZCwgb25DaGFuZ2VdXG4gICAgKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRUYXNrVGV4dChhcHA6IEFwcCwgY29yZTogRGF0YWNvcmUsIHRleHQ6IHN0cmluZywgaXRlbTogTWFya2Rvd25UYXNrSXRlbSkge1xuICAgIGxldCB3aXRoRmllbGRzID0gYCR7dGV4dH0ke09iamVjdC5rZXlzKGl0ZW0uJGluZmllbGRzKS5sZW5ndGggPyBcIiBcIiA6IFwiXCJ9YDtcbiAgICBmb3IgKGxldCBmaWVsZCBpbiBpdGVtLiRpbmZpZWxkcykge1xuICAgICAgICB3aXRoRmllbGRzID0gc2V0SW5saW5lRmllbGQod2l0aEZpZWxkcywgZmllbGQsIGl0ZW0uJGluZmllbGRzW2ZpZWxkXS5yYXcpO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZyhcIm5ldyB0ZXh0XCIsIHdpdGhGaWVsZHMpO1xuICAgIGF3YWl0IHJld3JpdGVUYXNrKGFwcC52YXVsdCwgY29yZSwgaXRlbSwgaXRlbS4kc3RhdHVzLCB3aXRoRmllbGRzKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGaW5hbGl6ZXI8VD4obmV3VmFsdWU6IFQsIGRpc3BhdGNoOiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxUPj4pIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLFxuICAgICAgICAgICAgbmV3VmFsdWU6IG5ld1ZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogXCJlZGl0aW5nLXRvZ2dsZWRcIixcbiAgICAgICAgICAgIG5ld1ZhbHVlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgdWlcbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgRnJhZ21lbnQsIFZOb2RlIH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIFJlZHVjZXIsIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IENoYW5nZUV2ZW50LCB1c2VSZWR1Y2VyIH0gZnJvbSBcInByZWFjdC9jb21wYXRcIjtcbmltcG9ydCBTZWxlY3QsIHsgQWN0aW9uTWV0YSB9IGZyb20gXCJyZWFjdC1zZWxlY3RcIjtcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSBcIi4uL2hvb2tzXCI7XG5pbXBvcnQgeyBDVVJSRU5UX0ZJTEVfQ09OVEVYVCwgTGl0LCBNYXJrZG93biwgU0VUVElOR1NfQ09OVEVYVCB9IGZyb20gXCIuLi9tYXJrZG93blwiO1xuaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbFR5cGUsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IEJhc2VGaWVsZFByb3BzLCBGaWVsZENvbnRyb2xQcm9wcyB9IGZyb20gXCIuL2NvbW1vbi1wcm9wc1wiO1xuaW1wb3J0IHsgTWFya2Rvd25MaXN0SXRlbSwgTWFya2Rvd25UYXNrSXRlbSB9IGZyb20gXCJpbmRleC90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgQm9vbGVhbkVkaXRhYmxlIH0gZnJvbSBcIi4vYm9vbGVhbi1maWVsZFwiO1xuaW1wb3J0IHsgUHJvZ3Jlc3NFZGl0YWJsZSB9IGZyb20gXCIuL3Byb2dyZXNzLWZpZWxkXCI7XG5pbXBvcnQgeyBSYXRpbmdFZGl0YWJsZSB9IGZyb20gXCIuL3JhdGluZ1wiO1xuaW1wb3J0IHsgdXNlRmluYWxpemVyIH0gZnJvbSBcInV0aWxzL2ZpZWxkc1wiO1xuXG5pbXBvcnQgXCIuL2ZpZWxkcy5jc3NcIjtcblxuLyoqIENvcmUgc3RhdGUgZm9yIHRyYWNraW5nIGFuIGVkaXRhYmxlIG9iamVjdC5cbiAqIEBncm91cCBTdGF0ZXNcbiAqIEB0eXBlUGFyYW0gVCAtIHRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBiZWluZyBlZGl0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGl0YWJsZVN0YXRlPFQ+IHtcbiAgICAvKiogV2hldGhlciB0aGUgdmFsdWUgaXMgY3VycmVudGx5IGJlaW5nIGVkaXRlZC4gKi9cbiAgICBpc0VkaXRpbmc/OiBib29sZWFuO1xuICAgIC8qKiBUaGUgY3VycmVudCAoYXJiaXRyYXJ5KSBjb250ZW50IG9mIHRoZSBlZGl0YWJsZS4gKi9cbiAgICBjb250ZW50OiBUO1xuICAgIC8qKiBDYWxsYmFjayB3aGVuZXZlciB0aGUgZWRpdGFibGUgdmFsdWUgaXMgY2hhbmdlZC4gKi9cbiAgICB1cGRhdGVyOiAodmFsOiBUKSA9PiB1bmtub3duO1xuICAgIC8qKiBXaGV0aGVyIHRoZSBlZGl0b3IgaXMgYmVpbmcgcmVuZGVyZWQgaW5saW5lIGluIGEgcGFyYWdyYXBoIG9yIG5vdC4gKi9cbiAgICBpbmxpbmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBncm91cCBQcm9wc1xuICogQHR5cGVQYXJhbSBUIC0gdGhlIHR5cGUgb2YgdGhlIHZhbHVlIGJlaW5nIGVkaXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRhYmxlUHJvcHM8VD4ge1xuICAgIC8qKiBTb3VyY2UgZmlsZSBmcm9tIHdoaWNoIHRoZSBlZGl0YWJsZSB2YWx1ZSBvcmlnaW5hdGVzLiAqL1xuICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG4gICAgLyoqIEJhY2t1cCBkZWZhdWx0IHJlbmRlcmVyIGZvciB0aGlzIG9iamVjdC4gKi9cbiAgICBkZWZhdWx0UmVuZGVyPzogVk5vZGU7XG4gICAgLyoqIE5vZGUgd2hpY2ggcG9pbnRzIHRvIHRoZSBhY3R1YWwgZWRpdG9yLiAqL1xuICAgIGVkaXRvcjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIC8qKiBEaXNwYXRjaGVyIGZvciBjb250cm9sbGluZyB0aGUgZWRpdCBzdGF0ZSwgdHJhY2tpbmcgdXBkYXRlcywgY29tbWl0cywgYW5kIHNvIG9uLiAqL1xuICAgIGRpc3BhdGNoOiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxUPj47XG4gICAgLyoqIFRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBlZGl0b3IuICovXG4gICAgc3RhdGU6IEVkaXRhYmxlU3RhdGU8VD47XG59XG5cbnR5cGUgRWRpdGFibGVFbGVtZW50UHJvcHM8VCwgUD4gPSBFZGl0YWJsZVN0YXRlPFQ+ICYgUDtcbmV4cG9ydCB0eXBlIEVkaXRhYmxlRWxlbWVudDxULCBQID0gYW55PiA9IENvbXBvbmVudFR5cGU8RWRpdGFibGVFbGVtZW50UHJvcHM8VCwgUD4gJiBQPjtcblxuLyoqXG4gKiAgQWN0aW9ucyB3aGljaCB1cGRhdGUvY2hhbmdlIHRoZSBzdGF0ZSBvZiBhbiBlZGl0YWJsZS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqICovXG5leHBvcnQgdHlwZSBFZGl0YWJsZUFjdGlvbjxUPiA9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogXCJjb21taXRcIjtcbiAgICAgICAgICAvLyBvbGRWYWx1ZTogYW55LFxuICAgICAgICAgIG5ld1ZhbHVlOiBUO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICAgIHR5cGU6IFwiZWRpdGluZy10b2dnbGVkXCI7XG4gICAgICAgICAgbmV3VmFsdWU6IGJvb2xlYW47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIjtcbiAgICAgICAgICBuZXdWYWx1ZTogVDtcbiAgICAgIH07XG5cbi8qKiBEZWZhdWx0IHJlZHVjZXIgZm9yIGFwcGx5aW5nIGFjdGlvbnMgdG8gdGhlIGVkaXRhYmxlIHN0YXRlLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdGFibGVSZWR1Y2VyPFQ+KFxuICAgIHsgY29udGVudCwgdXBkYXRlciwgLi4ucmVzdCB9OiBFZGl0YWJsZVN0YXRlPFQ+LFxuICAgIGFjdGlvbjogRWRpdGFibGVBY3Rpb248VD5cbik6IEVkaXRhYmxlU3RhdGU8VD4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBcImNvbW1pdFwiOlxuICAgICAgICAgICAgdXBkYXRlcihhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucmVzdCwgdXBkYXRlciwgY29udGVudDogYWN0aW9uLm5ld1ZhbHVlIH07XG4gICAgICAgIGNhc2UgXCJlZGl0aW5nLXRvZ2dsZWRcIjpcbiAgICAgICAgICAgICFhY3Rpb24ubmV3VmFsdWUgJiYgdXBkYXRlcihjb250ZW50KTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnJlc3QsIHVwZGF0ZXIsIGNvbnRlbnQsIGlzRWRpdGluZzogYWN0aW9uLm5ld1ZhbHVlIH07XG4gICAgICAgIGNhc2UgXCJjb250ZW50LWNoYW5nZWRcIjpcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnJlc3QsIHVwZGF0ZXIsIGNvbnRlbnQ6IGFjdGlvbi5uZXdWYWx1ZSB9O1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHsgY29udGVudCwgdXBkYXRlciwgLi4ucmVzdCB9O1xuICAgIH1cbn1cblxuLyoqIFByb3ZpZGVzIHN0YXRlIG1hbmFnZW1lbnQgZm9yIGFuIGVkaXRhYmxlIGZpZWxkLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VFZGl0YWJsZURpc3BhdGNoPFQ+KFxuICAgIGluaXRpYWw6IEVkaXRhYmxlU3RhdGU8VD4gfCAoKCkgPT4gRWRpdGFibGVTdGF0ZTxUPilcbik6IFtFZGl0YWJsZVN0YXRlPFQ+LCBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxUPj5dIHtcbiAgICBjb25zdCBpbml0ID0gdXNlTWVtbygoKSA9PiAodHlwZW9mIGluaXRpYWwgPT0gXCJmdW5jdGlvblwiID8gaW5pdGlhbCgpIDogaW5pdGlhbCksIFtpbml0aWFsXSk7XG4gICAgcmV0dXJuIHVzZVJlZHVjZXIoZWRpdGFibGVSZWR1Y2VyIGFzIFJlZHVjZXI8RWRpdGFibGVTdGF0ZTxUPiwgRWRpdGFibGVBY3Rpb248VD4+LCBpbml0LCAocykgPT4gaW5pdCk7XG59XG4vKipcbiAqIGEgaGlnaGVyLW9yZGVyLWNvbXBvbmVudCBmb3IgZWRpdGluZyBmaWVsZHMuXG4gKiBAcGFyYW0gcHJvcHNcbiAqIEBncm91cCBFZGl0YWJsZSBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFZGl0YWJsZTxUPih7IHNvdXJjZVBhdGgsIGRlZmF1bHRSZW5kZXIsIGVkaXRvciwgZGlzcGF0Y2gsIHN0YXRlIH06IEVkaXRhYmxlUHJvcHM8VD4pIHtcbiAgICBjb25zdCBjdXJyZW50UmVmID0gdXNlUmVmKG51bGwpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoc3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gZWRpdG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRlZmF1bHRSZW5kZXIpIHJldHVybiBkZWZhdWx0UmVuZGVyO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gPExpdCB2YWx1ZT17c3RhdGUuY29udGVudCBhcyBMaXRlcmFsfSBpbmxpbmU9e3RydWV9IHNvdXJjZVBhdGg9XCJcIiAvPjtcbiAgICAgICAgfVxuICAgIH0sIFtzdGF0ZS5pc0VkaXRpbmcsIHN0YXRlLmNvbnRlbnQsIHNvdXJjZVBhdGgsIGRlZmF1bHRSZW5kZXJdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoICYmIGRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWU6IHN0YXRlLmNvbnRlbnQgfSk7XG4gICAgfSwgW3N0YXRlLmNvbnRlbnQsIHN0YXRlLmlzRWRpdGluZ10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGF0YWNvcmUtZWRpdGFibGUtb3V0ZXJcIiByZWY9e2N1cnJlbnRSZWZ9PlxuICAgICAgICAgICAge2VsZW1lbnR9XG4gICAgICAgIDwvc3Bhbj5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlZEVkaXRhYmxlPFQsIFAgPSB1bmtub3duPih7XG4gICAgZGVmYXVsdFJlbmRlcixcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICBvblVwZGF0ZSxcbiAgICBjb250ZW50LFxuICAgIHByb3BzLFxuICAgIHNvdXJjZVBhdGgsXG59OiBPbWl0PEVkaXRhYmxlUHJvcHM8VD4sIFwiZGlzcGF0Y2hcIiB8IFwic3RhdGVcIiB8IFwiZWRpdG9yXCI+ICYge1xuICAgIG9uVXBkYXRlOiAodjogVCkgPT4gdW5rbm93bjtcbiAgICBjb250ZW50OiBUO1xuICAgIGVkaXRvcjogRWRpdGFibGVFbGVtZW50PFQsIFA+O1xuICAgIHByb3BzOiBQO1xuICAgIHNvdXJjZVBhdGg6IHN0cmluZztcbn0pIHtcbiAgICBjb25zdCBbc3RhdGUsIGRpc3BhdGNoXSA9IHVzZUVkaXRhYmxlRGlzcGF0Y2g8VD4oKCkgPT4gKHtcbiAgICAgICAgdXBkYXRlcjogb25VcGRhdGUsXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGlubGluZTogZmFsc2UsXG4gICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgfSkpO1xuICAgIGNvbnN0IGVkaXRvciA9IDxFZGl0b3IgZGlzcGF0Y2g9e2Rpc3BhdGNofSB7Li4ucHJvcHN9IHsuLi5zdGF0ZX0gLz47XG4gICAgcmV0dXJuIDxFZGl0YWJsZTxUPiBkaXNwYXRjaD17ZGlzcGF0Y2h9IGVkaXRvcj17ZWRpdG9yfSBzb3VyY2VQYXRoPXtzb3VyY2VQYXRofSBzdGF0ZT17c3RhdGV9IC8+O1xufVxuXG4vKiogQSBzaW5nbGUgc2VsZWN0YWJsZSB2YWx1ZS5cbiAqL1xudHlwZSBTZWxlY3RhYmxlQmFzZSA9IHN0cmluZyB8IG51bWJlcjtcbi8qKiBBIHR5cGUgZm9yIGVpdGhlciBtdWx0aS0gb3Igc2luZ2xlLXNlbGVjdCB2YWx1ZXMuICovXG50eXBlIFNlbGVjdGFibGVUeXBlID0gU2VsZWN0YWJsZUJhc2UgfCBTZWxlY3RhYmxlQmFzZVtdO1xuXG4vKiogRWRpdGFibGUgd2hpY2ggYWxsb3dzIGZvciBzZWxlY3Rpb24gZnJvbSBhIGxpc3Qgb2Ygb3B0aW9ucy5cbiAqIEBncm91cCBFZGl0YWJsZSBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RhYmxlRWRpdGFibGUoe1xuICAgIGlzRWRpdGluZyxcbiAgICBjb250ZW50LFxuICAgIHVwZGF0ZXIsXG4gICAgY29uZmlnLFxuICAgIGRpc3BhdGNoLFxufTogRWRpdGFibGVTdGF0ZTxTZWxlY3RhYmxlVHlwZT4gJlxuICAgIEJhc2VGaWVsZFByb3BzPFNlbGVjdGFibGVUeXBlPiAmIHtcbiAgICAgICAgZGlzcGF0Y2g6IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPFNlbGVjdGFibGVUeXBlPj47XG4gICAgfSkge1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIChuZXdWYWx1ZTogYW55LCBhY3Rpb25NZXRhOiBBY3Rpb25NZXRhPFNlbGVjdGFibGVUeXBlPikgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLFxuICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZTogbmV3VmFsdWUubWFwKCh4KSA9PiB4LnZhbHVlKSBhcyBTZWxlY3RhYmxlVHlwZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLFxuICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZTogbmV3VmFsdWUudmFsdWUgYXMgU2VsZWN0YWJsZVR5cGUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtjb25maWcsIGNvbnRlbnQsIHVwZGF0ZXIsIGlzRWRpdGluZ11cbiAgICApO1xuXG4gICAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PVwiZGF0YWNvcmUtc2VsZWN0YWJsZVwiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICAgIHVuc3R5bGVkXG4gICAgICAgICAgICAgICAgaXNNdWx0aT17Y29uZmlnPy5tdWx0aSA/PyBmYWxzZX1cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtjb25maWc/Lm9wdGlvbnMgPz8gW119XG4gICAgICAgICAgICAgICAgbWVudVBvcnRhbFRhcmdldD17ZG9jdW1lbnQuYm9keX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZz8ub3B0aW9ucy5maWx0ZXIoKHg6IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICgoQXJyYXkuaXNBcnJheShjb250ZW50KSA/IGNvbnRlbnQgOiBbY29udGVudF0pIGFzIGFueVtdKS5jb250YWlucyh4LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICApIHx8IFtdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM9e3tcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IChwcm9wczogYW55KSA9PiBcInByb21wdC1pbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZUNvbnRhaW5lcjogKHByb3BzOiBhbnkpID0+IFwic3VnZ2VzdGlvbi1pdGVtIHZhbHVlLWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXI6IChwcm9wczogYW55KSA9PiBcInN1Z2dlc3Rpb24tY29udGFpbmVyXCIsXG4gICAgICAgICAgICAgICAgICAgIG1lbnU6IChwcm9wczogYW55KSA9PiBcInN1Z2dlc3Rpb24tY29udGVudCBzdWdnZXN0aW9uLWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb246IChwcm9wczogYW55KSA9PiBgc3VnZ2VzdGlvbi1pdGVtJHtwcm9wcy5pc1NlbGVjdGVkID8gXCIgaXMtc2VsZWN0ZWRcIiA6IFwiXCJ9YCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9LCBbY29udGVudCwgdXBkYXRlciwgaXNFZGl0aW5nLCBjb25maWddKTtcblxuICAgIHJldHVybiA8RWRpdGFibGUgZWRpdG9yPXtlZGl0b3J9IGRpc3BhdGNoPXtkaXNwYXRjaH0gc3RhdGU9e3sgaXNFZGl0aW5nLCBjb250ZW50LCB1cGRhdGVyIH19IC8+O1xufVxuXG4vKiogRWRpdGFibGUgd2hpY2ggYWxsb3dzIGZvciBzZWxlY3RpbmcgYSBkYXRlLlxuICogQGdyb3VwIEVkaXRhYmxlIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERhdGVFZGl0YWJsZSh7XG4gICAgZGlzcGF0Y2gsXG4gICAgc291cmNlUGF0aCxcbiAgICAuLi5yZXN0XG59OiBFZGl0YWJsZVN0YXRlPERhdGVUaW1lIHwgc3RyaW5nIHwgbnVsbD4gJiB7XG4gICAgc291cmNlUGF0aDogc3RyaW5nO1xuICAgIGRpc3BhdGNoOiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxEYXRlVGltZSB8IHN0cmluZyB8IG51bGw+Pjtcbn0pIHtcbiAgICAvKiogdGhlIGV4dHJhIGRpc3BhdGNoIGlzIF9qdXN0XyBpbiBjYXNlLi4uICovXG4gICAgY29uc3QgW3N0YXRlLCBvXSA9IHVzZUVkaXRhYmxlRGlzcGF0Y2g8RGF0ZVRpbWUgfCBzdHJpbmcgfCBudWxsPigoKSA9PiAoe1xuICAgICAgICBpc0VkaXRpbmc6IHJlc3QuaXNFZGl0aW5nLFxuICAgICAgICBjb250ZW50OiByZXN0LmNvbnRlbnQsXG4gICAgICAgIHVwZGF0ZXI6IHJlc3QudXBkYXRlcixcbiAgICAgICAgaW5saW5lOiByZXN0LmlubGluZSA/PyBmYWxzZSxcbiAgICB9KSk7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB1c2VDb250ZXh0KFNFVFRJTkdTX0NPTlRFWFQpO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSAoZXZ0OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICBsZXQgdiA9IG5ldyBEYXRlKERhdGUucGFyc2UoZXZ0LmN1cnJlbnRUYXJnZXQudmFsdWUpKTtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIixcbiAgICAgICAgICAgIG5ld1ZhbHVlOiAhIXYgPyBEYXRlVGltZS5mcm9tSlNEYXRlKHYpLnRvRm9ybWF0KHNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0KSA6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBcImNvbW1pdFwiLFxuICAgICAgICAgICAgbmV3VmFsdWU6ICEhdiA/IERhdGVUaW1lLmZyb21KU0RhdGUodikudG9Gb3JtYXQoc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQpIDogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIG8oe1xuICAgICAgICAgICAgdHlwZTogXCJjb21taXRcIixcbiAgICAgICAgICAgIG5ld1ZhbHVlOiAhIXYgPyBEYXRlVGltZS5mcm9tSlNEYXRlKHYpLnRvRm9ybWF0KHNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0KSA6IG51bGwsXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBqc0RhdGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlLmNvbnRlbnQgaW5zdGFuY2VvZiBEYXRlVGltZVxuICAgICAgICAgICAgPyBzdGF0ZS5jb250ZW50XG4gICAgICAgICAgICA6IHR5cGVvZiBzdGF0ZS5jb250ZW50ID09IFwic3RyaW5nXCIgJiYgISFzdGF0ZS5jb250ZW50XG4gICAgICAgICAgICA/IERhdGVUaW1lLmZyb21KU0RhdGUobmV3IERhdGUoRGF0ZS5wYXJzZShzdGF0ZS5jb250ZW50KSkpXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfSwgW3N0YXRlLmNvbnRlbnRdKTtcblxuICAgIGNvbnN0IGVkaXRvck5vZGUgPSA8aW5wdXQgdHlwZT1cImRhdGVcIiBvbkNoYW5nZT17b25DaGFuZ2V9IHZhbHVlPXtqc0RhdGU/LnRvRm9ybWF0KFwieXl5eS1NTS1kZFwiKX0gLz47XG4gICAgcmV0dXJuIDxFZGl0YWJsZTxEYXRlVGltZSB8IHN0cmluZyB8IG51bGw+IGRpc3BhdGNoPXtkaXNwYXRjaH0gc3RhdGU9e3Jlc3R9IGVkaXRvcj17ZWRpdG9yTm9kZX0gLz47XG59XG5cbi8qKiBBbiBlZGl0b3Igd2hpY2ggYWxsb3dzIHNlbGVjdGluZyBhIG51bW5lcmljIHZhbHVlLlxuICogQGdyb3VwIEVkaXRhYmxlIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIE51bWJlckVkaXRhYmxlKHByb3BzOiBFZGl0YWJsZVN0YXRlPG51bWJlcj4pIHtcbiAgICBjb25zdCBjZmMgPSB1c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcblxuICAgIGNvbnN0IFtzdGF0ZSwgZGlzcGF0Y2hdID0gdXNlRWRpdGFibGVEaXNwYXRjaDxudW1iZXI+KCgpID0+ICh7XG4gICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgIGNvbnRlbnQ6IHByb3BzLmNvbnRlbnQsXG4gICAgICAgIHVwZGF0ZXI6IHByb3BzLnVwZGF0ZXIsXG4gICAgICAgIGlubGluZTogdHJ1ZSxcbiAgICB9KSk7XG4gICAgY29uc3QgdmFsdWUgPSB1c2VSZWYocHJvcHMuY29udGVudCk7XG5cbiAgICBjb25zdCBvbkNoYW5nZUNiID0gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jIChldnQ6IENoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICB2YWx1ZS5jdXJyZW50ID0gcGFyc2VGbG9hdCgoZXZ0LmN1cnJlbnRUYXJnZXQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBbdmFsdWUuY3VycmVudCwgc3RhdGUuY29udGVudCwgc3RhdGUudXBkYXRlciwgc3RhdGUuaXNFZGl0aW5nXVxuICAgICk7XG5cbiAgICBjb25zdCBmaW5hbGl6ZSA9IHVzZUZpbmFsaXplcih2YWx1ZS5jdXJyZW50LCBkaXNwYXRjaCk7XG4gICAgY29uc3Qgb25JbnB1dCA9IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICBhc3luYyAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBmaW5hbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbdmFsdWUuY3VycmVudCwgc3RhdGUudXBkYXRlciwgc3RhdGUuY29udGVudCwgc3RhdGUuaXNFZGl0aW5nXVxuICAgICk7XG5cbiAgICBjb25zdCBkYmxDbGljayA9IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiZWRpdGluZy10b2dnbGVkXCIsXG4gICAgICAgICAgICAgICAgbmV3VmFsdWU6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgW3ZhbHVlLmN1cnJlbnQsIHN0YXRlLnVwZGF0ZXIsIHN0YXRlLmlzRWRpdGluZywgc3RhdGUuY29udGVudF1cbiAgICApO1xuXG4gICAgY29uc3QgcmVhZG9ubHlFbCA9IDxMaXQgaW5saW5lPXtmYWxzZX0gc291cmNlUGF0aD17Y2ZjfSB2YWx1ZT17dmFsdWUuY3VycmVudCBhcyBMaXRlcmFsfSAvPjtcbiAgICBjb25zdCBlZGl0b3IgPSA8aW5wdXQgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZWRpdGFibGVcIiB0eXBlPVwibnVtYmVyXCIgb25DaGFuZ2U9e29uQ2hhbmdlQ2J9IG9uS2V5VXA9e29uSW5wdXR9IC8+O1xuICAgIHJldHVybiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImhhcy10ZXh0ZWRpdGFibGVcIiBvbkRibENsaWNrPXtkYmxDbGlja30+XG4gICAgICAgICAgICA8RWRpdGFibGU8bnVtYmVyPiBkaXNwYXRjaD17ZGlzcGF0Y2h9IGVkaXRvcj17ZWRpdG9yfSBkZWZhdWx0UmVuZGVyPXtyZWFkb25seUVsfSBzdGF0ZT17c3RhdGV9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICApO1xufVxuXG4vKiogRWRpdG9yIHdoaWNoIHN1cHBvcnRzIG11bHRpLWxpbmUgdGV4dCBlZGl0aW5nOyBub3RlIHRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBpbnB1dCBhbmQgZG9lcyBub3Qgc3VwcG9ydCBtb3N0IG1hcmtkb3duIG1ldGFkYXRhLlxuICogQGdyb3VwIEVkaXRhYmxlIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRleHRFZGl0YWJsZShwcm9wczogRWRpdGFibGVTdGF0ZTxzdHJpbmc+ICYgeyBtYXJrZG93bj86IGJvb2xlYW47IHNvdXJjZVBhdGg6IHN0cmluZyB9KSB7XG4gICAgY29uc3QgY2ZjID0gdXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgY29uc3QgW3N0YXRlLCBkaXNwYXRjaF0gPSB1c2VFZGl0YWJsZURpc3BhdGNoPHN0cmluZz4oKCkgPT4gKHtcbiAgICAgICAgaXNFZGl0aW5nOiBwcm9wcy5pc0VkaXRpbmcsXG4gICAgICAgIGNvbnRlbnQ6IHByb3BzLmNvbnRlbnQsXG4gICAgICAgIHVwZGF0ZXI6IHByb3BzLnVwZGF0ZXIsXG4gICAgICAgIGlubGluZTogcHJvcHMuaW5saW5lID8/IGZhbHNlLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHRleHQgPSB1c2VSZWYocHJvcHMuY29udGVudCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdGV4dC5jdXJyZW50ID0gc3RhdGUuY29udGVudDtcbiAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLCBuZXdWYWx1ZTogc3RhdGUuY29udGVudCB9KTtcbiAgICB9LCBbcHJvcHMuY29udGVudCwgc3RhdGUuY29udGVudF0pO1xuXG4gICAgY29uc3QgZmluYWxpemUgPSB1c2VGaW5hbGl6ZXIoc3RhdGUuY29udGVudCwgZGlzcGF0Y2gpO1xuICAgIGNvbnN0IG9uSW5wdXQgPSB1c2VTdGFibGVDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbmxpbmUpIHtcbiAgICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09IFwiRW50ZXJcIikge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBmaW5hbGl6ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIgJiYgZS5jdHJsS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgZmluYWxpemUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFt0ZXh0LmN1cnJlbnQsIHByb3BzLnNvdXJjZVBhdGgsIHN0YXRlLnVwZGF0ZXIsIHN0YXRlLmNvbnRlbnQsIHN0YXRlLmlzRWRpdGluZ11cbiAgICApO1xuXG4gICAgY29uc3QgZGJsQ2xpY2sgPSB1c2VTdGFibGVDYWxsYmFjayhcbiAgICAgICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImVkaXRpbmctdG9nZ2xlZFwiLFxuICAgICAgICAgICAgICAgIG5ld1ZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFt0ZXh0LmN1cnJlbnQsIHByb3BzLnNvdXJjZVBhdGgsIHN0YXRlLnVwZGF0ZXIsIHN0YXRlLmlzRWRpdGluZywgc3RhdGUuY29udGVudF1cbiAgICApO1xuICAgIGNvbnN0IHJlYWRvbmx5RWwgPSAoXG4gICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIHtwcm9wcy5tYXJrZG93biA/IChcbiAgICAgICAgICAgICAgICA8TWFya2Rvd24gY29udGVudD17dGV4dC5jdXJyZW50IGFzIHN0cmluZ30gc291cmNlUGF0aD17cHJvcHMuc291cmNlUGF0aCB8fCBjZmN9IGlubGluZT17ZmFsc2V9IC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxMaXQgaW5saW5lPXtmYWxzZX0gc291cmNlUGF0aD17cHJvcHMuc291cmNlUGF0aCB8fCBjZmN9IHZhbHVlPXt0ZXh0LmN1cnJlbnQgYXMgTGl0ZXJhbH0gLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgKTtcbiAgICBjb25zdCBlZGl0b3IgPSAoXG4gICAgICAgIDxVbmNvbnRyb2xsZWRUZXh0RWRpdGFibGUgb25JbnB1dD17b25JbnB1dH0gaW5saW5lPXtwcm9wcy5pbmxpbmV9IGRpc3BhdGNoPXtkaXNwYXRjaH0gdGV4dD17dGV4dC5jdXJyZW50fSAvPlxuICAgICk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaGFzLXRleHRlZGl0YWJsZVwiIG9uRGJsQ2xpY2s9e2RibENsaWNrfT5cbiAgICAgICAgICAgIDxFZGl0YWJsZTxzdHJpbmc+IGRpc3BhdGNoPXtkaXNwYXRjaH0gZWRpdG9yPXtlZGl0b3J9IGRlZmF1bHRSZW5kZXI9e3JlYWRvbmx5RWx9IHN0YXRlPXtzdGF0ZX0gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBVbmNvbnRyb2xsZWRUZXh0RWRpdGFibGUoe1xuICAgIGlubGluZSxcbiAgICB0ZXh0LFxuICAgIGRpc3BhdGNoLFxuICAgIG9uSW5wdXQsXG59OiB7XG4gICAgaW5saW5lPzogYm9vbGVhbjtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgZGlzcGF0Y2g/OiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxzdHJpbmc+PjtcbiAgICBvbklucHV0PzogKGU6IEtleWJvYXJkRXZlbnQpID0+IHVua25vd247XG59KSB7XG4gICAgY29uc3QgW3R4dCwgc2V0VGV4dF0gPSB1c2VTdGF0ZSh0ZXh0KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkaXNwYXRjaCAmJiBkaXNwYXRjaCh7IG5ld1ZhbHVlOiB0eHQsIHR5cGU6IFwiY29udGVudC1jaGFuZ2VkXCIgfSk7XG4gICAgfSwgW3R4dF0pO1xuICAgIGNvbnN0IG9uQ2hhbmdlQ2IgPSB1c2VTdGFibGVDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGV2dDogQ2hhbmdlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHNldFRleHQoKGV2dC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQpLnZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgW3RleHQsIGRpc3BhdGNoXVxuICAgICk7XG5cbiAgICByZXR1cm4gIWlubGluZSA/IChcbiAgICAgICAgPHRleHRhcmVhIGNsYXNzTmFtZT1cImRhdGFjb3JlLWVkaXRhYmxlXCIgb25DaGFuZ2U9e29uQ2hhbmdlQ2J9IG9uS2V5VXA9e29uSW5wdXR9PlxuICAgICAgICAgICAge3R4dH1cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICApIDogKFxuICAgICAgICA8aW5wdXQgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZWRpdGFibGVcIiB0eXBlPVwidGV4dFwiIG9uQ2hhbmdlPXtvbkNoYW5nZUNifSBvbktleVVwPXtvbklucHV0fSAvPlxuICAgICk7XG59XG4vKiogQW4gZWRpdGFibGUgbGlzdCBvZiBpdGVtcy5cbiAqXG4gKiBAZ3JvdXAgRWRpdGFibGUgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gRWRpdGFibGVMaXN0RmllbGQoe1xuICAgIHByb3BzLFxuICAgIGZpZWxkLFxuICAgIHBhcmVudCxcbiAgICB0eXBlLFxuICAgIGRpc3BhdGNoLFxuICAgIHJlbmRlckFzLFxuICAgIGNvbmZpZyxcbn06IHsgcHJvcHM6IEVkaXRhYmxlU3RhdGU8TGl0ZXJhbD4gfSAmIEZpZWxkQ29udHJvbFByb3BzPExpdGVyYWw+ICYge1xuICAgICAgICBwYXJlbnQ6IE1hcmtkb3duVGFza0l0ZW0gfCBNYXJrZG93bkxpc3RJdGVtO1xuICAgICAgICB0eXBlOiBMaXRlcmFsVHlwZTtcbiAgICAgICAgZGlzcGF0Y2g6IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPExpdGVyYWw+PjtcbiAgICB9KSB7XG4gICAgY29uc3Qgc3ViRWRpdG9yID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmVuZGVyQXMpIHtcbiAgICAgICAgICAgIGNhc2UgXCJwcm9ncmVzc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0eXBlID09IFwibnVtYmVyXCIgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxQcm9ncmVzc0VkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc9e3Byb3BzLmlzRWRpdGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e3Byb3BzLmNvbnRlbnQgYXMgbnVtYmVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcj17cHJvcHMudXBkYXRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1heD17Y29uZmlnPy5tYXggfHwgMTAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlUGF0aD17cGFyZW50LiRmaWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcD17Y29uZmlnPy5zdGVwIHx8IDAuMX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbj17Y29uZmlnPy5taW4gfHwgMH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogbnVsbDtcbiAgICAgICAgICAgIGNhc2UgXCJyYXRpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8UmF0aW5nRWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU9e3BhcmVudC4kZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbmZpZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwcm9wcy5jb250ZW50IGFzIHN0cmluZyB8IG51bWJlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXI9e3Byb3BzLnVwZGF0ZXJ9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0YWJsZUVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc9e3Byb3BzLmlzRWRpdGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcj17cHJvcHMudXBkYXRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50PXtwcm9wcy5jb250ZW50IGFzIFNlbGVjdGFibGVUeXBlfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfSwgW3BhcmVudCwgZmllbGQsIHByb3BzLmNvbnRlbnQsIHByb3BzLmNvbnRlbnQsIHByb3BzLCBjb25maWcsIHJlbmRlckFzXSk7XG4gICAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8RGF0ZUVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VQYXRoPXtwYXJlbnQuJGZpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc9e3Byb3BzLmlzRWRpdGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e3Byb3BzLmNvbnRlbnQgYXMgRGF0ZVRpbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVyPXtwcm9wcy51cGRhdGVyIGFzICh2YWw6IHN0cmluZyB8IERhdGVUaW1lIHwgbnVsbCkgPT4gYW55fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxCb29sZWFuRWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXI9e3Byb3BzLnVwZGF0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXt0eXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLmNvbnRlbnQgYXMgYm9vbGVhbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU9e3BhcmVudC4kZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7c3ViRWRpdG9yID8/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVBhdGg9e3BhcmVudC4kZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNFZGl0aW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD17cHJvcHMuY29udGVudCBhcyBzdHJpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXI9e3Byb3BzLnVwZGF0ZXIgYXMgKHZhbDogc3RyaW5nKSA9PiB1bmtub3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgICAgIHJldHVybiA8PntzdWJFZGl0b3IgPz8gPE51bWJlckVkaXRhYmxlIGNvbnRlbnQ9e3Byb3BzLmNvbnRlbnQgYXMgbnVtYmVyfSB1cGRhdGVyPXtwcm9wcy51cGRhdGVyfSAvPn08Lz47XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxUZXh0RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVBhdGg9e3BhcmVudC4kZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRWRpdGluZz17cHJvcHMuaXNFZGl0aW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD17TGl0ZXJhbHMudG9TdHJpbmcocHJvcHMuY29udGVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVyPXtwcm9wcy51cGRhdGVyIGFzICh2YWw6IHN0cmluZykgPT4gdW5rbm93bn1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSwgW3BhcmVudCwgZmllbGQsIHByb3BzLmNvbnRlbnQsIHByb3BzLmNvbnRlbnQsIHByb3BzLCBjb25maWcsIHJlbmRlckFzLCBzdWJFZGl0b3JdKTtcblxuICAgIGNvbnN0IGRibGNsaWNrID0gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHsgdHlwZTogXCJlZGl0aW5nLXRvZ2dsZWRcIiwgbmV3VmFsdWU6ICFwcm9wcy5pc0VkaXRpbmcgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtwcm9wcy5pc0VkaXRpbmddXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZmllbGRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZpZWxkLXRpdGxlXCIgb25EYmxDbGljaz17ZGJsY2xpY2t9PlxuICAgICAgICAgICAgICAgIHtmaWVsZC5rZXl9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmaWVsZC12YWx1ZVwiIHRhYkluZGV4PXswfT5cbiAgICAgICAgICAgICAgICB7ZWRpdG9yfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufVxuIiwgIi8qKlxuICogQG1vZHVsZSB2aWV3c1xuICovXG5pbXBvcnQgeyBMaXRlcmFsIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgQVBQX0NPTlRFWFQsIENVUlJFTlRfRklMRV9DT05URVhULCBEQVRBQ09SRV9DT05URVhULCBMaXQgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcblxuaW1wb3J0IHsgVk5vZGUsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IEJhc2VGaWVsZFByb3BzIH0gZnJvbSBcInVpL2ZpZWxkcy9jb21tb24tcHJvcHNcIjtcbmltcG9ydCB7XG4gICAgQ29udHJvbGxlZEVkaXRhYmxlLFxuICAgIEVkaXRhYmxlLFxuICAgIEVkaXRhYmxlRWxlbWVudCxcbiAgICBFZGl0YWJsZVN0YXRlLFxuICAgIFRleHRFZGl0YWJsZSxcbiAgICB1c2VFZGl0YWJsZURpc3BhdGNoLFxufSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyB1c2VTdGFibGVDYWxsYmFjayB9IGZyb20gXCJ1aS9ob29rc1wiO1xuaW1wb3J0IHsgTWFya2Rvd25MaXN0SXRlbSwgTWFya2Rvd25UYXNrSXRlbSB9IGZyb20gXCJpbmRleC90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgcmV3cml0ZVRhc2sgfSBmcm9tIFwidXRpbHMvdGFza1wiO1xuaW1wb3J0IHsgc2V0SW5saW5lRmllbGQgfSBmcm9tIFwiaW5kZXgvaW1wb3J0L2lubGluZS1maWVsZFwiO1xuXG4vKipcbiAqIFN0YXRlIGZvciBhIHtAbGluayBMaXN0Vmlld31cbiAqIEB0eXBlUGFyYW0gVCAtIHRoZSB0eXBlIG9mIHRoZSBpdGVtcyBjb250YWluZWQgaW4gdGhlIGxpc3RcbiAqIEBncm91cCBTdGF0ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0U3RhdGU8VD4ge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGxpc3Qgc2hvdWxkIGJlIG9yZGVyZWQgKG9sKSwgdW5vcmRlcmVkICh1bCksIG9yIGhhdmUgbm8gc3BlY2lhbCBtYXJrdXAgKG5vbmUpLlxuICAgICAqXG4gICAgICogTGlzdHMgd2l0aCBubyBzcGVjaWFsIG1hcmt1cCBqdXN0IGhhdmUgZWFjaCBlbGVtZW50IHJlbmRlcmVkIGRpcmVjdGx5IGFzLWlzIHdpdGhvdXQgYW55IHdyYXBwaW5nXG4gICAgICogaW5zaWRlIG9mIGEgc2luZ2xlIGRpdi5cbiAgICAgKlxuICAgICAqL1xuICAgIHR5cGU/OiBcIm9yZGVyZWRcIiB8IFwidW5vcmRlcmVkXCIgfCBcIm5vbmVcIjtcblxuICAgIC8qKiBUaGUgZnVsbCBjb2xsZWN0aW9uIG9mIGVsZW1lbnRzIGluIHRoZSBsaXN0LiAqL1xuICAgIHJvd3M/OiBUW107XG5cbiAgICAvKiogQ29udHJvbHMgd2hldGhlciBwYWdpbmcgaXMgZW5hYmxlZCBmb3IgdGhpcyBlbGVtZW50LiBJZiB0cnVlLCB1c2VzIGRlZmF1bHQgcGFnZSBzaXplLiBJZiBhIG51bWJlciwgcGFnaW5nIGlzIGVuYWJsZWQgd2l0aCB0aGUgZ2l2ZW4gcGFnZSBzaXplLiAqL1xuICAgIHBhZ2luZz86IGJvb2xlYW4gfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gcmVuZGVyIGZ1bmN0aW9uIHRvIHVzZSBmb3IgcmVuZGVyaW5nIGVhY2ggZWxlbWVudC4gQ2FuIHByb2R1Y2UgZWl0aGVyIEpTWCBvciBhIHBsYWluIHZhbHVlIHdoaWNoIHdpbGwgYmVcbiAgICAgKiByZW5kZXJlZCBhcyBhIGxpdGVyYWwuXG4gICAgICovXG4gICAgcmVuZGVyZXI/OiAoZWxlbWVudDogVCwgaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlIHwgTGl0ZXJhbDtcblxuICAgIC8qKiBmaWVsZHMgdG8gZGlzcGxheSB1bmRlciBlYWNoIGl0ZW0gaW4gdGhpcyB0YXNrIGxpc3QgKi9cbiAgICBkaXNwbGF5ZWRGaWVsZHM/OiAoQmFzZUZpZWxkUHJvcHM8TGl0ZXJhbD4gJiB7IGtleTogc3RyaW5nIH0pW107XG59XG5cbi8qKlxuICpcbiAqIEEgc2ltcGxlIGFuZCByZXNwb25zaXZlIGxpc3Qgdmlldy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMaXN0VmlldzxUPihzdGF0ZTogTGlzdFN0YXRlPFQ+KSB7XG4gICAgLy8gY29uc3Qgc2V0dGluZ3MgPSB1c2VDb250ZXh0KFNFVFRJTkdTX0NPTlRFWFQpO1xuXG4gICAgY29uc3QgdHlwZSA9IHN0YXRlLnR5cGUgPz8gXCJ1bm9yZGVyZWRcIjtcbiAgICBjb25zdCBlbGVtZW50cyA9IHN0YXRlLnJvd3MgPz8gW107XG4gICAgY29uc3QgcmVuZGVyZXIgPSBzdGF0ZS5yZW5kZXJlciA/PyBpZGVudGl0eTtcblxuICAgIGlmICh0eXBlID09IFwibm9uZVwiKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWxpc3QgZGF0YWNvcmUtbGlzdC1ub25lXCI+XG4gICAgICAgICAgICAgICAge2VsZW1lbnRzLm1hcCgoZWxlbWVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhY29yZS11bndyYXBwZWQtbGlzdC1pdGVtXCIga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZW5zdXJlRWxlbWVudChyZW5kZXJlcihlbGVtZW50LCBpbmRleCkpfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIm9yZGVyZWRcIikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPG9sIGNsYXNzTmFtZT17XCJkYXRhY29yZS1saXN0IGRhdGFjb3JlLWxpc3Qtb3JkZXJlZFwifT5cbiAgICAgICAgICAgICAgICB7ZWxlbWVudHMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpbmRleH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZW5zdXJlRWxlbWVudChyZW5kZXJlcihlbGVtZW50LCBpbmRleCkpfVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImRhdGFjb3JlLWxpc3QgZGF0YWNvcmUtbGlzdC11bm9yZGVyZWRcIj5cbiAgICAgICAgICAgICAgICB7ZWxlbWVudHMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpbmRleH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZW5zdXJlRWxlbWVudChyZW5kZXJlcihlbGVtZW50LCBpbmRleCkpfVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi8qKiBOby1vcCBlbGVtZW50IHJlbmRlcmVyLlxuICogQGhpZGRlblxuICovXG5mdW5jdGlvbiBpZGVudGl0eTxUPihlbGVtZW50OiBUKTogVCB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbi8qKlxuICogQGhpZGRlblxuICogIEVuc3VyZXMgdGhlIGdpdmVuIGVsZW1lbnQgaXMgYSByZW5kZXJhYmxlIHJlYWN0IG5vZGUuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlRWxlbWVudDxUPihlbGVtZW50OiBUKTogVk5vZGUge1xuICAgIGlmIChpc1ZhbGlkRWxlbWVudChlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gPERlZmF1bHRMaXN0RWxlbWVudCBlbGVtZW50PXtlbGVtZW50fSAvPjtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICogIERlZmF1bHQgbGlzdCBlbGVtZW50IHdoaWNoIGp1c3QgdHJpZXMgdG8gcmVuZGVyIHRoZSB2YWx1ZSBhcyBhIGxpdGVyYWwuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdExpc3RFbGVtZW50PFQ+KHsgZWxlbWVudCB9OiB7IGVsZW1lbnQ6IFQgfSkge1xuICAgIGNvbnN0IHNvdXJjZVBhdGggPSB1c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcblxuICAgIHJldHVybiA8TGl0IGlubGluZT17dHJ1ZX0gdmFsdWU9e2VsZW1lbnQgYXMgTGl0ZXJhbH0gc291cmNlUGF0aD17c291cmNlUGF0aH0gLz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFZGl0YWJsZUxpc3RFbGVtZW50PFQ+KHtcbiAgICBlbGVtZW50OiBpdGVtLFxuICAgIGVkaXRvcixcbiAgICBvblVwZGF0ZSxcbiAgICBmaWxlLFxuICAgIGVkaXRvclByb3BzLFxufToge1xuICAgIGVkaXRvcjogKHZhbHVlOiBUKSA9PiBFZGl0YWJsZUVsZW1lbnQ8VD47XG4gICAgZWxlbWVudDogVDtcbiAgICBmaWxlOiBzdHJpbmc7XG4gICAgb25VcGRhdGU6ICh2YWx1ZTogVCkgPT4gdW5rbm93bjtcbiAgICBlZGl0b3JQcm9wczogdW5rbm93bjtcbn0pIHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8Q29udHJvbGxlZEVkaXRhYmxlPFQ+XG4gICAgICAgICAgICBwcm9wcz17ZWRpdG9yUHJvcHN9XG4gICAgICAgICAgICBzb3VyY2VQYXRoPXtmaWxlfVxuICAgICAgICAgICAgY29udGVudD17aXRlbX1cbiAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yKGl0ZW0pfVxuICAgICAgICAgICAgb25VcGRhdGU9e29uVXBkYXRlfVxuICAgICAgICAgICAgZGVmYXVsdFJlbmRlcj17PERlZmF1bHRMaXN0RWxlbWVudCBlbGVtZW50PXtpdGVtfSAvPn1cbiAgICAgICAgLz5cbiAgICApO1xufVxuIiwgIi8qKlxuICogQG1vZHVsZSB2aWV3c1xuICovXG5cbmltcG9ydCB7IE1hcmtkb3duTGlzdEl0ZW0sIE1hcmtkb3duVGFza0l0ZW0gfSBmcm9tIFwiaW5kZXgvdHlwZXMvbWFya2Rvd25cIjtcbmltcG9ydCB7IEVkaXRhYmxlTGlzdEVsZW1lbnQsIExpc3RTdGF0ZSB9IGZyb20gXCJhcGkvdWkvdmlld3MvbGlzdFwiO1xuaW1wb3J0IHsgdXNlU3RhYmxlQ2FsbGJhY2sgfSBmcm9tIFwidWkvaG9va3NcIjtcbmltcG9ydCB7IEZyYWdtZW50IH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgQVBQX0NPTlRFWFQsIERBVEFDT1JFX0NPTlRFWFQgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IEpTWEludGVybmFsIH0gZnJvbSBcInByZWFjdC9zcmMvanN4XCI7XG5pbXBvcnQgeyBEaXNwYXRjaCwgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgY29tcGxldGVUYXNrLCByZXdyaXRlVGFzayB9IGZyb20gXCJ1dGlscy90YXNrXCI7XG5pbXBvcnQgeyBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7XG4gICAgRWRpdGFibGVBY3Rpb24sXG4gICAgRWRpdGFibGVMaXN0RmllbGQsXG4gICAgRWRpdGFibGVTdGF0ZSxcbiAgICBUZXh0RWRpdGFibGUsXG4gICAgdXNlRWRpdGFibGVEaXNwYXRjaCxcbn0gZnJvbSBcInVpL2ZpZWxkcy9lZGl0YWJsZVwiO1xuaW1wb3J0IHsgc2V0SW5saW5lRmllbGQgfSBmcm9tIFwiaW5kZXgvaW1wb3J0L2lubGluZS1maWVsZFwiO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCBcIi4vbGlzdHMuY3NzXCI7XG5cbi8qKlxuICogUHJvcHMgcGFzc2VkIHRvIHRoZSB0YXNrIGxpc3QgY29tcG9uZW50LlxuICogQGdyb3VwIFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1Byb3BzIGV4dGVuZHMgTGlzdFN0YXRlPE1hcmtkb3duVGFza0l0ZW0gfCBNYXJrZG93bkxpc3RJdGVtPiB7XG4gICAgLyoqIHRhc2sgc3RhdGVzIHRvIGN5Y2xlIHRocm91Z2gsIGlmIHNwZWNpZmllZCAqL1xuICAgIGFkZGl0aW9uYWxTdGF0ZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGlzdCBvZiB0YXNrcy5cbiAqIEBwYXJhbSBwcm9wc1xuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRhc2tMaXN0KHtcbiAgICByb3dzOiBpdGVtcyxcbiAgICBhZGRpdGlvbmFsU3RhdGVzOiBzdGF0ZXMsXG4gICAgcmVuZGVyZXI6IGxpc3RSZW5kZXJlciA9IChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICA8RWRpdGFibGVMaXN0RWxlbWVudDxzdHJpbmc+XG4gICAgICAgICAgICBvblVwZGF0ZT17dXNlTGlzdEl0ZW1FZGl0aW5nKGl0ZW0sIFwiXCIpfVxuICAgICAgICAgICAgZWxlbWVudD17aXRlbS4kY2xlYW50ZXh0IX1cbiAgICAgICAgICAgIGZpbGU9e2l0ZW0uJGZpbGV9XG4gICAgICAgICAgICBlZGl0b3JQcm9wcz17eyBtYXJrZG93bjogdHJ1ZSwgc291cmNlUGF0aDogaXRlbS4kZmlsZSB9fVxuICAgICAgICAgICAgZWRpdG9yPXsoaXQpID0+IFRleHRFZGl0YWJsZX1cbiAgICAgICAgLz5cbiAgICApLFxuICAgIC4uLnJlc3Rcbn06IFRhc2tQcm9wcykge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJkYXRhY29yZSBjb250YWlucy10YXNrLWxpc3RcIj5cbiAgICAgICAgICAgICAgICB7aXRlbXM/Lm1hcCgoaXRlbSwgaW5kKSA9PlxuICAgICAgICAgICAgICAgICAgICBpdGVtIGluc3RhbmNlb2YgTWFya2Rvd25UYXNrSXRlbSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUYXNrIGtleT17aXRlbS4kaWR9IHN0YXRlPXt7IC4uLnJlc3QsIGFkZGl0aW9uYWxTdGF0ZXM6IHN0YXRlcyB9fSBpdGVtPXtpdGVtfSAvPlxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtsaXN0UmVuZGVyZXIoaXRlbSwgaW5kKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWxpc3QtaXRlbS1maWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpc3RJdGVtRmllbGRzIGRpc3BsYXllZEZpZWxkcz17cmVzdC5kaXNwbGF5ZWRGaWVsZHN9IGl0ZW09e2l0ZW19IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICk7XG4gICAgfSwgW2l0ZW1zLCBzdGF0ZXNdKTtcbiAgICByZXR1cm4gPEZyYWdtZW50PnshIWl0ZW1zICYmIGNvbnRlbnR9PC9GcmFnbWVudD47XG59XG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgaXRlbSBpbiBhIHRhc2sgbGlzdGluZy5cbiAqIEBwYXJhbSBwcm9wcyAtIHRoZSBjb21wb25lbnQncyBwcm9wc1xuICogQHBhcmFtIHByb3BzLml0ZW0gLSB0aGUgY3VycmVudCB0YXNrIGJlaW5nIHJlbmRlcmVkXG4gKiBAcGFyYW0gcHJvcHMuc3RhdGUgLSB0aGUge0BsaW5rIFRhc2tQcm9wc30gb2YgdGhlIHtAbGluayBUYXNrTGlzdH0gaW4gd2hpY2ggdGhpcyBUYXNrIGFwcGVhcnNcbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUYXNrKHsgaXRlbSwgc3RhdGU6IHByb3BzIH06IHsgaXRlbTogTWFya2Rvd25UYXNrSXRlbTsgc3RhdGU6IFRhc2tQcm9wcyB9KSB7XG4gICAgY29uc3QgYXBwID0gdXNlQ29udGV4dChBUFBfQ09OVEVYVCk7XG4gICAgY29uc3QgY29yZSA9IHVzZUNvbnRleHQoREFUQUNPUkVfQ09OVEVYVCk7XG4gICAgY29uc3QgeyBzZXR0aW5ncyB9ID0gY29yZTtcbiAgICBjb25zdCBzdGF0ZXMgPSBbXCIgXCIsIC4uLihwcm9wcy5hZGRpdGlvbmFsU3RhdGVzIHx8IFtdKSwgXCJ4XCJdO1xuICAgIGNvbnN0IG5leHRTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzLmFkZGl0aW9uYWxTdGF0ZXMgJiYgcHJvcHMuYWRkaXRpb25hbFN0YXRlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IGN1ckluZGV4ID0gc3RhdGVzLmZpbmRJbmRleCgoYSkgPT4gYSA9PT0gaXRlbS4kc3RhdHVzKTtcbiAgICAgICAgICAgIGN1ckluZGV4Kys7XG4gICAgICAgICAgICBpZiAoY3VySW5kZXggPj0gc3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGN1ckluZGV4ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZXNbY3VySW5kZXhdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uJGNvbXBsZXRlZCA/IFwiIFwiIDogXCJ4XCI7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTxzdHJpbmc+KGl0ZW0uJHN0YXR1cyk7XG4gICAgY29uc3QgY29tcGxldGVkUmVmID0gdXNlUmVmPERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPExpdGVyYWw+Pj4obnVsbCk7XG4gICAgY29uc3Qgb25DaGVja2VkID0gdXNlU3RhYmxlQ2FsbGJhY2soYXN5bmMgKGV2dDogSlNYSW50ZXJuYWwuVGFyZ2V0ZWRNb3VzZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbXBsZXRlZCA9IGV2dC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQ7XG4gICAgICAgIGxldCBuZXdTdGF0dXM6IHN0cmluZztcbiAgICAgICAgaWYgKGV2dC5zaGlmdEtleSkge1xuICAgICAgICAgICAgbmV3U3RhdHVzID0gbmV4dFN0YXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdTdGF0dXMgPSBjb21wbGV0ZWQgPyBcInhcIiA6IFwiIFwiO1xuICAgICAgICB9XG4gICAgICAgIHNldFN0YXR1cyhuZXdTdGF0dXMpO1xuICAgICAgICBhd2FpdCBjb21wbGV0ZVRhc2soY29tcGxldGVkLCBpdGVtLCBhcHAudmF1bHQsIGNvcmUpO1xuICAgICAgICBjb25zdCBudiA9IGNvbXBsZXRlZCA/IERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KHNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0KSA6IG51bGw7XG4gICAgICAgIGNvbXBsZXRlZFJlZi5jdXJyZW50ICYmIGNvbXBsZXRlZFJlZi5jdXJyZW50KHsgdHlwZTogXCJjb21taXRcIiwgbmV3VmFsdWU6IG52IH0pO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGNoZWNrZWQgPSB1c2VNZW1vKCgpID0+IHN0YXR1cyAhPT0gXCIgXCIsIFtpdGVtLiRzdGF0dXMsIGl0ZW0sIHN0YXR1c10pO1xuICAgIGNvbnN0IGVTdGF0ZTogRWRpdGFibGVTdGF0ZTxzdHJpbmc+ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cGRhdGVyOiB1c2VMaXN0SXRlbUVkaXRpbmcoaXRlbSwgc3RhdHVzKSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0uJGNsZWFudGV4dCxcbiAgICAgICAgICAgIGlubGluZTogZmFsc2UsXG4gICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICB9IGFzIEVkaXRhYmxlU3RhdGU8c3RyaW5nPjtcbiAgICB9LCBbaXRlbS4kY2xlYW50ZXh0LCBpdGVtLiR0ZXh0XSk7XG4gICAgY29uc3QgdGhlRWxlbWVudCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IDxUZXh0RWRpdGFibGUgc291cmNlUGF0aD17aXRlbS4kZmlsZX0gey4uLmVTdGF0ZX0gLz4sXG4gICAgICAgIFtlU3RhdGUuY29udGVudCwgaXRlbSwgcHJvcHMucm93c11cbiAgICApO1xuXG4gICAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KHRydWUpO1xuICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gaXRlbS4kZWxlbWVudHMubGVuZ3RoID4gMDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxsaVxuICAgICAgICAgICAga2V5PXtpdGVtLiRpZH1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZGF0YWNvcmUtdGFzay1pdGVtXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17XCJkYXRhY29yZSB0YXNrLWxpc3QtaXRlbVwiICsgKGNoZWNrZWQgPyBcIiBpcy1jaGVja2VkXCIgOiBcIlwiKX1cbiAgICAgICAgICAgIGRhdGEtdGFzaz17c3RhdHVzfVxuICAgICAgICA+XG4gICAgICAgICAgICA8Q29sbGFwc2VJbmRpY2F0b3JcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRDb2xsYXBzZWQoKGMpID0+ICFjKX1cbiAgICAgICAgICAgICAgICBjb2xsYXBzZWQ9e2NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICBoYXNDaGlsZHJlbj17aGFzQ2hpbGRyZW59XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0YWNvcmUgdGFzay1saXN0LWl0ZW0tY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoZWNrZWR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBjb25zb2xlLmxvZyhlLmN1cnJlbnRUYXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhY29yZS1saXN0LWl0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICB7dGhlRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhY29yZS1saXN0LWl0ZW0tZmllbGRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TGlzdEl0ZW1GaWVsZHMgZGlzcGxheWVkRmllbGRzPXtwcm9wcy5kaXNwbGF5ZWRGaWVsZHN9IGl0ZW09e2l0ZW19IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7aGFzQ2hpbGRyZW4gJiYgIWNvbGxhcHNlZCAmJiA8VGFza0xpc3Qgey4uLnByb3BzfSByb3dzPXtpdGVtLiRlbGVtZW50c30gLz59XG4gICAgICAgIDwvbGk+XG4gICAgKTtcbn1cblxuZnVuY3Rpb24gQ29sbGFwc2VJbmRpY2F0b3Ioe1xuICAgIGNvbGxhcHNlZCxcbiAgICBvbkNsaWNrLFxuICAgIGhhc0NoaWxkcmVuLFxufToge1xuICAgIGNvbGxhcHNlZDogYm9vbGVhbjtcbiAgICBvbkNsaWNrOiAoKSA9PiB2b2lkO1xuICAgIGhhc0NoaWxkcmVuOiBib29sZWFuO1xufSkge1xuICAgIGNvbnN0IHRvZ2dsZUNuYW1lcyA9IFtcImRhdGFjb3JlLWNvbGxhcHNlclwiXTtcbiAgICBpZiAoY29sbGFwc2VkKSB0b2dnbGVDbmFtZXMucHVzaChcImlzLWNvbGxhcHNlZFwiKTtcbiAgICBpZiAoIWhhc0NoaWxkcmVuKSB0b2dnbGVDbmFtZXMucHVzaChcIm5vLWNoaWxkcmVuXCIpO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgb25DbGljaz17b25DbGlja30gY2xhc3NOYW1lPXt0b2dnbGVDbmFtZXMuam9pbihcIiBcIil9IGRpcj1cImF1dG9cIj5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInN2Zy1pY29uIHJpZ2h0LXRyaWFuZ2xlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMgOEwxMiAxN0wyMSA4XCI+PC9wYXRoPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gZWRpdGFibGUgc2V0IG9mIGZpZWxkcyBiZWxvdyBhIHRhc2sgb3IgbGlzdCBpdGVtLlxuICogQGhpZGRlblxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExpc3RJdGVtRmllbGRzKHtcbiAgICBkaXNwbGF5ZWRGaWVsZHM6IGRpc3BsYXllZEZpZWxkc1Byb3AsXG4gICAgaXRlbSxcbn06IHtcbiAgICBkaXNwbGF5ZWRGaWVsZHM/OiBUYXNrUHJvcHNbXCJkaXNwbGF5ZWRGaWVsZHNcIl07XG4gICAgaXRlbTogTWFya2Rvd25UYXNrSXRlbSB8IE1hcmtkb3duTGlzdEl0ZW07XG59KSB7XG4gICAgY29uc3QgYXBwID0gdXNlQ29udGV4dChBUFBfQ09OVEVYVCk7XG4gICAgY29uc3QgY29yZSA9IHVzZUNvbnRleHQoREFUQUNPUkVfQ09OVEVYVCk7XG4gICAgY29uc3QgeyBzZXR0aW5ncyB9ID0gY29yZTtcbiAgICBjb25zdCBkaXNwbGF5ZWRGaWVsZHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKGRpc3BsYXllZEZpZWxkc1Byb3AgIT0gdW5kZWZpbmVkKSByZXR1cm4gZGlzcGxheWVkRmllbGRzUHJvcDtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhpdGVtLiRpbmZpZWxkcykubWFwKChmKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBmLmtleSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogTGl0ZXJhbHMudHlwZU9mKGYudmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICBjb25maWc6IHt9LFxuICAgICAgICAgICAgICAgICAgICBlZGl0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyQXM6IFwicmF3XCIsXG4gICAgICAgICAgICAgICAgfSBhcyBOb25OdWxsYWJsZTxUYXNrUHJvcHNbXCJkaXNwbGF5ZWRGaWVsZHNcIl0+WzBdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbZGlzcGxheWVkRmllbGRzUHJvcCwgaXRlbS4kaW5maWVsZHMsIGl0ZW1dKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAge2Rpc3BsYXllZEZpZWxkcy5tYXAoKGlmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmaWVsZC5rZXkgPSBpZmllbGQua2V5LnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgbGV0IGRlZlZhbCA9IHR5cGVvZiBpZmllbGQuZGVmYXVsdFZhbHVlID09IFwiZnVuY3Rpb25cIiA/IGlmaWVsZC5kZWZhdWx0VmFsdWUoKSA6IGlmaWVsZC5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgbGV0IGRlZkZpZWxkOiBGaWVsZCA9IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBpZmllbGQua2V5LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGVmVmFsLFxuICAgICAgICAgICAgICAgICAgICByYXc6IExpdGVyYWxzLnRvU3RyaW5nKGRlZlZhbCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBbZmllbGRWYWx1ZV0gPSB1c2VTdGF0ZTxMaXRlcmFsPihpdGVtLiRpbmZpZWxkc1tpZmllbGQ/LmtleV0/LnZhbHVlIHx8IGRlZkZpZWxkLnZhbHVlISk7XG4gICAgICAgICAgICAgICAgY29uc3QgW3N0YXRlMiwgZGlzcGF0Y2hdID0gdXNlRWRpdGFibGVEaXNwYXRjaDxMaXRlcmFsPih7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZXI6IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHZhbDogTGl0ZXJhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSAodjogTGl0ZXJhbCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdiBpbnN0YW5jZW9mIERhdGVUaW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHYudG9Gb3JtYXQoc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHYgIT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBMaXRlcmFscy50b1N0cmluZyh2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgd2l0aEZpZWxkcyA9IGl0ZW0uJHRleHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpdGhGaWVsZHMgJiYgaXRlbS4kdGV4dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS4kaW5maWVsZHNbaWZpZWxkLmtleV0pIGl0ZW0uJGluZmllbGRzW2lmaWVsZC5rZXldLnZhbHVlID0gZGF0ZVN0cmluZyh2YWwpITtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgZmllbGQgaW4gaXRlbS4kaW5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhGaWVsZHMgPSBzZXRJbmxpbmVGaWVsZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVTdHJpbmcoaXRlbS4kaW5maWVsZHNbZmllbGRdPy52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEZpZWxkcyA9IHNldElubGluZUZpZWxkKGl0ZW0uJHRleHQsIGlmaWVsZC5rZXksIGRhdGVTdHJpbmcodmFsKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJld3JpdGVUYXNrKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwLnZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtIGluc3RhbmNlb2YgTWFya2Rvd25UYXNrSXRlbSA/IGl0ZW0uJHN0YXR1cyA6IFwiIFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbS4kaW5maWVsZHNdXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGlmaWVsZC5rZXkgPT0gc2V0dGluZ3MudGFza0NvbXBsZXRpb25UZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZSBodWg/XG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZFJlZi5jdXJyZW50ID0gZGlzcGF0Y2g7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxFZGl0YWJsZUxpc3RGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM9e3N0YXRlMn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e2lmaWVsZC50eXBlIHx8IExpdGVyYWxzLndyYXBWYWx1ZShmaWVsZFZhbHVlKSEudHlwZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU9e2l0ZW0uJGZpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZD17aXRlbS4kaW5maWVsZHNbaWZpZWxkLmtleV0gfHwgZGVmRmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2lmaWVsZC5jb25maWd9XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ9e2l0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVyPXtzdGF0ZTIudXBkYXRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmaWVsZFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyQXM9e2lmaWVsZC5yZW5kZXJBc31cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgIDwvPlxuICAgICk7XG59XG5cbmZ1bmN0aW9uIHVzZUxpc3RJdGVtRWRpdGluZyhpdGVtOiBNYXJrZG93blRhc2tJdGVtIHwgTWFya2Rvd25MaXN0SXRlbSwgc3RhdHVzOiBzdHJpbmcpIHtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcbiAgICBjb25zdCBjb3JlID0gdXNlQ29udGV4dChEQVRBQ09SRV9DT05URVhUKTtcbiAgICByZXR1cm4gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jICh2YWw6IExpdGVyYWwpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgbGV0IHdpdGhGaWVsZHMgPSBgJHt2YWx9JHtPYmplY3Qua2V5cyhpdGVtLiRpbmZpZWxkcykubGVuZ3RoID8gXCIgXCIgOiBcIlwifWA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZmllbGQgaW4gaXRlbS4kaW5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgd2l0aEZpZWxkcyA9IHNldElubGluZUZpZWxkKHdpdGhGaWVsZHMsIGZpZWxkLCBpdGVtLiRpbmZpZWxkc1tmaWVsZF0ucmF3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ1c2VcIiwgd2l0aEZpZWxkcyk7XG4gICAgICAgICAgICAgICAgYXdhaXQgcmV3cml0ZVRhc2soYXBwLnZhdWx0LCBjb3JlLCBpdGVtLCBzdGF0dXMsIHdpdGhGaWVsZHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbc3RhdHVzLCBpdGVtXVxuICAgICk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCBcIi4vcGFnaW5nLmNzc1wiO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwgUmVmT2JqZWN0IH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5pbXBvcnQgeyBTRVRUSU5HU19DT05URVhUIH0gZnJvbSBcInVpL21hcmtkb3duXCI7XG5cbi8qKiAwLWluZGV4ZWQgcGFnZSBjb250cm9sLiBgcGFnZWAgc2hvdWxkIGJlIHRoZSBjdXJyZW50IDAtaW5kZXhlZCBwYWdlLCB3aGlsZSBgdG90YWxQYWdlc2AgaXMgdGhlIHRvdGFsIG51bWJlciBvZiBwYWdlcy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKiBAcGFyYW0gcHJvcHNcbiAqL1xuZnVuY3Rpb24gUmF3Q29udHJvbGxlZFBhZ2VyKHtcbiAgICBwYWdlLFxuICAgIHNldFBhZ2UsXG4gICAgdG90YWxQYWdlcyxcbn06IHtcbiAgICBwYWdlOiBudW1iZXI7XG4gICAgc2V0UGFnZTogKHBhZ2U6IG51bWJlcikgPT4gdm9pZDtcbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG59KSB7XG4gICAgLy8gQ2xhbXAgcGFnZSB0byBiZSB3aXRoaW4gdGhlIGFjdHVhbCBib3VuZHMgb2YgcGFnZXMuXG4gICAgdG90YWxQYWdlcyA9IE1hdGgubWF4KDEsIHRvdGFsUGFnZXMpO1xuXG4gICAgY29uc3QgcmVhbFBhZ2UgPSBjbGFtcChwYWdlLCAwLCB0b3RhbFBhZ2VzIC0gMSk7XG4gICAgY29uc3QgdmlzaWJsZVBhZ2VzID0gdXNlTWVtbygoKSA9PiBzcGxpdFBhZ2VzKHJlYWxQYWdlLCB0b3RhbFBhZ2VzKSwgW3JlYWxQYWdlLCB0b3RhbFBhZ2VzXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRjLXBhZ2luZy1jb250cm9sXCI+XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkYy1wYWdpbmctY29udHJvbC1wYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcGFnZSAhPSAwICYmIHNldFBhZ2UocGFnZSAtIDEpfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cGFnZSA9PSAwfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUuNSAxOWwtNy03IDctN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3BhdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3Zpc2libGVQYWdlcy5tYXAoKHBhZ2VzLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICB7aSA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRjLXBhZ2luZy1jb250cm9sLXBhZ2UgZGMtcGFnaW5nLWNvbnRyb2wtc2VwYXJhdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQYWdlKHJlYWxQYWdlICsgKGlzTGVmdFNlcGVyYXRvcihyZWFsUGFnZSwgdmlzaWJsZVBhZ2VzLmxlbmd0aCwgaSkgPyAtNSA6IDUpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcGUtcmVuZGVyaW5nPVwiZ2VvbWV0cmljUHJlY2lzaW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkYy1wYWdpbmctY29udHJvbC1lbGxpcHNpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHI9XCIxXCI+PC9jaXJjbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxOVwiIGN5PVwiMTJcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgcj1cIjFcIj48L2NpcmNsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjVcIiBjeT1cIjEyXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHI9XCIxXCI+PC9jaXJjbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXBlLXJlbmRlcmluZz1cImdlb21ldHJpY1ByZWNpc2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXtgZGMtcGFnaW5nLWNvbnRyb2wtbGVhcC0ke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMZWZ0U2VwZXJhdG9yKHJlYWxQYWdlLCB2aXNpYmxlUGFnZXMubGVuZ3RoLCBpKSA/IFwibGVmdFwiIDogXCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAxN2w1LTUtNS01XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTdsNS01LTUtNVwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7cGFnZXMubWFwKChwKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZGMtcGFnaW5nLWNvbnRyb2wtcGFnZSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID09PSByZWFsUGFnZSA/IFwiIGRjLXBhZ2luZy1jb250cm9sLXBhZ2UtYWN0aXZlXCIgOiBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGV2ZW50OiBhbnkpID0+IHNldFBhZ2UocCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3AgKyAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRjLXBhZ2luZy1jb250cm9sLXBhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYWdlICE9PSB0b3RhbFBhZ2VzIC0gMSAmJiBzZXRQYWdlKHBhZ2UgKyAxKX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3BhZ2UgPT09IHRvdGFsUGFnZXMgLSAxfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC41IDVsNyA3LTcgN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3BhdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufVxuXG4vKiogMC1pbmRleGVkIHBhZ2UgY29udHJvbC4gYHBhZ2VgIHNob3VsZCBiZSB0aGUgY3VycmVudCAwLWluZGV4ZWQgcGFlZywgd2hpbGUgYG1heFBhZ2VgIGlzIHRoZSBtYXhpbXVtIHBhZ2UgKGluY2x1c2l2ZSkuICovXG5leHBvcnQgY29uc3QgQ29udHJvbGxlZFBhZ2VyID0gUmVhY3QubWVtbyhSYXdDb250cm9sbGVkUGFnZXIpO1xuXG4vKiogSG9vayB3aGljaCBwcm92aWRlcyBhdXRvbWF0aWMgcGFnZSByZWZsb3cgYW5kIHBhZ2Ugc3RhdGUgbWFuYWdlbWVudC5cbiAqIEBncm91cCBIb29rc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUGFnaW5nKHtcbiAgICBpbml0aWFsUGFnZSA9IDAsXG4gICAgcGFnZVNpemUsXG4gICAgZWxlbWVudHMsXG59OiB7XG4gICAgaW5pdGlhbFBhZ2U6IG51bWJlcjtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIGVsZW1lbnRzOiBudW1iZXI7XG59KTogW251bWJlciwgbnVtYmVyLCAocGFnZTogbnVtYmVyKSA9PiB2b2lkXSB7XG4gICAgLy8gV2UgdHJhY2sgdGhlIHN0YXJ0IGluZGV4IG9mIHRoZSBwYWdlIHNvIHRoYXQgd2hlbiBwYWdlIHNpemUgY2hhbmdlcyB3ZSBjYW4ganVzdCBhdXRvbWF0aWNhbGx5IHJlY29tcHV0ZSB0aGUgcGFnZSB3ZSBhcmUgb24gd2l0aG91dCBhbnkgc3RhdGUuXG4gICAgY29uc3QgdG90YWxQYWdlcyA9IE1hdGgubWF4KDEsIE1hdGguY2VpbChlbGVtZW50cyAvIHBhZ2VTaXplKSk7XG4gICAgY29uc3QgW3BhZ2VTdGFydCwgc2V0UGFnZVN0YXJ0XSA9IHVzZVN0YXRlKCgpID0+IGNsYW1wKGluaXRpYWxQYWdlLCAwLCB0b3RhbFBhZ2VzIC0gMSkpO1xuXG4gICAgY29uc3Qgc2V0Qm91bmRlZFBhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKHBhZ2U6IG51bWJlcikgPT4gc2V0UGFnZVN0YXJ0KGNsYW1wKHBhZ2UsIDAsIHRvdGFsUGFnZXMgLSAxKSAqIHBhZ2VTaXplKSxcbiAgICAgICAgW3BhZ2VTaXplLCB0b3RhbFBhZ2VzXVxuICAgICk7XG5cbiAgICBjb25zdCBwYWdlID0gY2xhbXAoTWF0aC5mbG9vcihwYWdlU3RhcnQgLyBwYWdlU2l6ZSksIDAsIHRvdGFsUGFnZXMgLSAxKTtcbiAgICByZXR1cm4gW3BhZ2UsIHRvdGFsUGFnZXMsIHNldEJvdW5kZWRQYWdlXTtcbn1cblxuLyoqIFByb3ZpZGVzIHVzZWZ1bCBtZXRhZGF0YSBhYm91dCBwYWdpbmcuXG4gKiBAZ3JvdXAgUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWdpbmcge1xuICAgIC8qKiBXaGV0aGVyIHBhZ2luZyBpcyBlbmFibGVkLiAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIFdoZXRoZXIgdGhlIHZpZXcgc2hvdWxkIHNjcm9sbCB3aGVuIHRoZSBwYWdlIGNoYW5nZXMuICovXG4gICAgc2Nyb2xsOiBib29sZWFuO1xuICAgIC8qKiBUaGUgY3VycmVudCBwYWdlLiAqL1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICAvKiogVGhlIHNpemUgb2YgZWFjaCBwYWdlLiAqL1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgLyoqIFRoZSB0b3RhbCBudW1iZXIgb2YgcGFnZXMgZm9yIHRoaXMgZGF0YS4gKi9cbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gICAgLyoqIFVwZGF0ZSB0aGUgY3VycmVudCBwYWdlLiAqL1xuICAgIHNldFBhZ2U6IChwYWdlOiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogQ2VudHJhbCBwYWdpbmcgaG9vayB3aGljaCBleHRyYWN0cyBwYWdlIG1ldGFkYXRhIG91dCBvZiBEYXRhY29yZSBzZXR0aW5ncywgaGFuZGxlcyBwYWdlIG92ZXJmbG93LCBjdXJyZW50IHBhZ2Ugc3RhdGUsIGFuZCB1cGRhdGluZyB0aGUgcGFnZVxuICogaWYgdGhlIGVsZW1lbnRzIGNoYW5nZS4gSWYgYSBjb250YWluZXIgaXMgc3BlY2lmaWVkLCBhbHNvIHN1cHBvcnRzIHNjcm9sbGluZyB0aGUgY29udGFpbmVyIHZpZXcgb24gcGFnZSBjaGFuZ2VzLlxuICogQGdyb3VwIEhvb2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VEYXRhY29yZVBhZ2luZyh7XG4gICAgaW5pdGlhbFBhZ2UgPSAwLFxuICAgIHBhZ2luZyxcbiAgICBzY3JvbGxPblBhZ2VDaGFuZ2UsXG4gICAgZWxlbWVudHMsXG4gICAgY29udGFpbmVyLFxufToge1xuICAgIGluaXRpYWxQYWdlOiBudW1iZXI7XG4gICAgcGFnaW5nOiBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIHNjcm9sbE9uUGFnZUNoYW5nZT86IGJvb2xlYW4gfCBudW1iZXI7XG4gICAgZWxlbWVudHM6IG51bWJlcjtcbiAgICBjb250YWluZXI/OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+O1xufSk6IFBhZ2luZyB7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB1c2VDb250ZXh0KFNFVFRJTkdTX0NPTlRFWFQpO1xuXG4gICAgY29uc3QgcGFnZVNpemUgPSB0eXBlb2YgcGFnaW5nID09PSBcIm51bWJlclwiID8gcGFnaW5nIDogc2V0dGluZ3MuZGVmYXVsdFBhZ2VTaXplO1xuICAgIGNvbnN0IHBhZ2luZ0VuYWJsZWQgPSB0eXBlb2YgcGFnaW5nID09PSBcIm51bWJlclwiIHx8IHBhZ2luZyA9PT0gdHJ1ZTtcbiAgICBjb25zdCBzaG91bGRTY3JvbGwgPVxuICAgICAgICAodHlwZW9mIHNjcm9sbE9uUGFnZUNoYW5nZSA9PT0gXCJudW1iZXJcIiAmJiBzY3JvbGxPblBhZ2VDaGFuZ2UgPj0gcGFnZVNpemUpIHx8XG4gICAgICAgICEhKHNjcm9sbE9uUGFnZUNoYW5nZSA/PyBzZXR0aW5ncy5zY3JvbGxPblBhZ2VDaGFuZ2UpO1xuXG4gICAgY29uc3QgW3BhZ2UsIHRvdGFsUGFnZXMsIHJhd1NldFBhZ2VdID0gdXNlUGFnaW5nKHsgaW5pdGlhbFBhZ2UsIHBhZ2VTaXplLCBlbGVtZW50cyB9KTtcblxuICAgIC8vIEhhbmRsZSBhdXRvLXNjcm9sbCBpZiBhIGNvbnRhaW5lciBpcyBwcm92aWRlZC5cbiAgICBjb25zdCBzZXRQYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIChuZXdQYWdlOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChwYWdlICE9IG5ld1BhZ2UgJiYgY29udGFpbmVyICYmIHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICAgICAgICAgICAgICBibG9jazogXCJzdGFydFwiLFxuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByYXdTZXRQYWdlKG5ld1BhZ2UpO1xuICAgICAgICB9LFxuICAgICAgICBbcGFnZSwgY29udGFpbmVyLCBzaG91bGRTY3JvbGwsIHJhd1NldFBhZ2VdXG4gICAgKTtcblxuICAgIHJldHVybiB7IGVuYWJsZWQ6IHBhZ2luZ0VuYWJsZWQsIHNjcm9sbDogc2hvdWxkU2Nyb2xsLCBwYWdlLCBwYWdlU2l6ZSwgdG90YWxQYWdlcywgc2V0UGFnZSB9O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZnVuY3Rpb24gY2xhbXAoaW5wdXQ6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoaW5wdXQgPCBtaW4pIHJldHVybiBtaW47XG4gICAgaWYgKGlucHV0ID4gbWF4KSByZXR1cm4gbWF4O1xuICAgIHJldHVybiBpbnB1dDtcbn1cblxuLyoqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIGZpbmRpbmcgdGhlIHNwZWNpZmljIHBhZ2UgbnVtYmVycyB0byByZW5kZXIuIEFsd2F5cyBhaW1zIHRvIHJlbmRlciA5IG9yIDEwIHBhZ2UgbnVtYmVycyB3aXRoIGEgc2VwYXJhdG9yLlxuICogQGhpZGRlblxuICovXG5mdW5jdGlvbiBzcGxpdFBhZ2VzKHBhZ2U6IG51bWJlciwgdG90YWxQYWdlczogbnVtYmVyKTogbnVtYmVyW11bXSB7XG4gICAgLy8gSWYgbGVzcyB0aGFuIDEyIHBhZ2VzLCBzaG93IGFsbCBvZiB0aGVtLlxuICAgIGlmICh0b3RhbFBhZ2VzIDwgMTIpIHJldHVybiBbQXJyYXkuZnJvbSh7IGxlbmd0aDogdG90YWxQYWdlcyB9LCAoXywgaSkgPT4gaSldO1xuXG4gICAgLy8gV2UgaGF2ZSBhdCBsZWFzdCAxMiBwYWdlcyAoMCAuLiAxMCBpbmNsdXNpdmUpLiBPdXIgZ29hbCBpcyB0byBoYXZlIDkgdG90YWwgdmlzaWJsZSBlbGVtZW50cywgc28gc3BsaXQgYmFzZWQgb24gdGhhdC5cbiAgICAvLyA1IHN1cnJvdW5kaW5nIHtwYWdlfSwgMCwgMSwgbWF4UGFnZSAtIDEsIG1heFBhZ2UuXG4gICAgaWYgKHBhZ2UgPCA1KVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDddLFxuICAgICAgICAgICAgW3RvdGFsUGFnZXMgLSAyLCB0b3RhbFBhZ2VzIC0gMV0sXG4gICAgICAgIF07XG4gICAgZWxzZSBpZiAocGFnZSA+IHRvdGFsUGFnZXMgLSA2KVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgWzAsIDFdLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA4LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA3LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA2LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA1LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA0LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSAzLFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSAyLFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSAxLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgXTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBbMCwgMV0sXG4gICAgICAgICAgICBbcGFnZSAtIDIsIHBhZ2UgLSAxLCBwYWdlLCBwYWdlICsgMSwgcGFnZSArIDJdLFxuICAgICAgICAgICAgW3RvdGFsUGFnZXMgLSAyLCB0b3RhbFBhZ2VzIC0gMV0sXG4gICAgICAgIF07XG59XG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZnVuY3Rpb24gaXNMZWZ0U2VwZXJhdG9yKHJlYWxQYWdlOiBudW1iZXIsIHZpc2libGVQYWdlc0xlbmd0aDogbnVtYmVyLCBzZXBlcmF0b3JJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgLy8gSWYgd2UgaGF2ZSAyIHZpc2libGUgcGFnZXMsIHdlIGNhbiBkZXRlcm1pbmUgc2VwZXJhdG9yIGlzIGNsaWNrZWQgYnkgcmVhbFBhZ2UuXG4gICAgLy8gSWYgd2UgaGF2ZSAzIHZpc2libGUgcGFnZXMsIHdlIGNhbiBkZXRlcm1pbmUgc2VwZXJhdG9yIGlzIGNsaWNrZWQgYnkgaW5kZXguXG4gICAgaWYgKHZpc2libGVQYWdlc0xlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAocmVhbFBhZ2UgPCA1KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChzZXBlcmF0b3JJbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiY29uc3QgcHJlZml4ID0gXCJmYXNcIjtcbmNvbnN0IGZhMCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICcwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzMFwiLCBcIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMyczE2MCA3MS42IDE2MCAxNjBsMCAxMjhjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMEwwIDE5MnpNMTYwIDk2Yy01MyAwLTk2IDQzLTk2IDk2bDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xMjhjMC01My00My05Ni05Ni05NnpcIl1cbn07XG5jb25zdCBmYTEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMScsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiMzFcIiwgXCJNMTYwIDY0YzAtMTEuOC02LjUtMjIuNi0xNi45LTI4LjJzLTIzLTUtMzIuOCAxLjZsLTk2IDY0Qy0uNSAxMTEuMi00LjQgMTMxIDUuNCAxNDUuOHMyOS43IDE4LjcgNDQuNCA4LjlMOTYgMTIzLjggOTYgNDE2bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTM1MnpcIl1cbn07XG5jb25zdCBmYTIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzJcIiwgXCJNMTQyLjkgOTZjLTIxLjUgMC00Mi4yIDguNS01Ny40IDIzLjhMNTQuNiAxNTAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMNDAuMiA3NC41QzY3LjUgNDcuMyAxMDQuNCAzMiAxNDIuOSAzMkMyMjMgMzIgMjg4IDk3IDI4OCAxNzcuMWMwIDM4LjUtMTUuMyA3NS40LTQyLjUgMTAyLjZMMTA5LjMgNDE2IDI4OCA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOUwyMDAuMiAyMzQuNWMxNS4yLTE1LjIgMjMuOC0zNS45IDIzLjgtNTcuNGMwLTQ0LjgtMzYuMy04MS4xLTgxLjEtODEuMXpcIl1cbn07XG5jb25zdCBmYTMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMycsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzNcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwyNDAgMGMxMy4yIDAgMjUgOC4xIDI5LjggMjAuNHMxLjUgMjYuMy04LjIgMzUuMkwxNjIuMyAyMDhsMjEuNyAwYzc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2cy02MC45IDEzNi0xMzYgMTM2bC03OC42IDBDNjMgNDgwIDI0LjIgNDU2IDUuMyA0MTguMWwtMS45LTMuOGMtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDEuOSAzLjhjOC4xIDE2LjMgMjQuOCAyNi41IDQyLjkgMjYuNWw3OC42IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJzLTMyLjItNzItNzItNzJMODAgMjcyYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuNHMtMS41LTI2LjMgOC4yLTM1LjJMMTg5LjcgOTYgMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpcIl1cbn07XG5jb25zdCBmYTQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnNCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiMzRcIiwgXCJNMTg5IDc3LjZjNy41LTE2IC43LTM1LjEtMTUuMy00Mi42cy0zNS4xLS43LTQyLjYgMTUuM0wzIDMyMi40Yy00LjcgOS45LTMuOSAyMS41IDEuOSAzMC44UzIxIDM2OCAzMiAzNjhsMjI0IDAgMCA4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtODAgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE0NEw4Mi40IDMwNCAxODkgNzcuNnpcIl1cbn07XG5jb25zdCBmYTUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnNScsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzVcIiwgXCJNMzIuNSA1OC4zQzM1LjMgNDMuMSA0OC41IDMyIDY0IDMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDkwLjcgOTYgNzAuMyAyMDggMTg0IDIwOGM3NS4xIDAgMTM2IDYwLjkgMTM2IDEzNnMtNjAuOSAxMzYtMTM2IDEzNmwtODMuNSAwYy0zOS40IDAtNzUuNC0yMi4zLTkzLTU3LjVsLTQuMS04LjJjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjlzMzUtMS41IDQyLjkgMTQuM2w0LjEgOC4yYzYuOCAxMy42IDIwLjYgMjIuMSAzNS44IDIyLjFsODMuNSAwYzM5LjggMCA3Mi0zMi4yIDcyLTcycy0zMi4yLTcyLTcyLTcyTDMyIDI3MmMtOS41IDAtMTguNS00LjItMjQuNi0xMS41cy04LjYtMTYuOS02LjktMjYuMmwzMi0xNzZ6XCJdXG59O1xuY29uc3QgZmE2ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzYnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjM2XCIsIFwiTTIzMi40IDg0LjdjMTEuNC0xMy41IDkuNy0zMy43LTMuOC00NS4xcy0zMy43LTkuNy00NS4xIDMuOEwzOC42IDIxNC43QzE0LjcgMjQyLjkgMS4xIDI3OC40IC4xIDMxNS4yYzAgMS40LS4xIDIuOS0uMSA0LjNsMCAuNWMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MHMxNjAtNzEuNiAxNjAtMTYwYzAtODUuNS02Ny4xLTE1NS40LTE1MS41LTE1OS44bDYzLjktNzUuNnpNMjU2IDMyMEE5NiA5NiAwIDEgMSA2NCAzMjBhOTYgOTYgMCAxIDEgMTkyIDB6XCJdXG59O1xuY29uc3QgZmE3ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzcnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjM3XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMjU2IDBjMTEuNSAwIDIyIDYuMSAyNy43IDE2LjFzNS43IDIyLjItLjEgMzIuMWwtMjI0IDM4NGMtOC45IDE1LjMtMjguNSAyMC40LTQzLjggMTEuNXMtMjAuNC0yOC41LTExLjUtNDMuOEwyMzIuMyA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbmNvbnN0IGZhOCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICc4JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzOFwiLCBcIk0zMDQgMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC0zMiAwQzczLjMgMzIgMTYgODkuMyAxNiAxNjBjMCAzNC42IDEzLjcgNjYgMzYgODlDMjAuNSAyNzIuMyAwIDMwOS44IDAgMzUyYzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDY0IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhjMC00Mi4yLTIwLjUtNzkuNy01Mi0xMDNjMjIuMy0yMyAzNi01NC40IDM2LTg5ek0xNzYuMSAyODhsMTUuOSAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0bDE1LjkgMGMwIDAgLjEgMCAuMSAwbDMyIDBjMCAwIC4xIDAgLjEgMHptMC02NGMwIDAgMCAwIDAgMGwtMzIgMGMwIDAgMCAwIDAgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGMwIDM1LjMtMjguNiA2NC02NCA2NHpcIl1cbn07XG5jb25zdCBmYTkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnOScsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzlcIiwgXCJNNjQgMTkyYTk2IDk2IDAgMSAwIDE5MiAwQTk2IDk2IDAgMSAwIDY0IDE5MnptODcuNSAxNTkuOEM2Ny4xIDM0Ny40IDAgMjc3LjUgMCAxOTJDMCAxMDMuNiA3MS42IDMyIDE2MCAzMnMxNjAgNzEuNiAxNjAgMTYwYzAgMi42LS4xIDUuMy0uMiA3LjljLTEuNyAzNS43LTE1LjIgNzAtMzguNCA5Ny40bC0xNDUgMTcxLjRjLTExLjQgMTMuNS0zMS42IDE1LjItNDUuMSAzLjhzLTE1LjItMzEuNi0zLjgtNDUuMWw2My45LTc1LjZ6XCJdXG59O1xuY29uc3QgZmFGaWxsRHJpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxsLWRyaXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1NzZcIiwgXCJNNDEuNCA5LjRDNTMuOS0zLjEgNzQuMS0zLjEgODYuNiA5LjRMMTY4IDkwLjdsNTMuMS01My4xYzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEw0NzQuMyAxODkuMWMyOC4xIDI4LjEgMjguMSA3My43IDAgMTAxLjhMMjgzLjkgNDgxLjRjLTM3LjUgMzcuNS05OC4zIDM3LjUtMTM1LjggMEwzMC42IDM2My45Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjhMMTIyLjcgMTM2IDQxLjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6bTE3NiAyMjEuM0wxNjggMTgxLjMgNzUuOSAyNzMuNGMtNC4yIDQuMi03IDkuMy04LjQgMTQuNmwzMTkuMiAwIDQyLjMtNDIuM2MzLjEtMy4xIDMuMS04LjIgMC0xMS4zTDI3Ny43IDgyLjljLTMuMS0zLjEtOC4yLTMuMS0xMS4zIDBMMjEzLjMgMTM2bDQ5LjQgNDkuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHpNNTEyIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0yNS4yIDMyLjYtNzkuNiA1MS4yLTEwOC43YzYtOS40IDE5LjUtOS40IDI1LjUgMEM1NDMuNCAzNjguNCA1NzYgNDIyLjggNTc2IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NHpcIl1cbn07XG5jb25zdCBmYUFycm93c1RvQ2lyY2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10by1jaXJjbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YmRcIiwgXCJNOS40IDkuNEMyMS45LTMuMSA0Mi4xLTMuMSA1NC42IDkuNEwxNjAgMTE0LjcgMTYwIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NmMwIDQuMy0uOSA4LjUtMi40IDEyLjJjLTEuNiAzLjctMy44IDcuMy02LjkgMTAuM2wtLjEgLjFjLTMuMSAzLTYuNiA1LjMtMTAuMyA2LjljLTMuOCAxLjYtNy45IDIuNC0xMi4yIDIuNGwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC43IDBMOS40IDU0LjZDLTMuMSA0Mi4xLTMuMSAyMS45IDkuNCA5LjR6TTI1NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xMTQuNyAzNTJMOTYgMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBzMCAwIDAgMGwuMSAwYzguOCAwIDE2LjcgMy42IDIyLjUgOS4zbC4xIC4xYzMgMy4xIDUuMyA2LjYgNi45IDEwLjNjMS42IDMuOCAyLjQgNy45IDIuNCAxMi4ybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC43TDU0LjYgNTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDExNC43IDM1MnpNNDE2IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxOC43TDU4NS40IDkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDUyNS4zIDE2MGwxOC43IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTguOCAwLTE2LjgtMy42LTIyLjYtOS4zbC0uMS0uMWMtMy0zLjEtNS4zLTYuNi02LjktMTAuM3MtMi40LTcuOC0yLjQtMTIuMmwwLS4xczAgMCAwIDBsMC05NnpNNTI1LjMgMzUyTDYzMC42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDQ4MCAzOTcuM2wwIDE4LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NnMwIDAgMCAwbDAtLjFjMC00LjMgLjktOC40IDIuNC0xMi4yYzEuNi0zLjggMy45LTcuMyA2LjktMTAuNGM1LjgtNS44IDEzLjctOS4zIDIyLjUtOS40bC4xIDBzMCAwIDAgMGw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOC43IDB6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVDaGV2cm9uUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZXZyb24tcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNoZXZyb24tY2lyY2xlLXJpZ2h0XCJdLCBcImYxMzhcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMEEyNTYgMjU2IDAgMSAwIDAgMjU2ek0yNDEgMzc3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDg3LTg3LTg3LTg3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBMMzQ1IDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyNDEgMzc3elwiXVxufTtcbmNvbnN0IGZhQ2hldnJvbkNpcmNsZVJpZ2h0ID0gZmFDaXJjbGVDaGV2cm9uUmlnaHQ7XG5jb25zdCBmYUF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2F0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE5NDZdLCBcIjQwXCIsIFwiTTI1NiA2NEMxNTAgNjQgNjQgMTUwIDY0IDI1NnM4NiAxOTIgMTkyIDE5MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkMxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NlMxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2bDAgMzJjMCA1My00MyA5Ni05NiA5NmMtMjkuMyAwLTU1LjYtMTMuMi03My4yLTMzLjlDMzIwIDM3MS4xIDI4OS41IDM4NCAyNTYgMzg0Yy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4YzI3LjkgMCA1My43IDguOSA3NC43IDI0LjFjNS43LTUgMTMuMS04LjEgMjEuMy04LjFjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMmMwLTEwNi04Ni0xOTItMTkyLTE5MnptNjQgMTkyYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG5jb25zdCBmYVRyYXNoQ2FuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYXNoLWNhbicsXG4gIGljb246IFs0NDgsIDUxMiwgWzYxNDYwLCBcInRyYXNoLWFsdFwiXSwgXCJmMmVkXCIsIFwiTTEzNS4yIDE3LjdDMTQwLjYgNi44IDE1MS43IDAgMTYzLjggMEwyODQuMiAwYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDk2IDAgNy4yLTE0LjN6TTMyIDEyOGwzODQgMCAwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzIwem05NiA2NGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjI0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMjRjMC04LjgtNy4yLTE2LTE2LTE2em05NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyMjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTIyNGMwLTguOC03LjItMTYtMTYtMTZ6bTk2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDIyNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjI0YzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYVRyYXNoQWx0ID0gZmFUcmFzaENhbjtcbmNvbnN0IGZhVGV4dEhlaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZXh0LWhlaWdodCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjAzNFwiLCBcIk02NCAxMjhsMC0zMiA2NCAwIDAgMzIwLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMjAgNjQgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00OGMwLTI2LjUtMjEuNS00OC00OC00OEwxNjAgMzIgNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MGwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6TTUwMi42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGwzMiAwIDAgMTkyLTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44bC0zMiAwIDAtMTkyIDMyIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6XCJdXG59O1xuY29uc3QgZmFVc2VyWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW1widXNlci10aW1lc1wiXSwgXCJmMjM1XCIsIFwiTTk2IDEyOGExMjggMTI4IDAgMSAxIDI1NiAwQTEyOCAxMjggMCAxIDEgOTYgMTI4ek0wIDQ4Mi4zQzAgMzgzLjggNzkuOCAzMDQgMTc4LjMgMzA0bDkxLjQgMEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0wyOS43IDUxMkMxMy4zIDUxMiAwIDQ5OC43IDAgNDgyLjN6TTQ3MSAxNDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNDcgNDcgNDctNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00NyA0NyA0NyA0N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00Ny00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Ny00Ny00Ny00N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6XCJdXG59O1xuY29uc3QgZmFVc2VyVGltZXMgPSBmYVVzZXJYbWFyaztcbmNvbnN0IGZhU3RldGhvc2NvcGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RldGhvc2NvcGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjk2NThdLCBcImYwZjFcIiwgXCJNMTQyLjQgMjEuOWM1LjYgMTYuOC0zLjUgMzQuOS0yMC4yIDQwLjVMOTYgNzEuMSA5NiAxOTJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTEyMC45LTI2LjEtOC43Yy0xNi44LTUuNi0yNS44LTIzLjctMjAuMi00MC41czIzLjctMjUuOCA0MC41LTIwLjJsMjYuMSA4LjdDMzM0LjQgMTkuMSAzNTIgNDMuNSAzNTIgNzEuMUwzNTIgMTkyYzAgNzcuMi01NC42IDE0MS42LTEyNy4zIDE1Ni43QzIzMSA0MDQuNiAyNzguNCA0NDggMzM2IDQ0OGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMmwwLTcwLjdjLTI4LjMtMTIuMy00OC00MC41LTQ4LTczLjNjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgNzAuN2MwIDk3LjItNzguOCAxNzYtMTc2IDE3NmMtOTIuOSAwLTE2OC45LTcxLjktMTc1LjUtMTYzLjFDODcuMiAzMzQuMiAzMiAyNjkuNiAzMiAxOTJMMzIgNzEuMWMwLTI3LjUgMTcuNi01MiA0My44LTYwLjdsMjYuMS04LjdjMTYuOC01LjYgMzQuOSAzLjUgNDAuNSAyMC4yek00ODAgMjI0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYU1lc3NhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWVzc2FnZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29tbWVudC1hbHRcIl0sIFwiZjI3YVwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGw5NiAwIDAgODBjMCA2LjEgMy40IDExLjYgOC44IDE0LjNzMTEuOSAyLjEgMTYuOC0xLjVMMzA5LjMgNDE2IDQ0OCA0MTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpcIl1cbn07XG5jb25zdCBmYUNvbW1lbnRBbHQgPSBmYU1lc3NhZ2U7XG5jb25zdCBmYUluZm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5mbycsXG4gIGljb246IFsxOTIsIDUxMiwgW10sIFwiZjEyOVwiLCBcIk00OCA4MGE0OCA0OCAwIDEgMSA5NiAwQTQ4IDQ4IDAgMSAxIDQ4IDgwek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0xOTItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xuY29uc3QgZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29tcHJlc3MtYWx0XCJdLCBcImY0MjJcIiwgXCJNNDM5IDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMzIgMzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg3IDg3IDM5IDM5YzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJzLTEyLjUgMTQuOC0yMi4yIDE0LjhsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsMzkgMzlMNDM5IDd6TTcyIDI3MmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE0NGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zOS0zOUw3MyA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDcgNDczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4Ny04N0w1NSAzMTNjLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJzMTIuNS0xNC44IDIyLjItMTQuOHpcIl1cbn07XG5jb25zdCBmYUNvbXByZXNzQWx0ID0gZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlcjtcbmNvbnN0IGZhRXhwbG9zaW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V4cGxvc2lvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlOVwiLCBcIk00OTkuNiAxMS4zYzYuNy0xMC43IDIwLjUtMTQuNSAzMS43LTguNXMxNS44IDE5LjUgMTAuNiAzMUw0MDQuOCAzMzguNmMyLjIgMi4zIDQuMyA0LjcgNi4zIDcuMWw5Ny4yLTU0LjdjMTAuNS01LjkgMjMuNi0zLjEgMzAuOSA2LjRzNi4zIDIzLTIuMiAzMS41bC04NyA4Ny03MS40IDBjLTEzLjItMzcuMy00OC43LTY0LTkwLjUtNjRzLTc3LjQgMjYuNy05MC41IDY0bC03OS42IDBMNDIuMyAzNjMuN2MtOS43LTYuNy0xMy4xLTE5LjYtNy45LTMwLjNzMTcuNC0xNS45IDI4LjctMTIuNGw5Ny4yIDMwLjRjMy0zLjkgNi4xLTcuNyA5LjQtMTEuM0wxMDcuNCAyMzYuM2MtNi4xLTEwLjEtMy45LTIzLjEgNS4xLTMwLjdzMjIuMi03LjUgMzEuMSAuMUwyNDYgMjkzLjZjMS41LS40IDMtLjggNC41LTEuMWwxMy42LTE0Mi43YzEuMi0xMi4zIDExLjUtMjEuNyAyMy45LTIxLjdzMjIuNyA5LjQgMjMuOSAyMS43bDEzLjUgMTQxLjlMNDk5LjYgMTEuM3pNNjQgNDQ4czAgMCAwIDBsNDQ4IDBzMCAwIDAgMGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwek0yODggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjR6XCJdXG59O1xuY29uc3QgZmFGaWxlTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1saW5lcycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQ0MSwgMTI4NDYyLCA2MTY4NiwgXCJmaWxlLWFsdFwiLCBcImZpbGUtdGV4dFwiXSwgXCJmMTVjXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNMTEyIDI1NmwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUZpbGVBbHQgPSBmYUZpbGVMaW5lcztcbmNvbnN0IGZhRmlsZVRleHQgPSBmYUZpbGVMaW5lcztcbmNvbnN0IGZhV2F2ZVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YXZlLXNxdWFyZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjgzZVwiLCBcIk0xMjggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNTIgOTYgMCAwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzUyLTk2IDAgMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDAgMC0xNjB6XCJdXG59O1xuY29uc3QgZmFSaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3MGJcIiwgXCJNNjQgMjA4YzAgNy44IDQuNCAxOC43IDE3LjEgMzAuM0MxMjYuNSAyMTQuMSAxODguOSAyMDAgMjU2IDIwMHMxMjkuNSAxNC4xIDE3NC45IDM4LjNDNDQzLjYgMjI2LjcgNDQ4IDIxNS44IDQ0OCAyMDhjMC0xMi4zLTEwLjgtMzItNDcuOS01MC42QzM2NC45IDEzOS44IDMxNCAxMjggMjU2IDEyOHMtMTA4LjkgMTEuOC0xNDQuMSAyOS40Qzc0LjggMTc2IDY0IDE5NS43IDY0IDIwOHptMTkyIDQwYy00NyAwLTg5LjMgNy42LTEyMi45IDE5LjdDMTY2LjMgMjgwLjIgMjA4LjggMjg4IDI1NiAyODhzODkuNy03LjggMTIyLjktMjAuM0MzNDUuMyAyNTUuNiAzMDMgMjQ4IDI1NiAyNDh6TTAgMjA4YzAtNDkuNiAzOS40LTg1LjggODMuMy0xMDcuOEMxMjkuMSA3Ny4zIDE5MC4zIDY0IDI1NiA2NHMxMjYuOSAxMy4zIDE3Mi43IDM2LjJjNDMuOSAyMiA4My4zIDU4LjIgODMuMyAxMDcuOGwwIDk2YzAgNDkuNi0zOS40IDg1LjgtODMuMyAxMDcuOEMzODIuOSA0MzQuNyAzMjEuNyA0NDggMjU2IDQ0OHMtMTI2LjktMTMuMy0xNzIuNy0zNi4yQzM5LjQgMzg5LjggMCAzNTMuNiAwIDMwNGwwLTk2elwiXVxufTtcbmNvbnN0IGZhQnVpbGRpbmdVbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy11bicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRkOVwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC00MTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yMzcuMyA3MS4xbDM0LjcgNTJMMjcyIDgwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyIDAgNDMuMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTEyIDgwbDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA2NGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFEaWNlVGhyZWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS10aHJlZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4NThdLCBcImY1MjdcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTI4IDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUNhbGVuZGFyRGF5cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1kYXlzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJjYWxlbmRhci1hbHRcIl0sIFwiZjA3M1wiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnptNjQgODBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTI4IDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTQ0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTY0IDQwMGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFDYWxlbmRhckFsdCA9IGZhQ2FsZW5kYXJEYXlzO1xuY29uc3QgZmFBbmNob3JDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmNob3ItY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGFhXCIsIFwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0yMS4xIDgwQzM2NyAxNTguOCAzODQgMTI5LjQgMzg0IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMzMuNCAxNyA2Mi44IDQyLjkgODBMMjI0IDE3NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMjA4LTQ4IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC02LjEgNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw5NyAyNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDcgMzE5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNy03IDAgNi4xYzAgODguNCA3MS42IDE2MCAxNjAgMTYwbDgwIDAgODAgMGM4LjIgMCAxNi4zLS42IDI0LjItMS44Yy0yMi4yLTE2LjItNDAuNC0zNy41LTUzLTYyLjJMMzIwIDQ0OGwwLTgwIDAtMTI4IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEwLjkgMHpNNjQwIDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG5jb25zdCBmYUJ1aWxkaW5nQ2lyY2xlQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZDFcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBMMzM2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxODQuMmMtMzkuMSAzMi4zLTY0IDgxLjEtNjQgMTM1LjhjMCA0OS41IDIwLjQgOTQuMiA1My4zIDEyNi4yQzM2NC41IDUwNS4xIDM1MS4xIDUxMiAzMzYgNTEybC05NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCA4MC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTEyLTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTY0IDExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNkw4MCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNzYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptOTYgMjU2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0MC43LTY3LjNjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42TDUyMS40IDM1MiA0MzIgMzUyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDg5LjQgMC0yOC43IDI4LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni01NmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNTYtNTZjLTYuMi02LjItMTYuNC02LjItMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhVm9sbGV5YmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2b2xsZXliYWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTUyLCBcInZvbGxleWJhbGwtYmFsbFwiXSwgXCJmNDVmXCIsIFwiTTUxMS44IDI2Ny40Yy0yNi4xIDguNy01My40IDEzLjgtODEgMTUuMWM5LjItMTA1LjMtMzEuNS0yMDQuMi0xMDMuMi0yNzIuNEM0MzQuMSA0MS4xIDUxMiAxMzkuNSA1MTIgMjU2YzAgMy44LS4xIDcuNi0uMiAxMS40em0tMy45IDM0LjdjLTUuOCAzMi0xNy42IDYyLTM0LjIgODguN2MtOTcuNSA0OC41LTIxNy43IDQyLjYtMzExLjktMjQuNWMyMy43LTM2LjIgNTUuNC02Ny43IDk0LjUtOTEuOGM3OS45IDQzLjIgMTcwLjEgNTAuOCAyNTEuNiAyNy42em0tMjM2LTU1LjVjLTIuNS05MC45LTQxLjEtMTcyLjctMTAxLjktMjMxLjdDMTk2LjggNS4yIDIyNS44IDAgMjU2IDBjMi43IDAgNS4zIDAgNy45IC4xYzkwLjggNjAuMiAxNDUuNyAxNjcuMiAxMzQuNyAyODIuM2MtNDMuMS0yLjQtODYuNC0xNC4xLTEyNi44LTM1Ljl6TTEzOCAyOC44YzIwLjYgMTguMyAzOC43IDM5LjQgNTMuNyA2Mi42Qzk1LjkgMTM2LjEgMzAuNiAyMjAuOCA3LjMgMzE2LjlDMi41IDI5Ny40IDAgMjc3IDAgMjU2QzAgMTU3LjIgNTYgNzEuNSAxMzggMjguOHptNjkuNiA5MC41YzE5LjUgMzguNiAzMSA4MS45IDMyLjMgMTI3LjdDMTYyLjUgMjk0LjYgMTEwLjkgMzY4LjkgOTAuMiA0NTFDNjYgNDMwLjQgNDUuNiA0MDUuNCAzMC40IDM3Ny4yYzYuNy0xMDguNyA3MS45LTIwOS45IDE3Ny4xLTI1Ny45ek0yNTYgNTEyYy01MC43IDAtOTgtMTQuNy0xMzcuOC00MC4yYzUuNi0yNyAxNC44LTUzLjEgMjcuNC03Ny43QzIzMi4yIDQ1NC42IDMzOC4xIDQ2OC44IDQzMyA0NDFjLTQ2IDQ0LTEwOC4zIDcxLTE3NyA3MXpcIl1cbn07XG5jb25zdCBmYVZvbGxleWJhbGxCYWxsID0gZmFWb2xsZXliYWxsO1xuY29uc3QgZmFBcnJvd3NVcFRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdXAtdG8tbGluZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRjMlwiLCBcIk0zMiA5Nmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZ6TTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAyMzcuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIxMC43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2em0zMjAgNDUuM2MxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMEw0MTYgMjM3LjMgNDE2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjEwLjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zelwiXVxufTtcbmNvbnN0IGZhU29ydERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc29ydC1kb3duJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJzb3J0LWRlc2NcIl0sIFwiZjBkZFwiLCBcIk0xODIuNiA0NzAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTEyOC0xMjhjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45czE2LjYtMTkuOCAyOS42LTE5LjhsMjU2IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOWwtMTI4IDEyOHpcIl1cbn07XG5jb25zdCBmYVNvcnREZXNjID0gZmFTb3J0RG93bjtcbmNvbnN0IGZhQ2lyY2xlTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJtaW51cy1jaXJjbGVcIl0sIFwiZjA1NlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTg0IDIzMmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xuY29uc3QgZmFNaW51c0NpcmNsZSA9IGZhQ2lyY2xlTWludXM7XG5jb25zdCBmYURvb3JPcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvb3Itb3BlbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjUyYlwiLCBcIk0zMjAgMzJjMC05LjktNC41LTE5LjItMTIuMy0yNS4yUzI4OS44LTEuNCAyODAuMiAxbC0xNzkuOSA0NUM3OSA1MS4zIDY0IDcwLjUgNjQgOTIuNUw2NCA0NDhsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMCAxOTIgMCAzMiAwIDAtMzIgMC00NDh6TTI1NiAyNTZjMCAxNy43LTEwLjcgMzItMjQgMzJzLTI0LTE0LjMtMjQtMzJzMTAuNy0zMiAyNC0zMnMyNCAxNC4zIDI0IDMyem05Ni0xMjhsOTYgMCAwIDM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC05NiAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFSaWdodEZyb21CcmFja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpZ2h0LWZyb20tYnJhY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnbi1vdXQtYWx0XCJdLCBcImYyZjVcIiwgXCJNMzc3LjkgMTA1LjlMNTAwLjcgMjI4LjdjNy4yIDcuMiAxMS4zIDE3LjEgMTEuMyAyNy4zcy00LjEgMjAuMS0xMS4zIDI3LjNMMzc3LjkgNDA2LjFjLTYuNCA2LjQtMTUgOS45LTI0IDkuOWMtMTguNyAwLTMzLjktMTUuMi0zMy45LTMzLjlsMC02Mi4xLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwIDAtNjIuMWMwLTE4LjcgMTUuMi0zMy45IDMzLjktMzMuOWM5IDAgMTcuNiAzLjYgMjQgOS45ek0xNjAgOTZMOTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTUzIDAtOTYtNDMtOTYtOTZMMCAxMjhDMCA3NSA0MyAzMiA5NiAzMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhU2lnbk91dEFsdCA9IGZhUmlnaHRGcm9tQnJhY2tldDtcbmNvbnN0IGZhQXRvbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhdG9tJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg4M10sIFwiZjVkMlwiLCBcIk0yNTYgMzk4LjhjLTExLjggNS4xLTIzLjQgOS43LTM0LjkgMTMuNWMxNi43IDMzLjggMzEgMzUuNyAzNC45IDM1LjdzMTguMS0xLjkgMzQuOS0zNS43Yy0xMS40LTMuOS0yMy4xLTguNC0zNC45LTEzLjV6TTQ0NiAyNTZjMzMgNDUuMiA0NC4zIDkwLjkgMjMuNiAxMjhjLTIwLjIgMzYuMy02Mi41IDQ5LjMtMTE1LjIgNDMuMmMtMjIgNTIuMS01NS42IDg0LjgtOTguNCA4NC44cy03Ni40LTMyLjctOTguNC04NC44Yy01Mi43IDYuMS05NS02LjgtMTE1LjItNDMuMkMyMS43IDM0Ni45IDMzIDMwMS4yIDY2IDI1NmMtMzMtNDUuMi00NC4zLTkwLjktMjMuNi0xMjhjMjAuMi0zNi4zIDYyLjUtNDkuMyAxMTUuMi00My4yQzE3OS42IDMyLjcgMjEzLjIgMCAyNTYgMHM3Ni40IDMyLjcgOTguNCA4NC44YzUyLjctNi4xIDk1IDYuOCAxMTUuMiA0My4yYzIwLjcgMzcuMSA5LjQgODIuOC0yMy42IDEyOHptLTY1LjggNjcuNGMtMS43IDE0LjItMy45IDI4LTYuNyA0MS4yYzMxLjggMS40IDM4LjYtOC43IDQwLjItMTEuN2MyLjMtNC4yIDctMTcuOS0xMS45LTQ4LjFjLTYuOCA2LjMtMTQgMTIuNS0yMS42IDE4LjZ6bS02LjctMTc1LjljMi44IDEzLjEgNSAyNi45IDYuNyA0MS4yYzcuNiA2LjEgMTQuOCAxMi4zIDIxLjYgMTguNmMxOC45LTMwLjIgMTQuMi00NCAxMS45LTQ4LjFjLTEuNi0yLjktOC40LTEzLTQwLjItMTEuN3pNMjkwLjkgOTkuN0MyNzQuMSA2NS45IDI1OS45IDY0IDI1NiA2NHMtMTguMSAxLjktMzQuOSAzNS43YzExLjQgMy45IDIzLjEgOC40IDM0LjkgMTMuNWMxMS44LTUuMSAyMy40LTkuNyAzNC45LTEzLjV6bS0xNTkgODguOWMxLjctMTQuMyAzLjktMjggNi43LTQxLjJjLTMxLjgtMS40LTM4LjYgOC43LTQwLjIgMTEuN2MtMi4zIDQuMi03IDE3LjkgMTEuOSA0OC4xYzYuOC02LjMgMTQtMTIuNSAyMS42LTE4LjZ6TTExMC4yIDMwNC44QzkxLjQgMzM1IDk2IDM0OC43IDk4LjMgMzUyLjljMS42IDIuOSA4LjQgMTMgNDAuMiAxMS43Yy0yLjgtMTMuMS01LTI2LjktNi43LTQxLjJjLTcuNi02LjEtMTQuOC0xMi4zLTIxLjYtMTguNnpNMzM2IDI1NmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6bS04MC0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFTb2FwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvYXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MzJdLCBcImUwNmVcIiwgXCJNMjA4IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMzIwIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNNDE2IDMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAgMTYwYzAgMjcuNi0xMS43IDUyLjUtMzAuNCA3MC4xQzQyMi4xIDI3NS43IDQ0OCAzMTAuOCA0NDggMzUyYzAgNTMtNDMgOTYtOTYgOTZsLTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2bDg4LjQgMGMtMTUuMi0xNy0yNC40LTM5LjQtMjQuNC02NEw5NiAxOTJjLTUzIDAtOTYgNDMtOTYgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwzMjAgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZ6TTE2MCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0czI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRsLTMyIDAtMTYwIDB6XCJdXG59O1xuY29uc3QgZmFJY29ucyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpY29ucycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHRcIl0sIFwiZjg2ZFwiLCBcIk01MDAuMyA3LjNDNTA3LjcgMTMuMyA1MTIgMjIuNCA1MTIgMzJsMCAxNDRjMCAyNi41LTI4LjcgNDgtNjQgNDhzLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGwwLTU3TDM1MiA5MC4yIDM1MiAyMDhjMCAyNi41LTI4LjcgNDgtNjQgNDhzLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGwwLTk2YzAtMTUuMyAxMC44LTI4LjQgMjUuNy0zMS40bDE2MC0zMmM5LjQtMS45IDE5LjEgLjYgMjYuNiA2LjZ6TTc0LjcgMzA0bDExLjgtMTcuOGM1LjktOC45IDE1LjktMTQuMiAyNi42LTE0LjJsNjEuNyAwYzEwLjcgMCAyMC43IDUuMyAyNi42IDE0LjJMMjEzLjMgMzA0bDI2LjcgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzUyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI2LjcgMHpNMTkyIDQwOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NzguNyAyNzguM0w0NDAuMyAzNjhsNTUuNyAwYzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRzLjYgMTMuMy00LjQgMTcuN2wtMTI4IDExMmMtNS42IDQuOS0xMy45IDUuMy0xOS45IC45cy04LjItMTIuNC01LjMtMTkuMkwzOTEuNyA0MDAgMzM2IDQwMGMtNi43IDAtMTIuNi00LjEtMTUtMTAuNHMtLjYtMTMuMyA0LjQtMTcuN2wxMjgtMTEyYzUuNi00LjkgMTMuOS01LjMgMTkuOS0uOXM4LjIgMTIuNCA1LjMgMTkuMnptLTMzOS01OS4yYy02LjUgNi41LTE3IDYuNS0yMyAwTDE5LjkgMTE5LjJjLTI4LTI5LTI2LjUtNzYuOSA1LTEwMy45YzI3LTIzLjUgNjguNC0xOSA5My40IDYuNWwxMCAxMC41IDkuNS0xMC41YzI1LTI1LjUgNjUuOS0zMCA5My45LTYuNWMzMSAyNyAzMi41IDc0LjkgNC41IDEwMy45bC05Ni40IDk5Ljl6XCJdXG59O1xuY29uc3QgZmFIZWFydE11c2ljQ2FtZXJhQm9sdCA9IGZhSWNvbnM7XG5jb25zdCBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3JvcGhvbmUtbGluZXMtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcIm1pY3JvcGhvbmUtYWx0LXNsYXNoXCJdLCBcImY1MzlcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0NzIuMSAzNDQuN2MxNS4yLTI2IDIzLjktNTYuMyAyMy45LTg4LjdsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI0IDAgMTZjMCAyMS4yLTUuMSA0MS4xLTE0LjIgNTguN0w0MTYgMzAwLjhsMC00NC44LTU3LjEgMC0zNC41LTI3YzIuOS0zLjEgNy01IDExLjYtNWw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgNTQuM0wzOC44IDUuMXptMzYyLjUgNDA3bC00My4xLTMzLjlDMzQ2LjEgMzgyIDMzMy4zIDM4NCAzMjAgMzg0Yy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOGwwLTguN0wxNDQuNyAyMTBjLS41IDEuOS0uNyAzLjktLjcgNmwwIDQwYzAgODkuMSA2Ni4yIDE2Mi43IDE1MiAxNzQuNGwwIDMzLjYtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC0zMy42YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMnpcIl1cbn07XG5jb25zdCBmYU1pY3JvcGhvbmVBbHRTbGFzaCA9IGZhTWljcm9waG9uZUxpbmVzU2xhc2g7XG5jb25zdCBmYUJyaWRnZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YzlcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJsNDAgMCAwIDY0LTcyIDAgMCAxMjhjNTMgMCA5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2YzYuMyAwIDEyLjQgLjYgMTguMyAxLjdDMzY3LjEgMjMxLjggNDI2LjkgMTkyIDQ5NiAxOTJjNDIuNSAwIDgxLjYgMTUuMSAxMTIgNDAuMmwwLTcyLjItNzIgMCAwLTY0IDQwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMzJ6TTQ4OCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0zNjAgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjMyIDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTY0MCAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xuY29uc3QgZmFQdW1wTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwdW1wLW1lZGljYWwnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwNmFcIiwgXCJNMTI4IDMybDAgOTYgMTI4IDAgMC0zMiA2MC4xIDBjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2wzMy45IDMzLjljMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzNzIuNyA1NS40Yy0xNS0xNS0zNS40LTIzLjQtNTYuNi0yMy40TDI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTExNy40IDE2MGMtMzMuMyAwLTYxIDI1LjUtNjMuOCA1OC43TDM1IDQ0Mi43QzMxLjkgNDgwIDYxLjMgNTEyIDk4LjggNTEybDE4Ni40IDBjMzcuNCAwIDY2LjktMzIgNjMuOC02OS4zbC0xOC43LTIyNGMtMi44LTMzLjItMzAuNS01OC43LTYzLjgtNTguN2wtMTQ5LjEgMHpNMjE2IDI4MGwwIDMyIDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDAgMCAzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTMyLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzIgMCAwLTMyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xuY29uc3QgZmFGaW5nZXJwcmludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaW5nZXJwcmludCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU3N1wiLCBcIk00OCAyNTZDNDggMTQxLjEgMTQxLjEgNDggMjU2IDQ4YzYzLjEgMCAxMTkuNiAyOC4xIDE1Ny44IDcyLjVjOC42IDEwLjEgMjMuOCAxMS4yIDMzLjggMi42czExLjItMjMuOCAyLjYtMzMuOEM0MDMuMyAzNC42IDMzMy43IDAgMjU2IDBDMTE0LjYgMCAwIDExNC42IDAgMjU2bDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwem00NTguNS01Mi45Yy0yLjctMTMtMTUuNS0yMS4zLTI4LjQtMTguNXMtMjEuMyAxNS41LTE4LjUgMjguNGMyLjkgMTMuOSA0LjUgMjguMyA0LjUgNDMuMWwwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MGMwLTE4LjEtMS45LTM1LjgtNS41LTUyLjl6TTI1NiA4MGMtMTkgMC0zNy40IDMtNTQuNSA4LjZjLTE1LjIgNS0xOC43IDIzLjctOC4zIDM1LjljNy4xIDguMyAxOC44IDEwLjggMjkuNCA3LjljMTAuNi0yLjkgMjEuOC00LjQgMzMuNC00LjRjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAyNC45YzAgMjUuMi0xLjUgNTAuMy00LjQgNzUuM2MtMS43IDE0LjYgOS40IDI3LjggMjQuMiAyNy44YzExLjggMCAyMS45LTguNiAyMy4zLTIwLjNjMy4zLTI3LjQgNS01NSA1LTgyLjdsMC0yNC45YzAtOTcuMi03OC44LTE3Ni0xNzYtMTc2ek0xNTAuNyAxNDguN2MtOS4xLTEwLjYtMjUuMy0xMS40LTMzLjktLjRDOTMuNyAxNzggODAgMjE1LjQgODAgMjU2bDAgMjQuOWMwIDI0LjItMi42IDQ4LjQtNy44IDcxLjlDNjguOCAzNjguNCA4MC4xIDM4NCA5Ni4xIDM4NGMxMC41IDAgMTkuOS03IDIyLjItMTcuM2M2LjQtMjguMSA5LjctNTYuOCA5LjctODUuOGwwLTI0LjljMC0yNy4yIDguNS01Mi40IDIyLjktNzMuMWM3LjItMTAuNCA4LTI0LjYtLjItMzQuMnpNMjU2IDE2MGMtNTMgMC05NiA0My05NiA5NmwwIDI0LjljMCAzNS45LTQuNiA3MS41LTEzLjggMTA2LjFjLTMuOCAxNC4zIDYuNyAyOSAyMS41IDI5YzkuNSAwIDE3LjktNi4yIDIwLjQtMTUuNGMxMC41LTM5IDE1LjktNzkuMiAxNS45LTExOS43bDAtMjQuOWMwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUybDAgMjQuOWMwIDM2LjMtMy41IDcyLjQtMTAuNCAxMDcuOWMtMi43IDEzLjkgNy43IDI3LjIgMjEuOCAyNy4yYzEwLjIgMCAxOS03IDIxLTE3YzcuNy0zOC44IDExLjYtNzguMyAxMS42LTExOC4xbDAtMjQuOWMwLTUzLTQzLTk2LTk2LTk2em0yNCA5NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI0LjljMCA1OS45LTExIDExOS4zLTMyLjUgMTc1LjJsLTUuOSAxNS4zYy00LjggMTIuNCAxLjQgMjYuMyAxMy44IDMxczI2LjMtMS40IDMxLTEzLjhsNS45LTE1LjNDMjY3LjkgNDExLjkgMjgwIDM0Ni43IDI4MCAyODAuOWwwLTI0Ljl6XCJdXG59O1xuY29uc3QgZmFIYW5kUG9pbnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBvaW50LXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMGE0XCIsIFwiTTQ4MCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjA4IDAgMC02NCAyMDggMHpNMzIwIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwem02NC02NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0yODggMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDB6bS04OC05NmwuNiAwYy01LjQgOS40LTguNiAyMC4zLTguNiAzMmMwIDEzLjIgNCAyNS40IDEwLjggMzUuNkMxNzcuOSAzNjQuMyAxNjAgMzg4LjEgMTYwIDQxNmMwIDExLjcgMy4xIDIyLjYgOC42IDMybC04LjYgMEM3MS42IDQ0OCAwIDM3Ni40IDAgMjg4bDAtNjEuN2MwLTQyLjQgMTYuOS04My4xIDQ2LjktMTEzLjFsMTEuNi0xMS42QzgyLjUgNzcuNSAxMTUuMSA2NCAxNDkgNjRsMjcgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDg4YzAgMjIuMS0xNy45IDQwLTQwIDQwcy00MC0xNy45LTQwLTQwbDAtNTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA1NmMwIDM5LjggMzIuMiA3MiA3MiA3MnpcIl1cbn07XG5jb25zdCBmYU1hZ25pZnlpbmdHbGFzc0xvY2F0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNlYXJjaC1sb2NhdGlvblwiXSwgXCJmNjg5XCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTI4OCAxNzZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCA0OC44IDQ2LjUgMTExLjYgNjguNiAxMzguNmM2IDcuMyAxNi44IDcuMyAyMi43IDBjMjIuMS0yNyA2OC42LTg5LjggNjguNi0xMzguNnptLTExMiAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFTZWFyY2hMb2NhdGlvbiA9IGZhTWFnbmlmeWluZ0dsYXNzTG9jYXRpb247XG5jb25zdCBmYUZvcndhcmRTdGVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvcndhcmQtc3RlcCcsXG4gIGljb246IFszMjAsIDUxMiwgW1wic3RlcC1mb3J3YXJkXCJdLCBcImYwNTFcIiwgXCJNNTIuNSA0NDAuNmMtOS41IDcuOS0yMi44IDkuNy0zNC4xIDQuNFMwIDQyOC40IDAgNDE2TDAgOTZDMCA4My42IDcuMiA3Mi4zIDE4LjQgNjdzMjQuNS0zLjYgMzQuMSA0LjRsMTkyIDE2MEwyNTYgMjQxbDAtMTQ1YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDUtMTEuNSA5LjYtMTkyIDE2MHpcIl1cbn07XG5jb25zdCBmYVN0ZXBGb3J3YXJkID0gZmFGb3J3YXJkU3RlcDtcbmNvbnN0IGZhRmFjZVNtaWxlQmVhbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXNtaWxlLWJlYW0nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MjIsIFwic21pbGUtYmVhbVwiXSwgXCJmNWI4XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuMSAzMjUuNUMxODIgMzQ2LjIgMjEyLjYgMzY4IDI1NiAzNjhzNzQtMjEuOCA5MS45LTQyLjVjNS44LTYuNyAxNS45LTcuNCAyMi42LTEuNnM3LjQgMTUuOSAxLjYgMjIuNkMzNDkuOCAzNzIuMSAzMTEuMSA0MDAgMjU2IDQwMHMtOTMuOC0yNy45LTExNi4xLTUzLjVjLTUuOC02LjctNS4xLTE2LjggMS42LTIyLjZzMTYuOC01LjEgMjIuNiAxLjZ6bTUzLjUtOTYuN3MwIDAgMCAwYzAgMCAwIDAgMCAwbC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMmMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGMwIDAgMCAwIDAgMHMwIDAgMCAwem0xNjAgMGMwIDAgMCAwIDAgMGwtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjJjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwelwiXVxufTtcbmNvbnN0IGZhU21pbGVCZWFtID0gZmFGYWNlU21pbGVCZWFtO1xuY29uc3QgZmFGbGFnQ2hlY2tlcmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZsYWctY2hlY2tlcmVkJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3OTM3XSwgXCJmMTFlXCIsIFwiTTMyIDBDNDkuNyAwIDY0IDE0LjMgNjQgMzJsMCAxNiA2OS0xNy4yYzM4LjEtOS41IDc4LjMtNS4xIDExMy41IDEyLjVjNDYuMyAyMy4yIDEwMC44IDIzLjIgMTQ3LjEgMGw5LjYtNC44QzQyMy44IDI4LjEgNDQ4IDQzLjEgNDQ4IDY2LjFsMCAyNzkuN2MwIDEzLjMtOC4zIDI1LjMtMjAuOCAzMGwtMzQuNyAxM2MtNDYuMiAxNy4zLTk3LjYgMTQuNi0xNDEuNy03LjRjLTM3LjktMTktODEuMy0yMy43LTEyMi41LTEzLjRMNjQgMzg0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04MCAwLTY2TDAgNjQgMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDB6TTY0IDE4Ny4xbDY0LTEzLjkgMCA2NS41TDY0IDI1Mi42IDY0IDMxOGw0OC44LTEyLjJjNS4xLTEuMyAxMC4xLTIuNCAxNS4yLTMuM2wwLTYzLjkgMzguOS04LjRjOC4zLTEuOCAxNi43LTIuNSAyNS4xLTIuMWwwLTY0YzEzLjYgLjQgMjcuMiAyLjYgNDAuNCA2LjRsMjMuNiA2LjkgMCA2Ni43LTQxLjctMTIuM2MtNy4zLTIuMS0xNC44LTMuNC0yMi4zLTMuOGwwIDcxLjRjMjEuOCAxLjkgNDMuMyA2LjcgNjQgMTQuNGwwLTY5LjggMjIuNyA2LjdjMTMuNSA0IDI3LjMgNi40IDQxLjMgNy40bDAtNjQuMmMtNy44LS44LTE1LjYtMi4zLTIzLjItNC41bC00MC44LTEyIDAtNjJjLTEzLTMuOC0yNS44LTguOC0zOC4yLTE1Yy04LjItNC4xLTE2LjktNy0yNS44LTguOGwwIDcyLjRjLTEzLS40LTI2IC44LTM4LjcgMy42TDEyOCAxNzMuMiAxMjggOTggNjQgMTE0bDAgNzMuMXpNMzIwIDMzNS43YzE2LjggMS41IDMzLjktLjcgNTAtNi44bDE0LTUuMiAwLTcxLjctNy45IDEuOGMtMTguNCA0LjMtMzcuMyA1LjctNTYuMSA0LjVsMCA3Ny40em02NC0xNDkuNGwwLTcwLjhjLTIwLjkgNi4xLTQyLjQgOS4xLTY0IDkuMWwwIDY5LjRjMTMuOSAxLjQgMjggLjUgNDEuNy0yLjZsMjIuMy01LjJ6XCJdXG59O1xuY29uc3QgZmFGb290YmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb290YmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk0NCwgXCJmb290YmFsbC1iYWxsXCJdLCBcImY0NGVcIiwgXCJNMjQ3LjUgMjUuNGMtMTMuNSAzLjMtMjYuNCA3LjItMzguNiAxMS43QzE0Mi45IDYxLjYgOTYuNyAxMDMuNiA2NiAxNTMuNkM0Ny44IDE4My40IDM1LjEgMjE1LjkgMjYuOSAyNDlMMjY0LjUgNDg2LjZjMTMuNS0zLjMgMjYuNC03LjIgMzguNi0xMS43YzY2LTI0LjUgMTEyLjItNjYuNSAxNDIuOS0xMTYuNWMxOC4zLTI5LjggMzAuOS02Mi4zIDM5LjEtOTUuM0wyNDcuNSAyNS40ek00OTUuMiAyMDUuM2M2LjEtNTYuOCAxLjQtMTEyLjItNy43LTE1Ni40Yy0yLjctMTIuOS0xMy0yMi45LTI2LjEtMjUuMWMtNTguMi05LjctMTA5LjktMTItMTU1LjYtNy45TDQ5NS4yIDIwNS4zek0yMDYuMSA0OTZMMTYuOCAzMDYuN2MtNi4xIDU2LjgtMS40IDExMi4yIDcuNyAxNTYuNGMyLjcgMTIuOSAxMyAyMi45IDI2LjEgMjUuMWM1OC4yIDkuNyAxMDkuOSAxMiAxNTUuNiA3Ljl6bTU0LjYtMzMxLjNjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42em0tNDggNDhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42em0tNDggNDhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbmNvbnN0IGZhRm9vdGJhbGxCYWxsID0gZmFGb290YmFsbDtcbmNvbnN0IGZhU2Nob29sQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2Y1wiLCBcIk0zMzcuOCA1LjRDMzI3LTEuOCAzMTMtMS44IDMwMi4yIDUuNEwxNjYuMyA5NiA0OCA5NkMyMS41IDk2IDAgMTE3LjUgMCAxNDRMMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMjcyIDBzMCAwIDAgMGwtNjQgMCAwLTk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bC4zIDAgLjUgMGMzLjQtMzcuNyAxOC43LTcyLjEgNDIuMi05OS4xQzM1MC4yIDI2MCAzMzUuNiAyNjQgMzIwIDI2NGMtNDguNiAwLTg4LTM5LjQtODgtODhzMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgMTguMy01LjYgMzUuMy0xNS4xIDQ5LjRjMjktMjEgNjQuNi0zMy40IDEwMy4xLTMzLjRjNTkuNSAwIDExMi4xIDI5LjYgMTQ0IDc0LjhMNjQwIDE0NGMwLTI2LjUtMjEuNS00OC00OC00OEw0NzMuNyA5NiAzMzcuOCA1LjR6TTk2IDE5MmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDY0YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2em0wIDEyOGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDY0YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2ek0zMjAgMTI4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMCAwLTE2YzAtOC44LTcuMi0xNi0xNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUNyb3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JvcCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjEyNVwiLCBcIk00NDggMTA5LjNsNTQuNi01NC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDQwMi43IDY0IDE2MCA2NGwwIDY0IDE3OC43IDBMMTI4IDMzOC43IDEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMybDAgMzJMMzIgNjRDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDMyIDAgMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDAgMC02NC0xNzguNyAwTDM4NCAxNzMuMyAzODQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMjc0Ljd6XCJdXG59O1xuY29uc3QgZmFBbmdsZXNEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuZ2xlcy1kb3duJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJhbmdsZS1kb3VibGUtZG93blwiXSwgXCJmMTAzXCIsIFwiTTI0Ni42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwyMjQgNDAyLjcgMzYxLjQgMjY1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MHptMTYwLTM1MmwtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMjI0IDIxMC43IDM2MS40IDczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pcIl1cbn07XG5jb25zdCBmYUFuZ2xlRG91YmxlRG93biA9IGZhQW5nbGVzRG93bjtcbmNvbnN0IGZhVXNlcnNSZWN0YW5nbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtcmVjdGFuZ2xlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTk0XCIsIFwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5Nmw0NDggMGM1MyAwIDk2LTQzIDk2LTk2bDAtMzIwYzAtNTMtNDMtOTYtOTYtOTZMOTYgMHpNNjQgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMkw2NCA5NnptMTU5LjggODBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNOTYgMzA5LjNjMCAxNC43IDExLjkgMjYuNyAyNi43IDI2LjdsNTYuMSAwYzgtMzQuMSAzMi44LTYxLjcgNjUuMi03My42Yy03LjUtNC4xLTE2LjItNi40LTI1LjMtNi40bC02OS4zIDBDMTE5LjkgMjU2IDk2IDI3OS45IDk2IDMwOS4zek00NjEuMiAzMzZsNTYuMSAwYzE0LjcgMCAyNi43LTExLjkgMjYuNy0yNi43YzAtMjkuNS0yMy45LTUzLjMtNTMuMy01My4zbC02OS4zIDBjLTkuMiAwLTE3LjggMi4zLTI1LjMgNi40YzMyLjQgMTEuOSA1Ny4yIDM5LjUgNjUuMiA3My42ek0zNzIgMjg5Yy0zLjktLjctNy45LTEtMTItMWwtODAgMGMtNC4xIDAtOC4xIC4zLTEyIDFjLTI2IDQuNC00Ny4zIDIyLjctNTUuOSA0N2MtMi43IDcuNS00LjEgMTUuNi00LjEgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRjMC04LjQtMS40LTE2LjUtNC4xLTI0Yy04LjYtMjQuMy0yOS45LTQyLjYtNTUuOS00N3pNNTEyIDE3NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0zMjAgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4elwiXVxufTtcbmNvbnN0IGZhUGVvcGxlUm9vZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtcm9vZicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzN1wiLCBcIk0zMzUuNSA0bDI4OCAxNjBjMTUuNCA4LjYgMjEgMjguMSAxMi40IDQzLjVzLTI4LjEgMjEtNDMuNSAxMi40TDMyMCA2OC42IDQ3LjUgMjIwYy0xNS40IDguNi0zNC45IDMtNDMuNS0xMi40cy0zLTM0LjkgMTIuNC00My41TDMwNC41IDRjOS43LTUuNCAyMS40LTUuNCAzMS4xIDB6TTMyMCAxNjBhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwek0xNDQgMjU2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMzEyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTIyNi45IDQ5MS40TDIwMCA0NDEuNWwwIDM4LjVjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzguNUw2MS4xIDQ5MS40Yy02LjMgMTEuNy0yMC44IDE2LTMyLjUgOS44cy0xNi0yMC44LTkuOC0zMi41bDM3LjktNzAuM2MxNS4zLTI4LjUgNDUuMS00Ni4zIDc3LjUtNDYuM2wxOS41IDBjMTYuMyAwIDMxLjkgNC41IDQ1LjQgMTIuNmwzMy42LTYyLjNjMTUuMy0yOC41IDQ1LjEtNDYuMyA3Ny41LTQ2LjNsMTkuNSAwYzMyLjQgMCA2Mi4xIDE3LjggNzcuNSA0Ni4zbDMzLjYgNjIuM2MxMy41LTguMSAyOS4xLTEyLjYgNDUuNC0xMi42bDE5LjUgMGMzMi40IDAgNjIuMSAxNy44IDc3LjUgNDYuM2wzNy45IDcwLjNjNi4zIDExLjcgMS45IDI2LjItOS44IDMyLjVzLTI2LjIgMS45LTMyLjUtOS44TDU1MiA0NDEuNWwwIDM4LjVjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzguNS0yNi45IDQ5LjljLTYuMyAxMS43LTIwLjggMTYtMzIuNSA5LjhzLTE2LTIwLjgtOS44LTMyLjVsMzYuMy02Ny41Yy0xLjctMS43LTMuMi0zLjYtNC4zLTUuOEwzNzYgMzQ1LjVsMCA1NC41YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTU0LjUtMjYuOSA0OS45Yy0xLjIgMi4yLTIuNiA0LjEtNC4zIDUuOGwzNi4zIDY3LjVjNi4zIDExLjcgMS45IDI2LjItOS44IDMyLjVzLTI2LjIgMS45LTMyLjUtOS44elwiXVxufTtcbmNvbnN0IGZhUGVvcGxlTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzNFwiLCBcIk0zNjAgNzJhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHpNMTQ0IDIwOGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6TTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6TTQ5NiAyMDhhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek0yMDAgMzEzLjVsMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzYuMy02Ny41YzEuNy0xLjcgMy4yLTMuNiA0LjMtNS44TDI2NCAyMTcuNWwwIDU0LjVjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTU0LjUgMjYuOSA0OS45YzEuMiAyLjIgMi42IDQuMSA0LjMgNS44bC0zNi4zIDY3LjVjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDQ0MCAzMTMuNWwwIDM4LjVjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTM4LjUgMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzcuOS03MC4zYy0xNS4zLTI4LjUtNDUuMS00Ni4zLTc3LjUtNDYuM2wtMTkuNSAwYy0xNi4zIDAtMzEuOSA0LjUtNDUuNCAxMi42bC0zMy42LTYyLjNjLTE1LjMtMjguNS00NS4xLTQ2LjMtNzcuNS00Ni4zbC0xOS41IDBjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zbC0zMy42IDYyLjNjLTEzLjUtOC4xLTI5LjEtMTIuNi00NS40LTEyLjZsLTE5LjUgMGMtMzIuNCAwLTYyLjEgMTcuOC03Ny41IDQ2LjNMMTguOSAzNDAuNmMtNi4zIDExLjctMS45IDI2LjIgOS44IDMyLjVzMjYuMiAxLjkgMzIuNS05LjhMODggMzEzLjUgODggMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zOC41elwiXVxufTtcbmNvbnN0IGZhQmVlck11Z0VtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JlZXItbXVnLWVtcHR5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJiZWVyXCJdLCBcImYwZmNcIiwgXCJNMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiA1MS4yIDBjNDIuNCAwIDc2LjggMzQuNCA3Ni44IDc2LjhsMCAxMDIuMWMwIDMwLjQtMTcuOSA1Ny45LTQ1LjYgNzAuMkwzODQgMzgxLjdsMCAzNC4zYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgNjR6TTM4NCAzMTEuNmw1Ni40LTI1LjFjNC42LTIuMSA3LjYtNi42IDcuNi0xMS43bDAtMTAyLjFjMC03LjEtNS43LTEyLjgtMTIuOC0xMi44TDM4NCAxNjBsMCAxNTEuNnpNMTYwIDE0NGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDIyNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjI0em02NCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjI0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMjR6bTY0IDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyMjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTIyNHpcIl1cbn07XG5jb25zdCBmYUJlZXIgPSBmYUJlZXJNdWdFbXB0eTtcbmNvbnN0IGZhRGlhZ3JhbVByZWRlY2Vzc29yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYWdyYW0tcHJlZGVjZXNzb3InLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0NzdcIiwgXCJNNDQ4IDQxNmwwLTY0TDY0IDM1MmwwIDY0IDM4NCAwem0wIDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0ek0yODggMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDIyNGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxNDQgMCAxNiAwIDE0NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTYgMzguMSAwYzIxLjQgMCAzMi4xIDI1LjkgMTcgNDFMNDMzIDIzOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMzI5IDE2OWMtMTUuMS0xNS4xLTQuNC00MSAxNy00MWwzOC4xIDAgMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTgwIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUFycm93VXBMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWxvbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImxvbmctYXJyb3ctdXBcIl0sIFwiZjE3NlwiLCBcIk0yMTQuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxMDkuMyAxNjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNzAuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOHpcIl1cbn07XG5jb25zdCBmYUxvbmdBcnJvd1VwID0gZmFBcnJvd1VwTG9uZztcbmNvbnN0IGZhRmlyZUZsYW1lU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpcmUtZmxhbWUtc2ltcGxlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJidXJuXCJdLCBcImY0NmFcIiwgXCJNMzcyLjUgMjU2LjVsLS43LTEuOUMzMzcuOCAxNjAuOCAyODIgNzYuNSAyMDkuMSA4LjVsLTMuMy0zQzIwMi4xIDIgMTk3LjEgMCAxOTIgMHMtMTAuMSAyLTEzLjggNS41bC0zLjMgM0MxMDIgNzYuNSA0Ni4yIDE2MC44IDEyLjIgMjU0LjZsLS43IDEuOUMzLjkgMjc3LjMgMCAyOTkuNCAwIDMyMS42QzAgNDI2LjcgODYuOCA1MTIgMTkyIDUxMnMxOTItODUuMyAxOTItMTkwLjRjMC0yMi4yLTMuOS00NC4yLTExLjUtNjUuMXptLTkwLjggNDkuNWM0LjEgOS4zIDYuMiAxOS40IDYuMiAyOS41YzAgNTMtNDMgOTYuNS05NiA5Ni41cy05Ni00My41LTk2LTk2LjVjMC0xMC4xIDIuMS0yMC4zIDYuMi0yOS41bDEuOS00LjNjMTUuOC0zNS40IDM3LjktNjcuNyA2NS4zLTk1LjFsOC45LTguOWMzLjYtMy42IDguNS01LjYgMTMuNi01LjZzMTAgMiAxMy42IDUuNmw4LjkgOC45YzI3LjQgMjcuNCA0OS42IDU5LjcgNjUuMyA5NS4xbDEuOSA0LjN6XCJdXG59O1xuY29uc3QgZmFCdXJuID0gZmFGaXJlRmxhbWVTaW1wbGU7XG5jb25zdCBmYVBlcnNvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjk0ODUsIFwibWFsZVwiXSwgXCJmMTgzXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjMuMUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmwyOS43IDBjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNTguMyA5N2M5LjEgMTUuMSA0LjIgMzQuOC0xMC45IDQzLjlzLTM0LjggNC4yLTQzLjktMTAuOUwyMzIgMjU2LjkgMjMyIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwelwiXVxufTtcbmNvbnN0IGZhTWFsZSA9IGZhUGVyc29uO1xuY29uc3QgZmFMYXB0b3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFwdG9wJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MTg3XSwgXCJmMTA5XCIsIFwiTTEyOCAzMkM5Mi43IDMyIDY0IDYwLjcgNjQgOTZsMCAyNTYgNjQgMCAwLTI1NiAzODQgMCAwIDI1NiA2NCAwIDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOCAzMnpNMTkuMiAzODRDOC42IDM4NCAwIDM5Mi42IDAgNDAzLjJDMCA0NDUuNiAzNC40IDQ4MCA3Ni44IDQ4MGw0ODYuNCAwYzQyLjQgMCA3Ni44LTM0LjQgNzYuOC03Ni44YzAtMTAuNi04LjYtMTkuMi0xOS4yLTE5LjJMMTkuMiAzODR6XCJdXG59O1xuY29uc3QgZmFGaWxlQ3N2ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY3N2JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNmRkXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMTQ0LTIwOCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDE0NC00OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0zODQgNjRsLTEyOCAwTDI1NiAwIDM4NCAxMjh6TTIwMCAzNTJsMTYgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04YzAtNC40LTMuNi04LTgtOGwtMTYgMGMtNC40IDAtOCAzLjYtOCA4bDAgODBjMCA0LjQgMy42IDggOCA4bDE2IDBjNC40IDAgOC0zLjYgOC04bDAtOGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgOGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMTYgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC04MGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTMzLjEgMGwzNC45IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTM0LjkgMGMtNy4yIDAtMTMuMSA1LjktMTMuMSAxMy4xYzAgNS4yIDMgOS45IDcuOCAxMmwzNy40IDE2LjZjMTYuMyA3LjIgMjYuOCAyMy40IDI2LjggNDEuMmMwIDI0LjktMjAuMiA0NS4xLTQ1LjEgNDUuMUwzMDQgNTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDQyLjkgMGM3LjIgMCAxMy4xLTUuOSAxMy4xLTEzLjFjMC01LjItMy05LjktNy44LTEybC0zNy40LTE2LjZjLTE2LjMtNy4yLTI2LjgtMjMuNC0yNi44LTQxLjJjMC0yNC45IDIwLjItNDUuMSA0NS4xLTQ1LjF6bTk4LjkgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMS42YzAgMjMgNS41IDQ1LjYgMTYgNjZjMTAuNS0yMC4zIDE2LTQyLjkgMTYtNjZsMC0zMS42YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAzMS42YzAgMzQuNy0xMC4zIDY4LjctMjkuNiA5Ny42bC01LjEgNy43Yy0zIDQuNS04IDcuMS0xMy4zIDcuMXMtMTAuMy0yLjctMTMuMy03LjFsLTUuMS03LjdjLTE5LjMtMjguOS0yOS42LTYyLjktMjkuNi05Ny42bDAtMzEuNmMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFNZW5vcmFoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21lbm9yYWgnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2NzZcIiwgXCJNMjAuOCA3LjRDMjIuOCAyLjkgMjcuMSAwIDMyIDBzOS4yIDIuOSAxMS4yIDcuNEw2MS4zIDQ5LjdjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xTDY0IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgODEuNyAwIDY0bDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwyMC44IDcuNHptOTYgMEMxMTguOCAyLjkgMTIzLjEgMCAxMjggMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xTDExNi44IDcuNHptNzcuOCA0Mi40TDIxMi44IDcuNEMyMTQuOCAyLjkgMjE5LjEgMCAyMjQgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xek0zMDguOCA3LjRDMzEwLjggMi45IDMxNS4xIDAgMzIwIDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwzMDguOCA3LjR6bTc3LjggNDIuNEw0MDQuOCA3LjRDNDA2LjggMi45IDQxMS4xIDAgNDE2IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMXpNNTAwLjggNy40QzUwMi44IDIuOSA1MDcuMSAwIDUxMiAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMNTAwLjggNy40em03Ny44IDQyLjRMNTk2LjggNy40QzU5OC44IDIuOSA2MDMuMSAwIDYwOCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTMyIDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMCAwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTYwIDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxMjhjMCA1My00MyA5Ni05NiA5NmwtMTkyIDAgMCA2NCAxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYwIDAtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTI4IDAgMC02NEw5NiAzODRjLTUzIDAtOTYtNDMtOTYtOTZMMCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAwIDMyLTY0IDAgMC0zMiAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMCAzMi02NCAwIDAtMzIgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAwIDMyLTY0IDAgMC0zMiAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMCAzMi02NCAwIDAtMzIgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVRydWNrUGxhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stcGxhbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OGZcIiwgXCJNMjAwIDBjLTMwLjYgMC01NiA1NC43LTU2IDg2LjFsMCAxMDYuNUw3LjggMjc0LjNDMi45IDI3Ny4yIDAgMjgyLjQgMCAyODhsMCA2NGMwIDUuMSAyLjQgOS44IDYuNCAxMi44czkuMyAzLjkgMTQuMSAyLjVsMTIzLjQtMzcgMCA4MS4yLTUwIDQwYy0zLjggMy02IDcuNi02IDEyLjVsMCAzMmMwIDUuMSAyLjUgMTAgNi42IDEzczkuNSAzLjggMTQuNCAyLjJMMjAwIDQ4MC45IDI5MC40IDUxMWMtMS42LTQuNy0yLjQtOS44LTIuNC0xNWwwLTMyLjZjLTE4LjItMTAuNS0zMC43LTI5LjctMzEuOS01MS44bC0uMS0uMSAwLTMuNSAwLTgyLjVMMjU2IDE4NGwwLTEuMXMwIDAgMCAwbDAtOTYuOUMyNTYgNTQuNyAyMzEuNSAwIDIwMCAwem04OCAxNzZsMCAyMjRjMCAyMC45IDEzLjQgMzguNyAzMiA0NS4zbDAgNDIuN2MwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAgMTYwIDAgMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDIuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTI1NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OHptNzkuOCA3OC43YzMuMy04LjcgMTEuMi0xNC43IDIwLjUtMTQuN2wxNTEuNCAwYzkuMiAwIDE3LjIgNiAyMC41IDE0LjdMNTc2IDMwNGwtMjI0IDAgMTUuOC00OS4zek01NjggMzUyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzM2IDM3NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbmNvbnN0IGZhUmVjb3JkVmlueWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVjb3JkLXZpbnlsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmOGQ5XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptMjU2LTk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyem0wIDIyNGExMjggMTI4IDAgMSAwIDAtMjU2IDEyOCAxMjggMCAxIDAgMCAyNTZ6bTAtOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhRmFjZUdyaW5TdGFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tc3RhcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjkzMjEsIFwiZ3Jpbi1zdGFyc1wiXSwgXCJmNTg3XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptNDA3LjQgNzUuNWM1LTExLjgtNy0yMi41LTE5LjMtMTguN2MtMzkuNyAxMi4yLTg0LjUgMTktMTMxLjggMTlzLTkyLjEtNi44LTEzMS44LTE5Yy0xMi4zLTMuOC0yNC4zIDYuOS0xOS4zIDE4LjdjMjUgNTkuMSA4My4yIDEwMC41IDE1MS4xIDEwMC41czEyNi4yLTQxLjQgMTUxLjEtMTAwLjV6TTE2MCAxMjBjLTMuMSAwLTUuOSAxLjgtNy4yIDQuNmwtMTYuNiAzNC43LTM4LjEgNWMtMy4xIC40LTUuNiAyLjUtNi42IDUuNXMtLjEgNi4yIDIuMSA4LjNsMjcuOSAyNi41LTcgMzcuOGMtLjYgMyAuNyA2LjEgMy4yIDcuOXM1LjggMiA4LjUgLjZMMTYwIDIzMi41bDMzLjggMTguM2MyLjcgMS41IDYgMS4zIDguNS0uNnMzLjctNC45IDMuMi03LjlsLTctMzcuOEwyMjYuNCAxNzhjMi4yLTIuMSAzLjEtNS4zIDIuMS04LjNzLTMuNS01LjEtNi42LTUuNWwtMzguMS01LTE2LjYtMzQuN2MtMS4zLTIuOC00LjEtNC42LTcuMi00LjZ6bTE5MiAwYy0zLjEgMC01LjkgMS44LTcuMiA0LjZsLTE2LjYgMzQuNy0zOC4xIDVjLTMuMSAuNC01LjYgMi41LTYuNiA1LjVzLS4xIDYuMiAyLjEgOC4zbDI3LjkgMjYuNS03IDM3LjhjLS42IDMgLjcgNi4xIDMuMiA3LjlzNS44IDIgOC41IC42TDM1MiAyMzIuNWwzMy44IDE4LjNjMi43IDEuNSA2IDEuMyA4LjUtLjZzMy43LTQuOSAzLjItNy45bC03LTM3LjhMNDE4LjQgMTc4YzIuMi0yLjEgMy4xLTUuMyAyLjEtOC4zcy0zLjUtNS4xLTYuNi01LjVsLTM4LjEtNS0xNi42LTM0LjdjLTEuMy0yLjgtNC4xLTQuNi03LjItNC42elwiXVxufTtcbmNvbnN0IGZhR3JpblN0YXJzID0gZmFGYWNlR3JpblN0YXJzO1xuY29uc3QgZmFCb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1NWNcIiwgXCJNMTYwIDIwOC41YzAgMjkuMS0xNS42IDUzLjktMzcuMiA2Ny44Yy0xNy4yIDExLjEtMzEuNSAyNi4xLTQxLjcgNDMuN2wyMjEuOCAwYy0xMC4yLTE3LjYtMjQuNS0zMi42LTQxLjctNDMuN2MtMjEuNi0xMy45LTM3LjItMzguNy0zNy4yLTY3LjhMMjI0IDY0bC02NCAwIDAgMTQ0LjV6TTI4OCA2NGwwIDE0NC41YzAgNS43IDMuMSAxMC45IDcuOSAxNGMxMS4yIDcuMiAyMS41IDE1LjUgMzAuOSAyNC44TDM2Ni4xIDIwOGwtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMjQgMjQgMjQgMjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNy03LTQzLjMgNDMuM0MzNzQgMzE0LjEgMzg0IDM0Ny45IDM4NCAzODRjMCAzOS40LTExLjkgNzYuMS0zMi4yIDEwNi41Yy05LjYgMTQuNC0yNi41IDIxLjUtNDMuOCAyMS41TDc2LjEgNTEyYy0xNy4zIDAtMzQuMi03LjEtNDMuOC0yMS41QzExLjkgNDYwLjEgMCA0MjMuNCAwIDM4NGMwLTY3LjggMzUuMS0xMjcuMyA4OC4xLTE2MS41YzQuOC0zLjEgNy45LTguMyA3LjktMTRMOTYgNjRDNzguMyA2NCA2NCA0OS43IDY0IDMyUzc4LjMgMCA5NiAwbDE2IDBMMjcyIDBsMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMnpcIl1cbn07XG5jb25zdCBmYVNwYWdoZXR0aU1vbnN0ZXJGbHlpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwYXN0YWZhcmlhbmlzbVwiXSwgXCJmNjdiXCIsIFwiTTIwOCA2NGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAwYzAgMTYuMi02IDMxLjEtMTYgNDIuM2wxNS42IDMxLjJjMTguNy02IDM5LjktOS41IDY0LjQtOS41czQ1LjggMy41IDY0LjQgOS41TDQwMCAxMDYuM0MzOTAgOTUuMSAzODQgODAuMiAzODQgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGMtMS43IDAtMy40LS4xLTUuMS0uMkw0MjcuOCAxNThjMjEuMSAxMy42IDM3LjcgMzAuMiA1MS40IDQ2LjRjNy4xIDguMyAxMy41IDE2LjYgMTkuMyAyNGwxLjQgMS44YzYuMyA4LjEgMTEuNiAxNC44IDE2LjcgMjAuNEM1MjcuMyAyNjIuMyA1MzIuNyAyNjQgNTM2IDI2NGMyLjUgMCA0LjMtLjYgNy4xLTMuM2MzLjctMy41IDcuMS04LjggMTIuNS0xNy40bC42LS45YzQuNi03LjQgMTEtMTcuNiAxOS40LTI1LjdjOS43LTkuMyAyMi45LTE2LjcgNDAuNC0xNi43YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yLjUgMC00LjMgLjYtNy4xIDMuM2MtMy43IDMuNS03LjEgOC44LTEyLjUgMTcuNGwtLjYgLjljLTQuNiA3LjQtMTEgMTcuNi0xOS40IDI1LjdjLTkuNyA5LjMtMjIuOSAxNi43LTQwLjQgMTYuN2MtMTguNSAwLTMyLjktOC41LTQ0LjMtMTguNmMtMy4xIDQtNi42IDguMy0xMC41IDEyLjdjMS40IDQuMyAyLjggOC41IDQgMTIuNWMuOSAzIDEuOCA1LjggMi42IDguNmMzIDkuOCA1LjUgMTguMiA4LjYgMjUuOWMzLjkgOS44IDcuNCAxNS40IDEwLjggMTguNWMyLjYgMi40IDUuOSA0LjMgMTIuOCA0LjNjOC43IDAgMTYuOS00LjIgMzMuNy0xMy4yYzE1LTggMzUuNy0xOC44IDYyLjMtMTguOGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMTMuNCAwLTI0LjcgNS4yLTM5LjcgMTMuMmMtMSAuNi0yLjEgMS4xLTMuMiAxLjdDNTU5LjkgNDE0IDU0MS40IDQyNCA1MjAgNDI0Yy0xOC40IDAtMzMuNi02LjEtNDUuNS0xNy4yYy0xMS4xLTEwLjMtMTcuOS0yMy43LTIyLjctMzZjLTMuNi05LTYuNy0xOS4xLTkuNS0yOC41Yy0xNi40IDEyLjMtMzYuMSAyMy42LTU4LjkgMzEuM2MzLjYgMTAuOCA4LjQgMjMuNSAxNC40IDM2LjJjNy41IDE1LjkgMTYuMiAzMC40IDI1LjggNDAuNUM0MzMgNDYwLjUgNDQxLjIgNDY0IDQ0OCA0NjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTI1LjIgMC00NS0xMy41LTU5LjUtMjguOGMtMTQuNS0xNS40LTI1LjctMzQuOS0zNC4yLTUzYy04LTE3LTE0LjEtMzMuOC0xOC4zLTQ2LjljLTUuMiAuNC0xMC42IC42LTE2IC42cy0xMC44LS4yLTE2LS42Yy00LjIgMTMtMTAuMyAyOS45LTE4LjMgNDYuOWMtOC41IDE4LjEtMTkuOCAzNy42LTM0LjIgNTNDMjM3IDQ5OC41IDIxNy4yIDUxMiAxOTIgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzYuOCAwIDE1LTMuNSAyNC41LTEzLjdjOS41LTEwLjEgMTguMy0yNC42IDI1LjgtNDAuNWM1LjktMTIuNiAxMC43LTI1LjQgMTQuNC0zNi4yYy0yMi44LTcuNy00Mi41LTE5LTU4LjktMzEuM2MtMi45IDkuNC02IDE5LjUtOS41IDI4LjVjLTQuOCAxMi4yLTExLjYgMjUuNi0yMi43IDM2QzE1My42IDQxNy45IDEzOC40IDQyNCAxMjAgNDI0Yy0yMS40IDAtMzkuOS0xMC01My4xLTE3LjFjMCAwIDAgMCAwIDBjLTEuMS0uNi0yLjItMS4yLTMuMi0xLjdjLTE1LTgtMjYuMy0xMy4yLTM5LjctMTMuMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyNi42IDAgNDcuMyAxMC44IDYyLjMgMTguOGMxNi44IDkgMjUgMTMuMiAzMy43IDEzLjJjNi44IDAgMTAuMi0xLjkgMTIuOC00LjNjMy40LTMuMiA3LTguOCAxMC44LTE4LjVjMy03LjcgNS42LTE2LjEgOC42LTI1LjljLjgtMi43IDEuNy01LjYgMi42LTguNmMxLjItNCAyLjYtOC4yIDQtMTIuNWMtMy45LTQuNS03LjQtOC44LTEwLjUtMTIuN0MxMzYuOSAzMDMuNSAxMjIuNSAzMTIgMTA0IDMxMmMtMTcuNSAwLTMwLjctNy40LTQwLjQtMTYuN2MtOC40LTguMS0xNC44LTE4LjMtMTkuNC0yNS43bC0uNi0uOWMtNS40LTguNi04LjgtMTMuOS0xMi41LTE3LjRjLTIuOC0yLjctNC42LTMuMy03LjEtMy4zYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzE3LjUgMCAzMC43IDcuNCA0MC40IDE2LjdjOC40IDguMSAxNC44IDE4LjMgMTkuNCAyNS43bC42IC45YzUuNCA4LjYgOC44IDEzLjkgMTIuNSAxNy40YzIuOCAyLjcgNC42IDMuMyA3LjEgMy4zYzMuMyAwIDguNy0xLjcgMTkuNC0xMy40YzUuMS01LjYgMTAuNC0xMi4zIDE2LjctMjAuNGwxLjQtMS44YzUuOC03LjQgMTIuMi0xNS43IDE5LjMtMjRjMTMuOC0xNi4yIDMwLjMtMzIuOCA1MS40LTQ2LjRsLTE1LjEtMzAuMmMtMS43IC4xLTMuNCAuMi01LjEgLjJjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHptMjA4IDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpcIl1cbn07XG5jb25zdCBmYVBhc3RhZmFyaWFuaXNtID0gZmFTcGFnaGV0dGlNb25zdGVyRmx5aW5nO1xuY29uc3QgZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRhZlwiLCBcIk0xMzcuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgNDAyLjcgMTkyIDI4OGwzNTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMCAwLTExNC43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDM4NCAxMDkuMyAzODQgMjI0bC0xOTIgMC02NCAwLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMCAwIDExNC43TDg2LjYgMzYxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2ek0xMjggMTkybDY0IDAgMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMjh6TTQ0OCAzMjBsLTY0IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOHpcIl1cbn07XG5jb25zdCBmYVNwb29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nwb29uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzQ4LCA2MTg3MywgXCJ1dGVuc2lsLXNwb29uXCJdLCBcImYyZTVcIiwgXCJNMjQ1LjggMjIwLjljLTE0LjUtMTcuNi0yMS44LTM5LjItMjEuOC02MC44QzIyNCA4MCAzMjAgMCA0MTYgMGM1MyAwIDk2IDQzIDk2IDk2YzAgOTYtODAgMTkyLTE2MC4yIDE5MmMtMjEuNiAwLTQzLjItNy4zLTYwLjgtMjEuOEw1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDUuOCAyMjAuOXpcIl1cbn07XG5jb25zdCBmYVV0ZW5zaWxTcG9vbiA9IGZhU3Bvb247XG5jb25zdCBmYUphcldoZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2phci13aGVhdCcsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTUxN1wiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwTDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDY0QzQ2LjMgNjQgMzIgNDkuNyAzMiAzMnpNMCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MHptMTEyIDBsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44QzY0IDE5OCA5MCAyMjQgMTIyLjIgMjI0bDIxLjggMCAzMiAwIDIxLjggMGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjJjMC0zLjItMi42LTUuOC01LjgtNS44TDIwOCAxNjBjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43Yy0xMS43LTEzLjMtMjguOS0yMS43LTQ4LTIxLjd6bTQ4IDExNy43Yy0xMS43LTEzLjMtMjguOS0yMS43LTQ4LTIxLjdsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44QzY0IDI5NCA5MCAzMjAgMTIyLjIgMzIwbDIxLjggMCAzMiAwIDIxLjggMGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjJjMC0zLjItMi42LTUuOC01LjgtNS44TDIwOCAyNTZjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43ek0xMTIgMzUybC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOEM2NCAzOTAgOTAgNDE2IDEyMi4yIDQxNmwyMS44IDAgMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMzIgMjEuOCAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMmMwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDM1MmMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjdjLTExLjctMTMuMy0yOC45LTIxLjctNDgtMjEuN3pcIl1cbn07XG5jb25zdCBmYUVudmVsb3Blc0J1bGsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZW52ZWxvcGVzLWJ1bGsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcIm1haWwtYnVsa1wiXSwgXCJmNjc0XCIsIFwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmwwIDE5MiA5NiAwIDAtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjI0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxMjggMHpNMjU2IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMiA5NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4IDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMjAgMHptMjQwIDY0bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTY0IDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxM0wxODcuMSA0MTUuOWMxLjQgMSAzLjEgMS42IDQuOSAxLjZzMy41LS42IDQuOS0xLjZMMzUyIDMwMWwwLTEzYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDY0IDI1NnptMjg4IDg0LjhMMjE2IDQ0MS42Yy02LjkgNS4xLTE1LjMgNy45LTI0IDcuOXMtMTctMi44LTI0LTcuOUwzMiAzNDAuOCAzMiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMzkuMnpcIl1cbn07XG5jb25zdCBmYU1haWxCdWxrID0gZmFFbnZlbG9wZXNCdWxrO1xuY29uc3QgZmFGaWxlQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZWJcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjI0IDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAzOC42QzMxMC4xIDIxOS41IDI1NiAyODcuNCAyNTYgMzY4YzAgNTkuMSAyOS4xIDExMS4zIDczLjcgMTQzLjNjLTMuMiAuNS02LjQgLjctOS43IC43TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMzg0IDY0bC0xMjggMEwyNTYgMCAzODQgMTI4em00OCA5NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMC0xOTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVIID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1oJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTQwNSwgXCJob3NwaXRhbC1zeW1ib2xcIl0sIFwiZjQ3ZVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzY4IDE1MmwwIDEwNCAwIDEwNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgwLTEyOCAwIDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDgwIDEyOCAwIDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpcIl1cbn07XG5jb25zdCBmYUhvc3BpdGFsU3ltYm9sID0gZmFDaXJjbGVIO1xuY29uc3QgZmFQYWdlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWdlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyM10sIFwiZjgxNVwiLCBcIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em02NCAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNODAgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTU2IDB6bTEzNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFBZGRyZXNzQm9vayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhZGRyZXNzLWJvb2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjEzOCwgXCJjb250YWN0LWJvb2tcIl0sIFwiZjJiOVwiLCBcIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6TTIwOCAyODhsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZsLTE5MiAwYy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS0zMi05NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTUxMiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHpNNDk2IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnptMTYgMTQ0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0elwiXVxufTtcbmNvbnN0IGZhQ29udGFjdEJvb2sgPSBmYUFkZHJlc3NCb29rO1xuY29uc3QgZmFTdHJpa2V0aHJvdWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0cmlrZXRocm91Z2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwY2NcIiwgXCJNMTYxLjMgMTQ0YzMuMi0xNy4yIDE0LTMwLjEgMzMuNy0zOC42YzIxLjEtOSA1MS44LTEyLjMgODguNi02LjVjMTEuOSAxLjkgNDguOCA5LjEgNjAuMSAxMmMxNy4xIDQuNSAzNC42LTUuNiAzOS4yLTIyLjdzLTUuNi0zNC42LTIyLjctMzkuMmMtMTQuMy0zLjgtNTMuNi0xMS40LTY2LjYtMTMuNGMtNDQuNy03LTg4LjMtNC4yLTEyMy43IDEwLjljLTM2LjUgMTUuNi02NC40IDQ0LjgtNzEuOCA4Ny4zYy0uMSAuNi0uMiAxLjEtLjIgMS43Yy0yLjggMjMuOSAuNSA0NS42IDEwLjEgNjQuNmM0LjUgOSAxMC4yIDE2LjkgMTYuNyAyMy45TDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjA5LjkgMC0uNC0uMS0xLjEtLjNjLTM2LTEwLjgtNjUuMi0xOS42LTg1LjItMzMuMWMtOS4zLTYuMy0xNS0xMi42LTE4LjItMTkuMWMtMy4xLTYuMS01LjItMTQuNi0zLjgtMjcuNHpNMzQ4LjkgMzM3LjJjMi43IDYuNSA0LjQgMTUuOCAxLjkgMzAuMWMtMyAxNy42LTEzLjggMzAuOC0zMy45IDM5LjRjLTIxLjEgOS01MS43IDEyLjMtODguNSA2LjVjLTE4LTIuOS00OS4xLTEzLjUtNzQuNC0yMi4xYy01LjYtMS45LTExLTMuNy0xNS45LTUuNGMtMTYuOC01LjYtMzQuOSAzLjUtNDAuNSAyMC4zczMuNSAzNC45IDIwLjMgNDAuNWMzLjYgMS4yIDcuOSAyLjcgMTIuNyA0LjNjMCAwIDAgMCAwIDBzMCAwIDAgMGMyNC45IDguNSA2My42IDIxLjcgODcuNiAyNS42YzAgMCAwIDAgMCAwbC4yIDBjNDQuNyA3IDg4LjMgNC4yIDEyMy43LTEwLjljMzYuNS0xNS42IDY0LjQtNDQuOCA3MS44LTg3LjNjMy42LTIxIDIuNy00MC40LTMuMS01OC4xbC03NS43IDBjNyA1LjYgMTEuNCAxMS4yIDEzLjkgMTcuMnpcIl1cbn07XG5jb25zdCBmYUsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaycsXG4gIGljb246IFszMjAsIDUxMiwgWzEwN10sIFwiNGJcIiwgXCJNMzExIDg2LjNjMTIuMy0xMi43IDEyLTMyLjktLjctNDUuMnMtMzIuOS0xMi00NS4yIC43bC0xNTUuMiAxNjBMNjQgMjQ5IDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgMzI4IDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMDcgNjQuNy02Ni43IDEzMyAxOTJjMTAuMSAxNC41IDMwIDE4LjEgNDQuNSA4LjFzMTguMS0zMCA4LjEtNDQuNUwxNzQuMSAyMjcuNCAzMTEgODYuM3pcIl1cbn07XG5jb25zdCBmYUxhbmRtYXJrRmxhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5kbWFyay1mbGFnJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTFjXCIsIFwiTTI3MiAwbDgwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC04MCAwIDAgMzIgMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNDggMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE5MiAwIDAtMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwek02NCAyMjRsNjQgMCAwIDE5MiA0MCAwIDAtMTkyIDY0IDAgMCAxOTIgNDggMCAwLTE5MiA2NCAwIDAgMTkyIDQwIDAgMC0xOTIgNjQgMCAwIDE5Ni4zYy42IC4zIDEuMiAuNyAxLjggMS4xbDQ4IDMyYzExLjcgNy44IDE3IDIyLjQgMTIuOSAzNS45UzQ5NC4xIDUxMiA0ODAgNTEyTDMyIDUxMmMtMTQuMSAwLTI2LjUtOS4yLTMwLjYtMjIuN3MxLjEtMjguMSAxMi45LTM1LjlsNDgtMzJjLjYtLjQgMS4yLS43IDEuOC0xLjFMNjQgMjI0elwiXVxufTtcbmNvbnN0IGZhUGVuY2lsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlbmNpbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5OTksIDYxNTA0LCBcInBlbmNpbC1hbHRcIl0sIFwiZjMwM1wiLCBcIk00MTAuMyAyMzFsMTEuMy0xMS4zLTMzLjktMzMuOS02Mi4xLTYyLjFMMjkxLjcgODkuOGwtMTEuMyAxMS4zLTIyLjYgMjIuNkw1OC42IDMyMi45Yy0xMC40IDEwLjQtMTggMjMuMy0yMi4yIDM3LjRMMSA0ODAuN2MtMi41IDguNC0uMiAxNy41IDYuMSAyMy43czE1LjMgOC41IDIzLjcgNi4xbDEyMC4zLTM1LjRjMTQuMS00LjIgMjctMTEuOCAzNy40LTIyLjJMMzg3LjcgMjUzLjcgNDEwLjMgMjMxek0xNjAgMzk5LjRsLTkuMSAyMi43Yy00IDMuMS04LjUgNS40LTEzLjMgNi45TDU5LjQgNDUybDIzLTc4LjFjMS40LTQuOSAzLjgtOS40IDYuOS0xMy4zbDIyLjctOS4xIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6TTM2Mi43IDE4LjdMMzQ4LjMgMzMuMiAzMjUuNyA1NS44IDMxNC4zIDY3LjFsMzMuOSAzMy45IDYyLjEgNjIuMSAzMy45IDMzLjkgMTEuMy0xMS4zIDIyLjYtMjIuNiAxNC41LTE0LjVjMjUtMjUgMjUtNjUuNSAwLTkwLjVMNDUzLjMgMTguN2MtMjUtMjUtNjUuNS0yNS05MC41IDB6bS00Ny40IDE2OGwtMTQ0IDE0NGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwxNDQtMTQ0YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG5jb25zdCBmYVBlbmNpbEFsdCA9IGZhUGVuY2lsO1xuY29uc3QgZmFCYWNrd2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWNrd2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTRdLCBcImYwNGFcIiwgXCJNNDU5LjUgNDQwLjZjOS41IDcuOSAyMi44IDkuNyAzNC4xIDQuNHMxOC40LTE2LjYgMTguNC0yOWwwLTMyMGMwLTEyLjQtNy4yLTIzLjctMTguNC0yOXMtMjQuNS0zLjYtMzQuMSA0LjRMMjg4IDIxNC4zbDAgNDEuNyAwIDQxLjdMNDU5LjUgNDQwLjZ6TTI1NiAzNTJsMC05NiAwLTEyOCAwLTMyYzAtMTIuNC03LjItMjMuNy0xOC40LTI5cy0yNC41LTMuNi0zNC4xIDQuNGwtMTkyIDE2MEM0LjIgMjM3LjUgMCAyNDYuNSAwIDI1NnM0LjIgMTguNSAxMS41IDI0LjZsMTkyIDE2MGM5LjUgNy45IDIyLjggOS43IDM0LjEgNC40czE4LjQtMTYuNiAxOC40LTI5bDAtNjR6XCJdXG59O1xuY29uc3QgZmFDYXJldFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcmV0LXJpZ2h0JyxcbiAgaWNvbjogWzI1NiwgNTEyLCBbXSwgXCJmMGRhXCIsIFwiTTI0Ni42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXMtMTkuOCAxNi42LTE5LjggMjkuNmwwIDI1NmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDEyOC0xMjh6XCJdXG59O1xuY29uc3QgZmFDb21tZW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODQ5MCwgNjE2NzBdLCBcImYwODZcIiwgXCJNMjA4IDM1MmMxMTQuOSAwIDIwOC03OC44IDIwOC0xNzZTMzIyLjkgMCAyMDggMFMwIDc4LjggMCAxNzZjMCAzOC42IDE0LjcgNzQuMyAzOS42IDEwMy40Yy0zLjUgOS40LTguNyAxNy43LTE0LjIgMjQuN2MtNC44IDYuMi05LjcgMTEtMTMuMyAxNC4zYy0xLjggMS42LTMuMyAyLjktNC4zIDMuN2MtLjUgLjQtLjkgLjctMS4xIC44bC0uMiAuMnMwIDAgMCAwczAgMCAwIDBDMSAzMjcuMi0xLjQgMzM0LjQgLjggMzQwLjlTOS4xIDM1MiAxNiAzNTJjMjEuOCAwIDQzLjgtNS42IDYyLjEtMTIuNWM5LjItMy41IDE3LjgtNy40IDI1LjItMTEuNEMxMzQuMSAzNDMuMyAxNjkuOCAzNTIgMjA4IDM1MnpNNDQ4IDE3NmMwIDExMi4zLTk5LjEgMTk2LjktMjE2LjUgMjA3QzI1NS44IDQ1Ny40IDMzNi40IDUxMiA0MzIgNTEyYzM4LjIgMCA3My45LTguNyAxMDQuNy0yMy45YzcuNSA0IDE2IDcuOSAyNS4yIDExLjRjMTguMyA2LjkgNDAuMyAxMi41IDYyLjEgMTIuNWM2LjkgMCAxMy4xLTQuNSAxNS4yLTExLjFjMi4xLTYuNi0uMi0xMy44LTUuOC0xNy45YzAgMCAwIDAgMCAwczAgMCAwIDBsLS4yLS4yYy0uMi0uMi0uNi0uNC0xLjEtLjhjLTEtLjgtMi41LTItNC4zLTMuN2MtMy42LTMuMy04LjUtOC4xLTEzLjMtMTQuM2MtNS41LTctMTAuNy0xNS40LTE0LjItMjQuN2MyNC45LTI5IDM5LjYtNjQuNyAzOS42LTEwMy40YzAtOTIuOC04NC45LTE2OC45LTE5Mi42LTE3NS41Yy40IDUuMSAuNiAxMC4zIC42IDE1LjV6XCJdXG59O1xuY29uc3QgZmFQYXN0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYXN0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZmlsZS1jbGlwYm9hcmRcIl0sIFwiZjBlYVwiLCBcIk0xNjAgMGMtMjMuNyAwLTQ0LjQgMTIuOS01NS40IDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MDBjMCAyNi41IDIxLjUgNDggNDggNDhsMTQ0IDAgMC0yNzJjMC00NC4yIDM1LjgtODAgODAtODBsNDggMCAwLTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC01Ni42IDBDMjA0LjQgMTIuOSAxODMuNyAwIDE2MCAwek0yNzIgMTI4Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDI3MiAwIDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjIwLjFjMC0xMi43LTUuMS0yNC45LTE0LjEtMzMuOWwtNjcuOS02Ny45Yy05LTktMjEuMi0xNC4xLTMzLjktMTQuMUwzMjAgMTI4bC00OCAwek0xNjAgNDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhRmlsZUNsaXBib2FyZCA9IGZhUGFzdGU7XG5jb25zdCBmYUNvZGVQdWxsUmVxdWVzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLXB1bGwtcmVxdWVzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTEzY1wiLCBcIk0zMDUuOCAyLjFDMzE0LjQgNS45IDMyMCAxNC41IDMyMCAyNGwwIDQwIDE2IDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAxNjYuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zYzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNMNDAwIDE5MmMwLTM1LjMtMjguNy02NC02NC02NGwtMTYgMCAwIDQwYzAgOS41LTUuNiAxOC4xLTE0LjIgMjEuOXMtMTguOCAyLjMtMjUuOC00LjFsLTgwLTcyYy01LjEtNC42LTcuOS0xMS03LjktMTcuOHMyLjktMTMuMyA3LjktMTcuOGw4MC03MmM3LTYuMyAxNy4yLTcuOSAyNS44LTQuMXpNMTA0IDgwQTI0IDI0IDAgMSAwIDU2IDgwYTI0IDI0IDAgMSAwIDQ4IDB6bTggNzMuM2wwIDIwNS4zYzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjNjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM2wwLTIwNS4zQzE5LjcgMTQxIDAgMTEyLjggMCA4MEMwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zek0xMDQgNDMyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTMyOCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFDbGlwYm9hcmRMaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC1saXN0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDZkXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTM3LjUgMEMyNjkuNCAyNi43IDIzMy44IDAgMTkyIDB6bTAgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek03MiAyNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTA0LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNNzIgMzY4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTg4IDBjMC04LjggNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbmNvbnN0IGZhVHJ1Y2tSYW1wQm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLXJhbXAtYm94JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ0cnVjay1sb2FkaW5nXCJdLCBcImY0ZGVcIiwgXCJNNjQwIDBsMCA0MDBjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJjLTYxIDAtMTEwLjUtNDguNy0xMTItMTA5LjNMNDguNCA1MDIuOWMtMTcuMSA0LjYtMzQuNi01LjQtMzkuMy0yMi41czUuNC0zNC42IDIyLjUtMzkuM0wzNTIgMzUzLjggMzUyIDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDY0MCAwek01NzYgNDAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTIzLjEgMjA3LjdjLTQuNi0xNy4xIDUuNi0zNC42IDIyLjYtMzkuMmw0Ni40LTEyLjQgMjAuNyA3Ny4zYzIuMyA4LjUgMTEuMSAxMy42IDE5LjYgMTEuM2wzMC45LTguM2M4LjUtMi4zIDEzLjYtMTEuMSAxMS4zLTE5LjZsLTIwLjctNzcuMyA0Ni40LTEyLjRjMTcuMS00LjYgMzQuNiA1LjYgMzkuMiAyMi42bDQxLjQgMTU0LjVjNC42IDE3LjEtNS42IDM0LjYtMjIuNiAzOS4yTDEwMy43IDM4NC45Yy0xNy4xIDQuNi0zNC42LTUuNi0zOS4yLTIyLjZMMjMuMSAyMDcuN3pcIl1cbn07XG5jb25zdCBmYVRydWNrTG9hZGluZyA9IGZhVHJ1Y2tSYW1wQm94O1xuY29uc3QgZmFVc2VyQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRmY1wiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGw5MS40IDBDMzY4LjIgMzA0IDQ0OCAzODMuOCA0NDggNDgyLjNjMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMMjkuNyA1MTJDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek02MjUgMTc3TDQ5NyAzMDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQ3IDQ3TDU5MSAxNDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45elwiXVxufTtcbmNvbnN0IGZhVmlhbFZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpYWwtdmlydXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1OTdcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDAgMjg4YzAgNTMgNDMgOTYgOTYgOTZjMjguNiAwIDU0LjItMTIuNSA3MS44LTMyLjNjLjEtMTQuMiA1LjYtMjguMyAxNi40LTM5LjFjLjItLjIgLjEtLjYtLjItLjZjLTMwLjkgMC01Ni0yNS4xLTU2LTU2czI1LjEtNTYgNTYtNTZjLjMgMCAuNC0uNCAuMi0uNmMtMjEuOS0yMS45LTIxLjktNTcuMyAwLTc5LjJjMi40LTIuNCA1LTQuNiA3LjgtNi41TDIyNCA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMEw5NiAzMiAzMiAzMnpNOTYgMTkybDAtOTYgNjQgMCAwIDk2LTY0IDB6TTIxNiAzNzZjMjguOCAwIDQzLjIgMzQuOCAyMi45IDU1LjJjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGMyMC40LTIwLjQgNTUuMi01LjkgNTUuMiAyMi45YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0yOC44IDM0LjgtNDMuMiA1NS4yLTIyLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45QzQ0NC44IDQxMC44IDQ1OS4yIDM3NiA0ODggMzc2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy0yOC44IDAtNDMuMi0zNC44LTIyLjktNTUuMmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwQzQxMC44IDI1OS4yIDM3NiAyNDQuOCAzNzYgMjE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMjguOC0zNC44IDQzLjItNTUuMiAyMi45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45YzIwLjQgMjAuNCA1LjkgNTUuMi0yMi45IDU1LjJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6bTEwNC04OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTQwIDk2YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFTaGVldFBsYXN0aWMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hlZXQtcGxhc3RpYycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTU3MVwiLCBcIk0wIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMCAwLTI4OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OHpNMTcxLjMgNzUuM2wtOTYgOTZjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsOTYtOTZjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42em05NiAzMmwtMTYwIDE2MGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwxNjAtMTYwYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpNMzg0IDM4NGwtMTI4IDAgMCAxMjhMMzg0IDM4NHpcIl1cbn07XG5jb25zdCBmYUJsb2cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmxvZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc4MVwiLCBcIk0xOTIgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyQzUxMiAxMjguOSAzODMuMSAwIDIyNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtMTA2LTg2LTE5Mi0xOTItMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNOTYgMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4UzAgMTE3LjUgMCAxNDRMMCAzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NHMtNjQuNS0xNDQtMTQ0LTE0NGwtMTYgMCAwIDk2IDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0yMjR6XCJdXG59O1xuY29uc3QgZmFVc2VyTmluamEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1uaW5qYScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTM5OV0sIFwiZjUwNFwiLCBcIk0yMjQgMjU2Yy01Ny4yIDAtMTA1LjYtMzcuNS0xMjItODkuM2MtMS4xIDEuMy0yLjIgMi42LTMuNSAzLjhjLTE1LjggMTUuOC0zOC44IDIwLjctNTMuNiAyMi4xYy04LjEgLjgtMTQuNi01LjctMTMuOC0xMy44YzEuNC0xNC43IDYuMy0zNy44IDIyLjEtNTMuNmM1LjgtNS44IDEyLjYtMTAuMSAxOS42LTEzLjRjLTctMy4yLTEzLjgtNy42LTE5LjYtMTMuNEMzNy40IDgyLjcgMzIuNiA1OS43IDMxLjEgNDQuOWMtLjgtOC4xIDUuNy0xNC42IDEzLjgtMTMuOGMxNC43IDEuNCAzNy44IDYuMyA1My42IDIyLjFjNC44IDQuOCA4LjcgMTAuNCAxMS43IDE2LjFDMTMxLjQgMjguMiAxNzQuNCAwIDIyNCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4cy01Ny4zIDEyOC0xMjggMTI4ek0wIDQ4Mi4zQzAgMzk5LjUgNTYuNCAzMzAgMTMyLjggMzA5LjljNi0xLjYgMTIuMiAuOSAxNS45IDUuOGw2Mi41IDgzLjNjNi40IDguNSAxOS4yIDguNSAyNS42IDBsNjIuNS04My4zYzMuNy00LjkgOS45LTcuNCAxNS45LTUuOEMzOTEuNiAzMzAgNDQ4IDM5OS41IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0wyOS43IDUxMkMxMy4zIDUxMiAwIDQ5OC43IDAgNDgyLjN6TTE2MCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkwxNjAgOTZ6XCJdXG59O1xuY29uc3QgZmFQZXJzb25BcnJvd1VwRnJvbUxpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWFycm93LXVwLWZyb20tbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzOVwiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzNTJsMC05NiAxNiAwIDAgOTYtMTYgMHptLTY0IDBsLTg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTIwIDAgODAgMCAzNzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzQ0IDAgMC0xOTEuMSAyOC42IDQ3LjVjOS4xIDE1LjEgMjguOCAyMCA0My45IDEwLjlzMjAtMjguOCAxMC45LTQzLjlsLTU4LjMtOTdjLTE3LjQtMjguOS00OC42LTQ2LjYtODIuMy00Ni42bC0yOS43IDBjLTMzLjcgMC02NC45IDE3LjctODIuMyA0Ni42bC01OC4zIDk3Yy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45TDEyMCAyNTYuOSAxMjAgNDQ4ek01OTguNiAxMjEuNGwtODAtODBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw0NjQgMTQxLjMgNDY0IDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQyLjcgMjUuNCAyNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xuY29uc3QgZmFTY3JvbGxUb3JhaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY3JvbGwtdG9yYWgnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInRvcmFoXCJdLCBcImY2YTBcIiwgXCJNOTYgNDgwTDk2IDMyQzk2IDE0LjMgNzQuNSAwIDQ4IDBTMCAxNC4zIDAgMzJMMCA0ODBjMCAxNy43IDIxLjUgMzIgNDggMzJzNDgtMTQuMyA0OC0zMnpNNTEyIDMyTDEyOCAzMmwwIDQ0OCAzODQgMCAwLTQ0OHpNNTkyIDBjLTI2LjUgMC00OCAxNC4zLTQ4IDMybDAgNDQ4YzAgMTcuNyAyMS41IDMyIDQ4IDMyczQ4LTE0LjMgNDgtMzJsMC00NDhjMC0xNy43LTIxLjUtMzItNDgtMzJ6TTE5NiAzMTMuN2MwLTMuMiAuOS02LjQgMi41LTkuMkwyMjYuNyAyNTZsLTI4LjMtNDguNWMtMS42LTIuOC0yLjUtNi0yLjUtOS4yYzAtMTAuMSA4LjItMTguMyAxOC4zLTE4LjNsNTYuNyAwIDMxLjQtNTMuOWMzLjYtNi4zIDEwLjMtMTAuMSAxNy42LTEwLjFzMTMuOSAzLjggMTcuNiAxMC4xTDM2OSAxODBsNTYuNyAwYzEwLjEgMCAxOC4zIDguMiAxOC4zIDE4LjNjMCAzLjItLjkgNi40LTIuNSA5LjJMNDEzLjMgMjU2bDI4LjMgNDguNWMxLjYgMi44IDIuNSA2IDIuNSA5LjJjMCAxMC4xLTguMiAxOC4zLTE4LjMgMTguM0wzNjkgMzMybC0zMS40IDUzLjljLTMuNiA2LjMtMTAuMyAxMC4xLTE3LjYgMTAuMXMtMTMuOS0zLjgtMTcuNi0xMC4xTDI3MSAzMzJsLTU2LjcgMGMtMTAuMSAwLTE4LjMtOC4yLTE4LjMtMTguM3ptMTI0IDU0LjdMMzQxLjIgMzMybC00Mi40IDBMMzIwIDM2OC40ek0yNTQuNSAyNTZsMzAuMyA1MiA3MC40IDAgMzAuMy01Mi0zMC4zLTUyLTcwLjQgMC0zMC4zIDUyem0xNDQuOSAyMy44TDM4MyAzMDhsMzIuOCAwLTE2LjQtMjguMnpNNDE1LjggMjA0TDM4MyAyMDRsMTYuNCAyOC4yTDQxNS44IDIwNHpNMzIwIDE0My42TDI5OC44IDE4MGw0Mi40IDBMMzIwIDE0My42ek0yMjQuMiAyMDRsMTYuNCAyOC4yTDI1NyAyMDRsLTMyLjggMHpNMjU3IDMwOGwtMTYuNC0yOC4yTDIyNC4yIDMwOGwzMi44IDB6XCJdXG59O1xuY29uc3QgZmFUb3JhaCA9IGZhU2Nyb2xsVG9yYWg7XG5jb25zdCBmYUJyb29tQmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicm9vbS1iYWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJxdWlkZGl0Y2hcIiwgXCJxdWlkZGl0Y2gtYnJvb20tYmFsbFwiXSwgXCJmNDU4XCIsIFwiTTU2Ni42IDkuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MiAzNC43IDM0LjdjNC4yIDQuMiA2LjYgMTAgNi42IDE2YzAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42bC0yOS4xIDBMMjU2IDIxMS43bDAtMjkuMWMwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmM2IDAgMTEuOCAyLjQgMTYgNi42bDM0LjcgMzQuNyAxOTItMTkyYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwem0tMzQ0IDIyNS41TDM0MS4xIDM1My40YzMuNyA0Mi43LTExLjcgODUuMi00Mi4zIDExNS44QzI3MS40IDQ5Ni42IDIzNC4yIDUxMiAxOTUuNSA1MTJMMjIuMSA1MTJDOS45IDUxMiAwIDUwMi4xIDAgNDg5LjljMC02LjMgMi43LTEyLjMgNy4zLTE2LjVMMTMzLjcgMzU5LjdjNC4yLTMuNy0uNC0xMC40LTUuNC03LjlMNzcuMiAzNzcuNGMtNi4xIDMtMTMuMi0xLjQtMTMuMi04LjJjMC0zMS41IDEyLjUtNjEuNyAzNC44LTg0bDgtOGMzMC42LTMwLjYgNzMuMS00NS45IDExNS44LTQyLjN6TTQ2NCAzNTJhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xuY29uc3QgZmFRdWlkZGl0Y2ggPSBmYUJyb29tQmFsbDtcbmNvbnN0IGZhUXVpZGRpdGNoQnJvb21CYWxsID0gZmFCcm9vbUJhbGw7XG5jb25zdCBmYVRvZ2dsZU9mZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b2dnbGUtb2ZmJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjA0XCIsIFwiTTM4NCAxMjhjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhzLTU3LjMgMTI4LTEyOCAxMjhsLTE5MiAwYy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4bDE5MiAwek01NzYgMjU2YzAtMTA2LTg2LTE5Mi0xOTItMTkyTDE5MiA2NEM4NiA2NCAwIDE1MCAwIDI1NlM4NiA0NDggMTkyIDQ0OGwxOTIgMGMxMDYgMCAxOTItODYgMTkyLTE5MnpNMTkyIDM1MmE5NiA5NiAwIDEgMCAwLTE5MiA5NiA5NiAwIDEgMCAwIDE5MnpcIl1cbn07XG5jb25zdCBmYUJveEFyY2hpdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94LWFyY2hpdmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFyY2hpdmVcIl0sIFwiZjE4N1wiLCBcIk0zMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptMCAxMjhsNDQ4IDAgMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTI1NnptMTI4IDgwYzAgOC44IDcuMiAxNiAxNiAxNmwxNjAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYUFyY2hpdmUgPSBmYUJveEFyY2hpdmU7XG5jb25zdCBmYVBlcnNvbkRyb3duaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1kcm93bmluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0NVwiLCBcIk0xOTIgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMi4yYzAgNTQuMSAyMy41IDEwNCA2Mi4yIDEzOC4zbC0yMSAxNDYuN2M3LjggMi4xIDE1LjUgMy4zIDIyLjggMy4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzEyLjQgOC41IDI2LjEgMTQuOCAzOS43IDE4bDE3LjctOTcuNmMxMC43LTEuMiAyMS4zLTMuMSAzMS45LTUuNWwxMDUtMjMuOWMxNy4yLTMuOSAyOC0yMS4xIDI0LjEtMzguM3MtMjEuMS0yOC0zOC4zLTI0LjFMNDAwIDIxNi42Yy00MSA5LjMtODMuNyA3LjUtMTIzLjctNS4yYy01MC4yLTE2LTg0LjMtNjIuNi04NC4zLTExNS4zTDE5MiA2NHpNMzIwIDE5MmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNMzA2LjUgMzg5LjljLTExLjEtNy45LTI1LjktNy45LTM3IDBDMjQ3IDQwNS40IDIxOS41IDQxNiAxOTIgNDE2Yy0yNi45IDAtNTUuMy0xMC44LTc3LjQtMjYuMWMwIDAgMCAwIDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSA0NjkuNyAxNTkgNDgwIDE5MiA0ODBjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNC0yNy4zLTEwLjEtMzkuMi0xLjdjMCAwIDAgMCAwIDBDNDM5LjQgNDA1LjIgNDEwLjkgNDE2IDM4NCA0MTZjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMXpcIl1cbn07XG5jb25zdCBmYUFycm93RG93bjkxID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tOS0xJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtZGVzY1wiLCBcInNvcnQtbnVtZXJpYy1kb3duLWFsdFwiXSwgXCJmODg2XCIsIFwiTTE2MCA0ODBjOSAwIDE3LjUtMy44IDIzLjYtMTAuNGw4OC05NmMxMS45LTEzIDExLjEtMzMuMy0yLTQ1LjJzLTMzLjMtMTEuMS00NS4yIDJMMTkyIDM2NS43IDE5MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMwMS43TDk1LjYgMzMwLjRjLTExLjktMTMtMzIuMi0xMy45LTQ1LjItMnMtMTMuOSAzMi4yLTIgNDUuMmw4OCA5NkMxNDIuNSA0NzYuMiAxNTEgNDgwIDE2MCA0ODB6TTQ1MC43IDI5NGMtOC4zLTYtMTkuMS03LjctMjguOC00LjRsLTQ4IDE2Yy0xNi44IDUuNi0yNS44IDIzLjctMjAuMiA0MC41czIzLjcgMjUuOCA0MC41IDIwLjJsNS45LTIgMCA1MS42LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNDggMCA0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6TTQxOC4zIDkxYTMyIDMyIDAgMSAxIDI3LjQgNTcuOUEzMiAzMiAwIDEgMSA0MTguMyA5MXpNNDA1LjEgMjAzLjhsLTYuOCA5LjJjLTEwLjUgMTQuMi03LjUgMzQuMiA2LjcgNDQuOHMzNC4yIDcuNSA0NC44LTYuN2w0OC44LTY1LjhjMTQtMTguOSAyMS41LTQxLjcgMjEuNS02NS4yYzAtNDguNi0zOS40LTg4LTg4LTg4cy04OCAzOS40LTg4IDg4YzAgMzkuMiAyNS42IDcyLjQgNjEuMSA4My44elwiXVxufTtcbmNvbnN0IGZhU29ydE51bWVyaWNEZXNjID0gZmFBcnJvd0Rvd245MTtcbmNvbnN0IGZhU29ydE51bWVyaWNEb3duQWx0ID0gZmFBcnJvd0Rvd245MTtcbmNvbnN0IGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NDEsIFwiZ3Jpbi10b25ndWUtc3F1aW50XCJdLCBcImY1OGFcIiwgXCJNMCAyNTZDMCAzNjguOSA3My4xIDQ2NC43IDE3NC41IDQ5OC44QzE2NS4zIDQ4NCAxNjAgNDY2LjYgMTYwIDQ0OGwwLTQ3LjNjLTI0LTE3LjUtNDMuMS00MS40LTU0LjgtNjkuMmMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTljMTIuMy0zLjggMjQuMyA2LjkgMTkuMyAxOC43Yy0xMS44IDI4LTMxLjEgNTItNTUuNCA2OS42bDAgNDYuOWMwIDE4LjYtNS4zIDM2LTE0LjUgNTAuOEM0MzguOSA0NjQuNyA1MTIgMzY4LjkgNTEyIDI1NkM1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2ek0xMTYgMTQxLjFjMC05IDkuNi0xNC43IDE3LjUtMTAuNWw4OS45IDQ3LjljMTAuNyA1LjcgMTAuNyAyMS4xIDAgMjYuOGwtODkuOSA0Ny45Yy03LjkgNC4yLTE3LjUtMS41LTE3LjUtMTAuNWMwLTIuOCAxLTUuNSAyLjgtNy42bDM2LTQzLjItMzYtNDMuMmMtMS44LTIuMS0yLjgtNC44LTIuOC03LjZ6bTI2Mi41LTEwLjVjNy45LTQuMiAxNy41IDEuNSAxNy41IDEwLjVjMCAyLjgtMSA1LjUtMi44IDcuNmwtMzYgNDMuMiAzNiA0My4yYzEuOCAyLjEgMi44IDQuOCAyLjggNy42YzAgOS05LjYgMTQuNy0xNy41IDEwLjVsLTg5LjktNDcuOWMtMTAuNy01LjctMTAuNy0yMS4xIDAtMjYuOGw4OS45LTQ3Ljl6TTMyMCA0NDhsMC00NS40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjljLTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDBjLTIuNS0xMS4xLTEyLjMtMTguOS0yMy42LTE4LjlsLTIgMGMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZsMCA0NS40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6XCJdXG59O1xuY29uc3QgZmFHcmluVG9uZ3VlU3F1aW50ID0gZmFGYWNlR3JpblRvbmd1ZVNxdWludDtcbmNvbnN0IGZhU3ByYXlDYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3ByYXktY2FuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWJkXCIsIFwiTTEyOCAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5Nkw5NiAxMjhsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAyNTZjMC01MyA0My05NiA5Ni05NmwxMjggMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjA4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAyNTZ6bTI0MCA4MEE4MCA4MCAwIDEgMCA4MCAzMzZhODAgODAgMCAxIDAgMTYwIDB6TTI1NiA2NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zODQgMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTQ0OCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMzg0IDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFUcnVja01vbnN0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stbW9uc3RlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjYzYlwiLCBcIk0yODggNjRsMCA2NCAxMjggMEwzNjggNjRsLTgwIDB6TTQxOS4yIDI1LjZMNDk2IDEyOGw4MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTI5LjItMzguOS03NS43LTY0LTEyOC02NHMtOTguOCAyNS4xLTEyOCA2NGwtNjQgMGMtMjkuMi0zOC45LTc1LjctNjQtMTI4LTY0cy05OC44IDI1LjEtMTI4IDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZ6TTE1MiAyNTZsMTYgMGMxMi4xIDAgMjIuMSA4LjkgMjMuOCAyMC42YzcuNiAyLjIgMTQuOSA1LjMgMjEuNyA5YzkuNC03IDIyLjgtNi4zIDMxLjMgMi4zbDExLjMgMTEuM2M4LjYgOC42IDkuMyAyMS45IDIuMyAzMS4zYzMuNyA2LjggNi44IDE0LjEgOSAyMS43YzExLjYgMS43IDIwLjYgMTEuNyAyMC42IDIzLjhsMCAxNmMwIDEyLjEtOC45IDIyLjEtMjAuNiAyMy44Yy0yLjIgNy42LTUuMyAxNC45LTkgMjEuN2M3IDkuNCA2LjMgMjIuOC0yLjMgMzEuM2wtMTEuMyAxMS4zYy04LjYgOC42LTIxLjkgOS4zLTMxLjMgMi4yYy02LjggMy43LTE0LjEgNi44LTIxLjcgOUMxOTAuMSA1MDMuMSAxODAuMSA1MTIgMTY4IDUxMmwtMTYgMGMtMTIuMSAwLTIyLjEtOC45LTIzLjgtMjAuNmMtNy42LTIuMi0xNC45LTUuMy0yMS43LTljLTkuNCA3LjEtMjIuOCA2LjMtMzEuMy0yLjJMNjMuOCA0NjguOWMtOC42LTguNi05LjMtMjEuOS0yLjMtMzEuM2MtMy43LTYuOS02LjgtMTQuMS05LTIxLjhDNDAuOSA0MTQuMSAzMiA0MDQuMSAzMiAzOTJsMC0xNmMwLTEyLjEgOC45LTIyLjEgMjAuNi0yMy44YzIuMi03LjYgNS4zLTE0LjkgOS0yMS44Yy03LTkuNC02LjMtMjIuOCAyLjMtMzEuM2wxMS4zLTExLjNjOC42LTguNiAyMS45LTkuMyAzMS4zLTIuM2M2LjgtMy43IDE0LjEtNi44IDIxLjctOWMxLjctMTEuNiAxMS43LTIwLjYgMjMuOC0yMC42em04IDE3NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTQ0OC4yIDI3Ni42YzEuNy0xMS42IDExLjctMjAuNiAyMy44LTIwLjZsMTYgMGMxMi4xIDAgMjIuMSA4LjkgMjMuOCAyMC42YzcuNiAyLjIgMTQuOSA1LjMgMjEuOCA5YzkuNC03IDIyLjgtNi4zIDMxLjMgMi4zbDExLjMgMTEuM2M4LjYgOC42IDkuMyAyMS45IDIuMiAzMS4zYzMuNyA2LjggNi44IDE0LjEgOSAyMS43YzExLjYgMS43IDIwLjYgMTEuNyAyMC42IDIzLjhsMCAxNmMwIDEyLjEtOC45IDIyLjEtMjAuNiAyMy44Yy0yLjIgNy42LTUuMyAxNC45LTkgMjEuN2M3IDkuNCA2LjMgMjIuOC0yLjIgMzEuM2wtMTEuMyAxMS4zYy04LjYgOC42LTIxLjkgOS4zLTMxLjMgMi4yYy02LjkgMy43LTE0LjEgNi44LTIxLjggOUM1MTAuMSA1MDMuMSA1MDAuMSA1MTIgNDg4IDUxMmwtMTYgMGMtMTIuMSAwLTIyLjEtOC45LTIzLjgtMjAuNmMtNy42LTIuMi0xNC45LTUuMy0yMS43LTljLTkuNCA3LjEtMjIuOCA2LjMtMzEuMy0yLjJsLTExLjMtMTEuM2MtOC42LTguNi05LjMtMjEuOS0yLjItMzEuM2MtMy43LTYuOS02LjgtMTQuMS05LTIxLjhDMzYwLjkgNDE0LjEgMzUyIDQwNC4xIDM1MiAzOTJsMC0xNmMwLTEyLjEgOC45LTIyLjEgMjAuNi0yMy44YzIuMi03LjYgNS4zLTE0LjkgOS0yMS44Yy03LTkuNC02LjMtMjIuOCAyLjItMzEuM2wxMS4zLTExLjNjOC42LTguNiAyMS45LTkuMyAzMS4zLTIuM2M2LjgtMy43IDE0LjEtNi44IDIxLjctOXpNNTI4IDM4NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwelwiXVxufTtcbmNvbnN0IGZhVyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTE5XSwgXCI1N1wiLCBcIk0yMC44IDM0YzE2LjUtNi4yIDM1IDIuMiA0MS4yIDE4LjdsMTEwLjIgMjk0TDI1Ny4zIDU1YzQtMTMuNyAxNi41LTIzIDMwLjctMjNzMjYuNyA5LjQgMzAuNyAyM2w4NS4xIDI5MS43TDUxNCA1Mi44YzYuMi0xNi41IDI0LjYtMjQuOSA0MS4yLTE4LjdzMjQuOSAyNC43IDE4LjcgNDEuMmwtMTQ0IDM4NGMtNC44IDEyLjktMTcuNCAyMS4zLTMxLjIgMjAuN3MtMjUuNy05LjgtMjkuNS0yM0wyODggMTc4LjMgMjA2LjcgNDU3Yy0zLjkgMTMuMi0xNS44IDIyLjUtMjkuNSAyM3MtMjYuMy03LjgtMzEuMi0yMC43TDIgNzUuMkMtNC4yIDU4LjcgNC4yIDQwLjIgMjAuOCAzNHpcIl1cbn07XG5jb25zdCBmYUVhcnRoQWZyaWNhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWFmcmljYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1NywgXCJnbG9iZS1hZnJpY2FcIl0sIFwiZjU3Y1wiLCBcIk0xNzcuOCA2My4ybDEwIDE3LjRjMi44IDQuOCA0LjIgMTAuMyA0LjIgMTUuOWwwIDQxLjRjMCAzLjkgMS42IDcuNyA0LjMgMTAuNGM2LjIgNi4yIDE2LjUgNS43IDIyLTEuMmwxMy42LTE3YzQuNy01LjkgMTIuOS03LjcgMTkuNi00LjNsMTUuMiA3LjZjMy40IDEuNyA3LjIgMi42IDExIDIuNmM2LjUgMCAxMi44LTIuNiAxNy40LTcuMmwzLjktMy45YzIuOS0yLjkgNy4zLTMuNiAxMS0xLjhsMjkuMiAxNC42YzcuOCAzLjkgMTIuNiAxMS44IDEyLjYgMjAuNWMwIDEwLjUtNy4xIDE5LjYtMTcuMyAyMi4ybC0zNS40IDguOGMtNy40IDEuOC0xNS4xIDEuNS0yMi40LS45bC0zMi0xMC43Yy0zLjMtMS4xLTYuNy0xLjctMTAuMi0xLjdjLTcgMC0xMy44IDIuMy0xOS40IDYuNUwxNzYgMjEyYy0xMC4xIDcuNi0xNiAxOS40LTE2IDMybDAgMjhjMCAyNi41IDIxLjUgNDggNDggNDhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmMxMC4xIDAgMTkuNi00LjcgMjUuNi0xMi44bDI1LjYtMzQuMWM4LjMtMTEuMSAxMi44LTI0LjYgMTIuOC0zOC40bDAtMTIuMWMwLTMuOSAyLjYtNy4zIDYuNC04LjJsNS4zLTEuM2MxMS45LTMgMjAuMy0xMy43IDIwLjMtMjZjMC03LjEtMi44LTEzLjktNy44LTE4LjlsLTMzLjUtMzMuNWMtMy43LTMuNy0zLjctOS43IDAtMTMuNGM1LjctNS43IDE0LjEtNy43IDIxLjgtNS4xbDE0LjEgNC43YzEyLjMgNC4xIDI1LjctMS41IDMxLjUtMTNjMy41LTcgMTEuMi0xMC44IDE4LjktOS4ybDI3LjQgNS41QzQzMiAxMTIuNCAzNTEuNSA0OCAyNTYgNDhjLTI3LjcgMC01NCA1LjQtNzguMiAxNS4yek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6XCJdXG59O1xuY29uc3QgZmFHbG9iZUFmcmljYSA9IGZhRWFydGhBZnJpY2E7XG5jb25zdCBmYVJhaW5ib3cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmFpbmJvdycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzc1Ml0sIFwiZjc1YlwiLCBcIk0zMjAgOTZDMTc4LjYgOTYgNjQgMjEwLjYgNjQgMzUybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NkMwIDE3NS4zIDE0My4zIDMyIDMyMCAzMnMzMjAgMTQzLjMgMzIwIDMyMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZDNTc2IDIxMC42IDQ2MS40IDk2IDMyMCA5NnptMCAxOTJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOHMxMjggNTcuMyAxMjggMTI4bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTM1LjMtMjguNy02NC02NC02NHpNMTYwIDM1MmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC0xMjMuNyAxMDAuMy0yMjQgMjI0LTIyNHMyMjQgMTAwLjMgMjI0IDIyNGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC04OC40LTcxLjYtMTYwLTE2MC0xNjBzLTE2MCA3MS42LTE2MCAxNjB6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVOb3RjaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbm90Y2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxY2VcIiwgXCJNMjIyLjcgMzIuMWM1IDE2LjktNC42IDM0LjgtMjEuNSAzOS44QzEyMS44IDk1LjYgNjQgMTY5LjEgNjQgMjU2YzAgMTA2IDg2IDE5MiAxOTIgMTkyczE5Mi04NiAxOTItMTkyYzAtODYuOS01Ny44LTE2MC40LTEzNy4xLTE4NC4xYy0xNi45LTUtMjYuNi0yMi45LTIxLjUtMzkuOHMyMi45LTI2LjYgMzkuOC0yMS41QzQzNC45IDQyLjEgNTEyIDE0MCA1MTIgMjU2YzAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTZTMCAzOTcuNCAwIDI1NkMwIDE0MCA3Ny4xIDQyLjEgMTgyLjkgMTAuNmMxNi45LTUgMzQuOCA0LjYgMzkuOCAyMS41elwiXVxufTtcbmNvbnN0IGZhVGFibGV0U2NyZWVuQnV0dG9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldC1zY3JlZW4tYnV0dG9uJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0YWJsZXQtYWx0XCJdLCBcImYzZmFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0yNTYgNDQ4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCA2NEw2NCA2NGwwIDMyMCAzMjAgMCAwLTMyMHpcIl1cbn07XG5jb25zdCBmYVRhYmxldEFsdCA9IGZhVGFibGV0U2NyZWVuQnV0dG9uO1xuY29uc3QgZmFQYXcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGF3JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMWIwXCIsIFwiTTIyNi41IDkyLjljMTQuMyA0Mi45LS4zIDg2LjItMzIuNiA5Ni44cy03MC4xLTE1LjYtODQuNC01OC41cy4zLTg2LjIgMzIuNi05Ni44czcwLjEgMTUuNiA4NC40IDU4LjV6TTEwMC40IDE5OC42YzE4LjkgMzIuNCAxNC4zIDcwLjEtMTAuMiA4NC4xcy01OS43LS45LTc4LjUtMzMuM1MtMi43IDE3OS4zIDIxLjggMTY1LjNzNTkuNyAuOSA3OC41IDMzLjN6TTY5LjIgNDAxLjJDMTIxLjYgMjU5LjkgMjE0LjcgMjI0IDI1NiAyMjRzMTM0LjQgMzUuOSAxODYuOCAxNzcuMmMzLjYgOS43IDUuMiAyMC4xIDUuMiAzMC41bDAgMS42YzAgMjUuOC0yMC45IDQ2LjctNDYuNyA0Ni43Yy0xMS41IDAtMjIuOS0xLjQtMzQtNC4ybC04OC0yMmMtMTUuMy0zLjgtMzEuMy0zLjgtNDYuNiAwbC04OCAyMmMtMTEuMSAyLjgtMjIuNSA0LjItMzQgNC4yQzg0LjkgNDgwIDY0IDQ1OS4xIDY0IDQzMy4zbDAtMS42YzAtMTAuNCAxLjYtMjAuOCA1LjItMzAuNXpNNDIxLjggMjgyLjdjLTI0LjUtMTQtMjkuMS01MS43LTEwLjItODQuMXM1NC00Ny4zIDc4LjUtMzMuM3MyOS4xIDUxLjcgMTAuMiA4NC4xcy01NCA0Ny4zLTc4LjUgMzMuM3pNMzEwLjEgMTg5LjdjLTMyLjMtMTAuNi00Ni45LTUzLjktMzIuNi05Ni44czUyLjEtNjkuMSA4NC40LTU4LjVzNDYuOSA1My45IDMyLjYgOTYuOHMtNTIuMSA2OS4xLTg0LjQgNTguNXpcIl1cbn07XG5jb25zdCBmYUNsb3VkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTcyOV0sIFwiZjBjMlwiLCBcIk0wIDMzNmMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NGwzNjggMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGMwLTYxLjktNDQtMTEzLjYtMTAyLjQtMTI1LjRjNC4xLTEwLjcgNi40LTIyLjQgNi40LTM0LjZjMC01My00My05Ni05Ni05NmMtMTkuNyAwLTM4LjEgNi01My4zIDE2LjJDMzY3IDY0LjIgMzE1LjMgMzIgMjU2IDMyQzE2Ny42IDMyIDk2IDEwMy42IDk2IDE5MmMwIDIuNyAuMSA1LjQgLjIgOC4xQzQwLjIgMjE5LjggMCAyNzMuMiAwIDMzNnpcIl1cbn07XG5jb25zdCBmYVRyb3dlbEJyaWNrcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cm93ZWwtYnJpY2tzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNThhXCIsIFwiTTI0MC44IDQuOEMyNTAuMyAxMC42IDI1NiAyMC45IDI1NiAzMmwwIDcyIDg5IDBjMy42LTEzLjggMTYuMS0yNCAzMS0yNGw4OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC04OCAwYy0xNC45IDAtMjcuNC0xMC4yLTMxLTI0bC04OSAwIDAgNzJjMCAxMS4xLTUuNyAyMS40LTE1LjIgMjcuMnMtMjEuMiA2LjQtMzEuMSAxLjRsLTE5Mi05NkM2LjggMTUxLjIgMCAxNDAuMSAwIDEyOHM2LjgtMjMuMiAxNy43LTI4LjZsMTkyLTk2YzkuOS01IDIxLjctNC40IDMxLjEgMS40ek0yODggMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0ek0zMiAzODRsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUZhY2VGbHVzaGVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZmx1c2hlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU2MywgXCJmbHVzaGVkXCJdLCBcImY1NzlcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0xNzYgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTI4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptLTE2LTg4YTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0em0yNjQtNzJhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAwem0tMjg4IDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTkyIDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG5jb25zdCBmYUZsdXNoZWQgPSBmYUZhY2VGbHVzaGVkO1xuY29uc3QgZmFIb3NwaXRhbFVzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9zcGl0YWwtdXNlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjgwZFwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDI1NmwxNDQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkwwIDI4OGwwIDY0IDE0NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDAgMzg0bDAgODBjMCAyNi41IDIxLjUgNDggNDggNDhsMjE3LjkgMGMtNi4zLTEwLjItOS45LTIyLjItOS45LTM1LjFjMC00Ni45IDI1LjgtODcuOCA2NC0xMDkuMmwwLTk1LjlMMzIwIDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDB6TTE1MiA2NGwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI0IDI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0yNCAwIDAgMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNC0yNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZsMjQgMCAwLTI0YzAtOC44IDcuMi0xNiAxNi0xNnpNNTEyIDI3MmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6TTI4OCA0NzcuMWMwIDE5LjMgMTUuNiAzNC45IDM0LjkgMzQuOWwyMTguMiAwYzE5LjMgMCAzNC45LTE1LjYgMzQuOS0zNC45YzAtNTEuNC00MS43LTkzLjEtOTMuMS05My4xbC0xMDEuOCAwYy01MS40IDAtOTMuMSA0MS43LTkzLjEgOTMuMXpcIl1cbn07XG5jb25zdCBmYVRlbnRBcnJvd0xlZnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93LWxlZnQtcmlnaHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1N2ZcIiwgXCJNNDg4LjEgNi4yYy05LjktOC45LTI1LTguMS0zMy45IDEuOHMtOC4xIDI1IDEuOCAzMy45TDQ4OS41IDcyIDg2LjUgNzJsMzMuNS0zMC4yYzkuOS04LjkgMTAuNy0yNCAxLjgtMzMuOVM5Ny44LTIuNyA4Ny45IDYuMmwtODAgNzJDMi45IDgyLjcgMCA4OS4yIDAgOTZzMi45IDEzLjMgNy45IDE3LjhsODAgNzJjOS45IDguOSAyNSA4LjEgMzMuOS0xLjhzOC4xLTI1LTEuOC0zMy45TDg2LjUgMTIwbDQwMi45IDAtMzMuNSAzMC4yYy05LjkgOC45LTEwLjcgMjQtMS44IDMzLjlzMjQgMTAuNyAzMy45IDEuOGw4MC03MmM1LjEtNC42IDcuOS0xMSA3LjktMTcuOHMtMi45LTEzLjMtNy45LTE3LjhsLTgwLTcyek0zMDcuNCAxNjYuNWMtMTEuNS04LjctMjcuMy04LjctMzguOCAwbC0xNjggMTI4Yy02LjYgNS0xMSAxMi41LTEyLjMgMjAuN2wtMjQgMTYwYy0xLjQgOS4yIDEuMyAxOC42IDcuNCAyNS42Uzg2LjcgNTEyIDk2IDUxMmwxNDQgMCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTE4LjFjMC01LjUgNC40LTkuOSA5LjktOS45YzMuNyAwIDcuMiAyLjEgOC44IDUuNWw2OC40IDEzNi44YzUuNCAxMC44IDE2LjUgMTcuNyAyOC42IDE3LjdsNjAuMiAwIDE2IDBjOS4zIDAgMTguMi00LjEgMjQuMi0xMS4xczguOC0xNi40IDcuNC0yNS42bC0yNC0xNjBjLTEuMi04LjItNS42LTE1LjctMTIuMy0yMC43bC0xNjgtMTI4elwiXVxufTtcbmNvbnN0IGZhR2F2ZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2F2ZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxlZ2FsXCJdLCBcImYwZTNcIiwgXCJNMzE4LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTIwIDEyMGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYgMTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNC00TDMyNS40IDI5My40bC00IDRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2IDE2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyMC0xMjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2LTE2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNCA0TDMzMC42IDc0LjZsNC00YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNi0xNnptLTE1MiAyODhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w0OCA0OGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xLjQtMS40TDI3MiAyODUuMyAyMjYuNyAyNDAgMTY4IDI5OC43bC0xLjQtMS40elwiXVxufTtcbmNvbnN0IGZhTGVnYWwgPSBmYUdhdmVsO1xuY29uc3QgZmFCaW5vY3VsYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jpbm9jdWxhcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxZTVcIiwgXCJNMTI4IDMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMkw5NiA5NmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem02NCA5NmwwIDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNTkuMWMwLTM0LjYgOS40LTY4LjYgMjcuMi05OC4zQzQwLjkgMjY3LjggNDkuNyAyNDIuNCA1MyAyMTZMNjAuNSAxNTZjMi0xNiAxNS42LTI4IDMxLjgtMjhsOTkuOCAwem0yMjcuOCAwYzE2LjEgMCAyOS44IDEyIDMxLjggMjhMNDU5IDIxNmMzLjMgMjYuNCAxMi4xIDUxLjggMjUuOCA3NC42YzE3LjggMjkuNyAyNy4yIDYzLjcgMjcuMiA5OC4zbDAgNTkuMWMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzIwIDk5LjggMHpNMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi05NiAwIDAtMzJ6bS0zMiA2NGwwIDE2MC02NCAwIDAtMTYwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFNaWNyb3Bob25lU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWljcm9waG9uZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjEzMVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ3Mi4xIDM0NC43YzE1LjItMjYgMjMuOS01Ni4zIDIzLjktODguN2wwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCAyMS4yLTUuMSA0MS4xLTE0LjIgNTguN0w0MTYgMzAwLjggNDE2IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgNTQuM0wzOC44IDUuMXpNMzQ0IDQzMC40YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMmwtNDMuMS0zMy45QzM0Ni4xIDM4MiAzMzMuMyAzODQgMzIwIDM4NGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjhsMC04LjdMMTQ0LjcgMjEwYy0uNSAxLjktLjcgMy45LS43IDZsMCA0MGMwIDg5LjEgNjYuMiAxNjIuNyAxNTIgMTc0LjRsMCAzMy42LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtMzMuNnpcIl1cbn07XG5jb25zdCBmYUJveFRpc3N1ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3gtdGlzc3VlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDViXCIsIFwiTTkyLjUgMEwyMDggMGM0MCAwIDUyIDI0IDY0IDQ4czI0IDQ4IDY0IDQ4bDg1LjIgMEM0MzYgOTYgNDQ4IDEwOCA0NDggMTIyLjhjMCAzLjQtLjcgNi44LTEuOSAxMEw0MDkuNiAyMjQgMzg0IDI4OGwtMjU2IDAtMTYtNjRMNjQuOSAzNS40Yy0uNi0yLjMtLjktNC42LS45LTYuOUM2NCAxMi44IDc2LjggMCA5Mi41IDB6TTc5IDIyNGwxNiA2NC0xNSAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDQ4IDAgMjU2IDAgNDggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTMuNSAwIDI1LjYtNjQgMTkuOSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTEyTDAgMzg0IDAgMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMxIDB6TTAgNDE2bDUxMiAwIDAgNDhjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQ4elwiXVxufTtcbmNvbnN0IGZhTW90b3JjeWNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3RvcmN5Y2xlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3OTQ5XSwgXCJmMjFjXCIsIFwiTTI4MCAzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1Ny43IDAgMTYuNCAzMC4zTDI1NiAxOTJsLTQ1LjMtNDUuM2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0w2NCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzIgOTYgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MGMwIDExLTEuMSAyMS43LTMuMiAzMmw3MC40IDBjLTIuMS0xMC4zLTMuMi0yMS0zLjItMzJjMC01Mi4yIDI1LTk4LjYgNjMuNy0xMjcuOGwxNS40IDI4LjZDNDAyLjQgMjc2LjMgMzg0IDMxMiAzODQgMzUyYzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhzLTU3LjMtMTI4LTEyOC0xMjhjLTEzLjUgMC0yNi41IDIuMS0zOC43IDZMNDE4LjIgMTI4bDYxLjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yMC40IDBjLTcuNSAwLTE0LjcgMi42LTIwLjUgNy40TDM5MS43IDc4LjlsLTE0LTI2Yy03LTEyLjktMjAuNS0yMS0zNS4yLTIxTDI4MCAzMnpNNDYyLjcgMzExLjJsMjguMiA1Mi4yYzYuMyAxMS43IDIwLjkgMTYgMzIuNSA5LjdzMTYtMjAuOSA5LjctMzIuNWwtMjguMi01Mi4yYzIuMy0uMyA0LjctLjQgNy4xLS40YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMTUuNSA1LjUtMjkuNyAxNC43LTQwLjh6TTE4Ny4zIDM3NmMtOS41IDIzLjUtMzIuNSA0MC01OS4zIDQwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzI2LjkgMCA0OS45IDE2LjUgNTkuMyA0MGw2Ni40IDBDMjQyLjUgMjY4LjggMTkwLjUgMjI0IDEyOCAyMjRDNTcuMyAyMjQgMCAyODEuMyAwIDM1MnM1Ny4zIDEyOCAxMjggMTI4YzYyLjUgMCAxMTQuNS00NC44IDEyNS44LTEwNGwtNjYuNCAwek0xMjggMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUJlbGxDb25jaWVyZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmVsbC1jb25jaWVyZ2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg3MTgsIFwiY29uY2llcmdlLWJlbGxcIl0sIFwiZjU2MlwiLCBcIk0yMTYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTYgMCAwIDMzLjNDMTE5LjYgMTU3LjIgMzIgMjUyLjQgMzIgMzY4bDQ0OCAwYzAtMTE1LjYtODcuNi0yMTAuOC0yMDAtMjIyLjdsMC0zMy4zIDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAtNDAgMHpNMjQgNDAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDQwMHpcIl1cbn07XG5jb25zdCBmYUNvbmNpZXJnZUJlbGwgPSBmYUJlbGxDb25jaWVyZ2U7XG5jb25zdCBmYVBlblJ1bGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blbi1ydWxlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wicGVuY2lsLXJ1bGVyXCJdLCBcImY1YWVcIiwgXCJNNDY5LjMgMTkuM2wyMy40IDIzLjRjMjUgMjUgMjUgNjUuNSAwIDkwLjVsLTU2LjQgNTYuNEwzMjIuMyA3NS43bDU2LjQtNTYuNGMyNS0yNSA2NS41LTI1IDkwLjUgMHpNNDQuOSAzNTMuMkwyOTkuNyA5OC4zIDQxMy43IDIxMi4zIDE1OC44IDQ2Ny4xYy02LjcgNi43LTE1LjEgMTEuNi0yNC4yIDE0LjJsLTEwNCAyOS43Yy04LjQgMi40LTE3LjQgLjEtMjMuNi02LjFzLTguNS0xNS4yLTYuMS0yMy42bDI5LjctMTA0YzIuNi05LjIgNy41LTE3LjUgMTQuMi0yNC4yek0yNDkuNCAxMDMuNEwxMDMuNCAyNDkuNCAxNiAxNjEuOWMtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlMOTQuMSAxNmMxOC43LTE4LjcgNDkuMS0xOC43IDY3LjkgMGwxOS44IDE5LjhjLS4zIC4zLS43IC42LTEgLjlsLTY0IDY0Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsNjQtNjRjLjMtLjMgLjYtLjcgLjktMWw0NS4xIDQ1LjF6TTQwOC42IDI2Mi42bDQ1LjEgNDUuMWMtLjMgLjMtLjcgLjYtMSAuOWwtNjQgNjRjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw2NC02NGMuMy0uMyAuNi0uNyAuOS0xTDQ5NiAzNTAuMWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUw0MTcuOSA0OTZjLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwbC04Ny40LTg3LjRMNDA4LjYgMjYyLjZ6XCJdXG59O1xuY29uc3QgZmFQZW5jaWxSdWxlciA9IGZhUGVuUnVsZXI7XG5jb25zdCBmYVBlb3BsZUFycm93cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtYXJyb3dzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHRcIl0sIFwiZTA2OFwiLCBcIk02NCA2NGE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA2NCA2NHpNMjUuOSAyMzMuNEMyOS4zIDE5MS45IDY0IDE2MCAxMDUuNiAxNjBsNDQuOCAwYzI3IDAgNTEgMTMuNCA2NS41IDM0LjFjLTIuNyAxLjktNS4yIDQtNy41IDYuM2wtNjQgNjRjLTIxLjkgMjEuOS0yMS45IDU3LjMgMCA3OS4yTDE5MiAzOTEuMmwwIDcyLjhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTE1LjdjLTI2LjUtOS41LTQ0LjctMzUuOC00Mi4yLTY1LjZsNC4xLTQ5LjN6TTQ0OCA2NGE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA0NDggNjR6TTQzMS42IDIwMC40Yy0yLjMtMi4zLTQuOS00LjQtNy41LTYuM2MxNC41LTIwLjcgMzguNi0zNC4xIDY1LjUtMzQuMWw0NC44IDBjNDEuNiAwIDc2LjMgMzEuOSA3OS43IDczLjRsNC4xIDQ5LjNjMi41IDI5LjgtMTUuNyA1Ni4xLTQyLjIgNjUuNkw1NzYgNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTcyLjggNDcuNi00Ny42YzIxLjktMjEuOSAyMS45LTU3LjMgMC03OS4ybC02NC02NHpNMjcyIDI0MGwwIDMyIDk2IDAgMC0zMmMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsNjQgNjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTY0IDY0Yy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4ycy0xNC44LTEyLjUtMTQuOC0yMi4ybDAtMzItOTYgMCAwIDMyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw2NC02NGM2LjktNi45IDE3LjItOC45IDI2LjItNS4yczE0LjggMTIuNSAxNC44IDIyLjJ6XCJdXG59O1xuY29uc3QgZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQgPSBmYVBlb3BsZUFycm93cztcbmNvbnN0IGZhTWFyc0FuZFZlbnVzQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycy1hbmQtdmVudXMtYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MjNcIiwgXCJNNTA0IDBjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzkgMzktMjIuMiAyMi4yQzQ3NS45IDc4LjQgNDM5LjYgNjQgNDAwIDY0Yy04OC40IDAtMTYwIDcxLjYtMTYwIDE2MGMwIDgwLjIgNTkuMSAxNDYuNyAxMzYuMSAxNTguMmMwIC42LS4xIDEuMi0uMSAxLjhsMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuMyAwIC40IDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xYzAgMCAwIC4xIDAgLjFzMCAuMSAwIC4xbDAgLjFjMCAwIDAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGwyNCAwLTI0IDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwtMjQgMCAyNCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMWwwLS4xYzAgMCAwLS4xIDAtLjFzMC0uMSAwLS4xbDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0IDAgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS40IDAtLjMgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjRjMC0uNiAwLTEuMi0uMS0xLjhjNzctMTEuNiAxMzYuMS03OCAxMzYuMS0xNTguMmMwLTMxLjQtOS02MC43LTI0LjctODUuNEw1NjAgMTEzLjlsMzkgMzljNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMnMxNC44LTEyLjUgMTQuOC0yMi4ybDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0TDUwNCAwek00MDAgMTI4YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyek0xOTAuOSAxOC4xQzE4OC40IDEyIDE4Mi42IDggMTc2IDhzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMNTUuNiA2OC45Yy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNzLTQuNiAxMi4yLTEuNCAxNy45bDM5LjUgNjkuMUwxMC45IDIwNi40Yy01LjQgMy43LTggMTAuMy02LjUgMTYuN3M2LjcgMTEuMiAxMy4xIDEyLjJsNzguNyAxMi4yTDkwLjYgMzI3Yy0uNSA2LjUgMy4xIDEyLjcgOSAxNS41czEyLjkgMS44IDE3LjgtMi42TDE3NiAyODYuMWw1OC42IDUzLjljNC4xIDMuOCA5LjkgNS4xIDE1LjIgMy42QzIyMy42IDMxMC44IDIwOCAyNjkuMiAyMDggMjI0YzAtNjAuOCAyOC4zLTExNSA3Mi40LTE1MC4yTDIyMC4zIDkyLjFsLTI5LjQtNzR6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVDYXJldFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1jYXJldC1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiY2FyZXQtc3F1YXJlLXJpZ2h0XCJdLCBcImYxNTJcIiwgXCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTMyMCAyNTZjMCA2LjctMi44IDEzLTcuNyAxNy42bC0xMTIgMTA0Yy03IDYuNS0xNy4yIDguMi0yNS45IDQuNHMtMTQuNC0xMi41LTE0LjQtMjJsMC0yMDhjMC05LjUgNS43LTE4LjIgMTQuNC0yMnMxOC45LTIuMSAyNS45IDQuNGwxMTIgMTA0YzQuOSA0LjUgNy43IDEwLjkgNy43IDE3LjZ6XCJdXG59O1xuY29uc3QgZmFDYXJldFNxdWFyZVJpZ2h0ID0gZmFTcXVhcmVDYXJldFJpZ2h0O1xuY29uc3QgZmFTY2lzc29ycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2lzc29ycycsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5ODQsIDk5ODYsIDk5ODgsIFwiY3V0XCJdLCBcImYwYzRcIiwgXCJNMjU2IDE5MmwtMzkuNS0zOS41YzQuOS0xMi42IDcuNS0yNi4yIDcuNS00MC41QzIyNCA1MC4xIDE3My45IDAgMTEyIDBTMCA1MC4xIDAgMTEyczUwLjEgMTEyIDExMiAxMTJjMTQuMyAwIDI3LjktMi43IDQwLjUtNy41TDE5MiAyNTZsLTM5LjUgMzkuNWMtMTIuNi00LjktMjYuMi03LjUtNDAuNS03LjVDNTAuMSAyODggMCAzMzguMSAwIDQwMHM1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJjMC0xNC4zLTIuNy0yNy45LTcuNS00MC41TDQ5OS4yIDc2LjhjNy4xLTcuMSA3LjEtMTguNSAwLTI1LjZjLTI4LjMtMjguMy03NC4xLTI4LjMtMTAyLjQgMEwyNTYgMTkyem0yMi42IDE1MC42TDM5Ni44IDQ2MC44YzI4LjMgMjguMyA3NC4xIDI4LjMgMTAyLjQgMGM3LjEtNy4xIDcuMS0xOC41IDAtMjUuNkwzNDIuNiAyNzguNmwtNjQgNjR6TTY0IDExMmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00OCAyNDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbmNvbnN0IGZhQ3V0ID0gZmFTY2lzc29ycztcbmNvbnN0IGZhU3VuUGxhbnRXaWx0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1bi1wbGFudC13aWx0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTdhXCIsIFwiTTE2MCAwYy02LjMgMC0xMiAzLjctMTQuNiA5LjVMMTIwLjYgNjQuOSA2My45IDQzLjJjLTUuOS0yLjMtMTIuNi0uOC0xNyAzLjZzLTUuOSAxMS4xLTMuNiAxN2wyMS43IDU2LjdMOS41IDE0NS40QzMuNyAxNDggMCAxNTMuNyAwIDE2MHMzLjcgMTIgOS41IDE0LjZsNTUuNCAyNC44TDQzLjIgMjU2LjFjLTIuMyA1LjktLjggMTIuNiAzLjYgMTdzMTEuMSA1LjkgMTcgMy42bDU2LjctMjEuNyAyNC44IDU1LjRjMi42IDUuOCA4LjMgOS41IDE0LjYgOS41czEyLTMuNyAxNC42LTkuNWwyNC44LTU1LjQgNTYuNyAyMS43YzUuOSAyLjMgMTIuNiAuOCAxNy0zLjZzNS45LTExLjEgMy42LTE3bC0yMS43LTU2LjcgNTUuNC0yNC44YzUuOC0yLjYgOS41LTguMyA5LjUtMTQuNnMtMy43LTEyLTkuNS0xNC42bC01NS40LTI0LjggMjEuNy01Ni43YzIuMy01LjkgLjgtMTIuNi0zLjYtMTdzLTExLjEtNS45LTE3LTMuNkwxOTkuNCA2NC45IDE3NC42IDkuNUMxNzIgMy43IDE2Ni4zIDAgMTYwIDB6bTAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTMxMiAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNTMuNGMtMTQuOCA3LjctMjQgMjMuMS0yNCA0NC42YzAgMTYuOCAxNiA0NCAzNy40IDY3LjJjNS44IDYuMiAxNS41IDYuMiAyMS4yIDBDNjI0IDMxOCA2NDAgMjkwLjcgNjQwIDI3NGMwLTIxLjUtOS4yLTM3LTI0LTQ0LjZsMC01My40YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwbDAgMjIuN2MtOS44LTQuMy0yMC42LTYuNy0zMi02LjdjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjEuNGMtMTQuOCA3LjctMjQgMjMuMS0yNCA0NC42YzAgMTYuOCAxNiA0NCAzNy40IDY3LjJjNS44IDYuMiAxNS41IDYuMiAyMS4yIDBDNDAwIDM4MiA0MTYgMzU0LjcgNDE2IDMzOGMwLTIxLjUtOS4yLTM3LTI0LTQ0LjZsMC0yMS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA4IDAgMTY4TDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTA0IDAgMC0xNjggMC04IDAtOTZ6XCJdXG59O1xuY29uc3QgZmFUb2lsZXRzUG9ydGFibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9pbGV0cy1wb3J0YWJsZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU4NFwiLCBcIk0zMiAwTDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJMMCA2NCAwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHpNMCA5NmwyNCAwIDIwOCAwIDI0IDAgMCAyNCAwIDM2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLThMNDggNDgwbDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNEwwIDEyMCAwIDk2ek0xOTIgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2ek0zNTIgMEw1NDQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyTDMyMCA2NGwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zMjAgOTZsMjQgMCAyMDggMCAyNCAwIDAgMjQgMCAzNjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LTE2MCAwIDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTM2OCAwLTI0ek01MTIgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbmNvbnN0IGZhSG9ja2V5UHVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob2NrZXktcHVjaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQ1M1wiLCBcIk0yNTYgMjU2QzExNC42IDI1NiAwIDIxMyAwIDE2MHMxMTQuNi05NiAyNTYtOTZzMjU2IDQzIDI1NiA5NnMtMTE0LjYgOTYtMjU2IDk2em0xOTIuMyAxLjhjMjQuNy05LjMgNDYuOS0yMSA2My43LTM1LjZMNTEyIDM1MmMwIDUzLTExNC42IDk2LTI1NiA5NlMwIDQwNSAwIDM1MkwwIDIyMi4zYzE2LjggMTQuNiAzOSAyNi4zIDYzLjcgMzUuNkMxMTQuNSAyNzYuOSAxODIuNSAyODggMjU2IDI4OHMxNDEuNS0xMS4xIDE5Mi4zLTMwLjJ6XCJdXG59O1xuY29uc3QgZmFUYWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjBjZVwiLCBcIk02NCAyNTZsMC05NiAxNjAgMCAwIDk2TDY0IDI1NnptMCA2NGwxNjAgMCAwIDk2TDY0IDQxNmwwLTk2em0yMjQgOTZsMC05NiAxNjAgMCAwIDk2LTE2MCAwek00NDggMjU2bC0xNjAgMCAwLTk2IDE2MCAwIDAgOTZ6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6XCJdXG59O1xuY29uc3QgZmFNYWduaWZ5aW5nR2xhc3NBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MjFcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHpNMjQxIDExOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMSAzMUwxMjAgMTg0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExOC4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJ6XCJdXG59O1xuY29uc3QgZmFUYWNob2dyYXBoRGlnaXRhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWNob2dyYXBoLWRpZ2l0YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImRpZ2l0YWwtdGFjaG9ncmFwaFwiXSwgXCJmNTY2XCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDUxMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0zMiA2NGwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgMzY4YzAtOC44IDcuMi0xNiAxNi0xNmwyNTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw4MCAzODRjLTguOCAwLTE2LTcuMi0xNi0xNnptMzIwIDBjMC04LjggNy4yLTE2IDE2LTE2bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek04MCAyODhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem00OCAxNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwem04MC0xNmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTQ4IDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bTgwLTE2YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG5jb25zdCBmYURpZ2l0YWxUYWNob2dyYXBoID0gZmFUYWNob2dyYXBoRGlnaXRhbDtcbmNvbnN0IGZhVXNlcnNTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3M1wiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ0MC42IDMyMGwxNzguMSAwYzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNDNjQwIDIzOS44IDU5Mi4yIDE5MiA1MzMuMyAxOTJsLTQyLjcgMGMtMTUuOSAwLTMxIDMuNS00NC42IDkuN2MxLjMgNy4yIDEuOSAxNC43IDEuOSAyMi4zYzAgMzAuMi0xMC41IDU4LTI4IDc5LjlsLTI1LjItMTkuN0M0MDguMSAyNjcuNyA0MTYgMjQ2LjggNDE2IDIyNGMwLTUzLTQzLTk2LTk2LTk2Yy0zMS4xIDAtNTguNyAxNC44LTc2LjMgMzcuN2wtNDAuNi0zMS44YzEzLTE0LjIgMjAuOS0zMy4xIDIwLjktNTMuOWMwLTQ0LjItMzUuOC04MC04MC04MEMxMTYuMyAwIDkxLjkgMTQuMSA3Ny41IDM1LjVMMzguOCA1LjF6TTEwNi43IDE5MkM0Ny44IDE5MiAwIDIzOS44IDAgMjk4LjdDMCAzMTAuNCA5LjYgMzIwIDIxLjMgMzIwbDIxMy4zIDBjLjIgMCAuNCAwIC43IDBjLTIwLjYtMTguMi0zNS4yLTQyLjgtNDAuOC03MC44TDEyMS44IDE5MmwtMTUuMiAwek0yNjEuMyAzNTJDMTg3LjcgMzUyIDEyOCA0MTEuNyAxMjggNDg1LjNjMCAxNC43IDExLjkgMjYuNyAyNi43IDI2LjdsMzMwLjcgMGMxMC41IDAgMTkuNS02IDIzLjktMTQuOEwzMjQuOSAzNTJsLTYzLjYgMHpNNTEyIDE2MEE4MCA4MCAwIDEgMCA1MTIgMGE4MCA4MCAwIDEgMCAwIDE2MHpcIl1cbn07XG5jb25zdCBmYUNsb3ZlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG92ZXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUxMzlcIiwgXCJNMjE2LjYgNDkuOUMyMDUuMSAzOC41IDE4OS41IDMyIDE3My4zIDMyQzEzOS40IDMyIDExMiA1OS40IDExMiA5My4zbDAgNC45YzAgMTIgMy4zIDIzLjcgOS40IDM0bDE4LjggMzEuM2MxLjEgMS44IDEuMiAzLjEgMSA0LjJjLS4yIDEuMi0uOCAyLjUtMiAzLjZzLTIuNCAxLjgtMy42IDJjLTEgLjItMi40IC4xLTQuMi0xbC0zMS4zLTE4LjhjLTEwLjMtNi4yLTIyLTkuNC0zNC05LjRsLTQuOSAwQzI3LjQgMTQ0IDAgMTcxLjQgMCAyMDUuM2MwIDE2LjIgNi41IDMxLjggMTcuOSA0My4zbDEuMiAxLjJjMy40IDMuNCAzLjQgOSAwIDEyLjRsLTEuMiAxLjJDNi41IDI3NC45IDAgMjkwLjUgMCAzMDYuN0MwIDM0MC42IDI3LjQgMzY4IDYxLjMgMzY4bDQuOSAwYzEyIDAgMjMuNy0zLjMgMzQtOS40bDMxLjMtMTguOGMxLjgtMS4xIDMuMS0xLjIgNC4yLTFjMS4yIC4yIDIuNSAuOCAzLjYgMnMxLjggMi40IDIgMy42Yy4yIDEgLjEgMi40LTEgNC4ybC0xOC44IDMxLjNjLTYuMiAxMC4zLTkuNCAyMi05LjQgMzRsMCA0LjljMCAzMy44IDI3LjQgNjEuMyA2MS4zIDYxLjNjMTYuMiAwIDMxLjgtNi41IDQzLjMtMTcuOWwxLjItMS4yYzMuNC0zLjQgOS0zLjQgMTIuNCAwbDEuMiAxLjJjMTEuNSAxMS41IDI3LjEgMTcuOSA0My4zIDE3LjljMzMuOCAwIDYxLjMtMjcuNCA2MS4zLTYxLjNsMC00LjljMC0xMi0zLjMtMjMuNy05LjQtMzRsLTE4LjgtMzEuM2MtMS4xLTEuOC0xLjItMy4xLTEtNC4yYy4yLTEuMiAuOC0yLjUgMi0zLjZzMi40LTEuOCAzLjYtMmMxLS4yIDIuNC0uMSA0LjIgMWwzMS4zIDE4LjhjMTAuMyA2LjIgMjIgOS40IDM0IDkuNGw0LjkgMGMzMy44IDAgNjEuMy0yNy40IDYxLjMtNjEuM2MwLTE2LjItNi41LTMxLjgtMTcuOS00My4zbC0xLjItMS4yYy0zLjQtMy40LTMuNC05IDAtMTIuNGwxLjItMS4yYzExLjUtMTEuNSAxNy45LTI3LjEgMTcuOS00My4zYzAtMzMuOC0yNy40LTYxLjMtNjEuMy02MS4zbC00LjkgMGMtMTIgMC0yMy43IDMuMy0zNCA5LjRsLTMxLjMgMTguOGMtMS44IDEuMS0zLjEgMS4yLTQuMiAxYy0xLjItLjItMi41LS44LTMuNi0ycy0xLjgtMi40LTItMy42Yy0uMi0xLS4xLTIuNCAxLTQuMmwxOC44LTMxLjNjNi4yLTEwLjMgOS40LTIyIDkuNC0zNGwwLTQuOUMzMzYgNTkuNCAzMDguNiAzMiAyNzQuNyAzMmMtMTYuMiAwLTMxLjggNi41LTQzLjMgMTcuOWwtMS4yIDEuMmMtMy40IDMuNC05IDMuNC0xMi40IDBsLTEuMi0xLjJ6XCJdXG59O1xuY29uc3QgZmFSZXBseSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXBseScsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNzE0LCBcIm1haWwtcmVwbHlcIl0sIFwiZjNlNVwiLCBcIk0yMDUgMzQuOGMxMS41IDUuMSAxOSAxNi42IDE5IDI5LjJsMCA2NCAxMTIgMGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NmMwIDExMy4zLTgxLjUgMTYzLjktMTAwLjIgMTc0LjFjLTIuNSAxLjQtNS4zIDEuOS04LjEgMS45Yy0xMC45IDAtMTkuNy04LjktMTkuNy0xOS43YzAtNy41IDQuMy0xNC40IDkuOC0xOS41YzkuNC04LjggMjIuMi0yNi40IDIyLjItNTYuN2MwLTUzLTQzLTk2LTk2LTk2bC05NiAwIDAgNjRjMCAxMi42LTcuNCAyNC4xLTE5IDI5LjJzLTI1IDMtMzQuNC01LjRsLTE2MC0xNDRDMy45IDIyNS43IDAgMjE3LjEgMCAyMDhzMy45LTE3LjcgMTAuNi0yMy44bDE2MC0xNDRjOS40LTguNSAyMi45LTEwLjYgMzQuNC01LjR6XCJdXG59O1xuY29uc3QgZmFNYWlsUmVwbHkgPSBmYVJlcGx5O1xuY29uc3QgZmFTdGFyQW5kQ3Jlc2NlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Rhci1hbmQtY3Jlc2NlbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NzcwXSwgXCJmNjk5XCIsIFwiTTAgMjU2QzAgMTE0LjYgMTE0LjYgMCAyNTYgMGMzMyAwIDY0LjYgNi4zIDkzLjYgMTcuN2M3LjQgMi45IDExLjUgMTAuNyA5LjggMTguNHMtOC44IDEzLTE2LjcgMTIuNGMtNC44LS4zLTkuNy0uNS0xNC42LS41Yy0xMTQuOSAwLTIwOCA5My4xLTIwOCAyMDhzOTMuMSAyMDggMjA4IDIwOGM0LjkgMCA5LjgtLjIgMTQuNi0uNWM3LjktLjUgMTUgNC43IDE2LjcgMTIuNHMtMi40IDE1LjUtOS44IDE4LjRDMzIwLjYgNTA1LjcgMjg5IDUxMiAyNTYgNTEyQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2ek0zNzUuNCAxMzcuNGMzLjUtNy4xIDEzLjctNy4xIDE3LjIgMGwzMS41IDYzLjhjMS40IDIuOCA0LjEgNC44IDcuMiA1LjNsNzAuNCAxMC4yYzcuOSAxLjEgMTEgMTAuOCA1LjMgMTYuNGwtNTAuOSA0OS42Yy0yLjMgMi4yLTMuMyA1LjQtMi44IDguNWwxMiA3MC4xYzEuMyA3LjgtNi45IDEzLjgtMTMuOSAxMC4xbC02My0zMy4xYy0yLjgtMS41LTYuMS0xLjUtOC45IDBsLTYzIDMzLjFjLTcgMy43LTE1LjMtMi4zLTEzLjktMTAuMWwxMi03MC4xYy41LTMuMS0uNS02LjMtMi44LTguNUwyNjEgMjMzLjFjLTUuNy01LjYtMi42LTE1LjIgNS4zLTE2LjRsNzAuNC0xMC4yYzMuMS0uNSA1LjgtMi40IDcuMi01LjNsMzEuNS02My44elwiXVxufTtcbmNvbnN0IGZhSG91c2VGaXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZpcmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGNcIiwgXCJNMjg4IDM1MC4xbDAgMS45LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjQgMCAyNGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMjQgMC0zMS45IDBjLTEuNSAwLTMtLjEtNC41LS4yYy0xLjIgLjEtMi40IC4yLTMuNiAuMmwtMTYgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xMTJjMC0uOSAwLTEuOSAuMS0yLjhsMC02OS43LTMyIDBjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQ0Ny4zIDEyOC4xYy0xMi4zLTEtMjUgMy0zNC44IDExLjdjLTM1LjQgMzEuNi02NS42IDY3LjctODcuMyAxMDIuOEMzMDQuMyAyNzYuNSAyODggMzE0LjkgMjg4IDM1MC4xek00ODAgNTEyYy04OC40IDAtMTYwLTcxLjYtMTYwLTE2MGMwLTc2LjcgNjIuNS0xNDQuNyAxMDcuMi0xNzkuNGM1LTMuOSAxMC45LTUuOCAxNi44LTUuOGM3LjktLjEgMTYgMy4xIDIyIDkuMmw0NiA0NiAxMS4zLTExLjNjMTEuNy0xMS43IDMwLjYtMTIuNyA0Mi4zLTFDNjI0LjUgMjY4IDY0MCAzMjAuMiA2NDAgMzUyYzAgODguNC03MS42IDE2MC0xNjAgMTYwem02NC0xMTEuOGMwLTM2LjUtMzctNzMtNTQuOC04OC40Yy01LjQtNC43LTEzLjEtNC43LTE4LjUgMEM0NTMgMzI3LjEgNDE2IDM2My42IDQxNiA0MDAuMmMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbmNvbnN0IGZhU3F1YXJlTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLW1pbnVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjE3NjcsIFwibWludXMtc3F1YXJlXCJdLCBcImYxNDZcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptODggMjAwbDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpcIl1cbn07XG5jb25zdCBmYU1pbnVzU3F1YXJlID0gZmFTcXVhcmVNaW51cztcbmNvbnN0IGZhSGVsaWNvcHRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWxpY29wdGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjQxXSwgXCJmNTMzXCIsIFwiTTEyOCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkw1NDQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzODQgNjRsMCA2NCAzMiAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwLTY0IDBjLTIwLjEgMC0zOS4xLTkuNS01MS4yLTI1LjZsLTcxLjQtOTUuMmMtMy41LTQuNy04LjMtOC4zLTEzLjctMTAuNUw0Ny4yIDE5OC4xYy05LjUtMy44LTE2LjctMTItMTkuMi0yMkw1IDgzLjlDMi40IDczLjggMTAuMSA2NCAyMC41IDY0TDQ4IDY0YzEwLjEgMCAxOS42IDQuNyAyNS42IDEyLjhMMTEyIDEyOGwyMDggMCAwLTY0TDE2MCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTM4NCAzMjBsMTI4IDAgMC0zMmMwLTUzLTQzLTk2LTk2LTk2bC0zMiAwIDAgMTI4ek02MzAuNiA0MjUuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMy45IDMuOWMtMjQgMjQtNTYuNiAzNy41LTkwLjUgMzcuNUwyNTYgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDI4MC4yIDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdsMy45LTMuOWMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHpcIl1cbn07XG5jb25zdCBmYUNvbXBhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcGFzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUxN10sIFwiZjE0ZVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptNTAuNy0xODYuOUwxNjIuNCAzODAuNmMtMTkuNCA3LjUtMzguNS0xMS42LTMxLTMxbDU1LjUtMTQ0LjNjMy4zLTguNSA5LjktMTUuMSAxOC40LTE4LjRsMTQ0LjMtNTUuNWMxOS40LTcuNSAzOC41IDExLjYgMzEgMzFMMzI1LjEgMzA2LjdjLTMuMiA4LjUtOS45IDE1LjEtMTguNCAxOC40ek0yODggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVDYXJldERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWNhcmV0LWRvd24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhcmV0LXNxdWFyZS1kb3duXCJdLCBcImYxNTBcIiwgXCJNMzg0IDQ4MGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwek0yMjQgMzUyYy02LjcgMC0xMy0yLjgtMTcuNi03LjdsLTEwNC0xMTJjLTYuNS03LTguMi0xNy4yLTQuNC0yNS45czEyLjUtMTQuNCAyMi0xNC40bDIwOCAwYzkuNSAwIDE4LjIgNS43IDIyIDE0LjRzMi4xIDE4LjktNC40IDI1LjlsLTEwNCAxMTJjLTQuNSA0LjktMTAuOSA3LjctMTcuNiA3Ljd6XCJdXG59O1xuY29uc3QgZmFDYXJldFNxdWFyZURvd24gPSBmYVNxdWFyZUNhcmV0RG93bjtcbmNvbnN0IGZhRmlsZUNpcmNsZVF1ZXN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLXF1ZXN0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGVmXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHptNDggOTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDI0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTM2OCAzMjEuNmwwIDYuNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNi40YzAtNS4zIDQuMy05LjYgOS42LTkuNmw0MC41IDBjNy43IDAgMTMuOSA2LjIgMTMuOSAxMy45YzAgNS4yLTIuOSA5LjktNy40IDEyLjNsLTMyIDE2LjhjLTUuMyAyLjgtOC42IDguMi04LjYgMTQuMmwwIDE0LjhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTUuMSAyMy41LTEyLjNjMTUuMS03LjkgMjQuNS0yMy42IDI0LjUtNDAuNmMwLTI1LjQtMjAuNi00NS45LTQ1LjktNDUuOWwtNDAuNSAwYy0yMyAwLTQxLjYgMTguNi00MS42IDQxLjZ6XCJdXG59O1xuY29uc3QgZmFMYXB0b3BDb2RlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhcHRvcC1jb2RlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNWZjXCIsIFwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2LTY0IDAgMC0yNTZMMTI4IDk2bDAgMjU2LTY0IDBMNjQgOTZ6TTAgNDAzLjJDMCAzOTIuNiA4LjYgMzg0IDE5LjIgMzg0bDYwMS42IDBjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMmMwIDQyLjQtMzQuNCA3Ni44LTc2LjggNzYuOEw3Ni44IDQ4MEMzNC40IDQ4MCAwIDQ0NS42IDAgNDAzLjJ6TTI4MSAyMDlsLTMxIDMxIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ4LTQ4Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw0OC00OGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6TTM5MyAxNzVsNDggNDhjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTQ4IDQ4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6XCJdXG59O1xuY29uc3QgZmFTd2F0Y2hib29rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N3YXRjaGJvb2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YzNcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzODRjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZMMCAzMnpNMjIzLjYgNDI1LjljLjMtMy4zIC40LTYuNiAuNC05LjlsMC0yNjIgNzUuNC03NS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDkwLjUgOTAuNWMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0wyMjMuNiA0MjUuOXpNMTgyLjggNTEybDE5Mi0xOTJMNDgwIDMyMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjk3LjIgMHpNMTI4IDY0TDY0IDY0bDAgNjQgNjQgMCAwLTY0ek02NCAxOTJsMCA2NCA2NCAwIDAtNjQtNjQgMHpNOTYgNDQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG5jb25zdCBmYVByZXNjcmlwdGlvbkJvdHRsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwcmVzY3JpcHRpb24tYm90dGxlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDg1XCIsIFwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NEwwIDMyem0zMiA5NmwzMjAgMCAwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzIgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMMzIgMzg0bDAtNjQgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMMzIgMjg4bDAtNjQgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMMzIgMTkybDAtNjR6XCJdXG59O1xuY29uc3QgZmFCYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhcnMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcIm5hdmljb25cIl0sIFwiZjBjOVwiLCBcIk0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZ6TTAgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ0OCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhTmF2aWNvbiA9IGZhQmFycztcbmNvbnN0IGZhUGVvcGxlR3JvdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVvcGxlLWdyb3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTMzXCIsIFwiTTcyIDg4YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDcyIDg4ek02NCAyNDUuN0M1NCAyNTYuOSA0OCAyNzEuOCA0OCAyODhzNiAzMS4xIDE2IDQyLjNsMC04NC43em0xNDQuNC00OS4zQzE3OC43IDIyMi43IDE2MCAyNjEuMiAxNjAgMzA0YzAgMzQuMyAxMiA2NS44IDMyIDkwLjVsMCAyMS41YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI2LjhDMjYuMiAzNzEuMiAwIDMzMi43IDAgMjg4YzAtNjEuOSA1MC4xLTExMiAxMTItMTEybDMyIDBjMjQgMCA0Ni4yIDcuNSA2NC40IDIwLjN6TTQ0OCA0MTZsMC0yMS41YzIwLTI0LjcgMzItNTYuMiAzMi05MC41YzAtNDIuOC0xOC43LTgxLjMtNDguNC0xMDcuN0M0NDkuOCAxODMuNSA0NzIgMTc2IDQ5NiAxNzZsMzIgMGM2MS45IDAgMTEyIDUwLjEgMTEyIDExMmMwIDQ0LjctMjYuMiA4My4yLTY0IDEwMS4ybDAgMjYuOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTgtMzI4YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDQ1NiA4OHpNNTc2IDI0NS43bDAgODQuN2MxMC0xMS4zIDE2LTI2LjEgMTYtNDIuM3MtNi0zMS4xLTE2LTQyLjN6TTMyMCAzMmE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNMjQwIDMwNGMwIDE2LjIgNiAzMSAxNiA0Mi4zbDAtODQuN2MtMTAgMTEuMy0xNiAyNi4xLTE2IDQyLjN6bTE0NC00Mi4zbDAgODQuN2MxMC0xMS4zIDE2LTI2LjEgMTYtNDIuM3MtNi0zMS4xLTE2LTQyLjN6TTQ0OCAzMDRjMCA0NC43LTI2LjIgODMuMi02NCAxMDEuMmwwIDQyLjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNDIuOGMtMzcuOC0xOC02NC01Ni41LTY0LTEwMS4yYzAtNjEuOSA1MC4xLTExMiAxMTItMTEybDMyIDBjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJ6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3NFbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91cmdsYXNzLWVuZCcsXG4gIGljb246IFszODQsIDUxMiwgWzg5ODcsIFwiaG91cmdsYXNzLTNcIl0sIFwiZjI1M1wiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDAgMTFjMCA0Mi40IDE2LjkgODMuMSA0Ni45IDExMy4xTDE0Ni43IDI1NiA3OC45IDMyMy45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAyNTYgMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTFjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xTDIzNy4zIDI1Nmw2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMjAgMCA2NCAwIDMyIDB6TTk2IDc1bDAtMTEgMTkyIDAgMCAxMWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUwxOTIgMjEwLjdsLTY3LjktNjcuOUMxMDYuMSAxMjQuOSA5NiAxMDAuNCA5NiA3NXpcIl1cbn07XG5jb25zdCBmYUhvdXJnbGFzczMgPSBmYUhvdXJnbGFzc0VuZDtcbmNvbnN0IGZhSGVhcnRDcmFjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jcmFjaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE0OCwgXCJoZWFydC1icm9rZW5cIl0sIFwiZjdhOVwiLCBcIk0xMTkuNCA0NC4xYzIzLjMtMy45IDQ2LjgtMS45IDY4LjYgNS4zbDQ5LjggNzcuNS03NS40IDc1LjRjLTEuNSAxLjUtMi40IDMuNi0yLjMgNS44czEgNC4yIDIuNiA1LjdsMTEyIDEwNGMyLjkgMi43IDcuNCAyLjkgMTAuNSAuM3MzLjgtNyAxLjctMTAuNGwtNjAuNC05OC4xIDkwLjctNzUuNmMyLjYtMi4xIDMuNS01LjcgMi40LTguOEwyOTYuOCA2MS44YzI4LjUtMTYuNyA2Mi40LTIzLjIgOTUuNy0xNy42QzQ2MS41IDU1LjYgNTEyIDExNS4yIDUxMiAxODUuMWwwIDUuOGMwIDQxLjUtMTcuMiA4MS4yLTQ3LjYgMTA5LjVMMjgzLjcgNDY5LjFjLTcuNSA3LTE3LjQgMTAuOS0yNy43IDEwLjlzLTIwLjItMy45LTI3LjctMTAuOUw0Ny42IDMwMC40QzE3LjIgMjcyLjEgMCAyMzIuNCAwIDE5MC45bDAtNS44YzAtNjkuOSA1MC41LTEyOS41IDExOS40LTE0MXpcIl1cbn07XG5jb25zdCBmYUhlYXJ0QnJva2VuID0gZmFIZWFydENyYWNrO1xuY29uc3QgZmFTcXVhcmVVcFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS11cC1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg1OTksIFwiZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0XCJdLCBcImYzNjBcIiwgXCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMTYwIDE2MGMtNi41IDAtMTIuMyAzLjktMTQuOCA5LjlzLTEuMSAxMi45IDMuNSAxNy40bDQwIDQwLTcxIDcxQzExNCAzMDIgMTEyIDMwNi45IDExMiAzMTJzMiAxMCA1LjcgMTMuN2wzNi43IDM2LjdjMy42IDMuNiA4LjUgNS43IDEzLjcgNS43czEwLTIgMTMuNy01LjdsNzEtNzEgNDAgNDBjNC42IDQuNiAxMS41IDUuOSAxNy40IDMuNXM5LjktOC4zIDkuOS0xNC44bDAtMTQ0YzAtOC44LTcuMi0xNi0xNi0xNmwtMTQ0IDB6XCJdXG59O1xuY29uc3QgZmFFeHRlcm5hbExpbmtTcXVhcmVBbHQgPSBmYVNxdWFyZVVwUmlnaHQ7XG5jb25zdCBmYUZhY2VLaXNzQmVhbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWtpc3MtYmVhbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUzNywgXCJraXNzLWJlYW1cIl0sIFwiZjU5N1wiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptNDguNy0xOTguM2M0LjMgNS4xIDcuMyAxMS40IDcuMyAxOC4zcy0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRjLTIuNyAxLjUtNS43IDMtOC43IDQuM2MzLjEgMS4zIDYgMi43IDguNyA0LjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40QzI3NC43IDQ0My4xIDI1Ny40IDQ0OCAyNDAgNDQ4Yy0zLjYgMC02LjgtMi41LTcuNy02cy42LTcuMiAzLjgtOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMCAwIDAgMCAwIDBsLjItLjFjLjItLjEgLjUtLjMgLjktLjVjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFjLS40LS4yLS43LS40LS45LS41bC0uMi0uMWMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjUtMS40LTQuMS00LjEtNC4xLTdzMS42LTUuNiA0LjEtN2MwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMi0uMSAuMy0uMiAuNi0uNGMuOC0uNSAyLTEuMiAzLjQtMi4xYzIuOC0xLjkgNi41LTQuNSAxMC4yLTcuNmMzLjctMy4xIDcuMi02LjYgOS42LTEwLjFjMi41LTMuNSAzLjUtNi40IDMuNS04LjZzLTEtNS0zLjUtOC42Yy0yLjUtMy41LTUuOS02LjktOS42LTEwLjFjLTMuNy0zLjEtNy40LTUuNy0xMC4yLTcuNmMtMS40LS45LTIuNi0xLjYtMy40LTIuMWwtLjQtLjMtLjUtLjMtLjItLjFjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMy4yLTEuOC00LjctNS41LTMuOC05czQuMS02IDcuNy02YzE3LjQgMCAzNC43IDQuOSA0Ny45IDEyLjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjR6bS04Ny4xLTg0LjlzMCAwIDAgMGMwIDAgMCAwIDAgMGwtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjJjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMHptMTYwIDBjMCAwIDAgMCAwIDBsLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yYzAgMCAwIDAgMCAwYzAgMCAwIDAgMCAwczAgMCAwIDBjLTIuMSAyLjgtNS43IDMuOS04LjkgMi44cy01LjUtNC4xLTUuNS03LjZjMC0xNy45IDYuNy0zNS42IDE2LjYtNDguOGM5LjgtMTMgMjMuOS0yMy4yIDM5LjQtMjMuMnMyOS42IDEwLjIgMzkuNCAyMy4yYzkuOSAxMy4yIDE2LjYgMzAuOSAxNi42IDQ4LjhjMCAzLjQtMi4yIDYuNS01LjUgNy42cy02LjkgMC04LjktMi44YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHpcIl1cbn07XG5jb25zdCBmYUtpc3NCZWFtID0gZmFGYWNlS2lzc0JlYW07XG5jb25zdCBmYUZpbG0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkwMl0sIFwiZjAwOFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNNDggMzY4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTM2OC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek00OCAyNDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzY4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTQ4IDExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2ek00MTYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMTYwIDEyOGwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMTkyIDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwelwiXVxufTtcbmNvbnN0IGZhUnVsZXJIb3Jpem9udGFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1bGVyLWhvcml6b250YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1NDdcIiwgXCJNMCAzMzZjMCAyNi41IDIxLjUgNDggNDggNDhsNTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNjBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzM2elwiXVxufTtcbmNvbnN0IGZhUGVvcGxlUm9iYmVyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtcm9iYmVyeScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUzNlwiLCBcIk00ODguMiA1OS4xQzQ3OC4xIDk5LjYgNDQxLjcgMTI4IDQwMCAxMjhzLTc4LjEtMjguNC04OC4yLTY4LjlMMzAzIDI0LjJDMjk4LjggNy4xIDI4MS40LTMuMyAyNjQuMiAxUzIzNi43IDIyLjYgMjQxIDM5LjhsOC43IDM0LjljMTEgNDQgNDAuMiA3OS42IDc4LjMgOTkuNkwzMjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA1LjdjMzguMS0yMCA2Ny4zLTU1LjYgNzguMy05OS42TDU1OSAzOS44YzQuMy0xNy4xLTYuMS0zNC41LTIzLjMtMzguOFM1MDEuMiA3LjEgNDk3IDI0LjJsLTguNyAzNC45ek00MDAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek04MCA5NkE0OCA0OCAwIDEgMCA4MCAwYTQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2IDAgLjZMOCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAxNiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMjcuMyAxMyAyMC41YzUuOSA5LjIgMTYuMSAxNC45IDI3IDE0LjlsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzAuNCAwLTM3LjQtNTguOUMxNTcuNiAxNDIgMTMyLjEgMTI4IDEwNC43IDEyOEw3MiAxMjh6XCJdXG59O1xuY29uc3QgZmFMaWdodGJ1bGIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlnaHRidWxiJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4MTYxXSwgXCJmMGViXCIsIFwiTTI3MiAzODRjOS42LTMxLjkgMjkuNS01OS4xIDQ5LjItODYuMmMwIDAgMCAwIDAgMGM1LjItNy4xIDEwLjQtMTQuMiAxNS40LTIxLjRjMTkuOC0yOC41IDMxLjQtNjMgMzEuNC0xMDAuM0MzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgMzcuMyAxMS42IDcxLjkgMzEuNCAxMDAuM2M1IDcuMiAxMC4yIDE0LjMgMTUuNCAyMS40YzAgMCAwIDAgMCAwYzE5LjggMjcuMSAzOS43IDU0LjQgNDkuMiA4Ni4ybDE2MCAwek0xOTIgNTEyYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMTYtMTYwIDAgMCAxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHpNMTEyIDE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwIDM1LjgtODAgODB6XCJdXG59O1xuY29uc3QgZmFDYXJldExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyZXQtbGVmdCcsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiZjBkOVwiLCBcIk05LjQgMjc4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlzMTkuOCAxNi42IDE5LjggMjkuNmwwIDI1NmMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTI4LTEyOHpcIl1cbn07XG5jb25zdCBmYUNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXhjbGFtYXRpb24tY2lyY2xlXCJdLCBcImYwNmFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMzg0YzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTEyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyYzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yMjQgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFFeGNsYW1hdGlvbkNpcmNsZSA9IGZhQ2lyY2xlRXhjbGFtYXRpb247XG5jb25zdCBmYVNjaG9vbENpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjaG9vbC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NmRcIiwgXCJNMzM3LjggNS40QzMyNy0xLjggMzEzLTEuOCAzMDIuMiA1LjRMMTY2LjMgOTYgNDggOTZDMjEuNSA5NiAwIDExNy41IDAgMTQ0TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDI3MiAwczAgMCAwIDBsLTY0IDAgMC05NmMwLTM1LjMgMjguNy02NCA2NC02NGwuMyAwIC41IDBjMy40LTM3LjcgMTguNy03Mi4xIDQyLjItOTkuMUMzNTAuMiAyNjAgMzM1LjYgMjY0IDMyMCAyNjRjLTQ4LjYgMC04OC0zOS40LTg4LTg4czM5LjQtODggODgtODhzODggMzkuNCA4OCA4OGMwIDE4LjMtNS42IDM1LjMtMTUuMSA0OS40YzI5LTIxIDY0LjYtMzMuNCAxMDMuMS0zMy40YzU5LjUgMCAxMTIuMSAyOS42IDE0NCA3NC44TDY0MCAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDczLjcgOTYgMzM3LjggNS40ek05NiAxOTJsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnptMCAxMjhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMzIwIDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDAgMC0xNmMwLTguOC03LjItMTYtMTYtMTZ6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0yMi42LTE0NGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDUxOC42IDM2OHpcIl1cbn07XG5jb25zdCBmYUFycm93UmlnaHRGcm9tQnJhY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC1mcm9tLWJyYWNrZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNpZ24tb3V0XCJdLCBcImYwOGJcIiwgXCJNNTAyLjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQwMi43IDIyNCAxOTIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIxMC43IDAtNzMuNCA3My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6TTE2MCA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAzMkM0MyAzMiAwIDc1IDAgMTI4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMHpcIl1cbn07XG5jb25zdCBmYVNpZ25PdXQgPSBmYUFycm93UmlnaHRGcm9tQnJhY2tldDtcbmNvbnN0IGZhQ2lyY2xlQ2hldnJvbkRvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZXZyb24tZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2hldnJvbi1jaXJjbGUtZG93blwiXSwgXCJmMTNhXCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMHpNMTM1IDI0MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDg3IDg3IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwyNzMgMzQ1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwxMzUgMjQxelwiXVxufTtcbmNvbnN0IGZhQ2hldnJvbkNpcmNsZURvd24gPSBmYUNpcmNsZUNoZXZyb25Eb3duO1xuY29uc3QgZmFVbmxvY2tLZXlob2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VubG9jay1rZXlob2xlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ1bmxvY2stYWx0XCJdLCBcImYxM2VcIiwgXCJNMjI0IDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDQ4IDI0MCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyNTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYgMCAwLTQ4QzgwIDY0LjUgMTQ0LjUgMCAyMjQgMGM1Ny41IDAgMTA3IDMzLjcgMTMwLjEgODIuM2M3LjYgMTYgLjggMzUuMS0xNS4yIDQyLjZzLTM1LjEgLjgtNDIuNi0xNS4yQzI4My40IDgyLjYgMjU1LjkgNjQgMjI0IDY0em0zMiAzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMHpcIl1cbn07XG5jb25zdCBmYVVubG9ja0FsdCA9IGZhVW5sb2NrS2V5aG9sZTtcbmNvbnN0IGZhQ2xvdWRTaG93ZXJzSGVhdnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtc2hvd2Vycy1oZWF2eScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc0MFwiLCBcIk05NiAzMjBjLTUzIDAtOTYtNDMtOTYtOTZjMC00Mi41IDI3LjYtNzguNiA2NS45LTkxLjJDNjQuNyAxMjYuMSA2NCAxMTkuMSA2NCAxMTJDNjQgNTAuMSAxMTQuMSAwIDE3NiAwYzQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MGMxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgNS41LS42IDEwLjgtMS42IDE2Yy41IDAgMS4xIDAgMS42IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZMOTYgMzIwek04MS41IDM1My45YzEyLjIgNS4yIDE3LjggMTkuMyAxMi42IDMxLjVsLTQ4IDExMmMtNS4yIDEyLjItMTkuMyAxNy44LTMxLjUgMTIuNlMtMy4zIDQ5MC43IDEuOSA0NzguNWw0OC0xMTJjNS4yLTEyLjIgMTkuMy0xNy44IDMxLjUtMTIuNnptMTIwIDBjMTIuMiA1LjIgMTcuOCAxOS4zIDEyLjYgMzEuNWwtNDggMTEyYy01LjIgMTIuMi0xOS4zIDE3LjgtMzEuNSAxMi42cy0xNy44LTE5LjMtMTIuNi0zMS41bDQ4LTExMmM1LjItMTIuMiAxOS4zLTE3LjggMzEuNS0xMi42em0yNDQuNiAzMS41bC00OCAxMTJjLTUuMiAxMi4yLTE5LjMgMTcuOC0zMS41IDEyLjZzLTE3LjgtMTkuMy0xMi42LTMxLjVsNDgtMTEyYzUuMi0xMi4yIDE5LjMtMTcuOCAzMS41LTEyLjZzMTcuOCAxOS4zIDEyLjYgMzEuNXpNMzEzLjUgMzUzLjljMTIuMiA1LjIgMTcuOCAxOS4zIDEyLjYgMzEuNWwtNDggMTEyYy01LjIgMTIuMi0xOS4zIDE3LjgtMzEuNSAxMi42cy0xNy44LTE5LjMtMTIuNi0zMS41bDQ4LTExMmM1LjItMTIuMiAxOS4zLTE3LjggMzEuNS0xMi42elwiXVxufTtcbmNvbnN0IGZhSGVhZHBob25lc1NpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFkcGhvbmVzLXNpbXBsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhZHBob25lcy1hbHRcIl0sIFwiZjU4ZlwiLCBcIk0yNTYgODBDMTQxLjEgODAgNDggMTczLjEgNDggMjg4bDAgMTA0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0TDAgMjg4QzAgMTQ2LjYgMTE0LjYgMzIgMjU2IDMyczI1NiAxMTQuNiAyNTYgMjU2bDAgMTA0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTA0YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOHpNODAgMzUyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjR6bTI4OC02NGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xNiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNiAwelwiXVxufTtcbmNvbnN0IGZhSGVhZHBob25lc0FsdCA9IGZhSGVhZHBob25lc1NpbXBsZTtcbmNvbnN0IGZhU2l0ZW1hcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaXRlbWFwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMGU4XCIsIFwiTTIwOCA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGw2NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTggMCAwIDQwIDE1MiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgMzIgOCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTY0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNjRjMC0yNi41IDIxLjUtNDggNDgtNDhsOCAwIDAtMzJjMC00LjQtMy42LTgtOC04bC0xNTIgMCAwIDQwIDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC02NCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDggMCAwLTQwLTE1MiAwYy00LjQgMC04IDMuNi04IDhsMCAzMiA4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNjQgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTI2LjUgMjEuNS00OCA0OC00OGw4IDAgMC0zMmMwLTMwLjkgMjUuMS01NiA1Ni01NmwxNTIgMCAwLTQwLTggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02NHpcIl1cbn07XG5jb25zdCBmYUNpcmNsZURvbGxhclRvU2xvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtZG9sbGFyLXRvLXNsb3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRvbmF0ZVwiXSwgXCJmNGI5XCIsIFwiTTMyNi43IDQwMy43Yy0yMi4xIDgtNDUuOSAxMi4zLTcwLjcgMTIuM3MtNDguNy00LjQtNzAuNy0xMi4zbC0uOC0uM2MtMzAtMTEtNTYuOC0yOC43LTc4LjYtNTEuNEM3MCAzMTQuNiA0OCAyNjMuOSA0OCAyMDhDNDggOTMuMSAxNDEuMSAwIDI1NiAwUzQ2NCA5My4xIDQ2NCAyMDhjMCA1NS45LTIyIDEwNi42LTU3LjkgMTQ0Yy0xIDEtMiAyLjEtMyAzLjFjLTIxLjQgMjEuNC00Ny40IDM4LjEtNzYuMyA0OC42ek0yNTYgOTEuOWMtMTEuMSAwLTIwLjEgOS0yMC4xIDIwLjFsMCA2Yy01LjYgMS4yLTEwLjkgMi45LTE1LjkgNS4xYy0xNSA2LjgtMjcuOSAxOS40LTMxLjEgMzcuN2MtMS44IDEwLjItLjggMjAgMy40IDI5YzQuMiA4LjggMTAuNyAxNSAxNy4zIDE5LjVjMTEuNiA3LjkgMjYuOSAxMi41IDM4LjYgMTZsMi4yIC43YzEzLjkgNC4yIDIzLjQgNy40IDI5LjMgMTEuN2MyLjUgMS44IDMuNCAzLjIgMy43IDRjLjMgLjggLjkgMi42IC4yIDYuN2MtLjYgMy41LTIuNSA2LjQtOCA4LjhjLTYuMSAyLjYtMTYgMy45LTI4LjggMS45Yy02LTEtMTYuNy00LjYtMjYuMi03LjljMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYy0yLjItLjctNC4zLTEuNS02LjQtMi4xYy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjdzMi4yIDIxLjggMTIuNyAyNS4zYzEuMiAuNCAyLjcgLjkgNC40IDEuNWM3LjkgMi43IDIwLjMgNi45IDI5LjggOS4xbDAgNi40YzAgMTEuMSA5IDIwLjEgMjAuMSAyMC4xczIwLjEtOSAyMC4xLTIwLjFsMC01LjVjNS4zLTEgMTAuNS0yLjUgMTUuNC00LjZjMTUuNy02LjcgMjguNC0xOS43IDMxLjYtMzguN2MxLjgtMTAuNCAxLTIwLjMtMy0yOS40Yy0zLjktOS0xMC4yLTE1LjYtMTYuOS0yMC41Yy0xMi4yLTguOC0yOC4zLTEzLjctNDAuNC0xNy40bC0uOC0uMmMtMTQuMi00LjMtMjMuOC03LjMtMjkuOS0xMS40Yy0yLjYtMS44LTMuNC0zLTMuNi0zLjVjLS4yLS4zLS43LTEuNi0uMS01Yy4zLTEuOSAxLjktNS4yIDguMi04LjFjNi40LTIuOSAxNi40LTQuNSAyOC42LTIuNmM0LjMgLjcgMTcuOSAzLjMgMjEuNyA0LjNjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTQuNC0xLjItMTQuNC0zLjItMjEtNC40bDAtNi4zYzAtMTEuMS05LTIwLjEtMjAuMS0yMC4xek00OCAzNTJsMTYgMGMxOS41IDI1LjkgNDQgNDcuNyA3Mi4yIDY0TDY0IDQxNmwwIDMyIDE5MiAwIDE5MiAwIDAtMzItNzIuMiAwYzI4LjItMTYuMyA1Mi44LTM4LjEgNzIuMi02NGwxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhRG9uYXRlID0gZmFDaXJjbGVEb2xsYXJUb1Nsb3Q7XG5jb25zdCBmYU1lbW9yeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtZW1vcnknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1MzhcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhsMCA3LjRjMCA2LjggNC40IDEyLjYgMTAuMSAxNi4zQzIzLjMgMTYwLjMgMzIgMTc1LjEgMzIgMTkycy04LjcgMzEuNy0yMS45IDQwLjNDNC40IDIzNiAwIDI0MS44IDAgMjQ4LjZMMCAzMjBsNTc2IDAgMC03MS40YzAtNi44LTQuNC0xMi42LTEwLjEtMTYuM0M1NTIuNyAyMjMuNyA1NDQgMjA4LjkgNTQ0IDE5MnM4LjctMzEuNyAyMS45LTQwLjNjNS43LTMuNyAxMC4xLTkuNSAxMC4xLTE2LjNsMC03LjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTU3NiAzNTJMMCAzNTJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0OCAwIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDMyIDk2IDAgMC0zMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMzIgOTYgMCAwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAzMiA5NiAwIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDMyIDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NHpNMTkyIDE2MGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDBsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhUm9hZFNwaWtlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2FkLXNwaWtlcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2OFwiLCBcIk02NCAxMTYuOGMwLTE1LjggMjAuNS0yMiAyOS4zLTguOUwxOTIgMjU2bDAtMTM5LjJjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlMMzIwIDI1NmwwLTEzOS4yYzAtMTUuOCAyMC41LTIyIDI5LjMtOC45TDQ0OCAyNTZsMC0xMzkuMmMwLTE1LjggMjAuNS0yMiAyOS4zLTguOUw2MDYuOCAzMDIuMmMxNC4yIDIxLjMtMS4xIDQ5LjctMjYuNiA0OS43TDUxMiAzNTJsLTY0IDAtNjQgMC02NCAwLTY0IDAtNjQgMEw2NCAzNTJsMC0yMzUuMnpNMzIgMzg0bDU3NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUZpcmVCdXJuZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlyZS1idXJuZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZjFcIiwgXCJNMzQ1LjcgNDguM0wzNTggMzQuNWM1LjQtNi4xIDEzLjMtOC44IDIwLjktOC45YzcuMiAwIDE0LjMgMi42IDE5LjkgNy44YzE5LjcgMTguMyAzOS44IDQzLjIgNTUgNzAuNkM0NjkgMTMxLjIgNDgwIDE2Mi4yIDQ4MCAxOTIuMkM0ODAgMjgwLjggNDA4LjcgMzUyIDMyMCAzNTJjLTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjhjMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNWMyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjJDMjczLjQgMi4zIDI4MC43LS4yIDI4OCAwYzE0LjEgLjMgMjMuOCAxMS40IDMyLjcgMjEuNmMwIDAgMCAwIDAgMGMyIDIuMyA0IDQuNiA2IDYuN2wxOSAxOS45ek0zODQgMjQwLjJjMC0zNi41LTM3LTczLTU0LjgtODguNGMtNS40LTQuNy0xMy4xLTQuNy0xOC41IDBDMjkzIDE2Ny4xIDI1NiAyMDMuNiAyNTYgMjQwLjJjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMzIgMjg4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA2NCA0NDggMCAwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTk2ek0zMjAgNDgwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTYwLTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTE5MiA0ODBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhRmxhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFnJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3OTg4LCA2MTcyNV0sIFwiZjAyNFwiLCBcIk02NCAzMkM2NCAxNC4zIDQ5LjcgMCAzMiAwUzAgMTQuMyAwIDMyTDAgNjQgMCAzNjggMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCA2NC4zLTE2LjFjNDEuMS0xMC4zIDg0LjYtNS41IDEyMi41IDEzLjRjNDQuMiAyMi4xIDk1LjUgMjQuOCAxNDEuNyA3LjRsMzQuNy0xM2MxMi41LTQuNyAyMC44LTE2LjYgMjAuOC0zMGwwLTI0Ny43YzAtMjMtMjQuMi0zOC00NC44LTI3LjdsLTkuNiA0LjhjLTQ2LjMgMjMuMi0xMDAuOCAyMy4yLTE0Ny4xIDBjLTM1LjEtMTcuNi03NS40LTIyLTExMy41LTEyLjVMNjQgNDhsMC0xNnpcIl1cbn07XG5jb25zdCBmYUhhbnVraWFoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbnVraWFoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MzM0XSwgXCJmNmU2XCIsIFwiTTMxNC4yIDMuM0MzMDkuMSAxMi4xIDI5NiAzNi42IDI5NiA1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43QzMyNC42IDEuMiAzMjIuNCAwIDMyMCAwcy00LjYgMS4yLTUuOCAzLjN6bS0yODggNDhDMjEuMSA2MC4xIDggODQuNiA4IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43QzM2LjYgNDkuMiAzNC40IDQ4IDMyIDQ4cy00LjYgMS4yLTUuOCAzLjN6TTg4IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzEwMS4xIDYwLjEgODggODQuNiA4OCAxMDR6bTgyLjItNTIuN0MxNjUuMSA2MC4xIDE1MiA4NC42IDE1MiAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNMjE2IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzIyOS4xIDYwLjEgMjE2IDg0LjYgMjE2IDEwNHpNMzk0LjIgNTEuM0MzODkuMSA2MC4xIDM3NiA4NC42IDM3NiAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNNDQwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzQ1My4xIDYwLjEgNDQwIDg0LjYgNDQwIDEwNHptODIuMi01Mi43QzUxNy4xIDYwLjEgNTA0IDg0LjYgNTA0IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek01ODQgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdjLTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDNTk3LjEgNjAuMSA1ODQgODQuNiA1ODQgMTA0ek0xMTIgMTYwYy04LjggMC0xNiA3LjItMTYgMTZsMCA5NiAwIDE2IDMyIDAgMC0xNiAwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTYgMCAxNiAzMiAwIDAtMTYgMC05NmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDk2IDAgMTYgMzIgMCAwLTE2IDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em0xNjAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTYgMCAxNiAzMiAwIDAtMTYgMC05NmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDk2IDAgMTYgMzIgMCAwLTE2IDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA5NiAwIDE2IDMyIDAgMC0xNiAwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnpNMzUyIDE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE3Nkw5NiAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDUzIDQzIDk2IDk2IDk2bDE5MiAwIDAgNjQtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDAgMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwIDAtNjQgMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwIDAtMTc2elwiXVxufTtcbmNvbnN0IGZhRmVhdGhlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmZWF0aGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NzE4XSwgXCJmNTJkXCIsIFwiTTI3OC41IDIxNS42TDIzIDQ3MWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU3LTU3IDY4IDBjNDkuNyAwIDk3LjktMTQuNCAxMzktNDFjMTEuMS03LjIgNS41LTIzLTcuOC0yM2MtNS4xIDAtOS4yLTQuMS05LjItOS4yYzAtNC4xIDIuNy03LjYgNi41LTguOGw4MS0yNC4zYzIuNS0uOCA0LjgtMi4xIDYuNy00bDIyLjQtMjIuNGMxMC4xLTEwLjEgMi45LTI3LjMtMTEuMy0yNy4zbC0zMi4yIDBjLTUuMSAwLTkuMi00LjEtOS4yLTkuMmMwLTQuMSAyLjctNy42IDYuNS04LjhsMTEyLTMzLjZjNC0xLjIgNy40LTMuOSA5LjMtNy43QzUwNi40IDIwNy42IDUxMiAxODQuMSA1MTIgMTYwYzAtNDEtMTYuMy04MC4zLTQ1LjMtMTA5LjNsLTUuNS01LjVDNDMyLjMgMTYuMyAzOTMgMCAzNTIgMHMtODAuMyAxNi4zLTEwOS4zIDQ1LjNMMTM5IDE0OUM5MSAxOTcgNjQgMjYyLjEgNjQgMzMwbDAgNTUuM0wyNTMuNiAxOTUuOGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGM1LjQgNS40IDYuMSAxMy42IDIuMiAxOS44elwiXVxufTtcbmNvbnN0IGZhVm9sdW1lTG93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbHVtZS1sb3cnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyNjQsIFwidm9sdW1lLWRvd25cIl0sIFwiZjAyN1wiLCBcIk0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NGwwIDM4NGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1MiA2NCAzNTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjcuOCAwTDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6TTQxMi42IDE4MS41QzQzNC4xIDE5OS4xIDQ0OCAyMjUuOSA0NDggMjU2cy0xMy45IDU2LjktMzUuNCA3NC41Yy0xMC4zIDguNC0yNS40IDYuOC0zMy44LTMuNXMtNi44LTI1LjQgMy41LTMzLjhDMzkzLjEgMjg0LjQgNDAwIDI3MSA0MDAgMjU2cy02LjktMjguNC0xNy43LTM3LjNjLTEwLjMtOC40LTExLjgtMjMuNS0zLjUtMzMuOHMyMy41LTExLjggMzMuOC0zLjV6XCJdXG59O1xuY29uc3QgZmFWb2x1bWVEb3duID0gZmFWb2x1bWVMb3c7XG5jb25zdCBmYUNvbW1lbnRTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50LXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGIzXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNTEyLjkgMzc2LjdDNTUyLjIgMzQwLjIgNTc2IDI5Mi4zIDU3NiAyNDBDNTc2IDEyNS4xIDQ2MS40IDMyIDMyMCAzMmMtNjcuNyAwLTEyOS4zIDIxLjQtMTc1LjEgNTYuM0wzOC44IDUuMXptMzg1LjIgNDI1TDgyLjkgMTYxLjNDNzAuNyAxODUuNiA2NCAyMTIuMiA2NCAyNDBjMCA0NS4xIDE3LjcgODYuOCA0Ny43IDEyMC45Yy0xLjkgMjQuNS0xMS40IDQ2LjMtMjEuNCA2Mi45Yy01LjUgOS4yLTExLjEgMTYuNi0xNS4yIDIxLjZjLTIuMSAyLjUtMy43IDQuNC00LjkgNS43Yy0uNiAuNi0xIDEuMS0xLjMgMS40bC0uMyAuM2MwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjLTQuNiA0LjYtNS45IDExLjQtMy40IDE3LjRjMi41IDYgOC4zIDkuOSAxNC44IDkuOWMyOC43IDAgNTcuNi04LjkgODEuNi0xOS4zYzIyLjktMTAgNDIuNC0yMS45IDU0LjMtMzAuNmMzMS44IDExLjUgNjcgMTcuOSAxMDQuMSAxNy45YzM3IDAgNzIuMy02LjQgMTA0LjEtMTcuOXpcIl1cbn07XG5jb25zdCBmYUNsb3VkU3VuUmFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1zdW4tcmFpbicsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzc4Ml0sIFwiZjc0M1wiLCBcIk0yOTQuMiAxLjJjNS4xIDIuMSA4LjcgNi43IDkuNiAxMi4xbDEwLjQgNjIuNGMtMjMuMyAxMC44LTQyLjkgMjguNC01NiA1MC4zYy0xNC42LTktMzEuOC0xNC4xLTUwLjItMTQuMWMtNTMgMC05NiA0My05NiA5NmMwIDM1LjUgMTkuMyA2Ni42IDQ4IDgzLjJjLjggMzEuOCAxMy4yIDYwLjcgMzMuMSA4Mi43bC01NiAzOS4yYy00LjUgMy4yLTEwLjMgMy44LTE1LjQgMS42cy04LjctNi43LTkuNi0xMi4xTDk4LjEgMzE3LjkgMTMuNCAzMDMuOGMtNS40LS45LTEwLTQuNS0xMi4xLTkuNnMtMS41LTEwLjkgMS42LTE1LjRMNTIuNSAyMDggMi45IDEzNy4yYy0zLjItNC41LTMuOC0xMC4zLTEuNi0xNS40czYuNy04LjcgMTIuMS05LjZMOTguMSA5OC4xbDE0LjEtODQuN2MuOS01LjQgNC41LTEwIDkuNi0xMi4xczEwLjktMS41IDE1LjQgMS42TDIwOCA1Mi41IDI3OC44IDIuOWM0LjUtMy4yIDEwLjMtMy44IDE1LjQtMS42ek0yMDggMTQ0YzEzLjggMCAyNi43IDQuNCAzNy4xIDExLjljLTEuMiA0LjEtMi4yIDguMy0zIDEyLjZjLTM3LjkgMTQuNi02Ny4yIDQ2LjYtNzcuOCA4Ni40QzE1MS44IDI0My4xIDE0NCAyMjYuNSAxNDQgMjA4YzAtMzUuMyAyOC43LTY0IDY0LTY0em02OS40IDI3NmMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43em05NiAwYzExIDcuNCAxNCAyMi4zIDYuNyAzMy4zbC0zMiA0OGMtNy40IDExLTIyLjMgMTQtMzMuMyA2LjdzLTE0LTIyLjMtNi43LTMzLjNsMzItNDhjNy40LTExIDIyLjMtMTQgMzMuMy02Ljd6bTk2IDBjMTEgNy40IDE0IDIyLjMgNi43IDMzLjNsLTMyIDQ4Yy03LjQgMTEtMjIuMyAxNC0zMy4zIDYuN3MtMTQtMjIuMy02LjctMzMuM2wzMi00OGM3LjQtMTEgMjIuMy0xNCAzMy4zLTYuN3ptOTYgMGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43em03NC41LTExNi4xYzAgNDQuMi0zNS44IDgwLTgwIDgwbC0yNzEuOSAwYy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3IDgwLTk0LjZsMC0xLjNjMC01MyA0My05NiA5Ni05NmMzNC45IDAgNjUuNCAxOC42IDgyLjIgNDYuNGMxMy05LjEgMjguOC0xNC40IDQ1LjgtMTQuNGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDUuOS0uNiAxMS43LTEuOSAxNy4yYzM3LjQgNi43IDY1LjggMzkuNCA2NS44IDc4Ljd6XCJdXG59O1xuY29uc3QgZmFDb21wcmVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wcmVzcycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjA2NlwiLCBcIk0xNjAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NnpNMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDB6TTM1MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC02NHpNMzIwIDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMHpcIl1cbn07XG5jb25zdCBmYVdoZWF0QXduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWF0LWF3bicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wid2hlYXQtYWx0XCJdLCBcImUyY2RcIiwgXCJNNTA1IDQxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMzgzIDk1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODgtODh6TTMwNS41IDI3LjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDI3MS41IDM4LjZjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44bC0xMS4zLTExLjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0xMS4zIDExLjNjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44TDEwMS44IDIzMWMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNjcuOSAyNDIuM2MtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNEw5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguOS02OC45IDEyLjIgMTIuMmMzNy41IDM3LjUgOTguMyAzNy41IDEzNS44IDBsMTEuMy0xMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMS4zLTExLjNjLTIxLjgtMjEuOC00OS42LTM0LjEtNzguMS0zNi45bDMxLjktMzEuOSAxMi4yIDEyLjJjMzcuNSAzNy41IDk4LjMgMzcuNSAxMzUuOCAwbDExLjMtMTEuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtMTEuMy0xMS4zYy0yMS44LTIxLjgtNDkuNi0zNC4xLTc4LjEtMzYuOWwzMS45LTMxLjkgMTIuMiAxMi4yYzM3LjUgMzcuNSA5OC4zIDM3LjUgMTM1LjggMEw0ODYuNSAyMzFjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZMNDc1LjIgMTk3Yy01LjItNS4yLTEwLjYtOS44LTE2LjQtMTMuOUw1MDUgMTM3YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU5LjQgNTkuNGMtMjAuNi00LjQtNDItMy43LTYyLjMgMi4xYzYuMS0yMS4zIDYuNi00My44IDEuNC02NS4zTDQwOSA0MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDMyOS4xIDUyLjljLTMuNy01LTcuOC05LjgtMTIuNC0xNC4zTDMwNS41IDI3LjN6XCJdXG59O1xuY29uc3QgZmFXaGVhdEFsdCA9IGZhV2hlYXRBd247XG5jb25zdCBmYUFua2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5raCcsXG4gIGljb246IFszMjAsIDUxMiwgWzk3NjVdLCBcImY2NDRcIiwgXCJNOTYgMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRjMCA0MS42LTIwLjcgNzYuNi00Ni42IDEwNC4xYy01LjkgNi4yLTExLjggMTEuOC0xNy40IDE2LjdjLTUuNi00LjktMTEuNS0xMC41LTE3LjQtMTYuN0MxMTYuNyAyMDQuNiA5NiAxNjkuNiA5NiAxMjh6TTE2MCAwQzg5LjMgMCAzMiA1Ny4zIDMyIDEyOGMwIDUyLjQgMjEuNSA5NS41IDQ2LjggMTI4TDMyIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwIDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDYuOCAwYzI1LjQtMzIuNSA0Ni44LTc1LjYgNDYuOC0xMjhDMjg4IDU3LjMgMjMwLjcgMCAxNjAgMHpcIl1cbn07XG5jb25zdCBmYUhhbmRzSG9sZGluZ0NoaWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWhvbGRpbmctY2hpbGQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZmFcIiwgXCJNMzIwIDBhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwem00NC43IDE2NC4zTDM3NS44IDI1M2MxLjYgMTMuMi03LjcgMjUuMS0yMC44IDI2LjhzLTI1LjEtNy43LTI2LjgtMjAuOGwtNC40LTM1LTcuNiAwLTQuNCAzNWMtMS42IDEzLjItMTMuNiAyMi41LTI2LjggMjAuOHMtMjIuNS0xMy42LTIwLjgtMjYuOGwxMS4xLTg4LjhMMjU1LjUgMTgxYy0xMC4xIDguNi0yNS4zIDcuMy0zMy44LTIuOHMtNy4zLTI1LjMgMi44LTMzLjhsMjcuOS0yMy42QzI3MS4zIDEwNC44IDI5NS4zIDk2IDMyMCA5NnM0OC43IDguOCA2Ny42IDI0LjdsMjcuOSAyMy42YzEwLjEgOC42IDExLjQgMjMuNyAyLjggMzMuOHMtMjMuNyAxMS40LTMzLjggMi44bC0xOS44LTE2Ljd6TTQwIDY0YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDAgMCA4MCAwIDQwLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsNTEuMSA1MS4xYzguMyA4LjMgMjEuMyA5LjYgMzEgMy4xYzEyLjktOC42IDE0LjctMjYuOSAzLjctMzcuOGwtMTUuMi0xNS4yLTMyLTMyYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDMyIDMyIDE1LjIgMTUuMmMwIDAgMCAwIDAgMGwyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMmwwIDc4LjljMCAyNi41LTIxLjUgNDgtNDggNDhsLTY2LjcgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVMMCAyMjRsMC02NCAwLTU2QzAgODEuOSAxNy45IDY0IDQwIDY0em01NjAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDU2IDAgNjQgMCAxMDEuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNDAwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC03OC45YzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuM2MwIDAgMCAwIDAgMGwxNS4yLTE1LjIgMzItMzJjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMzIgMzItMTUuMiAxNS4yYy0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOGM5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wwLTQwLjIgMC04MCAwLTQwYzAtMjIuMSAxNy45LTQwIDQwLTQwelwiXVxufTtcbmNvbnN0IGZhQXN0ZXJpc2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXN0ZXJpc2snLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMDAzMywgNjE1NDVdLCBcIjJhXCIsIFwiTTE5MiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEzNS41IDExMS41LTY2LjljMTUuMi05LjEgMzQuOC00LjIgNDMuOSAxMXM0LjIgMzQuOC0xMSA0My45TDI1NC4yIDI1NmwxMTQuMyA2OC42YzE1LjIgOS4xIDIwLjEgMjguNyAxMSA0My45cy0yOC43IDIwLjEtNDMuOSAxMUwyMjQgMzEyLjUgMjI0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEzNS41TDQ4LjUgMzc5LjRjLTE1LjIgOS4xLTM0LjggNC4yLTQzLjktMTFzLTQuMi0zNC44IDExLTQzLjlMMTI5LjggMjU2IDE1LjUgMTg3LjRjLTE1LjItOS4xLTIwLjEtMjguNy0xMS00My45czI4LjctMjAuMSA0My45LTExTDE2MCAxOTkuNSAxNjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2hlY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5NzQ1LCA5OTg5LCA2MTUxMCwgXCJjaGVjay1zcXVhcmVcIl0sIFwiZjE0YVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zMzcgMjA5TDIwOSAzMzdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQ3IDQ3TDMwMyAxNzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45elwiXVxufTtcbmNvbnN0IGZhQ2hlY2tTcXVhcmUgPSBmYVNxdWFyZUNoZWNrO1xuY29uc3QgZmFQZXNldGFTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blc2V0YS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMjIxXCIsIFwiTTY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NGwwIDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgOTYgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDk2IDBjNzcuNCAwIDE0Mi01NSAxNTYuOC0xMjhsMy4yIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMuMiAwQzMzNCA4NyAyNjkuNCAzMiAxOTIgMzJMNjQgMzJ6TTI4Mi41IDE2MEw5NiAxNjBsMC02NCA5NiAwYzQxLjggMCA3Ny40IDI2LjcgOTAuNSA2NHpNOTYgMjI0bDE4Ni41IDBjLTEzLjIgMzcuMy00OC43IDY0LTkwLjUgNjRsLTk2IDAgMC02NHpcIl1cbn07XG5jb25zdCBmYUhlYWRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZGluZycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiaGVhZGVyXCJdLCBcImYxZGNcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0OCAwIDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxMTIgMjI0IDAgMC0xMTItMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwIDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxNDQgMCAxNzYgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNDggMC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0xNDQtMjI0IDAgMCAxNDQgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNDggMC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0xNzZMNDggOTYgMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpcIl1cbn07XG5jb25zdCBmYUhlYWRlciA9IGZhSGVhZGluZztcbmNvbnN0IGZhR2hvc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2hvc3QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgxMjNdLCBcImY2ZTJcIiwgXCJNNDAuMSA0NjcuMWwtMTEuMiA5Yy0zLjIgMi41LTcuMSAzLjktMTEuMSAzLjlDOCA0ODAgMCA0NzIgMCA0NjIuMkwwIDE5MkMwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJsMCAyNzAuMmMwIDkuOC04IDE3LjgtMTcuOCAxNy44Yy00IDAtNy45LTEuNC0xMS4xLTMuOWwtMTEuMi05Yy0xMy40LTEwLjctMzIuOC05LTQ0LjEgMy45TDI2OS4zIDUwNmMtMy4zIDMuOC04LjIgNi0xMy4zIDZzLTkuOS0yLjItMTMuMy02bC0yNi42LTMwLjVjLTEyLjctMTQuNi0zNS40LTE0LjYtNDguMiAwTDE0MS4zIDUwNmMtMy4zIDMuOC04LjIgNi0xMy4zIDZzLTkuOS0yLjItMTMuMy02TDg0LjIgNDcxYy0xMS4zLTEyLjktMzAuNy0xNC42LTQ0LjEtMy45ek0xNjAgMTkyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUxpc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGlzdC1zcXVhcmVzXCJdLCBcImYwM2FcIiwgXCJNNDAgNDhDMjYuNyA0OCAxNiA1OC43IDE2IDcybDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0TDQwIDQ4ek0xOTIgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMTkyIDY0em0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yODggMHpNMTYgMjMybDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNNDAgMzY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMHpcIl1cbn07XG5jb25zdCBmYUxpc3RTcXVhcmVzID0gZmFMaXN0O1xuY29uc3QgZmFTcXVhcmVQaG9uZUZsaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBob25lLWZsaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBob25lLXNxdWFyZS1hbHRcIl0sIFwiZjg3YlwiLCBcIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwem0tOTAuNyA5Ni43Yy05LjctMi42LTE5LjkgMi4zLTIzLjcgMTEuNmwtMjAgNDhjLTMuNCA4LjItMSAxNy42IDUuOCAyMy4yTDI4MCAyMzEuN2MtMTYuNiAzNS4yLTQ1LjEgNjMuNy04MC4zIDgwLjNsLTIwLjItMjQuN2MtNS42LTYuOC0xNS05LjItMjMuMi01LjhsLTQ4IDIwYy05LjMgMy45LTE0LjIgMTQtMTEuNiAyMy43bDEyIDQ0QzExMS4xIDM3OCAxMTkgMzg0IDEyOCAzODRjMTIzLjcgMCAyMjQtMTAwLjMgMjI0LTIyNGMwLTktNi0xNi45LTE0LjctMTkuM2wtNDQtMTJ6XCJdXG59O1xuY29uc3QgZmFQaG9uZVNxdWFyZUFsdCA9IGZhU3F1YXJlUGhvbmVGbGlwO1xuY29uc3QgZmFDYXJ0UGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJ0LXBsdXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYyMTdcIiwgXCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMNjkuNSAwYzIyIDAgNDEuNSAxMi44IDUwLjYgMzJsNDExIDBjMjYuMyAwIDQ1LjUgMjUgMzguNiA1MC40bC00MSAxNTIuM2MtOC41IDMxLjQtMzcgNTMuMy02OS41IDUzLjNsLTI4OC41IDAgNS40IDI4LjVjMi4yIDExLjMgMTIuMSAxOS41IDIzLjYgMTkuNUw0ODggMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yODguMyAwYy0zNC42IDAtNjQuMy0yNC42LTcwLjctNTguNUw3Ny40IDU0LjVjLS43LTMuOC00LTYuNS03LjktNi41TDI0IDQ4QzEwLjcgNDggMCAzNy4zIDAgMjR6TTEyOCA0NjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMzM2LTQ4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNMjUyIDE2MGMwIDExIDkgMjAgMjAgMjBsNDQgMCAwIDQ0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNDQgNDQgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQ0IDAgMC00NGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCA0NC00NCAwYy0xMSAwLTIwIDktMjAgMjB6XCJdXG59O1xuY29uc3QgZmFHYW1lcGFkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dhbWVwYWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYxMWJcIiwgXCJNMTkyIDY0Qzg2IDY0IDAgMTUwIDAgMjU2Uzg2IDQ0OCAxOTIgNDQ4bDI1NiAwYzEwNiAwIDE5Mi04NiAxOTItMTkycy04Ni0xOTItMTkyLTE5MkwxOTIgNjR6TTQ5NiAxNjhhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwek0zOTIgMzA0YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTE2OCAyMDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDMyIDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDAgMCAzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTMyLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzIgMCAwLTMyelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlRG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1kb3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyODAsIFwiZG90LWNpcmNsZVwiXSwgXCJmMTkyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTM1MmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpcIl1cbn07XG5jb25zdCBmYURvdENpcmNsZSA9IGZhQ2lyY2xlRG90O1xuY29uc3QgZmFGYWNlRGl6enkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1kaXp6eScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZGl6enlcIl0sIFwiZjU2N1wiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMC0yMjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTEwMC43IDEzMi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwTDE2MCAxNjkuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDE4Mi42IDE5MmwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEwxNjAgMjE0LjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkwxMzcuNCAxOTJsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6bTE5MiAwYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwTDM1MiAxNjkuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDM3NC42IDE5MmwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEwzNTIgMjE0LjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkwzMjkuNCAxOTJsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFEaXp6eSA9IGZhRmFjZURpenp5O1xuY29uc3QgZmFFZ2cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWdnJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI5MzcwXSwgXCJmN2ZiXCIsIFwiTTE5MiA0OTZDODYgNDk2IDAgMzk0IDAgMjg4QzAgMTc2IDY0IDE2IDE5MiAxNnMxOTIgMTYwIDE5MiAyNzJjMCAxMDYtODYgMjA4LTE5MiAyMDh6TTE1NC44IDEzNGM2LjUtNiA3LTE2LjEgMS0yMi42cy0xNi4xLTctMjIuNi0xYy0yMy45IDIxLjgtNDEuMSA1Mi43LTUyLjMgODQuMkM2OS43IDIyNi4xIDY0IDI1OS43IDY0IDI4OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMjQuNSA1LTU0LjQgMTUuMS04Mi44YzEwLjEtMjguNSAyNS01NC4xIDQzLjctNzEuMnpcIl1cbn07XG5jb25zdCBmYUhvdXNlTWVkaWNhbENpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTEzXCIsIFwiTTMyMCAzNjhjMCA1OS41IDI5LjUgMTEyLjEgNzQuOCAxNDRsLTI2Ni43IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTYwLjQtMzIgMGMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTIyLjEgMTkzLjljLTguNS0xLjMtMTcuMy0xLjktMjYuMS0xLjljLTU0LjcgMC0xMDMuNSAyNC45LTEzNS44IDY0TDMyMCAyNTZsMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMjIuNiAxNDRsMzYuNy0zNi43YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBMNDk2IDM0NS40bC0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZMNDczLjQgMzY4bC0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0OTYgMzkwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw1MTguNiAzNjh6XCJdXG59O1xuY29uc3QgZmFDYW1wZ3JvdW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbXBncm91bmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs5OTc4XSwgXCJmNmJiXCIsIFwiTTM3NyA1MmMxMS0xMy44IDguOC0zMy45LTUtNDVzLTMzLjktOC44LTQ1IDVMMjg4IDYwLjggMjQ5IDEyYy0xMS0xMy44LTMxLjItMTYtNDUtNXMtMTYgMzEuMi01IDQ1bDQ4IDYwTDEyLjMgNDA1LjRDNC4zIDQxNS40IDAgNDI3LjcgMCA0NDAuNEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNDAgMCAyNDAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTIzLjZjMC0xMi43LTQuMy0yNS4xLTEyLjMtMzVMMzI5IDExMmw0OC02MHpNMjg4IDQ0OGwtMTE5LjUgMEwyODggMjkxLjcgNDA3LjUgNDQ4IDI4OCA0NDh6XCJdXG59O1xuY29uc3QgZmFGb2xkZXJQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci1wbHVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjVlXCIsIFwiTTUxMiA0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEyOCAwYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZsMTkuMiAyNS42YzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZ6TTIzMiAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0IDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTY0IDAgMC02NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDY0LTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjQgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhRnV0Ym9sID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Z1dGJvbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5MTcsIFwiZnV0Ym9sLWJhbGxcIiwgXCJzb2NjZXItYmFsbFwiXSwgXCJmMWUzXCIsIFwiTTQxNy4zIDM2MC4xbC03MS42LTQuOGMtNS4yLS4zLTEwLjMgMS4xLTE0LjUgNC4ycy03LjIgNy40LTguNCAxMi41bC0xNy42IDY5LjZDMjg5LjUgNDQ1LjggMjczIDQ0OCAyNTYgNDQ4cy0zMy41LTIuMi00OS4yLTYuNEwxODkuMiAzNzJjLTEuMy01LTQuMy05LjQtOC40LTEyLjVzLTkuMy00LjUtMTQuNS00LjJsLTcxLjYgNC44Yy0xNy42LTI3LjItMjguNS01OS4yLTMwLjQtOTMuNkwxMjUgMjI4LjNjNC40LTIuOCA3LjYtNyA5LjItMTEuOXMxLjQtMTAuMi0uNS0xNWwtMjYuNy02Ni42QzEyOCAxMDkuMiAxNTUuMyA4OSAxODYuNyA3Ni45bDU1LjIgNDZjNCAzLjMgOSA1LjEgMTQuMSA1LjFzMTAuMi0xLjggMTQuMS01LjFsNTUuMi00NmMzMS4zIDEyLjEgNTguNyAzMi4zIDc5LjYgNTcuOWwtMjYuNyA2Ni42Yy0xLjkgNC44LTIuMSAxMC4xLS41IDE1czQuOSA5LjEgOS4yIDExLjlsNjAuNyAzOC4yYy0xLjkgMzQuNC0xMi44IDY2LjQtMzAuNCA5My42ek0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMTQuMS0zMjUuN2MtOC40LTYuMS0xOS44LTYuMS0yOC4yIDBMMTk0IDIyMWMtOC40IDYuMS0xMS45IDE2LjktOC43IDI2LjhsMTguMyA1Ni4zYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNmw1OS4yIDBjMTAuNCAwIDE5LjYtNi43IDIyLjgtMTYuNmwxOC4zLTU2LjNjMy4yLTkuOS0uMy0yMC43LTguNy0yNi44bC00Ny45LTM0Ljh6XCJdXG59O1xuY29uc3QgZmFGdXRib2xCYWxsID0gZmFGdXRib2w7XG5jb25zdCBmYVNvY2NlckJhbGwgPSBmYUZ1dGJvbDtcbmNvbnN0IGZhUGFpbnRicnVzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWludGJydXNoJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4Mzk2LCBcInBhaW50LWJydXNoXCJdLCBcImYxZmNcIiwgXCJNMzM5LjMgMzY3LjFjMjcuMy0zLjkgNTEuOS0xOS40IDY3LjItNDIuOUw1NjguMiA3NC4xYzEyLjYtMTkuNSA5LjQtNDUuMy03LjYtNjEuMlM1MTcuNy00LjQgNDk5LjEgOS42TDI2Mi40IDE4Ny4yYy0yNCAxOC0zOC4yIDQ2LjEtMzguNCA3Ni4xTDMzOS4zIDM2Ny4xem0tMTkuNiAyNS40bC0xMTYtMTA0LjRDMTQzLjkgMjkwLjMgOTYgMzM5LjYgOTYgNDAwYzAgMy45IC4yIDcuOCAuNiAxMS42Qzk4LjQgNDI5LjEgODYuNCA0NDggNjguOCA0NDhMNjQgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE0NCAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyYzAtMi41LS4xLTUtLjItNy41elwiXVxufTtcbmNvbnN0IGZhUGFpbnRCcnVzaCA9IGZhUGFpbnRicnVzaDtcbmNvbnN0IGZhTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4Mjc0XSwgXCJmMDIzXCIsIFwiTTE0NCAxNDRsMCA0OCAxNjAgMCAwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwek04MCAxOTJsMC00OEM4MCA2NC41IDE0NC41IDAgMjI0IDBzMTQ0IDY0LjUgMTQ0IDE0NGwwIDQ4IDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDI1NmMwLTM1LjMgMjguNy02NCA2NC02NGwxNiAwelwiXVxufTtcbmNvbnN0IGZhR2FzUHVtcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXMtcHVtcCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5ODFdLCBcImY1MmZcIiwgXCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwyNTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MiA4IDBjNDguNiAwIDg4IDM5LjQgODggODhsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTU0Yy0yNy42LTcuMS00OC0zMi4yLTQ4LTYybDAtNjRMMzg0IDY0Yy04LjgtOC44LTguOC0yMy4yIDAtMzJzMjMuMi04LjggMzIgMGw3Ny4zIDc3LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM2wwIDEzLjUgMCAyNCAwIDMyIDAgMTUyYzAgMzkuOC0zMi4yIDcyLTcyIDcycy03Mi0zMi4yLTcyLTcybDAtMzJjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTggMCAwIDE0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJMMzIgNjR6TTk2IDgwbDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNkwxMTIgNjRjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYUhvdFR1YlBlcnNvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3QtdHViLXBlcnNvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaG90LXR1YlwiXSwgXCJmNTkzXCIsIFwiTTI3MiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDUuMmMwIDM0IDE0LjQgNjYuNCAzOS43IDg5LjJsMTYuNCAxNC44YzE1LjIgMTMuNyAyMy44IDMzLjEgMjMuOCA1My41bDAgMTMuMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTMuMmMwLTM0LTE0LjQtNjYuNC0zOS43LTg5LjJMMjk1LjggODIuOEMyODAuNyA2OS4xIDI3MiA0OS43IDI3MiAyOS4ybDAtNS4yek0wIDMyMGwwIDE2TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xNzAuNyAwYy0xMy44IDAtMjcuMy00LjUtMzguNC0xMi44bC04NS4zLTY0QzEzNyAxNjYuNyAxMTYuOCAxNjAgOTYgMTYwYy01MyAwLTk2IDQzLTk2IDk2bDAgNjR6bTEyOCAxNmwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptODAtMTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgOTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTguOCA3LjItMTYgMTYtMTZ6bTExMiAxNmwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptODAtMTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgOTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTguOCA3LjItMTYgMTYtMTZ6TTM2MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDUuMmMwIDM0IDE0LjQgNjYuNCAzOS43IDg5LjJsMTYuNCAxNC44YzE1LjIgMTMuNyAyMy44IDMzLjEgMjMuOCA1My41bDAgMTMuMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTMuMmMwLTM0LTE0LjQtNjYuNC0zOS43LTg5LjJMNDA3LjggODIuOEMzOTIuNyA2OS4xIDM4NCA0OS43IDM4NCAyOS4ybDAtNS4yYzAtMTMuMy0xMC43LTI0LTI0LTI0ek02NCAxMjhBNjQgNjQgMCAxIDAgNjQgMGE2NCA2NCAwIDEgMCAwIDEyOHpcIl1cbn07XG5jb25zdCBmYUhvdFR1YiA9IGZhSG90VHViUGVyc29uO1xuY29uc3QgZmFNYXBMb2NhdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXAtbG9jYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1hcC1tYXJrZWRcIl0sIFwiZjU5ZlwiLCBcIk0zMDIuOCAzMTJDMzM0LjkgMjcxLjkgNDA4IDE3NC42IDQwOCAxMjBDNDA4IDUzLjcgMzU0LjMgMCAyODggMFMxNjggNTMuNyAxNjggMTIwYzAgNTQuNiA3My4xIDE1MS45IDEwNS4yIDE5MmM3LjcgOS42IDIyIDkuNiAyOS42IDB6TTQxNiA1MDNsMTQ0LjktNThjOS4xLTMuNiAxNS4xLTEyLjUgMTUuMS0yMi4zTDU3NiAxNTJjMC0xNy0xNy4xLTI4LjYtMzIuOS0yMi4zbC0xMTYgNDYuNGMtLjUgMS4yLTEgMi41LTEuNSAzLjdjLTIuOSA2LjgtNi4xIDEzLjctOS42IDIwLjZMNDE2IDUwM3pNMTUuMSAxODcuM0M2IDE5MSAwIDE5OS44IDAgMjA5LjZMMCA0ODAuNGMwIDE3IDE3LjEgMjguNiAzMi45IDIyLjNMMTYwIDQ1MS44bDAtMjUxLjRjLTMuNS02LjktNi43LTEzLjgtOS42LTIwLjZjLTUuNi0xMy4yLTEwLjQtMjcuNC0xMi44LTQxLjVsLTEyMi42IDQ5ek0zODQgMjU1Yy0yMC41IDMxLjMtNDIuMyA1OS42LTU2LjIgNzdjLTIwLjUgMjUuNi01OS4xIDI1LjYtNzkuNiAwYy0xMy45LTE3LjQtMzUuNy00NS43LTU2LjItNzdsMCAxOTQuNCAxOTIgNTQuOUwzODQgMjU1elwiXVxufTtcbmNvbnN0IGZhTWFwTWFya2VkID0gZmFNYXBMb2NhdGlvbjtcbmNvbnN0IGZhSG91c2VGbG9vZFdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZsb29kLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTBlXCIsIFwiTTMwNi44IDYuMUMyOTUuNi0yIDI4MC40LTIgMjY5LjIgNi4xbC0xNzYgMTI4Yy0xMS4yIDguMi0xNS45IDIyLjYtMTEuNiAzNS44Uzk4LjEgMTkyIDExMiAxOTJsMTYgMCAwIDczYzEuNyAxIDMuMyAyIDQuOSAzLjFjMTggMTIuNCA0MC4xIDIwLjMgNTkuMiAyMC4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzEuNS0xIDMtMiA0LjUtMi45bC0uMy03My4yIDE2LjYgMGMxMy45IDAgMjYuMS04LjkgMzAuNC0yMi4xcy0uNC0yNy42LTExLjYtMzUuOGwtMTc2LTEyOHpNMjY5LjUgMzA5LjlDMjQ3IDMyNS40IDIxOS41IDMzNiAxOTIgMzM2Yy0yNi45IDAtNTUuMy0xMC44LTc3LjQtMjYuMWMwIDAgMCAwIDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSAzODkuNyAxNTkgNDAwIDE5MiA0MDBjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNS0yNy4zLTEwLjEtMzkuMi0xLjdjMCAwIDAgMCAwIDBDNDM5LjQgMzI1LjIgNDEwLjkgMzM2IDM4NCAzMzZjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMWMtMTEuMS03LjktMjUuOS03LjktMzcgMHpNMzg0IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI0NyA0MzcuNCAyMTkuNSA0NDggMTkyIDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFjMCAwIDAgMCAwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgNTAxLjcgMTU5IDUxMiAxOTIgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43YzAgMCAwIDAgMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4elwiXVxufTtcbmNvbnN0IGZhVHJlZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmVlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3Nzk0XSwgXCJmMWJiXCIsIFwiTTIxMC42IDUuOUw2MiAxNjkuNGMtMy45IDQuMi02IDkuOC02IDE1LjVDNTYgMTk3LjcgNjYuMyAyMDggNzkuMSAyMDhsMjQuOSAwTDMwLjYgMjgxLjRjLTQuMiA0LjItNi42IDEwLTYuNiAxNkMyNCAzMDkuOSAzNC4xIDMyMCA0Ni42IDMyMEw4MCAzMjAgNS40IDQwOS41QzEuOSA0MTMuNyAwIDQxOSAwIDQyNC41YzAgMTMgMTAuNSAyMy41IDIzLjUgMjMuNUwxOTIgNDQ4bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDE2OC41IDBjMTMgMCAyMy41LTEwLjUgMjMuNS0yMy41YzAtNS41LTEuOS0xMC44LTUuNC0xNUwzNjggMzIwbDMzLjQgMGMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNmMwLTYtMi40LTExLjgtNi42LTE2TDM0NCAyMDhsMjQuOSAwYzEyLjcgMCAyMy4xLTEwLjMgMjMuMS0yMy4xYzAtNS43LTIuMS0xMS4zLTYtMTUuNUwyMzcuNCA1LjlDMjM0IDIuMSAyMjkuMSAwIDIyNCAwcy0xMCAyLjEtMTMuNCA1Ljl6XCJdXG59O1xuY29uc3QgZmFCcmlkZ2VMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGNjXCIsIFwiTTMyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDUxMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC00MCAwIDAgNjQtOCAwYy02MS45IDAtMTEyIDUwLjEtMTEyIDExMmwwIDI0LjZjLTkuOSA1LjgtMTguMiAxNC4xLTIzLjggMjQuMWMtMTcuNi0yMC00My40LTMyLjctNzIuMi0zMi43Yy01MyAwLTk2IDQzLTk2IDk2bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC01My00My05Ni05Ni05NmwwLTEyOCA3MiAwIDAtNjRMNjQgOTZDNDYuMyA5NiAzMiA4MS43IDMyIDY0ek00MDggOTZsMCA2NCA4MCAwIDAtNjQtODAgMHptLTQ4IDY0bDAtNjQtODAgMCAwIDY0IDgwIDB6TTE1MiA5NmwwIDY0IDgwIDAgMC02NC04MCAwek01MjggMjQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDh6XCJdXG59O1xuY29uc3QgZmFTYWNrRG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NhY2stZG9sbGFyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTc2XSwgXCJmODFkXCIsIFwiTTMyMCA5NkwxOTIgOTYgMTQ0LjYgMjQuOUMxMzcuNSAxNC4yIDE0NS4xIDAgMTU3LjkgMEwzNTQuMSAwYzEyLjggMCAyMC40IDE0LjIgMTMuMyAyNC45TDMyMCA5NnpNMTkyIDEyOGwxMjggMGMzLjggMi41IDguMSA1LjMgMTMgOC40QzM4OS43IDE3Mi43IDUxMiAyNTAuOSA1MTIgNDE2YzAgNTMtNDMgOTYtOTYgOTZMOTYgNTEyYy01MyAwLTk2LTQzLTk2LTk2QzAgMjUwLjkgMTIyLjMgMTcyLjcgMTc5IDEzNi40YzAgMCAwIDAgMCAwczAgMCAwIDBjNC44LTMuMSA5LjItNS45IDEzLTguNHptODQgODhjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMTRjLTcuNiAxLjctMTUuMiA0LjQtMjIuMiA4LjVjLTEzLjkgOC4zLTI1LjkgMjIuOC0yNS44IDQzLjljLjEgMjAuMyAxMiAzMy4xIDI0LjcgNDAuN2MxMSA2LjYgMjQuNyAxMC44IDM1LjYgMTRsMS43IC41YzEyLjYgMy44IDIxLjggNi44IDI4IDEwLjdjNS4xIDMuMiA1LjggNS40IDUuOSA4LjJjLjEgNS0xLjggOC01LjkgMTAuNWMtNSAzLjEtMTIuOSA1LTIxLjQgNC43Yy0xMS4xLS40LTIxLjUtMy45LTM1LjEtOC41Yy0yLjMtLjgtNC43LTEuNi03LjItMi40Yy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zYzEuOSAuNiA0IDEuMyA2LjEgMi4xYzAgMCAwIDAgMCAwczAgMCAwIDBjOC4zIDIuOSAxNy45IDYuMiAyOC4yIDguNGwwIDE0LjZjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMy44YzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVjMCAwIDAgMCAwIDBsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdsMC0xMy45elwiXVxufTtcbmNvbnN0IGZhUGVuVG9TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuLXRvLXNxdWFyZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZWRpdFwiXSwgXCJmMDQ0XCIsIFwiTTQ3MS42IDIxLjdjLTIxLjktMjEuOS01Ny4zLTIxLjktNzkuMiAwTDM2Mi4zIDUxLjdsOTcuOSA5Ny45IDMwLjEtMzAuMWMyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NzEuNiAyMS43em0tMjk5LjIgMjIwYy02LjEgNi4xLTEwLjggMTMuNi0xMy41IDIxLjlsLTI5LjYgODguOGMtMi45IDguNi0uNiAxOC4xIDUuOCAyNC42czE1LjkgOC43IDI0LjYgNS44bDg4LjgtMjkuNmM4LjItMi43IDE1LjctNy40IDIxLjktMTMuNUw0MzcuNyAxNzIuMyAzMzkuNyA3NC4zIDE3Mi40IDI0MS43ek05NiA2NEM0MyA2NCAwIDEwNyAwIDE2MEwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiA2NHpcIl1cbn07XG5jb25zdCBmYUVkaXQgPSBmYVBlblRvU3F1YXJlO1xuY29uc3QgZmFDYXJTaWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nhci1zaWRlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjYzXSwgXCJmNWU0XCIsIFwiTTE3MS4zIDk2TDIyNCA5NmwwIDk2LTExMi43IDAgMzAuNC03NS45QzE0Ni41IDEwNCAxNTguMiA5NiAxNzEuMyA5NnpNMjcyIDE5MmwwLTk2IDgxLjIgMGM5LjcgMCAxOC45IDQuNCAyNSAxMmw2Ny4yIDg0TDI3MiAxOTJ6bTI1Ni4yIDFMNDI4LjIgNjhjLTE4LjItMjIuOC00NS44LTM2LTc1LTM2TDE3MS4zIDMyYy0zOS4zIDAtNzQuNiAyMy45LTg5LjEgNjAuM0w0MC42IDE5Ni40QzE2LjggMjA1LjggMCAyMjguOSAwIDI1NkwwIDM2OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMy4zIDBjNy42IDQ1LjQgNDcuMSA4MCA5NC43IDgwczg3LjEtMzQuNiA5NC43LTgwbDEzMC43IDBjNy42IDQ1LjQgNDcuMSA4MCA5NC43IDgwczg3LjEtMzQuNiA5NC43LTgwbDMzLjMgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4YzAtNjUuMi00OC44LTExOS0xMTEuOC0xMjd6TTQzNC43IDM2OGE0OCA0OCAwIDEgMSA5MC41IDMyIDQ4IDQ4IDAgMSAxIC05MC41LTMyek0xNjAgMzM2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG5jb25zdCBmYVNoYXJlTm9kZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUtbm9kZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInNoYXJlLWFsdFwiXSwgXCJmMWUwXCIsIFwiTTM1MiAyMjRjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgNCAuMiA4IC43IDExLjlsLTk0LjEgNDdDMTQ1LjQgMTcwLjIgMTIxLjkgMTYwIDk2IDE2MGMtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMyNS45IDAgNDkuNC0xMC4yIDY2LjYtMjYuOWw5NC4xIDQ3Yy0uNSAzLjktLjcgNy44LS43IDExLjljMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLTI1LjkgMC00OS40IDEwLjItNjYuNiAyNi45bC05NC4xLTQ3Yy41LTMuOSAuNy03LjggLjctMTEuOXMtLjItOC0uNy0xMS45bDk0LjEtNDdDMzAyLjYgMjEzLjggMzI2LjEgMjI0IDM1MiAyMjR6XCJdXG59O1xuY29uc3QgZmFTaGFyZUFsdCA9IGZhU2hhcmVOb2RlcztcbmNvbnN0IGZhSGVhcnRDaXJjbGVNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtbWludXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZmZcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZsMC01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMWwwIDUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTU3NiAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTY0IDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3NIYWxmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXJnbGFzcy1oYWxmJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJob3VyZ2xhc3MtMlwiXSwgXCJmMjUyXCIsIFwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMCAxMWMwIDQyLjQgMTYuOSA4My4xIDQ2LjkgMTEzLjFMMTQ2LjcgMjU2IDc4LjkgMzIzLjlDNDguOSAzNTMuOSAzMiAzOTQuNiAzMiA0MzdsMCAxMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDI1NiAwIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFMMjM3LjMgMjU2bDY3LjktNjcuOWMzMC0zMCA0Ni45LTcwLjcgNDYuOS0xMTMuMWwwLTExYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyMCAwIDY0IDAgMzIgMHpNOTYgNzVsMC0xMSAxOTIgMCAwIDExYzAgMTktNS42IDM3LjQtMTYgNTNMMTEyIDEyOGMtMTAuMy0xNS42LTE2LTM0LTE2LTUzem0xNiAzMDljMy41LTUuMyA3LjYtMTAuMyAxMi4xLTE0LjlMMTkyIDMwMS4zbDY3LjkgNjcuOWM0LjYgNC42IDguNiA5LjYgMTIuMSAxNC45TDExMiAzODR6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3MyID0gZmFIb3VyZ2xhc3NIYWxmO1xuY29uc3QgZmFNaWNyb3Njb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3Jvc2NvcGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMDBdLCBcImY2MTBcIiwgXCJNMTYwIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIgNDQ4bDI4OCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4cy01Ny4zLTEyOC0xMjgtMTI4bDAtNjRjMTA2IDAgMTkyIDg2IDE5MiAxOTJjMCA0OS4yLTE4LjUgOTQtNDguOSAxMjhsMTYuOSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMEwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTgwLTY0bDE5MiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVNpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA2ZFwiLCBcIk0yODggOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnMxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAxOTItNjQgMCAwLTI0YzAtMzAuOS0yNS4xLTU2LTU2LTU2bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjNC40IDAgOCAzLjYgOCA4bDAgMjQtODAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMjQgMCAyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtODAgMCAwLTI0YzAtNC40IDMuNi04IDgtOGw1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NiAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDI0LTY0IDAgMC0xOTJ6TTQ4MCA0MTZsMC0zMkwzMiAzODRsMCAzMmMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZ6XCJdXG59O1xuY29uc3QgZmFCYWdTaG9wcGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWctc2hvcHBpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInNob3BwaW5nLWJhZ1wiXSwgXCJmMjkwXCIsIFwiTTE2MCAxMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDQ4LTEyOCAwIDAtNDh6bS00OCA0OGwtNjQgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjA4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwIDAtNDhDMzM2IDUwLjEgMjg1LjkgMCAyMjQgMFMxMTIgNTAuMSAxMTIgMTEybDAgNDh6bTI0IDQ4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMTUyIDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFTaG9wcGluZ0JhZyA9IGZhQmFnU2hvcHBpbmc7XG5jb25zdCBmYUFycm93RG93blpBID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tei1hJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFscGhhLWRlc2NcIiwgXCJzb3J0LWFscGhhLWRvd24tYWx0XCJdLCBcImY4ODFcIiwgXCJNMTgzLjYgNDY5LjZDMTc3LjUgNDc2LjIgMTY5IDQ4MCAxNjAgNDgwcy0xNy41LTMuOC0yMy42LTEwLjRsLTg4LTk2Yy0xMS45LTEzLTExLjEtMzMuMyAyLTQ1LjJzMzMuMy0xMS4xIDQ1LjIgMkwxMjggMzY1LjcgMTI4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDEuNyAzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUw0MjkuMyAxNjBsNTAuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlMNDAyLjcgOTYgMzUyIDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnptOTYgMTkyYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdsNjQgMTI4IDE2IDMyYzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNMNDYwLjIgNDQ4bC04OC40IDAtNy4yIDE0LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsMTYtMzIgNjQtMTI4YzUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3Ljd6TTM5NS44IDQwMGw0MC40IDBMNDE2IDM1OS42IDM5NS44IDQwMHpcIl1cbn07XG5jb25zdCBmYVNvcnRBbHBoYURlc2MgPSBmYUFycm93RG93blpBO1xuY29uc3QgZmFTb3J0QWxwaGFEb3duQWx0ID0gZmFBcnJvd0Rvd25aQTtcbmNvbnN0IGZhTWl0dGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pdHRlbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjdiNVwiLCBcIk0zNTIgMzg0TDY0IDM4NCA1LjQgMTc4LjlDMS44IDE2Ni40IDAgMTUzLjQgMCAxNDAuM0MwIDYyLjggNjIuOCAwIDE0MC4zIDBsMy40IDBjNjYgMCAxMjMuNSA0NC45IDEzOS41IDEwOC45bDMxLjQgMTI1LjggMTcuNi0yMC4xQzM0NC44IDIwMC4yIDM2Mi45IDE5MiAzODIgMTkybDIuOCAwYzM0LjkgMCA2My4zIDI4LjMgNjMuMyA2My4zYzAgMTUuOS02IDMxLjItMTYuOCA0Mi45TDM1MiAzODR6TTMyIDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMnpcIl1cbn07XG5jb25zdCBmYVBlcnNvblJheXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXJheXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NGRcIiwgXCJNMjA4IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyMy4xLTI4LjYgNDcuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZsMjkuNyAwYzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDU4LjMgOTdjOS4xIDE1LjEgNC4yIDM0LjgtMTAuOSA0My45cy0zNC44IDQuMi00My45LTEwLjlMMzI4IDI1Ni45IDMyOCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNNyA3QzE2LjQtMi4zIDMxLjYtMi4zIDQxIDdsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDQxQy0yLjMgMzEuNi0yLjMgMTYuNCA3IDd6TTQ3MSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODAgODBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMNDcxIDd6TTcgNTA1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4MC04MGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNDEgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHptNDY0IDBsLTgwLTgwYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMHpcIl1cbn07XG5jb25zdCBmYVVzZXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMGMwXCIsIFwiTTE0NCAwYTgwIDgwIDAgMSAxIDAgMTYwQTgwIDgwIDAgMSAxIDE0NCAwek01MTIgMGE4MCA4MCAwIDEgMSAwIDE2MEE4MCA4MCAwIDEgMSA1MTIgMHpNMCAyOTguN0MwIDIzOS44IDQ3LjggMTkyIDEwNi43IDE5Mmw0Mi43IDBjMTUuOSAwIDMxIDMuNSA0NC42IDkuN2MtMS4zIDcuMi0xLjkgMTQuNy0xLjkgMjIuM2MwIDM4LjIgMTYuOCA3Mi41IDQzLjMgOTZjLS4yIDAtLjQgMC0uNyAwTDIxLjMgMzIwQzkuNiAzMjAgMCAzMTAuNCAwIDI5OC43ek00MDUuMyAzMjBjLS4yIDAtLjQgMC0uNyAwYzI2LjYtMjMuNSA0My4zLTU3LjggNDMuMy05NmMwLTcuNi0uNy0xNS0xLjktMjIuM2MxMy42LTYuMyAyOC43LTkuNyA0NC42LTkuN2w0Mi43IDBDNTkyLjIgMTkyIDY0MCAyMzkuOCA2NDAgMjk4LjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM2wtMjEzLjMgMHpNMjI0IDIyNGE5NiA5NiAwIDEgMSAxOTIgMCA5NiA5NiAwIDEgMSAtMTkyIDB6TTEyOCA0ODUuM0MxMjggNDExLjcgMTg3LjcgMzUyIDI2MS4zIDM1MmwxMTcuMyAwQzQ1Mi4zIDM1MiA1MTIgNDExLjcgNTEyIDQ4NS4zYzAgMTQuNy0xMS45IDI2LjctMjYuNyAyNi43bC0zMzAuNyAwYy0xNC43IDAtMjYuNy0xMS45LTI2LjctMjYuN3pcIl1cbn07XG5jb25zdCBmYUV5ZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V5ZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjA3MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDUyNS42IDM4Ni43YzM5LjYtNDAuNiA2Ni40LTg2LjEgNzkuOS0xMTguNGMzLjMtNy45IDMuMy0xNi43IDAtMjQuNmMtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMUM0NjUuNSA2OC44IDQwMC44IDMyIDMyMCAzMmMtNjguMiAwLTEyNSAyNi4zLTE2OS4zIDYwLjhMMzguOCA1LjF6TTIyMy4xIDE0OS41QzI0OC42IDEyNi4yIDI4Mi43IDExMiAzMjAgMTEyYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0YzAgMjQuOS02LjMgNDguMy0xNy40IDY4LjdMNDA4IDI5NC41YzguNC0xOS4zIDEwLjYtNDEuNCA0LjgtNjMuM2MtMTEuMS00MS41LTQ3LjgtNjkuNC04OC42LTcxLjFjLTUuOC0uMi05LjIgNi4xLTcuNCAxMS43YzIuMSA2LjQgMy4zIDEzLjIgMy4zIDIwLjNjMCAxMC4yLTIuNCAxOS44LTYuNiAyOC4zbC05MC4zLTcwLjh6TTM3MyAzODkuOWMtMTYuNCA2LjUtMzQuMyAxMC4xLTUzIDEwLjFjLTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0YzAtNi45IC41LTEzLjYgMS40LTIwLjJMODMuMSAxNjEuNUM2MC4zIDE5MS4yIDQ0IDIyMC44IDM0LjUgMjQzLjdjLTMuMyA3LjktMy4zIDE2LjcgMCAyNC42YzE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjFDMTc0LjUgNDQzLjIgMjM5LjIgNDgwIDMyMCA0ODBjNDcuOCAwIDg5LjktMTIuOSAxMjYuMi0zMi41TDM3MyAzODkuOXpcIl1cbn07XG5jb25zdCBmYUZsYXNrVmlhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFzay12aWFsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGYzXCIsIFwiTTE3NSAzODkuNGMtOS44IDE2LTE1IDM0LjMtMTUgNTMuMWMtMTAgMy41LTIwLjggNS41LTMyIDUuNWMtNTMgMC05Ni00My05Ni05NkwzMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyUzE0LjMgMCAzMiAwTDk2IDBsNjQgMCA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMjQ1LjktNDkgNzkuNnpNOTYgNjRsMCA5NiA2NCAwIDAtOTZMOTYgNjR6TTM1MiAwTDQ4MCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNTAuOUw2MjkuNyA0MDYuMmM2LjcgMTAuOSAxMC4zIDIzLjUgMTAuMyAzNi40YzAgMzguMy0zMS4xIDY5LjQtNjkuNCA2OS40bC0zMDkuMiAwYy0zOC4zIDAtNjkuNC0zMS4xLTY5LjQtNjkuNGMwLTEyLjggMy42LTI1LjQgMTAuMy0zNi40TDMyMCAyMTQuOSAzMjAgNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMHptMzIgNjRsMCAxNjBjMCA1LjktMS42IDExLjctNC43IDE2LjhMMzMwLjUgMzIwbDE3MSAwLTQ4LjgtNzkuMmMtMy4xLTUtNC43LTEwLjgtNC43LTE2LjhsMC0xNjAtNjQgMHpcIl1cbn07XG5jb25zdCBmYUhhbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTMwNiwgOTk5NSwgXCJoYW5kLXBhcGVyXCJdLCBcImYyNTZcIiwgXCJNMjg4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjA4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjcyYzAgMS41IDAgMy4xIC4xIDQuNkw2Ny42IDI4M2MtMTYtMTUuMi00MS4zLTE0LjYtNTYuNiAxLjRzLTE0LjYgNDEuMyAxLjQgNTYuNkwxMjQuOCA0NDhjNDMuMSA0MS4xIDEwMC40IDY0IDE2MCA2NGwxOS4yIDBjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZsMC0yMDhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0yMDh6XCJdXG59O1xuY29uc3QgZmFIYW5kUGFwZXIgPSBmYUhhbmQ7XG5jb25zdCBmYU9tID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ29tJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzI5XSwgXCJmNjc5XCIsIFwiTTM3OS4zIDQuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTE2IDE2Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmwxNiAxNmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGwxNi0xNmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtMTYtMTZ6TTI4MSA2Ni43Yy0yLjItMS41LTQuOS0yLjUtNy43LTIuN2MtLjYgMC0xLjMtLjEtMS45IDBjLTMuOSAuMi03LjQgMS43LTEwLjEgNC4yYy0uOSAuOC0xLjYgMS43LTIuMyAyLjZjLTEuNyAyLjQtMi43IDUuMy0yLjkgOC41YzAgLjcgMCAxLjQgMCAyLjFjLjIgMi4yIC45IDQuMyAxLjkgNi4ybC4zIC42Yy4zIC42IC44IDEuNCAxLjQgMi40YzEuMiAyIDIuOSA0LjggNS4xIDguMmM0LjQgNi43IDExLjEgMTUuNSAyMCAyNC40QzMwMi40IDE0MS4xIDMzMC4zIDE2MCAzNjggMTYwYzMxLjIgMCA1Ni42LTEwLjQgNzMuOS0yMC4yYzguNy01IDE1LjYtOS45IDIwLjQtMTMuOGMyLjQtMS45IDQuMy0zLjYgNS43LTQuOWMuNy0uNiAxLjMtMS4yIDEuNy0xLjZsLjYtLjUgLjEtLjEgLjEtLjFzMCAwIDAgMHMwIDAgMCAwYzUuOS01LjggOS41LTEzLjkgOS41LTIyLjhjMC0xNy43LTE0LjMtMzItMzItMzJjLTguNyAwLTE2LjcgMy41LTIyLjQgOS4yYy0uMSAuMS0uMiAuMi0uNSAuNGMtLjUgLjUtMS41IDEuMy0yLjggMi40Yy0yLjcgMi4yLTYuOCA1LjItMTIuMSA4LjJDMzk5LjQgOTAuNCAzODQuOCA5NiAzNjggOTZjLTIwLjggMC00Mi40LTctNTkuNS0xNC42Yy04LjQtMy43LTE1LjQtNy41LTIwLjMtMTAuM2MtMi40LTEuNC00LjMtMi41LTUuNi0zLjNjLS42LS40LTEuMS0uNy0xLjQtLjlsLS4zLS4yek0xMTUuMiAxNjkuNmM4LTYgMTcuOS05LjYgMjguOC05LjZjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTM0LjIgMGMtNy42IDAtMTMuOCA2LjItMTMuOCAxMy44YzAgMS41IC4yIDIuOSAuNyA0LjRsOCAyNGM0LjQgMTMuMSAxNi42IDIxLjkgMzAuNCAyMS45bDguOSAwIDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRjLTUwLjggMC04Mi43LTIxLjUtMTAyLjItNDIuOGMtOS45LTEwLjgtMTYuNi0yMS42LTIwLjktMjkuN2MtMi4xLTQtMy42LTcuMy00LjUtOS42Yy0uNS0xLjEtLjgtMi0xLTIuNWwtLjItLjVjLS4zLS45LS43LTEuOC0xLjEtMi42Yy0xLjItMi4yLTIuOC00LTQuNy01LjRjLTEuOS0xLjQtNC4xLTIuMy02LjUtMi44Yy0xLjQtLjMtMi45LS4zLTQuNC0uMmMtMi41IC4yLTQuOCAxLTYuOCAyLjNjLTEuMSAuNy0yLjIgMS41LTMuMSAyLjVjLTIuNCAyLjUtNC4xIDUuOC00LjUgOS41Yy0uMSAuNi0uMSAxLjEtLjEgMS43YzAgMCAwIDAgMCAwYzAgLjggLjEgMS43IC4yIDIuNWwwIC4xYzAgLjMgLjEgLjggLjIgMS4zYy4yIDEuMSAuNCAyLjcgLjggNC42Yy44IDMuOSAyIDkuNCAzLjkgMTUuOWMzLjggMTMgMTAuMyAzMC40IDIxLjMgNDhDNDguNyA0NzYuMiA4OS40IDUxMiAxNjAgNTEyYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4YzAtMjMuMy02LjItNDUuMi0xNy4xLTY0bDIyLjYgMGMyNS41IDAgNDkuOS0xMC4xIDY3LjktMjguMWwyNi41LTI2LjVjNi02IDE0LjEtOS40IDIyLjYtOS40bDUuNSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJjLTI1LjcgMC00MS40LTEyLjUtNTEuMi0yNS42Yy01LTYuNy04LjQtMTMuNC0xMC41LTE4LjZjLTEuMS0yLjUtMS44LTQuNi0yLjItNmMtLjItLjctLjQtMS4yLS41LTEuNWwtLjEtLjJjLS4zLTEuMy0uOC0yLjYtMS41LTMuOGMtMS4xLTItMi42LTMuOC00LjQtNS4xYy0yLjctMi02LTMuMi05LjYtMy4ybC0uMiAwYy04IC4xLTE0LjYgNi4xLTE1LjYgMTMuOWMwIDAgMCAwIDAgMGMwIC4zLS4xIC42LS4yIDEuMWMtLjEgLjktLjMgMi4xLS40IDMuNmMtLjMgMy0uNiA3LjMtLjYgMTIuNGMwIDEwLjEgMS4xIDIzLjkgNS44IDM4LjFjNC44IDE0LjMgMTMuNCAyOS4zIDI4LjYgNDAuN0MzNjguNyA0NzMuMyAzODkuMyA0ODAgNDE2IDQ4MGM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMC01My00My05Ni05Ni05NmwtNS41IDBjLTI1LjUgMC00OS45IDEwLjEtNjcuOSAyOC4xbC0yNi41IDI2LjVjLTYgNi0xNC4xIDkuNC0yMi42IDkuNGwtNDguMyAwYzYuOS0xNC41IDEwLjgtMzAuOCAxMC44LTQ4YzAtNjEuOS01MC4xLTExMi0xMTItMTEyYy0yNS4yIDAtNDguNSA4LjMtNjcuMiAyMi40Yy0xNC4xIDEwLjYtMTcgMzAuNy02LjQgNDQuOHMzMC43IDE3IDQ0LjggNi40elwiXVxufTtcbmNvbnN0IGZhV29ybSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3b3JtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTk5XCIsIFwiTTI1NiA5NmMwLTUzIDQzLTk2IDk2LTk2bDM4LjQgMEM0MzkuOSAwIDQ4MCA0MC4xIDQ4MCA4OS42bDAgODYuNCAwIDE2IDAgMTg0YzAgNzUuMS02MC45IDEzNi0xMzYgMTM2cy0xMzYtNjAuOS0xMzYtMTM2bDAtODBjMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBsMCAxNjhjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0xNjhjMC03NS4xIDYwLjktMTM2IDEzNi0xMzZzMTM2IDYwLjkgMTM2IDEzNmwwIDgwYzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC0xODQtMzIgMGMtNTMgMC05Ni00My05Ni05NnptMTQ0LThhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTBiXCIsIFwiTTMyMC43IDM1MmM4LjEtODkuNyA4My41LTE2MCAxNzUuMy0xNjBjOC45IDAgMTcuNiAuNyAyNi4xIDEuOUwzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWwzMiAwIDAgNjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOGwwIDExMmMwIDIyLjEgMTcuOSA0MCA0MCA0MGwxNiAwYzEuMiAwIDIuNC0uMSAzLjYtLjJjMS41IC4xIDMgLjIgNC41IC4ybDMxLjkgMCAyNCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtMjQgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwIC43IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDUxOC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhUGx1ZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbHVnJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4MjY4XSwgXCJmMWU2XCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJsMCA5NiA2NCAwIDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCA2Ny4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Ny4yQzI5NyAzOTggMzUyIDMzMy40IDM1MiAyNTZsMC0zMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjB6XCJdXG59O1xuY29uc3QgZmFDaGV2cm9uVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hldnJvbi11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjA3N1wiLCBcIk0yMzMuNCAxMDUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDI1NiAxNzMuMyA4Ni42IDM0Mi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxOTItMTkyelwiXVxufTtcbmNvbnN0IGZhSGFuZFNwb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtc3BvY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg0MDZdLCBcImYyNTlcIiwgXCJNMjQ2LjkgMjMuN0MyNDIuMyA2LjYgMjI0LjgtMy41IDIwNy43IDEuMXMtMjcuMiAyMi4xLTIyLjYgMzkuMkwyMzggMjM3LjhjMi41IDkuMi00LjUgMTguMi0xNCAxOC4yYy02LjQgMC0xMi00LjItMTMuOS0xMC4zTDE2Ni42IDEwMi43Yy01LjEtMTYuOS0yMy0yNi40LTM5LjktMjEuM3MtMjYuNCAyMy0yMS4zIDM5LjlsNjIuOCAyMDYuNGMyLjQgNy45LTcuMiAxMy44LTEzLjIgOC4xTDk5LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNHMtMTQuNiA0MS4zIDEuNCA1Ni42TDE1Ni44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDEwLjkgMCA4LjIgMGMuMSAwIC4xLS4xIC4xLS4xcy4xLS4xIC4xLS4xYzU4LjMtMy41IDEwOC42LTQzLjIgMTI1LjMtOTkuN2w4MS4yLTI3NWM1LTE2LjktNC43LTM0LjctMjEuNi0zOS44cy0zNC43IDQuNy0zOS44IDIxLjZMNDQzLjUgMjQ3LjFjLTEuNiA1LjMtNi40IDguOS0xMiA4LjljLTcuOSAwLTEzLjgtNy4zLTEyLjItMTUuMWwzNi0xNzAuM2MzLjctMTcuMy03LjQtMzQuMy0yNC43LTM3LjlzLTM0LjMgNy40LTM3LjkgMjQuN0wzNTUuMSAyMzUuMWMtMi42IDEyLjItMTMuMyAyMC45LTI1LjggMjAuOWMtMTEuOSAwLTIyLjQtOC0yNS40LTE5LjVsLTU3LTIxMi44elwiXVxufTtcbmNvbnN0IGZhU3RvcHdhdGNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3B3YXRjaCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzkyMDFdLCBcImYyZjJcIiwgXCJNMTc2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYgMCAwIDM0LjRDOTIuMyAxMTMuOCAxNiAyMDAgMTYgMzA0YzAgMTE0LjkgOTMuMSAyMDggMjA4IDIwOHMyMDgtOTMuMSAyMDgtMjA4YzAtNDEuOC0xMi4zLTgwLjctMzMuNS0xMTMuMmwyNC4xLTI0LjFjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzU1LjcgMTQzYy0yOC4xLTIzLTYyLjItMzguOC05OS43LTQ0LjZMMjU2IDY0bDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMjI0IDAgMTc2IDB6bTcyIDE5MmwwIDEyOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEyOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbmNvbnN0IGZhRmFjZUtpc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1raXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTM1LCBcImtpc3NcIl0sIFwiZjU5NlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptNDguNy0xOTguM2M0LjMgNS4xIDcuMyAxMS40IDcuMyAxOC4zcy0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRjLTIuNyAxLjUtNS43IDMtOC43IDQuM2MzLjEgMS4zIDYgMi43IDguNyA0LjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40QzI3NC43IDQ0My4xIDI1Ny40IDQ0OCAyNDAgNDQ4Yy0zLjYgMC02LjgtMi41LTcuNy02cy42LTcuMiAzLjgtOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMCAwIDAgMCAwIDBsLjItLjFjLjItLjEgLjUtLjMgLjktLjVjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFjLS40LS4yLS43LS40LS45LS41bC0uMi0uMWMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjUtMS40LTQuMS00LjEtNC4xLTdzMS42LTUuNiA0LjEtN2MwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMi0uMSAuMy0uMiAuNi0uNGMuOC0uNSAyLTEuMiAzLjQtMi4xYzIuOC0xLjkgNi41LTQuNSAxMC4yLTcuNmMzLjctMy4xIDcuMi02LjYgOS42LTEwLjFjMi41LTMuNSAzLjUtNi40IDMuNS04LjZzLTEtNS0zLjUtOC42Yy0yLjUtMy41LTUuOS02LjktOS42LTEwLjFjLTMuNy0zLjEtNy40LTUuNy0xMC4yLTcuNmMtMS40LS45LTIuNi0xLjYtMy40LTIuMWwtLjQtLjMtLjUtLjMtLjItLjFjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMy4yLTEuOC00LjctNS41LTMuOC05czQuMS02IDcuNy02YzE3LjQgMCAzNC43IDQuOSA0Ny45IDEyLjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjR6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhS2lzcyA9IGZhRmFjZUtpc3M7XG5jb25zdCBmYUJyaWRnZUNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0Y2JcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJsNDAgMCAwIDY0LTcyIDAgMCAxMjhjNTMgMCA5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2YzYuMyAwIDEyLjQgLjYgMTguMyAxLjdDMzY3LjEgMjMxLjggNDI2LjkgMTkyIDQ5NiAxOTJjNDIuNSAwIDgxLjYgMTUuMSAxMTIgNDAuMmwwLTcyLjItNzIgMCAwLTY0IDQwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMzJ6TTQ4OCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0zNjAgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjMyIDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDUxOC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhRmFjZUdyaW5Ub25ndWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXRvbmd1ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUzOSwgXCJncmluLXRvbmd1ZVwiXSwgXCJmNTg5XCIsIFwiTTAgMjU2QzAgMzY4LjkgNzMuMSA0NjQuNyAxNzQuNSA0OTguOEMxNjUuMyA0ODQgMTYwIDQ2Ni42IDE2MCA0NDhsMC00Ny4zYy0yNC0xNy41LTQzLjEtNDEuNC01NC44LTY5LjJjLTUtMTEuOCA3LTIyLjUgMTkuMy0xOC43YzM5LjcgMTIuMiA4NC41IDE5IDEzMS44IDE5czkyLjEtNi44IDEzMS44LTE5YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN2MtMTEuOCAyOC0zMS4xIDUyLTU1LjQgNjkuNmwwIDQ2LjljMCAxOC42LTUuMyAzNi0xNC41IDUwLjhDNDM4LjkgNDY0LjcgNTEyIDM2OC45IDUxMiAyNTZDNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NnptMTc2LjQtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMzIwIDQ0OGwwLTQ1LjRjMC0xNC43LTExLjktMjYuNi0yNi42LTI2LjZsLTIgMGMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOWMtMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMGMtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDQ1LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpcIl1cbn07XG5jb25zdCBmYUdyaW5Ub25ndWUgPSBmYUZhY2VHcmluVG9uZ3VlO1xuY29uc3QgZmFDaGVzc0Jpc2hvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1iaXNob3AnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5ODIxXSwgXCJmNDNhXCIsIFwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmMwIDE2LjEgMTEuOSAyOS40IDI3LjQgMzEuN0M3OC40IDEwNi44IDggMTkwIDggMjg4YzAgNDcuNCAzMC44IDcyLjMgNTYgODQuN0w2NCA0MDBsMTkyIDAgMC0yNy4zYzI1LjItMTIuNSA1Ni0zNy40IDU2LTg0LjdjMC0zNy4zLTEwLjItNzIuNC0yNS4zLTEwNC4xbC05OS40IDk5LjRjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMMjcwLjggMTU0LjZjLTIzLjItMzguMS01MS44LTY5LjUtNzQuMi05MC45QzIxMi4xIDYxLjQgMjI0IDQ4LjEgMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDEyOCAwek00OCA0MzJMNi42IDQ3My40Yy00LjIgNC4yLTYuNiAxMC02LjYgMTZDMCA1MDEuOSAxMC4xIDUxMiAyMi42IDUxMmwyNzQuNyAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZMMjcyIDQzMiA0OCA0MzJ6XCJdXG59O1xuY29uc3QgZmFGYWNlR3JpbldpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXdpbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImdyaW4td2lua1wiXSwgXCJmNThjXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6bS0xNi45LTc5LjJjLTE3LjYtMjMuNS01Mi44LTIzLjUtNzAuNCAwYy01LjMgNy4xLTE1LjMgOC41LTIyLjQgMy4ycy04LjUtMTUuMy0zLjItMjIuNGMzMC40LTQwLjUgOTEuMi00MC41IDEyMS42IDBjNS4zIDcuMSAzLjkgMTcuMS0zLjIgMjIuNHMtMTcuMSAzLjktMjIuNC0zLjJ6TTE3Ni40IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFHcmluV2luayA9IGZhRmFjZUdyaW5XaW5rO1xuY29uc3QgZmFFYXJEZWFmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Vhci1kZWFmJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkZWFmXCIsIFwiZGVhZm5lc3NcIiwgXCJoYXJkLW9mLWhlYXJpbmdcIl0sIFwiZjJhNFwiLCBcIk01MDIuNiA1NC42bC00MCA0MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNDAtNDBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptLTMyMCAzMjBsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMjQwIDEyOGMtNTcuNiAwLTEwNS4xIDQzLjYtMTExLjMgOTkuNWMtMS45IDE3LjYtMTcuOCAzMC4yLTM1LjMgMjguM3MtMzAuMi0xNy44LTI4LjMtMzUuM0M3NC44IDEzMi41IDE0OS40IDY0IDI0MCA2NGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NmMwIDQ2LTE3LjcgODcuOS00Ni42IDExOS4zYy0xMiAxMy0xNy40IDI0LjgtMTcuNCAzNC43bDAgNi4xYzAgNjEuOS01MC4xIDExMi0xMTIgMTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNi4xYzAtMzIuOSAxNy40LTU5LjYgMzQuNC03OGMxOC40LTIwIDI5LjYtNDYuNiAyOS42LTc1LjljMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6bTAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6XCJdXG59O1xuY29uc3QgZmFEZWFmID0gZmFFYXJEZWFmO1xuY29uc3QgZmFEZWFmbmVzcyA9IGZhRWFyRGVhZjtcbmNvbnN0IGZhSGFyZE9mSGVhcmluZyA9IGZhRWFyRGVhZjtcbmNvbnN0IGZhUm9hZENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY0XCIsIFwiTTIxMy4yIDMyTDI4OCAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA3NC44IDBjMjcuMSAwIDUxLjMgMTcuMSA2MC4zIDQyLjZsNDIuNyAxMjAuNmMtMTAuOS0yLjEtMjIuMi0zLjItMzMuOC0zLjJjLTU5LjUgMC0xMTIuMSAyOS42LTE0NCA3NC44bDAtNDIuOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyYzIuMyAwIDQuNi0uMyA2LjgtLjdjLTQuNSAxNS41LTYuOCAzMS44LTYuOCA0OC43YzAgNS40IC4yIDEwLjcgLjcgMTZsLS43IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRMODYuNiA0ODBDNTYuNSA0ODAgMzIgNDU1LjUgMzIgNDI1LjRjMC02LjIgMS4xLTEyLjQgMy4xLTE4LjJMMTUyLjkgNzQuNkMxNjIgNDkuMSAxODYuMSAzMiAyMTMuMiAzMnpNMzUyIDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw0ODAgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG5jb25zdCBmYURpY2VGaXZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2UtZml2ZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4NjBdLCBcImY1MjNcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek05NiAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMjI0IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0LTY0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDE2MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVSc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXJzcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicnNzLXNxdWFyZVwiXSwgXCJmMTQzXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTk2IDEzNmMwLTEzLjMgMTAuNy0yNCAyNC0yNGMxMzcgMCAyNDggMTExIDI0OCAyNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMTAuNS04OS41LTIwMC0yMDAtMjAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGM4My45IDAgMTUyIDY4LjEgMTUyIDE1MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTU3LjQtNDYuNi0xMDQtMTA0LTEwNGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTAgMTIwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFSc3NTcXVhcmUgPSBmYVNxdWFyZVJzcztcbmNvbnN0IGZhTGFuZE1pbmVPbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5kLW1pbmUtb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MWJcIiwgXCJNMzQ0IDI0bDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTE5MiAzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi0yNTYgMCAwLTMyem0tNzcuMyA5MC41YzguMS0xNi4zIDI0LjgtMjYuNSA0Mi45LTI2LjVsMzI0LjcgMGMxOC4yIDAgMzQuOCAxMC4zIDQyLjkgMjYuNWwyNy42IDU1LjJDNTYzLjUgNDg3IDU0OCA1MTIgNTI0LjIgNTEybC00MDguNCAwYy0yMy44IDAtMzkuMy0yNS0yOC42LTQ2LjNsMjcuNi01NS4yek0zNi4zIDEzOC4zYzcuNS0xMC45IDIyLjUtMTMuNiAzMy40LTYuMWwxMDQgNzJjMTAuOSA3LjUgMTMuNiAyMi41IDYuMSAzMy40cy0yMi41IDEzLjYtMzMuNCA2LjFsLTEwNC03MmMtMTAuOS03LjUtMTMuNi0yMi41LTYuMS0zMy40em01MzQuMS02LjFjMTAuOS03LjUgMjUuOC00LjggMzMuNCA2LjFzNC44IDI1LjgtNi4xIDMzLjRsLTEwNCA3MmMtMTAuOSA3LjUtMjUuOCA0LjgtMzMuNC02LjFzLTQuOC0yNS44IDYuMS0zMy40bDEwNC03MnpcIl1cbn07XG5jb25zdCBmYUlDdXJzb3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaS1jdXJzb3InLFxuICBpY29uOiBbMjU2LCA1MTIsIFtdLCBcImYyNDZcIiwgXCJNLjEgMjkuM0MtMS40IDQ3IDExLjcgNjIuNCAyOS4zIDYzLjlsOCAuN0M3MC41IDY3LjMgOTYgOTUgOTYgMTI4LjNMOTYgMjI0bC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCA5NS43YzAgMzMuMy0yNS41IDYxLTU4LjcgNjMuOGwtOCAuN0MxMS43IDQ0OS42LTEuNCA0NjUgLjEgNDgyLjdzMTYuOSAzMC43IDM0LjUgMjkuMmw4LS43YzM0LjEtMi44IDY0LjItMTguOSA4NS40LTQyLjljMjEuMiAyNCA1MS4yIDQwIDg1LjQgNDIuOWw4IC43YzE3LjYgMS41IDMzLjEtMTEuNiAzNC41LTI5LjJzLTExLjYtMzMuMS0yOS4yLTM0LjVsLTgtLjdDMTg1LjUgNDQ0LjcgMTYwIDQxNyAxNjAgMzgzLjdsMC05NS43IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC05NS43YzAtMzMuMyAyNS41LTYxIDU4LjctNjMuOGw4LS43YzE3LjYtMS41IDMwLjctMTYuOSAyOS4yLTM0LjVTMjM5LTEuNCAyMjEuMyAuMWwtOCAuN0MxNzkuMiAzLjYgMTQ5LjIgMTkuNyAxMjggNDMuN2MtMjEuMi0yNC01MS4yLTQwLTg1LjQtNDIuOWwtOC0uN0MxNy0xLjQgMS42IDExLjcgLjEgMjkuM3pcIl1cbn07XG5jb25zdCBmYVN0YW1wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YW1wJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWJmXCIsIFwiTTMxMiAyMDEuOGMwLTE3LjQgOS4yLTMzLjIgMTkuOS00N0MzNDQuNSAxMzguNSAzNTIgMTE4LjEgMzUyIDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMjIuMSA3LjUgNDIuNSAyMC4xIDU4LjhjMTAuNyAxMy44IDE5LjkgMjkuNiAxOS45IDQ3YzAgMjkuOS0yNC4zIDU0LjItNTQuMiA1NC4yTDExMiAyNTZDNTAuMSAyNTYgMCAzMDYuMSAwIDM2OGMwIDIwLjkgMTMuNCAzOC43IDMyIDQ1LjNMMzIgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNTAuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNjMC02MS45LTUwLjEtMTEyLTExMi0xMTJsLTMzLjggMGMtMjkuOSAwLTU0LjItMjQuMy01NC4yLTU0LjJ6TTQxNiA0MTZsMCAzMkw5NiA0NDhsMC0zMiAzMjAgMHpcIl1cbn07XG5jb25zdCBmYVN0YWlycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFpcnMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUyODlcIiwgXCJNMzg0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDAgMC05NnpcIl1cbn07XG5jb25zdCBmYUkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaScsXG4gIGljb246IFszMjAsIDUxMiwgWzEwNV0sIFwiNDlcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDk2IDAgMCAzMjAtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMCAwLTMyMCA5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE2MCAzMiAzMiAzMnpcIl1cbn07XG5jb25zdCBmYUhyeXZuaWFTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hyeXZuaWEtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgWzgzNzIsIFwiaHJ5dm5pYVwiXSwgXCJmNmYyXCIsIFwiTTEyMS45IDExNi4yQzEzOC4zIDEwMy4xIDE1OC43IDk2IDE3OS42IDk2TDIyMyA5NmMyNy4xIDAgNDkgMjEuOSA0OSA0OWMwIDExLjUtNCAyMi40LTExLjEgMzFMMzIgMTc2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyMy41IDAtNTAuNiAyOC45Yy0xLjcgMS0zLjQgMi01LjEgMy4xTDMyIDI3MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMC4zIDBjLTIuOCA5LjktNC4zIDIwLjQtNC4zIDMxYzAgNjIuNCA1MC42IDExMyAxMTMgMTEzbDQzLjQgMGMzNS41IDAgNzAtMTIuMSA5Ny43LTM0LjNMMzA4IDQ0MWMxMy44LTExIDE2LTMxLjIgNS00NXMtMzEuMi0xNi00NS01bC01LjkgNC43Yy0xNi40IDEzLjEtMzYuNyAyMC4yLTU3LjcgMjAuMkwxNjEgNDE2Yy0yNy4xIDAtNDktMjEuOS00OS00OWMwLTExLjUgNC0yMi40IDExLjEtMzFMMzUyIDMzNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTIzLjUgMCA1MC42LTI4LjljMS43LTEgMy40LTIgNS4xLTMuMWw2Ny44IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIwLjMgMGMyLjgtMTAgNC4zLTIwLjQgNC4zLTMxYzAtNjIuNC01MC42LTExMy0xMTMtMTEzbC00My40IDBjLTM1LjUgMC03MCAxMi4xLTk3LjcgMzQuM0w3NiA3MWMtMTMuOCAxMS0xNiAzMS4yLTUgNDVzMzEuMiAxNiA0NSA1bDUuOS00Ljd6XCJdXG59O1xuY29uc3QgZmFIcnl2bmlhID0gZmFIcnl2bmlhU2lnbjtcbmNvbnN0IGZhUGlsbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGlsbHMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0ODRcIiwgXCJNMTEyIDk2Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDExMiA5NiAwIDAtMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0wIDE0NEMwIDgyLjEgNTAuMSAzMiAxMTIgMzJzMTEyIDUwLjEgMTEyIDExMmwwIDIyNGMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMwIDQyOS45IDAgMzY4TDAgMTQ0ek01NTQuOSAzOTkuNGMtNy4xIDEyLjMtMjMuNyAxMy4xLTMzLjggMy4xTDMzMy41IDIxNC45Yy0xMC0xMC05LjMtMjYuNyAzLjEtMzMuOEMzNjAgMTY3LjcgMzg3LjEgMTYwIDQxNiAxNjBjODguNCAwIDE2MCA3MS42IDE2MCAxNjBjMCAyOC45LTcuNyA1Ni0yMS4xIDc5LjR6bS01OS41IDU5LjVDNDcyIDQ3Mi4zIDQ0NC45IDQ4MCA0MTYgNDgwYy04OC40IDAtMTYwLTcxLjYtMTYwLTE2MGMwLTI4LjkgNy43LTU2IDIxLjEtNzkuNGM3LjEtMTIuMyAyMy43LTEzLjEgMzMuOC0zLjFMNDk4LjUgNDI1LjFjMTAgMTAgOS4zIDI2LjctMy4xIDMzLjh6XCJdXG59O1xuY29uc3QgZmFGYWNlR3JpbldpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXdpZGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MTUsIFwiZ3Jpbi1hbHRcIl0sIFwiZjU4MVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg4LjEgMzEyLjhjMTIuMy0zLjggMjQuMyA2LjkgMTkuMyAxOC43QzM4Mi40IDM5MC42IDMyNC4yIDQzMiAyNTYuMyA0MzJzLTEyNi4yLTQxLjQtMTUxLjEtMTAwLjVjLTUtMTEuOCA3LTIyLjUgMTkuMy0xOC43YzM5LjcgMTIuMiA4NC41IDE5IDEzMS44IDE5czkyLjEtNi44IDEzMS44LTE5ek0yMDggMTkyYzAgMzUuMy0xNC4zIDY0LTMyIDY0cy0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjRzMzIgMjguNyAzMiA2NHptMTI4IDY0Yy0xNy43IDAtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0czMyIDI4LjcgMzIgNjRzLTE0LjMgNjQtMzIgNjR6XCJdXG59O1xuY29uc3QgZmFHcmluQWx0ID0gZmFGYWNlR3JpbldpZGU7XG5jb25zdCBmYVRvb3RoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvb3RoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI5NDYzXSwgXCJmNWM5XCIsIFwiTTE4Ni4xIDUyLjFDMTY5LjMgMzkuMSAxNDguNyAzMiAxMjcuNSAzMkM3NC43IDMyIDMyIDc0LjcgMzIgMTI3LjVsMCA2LjJjMCAxNS44IDMuNyAzMS4zIDEwLjcgNDUuNWwyMy41IDQ3LjFjNC41IDguOSA3LjYgMTguNCA5LjQgMjguMmwzNi43IDIwNS44YzIgMTEuMiAxMS42IDE5LjQgMjIuOSAxOS44czIxLjQtNy40IDI0LTE4LjRsMjguOS0xMjEuM0MxOTIuMiAzMjMuNyAyMDcgMzEyIDIyNCAzMTJzMzEuOCAxMS43IDM1LjggMjguM2wyOC45IDEyMS4zYzIuNiAxMS4xIDEyLjcgMTguOCAyNCAxOC40czIwLjktOC42IDIyLjktMTkuOGwzNi43LTIwNS44YzEuOC05LjggNC45LTE5LjMgOS40LTI4LjJsMjMuNS00Ny4xYzcuMS0xNC4xIDEwLjctMjkuNyAxMC43LTQ1LjVsMC0yLjFjMC01NS00NC42LTk5LjYtOTkuNi05OS42Yy0yNC4xIDAtNDcuNCA4LjgtNjUuNiAyNC42bC0zLjIgMi44IDE5LjUgMTUuMmM3IDUuNCA4LjIgMTUuNSAyLjggMjIuNXMtMTUuNSA4LjItMjIuNSAyLjhsLTI0LjQtMTktMzctMjguOHpcIl1cbn07XG5jb25zdCBmYVYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndicsXG4gIGljb246IFszODQsIDUxMiwgWzExOF0sIFwiNTZcIiwgXCJNMTkuNyAzNC41YzE2LjMtNi44IDM1IC45IDQxLjggMTcuMkwxOTIgMzY0LjggMzIyLjUgNTEuN2M2LjgtMTYuMyAyNS41LTI0IDQxLjgtMTcuMnMyNCAyNS41IDE3LjIgNDEuOGwtMTYwIDM4NGMtNSAxMS45LTE2LjYgMTkuNy0yOS41IDE5LjdzLTI0LjYtNy44LTI5LjUtMTkuN0wyLjUgNzYuM2MtNi44LTE2LjMgLjktMzUgMTcuMi00MS44elwiXVxufTtcbmNvbnN0IGZhQmFuZ2xhZGVzaGlUYWthU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYW5nbGFkZXNoaS10YWthLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUyZTZcIiwgXCJNMzYgMzIuM0MxOC40IDMwLjEgMi40IDQyLjUgLjIgNjBTMTAuNSA5My42IDI4IDk1LjhsNy45IDFjMTYgMiAyOCAxNS42IDI4IDMxLjhMNjQgMTYwbC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAxNjBjMCA1MyA0MyA5NiA5NiA5NmwzMiAwYzEwNiAwIDE5Mi04NiAxOTItMTkybDAtMzJjMC01My00My05Ni05Ni05NmwtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMS41YzAtNDguNC0zNi4xLTg5LjMtODQuMS05NS4zbC03LjktMXpcIl1cbn07XG5jb25zdCBmYUJpY3ljbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmljeWNsZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY5MF0sIFwiZjIwNlwiLCBcIk0zMTIgMzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjUuNyAwIDM0LjYgNjQtMTQ5LjQgMC0yNy40LTM4QzE5MSA5OS43IDE4My43IDk2IDE3NiA5NmwtNTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0My43IDAgMjIuMSAzMC43LTI2LjYgNTMuMWMtMTAtMi41LTIwLjUtMy44LTMxLjItMy44QzU3LjMgMjI0IDAgMjgxLjMgMCAzNTJzNTcuMyAxMjggMTI4IDEyOGM2NS4zIDAgMTE5LjEtNDguOSAxMjctMTEybDQ5IDBjOC41IDAgMTYuMy00LjUgMjAuNy0xMS44bDg0LjgtMTQzLjUgMjEuNyA0MC4xQzQwMi40IDI3Ni4zIDM4NCAzMTIgMzg0IDM1MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4cy01Ny4zLTEyOC0xMjgtMTI4Yy0xMy41IDAtMjYuNSAyLjEtMzguNyA2TDM3NS40IDQ4LjhDMzY5LjggMzguNCAzNTkgMzIgMzQ3LjIgMzJMMzEyIDMyek00NTguNiAzMDMuN2wzMi4zIDU5LjdjNi4zIDExLjcgMjAuOSAxNiAzMi41IDkuN3MxNi0yMC45IDkuNy0zMi41bC0zMi4zLTU5LjdjMy42LS42IDcuNC0uOSAxMS4yLS45YzM5LjggMCA3MiAzMi4yIDcyIDcycy0zMi4yIDcyLTcyIDcycy03Mi0zMi4yLTcyLTcyYzAtMTguNiA3LTM1LjUgMTguNi00OC4zek0xMzMuMiAzNjhsNjUgMGMtNy4zIDMyLjEtMzYgNTYtNzAuMiA1NmMtMzkuOCAwLTcyLTMyLjItNzItNzJzMzIuMi03MiA3Mi03MmMxLjcgMCAzLjQgLjEgNS4xIC4ybC0yNC4yIDQ4LjVjLTkgMTguMSA0LjEgMzkuNCAyNC4zIDM5LjR6bTMzLjctNDhsNTAuNy0xMDEuMyA3Mi45IDEwMS4yLS4xIC4xLTEyMy41IDB6bTkwLjYtMTI4bDEwOC41IDBMMzE3IDI3NC44IDI1Ny40IDE5MnpcIl1cbn07XG5jb25zdCBmYVN0YWZmU25ha2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RhZmYtc25ha2UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcInJvZC1hc2NsZXBpdXNcIiwgXCJyb2Qtc25ha2VcIiwgXCJzdGFmZi1hZXNjdWxhcGl1c1wiXSwgXCJlNTc5XCIsIFwiTTIyMi42IDQzLjJsLS4xIDQuOEwyODggNDhjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTQwIDAgMC04MCA0MCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC00MCAwLTI4IDAtNC41IDE0NCA0MC41IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTE2IDAgMC04MCAxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC00MyAwLTMuMSA5OS41TDIwOC41IDQ5NWwwIDFjLS4zIDguOS03LjYgMTYtMTYuNSAxNnMtMTYuMi03LjEtMTYuNS0xNmwwLTEtMS0zMUwxMzYgNDY0Yy0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwbDM2IDAtMS0zMi0xOSAwYy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3LjEgODAtOTQuN2wwIDk0LjdjMCA4LjggNy4yIDE2IDE2IDE2bDE2LjUgMEwxNjQgMTI4bC0yOCAwLTEzLjQgMGMtOSAxOC45LTI4LjMgMzItNTAuNiAzMmwtMTYgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZTMjUuMSA0OCA1NiA0OGw4IDAgOCAwIDg5LjUgMC0uMS00LjhMMTYxIDMyYzAtLjcgMC0xLjMgMC0xLjljLjUtMTYuNiAxNC4xLTMwIDMxLTMwczMwLjUgMTMuNCAzMSAzMGMwIC42IDAgMS4zIDAgMS45bC0uNCAxMS4yek02NCAxMTJhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbmNvbnN0IGZhUm9kQXNjbGVwaXVzID0gZmFTdGFmZlNuYWtlO1xuY29uc3QgZmFSb2RTbmFrZSA9IGZhU3RhZmZTbmFrZTtcbmNvbnN0IGZhU3RhZmZBZXNjdWxhcGl1cyA9IGZhU3RhZmZTbmFrZTtcbmNvbnN0IGZhSGVhZFNpZGVDb3VnaFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWQtc2lkZS1jb3VnaC1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MlwiLCBcIk00NDggMzI1LjhsNDQgMzQuNWM4LjEgMS40IDE0LjggNi44IDE4IDE0LjFMNTUyLjkgNDA4YzEwLjYgLjQgMTkuNSA3LjYgMjIuMiAxNy40bDM5LjEgMzAuNmMuNiAwIDEuMi0uMSAxLjgtLjFjMTEuMSAwIDIwLjQgNy41IDIzLjIgMTcuOGwtMy45IDBjNi4yIDguNSA2LjQgMjAuNC0uNCAyOWMtOC4yIDEwLjQtMjMuMyAxMi4zLTMzLjcgNC4xTDkuMiA0Mi45Qy0xLjIgMzQuNy0zLjEgMTkuNiA1LjEgOS4yUzI4LjQtMy4xIDM4LjggNS4xTDg5LjYgNDQuOUMxMjcgMTYuNyAxNzMuNSAwIDIyNCAwbDI0IDBjOTUuMiAwIDE4MS4yIDY5LjMgMTk3LjMgMTYwLjJjMi4zIDEzIDYuOCAyNS43IDE1LjEgMzZsNDIgNTIuNmM2LjIgNy44IDkuNiAxNy40IDkuNiAyNy40YzAgMjQuMi0xOS42IDQzLjgtNDMuOCA0My44TDQ0OCAzMjBzMCAwIDAgMGwwIDUuOHpNMCAyMjQuMmMwLTM4LjcgOS44LTc1LjEgMjcuMS0xMDYuOUwzNDEuOCAzNjUuM2wtMi41IC4zYy0xMSAxLjQtMTkuMiAxMC43LTE5LjIgMjEuOGMwIDExLjYgOSAyMS4yIDIwLjYgMjEuOWw2MiAzLjkgNDMgMzMuOUM0MzkuMyA0NjYuMiA0MjEuMiA0ODAgNDAwIDQ4MGwtODAgMCAwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQwIDBzMCAwIDAgMEw5NiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzIuN2MwLTE2LjctNi45LTMyLjUtMTcuMS00NS44QzE2LjYgMzIyLjQgMCAyNzQuMSAwIDIyNC4yek02MTYgMzYwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTY0LTQ4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAtMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG5jb25zdCBmYVRydWNrTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1tZWRpY2FsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjU3LCBcImFtYnVsYW5jZVwiXSwgXCJmMGY5XCIsIFwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDM2OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDggNTAuNyAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDU4OS4zIDE5MmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zbDAgMTguNyAwIDMyIDAgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsLTEyOCAwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bC0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek00MTYgMjU2bDEyOCAwIDAtMTguN0w0NjYuNyAxNjAgNDE2IDE2MGwwIDk2ek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptMzY4LTQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTE3NiA4MGwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYUFtYnVsYW5jZSA9IGZhVHJ1Y2tNZWRpY2FsO1xuY29uc3QgZmFXaGVhdEF3bkNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OThcIiwgXCJNNTA1IDQxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMzgzIDk1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODgtODh6TTMwNS41IDI3LjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDI3MS41IDM4LjZjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44bC0xMS4zLTExLjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0xMS4zIDExLjNjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44TDEwMS44IDIzMWMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNjcuOSAyNDIuM2MtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNEw5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguOS02OC45IDEyLjIgMTIuMmMzNy41IDM3LjUgOTguMyAzNy41IDEzNS44IDBsMTEuMy0xMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMS4zLTExLjNjLTIxLjgtMjEuOC00OS42LTM0LjEtNzguMS0zNi45bDMxLjktMzEuOSAxMi4yIDEyLjJjMjIuNSAyMi41IDUzLjMgMzEuNSA4Mi40IDI3YzAtMSAwLTIuMSAwLTMuMWMwLTMzLjEgOS4xLTY0LjEgMjUtOTAuNmMtMTUuNS04LjctMzIuNS0xMy44LTQ5LjgtMTUuNWwzMS45LTMxLjkgMTIuMiAxMi4yYzYgNiAxMi42IDExLjEgMTkuNyAxNS4yYzI3LjUtMzQgNjcuMy01Ny41IDExMi42LTYzLjhjLTQuMS0zLjgtOC40LTcuMy0xMi45LTEwLjVMNTA1IDEzN2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01OS40IDU5LjRjLTIwLjYtNC40LTQyLTMuNy02Mi4zIDIuMWM2LjEtMjEuMyA2LjYtNDMuOCAxLjQtNjUuM0w0MDkgNDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwzMjkuMSA1Mi45Yy0zLjctNS03LjgtOS44LTEyLjQtMTQuM0wzMDUuNSAyNy4zek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhU25vd21hbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbm93bWFuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTczMSwgOTkyNF0sIFwiZjdkMFwiLCBcIk0zNDEuMSAxNDAuNmMtMiAzLjktMS42IDguNiAxLjIgMTJjNyA4LjUgMTIuOSAxOC4xIDE3LjIgMjguNEw0MDggMTYwLjJsMC00MC4yYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxOS42IDIyLjUtOS43YzEyLjItNS4yIDI2LjMgLjQgMzEuNSAxMi42cy0uNCAyNi4zLTEyLjYgMzEuNWwtNTYgMjQtNzMuNiAzMS41Yy0uNSA5LjUtMi4xIDE4LjYtNC44IDI3LjNjLTEuMiAzLjgtLjEgOCAyLjggMTAuOEMzOTYuNyAyOTYuOSA0MTYgMzM4LjIgNDE2IDM4NGMwIDQ0LjctMTguMyA4NS00Ny44IDExNC4xYy05LjkgOS43LTIzLjcgMTMuOS0zNy41IDEzLjlsLTE0OS4zIDBjLTEzLjkgMC0yNy43LTQuMi0zNy41LTEzLjlDMTE0LjMgNDY5IDk2IDQyOC43IDk2IDM4NGMwLTQ1LjggMTkuMy04Ny4xIDUwLjEtMTE2LjNjMi45LTIuOCA0LTYuOSAyLjgtMTAuOGMtMi43LTguNy00LjMtMTcuOS00LjgtMjcuM0w3MC41IDE5OC4xbC01Ni0yNEMyLjQgMTY4LjgtMy4zIDE1NC43IDEuOSAxNDIuNXMxOS4zLTE3LjggMzEuNS0xMi42TDU2IDEzOS42IDU2IDEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAuMkwxNTIuNiAxODFjNC4zLTEwLjMgMTAuMS0xOS45IDE3LjItMjguNGMyLjgtMy40IDMuMy04LjEgMS4yLTEyQzE2NCAxMjcuMiAxNjAgMTEyLjEgMTYwIDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAxNi4xLTQgMzEuMi0xMC45IDQ0LjZ6TTIyNCA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTQ4IDEyOGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0tMTYgODBhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0xNiA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwek0yODggOTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0tNDggMjRsMCAzLjJjMCAzLjIgLjggNi4zIDIuMyA5bDkgMTYuOWMuOSAxLjcgMi43IDIuOCA0LjcgMi44czMuOC0xLjEgNC43LTIuOGw5LTE2LjljMS41LTIuOCAyLjMtNS45IDIuMy05bDAtMy4yYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2elwiXVxufTtcbmNvbnN0IGZhTW9ydGFyUGVzdGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vcnRhci1wZXN0bGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YTdcIiwgXCJNNTA0LjMgMTEuMUM0OTMuMy0xLjYgNDc0LjUtMy43IDQ2MSA2LjJMMjUyLjMgMTYwbDE0NC45IDBMNTAyLjYgNTQuNmMxMS44LTExLjggMTIuNi0zMC44IDEuNi00My41ek0zMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJjMCA4Mi41IDQzLjQgMTQ3LjcgMTIzLjkgMTc2LjJjLTExLjEgMTMuOS0xOS40IDMwLjMtMjMuOSA0OC4xQzEyNy42IDQ5Ny40IDE0Mi4zIDUxMiAxNjAgNTEybDE5MiAwYzE3LjcgMCAzMi40LTE0LjYgMjguMS0zMS43Yy00LjUtMTcuOC0xMi44LTM0LjEtMjMuOS00OC4xQzQzNi42IDQwMy43IDQ4MCAzMzguNSA0ODAgMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDE5MnpcIl1cbn07XG5jb25zdCBmYVJvYWRCYXJyaWVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtYmFycmllcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2MlwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xODEuN0wxNDkuMiA5NiA2NCA5NmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek00MDUuMiA5NmwtNzQuMyAwLTUuNCAxMC43TDIzNC44IDI4OGw3NC4zIDAgNS40LTEwLjdMNDA1LjIgOTZ6TTM2Mi44IDI4OGw3NC4zIDAgNS40LTEwLjdMNTMzLjIgOTZsLTc0LjMgMC01LjQgMTAuN0wzNjIuOCAyODh6TTIwMi44IDk2bC01LjQgMTAuN0wxMDYuOCAyODhsNzQuMyAwIDUuNC0xMC43TDI3Ny4yIDk2bC03NC4zIDB6bTI4OCAxOTJsODUuMiAwIDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA1My43TDQ5MC44IDI4OHpcIl1cbn07XG5jb25zdCBmYVNjaG9vbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5NzldLCBcImY1NDlcIiwgXCJNMzM3LjggNS40QzMyNy0xLjggMzEzLTEuOCAzMDIuMiA1LjRMMTY2LjMgOTYgNDggOTZDMjEuNSA5NiAwIDExNy41IDAgMTQ0TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIwOCAwIDAtOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDk2IDIwOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzIwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ3My43IDk2IDMzNy44IDUuNHpNOTYgMTkybDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZ6bTQwMCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0ek05NiAzMjBsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnptNDAwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDY0YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjR6TTIzMiAxNzZhODggODggMCAxIDEgMTc2IDAgODggODggMCAxIDEgLTE3NiAwem04OC00OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDAgMC0xNmMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFJZ2xvbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpZ2xvbycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjdhZVwiLCBcIk0zMjAgMzMuOEwzMjAgMTYwIDQ4LjUgMTYwQzEwMC4yIDgyLjggMTg4LjEgMzIgMjg4IDMyYzEwLjggMCAyMS41IC42IDMyIDEuOHpNMzUyIDE2MGwwLTEyMC45QzQyNC45IDU1LjcgNDg3LjIgOTkuOCA1MjcuNSAxNjBMMzUyIDE2MHpNMjkuOSAxOTJMOTYgMTkybDAgMTI4TDAgMzIwYzAtNDYgMTAuOC04OS40IDI5LjktMTI4ek0xOTIgMzIwbC02NCAwIDAtMTI4IDMyMCAwIDAgMTI4LTY0IDAgMCAzMiAxOTIgMCAwIDgwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNzYgMCAwLTEyOGMwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NGwwIDEyOEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtODAgMTkyIDAgMC0zMnptMjg4IDBsMC0xMjggNjYuMSAwYzE5LjIgMzguNiAyOS45IDgyIDI5LjkgMTI4bC05NiAwelwiXVxufTtcbmNvbnN0IGZhSm9pbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnam9pbnQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1OTVcIiwgXCJNNDQ4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTFjMCA1NS4yIDIxLjkgMTA4LjEgNjAuOSAxNDcuMWwyMSAyMWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOWwwIDExYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMWMwLTI5LjctMTEuOC01OC4yLTMyLjgtNzkuMmwtMjEtMjFDNDYzLjIgMTE3LjggNDQ4IDgxLjIgNDQ4IDQzbDAtMTF6TTU3NiAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTExYzAtNTUuMi0yMS45LTEwOC4xLTYwLjktMTQ3LjFsLTIxLTIxYy05LTktMTQuMS0yMS4yLTE0LjEtMzMuOWwwLTExYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTFjMCAyOS43IDExLjggNTguMiAzMi44IDc5LjJsMjEgMjFjMjcgMjcgNDIuMiA2My42IDQyLjIgMTAxLjhsMCAxMXpNMjI5LjggMzYwYy00LjctMi4zLTEwLTIuNy0xNS4yLTJjLTM3LjggNS42LTc1LjIgMTQuMy0xMDYuOSAyMi44QzgxLjMgMzg4IDU4LjMgMzk1LjEgNDIgNDAwLjRjLTguMiAyLjctMTQuNyA0LjktMTkuMiA2LjVjLTIuMyAuOC00IDEuNC01LjIgMS44bC0xLjMgLjVDNi44IDQxMi41IDAgNDIxLjQgMCA0MzJzNi44IDE5LjUgMTYuMyAyMi43bDEuMyAuNWMxLjIgLjQgMyAxLjEgNS4yIDEuOGM0LjUgMS42IDExIDMuOCAxOS4yIDYuNWMxNi4zIDUuNCAzOS4yIDEyLjUgNjUuNyAxOS42QzE2MC4zIDQ5Ny4zIDIyOC44IDUxMiAyODggNTEybDY3LjMgMGM0LjEgMCA2LjMtNS4xIDMuNi04LjNMMjU2LjUgMzgwLjhjLTcuNC04LjktMTYuNS0xNS45LTI2LjctMjAuOHpNNDQ1IDUxMmwxOSAwIDUxLjMgMGM0LjEgMCA2LjMtNS4xIDMuNi04LjNMNDE2LjUgMzgwLjhDNDAxLjMgMzYyLjUgMzc4LjggMzUyIDM1NSAzNTJsLTE5IDAtNDggMGMtMS4xIDAtMi4zIDAtMy40IDBjLTQuMSAwLTYuMiA1LjEtMy41IDguM0wzODMuNSA0ODMuMkMzOTguNyA1MDEuNSA0MjEuMiA1MTIgNDQ1IDUxMnptLTMuOS0xNTEuN0w1NDMuNSA0ODMuMmMxNC42IDE3LjUgMzUuOSAyNy45IDU4LjYgMjguN2MyMS4xLTEuMSAzNy45LTE4LjYgMzcuOS0zOS45bDAtODBjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTE1NS4zIDBjLTQuMSAwLTYuMyA1LjEtMy42IDguM3pcIl1cbn07XG5jb25zdCBmYUFuZ2xlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtcmlnaHQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs4MjUwXSwgXCJmMTA1XCIsIFwiTTI3OC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyMTAuNyAyNTYgNzMuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwelwiXVxufTtcbmNvbnN0IGZhSG9yc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9yc2UnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMTRdLCBcImY2ZjBcIiwgXCJNNDQ4IDIzOC4xbDAtNzguMSAxNiAwIDkuOCAxOS42YzEyLjUgMjUuMSA0Mi4yIDM2LjQgNjguMyAyNmMyMC41LTguMiAzMy45LTI4IDMzLjktNTAuMUw1NzYgODBjMC0xOS4xLTguNC0zNi4zLTIxLjctNDhsNS43IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMNDgwIDAgNDQ4IDBDMzc3LjMgMCAzMjAgNTcuMyAzMjAgMTI4bC05NiAwLTIwLjggMC01NC40IDBjLTMwLjcgMC01Ny42IDE2LjMtNzIuNSA0MC44QzMzLjIgMTc0LjUgMCAyMTEuNCAwIDI1NmwwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC01NmMwLTEzLjQgNi42LTI1LjIgMTYuNy0zMi41YzEuNiAxMyA2LjMgMjUuNCAxMy42IDM2LjRsMjguMiA0Mi40YzguMyAxMi40IDYuNCAyOC43LTEuMiA0MS42Yy0xNi41IDI4LTIwLjYgNjIuMi0xMCA5My45bDE3LjUgNTIuNGM0LjQgMTMuMSAxNi42IDIxLjkgMzAuNCAyMS45bDMzLjcgMGMyMS44IDAgMzcuMy0yMS40IDMwLjQtNDIuMWwtMjAuOC02Mi41Yy0yLjEtNi40LS41LTEzLjQgNC4zLTE4LjJsMTIuNy0xMi43YzEzLjItMTMuMiAyMC42LTMxLjEgMjAuNi00OS43YzAtMi4zLS4xLTQuNi0uMy02LjlsODQgMjRjNC4xIDEuMiA4LjIgMi4xIDEyLjMgMi44TDMyMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2NC4zYzE5LjItMTkuMiAzMS41LTQ1LjcgMzItNzUuN2MwIDAgMCAwIDAgMGwwLTEuOXpNNDk2IDY0YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG5jb25zdCBmYVEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncScsXG4gIGljb246IFs0NDgsIDUxMiwgWzExM10sIFwiNTFcIiwgXCJNNjQgMjU2YzAgODguNCA3MS42IDE2MCAxNjAgMTYwYzI4LjkgMCA1Ni03LjcgNzkuNC0yMS4xbC03Mi04Ni40Yy0xMS4zLTEzLjYtOS41LTMzLjggNC4xLTQ1LjFzMzMuOC05LjUgNDUuMSA0LjFsNzAuOSA4NS4xQzM3MS45IDMyNS44IDM4NCAyOTIuMyAzODQgMjU2YzAtODguNC03MS42LTE2MC0xNjAtMTYwUzY0IDE2Ny42IDY0IDI1NnpNMzQ0LjkgNDQ0LjZDMzEwIDQ2NyAyNjguNSA0ODAgMjI0IDQ4MEMxMDAuMyA0ODAgMCAzNzkuNyAwIDI1NlMxMDAuMyAzMiAyMjQgMzJzMjI0IDEwMC4zIDIyNCAyMjRjMCA1Ni4xLTIwLjYgMTA3LjQtNTQuNyAxNDYuN2w0Ny4zIDU2LjhjMTEuMyAxMy42IDkuNSAzMy44LTQuMSA0NS4xcy0zMy44IDkuNS00NS4xLTQuMWwtNDYuNi01NS45elwiXVxufTtcbmNvbnN0IGZhRyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTAzXSwgXCI0N1wiLCBcIk0yMjQgOTZDMTM1LjYgOTYgNjQgMTY3LjYgNjQgMjU2czcxLjYgMTYwIDE2MCAxNjBjNzcuNCAwIDE0Mi01NSAxNTYuOC0xMjhMMjU2IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNDQgMGMyNS44IDAgNDkuNiAyMS40IDQ3LjIgNTAuNkM0MzcuOCAzODkuNiAzNDEuNCA0ODAgMjI0IDQ4MEMxMDAuMyA0ODAgMCAzNzkuNyAwIDI1NlMxMDAuMyAzMiAyMjQgMzJjNTcuNCAwIDEwOS43IDIxLjYgMTQ5LjMgNTdjMTMuMiAxMS44IDE0LjMgMzIgMi41IDQ1LjJzLTMyIDE0LjMtNDUuMiAyLjVDMzAyLjMgMTExLjQgMjY1IDk2IDIyNCA5NnpcIl1cbn07XG5jb25zdCBmYU5vdGVzTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdub3Rlcy1tZWRpY2FsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDgxXCIsIFwiTTk2IDM1Mkw5NiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyNTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5Ny41YzAgMTctNi43IDMzLjMtMTguNyA0NS4zbC01OC41IDU4LjVjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMMTYwIDQxNmMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTI3MiAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTI0IDMzNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYwIDBDNjAuOSA1MTIgMCA0NTEuMSAwIDM3NkwwIDE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjI0YzAgNDguNiAzOS40IDg4IDg4IDg4bDE2MCAwelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVIYWxmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWhhbGYnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjc3NzcsIFwidGVtcGVyYXR1cmUtMlwiLCBcInRoZXJtb21ldGVyLTJcIiwgXCJ0aGVybW9tZXRlci1oYWxmXCJdLCBcImYyYzlcIiwgXCJNMTYwIDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2NC41YzAgMTcuMy03LjEgMzEuOS0xNS4zIDQyLjVDODYuMiAzMzIuNiA4MCAzNDkuNSA4MCAzNjhjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTE4LjUtNi4yLTM1LjQtMTYuNy00OC45Yy04LjItMTAuNi0xNS4zLTI1LjItMTUuMy00Mi41TDIwOCAxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTQ4IDExMkM0OCA1MC4yIDk4LjEgMCAxNjAgMHMxMTIgNTAuMSAxMTIgMTEybDAgMTY0LjRjMCAuMSAuMSAuMyAuMiAuNmMuMiAuNiAuOCAxLjYgMS43IDIuOGMxOC45IDI0LjQgMzAuMSA1NSAzMC4xIDg4LjFjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTYgNDQ3LjUgMTYgMzY4YzAtMzMuMiAxMS4yLTYzLjggMzAuMS04OC4xYy45LTEuMiAxLjUtMi4yIDEuNy0yLjhjLjEtLjMgLjItLjUgLjItLjZMNDggMTEyek0yMDggMzY4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM0wxNDQgMjA4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMTQuN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjN6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZTIgPSBmYVRlbXBlcmF0dXJlSGFsZjtcbmNvbnN0IGZhVGhlcm1vbWV0ZXIyID0gZmFUZW1wZXJhdHVyZUhhbGY7XG5jb25zdCBmYVRoZXJtb21ldGVySGFsZiA9IGZhVGVtcGVyYXR1cmVIYWxmO1xuY29uc3QgZmFEb25nU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb25nLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxNjlcIiwgXCJNMjg4IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgNDkuMWMtMTguOC0xMC45LTQwLjctMTcuMS02NC0xNy4xYy03MC43IDAtMTI4IDU3LjMtMTI4IDEyOHM1Ny4zIDEyOCAxMjggMTI4YzI0LjUgMCA0Ny40LTYuOSA2Ni44LTE4LjhjNSAxMS4xIDE2LjIgMTguOCAyOS4yIDE4LjhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NiAwLTE2MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMTI4IDI4OGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0NDh6XCJdXG59O1xuY29uc3QgZmFDYXBzdWxlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXBzdWxlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjQ2YlwiLCBcIk02NCAxNDRjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMi05NiAwIDAtMTEyek0wIDE0NEwwIDM2OGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMnMxMTItNTAuMSAxMTItMTEybDAtMTc4LjRjMS44IDE5LjEgOC4yIDM4IDE5LjggNTQuOEwzNzIuMyA0MzEuN2MzNS41IDUxLjcgMTA1LjMgNjQuMyAxNTYgMjguMXM2My0xMDcuNSAyNy41LTE1OS4yTDQyNy4zIDExMy4zQzM5MS44IDYxLjUgMzIxLjkgNDkgMjcxLjMgODUuMmMtMjggMjAtNDQuMyA1MC44LTQ3LjMgODNsMC0yNC4yYzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzAgODIuMSAwIDE0NHptMjk2LjYgNjQuMmMtMTYtMjMuMy0xMC01NS4zIDExLjktNzFjMjEuMi0xNS4xIDUwLjUtMTAuMyA2NiAxMi4ybDY3IDk3LjZMMzYxLjYgMzAzbC02NS05NC44ek00OTEgNDA3LjdjLS44IC42LTEuNiAxLjEtMi40IDEuNmw0LTIuOGMtLjUgLjQtMSAuOC0xLjYgMS4yelwiXVxufTtcbmNvbnN0IGZhUG9vU3Rvcm0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncG9vLXN0b3JtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJwb28tYm9sdFwiXSwgXCJmNzVhXCIsIFwiTTIzNi45IC4yYy01LjUtLjctMTEgMS40LTE0LjUgNS43cy00LjYgMTAuMS0yLjggMTUuM2MyLjggOC4yIDQuMyAxNi45IDQuMyAyNi4xYzAgMjEuNy04LjUgMzcuMi0yMS45IDQ3LjZjLTEzLjggMTAuOC0zNCAxNy01Ny44IDE3TDEyOCAxMTJjLTM1LjMgMC02NCAyOC43LTY0IDY0YzAgMTIuMiAzLjQgMjMuNSA5LjMgMzMuMkMzMS43IDIxNi4yIDAgMjUyLjQgMCAyOTZjMCA0MC45IDI4IDc1LjQgNjUuOCA4NS4yYy01LjMtMTguNSAxLTM4LjUgMTYuMi01MC43bDE2MC0xMjhjMTcuNi0xNC4xIDQyLjYtMTQgNjAuMiAuMnMyMi44IDM4LjYgMTIuOCA1OC44TDI4NS43IDMyMGwxOC4zIDBjMjAuNCAwIDM4LjUgMTIuOSA0NS4zIDMyLjFjMy43IDEwLjYgMy41IDIxLjggMCAzMS45bDEwLjcgMGM0OC42IDAgODgtMzkuNCA4OC04OGMwLTQzLjYtMzEuNy03OS44LTczLjMtODYuOGM1LjktOS43IDkuMy0yMS4xIDkuMy0zMy4yYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xLjQgMGMuOS01LjQgMS40LTEwLjkgMS40LTE2LjZjMC00OC43LTM2LjEtODguOS04My4xLTk1LjJ6bTQ1LjEgMjI3LjRjLTUuOC00LjctMTQuMi00LjctMjAuMS0uMWwtMTYwIDEyOGMtNS4zIDQuMi03LjQgMTEuNC01LjEgMTcuOHM4LjMgMTAuNyAxNS4xIDEwLjdsNzAuMSAwTDEyOS43IDQ4OC44Yy0zLjQgNi43LTEuNiAxNC45IDQuMyAxOS42czE0LjIgNC43IDIwLjEgLjFsMTYwLTEyOGM1LjMtNC4yIDcuNC0xMS40IDUuMS0xNy44cy04LjMtMTAuNy0xNS4xLTEwLjdsLTcwLjEgMCA1Mi40LTEwNC44YzMuNC02LjcgMS42LTE0LjktNC4zLTE5LjZ6XCJdXG59O1xuY29uc3QgZmFQb29Cb2x0ID0gZmFQb29TdG9ybTtcbmNvbnN0IGZhRmFjZUZyb3duT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWZyb3duLW9wZW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NTAsIFwiZnJvd24tb3BlblwiXSwgXCJmNTdhXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYuNCAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptLTEyMiAxNzQuNWMtMTIuNCA1LjItMjYuNS00LjEtMjEuMS0xNi40YzE2LTM2LjYgNTIuNC02Mi4xIDk0LjgtNjIuMXM3OC44IDI1LjYgOTQuOCA2Mi4xYzUuNCAxMi4zLTguNyAyMS42LTIxLjEgMTYuNGMtMjIuNC05LjUtNDcuNC0xNC44LTczLjctMTQuOHMtNTEuMyA1LjMtNzMuNyAxNC44elwiXVxufTtcbmNvbnN0IGZhRnJvd25PcGVuID0gZmFGYWNlRnJvd25PcGVuO1xuY29uc3QgZmFIYW5kUG9pbnRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBvaW50LXVwJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTc1N10sIFwiZjBhNlwiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwUzk2IDE0LjMgOTYgMzJsMCAyMDgtNjQgMEwzMiAzMnpNMjI0IDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptLTY0LTY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTYwIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNmMxMy4yIDAgMjUuNC00IDM1LjYtMTAuOGM4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44YzExLjcgMCAyMi42LTMuMSAzMi04LjZsMCA4LjZjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBsLTYxLjcgMGMtNDIuNCAwLTgzLjEtMTYuOS0xMTMuMS00Ni45TDM3LjUgNDUzLjVDMTMuNSA0MjkuNSAwIDM5Ni45IDAgMzYzbDAtMjdjMC0zNS4zIDI4LjctNjQgNjQtNjRsODggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcyelwiXVxufTtcbmNvbnN0IGZhTW9uZXlCaWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYwZDZcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTY0IDMyMGwtNjQgMCAwLTY0YzM1LjMgMCA2NCAyOC43IDY0IDY0ek02NCAxOTJsMC02NCA2NCAwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek00NDggMzg0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDAgNjQtNjQgMHptNjQtMTkyYy0zNS4zIDAtNjQtMjguNy02NC02NGw2NCAwIDAgNjR6TTI4OCAxNjBhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6XCJdXG59O1xuY29uc3QgZmFCb29rbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rbWFyaycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODI3OCwgNjE1OTFdLCBcImYwMmVcIiwgXCJNMCA0OFY0ODcuN0MwIDUwMS4xIDEwLjkgNTEyIDI0LjMgNTEyYzUgMCA5LjktMS41IDE0LTQuNEwxOTIgNDAwIDM0NS43IDUwNy42YzQuMSAyLjkgOSA0LjQgMTQgNC40YzEzLjQgMCAyNC4zLTEwLjkgMjQuMy0yNC4zVjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4QzIxLjUgMCAwIDIxLjUgMCA0OHpcIl1cbn07XG5jb25zdCBmYUFsaWduSnVzdGlmeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbGlnbi1qdXN0aWZ5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDM5XCIsIFwiTTQ0OCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTAgMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpNMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNNDQ4IDQ0OGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFVbWJyZWxsYUJlYWNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VtYnJlbGxhLWJlYWNoJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTU4XSwgXCJmNWNhXCIsIFwiTTM0Ni4zIDI3MS44bC02MC4xLTIxLjlMMjE0IDQ0OCAzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI2MS45IDAgNjQuMS0xNzYuMnptMTIxLjEtLjJsLTMuMyA5LjEgNjcuNyAyNC42YzE4LjEgNi42IDM4LTQuMiAzOS42LTIzLjRjNi41LTc4LjUtMjMuOS0xNTUuNS04MC44LTIwOC41YzIgOCAzLjIgMTYuMyAzLjQgMjQuOGwuMiA2YzEuOCA1Ny03LjMgMTEzLjgtMjYuOCAxNjcuNHpNNDYyIDk5LjFjLTEuMS0zNC40LTIyLjUtNjQuOC01NC40LTc3LjRjLS45LS40LTEuOS0uNy0yLjgtMS4xYy0zMy0xMS43LTY5LjgtMi40LTkzLjEgMjMuOGwtNCA0LjVDMjcyLjQgODguMyAyNDUgMTM0LjIgMjI2LjggMTg0bC0zLjMgOS4xTDQzNCAyNjkuN2wzLjMtOS4xYzE4LjEtNDkuOCAyNi42LTEwMi41IDI0LjktMTU1LjVsLS4yLTZ6TTEwNy4yIDExMi45Yy0xMS4xIDE1LjctMi44IDM2LjggMTUuMyA0My40bDcxIDI1LjggMy4zLTkuMWMxOS41LTUzLjYgNDkuMS0xMDMgODcuMS0xNDUuNWw0LTQuNWM2LjItNi45IDEzLjEtMTMgMjAuNS0xOC4yYy03OS42IDIuNS0xNTQuNyA0Mi4yLTIwMS4yIDEwOHpcIl1cbn07XG5jb25zdCBmYUhlbG1ldFVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlbG1ldC11bicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUwM1wiLCBcIk00NzkuNSAyMjRDNDcxLjIgOTguOSAzNjcuMiAwIDI0MCAwQzEwNy41IDAgMCAxMDcuNSAwIDI0MGwwIDU2LjNDMCAzNDQuOCAzOS4yIDM4NCA4Ny43IDM4NEwyMDAgMzg0bDE0LjkgMEwzNDMuNSA1MDUuNGM0LjUgNC4yIDEwLjQgNi42IDE2LjUgNi42bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg2LjUgMC0xLjUtMS41TDM2OCAyODhsODAgMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0uNSAwek0zMjAgNDE3LjJsLTc4LTczLjdMMjc0LjQgMjg4bDQ1LjYgMCAwIDEyOS4yek0yODUuMyAxMDMuMWwzNC43IDUyIDAtNDMuMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgOTZjMCA3LjEtNC42IDEzLjMtMTEuNCAxNS4zcy0xNC0uNi0xNy45LTYuNGwtMzQuNy01MiAwIDQzLjJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTcuMSA0LjYtMTMuMyAxMS40LTE1LjNzMTQgLjYgMTcuOSA2LjR6TTE2MCAxMTJsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG5jb25zdCBmYUJ1bGxzZXllID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1bGxzZXllJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMTQwXCIsIFwiTTQ0OCAyNTZBMTkyIDE5MiAwIDEgMCA2NCAyNTZhMTkyIDE5MiAwIDEgMCAzODQgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0yNTYgODBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHpNMjI0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbmNvbnN0IGZhQmFjb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFjb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjkzNjNdLCBcImY3ZTVcIiwgXCJNNDM5LjIgMS4yYzExLjItMy4yIDIzLjItLjEgMzEuNCA4LjFMNTE4IDU2LjdsLTI2LjUgNy45Yy01OCAxNi42LTk4LjEgMzkuNi0xMjkuNiA2Ny40Yy0zMS4yIDI3LjUtNTMuMiA1OS4xLTc1LjEgOTAuOWwtMi4zIDMuM0MyNDEuNiAyODguNyAxOTUgMzU2LjYgNzIuOCA0MTcuN0wzNy45IDQzNS4yIDkuNCA0MDYuNmMtNy4zLTcuMy0xMC42LTE3LjYtOS0yNy44czguMS0xOC45IDE3LjMtMjMuNUMxMzYuMSAyOTYuMiAxODAuOSAyMzEgMjIzLjMgMTY5LjNsMi4zLTMuNGMyMS44LTMxLjggNDQuOS02NC45IDc3LjctOTMuOWMzMy40LTI5LjUgNzUuOC01My42IDEzNS45LTcwLjh6TTYxLjggNDU5bDI1LjQtMTIuN2MxMjkuNS02NC43IDE3OS45LTEzOC4xIDIyMy44LTIwMmwyLjItMy4zYzIyLjEtMzIuMSA0Mi4xLTYwLjUgNjkuOS04NS4xYzI3LjUtMjQuMyA2My40LTQ1LjIgMTE3LjMtNjAuNmMwIDAgMCAwIDAgMGwuMi0uMSA0My4xLTEyLjkgMjMgMjNjOCA4IDExLjIgMTkuNyA4LjMgMzAuN3MtMTEuMyAxOS42LTIyLjIgMjIuN2MtNTEuOSAxNC44LTg1LjYgMzQuNy0xMTEuMSA1Ny4yYy0yNi4xIDIzLTQ1LjEgNDkuOS02Ny4zIDgyLjFsLTIuMiAzLjJDMzI3LjggMzY1LjkgMjc1LjUgNDQyIDE0Mi4zIDUwOC42Yy0xMi4zIDYuMi0yNy4yIDMuNy0zNi45LTZMNjEuOCA0NTl6XCJdXG59O1xuY29uc3QgZmFIYW5kUG9pbnREb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtcG9pbnQtZG93bicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjBhN1wiLCBcIk0zMiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIwOC02NCAwIDAgMjA4ek0yMjQgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0em0tNjQgNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyem0xNjAtOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjR6bS05Ni04OGwwIC42YzkuNC01LjQgMjAuMy04LjYgMzItOC42YzEzLjIgMCAyNS40IDQgMzUuNiAxMC44YzguNy0yNC45IDMyLjUtNDIuOCA2MC40LTQyLjhjMTEuNyAwIDIyLjYgMy4xIDMyIDguNmwwLTguNkMzODQgNzEuNiAzMTIuNCAwIDIyNCAwTDE2Mi4zIDBDMTE5LjggMCA3OS4xIDE2LjkgNDkuMSA0Ni45TDM3LjUgNTguNUMxMy41IDgyLjUgMCAxMTUuMSAwIDE0OWwwIDI3YzAgMzUuMyAyOC43IDY0IDY0IDY0bDg4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBsLTU2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNTYgMGMzOS44IDAgNzIgMzIuMiA3MiA3MnpcIl1cbn07XG5jb25zdCBmYUFycm93VXBGcm9tQnJhY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1mcm9tLWJyYWNrZXQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwOWFcIiwgXCJNMjQ2LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIgMTA5LjMgMTkyIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjEwLjcgNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjh6TTY0IDM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0elwiXVxufTtcbmNvbnN0IGZhRm9sZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE5MywgMTI4NDQ3LCA2MTcxNiwgXCJmb2xkZXItYmxhbmtcIl0sIFwiZjA3YlwiLCBcIk02NCA0ODBINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MGMwLTM1LjMtMjguNy02NC02NC02NEgyODhjLTEwLjEgMC0xOS42LTQuNy0yNS42LTEyLjhMMjQzLjIgNTcuNkMyMzEuMSA0MS41IDIxMi4xIDMyIDE5MiAzMkg2NEMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NHpcIl1cbn07XG5jb25zdCBmYUZvbGRlckJsYW5rID0gZmFGb2xkZXI7XG5jb25zdCBmYUZpbGVXYXZlZm9ybSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXdhdmVmb3JtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJmaWxlLW1lZGljYWwtYWx0XCJdLCBcImY0NzhcIiwgXCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDIyNCAxMTIgMGM2LjEgMCAxMS42IDMuNCAxNC4zIDguOEwxNzYgMzMyLjJsNDkuNy05OS40YzIuNy01LjQgOC4zLTguOCAxNC4zLTguOHMxMS42IDMuNCAxNC4zIDguOEwyODEuOSAyODhsNzAuMSAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC04MCAwYy02LjEgMC0xMS42LTMuNC0xNC4zLTguOEwyNDAgMjc1LjhsLTQ5LjcgOTkuNGMtMi43IDUuNC04LjMgOC44LTE0LjMgOC44cy0xMS42LTMuNC0xNC4zLTguOEwxMzQuMSAzMjAgMzIgMzIwbDAgMTI4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyNTYgMCA5NiAwek0yODggMGwwIDEyOCAxMjggMEwyODggMHpcIl1cbn07XG5jb25zdCBmYUZpbGVNZWRpY2FsQWx0ID0gZmFGaWxlV2F2ZWZvcm07XG5jb25zdCBmYVJhZGlhdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyYWRpYXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3YjlcIiwgXCJNMjE2IDE4Ni43Yy0yMy45IDEzLjgtNDAgMzkuNy00MCA2OS4zTDMyIDI1NkMxNC4zIDI1Ni0uMiAyNDEuNiAyIDIyNC4xQzEwLjcgMTU0IDQ3LjggOTIuNyAxMDEuMyA1MmMxNC4xLTEwLjcgMzMuOC01LjMgNDIuNyAxMGw3MiAxMjQuN3pNMjU2IDMzNmMxNC42IDAgMjguMi0zLjkgNDAtMTAuN2w3MiAxMjQuOGM4LjggMTUuMyAzLjcgMzUuMS0xMi42IDQxLjljLTMwLjYgMTIuOS02NC4yIDIwLTk5LjQgMjBzLTY4LjktNy4xLTk5LjQtMjBjLTE2LjMtNi45LTIxLjQtMjYuNi0xMi42LTQxLjlsNzItMTI0LjhjMTEuOCA2LjggMjUuNCAxMC43IDQwIDEwLjd6bTIyNC04MGwtMTQ0IDBjMC0yOS42LTE2LjEtNTUuNS00MC02OS4zTDM2OCA2MmM4LjgtMTUuMyAyOC42LTIwLjcgNDIuNy0xMGM1My42IDQwLjcgOTAuNiAxMDIgOTkuNCAxNzIuMWMyLjIgMTcuNS0xMi40IDMxLjktMzAgMzEuOXpNMjU2IDIwOGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFDaGFydFNpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFydC1zaW1wbGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU0NzNcIiwgXCJNMTYwIDgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzUyek0wIDI3MmMwLTI2LjUgMjEuNS00OCA0OC00OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDI3MnpNMzY4IDk2bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyODhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjg4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhTWFyc1N0cm9rZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLXN0cm9rZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4OTRdLCBcImYyMjlcIiwgXCJNMzc2IDBjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzMuNCAzMy40TDM3MC4zIDk2LjQgMzQ1IDcxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDI1LjQgMjUuNEwzMDcuOCAxNTljLTI4LjQtMTkuNS02Mi43LTMxLTk5LjgtMzFjLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2czc4LjggMTc2IDE3NiAxNzZzMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDI4LjYtMjguNkw0MDcgMjAxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMjUuNC0yNS40IDIyLjEtMjIuMUw0NzEgMTUzYzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzNzYgMHptODggNDhzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDB6TTk2IDMwNGExMTIgMTEyIDAgMSAxIDIyNCAwQTExMiAxMTIgMCAxIDEgOTYgMzA0elwiXVxufTtcbmNvbnN0IGZhVmlhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWFsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTE0XSwgXCJmNDkyXCIsIFwiTTM0Mi42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNEwyOC4xIDM0Mi42QzEwLjEgMzYwLjYgMCAzODUgMCA0MTAuNUwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDUuNSAwYzI1LjUgMCA0OS45LTEwLjEgNjcuOS0yOC4xTDQ0OCAyMDUuM2w5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTMyLTMyLTk2LTk2LTMyLTMyek0yMDUuMyAyNTZMMzUyIDEwOS4zIDQwMi43IDE2MGwtOTYgOTYtMTAxLjUgMHpcIl1cbn07XG5jb25zdCBmYUdhdWdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dhdWdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkYXNoYm9hcmRcIiwgXCJnYXVnZS1tZWRcIiwgXCJ0YWNob21ldGVyLWFsdC1hdmVyYWdlXCJdLCBcImY2MjRcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0zMjAgOTZjMC0yNi45LTE2LjUtNDkuOS00MC01OS4zTDI4MCA4OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwNC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjNjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMTQ0IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bS0xNiA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yODggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek00MDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFEYXNoYm9hcmQgPSBmYUdhdWdlO1xuY29uc3QgZmFHYXVnZU1lZCA9IGZhR2F1Z2U7XG5jb25zdCBmYVRhY2hvbWV0ZXJBbHRBdmVyYWdlID0gZmFHYXVnZTtcbmNvbnN0IGZhV2FuZE1hZ2ljU3BhcmtsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2FuZC1tYWdpYy1zcGFya2xlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibWFnaWMtd2FuZC1zcGFya2xlc1wiXSwgXCJlMmNhXCIsIFwiTTIzNC43IDQyLjdMMTk3IDU2LjhjLTMgMS4xLTUgNC01IDcuMnMyIDYuMSA1IDcuMmwzNy43IDE0LjFMMjQ4LjggMTIzYzEuMSAzIDQgNSA3LjIgNXM2LjEtMiA3LjItNWwxNC4xLTM3LjdMMzE1IDcxLjJjMy0xLjEgNS00IDUtNy4ycy0yLTYuMS01LTcuMkwyNzcuMyA0Mi43IDI2My4yIDVjLTEuMS0zLTQtNS03LjItNXMtNi4xIDItNy4yIDVMMjM0LjcgNDIuN3pNNDYuMSAzOTUuNGMtMTguNyAxOC43LTE4LjcgNDkuMSAwIDY3LjlsMzQuNiAzNC42YzE4LjcgMTguNyA0OS4xIDE4LjcgNjcuOSAwTDUyOS45IDExNi41YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45TDQ5NS4zIDE0LjFjLTE4LjctMTguNy00OS4xLTE4LjctNjcuOSAwTDQ2LjEgMzk1LjR6TTQ4NC42IDgyLjZsLTEwNSAxMDUtMjMuMy0yMy4zIDEwNS0xMDUgMjMuMyAyMy4zek03LjUgMTE3LjJDMyAxMTguOSAwIDEyMy4yIDAgMTI4czMgOS4xIDcuNSAxMC44TDY0IDE2MGwyMS4yIDU2LjVjMS43IDQuNSA2IDcuNSAxMC44IDcuNXM5LjEtMyAxMC44LTcuNUwxMjggMTYwbDU2LjUtMjEuMmM0LjUtMS43IDcuNS02IDcuNS0xMC44cy0zLTkuMS03LjUtMTAuOEwxMjggOTYgMTA2LjggMzkuNUMxMDUuMSAzNSAxMDAuOCAzMiA5NiAzMnMtOS4xIDMtMTAuOCA3LjVMNjQgOTYgNy41IDExNy4yem0zNTIgMjU2Yy00LjUgMS43LTcuNSA2LTcuNSAxMC44czMgOS4xIDcuNSAxMC44TDQxNiA0MTZsMjEuMiA1Ni41YzEuNyA0LjUgNiA3LjUgMTAuOCA3LjVzOS4xLTMgMTAuOC03LjVMNDgwIDQxNmw1Ni41LTIxLjJjNC41LTEuNyA3LjUtNiA3LjUtMTAuOHMtMy05LjEtNy41LTEwLjhMNDgwIDM1MmwtMjEuMi01Ni41Yy0xLjctNC41LTYtNy41LTEwLjgtNy41cy05LjEgMy0xMC44IDcuNUw0MTYgMzUybC01Ni41IDIxLjJ6XCJdXG59O1xuY29uc3QgZmFNYWdpY1dhbmRTcGFya2xlcyA9IGZhV2FuZE1hZ2ljU3BhcmtsZXM7XG5jb25zdCBmYUUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZScsXG4gIGljb246IFszMjAsIDUxMiwgWzEwMV0sIFwiNDVcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDI1NiAwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw2NCA0MTZsMC0xMjggMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMjI0IDY0IDk2bDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDY0IDMyelwiXVxufTtcbmNvbnN0IGZhUGVuQ2xpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4tY2xpcCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wicGVuLWFsdFwiXSwgXCJmMzA1XCIsIFwiTTQ1My4zIDE5LjNsMzkuNCAzOS40YzI1IDI1IDI1IDY1LjUgMCA5MC41bC01Mi4xIDUyLjFzMCAwIDAgMGwtMS0xczAgMCAwIDBsLTE2LTE2LTk2LTk2LTE3LTE3IDUyLjEtNTIuMWMyNS0yNSA2NS41LTI1IDkwLjUgMHpNMjQxIDExNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEwxMDUgMjE3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDE3My4xIDgxYzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEwyODggOTQuMWwxNyAxNyA5NiA5NiAxNiAxNiAxIDEtMTcgMTdMMjI5LjUgNDEyLjVjLTQ4IDQ4LTEwOS4yIDgwLjgtMTc1LjggOTQuMWwtMjUgNWMtNy45IDEuNi0xNi0uOS0yMS43LTYuNnMtOC4xLTEzLjgtNi42LTIxLjdsNS0yNWMxMy4zLTY2LjYgNDYuMS0xMjcuOCA5NC4xLTE3NS44TDI1NC4xIDEyOCAyNDEgMTE0Ljl6XCJdXG59O1xuY29uc3QgZmFQZW5BbHQgPSBmYVBlbkNsaXA7XG5jb25zdCBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0Y2FcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJsNDAgMCAwIDY0LTcyIDAgMCAxMjhjNTMgMCA5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2YzYuMyAwIDEyLjQgLjYgMTguMyAxLjdDMzY3LjEgMjMxLjggNDI2LjkgMTkyIDQ5NiAxOTJjNDIuNSAwIDgxLjYgMTUuMSAxMTIgNDAuMmwwLTcyLjItNzIgMCAwLTY0IDQwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMzJ6TTQ4OCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0zNjAgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjMyIDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgxMDAsIDYyMTQ0XSwgXCJmMDA3XCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMmwzODguNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43QzQ0OCAzODMuOCAzNjguMiAzMDQgMjY5LjcgMzA0bC05MS40IDB6XCJdXG59O1xuY29uc3QgZmFTY2hvb2xDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTZiXCIsIFwiTTMzNy44IDUuNEMzMjctMS44IDMxMy0xLjggMzAyLjIgNS40TDE2Ni4zIDk2IDQ4IDk2QzIxLjUgOTYgMCAxMTcuNSAwIDE0NEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNzIgMHMwIDAgMCAwbC02NCAwIDAtOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsLjMgMCAuNSAwYzMuNC0zNy43IDE4LjctNzIuMSA0Mi4yLTk5LjFDMzUwLjIgMjYwIDMzNS42IDI2NCAzMjAgMjY0Yy00OC42IDAtODgtMzkuNC04OC04OHMzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCAxOC4zLTUuNiAzNS4zLTE1LjEgNDkuNGMyOS0yMSA2NC42LTMzLjQgMTAzLjEtMzMuNGM1OS41IDAgMTEyLjEgMjkuNiAxNDQgNzQuOEw2NDAgMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ3My43IDk2IDMzNy44IDUuNHpNOTYgMTkybDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZ6bTAgMTI4bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZ6TTMyMCAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwIDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2ek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS05OS4zLTQzLjNjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN3pcIl1cbn07XG5jb25zdCBmYUR1bXBzdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2R1bXBzdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNzkzXCIsIFwiTTQ5LjcgMzJjLTEwLjUgMC0xOS44IDYuOS0yMi45IDE2LjlMLjkgMTMzYy0uNiAyLS45IDQuMS0uOSA2LjFDMCAxNTAuNyA5LjMgMTYwIDIwLjkgMTYwbDk0IDBMMTQwLjUgMzIgNDkuNyAzMnpNMjcyIDE2MGwwLTEyOC05OC45IDBMMTQ3LjUgMTYwIDI3MiAxNjB6bTMyIDBsMTI0LjUgMEw0MDIuOSAzMiAzMDQgMzJsMCAxMjh6bTE1Ny4xIDBsOTQgMGMxMS41IDAgMjAuOS05LjMgMjAuOS0yMC45YzAtMi4xLS4zLTQuMS0uOS02LjFMNTQ5LjIgNDguOUM1NDYuMSAzOC45IDUzNi44IDMyIDUyNi4zIDMybC05MC44IDAgMjUuNiAxMjh6TTMyIDE5Mmw0IDMyLTQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMiAwTDY0IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDMyMCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMjAtMTYwIDEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQgMCA0LTMyTDMyIDE5MnpcIl1cbn07XG5jb25zdCBmYVZhblNodXR0bGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmFuLXNodXR0bGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2NTYsIFwic2h1dHRsZS12YW5cIl0sIFwiZjViNlwiLCBcIk02NCAxMDRsMCA4OCA5NiAwIDAtOTZMNzIgOTZjLTQuNCAwLTggMy42LTggOHptNDgyIDg4TDQ2NS4xIDk2IDM4NCA5NmwwIDk2IDE2MiAwem0tMjI2IDBsMC05Ni05NiAwIDAgOTYgOTYgMHpNNTkyIDM4NGwtMTYgMGMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwtMTI4IDBjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsLTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTA0QzAgNjQuMiAzMi4yIDMyIDcyIDMybDEyMCAwIDE2MCAwIDExMy4xIDBjMTguOSAwIDM2LjggOC4zIDQ5IDIyLjhMNjI1IDE4Ni41YzkuNyAxMS41IDE1IDI2LjEgMTUgNDEuMkw2NDAgMzM2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em0tNjQgMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xNjAgNDMyYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG5jb25zdCBmYVNodXR0bGVWYW4gPSBmYVZhblNodXR0bGU7XG5jb25zdCBmYUJ1aWxkaW5nVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy11c2VyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGRhXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAgODkuOSAwYy02LjMtMTAuMi05LjktMjIuMi05LjktMzUuMWMwLTQ2LjkgMjUuOC04Ny44IDY0LTEwOS4ybDAtOTUuOUwzODQgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek04MCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNTc2IDI3MmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6TTM1MiA0NzcuMWMwIDE5LjMgMTUuNiAzNC45IDM0LjkgMzQuOWwyMTguMiAwYzE5LjMgMCAzNC45LTE1LjYgMzQuOS0zNC45YzAtNTEuNC00MS43LTkzLjEtOTMuMS05My4xbC0xMDEuOCAwYy01MS40IDAtOTMuMSA0MS43LTkzLjEgOTMuMXpcIl1cbn07XG5jb25zdCBmYVNxdWFyZUNhcmV0TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2FyZXQtbGVmdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiY2FyZXQtc3F1YXJlLWxlZnRcIl0sIFwiZjE5MVwiLCBcIk0wIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2ek0xMjggMjU2YzAtNi43IDIuOC0xMyA3LjctMTcuNmwxMTItMTA0YzctNi41IDE3LjItOC4yIDI1LjktNC40czE0LjQgMTIuNSAxNC40IDIybDAgMjA4YzAgOS41LTUuNyAxOC4yLTE0LjQgMjJzLTE4LjkgMi4xLTI1LjktNC40bC0xMTItMTA0Yy00LjktNC41LTcuNy0xMC45LTcuNy0xNy42elwiXVxufTtcbmNvbnN0IGZhQ2FyZXRTcXVhcmVMZWZ0ID0gZmFTcXVhcmVDYXJldExlZnQ7XG5jb25zdCBmYUhpZ2hsaWdodGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hpZ2hsaWdodGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTkxXCIsIFwiTTMxNSAzMTVsMTU4LjQtMjE1TDQ0NC4xIDcwLjYgMjI5IDIyOSAzMTUgMzE1em0tMTg3IDVzMCAwIDAgMGwwLTcxLjdjMC0xNS4zIDcuMi0yOS42IDE5LjUtMzguNkw0MjAuNiA4LjRDNDI4IDIuOSA0MzcgMCA0NDYuMiAwYzExLjQgMCAyMi40IDQuNSAzMC41IDEyLjZsNTQuOCA1NC44YzguMSA4LjEgMTIuNiAxOSAxMi42IDMwLjVjMCA5LjItMi45IDE4LjItOC40IDI1LjZMMzM0LjQgMzk2LjVjLTkgMTIuMy0yMy40IDE5LjUtMzguNiAxOS41TDIyNCA0MTZsLTI1LjQgMjUuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTUwLjctNTAuN2MtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMMTI4IDMyMHpNNyA0NjYuM2w2My02MyA3MC42IDcwLjYtMzEgMzFjLTQuNSA0LjUtMTAuNiA3LTE3IDdMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQuN2MwLTYuNCAyLjUtMTIuNSA3LTE3elwiXVxufTtcbmNvbnN0IGZhS2V5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tleScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI3M10sIFwiZjA4NFwiLCBcIk0zMzYgMzUyYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2UzQzMy4yIDAgMzM2IDBTMTYwIDc4LjggMTYwIDE3NmMwIDE4LjcgMi45IDM2LjggOC4zIDUzLjdMNyAzOTFjLTQuNSA0LjUtNyAxMC42LTcgMTdsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQwIDQwIDBjNi40IDAgMTIuNS0yLjUgMTctN2wzMy4zLTMzLjNjMTYuOSA1LjQgMzUgOC4zIDUzLjcgOC4zek0zNzYgOTZhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwelwiXVxufTtcbmNvbnN0IGZhQnVsbGhvcm4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVsbGhvcm4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMjYsIDEyODM2M10sIFwiZjBhMVwiLCBcIk00ODAgMzJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlMMzgxLjcgNTNjLTQ4IDQ4LTExMy4xIDc1LTE4MSA3NWwtOC43IDAtMzIgMC05NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjggOC43IDBjNjcuOSAwIDEzMyAyNyAxODEgNzVsNDMuNiA0My42YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45czE5LjgtMTYuNiAxOS44LTI5LjZsMC0xNDcuNmMxOC42LTguOCAzMi0zMi41IDMyLTYwLjRzLTEzLjQtNTEuNi0zMi02MC40TDQ4MCAzMnptLTY0IDc2LjdMNDE2IDI0MGwwIDEzMS4zQzM1Ny4yIDMxNy44IDI4MC41IDI4OCAyMDAuNyAyODhsLTguNyAwIDAtOTYgOC43IDBjNzkuOCAwIDE1Ni41LTI5LjggMjE1LjMtODMuM3pcIl1cbn07XG5jb25zdCBmYUdsb2JlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dsb2JlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzYwXSwgXCJmMGFjXCIsIFwiTTM1MiAyNTZjMCAyMi4yLTEuMiA0My42LTMuMyA2NGwtMTg1LjMgMGMtMi4yLTIwLjQtMy4zLTQxLjgtMy4zLTY0czEuMi00My42IDMuMy02NGwxODUuMyAwYzIuMiAyMC40IDMuMyA0MS44IDMuMyA2NHptMjguOC02NGwxMjMuMSAwYzUuMyAyMC41IDguMSA0MS45IDguMSA2NHMtMi44IDQzLjUtOC4xIDY0bC0xMjMuMSAwYzIuMS0yMC42IDMuMi00MiAzLjItNjRzLTEuMS00My40LTMuMi02NHptMTEyLjYtMzJsLTExNi43IDBjLTEwLTYzLjktMjkuOC0xMTcuNC01NS4zLTE1MS42Yzc4LjMgMjAuNyAxNDIgNzcuNSAxNzEuOSAxNTEuNnptLTE0OS4xIDBsLTE3Ni42IDBjNi4xLTM2LjQgMTUuNS02OC42IDI3LTk0LjdjMTAuNS0yMy42IDIyLjItNDAuNyAzMy41LTUxLjVDMjM5LjQgMy4yIDI0OC43IDAgMjU2IDBzMTYuNiAzLjIgMjcuOCAxMy44YzExLjMgMTAuOCAyMyAyNy45IDMzLjUgNTEuNWMxMS42IDI2IDIwLjkgNTguMiAyNyA5NC43em0tMjA5IDBMMTguNiAxNjBDNDguNiA4NS45IDExMi4yIDI5LjEgMTkwLjYgOC40QzE2NS4xIDQyLjYgMTQ1LjMgOTYuMSAxMzUuMyAxNjB6TTguMSAxOTJsMTIzLjEgMGMtMi4xIDIwLjYtMy4yIDQyLTMuMiA2NHMxLjEgNDMuNCAzLjIgNjRMOC4xIDMyMEMyLjggMjk5LjUgMCAyNzguMSAwIDI1NnMyLjgtNDMuNSA4LjEtNjR6TTE5NC43IDQ0Ni42Yy0xMS42LTI2LTIwLjktNTguMi0yNy05NC42bDE3Ni42IDBjLTYuMSAzNi40LTE1LjUgNjguNi0yNyA5NC42Yy0xMC41IDIzLjYtMjIuMiA0MC43LTMzLjUgNTEuNUMyNzIuNiA1MDguOCAyNjMuMyA1MTIgMjU2IDUxMnMtMTYuNi0zLjItMjcuOC0xMy44Yy0xMS4zLTEwLjgtMjMtMjcuOS0zMy41LTUxLjV6TTEzNS4zIDM1MmMxMCA2My45IDI5LjggMTE3LjQgNTUuMyAxNTEuNkMxMTIuMiA0ODIuOSA0OC42IDQyNi4xIDE4LjYgMzUybDExNi43IDB6bTM1OC4xIDBjLTMwIDc0LjEtOTMuNiAxMzAuOS0xNzEuOSAxNTEuNmMyNS41LTM0LjIgNDUuMi04Ny43IDU1LjMtMTUxLjZsMTE2LjcgMHpcIl1cbn07XG5jb25zdCBmYVN5bmFnb2d1ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzeW5hZ29ndWUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgzMzNdLCBcImY2OWJcIiwgXCJNMzA5LjggMy43YzUuOS00LjkgMTQuNi00LjkgMjAuNSAwbDEyMSAxMDAuOEM0NjkuNSAxMTkuNyA0ODAgMTQyLjIgNDgwIDE2NmwwIDExNC4xTDQ4MCA1MTJsLTE2IDAtMTEyIDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2LTExMiAwLTE2IDAgMC0yMzEuOUwxNjAgMTY2YzAtMjMuNyAxMC41LTQ2LjMgMjguOC02MS41TDMwOS44IDMuN3pNNTEyIDUxMmwwLTI2Ny41IDI4LjEtMzEuMmMzLTMuNCA3LjQtNS4zIDExLjktNS4zczguOSAxLjkgMTEuOSA1LjNsNjMuOCA3MC45YzcuOSA4LjggMTIuMyAyMC4zIDEyLjMgMzIuMUw2NDAgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwek0xMjggMjQ0LjVMMTI4IDUxMmwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAzMTYuM2MwLTExLjkgNC40LTIzLjMgMTIuMy0zMi4xbDYzLjgtNzAuOWMzLTMuNCA3LjQtNS4zIDExLjktNS4zczguOSAxLjkgMTEuOSA1LjNMMTI4IDI0NC41ek0zMjcgMTI0LjNjLTMuMS01LjQtMTAuOS01LjQtMTMuOSAwbC0xNS45IDI4LjEtMzIuMy0uM2MtNi4yLS4xLTEwLjEgNi43LTcgMTIuMUwyNzQuMyAxOTJsLTE2LjQgMjcuOGMtMy4yIDUuNCAuNyAxMi4xIDcgMTIuMWwzMi4zLS4zTDMxMyAyNTkuN2MzLjEgNS40IDEwLjkgNS40IDEzLjkgMGwxNS45LTI4LjEgMzIuMyAuM2M2LjIgLjEgMTAuMS02LjcgNy0xMi4xTDM2NS43IDE5MmwxNi40LTI3LjhjMy4yLTUuNC0uNy0xMi4xLTctMTIuMWwtMzIuMyAuM0wzMjcgMTI0LjN6XCJdXG59O1xuY29uc3QgZmFQZXJzb25IYWxmRHJlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWhhbGYtZHJlc3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImU1NDhcIiwgXCJNMTYwIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em04IDM1MmwwLTIyNCA2LjkgMGMzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw1OC4zIDk3YzkuMSAxNS4xIDQuMiAzNC44LTEwLjkgNDMuOXMtMzQuOCA0LjItNDMuOS0xMC45TDIzMiAyNTYuOSAyMzIgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4czAgMCAwIDB6TTU4LjIgMTgyLjNjMTkuOS0zMy4xIDU1LjMtNTMuNSA5My44LTU0LjNsMCAyNTZzMCAwIDAgMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTcuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMUw5My4zIDI0OC4xIDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1My42LTg5LjJ6XCJdXG59O1xuY29uc3QgZmFSb2FkQnJpZGdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtYnJpZGdlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTYzXCIsIFwiTTM1MiAwTDYwOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC00NDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ4MCAyMDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0YzAtMTMuMy0xMC43LTI0LTI0LTI0em0yNCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjR6TTQ4MCA0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTMyIDk2bDI1NiAwIDAgNjQtNDAgMCAwIDY0IDQwIDAgMCA5NmMtNTMgMC05NiA0My05NiA5NmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtNTMtNDMtOTYtOTYtOTZsMC05NiA3MiAwIDAtNjQtNDAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMTY4IDY0bC04MCAwIDAgNjQgODAgMCAwLTY0elwiXVxufTtcbmNvbnN0IGZhTG9jYXRpb25BcnJvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1hcnJvdycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjEyNFwiLCBcIk00MjkuNiA5Mi4xYzQuOS0xMS45IDIuMS0yNS42LTctMzQuN3MtMjIuOC0xMS45LTM0LjctN2wtMzUyIDE0NGMtMTQuMiA1LjgtMjIuMiAyMC44LTE5LjMgMzUuOHMxNi4xIDI1LjggMzEuNCAyNS44bDE3NiAwIDAgMTc2YzAgMTUuMyAxMC44IDI4LjQgMjUuOCAzMS40czMwLTUuMSAzNS44LTE5LjNsMTQ0LTM1MnpcIl1cbn07XG5jb25zdCBmYUMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYycsXG4gIGljb246IFszODQsIDUxMiwgWzk5XSwgXCI0M1wiLCBcIk0zMjkuMSAxNDIuOWMtNjIuNS02Mi41LTE1NS44LTYyLjUtMjE4LjMgMHMtNjIuNSAxNjMuOCAwIDIyNi4zczE1NS44IDYyLjUgMjE4LjMgMGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy04Ny41IDg3LjUtMjIxLjMgODcuNS0zMDguOCAwcy04Ny41LTIyOS4zIDAtMzE2LjhzMjIxLjMtODcuNSAzMDguOCAwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwelwiXVxufTtcbmNvbnN0IGZhVGFibGV0QnV0dG9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldC1idXR0b24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYxMGFcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMjI0IDQwMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFCdWlsZGluZ0xvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctbG9jaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRkNlwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDg4LjYgMGMtNS40LTkuNC04LjYtMjAuMy04LjYtMzJsMC0xMjhjMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMjQuNmMwLTMwLjUgMTIuMi01OC4yIDMyLTc4LjRMMzg0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDB6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xMTItMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNODAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ2NCAyNDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OC02NCAwIDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMmwwIDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbmNvbnN0IGZhUGl6emFTbGljZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaXp6YS1zbGljZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjgxOFwiLCBcIk0xNjkuNyAuOWMtMjIuOC0xLjYtNDEuOSAxNC00Ny41IDM0LjdMMTEwLjQgODBjLjUgMCAxLjEgMCAxLjYgMGMxNzYuNyAwIDMyMCAxNDMuMyAzMjAgMzIwYzAgLjUgMCAxLjEgMCAxLjZsNDQuNC0xMS44YzIwLjgtNS41IDM2LjMtMjQuNyAzNC43LTQ3LjVDNDk4LjUgMTU5LjUgMzUyLjUgMTMuNSAxNjkuNyAuOXpNMzk5LjggNDEwLjJjLjEtMy40IC4yLTYuOCAuMi0xMC4yYzAtMTU5LjEtMTI4LjktMjg4LTI4OC0yODhjLTMuNCAwLTYuOCAuMS0xMC4yIC4yTC41IDQ5MS45Yy0xLjUgNS41IC4xIDExLjQgNC4xIDE1LjRzOS45IDUuNiAxNS40IDQuMUwzOTkuOCA0MTAuMnpNMTc2IDIwOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDEyOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek05NiAzODRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG5jb25zdCBmYU1vbmV5QmlsbFdhdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbC13YXZlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTNhXCIsIFwiTTAgMTEyLjVMMCA0MjIuM2MwIDE4IDEwLjEgMzUgMjcgNDEuM2M4NyAzMi41IDE3NCAxMC4zIDI2MS0xMS45Yzc5LjgtMjAuMyAxNTkuNi00MC43IDIzOS4zLTE4LjljMjMgNi4zIDQ4LjctOS41IDQ4LjctMzMuNGwwLTMwOS45YzAtMTgtMTAuMS0zNS0yNy00MS4zQzQ2MiAxNS45IDM3NSAzOC4xIDI4OCA2MC4zQzIwOC4yIDgwLjYgMTI4LjQgMTAwLjkgNDguNyA3OS4xQzI1LjYgNzIuOCAwIDg4LjYgMCAxMTIuNXpNMjg4IDM1MmMtNDQuMiAwLTgwLTQzLTgwLTk2czM1LjgtOTYgODAtOTZzODAgNDMgODAgOTZzLTM1LjggOTYtODAgOTZ6TTY0IDM1MmMzNS4zIDAgNjQgMjguNyA2NCA2NGwtNjQgMCAwLTY0em02NC0yMDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMC02NCA2NCAwek01MTIgMzA0bDAgNjQtNjQgMGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDQ4IDk2bDY0IDAgMCA2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6XCJdXG59O1xuY29uc3QgZmFDaGFydEFyZWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtYXJlYScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJlYS1jaGFydFwiXSwgXCJmMWZlXCIsIFwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwbDQwMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2TDY0IDY0em05NiAyODhsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02OC4yYzAtNy42LTIuNy0xNS03LjctMjAuOGwtNjUuOC03Ni44Yy0xMi4xLTE0LjItMzMuNy0xNS00Ni45LTEuOGwtMjEgMjFjLTEwIDEwLTI2LjQgOS4yLTM1LjQtMS42bC0zOS4yLTQ3Yy0xMi42LTE1LjEtMzUuNy0xNS40LTQ4LjctLjZMMTM1LjkgMjE1Yy01LjEgNS44LTcuOSAxMy4zLTcuOSAyMS4xbDAgODRjMCAxNy43IDE0LjMgMzIgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFBcmVhQ2hhcnQgPSBmYUNoYXJ0QXJlYTtcbmNvbnN0IGZhSG91c2VGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGRcIiwgXCJNNDgwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTYwIDAgMzIwIDY0IDAgMC0zMjAgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTI4YzAtOC44LTcuMi0xNi0xNi0xNkw1MTIgMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTQxNiAxNTlMMjc2LjggMzkuN2MtMTItMTAuMy0yOS43LTEwLjMtNDEuNyAwbC0yMjQgMTkyQzEgMjQwLjQtMi43IDI1NC41IDIgMjY3LjFTMTguNiAyODggMzIgMjg4bDMyIDAgMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NC43IDAgLjIgMC0xIDAgMC0zNTN6XCJdXG59O1xuY29uc3QgZmFQZXJzb25DaXJjbGVNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQwXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjMuMUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmwyOS43IDBjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45IDIzMiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHptMTM2IDE2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIyNCAwYzAtOC44LTcuMi0xNi0xNi0xNmwtMTI4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2elwiXVxufTtcbmNvbnN0IGZhQmFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY4MywgXCJjYW5jZWxcIl0sIFwiZjA1ZVwiLCBcIk0zNjcuMiA0MTIuNUw5OS41IDE0NC44Qzc3LjEgMTc2LjEgNjQgMjE0LjUgNjQgMjU2YzAgMTA2IDg2IDE5MiAxOTIgMTkyYzQxLjUgMCA3OS45LTEzLjEgMTExLjItMzUuNXptNDUuMy00NS4zQzQzNC45IDMzNS45IDQ0OCAyOTcuNSA0NDggMjU2YzAtMTA2LTg2LTE5Mi0xOTItMTkyYy00MS41IDAtNzkuOSAxMy4xLTExMS4yIDM1LjVMNDEyLjUgMzY3LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG5jb25zdCBmYUNhbmNlbCA9IGZhQmFuO1xuY29uc3QgZmFDYW1lcmFSb3RhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FtZXJhLXJvdGF0ZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTBkOFwiLCBcIk0yMTMuMSA2NC44TDIwMi43IDk2IDEyOCA5NmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTc0LjcgMEw0MjYuOSA2NC44QzQyMC40IDQ1LjIgNDAyLjEgMzIgMzgxLjQgMzJMMjU4LjYgMzJjLTIwLjcgMC0zOSAxMy4yLTQ1LjUgMzIuOHpNNDQ4IDI1NmMwIDguOC03LjIgMTYtMTYgMTZsLTc2LjcgMGMtNi4yIDAtMTEuMy01LjEtMTEuMy0xMS4zYzAtMyAxLjItNS45IDMuMy04TDM3MSAyMjljLTEzLjYtMTMuNC0zMS45LTIxLTUxLTIxYy0xOS4yIDAtMzcuNyA3LjYtNTEuMyAyMS4zTDI0OSAyNDljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMTkuNy0xOS43QzI1Ny40IDE3Mi43IDI4OCAxNjAgMzIwIDE2MGMzMS44IDAgNjIuNCAxMi42IDg1IDM1bDIzLjctMjMuN2MyLjEtMi4xIDUtMy4zIDgtMy4zYzYuMiAwIDExLjMgNS4xIDExLjMgMTEuM2wwIDc2Ljd6TTE5MiAzMjBjMC04LjggNy4yLTE2IDE2LTE2bDc2LjcgMGM2LjIgMCAxMS4zIDUuMSAxMS4zIDExLjNjMCAzLTEuMiA1LjktMy4zIDhMMjY5IDM0N2MxMy42IDEzLjQgMzEuOSAyMSA1MSAyMWMxOS4yIDAgMzcuNy03LjYgNTEuMy0yMS4zTDM5MSAzMjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0xOS43IDE5LjdDMzgyLjYgNDAzLjMgMzUyIDQxNiAzMjAgNDE2Yy0zMS44IDAtNjIuNC0xMi42LTg1LTM1bC0yMy43IDIzLjdjLTIuMSAyLjEtNSAzLjMtOCAzLjNjLTYuMiAwLTExLjMtNS4xLTExLjMtMTEuM2wwLTc2Ljd6XCJdXG59O1xuY29uc3QgZmFTcHJheUNhblNwYXJrbGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwcmF5LWNhbi1zcGFya2xlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYWlyLWZyZXNoZW5lclwiXSwgXCJmNWQwXCIsIFwiTTk2IDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJ6bTAgMTI4Yy01MyAwLTk2IDQzLTk2IDk2TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjA4YzAtNTMtNDMtOTYtOTYtOTZMOTYgMTYwem02NCA5NmE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNMzg0IDQ4YzAtMS40LTEtMy0yLjItMy42TDM1MiAzMiAzMzkuNiAyLjJDMzM5IDEgMzM3LjQgMCAzMzYgMHMtMyAxLTMuNiAyLjJMMzIwIDMyIDI5MC4yIDQ0LjRDMjg5IDQ1IDI4OCA0Ni42IDI4OCA0OGMwIDEuNCAxIDMgMi4yIDMuNkwzMjAgNjRsMTIuNCAyOS44QzMzMyA5NSAzMzQuNiA5NiAzMzYgOTZzMy0xIDMuNi0yLjJMMzUyIDY0bDI5LjgtMTIuNEMzODMgNTEgMzg0IDQ5LjQgMzg0IDQ4em03Ni40IDQ1LjhDNDYxIDk1IDQ2Mi42IDk2IDQ2NCA5NnMzLTEgMy42LTIuMkw0ODAgNjRsMjkuOC0xMi40QzUxMSA1MSA1MTIgNDkuNCA1MTIgNDhjMC0xLjQtMS0zLTIuMi0zLjZMNDgwIDMyIDQ2Ny42IDIuMkM0NjcgMSA0NjUuNCAwIDQ2NCAwcy0zIDEtMy42IDIuMkw0NDggMzIgNDE4LjIgNDQuNEM0MTcgNDUgNDE2IDQ2LjYgNDE2IDQ4YzAgMS40IDEgMyAyLjIgMy42TDQ0OCA2NGwxMi40IDI5Ljh6bTcuMiAxMDAuNGMtLjYtMS4yLTIuMi0yLjItMy42LTIuMnMtMyAxLTMuNiAyLjJMNDQ4IDIyNGwtMjkuOCAxMi40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42YzAgMS40IDEgMyAyLjIgMy42TDQ0OCAyNTZsMTIuNCAyOS44Yy42IDEuMiAyLjIgMi4yIDMuNiAyLjJzMy0xIDMuNi0yLjJMNDgwIDI1NmwyOS44LTEyLjRjMS4yLS42IDIuMi0yLjIgMi4yLTMuNmMwLTEuNC0xLTMtMi4yLTMuNkw0ODAgMjI0bC0xMi40LTI5Ljh6TTQ0OCAxNDRjMC0xLjQtMS0zLTIuMi0zLjZMNDE2IDEyOCA0MDMuNiA5OC4yQzQwMyA5NyA0MDEuNCA5NiA0MDAgOTZzLTMgMS0zLjYgMi4yTDM4NCAxMjhsLTI5LjggMTIuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNmMwIDEuNCAxIDMgMi4yIDMuNkwzODQgMTYwbDEyLjQgMjkuOGMuNiAxLjIgMi4yIDIuMiAzLjYgMi4yczMtMSAzLjYtMi4yTDQxNiAxNjBsMjkuOC0xMi40YzEuMi0uNiAyLjItMi4yIDIuMi0zLjZ6XCJdXG59O1xuY29uc3QgZmFBaXJGcmVzaGVuZXIgPSBmYVNwcmF5Q2FuU3BhcmtsZXM7XG5jb25zdCBmYVN0YXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RhcicsXG4gIGljb246IFs1NzYsIDUxMiwgWzExMDg4LCA2MTQ0Nl0sIFwiZjAwNVwiLCBcIk0zMTYuOSAxOEMzMTEuNiA3IDMwMC40IDAgMjg4LjEgMHMtMjMuNCA3LTI4LjggMThMMTk1IDE1MC4zIDUxLjQgMTcxLjVjLTEyIDEuOC0yMiAxMC4yLTI1LjcgMjEuN3MtLjcgMjQuMiA3LjkgMzIuN0wxMzcuOCAzMjkgMTEzLjIgNDc0LjdjLTIgMTIgMyAyNC4yIDEyLjkgMzEuM3MyMyA4IDMzLjggMi4zbDEyOC4zLTY4LjUgMTI4LjMgNjguNWMxMC44IDUuNyAyMy45IDQuOSAzMy44LTIuM3MxNC45LTE5LjMgMTIuOS0zMS4zTDQzOC41IDMyOSA1NDIuNyAyMjUuOWM4LjYtOC41IDExLjctMjEuMiA3LjktMzIuN3MtMTMuNy0xOS45LTI1LjctMjEuN0wzODEuMiAxNTAuMyAzMTYuOSAxOHpcIl1cbn07XG5jb25zdCBmYVJlcGVhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXBlYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNTddLCBcImYzNjNcIiwgXCJNMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTUzIDQzLTk2IDk2LTk2bDE2MCAwIDAgMzJjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzMyMCAxOS4xIDMyMCAzMmwwIDMyTDE2MCA2NEM3MS42IDY0IDAgMTM1LjYgMCAyMjR6bTUxMiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDUzLTQzIDk2LTk2IDk2bC0xNjAgMCAwLTMyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNmwwLTMyIDE2MCAwYzg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwelwiXVxufTtcbmNvbnN0IGZhQ3Jvc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3Jvc3MnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgzMjcsIDEwMDEzXSwgXCJmNjU0XCIsIFwiTTE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDgwLTgwIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhsODAgMCAwIDIwOGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjA4IDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OGwtODAgMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDE3NiAwelwiXVxufTtcbmNvbnN0IGZhQm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JveCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODIzMF0sIFwiZjQ2NlwiLCBcIk01MC43IDU4LjVMMCAxNjBsMjA4IDAgMC0xMjhMOTMuNyAzMkM3NS41IDMyIDU4LjkgNDIuMyA1MC43IDU4LjV6TTI0MCAxNjBsMjA4IDBMMzk3LjMgNTguNUMzODkuMSA0Mi4zIDM3Mi41IDMyIDM1NC4zIDMyTDI0MCAzMmwwIDEyOHptMjA4IDMyTDAgMTkyIDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0elwiXVxufTtcbmNvbnN0IGZhVmVudXNNYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZlbnVzLW1hcnMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5ODkyXSwgXCJmMjI4XCIsIFwiTTE3NiAyODhhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0ek0zNTIgMTc2YzAgODYuMy02Mi4xIDE1OC4xLTE0NCAxNzMuMWwwIDM0LjkgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtMzQuOUM2Mi4xIDMzNC4xIDAgMjYyLjMgMCAxNzZDMCA3OC44IDc4LjggMCAxNzYgMHMxNzYgNzguOCAxNzYgMTc2ek0yNzEuOSAzNjAuNmMxOS4zLTEwLjEgMzYuOS0yMy4xIDUyLjEtMzguNGMyMCAxOC41IDQ2LjcgMjkuOCA3Ni4xIDI5LjhjNjEuOSAwIDExMi01MC4xIDExMi0xMTJzLTUwLjEtMTEyLTExMi0xMTJjLTcuMiAwLTE0LjMgLjctMjEuMSAyYy00LjktMjEuNS0xMy00MS43LTI0LTYwLjJDMzY5LjMgNjYgMzg0LjQgNjQgNDAwIDY0YzM3IDAgNzEuNCAxMS40IDk5LjggMzFsMjAuNi0yMC42TDQ4NyA0MWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlM0OTQuMyAwIDUwNCAwTDYxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTEyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTMzLjQtMzMuNEw1NDUgMTQwLjJjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOGMwIDk3LjItNzguOCAxNzYtMTc2IDE3NmMtNTAuNSAwLTk2LTIxLjMtMTI4LjEtNTUuNHpcIl1cbn07XG5jb25zdCBmYUFycm93UG9pbnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1wb2ludGVyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJtb3VzZS1wb2ludGVyXCJdLCBcImYyNDVcIiwgXCJNMCA1NS4yTDAgNDI2YzAgMTIuMiA5LjkgMjIgMjIgMjJjNi4zIDAgMTIuNC0yLjcgMTYuNi03LjVMMTIxLjIgMzQ2bDU4LjEgMTE2LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45TDE3OS44IDMyMGwxMTguMSAwYzEyLjIgMCAyMi4xLTkuOSAyMi4xLTIyLjFjMC02LjMtMi43LTEyLjMtNy40LTE2LjVMMzguNiAzNy45QzM0LjMgMzQuMSAyOC45IDMyIDIzLjIgMzJDMTAuNCAzMiAwIDQyLjQgMCA1NS4yelwiXVxufTtcbmNvbnN0IGZhTW91c2VQb2ludGVyID0gZmFBcnJvd1BvaW50ZXI7XG5jb25zdCBmYU1heGltaXplID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21heGltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJleHBhbmQtYXJyb3dzLWFsdFwiXSwgXCJmMzFlXCIsIFwiTTIwMCAzMkw1NiAzMkM0Mi43IDMyIDMyIDQyLjcgMzIgNTZsMCAxNDRjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4ybDQwLTQwIDc5IDc5LTc5IDc5TDczIDI5NWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzMiAzMDIuMyAzMiAzMTJsMCAxNDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjOS43IDAgMTguNS01LjggMjIuMi0xNC44czEuNy0xOS4zLTUuMi0yNi4ybC00MC00MCA3OS03OSA3OSA3OS00MCA0MGMtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMnMxMi41IDE0LjggMjIuMiAxNC44bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTQ0YzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMnMtMTkuMy0xLjctMjYuMiA1LjJsLTQwIDQwLTc5LTc5IDc5LTc5IDQwIDQwYzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMmwwLTE0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzMTIgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsNDAgNDAtNzkgNzktNzktNzkgNDAtNDBjNi45LTYuOSA4LjktMTcuMiA1LjItMjYuMlMyMDkuNyAzMiAyMDAgMzJ6XCJdXG59O1xuY29uc3QgZmFFeHBhbmRBcnJvd3NBbHQgPSBmYU1heGltaXplO1xuY29uc3QgZmFDaGFyZ2luZ1N0YXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcmdpbmctc3RhdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjVlN1wiLCBcIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTQ0IDE2IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAzMmMwIDM5LjggMzIuMiA3MiA3MiA3MnM3Mi0zMi4yIDcyLTcybDAtMTIzLjdjMzIuNS0xMC4yIDU2LTQwLjUgNTYtNzYuM2wwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtMzIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCAzNS44IDIzLjUgNjYuMSA1NiA3Ni4zTDQ3MiAzNzZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zMmMwLTQ4LjYtMzkuNC04OC04OC04OGwtMTYgMCAwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwek0yMTYuOSA4Mi43YzYgNCA4LjUgMTEuNSA2LjMgMTguM2wtMjUgNzQuOSA1Ny44IDBjNi43IDAgMTIuNyA0LjIgMTUgMTAuNHMuNSAxMy4zLTQuNiAxNy43bC0xMTIgOTZjLTUuNSA0LjctMTMuNCA1LjEtMTkuMyAxLjFzLTguNS0xMS41LTYuMy0xOC4zbDI1LTc0LjlMOTYgMjA4Yy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43bDExMi05NmM1LjUtNC43IDEzLjQtNS4xIDE5LjMtMS4xelwiXVxufTtcbmNvbnN0IGZhU2hhcGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoYXBlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widHJpYW5nbGUtY2lyY2xlLXNxdWFyZVwiXSwgXCJmNjFmXCIsIFwiTTMxNS40IDE1LjVDMzA5LjcgNS45IDI5OS4yIDAgMjg4IDBzLTIxLjcgNS45LTI3LjQgMTUuNWwtOTYgMTYwYy01LjkgOS45LTYuMSAyMi4yLS40IDMyLjJzMTYuMyAxNi4yIDI3LjggMTYuMmwxOTIgMGMxMS41IDAgMjIuMi02LjIgMjcuOC0xNi4yczUuNS0yMi4zLS40LTMyLjJsLTk2LTE2MHpNMjg4IDMxMmwwIDE0NGMwIDIyLjEgMTcuOSA0MCA0MCA0MGwxNDQgMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTE0NGMwLTIyLjEtMTcuOS00MC00MC00MGwtMTQ0IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwek0xMjggNTEyYTEyOCAxMjggMCAxIDAgMC0yNTYgMTI4IDEyOCAwIDEgMCAwIDI1NnpcIl1cbn07XG5jb25zdCBmYVRyaWFuZ2xlQ2lyY2xlU3F1YXJlID0gZmFTaGFwZXM7XG5jb25zdCBmYVNodWZmbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2h1ZmZsZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI1NiwgXCJyYW5kb21cIl0sIFwiZjA3NFwiLCBcIk00MDMuOCAzNC40YzEyLTUgMjUuNy0yLjIgMzQuOSA2LjlsNjQgNjRjNiA2IDkuNCAxNC4xIDkuNCAyMi42cy0zLjQgMTYuNi05LjQgMjIuNmwtNjQgNjRjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45cy0xOS44LTE2LjYtMTkuOC0yOS42bDAtMzItMzIgMGMtMTAuMSAwLTE5LjYgNC43LTI1LjYgMTIuOEwyODQgMjI5LjMgMjQ0IDE3NmwzMS4yLTQxLjZDMjkzLjMgMTEwLjIgMzIxLjggOTYgMzUyIDk2bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42ek0xNjQgMjgyLjdMMjA0IDMzNmwtMzEuMiA0MS42QzE1NC43IDQwMS44IDEyNi4yIDQxNiA5NiA0MTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMGMxMC4xIDAgMTkuNi00LjcgMjUuNi0xMi44TDE2NCAyODIuN3ptMjc0LjYgMTg4Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNmwwLTMyLTMyIDBjLTMwLjIgMC01OC43LTE0LjItNzYuOC0zOC40TDEyMS42IDE3Mi44Yy02LTguMS0xNS41LTEyLjgtMjUuNi0xMi44bC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDBjMzAuMiAwIDU4LjcgMTQuMiA3Ni44IDM4LjRMMzI2LjQgMzM5LjJjNiA4LjEgMTUuNSAxMi44IDI1LjYgMTIuOGwzMiAwIDAtMzJjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWw2NCA2NGM2IDYgOS40IDE0LjEgOS40IDIyLjZzLTMuNCAxNi42LTkuNCAyMi42bC02NCA2NHpcIl1cbn07XG5jb25zdCBmYVJhbmRvbSA9IGZhU2h1ZmZsZTtcbmNvbnN0IGZhUGVyc29uUnVubmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tcnVubmluZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzkzOSwgXCJydW5uaW5nXCJdLCBcImY3MGNcIiwgXCJNMzIwIDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTEyNS43IDE3NS41YzkuOS05LjkgMjMuNC0xNS41IDM3LjUtMTUuNWMxLjkgMCAzLjggLjEgNS42IC4zTDEzNy42IDI1NGMtOS4zIDI4IDEuNyA1OC44IDI2LjggNzQuNWw4Ni4yIDUzLjktMjUuNCA4OC44Yy00LjkgMTcgNSAzNC43IDIyIDM5LjZzMzQuNy01IDM5LjYtMjJsMjguNy0xMDAuNGM1LjktMjAuNi0yLjYtNDIuNi0yMC43LTUzLjlMMjM4IDI5OWwzMC45LTgyLjQgNS4xIDEyLjNDMjg5IDI2NC43IDMyMy45IDI4OCAzNjIuNyAyODhsMjEuMyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMS4zIDBjLTEyLjkgMC0yNC42LTcuOC0yOS41LTE5LjdsLTYuMy0xNWMtMTQuNi0zNS4xLTQ0LjEtNjEuOS04MC41LTczLjFsLTQ4LjctMTVjLTExLjEtMy40LTIyLjctNS4yLTM0LjQtNS4yYy0zMSAwLTYwLjggMTIuMy04Mi43IDM0LjNMNTcuNCAxNTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwyMy4xLTIzLjF6TTkxLjIgMzUyTDMyIDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2OS42IDBjMTkgMCAzNi4yLTExLjIgNDMuOS0yOC41TDE1NyAzNjEuNmwtOS41LTZjLTE3LjUtMTAuOS0zMC41LTI2LjgtMzcuOS00NC45TDkxLjIgMzUyelwiXVxufTtcbmNvbnN0IGZhUnVubmluZyA9IGZhUGVyc29uUnVubmluZztcbmNvbnN0IGZhTW9iaWxlUmV0cm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9iaWxlLXJldHJvJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTI3XCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptNjQgOTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTgwIDM1MmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDU2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTU2LTU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNTZhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptNTYtNTZhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA1NmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0xMjggNDhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNjQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNjQgMHpcIl1cbn07XG5jb25zdCBmYUdyaXBMaW5lc1ZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAtbGluZXMtdmVydGljYWwnLFxuICBpY29uOiBbMTkyLCA1MTIsIFtdLCBcImY3YTVcIiwgXCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCA2NHptMTI4IDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NHpcIl1cbn07XG5jb25zdCBmYVNwaWRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcGlkZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzNzVdLCBcImY3MTdcIiwgXCJNMTU4LjQgMzIuNmM0LjgtMTIuNC0xLjQtMjYuMy0xMy44LTMxcy0yNi4zIDEuNC0zMSAxMy44TDgxLjEgMTAwYy03LjkgMjAuNy0zIDQ0LjEgMTIuNyA1OS43bDU3LjQgNTcuNEw3MC44IDE5MC4zYy0yLjQtLjgtNC4zLTIuNy01LjEtNS4xTDQ2LjggMTI4LjRDNDIuNiAxMTUuOCAyOSAxMDkgMTYuNCAxMTMuMlMtMyAxMzEgMS4yIDE0My42bDE4LjkgNTYuOGM1LjYgMTYuNyAxOC43IDI5LjggMzUuNCAzNS40TDExNi4xIDI1NiA1NS42IDI3Ni4yYy0xNi43IDUuNi0yOS44IDE4LjctMzUuNCAzNS40TDEuMiAzNjguNEMtMyAzODEgMy44IDM5NC42IDE2LjQgMzk4LjhzMjYuMi0yLjYgMzAuNC0xNS4ybDE4LjktNTYuOGMuOC0yLjQgMi43LTQuMyA1LjEtNS4xbDgwLjQtMjYuOEw5My43IDM1Mi4zQzc4LjEgMzY4IDczLjEgMzkxLjQgODEuMSA0MTJsMzIuNSA4NC42YzQuOCAxMi40IDE4LjYgMTguNSAzMSAxMy44czE4LjUtMTguNiAxMy44LTMxbC0zMi41LTg0LjZjLTEuMS0zLS40LTYuMyAxLjgtOC41TDE2MCAzNTMuOWMxIDUyLjEgNDMuNiA5NC4xIDk2IDk0LjFzOTUtNDEuOSA5Ni05NC4xbDMyLjMgMzIuM2MyLjIgMi4yIDIuOSA1LjYgMS44IDguNWwtMzIuNSA4NC42Yy00LjggMTIuNCAxLjQgMjYuMyAxMy44IDMxczI2LjMtMS40IDMxLTEzLjhMNDMwLjkgNDEyYzcuOS0yMC43IDMtNDQuMS0xMi43LTU5LjdsLTU3LjQtNTcuNCA4MC40IDI2LjhjMi40IC44IDQuMyAyLjcgNS4xIDUuMWwxOC45IDU2LjhjNC4yIDEyLjYgMTcuOCAxOS40IDMwLjQgMTUuMnMxOS40LTE3LjggMTUuMi0zMC40bC0xOC45LTU2LjhjLTUuNi0xNi43LTE4LjctMjkuOC0zNS40LTM1LjRMMzk1LjkgMjU2bDYwLjUtMjAuMmMxNi43LTUuNiAyOS44LTE4LjcgMzUuNC0zNS40bDE4LjktNTYuOGM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjRzLTI2LjIgMi42LTMwLjQgMTUuMmwtMTguOSA1Ni44Yy0uOCAyLjQtMi43IDQuMy01LjEgNS4xbC04MC40IDI2LjggNTcuNC01Ny40YzE1LjYtMTUuNiAyMC42LTM5IDEyLjctNTkuN0wzOTguNCAxNS40QzM5My42IDMgMzc5LjgtMy4yIDM2Ny40IDEuNnMtMTguNSAxOC42LTEzLjggMzFsMzIuNSA4NC42YzEuMSAzIC40IDYuMy0xLjggOC41TDMzNiAxNzQuMWwwLTE0LjFjMC0zMS44LTE4LjYtNTkuMy00NS41LTcyLjJjLTkuMS00LjQtMTguNSAzLjMtMTguNSAxMy40bDAgMTAuOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTEwLjhjMC0xMC4xLTkuNC0xNy43LTE4LjUtMTMuNEMxOTQuNiAxMDAuNyAxNzYgMTI4LjIgMTc2IDE2MGwwIDE0LjEtNDguMy00OC4zYy0yLjItMi4yLTIuOS01LjYtMS44LTguNWwzMi41LTg0LjZ6XCJdXG59O1xuY29uc3QgZmFIYW5kc0JvdW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWJvdW5kJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGY5XCIsIFwiTTk2IDMyQzk2IDE0LjMgODEuNyAwIDY0IDBTMzIgMTQuMyAzMiAzMmwwIDY0IDAgNTkuMSAwIC43TDMyIDE5MmwwIDIxLjljMCAxNC4yIDUuMSAyNy45IDE0LjMgMzguN0wxMzEuNiAzNTJsLTMuNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMTI4IDAgNjQgMCAxMjggMCAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zLjYgMCA4NS4zLTk5LjVjOS4yLTEwLjggMTQuMy0yNC41IDE0LjMtMzguN2wwLTIxLjkgMC0zNi4yIDAtLjdMNjA4IDk2bDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NCAwIDQ4LjgtNjkuMyA5Mi40Yy01LjcgNy42LTE2LjEgOS42LTI0LjIgNC44Yy05LjctNS43LTEyLjEtMTguNy01LjEtMjcuNUw0NzMgMTgwYzEwLjgtMTMuNSA4LjktMzMuMy00LjQtNDQuNXMtMzMtOS44LTQ0LjUgMy4ybC00Ni43IDUyLjVDMzYxIDIwOS43IDM1MiAyMzMuNCAzNTIgMjU4LjFsMCA2MS45IDAgMzItNjQgMCAwLTMyIDAtNjEuOWMwLTI0LjYtOS00OC40LTI1LjQtNjYuOGwtNDYuNy01Mi41Yy0xMS41LTEzLTMxLjMtMTQuNC00NC41LTMuMnMtMTUuMiAzMC45LTQuNCA0NC41bDI3LjYgMzQuNWM3IDguOCA0LjcgMjEuOC01LjEgMjcuNWMtOC4xIDQuOC0xOC42IDIuNy0yNC4yLTQuOEw5NiAxNDQuOCA5NiA5NmwwLTY0em02NCA0NDhsMCAzMiAxMjggMCAwLTMyIDY0IDAgMCAzMiAxMjggMCAwLTMyIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDAtMTI4IDAtNjQgMC0xMjggMC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDB6XCJdXG59O1xuY29uc3QgZmFGaWxlSW52b2ljZURvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWludm9pY2UtZG9sbGFyJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTcxXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNNjQgODBjMC04LjggNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgOTZjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0xMjggNzJjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTcuM2M4LjUgMS4yIDE2LjcgMy4xIDI0LjEgNS4xYzguNSAyLjMgMTMuNiAxMSAxMS4zIDE5LjZzLTExIDEzLjYtMTkuNiAxMS4zYy0xMS4xLTMtMjItNS4yLTMyLjEtNS4zYy04LjQtLjEtMTcuNCAxLjgtMjMuNiA1LjVjLTUuNyAzLjQtOC4xIDcuMy04LjEgMTIuOGMwIDMuNyAxLjMgNi41IDcuMyAxMC4xYzYuOSA0LjEgMTYuNiA3LjEgMjkuMiAxMC45bC41IC4xczAgMCAwIDBzMCAwIDAgMGMxMS4zIDMuNCAyNS4zIDcuNiAzNi4zIDE0LjZjMTIuMSA3LjYgMjIuNCAxOS43IDIyLjcgMzguMmMuMyAxOS4zLTkuNiAzMy4zLTIyLjkgNDEuNmMtNy43IDQuOC0xNi40IDcuNi0yNS4xIDkuMWwwIDE3LjFjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNy44Yy0xMS4yLTIuMS0yMS43LTUuNy0zMC45LTguOWMwIDAgMCAwIDAgMGMtMi4xLS43LTQuMi0xLjQtNi4yLTIuMWMtOC40LTIuOC0xMi45LTExLjktMTAuMS0yMC4yczExLjktMTIuOSAyMC4yLTEwLjFjMi41IC44IDQuOCAxLjYgNy4xIDIuNGMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMTMuNiA0LjYgMjQuNiA4LjQgMzYuMyA4LjdjOS4xIC4zIDE3LjktMS43IDIzLjctNS4zYzUuMS0zLjIgNy45LTcuMyA3LjgtMTRjLS4xLTQuNi0xLjgtNy44LTcuNy0xMS42Yy02LjgtNC4zLTE2LjUtNy40LTI5LTExLjJsLTEuNi0uNXMwIDAgMCAwYy0xMS0zLjMtMjQuMy03LjMtMzQuOC0xMy43Yy0xMi03LjItMjIuNi0xOC45LTIyLjctMzcuM2MtLjEtMTkuNCAxMC44LTMyLjggMjMuOC00MC41YzcuNS00LjQgMTUuOC03LjIgMjQuMS04LjdsMC0xNy4zYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVBsYW5lQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTU2XCIsIFwiTTI1NiAwYy0zNSAwLTY0IDU5LjUtNjQgOTMuN2wwIDg0LjZMOC4xIDI4My40Yy01IDIuOC04LjEgOC4yLTguMSAxMy45bDAgNjUuNWMwIDEwLjYgMTAuMiAxOC4zIDIwLjQgMTUuNGwxNzEuNi00OSAwIDcwLjktNTcuNiA0My4yYy00IDMtNi40IDcuOC02LjQgMTIuOGwwIDQyYzAgNy44IDYuMyAxNCAxNCAxNGMxLjMgMCAyLjYtLjIgMy45LS41TDI1NiA0ODBsMTEwLjEgMzEuNWMxLjMgLjQgMi42IC41IDMuOSAuNWM2IDAgMTEuMS0zLjcgMTMuMS05QzM0NC41IDQ3MC43IDMyMCA0MjIuMiAzMjAgMzY4YzAtNjAuNiAzMC42LTExNCA3Ny4xLTE0NS42TDMyMCAxNzguM2wwLTg0LjZDMzIwIDU5LjUgMjkyIDAgMjU2IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFYUmF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3gtcmF5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDk3XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAzMjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTI1NiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzItODAgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw4MCAwIDAgNDgtMTEyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTEyIDAgMCA3MC42TDE4OS4xIDMwN2MtNS4yLTItMTAuNi0zLTE2LjItM2wtMi4xIDBjLTIzLjYgMC00Mi44IDE5LjItNDIuOCA0Mi44YzAgOS42IDMuMiAxOC45IDkuMSAyNi40bDE4LjIgMjMuMmM5LjcgMTIuNCAyNC42IDE5LjYgNDAuMyAxOS42bDEyMC44IDBjMTUuNyAwIDMwLjYtNy4yIDQwLjMtMTkuNmwxOC4yLTIzLjJjNS45LTcuNSA5LjEtMTYuOCA5LjEtMjYuNGMwLTIzLjYtMTkuMi00Mi44LTQyLjgtNDIuOGwtMi4yIDBjLTUuNSAwLTExIDEtMTYuMiAzTDI3MiAzMjYuNmwwLTcwLjYgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTExMiAwIDAtNDggODAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtODAgMCAwLTMyYzAtOC44LTcuMi0xNi0xNi0xNnpNMjA4IDM1MmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTgwIDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6XCJdXG59O1xuY29uc3QgZmFTcGVsbENoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwZWxsLWNoZWNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmODkxXCIsIFwiTTExMiAwQzk5LjEgMCA4Ny40IDcuOCA4Mi41IDE5LjdsLTY2LjcgMTYwLTEzLjMgMzJjLTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJMNjYuNyAyMjRsOTAuNyAwIDUuMSAxMi4zYzYuOCAxNi4zIDI1LjUgMjQgNDEuOCAxNy4yczI0LTI1LjUgMTcuMi00MS44bC0xMy4zLTMyLTY2LjctMTYwQzEzNi42IDcuOCAxMjQuOSAwIDExMiAwem0xOC43IDE2MGwtMzcuMyAwTDExMiAxMTUuMiAxMzAuNyAxNjB6TTI1NiAzMmwwIDk2IDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsODAgMGM0NC4yIDAgODAtMzUuOCA4MC04MGMwLTIzLjEtOS44LTQzLjgtMjUuNC01OC40YzYtMTEuMiA5LjQtMjQgOS40LTM3LjZjMC00NC4yLTM1LjgtODAtODAtODBMMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05NiA2NGwtMzIgMCAwLTMyIDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZ6bS0zMiA2NGwzMiAwIDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDAgMC0zMnpNNTY2LjYgMzEwLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzUyIDQzNC43bC03My40LTczLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE5Mi0xOTJ6XCJdXG59O1xuY29uc3QgZmFTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjcxNVwiLCBcIk01LjEgOS4yQzEzLjMtMS4yIDI4LjQtMy4xIDM4LjggNS4xbDU5MiA0NjRjMTAuNCA4LjIgMTIuMyAyMy4zIDQuMSAzMy43cy0yMy4zIDEyLjMtMzMuNyA0LjFMOS4yIDQyLjlDLTEuMiAzNC43LTMuMSAxOS42IDUuMSA5LjJ6XCJdXG59O1xuY29uc3QgZmFDb21wdXRlck1vdXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbXB1dGVyLW1vdXNlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4NDMzLCBcIm1vdXNlXCJdLCBcImY4Y2NcIiwgXCJNMCAxOTJsMTc2IDBMMTc2IDAgMTYwIDBDNzEuNiAwIDAgNzEuNiAwIDE2MGwwIDMyem0wIDMyTDAgMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwbDY0IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC0xMjgtMTkyIDBMMCAyMjR6bTM4NC0zMmwwLTMyQzM4NCA3MS42IDMxMi40IDAgMjI0IDBMMjA4IDBsMCAxOTIgMTc2IDB6XCJdXG59O1xuY29uc3QgZmFNb3VzZSA9IGZhQ29tcHV0ZXJNb3VzZTtcbmNvbnN0IGZhQXJyb3dSaWdodFRvQnJhY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC10by1icmFja2V0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzaWduLWluXCJdLCBcImYwOTBcIiwgXCJNMzUyIDk2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjU2YzAtNTMtNDMtOTYtOTYtOTZsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bS05LjQgMTgyLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDI0Mi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjEwLjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHpcIl1cbn07XG5jb25zdCBmYVNpZ25JbiA9IGZhQXJyb3dSaWdodFRvQnJhY2tldDtcbmNvbnN0IGZhU2hvcFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3Atc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInN0b3JlLWFsdC1zbGFzaFwiXSwgXCJlMDcwXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTU0LjgtNDNMNTc2IDIyNGwtNjQgMCAwIDE1MkwzODQgMjc1LjdsMC01MS43LTY0IDAgMCAxLjVMMjc3LjIgMTkybDMyNS45IDBjMjAuMyAwIDM2LjgtMTYuNSAzNi44LTM2LjhjMC03LjMtMi4yLTE0LjQtNi4yLTIwLjRMNTU4LjIgMjEuNEM1NDkuMyA4IDUzNC40IDAgNTE4LjMgMEwxMjEuNyAwYy0xNiAwLTMxIDgtMzkuOSAyMS40TDc0LjEgMzIuOCAzOC44IDUuMXpNMzYuOCAxOTJsODUgMEwyMSAxMTIuNSA2LjIgMTM0LjdjLTQgNi4xLTYuMiAxMy4yLTYuMiAyMC40QzAgMTc1LjUgMTYuNSAxOTIgMzYuOCAxOTJ6TTMyMCAzODRsLTE5MiAwIDAtMTYwLTY0IDAgMCAxNjAgMCA4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY1LjUtNjQtNTAuNCAwIDM1Ljl6XCJdXG59O1xuY29uc3QgZmFTdG9yZUFsdFNsYXNoID0gZmFTaG9wU2xhc2g7XG5jb25zdCBmYVNlcnZlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzZXJ2ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyMzNcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NmwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTI4MCA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQ4IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OHptMjgwIDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNTYgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG5jb25zdCBmYVZpcnVzQ292aWRTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aXJ1cy1jb3ZpZC1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRhOVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ3Mi4xIDM0NC43YzExLjQtMTkuNSAxOS4xLTQxLjQgMjIuMy02NC43bDMzLjYgMCAwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTMzLjYgMGMtNC4yLTMwLjctMTYuMy01OC44LTM0LjEtODIuM0w0ODQgMTI1LjlsMTEuMyAxMS4zYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0NzIuNyA0Ni43Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45TDQ1MC4xIDkybC0yMy44IDIzLjhDNDAyLjggOTcuOSAzNzQuNyA4NS44IDM0NCA4MS42TDM0NCA0OGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI4MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDAgMCAzMy42Yy0zMC43IDQuMi01OC44IDE2LjMtODIuMyAzNC4xTDE4OS45IDkybDExLjMtMTEuM2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDEzNC4xIDc5LjggMzguOCA1LjF6TTE0OS4yIDIxMy41Yy0xLjUgNi0yLjcgMTIuMi0zLjUgMTguNUwxMTIgMjMybDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMzMuNiAwYzQuMiAzMC43IDE2LjMgNTguOCAzNC4xIDgyLjNMMTU2IDM4Ni4xbC0xMS4zLTExLjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTYuNiA1Ni42YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwxODkuOSA0MjBsMjMuOC0yMy44YzIzLjUgMTcuOSA1MS43IDI5LjkgODIuMyAzNC4xbDAgMzMuNi0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2IDAgMC0zMy42YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMkwxNDkuMiAyMTMuNXpcIl1cbn07XG5jb25zdCBmYVNob3BMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3AtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRhNVwiLCBcIk0zNi44IDE5Mmw0MTIuOCAwYzIwLjItMTkuOCA0Ny45LTMyIDc4LjQtMzJjMzAuNSAwIDU4LjEgMTIuMiA3OC4zIDMxLjljMTguOS0xLjYgMzMuNy0xNy40IDMzLjctMzYuN2MwLTcuMy0yLjItMTQuNC02LjItMjAuNEw1NTguMiAyMS40QzU0OS4zIDggNTM0LjQgMCA1MTguMyAwTDEyMS43IDBjLTE2IDAtMzEgOC0zOS45IDIxLjRMNi4yIDEzNC43Yy00IDYuMS02LjIgMTMuMi02LjIgMjAuNEMwIDE3NS41IDE2LjUgMTkyIDM2LjggMTkyek0zODQgMjI0bC02NCAwIDAgMTYwLTE5MiAwIDAtMTYwLTY0IDAgMCAxNjAgMCA4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTgwIDAtMzIgMC0xMjh6bTE0NCAxNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4LTY0IDAgMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTgwIDMybDAgNDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3NTdGFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VyZ2xhc3Mtc3RhcnQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImhvdXJnbGFzcy0xXCJdLCBcImYyNTFcIiwgXCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMUwxNDYuNyAyNTYgNzguOSAzMjMuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN2wwIDExYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMjU2IDAgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTExYzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMUwyMzcuMyAyNTZsNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xbDAtMTFjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIwIDAgNjQgMCAzMiAwek0yODggNDM3bDAgMTFMOTYgNDQ4bDAtMTFjMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlMMTkyIDMwMS4zbDY3LjkgNjcuOWMxOCAxOCAyOC4xIDQyLjQgMjguMSA2Ny45elwiXVxufTtcbmNvbnN0IGZhSG91cmdsYXNzMSA9IGZhSG91cmdsYXNzU3RhcnQ7XG5jb25zdCBmYUJsZW5kZXJQaG9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdibGVuZGVyLXBob25lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNmI2XCIsIFwiTTIyNCAzNTJMMTk2LjggNTIuM0MxOTQuMiAyNC4yIDIxNi4zIDAgMjQ0LjYgMEw1MzQuMSAwYzIxLjEgMCAzNi40IDIwLjEgMzAuOSA0MC40TDU1OC41IDY0IDQwMCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxNDkuOCAwLTE3LjUgNjRMNDAwIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjMuNiAwLTE3LjUgNjRMNDAwIDI1NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw5Ny41IDBMNDgwIDM1MmwtMjU2IDB6bS0xNiAzMmwyODggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yODggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zMmMwLTI2LjUgMjEuNS00OCA0OC00OHptMTQ0IDk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTQ3LjUgMzAuN2MxMC44IDYuNyAxNS4zIDIxIDEwLjYgMzMuNGwtMjIgNTcuOGMtNC4yIDEwLjktMTQuNSAxNy42LTI1LjMgMTYuNGwtMzMuMy0zLjZjLTEzLjYgNDIuMi0xMy42IDg4LjQgMCAxMzAuN2wzMy4zLTMuNmMxMC45LTEuMiAyMS4yIDUuNSAyNS4zIDE2LjRsMjIgNTcuOGM0LjcgMTIuNCAuMiAyNi43LTEwLjYgMzMuNGwtNDQgMjcuMmMtOS43IDYtMjEuOSA0LjItMjkuOC00LjNDLTI0LjYgMjg2LTI0LjYgMTE0IDczLjcgNy44QzgxLjYtLjcgOTMuOC0yLjUgMTAzLjUgMy41bDQ0IDI3LjJ6XCJdXG59O1xuY29uc3QgZmFCdWlsZGluZ1doZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLXdoZWF0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGRiXCIsIFwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCA4MC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTEyLTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTY0IDExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNkw4MCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNzYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzg0IDgwbDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDAgMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGwxNiAwem0wIDEyOGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtMTYgMCAwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2IDAgMCAxNnptMCAxMTJjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDAgMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGwxNiAwIDAgMTZ6TTUxMiA0OTZsMCAxNi0xNiAwYy00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2IDE2IDBjNDQuMiAwIDgwIDM1LjggODAgODB6bTAtOTZsLTE2IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTYgMTYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2em0wLTEyOGwwIDE2LTE2IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTYgMTYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MHpNNTI4IDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTA0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0em05NiA2NGwwIDMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNNDU2IDcyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkJyZWFzdGZlZWRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWJyZWFzdGZlZWRpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1M2FcIiwgXCJNMjI0IDBhODAgODAgMCAxIDEgMCAxNjBBODAgODAgMCAxIDEgMjI0IDB6TTQzNi44IDM4Mi44TDM3My41IDQ2MmMtMTYuNiAyMC43LTQ2LjggMjQuMS02Ny41IDcuNWMtMTcuNi0xNC4xLTIyLjctMzguMS0xMy41LTU3LjdsLS44LS4xYy0zOC45LTUuNi03NC4zLTI1LjEtOTkuNy01NC44bDAtMzYuOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgLjggMCAxLjYgLjEgMi40bDEwMS40IDUwLjdjMjMuNyAxMS45IDMzLjMgNDAuNyAyMS41IDY0LjRzLTQwLjcgMzMuMy02NC40IDIxLjVMMjcuMiA0MjcuM2MtMS4xLS41LTIuMi0xLjEtMy4zLTEuN2MtNC45LTIuOC05LjItNi40LTEyLjYtMTAuNmMtNC42LTUuNC03LjgtMTEuNy05LjYtMTguNGMtMy4zLTEyLTEuOS0yNS4yIDQuOC0zNi42Yy42LTEuMSAxLjMtMi4yIDItMy4yTDc1LjYgMjU2LjFjMjYuNy00MC4xIDcxLjctNjQuMSAxMTkuOC02NC4xbDc1LjIgMGM0Ni41IDAgOTAuMSAyMi41IDExNy4yIDYwLjNsNTAuNyA3MC45YzIuMiAzIDQgNi4xIDUuNSA5LjRjMi45IDYuNyA0LjMgMTMuOCA0IDIwLjhjLS4zIDEwLjYtNC4yIDIxLTExLjIgMjkuNHpNMzIwIDMzMmE0NCA0NCAwIDEgMCAtODggMCA0NCA0NCAwIDEgMCA4OCAwelwiXVxufTtcbmNvbnN0IGZhUmlnaHRUb0JyYWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmlnaHQtdG8tYnJhY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnbi1pbi1hbHRcIl0sIFwiZjJmNlwiLCBcIk0yMTcuOSAxMDUuOUwzNDAuNyAyMjguN2M3LjIgNy4yIDExLjMgMTcuMSAxMS4zIDI3LjNzLTQuMSAyMC4xLTExLjMgMjcuM0wyMTcuOSA0MDYuMWMtNi40IDYuNC0xNSA5LjktMjQgOS45Yy0xOC43IDAtMzMuOS0xNS4yLTMzLjktMzMuOWwwLTYyLjFMMzIgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwIDAtNjIuMWMwLTE4LjcgMTUuMi0zMy45IDMzLjktMzMuOWM5IDAgMTcuNiAzLjYgMjQgOS45ek0zNTIgNDE2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yNTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjU2YzAgNTMtNDMgOTYtOTYgOTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTaWduSW5BbHQgPSBmYVJpZ2h0VG9CcmFja2V0O1xuY29uc3QgZmFWZW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ZW51cycsXG4gIGljb246IFszODQsIDUxMiwgWzk3OTJdLCBcImYyMjFcIiwgXCJNODAgMTc2YTExMiAxMTIgMCAxIDEgMjI0IDBBMTEyIDExMiAwIDEgMSA4MCAxNzZ6TTIyNCAzNDkuMWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMUMzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMWwwIDM0LjktMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zNC45elwiXVxufTtcbmNvbnN0IGZhUGFzc3BvcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFzc3BvcnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1YWJcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0xODMgMjc4LjhjLTI3LjktMTMuMi00OC40LTM5LjQtNTMuNy03MC44bDM5LjEgMGMxLjYgMzAuNCA3LjcgNTMuOCAxNC42IDcwLjh6bTQxLjMgOS4ybC0uMyAwLS4zIDBjLTIuNC0zLjUtNS43LTguOS05LjEtMTYuNWMtNi0xMy42LTEyLjQtMzQuMy0xNC4yLTYzLjVsNDcuMSAwYy0xLjggMjkuMi04LjEgNDkuOS0xNC4yIDYzLjVjLTMuNCA3LjYtNi43IDEzLTkuMSAxNi41em00MC43LTkuMmM2LjgtMTcuMSAxMi45LTQwLjQgMTQuNi03MC44bDM5LjEgMGMtNS4zIDMxLjQtMjUuOCA1Ny42LTUzLjcgNzAuOHpNMjc5LjYgMTc2Yy0xLjYtMzAuNC03LjctNTMuOC0xNC42LTcwLjhjMjcuOSAxMy4yIDQ4LjQgMzkuNCA1My43IDcwLjhsLTM5LjEgMHpNMjIzLjcgOTZsLjMgMCAuMyAwYzIuNCAzLjUgNS43IDguOSA5LjEgMTYuNWM2IDEzLjYgMTIuNCAzNC4zIDE0LjIgNjMuNWwtNDcuMSAwYzEuOC0yOS4yIDguMS00OS45IDE0LjItNjMuNWMzLjQtNy42IDYuNy0xMyA5LjEtMTYuNXpNMTgzIDEwNS4yYy02LjggMTcuMS0xMi45IDQwLjQtMTQuNiA3MC44bC0zOS4xIDBjNS4zLTMxLjQgMjUuOC01Ny42IDUzLjctNzAuOHpNMzUyIDE5MkExMjggMTI4IDAgMSAwIDk2IDE5MmExMjggMTI4IDAgMSAwIDI1NiAwek0xMTIgMzg0Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDIyNCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0yMjQgMHpcIl1cbn07XG5jb25zdCBmYVRodW1idGFja1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1idGFjay1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1widGh1bWItdGFjay1zbGFzaFwiXSwgXCJlNjhmXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNDgxLjQgMzUyYzkuOC0uNCAxOC45LTUuMyAyNC42LTEzLjNjNi04LjMgNy43LTE5LjEgNC40LTI4LjhsLTEtM2MtMTMuOC00MS41LTQyLjgtNzQuOC03OS41LTk0LjdMNDE4LjUgNjQgNDQ4IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI5LjUgMC02LjEgNzkuNUwzOC44IDUuMXpNMzI0LjkgMzUyTDE3Ny4xIDIzNS42Yy0yMC45IDE4LjktMzcuMiA0My4zLTQ2LjUgNzEuM2wtMSAzYy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44czE1LjcgMTMuMyAyNiAxMy4zbDE2NC45IDB6TTI4OCAzODRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYtNjQgMHpcIl1cbn07XG5jb25zdCBmYVRodW1iVGFja1NsYXNoID0gZmFUaHVtYnRhY2tTbGFzaDtcbmNvbnN0IGZhSGVhcnRQdWxzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1wdWxzZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhcnRiZWF0XCJdLCBcImYyMWVcIiwgXCJNMjI4LjMgNDY5LjFMNDcuNiAzMDAuNGMtNC4yLTMuOS04LjItOC4xLTExLjktMTIuNGw4NyAwYzIyLjYgMCA0My0xMy42IDUxLjctMzQuNWwxMC41LTI1LjIgNDkuMyAxMDkuNWMzLjggOC41IDEyLjEgMTQgMjEuNCAxNC4xczE3LjgtNSAyMi0xMy4zTDMyMCAyNTMuN2wxLjcgMy40YzkuNSAxOSAyOC45IDMxIDUwLjEgMzFsMTA0LjUgMGMtMy43IDQuMy03LjcgOC41LTExLjkgMTIuNEwyODMuNyA0NjkuMWMtNy41IDctMTcuNCAxMC45LTI3LjcgMTAuOXMtMjAuMi0zLjktMjcuNy0xMC45ek01MDMuNyAyNDBsLTEzMiAwYy0zIDAtNS44LTEuNy03LjItNC40bC0yMy4yLTQ2LjNjLTQuMS04LjEtMTIuNC0xMy4zLTIxLjUtMTMuM3MtMTcuNCA1LjEtMjEuNSAxMy4zbC00MS40IDgyLjhMMjA1LjkgMTU4LjJjLTMuOS04LjctMTIuNy0xNC4zLTIyLjItMTQuMXMtMTguMSA1LjktMjEuOCAxNC44bC0zMS44IDc2LjNjLTEuMiAzLTQuMiA0LjktNy40IDQuOUwxNiAyNDBjLTIuNiAwLTUgLjQtNy4zIDEuMUMzIDIyNS4yIDAgMjA4LjIgMCAxOTAuOWwwLTUuOGMwLTY5LjkgNTAuNS0xMjkuNSAxMTkuNC0xNDFDMTY1IDM2LjUgMjExLjQgNTEuNCAyNDQgODRsMTIgMTIgMTItMTJjMzIuNi0zMi42IDc5LTQ3LjUgMTI0LjYtMzkuOUM0NjEuNSA1NS42IDUxMiAxMTUuMiA1MTIgMTg1LjFsMCA1LjhjMCAxNi45LTIuOCAzMy41LTguMyA0OS4xelwiXVxufTtcbmNvbnN0IGZhSGVhcnRiZWF0ID0gZmFIZWFydFB1bHNlO1xuY29uc3QgZmFQZW9wbGVDYXJyeUJveCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtY2FycnktYm94JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwZW9wbGUtY2FycnlcIl0sIFwiZjRjZVwiLCBcIk04MCA0OGE0OCA0OCAwIDEgMSA5NiAwQTQ4IDQ4IDAgMSAxIDgwIDQ4em02NCAxOTMuN2wwIDY1LjEgNTEgNTFjNy4xIDcuMSAxMS44IDE2LjIgMTMuNCAyNi4xbDE1LjIgOTAuOWMyLjkgMTcuNC04LjkgMzMuOS0yNi4zIDM2LjhzLTMzLjktOC45LTM2LjgtMjYuM2wtMTQuMy04NS45TDY2LjggMzIwQzU0LjggMzA4IDQ4IDI5MS43IDQ4IDI3NC43bDAtODguMWMwLTMyLjQgMjYuMi01OC42IDU4LjYtNTguNmMyNC4xIDAgNDYuNSAxMiA1OS45IDMybDQ3LjQgNzEuMSAxMC4xIDUgMC03Ni4yYzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNzYuMiAxMC4xLTVMNDczLjUgMTYwYzEzLjMtMjAgMzUuOC0zMiA1OS45LTMyYzMyLjQgMCA1OC42IDI2LjIgNTguNiA1OC42bDAgODguMWMwIDE3LTYuNyAzMy4zLTE4LjcgNDUuM2wtNzkuNCA3OS40LTE0LjMgODUuOWMtMi45IDE3LjQtMTkuNCAyOS4yLTM2LjggMjYuM3MtMjkuMi0xOS40LTI2LjMtMzYuOGwxNS4yLTkwLjljMS42LTkuOSA2LjMtMTkgMTMuNC0yNi4xbDUxLTUxIDAtNjUuMS0xOSAyOC41Yy00LjYgNy0xMSAxMi42LTE4LjUgMTYuM2wtNTkuNiAyOS44Yy0yLjQgMS4zLTQuOSAyLjItNy42IDIuOGMtMi42IC42LTUuMyAuOS03LjkgLjhsLTEyNi43IDBjLTIuNSAuMS01LS4yLTcuNS0uN2MtMi45LS42LTUuNi0xLjYtOC4xLTNsLTU5LjUtMjkuOGMtNy41LTMuNy0xMy44LTkuNC0xOC41LTE2LjNsLTE5LTI4LjV6TTIuMyA0NjguMUw1MC4xIDM0OC42bDQ5LjIgNDkuMi0zNy42IDk0Yy02LjYgMTYuNC0yNS4yIDI0LjQtNDEuNiAxNy44Uy00LjMgNDg0LjUgMi4zIDQ2OC4xek01MTIgMGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTc3LjkgMzQ4LjZsNDcuOCAxMTkuNWM2LjYgMTYuNC0xLjQgMzUtMTcuOCA0MS42cy0zNS0xLjQtNDEuNi0xNy44bC0zNy42LTk0IDQ5LjItNDkuMnpcIl1cbn07XG5jb25zdCBmYVBlb3BsZUNhcnJ5ID0gZmFQZW9wbGVDYXJyeUJveDtcbmNvbnN0IGZhVGVtcGVyYXR1cmVIaWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWhpZ2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3NjlcIiwgXCJNNDE2IDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMCAxMjhBOTYgOTYgMCAxIDAgNDE2IDBhOTYgOTYgMCAxIDAgMCAxOTJ6TTk2IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTY0LjVjMCAxNy4zIDcuMSAzMS45IDE1LjMgNDIuNUMyMTcuOCAzMzIuNiAyMjQgMzQ5LjUgMjI0IDM2OGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTE4LjUgNi4yLTM1LjQgMTYuNy00OC45Qzg4LjkgMzA4LjQgOTYgMjkzLjggOTYgMjc2LjVMOTYgMTEyek0xNDQgMEM4Mi4xIDAgMzIgNTAuMiAzMiAxMTJsMCAxNjQuNGMwIC4xLS4xIC4zLS4yIC42Yy0uMiAuNi0uOCAxLjYtMS43IDIuOEMxMS4yIDMwNC4yIDAgMzM0LjggMCAzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGMwLTMzLjItMTEuMi02My44LTMwLjEtODguMWMtLjktMS4yLTEuNS0yLjItMS43LTIuOGMtLjEtLjMtLjItLjUtLjItLjZMMjU2IDExMkMyNTYgNTAuMiAyMDUuOSAwIDE0NCAwem0wIDQxNmMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTIwLjktMTMuNC0zOC43LTMyLTQ1LjNMMTYwIDExMmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDIxMC43Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjNjMCAyNi41IDIxLjUgNDggNDggNDh6XCJdXG59O1xuY29uc3QgZmFNaWNyb2NoaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWljcm9jaGlwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMmRiXCIsIFwiTTE3NiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgNTYtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgNTYtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwYzAgMzUuMyAyOC43IDY0IDY0IDY0bDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwIDU2IDAgMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAgNTYgMCAwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MGMzNS4zIDAgNjQtMjguNyA2NC02NGw0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwIDAtNTYgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMCAwLTU2IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDBjMC0zNS4zLTI4LjctNjQtNjQtNjRsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwLTU2IDAgMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwLTU2IDAgMC00MHpNMTYwIDEyOGwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMzJsLTE5MiAwIDAgMTkyIDE5MiAwIDAtMTkyelwiXVxufTtcbmNvbnN0IGZhQ3Jvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3Jvd24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwODFdLCBcImY1MjFcIiwgXCJNMzA5IDEwNmMxMS40LTcgMTktMTkuNyAxOS0zNGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDE0LjQgNy42IDI3IDE5IDM0TDIwOS43IDIyMC42Yy05LjEgMTguMi0zMi43IDIzLjQtNDguNiAxMC43TDcyIDE2MGM1LTYuNyA4LTE1IDgtMjRjMC0yMi4xLTE3LjktNDAtNDAtNDBTMCAxMTMuOSAwIDEzNnMxNy45IDQwIDQwIDQwYy4yIDAgLjUgMCAuNyAwTDg2LjQgNDI3LjRjNS41IDMwLjQgMzIgNTIuNiA2MyA1Mi42bDI3Ny4yIDBjMzAuOSAwIDU3LjQtMjIuMSA2My01Mi42TDUzNS4zIDE3NmMuMiAwIC41IDAgLjcgMGMyMi4xIDAgNDAtMTcuOSA0MC00MHMtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDkgMyAxNy4zIDggMjRsLTg5LjEgNzEuM2MtMTUuOSAxMi43LTM5LjUgNy41LTQ4LjYtMTAuN0wzMDkgMTA2elwiXVxufTtcbmNvbnN0IGZhV2VpZ2h0SGFuZ2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3ZWlnaHQtaGFuZ2luZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjVjZFwiLCBcIk0yMjQgOTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTIyLjUgMzJjMy41LTEwIDUuNS0yMC44IDUuNS0zMmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDExLjIgMS45IDIyIDUuNSAzMkwxMjAgMTI4Yy0yMiAwLTQxLjIgMTUtNDYuNiAzNi40bC03MiAyODhjLTMuNiAxNC4zLS40IDI5LjUgOC43IDQxLjJTMzMuMiA1MTIgNDggNTEybDQxNiAwYzE0LjggMCAyOC43LTYuOCAzNy44LTE4LjVzMTIuMy0yNi44IDguNy00MS4ybC03Mi0yODhDNDMzLjIgMTQzIDQxNCAxMjggMzkyIDEyOGwtNDUuNSAwelwiXVxufTtcbmNvbnN0IGZhWG1hcmtzTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneG1hcmtzLWxpbmVzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTlhXCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnptMCAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2ek03IDE2N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTUgNTVMNyAzMTFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1TDQxIDE2N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6TTI2NSAxNjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1ek00NTUgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhRmlsZVByZXNjcmlwdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXByZXNjcmlwdGlvbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU3MlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTEwNCAxOTZsNzIgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MGMwIDI1LjUtMTUuOSA0Ny4yLTM4LjMgNTUuOWw0MyA0MC4zIDMzLjgtMzFjOC4xLTcuNSAyMC44LTYuOSAyOC4zIDEuMnM2LjkgMjAuOC0xLjIgMjguM0wyNzAgMzc5LjdsMzEuNyAyOS43YzguMSA3LjYgOC41IDIwLjIgLjkgMjguM3MtMjAuMiA4LjUtMjguMyAuOWwtMzMuOS0zMS44LTM0LjkgMzJjLTguMSA3LjUtMjAuOCA2LjktMjguMy0xLjJzLTYuOS0yMC44IDEuMi0yOC4zbDMyLjYtMjkuOS02NC44LTYwLjhjLS45LS44LTEuNi0xLjctMi4zLTIuNmwtMjAgMCAwIDQ0YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTY0IDAtODBjMC0xMSA5LTIwIDIwLTIwem03MiA4MGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTUyIDAgMCA0MCA1MiAwelwiXVxufTtcbmNvbnN0IGZhV2VpZ2h0U2NhbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2VpZ2h0LXNjYWxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ3ZWlnaHRcIl0sIFwiZjQ5NlwiLCBcIk0xMjggMTc2YTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6TTM5MS44IDY0QzM1OS41IDI0LjkgMzEwLjcgMCAyNTYgMFMxNTIuNSAyNC45IDEyMC4yIDY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC01Ni4yIDB6TTI5NiAyMjRjMC0xMC42LTQuMS0yMC4yLTEwLjktMjcuNGwzMy42LTc4LjNjMy41LTguMS0uMy0xNy41LTguNC0yMXMtMTcuNSAuMy0yMSA4LjRMMjU1LjcgMTg0Yy0yMiAuMS0zOS43IDE4LTM5LjcgNDBjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MHpcIl1cbn07XG5jb25zdCBmYVdlaWdodCA9IGZhV2VpZ2h0U2NhbGU7XG5jb25zdCBmYVVzZXJHcm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWdyb3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MTAxLCBcInVzZXItZnJpZW5kc1wiXSwgXCJmNTAwXCIsIFwiTTk2IDEyOGExMjggMTI4IDAgMSAxIDI1NiAwQTEyOCAxMjggMCAxIDEgOTYgMTI4ek0wIDQ4Mi4zQzAgMzgzLjggNzkuOCAzMDQgMTc4LjMgMzA0bDkxLjQgMEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0wyOS43IDUxMkMxMy4zIDUxMiAwIDQ5OC43IDAgNDgyLjN6TTYwOS4zIDUxMmwtMTM3LjggMGM1LjQtOS40IDguNi0yMC4zIDguNi0zMmwwLThjMC02MC43LTI3LjEtMTE1LjItNjkuOC0xNTEuOGMyLjQtLjEgNC43LS4yIDcuMS0uMmw2MS40IDBDNTY3LjggMzIwIDY0MCAzOTIuMiA2NDAgNDgxLjNjMCAxNy0xMy44IDMwLjctMzAuNyAzMC43ek00MzIgMjU2Yy0zMSAwLTU5LTEyLjYtNzkuMy0zMi45QzM3Mi40IDE5Ni41IDM4NCAxNjMuNiAzODQgMTI4YzAtMjYuOC02LjYtNTIuMS0xOC4zLTc0LjNDMzg0LjMgNDAuMSA0MDcuMiAzMiA0MzIgMzJjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJzLTUwLjEgMTEyLTExMiAxMTJ6XCJdXG59O1xuY29uc3QgZmFVc2VyRnJpZW5kcyA9IGZhVXNlckdyb3VwO1xuY29uc3QgZmFBcnJvd1VwQVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtYS16JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFscGhhLXVwXCJdLCBcImYxNWVcIiwgXCJNMTgzLjYgNDIuNEMxNzcuNSAzNS44IDE2OSAzMiAxNjAgMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDEyOCAxNDYuMyAxMjggNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDEuNyAzMi40IDM1LjRjMTEuOSAxMyAzMi4yIDEzLjkgNDUuMiAyczEzLjktMzIuMiAyLTQ1LjJsLTg4LTk2ek0zMjAgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDUwLjcgMC03My40IDczLjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUwLjcgMCA3My40LTczLjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5LjhsLTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNNDE2IDMyYy0xMi4xIDAtMjMuMiA2LjgtMjguNiAxNy43bC02NCAxMjgtMTYgMzJjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w3LjItMTQuMyA4OC40IDAgNy4yIDE0LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45bC0xNi0zMi02NC0xMjhDNDM5LjIgMzguOCA0MjguMSAzMiA0MTYgMzJ6TTM5NS44IDE3Nkw0MTYgMTM1LjYgNDM2LjIgMTc2bC00MC40IDB6XCJdXG59O1xuY29uc3QgZmFTb3J0QWxwaGFVcCA9IGZhQXJyb3dVcEFaO1xuY29uc3QgZmFDaGVzc0tuaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1rbmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODIyXSwgXCJmNDQxXCIsIFwiTTk2IDQ4TDgyLjcgNjEuM0M3MC43IDczLjMgNjQgODkuNSA2NCAxMDYuNWwwIDEzMi40YzAgMTAuNyA1LjMgMjAuNyAxNC4yIDI2LjZsMTAuNiA3YzE0LjMgOS42IDMyLjcgMTAuNyA0OC4xIDNsMy4yLTEuNmMyLjYtMS4zIDUtMi44IDcuMy00LjVsNDkuNC0zN2M2LjYtNSAxNS43LTUgMjIuMyAwYzEwLjIgNy43IDkuOSAyMy4xLS43IDMwLjNMOTAuNCAzNTBDNzMuOSAzNjEuMyA2NCAzODAgNjQgNDAwbDMyMCAwIDI4LjktMTU5YzIuMS0xMS4zIDMuMS0yMi44IDMuMS0zNC4zbDAtMTQuN0M0MTYgODYgMzMwIDAgMjI0IDBMODMuOCAwQzcyLjkgMCA2NCA4LjkgNjQgMTkuOGMwIDcuNSA0LjIgMTQuMyAxMC45IDE3LjdMOTYgNDh6bTI0IDY4YTIwIDIwIDAgMSAxIDQwIDAgMjAgMjAgMCAxIDEgLTQwIDB6TTIyLjYgNDczLjRjLTQuMiA0LjItNi42IDEwLTYuNiAxNkMxNiA1MDEuOSAyNi4xIDUxMiAzOC42IDUxMmwzNzAuNyAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZMMzg0IDQzMiA2NCA0MzIgMjIuNiA0NzMuNHpcIl1cbn07XG5jb25zdCBmYUZhY2VMYXVnaFNxdWludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWxhdWdoLXNxdWludCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2gtc3F1aW50XCJdLCBcImY1OWJcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTk2LjggMzE0LjFjLTMuOC0xMy43IDcuNC0yNi4xIDIxLjYtMjYuMWwyNzUuMiAwYzE0LjIgMCAyNS41IDEyLjQgMjEuNiAyNi4xQzM5Ni4yIDM4MiAzMzIuMSA0MzIgMjU2IDQzMnMtMTQwLjItNTAtMTU5LjItMTE3Ljl6bTM2LjctMTk5LjRsODkuOSA0Ny45YzEwLjcgNS43IDEwLjcgMjEuMSAwIDI2LjhsLTg5LjkgNDcuOWMtNy45IDQuMi0xNy41LTEuNS0xNy41LTEwLjVjMC0yLjggMS01LjUgMi44LTcuNmwzNi00My4yLTM2LTQzLjJjLTEuOC0yLjEtMi44LTQuOC0yLjgtNy42YzAtOSA5LjYtMTQuNyAxNy41LTEwLjV6TTM5NiAxMjUuMWMwIDIuOC0xIDUuNS0yLjggNy42bC0zNiA0My4yIDM2IDQzLjJjMS44IDIuMSAyLjggNC44IDIuOCA3LjZjMCA5LTkuNiAxNC43LTE3LjUgMTAuNWwtODkuOS00Ny45Yy0xMC43LTUuNy0xMC43LTIxLjEgMC0yNi44bDg5LjktNDcuOWM3LjktNC4yIDE3LjUgMS41IDE3LjUgMTAuNXpcIl1cbn07XG5jb25zdCBmYUxhdWdoU3F1aW50ID0gZmFGYWNlTGF1Z2hTcXVpbnQ7XG5jb25zdCBmYVdoZWVsY2hhaXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hlZWxjaGFpcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjE5M1wiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xMjAuNSAyNDcuMmMxMi40LTQuNyAxOC43LTE4LjUgMTQtMzAuOXMtMTguNS0xOC43LTMwLjktMTRDNDMuMSAyMjUuMSAwIDI4My41IDAgMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwYzYxLjIgMCAxMTQuMy0zNC4zIDE0MS4yLTg0LjdjNi4yLTExLjcgMS44LTI2LjItOS45LTMyLjVzLTI2LjItMS44LTMyLjUgOS45QzI0MCA0NDAgMjAyLjggNDY0IDE2MCA0NjRDOTguMSA0NjQgNDggNDEzLjkgNDggMzUyYzAtNDcuOSAzMC4xLTg4LjggNzIuNS0xMDQuOHpNMjU5LjggMTc2bC0xLjktOS43Yy00LjUtMjIuMy0yNC0zOC4zLTQ2LjgtMzguM2MtMzAuMSAwLTUyLjcgMjcuNS00Ni44IDU3bDIzLjEgMTE1LjVjNiAyOS45IDMyLjIgNTEuNCA2Mi44IDUxLjRsNS4xIDBjLjQgMCAuOCAwIDEuMyAwbDk0LjEgMGM2LjcgMCAxMi42IDQuMSAxNSAxMC40TDQwMiA0NTkuMmM2IDE2LjEgMjMuOCAyNC42IDQwLjEgMTkuMWw0OC0xNmMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4ybC0xOC43IDYuMi0yNS41LTY4Yy0xMS43LTMxLjItNDEuNi01MS45LTc0LjktNTEuOWwtNjguNSAwLTkuNi00OCA2My40IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTc2LjIgMHpcIl1cbn07XG5jb25zdCBmYUNpcmNsZUFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWFycm93LXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtdXBcIl0sIFwiZjBhYVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg1IDIxNWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC03MS03MUwyODAgMzkyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMjE0LjEtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1elwiXVxufTtcbmNvbnN0IGZhQXJyb3dDaXJjbGVVcCA9IGZhQ2lyY2xlQXJyb3dVcDtcbmNvbnN0IGZhVG9nZ2xlT24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9nZ2xlLW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjA1XCIsIFwiTTE5MiA2NEM4NiA2NCAwIDE1MCAwIDI1NlM4NiA0NDggMTkyIDQ0OGwxOTIgMGMxMDYgMCAxOTItODYgMTkyLTE5MnMtODYtMTkyLTE5Mi0xOTJMMTkyIDY0em0xOTIgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6XCJdXG59O1xuY29uc3QgZmFQZXJzb25XYWxraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTI4Njk0LCBcIndhbGtpbmdcIl0sIFwiZjU1NFwiLCBcIk0xNjAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMTI2LjUgMTk5LjNjLTEgLjQtMS45IC44LTIuOSAxLjJsLTggMy41Yy0xNi40IDcuMy0yOSAyMS4yLTM0LjcgMzguMmwtMi42IDcuOGMtNS42IDE2LjgtMjMuNyAyNS44LTQwLjUgMjAuMnMtMjUuOC0yMy43LTIwLjItNDAuNWwyLjYtNy44YzExLjQtMzQuMSAzNi42LTYxLjkgNjkuNC03Ni41bDgtMy41YzIwLjgtOS4yIDQzLjMtMTQgNjYuMS0xNGM0NC42IDAgODQuOCAyNi44IDEwMS45IDY3LjlMMjgxIDIzMi43bDIxLjQgMTAuN2MxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zTDI0NyAyODcuM2MtMTAuMy01LjItMTguNC0xMy44LTIyLjgtMjQuNWwtOS42LTIzLTE5LjMgNjUuNSA0OS41IDU0YzUuNCA1LjkgOS4yIDEzIDExLjIgMjAuOGwyMyA5Mi4xYzQuMyAxNy4xLTYuMSAzNC41LTIzLjMgMzguOHMtMzQuNS02LjEtMzguOC0yMy4zbC0yMi04OC4xLTcwLjctNzcuMWMtMTQuOC0xNi4xLTIwLjMtMzguNi0xNC43LTU5LjdsMTYuOS02My41ek02OC43IDM5OGwyNS02Mi40YzIuMSAzIDQuNSA1LjggNyA4LjZsNDAuNyA0NC40LTE0LjUgMzYuMmMtMi40IDYtNiAxMS41LTEwLjYgMTYuMUw1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w2OC43IDM5OHpcIl1cbn07XG5jb25zdCBmYVdhbGtpbmcgPSBmYVBlcnNvbldhbGtpbmc7XG5jb25zdCBmYUwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbCcsXG4gIGljb246IFszMjAsIDUxMiwgWzEwOF0sIFwiNGNcIiwgXCJNNjQgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNTIgMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwzMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUZpcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlyZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODI5M10sIFwiZjA2ZFwiLCBcIk0xNTkuMyA1LjRjNy44LTcuMyAxOS45LTcuMiAyNy43IC4xYzI3LjYgMjUuOSA1My41IDUzLjggNzcuNyA4NGMxMS0xNC40IDIzLjUtMzAuMSAzNy00Mi45YzcuOS03LjQgMjAuMS03LjQgMjggLjFjMzQuNiAzMyA2My45IDc2LjYgODQuNSAxMThjMjAuMyA0MC44IDMzLjggODIuNSAzMy44IDExMS45QzQ0OCA0MDQuMiAzNDguMiA1MTIgMjI0IDUxMkM5OC40IDUxMiAwIDQwNC4xIDAgMjc2LjVjMC0zOC40IDE3LjgtODUuMyA0NS40LTEzMS43QzczLjMgOTcuNyAxMTIuNyA0OC42IDE1OS4zIDUuNHpNMjI1LjcgNDE2YzI1LjMgMCA0Ny43LTcgNjguOC0yMWM0Mi4xLTI5LjQgNTMuNC04OC4yIDI4LjEtMTM0LjRjLTQuNS05LTE2LTkuNi0yMi41LTJsLTI1LjIgMjkuM2MtNi42IDcuNi0xOC41IDcuNC0yNC43LS41Yy0xNi41LTIxLTQ2LTU4LjUtNjIuOC03OS44Yy02LjMtOC0xOC4zLTguMS0yNC43LS4xYy0zMy44IDQyLjUtNTAuOCA2OS4zLTUwLjggOTkuNEMxMTIgMzc1LjQgMTYyLjYgNDE2IDIyNS43IDQxNnpcIl1cbn07XG5jb25zdCBmYUJlZFB1bHNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JlZC1wdWxzZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wicHJvY2VkdXJlc1wiXSwgXCJmNDg3XCIsIFwiTTQ4My4yIDkuNkw1MjQgNjRsOTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTA0IDBjLTcuNiAwLTE0LjctMy42LTE5LjItOS42TDQ2OC43IDcwLjNsLTQ3IDk5LjljLTMuNyA3LjgtMTEuMyAxMy4xLTE5LjkgMTMuN3MtMTYuOS0zLjQtMjEuNy0xMC42TDMzOS4yIDExMiAyMTYgMTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEzNiAwYzggMCAxNS41IDQgMjAgMTAuN2wyNC40IDM2LjYgNDUuOS05Ny41QzQ0NS45IDYuMiA0NTMuMiAxIDQ2MS42IC4xczE2LjYgMi43IDIxLjYgOS41ek0zMjAgMTYwbDEyLjcgMCAyMC43IDMxLjFjMTEuMiAxNi44IDMwLjYgMjYuMyA1MC43IDI0LjhzMzcuOS0xMy43IDQ2LjUtMzJMNDYxLjkgMTYwbDgyLjEgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMjI0IDAtMzIgMEw2NCA0NDhsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkwwIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0czMyIDE0LjMgMzIgMzJsMCAyNTYgMjI0IDAgMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS0xNDQgMGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpcIl1cbn07XG5jb25zdCBmYVByb2NlZHVyZXMgPSBmYUJlZFB1bHNlO1xuY29uc3QgZmFTaHV0dGxlU3BhY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2h1dHRsZS1zcGFjZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wic3BhY2Utc2h1dHRsZVwiXSwgXCJmMTk3XCIsIFwiTTEzMCA0ODBjNDAuNiAwIDgwLjQtMTEgMTE1LjItMzEuOUwzNTIgMzg0bC0yMjQgMCAwIDk2IDIgMHpNMzUyIDEyOEwyNDUuMiA2My45QzIxMC40IDQzIDE3MC42IDMyIDEzMCAzMmwtMiAwIDAgOTYgMjI0IDB6TTk2IDEyOGwwLTk2TDgwIDMyQzUzLjUgMzIgMzIgNTMuNSAzMiA4MGwwIDQ4IDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCAxNkwwIDMyOGwwIDE2YzAgMjIuMSAxNy45IDQwIDQwIDQwbC04IDAgMCA0OGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNiAwIDAtOTYgOCAwYzI2LjIgMCA0OS40LTEyLjYgNjQtMzJsMjg4IDBjNjkuMyAwIDEzNS0yMi43IDE3OS4yLTgxLjZjNi40LTguNSA2LjQtMjAuMyAwLTI4LjhDNTkxIDE4Mi43IDUyNS4zIDE2MCA0NTYgMTYwbC0yODggMGMtMTQuNi0xOS40LTM3LjgtMzItNjQtMzJsLTggMHpNNTEyIDI0My42bDAgMjQuOWMwIDE5LjYtMTUuOSAzNS42LTM1LjYgMzUuNmMtMi41IDAtNC40LTItNC40LTQuNGwwLTg3LjFjMC0yLjUgMi00LjQgNC40LTQuNGMxOS42IDAgMzUuNiAxNS45IDM1LjYgMzUuNnpcIl1cbn07XG5jb25zdCBmYVNwYWNlU2h1dHRsZSA9IGZhU2h1dHRsZVNwYWNlO1xuY29uc3QgZmFGYWNlTGF1Z2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1sYXVnaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2hcIl0sIFwiZjU5OVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNOTYuOCAzMTQuMWMtMy44LTEzLjcgNy40LTI2LjEgMjEuNi0yNi4xbDI3NS4yIDBjMTQuMiAwIDI1LjUgMTIuNCAyMS42IDI2LjFDMzk2LjIgMzgyIDMzMi4xIDQzMiAyNTYgNDMycy0xNDAuMi01MC0xNTkuMi0xMTcuOXpNMTQ0LjQgMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFMYXVnaCA9IGZhRmFjZUxhdWdoO1xuY29uc3QgZmFGb2xkZXJPcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MTk0LCAxMjg0NDksIDYxNzE3XSwgXCJmMDdjXCIsIFwiTTg4LjcgMjIzLjhMMCAzNzUuOCAwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDExNy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsMjYuNSAyNi41YzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdMNDE2IDk2YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzItMzM2IDBjLTIyLjggMC00My44IDEyLjEtNTUuMyAzMS44em0yNy42IDE2LjFDMTIyLjEgMjMwIDEzMi42IDIyNCAxNDQgMjI0bDQwMCAwYzExLjUgMCAyMiA2LjEgMjcuNyAxNi4xczUuNyAyMi4yLS4xIDMyLjFsLTExMiAxOTJDNDUzLjkgNDc0IDQ0My40IDQ4MCA0MzIgNDgwTDMyIDQ4MGMtMTEuNSAwLTIyLTYuMS0yNy43LTE2LjFzLTUuNy0yMi4yIC4xLTMyLjFsMTEyLTE5MnpcIl1cbn07XG5jb25zdCBmYUhlYXJ0Q2lyY2xlUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtcGx1cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUwMFwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45bDIuNi0yLjRDMjY3LjIgNDM4LjYgMjU2IDQwNC42IDI1NiAzNjhjMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZjMjguMyAwIDU1IDYuNyA3OC43IDE4LjVjLjktNi41IDEuMy0xMyAxLjMtMTkuNmwwLTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xbDAgNS44YzAgNDEuNSAxNy4yIDgxLjIgNDcuNiAxMDkuNXpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTE2LTIwOGwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFDb2RlRm9yayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLWZvcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUxM2JcIiwgXCJNODAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODAtMjRjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDM4LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zOC43QzMwNy43IDE0MSAyODggMTEyLjggMjg4IDgwYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDM4LjdjMCA1My00MyA5Ni05NiA5NmwtNDggMCAwIDcwLjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuM2MwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zbDAtNzAuNy00OCAwYy01MyAwLTk2LTQzLTk2LTk2bDAtMzguN0MxOS43IDE0MSAwIDExMi44IDAgODBDMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODB6bTIwOCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI0OCA0MzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG5jb25zdCBmYUNpdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2l0eScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzk2MV0sIFwiZjY0ZlwiLCBcIk00ODAgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzM2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNDgtNjQgMCAwLTcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzItNjQgMCAwLTcyYzAtMTMuMy0xMC43LTI0LTI0LTI0UzY0IDEwLjcgNjQgMjRsMCA3Mkw0OCA5NkMyMS41IDk2IDAgMTE3LjUgMCAxNDRsMCA5NkwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNTYgMCAzMiAwIDk2IDAgMTYwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTExMiAwIDAtMTQ0em05NiAzMjBsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnpNMjQwIDQxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2ek0xMjggNDAwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJ6TTU2MCAyNTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMHpNMjU2IDE3NmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2ek0xMTIgMTYwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6TTI1NiAzMDRjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMnpNMTEyIDMyMGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2em0zMDQtNDhsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnpNNDAwIDY0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6bTE2IDExMmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2elwiXVxufTtcbmNvbnN0IGZhTWljcm9waG9uZUxpbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3JvcGhvbmUtbGluZXMnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjc4OTcsIFwibWljcm9waG9uZS1hbHRcIl0sIFwiZjNjOVwiLCBcIk05NiA5NmwwIDE2MGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bC04MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDgwIDAgMC0zMi04MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDgwIDAgMC0zMi04MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDgwIDBjMC01My00My05Ni05Ni05NlM5NiA0MyA5NiA5NnpNMzIwIDI0MGwwIDE2YzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4cy0xMjgtNTcuMy0xMjgtMTI4bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMwIDg5LjEgNjYuMiAxNjIuNyAxNTIgMTc0LjRsMCAzMy42LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtMzMuNmM4NS44LTExLjcgMTUyLTg1LjMgMTUyLTE3NC40bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNHpcIl1cbn07XG5jb25zdCBmYU1pY3JvcGhvbmVBbHQgPSBmYU1pY3JvcGhvbmVMaW5lcztcbmNvbnN0IGZhUGVwcGVySG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcHBlci1ob3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc3OThdLCBcImY4MTZcIiwgXCJNNDI4LjMgM2MxMS42LTYuNCAyNi4yLTIuMyAzMi42IDkuM2w0LjggOC43YzE5LjMgMzQuNyAxOS44IDc1LjcgMy40IDExMEM0OTUuOCAxNTkuNiA1MTIgMTk3LjkgNTEyIDI0MGMwIDE4LjUtMy4xIDM2LjMtOC45IDUyLjhjLTYuMSAxNy4zLTI4LjUgMTYuMy0zNi44LS4xbC0xMS43LTIzLjRjLTQuMS04LjEtMTIuNC0xMy4zLTIxLjUtMTMuM0wzNjAgMjU2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNy4xIDBjLTIxLjMgMC0zMC0yMy45LTEwLjgtMzIuOUMzMDQuNyA4NS40IDMyNy43IDgwIDM1MiA4MGMyOC4zIDAgNTQuOCA3LjMgNzcuOCAyMC4yYzUuNS0xOC4yIDMuNy0zOC40LTYtNTUuOEw0MTkgMzUuN2MtNi40LTExLjYtMi4zLTI2LjIgOS4zLTMyLjZ6TTE3MS4yIDM0NS41TDI2NCAxNjBsNDAgMCAwIDgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDc2LjIgMCAyMy45IDQ3LjhDMzcyLjMgNDQzLjkgMjQ0LjMgNTEyIDEwMy4yIDUxMmwtNTguOCAwQzE5LjkgNTEyIDAgNDkyLjEgMCA0NjcuNmMwLTIwLjggMTQuNS0zOC44IDM0LjgtNDMuM2w0OS44LTExLjFjMzcuNi04LjQgNjkuNS0zMy4yIDg2LjctNjcuN3pcIl1cbn07XG5jb25zdCBmYVVubG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bmxvY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyNzVdLCBcImYwOWNcIiwgXCJNMTQ0IDE0NGMwLTQ0LjIgMzUuOC04MCA4MC04MGMzMS45IDAgNTkuNCAxOC42IDcyLjMgNDUuN2M3LjYgMTYgMjYuNyAyMi44IDQyLjYgMTUuMnMyMi44LTI2LjcgMTUuMi00Mi42QzMzMSAzMy43IDI4MS41IDAgMjI0IDBDMTQ0LjUgMCA4MCA2NC41IDgwIDE0NGwwIDQ4LTE2IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0yNDAgMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQ29sb25TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbG9uLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxNDBcIiwgXCJNMjU1IDM5LjhjNC4zLTE3LjEtNi4xLTM0LjUtMjMuMy0zOC44UzE5Ny4yIDcuMSAxOTMgMjQuMkwxODEuOSA2OC42Qzk2LjEgODcuOCAzMiAxNjQuNCAzMiAyNTZjMCA1OC4xIDI1LjggMTEwLjIgNjYuNyAxNDUuNEw4MSA0NzIuMmMtNC4zIDE3LjEgNi4xIDM0LjUgMjMuMyAzOC44czM0LjUtNi4xIDM4LjgtMjMuM2wxMy01Mi4xYzkgMy40IDE4LjQgNi4yIDI4IDguMkwxNzcgNDcyLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMTAuNC00MS40YzMzLjQtNC40IDY0LjEtMTcuNCA4OS44LTM2LjdjMTQuMS0xMC42IDE3LTMwLjcgNi40LTQ0LjhzLTMwLjctMTctNDQuOC02LjRjLTEwLjIgNy43LTIxLjcgMTMuOS0zNCAxOC4zTDMyMSAxNjBjOS40LS4zIDE4LjUtNC43IDI0LjYtMTIuOGMxMC42LTE0LjEgNy44LTM0LjItNi40LTQ0LjhjLTEuMS0uOC0yLjItMS42LTMuMy0yLjRMMzUxIDM5LjhjNC4zLTE3LjEtNi4xLTM0LjUtMjMuMy0zOC44UzI5My4yIDcuMSAyODkgMjQuMkwyNzcuMiA3MS41Yy05LjMtMi43LTE4LjgtNC42LTI4LjYtNS45TDI1NSAzOS44ek0xNjMuMiAxNDMuM0wxMTcuMyAzMjYuOEMxMDMuOSAzMDYuNSA5NiAyODIuMiA5NiAyNTZjMC00OC43IDI3LjItOTEgNjcuMi0xMTIuN3ptOC42IDIyOS41bDYxLjEtMjQ0LjZjOS45IC43IDE5LjUgMi41IDI4LjcgNS4zbC02MiAyNDguMWMtOS43LTEuOS0xOS00LjgtMjcuOC04Ljh6XCJdXG59O1xuY29uc3QgZmFIZWFkc2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWRzZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1OTBcIiwgXCJNMjU2IDQ4QzE0MS4xIDQ4IDQ4IDE0MS4xIDQ4IDI1NmwwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDBDMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2bDAgMTQ0LjFjMCA0OC42LTM5LjQgODgtODguMSA4OEwzMTMuNiA0ODhjLTguMyAxNC4zLTIzLjggMjQtNDEuNiAyNGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OGwzMiAwYzE3LjggMCAzMy4zIDkuNyA0MS42IDI0bDExMC40IC4xYzIyLjEgMCA0MC0xNy45IDQwLTQwTDQ2NCAyNTZjMC0xMTQuOS05My4xLTIwOC0yMDgtMjA4ek0xNDQgMjA4bDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNDhjMC0zNS4zIDI4LjctNjQgNjQtNjR6bTIyNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTEyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDE2IDB6XCJdXG59O1xuY29uc3QgZmFTdG9yZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3JlLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDcxXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTg2LjgtNjggMC0xNy4xIDAtMTMxLjRjLTQgMS04IDEuOC0xMi4zIDIuM2MwIDAgMCAwLS4xIDBjLTUuMyAuNy0xMC43IDEuMS0xNi4yIDEuMWMtMTIuNCAwLTI0LjMtMS45LTM1LjQtNS4zbDAgMTAwLjNMMzAxLjIgMjEwLjdjNy00LjQgMTMuMy05LjcgMTguOC0xNS43YzE1LjkgMTcuNiAzOS4xIDI5IDY1LjIgMjljMjYuMiAwIDQ5LjMtMTEuNCA2NS4yLTI5YzE2IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzQuMSAwIDguMS0uMyAxMi4xLS44YzU1LjUtNy40IDgxLjgtNzIuNSA1Mi4xLTExOS40TDUyMi4zIDEzLjFDNTE3LjIgNSA1MDguMSAwIDQ5OC40IDBMMTQxLjYgMGMtOS43IDAtMTguOCA1LTIzLjkgMTMuMWwtMjIuNyAzNkwzOC44IDUuMXptNzMuNCAyMTguMWM0IC41IDguMSAuOCAxMi4xIC44YzExIDAgMjEuNC0yIDMxLTUuNkw0OC45IDEzNC41Yy02LjEgNDAuNiAxOS41IDgyLjggNjMuMyA4OC43ek0xNjAgMzg0bDAtMTMzLjRjLTExLjIgMy41LTIzLjIgNS40LTM1LjYgNS40Yy01LjUgMC0xMS0uNC0xNi4zLTEuMWwtLjEgMGMtNC4xLS42LTguMS0xLjMtMTItMi4zTDk2IDM4NGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzEyLjkgMCAyNC44LTMuOCAzNC45LTEwLjNMMzY1LjUgMzg0IDE2MCAzODR6XCJdXG59O1xuY29uc3QgZmFSb2FkQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjZcIiwgXCJNMjEzLjIgMzJMMjg4IDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDc0LjggMGMyNy4xIDAgNTEuMyAxNy4xIDYwLjMgNDIuNmw0Mi43IDEyMC42Yy0xMC45LTIuMS0yMi4yLTMuMi0zMy44LTMuMmMtNTkuNSAwLTExMi4xIDI5LjYtMTQ0IDc0LjhsMC00Mi44YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJjMi4zIDAgNC42LS4zIDYuOC0uN2MtNC41IDE1LjUtNi44IDMxLjgtNi44IDQ4LjdjMCA1LjQgLjIgMTAuNyAuNyAxNmwtLjcgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NEw4Ni42IDQ4MEM1Ni41IDQ4MCAzMiA0NTUuNSAzMiA0MjUuNGMwLTYuMiAxLjEtMTIuNCAzLjEtMTguMkwxNTIuOSA3NC42QzE2MiA0OS4xIDE4Ni4xIDMyIDIxMy4yIDMyek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMjIuNiAxNDRsMzYuNy0zNi43YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBMNDk2IDM0NS40bC0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZMNDczLjQgMzY4bC0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0OTYgMzkwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw1MTguNiAzNjh6XCJdXG59O1xuY29uc3QgZmFVc2VyTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1taW51cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjUwM1wiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGw5MS40IDBDMzY4LjIgMzA0IDQ0OCAzODMuOCA0NDggNDgyLjNjMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMMjkuNyA1MTJDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek00NzIgMjAwbDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpcIl1cbn07XG5jb25zdCBmYU1hcnNTdHJva2VVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLXN0cm9rZS11cCcsXG4gIGljb246IFszMjAsIDUxMiwgWzk4OTYsIFwibWFycy1zdHJva2UtdlwiXSwgXCJmMjJhXCIsIFwiTTE0OC43IDQuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGw2NCA2NGM0LjYgNC42IDUuOSAxMS41IDMuNSAxNy40cy04LjMgOS45LTE0LjggOS45bC00MCAwIDAgMjQgMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMCAwIDI0YzAgLjYgMCAxLjItLjEgMS44Yzc3IDExLjYgMTM2LjEgNzggMTM2LjEgMTU4LjJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0NDAuNCAwIDM1MmMwLTgwLjIgNTkuMS0xNDYuNyAxMzYuMS0xNTguMmMwLS42LS4xLTEuMi0uMS0xLjhsMC0yNC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDMyIDAgMC0yNEw5NiA5NmMtNi41IDAtMTIuMy0zLjktMTQuOC05LjlzLTEuMS0xMi45IDMuNS0xNy40bDY0LTY0ek0yNTYgMzUyQTk2IDk2IDAgMSAwIDY0IDM1MmE5NiA5NiAwIDEgMCAxOTIgMHpcIl1cbn07XG5jb25zdCBmYU1hcnNTdHJva2VWID0gZmFNYXJzU3Ryb2tlVXA7XG5jb25zdCBmYUNoYW1wYWduZUdsYXNzZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhbXBhZ25lLWdsYXNzZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjkzNDYsIFwiZ2xhc3MtY2hlZXJzXCJdLCBcImY3OWZcIiwgXCJNMTU1LjYgMTcuM0MxNjMgMyAxNzkuOS0zLjYgMTk1IDEuOUwzMjAgNDcuNWwxMjUtNDUuNmMxNS4xLTUuNSAzMiAxLjEgMzkuNCAxNS40bDc4LjggMTUyLjljMjguOCA1NS44IDEwLjMgMTIyLjMtMzguNSAxNTYuNkw1NTYuMSA0MTNsNDEtMTVjMTYuNi02IDM1IDIuNSA0MSAxOS4xcy0yLjUgMzUtMTkuMSA0MWwtNzEuMSAyNS45TDQ3Ni44IDUxMGMtMTYuNiA2LjEtMzUtMi41LTQxLTE5LjFzMi41LTM1IDE5LjEtNDFsNDEtMTUtMzEuMy04Ni4yYy01OS40IDUuMi0xMTYuMi0zNC0xMzAtOTUuMkwzMjAgMTg4LjhsLTE0LjYgNjQuN2MtMTMuOCA2MS4zLTcwLjYgMTAwLjQtMTMwIDk1LjJsLTMxLjMgODYuMiA0MSAxNWMxNi42IDYgMjUuMiAyNC40IDE5LjEgNDFzLTI0LjQgMjUuMi00MSAxOS4xTDkyLjIgNDg0LjEgMjEuMSA0NTguMmMtMTYuNi02LjEtMjUuMi0yNC40LTE5LjEtNDFzMjQuNC0yNS4yIDQxLTE5LjFsNDEgMTUgMzEuMy04Ni4yQzY2LjUgMjkyLjUgNDguMSAyMjYgNzYuOSAxNzAuMkwxNTUuNiAxNy4zem00NCA1NC40bC0yNy4yIDUyLjhMMjYxLjYgMTU3bDEzLjEtNTcuOUwxOTkuNiA3MS43em0yNDAuOSAwTDM2NS40IDk5LjEgMzc4LjUgMTU3bDg5LjItMzIuNUw0NDAuNSA3MS43elwiXVxufTtcbmNvbnN0IGZhR2xhc3NDaGVlcnMgPSBmYUNoYW1wYWduZUdsYXNzZXM7XG5jb25zdCBmYUNsaXBib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbGlwYm9hcmQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgyMDNdLCBcImYzMjhcIiwgXCJNMTkyIDBjLTQxLjggMC03Ny40IDI2LjctOTAuNSA2NEw2NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NGwtMzcuNSAwQzI2OS40IDI2LjcgMjMzLjggMCAxOTIgMHptMCA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTExMiAxOTJsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhSG91c2VDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGFcIiwgXCJNMzIwLjcgMzUyYzguMS04OS43IDgzLjUtMTYwIDE3NS4zLTE2MGM4LjkgMCAxNy42IC43IDI2LjEgMS45TDMwOS41IDdjLTYtNS0xNC03LTIxLTdzLTE1IDEtMjIgOEwxMCAyMzEuNWMtNyA3LTEwIDE1LTEwIDI0YzAgMTggMTQgMzIuMSAzMiAzMi4xbDMyIDAgMCA2OS43Yy0uMSAuOS0uMSAxLjgtLjEgMi44bDAgMTEyYzAgMjIuMSAxNy45IDQwIDQwIDQwbDE2IDBjMS4yIDAgMi40LS4xIDMuNi0uMmMxLjUgLjEgMyAuMiA0LjUgLjJsMzEuOSAwIDI0IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC0yNCAwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDAgLjcgMHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUZpbGVBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtYXJyb3ctdXAnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpbGUtdXBsb2FkXCJdLCBcImY1NzRcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODgtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDIyNCAwIDY0IDB6TTI1NiAwbDAgMTI4IDEyOCAwTDI1NiAwek0yMTYgNDA4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTAyLjEtMzEgMzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNzItNzJjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzEtMzFMMjE2IDQwOHpcIl1cbn07XG5jb25zdCBmYUZpbGVVcGxvYWQgPSBmYUZpbGVBcnJvd1VwO1xuY29uc3QgZmFXaWZpID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpZmknLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcIndpZmktM1wiLCBcIndpZmktc3Ryb25nXCJdLCBcImYxZWJcIiwgXCJNNTQuMiAyMDIuOUMxMjMuMiAxMzYuNyAyMTYuOCA5NiAzMjAgOTZzMTk2LjggNDAuNyAyNjUuOCAxMDYuOWMxMi44IDEyLjIgMzMgMTEuOCA0NS4yLS45czExLjgtMzMtLjktNDUuMkM1NDkuNyA3OS41IDQ0MC40IDMyIDMyMCAzMlM5MC4zIDc5LjUgOS44IDE1Ni43Qy0yLjkgMTY5LTMuMyAxODkuMiA4LjkgMjAyczMyLjUgMTMuMiA0NS4yIC45ek0zMjAgMjU2YzU2LjggMCAxMDguNiAyMS4xIDE0OC4yIDU2YzEzLjMgMTEuNyAzMy41IDEwLjQgNDUuMi0yLjhzMTAuNC0zMy41LTIuOC00NS4yQzQ1OS44IDIxOS4yIDM5MyAxOTIgMzIwIDE5MnMtMTM5LjggMjcuMi0xOTAuNSA3MmMtMTMuMyAxMS43LTE0LjUgMzEuOS0yLjggNDUuMnMzMS45IDE0LjUgNDUuMiAyLjhjMzkuNS0zNC45IDkxLjMtNTYgMTQ4LjItNTZ6bTY0IDE2MGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6XCJdXG59O1xuY29uc3QgZmFXaWZpMyA9IGZhV2lmaTtcbmNvbnN0IGZhV2lmaVN0cm9uZyA9IGZhV2lmaTtcbmNvbnN0IGZhQmF0aCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXRoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NzA1LCBcImJhdGh0dWJcIl0sIFwiZjJjZFwiLCBcIk05NiA3Ny4zYzAtNy4zIDUuOS0xMy4zIDEzLjMtMTMuM2MzLjUgMCA2LjkgMS40IDkuNCAzLjlsMTQuOSAxNC45QzEzMCA5MS44IDEyOCAxMDEuNyAxMjggMTEyYzAgMTkuOSA3LjIgMzggMTkuMiA1MmMtNS4zIDkuMi00IDIxLjEgMy44IDI5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDI4OSA4OWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWMtNy45LTcuOS0xOS44LTkuMS0yOS0zLjhDMjQ2IDM5LjIgMjI3LjkgMzIgMjA4IDMyYy0xMC4zIDAtMjAuMiAyLTI5LjIgNS41TDE2My45IDIyLjZDMTQ5LjQgOC4xIDEyOS43IDAgMTA5LjMgMEM2Ni42IDAgMzIgMzQuNiAzMiA3Ny4zTDMyIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAyNTYgOTYgNzcuM3pNMzIgMzUybDAgMTZjMCAyOC40IDEyLjQgNTQgMzIgNzEuNkw2NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2IDI1NiAwIDAgMTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQwLjRjMTkuNi0xNy42IDMyLTQzLjEgMzItNzEuNmwwLTE2TDMyIDM1MnpcIl1cbn07XG5jb25zdCBmYUJhdGh0dWIgPSBmYUJhdGg7XG5jb25zdCBmYVVuZGVybGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bmRlcmxpbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwY2RcIiwgXCJNMTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTI4LTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDEyOGMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MHMtMTYwLTcxLjYtMTYwLTE2MEw2NCA5NiA0OCA5NkMzMC4zIDk2IDE2IDgxLjcgMTYgNjR6TTAgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xuY29uc3QgZmFVc2VyUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItcGVuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2VyLWVkaXRcIl0sIFwiZjRmZlwiLCBcIk0yMjQgMjU2QTEyOCAxMjggMCAxIDAgMjI0IDBhMTI4IDEyOCAwIDEgMCAwIDI1NnptLTQ1LjcgNDhDNzkuOCAzMDQgMCAzODMuOCAwIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJsMjkzLjEgMGMtMy4xLTguOC0zLjctMTguNC0xLjQtMjcuOGwxNS02MC4xYzIuOC0xMS4zIDguNi0yMS41IDE2LjgtMjkuN2w0MC4zLTQwLjNjLTMyLjEtMzEtNzUuNy01MC4xLTEyMy45LTUwLjFsLTkxLjQgMHptNDM1LjUtNjguM2MtMTUuNi0xNS42LTQwLjktMTUuNi01Ni42IDBsLTI5LjQgMjkuNCA3MSA3MSAyOS40LTI5LjRjMTUuNi0xNS42IDE1LjYtNDAuOSAwLTU2LjZsLTE0LjQtMTQuNHpNMzc1LjkgNDE3Yy00LjEgNC4xLTcgOS4yLTguNCAxNC45bC0xNSA2MC4xYy0xLjQgNS41IC4yIDExLjIgNC4yIDE1LjJzOS43IDUuNiAxNS4yIDQuMmw2MC4xLTE1YzUuNi0xLjQgMTAuOC00LjMgMTQuOS04LjRMNTc2LjEgMzU4LjdsLTcxLTcxTDM3NS45IDQxN3pcIl1cbn07XG5jb25zdCBmYVVzZXJFZGl0ID0gZmFVc2VyUGVuO1xuY29uc3QgZmFTaWduYXR1cmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2lnbmF0dXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNWI3XCIsIFwiTTE5MiAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDcuOGMwIDI3LjctMi40IDU1LjMtNy4xIDgyLjVsLTg0LjQgMjUuM2MtNDAuNiAxMi4yLTY4LjQgNDkuNi02OC40IDkybDAgNzEuOWMwIDQwIDMyLjUgNzIuNSA3Mi41IDcyLjVjMjYgMCA1MC0xMy45IDYyLjktMzYuNWwxMy45LTI0LjNjMjYuOC00NyA0Ni41LTk3LjcgNTguNC0xNTAuNWw5NC40LTI4LjMtMTIuNSAzNy41Yy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44czE1LjcgMTMuMyAyNiAxMy4zbDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04My42IDAgMTgtNTMuOWMzLjgtMTEuMyAuOS0yMy44LTcuNC0zMi40cy0yMC43LTExLjgtMzIuMi04LjRMMzE2LjQgMTk4LjFjMi40LTIwLjcgMy42LTQxLjQgMy42LTYyLjNsMC03LjhjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzJ6bS05LjIgMTc3bDQ5LTE0LjdjLTEwLjQgMzMuOC0yNC41IDY2LjQtNDIuMSA5Ny4ybC0xMy45IDI0LjNjLTEuNSAyLjYtNC4zIDQuMy03LjQgNC4zYy00LjcgMC04LjUtMy44LTguNS04LjVsMC03MS45YzAtMTQuMSA5LjMtMjYuNiAyMi44LTMwLjd6TTI0IDM2OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MC4zIDBjLS4yLTIuOC0uMy01LjYtLjMtOC41TDY0IDM2OGwtNDAgMHptNTkyIDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMTAuMSAwYy02LjcgMTYuMy0xNC4yIDMyLjMtMjIuMyA0OEw2MTYgNDE2elwiXVxufTtcbmNvbnN0IGZhU3Ryb29wd2FmZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Ryb29wd2FmZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NTFcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0zMTIuNiA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyNTYgOTcuNiAyMjIuMSA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDMzLjkgMzMuOS00NS4zIDQ1LjMtNTYuNi01Ni42Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDU2LjYgNTYuNi00NS4zIDQ1LjNMODYuMyAxOTkuNGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw5Ny42IDI1NiA2My43IDI4OS45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzMuOS0zMy45IDQ1LjMgNDUuMy01Ni42IDU2LjZjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni42LTU2LjYgNDUuMyA0NS4zLTMzLjkgMzMuOWMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDI1NiA0MTQuNGwzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zMy45LTMzLjkgNDUuMy00NS4zIDU2LjYgNTYuNmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTU2LjYtNTYuNiA0NS4zLTQ1LjMgMzMuOSAzMy45YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw0MTQuNCAyNTZsMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTMzLjkgMzMuOS00NS4zLTQ1LjMgNTYuNi01Ni42YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTU2LjYgNTYuNi00NS4zLTQ1LjMgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42ek0xNDIuOSAyNTZsNDUuMy00NS4zTDIzMy40IDI1NmwtNDUuMyA0NS4zTDE0Mi45IDI1NnptNjcuOSA2Ny45TDI1NiAyNzguNmw0NS4zIDQ1LjNMMjU2IDM2OS4xbC00NS4zLTQ1LjN6TTI3OC42IDI1Nmw0NS4zLTQ1LjNMMzY5LjEgMjU2bC00NS4zIDQ1LjNMMjc4LjYgMjU2em0yMi42LTY3LjlMMjU2IDIzMy40bC00NS4zLTQ1LjNMMjU2IDE0Mi45bDQ1LjMgNDUuM3pcIl1cbn07XG5jb25zdCBmYUJvbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9sZCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjAzMlwiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDQ4IDAgMTYgMCAxMjggMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGMwIDMxLjMtMTEuMyA2MC4xLTMwIDgyLjNjMzcuMSAyMi40IDYyIDYzLjEgNjIgMTA5LjdjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhMOTYgNDgwbC0xNiAwLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTE2MEw0OCA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek0yMjQgMjI0YzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0TDExMiA5NmwwIDEyOCAxMTIgMHpNMTEyIDI4OGwwIDEyOCAxNDQgMGMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGwtMzIgMC0xMTIgMHpcIl1cbn07XG5jb25zdCBmYUFuY2hvckxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5jaG9yLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YWRcIiwgXCJNMzIwIDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTIxLjEgODBDMzY3IDE1OC44IDM4NCAxMjkuNCAzODQgOTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAzMy40IDE3IDYyLjggNDIuOSA4MEwyMjQgMTc2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAyMDgtNDggMGMtNTMgMC05Ni00My05Ni05NmwwLTYuMSA3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDk3IDI2M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNyAzMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3LTcgMCA2LjFjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBsODAgMCA4MCAwYzggMCAxNS45LS42IDIzLjYtMS43Yy00LjgtOS03LjYtMTkuMy03LjYtMzAuM2wwLTMzLjNjLTUuMiAuOS0xMC41IDEuMy0xNiAxLjNsLTQ4IDAgMC0yMDggMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTAuOSAwek01MjggMjQwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJsMCA0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG5jb25zdCBmYUJ1aWxkaW5nTmdvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLW5nbycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRkN1wiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC00MTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0xNjggNjRsNDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMCAwIDY0IDE2IDAgMC0xNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtODhjMC04LjggNy4yLTE2IDE2LTE2ek0zMDQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZ6bS00OCAxNmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMzJjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0zMnpNNjEuMyA3MS4xbDM0LjcgNTJMOTYgODBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDk2YzAgNy4xLTQuNiAxMy4zLTExLjQgMTUuM3MtMTQtLjYtMTcuOS02LjRMNjQgMTMyLjggNjQgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC03LjEgNC42LTEzLjMgMTEuNC0xNS4zczE0IC42IDE3LjkgNi40elwiXVxufTtcbmNvbnN0IGZhTWFuYXRTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hbmF0LXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZDVcIiwgXCJNMTkyIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM0LjdDNjkuMiAxMTMuOSAwIDE5Mi45IDAgMjg4TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC01OS42IDQwLjgtMTA5LjggOTYtMTI0bDAgMjg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yODRjNTUuMiAxNC4yIDk2IDY0LjMgOTYgMTI0bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC05NS4xLTY5LjItMTc0LjEtMTYwLTE4OS4zTDIyNCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnpcIl1cbn07XG5jb25zdCBmYU5vdEVxdWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25vdC1lcXVhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUzZVwiLCBcIk0zNjkuOCAzNy40YzE0LjcgOS44IDE4LjcgMjkuNyA4LjkgNDQuNEwzMzcuMSAxNDRsNjIuOSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMDUuNSAwLTY0IDk2TDQwMCAzMDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTIxMi4yIDAtNjUuMiA5Ny43Yy05LjggMTQuNy0yOS43IDE4LjctNDQuNCA4LjlzLTE4LjctMjkuNy04LjktNDQuNEwxMTAuOSAzNjggNDggMzY4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEwNS41IDAgNjQtOTZMNDggMjA4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDIxMi4yIDAgNjUuMi05Ny43YzkuOC0xNC43IDI5LjctMTguNyA0NC40LTguOXpcIl1cbn07XG5jb25zdCBmYUJvcmRlclRvcExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9yZGVyLXRvcC1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJib3JkZXItc3R5bGVcIl0sIFwiZjg1M1wiLCBcIk0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzM2YzAtOC44IDcuMi0xNiAxNi0xNmwzMzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCAzMkMzNS44IDMyIDAgNjcuOCAwIDExMkwwIDQ0OHptMTYwIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTkyIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptLTk2IDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTkyIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDE2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTAgMzJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wLTEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFCb3JkZXJTdHlsZSA9IGZhQm9yZGVyVG9wTGVmdDtcbmNvbnN0IGZhTWFwTG9jYXRpb25Eb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFwLWxvY2F0aW9uLWRvdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibWFwLW1hcmtlZC1hbHRcIl0sIFwiZjVhMFwiLCBcIk00MDggMTIwYzAgNTQuNi03My4xIDE1MS45LTEwNS4yIDE5MmMtNy43IDkuNi0yMiA5LjYtMjkuNiAwQzI0MS4xIDI3MS45IDE2OCAxNzQuNiAxNjggMTIwQzE2OCA1My43IDIyMS43IDAgMjg4IDBzMTIwIDUzLjcgMTIwIDEyMHptOCA4MC40YzMuNS02LjkgNi43LTEzLjggOS42LTIwLjZjLjUtMS4yIDEtMi41IDEuNS0zLjdsMTE2LTQ2LjRDNTU4LjkgMTIzLjQgNTc2IDEzNSA1NzYgMTUybDAgMjcwLjhjMCA5LjgtNiAxOC42LTE1LjEgMjIuM0w0MTYgNTAzbDAtMzAyLjZ6TTEzNy42IDEzOC4zYzIuNCAxNC4xIDcuMiAyOC4zIDEyLjggNDEuNWMyLjkgNi44IDYuMSAxMy43IDkuNiAyMC42bDAgMjUxLjRMMzIuOSA1MDIuN0MxNy4xIDUwOSAwIDQ5Ny40IDAgNDgwLjRMMCAyMDkuNmMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zbDEyMi42LTQ5ek0zMjcuOCAzMzJjMTMuOS0xNy40IDM1LjctNDUuNyA1Ni4yLTc3bDAgMjQ5LjNMMTkyIDQ0OS40IDE5MiAyNTVjMjAuNSAzMS4zIDQyLjMgNTkuNiA1Ni4yIDc3YzIwLjUgMjUuNiA1OS4xIDI1LjYgNzkuNiAwek0yODggMTUyYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpcIl1cbn07XG5jb25zdCBmYU1hcE1hcmtlZEFsdCA9IGZhTWFwTG9jYXRpb25Eb3Q7XG5jb25zdCBmYUplZGkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnamVkaScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjY2OVwiLCBcIk0yNDYgMzE1LjdsLTIxLjItMzEuOWMtMi4xLTMuMi0xLjctNy40IDEtMTAuMXM2LjktMy4xIDEwLjEtMWwyOS41IDE5LjdjMi4xIDEuNCA0LjkgMCA1LTIuNkwyNzkuNyA4Yy4xLTQuNSAzLjgtOCA4LjMtOHM4LjEgMy41IDguMyA4bDkuNCAyODEuOWMuMSAyLjUgMi45IDMuOSA1IDIuNmwyOS41LTE5LjdjMy4yLTIuMSA3LjQtMS43IDEwLjEgMXMzLjEgNi45IDEgMTAuMUwzMzAgMzE1LjdjLTEuMyAxLjktLjIgNC41IDIgNC45bDM3LjYgNy41YzMuNyAuNyA2LjQgNCA2LjQgNy44cy0yLjcgNy4xLTYuNCA3LjhMMzMyIDM1MS40Yy0yLjIgLjQtMy4zIDMtMiA0LjlsMjEuMiAzMS45YzIuMSAzLjIgMS43IDcuNC0xIDEwLjFzLTYuOSAzLjEtMTAuMSAxbC0yNi4zLTE3LjZjLTIuMi0xLjQtNS4xIC4yLTUgMi44bDIuMSA2MS41QzM3MC42IDQzNS4yIDQxNiAzODIuOSA0MTYgMzIwYzAtMzctMTUuNy03MC40LTQwLjgtOTMuN2MtNy02LjUtNi41LTE4LjYgMS0yNC40QzQxMC4xIDE3NS41IDQzMiAxMzQuMyA0MzIgODhjMC0xNi44LTIuOS0zMy04LjItNDhjLTQuNi0xMyAxMC4yLTMwIDIxLjQtMjJjNTMuNSAzOCA5Mi43IDk0LjggMTA3LjggMTYwLjdjLjUgMi4xLS4yIDQuMy0xLjcgNS45bC0yOC40IDI4LjRjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOWwyNiAwYzMuNCAwIDYuMiAyLjYgNi4zIDZjLjEgMy4zIC4yIDYuNiAuMiAxMGMwIDE3LjUtMS43IDM0LjctNC44IDUxLjNjLS4yIDEuMi0uOSAyLjQtMS43IDMuM2wtNDYuNSA0Ni41Yy00IDQtMS4yIDEwLjkgNC41IDEwLjlsMTQuNiAwYzQuNiAwIDcuNyA0LjggNS43IDlDNDg3LjIgNDUwLjUgMzk0LjggNTEyIDI4OCA1MTJTODguOCA0NTAuNSA0NC4zIDM2MWMtMi4xLTQuMiAxLTkgNS43LTlsMTQuNiAwYzUuNyAwIDguNi02LjkgNC41LTEwLjlMMjIuNiAyOTQuNmMtLjktLjktMS41LTItMS43LTMuM0MxNy43IDI3NC43IDE2IDI1Ny41IDE2IDI0MGMwLTMuMyAuMS02LjcgLjItMTBjLjEtMy40IDIuOS02IDYuMy02bDI2IDBjNS43IDAgOC42LTYuOSA0LjUtMTAuOUwyNC42IDE4NC42Yy0xLjUtMS41LTIuMi0zLjgtMS43LTUuOUMzOC4xIDExMi44IDc3LjMgNTYgMTMwLjggMThjMTEuMy04IDI2IDguOSAyMS40IDIyYy01LjMgMTUtOC4yIDMxLjItOC4yIDQ4YzAgNDYuMyAyMS45IDg3LjUgNTUuOCAxMTMuOWM3LjUgNS44IDggMTcuOSAxIDI0LjRDMTc1LjcgMjQ5LjYgMTYwIDI4MyAxNjAgMzIwYzAgNjIuOSA0NS40IDExNS4yIDEwNS4xIDEyNmwyLjEtNjEuNWMuMS0yLjYtMi44LTQuMi01LTIuOGwtMjYuMyAxNy42Yy0zLjIgMi4xLTcuNCAxLjctMTAuMS0xcy0zLjEtNi45LTEtMTAuMUwyNDYgMzU2LjNjMS4zLTEuOSAuMi00LjUtMi00LjlsLTM3LjYtNy41Yy0zLjctLjctNi40LTQtNi40LTcuOHMyLjctNy4xIDYuNC03LjhsMzcuNi03LjVjMi4yLS40IDMuMy0zIDItNC45elwiXVxufTtcbmNvbnN0IGZhU3F1YXJlUG9sbFZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wb2xsLXZlcnRpY2FsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJwb2xsXCJdLCBcImY2ODFcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgMTkyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptNjQtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE5MnpNMzIwIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFQb2xsID0gZmFTcXVhcmVQb2xsVmVydGljYWw7XG5jb25zdCBmYU11Z0hvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtdWctaG90JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc0OV0sIFwiZjdiNlwiLCBcIk04OCAwQzc0LjcgMCA2NCAxMC43IDY0IDI0YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxQzEyMC41IDExMi4zIDEyOCAxMTkuOSAxMjggMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzExOS41IDQ3LjcgMTEyIDQwLjEgMTEyIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZsMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwxNiAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEybC00OCAwTDMyIDE5MnptMzUyIDY0bDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTE2IDAgMC05NnpNMjI0IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxQzIzMi41IDExMi4zIDI0MCAxMTkuOSAyNDAgMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzIzMS41IDQ3LjcgMjI0IDQwLjEgMjI0IDI0elwiXVxufTtcbmNvbnN0IGZhQ2FyQmF0dGVyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItYmF0dGVyeScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYmF0dGVyeS1jYXJcIl0sIFwiZjVkZlwiLCBcIk04MCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDk2IDBjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYgMHptMzA0IDk2YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMzItMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwzMiAwIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDAgMC0zMnpNODAgMjQwYzAgOC44IDcuMiAxNiAxNiAxNmw5NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC05NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5Q2FyID0gZmFDYXJCYXR0ZXJ5O1xuY29uc3QgZmFHaWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dpZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc4NzNdLCBcImYwNmJcIiwgXCJNMTkwLjUgNjguOEwyMjUuMyAxMjhsLTEuMyAwLTcyIDBjLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBsMi4yIDBjMTQuOSAwIDI4LjggNy45IDM2LjMgMjAuOHpNNjQgODhjMCAxNC40IDMuNSAyOCA5LjYgNDBMMzIgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTQxLjYgMGM2LjEtMTIgOS42LTI1LjYgOS42LTQwYzAtNDguNi0zOS40LTg4LTg4LTg4bC0yLjIgMGMtMzEuOSAwLTYxLjUgMTYuOS03Ny43IDQ0LjRMMjU2IDg1LjVsLTI0LjEtNDFDMjE1LjcgMTYuOSAxODYuMSAwIDE1NC4yIDBMMTUyIDBDMTAzLjQgMCA2NCAzOS40IDY0IDg4em0zMzYgMGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNzIgMC0xLjMgMCAzNC44LTU5LjJDMzI5LjEgNTUuOSAzNDIuOSA0OCAzNTcuOCA0OGwyLjIgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHpNMzIgMjg4bDAgMTc2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE0NCAwIDAtMjI0TDMyIDI4OHpNMjg4IDUxMmwxNDQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE3Ni0xOTIgMCAwIDIyNHpcIl1cbn07XG5jb25zdCBmYURpY2VUd28gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS10d28nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODU3XSwgXCJmNTI4XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0zNTIgMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhQ2hlc3NRdWVlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1xdWVlbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4MTldLCBcImY0NDVcIiwgXCJNMjU2IDBhNTYgNTYgMCAxIDEgMCAxMTJBNTYgNTYgMCAxIDEgMjU2IDB6TTEzNC4xIDE0My44YzMuMy0xMyAxNS0yMy44IDMwLjItMjMuOGMxMi4zIDAgMjIuNiA3LjIgMjcuNyAxN2MxMiAyMy4yIDM2LjIgMzkgNjQgMzlzNTItMTUuOCA2NC0zOWM1LjEtOS44IDE1LjQtMTcgMjcuNy0xN2MxNS4zIDAgMjcgMTAuOCAzMC4yIDIzLjhjNyAyNy44IDMyLjIgNDguMyA2Mi4xIDQ4LjNjMTAuOCAwIDIxLTIuNyAyOS44LTcuNGM4LjQtNC40IDE4LjktNC41IDI3LjYgLjljMTMgOCAxNy4xIDI1IDkuMiAzOEwzOTkuNyA0MDAgMzg0IDQwMGwtNDAuNCAwLTE3NS4xIDBMMTI4IDQwMGwtMTUuNyAwTDUuNCAyMjMuNmMtNy45LTEzLTMuOC0zMCA5LjItMzhjOC43LTUuMyAxOS4yLTUuMyAyNy42LS45YzguOSA0LjcgMTkgNy40IDI5LjggNy40YzI5LjkgMCA1NS4xLTIwLjUgNjIuMS00OC4zek0yNTYgMjI0czAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwek0xMTIgNDMybDI4OCAwIDQxLjQgNDEuNGM0LjIgNC4yIDYuNiAxMCA2LjYgMTZjMCAxMi41LTEwLjEgMjIuNi0yMi42IDIyLjZMODYuNiA1MTJDNzQuMSA1MTIgNjQgNTAxLjkgNjQgNDg5LjRjMC02IDIuNC0xMS44IDYuNi0xNkwxMTIgNDMyelwiXVxufTtcbmNvbnN0IGZhR2xhc3NlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnbGFzc2VzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTMwXCIsIFwiTTExOC42IDgwYy0xMS41IDAtMjEuNCA3LjktMjQgMTkuMUw1NyAyNjAuM2MyMC41LTYuMiA0OC4zLTEyLjMgNzguNy0xMi4zYzMyLjMgMCA2MS44IDYuOSA4Mi44IDEzLjVjMTAuNiAzLjMgMTkuMyA2LjcgMjUuNCA5LjJjMy4xIDEuMyA1LjUgMi40IDcuMyAzLjJjLjkgLjQgMS42IC43IDIuMSAxbC42IC4zIC4yIC4xYzAgMCAuMSAwIC4xIDBjMCAwIDAgMCAwIDBzMCAwIDAgMEwyNDcuOSAyODhzMCAwIDAgMGw2LjMtMTIuN2M1LjggMi45IDEwLjQgNy4zIDEzLjUgMTIuN2w0MC42IDBjMy4xLTUuMyA3LjctOS44IDEzLjUtMTIuN2w2LjMgMTIuN3MwIDAgMCAwYy02LjMtMTIuNy02LjMtMTIuNy02LjMtMTIuN3MwIDAgMCAwczAgMCAwIDBjMCAwIC4xIDAgLjEgMGwuMi0uMSAuNi0uM2MuNS0uMiAxLjItLjYgMi4xLTFjMS44LS44IDQuMi0xLjkgNy4zLTMuMmM2LjEtMi42IDE0LjgtNS45IDI1LjQtOS4yYzIxLTYuNiA1MC40LTEzLjUgODIuOC0xMy41YzMwLjQgMCA1OC4yIDYuMSA3OC43IDEyLjNMNDgxLjQgOTkuMWMtMi42LTExLjItMTIuNi0xOS4xLTI0LTE5LjFjLTMuMSAwLTYuMiAuNi05LjIgMS44TDQxNi45IDk0LjNjLTEyLjMgNC45LTI2LjMtMS4xLTMxLjItMTMuNHMxLjEtMjYuMyAxMy40LTMxLjJsMzEuMy0xMi41YzguNi0zLjQgMTcuNy01LjIgMjctNS4yYzMzLjggMCA2My4xIDIzLjMgNzAuOCA1Ni4ybDQzLjkgMTg4YzEuNyA3LjMgMi45IDE0LjcgMy41IDIyLjFjLjMgMS45IC41IDMuOCAuNSA1LjdsMCA2LjcgMCA0MS4zIDAgMTZjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsLTQ0LjMgMGMtNTkuNCAwLTEwOC41LTQ2LjQtMTExLjgtMTA1LjhMMzA2LjYgMzUybC0zNy4yIDAtMS4yIDIyLjJDMjY0LjkgNDMzLjYgMjE1LjggNDgwIDE1Ni4zIDQ4MEwxMTIgNDgwQzUwLjEgNDgwIDAgNDI5LjkgMCAzNjhsMC0xNiAwLTQxLjNMMCAzMDRjMC0xLjkgLjItMy44IC41LTUuN2MuNi03LjQgMS44LTE0LjggMy41LTIyLjFsNDMuOS0xODhDNTUuNSA1NS4zIDg0LjggMzIgMTE4LjYgMzJjOS4yIDAgMTguNCAxLjggMjcgNS4ybDMxLjMgMTIuNWMxMi4zIDQuOSAxOC4zIDE4LjkgMTMuNCAzMS4ycy0xOC45IDE4LjMtMzEuMiAxMy40TDEyNy44IDgxLjhjLTIuOS0xLjItNi0xLjgtOS4yLTEuOHpNNjQgMzI1LjRMNjQgMzY4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQ0LjMgMGMyNS41IDAgNDYuNS0xOS45IDQ3LjktNDUuM2wyLjUtNDUuNmMtMi4zLS44LTQuOS0xLjctNy41LTIuNWMtMTcuMi01LjQtMzkuOS0xMC41LTYzLjYtMTAuNWMtMjMuNyAwLTQ2LjIgNS4xLTYzLjIgMTAuNWMtMy4xIDEtNS45IDEuOS04LjUgMi45ek01MTIgMzY4bDAtNDIuNmMtMi42LS45LTUuNS0xLjktOC41LTIuOWMtMTctNS40LTM5LjUtMTAuNS02My4yLTEwLjVjLTIzLjcgMC00Ni40IDUuMS02My42IDEwLjVjLTIuNyAuOC01LjIgMS43LTcuNSAyLjVsMi41IDQ1LjZjMS40IDI1LjQgMjIuNSA0NS4zIDQ3LjkgNDUuM2w0NC4zIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6XCJdXG59O1xuY29uc3QgZmFDaGVzc0JvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLWJvYXJkJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNDNjXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDY0bDAgNjQgNjQgMCAwLTY0IDY0IDAgMCA2NCA2NCAwIDAtNjQgNjQgMCAwIDY0LTY0IDAgMCA2NCA2NCAwIDAgNjQtNjQgMCAwIDY0IDY0IDAgMCA2NC02NCAwIDAtNjQtNjQgMCAwIDY0LTY0IDAgMC02NC02NCAwIDAgNjQtNjQgMCAwLTY0IDY0IDAgMC02NC02NCAwIDAtNjQgNjQgMCAwLTY0LTY0IDAgMC02NCA2NCAwem02NCAxMjhsNjQgMCAwLTY0LTY0IDAgMCA2NHptMCA2NGwwLTY0LTY0IDAgMCA2NCA2NCAwem02NCAwbC02NCAwIDAgNjQgNjQgMCAwLTY0em0wIDBsNjQgMCAwLTY0LTY0IDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGQyXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAgOTYgMGMxNS4xIDAgMjguNS02LjkgMzcuMy0xNy44QzM0MC40IDQ2Mi4yIDMyMCA0MTcuNSAzMjAgMzY4YzAtNTQuNyAyNC45LTEwMy41IDY0LTEzNS44TDM4NCA0OGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAwek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTEyLTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTgwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzg1LjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhUGVyc29uQ2hhbGtib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2hhbGtib2FyZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzZFwiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzODRsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjg4IDU2IDAgNjQgMCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtNjQgMTkyIDAgMCAxOTItMTkyIDAgMC0zMi02NCAwIDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzY4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODAtNzYuOSAwLTY1LjkgMGMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMMTIwIDI1Ni45IDEyMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpcIl1cbn07XG5jb25zdCBmYU1hcnNTdHJva2VSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLXN0cm9rZS1yaWdodCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzk4OTcsIFwibWFycy1zdHJva2UtaFwiXSwgXCJmMjJiXCIsIFwiTTIwOCAzNjhhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0em0xNzQuNC04OEMzNzAuNyAzNjUuOCAyOTcuMSA0MzIgMjA4IDQzMmMtOTcuMiAwLTE3Ni03OC44LTE3Ni0xNzZzNzguOC0xNzYgMTc2LTE3NmM4OS4xIDAgMTYyLjcgNjYuMiAxNzQuNCAxNTJsMzMuNiAwIDAtNTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDU2IDMyIDAgMC01NmMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTgwIDgwYy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4ycy0xNC44LTEyLjUtMTQuOC0yMi4ybDAtNTYtMzIgMCAwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNTYtMzMuNiAwelwiXVxufTtcbmNvbnN0IGZhTWFyc1N0cm9rZUggPSBmYU1hcnNTdHJva2VSaWdodDtcbmNvbnN0IGZhSGFuZEJhY2tGaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtYmFjay1maXN0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJoYW5kLXJvY2tcIl0sIFwiZjI1NVwiLCBcIk0xNDQgMEMxMTcuNSAwIDk2IDIxLjUgOTYgNDhsMCA0OCAwIDI4LjVMOTYgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMjYuNy05IDcuNUM0MC40IDE2OSAzMiAxODcgMzIgMjA2TDMyIDI0NGMwIDM4IDE2LjkgNzQgNDYuMSA5OC4zTDEyOCAzODRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEwNS4zYzQ2LjktMTkgODAtNjUgODAtMTE4LjdsMC04MCAwLTE2IDAtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhjLTEyLjQgMC0yMy42IDQuNy0zMi4xIDEyLjNDMzUwIDgzLjUgMzI5LjMgNjQgMzA0IDY0Yy0xMi40IDAtMjMuNiA0LjctMzIuMSAxMi4zQzI3MCA1MS41IDI0OS4zIDMyIDIyNCAzMmMtMTIuNCAwLTIzLjYgNC43LTMyLjEgMTIuM0MxOTAgMTkuNSAxNjkuMyAwIDE0NCAwelwiXVxufTtcbmNvbnN0IGZhSGFuZFJvY2sgPSBmYUhhbmRCYWNrRmlzdDtcbmNvbnN0IGZhU3F1YXJlQ2FyZXRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2FyZXQtdXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhcmV0LXNxdWFyZS11cFwiXSwgXCJmMTUxXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIyNCAxNjBjNi43IDAgMTMgMi44IDE3LjYgNy43bDEwNCAxMTJjNi41IDcgOC4yIDE3LjIgNC40IDI1LjlzLTEyLjUgMTQuNC0yMiAxNC40bC0yMDggMGMtOS41IDAtMTguMi01LjctMjItMTQuNHMtMi4xLTE4LjkgNC40LTI1LjlsMTA0LTExMmM0LjUtNC45IDEwLjktNy43IDE3LjYtNy43elwiXVxufTtcbmNvbnN0IGZhQ2FyZXRTcXVhcmVVcCA9IGZhU3F1YXJlQ2FyZXRVcDtcbmNvbnN0IGZhQ2xvdWRTaG93ZXJzV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtc2hvd2Vycy13YXRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlNFwiLCBcIk0yMjQgMGMzOC42IDAgNzEuOSAyMi44IDg3LjIgNTUuN0MzMjUuNyA0MS4xIDM0NS44IDMyIDM2OCAzMmMzOC43IDAgNzEgMjcuNSA3OC40IDY0bDEuNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0zMjAgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMwLTUzIDQzLTk2IDk2LTk2ek0xNDAuNiAyOTIuM2wtNDggODBjLTYuOCAxMS40LTIxLjYgMTUtMzIuOSA4LjJzLTE1LjEtMjEuNi04LjItMzIuOWw0OC04MGM2LjgtMTEuNCAyMS42LTE1LjEgMzIuOS04LjJzMTUuMSAyMS42IDguMiAzMi45em0zMjcuOC0zMi45YzExLjQgNi44IDE1IDIxLjYgOC4yIDMyLjlsLTQ4IDgwYy02LjggMTEuNC0yMS42IDE1LTMyLjkgOC4ycy0xNS0yMS42LTguMi0zMi45bDQ4LTgwYzYuOC0xMS40IDIxLjYtMTUuMSAzMi45LTguMnpNMjUyLjYgMjkyLjNsLTQ4IDgwYy02LjggMTEuNC0yMS42IDE1LTMyLjkgOC4ycy0xNS4xLTIxLjYtOC4yLTMyLjlsNDgtODBjNi44LTExLjQgMjEuNi0xNS4xIDMyLjktOC4yczE1LjEgMjEuNiA4LjIgMzIuOXptMTAzLjgtMzIuOWMxMS40IDYuOCAxNSAyMS42IDguMiAzMi45bC00OCA4MGMtNi44IDExLjQtMjEuNiAxNS0zMi45IDguMnMtMTUuMS0yMS42LTguMi0zMi45bDQ4LTgwYzYuOC0xMS40IDIxLjYtMTUuMSAzMi45LTguMnpNMzA2LjUgNDIxLjlDMzI5IDQzNy40IDM1Ni41IDQ0OCAzODQgNDQ4YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xYzAgMCAwIDAgMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNTAxLjcgNDE3IDUxMiAzODQgNTEyYy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2MwIDAgMCAwIDAgMEMxMzYuNyA0MzcuMiAxNjUuMSA0NDggMTkyIDQ0OGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG5jb25zdCBmYUNoYXJ0QmFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LWJhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYmFyLWNoYXJ0XCJdLCBcImYwODBcIiwgXCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptOTYgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgNjRsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDk2bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUJhckNoYXJ0ID0gZmFDaGFydEJhcjtcbmNvbnN0IGZhSGFuZHNCdWJibGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWJ1YmJsZXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhhbmRzLXdhc2hcIl0sIFwiZTA1ZVwiLCBcIk00MTYgNjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em05NiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTMyIDE2MGwuMSA3Mi42Yy4xIDUyLjIgMjQgMTAxIDY0IDEzMy4xYy0uMS0xLjktLjEtMy44LS4xLTUuN2wwLThjMC03MS44IDM3LTEzOC42IDk3LjktMTc2LjdsNjAuMi0zNy42YzguNi01LjQgMTcuOS04LjQgMjcuMy05LjRsNDUuOS03OS41YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOGwtNzggMTM1LjFjLTMuMyA1LjctMTAuNyA3LjctMTYuNCA0LjRzLTcuNy0xMC43LTQuNC0xNi40bDYyLTEwNy40YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44UzIxNCA1IDIwNy40IDE2LjVsLTY4IDExNy44czAgMCAwIDBzMCAwIDAgMGwtNDMuMyA3NUw5NiAxNjBjMC0xNy43LTE0LjQtMzItMzItMzJzLTMyIDE0LjQtMzIgMzJ6TTMzMi4xIDg4LjVMMzA3LjUgMTMxYzEzLjkgNC41IDI2LjQgMTMuNyAzNC43IDI3Yy45IDEuNSAxLjggMi45IDIuNSA0LjRsMjguOS01MGM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4Ljh6bTQ2LjQgNjMuN2wtMjYuOCA0Ni40Yy0uNiA2LTIuMSAxMS44LTQuMyAxNy40bDQuNyAwIDEzLjMgMHMwIDAgMCAwbDMxLjggMCAyMy0zOS44YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOHpNMzE1LjEgMTc1Yy05LjQtMTUtMjkuMS0xOS41LTQ0LjEtMTAuMmwtNjAuMiAzNy42QzE1OS4zIDIzNC43IDEyOCAyOTEuMiAxMjggMzUybDAgOGMwIDguOSAuOCAxNy42IDIuMiAyNi4xYzM1LjQgOC4yIDYxLjggNDAgNjEuOCA3Ny45YzAgNi4zLS43IDEyLjUtMi4xIDE4LjRDMjE1LjEgNTAxIDI0Ni4zIDUxMiAyODAgNTEybDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC05MiAwYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDEyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMjQgMGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMmwxNTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTU2IDBjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJsMTI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEzNiAwczAgMCAwIDBzMCAwIDAgMGwtOTMuMiAwTDMwNSAyMTkuMWMxNS05LjQgMTkuNS0yOS4xIDEwLjItNDQuMXpcIl1cbn07XG5jb25zdCBmYUhhbmRzV2FzaCA9IGZhSGFuZHNCdWJibGVzO1xuY29uc3QgZmFMZXNzVGhhbkVxdWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xlc3MtdGhhbi1lcXVhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUzN1wiLCBcIk0zOTUuOSA5My43YzE2LjQtNi42IDI0LjQtMjUuMiAxNy44LTQxLjZzLTI1LjItMjQuNC00MS42LTE3LjhsLTMyMCAxMjhDNDAgMTY3LjEgMzIgMTc4LjkgMzIgMTkyczggMjQuOSAyMC4xIDI5LjdsMzIwIDEyOGMxNi40IDYuNiAzNS0xLjQgNDEuNi0xNy44cy0xLjQtMzUtMTcuOC00MS42TDE1MC4yIDE5MiAzOTUuOSA5My43ek0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2elwiXVxufTtcbmNvbnN0IGZhVHJhaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaW4nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjg2NDZdLCBcImYyMzhcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDM1MmMwIDQ4IDM1LjIgODcuNyA4MS4xIDk0LjlsLTQ2IDQ2QzI4LjEgNDk5LjkgMzMuMSA1MTIgNDMgNTEybDM5LjcgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNEwxNjAgNDQ4bDEyOCAwIDU0LjYgNTQuNmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRsMzkuNyAwYzEwIDAgMTUtMTIuMSA3LjktMTkuMWwtNDYtNDZjNDYtNy4xIDgxLjEtNDYuOSA4MS4xLTk0LjlsMC0yNTZjMC01My00My05Ni05Ni05Nkw5NiAwek02NCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnpNMjI0IDI4OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFFeWVMb3dWaXNpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXllLWxvdy12aXNpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImxvdy12aXNpb25cIl0sIFwiZjJhOFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDUyNS42IDM4Ni43YzM5LjYtNDAuNiA2Ni40LTg2LjEgNzkuOS0xMTguNGMzLjMtNy45IDMuMy0xNi43IDAtMjQuNmMtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMUM0NjUuNSA2OC44IDQwMC44IDMyIDMyMCAzMmMtNjguMiAwLTEyNSAyNi4zLTE2OS4zIDYwLjhMMzguOCA1LjF6TTIyMyAxNDkuNWM0OC42LTQ0LjMgMTIzLTUwLjggMTc5LjMtMTEuN2M2MC44IDQyLjQgNzguOSAxMjMuMiA0NC4yIDE4Ni45TDQwOCAyOTQuNWM4LjQtMTkuMyAxMC42LTQxLjQgNC44LTYzLjNjLTExLjEtNDEuNS00Ny44LTY5LjQtODguNi03MS4xYy01LjgtLjItOS4yIDYuMS03LjQgMTEuN2MyLjEgNi40IDMuMyAxMy4yIDMuMyAyMC4zYzAgMTAuMi0yLjQgMTkuOC02LjYgMjguM0wyMjMgMTQ5LjV6bTIyMy4xIDI5OEw4My4xIDE2MS41Yy0xMSAxNC40LTIwLjUgMjguNy0yOC40IDQyLjJsMzM5IDI2NS43YzE4LjctNS41IDM2LjItMTMgNTIuNi0yMS44ek0zNC41IDI2OC4zYzE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjFDMTc0LjUgNDQzLjIgMjM5LjIgNDgwIDMyMCA0ODBjMy4xIDAgNi4xLS4xIDkuMi0uMkwzMy4xIDI0Ny44Yy0xLjggNi44LTEuMyAxNCAxLjQgMjAuNXpcIl1cbn07XG5jb25zdCBmYUxvd1Zpc2lvbiA9IGZhRXllTG93VmlzaW9uO1xuY29uc3QgZmFDcm93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nyb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MjBcIiwgXCJNNDU2IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4bDAgMjkuMkwxMi41IDM5MC42Yy0xNCAxMC44LTE2LjYgMzAuOS01LjkgNDQuOXMzMC45IDE2LjYgNDQuOSA1LjlMMTI2LjEgMzg0bDEzMy4xIDAgNDYuNiAxMTMuMWM1IDEyLjMgMTkuMSAxOC4xIDMxLjMgMTMuMXMxOC4xLTE5LjEgMTMuMS0zMS4zTDMxMS4xIDM4NGw0MC45IDBjMS4xIDAgMi4xIDAgMy4yIDBsNDYuNiAxMTMuMmM1IDEyLjMgMTkuMSAxOC4xIDMxLjMgMTMuMXMxOC4xLTE5LjEgMTMuMS0zMS4zbC00Mi0xMDJDNDg0LjkgMzU0LjEgNTQ0IDI4MCA1NDQgMTkybDAtNjQgMC04IDgwLjUtMjAuMWM4LjYtMi4xIDEzLjgtMTAuOCAxMS42LTE5LjRDNjI5IDUyIDYwMy40IDMyIDU3NCAzMmwtNTAuMSAwQzUwNy43IDEyLjUgNDgzLjMgMCA0NTYgMHptMCA2NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xuY29uc3QgZmFTYWlsYm9hdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzYWlsYm9hdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTQ0NVwiLCBcIk0yNTYgMTZjMC03IDQuNS0xMy4yIDExLjItMTUuM3MxMy45IC40IDE3LjkgNi4xbDIyNCAzMjBjMy40IDQuOSAzLjggMTEuMyAxLjEgMTYuNnMtOC4yIDguNi0xNC4yIDguNmwtMjI0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyMHpNMjEyLjEgOTYuNWM3IDEuOSAxMS45IDguMiAxMS45IDE1LjVsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2TDgwIDM1MmMtNS43IDAtMTEtMy0xMy44LThzLTIuOS0xMS0uMS0xNmwxMjgtMjI0YzMuNi02LjMgMTEtOS40IDE4LTcuNXpNNS43IDQwNC4zQzIuOCAzOTQuMSAxMC41IDM4NCAyMS4xIDM4NGw1MzMuOCAwYzEwLjYgMCAxOC4zIDEwLjEgMTUuNCAyMC4zbC00IDE0LjNDNTUwLjcgNDczLjkgNTAwLjQgNTEyIDQ0MyA1MTJMMTMzIDUxMkM3NS42IDUxMiAyNS4zIDQ3My45IDkuNyA0MTguN2wtNC0xNC4zelwiXVxufTtcbmNvbnN0IGZhV2luZG93UmVzdG9yZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5kb3ctcmVzdG9yZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjJkMlwiLCBcIk00MzIgNjRMMjA4IDY0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi02NCAwIDAtMTZjMC00NC4yIDM1LjgtODAgODAtODBMNDMyIDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAyMjRjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDAgMC02NCAxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTIyNGMwLTguOC03LjItMTYtMTYtMTZ6TTAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJ6bTY0IDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wbHVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjE4NDYsIFwicGx1cy1zcXVhcmVcIl0sIFwiZjBmZVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDAgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG5jb25zdCBmYVBsdXNTcXVhcmUgPSBmYVNxdWFyZVBsdXM7XG5jb25zdCBmYVRvcmlpR2F0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3JpaS1nYXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTk2MV0sIFwiZjZhMVwiLCBcIk0wIDgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2IDAgMCA2NCA2NCAwIDAtNjQgOTYgMCAwIDY0IDY0IDAgMC02NCA5NiAwIDAgNjQgNjQgMCAwLTY0IDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02Ni42QzUxMiA2IDUwNiAwIDQ5OC42IDBjLTEuNyAwLTMuNCAuMy01IDFsLTQ5IDE5LjZDNDI1LjcgMjguMSA0MDUuNSAzMiAzODUuMiAzMkwxMjYuOCAzMmMtMjAuNCAwLTQwLjUtMy45LTU5LjQtMTEuNEwxOC40IDFjLTEuNi0uNi0zLjMtMS01LTFDNiAwIDAgNiAwIDEzLjRMMCA4MHpNNjQgMjg4bDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTIgMjU2IDAgMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE5MiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwelwiXVxufTtcbmNvbnN0IGZhRnJvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmcm9nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTJlXCIsIFwiTTM2OCAzMmM0MS43IDAgNzUuOSAzMS44IDc5LjcgNzIuNWw4NS42IDI2LjNjMjUuNCA3LjggNDIuOCAzMS4zIDQyLjggNTcuOWMwIDIxLjgtMTEuNyA0MS45LTMwLjcgNTIuN0w0MDAuOCAzMjMuNSA0OTMuMyA0MTZsNTAuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNEwzNDYuOSAzNjAuMmMxMS43LTM2IDMuMi03Ny4xLTI1LjQtMTA1LjdjLTQwLjYtNDAuNi0xMDYuMy00MC42LTE0Ni45LS4xTDEwMSAzMjQuNGMtNi40IDYuMS02LjcgMTYuMi0uNiAyMi42czE2LjIgNi42IDIyLjYgLjZsNzMuOC03MC4yIC4xLS4xIC4xLS4xYzMuNS0zLjUgNy4zLTYuNiAxMS4zLTkuMmMyNy45LTE4LjUgNjUuOS0xNS40IDkwLjUgOS4yYzI0LjcgMjQuNyAyNy43IDYyLjkgOSA5MC45Yy0yLjYgMy44LTUuNiA3LjUtOSAxMC45TDI2MS44IDQxNmw5MC4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEMwIDI0OS42IDEyNyAxMTIuOSAyODkuMyA5Ny41QzI5Ni4yIDYwLjIgMzI4LjggMzIgMzY4IDMyem0wIDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFCdWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVja2V0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNGNmXCIsIFwiTTk2IDE1MmwwIDgtNDggMCAwLThDNDggNjguMSAxMTYuMSAwIDIwMCAwbDQ4IDBjODMuOSAwIDE1MiA2OC4xIDE1MiAxNTJsMCA4LTQ4IDAgMC04YzAtNTcuNC00Ni42LTEwNC0xMDQtMTA0bC00OCAwQzE0Mi42IDQ4IDk2IDk0LjYgOTYgMTUyek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNS4xIDBMMzg4LjUgNDY5Yy0yLjYgMjQuNC0yMy4yIDQzLTQ3LjcgNDNsLTIzMy42IDBjLTI0LjYgMC00NS4yLTE4LjUtNDcuNy00M0wzNy4xIDI1NiAzMiAyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhSW1hZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW1hZ2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwM2VcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTMyMy44IDIwMi41Yy00LjUtNi42LTExLjktMTAuNS0xOS44LTEwLjVzLTE1LjQgMy45LTE5LjggMTAuNWwtODcgMTI3LjZMMTcwLjcgMjk3Yy00LjYtNS43LTExLjUtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRzMTIuNCAxMy42IDIxLjYgMTMuNmw5NiAwIDMyIDAgMjA4IDBjOC45IDAgMTcuMS00LjkgMjEuMi0xMi44czMuNi0xNy40LTEuNC0yNC43bC0xMjAtMTc2ek0xMTIgMTkyYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG5jb25zdCBmYU1pY3JvcGhvbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWljcm9waG9uZScsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjEzMFwiLCBcIk0xOTIgMEMxMzkgMCA5NiA0MyA5NiA5NmwwIDE2MGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTYwYzAtNTMtNDMtOTYtOTYtOTZ6TTY0IDIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgODkuMSA2Ni4yIDE2Mi43IDE1MiAxNzQuNGwwIDMzLjYtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC0zMy42Yzg1LjgtMTEuNyAxNTItODUuMyAxNTItMTc0LjRsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4cy0xMjgtNTcuMy0xMjgtMTI4bDAtNDB6XCJdXG59O1xuY29uc3QgZmFDb3cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY293JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MDA0XSwgXCJmNmM4XCIsIFwiTTk2IDIyNGwwIDMyIDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC04OC4yYzkuOSA2LjYgMjAuNiAxMiAzMiAxNi4xbDAgMjQuMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTYuOWM1LjMgLjYgMTAuNiAuOSAxNiAuOXMxMC43LS4zIDE2LS45bDAgMTYuOWMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjQuMmMxMS40LTQgMjIuMS05LjQgMzItMTYuMWwwIDg4LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2MCAzMiAzMiAwIDQ5LjVjMCA5LjUgMi44IDE4LjcgOC4xIDI2LjZMNTMwIDQyN2M4LjggMTMuMSAyMy41IDIxIDM5LjMgMjFjMjIuNSAwIDQxLjktMTUuOSA0Ni4zLTM4bDIwLjMtMTAxLjZjMi42LTEzLS4zLTI2LjUtOC0zNy4zbC0zLjktNS41IDAtODEuNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE0LjQtNTIuOS03NC4xQzQ5NiA4Ni41IDQ1Mi40IDY0IDQwNS45IDY0TDI3MiA2NGwtMTYgMC02NCAwLTQ4IDBDNzcuNyA2NCAyNCAxMTcuNyAyNCAxODRsMCA1NEM5LjQgMjQ5LjggMCAyNjcuOCAwIDI4OGwwIDE3LjZjMCA4IDYuNCAxNC40IDE0LjQgMTQuNEM0Ni4yIDMyMCA3MiAyOTQuMiA3MiAyNjIuNGwwLTYuNCAwLTMyIDAtNDBjMC0yNC4zIDEyLjEtNDUuOCAzMC41LTU4LjlDOTguMyAxMzUuOSA5NiAxNDcuNyA5NiAxNjBsMCA2NHpNNTYwIDMzNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0xNjYuNiAxNjYuNmMtNC4yLTQuMi02LjYtMTAtNi42LTE2YzAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDE3OC43IDBjMTIuNSAwIDIyLjYgMTAuMSAyMi42IDIyLjZjMCA2LTIuNCAxMS44LTYuNiAxNmwtMjMuNCAyMy40QzMzMi4yIDIxMS44IDMwMi43IDIyNCAyNzIgMjI0cy02MC4yLTEyLjItODEuOS0zMy45bC0yMy40LTIzLjR6XCJdXG59O1xuY29uc3QgZmFDYXJldFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcmV0LXVwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJmMGQ4XCIsIFwiTTE4Mi42IDEzNy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGwyNTYgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC0xMjgtMTI4elwiXVxufTtcbmNvbnN0IGZhU2NyZXdkcml2ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NyZXdkcml2ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk2OTFdLCBcImY1NGFcIiwgXCJNNDY1IDdjLTguNS04LjUtMjItOS40LTMxLjYtMi4xbC0xMDQgODBjLTUuOSA0LjUtOS40IDExLjYtOS40IDE5bDAgNTQuMS04NS42IDg1LjZjNi43IDQuMiAxMyA5LjMgMTguOCAxNS4xczEwLjkgMTIuMiAxNS4xIDE4LjhMMzUzLjkgMTkybDU0LjEgMGM3LjUgMCAxNC41LTMuNSAxOS05LjRsODAtMTA0YzcuNC05LjYgNi41LTIzLjEtMi4xLTMxLjZMNDY1IDd6TTEyMS40IDI4MS40bC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzMwLjItMzAuMiAzMC4yLTc5LjEgMC0xMDkuM3MtNzkuMS0zMC4yLTEwOS4zIDB6XCJdXG59O1xuY29uc3QgZmFGb2xkZXJDbG9zZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9sZGVyLWNsb3NlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTE4NVwiLCBcIk00NDggNDgwTDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJsNTEyIDAgMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjR6bTY0LTMyMEwwIDE2MCAwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEyOCAwYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZsMTkuMiAyNS42YzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjR6XCJdXG59O1xuY29uc3QgZmFIb3VzZVRzdW5hbWkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtdHN1bmFtaScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUxNVwiLCBcIk04MC44IDEzNi41QzEwNC45IDkzLjggMTUyLjYgNjQgMjA5IDY0YzE2LjkgMCAzMy4xIDIuNyA0OC4yIDcuN2MxNi44IDUuNSAzNC45LTMuNiA0MC40LTIwLjRzLTMuNi0zNC45LTIwLjQtNDAuNEMyNTUuOCAzLjggMjMyLjggMCAyMDkgMEM5NS4yIDAgMCA4OCAwIDIwMGMwIDkxLjYgNTMuNSAxNzIuMSAxNDIuMiAxOTQuMWMxMy40IDMuOCAyNy41IDUuOSA0Mi4yIDUuOWMuNyAwIDEuNCAwIDIuMS0uMWMxLjggMCAzLjcgLjEgNS41IC4xYzAgMCAwIDAgMCAwYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjUtMjcuMy0xMC4xLTM5LjItMS43YzAgMCAwIDAgMCAwQzQzOS40IDMyNS4yIDQxMC45IDMzNiAzODQgMzM2Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjFjLTExLjEtNy45LTI1LjktNy45LTM3IDBjLTIyLjQgMTUuNS00OS45IDI2LjEtNzcuNCAyNi4xYzAgMC0uMSAwLS4xIDBjLTEyLjQgMC0yNC0xLjUtMzQuOS00LjNDMTIxLjYgMzIwLjIgOTYgMjg3IDk2IDI0OGMwLTQ4LjUgMzkuNS04OCA4OC40LTg4YzEzLjUgMCAyNi4xIDMgMzcuNSA4LjNjMTYgNy41IDM1LjEgLjYgNDIuNS0xNS41cy42LTM1LjEtMTUuNS00Mi41QzIyOS4zIDEwMS4xIDIwNy40IDk2IDE4NC40IDk2Yy00MCAwLTc2LjQgMTUuNC0xMDMuNiA0MC41em0yNTItMTguMWMtOC4xIDYtMTIuOCAxNS41LTEyLjggMjUuNmwwIDEyMWMxLjYgMSAzLjMgMiA0LjggMy4xYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjMgNzguMSAzLjRjMTAuNiA4LjggMjQuMiAxNS42IDM3LjMgMTguNmM1LjggMS40IDExLjIgMy40IDE2LjIgNi4yYy43LTIuNyAxLjEtNS41IDEuMS04LjRsLS40LTE0NGMwLTEwLTQuNy0xOS40LTEyLjctMjUuNWwtOTUuNS03MmMtMTEuNC04LjYtMjcuMS04LjYtMzguNSAwbC05NiA3MnpNMzg0IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI0NyA0MzcuNCAyMTkuNSA0NDggMTkyIDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFjMCAwIDAgMCAwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgNTAxLjcgMTU5IDUxMiAxOTIgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43YzAgMCAwIDAgMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4elwiXVxufTtcbmNvbnN0IGZhU3F1YXJlTmZpID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1uZmknLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1NzZcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTc1LjcgNjQuNkM2OC44IDE2Mi41IDY0IDE2OC44IDY0IDE3NmwwIDE2MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTAyLjIgNjYuMyAxMTAuNWMzLjcgNi4yIDExLjEgOS4xIDE4IDcuMnMxMS43LTguMiAxMS43LTE1LjRsMC0xNjBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxMDIuMkw5My43IDE2Ny44Yy0zLjctNi4yLTExLjEtOS4xLTE4LTcuMnpNMjI0IDE3NmwwIDY0IDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwIDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC0zMiA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2MCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMTYwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0xNjB6XCJdXG59O1xuY29uc3QgZmFBcnJvd1VwRnJvbUdyb3VuZFdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGI1XCIsIFwiTTI4OCAzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yMTAuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNTYgMTA5LjMgMjU2IDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnptLTE4LjUgNjkuOUMyNDcgNDM3LjQgMjE5LjUgNDQ4IDE5MiA0NDhjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xYzAgMCAwIDAgMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzEyNi41IDUwMS43IDE1OSA1MTIgMTkyIDUxMmMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC41IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS40LTI3LjMtMTAuMS0zOS4yLTEuN2MwIDAgMCAwIDAgMEM0MzkuNCA0MzcuMiA0MTAuOSA0NDggMzg0IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwek0xOTIgMTkyTDQ4IDE5MmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhMMCA0MjVjNS4zLTMuMSAxMS4yLTUuNCAxNy41LTYuOWMxMy4xLTMuMSAyNi43LTkuOCAzNy4zLTE4LjZjMjIuMi0xOC43IDU0LjMtMjAuMSA3OC4xLTMuNGMxOCAxMi40IDQwLjEgMjAuMyA1OS4xIDIwLjNMMTkyIDE5MnptMzg0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNDQgMCAwIDIyNC41czAgMCAwIDBjMTkgMCA0MS4yLTcuOSA1OS4yLTIwLjNjMjMuOC0xNi43IDU1LjgtMTUuNCA3OC4xIDMuNGMxMC42IDguOCAyNC4yIDE1LjYgMzcuMyAxOC42YzYuMyAxLjUgMTIuMSAzLjggMTcuNSA2LjlsMC0xODV6XCJdXG59O1xuY29uc3QgZmFNYXJ0aW5pR2xhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzg2NCwgXCJnbGFzcy1tYXJ0aW5pLWFsdFwiXSwgXCJmNTdiXCIsIFwiTTMyIDBDMTkuMSAwIDcuNCA3LjggMi40IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45TDIyNCAyNjkuMyAyMjQgNDQ4bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTE3OC43TDUwMi42IDU0LjZjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDkyLjkgMCA0ODAgMEwzMiAwek0xNzMuMyAxMjhsLTY0LTY0IDI5My41IDAtNjQgNjQtMTY1LjUgMHpcIl1cbn07XG5jb25zdCBmYUdsYXNzTWFydGluaUFsdCA9IGZhTWFydGluaUdsYXNzO1xuY29uc3QgZmFSb3RhdGVMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdGF0ZS1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJyb3RhdGUtYmFja1wiLCBcInJvdGF0ZS1iYWNrd2FyZFwiLCBcInVuZG8tYWx0XCJdLCBcImYyZWFcIiwgXCJNNDguNSAyMjRMNDAgMjI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwxNiA3MmMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJMOTguNiA5Ni42Yzg3LjYtODYuNSAyMjguNy04Ni4yIDMxNS44IDFjODcuNSA4Ny41IDg3LjUgMjI5LjMgMCAzMTYuOHMtMjI5LjMgODcuNS0zMTYuOCAwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwYzYyLjUgNjIuNSAxNjMuOCA2Mi41IDIyNi4zIDBzNjIuNS0xNjMuOCAwLTIyNi4zYy02Mi4yLTYyLjItMTYyLjctNjIuNS0yMjUuMy0xTDE4NSAxODNjNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMnMtMTIuNSAxNC44LTIyLjIgMTQuOEw0OC41IDIyNHpcIl1cbn07XG5jb25zdCBmYVJvdGF0ZUJhY2sgPSBmYVJvdGF0ZUxlZnQ7XG5jb25zdCBmYVJvdGF0ZUJhY2t3YXJkID0gZmFSb3RhdGVMZWZ0O1xuY29uc3QgZmFVbmRvQWx0ID0gZmFSb3RhdGVMZWZ0O1xuY29uc3QgZmFUYWJsZUNvbHVtbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtY29sdW1ucycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29sdW1uc1wiXSwgXCJmMGRiXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em02NCA2NGwwIDI1NiAxNjAgMCAwLTI1Nkw2NCAxNjB6bTM4NCAwbC0xNjAgMCAwIDI1NiAxNjAgMCAwLTI1NnpcIl1cbn07XG5jb25zdCBmYUNvbHVtbnMgPSBmYVRhYmxlQ29sdW1ucztcbmNvbnN0IGZhTGVtb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVtb24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc4MTldLCBcImYwOTRcIiwgXCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0Yy02LjYgMC0xMyAxLTE5IDIuOWMtMjIuNSA3LTQ4LjEgMTQuOS03MSA5Yy03NS4yLTE5LjEtMTU2LjQgMTEtMjEzLjcgNjguM1MtNy4yIDI1MC44IDExLjkgMzI2YzUuOCAyMi45LTIgNDguNC05IDcxQzEgNDAzIDAgNDA5LjQgMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRjNi42IDAgMTMtMSAxOS4xLTIuOWMyMi41LTcgNDguMS0xNC45IDcxLTljNzUuMiAxOS4xIDE1Ni40LTExIDIxMy43LTY4LjNzODcuNS0xMzguNSA2OC4zLTIxMy43Yy01LjgtMjIuOSAyLTQ4LjQgOS03MWMxLjktNiAyLjktMTIuNCAyLjktMTkuMXpNMjEyLjUgMTI3LjRjLTU0LjYgMTYtMTAxLjEgNjIuNS0xMTcuMSAxMTcuMUM5Mi45IDI1MyA4NCAyNTcuOCA3NS41IDI1NS40UzYyLjIgMjQ0IDY0LjYgMjM1LjVjMTkuMS02NS4xIDczLjctMTE5LjggMTM4LjktMTM4LjljOC41LTIuNSAxNy40IDIuNCAxOS45IDEwLjlzLTIuNCAxNy40LTEwLjkgMTkuOXpcIl1cbn07XG5jb25zdCBmYUhlYWRTaWRlTWFzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFkLXNpZGUtbWFzaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTA2M1wiLCBcIk0zMiAyMjQuMmMwLTIyLjIgMy4yLTQzLjYgOS4yLTYzLjlMMjYyLjIgMzIxYy00IDkuNS02LjIgMjAtNi4yIDMxbDAgMTYwLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTcyLjdjMC0xNi43LTYuOS0zMi41LTE3LjEtNDUuOEM0OC42IDMyMi40IDMyIDI3NC4xIDMyIDIyNC4yem0yNDguMyA3MC40TDUzIDEyOS4zQzg4LjcgNTMgMTY2LjIgMCAyNTYgMGwyNCAwYzk1LjIgMCAxODEuMiA2OS4zIDE5Ny4zIDE2MC4yYzIuMyAxMyA2LjggMjUuNyAxNS4xIDM2bDQyIDUyLjZjNS40IDYuNyA4LjYgMTQuOCA5LjQgMjMuMkwzMzYgMjcyYy0yMS43IDAtNDEuMyA4LjYtNTUuNyAyMi42ek0zMzYgMzA0bDE5OCAwczAgMCAwIDBsMTAgMC0xOS43IDY0TDM2OCAzNjhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTQ2LjUgMC05LjggMzJMMzY4IDQzMmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjYuOCAwLS45IDIuOGMtOC4zIDI2LjktMzMuMSA0NS4yLTYxLjIgNDUuMkwyODggNTEybDAtMTYwYzAtMTQgNi0yNi43IDE1LjYtMzUuNGMwIDAgMCAwIDAgMGM4LjUtNy44IDE5LjktMTIuNiAzMi40LTEyLjZ6bTQ4LTgwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUhhbmRzaGFrZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kc2hha2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYyYjVcIiwgXCJNMzIzLjQgODUuMmwtOTYuOCA3OC40Yy0xNi4xIDEzLTE5LjIgMzYuNC03IDUzLjFjMTIuOSAxNy44IDM4IDIxLjMgNTUuMyA3LjhsOTkuMy03Ny4yYzctNS40IDE3LTQuMiAyMi41IDIuOHM0LjIgMTctMi44IDIyLjVsLTIwLjkgMTYuMkw1MTIgMzE2LjggNTEyIDEyOGwtLjcgMC0zLjktMi41TDQzNC44IDc5Yy0xNS4zLTkuOC0zMy4yLTE1LTUxLjQtMTVjLTIxLjggMC00MyA3LjUtNjAgMjEuMnptMjIuOCAxMjQuNGwtNTEuNyA0MC4yQzI2MyAyNzQuNCAyMTcuMyAyNjggMTkzLjcgMjM1LjZjLTIyLjItMzAuNS0xNi42LTczLjEgMTIuNy05Ni44bDgzLjItNjcuM2MtMTEuNi00LjktMjQuMS03LjQtMzYuOC03LjRDMjM0IDY0IDIxNS43IDY5LjYgMjAwIDgwbC03MiA0OCAwIDIyNCAyOC4yIDAgOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45YzQuNS00LjkgNy44LTEwLjYgOS45LTE2LjVjMTkuNCAxMyA0NS44IDEwLjMgNjIuMS03LjVjMTcuOS0xOS41IDE2LjYtNDkuOS0yLjktNjcuOGwtMTM0LjItMTIzek0xNiAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNkwwIDM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjI0LTgwIDB6TTQ4IDMyMGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6TTU0NCAxMjhsMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTIwOGMwLTguOC03LjItMTYtMTYtMTZsLTgwIDB6bTMyIDIwOGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbmNvbnN0IGZhR2VtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dlbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE0Ml0sIFwiZjNhNVwiLCBcIk0xMTYuNyAzMy44YzQuNS02LjEgMTEuNy05LjggMTkuMy05LjhsMjQwIDBjNy42IDAgMTQuOCAzLjYgMTkuMyA5LjhsMTEyIDE1MmM2LjggOS4yIDYuMSAyMS45LTEuNSAzMC40bC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJ6bTM4LjUgMzkuOGMtMy4zIDIuNS00LjIgNy0yLjEgMTAuNWw1Ny40IDk1LjZMNjMuMyAxOTJjLTQuMSAuMy03LjMgMy44LTcuMyA4czMuMiA3LjYgNy4zIDhsMTkyIDE2Yy40IDAgLjkgMCAxLjMgMGwxOTItMTZjNC4xLS4zIDcuMy0zLjggNy4zLThzLTMuMi03LjYtNy4zLThMMzAxLjUgMTc5LjhsNTcuNC05NS42YzIuMS0zLjUgMS4yLTguMS0yLjEtMTAuNXMtNy45LTItMTAuNyAxTDI1NiAxNzIuMiAxNjUuOSA3NC42Yy0yLjgtMy03LjQtMy40LTEwLjctMXpcIl1cbn07XG5jb25zdCBmYURvbGx5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RvbGx5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJkb2xseS1ib3hcIl0sIFwiZjQ3MlwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMGw3Mi45IDBjMjcuNSAwIDUyIDE3LjYgNjAuNyA0My44TDI1Ny43IDMyMGMzMC4xIC41IDU2LjggMTQuOSA3NCAzN2wyMDIuMS02Ny40YzE2LjgtNS42IDM0LjkgMy41IDQwLjUgMjAuMnMtMy41IDM0LjktMjAuMiA0MC41TDM1MiA0MTcuN2MtLjkgNTIuMi00My41IDk0LjMtOTYgOTQuM2MtNTMgMC05Ni00My05Ni05NmMwLTMwLjggMTQuNS01OC4yIDM3LTc1LjhMMTA0LjkgNjQgMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMnpNMjQ0LjggMTM0LjVjLTUuNS0xNi44IDMuNy0zNC45IDIwLjUtNDAuM0wzMTEgNzkuNGwxOS44IDYwLjkgNjAuOS0xOS44TDM3MS44IDU5LjZsNDUuNy0xNC44YzE2LjgtNS41IDM0LjkgMy43IDQwLjMgMjAuNWw0OS40IDE1Mi4yYzUuNSAxNi44LTMuNyAzNC45LTIwLjUgNDAuM0wzMzQuNSAzMDcuMmMtMTYuOCA1LjUtMzQuOS0zLjctNDAuMy0yMC41TDI0NC44IDEzNC41elwiXVxufTtcbmNvbnN0IGZhRG9sbHlCb3ggPSBmYURvbGx5O1xuY29uc3QgZmFTbW9raW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Ntb2tpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2ODRdLCBcImY0OGRcIiwgXCJNNDQ4IDMybDAgMTFjMCAzOC4yIDE1LjIgNzQuOCA0Mi4yIDEwMS44bDIxIDIxYzIxIDIxIDMyLjggNDkuNSAzMi44IDc5LjJsMCAxMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTExYzAtMTIuNy01LjEtMjQuOS0xNC4xLTMzLjlsLTIxLTIxQzQwNS45IDE1MS4xIDM4NCA5OC4xIDM4NCA0M2wwLTExYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTU3NiAyNTZsMC0xMWMwLTM4LjItMTUuMi03NC44LTQyLjItMTAxLjhsLTIxLTIxYy0yMS0yMS0zMi44LTQ5LjUtMzIuOC03OS4ybDAtMTFjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDExYzAgMTIuNyA1LjEgMjQuOSAxNC4xIDMzLjlsMjEgMjFjMzkgMzkgNjAuOSA5MS45IDYwLjkgMTQ3LjFsMCAxMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnpNMCA0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzJ6bTIyNCAwbDAgMzIgMTYwIDAgMC0zMi0xNjAgMHptMjg4LTY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFNaW5pbWl6ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaW5pbWl6ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29tcHJlc3MtYXJyb3dzLWFsdFwiXSwgXCJmNzhjXCIsIFwiTTQ1NiAyMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsNDAgNDBMNDQyLjMgNS43QzQ0NiAyIDQ1MC45IDAgNDU2IDBzMTAgMiAxMy43IDUuN2wzNi43IDM2LjdDNTEwIDQ2IDUxMiA1MC45IDUxMiA1NnMtMiAxMC01LjcgMTMuN0w0MzMgMTQzbDQwIDQwYzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJzLTEyLjUgMTQuOC0yMi4yIDE0Ljh6bTAgNjRjOS43IDAgMTguNSA1LjggMjIuMiAxNC44czEuNyAxOS4zLTUuMiAyNi4ybC00MCA0MCA3My40IDczLjRjMy42IDMuNiA1LjcgOC41IDUuNyAxMy43cy0yIDEwLTUuNyAxMy43bC0zNi43IDM2LjdDNDY2IDUxMCA0NjEuMSA1MTIgNDU2IDUxMnMtMTAtMi0xMy43LTUuN0wzNjkgNDMzbC00MCA0MGMtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMnMtMTQuOC0xMi41LTE0LjgtMjIuMmwwLTE0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNDQgMHptLTI1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTQwLTQwTDY5LjcgNTA2LjNDNjYgNTEwIDYxLjEgNTEyIDU2IDUxMnMtMTAtMi0xMy43LTUuN0w1LjcgNDY5LjdDMiA0NjYgMCA0NjEuMSAwIDQ1NnMyLTEwIDUuNy0xMy43TDc5IDM2OSAzOSAzMjljLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJzMTIuNS0xNC44IDIyLjItMTQuOGwxNDQgMHpNNTYgMjI0Yy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhzLTEuNy0xOS4zIDUuMi0yNi4ybDQwLTQwTDUuNyA2OS43QzIgNjYgMCA2MS4xIDAgNTZzMi0xMCA1LjctMTMuN0w0Mi4zIDUuN0M0NiAyIDUwLjkgMCA1NiAwczEwIDIgMTMuNyA1LjdMMTQzIDc5bDQwLTQwYzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJzMTQuOCAxMi41IDE0LjggMjIuMmwwIDE0NGMwIDEzLjMtMTAuNyAyNC0yNCAyNEw1NiAyMjR6XCJdXG59O1xuY29uc3QgZmFDb21wcmVzc0Fycm93c0FsdCA9IGZhTWluaW1pemU7XG5jb25zdCBmYU1vbnVtZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbnVtZW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNWE2XCIsIFwiTTE4MC43IDQuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGw4MCA4MGMyLjUgMi41IDQuMSA1LjggNC42IDkuM2w0MC4yIDMyMkw1NS45IDQxNiA5Ni4xIDk0Yy40LTMuNSAyLTYuOCA0LjYtOS4zbDgwLTgwek0xNTIgMjcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6TTMyIDQ0OGwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTbm93cGxvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbm93cGxvdycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjdkMlwiLCBcIk0yOTguOSA2NGw2OC42IDE2MEwyNTYgMjI0bC02NC02NCAwLTk2IDEwNi45IDB6TTQ0NS4xIDI0Mi43bC04Ny40LTIwNEMzNDcuNiAxNS4zIDMyNC41IDAgMjk4LjkgMEwxNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMTItMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMDYuOEMyNi4yIDMxNi44IDAgMzU1LjMgMCA0MDBjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJsMjU2IDBjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC0xNy4yLTMuOS0zMy41LTEwLjgtNDhsNDIuOCAwIDAgNTAuN2MwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2w1NC42IDU0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w1NzYgNDAyLjdsMC04Mi43IDAtODQuOEw2MzMgMTY0YzExLTEzLjggOC44LTMzLjktNS00NXMtMzMuOS04LjgtNDUgNWwtNTcgNzEuMmMtOS4xIDExLjMtMTQgMjUuNC0xNCA0MGwwIDUyLjgtNjQgMCAwLTMxLjNjLjEtMi40LS4yLTQuOC0uNi03LjFzLTEuMi00LjctMi4yLTYuOHpNMzY4IDM1MmMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMjU2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDhsMjU2IDB6TTE0NCA0MDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptMjE2IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptLTU2LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTIwMCA0MjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbmNvbnN0IGZhQW5nbGVzUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGVzLXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTg3LCBcImFuZ2xlLWRvdWJsZS1yaWdodFwiXSwgXCJmMTAxXCIsIFwiTTQ3MC42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0MDIuNyAyNTYgMjY1LjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MHptLTM1MiAxNjBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMjEwLjcgMjU2IDczLjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6XCJdXG59O1xuY29uc3QgZmFBbmdsZURvdWJsZVJpZ2h0ID0gZmFBbmdsZXNSaWdodDtcbmNvbnN0IGZhQ2FubmFiaXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FubmFiaXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NWZcIiwgXCJNMjU2IDBjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjFjMTUuOCAyMy41IDM2LjcgNjMuNyA0OS4yIDEwOWM3LjIgMjYuNCAxMS44IDU1LjIgMTAuNCA4NGMxMS41LTguOCAyMy43LTE2LjcgMzUuOC0yMy42YzQxLTIzLjMgODQuNC0zNi45IDExMi4yLTQyLjVjNS4yLTEgMTAuNyAuNiAxNC40IDQuNHM1LjQgOS4yIDQuNCAxNC41Yy01LjYgMjcuNy0xOS4zIDcwLjktNDIuNyAxMTEuN2MtOS4xIDE1LjktMTkuOSAzMS43LTMyLjQgNDYuM2MyNy44IDYuNiA1Mi40IDE3LjMgNjcuMiAyNS41YzUuMSAyLjggOC4yIDguMiA4LjIgMTRzLTMuMiAxMS4yLTguMiAxNGMtMTUuMiA4LjQtNDAuOSAxOS41LTY5LjggMjYuMWMtMjAuMiA0LjYtNDIuOSA3LjItNjUuMiA0LjZsOC4zIDMzLjFjMS41IDYuMS0uNiAxMi40LTUuNSAxNi40cy0xMS42IDQuNi0xNy4yIDEuOUwyODAgNDE3LjJsMCA3MC44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzAuOC01OC41IDI5LjFjLTUuNiAyLjgtMTIuMyAyLjEtMTcuMi0xLjlzLTctMTAuMy01LjUtMTYuNGw4LjMtMzMuMWMtMjIuMiAyLjYtNDUgMC02NS4yLTQuNmMtMjguOS02LjYtNTQuNi0xNy42LTY5LjgtMjYuMWMtNS4xLTIuOC04LjItOC4yLTguMi0xNHMzLjItMTEuMiA4LjItMTRjMTQuOC04LjIgMzkuNC0xOC44IDY3LjItMjUuNUM3OC45IDI5Ni4zIDY4LjEgMjgwLjUgNTkgMjY0LjZjLTIzLjQtNDAuOC0zNy4xLTg0LTQyLjctMTExLjdjLTEuMS01LjIgLjYtMTAuNyA0LjQtMTQuNXM5LjItNS40IDE0LjQtNC40YzI3LjkgNS41IDcxLjIgMTkuMiAxMTIuMiA0Mi41YzEyLjEgNi45IDI0LjMgMTQuNyAzNS44IDIzLjZjLTEuNC0yOC43IDMuMS01Ny42IDEwLjQtODRjMTIuNS00NS4zIDMzLjQtODUuNSA0OS4yLTEwOWMzLTQuNCA4LTcuMSAxMy4zLTcuMXpcIl1cbn07XG5jb25zdCBmYUNpcmNsZVBsYXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXBsYXknLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTQ2OSwgXCJwbGF5LWNpcmNsZVwiXSwgXCJmMTQ0XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpNMTg4LjMgMTQ3LjFjLTcuNiA0LjItMTIuMyAxMi4zLTEyLjMgMjAuOWwwIDE3NmMwIDguNyA0LjcgMTYuNyAxMi4zIDIwLjlzMTYuOCA0LjEgMjQuMy0uNWwxNDQtODhjNy4xLTQuNCAxMS41LTEyLjEgMTEuNS0yMC41cy00LjQtMTYuMS0xMS41LTIwLjVsLTE0NC04OGMtNy40LTQuNS0xNi43LTQuNy0yNC4zLS41elwiXVxufTtcbmNvbnN0IGZhUGxheUNpcmNsZSA9IGZhQ2lyY2xlUGxheTtcbmNvbnN0IGZhVGFibGV0cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZXRzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDkwXCIsIFwiTTYxNC4zIDI0N2MtNS4yIDcuOS0xNi4yIDguNS0yMi45IDEuOEwzOTEuMiA0OC42Yy02LjctNi43LTYuMi0xNy44IDEuOC0yMi45QzQxOC4xIDkuNCA0NDcuOSAwIDQ4MCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwYzAgMzIuMS05LjQgNjEuOS0yNS43IDg3ek01NjcgMjk0LjNjLTI1IDE2LjMtNTQuOSAyNS43LTg3IDI1LjdjLTg4LjQgMC0xNjAtNzEuNi0xNjAtMTYwYzAtMzIuMSA5LjQtNjEuOSAyNS43LTg3YzUuMi03LjkgMTYuMi04LjUgMjIuOS0xLjhMNTY4LjggMjcxLjRjNi43IDYuNyA2LjIgMTcuOC0xLjggMjIuOXpNMzAxLjUgMzY4YzkuNSAwIDE2LjkgOC4yIDE1IDE3LjVDMzAxLjEgNDU3LjggMjM2LjkgNTEyIDE2MCA1MTJTMTguOSA0NTcuOCAzLjUgMzg1LjVjLTItOS4zIDUuNS0xNy41IDE1LTE3LjVsMjgzLjEgMHptMC0zMkwxOC41IDMzNmMtOS41IDAtMTYuOS04LjItMTUtMTcuNUMxOC45IDI0Ni4yIDgzLjEgMTkyIDE2MCAxOTJzMTQxLjEgNTQuMiAxNTYuNSAxMjYuNWMyIDkuMy01LjUgMTcuNS0xNSAxNy41elwiXVxufTtcbmNvbnN0IGZhRXRoZXJuZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXRoZXJuZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3OTZcIiwgXCJNMCAyMjRMMCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMCAwLTExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTEyIDY0IDAgMC0xMTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDExMiA2NCAwIDAtMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMTIgNjQgMCAwLTExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTEyIDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE2MCA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhRXVyb1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXVyby1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbODM2NCwgXCJldXJcIiwgXCJldXJvXCJdLCBcImYxNTNcIiwgXCJNNDguMSAyNDBjLS4xIDIuNy0uMSA1LjMtLjEgOGwwIDE2YzAgMi43IDAgNS4zIC4xIDhMMzIgMjcyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4LjMgMEM4OS45IDQxOS45IDE3MCA0ODAgMjY0IDQ4MGwyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNCAwYy01Ny45IDAtMTA4LjItMzIuNC0xMzMuOS04MEwyNTYgMzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNDMuOCAwYy0uMS0yLjYtLjItNS4zLS4yLThsMC0xNmMwLTIuNyAuMS01LjQgLjItOEwyNTYgMjQwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMjUuOSAwYzI1LjctNDcuNiA3Ni04MCAxMzMuOS04MGwyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNCAwQzE3MCAzMiA4OS45IDkyLjEgNjAuMyAxNzZMMzIgMTc2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2LjEgMHpcIl1cbn07XG5jb25zdCBmYUV1ciA9IGZhRXVyb1NpZ247XG5jb25zdCBmYUV1cm8gPSBmYUV1cm9TaWduO1xuY29uc3QgZmFDaGFpciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFpcicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTY4MV0sIFwiZjZjMFwiLCBcIk0yNDggNDhsMCAyMDggNDggMCAwLTE5Ny4zYzIzLjkgMTMuOCA0MCAzOS43IDQwIDY5LjNsMCAxMjggNDggMCAwLTEyOEMzODQgNTcuMyAzMjYuNyAwIDI1NiAwTDE5MiAwQzEyMS4zIDAgNjQgNTcuMyA2NCAxMjhsMCAxMjggNDggMCAwLTEyOGMwLTI5LjYgMTYuMS01NS41IDQwLTY5LjNMMTUyIDI1Nmw0OCAwIDAtMjA4IDQ4IDB6TTQ4IDI4OGMtMTIuMSAwLTIzLjIgNi44LTI4LjYgMTcuN2wtMTYgMzJjLTUgOS45LTQuNCAyMS43IDEuNCAzMS4xUzIwLjkgMzg0IDMyIDM4NGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAyNTYgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMxMS4xIDAgMjEuNC01LjcgMjcuMi0xNS4yczYuNC0yMS4yIDEuNC0zMS4xbC0xNi0zMkM0MjMuMiAyOTQuOCA0MTIuMSAyODggNDAwIDI4OEw0OCAyODh6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTUzMywgXCJjaGVjay1jaXJjbGVcIl0sIFwiZjA1OFwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzY5IDIwOUwyNDEgMzM3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtNjQtNjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NyA0N0wzMzUgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG5jb25zdCBmYUNoZWNrQ2lyY2xlID0gZmFDaXJjbGVDaGVjaztcbmNvbnN0IGZhQ2lyY2xlU3RvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtc3RvcCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMDk0LCBcInN0b3AtY2lyY2xlXCJdLCBcImYyOGRcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAxNjBsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVN0b3BDaXJjbGUgPSBmYUNpcmNsZVN0b3A7XG5jb25zdCBmYUNvbXBhc3NEcmFmdGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wYXNzLWRyYWZ0aW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkcmFmdGluZy1jb21wYXNzXCJdLCBcImY1NjhcIiwgXCJNMzUyIDk2YzAgMTQuMy0zLjEgMjcuOS04LjggNDAuMkwzOTYgMjI3LjRjLTIzLjcgMjUuMy01NC4yIDQ0LjEtODguNSA1My42TDI1NiAxOTJjMCAwIDAgMCAwIDBzMCAwIDAgMGwtNjggMTE3LjVjMjEuNSA2LjggNDQuMyAxMC41IDY4LjEgMTAuNWM3MC43IDAgMTMzLjgtMzIuNyAxNzQuOS04NGMxMS4xLTEzLjggMzEuMi0xNiA0NS01czE2IDMxLjIgNSA0NUM0MjguMSAzNDEuOCAzNDcgMzg0IDI1NiAzODRjLTM1LjQgMC02OS40LTYuNC0xMDAuNy0xOC4xTDk4LjcgNDYzLjdDOTQgNDcxLjggODcgNDc4LjQgNzguNiA0ODIuNkwyMy4yIDUxMC4zYy01IDIuNS0xMC45IDIuMi0xNS42LS43UzAgNTAxLjUgMCA0OTZsMC01NS40YzAtOC40IDIuMi0xNi43IDYuNS0yNC4xbDYwLTEwMy43QzUzLjcgMzAxLjYgNDEuOCAyODkuMyAzMS4yIDI3NmMtMTEuMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWM1LjcgNy4xIDExLjggMTMuOCAxOC4yIDIwLjFsNjkuNC0xMTkuOWMtNS42LTEyLjItOC44LTI1LjgtOC44LTQwLjJjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnptMjEgMjk3LjljMzIuNi0xMi44IDYyLjUtMzAuOCA4OC45LTUyLjlsNDMuNyA3NS41YzQuMiA3LjMgNi41IDE1LjYgNi41IDI0LjFsMCA1NS40YzAgNS41LTIuOSAxMC43LTcuNiAxMy42cy0xMC42IDMuMi0xNS42IC43bC01NS40LTI3LjdjLTguNC00LjItMTUuNC0xMC44LTIwLjEtMTguOUwzNzMgMzkzLjl6TTI1NiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhRHJhZnRpbmdDb21wYXNzID0gZmFDb21wYXNzRHJhZnRpbmc7XG5jb25zdCBmYVBsYXRlV2hlYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhdGUtd2hlYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NWFcIiwgXCJNMTc2IDMyYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjQgMTM2bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDE4NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDQ4YzAtOC44IDcuMi0xNiAxNi0xNmM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNnpNNDAwIDMyYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTYwbDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwYzguOCAwIDE2IDcuMiAxNiAxNnpNMzUyIDE3NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGM4LjggMCAxNiA3LjIgMTYgMTZ6TTMuNSAzNDcuNkMxLjYgMzMyLjkgMTMgMzIwIDI3LjggMzIwbDQ1Ni40IDBjMTQuOCAwIDI2LjIgMTIuOSAyNC40IDI3LjZDNTAyLjMgMzk3LjggNDY0LjIgNDM3IDQxNiA0NDZsMCAyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yYy00OC4yLTktODYuMy00OC4yLTkyLjUtOTguNHpcIl1cbn07XG5jb25zdCBmYUljaWNsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWNpY2xlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdhZFwiLCBcIk03NS44IDMwNC44TDEgMzUuN2MtLjctMi41LTEtNS0xLTcuNUMwIDEyLjYgMTIuNiAwIDI4LjIgMEg0ODIuNEM0OTguOCAwIDUxMiAxMy4yIDUxMiAyOS42YzAgMS42LS4xIDMuMy0uNCA0LjlMNDM0LjYgNDk2LjFjLTEuNSA5LjItOS41IDE1LjktMTguOCAxNS45Yy05LjIgMC0xNy4xLTYuNi0xOC43LTE1LjZMMzM2IDE2MCAzMDcuMiAzMDMuOWMtMS45IDkuMy0xMC4xIDE2LjEtMTkuNiAxNi4xYy05LjIgMC0xNy4yLTYuMi0xOS40LTE1LjFMMjQwIDE5MiAyMTAuNiAzNjguMmMtMS41IDkuMS05LjQgMTUuOC0xOC42IDE1LjhzLTE3LjEtNi43LTE4LjYtMTUuOEwxNDQgMTkyIDExNS45IDMwNC4zYy0yLjMgOS4yLTEwLjYgMTUuNy0yMC4xIDE1LjdjLTkuMyAwLTE3LjUtNi4yLTIwLTE1LjJ6XCJdXG59O1xuY29uc3QgZmFQZXJzb25TaGVsdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1zaGVsdGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTRmXCIsIFwiTTI3MS45IDQuMmMtOS44LTUuNi0yMS45LTUuNi0zMS44IDBsLTIyNCAxMjhDNi4yIDEzNy45IDAgMTQ4LjUgMCAxNjBMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwMS40TDI1NiA2OC45IDQ0OCAxNzguNiA0NDggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMjBjMC0xMS41LTYuMi0yMi4xLTE2LjEtMjcuOGwtMjI0LTEyOHpNMjU2IDIwOGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bS04IDI4MGwwLTg4IDE2IDAgMCA4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc0LjUgMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzcuOS03MC4zYy0xNS4zLTI4LjUtNDUuMS00Ni4zLTc3LjUtNDYuM2wtMTkuNSAwYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM2wtMzcuOSA3MC4zYy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEwyMDAgMzEzLjUgMjAwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhTmV1dGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25ldXRlcicsXG4gIGljb246IFszODQsIDUxMiwgWzk5MDZdLCBcImYyMmNcIiwgXCJNODAgMTc2YTExMiAxMTIgMCAxIDEgMjI0IDBBMTEyIDExMiAwIDEgMSA4MCAxNzZ6TTIyNCAzNDkuMWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMUMzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMUwxNjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMzAuOXpcIl1cbn07XG5jb25zdCBmYUlkQmFkZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWQtYmFkZ2UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYyYzFcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHptOTYgMzIwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwem0tMzItOTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xNDQgNjRsOTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtOTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYU1hcmtlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJrZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YTFcIiwgXCJNNDgxIDMxQzQ0NS4xLTQuOCAzODYuOS00LjggMzUxIDMxbC0xNSAxNUwzMjIuOSAzM0MyOTQuOCA0LjkgMjQ5LjIgNC45IDIyMS4xIDMzTDEzNSAxMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMEwyNTUgNjYuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzMDIuMSA4MCAxODYuMyAxOTUuNyAzMTYuMyAzMjUuNyA0ODEgMTYxYzM1LjktMzUuOSAzNS45LTk0LjEgMC0xMjkuOXpNMjkzLjcgMzQ4LjNMMTYzLjcgMjE4LjMgOTkuNSAyODIuNWMtNDggNDgtODAuOCAxMDkuMi05NC4xIDE3NS44bC01IDI1Yy0xLjYgNy45IC45IDE2IDYuNiAyMS43czEzLjggOC4xIDIxLjcgNi42bDI1LTVjNjYuNi0xMy4zIDEyNy44LTQ2LjEgMTc1LjgtOTQuMWw2NC4yLTY0LjJ6XCJdXG59O1xuY29uc3QgZmFGYWNlTGF1Z2hCZWFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtbGF1Z2gtYmVhbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxMywgXCJsYXVnaC1iZWFtXCJdLCBcImY1OWFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTk2LjggMzE0LjFjLTMuOC0xMy43IDcuNC0yNi4xIDIxLjYtMjYuMWwyNzUuMiAwYzE0LjIgMCAyNS41IDEyLjQgMjEuNiAyNi4xQzM5Ni4yIDM4MiAzMzIuMSA0MzIgMjU2IDQzMnMtMTQwLjItNTAtMTU5LjItMTE3Ljl6TTIxNy42IDIxMi44czAgMCAwIDBjMCAwIDAgMCAwIDBsLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yYzAgMCAwIDAgMCAwYzAgMCAwIDAgMCAwczAgMCAwIDBjLTIuMSAyLjgtNS43IDMuOS04LjkgMi44cy01LjUtNC4xLTUuNS03LjZjMC0xNy45IDYuNy0zNS42IDE2LjYtNDguOGM5LjgtMTMgMjMuOS0yMy4yIDM5LjQtMjMuMnMyOS42IDEwLjIgMzkuNCAyMy4yYzkuOSAxMy4yIDE2LjYgMzAuOSAxNi42IDQ4LjhjMCAzLjQtMi4yIDYuNS01LjUgNy42cy02LjkgMC04LjktMi44YzAgMCAwIDAgMCAwczAgMCAwIDB6bTE2MCAwYzAgMCAwIDAgMCAwbC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMmMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDB6XCJdXG59O1xuY29uc3QgZmFMYXVnaEJlYW0gPSBmYUZhY2VMYXVnaEJlYW07XG5jb25zdCBmYUhlbGljb3B0ZXJTeW1ib2wgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVsaWNvcHRlci1zeW1ib2wnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MDJcIiwgXCJNNDQ1LjMgMjI0bDY0LjcgMEM0OTUuNiAxMDguMiA0MDMuOCAxNi40IDI4OCAybDAgNjQuN0MzNjguNCA4MC4xIDQzMS45IDE0My42IDQ0NS4zIDIyNHpNNTEwIDI4OGwtNjQuNyAwQzQzMS45IDM2OC40IDM2OC40IDQzMS45IDI4OCA0NDUuM2wwIDY0LjdjMTE1LjgtMTQuNCAyMDcuNi0xMDYuMiAyMjItMjIyek0yIDI4OEMxNi40IDQwMy44IDEwOC4yIDQ5NS42IDIyNCA1MTBsMC02NC43QzE0My42IDQzMS45IDgwLjEgMzY4LjQgNjYuNyAyODhMMiAyODh6bTAtNjRsNjQuNyAwQzgwLjEgMTQzLjYgMTQzLjYgODAuMSAyMjQgNjYuN0wyMjQgMkMxMDguMiAxNi40IDE2LjQgMTA4LjIgMiAyMjR6bTIwNi02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgOTYgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NC05NiAwIDAtNjR6XCJdXG59O1xuY29uc3QgZmFVbml2ZXJzYWxBY2Nlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndW5pdmVyc2FsLWFjY2VzcycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjI5YVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTE2MS41LTg2LjFjLTEyLjItNS4yLTI2LjMgLjQtMzEuNSAxMi42cy40IDI2LjMgMTIuNiAzMS41bDExLjkgNS4xYzE3LjMgNy40IDM1LjIgMTIuOSA1My42IDE2LjNsMCA1MC4xYzAgNC4zLS43IDguNi0yLjEgMTIuNmwtMjguNyA4Ni4xYy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDI0LjQtNzMuMmMxLjMtMy44IDQuOC02LjQgOC44LTYuNHM3LjYgMi42IDguOCA2LjRsMjQuNCA3My4yYzQuMiAxMi42IDE3LjggMTkuNCAzMC40IDE1LjJzMTkuNC0xNy44IDE1LjItMzAuNGwtMjguNy04Ni4xYy0xLjQtNC4xLTIuMS04LjMtMi4xLTEyLjZsMC01MC4xYzE4LjQtMy41IDM2LjMtOC45IDUzLjYtMTYuM2wxMS45LTUuMWMxMi4yLTUuMiAxNy44LTE5LjMgMTIuNi0zMS41cy0xOS4zLTE3LjgtMzEuNS0xMi42TDMzOC43IDE3NWMtMjYuMSAxMS4yLTU0LjIgMTctODIuNyAxN3MtNTYuNS01LjgtODIuNy0xN2wtMTEuOS01LjF6TTI1NiAxNjBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlQ2hldnJvblVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1jaGV2cm9uLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjaGV2cm9uLWNpcmNsZS11cFwiXSwgXCJmMTM5XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zNzcgMjcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTg3LTg3LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIzOSAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMzc3IDI3MXpcIl1cbn07XG5jb25zdCBmYUNoZXZyb25DaXJjbGVVcCA9IGZhQ2lyY2xlQ2hldnJvblVwO1xuY29uc3QgZmFMYXJpU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXJpLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxYzhcIiwgXCJNMTQ0IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIuN2M1LjMtLjQgMTAuNi0uNyAxNi0uN3MxMC43IC4yIDE2IC43TDIwOCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDkuNGM1NC45IDI1LjIgOTUuOCA3NS41IDEwOC4yIDEzNi4yYzMuNSAxNy4zLTcuNyAzNC4yLTI1IDM3LjdzLTM0LjItNy43LTM3LjctMjVjLTYuMS0yOS45LTIyLjUtNTUuOS00NS40LTc0LjNsMCA2Ny45YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTVjLTUuMi0uNy0xMC42LTEtMTYtMXMtMTAuOCAuMy0xNiAxbDAgOTVjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ny45QzgyLjcgMjExLjUgNjQgMjQ3LjYgNjQgMjg4YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMEwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYuOSAwQzE4LjUgMzgyIDAgMzM3LjIgMCAyODhjMC03Ny41IDQ1LjktMTQ0LjMgMTEyLTE3NC42TDExMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVZvbGNhbm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sY2FubycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1NV0sIFwiZjc3MFwiLCBcIk0xNjAgMTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE1LjcgMCAzMCA1LjYgNDEuMiAxNUMyMTIuNCAxMi40IDIzMi43IDAgMjU2IDBzNDMuNiAxMi40IDU0LjggMzFDMzIyIDIxLjYgMzM2LjMgMTYgMzUyIDE2YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0Yy0xNC43IDAtMjguMy01LTM5LjEtMTMuM2wtMzIgNDhDMjc1LjMgMTg3IDI2NiAxOTIgMjU2IDE5MnMtMTkuMy01LTI0LjktMTMuM2wtMzItNDhDMTg4LjMgMTM5IDE3NC43IDE0NCAxNjAgMTQ0ek0xNDQgMzUybDQ4LjQtMjQuMmMxMC4yLTUuMSAyMS42LTcuOCAzMy03LjhjMTkuNiAwIDM4LjQgNy44IDUyLjIgMjEuNmwzMi41IDMyLjVjNi4zIDYuMyAxNC45IDkuOSAyMy44IDkuOWMxMS4zIDAgMjEuOC01LjYgMjgtMTVsOS43LTE0LjYtNTguOS02Ni4zYy05LjEtMTAuMi0yMi4yLTE2LjEtMzUuOS0xNi4xbC00MS44IDBjLTEzLjcgMC0yNi44IDUuOS0zNS45IDE2LjFsLTU5LjkgNjcuNEwxNDQgMzUyem0xOS40LTk1LjhjMTguMi0yMC41IDQ0LjMtMzIuMiA3MS44LTMyLjJsNDEuOCAwYzI3LjQgMCA1My41IDExLjcgNzEuOCAzMi4ybDE1MC4yIDE2OWM4LjUgOS41IDEzLjIgMjEuOSAxMy4yIDM0LjdjMCAyOC44LTIzLjQgNTIuMi01Mi4yIDUyLjJMNTIuMiA1MTJDMjMuNCA1MTIgMCA0ODguNiAwIDQ1OS44YzAtMTIuOCA0LjctMjUuMSAxMy4yLTM0LjdsMTUwLjItMTY5elwiXVxufTtcbmNvbnN0IGZhUGVyc29uV2Fsa2luZ0Rhc2hlZExpbmVBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTUzXCIsIFwiTTIwOCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTEyMy43IDIwMC41YzEtLjQgMS45LS44IDIuOS0xLjJsLTE2LjkgNjMuNWMtNS42IDIxLjEtLjEgNDMuNiAxNC43IDU5LjdsNzAuNyA3Ny4xIDIyIDg4LjFjNC4zIDE3LjEgMjEuNyAyNy42IDM4LjggMjMuM3MyNy42LTIxLjcgMjMuMy0zOC44bC0yMy05Mi4xYy0xLjktNy44LTUuOC0xNC45LTExLjItMjAuOGwtNDkuNS01NCAxOS4zLTY1LjUgOS42IDIzYzQuNCAxMC42IDEyLjUgMTkuMyAyMi44IDI0LjVsMjYuNyAxMy4zYzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOUwyODEgMjMyLjdsLTE1LjMtMzYuOEMyNDguNSAxNTQuOCAyMDguMyAxMjggMTYzLjcgMTI4Yy0yMi44IDAtNDUuMyA0LjgtNjYuMSAxNGwtOCAzLjVjLTMyLjkgMTQuNi01OC4xIDQyLjQtNjkuNCA3Ni41bC0yLjYgNy44Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDIuNi03LjhjNS43LTE3LjEgMTguMy0zMC45IDM0LjctMzguMmw4LTMuNXptLTMwIDEzNS4xTDY4LjcgMzk4IDkuNCA0NTcuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxMTYuMyA0NDFjNC42LTQuNiA4LjItMTAuMSAxMC42LTE2LjFsMTQuNS0zNi4yLTQwLjctNDQuNGMtMi41LTIuNy00LjgtNS42LTctOC42ek01NTAuNiAxNTMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNTMwLjcgMjI0IDM4NCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTQ2LjcgMC0yNS40IDI1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsODAtODBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgwek0zOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTI0IDE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNnpNMzkyIDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTI0IDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OHpcIl1cbn07XG5jb25zdCBmYVN0ZXJsaW5nU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGVybGluZy1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTYzLCBcImdicFwiLCBcInBvdW5kLXNpZ25cIl0sIFwiZjE1NFwiLCBcIk0xMTIgMTYwLjRjMC0zNS41IDI4LjgtNjQuNCA2NC40LTY0LjRjNi45IDAgMTMuOCAxLjEgMjAuNCAzLjNsODEuMiAyNy4xYzE2LjggNS42IDM0LjktMy41IDQwLjUtMjAuMnMtMy41LTM0LjktMjAuMi00MC41TDIxNyAzOC42Yy0xMy4xLTQuNC0yNi44LTYuNi00MC42LTYuNkMxMDUuNSAzMiA0OCA4OS41IDQ4IDE2MC40TDQ4IDIyNGwtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwIDAgNDQuNWMwIDE3LjQtNC43IDM0LjUtMTMuNyA0OS40TDQuNiA0MzEuNWMtNS45IDkuOS02LjEgMjIuMi0uNCAzMi4yUzIwLjUgNDgwIDMyIDQ4MGwyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4OC41IDQxNmwuNy0xLjFDMTA0LjEgMzkwIDExMiAzNjEuNSAxMTIgMzMyLjVsMC00NC41IDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMTIgMCAwLTYzLjZ6XCJdXG59O1xuY29uc3QgZmFHYnAgPSBmYVN0ZXJsaW5nU2lnbjtcbmNvbnN0IGZhUG91bmRTaWduID0gZmFTdGVybGluZ1NpZ247XG5jb25zdCBmYVZpcnVzZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlydXNlcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3NlwiLCBcIk0xOTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDEzLjVjMCAzNS42IDQzLjEgNTMuNSA2OC4zIDI4LjNsOS41LTkuNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTkuNSA5LjVDMjkzIDEyNC45IDMxMC45IDE2OCAzNDYuNSAxNjhsMTMuNSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMy41IDBjLTM1LjYgMC01My41IDQzLjEtMjguMyA2OC4zbDkuNSA5LjVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtOS41LTkuNUMyNTkuMSAyOTMgMjE2IDMxMC45IDIxNiAzNDYuNWwwIDEzLjVjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMy41YzAtMzUuNi00My4xLTUzLjUtNjguMy0yOC4zbC05LjUgOS41Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDkuNS05LjVDOTEgMjU5LjEgNzMuMSAyMTYgMzcuNSAyMTZMMjQgMjE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEzLjUgMGMzNS42IDAgNTMuNS00My4xIDI4LjMtNjguM2wtOS41LTkuNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDkuNSA5LjVDMTI0LjkgOTEgMTY4IDczLjEgMTY4IDM3LjVMMTY4IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0em00OCAyMjRhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0tNDgtNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMzIwIDgwYzAgMzMgMzkuOSA0OS41IDYzLjIgMjYuMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZDNTc0LjUgMzEyLjEgNTkxIDM1MiA2MjQgMzUyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2Yy0zMyAwLTQ5LjUgMzkuOS0yNi4yIDYzLjJjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEM1NTEuOSA0NDYuNSA1MTIgNDYzIDUxMiA0OTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZjMC0zMy0zOS45LTQ5LjUtNjMuMi0yNi4yYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42QzQxNy41IDQyMy45IDQwMSAzODQgMzY4IDM4NGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmMzMyAwIDQ5LjUtMzkuOSAyNi4yLTYzLjJjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEM0NDAuMSAyODkuNSA0ODAgMjczIDQ4MCAyNDBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptMCAxMTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpcIl1cbn07XG5jb25zdCBmYVNxdWFyZVBlcnNvbkNvbmZpbmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wZXJzb24tY29uZmluZWQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1NzdcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptOTYgMTEyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTgwIDEwNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTAyLjFjMCAzNi40LTI5LjUgNjUuOS02NS45IDY1LjljLTE3LjUgMC0zNC4zLTYuOS00Ni42LTE5LjNMMTg0LjggMzQybC0yOC4xIDU2LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsNDgtOTZjNC42LTkuMiAxMy4zLTE1LjYgMjMuNS0xNy4zczIwLjUgMS43IDI3LjggOUwyNDAgMzA2LjdsMC01OC43elwiXVxufTtcbmNvbnN0IGZhVXNlclRpZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXRpZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUwOFwiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMCAyNTYgMEExMjggMTI4IDAgMSAwIDk2IDEyOHptOTQuNSAyMDAuMmwxOC42IDMxTDE3NS44IDQ4My4xbC0zNi0xNDYuOWMtMi04LjEtOS44LTEzLjQtMTcuOS0xMS4zQzUxLjkgMzQyLjQgMCA0MDUuOCAwIDQ4MS4zYzAgMTcgMTMuOCAzMC43IDMwLjcgMzAuN2wxMzEuNyAwYzAgMCAwIDAgLjEgMGw1LjUgMCAxMTIgMCA1LjUgMGMwIDAgMCAwIC4xIDBsMTMxLjcgMGMxNyAwIDMwLjctMTMuOCAzMC43LTMwLjdjMC03NS41LTUxLjktMTM4LjktMTIxLjktMTU2LjRjLTguMS0yLTE1LjkgMy4zLTE3LjkgMTEuM2wtMzYgMTQ2LjlMMjM4LjkgMzU5LjJsMTguNi0zMWM2LjQtMTAuNy0xLjMtMjQuMi0xMy43LTI0LjJMMjI0IDMwNGwtMTkuNyAwYy0xMi40IDAtMjAuMSAxMy42LTEzLjcgMjQuMnpcIl1cbn07XG5jb25zdCBmYUFycm93RG93bkxvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1sb25nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJsb25nLWFycm93LWRvd25cIl0sIFwiZjE3NVwiLCBcIk0xNjkuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDIyNCA0MDIuNyAyMjQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzNzAuN0w4Ni42IDMyOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4elwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93RG93biA9IGZhQXJyb3dEb3duTG9uZztcbmNvbnN0IGZhVGVudEFycm93RG93blRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93LWRvd24tdG8tbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU3ZVwiLCBcIk0yNDEuOCAxMTEuOWM4LjkgOS45IDguMSAyNS0xLjggMzMuOWwtODAgNzJjLTkuMSA4LjItMjMgOC4yLTMyLjEgMGwtODAtNzJjLTkuOS04LjktMTAuNy0yNC0xLjgtMzMuOXMyNC0xMC43IDMzLjktMS44bDM5LjkgMzZMMTIwIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMjIuMSAzOS45LTM2YzkuOS04LjkgMjUtOC4xIDMzLjkgMS44em0xMjIuOCAyMi42YzExLjUtOC43IDI3LjMtOC43IDM4LjggMGwxNjggMTI4YzYuNiA1IDExIDEyLjUgMTIuMyAyMC43bDI0IDE2MCAuNyA0LjdjMTcuNSAuMiAzMS42IDE0LjQgMzEuNiAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTI3LjYgMCAuNy00LjcgMjQtMTYwYzEuMi04LjIgNS42LTE1LjcgMTIuMy0yMC43bDE2OC0xMjh6TTM4NCA0NDhsODAgMEw0MDIuNyAzMjUuNWMtMS43LTMuNC01LjEtNS41LTguOC01LjVjLTUuNSAwLTkuOSA0LjQtOS45IDkuOUwzODQgNDQ4elwiXVxufTtcbmNvbnN0IGZhQ2VydGlmaWNhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2VydGlmaWNhdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwYTNcIiwgXCJNMjExIDcuM0MyMDUgMSAxOTYtMS40IDE4Ny42IC44cy0xNC45IDguOS0xNy4xIDE3LjNMMTU0LjcgODAuNmwtNjItMTcuNWMtOC40LTIuNC0xNy40IDAtMjMuNSA2LjFzLTguNSAxNS4xLTYuMSAyMy41bDE3LjUgNjJMMTguMSAxNzAuNmMtOC40IDIuMS0xNSA4LjctMTcuMyAxNy4xUzEgMjA1IDcuMyAyMTFsNDYuMiA0NUw3LjMgMzAxQzEgMzA3LTEuNCAzMTYgLjggMzI0LjRzOC45IDE0LjkgMTcuMyAxNy4xbDYyLjUgMTUuOC0xNy41IDYyYy0yLjQgOC40IDAgMTcuNCA2LjEgMjMuNXMxNS4xIDguNSAyMy41IDYuMWw2Mi0xNy41IDE1LjggNjIuNWMyLjEgOC40IDguNyAxNSAxNy4xIDE3LjNzMTcuMy0uMiAyMy40LTYuNGw0NS00Ni4yIDQ1IDQ2LjJjNi4xIDYuMiAxNSA4LjcgMjMuNCA2LjRzMTQuOS04LjkgMTcuMS0xNy4zbDE1LjgtNjIuNSA2MiAxNy41YzguNCAyLjQgMTcuNCAwIDIzLjUtNi4xczguNS0xNS4xIDYuMS0yMy41bC0xNy41LTYyIDYyLjUtMTUuOGM4LjQtMi4xIDE1LTguNyAxNy4zLTE3LjFzLS4yLTE3LjQtNi40LTIzLjRsLTQ2LjItNDUgNDYuMi00NWM2LjItNi4xIDguNy0xNSA2LjQtMjMuNHMtOC45LTE0LjktMTcuMy0xNy4xbC02Mi41LTE1LjggMTcuNS02MmMyLjQtOC40IDAtMTcuNC02LjEtMjMuNXMtMTUuMS04LjUtMjMuNS02LjFsLTYyIDE3LjVMMzQxLjQgMTguMWMtMi4xLTguNC04LjctMTUtMTcuMS0xNy4zUzMwNyAxIDMwMSA3LjNMMjU2IDUzLjUgMjExIDcuM3pcIl1cbn07XG5jb25zdCBmYVJlcGx5QWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlcGx5LWFsbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibWFpbC1yZXBseS1hbGxcIl0sIFwiZjEyMlwiLCBcIk0yMDkuNCAzOS41Yy05LjEtOS42LTI0LjMtMTAtMzMuOS0uOUwzMy44IDE3My4yYy0xOS45IDE4LjktMTkuOSA1MC43IDAgNjkuNkwxNzUuNSAzNzcuNGM5LjYgOS4xIDI0LjggOC43IDMzLjktLjlzOC43LTI0LjgtLjktMzMuOUw2Ni44IDIwOCAyMDguNSA3My40YzkuNi05LjEgMTAtMjQuMyAuOS0zMy45ek0zNTIgNjRjMC0xMi42LTcuNC0yNC4xLTE5LTI5LjJzLTI1LTMtMzQuNCA1LjRsLTE2MCAxNDRjLTYuNyA2LjEtMTAuNiAxNC43LTEwLjYgMjMuOHMzLjkgMTcuNyAxMC42IDIzLjhsMTYwIDE0NGM5LjQgOC41IDIyLjkgMTAuNiAzNC40IDUuNHMxOS0xNi42IDE5LTI5LjJsMC02NCAzMiAwYzUzIDAgOTYgNDMgOTYgOTZjMCAzMC40LTEyLjggNDcuOS0yMi4yIDU2LjdjLTUuNSA1LjEtOS44IDEyLTkuOCAxOS41YzAgMTAuOSA4LjggMTkuNyAxOS43IDE5LjdjMi44IDAgNS42LS42IDguMS0xLjlDNDk0LjUgNDY3LjkgNTc2IDQxNy4zIDU3NiAzMDRjMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZsLTQ4IDAgMC02NHpcIl1cbn07XG5jb25zdCBmYU1haWxSZXBseUFsbCA9IGZhUmVwbHlBbGw7XG5jb25zdCBmYVN1aXRjYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1aXRjYXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTIzXSwgXCJmMGYyXCIsIFwiTTE3NiA1NmwwIDQwIDE2MCAwIDAtNDBjMC00LjQtMy42LTgtOC04TDE4NCA0OGMtNC40IDAtOCAzLjYtOCA4ek0xMjggOTZsMC00MGMwLTMwLjkgMjUuMS01NiA1Ni01NkwzMjggMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDQwIDAgMzIgMCAzNTItMjU2IDAgMC0zNTIgMC0zMnpNNjQgOTZsMzIgMCAwIDM4NC0zMiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDQ4IDQ4MGwtMzIgMCAwLTM4NCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0elwiXVxufTtcbmNvbnN0IGZhUGVyc29uU2thdGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tc2thdGluZycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic2thdGluZ1wiXSwgXCJmN2M1XCIsIFwiTTM1MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0xMjggMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE1OS40IDBjNDMuNiAwIDY0LjYgNTMuNCAzMi44IDgzLjFsLTc0LjQgNjkuNCA2MC4yIDYwLjJjOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlsMCA3My40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuNy03Ny45LTc3LjhjLTI2LjYtMjYuNi0yNC42LTcwLjMgNC4zLTk0LjRsMjAuNC0xN0wxNjAgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNODEuNCAzNTMuNGw4Ni45LTg2LjljNC42IDEwIDExIDE5LjMgMTkuMyAyNy41bDIxLjggMjEuOC04Mi43IDgyLjdjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zem0zMjIuNSA5NS4xYzguNiAyLjEgMTMuOCAxMC44IDExLjYgMTkuNGwtLjQgMS43Yy02LjIgMjQuOS0yOC42IDQyLjQtNTQuMyA0Mi40TDI3MiA1MTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODguOCAwYzExIDAgMjAuNi03LjUgMjMuMy0xOC4ybC40LTEuN2MyLjEtOC42IDEwLjgtMTMuOCAxOS40LTExLjZ6TTEzNS4yIDQ3OC4zbC02LjIgMy4xYy0yMS42IDEwLjgtNDcuNiA2LjYtNjQuNi0xMC41TDQuNyA0MTEuM2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDU5LjYgNTkuNmM3LjMgNy4zIDE4LjUgOS4xIDI3LjcgNC41bDYuMi0zLjFjNy45LTQgMTcuNS0uNyAyMS41IDcuMnMuNyAxNy41LTcuMiAyMS41elwiXVxufTtcbmNvbnN0IGZhU2thdGluZyA9IGZhUGVyc29uU2thdGluZztcbmNvbnN0IGZhRmlsdGVyQ2lyY2xlRG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbHRlci1jaXJjbGUtZG9sbGFyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJmdW5uZWwtZG9sbGFyXCJdLCBcImY2NjJcIiwgXCJNMy45IDIyLjlDMTAuNSA4LjkgMjQuNSAwIDQwIDBMNDcyIDBjMTUuNSAwIDI5LjUgOC45IDM2LjEgMjIuOXM0LjYgMzAuNS01LjIgNDIuNUwzOTYuNCAxOTUuNkMzMTYuMiAyMTIuMSAyNTYgMjgzIDI1NiAzNjhjMCAyNy40IDYuMyA1My40IDE3LjUgNzYuNWMtMS42LS44LTMuMi0xLjgtNC43LTIuOWwtNjQtNDhjLTguMS02LTEyLjgtMTUuNS0xMi44LTI1LjZsMC03OS4xTDkgNjUuM0MtLjcgNTMuNC0yLjggMzYuOCAzLjkgMjIuOXpNMjg4IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xMjAuOC0zMi42Yy42LS45IDEuOC0yLjEgNC4yLTMuNGM1LjEtMi43IDEyLjUtNC4xIDE4LjctNGM4LjIgLjEgMTcuMSAxLjggMjYuNCA0LjFjOC42IDIuMSAxNy4zLTMuMSAxOS40LTExLjdzLTMuMS0xNy4zLTExLjctMTkuNGMtNS42LTEuNC0xMS42LTIuNy0xNy45LTMuN2wwLTkuNGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDkuNWMtNi4xIDEuMi0xMi4zIDMuMi0xOCA2LjNjLTExLjggNi4zLTIzIDE4LjQtMjEuOCAzNy4yYzEgMTYgMTEuNyAyNS4zIDIxLjYgMzAuN2M4LjggNC43IDE5LjcgNy44IDI4LjYgMTAuM2wxLjggLjVjMTAuMyAyLjkgMTcuOSA1LjIgMjMuMiA4LjNjNC41IDIuNyA0LjcgNC4yIDQuNyA1LjZjLjEgMi40LS41IDMuNy0xIDQuNWMtLjYgMS0xLjggMi4yLTQgMy4zYy00LjcgMi41LTExLjggMy44LTE4LjUgMy42Yy05LjUtLjMtMTguNS0zLjEtMjkuOS02LjhjLTEuOS0uNi0zLjgtMS4yLTUuOC0xLjhjLTguNC0yLjYtMTcuNCAyLjEtMjAgMTAuNXMyLjEgMTcuNCAxMC41IDIwYzEuNiAuNSAzLjMgMSA1IDEuNmMwIDAgMCAwIDAgMHMwIDAgMCAwYzcgMi4zIDE1LjEgNC44IDIzLjcgNi42bDAgMTEuNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTAuOGM2LjItMS4xIDEyLjUtMy4xIDE4LjMtNi4yYzEyLjEtNi41IDIyLjMtMTguNyAyMS43LTM2LjljLS41LTE2LjItMTAuMy0yNi4zLTIwLjUtMzIuM2MtOS40LTUuNi0yMS4yLTguOS0zMC41LTExLjVsLS4yIDBjLTEwLjQtMi45LTE4LjMtNS4yLTIzLjktOC4yYy00LjgtMi42LTQuOC00LTQuOC00LjVjMCAwIDAgMCAwLS4xYy0uMS0xLjkgLjMtMi45IC44LTMuNnpcIl1cbn07XG5jb25zdCBmYUZ1bm5lbERvbGxhciA9IGZhRmlsdGVyQ2lyY2xlRG9sbGFyO1xuY29uc3QgZmFDYW1lcmFSZXRybyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYW1lcmEtcmV0cm8nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNDddLCBcImYwODNcIiwgXCJNMjIwLjYgMTIxLjJMMjcxLjEgOTYgNDQ4IDk2bDAgOTYtMTE0LjggMGMtMjEuOS0xNS4xLTQ4LjUtMjQtNzcuMi0yNHMtNTUuMiA4LjktNzcuMiAyNEw2NCAxOTJsMC02NCAxMjggMGM5LjkgMCAxOS43LTIuMyAyOC42LTYuOHpNMCAxMjhMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMMjcxLjEgMzJjLTkuOSAwLTE5LjcgMi4zLTI4LjYgNi44TDE5MiA2NGwtMzIgMCAwLTE2YzAtOC44LTcuMi0xNi0xNi0xNkw4MCAzMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZDMjguNyA2NCAwIDkyLjcgMCAxMjh6TTE2OCAzMDRhODggODggMCAxIDEgMTc2IDAgODggODggMCAxIDEgLTE3NiAwelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlQXJyb3dEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtZG93blwiXSwgXCJmMGFiXCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMHpNMTI3IDI5N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDcxIDcxTDIzMiAxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDIxNC4xIDcxLTcxYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwyNzMgNDA5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwxMjcgMjk3elwiXVxufTtcbmNvbnN0IGZhQXJyb3dDaXJjbGVEb3duID0gZmFDaXJjbGVBcnJvd0Rvd247XG5jb25zdCBmYUZpbGVJbXBvcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1pbXBvcnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93LXJpZ2h0LXRvLWZpbGVcIl0sIFwiZjU2ZlwiLCBcIk0xMjggNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMMzUyIDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI1NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTExMiAxNzQuMSAwLTM5IDM5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODAtODBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTgwLTgwYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDM5IDM5TDEyOCAyODhsMC0yMjR6bTAgMjI0bDAgNDhMMjQgMzM2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwNCAwek01MTIgMTI4bC0xMjggMEwzODQgMCA1MTIgMTI4elwiXVxufTtcbmNvbnN0IGZhQXJyb3dSaWdodFRvRmlsZSA9IGZhRmlsZUltcG9ydDtcbmNvbnN0IGZhU3F1YXJlQXJyb3dVcFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1hcnJvdy11cC1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZXh0ZXJuYWwtbGluay1zcXVhcmVcIl0sIFwiZjE0Y1wiLCBcIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0xNjAgMTQ0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk0LjEgMEwxMTkgMzI3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTM1LTEzNUwyODggMzI4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTE1MiAwelwiXVxufTtcbmNvbnN0IGZhRXh0ZXJuYWxMaW5rU3F1YXJlID0gZmFTcXVhcmVBcnJvd1VwUmlnaHQ7XG5jb25zdCBmYUJveE9wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94LW9wZW4nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0OWVcIiwgXCJNNTguOSA0Mi4xYzMtNi4xIDkuNi05LjYgMTYuMy04LjdMMzIwIDY0IDU2NC44IDMzLjRjNi43LS44IDEzLjMgMi43IDE2LjMgOC43bDQxLjcgODMuNGM5IDE3LjktLjYgMzkuNi0xOS44IDQ1LjFMNDM5LjYgMjE3LjNjLTEzLjkgNC0yOC44LTEuOS0zNi4yLTE0LjNMMzIwIDY0IDIzNi42IDIwM2MtNy40IDEyLjQtMjIuMyAxOC4zLTM2LjIgMTQuM0wzNy4xIDE3MC42Yy0xOS4zLTUuNS0yOC44LTI3LjItMTkuOC00NS4xTDU4LjkgNDIuMXpNMzIxLjEgMTI4bDU0LjkgOTEuNGMxNC45IDI0LjggNDQuNiAzNi42IDcyLjUgMjguNkw1NzYgMjExLjZsMCAxNjdjMCAyMi0xNSA0MS4yLTM2LjQgNDYuNmwtMjA0LjEgNTFjLTEwLjIgMi42LTIwLjkgMi42LTMxIDBsLTIwNC4xLTUxQzc5IDQxOS43IDY0IDQwMC41IDY0IDM3OC41bDAtMTY3TDE5MS42IDI0OGMyNy44IDggNTcuNi0zLjggNzIuNS0yOC42TDMxOC45IDEyOGwyLjIgMHpcIl1cbn07XG5jb25zdCBmYVNjcm9sbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY3JvbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgyMjBdLCBcImY3MGVcIiwgXCJNMCA4MGwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgNDggMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4UzAgNTMuNSAwIDgwek0xMTIgMzJjMTAgMTMuNCAxNiAzMCAxNiA0OGwwIDMwNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtNS4zYzAtMzIuNCAyNi4zLTU4LjcgNTguNy01OC43TDQ4MCAzMjBsMC0xOTJjMC01My00My05Ni05Ni05NkwxMTIgMzJ6TTQ2NCA0ODBjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC04LjgtNy4yLTE2LTE2LTE2bC0yNDUuMyAwYy0xNC43IDAtMjYuNyAxMS45LTI2LjcgMjYuN2wwIDUuM2MwIDUzLTQzIDk2LTk2IDk2bDE3NiAwIDk2IDB6XCJdXG59O1xuY29uc3QgZmFTcGEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3BhJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNWJiXCIsIFwiTTE4My4xIDIzNS4zYzMzLjcgMjAuNyA2Mi45IDQ4LjEgODUuOCA4MC41YzcgOS45IDEzLjQgMjAuMyAxOS4xIDMxYzUuNy0xMC44IDEyLjEtMjEuMSAxOS4xLTMxYzIyLjktMzIuNCA1Mi4xLTU5LjggODUuOC04MC41QzQzNy42IDIwNy44IDQ5MC4xIDE5MiA1NDYgMTkybDkuOSAwYzExLjEgMCAyMC4xIDkgMjAuMSAyMC4xQzU3NiAzNjAuMSA0NTYuMSA0ODAgMzA4LjEgNDgwTDI4OCA0ODBsLTIwLjEgMEMxMTkuOSA0ODAgMCAzNjAuMSAwIDIxMi4xQzAgMjAxIDkgMTkyIDIwLjEgMTkybDkuOSAwYzU1LjkgMCAxMDguNCAxNS44IDE1My4xIDQzLjN6TTMwMS41IDM3LjZjMTUuNyAxNi45IDYxLjEgNzEuOCA4NC40IDE2NC42Yy0zOCAyMS42LTcxLjQgNTAuOC05Ny45IDg1LjZjLTI2LjUtMzQuOC01OS45LTYzLjktOTcuOS04NS42YzIzLjItOTIuOCA2OC42LTE0Ny43IDg0LjQtMTY0LjZDMjc4IDMzLjkgMjgyLjkgMzIgMjg4IDMyczEwIDEuOSAxMy41IDUuNnpcIl1cbn07XG5jb25zdCBmYUxvY2F0aW9uUGluTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1waW4tbG9jaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUxZlwiLCBcIk0yMTUuNyA0OTkuMmMxMS0xMy44IDI1LjEtMzEuNyA0MC4zLTUyLjNsMC05NC44YzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTI0LjZjMC01NS42IDQwLjUtMTAxLjcgOTMuNi0xMTAuNUMzNjcgNzAgMjg3LjcgMCAxOTIgMEM4NiAwIDAgODYgMCAxOTJjMCA4Ny40IDExNyAyNDMgMTY4LjMgMzA3LjJjMTIuMyAxNS4zIDM1LjEgMTUuMyA0Ny40IDB6TTE5MiAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQwMCAyNDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OC02NCAwIDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMmwwIDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbmNvbnN0IGZhUGF1c2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGF1c2UnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5MjA4XSwgXCJmMDRjXCIsIFwiTTQ4IDY0QzIxLjUgNjQgMCA4NS41IDAgMTEyTDAgNDAwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggNjR6bTE5MiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDI4OGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjg4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhSGlsbEF2YWxhbmNoZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoaWxsLWF2YWxhbmNoZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUwN1wiLCBcIk00MzkuNyA0MDEuOWMzNC4yIDIzLjEgODEuMSAxOS41IDExMS40LTEwLjhjMzQuNC0zNC40IDM0LjQtOTAuMSAwLTEyNC40Yy0yNy44LTI3LjgtNjkuNS0zMy4xLTEwMi42LTE2Yy0xMS44IDYuMS0xNi40IDIwLjYtMTAuMyAzMi4zczIwLjYgMTYuNCAzMi4zIDEwLjNjMTUuMS03LjggMzQtNS4zIDQ2LjYgNy4zYzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42cy00MC45IDE1LjYtNTYuNiAwbC04MS43LTgxLjdDNDAxLjIgMjYxLjMgNDE2IDIzNi40IDQxNiAyMDhjMC0zMy45LTIxLjEtNjIuOS01MC45LTc0LjVjMS45LTYuOCAyLjktMTQgMi45LTIxLjVjMC00NC4yLTM1LjgtODAtODAtODBjLTI3LjMgMC01MS41IDEzLjctNjUuOSAzNC42QzIxNi4zIDQ2LjYgMTk3LjkgMzIgMTc2IDMyYy0yNi41IDAtNDggMjEuNS00OCA0OGMwIDQgLjUgNy45IDEuNCAxMS42TDQzOS43IDQwMS45ek00ODAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMCAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek02OC4zIDg3QzQzLjEgNjEuOCAwIDc5LjcgMCAxMTUuM0wwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMTYuNyAwYzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zTDY4LjMgODd6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZUVtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWVtcHR5JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS0wXCIsIFwidGhlcm1vbWV0ZXItMFwiLCBcInRoZXJtb21ldGVyLWVtcHR5XCJdLCBcImYyY2JcIiwgXCJNMTEyIDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTY0LjVjMCAxNy4zIDcuMSAzMS45IDE1LjMgNDIuNUMyMzMuOCAzMzIuNiAyNDAgMzQ5LjUgMjQwIDM2OGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTE4LjUgNi4yLTM1LjQgMTYuNy00OC45YzguMi0xMC42IDE1LjMtMjUuMiAxNS4zLTQyLjVMMTEyIDExMnpNMTYwIDBDOTguMSAwIDQ4IDUwLjIgNDggMTEybDAgMTY0LjRjMCAuMS0uMSAuMy0uMiAuNmMtLjIgLjYtLjggMS42LTEuNyAyLjhDMjcuMiAzMDQuMiAxNiAzMzQuOCAxNiAzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGMwLTMzLjItMTEuMi02My44LTMwLjEtODguMWMtLjktMS4yLTEuNS0yLjItMS43LTIuOGMtLjEtLjMtLjItLjUtLjItLjZMMjcyIDExMkMyNzIgNTAuMiAyMjEuOSAwIDE2MCAwem0wIDQxNmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZTAgPSBmYVRlbXBlcmF0dXJlRW1wdHk7XG5jb25zdCBmYVRoZXJtb21ldGVyMCA9IGZhVGVtcGVyYXR1cmVFbXB0eTtcbmNvbnN0IGZhVGhlcm1vbWV0ZXJFbXB0eSA9IGZhVGVtcGVyYXR1cmVFbXB0eTtcbmNvbnN0IGZhQm9tYiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib21iJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTYzXSwgXCJmMWUyXCIsIFwiTTQ1OS4xIDUyLjRMNDQyLjYgNi41QzQ0MC43IDIuNiA0MzYuNSAwIDQzMi4xIDBzLTguNSAyLjYtMTAuNCA2LjVMNDA1LjIgNTIuNGwtNDYgMTYuOGMtNC4zIDEuNi03LjMgNS45LTcuMiAxMC40YzAgNC41IDMgOC43IDcuMiAxMC4ybDQ1LjcgMTYuOCAxNi44IDQ1LjhjMS41IDQuNCA1LjggNy41IDEwLjQgNy41czguOS0zLjEgMTAuNC03LjVsMTYuNS00NS44IDQ1LjctMTYuOGM0LjItMS41IDcuMi01LjcgNy4yLTEwLjJjMC00LjYtMy04LjktNy4yLTEwLjRMNDU5LjEgNTIuNHptLTEzMi40IDUzYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMi45IDIuOUMyNTYuNSAxMDAuMyAyMzIuNyA5NiAyMDggOTZDOTMuMSA5NiAwIDE4OS4xIDAgMzA0UzkzLjEgNTEyIDIwOCA1MTJzMjA4LTkzLjEgMjA4LTIwOGMwLTI0LjctNC4zLTQ4LjUtMTIuMi03MC41bDIuOS0yLjljMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgwek0yMDAgMTkyYy01Ny40IDAtMTA0IDQ2LjYtMTA0IDEwNGwwIDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04YzAtNzUuMSA2MC45LTEzNiAxMzYtMTM2bDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtOCAwelwiXVxufTtcbmNvbnN0IGZhUmVnaXN0ZXJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWdpc3RlcmVkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTc0XSwgXCJmMjVkXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjAgMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDg4IDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCAyOC0xNC40IDUyLjctMzYuMyA2N2wzNC4xIDc1LjFjNS41IDEyLjEgLjEgMjYuMy0xMS45IDMxLjhzLTI2LjMgLjEtMzEuOC0xMS45TDI2OC45IDI4OCAyMDggMjg4bDAgNzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC05NiAwLTExMnptNDggODhsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhQWRkcmVzc0NhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYWRkcmVzcy1jYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNjIxNDAsIFwiY29udGFjdC1jYXJkXCIsIFwidmNhcmRcIl0sIFwiZjJiYlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem04MCAyNTZsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZMODAgMzg0Yy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS0zMi05NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6bTI1Ni0zMmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUNvbnRhY3RDYXJkID0gZmFBZGRyZXNzQ2FyZDtcbmNvbnN0IGZhVmNhcmQgPSBmYUFkZHJlc3NDYXJkO1xuY29uc3QgZmFTY2FsZVVuYmFsYW5jZWRGbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjYWxlLXVuYmFsYW5jZWQtZmxpcCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiYmFsYW5jZS1zY2FsZS1yaWdodFwiXSwgXCJmNTE2XCIsIFwiTTExNy45IDYyLjRjLTE2LjgtNS42LTI1LjgtMjMuNy0yMC4yLTQwLjVzMjMuNy0yNS44IDQwLjUtMjAuMmwxMTMgMzcuN0MyNjUgMTUuOCAyOTAuNyAwIDMyMCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgMy0uMiA1LjktLjUgOC44bDEyMi42IDQwLjljMTYuOCA1LjYgMjUuOCAyMy43IDIwLjIgNDAuNXMtMjMuNyAyNS44LTQwLjUgMjAuMkwzNjYuNCAxNDUuMmMtNC41IDMuMi05LjMgNS45LTE0LjQgOC4yTDM1MiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwIDAtMjk0LjdjLTIxLTkuMi0zNy4yLTI3LTQ0LjItNDlsLTEyNS45LTQyek0yMDAuNCAyODhMMTI4IDE2My44IDU1LjYgMjg4bDE0NC45IDB6TTEyOCAzODRDNjUuMSAzODQgMTIuOCAzNTAgMiAzMDUuMWMtMi42LTExIDEtMjIuMyA2LjctMzIuMWw5NS4yLTE2My4yYzUtOC42IDE0LjItMTMuOCAyNC4xLTEzLjhzMTkuMSA1LjMgMjQuMSAxMy44bDk1LjIgMTYzLjJjNS43IDkuOCA5LjMgMjEuMSA2LjcgMzIuMUMyNDMuMiAzNTAgMTkwLjkgMzg0IDEyOCAzODR6bTM4Mi44LTkyLjJMNDM4LjQgNDE2bDE0NC45IDBMNTEwLjggMjkxLjh6bTEyNiAxNDEuM0M2MjYgNDc4IDU3My43IDUxMiA1MTAuOCA1MTJzLTExNS4yLTM0LTEyNi03OC45Yy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xelwiXVxufTtcbmNvbnN0IGZhQmFsYW5jZVNjYWxlUmlnaHQgPSBmYVNjYWxlVW5iYWxhbmNlZEZsaXA7XG5jb25zdCBmYVN1YnNjcmlwdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdWJzY3JpcHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxMmNcIiwgXCJNMzIgNjRDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDE1LjMgMCA4OS42IDEyOEw0Ny4zIDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMxMC40IDAgMjAuMi01LjEgMjYuMi0xMy42TDE3NiAzMTEuOGw4NS44IDEyMi42YzYgOC42IDE1LjggMTMuNiAyNi4yIDEzLjZsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUuMyAwTDIxNS4xIDI1Nmw4OS42LTEyOCAxNS4zIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTEwLjQgMC0yMC4yIDUuMS0yNi4yIDEzLjZMMTc2IDIwMC4yIDkwLjIgNzcuNkM4NC4yIDY5LjEgNzQuNCA2NCA2NCA2NEwzMiA2NHpNNDgwIDMyMGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNGwtMzIgMTZjLTE1LjggNy45LTIyLjIgMjcuMS0xNC4zIDQyLjlDMzkzIDM2MS41IDQwNC4zIDM2OCA0MTYgMzY4bDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4elwiXVxufTtcbmNvbnN0IGZhRGlhbW9uZFR1cm5SaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWFtb25kLXR1cm4tcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRpcmVjdGlvbnNcIl0sIFwiZjVlYlwiLCBcIk0yMjcuNyAxMS43YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwbDIxNiAyMTZjMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZsLTIxNiAyMTZjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwbC0yMTYtMjE2Yy0xNS42LTE1LjYtMTUuNi00MC45IDAtNTYuNmwyMTYtMjE2em04Ny42IDEzN2MtNC42LTQuNi0xMS41LTUuOS0xNy40LTMuNXMtOS45IDguMy05LjkgMTQuOGwwIDU2LTY0IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNmw2NCAwIDAgNTZjMCA2LjUgMy45IDEyLjMgOS45IDE0LjhzMTIuOSAxLjEgMTcuNC0zLjVsODAtODBjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTgwLTgwelwiXVxufTtcbmNvbnN0IGZhRGlyZWN0aW9ucyA9IGZhRGlhbW9uZFR1cm5SaWdodDtcbmNvbnN0IGZhQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVyc3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZGNcIiwgXCJNMzcuNiA0LjJDMjgtMi4zIDE1LjItMS4xIDcgN3MtOS40IDIxLTIuOCAzMC41bDExMiAxNjMuM0wxNi42IDIzMy4yQzYuNyAyMzYuNCAwIDI0NS42IDAgMjU2czYuNyAxOS42IDE2LjYgMjIuOGwxMDMuMSAzMy40TDY2LjggNDEyLjhjLTQuOSA5LjMtMy4yIDIwLjcgNC4zIDI4LjFzMTguOCA5LjIgMjguMSA0LjNsMTAwLjYtNTIuOSAzMy40IDEwMy4xYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNnMxOS42LTYuNyAyMi44LTE2LjZsMzMuNC0xMDMuMSAxMDAuNiA1Mi45YzkuMyA0LjkgMjAuNyAzLjIgMjguMS00LjNzOS4yLTE4LjggNC4zLTI4LjFMMzkyLjMgMzEyLjJsMTAzLjEtMzMuNGM5LjktMy4yIDE2LjYtMTIuNCAxNi42LTIyLjhzLTYuNy0xOS42LTE2LjYtMjIuOEwzODguOSAxOTguN2wyNS43LTcwLjRjMy4yLTguOCAxLTE4LjYtNS42LTI1LjJzLTE2LjQtOC44LTI1LjItNS42bC03MC40IDI1LjdMMjc4LjggMTYuNkMyNzUuNiA2LjcgMjY2LjQgMCAyNTYgMHMtMTkuNiA2LjctMjIuOCAxNi42bC0zMi4zIDk5LjZMMzcuNiA0LjJ6XCJdXG59O1xuY29uc3QgZmFIb3VzZUxhcHRvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1sYXB0b3AnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImxhcHRvcC1ob3VzZVwiXSwgXCJlMDY2XCIsIFwiTTIxOC4zIDguNWMxMi4zLTExLjMgMzEuMi0xMS4zIDQzLjQgMGwyMDggMTkyYzYuNyA2LjIgMTAuMyAxNC44IDEwLjMgMjMuNWwtMTQ0IDBjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43bDAtMzcuN2MwLTguOC03LjItMTYtMTYtMTZsLTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw2NCAwIDAgMTI4LTE2MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTExMi0zMiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC4xLTM1LjJsMjA4LTE5MnpNMzUyIDMwNGwwIDE0NCAxOTIgMCAwLTE0NC0xOTIgMHptLTQ4LTE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwIDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC00OCAwLTE5MiAwLTQ4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwIDAtMTYwelwiXVxufTtcbmNvbnN0IGZhTGFwdG9wSG91c2UgPSBmYUhvdXNlTGFwdG9wO1xuY29uc3QgZmFGYWNlVGlyZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS10aXJlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1NSwgXCJ0aXJlZFwiXSwgXCJmNWM4XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuNyAzMjguN2MyMi0yMiA1My45LTQwLjcgOTEuMy00MC43czY5LjMgMTguNyA5MS4zIDQwLjdjMTEuMSAxMS4xIDIwLjEgMjMuNCAyNi40IDM1LjRjNi4yIDExLjcgMTAuMyAyNC40IDEwLjMgMzUuOWMwIDUuMi0yLjYgMTAuMi02LjkgMTMuMnMtOS44IDMuNy0xNC43IDEuOGwtMjAuNS03LjdjLTI2LjktMTAuMS01NS41LTE1LjMtODQuMy0xNS4zbC0zLjIgMGMtMjguOCAwLTU3LjMgNS4yLTg0LjMgMTUuM0wxNDkuNiA0MTVjLTQuOSAxLjgtMTAuNCAxLjItMTQuNy0xLjhzLTYuOS03LjktNi45LTEzLjJjMC0xMS42IDQuMi0yNC4yIDEwLjMtMzUuOWM2LjMtMTIgMTUuMy0yNC4zIDI2LjQtMzUuNHptLTMxLjItMTgybDg5LjkgNDcuOWMxMC43IDUuNyAxMC43IDIxLjEgMCAyNi44bC04OS45IDQ3LjljLTcuOSA0LjItMTcuNS0xLjUtMTcuNS0xMC41YzAtMi44IDEtNS41IDIuOC03LjZsMzYtNDMuMi0zNi00My4yYy0xLjgtMi4xLTIuOC00LjgtMi44LTcuNmMwLTkgOS42LTE0LjcgMTcuNS0xMC41ek0zOTYgMTU3LjFjMCAyLjgtMSA1LjUtMi44IDcuNmwtMzYgNDMuMiAzNiA0My4yYzEuOCAyLjEgMi44IDQuOCAyLjggNy42YzAgOS05LjYgMTQuNy0xNy41IDEwLjVsLTg5LjktNDcuOWMtMTAuNy01LjctMTAuNy0yMS4xIDAtMjYuOGw4OS45LTQ3LjljNy45LTQuMiAxNy41IDEuNSAxNy41IDEwLjV6XCJdXG59O1xuY29uc3QgZmFUaXJlZCA9IGZhRmFjZVRpcmVkO1xuY29uc3QgZmFNb25leUJpbGxzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGxzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMWYzXCIsIFwiTTk2IDk2bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQxNiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjR6bTY0IDE2MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwtNjQgMCAwLTY0ek0yMjQgOTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMC02NCA2NCAwek01NzYgMjU2bDAgNjQtNjQgMGMwLTM1LjMgMjguNy02NCA2NC02NHpNNTEyIDk2bDY0IDAgMCA2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTI4OCAyMDhhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAwek00OCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxMDYuNyAwIDEyMEwwIDM2MGMwIDY2LjMgNTMuNyAxMjAgMTIwIDEyMGw0MDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAwIDBjLTM5LjggMC03Mi0zMi4yLTcyLTcybDAtMjQwelwiXVxufTtcbmNvbnN0IGZhU21vZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbW9nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzVmXCIsIFwiTTMyIDE0NGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NGwxMjMuMyAwYzIyLjYgMTkuOSA1Mi4yIDMyIDg0LjcgMzJzNjIuMS0xMi4xIDg0LjctMzJsMjcuMyAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEyYy0xMC43IDAtMjEgMS41LTMwLjggNC4zQzQ0My44IDI3LjcgNDAxLjEgMCAzNTIgMGMtMzIuNiAwLTYyLjQgMTIuMi04NS4xIDMyLjNDMjQyLjEgMTIuMSAyMTAuNSAwIDE3NiAwQzk2LjUgMCAzMiA2NC41IDMyIDE0NHpNNjE2IDM2OGwtMzM2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6bS02NCA5NmwtMTEyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6bS0xOTIgMEwyNCA0NjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6TTIyNCAzOTJjMC0xMy4zLTEwLjctMjQtMjQtMjRMOTYgMzY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhQ3J1dGNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NydXRjaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdmN1wiLCBcIk0yOTcuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDB6bS05NiAxNDRsLTM0LjggMzQuOGMtMTIuOSAxMi45LTIxLjkgMjkuMi0yNS44IDQ3LjFMMTE2LjggMzQyLjljLTEuMyA1LjktNC4zIDExLjQtOC42IDE1LjdMOS40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDk4LjgtOTguOGM0LjMtNC4zIDkuNy03LjMgMTUuNy04LjZsMTA3LjYtMjMuOWMxNy44LTQgMzQuMS0xMi45IDQ3LjEtMjUuOGwzNC43LTM0LjdjMCAwIC4xLS4xIC4xLS4xcy4xLS4xIC4xLS4xbDc0LjYtNzQuNi00NS4zLTQ1LjNMMzM2IDI0Mi43IDI2OS4zIDE3Nmw1Mi4xLTUyLjFMMjc2LjEgNzguNmwtNzQuNyA3NC43ek0yMjQgMjIxLjNMMjkwLjcgMjg4bC0xMi4yIDEyLjJjLTQuMyA0LjMtOS43IDcuMy0xNS43IDguNmwtNzYuNyAxNyAxNy03Ni43YzEuMy01LjkgNC4zLTExLjQgOC42LTE1LjdMMjI0IDIyMS4zelwiXVxufTtcbmNvbnN0IGZhRm9udEF3ZXNvbWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9udC1hd2Vzb21lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjI1MDEsIDYyNjk0LCBcImZvbnQtYXdlc29tZS1mbGFnXCIsIFwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbFwiXSwgXCJmMmI0XCIsIFwiTTkxLjcgOTZDMTA2LjMgODYuOCAxMTYgNzAuNSAxMTYgNTJDMTE2IDIzLjMgOTIuNyAwIDY0IDBTMTIgMjMuMyAxMiA1MmMwIDE2LjcgNy44IDMxLjUgMjAgNDFsMCAzIDAgMzUyIDAgNjQgNjQgMCAwLTY0IDM3My42IDBjMTQuNiAwIDI2LjQtMTEuOCAyNi40LTI2LjRjMC0zLjctLjgtNy4zLTIuMy0xMC43TDQzMiAyNzJsNjEuNy0xMzguOWMxLjUtMy40IDIuMy03IDIuMy0xMC43YzAtMTQuNi0xMS44LTI2LjQtMjYuNC0yNi40TDkxLjcgOTZ6XCJdXG59O1xuY29uc3QgZmFGb250QXdlc29tZUZsYWcgPSBmYUZvbnRBd2Vzb21lO1xuY29uc3QgZmFGb250QXdlc29tZUxvZ29GdWxsID0gZmFGb250QXdlc29tZTtcbmNvbnN0IGZhQ2xvdWRBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLWFycm93LXVwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbNjIzMzgsIFwiY2xvdWQtdXBsb2FkXCIsIFwiY2xvdWQtdXBsb2FkLWFsdFwiXSwgXCJmMGVlXCIsIFwiTTE0NCA0ODBDNjQuNSA0ODAgMCA0MTUuNSAwIDMzNmMwLTYyLjggNDAuMi0xMTYuMiA5Ni4yLTEzNS45Yy0uMS0yLjctLjItNS40LS4yLTguMWMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MGM1OS4zIDAgMTExIDMyLjIgMTM4LjcgODAuMkM0MDkuOSAxMDIgNDI4LjMgOTYgNDQ4IDk2YzUzIDAgOTYgNDMgOTYgOTZjMCAxMi4yLTIuMyAyMy44LTYuNCAzNC42QzU5NiAyMzguNCA2NDAgMjkwLjEgNjQwIDM1MmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMzY4IDB6bTc5LTIxN2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDM5LTM5TDI5NiAzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEzNC4xIDM5IDM5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODAtODBjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC04MCA4MHpcIl1cbn07XG5jb25zdCBmYUNsb3VkVXBsb2FkID0gZmFDbG91ZEFycm93VXA7XG5jb25zdCBmYUNsb3VkVXBsb2FkQWx0ID0gZmFDbG91ZEFycm93VXA7XG5jb25zdCBmYVBhbGV0dGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFsZXR0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkxMl0sIFwiZjUzZlwiLCBcIk01MTIgMjU2YzAgLjkgMCAxLjggMCAyLjdjLS40IDM2LjUtMzMuNiA2MS4zLTcwLjEgNjEuM0wzNDQgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGMwIDMuNCAuNCA2LjcgMSA5LjljMi4xIDEwLjIgNi41IDIwIDEwLjggMjkuOWM2LjEgMTMuOCAxMi4xIDI3LjUgMTIuMSA0MmMwIDMxLjgtMjEuNiA2MC43LTUzLjQgNjJjLTMuNSAuMS03IC4yLTEwLjYgLjJDMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZTMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NnpNMTI4IDI4OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wLTk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMjg4IDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUFycm93c1R1cm5SaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdHVybi1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTRjMFwiLCBcIk0yOTcuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wzMzguNyAxNjAgMTI4IDE2MGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyQzAgMTUzLjMgNTcuMyA5NiAxMjggOTZsMjEwLjcgMEwyOTcuNCA1NC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3ptLTk2IDI1NmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw5NiA5NmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0Mi43IDQxNiA5NiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMmMwLTUzIDQzLTk2IDk2LTk2bDE0Ni43IDAtNDEuNC00MS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG5jb25zdCBmYVZlc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmVzdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA4NVwiLCBcIk0yMDcuMSAyMzcuNEwxNTEuMiA2OS43QzE2OC42IDc5LjcgMTkyLjYgODggMjI0IDg4czU1LjQtOC4zIDcyLjgtMTguM0wyMjYuNSAyODAuNmMtMS42IDQuOS0yLjUgMTAtMi41IDE1LjJMMjI0IDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5My41YzAtOS41LTIuOC0xOC43LTguMS0yNi42bC00Ny45LTcxLjhjLTUuMy03LjktOC4xLTE3LjEtOC4xLTI2LjZsMC0xNy41IDAtNzMuNyAwLTYuM2MwLTI2LjUtMjEuNS00OC00OC00OGwtNC41IDBjLS4yIDAtLjQgMC0uNiAwYy0uNCAwLS44IDAtMS4yIDBDMzExIDAgMjk1LjcgOS43IDI4NS43IDE4LjhDMjc2LjQgMjcuMiAyNTcuMiA0MCAyMjQgNDBzLTUyLjQtMTIuOC02MS43LTIxLjJDMTUyLjMgOS43IDEzNyAwIDExOC4zIDBjLS40IDAtLjggMC0xLjIgMGMtLjIgMC0uNCAwLS42IDBMMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCA2LjNMNjQgMTI4bDAgMTcuNWMwIDkuNS0yLjggMTguNy04LjEgMjYuNkw4LjEgMjQzLjlDMi44IDI1MS44IDAgMjYxLjEgMCAyNzAuNUwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGM5LjkgMCAxOS0zIDI2LjctOC4xQzE5NS45IDQ5Mi4yIDE5MiA0NzguNSAxOTIgNDY0bDAtMTY4LjJjMC04LjYgMS40LTE3LjEgNC4xLTI1LjNsMTEtMzMuMXpNMzQ3LjMgMzU2LjdsNDggNDhjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNDgtNDhjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMHptLTI5NC42IDQ4bDQ4LTQ4YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNmwtNDggNDhjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFGZXJyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmZXJyeScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlYVwiLCBcIk0yMjQgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmw3NS4xIDBjMjAuNiAwIDMxLjYgMjQuMyAxOC4xIDM5LjhMNDU2IDk2IDEyMCA5NiA5OC44IDcxLjhDODUuMyA1Ni4zIDk2LjMgMzIgMTE2LjkgMzJMMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiAxMjhsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjMuNWMwIDEzLjMtNC4yIDI2LjMtMTEuOSAzNy4ybC01MS40IDcxLjljLTEuOSAxLjEtMy43IDIuMi01LjUgMy41Yy0xNS41IDEwLjctMzQgMTgtNTEgMTkuOWwtMTYuNSAwYy0xNy4xLTEuOC0zNS05LTUwLjgtMTkuOWMtMjIuMS0xNS41LTUxLjYtMTUuNS03My43IDBjLTE0LjggMTAuMi0zMi41IDE4LTUwLjYgMTkuOWwtMTYuNiAwYy0xNy0xLjgtMzUuNi05LjItNTEtMTkuOWMtMS44LTEuMy0zLjctMi40LTUuNi0zLjVMNzUuOSAzMjAuN0M2OC4yIDMwOS44IDY0IDI5Ni44IDY0IDI4My41TDY0IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMzIgNjRsMCA5NiAzMjAgMCAwLTk2LTMyMCAwek0zMDYuNSA0MjEuOUMzMjkgNDM3LjQgMzU2LjUgNDQ4IDM4NCA0NDhjMjYuOSAwIDU1LjMtMTAuOCA3Ny40LTI2LjFjMCAwIDAgMCAwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA1MDEuNyA0MTcgNTEyIDM4NCA1MTJjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43YzAgMCAwIDAgMCAwQzEzNi43IDQzNy4yIDE2NS4xIDQ0OCAxOTIgNDQ4YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dzRG93blRvUGVvcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1kb3duLXRvLXBlb3BsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRiOVwiLCBcIk0xNDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTguMUw5NyAxMTljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNjQgNjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNjQtNjRjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjNMMTY4IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zNjAgMjAwYTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6TTE4NCAyOTZhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMzEyIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpNMjAwIDQ0MS41bDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM2LjMtNjcuNWMxLjctMS43IDMuMi0zLjYgNC4zLTUuOEwyNjQgMzQ1LjVsMCA1NC41YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC01NC41IDI2LjkgNDkuOWMxLjIgMi4yIDIuNiA0LjEgNC4zIDUuOGwtMzYuMyA2Ny41Yy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEw0NDAgNDQxLjVsMCAzOC41YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zOC41IDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM3LjktNzAuM2MtMTUuMy0yOC41LTQ1LjEtNDYuMy03Ny41LTQ2LjNsLTE5LjUgMGMtMTYuMyAwLTMxLjkgNC41LTQ1LjQgMTIuNmwtMzMuNi02Mi4zYy0xNS4zLTI4LjUtNDUuMS00Ni4zLTc3LjUtNDYuM2wtMTkuNSAwYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM2wtMzMuNiA2Mi4zYy0xMy41LTguMS0yOS4xLTEyLjYtNDUuNC0xMi42bC0xOS41IDBjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zTDE4LjkgNDY4LjZjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDg4IDQ0MS41IDg4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzguNXpNNDE1IDE1M2w2NCA2NGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw2NC02NGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0yMyAyM0w1MjAgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMTguMS0yMy0yM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG5jb25zdCBmYVNlZWRsaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NlZWRsaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzkzLCBcInNwcm91dFwiXSwgXCJmNGQ4XCIsIFwiTTUxMiAzMmMwIDExMy42LTg0LjYgMjA3LjUtMTk0LjIgMjIyYy03LjEtNTMuNC0zMC42LTEwMS42LTY1LjMtMTM5LjNDMjkwLjggNDYuMyAzNjQgMCA0NDggMGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDMyIDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNGwwIDMyIDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwQzEwMC4zIDMyMCAwIDIxOS43IDAgOTZ6XCJdXG59O1xuY29uc3QgZmFTcHJvdXQgPSBmYVNlZWRsaW5nO1xuY29uc3QgZmFMZWZ0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVmdC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzg1OTYsIFwiYXJyb3dzLWFsdC1oXCJdLCBcImYzMzdcIiwgXCJNNTA0LjMgMjczLjZjNC45LTQuNSA3LjctMTAuOSA3LjctMTcuNnMtMi44LTEzLTcuNy0xNy42bC0xMTItMTA0Yy03LTYuNS0xNy4yLTguMi0yNS45LTQuNHMtMTQuNCAxMi41LTE0LjQgMjJsMCA1Ni0xOTIgMCAwLTU2YzAtOS41LTUuNy0xOC4yLTE0LjQtMjJzLTE4LjktMi4xLTI1LjkgNC40bC0xMTIgMTA0QzIuOCAyNDMgMCAyNDkuMyAwIDI1NnMyLjggMTMgNy43IDE3LjZsMTEyIDEwNGM3IDYuNSAxNy4yIDguMiAyNS45IDQuNHMxNC40LTEyLjUgMTQuNC0yMmwwLTU2IDE5MiAwIDAgNTZjMCA5LjUgNS43IDE4LjIgMTQuNCAyMnMxOC45IDIuMSAyNS45LTQuNGwxMTItMTA0elwiXVxufTtcbmNvbnN0IGZhQXJyb3dzQWx0SCA9IGZhTGVmdFJpZ2h0O1xuY29uc3QgZmFCb3hlc1BhY2tpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94ZXMtcGFja2luZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRjN1wiLCBcIk0yNTYgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhMNTkyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTIxMC43IDBjMS44LTUgMi43LTEwLjQgMi43LTE2bDAtMjQyLjdjMTguNi02LjYgMzItMjQuNCAzMi00NS4zbDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTExMiAwIDAtODB6TTU3MS4zIDM0Ny4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC02NC02NGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTY0IDY0Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDgwIDMxMC42IDQ4MCA0MzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTEyMS40IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHpNMCAxNzZjMC04LjggNy4yLTE2IDE2LTE2bDM1MiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNkwxNiAyMjRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0zNTIgODBsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJMNjQgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIyNCAzMjAgMHpNMTQ0IDMyMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw5NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC05NiAwelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlQXJyb3dMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1hcnJvdy1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtbGVmdFwiXSwgXCJmMGE4XCIsIFwiTTUxMiAyNTZBMjU2IDI1NiAwIDEgMCAwIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwek0yMTUgMTI3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNzEgNzFMMzkyIDIzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjE0LjEgMCA3MSA3MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDEwMyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDIxNSAxMjd6XCJdXG59O1xuY29uc3QgZmFBcnJvd0NpcmNsZUxlZnQgPSBmYUNpcmNsZUFycm93TGVmdDtcbmNvbnN0IGZhR3JvdXBBcnJvd3NSb3RhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JvdXAtYXJyb3dzLXJvdGF0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRmNlwiLCBcIk0yMDEuMSA3MS45YzE2LjktNSAyNi42LTIyLjkgMjEuNS0zOS44cy0yMi45LTI2LjYtMzkuOC0yMS41Yy0yMS41IDYuNC00MS44IDE1LjUtNjAuNiAyN0MxMTQuMyAzNCAxMDUuNCAzMiA5NiAzMkM2MC43IDMyIDMyIDYwLjcgMzIgOTZjMCA5LjQgMiAxOC4zIDUuNiAyNi4zYy0xMS41IDE4LjctMjAuNiAzOS0yNyA2MC42Yy01IDE2LjkgNC42IDM0LjggMjEuNSAzOS44czM0LjgtNC42IDM5LjgtMjEuNWM0LjMtMTQuNiAxMC40LTI4LjUgMTcuOS00MS40YzIgLjIgNC4xIC4zIDYuMSAuM2MzNS4zIDAgNjQtMjguNyA2NC02NGMwLTIuMS0uMS00LjEtLjMtNi4xYzEyLjktNy41IDI2LjgtMTMuNiA0MS40LTE3Ljl6bTEyOC02MS4zYy0xNi45LTUtMzQuOCA0LjYtMzkuOCAyMS41czQuNiAzNC44IDIxLjUgMzkuOGMxNC42IDQuMyAyOC41IDEwLjQgNDEuNCAxNy45Yy0uMiAyLS4zIDQuMS0uMyA2LjFjMCAzNS4zIDI4LjcgNjQgNjQgNjRjMi4xIDAgNC4xLS4xIDYuMi0uM2M3LjUgMTIuOSAxMy42IDI2LjggMTcuOSA0MS40YzUgMTYuOSAyMi45IDI2LjYgMzkuOCAyMS41czI2LjYtMjIuOSAyMS41LTM5LjhjLTYuNC0yMS41LTE1LjUtNDEuOC0yNy02MC42YzMuNi04IDUuNi0xNi45IDUuNi0yNi4zYzAtMzUuMy0yOC43LTY0LTY0LTY0Yy05LjQgMC0xOC4zIDItMjYuMyA1LjZjLTE4LjctMTEuNS0zOS0yMC42LTYwLjYtMjd6TTcxLjkgMzEwLjljLTUtMTYuOS0yMi45LTI2LjYtMzkuOC0yMS41cy0yNi42IDIyLjktMjEuNSAzOS44YzYuNCAyMS41IDE1LjUgNDEuOCAyNyA2MC42QzM0IDM5Ny43IDMyIDQwNi42IDMyIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGM5LjQgMCAxOC4zLTIgMjYuMy01LjZjMTguNyAxMS41IDM5IDIwLjYgNjAuNiAyN2MxNi45IDUgMzQuOC00LjYgMzkuOC0yMS41cy00LjYtMzQuOC0yMS41LTM5LjhjLTE0LjYtNC4zLTI4LjUtMTAuNC00MS40LTE3LjljLjItMiAuMy00LjEgLjMtNi4yYzAtMzUuMy0yOC43LTY0LTY0LTY0Yy0yLjEgMC00LjEgLjEtNi4yIC4zYy03LjUtMTIuOS0xMy42LTI2LjgtMTcuOS00MS40em00MjkuNCAxOC4zYzUtMTYuOS00LjYtMzQuOC0yMS41LTM5LjhzLTM0LjggNC42LTM5LjggMjEuNWMtNC4zIDE0LjYtMTAuNCAyOC41LTE3LjkgNDEuNGMtMi0uMi00LjEtLjMtNi4yLS4zYy0zNS4zIDAtNjQgMjguNy02NCA2NGMwIDIuMSAuMSA0LjEgLjMgNi4yYy0xMi45IDcuNS0yNi44IDEzLjYtNDEuNCAxNy45Yy0xNi45IDUtMjYuNiAyMi45LTIxLjUgMzkuOHMyMi45IDI2LjYgMzkuOCAyMS41YzIxLjUtNi40IDQxLjgtMTUuNSA2MC42LTI3YzggMy42IDE2LjkgNS42IDI2LjMgNS42YzM1LjMgMCA2NC0yOC43IDY0LTY0YzAtOS40LTItMTguMy01LjYtMjYuM2MxMS41LTE4LjcgMjAuNi0zOSAyNy02MC42ek0xOTIuOCAyNTYuOGMwLTE1LjYgNS42LTI5LjkgMTQuOS00MS4xTDIyMyAyMzFjNi42IDYuNiAxNy44IDEuOSAxNy44LTcuNGwwLTYwLjVjMC01LjctNC43LTEwLjQtMTAuNC0xMC40bC02MC41IDBjLTkuMyAwLTEzLjkgMTEuMi03LjQgMTcuOGwxMS4yIDExLjJjLTE3LjkgMTkuOC0yOC45IDQ2LjItMjguOSA3NS4xYzAgNDMuNiAyNC45IDgxLjMgNjEuMSA5OS44YzExLjggNiAyNi4zIDEuNCAzMi4zLTEwLjRzMS40LTI2LjMtMTAuNC0zMi4zYy0yMC44LTEwLjYtMzQuOS0zMi4yLTM0LjktNTd6bTkzLjEtNTguNmMyMC44IDEwLjYgMzQuOSAzMi4yIDM0LjkgNTdjMCAxNS42LTUuNiAyOS45LTE0LjkgNDEuMUwyOTAuNiAyODFjLTYuNi02LjYtMTcuOC0xLjktMTcuOCA3LjRsMCA2MC41YzAgNS43IDQuNyAxMC40IDEwLjQgMTAuNGw2MC41IDBjOS4zIDAgMTMuOS0xMS4yIDcuNC0xNy44bC0xMS4yLTExLjJjMTcuOS0xOS44IDI4LjktNDYuMiAyOC45LTc1LjFjMC00My42LTI0LjktODEuMy02MS4xLTk5LjhjLTExLjgtNi0yNi4zLTEuNC0zMi4zIDEwLjRzLTEuNCAyNi4zIDEwLjQgMzIuM3pcIl1cbn07XG5jb25zdCBmYUJvd2xGb29kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvd2wtZm9vZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRjNlwiLCBcIk0wIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGMuNSAwIDEuMSAwIDEuNiAwQzczIDkxLjUgMTA1LjMgNjQgMTQ0IDY0YzE1IDAgMjkgNC4xIDQwLjkgMTEuMkMxOTguMiA0OS42IDIyNS4xIDMyIDI1NiAzMnM1Ny44IDE3LjYgNzEuMSA0My4yQzMzOSA2OC4xIDM1MyA2NCAzNjggNjRjMzguNyAwIDcxIDI3LjUgNzguNCA2NGMuNSAwIDEuMSAwIDEuNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0YzAgMTEuNy0zLjEgMjIuNi04LjYgMzJMOC42IDIyNEMzLjEgMjE0LjYgMCAyMDMuNyAwIDE5MnptMCA5MS40QzAgMjY4LjMgMTIuMyAyNTYgMjcuNCAyNTZsNDU3LjEgMGMxNS4xIDAgMjcuNCAxMi4zIDI3LjQgMjcuNGMwIDcwLjUtNDQuNCAxMzAuNy0xMDYuNyAxNTQuMUw0MDMuNSA0NTJjLTIgMTYtMTUuNiAyOC0zMS44IDI4bC0yMzEuNSAwYy0xNi4xIDAtMjkuOC0xMi0zMS44LTI4bC0xLjgtMTQuNEM0NC40IDQxNC4xIDAgMzUzLjkgMCAyODMuNHpcIl1cbn07XG5jb25zdCBmYUNhbmR5Q2FuZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYW5keS1jYW5lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzg2XCIsIFwiTTM0OC44IDEzMS41YzMuNy0yLjMgNy45LTMuNSAxMi4yLTMuNWMxMi43IDAgMjMgMTAuMyAyMyAyM2wwIDUuNmMwIDkuOS01LjEgMTkuMS0xMy41IDI0LjNMMzAuMSAzOTMuN0MuMSA0MTIuNS05IDQ1MS45IDkuNyA0ODEuOXM1OC4yIDM5LjEgODguMiAyMC40TDQzOC40IDI4OS41YzQ1LjgtMjguNiA3My42LTc4LjggNzMuNi0xMzIuOGwwLTUuNkM1MTIgNjcuNiA0NDQuNCAwIDM2MSAwYy0yOC4zIDAtNTYgOC04MC4xIDIzTDI1NC4xIDM5LjdjLTMwIDE4LjctMzkuMSA1OC4yLTIwLjQgODguMnM1OC4yIDM5LjEgODguMiAyMC40bDI2LjgtMTYuOHpNMjk4LjQgNDkuOGM5LjItNS43IDE5LjEtMTAuMSAyOS40LTEzLjFMMzQ4IDk3LjVjLTUuNyAxLjQtMTEuMiAzLjctMTYuMyA2LjhsLTEyLjYgNy45TDI5OC40IDQ5Ljh6bTg4LjUgNTIuN2w0Ni4yLTQ2LjJjOC41IDYuNSAxNi4xIDE0LjEgMjIuNiAyMi42bC00Ni4yIDQ2LjJjLTUuMS05LjYtMTMtMTcuNS0yMi42LTIyLjZ6bTI4LjkgNTkuM2w2MS42IDIwLjVjLTIuMiAxMC41LTUuOCAyMC43LTEwLjUgMzAuMmwtNjItMjAuN2M2LjItOC44IDEwLjEtMTkuMSAxMS0zMC4xem0tODYuMSA4Mi41bDYwLjQgMzcuNy0zMC4yIDE4LjktNjAuNC0zNy43IDMwLjItMTguOXptLTEwNy4yIDY3bDYwLjQgMzcuNy0zMC4yIDE4LjktNjAuNC0zNy43IDMwLjItMTguOXpNMTE5LjMgMzc1LjdsNjAuNCAzNy43LTMwLjIgMTguOUw4OS4xIDM5NC42bDMwLjItMTguOXpcIl1cbn07XG5jb25zdCBmYUFycm93RG93bldpZGVTaG9ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duLXdpZGUtc2hvcnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYW1vdW50LWFzY1wiLCBcInNvcnQtYW1vdW50LWRvd25cIl0sIFwiZjE2MFwiLCBcIk0xNTEuNiA0NjkuNkMxNDUuNSA0NzYuMiAxMzcgNDgwIDEyOCA0ODBzLTE3LjUtMy44LTIzLjYtMTAuNGwtODgtOTZjLTExLjktMTMtMTEuMS0zMy4zIDItNDUuMnMzMy4zLTExLjEgNDUuMiAyTDk2IDM2NS43IDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDEuNyAzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIwIDk2elwiXVxufTtcbmNvbnN0IGZhU29ydEFtb3VudEFzYyA9IGZhQXJyb3dEb3duV2lkZVNob3J0O1xuY29uc3QgZmFTb3J0QW1vdW50RG93biA9IGZhQXJyb3dEb3duV2lkZVNob3J0O1xuY29uc3QgZmFDbG91ZEJvbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtYm9sdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc4NSwgXCJ0aHVuZGVyc3Rvcm1cIl0sIFwiZjc2Y1wiLCBcIk0wIDIyNGMwIDUzIDQzIDk2IDk2IDk2bDQ3LjIgMEwyOTAgMjAyLjVjMTcuNi0xNC4xIDQyLjYtMTQgNjAuMiAuMnMyMi44IDM4LjYgMTIuOCA1OC44TDMzMy43IDMyMGwxOC4zIDAgNjQgMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtLjUgMC0xLjEgMC0xLjYgMGMxLjEtNS4yIDEuNi0xMC41IDEuNi0xNmMwLTQ0LjItMzUuOC04MC04MC04MGMtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4QzI1Ni41IDI0LjMgMjE5LjEgMCAxNzYgMEMxMTQuMSAwIDY0IDUwLjEgNjQgMTEyYzAgNy4xIC43IDE0LjEgMS45IDIwLjhDMjcuNiAxNDUuNCAwIDE4MS41IDAgMjI0em0zMzAuMSAzLjZjLTUuOC00LjctMTQuMi00LjctMjAuMS0uMWwtMTYwIDEyOGMtNS4zIDQuMi03LjQgMTEuNC01LjEgMTcuOHM4LjMgMTAuNyAxNS4xIDEwLjdsNzAuMSAwTDE3Ny43IDQ4OC44Yy0zLjQgNi43LTEuNiAxNC45IDQuMyAxOS42czE0LjIgNC43IDIwLjEgLjFsMTYwLTEyOGM1LjMtNC4yIDcuNC0xMS40IDUuMS0xNy44cy04LjMtMTAuNy0xNS4xLTEwLjdsLTcwLjEgMCA1Mi40LTEwNC44YzMuNC02LjcgMS42LTE0LjktNC4yLTE5LjZ6XCJdXG59O1xuY29uc3QgZmFUaHVuZGVyc3Rvcm0gPSBmYUNsb3VkQm9sdDtcbmNvbnN0IGZhVGV4dFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RleHQtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInJlbW92ZS1mb3JtYXRcIl0sIFwiZjg3ZFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDM1NS43IDI1My41IDQwMC4yIDk2IDUwMyA5NiA0OTcgMTIwLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMTEtNDQuMUM1NzcuNiA2MS4zIDU1NC43IDMyIDUyMy41IDMyTDM3Ni4xIDMybC0uMyAwTDIwNC41IDMyYy0yMiAwLTQxLjIgMTUtNDYuNiAzNi40bC02LjMgMjUuMkwzOC44IDUuMXptMTY4IDEzMS43Yy4xLS4zIC4yLS43IC4zLTFMMjE3IDk2bDExNi43IDBMMzAxLjMgMjEwLjhsLTk0LjUtNzQuMXpNMjQzLjMgNDE2TDE5MiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQyLjIgMCAxNy42LTYyLjFMMjcyLjkgMzExIDI0My4zIDQxNnpcIl1cbn07XG5jb25zdCBmYVJlbW92ZUZvcm1hdCA9IGZhVGV4dFNsYXNoO1xuY29uc3QgZmFGYWNlU21pbGVXaW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Utc21pbGUtd2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUyMSwgXCJzbWlsZS13aW5rXCJdLCBcImY0ZGFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC4xIDMyNS41QzE4MiAzNDYuMiAyMTIuNiAzNjggMjU2IDM2OHM3NC0yMS44IDkxLjktNDIuNWM1LjgtNi43IDE1LjktNy40IDIyLjYtMS42czcuNCAxNS45IDEuNiAyMi42QzM0OS44IDM3Mi4xIDMxMS4xIDQwMCAyNTYgNDAwcy05My44LTI3LjktMTE2LjEtNTMuNWMtNS44LTYuNy01LjEtMTYuOCAxLjYtMjIuNnMxNi44LTUuMSAyMi42IDEuNnpNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE1Ni40IDI1LjZjLTUuMyA3LjEtMTUuMyA4LjUtMjIuNCAzLjJzLTguNS0xNS4zLTMuMi0yMi40YzMwLjQtNDAuNSA5MS4yLTQwLjUgMTIxLjYgMGM1LjMgNy4xIDMuOSAxNy4xLTMuMiAyMi40cy0xNy4xIDMuOS0yMi40LTMuMmMtMTcuNi0yMy41LTUyLjgtMjMuNS03MC40IDB6XCJdXG59O1xuY29uc3QgZmFTbWlsZVdpbmsgPSBmYUZhY2VTbWlsZVdpbms7XG5jb25zdCBmYUZpbGVXb3JkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtd29yZCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjFjMlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTExMSAyNTcuMWwyNi44IDg5LjIgMzEuNi05MC4zYzMuNC05LjYgMTIuNS0xNi4xIDIyLjctMTYuMXMxOS4zIDYuNCAyMi43IDE2LjFsMzEuNiA5MC4zTDI3MyAyNTcuMWMzLjgtMTIuNyAxNy4yLTE5LjkgMjkuOS0xNi4xczE5LjkgMTcuMiAxNi4xIDI5LjlsLTQ4IDE2MGMtMyAxMC0xMiAxNi45LTIyLjQgMTcuMXMtMTkuOC02LjItMjMuMi0xNi4xTDE5MiAzMzYuNmwtMzMuMyA5NS4zYy0zLjQgOS44LTEyLjggMTYuMy0yMy4yIDE2LjFzLTE5LjUtNy4xLTIyLjQtMTcuMWwtNDgtMTYwYy0zLjgtMTIuNyAzLjQtMjYuMSAxNi4xLTI5LjlzMjYuMSAzLjQgMjkuOSAxNi4xelwiXVxufTtcbmNvbnN0IGZhRmlsZVBvd2VycG9pbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1wb3dlcnBvaW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMWM0XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNMTM2IDI0MGw2OCAwYzQyIDAgNzYgMzQgNzYgNzZzLTM0IDc2LTc2IDc2bC00NCAwIDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC01NiAwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptNjggMTA0YzE1LjUgMCAyOC0xMi41IDI4LTI4cy0xMi41LTI4LTI4LTI4bC00NCAwIDAgNTYgNDQgMHpcIl1cbn07XG5jb25zdCBmYUFycm93c0xlZnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtbGVmdC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3dzLWhcIl0sIFwiZjA3ZVwiLCBcIk00MDYuNiAzNzQuNmw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQwMi43IDIyNGwtMjkzLjUgMCA0MS40LTQxLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDI4OGwyOTMuNSAwLTQxLjQgNDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHpcIl1cbn07XG5jb25zdCBmYUFycm93c0ggPSBmYUFycm93c0xlZnRSaWdodDtcbmNvbnN0IGZhSG91c2VMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTBcIiwgXCJNMzg0IDQ4MGMwIDExLjcgMy4xIDIyLjYgOC42IDMybC0uNiAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTI0IDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjQgMCAyNGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMjQgMC0zMS45IDBjLTEuNSAwLTMtLjEtNC41LS4yYy0xLjIgLjEtMi40IC4yLTMuNiAuMmwtMTYgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xMTJjMC0uOSAwLTEuOSAuMS0yLjhsMC02OS43LTMyIDBjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQ5MC43IDE2Ni4zQzQ0Ny4yIDE4MS43IDQxNiAyMjMuMiA0MTYgMjcybDAgMjQuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwwIDEyOHpNNTI4IDI0MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OCA2NCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS04MCAzMmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTQ4elwiXVxufTtcbmNvbnN0IGZhQ2xvdWRBcnJvd0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtYXJyb3ctZG93bicsXG4gIGljb246IFs2NDAsIDUxMiwgWzYyMzM3LCBcImNsb3VkLWRvd25sb2FkXCIsIFwiY2xvdWQtZG93bmxvYWQtYWx0XCJdLCBcImYwZWRcIiwgXCJNMTQ0IDQ4MEM2NC41IDQ4MCAwIDQxNS41IDAgMzM2YzAtNjIuOCA0MC4yLTExNi4yIDk2LjItMTM1LjljLS4xLTIuNy0uMi01LjQtLjItOC4xYzAtODguNCA3MS42LTE2MCAxNjAtMTYwYzU5LjMgMCAxMTEgMzIuMiAxMzguNyA4MC4yQzQwOS45IDEwMiA0MjguMyA5NiA0NDggOTZjNTMgMCA5NiA0MyA5NiA5NmMwIDEyLjItMi4zIDIzLjgtNi40IDM0LjZDNTk2IDIzOC40IDY0MCAyOTAuMSA2NDAgMzUyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0zNjggMHptNzktMTY3bDgwIDgwYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDgwLTgwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTM5IDM5TDM0NCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMzQuMS0zOS0zOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG5jb25zdCBmYUNsb3VkRG93bmxvYWQgPSBmYUNsb3VkQXJyb3dEb3duO1xuY29uc3QgZmFDbG91ZERvd25sb2FkQWx0ID0gZmFDbG91ZEFycm93RG93bjtcbmNvbnN0IGZhQ2hpbGRyZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGRyZW4nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZTFcIiwgXCJNMTYwIDBhNjQgNjQgMCAxIDEgMCAxMjhBNjQgNjQgMCAxIDEgMTYwIDB6TTg4IDQ4MGwwLTgwLTE3LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFsMzEuMS05My40TDU3LjUgMzIzLjNjLTEwLjcgMTQuMS0zMC44IDE2LjgtNDQuOCA2LjJzLTE2LjgtMzAuNy02LjItNDQuOEw2NS40IDIwN2MyMi40LTI5LjYgNTcuNS00NyA5NC42LTQ3czcyLjIgMTcuNCA5NC42IDQ3bDU4LjkgNzcuN2MxMC43IDE0LjEgNy45IDM0LjItNi4yIDQ0LjhzLTM0LjIgNy45LTQ0LjgtNi4ybC0yOC42LTM3LjhMMjY1IDM3OC45YzMuNSAxMC40LTQuMyAyMS4xLTE1LjIgMjEuMUwyMzIgNDAwbDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04MC0xNiAwIDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6TTQ4MCAwYTY0IDY0IDAgMSAxIDAgMTI4QTY0IDY0IDAgMSAxIDQ4MCAwem0tOCAzODRsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE3OS41TDM5NS4xIDMyMWMtOS40IDE1LTI5LjIgMTkuNC00NC4xIDEwcy0xOS40LTI5LjItMTAtNDQuMWw1MS43LTgyLjFjMTcuNi0yNy45IDQ4LjMtNDQuOSA4MS4yLTQ0LjlsMTIuMyAwYzMzIDAgNjMuNyAxNi45IDgxLjIgNDQuOUw2MTkuMSAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBMNTUyIDMwMC41IDU1MiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0xNiAwelwiXVxufTtcbmNvbnN0IGZhQ2hhbGtib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFsa2JvYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJibGFja2JvYXJkXCJdLCBcImY1MWJcIiwgXCJNOTYgMzJDNjAuNyAzMiAzMiA2MC43IDMyIDk2bDAgMjg4IDY0IDBMOTYgOTZsMzg0IDAgMCAyODggNjQgMCAwLTI4OGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAzMnpNMjI0IDM4NGwwIDMyTDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhQmxhY2tib2FyZCA9IGZhQ2hhbGtib2FyZDtcbmNvbnN0IGZhVXNlckxhcmdlU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1sYXJnZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1widXNlci1hbHQtc2xhc2hcIl0sIFwiZjRmYVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDM4MS45IDI3NGM0OC41LTIzLjIgODIuMS03Mi43IDgyLjEtMTMwQzQ2NCA2NC41IDM5OS41IDAgMzIwIDBDMjUwLjQgMCAxOTIuNCA0OS4zIDE3OC45IDExNC45TDM4LjggNS4xek01NDUuNSA1MTJMNTI4IDUxMiAyODQuMyAzMjBsLTU5IDBDMTM2LjIgMzIwIDY0IDM5Mi4yIDY0IDQ4MS4zYzAgMTcgMTMuOCAzMC43IDMwLjcgMzAuN2w0NTAuNiAwIC4zIDB6XCJdXG59O1xuY29uc3QgZmFVc2VyQWx0U2xhc2ggPSBmYVVzZXJMYXJnZVNsYXNoO1xuY29uc3QgZmFFbnZlbG9wZU9wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZW52ZWxvcGUtb3BlbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMTM1XSwgXCJmMmI2XCIsIFwiTTY0IDIwOC4xTDI1NiA2NS45IDQ0OCAyMDguMWwwIDQ3LjRMMjg5LjUgMzczYy05LjcgNy4yLTIxLjQgMTEtMzMuNSAxMXMtMjMuOC0zLjktMzMuNS0xMUw2NCAyNTUuNWwwLTQ3LjR6TTI1NiAwYy0xMi4xIDAtMjMuOCAzLjktMzMuNSAxMUwyNS45IDE1Ni43QzkuNiAxNjguOCAwIDE4Ny44IDAgMjA4LjFMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMzkuOWMwLTIwLjMtOS42LTM5LjQtMjUuOS01MS40TDI4OS41IDExQzI3OS44IDMuOSAyNjguMSAwIDI1NiAwelwiXVxufTtcbmNvbnN0IGZhSGFuZHNoYWtlU2ltcGxlU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHNoYWtlLXNpbXBsZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiaGFuZHNoYWtlLWFsdC1zbGFzaFwiXSwgXCJlMDVmXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTEzNS0xMDUuOGMtMS4xLTExLjQtNi4zLTIyLjMtMTUuMy0zMC43bC0xMzQuMi0xMjMtMjMuNCAxOC4yLTI2LTIwLjMgNzcuMi02MC4xYzctNS40IDE3LTQuMiAyMi41IDIuOHM0LjIgMTctMi44IDIyLjVsLTIwLjkgMTYuMkw1NTAuMiAzNTJsNDEuOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC03NiAwLTQgMC0uNyAwLTMuOS0yLjVMNDM0LjggNzljLTE1LjMtOS44LTMzLjItMTUtNTEuNC0xNWMtMjEuOCAwLTQzIDcuNS02MCAyMS4ybC04OS43IDcyLjYtMjUuOC0yMC4zIDgxLjgtNjYuMmMtMTEuNi00LjktMjQuMS03LjQtMzYuOC03LjRDMjM0IDY0IDIxNS43IDY5LjYgMjAwIDgwbC0zNS41IDIzLjdMMzguOCA1LjF6TTAgMTc2TDAgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEwOC4yIDAgOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45Yy44LS44IDEuNS0xLjcgMi4yLTIuNkw0MS4yIDEyOC41QzE3LjkgMTMxLjggMCAxNTEuOCAwIDE3NnpcIl1cbn07XG5jb25zdCBmYUhhbmRzaGFrZUFsdFNsYXNoID0gZmFIYW5kc2hha2VTaW1wbGVTbGFzaDtcbmNvbnN0IGZhTWF0dHJlc3NQaWxsb3cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWF0dHJlc3MtcGlsbG93JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTI1XCIsIFwiTTI1NiA2NEw2NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMCAwLTM4NHptMzIgMzg0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDI4OCA2NGwwIDM4NHpNNjQgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTkyelwiXVxufTtcbmNvbnN0IGZhR3VhcmFuaVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3VhcmFuaS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMTlhXCIsIFwiTTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM0LjdDNjkuMiA4MS45IDAgMTYwLjkgMCAyNTZzNjkuMiAxNzQuMSAxNjAgMTg5LjNsMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNC43YzkwLjgtMTUuMiAxNjAtOTQuMiAxNjAtMTg5LjNjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwIDAtOTJjMjIuMSA1LjcgNDEuOCAxNy4xIDU3LjYgMzIuNmMxMi42IDEyLjQgMzIuOSAxMi4yIDQ1LjMtLjRzMTIuMi0zMi45LS41LTQ1LjNDMjk5IDkyIDI2My41IDczLjMgMjI0IDY2LjdMMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0xNjAgMTMyTDE2MCAzODBjLTU1LjItMTQuMi05Ni02NC4zLTk2LTEyNHM0MC44LTEwOS44IDk2LTEyNHpNMjI0IDM4MGwwLTkyIDkyIDBjLTExLjYgNDUtNDcgODAuNC05MiA5MnpcIl1cbn07XG5jb25zdCBmYUFycm93c1JvdGF0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3Mtcm90YXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDcyLCBcInJlZnJlc2hcIiwgXCJzeW5jXCJdLCBcImYwMjFcIiwgXCJNMTA1LjEgMjAyLjZjNy43LTIxLjggMjAuMi00Mi4zIDM3LjgtNTkuOGM2Mi41LTYyLjUgMTYzLjgtNjIuNSAyMjYuMyAwTDM4Ni4zIDE2MCAzNTIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExMS41IDBjMCAwIDAgMCAwIDBsLjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDM1LjJMNDE0LjQgOTcuNmMtODcuNS04Ny41LTIyOS4zLTg3LjUtMzE2LjggMEM3My4yIDEyMiA1NS42IDE1MC43IDQ0LjggMTgxLjRjLTUuOSAxNi43IDIuOSAzNC45IDE5LjUgNDAuOHMzNC45LTIuOSA0MC44LTE5LjV6TTM5IDI4OS4zYy01IDEuNS05LjggNC4yLTEzLjcgOC4yYy00IDQtNi43IDguOC04LjEgMTRjLS4zIDEuMi0uNiAyLjUtLjggMy44Yy0uMyAxLjctLjQgMy40LS40IDUuMUwxNiA0MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1LjEgMTcuNiAxNy41YzAgMCAwIDAgMCAwYzg3LjUgODcuNCAyMjkuMyA4Ny40IDMxNi43IDBjMjQuNC0yNC40IDQyLjEtNTMuMSA1Mi45LTgzLjhjNS45LTE2LjctMi45LTM0LjktMTkuNS00MC44cy0zNC45IDIuOS00MC44IDE5LjVjLTcuNyAyMS44LTIwLjIgNDIuMy0zNy44IDU5LjhjLTYyLjUgNjIuNS0xNjMuOCA2Mi41LTIyNi4zIDBsLS4xLS4xTDEyNS42IDM1MmwzNC40IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNDguNCAyODhjLTEuNiAwLTMuMiAuMS00LjggLjNzLTMuMSAuNS00LjYgMXpcIl1cbn07XG5jb25zdCBmYVJlZnJlc2ggPSBmYUFycm93c1JvdGF0ZTtcbmNvbnN0IGZhU3luYyA9IGZhQXJyb3dzUm90YXRlO1xuY29uc3QgZmFGaXJlRXh0aW5ndWlzaGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpcmUtZXh0aW5ndWlzaGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTE5XSwgXCJmMTM0XCIsIFwiTTUwMC4zIDcuM0M1MDcuNyAxMy4zIDUxMiAyMi40IDUxMiAzMmwwIDk2YzAgOS42LTQuMyAxOC43LTExLjcgMjQuN3MtMTcuMiA4LjUtMjYuNiA2LjZsLTE2MC0zMkMzMDEuNSAxMjQuOSAyOTIgMTE1LjcgMjg5IDEwNGwtNjUgMCAwIDM0LjhjMzcuOCAxOCA2NCA1Ni41IDY0IDEwMS4ybDAgMTQ0TDY0IDM4NGwwLTE0NGMwLTQ0LjcgMjYuMi04My4yIDY0LTEwMS4ybDAtMjguOGMtMzYuMiAxMS4xLTY2IDM2LjktODIuMyA3MC41Yy01LjggMTEuOS0yMC4yIDE2LjktMzIuMSAxMS4xUy0zLjMgMTcxLjQgMi41IDE1OS41QzI2LjcgMTA5LjggNzIuNyA3Mi42IDEyOCA2MC40TDEyOCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjQgNjUgMGMzLTExLjcgMTIuNS0yMC45IDI0LjctMjMuNGwxNjAtMzJjOS40LTEuOSAxOS4xIC42IDI2LjYgNi42ek0yODggNDE2bDAgMzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzIgMjI0IDB6TTE3NiA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6XCJdXG59O1xuY29uc3QgZmFDcnV6ZWlyb1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3J1emVpcm8tc2lnbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTE1MlwiLCBcIk05NiAyNTZjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBjNDEgMCA3OC4zIDE1LjQgMTA2LjcgNDAuN2MxMy4yIDExLjggMzMuNCAxMC43IDQ1LjItMi41czEwLjctMzMuNC0yLjUtNDUuMmMtMzkuNi0zNS41LTkyLTU3LTE0OS4zLTU3QzEzMi4zIDMyIDMyIDEzMi4zIDMyIDI1NnMxMDAuMyAyMjQgMjI0IDIyNGM1Ny40IDAgMTA5LjctMjEuNiAxNDkuMy01N2MxMy4yLTExLjggMTQuMy0zMiAyLjUtNDUuMnMtMzItMTQuMy00NS4yLTIuNUMzMzQuMyA0MDAuNiAyOTcgNDE2IDI1NiA0MTZsMC05NiAwLTguN2MwLTEyLjggMTAuNC0yMy4zIDIzLjMtMjMuM2M0LjYgMCA5LjEgMS40IDEyLjkgMy45bDEwLjEgNi43YzE0LjcgOS44IDM0LjYgNS44IDQ0LjQtOC45czUuOC0zNC42LTguOS00NC40bC0xMC4xLTYuN2MtMTQuMy05LjYtMzEuMi0xNC43LTQ4LjQtMTQuN2MtMTIuNCAwLTI0LjIgMi42LTM0LjkgNy4zYy01LjUtNC41LTEyLjYtNy4zLTIwLjMtNy4zYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDU1LjMgMCA4LjcgMCA4Mi43QzEzNS41IDM3OCA5NiAzMjEuNiA5NiAyNTZ6XCJdXG59O1xuY29uc3QgZmFHcmVhdGVyVGhhbkVxdWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyZWF0ZXItdGhhbi1lcXVhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUzMlwiLCBcIk01Mi4xIDkzLjdDMzUuNyA4Ny4xIDI3LjcgNjguNSAzNC4zIDUyLjFzMjUuMi0yNC40IDQxLjYtMTcuOGwzMjAgMTI4QzQwOCAxNjcuMSA0MTYgMTc4LjkgNDE2IDE5MnMtOCAyNC45LTIwLjEgMjkuN2wtMzIwIDEyOGMtMTYuNCA2LjYtMzUtMS40LTQxLjYtMTcuOHMxLjQtMzUgMTcuOC00MS42TDI5Ny44IDE5MiA1Mi4xIDkzLjd6TTQxNiA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwelwiXVxufTtcbmNvbnN0IGZhU2hpZWxkSGFsdmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1oYWx2ZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNoaWVsZC1hbHRcIl0sIFwiZjNlZFwiLCBcIk0yNTYgMGM0LjYgMCA5LjIgMSAxMy40IDIuOUw0NTcuNyA4Mi44YzIyIDkuMyAzOC40IDMxIDM4LjMgNTcuMmMtLjUgOTkuMi00MS4zIDI4MC43LTIxMy42IDM2My4yYy0xNi43IDgtMzYuMSA4LTUyLjggMEM1Ny4zIDQyMC43IDE2LjUgMjM5LjIgMTYgMTQwYy0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni44IDEgMjUxLjQgMCAyNTYgMHptMCA2Ni44bDAgMzc4LjFDMzk0IDM3OCA0MzEuMSAyMzAuMSA0MzIgMTQxLjRMMjU2IDY2LjhzMCAwIDAgMHpcIl1cbn07XG5jb25zdCBmYVNoaWVsZEFsdCA9IGZhU2hpZWxkSGFsdmVkO1xuY29uc3QgZmFCb29rQXRsYXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1hdGxhcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYXRsYXNcIl0sIFwiZjU1OFwiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDM4NCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMEw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjRMOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMjQ3LjQgMjgzLjhjLTMuNyAzLjctNi4yIDQuMi03LjQgNC4ycy0zLjctLjUtNy40LTQuMmMtMy44LTMuNy04LTEwLTExLjgtMTguOWMtNi4yLTE0LjUtMTAuOC0zNC4zLTEyLjItNTYuOWw2MyAwYy0xLjUgMjIuNi02IDQyLjQtMTIuMiA1Ni45Yy0zLjggOC45LTggMTUuMi0xMS44IDE4Ljl6bTQyLjctOS45YzcuMy0xOC4zIDEyLTQxLjEgMTMuNC02NS45bDMxLjEgMGMtNC43IDI3LjktMjEuNCA1MS43LTQ0LjUgNjUuOXptMC0xNjMuOGMyMy4yIDE0LjIgMzkuOSAzOCA0NC41IDY1LjlsLTMxLjEgMGMtMS40LTI0LjctNi4xLTQ3LjUtMTMuNC02NS45ek0zNjggMTkyYTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6TTE0NS4zIDIwOGwzMS4xIDBjMS40IDI0LjcgNi4xIDQ3LjUgMTMuNCA2NS45Yy0yMy4yLTE0LjItMzkuOS0zOC00NC41LTY1Ljl6bTMxLjEtMzJsLTMxLjEgMGM0LjctMjcuOSAyMS40LTUxLjcgNDQuNS02NS45Yy03LjMgMTguMy0xMiA0MS4xLTEzLjQgNjUuOXptNTYuMS03NS44YzMuNy0zLjcgNi4yLTQuMiA3LjQtNC4yczMuNyAuNSA3LjQgNC4yYzMuOCAzLjcgOCAxMCAxMS44IDE4LjljNi4yIDE0LjUgMTAuOCAzNC4zIDEyLjIgNTYuOWwtNjMgMGMxLjUtMjIuNiA2LTQyLjQgMTIuMi01Ni45YzMuOC04LjkgOC0xNS4yIDExLjgtMTguOXpcIl1cbn07XG5jb25zdCBmYUF0bGFzID0gZmFCb29rQXRsYXM7XG5jb25zdCBmYVZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpcnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDc0XCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExLjVjMCA0OS45LTYwLjMgNzQuOS05NS42IDM5LjZMMTIwLjIgNzVDMTA3LjcgNjIuNSA4Ny41IDYyLjUgNzUgNzVzLTEyLjUgMzIuOCAwIDQ1LjNsOC4yIDguMkMxMTguNCAxNjMuNyA5My40IDIyNCA0My41IDIyNEwzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTEuNSAwYzQ5LjkgMCA3NC45IDYwLjMgMzkuNiA5NS42TDc1IDM5MS44Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDguMi04LjJjMzUuMy0zNS4zIDk1LjYtMTAuMyA5NS42IDM5LjZsMCAxMS41YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMS41YzAtNDkuOSA2MC4zLTc0LjkgOTUuNi0zOS42bDguMiA4LjJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOC4yLTguMmMtMzUuMy0zNS4zLTEwLjMtOTUuNiAzOS42LTk1LjZsMTEuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMS41IDBjLTQ5LjkgMC03NC45LTYwLjMtMzkuNi05NS42bDguMi04LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTguMiA4LjJDMzQ4LjMgMTE4LjQgMjg4IDkzLjQgMjg4IDQzLjVMMjg4IDMyek0xNzYgMjI0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTEyOCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xuY29uc3QgZmFFbnZlbG9wZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRlOFwiLCBcIk00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMmMwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40TDIzNi44IDMxMy42YzExLjQgOC41IDI3IDguNSAzOC40IDBsNTcuNC00M2MyMy45LTU5LjggNzkuNy0xMDMuMyAxNDYuMy0xMDkuOGwxMy45LTEwLjRjMTIuMS05LjEgMTkuMi0yMy4zIDE5LjItMzguNGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCA2NHpNMjk0LjQgMzM5LjJjLTIyLjggMTcuMS01NCAxNy4xLTc2LjggMEwwIDE3NiAwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyOTYuMiAwQzMzNS4xIDQxNy42IDMyMCAzNzguNSAzMjAgMzM2YzAtNS42IC4zLTExLjEgLjgtMTYuNmwtMjYuNCAxOS44ek02NDAgMzM2YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzUzLjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhTGF5ZXJHcm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXllci1ncm91cCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjVmZFwiLCBcIk0yNjQuNSA1LjJjMTQuOS02LjkgMzIuMS02LjkgNDcgMGwyMTguNiAxMDFjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEw0NS45IDE0OS44QzM3LjQgMTQ1LjggMzIgMTM3LjMgMzIgMTI4czUuNC0xNy45IDEzLjktMjEuOEwyNjQuNSA1LjJ6TTQ3Ni45IDIwOS42bDUzLjIgMjQuNmM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDQ1LjkgMjc3LjhDMzcuNCAyNzMuOCAzMiAyNjUuMyAzMiAyNTZzNS40LTE3LjkgMTMuOS0yMS44bDUzLjItMjQuNiAxNTIgNzAuMmMyMy40IDEwLjggNTAuNCAxMC44IDczLjggMGwxNTItNzAuMnptLTE1MiAxOTguMmwxNTItNzAuMiA1My4yIDI0LjZjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEw0NS45IDQwNS44QzM3LjQgNDAxLjggMzIgMzkzLjMgMzIgMzg0czUuNC0xNy45IDEzLjktMjEuOGw1My4yLTI0LjYgMTUyIDcwLjJjMjMuNCAxMC44IDUwLjQgMTAuOCA3My44IDB6XCJdXG59O1xuY29uc3QgZmFBcnJvd3NUb0RvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdG8tZG90JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGJlXCIsIFwiTTI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45bC02NCA2NGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTY0LTY0Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOXMxNi42LTE5LjggMjkuNi0xOS44bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTY5LjQgMzkzLjRsNjQtNjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNjQgNjRjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlzLTE2LjYgMTkuOC0yOS42IDE5LjhsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45ek0zMiAyMjRsMzIgMCAwLTMyYzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsNjQgNjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTY0IDY0Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTI5Ny40IDU0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDY0LTY0YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45czE5LjggMTYuNiAxOS44IDI5LjZsMCAzMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTY0LTY0ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUFyY2h3YXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJjaHdheScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU1N1wiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDAgNjQgMCAwLTEyOGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTI4IDY0IDAgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTI4OEwzMiAxMjhsMCAyODh6XCJdXG59O1xuY29uc3QgZmFIZWFydENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYXJ0LWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmZFwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45bDIuNi0yLjRDMjY3LjIgNDM4LjYgMjU2IDQwNC42IDI1NiAzNjhjMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZjMjguMyAwIDU1IDYuNyA3OC43IDE4LjVjLjktNi41IDEuMy0xMyAxLjMtMTkuNmwwLTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xbDAgNS44YzAgNDEuNSAxNy4yIDgxLjIgNDcuNiAxMDkuNXpNNTc2IDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDE2IDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlQ2hpbW5leUNyYWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNoaW1uZXktY3JhY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhvdXNlLWRhbWFnZVwiXSwgXCJmNmYxXCIsIFwiTTU3NS44IDI1NS41YzAgMTgtMTUgMzIuMS0zMiAzMi4xbC0zMiAwIC43IDE2MC4yYy4yIDM1LjUtMjguNSA2NC4zLTY0IDY0LjNsLTEyMi4xIDBMMjg4IDQ0OGw4MC44LTY3LjNjNy44LTYuNSA3LjYtMTguNi0uNC0yNC45TDI1MC42IDI2My4yYy0xNC42LTExLjUtMzMuOCA3LTIyLjggMjJMMjg4IDM2OGwtODUuNSA3MS4yYy02LjEgNS03LjUgMTMuOC0zLjUgMjAuNUwyMzAuNCA1MTJsLTEwMi4zIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTYwLjQtMzIgMGMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNDE2IDEwMC43IDQxNiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTIxIDUyLjggNDYuNGM4IDcgMTIgMTUgMTEgMjR6XCJdXG59O1xuY29uc3QgZmFIb3VzZURhbWFnZSA9IGZhSG91c2VDaGltbmV5Q3JhY2s7XG5jb25zdCBmYUZpbGVaaXBwZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS16aXBwZXInLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpbGUtYXJjaGl2ZVwiXSwgXCJmMWM2XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNOTYgNDhjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0wIDY0YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZ6bS02LjMgNzEuOGMzLjctMTQgMTYuNC0yMy44IDMwLjktMjMuOGwxNC44IDBjMTQuNSAwIDI3LjIgOS43IDMwLjkgMjMuOGwyMy41IDg4LjJjMS40IDUuNCAyLjEgMTAuOSAyLjEgMTYuNGMwIDM1LjItMjguOCA2My43LTY0IDYzLjdzLTY0LTI4LjUtNjQtNjMuN2MwLTUuNSAuNy0xMS4xIDIuMS0xNi40bDIzLjUtODguMnpNMTEyIDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhRmlsZUFyY2hpdmUgPSBmYUZpbGVaaXBwZXI7XG5jb25zdCBmYVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5NjMyLCA5NzIzLCA5NzI0LCA2MTU5MF0sIFwiZjBjOFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDM4NGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2elwiXVxufTtcbmNvbnN0IGZhTWFydGluaUdsYXNzRW1wdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcy1lbXB0eScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ2xhc3MtbWFydGluaVwiXSwgXCJmMDAwXCIsIFwiTTMyIDBDMTkuMSAwIDcuNCA3LjggMi40IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45TDIyNCAyNjkuMyAyMjQgNDQ4bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTE3OC43TDUwMi42IDU0LjZjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDkyLjkgMCA0ODAgMEwzMiAwek0yNTYgMjEwLjdMMTA5LjMgNjRsMjkzLjUgMEwyNTYgMjEwLjd6XCJdXG59O1xuY29uc3QgZmFHbGFzc01hcnRpbmkgPSBmYU1hcnRpbmlHbGFzc0VtcHR5O1xuY29uc3QgZmFDb3VjaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb3VjaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRiOFwiLCBcIk02NCAxNjBDNjQgODkuMyAxMjEuMyAzMiAxOTIgMzJsMjU2IDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAzMy42Yy0zNi41IDcuNC02NCAzOS43LTY0IDc4LjRsMCA0OC0zODQgMCAwLTQ4YzAtMzguNy0yNy41LTcxLTY0LTc4LjRMNjQgMTYwek01NDQgMjcyYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2M1LTEuOCAxMC40LTIuNyAxNi0yLjdjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNzZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDk2IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhjNS42IDAgMTEgMSAxNiAyLjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgNDggMCAzMiAzMiAwIDM4NCAwIDMyIDAgMC0zMiAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQ2VkaVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2VkaS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMGRmXCIsIFwiTTI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDM0LjdDMTAxLjIgODEuOSAzMiAxNjAuOSAzMiAyNTZzNjkuMiAxNzQuMSAxNjAgMTg5LjNsMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNC43YzMwLjktNS4yIDU5LjItMTcuNyA4My4yLTM1LjhjMTQuMS0xMC42IDE3LTMwLjcgNi40LTQ0LjhzLTMwLjctMTctNDQuOC02LjRjLTEzLjIgOS45LTI4LjMgMTcuMy00NC44IDIxLjZMMjU2IDEzMmMxNi40IDQuMiAzMS42IDExLjYgNDQuOCAyMS42YzE0LjEgMTAuNiAzNC4yIDcuOCA0NC44LTYuNHM3LjgtMzQuMi02LjQtNDQuOGMtMjQtMTgtNTIuNC0zMC42LTgzLjItMzUuOEwyNTYgMzJ6TTE5MiAxMzJMMTkyIDM4MGMtNTUuMi0xNC4yLTk2LTY0LjMtOTYtMTI0czQwLjgtMTA5LjggOTYtMTI0elwiXVxufTtcbmNvbnN0IGZhSXRhbGljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2l0YWxpYycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjAzM1wiLCBcIk0xMjggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTU4LjcgMEwxNjAgNDE2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDU4LjcgMEwyMjQgOTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhVGFibGVDZWxsc0NvbHVtbkxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtY2VsbHMtY29sdW1uLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU2NzhcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY1LjFjLTM3LjggNS40LTY5LjQgMjkuNi04NS4yIDYyLjlMMzYwIDIyNGwwIDY0IDU2IDAgMCA4LjZjLTE5LjEgMTEuMS0zMiAzMS43LTMyIDU1LjRsLTI0IDAgMCA2NCAyNCAwIDAgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0yMDggMGwwIDY0IDg4IDAgMC02NC04OCAwem0yNDAgMGwtODggMCAwIDY0IDg4IDAgMC02NHpNMjA4IDIyNGwwIDY0IDg4IDAgMC02NC04OCAwem0wIDEyOGwwIDY0IDg4IDAgMC02NC04OCAwek01MjggMjQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDh6XCJdXG59O1xuY29uc3QgZmFDaHVyY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2h1cmNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTk2Ml0sIFwiZjUxZFwiLCBcIk0zNDQgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCA0Ni40TDE4My4zIDIxMGMtMTQuNSA4LjctMjMuMyAyNC4zLTIzLjMgNDEuMkwxNjAgNTEybDk2IDAgMC05NmMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0bDAgOTYgOTYgMCAwLTI2MC44YzAtMTYuOS04LjgtMzIuNS0yMy4zLTQxLjJMMzQ0IDE0Mi40IDM0NCA5NmwzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMjR6TTI0LjkgMzMwLjNDOS41IDMzOC44IDAgMzU0LjkgMCAzNzIuNEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw4MCAwIDAtMjM4LjRMMjQuOSAzMzAuM3pNNTkyIDUxMmMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTkxLjZjMC0xNy41LTkuNS0zMy42LTI0LjktNDIuMUw1MTIgMjczLjYgNTEyIDUxMmw4MCAwelwiXVxufTtcbmNvbnN0IGZhQ29tbWVudHNEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudHMtZG9sbGFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNjUzXCIsIFwiTTQxNiAxNzZjMCA5Ny4yLTkzLjEgMTc2LTIwOCAxNzZjLTM4LjIgMC03My45LTguNy0xMDQuNy0yMy45Yy03LjUgNC0xNiA3LjktMjUuMiAxMS40QzU5LjggMzQ2LjQgMzcuOCAzNTIgMTYgMzUyYy02LjkgMC0xMy4xLTQuNS0xNS4yLTExLjFzLjItMTMuOCA1LjgtMTcuOWMwIDAgMCAwIDAgMHMwIDAgMCAwbC4yLS4yYy4yLS4yIC42LS40IDEuMS0uOGMxLS44IDIuNS0yIDQuMy0zLjdjMy42LTMuMyA4LjUtOC4xIDEzLjMtMTQuM2M1LjUtNyAxMC43LTE1LjQgMTQuMi0yNC43QzE0LjcgMjUwLjMgMCAyMTQuNiAwIDE3NkMwIDc4LjggOTMuMSAwIDIwOCAwUzQxNiA3OC44IDQxNiAxNzZ6TTIzMS41IDM4M0MzNDguOSAzNzIuOSA0NDggMjg4LjMgNDQ4IDE3NmMwLTUuMi0uMi0xMC40LS42LTE1LjVDNTU1LjEgMTY3LjEgNjQwIDI0My4yIDY0MCAzMzZjMCAzOC42LTE0LjcgNzQuMy0zOS42IDEwMy40YzMuNSA5LjQgOC43IDE3LjcgMTQuMiAyNC43YzQuOCA2LjIgOS43IDExIDEzLjMgMTQuM2MxLjggMS42IDMuMyAyLjkgNC4zIDMuN2MuNSAuNCAuOSAuNyAxLjEgLjhsLjIgLjJzMCAwIDAgMHMwIDAgMCAwYzUuNiA0LjEgNy45IDExLjMgNS44IDE3LjljLTIuMSA2LjYtOC4zIDExLjEtMTUuMiAxMS4xYy0yMS44IDAtNDMuOC01LjYtNjIuMS0xMi41Yy05LjItMy41LTE3LjgtNy40LTI1LjItMTEuNEM1MDUuOSA1MDMuMyA0NzAuMiA1MTIgNDMyIDUxMmMtOTUuNiAwLTE3Ni4yLTU0LjYtMjAwLjUtMTI5ek0yMjggNzJjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMTRjLTcuNiAxLjctMTUuMiA0LjQtMjIuMiA4LjVjLTEzLjkgOC4zLTI1LjkgMjIuOC0yNS44IDQzLjljLjEgMjAuMyAxMiAzMy4xIDI0LjcgNDAuN2MxMSA2LjYgMjQuNyAxMC44IDM1LjYgMTRsMS43IC41YzEyLjYgMy44IDIxLjggNi44IDI4IDEwLjdjNS4xIDMuMiA1LjggNS40IDUuOSA4LjJjLjEgNS0xLjggOC01LjkgMTAuNWMtNSAzLjEtMTIuOSA1LTIxLjQgNC43Yy0xMS4xLS40LTIxLjUtMy45LTM1LjEtOC41Yy0yLjMtLjgtNC43LTEuNi03LjItMi40Yy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zYzEuOSAuNiA0IDEuMyA2LjEgMi4xYzAgMCAwIDAgMCAwczAgMCAwIDBjOC4zIDIuOSAxNy45IDYuMiAyOC4yIDguNGwwIDE0LjZjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMy44YzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdMMjI4IDcyelwiXVxufTtcbmNvbnN0IGZhRGVtb2NyYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGVtb2NyYXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3NDdcIiwgXCJNNjQgMzJjMC04LjkgMy44LTIwLjkgNi4yLTI3LjNDNzEuMiAxLjggNzQgMCA3NyAwYzEuOSAwIDMuOCAuNyA1LjIgMi4xTDEyOCA0NS43IDE3My44IDIuMUMxNzUuMiAuNyAxNzcuMSAwIDE3OSAwYzMgMCA1LjggMS44IDYuOCA0LjdjMi40IDYuNSA2LjIgMTguNCA2LjIgMjcuM2MwIDI2LjUtMjEuOSA0Mi0yOS41IDQ2LjZsNzYuMiA3Mi42YzYgNS43IDEzLjkgOC44IDIyLjEgOC44TDQ4MCAxNjBsMzIgMGM0MC4zIDAgNzguMiAxOSAxMDIuNCA1MS4ybDE5LjIgMjUuNmMxMC42IDE0LjEgNy43IDM0LjItNi40IDQ0LjhzLTM0LjIgNy43LTQ0LjgtNi40bC0xOS4yLTI1LjZjLTUuMy03LTExLjgtMTIuOC0xOS4yLTE3bDAgODcuNC0zNTIgMC00MC40LTk0LjNjLTMuOS05LjItMTUuMy0xMi42LTIzLjYtN2wtNDIuMSAyOGMtOS4xIDYuMS0xOS43IDkuMy0zMC43IDkuM2wtMiAwQzIzLjkgMjU2IDAgMjMyLjEgMCAyMDIuN2MwLTEyLjEgNC4xLTIzLjggMTEuNy0zMy4zTDg3LjYgNzQuNkM3OC4xIDY3LjQgNjQgNTMuMiA2NCAzMnpNNDQ4IDM1Mmw5NiAwIDAgNjQgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NC0xNjAgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0IDAtNjQgOTYgMCAxNjAgMHpNMjYwLjkgMjEwLjljLS45LTEuOC0yLjgtMi45LTQuOC0yLjlzLTMuOSAxLjEtNC44IDIuOWwtMTAuNSAyMC41LTIzLjUgMy4zYy0yIC4zLTMuNyAxLjYtNC4zIDMuNXMtLjEgMy45IDEuMyA1LjNsMTcgMTYtNCAyMi42Yy0uMyAxLjkgLjUgMy45IDIuMSA1czMuOCAxLjMgNS42IC40bDIxLTEwLjcgMjEgMTAuN2MxLjggLjkgNCAuOCA1LjYtLjRzMi41LTMuMSAyLjEtNWwtNC0yMi42IDE3LTE2YzEuNS0xLjQgMi0zLjQgMS4zLTUuM3MtMi4zLTMuMi00LjMtMy41bC0yMy41LTMuMy0xMC41LTIwLjV6TTM2OC4xIDIwOGMtMiAwLTMuOSAxLjEtNC44IDIuOWwtMTAuNSAyMC41LTIzLjUgMy4zYy0yIC4zLTMuNyAxLjYtNC4zIDMuNXMtLjEgMy45IDEuMyA1LjNsMTcgMTYtNCAyMi42Yy0uMyAxLjkgLjUgMy45IDIuMSA1czMuOCAxLjMgNS42IC40bDIxLTEwLjcgMjEgMTAuN2MxLjggLjkgNCAuOCA1LjYtLjRzMi41LTMuMSAyLjEtNWwtNC0yMi42IDE3LTE2YzEuNS0xLjQgMi0zLjQgMS40LTUuM3MtMi4zLTMuMi00LjMtMy41bC0yMy41LTMuMy0xMC41LTIwLjVjLS45LTEuOC0yLjgtMi45LTQuOC0yLjl6bTExNi44IDIuOWMtLjktMS44LTIuOC0yLjktNC44LTIuOXMtMy45IDEuMS00LjggMi45bC0xMC41IDIwLjUtMjMuNSAzLjNjLTIgLjMtMy43IDEuNi00LjMgMy41cy0uMSAzLjkgMS4zIDUuM2wxNyAxNi00IDIyLjZjLS4zIDEuOSAuNSAzLjkgMi4xIDVzMy44IDEuMyA1LjYgLjRsMjEtMTAuNyAyMSAxMC43YzEuOCAuOSA0IC44IDUuNi0uNHMyLjUtMy4xIDIuMS01bC00LTIyLjYgMTctMTZjMS41LTEuNCAyLTMuNCAxLjQtNS4zcy0yLjMtMy4yLTQuMy0zLjVsLTIzLjUtMy4zLTEwLjUtMjAuNXpcIl1cbn07XG5jb25zdCBmYVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneicsXG4gIGljb246IFszODQsIDUxMiwgWzEyMl0sIFwiNWFcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwzMjAgMGMxMi40IDAgMjMuNyA3LjIgMjkgMTguNHMzLjYgMjQuNS00LjQgMzQuMUwxMDAuMyA0MTYgMzUyIDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTEyLjQgMC0yMy43LTcuMi0yOS0xOC40cy0zLjYtMjQuNSA0LjQtMzQuMUwyODMuNyA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbmNvbnN0IGZhUGVyc29uU2tpaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1za2lpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTc1LCBcInNraWluZ1wiXSwgXCJmN2M5XCIsIFwiTTM4MC43IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTIuNyAyNjguOWM2LjEtMTEuOCAyMC42LTE2LjMgMzIuNC0xMC4yTDIzMi43IDM2MS4zbDQ2LjItNjkuMi03NS4xLTc1LjFjLTE0LjYtMTQuNi0yMC40LTMzLjktMTguNC01Mi4xbDEwOC44IDUyIDM5LjMgMzkuM2MxNi4yIDE2LjIgMTguNyA0MS41IDYgNjAuNkwyODkuOCAzOTFsMTI4LjcgNjYuOGMxMy42IDcuMSAyOS44IDcuMiA0My42IC4zbDE1LjItNy42YzExLjktNS45IDI2LjMtMS4xIDMyLjIgMTAuN3MxLjEgMjYuMy0xMC43IDMyLjJsLTE1LjIgNy42Yy0yNy41IDEzLjctNTkuOSAxMy41LTg3LjItLjdMMTIuOSAzMDEuM0MxLjIgMjk1LjItMy40IDI4MC43IDIuNyAyNjguOXpNMTE4LjkgNjUuNkwxMzcgNzQuMmw4LjctMTcuNGM0LTcuOSAxMy42LTExLjEgMjEuNS03LjJzMTEuMSAxMy42IDcuMiAyMS41bC04LjUgMTYuOSA1NC43IDI2LjJjMS41LS43IDMuMS0xLjQgNC43LTIuMWw4My40LTMzLjRjMzQuMi0xMy43IDcyLjggNC4yIDg0LjUgMzkuMmwxNy4xIDUxLjIgNTIuMSAyNi4xYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNsLTU4LjEtMjljLTExLjQtNS43LTIwLTE1LjctMjQuMS0yNy44bC01LjgtMTcuMy0yNy4zIDEyLjEtNi44IDMtNi43LTMuMkwxNTEuNSAxMTYuN2wtOS4yIDE4LjRjLTQgNy45LTEzLjYgMTEuMS0yMS41IDcuMnMtMTEuMS0xMy42LTcuMi0yMS41bDktMTgtMTcuNi04LjRjLTgtMy44LTExLjMtMTMuNC03LjUtMjEuM3MxMy40LTExLjMgMjEuMy03LjV6XCJdXG59O1xuY29uc3QgZmFTa2lpbmcgPSBmYVBlcnNvblNraWluZztcbmNvbnN0IGZhUm9hZExvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY3XCIsIFwiTTI4OCAzMmwtNzQuOCAwYy0yNy4xIDAtNTEuMyAxNy4xLTYwLjMgNDIuNkwzNS4xIDQwNy4yYy0yLjEgNS45LTMuMSAxMi0zLjEgMTguMkMzMiA0NTUuNSA1Ni41IDQ4MCA4Ni42IDQ4MEwyODggNDgwbDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0IDMyIDAgMC0xMjhjMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMjQuNmMwLTU4LjMgNDQuNi0xMDYuMiAxMDEuNS0xMTEuNUw0ODcuMSA3NC42QzQ3OCA0OS4xIDQ1My45IDMyIDQyNi44IDMyTDM1MiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bTY0IDE5MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTc2IDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJsMCA0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG5jb25zdCBmYUEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYScsXG4gIGljb246IFszODQsIDUxMiwgWzk3XSwgXCI0MVwiLCBcIk0yMjEuNSA1MS43QzIxNi42IDM5LjggMjA0LjkgMzIgMTkyIDMycy0yNC42IDcuOC0yOS41IDE5LjdsLTEyMCAyODgtNDAgOTZjLTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJMOTMuMyAzODRsMTk3LjMgMCAzMS44IDc2LjNjNi44IDE2LjMgMjUuNSAyNCA0MS44IDE3LjJzMjQtMjUuNSAxNy4yLTQxLjhsLTQwLTk2LTEyMC0yODh6TTI2NCAzMjBsLTE0NCAwIDcyLTE3Mi44TDI2NCAzMjB6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZUFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS1kb3duXCJdLCBcImUwM2ZcIiwgXCJNMTI4IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTY0LjVjMCAxNy4zIDcuMSAzMS45IDE1LjMgNDIuNUMyNDkuOCAzMzIuNiAyNTYgMzQ5LjUgMjU2IDM2OGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTE4LjUgNi4yLTM1LjQgMTYuNy00OC45YzguMi0xMC42IDE1LjMtMjUuMiAxNS4zLTQyLjVMMTI4IDExMnpNMTc2IDBDMTE0LjEgMCA2NCA1MC4xIDY0IDExMmwwIDE2NC40YzAgLjEtLjEgLjMtLjIgLjZjLS4yIC42LS44IDEuNi0xLjcgMi44QzQzLjIgMzA0LjIgMzIgMzM0LjggMzIgMzY4YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0czE0NC02NC41IDE0NC0xNDRjMC0zMy4yLTExLjItNjMuOC0zMC4xLTg4LjFjLS45LTEuMi0xLjUtMi4yLTEuNy0yLjhjLS4xLS4zLS4yLS41LS4yLS42TDI4OCAxMTJDMjg4IDUwLjEgMjM3LjkgMCAxNzYgMHptMCA0MTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC0yMC45LTEzLjQtMzguNy0zMi00NS4zbDAtNTAuN2MwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDUwLjdjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OHptMzM2LTY0bC0zMiAwIDAtMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjg4LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzYgNiAxNC4xIDkuNCAyMi42IDkuNHMxNi42LTMuNCAyMi42LTkuNGw2NC02NGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOHpcIl1cbn07XG5jb25zdCBmYVRlbXBlcmF0dXJlRG93biA9IGZhVGVtcGVyYXR1cmVBcnJvd0Rvd247XG5jb25zdCBmYUZlYXRoZXJQb2ludGVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZlYXRoZXItcG9pbnRlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZmVhdGhlci1hbHRcIl0sIFwiZjU2YlwiLCBcIk0yNzguNSAyMTUuNkwyMyA0NzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3NC44LTc0LjhjNy40IDQuNiAxNS4zIDguMiAyMy44IDEwLjVDMjAwLjMgNDUyLjggMjcwIDQ1NC41IDMzOCA0MDkuNGMxMi4yLTguMSA1LjgtMjUuNC04LjgtMjUuNGwtMTYuMSAwYy01LjEgMC05LjItNC4xLTkuMi05LjJjMC00LjEgMi43LTcuNiA2LjUtOC44bDk3LjctMjkuM2MzLjQtMSA2LjQtMy4xIDguNC02LjFjNC40LTYuNCA4LjYtMTIuOSAxMi42LTE5LjZjNi4yLTEwLjMtMS41LTIzLTEzLjUtMjNsLTM4LjYgMGMtNS4xIDAtOS4yLTQuMS05LjItOS4yYzAtNC4xIDIuNy03LjYgNi41LTguOGw4MC45LTI0LjNjNC42LTEuNCA4LjQtNC44IDEwLjItOS4zQzQ5NC41IDE2MyA1MDcuOCA4Ni4xIDUxMS45IDM2LjhjLjgtOS45LTMtMTkuNi0xMC0yNi42cy0xNi43LTEwLjgtMjYuNi0xMEMzOTEuNSA3IDIyOC41IDQwLjUgMTM3LjQgMTMxLjZDNTcuMyAyMTEuNyA1Ni43IDMwMi4zIDcxLjMgMzU2LjRjMi4xIDcuOSAxMiA5LjYgMTcuOCAzLjhMMjUzLjYgMTk1LjhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBjNS40IDUuNCA2LjEgMTMuNiAyLjIgMTkuOHpcIl1cbn07XG5jb25zdCBmYUZlYXRoZXJBbHQgPSBmYUZlYXRoZXJQb2ludGVkO1xuY29uc3QgZmFQID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3AnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMTJdLCBcIjUwXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOTYgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MHMtNzEuNiAxNjAtMTYwIDE2MGwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDAgMzIwIDAgOTZ6TTY0IDI4OGw5NiAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2TDY0IDk2bDAgMTkyelwiXVxufTtcbmNvbnN0IGZhU25vd2ZsYWtlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nub3dmbGFrZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwMDUyLCAxMDA1NF0sIFwiZjJkY1wiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMwLjEgMTUtMTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00OSA0OSAwIDcwLjMgNjEuNC0zNS44IDE3LjctNjYuMWMzLjQtMTIuOCAxNi42LTIwLjQgMjkuNC0xN3MyMC40IDE2LjYgMTcgMjkuNGwtNS4yIDE5LjMgMjMuNi0xMy44YzE1LjMtOC45IDM0LjktMy43IDQzLjggMTEuNXMzLjggMzQuOS0xMS41IDQzLjhsLTI1LjMgMTQuOCAyMS43IDUuOGMxMi44IDMuNCAyMC40IDE2LjYgMTcgMjkuNHMtMTYuNiAyMC40LTI5LjQgMTdsLTY3LjctMTguMUwyODcuNSAyNTZsNjAuOSAzNS41IDY3LjctMTguMWMxMi44LTMuNCAyNiA0LjIgMjkuNCAxN3MtNC4yIDI2LTE3IDI5LjRsLTIxLjcgNS44IDI1LjMgMTQuOGMxNS4zIDguOSAyMC40IDI4LjUgMTEuNSA0My44cy0yOC41IDIwLjQtNDMuOCAxMS41bC0yMy42LTEzLjggNS4yIDE5LjNjMy40IDEyLjgtNC4yIDI2LTE3IDI5LjRzLTI2LTQuMi0yOS40LTE3bC0xNy43LTY2LjFMMjU2IDMxMS43bDAgNzAuMyA0OSA0OWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xNS0xNSAwIDMwLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMC4xLTE1IDE1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ5LTQ5IDAtNzAuMy02MS40IDM1LjgtMTcuNyA2Ni4xYy0zLjQgMTIuOC0xNi42IDIwLjQtMjkuNCAxN3MtMjAuNC0xNi42LTE3LTI5LjRsNS4yLTE5LjNMNDguMSAzOTUuNmMtMTUuMyA4LjktMzQuOSAzLjctNDMuOC0xMS41cy0zLjctMzQuOSAxMS41LTQzLjhsMjUuMy0xNC44LTIxLjctNS44Yy0xMi44LTMuNC0yMC40LTE2LjYtMTctMjkuNHMxNi42LTIwLjQgMjkuNC0xN2w2Ny43IDE4LjFMMTYwLjUgMjU2IDk5LjYgMjIwLjUgMzEuOSAyMzguNmMtMTIuOCAzLjQtMjYtNC4yLTI5LjQtMTdzNC4yLTI2IDE3LTI5LjRsMjEuNy01LjhMMTUuOSAxNzEuNkMuNiAxNjIuNy00LjUgMTQzLjEgNC40IDEyNy45czI4LjUtMjAuNCA0My44LTExLjVsMjMuNiAxMy44LTUuMi0xOS4zYy0zLjQtMTIuOCA0LjItMjYgMTctMjkuNHMyNiA0LjIgMjkuNCAxN2wxNy43IDY2LjFMMTkyIDIwMC4zbDAtNzAuM0wxNDMgODFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxNSAxNUwxOTIgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFOZXdzcGFwZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmV3c3BhcGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjQwXSwgXCJmMWVhXCIsIFwiTTk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDI3MmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2TDk2IDk2em02NCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjRMMTg0IDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjA4LThjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNDggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNjAgMzA0YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMjU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsMjU2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTI1NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFSZWN0YW5nbGVBZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWN0YW5nbGUtYWQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImFkXCJdLCBcImY2NDFcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjI5LjUgMTczLjNsNzIgMTQ0YzUuOSAxMS45IDEuMSAyNi4zLTEwLjcgMzIuMnMtMjYuMyAxLjEtMzIuMi0xMC43TDI1My4yIDMyOGwtOTAuMyAwLTUuNCAxMC43Yy01LjkgMTEuOS0yMC4zIDE2LjctMzIuMiAxMC43cy0xNi43LTIwLjMtMTAuNy0zMi4ybDcyLTE0NGM0LjEtOC4xIDEyLjQtMTMuMyAyMS41LTEzLjNzMTcuNCA1LjEgMjEuNSAxMy4zek0yMDggMjM3LjdMMTg2LjggMjgwbDQyLjMgMEwyMDggMjM3Ljd6TTM5MiAyNTZhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4em0yNC00My45bDAtMjguMWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOTYgMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGMtNi42IDAtMTIuNi0yLjctMTctN2MtOS40IDQuNS0xOS45IDctMzEgN2MtMzkuOCAwLTcyLTMyLjItNzItNzJzMzIuMi03MiA3Mi03MmM4LjQgMCAxNi41IDEuNCAyNCA0LjF6XCJdXG59O1xuY29uc3QgZmFBZCA9IGZhUmVjdGFuZ2xlQWQ7XG5jb25zdCBmYUNpcmNsZUFycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWFycm93LXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtcmlnaHRcIl0sIFwiZjBhOVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwQTI1NiAyNTYgMCAxIDAgMCAyNTZ6TTI5NyAzODVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNzEtNzFMMTIwIDI4MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyMTQuMSAwLTcxLTcxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBMNDA5IDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyOTcgMzg1elwiXVxufTtcbmNvbnN0IGZhQXJyb3dDaXJjbGVSaWdodCA9IGZhQ2lyY2xlQXJyb3dSaWdodDtcbmNvbnN0IGZhRmlsdGVyQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsdGVyLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTE3YlwiLCBcIk0zLjkgMjIuOUMxMC41IDguOSAyNC41IDAgNDAgMEw0NzIgMGMxNS41IDAgMjkuNSA4LjkgMzYuMSAyMi45czQuNiAzMC41LTUuMiA0Mi41TDM5Ni40IDE5NS42QzMxNi4yIDIxMi4xIDI1NiAyODMgMjU2IDM2OGMwIDI3LjQgNi4zIDUzLjQgMTcuNSA3Ni41Yy0xLjYtLjgtMy4yLTEuOC00LjctMi45bC02NC00OGMtOC4xLTYtMTIuOC0xNS41LTEyLjgtMjUuNmwwLTc5LjFMOSA2NS4zQy0uNyA1My40LTIuOCAzNi44IDMuOSAyMi45ek00MzIgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptNTkuMyAxMDcuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwTDQzMiAzNDUuNGwtMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDQwOS40IDM2OGwtMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDMyIDM5MC42bDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZMNDU0LjYgMzY4bDM2LjctMzYuN3pcIl1cbn07XG5jb25zdCBmYUxvY3VzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2N1c3QnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MjBcIiwgXCJNMzEyIDMyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDBjOTguNyAwIDE4MC42IDcxLjQgMTk3IDE2NS40Yy05LTMuNS0xOC44LTUuNC0yOS01LjRsLTY0LjIgMC00MS44LTk3LjVjLTMuNC03LjktMTAuOC0xMy40LTE5LjMtMTQuNHMtMTcgMi43LTIyLjEgOS42bC00MC45IDU1LjUtMjEuNy01MC43Yy0zLjMtNy44LTEwLjUtMTMuMi0xOC45LTE0LjNzLTE2LjcgMi4zLTIyIDguOWwtMjQwIDMwNGMtOC4yIDEwLjQtNi40IDI1LjUgNCAzMy43czI1LjUgNi40IDMzLjctNGw3OS40LTEwMC41IDQzIDE2LjQtNDAuNSA1NWMtNy45IDEwLjctNS42IDI1LjcgNS4xIDMzLjZzMjUuNyA1LjYgMzMuNi01LjFMMjE1LjEgNDAwbDc0LjUgMC0yOS4zIDQyLjNjLTcuNSAxMC45LTQuOCAyNS44IDYuMSAzMy40czI1LjggNC44IDMzLjQtNi4xTDM0OCA0MDBsODAuNCAwIDM4LjggNjcuOWM2LjYgMTEuNSAyMS4yIDE1LjUgMzIuNyA4LjlzMTUuNS0yMS4yIDguOS0zMi43TDQ4My42IDQwMGwxMi40IDBjNDQuMSAwIDc5LjgtMzUuNyA4MC03OS43YzAtLjEgMC0uMiAwLS4zbDAtNDBDNTc2IDE0MyA0NjUgMzIgMzI4IDMybC0xNiAwem01MC41IDE2OGwxNy4xIDQwTDMzMyAyNDBsMjkuNS00MHptLTg3LjcgMzguMWwtMS40IDEuOS00OC4yIDAgMzIuNy00MS41IDE2LjkgMzkuNXpNODguOCAyNDBDNTcuNCAyNDAgMzIgMjY1LjQgMzIgMjk2LjhjMCAxNS41IDYuMyAzMCAxNi45IDQwLjRMMTI2LjcgMjQwbC0zNy45IDB6TTQ5NiAyODhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbmNvbnN0IGZhU29ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzb3J0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ1bnNvcnRlZFwiXSwgXCJmMGRjXCIsIFwiTTEzNy40IDQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTI4IDEyOGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOXMtMTYuNiAxOS44LTI5LjYgMTkuOEwzMiAyMjRjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45bDEyOC0xMjh6bTAgNDI5LjNsLTEyOC0xMjhjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45czE2LjYtMTkuOCAyOS42LTE5LjhsMjU2IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOWwtMTI4IDEyOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDB6XCJdXG59O1xuY29uc3QgZmFVbnNvcnRlZCA9IGZhU29ydDtcbmNvbnN0IGZhTGlzdE9sID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpc3Qtb2wnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxpc3QtMS0yXCIsIFwibGlzdC1udW1lcmljXCJdLCBcImYwY2JcIiwgXCJNMjQgNTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDEyMCAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDAgMC05Ni04IDBDMzQuNyA4MCAyNCA2OS4zIDI0IDU2ek04Ni43IDM0MS4yYy02LjUtNy40LTE4LjMtNi45LTI0IDEuMkw1MS41IDM1Ny45Yy03LjcgMTAuOC0yMi43IDEzLjMtMzMuNSA1LjZzLTEzLjMtMjIuNy01LjYtMzMuNWwxMS4xLTE1LjZjMjMuNy0zMy4yIDcyLjMtMzUuNiA5OS4yLTQuOWMyMS4zIDI0LjQgMjAuOCA2MC45LTEuMSA4NC43TDg2LjggNDMybDMzLjIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODggMGMtOS41IDAtMTguMi01LjYtMjItMTQuNHMtMi4xLTE4LjkgNC4zLTI1LjlsNzItNzhjNS4zLTUuOCA1LjQtMTQuNiAuMy0yMC41ek0yMjQgNjRsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDE2MGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTYwbDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUxpc3QxMiA9IGZhTGlzdE9sO1xuY29uc3QgZmFMaXN0TnVtZXJpYyA9IGZhTGlzdE9sO1xuY29uc3QgZmFQZXJzb25EcmVzc0J1cnN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1kcmVzcy1idXJzdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU0NFwiLCBcIk01MjggNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMzkwLjIgMzg0bDE3LjggMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAxNiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDE3LjggMGMxMC45IDAgMTguNi0xMC43IDE1LjItMjEuMUw1NDYuNyAyNDguMWwzMy45IDU2LjNjOS4xIDE1LjEgMjguOCAyMCA0My45IDEwLjlzMjAtMjguOCAxMC45LTQzLjlsLTUzLjYtODkuMmMtMjAuMi0zMy43LTU2LjctNTQuMy05Ni01NC4zbC0xMS42IDBjLTM5LjMgMC03NS43IDIwLjYtOTYgNTQuM2wtNTMuNiA4OS4yYy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45bDMzLjktNTYuM0wzNzUgMzYyLjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMXpNMTkwLjkgMTguMUMxODguNCAxMiAxODIuNiA4IDE3NiA4cy0xMi40IDQtMTQuOSAxMC4xbC0yOS40IDc0TDU1LjYgNjguOWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zcy00LjYgMTIuMi0xLjQgMTcuOWwzOS41IDY5LjFMMTAuOSAyMDYuNGMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdzNi43IDExLjIgMTMuMSAxMi4ybDc4LjcgMTIuMkw5MC42IDMyN2MtLjUgNi41IDMuMSAxMi43IDkgMTUuNXMxMi45IDEuOCAxNy44LTIuNkwxNzYgMjg2LjFsNTguNiA1My45YzQuOCA0LjQgMTEuOSA1LjUgMTcuOCAyLjZzOS41LTkgOS0xNS41bC01LjYtNzkuNCA1MC41LTcuOCAyNC40LTQwLjUtNTUuMi0zOEwzMTUgOTIuMmMzLjMtNS43IDIuNy0xMi44LTEuNC0xNy45cy0xMC45LTcuMi0xNy4yLTUuM0wyMjAuMyA5Mi4xbC0yOS40LTc0elwiXVxufTtcbmNvbnN0IGZhTW9uZXlDaGVja0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1jaGVjay1kb2xsYXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1vbmV5LWNoZWNrLWFsdFwiXSwgXCJmNTNkXCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek0yNzIgMTkybDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0yMjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNMjU2IDMwNGMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZ6TTE2NCAxNTJsMCAxMy45YzcuNSAxLjIgMTQuNiAyLjkgMjEuMSA0LjdjMTAuNyAyLjggMTcgMTMuOCAxNC4yIDI0LjVzLTEzLjggMTctMjQuNSAxNC4yYy0xMS0yLjktMjEuNi01LTMxLjItNS4yYy03LjktLjEtMTYgMS44LTIxLjUgNWMtNC44IDIuOC02LjIgNS42LTYuMiA5LjNjMCAxLjggLjEgMy41IDUuMyA2LjdjNi4zIDMuOCAxNS41IDYuNyAyOC4zIDEwLjVsLjcgLjJjMTEuMiAzLjQgMjUuNiA3LjcgMzcuMSAxNWMxMi45IDguMSAyNC4zIDIxLjMgMjQuNiA0MS42Yy4zIDIwLjktMTAuNSAzNi4xLTI0LjggNDVjLTcuMiA0LjUtMTUuMiA3LjMtMjMuMiA5bDAgMTMuOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0xNC42Yy0xMC4zLTIuMi0yMC01LjUtMjguMi04LjRjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMi4xLS43LTQuMS0xLjQtNi4xLTIuMWMtMTAuNS0zLjUtMTYuMS0xNC44LTEyLjYtMjUuM3MxNC44LTE2LjEgMjUuMy0xMi42YzIuNSAuOCA0LjkgMS43IDcuMiAyLjRjMTMuNiA0LjYgMjQgOC4xIDM1LjEgOC41YzguNiAuMyAxNi41LTEuNiAyMS40LTQuN2M0LjEtMi41IDYtNS41IDUuOS0xMC41YzAtMi45LS44LTUtNS45LTguMmMtNi4zLTQtMTUuNC02LjktMjgtMTAuN2wtMS43LS41Yy0xMC45LTMuMy0yNC42LTcuNC0zNS42LTE0Yy0xMi43LTcuNy0yNC42LTIwLjUtMjQuNy00MC43Yy0uMS0yMS4xIDExLjgtMzUuNyAyNS44LTQzLjljNi45LTQuMSAxNC41LTYuOCAyMi4yLTguNWwwLTE0YzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIwelwiXVxufTtcbmNvbnN0IGZhTW9uZXlDaGVja0FsdCA9IGZhTW9uZXlDaGVja0RvbGxhcjtcbmNvbnN0IGZhVmVjdG9yU3F1YXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZlY3Rvci1zcXVhcmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1Y2JcIiwgXCJNMzY4IDgwbDMyIDAgMCAzMi0zMiAwIDAtMzJ6TTM1MiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJMMTI4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwwIDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDE5MiAwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTE5MmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwek05NiAxNjBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMTkyIDBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMCAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybC0xOTIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTE5MnpNNDggNDAwbDMyIDAgMCAzMi0zMiAwIDAtMzJ6bTMyMCAzMmwwLTMyIDMyIDAgMCAzMi0zMiAwek00OCAxMTJsMC0zMiAzMiAwIDAgMzItMzIgMHpcIl1cbn07XG5jb25zdCBmYUJyZWFkU2xpY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJlYWQtc2xpY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZWNcIiwgXCJNMjU2IDMyQzE5MiAzMiAwIDY0IDAgMTkyYzAgMzUuMyAyOC43IDY0IDY0IDY0VjQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0MDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjU2YzM1LjMgMCA2NC0yOC43IDY0LTY0QzUxMiA2NCAzMjAgMzIgMjU2IDMyelwiXVxufTtcbmNvbnN0IGZhTGFuZ3VhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFuZ3VhZ2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYxYWJcIiwgXCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTkyIDAgNDggMCAxNiAwIDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yNTYgMC0xNiAwLTQ4IDBMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMzIwIDBsMCAyNTYgMjU2IDAgMC0yNTYtMjU2IDB6TTE3OC4zIDE3NS45Yy0zLjItNy4yLTEwLjQtMTEuOS0xOC4zLTExLjlzLTE1LjEgNC43LTE4LjMgMTEuOWwtNjQgMTQ0Yy00LjUgMTAuMSAuMSAyMS45IDEwLjIgMjYuNHMyMS45LS4xIDI2LjQtMTAuMmw4LjktMjAuMSA3My42IDAgOC45IDIwLjFjNC41IDEwLjEgMTYuMyAxNC42IDI2LjQgMTAuMnMxNC42LTE2LjMgMTAuMi0yNi40bC02NC0xNDR6TTE2MCAyMzMuMkwxNzkgMjc2bC0zOCAwIDE5LTQyLjh6TTQ0OCAxNjRjMTEgMCAyMCA5IDIwIDIwbDAgNCA0NCAwIDE2IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC0yIDAtMS42IDQuNWMtOC45IDI0LjQtMjIuNCA0Ni42LTM5LjYgNjUuNGMuOSAuNiAxLjggMS4xIDIuNyAxLjZsMTguOSAxMS4zYzkuNSA1LjcgMTIuNSAxOCA2LjkgMjcuNHMtMTggMTIuNS0yNy40IDYuOWwtMTguOS0xMS4zYy00LjUtMi43LTguOC01LjUtMTMuMS04LjVjLTEwLjYgNy41LTIxLjkgMTQtMzQgMTkuNGwtMy42IDEuNmMtMTAuMSA0LjUtMjEuOS0uMS0yNi40LTEwLjJzLjEtMjEuOSAxMC4yLTI2LjRsMy42LTEuNmM2LjQtMi45IDEyLjYtNi4xIDE4LjUtOS44bC0xMi4yLTEyLjJjLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMGwxNC42IDE0LjYgLjUgLjVjMTIuNC0xMy4xIDIyLjUtMjguMyAyOS44LTQ1TDQ0OCAyMjhsLTcyIDBjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDUyIDAgMC00YzAtMTEgOS0yMCAyMC0yMHpcIl1cbn07XG5jb25zdCBmYUZhY2VLaXNzV2lua0hlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Uta2lzcy13aW5rLWhlYXJ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTM2LCBcImtpc3Mtd2luay1oZWFydFwiXSwgXCJmNTk4XCIsIFwiTTQ5OCAzMzkuN2M5LjEtMjYuMiAxNC01NC40IDE0LTgzLjdDNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NlMxMTQuNiA1MTIgMjU2IDUxMmMzNS40IDAgNjkuMS03LjIgOTkuNy0yMC4yYy00LjgtNS41LTguNS0xMi4yLTEwLjQtMTkuN2wtMjIuOS04OS4zYy0xMC0zOSAxMS44LTgwLjkgNTEuOC05Mi4xYzM3LjItMTAuNCA3My44IDEwLjEgODcuNSA0NGMxMi43LTEuNiAyNS4xIC40IDM2LjIgNXpNMjk2IDMzMmMwIDYuOS0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRjLTIuNyAxLjUtNS43IDMtOC43IDQuM2MzLjEgMS4zIDYgMi43IDguNyA0LjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40QzI1OC43IDQ0My4xIDI0MS40IDQ0OCAyMjQgNDQ4Yy0zLjYgMC02LjgtMi41LTcuNy02cy42LTcuMiAzLjgtOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMCAwIDAgMCAwIDBsLjItLjFjLjItLjEgLjUtLjMgLjktLjVjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFsLS42LS40LS4zLS4yLS4yLS4xYzAgMCAwIDAgMCAwYzAgMCAwIDAgMCAwczAgMCAwIDBjLTIuNS0xLjQtNC4xLTQuMS00LjEtN3MxLjYtNS42IDQuMS03YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYzAgMCAwIDAgMCAwbC4yLS4xYy4yLS4xIC41LS4zIC45LS41Yy44LS41IDItMS4yIDMuNC0yLjFjMi44LTEuOSA2LjUtNC41IDEwLjItNy42YzMuNy0zLjEgNy4yLTYuNiA5LjYtMTAuMWMyLjUtMy41IDMuNS02LjQgMy41LTguNnMtMS01LTMuNS04LjZjLTIuNS0zLjUtNS45LTYuOS05LjYtMTAuMWMtMy43LTMuMS03LjQtNS43LTEwLjItNy42Yy0xLjQtLjktMi42LTEuNi0zLjQtMi4xYy0uNC0uMi0uNy0uNC0uOS0uNWwtLjItLjFjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMy4yLTEuOC00LjctNS41LTMuOC05czQuMS02IDcuNy02YzE3LjQgMCAzNC43IDQuOSA0Ny45IDEyLjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3pNMTc2LjQgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTk0LjggNTcuNmMtMTcuNi0yMy41LTUyLjgtMjMuNS03MC40IDBjLTUuMyA3LjEtMTUuMyA4LjUtMjIuNCAzLjJzLTguNS0xNS4zLTMuMi0yMi40YzMwLjQtNDAuNSA5MS4yLTQwLjUgMTIxLjYgMGM1LjMgNy4xIDMuOSAxNy4xLTMuMiAyMi40cy0xNy4xIDMuOS0yMi40LTMuMnpNNDM0IDM1Mi4zYy02LTIzLjItMjguOC0zNy01MS4xLTMwLjhzLTM1LjQgMzAuMS0yOS41IDUzLjRsMjIuOSA4OS4zYzIuMiA4LjcgMTEuMiAxMy45IDE5LjggMTEuNGw4NC45LTIzLjhjMjIuMi02LjIgMzUuNC0zMC4xIDI5LjUtNTMuNHMtMjguOC0zNy01MS4xLTMwLjhsLTIwLjIgNS42LTUuNC0yMXpcIl1cbn07XG5jb25zdCBmYUtpc3NXaW5rSGVhcnQgPSBmYUZhY2VLaXNzV2lua0hlYXJ0O1xuY29uc3QgZmFGaWx0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsdGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMGIwXCIsIFwiTTMuOSA1NC45QzEwLjUgNDAuOSAyNC41IDMyIDQwIDMybDQzMiAwYzE1LjUgMCAyOS41IDguOSAzNi4xIDIyLjlzNC42IDMwLjUtNS4yIDQyLjVMMzIwIDMyMC45IDMyMCA0NDhjMCAxMi4xLTYuOCAyMy4yLTE3LjcgMjguNnMtMjMuOCA0LjMtMzMuNS0zbC02NC00OGMtOC4xLTYtMTIuOC0xNS41LTEyLjgtMjUuNmwwLTc5LjFMOSA5Ny4zQy0uNyA4NS40LTIuOCA2OC44IDMuOSA1NC45elwiXVxufTtcbmNvbnN0IGZhUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncXVlc3Rpb24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMDA2NywgMTAwNjgsIDYxNzM2XSwgXCIzZlwiLCBcIk04MCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMuNmMwIDIxLjgtMTEuMSA0Mi4xLTI5LjQgNTMuOGwtNDIuMiAyNy4xYy0yNS4yIDE2LjItNDAuNCA0NC4xLTQwLjQgNzRsMCAxLjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEuNGMwLTguMiA0LjItMTUuOCAxMS0yMC4ybDQyLjItMjcuMWMzNi42LTIzLjYgNTguOC02NC4xIDU4LjgtMTA3LjdsMC0zLjZjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhsLTMyIDBDNzMuMyAzMiAxNiA4OS4zIDE2IDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyem04MCAzMjBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbmNvbnN0IGZhRmlsZVNpZ25hdHVyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXNpZ25hdHVyZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjU3M1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5LjNjLTIuNyAxLjEtNS40IDItOC4yIDIuN2wtNjAuMSAxNWMtMyAuNy02IDEuMi05IDEuNGMtLjkgLjEtMS44IC4yLTIuNyAuMmwtNjQgMGMtNi4xIDAtMTEuNi0zLjQtMTQuMy04LjhsLTguOC0xNy43Yy0xLjctMy40LTUuMS01LjUtOC44LTUuNXMtNy4yIDIuMS04LjggNS41bC04LjggMTcuN2MtMi45IDUuOS05LjIgOS40LTE1LjcgOC44cy0xMi4xLTUuMS0xMy45LTExLjNMMTQ0IDM4MWwtOS44IDMyLjhjLTYuMSAyMC4zLTI0LjggMzQuMi00NiAzNC4yTDgwIDQ0OGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4LjIgMGM3LjEgMCAxMy4zLTQuNiAxNS4zLTExLjRsMTQuOS00OS41YzMuNC0xMS4zIDEzLjgtMTkuMSAyNS42LTE5LjFzMjIuMiA3LjggMjUuNiAxOS4xbDExLjYgMzguNmM3LjQtNi4yIDE2LjgtOS43IDI2LjgtOS43YzE1LjkgMCAzMC40IDkgMzcuNSAyMy4ybDQuNCA4LjggOC45IDBjLTMuMS04LjgtMy43LTE4LjQtMS40LTI3LjhsMTUtNjAuMWMyLjgtMTEuMyA4LjYtMjEuNSAxNi44LTI5LjdMMzg0IDIwMy42bDAtNDMuNi0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTU0OS44IDEzOS43Yy0xNS42LTE1LjYtNDAuOS0xNS42LTU2LjYgMGwtMjkuNCAyOS40IDcxIDcxIDI5LjQtMjkuNGMxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNmwtMTQuNC0xNC40ek0zMTEuOSAzMjFjLTQuMSA0LjEtNyA5LjItOC40IDE0LjlsLTE1IDYwLjFjLTEuNCA1LjUgLjIgMTEuMiA0LjIgMTUuMnM5LjcgNS42IDE1LjIgNC4ybDYwLjEtMTVjNS42LTEuNCAxMC44LTQuMyAxNC45LTguNEw1MTIuMSAyNjIuN2wtNzEtNzFMMzExLjkgMzIxelwiXVxufTtcbmNvbnN0IGZhVXBEb3duTGVmdFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VwLWRvd24tbGVmdC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3dzLWFsdFwiXSwgXCJmMGIyXCIsIFwiTTI3OC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXMxNi42IDE5LjggMjkuNiAxOS44bDMyIDAgMCA5Ni05NiAwIDAtMzJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42bDAtMzIgOTYgMCAwIDk2LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44bC0zMiAwIDAtOTYgOTYgMCAwIDMyYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXMtMTkuOCAxNi42LTE5LjggMjkuNmwwIDMyLTk2IDAgMC05NiAzMiAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0elwiXVxufTtcbmNvbnN0IGZhQXJyb3dzQWx0ID0gZmFVcERvd25MZWZ0UmlnaHQ7XG5jb25zdCBmYUhvdXNlQ2hpbW5leVVzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2hpbW5leS11c2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDY1XCIsIFwiTTU0My44IDI4Ny42YzE3IDAgMzItMTQgMzItMzIuMWMxLTktMy0xNy0xMS0yNEw1MTIgMTg1bDAtMTIxYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM2LjdMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFsMzIgMCAwIDE2MC40YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMC40IDBjMzUuNSAwIDY0LjItMjguOCA2NC02NC4zbC0uNy0xNjAuMiAzMiAwek0yODggMTYwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0xNzYgNDAwYzAtNDQuMiAzNS44LTgwIDgwLTgwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbmNvbnN0IGZhSGFuZEhvbGRpbmdIZWFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctaGVhcnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0YmVcIiwgXCJNMTYzLjkgMTM2LjljLTI5LjQtMjkuOC0yOS40LTc4LjIgMC0xMDhzNzctMjkuOCAxMDYuNCAwbDE3LjcgMTggMTcuNy0xOGMyOS40LTI5LjggNzctMjkuOCAxMDYuNCAwczI5LjQgNzguMiAwIDEwOEwzMTAuNSAyNDAuMWMtNi4yIDYuMy0xNC4zIDkuNC0yMi41IDkuNHMtMTYuMy0zLjEtMjIuNS05LjRMMTYzLjkgMTM2Ljl6TTU2OC4yIDMzNi4zYzEzLjEgMTcuOCA5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVMMTkyIDUxMiAzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzYuOCAwIDQ0LjktMzZjMjIuNy0xOC4yIDUwLjktMjggODAtMjhsNzguMyAwIDE2IDAgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyMC42IDAgMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjV6TTE5My42IDM4NGMwIDAgMCAwIDAgMGwtLjkgMGMuMyAwIC42IDAgLjkgMHpcIl1cbn07XG5jb25zdCBmYVB1enpsZVBpZWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3B1enpsZS1waWVjZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUxM10sIFwiZjEyZVwiLCBcIk0xOTIgMTA0LjhjMC05LjItNS44LTE3LjMtMTMuMi0yMi44QzE2Ny4yIDczLjMgMTYwIDYxLjMgMTYwIDQ4YzAtMjYuNSAyOC43LTQ4IDY0LTQ4czY0IDIxLjUgNjQgNDhjMCAxMy4zLTcuMiAyNS4zLTE4LjggMzRjLTcuNCA1LjUtMTMuMiAxMy42LTEzLjIgMjIuOGMwIDEyLjggMTAuNCAyMy4yIDIzLjIgMjMuMmw1Ni44IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA1Ni44YzAgMTIuOCAxMC40IDIzLjIgMjMuMiAyMy4yYzkuMiAwIDE3LjMtNS44IDIyLjgtMTMuMmM4LjctMTEuNiAyMC43LTE4LjggMzQtMTguOGMyNi41IDAgNDggMjguNyA0OCA2NHMtMjEuNSA2NC00OCA2NGMtMTMuMyAwLTI1LjMtNy4yLTM0LTE4LjhjLTUuNS03LjQtMTMuNi0xMy4yLTIyLjgtMTMuMmMtMTIuOCAwLTIzLjIgMTAuNC0yMy4yIDIzLjJMMzg0IDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNTYuOCAwYy0xMi44IDAtMjMuMi0xMC40LTIzLjItMjMuMmMwLTkuMiA1LjgtMTcuMyAxMy4yLTIyLjhjMTEuNi04LjcgMTguOC0yMC43IDE4LjgtMzRjMC0yNi41LTI4LjctNDgtNjQtNDhzLTY0IDIxLjUtNjQgNDhjMCAxMy4zIDcuMiAyNS4zIDE4LjggMzRjNy40IDUuNSAxMy4yIDEzLjYgMTMuMiAyMi44YzAgMTIuOC0xMC40IDIzLjItMjMuMiAyMy4yTDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAzNDMuMkMwIDMzMC40IDEwLjQgMzIwIDIzLjIgMzIwYzkuMiAwIDE3LjMgNS44IDIyLjggMTMuMkM1NC43IDM0NC44IDY2LjcgMzUyIDgwIDM1MmMyNi41IDAgNDgtMjguNyA0OC02NHMtMjEuNS02NC00OC02NGMtMTMuMyAwLTI1LjMgNy4yLTM0IDE4LjhDNDAuNSAyNTAuMiAzMi40IDI1NiAyMy4yIDI1NkMxMC40IDI1NiAwIDI0NS42IDAgMjMyLjhMMCAxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTIwLjggMGMxMi44IDAgMjMuMi0xMC40IDIzLjItMjMuMnpcIl1cbn07XG5jb25zdCBmYU1vbmV5Q2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1M2NcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTQ4IDE2MGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTk2IDMzNmMwLTguOCA3LjItMTYgMTYtMTZsMzUyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTM1MiAwYy04LjggMC0xNi03LjItMTYtMTZ6TTM3NiAxNjBsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhU3RhckhhbGZTdHJva2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Rhci1oYWxmLXN0cm9rZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic3Rhci1oYWxmLWFsdFwiXSwgXCJmNWMwXCIsIFwiTTI4OCAzNzYuNGwuMS0uMSAyNi40IDE0LjEgODUuMiA0NS41LTE2LjUtOTcuNi00LjgtMjguNyAyMC43LTIwLjUgNzAuMS02OS4zLTk2LjEtMTQuMi0yOS4zLTQuMy0xMi45LTI2LjZMMjg4LjEgODYuOWwtLjEgLjMgMCAyODkuMnptMTc1LjEgOTguM2MyIDEyLTMgMjQuMi0xMi45IDMxLjNzLTIzIDgtMzMuOCAyLjNMMjg4LjEgNDM5LjggMTU5LjggNTA4LjNDMTQ5IDUxNCAxMzUuOSA1MTMuMSAxMjYgNTA2cy0xNC45LTE5LjMtMTIuOS0zMS4zTDEzNy44IDMyOSAzMy42IDIyNS45Yy04LjYtOC41LTExLjctMjEuMi03LjktMzIuN3MxMy43LTE5LjkgMjUuNy0yMS43TDE5NSAxNTAuMyAyNTkuNCAxOGM1LjQtMTEgMTYuNS0xOCAyOC44LTE4czIzLjQgNyAyOC44IDE4bDY0LjMgMTMyLjMgMTQzLjYgMjEuMmMxMiAxLjggMjIgMTAuMiAyNS43IDIxLjdzLjcgMjQuMi03LjkgMzIuN0w0MzguNSAzMjlsMjQuNiAxNDUuN3pcIl1cbn07XG5jb25zdCBmYVN0YXJIYWxmQWx0ID0gZmFTdGFySGFsZlN0cm9rZTtcbmNvbnN0IGZhQ29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMTIxXCIsIFwiTTM5Mi44IDEuMmMtMTctNC45LTM0LjcgNS0zOS42IDIybC0xMjggNDQ4Yy00LjkgMTcgNSAzNC43IDIyIDM5LjZzMzQuNy01IDM5LjYtMjJsMTI4LTQ0OGM0LjktMTctNS0zNC43LTIyLTM5LjZ6bTgwLjYgMTIwLjFjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zTDU2Mi43IDI1NmwtODkuNCA4OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDExMi0xMTJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTExMi0xMTJjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwem0tMzA2LjcgMGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTExMiAxMTJjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDExMiAxMTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1Nmw4OS40LTg5LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xuY29uc3QgZmFXaGlza2V5R2xhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hpc2tleS1nbGFzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM0NywgXCJnbGFzcy13aGlza2V5XCJdLCBcImY3YTBcIiwgXCJNMzIgMzJjLTkuMyAwLTE4LjEgNC0yNC4yIDExLjFTLTEgNTkuNCAuMyA2OC42bDUwIDM0Mi45YzUuNyAzOS4zIDM5LjQgNjguNSA3OS4yIDY4LjVsMjUzIDBjMzkuNyAwIDczLjQtMjkuMSA3OS4yLTY4LjVsNTAtMzQyLjljMS4zLTkuMi0xLjQtMTguNS03LjUtMjUuNVM0ODkuMyAzMiA0ODAgMzJMMzIgMzJ6TTg3LjcgMjI0TDY5IDk2bDM3NCAwTDQyNC4zIDIyNCA4Ny43IDIyNHpcIl1cbn07XG5jb25zdCBmYUdsYXNzV2hpc2tleSA9IGZhV2hpc2tleUdsYXNzO1xuY29uc3QgZmFCdWlsZGluZ0NpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkM1wiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDk2IDBjMTUuMSAwIDI4LjUtNi45IDM3LjMtMTcuOEMzNDAuNCA0NjIuMiAzMjAgNDE3LjUgMzIwIDM2OGMwLTU0LjcgMjQuOS0xMDMuNSA2NC0xMzUuOEwzODQgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek04MCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYU1hZ25pZnlpbmdHbGFzc0NoYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtY2hhcnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MjJcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHptLTMxMiA4bDAgNjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MC05NmwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MCA2NGwwIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC05NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHpcIl1cbn07XG5jb25zdCBmYUFycm93VXBSaWdodEZyb21TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImV4dGVybmFsLWxpbmtcIl0sIFwiZjA4ZVwiLCBcIk0zMjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4Mi43IDBMMjAxLjQgMjY1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMNDQ4IDEwOS4zbDAgODIuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyMCAwek04MCAzMkMzNS44IDMyIDAgNjcuOCAwIDExMkwwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMjAgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTExMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZMODAgNDQ4Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMjBjMC04LjggNy4yLTE2IDE2LTE2bDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDMyelwiXVxufTtcbmNvbnN0IGZhRXh0ZXJuYWxMaW5rID0gZmFBcnJvd1VwUmlnaHRGcm9tU3F1YXJlO1xuY29uc3QgZmFDdWJlc1N0YWNrZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3ViZXMtc3RhY2tlZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTRlNlwiLCBcIk0xOTIgNjRsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04Mi43IDIwN2MtMTUuMyA4LjgtMjAuNSAyOC40LTExLjcgNDMuN2wzMiA1NS40YzguOCAxNS4zIDI4LjQgMjAuNSA0My43IDExLjdsNTUuNC0zMmMxNS4zLTguOCAyMC41LTI4LjQgMTEuNy00My43bC0zMi01NS40Yy04LjgtMTUuMy0yOC40LTIwLjUtNDMuNy0xMS43TDgyLjcgMjA3ek0yODggMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMHptNjQgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMHpNMTYwIDM4NGwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTMyIDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDB6XCJdXG59O1xuY29uc3QgZmFXb25TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dvbi1zaWduJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbODM2MSwgXCJrcndcIiwgXCJ3b25cIl0sIFwiZjE1OVwiLCBcIk02Mi40IDUzLjlDNTYuOCAzNy4xIDM4LjYgMjguMSAyMS45IDMzLjZTLTMuOSA1Ny40IDEuNiA3NC4xTDUxLjYgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0MC45IDAgNTYuNyAxNzAuMWM0LjUgMTMuNSAxNy40IDIyLjQgMzEuNiAyMS45czI2LjQtMTAuNCAyOS44LTI0LjJMMjMzIDI4OGw0NiAwTDMyMSA0NTUuOGMzLjQgMTMuOCAxNS42IDIzLjcgMjkuOCAyNC4yczI3LjEtOC40IDMxLjYtMjEuOUw0MzkuMSAyODhsNDAuOSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOS42IDAgNTAtMTQ5LjljNS42LTE2LjgtMy41LTM0LjktMjAuMi00MC41cy0zNC45IDMuNS00MC41IDIwLjJMMzkyLjkgMjI0bC02NCAwTDI4NyA1Ni4yQzI4My41IDQyIDI3MC43IDMyIDI1NiAzMnMtMjcuNSAxMC0zMSAyNC4yTDE4MyAyMjRsLTY0IDBMNjIuNCA1My45em03OCAyMzQuMWwyNi42IDAtMTEuNCA0NS42TDE0MC40IDI4OHpNMjQ5IDIyNGw3LTI4LjEgNyAyOC4xLTE0IDB6bTk2IDY0bDI2LjYgMC0xNS4yIDQ1LjZMMzQ1IDI4OHpcIl1cbn07XG5jb25zdCBmYUtydyA9IGZhV29uU2lnbjtcbmNvbnN0IGZhV29uID0gZmFXb25TaWduO1xuY29uc3QgZmFWaXJ1c0NvdmlkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpcnVzLWNvdmlkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGE4XCIsIFwiTTE5MiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgMzMuNmMzMC43IDQuMiA1OC44IDE2LjMgODIuMyAzNC4xTDM4Ni4xIDkyIDM3NC44IDgwLjZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1Ni42IDU2LjZjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw0MjAgMTI1LjlsLTIzLjggMjMuOGMxNy45IDIzLjUgMjkuOSA1MS43IDM0LjEgODIuM2wzMy42IDAgMC0xNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNi0zMy42IDBjLTQuMiAzMC43LTE2LjMgNTguOC0zNC4xIDgyLjNMNDIwIDM4Ni4xbDExLjMtMTEuM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU2LjYgNTYuNmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwzODYuMSA0MjBsLTIzLjgtMjMuOGMtMjMuNSAxNy45LTUxLjcgMjkuOS04Mi4zIDM0LjFsMCAzMy42IDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTYgMCAwLTMzLjZjLTMwLjctNC4yLTU4LjgtMTYuMy04Mi4zLTM0LjFMMTI1LjkgNDIwbDExLjMgMTEuM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDQ2LjcgNDA4LjdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMEw5MiAzODYuMWwyMy44LTIzLjhDOTcuOSAzMzguOCA4NS44IDMxMC43IDgxLjYgMjgwTDQ4IDI4MGwwIDE2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE2IDMzLjYgMGM0LjItMzAuNyAxNi4zLTU4LjggMzQuMS04Mi4zTDkyIDEyNS45IDgwLjYgMTM3LjJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTYuNi01Ni42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwxMjUuOSA5MmwyMy44IDIzLjhjMjMuNS0xNy45IDUxLjctMjkuOSA4Mi4zLTM0LjFMMjMyIDQ4bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptNDggMjAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTY0IDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFBdXN0cmFsU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhdXN0cmFsLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwYTlcIiwgXCJNMjUzLjUgNTEuN0MyNDguNiAzOS44IDIzNi45IDMyIDIyNCAzMnMtMjQuNiA3LjgtMjkuNSAxOS43TDEyMi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMEw4Mi43IDMyMCAzMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjQgMEwzNC41IDQzNS43Yy02LjggMTYuMyAuOSAzNSAxNy4yIDQxLjhzMzUtLjkgNDEuOC0xNy4yTDEyNS4zIDM4NGwxOTcuMyAwIDMxLjggNzYuM2M2LjggMTYuMyAyNS41IDI0IDQxLjggMTcuMnMyNC0yNS41IDE3LjItNDEuOEwzOTIgMzg0bDI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUwLjcgMEwzNTIgMjg4bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTkwLjcgMEwyNTMuNSA1MS43ek0yNTYgMjI0bC02NCAwIDMyLTc2LjhMMjU2IDIyNHptLTkwLjcgNjRsMTE3LjMgMEwyOTYgMzIwbC0xNDQgMCAxMy4zLTMyelwiXVxufTtcbmNvbnN0IGZhRiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTAyXSwgXCI0NlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMjU2IDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjAgMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMjI0IDY0IDk2bDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDY0IDMyelwiXVxufTtcbmNvbnN0IGZhTGVhZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsZWFmJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDZjXCIsIFwiTTI3MiA5NmMtNzguNiAwLTE0NS4xIDUxLjUtMTY3LjcgMTIyLjVjMzMuNi0xNyA3MS41LTI2LjUgMTExLjctMjYuNWw4OCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwLTcyIDBzMCAwIDAgMGMtMTYuNiAwLTMyLjcgMS45LTQ4LjMgNS40Yy0yNS45IDUuOS00OS45IDE2LjQtNzEuNCAzMC43YzAgMCAwIDAgMCAwQzM4LjMgMjk4LjggMCAzNjQuOSAwIDQ0MGwwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNmMwLTQ4LjcgMjAuNy05Mi41IDUzLjgtMTIzLjJDMTIxLjYgMzkyLjMgMTkwLjMgNDQ4IDI3MiA0NDhsMSAwYzEzMi4xLS43IDIzOS0xMzAuOSAyMzktMjkxLjRjMC00Mi42LTcuNS04My4xLTIxLjEtMTE5LjZjLTIuNi02LjktMTIuNy02LjYtMTYuMi0uMUM0NTUuOSA3Mi4xIDQxOC43IDk2IDM3NiA5NkwyNzIgOTZ6XCJdXG59O1xuY29uc3QgZmFSb2FkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg3MzldLCBcImYwMThcIiwgXCJNMjU2IDMybC03NC44IDBjLTI3LjEgMC01MS4zIDE3LjEtNjAuMyA0Mi42TDMuMSA0MDcuMkMxLjEgNDEzIDAgNDE5LjIgMCA0MjUuNEMwIDQ1NS41IDI0LjUgNDgwIDU0LjYgNDgwTDI1NiA0ODBsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjQgMjAxLjQgMGMzMC4yIDAgNTQuNi0yNC41IDU0LjYtNTQuNmMwLTYuMi0xLjEtMTIuNC0zLjEtMTguMkw0NTUuMSA3NC42QzQ0NiA0OS4xIDQyMS45IDMyIDM5NC44IDMyTDMyMCAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bTY0IDE5MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpcIl1cbn07XG5jb25zdCBmYVRheGkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGF4aScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY2MiwgXCJjYWJcIl0sIFwiZjFiYVwiLCBcIk0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMiAwIC4yYy0zOC42IDIuMi03Mi4zIDI3LjMtODUuMiA2NC4xTDM5LjYgMjI4LjhDMTYuNCAyMzguNCAwIDI2MS4zIDAgMjg4TDAgNDMybDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4IDMyMCAwIDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4IDAtMTQ0YzAtMjYuNy0xNi40LTQ5LjYtMzkuNi01OS4yTDQzNy4yIDEyOC4zYy0xMi45LTM2LjgtNDYuNi02Mi04NS4yLTY0LjFsMC0uMiAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE5MiAwek0xNjUuNCAxMjhsMTgxLjIgMGMxMy42IDAgMjUuNyA4LjYgMzAuMiAyMS40TDQwMi45IDIyNGwtMjkzLjggMCAyNi4xLTc0LjZjNC41LTEyLjggMTYuNi0yMS40IDMwLjItMjEuNHpNOTYgMjg4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMjg4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFDYWIgPSBmYVRheGk7XG5jb25zdCBmYVBlcnNvbkNpcmNsZVBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQxXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjMuMUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmwyOS43IDBjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45IDIzMiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNNDMyIDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTQ4IDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC00OHpcIl1cbn07XG5jb25zdCBmYUNoYXJ0UGllID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LXBpZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wicGllLWNoYXJ0XCJdLCBcImYyMDBcIiwgXCJNMzA0IDI0MGwwLTIyMy40YzAtOSA3LTE2LjYgMTYtMTYuNkM0NDMuNyAwIDU0NCAxMDAuMyA1NDQgMjI0YzAgOS03LjYgMTYtMTYuNiAxNkwzMDQgMjQwek0zMiAyNzJDMzIgMTUwLjcgMTIyLjEgNTAuMyAyMzkgMzQuM2M5LjItMS4zIDE3IDYuMSAxNyAxNS40TDI1NiAyODggNDEyLjUgNDQ0LjVjNi43IDYuNyA2LjIgMTcuNy0xLjUgMjMuMUMzNzEuOCA0OTUuNiAzMjMuOCA1MTIgMjcyIDUxMkMxMzkuNSA1MTIgMzIgNDA0LjYgMzIgMjcyem01MjYuNCAxNmM5LjMgMCAxNi42IDcuOCAxNS40IDE3Yy03LjcgNTUuOS0zNC42IDEwNS42LTczLjkgMTQyLjNjLTYgNS42LTE1LjQgNS4yLTIxLjItLjdMMzIwIDI4OGwyMzguNCAwelwiXVxufTtcbmNvbnN0IGZhUGllQ2hhcnQgPSBmYUNoYXJ0UGllO1xuY29uc3QgZmFCb2x0TGlnaHRuaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbHQtbGlnaHRuaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMGI3XCIsIFwiTTAgMjU2TDI4LjUgMjhjMi0xNiAxNS42LTI4IDMxLjgtMjhIMjI4LjljMTUgMCAyNy4xIDEyLjEgMjcuMSAyNy4xYzAgMy4yLS42IDYuNS0xLjcgOS41TDIwOCAxNjBIMzQ3LjNjMjAuMiAwIDM2LjcgMTYuNCAzNi43IDM2LjdjMCA3LjQtMi4yIDE0LjYtNi40IDIwLjdsLTE5Mi4yIDI4MWMtNS45IDguNi0xNS42IDEzLjctMjUuOSAxMy43aC0yLjljLTE1LjcgMC0yOC41LTEyLjgtMjguNS0yOC41YzAtMi4zIC4zLTQuNiAuOS02LjlMMTc2IDI4OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTYWNrWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Fjay14bWFyaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU2YVwiLCBcIk0xOTIgOTZsMTI4IDAgNDcuNC03MS4xQzM3NC41IDE0LjIgMzY2LjkgMCAzNTQuMSAwTDE1Ny45IDBjLTEyLjggMC0yMC40IDE0LjItMTMuMyAyNC45TDE5MiA5NnptMTI4IDMybC0xMjggMGMtMy44IDIuNS04LjEgNS4zLTEzIDguNGMwIDAgMCAwIDAgMHMwIDAgMCAwQzEyMi4zIDE3Mi43IDAgMjUwLjkgMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwzMjAgMGM1MyAwIDk2LTQzIDk2LTk2YzAtMTY1LjEtMTIyLjMtMjQzLjMtMTc5LTI3OS42Yy00LjgtMy4xLTkuMi01LjktMTMtOC40ek0yODkuOSAzMzZsNDcgNDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDctNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDctNDctNDctNDdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3elwiXVxufTtcbmNvbnN0IGZhRmlsZUV4Y2VsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtZXhjZWwnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzNcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODgtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDIyNCAwIDY0IDB6TTI1NiAwbDAgMTI4IDEyOCAwTDI1NiAwek0xNTUuNyAyNTAuMkwxOTIgMzAyLjFsMzYuMy01MS45YzcuNi0xMC45IDIyLjYtMTMuNSAzMy40LTUuOXMxMy41IDIyLjYgNS45IDMzLjRMMjIxLjMgMzQ0bDQ2LjQgNjYuMmM3LjYgMTAuOSA1IDI1LjgtNS45IDMzLjRzLTI1LjggNS0zMy40LTUuOUwxOTIgMzg1LjhsLTM2LjMgNTEuOWMtNy42IDEwLjktMjIuNiAxMy41LTMzLjQgNS45cy0xMy41LTIyLjYtNS45LTMzLjRMMTYyLjcgMzQ0bC00Ni40LTY2LjJjLTcuNi0xMC45LTUtMjUuOCA1LjktMzMuNHMyNS44LTUgMzMuNCA1Ljl6XCJdXG59O1xuY29uc3QgZmFGaWxlQ29udHJhY3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jb250cmFjdCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU2Y1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTgwIDY0bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgOTZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptNTQuMiAyNTMuOGMtNi4xIDIwLjMtMjQuOCAzNC4yLTQ2IDM0LjJMODAgNDE2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDguMiAwYzcuMSAwIDEzLjMtNC42IDE1LjMtMTEuNGwxNC45LTQ5LjVjMy40LTExLjMgMTMuOC0xOS4xIDI1LjYtMTkuMXMyMi4yIDcuNyAyNS42IDE5LjFsMTEuNiAzOC42YzcuNC02LjIgMTYuOC05LjcgMjYuOC05LjdjMTUuOSAwIDMwLjQgOSAzNy41IDIzLjJsNC40IDguOCA1NC4xIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTY0IDBjLTYuMSAwLTExLjYtMy40LTE0LjMtOC44bC04LjgtMTcuN2MtMS43LTMuNC01LjEtNS41LTguOC01LjVzLTcuMiAyLjEtOC44IDUuNWwtOC44IDE3LjdjLTIuOSA1LjktOS4yIDkuNC0xNS43IDguOHMtMTIuMS01LjEtMTMuOS0xMS4zTDE0NCAzNDlsLTkuOCAzMi44elwiXVxufTtcbmNvbnN0IGZhRmlzaEZpbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlzaC1maW5zJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGYyXCIsIFwiTTI3NS4yIDM4LjRjLTEwLjYtOC0yNS04LjUtMzYuMy0xLjVTMjIyIDU3LjMgMjI0LjYgNzAuM2w5LjcgNDguNmMtMTkuNCA5LTM2LjkgMTkuOS01Mi40IDMxLjVjLTE1LjMgMTEuNS0yOSAyMy45LTQwLjcgMzYuM0w0OC4xIDEzMi40Yy0xMi41LTcuMy0yOC40LTUuMy0zOC42IDQuOVMtMyAxNjMuMyA0LjIgMTc1LjlMNTAgMjU2IDQuMiAzMzYuMWMtNy4yIDEyLjYtNSAyOC40IDUuMyAzOC42czI2LjEgMTIuMiAzOC42IDQuOWw5My4xLTU0LjNjMTEuOCAxMi4zIDI1LjQgMjQuOCA0MC43IDM2LjNjMTUuNSAxMS42IDMzIDIyLjUgNTIuNCAzMS41bC05LjcgNDguNmMtMi42IDEzIDMuMSAyNi4zIDE0LjMgMzMuM3MyNS42IDYuNSAzNi4zLTEuNWw3Ny42LTU4LjJjNTQuOS00IDEwMS41LTI3IDEzNy4yLTUzLjhjMzkuMi0yOS40IDY3LjItNjQuNyA4MS42LTg5LjVjNS44LTkuOSA1LjgtMjIuMiAwLTMyLjFjLTE0LjQtMjQuOC00Mi41LTYwLjEtODEuNi04OS41Yy0zNS44LTI2LjgtODIuMy00OS44LTEzNy4yLTUzLjhMMjc1LjIgMzguNHpNMzg0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbmNvbnN0IGZhQnVpbGRpbmdGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZDVcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhMMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsOTYgMCAwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCA4MCA5NiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNDE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDB6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xMTItMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNODAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ0OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4MCA2NCAwIDAtMzIwIDE0NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZMNDgwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhRmFjZUdyaW5CZWFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi1iZWFtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTE2LCBcImdyaW4tYmVhbVwiXSwgXCJmNTgyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6bS0xNzAuNS04NHMwIDAgMCAwYzAgMCAwIDAgMCAwbC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMmMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGMwIDAgMCAwIDAgMHMwIDAgMCAwem0xNjAgMGMwIDAgMCAwIDAgMGwtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjJjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwelwiXVxufTtcbmNvbnN0IGZhR3JpbkJlYW0gPSBmYUZhY2VHcmluQmVhbTtcbmNvbnN0IGZhT2JqZWN0VW5ncm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdvYmplY3QtdW5ncm91cCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjI0OFwiLCBcIk0zMiAxMTkuNEMxMi45IDEwOC40IDAgODcuNyAwIDY0QzAgMjguNyAyOC43IDAgNjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsMjA5LjEgMEMzMzkuNiAxMi45IDM2MC4zIDAgMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMTEzLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0xMTMuMXpNMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNGwwIDExMy4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyMDkuMSAwYzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNGwwLTExMy4xYy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjRMMTE5LjQgOTZ6bTE5MiAzODRjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzJjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTQwLjYgNjQgMCAwIDQwLjZjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40bDIwOS4xIDBjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40bDAtMTEzLjFjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNGwtNDYgMGMtNS40LTE1LjQtMTQuNi0yOC45LTI2LjUtMzkuNmwwLTI0LjQgNzIuNiAwYzExLjEtMTkuMSAzMS43LTMyIDU1LjQtMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMTEzLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwelwiXVxufTtcbmNvbnN0IGZhUG9vcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwb29wJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjE5XCIsIFwiTTI1NC40IDYuNmMzLjUtNC4zIDktNi41IDE0LjUtNS43QzMxNS44IDcuMiAzNTIgNDcuNCAzNTIgOTZjMCAxMS4yLTEuOSAyMi01LjUgMzJsNS41IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAxOS4xLTguNCAzNi4zLTIxLjcgNDhsMTMuNyAwYzM5LjggMCA3MiAzMi4yIDcyIDcyYzAgMjMuMi0xMSA0My44LTI4IDU3YzM0LjEgNS43IDYwIDM1LjMgNjAgNzFjMCAzOS44LTMyLjIgNzItNzIgNzJMNzIgNTEyYy0zOS44IDAtNzItMzIuMi03Mi03MmMwLTM1LjcgMjUuOS02NS4zIDYwLTcxYy0xNy0xMy4yLTI4LTMzLjgtMjgtNTdjMC0zOS44IDMyLjItNzIgNzItNzJsMTMuNyAwQzEwNC40IDIyOC4zIDk2IDIxMS4xIDk2IDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGwxNi4yIDBjNDQuMS0uMSA3OS44LTM1LjkgNzkuOC04MGMwLTkuMi0xLjUtMTcuOS00LjMtMjYuMWMtMS44LTUuMi0uOC0xMS4xIDIuOC0xNS40elwiXVxufTtcbmNvbnN0IGZhTG9jYXRpb25QaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jYXRpb24tcGluJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJtYXAtbWFya2VyXCJdLCBcImYwNDFcIiwgXCJNMzg0IDE5MmMwIDg3LjQtMTE3IDI0My0xNjguMyAzMDcuMmMtMTIuMyAxNS4zLTM1LjEgMTUuMy00Ny40IDBDMTE3IDQzNSAwIDI3OS40IDAgMTkyQzAgODYgODYgMCAxOTIgMFMzODQgODYgMzg0IDE5MnpcIl1cbn07XG5jb25zdCBmYU1hcE1hcmtlciA9IGZhTG9jYXRpb25QaW47XG5jb25zdCBmYUthYWJhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2thYWJhJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MzMxXSwgXCJmNjZiXCIsIFwiTTYwIDEyMGwyMjggNzEuMkw1MTYgMTIwIDI4OCA0OC44IDYwIDEyMHpNMjc4LjUgMS41YzYuMi0xLjkgMTIuOS0xLjkgMTkuMSAwbDI1NiA4MEM1NjYuOSA4NS42IDU3NiA5OCA1NzYgMTEybDAgMTZzMCAwIDAgMGwwIDIxLjJMMjkyLjggMjM3LjdjLTMuMSAxLTYuNCAxLTkuNSAwTDAgMTQ5LjIgMCAxMjhsMC0xNkMwIDk4IDkuMSA4NS42IDIyLjUgODEuNWwyNTYtODB6bTIzLjkgMjY2LjhMNTc2IDE4Mi44bDAgNDYuNS01Mi44IDE2LjVjLTguNCAyLjYtMTMuMSAxMS42LTEwLjUgMjBzMTEuNiAxMy4xIDIwIDEwLjVMNTc2IDI2Mi44IDU3NiA0MDBjMCAxNC05LjEgMjYuNC0yMi41IDMwLjVsLTI1NiA4MGMtNi4yIDEuOS0xMi45IDEuOS0xOS4xIDBsLTI1Ni04MEM5LjEgNDI2LjQgMCA0MTQgMCA0MDBMMCAyNjIuOGw0My4yIDEzLjVjOC40IDIuNiAxNy40LTIuMSAyMC0xMC41cy0yLjEtMTcuNC0xMC41LTIwTDAgMjI5LjJsMC00Ni41IDI3My43IDg1LjVjOS4zIDIuOSAxOS4zIDIuOSAyOC42IDB6bS0xODUuNS0yLjZjLTguNC0yLjYtMTcuNCAyLjEtMjAgMTAuNXMyLjEgMTcuNCAxMC41IDIwbDY0IDIwYzguNCAyLjYgMTcuNC0yLjEgMjAtMTAuNXMtMi4xLTE3LjQtMTAuNS0yMGwtNjQtMjB6bTM1MiAzMC41YzguNC0yLjYgMTMuMS0xMS42IDEwLjUtMjBzLTExLjYtMTMuMS0yMC0xMC41bC02NCAyMGMtOC40IDIuNi0xMy4xIDExLjYtMTAuNSAyMHMxMS42IDEzLjEgMjAgMTAuNWw2NC0yMHptLTIyNCA5LjVjLTguNC0yLjYtMTcuNCAyLjEtMjAgMTAuNXMyLjEgMTcuNCAxMC41IDIwbDM4LjUgMTJjOS4zIDIuOSAxOS4zIDIuOSAyOC42IDBsMzguNS0xMmM4LjQtMi42IDEzLjEtMTEuNiAxMC41LTIwcy0xMS42LTEzLjEtMjAtMTAuNWwtMzguNSAxMmMtMy4xIDEtNi40IDEtOS41IDBsLTM4LjUtMTJ6XCJdXG59O1xuY29uc3QgZmFUb2lsZXRQYXBlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b2lsZXQtcGFwZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjk1MzFdLCBcImY3MWVcIiwgXCJNNDQ0LjIgMEMzOTcuMiA0OS42IDM4NCAxMjYuNSAzODQgMTkyYzAgMTU4LjgtMjcuMyAyNDctNDIuNyAyODMuOWMtMTAgMjQtMzMuMiAzNi4xLTU1LjQgMzYuMUw0OCA1MTJjLTExLjUgMC0yMi4yLTYuMi0yNy44LTE2LjJzLTUuNi0yMi4zIC40LTMyLjJjOS44LTE3LjcgMTUuNC0zOC4yIDIwLjUtNTcuN0M1Mi4zIDM2Mi44IDY0IDI5My41IDY0IDE5MkM2NCA4NiAxMDcgMCAxNjAgMEw0NDQuMiAwek01MTIgMzg0Yy01MyAwLTk2LTg2LTk2LTE5MlM0NTkgMCA1MTIgMHM5NiA4NiA5NiAxOTJzLTQzIDE5Mi05NiAxOTJ6bTAtMTI4YzE3LjcgMCAzMi0yOC43IDMyLTY0cy0xNC4zLTY0LTMyLTY0cy0zMiAyOC43LTMyIDY0czE0LjMgNjQgMzIgNjR6TTE0NCAyMDhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNjQgMGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAxNmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTgwLTE2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xuY29uc3QgZmFIZWxtZXRTYWZldHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVsbWV0LXNhZmV0eScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaGFyZC1oYXRcIiwgXCJoYXQtaGFyZFwiXSwgXCJmODA3XCIsIFwiTTI1NiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyLjMgMCA5OS42YzAgNS42LTQuNSAxMC4xLTEwLjEgMTAuMWMtMy42IDAtNy0xLjktOC44LTUuMUwxNTcuMSA4N0M4MyAxMjMuNSAzMiAxOTkuOCAzMiAyODhsMCA2NCA1MTIgMCAwLTY2LjRjLS45LTg3LjItNTEuNy0xNjIuNC0xMjUuMS0xOTguNmwtNDggODMuOWMtMS44IDMuMi01LjIgNS4xLTguOCA1LjFjLTUuNiAwLTEwLjEtNC41LTEwLjEtMTAuMWwwLTk5LjYgMC0yLjNjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDB6TTE2LjYgMzg0QzcuNCAzODQgMCAzOTEuNCAwIDQwMC42YzAgNC43IDIgOS4yIDUuOCAxMS45QzI3LjUgNDI4LjQgMTExLjggNDgwIDI4OCA0ODBzMjYwLjUtNTEuNiAyODIuMi02Ny41YzMuOC0yLjggNS44LTcuMiA1LjgtMTEuOWMwLTkuMi03LjQtMTYuNi0xNi42LTE2LjZMMTYuNiAzODR6XCJdXG59O1xuY29uc3QgZmFIYXJkSGF0ID0gZmFIZWxtZXRTYWZldHk7XG5jb25zdCBmYUhhdEhhcmQgPSBmYUhlbG1ldFNhZmV0eTtcbmNvbnN0IGZhRWplY3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWplY3QnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5MTY3XSwgXCJmMDUyXCIsIFwiTTIyNCAzMmMxMy41IDAgMjYuMyA1LjYgMzUuNCAxNS42bDE3NiAxOTJjMTIuOSAxNCAxNi4yIDM0LjMgOC42IDUxLjhTNDE5IDMyMCA0MDAgMzIwTDQ4IDMyMGMtMTkgMC0zNi4zLTExLjItNDMuOS0yOC43cy00LjMtMzcuNyA4LjYtNTEuOGwxNzYtMTkyQzE5Ny43IDM3LjYgMjEwLjUgMzIgMjI0IDMyek0wIDQzMmMwLTI2LjUgMjEuNS00OCA0OC00OGwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE4MzgsIFwiYXJyb3ctYWx0LWNpcmNsZS1yaWdodFwiXSwgXCJmMzVhXCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDBBMjU2IDI1NiAwIDEgMCAwIDI1NnptMzk1LjMgMTEuM2wtMTEyIDExMmMtNC42IDQuNi0xMS41IDUuOS0xNy40IDMuNXMtOS45LTguMy05LjktMTQuOGwwLTY0LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTY0YzAtNi41IDMuOS0xMi4zIDkuOS0xNC44czEyLjktMS4xIDE3LjQgMy41bDExMiAxMTJjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xuY29uc3QgZmFBcnJvd0FsdENpcmNsZVJpZ2h0ID0gZmFDaXJjbGVSaWdodDtcbmNvbnN0IGZhUGxhbmVDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NTVcIiwgXCJNMjU2IDBjLTM1IDAtNjQgNTkuNS02NCA5My43bDAgODQuNkw4LjEgMjgzLjRjLTUgMi44LTguMSA4LjItOC4xIDEzLjlsMCA2NS41YzAgMTAuNiAxMC4yIDE4LjMgMjAuNCAxNS40bDE3MS42LTQ5IDAgNzAuOS01Ny42IDQzLjJjLTQgMy02LjQgNy44LTYuNCAxMi44bDAgNDJjMCA3LjggNi4zIDE0IDE0IDE0YzEuMyAwIDIuNi0uMiAzLjktLjVMMjU2IDQ4MGwxMTAuMSAzMS41YzEuMyAuNCAyLjYgLjUgMy45IC41YzYgMCAxMS4xLTMuNyAxMy4xLTlDMzQ0LjUgNDcwLjcgMzIwIDQyMi4yIDMyMCAzNjhjMC02MC42IDMwLjYtMTE0IDc3LjEtMTQ1LjZMMzIwIDE3OC4zbDAtODQuNkMzMjAgNTkuNSAyOTIgMCAyNTYgMHpNNjQwIDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG5jb25zdCBmYUZhY2VSb2xsaW5nRXllcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXJvbGxpbmctZXllcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU4MCwgXCJtZWgtcm9sbGluZy1leWVzXCJdLCBcImY1YTVcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAzNjhsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0zMi0xNDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNiAxNS41LTQ4LjQgMzcuOC01OC40Yy0zLjcgNS4yLTUuOCAxMS42LTUuOCAxOC40YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC02LjktMi4yLTEzLjItNS44LTE4LjRDMjA4LjUgMTc1LjYgMjI0IDE5OCAyMjQgMjI0em0xMjggNjRjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMjYgMTUuNS00OC40IDM3LjgtNTguNGMtMy43IDUuMi01LjggMTEuNi01LjggMTguNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40QzQwMC41IDE3NS42IDQxNiAxOTggNDE2IDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NHpcIl1cbn07XG5jb25zdCBmYU1laFJvbGxpbmdFeWVzID0gZmFGYWNlUm9sbGluZ0V5ZXM7XG5jb25zdCBmYU9iamVjdEdyb3VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ29iamVjdC1ncm91cCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjI0N1wiLCBcIk0zMiAxMTkuNEMxMi45IDEwOC40IDAgODcuNyAwIDY0QzAgMjguNyAyOC43IDAgNjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsMzM3LjEgMEM0NjcuNiAxMi45IDQ4OC4zIDAgNTEyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMjczLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0zMzcuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yNzMuMXpNNDU2LjYgOTZMMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNGwwIDI3My4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwzMzcuMSAwYzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNGwwLTI3My4xYy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjR6TTEyOCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZ6TTI1NiAzMjBsMzIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJ6XCJdXG59O1xuY29uc3QgZmFDaGFydExpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtbGluZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGluZS1jaGFydFwiXSwgXCJmMjAxXCIsIFwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwbDQwMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2TDY0IDY0em00MDYuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDMyMCAyMTAuN2wtNTcuNC01Ny40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTEyIDExMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNDAgMjIxLjNsNTcuNCA1Ny40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6XCJdXG59O1xuY29uc3QgZmFMaW5lQ2hhcnQgPSBmYUNoYXJ0TGluZTtcbmNvbnN0IGZhTWFza1ZlbnRpbGF0b3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFzay12ZW50aWxhdG9yJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTI0XCIsIFwiTTE1OS4xIDE3NkMxMzkuNCAyMTkuMiAxMjggMjY0LjcgMTI4IDMwMC44YzAgMTUuOSAyLjIgMzEuNCA2LjMgNDZsLTMxLjgtNy45QzcwLjUgMzMwLjkgNDggMzAyLjEgNDggMjY5bDAtODVjMC00LjQgMy42LTggOC04bDEwMy4xIDB6bTI2LTQ4TDU2IDEyOGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4NWMwIDU1LjEgMzcuNSAxMDMuMSA5MC45IDExNi40bDcxLjMgMTcuOGMyMi43IDMwLjUgNTUuNCA1NC4xIDkzLjggNjYuNmwwLTc2LjZjLTE5LjctMTYuNC0zMi00MC4zLTMyLTY2LjljMC00OS41IDQzLTEzNC40IDk2LTEzNC40YzUyLjUgMCA5NiA4NC45IDk2IDEzNC40YzAgMjYuNy0xMi40IDUwLjQtMzIgNjYuOGwwIDc2LjZjMzgtMTIuNiA3MC42LTM2IDkzLjUtNjYuNGw3MS42LTE3LjlDNjAyLjUgMzcyLjEgNjQwIDMyNC4xIDY0MCAyNjlsMC04NWMwLTMwLjktMjUuMS01Ni01Ni01NmwtMTI5LjUgMEM0MTkuNyA3My44IDM3Mi4xIDMyIDMyMCAzMmMtNTIuNiAwLTEwMC4yIDQxLjgtMTM0LjkgOTZ6bTI5NS42IDQ4TDU4NCAxNzZjNC40IDAgOCAzLjYgOCA4bDAgODVjMCAzMy0yMi41IDYxLjgtNTQuNSA2OS45bC0zMS44IDhjNC4yLTE0LjcgNi40LTMwLjEgNi40LTQ2LjFjMC0zNi4xLTExLjYtODEuNi0zMS4zLTEyNC44ek0yODggMzIwbDAgMTkyIDY0IDAgMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXJpZ2h0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODU5NF0sIFwiZjA2MVwiLCBcIk00MzguNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMzM4LjggMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMDYuNyAwTDIzMy40IDM5My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjB6XCJdXG59O1xuY29uc3QgZmFTaWduc1Bvc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2lnbnMtcG9zdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibWFwLXNpZ25zXCJdLCBcImYyNzdcIiwgXCJNMjI0IDMyTDY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NGwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDM3Ny40IDBjNC4yIDAgOC4zLTEuNyAxMS4zLTQuN2w0OC00OGM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNDgtNDhjLTMtMy03LjEtNC43LTExLjMtNC43TDI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpNNDgwIDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0zMi02NCAwIDAgMzJMNzAuNiAyMjRjLTQuMiAwLTguMyAxLjctMTEuMyA0LjdsLTQ4IDQ4Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmw0OCA0OGMzIDMgNy4xIDQuNyAxMS4zIDQuN0w0NDggMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjR6TTI4OCA0ODBsMC05Ni02NCAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpcIl1cbn07XG5jb25zdCBmYU1hcFNpZ25zID0gZmFTaWduc1Bvc3Q7XG5jb25zdCBmYUNhc2hSZWdpc3RlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXNoLXJlZ2lzdGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzg4XCIsIFwiTTY0IDBDNDYuMyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw4MCAwIDAgMzItNTcgMGMtMzEuNiAwLTU4LjUgMjMuMS02My4zIDU0LjRMMS4xIDM2NC4xQy40IDM2OC44IDAgMzczLjYgMCAzNzguNEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY5LjZjMC00LjgtLjQtOS42LTEuMS0xNC40TDQ4OC4yIDIxNC40QzQ4My41IDE4My4xIDQ1Ni42IDE2MCA0MjUgMTYwbC0yMTcgMCAwLTMyIDgwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkw2NCAwek05NiA0OGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw5NiA4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNNjQgNDMyYzAtOC44IDcuMi0xNiAxNi0xNmwzNTIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw4MCA0NDhjLTguOCAwLTE2LTcuMi0xNi0xNnptNDgtMTY4YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptMTIwLTI0YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTE2MCAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek0zMjggMjQwYTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTI1NiAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek00MjQgMjQwYTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTM1MiAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4elwiXVxufTtcbmNvbnN0IGZhUGVyc29uQ2lyY2xlUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS1xdWVzdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0MlwiLCBcIk0xMTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0bDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjIzLjFMNTkuNCAzMDQuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZsMjkuNyAwYzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDQ0LjkgNzQuN2MtMTYuMSAxNy42LTI4LjYgMzguNS0zNi42IDYxLjVjLTEuOS0xLjgtMy41LTMuOS00LjktNi4zTDIzMiAyNTYuOSAyMzIgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4LTE2IDB6TTQzMiAyMjRhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDI0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTM2OCAzMjEuNmwwIDYuNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNi40YzAtNS4zIDQuMy05LjYgOS42LTkuNmw0MC41IDBjNy43IDAgMTMuOSA2LjIgMTMuOSAxMy45YzAgNS4yLTIuOSA5LjktNy40IDEyLjNsLTMyIDE2LjhjLTUuMyAyLjgtOC42IDguMi04LjYgMTQuMmwwIDE0LjhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTUuMSAyMy41LTEyLjNjMTUuMS03LjkgMjQuNS0yMy42IDI0LjUtNDAuNmMwLTI1LjQtMjAuNi00NS45LTQ1LjktNDUuOWwtNDAuNSAwYy0yMyAwLTQxLjYgMTguNi00MS42IDQxLjZ6XCJdXG59O1xuY29uc3QgZmFIID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2gnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMDRdLCBcIjQ4XCIsIFwiTTMyMCAyNTZsMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNCAwLTE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDEyOEw2NCAxOTIgNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE5MiAyNTYgMHpcIl1cbn07XG5jb25zdCBmYVRhcnAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFycCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU3YlwiLCBcIk01NzYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM1MiAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwIDAtMTYwek00NDggNDQ4TDU3NiAzMjBsLTEyOCAwIDAgMTI4ek05NiAxMjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhU2NyZXdkcml2ZXJXcmVuY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NyZXdkcml2ZXItd3JlbmNoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0b29sc1wiXSwgXCJmN2Q5XCIsIFwiTTc4LjYgNUM2OS4xLTIuNCA1NS42LTEuNSA0NyA3TDcgNDdjLTguNSA4LjUtOS40IDIyLTIuMSAzMS42bDgwIDEwNGM0LjUgNS45IDExLjYgOS40IDE5IDkuNGw1NC4xIDAgMTA5IDEwOWMtMTQuNyAyOS0xMCA2NS40IDE0LjMgODkuNmwxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0yNC4yLTI0LjItNjAuNi0yOS04OS42LTE0LjNsLTEwOS0xMDkgMC01NC4xYzAtNy41LTMuNS0xNC41LTkuNC0xOUw3OC42IDV6TTE5LjkgMzk2LjFDNy4yIDQwOC44IDAgNDI2LjEgMCA0NDQuMUMwIDQ4MS42IDMwLjQgNTEyIDY3LjkgNTEyYzE4IDAgMzUuMy03LjIgNDgtMTkuOUwyMzMuNyAzNzQuM2MtNy44LTIwLjktOS00My42LTMuNi02NS4xbC02MS43LTYxLjdMMTkuOSAzOTYuMXpNNTEyIDE0NGMwLTEwLjUtMS4xLTIwLjctMy4yLTMwLjVjLTIuNC0xMS4yLTE2LjEtMTQuMS0yNC4yLTZsLTYzLjkgNjMuOWMtMyAzLTcuMSA0LjctMTEuMyA0LjdMMzUyIDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNTcuNGMwLTQuMiAxLjctOC4zIDQuNy0xMS4zbDYzLjktNjMuOWM4LjEtOC4xIDUuMi0yMS44LTYtMjQuMkMzODguNyAxLjEgMzc4LjUgMCAzNjggMEMyODguNSAwIDIyNCA2NC41IDIyNCAxNDRsMCAuOCA4NS4zIDg1LjNjMzYtOS4xIDc1LjggLjUgMTA0IDI4LjdMNDI5IDI3NC41YzQ5LTIzIDgzLTcyLjggODMtMTMwLjV6TTU2IDQzMmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbmNvbnN0IGZhVG9vbHMgPSBmYVNjcmV3ZHJpdmVyV3JlbmNoO1xuY29uc3QgZmFBcnJvd3NUb0V5ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdG8tZXllJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGJmXCIsIFwiTTE1IDE1QzI0LjQgNS43IDM5LjYgNS43IDQ5IDE1bDYzIDYzTDExMiA0MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTk2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzguMSAwTDE1IDQ5QzUuNyAzOS42IDUuNyAyNC40IDE1IDE1ek0xMzMuNSAyNDMuOUMxNTguNiAxOTMuNiAyMjIuNyAxMTIgMzIwIDExMnMxNjEuNCA4MS42IDE4Ni41IDEzMS45YzMuOCA3LjYgMy44IDE2LjUgMCAyNC4yQzQ4MS40IDMxOC40IDQxNy4zIDQwMCAzMjAgNDAwcy0xNjEuNC04MS42LTE4Ni41LTEzMS45Yy0zLjgtNy42LTMuOC0xNi41IDAtMjQuMnpNMzIwIDMyMGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNNTkxIDE1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNjMgNjMgMzguMSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC05NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTk2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAzOC4xIDYzLTYzek0xNSA0OTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDYzLTYzTDQwIDQwMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zOC4xTDQ5IDQ5N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDB6bTU3NiAwbC02My02MyAwIDM4LjFjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC05NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zOC4xIDAgNjMgNjNjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMHpcIl1cbn07XG5jb25zdCBmYVBsdWdDaXJjbGVCb2x0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLWJvbHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWJcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYgNjQgMCAwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOGwwIDY3LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY3LjJjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMTYwek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNDcuOS0yMjVjNC4zIDMuNyA1LjQgOS45IDIuNiAxNC45TDQ1Mi40IDM1NmwzNS42IDBjNS4yIDAgOS44IDMuMyAxMS40IDguMnMtLjEgMTAuMy00LjIgMTMuNGwtOTYgNzJjLTQuNSAzLjQtMTAuOCAzLjItMTUuMS0uNnMtNS40LTkuOS0yLjYtMTQuOUw0MTEuNiAzODAgMzc2IDM4MGMtNS4yIDAtOS44LTMuMy0xMS40LTguMnMuMS0xMC4zIDQuMi0xMy40bDk2LTcyYzQuNS0zLjQgMTAuOC0zLjIgMTUuMSAuNnpcIl1cbn07XG5jb25zdCBmYUhlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYXJ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTUzLCAxMjgxNTQsIDEyODE1NSwgMTI4MTU2LCAxMjg0MjAsIDEyOTI5MywgMTI5Mjk0LCAxMjk1MDUsIDk4MjksIDEwMDg0LCA2MTU3OF0sIFwiZjAwNFwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45TDQ2NC40IDMwMC40YzMwLjQtMjguMyA0Ny42LTY4IDQ3LjYtMTA5LjV2LTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xdjUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6XCJdXG59O1xuY29uc3QgZmFNYXJzQW5kVmVudXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycy1hbmQtdmVudXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODkzXSwgXCJmMjI0XCIsIFwiTTMzNy44IDE0LjhDMzQxLjUgNS44IDM1MC4zIDAgMzYwIDBMNDcyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMTJjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtMzktMzktMjQuNyAyNC43QzQwNyAxNjMuMyA0MTYgMTkyLjYgNDE2IDIyNGMwIDgwLjItNTkgMTQ2LjYtMTM2IDE1OC4ybDAgMjUuOCAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNCAwIDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zMi0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0IDAgMC0yNS44QzE1NSAzNzAuNiA5NiAzMDQuMiA5NiAyMjRjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBjMzkuNiAwIDc1LjkgMTQuNCAxMDMuOCAzOC4yTDM4Mi4xIDgwIDM0MyA0MWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMnpNNDQ4IDQ4czAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwek0zNTIgMjI0YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS11c2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJob21lLXVzZXJcIl0sIFwiZTFiMFwiLCBcIk01NzUuOCAyNTUuNWMwIDE4LTE1IDMyLjEtMzIgMzIuMWwtMzIgMCAuNyAxNjAuMmMuMiAzNS41LTI4LjUgNjQuMy02NCA2NC4zbC0zMjAuNCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE2MC40LTMyIDBjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDU2NC44IDIzMS41YzggNyAxMiAxNSAxMSAyNHpNMzUyIDIyNGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6bS05NiA5NmMtNDQuMiAwLTgwIDM1LjgtODAgODBjMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNmMwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMHpcIl1cbn07XG5jb25zdCBmYUhvbWVVc2VyID0gZmFIb3VzZVVzZXI7XG5jb25zdCBmYUR1bXBzdGVyRmlyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkdW1wc3Rlci1maXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzk0XCIsIFwiTTQ5LjcgMzJsOTAuOCAwTDExNC45IDE2MGwtOTQgMEM5LjMgMTYwIDAgMTUwLjcgMCAxMzkuMWMwLTIuMSAuMy00LjEgLjktNi4xTDI2LjggNDguOUMyOS45IDM4LjkgMzkuMiAzMiA0OS43IDMyek0yNzIgMTYwbC0xMjQuNSAwTDE3My4xIDMyIDI3MiAzMmwwIDEyOHptMzIgMGwwLTEyOCA5OC45IDAgMTQuNCA3Mi4xYy0xLjcgMS4xLTMuMyAyLjQtNC44IDMuOGMtMTguNCAxNi40LTM1LjQgMzQtNTAuNSA1Mi4xbC01OCAwem0yMDkuOS0yMy43Yy0xLjcgMS42LTMuNCAzLjItNSA0LjhDNDk4IDEyOS42IDQ4Ni43IDExOC42IDQ3NSAxMDhjLTcuNi02LjktMTctMTAuOC0yNi42LTExLjhMNDM1LjUgMzJsOTAuOCAwYzEwLjUgMCAxOS44IDYuOSAyMi45IDE2LjlMNTc1LjEgMTMzYy4yIC43IC40IDEuNCAuNSAyLjFjLTE3LjgtMTUtNDQuMy0xNC42LTYxLjcgMS4yek0zMjUuMiAyMTAuN0MzMDQuMyAyNDQuNSAyODggMjgyLjkgMjg4IDMxOC4xYzAgNDkuMyAxOC42IDk1LjIgNDkuNiAxMjkuOUwxMjggNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDQ0IDI4OGwtMTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0IDAtNC0zMiAzMDUuNSAwYy00LjQgNi4yLTguNSAxMi41LTEyLjMgMTguN3ptMTgwLjYtMzQuNUw1MTggMTYyLjVjNS40LTYuMSAxMy4zLTguOCAyMC45LTguOWM3LjIgMCAxNC4zIDIuNiAxOS45IDcuOGMxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjZDNjI5IDI1OS4yIDY0MCAyOTAuMiA2NDAgMzIwLjJDNjQwIDQwOC44IDU2OC43IDQ4MCA0ODAgNDgwYy04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44YzAtMzcuMyAxNi03My40IDM2LjgtMTA0LjVjMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yYzUuNy01LjIgMTMuMS03LjcgMjAuMy03LjVjMTQuMSAuMyAyMy44IDExLjQgMzIuNyAyMS42YzAgMCAwIDAgMCAwYzIgMi4zIDQgNC42IDYgNi43bDE5IDE5Ljl6TTU0NCAzNjguMmMwLTM2LjUtMzctNzMtNTQuOC04OC40Yy01LjQtNC43LTEzLjEtNC43LTE4LjUgMEM0NTMgMjk1LjEgNDE2IDMzMS42IDQxNiAzNjguMmMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbmNvbnN0IGZhSG91c2VDcmFjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jcmFjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTNiMVwiLCBcIk01NDMuOCAyODcuNmMxNyAwIDMyLTE0IDMyLTMyLjFjMS05LTMtMTctMTEtMjRMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFsMzIgMCAwIDE2MC40YzAgMzUuMyAyOC43IDY0IDY0IDY0bDEwMi4zIDAtMzEuMy01Mi4yYy00LjEtNi44LTIuNi0xNS41IDMuNS0yMC41TDI4OCAzNjhsLTYwLjItODIuOGMtMTAuOS0xNSA4LjItMzMuNSAyMi44LTIybDExNy45IDkyLjZjOCA2LjMgOC4yIDE4LjQgLjQgMjQuOUwyODggNDQ4bDM4LjQgNjQgMTIyLjEgMGMzNS41IDAgNjQuMi0yOC44IDY0LTY0LjNsLS43LTE2MC4yIDMyIDB6XCJdXG59O1xuY29uc3QgZmFNYXJ0aW5pR2xhc3NDaXRydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcy1jaXRydXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImNvY2t0YWlsXCJdLCBcImY1NjFcIiwgXCJNNDMyIDI0MGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtMzUuNSAwLTY2LjYgMTkuMy04My4yIDQ4bC01Mi42IDBDMzE2IDQwLjEgMzY5LjMgMCA0MzIgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NHMtNjQuNSAxNDQtMTQ0IDE0NGMtMjcuNyAwLTUzLjUtNy44LTc1LjUtMjEuM2wzNS40LTM1LjRjMTIuMiA1LjYgMjUuOCA4LjcgNDAuMSA4Ljd6TTEuOCAxNDIuOEM1LjUgMTMzLjggMTQuMyAxMjggMjQgMTI4bDM2OCAwYzkuNyAwIDE4LjUgNS44IDIyLjIgMTQuOHMxLjcgMTkuMy01LjIgMjYuMmwtMTc3IDE3N0wyMzIgNDY0bDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTg4IDAtODggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtMTE4LjFMNyAxNjljLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJ6XCJdXG59O1xuY29uc3QgZmFDb2NrdGFpbCA9IGZhTWFydGluaUdsYXNzQ2l0cnVzO1xuY29uc3QgZmFGYWNlU3VycHJpc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zdXJwcmlzZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1OCwgXCJzdXJwcmlzZVwiXSwgXCJmNWMyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYuNCAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMjU2IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG5jb25zdCBmYVN1cnByaXNlID0gZmFGYWNlU3VycHJpc2U7XG5jb25zdCBmYUJvdHRsZVdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvdHRsZS13YXRlcicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTRjNVwiLCBcIk0xMjAgMGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDBMOTYgNjRsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMzIgMTY3LjVjMC0xOS41IDEwLTM3LjYgMjYuNi00Ny45bDE1LjgtOS45Qzg4LjcgMTAwLjcgMTA1LjIgOTYgMTIyLjEgOTZsNzUuOCAwYzE2LjkgMCAzMy40IDQuNyA0Ny43IDEzLjdsMTUuOCA5LjlDMjc4IDEyOS45IDI4OCAxNDggMjg4IDE2Ny41YzAgMTctNy41IDMyLjMtMTkuNCA0Mi42QzI4MC42IDIyMS43IDI4OCAyMzggMjg4IDI1NmMwIDE5LjEtOC40IDM2LjMtMjEuNyA0OGMxMy4zIDExLjcgMjEuNyAyOC45IDIxLjcgNDhzLTguNCAzNi4zLTIxLjcgNDhjMTMuMyAxMS43IDIxLjcgMjguOSAyMS43IDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0xOS4xIDguNC0zNi4zIDIxLjctNDhDNDAuNCAzODguMyAzMiAzNzEuMSAzMiAzNTJzOC40LTM2LjMgMjEuNy00OEM0MC40IDI5Mi4zIDMyIDI3NS4xIDMyIDI1NmMwLTE4IDcuNC0zNC4zIDE5LjQtNDUuOUMzOS41IDE5OS43IDMyIDE4NC41IDMyIDE2Ny41ek05NiAyNDBjMCA4LjggNy4yIDE2IDE2IDE2bDk2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTk2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgMTEyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDk2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTk2IDB6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVQYXVzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtcGF1c2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjA5MiwgXCJwYXVzZS1jaXJjbGVcIl0sIFwiZjI4YlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjI0IDE5MmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xMjggMGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhUGF1c2VDaXJjbGUgPSBmYUNpcmNsZVBhdXNlO1xuY29uc3QgZmFUb2lsZXRQYXBlclNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvaWxldC1wYXBlci1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3MlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC0xMDkuNy04NkM1NjkuOSAzNzQgNjA4IDI5MS45IDYwOCAxOTJDNjA4IDg2IDU2NSAwIDUxMiAwcy05NiA4Ni05NiAxOTJjMCA0OS4xIDkuMiA5My45IDI0LjQgMTI3LjlsLTU5LTQ2LjJjMS42LTI0LjggMi42LTUyIDIuNi04MS42YzAtNjUuNSAxMy4yLTE0Mi40IDYwLjItMTkyTDE2MCAwYy0yNC44IDAtNDcuNCAxOC44LTY0LjQgNDkuNkwzOC44IDUuMXpNMzY3LjMgMzg1LjRMNjYuNSAxNDguNEM2NC45IDE2Mi40IDY0IDE3NyA2NCAxOTJjMCAxMDEuNS0xMS43IDE3MC44LTIzIDIxMy45Yy01LjEgMTkuNC0xMC43IDM5LjktMjAuNSA1Ny43Yy01LjkgOS45LTYuMSAyMi4xLS40IDMyLjJTMzYuNSA1MTIgNDggNTEybDIzNy45IDBjMjIuMyAwIDQ1LjQtMTIuMSA1NS40LTM2LjFjNy40LTE3LjcgMTcuNS00Ny4yIDI2LTkwLjZ6TTU0NCAxOTJjMCAzNS4zLTE0LjMgNjQtMzIgNjRzLTMyLTI4LjctMzItNjRzMTQuMy02NCAzMi02NHMzMiAyOC43IDMyIDY0elwiXVxufTtcbmNvbnN0IGZhQXBwbGVXaG9sZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcHBsZS13aG9sZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzgyMiwgMTI3ODIzLCBcImFwcGxlLWFsdFwiXSwgXCJmNWQxXCIsIFwiTTIyNCAxMTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDB6TTAgMjg4YzAtNzYuMyAzNS43LTE2MCAxMTItMTYwYzI3LjMgMCA1OS43IDEwLjMgODIuNyAxOS4zYzE4LjggNy4zIDM5LjkgNy4zIDU4LjcgMGMyMi45LTguOSA1NS40LTE5LjMgODIuNy0xOS4zYzc2LjMgMCAxMTIgODMuNyAxMTIgMTYwYzAgMTI4LTgwIDIyNC0xNjAgMjI0Yy0xNi41IDAtMzguMS02LjYtNTEuNS0xMS4zYy04LjEtMi44LTE2LjktMi44LTI1IDBjLTEzLjQgNC43LTM1IDExLjMtNTEuNSAxMS4zQzgwIDUxMiAwIDQxNiAwIDI4OHpcIl1cbn07XG5jb25zdCBmYUFwcGxlQWx0ID0gZmFBcHBsZVdob2xlO1xuY29uc3QgZmFLaXRjaGVuU2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tpdGNoZW4tc2V0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTFhXCIsIFwiTTI0MCAxNDRBOTYgOTYgMCAxIDAgNDggMTQ0YTk2IDk2IDAgMSAwIDE5MiAwem00NC40IDMyQzI2OS45IDI0MC4xIDIxMi41IDI4OCAxNDQgMjg4QzY0LjUgMjg4IDAgMjIzLjUgMCAxNDRTNjQuNSAwIDE0NCAwYzY4LjUgMCAxMjUuOSA0Ny45IDE0MC40IDExMmw3MS44IDBjOC44LTkuOCAyMS42LTE2IDM1LjgtMTZsMTA0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTEwNCAwYy0xNC4yIDAtMjctNi4yLTM1LjgtMTZsLTcxLjggMHpNMTQ0IDgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek00MDAgMjQwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOCA5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw5NiAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjg4IDQ2NGwwLTExMiAyMjQgMCAwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4ek00OCAzMjBsODAgMCAxNiAwIDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTE2IDBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtODBjMC04LjggNy4yLTE2IDE2LTE2em0xMjggNjRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDAgMCAzMiAxNiAwek0yNCA0NjRsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhUiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTE0XSwgXCI1MlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMjg4IDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggOTUuMyAwTDI2MS44IDQ2Ni40YzEwLjEgMTQuNSAzMC4xIDE4IDQ0LjYgNy45czE4LTMwLjEgNy45LTQ0LjZMMjMwLjEgMzA5LjVDMjgyLjggMjg4LjEgMzIwIDIzNi40IDMyMCAxNzZjMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRMNjQgMzJ6TTE3NiAyNTZMNjQgMjU2IDY0IDk2bDExMiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwcy0zNS44IDgwLTgwIDgwelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVRdWFydGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLXF1YXJ0ZXInLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInRlbXBlcmF0dXJlLTFcIiwgXCJ0aGVybW9tZXRlci0xXCIsIFwidGhlcm1vbWV0ZXItcXVhcnRlclwiXSwgXCJmMmNhXCIsIFwiTTE2MCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjQuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41Qzg2LjIgMzMyLjYgODAgMzQ5LjUgODAgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNUwyMDggMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00OCAxMTJDNDggNTAuMiA5OC4xIDAgMTYwIDBzMTEyIDUwLjEgMTEyIDExMmwwIDE2NC40YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTMzLjIgMTEuMi02My44IDMwLjEtODguMWMuOS0xLjIgMS41LTIuMiAxLjctMi44Yy4xLS4zIC4yLS41IC4yLS42TDQ4IDExMnpNMjA4IDM2OGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC43YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA1MC43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM3pcIl1cbn07XG5jb25zdCBmYVRlbXBlcmF0dXJlMSA9IGZhVGVtcGVyYXR1cmVRdWFydGVyO1xuY29uc3QgZmFUaGVybW9tZXRlcjEgPSBmYVRlbXBlcmF0dXJlUXVhcnRlcjtcbmNvbnN0IGZhVGhlcm1vbWV0ZXJRdWFydGVyID0gZmFUZW1wZXJhdHVyZVF1YXJ0ZXI7XG5jb25zdCBmYUN1YmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3ViZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjFiMlwiLCBcIk0yMzQuNSA1LjdjMTMuOS01IDI5LjEtNSA0My4xIDBsMTkyIDY4LjZDNDk1IDgzLjQgNTEyIDEwNy41IDUxMiAxMzQuNmwwIDI0Mi45YzAgMjctMTcgNTEuMi00Mi41IDYwLjNsLTE5MiA2OC42Yy0xMy45IDUtMjkuMSA1LTQzLjEgMGwtMTkyLTY4LjZDMTcgNDI4LjYgMCA0MDQuNSAwIDM3Ny40TDAgMTM0LjZjMC0yNyAxNy01MS4yIDQyLjUtNjAuM2wxOTItNjguNnpNMjU2IDY2TDgyLjMgMTI4IDI1NiAxOTBsMTczLjctNjJMMjU2IDY2em0zMiAzNjguNmwxNjAtNTcuMSAwLTE4OEwyODggMjQ2LjZsMCAxODh6XCJdXG59O1xuY29uc3QgZmFCaXRjb2luU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiaXRjb2luLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImUwYjRcIiwgXCJNNDggMzJDNDggMTQuMyA2Mi4zIDAgODAgMHMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMmMwIDEuNS0uMSAzLjEtLjMgNC41QzI1NC4xIDgyLjIgMjg4IDEyNS4xIDI4OCAxNzZjMCAyNC4yLTcuNyA0Ni42LTIwLjcgNjQuOWMzMS43IDE5LjggNTIuNyA1NSA1Mi43IDk1LjFjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTYuMyAwQzE4LjcgNDQ4IDAgNDI5LjMgMCA0MDYuM0wwIDI4OGwwLTIyLjNMMCAyMjQgMCAxMDEuNkMwIDgwLjggMTYuOCA2NCAzNy42IDY0TDQ4IDY0bDAtMzJ6TTY0IDIyNGwxMTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OEw2NCAxMjhsMCA5NnptMTEyIDY0TDY0IDI4OGwwIDk2IDE0NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhU2hpZWxkRG9nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1kb2cnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NzNcIiwgXCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjJjLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yYzE2LjcgOCAzNi4xIDggNTIuOCAwQzQ1NC43IDQyMC43IDQ5NS41IDIzOS4yIDQ5NiAxNDBjLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTYwLjkgMjg2LjJjNC44IDEuMiA5LjkgMS44IDE1LjEgMS44YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjQgNDQuMiAwYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDE5Mmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgNDQuMi0zNS44IDgwLTgwIDgwbC00OCAwIDAgNTAuN2MwIDcuMy01LjkgMTMuMy0xMy4zIDEzLjNjLTEuOCAwLTMuNi0uNC01LjItMS4xbC05OC43LTQyLjNjLTYuNi0yLjgtMTAuOC05LjMtMTAuOC0xNi40YzAtMi44IC42LTUuNSAxLjktOGwxNS0zMHpNMTYwIDE2MGw0MCAwIDggMCAwIDMyIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00OGMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbmNvbnN0IGZhU29sYXJQYW5lbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzb2xhci1wYW5lbCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjViYVwiLCBcIk0xMjIuMiAwQzkxLjcgMCA2NS41IDIxLjUgNTkuNSA1MS40TDguMyAzMDcuNEMuNCAzNDcgMzAuNiAzODQgNzEgMzg0bDIxNyAwIDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTY0IDIxNyAwYzQwLjQgMCA3MC43LTM2LjkgNjIuOC03Ni42bC01MS4yLTI1NkM1NzQuNSAyMS41IDU0OC4zIDAgNTE3LjggMEwxMjIuMiAwek0yNjAuOSA2NGwxMTguMiAwIDEwLjQgMTA0LTEzOSAwTDI2MC45IDY0ek0yMDIuMyAxNjhsLTEwMC44IDBMMTIyLjIgNjRsOTAuNCAwTDIwMi4zIDE2OHpNOTEuOCAyMTZsMTA1LjYgMEwxODcuMSAzMjAgNzEgMzIwIDkxLjggMjE2em0xNTMuOSAwbDE0OC42IDAgMTAuNCAxMDQtMTY5LjQgMCAxMC40LTEwNHptMTk2LjggMGwxMDUuNiAwTDU2OSAzMjBsLTExNiAwTDQ0Mi41IDIxNnptOTYtNDhsLTEwMC44IDBMNDI3LjMgNjRsOTAuNCAwIDMxLjQtNi4zTDUxNy44IDY0bDIwLjggMTA0elwiXVxufTtcbmNvbnN0IGZhTG9ja09wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jay1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmM2MxXCIsIFwiTTM1MiAxNDRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00OEM1NzYgNjQuNSA1MTEuNSAwIDQzMiAwUzI4OCA2NC41IDI4OCAxNDRsMCA0OEw2NCAxOTJjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAtNDh6XCJdXG59O1xuY29uc3QgZmFFbGV2YXRvciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGV2YXRvcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTE2ZFwiLCBcIk0xMzIuNyA0LjdsLTY0IDY0Yy00LjYgNC42LTUuOSAxMS41LTMuNSAxNy40czguMyA5LjkgMTQuOCA5LjlsMTI4IDBjNi41IDAgMTIuMy0zLjkgMTQuOC05LjlzMS4xLTEyLjktMy41LTE3LjRsLTY0LTY0Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAxMjh6bTk2IDk2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNODAgNDAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDY0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNnptMTkyIDBjMC0yNi41IDIxLjUtNDggNDgtNDhsNjQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2em0zMi0xMjhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMzU2LjcgOTEuM2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzQzOC41IDAgNDMyIDBMMzA0IDBjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGw2NCA2NHpcIl1cbn07XG5jb25zdCBmYU1vbmV5QmlsbFRyYW5zZmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwtdHJhbnNmZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MjhcIiwgXCJNNTM1IDQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNjQgNjRjNC41IDQuNSA3IDEwLjYgNyAxN3MtMi41IDEyLjUtNyAxN2wtNjQgNjRjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMjMtMjNMMzg0IDExMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNzQuMSAwTDUzNSA0MXpNMTA1IDM3N2wtMjMgMjNMMjU2IDQwMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4MS45IDQ0OGwyMyAyM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgNDQxYy00LjUtNC41LTctMTAuNi03LTE3czIuNS0xMi41IDctMTdsNjQtNjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45ek05NiA2NGwyNDEuOSAwYy0zLjcgNy4yLTUuOSAxNS4zLTUuOSAyNGMwIDI4LjcgMjMuMyA1MiA1MiA1MmwxMTcuNCAwYy00IDE3IC42IDM1LjUgMTMuOCA0OC44YzIwLjMgMjAuMyA1My4yIDIwLjMgNzMuNSAwTDYwOCAxNjkuNSA2MDggMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yNDEuOSAwYzMuNy03LjIgNS45LTE1LjMgNS45LTI0YzAtMjguNy0yMy4zLTUyLTUyLTUybC0xMTcuNCAwYzQtMTctLjYtMzUuNS0xMy44LTQ4LjhjLTIwLjMtMjAuMy01My4yLTIwLjMtNzMuNSAwTDMyIDM0Mi41IDMyIDEyOGMwLTM1LjMgMjguNy02NCA2NC02NHptNjQgNjRsLTY0IDAgMCA2NGMzNS4zIDAgNjQtMjguNyA2NC02NHpNNTQ0IDMyMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsNjQgMCAwLTY0ek0zMjAgMzUyYTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyelwiXVxufTtcbmNvbnN0IGZhTW9uZXlCaWxsVHJlbmRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLXRyZW5kLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTI5XCIsIFwiTTQ3MC43IDkuNGMzIDMuMSA1LjMgNi42IDYuOSAxMC4zczIuNCA3LjggMi40IDEyLjJjMCAwIDAgLjEgMCAuMWMwIDAgMCAwIDAgMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguN0wzMTAuNiAyMTQuNmMtMTEuOCAxMS44LTMwLjggMTIuNi00My41IDEuN0wxNzYgMTM4LjEgODQuOCAyMTYuM2MtMTMuNCAxMS41LTMzLjYgOS45LTQ1LjEtMy41cy05LjktMzMuNiAzLjUtNDUuMWwxMTItOTZjMTItMTAuMyAyOS43LTEwLjMgNDEuNyAwbDg5LjUgNzYuN0wzNzAuNyA2NCAzNTIgNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMHMwIDAgMCAwYzguOCAwIDE2LjggMy42IDIyLjYgOS4zbC4xIC4xek0wIDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OGw0MTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzA0ek00OCA0MTZsMCA0OCA0OCAwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek05NiAzMDRsLTQ4IDAgMCA0OGMyNi41IDAgNDgtMjEuNSA0OC00OHpNNDY0IDQxNmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsNDggMCAwLTQ4ek00MTYgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDAtNDgtNDggMHptLTk2IDgwYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTBmXCIsIFwiTTI4OCAxNDRBMTQ0IDE0NCAwIDEgMCAwIDE0NGExNDQgMTQ0IDAgMSAwIDI4OCAwek0xNDAuNyA3Ni43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDU2IDU2YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC01NiA1NmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkwxNjkuNCAxNjAgODAgMTYwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDg5LjQgMEwxNDAuNyA5OS4zYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnpNMzIwIDE0NGMwIDU3LjMtMjcuNCAxMDguMi02OS44IDE0MC4zYzExLjgtMy42IDIzLTkuNCAzMy0xNi4yYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjQgNzguMSAzLjRjMi4xIDEuNyA0LjIgMy4zIDYuNSA0LjlsLS4zLTg0LjQgMTYuNiAwYzEzLjkgMCAyNi4xLTguOSAzMC40LTIyLjFzLS40LTI3LjYtMTEuNi0zNS44bC0xNzYtMTI4QzQwNy42LTIgMzkyLjQtMiAzODEuMiA2LjFMMzAxIDY0LjRjMTIuMSAyMy45IDE5IDUwLjkgMTkgNzkuNnptMTguNSAxNjUuOWMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNzkgMzI1LjQgMjUxLjUgMzM2IDIyNCAzMzZjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xYzAgMCAwIDAgMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzE1OC41IDM4OS43IDE5MSA0MDAgMjI0IDQwMGMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC42IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS41LTI3LjMtMTAuMS0zOS4yLTEuN2MwIDAgMCAwIDAgMEM0NzEuNCAzMjUuMiA0NDIuOSAzMzYgNDE2IDMzNmMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xem0wIDExMmMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNzkgNDM3LjQgMjUxLjUgNDQ4IDIyNCA0NDhjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xYzAgMCAwIDAgMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzE1OC41IDUwMS43IDE5MSA1MTIgMjI0IDUxMmMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC42IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS40LTI3LjMtMTAuMS0zOS4yLTEuN2MwIDAgMCAwIDAgMEM0NzEuNCA0MzcuMiA0NDIuOSA0NDggNDE2IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xelwiXVxufTtcbmNvbnN0IGZhU3F1YXJlUG9sbEhvcml6b250YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBvbGwtaG9yaXpvbnRhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicG9sbC1oXCJdLCBcImY2ODJcIiwgXCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI1NiAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnptNjQgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE5MiAwek0xOTIgMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFQb2xsSCA9IGZhU3F1YXJlUG9sbEhvcml6b250YWw7XG5jb25zdCBmYUNpcmNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMDgsIDEyODMwOSwgMTI4OTkyLCAxMjg5OTMsIDEyODk5NCwgMTI4OTk1LCAxMjg5OTYsIDk2NzksIDk4OTgsIDk4OTksIDExMDQ0LCA2MTcwOCwgNjE5MTVdLCBcImYxMTFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6XCJdXG59O1xuY29uc3QgZmFCYWNrd2FyZEZhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFja3dhcmQtZmFzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTgsIFwiZmFzdC1iYWNrd2FyZFwiXSwgXCJmMDQ5XCIsIFwiTTQ5My42IDQ0NWMtMTEuMiA1LjMtMjQuNSAzLjYtMzQuMS00LjRMMjg4IDI5Ny43IDI4OCA0MTZjMCAxMi40LTcuMiAyMy43LTE4LjQgMjlzLTI0LjUgMy42LTM0LjEtNC40TDY0IDI5Ny43IDY0IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkwwIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0czMyIDE0LjMgMzIgMzJsMCAxMTguM0wyMzUuNSA3MS40YzkuNS03LjkgMjIuOC05LjcgMzQuMS00LjRTMjg4IDgzLjYgMjg4IDk2bDAgMTE4LjNMNDU5LjUgNzEuNGM5LjUtNy45IDIyLjgtOS43IDM0LjEtNC40UzUxMiA4My42IDUxMiA5NmwwIDMyMGMwIDEyLjQtNy4yIDIzLjctMTguNCAyOXpcIl1cbn07XG5jb25zdCBmYUZhc3RCYWNrd2FyZCA9IGZhQmFja3dhcmRGYXN0O1xuY29uc3QgZmFSZWN5Y2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY3ljbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODQyLCA5ODUwLCA5ODUxXSwgXCJmMWI4XCIsIFwiTTE3NC43IDQ1LjFDMTkyLjIgMTcgMjIzIDAgMjU2IDBzNjMuOCAxNyA4MS4zIDQ1LjFsMzguNiA2MS43IDI3LTE1LjZjOC40LTQuOSAxOC45LTQuMiAyNi42IDEuN3MxMS4xIDE1LjkgOC42IDI1LjNsLTIzLjQgODcuNGMtMy40IDEyLjgtMTYuNiAyMC40LTI5LjQgMTdsLTg3LjQtMjMuNGMtOS40LTIuNS0xNi4zLTEwLjQtMTcuNi0yMHMzLjQtMTkuMSAxMS44LTIzLjlsMjguNC0xNi40TDI4MyA3OWMtNS44LTkuMy0xNi0xNS0yNy0xNXMtMjEuMiA1LjctMjcgMTVsLTE3LjUgMjhjLTkuMiAxNC44LTI4LjYgMTkuNS00My42IDEwLjVjLTE1LjMtOS4yLTIwLjItMjkuMi0xMC43LTQ0LjRsMTcuNS0yOHpNNDI5LjUgMjUxLjljMTUtOSAzNC40LTQuMyA0My42IDEwLjVsMjQuNCAzOS4xYzkuNCAxNS4xIDE0LjQgMzIuNCAxNC42IDUwLjJjLjMgNTMuMS00Mi43IDk2LjQtOTUuOCA5Ni40TDMyMCA0NDhsMCAzMmMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNjQtNjRjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4ybDAgMzIgOTYuMiAwYzE3LjYgMCAzMS45LTE0LjQgMzEuOC0zMmMwLTUuOS0xLjctMTEuNy00LjgtMTYuN2wtMjQuNC0zOS4xYy05LjUtMTUuMi00LjctMzUuMiAxMC43LTQ0LjR6bS0zNjQuNi0zMUwzNiAyMDQuMmMtOC40LTQuOS0xMy4xLTE0LjMtMTEuOC0yMy45czguMi0xNy41IDE3LjYtMjBsODcuNC0yMy40YzEyLjgtMy40IDI2IDQuMiAyOS40IDE3TDE4MiAyNDEuMmMyLjUgOS40LS45IDE5LjMtOC42IDI1LjNzLTE4LjIgNi42LTI2LjYgMS43bC0yNi41LTE1LjNMNjguOCAzMzUuM2MtMy4xIDUtNC44IDEwLjgtNC44IDE2LjdjLS4xIDE3LjYgMTQuMiAzMiAzMS44IDMybDMyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIuMiAwQzQyLjcgNDQ4LS4zIDQwNC44IDAgMzUxLjZjLjEtMTcuOCA1LjEtMzUuMSAxNC42LTUwLjJsNTAuMy04MC41elwiXVxufTtcbmNvbnN0IGZhVXNlckFzdHJvbmF1dCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWFzdHJvbmF1dCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjRmYlwiLCBcIk0zNzAuNyA5Ni4xQzM0Ni4xIDM5LjUgMjg5LjcgMCAyMjQgMFMxMDEuOSAzOS41IDc3LjMgOTYuMUM2MC45IDk3LjUgNDggMTExLjIgNDggMTI4bDAgNjRjMCAxNi44IDEyLjkgMzAuNSAyOS4zIDMxLjlDMTAxLjkgMjgwLjUgMTU4LjMgMzIwIDIyNCAzMjBzMTIyLjEtMzkuNSAxNDYuNy05Ni4xYzE2LjQtMS40IDI5LjMtMTUuMSAyOS4zLTMxLjlsMC02NGMwLTE2LjgtMTIuOS0zMC41LTI5LjMtMzEuOXpNMzM2IDE0NGwwIDE2YzAgNTMtNDMgOTYtOTYgOTZsLTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZsMC0xNmMwLTI2LjUgMjEuNS00OCA0OC00OGwxMjggMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTg5LjMgMTYyLjdsLTYtMjEuMmMtLjktMy4zLTMuOS01LjUtNy4zLTUuNXMtNi40IDIuMi03LjMgNS41bC02IDIxLjItMjEuMiA2Yy0zLjMgLjktNS41IDMuOS01LjUgNy4zczIuMiA2LjQgNS41IDcuM2wyMS4yIDYgNiAyMS4yYy45IDMuMyAzLjkgNS41IDcuMyA1LjVzNi40LTIuMiA3LjMtNS41bDYtMjEuMiAyMS4yLTZjMy4zLS45IDUuNS0zLjkgNS41LTcuM3MtMi4yLTYuNC01LjUtNy4zbC0yMS4yLTZ6TTExMi43IDMxNi41QzQ2LjcgMzQyLjYgMCA0MDcgMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEybDk4LjMgMCAwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjQgOTguMyAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43YzAtNzUuMy00Ni43LTEzOS43LTExMi43LTE2NS44QzMwMy45IDMzOC44IDI2NS41IDM1MiAyMjQgMzUycy03OS45LTEzLjItMTExLjMtMzUuNXpNMTc2IDQ0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDggMzIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNnptOTYgMzJhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbmNvbnN0IGZhUGxhbmVTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2OVwiLCBcIk01MTQuMyAxOTJjMzQuMiAwIDkzLjcgMjkgOTMuNyA2NGMwIDM2LTU5LjUgNjQtOTMuNyA2NGwtNzMuOCAwTDYzMC44IDQ2OS4xYzEwLjQgOC4yIDEyLjMgMjMuMyA0LjEgMzMuN3MtMjMuMyAxMi4zLTMzLjcgNC4xTDkuMiA0Mi45Qy0xLjIgMzQuNy0zLjEgMTkuNiA1LjEgOS4yUzI4LjQtMy4xIDM4LjggNS4xTDIzOC4xIDE2MS4zIDE5Ny44IDIwLjRDMTk0LjkgMTAuMiAyMDIuNiAwIDIxMy4yIDBsNTYuMiAwYzExLjUgMCAyMi4xIDYuMiAyNy44IDE2LjFMMzk3LjcgMTkybDExNi42IDB6TTQxLjUgMTI4LjdsMzIxIDI1Mi45TDI5Ny4yIDQ5NS45Yy01LjcgMTAtMTYuMyAxNi4xLTI3LjggMTYuMWwtNTYuMiAwYy0xMC42IDAtMTguMy0xMC4yLTE1LjQtMjAuNGw0OS0xNzEuNkwxNDQgMzIwbC00My4yIDU3LjZjLTMgNC03LjggNi40LTEyLjggNi40bC00MiAwYy03LjggMC0xNC02LjMtMTQtMTRjMC0xLjMgLjItMi42IC41LTMuOUw2NCAyNTYgMzIuNSAxNDUuOWMtLjQtMS4zLS41LTIuNi0uNS0zLjljMC02LjIgNC0xMS40IDkuNS0xMy4zelwiXVxufTtcbmNvbnN0IGZhVHJhZGVtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWRlbWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgWzg0ODJdLCBcImYyNWNcIiwgXCJNMzQ1LjYgMTA4LjhjLTguMy0xMS0yMi43LTE1LjUtMzUuNy0xMS4yUzI4OCAxMTQuMiAyODggMTI4bDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjAgODYuNCAxMTUuMmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44czE5LjYtNC43IDI1LjYtMTIuOEw1NzYgMjI0bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTZjMC0xMy44LTguOC0yNi0yMS45LTMwLjRzLTI3LjUgLjEtMzUuNyAxMS4yTDQ2NCAyNjYuNyAzNDUuNiAxMDguOHpNMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMCAwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4elwiXVxufTtcbmNvbnN0IGZhQmFza2V0YmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXNrZXRiYWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTM2LCBcImJhc2tldGJhbGwtYmFsbFwiXSwgXCJmNDM0XCIsIFwiTTg2LjYgNjRsODUuMiA4NS4yQzE5NC41IDEyMS43IDIwOCA4Ni40IDIwOCA0OGMwLTE0LjctMi0yOC45LTUuNy00Mi40QzE1OC42IDE1IDExOSAzNS41IDg2LjYgNjR6TTY0IDg2LjZDMzUuNSAxMTkgMTUgMTU4LjYgNS42IDIwMi4zQzE5LjEgMjA2IDMzLjMgMjA4IDQ4IDIwOGMzOC40IDAgNzMuNy0xMy41IDEwMS4zLTM2LjFMNjQgODYuNnpNMjU2IDBjLTcuMyAwLTE0LjYgLjMtMjEuOCAuOUMyMzggMTYgMjQwIDMxLjggMjQwIDQ4YzAgNDcuMy0xNy4xIDkwLjUtNDUuNCAxMjRMMjU2IDIzMy40IDQyNS40IDY0QzM4MC4yIDI0LjIgMzIwLjkgMCAyNTYgMHpNNDggMjQwYy0xNi4yIDAtMzItMi00Ny4xLTUuOEMuMyAyNDEuNCAwIDI0OC43IDAgMjU2YzAgNjQuOSAyNC4yIDEyNC4yIDY0IDE2OS40TDIzMy40IDI1NiAxNzIgMTk0LjZDMTM4LjUgMjIyLjkgOTUuMyAyNDAgNDggMjQwem00NjMuMSAzNy44Yy42LTcuMiAuOS0xNC41IC45LTIxLjhjMC02NC45LTI0LjItMTI0LjItNjQtMTY5LjRMMjc4LjYgMjU2IDM0MCAzMTcuNGMzMy40LTI4LjMgNzYuNy00NS40IDEyNC00NS40YzE2LjIgMCAzMiAyIDQ3LjEgNS44em0tNC43IDMxLjlDNDkyLjkgMzA2IDQ3OC43IDMwNCA0NjQgMzA0Yy0zOC40IDAtNzMuNyAxMy41LTEwMS4zIDM2LjFMNDQ4IDQyNS40YzI4LjUtMzIuMyA0OS4xLTcxLjkgNTguNC0xMTUuN3pNMzQwLjEgMzYyLjdDMzE3LjUgMzkwLjMgMzA0IDQyNS42IDMwNCA0NjRjMCAxNC43IDIgMjguOSA1LjcgNDIuNEMzNTMuNCA0OTcgMzkzIDQ3Ni41IDQyNS40IDQ0OGwtODUuMi04NS4yek0zMTcuNCAzNDBMMjU2IDI3OC42IDg2LjYgNDQ4YzQ1LjEgMzkuOCAxMDQuNCA2NCAxNjkuNCA2NGM3LjMgMCAxNC42LS4zIDIxLjgtLjlDMjc0IDQ5NiAyNzIgNDgwLjIgMjcyIDQ2NGMwLTQ3LjMgMTcuMS05MC41IDQ1LjQtMTI0elwiXVxufTtcbmNvbnN0IGZhQmFza2V0YmFsbEJhbGwgPSBmYUJhc2tldGJhbGw7XG5jb25zdCBmYVNhdGVsbGl0ZURpc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2F0ZWxsaXRlLWRpc2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMjVdLCBcImY3YzBcIiwgXCJNMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyQzM4My4xIDAgNTEyIDEyOC45IDUxMiAyODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJDNDQ4IDE2NC4zIDM0Ny43IDY0IDIyNCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTYwLjYgMjIwLjZMMTY0LjcgMzI0LjdsMjguNC0yOC40Yy0uNy0yLjYtMS4xLTUuNC0xLjEtOC4zYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTIuOSAwLTUuNi0uNC04LjMtMS4xbC0yOC40IDI4LjRMMjkxLjQgNDUxLjRjMTQuNSAxNC41IDExLjggMzguOC03LjMgNDYuM0MyNjAuNSA1MDYuOSAyMzQuOSA1MTIgMjA4IDUxMkM5My4xIDUxMiAwIDQxOC45IDAgMzA0YzAtMjYuOSA1LjEtNTIuNSAxNC40LTc2LjFjNy41LTE5IDMxLjgtMjEuOCA0Ni4zLTcuM3pNMjI0IDk2YzEwNiAwIDE5MiA4NiAxOTIgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE0NjcsIFwiYXJyb3ctYWx0LWNpcmNsZS11cFwiXSwgXCJmMzViXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem0xMS4zLTM5NS4zbDExMiAxMTJjNC42IDQuNiA1LjkgMTEuNSAzLjUgMTcuNHMtOC4zIDkuOS0xNC44IDkuOWwtNjQgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2LTY0IDBjLTYuNSAwLTEyLjMtMy45LTE0LjgtOS45cy0xLjEtMTIuOSAzLjUtMTcuNGwxMTItMTEyYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dBbHRDaXJjbGVVcCA9IGZhQ2lyY2xlVXA7XG5jb25zdCBmYU1vYmlsZVNjcmVlbkJ1dHRvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb2JpbGUtc2NyZWVuLWJ1dHRvbicsXG4gIGljb246IFszODQsIDUxMiwgW1wibW9iaWxlLWFsdFwiXSwgXCJmM2NkXCIsIFwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBMMzA0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwxNiA2NHpNMjI0IDQ0OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMDQgNjRMODAgNjRsMCAzMjAgMjI0IDAgMC0zMjB6XCJdXG59O1xuY29uc3QgZmFNb2JpbGVBbHQgPSBmYU1vYmlsZVNjcmVlbkJ1dHRvbjtcbmNvbnN0IGZhVm9sdW1lSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2b2x1bWUtaGlnaCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODI2NiwgXCJ2b2x1bWUtdXBcIl0sIFwiZjAyOFwiLCBcIk01MzMuNiAzMi41QzU5OC41IDg1LjIgNjQwIDE2NS44IDY0MCAyNTZzLTQxLjUgMTcwLjctMTA2LjQgMjIzLjVjLTEwLjMgOC40LTI1LjQgNi44LTMzLjgtMy41cy02LjgtMjUuNCAzLjUtMzMuOEM1NTcuNSAzOTguMiA1OTIgMzMxLjIgNTkyIDI1NnMtMzQuNS0xNDIuMi04OC43LTE4Ni4zYy0xMC4zLTguNC0xMS44LTIzLjUtMy41LTMzLjhzMjMuNS0xMS44IDMzLjgtMy41ek00NzMuMSAxMDdjNDMuMiAzNS4yIDcwLjkgODguOSA3MC45IDE0OXMtMjcuNyAxMTMuOC03MC45IDE0OWMtMTAuMyA4LjQtMjUuNCA2LjgtMzMuOC0zLjVzLTYuOC0yNS40IDMuNS0zMy44QzQ3NS4zIDM0MS4zIDQ5NiAzMDEuMSA0OTYgMjU2cy0yMC43LTg1LjMtNTMuMi0xMTEuOGMtMTAuMy04LjQtMTEuOC0yMy41LTMuNS0zMy44czIzLjUtMTEuOCAzMy44LTMuNXptLTYwLjUgNzQuNUM0MzQuMSAxOTkuMSA0NDggMjI1LjkgNDQ4IDI1NnMtMTMuOSA1Ni45LTM1LjQgNzQuNWMtMTAuMyA4LjQtMjUuNCA2LjgtMzMuOC0zLjVzLTYuOC0yNS40IDMuNS0zMy44QzM5My4xIDI4NC40IDQwMCAyNzEgNDAwIDI1NnMtNi45LTI4LjQtMTcuNy0zNy4zYy0xMC4zLTguNC0xMS44LTIzLjUtMy41LTMzLjhzMjMuNS0xMS44IDMzLjgtMy41ek0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NGwwIDM4NGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1MiA2NCAzNTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjcuOCAwTDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6XCJdXG59O1xuY29uc3QgZmFWb2x1bWVVcCA9IGZhVm9sdW1lSGlnaDtcbmNvbnN0IGZhVXNlcnNSYXlzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLXJheXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTNcIiwgXCJNNDEgN0MzMS42LTIuMyAxNi40LTIuMyA3IDdTLTIuMyAzMS42IDcgNDFsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQxIDd6TTU5OSA3TDUyNyA3OWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDcyLTcyYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDB6TTcgNTA1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDcyLTcyYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNyA0NzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45em01OTIgMGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTcyLTcyYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyek0zMjAgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4ek0yMTIuMSAzMzZjLTIuNyA3LjUtNC4xIDE1LjYtNC4xIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0YzAtOC40LTEuNC0xNi41LTQuMS0yNGMtLjUtMS40LTEtMi43LTEuNi00Yy05LjQtMjIuMy0yOS44LTM4LjktNTQuMy00M2MtMy45LS43LTcuOS0xLTEyLTFsLTgwIDBjLTQuMSAwLTguMSAuMy0xMiAxYy0uOCAuMS0xLjcgLjMtMi41IC41Yy0yNC45IDUuMS00NS4xIDIzLTUzLjQgNDYuNXpNMTc1LjggMjI0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTI2LjUgMzJDMTE5LjkgMjU2IDk2IDI3OS45IDk2IDMwOS4zYzAgMTQuNyAxMS45IDI2LjcgMjYuNyAyNi43bDU2LjEgMGM4LTM0LjEgMzIuOC02MS43IDY1LjItNzMuNmMtNy41LTQuMS0xNi4yLTYuNC0yNS4zLTYuNGwtNjkuMyAwem0zNjggODBjMTQuNyAwIDI2LjctMTEuOSAyNi43LTI2LjdjMC0yOS41LTIzLjktNTMuMy01My4zLTUzLjNsLTY5LjMgMGMtOS4yIDAtMTcuOCAyLjMtMjUuMyA2LjRjMzIuNCAxMS45IDU3LjIgMzkuNSA2NS4yIDczLjZsNTYuMSAwek00NjQgMjI0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG5jb25zdCBmYVdhbGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YWxsZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NTVcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NEw4MCAxMjhjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMzY4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMzJ6TTQxNiAyNzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQ2xpcGJvYXJkQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xpcGJvYXJkLWNoZWNrJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDZjXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTM3LjUgMEMyNjkuNCAyNi43IDIzMy44IDAgMTkyIDB6bTAgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0zMDUgMjczTDE3NyA0MDFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDc5IDMzN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQ3IDQ3TDI3MSAyMzljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45elwiXVxufTtcbmNvbnN0IGZhRmlsZUF1ZGlvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtYXVkaW8nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzdcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODgtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDIyNCAwIDY0IDB6TTI1NiAwbDAgMTI4IDEyOCAwTDI1NiAwem0yIDIyNi4zYzM3LjEgMjIuNCA2MiA2My4xIDYyIDEwOS43cy0yNC45IDg3LjMtNjIgMTA5LjdjLTcuNiA0LjYtMTcuNCAyLjEtMjItNS40cy0yLjEtMTcuNCA1LjQtMjJDMjY5LjQgNDAxLjUgMjg4IDM3MC45IDI4OCAzMzZzLTE4LjYtNjUuNS00Ni41LTgyLjNjLTcuNi00LjYtMTAtMTQuNC01LjQtMjJzMTQuNC0xMCAyMi01LjR6bS05MS45IDMwLjljNiAyLjUgOS45IDguMyA5LjkgMTQuOGwwIDEyOGMwIDYuNS0zLjkgMTIuMy05LjkgMTQuOHMtMTIuOSAxLjEtMTcuNC0zLjVMMTEzLjQgMzc2IDgwIDM3NmMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDhjMC04LjggNy4yLTE2IDE2LTE2bDMzLjQgMCAzNS4zLTM1LjNjNC42LTQuNiAxMS41LTUuOSAxNy40LTMuNXptNTEgMzQuOWM2LjYtNS45IDE2LjctNS4zIDIyLjYgMS4zQzI0OS44IDMwNC42IDI1NiAzMTkuNiAyNTYgMzM2cy02LjIgMzEuNC0xNi4zIDQyLjdjLTUuOSA2LjYtMTYgNy4xLTIyLjYgMS4zcy03LjEtMTYtMS4zLTIyLjZjNS4xLTUuNyA4LjEtMTMuMSA4LjEtMjEuM3MtMy4xLTE1LjctOC4xLTIxLjNjLTUuOS02LjYtNS4zLTE2LjcgMS4zLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFCdXJnZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVyZ2VyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJoYW1idXJnZXJcIl0sIFwiZjgwNVwiLCBcIk02MS4xIDIyNEM0NSAyMjQgMzIgMjExIDMyIDE5NC45YzAtMS45IC4yLTMuNyAuNi01LjZDMzcuOSAxNjguMyA3OC44IDMyIDI1NiAzMnMyMTguMSAxMzYuMyAyMjMuNCAxNTcuM2MuNSAxLjkgLjYgMy43IC42IDUuNmMwIDE2LjEtMTMgMjkuMS0yOS4xIDI5LjFMNjEuMSAyMjR6TTE0NCAxMjhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMjQwIDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpNMjcyIDk2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6TTE2IDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OGwzODQgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEw2NCAzNTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4em0xNiA5NmMwLTguOCA3LjItMTYgMTYtMTZsNDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE2elwiXVxufTtcbmNvbnN0IGZhSGFtYnVyZ2VyID0gZmFCdXJnZXI7XG5jb25zdCBmYVdyZW5jaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3cmVuY2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyOTVdLCBcImYwYWRcIiwgXCJNMzUyIDMyMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MGMwLTE1LjMtMi4yLTMwLjEtNi4yLTQ0LjJjLTMuMS0xMC44LTE2LjQtMTMuMi0yNC4zLTUuM2wtNzYuOCA3Ni44Yy0zIDMtNy4xIDQuNy0xMS4zIDQuN0wzMzYgMTkyYy04LjggMC0xNi03LjItMTYtMTZsMC01Ny40YzAtNC4yIDEuNy04LjMgNC43LTExLjNsNzYuOC03Ni44YzcuOS03LjkgNS40LTIxLjItNS4zLTI0LjNDMzgyLjEgMi4yIDM2Ny4zIDAgMzUyIDBDMjYzLjYgMCAxOTIgNzEuNiAxOTIgMTYwYzAgMTkuMSAzLjQgMzcuNSA5LjUgNTQuNUwxOS45IDM5Ni4xQzcuMiA0MDguOCAwIDQyNi4xIDAgNDQ0LjFDMCA0ODEuNiAzMC40IDUxMiA2Ny45IDUxMmMxOCAwIDM1LjMtNy4yIDQ4LTE5LjlMMjk3LjUgMzEwLjVjMTcgNi4yIDM1LjQgOS41IDU0LjUgOS41ek04MCA0MDhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQnVncyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWdzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGQwXCIsIFwiTTE2NC41IDEwNy40bDMzLjQtNzMuNWM1LjUtMTIuMSAuMS0yNi4zLTExLjktMzEuOHMtMjYuMy0uMS0zMS44IDExLjlMMTI4IDcxLjcgMTAxLjkgMTQuMUM5Ni40IDIgODIuMS0zLjMgNzAuMSAyLjFTNTIuNyAyMS45IDU4LjEgMzMuOWwzMy40IDczLjVjLTEwLjIgNy4xLTE4LjIgMTctMjIuOSAyOC42bC0xNyAwLTQuMS0yMC43Yy0yLjYtMTMtMTUuMi0yMS40LTI4LjItMTguOFMtMi4xIDExMS43IC41IDEyNC43bDggNDBDMTAuNyAxNzUuOSAyMC42IDE4NCAzMiAxODRsMzIgMCAwIDIzLjMtMzcuOCA5LjVjLTkuNSAyLjQtMTYuNiAxMC4yLTE3LjkgMTkuOWwtOCA1NmMtMS45IDEzLjEgNy4yIDI1LjMgMjAuNCAyNy4yczI1LjMtNy4yIDI3LjItMjAuNGw1LjctNDAgMTguNC00LjZDODIuNyAyNzQuNiAxMDMuOCAyODggMTI4IDI4OHM0NS4zLTEzLjQgNTYuMS0zMy4ybDE4LjQgNC42IDUuNyA0MGMxLjkgMTMuMSAxNCAyMi4yIDI3LjIgMjAuNHMyMi4yLTE0IDIwLjQtMjcuMmwtOC01NmMtMS40LTkuNy04LjUtMTcuNS0xNy45LTE5LjlMMTkyIDIwNy4zbDAtMjMuMyAzMiAwYzExLjQgMCAyMS4zLTguMSAyMy41LTE5LjNsOC00MGMyLjYtMTMtNS44LTI1LjYtMTguOC0yOC4ycy0yNS42IDUuOC0yOC4yIDE4LjhMMjA0LjMgMTM2bC0xNyAwYy00LjctMTEuNi0xMi43LTIxLjUtMjIuOS0yOC42ek00OTYgMjg2LjVsNjUuNi00N2MxMC44LTcuNyAxMy4zLTIyLjcgNS42LTMzLjVzLTIyLjctMTMuMy0zMy41LTUuNmwtNTEuNCAzNi44IDYuMS02Mi45YzEuMy0xMy4yLTguNC0yNC45LTIxLjYtMjYuMnMtMjQuOSA4LjQtMjYuMiAyMS42TDQzMi44IDI1MGMtMTIuMyAxLTI0LjIgNS42LTM0LjEgMTMuM0wzODQgMjU0LjhsNi44LTIwYzQuMi0xMi42LTIuNS0yNi4yLTE1LTMwLjRzLTI2LjIgMi41LTMwLjQgMTVsLTEzLjEgMzguNmMtMy43IDEwLjggLjggMjIuOCAxMC43IDI4LjVsMjcuNyAxNkwzNTkgMzIyLjcgMzIxLjUgMzEyYy05LjQtMi43LTE5LjUgLjYtMjUuNSA4LjNsLTM0LjkgNDQuNWMtOC4yIDEwLjQtNi40IDI1LjUgNC4xIDMzLjdzMjUuNSA2LjQgMzMuNy00LjFsMjUtMzEuOCAxOC4yIDUuMmMtLjUgMjIuNiAxMSA0NC43IDMyIDU2LjhzNDUuOSAxMSA2NS4yLS43bDEzLjYgMTMuMi0xNS4xIDM3LjVjLTQuOSAxMi4zIDEgMjYuMyAxMy4zIDMxLjJzMjYuMy0xIDMxLjItMTMuM0w1MDMuNSA0NDBjMy42LTkuMSAxLjQtMTkuNC01LjYtMjYuMmwtMjgtMjcuMSAxMS42LTIwLjEgMjcuNyAxNmM5LjkgNS43IDIyLjUgMy43IDMwLTQuOUw1NjYuMiAzNDdjOC43LTEwIDcuOC0yNS4xLTIuMi0zMy45cy0yNS4xLTcuOC0zMy45IDIuMmwtMTMuOSAxNS45LTE0LjctOC41YzEuNy0xMi40LS4yLTI1LTUuNS0zNi4yelwiXVxufTtcbmNvbnN0IGZhUnVwZWVTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1cGVlLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MzYwLCBcInJ1cGVlXCJdLCBcImYxNTZcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw4MCAwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0YzAgNTguOC0zNS4yIDEwOS4zLTg1LjcgMTMxLjdsNTEuNCAxMjguNGM2LjYgMTYuNC0xLjQgMzUtMTcuOCA0MS42cy0zNS0xLjQtNDEuNi0xNy44TDEwNi4zIDMyMCA2NCAzMjBsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMMCAyODggMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBMNjQgOTZsMCAxNjB6bTI1Ni41IDE2LjRjLS45IDYgMCA4LjcgLjQgOS44Yy40IDEuMSAxLjQgMi42IDQuMiA0LjljNy4yIDUuNyAxOC43IDEwIDM3LjkgMTYuOGwxLjMgLjVjMTYgNS42IDM4LjcgMTMuNiA1NS43IDI4LjFjOS41IDguMSAxNy45IDE4LjYgMjMuMSAzMi4zYzUuMSAxMy43IDYuMSAyOC41IDMuOCA0NGMtNC4yIDI4LjEtMjAuNSA0OS4zLTQzLjggNjAuOWMtMjIuMSAxMS00OC4xIDEyLjUtNzMuMiA4bC0uMiAwczAgMCAwIDBjLTkuMy0xLjgtMjAuNS01LjctMjkuMy05Yy02LTIuMy0xMi42LTQuOS0xNy43LTYuOWMwIDAgMCAwIDAgMGMtMi41LTEtNC42LTEuOC02LjMtMi41Yy0xNi41LTYuNC0yNC42LTI1LTE4LjItNDEuNHMyNC45LTI0LjYgNDEuNC0xOC4yYzIuNiAxIDUuMiAyIDcuOSAzLjFjMCAwIDAgMCAwIDBjNC44IDEuOSA5LjggMy45IDE1LjQgNmM4LjggMy4zIDE1LjMgNS40IDE4LjcgNmMxNS43IDIuOCAyNi43IC44IDMyLjktMi4zYzUtMi41IDgtNiA5LjEtMTNjMS02LjkgLjItMTAuNS0uNS0xMi4zYy0uNi0xLjctMS44LTMuNi00LjUtNS45Yy02LjktNS44LTE4LjItMTAuNC0zNi45LTE3bC0zLTEuMWMtMTUuNS01LjQtMzctMTMtNTMuMy0yNS45Yy05LjUtNy41LTE4LjMtMTcuNi0yMy43LTMxYy01LjUtMTMuNC02LjYtMjgtNC40LTQzLjJjOC40LTU3LjEgNjctNzggMTE2LjktNjguOWM2LjkgMS4zIDI3LjMgNS44IDM1LjQgOC40YzE2LjkgNS4yIDI2LjMgMjMuMiAyMS4xIDQwLjFzLTIzLjIgMjYuMy00MC4xIDIxLjFjLTQuNy0xLjQtMjIuMy01LjUtMjcuOS02LjVjLTE0LjYtMi43LTI1LjgtLjQtMzIuNiAzLjJjLTYuMyAzLjMtOC45IDcuNi05LjUgMTJ6XCJdXG59O1xuY29uc3QgZmFSdXBlZSA9IGZhUnVwZWVTaWduO1xuY29uc3QgZmFGaWxlSW1hZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1pbWFnZScsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQ0M10sIFwiZjFjNVwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTY0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNTIgMzJjNS4zIDAgMTAuMiAyLjYgMTMuMiA2LjlsODggMTI4YzMuNCA0LjkgMy43IDExLjMgMSAxNi41cy04LjIgOC42LTE0LjIgOC42bC04OCAwLTQwIDAtNDggMC00OCAwYy01LjggMC0xMS4xLTMuMS0xMy45LTguMXMtMi44LTExLjIgLjItMTYuMWw0OC04MGMyLjktNC44IDguMS03LjggMTMuNy03LjhzMTAuOCAyLjkgMTMuNyA3LjhsMTIuOCAyMS40IDQ4LjMtNzAuMmMzLTQuMyA3LjktNi45IDEzLjItNi45elwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXF1ZXN0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjIxMDgsIFwicXVlc3Rpb24tY2lyY2xlXCJdLCBcImYwNTlcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2OS44IDE2NS4zYzcuOS0yMi4zIDI5LjEtMzcuMyA1Mi44LTM3LjNsNTguMyAwYzM0LjkgMCA2My4xIDI4LjMgNjMuMSA2My4xYzAgMjIuNi0xMi4xIDQzLjUtMzEuNyA1NC44TDI4MCAyNjQuNGMtLjIgMTMtMTAuOSAyMy42LTI0IDIzLjZjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTMuNWMwLTguNiA0LjYtMTYuNSAxMi4xLTIwLjhsNDQuMy0yNS40YzQuNy0yLjcgNy42LTcuNyA3LjYtMTMuMWMwLTguNC02LjgtMTUuMS0xNS4xLTE1LjFsLTU4LjMgMGMtMy40IDAtNi40IDIuMS03LjUgNS4zbC0uNCAxLjJjLTQuNCAxMi41LTE4LjIgMTktMzAuNiAxNC42cy0xOS0xOC4yLTE0LjYtMzAuNmwuNC0xLjJ6TTIyNCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG5jb25zdCBmYVF1ZXN0aW9uQ2lyY2xlID0gZmFDaXJjbGVRdWVzdGlvbjtcbmNvbnN0IGZhUGxhbmVEZXBhcnR1cmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtZGVwYXJ0dXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzQ3XSwgXCJmNWIwXCIsIFwiTTM4MSAxMTQuOUwxODYuMSA0MS44Yy0xNi43LTYuMi0zNS4yLTUuMy01MS4xIDIuN0w4OS4xIDY3LjRDNzggNzMgNzcuMiA4OC41IDg3LjYgOTUuMmwxNDYuOSA5NC41TDEzNiAyNDAgNzcuOCAyMTQuMWMtOC43LTMuOS0xOC44LTMuNy0yNy4zIC42TDE4LjMgMjMwLjhjLTkuMyA0LjctMTEuOCAxNi44LTUgMjQuN2w3My4xIDg1LjNjNi4xIDcuMSAxNSAxMS4yIDI0LjMgMTEuMmwxMzcuNyAwYzUgMCA5LjktMS4yIDE0LjMtMy40TDUzNS42IDIxMi4yYzQ2LjUtMjMuMyA4Mi41LTYzLjMgMTAwLjgtMTEyQzY0NS45IDc1IDYyNy4yIDQ4IDYwMC4yIDQ4bC01Ny40IDBjLTIwLjIgMC00MC4yIDQuOC01OC4yIDE0TDM4MSAxMTQuOXpNMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG5jb25zdCBmYUhhbmRzaGFrZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC0xMzUtMTA1LjhjLTEuMS0xMS40LTYuMy0yMi4zLTE1LjMtMzAuN2wtMTM0LjItMTIzLTIzLjQgMTguMi0yNi0yMC4zIDc3LjItNjAuMWM3LTUuNCAxNy00LjIgMjIuNSAyLjhzNC4yIDE3LTIuOCAyMi41bC0yMC45IDE2LjJMNTEyIDMxNi44IDUxMiAxMjhsLS43IDAtMy45LTIuNUw0MzQuOCA3OWMtMTUuMy05LjgtMzMuMi0xNS01MS40LTE1Yy0yMS44IDAtNDMgNy41LTYwIDIxLjJsLTg5LjcgNzIuNi0yNS44LTIwLjMgODEuOC02Ni4yYy0xMS42LTQuOS0yNC4xLTcuNC0zNi44LTcuNEMyMzQgNjQgMjE1LjcgNjkuNiAyMDAgODBsLTM1LjUgMjMuN0wzOC44IDUuMXpNOTYgMTcxLjZMNDAuNiAxMjggMCAxMjggMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE4MC40ek00MTMuNiA0MjEuOUwxMjggMTk2LjkgMTI4IDM1MmwyOC4yIDAgOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45Yy44LS44IDEuNS0xLjcgMi4yLTIuNnpNNDggMzIwYTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpNNTQ0IDEyOGwwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjI0LTk2IDB6bTMyIDIwOGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbmNvbnN0IGZhQm9va0Jvb2ttYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stYm9va21hcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwYmJcIiwgXCJNMCA5NkMwIDQzIDQzIDAgOTYgMGw5NiAwIDAgMTkwLjdjMCAxMy40IDE1LjUgMjAuOSAyNiAxMi41TDI3MiAxNjBsNTQgNDMuMmMxMC41IDguNCAyNiAuOSAyNi0xMi41TDM1MiAwbDMyIDAgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwTDk2IDUxMmMtNTMgMC05Ni00My05Ni05NkwwIDk2ek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDAgMC02NEw5NiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhQ29kZUJyYW5jaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLWJyYW5jaCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjEyNlwiLCBcIk04MCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04MC0yNGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgODcuOGMxOC44LTEwLjkgNDAuNy0xNy4xIDY0LTE3LjFsOTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTYuN0MzMDcuNyAxNDEgMjg4IDExMi44IDI4OCA4MGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCA2LjdjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTk2IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNi43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjNjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM2wwLTYuNyAwLTE5OC43QzE5LjcgMTQxIDAgMTEyLjggMCA4MEMwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MHptMjMyIDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNODAgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG5jb25zdCBmYUhhdENvd2JveSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXQtY293Ym95JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmOGMwXCIsIFwiTTMyMCA2NGMxNC40IDAgMjIuMy03IDMwLjgtMTQuNEMzNjAuNCA0MS4xIDM3MC43IDMyIDM5MiAzMmM0OS4zIDAgODQuNCAxNTIuMiA5Ny45IDIyMS45QzQ0Ny44IDI3Mi4xIDM5MC45IDI4OCAzMjAgMjg4cy0xMjcuOC0xNS45LTE2OS45LTM0LjFDMTYzLjYgMTg0LjIgMTk4LjcgMzIgMjQ4IDMyYzIxLjMgMCAzMS42IDkuMSA0MS4yIDE3LjZDMjk3LjcgNTcgMzA1LjYgNjQgMzIwIDY0ek0xMTEuMSAyNzAuN2M0Ny4yIDI0LjUgMTE3LjUgNDkuMyAyMDkgNDkuM3MxNjEuOC0yNC44IDIwOC45LTQ5LjNjMjQuOC0xMi45IDQ5LjgtMjguMyA3MC4xLTQ3LjdjNy45LTcuOSAyMC4yLTkuMiAyOS42LTMuM2M5LjUgNS45IDEzLjUgMTcuOSA5LjkgMjguNWMtMTMuNSAzNy43LTM4LjQgNzIuMy02Ni4xIDEwMC42QzUyMy43IDM5OC45IDQ0My42IDQ0OCAzMjAgNDQ4cy0yMDMuNi00OS4xLTI1Mi41LTk5LjJDMzkuOCAzMjAuNCAxNC45IDI4NS44IDEuNCAyNDguMWMtMy42LTEwLjYgLjQtMjIuNiA5LjktMjguNWM5LjUtNS45IDIxLjctNC41IDI5LjYgMy4zYzIwLjQgMTkuNCA0NS4zIDM0LjggNzAuMSA0Ny43elwiXVxufTtcbmNvbnN0IGZhQnJpZGdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRjOFwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNDAgMCAwIDY0TDAgMTYwIDAgMjg4YzUzIDAgOTYgNDMgOTYgOTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2bDAtMTI4LTcyIDAgMC02NCA0MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00NTYgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMzI4IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTIwMCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwelwiXVxufTtcbmNvbnN0IGZhUGhvbmVGbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bob25lLWZsaXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzODEsIFwicGhvbmUtYWx0XCJdLCBcImY4NzlcIiwgXCJNMzQ3LjEgMjQuNmM3LjctMTguNiAyOC0yOC41IDQ3LjQtMjMuMmw4OCAyNEM0OTkuOSAzMC4yIDUxMiA0NiA1MTIgNjRjMCAyNDcuNC0yMDAuNiA0NDgtNDQ4IDQ0OGMtMTggMC0zMy44LTEyLjEtMzguNi0yOS41bC0yNC04OGMtNS4zLTE5LjQgNC42LTM5LjcgMjMuMi00Ny40bDk2LTQwYzE2LjMtNi44IDM1LjItMi4xIDQ2LjMgMTEuNkwyMDcuMyAzNjhjNzAuNC0zMy4zIDEyNy40LTkwLjMgMTYwLjctMTYwLjdMMzE4LjcgMTY3Yy0xMy43LTExLjItMTguNC0zMC0xMS42LTQ2LjNsNDAtOTZ6XCJdXG59O1xuY29uc3QgZmFQaG9uZUFsdCA9IGZhUGhvbmVGbGlwO1xuY29uc3QgZmFUcnVja0Zyb250ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZyb250JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMmI3XCIsIFwiTTAgODBDMCAzNS44IDM1LjggMCA4MCAwTDQzMiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMjg4YzAgMjYuMi0xMi42IDQ5LjQtMzIgNjRsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMi0yNTYgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4QzEyLjYgNDE3LjQgMCAzOTQuMiAwIDM2OEwwIDgwem0xMjkuOSA3Mi4yTDExMiAyMjRsMjg4IDAtMTcuOS03MS44QzM3OC41IDEzOCAzNjUuNyAxMjggMzUxIDEyOGwtMTkwIDBjLTE0LjcgMC0yNy41IDEwLTMxIDI0LjJ6TTEyOCAzMjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjg4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUNhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMDhdLCBcImY2YmVcIiwgXCJNMzIwIDE5MmwxNy4xIDBjMjIuMSAzOC4zIDYzLjUgNjQgMTEwLjkgNjRjMTEgMCAyMS44LTEuNCAzMi00bDAgNCAwIDMyIDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTQwLjhMMjgwIDQ0OGw1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNDQgMGMtNTMgMC05Ni00My05Ni05NmwwLTIyMy41YzAtMTYuMS0xMi0yOS44LTI4LTMxLjhsLTcuOS0xYy0xNy41LTIuMi0zMC0xOC4yLTI3LjgtMzUuN3MxOC4yLTMwIDM1LjctMjcuOGw3LjkgMWM0OCA2IDg0LjEgNDYuOCA4NC4xIDk1LjNsMCA4NS4zYzM0LjQtNTEuNyA5My4yLTg1LjggMTYwLTg1Ljh6bTE2MCAyNi41czAgMCAwIDBjLTEwIDMuNS0yMC44IDUuNS0zMiA1LjVjLTI4LjQgMC01NC0xMi40LTcxLjYtMzJjMCAwIDAgMCAwIDBjLTMuNy00LjEtNy04LjUtOS45LTEzLjJDMzU3LjMgMTY0IDM1MiAxNDYuNiAzNTIgMTI4YzAgMCAwIDAgMCAwbDAtOTYgMC0yMCAwLTEuM0MzNTIgNC44IDM1Ni43IC4xIDM2Mi42IDBsLjIgMGMzLjMgMCA2LjQgMS42IDguNCA0LjJjMCAwIDAgMCAwIC4xTDM4NCAyMS4zbDI3LjIgMzYuM0w0MTYgNjRsNjQgMCA0LjgtNi40TDUxMiAyMS4zIDUyNC44IDQuM2MwIDAgMCAwIDAtLjFjMi0yLjYgNS4xLTQuMiA4LjQtNC4ybC4yIDBDNTM5LjMgLjEgNTQ0IDQuOCA1NDQgMTAuN2wwIDEuMyAwIDIwIDAgOTZjMCAxNy4zLTQuNiAzMy42LTEyLjYgNDcuNmMtMTEuMyAxOS44LTI5LjYgMzUuMi01MS40IDQyLjl6TTQzMiAxMjhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbmNvbnN0IGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRhYlwiLCBcIk0zMjAgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptMjEuMSA4MEMzNjcgMTU4LjggMzg0IDEyOS40IDM4NCA5NmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDMzLjQgMTcgNjIuOCA0Mi45IDgwTDIyNCAxNzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDIwOC00OCAwYy01MyAwLTk2LTQzLTk2LTk2bDAtNi4xIDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctNyAwIDYuMWMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MGw4MCAwIDgwIDBjOC4yIDAgMTYuMy0uNiAyNC4yLTEuOGMtMjIuMi0xNi4yLTQwLjQtMzcuNS01My02Mi4yTDMyMCA0NDhsMC04MCAwLTEyOCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMC45IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFUcnVja0ZpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZpZWxkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNThkXCIsIFwiTTMyIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDIyNCAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMmw1MS44IDBjMjUuMyAwIDQ4LjIgMTQuOSA1OC41IDM4bDUyLjggMTE4LjhjLjUgMS4xIC45IDIuMSAxLjMgMy4ybDQuMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsLTEyOCAwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMC0zMnpNMzg0IDIyNGw4NS45IDAtNDIuNy05NkwzODQgMTI4bDAgOTZ6TTE2MCA0MzJhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zNjgtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG5jb25zdCBmYVJvdXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNGQ3XCIsIFwiTTUxMiA5NmMwIDUwLjItNTkuMSAxMjUuMS04NC42IDE1NWMtMy44IDQuNC05LjQgNi4xLTE0LjUgNUwzMjAgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTI3Ni40IDBjOC43LTkuOSAxOS4zLTIyLjYgMzAtMzYuOGM2LjMtOC40IDEyLjgtMTcuNiAxOS0yNy4yTDQxNiA0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDBjLTUzIDAtOTYtNDMtOTYtOTZzNDMtOTYgOTYtOTZsMzkuOCAwYy0yMS0zMS41LTM5LjgtNjcuNy0zOS44LTk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZ6TTExNy4xIDQ4OS4xYy0zLjggNC4zLTcuMiA4LjEtMTAuMSAxMS4zbC0xLjggMi0uMi0uMmMtNiA0LjYtMTQuNiA0LTIwLTEuOEM1OS44IDQ3MyAwIDQwMi41IDAgMzUyYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAzMC0yMS4xIDY3LTQzLjUgOTcuOWMtMTAuNyAxNC43LTIxLjcgMjgtMzAuOCAzOC41bC0uNiAuN3pNMTI4IDM1MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek00MTYgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUNsaXBib2FyZFF1ZXN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC1xdWVzdGlvbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRlM1wiLCBcIk0xOTIgMGMtNDEuOCAwLTc3LjQgMjYuNy05MC41IDY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zNy41IDBDMjY5LjQgMjYuNyAyMzMuOCAwIDE5MiAwem0wIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTA1LjggMjI5LjNjNy45LTIyLjMgMjkuMS0zNy4zIDUyLjgtMzcuM2w1OC4zIDBjMzQuOSAwIDYzLjEgMjguMyA2My4xIDYzLjFjMCAyMi42LTEyLjEgNDMuNS0zMS43IDU0LjhMMjE2IDMyOC40Yy0uMiAxMy0xMC45IDIzLjYtMjQgMjMuNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0xMy41YzAtOC42IDQuNi0xNi41IDEyLjEtMjAuOGw0NC4zLTI1LjRjNC43LTIuNyA3LjYtNy43IDcuNi0xMy4xYzAtOC40LTYuOC0xNS4xLTE1LjEtMTUuMWwtNTguMyAwYy0zLjQgMC02LjQgMi4xLTcuNSA1LjNsLS40IDEuMmMtNC40IDEyLjUtMTguMiAxOS0zMC42IDE0LjZzLTE5LTE4LjItMTQuNi0zMC42bC40LTEuMnpNMTYwIDQxNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbmNvbnN0IGZhUGFub3JhbWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFub3JhbWEnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUyMDlcIiwgXCJNNDUuNiAzMkMyMC40IDMyIDAgNTIuNCAwIDc3LjZMMCA0MzQuNEMwIDQ1OS42IDIwLjQgNDgwIDQ1LjYgNDgwYzUuMSAwIDEwLS44IDE0LjctMi40Qzc0LjYgNDcyLjggMTc3LjYgNDQwIDMyMCA0NDBzMjQ1LjQgMzIuOCAyNTkuNiAzNy42YzQuNyAxLjYgOS43IDIuNCAxNC43IDIuNGMyNS4yIDAgNDUuNi0yMC40IDQ1LjYtNDUuNmwwLTM1Ni43QzY0MCA1Mi40IDYxOS42IDMyIDU5NC40IDMyYy01IDAtMTAgLjgtMTQuNyAyLjRDNTY1LjQgMzkuMiA0NjIuNCA3MiAzMjAgNzJTNzQuNiAzOS4yIDYwLjQgMzQuNEM1NS42IDMyLjggNTAuNyAzMiA0NS42IDMyek05NiAxNjBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjcyIDBjNy45IDAgMTUuNCAzLjkgMTkuOCAxMC41TDUxMi4zIDM1M2M1LjQgOCA1LjYgMTguNCAuNCAyNi41cy0xNC43IDEyLjMtMjQuMiAxMC43QzQ0Mi43IDM4Mi40IDM4NS4yIDM3NiAzMjAgMzc2Yy02NS42IDAtMTIzLjQgNi41LTE2OS4zIDE0LjRjLTkuOCAxLjctMTkuNy0yLjktMjQuNy0xMS41cy00LjMtMTkuNCAxLjktMjcuMkwxOTcuMyAyNjVjNC42LTUuNyAxMS40LTkgMTguNy05czE0LjIgMy4zIDE4LjcgOWwyNi40IDMzLjEgODctMTI3LjZjNC41LTYuNiAxMS45LTEwLjUgMTkuOC0xMC41elwiXVxufTtcbmNvbnN0IGZhQ29tbWVudE1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1tZWRpY2FsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmN2Y1XCIsIFwiTTI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMlMwIDEyNS4xIDAgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjNjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOXpNMjI0IDE2MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OCA0OCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDAgMC00OHpcIl1cbn07XG5jb25zdCBmYVRlZXRoT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZWV0aC1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNjJmXCIsIFwiTTk2IDMyQzQzIDMyIDAgNzUgMCAxMjhsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtNTMtNDMtOTYtOTYtOTZMOTYgMzJ6TTIyNCA5NmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTU2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em04MCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgNTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNTZ6TTk2IDEyOGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em0zMzYgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0ek05NiA0ODBsMzg0IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDUzIDQzIDk2IDk2IDk2em0wLTY0Yy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDI2LjUtMjEuNSA0OC00OCA0OHptODAtNDhsMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDh6bTE3NiA0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCAyNi41LTIxLjUgNDgtNDggNDh6bTgwLTQ4bDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhRmlsZUNpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGVkXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNMjg4IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMjQgMGMwLTguOC03LjItMTYtMTYtMTZsLTEyOCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVRhZ3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFncycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjAyY1wiLCBcIk0zNDUgMzkuMUw0NzIuOCAxNjguNGM1Mi40IDUzIDUyLjQgMTM4LjIgMCAxOTEuMkwzNjAuOCA0NzIuOWMtOS4zIDkuNC0yNC41IDkuNS0zMy45IC4ycy05LjUtMjQuNS0uMi0zMy45TDQzOC42IDMyNS45YzMzLjktMzQuMyAzMy45LTg5LjQgMC0xMjMuN0wzMTAuOSA3Mi45Yy05LjMtOS40LTkuMi0yNC42IC4yLTMzLjlzMjQuNi05LjIgMzMuOSAuMnpNMCAyMjkuNUwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDE0OS41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsMTY4IDE2OGMyNSAyNSAyNSA2NS41IDAgOTAuNUwyNzcuMyA0NDIuN2MtMjUgMjUtNjUuNSAyNS05MC41IDBsLTE2OC0xNjhDNi43IDI2Mi43IDAgMjQ2LjUgMCAyMjkuNXpNMTQ0IDE0NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbmNvbnN0IGZhV2luZUdsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpbmUtZ2xhc3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjc4NjNdLCBcImY0ZTNcIiwgXCJNMzIuMSAyOS4zQzMzLjUgMTIuOCA0Ny40IDAgNjQgMEwyNTYgMGMxNi42IDAgMzAuNSAxMi44IDMxLjkgMjkuM2wxNCAxNjguNGM2IDcyLTQyLjUgMTM1LjItMTA5LjkgMTUwLjZsMCA5OS42IDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTgwIDAtODAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwIDAtOTkuNkM2MC42IDMzMyAxMi4xIDI2OS44IDE4LjEgMTk3LjhsMTQtMTY4LjR6bTU2IDk4LjdsMTQzLjggMC01LjMtNjRMOTMuNCA2NGwtNS4zIDY0elwiXVxufTtcbmNvbnN0IGZhRm9yd2FyZEZhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9yd2FyZC1mYXN0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTE5NywgXCJmYXN0LWZvcndhcmRcIl0sIFwiZjA1MFwiLCBcIk0xOC40IDQ0NWMxMS4yIDUuMyAyNC41IDMuNiAzNC4xLTQuNEwyMjQgMjk3LjcgMjI0IDQxNmMwIDEyLjQgNy4yIDIzLjcgMTguNCAyOXMyNC41IDMuNiAzNC4xLTQuNEw0NDggMjk3LjcgNDQ4IDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTE4LjNMMjc2LjUgNzEuNGMtOS41LTcuOS0yMi44LTkuNy0zNC4xLTQuNFMyMjQgODMuNiAyMjQgOTZsMCAxMTguM0w1Mi41IDcxLjRjLTkuNS03LjktMjIuOC05LjctMzQuMS00LjRTMCA4My42IDAgOTZMMCA0MTZjMCAxMi40IDcuMiAyMy43IDE4LjQgMjl6XCJdXG59O1xuY29uc3QgZmFGYXN0Rm9yd2FyZCA9IGZhRm9yd2FyZEZhc3Q7XG5jb25zdCBmYUZhY2VNZWhCbGFuayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLW1laC1ibGFuaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU2NiwgXCJtZWgtYmxhbmtcIl0sIFwiZjVhNFwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTIwOC40LTQ4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTEyOCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFNZWhCbGFuayA9IGZhRmFjZU1laEJsYW5rO1xuY29uc3QgZmFTcXVhcmVQYXJraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wYXJraW5nJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3MzU5LCBcInBhcmtpbmdcIl0sIFwiZjU0MFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0xOTIgMjU2bDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ4IDAgMCA2NHptNDggNjRsLTQ4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0IDAtMTIwYzAtMjIuMSAxNy45LTQwIDQwLTQwbDcyIDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZ6XCJdXG59O1xuY29uc3QgZmFQYXJraW5nID0gZmFTcXVhcmVQYXJraW5nO1xuY29uc3QgZmFIb3VzZVNpZ25hbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1zaWduYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUwMTJcIiwgXCJNMzU3LjcgOC41Yy0xMi4zLTExLjMtMzEuMi0xMS4zLTQzLjQgMGwtMjA4IDE5MmMtOS40IDguNi0xMi43IDIyLTguNSAzNGM4Ny4xIDI1LjMgMTU1LjYgOTQuMiAxODAuMyAxODEuNkw0NjQgNDE2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTEyIDMyIDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC4xLTM1LjJsLTIwOC0xOTJ6TTI4OCAyMDhjMC04LjggNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NHpNMjQgMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0YzEwMS42IDAgMTg0IDgyLjQgMTg0IDE4NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTI4LjEtMTAzLjktMjMyLTIzMi0yMzJ6bTggMjU2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMCAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRjNDguNiAwIDg4IDM5LjQgODggODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTc1LjEtNjAuOS0xMzYtMTM2LTEzNmMtMTMuMyAwLTI0IDEwLjctMjQgMjR6XCJdXG59O1xuY29uc3QgZmFCYXJzUHJvZ3Jlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFycy1wcm9ncmVzcycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGFza3MtYWx0XCJdLCBcImY4MjhcIiwgXCJNNDQ4IDE2MGwtMTI4IDAgMC0zMiAxMjggMCAwIDMyek00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMmwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggNjR6TTQ0OCAzNTJsMCAzMi0yNTYgMCAwLTMyIDI1NiAwek00OCAyODhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAyODh6XCJdXG59O1xuY29uc3QgZmFUYXNrc0FsdCA9IGZhQmFyc1Byb2dyZXNzO1xuY29uc3QgZmFGYXVjZXREcmlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhdWNldC1kcmlwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Njg4XSwgXCJlMDA2XCIsIFwiTTIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTIgOTYtMTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMjU2IDg0bC0zMS0zLjktMS0uMS0xIC4xTDE5MiA4NCA5NiA5NkM3OC4zIDk2IDY0IDgxLjcgNjQgNjRzMTQuMy0zMiAzMi0zMmw5NiAxMiAwLTEyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwIDIyLjYtMjIuNmM2LTYgMTQuMS05LjQgMjIuNi05LjRsMTguNyAwIDAtNDMuOCAzMi00IDMyIDQgMCA0My44IDE4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNEwzMjAgMTkybDMyIDBjODguNCAwIDE2MCA3MS42IDE2MCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMycy0xNC4zLTMyLTMyLTMybC0zNi4xIDBjLTIwLjIgMjktNTMuOSA0OC05MS45IDQ4cy03MS43LTE5LTkxLjktNDhMMzIgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0ek00MzYuOCA0MjMuNGMxLjktNC41IDYuMy03LjQgMTEuMi03LjRzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMWwxOC4yLTQyLjR6XCJdXG59O1xuY29uc3QgZmFDYXJ0RmxhdGJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJ0LWZsYXRiZWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImRvbGx5LWZsYXRiZWRcIl0sIFwiZjQ3NFwiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjg4YzAgNDQuMiAzNS44IDgwIDgwIDgwbDE4LjcgMGMtMS44IDUtMi43IDEwLjQtMi43IDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhjMC01LjYtMS0xMS0yLjctMTZsMTk3LjUgMGMtMS44IDUtMi43IDEwLjQtMi43IDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhjMC01LjYtMS0xMS0yLjctMTZsNjYuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00NjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjg4QzEyOCAzNS44IDkyLjIgMCA0OCAwTDMyIDB6TTE5MiA4MGwwIDE5MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMjAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5MmMwLTI2LjUtMjEuNS00OC00OC00OGwtOTYgMCAwIDE0NGMwIDUuOS0zLjIgMTEuMy04LjUgMTQuMXMtMTEuNSAyLjUtMTYuNC0uOEw0MDAgMTYzLjJsLTM5LjEgMjYuMWMtNC45IDMuMy0xMS4yIDMuNi0xNi40IC44cy04LjUtOC4yLTguNS0xNC4xbDAtMTQ0LTk2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4elwiXVxufTtcbmNvbnN0IGZhRG9sbHlGbGF0YmVkID0gZmFDYXJ0RmxhdGJlZDtcbmNvbnN0IGZhQmFuU21va2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYW4tc21va2luZycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY4NSwgXCJzbW9raW5nLWJhblwiXSwgXCJmNTRkXCIsIFwiTTk5LjUgMTQ0LjhMMTc4LjcgMjI0bDk2IDk2IDkyLjUgOTIuNUMzMzUuOSA0MzQuOSAyOTcuNSA0NDggMjU2IDQ0OEMxNTAgNDQ4IDY0IDM2MiA2NCAyNTZjMC00MS41IDEzLjEtNzkuOSAzNS41LTExMS4yek0zMzMuMyAyODhsLTMyLTMyIDgyLjcgMCAwIDMyLTUwLjcgMHptMzIgMzJsMzQuNyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtMTMwLjcgMEwxNDQuOCA5OS41QzE3Ni4xIDc3LjEgMjE0LjUgNjQgMjU2IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkyYzAgNDEuNS0xMy4xIDc5LjktMzUuNSAxMTEuMkwzNjUuMyAzMjB6TTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yNzIgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnM3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzLTcuMi0xNi0xNi0xNnpNMjI5LjUgMzIwbC05Ni05NkwxMTIgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMTE3LjUgMHpcIl1cbn07XG5jb25zdCBmYVNtb2tpbmdCYW4gPSBmYUJhblNtb2tpbmc7XG5jb25zdCBmYVRlcm1pbmFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rlcm1pbmFsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMTIwXCIsIFwiTTkuNCA4Ni42Qy0zLjEgNzQuMS0zLjEgNTMuOSA5LjQgNDEuNHMzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE5MiAxOTJjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE3OC43IDI1NiA5LjQgODYuNnpNMjU2IDQxNmwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjg4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFNb2JpbGVCdXR0b24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9iaWxlLWJ1dHRvbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjEwYlwiLCBcIk04MCAwQzQ0LjcgMCAxNiAyOC43IDE2IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDgwIDB6TTE5MiA0MDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhSG91c2VNZWRpY2FsRmxhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1tZWRpY2FsLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTRcIiwgXCJNNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMTEyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTI4YzAgOC44LTcuMiAxNi0xNiAxNmwtMTEyIDAgMCAzMjAtNjQgMCAwLTMyMCAwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjc2LjggMzkuN0w0MTYgMTU5bDAgMzUzIDEgMC0uMiAwTDk2IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTItMzIgMGMtMTMuNCAwLTI1LjQtOC4zLTMwLTIwLjlzLTEtMjYuNyA5LjItMzUuNGwyMjQtMTkyYzEyLTEwLjMgMjkuNy0xMC4zIDQxLjcgMHpNMjI0IDIwOGwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYUJhc2tldFNob3BwaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jhc2tldC1zaG9wcGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic2hvcHBpbmctYmFza2V0XCJdLCBcImYyOTFcIiwgXCJNMjUzLjMgMzUuMWM2LjEtMTEuOCAxLjUtMjYuMy0xMC4yLTMyLjRzLTI2LjMtMS41LTMyLjQgMTAuMkwxMTcuNiAxOTIgMzIgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyTDgzLjkgNDYzLjVDOTEgNDkyIDExNi42IDUxMiAxNDYgNTEyTDQzMCA1MTJjMjkuNCAwIDU1LTIwIDYyLjEtNDguNUw1NDQgMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04NS42IDBMMzY1LjMgMTIuOUMzNTkuMiAxLjIgMzQ0LjctMy40IDMzMi45IDIuN3MtMTYuMyAyMC42LTEwLjIgMzIuNEw0MDQuMyAxOTJsLTIzMi42IDBMMjUzLjMgMzUuMXpNMTkyIDMwNGwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptOTYtMTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgOTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCAxNmwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG5jb25zdCBmYVNob3BwaW5nQmFza2V0ID0gZmFCYXNrZXRTaG9wcGluZztcbmNvbnN0IGZhVGFwZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YXBlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNGRiXCIsIFwiTTM4MC44IDQxNmM0MS41LTQwLjcgNjcuMi05Ny4zIDY3LjItMTYwQzQ0OCAxMzIuMyAzNDcuNyAzMiAyMjQgMzJTMCAxMzIuMyAwIDI1NlMxMDAuMyA0ODAgMjI0IDQ4MGwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYzLjIgMHpNMjI0IDE2MGE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnptNjQgOTZhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwelwiXVxufTtcbmNvbnN0IGZhQnVzU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1cy1zaW1wbGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImJ1cy1hbHRcIl0sIFwiZjU1ZVwiLCBcIk0yMjQgMEMzNDguOCAwIDQ0OCAzNS4yIDQ0OCA4MGwwIDE2IDAgMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzItMTkyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCA5NiAwIDgwQzAgMzUuMiA5OS4yIDAgMjI0IDB6TTY0IDEyOGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiA5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTgwIDQwMGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTI4OCAwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUJ1c0FsdCA9IGZhQnVzU2ltcGxlO1xuY29uc3QgZmFFeWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXllJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MDY1XSwgXCJmMDZlXCIsIFwiTTI4OCAzMmMtODAuOCAwLTE0NS41IDM2LjgtMTkyLjYgODAuNkM0OC42IDE1NiAxNy4zIDIwOCAyLjUgMjQzLjdjLTMuMyA3LjktMy4zIDE2LjcgMCAyNC42QzE3LjMgMzA0IDQ4LjYgMzU2IDk1LjQgMzk5LjRDMTQyLjUgNDQzLjIgMjA3LjIgNDgwIDI4OCA0ODBzMTQ1LjUtMzYuOCAxOTIuNi04MC42YzQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjFjMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjZjLTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjFDNDMzLjUgNjguOCAzNjguOCAzMiAyODggMzJ6TTE0NCAyNTZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQ0LTY0YzAgMzUuMy0yOC43IDY0LTY0IDY0Yy03LjEgMC0xMy45LTEuMi0yMC4zLTMuM2MtNS41LTEuOC0xMS45IDEuNi0xMS43IDcuNGMuMyA2LjkgMS4zIDEzLjggMy4yIDIwLjdjMTMuNyA1MS4yIDY2LjQgODEuNiAxMTcuNiA2Ny45czgxLjYtNjYuNCA2Ny45LTExNy42Yy0xMS4xLTQxLjUtNDcuOC02OS40LTg4LjYtNzEuMWMtNS44LS4yLTkuMiA2LjEtNy40IDExLjdjMi4xIDYuNCAzLjMgMTMuMiAzLjMgMjAuM3pcIl1cbn07XG5jb25zdCBmYUZhY2VTYWRDcnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zYWQtY3J5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTU3LCBcInNhZC1jcnlcIl0sIFwiZjViM1wiLCBcIk0zNTIgNDkzLjRjLTI5LjYgMTItNjIuMSAxOC42LTk2IDE4LjZzLTY2LjQtNi42LTk2LTE4LjZMMTYwIDI4OGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDE4OS44QzUxLjUgNDMzLjUgMCAzNTAuOCAwIDI1NkMwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCA5NC44LTUxLjUgMTc3LjUtMTI4IDIyMS44TDM4NCAyODhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyMDUuNHpNMTk1LjIgMjMzLjZjNS4zIDcuMSAxNS4zIDguNSAyMi40IDMuMnM4LjUtMTUuMyAzLjItMjIuNGMtMzAuNC00MC41LTkxLjItNDAuNS0xMjEuNiAwYy01LjMgNy4xLTMuOSAxNy4xIDMuMiAyMi40czE3LjEgMy45IDIyLjQtMy4yYzE3LjYtMjMuNSA1Mi44LTIzLjUgNzAuNCAwem0xMjEuNiAwYzE3LjYtMjMuNSA1Mi44LTIzLjUgNzAuNCAwYzUuMyA3LjEgMTUuMyA4LjUgMjIuNCAzLjJzOC41LTE1LjMgMy4yLTIyLjRjLTMwLjQtNDAuNS05MS4yLTQwLjUtMTIxLjYgMGMtNS4zIDcuMS0zLjkgMTcuMSAzLjIgMjIuNHMxNy4xIDMuOSAyMi40LTMuMnpNMjA4IDMzNmwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHpcIl1cbn07XG5jb25zdCBmYVNhZENyeSA9IGZhRmFjZVNhZENyeTtcbmNvbnN0IGZhQXVkaW9EZXNjcmlwdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhdWRpby1kZXNjcmlwdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjI5ZVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMTMuNSAxNzMuM2w3MiAxNDRjNS45IDExLjkgMS4xIDI2LjMtMTAuNyAzMi4ycy0yNi4zIDEuMS0zMi4yLTEwLjdsLTkuNC0xOC45LTgyLjIgMC05LjQgMTguOWMtNS45IDExLjktMjAuMyAxNi43LTMyLjIgMTAuN3MtMTYuNy0yMC4zLTEwLjctMzIuMmw3Mi0xNDRjNC4xLTguMSAxMi40LTEzLjMgMjEuNS0xMy4zczE3LjQgNS4xIDIxLjUgMTMuM3ptLS40IDEwNi42TDE5MiAyMzcuN2wtMjEuMSA0Mi4yIDQyLjIgMHpNMzA0IDE4NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw1NiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC01NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NHptNDggMjRsMCA5NiAzMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tbWlsaXRhcnktdG8tcGVyc29uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTRjXCIsIFwiTTcxIDEyLjVjLTguNiAxLTE1IDguMi0xNSAxNi44YzAgOS4zIDcuNSAxNi44IDE2LjcgMTYuOWwxMTEuNCAwYzguOC0uMSAxNS45LTcuMiAxNS45LTE2TDIwMCAxNmMwLTkuNS04LjMtMTctMTcuOC0xNS45TDcxIDEyLjV6TTE4OS41IDc4LjFsLTEyMi45IDBDNjQuOSA4My44IDY0IDg5LjggNjQgOTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTYuMi0uOS0xMi4yLTIuNS0xNy45ek0zMiAyNTZsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxLjggMCAzLjUtLjEgNS4yLS40TDUzIDIwOC42QzQwLjEgMjIwLjMgMzIgMjM3LjIgMzIgMjU2em0xOTAuMiA0Mi41YzEuMS0zLjMgMS44LTYuOCAxLjgtMTAuNWwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwYy0zLjcgMC03LjQgLjMtMTAuOSAuOUwyMjIuMiAyOTguNXpNMzg0IDE2MGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptLTMyIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDB6TTIxNS44IDQ1MC4xYzUuMi00LjYgOC4yLTExLjEgOC4yLTE4LjFzLTMtMTMuNS04LjItMTguMWwtNjQtNTZjLTcuMS02LjItMTcuMS03LjctMjUuNy0zLjhTMTEyIDM2Ni42IDExMiAzNzZsMCAzMi04OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDg4IDAgMCAzMmMwIDkuNCA1LjUgMTggMTQuMSAyMS45czE4LjYgMi40IDI1LjctMy44bDY0LTU2ek0yODggNDMxLjljMCA2LjkgMi45IDEzLjUgOC4xIDE4LjFsNjQgNTYuNGM3LjEgNi4yIDE3LjEgNy44IDI1LjcgMy45czE0LjEtMTIuNCAxNC4xLTIxLjlsMC0zMi40IDg4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg4IDAgMC0zMmMwLTkuNC01LjUtMTgtMTQuMS0yMS45cy0xOC42LTIuNC0yNS43IDMuOGwtNjQgNTZjLTUuMiA0LjUtOC4yIDExLjEtOC4yIDE4elwiXVxufTtcbmNvbnN0IGZhRmlsZVNoaWVsZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXNoaWVsZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmMFwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMjQgMGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMCAwIDQ3LTkyLjggMzcuMWMtMjEuMyA4LjUtMzUuMiAyOS4xLTM1LjIgNTJjMCA1Ni42IDE4LjkgMTQ4IDk0LjIgMjA4LjNjLTkgNC44LTE5LjMgNy42LTMwLjIgNy42TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMzg0IDY0bC0xMjggMEwyNTYgMCAzODQgMTI4em0zOS4xIDk3LjdjNS43LTIuMyAxMi4xLTIuMyAxNy44IDBsMTIwIDQ4QzU3MCAyNzcuNCA1NzYgMjg2LjIgNTc2IDI5NmMwIDYzLjMtMjUuOSAxNjguOC0xMzQuOCAyMTQuMmMtNS45IDIuNS0xMi42IDIuNS0xOC41IDBDMzEzLjkgNDY0LjggMjg4IDM1OS4zIDI4OCAyOTZjMC05LjggNi0xOC42IDE1LjEtMjIuM2wxMjAtNDh6TTUyNy40IDMxMkw0MzIgMjczLjhsMCAxODcuOGM2OC4yLTMzIDkxLjUtOTkgOTUuNC0xNDkuN3pcIl1cbn07XG5jb25zdCBmYVVzZXJTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTA2XCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMMzUzLjMgMjUxLjZDNDA3LjkgMjM3IDQ0OCAxODcuMiA0NDggMTI4QzQ0OCA1Ny4zIDM5MC43IDAgMzIwIDBDMjUwLjIgMCAxOTMuNSA1NS44IDE5MiAxMjUuMkwzOC44IDUuMXpNMjY0LjMgMzA0LjNDMTcwLjUgMzA5LjQgOTYgMzg3LjIgOTYgNDgyLjNjMCAxNi40IDEzLjMgMjkuNyAyOS43IDI5LjdsMzg4LjYgMGMzLjkgMCA3LjYtLjcgMTEtMi4xbC0yNjEtMjA1LjZ6XCJdXG59O1xuY29uc3QgZmFQZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Mzk0XSwgXCJmMzA0XCIsIFwiTTM2Mi43IDE5LjNMMzE0LjMgNjcuNyA0NDQuMyAxOTcuN2w0OC40LTQ4LjRjMjUtMjUgMjUtNjUuNSAwLTkwLjVMNDUzLjMgMTkuM2MtMjUtMjUtNjUuNS0yNS05MC41IDB6bS03MSA3MUw1OC42IDMyMy41Yy0xMC40IDEwLjQtMTggMjMuMy0yMi4yIDM3LjRMMSA0ODEuMkMtMS41IDQ4OS43IC44IDQ5OC44IDcgNTA1czE1LjMgOC41IDIzLjcgNi4xbDEyMC4zLTM1LjRjMTQuMS00LjIgMjctMTEuOCAzNy40LTIyLjJMNDIxLjcgMjIwLjMgMjkxLjcgOTAuM3pcIl1cbn07XG5jb25zdCBmYVRvd2VyT2JzZXJ2YXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG93ZXItb2JzZXJ2YXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1ODZcIiwgXCJNMjQxLjcgMy40YzktNC41IDE5LjYtNC41IDI4LjYgMGwxNjAgODBjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOUM0MzkgMTM3LjUgNDI3LjcgMTQ0IDQxNiAxNDRsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNC45IDAgMzIgMTkyIDY4LjkgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTUuNSAwYy0uNCAwLS44IDAtMS4xIDBsLTI1NC44IDBjLS40IDAtLjggMC0xLjEgMEwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjguOSAwIDMyLTE5Mi00LjkgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC04MGMtMTEuNyAwLTIzLTYuNS0yOC42LTE3LjdjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjlsMTYwLTgwek0zMTQuNSA0NDhMMjU2IDM5OS4yIDE5Ny41IDQ0OGwxMTcgMHpNMTk3LjggMjU2bC00LjcgMjguM0wyNTYgMzM2LjhsNjIuOS01Mi41TDMxNC4yIDI1NmwtMTE2LjUgMHptLTEzLjkgODMuMmwtMTEuMiA2N0wyMTguNSAzNjhsLTM0LjYtMjguOHpNMjkzLjUgMzY4bDQ1LjggMzguMS0xMS4yLTY3TDI5My41IDM2OHpNMTc2IDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxNjAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYwIDB6XCJdXG59O1xuY29uc3QgZmFGaWxlQ29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNvZGUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzlcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODgtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDIyNCAwIDY0IDB6TTI1NiAwbDAgMTI4IDEyOCAwTDI1NiAwek0xNTMgMjg5bC0zMSAzMSAzMSAzMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcxIDMzN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNDgtNDhjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45ek0yNjUgMjU1bDQ4IDQ4YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC00OCA0OGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhU2lnbmFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpZ25hbCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODI0NiwgXCJzaWduYWwtNVwiLCBcInNpZ25hbC1wZXJmZWN0XCJdLCBcImYwMTJcIiwgXCJNNTc2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00NDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ0OCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM1MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDIyNGwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek0xOTIgMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiA0MTZsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFTaWduYWw1ID0gZmFTaWduYWw7XG5jb25zdCBmYVNpZ25hbFBlcmZlY3QgPSBmYVNpZ25hbDtcbmNvbnN0IGZhQnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1cycsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODY1M10sIFwiZjIwN1wiLCBcIk0yODggMEM0MjIuNCAwIDUxMiAzNS4yIDUxMiA4MGwwIDE2IDAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyLTE5MiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyYzAgMCAwIDAgMCAwbDAtMzJzMCAwIDAgMGwwLTE2QzY0IDM1LjIgMTUzLjYgMCAyODggMHpNMTI4IDE2MGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDExMiAwIDAtMTYwLTExMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzA0IDI4OGwxMTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMTIgMCAwIDE2MHpNMTQ0IDQwMGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTI4OCAwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMzg0IDgwYzAtOC44LTcuMi0xNi0xNi0xNkwyMDggNjRjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTYwIDBjOC44IDAgMTYtNy4yIDE2LTE2elwiXVxufTtcbmNvbnN0IGZhSGVhcnRDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MDFcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZsMC01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMWwwIDUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDQ1NC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0MzIgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0MDkuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQzMiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhSG91c2VDaGltbmV5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNoaW1uZXknLFxuICBpY29uOiBbNTc2LCA1MTIsIFs2MzQ5OSwgXCJob21lLWxnXCJdLCBcImUzYWZcIiwgXCJNNTQzLjggMjg3LjZjMTcgMCAzMi0xNCAzMi0zMi4xYzEtOS0zLTE3LTExLTI0TDUxMiAxODVsMC0xMjFjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzYuN0wzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWwzMiAwIDAgNjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOGwwIDExMmMwIDIyLjEgMTcuOSA0MCA0MCA0MGwxNiAwYzEuMiAwIDIuNC0uMSAzLjYtLjJjMS41IC4xIDMgLjIgNC41IC4ybDMxLjkgMCAyNCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtMjQgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjQgMCAyNGMwIDIyLjEgMTcuOSA0MCA0MCA0MGwyNCAwIDMyLjUgMGMxLjQgMCAyLjggMCA0LjItLjFjMS4xIC4xIDIuMiAuMSAzLjMgLjFsMTYgMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTE2LjJjLjMtMi42IC41LTUuMyAuNS04LjFsLS43LTE2MC4yIDMyIDB6XCJdXG59O1xuY29uc3QgZmFIb21lTGcgPSBmYUhvdXNlQ2hpbW5leTtcbmNvbnN0IGZhV2luZG93TWF4aW1pemUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZG93LW1heGltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDcwXSwgXCJmMmQwXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTk2IDk2bDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDk2IDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUZhY2VGcm93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWZyb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc4NSwgXCJmcm93blwiXSwgXCJmMTE5XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNTkuMyAzODguN2MtMi42IDguNC0xMS42IDEzLjItMjAgMTAuNXMtMTMuMi0xMS42LTEwLjUtMjBDMTQ1LjIgMzI2LjEgMTk2LjMgMjg4IDI1NiAyODhzMTEwLjggMzguMSAxMjcuMyA5MS4zYzIuNiA4LjQtMi4xIDE3LjQtMTAuNSAyMHMtMTcuNC0yLjEtMjAtMTAuNUMzNDAuNSAzNDkuNCAzMDIuMSAzMjAgMjU2IDMyMHMtODQuNSAyOS40LTk2LjcgNjguN3pNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFGcm93biA9IGZhRmFjZUZyb3duO1xuY29uc3QgZmFQcmVzY3JpcHRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncHJlc2NyaXB0aW9uJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNWIxXCIsIFwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyTDAgMTkybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDUwLjcgMCAxMjggMTI4TDEzNy40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI4OCAzOTcuMyAzOTMuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDMzMy4zIDM1MiA0MzguNiAyNDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyODggMzA2LjdsLTg1LjgtODUuOEMyNTEuNCAyMDkuMSAyODggMTY0LjggMjg4IDExMkMyODggNTAuMSAyMzcuOSAwIDE3NiAwTDMyIDB6TTE3NiAxNjBMNjQgMTYwbDAtOTYgMTEyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDh6XCJdXG59O1xuY29uc3QgZmFTaG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3AnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInN0b3JlLWFsdFwiXSwgXCJmNTRmXCIsIFwiTTM2LjggMTkybDU2Ni4zIDBjMjAuMyAwIDM2LjgtMTYuNSAzNi44LTM2LjhjMC03LjMtMi4yLTE0LjQtNi4yLTIwLjRMNTU4LjIgMjEuNEM1NDkuMyA4IDUzNC40IDAgNTE4LjMgMEwxMjEuNyAwYy0xNiAwLTMxIDgtMzkuOSAyMS40TDYuMiAxMzQuN2MtNCA2LjEtNi4yIDEzLjItNi4yIDIwLjRDMCAxNzUuNSAxNi41IDE5MiAzNi44IDE5MnpNNjQgMjI0bDAgMTYwIDAgODBjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC04MCAwLTE2MC02NCAwIDAgMTYwLTE5MiAwIDAtMTYwLTY0IDB6bTQ0OCAwbDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTYtNjQgMHpcIl1cbn07XG5jb25zdCBmYVN0b3JlQWx0ID0gZmFTaG9wO1xuY29uc3QgZmFGbG9wcHlEaXNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Zsb3BweS1kaXNrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MTkwLCAxMjg0MjYsIFwic2F2ZVwiXSwgXCJmMGM3XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNDIuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzNTIgNTAuN0MzNDAgMzguNyAzMjMuNyAzMiAzMDYuNyAzMkw2NCAzMnptMCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHpNMjI0IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG5jb25zdCBmYVNhdmUgPSBmYUZsb3BweURpc2s7XG5jb25zdCBmYVZpaGFyYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWhhcmEnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2YTdcIiwgXCJNMjgxIDIyTDMwNS44IDQuN2MxLjMtLjkgMi43LTEuOCA0LjEtMi40QzMxMy4xIC43IDMxNi42IDAgMzIwIDBzNi45IC43IDEwLjEgMi4yYzEuNCAuNyAyLjggMS41IDQuMSAyLjRMMzU5IDIyQzM5MyA0NS44IDQzMC44IDYzLjUgNDcwLjggNzQuNGwyMyA2LjNjMS44IC41IDMuNiAxLjEgNS4yIDJjMy4yIDEuNyA1LjkgNCA4LjEgNi44YzMuOCA0LjkgNS42IDExLjMgNC43IDE3LjhjLS40IDIuOC0xLjIgNS40LTIuNSA3LjhjLTEuNyAzLjItNCA1LjktNi44IDguMWMtNC4zIDMuMi05LjYgNS4xLTE1LjEgNC45bC03LjUgMCAwIDU2LjEgNi40IDUuMSA1LjIgNC4xYzIxLjEgMTYuNyA0NSAyOS42IDcwLjUgMzguMWwyOC45IDkuNmMxLjYgLjUgMy4yIDEuMiA0LjYgMmMzLjEgMS43IDUuOCA0LjEgNy44IDYuOXMzLjUgNi4xIDQuMSA5LjZjLjUgMi43IC42IDUuNSAuMSA4LjNzLTEuNCA1LjQtMi43IDcuOGMtMS43IDMuMS00LjEgNS44LTYuOSA3LjhzLTYuMSAzLjUtOS42IDQuMWMtMS42IC4zLTMuMyAuNC01IC40TDU0NCAyODhsMCA2NS45YzIwLjUgMjIuOCA0Ny40IDM5LjIgNzcuNCA0Ni43QzYzMiA0MDMgNjQwIDQxMi42IDY0MCA0MjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTE2MCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0xNjAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRjMC0xMS40IDgtMjEgMTguNi0yMy40YzMwLTcuNiA1Ni45LTIzLjkgNzcuNC00Ni43TDk2IDI4OGwtMzkuNCAwYy0xLjcgMC0zLjQtLjEtNS0uNGMtMy41LS43LTYuOC0yLjEtOS42LTQuMXMtNS4yLTQuNy03LTcuOGMtMS4zLTIuNC0yLjMtNS0yLjctNy44cy0uNC01LjYgLjEtOC4zYy43LTMuNSAyLjEtNi44IDQuMS05LjZzNC43LTUuMiA3LjgtNi45YzEuNC0uOCAzLTEuNSA0LjYtMmwyOC45LTkuNmMyNS41LTguNSA0OS40LTIxLjQgNzAuNS0zOC4xbDUuMi00LjEgNi40LTUuMSAwLTguMSAwLTQ4LTcuNSAwYy01LjUgLjEtMTAuOC0xLjctMTUuMS00LjljLTIuOC0yLjEtNS4xLTQuOC02LjgtOC4xYy0xLjItMi40LTIuMS01LTIuNS03LjhjLS45LTYuNSAuOS0xMi44IDQuNy0xNy44YzIuMS0yLjggNC44LTUuMSA4LjEtNi44YzEuNi0uOCAzLjQtMS41IDUuMi0ybDIzLTYuM0MyMDkuMiA2My41IDI0NyA0NS44IDI4MSAyMnpNNDE2IDEyOGwtOTYgMC05NiAwIDAgNjQgNzIgMCA0OCAwIDcyIDAgMC02NHpNMTYwIDI4OGwwIDY0IDEzNiAwIDI0IDAgMjQgMCAxMzYgMCAwLTY0LTEzNiAwLTI0IDBzMCAwIDAgMGwtMjQgMC0xMzYgMHpcIl1cbn07XG5jb25zdCBmYVNjYWxlVW5iYWxhbmNlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2FsZS11bmJhbGFuY2VkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJiYWxhbmNlLXNjYWxlLWxlZnRcIl0sIFwiZjUxNVwiLCBcIk01MjIuMSA2Mi40YzE2LjgtNS42IDI1LjgtMjMuNyAyMC4yLTQwLjVTNTE4LjYtMy45IDUwMS45IDEuNmwtMTEzIDM3LjdDMzc1IDE1LjggMzQ5LjMgMCAzMjAgMGMtNDQuMiAwLTgwIDM1LjgtODAgODBjMCAzIC4yIDUuOSAuNSA4LjhMMTE3LjkgMTI5LjZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmwxMzUuNS00NS4yYzQuNSAzLjIgOS4zIDUuOSAxNC40IDguMkwyODggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTI5NC43YzIxLTkuMiAzNy4yLTI3IDQ0LjItNDlsMTI1LjktNDJ6TTQzOS42IDI4OEw1MTIgMTYzLjggNTg0LjQgMjg4bC0xNDQuOSAwek01MTIgMzg0YzYyLjkgMCAxMTUuMi0zNCAxMjYtNzguOWMyLjYtMTEtMS0yMi4zLTYuNy0zMi4xTDUzNi4xIDEwOS44Yy01LTguNi0xNC4yLTEzLjgtMjQuMS0xMy44cy0xOS4xIDUuMy0yNC4xIDEzLjhMMzkyLjcgMjczLjFjLTUuNyA5LjgtOS4zIDIxLjEtNi43IDMyLjFDMzk2LjggMzUwIDQ0OS4xIDM4NCA1MTIgMzg0ek0xMjkuMiAyOTEuOEwyMDEuNiA0MTYgNTYuNyA0MTZsNzIuNC0xMjQuMnpNMy4yIDQzMy4xQzE0IDQ3OCA2Ni4zIDUxMiAxMjkuMiA1MTJzMTE1LjItMzQgMTI2LTc4LjljMi42LTExLTEtMjIuMy02LjctMzIuMUwxNTMuMiAyMzcuOGMtNS04LjYtMTQuMi0xMy44LTI0LjEtMTMuOHMtMTkuMSA1LjMtMjQuMSAxMy44TDkuOSA0MDEuMWMtNS43IDkuOC05LjMgMjEuMS02LjcgMzIuMXpcIl1cbn07XG5jb25zdCBmYUJhbGFuY2VTY2FsZUxlZnQgPSBmYVNjYWxlVW5iYWxhbmNlZDtcbmNvbnN0IGZhU29ydFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvcnQtdXAnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInNvcnQtYXNjXCJdLCBcImYwZGVcIiwgXCJNMTgyLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhsMjU2IDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtMTI4LTEyOHpcIl1cbn07XG5jb25zdCBmYVNvcnRBc2MgPSBmYVNvcnRVcDtcbmNvbnN0IGZhQ29tbWVudERvdHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1kb3RzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTcyLCA2MjA3NSwgXCJjb21tZW50aW5nXCJdLCBcImY0YWRcIiwgXCJNMjU2IDQ0OGMxNDEuNCAwIDI1Ni05My4xIDI1Ni0yMDhTMzk3LjQgMzIgMjU2IDMyUzAgMTI1LjEgMCAyNDBjMCA0NS4xIDE3LjcgODYuOCA0Ny43IDEyMC45Yy0xLjkgMjQuNS0xMS40IDQ2LjMtMjEuNCA2Mi45Yy01LjUgOS4yLTExLjEgMTYuNi0xNS4yIDIxLjZjLTIuMSAyLjUtMy43IDQuNC00LjkgNS43Yy0uNiAuNi0xIDEuMS0xLjMgMS40bC0uMyAuM2MwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjLTQuNiA0LjYtNS45IDExLjQtMy40IDE3LjRjMi41IDYgOC4zIDkuOSAxNC44IDkuOWMyOC43IDAgNTcuNi04LjkgODEuNi0xOS4zYzIyLjktMTAgNDIuNC0yMS45IDU0LjMtMzAuNmMzMS44IDExLjUgNjcgMTcuOSAxMDQuMSAxNy45ek0xMjggMjA4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbmNvbnN0IGZhQ29tbWVudGluZyA9IGZhQ29tbWVudERvdHM7XG5jb25zdCBmYVBsYW50V2lsdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFudC13aWx0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNWFhXCIsIFwiTTI4OCAxMjBjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEzYy0yOS4zIDEwLTQ4IDM0LjUtNDggNzAuMWMwIDI3LjkgMjUuMyA3NC44IDY2IDExMS42YzMuOCAzLjUgOC45IDUuMyAxNCA1LjNzMTAuMi0xLjggMTQtNS4zYzQwLjctMzYuOCA2Ni04My43IDY2LTExMS42YzAtMzUuNi0xOC43LTYwLjItNDgtNzAuMWwwLTEzQzQ2NCA1My43IDQxMC4zIDAgMzQ0IDBTMjI0IDUzLjcgMjI0IDEyMGwwIDIxLjhDMjA3LjMgMTMzIDE4OC4yIDEyOCAxNjggMTI4Yy02Ni4zIDAtMTIwIDUzLjctMTIwIDEyMGwwIDEzYy0yOS4zIDEwLTQ4IDM0LjUtNDggNzAuMUMwIDM1OSAyNS4zIDQwNS45IDY2IDQ0Mi43YzMuOCAzLjUgOC45IDUuMyAxNCA1LjNzMTAuMi0xLjggMTQtNS4zYzQwLjctMzYuOCA2Ni04My43IDY2LTExMS42YzAtMzUuNi0xOC43LTYwLjItNDgtNzAuMWwwLTEzYzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAzMiAwIDIwMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjAwIDAtMzIgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFEaWFtb25kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYW1vbmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODMwXSwgXCJmMjE5XCIsIFwiTTI4NC4zIDExLjdjLTE1LjYtMTUuNi00MC45LTE1LjYtNTYuNiAwbC0yMTYgMjE2Yy0xNS42IDE1LjYtMTUuNiA0MC45IDAgNTYuNmwyMTYgMjE2YzE1LjYgMTUuNiA0MC45IDE1LjYgNTYuNiAwbDIxNi0yMTZjMTUuNi0xNS42IDE1LjYtNDAuOSAwLTU2LjZsLTIxNi0yMTZ6XCJdXG59O1xuY29uc3QgZmFGYWNlR3JpblNxdWludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tc3F1aW50JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTE4LCBcImdyaW4tc3F1aW50XCJdLCBcImY1ODVcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4OC4xIDMxMi44YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN0MzODIuNCAzOTAuNiAzMjQuMiA0MzIgMjU2LjMgNDMycy0xMjYuMi00MS40LTE1MS4xLTEwMC41Yy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOXpNMTMzLjUgMTQ2LjdsODkuOSA0Ny45YzEwLjcgNS43IDEwLjcgMjEuMSAwIDI2LjhsLTg5LjkgNDcuOWMtNy45IDQuMi0xNy41LTEuNS0xNy41LTEwLjVjMC0yLjggMS01LjUgMi44LTcuNmwzNi00My4yLTM2LTQzLjJjLTEuOC0yLjEtMi44LTQuOC0yLjgtNy42YzAtOSA5LjYtMTQuNyAxNy41LTEwLjV6TTM5NiAxNTcuMWMwIDIuOC0xIDUuNS0yLjggNy42bC0zNiA0My4yIDM2IDQzLjJjMS44IDIuMSAyLjggNC44IDIuOCA3LjZjMCA5LTkuNiAxNC43LTE3LjUgMTAuNWwtODkuOS00Ny45Yy0xMC43LTUuNy0xMC43LTIxLjEgMC0yNi44bDg5LjktNDcuOWM3LjktNC4yIDE3LjUgMS41IDE3LjUgMTAuNXpcIl1cbn07XG5jb25zdCBmYUdyaW5TcXVpbnQgPSBmYUZhY2VHcmluU3F1aW50O1xuY29uc3QgZmFIYW5kSG9sZGluZ0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctZG9sbGFyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJoYW5kLWhvbGRpbmctdXNkXCJdLCBcImY0YzBcIiwgXCJNMzEyIDI0bDAgMTAuNWM2LjQgMS4yIDEyLjYgMi43IDE4LjIgNC4yYzEyLjggMy40IDIwLjQgMTYuNiAxNyAyOS40cy0xNi42IDIwLjQtMjkuNCAxN2MtMTAuOS0yLjktMjEuMS00LjktMzAuMi01Yy03LjMtLjEtMTQuNyAxLjctMTkuNCA0LjRjLTIuMSAxLjMtMy4xIDIuNC0zLjUgM2MtLjMgLjUtLjcgMS4yLS43IDIuOGMwIC4zIDAgLjUgMCAuNmMuMiAuMiAuOSAxLjIgMy4zIDIuNmM1LjggMy41IDE0LjQgNi4yIDI3LjQgMTAuMWwuOSAuM3MwIDAgMCAwYzExLjEgMy4zIDI1LjkgNy44IDM3LjkgMTUuM2MxMy43IDguNiAyNi4xIDIyLjkgMjYuNCA0NC45Yy4zIDIyLjUtMTEuNCAzOC45LTI2LjcgNDguNWMtNi43IDQuMS0xMy45IDctMjEuMyA4LjhsMCAxMC42YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEuNGMtOS41LTIuMy0xOC4yLTUuMy0yNS42LTcuOGMtMi4xLS43LTQuMS0xLjQtNi0yYy0xMi42LTQuMi0xOS40LTE3LjgtMTUuMi0zMC40czE3LjgtMTkuNCAzMC40LTE1LjJjMi42IC45IDUgMS43IDcuMyAyLjVjMTMuNiA0LjYgMjMuNCA3LjkgMzMuOSA4LjNjOCAuMyAxNS4xLTEuNiAxOS4yLTQuMWMxLjktMS4yIDIuOC0yLjIgMy4yLTIuOWMuNC0uNiAuOS0xLjggLjgtNC4xbDAtLjJjMC0xIDAtMi4xLTQtNC42Yy01LjctMy42LTE0LjMtNi40LTI3LjEtMTAuM2wtMS45LS42Yy0xMC44LTMuMi0yNS03LjUtMzYuNC0xNC40Yy0xMy41LTguMS0yNi41LTIyLTI2LjYtNDQuMWMtLjEtMjIuOSAxMi45LTM4LjYgMjcuNy00Ny40YzYuNC0zLjggMTMuMy02LjQgMjAuMi04LjJMMjY0IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTU2OC4yIDMzNi4zYzEzLjEgMTcuOCA5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVMMTkyIDUxMiAzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzYuOCAwIDQ0LjktMzZjMjIuNy0xOC4yIDUwLjktMjggODAtMjhsNzguMyAwIDE2IDAgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyMC42IDAgMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjV6TTE5My42IDM4NGMwIDAgMCAwIDAgMGwtLjkgMGMuMyAwIC42IDAgLjkgMHpcIl1cbn07XG5jb25zdCBmYUhhbmRIb2xkaW5nVXNkID0gZmFIYW5kSG9sZGluZ0RvbGxhcjtcbmNvbnN0IGZhQmFjdGVyaXVtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhY3Rlcml1bScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA1YVwiLCBcIk00MjMuMSAzMC42YzMuNi0xMi43LTMuNy0yNi0xNi41LTI5LjdzLTI2IDMuNy0yOS43IDE2LjVsLTQuMiAxNC43Yy05LjgtLjQtMTkuOSAuNS0yOS45IDIuOGMtMTIuMSAyLjgtMjMuNyA1LjktMzQuOSA5LjRsLTUuOS0xMy43Yy01LjItMTIuMi0xOS4zLTE3LjgtMzEuNS0xMi42cy0xNy44IDE5LjMtMTIuNiAzMS41bDQuOSAxMS4zYy0yMiA5LjQtNDIgMjAuMS02MC4yIDMxLjhMMTk2IDgyLjdjLTcuNC0xMS0yMi4zLTE0LTMzLjMtNi43cy0xNCAyMi4zLTYuNyAzMy4zbDcuOCAxMS42Yy0xOCAxNS0zMy43IDMwLjgtNDcuMyA0Ny4xTDEwMyAxNTcuM2MtMTAuNC04LjMtMjUuNS02LjYtMzMuNyAzLjdzLTYuNiAyNS41IDMuNyAzMy43bDE1IDEyYy0yLjEgMy4yLTQuMSA2LjUtNiA5LjdjLTkuNCAxNS43LTE3IDMxLTIzLjIgNDUuM2wtOS45LTMuOWMtMTIuMy00LjktMjYuMyAxLjEtMzEuMiAxMy40czEuMSAyNi4zIDEzLjQgMzEuMmwxMS42IDQuNmMtLjMgMS4xLS42IDIuMS0uOSAzLjFjLTMuNSAxMi41LTUuNyAyMy4yLTcuMSAzMS4zYy0uNyA0LjEtMS4yIDcuNS0xLjYgMTAuM2MtLjIgMS40LS4zIDIuNi0uNCAzLjZsLS4xIDEuNC0uMSAuNiAwIC4zIDAgLjFjMCAwIDAgLjEgMzkuMiAzLjdjMCAwIDAgMCAwIDBsLTM5LjItMy42Yy0uNSA1LS42IDEwLS40IDE0LjlsLTE0LjcgNC4yQzQuNyAzODAuNi0yLjcgMzkzLjggLjkgNDA2LjZzMTYuOSAyMC4xIDI5LjcgMTYuNWwxMy44LTMuOWMxMC42IDIwLjcgMjcuNiAzNy44IDQ4LjUgNDguNWwtMy45IDEzLjdjLTMuNiAxMi43IDMuNyAyNiAxNi41IDI5LjdzMjYtMy43IDI5LjctMTYuNWw0LjItMTQuN2MyMy44IDEgNDYuMy01LjUgNjUuMS0xNy42TDIxNSA0NzNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xMC42LTEwLjZjOS4xLTE0LjEgMTUuMS0zMC41IDE3LTQ4LjNsLjEtLjhjLjMtMS43IDEtNS4xIDIuMy05LjhsLjItLjggMTIuNiA1LjRjMTIuMiA1LjIgMjYuMy0uNCAzMS41LTEyLjZzLS40LTI2LjMtMTIuNi0zMS41bC0xMS4zLTQuOGM5LjktMTQuOSAyNC45LTMxLjYgNDguNi00NmwyLjEgNy41YzMuNiAxMi43IDE2LjkgMjAuMSAyOS43IDE2LjVzMjAuMS0xNi45IDE2LjUtMjkuN0wzNzEgMjU5LjJjNi45LTIuMiAxNC4zLTQuMyAyMi4yLTYuMWMxMi45LTMgMjQuNy04IDM1LjItMTQuOEw0MzkgMjQ5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTAuNi0xMC42YzEyLjItMTkgMTguNi00MS42IDE3LjYtNjUuMWwxNC43LTQuMmMxMi43LTMuNiAyMC4xLTE2LjkgMTYuNS0yOS43cy0xNi45LTIwLjEtMjkuNy0xNi41bC0xMy43IDMuOWMtMTAuOC0yMS4yLTI4LTM4LTQ4LjUtNDguNWwzLjktMTMuOHpNOTIuMSAzNjMuM3MwIDAgMCAwTDE0NCAzNjhsLTUxLjktNC43ek0xMTIgMzIwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTI0MCAxODRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhSGFuZFBvaW50ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1wb2ludGVyJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMjVhXCIsIFwiTTEyOCA0MGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMTQ4LjJjOC41LTcuNiAxOS43LTEyLjIgMzItMTIuMmMyMC42IDAgMzguMiAxMyA0NSAzMS4yYzguOC05LjMgMjEuMi0xNS4yIDM1LTE1LjJjMjUuMyAwIDQ2IDE5LjUgNDcuOSA0NC4zYzguNS03LjcgMTkuOC0xMi4zIDMyLjEtMTIuM2MyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4IDAgMTYgMCA0OGMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMTYgMC02NCAwLS4xIDAtNS4yIDBjLTUgMC05LjktLjMtMTQuNy0xYy01NS4zLTUuNi0xMDYuMi0zNC0xNDAtNzlMOCAzMzZjLTEzLjMtMTcuNy05LjctNDIuNyA4LTU2czQyLjctOS43IDU2IDhsNTYgNzQuN0wxMjggNDB6TTI0MCAzMDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6bTQ4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em04MCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC05NnpcIl1cbn07XG5jb25zdCBmYURydW1TdGVlbHBhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcnVtLXN0ZWVscGFuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTZhXCIsIFwiTTI4OCAzMmMxNTkuMSAwIDI4OCA0OCAyODggMTI4bDAgMTkyYzAgODAtMTI4LjkgMTI4LTI4OCAxMjhTMCA0MzIgMCAzNTJMMCAxNjBDMCA4MCAxMjguOSAzMiAyODggMzJ6TTUyOCAxNjBjMC05LjktOC0yOS45LTU1LTQ5LjhjLTE4LjYtNy45LTQwLjktMTQuNC02Ni0xOS40bC0yNy44IDQzLjZjLTcuMyAxMS41LTExLjIgMjQuOC0xMS4yIDM4LjRjMCAxNy41IDYuNCAzNC40IDE4LjEgNDcuNWw5LjggMTFjMjkuOC01LjIgNTUuOS0xMi41IDc3LjItMjEuNWM0Ny4xLTE5LjkgNTUtMzkuOSA1NS00OS44ek0zNDkuMiAyMzcuM2MtOC0yNi4yLTMyLjQtNDUuMy02MS4yLTQ1LjNzLTUzLjMgMTkuMS02MS4yIDQ1LjNjMTkuNCAxLjcgMzkuOSAyLjcgNjEuMiAyLjdzNDEuOC0uOSA2MS4yLTIuN3pNMTY5IDkwLjhjLTI1LjIgNS00Ny40IDExLjYtNjYgMTkuNEM1NiAxMzAuMSA0OCAxNTAuMSA0OCAxNjBzOCAyOS45IDU1IDQ5LjhjMjEuMyA5IDQ3LjQgMTYuMyA3Ny4yIDIxLjVsOS44LTExYzExLjYtMTMuMSAxOC4xLTMwIDE4LjEtNDcuNWMwLTEzLjYtMy45LTI2LjktMTEuMi0zOC40TDE2OSA5MC44em01Ni4zLThDMjI0LjUgODcgMjI0IDkxLjUgMjI0IDk2YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC00LjUtLjUtOS0xLjQtMTMuMkMzMzAuOCA4MSAzMDkuOCA4MCAyODggODBzLTQyLjggMS02Mi42IDIuOHpcIl1cbn07XG5jb25zdCBmYUhhbmRTY2lzc29ycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXNjaXNzb3JzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMjU3XCIsIFwiTTQwIDIwOGMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGwxODAuMiAwYy03LjYgOC41LTEyLjIgMTkuNy0xMi4yIDMyYzAgMjUuMyAxOS41IDQ2IDQ0LjMgNDcuOWMtNy43IDguNS0xMi4zIDE5LjgtMTIuMyAzMi4xYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDAgNjQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTExMy4xYzAtNDAuMi0xNi03OC44LTQ0LjQtMTA3LjNDNDQ0LjggNzYuOCA0MTMuOSA2NCAzODEuNyA2NEwzMzYgNjRjLTIxLjMgMC0zOS4zIDEzLjktNDUuNiAzMy4xbDc0LjUgMjMuN2M4LjQgMi43IDEzLjEgMTEuNyAxMC40IDIwLjFzLTExLjcgMTMuMS0yMC4xIDEwLjRMMjg4IDEyOS45YzAgMCAwIC4xIDAgLjFMODQgNjUuOEM2Mi45IDU5LjIgNDAuNSA3MC45IDMzLjggOTJzNS4xIDQzLjUgMjYuMiA1MC4yTDI2OS41IDIwOCA0MCAyMDh6XCJdXG59O1xuY29uc3QgZmFIYW5kc1ByYXlpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtcHJheWluZycsXG4gIGljb246IFs2NDAsIDUxMiwgW1wicHJheWluZy1oYW5kc1wiXSwgXCJmNjg0XCIsIFwiTTM1MS4yIDQuOGMzLjItMiA2LjYtMy4zIDEwLTQuMWM0LjctMSA5LjYtLjkgMTQuMSAuMWM3LjcgMS44IDE0LjggNi41IDE5LjQgMTMuNkw1MTQuNiAxOTQuMmM4LjggMTMuMSAxMy40IDI4LjYgMTMuNCA0NC40bDAgNzMuNWMwIDYuOSA0LjQgMTMgMTAuOSAxNS4ybDc5LjIgMjYuNEM2MzEuMiAzNTggNjQwIDM3MC4yIDY0MCAzODRsMCA5NmMwIDkuOS00LjYgMTkuMy0xMi41IDI1LjRzLTE4LjEgOC4xLTI3LjcgNS41TDQzMSA0NjUuOWMtNTYtMTQuOS05NS02NS43LTk1LTEyMy43TDMzNiAyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04NC45YzAtNy0xLjgtMTMuOC01LjMtMTkuOEwzNDAuMyA0OC4xYy0xLjctMy0yLjktNi4xLTMuNi05LjNjLTEtNC43LTEtOS42IC4xLTE0LjFjMS45LTggNi44LTE1LjIgMTQuMy0xOS45em0tNjIuNCAwYzcuNSA0LjYgMTIuNCAxMS45IDE0LjMgMTkuOWMxLjEgNC42IDEuMiA5LjQgLjEgMTQuMWMtLjcgMy4yLTEuOSA2LjMtMy42IDkuM0wyMTMuMyAxOTkuM2MtMy41IDYtNS4zIDEyLjktNS4zIDE5LjhsMCA4NC45YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTE4LjJjMCA1OC0zOSAxMDguNy05NSAxMjMuN2wtMTY4LjcgNDVjLTkuNiAyLjYtMTkuOSAuNS0yNy43LTUuNVMwIDQ5MCAwIDQ4MGwwLTk2YzAtMTMuOCA4LjgtMjYgMjEuOS0zMC40bDc5LjItMjYuNGM2LjUtMi4yIDEwLjktOC4zIDEwLjktMTUuMmwwLTczLjVjMC0xNS44IDQuNy0zMS4yIDEzLjQtNDQuNEwyNDUuMiAxNC41YzQuNi03LjEgMTEuNy0xMS44IDE5LjQtMTMuNmM0LjYtMS4xIDkuNC0xLjIgMTQuMS0uMWMzLjUgLjggNi45IDIuMSAxMCA0LjF6XCJdXG59O1xuY29uc3QgZmFQcmF5aW5nSGFuZHMgPSBmYUhhbmRzUHJheWluZztcbmNvbnN0IGZhQXJyb3dSb3RhdGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yb3RhdGUtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs4NjM1LCBcImFycm93LXJpZ2h0LXJvdGF0ZVwiLCBcImFycm93LXJvdGF0ZS1mb3J3YXJkXCIsIFwicmVkb1wiXSwgXCJmMDFlXCIsIFwiTTM4Ni4zIDE2MEwzMzYgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTEuMkw0MTQuNCA5Ny42Yy04Ny41LTg3LjUtMjI5LjMtODcuNS0zMTYuOCAwcy04Ny41IDIyOS4zIDAgMzE2LjhzMjI5LjMgODcuNSAzMTYuOCAwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwYy02Mi41IDYyLjUtMTYzLjggNjIuNS0yMjYuMyAwcy02Mi41LTE2My44IDAtMjI2LjNzMTYzLjgtNjIuNSAyMjYuMyAwTDM4Ni4zIDE2MHpcIl1cbn07XG5jb25zdCBmYUFycm93UmlnaHRSb3RhdGUgPSBmYUFycm93Um90YXRlUmlnaHQ7XG5jb25zdCBmYUFycm93Um90YXRlRm9yd2FyZCA9IGZhQXJyb3dSb3RhdGVSaWdodDtcbmNvbnN0IGZhUmVkbyA9IGZhQXJyb3dSb3RhdGVSaWdodDtcbmNvbnN0IGZhV2ViQXdlc29tZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3ZWItYXdlc29tZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTY4MlwiLCBcIk0zNzIuMiA1MmMwIDIwLjktMTIuNCAzOS0zMC4yIDQ3LjJMNDQ4IDE5MmwxMDQuNC0yMC45Yy01LjMtNy43LTguNC0xNy4xLTguNC0yNy4xYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhjMCAyNi0yMC42IDQ3LjEtNDYuNCA0OEw0ODEgNDQyLjNjLTEwLjMgMjMtMzMuMiAzNy43LTU4LjQgMzcuN2wtMjA1LjIgMGMtMjUuMiAwLTQ4LTE0LjgtNTguNC0zNy43TDQ2LjQgMTkyQzIwLjYgMTkxLjEgMCAxNzAgMCAxNDRjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGMwIDEwLjEtMy4xIDE5LjQtOC40IDI3LjFMMTkyIDE5MiAyOTguMSA5OS4xYy0xNy43LTguMy0zMC0yNi4zLTMwLTQ3LjFjMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MnpcIl1cbn07XG5jb25zdCBmYUJpb2hhemFyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiaW9oYXphcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs5NzYzXSwgXCJmNzgwXCIsIFwiTTE3My4yIDBjLTEuOCAwLTMuNSAuNy00LjggMkMxMzguNSAzMi4zIDEyMCA3NCAxMjAgMTIwYzAgMjYuMiA2IDUwLjkgMTYuNiA3M2MtMjIgMi40LTQzLjggOS4xLTY0LjIgMjAuNUMzNy45IDIzMi44IDEzLjMgMjYyLjQgLjQgMjk2Yy0uNyAxLjctLjUgMy43IC41IDUuMmMyLjIgMy43IDcuNCA0LjMgMTAuNiAxLjNDNjQuMiAyNTQuMyAxNTggMjQ1LjEgMjA1IDMyNHMtOC4xIDE1My4xLTc3LjYgMTczLjJjLTQuMiAxLjItNi4zIDUuOS00LjEgOS42YzEgMS42IDIuNiAyLjcgNC41IDNjMzYuNSA1LjkgNzUuMiAuMSAxMDkuNy0xOS4yYzIwLjQtMTEuNCAzNy40LTI2LjUgNTAuNS00My44YzEzLjEgMTcuMyAzMC4xIDMyLjQgNTAuNSA0My44YzM0LjUgMTkuMyA3My4zIDI1LjIgMTA5LjcgMTkuMmMxLjktLjMgMy41LTEuNCA0LjUtM2MyLjItMy43IC4xLTguNC00LjEtOS42QzM3OS4xIDQ3Ny4xIDMyNCA0MDMgMzcxIDMyNHMxNDAuNy02OS44IDE5My41LTIxLjRjMy4yIDIuOSA4LjQgMi4zIDEwLjYtMS4zYzEtMS42IDEuMS0zLjUgLjUtNS4yYy0xMi45LTMzLjYtMzcuNS02My4yLTcyLjEtODIuNWMtMjAuNC0xMS40LTQyLjItMTguMS02NC4yLTIwLjVDNDUwIDE3MC45IDQ1NiAxNDYuMiA0NTYgMTIwYzAtNDYtMTguNS04Ny43LTQ4LjQtMTE4Yy0xLjMtMS4zLTMtMi00LjgtMmMtNSAwLTguNCA1LjItNi43IDkuOUM0MjEuNyA4MC41IDM4NS42IDE3NiAyODggMTc2UzE1NC4zIDgwLjUgMTc5LjkgOS45YzEuNy00LjctMS42LTkuOS02LjctOS45ek0yNDAgMjcyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTE4MS43IDQxNy42YzYuMy0xMS44IDkuOC0yNS4xIDguNi0zOS44Yy0xOS41LTE4LTM0LTQxLjQtNDEuMi02Ny44Yy0xMi41LTguMS0yNi4yLTExLjgtNDAtMTIuNGMtOS0uNC0xOC4xIC42LTI3LjEgMi43YzcuOCA1Ny4xIDM4LjcgMTA2LjggODIuOSAxMzkuNGM2LjgtNi43IDEyLjYtMTQuMSAxNi44LTIyLjF6TTI4OCA2NGMtMjguOCAwLTU2LjMgNS45LTgxLjIgMTYuNWMyIDguMyA1IDE2LjIgOSAyMy41YzYuOCAxMi40IDE2LjcgMjMuMSAzMC4xIDMwLjNjMTMuMy00LjEgMjcuNS02LjMgNDIuMi02LjNzMjguOCAyLjIgNDIuMiA2LjNjMTMuNC03LjIgMjMuMy0xNy45IDMwLjEtMzAuM2M0LTcuMyA3LTE1LjIgOS0yMy41QzM0NC4zIDY5LjkgMzE2LjggNjQgMjg4IDY0ek00MjYuOSAzMTBjLTcuMiAyNi40LTIxLjcgNDkuNy00MS4yIDY3LjhjLTEuMiAxNC43IDIuMiAyOC4xIDguNiAzOS44YzQuMyA4IDEwIDE1LjQgMTYuOCAyMi4xYzQ0LjMtMzIuNiA3NS4yLTgyLjMgODIuOS0xMzkuNGMtOS0yLjItMTguMS0zLjEtMjcuMS0yLjdjLTEzLjggLjYtMjcuNSA0LjQtNDAgMTIuNHpcIl1cbn07XG5jb25zdCBmYUxvY2F0aW9uQ3Jvc3NoYWlycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1jcm9zc2hhaXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb2NhdGlvblwiXSwgXCJmNjAxXCIsIFwiTTI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzQuN0MzNjguNCA4MC4xIDQzMS45IDE0My42IDQ0NS4zIDIyNGwzNC43IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM0LjcgMEM0MzEuOSAzNjguNCAzNjguNCA0MzEuOSAyODggNDQ1LjNsMCAzNC43YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzQuN0MxNDMuNiA0MzEuOSA4MC4xIDM2OC40IDY2LjcgMjg4TDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzNC43IDBDODAuMSAxNDMuNiAxNDMuNiA4MC4xIDIyNCA2Ni43TDIyNCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTI4IDI1NmExMjggMTI4IDAgMSAwIDI1NiAwIDEyOCAxMjggMCAxIDAgLTI1NiAwem0xMjgtODBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xuY29uc3QgZmFMb2NhdGlvbiA9IGZhTG9jYXRpb25Dcm9zc2hhaXJzO1xuY29uc3QgZmFNYXJzRG91YmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcnMtZG91YmxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTg5MV0sIFwiZjIyN1wiLCBcIk0zMTIgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzMuNCAzMy40TDI3NS44IDE1OWMtMjguNC0xOS41LTYyLjctMzEtOTkuOC0zMUM3OC44IDEyOCAwIDIwNi44IDAgMzA0czc4LjggMTc2IDE3NiAxNzZzMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDUyLjYtNTIuNkw0MDcgMTg1YzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzMTIgMzJ6bTg4IDQ4czAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwek02NCAzMDRhMTEyIDExMiAwIDEgMSAyMjQgMEExMTIgMTEyIDAgMSAxIDY0IDMwNHpNMzY4IDQ4MGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDUyLjYtNTIuNkw1OTkgMTg1YzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEw1MDQgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOGMtMS4yIDIuOS0xLjggNi0xLjggOWwwIC4yIDAgLjJjMCA2LjIgMi41IDEyLjIgNyAxNi44bDMzLjQgMzMuNEw0ODAgMTQ2LjdsMCAyMS4zYzAgMjIuNi0xMy42IDQzLjEtMzQuNiA1MS43Yy0uOCAuMy0xLjcgLjctMi41IDFDNDY1LjcgMjQxLjIgNDgwIDI3MC45IDQ4MCAzMDRjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJjLTUuNCAwLTEwLjgtLjQtMTYtMS4xYy0xMi45IDIwLjQtMjkuMSAzOC4zLTQ4LjEgNTMuMWMxOS44IDcuOCA0MS40IDEyIDY0IDEyelwiXVxufTtcbmNvbnN0IGZhQ2hpbGREcmVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGlsZC1kcmVzcycsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTU5Y1wiLCBcIk0yMjQgNjRBNjQgNjQgMCAxIDAgOTYgNjRhNjQgNjQgMCAxIDAgMTI4IDB6TTg4IDQwMGwwIDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC04MCAxNiAwIDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDE3LjggMGMxMC45IDAgMTguNi0xMC43IDE1LjItMjEuMWwtMzEuMS05My40IDI4LjYgMzcuOGMxMC43IDE0LjEgMzAuOCAxNi44IDQ0LjggNi4yczE2LjgtMzAuNyA2LjItNDQuOEwyNTQuNiAyMDdjLTIyLjQtMjkuNi01Ny41LTQ3LTk0LjYtNDdzLTcyLjIgMTcuNC05NC42IDQ3TDYuNSAyODQuN2MtMTAuNyAxNC4xLTcuOSAzNC4yIDYuMiA0NC44czM0LjIgNy45IDQ0LjgtNi4ybDI4LjctMzcuOEw1NSAzNzguOUM1MS42IDM4OS4zIDU5LjMgNDAwIDcwLjIgNDAwTDg4IDQwMHpcIl1cbn07XG5jb25zdCBmYVVzZXJzQmV0d2VlbkxpbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLWJldHdlZW4tbGluZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTFcIiwgXCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMNjE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNDhDMTAuNyA0OCAwIDM3LjMgMCAyNHpNMCA0ODhjMC0xMy4zIDEwLjctMjQgMjQtMjRsNTkyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNODMuMiAxNjBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0zMiAzMjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsOTYgMGMxMi4yIDAgMjMuNyAzLjQgMzMuNCA5LjRjLTM3LjIgMTUuMS02NS42IDQ3LjItNzUuOCA4Ni42TDY0IDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTQ2MS42IDMyYy0xMC4zLTQwLjEtMzkuNi03Mi42LTc3LjctODcuNGM5LjQtNS41IDIwLjQtOC42IDMyLjEtOC42bDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTgyLjQgMHpNMzkxLjIgMjkwLjRjMzIuMSA3LjQgNTguMSAzMC45IDY4LjkgNjEuNmMzLjUgMTAgNS41IDIwLjggNS41IDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJjMC0xMS4yIDEuOS0yMiA1LjUtMzJjMTAuNS0yOS43IDM1LjMtNTIuOCA2Ni4xLTYwLjljNy44LTIuMSAxNi0zLjEgMjQuNS0zLjFsOTYgMGM3LjQgMCAxNC43IC44IDIxLjYgMi40em00NC0xMzAuNGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTMyMS42IDk2YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbmNvbnN0IGZhTHVuZ3NWaXJ1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsdW5ncy12aXJ1cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2N1wiLCBcIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyNC4yYy04LjUtNy42LTE5LjctMTIuMi0zMi0xMi4ycy0yMy41IDQuNi0zMiAxMi4yTDI4OCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDQ0LjUgMTk1LjVjLTE2LjQtMTYuNC00MS44LTE4LjUtNjAuNS02LjFsMC0yNC4xQzM4NCAxMjcgNDE1IDk2IDQ1My4zIDk2YzIxLjcgMCA0Mi44IDEwLjIgNTUuOCAyOC44YzE1LjQgMjIuMSA0NC4zIDY1LjQgNzEgMTE2LjljMjYuNSA1MC45IDUyLjQgMTEyLjUgNTkuNiAxNzAuM2MuMiAxLjMgLjIgMi42IC4yIDRsMCA3YzAgNDkuMS0zOS44IDg5LTg5IDg5Yy03LjMgMC0xNC41LS45LTIxLjYtMi43bC03Mi43LTE4LjJjLTIwLjktNS4yLTM4LjctMTcuMS01MS41LTMyLjljMTQgMS41IDI4LjUtMyAzOS4yLTEzLjhsLTIyLjYtMjIuNiAyMi42IDIyLjZjMTguNy0xOC43IDE4LjctNDkuMSAwLTY3LjljLTEuMS0xLjEtMS40LTItMS41LTIuNWMtLjEtLjgtLjEtMS44IC40LTIuOXMxLjItMS45IDEuOC0yLjNjLjUtLjMgMS4zLS44IDIuOS0uOGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGMtMS42IDAtMi40LS40LTIuOS0uOGMtLjYtLjQtMS4zLTEuMi0xLjgtMi4zcy0uNS0yLjItLjQtMi45Yy4xLS42IC40LTEuNCAxLjUtMi41YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45ek00MjEuOCA0MjEuOGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBDMzc1LjkgMzk4LjUgMzM2IDQxNSAzMzYgNDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2YzAtMzMtMzkuOS00OS41LTYzLjItMjYuMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkMyNDEuNSAzNzUuOSAyMjUgMzM2IDE5MiAzMzZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZjMzMgMCA0OS41LTM5LjkgMjYuMi02My4yYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBDMjY0LjEgMjQxLjUgMzA0IDIyNSAzMDQgMTkyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZjMCAzMyAzOS45IDQ5LjUgNjMuMiAyNi4yYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkMzOTguNSAyNjQuMSA0MTUgMzA0IDQ0OCAzMDRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZjLTMzIDAtNDkuNSAzOS45LTI2LjIgNjMuMmM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnpNMTgzLjMgNDkxLjJsLTcyLjcgMTguMmMtNy4xIDEuOC0xNC4zIDIuNy0yMS42IDIuN2MtNDkuMSAwLTg5LTM5LjgtODktODlsMC03YzAtMS4zIC4xLTIuNyAuMi00YzcuMi01Ny45IDMzLjEtMTE5LjQgNTkuNi0xNzAuM2MyNi44LTUxLjUgNTUuNi05NC44IDcxLTExNi45YzEzLTE4LjYgMzQtMjguOCA1NS44LTI4LjhDMjI1IDk2IDI1NiAxMjcgMjU2IDE2NS4zbDAgMjQuMWMtMTguNi0xMi40LTQ0LTEwLjMtNjAuNSA2LjFjLTE4LjcgMTguNy0xOC43IDQ5LjEgMCA2Ny45YzEuMSAxLjEgMS40IDIgMS41IDIuNWMuMSAuOCAuMSAxLjgtLjQgMi45cy0xLjIgMS45LTEuOCAyLjNjLS41IC4zLTEuMyAuOC0yLjkgLjhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhjMS42IDAgMi40IC40IDIuOSAuOGMuNiAuNCAxLjMgMS4yIDEuOCAyLjNzLjUgMi4yIC40IDIuOWMtLjEgLjYtLjQgMS40LTEuNSAyLjVjLTE4LjcgMTguNy0xOC43IDQ5LjEgMCA2Ny45YzEwLjcgMTAuNyAyNS4zIDE1LjMgMzkuMiAxMy44Yy0xMi44IDE1LjktMzAuNiAyNy43LTUxLjUgMzIuOXpNMjk2IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTcyIDMyYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xuY29uc3QgZmFGYWNlR3JpblRlYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi10ZWFycycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODUxNCwgXCJncmluLXRlYXJzXCJdLCBcImY1ODhcIiwgXCJNNTQ4LjYgMzcxLjRDNTA2LjQgNDU0LjggNDE5LjkgNTEyIDMyMCA1MTJzLTE4Ni40LTU3LjItMjI4LjYtMTQwLjZjNC41LTIuOSA4LjctNi4zIDEyLjctMTAuM2M4LjEtOC4xIDEzLjItMTguNiAxNi41LTI2LjZjMy42LTguOCA2LjUtMTguNCA4LjgtMjcuNWM0LjYtMTguMiA3LjctMzcgOS4zLTQ4LjJjMy45LTI2LjUtMTguOC00OS4yLTQ1LjItNDUuNGMtNi44IC45LTE2LjIgMi40LTI2LjYgNC40Qzg1LjMgOTQuNSAxOTEuNiAwIDMyMCAwUzU1NC43IDk0LjUgNTczLjIgMjE3LjdjLTEwLjMtMi0xOS44LTMuNS0yNi42LTQuNGMtMjYuNS0zLjktNDkuMiAxOC44LTQ1LjIgNDUuNGMxLjYgMTEuMyA0LjYgMzAgOS4zIDQ4LjJjMi4zIDkuMSA1LjIgMTguOCA4LjggMjcuNWMzLjMgOC4xIDguNCAxOC41IDE2LjUgMjYuNmMzLjkgMy45IDguMiA3LjQgMTIuNyAxMC4zek0xMDcgMjU0LjFjLTMuMSAyMS41LTExLjQgNzAuMi0yNS41IDg0LjRjLS45IDEtMS45IDEuOC0yLjkgMi43QzYwIDM1Ni43IDMyIDM1NS41IDE0LjMgMzM3LjdjLTE4LjctMTguNy0xOS4xLTQ4LjgtLjctNjcuMmM4LjYtOC42IDMwLjEtMTUuMSA1MC41LTE5LjZjMTMtMi44IDI1LjUtNC44IDMzLjktNmM1LjQtLjggOS45IDMuNyA5IDl6bTQ1NC41IDg3LjFjLS44LS42LTEuNS0xLjMtMi4zLTJjLS4yLS4yLS41LS40LS43LS43Yy0xNC4xLTE0LjEtMjIuNS02Mi45LTI1LjUtODQuNGMtLjgtNS40IDMuNy05LjkgOS05YzEgLjEgMi4yIC4zIDMuMyAuNWM4LjIgMS4yIDE5LjIgMyAzMC42IDUuNWMyMC40IDQuNCA0MS45IDEwLjkgNTAuNSAxOS42YzE4LjQgMTguNCAxOCA0OC41LS43IDY3LjJjLTE3LjcgMTcuNy00NS43IDE5LTY0LjIgMy40em0tOTAuMS05LjdjNS0xMS44LTctMjIuNS0xOS4zLTE4LjdjLTM5LjcgMTIuMi04NC41IDE5LTEzMS44IDE5cy05Mi4xLTYuOC0xMzEuOC0xOWMtMTIuMy0zLjgtMjQuMyA2LjktMTkuMyAxOC43YzI1IDU5LjEgODMuMiAxMDAuNSAxNTEuMSAxMDAuNXMxMjYuMi00MS40IDE1MS4xLTEwMC41ek0yODEuNiAyMjguOHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMyLjEgMi44IDUuNyAzLjkgOC45IDIuOHM1LjUtNC4xIDUuNS03LjZjMC0xNy45LTYuNy0zNS42LTE2LjYtNDguOGMtOS44LTEzLTIzLjktMjMuMi0zOS40LTIzLjJzLTI5LjYgMTAuMi0zOS40IDIzLjJDMTkwLjcgMTg4LjQgMTg0IDIwNi4xIDE4NCAyMjRjMCAzLjQgMi4yIDYuNSA1LjUgNy42czYuOSAwIDguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMi0uMmMuMi0uMiAuNC0uNSAuNy0uOWMuNi0uOCAxLjYtMiAyLjgtMy40YzIuNS0yLjggNi02LjYgMTAuMi0xMC4zYzguOC03LjggMTguOC0xNCAyNy43LTE0czE4LjkgNi4yIDI3LjcgMTRjNC4yIDMuNyA3LjcgNy41IDEwLjIgMTAuM2MxLjIgMS40IDIuMiAyLjYgMi44IDMuNGMuMyAuNCAuNiAuNyAuNyAuOWwuMiAuMmMwIDAgMCAwIDAgMHptMTYwIDBzMCAwIDAgMHMwIDAgMCAwYzIuMSAyLjggNS43IDMuOSA4LjkgMi44czUuNS00LjEgNS41LTcuNmMwLTE3LjktNi43LTM1LjYtMTYuNi00OC44Yy05LjgtMTMtMjMuOS0yMy4yLTM5LjQtMjMuMnMtMjkuNiAxMC4yLTM5LjQgMjMuMkMzNTAuNyAxODguNCAzNDQgMjA2LjEgMzQ0IDIyNGMwIDMuNCAyLjIgNi41IDUuNSA3LjZzNi45IDAgOC45LTIuOGMwIDAgMCAwIDAgMHMwIDAgMCAwYzAgMCAwIDAgMCAwbC4yLS4yYy4yLS4yIC40LS41IC43LS45Yy42LS44IDEuNi0yIDIuOC0zLjRjMi41LTIuOCA2LTYuNiAxMC4yLTEwLjNjOC44LTcuOCAxOC44LTE0IDI3LjctMTRzMTguOSA2LjIgMjcuNyAxNGM0LjIgMy43IDcuNyA3LjUgMTAuMiAxMC4zYzEuMiAxLjQgMi4yIDIuNiAyLjggMy40Yy4zIC40IC42IC43IC43IC45bC4yIC4yYzAgMCAwIDAgMCAwYzAgMCAwIDAgMCAwelwiXVxufTtcbmNvbnN0IGZhR3JpblRlYXJzID0gZmFGYWNlR3JpblRlYXJzO1xuY29uc3QgZmFQaG9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaG9uZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyMiwgMTI4Mzc5XSwgXCJmMDk1XCIsIFwiTTE2NC45IDI0LjZjLTcuNy0xOC42LTI4LTI4LjUtNDcuNC0yMy4ybC04OCAyNEMxMi4xIDMwLjIgMCA0NiAwIDY0QzAgMzExLjQgMjAwLjYgNTEyIDQ0OCA1MTJjMTggMCAzMy44LTEyLjEgMzguNi0yOS41bDI0LTg4YzUuMy0xOS40LTQuNi0zOS43LTIzLjItNDcuNGwtOTYtNDBjLTE2LjMtNi44LTM1LjItMi4xLTQ2LjMgMTEuNkwzMDQuNyAzNjhDMjM0LjMgMzM0LjcgMTc3LjMgMjc3LjcgMTQ0IDIwNy4zTDE5My4zIDE2N2MxMy43LTExLjIgMTguNC0zMCAxMS42LTQ2LjNsLTQwLTk2elwiXVxufTtcbmNvbnN0IGZhQ2FsZW5kYXJYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci14bWFyaycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiY2FsZW5kYXItdGltZXNcIl0sIFwiZjI3M1wiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnpNMzA1IDMwNWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC00NyA0Ny00Ny00N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw0NyA0Ny00NyA0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ3LTQ3IDQ3IDQ3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDctNDcgNDctNDd6XCJdXG59O1xuY29uc3QgZmFDYWxlbmRhclRpbWVzID0gZmFDYWxlbmRhclhtYXJrO1xuY29uc3QgZmFDaGlsZFJlYWNoaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoaWxkLXJlYWNoaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNTlkXCIsIFwiTTI1NiA2NEE2NCA2NCAwIDEgMCAxMjggNjRhNjQgNjQgMCAxIDAgMTI4IDB6TTE1Mi45IDE2OS4zYy0yMy43LTguNC00NC41LTI0LjMtNTguOC00NS44TDc0LjYgOTQuMkM2NC44IDc5LjUgNDUgNzUuNiAzMC4yIDg1LjRzLTE4LjcgMjkuNy04LjkgNDQuNEw0MC45IDE1OWMxOC4xIDI3LjEgNDIuOCA0OC40IDcxLjEgNjIuNEwxMTIgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1OC40YzI5LjEtMTQuMiA1NC40LTM2LjIgNzIuNy02NC4ybDE4LjItMjcuOWM5LjYtMTQuOCA1LjQtMzQuNi05LjQtNDQuM3MtMzQuNi01LjUtNDQuMyA5LjRMMjkxIDEyMi40Yy0yMS44IDMzLjQtNTguOSA1My42LTk4LjggNTMuNmMtMTIuNiAwLTI0LjktMi0zNi42LTUuOGMtLjktLjMtMS44LS43LTIuNy0uOXpcIl1cbn07XG5jb25zdCBmYUhlYWRTaWRlVmlydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZC1zaWRlLXZpcnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDY0XCIsIFwiTTAgMjI0LjJDMCAxMDAuNiAxMDAuMiAwIDIyNCAwbDI0IDBjOTUuMiAwIDE4MS4yIDY5LjMgMTk3LjMgMTYwLjJjMi4zIDEzIDYuOCAyNS43IDE1LjEgMzZsNDIgNTIuNmM2LjIgNy44IDkuNiAxNy40IDkuNiAyNy40YzAgMjQuMi0xOS42IDQzLjgtNDMuOCA0My44TDQ0OCAzMjBsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNjQgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03Mi43YzAtMTYuNy02LjktMzIuNS0xNy4xLTQ1LjhDMTYuNiAzMjIuNCAwIDI3NC4xIDAgMjI0LjJ6TTIyNCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2YzAgMzMtMzkuOSA0OS41LTYzLjIgMjYuMmMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkMxNDUuNSAxNTIuMSAxMjkgMTkyIDk2IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmMzMyAwIDQ5LjUgMzkuOSAyNi4yIDYzLjJjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEMxNjguMSAyODYuNSAyMDggMzAzIDIwOCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmMwLTMzIDM5LjktNDkuNSA2My4yLTI2LjJjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42QzMwMi41IDI2My45IDMxOSAyMjQgMzUyIDIyNGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtMzMgMC00OS41LTM5LjktMjYuMi02My4yYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBDMjc5LjkgMTI5LjUgMjQwIDExMyAyNDAgODBjMC04LjgtNy4yLTE2LTE2LTE2em0tMjQgOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4MGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbmNvbnN0IGZhVXNlckdlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1nZWFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2VyLWNvZ1wiXSwgXCJmNGZlXCIsIFwiTTIyNCAwYTEyOCAxMjggMCAxIDEgMCAyNTZBMTI4IDEyOCAwIDEgMSAyMjQgMHpNMTc4LjMgMzA0bDkxLjQgMGMxMS44IDAgMjMuNCAxLjIgMzQuNSAzLjNjLTIuMSAxOC41IDcuNCAzNS42IDIxLjggNDQuOGMtMTYuNiAxMC42LTI2LjcgMzEuNi0yMCA1My4zYzQgMTIuOSA5LjQgMjUuNSAxNi40IDM3LjZzMTUuMiAyMy4xIDI0LjQgMzNjMTUuNyAxNi45IDM5LjYgMTguNCA1Ny4yIDguN2wwIC45YzAgOS4yIDIuNyAxOC41IDcuOSAyNi4zTDI5LjcgNTEyQzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNHpNNDM2IDIxOC4yYzAtNyA0LjUtMTMuMyAxMS4zLTE0LjhjMTAuNS0yLjQgMjEuNS0zLjcgMzIuNy0zLjdzMjIuMiAxLjMgMzIuNyAzLjdjNi44IDEuNSAxMS4zIDcuOCAxMS4zIDE0LjhsMCAzMC42YzcuOSAzLjQgMTUuNCA3LjcgMjIuMyAxMi44bDI0LjktMTQuM2M2LjEtMy41IDEzLjctMi43IDE4LjUgMi40YzcuNiA4LjEgMTQuMyAxNy4yIDIwLjEgMjcuMnMxMC4zIDIwLjQgMTMuNSAzMWMyLjEgNi43LTEuMSAxMy43LTcuMiAxNy4ybC0yNSAxNC40Yy40IDQgLjcgOC4xIC43IDEyLjNzLS4yIDguMi0uNyAxMi4zbDI1IDE0LjRjNi4xIDMuNSA5LjIgMTAuNSA3LjIgMTcuMmMtMy4zIDEwLjYtNy44IDIxLTEzLjUgMzFzLTEyLjUgMTkuMS0yMC4xIDI3LjJjLTQuOCA1LjEtMTIuNSA1LjktMTguNSAyLjRsLTI0LjktMTQuM2MtNi45IDUuMS0xNC4zIDkuNC0yMi4zIDEyLjhsMCAzMC42YzAgNy00LjUgMTMuMy0xMS4zIDE0LjhjLTEwLjUgMi40LTIxLjUgMy43LTMyLjcgMy43cy0yMi4yLTEuMy0zMi43LTMuN2MtNi44LTEuNS0xMS4zLTcuOC0xMS4zLTE0LjhsMC0zMC41Yy04LTMuNC0xNS42LTcuNy0yMi41LTEyLjlsLTI0LjcgMTQuM2MtNi4xIDMuNS0xMy43IDIuNy0xOC41LTIuNGMtNy42LTguMS0xNC4zLTE3LjItMjAuMS0yNy4ycy0xMC4zLTIwLjQtMTMuNS0zMWMtMi4xLTYuNyAxLjEtMTMuNyA3LjItMTcuMmwyNC44LTE0LjNjLS40LTQuMS0uNy04LjItLjctMTIuNHMuMi04LjMgLjctMTIuNEwzNDMuOCAzMjVjLTYuMS0zLjUtOS4yLTEwLjUtNy4yLTE3LjJjMy4zLTEwLjYgNy43LTIxIDEzLjUtMzFzMTIuNS0xOS4xIDIwLjEtMjcuMmM0LjgtNS4xIDEyLjQtNS45IDE4LjUtMi40bDI0LjggMTQuM2M2LjktNS4xIDE0LjUtOS40IDIyLjUtMTIuOWwwLTMwLjV6bTkyLjEgMTMzLjVhNDguMSA0OC4xIDAgMSAwIC05Ni4xIDAgNDguMSA0OC4xIDAgMSAwIDk2LjEgMHpcIl1cbn07XG5jb25zdCBmYVVzZXJDb2cgPSBmYVVzZXJHZWFyO1xuY29uc3QgZmFBcnJvd1VwMTkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtMS05JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtdXBcIl0sIFwiZjE2M1wiLCBcIk00NTAuNyAzOGM4LjMgNiAxMy4zIDE1LjcgMTMuMyAyNmwwIDk2IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTQ4IDAtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtNTEuNi01LjkgMmMtMTYuOCA1LjYtMzQuOS0zLjUtNDAuNS0yMC4yczMuNS0zNC45IDIwLjItNDAuNWw0OC0xNmM5LjgtMy4zIDIwLjUtMS42IDI4LjggNC40ek0xNjAgMzJjOSAwIDE3LjUgMy44IDIzLjYgMTAuNGw4OCA5NmMxMS45IDEzIDExLjEgMzMuMy0yIDQ1LjJzLTMzLjMgMTEuMS00NS4yLTJMMTkyIDE0Ni4zIDE5MiA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMDEuN0w5NS42IDE4MS42Yy0xMS45IDEzLTMyLjIgMTMuOS00NS4yIDJzLTEzLjktMzIuMi0yLTQ1LjJsODgtOTZDMTQyLjUgMzUuOCAxNTEgMzIgMTYwIDMyek00NDUuNyAzNjQuOUEzMiAzMiAwIDEgMCA0MTguMyAzMDdhMzIgMzIgMCAxIDAgMjcuNCA1Ny45em0tNDAuNyA1NC45QzM2OS42IDQwOC40IDM0NCAzNzUuMiAzNDQgMzM2YzAtNDguNiAzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCAyMy41LTcuNSA0Ni4zLTIxLjUgNjUuMkw0NDkuNyA0NjdjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjdzLTE3LjItMzAuNi02LjctNDQuOGw2LjgtOS4yelwiXVxufTtcbmNvbnN0IGZhU29ydE51bWVyaWNVcCA9IGZhQXJyb3dVcDE5O1xuY29uc3QgZmFEb29yQ2xvc2VkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvb3ItY2xvc2VkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4NjgyXSwgXCJmNTJhXCIsIFwiTTk2IDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDQxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTExMiAwLTI4OCAwTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwTDk2IDY0ek0zODQgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYVNoaWVsZFZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC12aXJ1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA2Y1wiLCBcIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMmMuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjJjMTYuNyA4IDM2LjEgOCA1Mi44IDBDNDU0LjcgNDIwLjcgNDk1LjUgMjM5LjIgNDk2IDE0MGMuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0yNTYgMTEyYzguOCAwIDE2IDcuMiAxNiAxNmMwIDMzIDM5LjkgNDkuNSA2My4yIDI2LjJjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42QzMzNC41IDIwMC4xIDM1MSAyNDAgMzg0IDI0MGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtMzMgMC00OS41IDM5LjktMjYuMiA2My4yYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBDMzExLjkgMzM0LjUgMjcyIDM1MSAyNzIgMzg0YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2YzAtMzMtMzkuOS00OS41LTYzLjItMjYuMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkMxNzcuNSAzMTEuOSAxNjEgMjcyIDEyOCAyNzJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZjMzMgMCA0OS41LTM5LjkgMjYuMi02My4yYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBDMjAwLjEgMTc3LjUgMjQwIDE2MSAyNDAgMTI4YzAtOC44IDcuMi0xNiAxNi0xNnpNMjMyIDI1NmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTcyIDMyYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xuY29uc3QgZmFEaWNlU2l4ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2Utc2l4JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTg2MV0sIFwiZjUyNlwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptMTYwIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMiA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMjAgMTkyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFNb3NxdWl0b05ldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3NxdWl0by1uZXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MmNcIiwgXCJNMTY4LjggNDYyLjNjLTcuOS00LTExLjEtMTMuNi03LjItMjEuNUwxOTIgMzgwLjJsMC00NC4yYzAtNC4yIDEuNy04LjMgNC43LTExLjNMMjU2IDI2NS40bDAtMjMuMUwxMzkuMiAzNDRDODcuOCAzOTUuMyAwIDM1OC45IDAgMjg2LjNjMC00MS4xIDMwLjYtNzUuOCA3MS40LTgwLjlsMTU5LjktMjMuOS00OS42LTQxLjNjLTUuMS00LjItNy0xMS4xLTQuOS0xNy40bDEzLjktNDEuNy0yOS01OC4xYy00LTcuOS0uNy0xNy41IDcuMi0yMS41czE3LjUtLjcgMjEuNSA3LjJsMzIgNjRjMS45IDMuOCAyLjIgOC4yIC45IDEyLjJsLTEyLjUgMzcuNkwyNTYgMTYwLjVsMC0yMi42YzAtMTQuOSAxMC4xLTI3LjMgMjMuOC0zMWwwLTQzLjNjMC00LjUgMy43LTguMiA4LjItOC4yczguMiAzLjcgOC4yIDguMmwwIDQzLjNjMTMuNyAzLjYgMjMuOCAxNi4xIDIzLjggMzFsMCAyMi42IDQ1LjQtMzcuOEwzNTIuOCA4NS4xYy0xLjMtNC0xLTguNCAuOS0xMi4ybDMyLTY0YzQtNy45IDEzLjYtMTEuMSAyMS41LTcuMnMxMS4xIDEzLjYgNy4yIDIxLjVsLTI5IDU4LjEgMTMuOSA0MS43YzIuMSA2LjIgLjEgMTMuMS00LjkgMTcuNGwtNDkuNiA0MS4zIDE1OS45IDIzLjljMjIuNSAyLjggNDEuOCAxNC42IDU0LjcgMzEuNGMtMi43IDIuNi01LjIgNS40LTcuMyA4LjZjLTguNi0xMi45LTIzLjMtMjEuNS00MC0yMS41cy0zMS40IDguNS00MCAyMS41Yy04LjYtMTIuOS0yMy4zLTIxLjUtNDAtMjEuNWMtMjEuNyAwLTQwIDE0LjMtNDUuOSAzNC4xYy0xMC43IDMuMi0xOS44IDEwLjEtMjUuOSAxOS4ybC00MC4yLTM1IDAgMjMuMSAzMi40IDMyLjRjLS4zIDItLjQgNC4xLS40IDYuMmMwIDE2LjcgOC41IDMxLjQgMjEuNSA0MGMtNCAyLjYtNy41IDUuOS0xMC42IDkuNUwzMjAgMzEwLjZsMCA1MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTUwLTMyIDMyIDAgNDEuNGMwIDIuNS0uNiA0LjktMS43IDcuMmwtMzIgNjRjLTQgNy45LTEzLjYgMTEuMS0yMS41IDcuMnpNNTEyIDI1NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNiA0OCAwIDAtMTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2IDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2IDAgMCA0OCAxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwIDAgNDggMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYgMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTYtNDggMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTYtNDggMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTYtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDAtNDgtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDAtNDgtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDAtMTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2IDQ4IDAgMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTE2IDExMmw0OCAwIDAtNDgtNDggMCAwIDQ4em0wIDgwbDQ4IDAgMC00OC00OCAwIDAgNDh6TTQ0OCAzMjBsMCA0OCA0OCAwIDAtNDgtNDggMHptMCA4MGwwIDQ4IDQ4IDAgMC00OC00OCAwelwiXVxufTtcbmNvbnN0IGZhQnJpZGdlV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJpZGdlLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGNlXCIsIFwiTTAgOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRsNTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNS42YzAgMTUuNy0xMi43IDI4LjQtMjguNCAyOC40Yy0zNy4zIDAtNjcuNiAzMC4yLTY3LjYgNjcuNmwwIDEyNC45Yy0xMi45IDAtMjUuOCAzLjktMzYuOCAxMS43Yy0xOCAxMi40LTQwLjEgMjAuMy01OS4yIDIwLjNjMCAwIDAgMCAwIDBsMC0uNSAwLTEyOGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDEyOCAwIC41Yy0xOSAwLTQxLjItNy45LTU5LjEtMjAuM2MtMTEuMS03LjgtMjQtMTEuNy0zNi45LTExLjdsMC0xMjQuOUM5NiAxOTAuMiA2NS44IDE2MCAyOC40IDE2MEMxMi43IDE2MCAwIDE0Ny4zIDAgMTMxLjZMMCA5NnpNMzA2LjUgMzg5LjlDMzI5IDQwNS40IDM1Ni41IDQxNiAzODQgNDE2YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xYzAgMCAwIDAgMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNDY5LjcgNDE3IDQ4MCAzODQgNDgwYy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2MwIDAgMCAwIDAgMEMxMzYuNyA0MDUuMiAxNjUuMSA0MTYgMTkyIDQxNmMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkJvb3RoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1ib290aCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjc1NlwiLCBcIk0yNTYgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNjAgNjQgMCAwLTE2MHptMzIwIDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ0OHpNMjI0IDUxMmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2MC02NCAwIDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyek0zMjAgMGMtOS4zIDAtMTguMSA0LTI0LjIgMTFzLTguOCAxNi4zLTcuNSAyNS41bDMxLjIgMjE4LjZMMjg4LjYgNDA5LjdjLTMuNSAxNy4zIDcuOCAzNC4yIDI1LjEgMzcuN3MzNC4yLTcuOCAzNy43LTI1LjFsLjctMy42YzEuMyAxNi40IDE1LjEgMjkuNCAzMS45IDI5LjRjMTcuNyAwIDMyLTE0LjMgMzItMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMjAgMHpNMTEyIDgwQTQ4IDQ4IDAgMSAwIDE2IDgwYTQ4IDQ4IDAgMSAwIDk2IDB6bTAgMjYxLjNsMC03Mi4xIDQuNyA0LjdjOSA5IDIxLjIgMTQuMSAzMy45IDE0LjFsNzMuNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02Ni43IDAtNDEuNi00MS42Yy0xNC4zLTE0LjMtMzMuOC0yMi40LTU0LTIyLjRDMjcuNiAxNjAgMCAxODcuNiAwIDIyMS42bDAgNTUuNyAwIC45TDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiA0Mi43TDk2IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNTguN2MwLTEwLjQtMy40LTIwLjUtOS42LTI4LjhMMTEyIDM0MS4zelwiXVxufTtcbmNvbnN0IGZhVGV4dFdpZHRoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RleHQtd2lkdGgnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwMzVcIiwgXCJNNjQgMTI4bDAtMzIgMTI4IDAgMCAxMjgtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtMTI4IDEyOCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDIyNCAzMiA0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwbDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpNOS40IDM2MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42bDAtMzIgMTkyIDAgMCAzMmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlzLTE5LjggMTYuNi0xOS44IDI5LjZsMCAzMi0xOTIgMCAwLTMyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NHpcIl1cbn07XG5jb25zdCBmYUhhdFdpemFyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXQtd2l6YXJkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNmU4XCIsIFwiTTY0IDQxNkwxNjguNiAxODAuN2MxNS4zLTM0LjQgNDAuMy02My41IDcyLTgzLjdsMTQ2LjktOTRjMy0xLjkgNi41LTIuOSAxMC0yLjlDNDA3LjcgMCA0MTYgOC4zIDQxNiAxOC42bDAgMS42YzAgMi42LS41IDUuMS0xLjQgNy41TDM1NC44IDE3Ni45Yy0xLjkgNC43LTIuOCA5LjctMi44IDE0LjdjMCA1LjUgMS4yIDExIDMuNCAxNi4xTDQ0OCA0MTZsLTIwNy4xIDAgMTEuOC0zNS40IDQwLjQtMTMuNWM2LjUtMi4yIDEwLjktOC4zIDEwLjktMTUuMnMtNC40LTEzLTEwLjktMTUuMmwtNDAuNC0xMy41LTEzLjUtNDAuNEMyMzcgMjc2LjQgMjMwLjkgMjcyIDIyNCAyNzJzLTEzIDQuNC0xNS4yIDEwLjlsLTEzLjUgNDAuNC00MC40IDEzLjVDMTQ4LjQgMzM5IDE0NCAzNDUuMSAxNDQgMzUyczQuNCAxMyAxMC45IDE1LjJsNDAuNCAxMy41TDIwNy4xIDQxNiA2NCA0MTZ6TTI3OS42IDE0MS41Yy0xLjEtMy4zLTQuMS01LjUtNy42LTUuNXMtNi41IDIuMi03LjYgNS41bC02LjcgMjAuMi0yMC4yIDYuN2MtMy4zIDEuMS01LjUgNC4xLTUuNSA3LjZzMi4yIDYuNSA1LjUgNy42bDIwLjIgNi43IDYuNyAyMC4yYzEuMSAzLjMgNC4xIDUuNSA3LjYgNS41czYuNS0yLjIgNy42LTUuNWw2LjctMjAuMiAyMC4yLTYuN2MzLjMtMS4xIDUuNS00LjEgNS41LTcuNnMtMi4yLTYuNS01LjUtNy42bC0yMC4yLTYuNy02LjctMjAuMnpNMzIgNDQ4bDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVBlbkZhbmN5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blbi1mYW5jeScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODM5NSwgMTAwMDJdLCBcImY1YWNcIiwgXCJNMzczLjUgMjcuMUMzODguNSA5LjkgNDEwLjIgMCA0MzMgMGM0My42IDAgNzkgMzUuNCA3OSA3OWMwIDIyLjgtOS45IDQ0LjYtMjcuMSA1OS42TDI3Ny43IDMxOWwtMTAuMy0xMC4zLTY0LTY0TDE5MyAyMzQuMyAzNzMuNSAyNy4xek0xNzAuMyAyNTYuOWwxMC40IDEwLjQgNjQgNjQgMTAuNCAxMC40LTE5LjIgODMuNGMtMy45IDE3LjEtMTYuOSAzMC43LTMzLjggMzUuNEwyNC4zIDUxMC4zbDk1LjQtOTUuNGMyLjYgLjcgNS40IDEuMSA4LjMgMS4xYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyYzAgMi45IC40IDUuNiAxLjEgOC4zTDEuNyA0ODcuNiA1MS41IDMxMGM0LjctMTYuOSAxOC4zLTI5LjkgMzUuNC0zMy44bDgzLjQtMTkuMnpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkRpZ2dpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWRpZ2dpbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImRpZ2dpbmdcIl0sIFwiZjg1ZVwiLCBcIk0yMDggNjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNOS44IDIxNC44YzUuMS0xMi4yIDE5LjEtMTggMzEuNC0xMi45TDYwLjcgMjEwbDIyLjktMzguMUM5OS45IDE0NC42IDEyOS4zIDEyOCAxNjEgMTI4YzUxLjQgMCA5NyAzMi45IDExMy4zIDgxLjdsMzQuNiAxMDMuNyA3OS4zIDMzLjEgMzQuMi00NS42YzYuNC04LjUgMTYuNi0xMy4zIDI3LjItMTIuOHMyMC4zIDYuNCAyNS44IDE1LjVsOTYgMTYwYzUuOSA5LjkgNi4xIDIyLjIgLjQgMzIuMnMtMTYuMyAxNi4yLTI3LjggMTYuMmwtMjU2IDBjLTExLjEgMC0yMS40LTUuNy0yNy4yLTE1LjJzLTYuNC0yMS4yLTEuNC0zMS4xbDE2LTMyYzUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3LjdsMzIgMCAyMi41LTMwTDIyLjggMjQ2LjJjLTEyLjItNS4xLTE4LTE5LjEtMTIuOS0zMS40em04Mi44IDkxLjhsMTEyIDQ4YzExLjggNSAxOS40IDE2LjYgMTkuNCAyOS40bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC03NC45LTYwLjYtMjYtMzcgMTExYy01LjYgMTYuOC0yMy43IDI1LjgtNDAuNSAyMC4yUy0zLjkgNDg2LjYgMS42IDQ2OS45bDQ4LTE0NCAxMS0zMyAzMiAxMy43elwiXVxufTtcbmNvbnN0IGZhRGlnZ2luZyA9IGZhUGVyc29uRGlnZ2luZztcbmNvbnN0IGZhVHJhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhc2gnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYxZjhcIiwgXCJNMTM1LjIgMTcuN0wxMjggMzIgMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwLTcuMi0xNC4zQzMwNy40IDYuOCAyOTYuMyAwIDI4NC4yIDBMMTYzLjggMGMtMTIuMSAwLTIzLjIgNi44LTI4LjYgMTcuN3pNNDE2IDEyOEwzMiAxMjggNTMuMiA0NjdjMS42IDI1LjMgMjIuNiA0NSA0Ny45IDQ1bDI0NS44IDBjMjUuMyAwIDQ2LjMtMTkuNyA0Ny45LTQ1TDQxNiAxMjh6XCJdXG59O1xuY29uc3QgZmFHYXVnZVNpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1zaW1wbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImdhdWdlLXNpbXBsZS1tZWRcIiwgXCJ0YWNob21ldGVyLWF2ZXJhZ2VcIl0sIFwiZjYyOVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTMyMCA5NmMwLTI2LjktMTYuNS00OS45LTQwLTU5LjNMMjgwIDg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA0LjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuM2MwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbmNvbnN0IGZhR2F1Z2VTaW1wbGVNZWQgPSBmYUdhdWdlU2ltcGxlO1xuY29uc3QgZmFUYWNob21ldGVyQXZlcmFnZSA9IGZhR2F1Z2VTaW1wbGU7XG5jb25zdCBmYUJvb2tNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stbWVkaWNhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjdlNlwiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDM4NCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMEw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjRMOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMjA4IDExMmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYVBvbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwb28nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxNjldLCBcImYyZmVcIiwgXCJNMjY4LjkgLjljLTUuNS0uNy0xMSAxLjQtMTQuNSA1LjdzLTQuNiAxMC4xLTIuOCAxNS40YzIuOCA4LjIgNC4zIDE2LjkgNC4zIDI2LjFjMCA0NC4xLTM1LjcgNzkuOS03OS44IDgwTDE2MCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0YzAgMTkuMSA4LjQgMzYuMyAyMS43IDQ4TDEwNCAyNDBjLTM5LjggMC03MiAzMi4yLTcyIDcyYzAgMjMuMiAxMSA0My44IDI4IDU3Yy0zNC4xIDUuNy02MCAzNS4zLTYwIDcxYzAgMzkuOCAzMi4yIDcyIDcyIDcybDM2OCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcyYzAtMzUuNy0yNS45LTY1LjMtNjAtNzFjMTctMTMuMiAyOC0zMy44IDI4LTU3YzAtMzkuOC0zMi4yLTcyLTcyLTcybC0xMy43IDBjMTMuMy0xMS43IDIxLjctMjguOSAyMS43LTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC01LjUgMGMzLjUtMTAgNS41LTIwLjggNS41LTMyYzAtNDguNi0zNi4yLTg4LjgtODMuMS05NS4xek0xOTIgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptNjQgMTA4LjNjMCAyLjQtLjcgNC44LTIuMiA2LjdjLTguMiAxMC41LTM5LjUgNDUtOTMuOCA0NXMtODUuNi0zNC42LTkzLjgtNDVjLTEuNS0xLjktMi4yLTQuMy0yLjItNi43YzAtNi44IDUuNS0xMi4zIDEyLjMtMTIuM2wxNjcuNCAwYzYuOCAwIDEyLjMgNS41IDEyLjMgMTIuM3pcIl1cbn07XG5jb25zdCBmYVF1b3RlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncXVvdGUtcmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MjIxLCBcInF1b3RlLXJpZ2h0LWFsdFwiXSwgXCJmMTBlXCIsIFwiTTQ0OCAyOTZjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4IDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZsMC04LTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyIDAgMzIgMCA3MnptLTI1NiAwYzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC04IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMiAwIDMyIDAgNzJ6XCJdXG59O1xuY29uc3QgZmFRdW90ZVJpZ2h0QWx0ID0gZmFRdW90ZVJpZ2h0O1xuY29uc3QgZmFTaGlydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGlydCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODA4NSwgXCJ0LXNoaXJ0XCIsIFwidHNoaXJ0XCJdLCBcImY1NTNcIiwgXCJNMjExLjggMGM3LjggMCAxNC4zIDUuNyAxNi43IDEzLjJDMjQwLjggNTEuOSAyNzcuMSA4MCAzMjAgODBzNzkuMi0yOC4xIDkxLjUtNjYuOEM0MTMuOSA1LjcgNDIwLjQgMCA0MjguMiAwbDEyLjYgMGMyMi41IDAgNDQuMiA3LjkgNjEuNSAyMi4zTDYyOC41IDEyNy40YzYuNiA1LjUgMTAuNyAxMy41IDExLjQgMjIuMXMtMi4xIDE3LjEtNy44IDIzLjZsLTU2IDY0Yy0xMS40IDEzLjEtMzEuMiAxNC42LTQ0LjYgMy41TDQ4MCAxOTcuNyA0ODAgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xOTIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yNTAuMy01MS41IDQyLjljLTEzLjMgMTEuMS0zMy4xIDkuNi00NC42LTMuNWwtNTYtNjRjLTUuNy02LjUtOC41LTE1LTcuOC0yMy42czQuOC0xNi42IDExLjQtMjIuMUwxMzcuNyAyMi4zQzE1NSA3LjkgMTc2LjcgMCAxOTkuMiAwbDEyLjYgMHpcIl1cbn07XG5jb25zdCBmYVRTaGlydCA9IGZhU2hpcnQ7XG5jb25zdCBmYVRzaGlydCA9IGZhU2hpcnQ7XG5jb25zdCBmYUN1YmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2N1YmVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMWIzXCIsIFwiTTI5MC44IDQ4LjZsNzguNCAyOS43TDI4OCAxMDkuNSAyMDYuOCA3OC4zbDc4LjQtMjkuN2MxLjgtLjcgMy44LS43IDUuNyAwek0xMzYgOTIuNWwwIDExMi4yYy0xLjMgLjQtMi42IC44LTMuOSAxLjNsLTk2IDM2LjRDMTQuNCAyNTAuNiAwIDI3MS41IDAgMjk0LjdMMCA0MTMuOWMwIDIyLjIgMTMuMSA0Mi4zIDMzLjUgNTEuM2w5NiA0Mi4yYzE0LjQgNi4zIDMwLjcgNi4zIDQ1LjEgMEwyODggNDU3LjVsMTEzLjUgNDkuOWMxNC40IDYuMyAzMC43IDYuMyA0NS4xIDBsOTYtNDIuMmMyMC4zLTguOSAzMy41LTI5LjEgMzMuNS01MS4zbDAtMTE5LjFjMC0yMy4zLTE0LjQtNDQuMS0zNi4xLTUyLjRsLTk2LTM2LjRjLTEuMy0uNS0yLjYtLjktMy45LTEuM2wwLTExMi4yYzAtMjMuMy0xNC40LTQ0LjEtMzYuMS01Mi40bC05Ni0zNi40Yy0xMi44LTQuOC0yNi45LTQuOC0zOS43IDBsLTk2IDM2LjRDMTUwLjQgNDguNCAxMzYgNjkuMyAxMzYgOTIuNXpNMzkyIDIxMC42bC04Mi40IDMxLjIgMC04OS4yTDM5MiAxMjFsMCA4OS42ek0xNTQuOCAyNTAuOWw3OC40IDI5LjdMMTUyIDMxMS43IDcwLjggMjgwLjZsNzguNC0yOS43YzEuOC0uNyAzLjgtLjcgNS43IDB6bTE4LjggMjA0LjRsMC0xMDAuNUwyNTYgMzIzLjJsMCA5NS45LTgyLjQgMzYuMnpNNDIxLjIgMjUwLjljMS44LS43IDMuOC0uNyA1LjcgMGw3OC40IDI5LjdMNDI0IDMxMS43bC04MS4yLTMxLjEgNzguNC0yOS43ek01MjMuMiA0MjEuMmwtNzcuNiAzNC4xIDAtMTAwLjVMNTI4IDMyMy4ybDAgOTAuN2MwIDMuMi0xLjkgNi00LjggNy4zelwiXVxufTtcbmNvbnN0IGZhRGl2aWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpdmlkZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwMTM1LCAyNDddLCBcImY1MjlcIiwgXCJNMjcyIDk2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTAgMzIwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQwMCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNDggMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM1MiAwelwiXVxufTtcbmNvbnN0IGZhVGVuZ2VTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbmdlLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs4Mzc2LCBcInRlbmdlXCJdLCBcImY3ZDdcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek0wIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNjAgMCAxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDAgMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjRMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpcIl1cbn07XG5jb25zdCBmYVRlbmdlID0gZmFUZW5nZVNpZ247XG5jb25zdCBmYUhlYWRwaG9uZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZHBob25lcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkxMV0sIFwiZjAyNVwiLCBcIk0yNTYgODBDMTQ5LjkgODAgNjIuNCAxNTkuNCA0OS42IDI2MmM5LjQtMy44IDE5LjYtNiAzMC40LTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTYgMC00OCAwLTQ4QzAgMTQ2LjYgMTE0LjYgMzIgMjU2IDMyczI1NiAxMTQuNiAyNTYgMjU2bDAgNDggMCA0OCAwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTEyOGMwLTI2LjUgMjEuNS00OCA0OC00OGMxMC44IDAgMjEgMi4xIDMwLjQgNkM0NDkuNiAxNTkuNCAzNjIuMSA4MCAyNTYgODB6XCJdXG59O1xuY29uc3QgZmFIYW5kc0hvbGRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtaG9sZGluZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRjMlwiLCBcIk04MCAxMDRjMC0yMi4xLTE3LjktNDAtNDAtNDBTMCA4MS45IDAgMTA0bDAgNTYgMCA2NEwwIDMyNS41YzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45TDEyOCA0OTMuM2MxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43bDY2LjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTc4LjljMC0yOS43LTExLjgtNTguMi0zMi44LTc5LjJsLTI1LjMtMjUuM2MwIDAgMCAwIDAgMGwtMTUuMi0xNS4yLTMyLTMyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wzMiAzMiAxNS4yIDE1LjJjMTEgMTEgOS4yIDI5LjItMy43IDM3LjhjLTkuNyA2LjUtMjIuNyA1LjItMzEtMy4xTDk4LjcgMzA5LjVjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjNMODAgMjI0bDAtODAgMC00MHptNDgwIDBsMCA0MCAwIDgwIDAgNDAuMmMwIDE3LTYuNyAzMy4zLTE4LjcgNDUuM2wtNTEuMSA1MS4xYy04LjMgOC4zLTIxLjMgOS42LTMxIDMuMWMtMTIuOS04LjYtMTQuNy0yNi45LTMuNy0zNy44bDE1LjItMTUuMiAzMi0zMmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMzIgMzItMTUuMiAxNS4yYzAgMCAwIDAgMCAwbC0yNS4zIDI1LjNjLTIxIDIxLTMyLjggNDkuNS0zMi44IDc5LjJsMCA3OC45YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY2LjcgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2w5OS45LTk5LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOUw2NDAgMjI0bDAtNjQgMC01NmMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MHpcIl1cbn07XG5jb25zdCBmYUhhbmRzQ2xhcHBpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtY2xhcHBpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUxYThcIiwgXCJNMzM2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em0tOTguNyA3LjFsMzIgNDhjNC45IDcuNCAyLjkgMTcuMy00LjQgMjIuMnMtMTcuMyAyLjktMjIuMi00LjRsLTMyLTQ4Yy00LjktNy40LTIuOS0xNy4zIDQuNC0yMi4yczE3LjMtMi45IDIyLjIgNC40ek0xMzUgMTE5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDI5Mi43IDI0Mi43YzEwLjEgMTAuMSAyNy4zIDIuOSAyNy4zLTExLjNsMC0zOS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNTMuNmMwIDU3LjEtMzAgMTEwLTc4LjkgMTM5LjRjLTY0IDM4LjQtMTQ1LjggMjguMy0xOTguNS0yNC40TDcgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTMgNTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMMjMgMjY1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsOTMgOTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMNTUgMTg1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMTE3IDExN2M2LjEgNi4xIDE2IDYuMSAyMi4xIDBzNi4xLTE2IDAtMjIuMWwtOTMtOTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45ek00MzMuMSA0ODQuOWMtMjQuMiAxNC41LTUwLjkgMjIuMS03Ny43IDIzLjFjNDguMS0zOS42IDc2LjYtOTkgNzYuNi0xNjIuNGwwLTk4LjFjOC4yLS4xIDE2LTYuNCAxNi0xNmwwLTM5LjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE1My42YzAgNTcuMS0zMCAxMTAtNzguOSAxMzkuNHpNNDI0LjkgMTguN2M3LjQgNC45IDkuMyAxNC44IDQuNCAyMi4ybC0zMiA0OGMtNC45IDcuNC0xNC44IDkuMy0yMi4yIDQuNHMtOS4zLTE0LjgtNC40LTIyLjJsMzItNDhjNC45LTcuNCAxNC44LTkuMyAyMi4yLTQuNHpcIl1cbn07XG5jb25zdCBmYVJlcHVibGljYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVwdWJsaWNhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjc1ZVwiLCBcIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMybDIyNCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgNjRMMCAyNTZsMC02NHptNDE1LjktNjRjLTIuNCAwLTQuNyAxLjMtNS43IDMuNGwtMTIuNiAyNC42LTI4LjIgNGMtMi40IC4zLTQuNCAyLTUuMiA0LjJzLS4xIDQuNyAxLjYgNi4zbDIwLjQgMTkuMi00LjggMjcuMWMtLjQgMi4zIC42IDQuNyAyLjUgNnM0LjYgMS42IDYuNyAuNWwyNS4yLTEyLjggMjUuMiAxMi44YzIuMiAxLjEgNC44IC45IDYuNy0uNXMzLTMuNyAyLjUtNmwtNC44LTI3LjFMNDY2IDE3MC41YzEuNy0xLjYgMi40LTQuMSAxLjYtNi4zcy0yLjgtMy45LTUuMi00LjJsLTI4LjItNC0xMi42LTI0LjZjLTEuMS0yLjEtMy4zLTMuNC01LjctMy40em0tMTM4LjMgMy40Yy0xLjEtMi4xLTMuMy0zLjQtNS43LTMuNHMtNC43IDEuMy01LjcgMy40bC0xMi42IDI0LjYtMjguMiA0Yy0yLjQgLjMtNC40IDItNS4yIDQuMnMtLjEgNC43IDEuNiA2LjNsMjAuNCAxOS4yLTQuOCAyNy4xYy0uNCAyLjMgLjYgNC43IDIuNSA2czQuNiAxLjYgNi43IC41bDI1LjItMTIuOCAyNS4yIDEyLjhjMi4yIDEuMSA0LjggLjkgNi43LS41czMtMy43IDIuNS02bC00LjgtMjcuMUwzMjIgMTcwLjVjMS43LTEuNiAyLjQtNC4xIDEuNi02LjNzLTIuOC0zLjktNS4yLTQuMmwtMjguMi00LTEyLjYtMjQuNnpNMTI3LjkgMTI4Yy0yLjQgMC00LjcgMS4zLTUuNyAzLjRsLTEyLjYgMjQuNi0yOC4yIDRjLTIuNCAuMy00LjQgMi01LjIgNC4ycy0uMSA0LjcgMS42IDYuM2wyMC40IDE5LjItNC44IDI3LjFjLS40IDIuMyAuNiA0LjcgMi41IDZzNC42IDEuNiA2LjcgLjVsMjUuMi0xMi44IDI1LjIgMTIuOGMyLjIgMS4xIDQuOCAuOSA2LjctLjVzMy0zLjcgMi41LTZsLTQuOC0yNy4xTDE3OCAxNzAuNWMxLjctMS42IDIuNC00LjEgMS42LTYuM3MtMi44LTMuOS01LjItNC4ybC0yOC4yLTQtMTIuNi0yNC42Yy0xLjEtMi4xLTMuMy0zLjQtNS43LTMuNHptLjEgMTYwbDE5MiAwIDk2IDAgMzIgMCA2NCAwIDMyIDAgMCAzMiAwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBsMC00OC0zMiAwIDAgMzIgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NC0xOTIgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0IDAtOTYgMTI4IDB6XCJdXG59O1xuY29uc3QgZmFBcnJvd0xlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctbGVmdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg1OTJdLCBcImYwNjBcIiwgXCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjIgMjg4IDQxNiAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMwNi43IDBMMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6XCJdXG59O1xuY29uc3QgZmFQZXJzb25DaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQzXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjMuMUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmwyOS43IDBjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45IDIzMiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNNDMyIDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMEw0MzIgMzQ1LjRsLTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw0MDkuNCAzNjhsLTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDQzMiAzOTAuNmwzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42TDQ1NC42IDM2OGwzNi43LTM2Ljd6XCJdXG59O1xuY29uc3QgZmFSdWxlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIwN10sIFwiZjU0NVwiLCBcIk0xNzcuOSA0OTQuMWMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBMMTcuOSA0MDEuOWMtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlsNTAuNy01MC43IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNTAuNy01MC43YzE4LjctMTguNyA0OS4xLTE4LjcgNjcuOSAwbDkyLjEgOTIuMWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUwxNzcuOSA0OTQuMXpcIl1cbn07XG5jb25zdCBmYUFsaWduTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbGlnbi1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDM2XCIsIFwiTTI4OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFEaWNlRDYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1kNicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjZkMVwiLCBcIk0yMDEgMTAuM2MxNC4zLTcuOCAzMS42LTcuOCA0NiAwTDQyMi4zIDEwNmM1LjEgMi44IDguMyA4LjIgOC4zIDE0cy0zLjIgMTEuMi04LjMgMTRMMjMxLjcgMjM4Yy00LjggMi42LTEwLjUgMi42LTE1LjMgMEwyNS43IDEzNGMtNS4xLTIuOC04LjMtOC4yLTguMy0xNHMzLjItMTEuMiA4LjMtMTRMMjAxIDEwLjN6TTIzLjcgMTcwbDE3NiA5NmM1LjEgMi44IDguMyA4LjIgOC4zIDE0bDAgMjE2YzAgNS42LTMgMTAuOS03LjggMTMuOHMtMTAuOSAzLTE1LjggLjNMMjUgNDIzLjFDOS42IDQxNC43IDAgMzk4LjYgMCAzODFMMCAxODRjMC01LjYgMy0xMC45IDcuOC0xMy44czEwLjktMyAxNS44LS4zem00MDAuNyAwYzUtMi43IDExLTIuNiAxNS44IC4zczcuOCA4LjEgNy44IDEzLjhsMCAxOTdjMCAxNy42LTkuNiAzMy43LTI1IDQyLjFMMjYzLjcgNTEwYy01IDIuNy0xMSAyLjYtMTUuOC0uM3MtNy44LTguMS03LjgtMTMuOGwwLTIxNmMwLTUuOSAzLjItMTEuMiA4LjMtMTRsMTc2LTk2elwiXVxufTtcbmNvbnN0IGZhUmVzdHJvb20gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVzdHJvb20nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3YmRcIiwgXCJNODAgNDhhNDggNDggMCAxIDEgOTYgMEE0OCA0OCAwIDEgMSA4MCA0OHptNDAgMzA0bDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTU0LjhjLTguMSA5LjItMjEuMSAxMy4yLTMzLjUgOS40Yy0xNi45LTUuMy0yNi4zLTIzLjItMjEtNDAuMWwzMC45LTk5LjFDNDQuOSAxNTUuMyA4MiAxMjggMTI0IDEyOGw4IDBjNDIgMCA3OS4xIDI3LjMgOTEuNiA2Ny40bDMwLjkgOTkuMWM1LjMgMTYuOS00LjEgMzQuOC0yMSA0MC4xYy0xMi40IDMuOS0yNS40LS4yLTMzLjUtOS40TDIwMCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNMzIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0NjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00NjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQ2NCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek00NDAgNDgwbDAtOTYtMTcuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw5LTI2LjljLTMuMiAwLTYuNC0uNS05LjUtMS41Yy0xNi45LTUuMy0yNi4zLTIzLjItMjEtNDAuMWwyOS43LTk1LjJDNDI4LjQgMTU2LjkgNDY3LjYgMTI4IDUxMiAxMjhzODMuNiAyOC45IDk2LjggNzEuMmwyOS43IDk1LjJjNS4zIDE2LjktNC4xIDM0LjgtMjEgNDAuMWMtMy4yIDEtNi40IDEuNS05LjUgMS41bDkgMjYuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFMNTg0IDM4NGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhSiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTA2XSwgXCI0YVwiLCBcIk0yODggMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMGwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhVXNlcnNWaWV3ZmluZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLXZpZXdmaW5kZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTVcIiwgXCJNNDggNDhsODggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwzMiAwQzE0LjMgMCAwIDE0LjMgMCAzMkwwIDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODh6TTE3NS44IDIyNGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS0yNi41IDMyQzExOS45IDI1NiA5NiAyNzkuOSA5NiAzMDkuM2MwIDE0LjcgMTEuOSAyNi43IDI2LjcgMjYuN2w1Ni4xIDBjOC0zNC4xIDMyLjgtNjEuNyA2NS4yLTczLjZjLTcuNS00LjEtMTYuMi02LjQtMjUuMy02LjRsLTY5LjMgMHptMzY4IDgwYzE0LjcgMCAyNi43LTExLjkgMjYuNy0yNi43YzAtMjkuNS0yMy45LTUzLjMtNTMuMy01My4zbC02OS4zIDBjLTkuMiAwLTE3LjggMi4zLTI1LjMgNi40YzMyLjQgMTEuOSA1Ny4yIDM5LjUgNjUuMiA3My42bDU2LjEgMHptLTg5LjQgMGMtOC42LTI0LjMtMjkuOS00Mi42LTU1LjktNDdjLTMuOS0uNy03LjktMS0xMi0xbC04MCAwYy00LjEgMC04LjEgLjMtMTIgMWMtMjYgNC40LTQ3LjMgMjIuNy01NS45IDQ3Yy0yLjcgNy41LTQuMSAxNS42LTQuMSAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGMwLTguNC0xLjQtMTYuNS00LjEtMjR6TTQ2NCAyMjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tODAtMzJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek01MDQgNDhsODggMCAwIDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDRjMC0xNy43LTE0LjMtMzItMzItMzJMNTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6TTQ4IDQ2NGwwLTg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0TDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04OCAwem00NTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDg4LTg4IDB6XCJdXG59O1xuY29uc3QgZmFGaWxlVmlkZW8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS12aWRlbycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjFjOFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTY0IDI4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZ6TTMwMC45IDM5Ny45TDI1NiAzNjhsMC02NCA0NC45LTI5LjljMi0xLjMgNC40LTIuMSA2LjgtMi4xYzYuOCAwIDEyLjMgNS41IDEyLjMgMTIuM2wwIDEwMy40YzAgNi44LTUuNSAxMi4zLTEyLjMgMTIuM2MtMi40IDAtNC44LS43LTYuOC0yLjF6XCJdXG59O1xuY29uc3QgZmFVcFJpZ2h0RnJvbVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cC1yaWdodC1mcm9tLXNxdWFyZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXh0ZXJuYWwtbGluay1hbHRcIl0sIFwiZjM1ZFwiLCBcIk0zNTIgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlMMzcwLjcgOTYgMjAxLjQgMjY1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMNDE2IDE0MS4zbDQxLjQgNDEuNGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42bDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDM1MiAwek04MCAzMkMzNS44IDMyIDAgNjcuOCAwIDExMkwwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMjAgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTExMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZMODAgNDQ4Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMjBjMC04LjggNy4yLTE2IDE2LTE2bDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDMyelwiXVxufTtcbmNvbnN0IGZhRXh0ZXJuYWxMaW5rQWx0ID0gZmFVcFJpZ2h0RnJvbVNxdWFyZTtcbmNvbnN0IGZhVGFibGVDZWxscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1jZWxscycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGhcIl0sIFwiZjAwYVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem04OCA2NGwwIDY0LTg4IDAgMC02NCA4OCAwem01NiAwbDg4IDAgMCA2NC04OCAwIDAtNjR6bTI0MCAwbDAgNjQtODggMCAwLTY0IDg4IDB6TTY0IDIyNGw4OCAwIDAgNjQtODggMCAwLTY0em0yMzIgMGwwIDY0LTg4IDAgMC02NCA4OCAwem02NCAwbDg4IDAgMCA2NC04OCAwIDAtNjR6TTE1MiAzNTJsMCA2NC04OCAwIDAtNjQgODggMHptNTYgMGw4OCAwIDAgNjQtODggMCAwLTY0em0yNDAgMGwwIDY0LTg4IDAgMC02NCA4OCAwelwiXVxufTtcbmNvbnN0IGZhVGggPSBmYVRhYmxlQ2VsbHM7XG5jb25zdCBmYUZpbGVQZGYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1wZGYnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxYzFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjI0IDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAxNDQtMjA4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMTQ0LTQ4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNMTc2IDM1MmwzMiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2cy0yNS4xIDU2LTU2IDU2bC0xNiAwIDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OCAwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnptMzIgODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2IDAgMCA0OCAxNiAwem05Ni04MGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTEyOGMwLTguOCA3LjItMTYgMTYtMTZ6bTMyIDEyOGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTE2IDAgMCA5NiAxNiAwem04MC0xMTJjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDAgMCAzMiAzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NCAwLTY0elwiXVxufTtcbmNvbnN0IGZhQm9va0JpYmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stYmlibGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImJpYmxlXCJdLCBcImY2NDdcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDI4OCAwIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02NGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzODQgMCA5NiAwem0wIDM4NGwyNTYgMCAwIDY0TDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpNMjA4IDgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgMTEyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTEyLTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0OCAwIDAtNDh6XCJdXG59O1xuY29uc3QgZmFCaWJsZSA9IGZhQm9va0JpYmxlO1xuY29uc3QgZmFPID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ28nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMTFdLCBcIjRmXCIsIFwiTTIyNCA5NmExNjAgMTYwIDAgMSAwIDAgMzIwIDE2MCAxNjAgMCAxIDAgMC0zMjB6TTQ0OCAyNTZBMjI0IDIyNCAwIDEgMSAwIDI1NmEyMjQgMjI0IDAgMSAxIDQ0OCAwelwiXVxufTtcbmNvbnN0IGZhU3VpdGNhc2VNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1aXRjYXNlLW1lZGljYWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIm1lZGtpdFwiXSwgXCJmMGZhXCIsIFwiTTE4NCA0OGwxNDQgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MEwxNzYgOTZsMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDAgMCAzMiAwIDM1MiAyNTYgMCAwLTM1MiAwLTMyIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMTg0IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek05NiA5Nkw2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMEw5NiA5NnpNNDE2IDQ4MGwzMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAgMzg0ek0yMjQgMjA4YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhTWVka2l0ID0gZmFTdWl0Y2FzZU1lZGljYWw7XG5jb25zdCBmYVVzZXJTZWNyZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1zZWNyZXQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgzNzNdLCBcImYyMWJcIiwgXCJNMjI0IDE2Yy02LjcgMC0xMC44LTIuOC0xNS41LTYuMUMyMDEuOSA1LjQgMTk0IDAgMTc2IDBjLTMwLjUgMC01MiA0My43LTY2IDg5LjRDNjIuNyA5OC4xIDMyIDExMi4yIDMyIDEyOGMwIDE0LjMgMjUgMjcuMSA2NC42IDM1LjljLS40IDQtLjYgOC0uNiAxMi4xYzAgMTcgMy4zIDMzLjIgOS4zIDQ4bC01OS45IDBDMzggMjI0IDMyIDIzMCAzMiAyMzcuNGMwIDEuNyAuMyAzLjQgMSA1bDM4LjggOTYuOUMyOC4yIDM3MS44IDAgNDIzLjggMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEybDM4OC42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjdjMC01OC41LTI4LjItMTEwLjQtNzEuNy0xNDNMNDE1IDI0Mi40Yy42LTEuNiAxLTMuMyAxLTVjMC03LjQtNi0xMy40LTEzLjQtMTMuNGwtNTkuOSAwYzYtMTQuOCA5LjMtMzEgOS4zLTQ4YzAtNC4xLS4yLTguMS0uNi0xMi4xQzM5MSAxNTUuMSA0MTYgMTQyLjMgNDE2IDEyOGMwLTE1LjgtMzAuNy0yOS45LTc4LTM4LjZDMzI0IDQzLjcgMzAyLjUgMCAyNzIgMGMtMTggMC0yNS45IDUuNC0zMi41IDkuOWMtNC44IDMuMy04LjggNi4xLTE1LjUgNi4xem01NiAyMDhsLTEyLjQgMGMtMTYuNSAwLTMxLjEtMTAuNi0zNi4zLTI2LjJjLTIuMy03LTEyLjItNy0xNC41IDBjLTUuMiAxNS42LTE5LjkgMjYuMi0zNi4zIDI2LjJMMTY4IDIyNGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xNC40YzI4LjIgNC4xIDYxIDYuNCA5NiA2LjRzNjcuOC0yLjMgOTYtNi40bDAgMTQuNGMwIDIyLjEtMTcuOSA0MC00MCA0MHptLTg4IDk2bDE2IDMyTDE3NiA0ODAgMTI4IDI4OGw2NCAzMnptMTI4LTMyTDI3MiA0ODAgMjQwIDM1MmwxNi0zMiA2NC0zMnpcIl1cbn07XG5jb25zdCBmYU90dGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ290dGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NDQ2XSwgXCJmNzAwXCIsIFwiTTE4MS41IDE5Ny4xbDEyLjkgNi40YzUuOSAzIDEyLjQgNC41IDE5LjEgNC41YzIzLjUgMCA0Mi42LTE5LjEgNDIuNi00Mi42bDAtMjEuNGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMS40YzAgMjMuNSAxOS4xIDQyLjYgNDIuNiA0Mi42YzYuNiAwIDEzLjEtMS41IDE5LjEtNC41bDEyLjktNi40IDguNC00LjJMMTM1LjEgMTg1Yy00LjUtMy03LjEtOC03LjEtMTMuM2wwLTMuN2MwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMy43YzAgNS4zLTIuNyAxMC4zLTcuMSAxMy4zbC0xMS44IDcuOSA4LjQgNC4yem0tOC42IDQ5LjRMMTYwIDI0MGwtMTIuOSA2LjRjLTEyLjYgNi4zLTI2LjUgOS42LTQwLjUgOS42Yy0zLjYgMC03LjEtLjItMTAuNi0uNmwwIC42YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMTYwIDAgMC00OCAwLTE2YzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGM5LjQtNS40IDIwLjMtOC42IDMyLTguNmwwLTE2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyIDAgMTYgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTkuN2MwLTQ4LjItMzAuOC05MS03Ni42LTEwNi4zbC04LjUtMi44Yy04LTIuNy0xMi42LTExLjEtMTAuNC0xOS4zczEwLjMtMTMuMiAxOC42LTExLjZsMTkuOSA0QzU3NiA4Ni4xIDY0MCAxNjQuMiA2NDAgMjU0LjlsMCAxLjFzMCAwIDAgMGMwIDEyMy43LTEwMC4zIDIyNC0yMjQgMjI0bC0xLjEgMEwyNTYgNDgwbC0uNiAwQzEzMiA0ODAgMzIgMzgwIDMyIDI1Ni42bDAtLjYgMC0zOS4yYy0xMC4xLTE0LjYtMTYtMzIuMy0xNi01MS40TDE2IDE0NGwwLTEuNEM2LjcgMTM5LjMgMCAxMzAuNSAwIDEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwyLjggMEM0NC44IDU4LjIgODMuMyAzMiAxMjggMzJsNjQgMGM0NC43IDAgODMuMiAyNi4yIDEwMS4yIDY0bDIuOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0YzAgMTAuNS02LjcgMTkuMy0xNiAyMi42bDAgMS40IDAgMjEuNGMwIDEuNCAwIDIuOC0uMSA0LjNjMTItNi4yIDI1LjctOS42IDQwLjEtOS42bDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDggNTYuNCAwYy0xNS4yIDE3LTI0LjQgMzkuNC0yNC40IDY0bC0zMiAwYy00Mi4zIDAtNzguMi0yNy40LTkxLTY1LjNjLTUuMSAuOS0xMC4zIDEuMy0xNS42IDEuM2MtMTQuMSAwLTI3LjktMy4zLTQwLjUtOS42ek05NiAxMjhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem0xMTIgMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkRyZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1kcmVzcycsXG4gIGljb246IFszMjAsIDUxMiwgW1wiZmVtYWxlXCJdLCBcImYxODJcIiwgXCJNMTYwIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek04OCAzODRsLTE3LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFMOTMuMyAyNDguMSA1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTMuNi04OS4yYzIwLjMtMzMuNyA1Ni43LTU0LjMgOTYtNTQuM2wxMS42IDBjMzkuMyAwIDc1LjcgMjAuNiA5NiA1NC4zbDUzLjYgODkuMmM5LjEgMTUuMSA0LjIgMzQuOC0xMC45IDQzLjlzLTM0LjggNC4yLTQzLjktMTAuOWwtMzMuOS01Ni4zTDI2NSAzNjIuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFMMjMyIDM4NGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZ6XCJdXG59O1xuY29uc3QgZmFGZW1hbGUgPSBmYVBlcnNvbkRyZXNzO1xuY29uc3QgZmFDb21tZW50RG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbW1lbnQtZG9sbGFyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjUxXCIsIFwiTTI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMlMwIDEyNS4xIDAgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjNjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOXptMjAtMzEybDAgMTMuOWM3LjUgMS4yIDE0LjYgMi45IDIxLjEgNC43YzEwLjcgMi44IDE3IDEzLjggMTQuMiAyNC41cy0xMy44IDE3LTI0LjUgMTQuMmMtMTEtMi45LTIxLjYtNS0zMS4yLTUuMmMtNy45LS4xLTE2IDEuOC0yMS41IDVjLTQuOCAyLjgtNi4yIDUuNi02LjIgOS4zYzAgMS44IC4xIDMuNSA1LjMgNi43YzYuMyAzLjggMTUuNSA2LjcgMjguMyAxMC41bC43IC4yYzExLjIgMy40IDI1LjYgNy43IDM3LjEgMTVjMTIuOSA4LjEgMjQuMyAyMS4zIDI0LjYgNDEuNmMuMyAyMC45LTEwLjUgMzYuMS0yNC44IDQ1Yy03LjIgNC41LTE1LjIgNy4zLTIzLjIgOWwwIDEzLjhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMTQuNmMtMTAuMy0yLjItMjAtNS41LTI4LjItOC40YzAgMCAwIDAgMCAwczAgMCAwIDBjLTIuMS0uNy00LjEtMS40LTYuMS0yLjFjLTEwLjUtMy41LTE2LjEtMTQuOC0xMi42LTI1LjNzMTQuOC0xNi4xIDI1LjMtMTIuNmMyLjUgLjggNC45IDEuNyA3LjIgMi40YzAgMCAwIDAgMCAwYzEzLjYgNC42IDI0IDguMSAzNS4xIDguNWM4LjYgLjMgMTYuNS0xLjYgMjEuNC00LjdjNC4xLTIuNSA2LTUuNSA1LjktMTAuNWMwLTIuOS0uOC01LTUuOS04LjJjLTYuMy00LTE1LjQtNi45LTI4LTEwLjdsLTEuNy0uNWMtMTAuOS0zLjMtMjQuNi03LjQtMzUuNi0xNGMtMTIuNy03LjctMjQuNi0yMC41LTI0LjctNDAuN2MtLjEtMjEuMSAxMS44LTM1LjcgMjUuOC00My45YzYuOS00LjEgMTQuNS02LjggMjIuMi04LjVsMC0xNGMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMHpcIl1cbn07XG5jb25zdCBmYUJ1c2luZXNzVGltZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidXNpbmVzcy10aW1lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJicmllZmNhc2UtY2xvY2tcIl0sIFwiZjY0YVwiLCBcIk0xODQgNDhsMTQ0IDBjNC40IDAgOCAzLjYgOCA4bDAgNDBMMTc2IDk2bDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwTDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MGwwIDk2IDE5MiAwIDE2MCAwIDguMiAwYzMyLjMtMzkuMSA4MS4xLTY0IDEzNS44LTY0YzUuNCAwIDEwLjcgLjIgMTYgLjdsMC0zMi43YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMTg0IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek0zMjAgMzUybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyTDAgMjg4IDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI5Ni4yIDBDMzM1LjEgNDQ5LjYgMzIwIDQxMC41IDMyMCAzNjhjMC01LjQgLjItMTAuNyAuNy0xNmwtLjcgMHptMzIwIDE2YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTQ5NiAyODhjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhQnJpZWZjYXNlQ2xvY2sgPSBmYUJ1c2luZXNzVGltZTtcbmNvbnN0IGZhVGFibGVDZWxsc0xhcmdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLWNlbGxzLWxhcmdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0aC1sYXJnZVwiXSwgXCJmMDA5XCIsIFwiTTQ0OCA5NmwwIDEyOC0xNjAgMCAwLTEyOCAxNjAgMHptMCAxOTJsMCAxMjgtMTYwIDAgMC0xMjggMTYwIDB6TTIyNCAyMjRMNjQgMjI0IDY0IDk2bDE2MCAwIDAgMTI4ek02NCAyODhsMTYwIDAgMCAxMjhMNjQgNDE2bDAtMTI4ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyelwiXVxufTtcbmNvbnN0IGZhVGhMYXJnZSA9IGZhVGFibGVDZWxsc0xhcmdlO1xuY29uc3QgZmFCb29rVGFuYWtoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stdGFuYWtoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0YW5ha2hcIl0sIFwiZjgyN1wiLCBcIk0zNTIgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzIwYzAgNTMtNDMgOTYtOTYgOTZMNjQgNTEybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDY0IDAgMzUyIDB6bTAgMzg0TDk2IDM4NGwwIDY0IDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyek0xMzguNyAyMDhsMTMuOSAyNC0yNy43IDAgMTMuOS0yNHptLTEzLjktMjRMOTcuMSAyMzJjLTYuMiAxMC43IDEuNSAyNCAxMy45IDI0bDU1LjQgMCAyNy43IDQ4YzYuMiAxMC43IDIxLjYgMTAuNyAyNy43IDBsMjcuNy00OCA1NS40IDBjMTIuMyAwIDIwLTEzLjMgMTMuOS0yNGwtMjcuNy00OCAyNy43LTQ4YzYuMi0xMC43LTEuNS0yNC0xMy45LTI0bC01NS40IDBMMjIxLjkgNjRjLTYuMi0xMC43LTIxLjYtMTAuNy0yNy43IDBsLTI3LjcgNDhMMTExIDExMmMtMTIuMyAwLTIwIDEzLjMtMTMuOSAyNGwyNy43IDQ4em0yNy43IDBsMjcuNy00OCA1NS40IDAgMjcuNyA0OC0yNy43IDQ4LTU1LjQgMC0yNy43LTQ4em0wLTQ4bC0xMy45IDI0LTEzLjktMjQgMjcuNyAwem00MS42LTI0TDIwOCA4OGwxMy45IDI0LTI3LjcgMHptNjkuMyAyNGwyNy43IDAtMTMuOSAyNC0xMy45LTI0em0xMy45IDcybDEzLjkgMjQtMjcuNyAwIDEzLjktMjR6bS01NS40IDQ4TDIwOCAyODBsLTEzLjktMjQgMjcuNyAwelwiXVxufTtcbmNvbnN0IGZhVGFuYWtoID0gZmFCb29rVGFuYWtoO1xuY29uc3QgZmFQaG9uZVZvbHVtZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaG9uZS12b2x1bWUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInZvbHVtZS1jb250cm9sLXBob25lXCJdLCBcImYyYTBcIiwgXCJNMjgwIDBDNDA4LjEgMCA1MTIgMTAzLjkgNTEyIDIzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTEwMS42LTgyLjQtMTg0LTE4NC0xODRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptLTMyLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0Yzc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDguNi0zOS40LTg4LTg4LTg4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMTE3LjUgMS40YzE5LjQtNS4zIDM5LjcgNC42IDQ3LjQgMjMuMmw0MCA5NmM2LjggMTYuMyAyLjEgMzUuMi0xMS42IDQ2LjNMMTQ0IDIwNy4zYzMzLjMgNzAuNCA5MC4zIDEyNy40IDE2MC43IDE2MC43TDM0NSAzMTguN2MxMS4yLTEzLjcgMzAtMTguNCA0Ni4zLTExLjZsOTYgNDBjMTguNiA3LjcgMjguNSAyOCAyMy4yIDQ3LjRsLTI0IDg4QzQ4MS44IDQ5OS45IDQ2NiA1MTIgNDQ4IDUxMkMyMDAuNiA1MTIgMCAzMTEuNCAwIDY0QzAgNDYgMTIuMSAzMC4yIDI5LjUgMjUuNGw4OC0yNHpcIl1cbn07XG5jb25zdCBmYVZvbHVtZUNvbnRyb2xQaG9uZSA9IGZhUGhvbmVWb2x1bWU7XG5jb25zdCBmYUhhdENvd2JveVNpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGF0LWNvd2JveS1zaWRlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmOGMxXCIsIFwiTTE1Mi43IDEzNS45bC0xMC40IDU3LjJjNi44LS43IDEzLjYtMS4xIDIwLjUtMS4xbDEwLjcgMGMzOS40IDAgNzcuOCAxMi4xIDExMC4xIDM0LjdMNTYyLjQgNDIxLjhsMzUuMSAyNC42YzI0LjQtNiA0Mi41LTI4LjEgNDIuNS01NC40YzAtNzUuOC05NC43LTEyNi42LTEzNC42LTE0NC43TDQ3NCA4My45QzQ2OC4yIDUzLjggNDQxLjggMzIgNDExLjEgMzJsLTIuNyAwYy01LjYgMC0xMS4xIC43LTE2LjUgMi4yTDE5OS4yIDg1LjVjLTIzLjkgNi40LTQyIDI2LTQ2LjUgNTAuNHpNMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDgwIDBMMjY1LjMgMjUyLjljLTI2LjktMTguOC01OC45LTI4LjktOTEuOC0yOC45bC0xMC43IDBjLTYwLjYgMC0xMTYgMzQuMi0xNDMuMSA4OC40TDEzLjUgMzI1QzQuNiAzNDIuNyAwIDM2Mi4zIDAgMzgyLjJMMCAzODR6XCJdXG59O1xuY29uc3QgZmFDbGlwYm9hcmRVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC11c2VyJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmN2YzXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTM3LjUgMEMyNjkuNCAyNi43IDIzMy44IDAgMTkyIDB6bTAgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0xMjggMjU2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNODAgNDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQ0OGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbmNvbnN0IGZhQ2hpbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImYxYWVcIiwgXCJNOTYgNjRhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgOTYgNjR6bTQ4IDMyMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTkyLjJMNTkuMSAzMjFjLTkuNCAxNS0yOS4yIDE5LjQtNDQuMSAxMFMtNC41IDMwMS45IDQuOSAyODdsMzkuOS02My4zQzY5LjcgMTg0IDExMy4yIDE2MCAxNjAgMTYwczkwLjMgMjQgMTE1LjIgNjMuNkwzMTUuMSAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBMMjQwIDI4Ny44IDI0MCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAwelwiXVxufTtcbmNvbnN0IGZhTGlyYVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlyYS1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbODM1Nl0sIFwiZjE5NVwiLCBcIk0xMTIgMTYwLjRjMC0zNS41IDI4LjgtNjQuNCA2NC40LTY0LjRjNi45IDAgMTMuOCAxLjEgMjAuNCAzLjNsODEuMiAyNy4xYzE2LjggNS42IDM0LjktMy41IDQwLjUtMjAuMnMtMy41LTM0LjktMjAuMi00MC41TDIxNyAzOC42Yy0xMy4xLTQuNC0yNi44LTYuNi00MC42LTYuNkMxMDUuNSAzMiA0OCA4OS41IDQ4IDE2MC40TDQ4IDE5MmwtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwIDAgMzItMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNCAwYy0yLjIgMTAuNS02LjEgMjAuNi0xMS43IDI5LjlMNC42IDQzMS41Yy01LjkgOS45LTYuMSAyMi4yLS40IDMyLjJTMjAuNSA0ODAgMzIgNDgwbDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDg4LjUgNDE2bC43LTEuMWMxMS42LTE5LjMgMTguOS00MC43IDIxLjYtNjIuOUwyMjQgMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMTIgMCAwLTMyIDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMTIgMCAwLTMxLjZ6XCJdXG59O1xuY29uc3QgZmFTYXRlbGxpdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2F0ZWxsaXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NzUyXSwgXCJmN2JmXCIsIFwiTTIzMyA3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtOTYgOTZjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDg5LjQgODkuNC0xNS41IDE1LjVDMTUyLjMgMjMwLjQgMTI0LjkgMjI0IDk2IDIyNGMtMzEuNyAwLTYxLjUgNy43LTg3LjggMjEuMmMtOSA0LjctMTAuMyAxNi43LTMuMSAyMy44TDExMi43IDM3Ni43IDk2LjMgMzkzLjFjLTIuNi0uNy01LjQtMS4xLTguMy0xLjFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTIuOS0uNC01LjYtMS4xLTguM2wxNi40LTE2LjRMMjQyLjkgNTA2LjljNy4yIDcuMiAxOS4yIDUuOSAyMy44LTMuMUMyODAuMyA0NzcuNSAyODggNDQ3LjcgMjg4IDQxNmMwLTI4LjktNi40LTU2LjMtMTcuOC04MC45bDE1LjUtMTUuNUwzNzUgNDA5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDk2LTk2YzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC04OS40LTg5LjQgNTUtNTVjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTQ4LTQ4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNTUgNTVMMjMzIDd6bTE1OSAzNTFsLTcyLjQtNzIuNCA2Mi4xLTYyLjFMNDU0LjEgMjk2IDM5MiAzNTguMXpNMjI2LjMgMTkyLjRMMTUzLjkgMTIwIDIxNiA1Ny45bDcyLjQgNzIuNC02Mi4xIDYyLjF6XCJdXG59O1xuY29uc3QgZmFQbGFuZUxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1OFwiLCBcIk0xOTIgOTMuN0MxOTIgNTkuNSAyMjEgMCAyNTYgMGMzNiAwIDY0IDU5LjUgNjQgOTMuN2wwIDg0LjYgMTAxLjggNTguMkM0MTggMjQ3LjYgNDE2IDI1OS42IDQxNiAyNzJsMCAyNC42Yy0xNy45IDEwLjQtMzAuMyAyOS4xLTMxLjggNTAuOUwzMjAgMzI5LjFsMCA3MC45IDU3LjYgNDMuMmM0IDMgNi40IDcuOCA2LjQgMTIuOGwwIDI0IDAgMThjMCA3LjgtNi4zIDE0LTE0IDE0Yy0xLjMgMC0yLjYtLjItMy45LS41TDI1NiA0ODAgMTQ1LjkgNTExLjVjLTEuMyAuNC0yLjYgLjUtMy45IC41Yy03LjggMC0xNC02LjMtMTQtMTRsMC00MmMwLTUgMi40LTkuOCA2LjQtMTIuOEwxOTIgNDAwbDAtNzAuOS0xNzEuNiA0OUMxMC4yIDM4MS4xIDAgMzczLjQgMCAzNjIuOGwwLTY1LjVjMC01LjcgMy4xLTExIDguMS0xMy45TDE5MiAxNzguM2wwLTg0LjZ6TTUyOCAyNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tODAgMzJjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMC00OHpcIl1cbn07XG5jb25zdCBmYVRhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc5OTFdLCBcImYwMmJcIiwgXCJNMCA4MEwwIDIyOS41YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDE3NiAxNzZjMjUgMjUgNjUuNSAyNSA5MC41IDBMNDE4LjcgMzE3LjNjMjUtMjUgMjUtNjUuNSAwLTkwLjVsLTE3Ni0xNzZjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MHptMTEyIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUNvbW1lbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODQ4OSwgNjE2NjldLCBcImYwNzVcIiwgXCJNNTEyIDI0MGMwIDExNC45LTExNC42IDIwOC0yNTYgMjA4Yy0zNy4xIDAtNzIuMy02LjQtMTA0LjEtMTcuOWMtMTEuOSA4LjctMzEuMyAyMC42LTU0LjMgMzAuNkM3My42IDQ3MS4xIDQ0LjcgNDgwIDE2IDQ4MGMtNi41IDAtMTIuMy0zLjktMTQuOC05LjljLTIuNS02LTEuMS0xMi44IDMuNC0xNy40YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMy0uM2MuMy0uMyAuNy0uNyAxLjMtMS40YzEuMS0xLjIgMi44LTMuMSA0LjktNS43YzQuMS01IDkuNi0xMi40IDE1LjItMjEuNmMxMC0xNi42IDE5LjUtMzguNCAyMS40LTYyLjlDMTcuNyAzMjYuOCAwIDI4NS4xIDAgMjQwQzAgMTI1LjEgMTE0LjYgMzIgMjU2IDMyczI1NiA5My4xIDI1NiAyMDh6XCJdXG59O1xuY29uc3QgZmFDYWtlQ2FuZGxlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWtlLWNhbmRsZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc4NzQsIFwiYmlydGhkYXktY2FrZVwiLCBcImNha2VcIl0sIFwiZjFmZFwiLCBcIk04Ni40IDUuNUw2MS44IDQ3LjZDNTggNTQuMSA1NiA2MS42IDU2IDY5LjJMNTYgNzJjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTIuOGMwLTcuNi0yLTE1LTUuOC0yMS42TDEwNS42IDUuNUMxMDMuNiAyLjEgMTAwIDAgOTYgMHMtNy42IDIuMS05LjYgNS41em0xMjggMEwxODkuOCA0Ny42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNmwwIDIuOGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMjMzLjYgNS41QzIzMS42IDIuMSAyMjggMCAyMjQgMHMtNy42IDIuMS05LjYgNS41ek0zMTcuOCA0Ny42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNmwwIDIuOGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMzYxLjYgNS41QzM1OS42IDIuMSAzNTYgMCAzNTIgMHMtNy42IDIuMS05LjYgNS41TDMxNy44IDQ3LjZ6TTEyOCAxNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA3MWM4LjMgNS4yIDE4LjEgOSAyOC44IDljMTMuNSAwIDI3LjItNi4xIDM4LjQtMTMuNGM1LjQtMy41IDkuOS03LjEgMTMtOS43YzEuNS0xLjMgMi43LTIuNCAzLjUtMy4xYy40LS40IC43LS42IC44LS44bC4xLS4xczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMy4xLTMuMiA3LjQtNC45IDExLjktNC44czguNiAyLjEgMTEuNiA1LjRjMCAwIDAgMCAwIDBzMCAwIDAgMGwuMSAuMWMuMSAuMSAuNCAuNCAuNyAuN2MuNyAuNyAxLjcgMS43IDMuMSAzYzIuOCAyLjYgNi44IDYuMSAxMS44IDkuNWMxMC4yIDcuMSAyMyAxMy4xIDM2LjMgMTMuMXMyNi4xLTYgMzYuMy0xMy4xYzUtMy41IDktNi45IDExLjgtOS41YzEuNC0xLjMgMi40LTIuMyAzLjEtM2MuMy0uMyAuNi0uNiAuNy0uN2wuMS0uMWMzLTMuNSA3LjQtNS40IDEyLTUuNHM5IDIgMTIgNS40bC4xIC4xYy4xIC4xIC40IC40IC43IC43Yy43IC43IDEuNyAxLjcgMy4xIDNjMi44IDIuNiA2LjggNi4xIDExLjggOS41YzEwLjIgNy4xIDIzIDEzLjEgMzYuMyAxMy4xczI2LjEtNiAzNi4zLTEzLjFjNS0zLjUgOS02LjkgMTEuOC05LjVjMS40LTEuMyAyLjQtMi4zIDMuMS0zYy4zLS4zIC42LS42IC43LS43bC4xLS4xYzIuOS0zLjQgNy4xLTUuMyAxMS42LTUuNHM4LjcgMS42IDExLjkgNC44YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGwuMSAuMWMuMiAuMiAuNCAuNCAuOCAuOGMuOCAuNyAxLjkgMS44IDMuNSAzLjFjMy4xIDIuNiA3LjUgNi4yIDEzIDkuN2MxMS4yIDcuMyAyNC45IDEzLjQgMzguNCAxMy40YzEwLjcgMCAyMC41LTMuOSAyOC44LTlsMC03MWMwLTM1LjMtMjguNy02NC02NC02NGwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDgtNjQgMCAwLTQ4ek00NDggMzk0LjZjLTguNSAzLjMtMTguMiA1LjQtMjguOCA1LjRjLTIyLjUgMC00Mi40LTkuOS01NS44LTE4LjZjLTQuMS0yLjctNy44LTUuNC0xMC45LTcuOGMtMi44IDIuNC02LjEgNS05LjggNy41QzMyOS44IDM5MCAzMTAuNiA0MDAgMjg4IDQwMHMtNDEuOC0xMC01NC42LTE4LjljLTMuNS0yLjQtNi43LTQuOS05LjQtNy4yYy0yLjcgMi4zLTUuOSA0LjctOS40IDcuMkMyMDEuOCAzOTAgMTgyLjYgNDAwIDE2MCA0MDBzLTQxLjgtMTAtNTQuNi0xOC45Yy0zLjctMi42LTctNS4yLTkuOC03LjVjLTMuMSAyLjQtNi44IDUuMS0xMC45IDcuOEM3MS4yIDM5MC4xIDUxLjMgNDAwIDI4LjggNDAwYy0xMC42IDAtMjAuMy0yLjItMjguOC01LjRMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC04NS40elwiXVxufTtcbmNvbnN0IGZhQmlydGhkYXlDYWtlID0gZmFDYWtlQ2FuZGxlcztcbmNvbnN0IGZhQ2FrZSA9IGZhQ2FrZUNhbmRsZXM7XG5jb25zdCBmYUVudmVsb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Mzg2LCA5OTkzLCA2MTQ0M10sIFwiZjBlMFwiLCBcIk00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMmMwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40TDIzNi44IDMxMy42YzExLjQgOC41IDI3IDguNSAzOC40IDBMNDkyLjggMTUwLjRjMTIuMS05LjEgMTkuMi0yMy4zIDE5LjItMzguNGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCA2NHpNMCAxNzZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMDhMMjk0LjQgMzM5LjJjLTIyLjggMTcuMS01NCAxNy4xLTc2LjggMEwwIDE3NnpcIl1cbn07XG5jb25zdCBmYUFuZ2xlc1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuZ2xlcy11cCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYW5nbGUtZG91YmxlLXVwXCJdLCBcImYxMDJcIiwgXCJNMjQ2LjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMjI0IDEwOS4zIDM2MS40IDI0Ni42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6bTE2MCAzNTJsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDIyNCAzMDEuMyAzNjEuNCA0MzguNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zelwiXVxufTtcbmNvbnN0IGZhQW5nbGVEb3VibGVVcCA9IGZhQW5nbGVzVXA7XG5jb25zdCBmYVBhcGVyY2xpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYXBlcmNsaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyMDZdLCBcImYwYzZcIiwgXCJNMzY0LjIgODMuOGMtMjQuNC0yNC40LTY0LTI0LjQtODguNCAwbC0xODQgMTg0Yy00Mi4xIDQyLjEtNDIuMSAxMTAuMyAwIDE1Mi40czExMC4zIDQyLjEgMTUyLjQgMGwxNTItMTUyYzEwLjktMTAuOSAyOC43LTEwLjkgMzkuNiAwczEwLjkgMjguNyAwIDM5LjZsLTE1MiAxNTJjLTY0IDY0LTE2Ny42IDY0LTIzMS42IDBzLTY0LTE2Ny42IDAtMjMxLjZsMTg0LTE4NGM0Ni4zLTQ2LjMgMTIxLjMtNDYuMyAxNjcuNiAwczQ2LjMgMTIxLjMgMCAxNjcuNmwtMTc2IDE3NmMtMjguNiAyOC42LTc1IDI4LjYtMTAzLjYgMHMtMjguNi03NSAwLTEwMy42bDE0NC0xNDRjMTAuOS0xMC45IDI4LjctMTAuOSAzOS42IDBzMTAuOSAyOC43IDAgMzkuNmwtMTQ0IDE0NGMtNi43IDYuNy02LjcgMTcuNyAwIDI0LjRzMTcuNyA2LjcgMjQuNCAwbDE3Ni0xNzZjMjQuNC0yNC40IDI0LjQtNjQgMC04OC40elwiXVxufTtcbmNvbnN0IGZhQXJyb3dSaWdodFRvQ2l0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC10by1jaXR5JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGIzXCIsIFwiTTI4OCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTQ0IDQwIDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNzIgMjQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIyNGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYwIDAtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC00MTZ6bTY0IDMybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTM1MiAyNzJsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTc2LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTUxMiAzNjhsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTY2LjYgMTUzLjRsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxNDYuNyAyODggMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDExNC43IDAtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwelwiXVxufTtcbmNvbnN0IGZhUmliYm9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpYmJvbicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzg5NV0sIFwiZjRkNlwiLCBcIk0zMzMuMiAzMjIuOHMwIDAgMCAwbC0xMzMuOS0xNDZzMCAwIDAgMEwxNDYgMTE4LjZjNy44LTUuMSAzNy0yMi42IDc4LTIyLjZzNzAuMiAxNy40IDc4IDIyLjZMMjQ1LjcgMTgwbDg1LjYgOTMuNCAyNy40LTI5LjhjMTYuMy0xNy43IDI1LjMtNDAuOSAyNS4zLTY1bDAtMjkuNWMwLTE5LTUuNi0zNy41LTE2LjEtNTMuM0wzMjcuOCAzNS42QzMxMi45IDEzLjQgMjg3LjkgMCAyNjEuMiAwbC03NiAwYy0yNS44IDAtNTAuMSAxMi41LTY1LjEgMzMuNUw4MS45IDg3QzcwLjMgMTAzLjIgNjQgMTIyLjggNjQgMTQyLjhMNjQgMTY0YzAgMjMuMiA4LjQgNDUuNiAyMy42IDYzLjFsNTYgNjQuMnMwIDAgMCAwbDgzLjMgOTUuNnMwIDAgMCAwbDkxLjggMTA1LjNjMTAgMTEuNSAyNi44IDE0LjMgNDAgNi44bDU0LjUtMzEuMWMxNy44LTEwLjIgMjEuNi0zNC4zIDcuNy00OS40bC04Ny43LTk1Ljd6TTIwNS4yIDQxMC42bC04My4zLTk1LjZMMjcuMSA0MTguNWMtMTMuOSAxNS4xLTEwLjEgMzkuMiA3LjcgNDkuNGw1NS4xIDMxLjVjMTMgNy40IDI5LjMgNC45IDM5LjQtNi4xbDc1LjktODIuNnpcIl1cbn07XG5jb25zdCBmYUx1bmdzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2x1bmdzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NzI5XSwgXCJmNjA0XCIsIFwiTTMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTMyLjFjMCAxNi40IDguNCAzMS43IDIyLjIgNDAuNWw5LjggNi4yIDAtNDUuNUMzODQgMTI3IDQxNSA5NiA0NTMuMyA5NmMyMS43IDAgNDIuOCAxMC4yIDU1LjggMjguOGMxNS40IDIyLjEgNDQuMyA2NS40IDcxIDExNi45YzI2LjUgNTAuOSA1Mi40IDExMi41IDU5LjYgMTcwLjNjLjIgMS4zIC4yIDIuNiAuMiA0bDAgN2MwIDQ5LjEtMzkuOCA4OS04OSA4OWMtNy4zIDAtMTQuNS0uOS0yMS42LTIuN2wtNzIuNy0xOC4yQzQxNCA0ODAuNSAzODQgNDQyLjEgMzg0IDM5OGwwLTczIDkwLjUgNTcuNmM3LjUgNC43IDE3LjMgMi41IDIyLjEtNC45czIuNS0xNy4zLTQuOS0yMi4xTDM4NCAyODcuMWwwLS40LTQ0LjEtMjguMWMtNy4zLTQuNi0xMy45LTEwLjEtMTkuOS0xNi4xYy01LjkgNi0xMi42IDExLjUtMTkuOSAxNi4xTDI1NiAyODYuNyAxNjEuMiAzNDdsLTEzLjUgOC42YzAgMCAwIDAtLjEgMGMtNy40IDQuOC05LjYgMTQuNi00LjggMjIuMWM0LjcgNy41IDE0LjYgOS43IDIyLjEgNC45bDkxLjEtNTggMCA3My40YzAgNDQuMS0zMCA4Mi41LTcyLjcgOTMuMWwtNzIuNyAxOC4yYy03LjEgMS44LTE0LjMgMi43LTIxLjYgMi43Yy00OS4xIDAtODktMzkuOC04OS04OWwwLTdjMC0xLjMgLjEtMi43IC4yLTRjNy4yLTU3LjkgMzMuMS0xMTkuNCA1OS42LTE3MC4zYzI2LjgtNTEuNSA1NS42LTk0LjggNzEtMTE2LjljMTMtMTguNiAzNC0yOC44IDU1LjgtMjguOEMyMjUgOTYgMjU2IDEyNyAyNTYgMTY1LjNsMCA0NS41IDkuOC02LjJjMTMuOC04LjggMjIuMi0yNC4xIDIyLjItNDAuNUwyODggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFBcnJvd1VwOTEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtOS0xJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtdXAtYWx0XCJdLCBcImY4ODdcIiwgXCJNMTYwIDMyYzkgMCAxNy41IDMuOCAyMy42IDEwLjRsODggOTZjMTEuOSAxMyAxMS4xIDMzLjMtMiA0NS4ycy0zMy4zIDExLjEtNDUuMi0yTDE5MiAxNDYuMyAxOTIgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzAxLjdMOTUuNiAxODEuNmMtMTEuOSAxMy0zMi4yIDEzLjktNDUuMiAycy0xMy45LTMyLjItMi00NS4ybDg4LTk2QzE0Mi41IDM1LjggMTUxIDMyIDE2MCAzMnpNNDUwLjcgMjk0YzguMyA2IDEzLjMgMTUuNyAxMy4zIDI2bDAgOTYgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNDggMC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC01MS42LTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6bS01LTE0NS4xQTMyIDMyIDAgMSAwIDQxOC4zIDkxYTMyIDMyIDAgMSAwIDI3LjQgNTcuOXptLTQwLjcgNTQuOUMzNjkuNiAxOTIuNCAzNDQgMTU5LjIgMzQ0IDEyMGMwLTQ4LjYgMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgMjMuNS03LjUgNDYuMy0yMS41IDY1LjJMNDQ5LjcgMjUxYy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi43cy0xNy4yLTMwLjYtNi43LTQ0LjhsNi44LTkuMnpcIl1cbn07XG5jb25zdCBmYVNvcnROdW1lcmljVXBBbHQgPSBmYUFycm93VXA5MTtcbmNvbnN0IGZhTGl0ZWNvaW5TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpdGVjb2luLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZDNcIiwgXCJNMTI4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDQ2LjMgNjQgNjRsMCAxNDkuNkwyMy4yIDIyNS4yYy0xNyA0LjktMjYuOCAyMi42LTIyIDM5LjZzMjIuNiAyNi44IDM5LjYgMjJMNjQgMjgwLjEgNjQgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMjQgMCAwLTE1NC4xIDEzNi44LTM5LjFjMTctNC45IDI2LjgtMjIuNiAyMi0zOS42cy0yMi42LTI2LjgtMzkuNi0yMkwxMjggMTk1LjMgMTI4IDY0elwiXVxufTtcbmNvbnN0IGZhQm9yZGVyTm9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3JkZXItbm9uZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjg1MFwiLCBcIk0zMiA0ODBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em05Ni02NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAtMzg0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMCAyNTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek0zMjAgNDE2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMC0zMjBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wIDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTIyNCA0ODBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wLTQ0OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAgMjU2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpNNDE2IDQxNmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAtMzg0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIgOTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek00MTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIgMjg4YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMTkyIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTkyIDY0YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpNMzIgMzIwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNNDE2IDE5MmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6TTMyIDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTE5MiA2NGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVOb2RlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbm9kZXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZTJcIiwgXCJNNDE4LjQgMTU3LjljMzUuMy04LjMgNjEuNi00MCA2MS42LTc3LjljMC00NC4yLTM1LjgtODAtODAtODBjLTQzLjQgMC03OC43IDM0LjUtODAgNzcuNUwxMzYuMiAxNTEuMUMxMjEuNyAxMzYuOCAxMDEuOSAxMjggODAgMTI4Yy00NC4yIDAtODAgMzUuOC04MCA4MHMzNS44IDgwIDgwIDgwYzEyLjIgMCAyMy44LTIuNyAzNC4xLTcuNkwyNTkuNyA0MDcuOGMtMi40IDcuNi0zLjcgMTUuOC0zLjcgMjQuMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMjcuNy0xNC01Mi4xLTM1LjQtNjYuNGwzNy44LTIwNy43ek0xNTYuMyAyMzIuMmMyLjItNi45IDMuNS0xNC4yIDMuNy0yMS43bDE4My44LTczLjVjMy42IDMuNSA3LjQgNi43IDExLjYgOS41TDMxNy42IDM1NC4xYy01LjUgMS4zLTEwLjggMy4xLTE1LjggNS41TDE1Ni4zIDIzMi4yelwiXVxufTtcbmNvbnN0IGZhUGFyYWNodXRlQm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhcmFjaHV0ZS1ib3gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0Y2RcIiwgXCJNMzgzLjUgMTkyYy4zLTUuMyAuNS0xMC42IC41LTE2YzAtNTEtMTUuOS05Ni00MC4yLTEyNy42QzMxOS41IDE2LjkgMjg4LjIgMCAyNTYgMHMtNjMuNSAxNi45LTg3LjggNDguNEMxNDMuOSA4MCAxMjggMTI1IDEyOCAxNzZjMCA1LjQgLjIgMTAuNyAuNSAxNkwyNDAgMTkybDAgMTI4LTMyIDBjLTcgMC0xMy43IDEuNS0xOS43IDQuMkw2OC4yIDE5MmwyOC4zIDBjLS4zLTUuMy0uNS0xMC42LS41LTE2YzAtNjQgMjIuMi0xMjEuMiA1Ny4xLTE1OS4zQzYyIDQ5LjMgMTguNiAxMjIuNiA0LjIgMTczLjZDMS41IDE4My4xIDkgMTkyIDE4LjkgMTkybDYgMEwxNjUuMiAzNDYuM2MtMy4zIDYuNS01LjIgMTMuOS01LjIgMjEuN2wwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTcuOC0xLjktMTUuMi01LjItMjEuN0w0ODcuMSAxOTJsNiAwYzkuOSAwIDE3LjQtOC45IDE0LjctMTguNEM0OTMuNCAxMjIuNiA0NTAgNDkuMyAzNTguOSAxNi43QzM5My44IDU0LjggNDE2IDExMi4xIDQxNiAxNzZjMCA1LjQtLjIgMTAuNy0uNSAxNmwyOC4zIDBMMzIzLjcgMzI0LjJjLTYtMi43LTEyLjctNC4yLTE5LjctNC4ybC0zMiAwIDAtMTI4IDExMS41IDB6XCJdXG59O1xuY29uc3QgZmFJbmRlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5kZW50JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDNjXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMTkyIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA5NmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TTAgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTEyNy44IDI2OC42TDI1LjggMzQ3LjlDMTUuMyAzNTYuMSAwIDM0OC42IDAgMzM1LjNMMCAxNzYuN2MwLTEzLjMgMTUuMy0yMC44IDI1LjgtMTIuNmwxMDEuOSA3OS4zYzguMiA2LjQgOC4yIDE4LjkgMCAyNS4zelwiXVxufTtcbmNvbnN0IGZhVHJ1Y2tGaWVsZFVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZpZWxkLXVuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNThlXCIsIFwiTTk2IDMyQzYwLjcgMzIgMzIgNjAuNyAzMiA5NmwwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDEyOCAwYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00LjIgMGMtLjQtMS4xLS45LTIuMS0xLjMtMy4yTDQ4NS43IDEwMmMtMTAuMy0yMy4xLTMzLjItMzgtNTguNS0zOGwtNTEuOCAwQzM2NC40IDQ0LjkgMzQzLjcgMzIgMzIwIDMyTDk2IDMyem0yODggOTZsNDMuMiAwIDQyLjcgOTZMMzg0IDIyNGwwLTk2ek0xMTIgMzg0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM2OC00OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTI1My4zIDEzNS4xbDM0LjcgNTIgMC00My4yYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyIDAgNDMuMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTI4IDE0NGwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbmNvbnN0IGZhSG91cmdsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXJnbGFzcycsXG4gIGljb246IFszODQsIDUxMiwgWzkyMDMsIDYyMDMyLCBcImhvdXJnbGFzcy1lbXB0eVwiXSwgXCJmMjU0XCIsIFwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDY0IDAgMzIwIDBsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDExYzAgNDIuNC0xNi45IDgzLjEtNDYuOSAxMTMuMUwyMzcuMyAyNTZsNjcuOSA2Ny45YzMwIDMwIDQ2LjkgNzAuNyA0Ni45IDExMy4xbDAgMTFjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBMNjQgNTEybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtMTFjMC00Mi40IDE2LjktODMuMSA0Ni45LTExMy4xTDE0Ni43IDI1NiA3OC45IDE4OC4xQzQ4LjkgMTU4LjEgMzIgMTE3LjQgMzIgNzVsMC0xMUMxNC4zIDY0IDAgNDkuNyAwIDMyek05NiA2NGwwIDExYzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45TDE5MiAyMTAuN2w2Ny45LTY3LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOWwwLTExTDk2IDY0em0wIDM4NGwxOTIgMCAwLTExYzAtMjUuNS0xMC4xLTQ5LjktMjguMS02Ny45TDE5MiAzMDEuM2wtNjcuOSA2Ny45Yy0xOCAxOC0yOC4xIDQyLjQtMjguMSA2Ny45bDAgMTF6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3NFbXB0eSA9IGZhSG91cmdsYXNzO1xuY29uc3QgZmFNb3VudGFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3VudGFpbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk1Nl0sIFwiZjZmY1wiLCBcIk0yNTYgMzJjMTIuNSAwIDI0LjEgNi40IDMwLjggMTdMNTAzLjQgMzk0LjRjNS42IDguOSA4LjYgMTkuMiA4LjYgMjkuN2MwIDMwLjktMjUgNTUuOS01NS45IDU1LjlMNTUuOSA0ODBDMjUgNDgwIDAgNDU1IDAgNDI0LjFjMC0xMC41IDMtMjAuOCA4LjYtMjkuN0wyMjUuMiA0OWM2LjYtMTAuNiAxOC4zLTE3IDMwLjgtMTd6bTY1IDE5MkwyNTYgMTIwLjQgMTc2LjkgMjQ2LjVsMTguMyAyNC40YzYuNCA4LjUgMTkuMiA4LjUgMjUuNiAwbDI1LjYtMzQuMWM2LTguMSAxNS41LTEyLjggMjUuNi0xMi44bDQ5IDB6XCJdXG59O1xuY29uc3QgZmFVc2VyRG9jdG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItZG9jdG9yJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ1c2VyLW1kXCJdLCBcImYwZjBcIiwgXCJNMjI0IDI1NkExMjggMTI4IDAgMSAwIDIyNCAwYTEyOCAxMjggMCAxIDAgMCAyNTZ6bS05NiA1NS4yQzU0IDMzMi45IDAgNDAxLjMgMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEybDM4OC42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjdjMC04MS01NC0xNDkuNC0xMjgtMTcxLjFsMCA1MC44YzI3LjYgNy4xIDQ4IDMyLjIgNDggNjJsMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MGMwLTI5LjggMjAuNC01NC45IDQ4LTYybDAtNTcuMWMtNi0uNi0xMi4xLS45LTE4LjMtLjlsLTkxLjQgMGMtNi4yIDAtMTIuMyAuMy0xOC4zIC45bDAgNjUuNGMyMy4xIDYuOSA0MCAyOC4zIDQwIDUzLjdjMCAzMC45LTI1LjEgNTYtNTYgNTZzLTU2LTI1LjEtNTYtNTZjMC0yNS40IDE2LjktNDYuOCA0MC01My43bDAtNTkuMXpNMTQ0IDQ0OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFVc2VyTWQgPSBmYVVzZXJEb2N0b3I7XG5jb25zdCBmYUNpcmNsZUluZm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWluZm8nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImluZm8tY2lyY2xlXCJdLCBcImYwNWFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIxNiAzMzZsMjQgMCAwLTY0LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDg4IDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptNDAtMjA4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUluZm9DaXJjbGUgPSBmYUNpcmNsZUluZm87XG5jb25zdCBmYUNsb3VkTWVhdGJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtbWVhdGJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3M2JcIiwgXCJNMCAyMjRjMCA1MyA0MyA5NiA5NiA5Nmw0NC43IDBjOS41LTIzLjUgMzIuNS00MCA1OS4zLTQwYzIgMCAzLjkgLjEgNS44IC4zQzIxNy42IDI2NS41IDIzNS43IDI1NiAyNTYgMjU2czM4LjQgOS41IDUwLjIgMjQuM2MxLjktLjIgMy45LS4zIDUuOC0uM2MyNi45IDAgNDkuOSAxNi41IDU5LjMgNDBsNDQuNyAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2Yy0uNSAwLTEuMSAwLTEuNiAwYzEuMS01LjIgMS42LTEwLjUgMS42LTE2YzAtNDQuMi0zNS44LTgwLTgwLTgwYy0yNC4zIDAtNDYuMSAxMC45LTYwLjggMjhDMjU2LjUgMjQuMyAyMTkuMSAwIDE3NiAwQzExNC4xIDAgNjQgNTAuMSA2NCAxMTJjMCA3LjEgLjcgMTQuMSAxLjkgMjAuOEMyNy42IDE0NS40IDAgMTgxLjUgMCAyMjR6bTI4OCA5NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDEgLjEgMi4xIC4xIDMuMWMtLjctLjgtMS40LTEuNi0yLjEtMi4zYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2MuNyAuNyAxLjUgMS40IDIuMyAyLjFjLTEtLjEtMi4xLS4xLTMuMS0uMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmMxIDAgMi4xLS4xIDMuMS0uMWMtLjggLjctMS42IDEuMy0yLjMgMi4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwYy43LS43IDEuNC0xLjUgMi4xLTIuM2MtLjEgMS0uMSAyLjEtLjEgMy4xYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC0xLS4xLTIuMS0uMS0zLjFjLjcgLjggMS4zIDEuNiAyLjEgMi4zYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNjLS43LS43LTEuNS0xLjQtMi4zLTIuMWMxIC4xIDIuMSAuMSAzLjEgLjFjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJjLTEgMC0yLjEgLjEtMy4xIC4xYy44LS43IDEuNi0xLjMgMi4zLTIuMWMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGMtLjcgLjctMS40IDEuNS0yLjEgMi4zYy4xLTEgLjEtMi4xIC4xLTMuMXpNNDggNDQ4YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDE2IDBhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2elwiXVxufTtcbmNvbnN0IGZhQ2FtZXJhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbWVyYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMjU4LCBcImNhbWVyYS1hbHRcIl0sIFwiZjAzMFwiLCBcIk0xNDkuMSA2NC44TDEzOC43IDk2IDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtNzQuNyAwTDM2Mi45IDY0LjhDMzU2LjQgNDUuMiAzMzguMSAzMiAzMTcuNCAzMkwxOTQuNiAzMmMtMjAuNyAwLTM5IDEzLjItNDUuNSAzMi44ek0yNTYgMTkyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyelwiXVxufTtcbmNvbnN0IGZhQ2FtZXJhQWx0ID0gZmFDYW1lcmE7XG5jb25zdCBmYVNxdWFyZVZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS12aXJ1cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTU3OFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjMuOCA5My43YzEzLjMgMCAyNCAxMC43IDI0IDI0YzAgMjkuMyAzNS40IDQzLjkgNTYuMSAyMy4yYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtMjAuNyAyMC43LTYgNTYuMSAyMy4yIDU2LjFjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTI5LjMgMC00My45IDM1LjQtMjMuMiA1Ni4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTIwLjctMjAuNy01Ni4xLTYtNTYuMSAyMy4yYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMjkuMy0zNS40LTQzLjktNTYuMS0yMy4yYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45YzIwLjctMjAuNyA2LTU2LjEtMjMuMi01Ni4xYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzI5LjMgMCA0My45LTM1LjQgMjMuMi01Ni4xYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMjAuNyAyMC43IDU2LjEgNiA1Ni4xLTIzLjJjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTE5MiAyNTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em04OCAzMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwelwiXVxufTtcbmNvbnN0IGZhTWV0ZW9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21ldGVvcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3MzJdLCBcImY3NTNcIiwgXCJNNDkzLjcgLjlMMjk5LjQgNzUuNmwyLjMtMjkuM2MxLTEyLjgtMTIuOC0yMS41LTI0LTE1LjFMMTAxLjMgMTMzLjRDMzguNiAxNjkuNyAwIDIzNi42IDAgMzA5QzAgNDIxLjEgOTAuOSA1MTIgMjAzIDUxMmM3Mi40IDAgMTM5LjQtMzguNiAxNzUuNy0xMDEuM0w0ODAuOCAyMzQuM2M2LjUtMTEuMS0yLjItMjUtMTUuMS0yNGwtMjkuMyAyLjNMNTExLjEgMTguM2MuNi0xLjUgLjktMy4yIC45LTQuOEM1MTIgNiA1MDYgMCA0OTguNSAwYy0xLjcgMC0zLjMgLjMtNC44IC45ek0xOTIgMTkyYTEyOCAxMjggMCAxIDEgMCAyNTYgMTI4IDEyOCAwIDEgMSAwLTI1NnptMCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xNiA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6XCJdXG59O1xuY29uc3QgZmFDYXJPbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZGRcIiwgXCJNMjgwIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwek0xODUuOCAyMjRsMTQwLjMgMGM2LjggMCAxMi44IDQuMyAxNS4xIDEwLjZMMzYwLjMgMjg4bC0yMDguNiAwIDE5LjEtNTMuNGMyLjMtNi40IDguMy0xMC42IDE1LjEtMTAuNnptLTc1LjMtMTAuOUw4Mi4yIDI5Mi40QzYyLjEgMzAwLjkgNDggMzIwLjggNDggMzQ0bDAgNDAgMCA2NCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAyNTYgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAwLTY0IDAtNDBjMC0yMy4yLTE0LjEtNDMuMS0zNC4yLTUxLjZsLTI4LjMtNzkuM0MzOTAuMSAxODEuMyAzNjAgMTYwIDMyNi4yIDE2MGwtMTQwLjMgMGMtMzMuOCAwLTY0IDIxLjMtNzUuMyA1My4xek0xMjggMzQ0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMjMyIDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTM5IDM5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw0OCA0OGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNzMgMzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwem00MDAgMEwzOTEgODdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw0OC00OGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhU2xlaWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NsZWlnaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjdjY1wiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMCAxNjBjMCA1MyA0MyA5NiA5NiA5NmwwIDMyIDY0IDAgMC0zMiAxOTIgMCAwIDMyIDY0IDAgMC0zMmM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0MS4zYzAgMzAuMi0yNC41IDU0LjctNTQuNyA1NC43Yy03NS41IDAtMTQ1LjYtMzguOS0xODUuNi0xMDIuOWwtNC4zLTYuOUMxNzQuMiA2Ny42IDEyNSAzNy42IDcwLjcgMzIuN2MtMi4yLS41LTQuNC0uNy02LjctLjdsLTkgMEwzMiAzMnpNNjQwIDM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRMNjQgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDQ4OCAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4bDAtOHpcIl1cbn07XG5jb25zdCBmYUFycm93RG93bjE5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tMS05JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtYXNjXCIsIFwic29ydC1udW1lcmljLWRvd25cIl0sIFwiZjE2MlwiLCBcIk00NTAuNyAzOGMtOC4zLTYtMTkuMS03LjctMjguOC00LjRsLTQ4IDE2Yy0xNi44IDUuNi0yNS44IDIzLjctMjAuMiA0MC41czIzLjcgMjUuOCA0MC41IDIwLjJsNS45LTIgMCA1MS42LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNDggMCA0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6TTE2MCA0ODBjOSAwIDE3LjUtMy44IDIzLjYtMTAuNGw4OC05NmMxMS45LTEzIDExLjEtMzMuMy0yLTQ1LjJzLTMzLjMtMTEuMS00NS4yIDJMMTkyIDM2NS43IDE5MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMwMS43TDk1LjYgMzMwLjRjLTExLjktMTMtMzIuMi0xMy45LTQ1LjItMnMtMTMuOSAzMi4yLTIgNDUuMmw4OCA5NkMxNDIuNSA0NzYuMiAxNTEgNDgwIDE2MCA0ODB6TTQxOC4zIDMwN2EzMiAzMiAwIDEgMSAyNy40IDU3LjlBMzIgMzIgMCAxIDEgNDE4LjMgMzA3ek00MDUuMSA0MTkuOGwtNi44IDkuMmMtMTAuNSAxNC4yLTcuNSAzNC4yIDYuNyA0NC44czM0LjIgNy41IDQ0LjgtNi43bDQ4LjgtNjUuOGMxNC0xOC45IDIxLjUtNDEuNyAyMS41LTY1LjJjMC00OC42LTM5LjQtODgtODgtODhzLTg4IDM5LjQtODggODhjMCAzOS4yIDI1LjYgNzIuNCA2MS4xIDgzLjh6XCJdXG59O1xuY29uc3QgZmFTb3J0TnVtZXJpY0FzYyA9IGZhQXJyb3dEb3duMTk7XG5jb25zdCBmYVNvcnROdW1lcmljRG93biA9IGZhQXJyb3dEb3duMTk7XG5jb25zdCBmYUhhbmRIb2xkaW5nRHJvcGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctZHJvcGxldCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaGFuZC1ob2xkaW5nLXdhdGVyXCJdLCBcImY0YzFcIiwgXCJNMjc1LjUgNi42QzI3OC4zIDIuNSAyODMgMCAyODggMHM5LjcgMi41IDEyLjUgNi42TDM2Ni44IDEwM0MzNzggMTE5LjMgMzg0IDEzOC42IDM4NCAxNTguM2wwIDEuN2MwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwwLTEuN2MwLTE5LjggNi0zOSAxNy4yLTU1LjNMMjc1LjUgNi42ek01NjguMiAzMzYuM2MxMy4xIDE3LjggOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDg1LjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41TDE5MiA1MTIgMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM2LjggMCA0NC45LTM2YzIyLjctMTguMiA1MC45LTI4IDgwLTI4bDc4LjMgMCAxNiAwIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDAtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjAuNiAwIDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41ek0xOTMuNiAzODRjMCAwIDAgMCAwIDBsLS45IDBjLjMgMCAuNiAwIC45IDB6XCJdXG59O1xuY29uc3QgZmFIYW5kSG9sZGluZ1dhdGVyID0gZmFIYW5kSG9sZGluZ0Ryb3BsZXQ7XG5jb25zdCBmYVdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNzczXCIsIFwiTTI2OS41IDY5LjljMTEuMS03LjkgMjUuOS03LjkgMzcgMEMzMjkgODUuNCAzNTYuNSA5NiAzODQgOTZjMjYuOSAwIDU1LjQtMTAuOCA3Ny40LTI2LjFjMCAwIDAgMCAwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSAxNDkuNyA0MTcgMTYwIDM4NCAxNjBjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40QzQyLjggOTIuNiA2MSA4My41IDc1LjMgNzEuNmMxMS4xLTkuNSAyNy4zLTEwLjEgMzkuMi0xLjdjMCAwIDAgMCAwIDBDMTM2LjcgODUuMiAxNjUuMSA5NiAxOTIgOTZjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xem0zNyAyODhDMzI5IDM3My40IDM1Ni41IDM4NCAzODQgMzg0YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xYzAgMCAwIDAgMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNDM3LjcgNDE3IDQ0OCAzODQgNDQ4Yy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2MwIDAgMCAwIDAgMEMxMzYuNyAzNzMuMiAxNjUuMSAzODQgMTkyIDM4NGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHptMC0xNDRDMzI5IDIyOS40IDM1Ni41IDI0MCAzODQgMjQwYzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xYzAgMCAwIDAgMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgMjkzLjcgNDE3IDMwNCAzODQgMzA0Yy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS41IDI3LjMtMTAuMSAzOS4yLTEuN2MwIDAgMCAwIDAgMEMxMzYuNyAyMjkuMiAxNjUuMSAyNDAgMTkyIDI0MGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG5jb25zdCBmYUNhbGVuZGFyQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItY2hlY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYyNzRcIiwgXCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiA0OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDhMMCAxNjBsMC00OEMwIDg1LjUgMjEuNSA2NCA0OCA2NGw0OCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgMTkybDQ0OCAwIDAgMjcyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAxOTJ6TTMyOSAzMDVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtOTUgOTUtNDctNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNjQgNjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBMMzI5IDMwNXpcIl1cbn07XG5jb25zdCBmYUJyYWlsbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJhaWxsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjJhMVwiLCBcIk0wIDk2YTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDAgOTZ6TTIyNCAyNzJhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0wLTgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek04MCA0MTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpNMCA0MTZhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgMCA0MTZ6bTI0MCAwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjQgMTkyYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0yMjQgMzJhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTM1MiA5NmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSAzNTIgOTZ6bTI0MCAwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDUxMiA5NnptNjQgMTc2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptMC04MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptMTYgMjI0YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNDE2IDI3MmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTAtODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTE2IDIyNGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0tODAgMGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6XCJdXG59O1xuY29uc3QgZmFQcmVzY3JpcHRpb25Cb3R0bGVNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbCcsXG4gIGljb246IFszODQsIDUxMiwgW1wicHJlc2NyaXB0aW9uLWJvdHRsZS1hbHRcIl0sIFwiZjQ4NlwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRMMCAzMnptMzIgOTZsMzIwIDAgMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyMHpNMTYwIDI0MGwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYVByZXNjcmlwdGlvbkJvdHRsZUFsdCA9IGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbDtcbmNvbnN0IGZhTGFuZG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFuZG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5NjNdLCBcImY2NmZcIiwgXCJNMjQwLjEgNC4yYzkuOC01LjYgMjEuOS01LjYgMzEuOCAwbDE3MS44IDk4LjFMNDQ4IDEwNGwwIC45IDQ3LjkgMjcuNGMxMi42IDcuMiAxOC44IDIyIDE1LjEgMzZzLTE2LjQgMjMuOC0zMC45IDIzLjhMMzIgMTkyYy0xNC41IDAtMjcuMi05LjgtMzAuOS0yMy44czIuNS0yOC44IDE1LjEtMzZMNjQgMTA0LjlsMC0uOSA0LjQtMS42TDI0MC4xIDQuMnpNNjQgMjI0bDY0IDAgMCAxOTIgNDAgMCAwLTE5MiA2NCAwIDAgMTkyIDQ4IDAgMC0xOTIgNjQgMCAwIDE5MiA0MCAwIDAtMTkyIDY0IDAgMCAxOTYuM2MuNiAuMyAxLjIgLjcgMS44IDEuMWw0OCAzMmMxMS43IDcuOCAxNyAyMi40IDEyLjkgMzUuOVM0OTQuMSA1MTIgNDgwIDUxMkwzMiA1MTJjLTE0LjEgMC0yNi41LTkuMi0zMC42LTIyLjdzMS4xLTI4LjEgMTIuOS0zNS45bDQ4LTMyYy42LS40IDEuMi0uNyAxLjgtMS4xTDY0IDIyNHpcIl1cbn07XG5jb25zdCBmYVRydWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjY2LCA5OTUxXSwgXCJmMGQxXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgMzY4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2IDBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwxMjggMGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02NCAwLTMyIDAtMTguN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTE0LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMNDE2IDk2bDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNDE2IDE2MGw1MC43IDBMNTQ0IDIzNy4zbDAgMTguNy0xMjggMCAwLTk2ek0xMTIgNDE2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM2OC00OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFDcm9zc2hhaXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nyb3NzaGFpcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwNWJcIiwgXCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMC40YzkzLjcgMTMuOSAxNjcuNyA4OCAxODEuNiAxODEuNmwxMC40IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwLjQgMGMtMTMuOSA5My43LTg4IDE2Ny43LTE4MS42IDE4MS42bDAgMTAuNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEwLjRDMTMwLjMgNDU1LjcgNTYuMyAzODEuNyA0Mi40IDI4OEwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTAuNCAwQzU2LjMgMTMwLjMgMTMwLjMgNTYuMyAyMjQgNDIuNEwyMjQgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTEwNy40IDI4OGMxMi41IDU4LjMgNTguNCAxMDQuMSAxMTYuNiAxMTYuNmwwLTIwLjZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDIwLjZjNTguMy0xMi41IDEwNC4xLTU4LjQgMTE2LjYtMTE2LjZMMzg0IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMC42IDBDMzkyLjEgMTY1LjcgMzQ2LjMgMTE5LjkgMjg4IDEwNy40bDAgMjAuNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIwLjZDMTY1LjcgMTE5LjkgMTE5LjkgMTY1LjcgMTA3LjQgMjI0bDIwLjYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjAuNiAwek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkNhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNhbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1M2NcIiwgXCJNMjcyIDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bS04IDE4Ny4zbDQ3LjQgNTcuMWMxMS4zIDEzLjYgMzEuNSAxNS41IDQ1LjEgNC4yczE1LjUtMzEuNSA0LjItNDUuMWwtNzMuNy04OC45Yy0xOC4yLTIyLTQ1LjMtMzQuNy03My45LTM0LjdsLTM1LjkgMGMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMMTIwIDI1Ni45IDEyMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAxNiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNDQuN3pNMzUyIDM3NmMwLTQuNCAzLjYtOCA4LThzOCAzLjYgOCA4bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZsMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04elwiXVxufTtcbmNvbnN0IGZhVGVudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTdkXCIsIFwiTTI2OS40IDZDMjgwLjUtMiAyOTUuNS0yIDMwNi42IDZsMjI0IDE2MGM3LjQgNS4zIDEyLjIgMTMuNSAxMy4yIDIyLjVsMzIgMjg4YzEgOS0xLjkgMTguMS04IDI0LjlzLTE0LjcgMTAuNy0yMy44IDEwLjdsLTgwIDAtMjguMiAwYy0xMi4xIDAtMjMuMi02LjgtMjguNi0xNy43TDMwNi43IDI5My41Yy0xLjctMy40LTUuMS01LjUtOC44LTUuNWMtNS41IDAtOS45IDQuNC05LjkgOS45TDI4OCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2IDBMMzIgNTEyYy05LjEgMC0xNy44LTMuOS0yMy44LTEwLjdzLTktMTUuOC04LTI0LjlsMzItMjg4YzEtOSA1LjgtMTcuMiAxMy4yLTIyLjVMMjY5LjQgNnpcIl1cbn07XG5jb25zdCBmYVZlc3RQYXRjaGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Zlc3QtcGF0Y2hlcycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA4NlwiLCBcIk0xNTEuMiA2OS43bDU1LjkgMTY3LjctMTEgMzMuMWMtMi43IDguMi00LjEgMTYuNy00LjEgMjUuM0wxOTIgNDY0YzAgMTQuNSAzLjkgMjguMiAxMC43IDM5LjlDMTk1IDUwOSAxODUuOSA1MTIgMTc2IDUxMkw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMjcwLjVjMC05LjUgMi44LTE4LjcgOC4xLTI2LjZsNDcuOS03MS44YzUuMy03LjkgOC4xLTE3LjEgOC4xLTI2LjZMNjQgMTI4bDAtNzMuN0w2NCA0OEM2NCAyMS41IDg1LjUgMCAxMTIgMGw0LjUgMGMuMiAwIC40IDAgLjYgMGMuNCAwIC44IDAgMS4yIDBjMTguOCAwIDM0LjEgOS43IDQ0LjEgMTguOEMxNzEuNiAyNy4yIDE5MC44IDQwIDIyNCA0MHM1Mi40LTEyLjggNjEuNy0yMS4yQzI5NS43IDkuNyAzMTEgMCAzMjkuNyAwYy40IDAgLjggMCAxLjIgMGMuMiAwIC40IDAgLjYgMEwzMzYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDYuMyAwIDczLjcgMCAxNy41YzAgOS41IDIuOCAxOC43IDguMSAyNi42bDQ3LjkgNzEuOGM1LjMgNy45IDguMSAxNy4xIDguMSAyNi42TDQ0OCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2OC4yYzAtNS4yIC44LTEwLjMgMi41LTE1LjJMMjk2LjggNjkuN0MyNzkuNCA3OS43IDI1NS40IDg4IDIyNCA4OHMtNTUuNC04LjMtNzIuOC0xOC4zek05NiA0NTZhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek02My41IDI1NS41Yy00LjcgNC43LTQuNyAxMi4zIDAgMTdMNzkgMjg4IDYzLjUgMzAzLjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN3MxMi4zIDQuNyAxNyAwTDk2IDMwNWwxNS41IDE1LjVjNC43IDQuNyAxMi4zIDQuNyAxNyAwczQuNy0xMi4zIDAtMTdMMTEzIDI4OGwxNS41LTE1LjVjNC43LTQuNyA0LjctMTIuMyAwLTE3cy0xMi4zLTQuNy0xNyAwTDk2IDI3MSA4MC41IDI1NS41Yy00LjctNC43LTEyLjMtNC43LTE3IDB6TTMwNCAyODBsMCA4IDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDAgOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04IDAgMC04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0elwiXVxufTtcbmNvbnN0IGZhQ2hlY2tEb3VibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlY2stZG91YmxlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNTYwXCIsIFwiTTM0Mi42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTYwIDE3OC43bC01Ny40LTU3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDgwIDgwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjB6bTk2IDEyOGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxNjAgNDAyLjcgNTQuNiAyOTcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwyNTYtMjU2elwiXVxufTtcbmNvbnN0IGZhQXJyb3dEb3duQVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1hLXonLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYWxwaGEtYXNjXCIsIFwic29ydC1hbHBoYS1kb3duXCJdLCBcImYxNWRcIiwgXCJNMTgzLjYgNDY5LjZDMTc3LjUgNDc2LjIgMTY5IDQ4MCAxNjAgNDgwcy0xNy41LTMuOC0yMy42LTEwLjRsLTg4LTk2Yy0xMS45LTEzLTExLjEtMzMuMyAyLTQ1LjJzMzMuMy0xMS4xIDQ1LjIgMkwxMjggMzY1LjcgMTI4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDEuNyAzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlMNDI5LjMgNDE2bDUwLjcgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45TDQwMi43IDM1MiAzNTIgMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDE2IDMyYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdsNjQgMTI4IDE2IDMyYzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNMNDYwLjIgMjI0bC04OC40IDAtNy4yIDE0LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsMTYtMzIgNjQtMTI4QzM5Mi44IDM4LjggNDAzLjkgMzIgNDE2IDMyek0zOTUuOCAxNzZsNDAuNCAwTDQxNiAxMzUuNiAzOTUuOCAxNzZ6XCJdXG59O1xuY29uc3QgZmFTb3J0QWxwaGFBc2MgPSBmYUFycm93RG93bkFaO1xuY29uc3QgZmFTb3J0QWxwaGFEb3duID0gZmFBcnJvd0Rvd25BWjtcbmNvbnN0IGZhTW9uZXlCaWxsV2hlYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbC13aGVhdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUyYVwiLCBcIk0xNzYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgMTZsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw1NiA2NEM0Mi43IDY0IDMyIDUzLjMgMzIgNDBzMTAuNy0yNCAyNC0yNHpNMjQgODhsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgMTM2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFMxMC43IDg4IDI0IDg4em04IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yNzIgMTZjMC04LjggNy4yLTE2IDE2LTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgOC44LTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwLTM1LjgtODAtODB6TTQwMCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgOC44LTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwLTM1LjgtODAtODBjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNDRjMCA0NC4yLTM1LjggODAtODAgODBjLTguOCAwLTE2LTcuMi0xNi0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGM4LjggMCAxNiA3LjIgMTYgMTZ6TTM1MiAxMjhjOC44IDAgMTYgNy4yIDE2IDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MGMtOC44IDAtMTYtNy4yLTE2LTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwYzguOCAwIDE2IDcuMiAxNiAxNnpNMCAzMDRjMC0yNi41IDIxLjUtNDggNDgtNDhsNDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjBjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDMwNHpNNDggNDE2bDAgNDggNDggMGMwLTI2LjUtMjEuNS00OC00OC00OHpNOTYgMzA0bC00OCAwIDAgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6TTQ2NCA0MTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDQ4IDAgMC00OHpNNDE2IDMwNGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwwLTQ4LTQ4IDB6bS05NiA4MGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6XCJdXG59O1xuY29uc3QgZmFDb29raWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29va2llJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3ODUwXSwgXCJmNTYzXCIsIFwiTTI0Ny4yIDE3Yy0yMi4xLTMuMS00NC42IC45LTY0LjQgMTEuNGwtNzQgMzkuNUM4OS4xIDc4LjQgNzMuMiA5NC45IDYzLjQgMTE1TDI2LjcgMTkwLjZjLTkuOCAyMC4xLTEzIDQyLjktOS4xIDY0LjlsMTQuNSA4Mi44YzMuOSAyMi4xIDE0LjYgNDIuMyAzMC43IDU3LjlsNjAuMyA1OC40YzE2LjEgMTUuNiAzNi42IDI1LjYgNTguNyAyOC43bDgzIDExLjdjMjIuMSAzLjEgNDQuNi0uOSA2NC40LTExLjRsNzQtMzkuNWMxOS43LTEwLjUgMzUuNi0yNyA0NS40LTQ3LjJsMzYuNy03NS41YzkuOC0yMC4xIDEzLTQyLjkgOS4xLTY0LjlsLTE0LjYtODIuOGMtMy45LTIyLjEtMTQuNi00Mi4zLTMwLjctNTcuOUwzODguOSA1Ny41Yy0xNi4xLTE1LjYtMzYuNi0yNS42LTU4LjctMjguN0wyNDcuMiAxN3pNMjA4IDE0NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE0NCAzMzZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjI0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUFycm93Um90YXRlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yb3RhdGUtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzg2MzQsIFwiYXJyb3ctbGVmdC1yb3RhdGVcIiwgXCJhcnJvdy1yb3RhdGUtYmFja1wiLCBcImFycm93LXJvdGF0ZS1iYWNrd2FyZFwiLCBcInVuZG9cIl0sIFwiZjBlMlwiLCBcIk0xMjUuNyAxNjBsNTAuMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDQ4IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDUxLjJMOTcuNiA5Ny42Yzg3LjUtODcuNSAyMjkuMy04Ny41IDMxNi44IDBzODcuNSAyMjkuMyAwIDMxNi44cy0yMjkuMyA4Ny41LTMxNi44IDBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBjNjIuNSA2Mi41IDE2My44IDYyLjUgMjI2LjMgMHM2Mi41LTE2My44IDAtMjI2LjNzLTE2My44LTYyLjUtMjI2LjMgMEwxMjUuNyAxNjB6XCJdXG59O1xuY29uc3QgZmFBcnJvd0xlZnRSb3RhdGUgPSBmYUFycm93Um90YXRlTGVmdDtcbmNvbnN0IGZhQXJyb3dSb3RhdGVCYWNrID0gZmFBcnJvd1JvdGF0ZUxlZnQ7XG5jb25zdCBmYUFycm93Um90YXRlQmFja3dhcmQgPSBmYUFycm93Um90YXRlTGVmdDtcbmNvbnN0IGZhVW5kbyA9IGZhQXJyb3dSb3RhdGVMZWZ0O1xuY29uc3QgZmFIYXJkRHJpdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFyZC1kcml2ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODQzNiwgXCJoZGRcIl0sIFwiZjBhMFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTg0LjRjLTE3LTE1LjItMzkuNC0yNC40LTY0LTI0LjRMNjQgMjU2Yy0yNC42IDAtNDcgOS4yLTY0IDI0LjRMMCA5NnpNNjQgMjg4bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0ek0zMjAgNDE2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTI4LTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFIZGQgPSBmYUhhcmREcml2ZTtcbmNvbnN0IGZhRmFjZUdyaW5TcXVpbnRUZWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tc3F1aW50LXRlYXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzE1LCBcImdyaW4tc3F1aW50LXRlYXJzXCJdLCBcImY1ODZcIiwgXCJNNDI2LjggMTQuMkM0NDYtNSA0NzcuNS00LjYgNDk3LjEgMTQuOXMyMCA1MSAuNyA3MC4zYy02LjggNi44LTIxLjQgMTIuNC0zNy40IDE2LjdjLTE2LjMgNC40LTM0LjEgNy41LTQ2LjMgOS4zYy0xLjYgLjItMy4xIC41LTQuNiAuNmMtNC45IC44LTkuMS0yLjgtOS41LTcuNGMtLjEtLjcgMC0xLjQgLjEtMi4xYzEuNi0xMS4yIDQuNi0yOS42IDktNDdjLjMtMS4zIC43LTIuNiAxLTMuOWM0LjMtMTUuOSA5LjgtMzAuNSAxNi43LTM3LjR6bS00NC43IDE5Yy0xLjUgNC44LTIuOSA5LjYtNC4xIDE0LjNjLTQuOCAxOC45LTggMzguNS05LjcgNTAuM2MtNCAyNi44IDE4LjkgNDkuNyA0NS43IDQ1LjhjMTEuOS0xLjYgMzEuNS00LjggNTAuNC05LjdjNC43LTEuMiA5LjUtMi41IDE0LjMtNC4xQzUzNC4yIDIyNy41IDUyMC4yIDM1My44IDQzNyA0MzdjLTgzLjIgODMuMi0yMDkuNSA5Ny4yLTMwNy4yIDQxLjhjMS41LTQuOCAyLjgtOS42IDQtMTQuM2M0LjgtMTguOSA4LTM4LjUgOS43LTUwLjNjNC0yNi44LTE4LjktNDkuNy00NS43LTQ1LjhjLTExLjkgMS42LTMxLjUgNC44LTUwLjQgOS43Yy00LjcgMS4yLTkuNSAyLjUtMTQuMyA0LjFDLTIyLjIgMjg0LjUtOC4yIDE1OC4yIDc1IDc1QzE1OC4yLTguMyAyODQuNS0yMi4yIDM4Mi4yIDMzLjJ6TTUxLjUgNDEwLjFjMTguNS01IDM4LjgtOC4zIDUwLjktMTBjLjQtLjEgLjctLjEgMS0uMWM1LjEtLjIgOS4yIDQuMyA4LjQgOS42Yy0xLjcgMTIuMS01IDMyLjQtMTAgNTAuOUM5Ny42IDQ3Ni40IDkyIDQ5MSA4NS4yIDQ5Ny44QzY2IDUxNyAzNC41IDUxNi42IDE0LjkgNDk3LjFzLTIwLTUxLS43LTcwLjNjNi44LTYuOCAyMS40LTEyLjQgMzcuNC0xNi43ek00MTYuOSAyMDljLTQuNy0xMS45LTIwLjgtMTEtMjYuOCAuM2MtMTkgMzUuNS00NSA3MC44LTc3LjUgMTAzLjNTMjQ0LjggMzcxLjEgMjA5LjMgMzkwYy0xMS4zIDYtMTIuMiAyMi4xLS4zIDI2LjhjNTcuNiAyMi45IDEyNS44IDExIDE3Mi4zLTM1LjVzNTguNC0xMTQuOCAzNS41LTE3Mi4zek04Ny4xIDI4NS4xYzIgMiA0LjYgMy4yIDcuMyAzLjRsNTYuMSA1LjEgNS4xIDU2LjFjLjMgMi44IDEuNSA1LjQgMy40IDcuM2M2LjMgNi4zIDE3LjIgMy42IDE5LjgtNC45bDI5LjctOTcuNGMzLjUtMTEuNi03LjMtMjIuNS0xOS0xOUw5MiAyNjUuM2MtOC42IDIuNi0xMS4zIDEzLjQtNC45IDE5Ljh6TTI2NS4zIDkybC0yOS43IDk3LjRjLTMuNSAxMS42IDcuMyAyMi41IDE5IDE5bDk3LjQtMjkuN2M4LjYtMi42IDExLjMtMTMuNCA0LjktMTkuOGMtMi0yLTQuNi0zLjItNy4zLTMuNGwtNTYuMS01LjEtNS4xLTU2LjFjLS4zLTIuOC0xLjUtNS40LTMuNC03LjNjLTYuMy02LjMtMTcuMi0zLjYtMTkuOCA0Ljl6XCJdXG59O1xuY29uc3QgZmFHcmluU3F1aW50VGVhcnMgPSBmYUZhY2VHcmluU3F1aW50VGVhcnM7XG5jb25zdCBmYUR1bWJiZWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2R1bWJiZWxsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDRiXCIsIFwiTTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjAgMCA2NCAwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMCAwLTY0em00NDggMGwwIDY0IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwIDAtNjQgMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNNDE2IDIyNGwwIDY0LTE5MiAwIDAtNjQgMTkyIDB6XCJdXG59O1xuY29uc3QgZmFSZWN0YW5nbGVMaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY3RhbmdsZS1saXN0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJsaXN0LWFsdFwiXSwgXCJmMDIyXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xMjggMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzItMTI4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em05Ni0yNDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTIyNCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDIyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yMjQgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyMjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjI0IDB6XCJdXG59O1xuY29uc3QgZmFMaXN0QWx0ID0gZmFSZWN0YW5nbGVMaXN0O1xuY29uc3QgZmFUYXJwRHJvcGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YXJwLWRyb3BsZXQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1N2NcIiwgXCJNMjg4IDE2MGMtMzUuMyAwLTY0LTI2LjktNjQtNjBjMC0yNCAzMy43LTcwLjEgNTIuMi05My41YzYuMS03LjcgMTcuNS03LjcgMjMuNiAwQzMxOC4zIDI5LjkgMzUyIDc2IDM1MiAxMDBjMCAzMy4xLTI4LjcgNjAtNjQgNjB6TTY0IDEyOGwxMzMuNSAwYzEzLjIgMzcuMyA0OC43IDY0IDkwLjUgNjRzNzcuNC0yNi43IDkwLjUtNjRMNTEyIDEyOGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2MC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NHpNNDQ4IDUxMmwwLTEyOCAxMjggMEw0NDggNTEyek05NiAyNTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhSG91c2VNZWRpY2FsQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTFcIiwgXCJNMzIwIDM2OGMwIDU5LjUgMjkuNSAxMTIuMSA3NC44IDE0NGwtMjY2LjcgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjAuNC0zMiAwYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w1MjIuMSAxOTMuOWMtOC41LTEuMy0xNy4zLTEuOS0yNi4xLTEuOWMtNTQuNyAwLTEwMy41IDI0LjktMTM1LjggNjRMMzIwIDI1NmwwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6bTMyIDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNDgwIDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFQZXJzb25Ta2lpbmdOb3JkaWMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXNraWluZy1ub3JkaWMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNraWluZy1ub3JkaWNcIl0sIFwiZjdjYVwiLCBcIk0zMzYgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0yMjcuMiAxNjBjMS45IDAgMy44IC4xIDUuNiAuM0wyMDEuNiAyNTRjLTkuMyAyOCAxLjcgNTguOCAyNi44IDc0LjVsODYuMiA1My45TDI5MS4zIDQ2NGwtODguNSAwIDQxLjEtODguMS0zMi40LTIwLjNjLTcuOC00LjktMTQuNy0xMC43LTIwLjYtMTcuM0wxMzIuMiA0NjRsLTMyLjQgMCA1NC4yLTI1Ny42YzQuNi0xLjUgOS00LjEgMTIuNy03LjhsMjMuMS0yMy4xYzkuOS05LjkgMjMuNC0xNS41IDM3LjUtMTUuNXpNMTIxLjQgMTk4LjZjLjQgLjQgLjggLjggMS4zIDEuMkw2NyA0NjRsLTQzIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTM1LjMgMGMuNSAwIC45IDAgMS40IDBsMTU4LjYgMGMuNSAwIDEgMCAxLjQgMEw1MDQgNTEyYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTY5LjQgMCAyNy42LTE3OS4zYzEwLjUtNS4yIDE3LjgtMTYuMSAxNy44LTI4LjdjMC0xNy43LTE0LjMtMzItMzItMzJsLTIxLjMgMGMtMTIuOSAwLTI0LjYtNy44LTI5LjUtMTkuN2wtNi4zLTE1Yy0xNC42LTM1LjEtNDQuMS02MS45LTgwLjUtNzMuMWwtNDguNy0xNWMtMTEuMS0zLjQtMjIuNy01LjItMzQuNC01LjJjLTMxIDAtNjAuOCAxMi4zLTgyLjcgMzQuM2wtMjMuMSAyMy4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3ptMzA4IDg5LjRMNDAyLjMgNDY0bC00NC40IDAgMjEuNi03NS42YzUuOS0yMC42LTIuNi00Mi42LTIwLjctNTMuOUwzMDIgMjk5bDMwLjktODIuNCA1LjEgMTIuM0MzNTMgMjY0LjcgMzg3LjkgMjg4IDQyNi43IDI4OGwyLjcgMHpcIl1cbn07XG5jb25zdCBmYVNraWluZ05vcmRpYyA9IGZhUGVyc29uU2tpaW5nTm9yZGljO1xuY29uc3QgZmFDYWxlbmRhclBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItcGx1cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjI3MVwiLCBcIk05NiAzMmwwIDMyTDQ4IDY0QzIxLjUgNjQgMCA4NS41IDAgMTEybDAgNDggNDQ4IDAgMC00OGMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzJMMTYwIDY0bDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJTOTYgMTQuMyA5NiAzMnpNNDQ4IDE5MkwwIDE5MiAwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI3MnpNMjI0IDI0OGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDU2IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDAgMCA1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTU2LTU2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNTYgMCAwLTU2YzAtMTMuMyAxMC43LTI0IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhUGxhbmVBcnJpdmFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lLWFycml2YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg3NDhdLCBcImY1YWZcIiwgXCJNLjMgMTY2LjlMMCA2OEMwIDU3LjcgOS41IDUwLjEgMTkuNSA1Mi4zbDM1LjYgNy45YzEwLjYgMi4zIDE5LjIgOS45IDIzIDIwTDk2IDEyOGwxMjcuMyAzNy42TDE4MS44IDIwLjRDMTc4LjkgMTAuMiAxODYuNiAwIDE5Ny4yIDBsNDAuMSAwYzExLjYgMCAyMi4yIDYuMiAyNy45IDE2LjNsMTA5IDE5My44IDEwNy4yIDMxLjdjMTUuOSA0LjcgMzAuOCAxMi41IDQzLjcgMjIuOGwzNC40IDI3LjZjMjQgMTkuMiAxOC4xIDU3LjMtMTAuNyA2OC4yYy00MS4yIDE1LjYtODYuMiAxOC4xLTEyOC44IDdMMTIxLjcgMjg5LjhjLTExLjEtMi45LTIxLjItOC43LTI5LjMtMTYuOUw5LjUgMTg5LjRjLTUuOS02LTkuMy0xNC4xLTkuMy0yMi41ek0zMiA0NDhsNTc2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem05Ni04MGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjgtMTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxODQwLCBcImFycm93LWFsdC1jaXJjbGUtbGVmdFwiXSwgXCJmMzU5XCIsIFwiTTUxMiAyNTZBMjU2IDI1NiAwIDEgMCAwIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwek0xMTYuNyAyNDQuN2wxMTItMTEyYzQuNi00LjYgMTEuNS01LjkgMTcuNC0zLjVzOS45IDguMyA5LjkgMTQuOGwwIDY0IDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDY0YzAgNi41LTMuOSAxMi4zLTkuOSAxNC44cy0xMi45IDEuMS0xNy40LTMuNWwtMTEyLTExMmMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFBcnJvd0FsdENpcmNsZUxlZnQgPSBmYUNpcmNsZUxlZnQ7XG5jb25zdCBmYVRyYWluU3Vid2F5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWluLXN1YndheScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic3Vid2F5XCJdLCBcImYyMzlcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDM1MmMwIDQ4IDM1LjIgODcuNyA4MS4xIDk0LjlsLTQ2IDQ2QzI4LjEgNDk5LjkgMzMuMSA1MTIgNDMgNTEybDM5LjcgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNEwxNjAgNDQ4bDEyOCAwIDU0LjYgNTQuNmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRsMzkuNyAwYzEwIDAgMTUtMTIuMSA3LjktMTkuMWwtNDYtNDZjNDYtNy4xIDgxLjEtNDYuOSA4MS4xLTk0LjlsMC0yNTZjMC01My00My05Ni05Ni05Nkw5NiAwek02NCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC04MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2ek0yNzIgOTZsODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC04MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek02NCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjg4LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYVN1YndheSA9IGZhVHJhaW5TdWJ3YXk7XG5jb25zdCBmYUNoYXJ0R2FudHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtZ2FudHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwZTRcIiwgXCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptOTYgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTk2IDY0bDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMTYwIDk2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFJbmRpYW5SdXBlZVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5kaWFuLXJ1cGVlLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImluZGlhbi1ydXBlZVwiLCBcImluclwiXSwgXCJlMWJjXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNjQgMCAxNiAwIDE3NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC01Ni4yIDBjOS42IDE0LjQgMTYuNyAzMC42IDIwLjcgNDhsMzUuNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNS42IDBjLTEzLjIgNTguMy02MS45IDEwMy4yLTEyMi4yIDExMC45TDI3NC42IDQyMmMxNC40IDEwLjMgMTcuNyAzMC4zIDcuNCA0NC42cy0zMC4zIDE3LjctNDQuNiA3LjRMMTMuNCAzMTRDMi4xIDMwNi0yLjcgMjkxLjUgMS41IDI3OC4yUzE4LjEgMjU2IDMyIDI1Nmw4MCAwYzMyLjggMCA2MS0xOS43IDczLjMtNDhMMzIgMjA4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE1My4zIDBDMTczIDExNS43IDE0NC44IDk2IDExMiA5Nkw5NiA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbmNvbnN0IGZhSW5kaWFuUnVwZWUgPSBmYUluZGlhblJ1cGVlU2lnbjtcbmNvbnN0IGZhSW5yID0gZmFJbmRpYW5SdXBlZVNpZ247XG5jb25zdCBmYUNyb3BTaW1wbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JvcC1zaW1wbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNyb3AtYWx0XCJdLCBcImY1NjVcIiwgXCJNMTI4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDE0LjMgNjQgMzJsMCAzMkwzMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMzIgMCAwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMCAwLTY0LTIyNCAwIDAtMzUyek0zODQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCA2NGwwIDY0IDIyNCAwIDAgMzUyelwiXVxufTtcbmNvbnN0IGZhQ3JvcEFsdCA9IGZhQ3JvcFNpbXBsZTtcbmNvbnN0IGZhTW9uZXlCaWxsMSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLTEnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1vbmV5LWJpbGwtYWx0XCJdLCBcImYzZDFcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTY0IDMyMGwtNjQgMCAwLTY0YzM1LjMgMCA2NCAyOC43IDY0IDY0ek02NCAxOTJsMC02NCA2NCAwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek00NDggMzg0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDAgNjQtNjQgMHptNjQtMTkyYy0zNS4zIDAtNjQtMjguNy02NC02NGw2NCAwIDAgNjR6TTE3NiAyNTZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHptNzYtNDhjMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDI0IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC00IDAgMC02OGMwLTExLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHpcIl1cbn07XG5jb25zdCBmYU1vbmV5QmlsbEFsdCA9IGZhTW9uZXlCaWxsMTtcbmNvbnN0IGZhTGVmdExvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVmdC1sb25nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb25nLWFycm93LWFsdC1sZWZ0XCJdLCBcImYzMGFcIiwgXCJNMTc3LjUgNDE0Yy04LjggMy44LTE5IDItMjYtNC42bC0xNDQtMTM2QzIuNyAyNjguOSAwIDI2Mi42IDAgMjU2czIuNy0xMi45IDcuNS0xNy40bDE0NC0xMzZjNy02LjYgMTcuMi04LjQgMjYtNC42czE0LjUgMTIuNSAxNC41IDIybDAgNzIgMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjg4IDAgMCA3MmMwIDkuNi01LjcgMTguMi0xNC41IDIyelwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93QWx0TGVmdCA9IGZhTGVmdExvbmc7XG5jb25zdCBmYURuYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkbmEnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjk1MTZdLCBcImY0NzFcIiwgXCJNNDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJjMCA1OS44LTMwLjMgMTA3LjUtNjkuNCAxNDYuNmMtMjggMjgtNjIuNSA1My41LTk3LjMgNzcuNGwtMi41IDEuN2MtMTEuOSA4LjEtMjMuOCAxNi4xLTM1LjUgMjMuOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBsLTEuNiAxYy02IDQtMTEuOSA3LjktMTcuOCAxMS45Yy0yMC45IDE0LTQwLjggMjcuNy01OS4zIDQxLjVsMTE4LjUgMGMtOS44LTcuNC0yMC4xLTE0LjctMzAuNy0yMi4xbDctNC43IDMtMmMxNS4xLTEwLjEgMzAuOS0yMC42IDQ2LjctMzEuNmMyNSAxOC4xIDQ4LjkgMzcuMyA2OS40IDU3LjdDNDE3LjcgMzcyLjUgNDQ4IDQyMC4yIDQ0OCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMNjQgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtNTkuOCAzMC4zLTEwNy41IDY5LjQtMTQ2LjZjMjgtMjggNjIuNS01My41IDk3LjMtNzcuNGMtMzQuOC0yMy45LTY5LjMtNDkuMy05Ny4zLTc3LjRDMzAuMyAxMzkuNSAwIDkxLjggMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBTNjQgMTQuMyA2NCAzMmwzMjAgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzM4LjYgMzg0bC0yMjkuMiAwYy0xMC4xIDEwLjYtMTguNiAyMS4zLTI1LjUgMzJsMjgwLjIgMGMtNi44LTEwLjctMTUuMy0yMS40LTI1LjUtMzJ6TTEwOS40IDEyOGwyMjkuMiAwYzEwLjEtMTAuNyAxOC42LTIxLjMgMjUuNS0zMkw4My45IDk2YzYuOCAxMC43IDE1LjMgMjEuMyAyNS41IDMyem01NS40IDQ4YzE4LjQgMTMuOCAzOC40IDI3LjUgNTkuMyA0MS41YzIwLjktMTQgNDAuOC0yNy43IDU5LjMtNDEuNWwtMTE4LjUgMHpcIl1cbn07XG5jb25zdCBmYVZpcnVzU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlydXMtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNzVcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN2wtMTU0LjMtMTIxYy0yLTMwLjEgMjAuOC02MC4xIDU2LTYwLjFsMTEuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMS41IDBjLTQ5LjkgMC03NC45LTYwLjMtMzkuNi05NS42bDguMi04LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTguMiA4LjJDNDEyLjMgMTE4LjQgMzUyIDkzLjQgMzUyIDQzLjVMMzUyIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEuNWMwIDQ5LjktNjAuMyA3NC45LTk1LjYgMzkuNkwxODQuMiA3NWMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBjLTEuNiAxLjYtMy4xIDMuNC00LjMgNS4zTDM4LjggNS4xem0yMjUuOCAxNzdjNi45LTMuOSAxNC45LTYuMSAyMy40LTYuMWMyNi41IDAgNDggMjEuNSA0OCA0OGMwIDQuNC0uNiA4LjctMS43IDEyLjdsLTY5LjctNTQuNnpNNDAyIDQxMi43TDE0NC43IDIxMGMtOS41IDguNS0yMi4yIDE0LTM3LjIgMTRMOTYgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExLjUgMGM0OS45IDAgNzQuOSA2MC4zIDM5LjYgOTUuNmwtOC4yIDguMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw4LjItOC4yYzM1LjMtMzUuMyA5NS42LTEwLjMgOTUuNiAzOS42bDAgMTEuNWMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTEuNWMwLTMxLjIgMjMuNi01Mi43IDUwLTU1Ljd6XCJdXG59O1xuY29uc3QgZmFNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaW51cycsXG4gIGljb246IFs0NDgsIDUxMiwgWzgyMTEsIDg3MjIsIDEwMTM0LCBcInN1YnRyYWN0XCJdLCBcImYwNjhcIiwgXCJNNDMyIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw0OCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFTdWJ0cmFjdCA9IGZhTWludXM7XG5jb25zdCBmYUNoZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDM5XCIsIFwiTTE0NCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDE2TDk2IDMyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDE2IDAgMCAzMkw2MC4yIDk2QzQ5LjEgOTYgNDAgMTA1LjEgNDAgMTE2LjJjMCAyLjUgLjUgNC45IDEuMyA3LjNMNzMuOCAyMDggNzIgMjA4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQgMEw2MCAzODRsMTM2IDBMMTgwIDI1Nmw0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEuOCAwIDMyLjUtODQuNWMuOS0yLjMgMS4zLTQuOCAxLjMtNy4zYzAtMTEuMi05LjEtMjAuMi0yMC4yLTIwLjJMMTQ0IDk2bDAtMzIgMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMCAwLTE2ek00OCA0MTZMNC44IDQ3My42QzEuNyA0NzcuOCAwIDQ4Mi44IDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDIwOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0YzAtNS4yLTEuNy0xMC4yLTQuOC0xNC40TDIwOCA0MTYgNDggNDE2em0yODggMGwtNDMuMiA1Ny42Yy0zLjEgNC4yLTQuOCA5LjItNC44IDE0LjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRjMC01LjItMS43LTEwLjItNC44LTE0LjRMNDY0IDQxNmwtMTI4IDB6TTMwNCAyMDhsMCA1MS45YzAgNy44IDIuOCAxNS4zIDggMjEuMUwzMzkuMiAzMTIgMzM3IDM4NGwxMjUuNSAwLTMuMy03MiAyOC4zLTMwLjhjNS40LTUuOSA4LjUtMTMuNiA4LjUtMjEuN2wwLTUxLjVjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi0yNCAwIDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi0yNCAwIDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTgwIDk2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAzMi0zMiAwIDAtMzJ6XCJdXG59O1xuY29uc3QgZmFBcnJvd0xlZnRMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWxlZnQtbG9uZycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibG9uZy1hcnJvdy1sZWZ0XCJdLCBcImYxNzdcIiwgXCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4IDQ4MCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTM3MC43IDAgNzMuNC03My40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4elwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93TGVmdCA9IGZhQXJyb3dMZWZ0TG9uZztcbmNvbnN0IGZhUGx1Z0NpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTVjXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJsMCA5NiA2NCAwIDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCA2Ny4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Ny4yYzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MHpNNTc2IDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDE2IDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG5jb25zdCBmYVN0cmVldFZpZXcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RyZWV0LXZpZXcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyMWRcIiwgXCJNMzIwIDY0QTY0IDY0IDAgMSAwIDE5MiA2NGE2NCA2NCAwIDEgMCAxMjggMHptLTk2IDk2Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEuOCAwIDExLjEgOTkuNWMxLjggMTYuMiAxNS41IDI4LjUgMzEuOCAyOC41bDM4LjcgMGMxNi4zIDAgMzAtMTIuMyAzMS44LTI4LjVMMzE4LjIgMzA0bDEuOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDB6TTEzMi4zIDM5NC4yYzEzLTIuNCAyMS43LTE0LjkgMTkuMy0yNy45cy0xNC45LTIxLjctMjcuOS0xOS4zYy0zMi40IDUuOS02MC45IDE0LjItODIgMjQuOGMtMTAuNSA1LjMtMjAuMyAxMS43LTI3LjggMTkuNkM2LjQgMzk5LjUgMCA0MTAuNSAwIDQyNGMwIDIxLjQgMTUuNSAzNi4xIDI5LjEgNDVjMTQuNyA5LjYgMzQuMyAxNy4zIDU2LjQgMjMuNEMxMzAuMiA1MDQuNyAxOTAuNCA1MTIgMjU2IDUxMnMxMjUuOC03LjMgMTcwLjQtMTkuNmMyMi4xLTYuMSA0MS44LTEzLjggNTYuNC0yMy40YzEzLjctOC45IDI5LjEtMjMuNiAyOS4xLTQ1YzAtMTMuNS02LjQtMjQuNS0xNC0zMi42Yy03LjUtNy45LTE3LjMtMTQuMy0yNy44LTE5LjZjLTIxLTEwLjYtNDkuNS0xOC45LTgyLTI0LjhjLTEzLTIuNC0yNS41IDYuMy0yNy45IDE5LjNzNi4zIDI1LjUgMTkuMyAyNy45YzMwLjIgNS41IDUzLjcgMTIuOCA2OSAyMC41YzMuMiAxLjYgNS44IDMuMSA3LjkgNC41YzMuNiAyLjQgMy42IDcuMiAwIDkuNmMtOC44IDUuNy0yMy4xIDExLjgtNDMgMTcuM0MzNzQuMyA0NTcgMzE4LjUgNDY0IDI1NiA0NjRzLTExOC4zLTctMTU3LjctMTcuOWMtMTkuOS01LjUtMzQuMi0xMS42LTQzLTE3LjNjLTMuNi0yLjQtMy42LTcuMiAwLTkuNmMyLjEtMS40IDQuOC0yLjkgNy45LTQuNWMxNS4zLTcuNyAzOC44LTE0LjkgNjktMjAuNXpcIl1cbn07XG5jb25zdCBmYUZyYW5jU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmcmFuYy1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlMThmXCIsIFwiTTgwIDMyQzYyLjMgMzIgNDggNDYuMyA0OCA2NGwwIDE2MCAwIDk2LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04MCAwIDAtNjQgMTQ0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE0NCAwIDAtOTYgMTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMODAgMzJ6XCJdXG59O1xuY29uc3QgZmFWb2x1bWVPZmYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sdW1lLW9mZicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZjAyNlwiLCBcIk0zMjAgNjRjMC0xMi42LTcuNC0yNC0xOC45LTI5LjJzLTI1LTMuMS0zNC40IDUuM0wxMzEuOCAxNjAgNjQgMTYwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY3LjggMEwyNjYuNyA0NzEuOWM5LjQgOC40IDIyLjkgMTAuNCAzNC40IDUuM1MzMjAgNDYwLjYgMzIwIDQ0OGwwLTM4NHpcIl1cbn07XG5jb25zdCBmYUhhbmRzQXNsSW50ZXJwcmV0aW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWFzbC1pbnRlcnByZXRpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCIsIFwiYXNsLWludGVycHJldGluZ1wiLCBcImhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCJdLCBcImYyYTNcIiwgXCJNMTU2LjYgNDYuM2M3LjktMTUuOCAxLjUtMzUtMTQuMy00Mi45cy0zNS0xLjUtNDIuOSAxNC4zTDEzLjUgMTg5LjRDNC42IDIwNy4yIDAgMjI2LjggMCAyNDYuN0wwIDI1NmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGw3MiAwIDggMCAwLS4zYzM1LjItMi43IDY1LjQtMjIuOCA4Mi4xLTUxLjdjOC44LTE1LjMgMy42LTM0LjktMTEuNy00My43cy0zNC45LTMuNi00My43IDExLjdjLTcgMTItMTkuOSAyMC0zNC43IDIwYy0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwYzE0LjggMCAyNy43IDggMzQuNyAyMGM4LjggMTUuMyAyOC40IDIwLjUgNDMuNyAxMS43czIwLjUtMjguNCAxMS43LTQzLjdjLTEyLjgtMjIuMS0zMy42LTM5LjEtNTguNC00Ny4xbDgwLjgtMjJjMTctNC42IDI3LjEtMjIuMiAyMi41LTM5LjNzLTIyLjItMjcuMS0zOS4zLTIyLjVMMTk0LjkgMTI0LjZsODEuNi02OGMxMy42LTExLjMgMTUuNC0zMS41IDQuMS00NS4xUzI0OS4xLTMuOSAyMzUuNSA3LjRMMTMzLjYgOTIuM2wyMy00NnpNNDgzLjQgNDY1LjdjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w4NS45LTE3MS43YzguOS0xNy44IDEzLjUtMzcuNCAxMy41LTU3LjJsMC05LjNjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhsLTcyIDAtOCAwIDAgLjNjLTM1LjIgMi43LTY1LjQgMjIuOC04Mi4xIDUxLjdjLTguOSAxNS4zLTMuNiAzNC45IDExLjcgNDMuN3MzNC45IDMuNiA0My43LTExLjdjNy0xMiAxOS45LTIwIDM0LjctMjBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBjLTE0LjggMC0yNy43LTgtMzQuNy0yMGMtOC45LTE1LjMtMjguNC0yMC41LTQzLjctMTEuN3MtMjAuNSAyOC40LTExLjcgNDMuN2MxMi44IDIyLjEgMzMuNiAzOS4xIDU4LjQgNDcuMWwtODAuOCAyMmMtMTcuMSA0LjctMjcuMSAyMi4yLTIyLjUgMzkuM3MyMi4yIDI3LjEgMzkuMyAyMi41bDEwMC43LTI3LjUtODEuNiA2OGMtMTMuNiAxMS4zLTE1LjQgMzEuNS00LjEgNDUuMXMzMS41IDE1LjQgNDUuMSA0LjFsMTAxLjktODQuOS0yMyA0NnpcIl1cbn07XG5jb25zdCBmYUFtZXJpY2FuU2lnbkxhbmd1YWdlSW50ZXJwcmV0aW5nID0gZmFIYW5kc0FzbEludGVycHJldGluZztcbmNvbnN0IGZhQXNsSW50ZXJwcmV0aW5nID0gZmFIYW5kc0FzbEludGVycHJldGluZztcbmNvbnN0IGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyA9IGZhSGFuZHNBc2xJbnRlcnByZXRpbmc7XG5jb25zdCBmYUdlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2VhcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4ODEsIFwiY29nXCJdLCBcImYwMTNcIiwgXCJNNDk1LjkgMTY2LjZjMy4yIDguNyAuNSAxOC40LTYuNCAyNC42bC00My4zIDM5LjRjMS4xIDguMyAxLjcgMTYuOCAxLjcgMjUuNHMtLjYgMTcuMS0xLjcgMjUuNGw0My4zIDM5LjRjNi45IDYuMiA5LjYgMTUuOSA2LjQgMjQuNmMtNC40IDExLjktOS43IDIzLjMtMTUuOCAzNC4zbC00LjcgOC4xYy02LjYgMTEtMTQgMjEuNC0yMi4xIDMxLjJjLTUuOSA3LjItMTUuNyA5LjYtMjQuNSA2LjhsLTU1LjctMTcuN2MtMTMuNCAxMC4zLTI4LjIgMTguOS00NCAyNS40bC0xMi41IDU3LjFjLTIgOS4xLTkgMTYuMy0xOC4yIDE3LjhjLTEzLjggMi4zLTI4IDMuNS00Mi41IDMuNXMtMjguNy0xLjItNDIuNS0zLjVjLTkuMi0xLjUtMTYuMi04LjctMTguMi0xNy44bC0xMi41LTU3LjFjLTE1LjgtNi41LTMwLjYtMTUuMS00NC0yNS40TDgzLjEgNDI1LjljLTguOCAyLjgtMTguNiAuMy0yNC41LTYuOGMtOC4xLTkuOC0xNS41LTIwLjItMjIuMS0zMS4ybC00LjctOC4xYy02LjEtMTEtMTEuNC0yMi40LTE1LjgtMzQuM2MtMy4yLTguNy0uNS0xOC40IDYuNC0yNC42bDQzLjMtMzkuNEM2NC42IDI3My4xIDY0IDI2NC42IDY0IDI1NnMuNi0xNy4xIDEuNy0yNS40TDIyLjQgMTkxLjJjLTYuOS02LjItOS42LTE1LjktNi40LTI0LjZjNC40LTExLjkgOS43LTIzLjMgMTUuOC0zNC4zbDQuNy04LjFjNi42LTExIDE0LTIxLjQgMjIuMS0zMS4yYzUuOS03LjIgMTUuNy05LjYgMjQuNS02LjhsNTUuNyAxNy43YzEzLjQtMTAuMyAyOC4yLTE4LjkgNDQtMjUuNGwxMi41LTU3LjFjMi05LjEgOS0xNi4zIDE4LjItMTcuOEMyMjcuMyAxLjIgMjQxLjUgMCAyNTYgMHMyOC43IDEuMiA0Mi41IDMuNWM5LjIgMS41IDE2LjIgOC43IDE4LjIgMTcuOGwxMi41IDU3LjFjMTUuOCA2LjUgMzAuNiAxNS4xIDQ0IDI1LjRsNTUuNy0xNy43YzguOC0yLjggMTguNi0uMyAyNC41IDYuOGM4LjEgOS44IDE1LjUgMjAuMiAyMi4xIDMxLjJsNC43IDguMWM2LjEgMTEgMTEuNCAyMi40IDE1LjggMzQuM3pNMjU2IDMzNmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHpcIl1cbn07XG5jb25zdCBmYUNvZyA9IGZhR2VhcjtcbmNvbnN0IGZhRHJvcGxldFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Ryb3BsZXQtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInRpbnQtc2xhc2hcIl0sIFwiZjVjN1wiLCBcIk0zMjAgNTEyYzUzLjIgMCAxMDEuNC0yMS42IDEzNi4xLTU2LjZsLTI5OC4zLTIzNUMxNDAgMjU3LjEgMTI4IDI5Mi4zIDEyOCAzMjBjMCAxMDYgODYgMTkyIDE5MiAxOTJ6TTUwNS4yIDM3MC43YzQuNC0xNi4yIDYuOC0zMy4xIDYuOC01MC43YzAtOTEuMi0xMzAuMi0yNjIuMy0xNjYuNi0zMDguM0MzMzkuNCA0LjIgMzMwLjUgMCAzMjAuOSAwbC0xLjggMGMtOS42IDAtMTguNSA0LjItMjQuNSAxMS43QzI3Ny44IDMzIDI0MC43IDgxLjMgMjA1LjggMTM2TDM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNTA1LjIgMzcwLjd6TTIyNCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZjLTYxLjkgMC0xMTItNTAuMS0xMTItMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFUaW50U2xhc2ggPSBmYURyb3BsZXRTbGFzaDtcbmNvbnN0IGZhTW9zcXVlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vc3F1ZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODMzMl0sIFwiZjY3OFwiLCBcIk00MDAgMGM1IDAgOS44IDIuNCAxMi44IDYuNGMzNC43IDQ2LjMgNzguMSA3NC45IDEzMy41IDExMS41YzAgMCAwIDAgMCAwczAgMCAwIDBjNS4yIDMuNCAxMC41IDcgMTYgMTAuNmMyOC45IDE5LjIgNDUuNyA1MS43IDQ1LjcgODYuMWMwIDI4LjYtMTEuMyA1NC41LTI5LjggNzMuNGwtMzU2LjQgMGMtMTguNC0xOS0yOS44LTQ0LjktMjkuOC03My40YzAtMzQuNCAxNi43LTY2LjkgNDUuNy04Ni4xYzUuNC0zLjYgMTAuOC03LjEgMTYtMTAuNmMwIDAgMCAwIDAgMHMwIDAgMCAwQzMwOS4xIDgxLjMgMzUyLjUgNTIuNyAzODcuMiA2LjRjMy00IDcuOC02LjQgMTIuOC02LjR6TTI4OCA1MTJsMC03MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDcyLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDQxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwIDAtNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3Mi02NCAwIDAtNThjMC0xOS04LjQtMzctMjMtNDkuMkw0MDAgMzg0bC0yNSAyMC44QzM2MC40IDQxNyAzNTIgNDM1IDM1MiA0NTRsMCA1OC02NCAwek03MC40IDUuMmM1LjctNC4zIDEzLjUtNC4zIDE5LjIgMGwxNiAxMkMxMzkuOCA0Mi45IDE2MCA4My4yIDE2MCAxMjZsMCAyTDAgMTI4bDAtMkMwIDgzLjIgMjAuMiA0Mi45IDU0LjQgMTcuMmwxNi0xMnpNMCAxNjBsMTYwIDAgMCAxMzYuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwwIDEyOGMwIDkuNiAyLjEgMTguNiA1LjggMjYuOGMtNi42IDMuNC0xNCA1LjItMjEuOCA1LjJsLTY0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTc2bDAtMTZ6XCJdXG59O1xuY29uc3QgZmFNb3NxdWl0byA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3NxdWl0bycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyYlwiLCBcIk00NjMuNyA1MDUuOWM5LjgtOC45IDEwLjctMjQuMyAyLjEtMzQuM2wtNDIuMS00OSAwLTU0LjdjMC01LjUtMS44LTEwLjgtNS4xLTE1LjFMMzUyIDI2Ni4zbDAtLjNMNDg1LjQgMzg3LjhDNTQyLjQgNDQ3LjYgNjQwIDQwNS4yIDY0MCAzMjAuNmMwLTQ3LjktMzQtODguMy03OS40LTk0LjJsLTE1My0yMy45IDQwLjgtNDAuOWM3LjgtNy44IDkuNC0yMC4xIDMuOS0yOS44TDQyOC41IDkwLjFsMzguMi01MC45YzgtMTAuNiA2LjEtMjUuOS00LjMtMzQuMXMtMjUuMi02LjMtMzMuMiA0LjRsLTQ4IDYzLjljLTUuOSA3LjktNi42IDE4LjYtMS43IDI3LjJMNDAyLjIgMTQwIDM1MiAxOTAuM2wwLTM4LjJjMC0xNC45LTEwLjItMjcuNC0yNC0zMWwwLTU3LjJjMC00LjQtMy42LTgtOC04cy04IDMuNi04IDhsMCA1Ny4yYy0xMy44IDMuNi0yNCAxNi4xLTI0IDMxbDAgMzguMUwyMzcuOCAxNDBsMjIuNi0zOS41YzQuOS04LjYgNC4yLTE5LjMtMS43LTI3LjJsLTQ4LTYzLjljLTgtMTAuNi0yMi44LTEyLjYtMzMuMi00LjRzLTEyLjIgMjMuNS00LjMgMzQuMWwzOC4yIDUwLjktMjMuOSA0MS43Yy01LjUgOS43LTMuOSAyMiAzLjkgMjkuOGw0MC44IDQwLjktMTUzIDIzLjlDMzQgMjMyLjMgMCAyNzIuNyAwIDMyMC42YzAgODQuNiA5Ny42IDEyNyAxNTQuNiA2Ny4xTDI4OCAyNjZsMCAuMy02Ni41IDg2LjRjLTMuMyA0LjMtNS4xIDkuNi01LjEgMTUuMWwwIDU0LjctNDIuMSA0OWMtOC42IDEwLjEtNy43IDI1LjUgMi4xIDM0LjNzMjQuNyA3LjkgMzMuNC0yLjFsNDgtNTUuOWMzLjgtNC40IDUuOS0xMC4yIDUuOS0xNi4xbDAtNTUuNEwyODggMzQ0LjdsMCA2My4xYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02My4xIDI0LjMgMzEuNiAwIDU1LjRjMCA1LjkgMi4xIDExLjcgNS45IDE2LjFsNDggNTUuOWM4LjYgMTAuMSAyMy42IDExIDMzLjQgMi4xelwiXVxufTtcbmNvbnN0IGZhU3Rhck9mRGF2aWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Rhci1vZi1kYXZpZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEwMDE3XSwgXCJmNjlhXCIsIFwiTTQwNC4yIDMwOS41TDM4My4xIDM0NGw0Mi4zIDAtMjEuMS0zNC41ek0zNzEuNCAyNTZsLTU0LTg4LTEyMi44IDAtNTQgODggNTQgODggMTIyLjggMCA1NC04OHptNjUuNyAwbDUzLjQgODdjMy42IDUuOSA1LjUgMTIuNyA1LjUgMTkuNmMwIDIwLjctMTYuOCAzNy40LTM3LjQgMzcuNGwtMTA5LjggMC01Ni4yIDkxLjVDMjg0LjggNTA0LjMgMjcwLjkgNTEyIDI1NiA1MTJzLTI4LjgtNy43LTM2LjYtMjAuNUwxNjMuMyA0MDAgNTMuNCA0MDBDMzIuOCA0MDAgMTYgMzgzLjIgMTYgMzYyLjZjMC02LjkgMS45LTEzLjcgNS41LTE5LjZsNTMuNC04N0wyMS41IDE2OWMtMy42LTUuOS01LjUtMTIuNy01LjUtMTkuNkMxNiAxMjguOCAzMi44IDExMiA1My40IDExMmwxMDkuOCAwIDU2LjItOTEuNUMyMjcuMiA3LjcgMjQxLjEgMCAyNTYgMHMyOC44IDcuNyAzNi42IDIwLjVMMzQ4LjcgMTEybDEwOS44IDBjMjAuNyAwIDM3LjQgMTYuOCAzNy40IDM3LjRjMCA2LjktMS45IDEzLjctNS41IDE5LjZsLTUzLjQgODd6bS01NC04OGwyMS4xIDM0LjVMNDI1LjQgMTY4bC00Mi4zIDB6TTI4MyAxMTJMMjU2IDY4bC0yNyA0NCA1NCAwek0xMjguOSAxNjhsLTQyLjMgMCAyMS4xIDM0LjVMMTI4LjkgMTY4ek0xMDcuOCAzMDkuNUw4Ni42IDM0NGw0Mi4zIDAtMjEuMS0zNC41ek0yMjkgNDAwbDI3IDQ0IDI3LTQ0LTU0IDB6XCJdXG59O1xuY29uc3QgZmFQZXJzb25NaWxpdGFyeVJpZmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1taWxpdGFyeS1yaWZsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU0YlwiLCBcIk0xNjAgMzljMC0xMyAxMC0yMy44IDIyLjktMjQuOUwzMzQuNyAxLjRDMzQ0IC43IDM1MiA4IDM1MiAxNy40TDM1MiA0OGMwIDguOC03LjIgMTYtMTYgMTZMMTg1IDY0Yy0xMy44IDAtMjUtMTEuMi0yNS0yNXptMTcuNiA1N2wxNTYuOCAwYzEgNS4yIDEuNiAxMC41IDEuNiAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTUuNSAuNi0xMC44IDEuNi0xNnptMjI4IDM2NC4zTDM1MiAzNjkuNyAzNTIgNDgwYzAgMS4zLS4xIDIuNS0uMiAzLjhMMTc3LjUgMjM0LjljMTYuNi03LjEgMzQuNi0xMC45IDUzLjMtMTAuOWw1MC40IDBjMTUuOSAwIDMxLjMgMi44IDQ1LjggNy45TDQyMS45IDY3LjdjLTcuNy00LjQtMTAuMy0xNC4yLTUuOS0yMS45czE0LjItMTAuMyAyMS45LTUuOWwxMy45IDggMTMuOSA4YzcuNyA0LjQgMTAuMyAxNC4yIDUuOSAyMS45TDQxNiAxNzMuOWwxLjYgLjljMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN0wzOTIuNiAyODJjMiAyLjggMy45IDUuOCA1LjcgOC44bDc2LjEgMTI4LjhjMTEuMiAxOSA0LjkgNDMuNS0xNC4xIDU0LjhzLTQzLjUgNC45LTU0LjgtMTQuMXpNMzIwIDUxMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTEwLjMtNTMuNiA5MC42Yy0xMS4yIDE5LTM1LjggMjUuMy01NC44IDE0LjFzLTI1LjMtMzUuOC0xNC4xLTU0LjhsNzYuMS0xMjguOGM5LjQtMTUuOCAyMS43LTI5LjMgMzYtNDBMMzMxLjEgNTEwYy0zLjUgMS4zLTcuMiAyLTExLjEgMnpNMjk2IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFDYXJ0U2hvcHBpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FydC1zaG9wcGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODcyMiwgXCJzaG9wcGluZy1jYXJ0XCJdLCBcImYwN2FcIiwgXCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMNjkuNSAwYzIyIDAgNDEuNSAxMi44IDUwLjYgMzJsNDExIDBjMjYuMyAwIDQ1LjUgMjUgMzguNiA1MC40bC00MSAxNTIuM2MtOC41IDMxLjQtMzcgNTMuMy02OS41IDUzLjNsLTI4OC41IDAgNS40IDI4LjVjMi4yIDExLjMgMTIuMSAxOS41IDIzLjYgMTkuNUw0ODggMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yODguMyAwYy0zNC42IDAtNjQuMy0yNC42LTcwLjctNTguNUw3Ny40IDU0LjVjLS43LTMuOC00LTYuNS03LjktNi41TDI0IDQ4QzEwLjcgNDggMCAzNy4zIDAgMjR6TTEyOCA0NjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMzM2LTQ4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG5jb25zdCBmYVNob3BwaW5nQ2FydCA9IGZhQ2FydFNob3BwaW5nO1xuY29uc3QgZmFWaWFscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWFscycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQ5M1wiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDU2IDAgNDggMCA1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMzA0YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTEzNiA5Nkw4OCA5NmwwIDE2MCA0OCAwIDAtMTYwek0yODggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsNTYgMCA0OCAwIDU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAzMDRjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBsMC0zMDRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00MjQgOTZsLTQ4IDAgMCAxNjAgNDggMCAwLTE2MHpcIl1cbn07XG5jb25zdCBmYVBsdWdDaXJjbGVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLXBsdXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWZcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYgNjQgMCAwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOGwwIDY3LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY3LjJjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMTYwek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMTYtMjA4bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw0OCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG5jb25zdCBmYVBsYWNlT2ZXb3JzaGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYWNlLW9mLXdvcnNoaXAnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2N2ZcIiwgXCJNMjI0IDEwOS4zbDAgMTA4LjNMMTgzLjMgMjQyYy0xNC41IDguNy0yMy4zIDI0LjMtMjMuMyA0MS4yTDE2MCA1MTJsOTYgMCAwLTk2YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCA5NiA5NiAwIDAtMjI4LjhjMC0xNi45LTguOC0zMi41LTIzLjMtNDEuMkw0MTYgMjE3LjZsMC0xMDguM2MwLTguNS0zLjQtMTYuNi05LjQtMjIuNkwzMzEuMyAxMS4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyMzMuNCA4Ni42Yy02IDYtOS40IDE0LjEtOS40IDIyLjZ6TTI0LjkgMzMwLjNDOS41IDMzOC44IDAgMzU0LjkgMCAzNzIuNEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw4MCAwIDAtMjM4LjRMMjQuOSAzMzAuM3pNNTkyIDUxMmMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTkxLjZjMC0xNy41LTkuNS0zMy42LTI0LjktNDIuMUw1MTIgMjczLjYgNTEyIDUxMmw4MCAwelwiXVxufTtcbmNvbnN0IGZhR3JpcFZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAtdmVydGljYWwnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImY1OGVcIiwgXCJNNDAgMzUybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTkyIDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwek00MCAzMjBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC00OCAwek0yMzIgMTkybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHpNNDAgMTYwYy0yMi4xIDAtNDAtMTcuOS00MC00MEwwIDcyQzAgNDkuOSAxNy45IDMyIDQwIDMybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMHpNMjMyIDMybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHpcIl1cbn07XG5jb25zdCBmYUFycm93VHVyblVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXR1cm4tdXAnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImxldmVsLXVwXCJdLCBcImYxNDhcIiwgXCJNMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMwNi43IDczLjQgNzMuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTA5LjMgMTYwIDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMHpcIl1cbn07XG5jb25zdCBmYUxldmVsVXAgPSBmYUFycm93VHVyblVwO1xuY29uc3QgZmFVID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMTddLCBcIjU1XCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhsMC0yMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDIyNGMwIDEwNi04NiAxOTItMTkyIDE5MlMwIDM5NCAwIDI4OEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhU3F1YXJlUm9vdFZhcmlhYmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1yb290LXZhcmlhYmxlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzcXVhcmUtcm9vdC1hbHRcIl0sIFwiZjY5OFwiLCBcIk0yODIuNiA3OC4xYzgtMjcuMyAzMy00Ni4xIDYxLjQtNDYuMWwyMDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzNDQgOTYgMjM4LjcgNDU3Yy0zLjYgMTIuMy0xNC4xIDIxLjItMjYuOCAyMi44cy0yNS4xLTQuNi0zMS41LTE1LjZMNzcuNiAyODggMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ1LjYgMGMyMi44IDAgNDMuOCAxMi4xIDU1LjMgMzEuOGw2NS4yIDExMS44TDI4Mi42IDc4LjF6TTM5My40IDIzMy40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwTDQ4MCAyNzQuN2w0MS40LTQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0w1MjUuMyAzMjBsNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDQ4MCAzNjUuM2wtNDEuNCA0MS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MzQuNyAzMjBsLTQxLjQtNDEuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVSb290QWx0ID0gZmFTcXVhcmVSb290VmFyaWFibGU7XG5jb25zdCBmYUNsb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb2NrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzM5LCBcImNsb2NrLWZvdXJcIl0sIFwiZjAxN1wiLCBcIk0yNTYgMGEyNTYgMjU2IDAgMSAxIDAgNTEyQTI1NiAyNTYgMCAxIDEgMjU2IDB6TTIzMiAxMjBsMCAxMzZjMCA4IDQgMTUuNSAxMC43IDIwbDk2IDY0YzExIDcuNCAyNS45IDQuNCAzMy4zLTYuN3M0LjQtMjUuOS02LjctMzMuM0wyODAgMjQzLjIgMjgwIDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHpcIl1cbn07XG5jb25zdCBmYUNsb2NrRm91ciA9IGZhQ2xvY2s7XG5jb25zdCBmYUJhY2t3YXJkU3RlcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWNrd2FyZC1zdGVwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJzdGVwLWJhY2t3YXJkXCJdLCBcImYwNDhcIiwgXCJNMjY3LjUgNDQwLjZjOS41IDcuOSAyMi44IDkuNyAzNC4xIDQuNHMxOC40LTE2LjYgMTguNC0yOWwwLTMyMGMwLTEyLjQtNy4yLTIzLjctMTguNC0yOXMtMjQuNS0zLjYtMzQuMSA0LjRsLTE5MiAxNjBMNjQgMjQxIDY0IDk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNzguMyAwIDk2TDAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNDUgMTEuNSA5LjYgMTkyIDE2MHpcIl1cbn07XG5jb25zdCBmYVN0ZXBCYWNrd2FyZCA9IGZhQmFja3dhcmRTdGVwO1xuY29uc3QgZmFQYWxsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFsbGV0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDgyXCIsIFwiTTMyIDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgNjQtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDIyNCAwIDIyNCAwIDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC02NCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwLTIyNCAwTDk2IDMyMGwtNjQgMHptOTYgNjRsMTYwIDAgMCA2NC0xNjAgMCAwLTY0em0yMjQgMGwxNjAgMCAwIDY0LTE2MCAwIDAtNjR6XCJdXG59O1xuY29uc3QgZmFGYXVjZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmF1Y2V0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDA1XCIsIFwiTTE5MiA5NmwwIDEyTDk2IDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2LTEyIDMxLTMuOSAxLS4xIDEgLjEgMzEgMy45IDk2IDEyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAxMiAwLTEyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyek0zMiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTAwLjEgMGMyMC4yIDI5IDUzLjkgNDggOTEuOSA0OHM3MS43LTE5IDkxLjktNDhsMzYuMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmMwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MGwtMzIgMC0yMi42LTIyLjZjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEwyNTYgMjI0bDAtNDMuOC0zMi00LTMyIDQgMCA0My44LTE4LjcgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRMMTI4IDI1NmwtOTYgMHpcIl1cbn07XG5jb25zdCBmYUJhc2ViYWxsQmF0QmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXNlYmFsbC1iYXQtYmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQzMlwiLCBcIk00MjQgMGMtMTIuNCAwLTI0LjIgNC45LTMzIDEzLjdMMjMzLjUgMTcxLjJjLTEwLjUgMTAuNS0xOS44IDIyLjEtMjcuNyAzNC42TDEzMi43IDMyMS42Yy03LjMgMTEuNS0xNS44IDIyLjItMjUuNSAzMS45TDY5LjkgMzkwLjdsNTEuMyA1MS4zIDM3LjMtMzcuM2M5LjYtOS42IDIwLjMtMTguMiAzMS45LTI1LjVsMTE1LjgtNzMuMWMxMi41LTcuOSAyNC4xLTE3LjIgMzQuNi0yNy43TDQ5OC4zIDEyMWM4LjctOC43IDEzLjctMjAuNiAxMy43LTMzcy00LjktMjQuMi0xMy43LTMzTDQ1NyAxMy43QzQ0OC4yIDQuOSA0MzYuNCAwIDQyNCAwem04OCA0MzJhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwek0xNSAzOTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDY0IDY0YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0OSAzOTljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhUyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTE1XSwgXCI1M1wiLCBcIk05OS4xIDEwNS40Qzc5IDExNCA2OC4yIDEyNy4yIDY1LjIgMTQ0LjhjLTIuNCAxNC4xLS43IDIzLjIgMiAyOS40YzIuOCA2LjMgNy45IDEyLjQgMTYuNyAxOC42YzE5LjIgMTMuNCA0OC4zIDIyLjEgODQuOSAzMi41YzEgLjMgMS45IC42IDIuOSAuOGMzMi43IDkuMyA3MiAyMC42IDEwMC45IDQwLjdjMTUuNyAxMC45IDI5LjkgMjUuNSAzOC42IDQ1LjFjOC44IDE5LjggMTAuOCA0MiA2LjYgNjYuM2MtNy4zIDQyLjUtMzUuMyA3MS43LTcxLjggODcuM2MtMzUuNCAxNS4yLTc5LjEgMTcuOS0xMjMuNyAxMC45bC0uMiAwczAgMCAwIDBjLTI0LTMuOS02Mi43LTE3LjEtODcuNi0yNS42Yy00LjgtMS43LTkuMi0zLjEtMTIuOC00LjNDNS4xIDQ0MC44LTMuOSA0MjIuNyAxLjYgNDA1LjlzMjMuNy0yNS44IDQwLjUtMjAuM2M0LjkgMS42IDEwLjIgMy40IDE1LjkgNS40YzI1LjQgOC42IDU2LjQgMTkuMiA3NC40IDIyLjFjMzYuOCA1LjcgNjcuNSAyLjUgODguNS02LjVjMjAuMS04LjYgMzAuOC0yMS44IDMzLjktMzkuNGMyLjQtMTQuMSAuNy0yMy4yLTItMjkuNGMtMi44LTYuMy03LjktMTIuNC0xNi43LTE4LjZjLTE5LjItMTMuNC00OC4zLTIyLjEtODQuOS0zMi41Yy0xLS4zLTEuOS0uNi0yLjktLjhjLTMyLjctOS4zLTcyLTIwLjYtMTAwLjktNDAuN2MtMTUuNy0xMC45LTI5LjktMjUuNS0zOC42LTQ1LjFjLTguOC0xOS44LTEwLjgtNDItNi42LTY2LjNsMzEuNSA1LjVMMi4xIDEzMy45QzkuNCA5MS40IDM3LjQgNjIuMiA3My45IDQ2LjZjMzUuNC0xNS4yIDc5LjEtMTcuOSAxMjMuNy0xMC45YzEzIDIgNTIuNCA5LjYgNjYuNiAxMy40YzE3LjEgNC41IDI3LjIgMjIuMSAyMi43IDM5LjJzLTIyLjEgMjcuMi0zOS4yIDIyLjdjLTExLjItMy00OC4xLTEwLjItNjAuMS0xMmw0LjktMzEuNS00LjkgMzEuNWMtMzYuOS01LjgtNjcuNS0yLjUtODguNiA2LjV6XCJdXG59O1xuY29uc3QgZmFUaW1lbGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0aW1lbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTI5Y1wiLCBcIk0xMjggNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0zMiA5Ny4zYzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjNjMC00NC4yLTM1LjgtODAtODAtODBTNDggNTEuOCA0OCA5NmMwIDMyLjggMTkuNyA2MSA0OCA3My4zTDk2IDIyNGwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNTYgMCAwIDU0LjdjLTI4LjMgMTIuMy00OCA0MC41LTQ4IDczLjNjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTMyLjgtMTkuNy02MS00OC03My4zbDAtNTQuNyAyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTU0LjdjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuM2MwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgNTQuNy0zMjAgMCAwLTU0Ljd6TTQ4OCA5NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek0zMjAgMzkyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG5jb25zdCBmYUtleWJvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tleWJvYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbOTAwMF0sIFwiZjExY1wiLCBcIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptMTYgNjRsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTE3NmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMzM2YzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDEyOGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0yNTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTM2OCAxMjhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMzUyIDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00NjQgMTI4bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ0OCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTYgODBsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUNhcmV0RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJldC1kb3duJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJmMGQ3XCIsIFwiTTEzNy40IDM3NC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5LjhMMzIgMTkyYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWwxMjggMTI4elwiXVxufTtcbmNvbnN0IGZhSG91c2VDaGltbmV5TWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaGltbmV5LW1lZGljYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImNsaW5pYy1tZWRpY2FsXCJdLCBcImY3ZjJcIiwgXCJNNTc1LjggMjU1LjVjMCAxOC0xNSAzMi4xLTMyIDMyLjFsLTMyIDAgLjcgMTYwLjJjLjIgMzUuNS0yOC41IDY0LjMtNjQgNjQuM2wtMzIwLjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjAuNC0zMiAwYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w0MTYgMTAwLjcgNDE2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjEgNTIuOCA0Ni40YzggNyAxMiAxNSAxMSAyNHpNMjcyIDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtNDggMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpcIl1cbn07XG5jb25zdCBmYUNsaW5pY01lZGljYWwgPSBmYUhvdXNlQ2hpbW5leU1lZGljYWw7XG5jb25zdCBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVycycsXG4gIGljb246IFszMjAsIDUxMiwgW1widGVtcGVyYXR1cmUtM1wiLCBcInRoZXJtb21ldGVyLTNcIiwgXCJ0aGVybW9tZXRlci10aHJlZS1xdWFydGVyc1wiXSwgXCJmMmM4XCIsIFwiTTE2MCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjQuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41Qzg2LjIgMzMyLjYgODAgMzQ5LjUgODAgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNUwyMDggMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00OCAxMTJDNDggNTAuMiA5OC4xIDAgMTYwIDBzMTEyIDUwLjEgMTEyIDExMmwwIDE2NC40YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTMzLjIgMTEuMi02My44IDMwLjEtODguMWMuOS0xLjIgMS41LTIuMiAxLjctMi44Yy4xLS4zIC4yLS41IC4yLS42TDQ4IDExMnpNMjA4IDM2OGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNMMTQ0IDE0NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTc4LjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmUzID0gZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnM7XG5jb25zdCBmYVRoZXJtb21ldGVyMyA9IGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzO1xuY29uc3QgZmFUaGVybW9tZXRlclRocmVlUXVhcnRlcnMgPSBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVycztcbmNvbnN0IGZhTW9iaWxlU2NyZWVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vYmlsZS1zY3JlZW4nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcIm1vYmlsZS1hbmRyb2lkLWFsdFwiXSwgXCJmM2NmXCIsIFwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBMMzA0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwxNiA2NHpNMTQ0IDQ0OGMwIDguOCA3LjIgMTYgMTYgMTZsNjQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0zMDQgNjRMODAgNjRsMCAzMjAgMjI0IDAgMC0zMjB6XCJdXG59O1xuY29uc3QgZmFNb2JpbGVBbmRyb2lkQWx0ID0gZmFNb2JpbGVTY3JlZW47XG5jb25zdCBmYVBsYW5lVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtdXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUyMmRcIiwgXCJNMTkyIDkzLjdDMTkyIDU5LjUgMjIxIDAgMjU2IDBjMzYgMCA2NCA1OS41IDY0IDkzLjdsMCA2Ni4zTDQ5Ny44IDI3OC41YzguOSA1LjkgMTQuMiAxNS45IDE0LjIgMjYuNmwwIDU2LjdjMCAxMC45LTEwLjcgMTguNi0yMS4xIDE1LjJMMzIwIDMyMGwwIDgwIDU3LjYgNDMuMmM0IDMgNi40IDcuOCA2LjQgMTIuOGwwIDQyYzAgNy44LTYuMyAxNC0xNCAxNGMtMS4zIDAtMi42LS4yLTMuOS0uNUwyNTYgNDgwIDE0NS45IDUxMS41Yy0xLjMgLjQtMi42IC41LTMuOSAuNWMtNy44IDAtMTQtNi4zLTE0LTE0bDAtNDJjMC01IDIuNC05LjggNi40LTEyLjhMMTkyIDQwMGwwLTgwTDIxLjEgMzc3QzEwLjcgMzgwLjQgMCAzNzIuNyAwIDM2MS44bDAtNTYuN2MwLTEwLjcgNS4zLTIwLjcgMTQuMi0yNi42TDE5MiAxNjBsMC02Ni4zelwiXVxufTtcbmNvbnN0IGZhUGlnZ3lCYW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BpZ2d5LWJhbmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0ZDNcIiwgXCJNNDAwIDk2bDAgLjdjLTUuMy0uNC0xMC42LS43LTE2LS43TDI1NiA5NmMtMTYuNSAwLTMyLjUgMi4xLTQ3LjggNmMtLjEtMi0uMi00LS4yLTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnptLTE2IDMyYzMuNSAwIDcgLjEgMTAuNCAuM2M0LjIgLjMgOC40IC43IDEyLjYgMS4zQzQyNC42IDEwOS4xIDQ1MC44IDk2IDQ4MCA5NmwxMS41IDBjMTAuNCAwIDE4IDkuOCAxNS41IDE5LjlsLTEzLjggNTUuMmMxNS44IDE0LjggMjguNyAzMi44IDM3LjUgNTIuOWwxMy4zIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtOS4xIDEyLjEtMTkuOSAyMi45LTMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzItMTI4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMtMzQuOS0yNi4yLTU4LjctNjYuMy02My4yLTExMkw2OCAzMDRjLTM3LjYgMC02OC0zMC40LTY4LTY4czMwLjQtNjggNjgtNjhsNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00IDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDMxLjIgMGMxMi4xLTU5LjggNTcuNy0xMDcuNSAxMTYuMy0xMjIuOGMxMi45LTMuNCAyNi41LTUuMiA0MC41LTUuMmwxMjggMHptNjQgMTM2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5SGFsZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXR0ZXJ5LWhhbGYnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJhdHRlcnktM1wiXSwgXCJmMjQyXCIsIFwiTTQ2NCAxNjBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTYwYzAgOC44LTcuMiAxNi0xNiAxNkw4MCAzNTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZsMzg0IDB6TTgwIDk2QzM1LjggOTYgMCAxMzEuOCAwIDE3NkwwIDMzNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzODQgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTE2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC0xNmMwLTQ0LjItMzUuOC04MC04MC04MEw4MCA5NnptMjA4IDk2TDk2IDE5MmwwIDEyOCAxOTIgMCAwLTEyOHpcIl1cbn07XG5jb25zdCBmYUJhdHRlcnkzID0gZmFCYXR0ZXJ5SGFsZjtcbmNvbnN0IGZhTW91bnRhaW5DaXR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW50YWluLWNpdHknLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MmVcIiwgXCJNMzM2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTIuMSA3MS40IDExOC40YzIuNS0xLjYgNS40LTIuNSA4LjYtMi41bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zLjUgMCA3My44IDEyMi40YzEyLjQgMjAuNiAxMi45IDQ2LjMgMS4yIDY3LjNjLS40IC44LS45IDEuNi0xLjQgMi4zTDU5MiA1MTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTI0IDAgMC03MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDcyLTQwIDAgMC0xNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzM2IDB6bTMyIDY0bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTM1MiAxNzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTYwIDk2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCAxODguOUwyODMuOCAyODggMjIzIDI4OGwtNDggNjQtMjQuNi00MS4yTDIyNCAxODguOXptMjkuNC00NC4yQzI0Ny4xIDEzNC4zIDIzNiAxMjggMjI0IDEyOHMtMjMuMSA2LjMtMjkuNCAxNi43TDUuMSA0NTguOWMtNi41IDEwLjgtNi43IDI0LjMtLjcgMzUuM1MyMiA1MTIgMzQuNSA1MTJsMzc5LjEgMGMxMi41IDAgMjQtNi44IDMwLjEtMTcuOHM1LjgtMjQuNS0uNy0zNS4zTDI1My40IDE0NC43elwiXVxufTtcbmNvbnN0IGZhQ29pbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29pbnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1MWVcIiwgXCJNNTEyIDgwYzAgMTgtMTQuMyAzNC42LTM4LjQgNDhjLTI5LjEgMTYuMS03Mi41IDI3LjUtMTIyLjMgMzAuOWMtMy43LTEuOC03LjQtMy41LTExLjMtNUMzMDAuNiAxMzcuNCAyNDguMiAxMjggMTkyIDEyOGMtOC4zIDAtMTYuNCAuMi0yNC41IC42bC0xLjEtLjZDMTQyLjMgMTE0LjYgMTI4IDk4IDEyOCA4MGMwLTQ0LjIgODYtODAgMTkyLTgwUzUxMiAzNS44IDUxMiA4MHpNMTYwLjcgMTYxLjFjMTAuMi0uNyAyMC43LTEuMSAzMS4zLTEuMWM2Mi4yIDAgMTE3LjQgMTIuMyAxNTIuNSAzMS40QzM2OS4zIDIwNC45IDM4NCAyMjEuNyAzODQgMjQwYzAgNC0uNyA3LjktMi4xIDExLjdjLTQuNiAxMy4yLTE3IDI1LjMtMzUgMzUuNWMwIDAgMCAwIDAgMGMtLjEgLjEtLjMgLjEtLjQgLjJjMCAwIDAgMCAwIDBzMCAwIDAgMGMtLjMgLjItLjYgLjMtLjkgLjVjLTM1IDE5LjQtOTAuOCAzMi0xNTMuNiAzMmMtNTkuNiAwLTExMi45LTExLjMtMTQ4LjItMjkuMWMtMS45LS45LTMuNy0xLjktNS41LTIuOUMxNC4zIDI3NC42IDAgMjU4IDAgMjQwYzAtMzQuOCA1My40LTY0LjUgMTI4LTc1LjRjMTAuNS0xLjUgMjEuNC0yLjcgMzIuNy0zLjV6TTQxNiAyNDBjMC0yMS45LTEwLjYtMzkuOS0yNC4xLTUzLjRjMjguMy00LjQgNTQuMi0xMS40IDc2LjItMjAuNWMxNi4zLTYuOCAzMS41LTE1LjIgNDMuOS0yNS41bDAgMzUuNGMwIDE5LjMtMTYuNSAzNy4xLTQzLjggNTAuOWMtMTQuNiA3LjQtMzIuNCAxMy43LTUyLjQgMTguNWMuMS0xLjggLjItMy41IC4yLTUuM3ptLTMyIDk2YzAgMTgtMTQuMyAzNC42LTM4LjQgNDhjLTEuOCAxLTMuNiAxLjktNS41IDIuOUMzMDQuOSA0MDQuNyAyNTEuNiA0MTYgMTkyIDQxNmMtNjIuOCAwLTExOC42LTEyLjYtMTUzLjYtMzJDMTQuMyAzNzAuNiAwIDM1NCAwIDMzNmwwLTM1LjRjMTIuNSAxMC4zIDI3LjYgMTguNyA0My45IDI1LjVDODMuNCAzNDIuNiAxMzUuOCAzNTIgMTkyIDM1MnMxMDguNi05LjQgMTQ4LjEtMjUuOWM3LjgtMy4yIDE1LjMtNi45IDIyLjQtMTAuOWM2LjEtMy40IDExLjgtNy4yIDE3LjItMTEuMmMxLjUtMS4xIDIuOS0yLjMgNC4zLTMuNGwwIDMuNCAwIDUuNyAwIDI2LjN6bTMyIDBsMC0zMiAwLTI1LjljMTktNC4yIDM2LjUtOS41IDUyLjEtMTZjMTYuMy02LjggMzEuNS0xNS4yIDQzLjktMjUuNWwwIDM1LjRjMCAxMC41LTUgMjEtMTQuOSAzMC45Yy0xNi4zIDE2LjMtNDUgMjkuNy04MS4zIDM4LjRjLjEtMS43IC4yLTMuNSAuMi01LjN6TTE5MiA0NDhjNTYuMiAwIDEwOC42LTkuNCAxNDguMS0yNS45YzE2LjMtNi44IDMxLjUtMTUuMiA0My45LTI1LjVsMCAzNS40YzAgNDQuMi04NiA4MC0xOTIgODBTMCA0NzYuMiAwIDQzMmwwLTM1LjRjMTIuNSAxMC4zIDI3LjYgMTguNyA0My45IDI1LjVDODMuNCA0MzguNiAxMzUuOCA0NDggMTkyIDQ0OHpcIl1cbn07XG5jb25zdCBmYUtoYW5kYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdraGFuZGEnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NzcyXSwgXCJmNjZkXCIsIFwiTTI0NS44IDMuN2M1LjktNC45IDE0LjYtNC45IDIwLjUgMGw0OCA0MGM1LjkgNC45IDcuNSAxMy4yIDMuOCAxOS45YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwbC0uMSAuMS0uMyAuNmMtLjMgLjUtLjcgMS4zLTEuMiAyLjNjLTEgMi0yLjYgNS00LjQgOC42Yy0uNSAuOS0uOSAxLjktMS40IDIuOUMzNDQuOSA5Ny40IDM2OCAxMzQgMzY4IDE3NnMtMjMuMSA3OC42LTU3LjMgOTcuOGMuNSAxIDEgMiAxLjQgMi45YzEuOCAzLjcgMy4zIDYuNiA0LjQgOC42Yy41IDEgLjkgMS44IDEuMiAyLjNsLjMgLjYgLjEgLjFzMCAwIDAgMHMwIDAgMCAwYzMuNiA2LjcgMiAxNS0zLjggMTkuOUwyNzIgMzQzLjVsMCAxOS44IDM1LjYtMjQuNSA0MS4xLTI4LjJjNDIuOC0yOS40IDY4LjQtNzggNjguNC0xMzBjMC0zMS4xLTkuMi02MS42LTI2LjUtODcuNWwtMi44LTQuMmMtNC02LTMuNS0xNCAxLjMtMTkuNXMxMi43LTcgMTkuMi0zLjdMNDAxLjEgODBjNy4yLTE0LjMgNy4yLTE0LjMgNy4yLTE0LjNzMCAwIDAgMHMwIDAgMCAwbC4xIDAgLjMgLjIgMSAuNWMuOCAuNCAyIDEuMSAzLjUgMS45YzIuOSAxLjcgNyA0LjEgMTEuOCA3LjNjOS42IDYuNCAyMi41IDE2LjEgMzUuNCAyOWMyNS43IDI1LjcgNTIuNyA2NS42IDUyLjcgMTE5LjNjMCA1My4xLTI2LjQgMTAwLjUtNTEuMiAxMzMuNmMtMTIuNiAxNi43LTI1LjEgMzAuMy0zNC41IDM5LjdjLTQuNyA0LjctOC43IDguNC0xMS41IDEwLjljLTEuNCAxLjMtMi41IDIuMi0zLjMgMi45bC0uOSAuOC0uMyAuMi0uMSAuMWMwIDAgMCAwIDAgMHMwIDAgMCAwTDQwMS4xIDQwMGwxMC4yIDEyLjNjLTUuMSA0LjMtMTIuNCA0LjktMTguMiAxLjZsLTc1LjYtNDMtMzIuNyAyMi41IDQ1LjUgMzEuM2MxLjgtLjQgMy43LS43IDUuNy0uN2MxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMTIuMiAwLTIyLjMtOS4xLTIzLjgtMjFMMjcyIDQyMy40bDAgMjguOWM5LjYgNS41IDE2IDE1LjkgMTYgMjcuN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTExLjggNi40LTIyLjIgMTYtMjcuN2wwLTI4LjEtNDAuMyAyNy43QzE5Ny44IDQ2My4zIDE4Ny45IDQ3MiAxNzYgNDcyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzIuMiAwIDQuNCAuMyA2LjUgLjlsNDUuOC0zMS41LTMyLjctMjIuNS03NS42IDQzYy01LjggMy4zLTEzIDIuNy0xOC4yLTEuNkwxMTIgNDAwYy0xMC4yIDEyLjMtMTAuMiAxMi4zLTEwLjMgMTIuM3MwIDAgMCAwczAgMCAwIDBsLS4xLS4xLS4zLS4yLS45LS44Yy0uOC0uNy0xLjktMS43LTMuMy0yLjljLTIuOC0yLjUtNi43LTYuMi0xMS41LTEwLjljLTkuNC05LjQtMjEuOS0yMy0zNC41LTM5LjdDMjYuNCAzMjQuNSAwIDI3Ny4xIDAgMjI0YzAtNTMuNyAyNi45LTkzLjYgNTIuNy0xMTkuM2MxMi45LTEyLjkgMjUuOC0yMi42IDM1LjQtMjlDOTMgNzIuNSA5NyA3MCA5OS45IDY4LjRjMS41LS44IDIuNi0xLjUgMy41LTEuOWwxLS41IC4zLS4yIC4xIDBjMCAwIDAgMCAwIDBzMCAwIDAgMEwxMTIgODBsLTcuMi0xNC4zYzYuNS0zLjIgMTQuMy0xLjcgMTkuMiAzLjdzNS4zIDEzLjQgMS4zIDE5LjVsLTIuOCA0LjJDMTA1LjIgMTE5IDk2IDE0OS41IDk2IDE4MC42YzAgNTEuOSAyNS42IDEwMC42IDY4LjQgMTMwbDQxLjEgMjguMkwyNDAgMzYyLjZsMC0xOS4xLTQyLjItMzUuMmMtNS45LTQuOS03LjUtMTMuMi0zLjgtMTkuOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBsLjEtLjEgLjMtLjZjLjMtLjUgLjctMS4zIDEuMi0yLjNjMS0yIDIuNi01IDQuNC04LjZjLjUtLjkgLjktMS45IDEuNC0yLjlDMTY3LjEgMjU0LjYgMTQ0IDIxOCAxNDQgMTc2czIzLjEtNzguNiA1Ny4zLTk3LjhjLS41LTEtMS0yLTEuNC0yLjljLTEuOC0zLjctMy4zLTYuNi00LjQtOC42Yy0uNS0xLS45LTEuOC0xLjItMi4zbC0uMy0uNi0uMS0uMXMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMtMy42LTYuNy0yLTE1IDMuOC0xOS45bDQ4LTQwek0yMjAuMiAxMjIuOWMtMTcgMTEuNS0yOC4yIDMxLTI4LjIgNTMuMXMxMS4yIDQxLjYgMjguMiA1My4xQzIyNyAyMTAuMiAyMzIgMTkwLjkgMjMyIDE3NnMtNS0zNC4yLTExLjgtNTMuMXptNzEuNSAxMDYuMmMxNy0xMS41IDI4LjItMzEgMjguMi01My4xcy0xMS4yLTQxLjYtMjguMi01My4xQzI4NSAxNDEuOCAyODAgMTYxLjEgMjgwIDE3NnM1IDM0LjIgMTEuOCA1My4xelwiXVxufTtcbmNvbnN0IGZhU2xpZGVycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbGlkZXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzbGlkZXJzLWhcIl0sIFwiZjFkZVwiLCBcIk0wIDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw1NC43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhMNDgwIDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjQ2LjcgMGMtMTIuMy0yOC4zLTQwLjUtNDgtNzMuMy00OHMtNjEgMTkuNy03My4zIDQ4TDMyIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTEyOCAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTMyMCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzItODBjLTMyLjggMC02MSAxOS43LTczLjMgNDhMMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI0Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhsNTQuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01NC43IDBjLTEyLjMtMjguMy00MC41LTQ4LTczLjMtNDh6TTE5MiAxMjhhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em03My4zLTY0QzI1MyAzNS43IDIyNC44IDE2IDE5MiAxNnMtNjEgMTkuNy03My4zIDQ4TDMyIDY0QzE0LjMgNjQgMCA3OC4zIDAgOTZzMTQuMyAzMiAzMiAzMmw4Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhMNDgwIDEyOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwyNjUuMyA2NHpcIl1cbn07XG5jb25zdCBmYVNsaWRlcnNIID0gZmFTbGlkZXJzO1xuY29uc3QgZmFGb2xkZXJUcmVlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci10cmVlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmODAyXCIsIFwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJsMCA5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMCAwLTY0TDY0IDM4NGwwLTIyNCAxOTIgMCAwLTY0TDY0IDk2bDAtNjR6TTI4OCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsLTk4LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMNDA5LjQgOS40Yy02LTYtMTQuMS05LjQtMjIuNi05LjRMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTYwem0wIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTguNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTMuMy0xMy4zYy02LTYtMTQuMS05LjQtMjIuNi05LjRMMzIwIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxNjB6XCJdXG59O1xuY29uc3QgZmFOZXR3b3JrV2lyZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmV0d29yay13aXJlZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjZmZlwiLCBcIk0yNTYgNjRsMTI4IDAgMCA2NC0xMjggMCAwLTY0ek0yNDAgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0OCAwIDAgMzJMMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgMCAzMi00OCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMC0zMiAyNTYgMCAwIDMyLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDhsMTYwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwLTMyIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI1NiAwIDAtMzIgNDggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDI0MCAwek05NiA0NDhsMC02NCAxMjggMCAwIDY0TDk2IDQ0OHptMzIwLTY0bDEyOCAwIDAgNjQtMTI4IDAgMC02NHpcIl1cbn07XG5jb25zdCBmYU1hcFBpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXAtcGluJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTI4MjA1XSwgXCJmMjc2XCIsIFwiTTE2IDE0NGExNDQgMTQ0IDAgMSAxIDI4OCAwQTE0NCAxNDQgMCAxIDEgMTYgMTQ0ek0xNjAgODBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZjLTUzIDAtOTYgNDMtOTYgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmMwLTM1LjMgMjguNy02NCA2NC02NHpNMTI4IDQ4MGwwLTE2Mi45YzEwLjQgMS45IDIxLjEgMi45IDMyIDIuOXMyMS42LTEgMzItMi45TDE5MiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xuY29uc3QgZmFIYW1zYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW1zYScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY2NVwiLCBcIk0zNC42IDI4OEw4MCAyODhjOC44IDAgMTYtNy4yIDE2LTE2TDk2IDcyYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxMzJjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xNjRjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDE2NGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTEzMmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjAwYzAgOC44IDcuMiAxNiAxNiAxNmw0NS40IDBjMTkuMSAwIDM0LjYgMTUuNSAzNC42IDM0LjZjMCA4LjYtMy4yIDE2LjktOSAyMy4zTDQxNi42IDQ0MWMtNDEuMSA0NS4yLTk5LjQgNzEtMTYwLjYgNzFzLTExOS40LTI1LjgtMTYwLjYtNzFMOSAzNDUuOWMtNS44LTYuNC05LTE0LjctOS0yMy4zQzAgMzAzLjUgMTUuNSAyODggMzQuNiAyODh6TTI1NiAyODhjLTM4LjQgMC03Ni44IDM1LjgtOTAuNiA1MC4yYy0zLjYgMy43LTUuNCA4LjctNS40IDEzLjhzMS44IDEwLjEgNS40IDEzLjhDMTc5LjIgMzgwLjIgMjE3LjYgNDE2IDI1NiA0MTZzNzYuOC0zNS44IDkwLjYtNTAuMmMzLjYtMy43IDUuNC04LjcgNS40LTEzLjhzLTEuOC0xMC4xLTUuNC0xMy44QzMzMi44IDMyMy44IDI5NC40IDI4OCAyNTYgMjg4em0wIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUNlbnRTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NlbnQtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTNmNVwiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDM0LjdjMzAuOSA1LjIgNTkuMiAxNy43IDgzLjIgMzUuOGMxNC4xIDEwLjYgMTcgMzAuNyA2LjQgNDQuOHMtMzAuNyAxNy00NC44IDYuNEMyNzkuNCAxMzcuNSAyNTIuOSAxMjggMjI0IDEyOGMtNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhzNTcuMyAxMjggMTI4IDEyOGMyOC45IDAgNTUuNC05LjUgNzYuOC0yNS42YzE0LjEtMTAuNiAzNC4yLTcuOCA0NC44IDYuNHM3LjggMzQuMi02LjQgNDQuOGMtMjQgMTgtNTIuNCAzMC42LTgzLjIgMzUuOGwwIDM0LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNC43QzEwMS4yIDQzMC4xIDMyIDM1MS4xIDMyIDI1NnM2OS4yLTE3NC4xIDE2MC0xODkuM0wxOTIgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFGbGFzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFzaycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjBjM1wiLCBcIk0yODggMEwxNjAgMCAxMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJzMTQuMyAzMiAzMiAzMmwwIDEzMi44YzAgMTEuOC0zLjMgMjMuNS05LjUgMzMuNUwxMC4zIDQwNi4yQzMuNiA0MTcuMiAwIDQyOS43IDAgNDQyLjZDMCA0ODAuOSAzMS4xIDUxMiA2OS40IDUxMmwzMDkuMiAwYzM4LjMgMCA2OS40LTMxLjEgNjkuNC02OS40YzAtMTIuOC0zLjYtMjUuNC0xMC4zLTM2LjRMMzI5LjUgMjMwLjRjLTYuMi0xMC4xLTkuNS0yMS43LTkuNS0zMy41TDMyMCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwyODggMHpNMTkyIDE5Ni44TDE5MiA2NGw2NCAwIDAgMTMyLjhjMCAyMy43IDYuNiA0Ni45IDE5IDY3LjFMMzA5LjUgMzIwbC0xNzEgMEwxNzMgMjYzLjljMTIuNC0yMC4yIDE5LTQzLjQgMTktNjcuMXpcIl1cbn07XG5jb25zdCBmYVBlcnNvblByZWduYW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1wcmVnbmFudCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTMxZVwiLCBcIk0xOTIgMGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTEyMCAzODNjLTEzLjgtMy42LTI0LTE2LjEtMjQtMzFsMC01NS4xLTQuNiA3LjZjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE1LTI0LjkgNDAuMy00MS41IDY4LjctNDUuNmM0LjEtLjYgOC4yLTEgMTIuNS0xbDEuMSAwIDEyLjUgMCAyLjQgMGMxLjQgMCAyLjggLjEgNC4xIC4zYzM1LjcgMi45IDY1LjQgMjkuMyA3Mi4xIDY1bDYuMSAzMi41YzQ0LjMgOC42IDc3LjcgNDcuNSA3Ny43IDk0LjNsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYgMC00MCAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni04IDAtOCAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05N3pcIl1cbn07XG5jb25zdCBmYVdhbmRTcGFya2xlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YW5kLXNwYXJrbGVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzJiXCIsIFwiTTQ2NCA2LjFjOS41LTguNSAyNC04LjEgMzMgLjlsOCA4YzkgOSA5LjQgMjMuNSAuOSAzM2wtODUuOCA5NS45Yy0yLjYgMi45LTQuMSA2LjctNC4xIDEwLjdsMCAyMS40YzAgOC44LTcuMiAxNi0xNiAxNmwtMTUuOCAwYy00LjYgMC04LjkgMS45LTExLjkgNS4zTDEwMC43IDUwMC45Qzk0LjMgNTA4IDg1LjMgNTEyIDc1LjggNTEyYy04LjggMC0xNy4zLTMuNS0yMy41LTkuOEw5LjcgNDU5LjdDMy41IDQ1My40IDAgNDQ1IDAgNDM2LjJjMC05LjUgNC0xOC41IDExLjEtMjQuOGwxMTEuNi05OS44YzMuNC0zIDUuMy03LjQgNS4zLTExLjlsMC0yNy42YzAtOC44IDcuMi0xNiAxNi0xNmwzNC42IDBjMy45IDAgNy43LTEuNSAxMC43LTQuMUw0NjQgNi4xek00MzIgMjg4YzMuNiAwIDYuNyAyLjQgNy43IDUuOGwxNC44IDUxLjcgNTEuNyAxNC44YzMuNCAxIDUuOCA0LjEgNS44IDcuN3MtMi40IDYuNy01LjggNy43bC01MS43IDE0LjgtMTQuOCA1MS43Yy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOGwtMTQuOC01MS43LTUxLjctMTQuOGMtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjggMTQuOC01MS43YzEtMy40IDQuMS01LjggNy43LTUuOHpNODcuNyA2OS44bDE0LjggNTEuNyA1MS43IDE0LjhjMy40IDEgNS44IDQuMSA1LjggNy43cy0yLjQgNi43LTUuOCA3LjdsLTUxLjcgMTQuOEw4Ny43IDIxOC4yYy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOEw1Ny41IDE2Ni41IDUuOCAxNTEuN2MtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjhMNzIuMyA2OS44YzEtMy40IDQuMS01LjggNy43LTUuOHM2LjcgMi40IDcuNyA1Ljh6TTIwOCAwYzMuNyAwIDYuOSAyLjUgNy44IDYuMWw2LjggMjcuMyAyNy4zIDYuOGMzLjYgLjkgNi4xIDQuMSA2LjEgNy44cy0yLjUgNi45LTYuMSA3LjhsLTI3LjMgNi44LTYuOCAyNy4zYy0uOSAzLjYtNC4xIDYuMS03LjggNi4xcy02LjktMi41LTcuOC02LjFsLTYuOC0yNy4zLTI3LjMtNi44Yy0zLjYtLjktNi4xLTQuMS02LjEtNy44czIuNS02LjkgNi4xLTcuOGwyNy4zLTYuOCA2LjgtMjcuM2MuOS0zLjYgNC4xLTYuMSA3LjgtNi4xelwiXVxufTtcbmNvbnN0IGZhRWxsaXBzaXNWZXJ0aWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGxpcHNpcy12ZXJ0aWNhbCcsXG4gIGljb246IFsxMjgsIDUxMiwgW1wiZWxsaXBzaXMtdlwiXSwgXCJmMTQyXCIsIFwiTTY0IDM2MGE1NiA1NiAwIDEgMCAwIDExMiA1NiA1NiAwIDEgMCAwLTExMnptMC0xNjBhNTYgNTYgMCAxIDAgMCAxMTIgNTYgNTYgMCAxIDAgMC0xMTJ6TTEyMCA5NkE1NiA1NiAwIDEgMCA4IDk2YTU2IDU2IDAgMSAwIDExMiAwelwiXVxufTtcbmNvbnN0IGZhRWxsaXBzaXNWID0gZmFFbGxpcHNpc1ZlcnRpY2FsO1xuY29uc3QgZmFUaWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGlja2V0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTAzXSwgXCJmMTQ1XCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4bDAgNjRjMCA4LjggNy40IDE1LjcgMTUuNyAxOC42QzM0LjUgMjE3LjEgNDggMjM1IDQ4IDI1NnMtMTMuNSAzOC45LTMyLjMgNDUuNEM3LjQgMzA0LjMgMCAzMTEuMiAwIDMyMGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC04LjgtNy40LTE1LjctMTUuNy0xOC42QzU0MS41IDI5NC45IDUyOCAyNzcgNTI4IDI1NnMxMy41LTM4LjkgMzIuMy00NS40YzguMy0yLjkgMTUuNy05LjggMTUuNy0xOC42bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTY0IDExMmwwIDE2MGMwIDguOCA3LjIgMTYgMTYgMTZsMjg4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTYwYzAtOC44LTcuMi0xNi0xNi0xNmwtMjg4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNOTYgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTJ6XCJdXG59O1xuY29uc3QgZmFQb3dlck9mZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwb3dlci1vZmYnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5MjExXSwgXCJmMDExXCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0ek0xNDMuNSAxMjAuNmMxMy42LTExLjMgMTUuNC0zMS41IDQuMS00NS4xcy0zMS41LTE1LjQtNDUuMS00LjFDNDkuNyAxMTUuNCAxNiAxODEuOCAxNiAyNTZjMCAxMzIuNSAxMDcuNSAyNDAgMjQwIDI0MHMyNDAtMTA3LjUgMjQwLTI0MGMwLTc0LjItMzMuOC0xNDAuNi04Ni42LTE4NC42Yy0xMy42LTExLjMtMzMuOC05LjQtNDUuMSA0LjFzLTkuNCAzMy44IDQuMSA0NS4xYzM4LjkgMzIuMyA2My41IDgxIDYzLjUgMTM1LjRjMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZzLTE3Ni03OC44LTE3Ni0xNzZjMC01NC40IDI0LjctMTAzLjEgNjMuNS0xMzUuNHpcIl1cbn07XG5jb25zdCBmYVJpZ2h0TG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyaWdodC1sb25nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb25nLWFycm93LWFsdC1yaWdodFwiXSwgXCJmMzBiXCIsIFwiTTMzNC41IDQxNGM4LjggMy44IDE5IDIgMjYtNC42bDE0NC0xMzZjNC44LTQuNSA3LjUtMTAuOCA3LjUtMTcuNHMtMi43LTEyLjktNy41LTE3LjRsLTE0NC0xMzZjLTctNi42LTE3LjItOC40LTI2LTQuNnMtMTQuNSAxMi41LTE0LjUgMjJsMCA3MkwzMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjg4IDAgMCA3MmMwIDkuNiA1LjcgMTguMiAxNC41IDIyelwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93QWx0UmlnaHQgPSBmYVJpZ2h0TG9uZztcbmNvbnN0IGZhRmxhZ1VzYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFnLXVzYScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc0ZFwiLCBcIk0zMiAwQzQ5LjcgMCA2NCAxNC4zIDY0IDMybDAgMTYgNjktMTcuMmMzOC4xLTkuNSA3OC4zLTUuMSAxMTMuNSAxMi41YzQ2LjMgMjMuMiAxMDAuOCAyMy4yIDE0Ny4xIDBsOS42LTQuOEM0MjMuOCAyOC4xIDQ0OCA0My4xIDQ0OCA2Ni4xbDAgMzYuMS00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTIwLjMtOS00MS44LTE0LjctNjMuNi0xNi45bDAgMzIuMmMxNy40IDIuMSAzNC40IDYuNyA1MC42IDEzLjlsMTYuMSA3LjJjNDkuMiAyMS45IDEwNSAyMy44IDE1NS42IDUuNEw0NDggMTM2LjNsMCA2Mi00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTQwLjItMTcuOS04NS0yMi41LTEyOC4xLTEzLjNMNjQgMjAzLjFsMCAzMi43IDcwLjItMTUuMWMzNi40LTcuOCA3NC4zLTMuOSAxMDguNCAxMS4zbDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRMNDQ4IDIzMi4zbDAgNjItNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy00MC4yLTE3LjktODUtMjIuNS0xMjguMS0xMy4zTDY0IDI5OS4xbDAgMzIuNyA3MC4yLTE1LjFjMzYuNC03LjggNzQuMy0zLjkgMTA4LjQgMTEuM2wxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40TDQ0OCAzMjguM2wwIDMzLjVjMCAxMy4zLTguMyAyNS4zLTIwLjggMzBsLTM0LjcgMTNjLTQ2LjIgMTcuMy05Ny42IDE0LjYtMTQxLjctNy40Yy0zNy45LTE5LTgxLjMtMjMuNy0xMjIuNS0xMy40TDY0IDQwMGwwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjQgMC03MC41IDAtMzIuNyAwLTYzLjMgMC0zMi43IDAtNjMuMyAwLTMyLjdMMCA2NCAwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHptODAgOTZBMTYgMTYgMCAxIDAgODAgOTZhMTYgMTYgMCAxIDAgMzIgMHptMzIgMGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bS0zMiA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0zMiAwYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG5jb25zdCBmYUxhcHRvcEZpbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFwdG9wLWZpbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MWRcIiwgXCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjRsMCAyMjQtNDQuOCAwQzguNiAyODggMCAyOTYuNiAwIDMwNy4yQzAgMzQ5LjYgMzQuNCAzODQgNzYuOCAzODRMMzIwIDM4NGwwLTk2LTE5MiAwIDAtMjI0IDMyMCAwIDAgMzIgNjQgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOCAwek01MTIgMTI4bC0xMTIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAyODhjMCAyNi41IDIxLjUgNDggNDggNDhsMTkyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMDgtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnptMzIgMGwwIDk2IDk2IDAtOTYtOTZ6XCJdXG59O1xuY29uc3QgZmFUdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHR5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0ZWxldHlwZVwiXSwgXCJmMWU0XCIsIFwiTTM4LjMgMjQxLjNMMTUuMSAyMDAuNmMtOS4yLTE2LjItOC40LTM2LjUgNC41LTUwQzYxLjQgMTA2LjggMTQ0LjcgNDggMjU2IDQ4czE5NC42IDU4LjggMjM2LjQgMTAyLjZjMTIuOSAxMy41IDEzLjcgMzMuOCA0LjUgNTBsLTIzLjEgNDAuN2MtNy41IDEzLjItMjMuMyAxOS4zLTM3LjggMTQuNmwtODEuMS0yNi42Yy0xMy4xLTQuMy0yMi0xNi42LTIyLTMwLjRsMC01NC44Yy00OS42LTE4LjEtMTA0LTE4LjEtMTUzLjYgMGwwIDU0LjhjMCAxMy44LTguOSAyNi4xLTIyIDMwLjRMNzYuMSAyNTUuOGMtMTQuNSA0LjctMzAuMy0xLjQtMzcuOC0xNC42ek0zMiAzMzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0xNDQgMzIwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggNDMyYzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpcIl1cbn07XG5jb25zdCBmYVRlbGV0eXBlID0gZmFUdHk7XG5jb25zdCBmYURpYWdyYW1OZXh0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYWdyYW0tbmV4dCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTQ3NlwiLCBcIk01MTIgMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xNjggMCAwIDY0IDQ2LjEgMGMyMS40IDAgMzIuMSAyNS45IDE3IDQxTDI3MyAzOTljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDE2OSAzMjljLTE1LjEtMTUuMS00LjQtNDEgMTctNDFsNDYuMSAwIDAtNjRMNjQgMjI0Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjR6TTQ0OCA0MTZsMC02NC04Mi43IDAgLjQtLjRjMTguNC0xOC40IDIwLjQtNDMuNyAxMS02My42bDcxLjMgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGw3MS4zIDBjLTkuNCAxOS45LTcuNCA0NS4yIDExIDYzLjZsLjQgLjRMNjQgMzUybDAgNjQgMTQ2LjcgMCA1LjcgNS43YzIxLjkgMjEuOSA1Ny4zIDIxLjkgNzkuMiAwbDUuNy01LjdMNDQ4IDQxNnpcIl1cbn07XG5jb25zdCBmYVBlcnNvblJpZmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1yaWZsZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0ZVwiLCBcIk0yNjUuMiAxOTJjMjUuNCAwIDQ5LjggNy4xIDcwLjggMTkuOUwzMzYgNTEybC0xOTIgMCAwLTE3NC4zTDkwLjQgNDI4LjNjLTExLjIgMTktMzUuOCAyNS4zLTU0LjggMTQuMXMtMjUuMy0zNS44LTE0LjEtNTQuOEw5Ny43IDI1OC44YzI0LjUtNDEuNCA2OS02Ni44IDExNy4xLTY2LjhsNTAuNCAwek0xNjAgODBhODAgODAgMCAxIDEgMTYwIDBBODAgODAgMCAxIDEgMTYwIDgwek00NDggMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxMTYuM2M5LjYgNS41IDE2IDE1LjkgMTYgMjcuN2wwIDEwOS4zIDE2LTUuMyAwLTU2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDg0LjVjMCA2LjktNC40IDEzLTEwLjkgMTUuMkw0ODAgMzI1LjNsMCAyNi43IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC00NCAwIDIzIDkyLjFjMi41IDEwLjEtNS4xIDE5LjktMTUuNSAxOS45TDQzMiA1MTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTk2LTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTQ0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtMzJjMC0xMS44IDYuNC0yMi4yIDE2LTI3LjdMNDE2IDMyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDAgMTYgMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlTWVkaWNhbENpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTEyXCIsIFwiTTMyMCAzNjhjMCA1OS41IDI5LjUgMTEyLjEgNzQuOCAxNDRsLTI2Ni43IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTYwLjQtMzIgMGMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTIyLjEgMTkzLjljLTguNS0xLjMtMTcuMy0xLjktMjYuMS0xLjljLTU0LjcgMC0xMDMuNSAyNC45LTEzNS44IDY0TDMyMCAyNTZsMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wLTE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYUNsb3NlZENhcHRpb25pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvc2VkLWNhcHRpb25pbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYyMGFcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTIwMCAyMDhjMTQuMiAwIDI3IDYuMSAzNS44IDE2YzguOCA5LjkgMjQgMTAuNyAzMy45IDEuOXMxMC43LTI0IDEuOS0zMy45Yy0xNy41LTE5LjYtNDMuMS0zMi03MS41LTMyYy01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2YzI4LjQgMCA1NC0xMi40IDcxLjUtMzJjOC44LTkuOSA4LTI1LTEuOS0zMy45cy0yNS04LTMzLjkgMS45Yy04LjggOS45LTIxLjYgMTYtMzUuOCAxNmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OHptMTQ0IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4YzE0LjIgMCAyNyA2LjEgMzUuOCAxNmM4LjggOS45IDI0IDEwLjcgMzMuOSAxLjlzMTAuNy0yNCAxLjktMzMuOWMtMTcuNS0xOS42LTQzLjEtMzItNzEuNS0zMmMtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMyOC40IDAgNTQtMTIuNCA3MS41LTMyYzguOC05LjkgOC0yNS0xLjktMzMuOXMtMjUtOC0zMy45IDEuOWMtOC44IDkuOS0yMS42IDE2LTM1LjggMTZjLTI2LjUgMC00OC0yMS41LTQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhUGVyc29uSGlraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1oaWtpbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImhpa2luZ1wiXSwgXCJmNmVjXCIsIFwiTTE5MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem01MS4zIDE4Mi43TDIyNC4yIDMwN2w0OS43IDQ5LjdjOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlsMCA4OS40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODIuNy03My45LTczLjljLTE1LjgtMTUuOC0yMi4yLTM4LjYtMTYuOS02MC4zbDIwLjQtODRjOC4zLTM0LjEgNDIuNy01NC45IDc2LjctNDYuNGMxOSA0LjggMzUuNiAxNi40IDQ2LjQgMzIuN0wzMDUuMSAyMDhsMzAuOSAwIDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDU1LjhjMCAuMSAwIC4yIDAgLjJzMCAuMiAwIC4yTDM4NCA0ODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMTYtMzkuNCAwYy0xNiAwLTMxLTgtMzkuOS0yMS40bC0xMy4zLTIwek04MS4xIDQ3MS45TDExNy4zIDMzNGMzIDQuMiA2LjQgOC4yIDEwLjEgMTEuOWw0MS45IDQxLjlMMTQyLjkgNDg4LjFjLTQuNSAxNy4xLTIyIDI3LjMtMzkuMSAyMi44cy0yNy4zLTIyLTIyLjgtMzkuMXptNTUuNS0zNDZMMTAxLjQgMjY2LjVjLTMgMTIuMS0xNC45IDE5LjktMjcuMiAxNy45bC00Ny45LThjLTE0LTIuMy0yMi45LTE2LjMtMTkuMi0zMEwzMS45IDE1NWM5LjUtMzQuOCA0MS4xLTU5IDc3LjItNTlsNC4yIDBjMTUuNiAwIDI3LjEgMTQuNyAyMy4zIDI5Ljh6XCJdXG59O1xuY29uc3QgZmFIaWtpbmcgPSBmYVBlcnNvbkhpa2luZztcbmNvbnN0IGZhVmVudXNEb3VibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmVudXMtZG91YmxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTg5MF0sIFwiZjIyNlwiLCBcIk0xOTIgMjg4YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHpNMzY4IDE3NmMwIDg2LjMtNjIuMSAxNTguMS0xNDQgMTczLjFsMCAzNC45IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTM0LjlDNzguMSAzMzQuMSAxNiAyNjIuMyAxNiAxNzZDMTYgNzguOCA5NC44IDAgMTkyIDBzMTc2IDc4LjggMTc2IDE3NnpNMzQ0IDMxOGMxNC42LTE1LjYgMjYuOC0zMy40IDM2LTUzYzE4LjggMTQuNCA0Mi40IDIzIDY4IDIzYzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEyYy0yNS42IDAtNDkuMSA4LjYtNjggMjNjLTkuMy0xOS41LTIxLjUtMzcuNC0zNi01M0MzNzMuMSAxMi42IDQwOS4xIDAgNDQ4IDBjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzZjMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0IDE3My4xbDAgMzQuOSAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0zNC45Yy0yNi42LTQuOS01MS4xLTE1LjctNzItMzEuMXpcIl1cbn07XG5jb25zdCBmYUltYWdlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbWFnZXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYzMDJcIiwgXCJNMTYwIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzNTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NEwxNjAgMzJ6TTM5NiAxMzguN2w5NiAxNDRjNC45IDcuNCA1LjQgMTYuOCAxLjIgMjQuNlM0ODAuOSAzMjAgNDcyIDMyMGwtMTQ0IDAtNDggMC04MCAwYy05LjIgMC0xNy42LTUuMy0yMS42LTEzLjZzLTIuOS0xOC4yIDIuOS0yNS40bDY0LTgwYzQuNi01LjcgMTEuNC05IDE4LjctOXMxNC4yIDMuMyAxOC43IDlsMTcuMyAyMS42IDU2LTg0QzM2MC41IDEzMiAzNjggMTI4IDM3NiAxMjhzMTUuNSA0IDIwIDEwLjd6TTE5MiAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNNDggMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTA2LjcgMCAxMjBMMCAzNDRjMCA3NS4xIDYwLjkgMTM2IDEzNiAxMzZsMzIwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyMCAwYy00OC42IDAtODgtMzkuNC04OC04OGwwLTIyNHpcIl1cbn07XG5jb25zdCBmYUNhbGN1bGF0b3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsY3VsYXRvcicsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQyNV0sIFwiZjFlY1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek05NiA2NGwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMzIgMTYwYTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6TTk2IDM1MmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTkyIDI1NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTY0LTY0YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNMjg4IDQ0OGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6XCJdXG59O1xuY29uc3QgZmFQZW9wbGVQdWxsaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blb3BsZS1wdWxsaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTM1XCIsIFwiTTgwIDk2QTQ4IDQ4IDAgMSAwIDgwIDBhNDggNDggMCAxIDAgMCA5NnpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmM5LjggMCAxOC41LTQuNCAyNC40LTExLjJMODAuNCA0ODUuM2MyLjkgMTcuNCAxOS40IDI5LjIgMzYuOCAyNi4zczI5LjItMTkuNCAyNi4zLTM2LjhMMTIzLjEgMzUybDE1LjcgMCAzMCAxMzQuOWMzLjggMTcuMyAyMC45IDI4LjEgMzguMiAyNC4zczI4LjEtMjAuOSAyNC4zLTM4LjJsLTU3LjMtMjU4IDExNi4zIDUzLjhjLjUgLjMgMS4xIC41IDEuNiAuN2M4LjYgMy42IDE4IDMuMSAyNS45LS43YzMuNC0xLjYgNi42LTMuOSA5LjMtNi43YzMuMS0zLjIgNS41LTcgNy4xLTExLjRjLjEtLjMgLjItLjcgLjMtMWwyLjUtNy41YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45TDUzNyAyMzIuN2wtMTUuMy0zNi44QzUwNC41IDE1NC44IDQ2NC4zIDEyOCA0MTkuNyAxMjhjLTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMjQuNCAxMC45LTQ0LjYgMjktNTguMSA1MS42TDE1Ny4zIDEzNi45QzE0NC43IDEzMSAxMzAuOSAxMjggMTE3IDEyOGwtNTMgMHpNNDY0IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMzQ5LjcgMzM1LjZsLTI1IDYyLjQtNTkuNCA1OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDM3Mi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6XCJdXG59O1xuY29uc3QgZmFOID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMTBdLCBcIjRlXCIsIFwiTTIxLjEgMzMuOWMxMi43LTQuNiAyNi45LS43IDM1LjUgOS42TDMyMCAzNTkuNiAzMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDM4NGMwIDEzLjUtOC40IDI1LjUtMjEuMSAzMC4xcy0yNi45IC43LTM1LjUtOS42TDY0IDE1Mi40IDY0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkwwIDY0QzAgNTAuNSA4LjQgMzguNSAyMS4xIDMzLjl6XCJdXG59O1xuY29uc3QgZmFDYWJsZUNhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWJsZS1jYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg2NzMsIDU3NTUxLCBcInRyYW1cIl0sIFwiZjdkYVwiLCBcIk0yODggMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE2MCA1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zMiAyODhjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTM2IDAgMC02Ni41LTIwMy4xIDQyYy0xMyAyLjctMjUuNy01LjctMjguNC0xOC42czUuNy0yNS43IDE4LjYtMjguNGwyMzItNDggMjMyLTQ4YzEzLTIuNyAyNS43IDUuNyAyOC40IDE4LjZzLTUuNyAyNS43LTE4LjYgMjguNEwyODAgMTQ3LjVsMCA3Ni41IDEzNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjB6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw2NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtNjQgMHptMTEyIDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDY0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDY0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2bC02NCAwelwiXVxufTtcbmNvbnN0IGZhVHJhbSA9IGZhQ2FibGVDYXI7XG5jb25zdCBmYUNsb3VkUmFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1yYWluJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzgzLCA5OTI2XSwgXCJmNzNkXCIsIFwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NmMwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMkM2NC43IDEyNi4xIDY0IDExOS4xIDY0IDExMkM2NCA1MC4xIDExNC4xIDAgMTc2IDBjNDMuMSAwIDgwLjUgMjQuMyA5OS4yIDYwYzE0LjctMTcuMSAzNi41LTI4IDYwLjgtMjhjNDQuMiAwIDgwIDM1LjggODAgODBjMCA1LjUtLjYgMTAuOC0xLjYgMTZjLjUgMCAxLjEgMCAxLjYgMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5Nkw5NiAzMjB6bS02LjggNTJjMS4zLTIuNSAzLjktNCA2LjgtNHM1LjQgMS41IDYuOCA0bDM1LjEgNjQuNmM0LjEgNy41IDYuMiAxNS44IDYuMiAyNC4zbDAgM2MwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTNjMC04LjUgMi4xLTE2LjkgNi4yLTI0LjNMODkuMiAzNzJ6bTE2MCAwYzEuMy0yLjUgMy45LTQgNi44LTRzNS40IDEuNSA2LjggNGwzNS4xIDY0LjZjNC4xIDcuNSA2LjIgMTUuOCA2LjIgMjQuM2wwIDNjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0zYzAtOC41IDIuMS0xNi45IDYuMi0yNC4zTDI0OS4yIDM3MnptMTI0LjkgNjQuNkw0MDkuMiAzNzJjMS4zLTIuNSAzLjktNCA2LjgtNHM1LjQgMS41IDYuOCA0bDM1LjEgNjQuNmM0LjEgNy41IDYuMiAxNS44IDYuMiAyNC4zbDAgM2MwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTNjMC04LjUgMi4xLTE2LjkgNi4yLTI0LjN6XCJdXG59O1xuY29uc3QgZmFCdWlsZGluZ0NpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkNFwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDk2IDBjMTUuMSAwIDI4LjUtNi45IDM3LjMtMTcuOEMzNDAuNCA0NjIuMiAzMjAgNDE3LjUgMzIwIDM2OGMwLTU0LjcgMjQuOS0xMDMuNSA2NC0xMzUuOEwzODQgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek04MCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNTE4LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQ5NiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQ3My40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDk2IDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xuY29uc3QgZmFTaGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg2NzRdLCBcImYyMWFcIiwgXCJNMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyTDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgNDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDEyOCA0NC40IDE0LjhjMjMuMSA3LjcgMjkuNSAzNy41IDExLjUgNTMuOWwtMTAxIDkyLjZjLTE2LjIgOS40LTM0LjcgMTUuMS01MC45IDE1LjFjLTE5LjYgMC00MC44LTcuNy01OS4yLTIwLjNjLTIyLjEtMTUuNS01MS42LTE1LjUtNzMuNyAwYy0xNy4xIDExLjgtMzggMjAuMy01OS4yIDIwLjNjLTE2LjIgMC0zNC43LTUuNy01MC45LTE1LjFsLTEwMS05Mi42Yy0xOC0xNi41LTExLjYtNDYuMiAxMS41LTUzLjlMOTYgMjQwbDAtMTI4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQ4IDAgMC0zMnpNMTYwIDIxOC43bDEwNy44LTM1LjljMTMuMS00LjQgMjcuMy00LjQgNDAuNSAwTDQxNiAyMTguN2wwLTkwLjctMjU2IDAgMCA5MC43ek0zMDYuNSA0MjEuOUMzMjkgNDM3LjQgMzU2LjUgNDQ4IDM4NCA0NDhjMjYuOSAwIDU1LjQtMTAuOCA3Ny40LTI2LjFjMCAwIDAgMCAwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA1MDEuNyA0MTcgNTEyIDM4NCA1MTJjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43YzAgMCAwIDAgMCAwQzEzNi43IDQzNy4yIDE2NS4xIDQ0OCAxOTIgNDQ4YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dzRG93blRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtZG93bi10by1saW5lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGI4XCIsIFwiTTU0NCA0MTZMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyem0yMi42LTEzNy40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDQ4MCAyNzQuNyA0ODAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMTAuNy00MS40LTQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDk2LTk2em0tMzIwLTQ1LjNjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwTDE2MCAyNzQuNyAxNjAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMTAuN0w1NC42IDIzMy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG5jb25zdCBmYURvd25sb2FkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvd25sb2FkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDE5XCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI0Mi43LTczLjQtNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDI4OCAyNzQuNyAyODggMzJ6TTY0IDM1MmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMDEuNSAwLTQ1LjMgNDUuM2MtMjUgMjUtNjUuNSAyNS05MC41IDBMMTY1LjUgMzUyIDY0IDM1MnptMzY4IDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG5jb25zdCBmYUZhY2VHcmluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3JpbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxMiwgXCJncmluXCJdLCBcImY1ODBcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4OC4xIDMxMi44YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN0MzODIuNCAzOTAuNiAzMjQuMiA0MzIgMjU2LjMgNDMycy0xMjYuMi00MS40LTE1MS4xLTEwMC41Yy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOXpNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFHcmluID0gZmFGYWNlR3JpbjtcbmNvbnN0IGZhRGVsZXRlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkZWxldGUtbGVmdCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzkwMDMsIFwiYmFja3NwYWNlXCJdLCBcImY1NWFcIiwgXCJNNTc2IDEyOGMwLTM1LjMtMjguNy02NC02NC02NEwyMDUuMyA2NGMtMTcgMC0zMy4zIDYuNy00NS4zIDE4LjdMOS40IDIzMy40Yy02IDYtOS40IDE0LjEtOS40IDIyLjZzMy40IDE2LjYgOS40IDIyLjZMMTYwIDQyOS4zYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdMNTEyIDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NnpNMjcxIDE3NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3IDQ3IDQ3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3LTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ3LTQ3LTQ3LTQ3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpcIl1cbn07XG5jb25zdCBmYUJhY2tzcGFjZSA9IGZhRGVsZXRlTGVmdDtcbmNvbnN0IGZhRXllRHJvcHBlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdleWUtZHJvcHBlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXllLWRyb3BwZXItZW1wdHlcIiwgXCJleWVkcm9wcGVyXCJdLCBcImYxZmJcIiwgXCJNMzQxLjYgMjkuMkwyNDAuMSAxMzAuOGwtOS40LTkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05LjQtOS40TDQ4Mi44IDE3MC40YzM5LTM5IDM5LTEwMi4yIDAtMTQxLjFzLTEwMi4yLTM5LTE0MS4xIDB6TTU1LjQgMzIzLjNjLTE1IDE1LTIzLjQgMzUuNC0yMy40IDU2LjZsMCA0Mi40TDUuNCA0NjIuMmMtOC41IDEyLjctNi44IDI5LjYgNCA0MC40czI3LjcgMTIuNSA0MC40IDRMODkuNyA0ODBsNDIuNCAwYzIxLjIgMCA0MS42LTguNCA1Ni42LTIzLjRMMzA5LjQgMzM1LjlsLTQ1LjMtNDUuM0wxNDMuNCA0MTEuM2MtMyAzLTcuMSA0LjctMTEuMyA0LjdMOTYgNDE2bDAtMzYuMWMwLTQuMiAxLjctOC4zIDQuNy0xMS4zTDIyMS40IDI0Ny45bC00NS4zLTQ1LjNMNTUuNCAzMjMuM3pcIl1cbn07XG5jb25zdCBmYUV5ZURyb3BwZXJFbXB0eSA9IGZhRXllRHJvcHBlcjtcbmNvbnN0IGZhRXllZHJvcHBlciA9IGZhRXllRHJvcHBlcjtcbmNvbnN0IGZhRmlsZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNWEwXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNMjg4IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw0MTYgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG5jb25zdCBmYUZvcndhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9yd2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTNdLCBcImYwNGVcIiwgXCJNNTIuNSA0NDAuNmMtOS41IDcuOS0yMi44IDkuNy0zNC4xIDQuNFMwIDQyOC40IDAgNDE2TDAgOTZDMCA4My42IDcuMiA3Mi4zIDE4LjQgNjdzMjQuNS0zLjYgMzQuMSA0LjRMMjI0IDIxNC4zbDAgNDEuNyAwIDQxLjdMNTIuNSA0NDAuNnpNMjU2IDM1MmwwLTk2IDAtMTI4IDAtMzJjMC0xMi40IDcuMi0yMy43IDE4LjQtMjlzMjQuNS0zLjYgMzQuMSA0LjRsMTkyIDE2MGM3LjMgNi4xIDExLjUgMTUuMSAxMS41IDI0LjZzLTQuMiAxOC41LTExLjUgMjQuNmwtMTkyIDE2MGMtOS41IDcuOS0yMi44IDkuNy0zNC4xIDQuNHMtMTguNC0xNi42LTE4LjQtMjlsMC02NHpcIl1cbn07XG5jb25zdCBmYU1vYmlsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb2JpbGUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgyNDEsIFwibW9iaWxlLWFuZHJvaWRcIiwgXCJtb2JpbGUtcGhvbmVcIl0sIFwiZjNjZVwiLCBcIk04MCAwQzQ0LjcgMCAxNiAyOC43IDE2IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDgwIDB6bTgwIDQzMmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhTW9iaWxlQW5kcm9pZCA9IGZhTW9iaWxlO1xuY29uc3QgZmFNb2JpbGVQaG9uZSA9IGZhTW9iaWxlO1xuY29uc3QgZmFGYWNlTWVoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtbWVoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTI4LCBcIm1laFwiXSwgXCJmMTFhXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYuNCAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMTYwIDMzNmwxOTIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFNZWggPSBmYUZhY2VNZWg7XG5jb25zdCBmYUFsaWduQ2VudGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FsaWduLWNlbnRlcicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAzN1wiLCBcIk0zNTIgNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMTI4IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyem05NiAxMjhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0zNTIgMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUJvb2tTa3VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLXNrdWxsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJib29rLWRlYWRcIl0sIFwiZjZiN1wiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDM4NCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMEw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjRMOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzIwIDExMmMwLTM1LjMtMzUuOC02NC04MC02NHMtODAgMjguNy04MCA2NGMwIDIwLjkgMTIuNiAzOS41IDMyIDUxLjJsMCAxMi44YzAgOC44IDcuMiAxNiAxNiAxNmw2NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyLjhjMTkuNC0xMS43IDMyLTMwLjMgMzItNTEuMnpNMjA4IDk2YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnptNDggMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpNMTM0LjMgMjA5LjNjLTguMS0zLjUtMTcuNSAuMy0yMSA4LjRzLjMgMTcuNSA4LjQgMjFMMTk5LjQgMjcybC03Ny43IDMzLjNjLTguMSAzLjUtMTEuOSAxMi45LTguNCAyMXMxMi45IDExLjkgMjEgOC40TDI0MCAyODkuNGwxMDUuNyA0NS4zYzguMSAzLjUgMTcuNS0uMyAyMS04LjRzLS4zLTE3LjUtOC40LTIxTDI4MC42IDI3Mmw3Ny43LTMzLjNjOC4xLTMuNSAxMS45LTEyLjkgOC40LTIxcy0xMi45LTExLjktMjEtOC40TDI0MCAyNTQuNiAxMzQuMyAyMDkuM3pcIl1cbn07XG5jb25zdCBmYUJvb2tEZWFkID0gZmFCb29rU2t1bGw7XG5jb25zdCBmYUlkQ2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpZC1jYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNjIxNDcsIFwiZHJpdmVycy1saWNlbnNlXCJdLCBcImYyYzJcIiwgXCJNMCA5Nmw1NzYgMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2em0wIDMyTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4TDAgMTI4ek02NCA0MDUuM2MwLTI5LjUgMjMuOS01My4zIDUzLjMtNTMuM2wxMTcuMyAwYzI5LjUgMCA1My4zIDIzLjkgNTMuMyA1My4zYzAgNS45LTQuOCAxMC43LTEwLjcgMTAuN0w3NC43IDQxNmMtNS45IDAtMTAuNy00LjgtMTAuNy0xMC43ek0xNzYgMTkyYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em0xNzYgMTZjMC04LjggNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2em0wIDY0YzAtOC44IDcuMi0xNiAxNi0xNmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFEcml2ZXJzTGljZW5zZSA9IGZhSWRDYXJkO1xuY29uc3QgZmFPdXRkZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ291dGRlbnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImRlZGVudFwiXSwgXCJmMDNiXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMTkyIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA5NmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TTAgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TS4yIDI2OC42Yy04LjItNi40LTguMi0xOC45IDAtMjUuM2wxMDEuOS03OS4zYzEwLjUtOC4yIDI1LjgtLjcgMjUuOCAxMi42bDAgMTU4LjZjMCAxMy4zLTE1LjMgMjAuOC0yNS44IDEyLjZMLjIgMjY4LjZ6XCJdXG59O1xuY29uc3QgZmFEZWRlbnQgPSBmYU91dGRlbnQ7XG5jb25zdCBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGZlXCIsIFwiTTQ3LjYgMzAwLjRMMjI4LjMgNDY5LjFjNy41IDcgMTcuNCAxMC45IDI3LjcgMTAuOXMyMC4yLTMuOSAyNy43LTEwLjlsMi42LTIuNEMyNjcuMiA0MzguNiAyNTYgNDA0LjYgMjU2IDM2OGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NmMyOC4zIDAgNTUgNi43IDc4LjcgMTguNWMuOS02LjUgMS4zLTEzIDEuMy0xOS42bDAtNS44YzAtNjkuOS01MC41LTEyOS41LTExOS40LTE0MUMzNDcgMzYuNSAzMDAuNiA1MS40IDI2OCA4NEwyNTYgOTYgMjQ0IDg0Yy0zMi42LTMyLjYtNzktNDcuNS0xMjQuNi0zOS45QzUwLjUgNTUuNiAwIDExNS4yIDAgMTg1LjFsMCA1LjhjMCA0MS41IDE3LjIgODEuMiA0Ny42IDEwOS41ek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhSG91c2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjc5NjgsIDYzNDk4LCA2MzUwMCwgXCJob21lXCIsIFwiaG9tZS1hbHRcIiwgXCJob21lLWxnLWFsdFwiXSwgXCJmMDE1XCIsIFwiTTU3NS44IDI1NS41YzAgMTgtMTUgMzIuMS0zMiAzMi4xbC0zMiAwIC43IDE2MC4yYzAgMi43LS4yIDUuNC0uNSA4LjFsMCAxNi4yYzAgMjIuMS0xNy45IDQwLTQwIDQwbC0xNiAwYy0xLjEgMC0yLjIgMC0zLjMtLjFjLTEuNCAuMS0yLjggLjEtNC4yIC4xTDQxNiA1MTJsLTI0IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtMjQgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NCAwIDI0YzAgMjIuMS0xNy45IDQwLTQwIDQwbC0yNCAwLTMxLjkgMGMtMS41IDAtMy0uMS00LjUtLjJjLTEuMiAuMS0yLjQgLjItMy42IC4ybC0xNiAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTExMmMwLS45IDAtMS45IC4xLTIuOGwwLTY5LjctMzIgMGMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTY0LjggMjMxLjVjOCA3IDEyIDE1IDExIDI0elwiXVxufTtcbmNvbnN0IGZhSG9tZSA9IGZhSG91c2U7XG5jb25zdCBmYUhvbWVBbHQgPSBmYUhvdXNlO1xuY29uc3QgZmFIb21lTGdBbHQgPSBmYUhvdXNlO1xuY29uc3QgZmFDYWxlbmRhcldlZWsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItd2VlaycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc4NFwiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnptODAgNjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwyODggMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZMODAgMjU2elwiXVxufTtcbmNvbnN0IGZhTGFwdG9wTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXB0b3AtbWVkaWNhbCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjgxMlwiLCBcIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1Ni02NCAwIDAtMjU2TDEyOCA5NmwwIDI1Ni02NCAwTDY0IDk2ek0wIDQwMy4yQzAgMzkyLjYgOC42IDM4NCAxOS4yIDM4NGw2MDEuNiAwYzEwLjYgMCAxOS4yIDguNiAxOS4yIDE5LjJjMCA0Mi40LTM0LjQgNzYuOC03Ni44IDc2LjhMNzYuOCA0ODBDMzQuNCA0ODAgMCA0NDUuNiAwIDQwMy4yek0yODggMTYwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOThdLCBcIjQyXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAyNTYgMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTI4IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhjMC00Ni41LTI0LjgtODcuMy02Mi0xMDkuN2MxOC43LTIyLjMgMzAtNTEgMzAtODIuM2MwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEw2NCAzMnptOTYgMTkybC05NiAwTDY0IDk2bDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjR6TTY0IDI4OGw5NiAwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRMNjQgNDE2bDAtMTI4elwiXVxufTtcbmNvbnN0IGZhRmlsZU1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1tZWRpY2FsJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDc3XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNMTYwIDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OCA0OCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDAgMC00OHpcIl1cbn07XG5jb25zdCBmYURpY2VPbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1vbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODU2XSwgXCJmNTI1XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIyNCAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhS2l3aUJpcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAna2l3aS1iaXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTM1XCIsIFwiTTI5MS4yIDM4OC40YzMxLjItMTguOCA2NC43LTM2LjQgMTAxLjEtMzYuNGw1NS43IDBjNC42IDAgOS4xLS4yIDEzLjYtLjdsODUuMyAxMjEuOWM0IDUuNyAxMS4zIDguMiAxNy45IDYuMXMxMS4yLTguMyAxMS4yLTE1LjNsMC0yNDBjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhsLTU1LjcgMGMtMzYuNCAwLTY5LjktMTcuNi0xMDEuMS0zNi40QzI2Mi4zIDQyLjEgMjI4LjMgMzIgMTkyIDMyQzg2IDMyIDAgMTE4IDAgMjI0YzAgNzEuMSAzOC42IDEzMy4xIDk2IDE2Ni4zTDk2IDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDZjMTUuMyAzLjkgMzEuNCA2IDQ4IDZjNS40IDAgMTAuNy0uMiAxNi0uN2wwIDQwLjdjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTUwLjljMTIuNC00LjQgMjQuMi0xMCAzNS4yLTE2Ljd6TTQ0OCAyMDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQXJyb3dSaWdodEFycm93TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC1hcnJvdy1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODY0NCwgXCJleGNoYW5nZVwiXSwgXCJmMGVjXCIsIFwiTTQzOC42IDE1MC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMzM4LjcgOTYgMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMzA2LjcgMC00MS40IDQxLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOTYtOTZ6bS0zMzMuMyAzNTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyA0MTYgNDE2IDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzA2LjcgMCA0MS40LTQxLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w5NiA5NnpcIl1cbn07XG5jb25zdCBmYUV4Y2hhbmdlID0gZmFBcnJvd1JpZ2h0QXJyb3dMZWZ0O1xuY29uc3QgZmFSb3RhdGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb3RhdGUtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInJlZG8tYWx0XCIsIFwicm90YXRlLWZvcndhcmRcIl0sIFwiZjJmOVwiLCBcIk00NjMuNSAyMjRsOC41IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMjhjMC05LjctNS44LTE4LjUtMTQuOC0yMi4ycy0xOS4zLTEuNy0yNi4yIDUuMkw0MTMuNCA5Ni42Yy04Ny42LTg2LjUtMjI4LjctODYuMi0zMTUuOCAxYy04Ny41IDg3LjUtODcuNSAyMjkuMyAwIDMxNi44czIyOS4zIDg3LjUgMzE2LjggMGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGMtNjIuNSA2Mi41LTE2My44IDYyLjUtMjI2LjMgMHMtNjIuNS0xNjMuOCAwLTIyNi4zYzYyLjItNjIuMiAxNjIuNy02Mi41IDIyNS4zLTFMMzI3IDE4M2MtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMnMxMi41IDE0LjggMjIuMiAxNC44bDExOS41IDB6XCJdXG59O1xuY29uc3QgZmFSZWRvQWx0ID0gZmFSb3RhdGVSaWdodDtcbmNvbnN0IGZhUm90YXRlRm9yd2FyZCA9IGZhUm90YXRlUmlnaHQ7XG5jb25zdCBmYVV0ZW5zaWxzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3V0ZW5zaWxzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3ODYwLCA2MTY4NSwgXCJjdXRsZXJ5XCJdLCBcImYyZTdcIiwgXCJNNDE2IDBDNDAwIDAgMjg4IDMyIDI4OCAxNzZsMCAxMTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDAtMTEyIDAtMjA4YzAtMTcuNy0xNC4zLTMyLTMyLTMyek02NCAxNkM2NCA3LjggNTcuOSAxIDQ5LjcgLjFTMzQuMiA0LjYgMzIuNCAxMi41TDIuMSAxNDguOEMuNyAxNTUuMSAwIDE2MS41IDAgMTY3LjljMCA0NS45IDM1LjEgODMuNiA4MCA4Ny43TDgwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0LjRjNDQuOS00LjEgODAtNDEuOCA4MC04Ny43YzAtNi40LS43LTEyLjgtMi4xLTE5LjFMMTkxLjYgMTIuNWMtMS44LTgtOS4zLTEzLjMtMTcuNC0xMi40UzE2MCA3LjggMTYwIDE2bDAgMTM0LjJjMCA1LjQtNC40IDkuOC05LjggOS44Yy01LjEgMC05LjMtMy45LTkuOC05TDEyNy45IDE0LjZDMTI3LjIgNi4zIDEyMC4zIDAgMTEyIDBzLTE1LjIgNi4zLTE1LjkgMTQuNkw4My43IDE1MWMtLjUgNS4xLTQuNyA5LTkuOCA5Yy01LjQgMC05LjgtNC40LTkuOC05LjhMNjQgMTZ6bTQ4LjMgMTUybC0uMyAwLS4zIDAgLjMtLjcgLjMgLjd6XCJdXG59O1xuY29uc3QgZmFDdXRsZXJ5ID0gZmFVdGVuc2lscztcbmNvbnN0IGZhQXJyb3dVcFdpZGVTaG9ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC13aWRlLXNob3J0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFtb3VudC11cFwiXSwgXCJmMTYxXCIsIFwiTTE1MS42IDQyLjRDMTQ1LjUgMzUuOCAxMzcgMzIgMTI4IDMycy0xNy41IDMuOC0yMy42IDEwLjRsLTg4IDk2Yy0xMS45IDEzLTExLjEgMzMuMyAyIDQ1LjJzMzMuMyAxMS4xIDQ1LjItMkw5NiAxNDYuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwMS43IDMyLjQgMzUuNGMxMS45IDEzIDMyLjIgMTMuOSA0NS4yIDJzMTMuOS0zMi4yIDItNDUuMmwtODgtOTZ6TTMyMCA0ODBsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0wLTEyOGwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFTb3J0QW1vdW50VXAgPSBmYUFycm93VXBXaWRlU2hvcnQ7XG5jb25zdCBmYU1pbGxTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pbGwtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFlZFwiLCBcIk0zMDIuMSA0Mi44YzUuOS0xNi42LTIuNy0zNS0xOS40LTQwLjlzLTM1IDIuNy00MC45IDE5LjRMMjA4IDExNi4xYy01LjcgNC0xMS4xIDguNS0xNiAxMy41QzE3MS43IDEwOC45IDE0My4zIDk2IDExMiA5NmMtMTkuNSAwLTM3LjggNS01My43IDEzLjdDNTIuNSAxMDEuNCA0Mi45IDk2IDMyIDk2QzE0LjMgOTYgMCAxMTAuMyAwIDEyOGwwIDgwTDAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMDhjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDQyLjVMODEuOSA0NjkuMmMtNS45IDE2LjYgMi43IDM1IDE5LjQgNDAuOXMzNS0yLjcgNDAuOS0xOS40bDIxLjQtNjBDMTY4LjkgNDQxIDE3OS42IDQ0OCAxOTIgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTU0LjUgMzUuNy0xMDBjMy45LTEgOC4xLTEuNiAxMi4zLTEuNmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIwOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjA4YzAtNTguMi00NC4zLTEwNi0xMDEuMS0xMTEuNWwxOS4yLTUzLjh6XCJdXG59O1xuY29uc3QgZmFCb3dsUmljZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3dsLXJpY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUyZWJcIiwgXCJNMTc2IDU2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0yNCA0OGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek01NiAxNzZsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMCAyODMuNEMwIDI2OC4zIDEyLjMgMjU2IDI3LjQgMjU2bDQ1Ny4xIDBjMTUuMSAwIDI3LjQgMTIuMyAyNy40IDI3LjRjMCA3MC41LTQ0LjQgMTMwLjctMTA2LjcgMTU0LjFMNDAzLjUgNDUyYy0yIDE2LTE1LjYgMjgtMzEuOCAyOGwtMjMxLjUgMGMtMTYuMSAwLTI5LjgtMTItMzEuOC0yOGwtMS44LTE0LjRDNDQuNCA0MTQuMSAwIDM1My45IDAgMjgzLjR6TTIyNCAyMDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bS05NiAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tMjQtOTZsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMjE2IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tMjQtOTZsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMTIwIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tMjQtOTZsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjk2IDMybDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xuY29uc3QgZmFTa3VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdza3VsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODEyOF0sIFwiZjU0Y1wiLCBcIk00MTYgMzk4LjljNTguNS00MS4xIDk2LTEwNC4xIDk2LTE3NC45QzUxMiAxMDAuMyAzOTcuNCAwIDI1NiAwUzAgMTAwLjMgMCAyMjRjMCA3MC43IDM3LjUgMTMzLjggOTYgMTc0LjljMCAuNCAwIC43IDAgMS4xbDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA0OCA2NCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLS40IDAtLjcgMC0xLjF6TTk2IDI1NmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA5NiAyNTZ6bTI1Ni02NGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG5jb25zdCBmYVRvd2VyQnJvYWRjYXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvd2VyLWJyb2FkY2FzdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYnJvYWRjYXN0LXRvd2VyXCJdLCBcImY1MTlcIiwgXCJNODAuMyA0NEM2OS44IDY5LjkgNjQgOTguMiA2NCAxMjhzNS44IDU4LjEgMTYuMyA4NGM2LjYgMTYuNC0xLjMgMzUtMTcuNyA0MS43cy0zNS0xLjMtNDEuNy0xNy43QzcuNCAyMDIuNiAwIDE2Ni4xIDAgMTI4UzcuNCA1My40IDIwLjkgMjBDMjcuNiAzLjYgNDYuMi00LjMgNjIuNiAyLjNTODYuOSAyNy42IDgwLjMgNDR6TTU1NS4xIDIwQzU2OC42IDUzLjQgNTc2IDg5LjkgNTc2IDEyOHMtNy40IDc0LjYtMjAuOSAxMDhjLTYuNiAxNi40LTI1LjMgMjQuMy00MS43IDE3LjdTNDg5LjEgMjI4LjQgNDk1LjcgMjEyYzEwLjUtMjUuOSAxNi4zLTU0LjIgMTYuMy04NHMtNS44LTU4LjEtMTYuMy04NEM0ODkuMSAyNy42IDQ5NyA5IDUxMy40IDIuM3MzNSAxLjMgNDEuNyAxNy43ek0zNTIgMTI4YzAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNEwzMjAgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjk2LjZjLTE5LjEtMTEuMS0zMi0zMS43LTMyLTU1LjRjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHpNMTcwLjYgNzYuOEMxNjMuOCA5Mi40IDE2MCAxMDkuNyAxNjAgMTI4czMuOCAzNS42IDEwLjYgNTEuMmM3LjEgMTYuMi0uMyAzNS4xLTE2LjUgNDIuMXMtMzUuMS0uMy00Mi4xLTE2LjVjLTEwLjMtMjMuNi0xNi00OS42LTE2LTc2LjhzNS43LTUzLjIgMTYtNzYuOGM3LjEtMTYuMiAyNS45LTIzLjYgNDIuMS0xNi41czIzLjYgMjUuOSAxNi41IDQyLjF6TTQ2NCA1MS4yYzEwLjMgMjMuNiAxNiA0OS42IDE2IDc2LjhzLTUuNyA1My4yLTE2IDc2LjhjLTcuMSAxNi4yLTI1LjkgMjMuNi00Mi4xIDE2LjVzLTIzLjYtMjUuOS0xNi41LTQyLjFjNi44LTE1LjYgMTAuNi0zMi45IDEwLjYtNTEuMnMtMy44LTM1LjYtMTAuNi01MS4yYy03LjEtMTYuMiAuMy0zNS4xIDE2LjUtNDIuMXMzNS4xIC4zIDQyLjEgMTYuNXpcIl1cbn07XG5jb25zdCBmYUJyb2FkY2FzdFRvd2VyID0gZmFUb3dlckJyb2FkY2FzdDtcbmNvbnN0IGZhVHJ1Y2tQaWNrdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stcGlja3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzYzXSwgXCJmNjNjXCIsIFwiTTM2OC42IDk2bDc2LjggOTZMMjg4IDE5MmwwLTk2IDgwLjYgMHpNMjI0IDgwbDAgMTEyTDY0IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMy4xIDBjLS43IDUuMi0xLjEgMTAuNi0xLjEgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmMwLTUuNC0uNC0xMC44LTEuMS0xNmw2Ni4zIDBjLS43IDUuMi0xLjEgMTAuNi0xLjEgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmMwLTUuNC0uNC0xMC44LTEuMS0xNmwzMy4xIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNDguNiAwTDQxOC42IDU2Yy0xMi4xLTE1LjItMzAuNS0yNC01MC0yNEwyNzIgMzJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4em0wIDI4OGE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwem0yODggMGE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwelwiXVxufTtcbmNvbnN0IGZhVXBMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VwLWxvbmcnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImxvbmctYXJyb3ctYWx0LXVwXCJdLCBcImYzMGNcIiwgXCJNMzE4IDE3Ny41YzMuOC04LjggMi0xOS00LjYtMjZsLTEzNi0xNDRDMTcyLjkgMi43IDE2Ni42IDAgMTYwIDBzLTEyLjkgMi43LTE3LjQgNy41bC0xMzYgMTQ0Yy02LjYgNy04LjQgMTcuMi00LjYgMjZTMTQuNCAxOTIgMjQgMTkybDcyIDAgMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTI4OCA3MiAwYzkuNiAwIDE4LjItNS43IDIyLTE0LjV6XCJdXG59O1xuY29uc3QgZmFMb25nQXJyb3dBbHRVcCA9IGZhVXBMb25nO1xuY29uc3QgZmFTdG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3AnLFxuICBpY29uOiBbMzg0LCA1MTIsIFs5MjA5XSwgXCJmMDRkXCIsIFwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQgMjguNyA2NCA2NFYzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOHpcIl1cbn07XG5jb25zdCBmYUNvZGVNZXJnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLW1lcmdlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMzg3XCIsIFwiTTgwIDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMzIuNCA5Ny4yYzI4LTEyLjQgNDcuNi00MC41IDQ3LjYtNzMuMmMwLTQ0LjItMzUuOC04MC04MC04MFMwIDM1LjggMCA4MGMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgMjA1LjNDMTkuNyAzNzEgMCAzOTkuMiAwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC04Ni42YzI2LjcgMjAuMSA2MCAzMiA5NiAzMmw4Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OGM0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGMtMzIuOCAwLTYxIDE5LjctNzMuMyA0OEwyMDggMjQwYy00OS45IDAtOTEtMzguMS05NS42LTg2Ljh6TTgwIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTM0NCAyNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG5jb25zdCBmYVVwbG9hZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cGxvYWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwOTNcIiwgXCJNMjg4IDEwOS4zTDI4OCAzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNDIuNy03My40IDczLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTI4IDEyOGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwyODggMTA5LjN6TTY0IDM1MmwxMjggMGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyYzAtMzUuMyAyOC43LTY0IDY0LTY0ek00MzIgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG5jb25zdCBmYUh1cnJpY2FuZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdodXJyaWNhbmUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY3NTFcIiwgXCJNMCAyMDhDMCAxMDQuNCA3NS43IDE4LjUgMTc0LjkgMi42QzE4NCAxLjIgMTkyIDguNiAxOTIgMTcuOWwwIDYzLjNjMCA4LjQgNi41IDE1LjMgMTQuNyAxNi41QzMwNyAxMTIuNSAzODQgMTk5IDM4NCAzMDMuNGMwIDEwMy42LTc1LjcgMTg5LjUtMTc0LjkgMjA1LjRjLTkuMiAxLjUtMTcuMS01LjktMTcuMS0xNS4ybDAtNjMuM2MwLTguNC02LjUtMTUuMy0xNC43LTE2LjVDNzcgMzk4LjkgMCAzMTIuNCAwIDIwOHptMjg4IDQ4QTk2IDk2IDAgMSAwIDk2IDI1NmE5NiA5NiAwIDEgMCAxOTIgMHptLTk2LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYU1vdW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW5kJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTJkXCIsIFwiTTE0NC4xIDE3OS4yQzE3My44IDEyNy43IDIyOC42IDk2IDI4OCA5NnMxMTQuMiAzMS43IDE0My45IDgzLjJMNTQwLjQgMzY4YzEyLjMgMjEuMy0zLjEgNDgtMjcuNyA0OEg2My4zYy0yNC42IDAtNDAtMjYuNi0yNy43LTQ4TDE0NC4xIDE3OS4yelwiXVxufTtcbmNvbnN0IGZhVG9pbGV0UG9ydGFibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9pbGV0LXBvcnRhYmxlJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTgzXCIsIFwiTTAgMzJMMCA2NGwzMjAgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyek0yNCA5NkwwIDk2bDAgMjRMMCA0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTggMjI0IDAgMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zNjggMC0yNC0yNCAwTDI0IDk2ek0yNTYgMjQwbDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbmNvbnN0IGZhQ29tcGFjdERpc2MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcGFjdC1kaXNjJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTkxLCAxMjgxOTIsIDEyODQ0MF0sIFwiZjUxZlwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTI1NiAzMmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bS05Ni0zMmE5NiA5NiAwIDEgMCAxOTIgMCA5NiA5NiAwIDEgMCAtMTkyIDB6TTk2IDI0MGMwLTM1IDE3LjUtNzEuMSA0NS4yLTk4LjhTMjA1IDk2IDI0MCA5NmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtNDUuNCAwLTg5LjIgMjIuMy0xMjEuNSA1NC41UzY0IDE5NC42IDY0IDI0MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2elwiXVxufTtcbmNvbnN0IGZhRmlsZUFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWFycm93LWRvd24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpbGUtZG93bmxvYWRcIl0sIFwiZjU2ZFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTIxNiAyMzJsMCAxMDIuMSAzMS0zMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtNzItNzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzMSAzMUwxNjggMjMyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xuY29uc3QgZmFGaWxlRG93bmxvYWQgPSBmYUZpbGVBcnJvd0Rvd247XG5jb25zdCBmYUNhcmF2YW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyYXZhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjhmZlwiLCBcIk0wIDExMkMwIDY3LjggMzUuOCAzMiA4MCAzMmwzMzYgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MGwwIDE2MCAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwLTI4OCAwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bC0xNiAwYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDExMnpNMzIwIDM1MmwxMjggMCAwLTk2LTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMzIgMCAwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE5MnpNOTYgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMTI4em05NiAzMzZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2elwiXVxufTtcbmNvbnN0IGZhU2hpZWxkQ2F0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1jYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NzJcIiwgXCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjJjLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yYzE2LjcgOCAzNi4xIDggNTIuOCAwQzQ1NC43IDQyMC43IDQ5NS41IDIzOS4yIDQ5NiAxNDBjLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTYwIDE1NC40YzAtNS44IDQuNy0xMC40IDEwLjQtMTAuNGwuMiAwYzMuNCAwIDYuNSAxLjYgOC41IDQuM2w0MCA1My4zYzMgNCA3LjggNi40IDEyLjggNi40bDQ4IDBjNSAwIDkuOC0yLjQgMTIuOC02LjRsNDAtNTMuM2MyLTIuNyA1LjItNC4zIDguNS00LjNsLjIgMGM1LjggMCAxMC40IDQuNyAxMC40IDEwLjRMMzUyIDI3MmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwwLTExNy42ek0yMTYgMjg4YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptOTYtMTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpcIl1cbn07XG5jb25zdCBmYUJvbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9sdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4ODksIFwiemFwXCJdLCBcImYwZTdcIiwgXCJNMzQ5LjQgNDQuNmM1LjktMTMuNyAxLjUtMjkuNy0xMC42LTM4LjVzLTI4LjYtOC0zOS45IDEuOGwtMjU2IDIyNGMtMTAgOC44LTEzLjYgMjIuOS04LjkgMzUuM1M1MC43IDI4OCA2NCAyODhsMTExLjUgMEw5OC42IDQ2Ny40Yy01LjkgMTMuNy0xLjUgMjkuNyAxMC42IDM4LjVzMjguNiA4IDM5LjktMS44bDI1Ni0yMjRjMTAtOC44IDEzLjYtMjIuOSA4LjktMzUuM3MtMTYuNi0yMC43LTMwLTIwLjdsLTExMS41IDBMMzQ5LjQgNDQuNnpcIl1cbn07XG5jb25zdCBmYVphcCA9IGZhQm9sdDtcbmNvbnN0IGZhR2xhc3NXYXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnbGFzcy13YXRlcicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRmNFwiLCBcIk0zMiAwQzIzLjEgMCAxNC42IDMuNyA4LjYgMTAuMlMtLjYgMjUuNCAuMSAzNC4zTDI4LjkgNDM3LjdjMyA0MS45IDM3LjggNzQuMyA3OS44IDc0LjNsMTY2LjYgMGM0MiAwIDc2LjgtMzIuNCA3OS44LTc0LjNMMzgzLjkgMzQuM2MuNi04LjktMi40LTE3LjYtOC41LTI0LjFTMzYwLjkgMCAzNTIgMEwzMiAwek03MyAxNTYuNUw2Ni40IDY0bDI1MS4zIDBMMzExIDE1Ni41bC0yNC4yIDEyLjFjLTE5LjQgOS43LTQyLjIgOS43LTYxLjYgMGMtMjAuOS0xMC40LTQ1LjUtMTAuNC02Ni40IDBjLTE5LjQgOS43LTQyLjIgOS43LTYxLjYgMEw3MyAxNTYuNXpcIl1cbn07XG5jb25zdCBmYU9pbFdlbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb2lsLXdlbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MzJcIiwgXCJNNTI4LjMgNjEuM2MtMTEuNC00Mi43LTU1LjMtNjgtOTgtNTYuNkw0MTQuOSA4LjhDMzk3LjggMTMuNCAzODcuNyAzMSAzOTIuMyA0OGwyNC41IDkxLjRMMzA4LjUgMTY3LjVsLTYuMy0xOC4xQzI5Ny43IDEzNi42IDI4NS42IDEyOCAyNzIgMTI4cy0yNS43IDguNi0zMC4yIDIxLjRsLTEzLjYgMzlMOTYgMjIyLjYgOTYgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjY0LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEzNy4zIDBMMzQwIDI1Ny41bC02Mi4yIDE2LjFMMzA1LjMgMzUybC02Ni42IDBMMjY1IDI3N2wtNzQuNiAxOS4zTDEzNy4zIDQ0OCA5NiA0NDhsMC0xNTkuMiAzMzcuNC04Ny41IDI1LjIgOTRjNC42IDE3LjEgMjIuMSAyNy4yIDM5LjIgMjIuNmwxNS41LTQuMWM0Mi43LTExLjQgNjgtNTUuMyA1Ni42LTk4TDUyOC4zIDYxLjN6TTIwNS4xIDQ0OGwxMS4yLTMyIDExMS40IDAgMTEuMiAzMi0xMzMuOCAwelwiXVxufTtcbmNvbnN0IGZhVmF1bHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmF1bHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUyYzVcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTYgMCAxNiAzMiA2NCAwIDE2LTMyIDIyNCAwIDE2IDMyIDY0IDAgMTYtMzIgMTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM1MmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0yMjQgMzIwYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wLTI0MGExNjAgMTYwIDAgMSAxIDAgMzIwIDE2MCAxNjAgMCAxIDEgMC0zMjB6TTQ4MCAyMjEuM0w0ODAgMzM2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTE0LjdjLTE4LjYtNi42LTMyLTI0LjQtMzItNDUuM2MwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4YzAgMjAuOS0xMy40IDM4LjctMzIgNDUuM3pcIl1cbn07XG5jb25zdCBmYU1hcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycycsXG4gIGljb246IFs0NDgsIDUxMiwgWzk3OTRdLCBcImYyMjJcIiwgXCJNMjg5LjggNDYuOGMzLjctOSAxMi41LTE0LjggMjIuMi0xNC44bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTEyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTMzLjQtMzMuNEwzMjEgMjA0LjJjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOGMwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMwIDQwMS4yIDAgMzA0czc4LjgtMTc2IDE3Ni0xNzZjMzcgMCA3MS40IDExLjQgOTkuOCAzMWw1Mi42LTUyLjZMMjk1IDczYy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yek00MDAgODBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDB6TTE3NiA0MTZhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0elwiXVxufTtcbmNvbnN0IGZhVG9pbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvaWxldCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODcwMV0sIFwiZjdkOFwiLCBcIk0yNCAwQzEwLjcgMCAwIDEwLjcgMCAyNFMxMC43IDQ4IDI0IDQ4bDggMCAwIDE0OC45Yy0xLjkgMS40LTMuOCAyLjktNS42IDQuNEMxMC45IDIxNC41IDAgMjMyLjkgMCAyNTZjMCA0Ni45IDE0LjMgODQuMSAzNyAxMTIuNWMxNC4yIDE3LjcgMzEuMSAzMS4zIDQ4LjUgNDEuOEw2NS42IDQ2OS45Yy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44czE1LjcgMTMuMyAyNiAxMy4zbDI1NiAwYzEwLjMgMCAxOS45LTQuOSAyNi0xMy4zczcuNy0xOS4xIDQuNC0yOC44bC0xOS44LTU5LjVjMTcuNC0xMC41IDM0LjMtMjQuMSA0OC41LTQxLjhjMjIuNy0yOC40IDM3LTY1LjUgMzctMTEyLjVjMC0yMy4xLTEwLjktNDEuNS0yNi40LTU0LjZjLTEuOC0xLjUtMy43LTMtNS42LTQuNEw0MTYgNDhsOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDB6TTM4NCAyNTYuM2MwIDEtLjMgMi42LTMuOCA1LjZjLTQuOCA0LjEtMTQgOS0yOS4zIDEzLjRDMzIwLjUgMjg0IDI3Ni4xIDI4OCAyMjQgMjg4cy05Ni41LTQtMTI2LjktMTIuOGMtMTUuMy00LjQtMjQuNS05LjMtMjkuMy0xMy40Yy0zLjUtMy0zLjgtNC42LTMuOC01LjZsMC0uM2MwIDAgMC0uMSAwLS4xYzAtMSAwLTIuNSAzLjgtNS44YzQuOC00LjEgMTQtOSAyOS4zLTEzLjRDMTI3LjUgMjI4IDE3MS45IDIyNCAyMjQgMjI0czk2LjUgNCAxMjYuOSAxMi44YzE1LjMgNC40IDI0LjUgOS4zIDI5LjMgMTMuNGMzLjggMy4yIDMuOCA0LjggMy44IDUuOGMwIDAgMCAuMSAwIC4xbDAgLjN6TTMyOC4yIDM4NGwtLjIgLjUgMC0uNSAuMiAwek0xMTIgNjRsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVBsYW5lQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTU3XCIsIFwiTTI1NiAwYy0zNSAwLTY0IDU5LjUtNjQgOTMuN2wwIDg0LjZMOC4xIDI4My40Yy01IDIuOC04LjEgOC4yLTguMSAxMy45bDAgNjUuNWMwIDEwLjYgMTAuMiAxOC4zIDIwLjQgMTUuNGwxNzEuNi00OSAwIDcwLjktNTcuNiA0My4yYy00IDMtNi40IDcuOC02LjQgMTIuOGwwIDQyYzAgNy44IDYuMyAxNCAxNCAxNGMxLjMgMCAyLjYtLjIgMy45LS41TDI1NiA0ODBsMTEwLjEgMzEuNWMxLjMgLjQgMi42IC41IDMuOSAuNWM2IDAgMTEuMS0zLjcgMTMuMS05QzM0NC41IDQ3MC43IDMyMCA0MjIuMiAzMjAgMzY4YzAtNjAuNiAzMC42LTExNCA3Ny4xLTE0NS42TDMyMCAxNzguM2wwLTg0LjZDMzIwIDU5LjUgMjkyIDAgMjU2IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDUxOC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhWWVuU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd5ZW4tc2lnbicsXG4gIGljb246IFszMjAsIDUxMiwgWzE2NSwgXCJjbnlcIiwgXCJqcHlcIiwgXCJybWJcIiwgXCJ5ZW5cIl0sIFwiZjE1N1wiLCBcIk01OC42IDQ2LjNDNDguOCAzMS41IDI5IDI3LjYgMTQuMiAzNy40Uy00LjQgNjcgNS40IDgxLjhMMTAwLjIgMjI0IDQ4IDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4MCAwIDAgMzItODAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4MCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDgwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgwIDAgMC0zMiA4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01Mi4yIDBMMzE0LjYgODEuOGM5LjgtMTQuNyA1LjgtMzQuNi04LjktNDQuNHMtMzQuNi01LjgtNDQuNCA4LjlMMTYwIDE5OC4zIDU4LjYgNDYuM3pcIl1cbn07XG5jb25zdCBmYUNueSA9IGZhWWVuU2lnbjtcbmNvbnN0IGZhSnB5ID0gZmFZZW5TaWduO1xuY29uc3QgZmFSbWIgPSBmYVllblNpZ247XG5jb25zdCBmYVllbiA9IGZhWWVuU2lnbjtcbmNvbnN0IGZhUnVibGVTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1YmxlLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs4MzgxLCBcInJvdWJsZVwiLCBcInJ1YlwiLCBcInJ1YmxlXCJdLCBcImYxNThcIiwgXCJNOTYgMzJDNzguMyAzMiA2NCA0Ni4zIDY0IDY0bDAgMTkyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0zMiAxMTIgMGM3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NHMtNjQuNS0xNDQtMTQ0LTE0NEw5NiAzMnpNMjQwIDI1NmwtMTEyIDAgMC0xNjAgMTEyIDBjNDQuMiAwIDgwIDM1LjggODAgODBzLTM1LjggODAtODAgODB6XCJdXG59O1xuY29uc3QgZmFSb3VibGUgPSBmYVJ1YmxlU2lnbjtcbmNvbnN0IGZhUnViID0gZmFSdWJsZVNpZ247XG5jb25zdCBmYVJ1YmxlID0gZmFSdWJsZVNpZ247XG5jb25zdCBmYVN1biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NzI4XSwgXCJmMTg1XCIsIFwiTTM2MS41IDEuMmM1IDIuMSA4LjYgNi42IDkuNiAxMS45TDM5MSAxMjFsMTA3LjkgMTkuOGM1LjMgMSA5LjggNC42IDExLjkgOS42czEuNSAxMC43LTEuNiAxNS4yTDQ0Ni45IDI1Nmw2Mi4zIDkwLjNjMy4xIDQuNSAzLjcgMTAuMiAxLjYgMTUuMnMtNi42IDguNi0xMS45IDkuNkwzOTEgMzkxIDM3MS4xIDQ5OC45Yy0xIDUuMy00LjYgOS44LTkuNiAxMS45cy0xMC43IDEuNS0xNS4yLTEuNkwyNTYgNDQ2LjlsLTkwLjMgNjIuM2MtNC41IDMuMS0xMC4yIDMuNy0xNS4yIDEuNnMtOC42LTYuNi05LjYtMTEuOUwxMjEgMzkxIDEzLjEgMzcxLjFjLTUuMy0xLTkuOC00LjYtMTEuOS05LjZzLTEuNS0xMC43IDEuNi0xNS4yTDY1LjEgMjU2IDIuOCAxNjUuN2MtMy4xLTQuNS0zLjctMTAuMi0xLjYtMTUuMnM2LjYtOC42IDExLjktOS42TDEyMSAxMjEgMTQwLjkgMTMuMWMxLTUuMyA0LjYtOS44IDkuNi0xMS45czEwLjctMS41IDE1LjIgMS42TDI1NiA2NS4xIDM0Ni4zIDIuOGM0LjUtMy4xIDEwLjItMy43IDE1LjItMS42ek0xNjAgMjU2YTk2IDk2IDAgMSAxIDE5MiAwIDk2IDk2IDAgMSAxIC0xOTIgMHptMjI0IDBhMTI4IDEyOCAwIDEgMCAtMjU2IDAgMTI4IDEyOCAwIDEgMCAyNTYgMHpcIl1cbn07XG5jb25zdCBmYUd1aXRhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdndWl0YXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3YTZcIiwgXCJNNDY1IDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDM4MyA1NWMtMi40IDIuNC00LjMgNS4zLTUuNSA4LjVsLTE1LjQgNDEtNzcuNSA3Ny42Yy00NS4xLTI5LjQtOTkuMy0zMC4yLTEzMSAxLjZjLTExIDExLTE4IDI0LjYtMjEuNCAzOS42Yy0zLjcgMTYuNi0xOS4xIDMwLjctMzYuMSAzMS42Yy0yNS42IDEuMy00OS4zIDEwLjctNjcuMyAyOC42Qy0xNiAzMjguNC03LjYgNDA5LjQgNDcuNSA0NjQuNXMxMzYuMSA2My41IDE4MC45IDE4LjdjMTcuOS0xNy45IDI3LjQtNDEuNyAyOC42LTY3LjNjLjktMTcgMTUtMzIuMyAzMS42LTM2LjFjMTUtMy40IDI4LjYtMTAuNSAzOS42LTIxLjRjMzEuOC0zMS44IDMxLTg1LjkgMS42LTEzMWw3Ny42LTc3LjYgNDEtMTUuNGMzLjItMS4yIDYuMS0zLjEgOC41LTUuNWw0OC00OGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0NjUgN3pNMjA4IDI1NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFGYWNlTGF1Z2hXaW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtbGF1Z2gtd2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2gtd2lua1wiXSwgXCJmNTljXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek05Ni44IDMxNC4xYy0zLjgtMTMuNyA3LjQtMjYuMSAyMS42LTI2LjFsMjc1LjIgMGMxNC4yIDAgMjUuNSAxMi40IDIxLjYgMjYuMUMzOTYuMiAzODIgMzMyLjEgNDMyIDI1NiA0MzJzLTE0MC4yLTUwLTE1OS4yLTExNy45ek0xNDQuNCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTU2LjQgMjUuNmMtNS4zIDcuMS0xNS4zIDguNS0yMi40IDMuMnMtOC41LTE1LjMtMy4yLTIyLjRjMzAuNC00MC41IDkxLjItNDAuNSAxMjEuNiAwYzUuMyA3LjEgMy45IDE3LjEtMy4yIDIyLjRzLTE3LjEgMy45LTIyLjQtMy4yYy0xNy42LTIzLjUtNTIuOC0yMy41LTcwLjQgMHpcIl1cbn07XG5jb25zdCBmYUxhdWdoV2luayA9IGZhRmFjZUxhdWdoV2luaztcbmNvbnN0IGZhSG9yc2VIZWFkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvcnNlLWhlYWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3YWJcIiwgXCJNNjQgNDY0bDAtMTQ3LjFjMC0xMDguNCA2OC4zLTIwNS4xIDE3MC41LTI0MS4zTDQwNC4yIDE1LjVDNDI1LjYgNy45IDQ0OCAyMy44IDQ0OCA0Ni40YzAgMTEtNS41IDIxLjItMTQuNiAyNy4zTDQwMCA5NmM0OC4xIDAgOTEuMiAyOS44IDEwOC4xIDc0LjlsNDguNiAxMjkuNWMxMS44IDMxLjQgNC4xIDY2LjgtMTkuNiA5MC41Yy0xNiAxNi0zNy44IDI1LjEtNjAuNSAyNS4xbC0zLjQgMGMtMjYuMSAwLTUwLjktMTEuNi02Ny42LTMxLjdsLTMyLjMtMzguN2MtMTEuNyA0LjEtMjQuMiA2LjQtMzcuMyA2LjRjMCAwIDAgMC0uMSAwYzAgMCAwIDAgMCAwYy02LjMgMC0xMi41LS41LTE4LjYtMS41Yy0zLjYtLjYtNy4yLTEuNC0xMC43LTIuM2MwIDAgMCAwIDAgMGMtMjguOS03LjgtNTMuMS0yNi44LTY3LjgtNTIuMmMtNC40LTcuNi0xNC4yLTEwLjMtMjEuOS01LjhzLTEwLjMgMTQuMi01LjggMjEuOWMyNCA0MS41IDY4LjMgNzAgMTE5LjMgNzEuOWw0Ny4yIDcwLjhjNCA2LjEgNi4yIDEzLjIgNi4yIDIwLjRjMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhMMTEyIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTM5MiAyMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbmNvbnN0IGZhQm9yZUhvbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9yZS1ob2xlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGMzXCIsIFwiTTI1NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDI2NC42Yy0xOS4xIDExLjEtMzIgMzEuNy0zMiA1NS40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC0yMy43LTEyLjktNDQuNC0zMi01NS40TDI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDggMTI4Yy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OGwtODAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJsLTgwIDB6XCJdXG59O1xuY29uc3QgZmFJbmR1c3RyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbmR1c3RyeScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjI3NVwiLCBcIk02NCAzMkM0Ni4zIDMyIDMyIDQ2LjMgMzIgNjRsMCAyNDAgMCA0OCAwIDgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4IDAtMTUxLjhjMC0xOC4yLTE5LjQtMjkuNy0zNS40LTIxLjFMMzUyIDIxNS40bDAtNjMuMmMwLTE4LjItMTkuNC0yOS43LTM1LjQtMjEuMUwxNjAgMjE1LjQgMTYwIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDY0IDMyelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNDY2LCBcImFycm93LWFsdC1jaXJjbGUtZG93blwiXSwgXCJmMzU4XCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMHpNMjQ0LjcgMzk1LjNsLTExMi0xMTJjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjRzOC4zLTkuOSAxNC44LTkuOWw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTExMiAxMTJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dBbHRDaXJjbGVEb3duID0gZmFDaXJjbGVEb3duO1xuY29uc3QgZmFBcnJvd3NUdXJuVG9Eb3RzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10dXJuLXRvLWRvdHMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YzFcIiwgXCJNMjQ5LjQgMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDI2OS4zIDk2IDQxNiA5NmM1MyAwIDk2IDQzIDk2IDk2bDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTQ2LjcgMCAyNS40IDI1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w4MC04MHptMTMuMyAyNTZsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDIuNyA0MTYgOTYgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzJjMC01MyA0My05NiA5Ni05NmwxNDYuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMHpNMzg0IDM4NGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTY0IDE5MkE2NCA2NCAwIDEgMSA2NCA2NGE2NCA2NCAwIDEgMSAwIDEyOHpcIl1cbn07XG5jb25zdCBmYUZsb3JpblNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmxvcmluLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxODRcIiwgXCJNMzE0LjcgMzJjLTM4LjggMC03My43IDIzLjMtODguNiA1OS4xTDE3MC43IDIyNCA2NCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODAgMEw5OC45IDM5Ni4zYy01IDExLjktMTYuNiAxOS43LTI5LjUgMTkuN0wzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzcuMyAwYzM4LjggMCA3My43LTIzLjMgODguNi01OS4xTDIxMy4zIDI4OCAzMjAgMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04MCAwIDQ1LjEtMTA4LjNjNS0xMS45IDE2LjYtMTkuNyAyOS41LTE5LjdMMzUyIDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zNy4zIDB6XCJdXG59O1xuY29uc3QgZmFBcnJvd0Rvd25TaG9ydFdpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1zaG9ydC13aWRlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFtb3VudC1kZXNjXCIsIFwic29ydC1hbW91bnQtZG93bi1hbHRcIl0sIFwiZjg4NFwiLCBcIk0xNTEuNiA0NjkuNkMxNDUuNSA0NzYuMiAxMzcgNDgwIDEyOCA0ODBzLTE3LjUtMy44LTIzLjYtMTAuNGwtODgtOTZjLTExLjktMTMtMTEuMS0zMy4zIDItNDUuMnMzMy4zLTExLjEgNDUuMiAyTDk2IDM2NS43IDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDEuNyAzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOGwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTb3J0QW1vdW50RGVzYyA9IGZhQXJyb3dEb3duU2hvcnRXaWRlO1xuY29uc3QgZmFTb3J0QW1vdW50RG93bkFsdCA9IGZhQXJyb3dEb3duU2hvcnRXaWRlO1xuY29uc3QgZmFMZXNzVGhhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsZXNzLXRoYW4nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs2Mjc3NF0sIFwiM2NcIiwgXCJNMzgwLjYgODEuN2M3LjkgMTUuOCAxLjUgMzUtMTQuMyA0Mi45TDEwMy42IDI1NiAzNjYuMyAzODcuNGMxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zbC0zMjAtMTYwQzYuOCAyNzkuMiAwIDI2OC4xIDAgMjU2czYuOC0yMy4yIDE3LjctMjguNmwzMjAtMTYwYzE1LjgtNy45IDM1LTEuNSA0Mi45IDE0LjN6XCJdXG59O1xuY29uc3QgZmFBbmdsZURvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtZG93bicsXG4gIGljb246IFs0NDgsIDUxMiwgWzg5NjRdLCBcImYxMDdcIiwgXCJNMjAxLjQgMzc0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgMzA2LjcgODYuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MHpcIl1cbn07XG5jb25zdCBmYUNhclR1bm5lbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItdHVubmVsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGRlXCIsIFwiTTI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0Mi44IDBjLTYuNi01LjktMTAuOC0xNC40LTEwLjgtMjRsMC0xMTJjMC0yMC44IDExLjMtMzguOSAyOC4xLTQ4LjZsMjEtNjQuN2M3LjUtMjMuMSAyOS0zOC43IDUzLjMtMzguN2wxMTUuMiAwYzI0LjMgMCA0NS44IDE1LjYgNTMuMyAzOC43bDIxIDY0LjdjMTYuOCA5LjcgMjguMiAyNy44IDI4LjIgNDguNmwwIDExMmMwIDkuNi00LjIgMTguMS0xMC44IDI0bDQyLjggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MkM1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMHpNMzYyLjggNTEyYy02LjYtNS45LTEwLjgtMTQuNC0xMC44LTI0bDAtNDAtMTkyIDAgMCA0MGMwIDkuNi00LjIgMTguMS0xMC44IDI0bDIxMy43IDB6TTE5MC44IDI3Ny41TDE3NyAzMjBsMTU4IDAtMTMuOC00Mi41Yy0xLjEtMy4zLTQuMS01LjUtNy42LTUuNWwtMTE1LjIgMGMtMy41IDAtNi41IDIuMi03LjYgNS41ek0xNjggNDA4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjAwLTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6XCJdXG59O1xuY29uc3QgZmFIZWFkU2lkZUNvdWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWQtc2lkZS1jb3VnaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MVwiLCBcIk0wIDIyNC4yQzAgMTAwLjYgMTAwLjIgMCAyMjQgMGwyNCAwYzk1LjIgMCAxODEuMiA2OS4zIDE5Ny4zIDE2MC4yYzIuMyAxMyA2LjggMjUuNyAxNS4xIDM2bDQyIDUyLjZjNi4yIDcuOCA5LjYgMTcuNCA5LjYgMjcuNGMwIDI0LjItMTkuNiA0My44LTQzLjggNDMuOEw0NDggMzIwczAgMCAwIDBsMCAzMkwzMzkuMiAzNjUuNmMtMTEgMS40LTE5LjIgMTAuNy0xOS4yIDIxLjhjMCAxMS42IDkgMjEuMiAyMC42IDIxLjlMNDQ4IDQxNmwwIDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC04MCAwIDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDAgMHMwIDAgMCAwTDk2IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03Mi43YzAtMTYuNy02LjktMzIuNS0xNy4xLTQ1LjhDMTYuNiAzMjIuNCAwIDI3NC4xIDAgMjI0LjJ6bTM1Mi0uMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTQ2NCAzODRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTUyLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNNTkyIDQ4MGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek01NTIgMzEyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAtMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNTUyIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xuY29uc3QgZmFHcmlwTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JpcC1saW5lcycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjdhNFwiLCBcIk0zMiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMjg4em0wLTEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjB6XCJdXG59O1xuY29uc3QgZmFUaHVtYnNEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1icy1kb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MDc4LCA2MTU3Nl0sIFwiZjE2NVwiLCBcIk0zMTMuNCA0NzkuMWMyNi01LjIgNDIuOS0zMC41IDM3LjctNTYuNWwtMi4zLTExLjRjLTUuMy0yNi43LTE1LjEtNTIuMS0yOC44LTc1LjJsMTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC0xOC41LTEwLjUtMzQuNi0yNS45LTQyLjZDNDk3IDIzNi42IDUwNCAyMjMuMSA1MDQgMjA4YzAtMjMuNC0xNi44LTQyLjktMzguOS00Ny4xYzQuNC03LjMgNi45LTE1LjggNi45LTI0LjljMC0yMS4zLTEzLjktMzkuNC0zMy4xLTQ1LjZjLjctMy4zIDEuMS02LjggMS4xLTEwLjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTk3LjUgMGMtMTkgMC0zNy41IDUuNi01My4zIDE2LjFMMjAyLjcgNzMuOEMxNzYgOTEuNiAxNjAgMTIxLjYgMTYwIDE1My43bDAgMzguMyAwIDQ4IDAgMjQuOWMwIDI5LjIgMTMuMyA1Ni43IDM2IDc1bDcuNCA1LjljMjYuNSAyMS4yIDQ0LjYgNTEgNTEuMiA4NC4ybDIuMyAxMS40YzUuMiAyNiAzMC41IDQyLjkgNTYuNSAzNy43ek0zMiAzODRsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA5NkMxNC4zIDk2IDAgMTEwLjMgMCAxMjhMMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFVc2VyTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MDJcIiwgXCJNMjI0IDI1NkExMjggMTI4IDAgMSAwIDIyNCAwYTEyOCAxMjggMCAxIDAgMCAyNTZ6bS00NS43IDQ4Qzc5LjggMzA0IDAgMzgzLjggMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEybDM2Mi44IDBjLTUuNC05LjQtOC42LTIwLjMtOC42LTMybDAtMTI4YzAtMi4xIC4xLTQuMiAuMy02LjNjLTMxLTI2LTcxLTQxLjctMTE0LjYtNDEuN2wtOTEuNCAwek01MjggMjQwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJsMCA0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG5jb25zdCBmYUFycm93UmlnaHRMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXJpZ2h0LWxvbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxvbmctYXJyb3ctcmlnaHRcIl0sIFwiZjE3OFwiLCBcIk01MDIuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNzAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4elwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93UmlnaHQgPSBmYUFycm93UmlnaHRMb25nO1xuY29uc3QgZmFBbmNob3JDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmNob3ItY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGFjXCIsIFwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0yMS4xIDgwQzM2NyAxNTguOCAzODQgMTI5LjQgMzg0IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMzMuNCAxNyA2Mi44IDQyLjkgODBMMjI0IDE3NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMjA4LTQ4IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC02LjEgNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw5NyAyNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDcgMzE5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNy03IDAgNi4xYzAgODguNCA3MS42IDE2MCAxNjAgMTYwbDgwIDAgODAgMGM4LjIgMCAxNi4zLS42IDI0LjItMS44Yy0yMi4yLTE2LjItNDAuNC0zNy41LTUzLTYyLjJMMzIwIDQ0OGwwLTgwIDAtMTI4IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEwLjkgMHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNTE4LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQ5NiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQ3My40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDk2IDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xuY29uc3QgZmFFbGxpcHNpcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGxpcHNpcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZWxsaXBzaXMtaFwiXSwgXCJmMTQxXCIsIFwiTTggMjU2YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDggMjU2em0xNjAgMGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTIxNi01NmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpcIl1cbn07XG5jb25zdCBmYUVsbGlwc2lzSCA9IGZhRWxsaXBzaXM7XG5jb25zdCBmYUNoZXNzUGF3biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1wYXduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOTgyM10sIFwiZjQ0M1wiLCBcIk0yMTUuNSAyMjRjMjkuMi0xOC40IDQ4LjUtNTAuOSA0OC41LTg4YzAtNTcuNC00Ni42LTEwNC0xMDQtMTA0UzU2IDc4LjYgNTYgMTM2YzAgMzcuMSAxOS40IDY5LjYgNDguNSA4OEw5NiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyYzAgMTYuNSAxMi41IDMwIDI4LjUgMzEuOEw4MCA0MDBsMTYwIDBMMjI3LjUgMjg3LjhjMTYtMS44IDI4LjUtMTUuMyAyOC41LTMxLjhjMC0xNy43LTE0LjMtMzItMzItMzJsLTguNSAwek0yMi42IDQ3My40Yy00LjIgNC4yLTYuNiAxMC02LjYgMTZDMTYgNTAxLjkgMjYuMSA1MTIgMzguNiA1MTJsMjQyLjcgMGMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNmMwLTYtMi40LTExLjgtNi42LTE2TDI1NiA0MzIgNjQgNDMyIDIyLjYgNDczLjR6XCJdXG59O1xuY29uc3QgZmFLaXRNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tpdC1tZWRpY2FsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJmaXJzdC1haWRcIl0sIFwiZjQ3OVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyIDBMOTYgMzIgNjQgMzJ6bTY0IDBsMCA0NDggMzIwIDAgMC00NDhMMTI4IDMyek01MTIgNDgwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAgNDQ4IDMyIDB6TTI1NiAxNzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0OCAwIDAtNDh6XCJdXG59O1xuY29uc3QgZmFGaXJzdEFpZCA9IGZhS2l0TWVkaWNhbDtcbmNvbnN0IGZhUGVyc29uVGhyb3VnaFdpbmRvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tdGhyb3VnaC13aW5kb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1YTlcIiwgXCJNNjQgNjRsMjI0IDAgMCA5LjhjMCAzOS0yMy43IDc0LTU5LjkgODguNEMxNjcuNiAxODYuNSAxMjggMjQ1IDEyOCAzMTAuMmwwIDczLjhzMCAwIDAgMGwtNjQgMEw2NCA2NHptMjg4IDBsMjI0IDAgMCAzMjAtNjcuNyAwLTMuNy00LjUtNzUuMi05MC4yYy05LjEtMTAuOS0yMi42LTE3LjMtMzYuOS0xNy4zbC03MS4xIDAtNDEtNjMuMWMtLjMtLjUtLjYtMS0xLTEuNGM0NC43LTI5IDcyLjUtNzkgNzIuNS0xMzMuNmwwLTkuOHptNzMgMzIwbC00NS44IDAgNDIuNyA2NEw1OTIgNDQ4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgNDAwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDI2MC4yIDAgMzMuMiA0OS44YzkuOCAxNC43IDI5LjcgMTguNyA0NC40IDguOXMxOC43LTI5LjcgOC45LTQ0LjRMMzEwLjUgMzM2bDc0LjYgMCA0MCA0OHptLTE1OS41IDBMMTkyIDM4NHMwIDAgMCAwbDAtNzMuOGMwLTEwLjIgMS42LTIwLjEgNC43LTI5LjVMMjY1LjUgMzg0ek0xOTIgMTI4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6XCJdXG59O1xuY29uc3QgZmFUb29sYm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvb2xib3gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MjBdLCBcImY1NTJcIiwgXCJNMTc2IDg4bDAgNDAgMTYwIDAgMC00MGMwLTQuNC0zLjYtOC04LThMMTg0IDgwYy00LjQgMC04IDMuNi04IDh6bS00OCA0MGwwLTQwYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDE0NCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDAgMjguMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFsNTEuOSA1MS45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45bDAgOTIuMS0xMjggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzItMTI4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyTDAgMzIwbDAtOTIuMWMwLTEyLjcgNS4xLTI0LjkgMTQuMS0zMy45bDUxLjktNTEuOWM5LTkgMjEuMi0xNC4xIDMzLjktMTQuMWwyOC4xIDB6TTAgNDE2bDAtNjQgMTI4IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwxMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDEyOCAwIDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NHpcIl1cbn07XG5jb25zdCBmYUhhbmRzSG9sZGluZ0NpcmNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kcy1ob2xkaW5nLWNpcmNsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRmYlwiLCBcIk0zMjAgMGExMjggMTI4IDAgMSAxIDAgMjU2QTEyOCAxMjggMCAxIDEgMzIwIDB6TTQwIDY0YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDAgMCA4MCAwIDQwLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsNTEuMSA1MS4xYzguMyA4LjMgMjEuMyA5LjYgMzEgMy4xYzEyLjktOC42IDE0LjctMjYuOSAzLjctMzcuOGwtMTUuMi0xNS4yLTMyLTMyYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDMyIDMyIDE1LjIgMTUuMmMwIDAgMCAwIDAgMGwyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMmwwIDc4LjljMCAyNi41LTIxLjUgNDgtNDggNDhsLTY2LjcgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVMMCAyMjRsMC02NCAwLTU2QzAgODEuOSAxNy45IDY0IDQwIDY0em01NjAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDU2IDAgNjQgMCAxMDEuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNDAwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC03OC45YzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuM2MwIDAgMCAwIDAgMGwxNS4yLTE1LjIgMzItMzJjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMzIgMzItMTUuMiAxNS4yYy0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOGM5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wwLTQwLjIgMC04MCAwLTQwYzAtMjIuMSAxNy45LTQwIDQwLTQwelwiXVxufTtcbmNvbnN0IGZhQnVnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1ZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjE4OFwiLCBcIk0yNTYgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMy42YzAgMTUuNy0xMi43IDI4LjQtMjguNCAyOC40bC0xMzUuMSAwYy0xNS43IDAtMjguNC0xMi43LTI4LjQtMjguNGwwLTMuNmMwLTUzIDQzLTk2IDk2LTk2ek00MS40IDEwNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDY0IDY0Yy43IC43IDEuMyAxLjQgMS45IDIuMWMxNC4yLTcuMyAzMC40LTExLjQgNDcuNS0xMS40bDExMiAwYzE3LjEgMCAzMy4yIDQuMSA0Ny41IDExLjRjLjYtLjcgMS4yLTEuNCAxLjktMi4xbDY0LTY0YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTY0IDY0Yy0uNyAuNy0xLjQgMS4zLTIuMSAxLjljNi4yIDEyIDEwLjEgMjUuMyAxMS4xIDM5LjVsNjQuMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYzAgMjQuNi01LjUgNDcuOC0xNS40IDY4LjZjMi4yIDEuMyA0LjIgMi45IDYgNC44bDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC02My4xLTYzLjFjLTI0LjUgMjEuOC01NS44IDM2LjItOTAuMyAzOS42TDI3MiAyNDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyMzkuMmMtMzQuNS0zLjQtNjUuOC0xNy44LTkwLjMtMzkuNkw4Ni42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2NC02NGMxLjktMS45IDMuOS0zLjQgNi00LjhDMTAxLjUgMzY3LjggOTYgMzQ0LjYgOTYgMzIwbC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0LjMgMGMxLjEtMTQuMSA1LTI3LjUgMTEuMS0zOS41Yy0uNy0uNi0xLjQtMS4yLTIuMS0xLjlsLTY0LTY0Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG5jb25zdCBmYUNyZWRpdENhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JlZGl0LWNhcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgxNzksIDYyMDgzLCBcImNyZWRpdC1jYXJkLWFsdFwiXSwgXCJmMDlkXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCAzMiA1NzYgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01NzYgMjI0TDAgMjI0IDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyek0xMTIgMzUybDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTY0IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTExMiAxNmMwLTguOCA3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFDcmVkaXRDYXJkQWx0ID0gZmFDcmVkaXRDYXJkO1xuY29uc3QgZmFDYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NjY0LCBcImF1dG9tb2JpbGVcIl0sIFwiZjFiOVwiLCBcIk0xMzUuMiAxMTcuNEwxMDkuMSAxOTJsMjkzLjggMC0yNi4xLTc0LjZDMzcyLjMgMTA0LjYgMzYwLjIgOTYgMzQ2LjYgOTZMMTY1LjQgOTZjLTEzLjYgMC0yNS43IDguNi0zMC4yIDIxLjR6TTM5LjYgMTk2LjhMNzQuOCA5Ni4zQzg4LjMgNTcuOCAxMjQuNiAzMiAxNjUuNCAzMmwxODEuMiAwYzQwLjggMCA3Ny4xIDI1LjggOTAuNiA2NC4zbDM1LjIgMTAwLjVjMjMuMiA5LjYgMzkuNiAzMi41IDM5LjYgNTkuMmwwIDE0NCAwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4TDk2IDQwMGwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4TDAgMjU2YzAtMjYuNyAxNi40LTQ5LjYgMzkuNi01OS4yek0xMjggMjg4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI4OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFBdXRvbW9iaWxlID0gZmFDYXI7XG5jb25zdCBmYUhhbmRIb2xkaW5nSGFuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctaGFuZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmN1wiLCBcIk03LjggMjA3LjdjLTEzLjEtMTcuOC05LjMtNDIuOCA4LjUtNTUuOUwxNDIuOSA1OC41QzE2Ni4yIDQxLjMgMTk0LjUgMzIgMjIzLjUgMzJMMzg0IDMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTM2LjggMC00NC45IDM2Yy0yMi43IDE4LjItNTAuOSAyOC04MCAyOEwzMDQgMjI0bC0xNiAwLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xMjAuNiAwTDYzLjcgMjE2LjJjLTE3LjggMTMuMS00Mi44IDkuMy01NS45LTguNXpNMzgyLjQgMTYwYzAgMCAwIDAgMCAwbC45IDBjLS4zIDAtLjYgMC0uOSAwek01NjguMiAzMDQuM2MxMy4xIDE3LjggOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDUzLjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41TDE5MiA0ODAgMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM2LjggMCA0NC45LTM2YzIyLjctMTguMiA1MC45LTI4IDgwLTI4bDc4LjMgMCAxNiAwIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDAtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjAuNiAwIDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41ek0xOTMuNiAzNTJjMCAwIDAgMCAwIDBsLS45IDBjLjMgMCAuNiAwIC45IDB6XCJdXG59O1xuY29uc3QgZmFCb29rT3BlblJlYWRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLW9wZW4tcmVhZGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJib29rLXJlYWRlclwiXSwgXCJmNWRhXCIsIFwiTTE2MCA5NmE5NiA5NiAwIDEgMSAxOTIgMEE5NiA5NiAwIDEgMSAxNjAgOTZ6bTgwIDE1MmwwIDI2NC00OC40LTI0LjJjLTIwLjktMTAuNC00My41LTE3LTY2LjgtMTkuM2wtOTYtOS42QzEyLjUgNDU3LjIgMCA0NDMuNSAwIDQyN0wwIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMC4zIDBjNjMuNiAwIDEyNS42IDE5LjYgMTc3LjcgNTZ6bTMyIDI2NGwwLTI2NGM1Mi4xLTM2LjQgMTE0LjEtNTYgMTc3LjctNTZsMzAuMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjAzYzAgMTYuNC0xMi41IDMwLjItMjguOCAzMS44bC05NiA5LjZjLTIzLjIgMi4zLTQ1LjkgOC45LTY2LjggMTkuM0wyNzIgNTEyelwiXVxufTtcbmNvbnN0IGZhQm9va1JlYWRlciA9IGZhQm9va09wZW5SZWFkZXI7XG5jb25zdCBmYU1vdW50YWluU3VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW50YWluLXN1bicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyZlwiLCBcIk01NjAgMTYwQTgwIDgwIDAgMSAwIDU2MCAwYTgwIDgwIDAgMSAwIDAgMTYwek01NS45IDUxMmwzMjUuMiAwIDc1IDAgMTIyLjggMGMzMy44IDAgNjEuMS0yNy40IDYxLjEtNjEuMWMwLTExLjItMy4xLTIyLjItOC45LTMxLjhsLTEzMi0yMTYuM0M0OTUgMTk2LjEgNDg3LjggMTkyIDQ4MCAxOTJzLTE1IDQuMS0xOS4xIDEwLjdsLTQ4LjIgNzlMMjg2LjggODFjLTYuNi0xMC42LTE4LjMtMTctMzAuOC0xN3MtMjQuMSA2LjQtMzAuOCAxN0w4LjYgNDI2LjRDMyA0MzUuMyAwIDQ0NS42IDAgNDU2LjFDMCA0ODcgMjUgNTEyIDU1LjkgNTEyelwiXVxufTtcbmNvbnN0IGZhQXJyb3dzTGVmdFJpZ2h0VG9MaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YmFcIiwgXCJNMzIgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NHptMjE0LjYgNzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0wyMDUuMyAyMjRsMjI5LjUgMC00MS40LTQxLjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MzQuNyAyODhsLTIyOS41IDAgNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDB6TTY0MCA5NmwwIDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhRGljZUQyMCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLWQyMCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjZjZlwiLCBcIk00OC43IDEyNS44bDUzLjIgMzEuOWM3LjggNC43IDE3LjggMiAyMi4yLTUuOUwyMDEuNiAxMi4xYzMtNS40LS45LTEyLjEtNy4xLTEyLjFjLTEuNiAwLTMuMiAuNS00LjYgMS40TDQ3LjkgOTguOGMtOS42IDYuNi05LjIgMjAuOSAuOCAyNi45ek0xNiAxNzEuN2wwIDEyMy41YzAgOCAxMC40IDExIDE0LjcgNC40bDYwLTkyYzUtNy42IDIuNi0xNy44LTUuMi0yMi41TDQwLjIgMTU4QzI5LjYgMTUxLjYgMTYgMTU5LjMgMTYgMTcxLjd6TTMxMC40IDEyLjFsNzcuNiAxMzkuNmM0LjQgNy45IDE0LjUgMTAuNiAyMi4yIDUuOWw1My4yLTMxLjljMTAtNiAxMC40LTIwLjMgLjgtMjYuOUwzMjIuMSAxLjRjLTEuNC0uOS0zLTEuNC00LjYtMS40Yy02LjIgMC0xMC4xIDYuNy03LjEgMTIuMXpNNDk2IDE3MS43YzAtMTIuNC0xMy42LTIwLjEtMjQuMi0xMy43bC00NS4zIDI3LjJjLTcuOCA0LjctMTAuMSAxNC45LTUuMiAyMi41bDYwIDkyYzQuMyA2LjcgMTQuNyAzLjYgMTQuNy00LjRsMC0xMjMuNXptLTQ5LjMgMjQ2TDI4Ni4xIDQzNi42Yy04LjEgLjktMTQuMSA3LjgtMTQuMSAxNS45bDAgNTIuOGMwIDMuNyAzIDYuOCA2LjggNi44Yy44IDAgMS42LS4xIDIuNC0uNGwxNzIuNy02NGM2LjEtMi4yIDEwLjEtOCAxMC4xLTE0LjVjMC05LjMtOC4xLTE2LjUtMTcuMy0xNS40ek0yMzMuMiA1MTJjMy43IDAgNi44LTMgNi44LTYuOGwwLTUyLjZjMC04LjEtNi4xLTE0LjktMTQuMS0xNS45bC0xNjAuNi0xOWMtOS4yLTEuMS0xNy4zIDYuMS0xNy4zIDE1LjRjMCA2LjUgNCAxMi4zIDEwLjEgMTQuNWwxNzIuNyA2NGMuOCAuMyAxLjYgLjQgMi40IC40ek00MS43IDM4Mi45bDE3MC45IDIwLjJjNy44IC45IDEzLjQtNy41IDkuNS0xNC4zbC04NS43LTE1MGMtNS45LTEwLjQtMjAuNy0xMC44LTI3LjMtLjhMMzAuMiAzNTguMmMtNi41IDkuOS0uMyAyMy4zIDExLjUgMjQuN3ptNDM5LjYtMjQuOEw0MDIuOSAyMzguMWMtNi41LTEwLTIxLjQtOS42LTI3LjMgLjhMMjkwLjIgMzg4LjVjLTMuOSA2LjggMS42IDE1LjIgOS41IDE0LjNsMTcwLjEtMjBjMTEuOC0xLjQgMTgtMTQuNyAxMS41LTI0LjZ6bS0yMTYuOSAxMWw3OC40LTEzNy4yYzYuMS0xMC43LTEuNi0yMy45LTEzLjktMjMuOWwtMTQ1LjcgMGMtMTIuMyAwLTIwIDEzLjMtMTMuOSAyMy45bDc4LjQgMTM3LjJjMy43IDYuNCAxMyA2LjQgMTYuNyAwek0xNzQuNCAxNzZsMTYzLjIgMGMxMi4yIDAgMTkuOS0xMy4xIDE0LTIzLjhsLTgwLTE0NGMtMi44LTUuMS04LjItOC4yLTE0LTguMmwtMy4yIDBjLTUuOCAwLTExLjIgMy4yLTE0IDguMmwtODAgMTQ0Yy01LjkgMTAuNyAxLjggMjMuOCAxNCAyMy44elwiXVxufTtcbmNvbnN0IGZhVHJ1Y2tEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWRyb3BsZXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OGNcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBMMzY4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OCA1MC43IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNTg5LjMgMTkyYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNsMCAxOC43IDAgMzIgMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwtMTI4IDBjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsLTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgNDh6TTQxNiAyNTZsMTI4IDAgMC0xOC43TDQ2Ni43IDE2MCA0MTYgMTYwbDAgOTZ6TTE2MCA0NjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zNjgtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMjA4IDI3MmMzOS44IDAgNzItMjkuNiA3Mi02NmMwLTI3LTM5LjQtODIuOS01OS45LTExMC4zYy02LjEtOC4yLTE4LjEtOC4yLTI0LjIgMEMxNzUuNCAxMjMgMTM2IDE3OSAxMzYgMjA2YzAgMzYuNSAzMi4yIDY2IDcyIDY2elwiXVxufTtcbmNvbnN0IGZhRmlsZUNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNWExXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHptNDggOTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em01OS4zIDEwNy4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBMNDMyIDM0NS40bC0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZMNDA5LjQgMzY4bC0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0MzIgMzkwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw0NTQuNiAzNjhsMzYuNy0zNi43elwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWFycm93LXVwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS11cFwiXSwgXCJlMDQwXCIsIFwiTTEyOCAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDE2NC41YzAgMTcuMyA3LjEgMzEuOSAxNS4zIDQyLjVDMjQ5LjggMzMyLjYgMjU2IDM0OS41IDI1NiAzNjhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0xOC41IDYuMi0zNS40IDE2LjctNDguOWM4LjItMTAuNiAxNS4zLTI1LjIgMTUuMy00Mi41TDEyOCAxMTJ6TTE3NiAwQzExNC4xIDAgNjQgNTAuMSA2NCAxMTJsMCAxNjQuNGMwIC4xLS4xIC4zLS4yIC42Yy0uMiAuNi0uOCAxLjYtMS43IDIuOEM0My4yIDMwNC4yIDMyIDMzNC44IDMyIDM2OGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NHMxNDQtNjQuNSAxNDQtMTQ0YzAtMzMuMi0xMS4yLTYzLjgtMzAuMS04OC4xYy0uOS0xLjItMS41LTIuMi0xLjctMi44Yy0uMS0uMy0uMi0uNS0uMi0uNkwyODggMTEyQzI4OCA1MC4xIDIzNy45IDAgMTc2IDB6bTAgNDE2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM0wxOTIgMTEyYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjEwLjdjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OHpNNDgwIDE2MGwzMiAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhsMzIgMCAwIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjg4elwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVVcCA9IGZhVGVtcGVyYXR1cmVBcnJvd1VwO1xuY29uc3QgZmFNZWRhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtZWRhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk0MV0sIFwiZjVhMlwiLCBcIk00LjEgMzguMkMxLjQgMzQuMiAwIDI5LjQgMCAyNC42QzAgMTEgMTEgMCAyNC42IDBMMTMzLjkgMGMxMS4yIDAgMjEuNyA1LjkgMjcuNCAxNS41bDY4LjUgMTE0LjFjLTQ4LjIgNi4xLTkxLjMgMjguNi0xMjMuNCA2MS45TDQuMSAzOC4yem01MDMuNyAwTDQwNS42IDE5MS41Yy0zMi4xLTMzLjMtNzUuMi01NS44LTEyMy40LTYxLjlMMzUwLjcgMTUuNUMzNTYuNSA1LjkgMzY2LjkgMCAzNzguMSAwTDQ4Ny40IDBDNTAxIDAgNTEyIDExIDUxMiAyNC42YzAgNC44LTEuNCA5LjYtNC4xIDEzLjZ6TTgwIDMzNmExNzYgMTc2IDAgMSAxIDM1MiAwQTE3NiAxNzYgMCAxIDEgODAgMzM2em0xODQuNC05NC45Yy0zLjQtNy0xMy4zLTctMTYuOCAwbC0yMi40IDQ1LjRjLTEuNCAyLjgtNCA0LjctNyA1LjFMMTY4IDI5OC45Yy03LjcgMS4xLTEwLjcgMTAuNS01LjIgMTZsMzYuMyAzNS40YzIuMiAyLjIgMy4yIDUuMiAyLjcgOC4zbC04LjYgNDkuOWMtMS4zIDcuNiA2LjcgMTMuNSAxMy42IDkuOWw0NC44LTIzLjZjMi43LTEuNCA2LTEuNCA4LjcgMGw0NC44IDIzLjZjNi45IDMuNiAxNC45LTIuMiAxMy42LTkuOWwtOC42LTQ5LjljLS41LTMgLjUtNi4xIDIuNy04LjNsMzYuMy0zNS40YzUuNi01LjQgMi41LTE0LjgtNS4yLTE2bC01MC4xLTcuM2MtMy0uNC01LjctMi40LTctNS4xbC0yMi40LTQ1LjR6XCJdXG59O1xuY29uc3QgZmFCZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmVkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzE2XSwgXCJmMjM2XCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2IDIyNCAwIDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0yMjQgMC0zMiAwTDY0IDQxNmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6bTE0NCA5NmE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpcIl1cbn07XG5jb25zdCBmYVNxdWFyZUggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWgnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImgtc3F1YXJlXCJdLCBcImYwZmRcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzM2IDE1MmwwIDEwNCAwIDEwNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgwLTEyOCAwIDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDgwIDEyOCAwIDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpcIl1cbn07XG5jb25zdCBmYUhTcXVhcmUgPSBmYVNxdWFyZUg7XG5jb25zdCBmYVBvZGNhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncG9kY2FzdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjJjZVwiLCBcIk0zMTkuNCAzNzJjNDguNS0zMS4zIDgwLjYtODUuOSA4MC42LTE0OGMwLTk3LjItNzguOC0xNzYtMTc2LTE3NlM0OCAxMjYuOCA0OCAyMjRjMCA2Mi4xIDMyLjEgMTE2LjYgODAuNiAxNDhjMS4yIDE3LjMgNCAzOCA3LjIgNTcuMWwuMiAxQzU2IDM5NS44IDAgMzE2LjUgMCAyMjRDMCAxMDAuMyAxMDAuMyAwIDIyNCAwUzQ0OCAxMDAuMyA0NDggMjI0YzAgOTIuNS01NiAxNzEuOS0xMzYgMjA2LjFsLjItMS4xYzMuMS0xOS4yIDYtMzkuOCA3LjItNTd6bS0yLjMtMzguMWMtMS42LTUuNy0zLjktMTEuMS03LTE2LjJjLTUuOC05LjctMTMuNS0xNy0yMS45LTIyLjRjMTkuNS0xNy42IDMxLjgtNDMgMzEuOC03MS4zYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMjguMyAxMi4zIDUzLjggMzEuOCA3MS4zYy04LjQgNS40LTE2LjEgMTIuNy0yMS45IDIyLjRjLTMuMSA1LjEtNS40IDEwLjUtNyAxNi4yQzk5LjggMzA3LjUgODAgMjY4IDgwIDIyNGMwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NHMxNDQgNjQuNSAxNDQgMTQ0YzAgNDQtMTkuOCA4My41LTUwLjkgMTA5Ljl6TTIyNCAzMTJjMzIuOSAwIDY0IDguNiA2NCA0My44YzAgMzMtMTIuOSAxMDQuMS0yMC42IDEzMi45Yy01LjEgMTktMjQuNSAyMy40LTQzLjQgMjMuNHMtMzguMi00LjQtNDMuNC0yMy40Yy03LjgtMjguNS0yMC42LTk5LjctMjAuNi0xMzIuOGMwLTM1LjEgMzEuMS00My44IDY0LTQzLjh6bTAtMTQ0YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVGdWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWZ1bGwnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInRlbXBlcmF0dXJlLTRcIiwgXCJ0aGVybW9tZXRlci00XCIsIFwidGhlcm1vbWV0ZXItZnVsbFwiXSwgXCJmMmM3XCIsIFwiTTE2MCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjQuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41Qzg2LjIgMzMyLjYgODAgMzQ5LjUgODAgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNUwyMDggMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00OCAxMTJDNDggNTAuMiA5OC4xIDAgMTYwIDBzMTEyIDUwLjEgMTEyIDExMmwwIDE2NC40YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTMzLjIgMTEuMi02My44IDMwLjEtODguMWMuOS0xLjIgMS41LTIuMiAxLjctMi44Yy4xLS4zIC4yLS41IC4yLS42TDQ4IDExMnpNMjA4IDM2OGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNMMTQ0IDExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMjEwLjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmU0ID0gZmFUZW1wZXJhdHVyZUZ1bGw7XG5jb25zdCBmYVRoZXJtb21ldGVyNCA9IGZhVGVtcGVyYXR1cmVGdWxsO1xuY29uc3QgZmFUaGVybW9tZXRlckZ1bGwgPSBmYVRlbXBlcmF0dXJlRnVsbDtcbmNvbnN0IGZhQmVsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWxsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4Mjc2LCA2MTYwMl0sIFwiZjBmM1wiLCBcIk0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOS4yQzExOSA2NiA2NCAxMzAuNiA2NCAyMDhsMCAxOC44YzAgNDctMTcuMyA5Mi40LTQ4LjUgMTI3LjZsLTcuNCA4LjNjLTguNCA5LjQtMTAuNCAyMi45LTUuMyAzNC40UzE5LjQgNDE2IDMyIDQxNmwzODQgMGMxMi42IDAgMjQtNy40IDI5LjItMTguOXMzLjEtMjUtNS4zLTM0LjRsLTcuNC04LjNDNDAxLjMgMzE5LjIgMzg0IDI3My45IDM4NCAyMjYuOGwwLTE4LjhjMC03Ny40LTU1LTE0Mi0xMjgtMTU2LjhMMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyem00NS4zIDQ5My4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNsLTY0IDAtNjQgMGMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM3MyOC4zIDE4LjcgNDUuMyAxOC43czMzLjMtNi43IDQ1LjMtMTguN3pcIl1cbn07XG5jb25zdCBmYVN1cGVyc2NyaXB0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1cGVyc2NyaXB0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMTJiXCIsIFwiTTQ4MCAzMmMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNGwtMzIgMTZjLTE1LjggNy45LTIyLjIgMjcuMS0xNC4zIDQyLjlDMzkzIDczLjUgNDA0LjMgODAgNDE2IDgwbDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4ek0zMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMTUuMyAwIDg5LjYgMTI4TDQ3LjMgMzg0IDMyIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwYzEwLjQgMCAyMC4yLTUuMSAyNi4yLTEzLjZMMTc2IDMxMS44bDg1LjggMTIyLjZjNiA4LjYgMTUuOCAxMy42IDI2LjIgMTMuNmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNS4zIDBMMjE1LjEgMjU2bDg5LjYtMTI4IDE1LjMgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTAuNCAwLTIwLjIgNS4xLTI2LjIgMTMuNkwxNzYgMjAwLjIgOTAuMiA3Ny42Qzg0LjIgNjkuMSA3NC40IDY0IDY0IDY0TDMyIDY0elwiXVxufTtcbmNvbnN0IGZhUGx1Z0NpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTYwXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJsMCA5NiA2NCAwIDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCA2Ny4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Ny4yYzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MHpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNDU0LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQzMiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQwOS40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDMyIDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xuY29uc3QgZmFTdGFyT2ZMaWZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXItb2YtbGlmZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjYyMVwiLCBcIk0yMDggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE0MC45IDEyMi03MC40YzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN2wxNiAyNy43YzguOCAxNS4zIDMuNiAzNC45LTExLjcgNDMuN0wzNTIgMjU2bDEyMiA3MC40YzE1LjMgOC44IDIwLjYgMjguNCAxMS43IDQzLjdsLTE2IDI3LjdjLTguOCAxNS4zLTI4LjQgMjAuNi00My43IDExLjdMMzA0IDMzOS4xIDMwNCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTQwLjlMODYgNDA5LjZjLTE1LjMgOC44LTM0LjkgMy42LTQzLjctMTEuN2wtMTYtMjcuN2MtOC44LTE1LjMtMy42LTM0LjkgMTEuNy00My43TDE2MCAyNTYgMzggMTg1LjZjLTE1LjMtOC44LTIwLjUtMjguNC0xMS43LTQzLjdsMTYtMjcuN0M1MS4xIDk4LjggNzAuNyA5My42IDg2IDEwMi40bDEyMiA3MC40TDIwOCAzMnpcIl1cbn07XG5jb25zdCBmYVBob25lU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGhvbmUtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYzZGRcIiwgXCJNMjI4LjkgMjQuNmMtNy43LTE4LjYtMjgtMjguNS00Ny40LTIzLjJsLTg4IDI0Qzc2LjEgMzAuMiA2NCA0NiA2NCA2NGMwIDEwNy40IDM3LjggMjA2IDEwMC44IDI4My4xTDkuMiA0NjkuMWMtMTAuNCA4LjItMTIuMyAyMy4zLTQuMSAzMy43czIzLjMgMTIuMyAzMy43IDQuMWw1OTItNDY0YzEwLjQtOC4yIDEyLjMtMjMuMyA0LjEtMzMuN3MtMjMuMy0xMi4zLTMzLjctNC4xTDI1MyAyNzhjLTE3LjgtMjEuNS0zMi45LTQ1LjItNDUtNzAuN0wyNTcuMyAxNjdjMTMuNy0xMS4yIDE4LjQtMzAgMTEuNi00Ni4zbC00MC05NnptOTYuOCAzMTlsLTkxLjMgNzJDMzEwLjcgNDc2IDQwNy4xIDUxMiA1MTIgNTEyYzE4IDAgMzMuOC0xMi4xIDM4LjYtMjkuNWwyNC04OGM1LjMtMTkuNC00LjYtMzkuNy0yMy4yLTQ3LjRsLTk2LTQwYy0xNi4zLTYuOC0zNS4yLTIuMS00Ni4zIDExLjZMMzY4LjcgMzY4Yy0xNS03LjEtMjkuMy0xNS4yLTQzLTI0LjN6XCJdXG59O1xuY29uc3QgZmFQYWludFJvbGxlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWludC1yb2xsZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YWFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCAxOTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTE2MCAzNTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGwxNDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDAtOTAuNWMzNy4zIDEzLjIgNjQgNDguNyA2NCA5MC41bDAgMzJjMCA1My00MyA5Ni05NiA5NmwtMTQ0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOHpcIl1cbn07XG5jb25zdCBmYUhhbmRzaGFrZUFuZ2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZS1hbmdsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiaGFuZHMtaGVscGluZ1wiXSwgXCJmNGM0XCIsIFwiTTU0NCAyNDhsMCAzLjMgNjkuNy02OS43YzIxLjktMjEuOSAyMS45LTU3LjMgMC03OS4yTDUzNS42IDI0LjRjLTIxLjktMjEuOS01Ny4zLTIxLjktNzkuMiAwTDQxNi4zIDY0LjVjLTIuNy0uMy01LjUtLjUtOC4zLS41TDI5NiA2NGMtMzcuMSAwLTY3LjYgMjgtNzEuNiA2NGwtLjQgMCAwIDEyMGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtNzJjMCAwIDAtLjEgMC0uMWwwLTE1LjkgMTYgMCAxMzYgMGMwIDAgMCAwIC4xIDBsNy45IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCA4ek0zMzYgMTkybDAgNTZjMCAzOS44LTMyLjIgNzItNzIgNzJzLTcyLTMyLjItNzItNzJsMC0xMTguNmMtMzUuOSA2LjItNjUuOCAzMi4zLTc2IDY4LjJMOTkuNSAyNTUuMiAyNi4zIDMyOC40Yy0yMS45IDIxLjktMjEuOSA1Ny4zIDAgNzkuMmw3OC4xIDc4LjFjMjEuOSAyMS45IDU3LjMgMjEuOSA3OS4yIDBsMzcuNy0zNy43Yy45IDAgMS44IC4xIDIuNyAuMWwxNjAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNmwyLjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTEyLjgtNS0yNC40LTEzLjItMzNjMjUuNy01IDQ1LjEtMjcuNiA0NS4yLTU0LjhsMC0uNGMtLjEtMzAuOC0yNS4xLTU1LjgtNTYtNTUuOGMwIDAgMCAwIDAgMGwtMTIwIDB6XCJdXG59O1xuY29uc3QgZmFIYW5kc0hlbHBpbmcgPSBmYUhhbmRzaGFrZUFuZ2xlO1xuY29uc3QgZmFMb2NhdGlvbkRvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1kb3QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcIm1hcC1tYXJrZXItYWx0XCJdLCBcImYzYzVcIiwgXCJNMjE1LjcgNDk5LjJDMjY3IDQzNSAzODQgMjc5LjQgMzg0IDE5MkMzODQgODYgMjk4IDAgMTkyIDBTMCA4NiAwIDE5MmMwIDg3LjQgMTE3IDI0MyAxNjguMyAzMDcuMmMxMi4zIDE1LjMgMzUuMSAxNS4zIDQ3LjQgMHpNMTkyIDEyOGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG5jb25zdCBmYU1hcE1hcmtlckFsdCA9IGZhTG9jYXRpb25Eb3Q7XG5jb25zdCBmYUZpbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZScsXG4gIGljb246IFszODQsIDUxMiwgWzEyODE5NiwgMTI4NDU5LCA2MTQ2Ml0sIFwiZjE1YlwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMjQgMGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMCAwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpcIl1cbn07XG5jb25zdCBmYUdyZWF0ZXJUaGFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyZWF0ZXItdGhhbicsXG4gIGljb246IFszODQsIDUxMiwgWzYyNzY5XSwgXCIzZVwiLCBcIk0zLjQgODEuN2MtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOUwyODAuNSAyNTYgMTcuNyAzODcuNEMxLjkgMzk1LjMtNC41IDQxNC41IDMuNCA0MzAuM3MyNy4xIDIyLjIgNDIuOSAxNC4zbDMyMC0xNjBjMTAuOC01LjQgMTcuNy0xNi41IDE3LjctMjguNnMtNi44LTIzLjItMTcuNy0yOC42bC0zMjAtMTYwYy0xNS44LTcuOS0zNS0xLjUtNDIuOSAxNC4zelwiXVxufTtcbmNvbnN0IGZhUGVyc29uU3dpbW1pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXN3aW1taW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTQ2LCBcInN3aW1tZXJcIl0sIFwiZjVjNFwiLCBcIk0zMDkuNSAxNzguNEw0NDcuOSAyOTcuMWMtMS42IC45LTMuMiAyLTQuOCAzYy0xOCAxMi40LTQwLjEgMjAuMy01OS4yIDIwLjNjLTE5LjYgMC00MC44LTcuNy01OS4yLTIwLjNjLTIyLjEtMTUuNS01MS42LTE1LjUtNzMuNyAwYy0xNy4xIDExLjgtMzggMjAuMy01OS4yIDIwLjNjLTEwLjEgMC0yMS4xLTIuMi0zMS45LTYuMkMxNjMuMSAxOTMuMiAyNjIuMiA5NiAzODQgOTZsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMjYuOSAwLTUyLjMgNi42LTc0LjUgMTguNHpNMTYwIDE2MEE2NCA2NCAwIDEgMSAzMiAxNjBhNjQgNjQgMCAxIDEgMTI4IDB6TTMwNi41IDMyNS45QzMyOSAzNDEuNCAzNTYuNSAzNTIgMzg0IDM1MmMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWMwIDAgMCAwIDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDQwNS43IDQxNyA0MTYgMzg0IDQxNmMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNCAyNy4zLTEwLjEgMzkuMi0xLjdjMCAwIDAgMCAwIDBDMTM2LjcgMzQxLjIgMTY1LjEgMzUyIDE5MiAzNTJjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xuY29uc3QgZmFTd2ltbWVyID0gZmFQZXJzb25Td2ltbWluZztcbmNvbnN0IGZhQXJyb3dEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs4NTk1XSwgXCJmMDYzXCIsIFwiTTE2OS40IDQ3MC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDM3MC44IDIyNCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMwNi43TDU0LjYgMjY1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6XCJdXG59O1xuY29uc3QgZmFEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Ryb3BsZXQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgxNjcsIFwidGludFwiXSwgXCJmMDQzXCIsIFwiTTE5MiA1MTJDODYgNTEyIDAgNDI2IDAgMzIwQzAgMjI4LjggMTMwLjIgNTcuNyAxNjYuNiAxMS43QzE3Mi42IDQuMiAxODEuNSAwIDE5MS4xIDBsMS44IDBjOS42IDAgMTguNSA0LjIgMjQuNSAxMS43QzI1My44IDU3LjcgMzg0IDIyOC44IDM4NCAzMjBjMCAxMDYtODYgMTkyLTE5MiAxOTJ6TTk2IDMzNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtNDQuMiAwLTgwLTM1LjgtODAtODB6XCJdXG59O1xuY29uc3QgZmFUaW50ID0gZmFEcm9wbGV0O1xuY29uc3QgZmFFcmFzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXJhc2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMTJkXCIsIFwiTTI5MC43IDU3LjRMNTcuNCAyOTAuN2MtMjUgMjUtMjUgNjUuNSAwIDkwLjVsODAgODBjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0wyODggNDgwbDkuNCAwTDUxMiA0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyNC4xIDBMNTE4LjYgMjg1LjNjMjUtMjUgMjUtNjUuNSAwLTkwLjVMMzgxLjMgNTcuNGMtMjUtMjUtNjUuNS0yNS05MC41IDB6TTI5Ny40IDQxNmwtOS40IDAtMTA1LjQgMC04MC04MEwyMjcuMyAyMTEuMyAzNjQuNyAzNDguNyAyOTcuNCA0MTZ6XCJdXG59O1xuY29uc3QgZmFFYXJ0aEFtZXJpY2FzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWFtZXJpY2FzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzU4LCBcImVhcnRoXCIsIFwiZWFydGgtYW1lcmljYVwiLCBcImdsb2JlLWFtZXJpY2FzXCJdLCBcImY1N2RcIiwgXCJNNTcuNyAxOTNsOS40IDE2LjRjOC4zIDE0LjUgMjEuOSAyNS4yIDM4IDI5LjhMMTYzIDI1NS43YzE3LjIgNC45IDI5IDIwLjYgMjkgMzguNWwwIDM5LjljMCAxMSA2LjIgMjEgMTYgMjUuOXMxNiAxNC45IDE2IDI1LjlsMCAzOWMwIDE1LjYgMTQuOSAyNi45IDI5LjkgMjIuNmMxNi4xLTQuNiAyOC42LTE3LjUgMzIuNy0zMy44bDIuOC0xMS4yYzQuMi0xNi45IDE1LjItMzEuNCAzMC4zLTQwbDguMS00LjZjMTUtOC41IDI0LjItMjQuNSAyNC4yLTQxLjdsMC04LjNjMC0xMi43LTUuMS0yNC45LTE0LjEtMzMuOWwtMy45LTMuOWMtOS05LTIxLjItMTQuMS0zMy45LTE0LjFMMjU3IDI1NmMtMTEuMSAwLTIyLjEtMi45LTMxLjgtOC40bC0zNC41LTE5LjdjLTQuMy0yLjUtNy42LTYuNS05LjItMTEuMmMtMy4yLTkuNiAxLjEtMjAgMTAuMi0yNC41bDUuOS0zYzYuNi0zLjMgMTQuMy0zLjkgMjEuMy0xLjVsMjMuMiA3LjdjOC4yIDIuNyAxNy4yLS40IDIxLjktNy41YzQuNy03IDQuMi0xNi4zLTEuMi0yMi44bC0xMy42LTE2LjNjLTEwLTEyLTkuOS0yOS41IC4zLTQxLjNsMTUuNy0xOC4zYzguOC0xMC4zIDEwLjItMjUgMy41LTM2LjdsLTIuNC00LjJjLTMuNS0uMi02LjktLjMtMTAuNC0uM0MxNjMuMSA0OCA4NC40IDEwOC45IDU3LjcgMTkzek00NjQgMjU2YzAtMzYuOC05LjYtNzEuNC0yNi40LTEwMS41TDQxMiAxNjQuOGMtMTUuNyA2LjMtMjMuOCAyMy44LTE4LjUgMzkuOGwxNi45IDUwLjdjMy41IDEwLjQgMTIgMTguMyAyMi42IDIwLjlsMjkuMSA3LjNjMS4yLTkgMS44LTE4LjIgMS44LTI3LjV6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG5jb25zdCBmYUVhcnRoID0gZmFFYXJ0aEFtZXJpY2FzO1xuY29uc3QgZmFFYXJ0aEFtZXJpY2EgPSBmYUVhcnRoQW1lcmljYXM7XG5jb25zdCBmYUdsb2JlQW1lcmljYXMgPSBmYUVhcnRoQW1lcmljYXM7XG5jb25zdCBmYVBlcnNvbkJ1cnN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1idXJzdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzYlwiLCBcIk00ODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzODRsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjIzLjEgMjguNiA0Ny41YzkuMSAxNS4xIDI4LjggMjAgNDMuOSAxMC45czIwLTI4LjggMTAuOS00My45bC01OC4zLTk3Yy0xNy40LTI4LjktNDguNi00Ni42LTgyLjMtNDYuNmwtMjkuNyAwYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOUw0MDggMjU2LjkgNDA4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyek0xOTAuOSAxOC4xQzE4OC40IDEyIDE4Mi42IDggMTc2IDhzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMNTUuNiA2OC45Yy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNzLTQuNiAxMi4yLTEuNCAxNy45bDM5LjUgNjkuMUwxMC45IDIwNi40Yy01LjQgMy43LTggMTAuMy02LjUgMTYuN3M2LjcgMTEuMiAxMy4xIDEyLjJsNzguNyAxMi4yTDkwLjYgMzI3Yy0uNSA2LjUgMy4xIDEyLjcgOSAxNS41czEyLjkgMS44IDE3LjgtMi42TDE3NiAyODYuMWw1OC42IDUzLjljNC44IDQuNCAxMS45IDUuNSAxNy44IDIuNnM5LjUtOSA5LTE1LjVsLTUuNi03OS40IDUwLjUtNy44IDI0LjMtNDAuNS01NS4yLTM4TDMxNSA5Mi4yYzMuMy01LjcgMi43LTEyLjgtMS40LTE3LjlzLTEwLjktNy4yLTE3LjItNS4zTDIyMC4zIDkyLjFsLTI5LjQtNzR6XCJdXG59O1xuY29uc3QgZmFEb3ZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RvdmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMzBdLCBcImY0YmFcIiwgXCJNMTYwLjggOTYuNWMxNCAxNyAzMSAzMC45IDQ5LjUgNDIuMmMyNS45IDE1LjggNTMuNyAyNS45IDc3LjcgMzEuNmwwLTMxLjVDMjY1LjggMTA4LjUgMjUwIDcxLjUgMjQ4LjYgMjhjLS40LTExLjMtNy41LTIxLjUtMTguNC0yNC40Yy03LjYtMi0xNS44LS4yLTIxIDUuOGMtMTMuMyAxNS40LTMyLjcgNDQuNi00OC40IDg3LjJ6TTMyMCAxNDRsMCAzMC42czAgMCAwIDBsMCAxLjNzMCAwIDAgMGwwIDMyLjFjLTYwLjgtNS4xLTE4NS00My44LTIxOS4zLTE1Ny4yQzk3LjQgNDAgODcuOSAzMiA3Ni42IDMyYy03LjkgMC0xNS4zIDMuOS0xOC44IDExQzQ2LjggNjUuOSAzMiAxMTIuMSAzMiAxNzZjMCAxMTYuOSA4MC4xIDE4MC41IDExOC40IDIwMi44TDExLjggNDE2LjZDNi43IDQxOCAyLjYgNDIxLjggLjkgNDI2LjhzLS44IDEwLjYgMi4zIDE0LjhDMjEuNyA0NjYuMiA3Ny4zIDUxMiAxNjAgNTEyYzMuNiAwIDcuMi0xLjIgMTAtMy41TDI0NS42IDQ0OGw3NC40IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC0xNjAgMjkuOS00NC45YzEuMy0yIDIuMS00LjQgMi4xLTYuOGMwLTYuOC01LjUtMTIuMy0xMi4zLTEyLjNMNDAwIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MHptODAtMTZhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbmNvbnN0IGZhQmF0dGVyeUVtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhdHRlcnktZW1wdHknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJhdHRlcnktMFwiXSwgXCJmMjQ0XCIsIFwiTTgwIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTYwYzAgOC44IDcuMiAxNiAxNiAxNmwzODQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNjBjMC04LjgtNy4yLTE2LTE2LTE2TDgwIDE2MHpNMCAxNzZjMC00NC4yIDM1LjgtODAgODAtODBsMzg0IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBMODAgNDE2Yy00NC4yIDAtODAtMzUuOC04MC04MEwwIDE3NnpcIl1cbn07XG5jb25zdCBmYUJhdHRlcnkwID0gZmFCYXR0ZXJ5RW1wdHk7XG5jb25zdCBmYVNvY2tzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvY2tzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTEwXSwgXCJmNjk2XCIsIFwiTTE3NS4yIDQ3Ni42Yy05LjctMTgtMTUuMi0zOC43LTE1LjItNjAuNmMwLTQwLjMgMTktNzguMiA1MS4yLTEwMi40bDY0LTQ4YzguMS02IDEyLjgtMTUuNSAxMi44LTI1LjZsMC0xNDRMMTI4IDk2bDAgMTQ0YzAgMjAuMS05LjUgMzkuMS0yNS42IDUxLjJsLTY0IDQ4QzE0LjIgMzU3LjMgMCAzODUuOCAwIDQxNmMwIDUzIDQzIDk2IDk2IDk2YzIwLjggMCA0MS02LjcgNTcuNi0xOS4ybDIxLjYtMTYuMnpNMTI4IDY0bDE2MCAwIDAtMTZjMC0xNC41IDMuOS0yOC4yIDEwLjctMzkuOUMyOTEgMyAyODEuOSAwIDI3MiAwTDE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2ek0zMjAgOTZsMCAxNDRjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhDMjA2LjIgMzU3LjMgMTkyIDM4NS44IDE5MiA0MTZjMCA1MyA0MyA5NiA5NiA5NmMyMC44IDAgNDEtNi43IDU3LjYtMTkuMmwxMTUuMi04Ni40QzQ5MyAzODIuMiA1MTIgMzQ0LjMgNTEyIDMwNGwwLTIwOEwzMjAgOTZ6TTUxMiA2NGwwLTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDM2OCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2IDE5MiAwelwiXVxufTtcbmNvbnN0IGZhSW5ib3ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5ib3gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwMWNcIiwgXCJNMTIxIDMyQzkxLjYgMzIgNjYgNTIgNTguOSA4MC41TDEuOSAzMDguNEMuNiAzMTMuNSAwIDMxOC43IDAgMzIzLjlMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC05Mi4xYzAtNS4yLS42LTEwLjQtMS45LTE1LjVsLTU3LTIyNy45QzQ0NiA1MiA0MjAuNCAzMiAzOTEgMzJMMTIxIDMyem0wIDY0bDI3MCAwIDQ4IDE5Mi01MS4yIDBjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTE0LjMgMjguNmMtNS40IDEwLjgtMTYuNSAxNy43LTI4LjYgMTcuN2wtMTIwLjQgMGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN2wtMTQuMy0yOC42Yy01LjQtMTAuOC0xNi41LTE3LjctMjguNi0xNy43TDczIDI4OCAxMjEgOTZ6XCJdXG59O1xuY29uc3QgZmFTZWN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NlY3Rpb24nLFxuICBpY29uOiBbMjU2LCA1MTIsIFtdLCBcImU0NDdcIiwgXCJNNjQuOSA5NkM2Ny4xIDg0LjQgNzMuNyA3Ni4yIDg2IDcwLjZjMTMuOC02LjIgMzQuOC04LjkgNjEuMi00LjVjOC44IDEuNCAzNi4xIDcuMSA0NC4xIDkuM2MxNyA0LjggMzQuNy01LjEgMzkuNS0yMi4ycy01LjEtMzQuNy0yMi4yLTM5LjVjLTExLjEtMy4xLTQxLTkuMi01MC45LTEwLjhDMTIzLTIuNyA4OC4zLS42IDU5LjcgMTIuM0MyOS45IDI1LjggNy41IDUwLjkgMS42IDg2LjVjLS4xIC41LS4yIDEuMS0uMiAxLjZjLTIuMiAxOS43IC4zIDM3LjkgOC4xIDU0LjFjNy43IDE2LjEgMTkuNCAyOCAzMiAzNi45Yy42IC41IDEuMyAuOSAyIDEuNEMyMi4zIDE5NC4yIDYuNSAyMTUuMSAxLjcgMjQzYy0uMSAuNi0uMiAxLjEtLjIgMS43Yy0yLjMgMTkuMyAuNCAzNy4xIDguNCA1M2M3LjkgMTUuNiAxOS44IDI3IDMyLjMgMzUuNWMyMi40IDE1LjIgNTEuOSAyNCA3NS40IDMxYzAgMCAwIDAgMCAwbDMuNyAxLjFjMjcuMiA4LjIgNDYuOSAxNC42IDU5LjQgMjMuOGM1LjUgNCA4LjIgNy42IDkuNSAxMC45YzEuMyAzLjIgMi42IDguNiAuOSAxOC4xYy0xLjcgMTAuMS03LjcgMTgtMjAuNyAyMy41Yy0xNCA2LTM1LjQgOC41LTYyIDQuNGMtMTIuOC0yLjEtMzUuMS05LjctNTQuMS0xNi4yYzAgMCAwIDAgMCAwYy00LjMtMS41LTguNS0yLjktMTIuMy00LjJDMjUuMyA0MjAgNy4yIDQyOS4xIDEuNiA0NDUuOHMzLjUgMzQuOSAyMC4zIDQwLjVjMi42IC44IDUuNyAxLjkgOS4yIDMuMWMxOC42IDYuMyA0OC41IDE2LjYgNjcuMyAxOS42YzAgMCAwIDAgMCAwbC4yIDBjMzQuNSA1LjQgNjguOCAzLjQgOTcuMi04LjdjMjkuNC0xMi42IDUyLjUtMzYuNSA1OC41LTcxLjVjMy4zLTE5LjMgMS45LTM3LjQtNS01My45Yy02LjMtMTUtMTYuNC0yNi40LTI3LjYtMzUuMmMxNi41LTEzLjkgMjguNS0zMy4yIDMyLjYtNTguMmMzLjItMTkuOCAxLjktMzguMy00LjgtNTUuMWMtNi43LTE2LjgtMTcuOC0yOS40LTMwLjItMzljLTIyLjgtMTcuNi01My42LTI3LjQtNzcuNy0zNWwtMS40LS41Yy0yNy40LTguNy00Ny44LTE1LjMtNjEuNS0yNWMtNi4xLTQuNC05LjUtOC41LTExLjQtMTIuNGMtMS44LTMuNy0zLjItOS4zLTIuMy0xOC41em03Ni43IDIwOC41bC0uNi0uMi0xLjQtLjRjLTI3LjQtOC4yLTQ3LjktMTQuNS02MS43LTIzLjhjLTYuMi00LjItOS4zLTcuOS0xMS0xMS4zYy0xLjUtMy0yLjktNy43LTIuMS0xNS43YzEuOS05LjcgNy45LTE3LjMgMjAuNS0yMi43YzE0LTYgMzUuNC04LjUgNjIuMS00LjNsMTYuNCAyLjZjNi4zIDIuOSAxMS43IDYgMTYuMiA5LjVjNS41IDQuMiA4LjQgOC4yIDEwIDEyLjJjMS42IDQgMi44IDEwLjQgMS4xIDIwLjljLTIuNCAxNC43LTEyLjggMjYuNC0zNy4xIDMxbC0xMi40IDIuM3pcIl1cbn07XG5jb25zdCBmYUdhdWdlSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1oaWdoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjI0NjEsIFwidGFjaG9tZXRlci1hbHRcIiwgXCJ0YWNob21ldGVyLWFsdC1mYXN0XCJdLCBcImY2MjVcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0yODggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMjU2IDQxNmMzNS4zIDAgNjQtMjguNyA2NC02NGMwLTE3LjQtNi45LTMzLjEtMTguMS00NC42TDM2NiAxNjEuN2M1LjMtMTIuMS0uMi0yNi4zLTEyLjMtMzEuNnMtMjYuMyAuMi0zMS42IDEyLjNMMjU3LjkgMjg4Yy0uNiAwLTEuMyAwLTEuOSAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHMyOC43IDY0IDY0IDY0ek0xNzYgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTk2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTM1Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbmNvbnN0IGZhVGFjaG9tZXRlckFsdCA9IGZhR2F1Z2VIaWdoO1xuY29uc3QgZmFUYWNob21ldGVyQWx0RmFzdCA9IGZhR2F1Z2VIaWdoO1xuY29uc3QgZmFFbnZlbG9wZU9wZW5UZXh0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlLW9wZW4tdGV4dCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY1OFwiLCBcIk0yMTUuNCA5NkwxNDQgOTZsLTM2LjIgMEw5NiA5NmwwIDguOEw5NiAxNDRsMCA0MC40IDAgODlMLjIgMjAyLjVjMS42LTE4LjEgMTAuOS0zNC45IDI1LjctNDUuOEw0OCAxNDAuMyA0OCA5NmMwLTI2LjUgMjEuNS00OCA0OC00OGw3Ni42IDAgNDkuOS0zNi45QzIzMi4yIDMuOSAyNDMuOSAwIDI1NiAwczIzLjggMy45IDMzLjUgMTFMMzM5LjQgNDggNDE2IDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDQuMyAyMi4xIDE2LjRjMTQuOCAxMC45IDI0LjEgMjcuNyAyNS43IDQ1LjhMNDE2IDI3My40bDAtODkgMC00MC40IDAtMzkuMiAwLTguOC0xMS44IDBMMzY4IDk2bC03MS40IDAtODEuMyAwek0wIDQ0OEwwIDI0Mi4xIDIxNy42IDQwMy4zYzExLjEgOC4yIDI0LjYgMTIuNyAzOC40IDEyLjdzMjcuMy00LjQgMzguNC0xMi43TDUxMiAyNDIuMSA1MTIgNDQ4czAgMCAwIDBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwIDAgMCAwIDAgMHpNMTc2IDE2MGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhSG9zcGl0YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9zcGl0YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5NzMsIDYyNTg5LCBcImhvc3BpdGFsLWFsdFwiLCBcImhvc3BpdGFsLXdpZGVcIl0sIFwiZjBmOFwiLCBcIk0xOTIgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhMNDAwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0NjQtODAgMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4bDAgODAtODAgMCAwLTQ2NHpNNDggOTZsMTEyIDAgMCA0MTZMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDMyMGw4MCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDAgMjg4bDAtNjQgODAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkwwIDE5MmwwLTQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em01NDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDY0LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDE0NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTEyIDAgMC00MTYgMTEyIDB6TTMxMiA2NGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjQtMjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDAgMCAyNGMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNCAyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMCAwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMHpcIl1cbn07XG5jb25zdCBmYUhvc3BpdGFsQWx0ID0gZmFIb3NwaXRhbDtcbmNvbnN0IGZhSG9zcGl0YWxXaWRlID0gZmFIb3NwaXRhbDtcbmNvbnN0IGZhV2luZUJvdHRsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5lLWJvdHRsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjcyZlwiLCBcIk0zOTMuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNjQgNjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNjLTExLjggMTEuOC0zMC43IDEyLjUtNDMuMiAxLjlsLTkuNSA5LjUtNDguOCA0OC44Yy05LjIgOS4yLTExLjUgMjIuOS04LjYgMzUuNmM5LjQgNDAuOS0xLjkgODUuNi0zMy44IDExNy41TDE5Ny4zIDQ5My4zYy0yNSAyNS02NS41IDI1LTkwLjUgMGwtODgtODhjLTI1LTI1LTI1LTY1LjUgMC05MC41TDE4MC4yIDE1My4zYzMxLjktMzEuOSA3Ni42LTQzLjEgMTE3LjUtMzMuOGMxMi42IDIuOSAyNi40IC41IDM1LjUtOC42bDQ4LjgtNDguOCA5LjUtOS41Yy0xMC42LTEyLjYtMTAtMzEuNCAxLjktNDMuMnpNOTkuMyAzNDcuM2w2NS40IDY1LjRjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsOTcuNC05Ny40YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC02NS40LTY1LjRjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDk5LjMgMzI0LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhQ2hlc3NSb29rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLXJvb2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODIwXSwgXCJmNDQ3XCIsIFwiTTMyIDE5MkwzMiA0OGMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MGMwIDQuNCAzLjYgOCA4IDhsMzIgMGM0LjQgMCA4LTMuNiA4LThsMC00MGMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MGMwIDQuNCAzLjYgOCA4IDhsMzIgMGM0LjQgMCA4LTMuNiA4LThsMC00MGMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNDRjMCAxMC4xLTQuNyAxOS42LTEyLjggMjUuNkwzNTIgMjU2bDE2IDE0NEw4MCA0MDAgOTYgMjU2IDQ0LjggMjE3LjZDMzYuNyAyMTEuNiAzMiAyMDIuMSAzMiAxOTJ6bTE3NiA5NmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2ek0yMi42IDQ3My40TDY0IDQzMmwzMjAgMCA0MS40IDQxLjRjNC4yIDQuMiA2LjYgMTAgNi42IDE2YzAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42TDM4LjYgNTEyQzI2LjEgNTEyIDE2IDUwMS45IDE2IDQ4OS40YzAtNiAyLjQtMTEuOCA2LjYtMTZ6XCJdXG59O1xuY29uc3QgZmFCYXJzU3RhZ2dlcmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhcnMtc3RhZ2dlcmVkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJyZW9yZGVyXCIsIFwic3RyZWFtXCJdLCBcImY1NTBcIiwgXCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2ek02NCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMOTYgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFSZW9yZGVyID0gZmFCYXJzU3RhZ2dlcmVkO1xuY29uc3QgZmFTdHJlYW0gPSBmYUJhcnNTdGFnZ2VyZWQ7XG5jb25zdCBmYURoYXJtYWNoYWtyYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaGFybWFjaGFrcmEnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5Nzg0XSwgXCJmNjU1XCIsIFwiTTMzNy44IDIwNS43bDQ4LjYtNDIuNWMxMy44IDE5LjMgMjMuNCA0MS45IDI3LjQgNjYuMmwtNjQuNCA0LjNjLTIuNC0xMC4xLTYuNC0xOS41LTExLjYtMjh6bTE0MC4xIDE5LjVjLTUuMy0zOC44LTIwLjYtNzQuNS00My4yLTEwNC4zbC44LS43QzQ0OSAxMDguNCA0NDkuNyA4Ny42IDQzNyA3NXMtMzMuNC0xMi00NS4yIDEuNWwtLjcgLjhjLTI5LjgtMjIuNi02NS41LTM3LjktMTA0LjMtNDMuMmwuMS0xLjFjMS4yLTE3LjktMTMtMzMtMzAuOS0zM3MtMzIuMSAxNS4yLTMwLjkgMzNsLjEgMS4xYy0zOC44IDUuMy03NC41IDIwLjYtMTA0LjMgNDMuMmwtLjctLjhDMTA4LjQgNjMgODcuNiA2Mi4zIDc1IDc1cy0xMiAzMy40IDEuNSA0NS4ybC44IC43Yy0yMi42IDI5LjgtMzcuOSA2NS41LTQzLjIgMTA0LjNsLTEuMS0uMWMtMTcuOS0xLjItMzMgMTMtMzMgMzAuOXMxNS4yIDMyLjEgMzMgMzAuOWwxLjEtLjFjNS4zIDM4LjggMjAuNiA3NC41IDQzLjIgMTA0LjNsLS44IC43QzYzIDQwMy42IDYyLjMgNDI0LjQgNzUgNDM3czMzLjQgMTIgNDUuMi0xLjVsLjctLjhjMjkuOCAyMi42IDY1LjUgMzcuOSAxMDQuMyA0My4ybC0uMSAxLjFjLTEuMiAxNy45IDEzIDMzIDMwLjkgMzNzMzIuMS0xNS4yIDMwLjktMzNsLS4xLTEuMWMzOC44LTUuMyA3NC41LTIwLjYgMTA0LjMtNDMuMmwuNyAuOGMxMS44IDEzLjUgMzIuNSAxNC4yIDQ1LjIgMS41czEyLTMzLjQtMS41LTQ1LjJsLS44LS43YzIyLjYtMjkuOCAzNy45LTY1LjUgNDMuMi0xMDQuM2wxLjEgLjFjMTcuOSAxLjIgMzMtMTMgMzMtMzAuOXMtMTUuMi0zMi4xLTMzLTMwLjlsLTEuMSAuMXpNMTYzLjIgMTI1LjZjMTkuMy0xMy44IDQxLjktMjMuNCA2Ni4yLTI3LjVsNC4zIDY0LjRjLTEwIDIuNC0xOS41IDYuNC0yOCAxMS42bC00Mi41LTQ4LjZ6bS02NSAxMDMuOGM0LjEtMjQuNCAxMy43LTQ2LjkgMjcuNS02Ni4ybDQ4LjYgNDIuNWMtNS4zIDguNS05LjIgMTgtMTEuNiAyOGwtNjQuNC00LjN6bTI3LjUgMTE5LjRjLTEzLjgtMTkuMy0yMy40LTQxLjktMjcuNS02Ni4ybDY0LjQtNC4zYzIuNCAxMCA2LjQgMTkuNSAxMS42IDI4bC00OC42IDQyLjV6bTEwMy44IDY1Yy0yNC40LTQuMS00Ni45LTEzLjctNjYuMi0yNy40bDQyLjUtNDguNmM4LjUgNS4zIDE4IDkuMiAyOCAxMS42bC00LjMgNjQuNHptMTE5LjQtMjcuNGMtMTkuMyAxMy44LTQxLjkgMjMuNC02Ni4yIDI3LjRsLTQuMy02NC40YzEwLTIuNCAxOS41LTYuNCAyOC0xMS42bDQyLjUgNDguNnptNjUtMTAzLjhjLTQuMSAyNC40LTEzLjcgNDYuOS0yNy40IDY2LjJsLTQ4LjYtNDIuNWM1LjMtOC41IDkuMi0xOCAxMS42LTI4bDY0LjQgNC4zem0tNjUtMTU2LjlsLTQyLjUgNDguNmMtOC41LTUuMy0xOC05LjItMjgtMTEuNmw0LjMtNjQuNGMyNC40IDQuMSA0Ni45IDEzLjcgNjYuMiAyNy41ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUhvdGRvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3Rkb2cnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc3ODldLCBcImY4MGZcIiwgXCJNNDg4LjYgMjMuNGMzMS4yIDMxLjIgMzEuMiA4MS45IDAgMTEzLjFsLTM1MiAzNTJjLTMxLjIgMzEuMi04MS45IDMxLjItMTEzLjEgMHMtMzEuMi04MS45IDAtMTEzLjFsMzUyLTM1MmMzMS4yLTMxLjIgODEuOS0zMS4yIDExMy4xIDB6TTQ0My4zIDkyLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwYy0xMi41IDEyLjUtMjMuOCAxNS4xLTM3LjUgMTcuNmwtMi41IC40Yy0xMy44IDIuNS0zMS42IDUuNi00OCAyMmMtMTYuNyAxNi43LTIwLjkgMzYtMjQuMSA1MC45YzAgMCAwIDAgMCAwczAgMCAwIDBsLS4yIDFjLTMuNCAxNS42LTYgMjYuNC0xNS43IDM2LjFzLTIwLjUgMTIuMy0zNi4xIDE1LjdsLTEgLjJjLTE0LjkgMy4yLTM0LjIgNy40LTUwLjkgMjQuMXMtMjAuOSAzNi0yNC4xIDUwLjlsLS4yIDFjLTMuNCAxNS42LTYgMjYuNC0xNS43IDM2LjFjLTkuMiA5LjItMTggMTAuOC0zMi43IDEzLjRjMCAwIDAgMCAwIDBsLS45IC4yYy0xNS42IDIuOC0zNC45IDYuOS01NC40IDI2LjRjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGMxMi41LTEyLjUgMjMuOC0xNS4xIDM3LjUtMTcuNmwyLjUtLjRjMTMuOC0yLjUgMzEuNi01LjYgNDgtMjJjMTYuNy0xNi43IDIwLjktMzYgMjQuMS01MC45bC4yLTFjMy40LTE1LjYgNi0yNi40IDE1LjctMzYuMXMyMC41LTEyLjMgMzYuMS0xNS43bDEtLjJjMTQuOS0zLjIgMzQuMi03LjQgNTAuOS0yNC4xczIwLjktMzYgMjQuMS01MC45bC4yLTFjMy40LTE1LjYgNi0yNi40IDE1LjctMzYuMWM5LjItOS4yIDE4LTEwLjggMzIuNy0xMy40bC45LS4yYzE1LjYtMi44IDM0LjktNi45IDU0LjQtMjYuNGM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpNMTkxLjIgNDc5LjJsMjg4LTI4OEw0OTUgMjA3YzEwLjkgMTAuOSAxNyAyNS42IDE3IDQxcy02LjEgMzAuMS0xNyA0MUwyODkgNDk1Yy0xMC45IDEwLjktMjUuNiAxNy00MSAxN3MtMzAuMS02LjEtNDEtMTdsLTE1LjgtMTUuOHpNMTcgMzA1QzYuMSAyOTQuMSAwIDI3OS40IDAgMjY0czYuMS0zMC4xIDE3LTQxTDIyMyAxN0MyMzMuOSA2LjEgMjQ4LjYgMCAyNjQgMHMzMC4xIDYuMSA0MSAxN2wxNS44IDE1LjgtMjg4IDI4OEwxNyAzMDV6XCJdXG59O1xuY29uc3QgZmFQZXJzb25XYWxraW5nV2l0aENhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmctd2l0aC1jYW5lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJibGluZFwiXSwgXCJmMjlkXCIsIFwiTTE3NiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04LjQgMzJjLTM2LjQgMC02OS42IDIwLjUtODUuOSA1My4xTDM1LjQgMjczLjdjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM0wxMjggMjMxLjZsMCA0My4yYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zTDIyNCAzOTcuM2wwIDgyLjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTg5LjRjMC0xMi43LTUuMS0yNC45LTE0LjEtMzMuOUwyMjQgMzA2LjdsMC05My40IDcwLjQgOTMuOWMxMC42IDE0LjEgMzAuNyAxNyA0NC44IDYuNHMxNy0zMC43IDYuNC00NC44TDI2OC44IDE2Ni40QzI1MC43IDE0Mi4yIDIyMi4yIDEyOCAxOTIgMTI4bC0yNC40IDB6TTEyOC4zIDM0Ni44TDk3IDQ3Mi4yYy00LjMgMTcuMSA2LjEgMzQuNSAyMy4zIDM4LjhzMzQuNS02LjEgMzguOC0yMy4zbDIyLTg4LjItNTIuOC01Mi44ek00NTAuOCA1MDUuMWM1IDcuMyAxNSA5LjEgMjIuMyA0czkuMS0xNSA0LTIyLjNMMzU4LjkgMzE2LjFjLTIuOCAzLjgtNi4xIDcuMy0xMC4xIDEwLjNjLTUgMy44LTEwLjUgNi40LTE2LjIgNy45TDQ1MC44IDUwNS4xelwiXVxufTtcbmNvbnN0IGZhQmxpbmQgPSBmYVBlcnNvbldhbGtpbmdXaXRoQ2FuZTtcbmNvbnN0IGZhRHJ1bSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcnVtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzQ1XSwgXCJmNTY5XCIsIFwiTTUwMS4yIDc2LjFjMTEuMS03LjMgMTQuMi0yMi4xIDYuOS0zMy4ycy0yMi4xLTE0LjItMzMuMi02LjlMMzcwLjIgMTA0LjVDMzM1LjggOTguNyAyOTcgOTYgMjU2IDk2QzExNC42IDk2IDAgMTI4IDAgMjA4TDAgMzY4YzAgMzEuMyAyNy40IDU4LjggNzIgNzguN0w3MiAzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDExOS40YzMzIDguOSA3MS4xIDE0LjUgMTEyIDE2LjFMMjMyIDM3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTAzLjVjNDAuOS0xLjYgNzktNy4yIDExMi0xNi4xTDM5MiAzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwMi43YzQ0LjYtMTkuOSA3Mi00Ny40IDcyLTc4LjdsMC0xNjBjMC00MS4xLTMwLjItNjkuNS03OC44LTg3LjRsNjcuOS00NC41ek0zMDcuNCAxNDUuNmwtNjQuNiA0Mi4zYy0xMS4xIDcuMy0xNC4yIDIyLjEtNi45IDMzLjJzMjIuMSAxNC4yIDMzLjIgNi45bDExMS4xLTcyLjhjMTQuNyAzLjIgMjcuOSA3IDM5LjQgMTEuNUM0NTguNCAxODEuOCA0NjQgMTk3LjQgNDY0IDIwOGMwIC44LTIuNyAxNy4yLTQ2IDM1LjlDMzc5LjEgMjYwLjcgMzIyIDI3MiAyNTYgMjcycy0xMjMuMS0xMS4zLTE2Mi0yOC4xQzUwLjcgMjI1LjIgNDggMjA4LjggNDggMjA4YzAtMTAuNiA1LjYtMjYuMiA0NC40LTQxLjNDMTMwLjYgMTUxLjkgMTg3LjggMTQ0IDI1NiAxNDRjMTggMCAzNS4xIC41IDUxLjQgMS42elwiXVxufTtcbmNvbnN0IGZhSWNlQ3JlYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWNlLWNyZWFtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3ODQ4XSwgXCJmODEwXCIsIFwiTTM2Ny4xIDE2MGMuNi01LjMgLjktMTAuNiAuOS0xNkMzNjggNjQuNSAzMDMuNSAwIDIyNCAwUzgwIDY0LjUgODAgMTQ0YzAgNS40IC4zIDEwLjcgLjkgMTZsLS45IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhsNTMuNSAwIDE4MSAwIDUzLjUgMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtLjkgMHpNOTYgMjg4TDIwMC44IDQ5Ny43YzQuNCA4LjggMTMuMyAxNC4zIDIzLjIgMTQuM3MxOC44LTUuNSAyMy4yLTE0LjNMMzUyIDI4OCA5NiAyODh6XCJdXG59O1xuY29uc3QgZmFIZWFydENpcmNsZUJvbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtY2lyY2xlLWJvbHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZmNcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZsMC01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMWwwIDUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em00Ny45LTIyNWM0LjMgMy43IDUuNCA5LjkgMi42IDE0LjlMNDUyLjQgMzU2bDM1LjYgMGM1LjIgMCA5LjggMy4zIDExLjQgOC4ycy0uMSAxMC4zLTQuMiAxMy40bC05NiA3MmMtNC41IDMuNC0xMC44IDMuMi0xNS4xLS42cy01LjQtOS45LTIuNi0xNC45TDQxMS42IDM4MCAzNzYgMzgwYy01LjIgMC05LjgtMy4zLTExLjQtOC4ycy4xLTEwLjMgNC4yLTEzLjRsOTYtNzJjNC41LTMuNCAxMC44LTMuMiAxNS4xIC42elwiXVxufTtcbmNvbnN0IGZhRmF4ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZheCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyNCwgMTI4NDM5XSwgXCJmMWFjXCIsIFwiTTEyOCA2NGwwIDk2IDY0IDAgMC05NiAxOTQuNyAwTDQxNiA5My4zbDAgNjYuNyA2NCAwIDAtNjYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w0MzIgMTguN0M0MjAgNi43IDQwMy43IDAgMzg2LjcgMEwxOTIgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6TTAgMTYwTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMjBjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem00ODAgMzJsLTM1MiAwIDAgMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yNTYgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzIgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0yMjQgNDE2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFQYXJhZ3JhcGggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFyYWdyYXBoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTgyXSwgXCJmMWRkXCIsIFwiTTE5MiAzMmw2NCAwIDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzUyLTMyIDAgMCAzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAwYy04OC40IDAtMTYwLTcxLjYtMTYwLTE2MHM3MS42LTE2MCAxNjAtMTYwelwiXVxufTtcbmNvbnN0IGZhQ2hlY2tUb1Nsb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlY2stdG8tc2xvdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1widm90ZS15ZWFcIl0sIFwiZjc3MlwiLCBcIk05NiA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGwyODggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDMwNEw5NiAzODQgOTYgODB6bTMxMyA0N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTExMSAxMTEtNDctNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNjQgNjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBMNDA5IDE2MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXpNMCAzMzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYgMCAwIDEyOCA0NDggMCAwLTEyOCAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2elwiXVxufTtcbmNvbnN0IGZhVm90ZVllYSA9IGZhQ2hlY2tUb1Nsb3Q7XG5jb25zdCBmYVN0YXJIYWxmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXItaGFsZicsXG4gIGljb246IFs1NzYsIDUxMiwgWzYxNzMxXSwgXCJmMDg5XCIsIFwiTTI4OCAwYy0xMi4yIC4xLTIzLjMgNy0yOC42IDE4TDE5NSAxNTAuMyA1MS40IDE3MS41Yy0xMiAxLjgtMjIgMTAuMi0yNS43IDIxLjdzLS43IDI0LjIgNy45IDMyLjdMMTM3LjggMzI5IDExMy4yIDQ3NC43Yy0yIDEyIDMgMjQuMiAxMi45IDMxLjNzMjMgOCAzMy44IDIuM0wyODggNDM5LjggMjg4IDB6TTQyOS45IDUxMmMxLjEgLjEgMi4xIC4xIDMuMiAwbC0zLjIgMHpcIl1cbn07XG5jb25zdCBmYUJveGVzU3RhY2tlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3hlcy1zdGFja2VkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNjI2MjUsIFwiYm94ZXNcIiwgXCJib3hlcy1hbHRcIl0sIFwiZjQ2OFwiLCBcIk0yNDggMEwyMDggMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTI4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xMTJjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzI4IDBsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZsLTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTgwek02NCAyNTZjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE2MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC00MCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC04MC00MCAwek0zNTIgNTEybDE2MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC00MCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC04MC00MCAwYy0xNSAwLTI4LjggNS4xLTM5LjcgMTMuOGM0LjkgMTAuNCA3LjcgMjIgNy43IDM0LjJsMCAxNjBjMCAxMi4yLTIuOCAyMy44LTcuNyAzNC4yQzMyMy4yIDUwNi45IDMzNyA1MTIgMzUyIDUxMnpcIl1cbn07XG5jb25zdCBmYUJveGVzID0gZmFCb3hlc1N0YWNrZWQ7XG5jb25zdCBmYUJveGVzQWx0ID0gZmFCb3hlc1N0YWNrZWQ7XG5jb25zdCBmYUxpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGluaycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODI3OSwgXCJjaGFpblwiXSwgXCJmMGMxXCIsIFwiTTU3OS44IDI2Ny43YzU2LjUtNTYuNSA1Ni41LTE0OCAwLTIwNC41Yy01MC01MC0xMjguOC01Ni41LTE4Ni4zLTE1LjRsLTEuNiAxLjFjLTE0LjQgMTAuMy0xNy43IDMwLjMtNy40IDQ0LjZzMzAuMyAxNy43IDQ0LjYgNy40bDEuNi0xLjFjMzIuMS0yMi45IDc2LTE5LjMgMTAzLjggOC42YzMxLjUgMzEuNSAzMS41IDgyLjUgMCAxMTRMNDIyLjMgMzM0LjhjLTMxLjUgMzEuNS04Mi41IDMxLjUtMTE0IDBjLTI3LjktMjcuOS0zMS41LTcxLjgtOC42LTEwMy44bDEuMS0xLjZjMTAuMy0xNC40IDYuOS0zNC40LTcuNC00NC42cy0zNC40LTYuOS00NC42IDcuNGwtMS4xIDEuNkMyMDYuNSAyNTEuMiAyMTMgMzMwIDI2MyAzODBjNTYuNSA1Ni41IDE0OCA1Ni41IDIwNC41IDBMNTc5LjggMjY3Ljd6TTYwLjIgMjQ0LjNjLTU2LjUgNTYuNS01Ni41IDE0OCAwIDIwNC41YzUwIDUwIDEyOC44IDU2LjUgMTg2LjMgMTUuNGwxLjYtMS4xYzE0LjQtMTAuMyAxNy43LTMwLjMgNy40LTQ0LjZzLTMwLjMtMTcuNy00NC42LTcuNGwtMS42IDEuMWMtMzIuMSAyMi45LTc2IDE5LjMtMTAzLjgtOC42Qzc0IDM3MiA3NCAzMjEgMTA1LjUgMjg5LjVMMjE3LjcgMTc3LjJjMzEuNS0zMS41IDgyLjUtMzEuNSAxMTQgMGMyNy45IDI3LjkgMzEuNSA3MS44IDguNiAxMDMuOWwtMS4xIDEuNmMtMTAuMyAxNC40LTYuOSAzNC40IDcuNCA0NC42czM0LjQgNi45IDQ0LjYtNy40bDEuMS0xLjZDNDMzLjUgMjYwLjggNDI3IDE4MiAzNzcgMTMyYy01Ni41LTU2LjUtMTQ4LTU2LjUtMjA0LjUgMEw2MC4yIDI0NC4zelwiXVxufTtcbmNvbnN0IGZhQ2hhaW4gPSBmYUxpbms7XG5jb25zdCBmYUVhckxpc3RlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlYXItbGlzdGVuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXNcIl0sIFwiZjJhMlwiLCBcIk0zOTguMyAzLjRjLTE1LjgtNy45LTM1LTEuNS00Mi45IDE0LjNjLTcuOSAxNS44LTEuNSAzNC45IDE0LjIgNDIuOWwuNCAuMmMuNCAuMiAxLjEgLjYgMi4xIDEuMmMyIDEuMiA1IDMgOC43IDUuNmM3LjUgNS4yIDE3LjYgMTMuMiAyNy43IDI0LjJDNDI4LjUgMTEzLjQgNDQ4IDE0NiA0NDggMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC02Ni0yOC41LTExMy40LTU2LjUtMTQzLjdDNDQxLjYgMzMuMiA0MjcuNyAyMi4yIDQxNy4zIDE1Yy01LjMtMy43LTkuNy02LjQtMTMtOC4zYy0xLjYtMS0zLTEuNy00LTIuMmMtLjUtLjMtLjktLjUtMS4yLS43bC0uNC0uMi0uMi0uMWMwIDAgMCAwLS4xIDBjMCAwIDAgMCAwIDBMMzg0IDMyIDM5OC4zIDMuNHpNMTI4LjcgMjI3LjVjNi4yLTU2IDUzLjctOTkuNSAxMTEuMy05OS41YzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyYzAgMjkuMy0xMS4yIDU1LjktMjkuNiA3NS45Yy0xNyAxOC40LTM0LjQgNDUuMS0zNC40IDc4bDAgNi4xYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyYzYxLjkgMCAxMTItNTAuMSAxMTItMTEybDAtNi4xYzAtOS44IDUuNC0yMS43IDE3LjQtMzQuN0MzOTguMyAzMjcuOSA0MTYgMjg2IDQxNiAyNDBjMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZDMTQ5LjQgNjQgNzQuOCAxMzIuNSA2NS4xIDIyMC41Yy0xLjkgMTcuNiAxMC43IDMzLjQgMjguMyAzNS4zczMzLjQtMTAuNyAzNS4zLTI4LjN6TTMyIDUxMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTE5MiAzNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDEuNCAzNjEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwek0yMDggMjQwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhQXNzaXN0aXZlTGlzdGVuaW5nU3lzdGVtcyA9IGZhRWFyTGlzdGVuO1xuY29uc3QgZmFUcmVlQ2l0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmVlLWNpdHknLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1ODdcIiwgXCJNMjg4IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNDQgNDAgMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiAyNCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQxNnptNjQgMzJsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzUyIDI3MmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNzYtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNTEyIDM2OGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0yMjQgMTYwYzAgNi0xIDExLTIgMTZjMjAgMTQgMzQgMzggMzQgNjRjMCA0NS0zNiA4MC04MCA4MGwtMTYgMCAwIDE2MGMwIDE4LTE1IDMyLTMyIDMyYy0xOCAwLTMyLTE0LTMyLTMybDAtMTYwLTE2IDBjLTQ1IDAtODAtMzUtODAtODBjMC0yNiAxMy01MCAzMy02NGMtMS01LTEtMTAtMS0xNmMwLTUzIDQyLTk2IDk2LTk2YzUzIDAgOTYgNDMgOTYgOTZ6XCJdXG59O1xuY29uc3QgZmFQbGF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYXknLFxuICBpY29uOiBbMzg0LCA1MTIsIFs5NjU0XSwgXCJmMDRiXCIsIFwiTTczIDM5Yy0xNC44LTkuMS0zMy40LTkuNC00OC41LS45UzAgNjIuNiAwIDgwTDAgNDMyYzAgMTcuNCA5LjQgMzMuNCAyNC41IDQxLjlzMzMuNyA4LjEgNDguNS0uOUwzNjEgMjk3YzE0LjMtOC43IDIzLTI0LjIgMjMtNDFzLTguNy0zMi4yLTIzLTQxTDczIDM5elwiXVxufTtcbmNvbnN0IGZhRm9udCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb250JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDMxXCIsIFwiTTI1NCA1Mi44QzI0OS4zIDQwLjMgMjM3LjMgMzIgMjI0IDMycy0yNS4zIDguMy0zMCAyMC44TDU3LjggNDE2IDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xLjggMCAxOC00OCAxNTkuNiAwIDE4IDQ4LTEuOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI1LjggMEwyNTQgNTIuOHpNMjc5LjggMzA0bC0xMTEuNiAwTDIyNCAxNTUuMSAyNzkuOCAzMDR6XCJdXG59O1xuY29uc3QgZmFUYWJsZUNlbGxzUm93TG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1jZWxscy1yb3ctbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTY3YVwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjUuMWMtMzcuOCA1LjQtNjkuNCAyOS42LTg1LjIgNjIuOUwzNjAgMjI0bDAgNjQgNTYgMCAwIDguNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwtMjQgMCAwIDY0IDI0IDAgMCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTY0IDIyNGwwIDY0IDg4IDAgMC02NC04OCAwem0yMzIgMGwtODggMCAwIDY0IDg4IDAgMC02NHpNMTUyIDM1MmwtODggMCAwIDY0IDg4IDAgMC02NHptNTYgMGwwIDY0IDg4IDAgMC02NC04OCAwek01MjggMjQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDh6XCJdXG59O1xuY29uc3QgZmFSdXBpYWhTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1cGlhaC1zaWduJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMjNkXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsODAgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGMwIDU4LjgtMzUuMiAxMDkuMy04NS43IDEzMS43bDUxLjQgMTI4LjRjNi42IDE2LjQtMS40IDM1LTE3LjggNDEuNnMtMzUtMS40LTQxLjYtMTcuOEwxMDYuMyAzMjAgNjQgMzIwbDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDAgMjg4IDAgNjR6TTY0IDI1Nmw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwTDY0IDk2bDAgMTYwem0yNTYtOTZsODAgMGM2MS45IDAgMTEyIDUwLjEgMTEyIDExMnMtNTAuMSAxMTItMTEyIDExMmwtNDggMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4IDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyem04MCAxNjBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCA5NiA0OCAwelwiXVxufTtcbmNvbnN0IGZhTWFnbmlmeWluZ0dsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNjksIFwic2VhcmNoXCJdLCBcImYwMDJcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHpNMjA4IDM1MmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6XCJdXG59O1xuY29uc3QgZmFTZWFyY2ggPSBmYU1hZ25pZnlpbmdHbGFzcztcbmNvbnN0IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk1NSwgXCJwaW5nLXBvbmctcGFkZGxlLWJhbGxcIiwgXCJ0YWJsZS10ZW5uaXNcIl0sIFwiZjQ1ZFwiLCBcIk00MTYgMjg4Yy01MC4xIDAtOTMuNiAyOC44LTExNC42IDcwLjhMNjguOSAxMjYuM2wuNi0uNiA2MC4xLTYwLjFjODcuNS04Ny41IDIyOS4zLTg3LjUgMzE2LjggMGM2Ny4xIDY3LjEgODIuNyAxNjYuMyA0Ni44IDI0OC4zQzQ3MS44IDI5Ny42IDQ0NSAyODggNDE2IDI4OHpNNDkuMyAxNTEuOUwyOTAuMSAzOTIuN2MtMS40IDcuNS0yLjEgMTUuMy0yLjEgMjMuM2MwIDIzLjIgNi4yIDQ0LjkgMTYuOSA2My43Yy0zIC4yLTYuMSAuMy05LjIgLjNsLTIuNyAwYy0zMy45IDAtNjYuNS0xMy41LTkwLjUtMzcuNWwtOS44LTkuOGMtMTMuMS0xMy4xLTM0LjYtMTIuNC00Ni44IDEuN0w4OC4yIDUwMWMtNS44IDYuNy0xNC4yIDEwLjctMjMgMTFzLTE3LjUtMy4xLTIzLjgtOS40bC0zMi0zMkMzLjEgNDY0LjMtLjMgNDU1LjcgMCA0NDYuOXM0LjMtMTcuMiAxMS0yM2w2Ni42LTU3LjdjMTQtMTIuMiAxNC44LTMzLjcgMS43LTQ2LjhsLTkuOC05LjhDNDUuNSAyODUuNSAzMiAyNTIuOSAzMiAyMTlsMC0yLjdjMC0yMi44IDYuMS00NC45IDE3LjMtNjQuM3pNNDE2IDMyMGE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpcIl1cbn07XG5jb25zdCBmYVBpbmdQb25nUGFkZGxlQmFsbCA9IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsO1xuY29uc3QgZmFUYWJsZVRlbm5pcyA9IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsO1xuY29uc3QgZmFQZXJzb25Eb3RzRnJvbUxpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWRvdHMtZnJvbS1saW5lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJkaWFnbm9zZXNcIl0sIFwiZjQ3MFwiLCBcIk0yODggMTc2QTg4IDg4IDAgMSAwIDI4OCAwYTg4IDg4IDAgMSAwIDAgMTc2ek03OC43IDM3Mi45YzE1LTEyLjUgNTAtMzQuNCA5Ny4zLTUwLjFMMTc2IDQzMmwyMjQgMCAwLTEwOS4zYzQ3LjMgMTUuOCA4Mi4zIDM3LjcgOTcuMyA1MC4xYzIwLjQgMTcgNTAuNiAxNC4yIDY3LjYtNi4xczE0LjItNTAuNi02LjEtNjcuNmMtMTItMTAtMzAuMS0yMi41LTUzLjItMzVDNDk3LjIgMjc4LjQgNDgxLjcgMjg4IDQ2NCAyODhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4YzAtNC4zIC42LTguNCAxLjYtMTIuNEMzNzkuMSAyMTUuOSAzMzUuMyAyMDggMjg4IDIwOGMtNjAuMiAwLTExNC45IDEyLjktMTYwIDI5LjljMCAuNyAwIDEuNCAwIDIuMWMwIDI2LjUtMjEuNSA0OC00OCA0OGMtMTEuOCAwLTIyLjctNC4zLTMxLTExLjRjLTEzLjEgOC4xLTIzLjcgMTUuOS0zMS43IDIyLjVjLTIwLjQgMTctMjMuMSA0Ny4yLTYuMSA2Ny42czQ3LjIgMjMuMSA2Ny42IDYuMXpNMjQgNDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDUyOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDQ2NHpNMjI0IDI4MGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMDQgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek05NiAyNDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMzY4IDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG5jb25zdCBmYURpYWdub3NlcyA9IGZhUGVyc29uRG90c0Zyb21MaW5lO1xuY29uc3QgZmFUcmFzaENhbkFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhc2gtY2FuLWFycm93LXVwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0cmFzaC1yZXN0b3JlLWFsdFwiXSwgXCJmODJhXCIsIFwiTTE2My44IDBMMjg0LjIgMGMxMi4xIDAgMjMuMiA2LjggMjguNiAxNy43TDMyMCAzMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmw5NiAwIDcuMi0xNC4zQzE0MC42IDYuOCAxNTEuNyAwIDE2My44IDB6TTMyIDEyOGwzODQgMCAwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzIwem0xOTIgNjRjLTYuNCAwLTEyLjUgMi41LTE3IDdsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzktMzlMMjAwIDQwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM0LjEgMzkgMzljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtNC41LTQuNS0xMC42LTctMTctN3pcIl1cbn07XG5jb25zdCBmYVRyYXNoUmVzdG9yZUFsdCA9IGZhVHJhc2hDYW5BcnJvd1VwO1xuY29uc3QgZmFOYWlyYVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmFpcmEtc2lnbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTFmNlwiLCBcIk0xMjIuNiA0Ni4zYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVM2NCA0OS45IDY0IDY0bDAgMTkyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDEwMC4yIDAgOTcuMiAxNDUuOGM3LjggMTEuNyAyMi40IDE3IDM1LjkgMTIuOXMyMi43LTE2LjUgMjIuNy0zMC42bDAtMTI4IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxOTItNTcuNSAwTDEyMi42IDQ2LjN6TTMwNS4xIDMyMGwxNC45IDAgMCAyMi4zTDMwNS4xIDMyMHpNMTg1LjUgMjU2TDEyOCAyNTZsMC04Ni4zTDE4NS41IDI1NnpcIl1cbn07XG5jb25zdCBmYUNhcnRBcnJvd0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FydC1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjE4XCIsIFwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhsNDUuNSAwYzMuOCAwIDcuMSAyLjcgNy45IDYuNWw1MS42IDI3MWM2LjUgMzQgMzYuMiA1OC41IDcwLjcgNTguNUw0ODggMzg0YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yODguMyAwYy0xMS41IDAtMjEuNC04LjItMjMuNi0xOS41TDE3MC43IDI4OGwyODguNSAwYzMyLjYgMCA2MS4xLTIxLjggNjkuNS01My4zbDQxLTE1Mi4zQzU3Ni42IDU3IDU1Ny40IDMyIDUzMS4xIDMyTDM2MCAzMmwwIDEwMi4xIDIzLTIzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNjQgNjRjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDIzIDIzTDMxMiAzMiAxMjAuMSAzMkMxMTEgMTIuOCA5MS42IDAgNjkuNSAwTDI0IDB6TTE3NiA1MTJhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zMzYtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG5jb25zdCBmYVdhbGtpZVRhbGtpZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YWxraWUtdGFsa2llJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmOGVmXCIsIFwiTTExMiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNFM2NCAxMC43IDY0IDI0bDAgNzJMNDggOTZDMjEuNSA5NiAwIDExNy41IDAgMTQ0TDAgMzAwLjFjMCAxMi43IDUuMSAyNC45IDE0LjEgMzMuOWwzLjkgMy45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45TDMyIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTkyLjFjMC0xMi43IDUuMS0yNC45IDE0LjEtMzMuOWwzLjktMy45YzktOSAxNC4xLTIxLjIgMTQuMS0zMy45TDM4NCAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTE2IDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsLTMyIDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsLTQ4IDAgMC03MnptMCAxMzZsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMCA2NGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFGaWxlUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjIxLCBcImZpbGUtZWRpdFwiXSwgXCJmMzFjXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMTI1LjctODYuOCA4Ni44Yy0xMC4zIDEwLjMtMTcuNSAyMy4xLTIxIDM3LjJsLTE4LjcgNzQuOWMtMi4zIDkuMi0xLjggMTguOCAxLjMgMjcuNUw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNNTQ5LjggMjM1LjdsMTQuNCAxNC40YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC0yOS40IDI5LjQtNzEtNzEgMjkuNC0yOS40YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwek0zMTEuOSA0MTdMNDQxLjEgMjg3LjhsNzEgNzFMMzgyLjkgNDg3LjljLTQuMSA0LjEtOS4yIDctMTQuOSA4LjRsLTYwLjEgMTVjLTUuNSAxLjQtMTEuMi0uMi0xNS4yLTQuMnMtNS42LTkuNy00LjItMTUuMmwxNS02MC4xYzEuNC01LjYgNC4zLTEwLjggOC40LTE0Ljl6XCJdXG59O1xuY29uc3QgZmFGaWxlRWRpdCA9IGZhRmlsZVBlbjtcbmNvbnN0IGZhUmVjZWlwdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWNlaXB0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI5NTM0XSwgXCJmNTQzXCIsIFwiTTE0IDIuMkMyMi41LTEuNyAzMi41LS4zIDM5LjYgNS44TDgwIDQwLjQgMTIwLjQgNS44YzktNy43IDIyLjMtNy43IDMxLjIgMEwxOTIgNDAuNCAyMzIuNCA1LjhjOS03LjcgMjIuMy03LjcgMzEuMiAwTDMwNCA0MC40IDM0NC40IDUuOGM3LjEtNi4xIDE3LjEtNy41IDI1LjYtMy42czE0IDEyLjQgMTQgMjEuOGwwIDQ2NGMwIDkuNC01LjUgMTcuOS0xNCAyMS44cy0xOC41IDIuNS0yNS42LTMuNkwzMDQgNDcxLjZsLTQwLjQgMzQuNmMtOSA3LjctMjIuMyA3LjctMzEuMiAwTDE5MiA0NzEuNmwtNDAuNCAzNC42Yy05IDcuNy0yMi4zIDcuNy0zMS4yIDBMODAgNDcxLjYgMzkuNiA1MDYuMmMtNy4xIDYuMS0xNy4xIDcuNS0yNS42IDMuNlMwIDQ5Ny40IDAgNDg4TDAgMjRDMCAxNC42IDUuNSA2LjEgMTQgMi4yek05NiAxNDRjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMOTYgMTQ0ek04MCAzNTJjMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDk2IDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2ek05NiAyNDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMOTYgMjQwelwiXVxufTtcbmNvbnN0IGZhU3F1YXJlUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wZW4nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBlbi1zcXVhcmVcIiwgXCJwZW5jaWwtc3F1YXJlXCJdLCBcImYxNGJcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzI1LjggMTM5LjdsMTQuNCAxNC40YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC0yMS40IDIxLjQtNzEtNzEgMjEuNC0yMS40YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwek0xMTkuOSAyODlMMjI1LjEgMTgzLjhsNzEgNzFMMTkwLjkgMzU5LjljLTQuMSA0LjEtOS4yIDctMTQuOSA4LjRsLTYwLjEgMTVjLTUuNSAxLjQtMTEuMi0uMi0xNS4yLTQuMnMtNS42LTkuNy00LjItMTUuMmwxNS02MC4xYzEuNC01LjYgNC4zLTEwLjggOC40LTE0Ljl6XCJdXG59O1xuY29uc3QgZmFQZW5TcXVhcmUgPSBmYVNxdWFyZVBlbjtcbmNvbnN0IGZhUGVuY2lsU3F1YXJlID0gZmFTcXVhcmVQZW47XG5jb25zdCBmYVN1aXRjYXNlUm9sbGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdWl0Y2FzZS1yb2xsaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNWMxXCIsIFwiTTE0NCA1NmMwLTQuNCAzLjYtOCA4LThsODAgMGM0LjQgMCA4IDMuNiA4IDhsMCA3Mi05NiAwIDAtNzJ6bTE3NiA3MmwtMzIgMCAwLTcyYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDE1MiAwQzEyMS4xIDAgOTYgMjUuMSA5NiA1NmwwIDcyLTMyIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMTI4IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NHpNMTEyIDIyNGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgMTI4bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1M2ZcIiwgXCJNMTEyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyMy4xTDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42bDI5LjcgMGMzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw0NC45IDc0LjdjLTE2LjEgMTcuNi0yOC42IDM4LjUtMzYuNiA2MS41Yy0xLjktMS44LTMuNS0zLjktNC45LTYuM0wyMzIgMjU2LjkgMjMyIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwek00MzIgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wLTE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYUNoZXZyb25Eb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXZyb24tZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjA3OFwiLCBcIk0yMzMuNCA0MDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxOTItMTkyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDI1NiAzMzguNyA4Ni42IDE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxOTIgMTkyelwiXVxufTtcbmNvbnN0IGZhQmF0dGVyeUZ1bGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS1mdWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjY3LCBcImJhdHRlcnlcIiwgXCJiYXR0ZXJ5LTVcIl0sIFwiZjI0MFwiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2MGMwIDguOC03LjIgMTYtMTYgMTZMODAgMzUyYy04LjggMC0xNi03LjItMTYtMTZsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZMMCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBsMzg0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMODAgOTZ6bTM2OCA5Nkw5NiAxOTJsMCAxMjggMzUyIDAgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5ID0gZmFCYXR0ZXJ5RnVsbDtcbmNvbnN0IGZhQmF0dGVyeTUgPSBmYUJhdHRlcnlGdWxsO1xuY29uc3QgZmFTa3VsbENyb3NzYm9uZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2t1bGwtY3Jvc3Nib25lcycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODM2OSwgOTc2MF0sIFwiZjcxNFwiLCBcIk0zNjggMTI4YzAgNDQuNC0yNS40IDgzLjUtNjQgMTA2LjRsMCAyMS42YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIxLjZjLTM4LjYtMjMtNjQtNjIuMS02NC0xMDYuNEM4MCA1Ny4zIDE0NC41IDAgMjI0IDBzMTQ0IDU3LjMgMTQ0IDEyOHpNMTY4IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE0NC0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zLjQgMjczLjdjNy45LTE1LjggMjcuMS0yMi4yIDQyLjktMTQuM0wyMjQgMzQ4LjJsMTc3LjctODguOGMxNS44LTcuOSAzNS0xLjUgNDIuOSAxNC4zczEuNSAzNS0xNC4zIDQyLjlMMjk1LjYgMzg0bDEzNC44IDY3LjRjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM0wyMjQgNDE5LjggNDYuMyA1MDguNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOUwxNTIuNCAzODQgMTcuNyAzMTYuNkMxLjkgMzA4LjctNC41IDI4OS41IDMuNCAyNzMuN3pcIl1cbn07XG5jb25zdCBmYUNvZGVDb21wYXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvZGUtY29tcGFyZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTEzYVwiLCBcIk0zMjAgNDg4YzAgOS41LTUuNiAxOC4xLTE0LjIgMjEuOXMtMTguOCAyLjMtMjUuOC00LjFsLTgwLTcyYy01LjEtNC42LTcuOS0xMS03LjktMTcuOHMyLjktMTMuMyA3LjktMTcuOGw4MC03MmM3LTYuMyAxNy4yLTcuOSAyNS44LTQuMXMxNC4yIDEyLjQgMTQuMiAyMS45bDAgNDAgMTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2Ni43QzM3MS43IDE0MSAzNTIgMTEyLjggMzUyIDgwYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM0w0NjQgMzIwYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0xNiAwIDAgNDB6TTQ1NiA4MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0xOTIgMjRjMC05LjUgNS42LTE4LjEgMTQuMi0yMS45czE4LjgtMi4zIDI1LjggNC4xbDgwIDcyYzUuMSA0LjYgNy45IDExIDcuOSAxNy44cy0yLjkgMTMuMy03LjkgMTcuOGwtODAgNzJjLTcgNi4zLTE3LjIgNy45LTI1LjggNC4xcy0xNC4yLTEyLjQtMTQuMi0yMS45bDAtNDAtMTYgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAxNjYuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zYzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNMNDggMTkyYzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4bDE2IDAgMC00MHpNNTYgNDMyYTI0IDI0IDAgMSAwIDQ4IDAgMjQgMjQgMCAxIDAgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFMaXN0VWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlzdC11bCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGlzdC1kb3RzXCJdLCBcImYwY2FcIiwgXCJNNjQgMTQ0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6TTY0IDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTQ4LTIwOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwelwiXVxufTtcbmNvbnN0IGZhTGlzdERvdHMgPSBmYUxpc3RVbDtcbmNvbnN0IGZhU2Nob29sTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2ZlwiLCBcIk0zMDIuMiA1LjRjMTAuNy03LjIgMjQuOC03LjIgMzUuNSAwTDQ3My43IDk2IDU5MiA5NmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDEyOGMwLTYxLjktNTAuMS0xMTItMTEyLTExMnMtMTEyIDUwLjEtMTEyIDExMmwwIDI0LjZjLTE5LjEgMTEuMS0zMiAzMS43LTMyIDU1LjRsLTYzLjcgMC0uMyAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2IDY0IDBzMCAwIDAgMEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDExOC4zIDBMMzAyLjIgNS40ek04MCAyMDhsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMCAxMjhsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMjQwLTcyYTg4IDg4IDAgMSAwIDAtMTc2IDg4IDg4IDAgMSAwIDAgMTc2em0xNi0xMjBsMCAxNiAxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em0xOTIgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tODAgMzJjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMC00OHpcIl1cbn07XG5jb25zdCBmYVRvd2VyQ2VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3dlci1jZWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTg1XCIsIFwiTTYyLjYgMi4zQzQ2LjItNC4zIDI3LjYgMy42IDIwLjkgMjBDNy40IDUzLjQgMCA4OS45IDAgMTI4czcuNCA3NC42IDIwLjkgMTA4YzYuNiAxNi40IDI1LjMgMjQuMyA0MS43IDE3LjdTODYuOSAyMjguNCA4MC4zIDIxMkM2OS44IDE4Ni4xIDY0IDE1Ny44IDY0IDEyOHM1LjgtNTguMSAxNi4zLTg0Qzg2LjkgMjcuNiA3OSA5IDYyLjYgMi4zem00NTAuOCAwQzQ5NyA5IDQ4OS4xIDI3LjYgNDk1LjcgNDRDNTA2LjIgNjkuOSA1MTIgOTguMiA1MTIgMTI4cy01LjggNTguMS0xNi4zIDg0Yy02LjYgMTYuNCAxLjMgMzUgMTcuNyA0MS43czM1LTEuMyA0MS43LTE3LjdjMTMuNS0zMy40IDIwLjktNjkuOSAyMC45LTEwOHMtNy40LTc0LjYtMjAuOS0xMDhDNTQ4LjQgMy42IDUyOS44LTQuMyA1MTMuNCAyLjN6TTM0MC4xIDE2NS4yYzcuNS0xMC41IDExLjktMjMuMyAxMS45LTM3LjJjMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRjMCAxMy45IDQuNCAyNi43IDExLjkgMzcuMkw5OC45IDQ2Ni44Yy03LjMgMTYuMS0uMiAzNS4xIDE1LjkgNDIuNHMzNS4xIC4yIDQyLjQtMTUuOUwxNzcuNyA0NDhsMjIwLjYgMCAyMC42IDQ1LjJjNy4zIDE2LjEgMjYuMyAyMy4yIDQyLjQgMTUuOXMyMy4yLTI2LjMgMTUuOS00Mi40TDM0MC4xIDE2NS4yek0zNjkuMiAzODRsLTE2Mi40IDAgMTQuNS0zMiAxMzMuMyAwIDE0LjUgMzJ6TTI4OCAyMDUuM0wzMjUuNiAyODhsLTc1LjIgMEwyODggMjA1LjN6TTE2My4zIDczLjZjNS4zLTEyLjEtLjItMjYuMy0xMi40LTMxLjZzLTI2LjMgLjItMzEuNiAxMi40QzEwOS41IDc3IDEwNCAxMDEuOSAxMDQgMTI4czUuNSA1MSAxNS4zIDczLjZjNS4zIDEyLjEgMTkuNSAxNy43IDMxLjYgMTIuNHMxNy43LTE5LjUgMTIuNC0zMS42QzE1NiAxNjUuOCAxNTIgMTQ3LjQgMTUyIDEyOHM0LTM3LjggMTEuMy01NC40ek00NTYuNyA1NC40Yy01LjMtMTIuMS0xOS41LTE3LjctMzEuNi0xMi40cy0xNy43IDE5LjUtMTIuNCAzMS42QzQyMCA5MC4yIDQyNCAxMDguNiA0MjQgMTI4cy00IDM3LjgtMTEuMyA1NC40Yy01LjMgMTIuMSAuMiAyNi4zIDEyLjQgMzEuNnMyNi4zLS4yIDMxLjYtMTIuNEM0NjYuNSAxNzkgNDcyIDE1NC4xIDQ3MiAxMjhzLTUuNS01MS0xNS4zLTczLjZ6XCJdXG59O1xuY29uc3QgZmFEb3duTG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb3duLWxvbmcnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImxvbmctYXJyb3ctYWx0LWRvd25cIl0sIFwiZjMwOVwiLCBcIk0yIDMzNC41Yy0zLjggOC44LTIgMTkgNC42IDI2bDEzNiAxNDRjNC41IDQuOCAxMC44IDcuNSAxNy40IDcuNXMxMi45LTIuNyAxNy40LTcuNWwxMzYtMTQ0YzYuNi03IDguNC0xNy4yIDQuNi0yNnMtMTIuNS0xNC41LTIyLTE0LjVsLTcyIDAgMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJMMTI4IDBDMTEwLjMgMCA5NiAxNC4zIDk2IDMybDAgMjg4LTcyIDBjLTkuNiAwLTE4LjIgNS43LTIyIDE0LjV6XCJdXG59O1xuY29uc3QgZmFMb25nQXJyb3dBbHREb3duID0gZmFEb3duTG9uZztcbmNvbnN0IGZhUmFua2luZ1N0YXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmFua2luZy1zdGFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTYxXCIsIFwiTTM1My44IDU0LjFMMzMwLjIgNi4zYy0zLjktOC4zLTE2LjEtOC42LTIwLjQgMEwyODYuMiA1NC4xbC01Mi4zIDcuNWMtOS4zIDEuNC0xMy4zIDEyLjktNi40IDE5LjhsMzggMzctOSA1Mi4xYy0xLjQgOS4zIDguMiAxNi41IDE2LjggMTIuMmw0Ni45LTI0LjggNDYuNiAyNC40YzguNiA0LjMgMTguMy0yLjkgMTYuOC0xMi4ybC05LTUyLjEgMzgtMzYuNmM2LjgtNi44IDIuOS0xOC4zLTYuNC0xOS44bC01Mi4zLTcuNXpNMjU2IDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwek0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyMHptNDE2IDk2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhQ2hlc3NLaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLWtpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODE4XSwgXCJmNDNmXCIsIFwiTTIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDQ4IDE1MiAwYzIyLjEgMCA0MCAxNy45IDQwIDQwYzAgNS4zLTEgMTAuNS0zLjEgMTUuNEwzNjggNDAwIDgwIDQwMCAzLjEgMjE1LjRDMSAyMTAuNSAwIDIwNS4zIDAgMjAwYzAtMjIuMSAxNy45LTQwIDQwLTQwbDE1MiAwIDAtNDgtMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtMTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTM4LjYgNDczLjRMODAgNDMybDI4OCAwIDQxLjQgNDEuNGM0LjIgNC4yIDYuNiAxMCA2LjYgMTZjMCAxMi41LTEwLjEgMjIuNi0yMi42IDIyLjZMNTQuNiA1MTJDNDIuMSA1MTIgMzIgNTAxLjkgMzIgNDg5LjRjMC02IDIuNC0xMS44IDYuNi0xNnpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkhhcmFzc2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24taGFyYXNzaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQ5XCIsIFwiTTE5MiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTU5LjQgMzA0LjVMODggMjU2LjkgODggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQ0LjcgNDcuNCA1Ny4xYzExLjMgMTMuNiAzMS41IDE1LjUgNDUuMSA0LjJzMTUuNS0zMS41IDQuMi00NS4xbC03My43LTg4LjljLTE4LjItMjItNDUuMy0zNC43LTczLjktMzQuN2wtMzUuOSAwYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOXpNNDgwIDI0MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NjQgMzQ0bDAgNTguNy00MS40LTQxLjRjLTcuMy03LjMtMTcuNi0xMC42LTI3LjgtOXMtMTguOSA4LjEtMjMuNSAxNy4zbC00OCA5NmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zTDQwOC44IDQzOGw1NC43IDU0LjdjMTIuNCAxMi40IDI5LjEgMTkuMyA0Ni42IDE5LjNjMzYuNCAwIDY1LjktMjkuNSA2NS45LTY1LjlMNTc2IDM0NGMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NnpNMjg4IDQ4YzAgOC44IDcuMiAxNiAxNiAxNmw1NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bS0uOCA0OS43Yy03LjktNC0xNy41LS43LTIxLjUgNy4ycy0uNyAxNy41IDcuMiAyMS41bDQ4IDI0YzcuOSA0IDE3LjUgLjcgMjEuNS03LjJzLjctMTcuNS03LjItMjEuNWwtNDgtMjR6XCJdXG59O1xuY29uc3QgZmFCcmF6aWxpYW5SZWFsU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmF6aWxpYW4tcmVhbC1zaWduJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNDZjXCIsIFwiTTQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTguMmMxMi41IDIuMyAyNC43IDYuNCAzNi4yIDEyLjFsMTAuMSA1LjFjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM2wtMTAuMi01LjFjLTkuOS01LTIwLjktNy41LTMyLTcuNWwtMS43IDBjLTI5LjggMC01My45IDI0LjEtNTMuOSA1My45YzAgMjIgMTMuNCA0MS44IDMzLjkgNTBsNTIgMjAuOGM0NC43IDE3LjkgNzQuMSA2MS4yIDc0LjEgMTA5LjRsMCAzLjRjMCA1MS4yLTMzLjYgOTQuNi04MCAxMDkuMmwwIDIxLjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOS40Yy0xNS0zLjUtMjkuNC05LjctNDIuMy0xOC4zbC0yMy40LTE1LjZjLTE0LjctOS44LTE4LjctMjkuNy04LjktNDQuNHMyOS43LTE4LjcgNDQuNC04LjlMMzYxLjIgMzg5YzEwLjggNy4yIDIzLjQgMTEgMzYuMyAxMWMyNy45IDAgNTAuNS0yMi42IDUwLjUtNTAuNWwwLTMuNGMwLTIyLTEzLjQtNDEuOC0zMy45LTUwbC01Mi0yMC44QzMxNy4zIDI1Ny40IDI4OCAyMTQuMSAyODggMTY1LjlDMjg4IDExNCAzMjEuNSA3MCAzNjggNTQuMkwzNjggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsODAgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGMwIDU4LjgtMzUuMiAxMDkuMy04NS43IDEzMS43bDUxLjQgMTI4LjRjNi42IDE2LjQtMS40IDM1LTE3LjggNDEuNnMtMzUtMS40LTQxLjYtMTcuOEwxMDYuMyAzMjAgNjQgMzIwbDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDAgMjg4IDAgNjR6TTY0IDI1Nmw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwTDY0IDk2bDAgMTYwelwiXVxufTtcbmNvbnN0IGZhTGFuZG1hcmtEb21lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhbmRtYXJrLWRvbWUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxhbmRtYXJrLWFsdFwiXSwgXCJmNzUyXCIsIFwiTTI0OCAwbDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMC43QzM2OC40IDQ4LjEgNDMxLjkgMTExLjYgNDQ1LjMgMTkybDIuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyLjcgMEM4MC4xIDExMS42IDE0My42IDQ4LjEgMjI0IDM0LjdMMjI0IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0ek02NCAyODhsNjQgMCAwIDEyOCA0MCAwIDAtMTI4IDY0IDAgMCAxMjggNDggMCAwLTEyOCA2NCAwIDAgMTI4IDQwIDAgMC0xMjggNjQgMCAwIDEzMi4zYy42IC4zIDEuMiAuNyAxLjggMS4xbDQ4IDMyYzExLjcgNy44IDE3IDIyLjQgMTIuOSAzNS45UzQ5NC4xIDUxMiA0ODAgNTEyTDMyIDUxMmMtMTQuMSAwLTI2LjUtOS4yLTMwLjYtMjIuN3MxLjEtMjguMSAxMi45LTM1LjlsNDgtMzJjLjYtLjQgMS4yLS43IDEuOC0xLjFMNjQgMjg4elwiXVxufTtcbmNvbnN0IGZhTGFuZG1hcmtBbHQgPSBmYUxhbmRtYXJrRG9tZTtcbmNvbnN0IGZhQXJyb3dVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cCcsXG4gIGljb246IFszODQsIDUxMiwgWzg1OTNdLCBcImYwNjJcIiwgXCJNMjE0LjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDE0MS4yIDE2MCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43TDMyOS40IDI0Ni42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6XCJdXG59O1xuY29uc3QgZmFUdiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0dicsXG4gIGljb246IFs2NDAsIDUxMiwgWzYzNzE3LCBcInRlbGV2aXNpb25cIiwgXCJ0di1hbHRcIl0sIFwiZjI2Y1wiLCBcIk02NCA2NGwwIDI4OCA1MTIgMCAwLTI4OEw2NCA2NHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMNTc2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDE2Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0xMjggNDQ4bDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zODQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVRlbGV2aXNpb24gPSBmYVR2O1xuY29uc3QgZmFUdkFsdCA9IGZhVHY7XG5jb25zdCBmYVNocmltcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaHJpbXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk0MjRdLCBcImU0NDhcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NnMyOC43IDY0IDY0IDY0bDEgMGMzLjcgODguOSA3NyAxNjAgMTY3IDE2MGw1NiAwIDAtMTkyLTI0IDBMODguOCAxMjggNjQgMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQwMCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDY0IDMyek0yMjQgNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDcyIDAgMC03Mi4yLTY0LjEtMjIuNGMtMTIuNS00LjQtMjYuMiAyLjItMzAuNiAxNC43czIuMiAyNi4yIDE0LjcgMzAuNmw0LjUgMS42QzIzMyA0MzMuOSAyMjQgNDQzLjkgMjI0IDQ1NnptMTI4IDIzLjNjMzYuNC0zLjMgNjkuNS0xNy42IDk2LjEtMzkuNmwtODYuNS0zNC42Yy0zIDEuOC02LjIgMy4yLTkuNiA0LjNsMCA2OS45ek00NzIuNiA0MTVjMjQuNi0zMC4zIDM5LjQtNjguOSAzOS40LTExMWMwLTEyLjMtMS4zLTI0LjMtMy43LTM1LjlMMzgyLjggMzU1LjFjLjggMy40IDEuMiA3IDEuMiAxMC42YzAgNC42LS43IDktMS45IDEzLjFMNDcyLjYgNDE1ek0zMzYgMTI4bC0xNiAwIDAgMTkyIDE4LjMgMGM5LjkgMCAxOS4xIDMuMiAyNi42IDguNWwxMzMuNS05Mi40QzQ3MS44IDE3Mi42IDQwOS4xIDEyOCAzMzYgMTI4ek0xNjggMTkyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFMaXN0Q2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlzdC1jaGVjaycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGFza3NcIl0sIFwiZjBhZVwiLCBcIk0xNTIuMSAzOC4yYzkuOSA4LjkgMTAuNyAyNCAxLjggMzMuOWwtNzIgODBjLTQuNCA0LjktMTAuNiA3LjgtMTcuMiA3LjlzLTEyLjktMi40LTE3LjYtN0w3IDExM0MtMi4zIDEwMy42LTIuMyA4OC40IDcgNzlzMjQuNi05LjQgMzMuOSAwbDIyLjEgMjIuMSA1NS4xLTYxLjJjOC45LTkuOSAyNC0xMC43IDMzLjktMS44em0wIDE2MGM5LjkgOC45IDEwLjcgMjQgMS44IDMzLjlsLTcyIDgwYy00LjQgNC45LTEwLjYgNy44LTE3LjIgNy45cy0xMi45LTIuNC0xNy42LTdMNyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyMi4xIDIyLjEgNTUuMS02MS4yYzguOS05LjkgMjQtMTAuNyAzMy45LTEuOHpNMjI0IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2MCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI4OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDggMzY4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG5jb25zdCBmYVRhc2tzID0gZmFMaXN0Q2hlY2s7XG5jb25zdCBmYUp1Z0RldGVyZ2VudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqdWctZGV0ZXJnZW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNTE5XCIsIFwiTTk2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggOTZDNzQuNyA5NiA2NCA4NS4zIDY0IDcyczEwLjctMjQgMjQtMjRsOCAwIDAtMjR6TTAgMjU2YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4bDEyOCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyNTZ6bTI1NiAwbDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtdXNlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMTQyLCBcInVzZXItY2lyY2xlXCJdLCBcImYyYmRcIiwgXCJNMzk5IDM4NC4yQzM3Ni45IDM0NS44IDMzNS40IDMyMCAyODggMzIwbC02NCAwYy00Ny40IDAtODguOSAyNS44LTExMSA2NC4yYzM1LjIgMzkuMiA4Ni4yIDYzLjggMTQzIDYzLjhzMTA3LjgtMjQuNyAxNDMtNjMuOHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0yNTYgMTZhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6XCJdXG59O1xuY29uc3QgZmFVc2VyQ2lyY2xlID0gZmFDaXJjbGVVc2VyO1xuY29uc3QgZmFVc2VyU2hpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItc2hpZWxkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTA1XCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMmwzODguNiAwYzEuOCAwIDMuNS0uMiA1LjMtLjVjLTc2LjMtNTUuMS05OS44LTE0MS0xMDMuMS0yMDAuMmMtMTYuMS00LjgtMzMuMS03LjMtNTAuNy03LjNsLTkxLjQgMHptMzA4LjgtNzguM2wtMTIwIDQ4QzM1OCAyNzcuNCAzNTIgMjg2LjIgMzUyIDI5NmMwIDYzLjMgMjUuOSAxNjguOCAxMzQuOCAyMTQuMmM1LjkgMi41IDEyLjYgMi41IDE4LjUgMEM2MTQuMSA0NjQuOCA2NDAgMzU5LjMgNjQwIDI5NmMwLTkuOC02LTE4LjYtMTUuMS0yMi4zbC0xMjAtNDhjLTUuNy0yLjMtMTIuMS0yLjMtMTcuOCAwek01OTEuNCAzMTJjLTMuOSA1MC43LTI3LjIgMTE2LjctOTUuNCAxNDkuN2wwLTE4Ny44TDU5MS40IDMxMnpcIl1cbn07XG5jb25zdCBmYVdpbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjcyZVwiLCBcIk0yODggMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem02NCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NkwzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xMjggNTEybDMyIDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZMMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhQ2FyQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyLWJ1cnN0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJjYXItY3Jhc2hcIl0sIFwiZjVlMVwiLCBcIk0xNzYgOGMtNi42IDAtMTIuNCA0LTE0LjkgMTAuMWwtMjkuNCA3NEw1NS42IDY4LjljLTYuMy0xLjktMTMuMSAuMi0xNy4yIDUuM3MtNC42IDEyLjItMS40IDE3LjlsMzkuNSA2OS4xTDEwLjkgMjA2LjRjLTUuNCAzLjctOCAxMC4zLTYuNSAxNi43czYuNyAxMS4yIDEzLjEgMTIuMmw3OC43IDEyLjJMOTAuNiAzMjdjLS41IDYuNSAzLjEgMTIuNyA5IDE1LjVzMTIuOSAxLjggMTcuOC0yLjZsMzUuMy0zMi41IDkuNS0zNS40IDEwLjQtMzguNmM4LTI5LjkgMzAuNS01Mi4xIDU3LjktNjAuOWw0MS01OS4yYzExLjMtMTYuMyAyNi40LTI4LjkgNDMuNS0zNy4yYy0uNC0uNi0uOC0xLjItMS4zLTEuOGMtNC4xLTUuMS0xMC45LTcuMi0xNy4yLTUuM0wyMjAuMyA5Mi4xbC0yOS40LTc0QzE4OC40IDEyIDE4Mi42IDggMTc2IDh6TTM2Ny43IDE2MS41bDEzNS42IDM2LjNjNi41IDEuOCAxMS4zIDcuNCAxMS44IDE0LjJsNC42IDU2LjUtMjAxLjUtNTQgMzIuMi00Ni42YzMuOC01LjYgMTAuOC04LjEgMTcuMy02LjR6bS02OS45LTMwbC00Ny45IDY5LjNjLTIxLjYgMy00MC4zIDE4LjYtNDYuMyA0MWwtMTAuNCAzOC42LTE2LjYgNjEuOC04LjMgMzAuOWMtNC42IDE3LjEgNS42IDM0LjYgMjIuNiAzOS4ybDE1LjUgNC4xYzE3LjEgNC42IDM0LjYtNS42IDM5LjItMjIuNmw4LjMtMzAuOSAyNDcuMyA2Ni4zLTguMyAzMC45Yy00LjYgMTcuMSA1LjYgMzQuNiAyMi42IDM5LjJsMTUuNSA0LjFjMTcuMSA0LjYgMzQuNi01LjYgMzkuMi0yMi42bDguMy0zMC45TDU5NSAzODhsMTAuNC0zOC42YzYtMjIuNC0yLjUtNDUuMi0xOS42LTU4LjdsLTYuOC04NGMtMi43LTMzLjctMjYuNC02Mi01OS03MC44TDM4NC4yIDk5LjdjLTMyLjctOC44LTY3LjMgNC04Ni41IDMxLjh6bS0xNyAxMzFhMjQgMjQgMCAxIDEgLTEyLjQgNDYuNCAyNCAyNCAwIDEgMSAxMi40LTQ2LjR6bTIxNy45IDgzLjJBMjQgMjQgMCAxIDEgNTQ1IDM1OC4xYTI0IDI0IDAgMSAxIC00Ni40LTEyLjR6XCJdXG59O1xuY29uc3QgZmFDYXJDcmFzaCA9IGZhQ2FyQnVyc3Q7XG5jb25zdCBmYVkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneScsXG4gIGljb246IFszODQsIDUxMiwgWzEyMV0sIFwiNTlcIiwgXCJNNTggNDUuNEM0Ny44IDMxIDI3LjggMjcuNyAxMy40IDM4Uy00LjMgNjguMiA2IDgyLjZMMTYwIDI5OC4zIDE2MCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE0OS43TDM3OCA4Mi42YzEwLjMtMTQuNCA2LjktMzQuNC03LjQtNDQuNlMzMzYuMiAzMSAzMjYgNDUuNEwxOTIgMjMyLjkgNTggNDUuNHpcIl1cbn07XG5jb25zdCBmYVBlcnNvblNub3dib2FyZGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tc25vd2JvYXJkaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTM4LCBcInNub3dib2FyZGluZ1wiXSwgXCJmN2NlXCIsIFwiTTIwOS43IDMuNGMxNS44LTcuOSAzNS0xLjUgNDIuOSAxNC4zbDI1IDUwIDQyLjQgOC41YzE5LjUgMy45IDM3LjggMTIuMyA1My41IDI0LjVsMTI2LjEgOTguMWMxNCAxMC45IDE2LjUgMzEgNS42IDQ0LjlzLTMxIDE2LjUtNDQuOSA1LjZsLTcyLjEtNTYuMS03MS41IDMxLjggMzMuMSAyNy42YzIzLjIgMTkuMyAzMy41IDUwIDI2LjcgNzkuNGwtMTcuNCA3NS4yYy0yLjIgOS40LTguMiAxNi44LTE2LjEgMjFsODYuNSAzMy4xYzQuNiAxLjggOS40IDIuNiAxNC4zIDIuNmwyOC4yIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI4LjIgMGMtMTAuOCAwLTIxLjQtMi0zMS41LTUuOEw2MC4xIDM3MS4zYy0xMS41LTQuNC0yMi0xMS4yLTMwLjgtMjBMNyAzMjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyMi40IDIyLjRjNCA0IDguNyA3LjEgMTQgOS4xbDIyLjQgOC42Yy0uOC0xLjYtMS41LTMuMi0yLjEtNC45Yy01LjYtMTYuOCAzLjUtMzQuOSAyMC4yLTQwLjVMMTkyIDI2NC45bDAtNTMuMmMwLTI0LjIgMTMuNy00Ni40IDM1LjQtNTcuMmw0NS4yLTIyLjYtNy41LTEuNWMtMTkuNC0zLjktMzUuOS0xNi41LTQ0LjctMzQuMWwtMjUtNTBjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjl6TTEzOSAzNTAuMWwxNTkgNjAuOWMtMi4xLTUuNi0yLjYtMTEuOS0xLjEtMTguMmwxNy40LTc1LjJjMS40LTUuOS0uNy0xMi01LjMtMTUuOWwtNTIuOC00NCAwIDE4LjhjMCAyMC43LTEzLjIgMzktMzIuOCA0NS41TDEzOSAzNTAuMXpNNDMyIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbmNvbnN0IGZhU25vd2JvYXJkaW5nID0gZmFQZXJzb25Tbm93Ym9hcmRpbmc7XG5jb25zdCBmYVRydWNrRmFzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1mYXN0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJzaGlwcGluZy1mYXN0XCJdLCBcImY0OGJcIiwgXCJNMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCA0OEwxNiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDIwOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDY0IDE2MGwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxNiAwIDE3NiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDY0IDIyNGwtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDE0NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDY0IDI4OGwwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDEyOCAwYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTY0IDAtMzIgMC0xOC43YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDUxMiAxMTQuN2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0w0MTYgOTZsMC00OGMwLTI2LjUtMjEuNS00OC00OC00OEwxMTIgMHpNNTQ0IDIzNy4zbDAgMTguNy0xMjggMCAwLTk2IDUwLjcgMEw1NDQgMjM3LjN6TTE2MCAzNjhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0yNzIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpcIl1cbn07XG5jb25zdCBmYVNoaXBwaW5nRmFzdCA9IGZhVHJ1Y2tGYXN0O1xuY29uc3QgZmFGaXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Zpc2gnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMzFdLCBcImY1NzhcIiwgXCJNMTgwLjUgMTQxLjVDMjE5LjcgMTA4LjUgMjcyLjYgODAgMzM2IDgwczExNi4zIDI4LjUgMTU1LjUgNjEuNWMzOS4xIDMzIDY2LjkgNzIuNCA4MSA5OS44YzQuNyA5LjIgNC43IDIwLjEgMCAyOS4zYy0xNC4xIDI3LjQtNDEuOSA2Ni44LTgxIDk5LjhDNDUyLjMgNDAzLjUgMzk5LjQgNDMyIDMzNiA0MzJzLTExNi4zLTI4LjUtMTU1LjUtNjEuNWMtMTYuMi0xMy43LTMwLjUtMjguNS00Mi43LTQzLjFMNDguMSAzNzkuNmMtMTIuNSA3LjMtMjguNCA1LjMtMzguNy00LjlTLTMgMzQ4LjcgNC4yIDMzNi4xTDUwIDI1NiA0LjIgMTc1LjljLTcuMi0xMi42LTUtMjguNCA1LjMtMzguNnMyNi4xLTEyLjIgMzguNy00LjlsODkuNyA1Mi4zYzEyLjItMTQuNiAyNi41LTI5LjQgNDIuNy00My4xek00NDggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFVc2VyR3JhZHVhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1ncmFkdWF0ZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUwMVwiLCBcIk0yMTkuMyAuNWMzLjEtLjYgNi4zLS42IDkuNCAwbDIwMCA0MEM0MzkuOSA0Mi43IDQ0OCA1Mi42IDQ0OCA2NHMtOC4xIDIxLjMtMTkuMyAyMy41TDM1MiAxMDIuOWwwIDU3LjFjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhzLTEyOC01Ny4zLTEyOC0xMjhsMC01Ny4xTDQ4IDkzLjNsMCA2NS4xIDE1LjcgNzguNGMuOSA0LjctLjMgOS42LTMuMyAxMy4zcy03LjYgNS45LTEyLjQgNS45bC0zMiAwYy00LjggMC05LjMtMi4xLTEyLjQtNS45cy00LjMtOC42LTMuMy0xMy4zTDE2IDE1OC40bDAtNzEuOEM2LjUgODMuMyAwIDc0LjMgMCA2NEMwIDUyLjYgOC4xIDQyLjcgMTkuMyA0MC41bDIwMC00MHpNMTExLjkgMzI3LjdjMTAuNS0zLjQgMjEuOCAuNCAyOS40IDguNWw3MSA3NS41YzYuMyA2LjcgMTcgNi43IDIzLjMgMGw3MS03NS41YzcuNi04LjEgMTguOS0xMS45IDI5LjQtOC41QzQwMSAzNDguNiA0NDggNDA5LjQgNDQ4IDQ4MS4zYzAgMTctMTMuOCAzMC43LTMwLjcgMzAuN0wzMC43IDUxMkMxMy44IDUxMiAwIDQ5OC4yIDAgNDgxLjNjMC03MS45IDQ3LTEzMi43IDExMS45LTE1My42elwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlSGFsZlN0cm9rZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtaGFsZi1zdHJva2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NjgwLCBcImFkanVzdFwiXSwgXCJmMDQyXCIsIFwiTTQ0OCAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJsMCAzODRjMTA2IDAgMTkyLTg2IDE5Mi0xOTJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG5jb25zdCBmYUFkanVzdCA9IGZhQ2lyY2xlSGFsZlN0cm9rZTtcbmNvbnN0IGZhQ2xhcHBlcmJvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsYXBwZXJib2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTEzMVwiLCBcIk00NDggMzJsLTg2LjEgMC0xIDEtMTI3IDEyNyA5Mi4xIDAgMS0xTDQ1My44IDMyLjNjLTEuOS0uMi0zLjgtLjMtNS44LS4zem02NCAxMjhsMC02NGMwLTE1LjEtNS4zLTI5LjEtMTQtNDBsLTEwNCAxMDRMNTEyIDE2MHpNMjk0LjEgMzJsLTkyLjEgMC0xIDFMNzMuOSAxNjBsOTIuMSAwIDEtMSAxMjctMTI3ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgNjQgNi4xIDAgMS0xIDEyNy0xMjdMNjQgMzJ6TTUxMiAxOTJMMCAxOTIgMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjR6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVSYWRpYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXJhZGlhdGlvbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3NjIsIFwicmFkaWF0aW9uLWFsdFwiXSwgXCJmN2JhXCIsIFwiTTI1NiA2NGExOTIgMTkyIDAgMSAxIDAgMzg0IDE5MiAxOTIgMCAxIDEgMC0zODR6bTAgNDQ4QTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjAwIDI1NmMwLTIwLjcgMTEuMy0zOC44IDI4LTQ4LjVsLTM2LTYyLjNjLTguOC0xNS4zLTI4LjctMjAuOC00Mi05Yy0yNS42IDIyLjYtNDMuOSA1My4zLTUwLjkgODguMUM5NS43IDI0MS41IDExMC4zIDI1NiAxMjggMjU2bDcyIDB6bTI4IDQ4LjVsLTM2IDYyLjRjLTguOCAxNS4zLTMuNiAzNS4yIDEzLjEgNDAuOGMxNiA1LjQgMzMuMSA4LjMgNTAuOSA4LjNzMzQuOS0yLjkgNTAuOS04LjNjMTYuNy01LjYgMjEuOS0yNS41IDEzLjEtNDAuOGwtMzYtNjIuNGMtOC4yIDQuOC0xNy44IDcuNS0yOCA3LjVzLTE5LjgtMi43LTI4LTcuNXpNMzEyIDI1Nmw3MiAwYzE3LjcgMCAzMi4zLTE0LjUgMjguOC0zMS44Yy03LTM0LjgtMjUuMy02NS41LTUwLjktODguMWMtMTMuMi0xMS43LTMzLjEtNi4zLTQyIDlsLTM2IDYyLjNjMTYuNyA5LjcgMjggMjcuOCAyOCA0OC41em0tNTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhUmFkaWF0aW9uQWx0ID0gZmFDaXJjbGVSYWRpYXRpb247XG5jb25zdCBmYUJhc2ViYWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jhc2ViYWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzU4LCA5OTE4LCBcImJhc2ViYWxsLWJhbGxcIl0sIFwiZjQzM1wiLCBcIk02Mi43IDIyMy40Yy00LjggLjQtOS43IC42LTE0LjcgLjZjLTE1LjYgMC0zMC44LTItNDUuMi01LjlDMTkuMiAxMDcuMSAxMDcuMSAxOS4yIDIxOC4xIDIuOEMyMjIgMTcuMiAyMjQgMzIuNCAyMjQgNDhjMCA0LjktLjIgOS44LS42IDE0LjdjLS43IDguOCA1LjggMTYuNSAxNC42IDE3LjNzMTYuNS01LjggMTcuMy0xNC42Yy41LTUuNyAuNy0xMS41IC43LTE3LjNjMC0xNi41LTEuOS0zMi42LTUuNi00Ny45YzEuOCAwIDMuNy0uMSA1LjYtLjFDMzk3LjQgMCA1MTIgMTE0LjYgNTEyIDI1NmMwIDEuOSAwIDMuNy0uMSA1LjZjLTE1LjQtMy42LTMxLjQtNS42LTQ3LjktNS42Yy01LjggMC0xMS42IC4yLTE3LjMgLjdjLTguOCAuNy0xNS40IDguNS0xNC42IDE3LjNzOC41IDE1LjQgMTcuMyAxNC42YzQuOC0uNCA5LjctLjYgMTQuNy0uNmMxNS42IDAgMzAuOCAyIDQ1LjIgNS45QzQ5Mi44IDQwNC45IDQwNC45IDQ5Mi44IDI5My45IDUwOS4yQzI5MCA0OTQuOCAyODggNDc5LjYgMjg4IDQ2NGMwLTQuOSAuMi05LjggLjYtMTQuN2MuNy04LjgtNS44LTE2LjUtMTQuNi0xNy4zcy0xNi41IDUuOC0xNy4zIDE0LjZjLS41IDUuNy0uNyAxMS41LS43IDE3LjNjMCAxNi41IDEuOSAzMi42IDUuNiA0Ny45Yy0xLjggMC0zLjcgLjEtNS42IC4xQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2YzAtMS45IDAtMy43IC4xLTUuNkMxNS40IDI1NC4xIDMxLjUgMjU2IDQ4IDI1NmM1LjggMCAxMS42LS4yIDE3LjMtLjdjOC44LS43IDE1LjQtOC41IDE0LjYtMTcuM3MtOC41LTE1LjQtMTcuMy0xNC42ek0xMjEuMyAyMDhjLTggMy43LTExLjYgMTMuMi03LjkgMjEuMnMxMy4yIDExLjYgMjEuMiA3LjljNDUuMi0yMC44IDgxLjctNTcuMiAxMDIuNS0xMDIuNWMzLjctOCAuMi0xNy41LTcuOS0yMS4ycy0xNy41LS4yLTIxLjIgNy45Yy0xNy42IDM4LjMtNDguNSA2OS4yLTg2LjcgODYuN3ptMjc3LjIgNzQuN2MtMy43LTgtMTMuMi0xMS42LTIxLjItNy45Yy00NS4yIDIwLjgtODEuNyA1Ny4yLTEwMi41IDEwMi41Yy0zLjcgOC0uMiAxNy41IDcuOSAyMS4yczE3LjUgLjIgMjEuMi03LjljMTcuNi0zOC4zIDQ4LjUtNjkuMiA4Ni43LTg2LjdjOC0zLjcgMTEuNi0xMy4yIDcuOS0yMS4yelwiXVxufTtcbmNvbnN0IGZhQmFzZWJhbGxCYWxsID0gZmFCYXNlYmFsbDtcbmNvbnN0IGZhSmV0RmlnaHRlclVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2pldC1maWdodGVyLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTE4XCIsIFwiTTI3MC43IDkuN0MyNjguMiAzLjggMjYyLjQgMCAyNTYgMHMtMTIuMiAzLjgtMTQuNyA5LjdMMTk3LjIgMTEyLjZjLTMuNCA4LTUuMiAxNi41LTUuMiAyNS4ybDAgNzctMTQ0IDg0TDQ4IDI4MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDU2IDAgMzIgMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOCAxNDQgMCAwIDMyLjdMMTMzLjUgNDY4Yy0zLjUgMy01LjUgNy40LTUuNSAxMmwwIDE2YzAgOC44IDcuMiAxNiAxNiAxNmw5NiAwIDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDY0IDk2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC00LjYtMi05LTUuNS0xMkwzMjAgNDE2LjdsMC0zMi43IDE0NCAwIDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjQgMC0zMiAwLTU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTguOC0xNDQtODQgMC03N2MwLTguNy0xLjgtMTcuMi01LjItMjUuMkwyNzAuNyA5Ljd6XCJdXG59O1xuY29uc3QgZmFEaWFncmFtUHJvamVjdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWFncmFtLXByb2plY3QnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInByb2plY3QtZGlhZ3JhbVwiXSwgXCJmNTQyXCIsIFwiTTAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2IDE5MiAwIDAtMTZjMC0yNi41IDIxLjUtNDggNDgtNDhsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2LTE5MiAwIDAgMTZjMCAxLjctLjEgMy40LS4zIDVMMjcyIDI4OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0xLjcgLjEtMy40IC4zLTVMMTQ0IDIyNGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MHpcIl1cbn07XG5jb25zdCBmYVByb2plY3REaWFncmFtID0gZmFEaWFncmFtUHJvamVjdDtcbmNvbnN0IGZhQ29weSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb3B5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMGM1XCIsIFwiTTIwOCAwTDMzMi4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMWw2Ny45IDY3LjljOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlMNDQ4IDMzNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjg4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4ek00OCAxMjhsODAgMCAwIDY0LTY0IDAgMCAyNTYgMTkyIDAgMC0zMiA2NCAwIDAgNDhjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE3NmMwLTI2LjUgMjEuNS00OCA0OC00OHpcIl1cbn07XG5jb25zdCBmYVZvbHVtZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbHVtZS14bWFyaycsXG4gIGljb246IFs1NzYsIDUxMiwgW1widm9sdW1lLW11dGVcIiwgXCJ2b2x1bWUtdGltZXNcIl0sIFwiZjZhOVwiLCBcIk0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NGwwIDM4NGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1MiA2NCAzNTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjcuOCAwTDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6TTQyNSAxNjdsNTUgNTUgNTUtNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC01NSA1NSA1NSA1NWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC01NS01NS01NSA1NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1NS01NS01NS01NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhVm9sdW1lTXV0ZSA9IGZhVm9sdW1lWG1hcms7XG5jb25zdCBmYVZvbHVtZVRpbWVzID0gZmFWb2x1bWVYbWFyaztcbmNvbnN0IGZhSGFuZFNwYXJrbGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtc3BhcmtsZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNWRcIiwgXCJNMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTE3NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0xMTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE5NS4xYy0xMS45IDQuOC0yMS4zIDE0LjktMjUgMjcuOGwtOC45IDMxLjJMNDc4LjkgMzkxQzQ2MC42IDM5Ni4zIDQ0OCA0MTMgNDQ4IDQzMmMwIDE4LjkgMTIuNSAzNS42IDMwLjYgNDAuOUM0NDguNCA0OTcuNCA0MDkuOSA1MTIgMzY4IDUxMmwtMTkuMiAwYy01OS42IDAtMTE2LjktMjIuOS0xNjAtNjRMNzYuNCAzNDFjLTE2LTE1LjItMTYuNi00MC42LTEuNC01Ni42czQwLjYtMTYuNiA1Ni42LTEuNGw2MC41IDU3LjZjMC0xLjUtLjEtMy4xLS4xLTQuNmwwLTI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS03LjMgMzI2LjZjLTEuMS0zLjktNC43LTYuNi04LjctNi42cy03LjYgMi43LTguNyA2LjZMMjg4IDM1MmwtMjUuNCA3LjNjLTMuOSAxLjEtNi42IDQuNy02LjYgOC43czIuNyA3LjYgNi42IDguN0wyODggMzg0bDcuMyAyNS40YzEuMSAzLjkgNC43IDYuNiA4LjcgNi42czcuNi0yLjcgOC43LTYuNkwzMjAgMzg0bDI1LjQtNy4zYzMuOS0xLjEgNi42LTQuNyA2LjYtOC43cy0yLjctNy42LTYuNi04LjdMMzIwIDM1MmwtNy4zLTI1LjR6TTEwNCAxMjBsNDguMyAxMy44YzQuNiAxLjMgNy43IDUuNSA3LjcgMTAuMnMtMy4xIDguOS03LjcgMTAuMkwxMDQgMTY4IDkwLjIgMjE2LjNjLTEuMyA0LjYtNS41IDcuNy0xMC4yIDcuN3MtOC45LTMuMS0xMC4yLTcuN0w1NiAxNjggNy43IDE1NC4yQzMuMSAxNTIuOSAwIDE0OC43IDAgMTQ0czMuMS04LjkgNy43LTEwLjJMNTYgMTIwIDY5LjggNzEuN0M3MS4xIDY3LjEgNzUuMyA2NCA4MCA2NHM4LjkgMy4xIDEwLjIgNy43TDEwNCAxMjB6TTU4NCA0MDhsNDguMyAxMy44YzQuNiAxLjMgNy43IDUuNSA3LjcgMTAuMnMtMy4xIDguOS03LjcgMTAuMkw1ODQgNDU2bC0xMy44IDQ4LjNjLTEuMyA0LjYtNS41IDcuNy0xMC4yIDcuN3MtOC45LTMuMS0xMC4yLTcuN0w1MzYgNDU2bC00OC4zLTEzLjhjLTQuNi0xLjMtNy43LTUuNS03LjctMTAuMnMzLjEtOC45IDcuNy0xMC4yTDUzNiA0MDhsMTMuOC00OC4zYzEuMy00LjYgNS41LTcuNyAxMC4yLTcuN3M4LjkgMy4xIDEwLjIgNy43TDU4NCA0MDh6XCJdXG59O1xuY29uc3QgZmFHcmlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImdyaXAtaG9yaXpvbnRhbFwiXSwgXCJmNThkXCIsIFwiTTEyOCAxMzZjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgOTZDMTcuOSA5NiAwIDExMy45IDAgMTM2bDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4em0wIDE5MmMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6bTMyLTE5MmwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OGMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6TTI4OCAzMjhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4em0zMi0xOTJsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwek00NDggMzI4YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHpcIl1cbn07XG5jb25zdCBmYUdyaXBIb3Jpem9udGFsID0gZmFHcmlwO1xuY29uc3QgZmFTaGFyZUZyb21TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUtZnJvbS1zcXVhcmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs2MTUwOSwgXCJzaGFyZS1zcXVhcmVcIl0sIFwiZjE0ZFwiLCBcIk0zNTIgMjI0bC00Ni41IDBjLTQ1IDAtODEuNSAzNi41LTgxLjUgODEuNWMwIDIyLjMgMTAuMyAzNC4zIDE5LjIgNDAuNWM2LjggNC43IDEyLjggMTIgMTIuOCAyMC4zYzAgOS44LTggMTcuOC0xNy44IDE3LjhsLTIuNSAwYy0yLjQgMC00LjgtLjQtNy4xLTEuNEMyMTAuOCAzNzQuOCAxMjggMzMzLjQgMTI4IDI0MGMwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NGw4MCAwIDAtNjEuM0MzNTIgMTUuNSAzNjcuNSAwIDM4Ni43IDBjOC42IDAgMTYuOCAzLjIgMjMuMiA4LjlMNTQ4LjEgMTMzLjNjNy42IDYuOCAxMS45IDE2LjUgMTEuOSAyNi43cy00LjMgMTkuOS0xMS45IDI2LjdsLTEzOSAxMjUuMWMtNS45IDUuMy0xMy41IDguMi0yMS40IDguMmwtMy43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6TTgwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OGMwIDQ0LjItMzUuOCA4MC04MCA4MEw4MCA1MTJjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgMTEyQzAgNjcuOCAzNS44IDMyIDgwIDMybDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMODAgOTZ6XCJdXG59O1xuY29uc3QgZmFTaGFyZVNxdWFyZSA9IGZhU2hhcmVGcm9tU3F1YXJlO1xuY29uc3QgZmFDaGlsZENvbWJhdGFudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGlsZC1jb21iYXRhbnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImNoaWxkLXJpZmxlXCJdLCBcImU0ZTBcIiwgXCJNMTc2IDEyOEE2NCA2NCAwIDEgMCAxNzYgMGE2NCA2NCAwIDEgMCAwIDEyOHptLTggMzUybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE3OS41TDI2MC45IDMyMWM5LjQgMTUgMjkuMiAxOS40IDQ0LjEgMTBzMTkuNC0yOS4yIDEwLTQ0LjFsLTUxLjctODIuMWMtMTcuNi0yNy45LTQ4LjMtNDQuOS04MS4yLTQ0LjlsLTEyLjMgMGMtMzMgMC02My43IDE2LjktODEuMiA0NC45TDM2LjkgMjg3Yy05LjQgMTUtNC45IDM0LjcgMTAgNDQuMXMzNC43IDQuOSA0NC4xLTEwTDEwNCAzMDAuNSAxMDQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6TTQ0OCAwTDQzMiAwIDQxNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDAgMTAwLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTQ0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNTkuNSAwYzEwLjQgMCAxOC05LjggMTUuNS0xOS45TDQ4NCA0MDBsNDQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC0yNi43IDUzLjEtMTcuN2M2LjUtMi4yIDEwLjktOC4zIDEwLjktMTUuMmwwLTg0LjVjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA1Ni0xNiA1LjNMNDgwIDE2MGMwLTExLjgtNi40LTIyLjItMTYtMjcuN0w0NjQgMTZjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbmNvbnN0IGZhQ2hpbGRSaWZsZSA9IGZhQ2hpbGRDb21iYXRhbnQ7XG5jb25zdCBmYUd1biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdndW4nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUxOWJcIiwgXCJNNTI4IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOEwzMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2TDAgMjA4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwIDBjMjAuOCAwIDM2LjEgMTkuNiAzMSAzOS44TDMzIDQ0MC4yYy0yLjQgOS42LS4yIDE5LjcgNS44IDI3LjVTNTQuMSA0ODAgNjQgNDgwbDk2IDBjMTQuNyAwIDI3LjUtMTAgMzEtMjQuMkwyMTcgMzUybDEwNC41IDBjMjMuNyAwIDQ0LjgtMTQuOSA1Mi43LTM3LjJMNDAwLjkgMjQwbDMxLjEgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNEw0NzcuMyAyMDhsNjYuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtODBjMC0xNy43LTE0LjMtMzItMzItMzJsLTE2IDAgMC04ek0zMjEuNCAzMDRMMjI5IDMwNGwxNi02NCAxMDUgMC0yMSA1OC43Yy0xLjEgMy4yLTQuMiA1LjMtNy41IDUuM3pNODAgMTI4bDM4NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDgwIDE2MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVNxdWFyZVBob25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1waG9uZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicGhvbmUtc3F1YXJlXCJdLCBcImYwOThcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptOTAuNyA5Ni43YzkuNy0yLjYgMTkuOSAyLjMgMjMuNyAxMS42bDIwIDQ4YzMuNCA4LjIgMSAxNy42LTUuOCAyMy4yTDE2OCAyMzEuN2MxNi42IDM1LjIgNDUuMSA2My43IDgwLjMgODAuM2wyMC4yLTI0LjdjNS42LTYuOCAxNS05LjIgMjMuMi01LjhsNDggMjBjOS4zIDMuOSAxNC4yIDE0IDExLjYgMjMuN2wtMTIgNDRDMzM2LjkgMzc4IDMyOSAzODQgMzIwIDM4NEMxOTYuMyAzODQgOTYgMjgzLjcgOTYgMTYwYzAtOSA2LTE2LjkgMTQuNy0xOS4zbDQ0LTEyelwiXVxufTtcbmNvbnN0IGZhUGhvbmVTcXVhcmUgPSBmYVNxdWFyZVBob25lO1xuY29uc3QgZmFQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMDEzMywgNjE1NDMsIFwiYWRkXCJdLCBcIjJiXCIsIFwiTTI1NiA4MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE0NEw0OCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTQ0IDAgMCAxNDRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE0NCAxNDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTQ0IDAgMC0xNDR6XCJdXG59O1xuY29uc3QgZmFBZGQgPSBmYVBsdXM7XG5jb25zdCBmYUV4cGFuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdleHBhbmQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwNjVcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek02NCAzNTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjR6TTMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwek00NDggMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZ6XCJdXG59O1xuY29uc3QgZmFDb21wdXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wdXRlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRlNVwiLCBcIk0zODQgOTZsMCAyMjRMNjQgMzIwIDY0IDk2bDMyMCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzIwYzAgMzUuMyAyOC43IDY0IDY0IDY0bDExNy4zIDAtMTAuNyAzMkw5NiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTc0LjcgMC0xMC43LTMyTDM4NCAzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTQ2NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwem0xNiA2NGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tMTYgODBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnptMzIgMTYwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3htYXJrJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4NDczLCAxMDAwNSwgMTAwMDYsIDEwMDYwLCAyMTUsIFwiY2xvc2VcIiwgXCJtdWx0aXBseVwiLCBcInJlbW92ZVwiLCBcInRpbWVzXCJdLCBcImYwMGRcIiwgXCJNMzQyLjYgMTUwLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyIDIxMC43IDg2LjYgMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDE0Ni43IDI1NiA0MS40IDM2MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE5MiAzMDEuMyAyOTcuNCA0MDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDIzNy4zIDI1NiAzNDIuNiAxNTAuNnpcIl1cbn07XG5jb25zdCBmYUNsb3NlID0gZmFYbWFyaztcbmNvbnN0IGZhTXVsdGlwbHkgPSBmYVhtYXJrO1xuY29uc3QgZmFSZW1vdmUgPSBmYVhtYXJrO1xuY29uc3QgZmFUaW1lcyA9IGZhWG1hcms7XG5jb25zdCBmYUFycm93c1VwRG93bkxlZnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvd3NcIl0sIFwiZjA0N1wiLCBcIk0yNzguNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5LjQtOS40TDIyNCAyMjRsLTExNC43IDAgOS40LTkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjRMMjI0IDI4OGwwIDExNC43LTkuNC05LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05LjQgOS40TDI4OCAyODhsMTE0LjcgMC05LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNEwyODggMjI0bDAtMTE0LjcgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NHpcIl1cbn07XG5jb25zdCBmYUFycm93cyA9IGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0O1xuY29uc3QgZmFDaGFsa2JvYXJkVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFsa2JvYXJkLXVzZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImNoYWxrYm9hcmQtdGVhY2hlclwiXSwgXCJmNTFjXCIsIFwiTTE2MCA2NGMwLTM1LjMgMjguNy02NCA2NC02NEw1NzYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjM5LjIgMGMtMTEuOC0yNS41LTI5LjktNDcuNS01Mi40LTY0bDk5LjYgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiA2NCAwIDAtMjg4TDIyNCA2NGwwIDQ5LjFDMjA1LjIgMTAyLjIgMTgzLjMgOTYgMTYwIDk2bDAtMzJ6bTAgNjRhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6TTEzMy4zIDM1Mmw1My4zIDBDMjYwLjMgMzUyIDMyMCA0MTEuNyAzMjAgNDg1LjNjMCAxNC43LTExLjkgMjYuNy0yNi43IDI2LjdMMjYuNyA1MTJDMTEuOSA1MTIgMCA1MDAuMSAwIDQ4NS4zQzAgNDExLjcgNTkuNyAzNTIgMTMzLjMgMzUyelwiXVxufTtcbmNvbnN0IGZhQ2hhbGtib2FyZFRlYWNoZXIgPSBmYUNoYWxrYm9hcmRVc2VyO1xuY29uc3QgZmFQZXNvU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXNvLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUyMjJcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0bDAgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDY0IDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDgwIDBjNjguNCAwIDEyNy43LTM5IDE1Ni44LTk2bDE5LjIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtLjcgMGMuNS01LjMgLjctMTAuNiAuNy0xNnMtLjItMTAuNy0uNy0xNmwuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOS4yIDBDMzAzLjcgNzEgMjQ0LjQgMzIgMTc2IDMyTDY0IDMyem0xOTAuNCA5Nkw5NiAxMjhsMC0zMiA4MCAwYzMwLjUgMCA1OC4yIDEyLjIgNzguNCAzMnpNOTYgMTkybDE5MC45IDBjLjcgNS4yIDEuMSAxMC42IDEuMSAxNnMtLjQgMTAuOC0xLjEgMTZMOTYgMjI0bDAtMzJ6bTE1OC40IDk2Yy0yMC4yIDE5LjgtNDcuOSAzMi03OC40IDMybC04MCAwIDAtMzIgMTU4LjQgMHpcIl1cbn07XG5jb25zdCBmYUJ1aWxkaW5nU2hpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLXNoaWVsZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRkOFwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEwzMzYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE1OS00Mi40IDE3TDMwNCAyMjRsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyIDAgMjQuMiAwIDcuOGMwIC45IC4xIDEuNyAuMiAyLjZjMi4zIDU4LjEgMjQuMSAxNDQuOCA5OC43IDIwMS41Yy01LjggMi41LTEyLjIgMy45LTE4LjkgMy45bC05NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCA4MC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNNjQgMTEybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2TDgwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZ6TTE3NiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem04MCAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek00MjMuMSAyMjUuN2M1LjctMi4zIDEyLjEtMi4zIDE3LjggMGwxMjAgNDhDNTcwIDI3Ny40IDU3NiAyODYuMiA1NzYgMjk2YzAgNjMuMy0yNS45IDE2OC44LTEzNC44IDIxNC4yYy01LjkgMi41LTEyLjYgMi41LTE4LjUgMEMzMTMuOSA0NjQuOCAyODggMzU5LjMgMjg4IDI5NmMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zbDEyMC00OHpNNTI3LjQgMzEyTDQzMiAyNzMuOGwwIDE4Ny44YzY4LjItMzMgOTEuNS05OSA5NS40LTE0OS43elwiXVxufTtcbmNvbnN0IGZhQmFieSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWJ5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNzdjXCIsIFwiTTE1MiA4OGE3MiA3MiAwIDEgMSAxNDQgMEE3MiA3MiAwIDEgMSAxNTIgODh6TTM5LjcgMTQ0LjVjMTMtMTcuOSAzOC0yMS44IDU1LjktOC44TDEzMS44IDE2MmMyNi44IDE5LjUgNTkuMSAzMCA5Mi4yIDMwczY1LjQtMTAuNSA5Mi4yLTMwbDM2LjItMjYuNGMxNy45LTEzIDQyLjktOSA1NS45IDguOHM5IDQyLjktOC44IDU1LjlsLTM2LjIgMjYuNGMtMTMuNiA5LjktMjguMSAxOC4yLTQzLjMgMjVsMCAzNi4zLTE5MiAwIDAtMzYuM2MtMTUuMi02LjctMjkuNy0xNS4xLTQzLjMtMjVMNDguNSAyMDAuM2MtMTcuOS0xMy0yMS44LTM4LTguOC01NS45em04OS44IDE4NC44bDYwLjYgNTMtMjYgMzcuMiAyNC4zIDI0LjNjMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZzLTQwLjkgMTUuNi01Ni42IDBsLTQ4LTQ4QzcwIDQzOC42IDY4LjEgNDE3IDc5LjIgNDAxLjFsNTAuMi03MS44em0xMjguNSA1M2w2MC42LTUzIDUwLjIgNzEuOGMxMS4xIDE1LjkgOS4yIDM3LjUtNC41IDUxLjJsLTQ4IDQ4Yy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMHMtMTUuNi00MC45IDAtNTYuNkwyODQgNDE5LjRsLTI2LTM3LjJ6XCJdXG59O1xuY29uc3QgZmFVc2Vyc0xpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU5MlwiLCBcIk0yMTEuMiA5NmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTMyIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw4NS42IDBjMTAuMS0zOS40IDM4LjYtNzEuNSA3NS44LTg2LjZjLTkuNy02LTIxLjItOS40LTMzLjQtOS40bC05NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHptNDYxLjYgMzJsODIuNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC05NiAwYy0xMS43IDAtMjIuNyAzLjEtMzIuMSA4LjZjMzguMSAxNC44IDY3LjQgNDcuMyA3Ny43IDg3LjR6TTM5MS4yIDIyNi40Yy02LjktMS42LTE0LjItMi40LTIxLjYtMi40bC05NiAwYy04LjUgMC0xNi43IDEuMS0yNC41IDMuMWMtMzAuOCA4LjEtNTUuNiAzMS4xLTY2LjEgNjAuOWMtMy41IDEwLTUuNSAyMC44LTUuNSAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmMwLTExLjItMS45LTIyLTUuNS0zMmMtMTAuOC0zMC43LTM2LjgtNTQuMi02OC45LTYxLjZ6TTU2My4yIDk2YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNMzIxLjYgMTkyYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwek0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2elwiXVxufTtcbmNvbnN0IGZhUXVvdGVMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3F1b3RlLWxlZnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MjIwLCBcInF1b3RlLWxlZnQtYWx0XCJdLCBcImYxMGRcIiwgXCJNMCAyMTZDMCAxNDkuNyA1My43IDk2IDEyMCA5Nmw4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTggMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMiAwLTMyIDAtNzJ6bTI1NiAwYzAtNjYuMyA1My43LTEyMCAxMjAtMTIwbDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyIDAtMzIgMC03MnpcIl1cbn07XG5jb25zdCBmYVF1b3RlTGVmdEFsdCA9IGZhUXVvdGVMZWZ0O1xuY29uc3QgZmFUcmFjdG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWN0b3InLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2NjhdLCBcImY3MjJcIiwgXCJNOTYgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMMjY2LjMgMGMyNi4yIDAgNDkuNyAxNS45IDU5LjQgNDAuMkwzNzMuNyAxNjAgNDgwIDE2MGwwLTMzLjhjMC0yNC44IDUuOC00OS4zIDE2LjktNzEuNmwyLjUtNWM3LjktMTUuOCAyNy4xLTIyLjIgNDIuOS0xNC4zczIyLjIgMjcuMSAxNC4zIDQyLjlsLTIuNSA1Yy02LjcgMTMuMy0xMC4xIDI4LTEwLjEgNDIuOWwwIDMzLjggNTYgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ1LjRjMCAxNi41LTguNSAzMS45LTIyLjYgNDAuN2wtNDMuMyAyNy4xYy0xNC4yLTUuOS0yOS44LTkuMi00Ni4xLTkuMmMtMzkuMyAwLTc0LjEgMTguOS05NiA0OGwtODAgMGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOC4yIDBjLTEuNyA0LjgtMy43IDkuNS01LjggMTQuMWw1LjggNS44YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0yMi42IDIyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC01LjgtNS44Yy00LjYgMi4yLTkuMyA0LjEtMTQuMSA1LjhsMCA4LjJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOC4yYy00LjgtMS43LTkuNS0zLjctMTQuMS01LjhsLTUuOCA1LjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDQwLjIgNDQ5LjFjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDUuOC01LjhjLTIuMi00LjYtNC4xLTkuMy01LjgtMTQuMUwzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOC4yIDBjMS43LTQuOCAzLjctOS41IDUuOC0xNC4xbC01LjgtNS44Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wyMi42LTIyLjZjOS05IDIxLjktMTEuNSAzMy4xLTcuNmwwLS42IDAtMzIgMC05NnptMTcwLjMgMEwxNjAgNjRsMCA5NiAzMiAwIDExMi43IDBMMjY2LjMgNjR6TTE3NiAyNTZhODAgODAgMCAxIDAgMCAxNjAgODAgODAgMCAxIDAgMC0xNjB6TTUyOCA0NDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wIDY0Yy00OC42IDAtODgtMzkuNC04OC04OGMwLTI5LjggMTQuOC01Ni4xIDM3LjQtNzJjMTQuMy0xMC4xIDMxLjgtMTYgNTAuNi0xNmMyLjcgMCA1LjMgLjEgNy45IC4zYzQ0LjkgNCA4MC4xIDQxLjcgODAuMSA4Ny43YzAgNDguNi0zOS40IDg4LTg4IDg4elwiXVxufTtcbmNvbnN0IGZhVHJhc2hBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYXNoLWFycm93LXVwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0cmFzaC1yZXN0b3JlXCJdLCBcImY4MjlcIiwgXCJNMTYzLjggMEwyODQuMiAwYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDk2IDAgNy4yLTE0LjNDMTQwLjYgNi44IDE1MS43IDAgMTYzLjggMHpNMzIgMTI4bDM4NCAwTDM5NC44IDQ2N2MtMS42IDI1LjMtMjIuNiA0NS00Ny45IDQ1bC0yNDUuOCAwYy0yNS4zIDAtNDYuMy0xOS43LTQ3LjktNDVMMzIgMTI4em0xOTIgNjRjLTYuNCAwLTEyLjUgMi41LTE3IDdsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzktMzlMMjAwIDQwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM0LjEgMzkgMzljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtNC41LTQuNS0xMC42LTctMTctN3pcIl1cbn07XG5jb25zdCBmYVRyYXNoUmVzdG9yZSA9IGZhVHJhc2hBcnJvd1VwO1xuY29uc3QgZmFBcnJvd0Rvd25VcExvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi11cC1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGIwXCIsIFwiTTE1MC42IDUwMi42bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE2MCA0MDIuNyAxNjAgMjg4bDI1NiAwIDAtMTZjMC0xNy4yIDMuOS0zMy41IDEwLjgtNDhMMzUyIDIyNGwwLTExNC43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtNi02LTE0LjEtOS40LTIyLjYtOS40cy0xNi42IDMuNC0yMi42IDkuNGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMjg4IDEwOS4zIDI4OCAyMjRsLTEyOCAwLTY0IDAtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgMTE0LjdMNTQuNiAzNjEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDB6TTE2MCAxOTJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMjggNjQgMHpNMjg4IDMyMGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4LTY0IDB6bTI0MC04MGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4LTY0IDAgMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTgwIDMybDAgNDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6XCJdXG59O1xuY29uc3QgZmFMaW5lc0xlYW5pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGluZXMtbGVhbmluZycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTUxZVwiLCBcIk0xOTAuNCA3NC4xYzUuNi0xNi44LTMuNS0zNC45LTIwLjItNDAuNXMtMzQuOSAzLjUtNDAuNSAyMC4ybC0xMjggMzg0Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDEyOC0zODR6bTcwLjktNDEuN2MtMTcuNC0yLjktMzMuOSA4LjktMzYuOCAyNi4zbC02NCAzODRjLTIuOSAxNy40IDguOSAzMy45IDI2LjMgMzYuOHMzMy45LTguOSAzNi44LTI2LjNsNjQtMzg0YzIuOS0xNy40LTguOS0zMy45LTI2LjMtMzYuOHpNMzUyIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhUnVsZXJDb21iaW5lZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlci1jb21iaW5lZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU0NlwiLCBcIk0uMiA0NjguOUMyLjcgNDkzLjEgMjMuMSA1MTIgNDggNTEybDk2IDAgMzIwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtNjQgMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtNjQgMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNjQtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNjQtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMEMyMS41IDAgMCAyMS41IDAgNDhMMCAzNjhsMCA5NmMwIDEuNyAuMSAzLjMgLjIgNC45elwiXVxufTtcbmNvbnN0IGZhQ29weXJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvcHlyaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzE2OV0sIFwiZjFmOVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTk5LjQgMzEyLjZjMzEuMiAzMS4yIDgxLjkgMzEuMiAxMTMuMSAwYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtNTAgNTAtMTMxIDUwLTE4MSAwcy01MC0xMzEgMC0xODFzMTMxLTUwIDE4MSAwYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTMxLjItMzEuMi04MS45LTMxLjItMTEzLjEgMHMtMzEuMiA4MS45IDAgMTEzLjF6XCJdXG59O1xuY29uc3QgZmFFcXVhbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXF1YWxzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjI3NjRdLCBcIjNkXCIsIFwiTTQ4IDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw0OCAxMjh6bTAgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM1MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDQ4IDMyMHpcIl1cbn07XG5jb25zdCBmYUJsZW5kZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmxlbmRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjUxN1wiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMGw2NCAwIDMyIDBMNDcwLjEgMGMyMS4xIDAgMzYuNCAyMC4xIDMwLjkgNDAuNEw0OTQuNSA2NCAzMzYgNjRjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTQ5LjggMC0xNy41IDY0TDMzNiAxNjBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTIzLjYgMC0xNy41IDY0TDMzNiAyNTZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsOTcuNSAwTDQxNiAzNTJsLTI1NiAwLTguNy05Nkw2NCAyNTZjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTE0NS41IDE5MkwxMzMuOCA2NCA2NCA2NGwwIDEyOCA4MS41IDB6TTE0NCAzODRsMjg4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjg4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzJjMC0yNi41IDIxLjUtNDggNDgtNDh6bTE0NCA5NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFUZWV0aCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZWV0aCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjYyZVwiLCBcIk0wIDEyOEMwIDc1IDQzIDMyIDk2IDMybDM4NCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyNTZjMCA1My00MyA5Ni05NiA5Nkw5NiA0ODBjLTUzIDAtOTYtNDMtOTYtOTZMMCAxMjh6bTE3NiA0OGwwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC01NmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHptMTc2LTQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC01NmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDggMjA4bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4ek05NiAzODRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHptODAtNDhjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGwwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDI0em0xNzYgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHptODAtMTc2bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4em00OCAxNzZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHpcIl1cbn07XG5jb25zdCBmYVNoZWtlbFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hla2VsLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MzYyLCBcImlsc1wiLCBcInNoZWtlbFwiLCBcInNoZXFlbFwiLCBcInNoZXFlbC1zaWduXCJdLCBcImYyMGJcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDk2bDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhMMzIgMzJ6TTMyMCA0ODBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEyOCAwIDAtMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwelwiXVxufTtcbmNvbnN0IGZhSWxzID0gZmFTaGVrZWxTaWduO1xuY29uc3QgZmFTaGVrZWwgPSBmYVNoZWtlbFNpZ247XG5jb25zdCBmYVNoZXFlbCA9IGZhU2hla2VsU2lnbjtcbmNvbnN0IGZhU2hlcWVsU2lnbiA9IGZhU2hla2VsU2lnbjtcbmNvbnN0IGZhTWFwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODUwNiwgNjIwNzJdLCBcImYyNzlcIiwgXCJNMzg0IDQ3Ni4xTDE5MiA0MjEuMmwwLTM4NS4zTDM4NCA5MC44bDAgMzg1LjN6bTMyLTEuMmwwLTM4Ni41TDU0My4xIDM3LjVjMTUuOC02LjMgMzIuOSA1LjMgMzIuOSAyMi4zbDAgMzM0LjhjMCA5LjgtNiAxOC42LTE1LjEgMjIuM0w0MTYgNDc0Ljh6TTE1LjEgOTUuMUwxNjAgMzcuMmwwIDM4Ni41TDMyLjkgNDc0LjVDMTcuMSA0ODAuOCAwIDQ2OS4yIDAgNDUyLjJMMCAxMTcuNGMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zelwiXVxufTtcbmNvbnN0IGZhUm9ja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjEzNVwiLCBcIk0xNTYuNiAzODQuOUwxMjUuNyAzNTRjLTguNS04LjUtMTEuNS0yMC44LTcuNy0zMi4yYzMtOC45IDctMjAuNSAxMS44LTMzLjhMMjQgMjg4Yy04LjYgMC0xNi42LTQuNi0yMC45LTEyLjFzLTQuMi0xNi43IC4yLTI0LjFsNTIuNS04OC41YzEzLTIxLjkgMzYuNS0zNS4zIDYxLjktMzUuM2w4Mi4zIDBjMi40LTQgNC44LTcuNyA3LjItMTEuM0MyODkuMS00LjEgNDExLjEtOC4xIDQ4My45IDUuM2MxMS42IDIuMSAyMC42IDExLjIgMjIuOCAyMi44YzEzLjQgNzIuOSA5LjMgMTk0LjgtMTExLjQgMjc2LjdjLTMuNSAyLjQtNy4zIDQuOC0xMS4zIDcuMmwwIDgyLjNjMCAyNS40LTEzLjQgNDktMzUuMyA2MS45bC04OC41IDUyLjVjLTcuNCA0LjQtMTYuNiA0LjUtMjQuMSAuMnMtMTIuMS0xMi4yLTEyLjEtMjAuOWwwLTEwNy4yYy0xNC4xIDQuOS0yNi40IDguOS0zNS43IDExLjljLTExLjIgMy42LTIzLjQgLjUtMzEuOC03Ljh6TTM4NCAxNjhhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbmNvbnN0IGZhUGhvdG9GaWxtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bob3RvLWZpbG0nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInBob3RvLXZpZGVvXCJdLCBcImY4N2NcIiwgXCJNMjU2IDBMNTc2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMyMCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIyNGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDc2IDEwNi43QzQ3MS41IDEwMCA0NjQgOTYgNDU2IDk2cy0xNS41IDQtMjAgMTAuN2wtNTYgODRMMzYyLjcgMTY5Yy00LjYtNS43LTExLjUtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRzMTIuNCAxMy42IDIxLjYgMTMuNmw4MCAwIDQ4IDAgMTQ0IDBjOC45IDAgMTctNC45IDIxLjItMTIuN3MzLjctMTcuMy0xLjItMjQuNmwtOTYtMTQ0ek0zMzYgOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNjQgMTI4bDk2IDAgMCAyNTYgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDE2MCAwIDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NHptOCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0wIDEwNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0wIDEwNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0zMzYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYVBob3RvVmlkZW8gPSBmYVBob3RvRmlsbTtcbmNvbnN0IGZhRm9sZGVyTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9sZGVyLW1pbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjVkXCIsIFwiTTQ0OCA0ODBMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEyOCAwYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZsMTkuMiAyNS42YzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjR6TTE4NCAyNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwelwiXVxufTtcbmNvbnN0IGZhU3RvcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RvcmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1NGVcIiwgXCJNNTQ3LjYgMTAzLjhMNDkwLjMgMTMuMUM0ODUuMiA1IDQ3Ni4xIDAgNDY2LjQgMEwxMDkuNiAwQzk5LjkgMCA5MC44IDUgODUuNyAxMy4xTDI4LjMgMTAzLjhjLTI5LjYgNDYuOC0zLjQgMTExLjkgNTEuOSAxMTkuNGM0IC41IDguMSAuOCAxMi4xIC44YzI2LjEgMCA0OS4zLTExLjQgNjUuMi0yOWMxNS45IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzI2LjEgMCA0OS4zLTExLjQgNjUuMi0yOWMxNS45IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzI2LjIgMCA0OS4zLTExLjQgNjUuMi0yOWMxNiAxNy42IDM5LjEgMjkgNjUuMiAyOWM0LjEgMCA4LjEtLjMgMTIuMS0uOGM1NS41LTcuNCA4MS44LTcyLjUgNTIuMS0xMTkuNHpNNDk5LjcgMjU0LjljMCAwIDAgMC0uMSAwYy01LjMgLjctMTAuNyAxLjEtMTYuMiAxLjFjLTEyLjQgMC0yNC4zLTEuOS0zNS40LTUuM0w0NDggMzg0bC0zMjAgMCAwLTEzMy40Yy0xMS4yIDMuNS0yMy4yIDUuNC0zNS42IDUuNGMtNS41IDAtMTEtLjQtMTYuMy0xLjFsLS4xIDBjLTQuMS0uNi04LjEtMS4zLTEyLTIuM0w2NCAzODRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0IDAtMTMxLjRjLTQgMS04IDEuOC0xMi4zIDIuM3pcIl1cbn07XG5jb25zdCBmYUFycm93VHJlbmRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy10cmVuZC11cCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTA5OFwiLCBcIk0zODQgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODIuN0wzNDIuNiAzNzQuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBMMTkyIDI2OS4zIDU0LjYgNDA2LjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE2MC0xNjBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBMMzIwIDMwNi43IDQ2Ni43IDE2MCAzODQgMTYwelwiXVxufTtcbmNvbnN0IGZhUGx1Z0NpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTVlXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJsMCA5NiA2NCAwIDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCA2Ny4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Ny4yYzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MHpNNTc2IDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNjQgMGMwIDguOC03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnpcIl1cbn07XG5jb25zdCBmYVNpZ25IYW5naW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpZ24taGFuZ2luZycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnblwiXSwgXCJmNGQ5XCIsIFwiTTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzUyIDAgMCAzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNTItMzIgMEMxNC4zIDEyOCAwIDExMy43IDAgOTZTMTQuMyA2NCAzMiA2NGwzMiAwIDAtMzJDNjQgMTQuMyA3OC4zIDAgOTYgMHptOTYgMTYwbDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTaWduID0gZmFTaWduSGFuZ2luZztcbmNvbnN0IGZhQmV6aWVyQ3VydmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmV6aWVyLWN1cnZlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTViXCIsIFwiTTI5NiAxMzZsMC00OCA0OCAwIDAgNDgtNDggMHpNMjg4IDMyYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDRMMTIxLjYgODRDMTExLjIgNjIuNyA4OS4zIDQ4IDY0IDQ4QzI4LjcgNDggMCA3Ni43IDAgMTEyczI4LjcgNjQgNjQgNjRjMjUuMyAwIDQ3LjItMTQuNyA1Ny42LTM2bDY2LjkgMGMtNTguOSAzOS42LTk4LjkgMTA1LTEwNCAxODBMODAgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMy4zIDBjNS45LTY3IDQ4LjUtMTIzLjQgMTA3LjUtMTQ5LjFjOC42IDEyLjcgMjMuMiAyMS4xIDM5LjggMjEuMWw2NCAwYzE2LjYgMCAzMS4xLTguNCAzOS44LTIxLjFjNTkgMjUuNyAxMDEuNiA4Mi4xIDEwNy41IDE0OS4xbC0zLjMgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQuNSAwYy01LTc1LTQ1LjEtMTQwLjQtMTA0LTE4MGw2Ni45IDBjMTAuNCAyMS4zIDMyLjMgMzYgNTcuNiAzNmMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2TDQwMCA4NGwwLTRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTg4IDM3Nmw0OCAwIDAgNDgtNDggMCAwLTQ4em00MTYgNDhsMC00OCA0OCAwIDAgNDgtNDggMHpcIl1cbn07XG5jb25zdCBmYUJlbGxTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWxsLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4Mjc3LCA2MTk0M10sIFwiZjFmNlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC05MC4yLTcwLjdjLjItLjQgLjQtLjkgLjYtMS4zYzUuMi0xMS41IDMuMS0yNS01LjMtMzQuNGwtNy40LTguM0M0OTcuMyAzMTkuMiA0ODAgMjczLjkgNDgwIDIyNi44bDAtMTguOGMwLTc3LjQtNTUtMTQyLTEyOC0xNTYuOEwzNTIgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxOS4yYy00Mi42IDguNi03OSAzNC4yLTEwMiA2OS4zTDM4LjggNS4xek00MDYuMiA0MTZMMTYwIDIyMi4xbDAgNC44YzAgNDctMTcuMyA5Mi40LTQ4LjUgMTI3LjZsLTcuNCA4LjNjLTguNCA5LjQtMTAuNCAyMi45LTUuMyAzNC40UzExNS40IDQxNiAxMjggNDE2bDI3OC4yIDB6bS00MC45IDc3LjNjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wtNjQgMC02NCAwYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zczI4LjMgMTguNyA0NS4zIDE4LjdzMzMuMy02LjcgNDUuMy0xOC43elwiXVxufTtcbmNvbnN0IGZhVGFibGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1widGFibGV0LWFuZHJvaWRcIl0sIFwiZjNmYlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0xNzYgNDMybDk2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTk2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFUYWJsZXRBbmRyb2lkID0gZmFUYWJsZXQ7XG5jb25zdCBmYVNjaG9vbEZsYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWZsYWcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NmVcIiwgXCJNMjg4IDBMNDAwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC03OS4zIDAgODkuNiA2NEw1MTIgMTYwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xNzYgMCAwLTExMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDExMkw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDEwMS43IDBMMjU2IDk1LjUgMjU2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem00OCAyNDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNODAgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTM2OCAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek04MCAzNTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMzg0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpcIl1cbn07XG5jb25zdCBmYUZpbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU3NVwiLCBcIk04Ni42IDkuNEM3NC4xLTMuMSA1My45LTMuMSA0MS40IDkuNHMtMTIuNSAzMi44IDAgNDUuM0wxMjIuNyAxMzYgMzAuNiAyMjguMWMtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44TDE0OC4xIDQ4MS40YzM3LjUgMzcuNSA5OC4zIDM3LjUgMTM1LjggMEw0NzQuMyAyOTAuOWMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjhMMzIyLjkgMzcuN2MtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwTDE2OCA5MC43IDg2LjYgOS40ek0xNjggMTgxLjNsNDkuNCA0OS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMjEzLjMgMTM2bDUzLjEtNTMuMWMzLjEtMy4xIDguMi0zLjEgMTEuMyAwTDQyOS4xIDIzNC4zYzMuMSAzLjEgMy4xIDguMiAwIDExLjNMMzg2LjcgMjg4IDY3LjUgMjg4YzEuNC01LjQgNC4yLTEwLjQgOC40LTE0LjZMMTY4IDE4MS4zelwiXVxufTtcbmNvbnN0IGZhQW5nbGVVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZS11cCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg5NjNdLCBcImYxMDZcIiwgXCJNMjAxLjQgMTM3LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwyMjQgMjA1LjMgODYuNiAzNDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MHpcIl1cbn07XG5jb25zdCBmYURydW1zdGlja0JpdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHJ1bXN0aWNrLWJpdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2ZDdcIiwgXCJNMTYwIDI2NS4yYzAgOC41LTMuNCAxNi42LTkuNCAyMi42bC0yNi44IDI2LjhjLTEyLjMgMTIuMy0zMi41IDExLjQtNDkuNCA3LjJDNjkuOCAzMjAuNiA2NSAzMjAgNjAgMzIwYy0zMy4xIDAtNjAgMjYuOS02MCA2MHMyNi45IDYwIDYwIDYwYzYuMyAwIDEyIDUuNyAxMiAxMmMwIDMzLjEgMjYuOSA2MCA2MCA2MHM2MC0yNi45IDYwLTYwYzAtNS0uNi05LjgtMS44LTE0LjVjLTQuMi0xNi45LTUuMi0zNy4xIDcuMi00OS40bDI2LjgtMjYuOGM2LTYgMTQuMS05LjQgMjIuNi05LjRsODkuMiAwYzYuMyAwIDEyLjQtLjMgMTguNS0xYzExLjktMS4yIDE2LjQtMTUuNSAxMC44LTI2Yy04LjUtMTUuOC0xMy4zLTMzLjgtMTMuMy01M2MwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmM4IDAgMTUuNyAuOCAyMy4yIDIuNGMxMS43IDIuNSAyNC4xLTUuOSAyMi0xNy42QzQ5NC41IDYyLjUgNDIyLjUgMCAzMzYgMEMyMzguOCAwIDE2MCA3OC44IDE2MCAxNzZsMCA4OS4yelwiXVxufTtcbmNvbnN0IGZhSG9sbHlCZXJyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob2xseS1iZXJyeScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdhYVwiLCBcIk0yNTYgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0yNzYuOCAzODMuOGMxIC4xIDIuMSAuMiAzLjIgLjJjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyMi43YzAgMTYuNCAxNiAyNy45IDMxLjYgMjIuOGwxMi44LTQuM2MxOC02IDM3LjMtNi41IDU1LjYtMS41bDE5LjQgNS4zYzE3LjkgNC45IDM0LjQtMTEuNiAyOS41LTI5LjVMNDk1LjYgNDUyYy01LTE4LjMtNC40LTM3LjYgMS41LTU1LjZsNC4zLTEyLjhjNS4yLTE1LjUtNi40LTMxLjYtMjIuOC0zMS42Yy0zNC42IDAtNjIuNy0yOC4xLTYyLjctNjIuN2wwLTMyYzAtMTYuNC0xNi0yNy45LTMxLjYtMjIuOGwtMTIuOCA0LjNjLTE4IDYtMzcuMyA2LjUtNTUuNiAxLjVsLTI5LjYtOC4xYy0yLjktLjgtNS45LTEtOC43LS43YzQuMiA5LjcgNS44IDIwLjggMy43IDMyLjNMMjc1IDI5OC43Yy0xLjUgOC40LTEuNCAxNyAuNSAyNS4zbDUuMyAyMy45YzIuOCAxMi43IDEuMSAyNS4yLTQgMzUuOXpNMTI3LjYgMjM0LjVjLTE1LjUtNS4yLTMxLjYgNi40LTMxLjYgMjIuOGwwIDMyQzk2IDMyMy45IDY3LjkgMzUyIDMzLjMgMzUyYy0xNi40IDAtMjcuOSAxNi0yMi44IDMxLjZsNC4zIDEyLjhjNiAxOCA2LjUgMzcuMyAxLjUgNTUuNmwtNS4zIDE5LjRDNi4yIDQ4OS40IDIyLjYgNTA1LjggNDAuNSA1MDFMNjAgNDk1LjZjMTguMy01IDM3LjYtNC41IDU1LjYgMS41bDEyLjggNC4zYzE1LjUgNS4yIDMxLjYtNi40IDMxLjYtMjIuOGwwLTMyYzAtMzQuNiAyOC4xLTYyLjcgNjIuNy02Mi43YzE2LjQgMCAyNy45LTE2IDIyLjgtMzEuNmwtNC4zLTEyLjhjLTYtMTgtNi41LTM3LjMtMS41LTU1LjZsNS4zLTE5LjRjNC45LTE3LjktMTEuNi0zNC40LTI5LjUtMjkuNUwxOTYgMjQwLjRjLTE4LjMgNS0zNy42IDQuNC01NS42LTEuNWwtMTIuOC00LjN6TTM4NCAxNDRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG5jb25zdCBmYUNoZXZyb25MZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXZyb24tbGVmdCcsXG4gIGljb246IFszMjAsIDUxMiwgWzkwMDFdLCBcImYwNTNcIiwgXCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxOTIgMTkyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjQ2LjYgODYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTkyIDE5MnpcIl1cbn07XG5jb25zdCBmYUJhY3RlcmlhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhY3RlcmlhJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDU5XCIsIFwiTTMwNC45IC43Yy05LjYtMi43LTE5LjUgMi44LTIyLjMgMTIuNGwtNC4zIDE1LjJjLTguMy0uNi0xNi44IDAtMjUuMiAxLjljLTcuMyAxLjctMTQuMyAzLjUtMjEuMSA1LjVsLTUuNS0xMi43Yy0zLjktOS4xLTE0LjUtMTMuNC0yMy42LTkuNXMtMTMuNCAxNC41LTkuNSAyMy42bDQuNCAxMC40Yy0xNi42IDYuNy0zMS43IDE0LjQtNDUuNCAyMi44TDE0NyA2MmMtNS41LTguMy0xNi43LTEwLjUtMjUtNXMtMTAuNSAxNi43LTUgMjVsNiA5Yy0xMy43IDExLTI1LjUgMjIuOC0zNS44IDM0LjlsLTEwLThjLTcuOC02LjItMTkuMS01LTI1LjMgMi44cy01IDE5LjEgMi44IDI1LjNMNjUuOSAxNTVjLTEuOCAyLjgtMy41IDUuNy01LjEgOC41Yy02LjYgMTEuNC0xMS44IDIyLjYtMTYgMzNsLTgtMy4yYy05LjItMy43LTE5LjcgLjgtMjMuNCAxMHMuOCAxOS43IDEwIDIzLjRsMTAuNCA0LjJjLS4yIC44LS40IDEuNS0uNSAyLjNjLTIuMiA5LjMtMy40IDE3LjMtNC4xIDIzLjRjLS40IDMuMS0uNiA1LjctLjggNy44Yy0uMSAxLjEtLjEgMi0uMiAyLjhsLS4xIDEuMSAwIC41IDAgLjIgMCAuMWMwIDAgMCAuMSAyOS4xIDFjMCAwIDAgMC0uMSAwTDI4IDI2OS4zYy0uMSAzLjEgMCA2LjEgLjIgOS4xbC0xNS4yIDQuM0MzLjUgMjg1LjQtMiAyOTUuNCAuNyAzMDQuOXMxMi43IDE1LjEgMjIuMyAxMi40bDE1LjYtNC41YzcuNiAxMy42IDE4LjkgMjUgMzIuNiAzMi42TDY2LjcgMzYxYy0yLjcgOS42IDIuOCAxOS41IDEyLjQgMjIuM3MxOS41LTIuOCAyMi4zLTEyLjRsNC4zLTE1LjJjMS4yIC4xIDIuNCAuMiAzLjYgLjJjMTUuNiAuNSAzMC4zLTMuMyA0My0xMC4ybDkgOWM3IDcgMTguNCA3IDI1LjUgMHM3LTE4LjQgMC0yNS41bC03LjItNy4yYzkuMy0xMi42IDE1LjItMjcuOCAxNi4zLTQ0LjVsNy4xIDNjOS4xIDMuOSAxOS43LS4zIDIzLjYtOS41cy0uMy0xOS43LTkuNS0yMy42bC04LjYtMy43YzYuNC05LjkgMTcuMy0yMi40IDM2LjktMzMuM2wxLjMgNC40YzIuNyA5LjYgMTIuNyAxNS4xIDIyLjMgMTIuNHMxNS4xLTEyLjcgMTIuNC0yMi4zbC0yLjMtOC4xYzMuOC0xLjEgNy43LTIuMSAxMS45LTMuMWMxMS42LTIuNyAyMi4xLTcuNyAzMS4xLTE0LjRsNy4yIDcuMmM3IDcgMTguNCA3IDI1LjUgMHM3LTE4LjQgMC0yNS41bC05LTljNy42LTEzLjkgMTEuMy0zMC4xIDEwLjEtNDYuNmwxNS4yLTQuM2M5LjYtMi43IDE1LjEtMTIuNyAxMi40LTIyLjNTMzcwLjYgNjQgMzYxIDY2LjdsLTE1LjYgNC41Yy03LjctMTMuOS0xOS4xLTI1LjEtMzIuNi0zMi42bDQuNS0xNS42YzIuNy05LjYtMi44LTE5LjUtMTIuNC0yMi4zek0xMTIgMjcybC00OC0xLjVjMCAwIDAgMCAwIDBjMTEuNyAuNCAyNy4zIC45IDQ4IDEuNnptMTYtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NC00OGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0zMjIuNyA0ODljLTIuNyA5LjYgMi44IDE5LjUgMTIuNCAyMi4zczE5LjUtMi44IDIyLjItMTIuNGw0LjMtMTUuMmM4LjMgLjYgMTYuOCAwIDI1LjItMS45YzcuMy0xLjcgMTQuMy0zLjUgMjEuMS01LjVsNS41IDEyLjdjMy45IDkuMSAxNC41IDEzLjQgMjMuNiA5LjVzMTMuNC0xNC41IDkuNS0yMy42bC00LjQtMTAuNGMxNi42LTYuNyAzMS43LTE0LjQgNDUuNC0yMi44TDQ5MyA0NTBjNS41IDguMyAxNi43IDEwLjUgMjUgNXMxMC41LTE2LjcgNS0yNWwtNi05YzEzLjctMTEgMjUuNS0yMi44IDM1LjgtMzQuOWwxMCA4YzcuOCA2LjIgMTkuMSA1IDI1LjMtMi44czUtMTkuMS0yLjgtMjUuM0w1NzQuMSAzNTdjMS44LTIuOCAzLjUtNS43IDUuMS04LjVjNi42LTExLjQgMTEuOC0yMi42IDE2LTMzbDggMy4yYzkuMiAzLjcgMTkuNy0uOCAyMy40LTEwcy0uOC0xOS43LTEwLTIzLjRsLTEwLjQtNC4yYy4yLS44IC40LTEuNSAuNS0yLjNjMi4yLTkuMyAzLjQtMTcuMyA0LjEtMjMuNGMuNC0zLjEgLjYtNS43IC44LTcuOGMuMS0xLjEgLjEtMiAuMi0yLjhsLjEtMS4xIDAtLjUgMC0uMiAwLS4xYzAgMCAwLS4xLTI5LjEtMWMwIDAgMCAwIC4xIDBsMjkuMSAuOWMuMS0zLjEgMC02LjEtLjItOS4xbDE1LjItNC4zYzkuNi0yLjcgMTUuMS0xMi43IDEyLjQtMjIuM3MtMTIuNy0xNS4xLTIyLjMtMTIuNGwtMTUuNiA0LjVjLTcuNi0xMy42LTE4LjktMjUtMzIuNi0zMi42bDQuNS0xNS42YzIuNy05LjYtMi44LTE5LjUtMTIuNC0yMi4zcy0xOS41IDIuOC0yMi4zIDEyLjRsLTQuMyAxNS4yYy0xLjItLjEtMi40LS4yLTMuNi0uMmMtMTUuNi0uNS0zMC4zIDMuMy00MyAxMC4ybC05LTljLTctNy0xOC40LTctMjUuNSAwcy03IDE4LjQgMCAyNS41bDcuMiA3LjJjLTkuMyAxMi42LTE1LjIgMjcuOC0xNi4zIDQ0LjVsLTcuMS0zYy05LjEtMy45LTE5LjcgLjMtMjMuNiA5LjVzLjMgMTkuNyA5LjUgMjMuNmw4LjYgMy43Yy02LjQgOS45LTE3LjMgMjIuNC0zNi45IDMzLjNsLTEuMy00LjRjLTIuNy05LjYtMTIuNy0xNS4xLTIyLjMtMTIuNHMtMTUuMSAxMi43LTEyLjQgMjIuM2wyLjMgOC4xYy0zLjggMS4xLTcuNyAyLjEtMTEuOSAzLjFjLTExLjYgMi43LTIyLjEgNy43LTMxLjEgMTQuNGwtNy4yLTcuMmMtNy03LTE4LjQtNy0yNS41IDBzLTcgMTguNCAwIDI1LjVsOSA5Yy03LjYgMTMuOS0xMS4zIDMwLjEtMTAuMSA0Ni42bC0xNS4yIDQuM2MtOS42IDIuNy0xNS4xIDEyLjctMTIuNCAyMi4yczEyLjcgMTUuMSAyMi4zIDEyLjRsMTUuNi00LjVjNy43IDEzLjkgMTkuMSAyNS4xIDMyLjYgMzIuNkwzMjIuNyA0ODl6TTU3NiAyNDEuNWMwIDAgMCAwIDAgMGMtMTEuNy0uNC0yNy4zLS45LTQ4LTEuNmw0OCAxLjV6TTQ0OCAzODRhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpcIl1cbn07XG5jb25zdCBmYUhhbmRMaXphcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1saXphcmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyNThcIiwgXCJNMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRsMTEyIDAgODAgMCA0Ni41IDBjMzYuOCAwIDcxLjIgMTggOTIuMSA0OC4ybDExMy41IDE2NGMxMyAxOC43IDE5LjkgNDEgMTkuOSA2My44bDAgMTIgMCAxNiAwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEzLjhMMjczLjkgMzUyIDI0MCAzNTJsLTgwIDAtNDggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OGw0OCAwIDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTgwIDBMNDggMTYwYy0yNi41IDAtNDgtMjEuNS00OC00OHpcIl1cbn07XG5jb25zdCBmYU5vdGRlZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdub3RkZWYnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZmVcIiwgXCJNNjQgMzkwLjNMMTUzLjUgMjU2IDY0IDEyMS43bDAgMjY4LjZ6TTEwMi41IDQ0OGwxNzkuMSAwTDE5MiAzMTMuNyAxMDIuNSA0NDh6bTEyOC0xOTJMMzIwIDM5MC4zbDAtMjY4LjZMMjMwLjUgMjU2ek0yODEuNSA2NEwxMDIuNSA2NCAxOTIgMTk4LjMgMjgxLjUgNjR6TTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA0OHpcIl1cbn07XG5jb25zdCBmYURpc2Vhc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlzZWFzZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdmYVwiLCBcIk0yMzYuNCA2MS40TDIyNyA3NS41Yy0yMS4zIDMyLTU5LjQgNDguNS05Ny4zIDQyLjFsLTU5LjYtOS45QzMzLjQgMTAxLjYgMCAxMjkuOSAuMSAxNjcuMWMwIDE1LjkgNi40IDMxLjIgMTcuNiA0Mi41bDI5LjIgMjkuMmMxMSAxMSAxNy4yIDI1LjkgMTcuMiA0MS41YzAgMTUuOC02LjQgMzAuOS0xNy43IDQyTDMzLjMgMzM1LjFDMjIuMiAzNDUuOSAxNiAzNjAuNyAxNiAzNzYuMmMwIDM2LjggMzQuMSA2NC4yIDcwLjEgNTYuMmw2Mi4zLTEzLjhjNy43LTEuNyAxNS43LTIuNiAyMy42LTIuNmwxMCAwYzI3LjIgMCA1My43IDkuMyA3NSAyNi4zTDI4Ny44IDQ2N2MxMC41IDguNCAyMy42IDEzIDM3IDEzYzMyLjcgMCA1OS4zLTI2LjUgNTkuMy01OS4zbDAtMjUuMmMwLTM0LjkgMjEuNC02Ni4yIDUzLjktNzguOGwzNi45LTE0LjNjMjIuNC04LjcgMzcuMi0zMC4zIDM3LjItNTQuM2MwLTI4LjEtMjAuMS01Mi4zLTQ3LjgtNTcuM2wtMjgtNS4xYy0zNi41LTYuNy02NS40LTM0LjUtNzMuNi03MC43bC03LjEtMzEuNUMzNDguOSA1My40IDMyMi4xIDMyIDI5MS4zIDMyYy0yMiAwLTQyLjYgMTEtNTQuOSAyOS40ek0xNjAgMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bTAgODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQnJpZWZjYXNlTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmllZmNhc2UtbWVkaWNhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQ2OVwiLCBcIk0xODQgNDhsMTQ0IDBjNC40IDAgOCAzLjYgOCA4bDAgNDBMMTc2IDk2bDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwTDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDE4NCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnptOTYgMTUyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhR2VuZGVybGVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnZW5kZXJsZXNzJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMjJkXCIsIFwiTTE5MiAxNDRhMTEyIDExMiAwIDEgMSAwIDIyNCAxMTIgMTEyIDAgMSAxIDAtMjI0em0wIDI4OGExNzYgMTc2IDAgMSAwIDAtMzUyIDE3NiAxNzYgMCAxIDAgMCAzNTJ6XCJdXG59O1xuY29uc3QgZmFDaGV2cm9uUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hldnJvbi1yaWdodCcsXG4gIGljb246IFszMjAsIDUxMiwgWzkwMDJdLCBcImYwNTRcIiwgXCJNMzEwLjYgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE5MiAxOTJjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0Mi43IDI1NiA3My40IDg2LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTkyIDE5MnpcIl1cbn07XG5jb25zdCBmYVJldHdlZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmV0d2VldCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjA3OVwiLCBcIk0yNzIgNDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjggMzIgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXMxNi42IDE5LjggMjkuNiAxOS44bDMyIDAgMCAxMjhjMCA1MyA0MyA5NiA5NiA5NmwxMTIgMHpNMzA0IDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44bC0zMiAwIDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZMMzA0IDk2elwiXVxufTtcbmNvbnN0IGZhQ2FyUmVhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItcmVhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2FyLWFsdFwiXSwgXCJmNWRlXCIsIFwiTTE2NS40IDk2bDE4MS4yIDBjMTMuNiAwIDI1LjcgOC42IDMwLjIgMjEuNEw0MDIuOSAxOTJsLTI5My44IDAgMjYuMS03NC42YzQuNS0xMi44IDE2LjYtMjEuNCAzMC4yLTIxLjR6bS05MC42IC4zTDM5LjYgMTk2LjhDMTYuNCAyMDYuNCAwIDIyOS4zIDAgMjU2bDAgODBjMCAyMy43IDEyLjkgNDQuNCAzMiA1NS40TDMyIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDggMjU2IDAgMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNTYuNmMxOS4xLTExLjEgMzItMzEuNyAzMi01NS40bDAtODBjMC0yNi43LTE2LjQtNDkuNi0zOS42LTU5LjJMNDM3LjIgOTYuM0M0MjMuNyA1Ny44IDM4Ny40IDMyIDM0Ni42IDMyTDE2NS40IDMyYy00MC44IDAtNzcuMSAyNS44LTkwLjYgNjQuM3pNMjA4IDI3Mmw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtOTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek00OCAyODBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTM2MC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhQ2FyQWx0ID0gZmFDYXJSZWFyO1xuY29uc3QgZmFQdW1wU29hcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwdW1wLXNvYXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwNmJcIiwgXCJNMTI4IDMybDAgOTYgMTI4IDAgMC0zMiA2MC4xIDBjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2wzMy45IDMzLjljMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzNzIuNyA1NS40Yy0xNS0xNS0zNS40LTIzLjQtNTYuNi0yMy40TDI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTExNy40IDE2MGMtMzMuMyAwLTYxIDI1LjUtNjMuOCA1OC43TDM1IDQ0Mi43QzMxLjkgNDgwIDYxLjMgNTEyIDk4LjggNTEybDE4Ni40IDBjMzcuNCAwIDY2LjktMzIgNjMuOC02OS4zbC0xOC43LTIyNGMtMi44LTMzLjItMzAuNS01OC43LTYzLjgtNTguN2wtMTQ5LjEgMHpNMjU2IDM2MGMwIDM1LjMtMjguNyA1Ni02NCA1NnMtNjQtMjAuNy02NC01NmMwLTMyLjUgMzctODAuOSA1MC45LTk3LjljMy4yLTMuOSA4LjEtNi4xIDEzLjEtNi4xczkuOSAyLjIgMTMuMSA2LjFDMjE5IDI3OS4xIDI1NiAzMjcuNSAyNTYgMzYwelwiXVxufTtcbmNvbnN0IGZhVmlkZW9TbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWRlby1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRlMlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC04Ni40LTY3LjcgMTMuOCA5LjJjOS44IDYuNSAyMi40IDcuMiAzMi45IDEuNnMxNi45LTE2LjQgMTYuOS0yOC4ybDAtMjU2YzAtMTEuOC02LjUtMjIuNi0xNi45LTI4LjJzLTIzLTUtMzIuOSAxLjZsLTk2IDY0TDQ0OCAxNzQuOWwwIDE3LjEgMCAxMjggMCA1LjgtMzItMjUuMUw0MTYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDExMy45IDY0IDM4LjggNS4xek00MDcgNDE2LjdMMzIuMyAxMjEuNWMtLjIgMi4xLS4zIDQuMy0uMyA2LjVsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMjMuNCAwIDQzLjktMTIuNiA1NS0zMS4zelwiXVxufTtcbmNvbnN0IGZhQmF0dGVyeVF1YXJ0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS1xdWFydGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJiYXR0ZXJ5LTJcIl0sIFwiZjI0M1wiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2MGMwIDguOC03LjIgMTYtMTYgMTZMODAgMzUyYy04LjggMC0xNi03LjItMTYtMTZsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZMMCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBsMzg0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMODAgOTZ6bTExMiA5NmwtOTYgMCAwIDEyOCA5NiAwIDAtMTI4elwiXVxufTtcbmNvbnN0IGZhQmF0dGVyeTIgPSBmYUJhdHRlcnlRdWFydGVyO1xuY29uc3QgZmFSYWRpbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyYWRpbycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI1MV0sIFwiZjhkN1wiLCBcIk00OTQuOCA0N2MxMi43LTMuNyAyMC0xNy4xIDE2LjMtMjkuOFM0OTQtMi44IDQ4MS4yIDFMNTEuNyAxMjYuOWMtOS40IDIuNy0xNy45IDcuMy0yNS4xIDEzLjJDMTAuNSAxNTEuNyAwIDE3MC42IDAgMTkybDAgNEwwIDMwNCAwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtMjI5LjUgMEw0OTQuOCA0N3pNMzY4IDI0MGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNODAgMjU2YzAtOC44IDcuMi0xNiAxNi0xNmw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC05NiAwYy04LjggMC0xNi03LjItMTYtMTZ6TTY0IDMyMGMwLTguOCA3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgMzM2Yy04LjggMC0xNi03LjItMTYtMTZ6bTE2IDY0YzAtOC44IDcuMi0xNiAxNi0xNmw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC05NiAwYy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFCYWJ5Q2FycmlhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFieS1jYXJyaWFnZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2FycmlhZ2UtYmFieVwiXSwgXCJmNzdkXCIsIFwiTTI1NiAxOTJMLjEgMTkyQzIuNyAxMTcuOSA0MS4zIDUyLjkgOTkgMTQuMWMxMy4zLTguOSAzMC44LTQuMyAzOS45IDguOEwyNTYgMTkyem0xMjgtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDY0YzAgMjUuMi01LjggNTAuMi0xNyA3My41cy0yNy44IDQ0LjUtNDguNiA2Mi4zcy00NS41IDMyLTcyLjcgNDEuNlMyNTMuNCA0MTYgMjI0IDQxNnMtNTguNS01LTg1LjctMTQuNnMtNTEuOS0yMy44LTcyLjctNDEuNnMtMzcuMy0zOS00OC42LTYyLjNTMCAyNDkuMiAwIDIyNGwyMjQgMCAxNjAgMCAwLTY0ek04MCA0MTZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0yNDAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpcIl1cbn07XG5jb25zdCBmYUNhcnJpYWdlQmFieSA9IGZhQmFieUNhcnJpYWdlO1xuY29uc3QgZmFUcmFmZmljTGlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhZmZpYy1saWdodCcsXG4gIGljb246IFszMjAsIDUxMiwgWzEyODY3OF0sIFwiZjYzN1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM1MmMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MHMxNjAtNzEuNiAxNjAtMTYwbDAtMjg4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6bTk2IDQxNmE0OCA0OCAwIDEgMSAwLTk2IDQ4IDQ4IDAgMSAxIDAgOTZ6bTQ4LTE3NmE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwem0tNDgtODBhNDggNDggMCAxIDEgMC05NiA0OCA0OCAwIDEgMSAwIDk2elwiXVxufTtcbmNvbnN0IGZhVGhlcm1vbWV0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGhlcm1vbWV0ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0OTFcIiwgXCJNOTYgMzgyLjFsMC04OC44YzAtMTQuOSA1LjktMjkuMSAxNi40LTM5LjZsMjcuMy0yNy4zIDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDEuNC00MS40IDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDEuNC00MS40IDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDUuNS00NS41QzM1NS4yIDEwLjkgMzgxLjQgMCA0MDguOCAwQzQ2NS44IDAgNTEyIDQ2LjIgNTEyIDEwMy4yYzAgMjcuNC0xMC45IDUzLjYtMzAuMiA3M0wyNTguMyAzOTkuNmMtMTAuNSAxMC41LTI0LjcgMTYuNC0zOS42IDE2LjRsLTg4LjggMEw0MSA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsODktODl6XCJdXG59O1xuY29uc3QgZmFWckNhcmRib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ci1jYXJkYm9hcmQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3MjlcIiwgXCJNNTc2IDY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDEyMC40IDBjMjQuMiAwIDQ2LjQtMTMuNyA1Ny4yLTM1LjRsMzItNjRjOC44LTE3LjUgMjYuNy0yOC42IDQ2LjMtMjguNnMzNy41IDExLjEgNDYuMyAyOC42bDMyIDY0YzEwLjggMjEuNyAzMyAzNS40IDU3LjIgMzUuNEw1NzYgNDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0ek05NiAyNDBhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgOTYgMjQwem0zODQtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFIYW5kTWlkZGxlRmluZ2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtbWlkZGxlLWZpbmdlcicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODQwNV0sIFwiZjgwNlwiLCBcIk0yMzIgMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCAxNjQuMmMtOC41LTcuNi0xOS43LTEyLjItMzItMTIuMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA3IDAgNzNjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC01NS43Yy0yIDEuNC0zLjkgMy01LjggNC41TDU1IDI4NC44QzQwLjQgMjk3IDMyIDMxNSAzMiAzMzRMMzIgMzcyYzAgMzggMTYuOSA3NCA0Ni4xIDk4LjNsNS40IDQuNWMyOC44IDI0IDY1IDM3LjEgMTAyLjQgMzcuMUwzMDQgNTEyYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4bDAtNjQgMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OGMtMTIuNCAwLTIzLjYgNC43LTMyLjEgMTIuM0MzNTAgMjI3LjUgMzI5LjMgMjA4IDMwNCAyMDhjLTEyLjMgMC0yMy41IDQuNi0zMiAxMi4yTDI3MiA0MGMwLTIyLjEtMTcuOS00MC00MC00MHpcIl1cbn07XG5jb25zdCBmYVBlcmNlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyY2VudCcsXG4gIGljb246IFszODQsIDUxMiwgWzYyMTAxLCA2Mjc4NSwgXCJwZXJjZW50YWdlXCJdLCBcIjI1XCIsIFwiTTM3NC42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0zMjAgMzIwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDMyMC0zMjB6TTEyOCAxMjhBNjQgNjQgMCAxIDAgMCAxMjhhNjQgNjQgMCAxIDAgMTI4IDB6TTM4NCAzODRhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwelwiXVxufTtcbmNvbnN0IGZhUGVyY2VudGFnZSA9IGZhUGVyY2VudDtcbmNvbnN0IGZhVHJ1Y2tNb3ZpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stbW92aW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGRmXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzMDRsMCA4MCAwIDE2YzAgNDQuMiAzNS44IDgwIDgwIDgwYzI2LjIgMCA0OS40LTEyLjYgNjQtMzJjMTQuNiAxOS40IDM3LjggMzIgNjQgMzJjNDQuMiAwIDgwLTM1LjggODAtODBjMC01LjUtLjYtMTAuOC0xLjYtMTZMNDE2IDM4NGwzMy42IDBjLTEgNS4yLTEuNiAxMC41LTEuNiAxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtNS41LS42LTEwLjgtMS42LTE2bDEuNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjQgMC0xNiAwLTEwLjNjMC05LjItMy4yLTE4LjItOS0yNS4zbC01OC44LTcxLjhjLTEwLjYtMTMtMjYuNS0yMC41LTQzLjMtMjAuNUw0ODAgMTQ0bDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTU4NSAyNTZsLTEwNSAwIDAtNjQgNDguOCAwYzIuNCAwIDQuNyAxLjEgNi4yIDIuOUw1ODUgMjU2ek01MjggMzY4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTc2IDQwMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek04MCAzNjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhR2xhc3NXYXRlckRyb3BsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2xhc3Mtd2F0ZXItZHJvcGxldCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRmNVwiLCBcIk0zMiAwQzIzLjEgMCAxNC42IDMuNyA4LjYgMTAuMlMtLjYgMjUuNCAuMSAzNC4zTDI4LjkgNDM3LjdjMyA0MS45IDM3LjggNzQuMyA3OS44IDc0LjNsMTY2LjYgMGM0MiAwIDc2LjgtMzIuNCA3OS44LTc0LjNMMzgzLjkgMzQuM2MuNi04LjktMi40LTE3LjYtOC41LTI0LjFTMzYwLjkgMCAzNTIgMEwzMiAwek04MyAyOTcuNUw2Ni40IDY0bDI1MS4zIDBMMzAxIDI5Ny41IDI4OCAzMDRjLTIwLjEgMTAuMS00My45IDEwLjEtNjQgMHMtNDMuOS0xMC4xLTY0IDBzLTQzLjkgMTAuMS02NCAwbC0xMy02LjV6TTI1NiAxOTZjMC0yNC0zMy43LTcwLjEtNTIuMi05My41Yy02LjEtNy43LTE3LjUtNy43LTIzLjYgMEMxNjEuNyAxMjUuOSAxMjggMTcyIDEyOCAxOTZjMCAzMy4xIDI4LjcgNjAgNjQgNjBzNjQtMjYuOSA2NC02MHpcIl1cbn07XG5jb25zdCBmYURpc3BsYXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlzcGxheScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTE2M1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNzYgMC0xMC43IDMyTDE2MCA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY5LjMgMEwzMzYgNDE2bDE3NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTUxMiA2NGwwIDI4OEw2NCAzNTIgNjQgNjRsNDQ4IDB6XCJdXG59O1xuY29uc3QgZmFGYWNlU21pbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zbWlsZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU3OCwgXCJzbWlsZVwiXSwgXCJmMTE4XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuMSAzMjUuNUMxODIgMzQ2LjIgMjEyLjYgMzY4IDI1NiAzNjhzNzQtMjEuOCA5MS45LTQyLjVjNS44LTYuNyAxNS45LTcuNCAyMi42LTEuNnM3LjQgMTUuOSAxLjYgMjIuNkMzNDkuOCAzNzIuMSAzMTEuMSA0MDAgMjU2IDQwMHMtOTMuOC0yNy45LTExNi4xLTUzLjVjLTUuOC02LjctNS4xLTE2LjggMS42LTIyLjZzMTYuOC01LjEgMjIuNiAxLjZ6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhU21pbGUgPSBmYUZhY2VTbWlsZTtcbmNvbnN0IGZhVGh1bWJ0YWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1idGFjaycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODIwNCwgMTI4MzkyLCBcInRodW1iLXRhY2tcIl0sIFwiZjA4ZFwiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwTDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yOS41IDAgMTEuNCAxNDguMmMzNi43IDE5LjkgNjUuNyA1My4yIDc5LjUgOTQuN2wxIDNjMy4zIDkuOCAxLjYgMjAuNS00LjQgMjguOHMtMTUuNyAxMy4zLTI2IDEzLjNMMzIgMzUyYy0xMC4zIDAtMTkuOS00LjktMjYtMTMuM3MtNy43LTE5LjEtNC40LTI4LjhsMS0zYzEzLjgtNDEuNSA0Mi44LTc0LjggNzkuNS05NC43TDkzLjUgNjQgNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyek0xNjAgMzg0bDY0IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2elwiXVxufTtcbmNvbnN0IGZhVGh1bWJUYWNrID0gZmFUaHVtYnRhY2s7XG5jb25zdCBmYVRyb3BoeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cm9waHknLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjc5NDJdLCBcImYwOTFcIiwgXCJNNDAwIDBMMTc2IDBjLTI2LjUgMC00OC4xIDIxLjgtNDcuMSA0OC4yYy4yIDUuMyAuNCAxMC42IC43IDE1LjhMMjQgNjRDMTAuNyA2NCAwIDc0LjcgMCA4OGMwIDkyLjYgMzMuNSAxNTcgNzguNSAyMDAuN2M0NC4zIDQzLjEgOTguMyA2NC44IDEzOC4xIDc1LjhjMjMuNCA2LjUgMzkuNCAyNiAzOS40IDQ1LjZjMCAyMC45LTE3IDM3LjktMzcuOSAzNy45TDE5MiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI2LjEgMEMzMzcgNDQ4IDMyMCA0MzEgMzIwIDQxMC4xYzAtMTkuNiAxNS45LTM5LjIgMzkuNC00NS42YzM5LjktMTEgOTMuOS0zMi43IDEzOC4yLTc1LjhDNTQyLjUgMjQ1IDU3NiAxODAuNiA1NzYgODhjMC0xMy4zLTEwLjctMjQtMjQtMjRMNDQ2LjQgNjRjLjMtNS4yIC41LTEwLjQgLjctMTUuOEM0NDguMSAyMS44IDQyNi41IDAgNDAwIDB6TTQ4LjkgMTEybDg0LjQgMGM5LjEgOTAuMSAyOS4yIDE1MC4zIDUxLjkgMTkwLjZjLTI0LjktMTEtNTAuOC0yNi41LTczLjItNDguM2MtMzItMzEuMS01OC03Ni02My0xNDIuM3pNNDY0LjEgMjU0LjNjLTIyLjQgMjEuOC00OC4zIDM3LjMtNzMuMiA0OC4zYzIyLjctNDAuMyA0Mi44LTEwMC41IDUxLjktMTkwLjZsODQuNCAwYy01LjEgNjYuMy0zMS4xIDExMS4yLTYzIDE0Mi4zelwiXVxufTtcbmNvbnN0IGZhUGVyc29uUHJheWluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tcHJheWluZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODcyMCwgXCJwcmF5XCJdLCBcImY2ODNcIiwgXCJNMzUyIDY0QTY0IDY0IDAgMSAwIDIyNCA2NGE2NCA2NCAwIDEgMCAxMjggMHpNMjMyLjcgMjY0bDIyLjkgMzEuNWM2LjUgOC45IDE2LjMgMTQuNyAyNy4yIDE2LjFzMjEuOS0xLjcgMzAuNC04LjdsODgtNzJjMTcuMS0xNCAxOS42LTM5LjIgNS42LTU2LjNzLTM5LjItMTkuNi01Ni4zLTUuNmwtNTUuMiA0NS4yLTI2LjItMzZDMjUzLjYgMTU2LjcgMjI4LjYgMTQ0IDIwMiAxNDRjLTMwLjkgMC01OS4yIDE3LjEtNzMuNiA0NC40TDc5LjggMjgwLjljLTIwLjIgMzguNS05LjQgODUuOSAyNS42IDExMS44TDE1OC42IDQzMiA3MiA0MzJjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMjA4IDBjMTcuMyAwIDMyLjYtMTEuMSAzOC0yNy41cy0uMy0zNC40LTE0LjItNDQuN0wxODcuNyAzNTRsNDUtOTB6XCJdXG59O1xuY29uc3QgZmFQcmF5ID0gZmFQZXJzb25QcmF5aW5nO1xuY29uc3QgZmFIYW1tZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFtbWVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4Mjk2XSwgXCJmNmUzXCIsIFwiTTQxMy41IDIzNy41Yy0yOC4yIDQuOC01OC4yLTMuNi04MC0yNS40bC0zOC4xLTM4LjFDMjgwLjQgMTU5IDI3MiAxMzguOCAyNzIgMTE3LjZsMC0xMi4xTDE5Mi4zIDYyYy01LjMtMi45LTguNi04LjYtOC4zLTE0LjdzMy45LTExLjUgOS41LTE0bDQ3LjItMjFDMjU5LjEgNC4yIDI3OSAwIDI5OS4yIDBsMTguMSAwYzM2LjcgMCA3MiAxNCA5OC43IDM5LjFsNDQuNiA0MmMyNC4yIDIyLjggMzMuMiA1NS43IDI2LjYgODZMNTAzIDE4M2w4LThjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjQgMjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg4IDg4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMjQtMjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDgtOC0xNy41LTE3LjV6TTI3LjQgMzc3LjFMMjYwLjkgMTgyLjZjMy41IDQuOSA3LjUgOS42IDExLjggMTRsMzguMSAzOC4xYzYgNiAxMi40IDExLjIgMTkuMiAxNS43TDEzNC45IDQ4NC42Yy0xNC41IDE3LjQtMzYgMjcuNC01OC42IDI3LjRDMzQuMSA1MTIgMCA0NzcuOCAwIDQzNS43YzAtMjIuNiAxMC4xLTQ0LjEgMjcuNC01OC42elwiXVxufTtcbmNvbnN0IGZhSGFuZFBlYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtcGVhY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTk2XSwgXCJmMjViXCIsIFwiTTIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjA4LTY0IDAgMC0yMDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDE2MGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTY0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek05My4zIDUxLjJMMTc1LjkgMjQwbC02OS45IDBMMzQuNyA3Ni44QzI3LjYgNjAuNiAzNSA0MS44IDUxLjIgMzQuN3MzNS4xIC4zIDQyLjEgMTYuNXptMjcgMjIxLjNsLS4yLS41IDY5LjkgMCAyNi4xIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MmwwLS42YzkuNCA1LjQgMjAuMyA4LjYgMzIgOC42YzEzLjIgMCAyNS40LTQgMzUuNi0xMC44YzguNyAyNC45IDMyLjUgNDIuOCA2MC40IDQyLjhjMTEuNyAwIDIyLjYtMy4xIDMyLTguNmwwIDguNmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MGwtNjEuNyAwYy00Mi40IDAtODMuMS0xNi45LTExMy4xLTQ2LjlsLTExLjYtMTEuNkM3Ny41IDQyOS41IDY0IDM5Ni45IDY0IDM2M2wwLTI3YzAtMzIuNyAyNC42LTU5LjcgNTYuMy02My41elwiXVxufTtcbmNvbnN0IGZhUm90YXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdGF0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI2MCwgXCJzeW5jLWFsdFwiXSwgXCJmMmYxXCIsIFwiTTE0Mi45IDE0Mi45Yy0xNy41IDE3LjUtMzAuMSAzOC0zNy44IDU5LjhjLTUuOSAxNi43LTI0LjIgMjUuNC00MC44IDE5LjVzLTI1LjQtMjQuMi0xOS41LTQwLjhDNTUuNiAxNTAuNyA3My4yIDEyMiA5Ny42IDk3LjZjODcuMi04Ny4yIDIyOC4zLTg3LjUgMzE1LjgtMUw0NTUgNTVjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4ybDAgMTI4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC04LjQgMGMwIDAgMCAwIDAgMEwzNDQgMjI0Yy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhzLTEuNy0xOS4zIDUuMi0yNi4ybDQxLjEtNDEuMWMtNjIuNi02MS41LTE2My4xLTYxLjItMjI1LjMgMXpNMTYgMzEyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDcuNiAwIC43IDBMMTY4IDI4OGM5LjcgMCAxOC41IDUuOCAyMi4yIDE0LjhzMS43IDE5LjMtNS4yIDI2LjJsLTQxLjEgNDEuMWM2Mi42IDYxLjUgMTYzLjEgNjEuMiAyMjUuMy0xYzE3LjUtMTcuNSAzMC4xLTM4IDM3LjgtNTkuOGM1LjktMTYuNyAyNC4yLTI1LjQgNDAuOC0xOS41czI1LjQgMjQuMiAxOS41IDQwLjhjLTEwLjggMzAuNi0yOC40IDU5LjMtNTIuOSA4My44Yy04Ny4yIDg3LjItMjI4LjMgODcuNS0zMTUuOCAxTDU3IDQ1N2MtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMlMxNiA0NDkuNyAxNiA0NDBsMC0xMTkuNiAwLS43IDAtNy42elwiXVxufTtcbmNvbnN0IGZhU3luY0FsdCA9IGZhUm90YXRlO1xuY29uc3QgZmFTcGlubmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwaW5uZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxMTBcIiwgXCJNMzA0IDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTAgNDE2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQ4IDMwNGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTQ2NC00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xNDIuOSA0MzdBNDggNDggMCAxIDAgNzUgMzY5LjEgNDggNDggMCAxIDAgMTQyLjkgNDM3em0wLTI5NC4yQTQ4IDQ4IDAgMSAwIDc1IDc1YTQ4IDQ4IDAgMSAwIDY3LjkgNjcuOXpNMzY5LjEgNDM3QTQ4IDQ4IDAgMSAwIDQzNyAzNjkuMSA0OCA0OCAwIDEgMCAzNjkuMSA0Mzd6XCJdXG59O1xuY29uc3QgZmFSb2JvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2JvdCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTMwMl0sIFwiZjU0NFwiLCBcIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0IDEyMCAwYzM5LjggMCA3MiAzMi4yIDcyIDcybDAgMjcyYzAgMzkuOC0zMi4yIDcyLTcyIDcybC0zMDQgMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC0yNzJjMC0zOS44IDMyLjItNzIgNzItNzJsMTIwIDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjA4IDM4NGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwem05NiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDB6bTk2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMzIgMHpNMjY0IDI1NmE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwem0xNTIgNDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek00OCAyMjRsMTYgMCAwIDE5Mi0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em01NDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNiAwIDAtMTkyIDE2IDB6XCJdXG59O1xuY29uc3QgZmFQZWFjZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZWFjZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3NzRdLCBcImY2N2NcIiwgXCJNMjI0IDQ0NS4zbDAtMTIxLjgtOTQuMyA3Ny4xYzI2LjEgMjIuOCA1OC41IDM4LjcgOTQuMyA0NC43ek04OS4yIDM1MS4xTDIyNCAyNDAuOGwwLTE3NC4yQzEzMy4yIDgxLjkgNjQgMTYwLjkgNjQgMjU2YzAgMzQuNiA5LjIgNjcuMSAyNS4yIDk1LjF6bTI5My4xIDQ5LjVMMjg4IDMyMy41bDAgMTIxLjhjMzUuNy02IDY4LjEtMjEuOSA5NC4zLTQ0Ljd6bTQwLjYtNDkuNWMxNi0yOCAyNS4yLTYwLjUgMjUuMi05NS4xYzAtOTUuMS02OS4yLTE3NC4xLTE2MC0xODkuM2wwIDE3NC4yTDQyMi44IDM1MS4xek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6XCJdXG59O1xuY29uc3QgZmFHZWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnZWFycycsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY29nc1wiXSwgXCJmMDg1XCIsIFwiTTMwOC41IDEzNS4zYzcuMS02LjMgOS45LTE2LjIgNi4yLTI1Yy0yLjMtNS4zLTQuOC0xMC41LTcuNi0xNS41TDMwNCA4OS40Yy0zLTUtNi4zLTkuOS05LjgtMTQuNmMtNS43LTcuNi0xNS43LTEwLjEtMjQuNy03LjFsLTI4LjIgOS4zYy0xMC43LTguOC0yMy0xNi0zNi4yLTIwLjlMMTk5IDI3LjFjLTEuOS05LjMtOS4xLTE2LjctMTguNS0xNy44QzE3My45IDguNCAxNjcuMiA4IDE2MC40IDhsLS43IDBjLTYuOCAwLTEzLjUgLjQtMjAuMSAxLjJjLTkuNCAxLjEtMTYuNiA4LjYtMTguNSAxNy44TDExNSA1Ni4xYy0xMy4zIDUtMjUuNSAxMi4xLTM2LjIgMjAuOUw1MC41IDY3LjhjLTktMy0xOS0uNS0yNC43IDcuMWMtMy41IDQuNy02LjggOS42LTkuOSAxNC42bC0zIDUuM2MtMi44IDUtNS4zIDEwLjItNy42IDE1LjZjLTMuNyA4LjctLjkgMTguNiA2LjIgMjVsMjIuMiAxOS44QzMyLjYgMTYxLjkgMzIgMTY4LjkgMzIgMTc2cy42IDE0LjEgMS43IDIwLjlMMTEuNSAyMTYuN2MtNy4xIDYuMy05LjkgMTYuMi02LjIgMjVjMi4zIDUuMyA0LjggMTAuNSA3LjYgMTUuNmwzIDUuMmMzIDUuMSA2LjMgOS45IDkuOSAxNC42YzUuNyA3LjYgMTUuNyAxMC4xIDI0LjcgNy4xbDI4LjItOS4zYzEwLjcgOC44IDIzIDE2IDM2LjIgMjAuOWw2LjEgMjkuMWMxLjkgOS4zIDkuMSAxNi43IDE4LjUgMTcuOGM2LjcgLjggMTMuNSAxLjIgMjAuNCAxLjJzMTMuNy0uNCAyMC40LTEuMmM5LjQtMS4xIDE2LjYtOC42IDE4LjUtMTcuOGw2LjEtMjkuMWMxMy4zLTUgMjUuNS0xMi4xIDM2LjItMjAuOWwyOC4yIDkuM2M5IDMgMTkgLjUgMjQuNy03LjFjMy41LTQuNyA2LjgtOS41IDkuOC0xNC42bDMuMS01LjRjMi44LTUgNS4zLTEwLjIgNy42LTE1LjVjMy43LTguNyAuOS0xOC42LTYuMi0yNWwtMjIuMi0xOS44YzEuMS02LjggMS43LTEzLjggMS43LTIwLjlzLS42LTE0LjEtMS43LTIwLjlsMjIuMi0xOS44ek0xMTIgMTc2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTUwNC43IDUwMC41YzYuMyA3LjEgMTYuMiA5LjkgMjUgNi4yYzUuMy0yLjMgMTAuNS00LjggMTUuNS03LjZsNS40LTMuMWM1LTMgOS45LTYuMyAxNC42LTkuOGM3LjYtNS43IDEwLjEtMTUuNyA3LjEtMjQuN2wtOS4zLTI4LjJjOC44LTEwLjcgMTYtMjMgMjAuOS0zNi4ybDI5LjEtNi4xYzkuMy0xLjkgMTYuNy05LjEgMTcuOC0xOC41Yy44LTYuNyAxLjItMTMuNSAxLjItMjAuNHMtLjQtMTMuNy0xLjItMjAuNGMtMS4xLTkuNC04LjYtMTYuNi0xNy44LTE4LjVMNTgzLjkgMzA3Yy01LTEzLjMtMTIuMS0yNS41LTIwLjktMzYuMmw5LjMtMjguMmMzLTkgLjUtMTktNy4xLTI0LjdjLTQuNy0zLjUtOS42LTYuOC0xNC42LTkuOWwtNS4zLTNjLTUtMi44LTEwLjItNS4zLTE1LjYtNy42Yy04LjctMy43LTE4LjYtLjktMjUgNi4ybC0xOS44IDIyLjJjLTYuOC0xLjEtMTMuOC0xLjctMjAuOS0xLjdzLTE0LjEgLjYtMjAuOSAxLjdsLTE5LjgtMjIuMmMtNi4zLTcuMS0xNi4yLTkuOS0yNS02LjJjLTUuMyAyLjMtMTAuNSA0LjgtMTUuNiA3LjZsLTUuMiAzYy01LjEgMy05LjkgNi4zLTE0LjYgOS45Yy03LjYgNS43LTEwLjEgMTUuNy03LjEgMjQuN2w5LjMgMjguMmMtOC44IDEwLjctMTYgMjMtMjAuOSAzNi4yTDMxNS4xIDMxM2MtOS4zIDEuOS0xNi43IDkuMS0xNy44IDE4LjVjLS44IDYuNy0xLjIgMTMuNS0xLjIgMjAuNHMuNCAxMy43IDEuMiAyMC40YzEuMSA5LjQgOC42IDE2LjYgMTcuOCAxOC41bDI5LjEgNi4xYzUgMTMuMyAxMi4xIDI1LjUgMjAuOSAzNi4ybC05LjMgMjguMmMtMyA5LS41IDE5IDcuMSAyNC43YzQuNyAzLjUgOS41IDYuOCAxNC42IDkuOGw1LjQgMy4xYzUgMi44IDEwLjIgNS4zIDE1LjUgNy42YzguNyAzLjcgMTguNiAuOSAyNS02LjJsMTkuOC0yMi4yYzYuOCAxLjEgMTMuOCAxLjcgMjAuOSAxLjdzMTQuMS0uNiAyMC45LTEuN2wxOS44IDIyLjJ6TTQ2NCAzMDRhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbmNvbnN0IGZhQ29ncyA9IGZhR2VhcnM7XG5jb25zdCBmYVdhcmVob3VzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YXJlaG91c2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0OTRcIiwgXCJNMCA0ODhMMCAxNzEuM2MwLTI2LjIgMTUuOS00OS43IDQwLjItNTkuNEwzMDguMSA0LjhjNy42LTMuMSAxNi4xLTMuMSAyMy44IDBMNTk5LjggMTExLjljMjQuMyA5LjcgNDAuMiAzMy4zIDQwLjIgNTkuNEw2NDAgNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI2NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzg0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjY0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptNDg4IDI0bC0zMzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC01NiAzODQgMCAwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0ek0xMjggNDAwbDAtNjQgMzg0IDAgMCA2NC0zODQgMHptMC05NmwwLTgwIDM4NCAwIDAgODAtMzg0IDB6XCJdXG59O1xuY29uc3QgZmFBcnJvd1VwUmlnaHREb3RzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLXJpZ2h0LWRvdHMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YjdcIiwgXCJNMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTAuNyAwTDkuNCAyNjUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNTYgMTA5LjNsMCA1MC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJMMTYwIDB6TTU3NiA4MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NDggMjA4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQwMCAzODRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em00OCA4MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0xMjggMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0yNzIgMzg0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDggODBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTQ0IDUxMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTU3NiAzMzZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHptLTQ4LTgwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG5jb25zdCBmYVNwbG90Y2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Bsb3RjaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjViY1wiLCBcIk0yMDguNSA2Mi4zbDI4LjEtMzYuOUMyNDguOCA5LjQgMjY3LjggMCAyODggMGMyOC41IDAgNTMuNiAxOC43IDYxLjggNDZsMTcuOCA1OS40YzEwLjMgMzQuNCAzNi4xIDYyIDY5LjggNzQuNmwzOS44IDE0LjljMjAuOSA3LjkgMzQuOCAyNy45IDM0LjggNTAuMmMwIDE2LjktNy45IDMyLjgtMjEuNSA0Mi45bC02Ny4zIDUwLjVjLTI0LjMgMTguMi0zNy4yIDQ3LjktMzMuOCA3OC4xbDIuNSAyMi43YzQuMyAzOC43LTI2IDcyLjYtNjUgNzIuNmMtMTQuOCAwLTI5LjMtNS4xLTQwLjgtMTQuM2wtNTUuNC00NC4zYy00LjUtMy42LTkuMy02LjctMTQuNS05LjJjLTE1LjgtNy45LTMzLjctMTAuNC01MS03LjNMODIuNCA0NTEuOUM0Ny44IDQ1OC4yIDE2IDQzMS42IDE2IDM5Ni41YzAtMTMuMiA0LjctMjYgMTMuMS0zNi4ybDExLjItMTMuNGMxNC42LTE3LjQgMjIuNi0zOS40IDIyLjYtNjIuMWMwLTE4LjgtNS41LTM3LjItMTUuOC01M0w4LjggMTczLjVDMy4xIDE2NC43IDAgMTU0LjQgMCAxNDMuOWMwLTMzLjQgMzAuMS01OC44IDYzLTUzLjJsNTEuMyA4LjdjMzUuOSA2LjEgNzIuMi04LjIgOTQuMi0zNy4xelwiXVxufTtcbmNvbnN0IGZhRmFjZUdyaW5IZWFydHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLWhlYXJ0cycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUyNSwgXCJncmluLWhlYXJ0c1wiXSwgXCJmNTg0XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6TTE5OS4zIDEyOS4xYzE3LjggNC44IDI4LjQgMjMuMSAyMy42IDQwLjhsLTE3LjQgNjVjLTIuMyA4LjUtMTEuMSAxMy42LTE5LjYgMTEuM2wtNjUuMS0xNy40Yy0xNy44LTQuOC0yOC40LTIzLjEtMjMuNi00MC44czIzLjEtMjguNCA0MC44LTIzLjZsMTYuMSA0LjMgNC4zLTE2LjFjNC44LTE3LjggMjMuMS0yOC40IDQwLjgtMjMuNnptMTU0LjMgMjMuNmw0LjMgMTYuMSAxNi4xLTQuM2MxNy44LTQuOCAzNi4xIDUuOCA0MC44IDIzLjZzLTUuOCAzNi4xLTIzLjYgNDAuOGwtNjUuMSAxNy40Yy04LjUgMi4zLTE3LjMtMi44LTE5LjYtMTEuM2wtMTcuNC02NWMtNC44LTE3LjggNS44LTM2LjEgMjMuNi00MC44czM2LjEgNS44IDQwLjkgMjMuNnpcIl1cbn07XG5jb25zdCBmYUdyaW5IZWFydHMgPSBmYUZhY2VHcmluSGVhcnRzO1xuY29uc3QgZmFEaWNlRm91ciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLWZvdXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODU5XSwgXCJmNTI0XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNjAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTM1MiAxNjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFTaW1DYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpbS1jYXJkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmN2M0XCIsIFwiTTY0IDBMMjQyLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyA5NmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0QzAgMjguNyAyOC43IDAgNjQgMHpNOTYgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyIDY0IDAgMC02NC0zMiAwek02NCAzNTJsODAgMCA5NiAwIDgwIDAgMC02NC04MCAwLTk2IDAtODAgMCAwIDY0ek0zMjAgMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwIDAgNjQgNjQgMCAwLTMyek0xNjAgMTkybDAgNjQgNjQgMCAwLTY0LTY0IDB6TTI4OCA0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMi02NCAwIDAgNjQgMzIgMHpNMTYwIDM4NGwwIDY0IDY0IDAgMC02NC02NCAwek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMCAwLTY0LTY0IDAgMCAzMnpcIl1cbn07XG5jb25zdCBmYVRyYW5zZ2VuZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYW5zZ2VuZGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg5NSwgXCJ0cmFuc2dlbmRlci1hbHRcIl0sIFwiZjIyNVwiLCBcIk0xMTIgMGM2LjUgMCAxMi4zIDMuOSAxNC44IDkuOXMxLjEgMTIuOS0zLjUgMTcuNGwtMzEgMzFMMTEyIDc4LjFsNy03YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNyA3IDE1LjIgMTUuMkMxODcuNyAxMDcuNiAyMjAuNSA5NiAyNTYgOTZzNjguMyAxMS42IDk0LjkgMzEuMmw2OC44LTY4LjgtMzEtMzFjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjRzOC4zLTkuOSAxNC44LTkuOWw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDk2YzAgNi41LTMuOSAxMi4zLTkuOSAxNC44cy0xMi45IDEuMS0xNy40LTMuNWwtMzEtMzEtNjguOCA2OC44QzQwNC40IDE4Ny43IDQxNiAyMjAuNSA0MTYgMjU2YzAgODAuMi01OSAxNDYuNi0xMzYgMTU4LjJsMCAxNy44IDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDAgMC0xNy44QzE1NSA0MDIuNiA5NiAzMzYuMiA5NiAyNTZjMC0zNS41IDExLjYtNjguMyAzMS4yLTk0LjlMMTEyIDE0NS45bC03IDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNy03TDU4LjMgOTIuM2wtMzEgMzFjLTQuNiA0LjYtMTEuNSA1LjktMTcuNCAzLjVTMCAxMTguNSAwIDExMkwwIDE2QzAgNy4yIDcuMiAwIDE2IDBsOTYgMHpNMzUyIDI1NmE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6XCJdXG59O1xuY29uc3QgZmFUcmFuc2dlbmRlckFsdCA9IGZhVHJhbnNnZW5kZXI7XG5jb25zdCBmYU1lcmN1cnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWVyY3VyeScsXG4gIGljb246IFszODQsIDUxMiwgWzk3OTFdLCBcImYyMjNcIiwgXCJNNzIuMSA3Qzg1LjgtNCAxMDYtMS44IDExNyAxMmMxNy42IDIyIDQ0LjcgMzYgNzUgMzZzNTcuMy0xNCA3NS0zNmMxMS4xLTEzLjggMzEuMi0xNiA0NS01czE2IDMxLjIgNSA0NWMtNy44IDkuNy0xNi42IDE4LjQtMjYuNCAyNi4xQzMzNy4zIDEwOS43IDM2OCAxNjMuMyAzNjggMjI0YzAgODkuMS02Ni4yIDE2Mi43LTE1MiAxNzQuNGwwIDI1LjYgMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMCAwIDE2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTYtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwzMiAwIDAtMjUuNkM4Mi4yIDM4Ni43IDE2IDMxMy4xIDE2IDIyNGMwLTYwLjcgMzAuNy0xMTQuMyA3Ny41LTE0NS45QzgzLjcgNzAuNSA3NC45IDYxLjcgNjcuMSA1MmMtMTEuMS0xMy44LTguOC0zMy45IDUtNDV6TTgwIDIyNGExMTIgMTEyIDAgMSAwIDIyNCAwQTExMiAxMTIgMCAxIDAgODAgMjI0elwiXVxufTtcbmNvbnN0IGZhQXJyb3dUdXJuRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy10dXJuLWRvd24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImxldmVsLWRvd25cIl0sIFwiZjE0OVwiLCBcIk0zMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyUzE0LjMgMCAzMiAwbDk2IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDMwNi43IDczLjQtNzMuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0xMjggMTI4Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxNjAgNDAyLjcgMTYwIDk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDY0elwiXVxufTtcbmNvbnN0IGZhTGV2ZWxEb3duID0gZmFBcnJvd1R1cm5Eb3duO1xuY29uc3QgZmFQZXJzb25GYWxsaW5nQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWZhbGxpbmctYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NDdcIiwgXCJNMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOS44YzAgMzktMjMuNyA3NC01OS45IDg4LjRDNzEuNiAxNTQuNSAzMiAyMTMgMzIgMjc4LjJMMzIgMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC03My44YzAtMTAgMS42LTE5LjggNC41LTI5TDI2MS4xIDQ5Ny40YzkuNiAxNC44IDI5LjQgMTkuMSA0NC4zIDkuNXMxOS4xLTI5LjQgOS41LTQ0LjNMMjIyLjYgMzIwbDEuNCAwIDgwIDAgMzguNCA1MS4yYzEwLjYgMTQuMSAzMC43IDE3IDQ0LjggNi40czE3LTMwLjcgNi40LTQ0LjhsLTQzLjItNTcuNkMzNDEuMyAyNjMuMSAzMjcuMSAyNTYgMzEyIDI1NmwtNzEuNSAwLTU2LjgtODAuMi0uMi0uM2M0NC43LTI5IDcyLjUtNzkgNzIuNS0xMzMuNmwwLTkuOHpNOTYgODBBNDggNDggMCAxIDAgMCA4MGE0OCA0OCAwIDEgMCA5NiAwek00NjQgMjg2LjFsNTguNiA1My45YzQuOCA0LjQgMTEuOSA1LjUgMTcuOCAyLjZzOS41LTkgOS0xNS41bC01LjYtNzkuNCA3OC43LTEyLjJjNi41LTEgMTEuNy01LjkgMTMuMS0xMi4ycy0xLjEtMTMtNi41LTE2LjdsLTY1LjYtNDUuMUw2MDMgOTIuMmMzLjMtNS43IDIuNy0xMi44LTEuNC0xNy45cy0xMC45LTcuMi0xNy4yLTUuM0w1MDguMyA5Mi4xbC0yOS40LTc0QzQ3Ni40IDEyIDQ3MC42IDggNDY0IDhzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMMzQzLjYgNjguOWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zcy00LjYgMTIuMi0xLjQgMTcuOWwzOS41IDY5LjEtNjUuNiA0NS4xYy01LjQgMy43LTggMTAuMy02LjUgMTYuN2MuMSAuMyAuMSAuNiAuMiAuOGwxOS40IDBjMjAuMSAwIDM5LjIgNy41IDUzLjggMjAuOGwxOC40IDIuOUwzODMgMjY1LjNsMzYuMiA0OC4zYzIuMSAyLjggMy45IDUuNyA1LjUgOC42TDQ2NCAyODYuMXpcIl1cbn07XG5jb25zdCBmYUF3YXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2F3YXJkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTU5XCIsIFwiTTE3My44IDUuNWMxMS03LjMgMjUuNC03LjMgMzYuNCAwTDIyOCAxNy4yYzYgMy45IDEzIDUuOCAyMC4xIDUuNGwyMS4zLTEuM2MxMy4yLS44IDI1LjYgNi40IDMxLjUgMTguMmw5LjYgMTkuMWMzLjIgNi40IDguNCAxMS41IDE0LjcgMTQuN0wzNDQuNSA4M2MxMS44IDUuOSAxOSAxOC4zIDE4LjIgMzEuNWwtMS4zIDIxLjNjLS40IDcuMSAxLjUgMTQuMiA1LjQgMjAuMWwxMS44IDE3LjhjNy4zIDExIDcuMyAyNS40IDAgMzYuNEwzNjYuOCAyMjhjLTMuOSA2LTUuOCAxMy01LjQgMjAuMWwxLjMgMjEuM2MuOCAxMy4yLTYuNCAyNS42LTE4LjIgMzEuNWwtMTkuMSA5LjZjLTYuNCAzLjItMTEuNSA4LjQtMTQuNyAxNC43TDMwMSAzNDQuNWMtNS45IDExLjgtMTguMyAxOS0zMS41IDE4LjJsLTIxLjMtMS4zYy03LjEtLjQtMTQuMiAxLjUtMjAuMSA1LjRsLTE3LjggMTEuOGMtMTEgNy4zLTI1LjQgNy4zLTM2LjQgMEwxNTYgMzY2LjhjLTYtMy45LTEzLTUuOC0yMC4xLTUuNGwtMjEuMyAxLjNjLTEzLjIgLjgtMjUuNi02LjQtMzEuNS0xOC4ybC05LjYtMTkuMWMtMy4yLTYuNC04LjQtMTEuNS0xNC43LTE0LjdMMzkuNSAzMDFjLTExLjgtNS45LTE5LTE4LjMtMTguMi0zMS41bDEuMy0yMS4zYy40LTcuMS0xLjUtMTQuMi01LjQtMjAuMUw1LjUgMjEwLjJjLTcuMy0xMS03LjMtMjUuNCAwLTM2LjRMMTcuMiAxNTZjMy45LTYgNS44LTEzIDUuNC0yMC4xbC0xLjMtMjEuM2MtLjgtMTMuMiA2LjQtMjUuNiAxOC4yLTMxLjVsMTkuMS05LjZDNjUgNzAuMiA3MC4yIDY1IDczLjQgNTguNkw4MyAzOS41YzUuOS0xMS44IDE4LjMtMTkgMzEuNS0xOC4ybDIxLjMgMS4zYzcuMSAuNCAxNC4yLTEuNSAyMC4xLTUuNEwxNzMuOCA1LjV6TTI3MiAxOTJhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwek0xLjMgNDQxLjhMNDQuNCAzMzkuM2MuMiAuMSAuMyAuMiAuNCAuNGw5LjYgMTkuMWMxMS43IDIzLjIgMzYgMzcuMyA2MiAzNS44bDIxLjMtMS4zYy4yIDAgLjUgMCAuNyAuMmwxNy44IDExLjhjNS4xIDMuMyAxMC41IDUuOSAxNi4xIDcuN2wtMzcuNiA4OS4zYy0yLjMgNS41LTcuNCA5LjItMTMuMyA5LjdzLTExLjYtMi4yLTE0LjgtNy4yTDc0LjQgNDU1LjVsLTU2LjEgOC4zYy01LjcgLjgtMTEuNC0xLjUtMTUtNnMtNC4zLTEwLjctMi4xLTE2em0yNDggNjAuNEwyMTEuNyA0MTNjNS42LTEuOCAxMS00LjMgMTYuMS03LjdsMTcuOC0xMS44Yy4yLS4xIC40LS4yIC43LS4ybDIxLjMgMS4zYzI2IDEuNSA1MC4zLTEyLjYgNjItMzUuOGw5LjYtMTkuMWMuMS0uMiAuMi0uMyAuNC0uNGw0My4yIDEwMi41YzIuMiA1LjMgMS40IDExLjQtMi4xIDE2cy05LjMgNi45LTE1IDZsLTU2LjEtOC4zLTMyLjIgNDkuMmMtMy4yIDUtOC45IDcuNy0xNC44IDcuMnMtMTEtNC4zLTEzLjMtOS43elwiXVxufTtcbmNvbnN0IGZhVGlja2V0U2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RpY2tldC1zaW1wbGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInRpY2tldC1hbHRcIl0sIFwiZjNmZlwiLCBcIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgOC44LTcuNCAxNS43LTE1LjcgMTguNkM1NDEuNSAyMTcuMSA1MjggMjM1IDUyOCAyNTZzMTMuNSAzOC45IDMyLjMgNDUuNGM4LjMgMi45IDE1LjcgOS44IDE1LjcgMTguNmwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTguOCA3LjQtMTUuNyAxNS43LTE4LjZDMzQuNSAyOTQuOSA0OCAyNzcgNDggMjU2cy0xMy41LTM4LjktMzIuMy00NS40QzcuNCAyMDcuNyAwIDIwMC44IDAgMTkybDAtNjR6XCJdXG59O1xuY29uc3QgZmFUaWNrZXRBbHQgPSBmYVRpY2tldFNpbXBsZTtcbmNvbnN0IGZhQnVpbGRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjc5NzAsIDYxNjg3XSwgXCJmMWFkXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAgOTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTQxNmMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAwek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTEyLTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTgwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhQW5nbGVzTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZXMtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzE3MSwgXCJhbmdsZS1kb3VibGUtbGVmdFwiXSwgXCJmMTAwXCIsIFwiTTQxLjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAyNTYgMjQ2LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6bTM1Mi0xNjBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzMDEuMyAyNTYgNDM4LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDB6XCJdXG59O1xuY29uc3QgZmFBbmdsZURvdWJsZUxlZnQgPSBmYUFuZ2xlc0xlZnQ7XG5jb25zdCBmYVFyY29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdxcmNvZGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwMjlcIiwgXCJNMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODB6TTY0IDk2bDAgNjQgNjQgMCAwLTY0TDY0IDk2ek0wIDMzNmMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6bTY0IDE2bDAgNjQgNjQgMCAwLTY0LTY0IDB6TTMwNCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6bTgwIDY0bC02NCAwIDAgNjQgNjQgMCAwLTY0ek0yNTYgMzA0YzAtOC44IDcuMi0xNiAxNi0xNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNnM3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZzNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2cy03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTYwek0zNjggNDgwYTE2IDE2IDAgMSAxIDAtMzIgMTYgMTYgMCAxIDEgMCAzMnptNjQgMGExNiAxNiAwIDEgMSAwLTMyIDE2IDE2IDAgMSAxIDAgMzJ6XCJdXG59O1xuY29uc3QgZmFDbG9ja1JvdGF0ZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvY2stcm90YXRlLWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImhpc3RvcnlcIl0sIFwiZjFkYVwiLCBcIk03NSA3NUw0MSA0MUMyNS45IDI1LjkgMCAzNi42IDAgNTcuOUwwIDE2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTAuMSAwYzIxLjQgMCAzMi4xLTI1LjkgMTctNDFsLTMwLjgtMzAuOEMxNTUgODUuNSAyMDMgNjQgMjU2IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkycy04NiAxOTItMTkyIDE5MmMtNDAuOCAwLTc4LjYtMTIuNy0xMDkuNy0zNC40Yy0xNC41LTEwLjEtMzQuNC02LjYtNDQuNiA3LjlzLTYuNiAzNC40IDcuOSA0NC42QzE1MS4yIDQ5NSAyMDEuNyA1MTIgMjU2IDUxMmMxNDEuNCAwIDI1Ni0xMTQuNiAyNTYtMjU2UzM5Ny40IDAgMjU2IDBDMTg1LjMgMCAxMjEuMyAyOC43IDc1IDc1em0xODEgNTNjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTA0YzAgNi40IDIuNSAxMi41IDcgMTdsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NS02NSAwLTk0LjFjMC0xMy4zLTEwLjctMjQtMjQtMjR6XCJdXG59O1xuY29uc3QgZmFIaXN0b3J5ID0gZmFDbG9ja1JvdGF0ZUxlZnQ7XG5jb25zdCBmYUZhY2VHcmluQmVhbVN3ZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi1iZWFtLXN3ZWF0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTE3LCBcImdyaW4tYmVhbS1zd2VhdFwiXSwgXCJmNTgzXCIsIFwiTTQ3Ni44IDEyNi4zYy00LjEgMS4xLTguNCAxLjctMTIuOCAxLjdjLTI2LjUgMC00OC0yMS00OC00N2MwLTUgMS44LTExLjMgNC42LTE4LjFjLjMtLjcgLjYtMS40IC45LTIuMWM5LTIwLjIgMjYuNS00NC45IDM2LTU3LjVjMy4yLTQuNCA5LjYtNC40IDEyLjggMEM0ODMuNCAyMC42IDUxMiA2MSA1MTIgODFjMCAyMS43LTE0LjkgMzkuOC0zNS4yIDQ1LjN6TTI1NiAwYzUxLjQgMCA5OS4zIDE1LjIgMTM5LjQgNDEuMmMtMS41IDMuMS0zIDYuMi00LjMgOS4zYy0zLjQgOC03LjEgMTktNy4xIDMwLjVjMCA0NC4zIDM2LjYgNzkgODAgNzljOS42IDAgMTguOC0xLjcgMjcuNC00LjhjMTMuMyAzMC45IDIwLjYgNjUgMjAuNiAxMDAuOGMwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzAgMzk3LjQgMCAyNTZTMTE0LjYgMCAyNTYgMHpNMzgzLjggMzE3LjhDMzQ1LjMgMzI5LjQgMzAxLjkgMzM2IDI1NiAzMzZzLTg5LjMtNi42LTEyNy44LTE4LjJjLTEyLjMtMy43LTI0LjMgNy0xOS4yIDE4LjdjMjQuNSA1Ni45IDgxLjEgOTYuNyAxNDcgOTYuN3MxMjIuNS0zOS44IDE0Ny05Ni43YzUuMS0xMS44LTYuOS0yMi40LTE5LjItMTguN3ptLTE2Ni4yLTg5czAgMCAwIDBzMCAwIDAgMGMyLjEgMi44IDUuNyAzLjkgOC45IDIuOHM1LjUtNC4xIDUuNS03LjZjMC0xNy45LTYuNy0zNS42LTE2LjYtNDguOGMtOS44LTEzLTIzLjktMjMuMi0zOS40LTIzLjJzLTI5LjYgMTAuMi0zOS40IDIzLjJDMTI2LjcgMTg4LjQgMTIwIDIwNi4xIDEyMCAyMjRjMCAzLjQgMi4yIDYuNSA1LjUgNy42czYuOSAwIDguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMi0uMmMuMi0uMiAuNC0uNSAuNy0uOWMuNi0uOCAxLjYtMiAyLjgtMy40YzIuNS0yLjggNi02LjYgMTAuMi0xMC4zYzguOC03LjggMTguOC0xNCAyNy43LTE0czE4LjkgNi4yIDI3LjcgMTRjNC4yIDMuNyA3LjcgNy41IDEwLjIgMTAuM2MxLjIgMS40IDIuMiAyLjYgMi44IDMuNGMuMyAuNCAuNiAuNyAuNyAuOWwuMiAuMmMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHptMTYwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMi4xIDIuOCA1LjcgMy45IDguOSAyLjhzNS41LTQuMSA1LjUtNy42YzAtMTcuOS02LjctMzUuNi0xNi42LTQ4LjhjLTkuOC0xMy0yMy45LTIzLjItMzkuNC0yMy4ycy0yOS42IDEwLjItMzkuNCAyMy4yQzI4Ni43IDE4OC40IDI4MCAyMDYuMSAyODAgMjI0YzAgMy40IDIuMiA2LjUgNS41IDcuNnM2LjkgMCA4LjktMi44YzAgMCAwIDAgMCAwczAgMCAwIDBjMCAwIDAgMCAwIDBsLjItLjJjLjItLjIgLjQtLjUgLjctLjljLjYtLjggMS42LTIgMi44LTMuNGMyLjUtMi44IDYtNi42IDEwLjItMTAuM2M4LjgtNy44IDE4LjgtMTQgMjcuNy0xNHMxOC45IDYuMiAyNy43IDE0YzQuMiAzLjcgNy43IDcuNSAxMC4yIDEwLjNjMS4yIDEuNCAyLjIgMi42IDIuOCAzLjRjLjMgLjQgLjYgLjcgLjcgLjlsLjIgLjJjMCAwIDAgMCAwIDB6XCJdXG59O1xuY29uc3QgZmFHcmluQmVhbVN3ZWF0ID0gZmFGYWNlR3JpbkJlYW1Td2VhdDtcbmNvbnN0IGZhRmlsZUV4cG9ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWV4cG9ydCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYXJyb3ctcmlnaHQtZnJvbS1maWxlXCJdLCBcImY1NmVcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjI0IDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAxMjgtMTY4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTY4IDAgMCAxMTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0zODQgMzM2bDAtNDggMTEwLjEgMC0zOS0zOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDgwIDgwYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04MCA4MGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzOS0zOUwzODQgMzM2em0wLTIwOGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpcIl1cbn07XG5jb25zdCBmYUFycm93UmlnaHRGcm9tRmlsZSA9IGZhRmlsZUV4cG9ydDtcbmNvbnN0IGZhU2hpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODczNywgXCJzaGllbGQtYmxhbmtcIl0sIFwiZjEzMlwiLCBcIk0yNTYgMGM0LjYgMCA5LjIgMSAxMy40IDIuOUw0NTcuNyA4Mi44YzIyIDkuMyAzOC40IDMxIDM4LjMgNTcuMmMtLjUgOTkuMi00MS4zIDI4MC43LTIxMy42IDM2My4yYy0xNi43IDgtMzYuMSA4LTUyLjggMEM1Ny4zIDQyMC43IDE2LjUgMjM5LjIgMTYgMTQwYy0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni44IDEgMjUxLjQgMCAyNTYgMHpcIl1cbn07XG5jb25zdCBmYVNoaWVsZEJsYW5rID0gZmFTaGllbGQ7XG5jb25zdCBmYUFycm93VXBTaG9ydFdpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtc2hvcnQtd2lkZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbW91bnQtdXAtYWx0XCJdLCBcImY4ODVcIiwgXCJNMTUxLjYgNDIuNEMxNDUuNSAzNS44IDEzNyAzMiAxMjggMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDk2IDE0Ni4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzAxLjcgMzIuNCAzNS40YzExLjkgMTMgMzIuMiAxMy45IDQ1LjIgMnMxMy45LTMyLjIgMi00NS4ybC04OC05NnpNMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwelwiXVxufTtcbmNvbnN0IGZhU29ydEFtb3VudFVwQWx0ID0gZmFBcnJvd1VwU2hvcnRXaWRlO1xuY29uc3QgZmFIb3VzZU1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbWVkaWNhbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTNiMlwiLCBcIk01NDMuOCAyODcuNmMxNyAwIDMyLTE0IDMyLTMyLjFjMS05LTMtMTctMTEtMjRMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFsMzIgMCAwIDE2MC40YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMC40IDBjMzUuNSAwIDY0LjItMjguOCA2NC02NC4zbC0uNy0xNjAuMiAzMiAwek0yNTYgMjA4YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhR29sZkJhbGxUZWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ29sZi1iYWxsLXRlZScsXG4gIGljb246IFszODQsIDUxMiwgW1wiZ29sZi1iYWxsXCJdLCBcImY0NTBcIiwgXCJNMzg0IDE5MmMwIDY2LjgtMzQuMSAxMjUuNi04NS44IDE2MEw4NS44IDM1MkMzNC4xIDMxNy42IDAgMjU4LjggMCAxOTJDMCA4NiA4NiAwIDE5MiAwUzM4NCA4NiAzODQgMTkyek0yNDIuMSAyNTYuNmMwIDE4LjUtMTUgMzMuNS0zMy41IDMzLjVjLTQuOSAwLTkuMSA1LjEtNS40IDguNGM1LjkgNS4yIDEzLjcgOC40IDIyLjEgOC40YzE4LjUgMCAzMy41LTE1IDMzLjUtMzMuNWMwLTguNS0zLjItMTYuMi04LjQtMjIuMWMtMy4zLTMuNy04LjQgLjUtOC40IDUuNHptLTUyLjMtNDkuM2MtNC45IDAtOS4xIDUuMS01LjQgOC40YzUuOSA1LjIgMTMuNyA4LjQgMjIuMSA4LjRjMTguNSAwIDMzLjUtMTUgMzMuNS0zMy41YzAtOC41LTMuMi0xNi4yLTguNC0yMi4xYy0zLjMtMy43LTguNCAuNS04LjQgNS40YzAgMTguNS0xNSAzMy41LTMzLjUgMzMuNXptMTEzLjUtMTcuNWMwIDE4LjUtMTUgMzMuNS0zMy41IDMzLjVjLTQuOSAwLTkuMSA1LjEtNS40IDguNGM1LjkgNS4yIDEzLjcgOC40IDIyLjEgOC40YzE4LjUgMCAzMy41LTE1IDMzLjUtMzMuNWMwLTguNS0zLjItMTYuMi04LjQtMjIuMWMtMy4zLTMuNy04LjQgLjUtOC40IDUuNHpNOTYgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDAgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhR29sZkJhbGwgPSBmYUdvbGZCYWxsVGVlO1xuY29uc3QgZmFDaXJjbGVDaGV2cm9uTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtY2hldnJvbi1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCJdLCBcImYxMzdcIiwgXCJNNTEyIDI1NkEyNTYgMjU2IDAgMSAwIDAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDB6TTI3MSAxMzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC04NyA4NyA4NyA4N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE2NyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDI3MSAxMzV6XCJdXG59O1xuY29uc3QgZmFDaGV2cm9uQ2lyY2xlTGVmdCA9IGZhQ2lyY2xlQ2hldnJvbkxlZnQ7XG5jb25zdCBmYUhvdXNlQ2hpbW5leVdpbmRvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaGltbmV5LXdpbmRvdycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTAwZFwiLCBcIk01NzUuOCAyNTUuNWMwIDE4LTE1IDMyLjEtMzIgMzIuMWwtMzIgMCAuNyAxNjAuMmMuMiAzNS41LTI4LjUgNjQuMy02NCA2NC4zbC0zMjAuNCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE2MC40LTMyIDBjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQxNiAxMDAuNyA0MTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyMSA1Mi44IDQ2LjRjOCA3IDEyIDE1IDExIDI0ek0yNDggMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtODAgMHpcIl1cbn07XG5jb25zdCBmYVBlbk5pYiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4tbmliJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTAwMDFdLCBcImY1YWRcIiwgXCJNMzY4LjQgMTguM0wzMTIuNyA3NC4xIDQzNy45IDE5OS4zbDU1LjctNTUuN2MyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NDcuNiAxOC4zYy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMHpNMjg4IDk0LjZsLTkuMiAyLjhMMTM0LjcgMTQwLjZjLTE5LjkgNi0zNS43IDIxLjItNDIuMyA0MUwzLjggNDQ1LjhjLTMuOCAxMS4zLTEgMjMuOSA3LjMgMzIuNEwxNjQuNyAzMjQuN2MtMy02LjMtNC43LTEzLjMtNC43LTIwLjdjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGMtNy40IDAtMTQuNC0xLjctMjAuNy00LjdMMzMuNyA1MDAuOWM4LjYgOC4zIDIxLjEgMTEuMiAzMi40IDcuM2wyNjQuMy04OC42YzE5LjctNi42IDM1LTIyLjQgNDEtNDIuM2w0My4yLTE0NC4xIDIuNy05LjJMMjg4IDk0LjZ6XCJdXG59O1xuY29uc3QgZmFUZW50QXJyb3dUdXJuTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93LXR1cm4tbGVmdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU4MFwiLCBcIk0xMjAuMSA0MS44YzkuOS04LjkgMTAuNy0yNCAxLjgtMzMuOVM5Ny44LTIuNyA4Ny45IDYuMmwtODAgNzJDMi45IDgyLjcgMCA4OS4yIDAgOTZzMi45IDEzLjMgNy45IDE3LjhsODAgNzJjOS45IDguOSAyNSA4LjEgMzMuOS0xLjhzOC4xLTI1LTEuOC0zMy45TDg2LjUgMTIwIDQ1NiAxMjBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDBjMC02Ni4zLTUzLjctMTIwLTEyMC0xMjBMODYuNSA3MmwzMy41LTMwLjJ6TTMwNy40IDE2Ni41Yy0xMS41LTguNy0yNy4zLTguNy0zOC44IDBsLTE2OCAxMjhjLTYuNiA1LTExIDEyLjUtMTIuMyAyMC43bC0yNCAxNjBjLTEuNCA5LjIgMS4zIDE4LjYgNy40IDI1LjZTODYuNyA1MTIgOTYgNTEybDE0NCAwIDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMTguMWMwLTUuNSA0LjQtOS45IDkuOS05LjljMy43IDAgNy4yIDIuMSA4LjggNS41bDY4LjQgMTM2LjhjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w2MC4yIDAgMTYgMGM5LjMgMCAxOC4yLTQuMSAyNC4yLTExLjFzOC44LTE2LjQgNy40LTI1LjZsLTI0LTE2MGMtMS4yLTguMi01LjYtMTUuNy0xMi4zLTIwLjdsLTE2OC0xMjh6XCJdXG59O1xuY29uc3QgZmFUZW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU4MlwiLCBcIk0zOTYuNiA2LjVMMjM1LjggMTI5LjFjOS42IDEuOCAxOC45IDUuOCAyNyAxMmwxNjggMTI4YzEzLjIgMTAuMSAyMiAyNC45IDI0LjUgNDEuNGw2LjIgNDEuNUw2MDggMzUyYzkuMyAwIDE4LjItNC4xIDI0LjItMTEuMXM4LjgtMTYuNCA3LjQtMjUuNmwtMjQtMTYwYy0xLjItOC4yLTUuNi0xNS43LTEyLjMtMjAuN2wtMTY4LTEyOGMtMTEuNS04LjctMjcuMy04LjctMzguOCAwem0tMTUzLjIgMTYwYy0xMS41LTguNy0yNy4zLTguNy0zOC44IDBsLTE2OCAxMjhjLTYuNiA1LTExIDEyLjUtMTIuMyAyMC43bC0yNCAxNjBjLTEuNCA5LjIgMS4zIDE4LjYgNy40IDI1LjZTMjIuNyA1MTIgMzIgNTEybDE0NCAwIDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMTguMWMwLTUuNSA0LjQtOS45IDkuOS05LjljMy43IDAgNy4yIDIuMSA4LjggNS41bDY4LjQgMTM2LjhjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w2MC4yIDAgMTYgMGM5LjMgMCAxOC4yLTQuMSAyNC4yLTExLjFzOC44LTE2LjQgNy40LTI1LjZsLTI0LTE2MGMtMS4yLTguMi01LjYtMTUuNy0xMi4zLTIwLjdsLTE2OC0xMjh6XCJdXG59O1xuY29uc3QgZmFXYW5kTWFnaWMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2FuZC1tYWdpYycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibWFnaWNcIl0sIFwiZjBkMFwiLCBcIk0xNC4xIDQ2My4zYy0xOC43LTE4LjctMTguNy00OS4xIDAtNjcuOUwzOTUuNCAxNC4xYzE4LjctMTguNyA0OS4xLTE4LjcgNjcuOSAwbDM0LjYgMzQuNmMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUwxMTYuNSA0OTcuOWMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBMMTQuMSA0NjMuM3pNMzQ3LjYgMTg3LjZsMTA1LTEwNUw0MjkuNCA1OS4zbC0xMDUgMTA1IDIzLjMgMjMuM3pcIl1cbn07XG5jb25zdCBmYU1hZ2ljID0gZmFXYW5kTWFnaWM7XG5jb25zdCBmYURvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb2cnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMjFdLCBcImY2ZDNcIiwgXCJNMzA5LjYgMTU4LjVMMzMyLjcgMTkuOEMzMzQuNiA4LjQgMzQ0LjUgMCAzNTYuMSAwYzcuNSAwIDE0LjUgMy41IDE5IDkuNUwzOTIgMzJsNTIuMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFMNDk2IDY0bDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtMzIgMC0xNiAwLTIxLjMgMC01LjEgMzAuNS0xMTItNjR6TTQxNiAyNTYuMUw0MTYgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExNS4yYy0yNCAxMi4zLTUxLjIgMTkuMi04MCAxOS4ycy01Ni02LjktODAtMTkuMkwxNjAgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIzMC4yYy0yOC44LTEwLjktNTEuNC0zNS4zLTU5LjItNjYuNUwxIDE2Ny44Yy00LjMtMTcuMSA2LjEtMzQuNSAyMy4zLTM4LjhzMzQuNSA2LjEgMzguOCAyMy4zbDMuOSAxNS41QzcwLjUgMTgyIDgzLjMgMTkyIDk4IDE5MmwzMCAwIDE2IDAgMTU5LjggMEw0MTYgMjU2LjF6TTQ2NCA4MGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbmNvbnN0IGZhQ2Fycm90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcnJvdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM2NV0sIFwiZjc4N1wiLCBcIk0zNDYuNyA2QzMzNy42IDE3IDMyMCA0Mi4zIDMyMCA3MmMwIDQwIDE1LjMgNTUuMyA0MCA4MHM0MCA0MCA4MCA0MGMyOS43IDAgNTUtMTcuNiA2Ni0yNi43YzQtMy4zIDYtOC4yIDYtMTMuM3MtMi0xMC02LTEzLjJjLTExLjQtOS4xLTM4LjMtMjYuOC03NC0yNi44Yy0zMiAwLTQwIDgtNDAgOHM4LTggOC00MGMwLTM1LjctMTcuNy02Mi42LTI2LjgtNzRDMzcwIDIgMzY1LjEgMCAzNjAgMHMtMTAgMi0xMy4zIDZ6TTI0NC42IDEzNmMtNDAgMC03Ny4xIDE4LjEtMTAxLjcgNDguMmw2MC41IDYwLjVjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNTUuMy01NS4zIDAgLjFMMi4yIDQ3Ny45Qy0yIDQ4Ny0uMSA0OTcuOCA3IDUwNXMxNy45IDkgMjcuMSA0LjhsMTM0LjctNjIuNC01Mi4xLTUyLjFjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEwxOTkuNyA0MzNsMTAwLjItNDYuNGM0Ni40LTIxLjUgNzYuMi02OCA3Ni4yLTExOS4yQzM3NiAxOTQuOCAzMTcuMiAxMzYgMjQ0LjYgMTM2elwiXVxufTtcbmNvbnN0IGZhTW9vbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb29uJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI3NzY5LCA5MjE0XSwgXCJmMTg2XCIsIFwiTTIyMy41IDMyQzEwMCAzMiAwIDEzMi4zIDAgMjU2UzEwMCA0ODAgMjIzLjUgNDgwYzYwLjYgMCAxMTUuNS0yNC4yIDE1NS44LTYzLjRjNS00LjkgNi4zLTEyLjUgMy4xLTE4LjdzLTEwLjEtOS43LTE3LTguNWMtOS44IDEuNy0xOS44IDIuNi0zMC4xIDIuNmMtOTYuOSAwLTE3NS41LTc4LjgtMTc1LjUtMTc2YzAtNjUuOCAzNi0xMjMuMSA4OS4zLTE1My4zYzYuMS0zLjUgOS4yLTEwLjUgNy43LTE3LjNzLTcuMy0xMS45LTE0LjMtMTIuNWMtNi4zLS41LTEyLjYtLjgtMTktLjh6XCJdXG59O1xuY29uc3QgZmFXaW5lR2xhc3NFbXB0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5lLWdsYXNzLWVtcHR5JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ3aW5lLWdsYXNzLWFsdFwiXSwgXCJmNWNlXCIsIFwiTTY0IDBDNDcuNCAwIDMzLjUgMTIuOCAzMi4xIDI5LjNsLTE0IDE2OC40Yy02IDcyIDQyLjUgMTM1LjIgMTA5LjkgMTUwLjZsMCA5OS42LTQ4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODAgMCA4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00OCAwIDAtOTkuNmM2Ny40LTE1LjQgMTE1LjktNzguNiAxMDkuOS0xNTAuNmwtMTQtMTY4LjRDMjg2LjUgMTIuOCAyNzIuNiAwIDI1NiAwTDY0IDB6TTgxLjkgMjAzLjFMOTMuNCA2NGwxMzMuMSAwIDExLjYgMTM5LjFDMjQyIDI0OC44IDIwNS45IDI4OCAxNjAgMjg4cy04Mi0zOS4yLTc4LjEtODQuOXpcIl1cbn07XG5jb25zdCBmYVdpbmVHbGFzc0FsdCA9IGZhV2luZUdsYXNzRW1wdHk7XG5jb25zdCBmYUNoZWVzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVlc2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZWZcIiwgXCJNNTEyIDI0MC4ybDAgMTUuOEwwIDI1NmMwLTIwIDEwLTM4LjcgMjYuNi00OS44TDI3NC45IDQwLjdjOC42LTUuNyAxOC42LTguNyAyOC45LTguN0M0MTguOCAzMiA1MTIgMTI1LjIgNTEyIDI0MC4yem0wIDQ3LjhsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDI4OGw1MTIgMHpcIl1cbn07XG5jb25zdCBmYVlpbllhbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneWluLXlhbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5Nzc1XSwgXCJmNmFkXCIsIFwiTTI1NiA2NGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NnMtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZDMTUwIDQ0OCA2NCAzNjIgNjQgMjU2UzE1MCA2NCAyNTYgNjR6bTAgNDQ4QTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMzItMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTIyNCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG5jb25zdCBmYU11c2ljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ211c2ljJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTI1XSwgXCJmMDAxXCIsIFwiTTQ5OS4xIDYuM2M4LjEgNiAxMi45IDE1LjYgMTIuOSAyNS43bDAgNzIgMCAyNjRjMCA0NC4yLTQzIDgwLTk2IDgwcy05Ni0zNS44LTk2LTgwczQzLTgwIDk2LTgwYzExLjIgMCAyMiAxLjYgMzIgNC42TDQ0OCAxNDcgMTkyIDIyMy44IDE5MiA0MzJjMCA0NC4yLTQzIDgwLTk2IDgwcy05Ni0zNS44LTk2LTgwczQzLTgwIDk2LTgwYzExLjIgMCAyMiAxLjYgMzIgNC42TDEyOCAyMDBsMC03MmMwLTE0LjEgOS4zLTI2LjYgMjIuOC0zMC43bDMyMC05NmM5LjctMi45IDIwLjItMS4xIDI4LjMgNXpcIl1cbn07XG5jb25zdCBmYUNvZGVDb21taXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29kZS1jb21taXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYzODZcIiwgXCJNMzIwIDMzNmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMTU2LjgtNDhDNDYyIDM2MSAzOTcuNCA0MTYgMzIwIDQxNnMtMTQyLTU1LTE1Ni44LTEyOEwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTMxLjIgMEMxNzggMTUxIDI0Mi42IDk2IDMyMCA5NnMxNDIgNTUgMTU2LjggMTI4TDYwOCAyMjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEzMS4yIDB6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZUxvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1sb3cnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3NmJcIiwgXCJNNDQ4IDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCA5NmE5NiA5NiAwIDEgMSAxOTIgMEE5NiA5NiAwIDEgMSAzMjAgOTZ6TTE0NCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjQuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41QzcwLjIgMzMyLjYgNjQgMzQ5LjUgNjQgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNUwxOTIgMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0zMiAxMTJDMzIgNTAuMiA4Mi4xIDAgMTQ0IDBzMTEyIDUwLjEgMTEyIDExMmwwIDE2NC40YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzAgNDQ3LjUgMCAzNjhjMC0zMy4yIDExLjItNjMuOCAzMC4xLTg4LjFjLjktMS4yIDEuNS0yLjIgMS43LTIuOGMuMS0uMyAuMi0uNSAuMi0uNkwzMiAxMTJ6TTE5MiAzNjhjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuN2MwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNTAuN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjN6XCJdXG59O1xuY29uc3QgZmFQZXJzb25CaWtpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWJpa2luZycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY5MiwgXCJiaWtpbmdcIl0sIFwiZjg0YVwiLCBcIk00MDAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0yNy4yIDY0bC02MS44LTQ4LjhjLTE3LjMtMTMuNi00MS43LTEzLjgtNTkuMS0uM2wtODMuMSA2NC4yYy0zMC43IDIzLjgtMjguNSA3MC44IDQuMyA5MS42TDI4OCAzMDUuMSAyODggNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjhjMC0xMC43LTUuMy0yMC43LTE0LjItMjYuNkwyOTUgMjMyLjlsNjAuMy00OC41TDM5NiAyMTdjNS43IDQuNSAxMi43IDcgMjAgN2w2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01Mi44IDB6TTU2IDM4NGE3MiA3MiAwIDEgMSAxNDQgMEE3MiA3MiAwIDEgMSA1NiAzODR6bTIwMCAwQTEyOCAxMjggMCAxIDAgMCAzODRhMTI4IDEyOCAwIDEgMCAyNTYgMHptMTg0IDBhNzIgNzIgMCAxIDEgMTQ0IDAgNzIgNzIgMCAxIDEgLTE0NCAwem0yMDAgMGExMjggMTI4IDAgMSAwIC0yNTYgMCAxMjggMTI4IDAgMSAwIDI1NiAwelwiXVxufTtcbmNvbnN0IGZhQmlraW5nID0gZmFQZXJzb25CaWtpbmc7XG5jb25zdCBmYUJyb29tID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jyb29tJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI5NTI5XSwgXCJmNTFhXCIsIFwiTTU2Ni42IDU0LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTItMzQuNy0zNC43Yy00LjItNC4yLTEwLTYuNi0xNi02LjZjLTEyLjUgMC0yMi42IDEwLjEtMjIuNiAyMi42bDAgMjkuMUwzNjQuMyAzMjBsMjkuMSAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZsLTM0LjctMzQuNyAxOTItMTkyek0zNDEuMSAzNTMuNEwyMjIuNiAyMzQuOWMtNDIuNy0zLjctODUuMiAxMS43LTExNS44IDQyLjNsLTggOEM3Ni41IDMwNy41IDY0IDMzNy43IDY0IDM2OS4yYzAgNi44IDcuMSAxMS4yIDEzLjIgOC4ybDUxLjEtMjUuNWM1LTIuNSA5LjUgNC4xIDUuNCA3LjlMNy4zIDQ3My40QzIuNyA0NzcuNiAwIDQ4My42IDAgNDg5LjlDMCA1MDIuMSA5LjkgNTEyIDIyLjEgNTEybDE3My4zIDBjMzguOCAwIDc1LjktMTUuNCAxMDMuNC00Mi44YzMwLjYtMzAuNiA0NS45LTczLjEgNDIuMy0xMTUuOHpcIl1cbn07XG5jb25zdCBmYVNoaWVsZEhlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1oZWFydCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU3NFwiLCBcIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMmMuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjJjMTYuNyA4IDM2LjEgOCA1Mi44IDBDNDU0LjcgNDIwLjcgNDk1LjUgMjM5LjIgNDk2IDE0MGMuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0xNDQgMjIxLjNjMC0zMy44IDI3LjQtNjEuMyA2MS4zLTYxLjNjMTYuMiAwIDMxLjggNi41IDQzLjMgMTcuOWw3LjQgNy40IDcuNC03LjRjMTEuNS0xMS41IDI3LjEtMTcuOSA0My4zLTE3LjljMzMuOCAwIDYxLjMgMjcuNCA2MS4zIDYxLjNjMCAxNi4yLTYuNSAzMS44LTE3LjkgNDMuM2wtODIuNyA4Mi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtODIuNy04Mi43Yy0xMS41LTExLjUtMTcuOS0yNy4xLTE3LjktNDMuM3pcIl1cbn07XG5jb25zdCBmYUdvcHVyYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ29wdXJhbScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY2NFwiLCBcIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDggNDAgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggNDggMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggNDAgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggMCAzMiAwIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwIDAtMTYwLTMyIDAgMC0xMjgtMzIgMCAwLTk2LTMyIDAgMCA5NiAzMiAwIDAgMTI4IDMyIDAgMCAxNjAtODAgMCAwLTQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4bDAgNDgtODAgMCAwLTE2MCAzMiAwIDAtMTI4IDMyIDAgMC05Ni0zMiAwIDAgOTYtMzIgMCAwIDEyOC0zMiAwIDAgMTYwLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNjQgMC0zMiAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTI1NiAyNzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tMzItODBsMCAzMiA2NCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFFYXJ0aE9jZWFuaWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWFydGgtb2NlYW5pYScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ2xvYmUtb2NlYW5pYVwiXSwgXCJlNDdiXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yMDguNiAzNTcuM2wtMzktMTMuNWMtNi41LTIuMi0xMy42LTIuMy0yMC4xLS4zbC0xNS4zIDQuOWMtMTguNSA1LjktMzguNS0yLjQtNDcuNS0xOS41bC0zLjMtNi4yYy0xMC42LTIwLjEtMi4zLTQ1IDE4LjItNTQuN2wzNS4zLTE2LjhjMi4zLTEuMSA0LjQtMi44IDUuOS00LjhsNS4zLTdjNy4yLTkuNiAxOC42LTE1LjMgMzAuNi0xNS4zczIzLjQgNS43IDMwLjYgMTUuM2w0LjYgNi4xYzIgMi42IDQuOSA0LjUgOC4xIDUuMWM3LjggMS42IDE1LjctMS41IDIwLjQtNy45bDEwLjQtMTQuMmMyLTIuOCA1LjMtNC40IDguNy00LjRjNC40IDAgOC40IDIuNyAxMCA2LjhsMTAuMSAyNS45YzIuOCA3LjIgNi43IDE0IDExLjUgMjAuMkwzMTEgMjk5LjhjNS44IDcuNCA5IDE2LjYgOSAyNnMtMy4yIDE4LjYtOSAyNkwyOTkgMzY3LjJjLTguMyAxMC42LTIxIDE2LjgtMzQuNCAxNi44Yy04LjQgMC0xNi42LTIuNC0yMy43LTdsLTI1LjQtMTYuNGMtMi4yLTEuNC00LjUtMi41LTYuOS0zLjR6bTY1LjItMjE0LjhMMjk2IDE2NC43YzEwLjEgMTAuMSAyLjkgMjcuMy0xMS4zIDI3LjNsLTI5LjkgMGMtNS42IDAtMTEuMS0xLjItMTYuMi0zLjRsLTQyLjgtMTljLTE0LjMtNi4zLTExLjktMjcuMyAzLjQtMzAuM2wzOC41LTcuN2MxMy4xLTIuNiAyNi43IDEuNSAzNi4xIDEwLjl6TTI0OCA0MzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnpNNDMxLjIgMjk4LjlsOCAyNGMyLjggOC40LTEuNyAxNy40LTEwLjEgMjAuMnMtMTcuNC0xLjctMjAuMi0xMC4xbC04LTI0Yy0yLjgtOC40IDEuNy0xNy40IDEwLjEtMjAuMnMxNy40IDEuNyAyMC4yIDEwLjF6bS0xOS45IDgwLjRsLTMyIDMyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDMyLTMyYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG5jb25zdCBmYUdsb2JlT2NlYW5pYSA9IGZhRWFydGhPY2VhbmlhO1xuY29uc3QgZmFTcXVhcmVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUteG1hcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMDA2MiwgXCJ0aW1lcy1zcXVhcmVcIiwgXCJ4bWFyay1zcXVhcmVcIl0sIFwiZjJkM1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem03OSAxNDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNDcgNDcgNDctNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00NyA0NyA0NyA0N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00Ny00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Ny00Ny00Ny00N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6XCJdXG59O1xuY29uc3QgZmFUaW1lc1NxdWFyZSA9IGZhU3F1YXJlWG1hcms7XG5jb25zdCBmYVhtYXJrU3F1YXJlID0gZmFTcXVhcmVYbWFyaztcbmNvbnN0IGZhSGFzaHRhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXNodGFnJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjIwOThdLCBcIjIzXCIsIFwiTTE4MS4zIDMyLjRjMTcuNCAyLjkgMjkuMiAxOS40IDI2LjMgMzYuOEwxOTcuOCAxMjhsOTUuMSAwIDExLjUtNjkuM2MyLjktMTcuNCAxOS40LTI5LjIgMzYuOC0yNi4zczI5LjIgMTkuNCAyNi4zIDM2LjhMMzU3LjggMTI4bDU4LjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjguOSAwTDMyNS44IDMyMGw1OC4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY4LjkgMC0xMS41IDY5LjNjLTIuOSAxNy40LTE5LjQgMjkuMi0zNi44IDI2LjNzLTI5LjItMTkuNC0yNi4zLTM2LjhsOS44LTU4LjctOTUuMSAwLTExLjUgNjkuM2MtMi45IDE3LjQtMTkuNCAyOS4yLTM2LjggMjYuM3MtMjkuMi0xOS40LTI2LjMtMzYuOEw5MC4yIDM4NCAzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjguOSAwIDIxLjMtMTI4TDY0IDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2OC45IDAgMTEuNS02OS4zYzIuOS0xNy40IDE5LjQtMjkuMiAzNi44LTI2LjN6TTE4Ny4xIDE5MkwxNjUuOCAzMjBsOTUuMSAwIDIxLjMtMTI4LTk1LjEgMHpcIl1cbn07XG5jb25zdCBmYVVwUmlnaHRBbmREb3duTGVmdEZyb21DZW50ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXhwYW5kLWFsdFwiXSwgXCJmNDI0XCIsIFwiTTM0NCAwTDQ4OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3TDMyNyA0MWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlMzMzQuMyAwIDM0NCAwek0xNjggNTEyTDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMCAzNDRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4ybDM5IDM5IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMyIDMyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04NyA4NyAzOSAzOWM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4ycy0xMi41IDE0LjgtMjIuMiAxNC44elwiXVxufTtcbmNvbnN0IGZhRXhwYW5kQWx0ID0gZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyO1xuY29uc3QgZmFPaWxDYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb2lsLWNhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjYxM1wiLCBcIk0zMjAgMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzItODAgMC00OCAwLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjQuOGMwIDE5IDExLjIgMzYuMiAyOC41IDQzLjlsNjcuNSAzMEw5NiAzNjhjMCAyNi41IDIxLjUgNDggNDggNDhsMjU5LjEgMGMxOC40IDAgMzUuOC03LjkgNDgtMjEuN0w2MzMuNSAxODcuN2MxMi4zLTEzLjktLjMtMzUuNC0xOC40LTMxLjVMNDQ4IDE5MmwtNTAuNS0yNS4yYy04LjktNC40LTE4LjctNi44LTI4LjYtNi44TDI4OCAxNjBsMC0zMiAzMiAwek05NiAyMDhsMCA4Ni4xTDQ4IDI3Mi44IDQ4IDIwOGw0OCAwelwiXVxufTtcbmNvbnN0IGZhVCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTE2XSwgXCI1NFwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMTI4IDAgMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1MiAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwxOTIgMzIgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFIaXBwbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoaXBwbycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTQzNV0sIFwiZjZlZFwiLCBcIk00MDcgNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMTcuMiAxNy4yYzEuOS0uMSAzLjktLjIgNS44LS4ybDMyIDBjMTEuMiAwIDIxLjkgMi4zIDMxLjYgNi41TDU0MyA1NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNTY0IDEwMS45YzcuNiAxMi4yIDEyIDI2LjcgMTIgNDIuMWMwIDEwLjIgNy40IDE4LjggMTYuNyAyM2MyNy45IDEyLjUgNDcuMyA0MC41IDQ3LjMgNzNjMCAyNi4yLTEyLjYgNDkuNC0zMiA2NGwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTYtNjQgMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTcuNmMtMTEuOC0yLjQtMjIuNy03LjQtMzItMTQuNGMtMS41LTEuMS0yLjktMi4zLTQuMy0zLjVjLTE3LTE0LjctMjcuNy0zNi40LTI3LjctNjAuNWMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmMwIDQ0LjcgMjYuMiA4My4yIDY0IDEwMS4ybDAgMTAuOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzZjLTE5LjggNy43LTQxLjQgMTItNjQgMTJzLTQ0LjItNC4zLTY0LTEybDAgNzZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTE4LjlMNDUuOSAzNjkuN2MtNS40IDEyLjEtMTkuNiAxNy42LTMxLjcgMTIuMlMtMy4zIDM2Mi40IDIuMSAzNTAuM0wyNCAzMDAuOWM1LjMtMTEuOSA4LTI0LjcgOC0zNy43QzMyIDE1NS43IDExNy4yIDY4IDIyMy44IDY0LjFsLjItLjEgNy4yIDBMMjU2IDY0bDMyIDBjNDEuNyAwIDgzLjQgMTIuMSAxMTcuMiAyNS43YzEuNy0xLjggMy41LTMuNiA1LjMtNS4yTDQwNyA4MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6bTczIDE4NWEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem04OCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTQ4MCAxNDRhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbmNvbnN0IGZhQ2hhcnRDb2x1bW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtY29sdW1uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMGUzXCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6TTE2MCAyMjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xMjgtNjRsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptNjQgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek00ODAgOTZsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpcIl1cbn07XG5jb25zdCBmYUluZmluaXR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2luZmluaXR5JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbODczNCwgOTg1NF0sIFwiZjUzNFwiLCBcIk0wIDI0MS4xQzAgMTYxIDY1IDk2IDE0NS4xIDk2YzM4LjUgMCA3NS40IDE1LjMgMTAyLjYgNDIuNUwzMjAgMjEwLjdsNzIuMi03Mi4yQzQxOS41IDExMS4zIDQ1Ni40IDk2IDQ5NC45IDk2QzU3NSA5NiA2NDAgMTYxIDY0MCAyNDEuMWwwIDI5LjdDNjQwIDM1MSA1NzUgNDE2IDQ5NC45IDQxNmMtMzguNSAwLTc1LjQtMTUuMy0xMDIuNi00Mi41TDMyMCAzMDEuM2wtNzIuMiA3Mi4yQzIyMC41IDQwMC43IDE4My42IDQxNiAxNDUuMSA0MTZDNjUgNDE2IDAgMzUxIDAgMjcwLjlsMC0yOS43ek0yNzQuNyAyNTZsLTcyLjItNzIuMmMtMTUuMi0xNS4yLTM1LjktMjMuOC01Ny40LTIzLjhDMTAwLjMgMTYwIDY0IDE5Ni4zIDY0IDI0MS4xbDAgMjkuN2MwIDQ0LjggMzYuMyA4MS4xIDgxLjEgODEuMWMyMS41IDAgNDIuMi04LjUgNTcuNC0yMy44TDI3NC43IDI1NnptOTAuNSAwbDcyLjIgNzIuMmMxNS4yIDE1LjIgMzUuOSAyMy44IDU3LjQgMjMuOGM0NC44IDAgODEuMS0zNi4zIDgxLjEtODEuMWwwLTI5LjdjMC00NC44LTM2LjMtODEuMS04MS4xLTgxLjFjLTIxLjUgMC00Mi4yIDguNS01Ny40IDIzLjhMMzY1LjMgMjU2elwiXVxufTtcbmNvbnN0IGZhVmlhbENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpYWwtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTk2XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNjQgMCA2NCAwIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNzAuOGMtMjAuMiAyOC42LTMyIDYzLjUtMzIgMTAxLjJjMCAyNS4yIDUuMyA0OS4xIDE0LjggNzAuOEMxODkuNSA0NjMuNyAxNjAuNiA0ODAgMTI4IDQ4MGMtNTMgMC05Ni00My05Ni05NkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek05NiA5NmwwIDk2IDY0IDAgMC05Nkw5NiA5NnpNMjI0IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwzNTIgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkFycm93RG93blRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tYXJyb3ctZG93bi10by1saW5lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTM4XCIsIFwiTTE5MiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDM1MmwwLTk2IDE2IDAgMCA5Ni0xNiAwem0tNjQgMGwtODggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjAgMCA4MCAwIDM3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zNDQgMCAwLTE5MS4xIDI4LjYgNDcuNWM5LjEgMTUuMSAyOC44IDIwIDQzLjkgMTAuOXMyMC0yOC44IDEwLjktNDMuOWwtNTguMy05N2MtMTcuNC0yOC45LTQ4LjYtNDYuNi04Mi4zLTQ2LjZsLTI5LjcgMGMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMMTIwIDI1Ni45IDEyMCA0NDh6TTQ2NCA2NGwwIDI0Mi43LTI1LjQtMjUuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsODAgODBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsODAtODBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMNTI4IDMwNi43IDUyOCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG5jb25zdCBmYVZvaWNlbWFpbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2b2ljZW1haWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY4OTdcIiwgXCJNMTQ0IDMyMGE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHptMTE5LjggMGMxNS4zLTIyLjkgMjQuMi01MC40IDI0LjItODBjMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRTMCAxNjAuNSAwIDI0MHM2NC41IDE0NCAxNDQgMTQ0bDM1MiAwYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0cy02NC41LTE0NC0xNDQtMTQ0cy0xNDQgNjQuNS0xNDQgMTQ0YzAgMjkuNiA4LjkgNTcuMSAyNC4yIDgwbC0xMTIuNSAwek00OTYgMTYwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbmNvbnN0IGZhRmFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjg2M1wiLCBcIk0yNTguNiAwYy0xLjcgMC0zLjQgLjEtNS4xIC41QzE2OCAxNyAxMTUuNiAxMDIuMyAxMzAuNSAxODkuM2MyLjkgMTcgOC40IDMyLjkgMTUuOSA0Ny40TDMyIDIyNGwtMi42IDBDMTMuMiAyMjQgMCAyMzcuMiAwIDI1My40YzAgMS43IC4xIDMuNCAuNSA1LjFDMTcgMzQ0IDEwMi4zIDM5Ni40IDE4OS4zIDM4MS41YzE3LTIuOSAzMi45LTguNCA0Ny40LTE1LjlMMjI0IDQ4MGwwIDIuNmMwIDE2LjIgMTMuMiAyOS40IDI5LjQgMjkuNGMxLjcgMCAzLjQtLjEgNS4xLS41QzM0NCA0OTUgMzk2LjQgNDA5LjcgMzgxLjUgMzIyLjdjLTIuOS0xNy04LjQtMzIuOS0xNS45LTQ3LjRMNDgwIDI4OGwyLjYgMGMxNi4yIDAgMjkuNC0xMy4yIDI5LjQtMjkuNGMwLTEuNy0uMS0zLjQtLjUtNS4xQzQ5NSAxNjggNDA5LjcgMTE1LjYgMzIyLjcgMTMwLjVjLTE3IDIuOS0zMi45IDguNC00Ny40IDE1LjlMMjg4IDMybDAtMi42QzI4OCAxMy4yIDI3NC44IDAgMjU4LjYgMHpNMjU2IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFQZXJzb25XYWxraW5nTHVnZ2FnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24td2Fsa2luZy1sdWdnYWdlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTU0XCIsIFwiTTQzMiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTM0Ny43IDIwMC41YzEtLjQgMS45LS44IDIuOS0xLjJsLTE2LjkgNjMuNWMtNS42IDIxLjEtLjEgNDMuNiAxNC43IDU5LjdsNzAuNyA3Ny4xIDIyIDg4LjFjNC4zIDE3LjEgMjEuNyAyNy42IDM4LjggMjMuM3MyNy42LTIxLjcgMjMuMy0zOC44bC0yMy05Mi4xYy0xLjktNy44LTUuOC0xNC45LTExLjItMjAuOGwtNDkuNS01NCAxOS4zLTY1LjUgOS42IDIzYzQuNCAxMC42IDEyLjUgMTkuMyAyMi44IDI0LjVsMjYuNyAxMy4zYzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOUw1MDUgMjMyLjdsLTE1LjMtMzYuOEM0NzIuNSAxNTQuOCA0MzIuMyAxMjggMzg3LjcgMTI4Yy0yMi44IDAtNDUuMyA0LjgtNjYuMSAxNGwtOCAzLjVjLTMyLjkgMTQuNi01OC4xIDQyLjQtNjkuNCA3Ni41bC0yLjYgNy44Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDIuNi03LjhjNS43LTE3LjEgMTguMy0zMC45IDM0LjctMzguMmw4LTMuNXptLTMwIDEzNS4xbC0yNSA2Mi40LTU5LjQgNTkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwzNDAuMyA0NDFjNC42LTQuNiA4LjItMTAuMSAxMC42LTE2LjFsMTQuNS0zNi4yLTQwLjctNDQuNGMtMi41LTIuNy00LjgtNS42LTctOC42ek0yNTYgMjc0LjFjLTcuNy00LjQtMTcuNC0xLjgtMjEuOSA1LjlsLTMyIDU1LjRMMTQ3LjcgMzA0Yy0xNS4zLTguOC0zNC45LTMuNi00My43IDExLjdMNDAgNDI2LjZjLTguOCAxNS4zLTMuNiAzNC45IDExLjcgNDMuN2w1NS40IDMyYzE1LjMgOC44IDM0LjkgMy42IDQzLjctMTEuN2w2NC0xMTAuOWMxLjUtMi42IDIuNi01LjIgMy4zLThMMjYxLjkgMjk2YzQuNC03LjcgMS44LTE3LjQtNS45LTIxLjl6XCJdXG59O1xuY29uc3QgZmFVcERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXAtZG93bicsXG4gIGljb246IFsyNTYsIDUxMiwgWzg1OTcsIDExMDIxLCBcImFycm93cy1hbHQtdlwiXSwgXCJmMzM4XCIsIFwiTTE0NS42IDcuN0MxNDEgMi44IDEzNC43IDAgMTI4IDBzLTEzIDIuOC0xNy42IDcuN2wtMTA0IDExMmMtNi41IDctOC4yIDE3LjItNC40IDI1LjlTMTQuNSAxNjAgMjQgMTYwbDU2IDAgMCAxOTItNTYgMGMtOS41IDAtMTguMiA1LjctMjIgMTQuNHMtMi4xIDE4LjkgNC40IDI1LjlsMTA0IDExMmM0LjUgNC45IDEwLjkgNy43IDE3LjYgNy43czEzLTIuOCAxNy42LTcuN2wxMDQtMTEyYzYuNS03IDguMi0xNy4yIDQuNC0yNS45cy0xMi41LTE0LjQtMjItMTQuNGwtNTYgMCAwLTE5MiA1NiAwYzkuNSAwIDE4LjItNS43IDIyLTE0LjRzMi4xLTE4LjktNC40LTI1LjlsLTEwNC0xMTJ6XCJdXG59O1xuY29uc3QgZmFBcnJvd3NBbHRWID0gZmFVcERvd247XG5jb25zdCBmYUNsb3VkTW9vblJhaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtbW9vbi1yYWluJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNzNjXCIsIFwiTTQ4MS4yIDBDNDE3IDAgMzYzLjUgNDYuNSAzNTMuNyAxMDcuNmMzNS40IDE3LjYgNjAuMiA1My4zIDYyLjEgOTUuMWMyMy4yIDExIDQyIDI5LjcgNTMuMSA1Mi43YzQgLjQgOC4xIC42IDEyLjMgLjZjMzQuOSAwIDY2LjctMTMuOCA4OS45LTM2LjFjNS4xLTQuOSA2LjQtMTIuNSAzLjItMTguN3MtMTAuMS05LjctMTctOC42Yy00LjkgLjgtMTAgMS4zLTE1LjIgMS4zYy00OSAwLTg4LjQtMzkuMy04OC40LTg3LjRjMC0zMi42IDE4LTYxLjEgNDQuOS03Ni4xYzYuMS0zLjQgOS4zLTEwLjUgNy44LTE3LjRzLTcuMy0xMi0xNC4zLTEyLjZjLTMuNi0uMy03LjMtLjUtMTAuOS0uNXpNMzY3LjkgMzgzLjljNDQuMiAwIDgwLTM1LjggODAtODBjMC0zOS4zLTI4LjQtNzIuMS02NS44LTc4LjdjMS4yLTUuNiAxLjktMTEuMyAxLjktMTcuMmMwLTQ0LjItMzUuOC04MC04MC04MGMtMTcgMC0zMi44IDUuMy00NS44IDE0LjRDMjQxLjMgMTE0LjYgMjEwLjggOTYgMTc2IDk2Yy01MyAwLTk2IDQzLTk2IDk2bDAgMS4zYy00NS40IDcuNi04MCA0Ny4xLTgwIDk0LjZjMCA1MyA0MyA5NiA5NiA5NmwyNzEuOSAwek04NS40IDQyMC4xYy0xMS03LjQtMjUuOS00LjQtMzMuMyA2LjdsLTMyIDQ4Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMzItNDhjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zem05NiAwYy0xMS03LjQtMjUuOS00LjQtMzMuMyA2LjdsLTMyIDQ4Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMzItNDhjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zem05NiAwYy0xMS03LjQtMjUuOS00LjQtMzMuMyA2LjdsLTMyIDQ4Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMzItNDhjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zem05NiAwYy0xMS03LjQtMjUuOS00LjQtMzMuMyA2LjdsLTMyIDQ4Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMzItNDhjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zelwiXVxufTtcbmNvbnN0IGZhQ2FsZW5kYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgxOTcsIDEyODE5OF0sIFwiZjEzM1wiLCBcIk05NiAzMmwwIDMyTDQ4IDY0QzIxLjUgNjQgMCA4NS41IDAgMTEybDAgNDggNDQ4IDAgMC00OGMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzJMMTYwIDY0bDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJTOTYgMTQuMyA5NiAzMnpNNDQ4IDE5MkwwIDE5MiAwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI3MnpcIl1cbn07XG5jb25zdCBmYVRyYWlsZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaWxlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA0MVwiLCBcIk00OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgMzM2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE3LjEgMGM3LjgtNTQuMyA1NC40LTk2IDExMC45LTk2czEwMy4xIDQxLjcgMTEwLjkgOTZMNDg4IDM4NGw4IDAgMTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC0yNDBjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJ6TTgwIDk2YzguOCAwIDE2IDcuMiAxNiAxNmwwIDEzMS4yYy0xMS40IDUuOS0yMi4yIDEyLjktMzIgMjFMNjQgMTEyYzAtOC44IDcuMi0xNiAxNi0xNnptOTYgMTI4Yy01LjQgMC0xMC43IC4yLTE2IC43TDE2MCAxMTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDExMi43Yy01LjMtLjUtMTAuNi0uNy0xNi0uN3ptODAgMTkuMkwyNTYgMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNTIuMmMtOS44LTguMS0yMC42LTE1LjItMzItMjF6TTM2OCA5NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxOTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xOTJjMC04LjggNy4yLTE2IDE2LTE2em0xMTIgMTZsMCAxOTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xOTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpNMTc2IDQ4MGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMC0xMTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQmFoYWkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFoYWknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhheWthbFwiXSwgXCJmNjY2XCIsIFwiTTI4OCAwYzE0LjUgMCAyNy4yIDkuNyAzMC45IDIzLjhsMjMuOSA4OS42IDc1LjktNTMuM2MxMS45LTguMyAyNy44LTcuNiAzOSAxLjdzMTQuNiAyNC45IDguNCAzOC4xbC0zOS4zIDg0IDkyLjQgOGMxNC40IDEuMiAyNi4yIDEyIDI4LjggMjYuM3MtNC45IDI4LjUtMTggMzQuNmwtODQuMSAzOS4xIDY1LjcgNjUuNWMxMC4zIDEwLjIgMTIuNCAyNi4xIDUuMSAzOC43cy0yMiAxOC43LTM2IDE0LjlMMzkxIDM4Ni44bDguMiA5Mi40YzEuMyAxNC40LTcuMyAyNy45LTIwLjkgMzIuOXMtMjguOSAuMS0zNy4yLTExLjdsLTUzLjEtNzYtNTMuMSA3NmMtOC4zIDExLjktMjMuNiAxNi43LTM3LjIgMTEuN3MtMjIuMi0xOC41LTIwLjktMzIuOWw4LjItOTIuNEw5NS40IDQxMC45Yy0xNCAzLjgtMjguOC0yLjMtMzYtMTQuOXMtNS4yLTI4LjQgNS4xLTM4LjdsNjUuNy02NS41TDQ2IDI1Mi43Yy0xMy4xLTYuMS0yMC41LTIwLjMtMTgtMzQuNnMxNC4zLTI1LjEgMjguOC0yNi4zbDkyLjQtOC0zOS4zLTg0Yy02LjEtMTMuMS0yLjctMjguOCA4LjQtMzguMXMyNy4xLTEwIDM5LTEuN2w3NS45IDUzLjMgMjMuOS04OS42QzI2MC44IDkuNyAyNzMuNSAwIDI4OCAwem0wIDE1Ni4ybC00LjggMThjLTIuNyAxMC4xLTEwLjIgMTguMi0yMCAyMS44cy0yMC44IDIuMS0yOS4zLTMuOWwtMTUuMi0xMC43IDcuOSAxNi44YzQuNCA5LjUgNCAyMC41LTEuMyAyOS42cy0xNC41IDE1LTI1IDE1LjlsLTE4LjUgMS42IDE2LjggNy44YzkuNSA0LjQgMTYuMiAxMy4yIDE4IDIzLjVzLTEuNSAyMC44LTguOSAyOC4ybC0xMy4yIDEzLjEgMTcuOS00LjhjMTAuMS0yLjcgMjAuOS0uMyAyOC45IDYuNHMxMi4yIDE2LjkgMTEuMyAyNy4zbC0xLjYgMTguNSAxMC42LTE1LjJjNi04LjYgMTUuOC0xMy43IDI2LjItMTMuN3MyMC4yIDUuMSAyNi4yIDEzLjdsMTAuNiAxNS4yLTEuNi0xOC41Yy0uOS0xMC40IDMuMy0yMC42IDExLjMtMjcuM3MxOC44LTkuMSAyOC45LTYuNGwxNy45IDQuOC0xMy4yLTEzLjFjLTcuNC03LjQtMTAuNy0xNy45LTguOS0yOC4yczguNS0xOS4xIDE4LTIzLjVsMTYuOC03LjgtMTguNS0xLjZjLTEwLjQtLjktMTkuNy02LjgtMjUtMTUuOXMtNS43LTIwLjEtMS4zLTI5LjZsNy45LTE2LjgtMTUuMiAxMC43Yy04LjYgNi0xOS41IDcuNS0yOS4zIDMuOXMtMTcuMy0xMS43LTIwLTIxLjhsLTQuOC0xOHpcIl1cbn07XG5jb25zdCBmYUhheWthbCA9IGZhQmFoYWk7XG5jb25zdCBmYVNkQ2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzZC1jYXJkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmN2MyXCIsIFwiTTMyMCAwTDE0MS4zIDBDMTI0LjMgMCAxMDggNi43IDk2IDE4LjdMMTguNyA5NkM2LjcgMTA4IDAgMTI0LjMgMCAxNDEuM0wwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NHpNMTYwIDg4bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04MCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04MCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbmNvbnN0IGZhRHJhZ29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RyYWdvbicsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODAwOV0sIFwiZjZkNVwiLCBcIk0zNTIgMTI0LjVsLTUxLjktMTNjLTYuNS0xLjYtMTEuMy03LjEtMTItMTMuOHMyLjgtMTMuMSA4LjctMTYuMWw0MC44LTIwLjRMMjk0LjQgMjguOGMtNS41LTQuMS03LjgtMTEuMy01LjYtMTcuOVMyOTcuMSAwIDMwNCAwTDQxNiAwbDMyIDAgMTYgMGMzMC4yIDAgNTguNyAxNC4yIDc2LjggMzguNGw1Ny42IDc2LjhjNi4yIDguMyA5LjYgMTguNCA5LjYgMjguOGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjEuNSAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0w0ODAgMTYwbC0zMiAwIDAgMjEuNWMwIDI0LjggMTIuOCA0Ny45IDMzLjggNjEuMWwxMDYuNiA2Ni42YzMyLjEgMjAuMSA1MS42IDU1LjIgNTEuNiA5My4xQzY0MCA0NjIuOSA1OTAuOSA1MTIgNTMwLjIgNTEyTDQ5NiA1MTJsLTY0IDBMMzIuMyA1MTJjLTMuMyAwLTYuNi0uNC05LjYtMS40QzEzLjUgNTA3LjggNiA1MDEgMi40IDQ5Mi4xQzEgNDg4LjcgLjIgNDg1LjIgMCA0ODEuNGMtLjItMy43IC4zLTcuMyAxLjMtMTAuN2MyLjgtOS4yIDkuNi0xNi43IDE4LjYtMjAuNGMzLTEuMiA2LjItMiA5LjUtMi4yTDQzMy4zIDQxMmM4LjMtLjcgMTQuNy03LjcgMTQuNy0xNi4xYzAtNC4zLTEuNy04LjQtNC43LTExLjRsLTQ0LjQtNDQuNGMtMzAtMzAtNDYuOS03MC43LTQ2LjktMTEzLjFsMC00NS41IDAtNTd6TTUxMiA3Mi4zYzAtLjEgMC0uMiAwLS4zczAtLjIgMC0uM2wwIC42em0tMS4zIDcuNEw0NjQuMyA2OC4xYy0uMiAxLjMtLjMgMi42LS4zIDMuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNGMxMC42IDAgMTkuNS02LjggMjIuNy0xNi4zek0xMzAuOSAxMTYuNWMxNi4zLTE0LjUgNDAuNC0xNi4yIDU4LjUtNC4xbDEzMC42IDg3IDAgMjcuNWMwIDMyLjggOC40IDY0LjggMjQgOTNsLTIzMiAwYy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43TDE3MSAyMzIuMyAxOC40IDI1NS44Yy03IDEuMS0xMy45LTIuNi0xNi45LTlzLTEuNS0xNC4xIDMuOC0xOC44TDEzMC45IDExNi41elwiXVxufTtcbmNvbnN0IGZhU2hvZVByaW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaG9lLXByaW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjU0YlwiLCBcIk00MTYgMEMzNTIuMyAwIDI1NiAzMiAyNTYgMzJsMCAxMjhjNDggMCA3NiAxNiAxMDQgMzJzNTYgMzIgMTA0IDMyYzU2LjQgMCAxNzYtMTYgMTc2LTk2UzUxMiAwIDQxNiAwek0xMjggOTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMCAwLTEyOC0zMiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHpNMjg4IDUxMmM5NiAwIDIyNC00OCAyMjQtMTI4cy0xMTkuNi05Ni0xNzYtOTZjLTQ4IDAtNzYgMTYtMTA0IDMycy01NiAzMi0xMDQgMzJsMCAxMjhzOTYuMyAzMiAxNjAgMzJ6TTAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyIDAgMC0xMjgtMzIgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJwbHVzLWNpcmNsZVwiXSwgXCJmMDU1XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yMzIgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG5jb25zdCBmYVBsdXNDaXJjbGUgPSBmYUNpcmNsZVBsdXM7XG5jb25zdCBmYUZhY2VHcmluVG9uZ3VlV2luayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tdG9uZ3VlLXdpbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NDAsIFwiZ3Jpbi10b25ndWUtd2lua1wiXSwgXCJmNThiXCIsIFwiTTE3NC41IDQ5OC44QzczLjEgNDY0LjcgMCAzNjguOSAwIDI1NkMwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCAxMTIuOS03My4xIDIwOC43LTE3NC41IDI0Mi44QzM0Ni43IDQ4NCAzNTIgNDY2LjYgMzUyIDQ0OGwwLTQ2LjljMjQuMy0xNy41IDQzLjYtNDEuNiA1NS40LTY5LjZjNS0xMS44LTctMjIuNS0xOS4zLTE4LjdjLTM5LjcgMTIuMi04NC41IDE5LTEzMS44IDE5cy05Mi4xLTYuOC0xMzEuOC0xOWMtMTIuMy0zLjgtMjQuMyA2LjktMTkuMyAxOC43YzExLjcgMjcuOCAzMC44IDUxLjcgNTQuOCA2OS4ybDAgNDcuM2MwIDE4LjYgNS4zIDM2IDE0LjUgNTAuOHptMjAuNy0yNjUuMmM1LjMgNy4xIDE1LjMgOC41IDIyLjQgMy4yczguNS0xNS4zIDMuMi0yMi40Yy0zMC40LTQwLjUtOTEuMi00MC41LTEyMS42IDBjLTUuMyA3LjEtMy45IDE3LjEgMy4yIDIyLjRzMTcuMSAzLjkgMjIuNC0zLjJjMTcuNi0yMy41IDUyLjgtMjMuNSA3MC40IDB6TTMzNiAyNzJhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6TTMyMCA0MDIuNmwwIDQ1LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRsMC00NS40YzAtMTQuNyAxMS45LTI2LjYgMjYuNi0yNi42bDIgMGMxMS4zIDAgMjEuMSA3LjkgMjMuNiAxOC45YzIuOCAxMi42IDIwLjggMTIuNiAyMy42IDBjMi41LTExLjEgMTIuMy0xOC45IDIzLjYtMTguOWwyIDBjMTQuNyAwIDI2LjYgMTEuOSAyNi42IDI2LjZ6TTMzNiAxODRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhR3JpblRvbmd1ZVdpbmsgPSBmYUZhY2VHcmluVG9uZ3VlV2luaztcbmNvbnN0IGZhSGFuZEhvbGRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1ob2xkaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNGJkXCIsIFwiTTU1OS43IDM5Mi4yYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjcyIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAtMTYgMC03OC4zIDBjLTI5LjEgMC01Ny4zIDkuOS04MCAyOEw2OC44IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDAgMTYwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zem0tMzY3LTguMmMuMyAwIC42IDAgLjkgMGMwIDAgMCAwIDAgMGMtLjMgMC0uNiAwLS45IDB6XCJdXG59O1xuY29uc3QgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1Zy1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWRcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYgNjQgMCAwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOGwwIDY3LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY3LjJjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMTYwek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhTGlua1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpbmstc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImNoYWluLWJyb2tlblwiLCBcImNoYWluLXNsYXNoXCIsIFwidW5saW5rXCJdLCBcImYxMjdcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0ODkuMyAzNTguMmw5MC41LTkwLjVjNTYuNS01Ni41IDU2LjUtMTQ4IDAtMjA0LjVjLTUwLTUwLTEyOC44LTU2LjUtMTg2LjMtMTUuNGwtMS42IDEuMWMtMTQuNCAxMC4zLTE3LjcgMzAuMy03LjQgNDQuNnMzMC4zIDE3LjcgNDQuNiA3LjRsMS42LTEuMWMzMi4xLTIyLjkgNzYtMTkuMyAxMDMuOCA4LjZjMzEuNSAzMS41IDMxLjUgODIuNSAwIDExNGwtOTYgOTYtMzEuOS0yNUM0MzAuOSAyMzkuNiA0MjAuMSAxNzUuMSAzNzcgMTMyYy01Mi4yLTUyLjMtMTM0LjUtNTYuMi0xOTEuMy0xMS43TDM4LjggNS4xek0yMzkgMTYyYzMwLjEtMTQuOSA2Ny43LTkuOSA5Mi44IDE1LjNjMjAgMjAgMjcuNSA0OC4zIDIxLjcgNzQuNUwyMzkgMTYyek00MDYuNiA0MTYuNEwyMjAuOSAyNzBjLTIuMSAzOS44IDEyLjIgODAuMSA0Mi4yIDExMGMzOC45IDM4LjkgOTQuNCA1MSAxNDMuNiAzNi4zem0tMjkwLTIyOC41TDYwLjIgMjQ0LjNjLTU2LjUgNTYuNS01Ni41IDE0OCAwIDIwNC41YzUwIDUwIDEyOC44IDU2LjUgMTg2LjMgMTUuNGwxLjYtMS4xYzE0LjQtMTAuMyAxNy43LTMwLjMgNy40LTQ0LjZzLTMwLjMtMTcuNy00NC42LTcuNGwtMS42IDEuMWMtMzIuMSAyMi45LTc2IDE5LjMtMTAzLjgtOC42Qzc0IDM3MiA3NCAzMjEgMTA1LjUgMjg5LjVsNjEuOC02MS44LTUwLjYtMzkuOXpcIl1cbn07XG5jb25zdCBmYUNoYWluQnJva2VuID0gZmFMaW5rU2xhc2g7XG5jb25zdCBmYUNoYWluU2xhc2ggPSBmYUxpbmtTbGFzaDtcbmNvbnN0IGZhVW5saW5rID0gZmFMaW5rU2xhc2g7XG5jb25zdCBmYUNsb25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb25lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMjRkXCIsIFwiTTI4OCA0NDhMNjQgNDQ4bDAtMjI0IDY0IDAgMC02NC02NCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0LTY0IDAgMCA2NHptLTY0LTk2bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1MVwiLCBcIk0yMDggOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xMjMuNyAyMDAuNWMxLS40IDEuOS0uOCAyLjktMS4ybC0xNi45IDYzLjVjLTUuNiAyMS4xLS4xIDQzLjYgMTQuNyA1OS43bDcwLjcgNzcuMSAyMiA4OC4xYzQuMyAxNy4xIDIxLjcgMjcuNiAzOC44IDIzLjNzMjcuNi0yMS43IDIzLjMtMzguOGwtMjMtOTIuMWMtMS45LTcuOC01LjgtMTQuOS0xMS4yLTIwLjhsLTQ5LjUtNTQgMTkuMy02NS41IDkuNiAyM2M0LjQgMTAuNiAxMi41IDE5LjMgMjIuOCAyNC41bDI2LjcgMTMuM2MxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlMMjgxIDIzMi43bC0xNS4zLTM2LjhDMjQ4LjUgMTU0LjggMjA4LjMgMTI4IDE2My43IDEyOGMtMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0zMi45IDE0LjYtNTguMSA0Mi40LTY5LjQgNzYuNWwtMi42IDcuOGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwyLjYtNy44YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjV6bS0zMCAxMzUuMUw2OC43IDM5OCA5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTE2LjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnptMzQ3LjcgMTE5YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNDYxLjMgMzg0bDE4LjcgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MHMtNzEuNi0xNjAtMTYwLTE2MEwzNTIgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTE4LjcgMCAyNS40LTI1LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTgwIDgwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w4MCA4MHpcIl1cbn07XG5jb25zdCBmYUFycm93VXBaQSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC16LWEnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYWxwaGEtdXAtYWx0XCJdLCBcImY4ODJcIiwgXCJNMTgzLjYgNDIuNEMxNzcuNSAzNS44IDE2OSAzMiAxNjAgMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDEyOCAxNDYuMyAxMjggNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDEuNyAzMi40IDM1LjRjMTEuOSAxMyAzMi4yIDEzLjkgNDUuMiAyczEzLjktMzIuMiAyLTQ1LjJsLTg4LTk2ek0zMjAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNTAuNyAwLTczLjQgNzMuNGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTAuNyAwIDczLjQtNzMuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOEwzNTIgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05NiAxOTJjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTY0IDEyOC0xNiAzMmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDcuMi0xNC4zIDg4LjQgMCA3LjIgMTQuM2M3LjkgMTUuOCAyNy4xIDIyLjIgNDIuOSAxNC4zczIyLjItMjcuMSAxNC4zLTQyLjlsLTE2LTMyLTY0LTEyOEM0MzkuMiAyNjIuOCA0MjguMSAyNTYgNDE2IDI1NnpNMzk1LjggNDAwTDQxNiAzNTkuNiA0MzYuMiA0MDBsLTQwLjQgMHpcIl1cbn07XG5jb25zdCBmYVNvcnRBbHBoYVVwQWx0ID0gZmFBcnJvd1VwWkE7XG5jb25zdCBmYUZpcmVGbGFtZUN1cnZlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaXJlLWZsYW1lLWN1cnZlZCcsXG4gIGljb246IFszODQsIDUxMiwgW1wiZmlyZS1hbHRcIl0sIFwiZjdlNFwiLCBcIk0xNTMuNiAyOS45bDE2LTIxLjNDMTczLjYgMy4yIDE4MCAwIDE4Ni43IDBDMTk4LjQgMCAyMDggOS42IDIwOCAyMS4zVjQzLjVjMCAxMy4xIDUuNCAyNS43IDE0LjkgMzQuN0wzMDcuNiAxNTlDMzU2LjQgMjA1LjYgMzg0IDI3MC4yIDM4NCAzMzcuN0MzODQgNDM0IDMwNiA1MTIgMjA5LjcgNTEySDE5MkM4NiA1MTIgMCA0MjYgMCAzMjB2LTMuOGMwLTQ4LjggMTkuNC05NS42IDUzLjktMTMwLjFsMy41LTMuNWM0LjItNC4yIDEwLTYuNiAxNi02LjZDODUuOSAxNzYgOTYgMTg2LjEgOTYgMTk4LjZWMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR2LTMuOWMwLTE4LTcuMi0zNS4zLTE5LjktNDhsLTM4LjYtMzguNmMtMjQtMjQtMzcuNS01Ni43LTM3LjUtOTAuN2MwLTI3LjcgOS01NC44IDI1LjYtNzYuOXpcIl1cbn07XG5jb25zdCBmYUZpcmVBbHQgPSBmYUZpcmVGbGFtZUN1cnZlZDtcbmNvbnN0IGZhVG9ybmFkbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3JuYWRvJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3Nzg2XSwgXCJmNzZmXCIsIFwiTTAgMzJMMCA0NS42QzAgNjIuNyAxLjcgNzkuNiA1IDk2bDM1Mi44IDBjMy4yLTYuOSA3LjUtMTMuMyAxMy0xOC44bDM4LjYtMzguNmM0LjItNC4yIDYuNi0xMCA2LjYtMTZDNDE2IDEwLjEgNDA1LjkgMCAzOTMuNCAwTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyem0zNTIuMiA5NkwxMy42IDEyOGMxMi4yIDM1LjkgMzIuMyA2OC43IDU4LjggOTZMNDEyIDIyNGwtNDcuMi02Mi45Yy03LjMtOS43LTExLjYtMjEuMi0xMi42LTMzLjF6bS0yMjYgMTM4LjJsMTE2LjQgNjguNWM4LjIgNC44IDE1LjggMTAuNyAyMi41IDE3LjNMNDQ1IDM1MmMyLTkuOCAzLTE5LjkgMy0zMC4xYzAtMjMtNS4zLTQ1LjUtMTUuMy02NS45bC0zMjIuNSAwYzUuMiAzLjYgMTAuNSA3IDE2IDEwLjJ6TTI4OCAzODRjMTAuMyAyMS40IDEzLjggNDUuNSA5LjkgNjlsLTUuOSAzNS43Yy0yIDEyLjIgNy40IDIzLjQgMTkuOCAyMy40YzUuMyAwIDEwLjQtMi4xIDE0LjItNS45bDc4LjItNzguMmMxMi44LTEyLjggMjMuMS0yNy43IDMwLjQtNDMuOUwyODggMzg0elwiXVxufTtcbmNvbnN0IGZhRmlsZUNpcmNsZVBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUtcGx1cycsXG4gIGljb246IFs1NzYsIDUxMiwgWzU4NjA2XSwgXCJlNDk0XCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHptNDggOTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0xNiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNDggMCAwIDQ4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC00OCAwIDAtNDh6XCJdXG59O1xuY29uc3QgZmFCb29rUXVyYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1xdXJhbicsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicXVyYW5cIl0sIFwiZjY4N1wiLCBcIk0zNTIgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzIwYzAgNTMtNDMgOTYtOTYgOTZMNjQgNTEybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDY0IDAgMzUyIDB6bTAgMzg0TDk2IDM4NGwwIDY0IDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyek0yNzQuMSAxNTAuMmwtOC45IDIxLjQtMjMuMSAxLjljLTUuNyAuNS04IDcuNS0zLjcgMTEuMkwyNTYgMTk5LjhsLTUuNCAyMi42Yy0xLjMgNS41IDQuNyA5LjkgOS42IDYuOUwyODAgMjE3LjJsMTkuOCAxMi4xYzQuOSAzIDEwLjktMS40IDkuNi02LjlMMzA0IDE5OS44bDE3LjYtMTUuMWM0LjMtMy43IDItMTAuOC0zLjctMTEuMmwtMjMuMS0xLjktOC45LTIxLjRjLTIuMi01LjMtOS42LTUuMy0xMS44IDB6TTk2IDE5MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGMyNS42IDAgNDkuNS03LjUgNjkuNS0yMC41YzMuMi0yLjEgNC41LTYuMiAzLjEtOS43cy01LjItNS42LTktNC44Yy02LjEgMS4yLTEyLjUgMS45LTE5IDEuOWMtNTIuNCAwLTk0LjktNDIuNS05NC45LTk0LjlzNDIuNS05NC45IDk0LjktOTQuOWM2LjUgMCAxMi44IC43IDE5IDEuOWMzLjggLjggNy41LTEuMyA5LTQuOHMuMi03LjYtMy4xLTkuN0MyNzMuNSA3MS41IDI0OS42IDY0IDIyNCA2NEMxNTMuMyA2NCA5NiAxMjEuMyA5NiAxOTJ6XCJdXG59O1xuY29uc3QgZmFRdXJhbiA9IGZhQm9va1F1cmFuO1xuY29uc3QgZmFBbmNob3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5jaG9yJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbOTg3NV0sIFwiZjEzZFwiLCBcIk0zMjAgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptMjEuMSA4MEMzNjcgMTU4LjggMzg0IDEyOS40IDM4NCA5NmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDMzLjQgMTcgNjIuOCA0Mi45IDgwTDIyNCAxNzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDIwOC00OCAwYy01MyAwLTk2LTQzLTk2LTk2bDAtNi4xIDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctNyAwIDYuMWMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MGw4MCAwIDgwIDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC02LjEgNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTYtNTZjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC01NiA1NmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctNyAwIDYuMWMwIDUzLTQzIDk2LTk2IDk2bC00OCAwIDAtMjA4IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEwLjkgMHpcIl1cbn07XG5jb25zdCBmYUJvcmRlckFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3JkZXItYWxsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmODRjXCIsIFwiTTM4NCA5NmwwIDEyOC0xMjggMCAwLTEyOCAxMjggMHptMCAxOTJsMCAxMjgtMTI4IDAgMC0xMjggMTI4IDB6TTE5MiAyMjRMNjQgMjI0IDY0IDk2bDEyOCAwIDAgMTI4ek02NCAyODhsMTI4IDAgMCAxMjhMNjQgNDE2bDAtMTI4ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyelwiXVxufTtcbmNvbnN0IGZhRmFjZUFuZ3J5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtYW5ncnknLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NDQsIFwiYW5ncnlcIl0sIFwiZjU1NlwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6TTMzOC43IDM5NS45YzYuNi01LjkgNy4xLTE2IDEuMi0yMi42QzMyMy44IDM1NS40IDI5NS43IDMzNiAyNTYgMzM2cy02Ny44IDE5LjQtODMuOSAzNy4zYy01LjkgNi42LTUuNCAxNi43IDEuMiAyMi42czE2LjcgNS40IDIyLjYtMS4yYzExLjctMTMgMzEuNi0yNi43IDYwLjEtMjYuN3M0OC40IDEzLjcgNjAuMSAyNi43YzUuOSA2LjYgMTYgNy4xIDIyLjYgMS4yek0xNzYuNCAyNzJjMTcuNyAwIDMyLTE0LjMgMzItMzJjMC0xLjUtLjEtMy0uMy00LjRsMTAuOSAzLjZjOC40IDIuOCAxNy40LTEuNyAyMC4yLTEwLjFzLTEuNy0xNy40LTEwLjEtMjAuMmwtOTYtMzJjLTguNC0yLjgtMTcuNCAxLjctMjAuMiAxMC4xczEuNyAxNy40IDEwLjEgMjAuMmwzMC43IDEwLjJjLTUuOCA1LjgtOS4zIDEzLjgtOS4zIDIyLjZjMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTguOS0zLjYtMTctOS41LTIyLjhsMzAuMi0xMC4xYzguNC0yLjggMTIuOS0xMS45IDEwLjEtMjAuMnMtMTEuOS0xMi45LTIwLjItMTAuMWwtOTYgMzJjLTguNCAyLjgtMTIuOSAxMS45LTEwLjEgMjAuMnMxMS45IDEyLjkgMjAuMiAxMC4xbDExLjctMy45Yy0uMiAxLjUtLjMgMy4xLS4zIDQuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhQW5ncnkgPSBmYUZhY2VBbmdyeTtcbmNvbnN0IGZhQ29va2llQml0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb29raWUtYml0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU2NFwiLCBcIk0yNTcuNSAyNy42Yy0uOC01LjQtNC45LTkuOC0xMC4zLTEwLjZjLTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOWMtLjktNS4zLTUuMy05LjMtMTAuNi0xMC4xYy01MS41LTguMi05Mi44LTQ3LjEtMTA0LjUtOTcuNGMtMS44LTcuNi04LTEzLjQtMTUuNy0xNC42Yy01NC42LTguNy05Ny43LTUyLTEwNi4yLTEwNi44ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQXJyb3dUcmVuZERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdHJlbmQtZG93bicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTA5N1wiLCBcIk0zODQgMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgODIuN0wzNDIuNiAxMzcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBMMTkyIDI0Mi43IDU0LjYgMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBMMzIwIDIwNS4zIDQ2Ni43IDM1MiAzODQgMzUyelwiXVxufTtcbmNvbnN0IGZhUnNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JzcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZmVlZFwiXSwgXCJmMDllXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJjMjI5LjggMCA0MTYgMTg2LjIgNDE2IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkMzODQgMjUzLjYgMjI2LjQgOTYgMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMCA0MTZhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgMCA0MTZ6TTMyIDE2MGMxNTkuMSAwIDI4OCAxMjguOSAyODggMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtMTIzLjctMTAwLjMtMjI0LTIyNC0yMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFGZWVkID0gZmFSc3M7XG5jb25zdCBmYURyYXdQb2x5Z29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RyYXctcG9seWdvbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjVlZVwiLCBcIk05NiAxNTEuNGwwIDIwOS4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyMDkuMSAwYzAtLjEgLjEtLjIgLjEtLjNsLTQuNS03LjktMzItNTZzMCAwIDAgMGMtMS40IC4xLTIuOCAuMS00LjIgLjFjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRjMS40IDAgMi44IDAgNC4yIC4xYzAgMCAwIDAgMCAwbDMyLTU2IDQuNS03LjktLjEtLjMtMjA5LjEgMGMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40ek0zODQuMyAzNTJjMzUuMiAuMiA2My43IDI4LjcgNjMuNyA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yMDkuMUMxMi45IDE0MC40IDAgMTE5LjcgMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsMjA5LjEgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyYzM1LjMgMCA2NCAyOC43IDY0IDY0YzAgMzUuMy0yOC41IDYzLjgtNjMuNyA2NGwtNC41IDcuOS0zMiA1Ni0yLjMgNGM0LjIgOC41IDYuNSAxOCA2LjUgMjguMXMtMi4zIDE5LjYtNi41IDI4LjFsMi4zIDQgMzIgNTYgNC41IDcuOXpcIl1cbn07XG5jb25zdCBmYVNjYWxlQmFsYW5jZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NhbGUtYmFsYW5jZWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5ODc4LCBcImJhbGFuY2Utc2NhbGVcIl0sIFwiZjI0ZVwiLCBcIk0zODQgMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzk4LjQgOTZjLTUuMiAyNS44LTIyLjkgNDcuMS00Ni40IDU3LjNMMzUyIDQ0OGwxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDAtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDAgMC0yOTQuN2MtMjMuNS0xMC4zLTQxLjItMzEuNi00Ni40LTU3LjNMMTI4IDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEyOCAwYzE0LjYtMTkuNCAzNy44LTMyIDY0LTMyczQ5LjQgMTIuNiA2NCAzMnptNTUuNiAyODhsMTQ0LjkgMEw1MTIgMTk1LjggNDM5LjYgMzIwek01MTIgNDE2Yy02Mi45IDAtMTE1LjItMzQtMTI2LTc4LjljLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjFDNjI3LjIgMzgyIDU3NC45IDQxNiA1MTIgNDE2ek0xMjYuOCAxOTUuOEw1NC40IDMyMGwxNDQuOSAwTDEyNi44IDE5NS44ek0uOSAzMzcuMWMtMi42LTExIDEtMjIuMyA2LjctMzIuMWw5NS4yLTE2My4yYzUtOC42IDE0LjItMTMuOCAyNC4xLTEzLjhzMTkuMSA1LjMgMjQuMSAxMy44bDk1LjIgMTYzLjJjNS43IDkuOCA5LjMgMjEuMSA2LjcgMzIuMUMyNDIgMzgyIDE4OS43IDQxNiAxMjYuOCA0MTZTMTEuNyAzODIgLjkgMzM3LjF6XCJdXG59O1xuY29uc3QgZmFCYWxhbmNlU2NhbGUgPSBmYVNjYWxlQmFsYW5jZWQ7XG5jb25zdCBmYUdhdWdlU2ltcGxlSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1zaW1wbGUtaGlnaCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNjY4LCBcInRhY2hvbWV0ZXJcIiwgXCJ0YWNob21ldGVyLWZhc3RcIl0sIFwiZjYyYVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTMyMCA5NmMwLTE1LjktNS44LTMwLjQtMTUuMy00MS42bDc2LjYtMTQ3LjRjNi4xLTExLjggMS41LTI2LjMtMTAuMi0zMi40cy0yNi4yLTEuNS0zMi40IDEwLjJMMjYyLjEgMjg4LjNjLTItLjItNC0uMy02LjEtLjNjLTM1LjMgMC02NCAyOC43LTY0IDY0czI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpcIl1cbn07XG5jb25zdCBmYVRhY2hvbWV0ZXIgPSBmYUdhdWdlU2ltcGxlSGlnaDtcbmNvbnN0IGZhVGFjaG9tZXRlckZhc3QgPSBmYUdhdWdlU2ltcGxlSGlnaDtcbmNvbnN0IGZhU2hvd2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3dlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODcwM10sIFwiZjJjY1wiLCBcIk02NCAxMzEuOUM2NCAxMTIuMSA4MC4xIDk2IDk5LjkgOTZjOS41IDAgMTguNiAzLjggMjUuNCAxMC41bDE2LjIgMTYuMmMtMjEgMzguOS0xNy40IDg3LjUgMTAuOSAxMjNMMTUxIDI0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwTDM0NSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMS4zIDEuM2MtMzUuNS0yOC4zLTg0LjItMzEuOS0xMjMtMTAuOUwxNzAuNSA2MS4zQzE1MS44IDQyLjUgMTI2LjQgMzIgOTkuOSAzMkM0NC43IDMyIDAgNzYuNyAwIDEzMS45TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMTYuMXpNMjU2IDM1MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC0xMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0zMi0zMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFEZXNrdG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rlc2t0b3AnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg0MjEsIDYxNzA0LCBcImRlc2t0b3AtYWx0XCJdLCBcImYzOTBcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTc2IDAtMTAuNyAzMkwxNjAgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02OS4zIDBMMzM2IDQxNmwxNzYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek01MTIgNjRsMCAyMjRMNjQgMjg4IDY0IDY0bDQ0OCAwelwiXVxufTtcbmNvbnN0IGZhRGVza3RvcEFsdCA9IGZhRGVza3RvcDtcbmNvbnN0IGZhTSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTA5XSwgXCI0ZFwiLCBcIk0yMi43IDMzLjRjMTMuNS00LjEgMjguMSAxLjEgMzUuOSAxMi45TDIyNCAyOTQuMyAzODkuNCA0Ni4zYzcuOC0xMS43IDIyLjQtMTcgMzUuOS0xMi45UzQ0OCA0OS45IDQ0OCA2NGwwIDM4NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI3OC4zTDI1MC42IDM2OS44Yy01LjkgOC45LTE1LjkgMTQuMi0yNi42IDE0LjJzLTIwLjctNS4zLTI2LjYtMTQuMkw2NCAxNjkuNyA2NCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMMCA2NEMwIDQ5LjkgOS4yIDM3LjUgMjIuNyAzMy40elwiXVxufTtcbmNvbnN0IGZhVGFibGVMaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLWxpc3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInRoLWxpc3RcIl0sIFwiZjAwYlwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptNjQgMGwwIDY0IDY0IDAgMC02NEw2NCA5NnptMzg0IDBMMTkyIDk2bDAgNjQgMjU2IDAgMC02NHpNNjQgMjI0bDAgNjQgNjQgMCAwLTY0LTY0IDB6bTM4NCAwbC0yNTYgMCAwIDY0IDI1NiAwIDAtNjR6TTY0IDM1MmwwIDY0IDY0IDAgMC02NC02NCAwem0zODQgMGwtMjU2IDAgMCA2NCAyNTYgMCAwLTY0elwiXVxufTtcbmNvbnN0IGZhVGhMaXN0ID0gZmFUYWJsZUxpc3Q7XG5jb25zdCBmYUNvbW1lbnRTbXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1zbXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNtc1wiXSwgXCJmN2NkXCIsIFwiTTI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMlMwIDEyNS4xIDAgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjNjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOXpNOTYgMjEyLjhjMC0yMC4zIDE2LjUtMzYuOCAzNi44LTM2LjhsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTIuNyAwLTQuOCAyLjItNC44IDQuOGMwIDEuNiAuOCAzLjEgMi4yIDRsMjkuNCAxOS42YzEwLjMgNi44IDE2LjQgMTguMyAxNi40IDMwLjdjMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhMMTEyIDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwyNy4yIDBjMi43IDAgNC44LTIuMiA0LjgtNC44YzAtMS42LS44LTMuMS0yLjItNGwtMjkuNC0xOS42QzEwMi4yIDIzNi43IDk2IDIyNS4yIDk2IDIxMi44ek0zNzIuOCAxNzZsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTIuNyAwLTQuOCAyLjItNC44IDQuOGMwIDEuNiAuOCAzLjEgMi4yIDRsMjkuNCAxOS42YzEwLjIgNi44IDE2LjQgMTguMyAxNi40IDMwLjdjMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhMMzUyIDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwyNy4yIDBjMi43IDAgNC44LTIuMiA0LjgtNC44YzAtMS42LS44LTMuMS0yLjItNGwtMjkuNC0xOS42Yy0xMC4yLTYuOC0xNi40LTE4LjMtMTYuNC0zMC43YzAtMjAuMyAxNi41LTM2LjggMzYuOC0zNi44em0tMTUyIDYuNEwyNTYgMjI5LjNsMzUuMi00Ni45YzQuMS01LjUgMTEuMy03LjggMTcuOS01LjZzMTAuOSA4LjMgMTAuOSAxNS4ybDAgOTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OC0xOS4yIDI1LjZjLTMgNC03LjggNi40LTEyLjggNi40cy05LjgtMi40LTEyLjgtNi40TDIyNCAyNDBsMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNi45IDQuNC0xMyAxMC45LTE1LjJzMTMuNyAuMSAxNy45IDUuNnpcIl1cbn07XG5jb25zdCBmYVNtcyA9IGZhQ29tbWVudFNtcztcbmNvbnN0IGZhQm9vayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MjEyXSwgXCJmMDJkXCIsIFwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwyODggMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMjBjMC0xNy43LTE0LjMtMzItMzItMzJMMzg0IDAgOTYgMHptMCAzODRsMjU2IDAgMCA2NEw5NiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTMyLTI0MGMwLTguOCA3LjItMTYgMTYtMTZsMTkyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE5MiAwYy04LjggMC0xNi03LjItMTYtMTZ6bTE2IDQ4bDE5MiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVVzZXJQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItcGx1cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjIzNFwiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGw5MS40IDBDMzY4LjIgMzA0IDQ0OCAzODMuOCA0NDggNDgyLjNjMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMMjkuNyA1MTJDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek01MDQgMzEybDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG5jb25zdCBmYUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZWNrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTAwMDMsIDEwMDA0XSwgXCJmMDBjXCIsIFwiTTQzOC42IDEwNS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0yNTYgMjU2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxNjAgMzM4LjcgMzkzLjQgMTA1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDB6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5VGhyZWVRdWFydGVycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJiYXR0ZXJ5LTRcIl0sIFwiZjI0MVwiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2MGMwIDguOC03LjIgMTYtMTYgMTZMODAgMzUyYy04LjggMC0xNi03LjItMTYtMTZsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZMMCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBsMzg0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMODAgOTZ6bTI3MiA5Nkw5NiAxOTJsMCAxMjggMjU2IDAgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5NCA9IGZhQmF0dGVyeVRocmVlUXVhcnRlcnM7XG5jb25zdCBmYUhvdXNlQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTA5XCIsIFwiTTMyMC43IDM1MmM4LjEtODkuNyA4My41LTE2MCAxNzUuMy0xNjBjOC45IDAgMTcuNiAuNyAyNi4xIDEuOUwzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWwzMiAwIDAgNjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOGwwIDExMmMwIDIyLjEgMTcuOSA0MCA0MCA0MGwxNiAwYzEuMiAwIDIuNC0uMSAzLjYtLjJjMS41IC4xIDMgLjIgNC41IC4ybDMxLjkgMCAyNCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtMjQgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwIC43IDB6TTY0MCAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xuY29uc3QgZmFBbmdsZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtbGVmdCcsXG4gIGljb246IFszMjAsIDUxMiwgWzgyNDldLCBcImYxMDRcIiwgXCJNNDEuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDI1NiAyNDYuNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHpcIl1cbn07XG5jb25zdCBmYURpYWdyYW1TdWNjZXNzb3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlhZ3JhbS1zdWNjZXNzb3InLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0N2FcIiwgXCJNNTEyIDQxNmwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NHpNNjQgMTYwbDAtNjQgMTQ0IDAgMTYgMCAwIDY0TDY0IDE2MHptMjI0IDBsMC02NCA4MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2LTM4LjEgMGMtMjEuNCAwLTMyLjEgMjUuOS0xNyA0MUwzOTkgMjM5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDUwMyAxNjljMTUuMS0xNS4xIDQuNC00MS0xNy00MUw0NDggMTI4bDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMMjI0IDMybC0xNiAwTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NHpcIl1cbn07XG5jb25zdCBmYVRydWNrQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1hcnJvdy1yaWdodCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU4YlwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEwzNjggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4IDUwLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w1ODkuMyAxOTJjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM2wwIDE4LjcgMCAzMiAwIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bC0xMjggMGMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwtMTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA0OHpNNDE2IDI1NmwxMjggMCAwLTE4LjdMNDY2LjcgMTYwIDQxNiAxNjBsMCA5NnpNMTYwIDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTM2OC00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0yNTcgOTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzkgMzlMOTYgMTY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2Ni4xIDAtMzkgMzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4MC04MGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUwyNTcgOTV6XCJdXG59O1xuY29uc3QgZmFBcnJvd3NTcGxpdFVwQW5kTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YmNcIiwgXCJNMjQ2LjYgMTUwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDM1MiAxMDkuMyAzNTIgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMTQuNyAwIDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMTA5LjMgMjU2IDIyNCAyNTZjMjMuMyAwIDQ1LjIgNi4yIDY0IDE3LjFsMC0xNjMuOS00MS40IDQxLjR6XCJdXG59O1xuY29uc3QgZmFIYW5kRmlzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWZpc3QnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5OTk0LCBcImZpc3QtcmFpc2VkXCJdLCBcImY2ZGVcIiwgXCJNMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTItNjQgMCAwLTExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDgwLTY0IDAgMC04MHptMTkyIDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZ6bTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNmMxMy4yIDAgMjUuNC00IDM1LjYtMTAuOGM4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44YzExLjcgMCAyMi42LTMuMSAzMi04LjZsMCA4LjZjMCA1Mi4zLTI1LjEgOTguOC02NCAxMjhsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzguNGMtMTcuMy03LjktMzMuMi0xOC44LTQ2LjktMzIuNUw2OS41IDM1Ny41QzQ1LjUgMzMzLjUgMzIgMzAwLjkgMzIgMjY3bDAtMjdjMC0zNS4zIDI4LjctNjQgNjQtNjRsODggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcyelwiXVxufTtcbmNvbnN0IGZhRmlzdFJhaXNlZCA9IGZhSGFuZEZpc3Q7XG5jb25zdCBmYUNsb3VkTW9vbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1tb29uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNmMzXCIsIFwiTTQ5NS44IDBjNS41IDAgMTAuOSAuMiAxNi4zIC43YzcgLjYgMTIuOCA1LjcgMTQuMyAxMi41cy0xLjYgMTMuOS03LjcgMTcuM2MtNDQuNCAyNS4yLTc0LjQgNzMtNzQuNCAxMjcuOGMwIDgxIDY1LjUgMTQ2LjYgMTQ2LjIgMTQ2LjZjOC42IDAgMTctLjcgMjUuMS0yLjFjNi45LTEuMiAxMy44IDIuMiAxNyA4LjVzMS45IDEzLjgtMy4xIDE4LjdjLTM0LjUgMzMuNi04MS43IDU0LjQtMTMzLjYgNTQuNGMtOS4zIDAtMTguNC0uNy0yNy40LTEuOWMtMTEuMi0yMi42LTI5LjgtNDAuOS01Mi42LTUxLjdjLTIuNy01OC41LTUwLjMtMTA1LjMtMTA5LjItMTA2LjdjLTEuNy0xMC40LTIuNi0yMS0yLjYtMzEuOEMzMDQgODYuMSAzODkuOCAwIDQ5NS44IDB6TTQ0Ny45IDQzMS45YzAgNDQuMi0zNS44IDgwLTgwIDgwTDk2IDUxMS45Yy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3IDgwLTk0LjZsMC0xLjNjMC01MyA0My05NiA5Ni05NmMzNC45IDAgNjUuNCAxOC42IDgyLjIgNDYuNGMxMy05LjEgMjguOC0xNC40IDQ1LjgtMTQuNGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDUuOS0uNiAxMS43LTEuOSAxNy4yYzM3LjQgNi43IDY1LjggMzkuNCA2NS44IDc4Ljd6XCJdXG59O1xuY29uc3QgZmFCcmllZmNhc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJpZWZjYXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTg4XSwgXCJmMGIxXCIsIFwiTTE4NCA0OGwxNDQgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MEwxNzYgOTZsMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDBMNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwbDAgOTYgMTkyIDAgMTI4IDAgMTkyIDAgMC05NmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDE4NCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnpNNTEyIDI4OGwtMTkyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMkwwIDI4OCAwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTEyOHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkZhbGxpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWZhbGxpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NDZcIiwgXCJNMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5LjhjMCA1NC42LTI3LjkgMTA0LjYtNzIuNSAxMzMuNmwuMiAuM0wzMDQuNSAyNTZsODcuNSAwYzE1LjEgMCAyOS4zIDcuMSAzOC40IDE5LjJsNDMuMiA1Ny42YzEwLjYgMTQuMSA3LjcgMzQuMi02LjQgNDQuOHMtMzQuMiA3LjctNDQuOC02LjRMMzg0IDMyMGwtOTYgMC0xLjQgMCA5Mi4zIDE0Mi42YzkuNiAxNC44IDUuNCAzNC42LTkuNSA0NC4zcy0zNC42IDUuNC00NC4zLTkuNUwxNjQuNSAyNDkuMmMtMi45IDkuMi00LjUgMTktNC41IDI5bDAgNzMuOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTczLjhjMC02NS4xIDM5LjYtMTIzLjcgMTAwLjEtMTQ3LjlDMjMyLjMgMTE1LjggMjU2IDgwLjggMjU2IDQxLjhsMC05LjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTExMiAzMmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFJbWFnZVBvcnRyYWl0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ltYWdlLXBvcnRyYWl0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJwb3J0cmFpdFwiXSwgXCJmM2UwXCIsIFwiTTM4NCA2NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NHpNMTI4IDE5MmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTgwIDM1Ni42YzAtMzcuOSAzMC43LTY4LjYgNjguNi02OC42bDg2LjkgMGMzNy45IDAgNjguNiAzMC43IDY4LjYgNjguNmMwIDE1LjEtMTIuMyAyNy40LTI3LjQgMjcuNGwtMTY5LjEgMEM5Mi4zIDM4NCA4MCAzNzEuNyA4MCAzNTYuNnpcIl1cbn07XG5jb25zdCBmYVBvcnRyYWl0ID0gZmFJbWFnZVBvcnRyYWl0O1xuY29uc3QgZmFVc2VyVGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItdGFnJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTA3XCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMmwzODguNiAwYzEwIDAgMTguOC00LjkgMjQuMi0xMi41bC05OS4yLTk5LjJjLTE0LjktMTQuOS0yMy4zLTM1LjEtMjMuMy01Ni4xbDAtMzNjLTE1LjktNC43LTMyLjgtNy4yLTUwLjMtNy4ybC05MS40IDB6TTM4NCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgODIuN2MwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM0w0NzguMSA0OTEuM2MxOC43IDE4LjcgNDkuMSAxOC43IDY3LjkgMGw3My40LTczLjRjMTguNy0xOC43IDE4LjctNDkuMSAwLTY3LjlMNTEyIDI0Mi43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43TDM4NCAyMjR6bTI0IDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFSdWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnVnJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY5XCIsIFwiTTI0IDY0bDMyIDAgMjQgMCAwIDI0IDAgODggMCA4MCAwIDgwIDAgODggMCAyNC0yNCAwLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTMyLTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0zMi04IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwQzEwLjcgMTEyIDAgMTAxLjMgMCA4OFMxMC43IDY0IDI0IDY0em04OCAwbDQxNiAwIDAgMzg0LTQxNiAwIDAtMzg0ek02NDAgODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTggMCAwIDQwIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgMzIgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCAzMiA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDQwIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMC0yNCAwIDAtMjQgMC04OCAwLTgwIDAtODAgMC04OCAwLTI0IDI0IDAgMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHpcIl1cbn07XG5jb25zdCBmYUVhcnRoRXVyb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWV1cm9wZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ2xvYmUtZXVyb3BlXCJdLCBcImY3YTJcIiwgXCJNMjY2LjMgNDguM0wyMzIuNSA3My42Yy01LjQgNC04LjUgMTAuNC04LjUgMTcuMWwwIDkuMWMwIDYuOCA1LjUgMTIuMyAxMi4zIDEyLjNjMi40IDAgNC44LS43IDYuOC0yLjFsNDEuOC0yNy45YzItMS4zIDQuNC0yLjEgNi44LTIuMWwxIDBjNi4yIDAgMTEuMyA1LjEgMTEuMyAxMS4zYzAgMy0xLjIgNS45LTMuMyA4bC0xOS45IDE5LjljLTUuOCA1LjgtMTIuOSAxMC4yLTIwLjcgMTIuOGwtMjYuNSA4LjhjLTUuOCAxLjktOS42IDcuMy05LjYgMTMuNGMwIDMuNy0xLjUgNy4zLTQuMSAxMGwtMTcuOSAxNy45Yy02LjQgNi40LTkuOSAxNS05LjkgMjRsMCA0LjNjMCAxNi40IDEzLjYgMjkuNyAyOS45IDI5LjdjMTEgMCAyMS4yLTYuMiAyNi4xLTE2bDQtOC4xYzIuNC00LjggNy40LTcuOSAxMi44LTcuOWM0LjUgMCA4LjcgMi4xIDExLjQgNS43bDE2LjMgMjEuN2MyLjEgMi45IDUuNSA0LjUgOS4xIDQuNWM4LjQgMCAxMy45LTguOSAxMC4xLTE2LjRsLTEuMS0yLjNjLTMuNS03IDAtMTUuNSA3LjUtMThsMjEuMi03LjFjNy42LTIuNSAxMi43LTkuNiAxMi43LTE3LjZjMC0xMC4zIDguMy0xOC42IDE4LjYtMTguNmwyOS40IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTIwLjcgMGMtNy4yIDAtMTQuMiAyLjktMTkuMyA4bC00LjcgNC43Yy0yLjEgMi4xLTMuMyA1LTMuMyA4YzAgNi4yIDUuMSAxMS4zIDExLjMgMTEuM2wxMS4zIDBjNiAwIDExLjggMi40IDE2IDYuNmw2LjUgNi41YzEuOCAxLjggMi44IDQuMyAyLjggNi44cy0xIDUtMi44IDYuOGwtNy41IDcuNUMzODYgMjYyIDM4NCAyNjYuOSAzODQgMjcyczIgMTAgNS43IDEzLjdMNDA4IDMwNGMxMC4yIDEwLjIgMjQuMSAxNiAzOC42IDE2bDcuMyAwYzYuNS0yMC4yIDEwLTQxLjcgMTAtNjRjMC0xMTEuNC04Ny42LTIwMi40LTE5Ny43LTIwNy43em0xNzIgMzA3LjljLTMuNy0yLjYtOC4yLTQuMS0xMy00LjFjLTYgMC0xMS44LTIuNC0xNi02LjZMMzk2IDMzMmMtNy43LTcuNy0xOC0xMi0yOC45LTEyYy05LjcgMC0xOS4yLTMuNS0yNi42LTkuOEwzMTQgMjg3LjRjLTExLjYtOS45LTI2LjQtMTUuNC00MS43LTE1LjRsLTIwLjkgMGMtMTIuNiAwLTI1IDMuNy0zNS41IDEwLjdMMTg4LjUgMzAxYy0xNy44IDExLjktMjguNSAzMS45LTI4LjUgNTMuM2wwIDMuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2wxNiAxNmM4LjUgOC41IDIwIDEzLjMgMzIgMTMuM2wyMS4zIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRjMCAyLjUgLjQgNSAxLjEgNy4zYzcxLjMtNS44IDEzMi41LTQ3LjYgMTY1LjItMTA3LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpNMTg3LjMgMTAwLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0zMiAzMmMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDMyLTMyYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbmNvbnN0IGZhR2xvYmVFdXJvcGUgPSBmYUVhcnRoRXVyb3BlO1xuY29uc3QgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcnQtZmxhdGJlZC1zdWl0Y2FzZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wibHVnZ2FnZS1jYXJ0XCJdLCBcImY1OWRcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMNDggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsNDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY2LjcgMGMxLjggNSAyLjcgMTAuNCAyLjcgMTZjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC01LjYgMS0xMSAyLjctMTZsLTE5Ny41IDBjMS44IDUgMi43IDEwLjQgMi43IDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtNS42IDEtMTEgMi43LTE2TDE0NCA0NDhjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDY0IDgwYzAtOC44LTcuMi0xNi0xNi0xNkwzMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyek00MzIgOTZsMC00MGMwLTQuNC0zLjYtOC04LThsLTgwIDBjLTQuNCAwLTggMy42LTggOGwwIDQwIDk2IDB6TTI4OCA5NmwwLTQwYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDgwIDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCA0MCAwIDIyNC0xOTIgMCAwLTIyNHpNNTEyIDMyMGwwLTIyNCAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNiAwek0yNDAgOTZsMTYgMCAwIDIyNC0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTEyOGMwLTI2LjUgMjEuNS00OCA0OC00OHpcIl1cbn07XG5jb25zdCBmYUx1Z2dhZ2VDYXJ0ID0gZmFDYXJ0RmxhdGJlZFN1aXRjYXNlO1xuY29uc3QgZmFSZWN0YW5nbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWN0YW5nbGUteG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjE2NCwgXCJyZWN0YW5nbGUtdGltZXNcIiwgXCJ0aW1lcy1yZWN0YW5nbGVcIiwgXCJ3aW5kb3ctY2xvc2VcIl0sIFwiZjQxMFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0xNzUgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDQ3IDQ3IDQ3LTQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNDcgNDcgNDcgNDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDctNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDctNDctNDctNDdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45elwiXVxufTtcbmNvbnN0IGZhUmVjdGFuZ2xlVGltZXMgPSBmYVJlY3RhbmdsZVhtYXJrO1xuY29uc3QgZmFUaW1lc1JlY3RhbmdsZSA9IGZhUmVjdGFuZ2xlWG1hcms7XG5jb25zdCBmYVdpbmRvd0Nsb3NlID0gZmFSZWN0YW5nbGVYbWFyaztcbmNvbnN0IGZhQmFodFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFodC1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlMGFjXCIsIFwiTTE0NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyTDM3LjYgNjRDMTYuOCA2NCAwIDgwLjggMCAxMDEuNkwwIDIyNGwwIDQxLjdMMCAyODggMCA0MDYuM2MwIDIzIDE4LjcgNDEuNyA0MS43IDQxLjdsNzAuMyAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC00MC4xLTIxLjEtNzUuMy01Mi43LTk1LjFDMjgwLjMgMjIyLjYgMjg4IDIwMC4yIDI4OCAxNzZjMC02MS45LTUwLjEtMTEyLTExMi0xMTJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMTEyIDEyOGwwIDk2LTQ4IDAgMC05NiA0OCAwem02NCA5NmwwLTk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4em0tNjQgNjRsMCA5Ni00OCAwIDAtOTYgNDggMHptNjQgOTZsMC05NiAzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhQm9va09wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjE0LCAxMjgzNjZdLCBcImY1MThcIiwgXCJNMjQ5LjYgNDcxLjVjMTAuOCAzLjggMjIuNC00LjEgMjIuNC0xNS41bDAtMzc3LjRjMC00LjItMS42LTguNC01LTExQzI0Ny40IDUyIDIwMi40IDMyIDE0NCAzMkM5My41IDMyIDQ2LjMgNDUuMyAxOC4xIDU2LjFDNi44IDYwLjUgMCA3MS43IDAgODMuOEwwIDQ1NC4xYzAgMTEuOSAxMi44IDIwLjIgMjQuMSAxNi41QzU1LjYgNDYwLjEgMTA1LjUgNDQ4IDE0NCA0NDhjMzMuOSAwIDc5IDE0IDEwNS42IDIzLjV6bTc2LjggMEMzNTMgNDYyIDM5OC4xIDQ0OCA0MzIgNDQ4YzM4LjUgMCA4OC40IDEyLjEgMTE5LjkgMjIuNmMxMS4zIDMuOCAyNC4xLTQuNiAyNC4xLTE2LjVsMC0zNzAuM2MwLTEyLjEtNi44LTIzLjMtMTguMS0yNy42QzUyOS43IDQ1LjMgNDgyLjUgMzIgNDMyIDMyYy01OC40IDAtMTAzLjQgMjAtMTIzIDM1LjZjLTMuMyAyLjYtNSA2LjgtNSAxMUwzMDQgNDU2YzAgMTEuNCAxMS43IDE5LjMgMjIuNCAxNS41elwiXVxufTtcbmNvbnN0IGZhQm9va0pvdXJuYWxXaGlsbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1qb3VybmFsLXdoaWxscycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiam91cm5hbC13aGlsbHNcIl0sIFwiZjY2YVwiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDM4NCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMEw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjRMOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnptOTAuNC0yMzQuNGwtMjEuMi0yMS4yYy0zIDEwLjEtNS4xIDIwLjYtNS4xIDMxLjZjMCAuMiAwIC41IC4xIC44cy4xIC41IC4xIC44TDE2NS4yIDIyNmMyLjUgMi4xIDMuNCA1LjggMi4zIDguOWMtMS4zIDMtNC4xIDUuMS03LjUgNS4xYy0xLjktLjEtMy44LS44LTUuMi0ybC0yMy42LTIwLjZDMTQyLjggMjY3IDE4Ni45IDMwNCAyNDAgMzA0czk3LjMtMzcgMTA4LjktODYuNkwzMjUuMyAyMzhjLTEuNCAxLjItMy4zIDItNS4zIDJjLTIuMi0uMS00LjQtMS4xLTYtMi44Yy0xLjItMS41LTEuOS0zLjQtMi01LjJjLjEtMi4yIDEuMS00LjQgMi44LTZsMzcuMS0zMi41YzAtLjMgMC0uNSAuMS0uOHMuMS0uNSAuMS0uOGMwLTExLTIuMS0yMS41LTUuMS0zMS42bC0yMS4yIDIxLjJjLTMuMSAzLjEtOC4xIDMuMS0xMS4zIDBzLTMuMS04LjEgMC0xMS4ybDI2LjQtMjYuNWMtOC4yLTE3LTIwLjUtMzEuNy0zNS45LTQyLjZjLTIuNy0xLjktNi4yIDEuNC01IDQuNWM4LjUgMjIuNCAzLjYgNDgtMTMgNjUuNmMtMy4yIDMuNC0zLjYgOC45LS45IDEyLjdjOS44IDE0IDEyLjcgMzEuOSA3LjUgNDguNWMtNS45IDE5LjQtMjIgMzQuMS00MS45IDM4LjNsLTEuNC0zNC4zIDEyLjYgOC42Yy42IC40IDEuNSAuNiAyLjMgLjZjMS41IDAgMi43LS44IDMuNS0ycy42LTIuOC0uMS00TDI2MCAyMjUuNGwxOC0zLjZjMS44LS40IDMuMS0yLjEgMy4xLTRzLTEuNC0zLjUtMy4xLTMuOWwtMTgtMy43IDguNS0xNC4zYy44LTEuMiAuOS0yLjkgLjEtNC4xcy0yLTItMy41LTJsLS4xIDBjLS43IC4xLTEuNSAuMy0yLjEgLjdsLTE0LjEgOS42TDI0NCA4Ny45Yy0uMS0yLjItMS45LTMuOS00LTMuOXMtMy45IDEuNi00IDMuOWwtNC42IDExMC44LTEyLTguMWMtMS41LTEuMS0zLjYtLjktNSAuNHMtMS42IDMuNC0uOCA1bDguNiAxNC4zLTE4IDMuN2MtMS44IC40LTMuMSAyLTMuMSAzLjlzMS40IDMuNiAzLjEgNGwxOCAzLjgtOC42IDE0LjJjLS4yIC42LS41IDEuNC0uNSAyYzAgMS4xIC41IDIuMSAxLjIgM2MuOCAuNiAxLjggMSAyLjggMWMuNyAwIDEuNi0uMiAyLjItLjZsMTAuNC03LjEtMS40IDMyLjhjLTE5LjktNC4xLTM2LTE4LjktNDEuOS0zOC4zYy01LjEtMTYuNi0yLjItMzQuNCA3LjYtNDguNWMyLjctMy45IDIuMy05LjMtLjktMTIuN2MtMTYuNi0xNy41LTIxLjYtNDMuMS0xMy4xLTY1LjVjMS4yLTMuMS0yLjMtNi40LTUtNC41Yy0xNS4zIDEwLjktMjcuNiAyNS42LTM1LjggNDIuNmwyNi40IDI2LjVjMy4xIDMuMSAzLjEgOC4xIDAgMTEuMnMtOC4xIDMuMS0xMS4yIDB6XCJdXG59O1xuY29uc3QgZmFKb3VybmFsV2hpbGxzID0gZmFCb29rSm91cm5hbFdoaWxscztcbmNvbnN0IGZhSGFuZGN1ZmZzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRjdWZmcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRmOFwiLCBcIk0yNDAgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMTkyIDQ4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptLTMyIDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE2YzAgMS43LS4yIDMuNC0uNSA1LjFDMjgwLjMgMjI5LjYgMzIwIDI4Ni4yIDMyMCAzNTJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0NDAuNCAwIDM1MmMwLTY1LjggMzkuNy0xMjIuNCA5Ni41LTE0Ni45Yy0uNC0xLjYtLjUtMy4zLS41LTUuMWwwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDggMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAzMjBhOTYgOTYgMCAxIDAgMC0xOTIgOTYgOTYgMCAxIDAgMCAxOTJ6bTE5Mi05NmMwLTI1LjktNS4xLTUwLjUtMTQuNC03My4xYzE2LjktMzIuOSA0NC44LTU5LjEgNzguOS03My45Yy0uNC0xLjYtLjUtMy4zLS41LTUuMWwwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDggMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE2YzAgMS43LS4yIDMuNC0uNSA1LjFDNjAwLjMgMjI5LjYgNjQwIDI4Ni4yIDY0MCAzNTJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBjLTYyIDAtMTE1LjgtMzUuMy0xNDIuNC04Ni45YzkuMy0yMi41IDE0LjQtNDcuMiAxNC40LTczLjF6bTIyNCAwYTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHpNMzY4IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em04MCA0OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFUcmlhbmdsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyaWFuZ2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg4OCwgXCJleGNsYW1hdGlvbi10cmlhbmdsZVwiLCBcIndhcm5pbmdcIl0sIFwiZjA3MVwiLCBcIk0yNTYgMzJjMTQuMiAwIDI3LjMgNy41IDM0LjUgMTkuOGwyMTYgMzY4YzcuMyAxMi40IDcuMyAyNy43IC4yIDQwLjFTNDg2LjMgNDgwIDQ3MiA0ODBMNDAgNDgwYy0xNC4zIDAtMjcuNi03LjctMzQuNy0yMC4xcy03LTI3LjggLjItNDAuMWwyMTYtMzY4QzIyOC43IDM5LjUgMjQxLjggMzIgMjU2IDMyem0wIDEyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMzIgMjI0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFFeGNsYW1hdGlvblRyaWFuZ2xlID0gZmFUcmlhbmdsZUV4Y2xhbWF0aW9uO1xuY29uc3QgZmFXYXJuaW5nID0gZmFUcmlhbmdsZUV4Y2xhbWF0aW9uO1xuY29uc3QgZmFEYXRhYmFzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkYXRhYmFzZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjFjMFwiLCBcIk00NDggODBsMCA0OGMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgMTcyLjIgMCAxMjhMMCA4MEMwIDM1LjggMTAwLjMgMCAyMjQgMFM0NDggMzUuOCA0NDggODB6TTM5My4yIDIxNC43YzIwLjgtNy40IDM5LjktMTYuOSA1NC44LTI4LjZMNDQ4IDI4OGMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgMzMyLjIgMCAyODhMMCAxODYuMWMxNC45IDExLjggMzQgMjEuMiA1NC44IDI4LjZDOTkuNyAyMzAuNyAxNTkuNSAyNDAgMjI0IDI0MHMxMjQuMy05LjMgMTY5LjItMjUuM3pNMCAzNDYuMWMxNC45IDExLjggMzQgMjEuMiA1NC44IDI4LjZDOTkuNyAzOTAuNyAxNTkuNSA0MDAgMjI0IDQwMHMxMjQuMy05LjMgMTY5LjItMjUuM2MyMC44LTcuNCAzOS45LTE2LjkgNTQuOC0yOC42bDAgODUuOWMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgNDc2LjIgMCA0MzJsMC04NS45elwiXVxufTtcbmNvbnN0IGZhU2hhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIm1haWwtZm9yd2FyZFwiXSwgXCJmMDY0XCIsIFwiTTMwNyAzNC44Yy0xMS41IDUuMS0xOSAxNi42LTE5IDI5LjJsMCA2NC0xMTIgMEM3OC44IDEyOCAwIDIwNi44IDAgMzA0QzAgNDE3LjMgODEuNSA0NjcuOSAxMDAuMiA0NzguMWMyLjUgMS40IDUuMyAxLjkgOC4xIDEuOWMxMC45IDAgMTkuNy04LjkgMTkuNy0xOS43YzAtNy41LTQuMy0xNC40LTkuOC0xOS41QzEwOC44IDQzMS45IDk2IDQxNC40IDk2IDM4NGMwLTUzIDQzLTk2IDk2LTk2bDk2IDAgMCA2NGMwIDEyLjYgNy40IDI0LjEgMTkgMjkuMnMyNSAzIDM0LjQtNS40bDE2MC0xNDRjNi43LTYuMSAxMC42LTE0LjcgMTAuNi0yMy44cy0zLjgtMTcuNy0xMC42LTIzLjhsLTE2MC0xNDRjLTkuNC04LjUtMjIuOS0xMC42LTM0LjQtNS40elwiXVxufTtcbmNvbnN0IGZhTWFpbEZvcndhcmQgPSBmYVNoYXJlO1xuY29uc3QgZmFCb3R0bGVEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvdHRsZS1kcm9wbGV0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNGM0XCIsIFwiTTk2IDBDODIuNyAwIDcyIDEwLjcgNzIgMjRzMTAuNyAyNCAyNCAyNGM0LjQgMCA4IDMuNiA4IDhsMCA2NC45YzAgMTIuMi03LjIgMjMuMS0xNy4yIDMwLjFDNTMuNyAxNzQuMSAzMiAyMTIuNSAzMiAyNTZsMCAxOTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTI4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC00My41LTIxLjctODEuOS01NC44LTEwNWMtMTAtNy0xNy4yLTE3LjktMTcuMi0zMC4xTDIxNiA1NmMwLTQuNCAzLjYtOCA4LThjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTggMHMwIDAgMCAwczAgMCAwIDBMMTA0IDBzMCAwIDAgMHMwIDAgMCAwTDk2IDB6bTY0IDM4MmMtMjYuNSAwLTQ4LTIwLjEtNDgtNDVjMC0xNi44IDIyLjEtNDguMSAzNi4zLTY2LjRjNi03LjggMTcuNS03LjggMjMuNSAwQzE4NS45IDI4OC45IDIwOCAzMjAuMiAyMDggMzM3YzAgMjQuOS0yMS41IDQ1LTQ4IDQ1elwiXVxufTtcbmNvbnN0IGZhTWFza0ZhY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFzay1mYWNlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMWQ3XCIsIFwiTTMyMCA2NGMtMjcuMiAwLTUzLjggOC03Ni40IDIzLjFsLTM3LjEgMjQuOGMtMTUuOCAxMC41LTM0LjMgMTYuMS01My4zIDE2LjFsLTkuMiAwLTE2IDAtNzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4NWMwIDU1LjEgMzcuNSAxMDMuMSA5MC45IDExNi40bDEwOCAyN0MyMzMuOCA0MzUgMjc1LjQgNDQ4IDMyMCA0NDhzODYuMi0xMyAxMjEuMS0zNS41bDEwOC0yN0M2MDIuNSAzNzIuMSA2NDAgMzI0LjEgNjQwIDI2OWwwLTg1YzAtMzAuOS0yNS4xLTU2LTU2LTU2bC03MiAwLTE2IDAtOS4yIDBjLTE5IDAtMzcuNS01LjYtNTMuMy0xNi4xTDM5Ni40IDg3LjFDMzczLjggNzIgMzQ3LjIgNjQgMzIwIDY0ek0xMzIuMyAzNDYuM2wtMjkuOC03LjRDNzAuNSAzMzAuOSA0OCAzMDIuMSA0OCAyNjlsMC04NWMwLTQuNCAzLjYtOCA4LThsNDAgMCAwIDQ4YzAgNDUuMSAxMy40IDg3LjIgMzYuMyAxMjIuM3ptNDA1LjEtNy40bC0yOS44IDcuNGMyMy0zNS4yIDM2LjMtNzcuMiAzNi4zLTEyMi4zbDAtNDggNDAgMGM0LjQgMCA4IDMuNiA4IDhsMCA4NWMwIDMzLTIyLjUgNjEuOC01NC41IDY5Ljl6TTE5MiAyMDhjMC04LjggNy4yLTE2IDE2LTE2bDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0yMjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0xNiA0OGwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMjI0IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTE2IDgwYzAtOC44IDcuMi0xNiAxNi0xNmwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYUhpbGxSb2Nrc2xpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGlsbC1yb2Nrc2xpZGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MDhcIiwgXCJNMjUyLjQgMTAzLjhsMjcgNDhjMi44IDUgOC4yIDguMiAxMy45IDguMmw1My4zIDBjNS44IDAgMTEuMS0zLjEgMTMuOS04LjJsMjctNDhjMi43LTQuOSAyLjctMTAuOCAwLTE1LjdsLTI3LTQ4Yy0yLjgtNS04LjItOC4yLTEzLjktOC4ybC01My4zIDBjLTUuOCAwLTExLjEgMy4xLTEzLjkgOC4ybC0yNyA0OGMtMi43IDQuOS0yLjcgMTAuOCAwIDE1Ljd6TTY4LjMgODdDNDMuMSA2MS44IDAgNzkuNyAwIDExNS4zTDAgNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwbDMxNi43IDBjMzUuNiAwIDUzLjUtNDMuMSAyOC4zLTY4LjNMNjguMyA4N3pNNTA0LjIgNDAzLjZjNC45IDIuNyAxMC44IDIuNyAxNS43IDBsNDgtMjdjNS0yLjggOC4yLTguMiA4LjItMTMuOWwwLTUzLjNjMC01LjgtMy4xLTExLjEtOC4yLTEzLjlsLTQ4LTI3Yy00LjktMi43LTEwLjgtMi43LTE1LjcgMGwtNDggMjdjLTUgMi44LTguMiA4LjItOC4yIDEzLjlsMCA1My4zYzAgNS44IDMuMSAxMS4xIDguMiAxMy45bDQ4IDI3ek0xOTIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzg0IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFSaWdodExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmlnaHQtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXhjaGFuZ2UtYWx0XCJdLCBcImYzNjJcIiwgXCJNMzIgOTZsMzIwIDAgMC02NGMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDk2IDk2YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTk2IDk2Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNmwwLTY0TDMyIDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpNNDgwIDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIwIDAgMCA2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtOTYtOTZjLTYtNi05LjQtMTQuMS05LjQtMjIuNnMzLjQtMTYuNiA5LjQtMjIuNmw5Ni05NmM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOXMxOS44IDE2LjYgMTkuOCAyOS42bDAgNjQgMzIwIDB6XCJdXG59O1xuY29uc3QgZmFFeGNoYW5nZUFsdCA9IGZhUmlnaHRMZWZ0O1xuY29uc3QgZmFQYXBlclBsYW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhcGVyLXBsYW5lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE5MTNdLCBcImYxZDhcIiwgXCJNNDk4LjEgNS42YzEwLjEgNyAxNS40IDE5LjEgMTMuNSAzMS4ybC02NCA0MTZjLTEuNSA5LjctNy40IDE4LjItMTYgMjNzLTE4LjkgNS40LTI4IDEuNkwyODQgNDI3LjdsLTY4LjUgNzQuMWMtOC45IDkuNy0yMi45IDEyLjktMzUuMiA4LjFTMTYwIDQ5My4yIDE2MCA0ODBsMC04My42YzAtNCAxLjUtNy44IDQuMi0xMC44TDMzMS44IDIwMi44YzUuOC02LjMgNS42LTE2LS40LTIycy0xNS43LTYuNC0yMi0uN0wxMDYgMzYwLjggMTcuNyAzMTYuNkM3LjEgMzExLjMgLjMgMzAwLjcgMCAyODguOXM1LjktMjIuOCAxNi4xLTI4LjdsNDQ4LTI1NmMxMC43LTYuMSAyMy45LTUuNSAzNCAxLjR6XCJdXG59O1xuY29uc3QgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjVcIiwgXCJNMjEzLjIgMzJMMjg4IDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDc0LjggMGMyNy4xIDAgNTEuMyAxNy4xIDYwLjMgNDIuNmw0Mi43IDEyMC42Yy0xMC45LTIuMS0yMi4yLTMuMi0zMy44LTMuMmMtNTkuNSAwLTExMi4xIDI5LjYtMTQ0IDc0LjhsMC00Mi44YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJjMi4zIDAgNC42LS4zIDYuOC0uN2MtNC41IDE1LjUtNi44IDMxLjgtNi44IDQ4LjdjMCA1LjQgLjIgMTAuNyAuNyAxNmwtLjcgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NEw4Ni42IDQ4MEM1Ni41IDQ4MCAzMiA0NTUuNSAzMiA0MjUuNGMwLTYuMiAxLjEtMTIuNCAzLjEtMTguMkwxNTIuOSA3NC42QzE2MiA0OS4xIDE4Ni4xIDMyIDIxMy4yIDMyek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wLTE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYUR1bmdlb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHVuZ2VvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjZkOVwiLCBcIk0zMzYuNiAxNTYuNWMxLjMgMS4xIDIuNyAyLjIgMy45IDMuM2M5LjMgOC4yIDIzIDEwLjUgMzMuNCAzLjZsNjcuNi00NS4xYzExLjQtNy42IDE0LjItMjMuMiA1LjEtMzMuNEM0MzAgNjYuNiA0MTAuOSA1MC42IDM4OS43IDM3LjZjLTExLjktNy4zLTI2LjktMS40LTMyLjEgMTEuNmwtMzAuNSA3Ni4yYy00LjUgMTEuMSAuMiAyMy42IDkuNSAzMS4yek0zMjggMzYuOGM1LjEtMTIuOC0xLjYtMjcuNC0xNS0zMC41QzI5NC43IDIuMiAyNzUuNiAwIDI1NiAwcy0zOC43IDIuMi01NyA2LjRDMTg1LjUgOS40IDE3OC44IDI0IDE4NCAzNi44bDMwLjMgNzUuOGM0LjUgMTEuMyAxNi44IDE3LjIgMjkgMTZjNC4yLS40IDguNC0uNiAxMi43LS42czguNiAuMiAxMi43IC42YzEyLjEgMS4yIDI0LjQtNC43IDI5LTE2TDMyOCAzNi44ek02NS41IDg1Yy05LjEgMTAuMi02LjMgMjUuOCA1LjEgMzMuNGw2Ny42IDQ1LjFjMTAuMyA2LjkgMjQuMSA0LjYgMzMuNC0zLjZjMS4zLTEuMSAyLjYtMi4zIDQtMy4zYzkuMy03LjUgMTMuOS0yMC4xIDkuNS0zMS4yTDE1NC40IDQ5LjJjLTUuMi0xMi45LTIwLjMtMTguOC0zMi4xLTExLjZDMTAxLjEgNTAuNiA4MiA2Ni42IDY1LjUgODV6bTMxNCAxMzcuMWMuOSAzLjMgMS43IDYuNiAyLjMgMTBjMi41IDEzIDEzIDIzLjkgMjYuMiAyMy45bDgwIDBjMTMuMyAwIDI0LjEtMTAuOCAyMi45LTI0Yy0yLjUtMjcuMi05LjMtNTMuMi0xOS43LTc3LjNjLTUuNS0xMi45LTIxLjQtMTYuNi0zMy4xLTguOWwtNjguNiA0NS43Yy05LjggNi41LTEzLjIgMTkuMi0xMCAzMC41ek01My45IDE0NS44Yy0xMS42LTcuOC0yNy42LTQtMzMuMSA4LjlDMTAuNCAxNzguOCAzLjYgMjA0LjggMS4xIDIzMmMtMS4yIDEzLjIgOS42IDI0IDIyLjkgMjRsODAgMGMxMy4zIDAgMjMuOC0xMC44IDI2LjItMjMuOWMuNi0zLjQgMS40LTYuNyAyLjMtMTBjMy4xLTExLjQtLjItMjQtMTAtMzAuNUw1My45IDE0NS44ek0xMDQgMjg4bC04MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMzA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAwek0yNCA0MTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAwem0zODQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTgwIDB6TTI3MiAxOTJjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyNzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTI3MnptLTY0IDMyYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yNDB6bTEyOCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yNDB6XCJdXG59O1xuY29uc3QgZmFBbGlnblJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FsaWduLXJpZ2h0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDM4XCIsIFwiTTQ0OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwxOTIgOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFNb25leUJpbGwxV2F2ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLTEtd2F2ZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibW9uZXktYmlsbC13YXZlLWFsdFwiXSwgXCJmNTNiXCIsIFwiTTAgMTEyLjVMMCA0MjIuM2MwIDE4IDEwLjEgMzUgMjcgNDEuM2M4NyAzMi41IDE3NCAxMC4zIDI2MS0xMS45Yzc5LjgtMjAuMyAxNTkuNi00MC43IDIzOS4zLTE4LjljMjMgNi4zIDQ4LjctOS41IDQ4LjctMzMuNGwwLTMwOS45YzAtMTgtMTAuMS0zNS0yNy00MS4zQzQ2MiAxNS45IDM3NSAzOC4xIDI4OCA2MC4zQzIwOC4yIDgwLjYgMTI4LjQgMTAwLjkgNDguNyA3OS4xQzI1LjYgNzIuOCAwIDg4LjYgMCAxMTIuNXpNMTI4IDQxNmwtNjQgMCAwLTY0YzM1LjMgMCA2NCAyOC43IDY0IDY0ek02NCAyMjRsMC02NCA2NCAwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek00NDggMzUyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDAgNjQtNjQgMHptNjQtMTkyYy0zNS4zIDAtNjQtMjguNy02NC02NGw2NCAwIDAgNjR6TTM4NCAyNTZjMCA2MS45LTQzIDExMi05NiAxMTJzLTk2LTUwLjEtOTYtMTEyczQzLTExMiA5Ni0xMTJzOTYgNTAuMSA5NiAxMTJ6TTI1MiAyMDhjMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDI0IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC00IDAgMC02OGMwLTExLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHpcIl1cbn07XG5jb25zdCBmYU1vbmV5QmlsbFdhdmVBbHQgPSBmYU1vbmV5QmlsbDFXYXZlO1xuY29uc3QgZmFMaWZlUmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaWZlLXJpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxY2RcIiwgXCJNMzY3LjIgNDEyLjVDMzM1LjkgNDM0LjkgMjk3LjUgNDQ4IDI1NiA0NDhzLTc5LjktMTMuMS0xMTEuMi0zNS41bDU4LTU4YzE1LjggOC42IDM0IDEzLjUgNTMuMyAxMy41czM3LjQtNC45IDUzLjMtMTMuNWw1OCA1OHptOTAuNyAuOGMzMy44LTQzLjQgNTQtOTggNTQtMTU3LjNzLTIwLjItMTEzLjktNTQtMTU3LjNjOS0xMi41IDcuOS0zMC4xLTMuNC00MS4zUzQyNS44IDQ1IDQxMy4zIDU0QzM2OS45IDIwLjIgMzE1LjMgMCAyNTYgMFMxNDIuMSAyMC4yIDk4LjcgNTRjLTEyLjUtOS0zMC4xLTcuOS00MS4zIDMuNFM0NSA4Ni4yIDU0IDk4LjdDMjAuMiAxNDIuMSAwIDE5Ni43IDAgMjU2czIwLjIgMTEzLjkgNTQgMTU3LjNjLTkgMTIuNS03LjkgMzAuMSAzLjQgNDEuM1M4Ni4yIDQ2NyA5OC43IDQ1OGM0My40IDMzLjggOTggNTQgMTU3LjMgNTRzMTEzLjktMjAuMiAxNTcuMy01NGMxMi41IDkgMzAuMSA3LjkgNDEuMy0zLjRzMTIuNC0yOC44IDMuNC00MS4zem0tNDUuNS00Ni4xbC01OC01OGM4LjYtMTUuOCAxMy41LTM0IDEzLjUtNTMuM3MtNC45LTM3LjQtMTMuNS01My4zbDU4LTU4QzQzNC45IDE3Ni4xIDQ0OCAyMTQuNSA0NDggMjU2cy0xMy4xIDc5LjktMzUuNSAxMTEuMnpNMzY3LjIgOTkuNWwtNTggNThjLTE1LjgtOC42LTM0LTEzLjUtNTMuMy0xMy41cy0zNy40IDQuOS01My4zIDEzLjVsLTU4LTU4QzE3Ni4xIDc3LjEgMjE0LjUgNjQgMjU2IDY0czc5LjkgMTMuMSAxMTEuMiAzNS41ek0xNTcuNSAzMDkuM2wtNTggNThDNzcuMSAzMzUuOSA2NCAyOTcuNSA2NCAyNTZzMTMuMS03OS45IDM1LjUtMTExLjJsNTggNThjLTguNiAxNS44LTEzLjUgMzQtMTMuNSA1My4zczQuOSAzNy40IDEzLjUgNTMuM3pNMjA4IDI1NmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwelwiXVxufTtcbmNvbnN0IGZhSGFuZHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNpZ24tbGFuZ3VhZ2VcIiwgXCJzaWduaW5nXCJdLCBcImYyYTdcIiwgXCJNNTQ0IDE2MGwtLjEgNzIuNmMtLjEgNTIuMi0yNCAxMDEtNjQgMTMzLjFjLjEtMS45IC4xLTMuOCAuMS01LjdsMC04YzAtNzEuOC0zNy0xMzguNi05Ny45LTE3Ni43bC02MC4yLTM3LjZjLTguNi01LjQtMTcuOS04LjQtMjcuMy05LjRMMjQ4LjcgNDguOGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhzMjYuMi0yLjcgMzIuOCA4LjhsNzggMTM1LjFjMy4zIDUuNyAxMC43IDcuNyAxNi40IDQuNHM3LjctMTAuNyA0LjQtMTYuNGwtNjItMTA3LjRjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44UzM2MiA1IDM2OC42IDE2LjVsNjggMTE3LjhzMCAwIDAgMHMwIDAgMCAwbDQzLjMgNzVMNDgwIDE2MGMwLTE3LjcgMTQuNC0zMiAzMi0zMnMzMiAxNC40IDMyIDMyek0yNDMuOSA4OC41TDI2OC41IDEzMWMtMTMuOSA0LjUtMjYuNCAxMy43LTM0LjcgMjdjLS45IDEuNC0xLjcgMi45LTIuNSA0LjRsLTI4LjktNTBjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44em0tNDYuNCA2My43bDI2LjggNDYuNGMuNiA2IDIuMSAxMS44IDQuMyAxNy40bC00LjcgMC0xMy4zIDBzMCAwIDAgMEwxNzkgMjE2bC0yMy0zOS44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOHpNMjYwLjkgMTc1YzkuNC0xNSAyOS4xLTE5LjUgNDQuMS0xMC4ybDYwLjIgMzcuNkM0MTYuNyAyMzQuNyA0NDggMjkxLjIgNDQ4IDM1MmwwIDhjMCA4My45LTY4LjEgMTUyLTE1MiAxNTJsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDkyIDBjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJMODggNDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEyNCAwYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEyTDU2IDM2OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNTYgMGM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkw4OCAyOTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTM2IDBzMCAwIDAgMHMwIDAgMCAwbDkzLjIgMEwyNzEgMjE5LjFjLTE1LTkuNC0xOS41LTI5LjEtMTAuMi00NC4xelwiXVxufTtcbmNvbnN0IGZhU2lnbkxhbmd1YWdlID0gZmFIYW5kcztcbmNvbnN0IGZhU2lnbmluZyA9IGZhSGFuZHM7XG5jb25zdCBmYUNhbGVuZGFyRGF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbGVuZGFyLWRheScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc4M1wiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnptODAgNjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNmw5NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNmwtOTYgMHpcIl1cbn07XG5jb25zdCBmYVdhdGVyTGFkZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhdGVyLWxhZGRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibGFkZGVyLXdhdGVyXCIsIFwic3dpbW1pbmctcG9vbFwiXSwgXCJmNWM1XCIsIFwiTTEyOCAxMjcuN0MxMjggNzQuOSAxNzAuOSAzMiAyMjMuNyAzMmM0OC4zIDAgODkgMzYgOTUgODMuOWwxIDguMmMyLjIgMTcuNS0xMC4yIDMzLjUtMjcuOCAzNS43cy0zMy41LTEwLjItMzUuNy0yNy44bC0xLTguMmMtMi0xNS45LTE1LjUtMjcuOC0zMS41LTI3LjhjLTE3LjUgMC0zMS43IDE0LjItMzEuNyAzMS43bDAgOTYuMyAxOTIgMCAwLTk2LjNDMzg0IDc0LjkgNDI2LjkgMzIgNDc5LjcgMzJjNDguMyAwIDg5IDM2IDk1IDgzLjlsMSA4LjJjMi4yIDE3LjUtMTAuMiAzMy41LTI3LjggMzUuN3MtMzMuNS0xMC4yLTM1LjctMjcuOGwtMS04LjJjLTItMTUuOS0xNS41LTI3LjgtMzEuNS0yNy44Yy0xNy41IDAtMzEuNyAxNC4yLTMxLjcgMzEuN0w0NDggMzYxYy0xLjYgMS0zLjMgMi00LjggMy4xYy0xOCAxMi40LTQwLjEgMjAuMy01OS4yIDIwLjNjMCAwIDAgMCAwIDBsMC05Ni41LTE5MiAwIDAgOTYuNWMtMTkgMC00MS4yLTcuOS01OS4xLTIwLjNjLTEuNi0xLjEtMy4yLTIuMi00LjktMy4xbDAtMjMzLjN6TTMwNi41IDM4OS45QzMyOSA0MDUuNCAzNTYuNSA0MTYgMzg0IDQxNmMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWMwIDAgMCAwIDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDQ2OS43IDQxNyA0ODAgMzg0IDQ4MGMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNCAyNy4zLTEwLjEgMzkuMi0xLjdjMCAwIDAgMCAwIDBDMTM2LjcgNDA1LjIgMTY1LjEgNDE2IDE5MiA0MTZjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xuY29uc3QgZmFMYWRkZXJXYXRlciA9IGZhV2F0ZXJMYWRkZXI7XG5jb25zdCBmYVN3aW1taW5nUG9vbCA9IGZhV2F0ZXJMYWRkZXI7XG5jb25zdCBmYUFycm93c1VwRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdXAtZG93bicsXG4gIGljb246IFszMjAsIDUxMiwgW1wiYXJyb3dzLXZcIl0sIFwiZjA3ZFwiLCBcIk0xODIuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxMjggMTA5LjNsMCAyOTMuNUw4Ni42IDM2MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgNDAyLjdsMC0yOTMuNSA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6XCJdXG59O1xuY29uc3QgZmFBcnJvd3NWID0gZmFBcnJvd3NVcERvd247XG5jb25zdCBmYUZhY2VHcmltYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3JpbWFjZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1NiwgXCJncmltYWNlXCJdLCBcImY1N2ZcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTk2LTExMmwtOCAwIDAtNDAgNTUuMyAwYy0zLjggMjIuNy0yMy42IDQwLTQ3LjMgNDB6bTQ3LjMtNTZMMzQ0IDM0NGwwLTQwIDggMGMyMy44IDAgNDMuNSAxNy4zIDQ3LjMgNDB6TTMyOCAzNDRsLTY0IDAgMC00MCA2NCAwIDAgNDB6bTAgNTZsLTY0IDAgMC00MCA2NCAwIDAgNDB6bS04MC05NmwwIDQwLTY0IDAgMC00MCA2NCAwem0wIDU2bDAgNDAtNjQgMCAwLTQwIDY0IDB6bS04MC0xNmwtNTUuMyAwYzMuOC0yMi43IDIzLjYtNDAgNDcuMy00MGw4IDAgMCA0MHptMCA1NmwtOCAwYy0yMy44IDAtNDMuNS0xNy4zLTQ3LjMtNDBsNTUuMyAwIDAgNDB6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhR3JpbWFjZSA9IGZhRmFjZUdyaW1hY2U7XG5jb25zdCBmYVdoZWVsY2hhaXJNb3ZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWVsY2hhaXItbW92ZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wid2hlZWxjaGFpci1hbHRcIl0sIFwiZTJjZVwiLCBcIk0zMjAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMjA0LjUgMTIxLjNjLTUuNC0yLjUtMTEuNy0xLjktMTYuNCAxLjdsLTQwLjkgMzAuN2MtMTQuMSAxMC42LTM0LjIgNy43LTQ0LjgtNi40cy03LjctMzQuMiA2LjQtNDQuOGw0MC45LTMwLjdjMjMuNy0xNy44IDU1LjMtMjEgODIuMS04LjRsOTAuNCA0Mi41YzI5LjEgMTMuNyAzNi44IDUxLjYgMTUuMiA3NS41TDI5OS4xIDIyNGw5Ny40IDBjMzAuMyAwIDUzIDI3LjcgNDcuMSA1Ny40TDQxNS40IDQyMi4zYy0zLjUgMTcuMy0yMC4zIDI4LjYtMzcuNyAyNS4xcy0yOC42LTIwLjMtMjUuMS0zNy43TDM3NyAyODhsLTcwLjMgMGM4LjYgMTkuNiAxMy4zIDQxLjIgMTMuMyA2NGMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQ0MC40IDAgMzUyczcxLjYtMTYwIDE2MC0xNjBjMTEuMSAwIDIyIDEuMSAzMi40IDMuM2w1NC4yLTU0LjItNDIuMS0xOS44ek0xNjAgNDQ4YTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyelwiXVxufTtcbmNvbnN0IGZhV2hlZWxjaGFpckFsdCA9IGZhV2hlZWxjaGFpck1vdmU7XG5jb25zdCBmYVR1cm5Eb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3R1cm4tZG93bicsXG4gIGljb246IFszODQsIDUxMiwgWzEwNTQ5LCBcImxldmVsLWRvd24tYWx0XCJdLCBcImYzYmVcIiwgXCJNMzUwIDMzNC41YzMuOCA4LjggMiAxOS00LjYgMjZsLTEzNiAxNDRjLTQuNSA0LjgtMTAuOCA3LjUtMTcuNCA3LjVzLTEyLjktMi43LTE3LjQtNy41bC0xMzYtMTQ0Yy02LjYtNy04LjQtMTcuMi00LjYtMjZzMTIuNS0xNC41IDIyLTE0LjVsODggMCAwLTE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0TDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwbDgwIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAxOTIgODggMGM5LjYgMCAxOC4yIDUuNyAyMiAxNC41elwiXVxufTtcbmNvbnN0IGZhTGV2ZWxEb3duQWx0ID0gZmFUdXJuRG93bjtcbmNvbnN0IGZhUGVyc29uV2Fsa2luZ0Fycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NTJcIiwgXCJNMjA4IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTIzLjcgMjAwLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45TDI4MSAyMzIuN2wtMTUuMy0zNi44QzI0OC41IDE1NC44IDIwOC4zIDEyOCAxNjMuNyAxMjhjLTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMzIuOSAxNC42LTU4LjEgNDIuNC02OS40IDc2LjVsLTIuNiA3LjhjLTUuNiAxNi44IDMuNSAzNC45IDIwLjIgNDAuNXMzNC45LTMuNSA0MC41LTIwLjJsMi42LTcuOGM1LjctMTcuMSAxOC4zLTMwLjkgMzQuNy0zOC4ybDgtMy41em0tMzAgMTM1LjFMNjguNyAzOTggOS40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDExNi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6TTU1MC42IDE1My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w1MzAuNyAyMjQgMzg0IDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNDYuNyAwLTI1LjQgMjUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw4MC04MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtODAtODB6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVFbnZlbG9wZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtZW52ZWxvcGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImVudmVsb3BlLXNxdWFyZVwiXSwgXCJmMTk5XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIxOCAyNzEuN0w2NC4yIDE3Mi40QzY2IDE1Ni40IDc5LjUgMTQ0IDk2IDE0NGwyNTYgMGMxNi41IDAgMzAgMTIuNCAzMS44IDI4LjRMMjMwIDI3MS43Yy0xLjggMS4yLTMuOSAxLjgtNiAxLjhzLTQuMi0uNi02LTEuOHptMjkuNCAyNi45TDM4NCAyMTAuNCAzODQgMzM2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDM2OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjUuNiAxMzYuNiA4OC4yYzcgNC41IDE1LjEgNi45IDIzLjQgNi45czE2LjQtMi40IDIzLjQtNi45elwiXVxufTtcbmNvbnN0IGZhRW52ZWxvcGVTcXVhcmUgPSBmYVNxdWFyZUVudmVsb3BlO1xuY29uc3QgZmFEaWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5MjJdLCBcImY1MjJcIiwgXCJNMjc0LjkgMzQuM2MtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwTDM0LjMgMTczLjFjLTI4LjEgMjguMS0yOC4xIDczLjcgMCAxMDEuOEwxNzMuMSA0MTMuN2MyOC4xIDI4LjEgNzMuNyAyOC4xIDEwMS44IDBMNDEzLjcgMjc0LjljMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44TDI3NC45IDM0LjN6TTIwMCAyMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNOTYgMjAwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjI0IDM3NmEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6TTM1MiAyMDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yMjQgMTIwYTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptOTYgMzI4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMTQuMyAwYzExLjYgMzYgMy4xIDc3LTI1LjQgMTA1LjVMMzIwIDQxMy44bDAgMzQuMnpNNDgwIDMyOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xuY29uc3QgZmFCb3dsaW5nQmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3dsaW5nLWJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0MzZcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTI0MCA4MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTIwOCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptLTY0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUJyYWluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyYWluJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTA0XSwgXCJmNWRjXCIsIFwiTTE4NCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDAwYzAgMzAuOS0yNS4xIDU2LTU2IDU2Yy0yOC45IDAtNTIuNy0yMS45LTU1LjctNTAuMWMtNS4yIDEuNC0xMC43IDIuMS0xNi4zIDIuMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC03LjQgMS4zLTE0LjYgMy42LTIxLjJDMjEuNCAzNjcuNCAwIDMzOC4yIDAgMzA0YzAtMzEuOSAxOC43LTU5LjUgNDUuOC03Mi4zQzM3LjEgMjIwLjggMzIgMjA3IDMyIDE5MmMwLTMwLjcgMjEuNi01Ni4zIDUwLjQtNjIuNkM4MC44IDEyMy45IDgwIDExOCA4MCAxMTJjMC0yOS45IDIwLjYtNTUuMSA0OC4zLTYyLjFDMTMxLjMgMjEuOSAxNTUuMSAwIDE4NCAwek0zMjggMGMyOC45IDAgNTIuNiAyMS45IDU1LjcgNDkuOWMyNy44IDcgNDguMyAzMi4xIDQ4LjMgNjIuMWMwIDYtLjggMTEuOS0yLjQgMTcuNGMyOC44IDYuMiA1MC40IDMxLjkgNTAuNCA2Mi42YzAgMTUtNS4xIDI4LjgtMTMuOCAzOS43QzQ5My4zIDI0NC41IDUxMiAyNzIuMSA1MTIgMzA0YzAgMzQuMi0yMS40IDYzLjQtNTEuNiA3NC44YzIuMyA2LjYgMy42IDEzLjggMy42IDIxLjJjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTUuNiAwLTExLjEtLjctMTYuMy0yLjFjLTMgMjguMi0yNi44IDUwLjEtNTUuNyA1MC4xYy0zMC45IDAtNTYtMjUuMS01Ni01NmwwLTQwMGMwLTMwLjkgMjUuMS01NiA1Ni01NnpcIl1cbn07XG5jb25zdCBmYUJhbmRhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFuZGFnZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTY1NywgXCJiYW5kLWFpZFwiXSwgXCJmNDYyXCIsIFwiTTQ4MCA0MTZsOTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NGwtOTYgMCAwIDMyMHpNNDQ4IDk2TDE5MiA5NmwwIDMyMCAyNTYgMCAwLTMyMHpNNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDk2IDAgMC0zMjBMNjQgOTZ6TTI0OCAyMDhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjQ4IDMwNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMjAtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQmFuZEFpZCA9IGZhQmFuZGFnZTtcbmNvbnN0IGZhQ2FsZW5kYXJNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1taW51cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjI3MlwiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnpNMzEyIDM3NmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDB6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTUzMiwgXCJ0aW1lcy1jaXJjbGVcIiwgXCJ4bWFyay1jaXJjbGVcIl0sIFwiZjA1N1wiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc1IDE3NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3IDQ3IDQ3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3LTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ3LTQ3LTQ3LTQ3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpcIl1cbn07XG5jb25zdCBmYVRpbWVzQ2lyY2xlID0gZmFDaXJjbGVYbWFyaztcbmNvbnN0IGZhWG1hcmtDaXJjbGUgPSBmYUNpcmNsZVhtYXJrO1xuY29uc3QgZmFHaWZ0cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnaWZ0cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjc5Y1wiLCBcIk0yMDAuNiAzMkMyMDUgMTkuNSAxOTguNSA1LjggMTg2IDEuNFMxNTkuOCAzLjUgMTU1LjQgMTZMMTQ0LjcgNDYuMmwtOS45LTI5LjhDMTMwLjYgMy44IDExNy0zIDEwNC40IDEuMlM4NSAxOSA4OS4yIDMxLjZsOC4zIDI1LTI3LjQtMjBjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zcy01LjQgMjUuNyA1LjMgMzMuNUw3MC4yIDk2IDQ4IDk2QzIxLjUgOTYgMCAxMTcuNSAwIDE0NEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNTIuNiAwYy01LjQtOS40LTguNi0yMC4zLTguNi0zMmwwLTIyNGMwLTI5LjkgMjAuNS01NSA0OC4yLTYyYzEuOC0zMSAxNy4xLTU4LjIgNDAuMS03Ni4xQzI3MS43IDEwNC43IDI1Ni45IDk2IDI0MCA5NmwtMjIuMiAwIDI4LjMtMjAuNmMxMC43LTcuOCAxMy4xLTIyLjggNS4zLTMzLjVzLTIyLjgtMTMuMS0zMy41LTUuM0wxOTIuNSA1NS4xIDIwMC42IDMyek0zNjMuNSAxODUuNUwzOTMuMSAyMjQgMzQ0IDIyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRjMC0xMy4xIDEwLjgtMjQgMjQuMi0yNGM3LjYgMCAxNC43IDMuNSAxOS4zIDkuNXpNMjcyIDIwMGMwIDguNCAxLjQgMTYuNSA0LjEgMjRsLTQuMSAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDgwIDE5MiAwIDAtOTYgMzIgMCAwIDk2IDE5MiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQuMSAwYzIuNy03LjUgNC4xLTE1LjYgNC4xLTI0YzAtMzkuOS0zMi41LTcyLTcyLjItNzJjLTIyLjQgMC00My42IDEwLjQtNTcuMyAyOC4yTDQzMiAxOTUuOGwtMzAuNS0zOS42Yy0xMy43LTE3LjgtMzUtMjguMi01Ny4zLTI4LjJjLTM5LjcgMC03Mi4yIDMyLjEtNzIuMiA3MnpNMjI0IDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNDQgMCAwLTEyOC0xOTIgMCAwIDgwem0yMjQgNDhsMTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC04MC0xOTIgMCAwIDEyOHptOTYtMzEyYzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OS4xIDAgMjkuNi0zOC41YzQuNi01LjkgMTEuNy05LjUgMTkuMy05LjVjMTMuNCAwIDI0LjIgMTAuOSAyNC4yIDI0elwiXVxufTtcbmNvbnN0IGZhSG90ZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG90ZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5NzZdLCBcImY1OTRcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE3NiAwIDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCA0OEwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJMMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMnptOTYgODBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMjQwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xMTIgMTkyYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzI4IDM4NGMxMy4zIDAgMjQuMy0xMC45IDIxLTIzLjhjLTEwLjYtNDEuNS00OC4yLTcyLjItOTMtNzIuMnMtODIuNSAzMC43LTkzIDcyLjJjLTMuMyAxMi44IDcuOCAyMy44IDIxIDIzLjhsMTQ0IDB6XCJdXG59O1xuY29uc3QgZmFFYXJ0aEFzaWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWFydGgtYXNpYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1OSwgXCJnbG9iZS1hc2lhXCJdLCBcImY1N2VcIiwgXCJNNTEuNyAyOTUuMWwzMS43IDYuM2M3LjkgMS42IDE2LS45IDIxLjctNi42bDE1LjQtMTUuNGMxMS42LTExLjYgMzEuMS04LjQgMzguNCA2LjJsOS4zIDE4LjVjNC44IDkuNiAxNC42IDE1LjcgMjUuNCAxNS43YzE1LjIgMCAyNi4xLTE0LjYgMjEuNy0yOS4ybC02LTE5LjljLTQuNi0xNS40IDYuOS0zMC45IDIzLTMwLjlsMi4zIDBjMTMuNCAwIDI1LjktNi43IDMzLjMtMTcuOGwxMC43LTE2LjFjNS42LTguNSA1LjMtMTkuNi0uOC0yNy43bC0xNi4xLTIxLjVjLTEwLjMtMTMuNy0zLjMtMzMuNSAxMy40LTM3LjdsMTctNC4zYzcuNS0xLjkgMTMuNi03LjIgMTYuNS0xNC40bDE2LjQtNDAuOUMzMDMuNCA1Mi4xIDI4MC4yIDQ4IDI1NiA0OEMxNDEuMSA0OCA0OCAxNDEuMSA0OCAyNTZjMCAxMy40IDEuMyAyNi41IDMuNyAzOS4xem00MDcuNyA0LjZjLTMtLjMtNi0uMS05IC44bC0xNS44IDQuNGMtNi43IDEuOS0xMy44LS45LTE3LjUtNi43bC0yLTMuMWMtNi05LjQtMTYuNC0xNS4xLTI3LjYtMTUuMXMtMjEuNiA1LjctMjcuNiAxNS4xbC02LjEgOS41Yy0xLjQgMi4yLTMuNCA0LjEtNS43IDUuM0wzMTIgMzMwLjFjLTE4LjEgMTAuMS0yNS41IDMyLjQtMTcgNTEuM2w1LjUgMTIuNGM4LjYgMTkuMiAzMC43IDI4LjUgNTAuNSAyMS4xbDIuNi0xYzEwLTMuNyAyMS4zLTIuMiAyOS45IDQuMWwxLjUgMS4xYzM3LjItMjkuNSA2NC4xLTcxLjQgNzQuNC0xMTkuNXpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0xNDQuNSA5Mi4xYy0yLjEgOC42IDMuMSAxNy4zIDExLjYgMTkuNGwzMiA4YzguNiAyLjEgMTcuMy0zLjEgMTkuNC0xMS42cy0zLjEtMTcuMy0xMS42LTE5LjRsLTMyLThjLTguNi0yLjEtMTcuMyAzLjEtMTkuNCAxMS42em05Mi0yMGMtMi4xIDguNiAzLjEgMTcuMyAxMS42IDE5LjRzMTcuMy0zLjEgMTkuNC0xMS42bDgtMzJjMi4xLTguNi0zLjEtMTcuMy0xMS42LTE5LjRzLTE3LjMgMy4xLTE5LjQgMTEuNmwtOCAzMnpNMzQzLjIgMTEzLjdjLTcuOS00LTE3LjUtLjctMjEuNSA3LjJsLTE2IDMyYy00IDcuOS0uNyAxNy41IDcuMiAyMS41czE3LjUgLjcgMjEuNS03LjJsMTYtMzJjNC03LjkgLjctMTcuNS03LjItMjEuNXpcIl1cbn07XG5jb25zdCBmYUdsb2JlQXNpYSA9IGZhRWFydGhBc2lhO1xuY29uc3QgZmFJZENhcmRDbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2lkLWNhcmQtY2xpcCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaWQtY2FyZC1hbHRcIl0sIFwiZjQ3ZlwiLCBcIk0yNTYgMGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDY0bDEyOCAwIDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhsOTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTQ4IDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjR6TTE3NiA0MzcuM2MwIDUuOSA0LjggMTAuNyAxMC43IDEwLjdsMjAyLjcgMGM1LjkgMCAxMC43LTQuOCAxMC43LTEwLjdjMC0yOS41LTIzLjktNTMuMy01My4zLTUzLjNsLTExNy4zIDBjLTI5LjUgMC01My4zIDIzLjktNTMuMyA1My4zek0yODggMzUyYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4elwiXVxufTtcbmNvbnN0IGZhSWRDYXJkQWx0ID0gZmFJZENhcmRDbGlwO1xuY29uc3QgZmFNYWduaWZ5aW5nR2xhc3NQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtcGx1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2VhcmNoLXBsdXNcIl0sIFwiZjAwZVwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4ek0xODQgMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC02NCA2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwIDAtNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA2NC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY0IDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYVNlYXJjaFBsdXMgPSBmYU1hZ25pZnlpbmdHbGFzc1BsdXM7XG5jb25zdCBmYVRodW1ic1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1icy11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODA3NywgNjE1NzVdLCBcImYxNjRcIiwgXCJNMzEzLjQgMzIuOWMyNiA1LjIgNDIuOSAzMC41IDM3LjcgNTYuNWwtMi4zIDExLjRjLTUuMyAyNi43LTE1LjEgNTIuMS0yOC44IDc1LjJsMTQ0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhjMCAxOC41LTEwLjUgMzQuNi0yNS45IDQyLjZDNDk3IDI3NS40IDUwNCAyODguOSA1MDQgMzA0YzAgMjMuNC0xNi44IDQyLjktMzguOSA0Ny4xYzQuNCA3LjMgNi45IDE1LjggNi45IDI0LjljMCAyMS4zLTEzLjkgMzkuNC0zMy4xIDQ1LjZjLjcgMy4zIDEuMSA2LjggMS4xIDEwLjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk3LjUgMGMtMTkgMC0zNy41LTUuNi01My4zLTE2LjFsLTM4LjUtMjUuN0MxNzYgNDIwLjQgMTYwIDM5MC40IDE2MCAzNTguM2wwLTM4LjMgMC00OCAwLTI0LjljMC0yOS4yIDEzLjMtNTYuNyAzNi03NWw3LjQtNS45YzI2LjUtMjEuMiA0NC42LTUxIDUxLjItODQuMmwyLjMtMTEuNGM1LjItMjYgMzAuNS00Mi45IDU2LjUtMzcuN3pNMzIgMTkybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhVXNlckNsb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItY2xvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0ZmRcIiwgXCJNMjI0IDBhMTI4IDEyOCAwIDEgMSAwIDI1NkExMjggMTI4IDAgMSAxIDIyNCAwek0xNzguMyAzMDRsOTEuNCAwYzIwLjYgMCA0MC40IDMuNSA1OC44IDkuOUMzMjMgMzMxIDMyMCAzNDkuMSAzMjAgMzY4YzAgNTkuNSAyOS41IDExMi4xIDc0LjggMTQ0TDI5LjcgNTEyQzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNHpNMzUyIDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNDQtODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwIDAtNDhjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbmNvbnN0IGZhSGFuZERvdHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1kb3RzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhbGxlcmdpZXNcIl0sIFwiZjQ2MVwiLCBcIk0yODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNzJjMCAxLjUgMCAzLjEgLjEgNC42TDY3LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNHMtMTQuNiA0MS4zIDEuNCA1Ni42TDEyNC44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDE5LjIgMGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NmwwLTIwOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTIwOHpNMjQwIDMzNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwem04MCAxNmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTQ4LTE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bS0xNiA4MGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6TTI0MCA0MzJhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHptLTQ4LTQ4YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG5jb25zdCBmYUFsbGVyZ2llcyA9IGZhSGFuZERvdHM7XG5jb25zdCBmYUZpbGVJbnZvaWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtaW52b2ljZScsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU3MFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTgwIDY0bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgOTZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMTYgOTZsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiAzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTAgMzJsMCA2NCAxOTIgMCAwLTY0TDk2IDI1NnpNMjQwIDQxNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhV2luZG93TWluaW1pemUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZG93LW1pbmltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDY5XSwgXCJmMmQxXCIsIFwiTTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6XCJdXG59O1xuY29uc3QgZmFNdWdTYXVjZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbXVnLXNhdWNlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY29mZmVlXCJdLCBcImYwZjRcIiwgXCJNOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIwIDAgNjQgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOHMtNTcuMyAxMjgtMTI4IDEyOGwtMzIgMGMwIDUzLTQzIDk2LTk2IDk2bC0xOTIgMGMtNTMgMC05Ni00My05Ni05Nkw5NiA2NHpNNDgwIDIyNGwzMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0bC0zMiAwIDAgMTI4ek0zMiA0MTZsNTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhQ29mZmVlID0gZmFNdWdTYXVjZXI7XG5jb25zdCBmYUJydXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JydXNoJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTVkXCIsIFwiTTE2Mi40IDZjLTEuNS0zLjYtNS02LTguOS02bC0xOSAwYy0zLjkgMC03LjUgMi40LTguOSA2TDEwNC45IDU3LjdjLTMuMiA4LTE0LjYgOC0xNy44IDBMNjYuNCA2Yy0xLjUtMy42LTUtNi04LjktNkw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDIyNGwwIDIyLjRMMCAyNTZsOS42IDAgMzY0LjggMCA5LjYgMCAwLTkuNiAwLTIyLjQgMC0xNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMjMwLjUgMGMtMy45IDAtNy41IDIuNC04LjkgNkwyMDAuOSA1Ny43Yy0zLjIgOC0xNC42IDgtMTcuOCAwTDE2Mi40IDZ6TTAgMjg4bDAgMzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNjQgMCAwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRsMC02NCA2NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzJMMCAyODh6TTE5MiA0MzJhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbmNvbnN0IGZhTWFzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNmZhXCIsIFwiTTI4OCA2NEM2NCA2NCAwIDE2MCAwIDI3MlM4MCA0NDggMTc2IDQ0OGw4LjQgMGMyNC4yIDAgNDYuNC0xMy43IDU3LjItMzUuNGwyMy4yLTQ2LjNjNC40LTguOCAxMy4zLTE0LjMgMjMuMi0xNC4zczE4LjggNS41IDIzLjIgMTQuM2wyMy4yIDQ2LjNjMTAuOCAyMS43IDMzIDM1LjQgNTcuMiAzNS40bDguNCAwYzk2IDAgMTc2LTY0IDE3Ni0xNzZzLTY0LTIwOC0yODgtMjA4ek05NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgOTYgMjU2em0zMjAtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFNYWduaWZ5aW5nR2xhc3NNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduaWZ5aW5nLWdsYXNzLW1pbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzZWFyY2gtbWludXNcIl0sIFwiZjAxMFwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4ek0xMzYgMTg0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHpcIl1cbn07XG5jb25zdCBmYVNlYXJjaE1pbnVzID0gZmFNYWduaWZ5aW5nR2xhc3NNaW51cztcbmNvbnN0IGZhUnVsZXJWZXJ0aWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlci12ZXJ0aWNhbCcsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiZjU0OFwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEwyMDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDY0LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDY0LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDY0LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDQ4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA0OHpcIl1cbn07XG5jb25zdCBmYVVzZXJMYXJnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWxhcmdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ1c2VyLWFsdFwiXSwgXCJmNDA2XCIsIFwiTTI1NiAyODhBMTQ0IDE0NCAwIDEgMCAyNTYgMGExNDQgMTQ0IDAgMSAwIDAgMjg4em0tOTQuNyAzMkM3Mi4yIDMyMCAwIDM5Mi4yIDAgNDgxLjNjMCAxNyAxMy44IDMwLjcgMzAuNyAzMC43bDQ1MC42IDBjMTcgMCAzMC43LTEzLjggMzAuNy0zMC43QzUxMiAzOTIuMiA0MzkuOCAzMjAgMzUwLjcgMzIwbC0xODkuNCAwelwiXVxufTtcbmNvbnN0IGZhVXNlckFsdCA9IGZhVXNlckxhcmdlO1xuY29uc3QgZmFUcmFpblRyYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaW4tdHJhbScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODY1MF0sIFwiZTViNFwiLCBcIk04Ni44IDQ4Yy0xMi4yIDAtMjMuNiA1LjUtMzEuMiAxNUw0Mi43IDc5QzM0LjUgODkuMyAxOS40IDkxIDkgODIuN1MtMyA1OS40IDUuMyA0OUwxOCAzM0MzNC43IDEyLjIgNjAgMCA4Ni44IDBMMzYxLjIgMGMyNi43IDAgNTIgMTIuMiA2OC43IDMzbDEyLjggMTZjOC4zIDEwLjQgNi42IDI1LjUtMy44IDMzLjdzLTI1LjUgNi42LTMzLjctMy43TDM5Mi41IDYzYy03LjYtOS41LTE5LjEtMTUtMzEuMi0xNUwyNDggNDhsMCA0OCA0MCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAxNjBjMCAzMC42LTE0LjMgNTcuOC0zNi42IDc1LjRsNjUuNSA2NS41YzcuMSA3LjEgMi4xIDE5LjEtNy45IDE5LjFsLTM5LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMMjg4IDQ0OGwtMTI4IDAtNTQuNiA1NC42Yy02IDYtMTQuMSA5LjQtMjIuNiA5LjRMNDMgNTEyYy0xMCAwLTE1LTEyLjEtNy45LTE5LjFsNjUuNS02NS41Qzc4LjMgNDA5LjggNjQgMzgyLjYgNjQgMzUybDAtMTYwYzAtNTMgNDMtOTYgOTYtOTZsNDAgMCAwLTQ4TDg2LjggNDh6TTE2MCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDB6bTMyIDE5MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFVc2VyTnVyc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1udXJzZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjgyZlwiLCBcIk05NiAxMjhsMC01Ny44YzAtMTMuMyA4LjMtMjUuMyAyMC44LTMwbDk2LTM2YzcuMi0yLjcgMTUuMi0yLjcgMjIuNSAwbDk2IDM2YzEyLjUgNC43IDIwLjggMTYuNiAyMC44IDMwbDAgNTcuOC0uMyAwYy4yIDIuNiAuMyA1LjMgLjMgOGwwIDQwYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4cy0xMjgtNTcuMy0xMjgtMTI4bDAtNDBjMC0yLjcgLjEtNS40IC4zLThsLS4zIDB6bTQ4IDQ4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBsMC0xNi0xNjAgMCAwIDE2ek0xMTEuOSAzMjcuN2MxMC41LTMuNCAyMS44IC40IDI5LjQgOC41bDcxIDc1LjVjNi4zIDYuNyAxNyA2LjcgMjMuMyAwbDcxLTc1LjVjNy42LTguMSAxOC45LTExLjkgMjkuNC04LjVDNDAxIDM0OC42IDQ0OCA0MDkuNCA0NDggNDgxLjNjMCAxNy0xMy44IDMwLjctMzAuNyAzMC43TDMwLjcgNTEyQzEzLjggNTEyIDAgNDk4LjIgMCA0ODEuM2MwLTcxLjkgNDctMTMyLjcgMTExLjktMTUzLjZ6TTIwOCA0OGwwIDE2LTE2IDBjLTQuNCAwLTggMy42LTggOGwwIDE2YzAgNC40IDMuNiA4IDggOGwxNiAwIDAgMTZjMCA0LjQgMy42IDggOCA4bDE2IDBjNC40IDAgOC0zLjYgOC04bDAtMTYgMTYgMGM0LjQgMCA4LTMuNiA4LThsMC0xNmMwLTQuNC0zLjYtOC04LThsLTE2IDAgMC0xNmMwLTQuNC0zLjYtOC04LThsLTE2IDBjLTQuNCAwLTggMy42LTggOHpcIl1cbn07XG5jb25zdCBmYVN5cmluZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3lyaW5nZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODEzN10sIFwiZjQ4ZVwiLCBcIk00NDEgN2wzMiAzMiAzMiAzMmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xNS0xNUw0MTcuOSAxMjhsNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNzItNzJMMjk1IDczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTUgNTVMNDIyLjEgNTYgNDA3IDQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6TTIxMC4zIDE1NS43bDYxLjEtNjEuMWMuMyAuMyAuNiAuNyAxIDFsMTYgMTYgNTYgNTYgNTYgNTYgMTYgMTZjLjMgLjMgLjYgLjYgMSAxbC0xOTEgMTkxYy0xMC41IDEwLjUtMjQuNyAxNi40LTM5LjYgMTYuNGwtODguOCAwTDQxIDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1Ny01NyAwLTg4LjhjMC0xNC45IDUuOS0yOS4xIDE2LjQtMzkuNmw0My4zLTQzLjMgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01NyA0MS40LTQxLjQgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01N3pcIl1cbn07XG5jb25zdCBmYUNsb3VkU3VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLXN1bicsXG4gIGljb246IFs2NDAsIDUxMiwgWzk5MjVdLCBcImY2YzRcIiwgXCJNMjk0LjIgMS4yYzUuMSAyLjEgOC43IDYuNyA5LjYgMTIuMWwxNC4xIDg0LjcgODQuNyAxNC4xYzUuNCAuOSAxMCA0LjUgMTIuMSA5LjZzMS41IDEwLjktMS42IDE1LjRsLTM4LjUgNTVjLTIuMi0uMS00LjQtLjItNi43LS4yYy0yMy4zIDAtNDUuMSA2LjItNjQgMTcuMWwwLTEuMWMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NnM0MyA5NiA5NiA5NmM4LjEgMCAxNS45LTEgMjMuNC0yLjljLTM2LjYgMTguMS02My4zIDUzLjEtNjkuOCA5NC45bC0yNC40IDE3Yy00LjUgMy4yLTEwLjMgMy44LTE1LjQgMS42cy04LjctNi43LTkuNi0xMi4xTDk4LjEgMzE3LjkgMTMuNCAzMDMuOGMtNS40LS45LTEwLTQuNS0xMi4xLTkuNnMtMS41LTEwLjkgMS42LTE1LjRMNTIuNSAyMDggMi45IDEzNy4yYy0zLjItNC41LTMuOC0xMC4zLTEuNi0xNS40czYuNy04LjcgMTIuMS05LjZMOTguMSA5OC4xbDE0LjEtODQuN2MuOS01LjQgNC41LTEwIDkuNi0xMi4xczEwLjktMS41IDE1LjQgMS42TDIwOCA1Mi41IDI3OC44IDIuOWM0LjUtMy4yIDEwLjMtMy44IDE1LjQtMS42ek0xNDQgMjA4YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjM5LjkgNDMxLjljMCA0NC4yLTM1LjggODAtODAgODBsLTI3MS45IDBjLTUzIDAtOTYtNDMtOTYtOTZjMC00Ny42IDM0LjYtODcgODAtOTQuNmwwLTEuM2MwLTUzIDQzLTk2IDk2LTk2YzM0LjkgMCA2NS40IDE4LjYgODIuMiA0Ni40YzEzLTkuMSAyOC44LTE0LjQgNDUuOC0xNC40YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgNS45LS42IDExLjctMS45IDE3LjJjMzcuNCA2LjcgNjUuOCAzOS40IDY1LjggNzguN3pcIl1cbn07XG5jb25zdCBmYVN0b3B3YXRjaDIwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3B3YXRjaC0yMCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA2ZlwiLCBcIk0xNzYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwIDAgMzQuNEM5Mi4zIDExMy44IDE2IDIwMCAxNiAzMDRjMCAxMTQuOSA5My4xIDIwOCAyMDggMjA4czIwOC05My4xIDIwOC0yMDhjMC00MS44LTEyLjMtODAuNy0zMy41LTExMy4ybDI0LjEtMjQuMWMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwzNTUuNyAxNDNjLTI4LjEtMjMtNjIuMi0zOC44LTk5LjctNDQuNkwyNTYgNjRsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwxNzYgMHpNMjg4IDIwNGMyOC43IDAgNTIgMjMuMyA1MiA1MmwwIDk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtOTZjMC0yOC43IDIzLjMtNTIgNTItNTJ6bS0xMiA1MmwwIDk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC05NmMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMnpNMTU5LjUgMjQ0Yy01LjQgMC0xMC4yIDMuNS0xMS45IDguNmwtLjYgMS43Yy0zLjUgMTAuNS0xNC44IDE2LjEtMjUuMyAxMi42cy0xNi4xLTE0LjgtMTIuNi0yNS4zbC42LTEuN2M3LjItMjEuNSAyNy4yLTM1LjkgNDkuOC0zNS45YzI5IDAgNTIuNSAyMy41IDUyLjUgNTIuNWwwIDIuMmMwIDEzLjQtNC45IDI2LjQtMTMuOCAzNi40bC0zOSA0My45Yy02LjIgNy0xMCAxNS43LTEwLjkgMjQuOWw0My44IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC02NCAwYy0xMSAwLTIwLTktMjAtMjBsMC0xNS43YzAtMjAuNiA3LjUtNDAuNCAyMS4yLTU1LjhsMzktNDMuOWMyLjQtMi43IDMuNy02LjIgMy43LTkuOGwwLTIuMmMwLTYuOS01LjYtMTIuNS0xMi41LTEyLjV6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVGdWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1mdWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4OTk3LCAxMjg5OTgsIDEyODk5OSwgMTI5MDAwLCAxMjkwMDEsIDEyOTAwMiwgMTI5MDAzLCAxMTAzNSwgMTEwMzZdLCBcImY0NWNcIiwgXCJNMCAwSDUxMlY1MTJIMFYwelwiXVxufTtcbmNvbnN0IGZhTWFnbmV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25ldCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTUyMl0sIFwiZjA3NlwiLCBcIk0wIDE2MGwwIDk2QzAgMzc5LjcgMTAwLjMgNDgwIDIyNCA0ODBzMjI0LTEwMC4zIDIyNC0yMjRsMC05Ni0xMjggMCAwIDk2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bDAtOTZMMCAxNjB6bTAtMzJsMTI4IDAgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0bDAgNjR6bTMyMCAwbDEyOCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjR6XCJdXG59O1xuY29uc3QgZmFKYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnamFyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTE2XCIsIFwiTTMyIDMyQzMyIDE0LjMgNDYuMyAwIDY0IDBMMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyek0wIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NGwxOTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTYwem05NiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDIyNHpcIl1cbn07XG5jb25zdCBmYU5vdGVTdGlja3kgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbm90ZS1zdGlja3knLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs2MjAyNiwgXCJzdGlja3ktbm90ZVwiXSwgXCJmMjQ5XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDAgMC0xMTJjMC0yNi41IDIxLjUtNDggNDgtNDhsMTEyIDAgMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTQ0OCAzNTJsLTQ1LjMgMEwzMzYgMzUyYy04LjggMC0xNiA3LjItMTYgMTZsMCA2Ni43IDAgNDUuMyAzMi0zMiA2NC02NCAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVN0aWNreU5vdGUgPSBmYU5vdGVTdGlja3k7XG5jb25zdCBmYUJ1Z1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1Zy1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTQ5MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ3Ny40IDM0OC45YzEuNy05LjQgMi42LTE5IDIuNi0yOC45bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0LjMgMGMtMS4xLTE0LjEtNS0yNy41LTExLjEtMzkuNWMuNy0uNiAxLjQtMS4yIDIuMS0xLjlsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0uNyAuNy0xLjMgMS40LTEuOSAyLjFDNDA5LjIgMTY0LjEgMzkzLjEgMTYwIDM3NiAxNjBsLTExMiAwYy04LjMgMC0xNi4zIDEtMjQgMi44TDM4LjggNS4xek0zMjAgMGMtNTMgMC05NiA0My05NiA5NmwwIDMuNmMwIDE1LjcgMTIuNyAyOC40IDI4LjQgMjguNGwxMzUuMSAwYzE1LjcgMCAyOC40LTEyLjcgMjguNC0yOC40bDAtMy42YzAtNTMtNDMtOTYtOTYtOTZ6TTE2MC4zIDI1Nkw5NiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMwIDI0LjYgNS41IDQ3LjggMTUuNCA2OC42Yy0yLjIgMS4zLTQuMiAyLjktNiA0LjhsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDYzLjEtNjMuMWMyNC41IDIxLjggNTUuOCAzNi4yIDkwLjMgMzkuNmwwLTE0My43TDE2Ni43IDIyNy4zYy0zLjQgOS01LjYgMTguNy02LjQgMjguN3pNMzM2IDQ3OS4yYzM2LjYtMy42IDY5LjctMTkuNiA5NC44LTQzLjhMMzM2IDM2MC43bDAgMTE4LjV6XCJdXG59O1xuY29uc3QgZmFBcnJvd1VwRnJvbVdhdGVyUHVtcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1mcm9tLXdhdGVyLXB1bXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YjZcIiwgXCJNMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCAyMDgtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDggMiAxNS42IDUuNCAyMi4yYzMuOC0xLjcgNy44LTMuMSAxMi00LjFjMTMuMS0zLjEgMjYuNy05LjggMzcuMy0xOC42YzIyLjItMTguNyA1NC4zLTIwLjEgNzguMS0zLjRjMTggMTIuNCA0MC4xIDIwLjMgNTkuMiAyMC4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjMgNzguMSAzLjRjMTAuNiA4LjggMjQuMiAxNS42IDM3LjMgMTguNmM0LjIgMSA4LjIgMi40IDEyIDQuMUM1NzQgNDE1LjYgNTc2IDQwOCA1NzYgNDAwbDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMC0xNDYuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw0MTYgMTA5LjMgNDE2IDI1NmwtMTI4IDAgMC0yMDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTEyIDB6TTMwNi41IDQyMS45Yy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI0NyA0MzcuNCAyMTkuNSA0NDggMTkyIDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFjMCAwIDAgMCAwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgNTAxLjcgMTU5IDUxMiAxOTIgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43YzAgMCAwIDAgMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjF6XCJdXG59O1xuY29uc3QgZmFCb25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjk0NjBdLCBcImY1ZDdcIiwgXCJNMTUzLjcgMTQ0LjhjNi45IDE2LjMgMjAuNiAzMS4yIDM4LjMgMzEuMmwxOTIgMGMxNy43IDAgMzEuNC0xNC45IDM4LjMtMzEuMkM0MzQuNCAxMTYuMSA0NjIuOSA5NiA0OTYgOTZjNDQuMiAwIDgwIDM1LjggODAgODBjMCAzMC40LTE3IDU2LjktNDIgNzAuNGMtMy42IDEuOS02IDUuNS02IDkuNnMyLjQgNy43IDYgOS42YzI1IDEzLjUgNDIgNDAgNDIgNzAuNGMwIDQ0LjItMzUuOCA4MC04MCA4MGMtMzMuMSAwLTYxLjYtMjAuMS03My43LTQ4LjhDNDE1LjQgMzUwLjkgNDAxLjcgMzM2IDM4NCAzMzZsLTE5MiAwYy0xNy43IDAtMzEuNCAxNC45LTM4LjMgMzEuMkMxNDEuNiAzOTUuOSAxMTMuMSA0MTYgODAgNDE2Yy00NC4yIDAtODAtMzUuOC04MC04MGMwLTMwLjQgMTctNTYuOSA0Mi03MC40YzMuNi0xLjkgNi01LjUgNi05LjZzLTIuNC03LjctNi05LjZDMTcgMjMyLjkgMCAyMDYuNCAwIDE3NmMwLTQ0LjIgMzUuOC04MCA4MC04MGMzMy4xIDAgNjEuNiAyMC4xIDczLjcgNDguOHpcIl1cbn07XG5jb25zdCBmYVRhYmxlQ2VsbHNSb3dVbmxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtY2VsbHMtcm93LXVubG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTY5MVwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjUuMWMtMzcuOCA1LjQtNjkuNCAyOS42LTg1LjIgNjIuOUwzNjAgMjI0bDAgNjQgNTYgMCAwIDguNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwtMjQgMCAwIDY0IDI0IDAgMCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTY0IDIyNGwwIDY0IDg4IDAgMC02NC04OCAwem0yMzIgMGwtODggMCAwIDY0IDg4IDAgMC02NHpNMTUyIDM1MmwtODggMCAwIDY0IDg4IDAgMC02NHptNTYgMGwwIDY0IDg4IDAgMC02NC04OCAwem0yODgtODBsMCA0OCAzMiAwIDMyIDAgNDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDhjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwtNDggMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG5jb25zdCBmYVVzZXJJbmp1cmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItaW5qdXJlZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjcyOFwiLCBcIk0yNDAgODBsMTAyLjcgMGMtNy45LTE5LjUtMjAuNC0zNi41LTM2LjItNDkuOUwyNDAgODB6bTM3LjctNjguMkMyNjEuMyA0LjIgMjQzLjIgMCAyMjQgMGMtNTMuNyAwLTk5LjcgMzMuMS0xMTguNyA4MGw4MS40IDAgOTEtNjguMnpNMjI0IDI1NmM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGMwLTUuNC0uMy0xMC44LTEtMTZMOTcgMTEyYy0uNyA1LjItMSAxMC42LTEgMTZjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjh6TTEyNCAzMTIuNGMtOS43IDMuMS0xOS4xIDctMjggMTEuN0w5NiA1MTJsMTQ3LjcgMEwxODEuNSA0MDguMiAxMjQgMzEyLjR6bTMzLTcuMkwyMDQuMyAzODRsNjcuNyAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgMTgtNiAzNC42LTE2IDQ4bDgyLjMgMGMxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuN0M0NDggMzgzLjggMzY4LjIgMzA0IDI2OS43IDMwNGwtOTEuNCAwYy03LjIgMC0xNC4zIC40LTIxLjMgMS4zek0wIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJMNjQgNTEybDAtMTY2LjZDMjQuOSAzNzguMSAwIDQyNy4zIDAgNDgyLjN6TTMyMCA0NjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4LjUgMCA1Ny4xIDk1LjJDMzAzIDUwNy4yIDMyMCA0ODcuNiAzMjAgNDY0elwiXVxufTtcbmNvbnN0IGZhRmFjZVNhZFRlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zYWQtdGVhcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU0NiwgXCJzYWQtdGVhclwiXSwgXCJmNWI0XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDBBMjU2IDI1NiAwIDEgMCAwIDI1NnptMjQwIDgwYzAtOC44IDcuMi0xNiAxNi0xNmM0NSAwIDg1LjYgMjAuNSAxMTUuNyA1My4xYzYgNi41IDUuNiAxNi42LS45IDIyLjZzLTE2LjYgNS42LTIyLjYtLjljLTI1LTI3LjEtNTcuNC00Mi45LTkyLjMtNDIuOWMtOC44IDAtMTYtNy4yLTE2LTE2em0tODAgODBjLTI2LjUgMC00OC0yMS00OC00N2MwLTIwIDI4LjYtNjAuNCA0MS42LTc3LjdjMy4yLTQuNCA5LjYtNC40IDEyLjggMEMxNzkuNiAzMDguNiAyMDggMzQ5IDIwOCAzNjljMCAyNi0yMS41IDQ3LTQ4IDQ3ek0zNjcuNiAyMDhhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFTYWRUZWFyID0gZmFGYWNlU2FkVGVhcjtcbmNvbnN0IGZhUGxhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYwNzJcIiwgXCJNNDgyLjMgMTkyYzM0LjIgMCA5My43IDI5IDkzLjcgNjRjMCAzNi01OS41IDY0LTkzLjcgNjRsLTExNi42IDBMMjY1LjIgNDk1LjljLTUuNyAxMC0xNi4zIDE2LjEtMjcuOCAxNi4xbC01Ni4yIDBjLTEwLjYgMC0xOC4zLTEwLjItMTUuNC0yMC40bDQ5LTE3MS42TDExMiAzMjAgNjguOCAzNzcuNmMtMyA0LTcuOCA2LjQtMTIuOCA2LjRsLTQyIDBjLTcuOCAwLTE0LTYuMy0xNC0xNGMwLTEuMyAuMi0yLjYgLjUtMy45TDMyIDI1NiAuNSAxNDUuOWMtLjQtMS4zLS41LTIuNi0uNS0zLjljMC03LjggNi4zLTE0IDE0LTE0bDQyIDBjNSAwIDkuOCAyLjQgMTIuOCA2LjRMMTEyIDE5MmwxMDIuOSAwLTQ5LTE3MS42QzE2Mi45IDEwLjIgMTcwLjYgMCAxODEuMiAwbDU2LjIgMGMxMS41IDAgMjIuMSA2LjIgMjcuOCAxNi4xTDM2NS43IDE5MmwxMTYuNiAwelwiXVxufTtcbmNvbnN0IGZhVGVudEFycm93c0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVudC1hcnJvd3MtZG93bicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU4MVwiLCBcIk0yMDkuOCAxMTEuOWMtOC45LTkuOS0yNC0xMC43LTMzLjktMS44bC0zOS45IDM2TDEzNiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNFM4OCAxMC43IDg4IDI0bDAgMTIyLjEtMzkuOS0zNmMtOS45LTguOS0yNS04LjEtMzMuOSAxLjhzLTguMSAyNSAxLjggMzMuOWw4MCA3MmM5LjEgOC4yIDIzIDguMiAzMi4xIDBsODAtNzJjOS45LTguOSAxMC43LTI0IDEuOC0zMy45em0zNTIgMGMtOC45LTkuOS0yNC0xMC43LTMzLjktMS44bC0zOS45IDM2TDQ4OCAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEyMi4xLTM5LjktMzZjLTkuOS04LjktMjUtOC4xLTMzLjkgMS44cy04LjEgMjUgMS44IDMzLjlsODAgNzJjOS4xIDguMiAyMyA4LjIgMzIuMSAwbDgwLTcyYzkuOS04LjkgMTAuNy0yNCAxLjgtMzMuOXpNMzA3LjQgMTY2LjVjLTExLjUtOC43LTI3LjMtOC43LTM4LjggMGwtMTY4IDEyOGMtNi42IDUtMTEgMTIuNS0xMi4zIDIwLjdsLTI0IDE2MGMtMS40IDkuMiAxLjMgMTguNiA3LjQgMjUuNlM4Ni43IDUxMiA5NiA1MTJsMTQ0IDAgMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExOC4xYzAtNS41IDQuNC05LjkgOS45LTkuOWMzLjcgMCA3LjIgMi4xIDguOCA1LjVsNjguNCAxMzYuOGM1LjQgMTAuOCAxNi41IDE3LjcgMjguNiAxNy43bDYwLjIgMCAxNiAwYzkuMyAwIDE4LjItNC4xIDI0LjItMTEuMXM4LjgtMTYuNCA3LjQtMjUuNmwtMjQtMTYwYy0xLjItOC4yLTUuNi0xNS43LTEyLjMtMjAuN2wtMTY4LTEyOHpcIl1cbn07XG5jb25zdCBmYUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzEyOCwgNTEyLCBbMTAwNjksIDEwMDcxLCA2MTczOF0sIFwiMjFcIiwgXCJNOTYgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMzIgNDYuMyAzMiA2NGwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDk2IDY0ek02NCA0ODBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dzU3BpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3Mtc3BpbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRiYlwiLCBcIk0yNTYgOTZjMzguNCAwIDczLjcgMTMuNSAxMDEuMyAzNi4xbC0zMi42IDMyLjZjLTQuNiA0LjYtNS45IDExLjUtMy41IDE3LjRzOC4zIDkuOSAxNC44IDkuOWwxMTIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMTJjMC02LjUtMy45LTEyLjMtOS45LTE0LjhzLTEyLjktMS4xLTE3LjQgMy41bC0zNCAzNEMzNjMuNCA1Mi42IDMxMi4xIDMyIDI1NiAzMmMtMTAuOSAwLTIxLjUgLjgtMzIgMi4zbDAgNjQuOWMxMC4zLTIuMSAyMS0zLjIgMzItMy4yek0xMzIuMSAxNTQuN2wzMi42IDMyLjZjNC42IDQuNiAxMS41IDUuOSAxNy40IDMuNXM5LjktOC4zIDkuOS0xNC44bDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA0OGMtNi41IDAtMTIuMyAzLjktMTQuOCA5LjlzLTEuMSAxMi45IDMuNSAxNy40bDM0IDM0QzUyLjYgMTQ4LjYgMzIgMTk5LjkgMzIgMjU2YzAgMTAuOSAuOCAyMS41IDIuMyAzMmw2NC45IDBjLTIuMS0xMC4zLTMuMi0yMS0zLjItMzJjMC0zOC40IDEzLjUtNzMuNyAzNi4xLTEwMS4zek00NzcuNyAyMjRsLTY0LjkgMGMyLjEgMTAuMyAzLjIgMjEgMy4yIDMyYzAgMzguNC0xMy41IDczLjctMzYuMSAxMDEuM2wtMzIuNi0zMi42Yy00LjYtNC42LTExLjUtNS45LTE3LjQtMy41cy05LjkgOC4zLTkuOSAxNC44bDAgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwxMTIgMGM2LjUgMCAxMi4zLTMuOSAxNC44LTkuOXMxLjEtMTIuOS0zLjUtMTcuNGwtMzQtMzRDNDU5LjQgMzYzLjQgNDgwIDMxMi4xIDQ4MCAyNTZjMC0xMC45LS44LTIxLjUtMi4zLTMyek0yNTYgNDE2Yy0zOC40IDAtNzMuNy0xMy41LTEwMS4zLTM2LjFsMzIuNi0zMi42YzQuNi00LjYgNS45LTExLjUgMy41LTE3LjRzLTguMy05LjktMTQuOC05LjlMNjQgMzIwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTJjMCA2LjUgMy45IDEyLjMgOS45IDE0LjhzMTIuOSAxLjEgMTcuNC0zLjVsMzQtMzRDMTQ4LjYgNDU5LjQgMTk5LjkgNDgwIDI1NiA0ODBjMTAuOSAwIDIxLjUtLjggMzItMi4zbDAtNjQuOWMtMTAuMyAyLjEtMjEgMy4yLTMyIDMuMnpcIl1cbn07XG5jb25zdCBmYVByaW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ByaW50JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDI0LCAxMjg0MzgsIDkxMTNdLCBcImYwMmZcIiwgXCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjRsMCA5NiA2NCAwIDAtOTYgMjI2LjcgMEwzODQgOTMuM2wwIDY2LjcgNjQgMCAwLTY2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNDAwIDE4LjdDMzg4IDYuNyAzNzEuNyAwIDM1NC43IDBMMTI4IDB6TTM4NCAzNTJsMCAzMiAwIDY0LTI1NiAwIDAtNjQgMC0xNiAwLTE2IDI1NiAwem02NCAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMTkyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0ek00MzIgMjQ4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG5jb25zdCBmYVR1cmtpc2hMaXJhU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0dXJraXNoLWxpcmEtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW1widHJ5XCIsIFwidHVya2lzaC1saXJhXCJdLCBcImUyYmJcIiwgXCJNOTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNS4zTDI0Ny4yIDY1LjJjMTctNC45IDM0LjcgNSAzOS42IDIycy01IDM0LjctMjIgMzkuNkwxMjggMTY1LjlsMCAyOS40IDExOS4yLTM0LjFjMTctNC45IDM0LjcgNSAzOS42IDIycy01IDM0LjctMjIgMzkuNkwxMjggMjYxLjkgMTI4IDQxNmw2My44IDBjNjguMiAwIDEyNC40LTUzLjUgMTI3LjgtMTIxLjZsLjQtOGMuOS0xNy43IDE1LjktMzEuMiAzMy42LTMwLjRzMzEuMiAxNS45IDMwLjQgMzMuNmwtLjQgOEMzNzguNSAzOTkuOCAyOTQuMSA0ODAgMTkxLjggNDgwTDk2IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNjcuOS0yMy4yIDYuNmMtMTcgNC45LTM0LjctNS0zOS42LTIyczUtMzQuNyAyMi0zOS42TDY0IDIxMy42bDAtMjkuNC0yMy4yIDYuNmMtMTcgNC45LTM0LjctNS0zOS42LTIyczUtMzQuNyAyMi0zOS42TDY0IDExNy42IDY0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhVHJ5ID0gZmFUdXJraXNoTGlyYVNpZ247XG5jb25zdCBmYVR1cmtpc2hMaXJhID0gZmFUdXJraXNoTGlyYVNpZ247XG5jb25zdCBmYURvbGxhclNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG9sbGFyLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjgxNzgsIDYxNzgxLCBcImRvbGxhclwiLCBcInVzZFwiXSwgXCIyNFwiLCBcIk0xNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDM1LjdjMS42IC4yIDMuMSAuNCA0LjcgLjdjLjQgLjEgLjcgLjEgMS4xIC4ybDQ4IDguOGMxNy40IDMuMiAyOC45IDE5LjkgMjUuNyAzNy4ycy0xOS45IDI4LjktMzcuMiAyNS43bC00Ny41LTguN2MtMzEuMy00LjYtNTguOS0xLjUtNzguMyA2LjJzLTI3LjIgMTguMy0yOSAyOC4xYy0yIDEwLjctLjUgMTYuNyAxLjIgMjAuNGMxLjggMy45IDUuNSA4LjMgMTIuOCAxMy4yYzE2LjMgMTAuNyA0MS4zIDE3LjcgNzMuNyAyNi4zbDIuOSAuOGMyOC42IDcuNiA2My42IDE2LjggODkuNiAzMy44YzE0LjIgOS4zIDI3LjYgMjEuOSAzNS45IDM5LjVjOC41IDE3LjkgMTAuMyAzNy45IDYuNCA1OS4yYy02LjkgMzgtMzMuMSA2My40LTY1LjYgNzYuN2MtMTMuNyA1LjYtMjguNiA5LjItNDQuNCAxMWwwIDMzLjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNC45Yy0uNC0uMS0uOS0uMS0xLjMtLjJsLS4yIDBzMCAwIDAgMGMtMjQuNC0zLjgtNjQuNS0xNC4zLTkxLjUtMjYuM2MtMTYuMS03LjItMjMuNC0yNi4xLTE2LjItNDIuMnMyNi4xLTIzLjQgNDIuMi0xNi4yYzIwLjkgOS4zIDU1LjMgMTguNSA3NS4yIDIxLjZjMzEuOSA0LjcgNTguMiAyIDc2LTUuM2MxNi45LTYuOSAyNC42LTE2LjkgMjYuOC0yOC45YzEuOS0xMC42IC40LTE2LjctMS4zLTIwLjRjLTEuOS00LTUuNi04LjQtMTMtMTMuM2MtMTYuNC0xMC43LTQxLjUtMTcuNy03NC0yNi4zbC0yLjgtLjdzMCAwIDAgMEMxMTkuNCAyNzkuMyA4NC40IDI3MCA1OC40IDI1M2MtMTQuMi05LjMtMjcuNS0yMi0zNS44LTM5LjZjLTguNC0xNy45LTEwLjEtMzcuOS02LjEtNTkuMkMyMy43IDExNiA1Mi4zIDkxLjIgODQuOCA3OC4zYzEzLjMtNS4zIDI3LjktOC45IDQzLjItMTFMMTI4IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhRG9sbGFyID0gZmFEb2xsYXJTaWduO1xuY29uc3QgZmFVc2QgPSBmYURvbGxhclNpZ247XG5jb25zdCBmYVggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneCcsXG4gIGljb246IFszODQsIDUxMiwgWzEyMF0sIFwiNThcIiwgXCJNMzc2LjYgODQuNWMxMS4zLTEzLjYgOS41LTMzLjgtNC4xLTQ1LjFzLTMzLjgtOS41LTQ1LjEgNC4xTDE5MiAyMDYgNTYuNiA0My41QzQ1LjMgMjkuOSAyNS4xIDI4LjEgMTEuNSAzOS40Uy0zLjkgNzAuOSA3LjQgODQuNUwxNTAuMyAyNTYgNy40IDQyNy41Yy0xMS4zIDEzLjYtOS41IDMzLjggNC4xIDQ1LjFzMzMuOCA5LjUgNDUuMS00LjFMMTkyIDMwNiAzMjcuNCA0NjguNWMxMS4zIDEzLjYgMzEuNSAxNS40IDQ1LjEgNC4xczE1LjQtMzEuNSA0LjEtNDUuMUwyMzMuNyAyNTYgMzc2LjYgODQuNXpcIl1cbn07XG5jb25zdCBmYU1hZ25pZnlpbmdHbGFzc0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduaWZ5aW5nLWdsYXNzLWRvbGxhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2VhcmNoLWRvbGxhclwiXSwgXCJmNjg4XCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTIyOCAxMDRjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMTRjLTcuNiAxLjctMTUuMiA0LjQtMjIuMiA4LjVjLTEzLjkgOC4zLTI1LjkgMjIuOC0yNS44IDQzLjljLjEgMjAuMyAxMiAzMy4xIDI0LjcgNDAuN2MxMSA2LjYgMjQuNyAxMC44IDM1LjYgMTRsMS43IC41YzEyLjYgMy44IDIxLjggNi44IDI4IDEwLjdjNS4xIDMuMiA1LjggNS40IDUuOSA4LjJjLjEgNS0xLjggOC01LjkgMTAuNWMtNSAzLjEtMTIuOSA1LTIxLjQgNC43Yy0xMS4xLS40LTIxLjUtMy45LTM1LjEtOC41Yy0yLjMtLjgtNC43LTEuNi03LjItMi40Yy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zYzEuOSAuNiA0IDEuMyA2LjEgMi4xYzAgMCAwIDAgMCAwczAgMCAwIDBjOC4zIDIuOSAxNy45IDYuMiAyOC4yIDguNGwwIDE0LjZjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMy44YzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdsMC0xMy45elwiXVxufTtcbmNvbnN0IGZhU2VhcmNoRG9sbGFyID0gZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXI7XG5jb25zdCBmYVVzZXJzR2VhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1nZWFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2Vycy1jb2dcIl0sIFwiZjUwOVwiLCBcIk0xNDQgMTYwQTgwIDgwIDAgMSAwIDE0NCAwYTgwIDgwIDAgMSAwIDAgMTYwem0zNjggMEE4MCA4MCAwIDEgMCA1MTIgMGE4MCA4MCAwIDEgMCAwIDE2MHpNMCAyOTguN0MwIDMxMC40IDkuNiAzMjAgMjEuMyAzMjBsMjEzLjMgMGMuMiAwIC40IDAgLjcgMGMtMjYuNi0yMy41LTQzLjMtNTcuOC00My4zLTk2YzAtNy42IC43LTE1IDEuOS0yMi4zYy0xMy42LTYuMy0yOC43LTkuNy00NC42LTkuN2wtNDIuNyAwQzQ3LjggMTkyIDAgMjM5LjggMCAyOTguN3pNMzIwIDMyMGMyNCAwIDQ1LjktOC44IDYyLjctMjMuM2MyLjUtMy43IDUuMi03LjMgOC0xMC43YzIuNy0zLjMgNS43LTYuMSA5LTguM0M0MTAgMjYyLjMgNDE2IDI0My45IDQxNiAyMjRjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZ6bTY1LjQgNjAuMmMtMTAuMy01LjktMTguMS0xNi4yLTIwLjgtMjguMmwtMTAzLjIgMEMxODcuNyAzNTIgMTI4IDQxMS43IDEyOCA0ODUuM2MwIDE0LjcgMTEuOSAyNi43IDI2LjcgMjYuN2wzMDAuNiAwYy0yLjEtNS4yLTMuMi0xMC45LTMuMi0xNi40bDAtM2MtMS4zLS43LTIuNy0xLjUtNC0yLjNsLTIuNiAxLjVjLTE2LjggOS43LTQwLjUgOC01NC43LTkuN2MtNC41LTUuNi04LjYtMTEuNS0xMi40LTE3LjZsLS4xLS4yLS4xLS4yLTIuNC00LjEtLjEtLjItLjEtLjJjLTMuNC02LjItNi40LTEyLjYtOS0xOS4zYy04LjItMjEuMiAyLjItNDIuNiAxOS01Mi4zbDIuNy0xLjVjMC0uOCAwLTEuNSAwLTIuM3MwLTEuNSAwLTIuM2wtMi43LTEuNXpNNTMzLjMgMTkybC00Mi43IDBjLTE1LjkgMC0zMSAzLjUtNDQuNiA5LjdjMS4zIDcuMiAxLjkgMTQuNyAxLjkgMjIuM2MwIDE3LjQtMy41IDMzLjktOS43IDQ5YzIuNSAuOSA0LjkgMiA3LjEgMy4zbDIuNiAxLjVjMS4zLS44IDIuNi0xLjYgNC0yLjNsMC0zYzAtMTkuNCAxMy4zLTM5LjEgMzUuOC00Mi42YzcuOS0xLjIgMTYtMS45IDI0LjItMS45czE2LjMgLjYgMjQuMiAxLjljMjIuNSAzLjUgMzUuOCAyMy4yIDM1LjggNDIuNmwwIDNjMS4zIC43IDIuNyAxLjUgNCAyLjNsMi42LTEuNWMxNi44LTkuNyA0MC41LTggNTQuNyA5LjdjMi4zIDIuOCA0LjUgNS44IDYuNiA4LjdjLTIuMS01Ny4xLTQ5LTEwMi43LTEwNi42LTEwMi43em05MS4zIDE2My45YzYuMy0zLjYgOS41LTExLjEgNi44LTE4Yy0yLjEtNS41LTQuNi0xMC44LTcuNC0xNS45bC0yLjMtNGMtMy4xLTUuMS02LjUtOS45LTEwLjItMTQuNWMtNC42LTUuNy0xMi43LTYuNy0xOS0zbC0yLjkgMS43Yy05LjIgNS4zLTIwLjQgNC0yOS42LTEuM3MtMTYuMS0xNC41LTE2LjEtMjUuMWwwLTMuNGMwLTcuMy00LjktMTMuOC0xMi4xLTE0LjljLTYuNS0xLTEzLjEtMS41LTE5LjktMS41cy0xMy40IC41LTE5LjkgMS41Yy03LjIgMS4xLTEyLjEgNy42LTEyLjEgMTQuOWwwIDMuNGMwIDEwLjYtNi45IDE5LjgtMTYuMSAyNS4xcy0yMC40IDYuNi0yOS42IDEuM2wtMi45LTEuN2MtNi4zLTMuNi0xNC40LTIuNi0xOSAzYy0zLjcgNC42LTcuMSA5LjUtMTAuMiAxNC42bC0yLjMgMy45Yy0yLjggNS4xLTUuMyAxMC40LTcuNCAxNS45Yy0yLjYgNi44IC41IDE0LjMgNi44IDE3LjlsMi45IDEuN2M5LjIgNS4zIDEzLjcgMTUuOCAxMy43IDI2LjRzLTQuNSAyMS4xLTEzLjcgMjYuNGwtMyAxLjdjLTYuMyAzLjYtOS41IDExLjEtNi44IDE3LjljMi4xIDUuNSA0LjYgMTAuNyA3LjQgMTUuOGwyLjQgNC4xYzMgNS4xIDYuNCA5LjkgMTAuMSAxNC41YzQuNiA1LjcgMTIuNyA2LjcgMTkgM2wyLjktMS43YzkuMi01LjMgMjAuNC00IDI5LjYgMS4zczE2LjEgMTQuNSAxNi4xIDI1LjFsMCAzLjRjMCA3LjMgNC45IDEzLjggMTIuMSAxNC45YzYuNSAxIDEzLjEgMS41IDE5LjkgMS41czEzLjQtLjUgMTkuOS0xLjVjNy4yLTEuMSAxMi4xLTcuNiAxMi4xLTE0LjlsMC0zLjRjMC0xMC42IDYuOS0xOS44IDE2LjEtMjUuMXMyMC40LTYuNiAyOS42LTEuM2wyLjkgMS43YzYuMyAzLjYgMTQuNCAyLjYgMTktM2MzLjctNC42IDcuMS05LjQgMTAuMS0xNC41bDIuNC00LjJjMi44LTUuMSA1LjMtMTAuMyA3LjQtMTUuOGMyLjYtNi44LS41LTE0LjMtNi44LTE3LjlsLTMtMS43Yy05LjItNS4zLTEzLjctMTUuOC0xMy43LTI2LjRzNC41LTIxLjEgMTMuNy0yNi40bDMtMS43ek00NzIgMzg0YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6XCJdXG59O1xuY29uc3QgZmFVc2Vyc0NvZyA9IGZhVXNlcnNHZWFyO1xuY29uc3QgZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1taWxpdGFyeS1wb2ludGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0YVwiLCBcIk0yNDYuOSAxNC4xQzIzNCAxNS4yIDIyNCAyNiAyMjQgMzljMCAxMy44IDExLjIgMjUgMjUgMjVsMTUxIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzAuNkM0MTYgOCA0MDggLjcgMzk4LjcgMS40TDI0Ni45IDE0LjF6TTI0MCAxMTJjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTUuNS0uNi0xMC44LTEuNi0xNkwyNDEuNiA5NmMtMSA1LjItMS42IDEwLjUtMS42IDE2ek03MiAyMjRjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMTUyIDAgMCA4OS40TDM4Ni44IDIzMC41Yy0xMy4zLTQuMy0yNy4zLTYuNS00MS42LTYuNUwyNDAgMjI0IDcyIDIyNHptMzQ1LjcgMjAuOUwyNDYuNiA0MTYgNDE2IDQxNmwwLTQ2LjMgNTMuNiA5MC42YzExLjIgMTkgMzUuOCAyNS4zIDU0LjggMTQuMXMyNS4zLTM1LjggMTQuMS01NC44TDQ2Mi4zIDI5MC44Yy0xMS4yLTE4LjktMjYuNi0zNC41LTQ0LjYtNDUuOXpNMjI0IDQ0OGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzItMTkyIDB6XCJdXG59O1xuY29uc3QgZmFCdWlsZGluZ0NvbHVtbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctY29sdW1ucycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYmFua1wiLCBcImluc3RpdHV0aW9uXCIsIFwibXVzZXVtXCIsIFwidW5pdmVyc2l0eVwiXSwgXCJmMTljXCIsIFwiTTI0My40IDIuNmwtMjI0IDk2Yy0xNCA2LTIxLjggMjEtMTguNyAzNS44UzE2LjggMTYwIDMyIDE2MGwwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDAwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC04YzE1LjIgMCAyOC4zLTEwLjcgMzEuMy0yNS42cy00LjgtMjkuOS0xOC43LTM1LjhsLTIyNC05NmMtOC0zLjQtMTcuMi0zLjQtMjUuMiAwek0xMjggMjI0bC02NCAwIDAgMTk2LjNjLS42IC4zLTEuMiAuNy0xLjggMS4xbC00OCAzMmMtMTEuNyA3LjgtMTcgMjIuNC0xMi45IDM1LjlTMTcuOSA1MTIgMzIgNTEybDQ0OCAwYzE0LjEgMCAyNi41LTkuMiAzMC42LTIyLjdzLTEuMS0yOC4xLTEyLjktMzUuOWwtNDgtMzJjLS42LS40LTEuMi0uNy0xLjgtMS4xTDQ0OCAyMjRsLTY0IDAgMCAxOTItNDAgMCAwLTE5Mi02NCAwIDAgMTkyLTQ4IDAgMC0xOTItNjQgMCAwIDE5Mi00MCAwIDAtMTkyek0yNTYgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQmFuayA9IGZhQnVpbGRpbmdDb2x1bW5zO1xuY29uc3QgZmFJbnN0aXR1dGlvbiA9IGZhQnVpbGRpbmdDb2x1bW5zO1xuY29uc3QgZmFNdXNldW0gPSBmYUJ1aWxkaW5nQ29sdW1ucztcbmNvbnN0IGZhVW5pdmVyc2l0eSA9IGZhQnVpbGRpbmdDb2x1bW5zO1xuY29uc3QgZmFVbWJyZWxsYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bWJyZWxsYScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjBlOVwiLCBcIk0yODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE3LjdDNDUxLjggNjMuNCA1NTcuNyAxNjEgNTczLjkgMjg1LjljMiAxNS42LTE3LjMgMjQuNC0yNy44IDEyLjdDNTMyLjEgMjgzIDUwNC44IDI3MiA0ODAgMjcyYy0zOC43IDAtNzEgMjcuNS03OC40IDY0LjFjLTEuNyA4LjctOC43IDE1LjktMTcuNiAxNS45cy0xNS44LTcuMi0xNy42LTE1LjlDMzU5IDI5OS41IDMyNi43IDI3MiAyODggMjcycy03MSAyNy41LTc4LjQgNjQuMWMtMS43IDguNy04LjcgMTUuOS0xNy42IDE1LjlzLTE1LjgtNy4yLTE3LjYtMTUuOUMxNjcgMjk5LjUgMTM0LjcgMjcyIDk2IDI3MmMtMjQuOCAwLTUyLjEgMTEtNjYuMSAyNi43QzE5LjQgMzEwLjQgLjEgMzAxLjUgMi4xIDI4NS45QzE4LjMgMTYxIDEyNC4yIDYzLjQgMjU2IDQ5LjdMMjU2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0wIDMwNGMxMi4zIDAgMjMuNSA0LjYgMzIgMTIuMmwwIDExNC4zYzAgNDUtMzYuNSA4MS40LTgxLjQgODEuNGMtMzAuOCAwLTU5LTE3LjQtNzIuOC00NWwtMi4zLTQuN2MtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDIuMyA0LjdjMyA1LjkgOSA5LjYgMTUuNiA5LjZjOS42IDAgMTcuNC03LjggMTcuNC0xNy40bDAtMTE0LjNjOC41LTcuNiAxOS43LTEyLjIgMzItMTIuMnpcIl1cbn07XG5jb25zdCBmYVRyb3dlbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cm93ZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1ODlcIiwgXCJNMzQzLjkgMjEzLjRMMjQ1LjMgMzEybDY1LjQgNjUuNGM3LjkgNy45IDExLjEgMTkuNCA4LjQgMzAuM3MtMTAuOCAxOS42LTIxLjUgMjIuOWwtMjU2IDgwYy0xMS40IDMuNS0yMy44IC41LTMyLjItNy45Uy0yLjEgNDgxLjggMS41IDQ3MC41bDgwLTI1NmMzLjMtMTAuNyAxMi0xOC45IDIyLjktMjEuNXMyMi40IC41IDMwLjMgOC40TDIwMCAyNjYuN2w5OC42LTk4LjZjLTE0LjMtMTQuNi0xNC4yLTM4IC4zLTUyLjVsOTUuNC05NS40YzI2LjktMjYuOSA3MC41LTI2LjkgOTcuNSAwczI2LjkgNzAuNSAwIDk3LjVsLTk1LjQgOTUuNGMtMTQuNSAxNC41LTM3LjkgMTQuNi01Mi41IC4zelwiXVxufTtcbmNvbnN0IGZhRCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTAwXSwgXCI0NFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDk2IDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNHMtMTAwLjMgMjI0LTIyNCAyMjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE2MCAwTDY0IDk2bDAgMzIwIDk2IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBzLTcxLjYtMTYwLTE2MC0xNjB6XCJdXG59O1xuY29uc3QgZmFTdGFwbGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXBsZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1YWZcIiwgXCJNNjQwIDI5OS4zbDAgNC43IDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC04MCAwLTY0IDBMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwIDAtNDhMOTYgMzY4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExNi42TDMzLjggMjE0QzE0LjIgMjEwLjUgMCAxOTMuNSAwIDE3My43YzAtOC45IDIuOS0xNy41IDguMi0yNC42bDM1LjYtNDcuNUM3Ni43IDU3LjggMTI4LjIgMzIgMTgyLjkgMzJjMjcgMCA1My42IDYuMyA3Ny44IDE4LjRMNTg2LjkgMjEzLjVDNjE5LjUgMjI5LjcgNjQwIDI2MyA2NDAgMjk5LjN6TTQ0OCAzMDRsMC0xNkwxMjggMjMwLjlsMCA3My4xIDMyMCAwelwiXVxufTtcbmNvbnN0IGZhTWFza3NUaGVhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hc2tzLXRoZWF0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5MTcsIFwidGhlYXRlci1tYXNrc1wiXSwgXCJmNjMwXCIsIFwiTTc0LjYgMzczLjJjNDEuNyAzNi4xIDEwOCA4Mi41IDE2Ni4xIDczLjdjNi4xLS45IDEyLjEtMi41IDE4LTQuNWMtOS4yLTEyLjMtMTcuMy0yNC40LTI0LjItMzUuNGMtMjEuOS0zNS0yOC44LTc1LjItMjUuOS0xMTMuNmMtMjAuNiA0LjEtMzkuMiAxMy01NC43IDI1LjRjLTYuNSA1LjItMTYuMyAxLjMtMTQuOC03YzYuNC0zMy41IDMzLTYwLjkgNjguMi02Ni4zYzIuNi0uNCA1LjMtLjcgNy45LS44bDE5LjQtMTMxLjNjMi0xMy44IDgtMzIuNyAyNS00NS45QzI3OC4yIDUzLjIgMzEwLjUgMzcgMzYzLjIgMzIuMmMtLjgtLjctMS42LTEuNC0yLjQtMi4xQzM0MC42IDE0LjUgMjg4LjQtMTEuNSAxNzUuNyA1LjZTMjAuNSA2MyA1LjcgODMuOUMwIDkxLjktLjggMTAyIC42IDExMS44TDI0LjggMjc2LjFjNS41IDM3LjMgMjEuNSA3Mi42IDQ5LjggOTcuMnptODcuNy0yMTkuNmM0LjQtMy4xIDEwLjgtMiAxMS44IDMuM2MuMSAuNSAuMiAxLjEgLjMgMS42YzMuMiAyMS44LTExLjYgNDItMzMuMSA0NS4zcy00MS41LTExLjgtNDQuNy0zMy41Yy0uMS0uNS0uMS0xLjEtLjItMS42Yy0uNi01LjQgNS4yLTguNCAxMC4zLTYuN2M5IDMgMTguOCAzLjkgMjguNyAyLjRzMTkuMS01LjMgMjYuOC0xMC44ek0yNjEuNiAzOTBjMjkuNCA0Ni45IDc5LjUgMTEwLjkgMTM3LjYgMTE5LjdzMTI0LjUtMzcuNSAxNjYuMS03My43YzI4LjMtMjQuNSA0NC4zLTU5LjggNDkuOC05Ny4ybDI0LjItMTY0LjNjMS40LTkuOCAuNi0xOS45LTUuMS0yNy45Yy0xNC44LTIwLjktNTcuMy02MS4yLTE3MC03OC4zUzI5OS40IDc3LjIgMjc5LjIgOTIuOGMtNy44IDYtMTEuNSAxNS40LTEyLjkgMjUuMkwyNDIuMSAyODIuM2MtNS41IDM3LjMtLjQgNzUuOCAxOS42IDEwNy43ek00MDQuNSAyMzUuM2MtNy43LTUuNS0xNi44LTkuMy0yNi44LTEwLjhzLTE5LjgtLjYtMjguNyAyLjRjLTUuMSAxLjctMTAuOS0xLjMtMTAuMy02LjdjLjEtLjUgLjEtMS4xIC4yLTEuNmMzLjItMjEuOCAyMy4yLTM2LjggNDQuNy0zMy41czM2LjMgMjMuNSAzMy4xIDQ1LjNjLS4xIC41LS4yIDEuMS0uMyAxLjZjLTEgNS4zLTcuNCA2LjQtMTEuOCAzLjN6bTEzNi4yIDE1LjVjLTEgNS4zLTcuNCA2LjQtMTEuOCAzLjNjLTcuNy01LjUtMTYuOC05LjMtMjYuOC0xMC44cy0xOS44LS42LTI4LjcgMi40Yy01LjEgMS43LTEwLjktMS4zLTEwLjMtNi43Yy4xLS41IC4xLTEuMSAuMi0xLjZjMy4yLTIxLjggMjMuMi0zNi44IDQ0LjctMzMuNXMzNi4zIDIzLjUgMzMuMSA0NS4zYy0uMSAuNS0uMiAxLjEtLjMgMS42ek01MzAgMzUwLjJjLTE5LjYgNDQuNy02Ni44IDcyLjUtMTE2LjggNjQuOXMtODcuMS00OC4yLTkzLTk2LjdjLTEtOC4zIDguOS0xMi4xIDE1LjItNi43YzIzLjkgMjAuOCA1My42IDM1LjMgODcgNDAuM3M2Ni4xIC4xIDk0LjktMTIuOGM3LjYtMy40IDE2IDMuMiAxMi42IDEwLjl6XCJdXG59O1xuY29uc3QgZmFUaGVhdGVyTWFza3MgPSBmYU1hc2tzVGhlYXRlcjtcbmNvbnN0IGZhS2lwU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdraXAtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFjNFwiLCBcIk0zNDAuOCA4OC4zYzEzLjQtMTEuNSAxNS0zMS43IDMuNS00NS4xcy0zMS43LTE1LTQ1LjEtMy41TDEyOCAxODYuNCAxMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NGwwIDE2MC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyMi40TDI5OS4yIDQ3Mi4zYzEzLjQgMTEuNSAzMy42IDkuOSA0NS4xLTMuNXM5LjktMzMuNi0zLjUtNDUuMUwxODIuNSAyODggMzUyIDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTY5LjUgMEwzNDAuOCA4OC4zelwiXVxufTtcbmNvbnN0IGZhSGFuZFBvaW50TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBvaW50LWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwYTVcIiwgXCJNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMjA4IDAgMC02NEwzMiA5NnpNMTkyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem0tNjQtNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTk2IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem04OC05NmwtLjYgMGM1LjQgOS40IDguNiAyMC4zIDguNiAzMmMwIDEzLjItNCAyNS40LTEwLjggMzUuNmMyNC45IDguNyA0Mi44IDMyLjUgNDIuOCA2MC40YzAgMTEuNy0zLjEgMjIuNi04LjYgMzJsOC42IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC02MS43YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMWwtMTEuNi0xMS42QzQyOS41IDc3LjUgMzk2LjkgNjQgMzYzIDY0bC0yNyAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDg4YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC01NmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNTZjMCAzOS44LTMyLjIgNzItNzIgNzJ6XCJdXG59O1xuY29uc3QgZmFIYW5kc2hha2VTaW1wbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHNoYWtlLXNpbXBsZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTMwOSwgXCJoYW5kc2hha2UtYWx0XCJdLCBcImY0YzZcIiwgXCJNMzIzLjQgODUuMmwtOTYuOCA3OC40Yy0xNi4xIDEzLTE5LjIgMzYuNC03IDUzLjFjMTIuOSAxNy44IDM4IDIxLjMgNTUuMyA3LjhsOTkuMy03Ny4yYzctNS40IDE3LTQuMiAyMi41IDIuOHM0LjIgMTctMi44IDIyLjVsLTIwLjkgMTYuMkw1NTAuMiAzNTJsNDEuOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC03NiAwLTQgMC0uNyAwLTMuOS0yLjVMNDM0LjggNzljLTE1LjMtOS44LTMzLjItMTUtNTEuNC0xNWMtMjEuOCAwLTQzIDcuNS02MCAyMS4yem0yMi44IDEyNC40bC01MS43IDQwLjJDMjYzIDI3NC40IDIxNy4zIDI2OCAxOTMuNyAyMzUuNmMtMjIuMi0zMC41LTE2LjYtNzMuMSAxMi43LTk2LjhsODMuMi02Ny4zYy0xMS42LTQuOS0yNC4xLTcuNC0zNi44LTcuNEMyMzQgNjQgMjE1LjcgNjkuNiAyMDAgODBsLTcyIDQ4LTgwIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEwOC4yIDAgOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45YzQuNS00LjkgNy44LTEwLjYgOS45LTE2LjVjMTkuNCAxMyA0NS44IDEwLjMgNjIuMS03LjVjMTcuOS0xOS41IDE2LjYtNDkuOS0yLjktNjcuOGwtMTM0LjItMTIzelwiXVxufTtcbmNvbnN0IGZhSGFuZHNoYWtlQWx0ID0gZmFIYW5kc2hha2VTaW1wbGU7XG5jb25zdCBmYUpldEZpZ2h0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnamV0LWZpZ2h0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImZpZ2h0ZXItamV0XCJdLCBcImYwZmJcIiwgXCJNMTYwIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0TDI5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwTDM4NCAxOTJsMTE2LjQgMGM3LjcgMCAxNS4zIDEuNCAyMi41IDQuMUw2MjUgMjM0LjRjOSAzLjQgMTUgMTIgMTUgMjEuNnMtNiAxOC4yLTE1IDIxLjZMNTIyLjkgMzE1LjljLTcuMiAyLjctMTQuOCA0LjEtMjIuNSA0LjFMMzg0IDMyMCAyODAgNDY0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTE0NC0zMiAwLTU0LjYgNTQuNmMtNiA2LTE0LjEgOS40LTIyLjYgOS40TDY0IDM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNEwxNjAgMTkybDMyIDAgMC0xNDQtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNODAgMjQwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDY0IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTY0IDB6XCJdXG59O1xuY29uc3QgZmFGaWdodGVySmV0ID0gZmFKZXRGaWdodGVyO1xuY29uc3QgZmFTcXVhcmVTaGFyZU5vZGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1zaGFyZS1ub2RlcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic2hhcmUtYWx0LXNxdWFyZVwiXSwgXCJmMWUxXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTM4NCAxNjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTE1LjQgMC0yOS41LTUuNC00MC42LTE0LjVMMTk0LjEgMjU2bDg1LjMgNDYuNWMxMS05LjEgMjUuMi0xNC41IDQwLjYtMTQuNWMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTIuNSAuMS00LjkgLjQtNy4zTDE3NC41IDMwMGMtMTEuNyAxMi4zLTI4LjIgMjAtNDYuNSAyMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMxOC4zIDAgMzQuOCA3LjcgNDYuNSAyMGw4MS45LTQ0LjdjLS4zLTIuNC0uNC00LjktLjQtNy4zYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjR6XCJdXG59O1xuY29uc3QgZmFTaGFyZUFsdFNxdWFyZSA9IGZhU3F1YXJlU2hhcmVOb2RlcztcbmNvbnN0IGZhQmFyY29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXJjb2RlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDJhXCIsIFwiTTI0IDMyQzEwLjcgMzIgMCA0Mi43IDAgNTZMMCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNEw2NCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwyNCAzMnptODggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDE2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00MTZjMC04LjgtNy4yLTE2LTE2LTE2em03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNiAwem05NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNiAwek00NDggNTZsMCA0MDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQwMGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bS02NC04bDAgNDE2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00MTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFQbHVzTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1cy1taW51cycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTQzY1wiLCBcIk0yMjQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTJMNDggMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExMiAwIDAgMTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMTIgMTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTExMiAwIDAtMTEyek0wIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhVmlkZW8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlkZW8nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInZpZGVvLWNhbWVyYVwiXSwgXCJmMDNkXCIsIFwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6TTU1OS4xIDk5LjhjMTAuNCA1LjYgMTYuOSAxNi40IDE2LjkgMjguMmwwIDI1NmMwIDExLjgtNi41IDIyLjYtMTYuOSAyOC4ycy0yMyA1LTMyLjktMS42bC05Ni02NEw0MTYgMzM3LjFsMC0xNy4xIDAtMTI4IDAtMTcuMSAxNC4yLTkuNSA5Ni02NGM5LjgtNi41IDIyLjQtNy4yIDMyLjktMS42elwiXVxufTtcbmNvbnN0IGZhVmlkZW9DYW1lcmEgPSBmYVZpZGVvO1xuY29uc3QgZmFHcmFkdWF0aW9uQ2FwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyYWR1YXRpb24tY2FwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3ODkxLCBcIm1vcnRhci1ib2FyZFwiXSwgXCJmMTlkXCIsIFwiTTMyMCAzMmMtOC4xIDAtMTYuMSAxLjQtMjMuNyA0LjFMMTUuOCAxMzcuNEM2LjMgMTQwLjkgMCAxNDkuOSAwIDE2MHM2LjMgMTkuMSAxNS44IDIyLjZsNTcuOSAyMC45QzU3LjMgMjI5LjMgNDggMjU5LjggNDggMjkxLjlsMCAyOC4xYzAgMjguNC0xMC44IDU3LjctMjIuMyA4MC44Yy02LjUgMTMtMTMuOSAyNS44LTIyLjUgMzcuNkMwIDQ0Mi43LS45IDQ0OC4zIC45IDQ1My40czYgOC45IDExLjIgMTAuMmw2NCAxNmM0LjIgMS4xIDguNyAuMyAxMi40LTJzNi4zLTYuMSA3LjEtMTAuNGM4LjYtNDIuOCA0LjMtODEuMi0yLjEtMTA4LjdDOTAuMyAzNDQuMyA4NiAzMjkuOCA4MCAzMTYuNWwwLTI0LjZjMC0zMC4yIDEwLjItNTguNyAyNy45LTgxLjVjMTIuOS0xNS41IDI5LjYtMjggNDkuMi0zNS43bDE1Ny02MS43YzguMi0zLjIgMTcuNSAuOCAyMC43IDlzLS44IDE3LjUtOSAyMC43bC0xNTcgNjEuN2MtMTIuNCA0LjktMjMuMyAxMi40LTMyLjIgMjEuNmwxNTkuNiA1Ny42YzcuNiAyLjcgMTUuNiA0LjEgMjMuNyA0LjFzMTYuMS0xLjQgMjMuNy00LjFMNjI0LjIgMTgyLjZjOS41LTMuNCAxNS44LTEyLjUgMTUuOC0yMi42cy02LjMtMTkuMS0xNS44LTIyLjZMMzQzLjcgMzYuMUMzMzYuMSAzMy40IDMyOC4xIDMyIDMyMCAzMnpNMTI4IDQwOGMwIDM1LjMgODYgNzIgMTkyIDcyczE5Mi0zNi43IDE5Mi03Mkw0OTYuNyAyNjIuNiAzNTQuNSAzMTRjLTExLjEgNC0yMi44IDYtMzQuNSA2cy0yMy41LTItMzQuNS02TDE0My4zIDI2Mi42IDEyOCA0MDh6XCJdXG59O1xuY29uc3QgZmFNb3J0YXJCb2FyZCA9IGZhR3JhZHVhdGlvbkNhcDtcbmNvbnN0IGZhSGFuZEhvbGRpbmdNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtaG9sZGluZy1tZWRpY2FsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDVjXCIsIFwiTTIyNCAyNGwwIDU2LTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNTYgMCAwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC01NiA1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTU2IDAgMC01NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwyNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTU1OS43IDM5Mi4yYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjcyIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAtMTYgMC03OC4zIDBjLTI5LjEgMC01Ny4zIDkuOS04MCAyOEw2OC44IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDAgMTYwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zem0tMzY3LTguMmwuOSAwYzAgMCAwIDAgMCAwYy0uMyAwLS42IDAtLjkgMHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1M2VcIiwgXCJNMTEyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyMy4xTDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42bDI5LjcgMGMzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw0NC45IDc0LjdjLTE2LjEgMTcuNi0yOC42IDM4LjUtMzYuNiA2MS41Yy0xLjktMS44LTMuNS0zLjktNC45LTYuM0wyMzIgMjU2LjkgMjMyIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwem0xMzYgMTZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNDE2IDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFUdXJuVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHVybi11cCcsXG4gIGljb246IFszODQsIDUxMiwgWzEwNTQ4LCBcImxldmVsLXVwLWFsdFwiXSwgXCJmM2JmXCIsIFwiTTM1MCAxNzcuNWMzLjgtOC44IDItMTktNC42LTI2bC0xMzYtMTQ0QzIwNC45IDIuNyAxOTguNiAwIDE5MiAwcy0xMi45IDIuNy0xNy40IDcuNWwtMTM2IDE0NGMtNi42IDctOC40IDE3LjItNC42IDI2czEyLjUgMTQuNSAyMiAxNC41bDg4IDAgMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTgwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsODAgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTE5MiA4OCAwYzkuNiAwIDE4LjItNS43IDIyLTE0LjV6XCJdXG59O1xuY29uc3QgZmFMZXZlbFVwQWx0ID0gZmFUdXJuVXA7XG52YXIgaWNvbnMgPSB7XG4gIGZhMCxcbiAgZmExLFxuICBmYTIsXG4gIGZhMyxcbiAgZmE0LFxuICBmYTUsXG4gIGZhNixcbiAgZmE3LFxuICBmYTgsXG4gIGZhOSxcbiAgZmFGaWxsRHJpcCxcbiAgZmFBcnJvd3NUb0NpcmNsZSxcbiAgZmFDaXJjbGVDaGV2cm9uUmlnaHQsXG4gIGZhQ2hldnJvbkNpcmNsZVJpZ2h0LFxuICBmYUF0LFxuICBmYVRyYXNoQ2FuLFxuICBmYVRyYXNoQWx0LFxuICBmYVRleHRIZWlnaHQsXG4gIGZhVXNlclhtYXJrLFxuICBmYVVzZXJUaW1lcyxcbiAgZmFTdGV0aG9zY29wZSxcbiAgZmFNZXNzYWdlLFxuICBmYUNvbW1lbnRBbHQsXG4gIGZhSW5mbyxcbiAgZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlcixcbiAgZmFDb21wcmVzc0FsdCxcbiAgZmFFeHBsb3Npb24sXG4gIGZhRmlsZUxpbmVzLFxuICBmYUZpbGVBbHQsXG4gIGZhRmlsZVRleHQsXG4gIGZhV2F2ZVNxdWFyZSxcbiAgZmFSaW5nLFxuICBmYUJ1aWxkaW5nVW4sXG4gIGZhRGljZVRocmVlLFxuICBmYUNhbGVuZGFyRGF5cyxcbiAgZmFDYWxlbmRhckFsdCxcbiAgZmFBbmNob3JDaXJjbGVDaGVjayxcbiAgZmFCdWlsZGluZ0NpcmNsZUFycm93UmlnaHQsXG4gIGZhVm9sbGV5YmFsbCxcbiAgZmFWb2xsZXliYWxsQmFsbCxcbiAgZmFBcnJvd3NVcFRvTGluZSxcbiAgZmFTb3J0RG93bixcbiAgZmFTb3J0RGVzYyxcbiAgZmFDaXJjbGVNaW51cyxcbiAgZmFNaW51c0NpcmNsZSxcbiAgZmFEb29yT3BlbixcbiAgZmFSaWdodEZyb21CcmFja2V0LFxuICBmYVNpZ25PdXRBbHQsXG4gIGZhQXRvbSxcbiAgZmFTb2FwLFxuICBmYUljb25zLFxuICBmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0LFxuICBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoLFxuICBmYU1pY3JvcGhvbmVBbHRTbGFzaCxcbiAgZmFCcmlkZ2VDaXJjbGVDaGVjayxcbiAgZmFQdW1wTWVkaWNhbCxcbiAgZmFGaW5nZXJwcmludCxcbiAgZmFIYW5kUG9pbnRSaWdodCxcbiAgZmFNYWduaWZ5aW5nR2xhc3NMb2NhdGlvbixcbiAgZmFTZWFyY2hMb2NhdGlvbixcbiAgZmFGb3J3YXJkU3RlcCxcbiAgZmFTdGVwRm9yd2FyZCxcbiAgZmFGYWNlU21pbGVCZWFtLFxuICBmYVNtaWxlQmVhbSxcbiAgZmFGbGFnQ2hlY2tlcmVkLFxuICBmYUZvb3RiYWxsLFxuICBmYUZvb3RiYWxsQmFsbCxcbiAgZmFTY2hvb2xDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFDcm9wLFxuICBmYUFuZ2xlc0Rvd24sXG4gIGZhQW5nbGVEb3VibGVEb3duLFxuICBmYVVzZXJzUmVjdGFuZ2xlLFxuICBmYVBlb3BsZVJvb2YsXG4gIGZhUGVvcGxlTGluZSxcbiAgZmFCZWVyTXVnRW1wdHksXG4gIGZhQmVlcixcbiAgZmFEaWFncmFtUHJlZGVjZXNzb3IsXG4gIGZhQXJyb3dVcExvbmcsXG4gIGZhTG9uZ0Fycm93VXAsXG4gIGZhRmlyZUZsYW1lU2ltcGxlLFxuICBmYUJ1cm4sXG4gIGZhUGVyc29uLFxuICBmYU1hbGUsXG4gIGZhTGFwdG9wLFxuICBmYUZpbGVDc3YsXG4gIGZhTWVub3JhaCxcbiAgZmFUcnVja1BsYW5lLFxuICBmYVJlY29yZFZpbnlsLFxuICBmYUZhY2VHcmluU3RhcnMsXG4gIGZhR3JpblN0YXJzLFxuICBmYUJvbmcsXG4gIGZhU3BhZ2hldHRpTW9uc3RlckZseWluZyxcbiAgZmFQYXN0YWZhcmlhbmlzbSxcbiAgZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmUsXG4gIGZhU3Bvb24sXG4gIGZhVXRlbnNpbFNwb29uLFxuICBmYUphcldoZWF0LFxuICBmYUVudmVsb3Blc0J1bGssXG4gIGZhTWFpbEJ1bGssXG4gIGZhRmlsZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUNpcmNsZUgsXG4gIGZhSG9zcGl0YWxTeW1ib2wsXG4gIGZhUGFnZXIsXG4gIGZhQWRkcmVzc0Jvb2ssXG4gIGZhQ29udGFjdEJvb2ssXG4gIGZhU3RyaWtldGhyb3VnaCxcbiAgZmFLLFxuICBmYUxhbmRtYXJrRmxhZyxcbiAgZmFQZW5jaWwsXG4gIGZhUGVuY2lsQWx0LFxuICBmYUJhY2t3YXJkLFxuICBmYUNhcmV0UmlnaHQsXG4gIGZhQ29tbWVudHMsXG4gIGZhUGFzdGUsXG4gIGZhRmlsZUNsaXBib2FyZCxcbiAgZmFDb2RlUHVsbFJlcXVlc3QsXG4gIGZhQ2xpcGJvYXJkTGlzdCxcbiAgZmFUcnVja1JhbXBCb3gsXG4gIGZhVHJ1Y2tMb2FkaW5nLFxuICBmYVVzZXJDaGVjayxcbiAgZmFWaWFsVmlydXMsXG4gIGZhU2hlZXRQbGFzdGljLFxuICBmYUJsb2csXG4gIGZhVXNlck5pbmphLFxuICBmYVBlcnNvbkFycm93VXBGcm9tTGluZSxcbiAgZmFTY3JvbGxUb3JhaCxcbiAgZmFUb3JhaCxcbiAgZmFCcm9vbUJhbGwsXG4gIGZhUXVpZGRpdGNoLFxuICBmYVF1aWRkaXRjaEJyb29tQmFsbCxcbiAgZmFUb2dnbGVPZmYsXG4gIGZhQm94QXJjaGl2ZSxcbiAgZmFBcmNoaXZlLFxuICBmYVBlcnNvbkRyb3duaW5nLFxuICBmYUFycm93RG93bjkxLFxuICBmYVNvcnROdW1lcmljRGVzYyxcbiAgZmFTb3J0TnVtZXJpY0Rvd25BbHQsXG4gIGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQsXG4gIGZhR3JpblRvbmd1ZVNxdWludCxcbiAgZmFTcHJheUNhbixcbiAgZmFUcnVja01vbnN0ZXIsXG4gIGZhVyxcbiAgZmFFYXJ0aEFmcmljYSxcbiAgZmFHbG9iZUFmcmljYSxcbiAgZmFSYWluYm93LFxuICBmYUNpcmNsZU5vdGNoLFxuICBmYVRhYmxldFNjcmVlbkJ1dHRvbixcbiAgZmFUYWJsZXRBbHQsXG4gIGZhUGF3LFxuICBmYUNsb3VkLFxuICBmYVRyb3dlbEJyaWNrcyxcbiAgZmFGYWNlRmx1c2hlZCxcbiAgZmFGbHVzaGVkLFxuICBmYUhvc3BpdGFsVXNlcixcbiAgZmFUZW50QXJyb3dMZWZ0UmlnaHQsXG4gIGZhR2F2ZWwsXG4gIGZhTGVnYWwsXG4gIGZhQmlub2N1bGFycyxcbiAgZmFNaWNyb3Bob25lU2xhc2gsXG4gIGZhQm94VGlzc3VlLFxuICBmYU1vdG9yY3ljbGUsXG4gIGZhQmVsbENvbmNpZXJnZSxcbiAgZmFDb25jaWVyZ2VCZWxsLFxuICBmYVBlblJ1bGVyLFxuICBmYVBlbmNpbFJ1bGVyLFxuICBmYVBlb3BsZUFycm93cyxcbiAgZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQsXG4gIGZhTWFyc0FuZFZlbnVzQnVyc3QsXG4gIGZhU3F1YXJlQ2FyZXRSaWdodCxcbiAgZmFDYXJldFNxdWFyZVJpZ2h0LFxuICBmYVNjaXNzb3JzLFxuICBmYUN1dCxcbiAgZmFTdW5QbGFudFdpbHQsXG4gIGZhVG9pbGV0c1BvcnRhYmxlLFxuICBmYUhvY2tleVB1Y2ssXG4gIGZhVGFibGUsXG4gIGZhTWFnbmlmeWluZ0dsYXNzQXJyb3dSaWdodCxcbiAgZmFUYWNob2dyYXBoRGlnaXRhbCxcbiAgZmFEaWdpdGFsVGFjaG9ncmFwaCxcbiAgZmFVc2Vyc1NsYXNoLFxuICBmYUNsb3ZlcixcbiAgZmFSZXBseSxcbiAgZmFNYWlsUmVwbHksXG4gIGZhU3RhckFuZENyZXNjZW50LFxuICBmYUhvdXNlRmlyZSxcbiAgZmFTcXVhcmVNaW51cyxcbiAgZmFNaW51c1NxdWFyZSxcbiAgZmFIZWxpY29wdGVyLFxuICBmYUNvbXBhc3MsXG4gIGZhU3F1YXJlQ2FyZXREb3duLFxuICBmYUNhcmV0U3F1YXJlRG93bixcbiAgZmFGaWxlQ2lyY2xlUXVlc3Rpb24sXG4gIGZhTGFwdG9wQ29kZSxcbiAgZmFTd2F0Y2hib29rLFxuICBmYVByZXNjcmlwdGlvbkJvdHRsZSxcbiAgZmFCYXJzLFxuICBmYU5hdmljb24sXG4gIGZhUGVvcGxlR3JvdXAsXG4gIGZhSG91cmdsYXNzRW5kLFxuICBmYUhvdXJnbGFzczMsXG4gIGZhSGVhcnRDcmFjayxcbiAgZmFIZWFydEJyb2tlbixcbiAgZmFTcXVhcmVVcFJpZ2h0LFxuICBmYUV4dGVybmFsTGlua1NxdWFyZUFsdCxcbiAgZmFGYWNlS2lzc0JlYW0sXG4gIGZhS2lzc0JlYW0sXG4gIGZhRmlsbSxcbiAgZmFSdWxlckhvcml6b250YWwsXG4gIGZhUGVvcGxlUm9iYmVyeSxcbiAgZmFMaWdodGJ1bGIsXG4gIGZhQ2FyZXRMZWZ0LFxuICBmYUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUV4Y2xhbWF0aW9uQ2lyY2xlLFxuICBmYVNjaG9vbENpcmNsZVhtYXJrLFxuICBmYUFycm93UmlnaHRGcm9tQnJhY2tldCxcbiAgZmFTaWduT3V0LFxuICBmYUNpcmNsZUNoZXZyb25Eb3duLFxuICBmYUNoZXZyb25DaXJjbGVEb3duLFxuICBmYVVubG9ja0tleWhvbGUsXG4gIGZhVW5sb2NrQWx0LFxuICBmYUNsb3VkU2hvd2Vyc0hlYXZ5LFxuICBmYUhlYWRwaG9uZXNTaW1wbGUsXG4gIGZhSGVhZHBob25lc0FsdCxcbiAgZmFTaXRlbWFwLFxuICBmYUNpcmNsZURvbGxhclRvU2xvdCxcbiAgZmFEb25hdGUsXG4gIGZhTWVtb3J5LFxuICBmYVJvYWRTcGlrZXMsXG4gIGZhRmlyZUJ1cm5lcixcbiAgZmFGbGFnLFxuICBmYUhhbnVraWFoLFxuICBmYUZlYXRoZXIsXG4gIGZhVm9sdW1lTG93LFxuICBmYVZvbHVtZURvd24sXG4gIGZhQ29tbWVudFNsYXNoLFxuICBmYUNsb3VkU3VuUmFpbixcbiAgZmFDb21wcmVzcyxcbiAgZmFXaGVhdEF3bixcbiAgZmFXaGVhdEFsdCxcbiAgZmFBbmtoLFxuICBmYUhhbmRzSG9sZGluZ0NoaWxkLFxuICBmYUFzdGVyaXNrLFxuICBmYVNxdWFyZUNoZWNrLFxuICBmYUNoZWNrU3F1YXJlLFxuICBmYVBlc2V0YVNpZ24sXG4gIGZhSGVhZGluZyxcbiAgZmFIZWFkZXIsXG4gIGZhR2hvc3QsXG4gIGZhTGlzdCxcbiAgZmFMaXN0U3F1YXJlcyxcbiAgZmFTcXVhcmVQaG9uZUZsaXAsXG4gIGZhUGhvbmVTcXVhcmVBbHQsXG4gIGZhQ2FydFBsdXMsXG4gIGZhR2FtZXBhZCxcbiAgZmFDaXJjbGVEb3QsXG4gIGZhRG90Q2lyY2xlLFxuICBmYUZhY2VEaXp6eSxcbiAgZmFEaXp6eSxcbiAgZmFFZ2csXG4gIGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcmssXG4gIGZhQ2FtcGdyb3VuZCxcbiAgZmFGb2xkZXJQbHVzLFxuICBmYUZ1dGJvbCxcbiAgZmFGdXRib2xCYWxsLFxuICBmYVNvY2NlckJhbGwsXG4gIGZhUGFpbnRicnVzaCxcbiAgZmFQYWludEJydXNoLFxuICBmYUxvY2ssXG4gIGZhR2FzUHVtcCxcbiAgZmFIb3RUdWJQZXJzb24sXG4gIGZhSG90VHViLFxuICBmYU1hcExvY2F0aW9uLFxuICBmYU1hcE1hcmtlZCxcbiAgZmFIb3VzZUZsb29kV2F0ZXIsXG4gIGZhVHJlZSxcbiAgZmFCcmlkZ2VMb2NrLFxuICBmYVNhY2tEb2xsYXIsXG4gIGZhUGVuVG9TcXVhcmUsXG4gIGZhRWRpdCxcbiAgZmFDYXJTaWRlLFxuICBmYVNoYXJlTm9kZXMsXG4gIGZhU2hhcmVBbHQsXG4gIGZhSGVhcnRDaXJjbGVNaW51cyxcbiAgZmFIb3VyZ2xhc3NIYWxmLFxuICBmYUhvdXJnbGFzczIsXG4gIGZhTWljcm9zY29wZSxcbiAgZmFTaW5rLFxuICBmYUJhZ1Nob3BwaW5nLFxuICBmYVNob3BwaW5nQmFnLFxuICBmYUFycm93RG93blpBLFxuICBmYVNvcnRBbHBoYURlc2MsXG4gIGZhU29ydEFscGhhRG93bkFsdCxcbiAgZmFNaXR0ZW4sXG4gIGZhUGVyc29uUmF5cyxcbiAgZmFVc2VycyxcbiAgZmFFeWVTbGFzaCxcbiAgZmFGbGFza1ZpYWwsXG4gIGZhSGFuZCxcbiAgZmFIYW5kUGFwZXIsXG4gIGZhT20sXG4gIGZhV29ybSxcbiAgZmFIb3VzZUNpcmNsZVhtYXJrLFxuICBmYVBsdWcsXG4gIGZhQ2hldnJvblVwLFxuICBmYUhhbmRTcG9jayxcbiAgZmFTdG9wd2F0Y2gsXG4gIGZhRmFjZUtpc3MsXG4gIGZhS2lzcyxcbiAgZmFCcmlkZ2VDaXJjbGVYbWFyayxcbiAgZmFGYWNlR3JpblRvbmd1ZSxcbiAgZmFHcmluVG9uZ3VlLFxuICBmYUNoZXNzQmlzaG9wLFxuICBmYUZhY2VHcmluV2luayxcbiAgZmFHcmluV2luayxcbiAgZmFFYXJEZWFmLFxuICBmYURlYWYsXG4gIGZhRGVhZm5lc3MsXG4gIGZhSGFyZE9mSGVhcmluZyxcbiAgZmFSb2FkQ2lyY2xlQ2hlY2ssXG4gIGZhRGljZUZpdmUsXG4gIGZhU3F1YXJlUnNzLFxuICBmYVJzc1NxdWFyZSxcbiAgZmFMYW5kTWluZU9uLFxuICBmYUlDdXJzb3IsXG4gIGZhU3RhbXAsXG4gIGZhU3RhaXJzLFxuICBmYUksXG4gIGZhSHJ5dm5pYVNpZ24sXG4gIGZhSHJ5dm5pYSxcbiAgZmFQaWxscyxcbiAgZmFGYWNlR3JpbldpZGUsXG4gIGZhR3JpbkFsdCxcbiAgZmFUb290aCxcbiAgZmFWLFxuICBmYUJhbmdsYWRlc2hpVGFrYVNpZ24sXG4gIGZhQmljeWNsZSxcbiAgZmFTdGFmZlNuYWtlLFxuICBmYVJvZEFzY2xlcGl1cyxcbiAgZmFSb2RTbmFrZSxcbiAgZmFTdGFmZkFlc2N1bGFwaXVzLFxuICBmYUhlYWRTaWRlQ291Z2hTbGFzaCxcbiAgZmFUcnVja01lZGljYWwsXG4gIGZhQW1idWxhbmNlLFxuICBmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhU25vd21hbixcbiAgZmFNb3J0YXJQZXN0bGUsXG4gIGZhUm9hZEJhcnJpZXIsXG4gIGZhU2Nob29sLFxuICBmYUlnbG9vLFxuICBmYUpvaW50LFxuICBmYUFuZ2xlUmlnaHQsXG4gIGZhSG9yc2UsXG4gIGZhUSxcbiAgZmFHLFxuICBmYU5vdGVzTWVkaWNhbCxcbiAgZmFUZW1wZXJhdHVyZUhhbGYsXG4gIGZhVGVtcGVyYXR1cmUyLFxuICBmYVRoZXJtb21ldGVyMixcbiAgZmFUaGVybW9tZXRlckhhbGYsXG4gIGZhRG9uZ1NpZ24sXG4gIGZhQ2Fwc3VsZXMsXG4gIGZhUG9vU3Rvcm0sXG4gIGZhUG9vQm9sdCxcbiAgZmFGYWNlRnJvd25PcGVuLFxuICBmYUZyb3duT3BlbixcbiAgZmFIYW5kUG9pbnRVcCxcbiAgZmFNb25leUJpbGwsXG4gIGZhQm9va21hcmssXG4gIGZhQWxpZ25KdXN0aWZ5LFxuICBmYVVtYnJlbGxhQmVhY2gsXG4gIGZhSGVsbWV0VW4sXG4gIGZhQnVsbHNleWUsXG4gIGZhQmFjb24sXG4gIGZhSGFuZFBvaW50RG93bixcbiAgZmFBcnJvd1VwRnJvbUJyYWNrZXQsXG4gIGZhRm9sZGVyLFxuICBmYUZvbGRlckJsYW5rLFxuICBmYUZpbGVXYXZlZm9ybSxcbiAgZmFGaWxlTWVkaWNhbEFsdCxcbiAgZmFSYWRpYXRpb24sXG4gIGZhQ2hhcnRTaW1wbGUsXG4gIGZhTWFyc1N0cm9rZSxcbiAgZmFWaWFsLFxuICBmYUdhdWdlLFxuICBmYURhc2hib2FyZCxcbiAgZmFHYXVnZU1lZCxcbiAgZmFUYWNob21ldGVyQWx0QXZlcmFnZSxcbiAgZmFXYW5kTWFnaWNTcGFya2xlcyxcbiAgZmFNYWdpY1dhbmRTcGFya2xlcyxcbiAgZmFFLFxuICBmYVBlbkNsaXAsXG4gIGZhUGVuQWx0LFxuICBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYVVzZXIsXG4gIGZhU2Nob29sQ2lyY2xlQ2hlY2ssXG4gIGZhRHVtcHN0ZXIsXG4gIGZhVmFuU2h1dHRsZSxcbiAgZmFTaHV0dGxlVmFuLFxuICBmYUJ1aWxkaW5nVXNlcixcbiAgZmFTcXVhcmVDYXJldExlZnQsXG4gIGZhQ2FyZXRTcXVhcmVMZWZ0LFxuICBmYUhpZ2hsaWdodGVyLFxuICBmYUtleSxcbiAgZmFCdWxsaG9ybixcbiAgZmFHbG9iZSxcbiAgZmFTeW5hZ29ndWUsXG4gIGZhUGVyc29uSGFsZkRyZXNzLFxuICBmYVJvYWRCcmlkZ2UsXG4gIGZhTG9jYXRpb25BcnJvdyxcbiAgZmFDLFxuICBmYVRhYmxldEJ1dHRvbixcbiAgZmFCdWlsZGluZ0xvY2ssXG4gIGZhUGl6emFTbGljZSxcbiAgZmFNb25leUJpbGxXYXZlLFxuICBmYUNoYXJ0QXJlYSxcbiAgZmFBcmVhQ2hhcnQsXG4gIGZhSG91c2VGbGFnLFxuICBmYVBlcnNvbkNpcmNsZU1pbnVzLFxuICBmYUJhbixcbiAgZmFDYW5jZWwsXG4gIGZhQ2FtZXJhUm90YXRlLFxuICBmYVNwcmF5Q2FuU3BhcmtsZXMsXG4gIGZhQWlyRnJlc2hlbmVyLFxuICBmYVN0YXIsXG4gIGZhUmVwZWF0LFxuICBmYUNyb3NzLFxuICBmYUJveCxcbiAgZmFWZW51c01hcnMsXG4gIGZhQXJyb3dQb2ludGVyLFxuICBmYU1vdXNlUG9pbnRlcixcbiAgZmFNYXhpbWl6ZSxcbiAgZmFFeHBhbmRBcnJvd3NBbHQsXG4gIGZhQ2hhcmdpbmdTdGF0aW9uLFxuICBmYVNoYXBlcyxcbiAgZmFUcmlhbmdsZUNpcmNsZVNxdWFyZSxcbiAgZmFTaHVmZmxlLFxuICBmYVJhbmRvbSxcbiAgZmFQZXJzb25SdW5uaW5nLFxuICBmYVJ1bm5pbmcsXG4gIGZhTW9iaWxlUmV0cm8sXG4gIGZhR3JpcExpbmVzVmVydGljYWwsXG4gIGZhU3BpZGVyLFxuICBmYUhhbmRzQm91bmQsXG4gIGZhRmlsZUludm9pY2VEb2xsYXIsXG4gIGZhUGxhbmVDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFYUmF5LFxuICBmYVNwZWxsQ2hlY2ssXG4gIGZhU2xhc2gsXG4gIGZhQ29tcHV0ZXJNb3VzZSxcbiAgZmFNb3VzZSxcbiAgZmFBcnJvd1JpZ2h0VG9CcmFja2V0LFxuICBmYVNpZ25JbixcbiAgZmFTaG9wU2xhc2gsXG4gIGZhU3RvcmVBbHRTbGFzaCxcbiAgZmFTZXJ2ZXIsXG4gIGZhVmlydXNDb3ZpZFNsYXNoLFxuICBmYVNob3BMb2NrLFxuICBmYUhvdXJnbGFzc1N0YXJ0LFxuICBmYUhvdXJnbGFzczEsXG4gIGZhQmxlbmRlclBob25lLFxuICBmYUJ1aWxkaW5nV2hlYXQsXG4gIGZhUGVyc29uQnJlYXN0ZmVlZGluZyxcbiAgZmFSaWdodFRvQnJhY2tldCxcbiAgZmFTaWduSW5BbHQsXG4gIGZhVmVudXMsXG4gIGZhUGFzc3BvcnQsXG4gIGZhVGh1bWJ0YWNrU2xhc2gsXG4gIGZhVGh1bWJUYWNrU2xhc2gsXG4gIGZhSGVhcnRQdWxzZSxcbiAgZmFIZWFydGJlYXQsXG4gIGZhUGVvcGxlQ2FycnlCb3gsXG4gIGZhUGVvcGxlQ2FycnksXG4gIGZhVGVtcGVyYXR1cmVIaWdoLFxuICBmYU1pY3JvY2hpcCxcbiAgZmFDcm93bixcbiAgZmFXZWlnaHRIYW5naW5nLFxuICBmYVhtYXJrc0xpbmVzLFxuICBmYUZpbGVQcmVzY3JpcHRpb24sXG4gIGZhV2VpZ2h0U2NhbGUsXG4gIGZhV2VpZ2h0LFxuICBmYVVzZXJHcm91cCxcbiAgZmFVc2VyRnJpZW5kcyxcbiAgZmFBcnJvd1VwQVosXG4gIGZhU29ydEFscGhhVXAsXG4gIGZhQ2hlc3NLbmlnaHQsXG4gIGZhRmFjZUxhdWdoU3F1aW50LFxuICBmYUxhdWdoU3F1aW50LFxuICBmYVdoZWVsY2hhaXIsXG4gIGZhQ2lyY2xlQXJyb3dVcCxcbiAgZmFBcnJvd0NpcmNsZVVwLFxuICBmYVRvZ2dsZU9uLFxuICBmYVBlcnNvbldhbGtpbmcsXG4gIGZhV2Fsa2luZyxcbiAgZmFMLFxuICBmYUZpcmUsXG4gIGZhQmVkUHVsc2UsXG4gIGZhUHJvY2VkdXJlcyxcbiAgZmFTaHV0dGxlU3BhY2UsXG4gIGZhU3BhY2VTaHV0dGxlLFxuICBmYUZhY2VMYXVnaCxcbiAgZmFMYXVnaCxcbiAgZmFGb2xkZXJPcGVuLFxuICBmYUhlYXJ0Q2lyY2xlUGx1cyxcbiAgZmFDb2RlRm9yayxcbiAgZmFDaXR5LFxuICBmYU1pY3JvcGhvbmVMaW5lcyxcbiAgZmFNaWNyb3Bob25lQWx0LFxuICBmYVBlcHBlckhvdCxcbiAgZmFVbmxvY2ssXG4gIGZhQ29sb25TaWduLFxuICBmYUhlYWRzZXQsXG4gIGZhU3RvcmVTbGFzaCxcbiAgZmFSb2FkQ2lyY2xlWG1hcmssXG4gIGZhVXNlck1pbnVzLFxuICBmYU1hcnNTdHJva2VVcCxcbiAgZmFNYXJzU3Ryb2tlVixcbiAgZmFDaGFtcGFnbmVHbGFzc2VzLFxuICBmYUdsYXNzQ2hlZXJzLFxuICBmYUNsaXBib2FyZCxcbiAgZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUZpbGVBcnJvd1VwLFxuICBmYUZpbGVVcGxvYWQsXG4gIGZhV2lmaSxcbiAgZmFXaWZpMyxcbiAgZmFXaWZpU3Ryb25nLFxuICBmYUJhdGgsXG4gIGZhQmF0aHR1YixcbiAgZmFVbmRlcmxpbmUsXG4gIGZhVXNlclBlbixcbiAgZmFVc2VyRWRpdCxcbiAgZmFTaWduYXR1cmUsXG4gIGZhU3Ryb29wd2FmZWwsXG4gIGZhQm9sZCxcbiAgZmFBbmNob3JMb2NrLFxuICBmYUJ1aWxkaW5nTmdvLFxuICBmYU1hbmF0U2lnbixcbiAgZmFOb3RFcXVhbCxcbiAgZmFCb3JkZXJUb3BMZWZ0LFxuICBmYUJvcmRlclN0eWxlLFxuICBmYU1hcExvY2F0aW9uRG90LFxuICBmYU1hcE1hcmtlZEFsdCxcbiAgZmFKZWRpLFxuICBmYVNxdWFyZVBvbGxWZXJ0aWNhbCxcbiAgZmFQb2xsLFxuICBmYU11Z0hvdCxcbiAgZmFDYXJCYXR0ZXJ5LFxuICBmYUJhdHRlcnlDYXIsXG4gIGZhR2lmdCxcbiAgZmFEaWNlVHdvLFxuICBmYUNoZXNzUXVlZW4sXG4gIGZhR2xhc3NlcyxcbiAgZmFDaGVzc0JvYXJkLFxuICBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2ssXG4gIGZhUGVyc29uQ2hhbGtib2FyZCxcbiAgZmFNYXJzU3Ryb2tlUmlnaHQsXG4gIGZhTWFyc1N0cm9rZUgsXG4gIGZhSGFuZEJhY2tGaXN0LFxuICBmYUhhbmRSb2NrLFxuICBmYVNxdWFyZUNhcmV0VXAsXG4gIGZhQ2FyZXRTcXVhcmVVcCxcbiAgZmFDbG91ZFNob3dlcnNXYXRlcixcbiAgZmFDaGFydEJhcixcbiAgZmFCYXJDaGFydCxcbiAgZmFIYW5kc0J1YmJsZXMsXG4gIGZhSGFuZHNXYXNoLFxuICBmYUxlc3NUaGFuRXF1YWwsXG4gIGZhVHJhaW4sXG4gIGZhRXllTG93VmlzaW9uLFxuICBmYUxvd1Zpc2lvbixcbiAgZmFDcm93LFxuICBmYVNhaWxib2F0LFxuICBmYVdpbmRvd1Jlc3RvcmUsXG4gIGZhU3F1YXJlUGx1cyxcbiAgZmFQbHVzU3F1YXJlLFxuICBmYVRvcmlpR2F0ZSxcbiAgZmFGcm9nLFxuICBmYUJ1Y2tldCxcbiAgZmFJbWFnZSxcbiAgZmFNaWNyb3Bob25lLFxuICBmYUNvdyxcbiAgZmFDYXJldFVwLFxuICBmYVNjcmV3ZHJpdmVyLFxuICBmYUZvbGRlckNsb3NlZCxcbiAgZmFIb3VzZVRzdW5hbWksXG4gIGZhU3F1YXJlTmZpLFxuICBmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXIsXG4gIGZhTWFydGluaUdsYXNzLFxuICBmYUdsYXNzTWFydGluaUFsdCxcbiAgZmFSb3RhdGVMZWZ0LFxuICBmYVJvdGF0ZUJhY2ssXG4gIGZhUm90YXRlQmFja3dhcmQsXG4gIGZhVW5kb0FsdCxcbiAgZmFUYWJsZUNvbHVtbnMsXG4gIGZhQ29sdW1ucyxcbiAgZmFMZW1vbixcbiAgZmFIZWFkU2lkZU1hc2ssXG4gIGZhSGFuZHNoYWtlLFxuICBmYUdlbSxcbiAgZmFEb2xseSxcbiAgZmFEb2xseUJveCxcbiAgZmFTbW9raW5nLFxuICBmYU1pbmltaXplLFxuICBmYUNvbXByZXNzQXJyb3dzQWx0LFxuICBmYU1vbnVtZW50LFxuICBmYVNub3dwbG93LFxuICBmYUFuZ2xlc1JpZ2h0LFxuICBmYUFuZ2xlRG91YmxlUmlnaHQsXG4gIGZhQ2FubmFiaXMsXG4gIGZhQ2lyY2xlUGxheSxcbiAgZmFQbGF5Q2lyY2xlLFxuICBmYVRhYmxldHMsXG4gIGZhRXRoZXJuZXQsXG4gIGZhRXVyb1NpZ24sXG4gIGZhRXVyLFxuICBmYUV1cm8sXG4gIGZhQ2hhaXIsXG4gIGZhQ2lyY2xlQ2hlY2ssXG4gIGZhQ2hlY2tDaXJjbGUsXG4gIGZhQ2lyY2xlU3RvcCxcbiAgZmFTdG9wQ2lyY2xlLFxuICBmYUNvbXBhc3NEcmFmdGluZyxcbiAgZmFEcmFmdGluZ0NvbXBhc3MsXG4gIGZhUGxhdGVXaGVhdCxcbiAgZmFJY2ljbGVzLFxuICBmYVBlcnNvblNoZWx0ZXIsXG4gIGZhTmV1dGVyLFxuICBmYUlkQmFkZ2UsXG4gIGZhTWFya2VyLFxuICBmYUZhY2VMYXVnaEJlYW0sXG4gIGZhTGF1Z2hCZWFtLFxuICBmYUhlbGljb3B0ZXJTeW1ib2wsXG4gIGZhVW5pdmVyc2FsQWNjZXNzLFxuICBmYUNpcmNsZUNoZXZyb25VcCxcbiAgZmFDaGV2cm9uQ2lyY2xlVXAsXG4gIGZhTGFyaVNpZ24sXG4gIGZhVm9sY2FubyxcbiAgZmFQZXJzb25XYWxraW5nRGFzaGVkTGluZUFycm93UmlnaHQsXG4gIGZhU3RlcmxpbmdTaWduLFxuICBmYUdicCxcbiAgZmFQb3VuZFNpZ24sXG4gIGZhVmlydXNlcyxcbiAgZmFTcXVhcmVQZXJzb25Db25maW5lZCxcbiAgZmFVc2VyVGllLFxuICBmYUFycm93RG93bkxvbmcsXG4gIGZhTG9uZ0Fycm93RG93bixcbiAgZmFUZW50QXJyb3dEb3duVG9MaW5lLFxuICBmYUNlcnRpZmljYXRlLFxuICBmYVJlcGx5QWxsLFxuICBmYU1haWxSZXBseUFsbCxcbiAgZmFTdWl0Y2FzZSxcbiAgZmFQZXJzb25Ta2F0aW5nLFxuICBmYVNrYXRpbmcsXG4gIGZhRmlsdGVyQ2lyY2xlRG9sbGFyLFxuICBmYUZ1bm5lbERvbGxhcixcbiAgZmFDYW1lcmFSZXRybyxcbiAgZmFDaXJjbGVBcnJvd0Rvd24sXG4gIGZhQXJyb3dDaXJjbGVEb3duLFxuICBmYUZpbGVJbXBvcnQsXG4gIGZhQXJyb3dSaWdodFRvRmlsZSxcbiAgZmFTcXVhcmVBcnJvd1VwUmlnaHQsXG4gIGZhRXh0ZXJuYWxMaW5rU3F1YXJlLFxuICBmYUJveE9wZW4sXG4gIGZhU2Nyb2xsLFxuICBmYVNwYSxcbiAgZmFMb2NhdGlvblBpbkxvY2ssXG4gIGZhUGF1c2UsXG4gIGZhSGlsbEF2YWxhbmNoZSxcbiAgZmFUZW1wZXJhdHVyZUVtcHR5LFxuICBmYVRlbXBlcmF0dXJlMCxcbiAgZmFUaGVybW9tZXRlcjAsXG4gIGZhVGhlcm1vbWV0ZXJFbXB0eSxcbiAgZmFCb21iLFxuICBmYVJlZ2lzdGVyZWQsXG4gIGZhQWRkcmVzc0NhcmQsXG4gIGZhQ29udGFjdENhcmQsXG4gIGZhVmNhcmQsXG4gIGZhU2NhbGVVbmJhbGFuY2VkRmxpcCxcbiAgZmFCYWxhbmNlU2NhbGVSaWdodCxcbiAgZmFTdWJzY3JpcHQsXG4gIGZhRGlhbW9uZFR1cm5SaWdodCxcbiAgZmFEaXJlY3Rpb25zLFxuICBmYUJ1cnN0LFxuICBmYUhvdXNlTGFwdG9wLFxuICBmYUxhcHRvcEhvdXNlLFxuICBmYUZhY2VUaXJlZCxcbiAgZmFUaXJlZCxcbiAgZmFNb25leUJpbGxzLFxuICBmYVNtb2csXG4gIGZhQ3J1dGNoLFxuICBmYUZvbnRBd2Vzb21lLFxuICBmYUZvbnRBd2Vzb21lRmxhZyxcbiAgZmFGb250QXdlc29tZUxvZ29GdWxsLFxuICBmYUNsb3VkQXJyb3dVcCxcbiAgZmFDbG91ZFVwbG9hZCxcbiAgZmFDbG91ZFVwbG9hZEFsdCxcbiAgZmFQYWxldHRlLFxuICBmYUFycm93c1R1cm5SaWdodCxcbiAgZmFWZXN0LFxuICBmYUZlcnJ5LFxuICBmYUFycm93c0Rvd25Ub1Blb3BsZSxcbiAgZmFTZWVkbGluZyxcbiAgZmFTcHJvdXQsXG4gIGZhTGVmdFJpZ2h0LFxuICBmYUFycm93c0FsdEgsXG4gIGZhQm94ZXNQYWNraW5nLFxuICBmYUNpcmNsZUFycm93TGVmdCxcbiAgZmFBcnJvd0NpcmNsZUxlZnQsXG4gIGZhR3JvdXBBcnJvd3NSb3RhdGUsXG4gIGZhQm93bEZvb2QsXG4gIGZhQ2FuZHlDYW5lLFxuICBmYUFycm93RG93bldpZGVTaG9ydCxcbiAgZmFTb3J0QW1vdW50QXNjLFxuICBmYVNvcnRBbW91bnREb3duLFxuICBmYUNsb3VkQm9sdCxcbiAgZmFUaHVuZGVyc3Rvcm0sXG4gIGZhVGV4dFNsYXNoLFxuICBmYVJlbW92ZUZvcm1hdCxcbiAgZmFGYWNlU21pbGVXaW5rLFxuICBmYVNtaWxlV2luayxcbiAgZmFGaWxlV29yZCxcbiAgZmFGaWxlUG93ZXJwb2ludCxcbiAgZmFBcnJvd3NMZWZ0UmlnaHQsXG4gIGZhQXJyb3dzSCxcbiAgZmFIb3VzZUxvY2ssXG4gIGZhQ2xvdWRBcnJvd0Rvd24sXG4gIGZhQ2xvdWREb3dubG9hZCxcbiAgZmFDbG91ZERvd25sb2FkQWx0LFxuICBmYUNoaWxkcmVuLFxuICBmYUNoYWxrYm9hcmQsXG4gIGZhQmxhY2tib2FyZCxcbiAgZmFVc2VyTGFyZ2VTbGFzaCxcbiAgZmFVc2VyQWx0U2xhc2gsXG4gIGZhRW52ZWxvcGVPcGVuLFxuICBmYUhhbmRzaGFrZVNpbXBsZVNsYXNoLFxuICBmYUhhbmRzaGFrZUFsdFNsYXNoLFxuICBmYU1hdHRyZXNzUGlsbG93LFxuICBmYUd1YXJhbmlTaWduLFxuICBmYUFycm93c1JvdGF0ZSxcbiAgZmFSZWZyZXNoLFxuICBmYVN5bmMsXG4gIGZhRmlyZUV4dGluZ3Vpc2hlcixcbiAgZmFDcnV6ZWlyb1NpZ24sXG4gIGZhR3JlYXRlclRoYW5FcXVhbCxcbiAgZmFTaGllbGRIYWx2ZWQsXG4gIGZhU2hpZWxkQWx0LFxuICBmYUJvb2tBdGxhcyxcbiAgZmFBdGxhcyxcbiAgZmFWaXJ1cyxcbiAgZmFFbnZlbG9wZUNpcmNsZUNoZWNrLFxuICBmYUxheWVyR3JvdXAsXG4gIGZhQXJyb3dzVG9Eb3QsXG4gIGZhQXJjaHdheSxcbiAgZmFIZWFydENpcmNsZUNoZWNrLFxuICBmYUhvdXNlQ2hpbW5leUNyYWNrLFxuICBmYUhvdXNlRGFtYWdlLFxuICBmYUZpbGVaaXBwZXIsXG4gIGZhRmlsZUFyY2hpdmUsXG4gIGZhU3F1YXJlLFxuICBmYU1hcnRpbmlHbGFzc0VtcHR5LFxuICBmYUdsYXNzTWFydGluaSxcbiAgZmFDb3VjaCxcbiAgZmFDZWRpU2lnbixcbiAgZmFJdGFsaWMsXG4gIGZhVGFibGVDZWxsc0NvbHVtbkxvY2ssXG4gIGZhQ2h1cmNoLFxuICBmYUNvbW1lbnRzRG9sbGFyLFxuICBmYURlbW9jcmF0LFxuICBmYVosXG4gIGZhUGVyc29uU2tpaW5nLFxuICBmYVNraWluZyxcbiAgZmFSb2FkTG9jayxcbiAgZmFBLFxuICBmYVRlbXBlcmF0dXJlQXJyb3dEb3duLFxuICBmYVRlbXBlcmF0dXJlRG93bixcbiAgZmFGZWF0aGVyUG9pbnRlZCxcbiAgZmFGZWF0aGVyQWx0LFxuICBmYVAsXG4gIGZhU25vd2ZsYWtlLFxuICBmYU5ld3NwYXBlcixcbiAgZmFSZWN0YW5nbGVBZCxcbiAgZmFBZCxcbiAgZmFDaXJjbGVBcnJvd1JpZ2h0LFxuICBmYUFycm93Q2lyY2xlUmlnaHQsXG4gIGZhRmlsdGVyQ2lyY2xlWG1hcmssXG4gIGZhTG9jdXN0LFxuICBmYVNvcnQsXG4gIGZhVW5zb3J0ZWQsXG4gIGZhTGlzdE9sLFxuICBmYUxpc3QxMixcbiAgZmFMaXN0TnVtZXJpYyxcbiAgZmFQZXJzb25EcmVzc0J1cnN0LFxuICBmYU1vbmV5Q2hlY2tEb2xsYXIsXG4gIGZhTW9uZXlDaGVja0FsdCxcbiAgZmFWZWN0b3JTcXVhcmUsXG4gIGZhQnJlYWRTbGljZSxcbiAgZmFMYW5ndWFnZSxcbiAgZmFGYWNlS2lzc1dpbmtIZWFydCxcbiAgZmFLaXNzV2lua0hlYXJ0LFxuICBmYUZpbHRlcixcbiAgZmFRdWVzdGlvbixcbiAgZmFGaWxlU2lnbmF0dXJlLFxuICBmYVVwRG93bkxlZnRSaWdodCxcbiAgZmFBcnJvd3NBbHQsXG4gIGZhSG91c2VDaGltbmV5VXNlcixcbiAgZmFIYW5kSG9sZGluZ0hlYXJ0LFxuICBmYVB1enpsZVBpZWNlLFxuICBmYU1vbmV5Q2hlY2ssXG4gIGZhU3RhckhhbGZTdHJva2UsXG4gIGZhU3RhckhhbGZBbHQsXG4gIGZhQ29kZSxcbiAgZmFXaGlza2V5R2xhc3MsXG4gIGZhR2xhc3NXaGlza2V5LFxuICBmYUJ1aWxkaW5nQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQsXG4gIGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZSxcbiAgZmFFeHRlcm5hbExpbmssXG4gIGZhQ3ViZXNTdGFja2VkLFxuICBmYVdvblNpZ24sXG4gIGZhS3J3LFxuICBmYVdvbixcbiAgZmFWaXJ1c0NvdmlkLFxuICBmYUF1c3RyYWxTaWduLFxuICBmYUYsXG4gIGZhTGVhZixcbiAgZmFSb2FkLFxuICBmYVRheGksXG4gIGZhQ2FiLFxuICBmYVBlcnNvbkNpcmNsZVBsdXMsXG4gIGZhQ2hhcnRQaWUsXG4gIGZhUGllQ2hhcnQsXG4gIGZhQm9sdExpZ2h0bmluZyxcbiAgZmFTYWNrWG1hcmssXG4gIGZhRmlsZUV4Y2VsLFxuICBmYUZpbGVDb250cmFjdCxcbiAgZmFGaXNoRmlucyxcbiAgZmFCdWlsZGluZ0ZsYWcsXG4gIGZhRmFjZUdyaW5CZWFtLFxuICBmYUdyaW5CZWFtLFxuICBmYU9iamVjdFVuZ3JvdXAsXG4gIGZhUG9vcCxcbiAgZmFMb2NhdGlvblBpbixcbiAgZmFNYXBNYXJrZXIsXG4gIGZhS2FhYmEsXG4gIGZhVG9pbGV0UGFwZXIsXG4gIGZhSGVsbWV0U2FmZXR5LFxuICBmYUhhcmRIYXQsXG4gIGZhSGF0SGFyZCxcbiAgZmFFamVjdCxcbiAgZmFDaXJjbGVSaWdodCxcbiAgZmFBcnJvd0FsdENpcmNsZVJpZ2h0LFxuICBmYVBsYW5lQ2lyY2xlQ2hlY2ssXG4gIGZhRmFjZVJvbGxpbmdFeWVzLFxuICBmYU1laFJvbGxpbmdFeWVzLFxuICBmYU9iamVjdEdyb3VwLFxuICBmYUNoYXJ0TGluZSxcbiAgZmFMaW5lQ2hhcnQsXG4gIGZhTWFza1ZlbnRpbGF0b3IsXG4gIGZhQXJyb3dSaWdodCxcbiAgZmFTaWduc1Bvc3QsXG4gIGZhTWFwU2lnbnMsXG4gIGZhQ2FzaFJlZ2lzdGVyLFxuICBmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uLFxuICBmYUgsXG4gIGZhVGFycCxcbiAgZmFTY3Jld2RyaXZlcldyZW5jaCxcbiAgZmFUb29scyxcbiAgZmFBcnJvd3NUb0V5ZSxcbiAgZmFQbHVnQ2lyY2xlQm9sdCxcbiAgZmFIZWFydCxcbiAgZmFNYXJzQW5kVmVudXMsXG4gIGZhSG91c2VVc2VyLFxuICBmYUhvbWVVc2VyLFxuICBmYUR1bXBzdGVyRmlyZSxcbiAgZmFIb3VzZUNyYWNrLFxuICBmYU1hcnRpbmlHbGFzc0NpdHJ1cyxcbiAgZmFDb2NrdGFpbCxcbiAgZmFGYWNlU3VycHJpc2UsXG4gIGZhU3VycHJpc2UsXG4gIGZhQm90dGxlV2F0ZXIsXG4gIGZhQ2lyY2xlUGF1c2UsXG4gIGZhUGF1c2VDaXJjbGUsXG4gIGZhVG9pbGV0UGFwZXJTbGFzaCxcbiAgZmFBcHBsZVdob2xlLFxuICBmYUFwcGxlQWx0LFxuICBmYUtpdGNoZW5TZXQsXG4gIGZhUixcbiAgZmFUZW1wZXJhdHVyZVF1YXJ0ZXIsXG4gIGZhVGVtcGVyYXR1cmUxLFxuICBmYVRoZXJtb21ldGVyMSxcbiAgZmFUaGVybW9tZXRlclF1YXJ0ZXIsXG4gIGZhQ3ViZSxcbiAgZmFCaXRjb2luU2lnbixcbiAgZmFTaGllbGREb2csXG4gIGZhU29sYXJQYW5lbCxcbiAgZmFMb2NrT3BlbixcbiAgZmFFbGV2YXRvcixcbiAgZmFNb25leUJpbGxUcmFuc2ZlcixcbiAgZmFNb25leUJpbGxUcmVuZFVwLFxuICBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQsXG4gIGZhU3F1YXJlUG9sbEhvcml6b250YWwsXG4gIGZhUG9sbEgsXG4gIGZhQ2lyY2xlLFxuICBmYUJhY2t3YXJkRmFzdCxcbiAgZmFGYXN0QmFja3dhcmQsXG4gIGZhUmVjeWNsZSxcbiAgZmFVc2VyQXN0cm9uYXV0LFxuICBmYVBsYW5lU2xhc2gsXG4gIGZhVHJhZGVtYXJrLFxuICBmYUJhc2tldGJhbGwsXG4gIGZhQmFza2V0YmFsbEJhbGwsXG4gIGZhU2F0ZWxsaXRlRGlzaCxcbiAgZmFDaXJjbGVVcCxcbiAgZmFBcnJvd0FsdENpcmNsZVVwLFxuICBmYU1vYmlsZVNjcmVlbkJ1dHRvbixcbiAgZmFNb2JpbGVBbHQsXG4gIGZhVm9sdW1lSGlnaCxcbiAgZmFWb2x1bWVVcCxcbiAgZmFVc2Vyc1JheXMsXG4gIGZhV2FsbGV0LFxuICBmYUNsaXBib2FyZENoZWNrLFxuICBmYUZpbGVBdWRpbyxcbiAgZmFCdXJnZXIsXG4gIGZhSGFtYnVyZ2VyLFxuICBmYVdyZW5jaCxcbiAgZmFCdWdzLFxuICBmYVJ1cGVlU2lnbixcbiAgZmFSdXBlZSxcbiAgZmFGaWxlSW1hZ2UsXG4gIGZhQ2lyY2xlUXVlc3Rpb24sXG4gIGZhUXVlc3Rpb25DaXJjbGUsXG4gIGZhUGxhbmVEZXBhcnR1cmUsXG4gIGZhSGFuZHNoYWtlU2xhc2gsXG4gIGZhQm9va0Jvb2ttYXJrLFxuICBmYUNvZGVCcmFuY2gsXG4gIGZhSGF0Q293Ym95LFxuICBmYUJyaWRnZSxcbiAgZmFQaG9uZUZsaXAsXG4gIGZhUGhvbmVBbHQsXG4gIGZhVHJ1Y2tGcm9udCxcbiAgZmFDYXQsXG4gIGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhVHJ1Y2tGaWVsZCxcbiAgZmFSb3V0ZSxcbiAgZmFDbGlwYm9hcmRRdWVzdGlvbixcbiAgZmFQYW5vcmFtYSxcbiAgZmFDb21tZW50TWVkaWNhbCxcbiAgZmFUZWV0aE9wZW4sXG4gIGZhRmlsZUNpcmNsZU1pbnVzLFxuICBmYVRhZ3MsXG4gIGZhV2luZUdsYXNzLFxuICBmYUZvcndhcmRGYXN0LFxuICBmYUZhc3RGb3J3YXJkLFxuICBmYUZhY2VNZWhCbGFuayxcbiAgZmFNZWhCbGFuayxcbiAgZmFTcXVhcmVQYXJraW5nLFxuICBmYVBhcmtpbmcsXG4gIGZhSG91c2VTaWduYWwsXG4gIGZhQmFyc1Byb2dyZXNzLFxuICBmYVRhc2tzQWx0LFxuICBmYUZhdWNldERyaXAsXG4gIGZhQ2FydEZsYXRiZWQsXG4gIGZhRG9sbHlGbGF0YmVkLFxuICBmYUJhblNtb2tpbmcsXG4gIGZhU21va2luZ0JhbixcbiAgZmFUZXJtaW5hbCxcbiAgZmFNb2JpbGVCdXR0b24sXG4gIGZhSG91c2VNZWRpY2FsRmxhZyxcbiAgZmFCYXNrZXRTaG9wcGluZyxcbiAgZmFTaG9wcGluZ0Jhc2tldCxcbiAgZmFUYXBlLFxuICBmYUJ1c1NpbXBsZSxcbiAgZmFCdXNBbHQsXG4gIGZhRXllLFxuICBmYUZhY2VTYWRDcnksXG4gIGZhU2FkQ3J5LFxuICBmYUF1ZGlvRGVzY3JpcHRpb24sXG4gIGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbixcbiAgZmFGaWxlU2hpZWxkLFxuICBmYVVzZXJTbGFzaCxcbiAgZmFQZW4sXG4gIGZhVG93ZXJPYnNlcnZhdGlvbixcbiAgZmFGaWxlQ29kZSxcbiAgZmFTaWduYWwsXG4gIGZhU2lnbmFsNSxcbiAgZmFTaWduYWxQZXJmZWN0LFxuICBmYUJ1cyxcbiAgZmFIZWFydENpcmNsZVhtYXJrLFxuICBmYUhvdXNlQ2hpbW5leSxcbiAgZmFIb21lTGcsXG4gIGZhV2luZG93TWF4aW1pemUsXG4gIGZhRmFjZUZyb3duLFxuICBmYUZyb3duLFxuICBmYVByZXNjcmlwdGlvbixcbiAgZmFTaG9wLFxuICBmYVN0b3JlQWx0LFxuICBmYUZsb3BweURpc2ssXG4gIGZhU2F2ZSxcbiAgZmFWaWhhcmEsXG4gIGZhU2NhbGVVbmJhbGFuY2VkLFxuICBmYUJhbGFuY2VTY2FsZUxlZnQsXG4gIGZhU29ydFVwLFxuICBmYVNvcnRBc2MsXG4gIGZhQ29tbWVudERvdHMsXG4gIGZhQ29tbWVudGluZyxcbiAgZmFQbGFudFdpbHQsXG4gIGZhRGlhbW9uZCxcbiAgZmFGYWNlR3JpblNxdWludCxcbiAgZmFHcmluU3F1aW50LFxuICBmYUhhbmRIb2xkaW5nRG9sbGFyLFxuICBmYUhhbmRIb2xkaW5nVXNkLFxuICBmYUJhY3Rlcml1bSxcbiAgZmFIYW5kUG9pbnRlcixcbiAgZmFEcnVtU3RlZWxwYW4sXG4gIGZhSGFuZFNjaXNzb3JzLFxuICBmYUhhbmRzUHJheWluZyxcbiAgZmFQcmF5aW5nSGFuZHMsXG4gIGZhQXJyb3dSb3RhdGVSaWdodCxcbiAgZmFBcnJvd1JpZ2h0Um90YXRlLFxuICBmYUFycm93Um90YXRlRm9yd2FyZCxcbiAgZmFSZWRvLFxuICBmYVdlYkF3ZXNvbWUsXG4gIGZhQmlvaGF6YXJkLFxuICBmYUxvY2F0aW9uQ3Jvc3NoYWlycyxcbiAgZmFMb2NhdGlvbixcbiAgZmFNYXJzRG91YmxlLFxuICBmYUNoaWxkRHJlc3MsXG4gIGZhVXNlcnNCZXR3ZWVuTGluZXMsXG4gIGZhTHVuZ3NWaXJ1cyxcbiAgZmFGYWNlR3JpblRlYXJzLFxuICBmYUdyaW5UZWFycyxcbiAgZmFQaG9uZSxcbiAgZmFDYWxlbmRhclhtYXJrLFxuICBmYUNhbGVuZGFyVGltZXMsXG4gIGZhQ2hpbGRSZWFjaGluZyxcbiAgZmFIZWFkU2lkZVZpcnVzLFxuICBmYVVzZXJHZWFyLFxuICBmYVVzZXJDb2csXG4gIGZhQXJyb3dVcDE5LFxuICBmYVNvcnROdW1lcmljVXAsXG4gIGZhRG9vckNsb3NlZCxcbiAgZmFTaGllbGRWaXJ1cyxcbiAgZmFEaWNlU2l4LFxuICBmYU1vc3F1aXRvTmV0LFxuICBmYUJyaWRnZVdhdGVyLFxuICBmYVBlcnNvbkJvb3RoLFxuICBmYVRleHRXaWR0aCxcbiAgZmFIYXRXaXphcmQsXG4gIGZhUGVuRmFuY3ksXG4gIGZhUGVyc29uRGlnZ2luZyxcbiAgZmFEaWdnaW5nLFxuICBmYVRyYXNoLFxuICBmYUdhdWdlU2ltcGxlLFxuICBmYUdhdWdlU2ltcGxlTWVkLFxuICBmYVRhY2hvbWV0ZXJBdmVyYWdlLFxuICBmYUJvb2tNZWRpY2FsLFxuICBmYVBvbyxcbiAgZmFRdW90ZVJpZ2h0LFxuICBmYVF1b3RlUmlnaHRBbHQsXG4gIGZhU2hpcnQsXG4gIGZhVFNoaXJ0LFxuICBmYVRzaGlydCxcbiAgZmFDdWJlcyxcbiAgZmFEaXZpZGUsXG4gIGZhVGVuZ2VTaWduLFxuICBmYVRlbmdlLFxuICBmYUhlYWRwaG9uZXMsXG4gIGZhSGFuZHNIb2xkaW5nLFxuICBmYUhhbmRzQ2xhcHBpbmcsXG4gIGZhUmVwdWJsaWNhbixcbiAgZmFBcnJvd0xlZnQsXG4gIGZhUGVyc29uQ2lyY2xlWG1hcmssXG4gIGZhUnVsZXIsXG4gIGZhQWxpZ25MZWZ0LFxuICBmYURpY2VENixcbiAgZmFSZXN0cm9vbSxcbiAgZmFKLFxuICBmYVVzZXJzVmlld2ZpbmRlcixcbiAgZmFGaWxlVmlkZW8sXG4gIGZhVXBSaWdodEZyb21TcXVhcmUsXG4gIGZhRXh0ZXJuYWxMaW5rQWx0LFxuICBmYVRhYmxlQ2VsbHMsXG4gIGZhVGgsXG4gIGZhRmlsZVBkZixcbiAgZmFCb29rQmlibGUsXG4gIGZhQmlibGUsXG4gIGZhTyxcbiAgZmFTdWl0Y2FzZU1lZGljYWwsXG4gIGZhTWVka2l0LFxuICBmYVVzZXJTZWNyZXQsXG4gIGZhT3R0ZXIsXG4gIGZhUGVyc29uRHJlc3MsXG4gIGZhRmVtYWxlLFxuICBmYUNvbW1lbnREb2xsYXIsXG4gIGZhQnVzaW5lc3NUaW1lLFxuICBmYUJyaWVmY2FzZUNsb2NrLFxuICBmYVRhYmxlQ2VsbHNMYXJnZSxcbiAgZmFUaExhcmdlLFxuICBmYUJvb2tUYW5ha2gsXG4gIGZhVGFuYWtoLFxuICBmYVBob25lVm9sdW1lLFxuICBmYVZvbHVtZUNvbnRyb2xQaG9uZSxcbiAgZmFIYXRDb3dib3lTaWRlLFxuICBmYUNsaXBib2FyZFVzZXIsXG4gIGZhQ2hpbGQsXG4gIGZhTGlyYVNpZ24sXG4gIGZhU2F0ZWxsaXRlLFxuICBmYVBsYW5lTG9jayxcbiAgZmFUYWcsXG4gIGZhQ29tbWVudCxcbiAgZmFDYWtlQ2FuZGxlcyxcbiAgZmFCaXJ0aGRheUNha2UsXG4gIGZhQ2FrZSxcbiAgZmFFbnZlbG9wZSxcbiAgZmFBbmdsZXNVcCxcbiAgZmFBbmdsZURvdWJsZVVwLFxuICBmYVBhcGVyY2xpcCxcbiAgZmFBcnJvd1JpZ2h0VG9DaXR5LFxuICBmYVJpYmJvbixcbiAgZmFMdW5ncyxcbiAgZmFBcnJvd1VwOTEsXG4gIGZhU29ydE51bWVyaWNVcEFsdCxcbiAgZmFMaXRlY29pblNpZ24sXG4gIGZhQm9yZGVyTm9uZSxcbiAgZmFDaXJjbGVOb2RlcyxcbiAgZmFQYXJhY2h1dGVCb3gsXG4gIGZhSW5kZW50LFxuICBmYVRydWNrRmllbGRVbixcbiAgZmFIb3VyZ2xhc3MsXG4gIGZhSG91cmdsYXNzRW1wdHksXG4gIGZhTW91bnRhaW4sXG4gIGZhVXNlckRvY3RvcixcbiAgZmFVc2VyTWQsXG4gIGZhQ2lyY2xlSW5mbyxcbiAgZmFJbmZvQ2lyY2xlLFxuICBmYUNsb3VkTWVhdGJhbGwsXG4gIGZhQ2FtZXJhLFxuICBmYUNhbWVyYUFsdCxcbiAgZmFTcXVhcmVWaXJ1cyxcbiAgZmFNZXRlb3IsXG4gIGZhQ2FyT24sXG4gIGZhU2xlaWdoLFxuICBmYUFycm93RG93bjE5LFxuICBmYVNvcnROdW1lcmljQXNjLFxuICBmYVNvcnROdW1lcmljRG93bixcbiAgZmFIYW5kSG9sZGluZ0Ryb3BsZXQsXG4gIGZhSGFuZEhvbGRpbmdXYXRlcixcbiAgZmFXYXRlcixcbiAgZmFDYWxlbmRhckNoZWNrLFxuICBmYUJyYWlsbGUsXG4gIGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbCxcbiAgZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQsXG4gIGZhTGFuZG1hcmssXG4gIGZhVHJ1Y2ssXG4gIGZhQ3Jvc3NoYWlycyxcbiAgZmFQZXJzb25DYW5lLFxuICBmYVRlbnQsXG4gIGZhVmVzdFBhdGNoZXMsXG4gIGZhQ2hlY2tEb3VibGUsXG4gIGZhQXJyb3dEb3duQVosXG4gIGZhU29ydEFscGhhQXNjLFxuICBmYVNvcnRBbHBoYURvd24sXG4gIGZhTW9uZXlCaWxsV2hlYXQsXG4gIGZhQ29va2llLFxuICBmYUFycm93Um90YXRlTGVmdCxcbiAgZmFBcnJvd0xlZnRSb3RhdGUsXG4gIGZhQXJyb3dSb3RhdGVCYWNrLFxuICBmYUFycm93Um90YXRlQmFja3dhcmQsXG4gIGZhVW5kbyxcbiAgZmFIYXJkRHJpdmUsXG4gIGZhSGRkLFxuICBmYUZhY2VHcmluU3F1aW50VGVhcnMsXG4gIGZhR3JpblNxdWludFRlYXJzLFxuICBmYUR1bWJiZWxsLFxuICBmYVJlY3RhbmdsZUxpc3QsXG4gIGZhTGlzdEFsdCxcbiAgZmFUYXJwRHJvcGxldCxcbiAgZmFIb3VzZU1lZGljYWxDaXJjbGVDaGVjayxcbiAgZmFQZXJzb25Ta2lpbmdOb3JkaWMsXG4gIGZhU2tpaW5nTm9yZGljLFxuICBmYUNhbGVuZGFyUGx1cyxcbiAgZmFQbGFuZUFycml2YWwsXG4gIGZhQ2lyY2xlTGVmdCxcbiAgZmFBcnJvd0FsdENpcmNsZUxlZnQsXG4gIGZhVHJhaW5TdWJ3YXksXG4gIGZhU3Vid2F5LFxuICBmYUNoYXJ0R2FudHQsXG4gIGZhSW5kaWFuUnVwZWVTaWduLFxuICBmYUluZGlhblJ1cGVlLFxuICBmYUlucixcbiAgZmFDcm9wU2ltcGxlLFxuICBmYUNyb3BBbHQsXG4gIGZhTW9uZXlCaWxsMSxcbiAgZmFNb25leUJpbGxBbHQsXG4gIGZhTGVmdExvbmcsXG4gIGZhTG9uZ0Fycm93QWx0TGVmdCxcbiAgZmFEbmEsXG4gIGZhVmlydXNTbGFzaCxcbiAgZmFNaW51cyxcbiAgZmFTdWJ0cmFjdCxcbiAgZmFDaGVzcyxcbiAgZmFBcnJvd0xlZnRMb25nLFxuICBmYUxvbmdBcnJvd0xlZnQsXG4gIGZhUGx1Z0NpcmNsZUNoZWNrLFxuICBmYVN0cmVldFZpZXcsXG4gIGZhRnJhbmNTaWduLFxuICBmYVZvbHVtZU9mZixcbiAgZmFIYW5kc0FzbEludGVycHJldGluZyxcbiAgZmFBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyxcbiAgZmFBc2xJbnRlcnByZXRpbmcsXG4gIGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyxcbiAgZmFHZWFyLFxuICBmYUNvZyxcbiAgZmFEcm9wbGV0U2xhc2gsXG4gIGZhVGludFNsYXNoLFxuICBmYU1vc3F1ZSxcbiAgZmFNb3NxdWl0byxcbiAgZmFTdGFyT2ZEYXZpZCxcbiAgZmFQZXJzb25NaWxpdGFyeVJpZmxlLFxuICBmYUNhcnRTaG9wcGluZyxcbiAgZmFTaG9wcGluZ0NhcnQsXG4gIGZhVmlhbHMsXG4gIGZhUGx1Z0NpcmNsZVBsdXMsXG4gIGZhUGxhY2VPZldvcnNoaXAsXG4gIGZhR3JpcFZlcnRpY2FsLFxuICBmYUFycm93VHVyblVwLFxuICBmYUxldmVsVXAsXG4gIGZhVSxcbiAgZmFTcXVhcmVSb290VmFyaWFibGUsXG4gIGZhU3F1YXJlUm9vdEFsdCxcbiAgZmFDbG9jayxcbiAgZmFDbG9ja0ZvdXIsXG4gIGZhQmFja3dhcmRTdGVwLFxuICBmYVN0ZXBCYWNrd2FyZCxcbiAgZmFQYWxsZXQsXG4gIGZhRmF1Y2V0LFxuICBmYUJhc2ViYWxsQmF0QmFsbCxcbiAgZmFTLFxuICBmYVRpbWVsaW5lLFxuICBmYUtleWJvYXJkLFxuICBmYUNhcmV0RG93bixcbiAgZmFIb3VzZUNoaW1uZXlNZWRpY2FsLFxuICBmYUNsaW5pY01lZGljYWwsXG4gIGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzLFxuICBmYVRlbXBlcmF0dXJlMyxcbiAgZmFUaGVybW9tZXRlcjMsXG4gIGZhVGhlcm1vbWV0ZXJUaHJlZVF1YXJ0ZXJzLFxuICBmYU1vYmlsZVNjcmVlbixcbiAgZmFNb2JpbGVBbmRyb2lkQWx0LFxuICBmYVBsYW5lVXAsXG4gIGZhUGlnZ3lCYW5rLFxuICBmYUJhdHRlcnlIYWxmLFxuICBmYUJhdHRlcnkzLFxuICBmYU1vdW50YWluQ2l0eSxcbiAgZmFDb2lucyxcbiAgZmFLaGFuZGEsXG4gIGZhU2xpZGVycyxcbiAgZmFTbGlkZXJzSCxcbiAgZmFGb2xkZXJUcmVlLFxuICBmYU5ldHdvcmtXaXJlZCxcbiAgZmFNYXBQaW4sXG4gIGZhSGFtc2EsXG4gIGZhQ2VudFNpZ24sXG4gIGZhRmxhc2ssXG4gIGZhUGVyc29uUHJlZ25hbnQsXG4gIGZhV2FuZFNwYXJrbGVzLFxuICBmYUVsbGlwc2lzVmVydGljYWwsXG4gIGZhRWxsaXBzaXNWLFxuICBmYVRpY2tldCxcbiAgZmFQb3dlck9mZixcbiAgZmFSaWdodExvbmcsXG4gIGZhTG9uZ0Fycm93QWx0UmlnaHQsXG4gIGZhRmxhZ1VzYSxcbiAgZmFMYXB0b3BGaWxlLFxuICBmYVR0eSxcbiAgZmFUZWxldHlwZSxcbiAgZmFEaWFncmFtTmV4dCxcbiAgZmFQZXJzb25SaWZsZSxcbiAgZmFIb3VzZU1lZGljYWxDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFDbG9zZWRDYXB0aW9uaW5nLFxuICBmYVBlcnNvbkhpa2luZyxcbiAgZmFIaWtpbmcsXG4gIGZhVmVudXNEb3VibGUsXG4gIGZhSW1hZ2VzLFxuICBmYUNhbGN1bGF0b3IsXG4gIGZhUGVvcGxlUHVsbGluZyxcbiAgZmFOLFxuICBmYUNhYmxlQ2FyLFxuICBmYVRyYW0sXG4gIGZhQ2xvdWRSYWluLFxuICBmYUJ1aWxkaW5nQ2lyY2xlWG1hcmssXG4gIGZhU2hpcCxcbiAgZmFBcnJvd3NEb3duVG9MaW5lLFxuICBmYURvd25sb2FkLFxuICBmYUZhY2VHcmluLFxuICBmYUdyaW4sXG4gIGZhRGVsZXRlTGVmdCxcbiAgZmFCYWNrc3BhY2UsXG4gIGZhRXllRHJvcHBlcixcbiAgZmFFeWVEcm9wcGVyRW1wdHksXG4gIGZhRXllZHJvcHBlcixcbiAgZmFGaWxlQ2lyY2xlQ2hlY2ssXG4gIGZhRm9yd2FyZCxcbiAgZmFNb2JpbGUsXG4gIGZhTW9iaWxlQW5kcm9pZCxcbiAgZmFNb2JpbGVQaG9uZSxcbiAgZmFGYWNlTWVoLFxuICBmYU1laCxcbiAgZmFBbGlnbkNlbnRlcixcbiAgZmFCb29rU2t1bGwsXG4gIGZhQm9va0RlYWQsXG4gIGZhSWRDYXJkLFxuICBmYURyaXZlcnNMaWNlbnNlLFxuICBmYU91dGRlbnQsXG4gIGZhRGVkZW50LFxuICBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhSG91c2UsXG4gIGZhSG9tZSxcbiAgZmFIb21lQWx0LFxuICBmYUhvbWVMZ0FsdCxcbiAgZmFDYWxlbmRhcldlZWssXG4gIGZhTGFwdG9wTWVkaWNhbCxcbiAgZmFCLFxuICBmYUZpbGVNZWRpY2FsLFxuICBmYURpY2VPbmUsXG4gIGZhS2l3aUJpcmQsXG4gIGZhQXJyb3dSaWdodEFycm93TGVmdCxcbiAgZmFFeGNoYW5nZSxcbiAgZmFSb3RhdGVSaWdodCxcbiAgZmFSZWRvQWx0LFxuICBmYVJvdGF0ZUZvcndhcmQsXG4gIGZhVXRlbnNpbHMsXG4gIGZhQ3V0bGVyeSxcbiAgZmFBcnJvd1VwV2lkZVNob3J0LFxuICBmYVNvcnRBbW91bnRVcCxcbiAgZmFNaWxsU2lnbixcbiAgZmFCb3dsUmljZSxcbiAgZmFTa3VsbCxcbiAgZmFUb3dlckJyb2FkY2FzdCxcbiAgZmFCcm9hZGNhc3RUb3dlcixcbiAgZmFUcnVja1BpY2t1cCxcbiAgZmFVcExvbmcsXG4gIGZhTG9uZ0Fycm93QWx0VXAsXG4gIGZhU3RvcCxcbiAgZmFDb2RlTWVyZ2UsXG4gIGZhVXBsb2FkLFxuICBmYUh1cnJpY2FuZSxcbiAgZmFNb3VuZCxcbiAgZmFUb2lsZXRQb3J0YWJsZSxcbiAgZmFDb21wYWN0RGlzYyxcbiAgZmFGaWxlQXJyb3dEb3duLFxuICBmYUZpbGVEb3dubG9hZCxcbiAgZmFDYXJhdmFuLFxuICBmYVNoaWVsZENhdCxcbiAgZmFCb2x0LFxuICBmYVphcCxcbiAgZmFHbGFzc1dhdGVyLFxuICBmYU9pbFdlbGwsXG4gIGZhVmF1bHQsXG4gIGZhTWFycyxcbiAgZmFUb2lsZXQsXG4gIGZhUGxhbmVDaXJjbGVYbWFyayxcbiAgZmFZZW5TaWduLFxuICBmYUNueSxcbiAgZmFKcHksXG4gIGZhUm1iLFxuICBmYVllbixcbiAgZmFSdWJsZVNpZ24sXG4gIGZhUm91YmxlLFxuICBmYVJ1YixcbiAgZmFSdWJsZSxcbiAgZmFTdW4sXG4gIGZhR3VpdGFyLFxuICBmYUZhY2VMYXVnaFdpbmssXG4gIGZhTGF1Z2hXaW5rLFxuICBmYUhvcnNlSGVhZCxcbiAgZmFCb3JlSG9sZSxcbiAgZmFJbmR1c3RyeSxcbiAgZmFDaXJjbGVEb3duLFxuICBmYUFycm93QWx0Q2lyY2xlRG93bixcbiAgZmFBcnJvd3NUdXJuVG9Eb3RzLFxuICBmYUZsb3JpblNpZ24sXG4gIGZhQXJyb3dEb3duU2hvcnRXaWRlLFxuICBmYVNvcnRBbW91bnREZXNjLFxuICBmYVNvcnRBbW91bnREb3duQWx0LFxuICBmYUxlc3NUaGFuLFxuICBmYUFuZ2xlRG93bixcbiAgZmFDYXJUdW5uZWwsXG4gIGZhSGVhZFNpZGVDb3VnaCxcbiAgZmFHcmlwTGluZXMsXG4gIGZhVGh1bWJzRG93bixcbiAgZmFVc2VyTG9jayxcbiAgZmFBcnJvd1JpZ2h0TG9uZyxcbiAgZmFMb25nQXJyb3dSaWdodCxcbiAgZmFBbmNob3JDaXJjbGVYbWFyayxcbiAgZmFFbGxpcHNpcyxcbiAgZmFFbGxpcHNpc0gsXG4gIGZhQ2hlc3NQYXduLFxuICBmYUtpdE1lZGljYWwsXG4gIGZhRmlyc3RBaWQsXG4gIGZhUGVyc29uVGhyb3VnaFdpbmRvdyxcbiAgZmFUb29sYm94LFxuICBmYUhhbmRzSG9sZGluZ0NpcmNsZSxcbiAgZmFCdWcsXG4gIGZhQ3JlZGl0Q2FyZCxcbiAgZmFDcmVkaXRDYXJkQWx0LFxuICBmYUNhcixcbiAgZmFBdXRvbW9iaWxlLFxuICBmYUhhbmRIb2xkaW5nSGFuZCxcbiAgZmFCb29rT3BlblJlYWRlcixcbiAgZmFCb29rUmVhZGVyLFxuICBmYU1vdW50YWluU3VuLFxuICBmYUFycm93c0xlZnRSaWdodFRvTGluZSxcbiAgZmFEaWNlRDIwLFxuICBmYVRydWNrRHJvcGxldCxcbiAgZmFGaWxlQ2lyY2xlWG1hcmssXG4gIGZhVGVtcGVyYXR1cmVBcnJvd1VwLFxuICBmYVRlbXBlcmF0dXJlVXAsXG4gIGZhTWVkYWwsXG4gIGZhQmVkLFxuICBmYVNxdWFyZUgsXG4gIGZhSFNxdWFyZSxcbiAgZmFQb2RjYXN0LFxuICBmYVRlbXBlcmF0dXJlRnVsbCxcbiAgZmFUZW1wZXJhdHVyZTQsXG4gIGZhVGhlcm1vbWV0ZXI0LFxuICBmYVRoZXJtb21ldGVyRnVsbCxcbiAgZmFCZWxsLFxuICBmYVN1cGVyc2NyaXB0LFxuICBmYVBsdWdDaXJjbGVYbWFyayxcbiAgZmFTdGFyT2ZMaWZlLFxuICBmYVBob25lU2xhc2gsXG4gIGZhUGFpbnRSb2xsZXIsXG4gIGZhSGFuZHNoYWtlQW5nbGUsXG4gIGZhSGFuZHNIZWxwaW5nLFxuICBmYUxvY2F0aW9uRG90LFxuICBmYU1hcE1hcmtlckFsdCxcbiAgZmFGaWxlLFxuICBmYUdyZWF0ZXJUaGFuLFxuICBmYVBlcnNvblN3aW1taW5nLFxuICBmYVN3aW1tZXIsXG4gIGZhQXJyb3dEb3duLFxuICBmYURyb3BsZXQsXG4gIGZhVGludCxcbiAgZmFFcmFzZXIsXG4gIGZhRWFydGhBbWVyaWNhcyxcbiAgZmFFYXJ0aCxcbiAgZmFFYXJ0aEFtZXJpY2EsXG4gIGZhR2xvYmVBbWVyaWNhcyxcbiAgZmFQZXJzb25CdXJzdCxcbiAgZmFEb3ZlLFxuICBmYUJhdHRlcnlFbXB0eSxcbiAgZmFCYXR0ZXJ5MCxcbiAgZmFTb2NrcyxcbiAgZmFJbmJveCxcbiAgZmFTZWN0aW9uLFxuICBmYUdhdWdlSGlnaCxcbiAgZmFUYWNob21ldGVyQWx0LFxuICBmYVRhY2hvbWV0ZXJBbHRGYXN0LFxuICBmYUVudmVsb3BlT3BlblRleHQsXG4gIGZhSG9zcGl0YWwsXG4gIGZhSG9zcGl0YWxBbHQsXG4gIGZhSG9zcGl0YWxXaWRlLFxuICBmYVdpbmVCb3R0bGUsXG4gIGZhQ2hlc3NSb29rLFxuICBmYUJhcnNTdGFnZ2VyZWQsXG4gIGZhUmVvcmRlcixcbiAgZmFTdHJlYW0sXG4gIGZhRGhhcm1hY2hha3JhLFxuICBmYUhvdGRvZyxcbiAgZmFQZXJzb25XYWxraW5nV2l0aENhbmUsXG4gIGZhQmxpbmQsXG4gIGZhRHJ1bSxcbiAgZmFJY2VDcmVhbSxcbiAgZmFIZWFydENpcmNsZUJvbHQsXG4gIGZhRmF4LFxuICBmYVBhcmFncmFwaCxcbiAgZmFDaGVja1RvU2xvdCxcbiAgZmFWb3RlWWVhLFxuICBmYVN0YXJIYWxmLFxuICBmYUJveGVzU3RhY2tlZCxcbiAgZmFCb3hlcyxcbiAgZmFCb3hlc0FsdCxcbiAgZmFMaW5rLFxuICBmYUNoYWluLFxuICBmYUVhckxpc3RlbixcbiAgZmFBc3Npc3RpdmVMaXN0ZW5pbmdTeXN0ZW1zLFxuICBmYVRyZWVDaXR5LFxuICBmYVBsYXksXG4gIGZhRm9udCxcbiAgZmFUYWJsZUNlbGxzUm93TG9jayxcbiAgZmFSdXBpYWhTaWduLFxuICBmYU1hZ25pZnlpbmdHbGFzcyxcbiAgZmFTZWFyY2gsXG4gIGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsLFxuICBmYVBpbmdQb25nUGFkZGxlQmFsbCxcbiAgZmFUYWJsZVRlbm5pcyxcbiAgZmFQZXJzb25Eb3RzRnJvbUxpbmUsXG4gIGZhRGlhZ25vc2VzLFxuICBmYVRyYXNoQ2FuQXJyb3dVcCxcbiAgZmFUcmFzaFJlc3RvcmVBbHQsXG4gIGZhTmFpcmFTaWduLFxuICBmYUNhcnRBcnJvd0Rvd24sXG4gIGZhV2Fsa2llVGFsa2llLFxuICBmYUZpbGVQZW4sXG4gIGZhRmlsZUVkaXQsXG4gIGZhUmVjZWlwdCxcbiAgZmFTcXVhcmVQZW4sXG4gIGZhUGVuU3F1YXJlLFxuICBmYVBlbmNpbFNxdWFyZSxcbiAgZmFTdWl0Y2FzZVJvbGxpbmcsXG4gIGZhUGVyc29uQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhQ2hldnJvbkRvd24sXG4gIGZhQmF0dGVyeUZ1bGwsXG4gIGZhQmF0dGVyeSxcbiAgZmFCYXR0ZXJ5NSxcbiAgZmFTa3VsbENyb3NzYm9uZXMsXG4gIGZhQ29kZUNvbXBhcmUsXG4gIGZhTGlzdFVsLFxuICBmYUxpc3REb3RzLFxuICBmYVNjaG9vbExvY2ssXG4gIGZhVG93ZXJDZWxsLFxuICBmYURvd25Mb25nLFxuICBmYUxvbmdBcnJvd0FsdERvd24sXG4gIGZhUmFua2luZ1N0YXIsXG4gIGZhQ2hlc3NLaW5nLFxuICBmYVBlcnNvbkhhcmFzc2luZyxcbiAgZmFCcmF6aWxpYW5SZWFsU2lnbixcbiAgZmFMYW5kbWFya0RvbWUsXG4gIGZhTGFuZG1hcmtBbHQsXG4gIGZhQXJyb3dVcCxcbiAgZmFUdixcbiAgZmFUZWxldmlzaW9uLFxuICBmYVR2QWx0LFxuICBmYVNocmltcCxcbiAgZmFMaXN0Q2hlY2ssXG4gIGZhVGFza3MsXG4gIGZhSnVnRGV0ZXJnZW50LFxuICBmYUNpcmNsZVVzZXIsXG4gIGZhVXNlckNpcmNsZSxcbiAgZmFVc2VyU2hpZWxkLFxuICBmYVdpbmQsXG4gIGZhQ2FyQnVyc3QsXG4gIGZhQ2FyQ3Jhc2gsXG4gIGZhWSxcbiAgZmFQZXJzb25Tbm93Ym9hcmRpbmcsXG4gIGZhU25vd2JvYXJkaW5nLFxuICBmYVRydWNrRmFzdCxcbiAgZmFTaGlwcGluZ0Zhc3QsXG4gIGZhRmlzaCxcbiAgZmFVc2VyR3JhZHVhdGUsXG4gIGZhQ2lyY2xlSGFsZlN0cm9rZSxcbiAgZmFBZGp1c3QsXG4gIGZhQ2xhcHBlcmJvYXJkLFxuICBmYUNpcmNsZVJhZGlhdGlvbixcbiAgZmFSYWRpYXRpb25BbHQsXG4gIGZhQmFzZWJhbGwsXG4gIGZhQmFzZWJhbGxCYWxsLFxuICBmYUpldEZpZ2h0ZXJVcCxcbiAgZmFEaWFncmFtUHJvamVjdCxcbiAgZmFQcm9qZWN0RGlhZ3JhbSxcbiAgZmFDb3B5LFxuICBmYVZvbHVtZVhtYXJrLFxuICBmYVZvbHVtZU11dGUsXG4gIGZhVm9sdW1lVGltZXMsXG4gIGZhSGFuZFNwYXJrbGVzLFxuICBmYUdyaXAsXG4gIGZhR3JpcEhvcml6b250YWwsXG4gIGZhU2hhcmVGcm9tU3F1YXJlLFxuICBmYVNoYXJlU3F1YXJlLFxuICBmYUNoaWxkQ29tYmF0YW50LFxuICBmYUNoaWxkUmlmbGUsXG4gIGZhR3VuLFxuICBmYVNxdWFyZVBob25lLFxuICBmYVBob25lU3F1YXJlLFxuICBmYVBsdXMsXG4gIGZhQWRkLFxuICBmYUV4cGFuZCxcbiAgZmFDb21wdXRlcixcbiAgZmFYbWFyayxcbiAgZmFDbG9zZSxcbiAgZmFNdWx0aXBseSxcbiAgZmFSZW1vdmUsXG4gIGZhVGltZXMsXG4gIGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0LFxuICBmYUFycm93cyxcbiAgZmFDaGFsa2JvYXJkVXNlcixcbiAgZmFDaGFsa2JvYXJkVGVhY2hlcixcbiAgZmFQZXNvU2lnbixcbiAgZmFCdWlsZGluZ1NoaWVsZCxcbiAgZmFCYWJ5LFxuICBmYVVzZXJzTGluZSxcbiAgZmFRdW90ZUxlZnQsXG4gIGZhUXVvdGVMZWZ0QWx0LFxuICBmYVRyYWN0b3IsXG4gIGZhVHJhc2hBcnJvd1VwLFxuICBmYVRyYXNoUmVzdG9yZSxcbiAgZmFBcnJvd0Rvd25VcExvY2ssXG4gIGZhTGluZXNMZWFuaW5nLFxuICBmYVJ1bGVyQ29tYmluZWQsXG4gIGZhQ29weXJpZ2h0LFxuICBmYUVxdWFscyxcbiAgZmFCbGVuZGVyLFxuICBmYVRlZXRoLFxuICBmYVNoZWtlbFNpZ24sXG4gIGZhSWxzLFxuICBmYVNoZWtlbCxcbiAgZmFTaGVxZWwsXG4gIGZhU2hlcWVsU2lnbixcbiAgZmFNYXAsXG4gIGZhUm9ja2V0LFxuICBmYVBob3RvRmlsbSxcbiAgZmFQaG90b1ZpZGVvLFxuICBmYUZvbGRlck1pbnVzLFxuICBmYVN0b3JlLFxuICBmYUFycm93VHJlbmRVcCxcbiAgZmFQbHVnQ2lyY2xlTWludXMsXG4gIGZhU2lnbkhhbmdpbmcsXG4gIGZhU2lnbixcbiAgZmFCZXppZXJDdXJ2ZSxcbiAgZmFCZWxsU2xhc2gsXG4gIGZhVGFibGV0LFxuICBmYVRhYmxldEFuZHJvaWQsXG4gIGZhU2Nob29sRmxhZyxcbiAgZmFGaWxsLFxuICBmYUFuZ2xlVXAsXG4gIGZhRHJ1bXN0aWNrQml0ZSxcbiAgZmFIb2xseUJlcnJ5LFxuICBmYUNoZXZyb25MZWZ0LFxuICBmYUJhY3RlcmlhLFxuICBmYUhhbmRMaXphcmQsXG4gIGZhTm90ZGVmLFxuICBmYURpc2Vhc2UsXG4gIGZhQnJpZWZjYXNlTWVkaWNhbCxcbiAgZmFHZW5kZXJsZXNzLFxuICBmYUNoZXZyb25SaWdodCxcbiAgZmFSZXR3ZWV0LFxuICBmYUNhclJlYXIsXG4gIGZhQ2FyQWx0LFxuICBmYVB1bXBTb2FwLFxuICBmYVZpZGVvU2xhc2gsXG4gIGZhQmF0dGVyeVF1YXJ0ZXIsXG4gIGZhQmF0dGVyeTIsXG4gIGZhUmFkaW8sXG4gIGZhQmFieUNhcnJpYWdlLFxuICBmYUNhcnJpYWdlQmFieSxcbiAgZmFUcmFmZmljTGlnaHQsXG4gIGZhVGhlcm1vbWV0ZXIsXG4gIGZhVnJDYXJkYm9hcmQsXG4gIGZhSGFuZE1pZGRsZUZpbmdlcixcbiAgZmFQZXJjZW50LFxuICBmYVBlcmNlbnRhZ2UsXG4gIGZhVHJ1Y2tNb3ZpbmcsXG4gIGZhR2xhc3NXYXRlckRyb3BsZXQsXG4gIGZhRGlzcGxheSxcbiAgZmFGYWNlU21pbGUsXG4gIGZhU21pbGUsXG4gIGZhVGh1bWJ0YWNrLFxuICBmYVRodW1iVGFjayxcbiAgZmFUcm9waHksXG4gIGZhUGVyc29uUHJheWluZyxcbiAgZmFQcmF5LFxuICBmYUhhbW1lcixcbiAgZmFIYW5kUGVhY2UsXG4gIGZhUm90YXRlLFxuICBmYVN5bmNBbHQsXG4gIGZhU3Bpbm5lcixcbiAgZmFSb2JvdCxcbiAgZmFQZWFjZSxcbiAgZmFHZWFycyxcbiAgZmFDb2dzLFxuICBmYVdhcmVob3VzZSxcbiAgZmFBcnJvd1VwUmlnaHREb3RzLFxuICBmYVNwbG90Y2gsXG4gIGZhRmFjZUdyaW5IZWFydHMsXG4gIGZhR3JpbkhlYXJ0cyxcbiAgZmFEaWNlRm91cixcbiAgZmFTaW1DYXJkLFxuICBmYVRyYW5zZ2VuZGVyLFxuICBmYVRyYW5zZ2VuZGVyQWx0LFxuICBmYU1lcmN1cnksXG4gIGZhQXJyb3dUdXJuRG93bixcbiAgZmFMZXZlbERvd24sXG4gIGZhUGVyc29uRmFsbGluZ0J1cnN0LFxuICBmYUF3YXJkLFxuICBmYVRpY2tldFNpbXBsZSxcbiAgZmFUaWNrZXRBbHQsXG4gIGZhQnVpbGRpbmcsXG4gIGZhQW5nbGVzTGVmdCxcbiAgZmFBbmdsZURvdWJsZUxlZnQsXG4gIGZhUXJjb2RlLFxuICBmYUNsb2NrUm90YXRlTGVmdCxcbiAgZmFIaXN0b3J5LFxuICBmYUZhY2VHcmluQmVhbVN3ZWF0LFxuICBmYUdyaW5CZWFtU3dlYXQsXG4gIGZhRmlsZUV4cG9ydCxcbiAgZmFBcnJvd1JpZ2h0RnJvbUZpbGUsXG4gIGZhU2hpZWxkLFxuICBmYVNoaWVsZEJsYW5rLFxuICBmYUFycm93VXBTaG9ydFdpZGUsXG4gIGZhU29ydEFtb3VudFVwQWx0LFxuICBmYUhvdXNlTWVkaWNhbCxcbiAgZmFHb2xmQmFsbFRlZSxcbiAgZmFHb2xmQmFsbCxcbiAgZmFDaXJjbGVDaGV2cm9uTGVmdCxcbiAgZmFDaGV2cm9uQ2lyY2xlTGVmdCxcbiAgZmFIb3VzZUNoaW1uZXlXaW5kb3csXG4gIGZhUGVuTmliLFxuICBmYVRlbnRBcnJvd1R1cm5MZWZ0LFxuICBmYVRlbnRzLFxuICBmYVdhbmRNYWdpYyxcbiAgZmFNYWdpYyxcbiAgZmFEb2csXG4gIGZhQ2Fycm90LFxuICBmYU1vb24sXG4gIGZhV2luZUdsYXNzRW1wdHksXG4gIGZhV2luZUdsYXNzQWx0LFxuICBmYUNoZWVzZSxcbiAgZmFZaW5ZYW5nLFxuICBmYU11c2ljLFxuICBmYUNvZGVDb21taXQsXG4gIGZhVGVtcGVyYXR1cmVMb3csXG4gIGZhUGVyc29uQmlraW5nLFxuICBmYUJpa2luZyxcbiAgZmFCcm9vbSxcbiAgZmFTaGllbGRIZWFydCxcbiAgZmFHb3B1cmFtLFxuICBmYUVhcnRoT2NlYW5pYSxcbiAgZmFHbG9iZU9jZWFuaWEsXG4gIGZhU3F1YXJlWG1hcmssXG4gIGZhVGltZXNTcXVhcmUsXG4gIGZhWG1hcmtTcXVhcmUsXG4gIGZhSGFzaHRhZyxcbiAgZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyLFxuICBmYUV4cGFuZEFsdCxcbiAgZmFPaWxDYW4sXG4gIGZhVCxcbiAgZmFIaXBwbyxcbiAgZmFDaGFydENvbHVtbixcbiAgZmFJbmZpbml0eSxcbiAgZmFWaWFsQ2lyY2xlQ2hlY2ssXG4gIGZhUGVyc29uQXJyb3dEb3duVG9MaW5lLFxuICBmYVZvaWNlbWFpbCxcbiAgZmFGYW4sXG4gIGZhUGVyc29uV2Fsa2luZ0x1Z2dhZ2UsXG4gIGZhVXBEb3duLFxuICBmYUFycm93c0FsdFYsXG4gIGZhQ2xvdWRNb29uUmFpbixcbiAgZmFDYWxlbmRhcixcbiAgZmFUcmFpbGVyLFxuICBmYUJhaGFpLFxuICBmYUhheWthbCxcbiAgZmFTZENhcmQsXG4gIGZhRHJhZ29uLFxuICBmYVNob2VQcmludHMsXG4gIGZhQ2lyY2xlUGx1cyxcbiAgZmFQbHVzQ2lyY2xlLFxuICBmYUZhY2VHcmluVG9uZ3VlV2luayxcbiAgZmFHcmluVG9uZ3VlV2luayxcbiAgZmFIYW5kSG9sZGluZyxcbiAgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhTGlua1NsYXNoLFxuICBmYUNoYWluQnJva2VuLFxuICBmYUNoYWluU2xhc2gsXG4gIGZhVW5saW5rLFxuICBmYUNsb25lLFxuICBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0LFxuICBmYUFycm93VXBaQSxcbiAgZmFTb3J0QWxwaGFVcEFsdCxcbiAgZmFGaXJlRmxhbWVDdXJ2ZWQsXG4gIGZhRmlyZUFsdCxcbiAgZmFUb3JuYWRvLFxuICBmYUZpbGVDaXJjbGVQbHVzLFxuICBmYUJvb2tRdXJhbixcbiAgZmFRdXJhbixcbiAgZmFBbmNob3IsXG4gIGZhQm9yZGVyQWxsLFxuICBmYUZhY2VBbmdyeSxcbiAgZmFBbmdyeSxcbiAgZmFDb29raWVCaXRlLFxuICBmYUFycm93VHJlbmREb3duLFxuICBmYVJzcyxcbiAgZmFGZWVkLFxuICBmYURyYXdQb2x5Z29uLFxuICBmYVNjYWxlQmFsYW5jZWQsXG4gIGZhQmFsYW5jZVNjYWxlLFxuICBmYUdhdWdlU2ltcGxlSGlnaCxcbiAgZmFUYWNob21ldGVyLFxuICBmYVRhY2hvbWV0ZXJGYXN0LFxuICBmYVNob3dlcixcbiAgZmFEZXNrdG9wLFxuICBmYURlc2t0b3BBbHQsXG4gIGZhTSxcbiAgZmFUYWJsZUxpc3QsXG4gIGZhVGhMaXN0LFxuICBmYUNvbW1lbnRTbXMsXG4gIGZhU21zLFxuICBmYUJvb2ssXG4gIGZhVXNlclBsdXMsXG4gIGZhQ2hlY2ssXG4gIGZhQmF0dGVyeVRocmVlUXVhcnRlcnMsXG4gIGZhQmF0dGVyeTQsXG4gIGZhSG91c2VDaXJjbGVDaGVjayxcbiAgZmFBbmdsZUxlZnQsXG4gIGZhRGlhZ3JhbVN1Y2Nlc3NvcixcbiAgZmFUcnVja0Fycm93UmlnaHQsXG4gIGZhQXJyb3dzU3BsaXRVcEFuZExlZnQsXG4gIGZhSGFuZEZpc3QsXG4gIGZhRmlzdFJhaXNlZCxcbiAgZmFDbG91ZE1vb24sXG4gIGZhQnJpZWZjYXNlLFxuICBmYVBlcnNvbkZhbGxpbmcsXG4gIGZhSW1hZ2VQb3J0cmFpdCxcbiAgZmFQb3J0cmFpdCxcbiAgZmFVc2VyVGFnLFxuICBmYVJ1ZyxcbiAgZmFFYXJ0aEV1cm9wZSxcbiAgZmFHbG9iZUV1cm9wZSxcbiAgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlLFxuICBmYUx1Z2dhZ2VDYXJ0LFxuICBmYVJlY3RhbmdsZVhtYXJrLFxuICBmYVJlY3RhbmdsZVRpbWVzLFxuICBmYVRpbWVzUmVjdGFuZ2xlLFxuICBmYVdpbmRvd0Nsb3NlLFxuICBmYUJhaHRTaWduLFxuICBmYUJvb2tPcGVuLFxuICBmYUJvb2tKb3VybmFsV2hpbGxzLFxuICBmYUpvdXJuYWxXaGlsbHMsXG4gIGZhSGFuZGN1ZmZzLFxuICBmYVRyaWFuZ2xlRXhjbGFtYXRpb24sXG4gIGZhRXhjbGFtYXRpb25UcmlhbmdsZSxcbiAgZmFXYXJuaW5nLFxuICBmYURhdGFiYXNlLFxuICBmYVNoYXJlLFxuICBmYU1haWxGb3J3YXJkLFxuICBmYUJvdHRsZURyb3BsZXQsXG4gIGZhTWFza0ZhY2UsXG4gIGZhSGlsbFJvY2tzbGlkZSxcbiAgZmFSaWdodExlZnQsXG4gIGZhRXhjaGFuZ2VBbHQsXG4gIGZhUGFwZXJQbGFuZSxcbiAgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhRHVuZ2VvbixcbiAgZmFBbGlnblJpZ2h0LFxuICBmYU1vbmV5QmlsbDFXYXZlLFxuICBmYU1vbmV5QmlsbFdhdmVBbHQsXG4gIGZhTGlmZVJpbmcsXG4gIGZhSGFuZHMsXG4gIGZhU2lnbkxhbmd1YWdlLFxuICBmYVNpZ25pbmcsXG4gIGZhQ2FsZW5kYXJEYXksXG4gIGZhV2F0ZXJMYWRkZXIsXG4gIGZhTGFkZGVyV2F0ZXIsXG4gIGZhU3dpbW1pbmdQb29sLFxuICBmYUFycm93c1VwRG93bixcbiAgZmFBcnJvd3NWLFxuICBmYUZhY2VHcmltYWNlLFxuICBmYUdyaW1hY2UsXG4gIGZhV2hlZWxjaGFpck1vdmUsXG4gIGZhV2hlZWxjaGFpckFsdCxcbiAgZmFUdXJuRG93bixcbiAgZmFMZXZlbERvd25BbHQsXG4gIGZhUGVyc29uV2Fsa2luZ0Fycm93UmlnaHQsXG4gIGZhU3F1YXJlRW52ZWxvcGUsXG4gIGZhRW52ZWxvcGVTcXVhcmUsXG4gIGZhRGljZSxcbiAgZmFCb3dsaW5nQmFsbCxcbiAgZmFCcmFpbixcbiAgZmFCYW5kYWdlLFxuICBmYUJhbmRBaWQsXG4gIGZhQ2FsZW5kYXJNaW51cyxcbiAgZmFDaXJjbGVYbWFyayxcbiAgZmFUaW1lc0NpcmNsZSxcbiAgZmFYbWFya0NpcmNsZSxcbiAgZmFHaWZ0cyxcbiAgZmFIb3RlbCxcbiAgZmFFYXJ0aEFzaWEsXG4gIGZhR2xvYmVBc2lhLFxuICBmYUlkQ2FyZENsaXAsXG4gIGZhSWRDYXJkQWx0LFxuICBmYU1hZ25pZnlpbmdHbGFzc1BsdXMsXG4gIGZhU2VhcmNoUGx1cyxcbiAgZmFUaHVtYnNVcCxcbiAgZmFVc2VyQ2xvY2ssXG4gIGZhSGFuZERvdHMsXG4gIGZhQWxsZXJnaWVzLFxuICBmYUZpbGVJbnZvaWNlLFxuICBmYVdpbmRvd01pbmltaXplLFxuICBmYU11Z1NhdWNlcixcbiAgZmFDb2ZmZWUsXG4gIGZhQnJ1c2gsXG4gIGZhTWFzayxcbiAgZmFNYWduaWZ5aW5nR2xhc3NNaW51cyxcbiAgZmFTZWFyY2hNaW51cyxcbiAgZmFSdWxlclZlcnRpY2FsLFxuICBmYVVzZXJMYXJnZSxcbiAgZmFVc2VyQWx0LFxuICBmYVRyYWluVHJhbSxcbiAgZmFVc2VyTnVyc2UsXG4gIGZhU3lyaW5nZSxcbiAgZmFDbG91ZFN1bixcbiAgZmFTdG9wd2F0Y2gyMCxcbiAgZmFTcXVhcmVGdWxsLFxuICBmYU1hZ25ldCxcbiAgZmFKYXIsXG4gIGZhTm90ZVN0aWNreSxcbiAgZmFTdGlja3lOb3RlLFxuICBmYUJ1Z1NsYXNoLFxuICBmYUFycm93VXBGcm9tV2F0ZXJQdW1wLFxuICBmYUJvbmUsXG4gIGZhVGFibGVDZWxsc1Jvd1VubG9jayxcbiAgZmFVc2VySW5qdXJlZCxcbiAgZmFGYWNlU2FkVGVhcixcbiAgZmFTYWRUZWFyLFxuICBmYVBsYW5lLFxuICBmYVRlbnRBcnJvd3NEb3duLFxuICBmYUV4Y2xhbWF0aW9uLFxuICBmYUFycm93c1NwaW4sXG4gIGZhUHJpbnQsXG4gIGZhVHVya2lzaExpcmFTaWduLFxuICBmYVRyeSxcbiAgZmFUdXJraXNoTGlyYSxcbiAgZmFEb2xsYXJTaWduLFxuICBmYURvbGxhcixcbiAgZmFVc2QsXG4gIGZhWCxcbiAgZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXIsXG4gIGZhU2VhcmNoRG9sbGFyLFxuICBmYVVzZXJzR2VhcixcbiAgZmFVc2Vyc0NvZyxcbiAgZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nLFxuICBmYUJ1aWxkaW5nQ29sdW1ucyxcbiAgZmFCYW5rLFxuICBmYUluc3RpdHV0aW9uLFxuICBmYU11c2V1bSxcbiAgZmFVbml2ZXJzaXR5LFxuICBmYVVtYnJlbGxhLFxuICBmYVRyb3dlbCxcbiAgZmFELFxuICBmYVN0YXBsZXIsXG4gIGZhTWFza3NUaGVhdGVyLFxuICBmYVRoZWF0ZXJNYXNrcyxcbiAgZmFLaXBTaWduLFxuICBmYUhhbmRQb2ludExlZnQsXG4gIGZhSGFuZHNoYWtlU2ltcGxlLFxuICBmYUhhbmRzaGFrZUFsdCxcbiAgZmFKZXRGaWdodGVyLFxuICBmYUZpZ2h0ZXJKZXQsXG4gIGZhU3F1YXJlU2hhcmVOb2RlcyxcbiAgZmFTaGFyZUFsdFNxdWFyZSxcbiAgZmFCYXJjb2RlLFxuICBmYVBsdXNNaW51cyxcbiAgZmFWaWRlbyxcbiAgZmFWaWRlb0NhbWVyYSxcbiAgZmFHcmFkdWF0aW9uQ2FwLFxuICBmYU1vcnRhckJvYXJkLFxuICBmYUhhbmRIb2xkaW5nTWVkaWNhbCxcbiAgZmFQZXJzb25DaXJjbGVDaGVjayxcbiAgZmFUdXJuVXAsXG4gIGZhTGV2ZWxVcEFsdFxufTtcblxuZXhwb3J0IHsgaWNvbnMgYXMgZmFzLCBwcmVmaXgsIGZhMCwgZmExLCBmYTIsIGZhMywgZmE0LCBmYTUsIGZhNiwgZmE3LCBmYTgsIGZhOSwgZmFGaWxsRHJpcCwgZmFBcnJvd3NUb0NpcmNsZSwgZmFDaXJjbGVDaGV2cm9uUmlnaHQsIGZhQ2hldnJvbkNpcmNsZVJpZ2h0LCBmYUF0LCBmYVRyYXNoQ2FuLCBmYVRyYXNoQWx0LCBmYVRleHRIZWlnaHQsIGZhVXNlclhtYXJrLCBmYVVzZXJUaW1lcywgZmFTdGV0aG9zY29wZSwgZmFNZXNzYWdlLCBmYUNvbW1lbnRBbHQsIGZhSW5mbywgZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlciwgZmFDb21wcmVzc0FsdCwgZmFFeHBsb3Npb24sIGZhRmlsZUxpbmVzLCBmYUZpbGVBbHQsIGZhRmlsZVRleHQsIGZhV2F2ZVNxdWFyZSwgZmFSaW5nLCBmYUJ1aWxkaW5nVW4sIGZhRGljZVRocmVlLCBmYUNhbGVuZGFyRGF5cywgZmFDYWxlbmRhckFsdCwgZmFBbmNob3JDaXJjbGVDaGVjaywgZmFCdWlsZGluZ0NpcmNsZUFycm93UmlnaHQsIGZhVm9sbGV5YmFsbCwgZmFWb2xsZXliYWxsQmFsbCwgZmFBcnJvd3NVcFRvTGluZSwgZmFTb3J0RG93biwgZmFTb3J0RGVzYywgZmFDaXJjbGVNaW51cywgZmFNaW51c0NpcmNsZSwgZmFEb29yT3BlbiwgZmFSaWdodEZyb21CcmFja2V0LCBmYVNpZ25PdXRBbHQsIGZhQXRvbSwgZmFTb2FwLCBmYUljb25zLCBmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0LCBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoLCBmYU1pY3JvcGhvbmVBbHRTbGFzaCwgZmFCcmlkZ2VDaXJjbGVDaGVjaywgZmFQdW1wTWVkaWNhbCwgZmFGaW5nZXJwcmludCwgZmFIYW5kUG9pbnRSaWdodCwgZmFNYWduaWZ5aW5nR2xhc3NMb2NhdGlvbiwgZmFTZWFyY2hMb2NhdGlvbiwgZmFGb3J3YXJkU3RlcCwgZmFTdGVwRm9yd2FyZCwgZmFGYWNlU21pbGVCZWFtLCBmYVNtaWxlQmVhbSwgZmFGbGFnQ2hlY2tlcmVkLCBmYUZvb3RiYWxsLCBmYUZvb3RiYWxsQmFsbCwgZmFTY2hvb2xDaXJjbGVFeGNsYW1hdGlvbiwgZmFDcm9wLCBmYUFuZ2xlc0Rvd24sIGZhQW5nbGVEb3VibGVEb3duLCBmYVVzZXJzUmVjdGFuZ2xlLCBmYVBlb3BsZVJvb2YsIGZhUGVvcGxlTGluZSwgZmFCZWVyTXVnRW1wdHksIGZhQmVlciwgZmFEaWFncmFtUHJlZGVjZXNzb3IsIGZhQXJyb3dVcExvbmcsIGZhTG9uZ0Fycm93VXAsIGZhRmlyZUZsYW1lU2ltcGxlLCBmYUJ1cm4sIGZhUGVyc29uLCBmYU1hbGUsIGZhTGFwdG9wLCBmYUZpbGVDc3YsIGZhTWVub3JhaCwgZmFUcnVja1BsYW5lLCBmYVJlY29yZFZpbnlsLCBmYUZhY2VHcmluU3RhcnMsIGZhR3JpblN0YXJzLCBmYUJvbmcsIGZhU3BhZ2hldHRpTW9uc3RlckZseWluZywgZmFQYXN0YWZhcmlhbmlzbSwgZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmUsIGZhU3Bvb24sIGZhVXRlbnNpbFNwb29uLCBmYUphcldoZWF0LCBmYUVudmVsb3Blc0J1bGssIGZhTWFpbEJ1bGssIGZhRmlsZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUNpcmNsZUgsIGZhSG9zcGl0YWxTeW1ib2wsIGZhUGFnZXIsIGZhQWRkcmVzc0Jvb2ssIGZhQ29udGFjdEJvb2ssIGZhU3RyaWtldGhyb3VnaCwgZmFLLCBmYUxhbmRtYXJrRmxhZywgZmFQZW5jaWwsIGZhUGVuY2lsQWx0LCBmYUJhY2t3YXJkLCBmYUNhcmV0UmlnaHQsIGZhQ29tbWVudHMsIGZhUGFzdGUsIGZhRmlsZUNsaXBib2FyZCwgZmFDb2RlUHVsbFJlcXVlc3QsIGZhQ2xpcGJvYXJkTGlzdCwgZmFUcnVja1JhbXBCb3gsIGZhVHJ1Y2tMb2FkaW5nLCBmYVVzZXJDaGVjaywgZmFWaWFsVmlydXMsIGZhU2hlZXRQbGFzdGljLCBmYUJsb2csIGZhVXNlck5pbmphLCBmYVBlcnNvbkFycm93VXBGcm9tTGluZSwgZmFTY3JvbGxUb3JhaCwgZmFUb3JhaCwgZmFCcm9vbUJhbGwsIGZhUXVpZGRpdGNoLCBmYVF1aWRkaXRjaEJyb29tQmFsbCwgZmFUb2dnbGVPZmYsIGZhQm94QXJjaGl2ZSwgZmFBcmNoaXZlLCBmYVBlcnNvbkRyb3duaW5nLCBmYUFycm93RG93bjkxLCBmYVNvcnROdW1lcmljRGVzYywgZmFTb3J0TnVtZXJpY0Rvd25BbHQsIGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQsIGZhR3JpblRvbmd1ZVNxdWludCwgZmFTcHJheUNhbiwgZmFUcnVja01vbnN0ZXIsIGZhVywgZmFFYXJ0aEFmcmljYSwgZmFHbG9iZUFmcmljYSwgZmFSYWluYm93LCBmYUNpcmNsZU5vdGNoLCBmYVRhYmxldFNjcmVlbkJ1dHRvbiwgZmFUYWJsZXRBbHQsIGZhUGF3LCBmYUNsb3VkLCBmYVRyb3dlbEJyaWNrcywgZmFGYWNlRmx1c2hlZCwgZmFGbHVzaGVkLCBmYUhvc3BpdGFsVXNlciwgZmFUZW50QXJyb3dMZWZ0UmlnaHQsIGZhR2F2ZWwsIGZhTGVnYWwsIGZhQmlub2N1bGFycywgZmFNaWNyb3Bob25lU2xhc2gsIGZhQm94VGlzc3VlLCBmYU1vdG9yY3ljbGUsIGZhQmVsbENvbmNpZXJnZSwgZmFDb25jaWVyZ2VCZWxsLCBmYVBlblJ1bGVyLCBmYVBlbmNpbFJ1bGVyLCBmYVBlb3BsZUFycm93cywgZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQsIGZhTWFyc0FuZFZlbnVzQnVyc3QsIGZhU3F1YXJlQ2FyZXRSaWdodCwgZmFDYXJldFNxdWFyZVJpZ2h0LCBmYVNjaXNzb3JzLCBmYUN1dCwgZmFTdW5QbGFudFdpbHQsIGZhVG9pbGV0c1BvcnRhYmxlLCBmYUhvY2tleVB1Y2ssIGZhVGFibGUsIGZhTWFnbmlmeWluZ0dsYXNzQXJyb3dSaWdodCwgZmFUYWNob2dyYXBoRGlnaXRhbCwgZmFEaWdpdGFsVGFjaG9ncmFwaCwgZmFVc2Vyc1NsYXNoLCBmYUNsb3ZlciwgZmFSZXBseSwgZmFNYWlsUmVwbHksIGZhU3RhckFuZENyZXNjZW50LCBmYUhvdXNlRmlyZSwgZmFTcXVhcmVNaW51cywgZmFNaW51c1NxdWFyZSwgZmFIZWxpY29wdGVyLCBmYUNvbXBhc3MsIGZhU3F1YXJlQ2FyZXREb3duLCBmYUNhcmV0U3F1YXJlRG93biwgZmFGaWxlQ2lyY2xlUXVlc3Rpb24sIGZhTGFwdG9wQ29kZSwgZmFTd2F0Y2hib29rLCBmYVByZXNjcmlwdGlvbkJvdHRsZSwgZmFCYXJzLCBmYU5hdmljb24sIGZhUGVvcGxlR3JvdXAsIGZhSG91cmdsYXNzRW5kLCBmYUhvdXJnbGFzczMsIGZhSGVhcnRDcmFjaywgZmFIZWFydEJyb2tlbiwgZmFTcXVhcmVVcFJpZ2h0LCBmYUV4dGVybmFsTGlua1NxdWFyZUFsdCwgZmFGYWNlS2lzc0JlYW0sIGZhS2lzc0JlYW0sIGZhRmlsbSwgZmFSdWxlckhvcml6b250YWwsIGZhUGVvcGxlUm9iYmVyeSwgZmFMaWdodGJ1bGIsIGZhQ2FyZXRMZWZ0LCBmYUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUV4Y2xhbWF0aW9uQ2lyY2xlLCBmYVNjaG9vbENpcmNsZVhtYXJrLCBmYUFycm93UmlnaHRGcm9tQnJhY2tldCwgZmFTaWduT3V0LCBmYUNpcmNsZUNoZXZyb25Eb3duLCBmYUNoZXZyb25DaXJjbGVEb3duLCBmYVVubG9ja0tleWhvbGUsIGZhVW5sb2NrQWx0LCBmYUNsb3VkU2hvd2Vyc0hlYXZ5LCBmYUhlYWRwaG9uZXNTaW1wbGUsIGZhSGVhZHBob25lc0FsdCwgZmFTaXRlbWFwLCBmYUNpcmNsZURvbGxhclRvU2xvdCwgZmFEb25hdGUsIGZhTWVtb3J5LCBmYVJvYWRTcGlrZXMsIGZhRmlyZUJ1cm5lciwgZmFGbGFnLCBmYUhhbnVraWFoLCBmYUZlYXRoZXIsIGZhVm9sdW1lTG93LCBmYVZvbHVtZURvd24sIGZhQ29tbWVudFNsYXNoLCBmYUNsb3VkU3VuUmFpbiwgZmFDb21wcmVzcywgZmFXaGVhdEF3biwgZmFXaGVhdEFsdCwgZmFBbmtoLCBmYUhhbmRzSG9sZGluZ0NoaWxkLCBmYUFzdGVyaXNrLCBmYVNxdWFyZUNoZWNrLCBmYUNoZWNrU3F1YXJlLCBmYVBlc2V0YVNpZ24sIGZhSGVhZGluZywgZmFIZWFkZXIsIGZhR2hvc3QsIGZhTGlzdCwgZmFMaXN0U3F1YXJlcywgZmFTcXVhcmVQaG9uZUZsaXAsIGZhUGhvbmVTcXVhcmVBbHQsIGZhQ2FydFBsdXMsIGZhR2FtZXBhZCwgZmFDaXJjbGVEb3QsIGZhRG90Q2lyY2xlLCBmYUZhY2VEaXp6eSwgZmFEaXp6eSwgZmFFZ2csIGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcmssIGZhQ2FtcGdyb3VuZCwgZmFGb2xkZXJQbHVzLCBmYUZ1dGJvbCwgZmFGdXRib2xCYWxsLCBmYVNvY2NlckJhbGwsIGZhUGFpbnRicnVzaCwgZmFQYWludEJydXNoLCBmYUxvY2ssIGZhR2FzUHVtcCwgZmFIb3RUdWJQZXJzb24sIGZhSG90VHViLCBmYU1hcExvY2F0aW9uLCBmYU1hcE1hcmtlZCwgZmFIb3VzZUZsb29kV2F0ZXIsIGZhVHJlZSwgZmFCcmlkZ2VMb2NrLCBmYVNhY2tEb2xsYXIsIGZhUGVuVG9TcXVhcmUsIGZhRWRpdCwgZmFDYXJTaWRlLCBmYVNoYXJlTm9kZXMsIGZhU2hhcmVBbHQsIGZhSGVhcnRDaXJjbGVNaW51cywgZmFIb3VyZ2xhc3NIYWxmLCBmYUhvdXJnbGFzczIsIGZhTWljcm9zY29wZSwgZmFTaW5rLCBmYUJhZ1Nob3BwaW5nLCBmYVNob3BwaW5nQmFnLCBmYUFycm93RG93blpBLCBmYVNvcnRBbHBoYURlc2MsIGZhU29ydEFscGhhRG93bkFsdCwgZmFNaXR0ZW4sIGZhUGVyc29uUmF5cywgZmFVc2VycywgZmFFeWVTbGFzaCwgZmFGbGFza1ZpYWwsIGZhSGFuZCwgZmFIYW5kUGFwZXIsIGZhT20sIGZhV29ybSwgZmFIb3VzZUNpcmNsZVhtYXJrLCBmYVBsdWcsIGZhQ2hldnJvblVwLCBmYUhhbmRTcG9jaywgZmFTdG9wd2F0Y2gsIGZhRmFjZUtpc3MsIGZhS2lzcywgZmFCcmlkZ2VDaXJjbGVYbWFyaywgZmFGYWNlR3JpblRvbmd1ZSwgZmFHcmluVG9uZ3VlLCBmYUNoZXNzQmlzaG9wLCBmYUZhY2VHcmluV2luaywgZmFHcmluV2luaywgZmFFYXJEZWFmLCBmYURlYWYsIGZhRGVhZm5lc3MsIGZhSGFyZE9mSGVhcmluZywgZmFSb2FkQ2lyY2xlQ2hlY2ssIGZhRGljZUZpdmUsIGZhU3F1YXJlUnNzLCBmYVJzc1NxdWFyZSwgZmFMYW5kTWluZU9uLCBmYUlDdXJzb3IsIGZhU3RhbXAsIGZhU3RhaXJzLCBmYUksIGZhSHJ5dm5pYVNpZ24sIGZhSHJ5dm5pYSwgZmFQaWxscywgZmFGYWNlR3JpbldpZGUsIGZhR3JpbkFsdCwgZmFUb290aCwgZmFWLCBmYUJhbmdsYWRlc2hpVGFrYVNpZ24sIGZhQmljeWNsZSwgZmFTdGFmZlNuYWtlLCBmYVJvZEFzY2xlcGl1cywgZmFSb2RTbmFrZSwgZmFTdGFmZkFlc2N1bGFwaXVzLCBmYUhlYWRTaWRlQ291Z2hTbGFzaCwgZmFUcnVja01lZGljYWwsIGZhQW1idWxhbmNlLCBmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb24sIGZhU25vd21hbiwgZmFNb3J0YXJQZXN0bGUsIGZhUm9hZEJhcnJpZXIsIGZhU2Nob29sLCBmYUlnbG9vLCBmYUpvaW50LCBmYUFuZ2xlUmlnaHQsIGZhSG9yc2UsIGZhUSwgZmFHLCBmYU5vdGVzTWVkaWNhbCwgZmFUZW1wZXJhdHVyZUhhbGYsIGZhVGVtcGVyYXR1cmUyLCBmYVRoZXJtb21ldGVyMiwgZmFUaGVybW9tZXRlckhhbGYsIGZhRG9uZ1NpZ24sIGZhQ2Fwc3VsZXMsIGZhUG9vU3Rvcm0sIGZhUG9vQm9sdCwgZmFGYWNlRnJvd25PcGVuLCBmYUZyb3duT3BlbiwgZmFIYW5kUG9pbnRVcCwgZmFNb25leUJpbGwsIGZhQm9va21hcmssIGZhQWxpZ25KdXN0aWZ5LCBmYVVtYnJlbGxhQmVhY2gsIGZhSGVsbWV0VW4sIGZhQnVsbHNleWUsIGZhQmFjb24sIGZhSGFuZFBvaW50RG93biwgZmFBcnJvd1VwRnJvbUJyYWNrZXQsIGZhRm9sZGVyLCBmYUZvbGRlckJsYW5rLCBmYUZpbGVXYXZlZm9ybSwgZmFGaWxlTWVkaWNhbEFsdCwgZmFSYWRpYXRpb24sIGZhQ2hhcnRTaW1wbGUsIGZhTWFyc1N0cm9rZSwgZmFWaWFsLCBmYUdhdWdlLCBmYURhc2hib2FyZCwgZmFHYXVnZU1lZCwgZmFUYWNob21ldGVyQWx0QXZlcmFnZSwgZmFXYW5kTWFnaWNTcGFya2xlcywgZmFNYWdpY1dhbmRTcGFya2xlcywgZmFFLCBmYVBlbkNsaXAsIGZhUGVuQWx0LCBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYVVzZXIsIGZhU2Nob29sQ2lyY2xlQ2hlY2ssIGZhRHVtcHN0ZXIsIGZhVmFuU2h1dHRsZSwgZmFTaHV0dGxlVmFuLCBmYUJ1aWxkaW5nVXNlciwgZmFTcXVhcmVDYXJldExlZnQsIGZhQ2FyZXRTcXVhcmVMZWZ0LCBmYUhpZ2hsaWdodGVyLCBmYUtleSwgZmFCdWxsaG9ybiwgZmFHbG9iZSwgZmFTeW5hZ29ndWUsIGZhUGVyc29uSGFsZkRyZXNzLCBmYVJvYWRCcmlkZ2UsIGZhTG9jYXRpb25BcnJvdywgZmFDLCBmYVRhYmxldEJ1dHRvbiwgZmFCdWlsZGluZ0xvY2ssIGZhUGl6emFTbGljZSwgZmFNb25leUJpbGxXYXZlLCBmYUNoYXJ0QXJlYSwgZmFBcmVhQ2hhcnQsIGZhSG91c2VGbGFnLCBmYVBlcnNvbkNpcmNsZU1pbnVzLCBmYUJhbiwgZmFDYW5jZWwsIGZhQ2FtZXJhUm90YXRlLCBmYVNwcmF5Q2FuU3BhcmtsZXMsIGZhQWlyRnJlc2hlbmVyLCBmYVN0YXIsIGZhUmVwZWF0LCBmYUNyb3NzLCBmYUJveCwgZmFWZW51c01hcnMsIGZhQXJyb3dQb2ludGVyLCBmYU1vdXNlUG9pbnRlciwgZmFNYXhpbWl6ZSwgZmFFeHBhbmRBcnJvd3NBbHQsIGZhQ2hhcmdpbmdTdGF0aW9uLCBmYVNoYXBlcywgZmFUcmlhbmdsZUNpcmNsZVNxdWFyZSwgZmFTaHVmZmxlLCBmYVJhbmRvbSwgZmFQZXJzb25SdW5uaW5nLCBmYVJ1bm5pbmcsIGZhTW9iaWxlUmV0cm8sIGZhR3JpcExpbmVzVmVydGljYWwsIGZhU3BpZGVyLCBmYUhhbmRzQm91bmQsIGZhRmlsZUludm9pY2VEb2xsYXIsIGZhUGxhbmVDaXJjbGVFeGNsYW1hdGlvbiwgZmFYUmF5LCBmYVNwZWxsQ2hlY2ssIGZhU2xhc2gsIGZhQ29tcHV0ZXJNb3VzZSwgZmFNb3VzZSwgZmFBcnJvd1JpZ2h0VG9CcmFja2V0LCBmYVNpZ25JbiwgZmFTaG9wU2xhc2gsIGZhU3RvcmVBbHRTbGFzaCwgZmFTZXJ2ZXIsIGZhVmlydXNDb3ZpZFNsYXNoLCBmYVNob3BMb2NrLCBmYUhvdXJnbGFzc1N0YXJ0LCBmYUhvdXJnbGFzczEsIGZhQmxlbmRlclBob25lLCBmYUJ1aWxkaW5nV2hlYXQsIGZhUGVyc29uQnJlYXN0ZmVlZGluZywgZmFSaWdodFRvQnJhY2tldCwgZmFTaWduSW5BbHQsIGZhVmVudXMsIGZhUGFzc3BvcnQsIGZhVGh1bWJ0YWNrU2xhc2gsIGZhVGh1bWJUYWNrU2xhc2gsIGZhSGVhcnRQdWxzZSwgZmFIZWFydGJlYXQsIGZhUGVvcGxlQ2FycnlCb3gsIGZhUGVvcGxlQ2FycnksIGZhVGVtcGVyYXR1cmVIaWdoLCBmYU1pY3JvY2hpcCwgZmFDcm93biwgZmFXZWlnaHRIYW5naW5nLCBmYVhtYXJrc0xpbmVzLCBmYUZpbGVQcmVzY3JpcHRpb24sIGZhV2VpZ2h0U2NhbGUsIGZhV2VpZ2h0LCBmYVVzZXJHcm91cCwgZmFVc2VyRnJpZW5kcywgZmFBcnJvd1VwQVosIGZhU29ydEFscGhhVXAsIGZhQ2hlc3NLbmlnaHQsIGZhRmFjZUxhdWdoU3F1aW50LCBmYUxhdWdoU3F1aW50LCBmYVdoZWVsY2hhaXIsIGZhQ2lyY2xlQXJyb3dVcCwgZmFBcnJvd0NpcmNsZVVwLCBmYVRvZ2dsZU9uLCBmYVBlcnNvbldhbGtpbmcsIGZhV2Fsa2luZywgZmFMLCBmYUZpcmUsIGZhQmVkUHVsc2UsIGZhUHJvY2VkdXJlcywgZmFTaHV0dGxlU3BhY2UsIGZhU3BhY2VTaHV0dGxlLCBmYUZhY2VMYXVnaCwgZmFMYXVnaCwgZmFGb2xkZXJPcGVuLCBmYUhlYXJ0Q2lyY2xlUGx1cywgZmFDb2RlRm9yaywgZmFDaXR5LCBmYU1pY3JvcGhvbmVMaW5lcywgZmFNaWNyb3Bob25lQWx0LCBmYVBlcHBlckhvdCwgZmFVbmxvY2ssIGZhQ29sb25TaWduLCBmYUhlYWRzZXQsIGZhU3RvcmVTbGFzaCwgZmFSb2FkQ2lyY2xlWG1hcmssIGZhVXNlck1pbnVzLCBmYU1hcnNTdHJva2VVcCwgZmFNYXJzU3Ryb2tlViwgZmFDaGFtcGFnbmVHbGFzc2VzLCBmYUdsYXNzQ2hlZXJzLCBmYUNsaXBib2FyZCwgZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUZpbGVBcnJvd1VwLCBmYUZpbGVVcGxvYWQsIGZhV2lmaSwgZmFXaWZpMywgZmFXaWZpU3Ryb25nLCBmYUJhdGgsIGZhQmF0aHR1YiwgZmFVbmRlcmxpbmUsIGZhVXNlclBlbiwgZmFVc2VyRWRpdCwgZmFTaWduYXR1cmUsIGZhU3Ryb29wd2FmZWwsIGZhQm9sZCwgZmFBbmNob3JMb2NrLCBmYUJ1aWxkaW5nTmdvLCBmYU1hbmF0U2lnbiwgZmFOb3RFcXVhbCwgZmFCb3JkZXJUb3BMZWZ0LCBmYUJvcmRlclN0eWxlLCBmYU1hcExvY2F0aW9uRG90LCBmYU1hcE1hcmtlZEFsdCwgZmFKZWRpLCBmYVNxdWFyZVBvbGxWZXJ0aWNhbCwgZmFQb2xsLCBmYU11Z0hvdCwgZmFDYXJCYXR0ZXJ5LCBmYUJhdHRlcnlDYXIsIGZhR2lmdCwgZmFEaWNlVHdvLCBmYUNoZXNzUXVlZW4sIGZhR2xhc3NlcywgZmFDaGVzc0JvYXJkLCBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2ssIGZhUGVyc29uQ2hhbGtib2FyZCwgZmFNYXJzU3Ryb2tlUmlnaHQsIGZhTWFyc1N0cm9rZUgsIGZhSGFuZEJhY2tGaXN0LCBmYUhhbmRSb2NrLCBmYVNxdWFyZUNhcmV0VXAsIGZhQ2FyZXRTcXVhcmVVcCwgZmFDbG91ZFNob3dlcnNXYXRlciwgZmFDaGFydEJhciwgZmFCYXJDaGFydCwgZmFIYW5kc0J1YmJsZXMsIGZhSGFuZHNXYXNoLCBmYUxlc3NUaGFuRXF1YWwsIGZhVHJhaW4sIGZhRXllTG93VmlzaW9uLCBmYUxvd1Zpc2lvbiwgZmFDcm93LCBmYVNhaWxib2F0LCBmYVdpbmRvd1Jlc3RvcmUsIGZhU3F1YXJlUGx1cywgZmFQbHVzU3F1YXJlLCBmYVRvcmlpR2F0ZSwgZmFGcm9nLCBmYUJ1Y2tldCwgZmFJbWFnZSwgZmFNaWNyb3Bob25lLCBmYUNvdywgZmFDYXJldFVwLCBmYVNjcmV3ZHJpdmVyLCBmYUZvbGRlckNsb3NlZCwgZmFIb3VzZVRzdW5hbWksIGZhU3F1YXJlTmZpLCBmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXIsIGZhTWFydGluaUdsYXNzLCBmYUdsYXNzTWFydGluaUFsdCwgZmFSb3RhdGVMZWZ0LCBmYVJvdGF0ZUJhY2ssIGZhUm90YXRlQmFja3dhcmQsIGZhVW5kb0FsdCwgZmFUYWJsZUNvbHVtbnMsIGZhQ29sdW1ucywgZmFMZW1vbiwgZmFIZWFkU2lkZU1hc2ssIGZhSGFuZHNoYWtlLCBmYUdlbSwgZmFEb2xseSwgZmFEb2xseUJveCwgZmFTbW9raW5nLCBmYU1pbmltaXplLCBmYUNvbXByZXNzQXJyb3dzQWx0LCBmYU1vbnVtZW50LCBmYVNub3dwbG93LCBmYUFuZ2xlc1JpZ2h0LCBmYUFuZ2xlRG91YmxlUmlnaHQsIGZhQ2FubmFiaXMsIGZhQ2lyY2xlUGxheSwgZmFQbGF5Q2lyY2xlLCBmYVRhYmxldHMsIGZhRXRoZXJuZXQsIGZhRXVyb1NpZ24sIGZhRXVyLCBmYUV1cm8sIGZhQ2hhaXIsIGZhQ2lyY2xlQ2hlY2ssIGZhQ2hlY2tDaXJjbGUsIGZhQ2lyY2xlU3RvcCwgZmFTdG9wQ2lyY2xlLCBmYUNvbXBhc3NEcmFmdGluZywgZmFEcmFmdGluZ0NvbXBhc3MsIGZhUGxhdGVXaGVhdCwgZmFJY2ljbGVzLCBmYVBlcnNvblNoZWx0ZXIsIGZhTmV1dGVyLCBmYUlkQmFkZ2UsIGZhTWFya2VyLCBmYUZhY2VMYXVnaEJlYW0sIGZhTGF1Z2hCZWFtLCBmYUhlbGljb3B0ZXJTeW1ib2wsIGZhVW5pdmVyc2FsQWNjZXNzLCBmYUNpcmNsZUNoZXZyb25VcCwgZmFDaGV2cm9uQ2lyY2xlVXAsIGZhTGFyaVNpZ24sIGZhVm9sY2FubywgZmFQZXJzb25XYWxraW5nRGFzaGVkTGluZUFycm93UmlnaHQsIGZhU3RlcmxpbmdTaWduLCBmYUdicCwgZmFQb3VuZFNpZ24sIGZhVmlydXNlcywgZmFTcXVhcmVQZXJzb25Db25maW5lZCwgZmFVc2VyVGllLCBmYUFycm93RG93bkxvbmcsIGZhTG9uZ0Fycm93RG93biwgZmFUZW50QXJyb3dEb3duVG9MaW5lLCBmYUNlcnRpZmljYXRlLCBmYVJlcGx5QWxsLCBmYU1haWxSZXBseUFsbCwgZmFTdWl0Y2FzZSwgZmFQZXJzb25Ta2F0aW5nLCBmYVNrYXRpbmcsIGZhRmlsdGVyQ2lyY2xlRG9sbGFyLCBmYUZ1bm5lbERvbGxhciwgZmFDYW1lcmFSZXRybywgZmFDaXJjbGVBcnJvd0Rvd24sIGZhQXJyb3dDaXJjbGVEb3duLCBmYUZpbGVJbXBvcnQsIGZhQXJyb3dSaWdodFRvRmlsZSwgZmFTcXVhcmVBcnJvd1VwUmlnaHQsIGZhRXh0ZXJuYWxMaW5rU3F1YXJlLCBmYUJveE9wZW4sIGZhU2Nyb2xsLCBmYVNwYSwgZmFMb2NhdGlvblBpbkxvY2ssIGZhUGF1c2UsIGZhSGlsbEF2YWxhbmNoZSwgZmFUZW1wZXJhdHVyZUVtcHR5LCBmYVRlbXBlcmF0dXJlMCwgZmFUaGVybW9tZXRlcjAsIGZhVGhlcm1vbWV0ZXJFbXB0eSwgZmFCb21iLCBmYVJlZ2lzdGVyZWQsIGZhQWRkcmVzc0NhcmQsIGZhQ29udGFjdENhcmQsIGZhVmNhcmQsIGZhU2NhbGVVbmJhbGFuY2VkRmxpcCwgZmFCYWxhbmNlU2NhbGVSaWdodCwgZmFTdWJzY3JpcHQsIGZhRGlhbW9uZFR1cm5SaWdodCwgZmFEaXJlY3Rpb25zLCBmYUJ1cnN0LCBmYUhvdXNlTGFwdG9wLCBmYUxhcHRvcEhvdXNlLCBmYUZhY2VUaXJlZCwgZmFUaXJlZCwgZmFNb25leUJpbGxzLCBmYVNtb2csIGZhQ3J1dGNoLCBmYUZvbnRBd2Vzb21lLCBmYUZvbnRBd2Vzb21lRmxhZywgZmFGb250QXdlc29tZUxvZ29GdWxsLCBmYUNsb3VkQXJyb3dVcCwgZmFDbG91ZFVwbG9hZCwgZmFDbG91ZFVwbG9hZEFsdCwgZmFQYWxldHRlLCBmYUFycm93c1R1cm5SaWdodCwgZmFWZXN0LCBmYUZlcnJ5LCBmYUFycm93c0Rvd25Ub1Blb3BsZSwgZmFTZWVkbGluZywgZmFTcHJvdXQsIGZhTGVmdFJpZ2h0LCBmYUFycm93c0FsdEgsIGZhQm94ZXNQYWNraW5nLCBmYUNpcmNsZUFycm93TGVmdCwgZmFBcnJvd0NpcmNsZUxlZnQsIGZhR3JvdXBBcnJvd3NSb3RhdGUsIGZhQm93bEZvb2QsIGZhQ2FuZHlDYW5lLCBmYUFycm93RG93bldpZGVTaG9ydCwgZmFTb3J0QW1vdW50QXNjLCBmYVNvcnRBbW91bnREb3duLCBmYUNsb3VkQm9sdCwgZmFUaHVuZGVyc3Rvcm0sIGZhVGV4dFNsYXNoLCBmYVJlbW92ZUZvcm1hdCwgZmFGYWNlU21pbGVXaW5rLCBmYVNtaWxlV2luaywgZmFGaWxlV29yZCwgZmFGaWxlUG93ZXJwb2ludCwgZmFBcnJvd3NMZWZ0UmlnaHQsIGZhQXJyb3dzSCwgZmFIb3VzZUxvY2ssIGZhQ2xvdWRBcnJvd0Rvd24sIGZhQ2xvdWREb3dubG9hZCwgZmFDbG91ZERvd25sb2FkQWx0LCBmYUNoaWxkcmVuLCBmYUNoYWxrYm9hcmQsIGZhQmxhY2tib2FyZCwgZmFVc2VyTGFyZ2VTbGFzaCwgZmFVc2VyQWx0U2xhc2gsIGZhRW52ZWxvcGVPcGVuLCBmYUhhbmRzaGFrZVNpbXBsZVNsYXNoLCBmYUhhbmRzaGFrZUFsdFNsYXNoLCBmYU1hdHRyZXNzUGlsbG93LCBmYUd1YXJhbmlTaWduLCBmYUFycm93c1JvdGF0ZSwgZmFSZWZyZXNoLCBmYVN5bmMsIGZhRmlyZUV4dGluZ3Vpc2hlciwgZmFDcnV6ZWlyb1NpZ24sIGZhR3JlYXRlclRoYW5FcXVhbCwgZmFTaGllbGRIYWx2ZWQsIGZhU2hpZWxkQWx0LCBmYUJvb2tBdGxhcywgZmFBdGxhcywgZmFWaXJ1cywgZmFFbnZlbG9wZUNpcmNsZUNoZWNrLCBmYUxheWVyR3JvdXAsIGZhQXJyb3dzVG9Eb3QsIGZhQXJjaHdheSwgZmFIZWFydENpcmNsZUNoZWNrLCBmYUhvdXNlQ2hpbW5leUNyYWNrLCBmYUhvdXNlRGFtYWdlLCBmYUZpbGVaaXBwZXIsIGZhRmlsZUFyY2hpdmUsIGZhU3F1YXJlLCBmYU1hcnRpbmlHbGFzc0VtcHR5LCBmYUdsYXNzTWFydGluaSwgZmFDb3VjaCwgZmFDZWRpU2lnbiwgZmFJdGFsaWMsIGZhVGFibGVDZWxsc0NvbHVtbkxvY2ssIGZhQ2h1cmNoLCBmYUNvbW1lbnRzRG9sbGFyLCBmYURlbW9jcmF0LCBmYVosIGZhUGVyc29uU2tpaW5nLCBmYVNraWluZywgZmFSb2FkTG9jaywgZmFBLCBmYVRlbXBlcmF0dXJlQXJyb3dEb3duLCBmYVRlbXBlcmF0dXJlRG93biwgZmFGZWF0aGVyUG9pbnRlZCwgZmFGZWF0aGVyQWx0LCBmYVAsIGZhU25vd2ZsYWtlLCBmYU5ld3NwYXBlciwgZmFSZWN0YW5nbGVBZCwgZmFBZCwgZmFDaXJjbGVBcnJvd1JpZ2h0LCBmYUFycm93Q2lyY2xlUmlnaHQsIGZhRmlsdGVyQ2lyY2xlWG1hcmssIGZhTG9jdXN0LCBmYVNvcnQsIGZhVW5zb3J0ZWQsIGZhTGlzdE9sLCBmYUxpc3QxMiwgZmFMaXN0TnVtZXJpYywgZmFQZXJzb25EcmVzc0J1cnN0LCBmYU1vbmV5Q2hlY2tEb2xsYXIsIGZhTW9uZXlDaGVja0FsdCwgZmFWZWN0b3JTcXVhcmUsIGZhQnJlYWRTbGljZSwgZmFMYW5ndWFnZSwgZmFGYWNlS2lzc1dpbmtIZWFydCwgZmFLaXNzV2lua0hlYXJ0LCBmYUZpbHRlciwgZmFRdWVzdGlvbiwgZmFGaWxlU2lnbmF0dXJlLCBmYVVwRG93bkxlZnRSaWdodCwgZmFBcnJvd3NBbHQsIGZhSG91c2VDaGltbmV5VXNlciwgZmFIYW5kSG9sZGluZ0hlYXJ0LCBmYVB1enpsZVBpZWNlLCBmYU1vbmV5Q2hlY2ssIGZhU3RhckhhbGZTdHJva2UsIGZhU3RhckhhbGZBbHQsIGZhQ29kZSwgZmFXaGlza2V5R2xhc3MsIGZhR2xhc3NXaGlza2V5LCBmYUJ1aWxkaW5nQ2lyY2xlRXhjbGFtYXRpb24sIGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQsIGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZSwgZmFFeHRlcm5hbExpbmssIGZhQ3ViZXNTdGFja2VkLCBmYVdvblNpZ24sIGZhS3J3LCBmYVdvbiwgZmFWaXJ1c0NvdmlkLCBmYUF1c3RyYWxTaWduLCBmYUYsIGZhTGVhZiwgZmFSb2FkLCBmYVRheGksIGZhQ2FiLCBmYVBlcnNvbkNpcmNsZVBsdXMsIGZhQ2hhcnRQaWUsIGZhUGllQ2hhcnQsIGZhQm9sdExpZ2h0bmluZywgZmFTYWNrWG1hcmssIGZhRmlsZUV4Y2VsLCBmYUZpbGVDb250cmFjdCwgZmFGaXNoRmlucywgZmFCdWlsZGluZ0ZsYWcsIGZhRmFjZUdyaW5CZWFtLCBmYUdyaW5CZWFtLCBmYU9iamVjdFVuZ3JvdXAsIGZhUG9vcCwgZmFMb2NhdGlvblBpbiwgZmFNYXBNYXJrZXIsIGZhS2FhYmEsIGZhVG9pbGV0UGFwZXIsIGZhSGVsbWV0U2FmZXR5LCBmYUhhcmRIYXQsIGZhSGF0SGFyZCwgZmFFamVjdCwgZmFDaXJjbGVSaWdodCwgZmFBcnJvd0FsdENpcmNsZVJpZ2h0LCBmYVBsYW5lQ2lyY2xlQ2hlY2ssIGZhRmFjZVJvbGxpbmdFeWVzLCBmYU1laFJvbGxpbmdFeWVzLCBmYU9iamVjdEdyb3VwLCBmYUNoYXJ0TGluZSwgZmFMaW5lQ2hhcnQsIGZhTWFza1ZlbnRpbGF0b3IsIGZhQXJyb3dSaWdodCwgZmFTaWduc1Bvc3QsIGZhTWFwU2lnbnMsIGZhQ2FzaFJlZ2lzdGVyLCBmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uLCBmYUgsIGZhVGFycCwgZmFTY3Jld2RyaXZlcldyZW5jaCwgZmFUb29scywgZmFBcnJvd3NUb0V5ZSwgZmFQbHVnQ2lyY2xlQm9sdCwgZmFIZWFydCwgZmFNYXJzQW5kVmVudXMsIGZhSG91c2VVc2VyLCBmYUhvbWVVc2VyLCBmYUR1bXBzdGVyRmlyZSwgZmFIb3VzZUNyYWNrLCBmYU1hcnRpbmlHbGFzc0NpdHJ1cywgZmFDb2NrdGFpbCwgZmFGYWNlU3VycHJpc2UsIGZhU3VycHJpc2UsIGZhQm90dGxlV2F0ZXIsIGZhQ2lyY2xlUGF1c2UsIGZhUGF1c2VDaXJjbGUsIGZhVG9pbGV0UGFwZXJTbGFzaCwgZmFBcHBsZVdob2xlLCBmYUFwcGxlQWx0LCBmYUtpdGNoZW5TZXQsIGZhUiwgZmFUZW1wZXJhdHVyZVF1YXJ0ZXIsIGZhVGVtcGVyYXR1cmUxLCBmYVRoZXJtb21ldGVyMSwgZmFUaGVybW9tZXRlclF1YXJ0ZXIsIGZhQ3ViZSwgZmFCaXRjb2luU2lnbiwgZmFTaGllbGREb2csIGZhU29sYXJQYW5lbCwgZmFMb2NrT3BlbiwgZmFFbGV2YXRvciwgZmFNb25leUJpbGxUcmFuc2ZlciwgZmFNb25leUJpbGxUcmVuZFVwLCBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQsIGZhU3F1YXJlUG9sbEhvcml6b250YWwsIGZhUG9sbEgsIGZhQ2lyY2xlLCBmYUJhY2t3YXJkRmFzdCwgZmFGYXN0QmFja3dhcmQsIGZhUmVjeWNsZSwgZmFVc2VyQXN0cm9uYXV0LCBmYVBsYW5lU2xhc2gsIGZhVHJhZGVtYXJrLCBmYUJhc2tldGJhbGwsIGZhQmFza2V0YmFsbEJhbGwsIGZhU2F0ZWxsaXRlRGlzaCwgZmFDaXJjbGVVcCwgZmFBcnJvd0FsdENpcmNsZVVwLCBmYU1vYmlsZVNjcmVlbkJ1dHRvbiwgZmFNb2JpbGVBbHQsIGZhVm9sdW1lSGlnaCwgZmFWb2x1bWVVcCwgZmFVc2Vyc1JheXMsIGZhV2FsbGV0LCBmYUNsaXBib2FyZENoZWNrLCBmYUZpbGVBdWRpbywgZmFCdXJnZXIsIGZhSGFtYnVyZ2VyLCBmYVdyZW5jaCwgZmFCdWdzLCBmYVJ1cGVlU2lnbiwgZmFSdXBlZSwgZmFGaWxlSW1hZ2UsIGZhQ2lyY2xlUXVlc3Rpb24sIGZhUXVlc3Rpb25DaXJjbGUsIGZhUGxhbmVEZXBhcnR1cmUsIGZhSGFuZHNoYWtlU2xhc2gsIGZhQm9va0Jvb2ttYXJrLCBmYUNvZGVCcmFuY2gsIGZhSGF0Q293Ym95LCBmYUJyaWRnZSwgZmFQaG9uZUZsaXAsIGZhUGhvbmVBbHQsIGZhVHJ1Y2tGcm9udCwgZmFDYXQsIGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb24sIGZhVHJ1Y2tGaWVsZCwgZmFSb3V0ZSwgZmFDbGlwYm9hcmRRdWVzdGlvbiwgZmFQYW5vcmFtYSwgZmFDb21tZW50TWVkaWNhbCwgZmFUZWV0aE9wZW4sIGZhRmlsZUNpcmNsZU1pbnVzLCBmYVRhZ3MsIGZhV2luZUdsYXNzLCBmYUZvcndhcmRGYXN0LCBmYUZhc3RGb3J3YXJkLCBmYUZhY2VNZWhCbGFuaywgZmFNZWhCbGFuaywgZmFTcXVhcmVQYXJraW5nLCBmYVBhcmtpbmcsIGZhSG91c2VTaWduYWwsIGZhQmFyc1Byb2dyZXNzLCBmYVRhc2tzQWx0LCBmYUZhdWNldERyaXAsIGZhQ2FydEZsYXRiZWQsIGZhRG9sbHlGbGF0YmVkLCBmYUJhblNtb2tpbmcsIGZhU21va2luZ0JhbiwgZmFUZXJtaW5hbCwgZmFNb2JpbGVCdXR0b24sIGZhSG91c2VNZWRpY2FsRmxhZywgZmFCYXNrZXRTaG9wcGluZywgZmFTaG9wcGluZ0Jhc2tldCwgZmFUYXBlLCBmYUJ1c1NpbXBsZSwgZmFCdXNBbHQsIGZhRXllLCBmYUZhY2VTYWRDcnksIGZhU2FkQ3J5LCBmYUF1ZGlvRGVzY3JpcHRpb24sIGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbiwgZmFGaWxlU2hpZWxkLCBmYVVzZXJTbGFzaCwgZmFQZW4sIGZhVG93ZXJPYnNlcnZhdGlvbiwgZmFGaWxlQ29kZSwgZmFTaWduYWwsIGZhU2lnbmFsNSwgZmFTaWduYWxQZXJmZWN0LCBmYUJ1cywgZmFIZWFydENpcmNsZVhtYXJrLCBmYUhvdXNlQ2hpbW5leSwgZmFIb21lTGcsIGZhV2luZG93TWF4aW1pemUsIGZhRmFjZUZyb3duLCBmYUZyb3duLCBmYVByZXNjcmlwdGlvbiwgZmFTaG9wLCBmYVN0b3JlQWx0LCBmYUZsb3BweURpc2ssIGZhU2F2ZSwgZmFWaWhhcmEsIGZhU2NhbGVVbmJhbGFuY2VkLCBmYUJhbGFuY2VTY2FsZUxlZnQsIGZhU29ydFVwLCBmYVNvcnRBc2MsIGZhQ29tbWVudERvdHMsIGZhQ29tbWVudGluZywgZmFQbGFudFdpbHQsIGZhRGlhbW9uZCwgZmFGYWNlR3JpblNxdWludCwgZmFHcmluU3F1aW50LCBmYUhhbmRIb2xkaW5nRG9sbGFyLCBmYUhhbmRIb2xkaW5nVXNkLCBmYUJhY3Rlcml1bSwgZmFIYW5kUG9pbnRlciwgZmFEcnVtU3RlZWxwYW4sIGZhSGFuZFNjaXNzb3JzLCBmYUhhbmRzUHJheWluZywgZmFQcmF5aW5nSGFuZHMsIGZhQXJyb3dSb3RhdGVSaWdodCwgZmFBcnJvd1JpZ2h0Um90YXRlLCBmYUFycm93Um90YXRlRm9yd2FyZCwgZmFSZWRvLCBmYVdlYkF3ZXNvbWUsIGZhQmlvaGF6YXJkLCBmYUxvY2F0aW9uQ3Jvc3NoYWlycywgZmFMb2NhdGlvbiwgZmFNYXJzRG91YmxlLCBmYUNoaWxkRHJlc3MsIGZhVXNlcnNCZXR3ZWVuTGluZXMsIGZhTHVuZ3NWaXJ1cywgZmFGYWNlR3JpblRlYXJzLCBmYUdyaW5UZWFycywgZmFQaG9uZSwgZmFDYWxlbmRhclhtYXJrLCBmYUNhbGVuZGFyVGltZXMsIGZhQ2hpbGRSZWFjaGluZywgZmFIZWFkU2lkZVZpcnVzLCBmYVVzZXJHZWFyLCBmYVVzZXJDb2csIGZhQXJyb3dVcDE5LCBmYVNvcnROdW1lcmljVXAsIGZhRG9vckNsb3NlZCwgZmFTaGllbGRWaXJ1cywgZmFEaWNlU2l4LCBmYU1vc3F1aXRvTmV0LCBmYUJyaWRnZVdhdGVyLCBmYVBlcnNvbkJvb3RoLCBmYVRleHRXaWR0aCwgZmFIYXRXaXphcmQsIGZhUGVuRmFuY3ksIGZhUGVyc29uRGlnZ2luZywgZmFEaWdnaW5nLCBmYVRyYXNoLCBmYUdhdWdlU2ltcGxlLCBmYUdhdWdlU2ltcGxlTWVkLCBmYVRhY2hvbWV0ZXJBdmVyYWdlLCBmYUJvb2tNZWRpY2FsLCBmYVBvbywgZmFRdW90ZVJpZ2h0LCBmYVF1b3RlUmlnaHRBbHQsIGZhU2hpcnQsIGZhVFNoaXJ0LCBmYVRzaGlydCwgZmFDdWJlcywgZmFEaXZpZGUsIGZhVGVuZ2VTaWduLCBmYVRlbmdlLCBmYUhlYWRwaG9uZXMsIGZhSGFuZHNIb2xkaW5nLCBmYUhhbmRzQ2xhcHBpbmcsIGZhUmVwdWJsaWNhbiwgZmFBcnJvd0xlZnQsIGZhUGVyc29uQ2lyY2xlWG1hcmssIGZhUnVsZXIsIGZhQWxpZ25MZWZ0LCBmYURpY2VENiwgZmFSZXN0cm9vbSwgZmFKLCBmYVVzZXJzVmlld2ZpbmRlciwgZmFGaWxlVmlkZW8sIGZhVXBSaWdodEZyb21TcXVhcmUsIGZhRXh0ZXJuYWxMaW5rQWx0LCBmYVRhYmxlQ2VsbHMsIGZhVGgsIGZhRmlsZVBkZiwgZmFCb29rQmlibGUsIGZhQmlibGUsIGZhTywgZmFTdWl0Y2FzZU1lZGljYWwsIGZhTWVka2l0LCBmYVVzZXJTZWNyZXQsIGZhT3R0ZXIsIGZhUGVyc29uRHJlc3MsIGZhRmVtYWxlLCBmYUNvbW1lbnREb2xsYXIsIGZhQnVzaW5lc3NUaW1lLCBmYUJyaWVmY2FzZUNsb2NrLCBmYVRhYmxlQ2VsbHNMYXJnZSwgZmFUaExhcmdlLCBmYUJvb2tUYW5ha2gsIGZhVGFuYWtoLCBmYVBob25lVm9sdW1lLCBmYVZvbHVtZUNvbnRyb2xQaG9uZSwgZmFIYXRDb3dib3lTaWRlLCBmYUNsaXBib2FyZFVzZXIsIGZhQ2hpbGQsIGZhTGlyYVNpZ24sIGZhU2F0ZWxsaXRlLCBmYVBsYW5lTG9jaywgZmFUYWcsIGZhQ29tbWVudCwgZmFDYWtlQ2FuZGxlcywgZmFCaXJ0aGRheUNha2UsIGZhQ2FrZSwgZmFFbnZlbG9wZSwgZmFBbmdsZXNVcCwgZmFBbmdsZURvdWJsZVVwLCBmYVBhcGVyY2xpcCwgZmFBcnJvd1JpZ2h0VG9DaXR5LCBmYVJpYmJvbiwgZmFMdW5ncywgZmFBcnJvd1VwOTEsIGZhU29ydE51bWVyaWNVcEFsdCwgZmFMaXRlY29pblNpZ24sIGZhQm9yZGVyTm9uZSwgZmFDaXJjbGVOb2RlcywgZmFQYXJhY2h1dGVCb3gsIGZhSW5kZW50LCBmYVRydWNrRmllbGRVbiwgZmFIb3VyZ2xhc3MsIGZhSG91cmdsYXNzRW1wdHksIGZhTW91bnRhaW4sIGZhVXNlckRvY3RvciwgZmFVc2VyTWQsIGZhQ2lyY2xlSW5mbywgZmFJbmZvQ2lyY2xlLCBmYUNsb3VkTWVhdGJhbGwsIGZhQ2FtZXJhLCBmYUNhbWVyYUFsdCwgZmFTcXVhcmVWaXJ1cywgZmFNZXRlb3IsIGZhQ2FyT24sIGZhU2xlaWdoLCBmYUFycm93RG93bjE5LCBmYVNvcnROdW1lcmljQXNjLCBmYVNvcnROdW1lcmljRG93biwgZmFIYW5kSG9sZGluZ0Ryb3BsZXQsIGZhSGFuZEhvbGRpbmdXYXRlciwgZmFXYXRlciwgZmFDYWxlbmRhckNoZWNrLCBmYUJyYWlsbGUsIGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbCwgZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQsIGZhTGFuZG1hcmssIGZhVHJ1Y2ssIGZhQ3Jvc3NoYWlycywgZmFQZXJzb25DYW5lLCBmYVRlbnQsIGZhVmVzdFBhdGNoZXMsIGZhQ2hlY2tEb3VibGUsIGZhQXJyb3dEb3duQVosIGZhU29ydEFscGhhQXNjLCBmYVNvcnRBbHBoYURvd24sIGZhTW9uZXlCaWxsV2hlYXQsIGZhQ29va2llLCBmYUFycm93Um90YXRlTGVmdCwgZmFBcnJvd0xlZnRSb3RhdGUsIGZhQXJyb3dSb3RhdGVCYWNrLCBmYUFycm93Um90YXRlQmFja3dhcmQsIGZhVW5kbywgZmFIYXJkRHJpdmUsIGZhSGRkLCBmYUZhY2VHcmluU3F1aW50VGVhcnMsIGZhR3JpblNxdWludFRlYXJzLCBmYUR1bWJiZWxsLCBmYVJlY3RhbmdsZUxpc3QsIGZhTGlzdEFsdCwgZmFUYXJwRHJvcGxldCwgZmFIb3VzZU1lZGljYWxDaXJjbGVDaGVjaywgZmFQZXJzb25Ta2lpbmdOb3JkaWMsIGZhU2tpaW5nTm9yZGljLCBmYUNhbGVuZGFyUGx1cywgZmFQbGFuZUFycml2YWwsIGZhQ2lyY2xlTGVmdCwgZmFBcnJvd0FsdENpcmNsZUxlZnQsIGZhVHJhaW5TdWJ3YXksIGZhU3Vid2F5LCBmYUNoYXJ0R2FudHQsIGZhSW5kaWFuUnVwZWVTaWduLCBmYUluZGlhblJ1cGVlLCBmYUluciwgZmFDcm9wU2ltcGxlLCBmYUNyb3BBbHQsIGZhTW9uZXlCaWxsMSwgZmFNb25leUJpbGxBbHQsIGZhTGVmdExvbmcsIGZhTG9uZ0Fycm93QWx0TGVmdCwgZmFEbmEsIGZhVmlydXNTbGFzaCwgZmFNaW51cywgZmFTdWJ0cmFjdCwgZmFDaGVzcywgZmFBcnJvd0xlZnRMb25nLCBmYUxvbmdBcnJvd0xlZnQsIGZhUGx1Z0NpcmNsZUNoZWNrLCBmYVN0cmVldFZpZXcsIGZhRnJhbmNTaWduLCBmYVZvbHVtZU9mZiwgZmFIYW5kc0FzbEludGVycHJldGluZywgZmFBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZywgZmFBc2xJbnRlcnByZXRpbmcsIGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZywgZmFHZWFyLCBmYUNvZywgZmFEcm9wbGV0U2xhc2gsIGZhVGludFNsYXNoLCBmYU1vc3F1ZSwgZmFNb3NxdWl0bywgZmFTdGFyT2ZEYXZpZCwgZmFQZXJzb25NaWxpdGFyeVJpZmxlLCBmYUNhcnRTaG9wcGluZywgZmFTaG9wcGluZ0NhcnQsIGZhVmlhbHMsIGZhUGx1Z0NpcmNsZVBsdXMsIGZhUGxhY2VPZldvcnNoaXAsIGZhR3JpcFZlcnRpY2FsLCBmYUFycm93VHVyblVwLCBmYUxldmVsVXAsIGZhVSwgZmFTcXVhcmVSb290VmFyaWFibGUsIGZhU3F1YXJlUm9vdEFsdCwgZmFDbG9jaywgZmFDbG9ja0ZvdXIsIGZhQmFja3dhcmRTdGVwLCBmYVN0ZXBCYWNrd2FyZCwgZmFQYWxsZXQsIGZhRmF1Y2V0LCBmYUJhc2ViYWxsQmF0QmFsbCwgZmFTLCBmYVRpbWVsaW5lLCBmYUtleWJvYXJkLCBmYUNhcmV0RG93biwgZmFIb3VzZUNoaW1uZXlNZWRpY2FsLCBmYUNsaW5pY01lZGljYWwsIGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzLCBmYVRlbXBlcmF0dXJlMywgZmFUaGVybW9tZXRlcjMsIGZhVGhlcm1vbWV0ZXJUaHJlZVF1YXJ0ZXJzLCBmYU1vYmlsZVNjcmVlbiwgZmFNb2JpbGVBbmRyb2lkQWx0LCBmYVBsYW5lVXAsIGZhUGlnZ3lCYW5rLCBmYUJhdHRlcnlIYWxmLCBmYUJhdHRlcnkzLCBmYU1vdW50YWluQ2l0eSwgZmFDb2lucywgZmFLaGFuZGEsIGZhU2xpZGVycywgZmFTbGlkZXJzSCwgZmFGb2xkZXJUcmVlLCBmYU5ldHdvcmtXaXJlZCwgZmFNYXBQaW4sIGZhSGFtc2EsIGZhQ2VudFNpZ24sIGZhRmxhc2ssIGZhUGVyc29uUHJlZ25hbnQsIGZhV2FuZFNwYXJrbGVzLCBmYUVsbGlwc2lzVmVydGljYWwsIGZhRWxsaXBzaXNWLCBmYVRpY2tldCwgZmFQb3dlck9mZiwgZmFSaWdodExvbmcsIGZhTG9uZ0Fycm93QWx0UmlnaHQsIGZhRmxhZ1VzYSwgZmFMYXB0b3BGaWxlLCBmYVR0eSwgZmFUZWxldHlwZSwgZmFEaWFncmFtTmV4dCwgZmFQZXJzb25SaWZsZSwgZmFIb3VzZU1lZGljYWxDaXJjbGVFeGNsYW1hdGlvbiwgZmFDbG9zZWRDYXB0aW9uaW5nLCBmYVBlcnNvbkhpa2luZywgZmFIaWtpbmcsIGZhVmVudXNEb3VibGUsIGZhSW1hZ2VzLCBmYUNhbGN1bGF0b3IsIGZhUGVvcGxlUHVsbGluZywgZmFOLCBmYUNhYmxlQ2FyLCBmYVRyYW0sIGZhQ2xvdWRSYWluLCBmYUJ1aWxkaW5nQ2lyY2xlWG1hcmssIGZhU2hpcCwgZmFBcnJvd3NEb3duVG9MaW5lLCBmYURvd25sb2FkLCBmYUZhY2VHcmluLCBmYUdyaW4sIGZhRGVsZXRlTGVmdCwgZmFCYWNrc3BhY2UsIGZhRXllRHJvcHBlciwgZmFFeWVEcm9wcGVyRW1wdHksIGZhRXllZHJvcHBlciwgZmFGaWxlQ2lyY2xlQ2hlY2ssIGZhRm9yd2FyZCwgZmFNb2JpbGUsIGZhTW9iaWxlQW5kcm9pZCwgZmFNb2JpbGVQaG9uZSwgZmFGYWNlTWVoLCBmYU1laCwgZmFBbGlnbkNlbnRlciwgZmFCb29rU2t1bGwsIGZhQm9va0RlYWQsIGZhSWRDYXJkLCBmYURyaXZlcnNMaWNlbnNlLCBmYU91dGRlbnQsIGZhRGVkZW50LCBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb24sIGZhSG91c2UsIGZhSG9tZSwgZmFIb21lQWx0LCBmYUhvbWVMZ0FsdCwgZmFDYWxlbmRhcldlZWssIGZhTGFwdG9wTWVkaWNhbCwgZmFCLCBmYUZpbGVNZWRpY2FsLCBmYURpY2VPbmUsIGZhS2l3aUJpcmQsIGZhQXJyb3dSaWdodEFycm93TGVmdCwgZmFFeGNoYW5nZSwgZmFSb3RhdGVSaWdodCwgZmFSZWRvQWx0LCBmYVJvdGF0ZUZvcndhcmQsIGZhVXRlbnNpbHMsIGZhQ3V0bGVyeSwgZmFBcnJvd1VwV2lkZVNob3J0LCBmYVNvcnRBbW91bnRVcCwgZmFNaWxsU2lnbiwgZmFCb3dsUmljZSwgZmFTa3VsbCwgZmFUb3dlckJyb2FkY2FzdCwgZmFCcm9hZGNhc3RUb3dlciwgZmFUcnVja1BpY2t1cCwgZmFVcExvbmcsIGZhTG9uZ0Fycm93QWx0VXAsIGZhU3RvcCwgZmFDb2RlTWVyZ2UsIGZhVXBsb2FkLCBmYUh1cnJpY2FuZSwgZmFNb3VuZCwgZmFUb2lsZXRQb3J0YWJsZSwgZmFDb21wYWN0RGlzYywgZmFGaWxlQXJyb3dEb3duLCBmYUZpbGVEb3dubG9hZCwgZmFDYXJhdmFuLCBmYVNoaWVsZENhdCwgZmFCb2x0LCBmYVphcCwgZmFHbGFzc1dhdGVyLCBmYU9pbFdlbGwsIGZhVmF1bHQsIGZhTWFycywgZmFUb2lsZXQsIGZhUGxhbmVDaXJjbGVYbWFyaywgZmFZZW5TaWduLCBmYUNueSwgZmFKcHksIGZhUm1iLCBmYVllbiwgZmFSdWJsZVNpZ24sIGZhUm91YmxlLCBmYVJ1YiwgZmFSdWJsZSwgZmFTdW4sIGZhR3VpdGFyLCBmYUZhY2VMYXVnaFdpbmssIGZhTGF1Z2hXaW5rLCBmYUhvcnNlSGVhZCwgZmFCb3JlSG9sZSwgZmFJbmR1c3RyeSwgZmFDaXJjbGVEb3duLCBmYUFycm93QWx0Q2lyY2xlRG93biwgZmFBcnJvd3NUdXJuVG9Eb3RzLCBmYUZsb3JpblNpZ24sIGZhQXJyb3dEb3duU2hvcnRXaWRlLCBmYVNvcnRBbW91bnREZXNjLCBmYVNvcnRBbW91bnREb3duQWx0LCBmYUxlc3NUaGFuLCBmYUFuZ2xlRG93biwgZmFDYXJUdW5uZWwsIGZhSGVhZFNpZGVDb3VnaCwgZmFHcmlwTGluZXMsIGZhVGh1bWJzRG93biwgZmFVc2VyTG9jaywgZmFBcnJvd1JpZ2h0TG9uZywgZmFMb25nQXJyb3dSaWdodCwgZmFBbmNob3JDaXJjbGVYbWFyaywgZmFFbGxpcHNpcywgZmFFbGxpcHNpc0gsIGZhQ2hlc3NQYXduLCBmYUtpdE1lZGljYWwsIGZhRmlyc3RBaWQsIGZhUGVyc29uVGhyb3VnaFdpbmRvdywgZmFUb29sYm94LCBmYUhhbmRzSG9sZGluZ0NpcmNsZSwgZmFCdWcsIGZhQ3JlZGl0Q2FyZCwgZmFDcmVkaXRDYXJkQWx0LCBmYUNhciwgZmFBdXRvbW9iaWxlLCBmYUhhbmRIb2xkaW5nSGFuZCwgZmFCb29rT3BlblJlYWRlciwgZmFCb29rUmVhZGVyLCBmYU1vdW50YWluU3VuLCBmYUFycm93c0xlZnRSaWdodFRvTGluZSwgZmFEaWNlRDIwLCBmYVRydWNrRHJvcGxldCwgZmFGaWxlQ2lyY2xlWG1hcmssIGZhVGVtcGVyYXR1cmVBcnJvd1VwLCBmYVRlbXBlcmF0dXJlVXAsIGZhTWVkYWwsIGZhQmVkLCBmYVNxdWFyZUgsIGZhSFNxdWFyZSwgZmFQb2RjYXN0LCBmYVRlbXBlcmF0dXJlRnVsbCwgZmFUZW1wZXJhdHVyZTQsIGZhVGhlcm1vbWV0ZXI0LCBmYVRoZXJtb21ldGVyRnVsbCwgZmFCZWxsLCBmYVN1cGVyc2NyaXB0LCBmYVBsdWdDaXJjbGVYbWFyaywgZmFTdGFyT2ZMaWZlLCBmYVBob25lU2xhc2gsIGZhUGFpbnRSb2xsZXIsIGZhSGFuZHNoYWtlQW5nbGUsIGZhSGFuZHNIZWxwaW5nLCBmYUxvY2F0aW9uRG90LCBmYU1hcE1hcmtlckFsdCwgZmFGaWxlLCBmYUdyZWF0ZXJUaGFuLCBmYVBlcnNvblN3aW1taW5nLCBmYVN3aW1tZXIsIGZhQXJyb3dEb3duLCBmYURyb3BsZXQsIGZhVGludCwgZmFFcmFzZXIsIGZhRWFydGhBbWVyaWNhcywgZmFFYXJ0aCwgZmFFYXJ0aEFtZXJpY2EsIGZhR2xvYmVBbWVyaWNhcywgZmFQZXJzb25CdXJzdCwgZmFEb3ZlLCBmYUJhdHRlcnlFbXB0eSwgZmFCYXR0ZXJ5MCwgZmFTb2NrcywgZmFJbmJveCwgZmFTZWN0aW9uLCBmYUdhdWdlSGlnaCwgZmFUYWNob21ldGVyQWx0LCBmYVRhY2hvbWV0ZXJBbHRGYXN0LCBmYUVudmVsb3BlT3BlblRleHQsIGZhSG9zcGl0YWwsIGZhSG9zcGl0YWxBbHQsIGZhSG9zcGl0YWxXaWRlLCBmYVdpbmVCb3R0bGUsIGZhQ2hlc3NSb29rLCBmYUJhcnNTdGFnZ2VyZWQsIGZhUmVvcmRlciwgZmFTdHJlYW0sIGZhRGhhcm1hY2hha3JhLCBmYUhvdGRvZywgZmFQZXJzb25XYWxraW5nV2l0aENhbmUsIGZhQmxpbmQsIGZhRHJ1bSwgZmFJY2VDcmVhbSwgZmFIZWFydENpcmNsZUJvbHQsIGZhRmF4LCBmYVBhcmFncmFwaCwgZmFDaGVja1RvU2xvdCwgZmFWb3RlWWVhLCBmYVN0YXJIYWxmLCBmYUJveGVzU3RhY2tlZCwgZmFCb3hlcywgZmFCb3hlc0FsdCwgZmFMaW5rLCBmYUNoYWluLCBmYUVhckxpc3RlbiwgZmFBc3Npc3RpdmVMaXN0ZW5pbmdTeXN0ZW1zLCBmYVRyZWVDaXR5LCBmYVBsYXksIGZhRm9udCwgZmFUYWJsZUNlbGxzUm93TG9jaywgZmFSdXBpYWhTaWduLCBmYU1hZ25pZnlpbmdHbGFzcywgZmFTZWFyY2gsIGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsLCBmYVBpbmdQb25nUGFkZGxlQmFsbCwgZmFUYWJsZVRlbm5pcywgZmFQZXJzb25Eb3RzRnJvbUxpbmUsIGZhRGlhZ25vc2VzLCBmYVRyYXNoQ2FuQXJyb3dVcCwgZmFUcmFzaFJlc3RvcmVBbHQsIGZhTmFpcmFTaWduLCBmYUNhcnRBcnJvd0Rvd24sIGZhV2Fsa2llVGFsa2llLCBmYUZpbGVQZW4sIGZhRmlsZUVkaXQsIGZhUmVjZWlwdCwgZmFTcXVhcmVQZW4sIGZhUGVuU3F1YXJlLCBmYVBlbmNpbFNxdWFyZSwgZmFTdWl0Y2FzZVJvbGxpbmcsIGZhUGVyc29uQ2lyY2xlRXhjbGFtYXRpb24sIGZhQ2hldnJvbkRvd24sIGZhQmF0dGVyeUZ1bGwsIGZhQmF0dGVyeSwgZmFCYXR0ZXJ5NSwgZmFTa3VsbENyb3NzYm9uZXMsIGZhQ29kZUNvbXBhcmUsIGZhTGlzdFVsLCBmYUxpc3REb3RzLCBmYVNjaG9vbExvY2ssIGZhVG93ZXJDZWxsLCBmYURvd25Mb25nLCBmYUxvbmdBcnJvd0FsdERvd24sIGZhUmFua2luZ1N0YXIsIGZhQ2hlc3NLaW5nLCBmYVBlcnNvbkhhcmFzc2luZywgZmFCcmF6aWxpYW5SZWFsU2lnbiwgZmFMYW5kbWFya0RvbWUsIGZhTGFuZG1hcmtBbHQsIGZhQXJyb3dVcCwgZmFUdiwgZmFUZWxldmlzaW9uLCBmYVR2QWx0LCBmYVNocmltcCwgZmFMaXN0Q2hlY2ssIGZhVGFza3MsIGZhSnVnRGV0ZXJnZW50LCBmYUNpcmNsZVVzZXIsIGZhVXNlckNpcmNsZSwgZmFVc2VyU2hpZWxkLCBmYVdpbmQsIGZhQ2FyQnVyc3QsIGZhQ2FyQ3Jhc2gsIGZhWSwgZmFQZXJzb25Tbm93Ym9hcmRpbmcsIGZhU25vd2JvYXJkaW5nLCBmYVRydWNrRmFzdCwgZmFTaGlwcGluZ0Zhc3QsIGZhRmlzaCwgZmFVc2VyR3JhZHVhdGUsIGZhQ2lyY2xlSGFsZlN0cm9rZSwgZmFBZGp1c3QsIGZhQ2xhcHBlcmJvYXJkLCBmYUNpcmNsZVJhZGlhdGlvbiwgZmFSYWRpYXRpb25BbHQsIGZhQmFzZWJhbGwsIGZhQmFzZWJhbGxCYWxsLCBmYUpldEZpZ2h0ZXJVcCwgZmFEaWFncmFtUHJvamVjdCwgZmFQcm9qZWN0RGlhZ3JhbSwgZmFDb3B5LCBmYVZvbHVtZVhtYXJrLCBmYVZvbHVtZU11dGUsIGZhVm9sdW1lVGltZXMsIGZhSGFuZFNwYXJrbGVzLCBmYUdyaXAsIGZhR3JpcEhvcml6b250YWwsIGZhU2hhcmVGcm9tU3F1YXJlLCBmYVNoYXJlU3F1YXJlLCBmYUNoaWxkQ29tYmF0YW50LCBmYUNoaWxkUmlmbGUsIGZhR3VuLCBmYVNxdWFyZVBob25lLCBmYVBob25lU3F1YXJlLCBmYVBsdXMsIGZhQWRkLCBmYUV4cGFuZCwgZmFDb21wdXRlciwgZmFYbWFyaywgZmFDbG9zZSwgZmFNdWx0aXBseSwgZmFSZW1vdmUsIGZhVGltZXMsIGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0LCBmYUFycm93cywgZmFDaGFsa2JvYXJkVXNlciwgZmFDaGFsa2JvYXJkVGVhY2hlciwgZmFQZXNvU2lnbiwgZmFCdWlsZGluZ1NoaWVsZCwgZmFCYWJ5LCBmYVVzZXJzTGluZSwgZmFRdW90ZUxlZnQsIGZhUXVvdGVMZWZ0QWx0LCBmYVRyYWN0b3IsIGZhVHJhc2hBcnJvd1VwLCBmYVRyYXNoUmVzdG9yZSwgZmFBcnJvd0Rvd25VcExvY2ssIGZhTGluZXNMZWFuaW5nLCBmYVJ1bGVyQ29tYmluZWQsIGZhQ29weXJpZ2h0LCBmYUVxdWFscywgZmFCbGVuZGVyLCBmYVRlZXRoLCBmYVNoZWtlbFNpZ24sIGZhSWxzLCBmYVNoZWtlbCwgZmFTaGVxZWwsIGZhU2hlcWVsU2lnbiwgZmFNYXAsIGZhUm9ja2V0LCBmYVBob3RvRmlsbSwgZmFQaG90b1ZpZGVvLCBmYUZvbGRlck1pbnVzLCBmYVN0b3JlLCBmYUFycm93VHJlbmRVcCwgZmFQbHVnQ2lyY2xlTWludXMsIGZhU2lnbkhhbmdpbmcsIGZhU2lnbiwgZmFCZXppZXJDdXJ2ZSwgZmFCZWxsU2xhc2gsIGZhVGFibGV0LCBmYVRhYmxldEFuZHJvaWQsIGZhU2Nob29sRmxhZywgZmFGaWxsLCBmYUFuZ2xlVXAsIGZhRHJ1bXN0aWNrQml0ZSwgZmFIb2xseUJlcnJ5LCBmYUNoZXZyb25MZWZ0LCBmYUJhY3RlcmlhLCBmYUhhbmRMaXphcmQsIGZhTm90ZGVmLCBmYURpc2Vhc2UsIGZhQnJpZWZjYXNlTWVkaWNhbCwgZmFHZW5kZXJsZXNzLCBmYUNoZXZyb25SaWdodCwgZmFSZXR3ZWV0LCBmYUNhclJlYXIsIGZhQ2FyQWx0LCBmYVB1bXBTb2FwLCBmYVZpZGVvU2xhc2gsIGZhQmF0dGVyeVF1YXJ0ZXIsIGZhQmF0dGVyeTIsIGZhUmFkaW8sIGZhQmFieUNhcnJpYWdlLCBmYUNhcnJpYWdlQmFieSwgZmFUcmFmZmljTGlnaHQsIGZhVGhlcm1vbWV0ZXIsIGZhVnJDYXJkYm9hcmQsIGZhSGFuZE1pZGRsZUZpbmdlciwgZmFQZXJjZW50LCBmYVBlcmNlbnRhZ2UsIGZhVHJ1Y2tNb3ZpbmcsIGZhR2xhc3NXYXRlckRyb3BsZXQsIGZhRGlzcGxheSwgZmFGYWNlU21pbGUsIGZhU21pbGUsIGZhVGh1bWJ0YWNrLCBmYVRodW1iVGFjaywgZmFUcm9waHksIGZhUGVyc29uUHJheWluZywgZmFQcmF5LCBmYUhhbW1lciwgZmFIYW5kUGVhY2UsIGZhUm90YXRlLCBmYVN5bmNBbHQsIGZhU3Bpbm5lciwgZmFSb2JvdCwgZmFQZWFjZSwgZmFHZWFycywgZmFDb2dzLCBmYVdhcmVob3VzZSwgZmFBcnJvd1VwUmlnaHREb3RzLCBmYVNwbG90Y2gsIGZhRmFjZUdyaW5IZWFydHMsIGZhR3JpbkhlYXJ0cywgZmFEaWNlRm91ciwgZmFTaW1DYXJkLCBmYVRyYW5zZ2VuZGVyLCBmYVRyYW5zZ2VuZGVyQWx0LCBmYU1lcmN1cnksIGZhQXJyb3dUdXJuRG93biwgZmFMZXZlbERvd24sIGZhUGVyc29uRmFsbGluZ0J1cnN0LCBmYUF3YXJkLCBmYVRpY2tldFNpbXBsZSwgZmFUaWNrZXRBbHQsIGZhQnVpbGRpbmcsIGZhQW5nbGVzTGVmdCwgZmFBbmdsZURvdWJsZUxlZnQsIGZhUXJjb2RlLCBmYUNsb2NrUm90YXRlTGVmdCwgZmFIaXN0b3J5LCBmYUZhY2VHcmluQmVhbVN3ZWF0LCBmYUdyaW5CZWFtU3dlYXQsIGZhRmlsZUV4cG9ydCwgZmFBcnJvd1JpZ2h0RnJvbUZpbGUsIGZhU2hpZWxkLCBmYVNoaWVsZEJsYW5rLCBmYUFycm93VXBTaG9ydFdpZGUsIGZhU29ydEFtb3VudFVwQWx0LCBmYUhvdXNlTWVkaWNhbCwgZmFHb2xmQmFsbFRlZSwgZmFHb2xmQmFsbCwgZmFDaXJjbGVDaGV2cm9uTGVmdCwgZmFDaGV2cm9uQ2lyY2xlTGVmdCwgZmFIb3VzZUNoaW1uZXlXaW5kb3csIGZhUGVuTmliLCBmYVRlbnRBcnJvd1R1cm5MZWZ0LCBmYVRlbnRzLCBmYVdhbmRNYWdpYywgZmFNYWdpYywgZmFEb2csIGZhQ2Fycm90LCBmYU1vb24sIGZhV2luZUdsYXNzRW1wdHksIGZhV2luZUdsYXNzQWx0LCBmYUNoZWVzZSwgZmFZaW5ZYW5nLCBmYU11c2ljLCBmYUNvZGVDb21taXQsIGZhVGVtcGVyYXR1cmVMb3csIGZhUGVyc29uQmlraW5nLCBmYUJpa2luZywgZmFCcm9vbSwgZmFTaGllbGRIZWFydCwgZmFHb3B1cmFtLCBmYUVhcnRoT2NlYW5pYSwgZmFHbG9iZU9jZWFuaWEsIGZhU3F1YXJlWG1hcmssIGZhVGltZXNTcXVhcmUsIGZhWG1hcmtTcXVhcmUsIGZhSGFzaHRhZywgZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyLCBmYUV4cGFuZEFsdCwgZmFPaWxDYW4sIGZhVCwgZmFIaXBwbywgZmFDaGFydENvbHVtbiwgZmFJbmZpbml0eSwgZmFWaWFsQ2lyY2xlQ2hlY2ssIGZhUGVyc29uQXJyb3dEb3duVG9MaW5lLCBmYVZvaWNlbWFpbCwgZmFGYW4sIGZhUGVyc29uV2Fsa2luZ0x1Z2dhZ2UsIGZhVXBEb3duLCBmYUFycm93c0FsdFYsIGZhQ2xvdWRNb29uUmFpbiwgZmFDYWxlbmRhciwgZmFUcmFpbGVyLCBmYUJhaGFpLCBmYUhheWthbCwgZmFTZENhcmQsIGZhRHJhZ29uLCBmYVNob2VQcmludHMsIGZhQ2lyY2xlUGx1cywgZmFQbHVzQ2lyY2xlLCBmYUZhY2VHcmluVG9uZ3VlV2luaywgZmFHcmluVG9uZ3VlV2luaywgZmFIYW5kSG9sZGluZywgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb24sIGZhTGlua1NsYXNoLCBmYUNoYWluQnJva2VuLCBmYUNoYWluU2xhc2gsIGZhVW5saW5rLCBmYUNsb25lLCBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0LCBmYUFycm93VXBaQSwgZmFTb3J0QWxwaGFVcEFsdCwgZmFGaXJlRmxhbWVDdXJ2ZWQsIGZhRmlyZUFsdCwgZmFUb3JuYWRvLCBmYUZpbGVDaXJjbGVQbHVzLCBmYUJvb2tRdXJhbiwgZmFRdXJhbiwgZmFBbmNob3IsIGZhQm9yZGVyQWxsLCBmYUZhY2VBbmdyeSwgZmFBbmdyeSwgZmFDb29raWVCaXRlLCBmYUFycm93VHJlbmREb3duLCBmYVJzcywgZmFGZWVkLCBmYURyYXdQb2x5Z29uLCBmYVNjYWxlQmFsYW5jZWQsIGZhQmFsYW5jZVNjYWxlLCBmYUdhdWdlU2ltcGxlSGlnaCwgZmFUYWNob21ldGVyLCBmYVRhY2hvbWV0ZXJGYXN0LCBmYVNob3dlciwgZmFEZXNrdG9wLCBmYURlc2t0b3BBbHQsIGZhTSwgZmFUYWJsZUxpc3QsIGZhVGhMaXN0LCBmYUNvbW1lbnRTbXMsIGZhU21zLCBmYUJvb2ssIGZhVXNlclBsdXMsIGZhQ2hlY2ssIGZhQmF0dGVyeVRocmVlUXVhcnRlcnMsIGZhQmF0dGVyeTQsIGZhSG91c2VDaXJjbGVDaGVjaywgZmFBbmdsZUxlZnQsIGZhRGlhZ3JhbVN1Y2Nlc3NvciwgZmFUcnVja0Fycm93UmlnaHQsIGZhQXJyb3dzU3BsaXRVcEFuZExlZnQsIGZhSGFuZEZpc3QsIGZhRmlzdFJhaXNlZCwgZmFDbG91ZE1vb24sIGZhQnJpZWZjYXNlLCBmYVBlcnNvbkZhbGxpbmcsIGZhSW1hZ2VQb3J0cmFpdCwgZmFQb3J0cmFpdCwgZmFVc2VyVGFnLCBmYVJ1ZywgZmFFYXJ0aEV1cm9wZSwgZmFHbG9iZUV1cm9wZSwgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlLCBmYUx1Z2dhZ2VDYXJ0LCBmYVJlY3RhbmdsZVhtYXJrLCBmYVJlY3RhbmdsZVRpbWVzLCBmYVRpbWVzUmVjdGFuZ2xlLCBmYVdpbmRvd0Nsb3NlLCBmYUJhaHRTaWduLCBmYUJvb2tPcGVuLCBmYUJvb2tKb3VybmFsV2hpbGxzLCBmYUpvdXJuYWxXaGlsbHMsIGZhSGFuZGN1ZmZzLCBmYVRyaWFuZ2xlRXhjbGFtYXRpb24sIGZhRXhjbGFtYXRpb25UcmlhbmdsZSwgZmFXYXJuaW5nLCBmYURhdGFiYXNlLCBmYVNoYXJlLCBmYU1haWxGb3J3YXJkLCBmYUJvdHRsZURyb3BsZXQsIGZhTWFza0ZhY2UsIGZhSGlsbFJvY2tzbGlkZSwgZmFSaWdodExlZnQsIGZhRXhjaGFuZ2VBbHQsIGZhUGFwZXJQbGFuZSwgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb24sIGZhRHVuZ2VvbiwgZmFBbGlnblJpZ2h0LCBmYU1vbmV5QmlsbDFXYXZlLCBmYU1vbmV5QmlsbFdhdmVBbHQsIGZhTGlmZVJpbmcsIGZhSGFuZHMsIGZhU2lnbkxhbmd1YWdlLCBmYVNpZ25pbmcsIGZhQ2FsZW5kYXJEYXksIGZhV2F0ZXJMYWRkZXIsIGZhTGFkZGVyV2F0ZXIsIGZhU3dpbW1pbmdQb29sLCBmYUFycm93c1VwRG93biwgZmFBcnJvd3NWLCBmYUZhY2VHcmltYWNlLCBmYUdyaW1hY2UsIGZhV2hlZWxjaGFpck1vdmUsIGZhV2hlZWxjaGFpckFsdCwgZmFUdXJuRG93biwgZmFMZXZlbERvd25BbHQsIGZhUGVyc29uV2Fsa2luZ0Fycm93UmlnaHQsIGZhU3F1YXJlRW52ZWxvcGUsIGZhRW52ZWxvcGVTcXVhcmUsIGZhRGljZSwgZmFCb3dsaW5nQmFsbCwgZmFCcmFpbiwgZmFCYW5kYWdlLCBmYUJhbmRBaWQsIGZhQ2FsZW5kYXJNaW51cywgZmFDaXJjbGVYbWFyaywgZmFUaW1lc0NpcmNsZSwgZmFYbWFya0NpcmNsZSwgZmFHaWZ0cywgZmFIb3RlbCwgZmFFYXJ0aEFzaWEsIGZhR2xvYmVBc2lhLCBmYUlkQ2FyZENsaXAsIGZhSWRDYXJkQWx0LCBmYU1hZ25pZnlpbmdHbGFzc1BsdXMsIGZhU2VhcmNoUGx1cywgZmFUaHVtYnNVcCwgZmFVc2VyQ2xvY2ssIGZhSGFuZERvdHMsIGZhQWxsZXJnaWVzLCBmYUZpbGVJbnZvaWNlLCBmYVdpbmRvd01pbmltaXplLCBmYU11Z1NhdWNlciwgZmFDb2ZmZWUsIGZhQnJ1c2gsIGZhTWFzaywgZmFNYWduaWZ5aW5nR2xhc3NNaW51cywgZmFTZWFyY2hNaW51cywgZmFSdWxlclZlcnRpY2FsLCBmYVVzZXJMYXJnZSwgZmFVc2VyQWx0LCBmYVRyYWluVHJhbSwgZmFVc2VyTnVyc2UsIGZhU3lyaW5nZSwgZmFDbG91ZFN1biwgZmFTdG9wd2F0Y2gyMCwgZmFTcXVhcmVGdWxsLCBmYU1hZ25ldCwgZmFKYXIsIGZhTm90ZVN0aWNreSwgZmFTdGlja3lOb3RlLCBmYUJ1Z1NsYXNoLCBmYUFycm93VXBGcm9tV2F0ZXJQdW1wLCBmYUJvbmUsIGZhVGFibGVDZWxsc1Jvd1VubG9jaywgZmFVc2VySW5qdXJlZCwgZmFGYWNlU2FkVGVhciwgZmFTYWRUZWFyLCBmYVBsYW5lLCBmYVRlbnRBcnJvd3NEb3duLCBmYUV4Y2xhbWF0aW9uLCBmYUFycm93c1NwaW4sIGZhUHJpbnQsIGZhVHVya2lzaExpcmFTaWduLCBmYVRyeSwgZmFUdXJraXNoTGlyYSwgZmFEb2xsYXJTaWduLCBmYURvbGxhciwgZmFVc2QsIGZhWCwgZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXIsIGZhU2VhcmNoRG9sbGFyLCBmYVVzZXJzR2VhciwgZmFVc2Vyc0NvZywgZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nLCBmYUJ1aWxkaW5nQ29sdW1ucywgZmFCYW5rLCBmYUluc3RpdHV0aW9uLCBmYU11c2V1bSwgZmFVbml2ZXJzaXR5LCBmYVVtYnJlbGxhLCBmYVRyb3dlbCwgZmFELCBmYVN0YXBsZXIsIGZhTWFza3NUaGVhdGVyLCBmYVRoZWF0ZXJNYXNrcywgZmFLaXBTaWduLCBmYUhhbmRQb2ludExlZnQsIGZhSGFuZHNoYWtlU2ltcGxlLCBmYUhhbmRzaGFrZUFsdCwgZmFKZXRGaWdodGVyLCBmYUZpZ2h0ZXJKZXQsIGZhU3F1YXJlU2hhcmVOb2RlcywgZmFTaGFyZUFsdFNxdWFyZSwgZmFCYXJjb2RlLCBmYVBsdXNNaW51cywgZmFWaWRlbywgZmFWaWRlb0NhbWVyYSwgZmFHcmFkdWF0aW9uQ2FwLCBmYU1vcnRhckJvYXJkLCBmYUhhbmRIb2xkaW5nTWVkaWNhbCwgZmFQZXJzb25DaXJjbGVDaGVjaywgZmFUdXJuVXAsIGZhTGV2ZWxVcEFsdCB9O1xuIiwgImNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcblxubGV0IF9XSU5ET1cgPSB7fTtcbmxldCBfRE9DVU1FTlQgPSB7fTtcbmxldCBfTVVUQVRJT05fT0JTRVJWRVIgPSBudWxsO1xubGV0IF9QRVJGT1JNQU5DRSA9IHtcbiAgbWFyazogbm9vcCxcbiAgbWVhc3VyZTogbm9vcFxufTtcblxudHJ5IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSBfV0lORE9XID0gd2luZG93O1xuICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgX0RPQ1VNRU5UID0gZG9jdW1lbnQ7XG4gIGlmICh0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIF9NVVRBVElPTl9PQlNFUlZFUiA9IE11dGF0aW9uT2JzZXJ2ZXI7XG4gIGlmICh0eXBlb2YgcGVyZm9ybWFuY2UgIT09ICd1bmRlZmluZWQnKSBfUEVSRk9STUFOQ0UgPSBwZXJmb3JtYW5jZTtcbn0gY2F0Y2ggKGUpIHt9XG5cbmNvbnN0IHtcbiAgdXNlckFnZW50ID0gJydcbn0gPSBfV0lORE9XLm5hdmlnYXRvciB8fCB7fTtcbmNvbnN0IFdJTkRPVyA9IF9XSU5ET1c7XG5jb25zdCBET0NVTUVOVCA9IF9ET0NVTUVOVDtcbmNvbnN0IE1VVEFUSU9OX09CU0VSVkVSID0gX01VVEFUSU9OX09CU0VSVkVSO1xuY29uc3QgUEVSRk9STUFOQ0UgPSBfUEVSRk9STUFOQ0U7XG5jb25zdCBJU19CUk9XU0VSID0gISFXSU5ET1cuZG9jdW1lbnQ7XG5jb25zdCBJU19ET00gPSAhIURPQ1VNRU5ULmRvY3VtZW50RWxlbWVudCAmJiAhIURPQ1VNRU5ULmhlYWQgJiYgdHlwZW9mIERPQ1VNRU5ULmFkZEV2ZW50TGlzdGVuZXIgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQgPT09ICdmdW5jdGlvbic7XG5jb25zdCBJU19JRSA9IH51c2VyQWdlbnQuaW5kZXhPZignTVNJRScpIHx8IH51c2VyQWdlbnQuaW5kZXhPZignVHJpZGVudC8nKTtcblxudmFyIGEgPSBcImNsYXNzaWNcIixcbiAgICB0ID0gXCJkdW90b25lXCIsXG4gICAgciA9IFwic2hhcnBcIixcbiAgICBvID0gXCJzaGFycC1kdW90b25lXCIsXG4gICAgYyA9IFthLCB0LCByLCBvXTtcblxudmFyIGV0JDEgPSB7XG4gIGNsYXNzaWM6IHtcbiAgICA5MDA6IFwiZmFzXCIsXG4gICAgNDAwOiBcImZhclwiLFxuICAgIG5vcm1hbDogXCJmYXJcIixcbiAgICAzMDA6IFwiZmFsXCIsXG4gICAgMTAwOiBcImZhdFwiXG4gIH0sXG4gIHNoYXJwOiB7XG4gICAgOTAwOiBcImZhc3NcIixcbiAgICA0MDA6IFwiZmFzclwiLFxuICAgIDMwMDogXCJmYXNsXCIsXG4gICAgMTAwOiBcImZhc3RcIlxuICB9LFxuICBcInNoYXJwLWR1b3RvbmVcIjoge1xuICAgIDkwMDogXCJmYXNkc1wiXG4gIH1cbn07XG52YXIgYnQgPSB7XG4gIGtpdDoge1xuICAgIGZhazogXCJraXRcIixcbiAgICBcImZhLWtpdFwiOiBcImtpdFwiXG4gIH0sXG4gIFwia2l0LWR1b3RvbmVcIjoge1xuICAgIGZha2Q6IFwia2l0LWR1b3RvbmVcIixcbiAgICBcImZhLWtpdC1kdW90b25lXCI6IFwia2l0LWR1b3RvbmVcIlxuICB9XG59LFxuICAgIEN0ID0gW1wia2l0XCJdO1xudmFyIER0ID0gL2ZhKHN8cnxsfHR8ZHxifGt8a2R8c3N8c3J8c2x8c3R8c2RzKT9bXFwtXFwgXS8sXG4gICAgS3QgPSAvRm9udCA/QXdlc29tZSA/KFs1NiBdKikoU29saWR8UmVndWxhcnxMaWdodHxUaGlufER1b3RvbmV8QnJhbmRzfEZyZWV8UHJvfFNoYXJwIER1b3RvbmV8U2hhcnB8S2l0KT8uKi9pO1xudmFyIGFvID0ge1xuICBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjoge1xuICAgIDkwMDogXCJmYXNcIixcbiAgICA0MDA6IFwiZmFyXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNSBQcm9cIjoge1xuICAgIDkwMDogXCJmYXNcIixcbiAgICA0MDA6IFwiZmFyXCIsXG4gICAgbm9ybWFsOiBcImZhclwiLFxuICAgIDMwMDogXCJmYWxcIlxuICB9LFxuICBcIkZvbnQgQXdlc29tZSA1IEJyYW5kc1wiOiB7XG4gICAgNDAwOiBcImZhYlwiLFxuICAgIG5vcm1hbDogXCJmYWJcIlxuICB9LFxuICBcIkZvbnQgQXdlc29tZSA1IER1b3RvbmVcIjoge1xuICAgIDkwMDogXCJmYWRcIlxuICB9XG59O1xudmFyIGVvID0ge1xuICBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIjoge1xuICAgIDkwMDogXCJmYXNcIixcbiAgICA0MDA6IFwiZmFyXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNiBQcm9cIjoge1xuICAgIDkwMDogXCJmYXNcIixcbiAgICA0MDA6IFwiZmFyXCIsXG4gICAgbm9ybWFsOiBcImZhclwiLFxuICAgIDMwMDogXCJmYWxcIixcbiAgICAxMDA6IFwiZmF0XCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcIjoge1xuICAgIDQwMDogXCJmYWJcIixcbiAgICBub3JtYWw6IFwiZmFiXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNiBEdW90b25lXCI6IHtcbiAgICA5MDA6IFwiZmFkXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNiBTaGFycFwiOiB7XG4gICAgOTAwOiBcImZhc3NcIixcbiAgICA0MDA6IFwiZmFzclwiLFxuICAgIG5vcm1hbDogXCJmYXNyXCIsXG4gICAgMzAwOiBcImZhc2xcIixcbiAgICAxMDA6IFwiZmFzdFwiXG4gIH0sXG4gIFwiRm9udCBBd2Vzb21lIDYgU2hhcnAgRHVvdG9uZVwiOiB7XG4gICAgOTAwOiBcImZhc2RzXCJcbiAgfVxufSxcbiAgICBsbyA9IHtcbiAgY2xhc3NpYzoge1xuICAgIFwiZmEtYnJhbmRzXCI6IFwiZmFiXCIsXG4gICAgXCJmYS1kdW90b25lXCI6IFwiZmFkXCIsXG4gICAgXCJmYS1saWdodFwiOiBcImZhbFwiLFxuICAgIFwiZmEtcmVndWxhclwiOiBcImZhclwiLFxuICAgIFwiZmEtc29saWRcIjogXCJmYXNcIixcbiAgICBcImZhLXRoaW5cIjogXCJmYXRcIlxuICB9LFxuICBzaGFycDoge1xuICAgIFwiZmEtc29saWRcIjogXCJmYXNzXCIsXG4gICAgXCJmYS1yZWd1bGFyXCI6IFwiZmFzclwiLFxuICAgIFwiZmEtbGlnaHRcIjogXCJmYXNsXCIsXG4gICAgXCJmYS10aGluXCI6IFwiZmFzdFwiXG4gIH0sXG4gIFwic2hhcnAtZHVvdG9uZVwiOiB7XG4gICAgXCJmYS1zb2xpZFwiOiBcImZhc2RzXCJcbiAgfVxufSxcbiAgICB5ID0ge1xuICBjbGFzc2ljOiBbXCJmYXNcIiwgXCJmYXJcIiwgXCJmYWxcIiwgXCJmYXRcIl0sXG4gIHNoYXJwOiBbXCJmYXNzXCIsIFwiZmFzclwiLCBcImZhc2xcIiwgXCJmYXN0XCJdLFxuICBcInNoYXJwLWR1b3RvbmVcIjogW1wiZmFzZHNcIl1cbn0sXG4gICAgbm8gPSB7XG4gIGNsYXNzaWM6IHtcbiAgICBmYWI6IFwiZmEtYnJhbmRzXCIsXG4gICAgZmFkOiBcImZhLWR1b3RvbmVcIixcbiAgICBmYWw6IFwiZmEtbGlnaHRcIixcbiAgICBmYXI6IFwiZmEtcmVndWxhclwiLFxuICAgIGZhczogXCJmYS1zb2xpZFwiLFxuICAgIGZhdDogXCJmYS10aGluXCJcbiAgfSxcbiAgc2hhcnA6IHtcbiAgICBmYXNzOiBcImZhLXNvbGlkXCIsXG4gICAgZmFzcjogXCJmYS1yZWd1bGFyXCIsXG4gICAgZmFzbDogXCJmYS1saWdodFwiLFxuICAgIGZhc3Q6IFwiZmEtdGhpblwiXG4gIH0sXG4gIFwic2hhcnAtZHVvdG9uZVwiOiB7XG4gICAgZmFzZHM6IFwiZmEtc29saWRcIlxuICB9XG59LFxuICAgIGZvID0ge1xuICBjbGFzc2ljOiB7XG4gICAgc29saWQ6IFwiZmFzXCIsXG4gICAgcmVndWxhcjogXCJmYXJcIixcbiAgICBsaWdodDogXCJmYWxcIixcbiAgICB0aGluOiBcImZhdFwiLFxuICAgIGR1b3RvbmU6IFwiZmFkXCIsXG4gICAgYnJhbmRzOiBcImZhYlwiXG4gIH0sXG4gIHNoYXJwOiB7XG4gICAgc29saWQ6IFwiZmFzc1wiLFxuICAgIHJlZ3VsYXI6IFwiZmFzclwiLFxuICAgIGxpZ2h0OiBcImZhc2xcIixcbiAgICB0aGluOiBcImZhc3RcIlxuICB9LFxuICBcInNoYXJwLWR1b3RvbmVcIjoge1xuICAgIHNvbGlkOiBcImZhc2RzXCJcbiAgfVxufSxcbiAgICBobyA9IHtcbiAgY2xhc3NpYzoge1xuICAgIGZhOiBcInNvbGlkXCIsXG4gICAgZmFzOiBcInNvbGlkXCIsXG4gICAgXCJmYS1zb2xpZFwiOiBcInNvbGlkXCIsXG4gICAgZmFyOiBcInJlZ3VsYXJcIixcbiAgICBcImZhLXJlZ3VsYXJcIjogXCJyZWd1bGFyXCIsXG4gICAgZmFsOiBcImxpZ2h0XCIsXG4gICAgXCJmYS1saWdodFwiOiBcImxpZ2h0XCIsXG4gICAgZmF0OiBcInRoaW5cIixcbiAgICBcImZhLXRoaW5cIjogXCJ0aGluXCIsXG4gICAgZmFkOiBcImR1b3RvbmVcIixcbiAgICBcImZhLWR1b3RvbmVcIjogXCJkdW90b25lXCIsXG4gICAgZmFiOiBcImJyYW5kc1wiLFxuICAgIFwiZmEtYnJhbmRzXCI6IFwiYnJhbmRzXCJcbiAgfSxcbiAgc2hhcnA6IHtcbiAgICBmYTogXCJzb2xpZFwiLFxuICAgIGZhc3M6IFwic29saWRcIixcbiAgICBcImZhLXNvbGlkXCI6IFwic29saWRcIixcbiAgICBmYXNyOiBcInJlZ3VsYXJcIixcbiAgICBcImZhLXJlZ3VsYXJcIjogXCJyZWd1bGFyXCIsXG4gICAgZmFzbDogXCJsaWdodFwiLFxuICAgIFwiZmEtbGlnaHRcIjogXCJsaWdodFwiLFxuICAgIGZhc3Q6IFwidGhpblwiLFxuICAgIFwiZmEtdGhpblwiOiBcInRoaW5cIlxuICB9LFxuICBcInNoYXJwLWR1b3RvbmVcIjoge1xuICAgIGZhOiBcInNvbGlkXCIsXG4gICAgZmFzZHM6IFwic29saWRcIixcbiAgICBcImZhLXNvbGlkXCI6IFwic29saWRcIlxuICB9XG59LFxuICAgIHgkMSA9IFtcInNvbGlkXCIsIFwicmVndWxhclwiLCBcImxpZ2h0XCIsIFwidGhpblwiLCBcImR1b3RvbmVcIiwgXCJicmFuZHNcIl0sXG4gICAgdSQxID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXSxcbiAgICBtJDEgPSB1JDEuY29uY2F0KFsxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMF0pLFxuICAgIHQkMSA9IHtcbiAgR1JPVVA6IFwiZHVvdG9uZS1ncm91cFwiLFxuICBTV0FQX09QQUNJVFk6IFwic3dhcC1vcGFjaXR5XCIsXG4gIFBSSU1BUlk6IFwicHJpbWFyeVwiLFxuICBTRUNPTkRBUlk6IFwic2Vjb25kYXJ5XCJcbn0sXG4gICAgeW8gPSBbLi4uT2JqZWN0LmtleXMoeSksIC4uLngkMSwgXCIyeHNcIiwgXCJ4c1wiLCBcInNtXCIsIFwibGdcIiwgXCJ4bFwiLCBcIjJ4bFwiLCBcImJlYXRcIiwgXCJib3JkZXJcIiwgXCJmYWRlXCIsIFwiYmVhdC1mYWRlXCIsIFwiYm91bmNlXCIsIFwiZmxpcC1ib3RoXCIsIFwiZmxpcC1ob3Jpem9udGFsXCIsIFwiZmxpcC12ZXJ0aWNhbFwiLCBcImZsaXBcIiwgXCJmd1wiLCBcImludmVyc2VcIiwgXCJsYXllcnMtY291bnRlclwiLCBcImxheWVycy10ZXh0XCIsIFwibGF5ZXJzXCIsIFwibGlcIiwgXCJwdWxsLWxlZnRcIiwgXCJwdWxsLXJpZ2h0XCIsIFwicHVsc2VcIiwgXCJyb3RhdGUtMTgwXCIsIFwicm90YXRlLTI3MFwiLCBcInJvdGF0ZS05MFwiLCBcInJvdGF0ZS1ieVwiLCBcInNoYWtlXCIsIFwic3Bpbi1wdWxzZVwiLCBcInNwaW4tcmV2ZXJzZVwiLCBcInNwaW5cIiwgXCJzdGFjay0xeFwiLCBcInN0YWNrLTJ4XCIsIFwic3RhY2tcIiwgXCJ1bFwiLCB0JDEuR1JPVVAsIHQkMS5TV0FQX09QQUNJVFksIHQkMS5QUklNQVJZLCB0JDEuU0VDT05EQVJZXS5jb25jYXQodSQxLm1hcChvID0+IFwiXCIuY29uY2F0KG8sIFwieFwiKSkpLmNvbmNhdChtJDEubWFwKG8gPT4gXCJ3LVwiLmNvbmNhdChvKSkpO1xudmFyIG1vID0ge1xuICBcIkZvbnQgQXdlc29tZSBLaXRcIjoge1xuICAgIDQwMDogXCJmYWtcIixcbiAgICBub3JtYWw6IFwiZmFrXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgS2l0IER1b3RvbmVcIjoge1xuICAgIDQwMDogXCJmYWtkXCIsXG4gICAgbm9ybWFsOiBcImZha2RcIlxuICB9XG59LFxuICAgIElvID0ge1xuICBraXQ6IHtcbiAgICBcImZhLWtpdFwiOiBcImZha1wiXG4gIH0sXG4gIFwia2l0LWR1b3RvbmVcIjoge1xuICAgIFwiZmEta2l0LWR1b3RvbmVcIjogXCJmYWtkXCJcbiAgfVxufSxcbiAgICBGbyA9IHtcbiAga2l0OiB7XG4gICAgZmFrOiBcImZhLWtpdFwiXG4gIH0sXG4gIFwia2l0LWR1b3RvbmVcIjoge1xuICAgIGZha2Q6IFwiZmEta2l0LWR1b3RvbmVcIlxuICB9XG59LFxuICAgIFNvID0ge1xuICBraXQ6IHtcbiAgICBraXQ6IFwiZmFrXCJcbiAgfSxcbiAgXCJraXQtZHVvdG9uZVwiOiB7XG4gICAgXCJraXQtZHVvdG9uZVwiOiBcImZha2RcIlxuICB9XG59O1xuXG5jb25zdCBOQU1FU1BBQ0VfSURFTlRJRklFUiA9ICdfX19GT05UX0FXRVNPTUVfX18nO1xuY29uc3QgVU5JVFNfSU5fR1JJRCA9IDE2O1xuY29uc3QgREVGQVVMVF9DU1NfUFJFRklYID0gJ2ZhJztcbmNvbnN0IERFRkFVTFRfUkVQTEFDRU1FTlRfQ0xBU1MgPSAnc3ZnLWlubGluZS0tZmEnO1xuY29uc3QgREFUQV9GQV9JMlNWRyA9ICdkYXRhLWZhLWkyc3ZnJztcbmNvbnN0IERBVEFfRkFfUFNFVURPX0VMRU1FTlQgPSAnZGF0YS1mYS1wc2V1ZG8tZWxlbWVudCc7XG5jb25zdCBEQVRBX0ZBX1BTRVVET19FTEVNRU5UX1BFTkRJTkcgPSAnZGF0YS1mYS1wc2V1ZG8tZWxlbWVudC1wZW5kaW5nJztcbmNvbnN0IERBVEFfUFJFRklYID0gJ2RhdGEtcHJlZml4JztcbmNvbnN0IERBVEFfSUNPTiA9ICdkYXRhLWljb24nO1xuY29uc3QgSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTID0gJ2ZvbnRhd2Vzb21lLWkyc3ZnJztcbmNvbnN0IE1VVEFUSU9OX0FQUFJPQUNIX0FTWU5DID0gJ2FzeW5jJztcbmNvbnN0IFRBR05BTUVTX1RPX1NLSVBfRk9SX1BTRVVET0VMRU1FTlRTID0gWydIVE1MJywgJ0hFQUQnLCAnU1RZTEUnLCAnU0NSSVBUJ107XG5jb25zdCBQUk9EVUNUSU9OID0gKCgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcbiAgfSBjYXRjaCAoZSQkMSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSkoKTtcbmNvbnN0IEZBTUlMSUVTID0gW2EsIHIsIG9dO1xuXG5mdW5jdGlvbiBmYW1pbHlQcm94eShvYmopIHtcbiAgLy8gRGVmYXVsdHMgdG8gdGhlIGNsYXNzaWMgZmFtaWx5IGlmIGZhbWlseSBpcyBub3QgYXZhaWxhYmxlXG4gIHJldHVybiBuZXcgUHJveHkob2JqLCB7XG4gICAgZ2V0KHRhcmdldCwgcHJvcCkge1xuICAgICAgcmV0dXJuIHByb3AgaW4gdGFyZ2V0ID8gdGFyZ2V0W3Byb3BdIDogdGFyZ2V0W2FdO1xuICAgIH1cblxuICB9KTtcbn1cblxuY29uc3QgX1BSRUZJWF9UT19TVFlMRSA9IHsgLi4uaG9cbn07XG5fUFJFRklYX1RPX1NUWUxFW2FdID0geyAuLi5ob1thXSxcbiAgLi4uYnRbJ2tpdCddLFxuICAuLi5idFsna2l0LWR1b3RvbmUnXVxufTtcbmNvbnN0IFBSRUZJWF9UT19TVFlMRSA9IGZhbWlseVByb3h5KF9QUkVGSVhfVE9fU1RZTEUpO1xuY29uc3QgX1NUWUxFX1RPX1BSRUZJWCA9IHsgLi4uZm9cbn07XG5fU1RZTEVfVE9fUFJFRklYW2FdID0geyAuLi5fU1RZTEVfVE9fUFJFRklYW2FdLFxuICAuLi5Tb1sna2l0J10sXG4gIC4uLlNvWydraXQtZHVvdG9uZSddXG59O1xuY29uc3QgU1RZTEVfVE9fUFJFRklYID0gZmFtaWx5UHJveHkoX1NUWUxFX1RPX1BSRUZJWCk7XG5jb25zdCBfUFJFRklYX1RPX0xPTkdfU1RZTEUgPSB7IC4uLm5vXG59O1xuX1BSRUZJWF9UT19MT05HX1NUWUxFW2FdID0geyAuLi5fUFJFRklYX1RPX0xPTkdfU1RZTEVbYV0sXG4gIC4uLkZvWydraXQnXVxufTtcbmNvbnN0IFBSRUZJWF9UT19MT05HX1NUWUxFID0gZmFtaWx5UHJveHkoX1BSRUZJWF9UT19MT05HX1NUWUxFKTtcbmNvbnN0IF9MT05HX1NUWUxFX1RPX1BSRUZJWCA9IHsgLi4ubG9cbn07XG5fTE9OR19TVFlMRV9UT19QUkVGSVhbYV0gPSB7IC4uLl9MT05HX1NUWUxFX1RPX1BSRUZJWFthXSxcbiAgLi4uSW9bJ2tpdCddXG59O1xuY29uc3QgTE9OR19TVFlMRV9UT19QUkVGSVggPSBmYW1pbHlQcm94eShfTE9OR19TVFlMRV9UT19QUkVGSVgpO1xuY29uc3QgSUNPTl9TRUxFQ1RJT05fU1lOVEFYX1BBVFRFUk4gPSBEdDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11c2VsZXNzLWVzY2FwZVxuXG5jb25zdCBMQVlFUlNfVEVYVF9DTEFTU05BTUUgPSAnZmEtbGF5ZXJzLXRleHQnO1xuY29uc3QgRk9OVF9GQU1JTFlfUEFUVEVSTiA9IEt0O1xuY29uc3QgX0ZPTlRfV0VJR0hUX1RPX1BSRUZJWCA9IHsgLi4uZXQkMVxufTtcbmNvbnN0IEZPTlRfV0VJR0hUX1RPX1BSRUZJWCA9IGZhbWlseVByb3h5KF9GT05UX1dFSUdIVF9UT19QUkVGSVgpO1xuY29uc3QgQVRUUklCVVRFU19XQVRDSEVEX0ZPUl9NVVRBVElPTiA9IFsnY2xhc3MnLCAnZGF0YS1wcmVmaXgnLCAnZGF0YS1pY29uJywgJ2RhdGEtZmEtdHJhbnNmb3JtJywgJ2RhdGEtZmEtbWFzayddO1xuY29uc3QgRFVPVE9ORV9DTEFTU0VTID0gdCQxO1xuY29uc3QgcHJlZml4ZXMgPSBuZXcgU2V0KCk7XG5PYmplY3Qua2V5cyhTVFlMRV9UT19QUkVGSVhbYV0pLm1hcChwcmVmaXhlcy5hZGQuYmluZChwcmVmaXhlcykpO1xuT2JqZWN0LmtleXMoU1RZTEVfVE9fUFJFRklYW3JdKS5tYXAocHJlZml4ZXMuYWRkLmJpbmQocHJlZml4ZXMpKTtcbk9iamVjdC5rZXlzKFNUWUxFX1RPX1BSRUZJWFtvXSkubWFwKHByZWZpeGVzLmFkZC5iaW5kKHByZWZpeGVzKSk7XG5jb25zdCBSRVNFUlZFRF9DTEFTU0VTID0gWy4uLkN0LCAuLi55b107XG5cbmNvbnN0IGluaXRpYWwgPSBXSU5ET1cuRm9udEF3ZXNvbWVDb25maWcgfHwge307XG5cbmZ1bmN0aW9uIGdldEF0dHJDb25maWcoYXR0cikge1xuICB2YXIgZWxlbWVudCA9IERPQ1VNRU5ULnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFsnICsgYXR0ciArICddJyk7XG5cbiAgaWYgKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0cik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29lcmNlKHZhbCkge1xuICAvLyBHZXR0aW5nIGFuIGVtcHR5IHN0cmluZyB3aWxsIG9jY3VyIGlmIHRoZSBhdHRyaWJ1dGUgaXMgc2V0IG9uIHRoZSBIVE1MIHRhZyBidXQgd2l0aG91dCBhIHZhbHVlXG4gIC8vIFdlJ2xsIGFzc3VtZSB0aGF0IHRoaXMgaXMgYW4gaW5kaWNhdGlvbiB0aGF0IGl0IHNob3VsZCBiZSB0b2dnbGVkIHRvIHRydWVcbiAgaWYgKHZhbCA9PT0gJycpIHJldHVybiB0cnVlO1xuICBpZiAodmFsID09PSAnZmFsc2UnKSByZXR1cm4gZmFsc2U7XG4gIGlmICh2YWwgPT09ICd0cnVlJykgcmV0dXJuIHRydWU7XG4gIHJldHVybiB2YWw7XG59XG5cbmlmIChET0NVTUVOVCAmJiB0eXBlb2YgRE9DVU1FTlQucXVlcnlTZWxlY3RvciA9PT0gJ2Z1bmN0aW9uJykge1xuICBjb25zdCBhdHRycyA9IFtbJ2RhdGEtZmFtaWx5LXByZWZpeCcsICdmYW1pbHlQcmVmaXgnXSwgWydkYXRhLWNzcy1wcmVmaXgnLCAnY3NzUHJlZml4J10sIFsnZGF0YS1mYW1pbHktZGVmYXVsdCcsICdmYW1pbHlEZWZhdWx0J10sIFsnZGF0YS1zdHlsZS1kZWZhdWx0JywgJ3N0eWxlRGVmYXVsdCddLCBbJ2RhdGEtcmVwbGFjZW1lbnQtY2xhc3MnLCAncmVwbGFjZW1lbnRDbGFzcyddLCBbJ2RhdGEtYXV0by1yZXBsYWNlLXN2ZycsICdhdXRvUmVwbGFjZVN2ZyddLCBbJ2RhdGEtYXV0by1hZGQtY3NzJywgJ2F1dG9BZGRDc3MnXSwgWydkYXRhLWF1dG8tYTExeScsICdhdXRvQTExeSddLCBbJ2RhdGEtc2VhcmNoLXBzZXVkby1lbGVtZW50cycsICdzZWFyY2hQc2V1ZG9FbGVtZW50cyddLCBbJ2RhdGEtb2JzZXJ2ZS1tdXRhdGlvbnMnLCAnb2JzZXJ2ZU11dGF0aW9ucyddLCBbJ2RhdGEtbXV0YXRlLWFwcHJvYWNoJywgJ211dGF0ZUFwcHJvYWNoJ10sIFsnZGF0YS1rZWVwLW9yaWdpbmFsLXNvdXJjZScsICdrZWVwT3JpZ2luYWxTb3VyY2UnXSwgWydkYXRhLW1lYXN1cmUtcGVyZm9ybWFuY2UnLCAnbWVhc3VyZVBlcmZvcm1hbmNlJ10sIFsnZGF0YS1zaG93LW1pc3NpbmctaWNvbnMnLCAnc2hvd01pc3NpbmdJY29ucyddXTtcbiAgYXR0cnMuZm9yRWFjaChfcmVmID0+IHtcbiAgICBsZXQgW2F0dHIsIGtleV0gPSBfcmVmO1xuICAgIGNvbnN0IHZhbCA9IGNvZXJjZShnZXRBdHRyQ29uZmlnKGF0dHIpKTtcblxuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwgIT09IG51bGwpIHtcbiAgICAgIGluaXRpYWxba2V5XSA9IHZhbDtcbiAgICB9XG4gIH0pO1xufVxuXG5jb25zdCBfZGVmYXVsdCA9IHtcbiAgc3R5bGVEZWZhdWx0OiAnc29saWQnLFxuICBmYW1pbHlEZWZhdWx0OiAnY2xhc3NpYycsXG4gIGNzc1ByZWZpeDogREVGQVVMVF9DU1NfUFJFRklYLFxuICByZXBsYWNlbWVudENsYXNzOiBERUZBVUxUX1JFUExBQ0VNRU5UX0NMQVNTLFxuICBhdXRvUmVwbGFjZVN2ZzogdHJ1ZSxcbiAgYXV0b0FkZENzczogdHJ1ZSxcbiAgYXV0b0ExMXk6IHRydWUsXG4gIHNlYXJjaFBzZXVkb0VsZW1lbnRzOiBmYWxzZSxcbiAgb2JzZXJ2ZU11dGF0aW9uczogdHJ1ZSxcbiAgbXV0YXRlQXBwcm9hY2g6ICdhc3luYycsXG4gIGtlZXBPcmlnaW5hbFNvdXJjZTogdHJ1ZSxcbiAgbWVhc3VyZVBlcmZvcm1hbmNlOiBmYWxzZSxcbiAgc2hvd01pc3NpbmdJY29uczogdHJ1ZVxufTsgLy8gZmFtaWx5UHJlZml4IGlzIGRlcHJlY2F0ZWQgYnV0IHdlIG11c3Qgc3RpbGwgc3VwcG9ydCBpdCBpZiBwcmVzZW50XG5cbmlmIChpbml0aWFsLmZhbWlseVByZWZpeCkge1xuICBpbml0aWFsLmNzc1ByZWZpeCA9IGluaXRpYWwuZmFtaWx5UHJlZml4O1xufVxuXG5jb25zdCBfY29uZmlnID0geyAuLi5fZGVmYXVsdCxcbiAgLi4uaW5pdGlhbFxufTtcbmlmICghX2NvbmZpZy5hdXRvUmVwbGFjZVN2ZykgX2NvbmZpZy5vYnNlcnZlTXV0YXRpb25zID0gZmFsc2U7XG5jb25zdCBjb25maWcgPSB7fTtcbk9iamVjdC5rZXlzKF9kZWZhdWx0KS5mb3JFYWNoKGtleSA9PiB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25maWcsIGtleSwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgc2V0OiBmdW5jdGlvbiAodmFsKSB7XG4gICAgICBfY29uZmlnW2tleV0gPSB2YWw7XG5cbiAgICAgIF9vbkNoYW5nZUNiLmZvckVhY2goY2IgPT4gY2IoY29uZmlnKSk7XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfY29uZmlnW2tleV07XG4gICAgfVxuICB9KTtcbn0pOyAvLyBmYW1pbHlQcmVmaXggaXMgZGVwcmVjYXRlZCBhcyBvZiA2LjIuMCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgaW4gNy4wLjBcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbmZpZywgJ2ZhbWlseVByZWZpeCcsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgc2V0OiBmdW5jdGlvbiAodmFsKSB7XG4gICAgX2NvbmZpZy5jc3NQcmVmaXggPSB2YWw7XG5cbiAgICBfb25DaGFuZ2VDYi5mb3JFYWNoKGNiID0+IGNiKGNvbmZpZykpO1xuICB9LFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gX2NvbmZpZy5jc3NQcmVmaXg7XG4gIH1cbn0pO1xuV0lORE9XLkZvbnRBd2Vzb21lQ29uZmlnID0gY29uZmlnO1xuY29uc3QgX29uQ2hhbmdlQ2IgPSBbXTtcbmZ1bmN0aW9uIG9uQ2hhbmdlKGNiKSB7XG4gIF9vbkNoYW5nZUNiLnB1c2goY2IpO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgX29uQ2hhbmdlQ2Iuc3BsaWNlKF9vbkNoYW5nZUNiLmluZGV4T2YoY2IpLCAxKTtcbiAgfTtcbn1cblxuY29uc3QgZCQyID0gVU5JVFNfSU5fR1JJRDtcbmNvbnN0IG1lYW5pbmdsZXNzVHJhbnNmb3JtID0ge1xuICBzaXplOiAxNixcbiAgeDogMCxcbiAgeTogMCxcbiAgcm90YXRlOiAwLFxuICBmbGlwWDogZmFsc2UsXG4gIGZsaXBZOiBmYWxzZVxufTtcbmZ1bmN0aW9uIGluc2VydENzcyhjc3MpIHtcbiAgaWYgKCFjc3MgfHwgIUlTX0RPTSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHN0eWxlID0gRE9DVU1FTlQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgc3R5bGUuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XG4gIHN0eWxlLmlubmVySFRNTCA9IGNzcztcbiAgY29uc3QgaGVhZENoaWxkcmVuID0gRE9DVU1FTlQuaGVhZC5jaGlsZE5vZGVzO1xuICBsZXQgYmVmb3JlQ2hpbGQgPSBudWxsO1xuXG4gIGZvciAobGV0IGkgPSBoZWFkQ2hpbGRyZW4ubGVuZ3RoIC0gMTsgaSA+IC0xOyBpLS0pIHtcbiAgICBjb25zdCBjaGlsZCA9IGhlYWRDaGlsZHJlbltpXTtcbiAgICBjb25zdCB0YWdOYW1lID0gKGNoaWxkLnRhZ05hbWUgfHwgJycpLnRvVXBwZXJDYXNlKCk7XG5cbiAgICBpZiAoWydTVFlMRScsICdMSU5LJ10uaW5kZXhPZih0YWdOYW1lKSA+IC0xKSB7XG4gICAgICBiZWZvcmVDaGlsZCA9IGNoaWxkO1xuICAgIH1cbiAgfVxuXG4gIERPQ1VNRU5ULmhlYWQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBiZWZvcmVDaGlsZCk7XG4gIHJldHVybiBjc3M7XG59XG5jb25zdCBpZFBvb2wgPSAnMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonO1xuZnVuY3Rpb24gbmV4dFVuaXF1ZUlkKCkge1xuICBsZXQgc2l6ZSA9IDEyO1xuICBsZXQgaWQgPSAnJztcblxuICB3aGlsZSAoc2l6ZS0tID4gMCkge1xuICAgIGlkICs9IGlkUG9vbFtNYXRoLnJhbmRvbSgpICogNjIgfCAwXTtcbiAgfVxuXG4gIHJldHVybiBpZDtcbn1cbmZ1bmN0aW9uIHRvQXJyYXkob2JqKSB7XG4gIGNvbnN0IGFycmF5ID0gW107XG5cbiAgZm9yIChsZXQgaSA9IChvYmogfHwgW10pLmxlbmd0aCA+Pj4gMDsgaS0tOykge1xuICAgIGFycmF5W2ldID0gb2JqW2ldO1xuICB9XG5cbiAgcmV0dXJuIGFycmF5O1xufVxuZnVuY3Rpb24gY2xhc3NBcnJheShub2RlKSB7XG4gIGlmIChub2RlLmNsYXNzTGlzdCkge1xuICAgIHJldHVybiB0b0FycmF5KG5vZGUuY2xhc3NMaXN0KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKG5vZGUuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnKS5zcGxpdCgnICcpLmZpbHRlcihpID0+IGkpO1xuICB9XG59XG5mdW5jdGlvbiBodG1sRXNjYXBlKHN0cikge1xuICByZXR1cm4gXCJcIi5jb25jYXQoc3RyKS5yZXBsYWNlKC8mL2csICcmYW1wOycpLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKS5yZXBsYWNlKC8nL2csICcmIzM5OycpLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7XG59XG5mdW5jdGlvbiBqb2luQXR0cmlidXRlcyhhdHRyaWJ1dGVzKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzIHx8IHt9KS5yZWR1Y2UoKGFjYywgYXR0cmlidXRlTmFtZSkgPT4ge1xuICAgIHJldHVybiBhY2MgKyBcIlwiLmNvbmNhdChhdHRyaWJ1dGVOYW1lLCBcIj1cXFwiXCIpLmNvbmNhdChodG1sRXNjYXBlKGF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV0pLCBcIlxcXCIgXCIpO1xuICB9LCAnJykudHJpbSgpO1xufVxuZnVuY3Rpb24gam9pblN0eWxlcyhzdHlsZXMpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHN0eWxlcyB8fCB7fSkucmVkdWNlKChhY2MsIHN0eWxlTmFtZSkgPT4ge1xuICAgIHJldHVybiBhY2MgKyBcIlwiLmNvbmNhdChzdHlsZU5hbWUsIFwiOiBcIikuY29uY2F0KHN0eWxlc1tzdHlsZU5hbWVdLnRyaW0oKSwgXCI7XCIpO1xuICB9LCAnJyk7XG59XG5mdW5jdGlvbiB0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSB7XG4gIHJldHVybiB0cmFuc2Zvcm0uc2l6ZSAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0uc2l6ZSB8fCB0cmFuc2Zvcm0ueCAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0ueCB8fCB0cmFuc2Zvcm0ueSAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0ueSB8fCB0cmFuc2Zvcm0ucm90YXRlICE9PSBtZWFuaW5nbGVzc1RyYW5zZm9ybS5yb3RhdGUgfHwgdHJhbnNmb3JtLmZsaXBYIHx8IHRyYW5zZm9ybS5mbGlwWTtcbn1cbmZ1bmN0aW9uIHRyYW5zZm9ybUZvclN2ZyhfcmVmKSB7XG4gIGxldCB7XG4gICAgdHJhbnNmb3JtLFxuICAgIGNvbnRhaW5lcldpZHRoLFxuICAgIGljb25XaWR0aFxuICB9ID0gX3JlZjtcbiAgY29uc3Qgb3V0ZXIgPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIi5jb25jYXQoY29udGFpbmVyV2lkdGggLyAyLCBcIiAyNTYpXCIpXG4gIH07XG4gIGNvbnN0IGlubmVyVHJhbnNsYXRlID0gXCJ0cmFuc2xhdGUoXCIuY29uY2F0KHRyYW5zZm9ybS54ICogMzIsIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS55ICogMzIsIFwiKSBcIik7XG4gIGNvbnN0IGlubmVyU2NhbGUgPSBcInNjYWxlKFwiLmNvbmNhdCh0cmFuc2Zvcm0uc2l6ZSAvIDE2ICogKHRyYW5zZm9ybS5mbGlwWCA/IC0xIDogMSksIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gMTYgKiAodHJhbnNmb3JtLmZsaXBZID8gLTEgOiAxKSwgXCIpIFwiKTtcbiAgY29uc3QgaW5uZXJSb3RhdGUgPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCIgMCAwKVwiKTtcbiAgY29uc3QgaW5uZXIgPSB7XG4gICAgdHJhbnNmb3JtOiBcIlwiLmNvbmNhdChpbm5lclRyYW5zbGF0ZSwgXCIgXCIpLmNvbmNhdChpbm5lclNjYWxlLCBcIiBcIikuY29uY2F0KGlubmVyUm90YXRlKVxuICB9O1xuICBjb25zdCBwYXRoID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoXCIuY29uY2F0KGljb25XaWR0aCAvIDIgKiAtMSwgXCIgLTI1NilcIilcbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBvdXRlcixcbiAgICBpbm5lcixcbiAgICBwYXRoXG4gIH07XG59XG5mdW5jdGlvbiB0cmFuc2Zvcm1Gb3JDc3MoX3JlZjIpIHtcbiAgbGV0IHtcbiAgICB0cmFuc2Zvcm0sXG4gICAgd2lkdGggPSBVTklUU19JTl9HUklELFxuICAgIGhlaWdodCA9IFVOSVRTX0lOX0dSSUQsXG4gICAgc3RhcnRDZW50ZXJlZCA9IGZhbHNlXG4gIH0gPSBfcmVmMjtcbiAgbGV0IHZhbCA9ICcnO1xuXG4gIGlmIChzdGFydENlbnRlcmVkICYmIElTX0lFKSB7XG4gICAgdmFsICs9IFwidHJhbnNsYXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAvIGQkMiAtIHdpZHRoIC8gMiwgXCJlbSwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAvIGQkMiAtIGhlaWdodCAvIDIsIFwiZW0pIFwiKTtcbiAgfSBlbHNlIGlmIChzdGFydENlbnRlcmVkKSB7XG4gICAgdmFsICs9IFwidHJhbnNsYXRlKGNhbGMoLTUwJSArIFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAvIGQkMiwgXCJlbSksIGNhbGMoLTUwJSArIFwiKS5jb25jYXQodHJhbnNmb3JtLnkgLyBkJDIsIFwiZW0pKSBcIik7XG4gIH0gZWxzZSB7XG4gICAgdmFsICs9IFwidHJhbnNsYXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAvIGQkMiwgXCJlbSwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAvIGQkMiwgXCJlbSkgXCIpO1xuICB9XG5cbiAgdmFsICs9IFwic2NhbGUoXCIuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gZCQyICogKHRyYW5zZm9ybS5mbGlwWCA/IC0xIDogMSksIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gZCQyICogKHRyYW5zZm9ybS5mbGlwWSA/IC0xIDogMSksIFwiKSBcIik7XG4gIHZhbCArPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCJkZWcpIFwiKTtcbiAgcmV0dXJuIHZhbDtcbn1cblxudmFyIGJhc2VTdHlsZXMgPSBcIjpyb290LCA6aG9zdCB7XFxuICAtLWZhLWZvbnQtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IEZyZWVcXFwiO1xcbiAgLS1mYS1mb250LXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IEZyZWVcXFwiO1xcbiAgLS1mYS1mb250LWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBQcm9cXFwiO1xcbiAgLS1mYS1mb250LXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IFByb1xcXCI7XFxuICAtLWZhLWZvbnQtZHVvdG9uZTogbm9ybWFsIDkwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgRHVvdG9uZVxcXCI7XFxuICAtLWZhLWZvbnQtYnJhbmRzOiBub3JtYWwgNDAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBTaGFycFxcXCI7XFxuICAtLWZhLWZvbnQtc2hhcnAtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgU2hhcnBcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBTaGFycFxcXCI7XFxuICAtLWZhLWZvbnQtc2hhcnAtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgU2hhcnBcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IFNoYXJwIER1b3RvbmVcXFwiO1xcbn1cXG5cXG5zdmc6bm90KDpyb290KS5zdmctaW5saW5lLS1mYSwgc3ZnOm5vdCg6aG9zdCkuc3ZnLWlubGluZS0tZmEge1xcbiAgb3ZlcmZsb3c6IHZpc2libGU7XFxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhIHtcXG4gIGRpc3BsYXk6IHZhcigtLWZhLWRpc3BsYXksIGlubGluZS1ibG9jayk7XFxuICBoZWlnaHQ6IDFlbTtcXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtMnhzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjFlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXhzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAwZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1zbSB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDcxNDI4NTcwNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtbGcge1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjJlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXhsIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4yNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtMnhsIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4zMTI1ZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1wdWxsLWxlZnQge1xcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pO1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1wdWxsLXJpZ2h0IHtcXG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pO1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1saSB7XFxuICB3aWR0aDogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSk7XFxuICB0b3A6IDAuMjVlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLWZ3IHtcXG4gIHdpZHRoOiB2YXIoLS1mYS1mdy13aWR0aCwgMS4yNWVtKTtcXG59XFxuXFxuLmZhLWxheWVycyBzdmcuc3ZnLWlubGluZS0tZmEge1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIG1hcmdpbjogYXV0bztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHJpZ2h0OiAwO1xcbiAgdG9wOiAwO1xcbn1cXG5cXG4uZmEtbGF5ZXJzLWNvdW50ZXIsIC5mYS1sYXllcnMtdGV4dCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcblxcbi5mYS1sYXllcnMge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgaGVpZ2h0OiAxZW07XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XFxuICB3aWR0aDogMWVtO1xcbn1cXG4uZmEtbGF5ZXJzIHN2Zy5zdmctaW5saW5lLS1mYSB7XFxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xcbn1cXG5cXG4uZmEtbGF5ZXJzLXRleHQge1xcbiAgbGVmdDogNTAlO1xcbiAgdG9wOiA1MCU7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxufVxcblxcbi5mYS1sYXllcnMtY291bnRlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mYS1jb3VudGVyLWJhY2tncm91bmQtY29sb3IsICNmZjI1M2EpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZmEtY291bnRlci1ib3JkZXItcmFkaXVzLCAxZW0pO1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTtcXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1mYS1jb3VudGVyLWxpbmUtaGVpZ2h0LCAxKTtcXG4gIG1heC13aWR0aDogdmFyKC0tZmEtY291bnRlci1tYXgtd2lkdGgsIDVlbSk7XFxuICBtaW4td2lkdGg6IHZhcigtLWZhLWNvdW50ZXItbWluLXdpZHRoLCAxLjVlbSk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogdmFyKC0tZmEtY291bnRlci1wYWRkaW5nLCAwLjI1ZW0gMC41ZW0pO1xcbiAgcmlnaHQ6IHZhcigtLWZhLXJpZ2h0LCAwKTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgdG9wOiB2YXIoLS1mYS10b3AsIDApO1xcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1jb3VudGVyLXNjYWxlLCAwLjI1KSk7XFxuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XFxufVxcblxcbi5mYS1sYXllcnMtYm90dG9tLXJpZ2h0IHtcXG4gIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTtcXG4gIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7XFxuICB0b3A6IGF1dG87XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xcbn1cXG5cXG4uZmEtbGF5ZXJzLWJvdHRvbS1sZWZ0IHtcXG4gIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTtcXG4gIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApO1xcbiAgcmlnaHQ6IGF1dG87XFxuICB0b3A6IGF1dG87XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XFxufVxcblxcbi5mYS1sYXllcnMtdG9wLXJpZ2h0IHtcXG4gIHRvcDogdmFyKC0tZmEtdG9wLCAwKTtcXG4gIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xcbn1cXG5cXG4uZmEtbGF5ZXJzLXRvcC1sZWZ0IHtcXG4gIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApO1xcbiAgcmlnaHQ6IGF1dG87XFxuICB0b3A6IHZhcigtLWZhLXRvcCwgMCk7XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XFxufVxcblxcbi5mYS0xeCB7XFxuICBmb250LXNpemU6IDFlbTtcXG59XFxuXFxuLmZhLTJ4IHtcXG4gIGZvbnQtc2l6ZTogMmVtO1xcbn1cXG5cXG4uZmEtM3gge1xcbiAgZm9udC1zaXplOiAzZW07XFxufVxcblxcbi5mYS00eCB7XFxuICBmb250LXNpemU6IDRlbTtcXG59XFxuXFxuLmZhLTV4IHtcXG4gIGZvbnQtc2l6ZTogNWVtO1xcbn1cXG5cXG4uZmEtNngge1xcbiAgZm9udC1zaXplOiA2ZW07XFxufVxcblxcbi5mYS03eCB7XFxuICBmb250LXNpemU6IDdlbTtcXG59XFxuXFxuLmZhLTh4IHtcXG4gIGZvbnQtc2l6ZTogOGVtO1xcbn1cXG5cXG4uZmEtOXgge1xcbiAgZm9udC1zaXplOiA5ZW07XFxufVxcblxcbi5mYS0xMHgge1xcbiAgZm9udC1zaXplOiAxMGVtO1xcbn1cXG5cXG4uZmEtMnhzIHtcXG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAwLjFlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjIyNWVtO1xcbn1cXG5cXG4uZmEteHMge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBsaW5lLWhlaWdodDogMC4wODMzMzMzMzM3ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogMC4xMjVlbTtcXG59XFxuXFxuLmZhLXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAwLjA3MTQyODU3MThlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjA1MzU3MTQyOTVlbTtcXG59XFxuXFxuLmZhLWxnIHtcXG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xcbiAgbGluZS1oZWlnaHQ6IDAuMDVlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4wNzVlbTtcXG59XFxuXFxuLmZhLXhsIHtcXG4gIGZvbnQtc2l6ZTogMS41ZW07XFxuICBsaW5lLWhlaWdodDogMC4wNDE2NjY2NjgyZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XFxufVxcblxcbi5mYS0yeGwge1xcbiAgZm9udC1zaXplOiAyZW07XFxuICBsaW5lLWhlaWdodDogMC4wMzEyNWVtO1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjE4NzVlbTtcXG59XFxuXFxuLmZhLWZ3IHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHdpZHRoOiAxLjI1ZW07XFxufVxcblxcbi5mYS11bCB7XFxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XFxuICBtYXJnaW4tbGVmdDogdmFyKC0tZmEtbGktbWFyZ2luLCAyLjVlbSk7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxufVxcbi5mYS11bCA+IGxpIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuXFxuLmZhLWxpIHtcXG4gIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKSk7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aWR0aDogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSk7XFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLmZhLWJvcmRlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLWZhLWJvcmRlci1jb2xvciwgI2VlZSk7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mYS1ib3JkZXItcmFkaXVzLCAwLjFlbSk7XFxuICBib3JkZXItc3R5bGU6IHZhcigtLWZhLWJvcmRlci1zdHlsZSwgc29saWQpO1xcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1mYS1ib3JkZXItd2lkdGgsIDAuMDhlbSk7XFxuICBwYWRkaW5nOiB2YXIoLS1mYS1ib3JkZXItcGFkZGluZywgMC4yZW0gMC4yNWVtIDAuMTVlbSk7XFxufVxcblxcbi5mYS1wdWxsLWxlZnQge1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7XFxufVxcblxcbi5mYS1wdWxsLXJpZ2h0IHtcXG4gIGZsb2F0OiByaWdodDtcXG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pO1xcbn1cXG5cXG4uZmEtYmVhdCB7XFxuICBhbmltYXRpb24tbmFtZTogZmEtYmVhdDtcXG4gIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGVhc2UtaW4tb3V0KTtcXG59XFxuXFxuLmZhLWJvdW5jZSB7XFxuICBhbmltYXRpb24tbmFtZTogZmEtYm91bmNlO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuMjgsIDAuODQsIDAuNDIsIDEpKTtcXG59XFxuXFxuLmZhLWZhZGUge1xcbiAgYW5pbWF0aW9uLW5hbWU6IGZhLWZhZGU7XFxuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTtcXG59XFxuXFxuLmZhLWJlYXQtZmFkZSB7XFxuICBhbmltYXRpb24tbmFtZTogZmEtYmVhdC1mYWRlO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSk7XFxufVxcblxcbi5mYS1mbGlwIHtcXG4gIGFuaW1hdGlvbi1uYW1lOiBmYS1mbGlwO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpO1xcbn1cXG5cXG4uZmEtc2hha2Uge1xcbiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNoYWtlO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTtcXG59XFxuXFxuLmZhLXNwaW4ge1xcbiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47XFxuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAycyk7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBsaW5lYXIpO1xcbn1cXG5cXG4uZmEtc3Bpbi1yZXZlcnNlIHtcXG4gIC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcXG59XFxuXFxuLmZhLXB1bHNlLFxcbi5mYS1zcGluLXB1bHNlIHtcXG4gIGFuaW1hdGlvbi1uYW1lOiBmYS1zcGluO1xcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBzdGVwcyg4KSk7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuZmEtYmVhdCxcXG4uZmEtYm91bmNlLFxcbi5mYS1mYWRlLFxcbi5mYS1iZWF0LWZhZGUsXFxuLmZhLWZsaXAsXFxuLmZhLXB1bHNlLFxcbi5mYS1zaGFrZSxcXG4uZmEtc3BpbixcXG4uZmEtc3Bpbi1wdWxzZSB7XFxuICAgIGFuaW1hdGlvbi1kZWxheTogLTFtcztcXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXM7XFxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XFxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1iZWF0IHtcXG4gIDAlLCA5MCUge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgfVxcbiAgNDUlIHtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LXNjYWxlLCAxLjI1KSk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtYm91bmNlIHtcXG4gIDAlIHtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbiAgMTAlIHtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwgMS4xKSwgdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksIDAuOSkpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxuICAzMCUge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsIDAuOSksIHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksIDEuMSkpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLWhlaWdodCwgLTAuNWVtKSk7XFxuICB9XFxuICA1MCUge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXgsIDEuMDUpLCB2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS15LCAwLjk1KSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDU3JSB7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtcmVib3VuZCwgLTAuMTI1ZW0pKTtcXG4gIH1cXG4gIDY0JSB7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtZmFkZSB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiB2YXIoLS1mYS1mYWRlLW9wYWNpdHksIDAuNCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtYmVhdC1mYWRlIHtcXG4gIDAlLCAxMDAlIHtcXG4gICAgb3BhY2l0eTogdmFyKC0tZmEtYmVhdC1mYWRlLW9wYWNpdHksIDAuNCk7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XFxuICB9XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwgMS4xMjUpKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1mbGlwIHtcXG4gIDUwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QodmFyKC0tZmEtZmxpcC14LCAwKSwgdmFyKC0tZmEtZmxpcC15LCAxKSwgdmFyKC0tZmEtZmxpcC16LCAwKSwgdmFyKC0tZmEtZmxpcC1hbmdsZSwgLTE4MGRlZykpO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGZhLXNoYWtlIHtcXG4gIDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTtcXG4gIH1cXG4gIDQlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xcbiAgfVxcbiAgOCUsIDI0JSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7XFxuICB9XFxuICAxMiUsIDI4JSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4ZGVnKTtcXG4gIH1cXG4gIDE2JSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMmRlZyk7XFxuICB9XFxuICAyMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMmRlZyk7XFxuICB9XFxuICAzMiUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTJkZWcpO1xcbiAgfVxcbiAgMzYlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTJkZWcpO1xcbiAgfVxcbiAgNDAlLCAxMDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtc3BpbiB7XFxuICAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICB9XFxufVxcbi5mYS1yb3RhdGUtOTAge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xcbn1cXG5cXG4uZmEtcm90YXRlLTE4MCB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbn1cXG5cXG4uZmEtcm90YXRlLTI3MCB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xcbn1cXG5cXG4uZmEtZmxpcC1ob3Jpem9udGFsIHtcXG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xcbn1cXG5cXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XFxuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcXG59XFxuXFxuLmZhLWZsaXAtYm90aCxcXG4uZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWwge1xcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpO1xcbn1cXG5cXG4uZmEtcm90YXRlLWJ5IHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLWZhLXJvdGF0ZS1hbmdsZSwgMCkpO1xcbn1cXG5cXG4uZmEtc3RhY2sge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIGhlaWdodDogMmVtO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgd2lkdGg6IDIuNWVtO1xcbn1cXG5cXG4uZmEtc3RhY2stMXgsXFxuLmZhLXN0YWNrLTJ4IHtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICBtYXJnaW46IGF1dG87XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICByaWdodDogMDtcXG4gIHRvcDogMDtcXG4gIHotaW5kZXg6IHZhcigtLWZhLXN0YWNrLXotaW5kZXgsIGF1dG8pO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEuZmEtc3RhY2stMXgge1xcbiAgaGVpZ2h0OiAxZW07XFxuICB3aWR0aDogMS4yNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtc3RhY2stMngge1xcbiAgaGVpZ2h0OiAyZW07XFxuICB3aWR0aDogMi41ZW07XFxufVxcblxcbi5mYS1pbnZlcnNlIHtcXG4gIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTtcXG59XFxuXFxuLnNyLW9ubHksXFxuLmZhLXNyLW9ubHkge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogLTFweDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlci13aWR0aDogMDtcXG59XFxuXFxuLnNyLW9ubHktZm9jdXNhYmxlOm5vdCg6Zm9jdXMpLFxcbi5mYS1zci1vbmx5LWZvY3VzYWJsZTpub3QoOmZvY3VzKSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogMXB4O1xcbiAgaGVpZ2h0OiAxcHg7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAtMXB4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgYm9yZGVyLXdpZHRoOiAwO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEgLmZhLXByaW1hcnkge1xcbiAgZmlsbDogdmFyKC0tZmEtcHJpbWFyeS1jb2xvciwgY3VycmVudENvbG9yKTtcXG4gIG9wYWNpdHk6IHZhcigtLWZhLXByaW1hcnktb3BhY2l0eSwgMSk7XFxufVxcblxcbi5zdmctaW5saW5lLS1mYSAuZmEtc2Vjb25kYXJ5IHtcXG4gIGZpbGw6IHZhcigtLWZhLXNlY29uZGFyeS1jb2xvciwgY3VycmVudENvbG9yKTtcXG4gIG9wYWNpdHk6IHZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LCAwLjQpO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEuZmEtc3dhcC1vcGFjaXR5IC5mYS1wcmltYXJ5IHtcXG4gIG9wYWNpdHk6IHZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LCAwLjQpO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEuZmEtc3dhcC1vcGFjaXR5IC5mYS1zZWNvbmRhcnkge1xcbiAgb3BhY2l0eTogdmFyKC0tZmEtcHJpbWFyeS1vcGFjaXR5LCAxKTtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhIG1hc2sgLmZhLXByaW1hcnksXFxuLnN2Zy1pbmxpbmUtLWZhIG1hc2sgLmZhLXNlY29uZGFyeSB7XFxuICBmaWxsOiBibGFjaztcXG59XFxuXFxuLmZhZC5mYS1pbnZlcnNlLFxcbi5mYS1kdW90b25lLmZhLWludmVyc2Uge1xcbiAgY29sb3I6IHZhcigtLWZhLWludmVyc2UsICNmZmYpO1xcbn1cIjtcblxuZnVuY3Rpb24gY3NzKCkge1xuICBjb25zdCBkY3AgPSBERUZBVUxUX0NTU19QUkVGSVg7XG4gIGNvbnN0IGRyYyA9IERFRkFVTFRfUkVQTEFDRU1FTlRfQ0xBU1M7XG4gIGNvbnN0IGZwID0gY29uZmlnLmNzc1ByZWZpeDtcbiAgY29uc3QgcmMgPSBjb25maWcucmVwbGFjZW1lbnRDbGFzcztcbiAgbGV0IHMgPSBiYXNlU3R5bGVzO1xuXG4gIGlmIChmcCAhPT0gZGNwIHx8IHJjICE9PSBkcmMpIHtcbiAgICBjb25zdCBkUGF0dCA9IG5ldyBSZWdFeHAoXCJcXFxcLlwiLmNvbmNhdChkY3AsIFwiXFxcXC1cIiksICdnJyk7XG4gICAgY29uc3QgY3VzdG9tUHJvcFBhdHQgPSBuZXcgUmVnRXhwKFwiXFxcXC0tXCIuY29uY2F0KGRjcCwgXCJcXFxcLVwiKSwgJ2cnKTtcbiAgICBjb25zdCByUGF0dCA9IG5ldyBSZWdFeHAoXCJcXFxcLlwiLmNvbmNhdChkcmMpLCAnZycpO1xuICAgIHMgPSBzLnJlcGxhY2UoZFBhdHQsIFwiLlwiLmNvbmNhdChmcCwgXCItXCIpKS5yZXBsYWNlKGN1c3RvbVByb3BQYXR0LCBcIi0tXCIuY29uY2F0KGZwLCBcIi1cIikpLnJlcGxhY2UoclBhdHQsIFwiLlwiLmNvbmNhdChyYykpO1xuICB9XG5cbiAgcmV0dXJuIHM7XG59XG5cbmxldCBfY3NzSW5zZXJ0ZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gZW5zdXJlQ3NzKCkge1xuICBpZiAoY29uZmlnLmF1dG9BZGRDc3MgJiYgIV9jc3NJbnNlcnRlZCkge1xuICAgIGluc2VydENzcyhjc3MoKSk7XG4gICAgX2Nzc0luc2VydGVkID0gdHJ1ZTtcbiAgfVxufVxuXG52YXIgSW5qZWN0Q1NTID0ge1xuICBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRvbToge1xuICAgICAgICBjc3MsXG4gICAgICAgIGluc2VydENzczogZW5zdXJlQ3NzXG4gICAgICB9XG4gICAgfTtcbiAgfSxcblxuICBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uKCkge1xuICAgICAgICBlbnN1cmVDc3MoKTtcbiAgICAgIH0sXG5cbiAgICAgIGJlZm9yZUkyc3ZnKCkge1xuICAgICAgICBlbnN1cmVDc3MoKTtcbiAgICAgIH1cblxuICAgIH07XG4gIH1cblxufTtcblxuY29uc3QgdyQxID0gV0lORE9XIHx8IHt9O1xuaWYgKCF3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdKSB3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdID0ge307XG5pZiAoIXckMVtOQU1FU1BBQ0VfSURFTlRJRklFUl0uc3R5bGVzKSB3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdLnN0eWxlcyA9IHt9O1xuaWYgKCF3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzKSB3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzID0ge307XG5pZiAoIXckMVtOQU1FU1BBQ0VfSURFTlRJRklFUl0uc2hpbXMpIHckMVtOQU1FU1BBQ0VfSURFTlRJRklFUl0uc2hpbXMgPSBbXTtcbnZhciBuYW1lc3BhY2UgPSB3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdO1xuXG5jb25zdCBmdW5jdGlvbnMgPSBbXTtcblxuY29uc3QgbGlzdGVuZXIgPSBmdW5jdGlvbiAoKSB7XG4gIERPQ1VNRU5ULnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBsaXN0ZW5lcik7XG4gIGxvYWRlZCA9IDE7XG4gIGZ1bmN0aW9ucy5tYXAoZm4gPT4gZm4oKSk7XG59O1xuXG5sZXQgbG9hZGVkID0gZmFsc2U7XG5cbmlmIChJU19ET00pIHtcbiAgbG9hZGVkID0gKERPQ1VNRU5ULmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCA/IC9ebG9hZGVkfF5jLyA6IC9ebG9hZGVkfF5pfF5jLykudGVzdChET0NVTUVOVC5yZWFkeVN0YXRlKTtcbiAgaWYgKCFsb2FkZWQpIERPQ1VNRU5ULmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBsaXN0ZW5lcik7XG59XG5cbmZ1bmN0aW9uIGRvbXJlYWR5IChmbikge1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuO1xuICBsb2FkZWQgPyBzZXRUaW1lb3V0KGZuLCAwKSA6IGZ1bmN0aW9ucy5wdXNoKGZuKTtcbn1cblxuZnVuY3Rpb24gdG9IdG1sKGFic3RyYWN0Tm9kZXMpIHtcbiAgY29uc3Qge1xuICAgIHRhZyxcbiAgICBhdHRyaWJ1dGVzID0ge30sXG4gICAgY2hpbGRyZW4gPSBbXVxuICB9ID0gYWJzdHJhY3ROb2RlcztcblxuICBpZiAodHlwZW9mIGFic3RyYWN0Tm9kZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGh0bWxFc2NhcGUoYWJzdHJhY3ROb2Rlcyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFwiPFwiLmNvbmNhdCh0YWcsIFwiIFwiKS5jb25jYXQoam9pbkF0dHJpYnV0ZXMoYXR0cmlidXRlcyksIFwiPlwiKS5jb25jYXQoY2hpbGRyZW4ubWFwKHRvSHRtbCkuam9pbignJyksIFwiPC9cIikuY29uY2F0KHRhZywgXCI+XCIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGljb25Gcm9tTWFwcGluZyhtYXBwaW5nLCBwcmVmaXgsIGljb25OYW1lKSB7XG4gIGlmIChtYXBwaW5nICYmIG1hcHBpbmdbcHJlZml4XSAmJiBtYXBwaW5nW3ByZWZpeF1baWNvbk5hbWVdKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByZWZpeCxcbiAgICAgIGljb25OYW1lLFxuICAgICAgaWNvbjogbWFwcGluZ1twcmVmaXhdW2ljb25OYW1lXVxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBoZWxwZXIgdG8gYmluZCBhIGZ1bmN0aW9uIGtub3duIHRvIGhhdmUgNCBhcmd1bWVudHNcbiAqIHRvIGEgZ2l2ZW4gY29udGV4dC5cbiAqL1xuXG52YXIgYmluZEludGVybmFsNCA9IGZ1bmN0aW9uIGJpbmRJbnRlcm5hbDQoZnVuYywgdGhpc0NvbnRleHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7XG4gICAgcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQ29udGV4dCwgYSwgYiwgYywgZCk7XG4gIH07XG59O1xuXG4vKipcbiAqICMgUmVkdWNlXG4gKlxuICogQSBmYXN0IG9iamVjdCBgLnJlZHVjZSgpYCBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgc3ViamVjdCAgICAgIFRoZSBvYmplY3QgdG8gcmVkdWNlIG92ZXIuXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gZm4gICAgICAgICAgIFRoZSByZWR1Y2VyIGZ1bmN0aW9uLlxuICogQHBhcmFtICB7bWl4ZWR9ICAgIGluaXRpYWxWYWx1ZSBUaGUgaW5pdGlhbCB2YWx1ZSBmb3IgdGhlIHJlZHVjZXIsIGRlZmF1bHRzIHRvIHN1YmplY3RbMF0uXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgdGhpc0NvbnRleHQgIFRoZSBjb250ZXh0IGZvciB0aGUgcmVkdWNlci5cbiAqIEByZXR1cm4ge21peGVkfSAgICAgICAgICAgICAgICAgVGhlIGZpbmFsIHJlc3VsdC5cbiAqL1xuXG5cbnZhciByZWR1Y2UgPSBmdW5jdGlvbiBmYXN0UmVkdWNlT2JqZWN0KHN1YmplY3QsIGZuLCBpbml0aWFsVmFsdWUsIHRoaXNDb250ZXh0KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMoc3ViamVjdCksXG4gICAgICBsZW5ndGggPSBrZXlzLmxlbmd0aCxcbiAgICAgIGl0ZXJhdG9yID0gdGhpc0NvbnRleHQgIT09IHVuZGVmaW5lZCA/IGJpbmRJbnRlcm5hbDQoZm4sIHRoaXNDb250ZXh0KSA6IGZuLFxuICAgICAgaSxcbiAgICAgIGtleSxcbiAgICAgIHJlc3VsdDtcblxuICBpZiAoaW5pdGlhbFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICBpID0gMTtcbiAgICByZXN1bHQgPSBzdWJqZWN0W2tleXNbMF1dO1xuICB9IGVsc2Uge1xuICAgIGkgPSAwO1xuICAgIHJlc3VsdCA9IGluaXRpYWxWYWx1ZTtcbiAgfVxuXG4gIGZvciAoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBrZXlzW2ldO1xuICAgIHJlc3VsdCA9IGl0ZXJhdG9yKHJlc3VsdCwgc3ViamVjdFtrZXldLCBrZXksIHN1YmplY3QpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8qKlxuICogdWNzMmRlY29kZSgpIGFuZCBjb2RlUG9pbnRBdCgpIGFyZSBib3RoIHdvcmtzIG9mIE1hdGhpYXMgQnluZW5zIGFuZCBsaWNlbnNlZCB1bmRlciBNSVRcbiAqXG4gKiBDb3B5cmlnaHQgTWF0aGlhcyBCeW5lbnMgPGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS8+XG5cbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZ1xuICogYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4gKiBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbiAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbiAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0b1xuICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvXG4gKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gKiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCxcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkRcbiAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkVcbiAqIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT05cbiAqIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTlxuICogV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4gKi9cbmZ1bmN0aW9uIHVjczJkZWNvZGUoc3RyaW5nKSB7XG4gIGNvbnN0IG91dHB1dCA9IFtdO1xuICBsZXQgY291bnRlciA9IDA7XG4gIGNvbnN0IGxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG5cbiAgd2hpbGUgKGNvdW50ZXIgPCBsZW5ndGgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHN0cmluZy5jaGFyQ29kZUF0KGNvdW50ZXIrKyk7XG5cbiAgICBpZiAodmFsdWUgPj0gMHhEODAwICYmIHZhbHVlIDw9IDB4REJGRiAmJiBjb3VudGVyIDwgbGVuZ3RoKSB7XG4gICAgICBjb25zdCBleHRyYSA9IHN0cmluZy5jaGFyQ29kZUF0KGNvdW50ZXIrKyk7XG5cbiAgICAgIGlmICgoZXh0cmEgJiAweEZDMDApID09IDB4REMwMCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGVxZXFlcVxuICAgICAgICBvdXRwdXQucHVzaCgoKHZhbHVlICYgMHgzRkYpIDw8IDEwKSArIChleHRyYSAmIDB4M0ZGKSArIDB4MTAwMDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0cHV0LnB1c2godmFsdWUpO1xuICAgICAgICBjb3VudGVyLS07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dHB1dC5wdXNoKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiB0b0hleCh1bmljb2RlKSB7XG4gIGNvbnN0IGRlY29kZWQgPSB1Y3MyZGVjb2RlKHVuaWNvZGUpO1xuICByZXR1cm4gZGVjb2RlZC5sZW5ndGggPT09IDEgPyBkZWNvZGVkWzBdLnRvU3RyaW5nKDE2KSA6IG51bGw7XG59XG5mdW5jdGlvbiBjb2RlUG9pbnRBdChzdHJpbmcsIGluZGV4KSB7XG4gIGNvbnN0IHNpemUgPSBzdHJpbmcubGVuZ3RoO1xuICBsZXQgZmlyc3QgPSBzdHJpbmcuY2hhckNvZGVBdChpbmRleCk7XG4gIGxldCBzZWNvbmQ7XG5cbiAgaWYgKGZpcnN0ID49IDB4RDgwMCAmJiBmaXJzdCA8PSAweERCRkYgJiYgc2l6ZSA+IGluZGV4ICsgMSkge1xuICAgIHNlY29uZCA9IHN0cmluZy5jaGFyQ29kZUF0KGluZGV4ICsgMSk7XG5cbiAgICBpZiAoc2Vjb25kID49IDB4REMwMCAmJiBzZWNvbmQgPD0gMHhERkZGKSB7XG4gICAgICByZXR1cm4gKGZpcnN0IC0gMHhEODAwKSAqIDB4NDAwICsgc2Vjb25kIC0gMHhEQzAwICsgMHgxMDAwMDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlyc3Q7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUljb25zKGljb25zKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhpY29ucykucmVkdWNlKChhY2MsIGljb25OYW1lKSA9PiB7XG4gICAgY29uc3QgaWNvbiA9IGljb25zW2ljb25OYW1lXTtcbiAgICBjb25zdCBleHBhbmRlZCA9ICEhaWNvbi5pY29uO1xuXG4gICAgaWYgKGV4cGFuZGVkKSB7XG4gICAgICBhY2NbaWNvbi5pY29uTmFtZV0gPSBpY29uLmljb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY1tpY29uTmFtZV0gPSBpY29uO1xuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbn1cblxuZnVuY3Rpb24gZGVmaW5lSWNvbnMocHJlZml4LCBpY29ucykge1xuICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcbiAgY29uc3Qge1xuICAgIHNraXBIb29rcyA9IGZhbHNlXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVJY29ucyhpY29ucyk7XG5cbiAgaWYgKHR5cGVvZiBuYW1lc3BhY2UuaG9va3MuYWRkUGFjayA9PT0gJ2Z1bmN0aW9uJyAmJiAhc2tpcEhvb2tzKSB7XG4gICAgbmFtZXNwYWNlLmhvb2tzLmFkZFBhY2socHJlZml4LCBub3JtYWxpemVJY29ucyhpY29ucykpO1xuICB9IGVsc2Uge1xuICAgIG5hbWVzcGFjZS5zdHlsZXNbcHJlZml4XSA9IHsgLi4uKG5hbWVzcGFjZS5zdHlsZXNbcHJlZml4XSB8fCB7fSksXG4gICAgICAuLi5ub3JtYWxpemVkXG4gICAgfTtcbiAgfVxuICAvKipcbiAgICogRm9udCBBd2Vzb21lIDQgdXNlZCB0aGUgcHJlZml4IG9mIGBmYWAgZm9yIGFsbCBpY29ucy4gV2l0aCB0aGUgaW50cm9kdWN0aW9uXG4gICAqIG9mIG5ldyBzdHlsZXMgd2UgbmVlZGVkIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGVtLiBQcmVmaXggYGZhYCBpcyBub3cgYW4gYWxpYXNcbiAgICogZm9yIGBmYXNgIHNvIHdlJ2xsIGVhc2UgdGhlIHVwZ3JhZGUgcHJvY2VzcyBmb3Igb3VyIHVzZXJzIGJ5IGF1dG9tYXRpY2FsbHkgZGVmaW5pbmdcbiAgICogdGhpcyBhcyB3ZWxsLlxuICAgKi9cblxuXG4gIGlmIChwcmVmaXggPT09ICdmYXMnKSB7XG4gICAgZGVmaW5lSWNvbnMoJ2ZhJywgaWNvbnMpO1xuICB9XG59XG5cbmNvbnN0IHtcbiAgc3R5bGVzLFxuICBzaGltc1xufSA9IG5hbWVzcGFjZTtcbmNvbnN0IExPTkdfU1RZTEUgPSB7XG4gIFthXTogT2JqZWN0LnZhbHVlcyhQUkVGSVhfVE9fTE9OR19TVFlMRVthXSksXG4gIFtyXTogT2JqZWN0LnZhbHVlcyhQUkVGSVhfVE9fTE9OR19TVFlMRVtyXSksXG4gIFtvXTogT2JqZWN0LnZhbHVlcyhQUkVGSVhfVE9fTE9OR19TVFlMRVtvXSlcbn07XG5sZXQgX2RlZmF1bHRVc2FibGVQcmVmaXggPSBudWxsO1xubGV0IF9ieVVuaWNvZGUgPSB7fTtcbmxldCBfYnlMaWdhdHVyZSA9IHt9O1xubGV0IF9ieU9sZE5hbWUgPSB7fTtcbmxldCBfYnlPbGRVbmljb2RlID0ge307XG5sZXQgX2J5QWxpYXMgPSB7fTtcbmNvbnN0IFBSRUZJWEVTID0ge1xuICBbYV06IE9iamVjdC5rZXlzKFBSRUZJWF9UT19TVFlMRVthXSksXG4gIFtyXTogT2JqZWN0LmtleXMoUFJFRklYX1RPX1NUWUxFW3JdKSxcbiAgW29dOiBPYmplY3Qua2V5cyhQUkVGSVhfVE9fU1RZTEVbb10pXG59O1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkKG5hbWUpIHtcbiAgcmV0dXJuIH5SRVNFUlZFRF9DTEFTU0VTLmluZGV4T2YobmFtZSk7XG59XG5cbmZ1bmN0aW9uIGdldEljb25OYW1lKGNzc1ByZWZpeCwgY2xzKSB7XG4gIGNvbnN0IHBhcnRzID0gY2xzLnNwbGl0KCctJyk7XG4gIGNvbnN0IHByZWZpeCA9IHBhcnRzWzBdO1xuICBjb25zdCBpY29uTmFtZSA9IHBhcnRzLnNsaWNlKDEpLmpvaW4oJy0nKTtcblxuICBpZiAocHJlZml4ID09PSBjc3NQcmVmaXggJiYgaWNvbk5hbWUgIT09ICcnICYmICFpc1Jlc2VydmVkKGljb25OYW1lKSkge1xuICAgIHJldHVybiBpY29uTmFtZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuY29uc3QgYnVpbGQgPSAoKSA9PiB7XG4gIGNvbnN0IGxvb2t1cCA9IHJlZHVjZXIgPT4ge1xuICAgIHJldHVybiByZWR1Y2Uoc3R5bGVzLCAobyQkMSwgc3R5bGUsIHByZWZpeCkgPT4ge1xuICAgICAgbyQkMVtwcmVmaXhdID0gcmVkdWNlKHN0eWxlLCByZWR1Y2VyLCB7fSk7XG4gICAgICByZXR1cm4gbyQkMTtcbiAgICB9LCB7fSk7XG4gIH07XG5cbiAgX2J5VW5pY29kZSA9IGxvb2t1cCgoYWNjLCBpY29uLCBpY29uTmFtZSkgPT4ge1xuICAgIGlmIChpY29uWzNdKSB7XG4gICAgICBhY2NbaWNvblszXV0gPSBpY29uTmFtZTtcbiAgICB9XG5cbiAgICBpZiAoaWNvblsyXSkge1xuICAgICAgY29uc3QgYWxpYXNlcyA9IGljb25bMl0uZmlsdGVyKGEkJDEgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGEkJDEgPT09ICdudW1iZXInO1xuICAgICAgfSk7XG4gICAgICBhbGlhc2VzLmZvckVhY2goYWxpYXMgPT4ge1xuICAgICAgICBhY2NbYWxpYXMudG9TdHJpbmcoMTYpXSA9IGljb25OYW1lO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSk7XG4gIF9ieUxpZ2F0dXJlID0gbG9va3VwKChhY2MsIGljb24sIGljb25OYW1lKSA9PiB7XG4gICAgYWNjW2ljb25OYW1lXSA9IGljb25OYW1lO1xuXG4gICAgaWYgKGljb25bMl0pIHtcbiAgICAgIGNvbnN0IGFsaWFzZXMgPSBpY29uWzJdLmZpbHRlcihhJCQxID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBhJCQxID09PSAnc3RyaW5nJztcbiAgICAgIH0pO1xuICAgICAgYWxpYXNlcy5mb3JFYWNoKGFsaWFzID0+IHtcbiAgICAgICAgYWNjW2FsaWFzXSA9IGljb25OYW1lO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSk7XG4gIF9ieUFsaWFzID0gbG9va3VwKChhY2MsIGljb24sIGljb25OYW1lKSA9PiB7XG4gICAgY29uc3QgYWxpYXNlcyA9IGljb25bMl07XG4gICAgYWNjW2ljb25OYW1lXSA9IGljb25OYW1lO1xuICAgIGFsaWFzZXMuZm9yRWFjaChhbGlhcyA9PiB7XG4gICAgICBhY2NbYWxpYXNdID0gaWNvbk5hbWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSk7IC8vIElmIHdlIGhhdmUgYSBLaXQsIHdlIGNhbid0IGRldGVybWluZSBpZiByZWd1bGFyIGlzIGF2YWlsYWJsZSBzaW5jZSB3ZVxuICAvLyBjb3VsZCBiZSBhdXRvLWZldGNoaW5nIGl0LiBXZSdsbCBoYXZlIHRvIGFzc3VtZSB0aGF0IGl0IGlzIGF2YWlsYWJsZS5cblxuICBjb25zdCBoYXNSZWd1bGFyID0gJ2ZhcicgaW4gc3R5bGVzIHx8IGNvbmZpZy5hdXRvRmV0Y2hTdmc7XG4gIGNvbnN0IHNoaW1Mb29rdXBzID0gcmVkdWNlKHNoaW1zLCAoYWNjLCBzaGltKSA9PiB7XG4gICAgY29uc3QgbWF5YmVOYW1lTWF5YmVVbmljb2RlID0gc2hpbVswXTtcbiAgICBsZXQgcHJlZml4ID0gc2hpbVsxXTtcbiAgICBjb25zdCBpY29uTmFtZSA9IHNoaW1bMl07XG5cbiAgICBpZiAocHJlZml4ID09PSAnZmFyJyAmJiAhaGFzUmVndWxhcikge1xuICAgICAgcHJlZml4ID0gJ2Zhcyc7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtYXliZU5hbWVNYXliZVVuaWNvZGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhY2MubmFtZXNbbWF5YmVOYW1lTWF5YmVVbmljb2RlXSA9IHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpY29uTmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heWJlTmFtZU1heWJlVW5pY29kZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGFjYy51bmljb2Rlc1ttYXliZU5hbWVNYXliZVVuaWNvZGUudG9TdHJpbmcoMTYpXSA9IHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpY29uTmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7XG4gICAgbmFtZXM6IHt9LFxuICAgIHVuaWNvZGVzOiB7fVxuICB9KTtcbiAgX2J5T2xkTmFtZSA9IHNoaW1Mb29rdXBzLm5hbWVzO1xuICBfYnlPbGRVbmljb2RlID0gc2hpbUxvb2t1cHMudW5pY29kZXM7XG4gIF9kZWZhdWx0VXNhYmxlUHJlZml4ID0gZ2V0Q2Fub25pY2FsUHJlZml4KGNvbmZpZy5zdHlsZURlZmF1bHQsIHtcbiAgICBmYW1pbHk6IGNvbmZpZy5mYW1pbHlEZWZhdWx0XG4gIH0pO1xufTtcbm9uQ2hhbmdlKGMkJDEgPT4ge1xuICBfZGVmYXVsdFVzYWJsZVByZWZpeCA9IGdldENhbm9uaWNhbFByZWZpeChjJCQxLnN0eWxlRGVmYXVsdCwge1xuICAgIGZhbWlseTogY29uZmlnLmZhbWlseURlZmF1bHRcbiAgfSk7XG59KTtcbmJ1aWxkKCk7XG5mdW5jdGlvbiBieVVuaWNvZGUocHJlZml4LCB1bmljb2RlKSB7XG4gIHJldHVybiAoX2J5VW5pY29kZVtwcmVmaXhdIHx8IHt9KVt1bmljb2RlXTtcbn1cbmZ1bmN0aW9uIGJ5TGlnYXR1cmUocHJlZml4LCBsaWdhdHVyZSkge1xuICByZXR1cm4gKF9ieUxpZ2F0dXJlW3ByZWZpeF0gfHwge30pW2xpZ2F0dXJlXTtcbn1cbmZ1bmN0aW9uIGJ5QWxpYXMocHJlZml4LCBhbGlhcykge1xuICByZXR1cm4gKF9ieUFsaWFzW3ByZWZpeF0gfHwge30pW2FsaWFzXTtcbn1cbmZ1bmN0aW9uIGJ5T2xkTmFtZShuYW1lKSB7XG4gIHJldHVybiBfYnlPbGROYW1lW25hbWVdIHx8IHtcbiAgICBwcmVmaXg6IG51bGwsXG4gICAgaWNvbk5hbWU6IG51bGxcbiAgfTtcbn1cbmZ1bmN0aW9uIGJ5T2xkVW5pY29kZSh1bmljb2RlKSB7XG4gIGNvbnN0IG9sZFVuaWNvZGUgPSBfYnlPbGRVbmljb2RlW3VuaWNvZGVdO1xuICBjb25zdCBuZXdVbmljb2RlID0gYnlVbmljb2RlKCdmYXMnLCB1bmljb2RlKTtcbiAgcmV0dXJuIG9sZFVuaWNvZGUgfHwgKG5ld1VuaWNvZGUgPyB7XG4gICAgcHJlZml4OiAnZmFzJyxcbiAgICBpY29uTmFtZTogbmV3VW5pY29kZVxuICB9IDogbnVsbCkgfHwge1xuICAgIHByZWZpeDogbnVsbCxcbiAgICBpY29uTmFtZTogbnVsbFxuICB9O1xufVxuZnVuY3Rpb24gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpIHtcbiAgcmV0dXJuIF9kZWZhdWx0VXNhYmxlUHJlZml4O1xufVxuY29uc3QgZW1wdHlDYW5vbmljYWxJY29uID0gKCkgPT4ge1xuICByZXR1cm4ge1xuICAgIHByZWZpeDogbnVsbCxcbiAgICBpY29uTmFtZTogbnVsbCxcbiAgICByZXN0OiBbXVxuICB9O1xufTtcbmZ1bmN0aW9uIGdldENhbm9uaWNhbFByZWZpeChzdHlsZU9yUHJlZml4KSB7XG4gIGxldCBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICBjb25zdCB7XG4gICAgZmFtaWx5ID0gYVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBzdHlsZSA9IFBSRUZJWF9UT19TVFlMRVtmYW1pbHldW3N0eWxlT3JQcmVmaXhdO1xuICBjb25zdCBwcmVmaXggPSBTVFlMRV9UT19QUkVGSVhbZmFtaWx5XVtzdHlsZU9yUHJlZml4XSB8fCBTVFlMRV9UT19QUkVGSVhbZmFtaWx5XVtzdHlsZV07XG4gIGNvbnN0IGRlZmluZWQgPSBzdHlsZU9yUHJlZml4IGluIG5hbWVzcGFjZS5zdHlsZXMgPyBzdHlsZU9yUHJlZml4IDogbnVsbDtcbiAgY29uc3QgcmVzdWx0ID0gcHJlZml4IHx8IGRlZmluZWQgfHwgbnVsbDtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmNvbnN0IFBSRUZJWEVTX0ZPUl9GQU1JTFkgPSB7XG4gIFthXTogT2JqZWN0LmtleXMoUFJFRklYX1RPX0xPTkdfU1RZTEVbYV0pLFxuICBbcl06IE9iamVjdC5rZXlzKFBSRUZJWF9UT19MT05HX1NUWUxFW3JdKSxcbiAgW29dOiBPYmplY3Qua2V5cyhQUkVGSVhfVE9fTE9OR19TVFlMRVtvXSlcbn07XG5mdW5jdGlvbiBnZXRDYW5vbmljYWxJY29uKHZhbHVlcykge1xuICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgY29uc3Qge1xuICAgIHNraXBMb29rdXBzID0gZmFsc2VcbiAgfSA9IHBhcmFtcztcbiAgY29uc3QgZmFtUHJvcHMgPSB7XG4gICAgW2FdOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KGEpLFxuICAgIFtyXTogXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItXCIpLmNvbmNhdChyKSxcbiAgICBbb106IFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQobylcbiAgfTtcbiAgbGV0IGdpdmVuUHJlZml4ID0gbnVsbDtcbiAgbGV0IGZhbWlseSA9IGE7XG4gIGNvbnN0IG5vbkR1b3RvbmVGYW1pbHlJZHMgPSBjLmZpbHRlcihmYW1pbHlJZCA9PiBmYW1pbHlJZCAhPT0gdCk7XG4gIG5vbkR1b3RvbmVGYW1pbHlJZHMuZm9yRWFjaChmYW1pbHlJZCA9PiB7XG4gICAgaWYgKHZhbHVlcy5pbmNsdWRlcyhmYW1Qcm9wc1tmYW1pbHlJZF0pIHx8IHZhbHVlcy5zb21lKHYkJDEgPT4gUFJFRklYRVNfRk9SX0ZBTUlMWVtmYW1pbHlJZF0uaW5jbHVkZXModiQkMSkpKSB7XG4gICAgICBmYW1pbHkgPSBmYW1pbHlJZDtcbiAgICB9XG4gIH0pO1xuICBjb25zdCBjYW5vbmljYWwgPSB2YWx1ZXMucmVkdWNlKChhY2MsIGNscykgPT4ge1xuICAgIGNvbnN0IGljb25OYW1lID0gZ2V0SWNvbk5hbWUoY29uZmlnLmNzc1ByZWZpeCwgY2xzKTtcblxuICAgIGlmIChzdHlsZXNbY2xzXSkge1xuICAgICAgY2xzID0gTE9OR19TVFlMRVtmYW1pbHldLmluY2x1ZGVzKGNscykgPyBMT05HX1NUWUxFX1RPX1BSRUZJWFtmYW1pbHldW2Nsc10gOiBjbHM7XG4gICAgICBnaXZlblByZWZpeCA9IGNscztcbiAgICAgIGFjYy5wcmVmaXggPSBjbHM7XG4gICAgfSBlbHNlIGlmIChQUkVGSVhFU1tmYW1pbHldLmluZGV4T2YoY2xzKSA+IC0xKSB7XG4gICAgICBnaXZlblByZWZpeCA9IGNscztcbiAgICAgIGFjYy5wcmVmaXggPSBnZXRDYW5vbmljYWxQcmVmaXgoY2xzLCB7XG4gICAgICAgIGZhbWlseVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpY29uTmFtZSkge1xuICAgICAgYWNjLmljb25OYW1lID0gaWNvbk5hbWU7XG4gICAgfSBlbHNlIGlmIChjbHMgIT09IGNvbmZpZy5yZXBsYWNlbWVudENsYXNzICYmICFub25EdW90b25lRmFtaWx5SWRzLnNvbWUoZmFtaWx5TmFtZSA9PiBjbHMgPT09IGZhbVByb3BzW2ZhbWlseU5hbWVdKSkge1xuICAgICAgYWNjLnJlc3QucHVzaChjbHMpO1xuICAgIH1cblxuICAgIGlmICghc2tpcExvb2t1cHMgJiYgYWNjLnByZWZpeCAmJiBhY2MuaWNvbk5hbWUpIHtcbiAgICAgIGNvbnN0IHNoaW0gPSBnaXZlblByZWZpeCA9PT0gJ2ZhJyA/IGJ5T2xkTmFtZShhY2MuaWNvbk5hbWUpIDoge307XG4gICAgICBjb25zdCBhbGlhc0ljb25OYW1lID0gYnlBbGlhcyhhY2MucHJlZml4LCBhY2MuaWNvbk5hbWUpO1xuXG4gICAgICBpZiAoc2hpbS5wcmVmaXgpIHtcbiAgICAgICAgZ2l2ZW5QcmVmaXggPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBhY2MuaWNvbk5hbWUgPSBzaGltLmljb25OYW1lIHx8IGFsaWFzSWNvbk5hbWUgfHwgYWNjLmljb25OYW1lO1xuICAgICAgYWNjLnByZWZpeCA9IHNoaW0ucHJlZml4IHx8IGFjYy5wcmVmaXg7XG5cbiAgICAgIGlmIChhY2MucHJlZml4ID09PSAnZmFyJyAmJiAhc3R5bGVzWydmYXInXSAmJiBzdHlsZXNbJ2ZhcyddICYmICFjb25maWcuYXV0b0ZldGNoU3ZnKSB7XG4gICAgICAgIC8vIEFsbG93IGEgZmFsbGJhY2sgZnJvbSB0aGUgcmVndWxhciBzdHlsZSB0byBzb2xpZCBpZiByZWd1bGFyIGlzIG5vdCBhdmFpbGFibGVcbiAgICAgICAgLy8gYnV0IG9ubHkgaWYgd2UgYXJlbid0IGF1dG8tZmV0Y2hpbmcgU1ZHc1xuICAgICAgICBhY2MucHJlZml4ID0gJ2Zhcyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgZW1wdHlDYW5vbmljYWxJY29uKCkpO1xuXG4gIGlmICh2YWx1ZXMuaW5jbHVkZXMoJ2ZhLWJyYW5kcycpIHx8IHZhbHVlcy5pbmNsdWRlcygnZmFiJykpIHtcbiAgICBjYW5vbmljYWwucHJlZml4ID0gJ2ZhYic7XG4gIH1cblxuICBpZiAodmFsdWVzLmluY2x1ZGVzKCdmYS1kdW90b25lJykgfHwgdmFsdWVzLmluY2x1ZGVzKCdmYWQnKSkge1xuICAgIGNhbm9uaWNhbC5wcmVmaXggPSAnZmFkJztcbiAgfVxuXG4gIGlmICghY2Fub25pY2FsLnByZWZpeCAmJiBmYW1pbHkgPT09IHIgJiYgKHN0eWxlc1snZmFzcyddIHx8IGNvbmZpZy5hdXRvRmV0Y2hTdmcpKSB7XG4gICAgY2Fub25pY2FsLnByZWZpeCA9ICdmYXNzJztcbiAgICBjYW5vbmljYWwuaWNvbk5hbWUgPSBieUFsaWFzKGNhbm9uaWNhbC5wcmVmaXgsIGNhbm9uaWNhbC5pY29uTmFtZSkgfHwgY2Fub25pY2FsLmljb25OYW1lO1xuICB9XG5cbiAgaWYgKCFjYW5vbmljYWwucHJlZml4ICYmIGZhbWlseSA9PT0gbyAmJiAoc3R5bGVzWydmYXNkcyddIHx8IGNvbmZpZy5hdXRvRmV0Y2hTdmcpKSB7XG4gICAgY2Fub25pY2FsLnByZWZpeCA9ICdmYXNkcyc7XG4gICAgY2Fub25pY2FsLmljb25OYW1lID0gYnlBbGlhcyhjYW5vbmljYWwucHJlZml4LCBjYW5vbmljYWwuaWNvbk5hbWUpIHx8IGNhbm9uaWNhbC5pY29uTmFtZTtcbiAgfVxuXG4gIGlmIChjYW5vbmljYWwucHJlZml4ID09PSAnZmEnIHx8IGdpdmVuUHJlZml4ID09PSAnZmEnKSB7XG4gICAgLy8gVGhlIGZhIHByZWZpeCBpcyBub3QgY2Fub25pY2FsLiBTbyBpZiBpdCBoYXMgbWFkZSBpdCB0aHJvdWdoIHVudGlsIHRoaXMgcG9pbnRcbiAgICAvLyB3ZSB3aWxsIHNoaWZ0IGl0IHRvIHRoZSBjb3JyZWN0IHByZWZpeC5cbiAgICBjYW5vbmljYWwucHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpIHx8ICdmYXMnO1xuICB9XG5cbiAgcmV0dXJuIGNhbm9uaWNhbDtcbn1cblxuY2xhc3MgTGlicmFyeSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVmaW5pdGlvbnMgPSB7fTtcbiAgfVxuXG4gIGFkZCgpIHtcbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgZGVmaW5pdGlvbnMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBkZWZpbml0aW9uc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBjb25zdCBhZGRpdGlvbnMgPSBkZWZpbml0aW9ucy5yZWR1Y2UodGhpcy5fcHVsbERlZmluaXRpb25zLCB7fSk7XG4gICAgT2JqZWN0LmtleXMoYWRkaXRpb25zKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICB0aGlzLmRlZmluaXRpb25zW2tleV0gPSB7IC4uLih0aGlzLmRlZmluaXRpb25zW2tleV0gfHwge30pLFxuICAgICAgICAuLi5hZGRpdGlvbnNba2V5XVxuICAgICAgfTtcbiAgICAgIGRlZmluZUljb25zKGtleSwgYWRkaXRpb25zW2tleV0pOyAvLyBUT0RPIGNhbiB3ZSBzdG9wIGRvaW5nIHRoaXM/IFdlIGNhbid0IGdldCB0aGUgaWNvbnMgYnkgJ2ZhLXNvbGlkJyBhbnkgbG9uZ2VyIHNvIHRoaXMgcHJvYmFibHkgbmVlZHMgdG8gY2hhbmdlXG5cbiAgICAgIGNvbnN0IGxvbmdQcmVmaXggPSBQUkVGSVhfVE9fTE9OR19TVFlMRVthXVtrZXldO1xuICAgICAgaWYgKGxvbmdQcmVmaXgpIGRlZmluZUljb25zKGxvbmdQcmVmaXgsIGFkZGl0aW9uc1trZXldKTtcbiAgICAgIGJ1aWxkKCk7XG4gICAgfSk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLmRlZmluaXRpb25zID0ge307XG4gIH1cblxuICBfcHVsbERlZmluaXRpb25zKGFkZGl0aW9ucywgZGVmaW5pdGlvbikge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBkZWZpbml0aW9uLnByZWZpeCAmJiBkZWZpbml0aW9uLmljb25OYW1lICYmIGRlZmluaXRpb24uaWNvbiA/IHtcbiAgICAgIDA6IGRlZmluaXRpb25cbiAgICB9IDogZGVmaW5pdGlvbjtcbiAgICBPYmplY3Qua2V5cyhub3JtYWxpemVkKS5tYXAoa2V5ID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpY29uTmFtZSxcbiAgICAgICAgaWNvblxuICAgICAgfSA9IG5vcm1hbGl6ZWRba2V5XTtcbiAgICAgIGNvbnN0IGFsaWFzZXMgPSBpY29uWzJdO1xuICAgICAgaWYgKCFhZGRpdGlvbnNbcHJlZml4XSkgYWRkaXRpb25zW3ByZWZpeF0gPSB7fTtcblxuICAgICAgaWYgKGFsaWFzZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBhbGlhc2VzLmZvckVhY2goYWxpYXMgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgYWxpYXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBhZGRpdGlvbnNbcHJlZml4XVthbGlhc10gPSBpY29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGFkZGl0aW9uc1twcmVmaXhdW2ljb25OYW1lXSA9IGljb247XG4gICAgfSk7XG4gICAgcmV0dXJuIGFkZGl0aW9ucztcbiAgfVxuXG59XG5cbmxldCBfcGx1Z2lucyA9IFtdO1xubGV0IF9ob29rcyA9IHt9O1xuY29uc3QgcHJvdmlkZXJzID0ge307XG5jb25zdCBkZWZhdWx0UHJvdmlkZXJLZXlzID0gT2JqZWN0LmtleXMocHJvdmlkZXJzKTtcbmZ1bmN0aW9uIHJlZ2lzdGVyUGx1Z2lucyhuZXh0UGx1Z2lucywgX3JlZikge1xuICBsZXQge1xuICAgIG1peG91dHNUbzogb2JqXG4gIH0gPSBfcmVmO1xuICBfcGx1Z2lucyA9IG5leHRQbHVnaW5zO1xuICBfaG9va3MgPSB7fTtcbiAgT2JqZWN0LmtleXMocHJvdmlkZXJzKS5mb3JFYWNoKGsgPT4ge1xuICAgIGlmIChkZWZhdWx0UHJvdmlkZXJLZXlzLmluZGV4T2YoaykgPT09IC0xKSB7XG4gICAgICBkZWxldGUgcHJvdmlkZXJzW2tdO1xuICAgIH1cbiAgfSk7XG5cbiAgX3BsdWdpbnMuZm9yRWFjaChwbHVnaW4gPT4ge1xuICAgIGNvbnN0IG1peG91dCA9IHBsdWdpbi5taXhvdXQgPyBwbHVnaW4ubWl4b3V0KCkgOiB7fTtcbiAgICBPYmplY3Qua2V5cyhtaXhvdXQpLmZvckVhY2godGsgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBtaXhvdXRbdGtdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9ialt0a10gPSBtaXhvdXRbdGtdO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIG1peG91dFt0a10gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKG1peG91dFt0a10pLmZvckVhY2goc2sgPT4ge1xuICAgICAgICAgIGlmICghb2JqW3RrXSkge1xuICAgICAgICAgICAgb2JqW3RrXSA9IHt9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG9ialt0a11bc2tdID0gbWl4b3V0W3RrXVtza107XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHBsdWdpbi5ob29rcykge1xuICAgICAgY29uc3QgaG9va3MgPSBwbHVnaW4uaG9va3MoKTtcbiAgICAgIE9iamVjdC5rZXlzKGhvb2tzKS5mb3JFYWNoKGhvb2sgPT4ge1xuICAgICAgICBpZiAoIV9ob29rc1tob29rXSkge1xuICAgICAgICAgIF9ob29rc1tob29rXSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgX2hvb2tzW2hvb2tdLnB1c2goaG9va3NbaG9va10pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBsdWdpbi5wcm92aWRlcykge1xuICAgICAgcGx1Z2luLnByb3ZpZGVzKHByb3ZpZGVycyk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gb2JqO1xufVxuZnVuY3Rpb24gY2hhaW5Ib29rcyhob29rLCBhY2N1bXVsYXRvcikge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMiA/IF9sZW4gLSAyIDogMCksIF9rZXkgPSAyOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5IC0gMl0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICBjb25zdCBob29rRm5zID0gX2hvb2tzW2hvb2tdIHx8IFtdO1xuICBob29rRm5zLmZvckVhY2goaG9va0ZuID0+IHtcbiAgICBhY2N1bXVsYXRvciA9IGhvb2tGbi5hcHBseShudWxsLCBbYWNjdW11bGF0b3IsIC4uLmFyZ3NdKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11c2VsZXNzLWNhbGxcbiAgfSk7XG4gIHJldHVybiBhY2N1bXVsYXRvcjtcbn1cbmZ1bmN0aW9uIGNhbGxIb29rcyhob29rKSB7XG4gIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgYXJnc1tfa2V5MiAtIDFdID0gYXJndW1lbnRzW19rZXkyXTtcbiAgfVxuXG4gIGNvbnN0IGhvb2tGbnMgPSBfaG9va3NbaG9va10gfHwgW107XG4gIGhvb2tGbnMuZm9yRWFjaChob29rRm4gPT4ge1xuICAgIGhvb2tGbi5hcHBseShudWxsLCBhcmdzKTtcbiAgfSk7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBjYWxsUHJvdmlkZWQoKSB7XG4gIGNvbnN0IGhvb2sgPSBhcmd1bWVudHNbMF07XG4gIGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuICByZXR1cm4gcHJvdmlkZXJzW2hvb2tdID8gcHJvdmlkZXJzW2hvb2tdLmFwcGx5KG51bGwsIGFyZ3MpIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBmaW5kSWNvbkRlZmluaXRpb24oaWNvbkxvb2t1cCkge1xuICBpZiAoaWNvbkxvb2t1cC5wcmVmaXggPT09ICdmYScpIHtcbiAgICBpY29uTG9va3VwLnByZWZpeCA9ICdmYXMnO1xuICB9XG5cbiAgbGV0IHtcbiAgICBpY29uTmFtZVxuICB9ID0gaWNvbkxvb2t1cDtcbiAgY29uc3QgcHJlZml4ID0gaWNvbkxvb2t1cC5wcmVmaXggfHwgZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuICBpZiAoIWljb25OYW1lKSByZXR1cm47XG4gIGljb25OYW1lID0gYnlBbGlhcyhwcmVmaXgsIGljb25OYW1lKSB8fCBpY29uTmFtZTtcbiAgcmV0dXJuIGljb25Gcm9tTWFwcGluZyhsaWJyYXJ5LmRlZmluaXRpb25zLCBwcmVmaXgsIGljb25OYW1lKSB8fCBpY29uRnJvbU1hcHBpbmcobmFtZXNwYWNlLnN0eWxlcywgcHJlZml4LCBpY29uTmFtZSk7XG59XG5jb25zdCBsaWJyYXJ5ID0gbmV3IExpYnJhcnkoKTtcbmNvbnN0IG5vQXV0byA9ICgpID0+IHtcbiAgY29uZmlnLmF1dG9SZXBsYWNlU3ZnID0gZmFsc2U7XG4gIGNvbmZpZy5vYnNlcnZlTXV0YXRpb25zID0gZmFsc2U7XG4gIGNhbGxIb29rcygnbm9BdXRvJyk7XG59O1xuY29uc3QgZG9tID0ge1xuICBpMnN2ZzogZnVuY3Rpb24gKCkge1xuICAgIGxldCBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuXG4gICAgaWYgKElTX0RPTSkge1xuICAgICAgY2FsbEhvb2tzKCdiZWZvcmVJMnN2ZycsIHBhcmFtcyk7XG4gICAgICBjYWxsUHJvdmlkZWQoJ3BzZXVkb0VsZW1lbnRzMnN2ZycsIHBhcmFtcyk7XG4gICAgICByZXR1cm4gY2FsbFByb3ZpZGVkKCdpMnN2ZycsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ09wZXJhdGlvbiByZXF1aXJlcyBhIERPTSBvZiBzb21lIGtpbmQuJykpO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICBjb25zdCB7XG4gICAgICBhdXRvUmVwbGFjZVN2Z1Jvb3RcbiAgICB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKGNvbmZpZy5hdXRvUmVwbGFjZVN2ZyA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbmZpZy5hdXRvUmVwbGFjZVN2ZyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uZmlnLm9ic2VydmVNdXRhdGlvbnMgPSB0cnVlO1xuICAgIGRvbXJlYWR5KCgpID0+IHtcbiAgICAgIGF1dG9SZXBsYWNlKHtcbiAgICAgICAgYXV0b1JlcGxhY2VTdmdSb290XG4gICAgICB9KTtcbiAgICAgIGNhbGxIb29rcygnd2F0Y2gnLCBwYXJhbXMpO1xuICAgIH0pO1xuICB9XG59O1xuY29uc3QgcGFyc2UgPSB7XG4gIGljb246IGljb24gPT4ge1xuICAgIGlmIChpY29uID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGljb24gPT09ICdvYmplY3QnICYmIGljb24ucHJlZml4ICYmIGljb24uaWNvbk5hbWUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeDogaWNvbi5wcmVmaXgsXG4gICAgICAgIGljb25OYW1lOiBieUFsaWFzKGljb24ucHJlZml4LCBpY29uLmljb25OYW1lKSB8fCBpY29uLmljb25OYW1lXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGljb24pICYmIGljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBpY29uTmFtZSA9IGljb25bMV0uaW5kZXhPZignZmEtJykgPT09IDAgPyBpY29uWzFdLnNsaWNlKDMpIDogaWNvblsxXTtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGdldENhbm9uaWNhbFByZWZpeChpY29uWzBdKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeCxcbiAgICAgICAgaWNvbk5hbWU6IGJ5QWxpYXMocHJlZml4LCBpY29uTmFtZSkgfHwgaWNvbk5hbWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpY29uID09PSAnc3RyaW5nJyAmJiAoaWNvbi5pbmRleE9mKFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKSkgPiAtMSB8fCBpY29uLm1hdGNoKElDT05fU0VMRUNUSU9OX1NZTlRBWF9QQVRURVJOKSkpIHtcbiAgICAgIGNvbnN0IGNhbm9uaWNhbEljb24gPSBnZXRDYW5vbmljYWxJY29uKGljb24uc3BsaXQoJyAnKSwge1xuICAgICAgICBza2lwTG9va3VwczogdHJ1ZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcmVmaXg6IGNhbm9uaWNhbEljb24ucHJlZml4IHx8IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKSxcbiAgICAgICAgaWNvbk5hbWU6IGJ5QWxpYXMoY2Fub25pY2FsSWNvbi5wcmVmaXgsIGNhbm9uaWNhbEljb24uaWNvbk5hbWUpIHx8IGNhbm9uaWNhbEljb24uaWNvbk5hbWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpY29uID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpY29uTmFtZTogYnlBbGlhcyhwcmVmaXgsIGljb24pIHx8IGljb25cbiAgICAgIH07XG4gICAgfVxuICB9XG59O1xuY29uc3QgYXBpID0ge1xuICBub0F1dG8sXG4gIGNvbmZpZyxcbiAgZG9tLFxuICBwYXJzZSxcbiAgbGlicmFyeSxcbiAgZmluZEljb25EZWZpbml0aW9uLFxuICB0b0h0bWxcbn07XG5cbmNvbnN0IGF1dG9SZXBsYWNlID0gZnVuY3Rpb24gKCkge1xuICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgY29uc3Qge1xuICAgIGF1dG9SZXBsYWNlU3ZnUm9vdCA9IERPQ1VNRU5UXG4gIH0gPSBwYXJhbXM7XG4gIGlmICgoT2JqZWN0LmtleXMobmFtZXNwYWNlLnN0eWxlcykubGVuZ3RoID4gMCB8fCBjb25maWcuYXV0b0ZldGNoU3ZnKSAmJiBJU19ET00gJiYgY29uZmlnLmF1dG9SZXBsYWNlU3ZnKSBhcGkuZG9tLmkyc3ZnKHtcbiAgICBub2RlOiBhdXRvUmVwbGFjZVN2Z1Jvb3RcbiAgfSk7XG59O1xuXG5mdW5jdGlvbiBkb21WYXJpYW50cyh2YWwsIGFic3RyYWN0Q3JlYXRvcikge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsLCAnYWJzdHJhY3QnLCB7XG4gICAgZ2V0OiBhYnN0cmFjdENyZWF0b3JcbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWwsICdodG1sJywge1xuICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHZhbC5hYnN0cmFjdC5tYXAoYSA9PiB0b0h0bWwoYSkpO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWwsICdub2RlJywge1xuICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFJU19ET00pIHJldHVybjtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IHZhbC5odG1sO1xuICAgICAgcmV0dXJuIGNvbnRhaW5lci5jaGlsZHJlbjtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdmFsO1xufVxuXG5mdW5jdGlvbiBhc0ljb24gKF9yZWYpIHtcbiAgbGV0IHtcbiAgICBjaGlsZHJlbixcbiAgICBtYWluLFxuICAgIG1hc2ssXG4gICAgYXR0cmlidXRlcyxcbiAgICBzdHlsZXMsXG4gICAgdHJhbnNmb3JtXG4gIH0gPSBfcmVmO1xuXG4gIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSAmJiBtYWluLmZvdW5kICYmICFtYXNrLmZvdW5kKSB7XG4gICAgY29uc3Qge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICB9ID0gbWFpbjtcbiAgICBjb25zdCBvZmZzZXQgPSB7XG4gICAgICB4OiB3aWR0aCAvIGhlaWdodCAvIDIsXG4gICAgICB5OiAwLjVcbiAgICB9O1xuICAgIGF0dHJpYnV0ZXNbJ3N0eWxlJ10gPSBqb2luU3R5bGVzKHsgLi4uc3R5bGVzLFxuICAgICAgJ3RyYW5zZm9ybS1vcmlnaW4nOiBcIlwiLmNvbmNhdChvZmZzZXQueCArIHRyYW5zZm9ybS54IC8gMTYsIFwiZW0gXCIpLmNvbmNhdChvZmZzZXQueSArIHRyYW5zZm9ybS55IC8gMTYsIFwiZW1cIilcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBbe1xuICAgIHRhZzogJ3N2ZycsXG4gICAgYXR0cmlidXRlcyxcbiAgICBjaGlsZHJlblxuICB9XTtcbn1cblxuZnVuY3Rpb24gYXNTeW1ib2wgKF9yZWYpIHtcbiAgbGV0IHtcbiAgICBwcmVmaXgsXG4gICAgaWNvbk5hbWUsXG4gICAgY2hpbGRyZW4sXG4gICAgYXR0cmlidXRlcyxcbiAgICBzeW1ib2xcbiAgfSA9IF9yZWY7XG4gIGNvbnN0IGlkID0gc3ltYm9sID09PSB0cnVlID8gXCJcIi5jb25jYXQocHJlZml4LCBcIi1cIikuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoaWNvbk5hbWUpIDogc3ltYm9sO1xuICByZXR1cm4gW3tcbiAgICB0YWc6ICdzdmcnLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIHN0eWxlOiAnZGlzcGxheTogbm9uZTsnXG4gICAgfSxcbiAgICBjaGlsZHJlbjogW3tcbiAgICAgIHRhZzogJ3N5bWJvbCcsXG4gICAgICBhdHRyaWJ1dGVzOiB7IC4uLmF0dHJpYnV0ZXMsXG4gICAgICAgIGlkXG4gICAgICB9LFxuICAgICAgY2hpbGRyZW5cbiAgICB9XVxuICB9XTtcbn1cblxuZnVuY3Rpb24gbWFrZUlubGluZVN2Z0Fic3RyYWN0KHBhcmFtcykge1xuICBjb25zdCB7XG4gICAgaWNvbnM6IHtcbiAgICAgIG1haW4sXG4gICAgICBtYXNrXG4gICAgfSxcbiAgICBwcmVmaXgsXG4gICAgaWNvbk5hbWUsXG4gICAgdHJhbnNmb3JtLFxuICAgIHN5bWJvbCxcbiAgICB0aXRsZSxcbiAgICBtYXNrSWQsXG4gICAgdGl0bGVJZCxcbiAgICBleHRyYSxcbiAgICB3YXRjaGFibGUgPSBmYWxzZVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH0gPSBtYXNrLmZvdW5kID8gbWFzayA6IG1haW47XG4gIGNvbnN0IGlzVXBsb2FkZWRJY29uID0gcHJlZml4ID09PSAnZmFrJztcbiAgY29uc3QgYXR0ckNsYXNzID0gW2NvbmZpZy5yZXBsYWNlbWVudENsYXNzLCBpY29uTmFtZSA/IFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoaWNvbk5hbWUpIDogJyddLmZpbHRlcihjID0+IGV4dHJhLmNsYXNzZXMuaW5kZXhPZihjKSA9PT0gLTEpLmZpbHRlcihjID0+IGMgIT09ICcnIHx8ICEhYykuY29uY2F0KGV4dHJhLmNsYXNzZXMpLmpvaW4oJyAnKTtcbiAgbGV0IGNvbnRlbnQgPSB7XG4gICAgY2hpbGRyZW46IFtdLFxuICAgIGF0dHJpYnV0ZXM6IHsgLi4uZXh0cmEuYXR0cmlidXRlcyxcbiAgICAgICdkYXRhLXByZWZpeCc6IHByZWZpeCxcbiAgICAgICdkYXRhLWljb24nOiBpY29uTmFtZSxcbiAgICAgICdjbGFzcyc6IGF0dHJDbGFzcyxcbiAgICAgICdyb2xlJzogZXh0cmEuYXR0cmlidXRlcy5yb2xlIHx8ICdpbWcnLFxuICAgICAgJ3htbG5zJzogJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyxcbiAgICAgICd2aWV3Qm94JzogXCIwIDAgXCIuY29uY2F0KHdpZHRoLCBcIiBcIikuY29uY2F0KGhlaWdodClcbiAgICB9XG4gIH07XG4gIGNvbnN0IHVwbG9hZGVkSWNvbldpZHRoU3R5bGUgPSBpc1VwbG9hZGVkSWNvbiAmJiAhfmV4dHJhLmNsYXNzZXMuaW5kZXhPZignZmEtZncnKSA/IHtcbiAgICB3aWR0aDogXCJcIi5jb25jYXQod2lkdGggLyBoZWlnaHQgKiAxNiAqIDAuMDYyNSwgXCJlbVwiKVxuICB9IDoge307XG5cbiAgaWYgKHdhdGNoYWJsZSkge1xuICAgIGNvbnRlbnQuYXR0cmlidXRlc1tEQVRBX0ZBX0kyU1ZHXSA9ICcnO1xuICB9XG5cbiAgaWYgKHRpdGxlKSB7XG4gICAgY29udGVudC5jaGlsZHJlbi5wdXNoKHtcbiAgICAgIHRhZzogJ3RpdGxlJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgaWQ6IGNvbnRlbnQuYXR0cmlidXRlc1snYXJpYS1sYWJlbGxlZGJ5J10gfHwgXCJ0aXRsZS1cIi5jb25jYXQodGl0bGVJZCB8fCBuZXh0VW5pcXVlSWQoKSlcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3RpdGxlXVxuICAgIH0pO1xuICAgIGRlbGV0ZSBjb250ZW50LmF0dHJpYnV0ZXMudGl0bGU7XG4gIH1cblxuICBjb25zdCBhcmdzID0geyAuLi5jb250ZW50LFxuICAgIHByZWZpeCxcbiAgICBpY29uTmFtZSxcbiAgICBtYWluLFxuICAgIG1hc2ssXG4gICAgbWFza0lkLFxuICAgIHRyYW5zZm9ybSxcbiAgICBzeW1ib2wsXG4gICAgc3R5bGVzOiB7IC4uLnVwbG9hZGVkSWNvbldpZHRoU3R5bGUsXG4gICAgICAuLi5leHRyYS5zdHlsZXNcbiAgICB9XG4gIH07XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBhdHRyaWJ1dGVzXG4gIH0gPSBtYXNrLmZvdW5kICYmIG1haW4uZm91bmQgPyBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlQWJzdHJhY3RNYXNrJywgYXJncykgfHwge1xuICAgIGNoaWxkcmVuOiBbXSxcbiAgICBhdHRyaWJ1dGVzOiB7fVxuICB9IDogY2FsbFByb3ZpZGVkKCdnZW5lcmF0ZUFic3RyYWN0SWNvbicsIGFyZ3MpIHx8IHtcbiAgICBjaGlsZHJlbjogW10sXG4gICAgYXR0cmlidXRlczoge31cbiAgfTtcbiAgYXJncy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICBhcmdzLmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuXG4gIGlmIChzeW1ib2wpIHtcbiAgICByZXR1cm4gYXNTeW1ib2woYXJncyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGFzSWNvbihhcmdzKTtcbiAgfVxufVxuZnVuY3Rpb24gbWFrZUxheWVyc1RleHRBYnN0cmFjdChwYXJhbXMpIHtcbiAgY29uc3Qge1xuICAgIGNvbnRlbnQsXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHRyYW5zZm9ybSxcbiAgICB0aXRsZSxcbiAgICBleHRyYSxcbiAgICB3YXRjaGFibGUgPSBmYWxzZVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBhdHRyaWJ1dGVzID0geyAuLi5leHRyYS5hdHRyaWJ1dGVzLFxuICAgIC4uLih0aXRsZSA/IHtcbiAgICAgICd0aXRsZSc6IHRpdGxlXG4gICAgfSA6IHt9KSxcbiAgICAnY2xhc3MnOiBleHRyYS5jbGFzc2VzLmpvaW4oJyAnKVxuICB9O1xuXG4gIGlmICh3YXRjaGFibGUpIHtcbiAgICBhdHRyaWJ1dGVzW0RBVEFfRkFfSTJTVkddID0gJyc7XG4gIH1cblxuICBjb25zdCBzdHlsZXMgPSB7IC4uLmV4dHJhLnN0eWxlc1xuICB9O1xuXG4gIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSkge1xuICAgIHN0eWxlc1sndHJhbnNmb3JtJ10gPSB0cmFuc2Zvcm1Gb3JDc3Moe1xuICAgICAgdHJhbnNmb3JtLFxuICAgICAgc3RhcnRDZW50ZXJlZDogdHJ1ZSxcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0XG4gICAgfSk7XG4gICAgc3R5bGVzWyctd2Via2l0LXRyYW5zZm9ybSddID0gc3R5bGVzWyd0cmFuc2Zvcm0nXTtcbiAgfVxuXG4gIGNvbnN0IHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhzdHlsZXMpO1xuXG4gIGlmIChzdHlsZVN0cmluZy5sZW5ndGggPiAwKSB7XG4gICAgYXR0cmlidXRlc1snc3R5bGUnXSA9IHN0eWxlU3RyaW5nO1xuICB9XG5cbiAgY29uc3QgdmFsID0gW107XG4gIHZhbC5wdXNoKHtcbiAgICB0YWc6ICdzcGFuJyxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIGNoaWxkcmVuOiBbY29udGVudF1cbiAgfSk7XG5cbiAgaWYgKHRpdGxlKSB7XG4gICAgdmFsLnB1c2goe1xuICAgICAgdGFnOiAnc3BhbicsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnc3Itb25seSdcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3RpdGxlXVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbDtcbn1cbmZ1bmN0aW9uIG1ha2VMYXllcnNDb3VudGVyQWJzdHJhY3QocGFyYW1zKSB7XG4gIGNvbnN0IHtcbiAgICBjb250ZW50LFxuICAgIHRpdGxlLFxuICAgIGV4dHJhXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGF0dHJpYnV0ZXMgPSB7IC4uLmV4dHJhLmF0dHJpYnV0ZXMsXG4gICAgLi4uKHRpdGxlID8ge1xuICAgICAgJ3RpdGxlJzogdGl0bGVcbiAgICB9IDoge30pLFxuICAgICdjbGFzcyc6IGV4dHJhLmNsYXNzZXMuam9pbignICcpXG4gIH07XG4gIGNvbnN0IHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhleHRyYS5zdHlsZXMpO1xuXG4gIGlmIChzdHlsZVN0cmluZy5sZW5ndGggPiAwKSB7XG4gICAgYXR0cmlidXRlc1snc3R5bGUnXSA9IHN0eWxlU3RyaW5nO1xuICB9XG5cbiAgY29uc3QgdmFsID0gW107XG4gIHZhbC5wdXNoKHtcbiAgICB0YWc6ICdzcGFuJyxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIGNoaWxkcmVuOiBbY29udGVudF1cbiAgfSk7XG5cbiAgaWYgKHRpdGxlKSB7XG4gICAgdmFsLnB1c2goe1xuICAgICAgdGFnOiAnc3BhbicsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnc3Itb25seSdcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3RpdGxlXVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbDtcbn1cblxuY29uc3Qge1xuICBzdHlsZXM6IHN0eWxlcyQxXG59ID0gbmFtZXNwYWNlO1xuZnVuY3Rpb24gYXNGb3VuZEljb24oaWNvbikge1xuICBjb25zdCB3aWR0aCA9IGljb25bMF07XG4gIGNvbnN0IGhlaWdodCA9IGljb25bMV07XG4gIGNvbnN0IFt2ZWN0b3JEYXRhXSA9IGljb24uc2xpY2UoNCk7XG4gIGxldCBlbGVtZW50ID0gbnVsbDtcblxuICBpZiAoQXJyYXkuaXNBcnJheSh2ZWN0b3JEYXRhKSkge1xuICAgIGVsZW1lbnQgPSB7XG4gICAgICB0YWc6ICdnJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6IFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoRFVPVE9ORV9DTEFTU0VTLkdST1VQKVxuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGNsYXNzOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KERVT1RPTkVfQ0xBU1NFUy5TRUNPTkRBUlkpLFxuICAgICAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAgIGQ6IHZlY3RvckRhdGFbMF1cbiAgICAgICAgfVxuICAgICAgfSwge1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGNsYXNzOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KERVT1RPTkVfQ0xBU1NFUy5QUklNQVJZKSxcbiAgICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgICBkOiB2ZWN0b3JEYXRhWzFdXG4gICAgICAgIH1cbiAgICAgIH1dXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBlbGVtZW50ID0ge1xuICAgICAgdGFnOiAncGF0aCcsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICBkOiB2ZWN0b3JEYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZm91bmQ6IHRydWUsXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIGljb246IGVsZW1lbnRcbiAgfTtcbn1cbmNvbnN0IG1pc3NpbmdJY29uUmVzb2x1dGlvbk1peGluID0ge1xuICBmb3VuZDogZmFsc2UsXG4gIHdpZHRoOiA1MTIsXG4gIGhlaWdodDogNTEyXG59O1xuXG5mdW5jdGlvbiBtYXliZU5vdGlmeU1pc3NpbmcoaWNvbk5hbWUsIHByZWZpeCkge1xuICBpZiAoIVBST0RVQ1RJT04gJiYgIWNvbmZpZy5zaG93TWlzc2luZ0ljb25zICYmIGljb25OYW1lKSB7XG4gICAgY29uc29sZS5lcnJvcihcIkljb24gd2l0aCBuYW1lIFxcXCJcIi5jb25jYXQoaWNvbk5hbWUsIFwiXFxcIiBhbmQgcHJlZml4IFxcXCJcIikuY29uY2F0KHByZWZpeCwgXCJcXFwiIGlzIG1pc3NpbmcuXCIpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kSWNvbihpY29uTmFtZSwgcHJlZml4KSB7XG4gIGxldCBnaXZlblByZWZpeCA9IHByZWZpeDtcblxuICBpZiAocHJlZml4ID09PSAnZmEnICYmIGNvbmZpZy5zdHlsZURlZmF1bHQgIT09IG51bGwpIHtcbiAgICBwcmVmaXggPSBnZXREZWZhdWx0VXNhYmxlUHJlZml4KCk7XG4gIH1cblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmIChnaXZlblByZWZpeCA9PT0gJ2ZhJykge1xuICAgICAgY29uc3Qgc2hpbSA9IGJ5T2xkTmFtZShpY29uTmFtZSkgfHwge307XG4gICAgICBpY29uTmFtZSA9IHNoaW0uaWNvbk5hbWUgfHwgaWNvbk5hbWU7XG4gICAgICBwcmVmaXggPSBzaGltLnByZWZpeCB8fCBwcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKGljb25OYW1lICYmIHByZWZpeCAmJiBzdHlsZXMkMVtwcmVmaXhdICYmIHN0eWxlcyQxW3ByZWZpeF1baWNvbk5hbWVdKSB7XG4gICAgICBjb25zdCBpY29uID0gc3R5bGVzJDFbcHJlZml4XVtpY29uTmFtZV07XG4gICAgICByZXR1cm4gcmVzb2x2ZShhc0ZvdW5kSWNvbihpY29uKSk7XG4gICAgfVxuXG4gICAgbWF5YmVOb3RpZnlNaXNzaW5nKGljb25OYW1lLCBwcmVmaXgpO1xuICAgIHJlc29sdmUoeyAuLi5taXNzaW5nSWNvblJlc29sdXRpb25NaXhpbixcbiAgICAgIGljb246IGNvbmZpZy5zaG93TWlzc2luZ0ljb25zICYmIGljb25OYW1lID8gY2FsbFByb3ZpZGVkKCdtaXNzaW5nSWNvbkFic3RyYWN0JykgfHwge30gOiB7fVxuICAgIH0pO1xuICB9KTtcbn1cblxuY29uc3Qgbm9vcCQxID0gKCkgPT4ge307XG5cbmNvbnN0IHAkMiA9IGNvbmZpZy5tZWFzdXJlUGVyZm9ybWFuY2UgJiYgUEVSRk9STUFOQ0UgJiYgUEVSRk9STUFOQ0UubWFyayAmJiBQRVJGT1JNQU5DRS5tZWFzdXJlID8gUEVSRk9STUFOQ0UgOiB7XG4gIG1hcms6IG5vb3AkMSxcbiAgbWVhc3VyZTogbm9vcCQxXG59O1xuY29uc3QgcHJlYW1ibGUgPSBcIkZBIFxcXCI2LjYuMFxcXCJcIjtcblxuY29uc3QgYmVnaW4gPSBuYW1lID0+IHtcbiAgcCQyLm1hcmsoXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSwgXCIgYmVnaW5zXCIpKTtcbiAgcmV0dXJuICgpID0+IGVuZChuYW1lKTtcbn07XG5cbmNvbnN0IGVuZCA9IG5hbWUgPT4ge1xuICBwJDIubWFyayhcIlwiLmNvbmNhdChwcmVhbWJsZSwgXCIgXCIpLmNvbmNhdChuYW1lLCBcIiBlbmRzXCIpKTtcbiAgcCQyLm1lYXN1cmUoXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSksIFwiXCIuY29uY2F0KHByZWFtYmxlLCBcIiBcIikuY29uY2F0KG5hbWUsIFwiIGJlZ2luc1wiKSwgXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSwgXCIgZW5kc1wiKSk7XG59O1xuXG52YXIgcGVyZiA9IHtcbiAgYmVnaW4sXG4gIGVuZFxufTtcblxuY29uc3Qgbm9vcCQyID0gKCkgPT4ge307XG5cbmZ1bmN0aW9uIGlzV2F0Y2hlZChub2RlKSB7XG4gIGNvbnN0IGkyc3ZnID0gbm9kZS5nZXRBdHRyaWJ1dGUgPyBub2RlLmdldEF0dHJpYnV0ZShEQVRBX0ZBX0kyU1ZHKSA6IG51bGw7XG4gIHJldHVybiB0eXBlb2YgaTJzdmcgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBoYXNQcmVmaXhBbmRJY29uKG5vZGUpIHtcbiAgY29uc3QgcHJlZml4ID0gbm9kZS5nZXRBdHRyaWJ1dGUgPyBub2RlLmdldEF0dHJpYnV0ZShEQVRBX1BSRUZJWCkgOiBudWxsO1xuICBjb25zdCBpY29uID0gbm9kZS5nZXRBdHRyaWJ1dGUgPyBub2RlLmdldEF0dHJpYnV0ZShEQVRBX0lDT04pIDogbnVsbDtcbiAgcmV0dXJuIHByZWZpeCAmJiBpY29uO1xufVxuXG5mdW5jdGlvbiBoYXNCZWVuUmVwbGFjZWQobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLmNsYXNzTGlzdCAmJiBub2RlLmNsYXNzTGlzdC5jb250YWlucyAmJiBub2RlLmNsYXNzTGlzdC5jb250YWlucyhjb25maWcucmVwbGFjZW1lbnRDbGFzcyk7XG59XG5cbmZ1bmN0aW9uIGdldE11dGF0b3IoKSB7XG4gIGlmIChjb25maWcuYXV0b1JlcGxhY2VTdmcgPT09IHRydWUpIHtcbiAgICByZXR1cm4gbXV0YXRvcnMucmVwbGFjZTtcbiAgfVxuXG4gIGNvbnN0IG11dGF0b3IgPSBtdXRhdG9yc1tjb25maWcuYXV0b1JlcGxhY2VTdmddO1xuICByZXR1cm4gbXV0YXRvciB8fCBtdXRhdG9ycy5yZXBsYWNlO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50TlModGFnKSB7XG4gIHJldHVybiBET0NVTUVOVC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgdGFnKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0YWcpIHtcbiAgcmV0dXJuIERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQodGFnKTtcbn1cblxuZnVuY3Rpb24gY29udmVydFNWRyhhYnN0cmFjdE9iaikge1xuICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgY29uc3Qge1xuICAgIGNlRm4gPSBhYnN0cmFjdE9iai50YWcgPT09ICdzdmcnID8gY3JlYXRlRWxlbWVudE5TIDogY3JlYXRlRWxlbWVudFxuICB9ID0gcGFyYW1zO1xuXG4gIGlmICh0eXBlb2YgYWJzdHJhY3RPYmogPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIERPQ1VNRU5ULmNyZWF0ZVRleHROb2RlKGFic3RyYWN0T2JqKTtcbiAgfVxuXG4gIGNvbnN0IHRhZyA9IGNlRm4oYWJzdHJhY3RPYmoudGFnKTtcbiAgT2JqZWN0LmtleXMoYWJzdHJhY3RPYmouYXR0cmlidXRlcyB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgdGFnLnNldEF0dHJpYnV0ZShrZXksIGFic3RyYWN0T2JqLmF0dHJpYnV0ZXNba2V5XSk7XG4gIH0pO1xuICBjb25zdCBjaGlsZHJlbiA9IGFic3RyYWN0T2JqLmNoaWxkcmVuIHx8IFtdO1xuICBjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIHRhZy5hcHBlbmRDaGlsZChjb252ZXJ0U1ZHKGNoaWxkLCB7XG4gICAgICBjZUZuXG4gICAgfSkpO1xuICB9KTtcbiAgcmV0dXJuIHRhZztcbn1cblxuZnVuY3Rpb24gbm9kZUFzQ29tbWVudChub2RlKSB7XG4gIGxldCBjb21tZW50ID0gXCIgXCIuY29uY2F0KG5vZGUub3V0ZXJIVE1MLCBcIiBcIik7XG4gIC8qIEJFR0lOLkFUVFJJQlVUSU9OICovXG5cbiAgY29tbWVudCA9IFwiXCIuY29uY2F0KGNvbW1lbnQsIFwiRm9udCBBd2Vzb21lIGZvbnRhd2Vzb21lLmNvbSBcIik7XG4gIC8qIEVORC5BVFRSSUJVVElPTiAqL1xuXG4gIHJldHVybiBjb21tZW50O1xufVxuXG5jb25zdCBtdXRhdG9ycyA9IHtcbiAgcmVwbGFjZTogZnVuY3Rpb24gKG11dGF0aW9uKSB7XG4gICAgY29uc3Qgbm9kZSA9IG11dGF0aW9uWzBdO1xuXG4gICAgaWYgKG5vZGUucGFyZW50Tm9kZSkge1xuICAgICAgbXV0YXRpb25bMV0uZm9yRWFjaChhYnN0cmFjdCA9PiB7XG4gICAgICAgIG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY29udmVydFNWRyhhYnN0cmFjdCksIG5vZGUpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZShEQVRBX0ZBX0kyU1ZHKSA9PT0gbnVsbCAmJiBjb25maWcua2VlcE9yaWdpbmFsU291cmNlKSB7XG4gICAgICAgIGxldCBjb21tZW50ID0gRE9DVU1FTlQuY3JlYXRlQ29tbWVudChub2RlQXNDb21tZW50KG5vZGUpKTtcbiAgICAgICAgbm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChjb21tZW50LCBub2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUucmVtb3ZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBuZXN0OiBmdW5jdGlvbiAobXV0YXRpb24pIHtcbiAgICBjb25zdCBub2RlID0gbXV0YXRpb25bMF07XG4gICAgY29uc3QgYWJzdHJhY3QgPSBtdXRhdGlvblsxXTsgLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGEgcmVwbGFjZWQgbm9kZSB3ZSBkbyBub3Qgd2FudCB0byBjb250aW51ZSBuZXN0aW5nIHdpdGhpbiBpdC5cbiAgICAvLyBTaG9ydC1jaXJjdWl0IHRvIHRoZSBzdGFuZGFyZCByZXBsYWNlbWVudFxuXG4gICAgaWYgKH5jbGFzc0FycmF5KG5vZGUpLmluZGV4T2YoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MpKSB7XG4gICAgICByZXR1cm4gbXV0YXRvcnMucmVwbGFjZShtdXRhdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgZm9yU3ZnID0gbmV3IFJlZ0V4cChcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi0uKlwiKSk7XG4gICAgZGVsZXRlIGFic3RyYWN0WzBdLmF0dHJpYnV0ZXMuaWQ7XG5cbiAgICBpZiAoYWJzdHJhY3RbMF0uYXR0cmlidXRlcy5jbGFzcykge1xuICAgICAgY29uc3Qgc3BsaXRDbGFzc2VzID0gYWJzdHJhY3RbMF0uYXR0cmlidXRlcy5jbGFzcy5zcGxpdCgnICcpLnJlZHVjZSgoYWNjLCBjbHMpID0+IHtcbiAgICAgICAgaWYgKGNscyA9PT0gY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MgfHwgY2xzLm1hdGNoKGZvclN2ZykpIHtcbiAgICAgICAgICBhY2MudG9TdmcucHVzaChjbHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjYy50b05vZGUucHVzaChjbHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHtcbiAgICAgICAgdG9Ob2RlOiBbXSxcbiAgICAgICAgdG9Tdmc6IFtdXG4gICAgICB9KTtcbiAgICAgIGFic3RyYWN0WzBdLmF0dHJpYnV0ZXMuY2xhc3MgPSBzcGxpdENsYXNzZXMudG9Tdmcuam9pbignICcpO1xuXG4gICAgICBpZiAoc3BsaXRDbGFzc2VzLnRvTm9kZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCBzcGxpdENsYXNzZXMudG9Ob2RlLmpvaW4oJyAnKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbmV3SW5uZXJIVE1MID0gYWJzdHJhY3QubWFwKGEgPT4gdG9IdG1sKGEpKS5qb2luKCdcXG4nKTtcbiAgICBub2RlLnNldEF0dHJpYnV0ZShEQVRBX0ZBX0kyU1ZHLCAnJyk7XG4gICAgbm9kZS5pbm5lckhUTUwgPSBuZXdJbm5lckhUTUw7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIHBlcmZvcm1PcGVyYXRpb25TeW5jKG9wKSB7XG4gIG9wKCk7XG59XG5cbmZ1bmN0aW9uIHBlcmZvcm0obXV0YXRpb25zLCBjYWxsYmFjaykge1xuICBjb25zdCBjYWxsYmFja0Z1bmN0aW9uID0gdHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nID8gY2FsbGJhY2sgOiBub29wJDI7XG5cbiAgaWYgKG11dGF0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICBjYWxsYmFja0Z1bmN0aW9uKCk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IGZyYW1lID0gcGVyZm9ybU9wZXJhdGlvblN5bmM7XG5cbiAgICBpZiAoY29uZmlnLm11dGF0ZUFwcHJvYWNoID09PSBNVVRBVElPTl9BUFBST0FDSF9BU1lOQykge1xuICAgICAgZnJhbWUgPSBXSU5ET1cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8IHBlcmZvcm1PcGVyYXRpb25TeW5jO1xuICAgIH1cblxuICAgIGZyYW1lKCgpID0+IHtcbiAgICAgIGNvbnN0IG11dGF0b3IgPSBnZXRNdXRhdG9yKCk7XG4gICAgICBjb25zdCBtYXJrID0gcGVyZi5iZWdpbignbXV0YXRlJyk7XG4gICAgICBtdXRhdGlvbnMubWFwKG11dGF0b3IpO1xuICAgICAgbWFyaygpO1xuICAgICAgY2FsbGJhY2tGdW5jdGlvbigpO1xuICAgIH0pO1xuICB9XG59XG5sZXQgZGlzYWJsZWQgPSBmYWxzZTtcbmZ1bmN0aW9uIGRpc2FibGVPYnNlcnZhdGlvbigpIHtcbiAgZGlzYWJsZWQgPSB0cnVlO1xufVxuZnVuY3Rpb24gZW5hYmxlT2JzZXJ2YXRpb24oKSB7XG4gIGRpc2FibGVkID0gZmFsc2U7XG59XG5sZXQgbW8kMSA9IG51bGw7XG5mdW5jdGlvbiBvYnNlcnZlKG9wdGlvbnMpIHtcbiAgaWYgKCFNVVRBVElPTl9PQlNFUlZFUikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghY29uZmlnLm9ic2VydmVNdXRhdGlvbnMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7XG4gICAgdHJlZUNhbGxiYWNrID0gbm9vcCQyLFxuICAgIG5vZGVDYWxsYmFjayA9IG5vb3AkMixcbiAgICBwc2V1ZG9FbGVtZW50c0NhbGxiYWNrID0gbm9vcCQyLFxuICAgIG9ic2VydmVNdXRhdGlvbnNSb290ID0gRE9DVU1FTlRcbiAgfSA9IG9wdGlvbnM7XG4gIG1vJDEgPSBuZXcgTVVUQVRJT05fT0JTRVJWRVIob2JqZWN0cyA9PiB7XG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm47XG4gICAgY29uc3QgZGVmYXVsdFByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcbiAgICB0b0FycmF5KG9iamVjdHMpLmZvckVhY2gobXV0YXRpb25SZWNvcmQgPT4ge1xuICAgICAgaWYgKG11dGF0aW9uUmVjb3JkLnR5cGUgPT09ICdjaGlsZExpc3QnICYmIG11dGF0aW9uUmVjb3JkLmFkZGVkTm9kZXMubGVuZ3RoID4gMCAmJiAhaXNXYXRjaGVkKG11dGF0aW9uUmVjb3JkLmFkZGVkTm9kZXNbMF0pKSB7XG4gICAgICAgIGlmIChjb25maWcuc2VhcmNoUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgICBwc2V1ZG9FbGVtZW50c0NhbGxiYWNrKG11dGF0aW9uUmVjb3JkLnRhcmdldCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmVlQ2FsbGJhY2sobXV0YXRpb25SZWNvcmQudGFyZ2V0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG11dGF0aW9uUmVjb3JkLnR5cGUgPT09ICdhdHRyaWJ1dGVzJyAmJiBtdXRhdGlvblJlY29yZC50YXJnZXQucGFyZW50Tm9kZSAmJiBjb25maWcuc2VhcmNoUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgcHNldWRvRWxlbWVudHNDYWxsYmFjayhtdXRhdGlvblJlY29yZC50YXJnZXQucGFyZW50Tm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtdXRhdGlvblJlY29yZC50eXBlID09PSAnYXR0cmlidXRlcycgJiYgaXNXYXRjaGVkKG11dGF0aW9uUmVjb3JkLnRhcmdldCkgJiYgfkFUVFJJQlVURVNfV0FUQ0hFRF9GT1JfTVVUQVRJT04uaW5kZXhPZihtdXRhdGlvblJlY29yZC5hdHRyaWJ1dGVOYW1lKSkge1xuICAgICAgICBpZiAobXV0YXRpb25SZWNvcmQuYXR0cmlidXRlTmFtZSA9PT0gJ2NsYXNzJyAmJiBoYXNQcmVmaXhBbmRJY29uKG11dGF0aW9uUmVjb3JkLnRhcmdldCkpIHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBpY29uTmFtZVxuICAgICAgICAgIH0gPSBnZXRDYW5vbmljYWxJY29uKGNsYXNzQXJyYXkobXV0YXRpb25SZWNvcmQudGFyZ2V0KSk7XG4gICAgICAgICAgbXV0YXRpb25SZWNvcmQudGFyZ2V0LnNldEF0dHJpYnV0ZShEQVRBX1BSRUZJWCwgcHJlZml4IHx8IGRlZmF1bHRQcmVmaXgpO1xuICAgICAgICAgIGlmIChpY29uTmFtZSkgbXV0YXRpb25SZWNvcmQudGFyZ2V0LnNldEF0dHJpYnV0ZShEQVRBX0lDT04sIGljb25OYW1lKTtcbiAgICAgICAgfSBlbHNlIGlmIChoYXNCZWVuUmVwbGFjZWQobXV0YXRpb25SZWNvcmQudGFyZ2V0KSkge1xuICAgICAgICAgIG5vZGVDYWxsYmFjayhtdXRhdGlvblJlY29yZC50YXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuO1xuICBtbyQxLm9ic2VydmUob2JzZXJ2ZU11dGF0aW9uc1Jvb3QsIHtcbiAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgIHN1YnRyZWU6IHRydWVcbiAgfSk7XG59XG5mdW5jdGlvbiBkaXNjb25uZWN0KCkge1xuICBpZiAoIW1vJDEpIHJldHVybjtcbiAgbW8kMS5kaXNjb25uZWN0KCk7XG59XG5cbmZ1bmN0aW9uIHN0eWxlUGFyc2VyIChub2RlKSB7XG4gIGNvbnN0IHN0eWxlID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7XG4gIGxldCB2YWwgPSBbXTtcblxuICBpZiAoc3R5bGUpIHtcbiAgICB2YWwgPSBzdHlsZS5zcGxpdCgnOycpLnJlZHVjZSgoYWNjLCBzdHlsZSkgPT4ge1xuICAgICAgY29uc3Qgc3R5bGVzID0gc3R5bGUuc3BsaXQoJzonKTtcbiAgICAgIGNvbnN0IHByb3AgPSBzdHlsZXNbMF07XG4gICAgICBjb25zdCB2YWx1ZSA9IHN0eWxlcy5zbGljZSgxKTtcblxuICAgICAgaWYgKHByb3AgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICBhY2NbcHJvcF0gPSB2YWx1ZS5qb2luKCc6JykudHJpbSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59XG5cbmZ1bmN0aW9uIGNsYXNzUGFyc2VyIChub2RlKSB7XG4gIGNvbnN0IGV4aXN0aW5nUHJlZml4ID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcHJlZml4Jyk7XG4gIGNvbnN0IGV4aXN0aW5nSWNvbk5hbWUgPSBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1pY29uJyk7XG4gIGNvbnN0IGlubmVyVGV4dCA9IG5vZGUuaW5uZXJUZXh0ICE9PSB1bmRlZmluZWQgPyBub2RlLmlubmVyVGV4dC50cmltKCkgOiAnJztcbiAgbGV0IHZhbCA9IGdldENhbm9uaWNhbEljb24oY2xhc3NBcnJheShub2RlKSk7XG5cbiAgaWYgKCF2YWwucHJlZml4KSB7XG4gICAgdmFsLnByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcbiAgfVxuXG4gIGlmIChleGlzdGluZ1ByZWZpeCAmJiBleGlzdGluZ0ljb25OYW1lKSB7XG4gICAgdmFsLnByZWZpeCA9IGV4aXN0aW5nUHJlZml4O1xuICAgIHZhbC5pY29uTmFtZSA9IGV4aXN0aW5nSWNvbk5hbWU7XG4gIH1cblxuICBpZiAodmFsLmljb25OYW1lICYmIHZhbC5wcmVmaXgpIHtcbiAgICByZXR1cm4gdmFsO1xuICB9XG5cbiAgaWYgKHZhbC5wcmVmaXggJiYgaW5uZXJUZXh0Lmxlbmd0aCA+IDApIHtcbiAgICB2YWwuaWNvbk5hbWUgPSBieUxpZ2F0dXJlKHZhbC5wcmVmaXgsIG5vZGUuaW5uZXJUZXh0KSB8fCBieVVuaWNvZGUodmFsLnByZWZpeCwgdG9IZXgobm9kZS5pbm5lclRleHQpKTtcbiAgfVxuXG4gIGlmICghdmFsLmljb25OYW1lICYmIGNvbmZpZy5hdXRvRmV0Y2hTdmcgJiYgbm9kZS5maXJzdENoaWxkICYmIG5vZGUuZmlyc3RDaGlsZC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICB2YWwuaWNvbk5hbWUgPSBub2RlLmZpcnN0Q2hpbGQuZGF0YTtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59XG5cbmZ1bmN0aW9uIGF0dHJpYnV0ZXNQYXJzZXIgKG5vZGUpIHtcbiAgY29uc3QgZXh0cmFBdHRyaWJ1dGVzID0gdG9BcnJheShub2RlLmF0dHJpYnV0ZXMpLnJlZHVjZSgoYWNjLCBhdHRyKSA9PiB7XG4gICAgaWYgKGFjYy5uYW1lICE9PSAnY2xhc3MnICYmIGFjYy5uYW1lICE9PSAnc3R5bGUnKSB7XG4gICAgICBhY2NbYXR0ci5uYW1lXSA9IGF0dHIudmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICBjb25zdCB0aXRsZSA9IG5vZGUuZ2V0QXR0cmlidXRlKCd0aXRsZScpO1xuICBjb25zdCB0aXRsZUlkID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtdGl0bGUtaWQnKTtcblxuICBpZiAoY29uZmlnLmF1dG9BMTF5KSB7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICBleHRyYUF0dHJpYnV0ZXNbJ2FyaWEtbGFiZWxsZWRieSddID0gXCJcIi5jb25jYXQoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MsIFwiLXRpdGxlLVwiKS5jb25jYXQodGl0bGVJZCB8fCBuZXh0VW5pcXVlSWQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4dHJhQXR0cmlidXRlc1snYXJpYS1oaWRkZW4nXSA9ICd0cnVlJztcbiAgICAgIGV4dHJhQXR0cmlidXRlc1snZm9jdXNhYmxlJ10gPSAnZmFsc2UnO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHRyYUF0dHJpYnV0ZXM7XG59XG5cbmZ1bmN0aW9uIGJsYW5rTWV0YSgpIHtcbiAgcmV0dXJuIHtcbiAgICBpY29uTmFtZTogbnVsbCxcbiAgICB0aXRsZTogbnVsbCxcbiAgICB0aXRsZUlkOiBudWxsLFxuICAgIHByZWZpeDogbnVsbCxcbiAgICB0cmFuc2Zvcm06IG1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgIHN5bWJvbDogZmFsc2UsXG4gICAgbWFzazoge1xuICAgICAgaWNvbk5hbWU6IG51bGwsXG4gICAgICBwcmVmaXg6IG51bGwsXG4gICAgICByZXN0OiBbXVxuICAgIH0sXG4gICAgbWFza0lkOiBudWxsLFxuICAgIGV4dHJhOiB7XG4gICAgICBjbGFzc2VzOiBbXSxcbiAgICAgIHN0eWxlczoge30sXG4gICAgICBhdHRyaWJ1dGVzOiB7fVxuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIHBhcnNlTWV0YShub2RlKSB7XG4gIGxldCBwYXJzZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHtcbiAgICBzdHlsZVBhcnNlcjogdHJ1ZVxuICB9O1xuICBjb25zdCB7XG4gICAgaWNvbk5hbWUsXG4gICAgcHJlZml4LFxuICAgIHJlc3Q6IGV4dHJhQ2xhc3Nlc1xuICB9ID0gY2xhc3NQYXJzZXIobm9kZSk7XG4gIGNvbnN0IGV4dHJhQXR0cmlidXRlcyA9IGF0dHJpYnV0ZXNQYXJzZXIobm9kZSk7XG4gIGNvbnN0IHBsdWdpbk1ldGEgPSBjaGFpbkhvb2tzKCdwYXJzZU5vZGVBdHRyaWJ1dGVzJywge30sIG5vZGUpO1xuICBsZXQgZXh0cmFTdHlsZXMgPSBwYXJzZXIuc3R5bGVQYXJzZXIgPyBzdHlsZVBhcnNlcihub2RlKSA6IFtdO1xuICByZXR1cm4ge1xuICAgIGljb25OYW1lLFxuICAgIHRpdGxlOiBub2RlLmdldEF0dHJpYnV0ZSgndGl0bGUnKSxcbiAgICB0aXRsZUlkOiBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1mYS10aXRsZS1pZCcpLFxuICAgIHByZWZpeCxcbiAgICB0cmFuc2Zvcm06IG1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgIG1hc2s6IHtcbiAgICAgIGljb25OYW1lOiBudWxsLFxuICAgICAgcHJlZml4OiBudWxsLFxuICAgICAgcmVzdDogW11cbiAgICB9LFxuICAgIG1hc2tJZDogbnVsbCxcbiAgICBzeW1ib2w6IGZhbHNlLFxuICAgIGV4dHJhOiB7XG4gICAgICBjbGFzc2VzOiBleHRyYUNsYXNzZXMsXG4gICAgICBzdHlsZXM6IGV4dHJhU3R5bGVzLFxuICAgICAgYXR0cmlidXRlczogZXh0cmFBdHRyaWJ1dGVzXG4gICAgfSxcbiAgICAuLi5wbHVnaW5NZXRhXG4gIH07XG59XG5cbmNvbnN0IHtcbiAgc3R5bGVzOiBzdHlsZXMkMlxufSA9IG5hbWVzcGFjZTtcblxuZnVuY3Rpb24gZ2VuZXJhdGVNdXRhdGlvbihub2RlKSB7XG4gIGNvbnN0IG5vZGVNZXRhID0gY29uZmlnLmF1dG9SZXBsYWNlU3ZnID09PSAnbmVzdCcgPyBwYXJzZU1ldGEobm9kZSwge1xuICAgIHN0eWxlUGFyc2VyOiBmYWxzZVxuICB9KSA6IHBhcnNlTWV0YShub2RlKTtcblxuICBpZiAofm5vZGVNZXRhLmV4dHJhLmNsYXNzZXMuaW5kZXhPZihMQVlFUlNfVEVYVF9DTEFTU05BTUUpKSB7XG4gICAgcmV0dXJuIGNhbGxQcm92aWRlZCgnZ2VuZXJhdGVMYXllcnNUZXh0Jywgbm9kZSwgbm9kZU1ldGEpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbicsIG5vZGUsIG5vZGVNZXRhKTtcbiAgfVxufVxuXG5sZXQga25vd25QcmVmaXhlcyA9IG5ldyBTZXQoKTtcbkZBTUlMSUVTLm1hcChmYW1pbHkgPT4ge1xuICBrbm93blByZWZpeGVzLmFkZChcImZhLVwiLmNvbmNhdChmYW1pbHkpKTtcbn0pO1xuT2JqZWN0LmtleXMoUFJFRklYX1RPX1NUWUxFW2FdKS5tYXAoa25vd25QcmVmaXhlcy5hZGQuYmluZChrbm93blByZWZpeGVzKSk7XG5PYmplY3Qua2V5cyhQUkVGSVhfVE9fU1RZTEVbcl0pLm1hcChrbm93blByZWZpeGVzLmFkZC5iaW5kKGtub3duUHJlZml4ZXMpKTtcbk9iamVjdC5rZXlzKFBSRUZJWF9UT19TVFlMRVtvXSkubWFwKGtub3duUHJlZml4ZXMuYWRkLmJpbmQoa25vd25QcmVmaXhlcykpO1xua25vd25QcmVmaXhlcyA9IFsuLi5rbm93blByZWZpeGVzXTtcblxuZnVuY3Rpb24gb25UcmVlKHJvb3QpIHtcbiAgbGV0IGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBudWxsO1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICBjb25zdCBodG1sQ2xhc3NMaXN0ID0gRE9DVU1FTlQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtcblxuICBjb25zdCBoY2xBZGQgPSBzdWZmaXggPT4gaHRtbENsYXNzTGlzdC5hZGQoXCJcIi5jb25jYXQoSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTLCBcIi1cIikuY29uY2F0KHN1ZmZpeCkpO1xuXG4gIGNvbnN0IGhjbFJlbW92ZSA9IHN1ZmZpeCA9PiBodG1sQ2xhc3NMaXN0LnJlbW92ZShcIlwiLmNvbmNhdChIVE1MX0NMQVNTX0kyU1ZHX0JBU0VfQ0xBU1MsIFwiLVwiKS5jb25jYXQoc3VmZml4KSk7XG5cbiAgY29uc3QgcHJlZml4ZXMgPSBjb25maWcuYXV0b0ZldGNoU3ZnID8ga25vd25QcmVmaXhlcyA6IEZBTUlMSUVTLm1hcChmJCQxID0+IFwiZmEtXCIuY29uY2F0KGYkJDEpKS5jb25jYXQoT2JqZWN0LmtleXMoc3R5bGVzJDIpKTtcblxuICBpZiAoIXByZWZpeGVzLmluY2x1ZGVzKCdmYScpKSB7XG4gICAgcHJlZml4ZXMucHVzaCgnZmEnKTtcbiAgfVxuXG4gIGNvbnN0IHByZWZpeGVzRG9tUXVlcnkgPSBbXCIuXCIuY29uY2F0KExBWUVSU19URVhUX0NMQVNTTkFNRSwgXCI6bm90KFtcIikuY29uY2F0KERBVEFfRkFfSTJTVkcsIFwiXSlcIildLmNvbmNhdChwcmVmaXhlcy5tYXAocCQkMSA9PiBcIi5cIi5jb25jYXQocCQkMSwgXCI6bm90KFtcIikuY29uY2F0KERBVEFfRkFfSTJTVkcsIFwiXSlcIikpKS5qb2luKCcsICcpO1xuXG4gIGlmIChwcmVmaXhlc0RvbVF1ZXJ5Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIGxldCBjYW5kaWRhdGVzID0gW107XG5cbiAgdHJ5IHtcbiAgICBjYW5kaWRhdGVzID0gdG9BcnJheShyb290LnF1ZXJ5U2VsZWN0b3JBbGwocHJlZml4ZXNEb21RdWVyeSkpO1xuICB9IGNhdGNoIChlJCQxKSB7Ly8gbm9vcFxuICB9XG5cbiAgaWYgKGNhbmRpZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgIGhjbEFkZCgncGVuZGluZycpO1xuICAgIGhjbFJlbW92ZSgnY29tcGxldGUnKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICBjb25zdCBtYXJrID0gcGVyZi5iZWdpbignb25UcmVlJyk7XG4gIGNvbnN0IG11dGF0aW9ucyA9IGNhbmRpZGF0ZXMucmVkdWNlKChhY2MsIG5vZGUpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbXV0YXRpb24gPSBnZW5lcmF0ZU11dGF0aW9uKG5vZGUpO1xuXG4gICAgICBpZiAobXV0YXRpb24pIHtcbiAgICAgICAgYWNjLnB1c2gobXV0YXRpb24pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUkJDEpIHtcbiAgICAgIGlmICghUFJPRFVDVElPTikge1xuICAgICAgICBpZiAoZSQkMS5uYW1lID09PSAnTWlzc2luZ0ljb24nKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlJCQxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBQcm9taXNlLmFsbChtdXRhdGlvbnMpLnRoZW4ocmVzb2x2ZWRNdXRhdGlvbnMgPT4ge1xuICAgICAgcGVyZm9ybShyZXNvbHZlZE11dGF0aW9ucywgKCkgPT4ge1xuICAgICAgICBoY2xBZGQoJ2FjdGl2ZScpO1xuICAgICAgICBoY2xBZGQoJ2NvbXBsZXRlJyk7XG4gICAgICAgIGhjbFJlbW92ZSgncGVuZGluZycpO1xuICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSBjYWxsYmFjaygpO1xuICAgICAgICBtYXJrKCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pLmNhdGNoKGUkJDEgPT4ge1xuICAgICAgbWFyaygpO1xuICAgICAgcmVqZWN0KGUkJDEpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gb25Ob2RlKG5vZGUpIHtcbiAgbGV0IGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBudWxsO1xuICBnZW5lcmF0ZU11dGF0aW9uKG5vZGUpLnRoZW4obXV0YXRpb24gPT4ge1xuICAgIGlmIChtdXRhdGlvbikge1xuICAgICAgcGVyZm9ybShbbXV0YXRpb25dLCBjYWxsYmFjayk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZUljb25zKG5leHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChtYXliZUljb25EZWZpbml0aW9uKSB7XG4gICAgbGV0IHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gICAgY29uc3QgaWNvbkRlZmluaXRpb24gPSAobWF5YmVJY29uRGVmaW5pdGlvbiB8fCB7fSkuaWNvbiA/IG1heWJlSWNvbkRlZmluaXRpb24gOiBmaW5kSWNvbkRlZmluaXRpb24obWF5YmVJY29uRGVmaW5pdGlvbiB8fCB7fSk7XG4gICAgbGV0IHtcbiAgICAgIG1hc2tcbiAgICB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKG1hc2spIHtcbiAgICAgIG1hc2sgPSAobWFzayB8fCB7fSkuaWNvbiA/IG1hc2sgOiBmaW5kSWNvbkRlZmluaXRpb24obWFzayB8fCB7fSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoaWNvbkRlZmluaXRpb24sIHsgLi4ucGFyYW1zLFxuICAgICAgbWFza1xuICAgIH0pO1xuICB9O1xufVxuXG5jb25zdCByZW5kZXIgPSBmdW5jdGlvbiAoaWNvbkRlZmluaXRpb24pIHtcbiAgbGV0IHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gIGNvbnN0IHtcbiAgICB0cmFuc2Zvcm0gPSBtZWFuaW5nbGVzc1RyYW5zZm9ybSxcbiAgICBzeW1ib2wgPSBmYWxzZSxcbiAgICBtYXNrID0gbnVsbCxcbiAgICBtYXNrSWQgPSBudWxsLFxuICAgIHRpdGxlID0gbnVsbCxcbiAgICB0aXRsZUlkID0gbnVsbCxcbiAgICBjbGFzc2VzID0gW10sXG4gICAgYXR0cmlidXRlcyA9IHt9LFxuICAgIHN0eWxlcyA9IHt9XG4gIH0gPSBwYXJhbXM7XG4gIGlmICghaWNvbkRlZmluaXRpb24pIHJldHVybjtcbiAgY29uc3Qge1xuICAgIHByZWZpeCxcbiAgICBpY29uTmFtZSxcbiAgICBpY29uXG4gIH0gPSBpY29uRGVmaW5pdGlvbjtcbiAgcmV0dXJuIGRvbVZhcmlhbnRzKHtcbiAgICB0eXBlOiAnaWNvbicsXG4gICAgLi4uaWNvbkRlZmluaXRpb25cbiAgfSwgKCkgPT4ge1xuICAgIGNhbGxIb29rcygnYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uJywge1xuICAgICAgaWNvbkRlZmluaXRpb24sXG4gICAgICBwYXJhbXNcbiAgICB9KTtcblxuICAgIGlmIChjb25maWcuYXV0b0ExMXkpIHtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBhdHRyaWJ1dGVzWydhcmlhLWxhYmVsbGVkYnknXSA9IFwiXCIuY29uY2F0KGNvbmZpZy5yZXBsYWNlbWVudENsYXNzLCBcIi10aXRsZS1cIikuY29uY2F0KHRpdGxlSWQgfHwgbmV4dFVuaXF1ZUlkKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXR0cmlidXRlc1snYXJpYS1oaWRkZW4nXSA9ICd0cnVlJztcbiAgICAgICAgYXR0cmlidXRlc1snZm9jdXNhYmxlJ10gPSAnZmFsc2UnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYWtlSW5saW5lU3ZnQWJzdHJhY3Qoe1xuICAgICAgaWNvbnM6IHtcbiAgICAgICAgbWFpbjogYXNGb3VuZEljb24oaWNvbiksXG4gICAgICAgIG1hc2s6IG1hc2sgPyBhc0ZvdW5kSWNvbihtYXNrLmljb24pIDoge1xuICAgICAgICAgIGZvdW5kOiBmYWxzZSxcbiAgICAgICAgICB3aWR0aDogbnVsbCxcbiAgICAgICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICAgICAgaWNvbjoge31cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHByZWZpeCxcbiAgICAgIGljb25OYW1lLFxuICAgICAgdHJhbnNmb3JtOiB7IC4uLm1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgICAgICAuLi50cmFuc2Zvcm1cbiAgICAgIH0sXG4gICAgICBzeW1ib2wsXG4gICAgICB0aXRsZSxcbiAgICAgIG1hc2tJZCxcbiAgICAgIHRpdGxlSWQsXG4gICAgICBleHRyYToge1xuICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgICBzdHlsZXMsXG4gICAgICAgIGNsYXNzZXNcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xudmFyIFJlcGxhY2VFbGVtZW50cyA9IHtcbiAgbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiByZXNvbHZlSWNvbnMocmVuZGVyKVxuICAgIH07XG4gIH0sXG5cbiAgaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG11dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MoYWNjdW11bGF0b3IpIHtcbiAgICAgICAgYWNjdW11bGF0b3IudHJlZUNhbGxiYWNrID0gb25UcmVlO1xuICAgICAgICBhY2N1bXVsYXRvci5ub2RlQ2FsbGJhY2sgPSBvbk5vZGU7XG4gICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgIH1cblxuICAgIH07XG4gIH0sXG5cbiAgcHJvdmlkZXMocHJvdmlkZXJzJCQxKSB7XG4gICAgcHJvdmlkZXJzJCQxLmkyc3ZnID0gZnVuY3Rpb24gKHBhcmFtcykge1xuICAgICAgY29uc3Qge1xuICAgICAgICBub2RlID0gRE9DVU1FTlQsXG4gICAgICAgIGNhbGxiYWNrID0gKCkgPT4ge31cbiAgICAgIH0gPSBwYXJhbXM7XG4gICAgICByZXR1cm4gb25UcmVlKG5vZGUsIGNhbGxiYWNrKTtcbiAgICB9O1xuXG4gICAgcHJvdmlkZXJzJCQxLmdlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbiA9IGZ1bmN0aW9uIChub2RlLCBub2RlTWV0YSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBpY29uTmFtZSxcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIHRpdGxlSWQsXG4gICAgICAgIHByZWZpeCxcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICBzeW1ib2wsXG4gICAgICAgIG1hc2ssXG4gICAgICAgIG1hc2tJZCxcbiAgICAgICAgZXh0cmFcbiAgICAgIH0gPSBub2RlTWV0YTtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIFByb21pc2UuYWxsKFtmaW5kSWNvbihpY29uTmFtZSwgcHJlZml4KSwgbWFzay5pY29uTmFtZSA/IGZpbmRJY29uKG1hc2suaWNvbk5hbWUsIG1hc2sucHJlZml4KSA6IFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgZm91bmQ6IGZhbHNlLFxuICAgICAgICAgIHdpZHRoOiA1MTIsXG4gICAgICAgICAgaGVpZ2h0OiA1MTIsXG4gICAgICAgICAgaWNvbjoge31cbiAgICAgICAgfSldKS50aGVuKF9yZWYgPT4ge1xuICAgICAgICAgIGxldCBbbWFpbiwgbWFza10gPSBfcmVmO1xuICAgICAgICAgIHJlc29sdmUoW25vZGUsIG1ha2VJbmxpbmVTdmdBYnN0cmFjdCh7XG4gICAgICAgICAgICBpY29uczoge1xuICAgICAgICAgICAgICBtYWluLFxuICAgICAgICAgICAgICBtYXNrXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJlZml4LFxuICAgICAgICAgICAgaWNvbk5hbWUsXG4gICAgICAgICAgICB0cmFuc2Zvcm0sXG4gICAgICAgICAgICBzeW1ib2wsXG4gICAgICAgICAgICBtYXNrSWQsXG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIHRpdGxlSWQsXG4gICAgICAgICAgICBleHRyYSxcbiAgICAgICAgICAgIHdhdGNoYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pXSk7XG4gICAgICAgIH0pLmNhdGNoKHJlamVjdCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgcHJvdmlkZXJzJCQxLmdlbmVyYXRlQWJzdHJhY3RJY29uID0gZnVuY3Rpb24gKF9yZWYyKSB7XG4gICAgICBsZXQge1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgbWFpbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICBzdHlsZXNcbiAgICAgIH0gPSBfcmVmMjtcbiAgICAgIGNvbnN0IHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhzdHlsZXMpO1xuXG4gICAgICBpZiAoc3R5bGVTdHJpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICBhdHRyaWJ1dGVzWydzdHlsZSddID0gc3R5bGVTdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGxldCBuZXh0Q2hpbGQ7XG5cbiAgICAgIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSkge1xuICAgICAgICBuZXh0Q2hpbGQgPSBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlQWJzdHJhY3RUcmFuc2Zvcm1Hcm91cGluZycsIHtcbiAgICAgICAgICBtYWluLFxuICAgICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgICBjb250YWluZXJXaWR0aDogbWFpbi53aWR0aCxcbiAgICAgICAgICBpY29uV2lkdGg6IG1haW4ud2lkdGhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNoaWxkcmVuLnB1c2gobmV4dENoaWxkIHx8IG1haW4uaWNvbik7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgYXR0cmlidXRlc1xuICAgICAgfTtcbiAgICB9O1xuICB9XG5cbn07XG5cbnZhciBMYXllcnMgPSB7XG4gIG1peG91dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGF5ZXIoYXNzZW1ibGVyKSB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgY2xhc3NlcyA9IFtdXG4gICAgICAgIH0gPSBwYXJhbXM7XG4gICAgICAgIHJldHVybiBkb21WYXJpYW50cyh7XG4gICAgICAgICAgdHlwZTogJ2xheWVyJ1xuICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgY2FsbEhvb2tzKCdiZWZvcmVET01FbGVtZW50Q3JlYXRpb24nLCB7XG4gICAgICAgICAgICBhc3NlbWJsZXIsXG4gICAgICAgICAgICBwYXJhbXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICBhc3NlbWJsZXIoYXJncyA9PiB7XG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYXJncy5tYXAoYSA9PiB7XG4gICAgICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW4uY29uY2F0KGEuYWJzdHJhY3QpO1xuICAgICAgICAgICAgfSkgOiBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChhcmdzLmFic3RyYWN0KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gW3tcbiAgICAgICAgICAgIHRhZzogJ3NwYW4nLFxuICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICBjbGFzczogW1wiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLWxheWVyc1wiKSwgLi4uY2xhc3Nlc10uam9pbignICcpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hpbGRyZW5cbiAgICAgICAgICB9XTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICB9O1xuICB9XG5cbn07XG5cbnZhciBMYXllcnNDb3VudGVyID0ge1xuICBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvdW50ZXIoY29udGVudCkge1xuICAgICAgICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHRpdGxlID0gbnVsbCxcbiAgICAgICAgICBjbGFzc2VzID0gW10sXG4gICAgICAgICAgYXR0cmlidXRlcyA9IHt9LFxuICAgICAgICAgIHN0eWxlcyA9IHt9XG4gICAgICAgIH0gPSBwYXJhbXM7XG4gICAgICAgIHJldHVybiBkb21WYXJpYW50cyh7XG4gICAgICAgICAgdHlwZTogJ2NvdW50ZXInLFxuICAgICAgICAgIGNvbnRlbnRcbiAgICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAgIGNhbGxIb29rcygnYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uJywge1xuICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgIHBhcmFtc1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBtYWtlTGF5ZXJzQ291bnRlckFic3RyYWN0KHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgc3R5bGVzLFxuICAgICAgICAgICAgICBjbGFzc2VzOiBbXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItbGF5ZXJzLWNvdW50ZXJcIiksIC4uLmNsYXNzZXNdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgfTtcbiAgfVxuXG59O1xuXG52YXIgTGF5ZXJzVGV4dCA9IHtcbiAgbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXh0KGNvbnRlbnQpIHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICB0cmFuc2Zvcm0gPSBtZWFuaW5nbGVzc1RyYW5zZm9ybSxcbiAgICAgICAgICB0aXRsZSA9IG51bGwsXG4gICAgICAgICAgY2xhc3NlcyA9IFtdLFxuICAgICAgICAgIGF0dHJpYnV0ZXMgPSB7fSxcbiAgICAgICAgICBzdHlsZXMgPSB7fVxuICAgICAgICB9ID0gcGFyYW1zO1xuICAgICAgICByZXR1cm4gZG9tVmFyaWFudHMoe1xuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICBjb250ZW50XG4gICAgICAgIH0sICgpID0+IHtcbiAgICAgICAgICBjYWxsSG9va3MoJ2JlZm9yZURPTUVsZW1lbnRDcmVhdGlvbicsIHtcbiAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICBwYXJhbXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gbWFrZUxheWVyc1RleHRBYnN0cmFjdCh7XG4gICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB7IC4uLm1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgICAgICAgICAgICAuLi50cmFuc2Zvcm1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgIHN0eWxlcyxcbiAgICAgICAgICAgICAgY2xhc3NlczogW1wiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLWxheWVycy10ZXh0XCIpLCAuLi5jbGFzc2VzXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgIH07XG4gIH0sXG5cbiAgcHJvdmlkZXMocHJvdmlkZXJzJCQxKSB7XG4gICAgcHJvdmlkZXJzJCQxLmdlbmVyYXRlTGF5ZXJzVGV4dCA9IGZ1bmN0aW9uIChub2RlLCBub2RlTWV0YSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICBleHRyYVxuICAgICAgfSA9IG5vZGVNZXRhO1xuICAgICAgbGV0IHdpZHRoID0gbnVsbDtcbiAgICAgIGxldCBoZWlnaHQgPSBudWxsO1xuXG4gICAgICBpZiAoSVNfSUUpIHtcbiAgICAgICAgY29uc3QgY29tcHV0ZWRGb250U2l6ZSA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUobm9kZSkuZm9udFNpemUsIDEwKTtcbiAgICAgICAgY29uc3QgYm91bmRpbmdDbGllbnRSZWN0ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgd2lkdGggPSBib3VuZGluZ0NsaWVudFJlY3Qud2lkdGggLyBjb21wdXRlZEZvbnRTaXplO1xuICAgICAgICBoZWlnaHQgPSBib3VuZGluZ0NsaWVudFJlY3QuaGVpZ2h0IC8gY29tcHV0ZWRGb250U2l6ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbmZpZy5hdXRvQTExeSAmJiAhdGl0bGUpIHtcbiAgICAgICAgZXh0cmEuYXR0cmlidXRlc1snYXJpYS1oaWRkZW4nXSA9ICd0cnVlJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbbm9kZSwgbWFrZUxheWVyc1RleHRBYnN0cmFjdCh7XG4gICAgICAgIGNvbnRlbnQ6IG5vZGUuaW5uZXJIVE1MLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICB0cmFuc2Zvcm0sXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBleHRyYSxcbiAgICAgICAgd2F0Y2hhYmxlOiB0cnVlXG4gICAgICB9KV0pO1xuICAgIH07XG4gIH1cblxufTtcblxuY29uc3QgQ0xFQU5fQ09OVEVOVF9QQVRURVJOID0gbmV3IFJlZ0V4cCgnXFx1ezIyfScsICd1ZycpO1xuY29uc3QgU0VDT05EQVJZX1VOSUNPREVfUkFOR0UgPSBbMTEwNTkyMCwgMTExMjMxOV07XG5jb25zdCBfRk9OVF9GQU1JTFlfV0VJR0hUX1RPX1BSRUZJWCA9IHsgLi4ue1xuICAgIEZvbnRBd2Vzb21lOiB7XG4gICAgICBub3JtYWw6ICdmYXMnLFxuICAgICAgNDAwOiAnZmFzJ1xuICAgIH1cbiAgfSxcbiAgLi4uZW8sXG4gIC4uLmFvLFxuICAuLi5tb1xufTtcbmNvbnN0IEZPTlRfRkFNSUxZX1dFSUdIVF9UT19QUkVGSVggPSBPYmplY3Qua2V5cyhfRk9OVF9GQU1JTFlfV0VJR0hUX1RPX1BSRUZJWCkucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICBhY2Nba2V5LnRvTG93ZXJDYXNlKCldID0gX0ZPTlRfRkFNSUxZX1dFSUdIVF9UT19QUkVGSVhba2V5XTtcbiAgcmV0dXJuIGFjYztcbn0sIHt9KTtcbmNvbnN0IEZPTlRfRkFNSUxZX1dFSUdIVF9GQUxMQkFDSyA9IE9iamVjdC5rZXlzKEZPTlRfRkFNSUxZX1dFSUdIVF9UT19QUkVGSVgpLnJlZHVjZSgoYWNjLCBmb250RmFtaWx5KSA9PiB7XG4gIGNvbnN0IHdlaWdodHMgPSBGT05UX0ZBTUlMWV9XRUlHSFRfVE9fUFJFRklYW2ZvbnRGYW1pbHldO1xuICBhY2NbZm9udEZhbWlseV0gPSB3ZWlnaHRzWzkwMF0gfHwgWy4uLk9iamVjdC5lbnRyaWVzKHdlaWdodHMpXVswXVsxXTtcbiAgcmV0dXJuIGFjYztcbn0sIHt9KTtcbmZ1bmN0aW9uIGhleFZhbHVlRnJvbUNvbnRlbnQoY29udGVudCkge1xuICBjb25zdCBjbGVhbmVkID0gY29udGVudC5yZXBsYWNlKENMRUFOX0NPTlRFTlRfUEFUVEVSTiwgJycpO1xuICBjb25zdCBjb2RlUG9pbnQgPSBjb2RlUG9pbnRBdChjbGVhbmVkLCAwKTtcbiAgY29uc3QgaXNQcmVwZW5kVGVuID0gY29kZVBvaW50ID49IFNFQ09OREFSWV9VTklDT0RFX1JBTkdFWzBdICYmIGNvZGVQb2ludCA8PSBTRUNPTkRBUllfVU5JQ09ERV9SQU5HRVsxXTtcbiAgY29uc3QgaXNEb3VibGVkID0gY2xlYW5lZC5sZW5ndGggPT09IDIgPyBjbGVhbmVkWzBdID09PSBjbGVhbmVkWzFdIDogZmFsc2U7XG4gIHJldHVybiB7XG4gICAgdmFsdWU6IGlzRG91YmxlZCA/IHRvSGV4KGNsZWFuZWRbMF0pIDogdG9IZXgoY2xlYW5lZCksXG4gICAgaXNTZWNvbmRhcnk6IGlzUHJlcGVuZFRlbiB8fCBpc0RvdWJsZWRcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFByZWZpeChmb250RmFtaWx5LCBmb250V2VpZ2h0KSB7XG4gIGNvbnN0IGZvbnRGYW1pbHlTYW5pdGl6ZWQgPSBmb250RmFtaWx5LnJlcGxhY2UoL15bJ1wiXXxbJ1wiXSQvZywgJycpLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IGZvbnRXZWlnaHRJbnRlZ2VyID0gcGFyc2VJbnQoZm9udFdlaWdodCk7XG4gIGNvbnN0IGZvbnRXZWlnaHRTYW5pdGl6ZWQgPSBpc05hTihmb250V2VpZ2h0SW50ZWdlcikgPyAnbm9ybWFsJyA6IGZvbnRXZWlnaHRJbnRlZ2VyO1xuICByZXR1cm4gKEZPTlRfRkFNSUxZX1dFSUdIVF9UT19QUkVGSVhbZm9udEZhbWlseVNhbml0aXplZF0gfHwge30pW2ZvbnRXZWlnaHRTYW5pdGl6ZWRdIHx8IEZPTlRfRkFNSUxZX1dFSUdIVF9GQUxMQkFDS1tmb250RmFtaWx5U2FuaXRpemVkXTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZUZvclBvc2l0aW9uKG5vZGUsIHBvc2l0aW9uKSB7XG4gIGNvbnN0IHBlbmRpbmdBdHRyaWJ1dGUgPSBcIlwiLmNvbmNhdChEQVRBX0ZBX1BTRVVET19FTEVNRU5UX1BFTkRJTkcpLmNvbmNhdChwb3NpdGlvbi5yZXBsYWNlKCc6JywgJy0nKSk7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlKHBlbmRpbmdBdHRyaWJ1dGUpICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIG5vZGUgaXMgYWxyZWFkeSBiZWluZyBwcm9jZXNzZWRcbiAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRyZW4gPSB0b0FycmF5KG5vZGUuY2hpbGRyZW4pO1xuICAgIGNvbnN0IGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50ID0gY2hpbGRyZW4uZmlsdGVyKGMgPT4gYy5nZXRBdHRyaWJ1dGUoREFUQV9GQV9QU0VVRE9fRUxFTUVOVCkgPT09IHBvc2l0aW9uKVswXTtcbiAgICBjb25zdCBzdHlsZXMgPSBXSU5ET1cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlLCBwb3NpdGlvbik7XG4gICAgY29uc3QgZm9udEZhbWlseSA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LWZhbWlseScpO1xuICAgIGNvbnN0IGZvbnRGYW1pbHlNYXRjaCA9IGZvbnRGYW1pbHkubWF0Y2goRk9OVF9GQU1JTFlfUEFUVEVSTik7XG4gICAgY29uc3QgZm9udFdlaWdodCA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXdlaWdodCcpO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBzdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnY29udGVudCcpO1xuXG4gICAgaWYgKGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50ICYmICFmb250RmFtaWx5TWF0Y2gpIHtcbiAgICAgIC8vIElmIHdlJ3ZlIGFscmVhZHkgcHJvY2Vzc2VkIGl0IGJ1dCB0aGUgY3VycmVudCBjb21wdXRlZCBzdHlsZSBkb2VzIG5vdCByZXN1bHQgaW4gYSBmb250LWZhbWlseSxcbiAgICAgIC8vIHRoYXQgcHJvYmFibHkgbWVhbnMgdGhhdCBhIGNsYXNzIG5hbWUgdGhhdCB3YXMgcHJldmlvdXNseSBwcmVzZW50IHRvIG1ha2UgdGhlIGljb24gaGFzIGJlZW5cbiAgICAgIC8vIHJlbW92ZWQuIFNvIHdlIG5vdyBzaG91bGQgZGVsZXRlIHRoZSBpY29uLlxuICAgICAgbm9kZS5yZW1vdmVDaGlsZChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCk7XG4gICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuICAgIH0gZWxzZSBpZiAoZm9udEZhbWlseU1hdGNoICYmIGNvbnRlbnQgIT09ICdub25lJyAmJiBjb250ZW50ICE9PSAnJykge1xuICAgICAgY29uc3QgY29udGVudCA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50Jyk7XG4gICAgICBsZXQgcHJlZml4ID0gZ2V0UHJlZml4KGZvbnRGYW1pbHksIGZvbnRXZWlnaHQpO1xuICAgICAgY29uc3Qge1xuICAgICAgICB2YWx1ZTogaGV4VmFsdWUsXG4gICAgICAgIGlzU2Vjb25kYXJ5XG4gICAgICB9ID0gaGV4VmFsdWVGcm9tQ29udGVudChjb250ZW50KTtcbiAgICAgIGNvbnN0IGlzVjQgPSBmb250RmFtaWx5TWF0Y2hbMF0uc3RhcnRzV2l0aCgnRm9udEF3ZXNvbWUnKTtcbiAgICAgIGxldCBpY29uTmFtZSA9IGJ5VW5pY29kZShwcmVmaXgsIGhleFZhbHVlKTtcbiAgICAgIGxldCBpY29uSWRlbnRpZmllciA9IGljb25OYW1lO1xuXG4gICAgICBpZiAoaXNWNCkge1xuICAgICAgICBjb25zdCBpY29uTmFtZTQgPSBieU9sZFVuaWNvZGUoaGV4VmFsdWUpO1xuXG4gICAgICAgIGlmIChpY29uTmFtZTQuaWNvbk5hbWUgJiYgaWNvbk5hbWU0LnByZWZpeCkge1xuICAgICAgICAgIGljb25OYW1lID0gaWNvbk5hbWU0Lmljb25OYW1lO1xuICAgICAgICAgIHByZWZpeCA9IGljb25OYW1lNC5wcmVmaXg7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gT25seSBjb252ZXJ0IHRoZSBwc2V1ZG8gZWxlbWVudCBpbiB0aGlzIDo6YmVmb3JlLzo6YWZ0ZXIgcG9zaXRpb24gaW50byBhbiBpY29uIGlmIHdlIGhhdmVuJ3RcbiAgICAgIC8vIGFscmVhZHkgZG9uZSBzbyB3aXRoIHRoZSBzYW1lIHByZWZpeCBhbmQgaWNvbk5hbWVcblxuXG4gICAgICBpZiAoaWNvbk5hbWUgJiYgIWlzU2Vjb25kYXJ5ICYmICghYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQgfHwgYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQuZ2V0QXR0cmlidXRlKERBVEFfUFJFRklYKSAhPT0gcHJlZml4IHx8IGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50LmdldEF0dHJpYnV0ZShEQVRBX0lDT04pICE9PSBpY29uSWRlbnRpZmllcikpIHtcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUocGVuZGluZ0F0dHJpYnV0ZSwgaWNvbklkZW50aWZpZXIpO1xuXG4gICAgICAgIGlmIChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCkge1xuICAgICAgICAgIC8vIERlbGV0ZSB0aGUgb2xkIG9uZSwgc2luY2Ugd2UncmUgcmVwbGFjaW5nIGl0IHdpdGggYSBuZXcgb25lXG4gICAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZXRhID0gYmxhbmtNZXRhKCk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBleHRyYVxuICAgICAgICB9ID0gbWV0YTtcbiAgICAgICAgZXh0cmEuYXR0cmlidXRlc1tEQVRBX0ZBX1BTRVVET19FTEVNRU5UXSA9IHBvc2l0aW9uO1xuICAgICAgICBmaW5kSWNvbihpY29uTmFtZSwgcHJlZml4KS50aGVuKG1haW4gPT4ge1xuICAgICAgICAgIGNvbnN0IGFic3RyYWN0ID0gbWFrZUlubGluZVN2Z0Fic3RyYWN0KHsgLi4ubWV0YSxcbiAgICAgICAgICAgIGljb25zOiB7XG4gICAgICAgICAgICAgIG1haW4sXG4gICAgICAgICAgICAgIG1hc2s6IGVtcHR5Q2Fub25pY2FsSWNvbigpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJlZml4LFxuICAgICAgICAgICAgaWNvbk5hbWU6IGljb25JZGVudGlmaWVyLFxuICAgICAgICAgICAgZXh0cmEsXG4gICAgICAgICAgICB3YXRjaGFibGU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gRE9DVU1FTlQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdzdmcnKTtcblxuICAgICAgICAgIGlmIChwb3NpdGlvbiA9PT0gJzo6YmVmb3JlJykge1xuICAgICAgICAgICAgbm9kZS5pbnNlcnRCZWZvcmUoZWxlbWVudCwgbm9kZS5maXJzdENoaWxkKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9kZS5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlbGVtZW50Lm91dGVySFRNTCA9IGFic3RyYWN0Lm1hcChhID0+IHRvSHRtbChhKSkuam9pbignXFxuJyk7XG4gICAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUocGVuZGluZ0F0dHJpYnV0ZSk7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9KS5jYXRjaChyZWplY3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZShub2RlKSB7XG4gIHJldHVybiBQcm9taXNlLmFsbChbcmVwbGFjZUZvclBvc2l0aW9uKG5vZGUsICc6OmJlZm9yZScpLCByZXBsYWNlRm9yUG9zaXRpb24obm9kZSwgJzo6YWZ0ZXInKV0pO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzYWJsZShub2RlKSB7XG4gIHJldHVybiBub2RlLnBhcmVudE5vZGUgIT09IGRvY3VtZW50LmhlYWQgJiYgIX5UQUdOQU1FU19UT19TS0lQX0ZPUl9QU0VVRE9FTEVNRU5UUy5pbmRleE9mKG5vZGUudGFnTmFtZS50b1VwcGVyQ2FzZSgpKSAmJiAhbm9kZS5nZXRBdHRyaWJ1dGUoREFUQV9GQV9QU0VVRE9fRUxFTUVOVCkgJiYgKCFub2RlLnBhcmVudE5vZGUgfHwgbm9kZS5wYXJlbnROb2RlLnRhZ05hbWUgIT09ICdzdmcnKTtcbn1cblxuZnVuY3Rpb24gc2VhcmNoUHNldWRvRWxlbWVudHMocm9vdCkge1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuO1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IG9wZXJhdGlvbnMgPSB0b0FycmF5KHJvb3QucXVlcnlTZWxlY3RvckFsbCgnKicpKS5maWx0ZXIocHJvY2Vzc2FibGUpLm1hcChyZXBsYWNlKTtcbiAgICBjb25zdCBlbmQgPSBwZXJmLmJlZ2luKCdzZWFyY2hQc2V1ZG9FbGVtZW50cycpO1xuICAgIGRpc2FibGVPYnNlcnZhdGlvbigpO1xuICAgIFByb21pc2UuYWxsKG9wZXJhdGlvbnMpLnRoZW4oKCkgPT4ge1xuICAgICAgZW5kKCk7XG4gICAgICBlbmFibGVPYnNlcnZhdGlvbigpO1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgIGVuZCgpO1xuICAgICAgZW5hYmxlT2JzZXJ2YXRpb24oKTtcbiAgICAgIHJlamVjdCgpO1xuICAgIH0pO1xuICB9KTtcbn1cblxudmFyIFBzZXVkb0VsZW1lbnRzID0ge1xuICBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyhhY2N1bXVsYXRvcikge1xuICAgICAgICBhY2N1bXVsYXRvci5wc2V1ZG9FbGVtZW50c0NhbGxiYWNrID0gc2VhcmNoUHNldWRvRWxlbWVudHM7XG4gICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgIH1cblxuICAgIH07XG4gIH0sXG5cbiAgcHJvdmlkZXMocHJvdmlkZXJzKSB7XG4gICAgcHJvdmlkZXJzLnBzZXVkb0VsZW1lbnRzMnN2ZyA9IGZ1bmN0aW9uIChwYXJhbXMpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbm9kZSA9IERPQ1VNRU5UXG4gICAgICB9ID0gcGFyYW1zO1xuXG4gICAgICBpZiAoY29uZmlnLnNlYXJjaFBzZXVkb0VsZW1lbnRzKSB7XG4gICAgICAgIHNlYXJjaFBzZXVkb0VsZW1lbnRzKG5vZGUpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxufTtcblxubGV0IF91bndhdGNoZWQgPSBmYWxzZTtcbnZhciBNdXRhdGlvbk9ic2VydmVyJDEgPSB7XG4gIG1peG91dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZG9tOiB7XG4gICAgICAgIHVud2F0Y2goKSB7XG4gICAgICAgICAgZGlzYWJsZU9ic2VydmF0aW9uKCk7XG4gICAgICAgICAgX3Vud2F0Y2hlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH07XG4gIH0sXG5cbiAgaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvb3RzdHJhcCgpIHtcbiAgICAgICAgb2JzZXJ2ZShjaGFpbkhvb2tzKCdtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzJywge30pKTtcbiAgICAgIH0sXG5cbiAgICAgIG5vQXV0bygpIHtcbiAgICAgICAgZGlzY29ubmVjdCgpO1xuICAgICAgfSxcblxuICAgICAgd2F0Y2gocGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBvYnNlcnZlTXV0YXRpb25zUm9vdFxuICAgICAgICB9ID0gcGFyYW1zO1xuXG4gICAgICAgIGlmIChfdW53YXRjaGVkKSB7XG4gICAgICAgICAgZW5hYmxlT2JzZXJ2YXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYnNlcnZlKGNoYWluSG9va3MoJ211dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MnLCB7XG4gICAgICAgICAgICBvYnNlcnZlTXV0YXRpb25zUm9vdFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfTtcbiAgfVxuXG59O1xuXG5jb25zdCBwYXJzZVRyYW5zZm9ybVN0cmluZyA9IHRyYW5zZm9ybVN0cmluZyA9PiB7XG4gIGxldCB0cmFuc2Zvcm0gPSB7XG4gICAgc2l6ZTogMTYsXG4gICAgeDogMCxcbiAgICB5OiAwLFxuICAgIGZsaXBYOiBmYWxzZSxcbiAgICBmbGlwWTogZmFsc2UsXG4gICAgcm90YXRlOiAwXG4gIH07XG4gIHJldHVybiB0cmFuc2Zvcm1TdHJpbmcudG9Mb3dlckNhc2UoKS5zcGxpdCgnICcpLnJlZHVjZSgoYWNjLCBuKSA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBuLnRvTG93ZXJDYXNlKCkuc3BsaXQoJy0nKTtcbiAgICBjb25zdCBmaXJzdCA9IHBhcnRzWzBdO1xuICAgIGxldCByZXN0ID0gcGFydHMuc2xpY2UoMSkuam9pbignLScpO1xuXG4gICAgaWYgKGZpcnN0ICYmIHJlc3QgPT09ICdoJykge1xuICAgICAgYWNjLmZsaXBYID0gdHJ1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgaWYgKGZpcnN0ICYmIHJlc3QgPT09ICd2Jykge1xuICAgICAgYWNjLmZsaXBZID0gdHJ1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgcmVzdCA9IHBhcnNlRmxvYXQocmVzdCk7XG5cbiAgICBpZiAoaXNOYU4ocmVzdCkpIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaXJzdCkge1xuICAgICAgY2FzZSAnZ3Jvdyc6XG4gICAgICAgIGFjYy5zaXplID0gYWNjLnNpemUgKyByZXN0O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc2hyaW5rJzpcbiAgICAgICAgYWNjLnNpemUgPSBhY2Muc2l6ZSAtIHJlc3Q7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgYWNjLnggPSBhY2MueCAtIHJlc3Q7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIGFjYy54ID0gYWNjLnggKyByZXN0O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAndXAnOlxuICAgICAgICBhY2MueSA9IGFjYy55IC0gcmVzdDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICBhY2MueSA9IGFjYy55ICsgcmVzdDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3JvdGF0ZSc6XG4gICAgICAgIGFjYy5yb3RhdGUgPSBhY2Mucm90YXRlICsgcmVzdDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgdHJhbnNmb3JtKTtcbn07XG52YXIgUG93ZXJUcmFuc2Zvcm1zID0ge1xuICBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcnNlOiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtU3RyaW5nID0+IHtcbiAgICAgICAgICByZXR1cm4gcGFyc2VUcmFuc2Zvcm1TdHJpbmcodHJhbnNmb3JtU3RyaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG5cbiAgaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcnNlTm9kZUF0dHJpYnV0ZXMoYWNjdW11bGF0b3IsIG5vZGUpIHtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtU3RyaW5nID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtdHJhbnNmb3JtJyk7XG5cbiAgICAgICAgaWYgKHRyYW5zZm9ybVN0cmluZykge1xuICAgICAgICAgIGFjY3VtdWxhdG9yLnRyYW5zZm9ybSA9IHBhcnNlVHJhbnNmb3JtU3RyaW5nKHRyYW5zZm9ybVN0cmluZyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG5cbiAgICB9O1xuICB9LFxuXG4gIHByb3ZpZGVzKHByb3ZpZGVycykge1xuICAgIHByb3ZpZGVycy5nZW5lcmF0ZUFic3RyYWN0VHJhbnNmb3JtR3JvdXBpbmcgPSBmdW5jdGlvbiAoX3JlZikge1xuICAgICAgbGV0IHtcbiAgICAgICAgbWFpbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICBjb250YWluZXJXaWR0aCxcbiAgICAgICAgaWNvbldpZHRoXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGNvbnN0IG91dGVyID0ge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKFwiLmNvbmNhdChjb250YWluZXJXaWR0aCAvIDIsIFwiIDI1NilcIilcbiAgICAgIH07XG4gICAgICBjb25zdCBpbm5lclRyYW5zbGF0ZSA9IFwidHJhbnNsYXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAqIDMyLCBcIiwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAqIDMyLCBcIikgXCIpO1xuICAgICAgY29uc3QgaW5uZXJTY2FsZSA9IFwic2NhbGUoXCIuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gMTYgKiAodHJhbnNmb3JtLmZsaXBYID8gLTEgOiAxKSwgXCIsIFwiKS5jb25jYXQodHJhbnNmb3JtLnNpemUgLyAxNiAqICh0cmFuc2Zvcm0uZmxpcFkgPyAtMSA6IDEpLCBcIikgXCIpO1xuICAgICAgY29uc3QgaW5uZXJSb3RhdGUgPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCIgMCAwKVwiKTtcbiAgICAgIGNvbnN0IGlubmVyID0ge1xuICAgICAgICB0cmFuc2Zvcm06IFwiXCIuY29uY2F0KGlubmVyVHJhbnNsYXRlLCBcIiBcIikuY29uY2F0KGlubmVyU2NhbGUsIFwiIFwiKS5jb25jYXQoaW5uZXJSb3RhdGUpXG4gICAgICB9O1xuICAgICAgY29uc3QgcGF0aCA9IHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIi5jb25jYXQoaWNvbldpZHRoIC8gMiAqIC0xLCBcIiAtMjU2KVwiKVxuICAgICAgfTtcbiAgICAgIGNvbnN0IG9wZXJhdGlvbnMgPSB7XG4gICAgICAgIG91dGVyLFxuICAgICAgICBpbm5lcixcbiAgICAgICAgcGF0aFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRhZzogJ2cnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLm9wZXJhdGlvbnMub3V0ZXJcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFt7XG4gICAgICAgICAgdGFnOiAnZycsXG4gICAgICAgICAgYXR0cmlidXRlczogeyAuLi5vcGVyYXRpb25zLmlubmVyXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICAgIHRhZzogbWFpbi5pY29uLnRhZyxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBtYWluLmljb24uY2hpbGRyZW4sXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLm1haW4uaWNvbi5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICAuLi5vcGVyYXRpb25zLnBhdGhcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XVxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICB9O1xuICB9XG5cbn07XG5cbmNvbnN0IEFMTF9TUEFDRSA9IHtcbiAgeDogMCxcbiAgeTogMCxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgaGVpZ2h0OiAnMTAwJSdcbn07XG5cbmZ1bmN0aW9uIGZpbGxCbGFjayhhYnN0cmFjdCkge1xuICBsZXQgZm9yY2UgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHRydWU7XG5cbiAgaWYgKGFic3RyYWN0LmF0dHJpYnV0ZXMgJiYgKGFic3RyYWN0LmF0dHJpYnV0ZXMuZmlsbCB8fCBmb3JjZSkpIHtcbiAgICBhYnN0cmFjdC5hdHRyaWJ1dGVzLmZpbGwgPSAnYmxhY2snO1xuICB9XG5cbiAgcmV0dXJuIGFic3RyYWN0O1xufVxuXG5mdW5jdGlvbiBkZUdyb3VwKGFic3RyYWN0KSB7XG4gIGlmIChhYnN0cmFjdC50YWcgPT09ICdnJykge1xuICAgIHJldHVybiBhYnN0cmFjdC5jaGlsZHJlbjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW2Fic3RyYWN0XTtcbiAgfVxufVxuXG52YXIgTWFza3MgPSB7XG4gIGhvb2tzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJzZU5vZGVBdHRyaWJ1dGVzKGFjY3VtdWxhdG9yLCBub2RlKSB7XG4gICAgICAgIGNvbnN0IG1hc2tEYXRhID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtbWFzaycpO1xuICAgICAgICBjb25zdCBtYXNrID0gIW1hc2tEYXRhID8gZW1wdHlDYW5vbmljYWxJY29uKCkgOiBnZXRDYW5vbmljYWxJY29uKG1hc2tEYXRhLnNwbGl0KCcgJykubWFwKGkgPT4gaS50cmltKCkpKTtcblxuICAgICAgICBpZiAoIW1hc2sucHJlZml4KSB7XG4gICAgICAgICAgbWFzay5wcmVmaXggPSBnZXREZWZhdWx0VXNhYmxlUHJlZml4KCk7XG4gICAgICAgIH1cblxuICAgICAgICBhY2N1bXVsYXRvci5tYXNrID0gbWFzaztcbiAgICAgICAgYWNjdW11bGF0b3IubWFza0lkID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtbWFzay1pZCcpO1xuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG5cbiAgICB9O1xuICB9LFxuXG4gIHByb3ZpZGVzKHByb3ZpZGVycykge1xuICAgIHByb3ZpZGVycy5nZW5lcmF0ZUFic3RyYWN0TWFzayA9IGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgICBsZXQge1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgbWFpbixcbiAgICAgICAgbWFzayxcbiAgICAgICAgbWFza0lkOiBleHBsaWNpdE1hc2tJZCxcbiAgICAgICAgdHJhbnNmb3JtXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgd2lkdGg6IG1haW5XaWR0aCxcbiAgICAgICAgaWNvbjogbWFpblBhdGhcbiAgICAgIH0gPSBtYWluO1xuICAgICAgY29uc3Qge1xuICAgICAgICB3aWR0aDogbWFza1dpZHRoLFxuICAgICAgICBpY29uOiBtYXNrUGF0aFxuICAgICAgfSA9IG1hc2s7XG4gICAgICBjb25zdCB0cmFucyA9IHRyYW5zZm9ybUZvclN2Zyh7XG4gICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgY29udGFpbmVyV2lkdGg6IG1hc2tXaWR0aCxcbiAgICAgICAgaWNvbldpZHRoOiBtYWluV2lkdGhcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbWFza1JlY3QgPSB7XG4gICAgICAgIHRhZzogJ3JlY3QnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLkFMTF9TUEFDRSxcbiAgICAgICAgICBmaWxsOiAnd2hpdGUnXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBtYXNrSW5uZXJHcm91cENoaWxkcmVuTWl4aW4gPSBtYWluUGF0aC5jaGlsZHJlbiA/IHtcbiAgICAgICAgY2hpbGRyZW46IG1haW5QYXRoLmNoaWxkcmVuLm1hcChmaWxsQmxhY2spXG4gICAgICB9IDoge307XG4gICAgICBjb25zdCBtYXNrSW5uZXJHcm91cCA9IHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4udHJhbnMuaW5uZXJcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFtmaWxsQmxhY2soe1xuICAgICAgICAgIHRhZzogbWFpblBhdGgudGFnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4ubWFpblBhdGguYXR0cmlidXRlcyxcbiAgICAgICAgICAgIC4uLnRyYW5zLnBhdGhcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLm1hc2tJbm5lckdyb3VwQ2hpbGRyZW5NaXhpblxuICAgICAgICB9KV1cbiAgICAgIH07XG4gICAgICBjb25zdCBtYXNrT3V0ZXJHcm91cCA9IHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4udHJhbnMub3V0ZXJcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFttYXNrSW5uZXJHcm91cF1cbiAgICAgIH07XG4gICAgICBjb25zdCBtYXNrSWQgPSBcIm1hc2stXCIuY29uY2F0KGV4cGxpY2l0TWFza0lkIHx8IG5leHRVbmlxdWVJZCgpKTtcbiAgICAgIGNvbnN0IGNsaXBJZCA9IFwiY2xpcC1cIi5jb25jYXQoZXhwbGljaXRNYXNrSWQgfHwgbmV4dFVuaXF1ZUlkKCkpO1xuICAgICAgY29uc3QgbWFza1RhZyA9IHtcbiAgICAgICAgdGFnOiAnbWFzaycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4uQUxMX1NQQUNFLFxuICAgICAgICAgIGlkOiBtYXNrSWQsXG4gICAgICAgICAgbWFza1VuaXRzOiAndXNlclNwYWNlT25Vc2UnLFxuICAgICAgICAgIG1hc2tDb250ZW50VW5pdHM6ICd1c2VyU3BhY2VPblVzZSdcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFttYXNrUmVjdCwgbWFza091dGVyR3JvdXBdXG4gICAgICB9O1xuICAgICAgY29uc3QgZGVmcyA9IHtcbiAgICAgICAgdGFnOiAnZGVmcycsXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIHRhZzogJ2NsaXBQYXRoJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBpZDogY2xpcElkXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGlsZHJlbjogZGVHcm91cChtYXNrUGF0aClcbiAgICAgICAgfSwgbWFza1RhZ11cbiAgICAgIH07XG4gICAgICBjaGlsZHJlbi5wdXNoKGRlZnMsIHtcbiAgICAgICAgdGFnOiAncmVjdCcsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgICAnY2xpcC1wYXRoJzogXCJ1cmwoI1wiLmNvbmNhdChjbGlwSWQsIFwiKVwiKSxcbiAgICAgICAgICBtYXNrOiBcInVybCgjXCIuY29uY2F0KG1hc2tJZCwgXCIpXCIpLFxuICAgICAgICAgIC4uLkFMTF9TUEFDRVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICBhdHRyaWJ1dGVzXG4gICAgICB9O1xuICAgIH07XG4gIH1cblxufTtcblxudmFyIE1pc3NpbmdJY29uSW5kaWNhdG9yID0ge1xuICBwcm92aWRlcyhwcm92aWRlcnMpIHtcbiAgICBsZXQgcmVkdWNlTW90aW9uID0gZmFsc2U7XG5cbiAgICBpZiAoV0lORE9XLm1hdGNoTWVkaWEpIHtcbiAgICAgIHJlZHVjZU1vdGlvbiA9IFdJTkRPVy5tYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXM7XG4gICAgfVxuXG4gICAgcHJvdmlkZXJzLm1pc3NpbmdJY29uQWJzdHJhY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBnQ2hpbGRyZW4gPSBbXTtcbiAgICAgIGNvbnN0IEZJTEwgPSB7XG4gICAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InXG4gICAgICB9O1xuICAgICAgY29uc3QgQU5JTUFUSU9OX0JBU0UgPSB7XG4gICAgICAgIGF0dHJpYnV0ZVR5cGU6ICdYTUwnLFxuICAgICAgICByZXBlYXRDb3VudDogJ2luZGVmaW5pdGUnLFxuICAgICAgICBkdXI6ICcycydcbiAgICAgIH07IC8vIFJpbmdcblxuICAgICAgZ0NoaWxkcmVuLnB1c2goe1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczogeyAuLi5GSUxMLFxuICAgICAgICAgIGQ6ICdNMTU2LjUsNDQ3LjdsLTEyLjYsMjkuNWMtMTguNy05LjUtMzUuOS0yMS4yLTUxLjUtMzQuOWwyMi43LTIyLjdDMTI3LjYsNDMwLjUsMTQxLjUsNDQwLDE1Ni41LDQ0Ny43eiBNNDAuNiwyNzJIOC41IGMxLjQsMjEuMiw1LjQsNDEuNywxMS43LDYxLjFMNTAsMzIxLjJDNDUuMSwzMDUuNSw0MS44LDI4OSw0MC42LDI3MnogTTQwLjYsMjQwYzEuNC0xOC44LDUuMi0zNywxMS4xLTU0LjFsLTI5LjUtMTIuNiBDMTQuNywxOTQuMywxMCwyMTYuNyw4LjUsMjQwSDQwLjZ6IE02NC4zLDE1Ni41YzcuOC0xNC45LDE3LjItMjguOCwyOC4xLTQxLjVMNjkuNyw5Mi4zYy0xMy43LDE1LjYtMjUuNSwzMi44LTM0LjksNTEuNSBMNjQuMywxNTYuNXogTTM5Nyw0MTkuNmMtMTMuOSwxMi0yOS40LDIyLjMtNDYuMSwzMC40bDExLjksMjkuOGMyMC43LTkuOSwzOS44LTIyLjYsNTYuOS0zNy42TDM5Nyw0MTkuNnogTTExNSw5Mi40IGMxMy45LTEyLDI5LjQtMjIuMyw0Ni4xLTMwLjRsLTExLjktMjkuOGMtMjAuNyw5LjktMzkuOCwyMi42LTU2LjgsMzcuNkwxMTUsOTIuNHogTTQ0Ny43LDM1NS41Yy03LjgsMTQuOS0xNy4yLDI4LjgtMjguMSw0MS41IGwyMi43LDIyLjdjMTMuNy0xNS42LDI1LjUtMzIuOSwzNC45LTUxLjVMNDQ3LjcsMzU1LjV6IE00NzEuNCwyNzJjLTEuNCwxOC44LTUuMiwzNy0xMS4xLDU0LjFsMjkuNSwxMi42IGM3LjUtMjEuMSwxMi4yLTQzLjUsMTMuNi02Ni44SDQ3MS40eiBNMzIxLjIsNDYyYy0xNS43LDUtMzIuMiw4LjItNDkuMiw5LjR2MzIuMWMyMS4yLTEuNCw0MS43LTUuNCw2MS4xLTExLjdMMzIxLjIsNDYyeiBNMjQwLDQ3MS40Yy0xOC44LTEuNC0zNy01LjItNTQuMS0xMS4xbC0xMi42LDI5LjVjMjEuMSw3LjUsNDMuNSwxMi4yLDY2LjgsMTMuNlY0NzEuNHogTTQ2MiwxOTAuOGM1LDE1LjcsOC4yLDMyLjIsOS40LDQ5LjJoMzIuMSBjLTEuNC0yMS4yLTUuNC00MS43LTExLjctNjEuMUw0NjIsMTkwLjh6IE05Mi40LDM5N2MtMTItMTMuOS0yMi4zLTI5LjQtMzAuNC00Ni4xbC0yOS44LDExLjljOS45LDIwLjcsMjIuNiwzOS44LDM3LjYsNTYuOSBMOTIuNCwzOTd6IE0yNzIsNDAuNmMxOC44LDEuNCwzNi45LDUuMiw1NC4xLDExLjFsMTIuNi0yOS41QzMxNy43LDE0LjcsMjk1LjMsMTAsMjcyLDguNVY0MC42eiBNMTkwLjgsNTAgYzE1LjctNSwzMi4yLTguMiw0OS4yLTkuNFY4LjVjLTIxLjIsMS40LTQxLjcsNS40LTYxLjEsMTEuN0wxOTAuOCw1MHogTTQ0Mi4zLDkyLjNMNDE5LjYsMTE1YzEyLDEzLjksMjIuMywyOS40LDMwLjUsNDYuMSBsMjkuOC0xMS45QzQ3MCwxMjguNSw0NTcuMywxMDkuNCw0NDIuMyw5Mi4zeiBNMzk3LDkyLjRsMjIuNy0yMi43Yy0xNS42LTEzLjctMzIuOC0yNS41LTUxLjUtMzQuOWwtMTIuNiwyOS41IEMzNzAuNCw3Mi4xLDM4NC40LDgxLjUsMzk3LDkyLjR6J1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IE9QQUNJVFlfQU5JTUFURSA9IHsgLi4uQU5JTUFUSU9OX0JBU0UsXG4gICAgICAgIGF0dHJpYnV0ZU5hbWU6ICdvcGFjaXR5J1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGRvdCA9IHtcbiAgICAgICAgdGFnOiAnY2lyY2xlJyxcbiAgICAgICAgYXR0cmlidXRlczogeyAuLi5GSUxMLFxuICAgICAgICAgIGN4OiAnMjU2JyxcbiAgICAgICAgICBjeTogJzM2NCcsXG4gICAgICAgICAgcjogJzI4J1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgIH07XG5cbiAgICAgIGlmICghcmVkdWNlTW90aW9uKSB7XG4gICAgICAgIGRvdC5jaGlsZHJlbi5wdXNoKHtcbiAgICAgICAgICB0YWc6ICdhbmltYXRlJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLkFOSU1BVElPTl9CQVNFLFxuICAgICAgICAgICAgYXR0cmlidXRlTmFtZTogJ3InLFxuICAgICAgICAgICAgdmFsdWVzOiAnMjg7MTQ7Mjg7Mjg7MTQ7Mjg7J1xuICAgICAgICAgIH1cbiAgICAgICAgfSwge1xuICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4uT1BBQ0lUWV9BTklNQVRFLFxuICAgICAgICAgICAgdmFsdWVzOiAnMTswOzE7MTswOzE7J1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGdDaGlsZHJlbi5wdXNoKGRvdCk7XG4gICAgICBnQ2hpbGRyZW4ucHVzaCh7XG4gICAgICAgIHRhZzogJ3BhdGgnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLkZJTEwsXG4gICAgICAgICAgb3BhY2l0eTogJzEnLFxuICAgICAgICAgIGQ6ICdNMjYzLjcsMzEyaC0xNmMtNi42LDAtMTItNS40LTEyLTEyYzAtNzEsNzcuNC02My45LDc3LjQtMTA3LjhjMC0yMC0xNy44LTQwLjItNTcuNC00MC4yYy0yOS4xLDAtNDQuMyw5LjYtNTkuMiwyOC43IGMtMy45LDUtMTEuMSw2LTE2LjIsMi40bC0xMy4xLTkuMmMtNS42LTMuOS02LjktMTEuOC0yLjYtMTcuMmMyMS4yLTI3LjIsNDYuNC00NC43LDkxLjItNDQuN2M1Mi4zLDAsOTcuNCwyOS44LDk3LjQsODAuMiBjMCw2Ny42LTc3LjQsNjMuNS03Ny40LDEwNy44QzI3NS43LDMwNi42LDI3MC4zLDMxMiwyNjMuNywzMTJ6J1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogcmVkdWNlTW90aW9uID8gW10gOiBbe1xuICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4uT1BBQ0lUWV9BTklNQVRFLFxuICAgICAgICAgICAgdmFsdWVzOiAnMTswOzA7MDswOzE7J1xuICAgICAgICAgIH1cbiAgICAgICAgfV1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXJlZHVjZU1vdGlvbikge1xuICAgICAgICAvLyBFeGNsYW1hdGlvblxuICAgICAgICBnQ2hpbGRyZW4ucHVzaCh7XG4gICAgICAgICAgdGFnOiAncGF0aCcsXG4gICAgICAgICAgYXR0cmlidXRlczogeyAuLi5GSUxMLFxuICAgICAgICAgICAgb3BhY2l0eTogJzAnLFxuICAgICAgICAgICAgZDogJ00yMzIuNSwxMzQuNWw3LDE2OGMwLjMsNi40LDUuNiwxMS41LDEyLDExLjVoOWM2LjQsMCwxMS43LTUuMSwxMi0xMS41bDctMTY4YzAuMy02LjgtNS4yLTEyLjUtMTItMTIuNWgtMjMgQzIzNy43LDEyMiwyMzIuMiwxMjcuNywyMzIuNSwxMzQuNXonXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgICAgYXR0cmlidXRlczogeyAuLi5PUEFDSVRZX0FOSU1BVEUsXG4gICAgICAgICAgICAgIHZhbHVlczogJzA7MDsxOzE7MDswOydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAnY2xhc3MnOiAnbWlzc2luZydcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IGdDaGlsZHJlblxuICAgICAgfTtcbiAgICB9O1xuICB9XG5cbn07XG5cbnZhciBTdmdTeW1ib2xzID0ge1xuICBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyc2VOb2RlQXR0cmlidXRlcyhhY2N1bXVsYXRvciwgbm9kZSkge1xuICAgICAgICBjb25zdCBzeW1ib2xEYXRhID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtc3ltYm9sJyk7XG4gICAgICAgIGNvbnN0IHN5bWJvbCA9IHN5bWJvbERhdGEgPT09IG51bGwgPyBmYWxzZSA6IHN5bWJvbERhdGEgPT09ICcnID8gdHJ1ZSA6IHN5bWJvbERhdGE7XG4gICAgICAgIGFjY3VtdWxhdG9yWydzeW1ib2wnXSA9IHN5bWJvbDtcbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfVxuXG4gICAgfTtcbiAgfVxuXG59O1xuXG52YXIgcGx1Z2lucyA9IFtJbmplY3RDU1MsIFJlcGxhY2VFbGVtZW50cywgTGF5ZXJzLCBMYXllcnNDb3VudGVyLCBMYXllcnNUZXh0LCBQc2V1ZG9FbGVtZW50cywgTXV0YXRpb25PYnNlcnZlciQxLCBQb3dlclRyYW5zZm9ybXMsIE1hc2tzLCBNaXNzaW5nSWNvbkluZGljYXRvciwgU3ZnU3ltYm9sc107XG5cbnJlZ2lzdGVyUGx1Z2lucyhwbHVnaW5zLCB7XG4gIG1peG91dHNUbzogYXBpXG59KTtcbmNvbnN0IG5vQXV0byQxID0gYXBpLm5vQXV0bztcbmNvbnN0IGNvbmZpZyQxID0gYXBpLmNvbmZpZztcbmNvbnN0IGxpYnJhcnkkMSA9IGFwaS5saWJyYXJ5O1xuY29uc3QgZG9tJDEgPSBhcGkuZG9tO1xuY29uc3QgcGFyc2UkMSA9IGFwaS5wYXJzZTtcbmNvbnN0IGZpbmRJY29uRGVmaW5pdGlvbiQxID0gYXBpLmZpbmRJY29uRGVmaW5pdGlvbjtcbmNvbnN0IHRvSHRtbCQxID0gYXBpLnRvSHRtbDtcbmNvbnN0IGljb24gPSBhcGkuaWNvbjtcbmNvbnN0IGxheWVyID0gYXBpLmxheWVyO1xuY29uc3QgdGV4dCA9IGFwaS50ZXh0O1xuY29uc3QgY291bnRlciA9IGFwaS5jb3VudGVyO1xuXG5leHBvcnQgeyBub0F1dG8kMSBhcyBub0F1dG8sIGNvbmZpZyQxIGFzIGNvbmZpZywgbGlicmFyeSQxIGFzIGxpYnJhcnksIGRvbSQxIGFzIGRvbSwgcGFyc2UkMSBhcyBwYXJzZSwgZmluZEljb25EZWZpbml0aW9uJDEgYXMgZmluZEljb25EZWZpbml0aW9uLCB0b0h0bWwkMSBhcyB0b0h0bWwsIGljb24sIGxheWVyLCB0ZXh0LCBjb3VudGVyLCBhcGkgfTtcbiIsICJpbXBvcnQgeyBwYXJzZSwgaWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgIGVudW1lcmFibGVPbmx5ICYmIChzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7XG4gICAgfSkpLCBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7XG4gIH1cblxuICByZXR1cm4ga2V5cztcbn1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZDIodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IG51bGwgIT0gYXJndW1lbnRzW2ldID8gYXJndW1lbnRzW2ldIDoge307XG4gICAgaSAlIDIgPyBvd25LZXlzKE9iamVjdChzb3VyY2UpLCAhMCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICB9KSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzID8gT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKSA6IG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7XG5cbiAgcmV0dXJuIF90eXBlb2YgPSBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBcInN5bWJvbFwiID09IHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPyBmdW5jdGlvbiAob2JqKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmo7XG4gIH0gOiBmdW5jdGlvbiAob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajtcbiAgfSwgX3R5cGVvZihvYmopO1xufVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuXG4gIHZhciB0YXJnZXQgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKTtcblxuICB2YXIga2V5LCBpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHNvdXJjZVN5bWJvbEtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlU3ltYm9sS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAga2V5ID0gc291cmNlU3ltYm9sS2V5c1tpXTtcbiAgICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzb3VyY2UsIGtleSkpIGNvbnRpbnVlO1xuICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7XG4gIHJldHVybiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5KGFycikgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFycikgfHwgX25vbkl0ZXJhYmxlU3ByZWFkKCk7XG59XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KGFycik7XG59XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBpdGVyW1N5bWJvbC5pdGVyYXRvcl0gIT0gbnVsbCB8fCBpdGVyW1wiQEBpdGVyYXRvclwiXSAhPSBudWxsKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikge1xuICBpZiAoIW8pIHJldHVybjtcbiAgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbiAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xuICBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lO1xuICBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTtcbiAgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG5cbiAgcmV0dXJuIGFycjI7XG59XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59XG5cbi8vIEdldCBDU1MgY2xhc3MgbGlzdCBmcm9tIGEgcHJvcHMgb2JqZWN0XG5mdW5jdGlvbiBjbGFzc0xpc3QocHJvcHMpIHtcbiAgdmFyIF9jbGFzc2VzO1xuXG4gIHZhciBiZWF0ID0gcHJvcHMuYmVhdCxcbiAgICAgIGZhZGUgPSBwcm9wcy5mYWRlLFxuICAgICAgYmVhdEZhZGUgPSBwcm9wcy5iZWF0RmFkZSxcbiAgICAgIGJvdW5jZSA9IHByb3BzLmJvdW5jZSxcbiAgICAgIHNoYWtlID0gcHJvcHMuc2hha2UsXG4gICAgICBmbGFzaCA9IHByb3BzLmZsYXNoLFxuICAgICAgc3BpbiA9IHByb3BzLnNwaW4sXG4gICAgICBzcGluUHVsc2UgPSBwcm9wcy5zcGluUHVsc2UsXG4gICAgICBzcGluUmV2ZXJzZSA9IHByb3BzLnNwaW5SZXZlcnNlLFxuICAgICAgcHVsc2UgPSBwcm9wcy5wdWxzZSxcbiAgICAgIGZpeGVkV2lkdGggPSBwcm9wcy5maXhlZFdpZHRoLFxuICAgICAgaW52ZXJzZSA9IHByb3BzLmludmVyc2UsXG4gICAgICBib3JkZXIgPSBwcm9wcy5ib3JkZXIsXG4gICAgICBsaXN0SXRlbSA9IHByb3BzLmxpc3RJdGVtLFxuICAgICAgZmxpcCA9IHByb3BzLmZsaXAsXG4gICAgICBzaXplID0gcHJvcHMuc2l6ZSxcbiAgICAgIHJvdGF0aW9uID0gcHJvcHMucm90YXRpb24sXG4gICAgICBwdWxsID0gcHJvcHMucHVsbDsgLy8gbWFwIG9mIENTUyBjbGFzcyBuYW1lcyB0byBwcm9wZXJ0aWVzXG5cbiAgdmFyIGNsYXNzZXMgPSAoX2NsYXNzZXMgPSB7XG4gICAgJ2ZhLWJlYXQnOiBiZWF0LFxuICAgICdmYS1mYWRlJzogZmFkZSxcbiAgICAnZmEtYmVhdC1mYWRlJzogYmVhdEZhZGUsXG4gICAgJ2ZhLWJvdW5jZSc6IGJvdW5jZSxcbiAgICAnZmEtc2hha2UnOiBzaGFrZSxcbiAgICAnZmEtZmxhc2gnOiBmbGFzaCxcbiAgICAnZmEtc3Bpbic6IHNwaW4sXG4gICAgJ2ZhLXNwaW4tcmV2ZXJzZSc6IHNwaW5SZXZlcnNlLFxuICAgICdmYS1zcGluLXB1bHNlJzogc3BpblB1bHNlLFxuICAgICdmYS1wdWxzZSc6IHB1bHNlLFxuICAgICdmYS1mdyc6IGZpeGVkV2lkdGgsXG4gICAgJ2ZhLWludmVyc2UnOiBpbnZlcnNlLFxuICAgICdmYS1ib3JkZXInOiBib3JkZXIsXG4gICAgJ2ZhLWxpJzogbGlzdEl0ZW0sXG4gICAgJ2ZhLWZsaXAnOiBmbGlwID09PSB0cnVlLFxuICAgICdmYS1mbGlwLWhvcml6b250YWwnOiBmbGlwID09PSAnaG9yaXpvbnRhbCcgfHwgZmxpcCA9PT0gJ2JvdGgnLFxuICAgICdmYS1mbGlwLXZlcnRpY2FsJzogZmxpcCA9PT0gJ3ZlcnRpY2FsJyB8fCBmbGlwID09PSAnYm90aCdcbiAgfSwgX2RlZmluZVByb3BlcnR5KF9jbGFzc2VzLCBcImZhLVwiLmNvbmNhdChzaXplKSwgdHlwZW9mIHNpemUgIT09ICd1bmRlZmluZWQnICYmIHNpemUgIT09IG51bGwpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzZXMsIFwiZmEtcm90YXRlLVwiLmNvbmNhdChyb3RhdGlvbiksIHR5cGVvZiByb3RhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgcm90YXRpb24gIT09IG51bGwgJiYgcm90YXRpb24gIT09IDApLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzZXMsIFwiZmEtcHVsbC1cIi5jb25jYXQocHVsbCksIHR5cGVvZiBwdWxsICE9PSAndW5kZWZpbmVkJyAmJiBwdWxsICE9PSBudWxsKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzc2VzLCAnZmEtc3dhcC1vcGFjaXR5JywgcHJvcHMuc3dhcE9wYWNpdHkpLCBfY2xhc3Nlcyk7IC8vIG1hcCBvdmVyIGFsbCB0aGUga2V5cyBpbiB0aGUgY2xhc3NlcyBvYmplY3RcbiAgLy8gcmV0dXJuIGFuIGFycmF5IG9mIHRoZSBrZXlzIHdoZXJlIHRoZSB2YWx1ZSBmb3IgdGhlIGtleSBpcyBub3QgbnVsbFxuXG4gIHJldHVybiBPYmplY3Qua2V5cyhjbGFzc2VzKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBjbGFzc2VzW2tleV0gPyBrZXkgOiBudWxsO1xuICB9KS5maWx0ZXIoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBrZXk7XG4gIH0pO1xufVxuXG4vLyBDYW1lbGl6ZSB0YWtlbiBmcm9tIGh1bXBzXG4vLyBodW1wcyBpcyBjb3B5cmlnaHQgXHUwMEE5IDIwMTIrIERvbSBDaHJpc3RpZVxuLy8gUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuLy8gUGVyZm9ybWFudCB3YXkgdG8gZGV0ZXJtaW5lIGlmIG9iamVjdCBjb2VyY2VzIHRvIGEgbnVtYmVyXG5mdW5jdGlvbiBfaXNOdW1lcmljYWwob2JqKSB7XG4gIG9iaiA9IG9iaiAtIDA7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcblxuICByZXR1cm4gb2JqID09PSBvYmo7XG59XG5cbmZ1bmN0aW9uIGNhbWVsaXplKHN0cmluZykge1xuICBpZiAoX2lzTnVtZXJpY2FsKHN0cmluZykpIHtcbiAgICByZXR1cm4gc3RyaW5nO1xuICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWVzY2FwZVxuXG5cbiAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoL1tcXC1fXFxzXSsoLik/L2csIGZ1bmN0aW9uIChtYXRjaCwgY2hyKSB7XG4gICAgcmV0dXJuIGNociA/IGNoci50b1VwcGVyQ2FzZSgpIDogJyc7XG4gIH0pOyAvLyBFbnN1cmUgMXN0IGNoYXIgaXMgYWx3YXlzIGxvd2VyY2FzZVxuXG4gIHJldHVybiBzdHJpbmcuc3Vic3RyKDAsIDEpLnRvTG93ZXJDYXNlKCkgKyBzdHJpbmcuc3Vic3RyKDEpO1xufVxuXG52YXIgX2V4Y2x1ZGVkID0gW1wic3R5bGVcIl07XG5cbmZ1bmN0aW9uIGNhcGl0YWxpemUodmFsKSB7XG4gIHJldHVybiB2YWwuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB2YWwuc2xpY2UoMSk7XG59XG5cbmZ1bmN0aW9uIHN0eWxlVG9PYmplY3Qoc3R5bGUpIHtcbiAgcmV0dXJuIHN0eWxlLnNwbGl0KCc7JykubWFwKGZ1bmN0aW9uIChzKSB7XG4gICAgcmV0dXJuIHMudHJpbSgpO1xuICB9KS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcbiAgICByZXR1cm4gcztcbiAgfSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBhaXIpIHtcbiAgICB2YXIgaSA9IHBhaXIuaW5kZXhPZignOicpO1xuICAgIHZhciBwcm9wID0gY2FtZWxpemUocGFpci5zbGljZSgwLCBpKSk7XG4gICAgdmFyIHZhbHVlID0gcGFpci5zbGljZShpICsgMSkudHJpbSgpO1xuICAgIHByb3Auc3RhcnRzV2l0aCgnd2Via2l0JykgPyBhY2NbY2FwaXRhbGl6ZShwcm9wKV0gPSB2YWx1ZSA6IGFjY1twcm9wXSA9IHZhbHVlO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbn1cblxuZnVuY3Rpb24gY29udmVydChjcmVhdGVFbGVtZW50LCBlbGVtZW50KSB7XG4gIHZhciBleHRyYVByb3BzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcblxuICBpZiAodHlwZW9mIGVsZW1lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICB2YXIgY2hpbGRyZW4gPSAoZWxlbWVudC5jaGlsZHJlbiB8fCBbXSkubWFwKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIHJldHVybiBjb252ZXJ0KGNyZWF0ZUVsZW1lbnQsIGNoaWxkKTtcbiAgfSk7XG4gIC8qIGVzbGludC1kaXNhYmxlIGRvdC1ub3RhdGlvbiAqL1xuXG4gIHZhciBtaXhpbnMgPSBPYmplY3Qua2V5cyhlbGVtZW50LmF0dHJpYnV0ZXMgfHwge30pLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBrZXkpIHtcbiAgICB2YXIgdmFsID0gZWxlbWVudC5hdHRyaWJ1dGVzW2tleV07XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnY2xhc3MnOlxuICAgICAgICBhY2MuYXR0cnNbJ2NsYXNzTmFtZSddID0gdmFsO1xuICAgICAgICBkZWxldGUgZWxlbWVudC5hdHRyaWJ1dGVzWydjbGFzcyddO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc3R5bGUnOlxuICAgICAgICBhY2MuYXR0cnNbJ3N0eWxlJ10gPSBzdHlsZVRvT2JqZWN0KHZhbCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoa2V5LmluZGV4T2YoJ2FyaWEtJykgPT09IDAgfHwga2V5LmluZGV4T2YoJ2RhdGEtJykgPT09IDApIHtcbiAgICAgICAgICBhY2MuYXR0cnNba2V5LnRvTG93ZXJDYXNlKCldID0gdmFsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjYy5hdHRyc1tjYW1lbGl6ZShrZXkpXSA9IHZhbDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge1xuICAgIGF0dHJzOiB7fVxuICB9KTtcblxuICB2YXIgX2V4dHJhUHJvcHMkc3R5bGUgPSBleHRyYVByb3BzLnN0eWxlLFxuICAgICAgZXhpc3RpbmdTdHlsZSA9IF9leHRyYVByb3BzJHN0eWxlID09PSB2b2lkIDAgPyB7fSA6IF9leHRyYVByb3BzJHN0eWxlLFxuICAgICAgcmVtYWluaW5nID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKGV4dHJhUHJvcHMsIF9leGNsdWRlZCk7XG5cbiAgbWl4aW5zLmF0dHJzWydzdHlsZSddID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIG1peGlucy5hdHRyc1snc3R5bGUnXSksIGV4aXN0aW5nU3R5bGUpO1xuICAvKiBlc2xpbnQtZW5hYmxlICovXG5cbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQuYXBwbHkodm9pZCAwLCBbZWxlbWVudC50YWcsIF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBtaXhpbnMuYXR0cnMpLCByZW1haW5pbmcpXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGNoaWxkcmVuKSkpO1xufVxuXG52YXIgUFJPRFVDVElPTiA9IGZhbHNlO1xuXG50cnkge1xuICBQUk9EVUNUSU9OID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcbn0gY2F0Y2ggKGUpIHt9XG5cbmZ1bmN0aW9uIGxvZyAoKSB7XG4gIGlmICghUFJPRFVDVElPTiAmJiBjb25zb2xlICYmIHR5cGVvZiBjb25zb2xlLmVycm9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIF9jb25zb2xlO1xuXG4gICAgKF9jb25zb2xlID0gY29uc29sZSkuZXJyb3IuYXBwbHkoX2NvbnNvbGUsIGFyZ3VtZW50cyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplSWNvbkFyZ3MoaWNvbikge1xuICAvLyB0aGlzIGhhcyBldmVyeXRoaW5nIHRoYXQgaXQgbmVlZHMgdG8gYmUgcmVuZGVyZWQgd2hpY2ggbWVhbnMgaXQgd2FzIHByb2JhYmx5IGltcG9ydGVkXG4gIC8vIGRpcmVjdGx5IGZyb20gYW4gaWNvbiBzdmcgcGFja2FnZVxuICBpZiAoaWNvbiAmJiBfdHlwZW9mKGljb24pID09PSAnb2JqZWN0JyAmJiBpY29uLnByZWZpeCAmJiBpY29uLmljb25OYW1lICYmIGljb24uaWNvbikge1xuICAgIHJldHVybiBpY29uO1xuICB9XG5cbiAgaWYgKHBhcnNlLmljb24pIHtcbiAgICByZXR1cm4gcGFyc2UuaWNvbihpY29uKTtcbiAgfSAvLyBpZiB0aGUgaWNvbiBpcyBudWxsLCB0aGVyZSdzIG5vdGhpbmcgdG8gZG9cblxuXG4gIGlmIChpY29uID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gaWYgdGhlIGljb24gaXMgYW4gb2JqZWN0IGFuZCBoYXMgYSBwcmVmaXggYW5kIGFuIGljb24gbmFtZSwgcmV0dXJuIGl0XG5cblxuICBpZiAoaWNvbiAmJiBfdHlwZW9mKGljb24pID09PSAnb2JqZWN0JyAmJiBpY29uLnByZWZpeCAmJiBpY29uLmljb25OYW1lKSB7XG4gICAgcmV0dXJuIGljb247XG4gIH0gLy8gaWYgaXQncyBhbiBhcnJheSB3aXRoIGxlbmd0aCBvZiB0d29cblxuXG4gIGlmIChBcnJheS5pc0FycmF5KGljb24pICYmIGljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgLy8gdXNlIHRoZSBmaXJzdCBpdGVtIGFzIHByZWZpeCwgc2Vjb25kIGFzIGljb24gbmFtZVxuICAgIHJldHVybiB7XG4gICAgICBwcmVmaXg6IGljb25bMF0sXG4gICAgICBpY29uTmFtZTogaWNvblsxXVxuICAgIH07XG4gIH0gLy8gaWYgaXQncyBhIHN0cmluZywgdXNlIGl0IGFzIHRoZSBpY29uIG5hbWVcblxuXG4gIGlmICh0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJlZml4OiAnZmFzJyxcbiAgICAgIGljb25OYW1lOiBpY29uXG4gICAgfTtcbiAgfVxufVxuXG4vLyBjcmVhdGVzIGFuIG9iamVjdCB3aXRoIGEga2V5IG9mIGtleVxuLy8gYW5kIGEgdmFsdWUgb2YgdmFsdWVcbi8vIGlmIGNlcnRhaW4gY29uZGl0aW9ucyBhcmUgbWV0XG5mdW5jdGlvbiBvYmplY3RXaXRoS2V5KGtleSwgdmFsdWUpIHtcbiAgLy8gaWYgdGhlIHZhbHVlIGlzIGEgbm9uLWVtcHR5IGFycmF5XG4gIC8vIG9yIGl0J3Mgbm90IGFuIGFycmF5IGJ1dCBpdCBpcyB0cnV0aHlcbiAgLy8gdGhlbiBjcmVhdGUgdGhlIG9iamVjdCB3aXRoIHRoZSBrZXkgYW5kIHRoZSB2YWx1ZVxuICAvLyBpZiBub3QsIHJldHVybiBhbiBlbXB0eSBhcnJheVxuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMCB8fCAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUgPyBfZGVmaW5lUHJvcGVydHkoe30sIGtleSwgdmFsdWUpIDoge307XG59XG5cbnZhciBkZWZhdWx0UHJvcHMgPSB7XG4gIGJvcmRlcjogZmFsc2UsXG4gIGNsYXNzTmFtZTogJycsXG4gIG1hc2s6IG51bGwsXG4gIG1hc2tJZDogbnVsbCxcbiAgZml4ZWRXaWR0aDogZmFsc2UsXG4gIGludmVyc2U6IGZhbHNlLFxuICBmbGlwOiBmYWxzZSxcbiAgaWNvbjogbnVsbCxcbiAgbGlzdEl0ZW06IGZhbHNlLFxuICBwdWxsOiBudWxsLFxuICBwdWxzZTogZmFsc2UsXG4gIHJvdGF0aW9uOiBudWxsLFxuICBzaXplOiBudWxsLFxuICBzcGluOiBmYWxzZSxcbiAgc3BpblB1bHNlOiBmYWxzZSxcbiAgc3BpblJldmVyc2U6IGZhbHNlLFxuICBiZWF0OiBmYWxzZSxcbiAgZmFkZTogZmFsc2UsXG4gIGJlYXRGYWRlOiBmYWxzZSxcbiAgYm91bmNlOiBmYWxzZSxcbiAgc2hha2U6IGZhbHNlLFxuICBzeW1ib2w6IGZhbHNlLFxuICB0aXRsZTogJycsXG4gIHRpdGxlSWQ6IG51bGwsXG4gIHRyYW5zZm9ybTogbnVsbCxcbiAgc3dhcE9wYWNpdHk6IGZhbHNlXG59O1xudmFyIEZvbnRBd2Vzb21lSWNvbiA9IC8qI19fUFVSRV9fKi9SZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIChwcm9wcywgcmVmKSB7XG4gIHZhciBhbGxQcm9wcyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBkZWZhdWx0UHJvcHMpLCBwcm9wcyk7XG5cbiAgdmFyIGljb25BcmdzID0gYWxsUHJvcHMuaWNvbixcbiAgICAgIG1hc2tBcmdzID0gYWxsUHJvcHMubWFzayxcbiAgICAgIHN5bWJvbCA9IGFsbFByb3BzLnN5bWJvbCxcbiAgICAgIGNsYXNzTmFtZSA9IGFsbFByb3BzLmNsYXNzTmFtZSxcbiAgICAgIHRpdGxlID0gYWxsUHJvcHMudGl0bGUsXG4gICAgICB0aXRsZUlkID0gYWxsUHJvcHMudGl0bGVJZCxcbiAgICAgIG1hc2tJZCA9IGFsbFByb3BzLm1hc2tJZDtcbiAgdmFyIGljb25Mb29rdXAgPSBub3JtYWxpemVJY29uQXJncyhpY29uQXJncyk7XG4gIHZhciBjbGFzc2VzID0gb2JqZWN0V2l0aEtleSgnY2xhc3NlcycsIFtdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoY2xhc3NMaXN0KGFsbFByb3BzKSksIF90b0NvbnN1bWFibGVBcnJheSgoY2xhc3NOYW1lIHx8ICcnKS5zcGxpdCgnICcpKSkpO1xuICB2YXIgdHJhbnNmb3JtID0gb2JqZWN0V2l0aEtleSgndHJhbnNmb3JtJywgdHlwZW9mIGFsbFByb3BzLnRyYW5zZm9ybSA9PT0gJ3N0cmluZycgPyBwYXJzZS50cmFuc2Zvcm0oYWxsUHJvcHMudHJhbnNmb3JtKSA6IGFsbFByb3BzLnRyYW5zZm9ybSk7XG4gIHZhciBtYXNrID0gb2JqZWN0V2l0aEtleSgnbWFzaycsIG5vcm1hbGl6ZUljb25BcmdzKG1hc2tBcmdzKSk7XG4gIHZhciByZW5kZXJlZEljb24gPSBpY29uKGljb25Mb29rdXAsIF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBjbGFzc2VzKSwgdHJhbnNmb3JtKSwgbWFzayksIHt9LCB7XG4gICAgc3ltYm9sOiBzeW1ib2wsXG4gICAgdGl0bGU6IHRpdGxlLFxuICAgIHRpdGxlSWQ6IHRpdGxlSWQsXG4gICAgbWFza0lkOiBtYXNrSWRcbiAgfSkpO1xuXG4gIGlmICghcmVuZGVyZWRJY29uKSB7XG4gICAgbG9nKCdDb3VsZCBub3QgZmluZCBpY29uJywgaWNvbkxvb2t1cCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgYWJzdHJhY3QgPSByZW5kZXJlZEljb24uYWJzdHJhY3Q7XG4gIHZhciBleHRyYVByb3BzID0ge1xuICAgIHJlZjogcmVmXG4gIH07XG4gIE9iamVjdC5rZXlzKGFsbFByb3BzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgaWYgKCFkZWZhdWx0UHJvcHMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgZXh0cmFQcm9wc1trZXldID0gYWxsUHJvcHNba2V5XTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gY29udmVydEN1cnJ5KGFic3RyYWN0WzBdLCBleHRyYVByb3BzKTtcbn0pO1xuRm9udEF3ZXNvbWVJY29uLmRpc3BsYXlOYW1lID0gJ0ZvbnRBd2Vzb21lSWNvbic7XG5Gb250QXdlc29tZUljb24ucHJvcFR5cGVzID0ge1xuICBiZWF0OiBQcm9wVHlwZXMuYm9vbCxcbiAgYm9yZGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgYmVhdEZhZGU6IFByb3BUeXBlcy5ib29sLFxuICBib3VuY2U6IFByb3BUeXBlcy5ib29sLFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGZhZGU6IFByb3BUeXBlcy5ib29sLFxuICBmbGFzaDogUHJvcFR5cGVzLmJvb2wsXG4gIG1hc2s6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5hcnJheSwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICBtYXNrSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGZpeGVkV2lkdGg6IFByb3BUeXBlcy5ib29sLFxuICBpbnZlcnNlOiBQcm9wVHlwZXMuYm9vbCxcbiAgZmxpcDogUHJvcFR5cGVzLm9uZU9mKFt0cnVlLCBmYWxzZSwgJ2hvcml6b250YWwnLCAndmVydGljYWwnLCAnYm90aCddKSxcbiAgaWNvbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5LCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gIGxpc3RJdGVtOiBQcm9wVHlwZXMuYm9vbCxcbiAgcHVsbDogUHJvcFR5cGVzLm9uZU9mKFsncmlnaHQnLCAnbGVmdCddKSxcbiAgcHVsc2U6IFByb3BUeXBlcy5ib29sLFxuICByb3RhdGlvbjogUHJvcFR5cGVzLm9uZU9mKFswLCA5MCwgMTgwLCAyNzBdKSxcbiAgc2hha2U6IFByb3BUeXBlcy5ib29sLFxuICBzaXplOiBQcm9wVHlwZXMub25lT2YoWycyeHMnLCAneHMnLCAnc20nLCAnbGcnLCAneGwnLCAnMnhsJywgJzF4JywgJzJ4JywgJzN4JywgJzR4JywgJzV4JywgJzZ4JywgJzd4JywgJzh4JywgJzl4JywgJzEweCddKSxcbiAgc3BpbjogUHJvcFR5cGVzLmJvb2wsXG4gIHNwaW5QdWxzZTogUHJvcFR5cGVzLmJvb2wsXG4gIHNwaW5SZXZlcnNlOiBQcm9wVHlwZXMuYm9vbCxcbiAgc3ltYm9sOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgdGl0bGVJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgdHJhbnNmb3JtOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMub2JqZWN0XSksXG4gIHN3YXBPcGFjaXR5OiBQcm9wVHlwZXMuYm9vbFxufTtcbnZhciBjb252ZXJ0Q3VycnkgPSBjb252ZXJ0LmJpbmQobnVsbCwgUmVhY3QuY3JlYXRlRWxlbWVudCk7XG5cbmV4cG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9O1xuIiwgIi8qKlxuICogQG1vZHVsZSB2aWV3c1xuICovXG5pbXBvcnQgeyBHcm91cEVsZW1lbnQsIEdyb3VwaW5nLCBHcm91cGluZ3MsIExpdGVyYWwsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBDVVJSRU5UX0ZJTEVfQ09OVEVYVCwgTGl0IH0gZnJvbSBcInVpL21hcmtkb3duXCI7XG5pbXBvcnQgeyB1c2VJbnRlcm5pbmcgfSBmcm9tIFwidWkvaG9va3NcIjtcbmltcG9ydCB7IEZyYWdtZW50IH0gZnJvbSBcInByZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgVk5vZGUsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgQ29udHJvbGxlZFBhZ2VyLCB1c2VEYXRhY29yZVBhZ2luZyB9IGZyb20gXCIuL3BhZ2luZ1wiO1xuXG5pbXBvcnQgXCIuL3RhYmxlLmNzc1wiO1xuaW1wb3J0IHsgRWRpdGFibGUsIEVkaXRhYmxlQWN0aW9uLCBFZGl0YWJsZUVsZW1lbnQsIHVzZUVkaXRhYmxlRGlzcGF0Y2ggfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyBmYVNvcnREb3duLCBmYVNvcnRVcCwgZmFTb3J0IH0gZnJvbSBcIkBmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29uc1wiO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSBcIkBmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZVwiO1xuXG4vKiogQSBzaW1wbGUgY29sdW1uIGRlZmluaXRpb24gd2hpY2ggYWxsb3dzIGZvciBjdXN0b20gcmVuZGVyZXJzIGFuZCB0aXRsZXMuXG4gKiBAZ3JvdXAgUHJvcHNcbiAqIEB0eXBlUGFyYW0gVCAtIHRoZSB0eXBlIG9mIGVhY2ggcm93XG4gKiBAdHlwZVBhcmFtIFYgLSB0aGUgdHlwZSBvZiB0aGUgdmFsdWUgaW4gdGhpcyBjb2x1bW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYW5pbGxhQ29sdW1uPFQsIFYgPSBMaXRlcmFsPiB7XG4gICAgLyoqIFRoZSB1bmlxdWUgSUQgb2YgdGhpcyB0YWJsZSBjb2x1bW47IHlvdSBjYW5ub3QgaGF2ZSBtdWx0aXBsZSBjb2x1bW5zIHdpdGggdGhlIHNhbWUgSUQgaW4gYSBnaXZlbiB0YWJsZS4gKi9cbiAgICBpZDogc3RyaW5nO1xuXG4gICAgLyoqIFRoZSB0aXRsZSB3aGljaCB3aWxsIGRpc3BsYXkgYXQgdGhlIHRvcCBvZiB0aGUgY29sdW1uIGlmIHByZXNlbnQuICovXG4gICAgdGl0bGU/OiBzdHJpbmcgfCBWTm9kZSB8ICgoKSA9PiBzdHJpbmcgfCBWTm9kZSk7XG5cbiAgICAvKiogSWYgcHJlc2VudCwgdGhlIENTUyB3aWR0aCB0byBhcHBseSB0byB0aGUgY29sdW1uLiAnbWluaW11bScgd2lsbCBzZXQgdGhlIGNvbHVtbiBzaXplIHRvIGl0J3Mgc21hbGxlc3QgcG9zc2libGUgdmFsdWUsIHdoaWxlICdtYXhpbXVtJyB3aWxsIGRvIHRoZSBvcHBvc2l0ZS4gKi9cbiAgICB3aWR0aD86IFwibWluaW11bVwiIHwgXCJtYXhpbXVtXCIgfCBzdHJpbmc7XG5cbiAgICAvKiogVmFsdWUgZnVuY3Rpb24gd2hpY2ggbWFwcyB0aGUgcm93IHRvIHRoZSB2YWx1ZSBiZWluZyByZW5kZXJlZC4gKi9cbiAgICB2YWx1ZTogKG9iamVjdDogVCkgPT4gVjtcblxuICAgIC8qKiBDYWxsZWQgdG8gcmVuZGVyIHRoZSBnaXZlbiBjb2x1bW4gdmFsdWUuIENhbiBkZXBlbmQgb24gYm90aCB0aGUgc3BlY2lmaWMgdmFsdWUgYW5kIHRoZSByb3cgb2JqZWN0LiAqL1xuICAgIHJlbmRlcj86ICh2YWx1ZTogViwgb2JqZWN0OiBUKSA9PiBMaXRlcmFsIHwgVk5vZGU7XG5cbiAgICAvKiogd2hldGhlciB0aGlzIGNvbHVtbiBpcyBlZGl0YWJsZSBvciBub3QgKi9cbiAgICBlZGl0YWJsZT86IGJvb2xlYW47XG5cbiAgICAvKiogUmVuZGVyZWQgd2hlbiBlZGl0aW5nIHRoZSBjb2x1bW4gKi9cbiAgICBlZGl0b3I/OiBFZGl0YWJsZUVsZW1lbnQ8Vj47XG5cbiAgICAvKiogUHJvcHMgdG8gcGFzcyB0byB0aGUgZWRpdG9yIGNvbXBvbmVudCAoaWYgYW55KSAqL1xuICAgIGVkaXRvclByb3BzOiB1bmtub3duO1xuXG4gICAgLyoqIENhbGxlZCB3aGVuIHRoZSBjb2x1bW4gdmFsdWUgdXBkYXRlcy4gKi9cbiAgICBvblVwZGF0ZT86ICh2YWx1ZTogViwgb2JqZWN0OiBUKSA9PiB1bmtub3duO1xufVxuXG4vKiogTWV0YWRhdGEgZm9yIGNvbmZpZ3VyaW5nIGhvdyBncm91cGluZ3MgaW4gdGhlIGRhdGEgc2hvdWxkIGJlIGhhbmRsZWQuXG4gKiBAZ3JvdXAgUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcm91cGluZ0NvbmZpZzxUPiB7XG4gICAgLyoqIEhvdyBhIGdyb3VwaW5nIHdpdGggdGhlIGdpdmVuIGtleSBhbmQgc2V0IG9mIHJvd3Mgc2hvdWxkIGJlIGhhbmRsZWQuICovXG4gICAgcmVuZGVyPzogKGtleTogTGl0ZXJhbCwgcm93czogR3JvdXBpbmc8VD4pID0+IExpdGVyYWwgfCBWTm9kZTtcbn1cblxuLyoqIEFsbCBhdmFpbGFibGUgcHJvcHMgZm9yIGEgdmFuaWxsYSB0YWJsZS5cbiAqIEBncm91cCBQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbmlsbGFUYWJsZVByb3BzPFQ+IHtcbiAgICAvKiogVGhlIGNvbHVtbnMgdG8gcmVuZGVyIGluIHRoZSB0YWJsZS4gKi9cbiAgICBjb2x1bW5zOiBWYW5pbGxhQ29sdW1uPFQ+W107XG5cbiAgICAvKiogVGhlIHJvd3MgdG8gcmVuZGVyOyBtYXkgcG90ZW50aWFsbHkgYmUgZ3JvdXBlZCBvciBqdXN0IGEgcGxhaW4gYXJyYXkuICovXG4gICAgcm93czogR3JvdXBpbmc8VD47XG5cbiAgICAvKiogQWxsb3dzIGZvciBncm91cGluZyBoZWFkZXIgY29sdW1ucyB0byBiZSBvdmVycmlkZGVuIHdpdGggY3VzdG9tIHJlbmRlcmluZy9sb2dpYy4gKi9cbiAgICBncm91cGluZ3M/OiBHcm91cGluZ0NvbmZpZzxUPiB8IEdyb3VwaW5nQ29uZmlnPFQ+W10gfCAoKGtleTogTGl0ZXJhbCwgcm93czogR3JvdXBpbmc8VD4pID0+IExpdGVyYWwgfCBWTm9kZSk7XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gYSBib29sZWFuIC0gZW5hYmxlcyBvciBkaXNhYmxlcyBwYWdpbmcuXG4gICAgICogSWYgc2V0IHRvIGEgbnVtYmVyLCBwYWdpbmcgd2lsbCBiZSBlbmFibGVkIHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiByb3dzIHBlciBwYWdlLlxuICAgICAqL1xuICAgIHBhZ2luZz86IGJvb2xlYW4gfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB2aWV3IHdpbGwgc2Nyb2xsIHRvIHRoZSB0b3AgYXV0b21hdGljYWxseSBvbiBwYWdlIGNoYW5nZXMuIElmIHRydWUsIHdpbGwgYWx3YXlzIHNjcm9sbCBvbiBwYWdlIGNoYW5nZXMuXG4gICAgICogSWYgYSBudW1iZXIsIHdpbGwgc2Nyb2xsIG9ubHkgaWYgdGhlIG51bWJlciBpcyBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnQgcGFnZSBzaXplLlxuICAgICAqKi9cbiAgICBzY3JvbGxPblBhZ2luZz86IGJvb2xlYW4gfCBudW1iZXI7XG59XG5cbi8qKiBBIHNpbXBsZSB0YWJsZSB3aGljaCBzdXBwb3J0cyBncm91cGluZywgc29ydGluZywgcGFnaW5nLCBhbmQgY3VzdG9tIGNvbHVtbnMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICogQHBhcmFtIHByb3BzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBWYW5pbGxhVGFibGU8VD4ocHJvcHM6IFZhbmlsbGFUYWJsZVByb3BzPFQ+KSB7XG4gICAgLy8gQ2FjaGUgY29sdW1ucyBieSByZWZlcmVuY2UgZXF1YWxpdHkgb2YgdGhlIHNwZWNpZmljIGNvbHVtbnMuIENvbHVtbnMgaGF2ZSB2YXJpb3VzIGZ1bmN0aW9uIHJlZmVyZW5jZXNcbiAgICAvLyBpbnNpZGUgdGhlbSBhbmQgc28gY2Fubm90IGJlIGNvbXBhcmVkIGJ5IHZhbHVlIGVxdWFsaXR5LlxuICAgIGNvbnN0IGNvbHVtbnMgPSB1c2VJbnRlcm5pbmcocHJvcHMuY29sdW1ucywgKGEsIGIpID0+IHtcbiAgICAgICAgaWYgKGEubGVuZ3RoICE9IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBhLmV2ZXJ5KCh2YWx1ZSwgaW5kZXgpID0+IHZhbHVlID09IGJbaW5kZXhdKTtcbiAgICB9KTtcblxuICAgIC8vIENvdW50IHRvdGFsIGVsZW1lbnRzIGFuZCB0aGVuIHBhZ2UgYXBwcm9wcmlhdGVseS5cbiAgICBjb25zdCB0YWJsZVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgdG90YWxFbGVtZW50cyA9IHVzZU1lbW8oKCkgPT4gR3JvdXBpbmdzLmNvdW50KHByb3BzLnJvd3MpLCBbcHJvcHMucm93c10pO1xuICAgIGNvbnN0IHBhZ2luZyA9IHVzZURhdGFjb3JlUGFnaW5nKHtcbiAgICAgICAgaW5pdGlhbFBhZ2U6IDAsXG4gICAgICAgIHBhZ2luZzogcHJvcHMucGFnaW5nLFxuICAgICAgICBzY3JvbGxPblBhZ2VDaGFuZ2U6IHByb3BzLnNjcm9sbE9uUGFnaW5nLFxuICAgICAgICBlbGVtZW50czogdG90YWxFbGVtZW50cyxcbiAgICAgICAgY29udGFpbmVyOiB0YWJsZVJlZixcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhZ2VkUm93cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAocGFnaW5nLmVuYWJsZWQpXG4gICAgICAgICAgICByZXR1cm4gR3JvdXBpbmdzLnNsaWNlKHByb3BzLnJvd3MsIHBhZ2luZy5wYWdlICogcGFnaW5nLnBhZ2VTaXplLCAocGFnaW5nLnBhZ2UgKyAxKSAqIHBhZ2luZy5wYWdlU2l6ZSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIHByb3BzLnJvd3M7XG4gICAgfSwgW3BhZ2luZy5wYWdlLCBwYWdpbmcucGFnZVNpemUsIHBhZ2luZy5lbmFibGVkLCBwcm9wcy5yb3dzXSk7XG5cbiAgICBjb25zdCBncm91cGluZ3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCFwcm9wcy5ncm91cGluZ3MpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BzLmdyb3VwaW5ncykpIHJldHVybiBwcm9wcy5ncm91cGluZ3M7XG5cbiAgICAgICAgaWYgKExpdGVyYWxzLmlzRnVuY3Rpb24ocHJvcHMuZ3JvdXBpbmdzKSkgcmV0dXJuIFt7IHJlbmRlcjogcHJvcHMuZ3JvdXBpbmdzIH1dO1xuICAgICAgICBlbHNlIHJldHVybiBbcHJvcHMuZ3JvdXBpbmdzXTtcbiAgICB9LCBbcHJvcHMuZ3JvdXBpbmdzXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IHJlZj17dGFibGVSZWZ9PlxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cImRhdGFjb3JlLXRhYmxlXCI+XG4gICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NvbHVtbnMubWFwKChjb2wpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFuaWxsYVRhYmxlSGVhZGVyQ2VsbCBjb2x1bW49e2NvbH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICB7cGFnZWRSb3dzLm1hcCgocm93KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8VmFuaWxsYVJvd0dyb3VwIGxldmVsPXswfSBncm91cGluZ3M9e2dyb3VwaW5nc30gY29sdW1ucz17Y29sdW1uc30gZWxlbWVudD17cm93fSAvPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIHtwYWdpbmcuZW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgICAgPENvbnRyb2xsZWRQYWdlciBwYWdlPXtwYWdpbmcucGFnZX0gdG90YWxQYWdlcz17cGFnaW5nLnRvdGFsUGFnZXN9IHNldFBhZ2U9e3BhZ2luZy5zZXRQYWdlfSAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cblxuLyoqIEFuIGluZGl2aWR1YWwgY29sdW1uIGNlbGwgaW4gdGhlIHRhYmxlLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gVmFuaWxsYVRhYmxlSGVhZGVyQ2VsbDxUPih7IGNvbHVtbiB9OiB7IGNvbHVtbjogVmFuaWxsYUNvbHVtbjxUPiB9KSB7XG4gICAgY29uc3QgaGVhZGVyOiBzdHJpbmcgfCBWTm9kZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoIWNvbHVtbi50aXRsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5pZDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29sdW1uLnRpdGxlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW4udGl0bGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW4udGl0bGU7XG4gICAgICAgIH1cbiAgICB9LCBbY29sdW1uLmlkLCBjb2x1bW4udGl0bGVdKTtcblxuICAgIGNvbnN0IHJlYWxXaWR0aCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IChjb2x1bW4ud2lkdGggPT09IFwibWluaW11bVwiID8gXCIxcHhcIiA6IGNvbHVtbi53aWR0aCA9PT0gXCJtYXhpbXVtXCIgPyBcImF1dG9cIiA6IGNvbHVtbi53aWR0aCksXG4gICAgICAgIFtjb2x1bW4ud2lkdGhdXG4gICAgKTtcblxuICAgIC8vIFdlIHVzZSBhbiBpbnRlcm5hbCBkaXYgdG8gYXZvaWQgZmxleCBtZXNzaW5nIHdpdGggdGhlIHRhYmxlIGxheW91dC5cbiAgICByZXR1cm4gKFxuICAgICAgICA8dGggd2lkdGg9e3JlYWxXaWR0aH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLWNlbGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLXRpdGxlXCI+e2hlYWRlcn08L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICApO1xufVxuXG4vKiogQSBncm91cGluZyBpbiB0aGUgdGFibGUsIG9yIGFuIGluZGl2aWR1YWwgcm93LlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gVmFuaWxsYVJvd0dyb3VwPFQ+KHtcbiAgICBsZXZlbCxcbiAgICBjb2x1bW5zLFxuICAgIGVsZW1lbnQsXG4gICAgZ3JvdXBpbmdzLFxufToge1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgY29sdW1uczogVmFuaWxsYUNvbHVtbjxUPltdO1xuICAgIGVsZW1lbnQ6IFQgfCBHcm91cEVsZW1lbnQ8VD47XG4gICAgZ3JvdXBpbmdzPzogR3JvdXBpbmdDb25maWc8VD5bXTtcbn0pIHtcbiAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGVsZW1lbnQpKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwaW5nQ29uZmlnID0gZ3JvdXBpbmdzID8gZ3JvdXBpbmdzW01hdGgubWluKGdyb3VwaW5ncy5sZW5ndGggLSAxLCBsZXZlbCldIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgPFRhYmxlR3JvdXBIZWFkZXIgbGV2ZWw9e2xldmVsfSB2YWx1ZT17ZWxlbWVudH0gd2lkdGg9e2NvbHVtbnMubGVuZ3RofSBjb25maWc9e2dyb3VwaW5nQ29uZmlnfSAvPlxuICAgICAgICAgICAgICAgIHtlbGVtZW50LnJvd3MubWFwKChyb3cpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPFZhbmlsbGFSb3dHcm91cCBsZXZlbD17bGV2ZWwgKyAxfSBjb2x1bW5zPXtjb2x1bW5zfSBlbGVtZW50PXtyb3d9IC8+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiA8VGFibGVSb3cgbGV2ZWw9e2xldmVsfSByb3c9e2VsZW1lbnR9IGNvbHVtbnM9e2NvbHVtbnN9IC8+O1xuICAgIH1cbn1cblxuLyoqIEEgaGVhZGVyIG9mIGEgZ3JvdXBlZCBzZXQgb2YgY29sdW1ucy5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRhYmxlR3JvdXBIZWFkZXI8VD4oe1xuICAgIGxldmVsLFxuICAgIHZhbHVlLFxuICAgIHdpZHRoLFxuICAgIGNvbmZpZyxcbn06IHtcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIHZhbHVlOiBHcm91cEVsZW1lbnQ8VD47XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBjb25maWc/OiBHcm91cGluZ0NvbmZpZzxUPjtcbn0pIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gdXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgY29uc3QgcmF3UmVuZGVyYWJsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoY29uZmlnPy5yZW5kZXIpIHJldHVybiBjb25maWcucmVuZGVyKHZhbHVlLmtleSwgdmFsdWUucm93cyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGgyPlxuICAgICAgICAgICAgICAgICAgICA8TGl0IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17dHJ1ZX0gdmFsdWU9e3ZhbHVlLmtleX0gLz5cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgKTtcbiAgICB9LCBbY29uZmlnPy5yZW5kZXIsIHZhbHVlLmtleSwgdmFsdWUucm93c10pO1xuICAgIGNvbnN0IHJlbmRlcmFibGUgPSB1c2VBc0VsZW1lbnQocmF3UmVuZGVyYWJsZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtZ3JvdXAtaGVhZGVyXCI+XG4gICAgICAgICAgICA8dGQgY29sU3Bhbj17d2lkdGh9PntyZW5kZXJhYmxlfTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgKTtcbn1cblxuLyoqIEEgc2luZ2xlIHJvdyBpbnNpZGUgdGhlIHRhYmxlLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gVGFibGVSb3c8VD4oeyBsZXZlbCwgcm93LCBjb2x1bW5zIH06IHsgbGV2ZWw6IG51bWJlcjsgcm93OiBUOyBjb2x1bW5zOiBWYW5pbGxhQ29sdW1uPFQ+W10gfSkge1xuICAgIHJldHVybiAoXG4gICAgICAgIDx0ciBjbGFzc05hbWU9XCJkYXRhY29yZS10YWJsZS1yb3dcIiBzdHlsZT17bGV2ZWwgPyBgcGFkZGluZy1sZWZ0OiAke2xldmVsICogNX1weGAgOiB1bmRlZmluZWR9PlxuICAgICAgICAgICAge2NvbHVtbnMubWFwKChjb2wpID0+IChcbiAgICAgICAgICAgICAgICA8VGFibGVSb3dDZWxsIHJvdz17cm93fSBjb2x1bW49e2NvbH0gLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3RyPlxuICAgICk7XG59XG5cbi8qKiBBIHNpbmdsZSBjZWxsIGluc2lkZSBvZiBhIHJvdyBvZiB0aGUgdGFibGUuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUYWJsZVJvd0NlbGw8VD4oeyByb3csIGNvbHVtbiB9OiB7IHJvdzogVDsgY29sdW1uOiBWYW5pbGxhQ29sdW1uPFQ+IH0pIHtcbiAgICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oKCkgPT4gY29sdW1uLnZhbHVlKHJvdyksIFtyb3csIGNvbHVtbi52YWx1ZV0pO1xuICAgIGNvbnN0IFtlZGl0YWJsZVN0YXRlLCBkaXNwYXRjaF0gPSB1c2VFZGl0YWJsZURpc3BhdGNoPHR5cGVvZiB2YWx1ZT4oe1xuICAgICAgICBjb250ZW50OiB2YWx1ZSxcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgdXBkYXRlcjogKHYpID0+IGNvbHVtbi5vblVwZGF0ZSAmJiBjb2x1bW4ub25VcGRhdGUodiwgcm93KSxcbiAgICB9KTtcbiAgICBjb25zdCByZW5kZXJhYmxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChjb2x1bW4ucmVuZGVyKSB7XG4gICAgICAgICAgICBsZXQgciA9IGNvbHVtbi5yZW5kZXIoZWRpdGFibGVTdGF0ZS5jb250ZW50LCByb3cpO1xuICAgICAgICAgICAgaWYgKHIgJiYgdHlwZW9mIHIgPT0gXCJvYmplY3RcIiAmJiBcInByb3BzXCIgaW4gcikgcmV0dXJuIHsgLi4uciwgcHJvcHM6IHsgLi4uci5wcm9wcywgZGlzcGF0Y2ggfSB9O1xuICAgICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0gZWxzZSByZXR1cm4gdmFsdWU7XG4gICAgfSwgW3JvdywgY29sdW1uLnJlbmRlciwgdmFsdWVdKTtcblxuICAgIGNvbnN0IHJlbmRlcmVkID0gdXNlQXNFbGVtZW50KHJlbmRlcmFibGUpO1xuXG4gICAgY29uc3QgeyBlZGl0b3I6IEVkaXRvciB9ID0gY29sdW1uO1xuICAgIHJldHVybiAoXG4gICAgICAgIDx0ZFxuICAgICAgICAgICAgb25EYmxDbGljaz17KCkgPT4gZGlzcGF0Y2goeyB0eXBlOiBcImVkaXRpbmctdG9nZ2xlZFwiLCBuZXdWYWx1ZTogIWVkaXRhYmxlU3RhdGUuaXNFZGl0aW5nIH0pfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtY2VsbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHtjb2x1bW4uZWRpdGFibGUgJiYgZWRpdGFibGVTdGF0ZS5pc0VkaXRpbmcgJiYgRWRpdG9yID8gKFxuICAgICAgICAgICAgICAgIDxFZGl0b3IgZGlzcGF0Y2g9e2Rpc3BhdGNofSB7Li4uZWRpdGFibGVTdGF0ZX0gey4uLihjb2x1bW4uZWRpdG9yUHJvcHMgPz8ge30pfSAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICByZW5kZXJlZFxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC90ZD5cbiAgICApO1xufVxuXG4vKiogRW5zdXJlIHRoYXQgYSBnaXZlbiBsaXRlcmFsIG9yIGVsZW1lbnQgaW5wdXQgaXMgcmVuZGVyZWQgYXMgYSBKU1guRWxlbWVudC5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFzRWxlbWVudChlbGVtZW50OiBWTm9kZSB8IExpdGVyYWwpOiBWTm9kZSB7XG4gICAgY29uc3Qgc291cmNlUGF0aCA9IHVzZUNvbnRleHQoQ1VSUkVOVF9GSUxFX0NPTlRFWFQpO1xuXG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50IGFzIFZOb2RlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIDxMaXQgc291cmNlUGF0aD17c291cmNlUGF0aH0gaW5saW5lPXt0cnVlfSB2YWx1ZT17ZWxlbWVudCBhcyBhbnl9IC8+O1xuICAgICAgICB9XG4gICAgfSwgW2VsZW1lbnRdKTtcbn1cbi8qKiBQcm92aWRlcyBhIHNvcnQgYnV0dG9uIHRoYXQgaGFzIGEgY2xpY2sgaGFuZGxlci4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTb3J0QnV0dG9uKHtcbiAgICBkaXJlY3Rpb24sXG4gICAgb25DbGljayxcbiAgICBjbGFzc05hbWUsXG59OiB7XG4gICAgZGlyZWN0aW9uPzogU29ydERpcmVjdGlvbjtcbiAgICBvbkNsaWNrPzogKGV2dDogTW91c2VFdmVudCkgPT4gYW55O1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbn0pIHtcbiAgICBjb25zdCBpY29uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChkaXJlY3Rpb24gPT0gXCJhc2NlbmRpbmdcIikgcmV0dXJuIGZhU29ydERvd247XG4gICAgICAgIGVsc2UgaWYgKGRpcmVjdGlvbiA9PSBcImRlc2NlbmRpbmdcIikgcmV0dXJuIGZhU29ydFVwO1xuICAgICAgICByZXR1cm4gZmFTb3J0O1xuICAgIH0sIFtkaXJlY3Rpb25dKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgb25DbGljaz17b25DbGlja30gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtpY29ufSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufVxuXG4vKiogRGVmYXVsdCBjb21wYXJhdG9yIGZvciBzb3J0aW5nIG9uIGEgdGFibGUgY29sdW1uLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEFCTEVfQ09NUEFSQVRPUjogPFQ+KGE6IExpdGVyYWwsIGI6IExpdGVyYWwsIGFvOiBULCBibzogVCkgPT4gbnVtYmVyID0gKGEsIGIsIF9hbywgX2JvKSA9PlxuICAgIExpdGVyYWxzLmNvbXBhcmUoYSwgYik7XG5cbi8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUYWJsZSBIb29rcyAvL1xuLy8vLy8vLy8vLy8vLy8vLy9cblxuZXhwb3J0IHR5cGUgVGFibGVBY3Rpb24gPVxuICAgIHwgeyB0eXBlOiBcInJlc2V0LWFsbFwiIH1cbiAgICB8IHsgdHlwZTogXCJzZXQtcGFnZVwiOyBwYWdlOiBudW1iZXIgfVxuICAgIHwgeyB0eXBlOiBcInNvcnQtY29sdW1uXCI7IGNvbHVtbjogc3RyaW5nOyBkaXJlY3Rpb24/OiBcImFzY2VuZGluZ1wiIHwgXCJkZXNjZW5kaW5nXCIgfTtcblxuZXhwb3J0IHR5cGUgU29ydERpcmVjdGlvbiA9IFwiYXNjZW5kaW5nXCIgfCBcImRlc2NlbmRpbmdcIjtcblxuLyoqIFRoZSB3YXlzIHRoYXQgdGhlIHRhYmxlIGNhbiBiZSBzb3J0ZWQuICovXG5leHBvcnQgdHlwZSBTb3J0T24gPSB7IHR5cGU6IFwiY29sdW1uXCI7IGlkOiBzdHJpbmc7IGRpcmVjdGlvbjogU29ydERpcmVjdGlvbiB9O1xuIiwgIi8qKlxuICogQG1vZHVsZSB2aWV3c1xuICovXG5pbXBvcnQgeyBWTm9kZSB9IGZyb20gXCJwcmVhY3RcIjtcbmltcG9ydCB7IFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInByZWFjdC9jb21wYXRcIjtcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSB9IGZyb20gXCJ1aS9ob29rc1wiO1xuXG5pbXBvcnQgXCIuL2NhbGxvdXQuY3NzXCI7XG5pbXBvcnQgeyBjb21iaW5lQ2xhc3NlcyB9IGZyb20gXCIuLi9iYXNpY3NcIjtcblxuLyoqIEdlbmVyYWwgcHJvcGVydGllcyBmb3IgY29uZmlndXJpbmcgYSBjYWxsb3V0LlxuICogQGdyb3VwIFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbG91dFByb3BzIHtcbiAgICAvKiogVGl0bGUgb2YgdGhlIGNhbGxvdXQuICovXG4gICAgdGl0bGU6IHN0cmluZyB8IFZOb2RlO1xuICAgIC8qKiBBcmJpdHJhcnkgaWNvbiB0byBzaG93IGF0IHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHRpdGxlIGluIHRoZSBjYWxsb3V0LiAqL1xuICAgIGljb24/OiBWTm9kZTtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhlIGNhbGxvdXQuICovXG4gICAgdHlwZT86IHN0cmluZztcbiAgICAvKiogV2hldGhlciB0aGUgY2FsbG91dCBpcyBjb2xsYXBzaWJsZSAoZGVmYXVsdHMgdG8gdHJ1ZSkuICovXG4gICAgY29sbGFwc2libGU/OiBib29sZWFuO1xuXG4gICAgLyoqIENvbnRyb2xsZWQgcHJvcCBmb3Igc2V0dGluZyB3aGV0aGVyIHRoZSBjYWxsb3V0IGlzIG9wZW4uICovXG4gICAgb3BlbjogYm9vbGVhbjtcbiAgICAvKiogV2hldGhlciB0aGUgY2FsbG91dCBpcyBpbml0aWFsbHkgb3BlbiBpZiB1bmNvbnRyb2xsZWQuICovXG4gICAgaW5pdGlhbE9wZW4/OiBib29sZWFuO1xuICAgIC8qKiBDYWxsZWQgd2hlbmV2ZXIgdGhlIG9wZW4gc3RhdGUgb2YgdGhlIGNhbGxvdXQgY2hhbmdlcyBkdWUgdG8gdXNlciBhY3Rpb24uICovXG4gICAgb25PcGVuQ2hhbmdlPzogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG4vKiogU3BsaXRzIG9uIGB8PHN0dWZmPmAuICovXG5jb25zdCBNRVRBREFUQV9TUExJVF9SRUdFWCA9IC9cXHwoLiopL3M7XG5cbi8qKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqIEBwYXJhbSBwcm9wcyB7QGluaGVyaXREb2MgQ2FsbG91dFByb3BzfVxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbG91dCh7XG4gICAgY29sbGFwc2libGUgPSB0cnVlLFxuICAgIG9wZW46IG9wZW5Qcm9wLFxuICAgIGluaXRpYWxPcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICB0aXRsZSxcbiAgICBpY29uLFxuICAgIGNoaWxkcmVuLFxuICAgIHR5cGUsXG59OiBQcm9wc1dpdGhDaGlsZHJlbjxDYWxsb3V0UHJvcHM+KSB7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlQ29udHJvbGxlZFN0YXRlKGluaXRpYWxPcGVuID8/IHRydWUsIG9wZW5Qcm9wLCBvbk9wZW5DaGFuZ2UpO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGRhdGEtY2FsbG91dC1tZXRhZGF0YT17dHlwZT8uc3BsaXQoTUVUQURBVEFfU1BMSVRfUkVHRVgpPy5bMV19XG4gICAgICAgICAgICBkYXRhLWNhbGxvdXQ9e3R5cGU/LnNwbGl0KE1FVEFEQVRBX1NQTElUX1JFR0VYKT8uWzBdfVxuICAgICAgICAgICAgZGF0YS1jYWxsb3V0LWZvbGQ9e29wZW4gPyBcIitcIiA6IFwiLVwifVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjb21iaW5lQ2xhc3NlcyhcImRhdGFjb3JlXCIsIFwiY2FsbG91dFwiLCBjb2xsYXBzaWJsZSA/IFwiaXMtY29sbGFwc2libGVcIiA6IHVuZGVmaW5lZCl9XG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FsbG91dC10aXRsZVwiIG9uQ2xpY2s9eygpID0+IGNvbGxhcHNpYmxlICYmIHNldE9wZW4oIW9wZW4pfT5cbiAgICAgICAgICAgICAgICB7aWNvbiAmJiA8ZGl2IGNsYXNzTmFtZT1cImNhbGxvdXQtaWNvblwiPntpY29ufTwvZGl2Pn1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhbGxvdXQtdGl0bGUtaW5uZXJcIj57dGl0bGV9PC9kaXY+XG4gICAgICAgICAgICAgICAge2NvbGxhcHNpYmxlICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NvbWJpbmVDbGFzc2VzKFwiY2FsbG91dC1mb2xkXCIsICFvcGVuID8gXCJpcy1jb2xsYXBzZWRcIiA6IHVuZGVmaW5lZCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdmctaWNvbiBsdWNpZGUtY2hldnJvbi1kb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwibTYgOSA2IDYgNi02XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtvcGVuICYmIDxkaXYgY2xhc3NOYW1lPVwiY2FsbG91dC1jb250ZW50XCI+e2NoaWxkcmVufTwvZGl2Pn1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgdmlld3NcbiAqL1xuXG5pbXBvcnQgeyBMaXRlcmFsIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgVk5vZGUgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuXG5pbXBvcnQgXCIuL2NhcmRzLmNzc1wiO1xuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIGNhcmQgY29tcG9uZW50XG4gKlxuICogQGdyb3VwIFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZFByb3BzPFQ+IHtcbiAgICAvKiogdGhlIGFjdHVhbCB2YWx1ZSBoZWxkIGluIHRoaXMgY2FyZC4gKi9cbiAgICB2YWx1ZTogVDtcblxuICAgIC8qKiBUaGUgdGl0bGUgb2YgdGhlIGNhcmQuICovXG4gICAgdGl0bGU6IExpdGVyYWwgfCAoKHZhbDogVCkgPT4gTGl0ZXJhbCB8IFZOb2RlKTtcblxuICAgIC8qKiBUaGUgcmF3IGNvbnRlbnQgb2YgdGhlIGNhcmQuICovXG4gICAgY29udGVudDogTGl0ZXJhbCB8ICgodmFsOiBUKSA9PiBMaXRlcmFsIHwgVk5vZGUpO1xuXG4gICAgLyoqIG9wdGlvbmFsIGZvb3RlciAoYmVjYXVzZSB3aHkgbm90PykgKi9cbiAgICBmb290ZXI/OiBMaXRlcmFsIHwgKCh2YWw6IFQpID0+IExpdGVyYWwgfCBWTm9kZSk7XG5cbiAgICAvKiogSWYgdHJ1ZSwgdGhlIHRpdGxlIHdpbGwgYmUgcmVuZGVyZWQgY2VudGVyZWQuICovXG4gICAgY2VudGVyVGl0bGU/OiBib29sZWFuO1xufVxuLyoqXG4gKiBBIGNhcmQgd2l0aCBhIHRpdGxlIGFuZCBjb250ZW50XG4gKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhcmQ8VD4ocHJvcHM6IENhcmRQcm9wczxUPikge1xuICAgIGNvbnN0IGNhcmRUaXRsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHByb3BzLnRpdGxlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aXRsZShwcm9wcy52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGl0bGU7XG4gICAgICAgIH1cbiAgICB9LCBbcHJvcHMudmFsdWUsIHByb3BzLnRpdGxlXSk7XG5cbiAgICBjb25zdCBpbm5lckNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBwcm9wcy5jb250ZW50ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBwcm9wcy5jb250ZW50KHByb3BzLnZhbHVlKTtcbiAgICAgICAgZWxzZSByZXR1cm4gcHJvcHMuY29udGVudDtcbiAgICB9LCBbcHJvcHMudmFsdWUsIHByb3BzLmNvbnRlbnRdKTtcblxuICAgIGNvbnN0IGZvb3RlckNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzLmZvb3RlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHByb3BzLmZvb3RlciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLmZvb3Rlcihwcm9wcy52YWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9wcy5mb290ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSwgW3Byb3BzLmZvb3RlciwgcHJvcHMudmFsdWVdKTtcblxuICAgIGNvbnN0IHRpdGxlQ2xhc3NlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBsZXQgYmFzZSA9IFtcImRhdGFjb3JlLWNhcmQtdGl0bGVcIl07XG4gICAgICAgIGlmIChwcm9wcy5jZW50ZXJUaXRsZSkgYmFzZSA9IGJhc2UuY29uY2F0KFwiY2VudGVyZWRcIik7XG4gICAgICAgIHJldHVybiBiYXNlO1xuICAgIH0sIFtwcm9wcy5jZW50ZXJUaXRsZSwgcHJvcHMudGl0bGUsIHByb3BzLmNvbnRlbnQsIHByb3BzLnZhbHVlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWNhcmRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXt0aXRsZUNsYXNzZXMuam9pbihcIiBcIil9PntjYXJkVGl0bGV9PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWNhcmQtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWNhcmQtY29udGVudFwiPntpbm5lckNvbnRlbnR9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhY29yZS1jYXJkLWZvb3RlclwiPntmb290ZXJDb250ZW50fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGFwaVxuICovXG5pbXBvcnQgeyBHcm91cGluZ3MsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuXG4vKiogQSBmdW5jdGlvbiB3aGljaCBtYXBzIGFuIGFycmF5IGVsZW1lbnQgdG8gc29tZSB2YWx1ZS4gKi9cbmV4cG9ydCB0eXBlIEFycmF5RnVuYzxULCBPPiA9IChlbGVtOiBULCBpbmRleDogbnVtYmVyLCBhcnI6IFRbXSkgPT4gTztcblxuLyoqIEEgZnVuY3Rpb24gd2hpY2ggY29tcGFyZXMgdHdvIHR5cGVzLiAqL1xuZXhwb3J0IHR5cGUgQXJyYXlDb21wYXJhdG9yPFQ+ID0gKGE6IFQsIGI6IFQpID0+IG51bWJlcjtcblxuLyoqIEZpbmRzIHRoZSB2YWx1ZSBvZiB0aGUgbG93ZXN0IHZhbHVlIHR5cGUgaW4gYSBncm91cGluZy4gKi9cbmV4cG9ydCB0eXBlIExvd2VzdEtleTxUPiA9IFQgZXh0ZW5kcyB7IGtleTogYW55OyByb3dzOiBhbnkgfSA/IExvd2VzdEtleTxUW1wicm93c1wiXVswXT4gOiBUO1xuXG4vKiogQSByaWRpY3Vsb3VzIHR5cGUgd2hpY2ggcHJvcGVybHkgdHlwZXMgdGhlIHJlc3VsdCBvZiB0aGUgJ2dyb3VwSW4nIGNvbW1hbmQuICovXG5leHBvcnQgdHlwZSBJbmdyb3VwZWQ8VSwgVD4gPSBUIGV4dGVuZHMgeyBrZXk6IGFueTsgcm93czogYW55IH1cbiAgICA/IHsga2V5OiBUW1wia2V5XCJdOyByb3dzOiBJbmdyb3VwZWQ8VSwgVFtcInJvd3NcIl1bMF0+IH1cbiAgICA6IHsga2V5OiBVOyByb3dzOiBUW10gfTtcblxuLyoqXG4gKiBQcm94aWVkIGludGVyZmFjZSB3aGljaCBhbGxvd3MgbWFuaXB1bGF0aW5nIGFycmF5LWJhc2VkIGRhdGEuIEFsbCBmdW5jdGlvbnMgb24gYSBkYXRhIGFycmF5IHByb2R1Y2UgYSBORVcgYXJyYXlcbiAqIChpLmUuLCB0aGUgYXJyYXlzIGFyZSBpbW11dGFibGUpLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFBcnJheTxUPiB7XG4gICAgLyoqIFRoZSB0b3RhbCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5LiAqL1xuICAgIGxlbmd0aDogbnVtYmVyO1xuXG4gICAgLyoqIEFwcGxpZXMgdGhlIGdpdmVuIGZ1bmN0aW9uIHRvIHRoZSBlbnRpcmUgZGF0YSBhcnJheS4gQWxsb3dzIHVzaW5nIGZ1bmN0aW9uIGNoYWluaW5nIHdoaWxlIGFwcGx5aW5nIGFuIGFyYml0cmFyeSBpbnRlcm1lZGlhdGUgZnVuY3Rpb24uICovXG4gICAgY2hhaW48VT4ob3A6IChhcnI6IERhdGFBcnJheTxUPikgPT4gRGF0YUFycmF5PFU+KTogRGF0YUFycmF5PFU+O1xuXG4gICAgLyoqIEZpbHRlciB0aGUgZGF0YSBhcnJheSBkb3duIHRvIGp1c3QgZWxlbWVudHMgd2hpY2ggbWF0Y2ggdGhlIGdpdmVuIHByZWRpY2F0ZS4gKi9cbiAgICB3aGVyZShwcmVkaWNhdGU6IEFycmF5RnVuYzxULCBib29sZWFuPik6IERhdGFBcnJheTxUPjtcbiAgICAvKiogQWxpYXMgZm9yICd3aGVyZScgZm9yIHBlb3BsZSB3aG8gd2FudCBhcnJheSBzZW1hbnRpY3MuICovXG4gICAgZmlsdGVyKHByZWRpY2F0ZTogQXJyYXlGdW5jPFQsIGJvb2xlYW4+KTogRGF0YUFycmF5PFQ+O1xuXG4gICAgLyoqIE1hcCBlbGVtZW50cyBpbiB0aGUgZGF0YSBhcnJheSBieSBhcHBseWluZyBhIGZ1bmN0aW9uIHRvIGVhY2guICovXG4gICAgbWFwPFU+KGY6IEFycmF5RnVuYzxULCBVPik6IERhdGFBcnJheTxVPjtcbiAgICAvKiogTWFwIGVsZW1lbnRzIGluIHRoZSBkYXRhIGFycmF5IGJ5IGFwcGx5aW5nIGEgZnVuY3Rpb24gdG8gZWFjaCwgdGhlbiBmbGF0dGVuIHRoZSByZXN1bHRzIHRvIHByb2R1Y2UgYSBuZXcgYXJyYXkuICovXG4gICAgZmxhdE1hcDxVPihmOiBBcnJheUZ1bmM8VCwgVVtdPik6IERhdGFBcnJheTxVPjtcbiAgICAvKiogTXV0YWJseSBjaGFuZ2UgZWFjaCB2YWx1ZSBpbiB0aGUgYXJyYXksIHJldHVybmluZyB0aGUgc2FtZSBhcnJheSB3aGljaCB5b3UgY2FuIGZ1cnRoZXIgY2hhaW4gb2ZmIG9mLiAqL1xuICAgIG11dGF0ZShmOiBBcnJheUZ1bmM8VCwgdm9pZD4pOiBEYXRhQXJyYXk8VD47XG5cbiAgICAvKiogTGltaXQgdGhlIHRvdGFsIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBhcnJheSB0byB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gICAgbGltaXQoY291bnQ6IG51bWJlcik6IERhdGFBcnJheTxUPjtcbiAgICAvKipcbiAgICAgKiBUYWtlIGEgc2xpY2Ugb2YgdGhlIGFycmF5LiBJZiBgc3RhcnRgIGlzIHVuZGVmaW5lZCwgaXQgaXMgYXNzdW1lZCB0byBiZSAwOyBpZiBgZW5kYCBpcyB1bmRlZmluZWQsIGl0IGlzIGFzc3VtYmVkXG4gICAgICogdG8gYmUgdGhlIGVuZCBvZiB0aGUgYXJyYXkuXG4gICAgICovXG4gICAgc2xpY2Uoc3RhcnQ/OiBudW1iZXIsIGVuZD86IG51bWJlcik6IERhdGFBcnJheTxUPjtcbiAgICAvKiogQ29uY2F0ZW5hdGUgdGhlIHZhbHVlcyBpbiB0aGlzIGRhdGEgYXJyYXkgd2l0aCB0aG9zZSBvZiBhbm90aGVyIGl0ZXJhYmxlIC8gZGF0YSBhcnJheSAvIGFycmF5LiAqL1xuICAgIGNvbmNhdChvdGhlcjogSXRlcmFibGU8VD4pOiBEYXRhQXJyYXk8VD47XG5cbiAgICAvKiogUmV0dXJuIHRoZSBmaXJzdCBpbmRleCBvZiB0aGUgZ2l2ZW4gKG9wdGlvbmFsbHkgc3RhcnRpbmcgdGhlIHNlYXJjaCkgKi9cbiAgICBpbmRleE9mKGVsZW1lbnQ6IFQsIGZyb21JbmRleD86IG51bWJlcik6IG51bWJlcjtcbiAgICAvKiogUmV0dXJuIHRoZSBmaXJzdCBlbGVtZW50IHRoYXQgc2F0aXNmaWVzIHRoZSBnaXZlbiBwcmVkaWNhdGUuICovXG4gICAgZmluZChwcmVkOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4pOiBUIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBGaW5kIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IHNhdGlzZmllcyB0aGUgZ2l2ZW4gcHJlZGljYXRlLiBSZXR1cm5zIC0xIGlmIG5vdGhpbmcgd2FzIGZvdW5kLiAqL1xuICAgIGZpbmRJbmRleChwcmVkOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4sIGZyb21JbmRleD86IG51bWJlcik6IG51bWJlcjtcbiAgICAvKiogUmV0dXJucyB0cnVlIGlmIHRoZSBhcnJheSBjb250YWlucyB0aGUgZ2l2ZW4gZWxlbWVudCwgYW5kIGZhbHNlIG90aGVyd2lzZS4gKi9cbiAgICBpbmNsdWRlcyhlbGVtZW50OiBUKTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHN0cmluZyBvYnRhaW5lZCBieSBjb252ZXJ0aW5nIGVhY2ggZWxlbWVudCBpbiB0aGUgYXJyYXkgdG8gYSBzdHJpbmcsIGFuZCBqb2luaW5nIGl0IHdpdGggdGhlXG4gICAgICogZ2l2ZW4gc2VwYXJhdG9yICh3aGljaCBkZWZhdWx0cyB0byAnLCAnKS5cbiAgICAgKi9cbiAgICBqb2luKHNlcD86IHN0cmluZyk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHNvcnRlZCBhcnJheSBzb3J0ZWQgYnkgdGhlIGdpdmVuIGtleTsgYW4gb3B0aW9uYWwgY29tcGFyYXRvciBjYW4gYmUgcHJvdmlkZWQsIHdoaWNoIHdpbGxcbiAgICAgKiBiZSB1c2VkIHRvIGNvbXBhcmUgdGhlIGtleXMgaW4gbGVpdSBvZiB0aGUgZGVmYXVsdCBkYXRhdmlldyBjb21wYXJhdG9yLlxuICAgICAqL1xuICAgIHNvcnQ8VT4oa2V5OiBBcnJheUZ1bmM8VCwgVT4sIGRpcmVjdGlvbj86IFwiYXNjXCIgfCBcImRlc2NcIiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPjtcblxuICAgIC8qKlxuICAgICAqIE11dGFibHkgbW9kaWZ5IHRoZSBjdXJyZW50IGFycmF5IHdpdGggYW4gaW4gcGxhY2Ugc29ydDsgdGhpcyBpcyBsZXNzIGZsZXhpYmxlIHRoYW4gYSByZWd1bGFyIHNvcnQgaW4gZXhjaGFuZ2VcbiAgICAgKiBmb3IgYmVpbmcgYSBsaXR0bGUgbW9yZSBwZXJmb3JtYW50LiBPbmx5IHVzZSB0aGlzIGlzIHBlcmZvcm1hbmNlIGlzIGEgc2VyaW91cyBjb25zaWRlcmF0aW9uLlxuICAgICAqL1xuICAgIHNvcnRJblBsYWNlPFU+KGtleTogKHY6IFQpID0+IFUsIGRpcmVjdGlvbj86IFwiYXNjXCIgfCBcImRlc2NcIiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhbiBhcnJheSB3aGVyZSBlbGVtZW50cyBhcmUgZ3JvdXBlZCBieSB0aGUgZ2l2ZW4ga2V5OyB0aGUgcmVzdWx0aW5nIGFycmF5IHdpbGwgaGF2ZSBvYmplY3RzIG9mIHRoZSBmb3JtXG4gICAgICogXFxgeyBrZXk6IFxcPGtleSB2YWx1ZVxcPiwgcm93czogRGF0YUFycmF5IH1gLlxuICAgICAqL1xuICAgIGdyb3VwQnk8VT4oa2V5OiBBcnJheUZ1bmM8VCwgVT4sIGNvbXBhcmF0b3I/OiBBcnJheUNvbXBhcmF0b3I8VT4pOiBEYXRhQXJyYXk8eyBrZXk6IFU7IHJvd3M6IFRbXSB9PjtcblxuICAgIC8qKlxuICAgICAqIElmIHRoZSBhcnJheSBpcyBub3QgZ3JvdXBlZCwgZ3JvdXBzIGl0IGFzIGBncm91cEJ5YCBkb2VzOyBvdGhlcndpc2UsIGdyb3VwcyB0aGUgZWxlbWVudHMgaW5zaWRlIGVhY2ggY3VycmVudFxuICAgICAqIGdyb3VwLiBUaGlzIGFsbG93cyBmb3IgdG9wLWRvd24gcmVjdXJzaXZlIGdyb3VwaW5nIHdoaWNoIG1heSBiZSBlYXNpZXIgdGhhbiBib3R0b20tdXAgZ3JvdXBpbmcuXG4gICAgICovXG4gICAgZ3JvdXBJbjxVPihrZXk6IEFycmF5RnVuYzxMb3dlc3RLZXk8VD4sIFU+LCBjb21wYXJhdG9yPzogQXJyYXlDb21wYXJhdG9yPFU+KTogRGF0YUFycmF5PEluZ3JvdXBlZDxVLCBUPj47XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gZGlzdGluY3QgZW50cmllcy4gSWYgYSBrZXkgaXMgcHJvdmlkZWQsIHRoZW4gcm93cyB3aXRoIGRpc3RpbmN0IGtleXMgYXJlIHJldHVybmVkLlxuICAgICAqL1xuICAgIGRpc3RpbmN0PFU+KGtleT86IEFycmF5RnVuYzxULCBVPiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPjtcblxuICAgIC8qKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgcHJlZGljYXRlIGlzIHRydWUgZm9yIGFsbCB2YWx1ZXMuICovXG4gICAgZXZlcnkoZjogQXJyYXlGdW5jPFQsIGJvb2xlYW4+KTogYm9vbGVhbjtcbiAgICAvKiogUmV0dXJuIHRydWUgaWYgdGhlIHByZWRpY2F0ZSBpcyB0cnVlIGZvciBhdCBsZWFzdCBvbmUgdmFsdWUuICovXG4gICAgc29tZShmOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4pOiBib29sZWFuO1xuICAgIC8qKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgcHJlZGljYXRlIGlzIEZBTFNFIGZvciBhbGwgdmFsdWVzLiAqL1xuICAgIG5vbmUoZjogQXJyYXlGdW5jPFQsIGJvb2xlYW4+KTogYm9vbGVhbjtcblxuICAgIC8qKiBSZXR1cm4gdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGRhdGEgYXJyYXkuIFJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBhcnJheSBpcyBlbXB0eS4gKi9cbiAgICBmaXJzdCgpOiBUO1xuICAgIC8qKiBSZXR1cm4gdGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgZGF0YSBhcnJheS4gUmV0dXJucyB1bmRlZmluZWQgaWYgdGhlIGFycmF5IGlzIGVtcHR5LiAqL1xuICAgIGxhc3QoKTogVDtcblxuICAgIC8qKiBNYXAgZXZlcnkgZWxlbWVudCBpbiB0aGlzIGRhdGEgYXJyYXkgdG8gdGhlIGdpdmVuIGtleSwgYW5kIHRoZW4gZmxhdHRlbiBpdC4qL1xuICAgIHRvKGtleTogc3RyaW5nKTogRGF0YUFycmF5PGFueT47XG4gICAgLyoqIE1hcCBldmVyeSBlbGVtZW50IGluIHRoaXMgZGF0YSBhcnJheSB0byB0aGUgZ2l2ZW4ga2V5OyB1bmxpa2UgdG8oKSwgZG9lcyBub3QgZmxhdHRlbiB0aGUgcmVzdWx0LiAqL1xuICAgIGludG8oa2V5OiBzdHJpbmcpOiBEYXRhQXJyYXk8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFJlY3Vyc2l2ZWx5IGV4cGFuZCB0aGUgZ2l2ZW4ga2V5LCBmbGF0dGVuaW5nIGEgdHJlZSBzdHJ1Y3R1cmUgYmFzZWQgb24gdGhlIGtleSBpbnRvIGEgZmxhdCBhcnJheS4gVXNlZnVsIGZvciBoYW5kbGluZ1xuICAgICAqIGhlaXJhcmNoaWNhbCBkYXRhIGxpa2UgdGFza3Mgd2l0aCAnc3VidGFza3MnLlxuICAgICAqL1xuICAgIGV4cGFuZChrZXk6IHN0cmluZyk6IERhdGFBcnJheTxhbnk+O1xuXG4gICAgLyoqIFJ1biBhIGxhbWJkYSBvbiBlYWNoIGVsZW1lbnQgaW4gdGhlIGFycmF5LiAqL1xuICAgIGZvckVhY2goZjogQXJyYXlGdW5jPFQsIHZvaWQ+KTogdm9pZDtcblxuICAgIC8qKiBDb252ZXJ0IHRoaXMgdG8gYSBwbGFpbiBqYXZhc2NyaXB0IGFycmF5LiAqL1xuICAgIGFycmF5KCk6IFRbXTtcblxuICAgIC8qKiBBbGxvdyBpdGVyYXRpbmcgZGlyZWN0bHkgb3ZlciB0aGUgYXJyYXkuICovXG4gICAgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmF0b3I8VD47XG5cbiAgICAvKiogTWFwIGluZGV4ZXMgdG8gdmFsdWVzLiAqL1xuICAgIFtpbmRleDogbnVtYmVyXTogYW55O1xuICAgIC8qKiBBdXRvbWF0aWMgZmxhdHRlbmluZyBvZiBmaWVsZHMuIEVxdWl2YWxlbnQgdG8gaW1wbGljaXRseSBjYWxsaW5nIGBhcnJheS50byhcImZpZWxkXCIpYCAqL1xuICAgIFtmaWVsZDogc3RyaW5nXTogYW55O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGhpZGRlblxuICogSW1wbGVtZW50YXRpb24gb2YgRGF0YUFycmF5LCBtaW51cyB0aGUgZHluYW1pYyB2YXJpYWJsZSBhY2Nlc3MsIHdoaWNoIGlzIGltcGxlbWVudGVkIHZpYSBwcm94eS5cbiAqICovXG5jbGFzcyBEYXRhQXJyYXlJbXBsPFQ+IGltcGxlbWVudHMgRGF0YUFycmF5PFQ+IHtcbiAgICBwcml2YXRlIHN0YXRpYyBBUlJBWV9GVU5DVElPTlM6IFNldDxzdHJpbmc+ID0gbmV3IFNldChbXG4gICAgICAgIFwiY2hhaW5cIixcbiAgICAgICAgXCJ3aGVyZVwiLFxuICAgICAgICBcImZpbHRlclwiLFxuICAgICAgICBcIm1hcFwiLFxuICAgICAgICBcImZsYXRNYXBcIixcbiAgICAgICAgXCJtdXRhdGVcIixcbiAgICAgICAgXCJzbGljZVwiLFxuICAgICAgICBcImNvbmNhdFwiLFxuICAgICAgICBcImluZGV4T2ZcIixcbiAgICAgICAgXCJsaW1pdFwiLFxuICAgICAgICBcImZpbmRcIixcbiAgICAgICAgXCJmaW5kSW5kZXhcIixcbiAgICAgICAgXCJpbmNsdWRlc1wiLFxuICAgICAgICBcImpvaW5cIixcbiAgICAgICAgXCJzb3J0XCIsXG4gICAgICAgIFwic29ydEluUGxhY2VcIixcbiAgICAgICAgXCJncm91cEJ5XCIsXG4gICAgICAgIFwiZ3JvdXBJblwiLFxuICAgICAgICBcImRpc3RpbmN0XCIsXG4gICAgICAgIFwiZXZlcnlcIixcbiAgICAgICAgXCJzb21lXCIsXG4gICAgICAgIFwibm9uZVwiLFxuICAgICAgICBcImZpcnN0XCIsXG4gICAgICAgIFwibGFzdFwiLFxuICAgICAgICBcInRvXCIsXG4gICAgICAgIFwiaW50b1wiLFxuICAgICAgICBcImx3cmFwXCIsXG4gICAgICAgIFwiZXhwYW5kXCIsXG4gICAgICAgIFwiZm9yRWFjaFwiLFxuICAgICAgICBcImxlbmd0aFwiLFxuICAgICAgICBcInZhbHVlc1wiLFxuICAgICAgICBcImFycmF5XCIsXG4gICAgICAgIFwiZGVmYXVsdENvbXBhcmF0b3JcIixcbiAgICAgICAgXCJ0b1N0cmluZ1wiLFxuICAgICAgICBcInNldHRpbmdzXCIsXG4gICAgXSk7XG5cbiAgICBwcml2YXRlIHN0YXRpYyBBUlJBWV9QUk9YWTogUHJveHlIYW5kbGVyPERhdGFBcnJheUltcGw8YW55Pj4gPSB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKHRhcmdldCwgcHJvcCwgcmVjaWV2ZXIpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcCA9PT0gXCJzeW1ib2xcIikgcmV0dXJuICh0YXJnZXQgYXMgYW55KVtwcm9wXTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBwcm9wID09PSBcIm51bWJlclwiKSByZXR1cm4gdGFyZ2V0LnZhbHVlc1twcm9wXTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHByb3AgPT09IFwiY29uc3RydWN0b3JcIikgcmV0dXJuIHRhcmdldC52YWx1ZXMuY29uc3RydWN0b3I7XG4gICAgICAgICAgICBlbHNlIGlmICghaXNOYU4ocGFyc2VJbnQocHJvcCkpKSByZXR1cm4gdGFyZ2V0LnZhbHVlc1twYXJzZUludChwcm9wKV07XG4gICAgICAgICAgICBlbHNlIGlmIChEYXRhQXJyYXlJbXBsLkFSUkFZX0ZVTkNUSU9OUy5oYXMocHJvcC50b1N0cmluZygpKSkgcmV0dXJuIHRhcmdldFtwcm9wLnRvU3RyaW5nKCldO1xuXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnRvKHByb3ApO1xuICAgICAgICB9LFxuICAgIH07XG5cbiAgICBwdWJsaWMgc3RhdGljIHdyYXA8VD4oYXJyOiBUW10sIGRlZmF1bHRDb21wYXJhdG9yOiBBcnJheUNvbXBhcmF0b3I8YW55PiA9IExpdGVyYWxzLmNvbXBhcmUpOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb3h5PERhdGFBcnJheUltcGw8VD4+KG5ldyBEYXRhQXJyYXlJbXBsPFQ+KGFyciwgZGVmYXVsdENvbXBhcmF0b3IpLCBEYXRhQXJyYXlJbXBsLkFSUkFZX1BST1hZKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGVuZ3RoOiBudW1iZXI7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWVzOiBhbnlbXSwgcHVibGljIGRlZmF1bHRDb21wYXJhdG9yOiBBcnJheUNvbXBhcmF0b3I8YW55PiA9IExpdGVyYWxzLmNvbXBhcmUpIHtcbiAgICAgICAgdGhpcy5sZW5ndGggPSB2YWx1ZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgbHdyYXA8VT4odmFsdWVzOiBVW10pOiBEYXRhQXJyYXk8VT4ge1xuICAgICAgICByZXR1cm4gRGF0YUFycmF5SW1wbC53cmFwKHZhbHVlcywgdGhpcy5kZWZhdWx0Q29tcGFyYXRvcik7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYWluPFU+KG9wOiAoYXJyOiBEYXRhQXJyYXk8VD4pID0+IERhdGFBcnJheTxVPik6IERhdGFBcnJheTxVPiB7XG4gICAgICAgIHJldHVybiBvcCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2hlcmUocHJlZGljYXRlOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcCh0aGlzLnZhbHVlcy5maWx0ZXIocHJlZGljYXRlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlcihwcmVkaWNhdGU6IEFycmF5RnVuYzxULCBib29sZWFuPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLndoZXJlKHByZWRpY2F0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcDxVPihmOiBBcnJheUZ1bmM8VCwgVT4pOiBEYXRhQXJyYXk8VT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcCh0aGlzLnZhbHVlcy5tYXAoZikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmbGF0TWFwPFU+KGY6IEFycmF5RnVuYzxULCBVW10+KTogRGF0YUFycmF5PFU+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGYodGhpcy52YWx1ZXNbaW5kZXhdLCBpbmRleCwgdGhpcy52YWx1ZXMpO1xuICAgICAgICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPT0gMCkgY29udGludWU7XG5cbiAgICAgICAgICAgIGZvciAobGV0IHIgb2YgdmFsdWUpIHJlc3VsdC5wdXNoKHIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubHdyYXAocmVzdWx0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbXV0YXRlKGY6IEFycmF5RnVuYzxULCB2b2lkPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLnZhbHVlcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGYodGhpcy52YWx1ZXNbaW5kZXhdLCBpbmRleCwgdGhpcy52YWx1ZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55O1xuICAgIH1cblxuICAgIHB1YmxpYyBsaW1pdChjb3VudDogbnVtYmVyKTogRGF0YUFycmF5PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubHdyYXAodGhpcy52YWx1ZXMuc2xpY2UoMCwgY291bnQpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2Uoc3RhcnQ/OiBudW1iZXIsIGVuZD86IG51bWJlcik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmx3cmFwKHRoaXMudmFsdWVzLnNsaWNlKHN0YXJ0LCBlbmQpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uY2F0KG90aGVyOiBEYXRhQXJyYXk8VD4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcCh0aGlzLnZhbHVlcy5jb25jYXQob3RoZXIudmFsdWVzKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiB0aGUgZmlyc3QgaW5kZXggb2YgdGhlIGdpdmVuIChvcHRpb25hbGx5IHN0YXJ0aW5nIHRoZSBzZWFyY2gpICovXG4gICAgcHVibGljIGluZGV4T2YoZWxlbWVudDogVCwgZnJvbUluZGV4PzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZEluZGV4KChlKSA9PiB0aGlzLmRlZmF1bHRDb21wYXJhdG9yKGUsIGVsZW1lbnQpID09IDAsIGZyb21JbmRleCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IHNhdGlzZmllcyB0aGUgZ2l2ZW4gcHJlZGljYXRlLiAqL1xuICAgIHB1YmxpYyBmaW5kKHByZWQ6IEFycmF5RnVuYzxULCBib29sZWFuPik6IFQgfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLmZpbmRJbmRleChwcmVkKTtcbiAgICAgICAgaWYgKGluZGV4ID09IC0xKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBlbHNlIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XG4gICAgfVxuXG4gICAgcHVibGljIGZpbmRJbmRleChwcmVkOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4sIGZyb21JbmRleD86IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gZnJvbUluZGV4ID8/IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGlmIChwcmVkKHRoaXMudmFsdWVzW2luZGV4XSwgaW5kZXgsIHRoaXMudmFsdWVzKSkgcmV0dXJuIGluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbmNsdWRlcyhlbGVtZW50OiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4T2YoZWxlbWVudCwgMCkgIT0gLTE7XG4gICAgfVxuXG4gICAgcHVibGljIGpvaW4oc2VwPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwKChzKSA9PiBMaXRlcmFscy50b1N0cmluZyhzKSlcbiAgICAgICAgICAgIC5hcnJheSgpXG4gICAgICAgICAgICAuam9pbihzZXAgPz8gXCIsIFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc29ydDxVPihrZXk/OiBBcnJheUZ1bmM8VCwgVT4sIGRpcmVjdGlvbj86IFwiYXNjXCIgfCBcImRlc2NcIiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlcy5sZW5ndGggPT0gMCkgcmV0dXJuIHRoaXM7XG4gICAgICAgIGxldCByZWFsQ29tcGFyYXRvciA9IGNvbXBhcmF0b3IgPz8gdGhpcy5kZWZhdWx0Q29tcGFyYXRvcjtcbiAgICAgICAgbGV0IHJlYWxLZXkgPSBrZXkgPz8gKChsOiBUKSA9PiBsIGFzIGFueSBhcyBVKTtcblxuICAgICAgICAvLyBBc3NvY2lhdGUgZWFjaCBlbnRyeSB3aXRoIGl0J3MgaW5kZXggZm9yIHRoZSBrZXkgZnVuY3Rpb24sIGFuZCB0aGVuIGRvIGEgbm9ybWFsIHNvcnQuXG4gICAgICAgIGxldCBjb3B5ID0gKFtdIGFzIGFueVtdKS5jb25jYXQodGhpcy5hcnJheSgpKS5tYXAoKGVsZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4geyBpbmRleDogaW5kZXgsIHZhbHVlOiBlbGVtIH07XG4gICAgICAgIH0pO1xuICAgICAgICBjb3B5LnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGxldCBhS2V5ID0gcmVhbEtleShhLnZhbHVlLCBhLmluZGV4LCB0aGlzLnZhbHVlcyk7XG4gICAgICAgICAgICBsZXQgYktleSA9IHJlYWxLZXkoYi52YWx1ZSwgYi5pbmRleCwgdGhpcy52YWx1ZXMpO1xuICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJkZXNjXCIgPyAtcmVhbENvbXBhcmF0b3IoYUtleSwgYktleSkgOiByZWFsQ29tcGFyYXRvcihhS2V5LCBiS2V5KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubHdyYXAoY29weS5tYXAoKGUpID0+IGUudmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc29ydEluUGxhY2U8VT4oXG4gICAgICAgIGtleT86ICh2YWx1ZTogVCkgPT4gVSxcbiAgICAgICAgZGlyZWN0aW9uPzogXCJhc2NcIiB8IFwiZGVzY1wiLFxuICAgICAgICBjb21wYXJhdG9yPzogQXJyYXlDb21wYXJhdG9yPFU+XG4gICAgKTogRGF0YUFycmF5PFQ+IHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCA9PSAwKSByZXR1cm4gdGhpcztcbiAgICAgICAgbGV0IHJlYWxDb21wYXJhdG9yID0gY29tcGFyYXRvciA/PyB0aGlzLmRlZmF1bHRDb21wYXJhdG9yO1xuICAgICAgICBsZXQgcmVhbEtleSA9IGtleSA/PyAoKGw6IFQpID0+IGwgYXMgYW55IGFzIFUpO1xuXG4gICAgICAgIHRoaXMudmFsdWVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGxldCBhS2V5ID0gcmVhbEtleShhKTtcbiAgICAgICAgICAgIGxldCBiS2V5ID0gcmVhbEtleShiKTtcblxuICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBcImRlc2NcIiA/IC1yZWFsQ29tcGFyYXRvcihhS2V5LCBiS2V5KSA6IHJlYWxDb21wYXJhdG9yKGFLZXksIGJLZXkpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ3JvdXBCeTxVPihrZXk6IEFycmF5RnVuYzxULCBVPiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTx7IGtleTogVTsgcm93czogVFtdIH0+IHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCA9PSAwKSByZXR1cm4gdGhpcy5sd3JhcChbXSk7XG5cbiAgICAgICAgLy8gSmF2YVNjcmlwdCBzdWNrcyBhbmQgd2UgY2FuJ3QgbWFrZSBoYXNoIG1hcHMgb3ZlciBhcmJpdHJhcnkgdHlwZXMgKG9ubHkgc3RyaW5ncy9pbnRzKSwgc29cbiAgICAgICAgLy8gd2UgZG8gYSBwb29yIG1hbiBhbGdvcml0aG0gd2hlcmUgd2UgU09SVCwgZm9sbG93ZWQgYnkgZ3JvdXBpbmcuXG4gICAgICAgIGxldCBpbnRlcm1lZGlhdGUgPSB0aGlzLnNvcnQoa2V5LCBcImFzY1wiLCBjb21wYXJhdG9yKTtcbiAgICAgICAgY29tcGFyYXRvciA9IGNvbXBhcmF0b3IgPz8gdGhpcy5kZWZhdWx0Q29tcGFyYXRvcjtcblxuICAgICAgICBsZXQgcmVzdWx0OiB7IGtleTogVTsgcm93czogVFtdIH1bXSA9IFtdO1xuICAgICAgICBsZXQgY3VycmVudFJvdyA9IFtpbnRlcm1lZGlhdGVbMF1dO1xuICAgICAgICBsZXQgY3VycmVudCA9IGtleShpbnRlcm1lZGlhdGVbMF0sIDAsIGludGVybWVkaWF0ZS52YWx1ZXMpO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgaW50ZXJtZWRpYXRlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgbGV0IG5ld0tleSA9IGtleShpbnRlcm1lZGlhdGVbaW5kZXhdLCBpbmRleCwgaW50ZXJtZWRpYXRlLnZhbHVlcyk7XG4gICAgICAgICAgICBpZiAoY29tcGFyYXRvcihjdXJyZW50LCBuZXdLZXkpICE9IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogY3VycmVudCwgcm93czogY3VycmVudFJvdyB9KTtcbiAgICAgICAgICAgICAgICBjdXJyZW50ID0gbmV3S2V5O1xuICAgICAgICAgICAgICAgIGN1cnJlbnRSb3cgPSBbaW50ZXJtZWRpYXRlW2luZGV4XV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRSb3cucHVzaChpbnRlcm1lZGlhdGVbaW5kZXhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaCh7IGtleTogY3VycmVudCwgcm93czogY3VycmVudFJvdyB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcChyZXN1bHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBncm91cEluPFU+KGtleTogQXJyYXlGdW5jPExvd2VzdEtleTxUPiwgVT4sIGNvbXBhcmF0b3I/OiBBcnJheUNvbXBhcmF0b3I8VT4pOiBEYXRhQXJyYXk8SW5ncm91cGVkPFUsIFQ+PiB7XG4gICAgICAgIGlmIChHcm91cGluZ3MuaXNHcm91cGluZyh0aGlzLnZhbHVlcykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1hcCgodikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogKHYgYXMgYW55KS5rZXksXG4gICAgICAgICAgICAgICAgICAgIHJvd3M6IERhdGFBcnJheS53cmFwKCh2IGFzIGFueSkucm93cykuZ3JvdXBJbihrZXkgYXMgYW55LCBjb21wYXJhdG9yIGFzIGFueSksXG4gICAgICAgICAgICAgICAgfSBhcyBhbnk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdyb3VwQnkoa2V5IGFzIGFueSwgY29tcGFyYXRvcikgYXMgYW55O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRpc3RpbmN0PFU+KGtleT86IEFycmF5RnVuYzxULCBVPiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlcy5sZW5ndGggPT0gMCkgcmV0dXJuIHRoaXM7XG4gICAgICAgIGxldCByZWFsS2V5ID0ga2V5ID8/ICgoeCkgPT4geCBhcyBhbnkgYXMgVSk7XG5cbiAgICAgICAgLy8gRm9yIHNpbWlsYXIgcmVhc29ucyB0byBncm91cEJ5LCBkbyBhIHNvcnQgYW5kIHRha2UgdGhlIGZpcnN0IGVsZW1lbnQgb2YgZWFjaCBibG9jay5cbiAgICAgICAgbGV0IGludGVybWVkaWF0ZSA9IHRoaXMubWFwKCh4LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsga2V5OiByZWFsS2V5KHgsIGluZGV4LCB0aGlzLnZhbHVlcyksIHZhbHVlOiB4IH07XG4gICAgICAgIH0pLnNvcnQoKHgpID0+IHgua2V5LCBcImFzY1wiLCBjb21wYXJhdG9yKTtcbiAgICAgICAgY29tcGFyYXRvciA9IGNvbXBhcmF0b3IgPz8gdGhpcy5kZWZhdWx0Q29tcGFyYXRvcjtcblxuICAgICAgICBsZXQgcmVzdWx0OiBUW10gPSBbaW50ZXJtZWRpYXRlWzBdLnZhbHVlXTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IGludGVybWVkaWF0ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGlmIChjb21wYXJhdG9yKGludGVybWVkaWF0ZVtpbmRleCAtIDFdLmtleSwgaW50ZXJtZWRpYXRlW2luZGV4XS5rZXkpICE9IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChpbnRlcm1lZGlhdGVbaW5kZXhdLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmx3cmFwKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGV2ZXJ5KGY6IEFycmF5RnVuYzxULCBib29sZWFuPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZXZlcnkoZik7XG4gICAgfVxuXG4gICAgcHVibGljIHNvbWUoZjogQXJyYXlGdW5jPFQsIGJvb2xlYW4+KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5zb21lKGYpO1xuICAgIH1cblxuICAgIHB1YmxpYyBub25lKGY6IEFycmF5RnVuYzxULCBib29sZWFuPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZXZlcnkoKHYsIGksIGEpID0+ICFmKHYsIGksIGEpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlyc3QoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5sZW5ndGggPiAwID8gdGhpcy52YWx1ZXNbMF0gOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBsYXN0KCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMubGVuZ3RoID4gMCA/IHRoaXMudmFsdWVzW3RoaXMudmFsdWVzLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyB0byhrZXk6IHN0cmluZyk6IERhdGFBcnJheTxhbnk+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogYW55W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgdGhpcy52YWx1ZXMpIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNoaWxkW2tleV07XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkgY29udGludWU7XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSB8fCBEYXRhQXJyYXkuaXNEYXRhQXJyYXkodmFsdWUpKSB2YWx1ZS5mb3JFYWNoKCh2KSA9PiByZXN1bHQucHVzaCh2KSk7XG4gICAgICAgICAgICBlbHNlIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmx3cmFwKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGludG8oa2V5OiBzdHJpbmcpOiBEYXRhQXJyYXk8YW55PiB7XG4gICAgICAgIGxldCByZXN1bHQ6IGFueVtdID0gW107XG4gICAgICAgIGZvciAobGV0IGNoaWxkIG9mIHRoaXMudmFsdWVzKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBjaGlsZFtrZXldO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcChyZXN1bHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBhbmQoa2V5OiBzdHJpbmcpOiBEYXRhQXJyYXk8YW55PiB7XG4gICAgICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICAgICAgbGV0IHF1ZXVlOiBhbnlbXSA9IChbXSBhcyBhbnlbXSkuY29uY2F0KHRoaXMudmFsdWVzKTtcblxuICAgICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IG5leHQgPSBxdWV1ZS5wb3AoKTtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IG5leHRba2V5XTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIGNvbnRpbnVlO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB2YWx1ZS5mb3JFYWNoKCh2KSA9PiBxdWV1ZS5wdXNoKHYpKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0YUFycmF5SW1wbCkgdmFsdWUuZm9yRWFjaCgodikgPT4gcXVldWUucHVzaCh2KSk7XG4gICAgICAgICAgICBlbHNlIHF1ZXVlLnB1c2godmFsdWUpO1xuXG4gICAgICAgICAgICByZXN1bHQucHVzaChuZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmx3cmFwKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGZvckVhY2goZjogQXJyYXlGdW5jPFQsIHZvaWQ+KSB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLnZhbHVlcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGYodGhpcy52YWx1ZXNbaW5kZXhdLCBpbmRleCwgdGhpcy52YWx1ZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFycmF5KCk6IFRbXSB7XG4gICAgICAgIHJldHVybiAoW10gYXMgYW55W10pLmNvbmNhdCh0aGlzLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzW1N5bWJvbC5pdGVyYXRvcl0oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFwiW1wiICsgdGhpcy52YWx1ZXMuam9pbihcIiwgXCIpICsgXCJdXCI7XG4gICAgfVxufVxuXG4vKiogUHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGdlbmVyYXRpbmcgZGF0YSBhcnJheXMuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgRGF0YUFycmF5IHtcbiAgICAvKiogQ3JlYXRlIGEgbmV3IERhdGF2aWV3IGRhdGEgYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHdyYXA8VD4ocmF3OiBUW10gfCBEYXRhQXJyYXk8VD4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICBpZiAoaXNEYXRhQXJyYXkocmF3KSkgcmV0dXJuIHJhdztcbiAgICAgICAgcmV0dXJuIERhdGFBcnJheUltcGwud3JhcChyYXcpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBuZXcgRGF0YUFycmF5IGZyb20gYW4gaXRlcmFibGUgb2JqZWN0LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBmcm9tPFQ+KHJhdzogSXRlcmFibGU8VD4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICBpZiAoaXNEYXRhQXJyYXkocmF3KSkgcmV0dXJuIHJhdztcblxuICAgICAgICBsZXQgZGF0YSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBlbGVtIG9mIHJhdykgZGF0YS5wdXNoKGVsZW0pO1xuICAgICAgICByZXR1cm4gRGF0YUFycmF5SW1wbC53cmFwKGRhdGEpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGEgZGF0YSBhcnJheS4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNEYXRhQXJyYXkob2JqOiBhbnkpOiBvYmogaXMgRGF0YUFycmF5PGFueT4ge1xuICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0YUFycmF5SW1wbDtcbiAgICB9XG59XG5cbi8vIEEgc2NhcnkgbG9va2luZyBwb2x5ZmlsbCwgc3VyZSwgYnV0IGl0IGZpeGVzIHVwIGRhdGEgYXJyYXkvYXJyYXkgaW50ZXJvcCBmb3IgdXMuXG5jb25zdCBvbGRBcnJheUlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuQXJyYXkuaXNBcnJheSA9IChhcmcpOiBhcmcgaXMgYW55W10gPT4ge1xuICAgIHJldHVybiBvbGRBcnJheUlzQXJyYXkoYXJnKSB8fCBEYXRhQXJyYXkuaXNEYXRhQXJyYXkoYXJnKTtcbn07XG4iLCAiLyoqIEBpZ25vcmUgKi9cbi8vISBVdGlsaXRpZXMgZm9yIGZvcmNpbmcgdHlwZXMgdG8gYmUgb2YgYSBzcGVjaWZpYyB0eXBlIG9yIHJldHVybmluZyAndW5kZWZpbmVkJyBpZiBub3QsIGFsbG93aW5nIGZvciBtdWNoIG1vcmUgY29uY2lzZSB0eXBpbmcuXG5cbmltcG9ydCB7IExpbmssIExpdGVyYWwsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgUFJJTUlUSVZFUyB9IGZyb20gXCJleHByZXNzaW9uL3BhcnNlclwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIER1cmF0aW9uIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyByZW5kZXJNaW5pbWFsRGF0ZSB9IGZyb20gXCJ1dGlscy9ub3JtYWxpemVyc1wiO1xuXG5leHBvcnQgbmFtZXNwYWNlIENvZXJjZSB7XG4gICAgLyoqIENvZXJjZXMgY29tbW9uIHR5cGVzIHRvIHN0cmluZyBvciBvdGhlcndpc2UgdW5kZWZpbmVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzdHJpbmcodmFsdWU6IExpdGVyYWwpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB3cmFwcGVkID0gTGl0ZXJhbHMud3JhcFZhbHVlKHZhbHVlKTtcbiAgICAgICAgaWYgKCF3cmFwcGVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyB3cmFwcGVkLnZhbHVlO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVuZGVyTWluaW1hbERhdGUod3JhcHBlZC52YWx1ZSwgXCJ5eXl5LU1NLWRkXCIsIFwieXl5eS1NTS1kZCBISDptbTpzc1wiKTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFya2Rvd24oKTtcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyB3cmFwcGVkLnZhbHVlO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvZXJjZXMgYm9vbGVhbnMgYW5kIHN0cmluZy1ib29sZWFucy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gYm9vbGVhbih2YWx1ZTogTGl0ZXJhbCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIikgcmV0dXJuIHZhbHVlO1xuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gXCJ0cnVlXCIpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gXCJmYWxzZVwiKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ29lcmNlcyBudW1iZXJzIGFuZCBzdHJpbmdzIHRvIG51bWJlcnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG51bWJlcih2YWx1ZTogTGl0ZXJhbCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICAgICAgICAgIGlmICghaXNOYU4ocGFyc2VkKSkgcmV0dXJuIHBhcnNlZDtcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIENvZXJjZXMgZGF0ZXMgYW5kIHN0cmluZ3MgaW50byBkYXRlcy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZGF0ZSh2YWx1ZTogTGl0ZXJhbCk6IERhdGVUaW1lIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZVRpbWUpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBQUklNSVRJVkVTLmRhdGVQbHVzLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWQuc3RhdHVzKSByZXR1cm4gcGFyc2VkLnZhbHVlO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ29lcmNlcyBkdXJhdGlvbnMgYW5kIHN0cmluZ3MgaW50byBkdXJhdGlvbnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGR1cmF0aW9uKHZhbHVlOiBMaXRlcmFsKTogRHVyYXRpb24gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEdXJhdGlvbikgcmV0dXJuIHZhbHVlO1xuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IFBSSU1JVElWRVMuZHVyYXRpb24ucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgaWYgKHBhcnNlZC5zdGF0dXMpIHJldHVybiBwYXJzZWQudmFsdWU7XG4gICAgICAgICAgICBlbHNlIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKiBDb2VyY2VzIGxpbmtzIGFuZCBzdHJpbmdzIGludG8gbGlua3MuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGxpbmsodmFsdWU6IExpdGVyYWwpOiBMaW5rIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTGluaykgcmV0dXJuIHZhbHVlO1xuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IFBSSU1JVElWRVMuZW1iZWRMaW5rLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWQuc3RhdHVzKSByZXR1cm4gcGFyc2VkLnZhbHVlO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ29lcmNlcyBhbnl0aGluZyBpbnRvIGFuIGFycmF5LCBieSBjb252ZXJ0aW5nIG5vbi1hcnJheXMgaW50byB1bml0IGxlbmd0aCBhcnJheXMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGFycmF5KHZhbHVlOiBMaXRlcmFsKTogTGl0ZXJhbFtdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gICAgICAgIGVsc2UgcmV0dXJuIFt2YWx1ZV07XG4gICAgfVxufVxuIiwgIi8qKiBBIHByb21pc2UgdGhhdCBjYW4gYmUgcmVzb2x2ZWQgZGlyZWN0bHkuICovXG5leHBvcnQgdHlwZSBEZWZlcnJlZDxUPiA9IFByb21pc2U8VD4gJiB7XG4gICAgcmVzb2x2ZTogKHZhbHVlOiBUKSA9PiB2b2lkO1xuICAgIHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWQ7XG59O1xuXG4vKiogQ3JlYXRlIGEgbmV3IGRlZmVycmVkIG9iamVjdCwgd2hpY2ggaXMgYSByZXNvbHZhYmxlIHByb21pc2UuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmZXJyZWQ8VD4oKTogRGVmZXJyZWQ8VD4ge1xuICAgIGxldCByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQ7XG4gICAgbGV0IHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG4gICAgICAgIHJlc29sdmUgPSByZXM7XG4gICAgICAgIHJlamVjdCA9IHJlajtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmVycmVkID0gcHJvbWlzZSBhcyBhbnkgYXMgRGVmZXJyZWQ8VD47XG4gICAgZGVmZXJyZWQucmVzb2x2ZSA9IHJlc29sdmUhO1xuICAgIGRlZmVycmVkLnJlamVjdCA9IHJlamVjdCE7XG5cbiAgICByZXR1cm4gZGVmZXJyZWQ7XG59XG4iLCAiaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IERhdGFzdG9yZSB9IGZyb20gXCJpbmRleC9kYXRhc3RvcmVcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCIuL3Jlc3VsdFwiO1xuaW1wb3J0IHsgTWFya2Rvd25Db2RlYmxvY2ssIE1hcmtkb3duU2VjdGlvbiB9IGZyb20gXCJpbmRleC90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgRGVmZXJyZWQsIGRlZmVycmVkIH0gZnJvbSBcInV0aWxzL2RlZmVycmVkXCI7XG5pbXBvcnQgeyBTY3JpcHRMYW5ndWFnZSwgYXN5bmNFdmFsSW5Db250ZXh0LCB0cmFuc3BpbGUgfSBmcm9tIFwidXRpbHMvamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgbGluZVJhbmdlIH0gZnJvbSBcInV0aWxzL25vcm1hbGl6ZXJzXCI7XG5pbXBvcnQgeyBURmlsZSB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGggfSBmcm9tIFwicHJlYWN0XCI7XG5cbi8qKiBBIHNjcmlwdCB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBsb2FkZWQuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRpbmdTY3JpcHQge1xuICAgIHR5cGU6IFwibG9hZGluZ1wiO1xuXG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHByb21pc2U6IERlZmVycmVkPFJlc3VsdDxhbnksIHN0cmluZz4+O1xufVxuXG4vKiogQSBzY3JpcHQgdGhhdCBoYXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVkU2NyaXB0IHtcbiAgICB0eXBlOiBcImxvYWRlZFwiO1xuXG4gICAgcGF0aDogc3RyaW5nO1xuICAgIG9iamVjdDogYW55O1xufVxuXG5leHBvcnQgdHlwZSBEYXRhY29yZVNjcmlwdCA9IExvYWRpbmdTY3JpcHQgfCBMb2FkZWRTY3JpcHQ7XG5cbi8qKiBBIHNpbXBsZSBjYWNoaW5nIHNjcmlwdCBsb2FkZXIgdGhhdCBjYW4gbG9hZCBhbnkgREFHIG9mIHNjcmlwdCBkZXBlbmRlbmNpZXMuICovXG5leHBvcnQgY2xhc3MgU2NyaXB0Q2FjaGUge1xuICAgIC8qKiBBbGwgb2YgdGhlIHRhZ3Mgd2UgcmVjb2duaXplIGZvciBzY3JpcHRzLiAqL1xuICAgIHByaXZhdGUgc3RhdGljIFNDUklQVF9MQU5HVUFHRVM6IFJlY29yZDxzdHJpbmcsIFNjcmlwdExhbmd1YWdlPiA9IHtcbiAgICAgICAganM6IFwianNcIixcbiAgICAgICAgamF2YXNjcmlwdDogXCJqc1wiLFxuICAgICAgICBkYXRhY29yZWpzOiBcImpzXCIsXG4gICAgICAgIHR5cGVzY3JpcHQ6IFwidHNcIixcbiAgICAgICAgdHM6IFwidHNcIixcbiAgICAgICAgZGF0YWNvcmV0czogXCJ0c1wiLFxuICAgICAgICBqc3g6IFwianN4XCIsXG4gICAgICAgIGRhdGFjb3JlanN4OiBcImpzeFwiLFxuICAgICAgICB0c3g6IFwidHN4XCIsXG4gICAgICAgIGRhdGFjb3JldHN4OiBcInRzeFwiLFxuICAgIH07XG5cbiAgICAvKiogQWxsIG9mIHRoZSBkaXJlY3QgZmlsZSBleHRlbnNpb25zIHdlIGNhbiBsb2FkLiAqL1xuICAgIHByaXZhdGUgc3RhdGljIEZJTEVfRVhURU5TSU9OUzogUmVjb3JkPHN0cmluZywgU2NyaXB0TGFuZ3VhZ2U+ID0ge1xuICAgICAgICB0c3g6IFwidHN4XCIsXG4gICAgICAgIGpzeDogXCJqc3hcIixcbiAgICAgICAganM6IFwianNcIixcbiAgICAgICAgdHM6IFwidHNcIixcbiAgICB9O1xuXG4gICAgLyoqIENhY2hlcyBzY3JpcHRzIGJ5IGZ1bGx5IHF1YWxpZmllZCBwYXRoLiAqL1xuICAgIHB1YmxpYyBzY3JpcHRzOiBNYXA8c3RyaW5nLCBEYXRhY29yZVNjcmlwdD4gPSBuZXcgTWFwPHN0cmluZywgRGF0YWNvcmVTY3JpcHQ+KCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogRGF0YXN0b3JlKSB7fVxuXG4gICAgLyoqIExvYWQgdGhlIGdpdmVuIHNjcmlwdCBhdCB0aGUgZ2l2ZW4gcGF0aCwgcmVjdXJzaXZlbHkgbG9hZGluZyBhbnkgc3Vic2NyaXB0cyBhcyB3ZWxsLiAgKi9cbiAgICBwdWJsaWMgYXN5bmMgbG9hZChwYXRoOiBzdHJpbmcgfCBMaW5rLCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxSZXN1bHQ8YW55LCBzdHJpbmc+PiB7XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGUgY2FjaGUgZmlyc3QuXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMucGF0aGtleShwYXRoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFNjcmlwdCA9IHRoaXMuc2NyaXB0cy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKGN1cnJlbnRTY3JpcHQpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50U2NyaXB0LnR5cGUgPT09IFwibG9hZGVkXCIpIHJldHVybiBSZXN1bHQuc3VjY2VzcyhjdXJyZW50U2NyaXB0Lm9iamVjdCk7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IElmIHdlIHRyeSB0byBsb2FkIGFuIGFscmVhZHktbG9hZGluZyBzY3JpcHQsIHdlIGFyZSBhbG1vc3QgY2VydGFpbmx5IGRvaW5nIHNvbWV0aGluZ1xuICAgICAgICAgICAgLy8gd2VpcmQuIEVpdGhlciB0aGUgY2FsbGVyIGlzIG5vdCBgYXdhaXRgLWluZyB0aGUgbG9hZCBhbmQgbG9hZGluZyBtdWx0aXBsZSB0aW1lcywgT1JcbiAgICAgICAgICAgIC8vIHdlIGFyZSBpbiBhIGByZXF1aXJlKClgIGxvb3AuIEVpdGhlciB3YXksIHdlJ2xsIGVycm9yIG91dCBmb3Igbm93IHNpbmNlIHdlIGNhbid0IGhhbmRsZVxuICAgICAgICAgICAgLy8gZWl0aGVyIGNhc2UgY3VycmVudGx5LlxuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKFxuICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gaW1wb3J0IHNjcmlwdCBcIiR7cGF0aC50b1N0cmluZygpfVwiLCBhcyBpdCBpcyBpbiB0aGUgbWlkZGxlIG9mIGJlaW5nIGxvYWRlZC4gRG8geW91IGhhdmVcbiAgICAgICAgICAgICAgICAgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGluIHlvdXIgcmVxdWlyZSgpIGNhbGxzPyBUaGUgY3VycmVudGx5IGxvYWRlZCBvciBsb2FkaW5nIHNjcmlwdHMgYXJlOiBcbiAgICAgICAgICAgICAgICAgJHtBcnJheS5mcm9tKHRoaXMuc2NyaXB0cy52YWx1ZXMoKSlcbiAgICAgICAgICAgICAgICAgICAgIC5tYXAoKHNjKSA9PiBcIlxcdFwiICsgc2MucGF0aClcbiAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWNoZSBoYXMgbWlzc2VkLCBzbyBhZGQgb3Vyc2VsdmVzIHRvIHRoZSBjYWNoZSBhbmQgdHJ5IGFuZCBsb2FkIGl0IGRpcmVjdGx5LlxuICAgICAgICBjb25zdCBkZWZlcnJhbCA9IGRlZmVycmVkPFJlc3VsdDxhbnksIHN0cmluZz4+KCk7XG4gICAgICAgIHRoaXMuc2NyaXB0cy5zZXQoa2V5LCB7IHR5cGU6IFwibG9hZGluZ1wiLCBwcm9taXNlOiBkZWZlcnJhbCwgcGF0aDoga2V5IH0pO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMubG9hZFVuY2FjaGVkKHBhdGgsIGNvbnRleHQpO1xuICAgICAgICBkZWZlcnJhbC5yZXNvbHZlKHJlc3VsdCk7XG5cbiAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICB0aGlzLnNjcmlwdHMuc2V0KGtleSwgeyB0eXBlOiBcImxvYWRlZFwiLCBwYXRoOiBrZXksIG9iamVjdDogcmVzdWx0LnZhbHVlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zY3JpcHRzLmRlbGV0ZShrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKiogTG9hZCBhIHNjcmlwdCwgZGlyZWN0bHkgYnlwYXNzaW5nIHRoZSBjYWNoZS4gKi9cbiAgICBwcml2YXRlIGFzeW5jIGxvYWRVbmNhY2hlZChwYXRoOiBzdHJpbmcgfCBMaW5rLCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxSZXN1bHQ8YW55LCBzdHJpbmc+PiB7XG4gICAgICAgIGNvbnN0IG1heWJlU291cmNlID0gYXdhaXQgdGhpcy5yZXNvbHZlU291cmNlKHBhdGgpO1xuICAgICAgICBpZiAoIW1heWJlU291cmNlLnN1Y2Nlc3NmdWwpIHJldHVybiBtYXliZVNvdXJjZTtcblxuICAgICAgICAvLyBUcmFuc3BpbGUgdG8gdmFuaWxsYSBqYXZhc2NyaXB0IGZpcnN0Li4uXG4gICAgICAgIGNvbnN0IHsgY29kZSwgbGFuZ3VhZ2UgfSA9IG1heWJlU291cmNlLnZhbHVlO1xuICAgICAgICBsZXQgYmFzaWM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBiYXNpYyA9IHRyYW5zcGlsZShjb2RlLCBsYW5ndWFnZSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYEZhaWxlZCB0byBpbXBvcnQgJHtwYXRoLnRvU3RyaW5nKCl9IHdoaWxlIHRyYW5zcGlsaW5nIGZyb20gJHtsYW5ndWFnZX06ICR7ZXJyb3J9YCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGVuIGZpbmFsbHkgZXhlY3V0ZSB0aGUgc2NyaXB0IHRvICdsb2FkJyBpdC5cbiAgICAgICAgY29uc3QgZmluYWxDb250ZXh0ID0gT2JqZWN0LmFzc2lnbih7IGg6IGgsIEZyYWdtZW50OiBGcmFnbWVudCB9LCBjb250ZXh0KTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2Vzcyhhd2FpdCBhc3luY0V2YWxJbkNvbnRleHQoYmFzaWMsIGZpbmFsQ29udGV4dCkpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBGYWlsZWQgdG8gZXhlY3V0ZSBzY3JpcHQgJyR7cGF0aC50b1N0cmluZygpfSc6ICR7ZXJyb3J9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTm9ybWFsaXplIGEgcGF0aCBvciBsaW5rIHRvIGEgdGV4dHVhbCBwYXRoLiAqL1xuICAgIHByaXZhdGUgcGF0aGtleShwYXRoOiBzdHJpbmcgfCBMaW5rKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHBhdGggaW5zdGFuY2VvZiBMaW5rKSByZXR1cm4gcGF0aC5vYnNpZGlhbkxpbmsoKTtcbiAgICAgICAgZWxzZSByZXR1cm4gcGF0aDtcbiAgICB9XG5cbiAgICAvKiogQXR0ZW1wdHMgdG8gcmVzb2x2ZSB0aGUgc291cmNlIHRvIGxvYWQgZ2l2ZW4gYSBwYXRoIG9yIGxpbmsgdG8gYSBtYXJrZG93biBzZWN0aW9uLiAqL1xuICAgIHByaXZhdGUgYXN5bmMgcmVzb2x2ZVNvdXJjZShcbiAgICAgICAgcGF0aDogc3RyaW5nIHwgTGlua1xuICAgICk6IFByb21pc2U8UmVzdWx0PHsgY29kZTogc3RyaW5nOyBsYW5ndWFnZTogU2NyaXB0TGFuZ3VhZ2UgfSwgc3RyaW5nPj4ge1xuICAgICAgICBjb25zdCBvYmplY3QgPSB0aGlzLnN0b3JlLnJlc29sdmVMaW5rKHBhdGgpO1xuICAgICAgICBpZiAoIW9iamVjdCkgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKFwiQ291bGQgbm90IGZpbmQgYSBzY3JpcHQgYXQgdGhlIGdpdmVuIHBhdGg6IFwiICsgcGF0aC50b1N0cmluZygpKTtcblxuICAgICAgICBjb25zdCB0ZmlsZSA9IHRoaXMuc3RvcmUudmF1bHQuZ2V0RmlsZUJ5UGF0aChvYmplY3QuJGZpbGUhKTtcbiAgICAgICAgaWYgKCF0ZmlsZSkgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBGaWxlIFwiJHtvYmplY3QuJGZpbGV9XCIgbm90IGZvdW5kLmApO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBKUyBmaWxlIHdlIHNob3VsZCBsb2FkIGRpcmVjdGx5LlxuICAgICAgICBpZiAodGZpbGUuZXh0ZW5zaW9uLnRvTG9jYWxlTG93ZXJDYXNlKCkgaW4gU2NyaXB0Q2FjaGUuRklMRV9FWFRFTlNJT05TKSB7XG4gICAgICAgICAgICBjb25zdCBsYW5ndWFnZSA9IFNjcmlwdENhY2hlLkZJTEVfRVhURU5TSU9OU1t0ZmlsZS5leHRlbnNpb24udG9Mb2NhbGVMb3dlckNhc2UoKV07XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29kZSA9IGF3YWl0IHRoaXMuc3RvcmUudmF1bHQuY2FjaGVkUmVhZCh0ZmlsZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHsgY29kZSwgbGFuZ3VhZ2UgfSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShcIkZhaWxlZCB0byBsb2FkIGphdmFzY3JpcHQvdHlwZXNjcmlwdCBzb3VyY2UgZmlsZTogXCIgKyBlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgb2JqZWN0IGlzIGEgbWFya2Rvd24gc2VjdGlvbiwgc2VhcmNoIGZvciBhbnkgamF2YXNjcmlwdCBjb2RlYmxvY2tzOyBvdGhlcndpc2UsIGNoZWNrIGlmIGl0IGlzIGEgZnVsbCBzY3JpcHQgZmlsZS5cbiAgICAgICAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIE1hcmtkb3duU2VjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVCbG9jayA9IG9iamVjdC4kYmxvY2tzXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoYik6IGIgaXMgTWFya2Rvd25Db2RlYmxvY2sgPT4gYi4kdHlwZSA9PT0gXCJjb2RlYmxvY2tcIilcbiAgICAgICAgICAgICAgICAuZmluZCgoY2IpID0+XG4gICAgICAgICAgICAgICAgICAgIGNiLiRsYW5ndWFnZXMuc29tZSgobGFuZ3VhZ2UpID0+IGxhbmd1YWdlLnRvTG9jYWxlTG93ZXJDYXNlKCkgaW4gU2NyaXB0Q2FjaGUuU0NSSVBUX0xBTkdVQUdFUylcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIW1heWJlQmxvY2spXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKFwiQ291bGQgbm90IGZpbmQgYSBzY3JpcHQgaW4gdGhlIGdpdmVuIG1hcmtkb3duIHNlY3Rpb246IFwiICsgcGF0aC50b1N0cmluZygpKTtcblxuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPVxuICAgICAgICAgICAgICAgIFNjcmlwdENhY2hlLlNDUklQVF9MQU5HVUFHRVNbXG4gICAgICAgICAgICAgICAgICAgIG1heWJlQmxvY2suJGxhbmd1YWdlcy5maW5kKChsYW5nKSA9PiBsYW5nLnRvTG9jYWxlTG93ZXJDYXNlKCkgaW4gU2NyaXB0Q2FjaGUuU0NSSVBUX0xBTkdVQUdFUykhXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5yZWFkQ29kZWJsb2NrKHRmaWxlLCBtYXliZUJsb2NrKSkubWFwKChjb2RlKSA9PiAoeyBjb2RlLCBsYW5ndWFnZSB9KSk7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqZWN0IGluc3RhbmNlb2YgTWFya2Rvd25Db2RlYmxvY2spIHtcbiAgICAgICAgICAgIGNvbnN0IG1heWJlTGFuZ3VhZ2UgPSBvYmplY3QuJGxhbmd1YWdlcy5maW5kKFxuICAgICAgICAgICAgICAgIChsYW5nKSA9PiBsYW5nLnRvTG9jYWxlTG93ZXJDYXNlKCkgaW4gU2NyaXB0Q2FjaGUuU0NSSVBUX0xBTkdVQUdFU1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICghbWF5YmVMYW5ndWFnZSlcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYFRoZSBjb2RlYmxvY2sgcmVmZXJlbmNlZCBieSAnJHtwYXRofScgaXMgbm90IGEgSlMvVFMgY29kZWJsb2NrLmApO1xuXG4gICAgICAgICAgICBjb25zdCBsYW5ndWFnZSA9IFNjcmlwdENhY2hlLlNDUklQVF9MQU5HVUFHRVNbbWF5YmVMYW5ndWFnZV07XG4gICAgICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMucmVhZENvZGVibG9jayh0ZmlsZSwgb2JqZWN0KSkubWFwKChjb2RlKSA9PiAoeyBjb2RlLCBsYW5ndWFnZSB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYENhbm5vdCBpbXBvcnQgJyR7cGF0aC50b1N0cmluZygpfTogbm90IGEgSlMvVFMgZmlsZSBvciBjb2RlYmxvY2sgcmVmZXJlbmNlLmApO1xuICAgIH1cblxuICAgIC8qKiBSZWFkIHRoZSBjb250ZW50cyBvZiBhIGNvZGVibG9jayBmcm9tIGEgZmlsZS4gKi9cbiAgICBwcml2YXRlIGFzeW5jIHJlYWRDb2RlYmxvY2soZmlsZTogVEZpbGUsIGJsb2NrOiBNYXJrZG93bkNvZGVibG9jayk6IFByb21pc2U8UmVzdWx0PHN0cmluZywgc3RyaW5nPj4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmF3ID0gbGluZVJhbmdlKFxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RvcmUudmF1bHQuY2FjaGVkUmVhZChmaWxlKSxcbiAgICAgICAgICAgICAgICBibG9jay4kY29udGVudFBvc2l0aW9uLnN0YXJ0LFxuICAgICAgICAgICAgICAgIGJsb2NrLiRjb250ZW50UG9zaXRpb24uZW5kXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoYmxvY2suJHN0eWxlID09PSBcImZlbmNlZFwiKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MocmF3KTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgIHJhd1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKChsaW5lKSA9PiBsaW5lLnRyaW1TdGFydCgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBGYWlsZWQgdG8gcmVhZCBhIGNvZGVibG9jayBmcm9tICR7ZmlsZS5wYXRofTogJHtlcnJvcn1gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBDaGVja2JveCwgT21pdHRhYmxlLCBTbGlkZXIsIFN3aXRjaCB9IGZyb20gXCJhcGkvdWkvYmFzaWNzXCI7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gXCJleHByZXNzaW9uL2ZpZWxkXCI7XG5pbXBvcnQgeyBEaXNwYXRjaCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgdXNlRmluYWxpemVyLCB1c2VTZXRGaWVsZCB9IGZyb20gXCJ1dGlscy9maWVsZHNcIjtcbmltcG9ydCB7IEVkaXRhYmxlQWN0aW9uLCBVbmNvbnRyb2xsZWRUZXh0RWRpdGFibGUgfSBmcm9tIFwiLi9lZGl0YWJsZVwiO1xuaW1wb3J0IFNlbGVjdCBmcm9tIFwicmVhY3Qtc2VsZWN0XCI7XG5leHBvcnQgZnVuY3Rpb24gRmllbGRDaGVja2JveChcbiAgICBwcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgICAgIGZpZWxkOiBGaWVsZDtcbiAgICAgICAgZGVmYXVsdENoZWNrZWQ/OiBib29sZWFuO1xuICAgICAgICBkaXNwYXRjaDogRGlzcGF0Y2g8RWRpdGFibGVBY3Rpb248RmllbGQ+PjtcbiAgICB9ICYgUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+XG4pIHtcbiAgICBjb25zdCB7IGZpZWxkLCBkZWZhdWx0Q2hlY2tlZCA9IGZhbHNlLCBkaXNwYXRjaCwgLi4ucmVzdCB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgIGRpc2FibGVkPXt1bmRlZmluZWR9XG4gICAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17KGZpZWxkPy52YWx1ZSA/PyBkZWZhdWx0Q2hlY2tlZCkgYXMgYm9vbGVhbn1cbiAgICAgICAgICAgIG9uQ2hlY2tDaGFuZ2U9e3VzZVNldEZpZWxkKGZpZWxkLCAoYikgPT5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IFwiY29udGVudC1jaGFuZ2VkXCIsIG5ld1ZhbHVlOiB7IC4uLmZpZWxkLCB2YWx1ZTogYiB9IH0pXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgY2hlY2tlZD17dW5kZWZpbmVkfVxuICAgICAgICAvPlxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFZGl0YWJsZVRleHRGaWVsZChwcm9wczoge1xuICAgIGZpZWxkOiBGaWVsZDtcbiAgICBpbmxpbmU6IGJvb2xlYW47XG4gICAgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XG4gICAgZGlzcGF0Y2g6IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPHN0cmluZz4+O1xufSkge1xuICAgIGNvbnN0IHsgZmllbGQsIGRlZmF1bHRWYWx1ZSA9IFwiXCIsIGlubGluZSwgZGlzcGF0Y2ggfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxDb250cm9sbGVkRWRpdGFibGVUZXh0RmllbGRcbiAgICAgICAgICAgIGNvbnRlbnQ9eyhmaWVsZD8udmFsdWUgPz8gZGVmYXVsdFZhbHVlKSBhcyBzdHJpbmd9XG4gICAgICAgICAgICBpbmxpbmU9e2lubGluZX1cbiAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgLz5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlZEVkaXRhYmxlVGV4dEZpZWxkKHByb3BzOiB7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIGlubGluZTogYm9vbGVhbjtcbiAgICBkaXNwYXRjaDogRGlzcGF0Y2g8RWRpdGFibGVBY3Rpb248c3RyaW5nPj47XG59KSB7XG4gICAgY29uc3QgeyBjb250ZW50LCBpbmxpbmUsIGRpc3BhdGNoIH0gPSBwcm9wcztcbiAgICBjb25zdCBbdGV4dFN0YXRlLCBzZXRUZXh0XSA9IHVzZVN0YXRlKGNvbnRlbnQpO1xuICAgIGNvbnN0IG9uSW5wdXQgPSBhc3luYyAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBzZXRUZXh0KChlLmN1cnJlbnRUYXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuXG4gICAgICAgIGlmIChwcm9wcy5pbmxpbmUpIHtcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHVzZUZpbmFsaXplcih0ZXh0U3RhdGUsIGRpc3BhdGNoKSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIgJiYgZS5jdHJsS2V5KSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHVzZUZpbmFsaXplcih0ZXh0U3RhdGUsIGRpc3BhdGNoKSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gPFVuY29udHJvbGxlZFRleHRFZGl0YWJsZSB0ZXh0PXtjb250ZW50fSBpbmxpbmU9e2lubGluZX0gZGlzcGF0Y2g9e2Rpc3BhdGNofSBvbklucHV0PXtvbklucHV0fSAvPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZpZWxkU2xpZGVyKFxuICAgIHByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgICAgICBtaW46IG51bWJlcjtcbiAgICAgICAgbWF4OiBudW1iZXI7XG4gICAgICAgIHN0ZXA6IG51bWJlcjtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBudW1iZXI7XG4gICAgICAgIGZpZWxkOiBGaWVsZDtcbiAgICAgICAgZGlzcGF0Y2g6IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPEZpZWxkPj47XG4gICAgfSAmIE9taXQ8UmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+LCBPbWl0dGFibGU+XG4pIHtcbiAgICBjb25zdCB7IGZpZWxkLCBkaXNwYXRjaCwgZGVmYXVsdFZhbHVlID0gMCwgbWluLCBtYXgsIHN0ZXAsIC4uLnJlc3QgfSA9IHByb3BzO1xuICAgIGNvbnN0IHZhbHVlID0gKGZpZWxkPy52YWx1ZSA/PyBkZWZhdWx0VmFsdWUpIGFzIG51bWJlcjtcbiAgICByZXR1cm4gKFxuICAgICAgICA8U2xpZGVyXG4gICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAgIHZhbHVlPXt1bmRlZmluZWR9XG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlPXt1c2VTZXRGaWVsZChmaWVsZCwgKGIpID0+XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLCBuZXdWYWx1ZTogeyAuLi5maWVsZCwgdmFsdWU6IGIgfSB9KVxuICAgICAgICAgICAgKX1cbiAgICAgICAgLz5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRmllbGRTd2l0Y2goXG4gICAgcHJvcHM6IHtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogYm9vbGVhbjtcbiAgICAgICAgZmllbGQ6IEZpZWxkO1xuICAgICAgICBkaXNwYXRjaDogRGlzcGF0Y2g8RWRpdGFibGVBY3Rpb248RmllbGQ+PjtcbiAgICB9ICYgT21pdDxSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD4sIE9taXR0YWJsZT5cbikge1xuICAgIGNvbnN0IHsgZmllbGQsIGRpc3BhdGNoLCBkZWZhdWx0VmFsdWUgPSBmYWxzZSwgLi4ucmVzdCB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICBvblRvZ2dsZUNoYW5nZT17dXNlU2V0RmllbGQoZmllbGQsIChiKSA9PlxuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWU6IHsgLi4uZmllbGQsIHZhbHVlOiBiIH0gfSlcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17KGZpZWxkPy52YWx1ZSA/PyBkZWZhdWx0VmFsdWUpIGFzIGJvb2xlYW59XG4gICAgICAgICAgICBjaGVja2VkPXt1bmRlZmluZWR9XG4gICAgICAgIC8+XG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZpZWxkU2VsZWN0KHtcbiAgICBtdWx0aSA9IGZhbHNlLFxuICAgIG9wdGlvbnMsXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGZpZWxkLFxuICAgIGRpc3BhdGNoLFxufToge1xuICAgIG11bHRpPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIGZpZWxkOiBGaWVsZDtcbiAgICBvcHRpb25zOiB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdO1xuICAgIGRpc3BhdGNoOiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxGaWVsZD4+O1xufSkge1xuICAgIGNvbnN0IGlubmVyQ2FsbGJhY2sgPSB1c2VTZXRGaWVsZChmaWVsZCwgKGIpID0+XG4gICAgICAgIGRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWU6IHsgLi4uZmllbGQsIHZhbHVlOiBiIH0gfSlcbiAgICApO1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIChuZXdWYWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICBsZXQgbm9ybWFsaXplZDtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5ld1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQgPSBuZXdWYWx1ZS5tYXAoKHgpID0+IHgudmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBub3JtYWxpemVkID0gbmV3VmFsdWUudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbm5lckNhbGxiYWNrKG5vcm1hbGl6ZWQpO1xuICAgICAgICB9LFxuICAgICAgICBbZmllbGQsIGlubmVyQ2FsbGJhY2tdXG4gICAgKTtcblxuICAgIGNvbnN0IGFycmF5VmFsID0gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gKEFycmF5LmlzQXJyYXkoZmllbGQ/LnZhbHVlKSA/IGZpZWxkLnZhbHVlIDogISFmaWVsZCA/IFtmaWVsZC52YWx1ZV0gOiBbZGVmYXVsdFZhbHVlXSksXG4gICAgICAgIFtmaWVsZF1cbiAgICApO1xuICAgIGNvbnN0IGRlZlZhbCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICBtdWx0aVxuICAgICAgICAgICAgICAgID8gb3B0aW9ucy5maWx0ZXIoKGEpID0+IGFycmF5VmFsLmZpbmRJbmRleCgoYikgPT4gYiA9PSBhLnZhbHVlKSAhPSAtMSlcbiAgICAgICAgICAgICAgICA6IG9wdGlvbnMuZmluZCgoYSkgPT4gYS52YWx1ZSA9PSBmaWVsZD8udmFsdWUpLFxuICAgICAgICBbb3B0aW9ucywgbXVsdGldXG4gICAgKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICBjbGFzc05hbWVQcmVmaXg9XCJkYXRhY29yZS1zZWxlY3RhYmxlXCJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXsobikgPT4gb25DaGFuZ2Uobil9XG4gICAgICAgICAgICB1bnN0eWxlZFxuICAgICAgICAgICAgaXNNdWx0aT17bXVsdGkgPz8gZmFsc2V9XG4gICAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgbWVudVBvcnRhbFRhcmdldD17ZG9jdW1lbnQuYm9keX1cbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmVmFsfVxuICAgICAgICAgICAgY2xhc3NOYW1lcz17e1xuICAgICAgICAgICAgICAgIGlucHV0OiAoKSA9PiBcInByb21wdC1pbnB1dFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlQ29udGFpbmVyOiAoKSA9PiBcInN1Z2dlc3Rpb24taXRlbSB2YWx1ZS1jb250YWluZXJcIixcbiAgICAgICAgICAgICAgICBjb250YWluZXI6ICgpID0+IFwic3VnZ2VzdGlvbi1jb250YWluZXJcIixcbiAgICAgICAgICAgICAgICBtZW51OiAoKSA9PiBcInN1Z2dlc3Rpb24tY29udGVudCBzdWdnZXN0aW9uLWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgIG9wdGlvbjogKHByb3BzOiBhbnkpID0+IGBzdWdnZXN0aW9uLWl0ZW0ke3Byb3BzLmlzU2VsZWN0ZWQgPyBcIiBpcy1zZWxlY3RlZFwiIDogXCJcIn1gLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICApO1xufVxuIiwgImltcG9ydCB7IEdyb3VwRWxlbWVudCwgR3JvdXBpbmcsIEdyb3VwaW5ncywgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBHcm91cGluZ0NvbmZpZywgdXNlQXNFbGVtZW50LCBWYW5pbGxhQ29sdW1uLCBWYW5pbGxhVGFibGVQcm9wcyB9IGZyb20gXCIuL3RhYmxlXCI7XG5pbXBvcnQgeyB1c2VJbnRlcm5pbmcsIHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5pbXBvcnQgeyBEaXNwYXRjaCwgUmVkdWNlciwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVkdWNlciwgdXNlUmVmIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgQ29udHJvbGxlZFBhZ2VyLCB1c2VEYXRhY29yZVBhZ2luZyB9IGZyb20gXCIuL3BhZ2luZ1wiO1xuaW1wb3J0IHsgREVGQVVMVF9UQUJMRV9DT01QQVJBVE9SLCBTb3J0QnV0dG9uLCBTb3J0RGlyZWN0aW9uLCBTb3J0T24gfSBmcm9tIFwiLi90YWJsZVwiO1xuaW1wb3J0IHsgQ29udGV4dCwgY3JlYXRlQ29udGV4dCwgRnJhZ21lbnQsIFZOb2RlIH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgQ1VSUkVOVF9GSUxFX0NPTlRFWFQsIExpdCB9IGZyb20gXCJ1aS9tYXJrZG93blwiO1xuaW1wb3J0IHsgRWRpdGFibGUsIHVzZUVkaXRhYmxlRGlzcGF0Y2ggfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyBjb21iaW5lQ2xhc3NlcyB9IGZyb20gXCIuLi9iYXNpY3NcIjtcbmltcG9ydCB7IEluZGV4YWJsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUcmVlVGFibGVSb3dEYXRhPFQ+IHtcbiAgICB2YWx1ZTogVDtcbiAgICBjaGlsZHJlbjogVHJlZVRhYmxlUm93RGF0YTxUPltdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRyZWVVdGlscyB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzVHJlZVRhYmxlUm93RGF0YTxUPihkYXRhOiBhbnkpOiBkYXRhIGlzIFRyZWVUYWJsZVJvd0RhdGE8VD4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgXCJjaGlsZHJlblwiIGluIGRhdGEgJiZcbiAgICAgICAgICAgIFwidmFsdWVcIiBpbiBkYXRhICYmXG4gICAgICAgICAgICAhQXJyYXkuaXNBcnJheShkYXRhKSAmJlxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkubGVuZ3RoID09IDIgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZGF0YS5jaGlsZHJlbilcbiAgICAgICAgKTtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIGNvdW50SW5UcmVlUm93PFQ+KG5vZGU6IFRyZWVUYWJsZVJvd0RhdGE8VD4sIHRvcDogYm9vbGVhbiA9IHRydWUpOiBudW1iZXIge1xuICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgaWYgKCF0b3ApIHJlc3VsdCsrO1xuICAgICAgICBmb3IgKGxldCBuIG9mIG5vZGUuY2hpbGRyZW4pIHJlc3VsdCArPSBjb3VudEluVHJlZVJvdyhuLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiBvZkFycmF5PFQ+KHNvdXJjZTogVFtdLCBjaGlsZEZuOiAoZWw6IFQpID0+IFRbXSk6IFRyZWVUYWJsZVJvd0RhdGE8VD5bXSB7XG4gICAgICAgIGNvbnN0IG1hcHBlciA9IChlbDogVCk6IFRyZWVUYWJsZVJvd0RhdGE8VD4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogZWwsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkRm4oZWwpLm1hcChtYXBwZXIpLFxuICAgICAgICAgICAgfSBhcyBUcmVlVGFibGVSb3dEYXRhPFQ+O1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc291cmNlLm1hcChtYXBwZXIpO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gb2ZOb2RlPFQ+KHNvdXJjZTogVCwgY2hpbGRGbjogKGVsOiBUKSA9PiBUW10pOiBUcmVlVGFibGVSb3dEYXRhPFQ+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiBzb3VyY2UsXG4gICAgICAgICAgICBjaGlsZHJlbjogb2ZBcnJheShjaGlsZEZuKHNvdXJjZSksIGNoaWxkRm4pLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBvZkdyb3VwaW5nPFQ+KGVsZW1lbnRzOiBHcm91cGluZzxUPiwgY2hpbGRGbjogKGVsOiBUKSA9PiBUW10pOiBHcm91cGluZzxUcmVlVGFibGVSb3dEYXRhPFQ+PiB7XG4gICAgICAgIGNvbnN0IG1hcHBlciA9IChsOiBUIHwgR3JvdXBFbGVtZW50PFQ+KTogR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+IHwgVHJlZVRhYmxlUm93RGF0YTxUPiA9PiB7XG4gICAgICAgICAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGwpKVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGtleTogbC5rZXksIHJvd3M6IGwucm93cy5tYXAobWFwcGVyKSB9IGFzIEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+PjtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGwsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkRm4obCkubWFwKG1hcHBlciksXG4gICAgICAgICAgICB9IGFzIFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBlbGVtZW50cy5tYXAobWFwcGVyKSBhcyBHcm91cGluZzxUcmVlVGFibGVSb3dEYXRhPFQ+PjtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gY291bnQ8VD4oZWxlbWVudHM6IEdyb3VwaW5nPFRyZWVUYWJsZVJvd0RhdGE8VD4+IHwgR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+KTogbnVtYmVyIHtcbiAgICAgICAgaWYgKEdyb3VwaW5ncy5pc0VsZW1lbnRHcm91cChlbGVtZW50cykpIHtcbiAgICAgICAgICAgIHJldHVybiBjb3VudChlbGVtZW50cy5yb3dzKTtcbiAgICAgICAgfSBlbHNlIGlmIChHcm91cGluZ3MuaXNHcm91cGluZyhlbGVtZW50cykpIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgZ3JvdXAgb2YgZWxlbWVudHMpIHJlc3VsdCArPSBjb3VudChncm91cC5yb3dzKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudHMucmVkdWNlKChwdiwgY3YpID0+IHB2ICsgY291bnRJblRyZWVSb3coY3YpLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNsaWNlSW5UcmVlUm93PFQ+KGVsZW1lbnRzOiBUcmVlVGFibGVSb3dEYXRhPFQ+W10sIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogVHJlZVRhYmxlUm93RGF0YTxUPltdIHtcbiAgICAgICAgaWYgKGVuZCA8PSBzdGFydCkgcmV0dXJuIFtdO1xuXG4gICAgICAgIGxldCBpbmRleCA9IDAsXG4gICAgICAgICAgICBzZWVuID0gMDtcbiAgICAgICAgd2hpbGUgKGluZGV4IDwgZWxlbWVudHMubGVuZ3RoICYmIHNlZW4gKyBjb3VudEluVHJlZVJvdyhlbGVtZW50c1tpbmRleF0pIDw9IHN0YXJ0KSB7XG4gICAgICAgICAgICBzZWVuICs9IGNvdW50SW5UcmVlUm93KGVsZW1lbnRzW2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluZGV4ID49IGVsZW1lbnRzLmxlbmd0aCkgcmV0dXJuIFtdO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogVHJlZVRhYmxlUm93RGF0YTxUPltdID0gW107XG4gICAgICAgIHdoaWxlIChpbmRleCA8IGVsZW1lbnRzLmxlbmd0aCAmJiBzZWVuIDwgZW5kKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IGVsZW1lbnRzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU2l6ZSA9IGNvdW50SW5UcmVlUm93KGdyb3VwKTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU3RhcnQgPSBNYXRoLm1heChzZWVuLCBzdGFydCk7XG4gICAgICAgICAgICBjb25zdCBncm91cEVuZCA9IE1hdGgubWluKGdyb3VwU2l6ZSArIHNlZW4sIGVuZCk7XG5cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogZ3JvdXAudmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IHNsaWNlSW5UcmVlUm93KGdyb3VwLmNoaWxkcmVuLCBncm91cFN0YXJ0IC0gc2VlbiwgZ3JvdXBFbmQgLSBzZWVuKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzZWVuICs9IGdyb3VwU2l6ZTtcbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBzbGljZTxUPihcbiAgICAgICAgZWxlbWVudHM6IEdyb3VwaW5nPFRyZWVUYWJsZVJvd0RhdGE8VD4+LFxuICAgICAgICBzdGFydDogbnVtYmVyLFxuICAgICAgICBlbmQ6IG51bWJlclxuICAgICk6IEdyb3VwaW5nPFRyZWVUYWJsZVJvd0RhdGE8VD4+IHtcbiAgICAgICAgbGV0IGluaXRpYWwgPSBbLi4uR3JvdXBpbmdzLnNsaWNlKGVsZW1lbnRzLCBzdGFydCwgZW5kKV0gYXMgR3JvdXBpbmc8VHJlZVRhYmxlUm93RGF0YTxUPj47XG4gICAgICAgIGxldCBpbmRleCA9IDAsXG4gICAgICAgICAgICBzZWVuID0gMDtcblxuICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGluaXRpYWwpIHtcbiAgICAgICAgICAgIGlmIChHcm91cGluZ3MuaXNFbGVtZW50R3JvdXAoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBTaXplID0gR3JvdXBpbmdzLmNvdW50KGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBTdGFydCA9IE1hdGgubWluKHNlZW4sIHN0YXJ0KTtcbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBFbmQgPSBNYXRoLm1pbihncm91cFNpemUsIGVuZCk7XG4gICAgICAgICAgICAgICAgKGluaXRpYWxbaW5kZXhdIGFzIEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+Pikucm93cyA9IEdyb3VwaW5ncy5zbGljZShcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yb3dzLFxuICAgICAgICAgICAgICAgICAgICBncm91cFN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBncm91cEVuZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgc2VlbiArPSBncm91cFNpemU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNlZW4gKz0gY291bnRJblRyZWVSb3coZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbml0aWFsO1xuICAgIH1cbiAgICAvKiogcmVjdXJzaXZlbHkgc29ydCBhIHRyZWUgKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gc29ydDxULCBWID0gTGl0ZXJhbD4oXG4gICAgICAgIHJvd3M6IChUcmVlVGFibGVSb3dEYXRhPFQ+IHwgR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+KVtdLFxuICAgICAgICBjb21wYXJhdG9yczoge1xuICAgICAgICAgICAgZm46IChhOiBWLCBiOiBWLCBhbzogVCwgYWI6IFQpID0+IG51bWJlcjtcbiAgICAgICAgICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICAgICAgICAgIGFjdHVhbFZhbHVlOiAob2JqOiBUKSA9PiBWO1xuICAgICAgICB9W11cbiAgICApOiAoVHJlZVRhYmxlUm93RGF0YTxUPiB8IEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+PilbXSB7XG4gICAgICAgIGNvbnN0IHJlYWxDb21wYXJhdG9yID0gKFxuICAgICAgICAgICAgYTogVHJlZVRhYmxlUm93RGF0YTxUPiB8IEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+PixcbiAgICAgICAgICAgIGI6IFRyZWVUYWJsZVJvd0RhdGE8VD4gfCBHcm91cEVsZW1lbnQ8VHJlZVRhYmxlUm93RGF0YTxUPj5cbiAgICAgICAgKTogbnVtYmVyID0+IHtcbiAgICAgICAgICAgIGZvciAobGV0IGNvbXAgb2YgY29tcGFyYXRvcnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBjb21wLmRpcmVjdGlvbi50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBcImFzY2VuZGluZ1wiID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgIGlmIChHcm91cGluZ3MuaXNFbGVtZW50R3JvdXAoYSkgJiYgR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IDA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGEpICYmICFHcm91cGluZ3MuaXNFbGVtZW50R3JvdXAoYikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiAqIGNvbXAuZm4oY29tcC5hY3R1YWxWYWx1ZShhLnZhbHVlKSwgY29tcC5hY3R1YWxWYWx1ZShiLnZhbHVlKSwgYS52YWx1ZSwgYi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gMCkgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBtYXAgPSAoXG4gICAgICAgICAgICB0OiBUcmVlVGFibGVSb3dEYXRhPFQ+IHwgR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+XG4gICAgICAgICk6IFRyZWVUYWJsZVJvd0RhdGE8VD4gfCBHcm91cEVsZW1lbnQ8VHJlZVRhYmxlUm93RGF0YTxUPj4gPT4ge1xuICAgICAgICAgICAgbGV0IHI7XG4gICAgICAgICAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKHQpKVxuICAgICAgICAgICAgICAgIHIgPSB7IC4uLnQsIHJvd3M6IHNvcnQodC5yb3dzLCBjb21wYXJhdG9ycykubWFwKG1hcCkgfSBhcyBHcm91cEVsZW1lbnQ8VHJlZVRhYmxlUm93RGF0YTxUPj47XG4gICAgICAgICAgICBlbHNlIHIgPSB7IC4uLnQsIGNoaWxkcmVuOiBzb3J0KHQuY2hpbGRyZW4sIGNvbXBhcmF0b3JzKS5tYXAobWFwKSB9IGFzIFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJvd3MubWFwKG1hcCkuc29ydChyZWFsQ29tcGFyYXRvcik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB1c2VLZXlGbjxUPihpZDogVHJlZVRhYmxlU3RhdGU8VD5bXCJpZFwiXSwgLi4uZGVwczogYW55W10pIHtcbiAgICBjb25zdCByZXQgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKGVsOiBUcmVlVGFibGVSb3dEYXRhPFQ+IHwgR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+KSA9PiB7XG4gICAgICAgICAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGVsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbC5rZXk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBpZChlbC52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFsuLi5kZXBzXVxuICAgICk7XG4gICAgcmV0dXJuIHJldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmVlVGFibGVDb2x1bW48VCwgViA9IExpdGVyYWw+IGV4dGVuZHMgVmFuaWxsYUNvbHVtbjxULCBWPiB7XG4gICAgc29ydGFibGU/OiBib29sZWFuO1xuXG4gICAgY29tcGFyYXRvcj86IChmaXJzdDogViwgc2Vjb25kOiBWLCBmaXJzdE9iamVjdDogVCwgc2Vjb25kT2JqZWN0OiBUKSA9PiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVRhYmxlU3RhdGU8VD4ge1xuICAgIHNvcnRPbj86IFNvcnRPbltdO1xuICAgIG9wZW5NYXA/OiBNYXA8c3RyaW5nLCBib29sZWFuPjtcbiAgICBpZDogKG9iajogVCkgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVUYWJsZVByb3BzPFQ+IHtcbiAgICBjb2x1bW5zOiBUcmVlVGFibGVDb2x1bW48VD5bXTtcbiAgICByb3dzOiBUW10gfCBHcm91cGluZzxUPjtcbiAgICBwYWdpbmc/OiBib29sZWFuIHwgbnVtYmVyO1xuICAgIHNjcm9sbE9uUGFnaW5nPzogYm9vbGVhbiB8IG51bWJlcjtcbiAgICBncm91cGluZ3M/OiBWYW5pbGxhVGFibGVQcm9wczxUcmVlVGFibGVSb3dEYXRhPFQ+PltcImdyb3VwaW5nc1wiXTtcbiAgICBzb3J0T24/OiBTb3J0T25bXTtcbiAgICBjaGlsZFNlbGVjdG9yOiAocmF3OiBUKSA9PiBUW107XG4gICAgaWQ/OiAob2JqOiBUKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRyZWVUYWJsZUFjdGlvbjxUPiA9XG4gICAgfCB7IHR5cGU6IFwic29ydC1jb2x1bW5cIjsgY29sdW1uOiBzdHJpbmc7IGRpcmVjdGlvbjogU29ydERpcmVjdGlvbiB8IHVuZGVmaW5lZCB9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogXCJyb3ctZXhwYW5kXCI7XG4gICAgICAgICAgcm93OiBUO1xuICAgICAgICAgIG5ld1ZhbHVlOiBib29sZWFuO1xuICAgICAgfVxuICAgIHwgeyB0eXBlOiBcIm9wZW4tbWFwLWNoYW5nZWRcIjsgbmV3VmFsdWU6IE1hcDxzdHJpbmcsIGJvb2xlYW4+IH07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmVlVGFibGVSZWR1Y2VyPFQ+KHN0YXRlOiBUcmVlVGFibGVTdGF0ZTxUPiwgYWN0aW9uOiBUcmVlVGFibGVBY3Rpb248VD4pOiBUcmVlVGFibGVTdGF0ZTxUPiB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFwic29ydC1jb2x1bW5cIjpcbiAgICAgICAgICAgIGlmIChhY3Rpb24uZGlyZWN0aW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBzb3J0T246IHVuZGVmaW5lZCB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgc29ydE9uOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJjb2x1bW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogYWN0aW9uLmNvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IGFjdGlvbi5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJyb3ctZXhwYW5kXCI6XG4gICAgICAgICAgICBjb25zdCBuZXdNYXAgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcbiAgICAgICAgICAgIGlmICghc3RhdGUub3Blbk1hcCkgcmV0dXJuIHsgLi4uc3RhdGUgfTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgayBvZiBzdGF0ZS5vcGVuTWFwLmtleXMoKSkgbmV3TWFwLnNldChrLCBzdGF0ZS5vcGVuTWFwLmdldChrKSEpO1xuICAgICAgICAgICAgbmV3TWFwLnNldChzdGF0ZS5pZChhY3Rpb24ucm93KSwgYWN0aW9uLm5ld1ZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBvcGVuTWFwOiBuZXdNYXAgfTtcbiAgICAgICAgY2FzZSBcIm9wZW4tbWFwLWNoYW5nZWRcIjpcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBvcGVuTWFwOiBhY3Rpb24ubmV3VmFsdWUgfTtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKFwiZGF0YWNvcmU6IEVuY291bnRlcmVkIHVucmVjb2duaXplZCBvcGVyYXRpb246IFwiICsgKGFjdGlvbiBhcyBUcmVlVGFibGVBY3Rpb248VD4pLnR5cGUpO1xuICAgIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVRyZWVUYWJsZURpc3BhdGNoPFQ+KFxuICAgIGluaXRpYWw6IFRyZWVUYWJsZVN0YXRlPFQ+IHwgKCgpID0+IFRyZWVUYWJsZVN0YXRlPFQ+KVxuKTogW1RyZWVUYWJsZVN0YXRlPFQ+LCBEaXNwYXRjaDxUcmVlVGFibGVBY3Rpb248VD4+XSB7XG4gICAgY29uc3QgaW5pdCA9IHVzZU1lbW8oKCkgPT4gKHR5cGVvZiBpbml0aWFsID09IFwiZnVuY3Rpb25cIiA/IGluaXRpYWwoKSA6IGluaXRpYWwpLCBbXSk7XG4gICAgcmV0dXJuIHVzZVJlZHVjZXIodHJlZVRhYmxlUmVkdWNlciBhcyBSZWR1Y2VyPFRyZWVUYWJsZVN0YXRlPFQ+LCBUcmVlVGFibGVBY3Rpb248VD4+LCBpbml0KTtcbn1cblxuZXhwb3J0IHR5cGUgUm93RXhwYW5zaW9uQ29udGV4dFR5cGU8VD4gPSB7XG4gICAgZGlzcGF0Y2g6IERpc3BhdGNoPFRyZWVUYWJsZUFjdGlvbjxUPj47XG4gICAgb3Blbk1hcDogTWFwPHN0cmluZywgYm9vbGVhbj47XG4gICAgaWQ6IChvYmo6IFQpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBBTkRFRF9DT05URVhUID0gY3JlYXRlQ29udGV4dDxSb3dFeHBhbnNpb25Db250ZXh0VHlwZTx1bmtub3duPiB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgZnVuY3Rpb24gVHlwZWRFeHBhbmRlZENvbnRleHQ8VD4oKSB7XG4gICAgcmV0dXJuIEVYUEFOREVEX0NPTlRFWFQgYXMgQ29udGV4dDxSb3dFeHBhbnNpb25Db250ZXh0VHlwZTxUPj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUcmVlVGFibGVIZWFkZXJDZWxsPFQ+KHtcbiAgICBjb2x1bW4sXG4gICAgc29ydCxcbiAgICBzb3J0YWJsZSxcbn06IHtcbiAgICBjb2x1bW46IFRyZWVUYWJsZUNvbHVtbjxUPjtcbiAgICBzb3J0PzogU29ydERpcmVjdGlvbjtcbiAgICBzb3J0YWJsZTogYm9vbGVhbjtcbn0pIHtcbiAgICBjb25zdCB7IGRpc3BhdGNoIH0gPSB1c2VDb250ZXh0KFR5cGVkRXhwYW5kZWRDb250ZXh0PFQ+KCkpO1xuICAgIGNvbnN0IGhlYWRlcjogc3RyaW5nIHwgVk5vZGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCFjb2x1bW4udGl0bGUpIHJldHVybiBjb2x1bW4uaWQ7XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBjb2x1bW4udGl0bGUgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGNvbHVtbi50aXRsZSgpO1xuICAgICAgICBlbHNlIHJldHVybiBjb2x1bW4udGl0bGU7XG4gICAgfSwgW2NvbHVtbi5pZCwgY29sdW1uLnRpdGxlXSk7XG5cbiAgICBjb25zdCBzb3J0Q2xpY2tlZCA9IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICAoX2V2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoc29ydCA9PSB1bmRlZmluZWQpIGRpc3BhdGNoKHsgdHlwZTogXCJzb3J0LWNvbHVtblwiLCBjb2x1bW46IGNvbHVtbi5pZCwgZGlyZWN0aW9uOiBcImFzY2VuZGluZ1wiIH0pO1xuICAgICAgICAgICAgZWxzZSBpZiAoc29ydCA9PSBcImFzY2VuZGluZ1wiKSBkaXNwYXRjaCh7IHR5cGU6IFwic29ydC1jb2x1bW5cIiwgY29sdW1uOiBjb2x1bW4uaWQsIGRpcmVjdGlvbjogXCJkZXNjZW5kaW5nXCIgfSk7XG4gICAgICAgICAgICBlbHNlIGRpc3BhdGNoKHsgdHlwZTogXCJzb3J0LWNvbHVtblwiLCBjb2x1bW46IGNvbHVtbi5pZCwgZGlyZWN0aW9uOiB1bmRlZmluZWQgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjb2x1bW4uaWRdXG4gICAgKTtcblxuICAgIGNvbnN0IHJlYWxXaWR0aCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IChjb2x1bW4ud2lkdGggPT09IFwibWluaW11bVwiID8gXCIxcHhcIiA6IGNvbHVtbi53aWR0aCA9PT0gXCJtYXhpbXVtXCIgPyBcImF1dG9cIiA6IGNvbHVtbi53aWR0aCArIFwicHhcIiksXG4gICAgICAgIFtjb2x1bW4ud2lkdGhdXG4gICAgKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8dGggd2lkdGg9e3JlYWxXaWR0aH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLWNlbGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLWNlbGwtY29udGVudFwiPlxuICAgICAgICAgICAgICAgIHtzb3J0YWJsZSAmJiA8U29ydEJ1dHRvbiBjbGFzc05hbWU9XCJkYXRhY29yZS10YWJsZS1zb3J0XCIgZGlyZWN0aW9uPXtzb3J0fSBvbkNsaWNrPXtzb3J0Q2xpY2tlZH0gLz59XG4gICAgICAgICAgICAgICAgPGRpdiBvbkNsaWNrPXtzb3J0Q2xpY2tlZH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVHJlZVRhYmxlR3JvdXBIZWFkZXI8VD4oe1xuICAgIGxldmVsLFxuICAgIHZhbHVlLFxuICAgIHdpZHRoLFxuICAgIGNvbmZpZyxcbn06IHtcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIHZhbHVlOiBHcm91cEVsZW1lbnQ8VHJlZVRhYmxlUm93RGF0YTxUPj47XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBjb25maWc/OiBHcm91cGluZ0NvbmZpZzxUcmVlVGFibGVSb3dEYXRhPFQ+Pjtcbn0pIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gdXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgY29uc3QgcmF3UmVuZGVyYWJsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoY29uZmlnPy5yZW5kZXIpIHJldHVybiBjb25maWcucmVuZGVyKHZhbHVlLmtleSwgdmFsdWUucm93cyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGgyPlxuICAgICAgICAgICAgICAgICAgICA8TGl0IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17dHJ1ZX0gdmFsdWU9e3ZhbHVlLmtleX0gLz5cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgKTtcbiAgICB9LCBbY29uZmlnPy5yZW5kZXIsIHZhbHVlLmtleSwgdmFsdWUucm93c10pO1xuICAgIGNvbnN0IHJlbmRlcmFibGUgPSB1c2VBc0VsZW1lbnQocmF3UmVuZGVyYWJsZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtZ3JvdXAtaGVhZGVyXCI+XG4gICAgICAgICAgICA8dGQgc3R5bGU9e3sgcGFkZGluZ0xlZnQ6IGAke2xldmVsICogMS4xMn1lbWAgfX0gY29sU3Bhbj17d2lkdGggKyAxfT5cbiAgICAgICAgICAgICAgICB7cmVuZGVyYWJsZX1cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBUcmVlVGFibGVSb3dHcm91cDxUPih7XG4gICAgbGV2ZWwsXG4gICAgY29sdW1ucyxcbiAgICBlbGVtZW50LFxuICAgIGdyb3VwaW5ncyxcbn06IHtcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIGNvbHVtbnM6IFRyZWVUYWJsZUNvbHVtbjxUPltdO1xuICAgIGVsZW1lbnQ6IEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+PiB8IFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgZ3JvdXBpbmdzPzogR3JvdXBpbmdDb25maWc8VHJlZVRhYmxlUm93RGF0YTxUPj5bXTtcbn0pIHtcbiAgICBjb25zdCB7IGlkIH0gPSB1c2VDb250ZXh0KFR5cGVkRXhwYW5kZWRDb250ZXh0PFQ+KCkpO1xuICAgIGNvbnN0IGtleUZuID0gdXNlS2V5Rm4oaWQpO1xuICAgIGNvbnN0IGdyb3VwSW5kZXggPSBncm91cGluZ3MgPyBNYXRoLm1pbihncm91cGluZ3MubGVuZ3RoIC0gMSwgbGV2ZWwpIDogMDtcbiAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGVsZW1lbnQpKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwaW5nQ29uZmlnID0gZ3JvdXBpbmdzID8gZ3JvdXBpbmdzW2dyb3VwSW5kZXhdIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEZyYWdtZW50IGtleT17a2V5Rm4oZWxlbWVudCl9PlxuICAgICAgICAgICAgICAgIDxUcmVlVGFibGVHcm91cEhlYWRlciBsZXZlbD17bGV2ZWx9IHZhbHVlPXtlbGVtZW50fSB3aWR0aD17Y29sdW1ucy5sZW5ndGh9IGNvbmZpZz17Z3JvdXBpbmdDb25maWd9IC8+XG4gICAgICAgICAgICAgICAge2VsZW1lbnQucm93cy5tYXAoKHJvdykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8VHJlZVRhYmxlUm93R3JvdXA8VD4gbGV2ZWw9e2xldmVsICsgMX0gY29sdW1ucz17Y29sdW1uc30gZWxlbWVudD17cm93fSBncm91cGluZ3M9e2dyb3VwaW5nc30gLz5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDxUcmVlVGFibGVSb3cgcm93PXtlbGVtZW50fSBjb2x1bW5zPXtjb2x1bW5zfSBsZXZlbD17bGV2ZWwgLSBncm91cEluZGV4ICsgMX0ga2V5PXtrZXlGbihlbGVtZW50KX0gLz47XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVHJlZVRhYmxlUm93RXhwYW5kZXI8VD4oeyByb3csIGxldmVsIH06IHsgcm93OiBUOyBsZXZlbDogbnVtYmVyIH0pIHtcbiAgICBjb25zdCB7IG9wZW5NYXAsIGRpc3BhdGNoLCBpZCB9ID0gdXNlQ29udGV4dChUeXBlZEV4cGFuZGVkQ29udGV4dDxUPigpKTtcbiAgICBjb25zdCBvcGVuID0gdXNlTWVtbygoKSA9PiBvcGVuTWFwLmdldChpZChyb3cpKSA/PyBmYWxzZSwgW3Jvdywgb3Blbk1hcCwgb3Blbk1hcC5nZXQoaWQocm93KSksIGRpc3BhdGNoXSk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHRkXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBkaXNwYXRjaCh7IHR5cGU6IFwicm93LWV4cGFuZFwiLCByb3csIG5ld1ZhbHVlOiAhb3BlbiB9KX1cbiAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmdMZWZ0OiBgJHsobGV2ZWwgLSAxKSAqIDEuMTI1fWVtYCB9fVxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYXRhY29yZS1jb2xsYXBzZXJcIiwgIW9wZW4gPyBcImlzLWNvbGxhcHNlZFwiIDogdW5kZWZpbmVkKX0gZGlyPVwiYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzdmctaWNvbiByaWdodC10cmlhbmdsZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMgOEwxMiAxN0wyMSA4XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRyZWVUYWJsZVJvdzxUPih7XG4gICAgbGV2ZWwsXG4gICAgcm93LFxuICAgIGNvbHVtbnMsXG59OiB7XG4gICAgbGV2ZWw6IG51bWJlcjtcbiAgICByb3c6IFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgY29sdW1uczogVHJlZVRhYmxlQ29sdW1uPFQ+W107XG59KSB7XG4gICAgY29uc3QgeyBvcGVuTWFwLCBpZCB9ID0gdXNlQ29udGV4dChUeXBlZEV4cGFuZGVkQ29udGV4dDxUPigpKTtcbiAgICBjb25zdCBvcGVuID0gdXNlTWVtbygoKSA9PiBvcGVuTWFwLmdldChpZChyb3cudmFsdWUpKSwgW29wZW5NYXAsIG9wZW5NYXAuZ2V0KGlkKHJvdy52YWx1ZSkpLCByb3csIHJvdy52YWx1ZV0pO1xuICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gdXNlTWVtbygoKSA9PiByb3cuY2hpbGRyZW4ubGVuZ3RoID4gMCwgW3Jvdywgcm93LmNoaWxkcmVuLCByb3cudmFsdWVdKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtcm93XCI+XG4gICAgICAgICAgICAgICAge2hhc0NoaWxkcmVuID8gPFRyZWVUYWJsZVJvd0V4cGFuZGVyPFQ+IGxldmVsPXtsZXZlbH0gcm93PXtyb3cudmFsdWV9IC8+IDogPHRkPjwvdGQ+fVxuICAgICAgICAgICAgICAgIHtjb2x1bW5zLm1hcCgoY29sLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxUcmVlVGFibGVSb3dDZWxsPFQ+IHJvdz17cm93fSBjb2x1bW49e2NvbH0gbGV2ZWw9e2xldmVsfSBpc0ZpcnN0PXtpID09IDB9IC8+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAge29wZW5cbiAgICAgICAgICAgICAgICA/IHJvdy5jaGlsZHJlbi5tYXAoKGNoaWxkKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFRyZWVUYWJsZVJvdyByb3c9e2NoaWxkfSBjb2x1bW5zPXtjb2x1bW5zfSBsZXZlbD17bGV2ZWwgKyAxfSBrZXk9e2lkKGNoaWxkLnZhbHVlKX0gLz5cbiAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgOiBudWxsfVxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUcmVlVGFibGVSb3dDZWxsPFQ+KHtcbiAgICByb3csXG4gICAgY29sdW1uLFxuICAgIGxldmVsLFxuICAgIGlzRmlyc3QgPSBmYWxzZSxcbn06IHtcbiAgICByb3c6IFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgY29sdW1uOiBUcmVlVGFibGVDb2x1bW48VD47XG4gICAgbGV2ZWw6IG51bWJlcjtcbiAgICBpc0ZpcnN0OiBib29sZWFuO1xufSkge1xuICAgIGNvbnN0IHZhbHVlID0gdXNlTWVtbygoKSA9PiBjb2x1bW4udmFsdWUocm93LnZhbHVlKSwgW3Jvdy52YWx1ZSwgY29sdW1uLnZhbHVlLCBjb2x1bW4udmFsdWUocm93LnZhbHVlKV0pO1xuICAgIGNvbnN0IHVwZGF0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKHY6IExpdGVyYWwpID0+IHtcbiAgICAgICAgICAgIGNvbHVtbi5vblVwZGF0ZSAmJiBjb2x1bW4ub25VcGRhdGUodiwgcm93LnZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgW3ZhbHVlLCByb3cudmFsdWVdXG4gICAgKTtcbiAgICBjb25zdCBbZWRpdGFibGVTdGF0ZSwgZGlzcGF0Y2hdID0gdXNlRWRpdGFibGVEaXNwYXRjaDx0eXBlb2YgdmFsdWU+KHtcbiAgICAgICAgY29udGVudDogdmFsdWUsXG4gICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgIHVwZGF0ZXI6ICh2KSA9PiBjb2x1bW4ub25VcGRhdGUgJiYgY29sdW1uLm9uVXBkYXRlKHYsIHJvdy52YWx1ZSksXG4gICAgfSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLCBuZXdWYWx1ZTogdmFsdWUgfSk7XG4gICAgfSwgW3ZhbHVlLCB1cGRhdGVyXSk7XG4gICAgbGV0IHJlbmRlcmVkQ29sdW1uID0gY29sdW1uLnJlbmRlciA/IGNvbHVtbi5yZW5kZXIoZWRpdGFibGVTdGF0ZS5jb250ZW50LCByb3cudmFsdWUpIDogdmFsdWU7XG4gICAgY29uc3QgcmVuZGVyYWJsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAocmVuZGVyZWRDb2x1bW4gJiYgdHlwZW9mIHJlbmRlcmVkQ29sdW1uID09IFwib2JqZWN0XCIgJiYgXCJwcm9wc1wiIGluIHJlbmRlcmVkQ29sdW1uKVxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocmVuZGVyZWRDb2x1bW4sIHsgcHJvcHM6IE9iamVjdC5hc3NpZ24ocmVuZGVyZWRDb2x1bW4ucHJvcHMsIHsgZGlzcGF0Y2ggfSkgfSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIHJlbmRlcmVkQ29sdW1uO1xuICAgIH0sIFtjb2x1bW4ucmVuZGVyLCB2YWx1ZSwgZWRpdGFibGVTdGF0ZS5jb250ZW50LCByZW5kZXJlZENvbHVtbiwgcm93LnZhbHVlLCB1cGRhdGVyXSk7XG5cbiAgICBjb25zdCByZW5kZXJlZCA9IHVzZUFzRWxlbWVudChyZW5kZXJhYmxlKTtcblxuICAgIGNvbnN0IHsgZWRpdG9yOiBFZGl0b3IgfSA9IGNvbHVtbjtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDx0ZFxuICAgICAgICAgICAgc3R5bGU9e3sgcGFkZGluZ0xlZnQ6IGlzRmlyc3QgPyBgJHsobGV2ZWwgLSAxKSAqIDEuMn1lbWAgOiB1bmRlZmluZWQgfX1cbiAgICAgICAgICAgIG9uRGJsQ2xpY2s9eygpID0+IGRpc3BhdGNoKHsgdHlwZTogXCJlZGl0aW5nLXRvZ2dsZWRcIiwgbmV3VmFsdWU6ICFlZGl0YWJsZVN0YXRlLmlzRWRpdGluZyB9KX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImRhdGFjb3JlLXRhYmxlLWNlbGxcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7Y29sdW1uLmVkaXRhYmxlICYmIGVkaXRhYmxlU3RhdGUuaXNFZGl0aW5nICYmIEVkaXRvciA/IChcbiAgICAgICAgICAgICAgICA8RWRpdG9yIGRpc3BhdGNoPXtkaXNwYXRjaH0gey4uLmVkaXRhYmxlU3RhdGV9IHsuLi4oY29sdW1uLmVkaXRvclByb3BzID8/IHt9KX0gLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgcmVuZGVyZWRcbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvdGQ+XG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRyb2xsZWRUcmVlVGFibGVWaWV3PFQ+KFxuICAgIHByb3BzOiBUcmVlVGFibGVTdGF0ZTxUPiAmIFRyZWVUYWJsZVByb3BzPFQ+ICYgeyBkaXNwYXRjaDogRGlzcGF0Y2g8VHJlZVRhYmxlQWN0aW9uPFQ+PiB9XG4pIHtcbiAgICBjb25zdCBjb2x1bW5zID0gdXNlSW50ZXJuaW5nKHByb3BzLmNvbHVtbnMsIChhLCBiKSA9PiB7XG4gICAgICAgIGlmIChhLmxlbmd0aCAhPSBiLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gYS5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PSBiW2luZGV4XSk7XG4gICAgfSk7XG4gICAgY29uc3QgdG90YWxFbGVtZW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoR3JvdXBpbmdzLmlzR3JvdXBpbmcocHJvcHMucm93cykpIHJldHVybiBHcm91cGluZ3MuY291bnQocHJvcHMucm93cyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy5yb3dzLnJlZHVjZShcbiAgICAgICAgICAgICAgICAocHYsIGN2KSA9PiBwdiArIFRyZWVVdGlscy5jb3VudEluVHJlZVJvdyhUcmVlVXRpbHMub2ZOb2RlKGN2LCBwcm9wcy5jaGlsZFNlbGVjdG9yKSksXG4gICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgKTtcbiAgICB9LCBbcHJvcHMucm93c10pO1xuICAgIGNvbnN0IHRhYmxlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBwYWdpbmcgPSB1c2VEYXRhY29yZVBhZ2luZyh7XG4gICAgICAgIGluaXRpYWxQYWdlOiAwLFxuICAgICAgICBwYWdpbmc6IHByb3BzLnBhZ2luZyxcbiAgICAgICAgc2Nyb2xsT25QYWdlQ2hhbmdlOiBwcm9wcy5zY3JvbGxPblBhZ2luZyxcbiAgICAgICAgZWxlbWVudHM6IHRvdGFsRWxlbWVudHMsXG4gICAgICAgIGNvbnRhaW5lcjogdGFibGVSZWYsXG4gICAgfSk7XG4gICAgY29uc3QgcmF3U29ydHMgPSB1c2VJbnRlcm5pbmcocHJvcHMuc29ydE9uLCAoYSwgYikgPT4gTGl0ZXJhbHMuY29tcGFyZShhLCBiKSA9PSAwKTtcbiAgICBjb25zdCBzb3J0cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gcmF3U29ydHM/LmZpbHRlcigoc29ydCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1ucy5maW5kKChjb2wpID0+IGNvbC5pZCA9PSBzb3J0LmlkKTtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW4gJiYgKGNvbHVtbi5zb3J0YWJsZSA/PyB0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgfSwgW2NvbHVtbnMsIHJhd1NvcnRzXSk7XG4gICAgY29uc3QgZ3JvdXBpbmdzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmICghcHJvcHMuZ3JvdXBpbmdzKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wcy5ncm91cGluZ3MpKSByZXR1cm4gcHJvcHMuZ3JvdXBpbmdzO1xuXG4gICAgICAgIGlmIChMaXRlcmFscy5pc0Z1bmN0aW9uKHByb3BzLmdyb3VwaW5ncykpIHJldHVybiBbeyByZW5kZXI6IHByb3BzLmdyb3VwaW5ncyB9XTtcbiAgICAgICAgZWxzZSByZXR1cm4gW3Byb3BzLmdyb3VwaW5nc107XG4gICAgfSwgW3Byb3BzLmdyb3VwaW5nc10pO1xuICAgIGNvbnN0IHJhd1Jvd3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCFHcm91cGluZ3MuaXNHcm91cGluZyhwcm9wcy5yb3dzKSkgcmV0dXJuIFRyZWVVdGlscy5vZkFycmF5KHByb3BzLnJvd3MsIHByb3BzLmNoaWxkU2VsZWN0b3IpO1xuICAgICAgICByZXR1cm4gVHJlZVV0aWxzLm9mR3JvdXBpbmcocHJvcHMucm93cywgcHJvcHMuY2hpbGRTZWxlY3Rvcik7XG4gICAgfSwgW3Byb3BzLnJvd3NdKTtcbiAgICBjb25zdCByb3dzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChzb3J0cyA9PSB1bmRlZmluZWQgfHwgc29ydHMubGVuZ3RoID09IDApIHJldHVybiByYXdSb3dzO1xuICAgICAgICBjb25zdCBjb21wYXJhdG9ycyA9IHNvcnRzLm1hcCgoeCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29sID0gY29sdW1ucy5maW5kKCh5KSA9PiB5LmlkID09IHguaWQpITtcbiAgICAgICAgICAgIGNvbnN0IGNvbXAgPSBjb2w/LmNvbXBhcmF0b3IgPz8gREVGQVVMVF9UQUJMRV9DT01QQVJBVE9SO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBmbjogY29tcCxcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHguZGlyZWN0aW9uLFxuICAgICAgICAgICAgICAgIGFjdHVhbFZhbHVlOiBjb2wudmFsdWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFRyZWVVdGlscy5zb3J0PFQsIExpdGVyYWw+KHJhd1Jvd3MsIGNvbXBhcmF0b3JzKSBhcyBHcm91cGluZzxUcmVlVGFibGVSb3dEYXRhPFQ+PjtcbiAgICB9LCBbcmF3Um93cywgc29ydHNdKTtcblxuICAgIGNvbnN0IHBhZ2VkUm93cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAocGFnaW5nLmVuYWJsZWQpXG4gICAgICAgICAgICByZXR1cm4gVHJlZVV0aWxzLnNsaWNlKHJvd3MsIHBhZ2luZy5wYWdlICogcGFnaW5nLnBhZ2VTaXplLCAocGFnaW5nLnBhZ2UgKyAxKSAqIHBhZ2luZy5wYWdlU2l6ZSk7XG4gICAgICAgIHJldHVybiByb3dzO1xuICAgIH0sIFtwYWdpbmcucGFnZSwgcGFnaW5nLnBhZ2VTaXplLCBwYWdpbmcuZW5hYmxlZCwgcHJvcHMucm93cywgcm93c10pO1xuXG4gICAgY29uc3Qga2V5Rm4gPSB1c2VLZXlGbihwcm9wcy5pZCwgcGFnZWRSb3dzKTtcbiAgICBjb25zdCBDb250ZXh0ID0gVHlwZWRFeHBhbmRlZENvbnRleHQ8VD4oKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17eyBvcGVuTWFwOiBwcm9wcy5vcGVuTWFwISwgZGlzcGF0Y2g6IHByb3BzLmRpc3BhdGNoLCBpZDogcHJvcHMuaWQgfX0+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGFibGVSZWZ9PlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzc05hbWU9XCJkYXRhY29yZS10YWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJkYXRhY29yZS10YWJsZS1oZWFkZXItY2VsbFwiIHdpZHRoPVwiMXB4XCI+PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29sdW1ucy5tYXAoKHgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRyZWVUYWJsZUhlYWRlckNlbGw8VD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQ9e3Byb3BzLnNvcnRPbj8uZmluZCgocykgPT4gcy5pZCA9PT0geC5pZCk/LmRpcmVjdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbj17eH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRhYmxlPXt4LnNvcnRhYmxlID8/IHRydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cGFnZWRSb3dzLm1hcCgocm93KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRyZWVUYWJsZVJvd0dyb3VwPFQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ9e3Jvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw9ezB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwaW5ncz17Z3JvdXBpbmdzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2tleUZuKHJvdyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAge3BhZ2luZy5lbmFibGVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgPENvbnRyb2xsZWRQYWdlciBwYWdlPXtwYWdpbmcucGFnZX0gdG90YWxQYWdlcz17cGFnaW5nLnRvdGFsUGFnZXN9IHNldFBhZ2U9e3BhZ2luZy5zZXRQYWdlfSAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Db250ZXh0LlByb3ZpZGVyPlxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUcmVlVGFibGVWaWV3PFQ+KHByb3BzOiBUcmVlVGFibGVQcm9wczxUPikge1xuICAgIGNvbnN0IFtzdGF0ZSwgZGlzcGF0Y2hdID0gdXNlVHJlZVRhYmxlRGlzcGF0Y2g8VD4oe1xuICAgICAgICBzb3J0T246IHByb3BzLnNvcnRPbiA/PyBbXSxcbiAgICAgICAgaWQ6IHByb3BzLmlkID8gcHJvcHMuaWQgOiAoeCkgPT4gKHggYXMgSW5kZXhhYmxlKS4kaWQsXG4gICAgfSk7XG5cbiAgICBjb25zdCByZWZTdGF0ZSA9IHVzZU1lbW8oKCkgPT4gdXNlUmVmKHN0YXRlKSwgW3N0YXRlXSk7XG4gICAgaWYgKHN0YXRlLm9wZW5NYXAgIT09IHVuZGVmaW5lZCkgcmVmU3RhdGUuY3VycmVudCA9IHN0YXRlO1xuICAgIGVsc2UgcmVmU3RhdGUuY3VycmVudC5vcGVuTWFwID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcIm9wZW4tbWFwLWNoYW5nZWRcIiwgbmV3VmFsdWU6IHJlZlN0YXRlLmN1cnJlbnQub3Blbk1hcCA/PyBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKSB9KTtcbiAgICB9LCBbZGlzcGF0Y2hdKTtcbiAgICBkZWxldGUgcHJvcHMuc29ydE9uO1xuICAgIHJldHVybiA8Q29udHJvbGxlZFRyZWVUYWJsZVZpZXc8VD4gZGlzcGF0Y2g9e2Rpc3BhdGNofSB7Li4uc3RhdGV9IHsuLi5wcm9wc30gLz47XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGFwaVxuICovXG5pbXBvcnQgeyBEYXRhY29yZUFwaSB9IGZyb20gXCJhcGkvYXBpXCI7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGlua1wiO1xuaW1wb3J0IHsgRGF0YWNvcmUgfSBmcm9tIFwiaW5kZXgvZGF0YWNvcmVcIjtcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gXCJpbmRleC9kYXRhc3RvcmVcIjtcbmltcG9ydCB7IEluZGV4UXVlcnkgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXgtcXVlcnlcIjtcbmltcG9ydCB7IEluZGV4YWJsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IE1hcmtkb3duUGFnZSwgTWFya2Rvd25UYXNrSXRlbSB9IGZyb20gXCJpbmRleC90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyB1c2VGaWxlTWV0YWRhdGEsIHVzZUZ1bGxRdWVyeSwgdXNlSW5kZXhVcGRhdGVzLCB1c2VJbnRlcm5pbmcsIHVzZVF1ZXJ5IH0gZnJvbSBcInVpL2hvb2tzXCI7XG5pbXBvcnQgKiBhcyBsdXhvbiBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIHByZWFjdCBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgKiBhcyBob29rcyBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tIFwiLi9yZXN1bHRcIjtcbmltcG9ydCB7IEdyb3VwLCBTdGFjayB9IGZyb20gXCIuL3VpL2xheW91dFwiO1xuaW1wb3J0IHsgRW1iZWQsIExpbmVTcGFuRW1iZWQgfSBmcm9tIFwiYXBpL3VpL2VtYmVkXCI7XG5pbXBvcnQgeyBDVVJSRU5UX0ZJTEVfQ09OVEVYVCwgTGl0LCBNYXJrZG93biwgT2JzaWRpYW5MaW5rIH0gZnJvbSBcInVpL21hcmtkb3duXCI7XG5pbXBvcnQgeyBDU1NQcm9wZXJ0aWVzIH0gZnJvbSBcInByZWFjdC9jb21wYXRcIjtcbmltcG9ydCB7IExpdGVyYWwgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBCdXR0b24sIENoZWNrYm94LCBJY29uLCBTbGlkZXIsIFN3aXRjaCwgVGV4dGJveCwgVmFuaWxsYVNlbGVjdCB9IGZyb20gXCIuL3VpL2Jhc2ljc1wiO1xuaW1wb3J0IHsgVGFza0xpc3QgfSBmcm9tIFwiLi91aS92aWV3cy90YXNrXCI7XG5pbXBvcnQgeyBWYW5pbGxhVGFibGUgfSBmcm9tIFwiLi91aS92aWV3cy90YWJsZVwiO1xuaW1wb3J0IHsgQ2FsbG91dCB9IGZyb20gXCIuL3VpL3ZpZXdzL2NhbGxvdXRcIjtcbmltcG9ydCB7IENhcmQgfSBmcm9tIFwiLi91aS92aWV3cy9jYXJkc1wiO1xuaW1wb3J0IHsgRGF0YUFycmF5IH0gZnJvbSBcIi4vZGF0YS1hcnJheVwiO1xuaW1wb3J0IHsgQ29lcmNlIH0gZnJvbSBcIi4vY29lcmNlXCI7XG5pbXBvcnQgeyBTY3JpcHRDYWNoZSB9IGZyb20gXCIuL3NjcmlwdC1jYWNoZVwiO1xuaW1wb3J0IHsgc2V0VGFza1RleHQsIHVzZVNldEZpZWxkIH0gZnJvbSBcInV0aWxzL2ZpZWxkc1wiO1xuaW1wb3J0IHtcbiAgICBGaWVsZENoZWNrYm94LFxuICAgIEVkaXRhYmxlVGV4dEZpZWxkLFxuICAgIEZpZWxkU2xpZGVyLFxuICAgIEZpZWxkU2VsZWN0LFxuICAgIEZpZWxkU3dpdGNoLFxuICAgIENvbnRyb2xsZWRFZGl0YWJsZVRleHRGaWVsZCxcbn0gZnJvbSBcInVpL2ZpZWxkcy9lZGl0YWJsZS1maWVsZHNcIjtcbmltcG9ydCB7IGNvbXBsZXRlVGFzayB9IGZyb20gXCJ1dGlscy90YXNrXCI7XG5pbXBvcnQgeyBUcmVlVGFibGVWaWV3IH0gZnJvbSBcIi4vdWkvdmlld3MvdHJlZS10YWJsZVwiO1xuaW1wb3J0IHsgVGV4dEVkaXRhYmxlIH0gZnJvbSBcInVpL2ZpZWxkcy9lZGl0YWJsZVwiO1xuXG4vKiogTG9jYWwgQVBJIHByb3ZpZGVkIHRvIHNwZWNpZmljIGNvZGVibG9ja3Mgd2hlbiB0aGV5IGFyZSBleGVjdXRpbmcuXG4gKiBAZ3JvdXAgQ29yZVxuICovXG5leHBvcnQgY2xhc3MgRGF0YWNvcmVMb2NhbEFwaSB7XG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHNjcmlwdENhY2hlOiBTY3JpcHRDYWNoZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgYXBpOiBEYXRhY29yZUFwaSwgcHVibGljIHBhdGg6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNjcmlwdENhY2hlID0gbmV3IFNjcmlwdENhY2hlKHRoaXMuY29yZS5kYXRhc3RvcmUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgY3VycmVudCBmaWxlIHBhdGggZm9yIHRoZSBsb2NhbCBBUEkuICovXG4gICAgcHVibGljIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhdGg7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBmdWxsIG1hcmtkb3duIGZpbGUgbWV0YWRhdGEgZm9yIHRoZSBjdXJyZW50IGZpbGUuICovXG4gICAgcHVibGljIGN1cnJlbnRGaWxlKCk6IE1hcmtkb3duUGFnZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wYWdlKHRoaXMucGF0aCkhO1xuICAgIH1cblxuICAgIC8qKiBHZXQgYWNlc3MgdG8gbHV4b24gZnVuY3Rpb25zLiAqL1xuICAgIGdldCBsdXhvbigpOiB0eXBlb2YgbHV4b24ge1xuICAgICAgICByZXR1cm4gbHV4b247XG4gICAgfVxuXG4gICAgLyoqIEdldCBhY2Nlc3MgdG8gcHJlYWN0IGZ1bmN0aW9ucy4gKi9cbiAgICBnZXQgcHJlYWN0KCk6IHR5cGVvZiBwcmVhY3Qge1xuICAgICAgICByZXR1cm4gcHJlYWN0O1xuICAgIH1cblxuICAgIC8qKiBDZW50cmFsIE9ic2lkaWFuIGFwcCBvYmplY3QuICovXG4gICAgZ2V0IGFwcCgpOiBBcHAge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3JlLmFwcDtcbiAgICB9XG5cbiAgICAvKiogVGhlIGludGVybmFsIHBsdWdpbiBjZW50cmFsIGRhdGFzdHJ1Y3R1cmUuICovXG4gICAgZ2V0IGNvcmUoKTogRGF0YWNvcmUge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuY29yZTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBTY3JpcHQgbG9hZGluZyB1dGlsaXRpZXMgLy9cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIC8qKlxuICAgICAqIEFzeW5jaHJvbm91c2x5IGxvYWQgYSBqYXZhc2NyaXB0IGJsb2NrIGZyb20gdGhlIGdpdmVuIHBhdGggb3IgbGluazsgeW91IGNhbiBlaXRoZXIgbG9hZCBmcm9tIEpTL1RTL0pTWC9UU1ggZmlsZXNcbiAgICAgKiBkaXJlY3RseSwgb3IgZnJvbSBjb2RlYmxvY2tzIGJ5IGxvYWRpbmcgZnJvbSB0aGUgc2VjdGlvbiB0aGUgY29kZWJsb2NrIGlzIGluc2lkZSBvZi4gVGhlcmUgYXJlIGEgZmV3IHN0aXB1bGF0aW9uc1xuICAgICAqIHRvIGxvYWRpbmc6XG4gICAgICogLSBZb3UgY2Fubm90IGxvYWQgY3ljbGljYWwgZGVwZW5kZW5jaWVzLlxuICAgICAqIC0gVGhpcyBpcyBzaW1pbGFyIHRvIHZhbmlsbGEganMgYHJlcXVpcmUoKWAsIG5vdCBgaW1wb3J0IC4uLiBgLiBZb3VyIHNjcmlwdHMgeW91IGFyZSByZXF1aXJpbmcgbmVlZCB0byBleHBsaWNpdGx5XG4gICAgICogICByZXR1cm4gdGhlIHRoaW5ncyB0aGV5IGFyZSBleHBvcnRpbmcsIGxpa2UgdGhlIGV4YW1wbGUgYmVsb3cuIFRoZSBgZXhwb3J0YCBrZXl3b3JkIGRvZXMgbm90IHdvcmsuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGZ1bmN0aW9uIE15RWxlbWVudCgpIHtcbiAgICAgKiAgLi4uXG4gICAgICogfVxuICAgICAqXG4gICAgICogcmV0dXJuIHsgTXlFbGVtZW50IH07XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHJlcXVpcmUocGF0aDogc3RyaW5nIHwgTGluayk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2NyaXB0Q2FjaGUubG9hZChwYXRoLCB7IGRjOiB0aGlzIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0Lm9yRWxzZVRocm93KCk7XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBHZW5lcmFsIHV0aWxpdGllcyAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAvKiogVXRpbGl0aWVzIGZvciBjb2VyY2luZyB0eXBlcyBpbnRvIG9uZSBzcGVjaWZpYyB0eXBlIGZvciBlYXNpZXIgcHJvZ3JhbW1pbmcuICovXG4gICAgcHVibGljIGNvZXJjZSA9IENvZXJjZTtcblxuICAgIC8qKiBSZXNvbHZlIGEgbG9jYWwgb3IgYWJzb2x1dGUgcGF0aCBvciBsaW5rIHRvIGFuIGFic29sdXRlIHBhdGguICovXG4gICAgcHVibGljIHJlc29sdmVQYXRoKHBhdGg6IHN0cmluZyB8IExpbmssIHNvdXJjZVBhdGg/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucmVzb2x2ZVBhdGgocGF0aCwgc291cmNlUGF0aCA/PyB0aGlzLnBhdGgpO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgdGhlIGdpdmVuIHF1ZXJ5LCByZXR1cm5pbmcgYSBtb25hZGljIHN1Y2Nlc3MvZmFpbHVyZSByZXN1bHQuICovXG4gICAgcHVibGljIHRyeVBhcnNlUXVlcnkocXVlcnk6IHN0cmluZyB8IEluZGV4UXVlcnkpOiBSZXN1bHQ8SW5kZXhRdWVyeSwgc3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS50cnlQYXJzZVF1ZXJ5KHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAvKiogVHJ5IHRvIHBhcnNlIHRoZSBnaXZlbiBxdWVyeSwgdGhyb3dpbmcgYW4gZXJyb3IgaWYgaXQgaXMgaW52YWxpZC4gKi9cbiAgICBwdWJsaWMgcGFyc2VRdWVyeShxdWVyeTogc3RyaW5nIHwgSW5kZXhRdWVyeSk6IEluZGV4UXVlcnkge1xuICAgICAgICByZXR1cm4gdGhpcy50cnlQYXJzZVF1ZXJ5KHF1ZXJ5KS5vckVsc2VUaHJvdygoZSkgPT4gXCJGYWlsZWQgdG8gcGFyc2UgcXVlcnk6IFwiICsgZSk7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSBhIGZpbGUgbGluayBwb2ludGluZyB0byB0aGUgZ2l2ZW4gcGF0aC4gKi9cbiAgICBwdWJsaWMgZmlsZUxpbmsocGF0aDogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUocGF0aCk7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSBhIGxpbmsgdG8gYSBoZWFkZXIgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gKi9cbiAgICBwdWJsaWMgaGVhZGVyTGluayhwYXRoOiBzdHJpbmcsIGhlYWRlcjogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmhlYWRlcihwYXRoLCBoZWFkZXIpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgYmxvY2sgd2l0aCB0aGUgZ2l2ZW4gcGF0aCBhbmQgYmxvY2sgSUQuICovXG4gICAgcHVibGljIGJsb2NrTGluayhwYXRoOiBzdHJpbmcsIGJsb2NrOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuYmxvY2socGF0aCwgYmxvY2spO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgdGhlIGdpdmVuIGxpbmssIHRocm93aW5nIGFuIGVycm9yIGlmIGl0IGlzIGludmFsaWQuICovXG4gICAgcHVibGljIHBhcnNlTGluayhsaW5rdGV4dDogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wYXJzZUxpbmsobGlua3RleHQpO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgYSBsaW5rLCByZXR1cm5pbmcgYSBtb25hZGljIHN1Y2Nlc3MvZmFpbHVyZSByZXN1bHQuICovXG4gICAgcHVibGljIHRyeVBhcnNlTGluayhsaW5rdGV4dDogc3RyaW5nKTogUmVzdWx0PExpbmssIHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkudHJ5UGFyc2VMaW5rKGxpbmt0ZXh0KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgZGF0YSBhcnJheSBmcm9tIGEgcmVndWxhciBhcnJheS4gKi9cbiAgICBwdWJsaWMgYXJyYXk8VD4oaW5wdXQ6IFRbXSB8IERhdGFBcnJheTxUPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiBEYXRhQXJyYXkud3JhcChpbnB1dCk7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdGhlIHRleHQgb2YgYSBnaXZlbiB0YXNrIHByb2dyYW1tYXRpY2FsbHkuICovXG5cbiAgICBwdWJsaWMgc2V0VGFza1RleHQobmV3VGV4dDogc3RyaW5nLCB0YXNrOiBNYXJrZG93blRhc2tJdGVtKTogdm9pZCB7XG4gICAgICAgIHNldFRhc2tUZXh0KHRoaXMuYXBwLCB0aGlzLmNvcmUsIG5ld1RleHQsIHRhc2spO1xuICAgIH1cblxuICAgIC8qKiBTZXRzIHRoZSBjb21wbGV0aW9uIHN0YXR1cyBvZiBhIGdpdmVuIHRhc2sgcHJvZ3JhbW1hdGljYWxseS4gKi9cbiAgICBwdWJsaWMgc2V0VGFza0NvbXBsZXRpb24oY29tcGxldGVkOiBib29sZWFuLCB0YXNrOiBNYXJrZG93blRhc2tJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbXBsZXRlVGFzayhjb21wbGV0ZWQsIHRhc2ssIHRoaXMuYXBwLnZhdWx0LCB0aGlzLmNvcmUpO1xuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy9cbiAgICAvLyAgSG9va3MgIC8vXG4gICAgLy8vLy8vLy8vLy8vL1xuXG4gICAgLy8gRXhwb3J0IHRoZSBjb21tb24gcHJlYWN0IGhvb2tzIGZvciBwZW9wbGUgdG8gdXNlIHZpYSBgZGMuYDpcbiAgICBwdWJsaWMgdXNlU3RhdGUgPSBob29rcy51c2VTdGF0ZTtcbiAgICBwdWJsaWMgdXNlQ2FsbGJhY2sgPSBob29rcy51c2VDYWxsYmFjaztcbiAgICBwdWJsaWMgdXNlUmVkdWNlciA9IGhvb2tzLnVzZVJlZHVjZXI7XG4gICAgcHVibGljIHVzZU1lbW8gPSBob29rcy51c2VNZW1vO1xuICAgIHB1YmxpYyB1c2VFZmZlY3QgPSBob29rcy51c2VFZmZlY3Q7XG4gICAgcHVibGljIGNyZWF0ZUNvbnRleHQgPSBwcmVhY3QuY3JlYXRlQ29udGV4dDtcbiAgICBwdWJsaWMgdXNlQ29udGV4dCA9IGhvb2tzLnVzZUNvbnRleHQ7XG4gICAgcHVibGljIHVzZVJlZiA9IGhvb2tzLnVzZVJlZjtcbiAgICBwdWJsaWMgdXNlSW50ZXJuaW5nID0gdXNlSW50ZXJuaW5nO1xuICAgIHB1YmxpYyB1c2VTZXRGaWVsZCA9IHVzZVNldEZpZWxkO1xuXG4gICAgLyoqIE1lbW9pemUgdGhlIGlucHV0IGF1dG9tYXRpY2FsbHkgYW5kIHByb2Nlc3MgaXQgdXNpbmcgYSBEYXRhIEFycmF5OyByZXR1cm5zIGEgdmFuaWxsYSBhcnJheSBiYWNrLiAqL1xuICAgIHB1YmxpYyB1c2VBcnJheTxULCBVPihpbnB1dDogVFtdIHwgRGF0YUFycmF5PFQ+LCBwcm9jZXNzOiAoZGF0YTogRGF0YUFycmF5PFQ+KSA9PiBEYXRhQXJyYXk8VT4sIGRlcHM/OiBhbnlbXSk6IFVbXSB7XG4gICAgICAgIHJldHVybiBob29rcy51c2VNZW1vKCgpID0+IHByb2Nlc3MoRGF0YUFycmF5LndyYXAoaW5wdXQpKS5hcnJheSgpLCBbaW5wdXQsIC4uLihkZXBzID8/IFtdKV0pO1xuICAgIH1cblxuICAgIC8qKiBVc2UgdGhlIGZpbGUgbWV0YWRhdGEgZm9yIHRoZSBjdXJyZW50IGZpbGUuIEF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0aGUgdmlldyB3aGVuIHRoZSBjdXJyZW50IGZpbGUgbWV0YWRhdGEgY2hhbmdlcy4gKi9cbiAgICBwdWJsaWMgdXNlQ3VycmVudEZpbGUoc2V0dGluZ3M/OiB7IGRlYm91bmNlPzogbnVtYmVyIH0pOiBNYXJrZG93blBhZ2Uge1xuICAgICAgICByZXR1cm4gdXNlRmlsZU1ldGFkYXRhKHRoaXMuY29yZSwgdGhpcy5wYXRoLCBzZXR0aW5ncykgYXMgTWFya2Rvd25QYWdlO1xuICAgIH1cblxuICAgIC8qKiBVc2UgdGhlIGN1cnJlbnQgcGF0aC4gQXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSB2aWV3IGlmIHRoZSBwYXRoIGNoYW5nZXMgKHRob3VnaCB0aGF0IHdvdWxkIGJlIHdlaXJkKS4gKi9cbiAgICBwdWJsaWMgdXNlQ3VycmVudFBhdGgoc2V0dGluZ3M/OiB7IGRlYm91bmNlPzogbnVtYmVyIH0pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtZXRhID0gdGhpcy51c2VDdXJyZW50RmlsZShzZXR0aW5ncyk7XG4gICAgICAgIHJldHVybiBtZXRhLiRwYXRoO1xuICAgIH1cblxuICAgIC8qKiBVc2UgdGhlIGZpbGUgbWV0YWRhdGEgZm9yIGEgc3BlY2lmaWMgZmlsZS4gQXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSB2aWV3IHdoZW4gdGhlIGZpbGUgY2hhbmdlcy4gKi9cbiAgICBwdWJsaWMgdXNlRmlsZShwYXRoOiBzdHJpbmcsIHNldHRpbmdzPzogeyBkZWJvdW5jZT86IG51bWJlciB9KTogSW5kZXhhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHVzZUZpbGVNZXRhZGF0YSh0aGlzLmNvcmUsIHBhdGgsIHNldHRpbmdzKSE7XG4gICAgfVxuXG4gICAgLyoqIEF1dG9tYXRpY2FsbHkgcmVmcmVzaCB0aGUgdmlldyB3aGVuZXZlciB0aGUgaW5kZXggdXBkYXRlczsgcmV0dXJucyB0aGUgbGF0ZXN0IGluZGV4IHJldmlzaW9uIElELiAqL1xuICAgIHB1YmxpYyB1c2VJbmRleFVwZGF0ZXMoc2V0dGluZ3M/OiB7IGRlYm91bmNlPzogbnVtYmVyIH0pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdXNlSW5kZXhVcGRhdGVzKHRoaXMuY29yZSwgc2V0dGluZ3MpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJ1biBhIHF1ZXJ5LCBhdXRvbWF0aWNhbGx5IHJlLXJ1bm5pbmcgaXQgd2hlbmV2ZXIgdGhlIHZhdWx0IGNoYW5nZXMuIFJldHVybnMgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcXVlcnlcbiAgICAgKiBleGVjdXRpb24sIHN1Y2ggYXMgaW5kZXggcmV2aXNpb24gYW5kIHRvdGFsIHNlYXJjaCBkdXJhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXNlRnVsbFF1ZXJ5KHF1ZXJ5OiBzdHJpbmcgfCBJbmRleFF1ZXJ5LCBzZXR0aW5ncz86IHsgZGVib3VuY2U/OiBudW1iZXIgfSk6IFNlYXJjaFJlc3VsdDxJbmRleGFibGU+IHtcbiAgICAgICAgcmV0dXJuIHVzZUZ1bGxRdWVyeSh0aGlzLmNvcmUsIHRoaXMucGFyc2VRdWVyeShxdWVyeSksIHNldHRpbmdzKTtcbiAgICB9XG5cbiAgICAvKiogUnVuIGEgcXVlcnksIGF1dG9tYXRpY2FsbHkgcmUtcnVubmluZyBpdCB3aGVuZXZlciB0aGUgdmF1bHQgY2hhbmdlcy4gKi9cbiAgICBwdWJsaWMgdXNlUXVlcnkocXVlcnk6IHN0cmluZyB8IEluZGV4UXVlcnksIHNldHRpbmdzPzogeyBkZWJvdW5jZT86IG51bWJlciB9KTogSW5kZXhhYmxlW10ge1xuICAgICAgICAvLyBIb29rcyBuZWVkIHRvIGJlIGNhbGxlZCBpbiBhIGNvbnNpc3RlbnQgb3JkZXIsIHNvIHdlIGRvbid0IG5lc3QgdGhlIGB1c2VRdWVyeWAgY2FsbCBpbiB0aGUgRGF0YUFycmF5LndyYXAgX2p1c3RfIGluIGNhc2UuXG4gICAgICAgIHJldHVybiB1c2VRdWVyeSh0aGlzLmNvcmUsIHRoaXMucGFyc2VRdWVyeShxdWVyeSksIHNldHRpbmdzKTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBWaXN1YWwgRWxlbWVudHMgLy9cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIC8qKiBWZXJ0aWNhbCBmbGV4Ym94IGNvbnRhaW5lcjsgZ29vZCBmb3IgcHV0dGluZyBpdGVtcyB0b2dldGhlciBpbiBhIGNvbHVtbi4gKi9cbiAgICBwdWJsaWMgU3RhY2sgPSBTdGFjaztcbiAgICAvKiogSG9yaXpvbnRhbCBmbGV4Ym94IGNvbnRhaW5lcjsgZ29vZCBmb3IgcHV0dGluZyBpdGVtcyB0b2dldGhlciBpbiBhIHJvdy4gKi9cbiAgICBwdWJsaWMgR3JvdXAgPSBHcm91cDtcblxuICAgIC8qKiBSZW5kZXJzIGEgbGl0ZXJhbCB2YWx1ZSBpbiBhIHByZXR0eSB3YXkgdGhhdCByZXNwZWN0cyBzZXR0aW5ncy4gKi9cbiAgICBwdWJsaWMgTGl0ZXJhbCA9ICgoeyB2YWx1ZSwgc291cmNlUGF0aCwgaW5saW5lIH06IHsgdmFsdWU6IExpdGVyYWw7IHNvdXJjZVBhdGg/OiBzdHJpbmc7IGlubGluZT86IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgICBjb25zdCBpbXBsaWNpdFNvdXJjZVBhdGggPSBob29rcy51c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcbiAgICAgICAgcmV0dXJuIDxMaXQgdmFsdWU9e3ZhbHVlfSBzb3VyY2VQYXRoPXtzb3VyY2VQYXRoID8/IGltcGxpY2l0U291cmNlUGF0aCA/PyB0aGlzLnBhdGh9IGlubGluZT17aW5saW5lfSAvPjtcbiAgICB9KS5iaW5kKHRoaXMpO1xuXG4gICAgLyoqIFJlbmRlcnMgbWFya2Rvd24gdXNpbmcgdGhlIE9ic2lkaWFuIG1hcmtkb3duIHJlbmRlcmVyLCBvcHRpb25hbGx5IGF0dGFjaGluZyBhZGRpdGlvbmFsIHN0eWxlcy4gKi9cbiAgICBwdWJsaWMgTWFya2Rvd24gPSAoKHtcbiAgICAgICAgY29udGVudCxcbiAgICAgICAgc291cmNlUGF0aCxcbiAgICAgICAgaW5saW5lLFxuICAgICAgICBzdHlsZSxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgIH06IHtcbiAgICAgICAgY29udGVudDogc3RyaW5nO1xuICAgICAgICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICAgICAgICBpbmxpbmU/OiBib29sZWFuO1xuICAgICAgICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGltcGxpY2l0U291cmNlUGF0aCA9IGhvb2tzLnVzZUNvbnRleHQoQ1VSUkVOVF9GSUxFX0NPTlRFWFQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPE1hcmtkb3duXG4gICAgICAgICAgICAgICAgY29udGVudD17Y29udGVudH1cbiAgICAgICAgICAgICAgICBzb3VyY2VQYXRoPXtzb3VyY2VQYXRoID8/IGltcGxpY2l0U291cmNlUGF0aCA/PyB0aGlzLnBhdGh9XG4gICAgICAgICAgICAgICAgaW5saW5lPXtpbmxpbmV9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgICAgIGNscz17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9KS5iaW5kKHRoaXMpO1xuXG4gICAgLyoqIFJlbmRlcnMgYW4gb2JzaWRpYW4tc3R5bGUgbGluayBkaXJlY3RseSBhbmQgbW9yZSBlZmZpZWljbnRseSB0aGFuIHJlbmRlcmluZyBtYXJrZG93bi4gKi9cbiAgICBwdWJsaWMgTGluayA9IE9ic2lkaWFuTGluaztcblxuICAgIC8qKiBDcmVhdGUgYSB2YW5pbGxhIE9ic2lkaWFuIGVtYmVkIGZvciB0aGUgZ2l2ZW4gbGluay4gKi9cbiAgICBwdWJsaWMgTGlua0VtYmVkID0gKCh7XG4gICAgICAgIGxpbmssXG4gICAgICAgIGlubGluZSxcbiAgICAgICAgc291cmNlUGF0aCxcbiAgICB9OiB7XG4gICAgICAgIGxpbms6IHN0cmluZyB8IExpbms7XG4gICAgICAgIGlubGluZT86IGJvb2xlYW47XG4gICAgICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgICBjb25zdCByZWFsTGluayA9IGhvb2tzLnVzZU1lbW8oKCkgPT4gKHR5cGVvZiBsaW5rID09PSBcInN0cmluZ1wiID8gTGluay5maWxlKGxpbmspIDogbGluayksIFtsaW5rXSk7XG4gICAgICAgIGNvbnN0IGltcGxpY2l0U291cmNlUGF0aCA9IGhvb2tzLnVzZUNvbnRleHQoQ1VSUkVOVF9GSUxFX0NPTlRFWFQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEVtYmVkXG4gICAgICAgICAgICAgICAgbGluaz17cmVhbExpbmt9XG4gICAgICAgICAgICAgICAgaW5saW5lPXtpbmxpbmUgPz8gZmFsc2V9XG4gICAgICAgICAgICAgICAgc291cmNlUGF0aD17c291cmNlUGF0aCA/PyBpbXBsaWNpdFNvdXJjZVBhdGggPz8gdGhpcy5wYXRofVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9KS5iaW5kKHRoaXMpO1xuXG4gICAgLyoqIENyZWF0ZSBhbiBleHBsaWNpdCAnc3BhbicgZW1iZWQgd2hpY2ggZXh0cmFjdHMgYSBzcGFuIG9mIGxpbmVzIGZyb20gYSBtYXJrZG93biBmaWxlLiAqL1xuICAgIHB1YmxpYyBTcGFuRW1iZWQgPSAoKHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgc3RhcnQsXG4gICAgICAgIGVuZCxcbiAgICAgICAgZXhwbGFpbixcbiAgICAgICAgc2hvd0V4cGxhaW4sXG4gICAgICAgIHNvdXJjZVBhdGg6IG1heWJlU291cmNlUGF0aCxcbiAgICB9OiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAgc291cmNlUGF0aD86IHN0cmluZztcbiAgICAgICAgZXhwbGFpbj86IHN0cmluZztcbiAgICAgICAgc2hvd0V4cGxhaW4/OiBib29sZWFuO1xuICAgICAgICBzdGFydDogbnVtYmVyO1xuICAgICAgICBlbmQ6IG51bWJlcjtcbiAgICB9KSA9PiB7XG4gICAgICAgIC8vIFJlc29sdmUgdGhlIHBhdGggdG8gdGhlIGNvcnJlY3QgcGF0aCBpZiBhIHNvdXJjZSBwYXRoIGlzIHByb3ZpZGVkLlxuICAgICAgICBjb25zdCBzb3VyY2VQYXRoID0gbWF5YmVTb3VyY2VQYXRoID8/IHRoaXMucGF0aDtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gaG9va3MudXNlTWVtbygoKSA9PiB0aGlzLnJlc29sdmVQYXRoKHBhdGgsIHNvdXJjZVBhdGgpLCBbcGF0aCwgc291cmNlUGF0aF0pO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8TGluZVNwYW5FbWJlZCBwYXRoPXtyZXNvbHZlZFBhdGh9IHN0YXJ0PXtzdGFydH0gZW5kPXtlbmR9IGV4cGxhaW49e2V4cGxhaW59IHNob3dFeHBsYWluPXtzaG93RXhwbGFpbn0gLz5cbiAgICAgICAgKTtcbiAgICB9KS5iaW5kKHRoaXMpO1xuXG4gICAgLyoqIFJlbmRlcnMgYW4gb2JzaWRpYW4gbHVjaWRlIGljb24uICovXG4gICAgcHVibGljIEljb24gPSBJY29uO1xuXG4gICAgLy8vLy8vLy8vLy9cbiAgICAvLyBWaWV3cyAvL1xuICAgIC8vLy8vLy8vLy8vXG5cbiAgICBwdWJsaWMgVGFza0xpc3QgPSBUYXNrTGlzdDtcbiAgICBwdWJsaWMgVmFuaWxsYVRhYmxlID0gVmFuaWxsYVRhYmxlO1xuICAgIHB1YmxpYyBUcmVlVGFibGUgPSBUcmVlVGFibGVWaWV3O1xuICAgIHB1YmxpYyBDYXJkID0gQ2FyZDtcblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJbnRlcmF0aXZlIGVsZW1lbnRzIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcHVibGljIEJ1dHRvbiA9IEJ1dHRvbjtcbiAgICBwdWJsaWMgVGV4dGJveCA9IFRleHRib3g7XG4gICAgcHVibGljIENhbGxvdXQgPSBDYWxsb3V0O1xuICAgIHB1YmxpYyBDaGVja2JveCA9IENoZWNrYm94O1xuICAgIHB1YmxpYyBTbGlkZXIgPSBTbGlkZXI7XG4gICAgcHVibGljIFN3aXRjaCA9IFN3aXRjaDtcbiAgICBwdWJsaWMgVmFuaWxsYVNlbGVjdCA9IFZhbmlsbGFTZWxlY3Q7XG4gICAgcHVibGljIFZhbmlsbGFUZXh0Qm94ID0gQ29udHJvbGxlZEVkaXRhYmxlVGV4dEZpZWxkO1xuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vICAgIGZpZWxkIGVkaXRvcnMgICAgLy9cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgcHVibGljIEZpZWxkQ2hlY2tib3ggPSBGaWVsZENoZWNrYm94O1xuICAgIHB1YmxpYyBGaWVsZFNsaWRlciA9IEZpZWxkU2xpZGVyO1xuICAgIHB1YmxpYyBGaWVsZFNlbGVjdCA9IEZpZWxkU2VsZWN0O1xuICAgIHB1YmxpYyBGaWVsZFN3aXRjaCA9IEZpZWxkU3dpdGNoO1xuICAgIHB1YmxpYyBUZXh0RmllbGQgPSBFZGl0YWJsZVRleHRGaWVsZDtcbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgYXBpXG4gKi9cbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSBcImluZGV4L2RhdGFzdG9yZVwiO1xuaW1wb3J0IHsgUFJJTUlUSVZFUywgUVVFUlkgfSBmcm9tIFwiZXhwcmVzc2lvbi9wYXJzZXJcIjtcbmltcG9ydCB7IEluZGV4UXVlcnkgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXgtcXVlcnlcIjtcbmltcG9ydCB7IEluZGV4YWJsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IE1hcmtkb3duUGFnZSB9IGZyb20gXCJpbmRleC90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcIi4vcmVzdWx0XCI7XG5pbXBvcnQgeyBBcHAsIENvbXBvbmVudCwgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCwgTWFya2Rvd25SZW5kZXJDaGlsZCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRGF0YWNvcmVKU1JlbmRlcmVyIH0gZnJvbSBcInVpL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IERhdGFjb3JlTG9jYWxBcGkgfSBmcm9tIFwiLi9sb2NhbC1hcGlcIjtcbmltcG9ydCBQYXJzaW1tb24gZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IHsgQ29lcmNlIH0gZnJvbSBcIi4vY29lcmNlXCI7XG5pbXBvcnQgeyBEYXRhQXJyYXkgfSBmcm9tIFwiLi9kYXRhLWFycmF5XCI7XG5pbXBvcnQgKiBhcyBsdXhvbiBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIHByZWFjdCBmcm9tIFwicHJlYWN0XCI7XG5cbi8qKiBFeHRlcmFsbHkgdmlzaWJsZSBBUEkgZm9yIGRhdGFjb3JlLlxuICogQGdyb3VwIENvcmVcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFjb3JlQXBpIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGNvcmU6IERhdGFjb3JlKSB7fVxuXG4gICAgLyoqIEdldCBhY2VzcyB0byBsdXhvbiBmdW5jdGlvbnMuICovXG4gICAgZ2V0IGx1eG9uKCk6IHR5cGVvZiBsdXhvbiB7XG4gICAgICAgIHJldHVybiBsdXhvbjtcbiAgICB9XG5cbiAgICAvKiogR2V0IGFjY2VzcyB0byBwcmVhY3QgZnVuY3Rpb25zLiAqL1xuICAgIGdldCBwcmVhY3QoKTogdHlwZW9mIHByZWFjdCB7XG4gICAgICAgIHJldHVybiBwcmVhY3Q7XG4gICAgfVxuXG4gICAgLyoqIENlbnRyYWwgT2JzaWRpYW4gYXBwIG9iamVjdC4gKi9cbiAgICBnZXQgYXBwKCk6IEFwcCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvcmUuYXBwO1xuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIExvY2FsIEFQSSAvL1xuICAgIC8vLy8vLy8vLy8vLy8vL1xuXG4gICAgLyoqIENvbnN0cnVjdCBhIGxvY2FsIEFQSSBmb3IgdGhlIGZpbGUgYXQgdGhlIGdpdmVuIHBhdGguICovXG4gICAgcHVibGljIGxvY2FsKHBhdGg6IHN0cmluZyk6IERhdGFjb3JlTG9jYWxBcGkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGFjb3JlTG9jYWxBcGkodGhpcywgcGF0aCk7XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFF1ZXJ5aW5nICsgRmV0Y2hpbmcgLy9cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAvKiogTG9hZCBhIG1hcmtkb3duIGZpbGUgYnkgZnVsbCBwYXRoIG9yIGxpbmsuICovXG4gICAgcHVibGljIHBhZ2UocGF0aDogc3RyaW5nIHwgTGluayk6IE1hcmtkb3duUGFnZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHJlYWxQYXRoID0gcGF0aCBpbnN0YW5jZW9mIExpbmsgPyBwYXRoLnBhdGggOiBwYXRoO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvcmUuZGF0YXN0b3JlLmxvYWQocmVhbFBhdGgpIGFzIE1hcmtkb3duUGFnZSB8IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogRXhlY3V0ZSBhIHRleHR1YWwgb3IgdHlwZWQgaW5kZXggcXVlcnksIHJldHVybmluZyBhbGwgcmVzdWx0cy4gKi9cbiAgICBwdWJsaWMgcXVlcnkocXVlcnk6IHN0cmluZyB8IEluZGV4UXVlcnkpOiBJbmRleGFibGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyeVF1ZXJ5KHF1ZXJ5KS5vckVsc2VUaHJvdygpO1xuICAgIH1cblxuICAgIC8qKiBFeGVjdXRlIGEgdGV4dHVhbCBvciB0eXBlZCBpbmRleCBxdWVyeSwgcmV0dXJuaW5nIGFsbCByZXN1bHRzLiAqL1xuICAgIHB1YmxpYyB0cnlRdWVyeShxdWVyeTogc3RyaW5nIHwgSW5kZXhRdWVyeSk6IFJlc3VsdDxJbmRleGFibGVbXSwgc3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyeUZ1bGxRdWVyeShxdWVyeSkubWFwKChyZXN1bHQpID0+IHJlc3VsdC5yZXN1bHRzKTtcbiAgICB9XG5cbiAgICAvKiogRXhlY3V0ZSBhIHRleHR1YWwgb3IgdHlwZWQgaW5kZXggcXVlcnksIHJldHVybmluZyByZXN1bHRzIHBsdXMgcGVyZm9ybWFuY2UgbWV0YWRhdGEuICovXG4gICAgcHVibGljIGZ1bGxxdWVyeShxdWVyeTogc3RyaW5nIHwgSW5kZXhRdWVyeSk6IFNlYXJjaFJlc3VsdDxJbmRleGFibGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJ5RnVsbFF1ZXJ5KHF1ZXJ5KS5vckVsc2VUaHJvdygpO1xuICAgIH1cblxuICAgIC8qKiBFeGVjdXRlIGEgdGV4dHVhbCBvciB0eXBlZCBpbmRleCBxdWVyeSwgcmV0dXJuaW5nIHJlc3VsdHMgcGx1cyBwZXJmb3JtYW5jZSBtZXRhZGF0YS4gKi9cbiAgICBwdWJsaWMgdHJ5RnVsbFF1ZXJ5KHF1ZXJ5OiBzdHJpbmcgfCBJbmRleFF1ZXJ5KTogUmVzdWx0PFNlYXJjaFJlc3VsdDxJbmRleGFibGU+LCBzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgcGFyc2VkUXVlcnkgPSB0eXBlb2YgcXVlcnkgPT09IFwic3RyaW5nXCIgPyBRVUVSWS5xdWVyeS50cnlQYXJzZShxdWVyeSkgOiBxdWVyeTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29yZS5kYXRhc3RvcmUuc2VhcmNoKHBhcnNlZFF1ZXJ5KTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEdlbmVyYWwgdXRpbGl0aWVzIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIC8qKiBVdGlsaXRpZXMgZm9yIGNvZXJjaW5nIHR5cGVzIGludG8gb25lIHNwZWNpZmljIHR5cGUgZm9yIGVhc2llciBwcm9ncmFtbWluZy4gKi9cbiAgICBwdWJsaWMgY29lcmNlID0gQ29lcmNlO1xuXG4gICAgLyoqIFJlc29sdmUgYSBsb2NhbCBvciBhYnNvbHV0ZSBwYXRoIG9yIGxpbmsgdG8gYW4gYWJzb2x1dGUgcGF0aC4gKi9cbiAgICBwdWJsaWMgcmVzb2x2ZVBhdGgocGF0aDogc3RyaW5nIHwgTGluaywgc291cmNlUGF0aD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJhd3BhdGggPSBwYXRoIGluc3RhbmNlb2YgTGluayA/IHBhdGgucGF0aCA6IHBhdGg7XG4gICAgICAgIGlmIChyYXdwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSByZXR1cm4gcmF3cGF0aC5zdWJzdHJpbmcoMSk7XG5cbiAgICAgICAgY29uc3QgYWJzb2x1dGUgPSB0aGlzLmNvcmUubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdChyYXdwYXRoLCBzb3VyY2VQYXRoID8/IFwiXCIpO1xuICAgICAgICBpZiAoYWJzb2x1dGUpIHJldHVybiBhYnNvbHV0ZS5wYXRoO1xuXG4gICAgICAgIHJldHVybiByYXdwYXRoO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgdGhlIGdpdmVuIHF1ZXJ5LCByZXR1cm5pbmcgYSBtb25hZGljIHN1Y2Nlc3MvZmFpbHVyZSByZXN1bHQuICovXG4gICAgcHVibGljIHRyeVBhcnNlUXVlcnkocXVlcnk6IHN0cmluZyB8IEluZGV4UXVlcnkpOiBSZXN1bHQ8SW5kZXhRdWVyeSwgc3RyaW5nPiB7XG4gICAgICAgIGlmICghKHR5cGVvZiBxdWVyeSA9PT0gXCJzdHJpbmdcIikpIHJldHVybiBSZXN1bHQuc3VjY2VzcyhxdWVyeSk7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gUVVFUlkucXVlcnkucGFyc2UocXVlcnkpO1xuICAgICAgICBpZiAocmVzdWx0LnN0YXR1cykgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKFBhcnNpbW1vbi5mb3JtYXRFcnJvcihxdWVyeSwgcmVzdWx0KSk7XG4gICAgfVxuXG4gICAgLyoqIFRyeSB0byBwYXJzZSB0aGUgZ2l2ZW4gcXVlcnksIHRocm93aW5nIGFuIGVycm9yIGlmIGl0IGlzIGludmFsaWQuICovXG4gICAgcHVibGljIHBhcnNlUXVlcnkocXVlcnk6IHN0cmluZyB8IEluZGV4UXVlcnkpOiBJbmRleFF1ZXJ5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJ5UGFyc2VRdWVyeShxdWVyeSkub3JFbHNlVGhyb3coKGUpID0+IFwiRmFpbGVkIHRvIHBhcnNlIHF1ZXJ5OiBcIiArIGUpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBmaWxlIGxpbmsgcG9pbnRpbmcgdG8gdGhlIGdpdmVuIHBhdGguICovXG4gICAgcHVibGljIGZpbGVMaW5rKHBhdGg6IHN0cmluZyk6IExpbmsge1xuICAgICAgICByZXR1cm4gTGluay5maWxlKHBhdGgpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgaGVhZGVyIHdpdGggdGhlIGdpdmVuIG5hbWUuICovXG4gICAgcHVibGljIGhlYWRlckxpbmsocGF0aDogc3RyaW5nLCBoZWFkZXI6IHN0cmluZyk6IExpbmsge1xuICAgICAgICByZXR1cm4gTGluay5oZWFkZXIocGF0aCwgaGVhZGVyKTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIGJsb2NrIHdpdGggdGhlIGdpdmVuIHBhdGggYW5kIGJsb2NrIElELiAqL1xuICAgIHB1YmxpYyBibG9ja0xpbmsocGF0aDogc3RyaW5nLCBibG9jazogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmJsb2NrKHBhdGgsIGJsb2NrKTtcbiAgICB9XG5cbiAgICAvKiogVHJ5IHRvIHBhcnNlIHRoZSBnaXZlbiBsaW5rLCB0aHJvd2luZyBhbiBlcnJvciBpZiBpdCBpcyBpbnZhbGlkLiAqL1xuICAgIHB1YmxpYyBwYXJzZUxpbmsobGlua3RleHQ6IHN0cmluZyk6IExpbmsge1xuICAgICAgICByZXR1cm4gdGhpcy50cnlQYXJzZUxpbmsobGlua3RleHQpLm9yRWxzZVRocm93KChlKSA9PiBcIkZhaWxlZCB0byBwYXJzZSBsaW5rOiBcIiArIGUpO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgYSBsaW5rLCByZXR1cm5pbmcgYSBtb25hZGljIHN1Y2Nlc3MvZmFpbHVyZSByZXN1bHQuICovXG4gICAgcHVibGljIHRyeVBhcnNlTGluayhsaW5rdGV4dDogc3RyaW5nKTogUmVzdWx0PExpbmssIHN0cmluZz4ge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBQUklNSVRJVkVTLmVtYmVkTGluay5wYXJzZShsaW5rdGV4dCk7XG4gICAgICAgIGlmICghcGFyc2VkLnN0YXR1cykgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKFBhcnNpbW1vbi5mb3JtYXRFcnJvcihsaW5rdGV4dCwgcGFyc2VkKSk7XG5cbiAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHBhcnNlZC52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSBhIGRhdGEgYXJyYXkgZnJvbSBhIHJlZ3VsYXIgYXJyYXkuICovXG4gICAgcHVibGljIGFycmF5PFQ+KGlucHV0OiBUW10gfCBEYXRhQXJyYXk8VD4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gRGF0YUFycmF5LndyYXAoaW5wdXQpO1xuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFZpc3VhbCBFbGVtZW50cyAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgLyoqXG4gICAgICogUnVuIHRoZSBnaXZlbiBEYXRhY29yZUpTIHNjcmlwdCwgcmVuZGVyaW5nIGl0IGludG8gdGhlIGdpdmVuIGNvbnRhaW5lci4gVGhpcyBmdW5jdGlvblxuICAgICAqIHdpbGwgcmV0dXJuIHF1aWNrbHk7IGFjdHVhbCByZW5kZXJpbmcgaXMgZG9uZSBhc3luY2hyb25vdXNseSBpbiB0aGUgYmFja2dyb3VuZC5cbiAgICAgKlxuICAgICAqIFJldHVybnMgYSBtYXJrZG93biByZW5kZXIgY2hpbGQgcmVwcmVzZW50aW5nIHRoZSByZW5kZXJlZCBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGV4ZWN1dGVKcyhcbiAgICAgICAgc291cmNlOiBzdHJpbmcsXG4gICAgICAgIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50IHwgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCxcbiAgICAgICAgc291cmNlUGF0aDogc3RyaW5nXG4gICAgKTogTWFya2Rvd25SZW5kZXJDaGlsZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW5kZXJKYXZhc2NyaXB0KHNvdXJjZSwgY29udGFpbmVyLCBjb21wb25lbnQsIHNvdXJjZVBhdGgsIFwianNcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2ltaWxhciB0byBgZXhlY3V0ZUpzYCwgYnV0IGZvciBKU1ggc2NyaXB0cy4gSWYgeW91IGFyZSB1bnN1cmUgaWYgeW91ciBpbnB1dCB3aWxsIGJlIEpTXG4gICAgICogb3IgSlNYLCB1c2UgdGhpcyBvbmUsIGFzIGl0IGFsc28gc3VwcG9ydHMgcmVndWxhciBqYXZhc2NyaXB0IChhbGJlaXQgYXQgYXQgYSBtaWxkIHBlcmZvcm1hbmNlXG4gICAgICogaGl0IHRvIHJlbmRlcmluZykuXG4gICAgICovXG4gICAgcHVibGljIGV4ZWN1dGVKc3goXG4gICAgICAgIHNvdXJjZTogc3RyaW5nLFxuICAgICAgICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICAgICAgICBjb21wb25lbnQ6IENvbXBvbmVudCB8IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQsXG4gICAgICAgIHNvdXJjZVBhdGg6IHN0cmluZ1xuICAgICk6IE1hcmtkb3duUmVuZGVyQ2hpbGQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVuZGVySmF2YXNjcmlwdChzb3VyY2UsIGNvbnRhaW5lciwgY29tcG9uZW50LCBzb3VyY2VQYXRoLCBcImpzeFwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaW1pbGFyIHRvIGBleGVjdXRlSnNgLCBidXQgZm9yIFR5cGVTY3JpcHQgc2NyaXB0cy4gVXNlIHRoZSBUU1ggdmFyaWFudCBmb3IgVFNYIHN1cHByb3QuXG4gICAgICovXG4gICAgcHVibGljIGV4ZWN1dGVUcyhcbiAgICAgICAgc291cmNlOiBzdHJpbmcsXG4gICAgICAgIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50IHwgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCxcbiAgICAgICAgc291cmNlUGF0aDogc3RyaW5nXG4gICAgKTogTWFya2Rvd25SZW5kZXJDaGlsZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW5kZXJKYXZhc2NyaXB0KHNvdXJjZSwgY29udGFpbmVyLCBjb21wb25lbnQsIHNvdXJjZVBhdGgsIFwidHNcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2ltaWxhciB0byBgZXhlY3V0ZVRzYCwgYnV0IGZvciBUU1ggc2NyaXB0cy4gSWYgeW91IGFyZSB1bnN1cmUgaWYgeW91ciBpbnB1dCB3aWxsIGJlIFRTXG4gICAgICogb3IgVFNYLCB1c2UgdGhpcyBvbmUsIGFzIGl0IGFsc28gc3VwcG9ydHMgcmVndWxhciBqYXZhc2NyaXB0IChhbGJlaXQgYXQgYXQgYSBtaWxkIHBlcmZvcm1hbmNlXG4gICAgICogaGl0IHRvIHJlbmRlcmluZykuXG4gICAgICpcbiAgICAgKiBUaGlzIGdlbmVyYWxseSB3aWxsIGFsc28gd29yayBpZiB5b3UgYXJlIHVuc3VyZSBpZiB5b3VyIGlucHV0IGlzIGphdmFzY3JpcHQgb3IgdHlwZXNjcmlwdCxcbiAgICAgKiB0aG91Z2ggYmV3YXJlIHRoZXJlIGFyZSBhIGZldyBuaWNoZSBjYXNlcyB3aGVyZSBqYXZhc2NyaXB0IGFuZCB0eXBlc2NyaXB0IGRpdmVyZ2UgaW4gc3ludGF4LlxuICAgICAqL1xuICAgIHB1YmxpYyBleGVjdXRlVHN4KFxuICAgICAgICBzb3VyY2U6IHN0cmluZyxcbiAgICAgICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnQgfCBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0LFxuICAgICAgICBzb3VyY2VQYXRoOiBzdHJpbmdcbiAgICApOiBNYXJrZG93blJlbmRlckNoaWxkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbmRlckphdmFzY3JpcHQoc291cmNlLCBjb250YWluZXIsIGNvbXBvbmVudCwgc291cmNlUGF0aCwgXCJ0c3hcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBTaGFyZWQgbG9naWMgZm9yIHJlbmRlcmluZyBhbnkgSlMvVFMgc2NyaXB0LlxuICAgICAqL1xuICAgIHByaXZhdGUgX3JlbmRlckphdmFzY3JpcHQoXG4gICAgICAgIHNvdXJjZTogc3RyaW5nLFxuICAgICAgICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICAgICAgICBjb21wb25lbnQ6IENvbXBvbmVudCB8IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQsXG4gICAgICAgIHNvdXJjZVBhdGg6IHN0cmluZyxcbiAgICAgICAgbGFuZ3VhZ2U6IFwianNcIiB8IFwidHNcIiB8IFwianN4XCIgfCBcInRzeFwiXG4gICAgKSB7XG4gICAgICAgIGxldCBsb2NhbCA9IG5ldyBEYXRhY29yZUxvY2FsQXBpKHRoaXMsIHNvdXJjZVBhdGgpO1xuICAgICAgICBjb25zdCByZW5kZXJlciA9IG5ldyBEYXRhY29yZUpTUmVuZGVyZXIobG9jYWwsIGNvbnRhaW5lciwgc291cmNlUGF0aCwgc291cmNlLCBsYW5ndWFnZSk7XG4gICAgICAgIGNvbXBvbmVudC5hZGRDaGlsZChyZW5kZXJlcik7XG5cbiAgICAgICAgcmV0dXJuIHJlbmRlcmVyO1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBnZXRQYXJlbnRGb2xkZXIgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7IFRGaWxlLCBURm9sZGVyLCBWYXVsdCB9IGZyb20gXCJvYnNpZGlhblwiO1xuXG4vKiogU3BlY2lmaWMgaW5kZXggZm9yIHRyYWNraW5nIG9iamVjdHMgaW4gcmVsYXRpdmUgcGF0aHMuIFNwZWNpZmljYWxseSB0cmFja3MgdG9wLWxldmVsIHBhZ2Ugb2JqZWN0cy4gKi9cbmV4cG9ydCBjbGFzcyBGb2xkZXJJbmRleCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHZhdWx0OiBWYXVsdCkge31cblxuICAgIC8qKiBHZXQgdGhlIGxpc3Qgb2YgYWxsIGZpbGVzIHVuZGVyIHRoZSBnaXZlbiBwYXRoLiAqL1xuICAgIHB1YmxpYyBnZXQocHJlZml4OiBzdHJpbmcsIGZpbHRlcj86IChwYXRoOiBzdHJpbmcpID0+IGJvb2xlYW4pOiBTZXQ8c3RyaW5nPiB7XG4gICAgICAgIGxldCBmb2xkZXIgPSB0aGlzLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChwcmVmaXggfHwgXCIvXCIpO1xuICAgICAgICBpZiAoIWZvbGRlcikge1xuICAgICAgICAgICAgcmV0dXJuIEZvbGRlckluZGV4LkVNUFRZX1NFVDtcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkZXIgaW5zdGFuY2VvZiBURm9sZGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFNldCh0aGlzLndhbGsoZm9sZGVyLCBmaWx0ZXIpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghZmlsdGVyIHx8IGZpbHRlcihwcmVmaXgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZXQocHJlZml4KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZvbGRlckluZGV4LkVNUFRZX1NFVDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgdGhlIGxpc3Qgb2YgZmlsZXMgc3BlY2lmaWNhbGx5IHVuZGVyIHRoZSBnaXZlbiBwYXRoLiAqL1xuICAgIHB1YmxpYyBnZXRFeGFjdChwcmVmaXg6IHN0cmluZywgZmlsdGVyPzogKHBhdGg6IHN0cmluZykgPT4gYm9vbGVhbik6IFNldDxzdHJpbmc+IHtcbiAgICAgICAgbGV0IGZvbGRlciA9IHRoaXMudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKHByZWZpeCB8fCBcIi9cIik7XG4gICAgICAgIGlmICghZm9sZGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gRm9sZGVySW5kZXguRU1QVFlfU0VUO1xuICAgICAgICB9IGVsc2UgaWYgKGZvbGRlciBpbnN0YW5jZW9mIFRGb2xkZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZm9sZGVyLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKCEoZmlsZSBpbnN0YW5jZW9mIFRGaWxlKSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlciAmJiAhZmlsdGVyKGZpbGUucGF0aCkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgZWxlbWVudHMuYWRkKGZpbGUucGF0aCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50cztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghZmlsdGVyIHx8IGZpbHRlcihwcmVmaXgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZXQocHJlZml4KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZvbGRlckluZGV4LkVNUFRZX1NFVDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmVzIGlmIHRoZSBnaXZlbiBwYXRoIGV4aXN0cyBpbiB0aGUgaW5kZXguICovXG4gICAgcHVibGljIHBhdGhFeGlzdHMocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChwYXRoIHx8IFwiL1wiKSAhPSBudWxsO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmVzIGlmIHRoZSBnaXZlbiBmb2xkZXIgZXhpc3RzIGluIHRoZSBpbmRleC4gKi9cbiAgICBwdWJsaWMgZm9sZGVyRXhpc3RzKGZvbGRlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChmb2xkZXIgfHwgXCIvXCIpIGluc3RhbmNlb2YgVEZvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2UgdGhlIGluLW1lbW9yeSBwcmVmaXggaW5kZXggdG8gY29udmVydCBhIHJlbGF0aXZlIHBhdGggdG8gYW4gYWJzb2x1dGUgb25lLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXNvbHZlUmVsYXRpdmUocGF0aDogc3RyaW5nLCBvcmlnaW4/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIW9yaWdpbikgcmV0dXJuIHBhdGg7XG4gICAgICAgIGVsc2UgaWYgKHBhdGguc3RhcnRzV2l0aChcIi9cIikpIHJldHVybiBwYXRoLnN1YnN0cmluZygxKTtcblxuICAgICAgICBsZXQgcmVsYXRpdmVQYXRoID0gZ2V0UGFyZW50Rm9sZGVyKG9yaWdpbikgKyBcIi9cIiArIHBhdGg7XG4gICAgICAgIGlmICh0aGlzLnBhdGhFeGlzdHMocmVsYXRpdmVQYXRoKSkgcmV0dXJuIHJlbGF0aXZlUGF0aDtcbiAgICAgICAgZWxzZSByZXR1cm4gcGF0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlICp3YWxrKGZvbGRlcjogVEZvbGRlciwgZmlsdGVyPzogKHBhdGg6IHN0cmluZykgPT4gYm9vbGVhbik6IEdlbmVyYXRvcjxzdHJpbmc+IHtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZvbGRlci5jaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBURm9sZGVyKSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMud2FsayhmaWxlLCBmaWx0ZXIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIgPyBmaWx0ZXIoZmlsZS5wYXRoKSA6IHRydWUpIHtcbiAgICAgICAgICAgICAgICB5aWVsZCBmaWxlLnBhdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRW1wdHkgcGxhY2Vob2xkZXIgc2V0LiAqL1xuICAgIHByaXZhdGUgc3RhdGljIEVNUFRZX1NFVDogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG59XG4iLCAiLyoqIFRyYWNrcyBhbiBpbnZlcnRlZCBpbmRleCBvZiB2YWx1ZSAtPiBzZXRcXDxpZHNcXD4uICovXG5leHBvcnQgY2xhc3MgSW52ZXJ0ZWRJbmRleDxWPiB7XG4gICAgcHJpdmF0ZSBpbnZlcnRlZDogTWFwPFYsIFNldDxzdHJpbmc+PjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbnZlcnRlZCA9IG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRoZSBrZXkgdG8gdGhlIGdpdmVuIHZhbHVlcy4gKi9cbiAgICBwdWJsaWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZXM6IEl0ZXJhYmxlPFY+KSB7XG4gICAgICAgIGZvciAobGV0IHZhbHVlIG9mIHZhbHVlcykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmludmVydGVkLmhhcyh2YWx1ZSkpIHRoaXMuaW52ZXJ0ZWQuc2V0KHZhbHVlLCBuZXcgU2V0KCkpO1xuICAgICAgICAgICAgdGhpcy5pbnZlcnRlZC5nZXQodmFsdWUpIS5hZGQoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgYWxsIGtleXMgdGhhdCBtYXAgdG8gdGhlIGdpdmVuIHZhbHVlLiAqL1xuICAgIHB1YmxpYyBnZXQodmFsdWU6IFYpOiBTZXQ8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludmVydGVkLmdldCh2YWx1ZSkgPz8gSW52ZXJ0ZWRJbmRleC5FTVBUWV9TRVQ7XG4gICAgfVxuXG4gICAgLyoqIERlbGV0ZSBhIGtleSBmcm9tIHRoZSBzZXQgb2YgYXNzb2NpYXRlZCB2YWx1ZXMuICovXG4gICAgcHVibGljIGRlbGV0ZShrZXk6IHN0cmluZywgdmFsdWVzOiBJdGVyYWJsZTxWPikge1xuICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNldCA9IHRoaXMuaW52ZXJ0ZWQuZ2V0KHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChzZXQpIHtcbiAgICAgICAgICAgICAgICBzZXQuZGVsZXRlKGtleSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXQgJiYgc2V0LnNpemUgPT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW52ZXJ0ZWQuZGVsZXRlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5pbnZlcnRlZC5jbGVhcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIEVNUFRZX1NFVDogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG59XG4iLCAiXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGbGF0UXVldWUge1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaWRzID0gW107XG4gICAgICAgIHRoaXMudmFsdWVzID0gW107XG4gICAgICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5sZW5ndGggPSAwO1xuICAgIH1cblxuICAgIHB1c2goaWQsIHZhbHVlKSB7XG4gICAgICAgIGxldCBwb3MgPSB0aGlzLmxlbmd0aCsrO1xuXG4gICAgICAgIHdoaWxlIChwb3MgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSAocG9zIC0gMSkgPj4gMTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudFZhbHVlID0gdGhpcy52YWx1ZXNbcGFyZW50XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA+PSBwYXJlbnRWYWx1ZSkgYnJlYWs7XG4gICAgICAgICAgICB0aGlzLmlkc1twb3NdID0gdGhpcy5pZHNbcGFyZW50XTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW3Bvc10gPSBwYXJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHBvcyA9IHBhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaWRzW3Bvc10gPSBpZDtcbiAgICAgICAgdGhpcy52YWx1ZXNbcG9zXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHBvcCgpIHtcbiAgICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IHRvcCA9IHRoaXMuaWRzWzBdO1xuICAgICAgICB0aGlzLmxlbmd0aC0tO1xuXG4gICAgICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gdGhpcy5pZHNbMF0gPSB0aGlzLmlkc1t0aGlzLmxlbmd0aF07XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWVzWzBdID0gdGhpcy52YWx1ZXNbdGhpcy5sZW5ndGhdO1xuICAgICAgICAgICAgY29uc3QgaGFsZkxlbmd0aCA9IHRoaXMubGVuZ3RoID4+IDE7XG4gICAgICAgICAgICBsZXQgcG9zID0gMDtcblxuICAgICAgICAgICAgd2hpbGUgKHBvcyA8IGhhbGZMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsZXQgbGVmdCA9IChwb3MgPDwgMSkgKyAxO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gbGVmdCArIDE7XG4gICAgICAgICAgICAgICAgbGV0IGJlc3RJbmRleCA9IHRoaXMuaWRzW2xlZnRdO1xuICAgICAgICAgICAgICAgIGxldCBiZXN0VmFsdWUgPSB0aGlzLnZhbHVlc1tsZWZ0XTtcbiAgICAgICAgICAgICAgICBjb25zdCByaWdodFZhbHVlID0gdGhpcy52YWx1ZXNbcmlnaHRdO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJpZ2h0IDwgdGhpcy5sZW5ndGggJiYgcmlnaHRWYWx1ZSA8IGJlc3RWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RJbmRleCA9IHRoaXMuaWRzW3JpZ2h0XTtcbiAgICAgICAgICAgICAgICAgICAgYmVzdFZhbHVlID0gcmlnaHRWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGJlc3RWYWx1ZSA+PSB2YWx1ZSkgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmlkc1twb3NdID0gYmVzdEluZGV4O1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzW3Bvc10gPSBiZXN0VmFsdWU7XG4gICAgICAgICAgICAgICAgcG9zID0gbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pZHNbcG9zXSA9IGlkO1xuICAgICAgICAgICAgdGhpcy52YWx1ZXNbcG9zXSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRvcDtcbiAgICB9XG5cbiAgICBwZWVrKCkge1xuICAgICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB0aGlzLmlkc1swXTtcbiAgICB9XG5cbiAgICBwZWVrVmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzWzBdO1xuICAgIH1cblxuICAgIHNocmluaygpIHtcbiAgICAgICAgdGhpcy5pZHMubGVuZ3RoID0gdGhpcy52YWx1ZXMubGVuZ3RoID0gdGhpcy5sZW5ndGg7XG4gICAgfVxufVxuIiwgImltcG9ydCB7IExpdGVyYWwsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IEJUcmVlIGZyb20gXCJzb3J0ZWQtYnRyZWVcIjtcblxuLyoqIEdlbmVyYWwgYWJzdHJhY3Rpb24gZm9yIGFsbCBmaWVsZCBpbmRpY2VzOyBzb21lIG1heSBiZSBvcHRpbWl6ZWQgZm9yIHNvbWUgdHlwZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkSW5kZXgge1xuICAgIC8vIFRPRE86IENoYW5nZSBhbGwoKSBhbmQgZXF1YWxzKCkgdG8gcmV0dXJuIEZpbHRlcjxzdHJpbmc+IGluc3RlYWQgZm9yIHBlcmZvcm1hbmNlIG9uIHNvbWUgaW5kZXggdHlwZXMuXG5cbiAgICAvKiogQWRkIGFuIChvYmplY3QsIHZhbHVlKSBwYWlyaW5nIHRvIHRoZSBjb2xsZWN0aW9uLiAqL1xuICAgIGFkZChpZDogc3RyaW5nLCB2YWx1ZTogTGl0ZXJhbCk6IHZvaWQ7XG5cbiAgICAvKiogRGVsZXRlIGFuIChvYmplY3QsIHZhbHVlKSBwYWlyaW5nIGZyb20gdGhlIGNvbGxlY3Rpb24uICovXG4gICAgZGVsZXRlKGlkOiBzdHJpbmcsIHZhbHVlOiBMaXRlcmFsKTogdm9pZDtcblxuICAgIC8qKiBSZXR1cm4gYSBzZXQgb2YgYWxsIHBhZ2VzIGluIHRoZSBjb2xsZWN0aW9uLiAqL1xuICAgIGFsbCgpOiBTZXQ8c3RyaW5nPjtcblxuICAgIC8qKiBGb3IgaW5kaWNlcyB3aGljaCBzdXBwb3J0IGZhc3QgdmFsdWUgbG9va3VwcywgcmV0dXJucyB0aGUgc2V0IG9mIGFsbCBkb2N1bWVudHMgd2l0aCB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gICAgZXF1YWxzKHZhbHVlOiBMaXRlcmFsKTogU2V0PHN0cmluZz4gfCB1bmRlZmluZWQ7XG59XG5cbi8qKiBGaWVsZCBpbmRleCBmb3IgYW55IGZpZWxkIHdoaWNoIGlzIGFsd2F5cyBvciBhbG1vc3QgYWx3YXlzIHByZXNlbnQgKCRyZXZpc2lvbiwgJHR5cGVzKS4gKi9cbmV4cG9ydCBjbGFzcyBFdmVyeXRoaW5nRmllbGRJbmRleCBpbXBsZW1lbnRzIEZpZWxkSW5kZXgge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgYWxsOiAoKSA9PiBTZXQ8c3RyaW5nPikge31cblxuICAgIHB1YmxpYyBhZGQoaWQ6IHN0cmluZywgdmFsdWU6IExpdGVyYWwpOiB2b2lkIHt9XG4gICAgcHVibGljIGRlbGV0ZShpZDogc3RyaW5nLCB2YWx1ZTogTGl0ZXJhbCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBlcXVhbHModmFsdWU6IExpdGVyYWwpOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxufVxuXG4vKiogU3BlY2lhbGl6ZWQgZmllbGQgaW5kZXggZm9yIElEcyB3aGljaCBrbm93cyB0byBkaXJlY3RseSBqdXN0IHJldHVybiB0aGUgSUQuICovXG5leHBvcnQgY2xhc3MgSWRGaWVsZEluZGV4IGltcGxlbWVudHMgRmllbGRJbmRleCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBhbGw6ICgpID0+IFNldDxzdHJpbmc+LCBwdWJsaWMgbG9va3VwOiAoaWQ6IHN0cmluZykgPT4gYm9vbGVhbikge31cblxuICAgIHB1YmxpYyBhZGQoaWQ6IHN0cmluZywgdmFsdWU6IExpdGVyYWwpOiB2b2lkIHt9XG4gICAgcHVibGljIGRlbGV0ZShpZDogc3RyaW5nLCB2YWx1ZTogTGl0ZXJhbCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBlcXVhbHModmFsdWU6IExpdGVyYWwpOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghTGl0ZXJhbHMuaXNTdHJpbmcodmFsdWUpKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICh0aGlzLmxvb2t1cCh2YWx1ZSBhcyBzdHJpbmcpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFNldChbdmFsdWUgYXMgc3RyaW5nXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiogRGVmYXVsdCBmaWVsZCBpbmRleCB3aGljaCB0cmFja3MgZmllbGQgbG9jYXRpb25zIHVzaW5nIGEgc2V0LiAqL1xuZXhwb3J0IGNsYXNzIFNldEZpZWxkSW5kZXggaW1wbGVtZW50cyBGaWVsZEluZGV4IHtcbiAgICAvKiogVGhlIElEIG9mIGV2ZXJ5IG9iamVjdCB0aGF0IHRoaXMgZmllbGQgaXMgcHJlc2VudCBvbi4gKi9cbiAgICBwcml2YXRlIHByZXNlbnQ6IFNldDxzdHJpbmc+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnByZXNlbnQgPSBuZXcgU2V0KCk7XG4gICAgfVxuXG4gICAgLyoqIEFkZCBhbiAob2JqZWN0LCB2YWx1ZSkgcGFpcmluZyB0byB0aGUgY29sbGVjdGlvbi4gKi9cbiAgICBwdWJsaWMgYWRkKGlkOiBzdHJpbmcsIHZhbHVlOiBMaXRlcmFsKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlc2VudC5hZGQoaWQpO1xuICAgIH1cblxuICAgIC8qKiBEZWxldGUgYW4gKG9iamVjdCwgdmFsdWUpIHBhaXJpbmcgZnJvbSB0aGUgY29sbGVjdGlvbi4gKi9cbiAgICBwdWJsaWMgZGVsZXRlKGlkOiBzdHJpbmcsIHZhbHVlOiBMaXRlcmFsKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlc2VudC5kZWxldGUoaWQpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBzZXQgb2YgYWxsIHBhZ2VzIGluIHdoaWNoIHRoZSBmaWVsZCBleGlzdHMgYXQgYWxsIChldmVuIGlmIHVuZGVmaW5lZCkuICovXG4gICAgcHVibGljIGFsbCgpOiBTZXQ8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZXNlbnQ7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhbGwgcGFnZXMgd2l0aCBhIHZhbHVlIGV4YWN0bHkgZXF1YWwgdG8gdGhlIGdpdmVuIHZhbHVlLiAqL1xuICAgIHB1YmxpYyBlcXVhbHModmFsdWU6IExpdGVyYWwpOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxufVxuXG4vKiogRmllbGQgaW5kZXggd2hpY2ggdHJhY2tzIGZpZWxkIGxvY2F0aW9ucyB1c2luZyBib3RoIGFuIG92ZXJhbGwgc2V0IGFuZCBhIEJUcmVlIG9mIHZhbHVlcy4gKi9cbmV4cG9ydCBjbGFzcyBCVHJlZUZpZWxkSW5kZXggaW1wbGVtZW50cyBGaWVsZEluZGV4IHtcbiAgICAvKiogVGhlIElEIG9mIGV2ZXJ5IG9iamVjdCB0aGF0IHRoaXMgZmllbGQgaXMgcHJlc2VudCBvbi4gKi9cbiAgICBwcml2YXRlIHByZXNlbnQ6IFNldDxzdHJpbmc+O1xuICAgIC8qKiBNYXBzICh2YWx1ZSwgc2V0IG9mIHBhZ2VzIGNvbnRhaW5pbmcgdGhhdCB2YWx1ZSkuICovXG4gICAgcHJpdmF0ZSB2YWx1ZXM6IEJUcmVlPExpdGVyYWwsIFNldDxzdHJpbmc+PjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5wcmVzZW50ID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBCVHJlZShbXSwgKGEsIGIpID0+IExpdGVyYWxzLmNvbXBhcmUoYSwgYikpO1xuICAgIH1cblxuICAgIC8qKiBBZGQgYW4gKG9iamVjdCwgdmFsdWUpIHBhaXJpbmcgdG8gdGhlIGNvbGxlY3Rpb24uICovXG4gICAgcHVibGljIGFkZChpZDogc3RyaW5nLCB2YWx1ZTogTGl0ZXJhbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXNlbnQuYWRkKGlkKTtcblxuICAgICAgICB0aGlzLnZhbHVlcy5zZXRJZk5vdFByZXNlbnQodmFsdWUsIG5ldyBTZXQoKSk7XG4gICAgICAgIHRoaXMudmFsdWVzLmdldCh2YWx1ZSkhLmFkZChpZCk7XG4gICAgfVxuXG4gICAgLyoqIERlbGV0ZSBhbiAob2JqZWN0LCB2YWx1ZSkgcGFpcmluZyBmcm9tIHRoZSBjb2xsZWN0aW9uLiAqL1xuICAgIHB1YmxpYyBkZWxldGUoaWQ6IHN0cmluZywgdmFsdWU6IExpdGVyYWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVzZW50LmRlbGV0ZShpZCk7XG5cbiAgICAgICAgY29uc3Qgc2V0ID0gdGhpcy52YWx1ZXMuZ2V0KHZhbHVlKTtcbiAgICAgICAgc2V0Py5kZWxldGUoaWQpO1xuXG4gICAgICAgIGlmIChzZXQgPT0gbnVsbCB8fCBzZXQuc2l6ZSA9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlcy5kZWxldGUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIHNldCBvZiBhbGwgcGFnZXMgaW4gd2hpY2ggdGhlIGZpZWxkIGV4aXN0cyBhdCBhbGwgKGV2ZW4gaWYgdW5kZWZpbmVkKS4gKi9cbiAgICBwdWJsaWMgYWxsKCk6IFNldDxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlc2VudDtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJuIGFsbCBwYWdlcyB3aXRoIGEgdmFsdWUgZXhhY3RseSBlcXVhbCB0byB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gICAgcHVibGljIGVxdWFscyh2YWx1ZTogTGl0ZXJhbCk6IFNldDxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzLmdldCh2YWx1ZSwgQlRyZWVGaWVsZEluZGV4LkVNUFRZX1NFVCk7XG4gICAgfVxuXG4gICAgLyoqIFBsYWNlaG9sZGVyIGVtcHR5IHNldC4gKi9cbiAgICBwcml2YXRlIHN0YXRpYyBFTVBUWV9TRVQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbn1cbiIsICIvKiogUHJvdmlkZXMgYSBnbG9iYWwgZGlzcGF0Y2ggdGFibGUgZm9yIGV2YWx1YXRpbmcgYmluYXJ5IG9wZXJhdG9ycywgaW5jbHVkaW5nIGNvbXBhcmlzb24uICovXG5pbXBvcnQgeyBMaXRlcmFsUmVwciwgTGl0ZXJhbFR5cGUsIExpdGVyYWwsIExpdGVyYWxzLCBMaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgbm9ybWFsaXplRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCJhcGkvcmVzdWx0XCI7XG5pbXBvcnQgeyBCaW5hcnlPcCwgRXhwcmVzc2lvbnMgfSBmcm9tIFwiZXhwcmVzc2lvbi9leHByZXNzaW9uXCI7XG5pbXBvcnQgdHlwZSB7IEV2YWx1YXRvciB9IGZyb20gXCJleHByZXNzaW9uL2V2YWx1YXRvclwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIER1cmF0aW9uIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCJzZXR0aW5nc1wiO1xuaW1wb3J0IHsgRmllbGRiZWFyaW5ncyB9IGZyb20gXCIuL2ZpZWxkXCI7XG5cbi8qKiBBIGxpdGVyYWwgdHlwZSBvciBhIGNhdGNoLWFsbCAnKicuICovXG5leHBvcnQgdHlwZSBMaXRlcmFsVHlwZU9yQWxsID0gTGl0ZXJhbFR5cGUgfCBcIipcIjtcblxuLyoqIE1hcHMgYSBsaXRlcmFsIHR5cGUgb3IgdGhlIGNhdGNoLWFsbCAnKicuICovXG5leHBvcnQgdHlwZSBMaXRlcmFsUmVwckFsbDxUIGV4dGVuZHMgTGl0ZXJhbFR5cGVPckFsbD4gPSBUIGV4dGVuZHMgXCIqXCJcbiAgICA/IExpdGVyYWxcbiAgICA6IFQgZXh0ZW5kcyBMaXRlcmFsVHlwZVxuICAgID8gTGl0ZXJhbFJlcHI8VD5cbiAgICA6IGFueTtcblxuLyoqIEFuIGltcGxlbWVudGF0aW9uIGZvciBhIGJpbmFyeSBvcGVyYXRvci4gKi9cbmV4cG9ydCB0eXBlIEJpbmFyeU9wSW1wbDxBIGV4dGVuZHMgTGl0ZXJhbCwgQiBleHRlbmRzIExpdGVyYWw+ID0gKGZpcnN0OiBBLCBzZWNvbmQ6IEIsIGN0eDogRXZhbHVhdG9yKSA9PiBMaXRlcmFsO1xuLyoqIEJpbmFyeSBvcGVyYXRvciB3aGljaCBjYW4gZmFpbCBhbmQgcHJvZHVjZSBhbiBlcnJvci4gKi9cbmV4cG9ydCB0eXBlIEJpbmFyeU9wUmVzdWx0SW1wbDxBIGV4dGVuZHMgTGl0ZXJhbCwgQiBleHRlbmRzIExpdGVyYWw+ID0gKFxuICAgIGZpcnN0OiBBLFxuICAgIHNlY29uZDogQixcbiAgICBjdHg6IEV2YWx1YXRvclxuKSA9PiBSZXN1bHQ8TGl0ZXJhbCwgc3RyaW5nPjtcbi8qKiBBbiBpbXBsZW1lbnRhdGlvbiBvZiBhIGNvbXBhcmF0b3IgKHJldHVybmluZyBhIG51bWJlcikgd2hpY2ggdGhlbiBhdXRvbWF0aWNhbGx5IGRlZmluZXMgYWxsIG9mIHRoZSBjb21wYXJpc29uIG9wZXJhdG9ycy4gKi9cbmV4cG9ydCB0eXBlIENvbXBhcmVJbXBsPFQgZXh0ZW5kcyBMaXRlcmFsPiA9IChmaXJzdDogVCwgc2Vjb25kOiBULCBjdHg6IEV2YWx1YXRvcikgPT4gbnVtYmVyO1xuXG4vKiogUHJvdmlkZXMgaW1wbGVtZW50YXRpb25zIGZvciBiaW5hcnkgb3BlcmF0b3JzIG9uIHR3byB0eXBlcyB1c2luZyBhIHJlZ2lzdHJ5LiAqL1xuZXhwb3J0IGNsYXNzIEJpbmFyeU9wSGFuZGxlciB7XG4gICAgcHJpdmF0ZSBtYXA6IE1hcDxzdHJpbmcsIEJpbmFyeU9wUmVzdWx0SW1wbDxhbnksIGFueT4+O1xuICAgIHByaXZhdGUgaGFuZGxlRGVmYXVsdE51bGxzOiBib29sZWFuO1xuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGUoKSB7XG4gICAgICAgIHJldHVybiBuZXcgQmluYXJ5T3BIYW5kbGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLm1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVEZWZhdWx0TnVsbHMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXI8VCBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGwsIFUgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsPihcbiAgICAgICAgbGVmdDogVCxcbiAgICAgICAgb3A6IEJpbmFyeU9wLFxuICAgICAgICByaWdodDogVSxcbiAgICAgICAgZnVuYzogQmluYXJ5T3BJbXBsPExpdGVyYWxSZXByQWxsPFQ+LCBMaXRlcmFsUmVwckFsbDxVPj5cbiAgICApOiBCaW5hcnlPcEhhbmRsZXIge1xuICAgICAgICB0aGlzLm1hcC5zZXQoQmluYXJ5T3BIYW5kbGVyLnJlcHIob3AsIGxlZnQsIHJpZ2h0KSwgKGEsIGIsIGMpID0+IFJlc3VsdC5zdWNjZXNzKGZ1bmMoYSwgYiwgYykpKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyUmVzdWx0PFQgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsLCBVIGV4dGVuZHMgTGl0ZXJhbFR5cGVPckFsbD4oXG4gICAgICAgIGxlZnQ6IFQsXG4gICAgICAgIG9wOiBCaW5hcnlPcCxcbiAgICAgICAgcmlnaHQ6IFUsXG4gICAgICAgIGZ1bmM6IEJpbmFyeU9wUmVzdWx0SW1wbDxMaXRlcmFsUmVwckFsbDxUPiwgTGl0ZXJhbFJlcHJBbGw8VT4+XG4gICAgKTogQmluYXJ5T3BIYW5kbGVyIHtcbiAgICAgICAgdGhpcy5tYXAuc2V0KEJpbmFyeU9wSGFuZGxlci5yZXByKG9wLCBsZWZ0LCByaWdodCksIGZ1bmMpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJDb21tPFQgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsLCBVIGV4dGVuZHMgTGl0ZXJhbFR5cGVPckFsbD4oXG4gICAgICAgIGxlZnQ6IFQsXG4gICAgICAgIG9wOiBCaW5hcnlPcCxcbiAgICAgICAgcmlnaHQ6IFUsXG4gICAgICAgIGZ1bmM6IEJpbmFyeU9wSW1wbDxMaXRlcmFsUmVwckFsbDxUPiwgTGl0ZXJhbFJlcHJBbGw8VT4+XG4gICAgKTogQmluYXJ5T3BIYW5kbGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0ZXIobGVmdCwgb3AsIHJpZ2h0LCBmdW5jKS5yZWdpc3RlcihyaWdodCwgb3AsIGxlZnQsIChhLCBiLCBjdHgpID0+IGZ1bmMoYiwgYSwgY3R4KSk7XG4gICAgfVxuXG4gICAgLyoqIElmIGVuYWJsZWQsIGFsbCBudWxsIChvcCkgbnVsbCBvcGVyYXRpb25zIHByb2R1Y2UgbnVsbC4gKi9cbiAgICBwdWJsaWMgd2l0aERlZmF1bHROdWxsSGFuZGxpbmcoKTogQmluYXJ5T3BIYW5kbGVyIHtcbiAgICAgICAgdGhpcy5oYW5kbGVEZWZhdWx0TnVsbHMgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKiogSW1wbGVtZW50IGEgY29tcGFyaXNvbiBmdW5jdGlvbi4gKi9cbiAgICBwdWJsaWMgY29tcGFyZTxUIGV4dGVuZHMgTGl0ZXJhbFR5cGVPckFsbD4odHlwZTogVCwgY29tcGFyZTogQ29tcGFyZUltcGw8TGl0ZXJhbFJlcHJBbGw8VD4+KTogQmluYXJ5T3BIYW5kbGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0ZXIodHlwZSwgXCI8XCIsIHR5cGUsIChhLCBiLCBjdHgpID0+IGNvbXBhcmUoYSwgYiwgY3R4KSA8IDApXG4gICAgICAgICAgICAucmVnaXN0ZXIodHlwZSwgXCI8PVwiLCB0eXBlLCAoYSwgYiwgY3R4KSA9PiBjb21wYXJlKGEsIGIsIGN0eCkgPD0gMClcbiAgICAgICAgICAgIC5yZWdpc3Rlcih0eXBlLCBcIj5cIiwgdHlwZSwgKGEsIGIsIGN0eCkgPT4gY29tcGFyZShhLCBiLCBjdHgpID4gMClcbiAgICAgICAgICAgIC5yZWdpc3Rlcih0eXBlLCBcIj49XCIsIHR5cGUsIChhLCBiLCBjdHgpID0+IGNvbXBhcmUoYSwgYiwgY3R4KSA+PSAwKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKHR5cGUsIFwiPVwiLCB0eXBlLCAoYSwgYiwgY3R4KSA9PiBjb21wYXJlKGEsIGIsIGN0eCkgPT0gMClcbiAgICAgICAgICAgIC5yZWdpc3Rlcih0eXBlLCBcIiE9XCIsIHR5cGUsIChhLCBiLCBjdHgpID0+IGNvbXBhcmUoYSwgYiwgY3R4KSAhPSAwKTtcbiAgICB9XG5cbiAgICAvKiogQXR0ZW1wdCB0byBldmFsdWF0ZSB0aGUgZ2l2ZW4gYmluYXJ5IG9wZXJhdG9yIG9uIHRoZSB0d28gbGl0ZXJhbCBmaWVsZHMuICovXG4gICAgcHVibGljIGV2YWx1YXRlKG9wOiBCaW5hcnlPcCwgbGVmdDogTGl0ZXJhbCwgcmlnaHQ6IExpdGVyYWwsIGN0eDogRXZhbHVhdG9yKTogUmVzdWx0PExpdGVyYWwsIHN0cmluZz4ge1xuICAgICAgICBsZXQgbGVmdFR5cGUgPSBMaXRlcmFscy50eXBlT2YobGVmdCk7XG4gICAgICAgIGxldCByaWdodFR5cGUgPSBMaXRlcmFscy50eXBlT2YocmlnaHQpO1xuICAgICAgICBpZiAoIWxlZnRUeXBlKSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYFVucmVjb2duaXplZCB2YWx1ZSAnJHtsZWZ0fSdgKTtcbiAgICAgICAgZWxzZSBpZiAoIXJpZ2h0VHlwZSkgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBVbnJlY29nbml6ZWQgdmFsdWUgJyR7cmlnaHR9J2ApO1xuXG4gICAgICAgIC8vIFF1aWNrIGNhc2U6IGhhbmRsZSBudWxsIChvcCkgbnVsbCBieSBkZWZhdWx0IGlmIGVuYWJsZWQuXG4gICAgICAgIGlmICh0aGlzLmhhbmRsZURlZmF1bHROdWxscyAmJiBsZWZ0VHlwZSA9PT0gXCJudWxsXCIgJiYgcmlnaHRUeXBlID09PSBcIm51bGxcIikgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKG51bGwpO1xuXG4gICAgICAgIGxldCBoYW5kbGVyID0gdGhpcy5tYXAuZ2V0KEJpbmFyeU9wSGFuZGxlci5yZXByKG9wLCBsZWZ0VHlwZSwgcmlnaHRUeXBlKSk7XG4gICAgICAgIGlmIChoYW5kbGVyKSByZXR1cm4gaGFuZGxlcihsZWZ0LCByaWdodCwgY3R4KTtcblxuICAgICAgICAvLyBSaWdodC0nKicgZmFsbGJhY2s6XG4gICAgICAgIGxldCBoYW5kbGVyMiA9IHRoaXMubWFwLmdldChCaW5hcnlPcEhhbmRsZXIucmVwcihvcCwgbGVmdFR5cGUsIFwiKlwiKSk7XG4gICAgICAgIGlmIChoYW5kbGVyMikgcmV0dXJuIGhhbmRsZXIyKGxlZnQsIHJpZ2h0LCBjdHgpO1xuXG4gICAgICAgIC8vIExlZnQtJyonIGZhbGxiYWNrOlxuICAgICAgICBsZXQgaGFuZGxlcjMgPSB0aGlzLm1hcC5nZXQoQmluYXJ5T3BIYW5kbGVyLnJlcHIob3AsIFwiKlwiLCByaWdodFR5cGUpKTtcbiAgICAgICAgaWYgKGhhbmRsZXIzKSByZXR1cm4gaGFuZGxlcjMobGVmdCwgcmlnaHQsIGN0eCk7XG5cbiAgICAgICAgLy8gRG91YmxlICcqJyBmYWxsYmFjay5cbiAgICAgICAgbGV0IGhhbmRsZXI0ID0gdGhpcy5tYXAuZ2V0KEJpbmFyeU9wSGFuZGxlci5yZXByKG9wLCBcIipcIiwgXCIqXCIpKTtcbiAgICAgICAgaWYgKGhhbmRsZXI0KSByZXR1cm4gaGFuZGxlcjQobGVmdCwgcmlnaHQsIGN0eCk7XG5cbiAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBObyBpbXBsZW1lbnRhdGlvbiBmb3VuZCBmb3IgJyR7bGVmdFR5cGV9ICR7b3B9ICR7cmlnaHRUeXBlfSdgKTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBnaXZlbiB0cmlwbGV0IGZvciB1bmlxdWUgbG9va3VwIGluIHRoZSBtYXAuICovXG4gICAgcHVibGljIHN0YXRpYyByZXByKG9wOiBCaW5hcnlPcCwgbGVmdDogTGl0ZXJhbFR5cGVPckFsbCwgcmlnaHQ6IExpdGVyYWxUeXBlT3JBbGwpIHtcbiAgICAgICAgcmV0dXJuIGAke2xlZnR9LCR7b3B9LCR7cmlnaHR9YDtcbiAgICB9XG59XG5cbi8qKiBDb25maWd1cmUgYW5kIGNyZWF0ZSBhIGJpbmFyeSBPUCBoYW5kbGVyIHdpdGggdGhlIGdpdmVuIHBhcmFtZXRlcnMuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQmluYXJ5T3BzKGxpbmtOb3JtYWxpemVyOiAoeDogc3RyaW5nKSA9PiBzdHJpbmcpOiBCaW5hcnlPcEhhbmRsZXIge1xuICAgIHJldHVybiAoXG4gICAgICAgIEJpbmFyeU9wSGFuZGxlci5jcmVhdGUoKVxuICAgICAgICAgICAgLmNvbXBhcmUoXCIqXCIsIChhLCBiKSA9PiBMaXRlcmFscy5jb21wYXJlKGEsIGIsIGxpbmtOb3JtYWxpemVyKSlcbiAgICAgICAgICAgIC8vIEdsb2JhbCBib29sZWFuIG9wZXJhdGlvbnMuXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCIqXCIsIFwiJlwiLCBcIipcIiwgKGEsIGIpID0+IExpdGVyYWxzLmlzVHJ1dGh5KGEpICYmIExpdGVyYWxzLmlzVHJ1dGh5KGIpKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiKlwiLCBcInxcIiwgXCIqXCIsIChhLCBiKSA9PiBMaXRlcmFscy5pc1RydXRoeShhKSB8fCBMaXRlcmFscy5pc1RydXRoeShiKSlcbiAgICAgICAgICAgIC8vIE51bWJlciBpbXBsZW1lbnRhdGlvbnMuXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJudW1iZXJcIiwgXCIrXCIsIFwibnVtYmVyXCIsIChhLCBiKSA9PiBhICsgYilcbiAgICAgICAgICAgIC5yZWdpc3RlcihcIm51bWJlclwiLCBcIi1cIiwgXCJudW1iZXJcIiwgKGEsIGIpID0+IGEgLSBiKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwibnVtYmVyXCIsIFwiKlwiLCBcIm51bWJlclwiLCAoYSwgYikgPT4gYSAqIGIpXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJudW1iZXJcIiwgXCIvXCIsIFwibnVtYmVyXCIsIChhLCBiKSA9PiBhIC8gYilcbiAgICAgICAgICAgIC5yZWdpc3RlcihcIm51bWJlclwiLCBcIiVcIiwgXCJudW1iZXJcIiwgKGEsIGIpID0+IGEgJSBiKVxuICAgICAgICAgICAgLy8gU3RyaW5nIGltcGxlbWVudGF0aW9ucy5cbiAgICAgICAgICAgIC5yZWdpc3RlcihcInN0cmluZ1wiLCBcIitcIiwgXCIqXCIsIChhLCBiLCBjdHgpID0+IGEgKyBMaXRlcmFscy50b1N0cmluZyhiLCBzdHJpbmdTZXR0aW5ncyhjdHguc2V0dGluZ3MpKSlcbiAgICAgICAgICAgIC5yZWdpc3RlcihcIipcIiwgXCIrXCIsIFwic3RyaW5nXCIsIChhLCBiLCBjdHgpID0+IExpdGVyYWxzLnRvU3RyaW5nKGEsIHN0cmluZ1NldHRpbmdzKGN0eC5zZXR0aW5ncykpICsgYilcbiAgICAgICAgICAgIC5yZWdpc3RlckNvbW0oXCJzdHJpbmdcIiwgXCIqXCIsIFwibnVtYmVyXCIsIChhLCBiKSA9PiAoYiA8IDAgPyBcIlwiIDogYS5yZXBlYXQoYikpKVxuICAgICAgICAgICAgLy8gRGF0ZSBPcGVyYXRpb25zLlxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiZGF0ZVwiLCBcIi1cIiwgXCJkYXRlXCIsIChhLCBiKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUR1cmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBhLmRpZmYoYiwgW1wieWVhcnNcIiwgXCJtb250aHNcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiXSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZWdpc3RlcihcImRhdGVcIiwgXCItXCIsIFwiZHVyYXRpb25cIiwgKGEsIGIpID0+IGEubWludXMoYikpXG4gICAgICAgICAgICAucmVnaXN0ZXJDb21tKFwiZGF0ZVwiLCBcIitcIiwgXCJkdXJhdGlvblwiLCAoYSwgYikgPT4gYS5wbHVzKGIpKVxuICAgICAgICAgICAgLy8gRHVyYXRpb24gT3BlcmF0aW9ucy5cbiAgICAgICAgICAgIC5yZWdpc3RlcihcImR1cmF0aW9uXCIsIFwiK1wiLCBcImR1cmF0aW9uXCIsIChhLCBiKSA9PiBub3JtYWxpemVEdXJhdGlvbihhLnBsdXMoYikpKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiZHVyYXRpb25cIiwgXCItXCIsIFwiZHVyYXRpb25cIiwgKGEsIGIpID0+IG5vcm1hbGl6ZUR1cmF0aW9uKGEubWludXMoYikpKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiZHVyYXRpb25cIiwgXCIvXCIsIFwibnVtYmVyXCIsIChhLCBiKSA9PiBub3JtYWxpemVEdXJhdGlvbihhLm1hcFVuaXRzKCh4KSA9PiB4IC8gYikpKVxuICAgICAgICAgICAgLnJlZ2lzdGVyQ29tbShcImR1cmF0aW9uXCIsIFwiKlwiLCBcIm51bWJlclwiLCAoYSwgYikgPT4gbm9ybWFsaXplRHVyYXRpb24oYS5tYXBVbml0cygoeCkgPT4geCAqIGIpKSlcbiAgICAgICAgICAgIC8vIEFycmF5IG9wZXJhdGlvbnMuXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJhcnJheVwiLCBcIitcIiwgXCJhcnJheVwiLCAoYSwgYikgPT4gKFtdIGFzIExpdGVyYWxbXSkuY29uY2F0KGEpLmNvbmNhdChiKSlcbiAgICAgICAgICAgIC8vIE9iamVjdCBvcGVyYXRpb25zLlxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwib2JqZWN0XCIsIFwiK1wiLCBcIm9iamVjdFwiLCAoYSwgYikgPT4gT2JqZWN0LmFzc2lnbih7fSwgYSwgYikpXG4gICAgICAgICAgICAvLyBJbmRleCBvcGVyYXRpb25zLlxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiYXJyYXlcIiwgXCJpbmRleFwiLCBcIm51bWJlclwiLCAoYXJyLCBpZHgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaWR4IDwgMCB8fCBpZHggPj0gYXJyLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFycltpZHhdO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZWdpc3RlclJlc3VsdChcImFycmF5XCIsIFwiaW5kZXhcIiwgXCJzdHJpbmdcIiwgKGFyciwga2V5LCBjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFyci5sZW5ndGggPT0gMCkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKFtdKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBhcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBjb250ZXh0LmV2YWx1YXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgRXhwcmVzc2lvbnMuaW5kZXgoRXhwcmVzc2lvbnMubGl0ZXJhbChlbGVtZW50KSwgRXhwcmVzc2lvbnMubGl0ZXJhbChrZXkpKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc29sdmVkLnN1Y2Nlc3NmdWwpIHJldHVybiBSZXN1bHQuZmFpbHVyZShyZXNvbHZlZC5lcnJvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gocmVzb2x2ZWQudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXN1bHQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZWdpc3RlcihcIm9iamVjdFwiLCBcImluZGV4XCIsIFwic3RyaW5nXCIsIChvYmosIGtleSkgPT4gRmllbGRiZWFyaW5ncy5nZXQob2JqLCBrZXkpID8/IG51bGwpXG4gICAgICAgICAgICAucmVnaXN0ZXJSZXN1bHQoXCJsaW5rXCIsIFwiaW5kZXhcIiwgXCJzdHJpbmdcIiwgaW5kZXhMaW5rKVxuICAgICAgICAgICAgLnJlZ2lzdGVyUmVzdWx0KFwibGlua1wiLCBcImluZGV4XCIsIFwibnVtYmVyXCIsIGluZGV4TGluaylcbiAgICAgICAgICAgIC5yZWdpc3RlcihcIm9iamVjdFwiLCBcImluZGV4XCIsIFwibnVtYmVyXCIsIChvYmosIGtleSkgPT4gb2JqW2tleV0gPz8gbnVsbClcbiAgICAgICAgICAgIC5yZWdpc3RlcihcInN0cmluZ1wiLCBcImluZGV4XCIsIFwibnVtYmVyXCIsIChzdHIsIGlkeCkgPT4gKGlkeCA8IDAgfHwgaWR4ID49IHN0ci5sZW5ndGggPyBudWxsIDogc3RyW2lkeF0pKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiZGF0ZVwiLCBcImluZGV4XCIsIFwic3RyaW5nXCIsIGluZGV4RGF0ZSlcbiAgICAgICAgICAgIC5yZWdpc3RlcihcImR1cmF0aW9uXCIsIFwiaW5kZXhcIiwgXCJzdHJpbmdcIiwgaW5kZXhEdXJhdGlvbilcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdE51bGxIYW5kbGluZygpXG4gICAgKTtcbn1cblxuLyoqIENvbnZlcnQgaGlnaCBsZXZlbCBzZXR0aW5ncyB0byBzZXR0aW5ncyB1c2VkIGZvciBzdHJpbmcgcmVuZGVyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ1NldHRpbmdzKHNldHRpbmdzOiBTZXR0aW5ncyk6IExpdGVyYWxzLlRvU3RyaW5nU2V0dGluZ3Mge1xuICAgIHJldHVybiB7XG4gICAgICAgIGRhdGVGb3JtYXQ6IHNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0LFxuICAgICAgICBkYXRlVGltZUZvcm1hdDogc2V0dGluZ3MuZGVmYXVsdERhdGVUaW1lRm9ybWF0LFxuICAgICAgICBudWxsUmVwcmVzZW50YXRpb246IHNldHRpbmdzLnJlbmRlck51bGxBcyxcbiAgICB9O1xufVxuXG4vKiogQWxsb3dzIHlvdSB0byBpbmRleCBpbnRvIGxpbmtzIHRvIGdldCBtZXRhZGF0YS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmRleExpbmsobGluazogTGluaywga2V5OiBzdHJpbmcgfCBudW1iZXIsIGNvbnRleHQ6IEV2YWx1YXRvcik6IFJlc3VsdDxMaXRlcmFsLCBzdHJpbmc+IHtcbiAgICBjb25zdCBvYmplY3QgPSBjb250ZXh0LmxpbmtIYW5kbGVyLnJlc29sdmUobGluayk7XG4gICAgaWYgKCFvYmplY3QpIHJldHVybiBSZXN1bHQuc3VjY2VzcyhudWxsKTtcblxuICAgIHJldHVybiBjb250ZXh0LmV2YWx1YXRlKEV4cHJlc3Npb25zLmluZGV4KEV4cHJlc3Npb25zLmxpdGVyYWwob2JqZWN0KSwgRXhwcmVzc2lvbnMubGl0ZXJhbChrZXkpKSk7XG59XG5cbi8qKiBJbmRleCBpbnRvIGEgZGF0ZSwgcHJvZHVjaW5nIHZhcmlvdXMgdXNlZnVsIGZpZWxkcy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmRleERhdGUoZGF0ZTogRGF0ZVRpbWUsIGtleTogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSBcInllYXJcIjpcbiAgICAgICAgICAgIHJldHVybiBkYXRlLnllYXI7XG4gICAgICAgIGNhc2UgXCJtb250aFwiOlxuICAgICAgICAgICAgcmV0dXJuIGRhdGUubW9udGg7XG4gICAgICAgIGNhc2UgXCJkYXlcIjpcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmRheTtcbiAgICAgICAgY2FzZSBcImhvdXJcIjpcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmhvdXI7XG4gICAgICAgIGNhc2UgXCJtaW51dGVcIjpcbiAgICAgICAgICAgIHJldHVybiBkYXRlLm1pbnV0ZTtcbiAgICAgICAgY2FzZSBcInNlY29uZFwiOlxuICAgICAgICAgICAgcmV0dXJuIGRhdGUuc2Vjb25kO1xuICAgICAgICBjYXNlIFwibWlsbGlzZWNvbmRcIjpcbiAgICAgICAgICAgIHJldHVybiBkYXRlLm1pbGxpc2Vjb25kO1xuICAgICAgICBjYXNlIFwid2Vla1wiOlxuICAgICAgICAgICAgcmV0dXJuIGRhdGUud2Vla051bWJlcjtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cblxuLyoqIEluZGV4IGludG8gYSBkdXJhdGlvbiwgcHJvZHVjaW5nIHZhcmlvdXMgdXNlZnVsIGZpZWxkcy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmRleER1cmF0aW9uKGR1cjogRHVyYXRpb24sIGtleTogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSBcInllYXJzXCI6XG4gICAgICAgICAgICByZXR1cm4gZHVyLnllYXJzO1xuICAgICAgICBjYXNlIFwibW9udGhzXCI6XG4gICAgICAgICAgICByZXR1cm4gZHVyLm1vbnRocztcbiAgICAgICAgY2FzZSBcImRheXNcIjpcbiAgICAgICAgICAgIHJldHVybiBkdXIuZGF5cztcbiAgICAgICAgY2FzZSBcImhvdXJzXCI6XG4gICAgICAgICAgICByZXR1cm4gZHVyLmhvdXJzO1xuICAgICAgICBjYXNlIFwibWludXRlc1wiOlxuICAgICAgICAgICAgcmV0dXJuIGR1ci5taW51dGVzO1xuICAgICAgICBjYXNlIFwic2Vjb25kc1wiOlxuICAgICAgICAgICAgcmV0dXJuIGR1ci5zZWNvbmRzO1xuICAgICAgICBjYXNlIFwibWlsbGlzZWNvbmRzXCI6XG4gICAgICAgICAgICByZXR1cm4gZHVyLm1pbGxpc2Vjb25kcztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiIsICIvKiogRGVmYXVsdCBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBleHByZXNzaW9uIGV2YWx1YXRvci4gKi9cblxuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IExpdGVyYWxUeXBlLCBMaW5rLCBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IGVzY2FwZVJlZ2V4LCBjdXJyZW50TG9jYWxlIH0gZnJvbSBcInV0aWxzL25vcm1hbGl6ZXJzXCI7XG5pbXBvcnQgeyBMaXRlcmFsUmVwckFsbCwgTGl0ZXJhbFR5cGVPckFsbCwgc3RyaW5nU2V0dGluZ3MgfSBmcm9tIFwiZXhwcmVzc2lvbi9iaW5hcnlvcFwiO1xuaW1wb3J0IHsgRXZhbHVhdG9yIH0gZnJvbSBcImV4cHJlc3Npb24vZXZhbHVhdG9yXCI7XG5pbXBvcnQgeyBFeHByZXNzaW9ucyB9IGZyb20gXCJleHByZXNzaW9uL2V4cHJlc3Npb25cIjtcbmltcG9ydCB7IFBSSU1JVElWRVMgfSBmcm9tIFwiZXhwcmVzc2lvbi9wYXJzZXJcIjtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIHdoaWNoIHRha2VzIGluIGEgZnVuY3Rpb24gY29udGV4dCBhbmQgYSB2YXJpYWJsZSBudW1iZXIgb2YgYXJndW1lbnRzLiBUaHJvd3MgYW4gZXJyb3IgaWYgYW5cbiAqIGludmFsaWQgbnVtYmVyL3R5cGUgb2YgYXJndW1lbnRzIGFyZSBwYXNzZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEZ1bmN0aW9uSW1wbCA9IChjb250ZXh0OiBFdmFsdWF0b3IsIC4uLnJlc3Q6IExpdGVyYWxbXSkgPT4gTGl0ZXJhbDtcbi8qKiBBIFwiYm91bmRcIiBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbiB3aGljaCBoYXMgYWxyZWFkeSBoYWQgYSBmdW5jdGlvbiBjb250ZXh0IHBhc3NlZCB0byBpdC4gKi9cbmV4cG9ydCB0eXBlIEJvdW5kRnVuY3Rpb25JbXBsID0gKC4uLmFyZ3M6IExpdGVyYWxbXSkgPT4gTGl0ZXJhbDtcblxuLyoqIEEgZnVuY3Rpb24gdmFyaWFudCB1c2VkIGluIHRoZSBmdW5jdGlvbiBidWlsZGVyIHdoaWNoIGhvbGRzIHRoZSBhcmd1bWVudCB0eXBlcy4gKi9cbmludGVyZmFjZSBGdW5jdGlvblZhcmlhbnQge1xuICAgIGFyZ3M6IExpdGVyYWxUeXBlT3JBbGxbXTtcbiAgICB2YXJhcmdzOiBib29sZWFuO1xuICAgIC8qKiBUaGUgaW1wbGVtZW50aW5nIGZ1bmN0aW9uIGZvciB0aGlzIHNwZWNpZmljIHZhcmlhbnQuICovXG4gICAgaW1wbDogRnVuY3Rpb25JbXBsO1xufVxuXG4vKipcbiAqIEFsbG93cyBmb3IgdGhlIGNyZWF0aW9uIG9mIGZ1bmN0aW9ucyB0aGF0IGNoZWNrIHRoZSBudW1iZXIgYW5kIHR5cGUgb2YgdGhlaXIgYXJndW1lbnRzLCBhbmQgZGlzcGF0Y2hcbiAqIHRvIGRpZmZlcmVudCBpbXBsZW1lbmF0aW9ucyBiYXNlZCBvbiB0aGUgdHlwZXMgb2YgdGhlIGlucHV0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uQnVpbGRlciB7XG4gICAgdmFyaWFudHM6IEZ1bmN0aW9uVmFyaWFudFtdO1xuICAgIHZlY3Rvcml6ZWQ6IFJlY29yZDxudW1iZXIsIG51bWJlcltdPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudmFyaWFudHMgPSBbXTtcbiAgICAgICAgdGhpcy52ZWN0b3JpemVkID0ge307XG4gICAgfVxuXG4gICAgLyoqIEFkZCBhIGdlbmVyYWwgZnVuY3Rpb24gdmFyaWFudCB3aGljaCBhY2NlcHRzIGFueSBudW1iZXIgb2YgYXJndW1lbnRzIG9mIGFueSB0eXBlLiAqL1xuICAgIHB1YmxpYyB2YXJhcmcoaW1wbDogRnVuY3Rpb25JbXBsKTogRnVuY3Rpb25CdWlsZGVyIHtcbiAgICAgICAgdGhpcy52YXJpYW50cy5wdXNoKHsgYXJnczogW10sIHZhcmFyZ3M6IHRydWUsIGltcGwgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKiBBZGQgYSBmdW5jdGlvbiB2YXJpYW50IHdoaWNoIHRha2VzIGluIGEgc2luZ2xlIGFyZ3VtZW50LiAqL1xuICAgIHB1YmxpYyBhZGQxPFQgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsPihcbiAgICAgICAgYXJnVHlwZTogVCxcbiAgICAgICAgaW1wbDogKGE6IExpdGVyYWxSZXByQWxsPFQ+LCBjb250ZXh0OiBFdmFsdWF0b3IpID0+IExpdGVyYWxcbiAgICApOiBGdW5jdGlvbkJ1aWxkZXIge1xuICAgICAgICB0aGlzLnZhcmlhbnRzLnB1c2goe1xuICAgICAgICAgICAgYXJnczogW2FyZ1R5cGVdLFxuICAgICAgICAgICAgdmFyYXJnczogZmFsc2UsXG4gICAgICAgICAgICBpbXBsOiAoYywgLi4ucmVzdCkgPT4gaW1wbChyZXN0WzBdIGFzIExpdGVyYWxSZXByQWxsPFQ+LCBjKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKiBBZGQgYSBmdW5jdGlvbiB2YXJpYW50IHdoaWNoIHRha2VzIGluIHR3byB0eXBlZCBhcmd1bWVudHMuICovXG4gICAgcHVibGljIGFkZDI8VCBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGwsIFUgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsPihcbiAgICAgICAgYXJnMTogVCxcbiAgICAgICAgYXJnMjogVSxcbiAgICAgICAgaW1wbDogKGE6IExpdGVyYWxSZXByQWxsPFQ+LCBiOiBMaXRlcmFsUmVwckFsbDxVPiwgY29udGV4dDogRXZhbHVhdG9yKSA9PiBMaXRlcmFsXG4gICAgKTogRnVuY3Rpb25CdWlsZGVyIHtcbiAgICAgICAgdGhpcy52YXJpYW50cy5wdXNoKHtcbiAgICAgICAgICAgIGFyZ3M6IFthcmcxLCBhcmcyXSxcbiAgICAgICAgICAgIHZhcmFyZ3M6IGZhbHNlLFxuICAgICAgICAgICAgaW1wbDogKGMsIC4uLnJlc3QpID0+IGltcGwocmVzdFswXSBhcyBMaXRlcmFsUmVwckFsbDxUPiwgcmVzdFsxXSBhcyBMaXRlcmFsUmVwckFsbDxVPiwgYyksXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKiogQWRkIGEgZnVuY3Rpb24gdmFyaWFudCB3aGljaCB0YWtlcyBpbiB0aHJlZSB0eXBlZCBhcmd1bWVudHMuICovXG4gICAgcHVibGljIGFkZDM8VCBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGwsIFUgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsLCBWIGV4dGVuZHMgTGl0ZXJhbFR5cGVPckFsbD4oXG4gICAgICAgIGFyZzE6IFQsXG4gICAgICAgIGFyZzI6IFUsXG4gICAgICAgIGFyZzM6IFYsXG4gICAgICAgIGltcGw6IChhOiBMaXRlcmFsUmVwckFsbDxUPiwgYjogTGl0ZXJhbFJlcHJBbGw8VT4sIGM6IExpdGVyYWxSZXByQWxsPFY+LCBjb250ZXh0OiBFdmFsdWF0b3IpID0+IExpdGVyYWxcbiAgICApOiBGdW5jdGlvbkJ1aWxkZXIge1xuICAgICAgICB0aGlzLnZhcmlhbnRzLnB1c2goe1xuICAgICAgICAgICAgYXJnczogW2FyZzEsIGFyZzIsIGFyZzNdLFxuICAgICAgICAgICAgdmFyYXJnczogZmFsc2UsXG4gICAgICAgICAgICBpbXBsOiAoYywgLi4ucmVzdCkgPT5cbiAgICAgICAgICAgICAgICBpbXBsKHJlc3RbMF0gYXMgTGl0ZXJhbFJlcHJBbGw8VD4sIHJlc3RbMV0gYXMgTGl0ZXJhbFJlcHJBbGw8VT4sIHJlc3RbMl0gYXMgTGl0ZXJhbFJlcHJBbGw8Vj4sIGMpLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqIEFkZCB2ZWN0b3JpemVkIHZhcmlhbnRzIHdoaWNoIGFjY2VwdCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGFyZ3VtZW50cyBhbmQgZGVsZWdhdGUuICovXG4gICAgcHVibGljIHZlY3Rvcml6ZShudW1BcmdzOiBudW1iZXIsIHBvc2l0aW9uczogbnVtYmVyW10pOiBGdW5jdGlvbkJ1aWxkZXIge1xuICAgICAgICB0aGlzLnZlY3Rvcml6ZWRbbnVtQXJnc10gPSBwb3NpdGlvbnM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBmdW5jdGlvbiB3aGljaCBjaGVja3MgdGhlIG51bWJlciBhbmQgdHlwZSBvZiBhcmd1bWVudHMsIHBhc3NpbmcgdGhlbSBvbiB0byB0aGUgZmlyc3QgbWF0Y2hpbmcgdmFyaWFudC4gKi9cbiAgICBwdWJsaWMgYnVpbGQoKTogRnVuY3Rpb25JbXBsIHtcbiAgICAgICAgbGV0IHNlbGY6IEZ1bmN0aW9uSW1wbCA9IChjb250ZXh0OiBFdmFsdWF0b3IsIC4uLmFyZ3M6IExpdGVyYWxbXSkgPT4ge1xuICAgICAgICAgICAgbGV0IHR5cGVzOiBMaXRlcmFsVHlwZVtdID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBhcmcgb2YgYXJncykge1xuICAgICAgICAgICAgICAgIGxldCBhcmdUeXBlID0gTGl0ZXJhbHMudHlwZU9mKGFyZyk7XG4gICAgICAgICAgICAgICAgaWYgKCFhcmdUeXBlKSB0aHJvdyBFcnJvcihgVW5yZWNvZ25pemVkIGFyZ3VtZW50IHR5cGUgZm9yIGFyZ3VtZW50ICcke2FyZ30nYCk7XG4gICAgICAgICAgICAgICAgdHlwZXMucHVzaChhcmdUeXBlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSGFuZGxlIHZlY3Rvcml6YXRpb24sIHBvc3NpYmx5IGluIG11bHRpcGxlIGZpZWxkcy5cbiAgICAgICAgICAgIGlmICh0aGlzLnZlY3Rvcml6ZWRbdHlwZXMubGVuZ3RoXSkge1xuICAgICAgICAgICAgICAgIGxldCB2ZWN0b3JpemVkUG9zaXRpb25zID0gdGhpcy52ZWN0b3JpemVkW3R5cGVzLmxlbmd0aF0uZmlsdGVyKChrKSA9PiB0eXBlc1trXSA9PSBcImFycmF5XCIpO1xuICAgICAgICAgICAgICAgIGlmICh2ZWN0b3JpemVkUG9zaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1pbkxlbmd0aCA9IHZlY3Rvcml6ZWRQb3NpdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKHApID0+IChhcmdzW3BdIGFzIGFueVtdKS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBNYXRoLm1pbihwLCBjKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgc3ViZnVuY3Rpb24gZm9yIGVhY2ggZWxlbWVudCBpbiB0aGUgbG9uZ2VzdCBhcnJheS5cbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgeW91IGNhbGwgYSB2ZWN0b3JpemVkIGZ1bmN0aW9uIHdpdGggZGlmZmVyZW50LWxlbmd0aCBhcnJheXMsXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBvdXRwdXQgaXMgbGltaXRlZCBieSB0aGUgbGVuZ3RoIG9mIHRoZSBzaG9ydGVzdCBhcnJheS5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCB2cG9zID0gMDsgdnBvcyA8IG1pbkxlbmd0aDsgdnBvcysrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3ViYXJncyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFyZ3MubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlY3Rvcml6ZWRQb3NpdGlvbnMuaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhcnIgPSBhcmdzW2luZGV4XSBhcyBhbnlbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViYXJncy5wdXNoKGFyclt2cG9zXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViYXJncy5wdXNoKGFyZ3NbaW5kZXhdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHNlbGYoY29udGV4dCwgLi4uc3ViYXJncykpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG91dGVyOiBmb3IgKGxldCB2YXJpYW50IG9mIHRoaXMudmFyaWFudHMpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFyaWFudC52YXJhcmdzKSByZXR1cm4gdmFyaWFudC5pbXBsKGNvbnRleHQsIC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgIGlmICh2YXJpYW50LmFyZ3MubGVuZ3RoICE9IHR5cGVzLmxlbmd0aCkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdmFyaWFudC5hcmdzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWFudC5hcmdzW2luZGV4XSAhPSBcIipcIiAmJiB2YXJpYW50LmFyZ3NbaW5kZXhdICE9IHR5cGVzW2luZGV4XSkgY29udGludWUgb3V0ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhcmlhbnQuaW1wbChjb250ZXh0LCAuLi5hcmdzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYE5vIGltcGxlbWVudGF0aW9uIG9mICcke3RoaXMubmFtZX0nIGZvdW5kIGZvciBhcmd1bWVudHM6ICR7dHlwZXMuam9pbihcIiwgXCIpfWApO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBzZWxmO1xuICAgIH1cbn1cblxuLyoqIFV0aWxpdGllcyBmb3IgbWFuYWdpbmcgZnVuY3Rpb24gaW1wbGVtZW50YXRpb25zLiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBGdW5jdGlvbnMge1xuICAgIC8qKiBCaW5kIGEgY29udGV4dCB0byBhIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uLCB5aWVsZGluZyBhIGZ1bmN0aW9uIHdoaWNoIGRvZXMgbm90IG5lZWQgdGhlIGNvbnRleHQgYXJndW1lbnQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGJpbmQoZnVuYzogRnVuY3Rpb25JbXBsLCBjb250ZXh0OiBFdmFsdWF0b3IpOiBCb3VuZEZ1bmN0aW9uSW1wbCB7XG4gICAgICAgIHJldHVybiAoLi4uYXJnczogTGl0ZXJhbFtdKSA9PiBmdW5jKGNvbnRleHQsIC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIC8qKiBCaW5kIGEgY29udGV4dCB0byBhbGwgZnVuY3Rpb25zIGluIHRoZSBnaXZlbiBtYXAsIHlpZWxkaW5nIGEgbmV3IG1hcCBvZiBib3VuZCBmdW5jdGlvbnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGJpbmRBbGwoXG4gICAgICAgIGZ1bmNzOiBSZWNvcmQ8c3RyaW5nLCBGdW5jdGlvbkltcGw+LFxuICAgICAgICBjb250ZXh0OiBFdmFsdWF0b3JcbiAgICApOiBSZWNvcmQ8c3RyaW5nLCBCb3VuZEZ1bmN0aW9uSW1wbD4ge1xuICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBCb3VuZEZ1bmN0aW9uSW1wbD4gPSB7fTtcbiAgICAgICAgZm9yIChsZXQgW2tleSwgZnVuY10gb2YgT2JqZWN0LmVudHJpZXMoZnVuY3MpKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IEZ1bmN0aW9ucy5iaW5kKGZ1bmMsIGNvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBhbGwgZGVmaW5lZCBmdW5jdGlvbnM7IGRlZmluZWQgaGVyZSBzbyB0aGF0IHRoZXkgY2FuIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBkYXRhdmlldyxcbiAqIGFuZCB0ZXN0IGNvZGUuXG4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgRGVmYXVsdEZ1bmN0aW9ucyB7XG4gICAgZXhwb3J0IGNvbnN0IHR5cGVPZiA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJ0eXBlXCIpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKF8pID0+IFwiYXJyYXlcIilcbiAgICAgICAgLmFkZDEoXCJib29sZWFuXCIsIChfKSA9PiBcImJvb2xlYW5cIilcbiAgICAgICAgLmFkZDEoXCJkYXRlXCIsIChfKSA9PiBcImRhdGVcIilcbiAgICAgICAgLmFkZDEoXCJkdXJhdGlvblwiLCAoXykgPT4gXCJkdXJhdGlvblwiKVxuICAgICAgICAuYWRkMShcImZ1bmN0aW9uXCIsIChfKSA9PiBcImZ1bmN0aW9uXCIpXG4gICAgICAgIC5hZGQxKFwibGlua1wiLCAoXykgPT4gXCJsaW5rXCIpXG4gICAgICAgIC5hZGQxKFwibnVsbFwiLCAoXykgPT4gXCJudWxsXCIpXG4gICAgICAgIC5hZGQxKFwibnVtYmVyXCIsIChfKSA9PiBcIm51bWJlclwiKVxuICAgICAgICAuYWRkMShcIm9iamVjdFwiLCAoXykgPT4gXCJvYmplY3RcIilcbiAgICAgICAgLmFkZDEoXCJzdHJpbmdcIiwgKF8pID0+IFwic3RyaW5nXCIpXG4gICAgICAgIC5hZGQxKFwiKlwiLCAoXykgPT4gXCJ1bmtub3duXCIpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLyoqIENvbXB1dGUgdGhlIGxlbmd0aCBvZiBhIGRhdGEgdHlwZS4gKi9cbiAgICBleHBvcnQgY29uc3QgbGVuZ3RoID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImxlbmd0aFwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhKSA9PiBhLmxlbmd0aClcbiAgICAgICAgLmFkZDEoXCJvYmplY3RcIiwgKGEpID0+IE9iamVjdC5rZXlzKGEpLmxlbmd0aClcbiAgICAgICAgLmFkZDEoXCJzdHJpbmdcIiwgKGEpID0+IGEubGVuZ3RoKVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKF9hKSA9PiAwKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8qKiBMaXN0IGNvbnN0cnVjdG9yIGZ1bmN0aW9uLiAqL1xuICAgIGV4cG9ydCBjb25zdCBsaXN0OiBGdW5jdGlvbkltcGwgPSAoX2NvbnRleHQsIC4uLmFyZ3MpID0+IGFyZ3M7XG5cbiAgICAvKiogT2JqZWN0IGNvbnN0cnVjdG9yIGZ1bmN0aW9uLiAqL1xuICAgIGV4cG9ydCBjb25zdCBvYmplY3Q6IEZ1bmN0aW9uSW1wbCA9IChfY29udGV4dCwgLi4uYXJncykgPT4ge1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggJSAyICE9IDApIHRocm93IEVycm9yKFwib2JqZWN0KCkgcmVxdWlyZXMgYW4gZXZlbiBudW1iZXIgb2YgYXJndW1lbnRzXCIpO1xuICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBMaXRlcmFsPiA9IHt9O1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJncy5sZW5ndGg7IGluZGV4ICs9IDIpIHtcbiAgICAgICAgICAgIGxldCBrZXkgPSBhcmdzW2luZGV4XTtcbiAgICAgICAgICAgIGlmICghTGl0ZXJhbHMuaXNTdHJpbmcoa2V5KSkgdGhyb3cgRXJyb3IoXCJrZXlzIHNob3VsZCBiZSBvZiB0eXBlIHN0cmluZyBmb3Igb2JqZWN0KGtleTEsIHZhbHVlMSwgLi4uKVwiKTtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gYXJnc1tpbmRleCArIDFdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgLyoqIEludGVybmFsIGxpbmsgY29uc3RydWN0b3IgZnVuY3Rpb24uICovXG4gICAgZXhwb3J0IGNvbnN0IGxpbms6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJsaW5rXCIpXG4gICAgICAgIC5hZGQxKFwic3RyaW5nXCIsIChhLCBjKSA9PiBMaW5rLmZpbGUoYy5saW5rSGFuZGxlci5ub3JtYWxpemUoYSksIGZhbHNlKSlcbiAgICAgICAgLmFkZDEoXCJsaW5rXCIsIChhKSA9PiBhKVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKF9hKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDEsIFswXSlcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJzdHJpbmdcIiwgKHQsIGQsIGMpID0+IExpbmsuZmlsZShjLmxpbmtIYW5kbGVyLm5vcm1hbGl6ZSh0KSwgZmFsc2UsIGQpKVxuICAgICAgICAuYWRkMyhcInN0cmluZ1wiLCBcInN0cmluZ1wiLCBcImJvb2xlYW5cIiwgKHQsIGQsIGUsIGMpID0+IExpbmsuZmlsZShjLmxpbmtIYW5kbGVyLm5vcm1hbGl6ZSh0KSwgZSwgZCkpXG4gICAgICAgIC5hZGQyKFwibGlua1wiLCBcInN0cmluZ1wiLCAodCwgZCkgPT4gdC53aXRoRGlzcGxheShkKSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsICh0LCBfbiwgYykgPT4gbGluayhjLCB0KSlcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLyoqIEVtYmVkIGFuZCB1bi1lbWJlZCBhIGxpbmsuICovXG4gICAgZXhwb3J0IGNvbnN0IGVtYmVkOiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiZW1iZWRcIilcbiAgICAgICAgLmFkZDEoXCJsaW5rXCIsIChsKSA9PiBsLnRvRW1iZWQoKSlcbiAgICAgICAgLnZlY3Rvcml6ZSgxLCBbMF0pXG4gICAgICAgIC5hZGQyKFwibGlua1wiLCBcImJvb2xlYW5cIiwgKGwsIGUsIGMpID0+IChlID8gbC50b0VtYmVkKCkgOiBsLmZyb21FbWJlZCgpKSlcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswLCAxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvKiogRGF0ZSBjb25zdHJ1Y3RvciBmdW5jdGlvbi4gKi9cbiAgICBleHBvcnQgY29uc3QgZGF0ZSA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJkYXRlXCIpXG4gICAgICAgIC5hZGQxKFwic3RyaW5nXCIsIChzdHIpID0+IHtcbiAgICAgICAgICAgIGxldCBwYXJzZWREYXRlID0gUFJJTUlUSVZFUy5kYXRlUGx1cy5wYXJzZShzdHIpO1xuICAgICAgICAgICAgaWYgKHBhcnNlZERhdGUuc3RhdHVzKSByZXR1cm4gcGFyc2VkRGF0ZS52YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQxKFwiZGF0ZVwiLCAoZCkgPT4gZClcbiAgICAgICAgLmFkZDEoXCJsaW5rXCIsIChsaW5rLCBjKSA9PiB7XG4gICAgICAgICAgICAvLyBUcnkgdG8gcGFyc2UgZnJvbSB0aGUgZGlzcGxheS4uLlxuICAgICAgICAgICAgaWYgKGxpbmsuZGlzcGxheSkge1xuICAgICAgICAgICAgICAgIGxldCBwYXJzZWREYXRlID0gUFJJTUlUSVZFUy5kYXRlLnBhcnNlKGxpbmsuZGlzcGxheSk7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnNlZERhdGUuc3RhdHVzKSByZXR1cm4gcGFyc2VkRGF0ZS52YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGhlbiB0cnkgdG8gcGFyc2UgZnJvbSB0aGUgcGF0aC4uLlxuICAgICAgICAgICAgbGV0IHBhcnNlZERhdGUgPSBQUklNSVRJVkVTLmRhdGUucGFyc2UobGluay5wYXRoKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWREYXRlLnN0YXR1cykgcmV0dXJuIHBhcnNlZERhdGUudmFsdWU7XG5cbiAgICAgICAgICAgIC8vIFRoZW4gcHVsbCBpdCBmcm9tIHRoZSBmaWxlLlxuICAgICAgICAgICAgbGV0IHJlc29sdmVkID0gYy5saW5rSGFuZGxlci5yZXNvbHZlKGxpbmsucGF0aCk7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZWQgJiYgKHJlc29sdmVkIGFzIGFueSk/LmZpbGU/LmRheSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAocmVzb2x2ZWQgYXMgYW55KT8uZmlsZT8uZGF5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJzdHJpbmdcIiwgKGQsIGYpID0+IHtcbiAgICAgICAgICAgIGlmIChmID09PSBcInhcIiB8fCBmID09PSBcIlhcIikge1xuICAgICAgICAgICAgICAgIGxldCBtYXRjaCA9IE5VTUJFUl9SRUdFWC5leGVjKGQpO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaCkgcmV0dXJuIERhdGVUaW1lLmZyb21NaWxsaXMoTnVtYmVyLnBhcnNlSW50KG1hdGNoWzBdKSAqIChmID09PSBcIlhcIiA/IDEwMDAgOiAxKSk7XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiTm90IGEgbnVtYmVyIGZvciBmb3JtYXQoICgkeyBmIH0pOiAkeyBkIH1cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFyc2VkRGF0ZSA9IERhdGVUaW1lLmZyb21Gb3JtYXQoZCwgZik7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnNlZERhdGUuaXNWYWxpZCkgcmV0dXJuIHBhcnNlZERhdGU7XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGBDYW4ndCBoYW5kbGUgZm9ybWF0ICgke2Z9KSBvbiBkYXRlIHN0cmluZyAoJHtkfSlgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQxKFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDEsIFswXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvKiogRHVyYXRpb24gY29uc3RydWN0b3IgZnVuY3Rpb24uICovXG4gICAgZXhwb3J0IGNvbnN0IGR1ciA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJkdXJcIilcbiAgICAgICAgLmFkZDEoXCJzdHJpbmdcIiwgKHN0cikgPT4ge1xuICAgICAgICAgICAgbGV0IHBhcnNlZER1ciA9IFBSSU1JVElWRVMuZHVyYXRpb24ucGFyc2Uoc3RyLnRyaW0oKSk7XG4gICAgICAgICAgICBpZiAocGFyc2VkRHVyLnN0YXR1cykgcmV0dXJuIHBhcnNlZER1ci52YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQxKFwiZHVyYXRpb25cIiwgKGQpID0+IGQpXG4gICAgICAgIC5hZGQxKFwibnVsbFwiLCAoZCkgPT4gZClcbiAgICAgICAgLnZlY3Rvcml6ZSgxLCBbMF0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLyoqIEZvcm1hdCBhIGRhdGUgdXNpbmcgYSBsdXhvbi9tb21lbnQtc3R5bGUgZGF0ZSBmb3JtYXQuICovXG4gICAgZXhwb3J0IGNvbnN0IGRhdGVmb3JtYXQgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiZGF0ZWZvcm1hdFwiKVxuICAgICAgICAuYWRkMihcImRhdGVcIiwgXCJzdHJpbmdcIiwgKGRhdGUsIGZvcm1hdCkgPT4gZGF0ZS50b0Zvcm1hdChmb3JtYXQsIHsgbG9jYWxlOiBjdXJyZW50TG9jYWxlKCkgfSkpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcInN0cmluZ1wiLCAoX251bCwgX2Zvcm1hdCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMF0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IGxvY2FsdGltZSA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJsb2NhbHRpbWVcIilcbiAgICAgICAgLmFkZDEoXCJkYXRlXCIsIChkKSA9PiBkLnRvTG9jYWwoKSlcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMSwgWzBdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGNvbnN0IE5VTUJFUl9SRUdFWCA9IC8tP1swLTldKyhcXC5bMC05XSspPy87XG5cbiAgICAvKiogTnVtYmVyIGNvbnN0cnVjdG9yIGZ1bmN0aW9uLiAqL1xuICAgIGV4cG9ydCBjb25zdCBudW1iZXIgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibnVtYmVyXCIpXG4gICAgICAgIC5hZGQxKFwibnVtYmVyXCIsIChhKSA9PiBhKVxuICAgICAgICAuYWRkMShcInN0cmluZ1wiLCAoc3RyKSA9PiB7XG4gICAgICAgICAgICBsZXQgbWF0Y2ggPSBOVU1CRVJfUkVHRVguZXhlYyhzdHIpO1xuICAgICAgICAgICAgaWYgKG1hdGNoKSByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQobWF0Y2hbMF0pO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gbnVsbDtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMSwgWzBdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnQgYW55IHZhbHVlIHRvIGEgcmVhc29uYWJsZSBpbnRlcm5hbCBzdHJpbmcgcmVwcmVzZW50YXRpb24uIE1vc3QgdXNlZnVsIGZvciBkYXRlcywgc3RyaW5ncywgbnVtYmVycywgYW5kXG4gICAgICogc28gb24uXG4gICAgICovXG4gICAgZXhwb3J0IGNvbnN0IHN0cmluZyA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJzdHJpbmdcIilcbiAgICAgICAgLmFkZDEoXCIqXCIsIChhLCBjdHgpID0+IExpdGVyYWxzLnRvU3RyaW5nKGEsIHN0cmluZ1NldHRpbmdzKGN0eC5zZXR0aW5ncykpKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCByb3VuZCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJyb3VuZFwiKVxuICAgICAgICAuYWRkMShcIm51bWJlclwiLCAobikgPT4gTWF0aC5yb3VuZChuKSlcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMSwgWzBdKVxuICAgICAgICAuYWRkMihcIm51bWJlclwiLCBcIm51bWJlclwiLCAobiwgcCkgPT4ge1xuICAgICAgICAgICAgaWYgKHAgPD0gMCkgcmV0dXJuIE1hdGgucm91bmQobik7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChuLnRvRml4ZWQocCkpO1xuICAgICAgICB9KVxuICAgICAgICAuYWRkMihcIm51bWJlclwiLCBcIm51bGxcIiwgKG4pID0+IE1hdGgucm91bmQobikpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMF0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IG1pbjogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcIm1pblwiKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsIChhLCBfbikgPT4gYSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoX24sIGEpID0+IGEpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIipcIiwgKGEsIGIsIGN0eCkgPT4gKExpdGVyYWxzLmNvbXBhcmUoYSwgYiwgY3R4LmxpbmtIYW5kbGVyLm5vcm1hbGl6ZSkgPD0gMCA/IGEgOiBiKSlcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAoYSwgY3R4KSA9PiBtaW4oY3R4LCAuLi5hKSlcbiAgICAgICAgLnZhcmFyZygoY3R4LCAuLi5hcmdzKSA9PiAoYXJncy5sZW5ndGggPT0gMCA/IG51bGwgOiBhcmdzLnJlZHVjZSgocCwgYykgPT4gbWluKGN0eCwgcCwgYykpKSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgbWF4OiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibWF4XCIpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKGEsIF9uKSA9PiBhKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsIChfbiwgYSkgPT4gYSlcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwiKlwiLCAoYSwgYiwgY3R4KSA9PiAoTGl0ZXJhbHMuY29tcGFyZShhLCBiLCBjdHgubGlua0hhbmRsZXIubm9ybWFsaXplKSA+IDAgPyBhIDogYikpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKGEsIGN0eCkgPT4gbWF4KGN0eCwgLi4uYSkpXG4gICAgICAgIC52YXJhcmcoKGN0eCwgLi4uYXJncykgPT4gKGFyZ3MubGVuZ3RoID09IDAgPyBudWxsIDogYXJncy5yZWR1Y2UoKHAsIGMpID0+IG1heChjdHgsIHAsIGMpKSkpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IG1pbmJ5OiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibWluYnlcIilcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcImZ1bmN0aW9uXCIsIChhcnIsIGZ1bmMsIGN0eCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFyci5sZW5ndGggPT0gMCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBhcnIubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IHYsIG1hcHBlZDogZnVuYyhjdHgsIHYpIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJlZCA9IHZhbHVlcy5maWx0ZXIoKHYpID0+ICFMaXRlcmFscy5pc051bGwodi5tYXBwZWQpKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJlZC5sZW5ndGggPT0gMCkgcmV0dXJuIGFyclswXTtcblxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlcmVkLnJlZHVjZSgocCwgYykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChMaXRlcmFscy5jb21wYXJlKHAubWFwcGVkLCBjLm1hcHBlZCwgY3R4LmxpbmtIYW5kbGVyLm5vcm1hbGl6ZSkgPD0gMCkgcmV0dXJuIHA7XG4gICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gYztcbiAgICAgICAgICAgIH0pLnZhbHVlO1xuICAgICAgICB9KVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCJmdW5jdGlvblwiLCAoX2FyciwgX2Z1bmMsIF9jdHgpID0+IG51bGwpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IG1heGJ5OiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibWF4YnlcIilcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcImZ1bmN0aW9uXCIsIChhcnIsIGZ1bmMsIGN0eCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFyci5sZW5ndGggPT0gMCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBhcnIubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IHYsIG1hcHBlZDogZnVuYyhjdHgsIHYpIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJlZCA9IHZhbHVlcy5maWx0ZXIoKHYpID0+ICFMaXRlcmFscy5pc051bGwodi5tYXBwZWQpKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJlZC5sZW5ndGggPT0gMCkgcmV0dXJuIGFyclswXTtcblxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlcmVkLnJlZHVjZSgocCwgYykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChMaXRlcmFscy5jb21wYXJlKHAubWFwcGVkLCBjLm1hcHBlZCwgY3R4LmxpbmtIYW5kbGVyLm5vcm1hbGl6ZSkgPiAwKSByZXR1cm4gcDtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBjO1xuICAgICAgICAgICAgfSkudmFsdWU7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcImZ1bmN0aW9uXCIsIChfYXJyLCBfZnVuYywgX2N0eCkgPT4gbnVsbClcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3Qgc3RyaXB0aW1lID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInN0cmlwdGltZVwiKVxuICAgICAgICAuYWRkMShcImRhdGVcIiwgKGQpID0+IERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiBkLnllYXIsIG1vbnRoOiBkLm1vbnRoLCBkYXk6IGQuZGF5IH0pKVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKF9uKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDEsIFswXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyBEZWZhdWx0IGNvbnRhaW5zLCB3aGljaCBsb29rcyB0aHJvdWdoIGRhdGEgc3RydWN0dXJlcyByZWN1cnNpdmVseS5cbiAgICBleHBvcnQgY29uc3QgY29udGFpbnM6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJjb250YWluc1wiKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiKlwiLCAobCwgZWxlbSwgY29udGV4dCkgPT4gbC5zb21lKChlKSA9PiBjb250YWlucyhjb250ZXh0LCBlLCBlbGVtKSkpXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIChoYXlzdGFjaywgbmVlZGxlKSA9PiBoYXlzdGFjay5pbmNsdWRlcyhuZWVkbGUpKVxuICAgICAgICAuYWRkMihcIm9iamVjdFwiLCBcInN0cmluZ1wiLCAob2JqLCBrZXkpID0+IGtleSBpbiBvYmopXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIipcIiwgKGVsZW0xLCBlbGVtMiwgY29udGV4dCkgPT5cbiAgICAgICAgICAgIGNvbnRleHRcbiAgICAgICAgICAgICAgICAuZXZhbHVhdGUoRXhwcmVzc2lvbnMuYmluYXJ5T3AoRXhwcmVzc2lvbnMubGl0ZXJhbChlbGVtMSksIFwiPVwiLCBFeHByZXNzaW9ucy5saXRlcmFsKGVsZW0yKSkpXG4gICAgICAgICAgICAgICAgLm9yRWxzZVRocm93KClcbiAgICAgICAgKVxuICAgICAgICAudmVjdG9yaXplKDIsIFsxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyBDYXNlIGluc2Vuc2l0aXZlIHZlcnNpb24gb2YgY29udGFpbnMuXG4gICAgZXhwb3J0IGNvbnN0IGljb250YWluczogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImljb250YWluc1wiKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiKlwiLCAobCwgZWxlbSwgY29udGV4dCkgPT4gbC5zb21lKChlKSA9PiBpY29udGFpbnMoY29udGV4dCwgZSwgZWxlbSkpKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAoaGF5c3RhY2ssIG5lZWRsZSkgPT5cbiAgICAgICAgICAgIGhheXN0YWNrLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMobmVlZGxlLnRvTG9jYWxlTG93ZXJDYXNlKCkpXG4gICAgICAgIClcbiAgICAgICAgLmFkZDIoXCJvYmplY3RcIiwgXCJzdHJpbmdcIiwgKG9iaiwga2V5KSA9PiBrZXkgaW4gb2JqKVxuICAgICAgICAuYWRkMihcIipcIiwgXCIqXCIsIChlbGVtMSwgZWxlbTIsIGNvbnRleHQpID0+XG4gICAgICAgICAgICBjb250ZXh0XG4gICAgICAgICAgICAgICAgLmV2YWx1YXRlKEV4cHJlc3Npb25zLmJpbmFyeU9wKEV4cHJlc3Npb25zLmxpdGVyYWwoZWxlbTEpLCBcIj1cIiwgRXhwcmVzc2lvbnMubGl0ZXJhbChlbGVtMikpKVxuICAgICAgICAgICAgICAgIC5vckVsc2VUaHJvdygpXG4gICAgICAgIClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMV0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLy8gXCJleGFjdFwiIGNvbnRhaW5zLCBkb2VzIG5vdCBsb29rIHJlY3Vyc2l2ZWx5LlxuICAgIGV4cG9ydCBjb25zdCBlY29udGFpbnM6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJlY29udGFpbnNcIilcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcIipcIiwgKGwsIGVsZW0sIGNvbnRleHQpID0+XG4gICAgICAgICAgICBsLnNvbWUoKGUpID0+XG4gICAgICAgICAgICAgICAgY29udGV4dFxuICAgICAgICAgICAgICAgICAgICAuZXZhbHVhdGUoRXhwcmVzc2lvbnMuYmluYXJ5T3AoRXhwcmVzc2lvbnMubGl0ZXJhbChlbGVtKSwgXCI9XCIsIEV4cHJlc3Npb25zLmxpdGVyYWwoZSkpKVxuICAgICAgICAgICAgICAgICAgICAub3JFbHNlVGhyb3coKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIChoYXlzdGFjaywgbmVlZGxlKSA9PiBoYXlzdGFjay5pbmNsdWRlcyhuZWVkbGUpKVxuICAgICAgICAuYWRkMihcIm9iamVjdFwiLCBcInN0cmluZ1wiLCAob2JqLCBrZXkpID0+IGtleSBpbiBvYmopXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIipcIiwgKGVsZW0xLCBlbGVtMiwgY29udGV4dCkgPT5cbiAgICAgICAgICAgIGNvbnRleHRcbiAgICAgICAgICAgICAgICAuZXZhbHVhdGUoRXhwcmVzc2lvbnMuYmluYXJ5T3AoRXhwcmVzc2lvbnMubGl0ZXJhbChlbGVtMSksIFwiPVwiLCBFeHByZXNzaW9ucy5saXRlcmFsKGVsZW0yKSkpXG4gICAgICAgICAgICAgICAgLm9yRWxzZVRocm93KClcbiAgICAgICAgKVxuICAgICAgICAudmVjdG9yaXplKDIsIFsxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyBDYXNlIGluc2Vuc2l0aXZlIGNvbnRhaW5zIHdoaWNoIGxvb2tzIGZvciBleGFjdCB3b3JkIG1hdGNoZXMgKGkuZS4sIGJvdW5kcnktdG8tYm91bmRyeSBtYXRjaCkuXG4gICAgZXhwb3J0IGNvbnN0IGNvbnRhaW5zd29yZDogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImNvbnRhaW5zd29yZFwiKVxuICAgICAgICAuYWRkMihcbiAgICAgICAgICAgIFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcInN0cmluZ1wiLFxuICAgICAgICAgICAgKGhheSwgbmVlZGxlKSA9PiAhIWhheS5tYXRjaChuZXcgUmVnRXhwKFwiLipcXFxcYlwiICsgZXNjYXBlUmVnZXgobmVlZGxlKSArIFwiXFxcXGIuKlwiLCBcImlcIikpXG4gICAgICAgIClcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoX2EsIF9iKSA9PiBudWxsKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsIChfYSwgX2IpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzAsIDFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8qKiBFeHRyYWN0IDAgb3IgbW9yZSBrZXlzIGZyb20gYSBnaXZlbiBvYmplY3QgdmlhIGluZGV4aW5nLiAqL1xuICAgIGV4cG9ydCBjb25zdCBleHRyYWN0OiBGdW5jdGlvbkltcGwgPSAoY29udGV4dDogRXZhbHVhdG9yLCAuLi5hcmdzOiBMaXRlcmFsW10pID0+IHtcbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09IDApIHJldHVybiBcImV4dHJhY3Qob2JqZWN0LCBrZXkxLCAuLi4pIHJlcXVpcmVzIGF0IGxlYXN0IDEgYXJndW1lbnRcIjtcblxuICAgICAgICAvLyBNYW51YWxseSBoYW5kbGUgdmVjdG9yaXphdGlvbiBpbiB0aGUgZmlyc3QgYXJndW1lbnQuXG4gICAgICAgIGxldCBvYmplY3QgPSBhcmdzWzBdO1xuICAgICAgICBpZiAoTGl0ZXJhbHMuaXNBcnJheShvYmplY3QpKSByZXR1cm4gb2JqZWN0Lm1hcCgodikgPT4gZXh0cmFjdChjb250ZXh0LCB2LCAuLi5hcmdzLnNsaWNlKDEpKSk7XG5cbiAgICAgICAgbGV0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4gPSB7fTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IGFyZ3MubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBsZXQga2V5ID0gYXJnc1tpbmRleF07XG4gICAgICAgICAgICBpZiAoIUxpdGVyYWxzLmlzU3RyaW5nKGtleSkpIHRocm93IEVycm9yKFwiZXh0cmFjdChvYmplY3QsIGtleTEsIC4uLikgbXVzdCBiZSBjYWxsZWQgd2l0aCBzdHJpbmcga2V5c1wiKTtcblxuICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBjb250ZXh0XG4gICAgICAgICAgICAgICAgLmV2YWx1YXRlKEV4cHJlc3Npb25zLmluZGV4KEV4cHJlc3Npb25zLmxpdGVyYWwob2JqZWN0KSwgRXhwcmVzc2lvbnMubGl0ZXJhbChrZXkpKSlcbiAgICAgICAgICAgICAgICAub3JFbHNlVGhyb3coKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIC8vIFJldmVyc2UgYW4gYXJyYXkgb3Igc3RyaW5nLlxuICAgIGV4cG9ydCBjb25zdCByZXZlcnNlID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInJldmVyc2VcIilcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAobCkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSBsLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHJlc3VsdC5wdXNoKGxbaW5kZXhdKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQxKFwic3RyaW5nXCIsIChsKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgICAgICAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgbC5sZW5ndGg7IGMrKykgcmVzdWx0ICs9IGxbbC5sZW5ndGggLSBjIC0gMV07XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgICAuYWRkMShcIipcIiwgKGUpID0+IGUpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLy8gU29ydCBhbiBhcnJheTsgaWYgZ2l2ZW4gdHdvIGFyZ3VtZW50cywgc29ydHMgYnkgdGhlIGtleSByZXR1cm5lZC5cbiAgICBleHBvcnQgY29uc3Qgc29ydDogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInNvcnRcIilcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAobGlzdCwgY29udGV4dCkgPT4gc29ydChjb250ZXh0LCBsaXN0LCAoX2N0eDogRXZhbHVhdG9yLCBhOiBMaXRlcmFsKSA9PiBhKSlcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcImZ1bmN0aW9uXCIsIChsaXN0LCBrZXksIGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAoW10gYXMgTGl0ZXJhbFtdKS5jb25jYXQobGlzdCk7XG4gICAgICAgICAgICByZXN1bHQuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBha2V5ID0ga2V5KGNvbnRleHQsIGEpO1xuICAgICAgICAgICAgICAgIGxldCBia2V5ID0ga2V5KGNvbnRleHQsIGIpO1xuICAgICAgICAgICAgICAgIGxldCBsZSA9IGNvbnRleHRcbiAgICAgICAgICAgICAgICAgICAgLmV2YWx1YXRlKEV4cHJlc3Npb25zLmJpbmFyeU9wKEV4cHJlc3Npb25zLmxpdGVyYWwoYWtleSksIFwiPFwiLCBFeHByZXNzaW9ucy5saXRlcmFsKGJrZXkpKSlcbiAgICAgICAgICAgICAgICAgICAgLm9yRWxzZVRocm93KCk7XG4gICAgICAgICAgICAgICAgaWYgKExpdGVyYWxzLmlzVHJ1dGh5KGxlKSkgcmV0dXJuIC0xO1xuXG4gICAgICAgICAgICAgICAgbGV0IGVxID0gY29udGV4dFxuICAgICAgICAgICAgICAgICAgICAuZXZhbHVhdGUoRXhwcmVzc2lvbnMuYmluYXJ5T3AoRXhwcmVzc2lvbnMubGl0ZXJhbChha2V5KSwgXCI9XCIsIEV4cHJlc3Npb25zLmxpdGVyYWwoYmtleSkpKVxuICAgICAgICAgICAgICAgICAgICAub3JFbHNlVGhyb3coKTtcbiAgICAgICAgICAgICAgICBpZiAoTGl0ZXJhbHMuaXNUcnV0aHkoZXEpKSByZXR1cm4gMDtcblxuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgICAuYWRkMShcIipcIiwgKGUpID0+IGUpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IHJlZ2V4dGVzdCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJyZWdleHRlc3RcIilcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJzdHJpbmdcIiwgKHBhdHRlcm46IHN0cmluZywgZmllbGQ6IHN0cmluZykgPT4gUmVnRXhwKHBhdHRlcm4pLnRlc3QoZmllbGQpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsIChfbiwgX2EpID0+IGZhbHNlKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsIChfYSwgX24pID0+IGZhbHNlKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswLCAxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgcmVnZXhtYXRjaCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJyZWdleG1hdGNoXCIpXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIChwYXR0ZXJuOiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmICghcGF0dGVybi5zdGFydHNXaXRoKFwiXlwiKSAmJiAhcGF0dGVybi5lbmRzV2l0aChcIiRcIikpIHBhdHRlcm4gPSBcIl5cIiArIHBhdHRlcm4gKyBcIiRcIjtcbiAgICAgICAgICAgIHJldHVybiAhIWZpZWxkLm1hdGNoKHBhdHRlcm4pO1xuICAgICAgICB9KVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsIChfbiwgX2EpID0+IGZhbHNlKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsIChfYSwgX24pID0+IGZhbHNlKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswLCAxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgcmVnZXhyZXBsYWNlID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInJlZ2V4cmVwbGFjZVwiKVxuICAgICAgICAuYWRkMyhcInN0cmluZ1wiLCBcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAoZmllbGQ6IHN0cmluZywgcGF0OiBzdHJpbmcsIHJlcDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCByZWcgPSBuZXcgUmVnRXhwKHBhdCwgXCJnXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWVsZC5yZXBsYWNlKHJlZywgcmVwKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgcmVnZXhwICcke3BhdH0nIGluIHJlZ2V4cmVwbGFjZWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuYWRkMyhcIm51bGxcIiwgXCIqXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDMsIFswLCAxLCAyXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgbG93ZXIgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibG93ZXJcIilcbiAgICAgICAgLmFkZDEoXCJzdHJpbmdcIiwgKHMpID0+IHMudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMSwgWzBdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCB1cHBlciA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJ1cHBlclwiKVxuICAgICAgICAuYWRkMShcInN0cmluZ1wiLCAocykgPT4gcy50b0xvY2FsZVVwcGVyQ2FzZSgpKVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgxLCBbMF0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IHJlcGxhY2UgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwicmVwbGFjZVwiKVxuICAgICAgICAuYWRkMyhcInN0cmluZ1wiLCBcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAoc3RyLCBwYXQsIHJlcHIpID0+IHN0ci5zcGxpdChwYXQpLmpvaW4ocmVwcikpXG4gICAgICAgIC5hZGQzKFwibnVsbFwiLCBcIipcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMywgWzAsIDEsIDJdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8vIEVuc3VyZSB1bmRlZmluZWQgbWF0Y2hlcyB0dXJuIGludG8gZW1wdHkgc3RyaW5ncyBmb3Igc3BsaXQvMiBhbmQgc3BsaXQvMy5cbiAgICBjb25zdCBzcGxpdEltcGwgPSAoc3RyOiBzdHJpbmcsIGRlbGltOiBzdHJpbmcsIGxpbWl0PzogbnVtYmVyKTogc3RyaW5nW10gPT5cbiAgICAgICAgc3RyLnNwbGl0KG5ldyBSZWdFeHAoZGVsaW0pLCBsaW1pdCkubWFwKChzdHIpID0+IHN0ciB8fCBcIlwiKTtcblxuICAgIC8qKiBTcGxpdCBhIHN0cmluZyBvbiBhIGdpdmVuIHN0cmluZy4gKi9cbiAgICBleHBvcnQgY29uc3Qgc3BsaXQ6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJzcGxpdFwiKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAoc3RyaW5nLCBzcGxpdHRlcikgPT4gc3BsaXRJbXBsKHN0cmluZywgc3BsaXR0ZXIpKVxuICAgICAgICAuYWRkMyhcInN0cmluZ1wiLCBcInN0cmluZ1wiLCBcIm51bWJlclwiLCAoc3RyaW5nLCBzcGxpdHRlciwgbGltaXQpID0+IHNwbGl0SW1wbChzdHJpbmcsIHNwbGl0dGVyLCBsaW1pdCkpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIm51bGxcIiwgXCIqXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBzdGFydHN3aXRoOiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwic3RhcnRzd2l0aFwiKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAoc3RyLCBzdGFydGluZykgPT4gc3RyLnN0YXJ0c1dpdGgoc3RhcnRpbmcpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IGVuZHN3aXRoOiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiZW5kc3dpdGhcIilcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJzdHJpbmdcIiwgKHN0ciwgZW5kaW5nKSA9PiBzdHIuZW5kc1dpdGgoZW5kaW5nKSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzAsIDFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBwYWRsZWZ0OiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwicGFkbGVmdFwiKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcIm51bWJlclwiLCAoc3RyLCBsZW4pID0+IHN0ci5wYWRTdGFydChsZW4sIFwiIFwiKSlcbiAgICAgICAgLmFkZDMoXCJzdHJpbmdcIiwgXCJudW1iZXJcIiwgXCJzdHJpbmdcIiwgKHN0ciwgbGVuLCBwYWRkaW5nKSA9PiBzdHIucGFkU3RhcnQobGVuLCBwYWRkaW5nKSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwibnVsbFwiLCBcIipcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzAsIDFdKVxuICAgICAgICAudmVjdG9yaXplKDMsIFswLCAxLCAyXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgcGFkcmlnaHQ6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJwYWRyaWdodFwiKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcIm51bWJlclwiLCAoc3RyLCBsZW4pID0+IHN0ci5wYWRFbmQobGVuLCBcIiBcIikpXG4gICAgICAgIC5hZGQzKFwic3RyaW5nXCIsIFwibnVtYmVyXCIsIFwic3RyaW5nXCIsIChzdHIsIGxlbiwgcGFkZGluZykgPT4gc3RyLnBhZEVuZChsZW4sIHBhZGRpbmcpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCJudWxsXCIsIFwiKlwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC52ZWN0b3JpemUoMywgWzAsIDEsIDJdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBzdWJzdHJpbmc6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJzdWJzdHJpbmdcIilcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJudW1iZXJcIiwgKHN0ciwgc3RhcnQpID0+IHN0ci5zdWJzdHJpbmcoc3RhcnQpKVxuICAgICAgICAuYWRkMyhcInN0cmluZ1wiLCBcIm51bWJlclwiLCBcIm51bWJlclwiLCAoc3RyLCBzdGFydCwgZW5kKSA9PiBzdHIuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCJudWxsXCIsIFwiKlwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC52ZWN0b3JpemUoMywgWzAsIDEsIDJdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCB0cnVuY2F0ZTogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInRydW5jYXRlXCIpXG4gICAgICAgIC5hZGQzKFwic3RyaW5nXCIsIFwibnVtYmVyXCIsIFwic3RyaW5nXCIsIChzdHIsIGxlbmd0aCwgc3VmZml4KSA9PiB7XG4gICAgICAgICAgICBpZiAoc3RyLmxlbmd0aCA+IGxlbmd0aCAtIHN1ZmZpeC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RyLnN1YnN0cmluZygwLCBNYXRoLm1heCgwLCBsZW5ndGggLSBzdWZmaXgubGVuZ3RoKSkgKyBzdWZmaXg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdHI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwibnVtYmVyXCIsIChzdHIsIGxlbmd0aCwgY3R4KSA9PiB0cnVuY2F0ZShjdHgsIHN0ciwgbGVuZ3RoLCBcIi4uLlwiKSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwibnVsbFwiLCBcIipcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzAsIDFdKVxuICAgICAgICAudmVjdG9yaXplKDMsIFswLCAxLCAyXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgZmRlZmF1bHQgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiZGVmYXVsdFwiKVxuICAgICAgICAuYWRkMihcIipcIiwgXCIqXCIsICh2LCBiaykgPT4gKExpdGVyYWxzLmlzTnVsbCh2KSA/IGJrIDogdikpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzAsIDFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBsZGVmYXVsdCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJsZGVmYXVsdFwiKVxuICAgICAgICAuYWRkMihcIipcIiwgXCIqXCIsICh2LCBiaykgPT4gKExpdGVyYWxzLmlzTnVsbCh2KSA/IGJrIDogdikpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IGNob2ljZSA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJjaG9pY2VcIilcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwiKlwiLCBcIipcIiwgKGIsIGxlZnQsIHJpZ2h0KSA9PiAoTGl0ZXJhbHMuaXNUcnV0aHkoYikgPyBsZWZ0IDogcmlnaHQpKVxuICAgICAgICAudmVjdG9yaXplKDMsIFswXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgcmVkdWNlID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInJlZHVjZVwiKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwic3RyaW5nXCIsIChsaXMsIG9wLCBjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAobGlzLmxlbmd0aCA9PSAwKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgaWYgKG9wICE9IFwiK1wiICYmIG9wICE9IFwiLVwiICYmIG9wICE9IFwiKlwiICYmIG9wICE9IFwiL1wiICYmIG9wICE9IFwiJlwiICYmIG9wICE9IFwifFwiKVxuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwicmVkdWNlKGFycmF5LCBvcCkgc3VwcG9ydHMgJysnLCAnLScsICcvJywgJyonLCAnJicsIGFuZCAnfCdcIik7XG5cbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxpc1swXTtcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCBsaXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBjb250ZXh0XG4gICAgICAgICAgICAgICAgICAgIC5ldmFsdWF0ZShFeHByZXNzaW9ucy5iaW5hcnlPcChFeHByZXNzaW9ucy5saXRlcmFsKHZhbHVlKSwgb3AsIEV4cHJlc3Npb25zLmxpdGVyYWwobGlzW2luZGV4XSkpKVxuICAgICAgICAgICAgICAgICAgICAub3JFbHNlVGhyb3coKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9KVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiZnVuY3Rpb25cIiwgKGxpcywgb3AsIGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgIGlmIChsaXMubGVuZ3RoID09IDApIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBsaXNbMF07XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgbGlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIC8vIFNraXAgbnVsbCB2YWx1ZXMgdG8gcmVkdWNlIHRoZSBwYWluIG9mIHN1bW1pbmcgb3ZlciBmaWVsZHMgdGhhdCBtYXkgb3IgbWF5IG5vdCBleGlzdC5cbiAgICAgICAgICAgICAgICBpZiAoTGl0ZXJhbHMuaXNOdWxsKGxpc1tpbmRleF0pKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgIHZhbHVlID0gb3AoY29udGV4dCwgdmFsdWUsIGxpc1tpbmRleF0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDIsIFsxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3Qgc3VtID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInN1bVwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhcnIsIGMpID0+IHJlZHVjZShjLCBhcnIsIFwiK1wiKSlcbiAgICAgICAgLmFkZDEoXCIqXCIsIChlKSA9PiBlKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBhdmVyYWdlID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImF2ZXJhZ2VcIilcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAoYXJyYXksIGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgIGlmIChhcnJheS5sZW5ndGggPT0gMCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgIGNvbnN0IGFkZCA9IHN1bShjb250ZXh0LCBhcnJheSk7XG4gICAgICAgICAgICBpZiAoYWRkID09IG51bGwgfHwgYWRkID09IHVuZGVmaW5lZCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybiBjb250ZXh0XG4gICAgICAgICAgICAgICAgLmV2YWx1YXRlKEV4cHJlc3Npb25zLmJpbmFyeU9wKEV4cHJlc3Npb25zLmxpdGVyYWwoYWRkKSwgXCIvXCIsIEV4cHJlc3Npb25zLmxpdGVyYWwoYXJyYXkubGVuZ3RoKSkpXG4gICAgICAgICAgICAgICAgLm9yRWxzZVRocm93KCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQxKFwiKlwiLCAoZSkgPT4gZSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgcHJvZHVjdCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJwcm9kdWN0XCIpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKGFyciwgYykgPT4gcmVkdWNlKGMsIGFyciwgXCIqXCIpKVxuICAgICAgICAuYWRkMShcIipcIiwgKGUpID0+IGUpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IGpvaW46IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJqb2luXCIpXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCJzdHJpbmdcIiwgKGFyciwgc2VwLCBjdHgpID0+XG4gICAgICAgICAgICBhcnIubWFwKChlKSA9PiBMaXRlcmFscy50b1N0cmluZyhlLCBzdHJpbmdTZXR0aW5ncyhjdHguc2V0dGluZ3MpKSkuam9pbihzZXApXG4gICAgICAgIClcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcIm51bGxcIiwgKGFyciwgX3MsIGNvbnRleHQpID0+IGpvaW4oY29udGV4dCwgYXJyLCBcIiwgXCIpKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJzdHJpbmdcIiwgKGVsZW0sIHNlcCwgY3R4KSA9PiBMaXRlcmFscy50b1N0cmluZyhlbGVtLCBzdHJpbmdTZXR0aW5ncyhjdHguc2V0dGluZ3MpKSlcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAoYXJyLCBjb250ZXh0KSA9PiBqb2luKGNvbnRleHQsIGFyciwgXCIsIFwiKSlcbiAgICAgICAgLmFkZDEoXCIqXCIsIChlLCBjdHgpID0+IExpdGVyYWxzLnRvU3RyaW5nKGUsIHN0cmluZ1NldHRpbmdzKGN0eC5zZXR0aW5ncykpKVxuICAgICAgICAudmVjdG9yaXplKDIsIFsxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgYW55ID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImFueVwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhcnIpID0+IGFyci5zb21lKCh2KSA9PiBMaXRlcmFscy5pc1RydXRoeSh2KSkpXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCJmdW5jdGlvblwiLCAoYXJyLCBmLCBjdHgpID0+IGFyci5zb21lKCh2KSA9PiBMaXRlcmFscy5pc1RydXRoeShmKGN0eCwgdikpKSlcbiAgICAgICAgLnZhcmFyZygoX2N0eCwgLi4uYXJncykgPT4gYXJncy5zb21lKCh2KSA9PiBMaXRlcmFscy5pc1RydXRoeSh2KSkpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IGFsbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJhbGxcIilcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAoYXJyKSA9PiBhcnIuZXZlcnkoKHYpID0+IExpdGVyYWxzLmlzVHJ1dGh5KHYpKSlcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcImZ1bmN0aW9uXCIsIChhcnIsIGYsIGN0eCkgPT4gYXJyLmV2ZXJ5KCh2KSA9PiBMaXRlcmFscy5pc1RydXRoeShmKGN0eCwgdikpKSlcbiAgICAgICAgLnZhcmFyZygoX2N0eCwgLi4uYXJncykgPT4gYXJncy5ldmVyeSgodikgPT4gTGl0ZXJhbHMuaXNUcnV0aHkodikpKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBub25lID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImFsbFwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhcnIpID0+ICFhcnIuc29tZSgodikgPT4gTGl0ZXJhbHMuaXNUcnV0aHkodikpKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiZnVuY3Rpb25cIiwgKGFyciwgZiwgY3R4KSA9PiAhYXJyLnNvbWUoKHYpID0+IExpdGVyYWxzLmlzVHJ1dGh5KGYoY3R4LCB2KSkpKVxuICAgICAgICAudmFyYXJnKChfY3R4LCAuLi5hcmdzKSA9PiAhYXJncy5zb21lKCh2KSA9PiBMaXRlcmFscy5pc1RydXRoeSh2KSkpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IGZpbHRlciA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJmaWx0ZXJcIilcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcImZ1bmN0aW9uXCIsIChhcnIsIGYsIGN0eCkgPT4gYXJyLmZpbHRlcigodikgPT4gTGl0ZXJhbHMuaXNUcnV0aHkoZihjdHgsIHYpKSkpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgbWFwID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcIm1hcFwiKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiZnVuY3Rpb25cIiwgKGFyciwgZiwgY3R4KSA9PiBhcnIubWFwKCh2KSA9PiBmKGN0eCwgdikpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IG5vbm51bGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibm9ubnVsbFwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhcnIpID0+IGFyci5maWx0ZXIoKHYpID0+IExpdGVyYWxzLnR5cGVPZih2KSAhPSBcIm51bGxcIikpXG4gICAgICAgIC52YXJhcmcoKF9jdHgsIC4uLmFyZ3MpID0+IGFyZ3MuZmlsdGVyKCh2KSA9PiBMaXRlcmFscy50eXBlT2YodikgIT0gXCJudWxsXCIpKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8qKiBHZXRzIGFuIG9iamVjdCBjb250YWluaW5nIGEgbGluaydzIG93biBwcm9wZXJ0aWVzICovXG4gICAgZXhwb3J0IGNvbnN0IG1ldGE6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJtZXRhXCIpXG4gICAgICAgIC5hZGQxKFwibGlua1wiLCAobGluaykgPT4gKHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGxpbmsuZGlzcGxheSA/PyBudWxsLFxuICAgICAgICAgICAgZW1iZWQ6IGxpbmsuZW1iZWQsXG4gICAgICAgICAgICBwYXRoOiBsaW5rLnBhdGgsXG4gICAgICAgICAgICBzdWJwYXRoOiBsaW5rLnN1YnBhdGggPz8gbnVsbCxcbiAgICAgICAgICAgIHR5cGU6IGxpbmsudHlwZSxcbiAgICAgICAgfSkpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLy8gQ29uY2F0ZW5hdGVzIHN1Yi1hcnJheSBlbGVtZW50cyBpbnRvIGEgbmV3IGFycmF5XG4gICAgZXhwb3J0IGNvbnN0IGZsYXQgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiZmxhdFwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYS5mbGF0KCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCJudW1iZXJcIiwgKGEsIG4pID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHJldHVybiBhLmZsYXQobik7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQxKFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYnVpbGQoKTtcbn1cblxuLyoqIERlZmF1bHQgZnVuY3Rpb24gaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZXhwcmVzc2lvbiBldmFsdWF0b3IuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9GVU5DVElPTlM6IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uSW1wbD4gPSB7XG4gICAgLy8gQ29uc3RydWN0b3JzLlxuICAgIGxpc3Q6IERlZmF1bHRGdW5jdGlvbnMubGlzdCxcbiAgICBhcnJheTogRGVmYXVsdEZ1bmN0aW9ucy5saXN0LFxuICAgIGxpbms6IERlZmF1bHRGdW5jdGlvbnMubGluayxcbiAgICBlbWJlZDogRGVmYXVsdEZ1bmN0aW9ucy5lbWJlZCxcbiAgICBkYXRlOiBEZWZhdWx0RnVuY3Rpb25zLmRhdGUsXG4gICAgZHVyOiBEZWZhdWx0RnVuY3Rpb25zLmR1cixcbiAgICBkYXRlZm9ybWF0OiBEZWZhdWx0RnVuY3Rpb25zLmRhdGVmb3JtYXQsXG4gICAgbG9jYWx0aW1lOiBEZWZhdWx0RnVuY3Rpb25zLmxvY2FsdGltZSxcbiAgICBudW1iZXI6IERlZmF1bHRGdW5jdGlvbnMubnVtYmVyLFxuICAgIHN0cmluZzogRGVmYXVsdEZ1bmN0aW9ucy5zdHJpbmcsXG4gICAgb2JqZWN0OiBEZWZhdWx0RnVuY3Rpb25zLm9iamVjdCxcbiAgICB0eXBlb2Y6IERlZmF1bHRGdW5jdGlvbnMudHlwZU9mLFxuXG4gICAgLy8gTWF0aCBPcGVyYXRpb25zLlxuICAgIHJvdW5kOiBEZWZhdWx0RnVuY3Rpb25zLnJvdW5kLFxuICAgIG1pbjogRGVmYXVsdEZ1bmN0aW9ucy5taW4sXG4gICAgbWF4OiBEZWZhdWx0RnVuY3Rpb25zLm1heCxcbiAgICBtaW5ieTogRGVmYXVsdEZ1bmN0aW9ucy5taW5ieSxcbiAgICBtYXhieTogRGVmYXVsdEZ1bmN0aW9ucy5tYXhieSxcblxuICAgIC8vIFN0cmluZyBvcGVyYXRpb25zLlxuICAgIHJlZ2V4cmVwbGFjZTogRGVmYXVsdEZ1bmN0aW9ucy5yZWdleHJlcGxhY2UsXG4gICAgcmVnZXh0ZXN0OiBEZWZhdWx0RnVuY3Rpb25zLnJlZ2V4dGVzdCxcbiAgICByZWdleG1hdGNoOiBEZWZhdWx0RnVuY3Rpb25zLnJlZ2V4bWF0Y2gsXG4gICAgcmVwbGFjZTogRGVmYXVsdEZ1bmN0aW9ucy5yZXBsYWNlLFxuICAgIGxvd2VyOiBEZWZhdWx0RnVuY3Rpb25zLmxvd2VyLFxuICAgIHVwcGVyOiBEZWZhdWx0RnVuY3Rpb25zLnVwcGVyLFxuICAgIHNwbGl0OiBEZWZhdWx0RnVuY3Rpb25zLnNwbGl0LFxuICAgIHN0YXJ0c3dpdGg6IERlZmF1bHRGdW5jdGlvbnMuc3RhcnRzd2l0aCxcbiAgICBlbmRzd2l0aDogRGVmYXVsdEZ1bmN0aW9ucy5lbmRzd2l0aCxcbiAgICBwYWRsZWZ0OiBEZWZhdWx0RnVuY3Rpb25zLnBhZGxlZnQsXG4gICAgcGFkcmlnaHQ6IERlZmF1bHRGdW5jdGlvbnMucGFkcmlnaHQsXG4gICAgc3Vic3RyaW5nOiBEZWZhdWx0RnVuY3Rpb25zLnN1YnN0cmluZyxcbiAgICB0cnVuY2F0ZTogRGVmYXVsdEZ1bmN0aW9ucy50cnVuY2F0ZSxcblxuICAgIC8vIERhdGUgT3BlcmF0aW9ucy5cbiAgICBzdHJpcHRpbWU6IERlZmF1bHRGdW5jdGlvbnMuc3RyaXB0aW1lLFxuXG4gICAgLy8gTGlzdCBvcGVyYXRpb25zLlxuICAgIGxlbmd0aDogRGVmYXVsdEZ1bmN0aW9ucy5sZW5ndGgsXG4gICAgY29udGFpbnM6IERlZmF1bHRGdW5jdGlvbnMuY29udGFpbnMsXG4gICAgaWNvbnRhaW5zOiBEZWZhdWx0RnVuY3Rpb25zLmljb250YWlucyxcbiAgICBlY29udGFpbnM6IERlZmF1bHRGdW5jdGlvbnMuZWNvbnRhaW5zLFxuICAgIGNvbnRhaW5zd29yZDogRGVmYXVsdEZ1bmN0aW9ucy5jb250YWluc3dvcmQsXG4gICAgcmV2ZXJzZTogRGVmYXVsdEZ1bmN0aW9ucy5yZXZlcnNlLFxuICAgIHNvcnQ6IERlZmF1bHRGdW5jdGlvbnMuc29ydCxcbiAgICBmbGF0OiBEZWZhdWx0RnVuY3Rpb25zLmZsYXQsXG5cbiAgICAvLyBBZ2dyZWdhdGlvbiBvcGVyYXRpb25zIGxpa2UgcmVkdWNlLlxuICAgIHJlZHVjZTogRGVmYXVsdEZ1bmN0aW9ucy5yZWR1Y2UsXG4gICAgam9pbjogRGVmYXVsdEZ1bmN0aW9ucy5qb2luLFxuICAgIHN1bTogRGVmYXVsdEZ1bmN0aW9ucy5zdW0sXG4gICAgcHJvZHVjdDogRGVmYXVsdEZ1bmN0aW9ucy5wcm9kdWN0LFxuICAgIGF2ZXJhZ2U6IERlZmF1bHRGdW5jdGlvbnMuYXZlcmFnZSxcbiAgICBhbGw6IERlZmF1bHRGdW5jdGlvbnMuYWxsLFxuICAgIGFueTogRGVmYXVsdEZ1bmN0aW9ucy5hbnksXG4gICAgbm9uZTogRGVmYXVsdEZ1bmN0aW9ucy5ub25lLFxuICAgIGZpbHRlcjogRGVmYXVsdEZ1bmN0aW9ucy5maWx0ZXIsXG4gICAgbWFwOiBEZWZhdWx0RnVuY3Rpb25zLm1hcCxcbiAgICBub25udWxsOiBEZWZhdWx0RnVuY3Rpb25zLm5vbm51bGwsXG5cbiAgICAvLyBPYmplY3QvVXRpbGl0eSBvcGVyYXRpb25zLlxuICAgIGV4dHJhY3Q6IERlZmF1bHRGdW5jdGlvbnMuZXh0cmFjdCxcbiAgICBkZWZhdWx0OiBEZWZhdWx0RnVuY3Rpb25zLmZkZWZhdWx0LFxuICAgIGxkZWZhdWx0OiBEZWZhdWx0RnVuY3Rpb25zLmxkZWZhdWx0LFxuICAgIGNob2ljZTogRGVmYXVsdEZ1bmN0aW9ucy5jaG9pY2UsXG4gICAgbWV0YTogRGVmYXVsdEZ1bmN0aW9ucy5tZXRhLFxufTtcbiIsICIvKiogQ29yZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcXVlcnkgbGFuZ3VhZ2UgZXZhbHVhdGlvbiBlbmdpbmUuICovXG5cbmltcG9ydCB7IERhdGFPYmplY3QsIExpbmssIExpdGVyYWwsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcbmltcG9ydCB7IEJpbmFyeU9wSGFuZGxlciwgY3JlYXRlQmluYXJ5T3BzIH0gZnJvbSBcIi4vYmluYXJ5b3BcIjtcbmltcG9ydCB7IEV4cHJlc3Npb24sIEV4cHJlc3Npb25zIH0gZnJvbSBcImV4cHJlc3Npb24vZXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgREVGQVVMVF9GVU5DVElPTlMsIEZ1bmN0aW9uSW1wbCB9IGZyb20gXCIuL2Z1bmN0aW9uc1wiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwic2V0dGluZ3NcIjtcbmltcG9ydCB7IEZpZWxkYmVhcmluZywgRmllbGRiZWFyaW5ncyB9IGZyb20gXCIuL2ZpZWxkXCI7XG5cbi8qKiBIYW5kbGVzIGxpbmsgcmVzb2x1dGlvbiBhbmQgbm9ybWFsaXphdGlvbiBpbnNpZGUgb2YgYSBjb250ZXh0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW5rSGFuZGxlciB7XG4gICAgLyoqIFJlc29sdmUgYSBsaW5rIHRvIHRoZSBtZXRhZGF0YSBpdCBjb250YWlucy4gKi9cbiAgICByZXNvbHZlKHBhdGg6IHN0cmluZyB8IExpbmspOiBEYXRhT2JqZWN0IHwgbnVsbDtcbiAgICAvKipcbiAgICAgKiBOb3JtYWxpemUgYSBsaW5rIHRvIGl0J3MgZnVsbHktcXVhbGlmaWVkIHBhdGggZm9yIGNvbXBhcmlzb24gcHVycG9zZXMuXG4gICAgICogSWYgdGhlIHBhdGggZG9lcyBub3QgZXhpc3QsIHJldHVybnMgaXQgdW5jaGFuZ2VkLlxuICAgICAqL1xuICAgIG5vcm1hbGl6ZShwYXRoOiBzdHJpbmcpOiBzdHJpbmc7XG4gICAgLyoqIFJldHVybiB0cnVlIGlmIHRoZSBnaXZlbiBwYXRoIGFjdHVhbGx5IGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLiAqL1xuICAgIGV4aXN0cyhwYXRoOiBzdHJpbmcpOiBib29sZWFuO1xufVxuXG4vKiogU291cmNlIG9mIHZhcmlhYmxlcyB3aGljaCBjYW4gYmUgcmVmZXJlbmNlZCBpbiB0aGUgZXZhbHVhdG9yLiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYXJpYWJsZXMge1xuICAgIC8qKiBSZW5kZXIgdGhlIGVudGlyZSB2YXJpYWJsZSBzdG9yZSB0byBhIGtleS12YWx1ZSBtYXAuICovXG4gICAgYWxsKCk6IERhdGFPYmplY3Q7XG5cbiAgICAvKiogUmVzb2x2ZSBhIHZhcmlhYmxlIGJ5IG5hbWUuICovXG4gICAgcmVzb2x2ZShuYW1lOiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEV2YWx1YXRpb24gY29udGV4dCB0aGF0IGV4cHJlc3Npb25zIGNhbiBiZSBldmFsdWF0ZWQgaW4uIEluY2x1ZGVzIGdsb2JhbCBzdGF0ZSwgYXMgd2VsbCBhcyBhdmFpbGFibGUgZnVuY3Rpb25zIGFuZCBhIGhhbmRsZXJcbiAqIGZvciBiaW5hcnkgb3BlcmF0b3JzLlxuICovXG5leHBvcnQgY2xhc3MgRXZhbHVhdG9yIHtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgY29udGV4dCB3aXRoIHRoZSBnaXZlbiBuYW1lc3BhY2Ugb2YgZ2xvYmFscywgYXMgd2VsbCBhcyBvcHRpb25hbGx5IHdpdGggY3VzdG9tIGJpbmFyeSBvcGVyYXRvciwgZnVuY3Rpb24sXG4gICAgICogYW5kIGxpbmsgaGFuZGxlcnMuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbGlua0hhbmRsZXI6IExpbmtIYW5kbGVyLFxuICAgICAgICBwdWJsaWMgc2V0dGluZ3M6IFNldHRpbmdzLFxuICAgICAgICBwdWJsaWMgZ2xvYmFsczogUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4gPSB7fSxcbiAgICAgICAgcHVibGljIGJpbmFyeU9wczogQmluYXJ5T3BIYW5kbGVyID0gY3JlYXRlQmluYXJ5T3BzKGxpbmtIYW5kbGVyLm5vcm1hbGl6ZSksXG4gICAgICAgIHB1YmxpYyBmdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uSW1wbD4gPSBERUZBVUxUX0ZVTkNUSU9OU1xuICAgICkge31cblxuICAgIC8qKiBTZXQgYSBnbG9iYWwgdmFsdWUgaW4gdGhpcyBjb250ZXh0LiAqL1xuICAgIHB1YmxpYyBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogTGl0ZXJhbCk6IEV2YWx1YXRvciB7XG4gICAgICAgIHRoaXMuZ2xvYmFsc1tuYW1lXSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKiogR2V0IHRoZSB2YWx1ZSBvZiBhIGdsb2JhbCB2YXJpYWJsZSBieSBuYW1lLiBSZXR1cm5zIG51bGwgaWYgbm90IHByZXNlbnQuICovXG4gICAgcHVibGljIGdldChuYW1lOiBzdHJpbmcpOiBMaXRlcmFsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2xvYmFsc1tuYW1lXSA/PyBudWxsO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gZXZhbHVhdGUgYW4gYXJiaXRyYXJ5IGV4cHJlc3Npb24gaW4gdGhpcyBjb250ZXh0LCByYWlzaW5nIGFuIGV4Y2VwdGlvbiBvbiBmYWlsdXJlLiAqL1xuICAgIHB1YmxpYyB0cnlFdmFsdWF0ZShleHByOiBFeHByZXNzaW9uLCB2YXJpYWJsZXM6IFZhcmlhYmxlcyA9IFZhcmlhYmxlcy5lbXB0eSgpKTogTGl0ZXJhbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlKGV4cHIsIHZhcmlhYmxlcykub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogRXZhbHVhdGUgYW4gYXJiaXRyYXJ5IGV4cHJlc3Npb24gaW4gdGhpcyBjb250ZXh0LiAqL1xuICAgIHB1YmxpYyBldmFsdWF0ZShleHByOiBFeHByZXNzaW9uLCB2YXJpYWJsZXM6IFZhcmlhYmxlcyA9IFZhcmlhYmxlcy5lbXB0eSgpKTogUmVzdWx0PExpdGVyYWwsIHN0cmluZz4ge1xuICAgICAgICBzd2l0Y2ggKGV4cHIudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImxpdGVyYWxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoZXhwci52YWx1ZSk7XG4gICAgICAgICAgICBjYXNlIFwidmFyaWFibGVcIjpcbiAgICAgICAgICAgICAgICBpZiAoZXhwci5uYW1lID09PSBFeHByZXNzaW9ucy5ST1cpIHJldHVybiBSZXN1bHQuc3VjY2Vzcyh2YXJpYWJsZXMuYWxsKCkpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSB2YXJpYWJsZXMucmVzb2x2ZShleHByLm5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChyZXNvbHZlZCAhPT0gdW5kZWZpbmVkKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MocmVzb2x2ZWQpO1xuICAgICAgICAgICAgICAgIGlmIChleHByLm5hbWUgaW4gdGhpcy5nbG9iYWxzKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3ModGhpcy5nbG9iYWxzW2V4cHIubmFtZV0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKG51bGwpO1xuICAgICAgICAgICAgY2FzZSBcIm5lZ2F0ZWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ldmFsdWF0ZShleHByLmNoaWxkLCB2YXJpYWJsZXMpLm1hcCgocykgPT4gIUxpdGVyYWxzLmlzVHJ1dGh5KHMpKTtcbiAgICAgICAgICAgIGNhc2UgXCJiaW5hcnlvcFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmxhdE1hcDIoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZhbHVhdGUoZXhwci5sZWZ0LCB2YXJpYWJsZXMpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmV2YWx1YXRlKGV4cHIucmlnaHQsIHZhcmlhYmxlcyksXG4gICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PiB0aGlzLmJpbmFyeU9wcy5ldmFsdWF0ZShleHByLm9wLCBhLCBiLCB0aGlzKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjYXNlIFwibGlzdFwiOlxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBjaGlsZCBvZiBleHByLnZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgc3ViZXZhbCA9IHRoaXMuZXZhbHVhdGUoY2hpbGQsIHZhcmlhYmxlcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3ViZXZhbC5zdWNjZXNzZnVsKSByZXR1cm4gc3ViZXZhbDtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goc3ViZXZhbC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXN1bHQpO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGxldCBvYmpSZXN1bHQ6IERhdGFPYmplY3QgPSB7fTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCBjaGlsZF0gb2YgT2JqZWN0LmVudHJpZXMoZXhwci52YWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBzdWJldmFsID0gdGhpcy5ldmFsdWF0ZShjaGlsZCwgdmFyaWFibGVzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWJldmFsLnN1Y2Nlc3NmdWwpIHJldHVybiBzdWJldmFsO1xuICAgICAgICAgICAgICAgICAgICBvYmpSZXN1bHRba2V5XSA9IHN1YmV2YWwudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhvYmpSZXN1bHQpO1xuICAgICAgICAgICAgY2FzZSBcImxhbWJkYVwiOlxuICAgICAgICAgICAgICAgIC8vIEp1c3QgcmVseWluZyBvbiBKUyB0byBjYXB0dXJlICdkYXRhJyBmb3IgdXMgaW1wbGljaXRseTsgdW5zdXJlXG4gICAgICAgICAgICAgICAgLy8gaWYgdGhpcyBpcyBjb3JyZWN0IHRoaW5nIHRvIGRvLiBDb3VsZCBjYXVzZSB3ZWlyZCBiZWhhdmlvcnMuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKChjdHg6IEV2YWx1YXRvciwgLi4uYXJnczogTGl0ZXJhbFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsb2NhbHM6IFJlY29yZDxzdHJpbmcsIExpdGVyYWw+ID0ge307XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGFyZyA9IDA7IGFyZyA8IE1hdGgubWluKGFyZ3MubGVuZ3RoLCBleHByLmFyZ3VtZW50cy5sZW5ndGgpOyBhcmcrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxzW2V4cHIuYXJndW1lbnRzW2FyZ11dID0gYXJnc1thcmddO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5ldmFsdWF0ZShleHByLnZhbHVlLCBWYXJpYWJsZXMubGFtYmRhKHZhcmlhYmxlcywgbG9jYWxzKSkub3JFbHNlVGhyb3coKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIGxldCByYXdGdW5jID1cbiAgICAgICAgICAgICAgICAgICAgZXhwci5mdW5jLnR5cGUgPT0gXCJ2YXJpYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFJlc3VsdC5zdWNjZXNzPHN0cmluZywgc3RyaW5nPihleHByLmZ1bmMubmFtZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5ldmFsdWF0ZShleHByLmZ1bmMsIHZhcmlhYmxlcyk7XG4gICAgICAgICAgICAgICAgaWYgKCFyYXdGdW5jLnN1Y2Nlc3NmdWwpIHJldHVybiByYXdGdW5jO1xuICAgICAgICAgICAgICAgIGxldCBmdW5jID0gcmF3RnVuYy52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGxldCBhcmdzOiBMaXRlcmFsW10gPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBhcmcgb2YgZXhwci5hcmd1bWVudHMpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc29sdmVkID0gdGhpcy5ldmFsdWF0ZShhcmcsIHZhcmlhYmxlcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzb2x2ZWQuc3VjY2Vzc2Z1bCkgcmV0dXJuIHJlc29sdmVkO1xuICAgICAgICAgICAgICAgICAgICBhcmdzLnB1c2gocmVzb2x2ZWQudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBjYWxsOiBGdW5jdGlvbkltcGw7XG4gICAgICAgICAgICAgICAgaWYgKExpdGVyYWxzLmlzRnVuY3Rpb24oZnVuYykpIGNhbGwgPSBmdW5jIGFzIEZ1bmN0aW9uSW1wbDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChMaXRlcmFscy5pc1N0cmluZyhmdW5jKSAmJiBmdW5jIGluIHRoaXMuZnVuY3Rpb25zKSBjYWxsID0gdGhpcy5mdW5jdGlvbnNbZnVuY107XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoTGl0ZXJhbHMuaXNTdHJpbmcoZnVuYykpIHJldHVybiBSZXN1bHQuZmFpbHVyZShgVW5yZWNvZ25pemVkIGZ1bmN0aW9uIG5hbWUgJyR7ZnVuY30nYCk7XG4gICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYENhbm5vdCBjYWxsIHR5cGUgJyR7TGl0ZXJhbHMudHlwZU9mKGZ1bmMpfScgYXMgYSBmdW5jdGlvbmApO1xuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKGNhbGwodGhpcywgLi4uYXJncykpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGUubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiogR2V0IHZhcmlhYmxlcyBmcm9tIGEgcGxhaW4gb2JqZWN0LiAqL1xuZXhwb3J0IGNsYXNzIE9iamVjdFZhcmlhYmxlcyBpbXBsZW1lbnRzIFZhcmlhYmxlcyB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBvYmplY3Q6IERhdGFPYmplY3QpIHt9XG5cbiAgICBwdWJsaWMgYWxsKCk6IERhdGFPYmplY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3Q7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmUobmFtZTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdFtuYW1lXTtcbiAgICB9XG59XG5cbi8qKiBHZXQgdmFyaWFibGVzIGZyb20gYSBmaWVsZC1iZWFyaW5nIG9iamVjdCAod2hpY2ggc3VwcG9ydHMgY2FzZSBpbnNlbnNpdGl2aXR5KS4gKi9cbmV4cG9ydCBjbGFzcyBGaWVsZGJlYXJpbmdWYXJpYWJsZXMgaW1wbGVtZW50cyBWYXJpYWJsZXMge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgb2JqZWN0OiBGaWVsZGJlYXJpbmcpIHt9XG5cbiAgICBwdWJsaWMgYWxsKCk6IERhdGFPYmplY3Qge1xuICAgICAgICBjb25zdCBvYmplY3Q6IERhdGFPYmplY3QgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB0aGlzLm9iamVjdC5maWVsZHMpIHtcbiAgICAgICAgICAgIG9iamVjdFtmaWVsZC5rZXldID0gZmllbGQudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNvbHZlKG5hbWU6IHN0cmluZyk6IExpdGVyYWwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3QuZmllbGQobmFtZSk/LnZhbHVlO1xuICAgIH1cbn1cblxuLyoqIERlbGVnYXRlIHRvIGxvY2FsIGNvbnRleHQgZmlyc3QsIHRoZW4gdG8gcGFyZW50IGNvbnRleHQgaWYgbm90IGF2YWlsYWJsZS4gKi9cbmV4cG9ydCBjbGFzcyBMYW1iZGFWYXJpYWJsZXMgaW1wbGVtZW50cyBWYXJpYWJsZXMge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgcGFyZW50OiBWYXJpYWJsZXMsIHB1YmxpYyBsb2NhbHM6IFJlY29yZDxzdHJpbmcsIExpdGVyYWw+KSB7fVxuXG4gICAgcHVibGljIGFsbCgpOiBEYXRhT2JqZWN0IHtcbiAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5wYXJlbnQuYWxsKCksIC4uLnRoaXMubG9jYWxzIH07XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmUobmFtZTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2Fsc1tuYW1lXSA/PyB0aGlzLnBhcmVudC5yZXNvbHZlKG5hbWUpO1xuICAgIH1cbn1cblxuLyoqIERlZmF1bHQgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIG1ha2luZyB2YXJpYWJsZSBzdG9yZXMuICovXG5leHBvcnQgbmFtZXNwYWNlIFZhcmlhYmxlcyB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIGVtcHR5KCkge1xuICAgICAgICByZXR1cm4gbmV3IE9iamVjdFZhcmlhYmxlcyh7fSk7XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGluZmVyKG9iamVjdDogYW55KTogVmFyaWFibGVzIHtcbiAgICAgICAgaWYgKEZpZWxkYmVhcmluZ3MuaXNGaWVsZGJlYXJpbmcob2JqZWN0KSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWVsZGJlYXJpbmdWYXJpYWJsZXMob2JqZWN0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT2JqZWN0VmFyaWFibGVzKG9iamVjdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGFtYmRhKHBhcmVudDogVmFyaWFibGVzLCBsb2NhbHM6IFJlY29yZDxzdHJpbmcsIExpdGVyYWw+KTogVmFyaWFibGVzIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMYW1iZGFWYXJpYWJsZXMocGFyZW50LCBsb2NhbHMpO1xuICAgIH1cbn1cbiIsICIvLyEgUHJvdmlkZXMgdXRpbGl0aWVzIGZvciBleGVjdXRpbmcgcXVlcmllcyBhZ2FpbnN0IHRoZSBzdG9yYWdlIGxheWVyLlxuaW1wb3J0IHsgSW5kZXhQcmltaXRpdmUsIEluZGV4UXVlcnksIEluZGV4U291cmNlIH0gZnJvbSBcImluZGV4L3R5cGVzL2luZGV4LXF1ZXJ5XCI7XG5pbXBvcnQgeyBGaWx0ZXIsIEZpbHRlcnMgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWx0ZXJzXCI7XG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tIFwiYXBpL3Jlc3VsdFwiO1xuaW1wb3J0IHsgRXhwcmVzc2lvbiwgRXhwcmVzc2lvbnMgfSBmcm9tIFwiZXhwcmVzc2lvbi9leHByZXNzaW9uXCI7XG5pbXBvcnQgeyBFdmFsdWF0b3IsIFZhcmlhYmxlcyB9IGZyb20gXCJleHByZXNzaW9uL2V2YWx1YXRvclwiO1xuaW1wb3J0IHsgSW5kZXhhYmxlIH0gZnJvbSBcImluZGV4L3R5cGVzL2luZGV4YWJsZVwiO1xuaW1wb3J0IHsgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW5kZXggUXVlcnkgT3B0aW1pemF0aW9uIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFBlcmZvcm0gc2ltcGxlIHJlY3Vyc2l2ZSBvcHRpbWl6YXRpb25zIG92ZXIgYW4gaW5kZXggcXVlcnksIHN1Y2ggYXMgY29uc3RhbnQgZm9sZGluZyBhbmQgZGUtbmVzdGluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvcHRpbWl6ZVF1ZXJ5KHF1ZXJ5OiBJbmRleFF1ZXJ5KTogSW5kZXhRdWVyeSB7XG4gICAgcXVlcnkgPSBkZW5lc3QocXVlcnkpO1xuICAgIHF1ZXJ5ID0gY29uc3RhbnRmb2xkKHF1ZXJ5KTtcblxuICAgIHJldHVybiBxdWVyeTtcbn1cblxuLyoqIERlLW5lc3QgcmVjdXJzaXZlbHkgbmVzdGVkIEFORCBhbmQgT1IgcXVlcmllcyBpbnRvIGEgc2luZ2xlIHRvcC1sZXZlbCBhbmQvb3IuICovXG5mdW5jdGlvbiBkZW5lc3QocXVlcnk6IEluZGV4UXVlcnkpOiBJbmRleFF1ZXJ5IHtcbiAgICBzd2l0Y2ggKHF1ZXJ5LnR5cGUpIHtcbiAgICAgICAgY2FzZSBcImFuZFwiOlxuICAgICAgICAgICAgY29uc3QgYW5kcyA9IHF1ZXJ5LmVsZW1lbnRzLmZsYXRNYXAoKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaXhlZCA9IGRlbmVzdChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZml4ZWQudHlwZSA9PT0gXCJhbmRcIikgcmV0dXJuIGZpeGVkLmVsZW1lbnRzO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIFtmaXhlZF07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwiYW5kXCIsIGVsZW1lbnRzOiBhbmRzIH07XG4gICAgICAgIGNhc2UgXCJvclwiOlxuICAgICAgICAgICAgY29uc3Qgb3JzID0gcXVlcnkuZWxlbWVudHMuZmxhdE1hcCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpeGVkID0gZGVuZXN0KGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlmIChmaXhlZC50eXBlID09PSBcIm9yXCIpIHJldHVybiBmaXhlZC5lbGVtZW50cztcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBbZml4ZWRdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcIm9yXCIsIGVsZW1lbnRzOiBvcnMgfTtcbiAgICAgICAgY2FzZSBcIm5vdFwiOlxuICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJub3RcIiwgZWxlbWVudDogZGVuZXN0KHF1ZXJ5LmVsZW1lbnQpIH07XG4gICAgICAgIGNhc2UgXCJjaGlsZC1vZlwiOlxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHF1ZXJ5LCB7IHBhcmVudHM6IGRlbmVzdChxdWVyeS5wYXJlbnRzKSB9KTtcbiAgICAgICAgY2FzZSBcInBhcmVudC1vZlwiOlxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHF1ZXJ5LCB7IGNoaWxkcmVuOiBkZW5lc3QocXVlcnkuY2hpbGRyZW4pIH0pO1xuICAgICAgICBjYXNlIFwibGlua2VkXCI6XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgcXVlcnksIHsgc291cmNlOiBkZW5lc3QocXVlcnkuc291cmNlKSB9KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBxdWVyeTtcbiAgICB9XG59XG5cbi8qKiBQZXJmb3JtIGNvbnN0YW50IGZvbGRpbmcgYnkgZWxpbWluYXRpbmcgZGVhZCAndHJ1ZScgYW5kICdmYWxzZScgdGVybXMuICovXG5mdW5jdGlvbiBjb25zdGFudGZvbGQocXVlcnk6IEluZGV4UXVlcnkpOiBJbmRleFF1ZXJ5IHtcbiAgICBzd2l0Y2ggKHF1ZXJ5LnR5cGUpIHtcbiAgICAgICAgY2FzZSBcImFuZFwiOlxuICAgICAgICAgICAgY29uc3QgYWNoaWxkcmVuID0gW10gYXMgSW5kZXhRdWVyeVtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBxdWVyeS5lbGVtZW50cykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9IGNvbnN0YW50Zm9sZChjaGlsZCk7XG5cbiAgICAgICAgICAgICAgICAvLyBFbGltaW5hdGUgJ3RydWUnIGNvbnN0YW50cyBhbmQgZWxpbWluYXRlIHRoZSBlbnRpcmUgYW5kIG9uIGEgJ2ZhbHNlJyBjb25zdGFudC5cbiAgICAgICAgICAgICAgICBpZiAoZm9sZGVkLnR5cGUgPT09IFwiY29uc3RhbnRcIikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZGVkLmNvbnN0YW50KSBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSByZXR1cm4geyB0eXBlOiBcImNvbnN0YW50XCIsIGNvbnN0YW50OiBmYWxzZSB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGFjaGlsZHJlbi5wdXNoKGZvbGRlZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwiYW5kXCIsIGVsZW1lbnRzOiBhY2hpbGRyZW4gfTtcbiAgICAgICAgY2FzZSBcIm9yXCI6XG4gICAgICAgICAgICBjb25zdCBvY2hpbGRyZW4gPSBbXSBhcyBJbmRleFF1ZXJ5W107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHF1ZXJ5LmVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVkID0gY29uc3RhbnRmb2xkKGNoaWxkKTtcblxuICAgICAgICAgICAgICAgIC8vIEVsaW1pbmF0ZSAnZmFsc2UnIGNvbnN0YW50cyBhbmQgc2hvcnQgY2lyY3VpdCBvbiBhICd0cnVlJyBjb25zdGFudC5cbiAgICAgICAgICAgICAgICBpZiAoZm9sZGVkLnR5cGUgPT09IFwiY29uc3RhbnRcIikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWZvbGRlZC5jb25zdGFudCkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIHsgdHlwZTogXCJjb25zdGFudFwiLCBjb25zdGFudDogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9jaGlsZHJlbi5wdXNoKGZvbGRlZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwib3JcIiwgZWxlbWVudHM6IG9jaGlsZHJlbiB9O1xuICAgICAgICBjYXNlIFwibm90XCI6XG4gICAgICAgICAgICBjb25zdCBmb2xkZWQgPSBjb25zdGFudGZvbGQocXVlcnkuZWxlbWVudCk7XG5cbiAgICAgICAgICAgIGlmIChmb2xkZWQudHlwZSA9PT0gXCJjb25zdGFudFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJjb25zdGFudFwiLCBjb25zdGFudDogIWZvbGRlZC5jb25zdGFudCB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcIm5vdFwiLCBlbGVtZW50OiBmb2xkZWQgfTtcbiAgICAgICAgY2FzZSBcImNoaWxkLW9mXCI6XG4gICAgICAgICAgICAvLyBwYXJlbnRzID0gRU1QVFkgbWVhbnMgdGhpcyB3aWxsIGFsc28gYmUgZW1wdHkuXG4gICAgICAgICAgICBjb25zdCBwYXJlbnRzID0gY29uc3RhbnRmb2xkKHF1ZXJ5LnBhcmVudHMpO1xuICAgICAgICAgICAgaWYgKHBhcmVudHMudHlwZSA9PT0gXCJjb25zdGFudFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJlbnRzLmNvbnN0YW50KSByZXR1cm4geyB0eXBlOiBcImNvbnN0YW50XCIsIGNvbnN0YW50OiBmYWxzZSB9O1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHBhcmVudHMuY29uc3RhbnQgJiYgcXVlcnkuaW5jbHVzaXZlKSByZXR1cm4geyB0eXBlOiBcImNvbnN0YW50XCIsIGNvbnN0YW50OiB0cnVlIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBxdWVyeSwgeyBwYXJlbnRzIH0pO1xuICAgICAgICBjYXNlIFwicGFyZW50LW9mXCI6XG4gICAgICAgICAgICAvLyBjaGlsZHJlbiA9IEVNUFRZIG1lYW5zIHRoaXMgd2lsbCBhbHNvIGJlIGVtcHR5LlxuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb25zdGFudGZvbGQocXVlcnkuY2hpbGRyZW4pO1xuICAgICAgICAgICAgaWYgKGNoaWxkcmVuLnR5cGUgPT09IFwiY29uc3RhbnRcIikge1xuICAgICAgICAgICAgICAgIGlmICghY2hpbGRyZW4uY29uc3RhbnQpIHJldHVybiB7IHR5cGU6IFwiY29uc3RhbnRcIiwgY29uc3RhbnQ6IGZhbHNlIH07XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2hpbGRyZW4uY29uc3RhbnQgJiYgcXVlcnkuaW5jbHVzaXZlKSByZXR1cm4geyB0eXBlOiBcImNvbnN0YW50XCIsIGNvbnN0YW50OiB0cnVlIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBxdWVyeSwgeyBjaGlsZHJlbiB9KTtcbiAgICAgICAgY2FzZSBcImxpbmtlZFwiOlxuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gY29uc3RhbnRmb2xkKHF1ZXJ5LnNvdXJjZSk7XG4gICAgICAgICAgICBpZiAoc291cmNlLnR5cGUgPT09IFwiY29uc3RhbnRcIikge1xuICAgICAgICAgICAgICAgIGlmICghc291cmNlLmNvbnN0YW50KSByZXR1cm4geyB0eXBlOiBcImNvbnN0YW50XCIsIGNvbnN0YW50OiBmYWxzZSB9O1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNvdXJjZS5jb25zdGFudCAmJiBxdWVyeS5pbmNsdXNpdmUpIHJldHVybiB7IHR5cGU6IFwiY29uc3RhbnRcIiwgY29uc3RhbnQ6IHRydWUgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHF1ZXJ5LCB7IHNvdXJjZSB9KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBxdWVyeTtcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbmRleCBRdWVyeSBFeGVjdXRvciAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIEludGVyZmFjZSBwcm92aWRlZCB0byB0aGUgcXVlcnkgZXhlY3V0b3IgdG8gcmVzb2x2ZSBxdWVyeSBsZWFmIG5vZGVzIChsaWtlIFwiZmluZCBhbGwgcGFnZXMgbWF0Y2hpbmcgJyN0YWcnXCIpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmRleFJlc29sdmVyPFQ+IHtcbiAgICAvKiogVGhlIHNldCBvZiBhbGwgcG9zc2libGUgb2JqZWN0cy4gKi9cbiAgICB1bml2ZXJzZTogU2V0PFQ+O1xuXG4gICAgLyoqIFJlc29sdmUgYW4gYXJiaXRyYXJ5IGluZGV4IHNvdXJjZSAobGlrZSBcImZpbmQgYWxsIHBhZ2VzIG1hdGNoaW5nICcjdGFnJ1wiKSBpbnRvIGEgZmlsdGVyLiAgKi9cbiAgICByZXNvbHZlKGxlYWY6IEluZGV4U291cmNlKTogUmVzdWx0PEZpbHRlcjxUPiwgc3RyaW5nPjtcblxuICAgIC8qKiBSZXNvbHZlIGFuIGluZGV4IHByaW1pdGl2ZSwgd2hpY2ggaXMgZ2FyYXVudGVlZCB0byBuZXZlciByYWlzZSBhbiBleGNlcHRpb24uICovXG4gICAgcmVzb2x2ZVByaW1pdGl2ZShsZWFmOiBJbmRleFByaW1pdGl2ZSk6IEZpbHRlcjxUPjtcblxuICAgIC8qKiBMb2FkIGEgc3BlY2lmaWMgb2JqZWN0IGlmIGF2YWlsYWJsZS4gKi9cbiAgICBsb2FkKGlkOiBUKTogSW5kZXhhYmxlIHwgdW5kZWZpbmVkO1xufVxuXG4vKiogRXhlY3V0ZSBhIHF1ZXJ5LCB1c2luZyB0aGUgZ2l2ZW4gcmVzb2x2ZXIgdG8gZXhlY3V0ZSB0aGUgbGVhZiBub2RlcyBhbmQgdGhlIGdpdmVuIGV2YWx1YXRvciB0byByZXNvbHZlIGV4cHJlc3Npb25zLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGU8VD4oXG4gICAgcXVlcnk6IEluZGV4UXVlcnksXG4gICAgcmVzb2x2ZXI6IEluZGV4UmVzb2x2ZXI8VD4sXG4gICAgZXZhbHVhdG9yOiBFdmFsdWF0b3Jcbik6IFJlc3VsdDxGaWx0ZXI8VD4sIHN0cmluZz4ge1xuICAgIHJldHVybiBzaW1wbGlmeShxdWVyeSwgcmVzb2x2ZXIpLmZsYXRNYXAoKHRyZWUpID0+IGNvbGxhcHNlKHRyZWUsIHJlc29sdmVyLCBldmFsdWF0b3IpKTtcbn1cblxuLyoqIFNpbXBsaWZ5IGEgdHJlZSwgY29tYmluaW5nIHByaW1pdGl2ZXMgaW4gQU5Ecy9PUnMuICovXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxpZnk8VD4ocXVlcnk6IEluZGV4UXVlcnksIHJlc29sdmVyOiBJbmRleFJlc29sdmVyPFQ+KTogUmVzdWx0PEZpbHRlclRyZWU8VD4sIHN0cmluZz4ge1xuICAgIHN3aXRjaCAocXVlcnkudHlwZSkge1xuICAgICAgICBjYXNlIFwiYW5kXCI6XG4gICAgICAgICAgICAvLyBUT0RPOiBFYXJseSByZXR1cm4gb24gYSBOT1RISU5HIGluc2lkZSB0aGUgbWFwQWxsIGxvb3AuXG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0Lm1hcEFsbChxdWVyeS5lbGVtZW50cywgKGNoaWxkKSA9PiBzaW1wbGlmeShjaGlsZCwgcmVzb2x2ZXIpKS5tYXAoKGVsZW1lbnRzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmxhdHRlbmVkID0gZWxlbWVudHMuZmxhdE1hcCgoZWxlbWVudCkgPT5cbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC50eXBlID09PSBcImFuZFwiID8gZWxlbWVudC5lbGVtZW50cyA6IFtlbGVtZW50XVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBvdGhlcjogRmlsdGVyVHJlZTxUPltdID0gW107XG4gICAgICAgICAgICAgICAgY29uc3QgcHJpbWl0aXZlID0gRmlsdGVycy5sYXp5SW50ZXJzZWN0KGZsYXR0ZW5lZCwgKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gXCJmaWx0ZXJcIikgcmV0dXJuIGVsZW1lbnQuZmlsdGVyO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAvLyBFYXJseSByZXR1cm4gb24gTk9USElORyAobm90aGluZyB3aWxsIG1hdGNoKSwgYW5kIHNraXAgb24gTk9USElORy5cbiAgICAgICAgICAgICAgICBpZiAocHJpbWl0aXZlLnR5cGUgPT09IFwibm90aGluZ1wiKSByZXR1cm4geyB0eXBlOiBcImZpbHRlclwiLCBmaWx0ZXI6IEZpbHRlcnMuTk9USElORyB9O1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZS50eXBlICE9IFwiZXZlcnl0aGluZ1wiKSBvdGhlci5wdXNoKEZpbHRlclRyZWVzLmZpbHRlcihwcmltaXRpdmUpKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJUcmVlcy5hbmQob3RoZXIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIGNhc2UgXCJvclwiOlxuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5tYXBBbGwocXVlcnkuZWxlbWVudHMsIChjaGlsZCkgPT4gc2ltcGxpZnkoY2hpbGQsIHJlc29sdmVyKSkubWFwKChlbGVtZW50cykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZsYXR0ZW5lZCA9IGVsZW1lbnRzLmZsYXRNYXAoKGVsZW1lbnQpID0+IChlbGVtZW50LnR5cGUgPT09IFwib3JcIiA/IGVsZW1lbnQuZWxlbWVudHMgOiBbZWxlbWVudF0pKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyOiBGaWx0ZXJUcmVlPFQ+W10gPSBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmltaXRpdmUgPSBGaWx0ZXJzLmxhenlVbmlvbihmbGF0dGVuZWQsIChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFwiZmlsdGVyXCIpIHJldHVybiBlbGVtZW50LmZpbHRlcjtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgLy8gRWFybHkgcmV0dXJuIG9uIEVWRVJZVEhJTkcgKGFsbCB3aWxsIG1hdGNoKSwgYW5kIHNraXAgb24gTk9USElORy5cbiAgICAgICAgICAgICAgICBpZiAocHJpbWl0aXZlLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSByZXR1cm4geyB0eXBlOiBcImZpbHRlclwiLCBmaWx0ZXI6IEZpbHRlcnMuRVZFUllUSElORyB9O1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZS50eXBlICE9IFwibm90aGluZ1wiKSBvdGhlci5wdXNoKEZpbHRlclRyZWVzLmZpbHRlcihwcmltaXRpdmUpKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJUcmVlcy5vcihvdGhlcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgY2FzZSBcIm5vdFwiOlxuICAgICAgICAgICAgcmV0dXJuIHNpbXBsaWZ5KHF1ZXJ5LmVsZW1lbnQsIHJlc29sdmVyKS5tYXAoRmlsdGVyVHJlZXMubm90KTtcbiAgICAgICAgY2FzZSBcImV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBoYXNWYXJpYWJsZXMocXVlcnkuZXhwcmVzc2lvbiwgcmVzb2x2ZXIpO1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHsgdHlwZTogXCJzY2FuXCIsIGNhbmRpZGF0ZXMsIGV4cHJlc3Npb246IHF1ZXJ5LmV4cHJlc3Npb24gfSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZXIucmVzb2x2ZShxdWVyeSkubWFwKChmaWx0ZXIpID0+ICh7IHR5cGU6IFwiZmlsdGVyXCIsIGZpbHRlciB9KSk7XG4gICAgfVxufVxuXG4vKiogQ29sbGFwc2UgYSBmaWx0ZXIgdHJlZSBieSBldmFsdWF0aW5nIGFsbCBzY2FucyB3aXRoIHRoZSBhcHByb3ByaWF0ZSBjb250ZXh0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbGxhcHNlPFQ+KFxuICAgIHRyZWU6IEZpbHRlclRyZWU8VD4sXG4gICAgcmVzb2x2ZXI6IEluZGV4UmVzb2x2ZXI8VD4sXG4gICAgZXZhbHVhdG9yOiBFdmFsdWF0b3IsXG4gICAgbGltaXQ6IEZpbHRlcjxUPiA9IEZpbHRlcnMuRVZFUllUSElOR1xuKTogUmVzdWx0PEZpbHRlcjxUPiwgc3RyaW5nPiB7XG4gICAgc3dpdGNoICh0cmVlLnR5cGUpIHtcbiAgICAgICAgY2FzZSBcIm9yXCI6XG4gICAgICAgICAgICByZXR1cm4gRmlsdGVycy5sYXp5RmFpbGFibGVVbmlvbih0cmVlLmVsZW1lbnRzLCAoZWxlbWVudCkgPT4gY29sbGFwc2UoZWxlbWVudCwgcmVzb2x2ZXIsIGV2YWx1YXRvciwgbGltaXQpKTtcbiAgICAgICAgY2FzZSBcImFuZFwiOlxuICAgICAgICAgICAgY29uc3QgcHJpbWl0aXZlcyA9IHRyZWUuZWxlbWVudHNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChlbGVtKTogZWxlbSBpcyB7IHR5cGU6IFwiZmlsdGVyXCI7IGZpbHRlcjogRmlsdGVyPFQ+IH0gPT4gZWxlbS50eXBlID09PSBcImZpbHRlclwiKVxuICAgICAgICAgICAgICAgIC5tYXAoKGYpID0+IGYuZmlsdGVyKTtcbiAgICAgICAgICAgIGxldCByZXN0cmljdGVkTGltaXQgPSBGaWx0ZXJzLmludGVyc2VjdChbbGltaXQsIC4uLnByaW1pdGl2ZXNdKTtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRyZWUuZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBcImZpbHRlclwiKSBjb250aW51ZTsgLy8gQWxyZWFkeSBpbiB0aGUgaW50ZXJzZWN0aW9uLlxuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF5YmVFdmFsdWF0ZWQgPSBjb2xsYXBzZShlbGVtZW50LCByZXNvbHZlciwgZXZhbHVhdG9yLCByZXN0cmljdGVkTGltaXQpO1xuICAgICAgICAgICAgICAgIGlmICghbWF5YmVFdmFsdWF0ZWQuc3VjY2Vzc2Z1bCkgcmV0dXJuIG1heWJlRXZhbHVhdGVkLmNhc3QoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGV2YWx1YXRlZCA9IG1heWJlRXZhbHVhdGVkLnZhbHVlO1xuICAgICAgICAgICAgICAgIHJlc3RyaWN0ZWRMaW1pdCA9IEZpbHRlcnMuaW50ZXJzZWN0KFtyZXN0cmljdGVkTGltaXQsIGV2YWx1YXRlZF0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJlc3RyaWN0ZWRMaW1pdC50eXBlID09PSBcIm5vdGhpbmdcIikgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuTk9USElORyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXN0cmljdGVkTGltaXQpO1xuICAgICAgICBjYXNlIFwibm90XCI6XG4gICAgICAgICAgICByZXR1cm4gY29sbGFwc2UodHJlZS5lbGVtZW50LCByZXNvbHZlciwgZXZhbHVhdG9yLCBsaW1pdCkubWFwKEZpbHRlcnMubmVnYXRlKTtcbiAgICAgICAgY2FzZSBcImZpbHRlclwiOlxuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHRyZWUuZmlsdGVyKTtcbiAgICAgICAgY2FzZSBcInNjYW5cIjpcbiAgICAgICAgICAgIC8vIExvY2FsIHRyZWUgY2FuZGlkYXRlcyArIGV4aXN0aW5nIGxpbWl0IHRvIHByb2R1Y2UgdGhlIG1pbmltYWwgc2V0IG9mIGNhbmRpZGF0ZXMuXG4gICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gRmlsdGVycy5yZXNvbHZlKEZpbHRlcnMuaW50ZXJzZWN0KFt0cmVlLmNhbmRpZGF0ZXMsIGxpbWl0XSksIHJlc29sdmVyLnVuaXZlcnNlKTtcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJTY2FuKGNhbmRpZGF0ZXMsIHRyZWUuZXhwcmVzc2lvbiwgZXZhbHVhdG9yLCByZXNvbHZlcikubWFwKEZpbHRlcnMuYXRvbSk7XG4gICAgfVxufVxuXG4vKiogU2NhbiBvdmVyIGFsbCBjYW5kaWRhdGUgb2JqZWN0cywgcmV0dXJuaW5nIG9iamVjdHMgZm9yIHdoaWNoIHRoZSBnaXZlbiBleHByZXNzaW9uIHJlc29sdmVzIHRvIHRydWUuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyU2NhbjxUPihcbiAgICBjYW5kaWRhdGVzOiBTZXQ8VD4sXG4gICAgZXhwcjogRXhwcmVzc2lvbixcbiAgICBldmFsdWF0b3I6IEV2YWx1YXRvcixcbiAgICByZXNvbHZlcjogSW5kZXhSZXNvbHZlcjxUPlxuKTogUmVzdWx0PFNldDxUPiwgc3RyaW5nPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFNldDxUPigpO1xuICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgY29uc3Qgb2JqZWN0ID0gcmVzb2x2ZXIubG9hZChjYW5kaWRhdGUpO1xuICAgICAgICBpZiAoIW9iamVjdCkgY29udGludWU7XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBldmFsdWF0b3IuZXZhbHVhdGUoZXhwciwgVmFyaWFibGVzLmluZmVyKG9iamVjdCkpO1xuICAgICAgICBpZiAoIXZhbHVlLnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShgRXJyb3Igd2hpbGUgZXZhbHVhdGluZyBleHByZXNzaW9uIFwiJHtFeHByZXNzaW9ucy50b1N0cmluZyhleHByKX1cIjogJHt2YWx1ZS5lcnJvcn1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChMaXRlcmFscy5pc1RydXRoeSh2YWx1ZS52YWx1ZSkpIHJlc3VsdC5hZGQoY2FuZGlkYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXN1bHQpO1xufVxuXG4vKiogRmlsdGVycyBhbiBleHByZXNzaW9uIHRvIGZpbmQgcGFnZXMgdGhhdCBoYXZlIHRoZSB2YXJpYWJsZXMgZm9yIHRoYXQgZXhwcmVzc2lvbi4gICovXG5leHBvcnQgZnVuY3Rpb24gaGFzVmFyaWFibGVzPFQ+KGV4cHI6IEV4cHJlc3Npb24sIHJlc29sdmVyOiBJbmRleFJlc29sdmVyPFQ+KTogRmlsdGVyPFQ+IHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSBFeHByZXNzaW9ucy51bmJvdW5kVmFyaWFibGVzKGV4cHIsIG5ldyBTZXQoW0V4cHJlc3Npb25zLlJPVywgXCJ0aGlzXCJdKSk7XG5cbiAgICAvLyB2YXJpYWJsZXMgPSAwIGltcGxpZXNzIHNvbWUgd2VpcmQgZnVuY3Rpb24gb3IgY29uc3RhbnQgZXhwcmVzc2lvbi5cbiAgICAvLyBUT0RPOiB3ZSBjYW4gcHJvYmFibHkgZXZhbHVhdGUgaXQgd2l0aG91dCBldmVuIHNjYW5uaW5nIHRvIGB0cnVlYCBvciBgZmFsc2VgIGJ1dCB0byBiZSBkZWZlbnNpdmUgaGF2ZSB0byByZXR1cm4gZXZlcnl0aGluZyBmb3Igbm93LlxuICAgIGlmICh2YXJpYWJsZXMuc2l6ZSA9PSAwKSByZXR1cm4gRmlsdGVycy5FVkVSWVRISU5HO1xuXG4gICAgcmV0dXJuIEZpbHRlcnMubGF6eVVuaW9uKHZhcmlhYmxlcywgKHZhcmlhYmxlKSA9PiByZXNvbHZlci5yZXNvbHZlUHJpbWl0aXZlKHsgdHlwZTogXCJmaWVsZFwiLCB2YWx1ZTogdmFyaWFibGUgfSkpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEZpbHRlciBUcmVlcyAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCB0eXBlIEZpbHRlclRyZWU8VD4gPVxuICAgIHwgeyB0eXBlOiBcImFuZFwiOyBlbGVtZW50czogRmlsdGVyVHJlZTxUPltdIH1cbiAgICB8IHsgdHlwZTogXCJvclwiOyBlbGVtZW50czogRmlsdGVyVHJlZTxUPltdIH1cbiAgICB8IHsgdHlwZTogXCJub3RcIjsgZWxlbWVudDogRmlsdGVyVHJlZTxUPiB9XG4gICAgfCB7IHR5cGU6IFwiZmlsdGVyXCI7IGZpbHRlcjogRmlsdGVyPFQ+IH1cbiAgICB8IHsgdHlwZTogXCJzY2FuXCI7IGNhbmRpZGF0ZXM6IEZpbHRlcjxUPjsgZXhwcmVzc2lvbjogRXhwcmVzc2lvbiB9O1xuXG5leHBvcnQgbmFtZXNwYWNlIEZpbHRlclRyZWVzIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gZmlsdGVyPFQ+KGZpbHRlcjogRmlsdGVyPFQ+KTogRmlsdGVyVHJlZTxUPiB7XG4gICAgICAgIHJldHVybiB7IHR5cGU6IFwiZmlsdGVyXCIsIGZpbHRlciB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBhbmQ8VD4oY2hpbGRyZW46IEZpbHRlclRyZWU8VD5bXSk6IEZpbHRlclRyZWU8VD4ge1xuICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID09IDApIHJldHVybiBmaWx0ZXIoRmlsdGVycy5FVkVSWVRISU5HKTtcbiAgICAgICAgZWxzZSBpZiAoY2hpbGRyZW4ubGVuZ3RoID09IDEpIHJldHVybiBjaGlsZHJlblswXTtcbiAgICAgICAgZWxzZSByZXR1cm4geyB0eXBlOiBcImFuZFwiLCBlbGVtZW50czogY2hpbGRyZW4gfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gb3I8VD4oY2hpbGRyZW46IEZpbHRlclRyZWU8VD5bXSk6IEZpbHRlclRyZWU8VD4ge1xuICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID09IDApIHJldHVybiBmaWx0ZXIoRmlsdGVycy5OT1RISU5HKTtcbiAgICAgICAgZWxzZSBpZiAoY2hpbGRyZW4ubGVuZ3RoID09IDEpIHJldHVybiBjaGlsZHJlblswXTtcbiAgICAgICAgZWxzZSByZXR1cm4geyB0eXBlOiBcIm9yXCIsIGVsZW1lbnRzOiBjaGlsZHJlbiB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBub3Q8VD4oY2hpbGQ6IEZpbHRlclRyZWU8VD4pOiBGaWx0ZXJUcmVlPFQ+IHtcbiAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT09IFwiZmlsdGVyXCIpIHJldHVybiB7IHR5cGU6IFwiZmlsdGVyXCIsIGZpbHRlcjogRmlsdGVycy5uZWdhdGUoY2hpbGQuZmlsdGVyKSB9O1xuICAgICAgICBlbHNlIHJldHVybiB7IHR5cGU6IFwibm90XCIsIGVsZW1lbnQ6IGNoaWxkIH07XG4gICAgfVxufVxuIiwgImltcG9ydCB7IExpbmssIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgRmlsdGVyLCBGaWx0ZXJzIH0gZnJvbSBcImV4cHJlc3Npb24vZmlsdGVyc1wiO1xuaW1wb3J0IHsgRm9sZGVySW5kZXggfSBmcm9tIFwiaW5kZXgvc3RvcmFnZS9mb2xkZXJcIjtcbmltcG9ydCB7IEludmVydGVkSW5kZXggfSBmcm9tIFwiaW5kZXgvc3RvcmFnZS9pbnZlcnRlZFwiO1xuaW1wb3J0IHsgSW5kZXhQcmltaXRpdmUsIEluZGV4UXVlcnksIEluZGV4U291cmNlIH0gZnJvbSBcImluZGV4L3R5cGVzL2luZGV4LXF1ZXJ5XCI7XG5pbXBvcnQgeyBJbmRleGFibGUsIExJTktBQkxFX1RZUEUsIExJTktCRUFSSU5HX1RZUEUsIFRBR0dBQkxFX1RZUEUgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXhhYmxlXCI7XG5pbXBvcnQgeyBNZXRhZGF0YUNhY2hlLCBWYXVsdCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgTWFya2Rvd25QYWdlIH0gZnJvbSBcIi4vdHlwZXMvbWFya2Rvd25cIjtcbmltcG9ydCB7IGV4dHJhY3RTdWJ0YWdzLCBub3JtYWxpemVIZWFkZXJGb3JMaW5rIH0gZnJvbSBcInV0aWxzL25vcm1hbGl6ZXJzXCI7XG5pbXBvcnQgRmxhdFF1ZXVlIGZyb20gXCJmbGF0cXVldWVcIjtcbmltcG9ydCB7IEJUcmVlRmllbGRJbmRleCwgRXZlcnl0aGluZ0ZpZWxkSW5kZXgsIEZpZWxkSW5kZXgsIElkRmllbGRJbmRleCwgU2V0RmllbGRJbmRleCB9IGZyb20gXCJpbmRleC9zdG9yYWdlL2ZpZWxkc1wiO1xuaW1wb3J0IHsgRklFTERCRUFSSU5HX1RZUEUsIEZpZWxkLCBGaWVsZGJlYXJpbmcgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgSW5kZXhSZXNvbHZlciwgZXhlY3V0ZSwgb3B0aW1pemVRdWVyeSB9IGZyb20gXCJpbmRleC9zdG9yYWdlL3F1ZXJ5LWV4ZWN1dG9yXCI7XG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tIFwiYXBpL3Jlc3VsdFwiO1xuaW1wb3J0IHsgRXZhbHVhdG9yIH0gZnJvbSBcImV4cHJlc3Npb24vZXZhbHVhdG9yXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCJzZXR0aW5nc1wiO1xuXG4vKiogQ2VudHJhbCwgaW5kZXggc3RvcmFnZSBmb3IgZGF0YWNvcmUgdmFsdWVzLiAqL1xuZXhwb3J0IGNsYXNzIERhdGFzdG9yZSB7XG4gICAgLyoqIFRoZSBjdXJyZW50IHN0b3JlIHJldmlzaW9uLiAqL1xuICAgIHB1YmxpYyByZXZpc2lvbjogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE1hc3RlciBjb2xsZWN0aW9uIG9mIGFsbCBvYmplY3QgSURzLiBUaGlzIGlzIHRlY2huaWNhbGx5IHJlZHVuZGFudCB3aXRoIG9iamVjdHMua2V5cygpIGJ1dCB0aGlzIGlzIGEgZmFzdCBzZXRcbiAgICAgKiBjb21wYXJlZCB0byBhbiBpdGVyYXRvci5cbiAgICAgKi9cbiAgICBwcml2YXRlIGlkczogU2V0PHN0cmluZz47XG4gICAgLyoqIFRoZSBtYXN0ZXIgY29sbGVjdGlvbiBvZiBBTEwgaW5kZXhlZCBvYmplY3RzLCBtYXBwaW5nIElEIC0+IHRoZSBvYmplY3QuICovXG4gICAgcHJpdmF0ZSBvYmplY3RzOiBNYXA8c3RyaW5nLCBJbmRleGFibGU+O1xuICAgIC8qKiBNYXAgcGFyZW50IG9iamVjdCB0byBpdCdzIGRpcmVjdCBjaGlsZCBvYmplY3RzLiAqL1xuICAgIHByaXZhdGUgY2hpbGRyZW46IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PjtcblxuICAgIC8vIEluZGljZXMgZm9yIHRoZSB2YXJpb3VzIGFjY2VwdGVkIHF1ZXJ5IHR5cGVzLiBUaGVzZSB3aWxsIHByb2JhYmx5IGJlIG1vdmVkIHRvIGEgZGlmZmVyZW50IHR5cGUgbGF0ZXIuXG4gICAgLyoqIEdsb2JhbCBtYXAgb2Ygb2JqZWN0IHR5cGUgLT4gbGlzdCBvZiBhbGwgb2JqZWN0cyBvZiB0aGF0IHR5cGUuICovXG4gICAgcHJpdmF0ZSB0eXBlczogSW52ZXJ0ZWRJbmRleDxzdHJpbmc+O1xuICAgIC8qKiBUcmFja3MgZXhhY3QgdGFnIG9jY3VyZW5jZSBpbiBvYmplY3RzLiAqL1xuICAgIHByaXZhdGUgZXRhZ3M6IEludmVydGVkSW5kZXg8c3RyaW5nPjtcbiAgICAvKiogVHJhY2tzIHRhZyBvY2N1cmVuY2UgaW4gb2JqZWN0cy4gKi9cbiAgICBwcml2YXRlIHRhZ3M6IEludmVydGVkSW5kZXg8c3RyaW5nPjtcbiAgICAvKiogTWFwcyBsaW5rIHN0cmluZ3MgdG8gdGhlIG9iamVjdCBJRHMgdGhhdCBsaW5rIHRvIHRob3NlIGxpbmtzLiAqL1xuICAgIHByaXZhdGUgbGlua3M6IEludmVydGVkSW5kZXg8c3RyaW5nPjtcbiAgICAvKiogVHJhY2tzIHRoZSBleGlzdGVuY2Ugb2YgZmllbGRzIChpbmRleGVkIGJ5IG5vcm1hbGl6ZWQga2V5IG5hbWUpLiAqL1xuICAgIHByaXZhdGUgZmllbGRzOiBNYXA8c3RyaW5nLCBGaWVsZEluZGV4PjtcbiAgICAvKipcbiAgICAgKiBRdWljayBzZWFyY2hlcyBmb3Igb2JqZWN0cyBpbiBmb2xkZXJzLiBUaGlzIGluZGV4IG9ubHkgdHJhY2tzIHRvcC1sZXZlbCBvYmplY3RzIC0gaXQgaXMgZXhwYW5kZWQgcmVjdXJzaXZlbHkgdG9cbiAgICAgKiBmaW5kIGNoaWxkIG9iamVjdHMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBmb2xkZXI6IEZvbGRlckluZGV4O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyB2YXVsdDogVmF1bHQsIHB1YmxpYyBtZXRhZGF0YUNhY2hlOiBNZXRhZGF0YUNhY2hlLCBwdWJsaWMgc2V0dGluZ3M6IFNldHRpbmdzKSB7XG4gICAgICAgIHRoaXMucmV2aXNpb24gPSAwO1xuICAgICAgICB0aGlzLmlkcyA9IG5ldyBTZXQoKTtcbiAgICAgICAgdGhpcy5vYmplY3RzID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gbmV3IE1hcCgpO1xuXG4gICAgICAgIHRoaXMudHlwZXMgPSBuZXcgSW52ZXJ0ZWRJbmRleCgpO1xuICAgICAgICB0aGlzLmV0YWdzID0gbmV3IEludmVydGVkSW5kZXgoKTtcbiAgICAgICAgdGhpcy50YWdzID0gbmV3IEludmVydGVkSW5kZXgoKTtcbiAgICAgICAgdGhpcy5saW5rcyA9IG5ldyBJbnZlcnRlZEluZGV4KCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5faW5pdGlhbGl6ZUZpZWxkcygpO1xuICAgICAgICB0aGlzLmZvbGRlciA9IG5ldyBGb2xkZXJJbmRleCh2YXVsdCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIG9iamVjdHMgaW4gdGhlIHN0b3JlLiAqL1xuICAgIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RzLnNpemU7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSB0aGUgcmV2aXNpb24gb2YgdGhlIGRhdGFzdG9yZSBkdWUgdG8gYW4gZXh0ZXJuYWwgdXBkYXRlLiAqL1xuICAgIHB1YmxpYyB0b3VjaCgpIHtcbiAgICAgICAgdGhpcy5yZXZpc2lvbiArPSAxO1xuICAgIH1cblxuICAgIC8qKiBMb2FkIGFuIG9iamVjdCBieSBJRC4gKi9cbiAgICBwdWJsaWMgbG9hZChpZDogc3RyaW5nKTogSW5kZXhhYmxlIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBMb2FkIGEgbGlzdCBvZiBvYmplY3RzIGJ5IElELiAqL1xuICAgIHB1YmxpYyBsb2FkKGlkczogc3RyaW5nW10pOiBJbmRleGFibGVbXTtcblxuICAgIC8qKiBMb2FkIGFuIG9iamVjdCBieSBJRCBvciBsaXN0IG9mIElEcy4gKi9cbiAgICBsb2FkKGlkOiBzdHJpbmcgfCBzdHJpbmdbXSk6IEluZGV4YWJsZSB8IEluZGV4YWJsZVtdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gaWQubWFwKChhKSA9PiB0aGlzLmxvYWQoYSkpLmZpbHRlcigob2JqKTogb2JqIGlzIEluZGV4YWJsZSA9PiBvYmogIT09IHVuZGVmaW5lZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RzLmdldChpZCk7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdXAgc2FuZSBmaWVsZCBkZWZhdWx0cyBmb3Igc2V2ZXJhbCBpbmRleGFibGUgZmllbGRzLiAqL1xuICAgIHByaXZhdGUgX2luaXRpYWxpemVGaWVsZHMoKTogTWFwPHN0cmluZywgRmllbGRJbmRleD4ge1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBuZXcgTWFwPHN0cmluZywgRmllbGRJbmRleD4oKTtcblxuICAgICAgICAvLyBTcGVjaWFsaXplIGluZGljZXMgZm9yICRpZCBhbmQgdGhlIG90aGVyIG9tbmlwcmVzZW50IGZpZWxkIHZhbHVlcy5cbiAgICAgICAgZmllbGRzLnNldChcbiAgICAgICAgICAgIFwiJGlkXCIsXG4gICAgICAgICAgICBuZXcgSWRGaWVsZEluZGV4KFxuICAgICAgICAgICAgICAgICgpID0+IHRoaXMuaWRzLFxuICAgICAgICAgICAgICAgIChpZCkgPT4gdGhpcy5vYmplY3RzLmhhcyhpZClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgZmllbGRzLnNldChcIiR0eXBlc1wiLCBuZXcgRXZlcnl0aGluZ0ZpZWxkSW5kZXgoKCkgPT4gdGhpcy5pZHMpKTtcbiAgICAgICAgZmllbGRzLnNldChcIiR0eXBlbmFtZVwiLCBuZXcgRXZlcnl0aGluZ0ZpZWxkSW5kZXgoKCkgPT4gdGhpcy5pZHMpKTtcbiAgICAgICAgZmllbGRzLnNldChcIiRyZXZpc2lvblwiLCBuZXcgRXZlcnl0aGluZ0ZpZWxkSW5kZXgoKCkgPT4gdGhpcy5pZHMpKTtcblxuICAgICAgICAvLyBPcHRpbWl6ZSBvdmVyICRjb21wbGV0ZWQgYW5kICRzdGF0dXMgbG9va3VwcyBmb3IgdGFza3MuXG4gICAgICAgIGZpZWxkcy5zZXQoXCIkY29tcGxldGVkXCIsIG5ldyBCVHJlZUZpZWxkSW5kZXgoKSk7XG4gICAgICAgIGZpZWxkcy5zZXQoXCIkc3RhdHVzXCIsIG5ldyBCVHJlZUZpZWxkSW5kZXgoKSk7XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZSB0aGUgZ2l2ZW4gb2JqZWN0LCBtYWtpbmcgaXQgaW1tZWRpYXRlbHkgcXVlcnlhYmxlLiBTdG9yaW5nIGFuIG9iamVjdFxuICAgICAqIHRha2VzIG93bmVyc2hpcCBvdmVyIGl0LCBhbmQgaW5kZXgtc3BlY2lmaWMgdmFyaWFibGVzIChwcmVmaXhlZCB2aWEgJyQnKSBtYXkgYmVcbiAgICAgKiBhZGRlZCB0byB0aGUgb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdG9yZTxUIGV4dGVuZHMgSW5kZXhhYmxlPihvYmplY3Q6IFQgfCBUW10sIHN1YnN0b3Jlcj86IFN1YnN0b3JlcjxUPikge1xuICAgICAgICB0aGlzLl9yZWN1cnNpdmVTdG9yZShvYmplY3QsIHRoaXMucmV2aXNpb24rKywgc3Vic3RvcmVyLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIC8qKiBSZWN1cnNpdmVseSBzdG9yZSBvYmplY3RzIHVzaW5nIGEgcG90ZW50aWFsIHN1YmluZGV4ZXIuICovXG4gICAgcHJpdmF0ZSBfcmVjdXJzaXZlU3RvcmU8VCBleHRlbmRzIEluZGV4YWJsZT4oXG4gICAgICAgIG9iamVjdDogVCB8IFRbXSxcbiAgICAgICAgcmV2aXNpb246IG51bWJlcixcbiAgICAgICAgc3Vic3RvcmVyPzogU3Vic3RvcmVyPFQ+LFxuICAgICAgICBwYXJlbnQ/OiBJbmRleGFibGVcbiAgICApIHtcbiAgICAgICAgLy8gSGFuZGxlIGFycmF5IGlucHV0cy5cbiAgICAgICAgaWYgKExpdGVyYWxzLmlzQXJyYXkob2JqZWN0KSkge1xuICAgICAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBvYmplY3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZWN1cnNpdmVTdG9yZShlbGVtZW50LCByZXZpc2lvbiwgc3Vic3RvcmVyLCBwYXJlbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZWxldGUgdGhlIHByZXZpb3VzIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGlmIHByZXNlbnQuXG4gICAgICAgIC8vIFRPRE86IFByb2JhYmx5IG9ubHkgYWN0dWFsbHkgbmVlZCB0byBkZWxldGUgdGhlIHJvb3Qgb2JqZWN0cy5cbiAgICAgICAgdGhpcy5fZGVsZXRlUmVjdXJzaXZlKG9iamVjdC4kaWQpO1xuXG4gICAgICAgIC8vIEFzc2lnbiB0aGUgbmV4dCByZXZpc2lvbiB0byB0aGlzIG9iamVjdDsgaW5kZXhlZCBvYmplY3RzIGFyZSBpbXBsaWVkIHRvIGJlIHJvb3Qgb2JqZWN0cy5cbiAgICAgICAgb2JqZWN0LiRyZXZpc2lvbiA9IHJldmlzaW9uO1xuICAgICAgICBvYmplY3QuJHBhcmVudCA9IHBhcmVudDtcblxuICAgICAgICAvLyBBZGQgdGhlIG9iamVjdCB0byB0aGUgYXBwcm9wcmlhdGUgb2JqZWN0IG1hcHMuXG4gICAgICAgIHRoaXMuaWRzLmFkZChvYmplY3QuJGlkKTtcbiAgICAgICAgdGhpcy5vYmplY3RzLnNldChvYmplY3QuJGlkLCBvYmplY3QpO1xuXG4gICAgICAgIC8vIEFkZCB0aGUgb2JqZWN0IHRvIHRoZSBwYXJlbnQgY2hpbGRyZW4gbWFwLlxuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW4uaGFzKHBhcmVudC4kaWQpKSB0aGlzLmNoaWxkcmVuLnNldChwYXJlbnQuJGlkLCBuZXcgU2V0KCkpO1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5nZXQocGFyZW50LiRpZCkhLmFkZChvYmplY3QuJGlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2luZGV4KG9iamVjdCk7XG5cbiAgICAgICAgLy8gSW5kZXggYW55IHN1Ym9yZGluYXRlIG9iamVjdHMgaW4gdGhpcyBvYmplY3QuXG4gICAgICAgIHN1YnN0b3Jlcj8uKG9iamVjdCwgKGluY29taW5nLCBzdWJpbmRleCkgPT4gdGhpcy5fcmVjdXJzaXZlU3RvcmUoaW5jb21pbmcsIHJldmlzaW9uLCBzdWJpbmRleCwgb2JqZWN0KSk7XG4gICAgfVxuXG4gICAgLyoqIERlbGV0ZSBhbiBvYmplY3QgYnkgSUQgZnJvbSB0aGUgaW5kZXgsIHJlY3Vyc2l2ZWx5IGRlbGV0aW5nIGFueSBjaGlsZCBvYmplY3RzIGFzIHdlbGwuICovXG4gICAgcHVibGljIGRlbGV0ZShpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLl9kZWxldGVSZWN1cnNpdmUoaWQpKSB7XG4gICAgICAgICAgICB0aGlzLnJldmlzaW9uKys7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogSW50ZXJuYWwgbWV0aG9kIHRoYXQgZG9lcyBub3QgYnVtcCB0aGUgcmV2aXNpb24uICovXG4gICAgcHJpdmF0ZSBfZGVsZXRlUmVjdXJzaXZlKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5vYmplY3RzLmdldChpZCk7XG4gICAgICAgIGlmICghb2JqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZWN1cnNpdmVseSBkZWxldGUgYWxsIGNoaWxkIG9iamVjdHMuXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5nZXQoaWQpO1xuICAgICAgICBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGZvciAobGV0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVsZXRlUmVjdXJzaXZlKGNoaWxkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5kZWxldGUoaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRHJvcCB0aGlzIG9iamVjdCBmcm9tIHRoZSBhcHByb3ByaWF0ZSBtYXBzLlxuICAgICAgICB0aGlzLl91bmluZGV4KG9iamVjdCk7XG4gICAgICAgIHRoaXMuaWRzLmRlbGV0ZShpZCk7XG4gICAgICAgIHRoaXMub2JqZWN0cy5kZWxldGUoaWQpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKiogQWRkIHRoZSBnaXZlbiBpbmRleGFibGUgdG8gdGhlIGFwcHJvcHJpYXRlIGluZGljZXMuICovXG4gICAgcHJpdmF0ZSBfaW5kZXgob2JqZWN0OiBJbmRleGFibGUpIHtcbiAgICAgICAgdGhpcy50eXBlcy5zZXQob2JqZWN0LiRpZCwgb2JqZWN0LiR0eXBlcyk7XG5cbiAgICAgICAgLy8gRXhhY3QgYW5kIGRlcml2ZWQgdGFncy5cbiAgICAgICAgaWYgKG9iamVjdC4kdHlwZXMuY29udGFpbnMoVEFHR0FCTEVfVFlQRSkgJiYgaXRlcmFibGVFeGlzdHMob2JqZWN0LCBcIiR0YWdzXCIpKSB7XG4gICAgICAgICAgICBjb25zdCB0YWdzID0gb2JqZWN0LiR0YWdzIGFzIFNldDxzdHJpbmc+O1xuXG4gICAgICAgICAgICB0aGlzLmV0YWdzLnNldChvYmplY3QuJGlkLCB0YWdzKTtcbiAgICAgICAgICAgIHRoaXMudGFncy5zZXQob2JqZWN0LiRpZCwgZXh0cmFjdFN1YnRhZ3ModGFncykpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXhhY3QgYW5kIGRlcml2ZWQgbGlua3MuXG4gICAgICAgIGlmIChvYmplY3QuJHR5cGVzLmNvbnRhaW5zKExJTktCRUFSSU5HX1RZUEUpICYmIGl0ZXJhYmxlRXhpc3RzKG9iamVjdCwgXCIkbGlua3NcIikpIHtcbiAgICAgICAgICAgIHRoaXMubGlua3Muc2V0KFxuICAgICAgICAgICAgICAgIG9iamVjdC4kaWQsXG4gICAgICAgICAgICAgICAgKG9iamVjdC4kbGlua3MgYXMgTGlua1tdKS5tYXAoKGxpbmspID0+IGxpbmsub2JzaWRpYW5MaW5rKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWxsIGZpZWxkcyBvbiBhbiBvYmplY3QuXG4gICAgICAgIGlmIChvYmplY3QuJHR5cGVzLmNvbnRhaW5zKEZJRUxEQkVBUklOR19UWVBFKSAmJiBcImZpZWxkc1wiIGluIG9iamVjdCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBvYmplY3QuZmllbGRzIGFzIEl0ZXJhYmxlPEZpZWxkPikge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vcm0gPSBmaWVsZC5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGRzLmhhcyhub3JtKSkgdGhpcy5maWVsZHMuc2V0KG5vcm0sIG5ldyBTZXRGaWVsZEluZGV4KCkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZ2V0KG5vcm0pIS5hZGQob2JqZWN0LiRpZCwgZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlbW92ZSB0aGUgZ2l2ZW4gaW5kZXhhYmxlIGZyb20gYWxsIGluZGljZXMuICovXG4gICAgcHJpdmF0ZSBfdW5pbmRleChvYmplY3Q6IEluZGV4YWJsZSkge1xuICAgICAgICB0aGlzLnR5cGVzLmRlbGV0ZShvYmplY3QuJGlkLCBvYmplY3QuJHR5cGVzKTtcblxuICAgICAgICBpZiAob2JqZWN0LiR0eXBlcy5jb250YWlucyhUQUdHQUJMRV9UWVBFKSAmJiBpdGVyYWJsZUV4aXN0cyhvYmplY3QsIFwiJHRhZ3NcIikpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSBvYmplY3QuJHRhZ3MgYXMgU2V0PHN0cmluZz47XG5cbiAgICAgICAgICAgIHRoaXMuZXRhZ3MuZGVsZXRlKG9iamVjdC4kaWQsIHRhZ3MpO1xuICAgICAgICAgICAgdGhpcy50YWdzLmRlbGV0ZShvYmplY3QuJGlkLCBleHRyYWN0U3VidGFncyh0YWdzKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob2JqZWN0LiR0eXBlcy5jb250YWlucyhMSU5LQkVBUklOR19UWVBFKSAmJiBpdGVyYWJsZUV4aXN0cyhvYmplY3QsIFwiJGxpbmtzXCIpKSB7XG4gICAgICAgICAgICAvLyBBc3N1bWUgbGlua3MgYXJlIG5vcm1hbGl6ZWQgd2hlbiBkZWxldGluZyB0aGVtLiBDb3VsZCBiZSBicm9rZW4gYnV0IEkgaG9wZSBub3QuIFdlIGNhbiBhbHdheXMgdXNlIGEgMi13YXkgaW5kZXggdG9cbiAgICAgICAgICAgIC8vIGZpeCB0aGlzIGlmIHdlIGVuY291bnRlciBub24tbm9ybWFsaXplZCBsaW5rcy5cbiAgICAgICAgICAgIHRoaXMubGlua3MuZGVsZXRlKFxuICAgICAgICAgICAgICAgIG9iamVjdC4kaWQsXG4gICAgICAgICAgICAgICAgKG9iamVjdC4kbGlua3MgYXMgTGlua1tdKS5tYXAoKGxpbmspID0+IGxpbmsub2JzaWRpYW5MaW5rKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9iamVjdC4kdHlwZXMuY29udGFpbnMoRklFTERCRUFSSU5HX1RZUEUpICYmIFwiZmllbGRzXCIgaW4gb2JqZWN0KSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIG9iamVjdC5maWVsZHMgYXMgSXRlcmFibGU8RmllbGQ+KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybSA9IGZpZWxkLmtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZHMuaGFzKG5vcm0pKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmdldChub3JtKSEuZGVsZXRlKG9iamVjdC4kaWQsIGZpZWxkLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDb21wbGV0ZWx5IGNsZWFyIHRoZSBkYXRhc3RvcmUgb2YgYWxsIHZhbHVlcy4gKi9cbiAgICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuaWRzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMub2JqZWN0cy5jbGVhcigpO1xuICAgICAgICB0aGlzLmNoaWxkcmVuLmNsZWFyKCk7XG5cbiAgICAgICAgdGhpcy50eXBlcy5jbGVhcigpO1xuICAgICAgICB0aGlzLnRhZ3MuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5ldGFncy5jbGVhcigpO1xuICAgICAgICB0aGlzLmxpbmtzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZmllbGRzLmNsZWFyKCk7XG5cbiAgICAgICAgdGhpcy5yZXZpc2lvbisrO1xuICAgIH1cblxuICAgIC8qKiBGaW5kIHRoZSBjb3JyZXNwb25kaW5nIG9iamVjdCBmb3IgYSBnaXZlbiBsaW5rLiAqL1xuICAgIHB1YmxpYyByZXNvbHZlTGluayhyYXdMaW5rOiBzdHJpbmcgfCBMaW5rLCBzb3VyY2VQYXRoPzogc3RyaW5nKTogSW5kZXhhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IGxpbmsgPSB0eXBlb2YgcmF3TGluayA9PT0gXCJzdHJpbmdcIiA/IExpbmsucGFyc2VJbm5lcihyYXdMaW5rKSA6IHJhd0xpbms7XG5cbiAgICAgICAgaWYgKHNvdXJjZVBhdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmtkZXN0ID0gdGhpcy5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmsucGF0aCwgc291cmNlUGF0aCk7XG4gICAgICAgICAgICBpZiAobGlua2Rlc3QpIGxpbmsgPSBsaW5rLndpdGhQYXRoKGxpbmtkZXN0LnBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsZSA9IHRoaXMub2JqZWN0cy5nZXQobGluay5wYXRoKTtcbiAgICAgICAgaWYgKCFmaWxlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChsaW5rLnR5cGUgPT09IFwiZmlsZVwiKSByZXR1cm4gZmlsZTtcblxuICAgICAgICAvLyBCbG9ja3MgYW5kIGhlYWRlciBsaW5rcyBjYW4gb25seSByZXNvbHZlIGluc2lkZSBvZiBtYXJrZG93biBmaWxlcy5cbiAgICAgICAgaWYgKCEoZmlsZSBpbnN0YW5jZW9mIE1hcmtkb3duUGFnZSkpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGxpbmsudHlwZSA9PT0gXCJoZWFkZXJcIikge1xuICAgICAgICAgICAgY29uc3Qgc2VjdGlvbiA9IGZpbGUuJHNlY3Rpb25zLmZpbmQoXG4gICAgICAgICAgICAgICAgKHNlYykgPT4gbm9ybWFsaXplSGVhZGVyRm9yTGluayhzZWMuJHRpdGxlKSA9PSBsaW5rLnN1YnBhdGggfHwgc2VjLiR0aXRsZSA9PSBsaW5rLnN1YnBhdGhcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChzZWN0aW9uKSByZXR1cm4gc2VjdGlvbjtcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIGlmIChsaW5rLnR5cGUgPT09IFwiYmxvY2tcIikge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzZWN0aW9uIG9mIGZpbGUuJHNlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBzZWN0aW9uLiRibG9ja3MuZmluZCgoYmwpID0+IGJsLiRibG9ja0lkID09PSBsaW5rLnN1YnBhdGgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGJsb2NrKSByZXR1cm4gYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBsaW5rIHR5cGU6ICR7bGluay50eXBlfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoIHRoZSBkYXRhc3RvcmUgZm9yIGFsbCBkb2N1bWVudHMgbWF0Y2hpbmcgdGhlIGdpdmVuIHF1ZXJ5LCByZXR1cm5pbmcgdGhlbVxuICAgICAqIGFzIGEgbGlzdCBvZiBpbmRleGVkIG9iamVjdHMgYWxvbmcgd2l0aCBwZXJmb3JtYW5jZSBtZXRhZGF0YS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VhcmNoKHF1ZXJ5OiBJbmRleFF1ZXJ5LCBzZXR0aW5ncz86IFNlYXJjaFNldHRpbmdzKTogUmVzdWx0PFNlYXJjaFJlc3VsdDxJbmRleGFibGU+LCBzdHJpbmc+IHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIGNvbnN0IG1heWJlRmlsdGVyID0gdGhpcy5fc2VhcmNoKHF1ZXJ5LCBzZXR0aW5ncyk7XG4gICAgICAgIGlmICghbWF5YmVGaWx0ZXIuc3VjY2Vzc2Z1bCkgcmV0dXJuIG1heWJlRmlsdGVyLmNhc3QoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gRmlsdGVycy5yZXNvbHZlKG1heWJlRmlsdGVyLnZhbHVlLCB0aGlzLmlkcyk7XG5cbiAgICAgICAgY29uc3Qgb2JqZWN0czogSW5kZXhhYmxlW10gPSBbXTtcbiAgICAgICAgbGV0IG1heFJldmlzaW9uID0gMDtcbiAgICAgICAgZm9yIChsZXQgaWQgb2YgcmVzdWx0KSB7XG4gICAgICAgICAgICBjb25zdCBvYmplY3QgPSB0aGlzLm9iamVjdHMuZ2V0KGlkKTtcbiAgICAgICAgICAgIGlmIChvYmplY3QpIHtcbiAgICAgICAgICAgICAgICBvYmplY3RzLnB1c2gob2JqZWN0KTtcbiAgICAgICAgICAgICAgICBtYXhSZXZpc2lvbiA9IE1hdGgubWF4KG1heFJldmlzaW9uLCBvYmplY3QuJHJldmlzaW9uID8/IDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHtcbiAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcbiAgICAgICAgICAgIHJlc3VsdHM6IG9iamVjdHMsXG4gICAgICAgICAgICBkdXJhdGlvbjogKERhdGUubm93KCkgLSBzdGFydCkgLyAxMDAwLjAsXG4gICAgICAgICAgICByZXZpc2lvbjogbWF4UmV2aXNpb24sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBJbnRlcm5hbCBzZWFyY2ggd2hpY2ggeWllbGRzIGEgZmlsdGVyIG9mIHJlc3VsdHMuICovXG4gICAgcHJpdmF0ZSBfc2VhcmNoKHF1ZXJ5OiBJbmRleFF1ZXJ5LCBzZXR0aW5ncz86IFNlYXJjaFNldHRpbmdzKTogUmVzdWx0PEZpbHRlcjxzdHJpbmc+LCBzdHJpbmc+IHtcbiAgICAgICAgY29uc3Qgc291cmNlUGF0aCA9IHNldHRpbmdzPy5zb3VyY2VQYXRoO1xuICAgICAgICBjb25zdCBmaWxlID0gc291cmNlUGF0aCA/IHRoaXMub2JqZWN0cy5nZXQoc291cmNlUGF0aCkgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3QgZXZhbHVhdG9yID0gbmV3IEV2YWx1YXRvcihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBleGlzdHM6IChwYXRoOiBzdHJpbmcgfCBMaW5rKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVMaW5rKHR5cGVvZiBwYXRoID09IFwic3RyaW5nXCIgPyBMaW5rLmZpbGUocGF0aCkgOiBwYXRoLCBzb3VyY2VQYXRoKSAhPSBudWxsLFxuICAgICAgICAgICAgICAgIHJlc29sdmU6IChwYXRoOiBzdHJpbmcpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxpbmsodHlwZW9mIHBhdGggPT0gXCJzdHJpbmdcIiA/IExpbmsuZmlsZShwYXRoKSA6IHBhdGgsIHNvdXJjZVBhdGgpID8/IG51bGwsXG4gICAgICAgICAgICAgICAgbm9ybWFsaXplOiAocGF0aDogc3RyaW5nKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGFkYXRhQ2FjaGUuZ2V0Rmlyc3RMaW5rcGF0aERlc3QocGF0aCwgc291cmNlUGF0aCA/PyBcIlwiKT8ucGF0aCA/PyBwYXRoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBTZXQgYHRoaXNgIG9uIHRoZSBmaWxlIGlmIG5lZWRlZC5cbiAgICAgICAgaWYgKGZpbGUpIGV2YWx1YXRvci5zZXQoXCJ0aGlzXCIsIGZpbGUpO1xuXG4gICAgICAgIGNvbnN0IHJlc29sdmVyOiBJbmRleFJlc29sdmVyPHN0cmluZz4gPSB7XG4gICAgICAgICAgICB1bml2ZXJzZTogdGhpcy5pZHMsXG4gICAgICAgICAgICByZXNvbHZlOiAobGVhZikgPT4gdGhpcy5fcmVzb2x2ZVNvdXJjZShsZWFmLCBzZXR0aW5ncyksXG4gICAgICAgICAgICByZXNvbHZlUHJpbWl0aXZlOiAobGVhZikgPT4gdGhpcy5fcmVzb2x2ZVByaW1pdGl2ZShsZWFmLCBzZXR0aW5ncyksXG4gICAgICAgICAgICBsb2FkOiAoaWQpID0+IHRoaXMubG9hZChpZCksXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGV4ZWN1dGUob3B0aW1pemVRdWVyeShxdWVyeSksIHJlc29sdmVyLCBldmFsdWF0b3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc29sdmVTb3VyY2UocXVlcnk6IEluZGV4U291cmNlLCBzZXR0aW5ncz86IFNlYXJjaFNldHRpbmdzKTogUmVzdWx0PEZpbHRlcjxzdHJpbmc+LCBzdHJpbmc+IHtcbiAgICAgICAgc3dpdGNoIChxdWVyeS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiY2hpbGQtb2ZcIjpcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBDb25zaWRlciBjb252ZXJ0aW5nIHRoaXMgdG8gYmUgYSBzY2FuIGluc3RlYWQgZm9yIGEgbm90aWNhYmxlIHNwZWVkdXAuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF5YmVQYXJlbnRzID0gdGhpcy5fc2VhcmNoKHF1ZXJ5LnBhcmVudHMsIHNldHRpbmdzKTtcbiAgICAgICAgICAgICAgICBpZiAoIW1heWJlUGFyZW50cy5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVQYXJlbnRzLmNhc3QoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudHMgPSBtYXliZVBhcmVudHMudmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKEZpbHRlcnMuZW1wdHkocGFyZW50cykpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuTk9USElORyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJlbnRzLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChxdWVyeS5pbmNsdXNpdmUpIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLkVWRVJZVEhJTkcpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFJldHVybiB0aGUgc2V0IGFsbCBjaGlsZHJlbi4gVE9ETzogQ29uc2lkZXIgY2FjaGluZyB2aWEgYSBgcGFyZW50c2AgbWFwLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhbGxDaGlsZHJlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5vYmplY3RzLnZhbHVlcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC4kcGFyZW50KSBhbGxDaGlsZHJlbi5hZGQoZWxlbWVudC4kaWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuYXRvbShhbGxDaGlsZHJlbikpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkUGFyZW50cyA9IEZpbHRlcnMucmVzb2x2ZShwYXJlbnRzLCB0aGlzLmlkcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRSZXN1bHRzID0gbmV3IFNldDxzdHJpbmc+KHF1ZXJ5LmluY2x1c2l2ZSA/IHJlc29sdmVkUGFyZW50cyA6IFtdKTtcblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHJlc29sdmVkUGFyZW50cykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuX2l0ZXJhdGVDaGlsZHJlbihwYXJlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZFJlc3VsdHMuYWRkKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLmF0b20oY2hpbGRSZXN1bHRzKSk7XG4gICAgICAgICAgICBjYXNlIFwicGFyZW50LW9mXCI6XG4gICAgICAgICAgICAgICAgLy8gVE9ETzogQ29uc2lkZXIgY29udmVydGluZyB0aGlzIHRvIGJlIGEgc2NhbiBpbnN0ZWFkIGZvciBhIG5vdGljYWJsZSBzcGVlZHVwLlxuICAgICAgICAgICAgICAgIGNvbnN0IG1heWJlQ2hpbGRyZW4gPSB0aGlzLl9zZWFyY2gocXVlcnkuY2hpbGRyZW4sIHNldHRpbmdzKTtcbiAgICAgICAgICAgICAgICBpZiAoIW1heWJlQ2hpbGRyZW4uc3VjY2Vzc2Z1bCkgcmV0dXJuIG1heWJlQ2hpbGRyZW4uY2FzdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gbWF5YmVDaGlsZHJlbi52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChGaWx0ZXJzLmVtcHR5KGNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5OT1RISU5HKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkcmVuLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChxdWVyeS5pbmNsdXNpdmUpIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLkVWRVJZVEhJTkcpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLmF0b20obmV3IFNldCh0aGlzLmNoaWxkcmVuLmtleXMoKSkpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZENoaWxkcmVuID0gRmlsdGVycy5yZXNvbHZlKGNoaWxkcmVuLCB0aGlzLmlkcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50UmVzdWx0cyA9IG5ldyBTZXQ8c3RyaW5nPihxdWVyeS5pbmNsdXNpdmUgPyByZXNvbHZlZENoaWxkcmVuIDogW10pO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiByZXNvbHZlZENoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFyZW50IG9mIHRoaXMuX2l0ZXJhdGVQYXJlbnRzKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50UmVzdWx0cy5hZGQocGFyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLmF0b20ocGFyZW50UmVzdWx0cykpO1xuICAgICAgICAgICAgY2FzZSBcImxpbmtlZFwiOlxuICAgICAgICAgICAgICAgIGlmIChxdWVyeS5kaXN0YW5jZSAmJiBxdWVyeS5kaXN0YW5jZSA8IDApIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLk5PVEhJTkcpO1xuXG4gICAgICAgICAgICAgICAgLy8gQ29tcHV0ZSB0aGUgc291cmNlIG9iamVjdHMgZmlyc3QuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF5YmVTb3VyY2VzID0gdGhpcy5fc2VhcmNoKHF1ZXJ5LnNvdXJjZSwgc2V0dGluZ3MpO1xuICAgICAgICAgICAgICAgIGlmICghbWF5YmVTb3VyY2VzLnN1Y2Nlc3NmdWwpIHJldHVybiBtYXliZVNvdXJjZXMuY2FzdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZXMgPSBtYXliZVNvdXJjZXMudmFsdWU7XG5cbiAgICAgICAgICAgICAgICBpZiAoRmlsdGVycy5lbXB0eShzb3VyY2VzKSkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuTk9USElORyk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoc291cmNlcy50eXBlID09PSBcImV2ZXJ5dGhpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICBpZiAocXVlcnkuaW5jbHVzaXZlKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5FVkVSWVRISU5HKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5OT1RISU5HKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZFNvdXJjZXMgPSBGaWx0ZXJzLnJlc29sdmUoc291cmNlcywgdGhpcy5pZHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IHF1ZXJ5LmRpcmVjdGlvbiA/PyBcImJvdGhcIjtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5fdHJhdmVyc2VMaW5rZWQocmVzb2x2ZWRTb3VyY2VzLCBxdWVyeS5kaXN0YW5jZSA/PyAxLCAoaWQpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2l0ZXJhdGVBZGphY2VudExpbmtlZChpZCwgZGlyZWN0aW9uKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXF1ZXJ5LmluY2x1c2l2ZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuYXRvbShGaWx0ZXJzLnNldEludGVyc2VjdE5lZ2F0aW9uKHJlc3VsdHMsIHJlc29sdmVkU291cmNlcykpKTtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLmF0b20ocmVzdWx0cykpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3ModGhpcy5fcmVzb2x2ZVByaW1pdGl2ZShxdWVyeSwgc2V0dGluZ3MpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZXNvbHZlIGxlYWYgbm9kZXMgaW4gYSBzZWFyY2ggQVNULCB5aWVsZGluZyByYXcgc2V0cyBvZiByZXN1bHRzLiAqL1xuICAgIHByaXZhdGUgX3Jlc29sdmVQcmltaXRpdmUocXVlcnk6IEluZGV4UHJpbWl0aXZlLCBzZXR0aW5ncz86IFNlYXJjaFNldHRpbmdzKTogRmlsdGVyPHN0cmluZz4ge1xuICAgICAgICBzd2l0Y2ggKHF1ZXJ5LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJjb25zdGFudFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLmNvbnN0YW50KHF1ZXJ5LmNvbnN0YW50KTtcbiAgICAgICAgICAgIGNhc2UgXCJpZFwiOlxuICAgICAgICAgICAgICAgIGNvbnN0IGV4YWN0T2JqZWN0ID0gdGhpcy5vYmplY3RzLmdldChxdWVyeS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4YWN0T2JqZWN0ID8gRmlsdGVycy5hdG9tKG5ldyBTZXQoW2V4YWN0T2JqZWN0LiRpZF0pKSA6IEZpbHRlcnMuTk9USElORztcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gdGhpcy5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KFxuICAgICAgICAgICAgICAgICAgICBxdWVyeS52YWx1ZS5wYXRoLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncz8uc291cmNlUGF0aCA/PyBcIlwiXG4gICAgICAgICAgICAgICAgKT8ucGF0aDtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVkUGF0aCA/IHF1ZXJ5LnZhbHVlLndpdGhQYXRoKHJlc29sdmVkUGF0aCkgOiBxdWVyeS52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG9iamVjdCA9IHRoaXMucmVzb2x2ZUxpbmsocmVzb2x2ZWQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvYmplY3QgPyBGaWx0ZXJzLmF0b20obmV3IFNldChbb2JqZWN0LiRpZF0pKSA6IEZpbHRlcnMuTk9USElORztcbiAgICAgICAgICAgIGNhc2UgXCJ0eXBlZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLm51bGxhYmxlQXRvbSh0aGlzLnR5cGVzLmdldChxdWVyeS52YWx1ZSkpO1xuICAgICAgICAgICAgY2FzZSBcInRhZ2dlZFwiOlxuICAgICAgICAgICAgICAgIGlmIChxdWVyeS5leGFjdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmlsdGVycy5udWxsYWJsZUF0b20odGhpcy5ldGFncy5nZXQocXVlcnkudmFsdWUpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmlsdGVycy5udWxsYWJsZUF0b20odGhpcy50YWdzLmdldChxdWVyeS52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJwYXRoXCI6XG4gICAgICAgICAgICAgICAgbGV0IHRvcGxldmVsO1xuICAgICAgICAgICAgICAgIGlmIChxdWVyeS5leGFjdCkge1xuICAgICAgICAgICAgICAgICAgICB0b3BsZXZlbCA9IHRoaXMuZm9sZGVyLmdldEV4YWN0KHF1ZXJ5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAocXVlcnkudmFsdWUgPT0gXCJcIiB8fCBxdWVyeS52YWx1ZSA9PSBcIi9cIikgcmV0dXJuIEZpbHRlcnMuRVZFUllUSElORztcblxuICAgICAgICAgICAgICAgICAgICB0b3BsZXZlbCA9IHRoaXMuZm9sZGVyLmdldChxdWVyeS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRvcGxldmVsLnNpemUgPT0gMCkgcmV0dXJuIEZpbHRlcnMuTk9USElORztcblxuICAgICAgICAgICAgICAgIC8vIEV4cGFuZCBhbGwgY2hpbGRyZW4uXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFNldCh0b3BsZXZlbCk7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgdG9wIG9mIHRvcGxldmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGNoaWxkIG9mIHRoaXMuX2l0ZXJhdGVDaGlsZHJlbih0b3ApKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuYWRkKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLmF0b20ocmVzdWx0KTtcbiAgICAgICAgICAgIGNhc2UgXCJmaWVsZFwiOlxuICAgICAgICAgICAgICAgIGNvbnN0IG5vcm1rZXkgPSBxdWVyeS52YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSB0aGlzLmZpZWxkcy5nZXQobm9ybWtleSk7XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPT0gbnVsbCkgcmV0dXJuIEZpbHRlcnMuTk9USElORztcblxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLmF0b20oZmllbGRJbmRleC5hbGwoKSk7XG4gICAgICAgICAgICBjYXNlIFwiZXF1YWwtdmFsdWVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsdGVycy5sYXp5VW5pb24ocXVlcnkudmFsdWVzLCAodmFsdWUpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlckZpZWxkcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5LmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgKGluZGV4KSA9PiBpbmRleC5lcXVhbHModmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpZWxkKSA9PiBMaXRlcmFscy5jb21wYXJlKHZhbHVlLCBmaWVsZC52YWx1ZSkgPT0gMFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBGaWx0ZXIgZG9jdW1lbnRzIGJ5IGZpZWxkIHZhbHVlcywgdXNpbmcgdGhlIGZhc3QgbG9va3VwIGlmIGl0IHJldHVybnMgYSByZXN1bHQgYW5kIG90aGVyd2lzZSBmaWx0ZXJpbmcgb3ZlciBldmVyeSBkb2N1bWVudCB1c2luZyB0aGUgc2xvdyBwcmVkaWNhdGUuICovXG4gICAgcHJpdmF0ZSBfZmlsdGVyRmllbGRzKFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgZmFzdDogKGluZGV4OiBGaWVsZEluZGV4KSA9PiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZCxcbiAgICAgICAgc2xvdzogKGZpZWxkOiBGaWVsZCkgPT4gYm9vbGVhblxuICAgICk6IEZpbHRlcjxzdHJpbmc+IHtcbiAgICAgICAgY29uc3Qgbm9ybWtleSA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZmllbGRzLmdldChub3Jta2V5KTtcbiAgICAgICAgaWYgKGluZGV4ID09IG51bGwpIHJldHVybiBGaWx0ZXJzLk5PVEhJTkc7XG5cbiAgICAgICAgY29uc3QgZmFzdGxvb2t1cCA9IGZhc3QoaW5kZXgpO1xuICAgICAgICBpZiAoZmFzdGxvb2t1cCAhPSBudWxsKSByZXR1cm4gRmlsdGVycy5hdG9tKGZhc3Rsb29rdXApO1xuXG4gICAgICAgIC8vIENvbXB1dGUgYnkgaXRlcmF0aW5nIG92ZXIgZWFjaCBmaWVsZC5cbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICBmb3IgKGNvbnN0IG9iamVjdElkIG9mIGluZGV4LmFsbCgpKSB7XG4gICAgICAgICAgICBjb25zdCBvYmplY3QgPSB0aGlzLm9iamVjdHMuZ2V0KG9iamVjdElkKTtcbiAgICAgICAgICAgIGlmICghb2JqZWN0IHx8ICFvYmplY3QuJHR5cGVzLmNvbnRhaW5zKEZJRUxEQkVBUklOR19UWVBFKSkgY29udGludWU7XG5cbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gKG9iamVjdCBhcyBhbnkgYXMgRmllbGRiZWFyaW5nKS5maWVsZChub3Jta2V5KTtcbiAgICAgICAgICAgIGlmICghZmllbGQpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICBpZiAoc2xvdyhmaWVsZCkpIG1hdGNoZXMuYWRkKG9iamVjdElkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBGaWx0ZXJzLmF0b20obWF0Y2hlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG9lcyBCcmVhZHRoLWZpcnN0IFNlYXJjaCB0byBmaW5kIGFsbCBsaW5rZWQgZmlsZXMgd2l0aGluIGRpc3RhbmNlIDxkaXN0YW5jZT4uIFRoaXMgaW5jbHVkZXMgYWxsIHNvdXJjZSBub2RlcyxcbiAgICAgKiBzbyByZW1vdmUgdGhlbSBhZnRlcndhcmRzIGlmIHlvdSBkbyBub3Qgd2FudCB0aGVtLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3RyYXZlcnNlTGlua2VkKFxuICAgICAgICBzb3VyY2VJZHM6IFNldDxzdHJpbmc+LFxuICAgICAgICBkaXN0YW5jZTogbnVtYmVyLFxuICAgICAgICBhZGphY2VudDogKGlkOiBzdHJpbmcpID0+IEl0ZXJhYmxlPHN0cmluZz5cbiAgICApOiBTZXQ8c3RyaW5nPiB7XG4gICAgICAgIGlmIChkaXN0YW5jZSA8IDApIHJldHVybiBuZXcgU2V0KCk7XG4gICAgICAgIGlmIChzb3VyY2VJZHMuc2l6ZSA9PSAwKSByZXR1cm4gbmV3IFNldCgpO1xuXG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBuZXcgU2V0PHN0cmluZz4oc291cmNlSWRzKTtcblxuICAgICAgICBjb25zdCBxdWV1ZSA9IG5ldyBGbGF0UXVldWU8c3RyaW5nPigpO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2Ygc291cmNlSWRzKSBxdWV1ZS5wdXNoKGVsZW1lbnQsIDApO1xuXG4gICAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBkaXN0ID0gcXVldWUucGVla1ZhbHVlKCkhO1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHF1ZXVlLnBvcCgpITtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBuZWlnaGJvciBvZiBhZGphY2VudChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGlmICh2aXNpdGVkLmhhcyhuZWlnaGJvcikpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgdmlzaXRlZC5hZGQobmVpZ2hib3IpO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0IDwgZGlzdGFuY2UpIHF1ZXVlLnB1c2gobmVpZ2hib3IsIGRpc3QgKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2aXNpdGVkO1xuICAgIH1cblxuICAgIC8qKiBJdGVyYXRlIGFsbCBsaW5rZWQgb2JqZWN0cyBmb3IgdGhlIGdpdmVuIG9iamVjdC4gKi9cbiAgICBwcml2YXRlICpfaXRlcmF0ZUFkamFjZW50TGlua2VkKGlkOiBzdHJpbmcsIGRpcmVjdGlvbjogXCJpbmNvbWluZ1wiIHwgXCJvdXRnb2luZ1wiIHwgXCJib3RoXCIpOiBHZW5lcmF0b3I8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IG9iamVjdCA9IHRoaXMub2JqZWN0cy5nZXQoaWQpO1xuICAgICAgICBpZiAoIW9iamVjdCkgcmV0dXJuO1xuXG4gICAgICAgIGlmICgoZGlyZWN0aW9uID09PSBcImJvdGhcIiB8fCBkaXJlY3Rpb24gPT09IFwiaW5jb21pbmdcIikgJiYgXCIkbGlua1wiIGluIG9iamVjdCAmJiBvYmplY3RbXCIkbGlua1wiXSkge1xuICAgICAgICAgICAgY29uc3QgaW5jb21pbmcgPSB0aGlzLmxpbmtzLmdldCgob2JqZWN0LiRsaW5rIGFzIExpbmspLm9ic2lkaWFuTGluaygpKTtcbiAgICAgICAgICAgIGlmIChpbmNvbWluZykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaWQgb2YgaW5jb21pbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgaWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGRpcmVjdGlvbiA9PT0gXCJib3RoXCIgfHwgZGlyZWN0aW9uID09PSBcIm91dGdvaW5nXCIpICYmXG4gICAgICAgICAgICBvYmplY3QuJHR5cGVzLmNvbnRhaW5zKExJTktBQkxFX1RZUEUpICYmXG4gICAgICAgICAgICBpdGVyYWJsZUV4aXN0cyhvYmplY3QsIFwiJGxpbmtzXCIpXG4gICAgICAgICkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBsaW5rIG9mIG9iamVjdC4kbGlua3MgYXMgTGlua1tdKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSB0aGlzLnJlc29sdmVMaW5rKGxpbmspO1xuICAgICAgICAgICAgICAgIGlmIChyZXNvbHZlZCkgeWllbGQgcmVzb2x2ZWQuJGlkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEl0ZXJhdG9yIHdoaWNoIHByb2R1Y2VzIGFsbCBwYXJlbnRzIG9mIHRoZSBnaXZlbiBvYmplY3QuICovXG4gICAgcHJpdmF0ZSAqX2l0ZXJhdGVQYXJlbnRzKGNoaWxkOiBzdHJpbmcpOiBHZW5lcmF0b3I8c3RyaW5nPiB7XG4gICAgICAgIGxldCBvYmplY3QgPSB0aGlzLm9iamVjdHMuZ2V0KGNoaWxkKTtcbiAgICAgICAgd2hpbGUgKG9iamVjdCAmJiBvYmplY3Q/LiRwYXJlbnQpIHtcbiAgICAgICAgICAgIHlpZWxkIG9iamVjdC4kcGFyZW50LiRpZDtcbiAgICAgICAgICAgIG9iamVjdCA9IG9iamVjdC4kcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEl0ZXJhdGl2ZSB3aGljaCBwcm9kdWNlcyBhbGwgY2hpbGRyZW4gKHJlY3Vyc2l2ZWx5KSBvZiB0aGUgZ2l2ZW4gb2JqZWN0LiAqL1xuICAgIHByaXZhdGUgKl9pdGVyYXRlQ2hpbGRyZW4ocGFyZW50OiBzdHJpbmcpOiBHZW5lcmF0b3I8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5nZXQocGFyZW50KTtcbiAgICAgICAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLnNpemUgPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIHlpZWxkIGNoaWxkO1xuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLl9pdGVyYXRlQ2hpbGRyZW4oY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiogQSBnZW5lcmFsIGZ1bmN0aW9uIGZvciBzdG9yaW5nIHN1Yi1vYmplY3RzIGluIGEgZ2l2ZW4gb2JqZWN0LiAqL1xuZXhwb3J0IHR5cGUgU3Vic3RvcmVyPFQgZXh0ZW5kcyBJbmRleGFibGU+ID0gKFxuICAgIG9iamVjdDogVCxcbiAgICBhZGQ6IDxVIGV4dGVuZHMgSW5kZXhhYmxlPihvYmplY3Q6IFUgfCBVW10sIHN1YmluZGV4PzogU3Vic3RvcmVyPFU+KSA9PiB2b2lkXG4pID0+IHZvaWQ7XG5cbi8qKiBUaGUgcmVzdWx0IG9mIHNlYXJjaGluZyBnaXZlbiBhbiBpbmRleCBxdWVyeS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0PE8+IHtcbiAgICAvKiogVGhlIHF1ZXJ5IHVzZWQgdG8gc2VhcmNoLiAqL1xuICAgIHF1ZXJ5OiBJbmRleFF1ZXJ5O1xuICAgIC8qKiBBbGwgb2YgdGhlIHJldHVybmVkIHJlc3VsdHMuICovXG4gICAgcmVzdWx0czogT1tdO1xuICAgIC8qKiBUaGUgYW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyB0aGF0IHRoZSBzZWFyY2ggdG9vay4gKi9cbiAgICBkdXJhdGlvbjogbnVtYmVyO1xuICAgIC8qKiBUaGUgbWF4aW11bSByZXZpc2lvbiBvZiBhbnkgZG9jdW1lbnQgaW4gdGhlIHJlc3VsdCwgd2hpY2ggaXMgdXNlZnVsIGZvciBkaWZmaW5nLiAqL1xuICAgIHJldmlzaW9uOiBudW1iZXI7XG59XG5cbi8qKiBFeHRyYSBzZXR0aW5ncyB0aGF0IGNhbiBiZSBwcm92aWRlZCB0byBhIHNlYXJjaC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU2V0dGluZ3Mge1xuICAgIC8qKiBUaGUgcGF0aCB0byBydW4gZnJvbSB3aGVuIHJlc29sdmluZyBsaW5rcyBhbmQgYHRoaXNgIHNlY3Rpb25zLiAqL1xuICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGd1YXJkIHdoaWNoIGNoZWNrcyBpZiBvYmplY3Rba2V5XSBleGlzdHMgYW5kIGlzIGFuIGl0ZXJhYmxlLiAqL1xuZnVuY3Rpb24gaXRlcmFibGVFeGlzdHM8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sIEsgZXh0ZW5kcyBzdHJpbmc+KFxuICAgIG9iamVjdDogVCxcbiAgICBrZXk6IEtcbik6IG9iamVjdCBpcyBUICYgUmVjb3JkPEssIEl0ZXJhYmxlPGFueT4+IHtcbiAgICByZXR1cm4ga2V5IGluIG9iamVjdCAmJiBvYmplY3Rba2V5XSAhPT0gdW5kZWZpbmVkICYmIFN5bWJvbC5pdGVyYXRvciBpbiBvYmplY3Rba2V5XTtcbn1cbiIsICJpbXBvcnQgbG9jYWxmb3JhZ2UgZnJvbSBcImxvY2FsZm9yYWdlXCI7XG5cbi8qKiBBIHBpZWNlIG9mIGRhdGEgdGhhdCBoYXMgYmVlbiBjYWNoZWQgZm9yIGEgc3BlY2lmaWMgdmVyc2lvbiBhbmQgdGltZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVkPFQ+IHtcbiAgICAvKiogVGhlIHZlcnNpb24gb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBkYXRhIHdhcyB3cml0dGVuIHRvIGNhY2hlIHdpdGguICovXG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIC8qKiBUaGUgVU5JWCBlcG9jaCB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBkYXRhIHdhcyB3cml0dGVuIHRvIGNhY2hlLiAqL1xuICAgIHRpbWU6IG51bWJlcjtcbiAgICAvKiogVGhlIGRhdGEgdGhhdCB3YXMgY2FjaGVkLiAqL1xuICAgIGRhdGE6IFQ7XG59XG5cbi8qKiBTaW1wbGVyIHdyYXBwZXIgZm9yIGEgZmlsZS1iYWNrZWQgY2FjaGUgZm9yIGFyYml0cmFyeSBtZXRhZGF0YS4gKi9cbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VDYWNoZSB7XG4gICAgcHVibGljIHBlcnNpc3RlcjogTG9jYWxGb3JhZ2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGFwcElkOiBzdHJpbmcsIHB1YmxpYyB2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wZXJzaXN0ZXIgPSBsb2NhbGZvcmFnZS5jcmVhdGVJbnN0YW5jZSh7XG4gICAgICAgICAgICBuYW1lOiBcImRhdGFjb3JlL2NhY2hlL1wiICsgYXBwSWQsXG4gICAgICAgICAgICBkcml2ZXI6IFtsb2NhbGZvcmFnZS5JTkRFWEVEREJdLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQ2FjaGUgbWV0YWRhdGEgYWJvdXQgZmlsZXMgYW5kIHNlY3Rpb25zIGluIHRoZSBkYXRhY29yZSBpbmRleC5cIixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIERyb3AgdGhlIGVudGlyZSBjYWNoZSBpbnN0YW5jZSBhbmQgcmUtY3JlYXRlIGEgbmV3IGZyZXNoIGluc3RhbmNlLiAqL1xuICAgIHB1YmxpYyBhc3luYyByZWNyZWF0ZSgpIHtcbiAgICAgICAgYXdhaXQgbG9jYWxmb3JhZ2UuZHJvcEluc3RhbmNlKHsgbmFtZTogXCJkYXRhY29yZS9jYWNoZS9cIiArIHRoaXMuYXBwSWQgfSk7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0ZXIgPSBsb2NhbGZvcmFnZS5jcmVhdGVJbnN0YW5jZSh7XG4gICAgICAgICAgICBuYW1lOiBcImRhdGFjb3JlL2NhY2hlL1wiICsgdGhpcy5hcHBJZCxcbiAgICAgICAgICAgIGRyaXZlcjogW2xvY2FsZm9yYWdlLklOREVYRUREQl0sXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJDYWNoZSBtZXRhZGF0YSBhYm91dCBmaWxlcyBhbmQgc2VjdGlvbnMgaW4gdGhlIGRhdGFjb3JlIGluZGV4LlwiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogTG9hZCBmaWxlIG1ldGFkYXRhIGJ5IHBhdGguICovXG4gICAgcHVibGljIGFzeW5jIGxvYWRGaWxlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8Q2FjaGVkPFBhcnRpYWw8YW55Pj4gfCBudWxsIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBlcnNpc3Rlci5nZXRJdGVtKHRoaXMuZmlsZUtleShwYXRoKSkudGhlbigocmF3KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcmF3IGFzIGFueSBhcyBDYWNoZWQ8UGFydGlhbDxhbnk+PjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIFN0b3JlIGZpbGUgbWV0YWRhdGEgYnkgcGF0aC4gKi9cbiAgICBwdWJsaWMgYXN5bmMgc3RvcmVGaWxlKHBhdGg6IHN0cmluZywgZGF0YTogUGFydGlhbDxhbnk+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucGVyc2lzdGVyLnNldEl0ZW0odGhpcy5maWxlS2V5KHBhdGgpLCB7XG4gICAgICAgICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICAgICAgICB0aW1lOiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIERyb3Agb2xkIGZpbGUga2V5cyB0aGF0IG5vIGxvbmdlciBleGlzdC4gKi9cbiAgICBwdWJsaWMgYXN5bmMgc3luY2hyb25pemUoZXhpc3Rpbmc6IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4pOiBQcm9taXNlPFNldDxzdHJpbmc+PiB7XG4gICAgICAgIGxldCBrZXlzID0gbmV3IFNldChhd2FpdCB0aGlzLmFsbEZpbGVzKCkpO1xuICAgICAgICBmb3IgKGxldCBleGlzdCBvZiBleGlzdGluZykga2V5cy5kZWxldGUoZXhpc3QpO1xuXG4gICAgICAgIC8vIEFueSBrZXlzIHJlbWFpbmluZyBhZnRlciBkZWxldGluZyBleGlzdGluZyBrZXlzIGFyZSBub24tZXhpc3RlbnQga2V5cyB0aGF0IHNob3VsZCBiZSBjbGVhcmVkIGZyb20gY2FjaGUuXG4gICAgICAgIGZvciAobGV0IGtleSBvZiBrZXlzKSBhd2FpdCB0aGlzLnBlcnNpc3Rlci5yZW1vdmVJdGVtKHRoaXMuZmlsZUtleShrZXkpKTtcblxuICAgICAgICByZXR1cm4ga2V5cztcbiAgICB9XG5cbiAgICAvKiogT2J0YWluIGEgbGlzdCBvZiBhbGwgbWV0YWRhdGEga2V5cy4gKi9cbiAgICBwdWJsaWMgYXN5bmMgYWxsS2V5cygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBlcnNpc3Rlci5rZXlzKCk7XG4gICAgfVxuXG4gICAgLyoqIE9idGFpbiBhIGxpc3Qgb2YgYWxsIHBlcnNpc3RlZCBmaWxlcy4gKi9cbiAgICBwdWJsaWMgYXN5bmMgYWxsRmlsZXMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgICAgICBsZXQga2V5cyA9IGF3YWl0IHRoaXMuYWxsS2V5cygpO1xuICAgICAgICByZXR1cm4ga2V5cy5maWx0ZXIoKGspID0+IGsuc3RhcnRzV2l0aChcImZpbGU6XCIpKS5tYXAoKGspID0+IGsuc3Vic3RyaW5nKDUpKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IGEgdW5pcXVlIGtleSBmb3IgYSBnaXZlbiBmaWxlIHBhdGguICovXG4gICAgcHVibGljIGZpbGVLZXkocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFwiZmlsZTpcIiArIHBhdGg7XG4gICAgfVxufVxuIiwgIlxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaW5saW5lV29ya2VyKHNjcmlwdFRleHQpIHtcbiAgbGV0IGJsb2IgPSBuZXcgQmxvYihbc2NyaXB0VGV4dF0sIHt0eXBlOiAndGV4dC9qYXZhc2NyaXB0J30pO1xuICBsZXQgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgbGV0IHdvcmtlciA9IG5ldyBXb3JrZXIodXJsLCB7XCJuYW1lXCI6XCJEYXRhY29yZSBJbmRleGVyXCJ9KTtcbiAgVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICByZXR1cm4gd29ya2VyO1xufVxuIiwgImltcG9ydCBpbmxpbmVXb3JrZXIgZnJvbSAnX19pbmxpbmUtd29ya2VyJ1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gV29ya2VyKCkge1xuICByZXR1cm4gaW5saW5lV29ya2VyKFwidmFyIGNsPU9iamVjdC5jcmVhdGU7dmFyIEpzPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxmbD1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxkbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGhsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLHBsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzLHFyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbWw9T2JqZWN0LmdldFByb3RvdHlwZU9mLHpzPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksTW89T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTt2YXIgSHM9KG4sZSk9PihlPVN5bWJvbFtuXSk/ZTpTeW1ib2wuZm9yKFxcXCJTeW1ib2wuXFxcIituKSxEbD1uPT57dGhyb3cgVHlwZUVycm9yKG4pfTt2YXIgQW89KG4sZSx0KT0+ZSBpbiBuP0pzKG4sZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dH0pOm5bZV09dCxSPShuLGUpPT57Zm9yKHZhciB0IGluIGV8fChlPXt9KSl6cy5jYWxsKGUsdCkmJkFvKG4sdCxlW3RdKTtpZihxcilmb3IodmFyIHQgb2YgcXIoZSkpTW8uY2FsbChlLHQpJiZBbyhuLHQsZVt0XSk7cmV0dXJuIG59LHllPShuLGUpPT5mbChuLGhsKGUpKTt2YXIgWXM9KG4sZSk9Pnt2YXIgdD17fTtmb3IodmFyIHIgaW4gbil6cy5jYWxsKG4scikmJmUuaW5kZXhPZihyKTwwJiYodFtyXT1uW3JdKTtpZihuIT1udWxsJiZxcilmb3IodmFyIHIgb2YgcXIobikpZS5pbmRleE9mKHIpPDAmJk1vLmNhbGwobixyKSYmKHRbcl09bltyXSk7cmV0dXJuIHR9O3ZhciBfbz0obixlKT0+KCk9PihlfHxuKChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpO3ZhciB5bD0obixlLHQscik9PntpZihlJiZ0eXBlb2YgZT09XFxcIm9iamVjdFxcXCJ8fHR5cGVvZiBlPT1cXFwiZnVuY3Rpb25cXFwiKWZvcihsZXQgcyBvZiBwbChlKSkhenMuY2FsbChuLHMpJiZzIT09dCYmSnMobixzLHtnZXQ6KCk9PmVbc10sZW51bWVyYWJsZTohKHI9ZGwoZSxzKSl8fHIuZW51bWVyYWJsZX0pO3JldHVybiBufTt2YXIgVnI9KG4sZSx0KT0+KHQ9biE9bnVsbD9jbChtbChuKSk6e30seWwoZXx8IW58fCFuLl9fZXNNb2R1bGU/SnModCxcXFwiZGVmYXVsdFxcXCIse3ZhbHVlOm4sZW51bWVyYWJsZTohMH0pOnQsbikpO3ZhciBnbD1mdW5jdGlvbihuLGUpe3RoaXNbMF09bix0aGlzWzFdPWV9O3ZhciBTPW49Pnt2YXIgZT1uW0hzKFxcXCJhc3luY0l0ZXJhdG9yXFxcIildLHQ9ITEscixzPXt9O3JldHVybiBlPT1udWxsPyhlPW5bSHMoXFxcIml0ZXJhdG9yXFxcIildKCkscj1pPT5zW2ldPW89PmVbaV0obykpOihlPWUuY2FsbChuKSxyPWk9PnNbaV09bz0+e2lmKHQpe2lmKHQ9ITEsaT09PVxcXCJ0aHJvd1xcXCIpdGhyb3cgbztyZXR1cm4gb31yZXR1cm4gdD0hMCx7ZG9uZTohMSx2YWx1ZTpuZXcgZ2wobmV3IFByb21pc2UoYT0+e3ZhciB1PWVbaV0obyk7dSBpbnN0YW5jZW9mIE9iamVjdHx8RGwoXFxcIk9iamVjdCBleHBlY3RlZFxcXCIpLGEodSl9KSwxKX19KSxzW0hzKFxcXCJpdGVyYXRvclxcXCIpXT0oKT0+cyxyKFxcXCJuZXh0XFxcIiksXFxcInRocm93XFxcImluIGU/cihcXFwidGhyb3dcXFwiKTpzLnRocm93PWk9Pnt0aHJvdyBpfSxcXFwicmV0dXJuXFxcImluIGUmJnIoXFxcInJldHVyblxcXCIpLHN9O3ZhciBucz1fbygocHIsQWkpPT57KGZ1bmN0aW9uKG4sZSl7dHlwZW9mIHByPT1cXFwib2JqZWN0XFxcIiYmdHlwZW9mIEFpPT1cXFwib2JqZWN0XFxcIj9BaS5leHBvcnRzPWUoKTp0eXBlb2YgZGVmaW5lPT1cXFwiZnVuY3Rpb25cXFwiJiZkZWZpbmUuYW1kP2RlZmluZShbXSxlKTp0eXBlb2YgcHI9PVxcXCJvYmplY3RcXFwiP3ByLlBhcnNpbW1vbj1lKCk6bi5QYXJzaW1tb249ZSgpfSkodHlwZW9mIHNlbGYhPVxcXCJ1bmRlZmluZWRcXFwiP3NlbGY6cHIsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGU9e307ZnVuY3Rpb24gdChyKXtpZihlW3JdKXJldHVybiBlW3JdLmV4cG9ydHM7dmFyIHM9ZVtyXT17aTpyLGw6ITEsZXhwb3J0czp7fX07cmV0dXJuIG5bcl0uY2FsbChzLmV4cG9ydHMscyxzLmV4cG9ydHMsdCkscy5sPSEwLHMuZXhwb3J0c31yZXR1cm4gdC5tPW4sdC5jPWUsdC5kPWZ1bmN0aW9uKHIscyxpKXt0Lm8ocixzKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHIscyx7Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITAsZ2V0Oml9KX0sdC5yPWZ1bmN0aW9uKHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KX0sdC5uPWZ1bmN0aW9uKHIpe3ZhciBzPXImJnIuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiByLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9O3JldHVybiB0LmQocyxcXFwiYVxcXCIscyksc30sdC5vPWZ1bmN0aW9uKHIscyl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLHMpfSx0LnA9XFxcIlxcXCIsdCh0LnM9MCl9KFtmdW5jdGlvbihuLGUsdCl7XFxcInVzZSBzdHJpY3RcXFwiO2Z1bmN0aW9uIHIoYyl7aWYoISh0aGlzIGluc3RhbmNlb2YgcikpcmV0dXJuIG5ldyByKGMpO3RoaXMuXz1jfXZhciBzPXIucHJvdG90eXBlO2Z1bmN0aW9uIGkoYyxtKXtmb3IodmFyIEU9MDtFPGM7RSsrKW0oRSl9ZnVuY3Rpb24gbyhjLG0sRSl7cmV0dXJuIGZ1bmN0aW9uKGssTCl7aShMLmxlbmd0aCxmdW5jdGlvbihBKXtrKExbQV0sQSxMKX0pfShmdW5jdGlvbihrLEwsQSl7bT1jKG0sayxMLEEpfSxFKSxtfWZ1bmN0aW9uIGEoYyxtKXtyZXR1cm4gbyhmdW5jdGlvbihFLGssTCxBKXtyZXR1cm4gRS5jb25jYXQoW2MoayxMLEEpXSl9LFtdLG0pfWZ1bmN0aW9uIHUoYyxtKXt2YXIgRT17djowLGJ1ZjptfTtyZXR1cm4gaShjLGZ1bmN0aW9uKCl7dmFyIGs7RT17djpFLnY8PDF8KGs9RS5idWYsa1swXT4+NyksYnVmOmZ1bmN0aW9uKEwpe3ZhciBBPW8oZnVuY3Rpb24oTSxVLHRlLEVlKXtyZXR1cm4gTS5jb25jYXQodGU9PT1FZS5sZW5ndGgtMT9CdWZmZXIuZnJvbShbVSwwXSkucmVhZFVJbnQxNkJFKDApOkVlLnJlYWRVSW50MTZCRSh0ZSkpfSxbXSxMKTtyZXR1cm4gQnVmZmVyLmZyb20oYShmdW5jdGlvbihNKXtyZXR1cm4oTTw8MSY2NTUzNSk+Pjh9LEEpKX0oRS5idWYpfX0pLEV9ZnVuY3Rpb24gbCgpe3JldHVybiB0eXBlb2YgQnVmZmVyIT1cXFwidW5kZWZpbmVkXFxcIn1mdW5jdGlvbiBmKCl7aWYoIWwoKSl0aHJvdyBuZXcgRXJyb3IoXFxcIkJ1ZmZlciBnbG9iYWwgZG9lcyBub3QgZXhpc3Q7IHBsZWFzZSB1c2Ugd2VicGFjayBpZiB5b3UgbmVlZCB0byBwYXJzZSBCdWZmZXJzIGluIHRoZSBicm93c2VyLlxcXCIpfWZ1bmN0aW9uIGQoYyl7ZigpO3ZhciBtPW8oZnVuY3Rpb24oQSxNKXtyZXR1cm4gQStNfSwwLGMpO2lmKG0lOCE9MCl0aHJvdyBuZXcgRXJyb3IoXFxcIlRoZSBiaXRzIFtcXFwiK2Muam9pbihcXFwiLCBcXFwiKStcXFwiXSBhZGQgdXAgdG8gXFxcIittK1xcXCIgd2hpY2ggaXMgbm90IGFuIGV2ZW4gbnVtYmVyIG9mIGJ5dGVzOyB0aGUgdG90YWwgc2hvdWxkIGJlIGRpdmlzaWJsZSBieSA4XFxcIik7dmFyIEUsaz1tLzgsTD0oRT1mdW5jdGlvbihBKXtyZXR1cm4gQT40OH0sbyhmdW5jdGlvbihBLE0pe3JldHVybiBBfHwoRShNKT9NOkEpfSxudWxsLGMpKTtpZihMKXRocm93IG5ldyBFcnJvcihMK1xcXCIgYml0IHJhbmdlIHJlcXVlc3RlZCBleGNlZWRzIDQ4IGJpdCAoNiBieXRlKSBOdW1iZXIgbWF4LlxcXCIpO3JldHVybiBuZXcgcihmdW5jdGlvbihBLE0pe3ZhciBVPWsrTTtyZXR1cm4gVT5BLmxlbmd0aD92KE0say50b1N0cmluZygpK1xcXCIgYnl0ZXNcXFwiKTp3KFUsbyhmdW5jdGlvbih0ZSxFZSl7dmFyIHBlPXUoRWUsdGUuYnVmKTtyZXR1cm57Y29sbDp0ZS5jb2xsLmNvbmNhdChwZS52KSxidWY6cGUuYnVmfX0se2NvbGw6W10sYnVmOkEuc2xpY2UoTSxVKX0sYykuY29sbCl9KX1mdW5jdGlvbiBwKGMsbSl7cmV0dXJuIG5ldyByKGZ1bmN0aW9uKEUsayl7cmV0dXJuIGYoKSxrK20+RS5sZW5ndGg/dihrLG0rXFxcIiBieXRlcyBmb3IgXFxcIitjKTp3KGsrbSxFLnNsaWNlKGssayttKSl9KX1mdW5jdGlvbiBoKGMsbSl7aWYodHlwZW9mKEU9bSkhPVxcXCJudW1iZXJcXFwifHxNYXRoLmZsb29yKEUpIT09RXx8bTwwfHxtPjYpdGhyb3cgbmV3IEVycm9yKGMrXFxcIiByZXF1aXJlcyBpbnRlZ2VyIGxlbmd0aCBpbiByYW5nZSBbMCwgNl0uXFxcIik7dmFyIEV9ZnVuY3Rpb24gYihjKXtyZXR1cm4gaChcXFwidWludEJFXFxcIixjKSxwKFxcXCJ1aW50QkUoXFxcIitjK1xcXCIpXFxcIixjKS5tYXAoZnVuY3Rpb24obSl7cmV0dXJuIG0ucmVhZFVJbnRCRSgwLGMpfSl9ZnVuY3Rpb24gZyhjKXtyZXR1cm4gaChcXFwidWludExFXFxcIixjKSxwKFxcXCJ1aW50TEUoXFxcIitjK1xcXCIpXFxcIixjKS5tYXAoZnVuY3Rpb24obSl7cmV0dXJuIG0ucmVhZFVJbnRMRSgwLGMpfSl9ZnVuY3Rpb24gRChjKXtyZXR1cm4gaChcXFwiaW50QkVcXFwiLGMpLHAoXFxcImludEJFKFxcXCIrYytcXFwiKVxcXCIsYykubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBtLnJlYWRJbnRCRSgwLGMpfSl9ZnVuY3Rpb24gVChjKXtyZXR1cm4gaChcXFwiaW50TEVcXFwiLGMpLHAoXFxcImludExFKFxcXCIrYytcXFwiKVxcXCIsYykubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBtLnJlYWRJbnRMRSgwLGMpfSl9ZnVuY3Rpb24gSShjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIHJ9ZnVuY3Rpb24gTihjKXtyZXR1cm57fS50b1N0cmluZy5jYWxsKGMpPT09XFxcIltvYmplY3QgQXJyYXldXFxcIn1mdW5jdGlvbiB5KGMpe3JldHVybiBsKCkmJkJ1ZmZlci5pc0J1ZmZlcihjKX1mdW5jdGlvbiB3KGMsbSl7cmV0dXJue3N0YXR1czohMCxpbmRleDpjLHZhbHVlOm0sZnVydGhlc3Q6LTEsZXhwZWN0ZWQ6W119fWZ1bmN0aW9uIHYoYyxtKXtyZXR1cm4gTihtKXx8KG09W21dKSx7c3RhdHVzOiExLGluZGV4Oi0xLHZhbHVlOm51bGwsZnVydGhlc3Q6YyxleHBlY3RlZDptfX1mdW5jdGlvbiBPKGMsbSl7aWYoIW18fGMuZnVydGhlc3Q+bS5mdXJ0aGVzdClyZXR1cm4gYzt2YXIgRT1jLmZ1cnRoZXN0PT09bS5mdXJ0aGVzdD9mdW5jdGlvbihrLEwpe2lmKGZ1bmN0aW9uKCl7aWYoci5fc3VwcG9ydHNTZXQhPT12b2lkIDApcmV0dXJuIHIuX3N1cHBvcnRzU2V0O3ZhciBodD10eXBlb2YgU2V0IT1cXFwidW5kZWZpbmVkXFxcIjtyZXR1cm4gci5fc3VwcG9ydHNTZXQ9aHQsaHR9KCkmJkFycmF5LmZyb20pe2Zvcih2YXIgQT1uZXcgU2V0KGspLE09MDtNPEwubGVuZ3RoO00rKylBLmFkZChMW01dKTt2YXIgVT1BcnJheS5mcm9tKEEpO3JldHVybiBVLnNvcnQoKSxVfWZvcih2YXIgdGU9e30sRWU9MDtFZTxrLmxlbmd0aDtFZSsrKXRlW2tbRWVdXT0hMDtmb3IodmFyIHBlPTA7cGU8TC5sZW5ndGg7cGUrKyl0ZVtMW3BlXV09ITA7dmFyIGR0PVtdO2Zvcih2YXIgdmUgaW4gdGUpKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRlLHZlKSYmZHQucHVzaCh2ZSk7cmV0dXJuIGR0LnNvcnQoKSxkdH0oYy5leHBlY3RlZCxtLmV4cGVjdGVkKTptLmV4cGVjdGVkO3JldHVybntzdGF0dXM6Yy5zdGF0dXMsaW5kZXg6Yy5pbmRleCx2YWx1ZTpjLnZhbHVlLGZ1cnRoZXN0Om0uZnVydGhlc3QsZXhwZWN0ZWQ6RX19dmFyIEM9e307ZnVuY3Rpb24gVihjLG0pe2lmKHkoYykpcmV0dXJue29mZnNldDptLGxpbmU6LTEsY29sdW1uOi0xfTtjIGluIEN8fChDW2NdPXt9KTtmb3IodmFyIEU9Q1tjXSxrPTAsTD0wLEE9MCxNPW07TT49MDspe2lmKE0gaW4gRSl7az1FW01dLmxpbmUsQT09PTAmJihBPUVbTV0ubGluZVN0YXJ0KTticmVha30oYy5jaGFyQXQoTSk9PT1gXFxuYHx8Yy5jaGFyQXQoTSk9PT1cXFwiXFxcXHJcXFwiJiZjLmNoYXJBdChNKzEpIT09YFxcbmApJiYoTCsrLEE9PT0wJiYoQT1NKzEpKSxNLS19dmFyIFU9aytMLHRlPW0tQTtyZXR1cm4gRVttXT17bGluZTpVLGxpbmVTdGFydDpBfSx7b2Zmc2V0Om0sbGluZTpVKzEsY29sdW1uOnRlKzF9fWZ1bmN0aW9uIGooYyl7aWYoIUkoYykpdGhyb3cgbmV3IEVycm9yKFxcXCJub3QgYSBwYXJzZXI6IFxcXCIrYyl9ZnVuY3Rpb24gWShjLG0pe3JldHVybiB0eXBlb2YgYz09XFxcInN0cmluZ1xcXCI/Yy5jaGFyQXQobSk6Y1ttXX1mdW5jdGlvbiBlZShjKXtpZih0eXBlb2YgYyE9XFxcIm51bWJlclxcXCIpdGhyb3cgbmV3IEVycm9yKFxcXCJub3QgYSBudW1iZXI6IFxcXCIrYyl9ZnVuY3Rpb24gYWUoYyl7aWYodHlwZW9mIGMhPVxcXCJmdW5jdGlvblxcXCIpdGhyb3cgbmV3IEVycm9yKFxcXCJub3QgYSBmdW5jdGlvbjogXFxcIitjKX1mdW5jdGlvbiB4KGMpe2lmKHR5cGVvZiBjIT1cXFwic3RyaW5nXFxcIil0aHJvdyBuZXcgRXJyb3IoXFxcIm5vdCBhIHN0cmluZzogXFxcIitjKX12YXIgJD0yLFE9Myx1ZT04LERlPTUqdWUsUmU9NCp1ZSxRdD1cXFwiICBcXFwiO2Z1bmN0aW9uIE10KGMsbSl7cmV0dXJuIG5ldyBBcnJheShtKzEpLmpvaW4oYyl9ZnVuY3Rpb24gX3QoYyxtLEUpe3ZhciBrPW0tYy5sZW5ndGg7cmV0dXJuIGs8PTA/YzpNdChFLGspK2N9ZnVuY3Rpb24gQWUoYyxtLEUsayl7cmV0dXJue2Zyb206Yy1tPjA/Yy1tOjAsdG86YytFPms/azpjK0V9fWZ1bmN0aW9uIEJ0KGMsbSl7dmFyIEUsayxMLEEsTSxVPW0uaW5kZXgsdGU9VS5vZmZzZXQsRWU9MTtpZih0ZT09PWMubGVuZ3RoKXJldHVyblxcXCJHb3QgdGhlIGVuZCBvZiB0aGUgaW5wdXRcXFwiO2lmKHkoYykpe3ZhciBwZT10ZS10ZSV1ZSxkdD10ZS1wZSx2ZT1BZShwZSxEZSxSZSt1ZSxjLmxlbmd0aCksaHQ9YShmdW5jdGlvbihsZSl7cmV0dXJuIGEoZnVuY3Rpb24oZW4pe3JldHVybiBfdChlbi50b1N0cmluZygxNiksMixcXFwiMFxcXCIpfSxsZSl9LGZ1bmN0aW9uKGxlLGVuKXt2YXIgdG49bGUubGVuZ3RoLFJ0PVtdLG5uPTA7aWYodG48PWVuKXJldHVybltsZS5zbGljZSgpXTtmb3IodmFyIHJuPTA7cm48dG47cm4rKylSdFtubl18fFJ0LnB1c2goW10pLFJ0W25uXS5wdXNoKGxlW3JuXSksKHJuKzEpJWVuPT0wJiZubisrO3JldHVybiBSdH0oYy5zbGljZSh2ZS5mcm9tLHZlLnRvKS50b0pTT04oKS5kYXRhLHVlKSk7QT1mdW5jdGlvbihsZSl7cmV0dXJuIGxlLmZyb209PT0wJiZsZS50bz09PTE/e2Zyb206bGUuZnJvbSx0bzpsZS50b306e2Zyb206bGUuZnJvbS91ZSx0bzpNYXRoLmZsb29yKGxlLnRvL3VlKX19KHZlKSxrPXBlL3VlLEU9MypkdCxkdD49NCYmKEUrPTEpLEVlPTIsTD1hKGZ1bmN0aW9uKGxlKXtyZXR1cm4gbGUubGVuZ3RoPD00P2xlLmpvaW4oXFxcIiBcXFwiKTpsZS5zbGljZSgwLDQpLmpvaW4oXFxcIiBcXFwiKStcXFwiICBcXFwiK2xlLnNsaWNlKDQpLmpvaW4oXFxcIiBcXFwiKX0saHQpLChNPSg4KihBLnRvPjA/QS50by0xOkEudG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoTT0yKX1lbHNle3ZhciBYdD1jLnNwbGl0KC9cXFxcclxcXFxufFtcXFxcblxcXFxyXFxcXHUyMDI4XFxcXHUyMDI5XS8pO0U9VS5jb2x1bW4tMSxrPVUubGluZS0xLEE9QWUoaywkLFEsWHQubGVuZ3RoKSxMPVh0LnNsaWNlKEEuZnJvbSxBLnRvKSxNPUEudG8udG9TdHJpbmcoKS5sZW5ndGh9dmFyIGxsPWstQS5mcm9tO3JldHVybiB5KGMpJiYoTT0oOCooQS50bz4wP0EudG8tMTpBLnRvKSkudG9TdHJpbmcoMTYpLmxlbmd0aCk8MiYmKE09MiksbyhmdW5jdGlvbihsZSxlbix0bil7dmFyIFJ0LG5uPXRuPT09bGwscm49bm4/XFxcIj4gXFxcIjpRdDtyZXR1cm4gUnQ9eShjKT9fdCgoOCooQS5mcm9tK3RuKSkudG9TdHJpbmcoMTYpLE0sXFxcIjBcXFwiKTpfdCgoQS5mcm9tK3RuKzEpLnRvU3RyaW5nKCksTSxcXFwiIFxcXCIpLFtdLmNvbmNhdChsZSxbcm4rUnQrXFxcIiB8IFxcXCIrZW5dLG5uP1tRdCtNdChcXFwiIFxcXCIsTSkrXFxcIiB8IFxcXCIrX3QoXFxcIlxcXCIsRSxcXFwiIFxcXCIpK010KFxcXCJeXFxcIixFZSldOltdKX0sW10sTCkuam9pbihgXFxuYCl9ZnVuY3Rpb24gU28oYyxtKXtyZXR1cm5bYFxcbmAsXFxcIi0tIFBBUlNJTkcgRkFJTEVEIFxcXCIrTXQoXFxcIi1cXFwiLDUwKSxgXFxuXFxuYCxCdChjLG0pLGBcXG5cXG5gLChFPW0uZXhwZWN0ZWQsRS5sZW5ndGg9PT0xP2BFeHBlY3RlZDpcXG5cXG5gK0VbMF06YEV4cGVjdGVkIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBcXG5cXG5gK0Uuam9pbihcXFwiLCBcXFwiKSksYFxcbmBdLmpvaW4oXFxcIlxcXCIpO3ZhciBFfWZ1bmN0aW9uIGtvKGMpe3JldHVybiBjLmZsYWdzIT09dm9pZCAwP2MuZmxhZ3M6W2MuZ2xvYmFsP1xcXCJnXFxcIjpcXFwiXFxcIixjLmlnbm9yZUNhc2U/XFxcImlcXFwiOlxcXCJcXFwiLGMubXVsdGlsaW5lP1xcXCJtXFxcIjpcXFwiXFxcIixjLnVuaWNvZGU/XFxcInVcXFwiOlxcXCJcXFwiLGMuc3RpY2t5P1xcXCJ5XFxcIjpcXFwiXFxcIl0uam9pbihcXFwiXFxcIil9ZnVuY3Rpb24gQnIoKXtmb3IodmFyIGM9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLG09Yy5sZW5ndGgsRT0wO0U8bTtFKz0xKWooY1tFXSk7cmV0dXJuIHIoZnVuY3Rpb24oayxMKXtmb3IodmFyIEEsTT1uZXcgQXJyYXkobSksVT0wO1U8bTtVKz0xKXtpZighKEE9TyhjW1VdLl8oayxMKSxBKSkuc3RhdHVzKXJldHVybiBBO01bVV09QS52YWx1ZSxMPUEuaW5kZXh9cmV0dXJuIE8odyhMLE0pLEEpfSl9ZnVuY3Rpb24gUHQoKXt2YXIgYz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoYy5sZW5ndGg9PT0wKXRocm93IG5ldyBFcnJvcihcXFwic2VxTWFwIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudFxcXCIpO3ZhciBtPWMucG9wKCk7cmV0dXJuIGFlKG0pLEJyLmFwcGx5KG51bGwsYykubWFwKGZ1bmN0aW9uKEUpe3JldHVybiBtLmFwcGx5KG51bGwsRSl9KX1mdW5jdGlvbiBQcigpe3ZhciBjPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxtPWMubGVuZ3RoO2lmKG09PT0wKXJldHVybiAkcihcXFwiemVybyBhbHRlcm5hdGVzXFxcIik7Zm9yKHZhciBFPTA7RTxtO0UrPTEpaihjW0VdKTtyZXR1cm4gcihmdW5jdGlvbihrLEwpe2Zvcih2YXIgQSxNPTA7TTxjLmxlbmd0aDtNKz0xKWlmKChBPU8oY1tNXS5fKGssTCksQSkpLnN0YXR1cylyZXR1cm4gQTtyZXR1cm4gQX0pfWZ1bmN0aW9uIENvKGMsbSl7cmV0dXJuIFVzKGMsbSkub3IoJHQoW10pKX1mdW5jdGlvbiBVcyhjLG0pe3JldHVybiBqKGMpLGoobSksUHQoYyxtLnRoZW4oYykubWFueSgpLGZ1bmN0aW9uKEUsayl7cmV0dXJuW0VdLmNvbmNhdChrKX0pfWZ1bmN0aW9uIEJuKGMpe3goYyk7dmFyIG09XFxcIidcXFwiK2MrXFxcIidcXFwiO3JldHVybiByKGZ1bmN0aW9uKEUsayl7dmFyIEw9aytjLmxlbmd0aCxBPUUuc2xpY2UoayxMKTtyZXR1cm4gQT09PWM/dyhMLEEpOnYoayxtKX0pfWZ1bmN0aW9uIGZ0KGMsbSl7KGZ1bmN0aW9uKEwpe2lmKCEoTCBpbnN0YW5jZW9mIFJlZ0V4cCkpdGhyb3cgbmV3IEVycm9yKFxcXCJub3QgYSByZWdleHA6IFxcXCIrTCk7Zm9yKHZhciBBPWtvKEwpLE09MDtNPEEubGVuZ3RoO00rKyl7dmFyIFU9QS5jaGFyQXQoTSk7aWYoVSE9PVxcXCJpXFxcIiYmVSE9PVxcXCJtXFxcIiYmVSE9PVxcXCJ1XFxcIiYmVSE9PVxcXCJzXFxcIil0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHJlZ2V4cCBmbGFnIFxcXCInK1UrJ1xcXCI6ICcrTCl9fSkoYyksYXJndW1lbnRzLmxlbmd0aD49Mj9lZShtKTptPTA7dmFyIEU9ZnVuY3Rpb24oTCl7cmV0dXJuIFJlZ0V4cChcXFwiXig/OlxcXCIrTC5zb3VyY2UrXFxcIilcXFwiLGtvKEwpKX0oYyksaz1cXFwiXFxcIitjO3JldHVybiByKGZ1bmN0aW9uKEwsQSl7dmFyIE09RS5leGVjKEwuc2xpY2UoQSkpO2lmKE0pe2lmKDA8PW0mJm08PU0ubGVuZ3RoKXt2YXIgVT1NWzBdLHRlPU1bbV07cmV0dXJuIHcoQStVLmxlbmd0aCx0ZSl9cmV0dXJuIHYoQSxcXFwidmFsaWQgbWF0Y2ggZ3JvdXAgKDAgdG8gXFxcIitNLmxlbmd0aCtcXFwiKSBpbiBcXFwiK2spfXJldHVybiB2KEEsayl9KX1mdW5jdGlvbiAkdChjKXtyZXR1cm4gcihmdW5jdGlvbihtLEUpe3JldHVybiB3KEUsYyl9KX1mdW5jdGlvbiAkcihjKXtyZXR1cm4gcihmdW5jdGlvbihtLEUpe3JldHVybiB2KEUsYyl9KX1mdW5jdGlvbiBScihjKXtpZihJKGMpKXJldHVybiByKGZ1bmN0aW9uKG0sRSl7dmFyIGs9Yy5fKG0sRSk7cmV0dXJuIGsuaW5kZXg9RSxrLnZhbHVlPVxcXCJcXFwiLGt9KTtpZih0eXBlb2YgYz09XFxcInN0cmluZ1xcXCIpcmV0dXJuIFJyKEJuKGMpKTtpZihjIGluc3RhbmNlb2YgUmVnRXhwKXJldHVybiBScihmdChjKSk7dGhyb3cgbmV3IEVycm9yKFxcXCJub3QgYSBzdHJpbmcsIHJlZ2V4cCwgb3IgcGFyc2VyOiBcXFwiK2MpfWZ1bmN0aW9uIHZvKGMpe3JldHVybiBqKGMpLHIoZnVuY3Rpb24obSxFKXt2YXIgaz1jLl8obSxFKSxMPW0uc2xpY2UoRSxrLmluZGV4KTtyZXR1cm4gay5zdGF0dXM/dihFLCdub3QgXFxcIicrTCsnXFxcIicpOncoRSxudWxsKX0pfWZ1bmN0aW9uIGpyKGMpe3JldHVybiBhZShjKSxyKGZ1bmN0aW9uKG0sRSl7dmFyIGs9WShtLEUpO3JldHVybiBFPG0ubGVuZ3RoJiZjKGspP3coRSsxLGspOnYoRSxcXFwiYSBjaGFyYWN0ZXIvYnl0ZSBtYXRjaGluZyBcXFwiK2MpfSl9ZnVuY3Rpb24gT28oYyxtKXthcmd1bWVudHMubGVuZ3RoPDImJihtPWMsYz12b2lkIDApO3ZhciBFPXIoZnVuY3Rpb24oayxMKXtyZXR1cm4gRS5fPW0oKS5fLEUuXyhrLEwpfSk7cmV0dXJuIGM/RS5kZXNjKGMpOkV9ZnVuY3Rpb24gS3MoKXtyZXR1cm4gJHIoXFxcImZhbnRhc3ktbGFuZC9lbXB0eVxcXCIpfXMucGFyc2U9ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGMhPVxcXCJzdHJpbmdcXFwiJiYheShjKSl0aHJvdyBuZXcgRXJyb3IoXFxcIi5wYXJzZSBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIG9yIEJ1ZmZlciBhcyBpdHMgYXJndW1lbnRcXFwiKTt2YXIgbSxFPXRoaXMuc2tpcChXcykuXyhjLDApO3JldHVybiBtPUUuc3RhdHVzP3tzdGF0dXM6ITAsdmFsdWU6RS52YWx1ZX06e3N0YXR1czohMSxpbmRleDpWKGMsRS5mdXJ0aGVzdCksZXhwZWN0ZWQ6RS5leHBlY3RlZH0sZGVsZXRlIENbY10sbX0scy50cnlQYXJzZT1mdW5jdGlvbihjKXt2YXIgbT10aGlzLnBhcnNlKGMpO2lmKG0uc3RhdHVzKXJldHVybiBtLnZhbHVlO3ZhciBFPVNvKGMsbSksaz1uZXcgRXJyb3IoRSk7dGhyb3cgay50eXBlPVxcXCJQYXJzaW1tb25FcnJvclxcXCIsay5yZXN1bHQ9bSxrfSxzLmFzc2VydD1mdW5jdGlvbihjLG0pe3JldHVybiB0aGlzLmNoYWluKGZ1bmN0aW9uKEUpe3JldHVybiBjKEUpPyR0KEUpOiRyKG0pfSl9LHMub3I9ZnVuY3Rpb24oYyl7cmV0dXJuIFByKHRoaXMsYyl9LHMudHJpbT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy53cmFwKGMsYyl9LHMud3JhcD1mdW5jdGlvbihjLG0pe3JldHVybiBQdChjLHRoaXMsbSxmdW5jdGlvbihFLGspe3JldHVybiBrfSl9LHMudGhydT1mdW5jdGlvbihjKXtyZXR1cm4gYyh0aGlzKX0scy50aGVuPWZ1bmN0aW9uKGMpe3JldHVybiBqKGMpLEJyKHRoaXMsYykubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBtWzFdfSl9LHMubWFueT1mdW5jdGlvbigpe3ZhciBjPXRoaXM7cmV0dXJuIHIoZnVuY3Rpb24obSxFKXtmb3IodmFyIGs9W10sTD12b2lkIDA7Oyl7aWYoIShMPU8oYy5fKG0sRSksTCkpLnN0YXR1cylyZXR1cm4gTyh3KEUsayksTCk7aWYoRT09PUwuaW5kZXgpdGhyb3cgbmV3IEVycm9yKFxcXCJpbmZpbml0ZSBsb29wIGRldGVjdGVkIGluIC5tYW55KCkgcGFyc2VyIC0tLSBjYWxsaW5nIC5tYW55KCkgb24gYSBwYXJzZXIgd2hpY2ggY2FuIGFjY2VwdCB6ZXJvIGNoYXJhY3RlcnMgaXMgdXN1YWxseSB0aGUgY2F1c2VcXFwiKTtFPUwuaW5kZXgsay5wdXNoKEwudmFsdWUpfX0pfSxzLnRpZVdpdGg9ZnVuY3Rpb24oYyl7cmV0dXJuIHgoYyksdGhpcy5tYXAoZnVuY3Rpb24obSl7aWYoZnVuY3Rpb24oTCl7aWYoIU4oTCkpdGhyb3cgbmV3IEVycm9yKFxcXCJub3QgYW4gYXJyYXk6IFxcXCIrTCl9KG0pLG0ubGVuZ3RoKXt4KG1bMF0pO2Zvcih2YXIgRT1tWzBdLGs9MTtrPG0ubGVuZ3RoO2srKyl4KG1ba10pLEUrPWMrbVtrXTtyZXR1cm4gRX1yZXR1cm5cXFwiXFxcIn0pfSxzLnRpZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpZVdpdGgoXFxcIlxcXCIpfSxzLnRpbWVzPWZ1bmN0aW9uKGMsbSl7dmFyIEU9dGhpcztyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyJiYobT1jKSxlZShjKSxlZShtKSxyKGZ1bmN0aW9uKGssTCl7Zm9yKHZhciBBPVtdLE09dm9pZCAwLFU9dm9pZCAwLHRlPTA7dGU8Yzt0ZSs9MSl7aWYoVT1PKE09RS5fKGssTCksVSksIU0uc3RhdHVzKXJldHVybiBVO0w9TS5pbmRleCxBLnB1c2goTS52YWx1ZSl9Zm9yKDt0ZTxtJiYoVT1PKE09RS5fKGssTCksVSksTS5zdGF0dXMpO3RlKz0xKUw9TS5pbmRleCxBLnB1c2goTS52YWx1ZSk7cmV0dXJuIE8odyhMLEEpLFUpfSl9LHMucmVzdWx0PWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBjfSl9LHMuYXRNb3N0PWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnRpbWVzKDAsYyl9LHMuYXRMZWFzdD1mdW5jdGlvbihjKXtyZXR1cm4gUHQodGhpcy50aW1lcyhjKSx0aGlzLm1hbnkoKSxmdW5jdGlvbihtLEUpe3JldHVybiBtLmNvbmNhdChFKX0pfSxzLm1hcD1mdW5jdGlvbihjKXthZShjKTt2YXIgbT10aGlzO3JldHVybiByKGZ1bmN0aW9uKEUsayl7dmFyIEw9bS5fKEUsayk7cmV0dXJuIEwuc3RhdHVzP08odyhMLmluZGV4LGMoTC52YWx1ZSkpLEwpOkx9KX0scy5jb250cmFtYXA9ZnVuY3Rpb24oYyl7YWUoYyk7dmFyIG09dGhpcztyZXR1cm4gcihmdW5jdGlvbihFLGspe3ZhciBMPW0ucGFyc2UoYyhFLnNsaWNlKGspKSk7cmV0dXJuIEwuc3RhdHVzP3coaytFLmxlbmd0aCxMLnZhbHVlKTpMfSl9LHMucHJvbWFwPWZ1bmN0aW9uKGMsbSl7cmV0dXJuIGFlKGMpLGFlKG0pLHRoaXMuY29udHJhbWFwKGMpLm1hcChtKX0scy5za2lwPWZ1bmN0aW9uKGMpe3JldHVybiBCcih0aGlzLGMpLm1hcChmdW5jdGlvbihtKXtyZXR1cm4gbVswXX0pfSxzLm1hcms9ZnVuY3Rpb24oKXtyZXR1cm4gUHQoUG4sdGhpcyxQbixmdW5jdGlvbihjLG0sRSl7cmV0dXJue3N0YXJ0OmMsdmFsdWU6bSxlbmQ6RX19KX0scy5ub2RlPWZ1bmN0aW9uKGMpe3JldHVybiBQdChQbix0aGlzLFBuLGZ1bmN0aW9uKG0sRSxrKXtyZXR1cm57bmFtZTpjLHZhbHVlOkUsc3RhcnQ6bSxlbmQ6a319KX0scy5zZXBCeT1mdW5jdGlvbihjKXtyZXR1cm4gQ28odGhpcyxjKX0scy5zZXBCeTE9ZnVuY3Rpb24oYyl7cmV0dXJuIFVzKHRoaXMsYyl9LHMubG9va2FoZWFkPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLnNraXAoUnIoYykpfSxzLm5vdEZvbGxvd2VkQnk9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMuc2tpcCh2byhjKSl9LHMuZGVzYz1mdW5jdGlvbihjKXtOKGMpfHwoYz1bY10pO3ZhciBtPXRoaXM7cmV0dXJuIHIoZnVuY3Rpb24oRSxrKXt2YXIgTD1tLl8oRSxrKTtyZXR1cm4gTC5zdGF0dXN8fChMLmV4cGVjdGVkPWMpLEx9KX0scy5mYWxsYmFjaz1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5vcigkdChjKSl9LHMuYXA9ZnVuY3Rpb24oYyl7cmV0dXJuIFB0KGMsdGhpcyxmdW5jdGlvbihtLEUpe3JldHVybiBtKEUpfSl9LHMuY2hhaW49ZnVuY3Rpb24oYyl7dmFyIG09dGhpcztyZXR1cm4gcihmdW5jdGlvbihFLGspe3ZhciBMPW0uXyhFLGspO3JldHVybiBMLnN0YXR1cz9PKGMoTC52YWx1ZSkuXyhFLEwuaW5kZXgpLEwpOkx9KX0scy5jb25jYXQ9cy5vcixzLmVtcHR5PUtzLHMub2Y9JHQsc1tcXFwiZmFudGFzeS1sYW5kL2FwXFxcIl09cy5hcCxzW1xcXCJmYW50YXN5LWxhbmQvY2hhaW5cXFwiXT1zLmNoYWluLHNbXFxcImZhbnRhc3ktbGFuZC9jb25jYXRcXFwiXT1zLmNvbmNhdCxzW1xcXCJmYW50YXN5LWxhbmQvZW1wdHlcXFwiXT1zLmVtcHR5LHNbXFxcImZhbnRhc3ktbGFuZC9vZlxcXCJdPXMub2Ysc1tcXFwiZmFudGFzeS1sYW5kL21hcFxcXCJdPXMubWFwO3ZhciBQbj1yKGZ1bmN0aW9uKGMsbSl7cmV0dXJuIHcobSxWKGMsbSkpfSksZWw9cihmdW5jdGlvbihjLG0pe3JldHVybiBtPj1jLmxlbmd0aD92KG0sXFxcImFueSBjaGFyYWN0ZXIvYnl0ZVxcXCIpOncobSsxLFkoYyxtKSl9KSx0bD1yKGZ1bmN0aW9uKGMsbSl7cmV0dXJuIHcoYy5sZW5ndGgsYy5zbGljZShtKSl9KSxXcz1yKGZ1bmN0aW9uKGMsbSl7cmV0dXJuIG08Yy5sZW5ndGg/dihtLFxcXCJFT0ZcXFwiKTp3KG0sbnVsbCl9KSxubD1mdCgvWzAtOV0vKS5kZXNjKFxcXCJhIGRpZ2l0XFxcIikscmw9ZnQoL1swLTldKi8pLmRlc2MoXFxcIm9wdGlvbmFsIGRpZ2l0c1xcXCIpLHNsPWZ0KC9bYS16XS9pKS5kZXNjKFxcXCJhIGxldHRlclxcXCIpLGlsPWZ0KC9bYS16XSovaSkuZGVzYyhcXFwib3B0aW9uYWwgbGV0dGVyc1xcXCIpLG9sPWZ0KC9cXFxccyovKS5kZXNjKFxcXCJvcHRpb25hbCB3aGl0ZXNwYWNlXFxcIiksYWw9ZnQoL1xcXFxzKy8pLmRlc2MoXFxcIndoaXRlc3BhY2VcXFwiKSx4bz1CbihcXFwiXFxcXHJcXFwiKSxJbz1CbihgXFxuYCksTG89Qm4oYFxcXFxyXFxuYCksTm89UHIoTG8sSW8seG8pLmRlc2MoXFxcIm5ld2xpbmVcXFwiKSx1bD1QcihObyxXcyk7ci5hbGw9dGwsci5hbHQ9UHIsci5hbnk9ZWwsci5jcj14byxyLmNyZWF0ZUxhbmd1YWdlPWZ1bmN0aW9uKGMpe3ZhciBtPXt9O2Zvcih2YXIgRSBpbiBjKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChjLEUpJiZmdW5jdGlvbihrKXttW2tdPU9vKGZ1bmN0aW9uKCl7cmV0dXJuIGNba10obSl9KX0oRSk7cmV0dXJuIG19LHIuY3JsZj1MbyxyLmN1c3RvbT1mdW5jdGlvbihjKXtyZXR1cm4gcihjKHcsdikpfSxyLmRpZ2l0PW5sLHIuZGlnaXRzPXJsLHIuZW1wdHk9S3Msci5lbmQ9dWwsci5lb2Y9V3Msci5mYWlsPSRyLHIuZm9ybWF0RXJyb3I9U28sci5pbmRleD1QbixyLmlzUGFyc2VyPUksci5sYXp5PU9vLHIubGV0dGVyPXNsLHIubGV0dGVycz1pbCxyLmxmPUlvLHIubG9va2FoZWFkPVJyLHIubWFrZUZhaWx1cmU9dixyLm1ha2VTdWNjZXNzPXcsci5uZXdsaW5lPU5vLHIubm9uZU9mPWZ1bmN0aW9uKGMpe3JldHVybiBqcihmdW5jdGlvbihtKXtyZXR1cm4gYy5pbmRleE9mKG0pPDB9KS5kZXNjKFxcXCJub25lIG9mICdcXFwiK2MrXFxcIidcXFwiKX0sci5ub3RGb2xsb3dlZEJ5PXZvLHIub2Y9JHQsci5vbmVPZj1mdW5jdGlvbihjKXtmb3IodmFyIG09Yy5zcGxpdChcXFwiXFxcIiksRT0wO0U8bS5sZW5ndGg7RSsrKW1bRV09XFxcIidcXFwiK21bRV0rXFxcIidcXFwiO3JldHVybiBqcihmdW5jdGlvbihrKXtyZXR1cm4gYy5pbmRleE9mKGspPj0wfSkuZGVzYyhtKX0sci5vcHRXaGl0ZXNwYWNlPW9sLHIuUGFyc2VyPXIsci5yYW5nZT1mdW5jdGlvbihjLG0pe3JldHVybiBqcihmdW5jdGlvbihFKXtyZXR1cm4gYzw9RSYmRTw9bX0pLmRlc2MoYytcXFwiLVxcXCIrbSl9LHIucmVnZXg9ZnQsci5yZWdleHA9ZnQsci5zZXBCeT1DbyxyLnNlcEJ5MT1VcyxyLnNlcT1CcixyLnNlcU1hcD1QdCxyLnNlcU9iaj1mdW5jdGlvbigpe2Zvcih2YXIgYyxtPXt9LEU9MCxrPShjPWFyZ3VtZW50cyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjKSksTD1rLmxlbmd0aCxBPTA7QTxMO0ErPTEpe3ZhciBNPWtbQV07aWYoIUkoTSkpe2lmKE4oTSkmJk0ubGVuZ3RoPT09MiYmdHlwZW9mIE1bMF09PVxcXCJzdHJpbmdcXFwiJiZJKE1bMV0pKXt2YXIgVT1NWzBdO2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtLFUpKXRocm93IG5ldyBFcnJvcihcXFwic2VxT2JqOiBkdXBsaWNhdGUga2V5IFxcXCIrVSk7bVtVXT0hMCxFKys7Y29udGludWV9dGhyb3cgbmV3IEVycm9yKFxcXCJzZXFPYmogYXJndW1lbnRzIG11c3QgYmUgcGFyc2VycyBvciBbc3RyaW5nLCBwYXJzZXJdIGFycmF5IHBhaXJzLlxcXCIpfX1pZihFPT09MCl0aHJvdyBuZXcgRXJyb3IoXFxcInNlcU9iaiBleHBlY3RzIGF0IGxlYXN0IG9uZSBuYW1lZCBwYXJzZXIsIGZvdW5kIHplcm9cXFwiKTtyZXR1cm4gcihmdW5jdGlvbih0ZSxFZSl7Zm9yKHZhciBwZSxkdD17fSx2ZT0wO3ZlPEw7dmUrPTEpe3ZhciBodCxYdDtpZihOKGtbdmVdKT8oaHQ9a1t2ZV1bMF0sWHQ9a1t2ZV1bMV0pOihodD1udWxsLFh0PWtbdmVdKSwhKHBlPU8oWHQuXyh0ZSxFZSkscGUpKS5zdGF0dXMpcmV0dXJuIHBlO2h0JiYoZHRbaHRdPXBlLnZhbHVlKSxFZT1wZS5pbmRleH1yZXR1cm4gTyh3KEVlLGR0KSxwZSl9KX0sci5zdHJpbmc9Qm4sci5zdWNjZWVkPSR0LHIudGFrZVdoaWxlPWZ1bmN0aW9uKGMpe3JldHVybiBhZShjKSxyKGZ1bmN0aW9uKG0sRSl7Zm9yKHZhciBrPUU7azxtLmxlbmd0aCYmYyhZKG0saykpOylrKys7cmV0dXJuIHcoayxtLnNsaWNlKEUsaykpfSl9LHIudGVzdD1qcixyLndoaXRlc3BhY2U9YWwscltcXFwiZmFudGFzeS1sYW5kL2VtcHR5XFxcIl09S3MscltcXFwiZmFudGFzeS1sYW5kL29mXFxcIl09JHQsci5CaW5hcnk9e2JpdFNlcTpkLGJpdFNlcU9iajpmdW5jdGlvbihjKXtmKCk7dmFyIG09e30sRT0wLGs9YShmdW5jdGlvbihBKXtpZihOKEEpKXt2YXIgTT1BO2lmKE0ubGVuZ3RoIT09Mil0aHJvdyBuZXcgRXJyb3IoXFxcIltcXFwiK00uam9pbihcXFwiLCBcXFwiKStcXFwiXSBzaG91bGQgYmUgbGVuZ3RoIDIsIGdvdCBsZW5ndGggXFxcIitNLmxlbmd0aCk7aWYoeChNWzBdKSxlZShNWzFdKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobSxNWzBdKSl0aHJvdyBuZXcgRXJyb3IoXFxcImR1cGxpY2F0ZSBrZXkgaW4gYml0U2VxT2JqOiBcXFwiK01bMF0pO3JldHVybiBtW01bMF1dPSEwLEUrKyxNfXJldHVybiBlZShBKSxbbnVsbCxBXX0sYyk7aWYoRTwxKXRocm93IG5ldyBFcnJvcihcXFwiYml0U2VxT2JqIGV4cGVjdHMgYXQgbGVhc3Qgb25lIG5hbWVkIHBhaXIsIGdvdCBbXFxcIitjLmpvaW4oXFxcIiwgXFxcIikrXFxcIl1cXFwiKTt2YXIgTD1hKGZ1bmN0aW9uKEEpe3JldHVybiBBWzBdfSxrKTtyZXR1cm4gZChhKGZ1bmN0aW9uKEEpe3JldHVybiBBWzFdfSxrKSkubWFwKGZ1bmN0aW9uKEEpe3JldHVybiBvKGZ1bmN0aW9uKE0sVSl7cmV0dXJuIFVbMF0hPT1udWxsJiYoTVtVWzBdXT1VWzFdKSxNfSx7fSxhKGZ1bmN0aW9uKE0sVSl7cmV0dXJuW00sQVtVXV19LEwpKX0pfSxieXRlOmZ1bmN0aW9uKGMpe2lmKGYoKSxlZShjKSxjPjI1NSl0aHJvdyBuZXcgRXJyb3IoXFxcIlZhbHVlIHNwZWNpZmllZCB0byBieXRlIGNvbnN0cnVjdG9yIChcXFwiK2MrXFxcIj0weFxcXCIrYy50b1N0cmluZygxNikrXFxcIikgaXMgbGFyZ2VyIGluIHZhbHVlIHRoYW4gYSBzaW5nbGUgYnl0ZS5cXFwiKTt2YXIgbT0oYz4xNT9cXFwiMHhcXFwiOlxcXCIweDBcXFwiKStjLnRvU3RyaW5nKDE2KTtyZXR1cm4gcihmdW5jdGlvbihFLGspe3ZhciBMPVkoRSxrKTtyZXR1cm4gTD09PWM/dyhrKzEsTCk6dihrLG0pfSl9LGJ1ZmZlcjpmdW5jdGlvbihjKXtyZXR1cm4gcChcXFwiYnVmZmVyXFxcIixjKS5tYXAoZnVuY3Rpb24obSl7cmV0dXJuIEJ1ZmZlci5mcm9tKG0pfSl9LGVuY29kZWRTdHJpbmc6ZnVuY3Rpb24oYyxtKXtyZXR1cm4gcChcXFwic3RyaW5nXFxcIixtKS5tYXAoZnVuY3Rpb24oRSl7cmV0dXJuIEUudG9TdHJpbmcoYyl9KX0sdWludEJFOmIsdWludDhCRTpiKDEpLHVpbnQxNkJFOmIoMiksdWludDMyQkU6Yig0KSx1aW50TEU6Zyx1aW50OExFOmcoMSksdWludDE2TEU6ZygyKSx1aW50MzJMRTpnKDQpLGludEJFOkQsaW50OEJFOkQoMSksaW50MTZCRTpEKDIpLGludDMyQkU6RCg0KSxpbnRMRTpULGludDhMRTpUKDEpLGludDE2TEU6VCgyKSxpbnQzMkxFOlQoNCksZmxvYXRCRTpwKFxcXCJmbG9hdEJFXFxcIiw0KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMucmVhZEZsb2F0QkUoMCl9KSxmbG9hdExFOnAoXFxcImZsb2F0TEVcXFwiLDQpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5yZWFkRmxvYXRMRSgwKX0pLGRvdWJsZUJFOnAoXFxcImRvdWJsZUJFXFxcIiw4KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMucmVhZERvdWJsZUJFKDApfSksZG91YmxlTEU6cChcXFwiZG91YmxlTEVcXFwiLDgpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5yZWFkRG91YmxlTEUoMCl9KX0sbi5leHBvcnRzPXJ9XSl9KX0pO3ZhciBSdT1fbyhOZT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgU2Y9TmUmJk5lLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgbj1mdW5jdGlvbihlLHQpe3JldHVybiBuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihyLHMpe3IuX19wcm90b19fPXN9fHxmdW5jdGlvbihyLHMpe2Zvcih2YXIgaSBpbiBzKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLGkpJiYocltpXT1zW2ldKX0sbihlLHQpfTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgdCE9XFxcImZ1bmN0aW9uXFxcIiYmdCE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcXFwiK1N0cmluZyh0KStcXFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcXFwiKTtuKGUsdCk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1lLnByb3RvdHlwZT10PT09bnVsbD9PYmplY3QuY3JlYXRlKHQpOihyLnByb3RvdHlwZT10LnByb3RvdHlwZSxuZXcgcil9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShOZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSk7TmUuRW1wdHlCVHJlZT1OZS5hc1NldD1OZS5zaW1wbGVDb21wYXJhdG9yPU5lLmRlZmF1bHRDb21wYXJhdG9yPXZvaWQgMDtmdW5jdGlvbiBCdShuLGUpe2lmKE51bWJlci5pc0Zpbml0ZShuKSYmTnVtYmVyLmlzRmluaXRlKGUpKXJldHVybiBuLWU7dmFyIHQ9dHlwZW9mIG4scj10eXBlb2YgZTtpZih0IT09cilyZXR1cm4gdDxyPy0xOjE7aWYodD09PVxcXCJvYmplY3RcXFwiKXtpZihuPT09bnVsbClyZXR1cm4gZT09PW51bGw/MDotMTtpZihlPT09bnVsbClyZXR1cm4gMTtpZihuPW4udmFsdWVPZigpLGU9ZS52YWx1ZU9mKCksdD10eXBlb2YgbixyPXR5cGVvZiBlLHQhPT1yKXJldHVybiB0PHI/LTE6MX1yZXR1cm4gbjxlPy0xOm4+ZT8xOm49PT1lPzA6TnVtYmVyLmlzTmFOKG4pP051bWJlci5pc05hTihlKT8wOi0xOk51bWJlci5pc05hTihlKT8xOkFycmF5LmlzQXJyYXkobik/MDpOdW1iZXIuTmFOfU5lLmRlZmF1bHRDb21wYXJhdG9yPUJ1O2Z1bmN0aW9uIGtmKG4sZSl7cmV0dXJuIG4+ZT8xOm48ZT8tMTowfU5lLnNpbXBsZUNvbXBhcmF0b3I9a2Y7dmFyIGx0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihlLHQscil7dGhpcy5fcm9vdD1mbyx0aGlzLl9zaXplPTAsdGhpcy5fbWF4Tm9kZVNpemU9cj49ND9NYXRoLm1pbihyLDI1Nik6MzIsdGhpcy5fY29tcGFyZT10fHxCdSxlJiZ0aGlzLnNldFBhaXJzKGUpfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXFxcInNpemVcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXFxcImxlbmd0aFxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zaXplfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcXFwiaXNFbXB0eVxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zaXplPT09MH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX3Jvb3Q9Zm8sdGhpcy5fc2l6ZT0wfSxuLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcztyZXR1cm4gdCE9PXZvaWQgMCYmKGU9ZS5iaW5kKHQpKSx0aGlzLmZvckVhY2hQYWlyKGZ1bmN0aW9uKHMsaSl7cmV0dXJuIGUoaSxzLHIpfSl9LG4ucHJvdG90eXBlLmZvckVhY2hQYWlyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5taW5LZXkoKSxzPXRoaXMubWF4S2V5KCk7cmV0dXJuIHRoaXMuZm9yUmFuZ2UocixzLCEwLGUsdCl9LG4ucHJvdG90eXBlLmdldD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9yb290LmdldChlLHQsdGhpcyl9LG4ucHJvdG90eXBlLnNldD1mdW5jdGlvbihlLHQscil7dGhpcy5fcm9vdC5pc1NoYXJlZCYmKHRoaXMuX3Jvb3Q9dGhpcy5fcm9vdC5jbG9uZSgpKTt2YXIgcz10aGlzLl9yb290LnNldChlLHQscix0aGlzKTtyZXR1cm4gcz09PSEwfHxzPT09ITE/czoodGhpcy5fcm9vdD1uZXcgdmYoW3RoaXMuX3Jvb3Qsc10pLCEwKX0sbi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmZvclJhbmdlKGUsZSwhMCx2b2lkIDApIT09MH0sbi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVkaXRSYW5nZShlLGUsITAsTXUpIT09MH0sbi5wcm90b3R5cGUud2l0aD1mdW5jdGlvbihlLHQscil7dmFyIHM9dGhpcy5jbG9uZSgpO3JldHVybiBzLnNldChlLHQscil8fHI/czp0aGlzfSxuLnByb3RvdHlwZS53aXRoUGFpcnM9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmNsb25lKCk7cmV0dXJuIHIuc2V0UGFpcnMoZSx0KSE9PTB8fHQ/cjp0aGlzfSxuLnByb3RvdHlwZS53aXRoS2V5cz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj10aGlzLmNsb25lKCkscz0hMSxpPTA7aTxlLmxlbmd0aDtpKyspcz1yLnNldChlW2ldLHZvaWQgMCwhMSl8fHM7cmV0dXJuIHQmJiFzP3RoaXM6cn0sbi5wcm90b3R5cGUud2l0aG91dD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLndpdGhvdXRSYW5nZShlLGUsITAsdCl9LG4ucHJvdG90eXBlLndpdGhvdXRLZXlzPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5jbG9uZSgpO3JldHVybiByLmRlbGV0ZUtleXMoZSl8fCF0P3I6dGhpc30sbi5wcm90b3R5cGUud2l0aG91dFJhbmdlPWZ1bmN0aW9uKGUsdCxyLHMpe3ZhciBpPXRoaXMuY2xvbmUoKTtyZXR1cm4gaS5kZWxldGVSYW5nZShlLHQscik9PT0wJiZzP3RoaXM6aX0sbi5wcm90b3R5cGUuZmlsdGVyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5ncmVlZHlDbG9uZSgpLHM7cmV0dXJuIHIuZWRpdEFsbChmdW5jdGlvbihpLG8sYSl7aWYoIWUoaSxvLGEpKXJldHVybiBzPSR1fSksIXMmJnQ/dGhpczpyfSxuLnByb3RvdHlwZS5tYXBWYWx1ZXM9ZnVuY3Rpb24oZSl7dmFyIHQ9e30scj10aGlzLmdyZWVkeUNsb25lKCk7cmV0dXJuIHIuZWRpdEFsbChmdW5jdGlvbihzLGksbyl7cmV0dXJuIHQudmFsdWU9ZShpLHMsbyksdH0pLHJ9LG4ucHJvdG90eXBlLnJlZHVjZT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj0wLHM9dCxpPXRoaXMuZW50cmllcyh0aGlzLm1pbktleSgpLE1yKSxvOyEobz1pLm5leHQoKSkuZG9uZTspcz1lKHMsby52YWx1ZSxyKyssdGhpcyk7cmV0dXJuIHN9LG4ucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmZpbmRQYXRoKGUpO2lmKHI9PT12b2lkIDApcmV0dXJuIEFuKCk7dmFyIHM9ci5ub2RlcXVldWUsaT1yLm5vZGVpbmRleCxvPXIubGVhZixhPXQhPT12b2lkIDA/MTowLHU9ZT09PXZvaWQgMD8tMTpvLmluZGV4T2YoZSwwLHRoaXMuX2NvbXBhcmUpLTE7cmV0dXJuIEFuKGZ1bmN0aW9uKCl7ZTpmb3IoOzspc3dpdGNoKGEpe2Nhc2UgMDppZigrK3U8by5rZXlzLmxlbmd0aClyZXR1cm57ZG9uZTohMSx2YWx1ZTpbby5rZXlzW3VdLG8udmFsdWVzW3VdXX07YT0yO2NvbnRpbnVlO2Nhc2UgMTppZigrK3U8by5rZXlzLmxlbmd0aClyZXR1cm4gdFswXT1vLmtleXNbdV0sdFsxXT1vLnZhbHVlc1t1XSx7ZG9uZTohMSx2YWx1ZTp0fTthPTI7Y2FzZSAyOmZvcih2YXIgbD0tMTs7KXtpZigrK2w+PXMubGVuZ3RoKXthPTM7Y29udGludWUgZX1pZigrK2lbbF08c1tsXS5sZW5ndGgpYnJlYWt9Zm9yKDtsPjA7bC0tKXNbbC0xXT1zW2xdW2lbbF1dLmNoaWxkcmVuLGlbbC0xXT0wO289c1swXVtpWzBdXSx1PS0xLGE9dCE9PXZvaWQgMD8xOjA7Y29udGludWU7Y2FzZSAzOnJldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19fSl9LG4ucHJvdG90eXBlLmVudHJpZXNSZXZlcnNlZD1mdW5jdGlvbihlLHQscil7aWYoZT09PXZvaWQgMCYmKGU9dGhpcy5tYXhLZXkoKSxyPXZvaWQgMCxlPT09dm9pZCAwKSlyZXR1cm4gQW4oKTt2YXIgcz10aGlzLmZpbmRQYXRoKGUpfHx0aGlzLmZpbmRQYXRoKHRoaXMubWF4S2V5KCkpLGk9cy5ub2RlcXVldWUsbz1zLm5vZGVpbmRleCxhPXMubGVhZjtMZSghaVswXXx8YT09PWlbMF1bb1swXV0sXFxcIndhdCFcXFwiKTt2YXIgdT1hLmluZGV4T2YoZSwwLHRoaXMuX2NvbXBhcmUpOyFyJiZ1PGEua2V5cy5sZW5ndGgmJnRoaXMuX2NvbXBhcmUoYS5rZXlzW3VdLGUpPD0wJiZ1Kys7dmFyIGw9dCE9PXZvaWQgMD8xOjA7cmV0dXJuIEFuKGZ1bmN0aW9uKCl7ZTpmb3IoOzspc3dpdGNoKGwpe2Nhc2UgMDppZigtLXU+PTApcmV0dXJue2RvbmU6ITEsdmFsdWU6W2Eua2V5c1t1XSxhLnZhbHVlc1t1XV19O2w9Mjtjb250aW51ZTtjYXNlIDE6aWYoLS11Pj0wKXJldHVybiB0WzBdPWEua2V5c1t1XSx0WzFdPWEudmFsdWVzW3VdLHtkb25lOiExLHZhbHVlOnR9O2w9MjtjYXNlIDI6Zm9yKHZhciBmPS0xOzspe2lmKCsrZj49aS5sZW5ndGgpe2w9Mztjb250aW51ZSBlfWlmKC0tb1tmXT49MClicmVha31mb3IoO2Y+MDtmLS0paVtmLTFdPWlbZl1bb1tmXV0uY2hpbGRyZW4sb1tmLTFdPWlbZi0xXS5sZW5ndGgtMTthPWlbMF1bb1swXV0sdT1hLmtleXMubGVuZ3RoLGw9dCE9PXZvaWQgMD8xOjA7Y29udGludWU7Y2FzZSAzOnJldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19fSl9LG4ucHJvdG90eXBlLmZpbmRQYXRoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3Jvb3QscixzO2lmKHQuaXNMZWFmKXI9X3Uscz1fdTtlbHNle3I9W10scz1bXTtmb3IodmFyIGk9MDshdC5pc0xlYWY7aSsrKXtpZihyW2ldPXQuY2hpbGRyZW4sc1tpXT1lPT09dm9pZCAwPzA6dC5pbmRleE9mKGUsMCx0aGlzLl9jb21wYXJlKSxzW2ldPj1yW2ldLmxlbmd0aClyZXR1cm47dD1yW2ldW3NbaV1dfXIucmV2ZXJzZSgpLHMucmV2ZXJzZSgpfXJldHVybntub2RlcXVldWU6cixub2RlaW5kZXg6cyxsZWFmOnR9fSxuLnByb3RvdHlwZS5kaWZmQWdhaW5zdD1mdW5jdGlvbihlLHQscixzKXtpZihlLl9jb21wYXJlIT09dGhpcy5fY29tcGFyZSl0aHJvdyBuZXcgRXJyb3IoXFxcIlRyZWUgY29tcGFyYXRvcnMgYXJlIG5vdCB0aGUgc2FtZS5cXFwiKTtpZih0aGlzLmlzRW1wdHl8fGUuaXNFbXB0eSlyZXR1cm4gdGhpcy5pc0VtcHR5JiZlLmlzRW1wdHk/dm9pZCAwOnRoaXMuaXNFbXB0eT9yPT09dm9pZCAwP3ZvaWQgMDpuLnN0ZXBUb0VuZChuLm1ha2VEaWZmQ3Vyc29yKGUpLHIpOnQ9PT12b2lkIDA/dm9pZCAwOm4uc3RlcFRvRW5kKG4ubWFrZURpZmZDdXJzb3IodGhpcyksdCk7Zm9yKHZhciBpPXRoaXMuX2NvbXBhcmUsbz1uLm1ha2VEaWZmQ3Vyc29yKHRoaXMpLGE9bi5tYWtlRGlmZkN1cnNvcihlKSx1PSEwLGw9ITAsZj1uLmNvbXBhcmUobyxhLGkpO3UmJmw7KXt2YXIgZD1uLmNvbXBhcmUobyxhLGkpLHA9by5sZWFmLGg9by5pbnRlcm5hbFNwaW5lLGI9by5sZXZlbEluZGljZXMsZz1hLmxlYWYsRD1hLmludGVybmFsU3BpbmUsVD1hLmxldmVsSW5kaWNlcztpZihwfHxnKXtpZihmIT09MCl7aWYoZD09PTApe2lmKHAmJmcmJnMpe3ZhciBJPXAudmFsdWVzW2JbYi5sZW5ndGgtMV1dLE49Zy52YWx1ZXNbVFtULmxlbmd0aC0xXV07aWYoIU9iamVjdC5pcyhJLE4pKXt2YXIgeT1zKG8uY3VycmVudEtleSxJLE4pO2lmKHkmJnkuYnJlYWspcmV0dXJuIHkuYnJlYWt9fX1lbHNlIGlmKGQ+MCl7aWYoZyYmcil7dmFyIHc9Zy52YWx1ZXNbVFtULmxlbmd0aC0xXV0seT1yKGEuY3VycmVudEtleSx3KTtpZih5JiZ5LmJyZWFrKXJldHVybiB5LmJyZWFrfX1lbHNlIGlmKHQmJnAmJmYhPT0wKXt2YXIgST1wLnZhbHVlc1tiW2IubGVuZ3RoLTFdXSx5PXQoby5jdXJyZW50S2V5LEkpO2lmKHkmJnkuYnJlYWspcmV0dXJuIHkuYnJlYWt9fX1lbHNlIGlmKCFwJiYhZyYmZD09PTApe3ZhciB2PWgubGVuZ3RoLTEsTz1ELmxlbmd0aC0xLEM9aFt2XVtiW3ZdXSxWPURbT11bVFtPXV07aWYoVj09PUMpe2Y9MCx1PW4uc3RlcChvLCEwKSxsPW4uc3RlcChhLCEwKTtjb250aW51ZX19Zj1kLGQ8MD91PW4uc3RlcChvKTpsPW4uc3RlcChhKX1pZih1JiZ0KXJldHVybiBuLmZpbmlzaEN1cnNvcldhbGsobyxhLGksdCk7aWYobCYmcilyZXR1cm4gbi5maW5pc2hDdXJzb3JXYWxrKGEsbyxpLHIpfSxuLmZpbmlzaEN1cnNvcldhbGs9ZnVuY3Rpb24oZSx0LHIscyl7dmFyIGk9bi5jb21wYXJlKGUsdCxyKTtpZihpPT09MCl7aWYoIW4uc3RlcChlKSlyZXR1cm59ZWxzZSBpPDAmJkxlKCExLFxcXCJjdXJzb3Igd2FsayB0ZXJtaW5hdGVkIGVhcmx5XFxcIik7cmV0dXJuIG4uc3RlcFRvRW5kKGUscyl9LG4uc3RlcFRvRW5kPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPSEwO3I7KXt2YXIgcz1lLmxlYWYsaT1lLmxldmVsSW5kaWNlcyxvPWUuY3VycmVudEtleTtpZihzKXt2YXIgYT1zLnZhbHVlc1tpW2kubGVuZ3RoLTFdXSx1PXQobyxhKTtpZih1JiZ1LmJyZWFrKXJldHVybiB1LmJyZWFrfXI9bi5zdGVwKGUpfX0sbi5tYWtlRGlmZkN1cnNvcj1mdW5jdGlvbihlKXt2YXIgdD1lLl9yb290LHI9ZS5oZWlnaHQ7cmV0dXJue2hlaWdodDpyLGludGVybmFsU3BpbmU6W1t0XV0sbGV2ZWxJbmRpY2VzOlswXSxsZWFmOnZvaWQgMCxjdXJyZW50S2V5OnQubWF4S2V5KCl9fSxuLnN0ZXA9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLmludGVybmFsU3BpbmUscz1lLmxldmVsSW5kaWNlcyxpPWUubGVhZjtpZih0PT09ITB8fGkpe3ZhciBvPXMubGVuZ3RoO2lmKHQ9PT0hMHx8c1tvLTFdPT09MCl7dmFyIGE9ci5sZW5ndGg7aWYoYT09PTApcmV0dXJuITE7Zm9yKHZhciB1PWEtMSxsPXU7bD49MDspe2lmKHNbbF0+MClyZXR1cm4gbDxvLTEmJihlLmxlYWY9dm9pZCAwLHMucG9wKCkpLGw8dSYmKGUuaW50ZXJuYWxTcGluZT1yLnNsaWNlKDAsbCsxKSksZS5jdXJyZW50S2V5PXJbbF1bLS1zW2xdXS5tYXhLZXkoKSwhMDtsLS19cmV0dXJuITF9ZWxzZXt2YXIgZj0tLXNbby0xXTtyZXR1cm4gZS5jdXJyZW50S2V5PWkua2V5c1tmXSwhMH19ZWxzZXt2YXIgZD1yLmxlbmd0aCxwPWQtMSxoPXJbcF1bc1twXV07aWYoaC5pc0xlYWYpe2UubGVhZj1oO3ZhciBmPXNbZF09aC52YWx1ZXMubGVuZ3RoLTE7ZS5jdXJyZW50S2V5PWgua2V5c1tmXX1lbHNle3ZhciBiPWguY2hpbGRyZW47cltkXT1iO3ZhciBnPWIubGVuZ3RoLTE7c1tkXT1nLGUuY3VycmVudEtleT1iW2ddLm1heEtleSgpfXJldHVybiEwfX0sbi5jb21wYXJlPWZ1bmN0aW9uKGUsdCxyKXt2YXIgcz1lLmhlaWdodCxpPWUuY3VycmVudEtleSxvPWUubGV2ZWxJbmRpY2VzLGE9dC5oZWlnaHQsdT10LmN1cnJlbnRLZXksbD10LmxldmVsSW5kaWNlcyxmPXIodSxpKTtpZihmIT09MClyZXR1cm4gZjt2YXIgZD1zPGE/czphLHA9by5sZW5ndGgtKHMtZCksaD1sLmxlbmd0aC0oYS1kKTtyZXR1cm4gcC1ofSxuLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZW50cmllcyhlLE1yKTtyZXR1cm4gQW4oZnVuY3Rpb24oKXt2YXIgcj10Lm5leHQoKTtyZXR1cm4gci52YWx1ZSYmKHIudmFsdWU9ci52YWx1ZVswXSkscn0pfSxuLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5lbnRyaWVzKGUsTXIpO3JldHVybiBBbihmdW5jdGlvbigpe3ZhciByPXQubmV4dCgpO3JldHVybiByLnZhbHVlJiYoci52YWx1ZT1yLnZhbHVlWzFdKSxyfSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcXFwibWF4Tm9kZVNpemVcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4Tm9kZVNpemV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksbi5wcm90b3R5cGUubWluS2V5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jvb3QubWluS2V5KCl9LG4ucHJvdG90eXBlLm1heEtleT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yb290Lm1heEtleSgpfSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3RoaXMuX3Jvb3QuaXNTaGFyZWQ9ITA7dmFyIGU9bmV3IG4odm9pZCAwLHRoaXMuX2NvbXBhcmUsdGhpcy5fbWF4Tm9kZVNpemUpO3JldHVybiBlLl9yb290PXRoaXMuX3Jvb3QsZS5fc2l6ZT10aGlzLl9zaXplLGV9LG4ucHJvdG90eXBlLmdyZWVkeUNsb25lPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBuKHZvaWQgMCx0aGlzLl9jb21wYXJlLHRoaXMuX21heE5vZGVTaXplKTtyZXR1cm4gdC5fcm9vdD10aGlzLl9yb290LmdyZWVkeUNsb25lKGUpLHQuX3NpemU9dGhpcy5fc2l6ZSx0fSxuLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKGUpe2U9PT12b2lkIDAmJihlPTIxNDc0ODM2NDcpO3ZhciB0PXRoaXMubWluS2V5KCkscj10aGlzLm1heEtleSgpO3JldHVybiB0IT09dm9pZCAwP3RoaXMuZ2V0UmFuZ2UodCxyLCEwLGUpOltdfSxuLnByb3RvdHlwZS5rZXlzQXJyYXk9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5fcm9vdC5mb3JSYW5nZSh0aGlzLm1pbktleSgpLHRoaXMubWF4S2V5KCksITAsITEsdGhpcywwLGZ1bmN0aW9uKHQscil7ZS5wdXNoKHQpfSksZX0sbi5wcm90b3R5cGUudmFsdWVzQXJyYXk9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5fcm9vdC5mb3JSYW5nZSh0aGlzLm1pbktleSgpLHRoaXMubWF4S2V5KCksITAsITEsdGhpcywwLGZ1bmN0aW9uKHQscil7ZS5wdXNoKHIpfSksZX0sbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b0FycmF5KCkudG9TdHJpbmcoKX0sbi5wcm90b3R5cGUuc2V0SWZOb3RQcmVzZW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuc2V0KGUsdCwhMSl9LG4ucHJvdG90eXBlLm5leHRIaWdoZXJQYWlyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9dHx8W10sZT09PXZvaWQgMD90aGlzLl9yb290Lm1pblBhaXIodCk6dGhpcy5fcm9vdC5nZXRQYWlyT3JOZXh0SGlnaGVyKGUsdGhpcy5fY29tcGFyZSwhMSx0KX0sbi5wcm90b3R5cGUubmV4dEhpZ2hlcktleT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLm5leHRIaWdoZXJQYWlyKGUsTXIpO3JldHVybiB0JiZ0WzBdfSxuLnByb3RvdHlwZS5uZXh0TG93ZXJQYWlyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9dHx8W10sZT09PXZvaWQgMD90aGlzLl9yb290Lm1heFBhaXIodCk6dGhpcy5fcm9vdC5nZXRQYWlyT3JOZXh0TG93ZXIoZSx0aGlzLl9jb21wYXJlLCExLHQpfSxuLnByb3RvdHlwZS5uZXh0TG93ZXJLZXk9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5uZXh0TG93ZXJQYWlyKGUsTXIpO3JldHVybiB0JiZ0WzBdfSxuLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0TG93ZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fcm9vdC5nZXRQYWlyT3JOZXh0TG93ZXIoZSx0aGlzLl9jb21wYXJlLCEwLHR8fFtdKX0sbi5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRIaWdoZXIoZSx0aGlzLl9jb21wYXJlLCEwLHR8fFtdKX0sbi5wcm90b3R5cGUuY2hhbmdlSWZQcmVzZW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZWRpdFJhbmdlKGUsZSwhMCxmdW5jdGlvbihyLHMpe3JldHVybnt2YWx1ZTp0fX0pIT09MH0sbi5wcm90b3R5cGUuZ2V0UmFuZ2U9ZnVuY3Rpb24oZSx0LHIscyl7cz09PXZvaWQgMCYmKHM9NjcxMDg4NjMpO3ZhciBpPVtdO3JldHVybiB0aGlzLl9yb290LmZvclJhbmdlKGUsdCxyLCExLHRoaXMsMCxmdW5jdGlvbihvLGEpe3JldHVybiBpLnB1c2goW28sYV0pLGkubGVuZ3RoPnM/T2Y6dm9pZCAwfSksaX0sbi5wcm90b3R5cGUuc2V0UGFpcnM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9MCxzPTA7czxlLmxlbmd0aDtzKyspdGhpcy5zZXQoZVtzXVswXSxlW3NdWzFdLHQpJiZyKys7cmV0dXJuIHJ9LG4ucHJvdG90eXBlLmZvclJhbmdlPWZ1bmN0aW9uKGUsdCxyLHMsaSl7dmFyIG89dGhpcy5fcm9vdC5mb3JSYW5nZShlLHQsciwhMSx0aGlzLGl8fDAscyk7cmV0dXJuIHR5cGVvZiBvPT1cXFwibnVtYmVyXFxcIj9vOm8uYnJlYWt9LG4ucHJvdG90eXBlLmVkaXRSYW5nZT1mdW5jdGlvbihlLHQscixzLGkpe3ZhciBvPXRoaXMuX3Jvb3Q7by5pc1NoYXJlZCYmKHRoaXMuX3Jvb3Q9bz1vLmNsb25lKCkpO3RyeXt2YXIgYT1vLmZvclJhbmdlKGUsdCxyLCEwLHRoaXMsaXx8MCxzKTtyZXR1cm4gdHlwZW9mIGE9PVxcXCJudW1iZXJcXFwiP2E6YS5icmVha31maW5hbGx5e2Zvcih2YXIgdT12b2lkIDA7by5rZXlzLmxlbmd0aDw9MSYmIW8uaXNMZWFmOyl1fHwodT1vLmlzU2hhcmVkKSx0aGlzLl9yb290PW89by5rZXlzLmxlbmd0aD09PTA/Zm86by5jaGlsZHJlblswXTt1JiYoby5pc1NoYXJlZD0hMCl9fSxuLnByb3RvdHlwZS5lZGl0QWxsPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZWRpdFJhbmdlKHRoaXMubWluS2V5KCksdGhpcy5tYXhLZXkoKSwhMCxlLHQpfSxuLnByb3RvdHlwZS5kZWxldGVSYW5nZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHRoaXMuZWRpdFJhbmdlKGUsdCxyLE11KX0sbi5wcm90b3R5cGUuZGVsZXRlS2V5cz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxyPTA7dDxlLmxlbmd0aDt0KyspdGhpcy5kZWxldGUoZVt0XSkmJnIrKztyZXR1cm4gcn0sT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFxcXCJoZWlnaHRcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fcm9vdCx0PS0xO2U7KXQrKyxlPWUuaXNMZWFmP3ZvaWQgMDplLmNoaWxkcmVuWzBdO3JldHVybiB0fSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLG4ucHJvdG90eXBlLmZyZWV6ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5jbGVhcj1lLnNldD1lLmVkaXRSYW5nZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcXFwiQXR0ZW1wdGVkIHRvIG1vZGlmeSBhIGZyb3plbiBCVHJlZVxcXCIpfX0sbi5wcm90b3R5cGUudW5mcmVlemU9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5jbGVhcixkZWxldGUgdGhpcy5zZXQsZGVsZXRlIHRoaXMuZWRpdFJhbmdlfSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXFxcImlzRnJvemVuXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoXFxcImVkaXRSYW5nZVxcXCIpfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLG4ucHJvdG90eXBlLmNoZWNrVmFsaWQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9yb290LmNoZWNrVmFsaWQoMCx0aGlzLDApO0xlKGU9PT10aGlzLnNpemUsXFxcInNpemUgbWlzbWF0Y2g6IGNvdW50ZWQgXFxcIixlLFxcXCJidXQgc3RvcmVkXFxcIix0aGlzLnNpemUpfSxufSgpO05lLmRlZmF1bHQ9bHQ7ZnVuY3Rpb24gQ2Yobil7cmV0dXJuIG59TmUuYXNTZXQ9Q2Y7U3ltYm9sJiZTeW1ib2wuaXRlcmF0b3ImJihsdC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1sdC5wcm90b3R5cGUuZW50cmllcyk7bHQucHJvdG90eXBlLndoZXJlPWx0LnByb3RvdHlwZS5maWx0ZXI7bHQucHJvdG90eXBlLnNldFJhbmdlPWx0LnByb3RvdHlwZS5zZXRQYWlycztsdC5wcm90b3R5cGUuYWRkPWx0LnByb3RvdHlwZS5zZXQ7ZnVuY3Rpb24gQW4obil7bj09PXZvaWQgMCYmKG49ZnVuY3Rpb24oKXtyZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fSk7dmFyIGU9e25leHQ6bn07cmV0dXJuIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiYoZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxlfXZhciBQdT1mdW5jdGlvbigpe2Z1bmN0aW9uIG4oZSx0KXtlPT09dm9pZCAwJiYoZT1bXSksdGhpcy5rZXlzPWUsdGhpcy52YWx1ZXM9dHx8bWUsdGhpcy5pc1NoYXJlZD12b2lkIDB9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcXFwiaXNMZWFmXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW49PT12b2lkIDB9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksbi5wcm90b3R5cGUubWF4S2V5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMua2V5c1t0aGlzLmtleXMubGVuZ3RoLTFdfSxuLnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIHM9dGhpcy5rZXlzLGk9MCxvPXMubGVuZ3RoLGE9bz4+MTtpPG87KXt2YXIgdT1yKHNbYV0sZSk7aWYodTwwKWk9YSsxO2Vsc2UgaWYodT4wKW89YTtlbHNle2lmKHU9PT0wKXJldHVybiBhO2lmKGU9PT1lKXJldHVybiBzLmxlbmd0aDt0aHJvdyBuZXcgRXJyb3IoXFxcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcXFwiKX1hPWkrbz4+MX1yZXR1cm4gYV50fSxuLnByb3RvdHlwZS5taW5LZXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5rZXlzWzBdfSxuLnByb3RvdHlwZS5taW5QYWlyPWZ1bmN0aW9uKGUpe2lmKHRoaXMua2V5cy5sZW5ndGghPT0wKXJldHVybiBlWzBdPXRoaXMua2V5c1swXSxlWzFdPXRoaXMudmFsdWVzWzBdLGV9LG4ucHJvdG90eXBlLm1heFBhaXI9ZnVuY3Rpb24oZSl7aWYodGhpcy5rZXlzLmxlbmd0aCE9PTApe3ZhciB0PXRoaXMua2V5cy5sZW5ndGgtMTtyZXR1cm4gZVswXT10aGlzLmtleXNbdF0sZVsxXT10aGlzLnZhbHVlc1t0XSxlfX0sbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnZhbHVlcztyZXR1cm4gbmV3IG4odGhpcy5rZXlzLnNsaWNlKDApLGU9PT1tZT9lOmUuc2xpY2UoMCkpfSxuLnByb3RvdHlwZS5ncmVlZHlDbG9uZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc1NoYXJlZCYmIWU/dGhpczp0aGlzLmNsb25lKCl9LG4ucHJvdG90eXBlLmdldD1mdW5jdGlvbihlLHQscil7dmFyIHM9dGhpcy5pbmRleE9mKGUsLTEsci5fY29tcGFyZSk7cmV0dXJuIHM8MD90OnRoaXMudmFsdWVzW3NdfSxuLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0TG93ZXI9ZnVuY3Rpb24oZSx0LHIscyl7dmFyIGk9dGhpcy5pbmRleE9mKGUsLTEsdCksbz1pPDA/fmktMTpyP2k6aS0xO2lmKG8+PTApcmV0dXJuIHNbMF09dGhpcy5rZXlzW29dLHNbMV09dGhpcy52YWx1ZXNbb10sc30sbi5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlcj1mdW5jdGlvbihlLHQscixzKXt2YXIgaT10aGlzLmluZGV4T2YoZSwtMSx0KSxvPWk8MD9+aTpyP2k6aSsxLGE9dGhpcy5rZXlzO2lmKG88YS5sZW5ndGgpcmV0dXJuIHNbMF09YVtvXSxzWzFdPXRoaXMudmFsdWVzW29dLHN9LG4ucHJvdG90eXBlLmNoZWNrVmFsaWQ9ZnVuY3Rpb24oZSx0LHIpe3ZhciBzPXRoaXMua2V5cy5sZW5ndGgsaT10aGlzLnZhbHVlcy5sZW5ndGg7cmV0dXJuIExlKHRoaXMudmFsdWVzPT09bWU/czw9aTpzPT09aSxcXFwia2V5cy92YWx1ZXMgbGVuZ3RoIG1pc21hdGNoOiBkZXB0aFxcXCIsZSxcXFwid2l0aCBsZW5ndGhzXFxcIixzLGksXFxcImFuZCBiYXNlSW5kZXhcXFwiLHIpLExlKGU9PTB8fHM+MCxcXFwiZW1wdHkgbGVhZiBhdCBkZXB0aFxcXCIsZSxcXFwiYW5kIGJhc2VJbmRleFxcXCIsciksc30sbi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGUsdCxyLHMpe3ZhciBpPXRoaXMuaW5kZXhPZihlLC0xLHMuX2NvbXBhcmUpO2lmKGk8MCl7aWYoaT1+aSxzLl9zaXplKyssdGhpcy5rZXlzLmxlbmd0aDxzLl9tYXhOb2RlU2l6ZSlyZXR1cm4gdGhpcy5pbnNlcnRJbkxlYWYoaSxlLHQscyk7dmFyIG89dGhpcy5zcGxpdE9mZlJpZ2h0U2lkZSgpLGE9dGhpcztyZXR1cm4gaT50aGlzLmtleXMubGVuZ3RoJiYoaS09dGhpcy5rZXlzLmxlbmd0aCxhPW8pLGEuaW5zZXJ0SW5MZWFmKGksZSx0LHMpLG99ZWxzZSByZXR1cm4gciE9PSExJiYodCE9PXZvaWQgMCYmdGhpcy5yZWlmeVZhbHVlcygpLHRoaXMua2V5c1tpXT1lLHRoaXMudmFsdWVzW2ldPXQpLCExfSxuLnByb3RvdHlwZS5yZWlmeVZhbHVlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlcz09PW1lP3RoaXMudmFsdWVzPXRoaXMudmFsdWVzLnNsaWNlKDAsdGhpcy5rZXlzLmxlbmd0aCk6dGhpcy52YWx1ZXN9LG4ucHJvdG90eXBlLmluc2VydEluTGVhZj1mdW5jdGlvbihlLHQscixzKXtpZih0aGlzLmtleXMuc3BsaWNlKGUsMCx0KSx0aGlzLnZhbHVlcz09PW1lKXtmb3IoO21lLmxlbmd0aDxzLl9tYXhOb2RlU2l6ZTspbWUucHVzaCh2b2lkIDApO2lmKHI9PT12b2lkIDApcmV0dXJuITA7dGhpcy52YWx1ZXM9bWUuc2xpY2UoMCx0aGlzLmtleXMubGVuZ3RoLTEpfXJldHVybiB0aGlzLnZhbHVlcy5zcGxpY2UoZSwwLHIpLCEwfSxuLnByb3RvdHlwZS50YWtlRnJvbVJpZ2h0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMudmFsdWVzO2UudmFsdWVzPT09bWU/dCE9PW1lJiZ0LnB1c2godm9pZCAwKToodD10aGlzLnJlaWZ5VmFsdWVzKCksdC5wdXNoKGUudmFsdWVzLnNoaWZ0KCkpKSx0aGlzLmtleXMucHVzaChlLmtleXMuc2hpZnQoKSl9LG4ucHJvdG90eXBlLnRha2VGcm9tTGVmdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnZhbHVlcztlLnZhbHVlcz09PW1lP3QhPT1tZSYmdC51bnNoaWZ0KHZvaWQgMCk6KHQ9dGhpcy5yZWlmeVZhbHVlcygpLHQudW5zaGlmdChlLnZhbHVlcy5wb3AoKSkpLHRoaXMua2V5cy51bnNoaWZ0KGUua2V5cy5wb3AoKSl9LG4ucHJvdG90eXBlLnNwbGl0T2ZmUmlnaHRTaWRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5rZXlzLmxlbmd0aD4+MSx0PXRoaXMua2V5cy5zcGxpY2UoZSkscj10aGlzLnZhbHVlcz09PW1lP21lOnRoaXMudmFsdWVzLnNwbGljZShlKTtyZXR1cm4gbmV3IG4odCxyKX0sbi5wcm90b3R5cGUuZm9yUmFuZ2U9ZnVuY3Rpb24oZSx0LHIscyxpLG8sYSl7dmFyIHU9aS5fY29tcGFyZSxsLGY7aWYodD09PWUpe2lmKCFyfHwoZj0obD10aGlzLmluZGV4T2YoZSwtMSx1KSkrMSxsPDApKXJldHVybiBvfWVsc2UgbD10aGlzLmluZGV4T2YoZSwwLHUpLGY9dGhpcy5pbmRleE9mKHQsLTEsdSksZjwwP2Y9fmY6cj09PSEwJiZmKys7dmFyIGQ9dGhpcy5rZXlzLHA9dGhpcy52YWx1ZXM7aWYoYSE9PXZvaWQgMClmb3IodmFyIGg9bDtoPGY7aCsrKXt2YXIgYj1kW2hdLGc9YShiLHBbaF0sbysrKTtpZihnIT09dm9pZCAwKXtpZihzPT09ITApe2lmKGIhPT1kW2hdfHx0aGlzLmlzU2hhcmVkPT09ITApdGhyb3cgbmV3IEVycm9yKFxcXCJCVHJlZSBpbGxlZ2FsbHkgY2hhbmdlZCBvciBjbG9uZWQgaW4gZWRpdFJhbmdlXFxcIik7Zy5kZWxldGU/KHRoaXMua2V5cy5zcGxpY2UoaCwxKSx0aGlzLnZhbHVlcyE9PW1lJiZ0aGlzLnZhbHVlcy5zcGxpY2UoaCwxKSxpLl9zaXplLS0saC0tLGYtLSk6Zy5oYXNPd25Qcm9wZXJ0eShcXFwidmFsdWVcXFwiKSYmKHBbaF09Zy52YWx1ZSl9aWYoZy5icmVhayE9PXZvaWQgMClyZXR1cm4gZ319ZWxzZSBvKz1mLWw7cmV0dXJuIG99LG4ucHJvdG90eXBlLm1lcmdlU2libGluZz1mdW5jdGlvbihlLHQpe2lmKHRoaXMua2V5cy5wdXNoLmFwcGx5KHRoaXMua2V5cyxlLmtleXMpLHRoaXMudmFsdWVzPT09bWUpe2lmKGUudmFsdWVzPT09bWUpcmV0dXJuO3RoaXMudmFsdWVzPXRoaXMudmFsdWVzLnNsaWNlKDAsdGhpcy5rZXlzLmxlbmd0aCl9dGhpcy52YWx1ZXMucHVzaC5hcHBseSh0aGlzLnZhbHVlcyxlLnJlaWZ5VmFsdWVzKCkpfSxufSgpLHZmPWZ1bmN0aW9uKG4pe1NmKGUsbik7ZnVuY3Rpb24gZSh0LHIpe3ZhciBzPXRoaXM7aWYoIXIpe3I9W107Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspcltpXT10W2ldLm1heEtleSgpfXJldHVybiBzPW4uY2FsbCh0aGlzLHIpfHx0aGlzLHMuY2hpbGRyZW49dCxzfXJldHVybiBlLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLmNoaWxkcmVuLnNsaWNlKDApLHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdLmlzU2hhcmVkPSEwO3JldHVybiBuZXcgZSh0LHRoaXMua2V5cy5zbGljZSgwKSl9LGUucHJvdG90eXBlLmdyZWVkeUNsb25lPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaXNTaGFyZWQmJiF0KXJldHVybiB0aGlzO2Zvcih2YXIgcj1uZXcgZSh0aGlzLmNoaWxkcmVuLnNsaWNlKDApLHRoaXMua2V5cy5zbGljZSgwKSkscz0wO3M8ci5jaGlsZHJlbi5sZW5ndGg7cysrKXIuY2hpbGRyZW5bc109ci5jaGlsZHJlbltzXS5ncmVlZHlDbG9uZSh0KTtyZXR1cm4gcn0sZS5wcm90b3R5cGUubWluS2V5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW5bMF0ubWluS2V5KCl9LGUucHJvdG90eXBlLm1pblBhaXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2hpbGRyZW5bMF0ubWluUGFpcih0KX0sZS5wcm90b3R5cGUubWF4UGFpcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aC0xXS5tYXhQYWlyKHQpfSxlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCxyLHMpe3ZhciBpPXRoaXMuaW5kZXhPZih0LDAscy5fY29tcGFyZSksbz10aGlzLmNoaWxkcmVuO3JldHVybiBpPG8ubGVuZ3RoP29baV0uZ2V0KHQscixzKTp2b2lkIDB9LGUucHJvdG90eXBlLmdldFBhaXJPck5leHRMb3dlcj1mdW5jdGlvbih0LHIscyxpKXt2YXIgbz10aGlzLmluZGV4T2YodCwwLHIpLGE9dGhpcy5jaGlsZHJlbjtpZihvPj1hLmxlbmd0aClyZXR1cm4gdGhpcy5tYXhQYWlyKGkpO3ZhciB1PWFbb10uZ2V0UGFpck9yTmV4dExvd2VyKHQscixzLGkpO3JldHVybiB1PT09dm9pZCAwJiZvPjA/YVtvLTFdLm1heFBhaXIoaSk6dX0sZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlcj1mdW5jdGlvbih0LHIscyxpKXt2YXIgbz10aGlzLmluZGV4T2YodCwwLHIpLGE9dGhpcy5jaGlsZHJlbix1PWEubGVuZ3RoO2lmKCEobz49dSkpe3ZhciBsPWFbb10uZ2V0UGFpck9yTmV4dEhpZ2hlcih0LHIscyxpKTtyZXR1cm4gbD09PXZvaWQgMCYmbzx1LTE/YVtvKzFdLm1pblBhaXIoaSk6bH19LGUucHJvdG90eXBlLmNoZWNrVmFsaWQ9ZnVuY3Rpb24odCxyLHMpe3ZhciBpPXRoaXMua2V5cy5sZW5ndGgsbz10aGlzLmNoaWxkcmVuLmxlbmd0aDtMZShpPT09byxcXFwia2V5cy9jaGlsZHJlbiBsZW5ndGggbWlzbWF0Y2g6IGRlcHRoXFxcIix0LFxcXCJsZW5ndGhzXFxcIixpLG8sXFxcImJhc2VJbmRleFxcXCIscyksTGUoaT4xfHx0PjAsXFxcImludGVybmFsIG5vZGUgaGFzIGxlbmd0aFxcXCIsaSxcXFwiYXQgZGVwdGhcXFwiLHQsXFxcImJhc2VJbmRleFxcXCIscyk7Zm9yKHZhciBhPTAsdT10aGlzLmNoaWxkcmVuLGw9dGhpcy5rZXlzLGY9MCxkPTA7ZDxvO2QrKylhKz11W2RdLmNoZWNrVmFsaWQodCsxLHIscythKSxmKz11W2RdLmtleXMubGVuZ3RoLExlKGE+PWYsXFxcInd0ZlxcXCIscyksTGUoZD09PTB8fHVbZC0xXS5jb25zdHJ1Y3Rvcj09PXVbZF0uY29uc3RydWN0b3IsXFxcInR5cGUgbWlzbWF0Y2gsIGJhc2VJbmRleDpcXFwiLHMpLHVbZF0ubWF4S2V5KCkhPWxbZF0mJkxlKCExLFxcXCJrZXlzW1xcXCIsZCxcXFwiXSA9XFxcIixsW2RdLFxcXCJpcyB3cm9uZywgc2hvdWxkIGJlIFxcXCIsdVtkXS5tYXhLZXkoKSxcXFwiYXQgZGVwdGhcXFwiLHQsXFxcImJhc2VJbmRleFxcXCIscyksZD09PTB8fHIuX2NvbXBhcmUobFtkLTFdLGxbZF0pPDB8fExlKCExLFxcXCJzb3J0IHZpb2xhdGlvbiBhdCBkZXB0aFxcXCIsdCxcXFwiaW5kZXhcXFwiLGQsXFxcImtleXNcXFwiLGxbZC0xXSxsW2RdKTt2YXIgcD1mPT09MDtyZXR1cm4ocHx8Zj5yLm1heE5vZGVTaXplKm8pJiZMZSghMSxwP1xcXCJ0b28gZmV3XFxcIjpcXFwidG9vIG1hbnlcXFwiLFxcXCJjaGlsZHJlbiAoXFxcIixmLGEsXFxcIikgYXQgZGVwdGhcXFwiLHQsXFxcIm1heE5vZGVTaXplOlxcXCIsci5tYXhOb2RlU2l6ZSxcXFwiY2hpbGRyZW4ubGVuZ3RoOlxcXCIsbyxcXFwiYmFzZUluZGV4OlxcXCIscyksYX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQscixzLGkpe3ZhciBvPXRoaXMuY2hpbGRyZW4sYT1pLl9tYXhOb2RlU2l6ZSx1PWkuX2NvbXBhcmUsbD1NYXRoLm1pbih0aGlzLmluZGV4T2YodCwwLHUpLG8ubGVuZ3RoLTEpLGY9b1tsXTtpZihmLmlzU2hhcmVkJiYob1tsXT1mPWYuY2xvbmUoKSksZi5rZXlzLmxlbmd0aD49YSl7dmFyIGQ7bD4wJiYoZD1vW2wtMV0pLmtleXMubGVuZ3RoPGEmJnUoZi5rZXlzWzBdLHQpPDA/KGQuaXNTaGFyZWQmJihvW2wtMV09ZD1kLmNsb25lKCkpLGQudGFrZUZyb21SaWdodChmKSx0aGlzLmtleXNbbC0xXT1kLm1heEtleSgpKTooZD1vW2wrMV0pIT09dm9pZCAwJiZkLmtleXMubGVuZ3RoPGEmJnUoZi5tYXhLZXkoKSx0KTwwJiYoZC5pc1NoYXJlZCYmKG9bbCsxXT1kPWQuY2xvbmUoKSksZC50YWtlRnJvbUxlZnQoZiksdGhpcy5rZXlzW2xdPW9bbF0ubWF4S2V5KCkpfXZhciBwPWYuc2V0KHQscixzLGkpO2lmKHA9PT0hMSlyZXR1cm4hMTtpZih0aGlzLmtleXNbbF09Zi5tYXhLZXkoKSxwPT09ITApcmV0dXJuITA7aWYodGhpcy5rZXlzLmxlbmd0aDxhKXJldHVybiB0aGlzLmluc2VydChsKzEscCksITA7dmFyIGg9dGhpcy5zcGxpdE9mZlJpZ2h0U2lkZSgpLGI9dGhpcztyZXR1cm4gdShwLm1heEtleSgpLHRoaXMubWF4S2V5KCkpPjAmJihiPWgsbC09dGhpcy5rZXlzLmxlbmd0aCksYi5pbnNlcnQobCsxLHApLGh9LGUucHJvdG90eXBlLmluc2VydD1mdW5jdGlvbih0LHIpe3RoaXMuY2hpbGRyZW4uc3BsaWNlKHQsMCxyKSx0aGlzLmtleXMuc3BsaWNlKHQsMCxyLm1heEtleSgpKX0sZS5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNoaWxkcmVuLmxlbmd0aD4+MTtyZXR1cm4gbmV3IGUodGhpcy5jaGlsZHJlbi5zcGxpY2UodCksdGhpcy5rZXlzLnNwbGljZSh0KSl9LGUucHJvdG90eXBlLnRha2VGcm9tUmlnaHQ9ZnVuY3Rpb24odCl7dGhpcy5rZXlzLnB1c2godC5rZXlzLnNoaWZ0KCkpLHRoaXMuY2hpbGRyZW4ucHVzaCh0LmNoaWxkcmVuLnNoaWZ0KCkpfSxlLnByb3RvdHlwZS50YWtlRnJvbUxlZnQ9ZnVuY3Rpb24odCl7dGhpcy5rZXlzLnVuc2hpZnQodC5rZXlzLnBvcCgpKSx0aGlzLmNoaWxkcmVuLnVuc2hpZnQodC5jaGlsZHJlbi5wb3AoKSl9LGUucHJvdG90eXBlLmZvclJhbmdlPWZ1bmN0aW9uKHQscixzLGksbyxhLHUpe3ZhciBsPW8uX2NvbXBhcmUsZj10aGlzLmtleXMsZD10aGlzLmNoaWxkcmVuLHA9dGhpcy5pbmRleE9mKHQsMCxsKSxoPXAsYj1NYXRoLm1pbihyPT09dD9wOnRoaXMuaW5kZXhPZihyLDAsbCksZi5sZW5ndGgtMSk7aWYoaSl7aWYoaDw9Yil0cnl7Zm9yKDtoPD1iO2grKyl7ZFtoXS5pc1NoYXJlZCYmKGRbaF09ZFtoXS5jbG9uZSgpKTt2YXIgZz1kW2hdLmZvclJhbmdlKHQscixzLGksbyxhLHUpO2lmKGZbaF09ZFtoXS5tYXhLZXkoKSx0eXBlb2YgZyE9XFxcIm51bWJlclxcXCIpcmV0dXJuIGc7YT1nfX1maW5hbGx5e3ZhciBEPW8uX21heE5vZGVTaXplPj4xO2ZvcihwPjAmJnAtLSxoPWI7aD49cDtoLS0pZFtoXS5rZXlzLmxlbmd0aDw9RCYmKGRbaF0ua2V5cy5sZW5ndGghPT0wP3RoaXMudHJ5TWVyZ2UoaCxvLl9tYXhOb2RlU2l6ZSk6KGYuc3BsaWNlKGgsMSksZC5zcGxpY2UoaCwxKSkpO2QubGVuZ3RoIT09MCYmZFswXS5rZXlzLmxlbmd0aD09PTAmJkxlKCExLFxcXCJlbXB0aW5lc3MgYnVnXFxcIil9fWVsc2UgZm9yKDtoPD1iO2grKyl7dmFyIGc9ZFtoXS5mb3JSYW5nZSh0LHIscyxpLG8sYSx1KTtpZih0eXBlb2YgZyE9XFxcIm51bWJlclxcXCIpcmV0dXJuIGc7YT1nfXJldHVybiBhfSxlLnByb3RvdHlwZS50cnlNZXJnZT1mdW5jdGlvbih0LHIpe3ZhciBzPXRoaXMuY2hpbGRyZW47cmV0dXJuIHQ+PTAmJnQrMTxzLmxlbmd0aCYmc1t0XS5rZXlzLmxlbmd0aCtzW3QrMV0ua2V5cy5sZW5ndGg8PXI/KHNbdF0uaXNTaGFyZWQmJihzW3RdPXNbdF0uY2xvbmUoKSksc1t0XS5tZXJnZVNpYmxpbmcoc1t0KzFdLHIpLHMuc3BsaWNlKHQrMSwxKSx0aGlzLmtleXMuc3BsaWNlKHQrMSwxKSx0aGlzLmtleXNbdF09c1t0XS5tYXhLZXkoKSwhMCk6ITF9LGUucHJvdG90eXBlLm1lcmdlU2libGluZz1mdW5jdGlvbih0LHIpe3ZhciBzPXRoaXMua2V5cy5sZW5ndGg7dGhpcy5rZXlzLnB1c2guYXBwbHkodGhpcy5rZXlzLHQua2V5cyk7dmFyIGk9dC5jaGlsZHJlbjtpZih0aGlzLmNoaWxkcmVuLnB1c2guYXBwbHkodGhpcy5jaGlsZHJlbixpKSx0LmlzU2hhcmVkJiYhdGhpcy5pc1NoYXJlZClmb3IodmFyIG89MDtvPGkubGVuZ3RoO28rKylpW29dLmlzU2hhcmVkPSEwO3RoaXMudHJ5TWVyZ2Uocy0xLHIpfSxlfShQdSksbWU9W10sJHU9e2RlbGV0ZTohMH0sTXU9ZnVuY3Rpb24oKXtyZXR1cm4gJHV9LE9mPXticmVhazohMH0sZm89ZnVuY3Rpb24oKXt2YXIgbj1uZXcgUHU7cmV0dXJuIG4uaXNTaGFyZWQ9ITAsbn0oKSxfdT1bXSxNcj1bXTtmdW5jdGlvbiBMZShuKXtmb3IodmFyIGU9W10sdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0LTFdPWFyZ3VtZW50c1t0XTtpZighbil0aHJvdyBlLnVuc2hpZnQoXFxcIkIrIHRyZWVcXFwiKSxuZXcgRXJyb3IoZS5qb2luKFxcXCIgXFxcIikpfU5lLkVtcHR5QlRyZWU9ZnVuY3Rpb24oKXt2YXIgbj1uZXcgbHQ7cmV0dXJuIG4uZnJlZXplKCksbn0oKX0pO3ZhciBwdD1jbGFzcyBleHRlbmRzIEVycm9ye30sVXI9Y2xhc3MgZXh0ZW5kcyBwdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihgSW52YWxpZCBEYXRlVGltZTogJHtlLnRvTWVzc2FnZSgpfWApfX0sS3I9Y2xhc3MgZXh0ZW5kcyBwdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihgSW52YWxpZCBJbnRlcnZhbDogJHtlLnRvTWVzc2FnZSgpfWApfX0sV3I9Y2xhc3MgZXh0ZW5kcyBwdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihgSW52YWxpZCBEdXJhdGlvbjogJHtlLnRvTWVzc2FnZSgpfWApfX0sbXQ9Y2xhc3MgZXh0ZW5kcyBwdHt9LHNuPWNsYXNzIGV4dGVuZHMgcHR7Y29uc3RydWN0b3IoZSl7c3VwZXIoYEludmFsaWQgdW5pdCAke2V9YCl9fSxmZT1jbGFzcyBleHRlbmRzIHB0e30samU9Y2xhc3MgZXh0ZW5kcyBwdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKFxcXCJab25lIGlzIGFuIGFic3RyYWN0IGNsYXNzXFxcIil9fTt2YXIgXz1cXFwibnVtZXJpY1xcXCIscWU9XFxcInNob3J0XFxcIixPZT1cXFwibG9uZ1xcXCIsb249e3llYXI6Xyxtb250aDpfLGRheTpffSwkbj17eWVhcjpfLG1vbnRoOnFlLGRheTpffSxHcz17eWVhcjpfLG1vbnRoOnFlLGRheTpfLHdlZWtkYXk6cWV9LFJuPXt5ZWFyOl8sbW9udGg6T2UsZGF5Ol99LGpuPXt5ZWFyOl8sbW9udGg6T2UsZGF5Ol8sd2Vla2RheTpPZX0scW49e2hvdXI6XyxtaW51dGU6X30sVm49e2hvdXI6XyxtaW51dGU6XyxzZWNvbmQ6X30sVW49e2hvdXI6XyxtaW51dGU6XyxzZWNvbmQ6Xyx0aW1lWm9uZU5hbWU6cWV9LEtuPXtob3VyOl8sbWludXRlOl8sc2Vjb25kOl8sdGltZVpvbmVOYW1lOk9lfSxXbj17aG91cjpfLG1pbnV0ZTpfLGhvdXJDeWNsZTpcXFwiaDIzXFxcIn0sSG49e2hvdXI6XyxtaW51dGU6XyxzZWNvbmQ6Xyxob3VyQ3ljbGU6XFxcImgyM1xcXCJ9LEpuPXtob3VyOl8sbWludXRlOl8sc2Vjb25kOl8saG91ckN5Y2xlOlxcXCJoMjNcXFwiLHRpbWVab25lTmFtZTpxZX0sem49e2hvdXI6XyxtaW51dGU6XyxzZWNvbmQ6Xyxob3VyQ3ljbGU6XFxcImgyM1xcXCIsdGltZVpvbmVOYW1lOk9lfSxZbj17eWVhcjpfLG1vbnRoOl8sZGF5Ol8saG91cjpfLG1pbnV0ZTpffSxHbj17eWVhcjpfLG1vbnRoOl8sZGF5Ol8saG91cjpfLG1pbnV0ZTpfLHNlY29uZDpffSxabj17eWVhcjpfLG1vbnRoOnFlLGRheTpfLGhvdXI6XyxtaW51dGU6X30sUW49e3llYXI6Xyxtb250aDpxZSxkYXk6Xyxob3VyOl8sbWludXRlOl8sc2Vjb25kOl99LFpzPXt5ZWFyOl8sbW9udGg6cWUsZGF5Ol8sd2Vla2RheTpxZSxob3VyOl8sbWludXRlOl99LFhuPXt5ZWFyOl8sbW9udGg6T2UsZGF5Ol8saG91cjpfLG1pbnV0ZTpfLHRpbWVab25lTmFtZTpxZX0sZXI9e3llYXI6Xyxtb250aDpPZSxkYXk6Xyxob3VyOl8sbWludXRlOl8sc2Vjb25kOl8sdGltZVpvbmVOYW1lOnFlfSx0cj17eWVhcjpfLG1vbnRoOk9lLGRheTpfLHdlZWtkYXk6T2UsaG91cjpfLG1pbnV0ZTpfLHRpbWVab25lTmFtZTpPZX0sbnI9e3llYXI6Xyxtb250aDpPZSxkYXk6Xyx3ZWVrZGF5Ok9lLGhvdXI6XyxtaW51dGU6XyxzZWNvbmQ6Xyx0aW1lWm9uZU5hbWU6T2V9O2Z1bmN0aW9uIFcobil7cmV0dXJuIHR5cGVvZiBuPT1cXFwidW5kZWZpbmVkXFxcIn1mdW5jdGlvbiB0dChuKXtyZXR1cm4gdHlwZW9mIG49PVxcXCJudW1iZXJcXFwifWZ1bmN0aW9uIHJyKG4pe3JldHVybiB0eXBlb2Ygbj09XFxcIm51bWJlclxcXCImJm4lMT09PTB9ZnVuY3Rpb24gQm8obil7cmV0dXJuIHR5cGVvZiBuPT1cXFwic3RyaW5nXFxcIn1mdW5jdGlvbiBQbyhuKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG4pPT09XFxcIltvYmplY3QgRGF0ZV1cXFwifWZ1bmN0aW9uIEhyKCl7dHJ5e3JldHVybiB0eXBlb2YgSW50bCE9XFxcInVuZGVmaW5lZFxcXCImJiEhSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXR9Y2F0Y2gobil7cmV0dXJuITF9fWZ1bmN0aW9uICRvKG4pe3JldHVybiBBcnJheS5pc0FycmF5KG4pP246W25dfWZ1bmN0aW9uIFhzKG4sZSx0KXtpZihuLmxlbmd0aCE9PTApcmV0dXJuIG4ucmVkdWNlKChyLHMpPT57bGV0IGk9W2Uocyksc107cmV0dXJuIHImJnQoclswXSxpWzBdKT09PXJbMF0/cjppfSxudWxsKVsxXX1mdW5jdGlvbiBSbyhuLGUpe3JldHVybiBlLnJlZHVjZSgodCxyKT0+KHRbcl09bltyXSx0KSx7fSl9ZnVuY3Rpb24ga3QobixlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sZSl9ZnVuY3Rpb24gbnQobixlLHQpe3JldHVybiBycihuKSYmbj49ZSYmbjw9dH1mdW5jdGlvbiBibChuLGUpe3JldHVybiBuLWUqTWF0aC5mbG9vcihuL2UpfWZ1bmN0aW9uIHJlKG4sZT0yKXtsZXQgdD1uPDAscjtyZXR1cm4gdD9yPVxcXCItXFxcIisoXFxcIlxcXCIrLW4pLnBhZFN0YXJ0KGUsXFxcIjBcXFwiKTpyPShcXFwiXFxcIituKS5wYWRTdGFydChlLFxcXCIwXFxcIikscn1mdW5jdGlvbiBEdChuKXtpZighKFcobil8fG49PT1udWxsfHxuPT09XFxcIlxcXCIpKXJldHVybiBwYXJzZUludChuLDEwKX1mdW5jdGlvbiBDdChuKXtpZighKFcobil8fG49PT1udWxsfHxuPT09XFxcIlxcXCIpKXJldHVybiBwYXJzZUZsb2F0KG4pfWZ1bmN0aW9uIHNyKG4pe2lmKCEoVyhuKXx8bj09PW51bGx8fG49PT1cXFwiXFxcIikpe2xldCBlPXBhcnNlRmxvYXQoXFxcIjAuXFxcIituKSoxZTM7cmV0dXJuIE1hdGguZmxvb3IoZSl9fWZ1bmN0aW9uIGFuKG4sZSx0PSExKXtsZXQgcj0xMCoqZTtyZXR1cm4odD9NYXRoLnRydW5jOk1hdGgucm91bmQpKG4qcikvcn1mdW5jdGlvbiBqdChuKXtyZXR1cm4gbiU0PT09MCYmKG4lMTAwIT09MHx8biU0MDA9PT0wKX1mdW5jdGlvbiBxdChuKXtyZXR1cm4ganQobik/MzY2OjM2NX1mdW5jdGlvbiB1bihuLGUpe2xldCB0PWJsKGUtMSwxMikrMSxyPW4rKGUtdCkvMTI7cmV0dXJuIHQ9PT0yP2p0KHIpPzI5OjI4OlszMSxudWxsLDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXVt0LTFdfWZ1bmN0aW9uIGlyKG4pe2xldCBlPURhdGUuVVRDKG4ueWVhcixuLm1vbnRoLTEsbi5kYXksbi5ob3VyLG4ubWludXRlLG4uc2Vjb25kLG4ubWlsbGlzZWNvbmQpO3JldHVybiBuLnllYXI8MTAwJiZuLnllYXI+PTAmJihlPW5ldyBEYXRlKGUpLGUuc2V0VVRDRnVsbFllYXIoZS5nZXRVVENGdWxsWWVhcigpLTE5MDApKSwrZX1mdW5jdGlvbiBsbihuKXtsZXQgZT0obitNYXRoLmZsb29yKG4vNCktTWF0aC5mbG9vcihuLzEwMCkrTWF0aC5mbG9vcihuLzQwMCkpJTcsdD1uLTEscj0odCtNYXRoLmZsb29yKHQvNCktTWF0aC5mbG9vcih0LzEwMCkrTWF0aC5mbG9vcih0LzQwMCkpJTc7cmV0dXJuIGU9PT00fHxyPT09Mz81Mzo1Mn1mdW5jdGlvbiBvcihuKXtyZXR1cm4gbj45OT9uOm4+NjA/MTkwMCtuOjJlMytufWZ1bmN0aW9uIEpyKG4sZSx0LHI9bnVsbCl7bGV0IHM9bmV3IERhdGUobiksaT17aG91ckN5Y2xlOlxcXCJoMjNcXFwiLHllYXI6XFxcIm51bWVyaWNcXFwiLG1vbnRoOlxcXCIyLWRpZ2l0XFxcIixkYXk6XFxcIjItZGlnaXRcXFwiLGhvdXI6XFxcIjItZGlnaXRcXFwiLG1pbnV0ZTpcXFwiMi1kaWdpdFxcXCJ9O3ImJihpLnRpbWVab25lPXIpO2xldCBvPVIoe3RpbWVab25lTmFtZTplfSxpKSxhPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHQsbykuZm9ybWF0VG9QYXJ0cyhzKS5maW5kKHU9PnUudHlwZS50b0xvd2VyQ2FzZSgpPT09XFxcInRpbWV6b25lbmFtZVxcXCIpO3JldHVybiBhP2EudmFsdWU6bnVsbH1mdW5jdGlvbiBWdChuLGUpe2xldCB0PXBhcnNlSW50KG4sMTApO051bWJlci5pc05hTih0KSYmKHQ9MCk7bGV0IHI9cGFyc2VJbnQoZSwxMCl8fDAscz10PDB8fE9iamVjdC5pcyh0LC0wKT8tcjpyO3JldHVybiB0KjYwK3N9ZnVuY3Rpb24gZWkobil7bGV0IGU9TnVtYmVyKG4pO2lmKHR5cGVvZiBuPT1cXFwiYm9vbGVhblxcXCJ8fG49PT1cXFwiXFxcInx8TnVtYmVyLmlzTmFOKGUpKXRocm93IG5ldyBmZShgSW52YWxpZCB1bml0IHZhbHVlICR7bn1gKTtyZXR1cm4gZX1mdW5jdGlvbiBjbihuLGUpe2xldCB0PXt9O2ZvcihsZXQgciBpbiBuKWlmKGt0KG4scikpe2xldCBzPW5bcl07aWYocz09bnVsbCljb250aW51ZTt0W2UocildPWVpKHMpfXJldHVybiB0fWZ1bmN0aW9uIHZ0KG4sZSl7bGV0IHQ9TWF0aC50cnVuYyhNYXRoLmFicyhuLzYwKSkscj1NYXRoLnRydW5jKE1hdGguYWJzKG4lNjApKSxzPW4+PTA/XFxcIitcXFwiOlxcXCItXFxcIjtzd2l0Y2goZSl7Y2FzZVxcXCJzaG9ydFxcXCI6cmV0dXJuYCR7c30ke3JlKHQsMil9OiR7cmUociwyKX1gO2Nhc2VcXFwibmFycm93XFxcIjpyZXR1cm5gJHtzfSR7dH0ke3I+MD9gOiR7cn1gOlxcXCJcXFwifWA7Y2FzZVxcXCJ0ZWNoaWVcXFwiOnJldHVybmAke3N9JHtyZSh0LDIpfSR7cmUociwyKX1gO2RlZmF1bHQ6dGhyb3cgbmV3IFJhbmdlRXJyb3IoYFZhbHVlIGZvcm1hdCAke2V9IGlzIG91dCBvZiByYW5nZSBmb3IgcHJvcGVydHkgZm9ybWF0YCl9fWZ1bmN0aW9uIGFyKG4pe3JldHVybiBSbyhuLFtcXFwiaG91clxcXCIsXFxcIm1pbnV0ZVxcXCIsXFxcInNlY29uZFxcXCIsXFxcIm1pbGxpc2Vjb25kXFxcIl0pfXZhciB0aT0vW0EtWmEtel8rLV17MSwyNTZ9KD86Oj9cXFxcL1tBLVphLXowLTlfKy1dezEsMjU2fSg/OlxcXFwvW0EtWmEtejAtOV8rLV17MSwyNTZ9KT8pPy87dmFyIEZsPVtcXFwiSmFudWFyeVxcXCIsXFxcIkZlYnJ1YXJ5XFxcIixcXFwiTWFyY2hcXFwiLFxcXCJBcHJpbFxcXCIsXFxcIk1heVxcXCIsXFxcIkp1bmVcXFwiLFxcXCJKdWx5XFxcIixcXFwiQXVndXN0XFxcIixcXFwiU2VwdGVtYmVyXFxcIixcXFwiT2N0b2JlclxcXCIsXFxcIk5vdmVtYmVyXFxcIixcXFwiRGVjZW1iZXJcXFwiXSxuaT1bXFxcIkphblxcXCIsXFxcIkZlYlxcXCIsXFxcIk1hclxcXCIsXFxcIkFwclxcXCIsXFxcIk1heVxcXCIsXFxcIkp1blxcXCIsXFxcIkp1bFxcXCIsXFxcIkF1Z1xcXCIsXFxcIlNlcFxcXCIsXFxcIk9jdFxcXCIsXFxcIk5vdlxcXCIsXFxcIkRlY1xcXCJdLEVsPVtcXFwiSlxcXCIsXFxcIkZcXFwiLFxcXCJNXFxcIixcXFwiQVxcXCIsXFxcIk1cXFwiLFxcXCJKXFxcIixcXFwiSlxcXCIsXFxcIkFcXFwiLFxcXCJTXFxcIixcXFwiT1xcXCIsXFxcIk5cXFwiLFxcXCJEXFxcIl07ZnVuY3Rpb24gcmkobil7c3dpdGNoKG4pe2Nhc2VcXFwibmFycm93XFxcIjpyZXR1cm5bLi4uRWxdO2Nhc2VcXFwic2hvcnRcXFwiOnJldHVyblsuLi5uaV07Y2FzZVxcXCJsb25nXFxcIjpyZXR1cm5bLi4uRmxdO2Nhc2VcXFwibnVtZXJpY1xcXCI6cmV0dXJuW1xcXCIxXFxcIixcXFwiMlxcXCIsXFxcIjNcXFwiLFxcXCI0XFxcIixcXFwiNVxcXCIsXFxcIjZcXFwiLFxcXCI3XFxcIixcXFwiOFxcXCIsXFxcIjlcXFwiLFxcXCIxMFxcXCIsXFxcIjExXFxcIixcXFwiMTJcXFwiXTtjYXNlXFxcIjItZGlnaXRcXFwiOnJldHVybltcXFwiMDFcXFwiLFxcXCIwMlxcXCIsXFxcIjAzXFxcIixcXFwiMDRcXFwiLFxcXCIwNVxcXCIsXFxcIjA2XFxcIixcXFwiMDdcXFwiLFxcXCIwOFxcXCIsXFxcIjA5XFxcIixcXFwiMTBcXFwiLFxcXCIxMVxcXCIsXFxcIjEyXFxcIl07ZGVmYXVsdDpyZXR1cm4gbnVsbH19dmFyIHNpPVtcXFwiTW9uZGF5XFxcIixcXFwiVHVlc2RheVxcXCIsXFxcIldlZG5lc2RheVxcXCIsXFxcIlRodXJzZGF5XFxcIixcXFwiRnJpZGF5XFxcIixcXFwiU2F0dXJkYXlcXFwiLFxcXCJTdW5kYXlcXFwiXSxpaT1bXFxcIk1vblxcXCIsXFxcIlR1ZVxcXCIsXFxcIldlZFxcXCIsXFxcIlRodVxcXCIsXFxcIkZyaVxcXCIsXFxcIlNhdFxcXCIsXFxcIlN1blxcXCJdLHdsPVtcXFwiTVxcXCIsXFxcIlRcXFwiLFxcXCJXXFxcIixcXFwiVFxcXCIsXFxcIkZcXFwiLFxcXCJTXFxcIixcXFwiU1xcXCJdO2Z1bmN0aW9uIG9pKG4pe3N3aXRjaChuKXtjYXNlXFxcIm5hcnJvd1xcXCI6cmV0dXJuWy4uLndsXTtjYXNlXFxcInNob3J0XFxcIjpyZXR1cm5bLi4uaWldO2Nhc2VcXFwibG9uZ1xcXCI6cmV0dXJuWy4uLnNpXTtjYXNlXFxcIm51bWVyaWNcXFwiOnJldHVybltcXFwiMVxcXCIsXFxcIjJcXFwiLFxcXCIzXFxcIixcXFwiNFxcXCIsXFxcIjVcXFwiLFxcXCI2XFxcIixcXFwiN1xcXCJdO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXZhciBhaT1bXFxcIkFNXFxcIixcXFwiUE1cXFwiXSxUbD1bXFxcIkJlZm9yZSBDaHJpc3RcXFwiLFxcXCJBbm5vIERvbWluaVxcXCJdLFNsPVtcXFwiQkNcXFwiLFxcXCJBRFxcXCJdLGtsPVtcXFwiQlxcXCIsXFxcIkFcXFwiXTtmdW5jdGlvbiB1aShuKXtzd2l0Y2gobil7Y2FzZVxcXCJuYXJyb3dcXFwiOnJldHVyblsuLi5rbF07Y2FzZVxcXCJzaG9ydFxcXCI6cmV0dXJuWy4uLlNsXTtjYXNlXFxcImxvbmdcXFwiOnJldHVyblsuLi5UbF07ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gam8obil7cmV0dXJuIGFpW24uaG91cjwxMj8wOjFdfWZ1bmN0aW9uIHFvKG4sZSl7cmV0dXJuIG9pKGUpW24ud2Vla2RheS0xXX1mdW5jdGlvbiBWbyhuLGUpe3JldHVybiByaShlKVtuLm1vbnRoLTFdfWZ1bmN0aW9uIFVvKG4sZSl7cmV0dXJuIHVpKGUpW24ueWVhcjwwPzA6MV19ZnVuY3Rpb24gS28obixlLHQ9XFxcImFsd2F5c1xcXCIscj0hMSl7bGV0IHM9e3llYXJzOltcXFwieWVhclxcXCIsXFxcInlyLlxcXCJdLHF1YXJ0ZXJzOltcXFwicXVhcnRlclxcXCIsXFxcInF0ci5cXFwiXSxtb250aHM6W1xcXCJtb250aFxcXCIsXFxcIm1vLlxcXCJdLHdlZWtzOltcXFwid2Vla1xcXCIsXFxcIndrLlxcXCJdLGRheXM6W1xcXCJkYXlcXFwiLFxcXCJkYXlcXFwiLFxcXCJkYXlzXFxcIl0saG91cnM6W1xcXCJob3VyXFxcIixcXFwiaHIuXFxcIl0sbWludXRlczpbXFxcIm1pbnV0ZVxcXCIsXFxcIm1pbi5cXFwiXSxzZWNvbmRzOltcXFwic2Vjb25kXFxcIixcXFwic2VjLlxcXCJdfSxpPVtcXFwiaG91cnNcXFwiLFxcXCJtaW51dGVzXFxcIixcXFwic2Vjb25kc1xcXCJdLmluZGV4T2Yobik9PT0tMTtpZih0PT09XFxcImF1dG9cXFwiJiZpKXtsZXQgZD1uPT09XFxcImRheXNcXFwiO3N3aXRjaChlKXtjYXNlIDE6cmV0dXJuIGQ/XFxcInRvbW9ycm93XFxcIjpgbmV4dCAke3Nbbl1bMF19YDtjYXNlLTE6cmV0dXJuIGQ/XFxcInllc3RlcmRheVxcXCI6YGxhc3QgJHtzW25dWzBdfWA7Y2FzZSAwOnJldHVybiBkP1xcXCJ0b2RheVxcXCI6YHRoaXMgJHtzW25dWzBdfWA7ZGVmYXVsdDp9fWxldCBvPU9iamVjdC5pcyhlLC0wKXx8ZTwwLGE9TWF0aC5hYnMoZSksdT1hPT09MSxsPXNbbl0sZj1yP3U/bFsxXTpsWzJdfHxsWzFdOnU/c1tuXVswXTpuO3JldHVybiBvP2Ake2F9ICR7Zn0gYWdvYDpgaW4gJHthfSAke2Z9YH1mdW5jdGlvbiBXbyhuLGUpe2xldCB0PVxcXCJcXFwiO2ZvcihsZXQgciBvZiBuKXIubGl0ZXJhbD90Kz1yLnZhbDp0Kz1lKHIudmFsKTtyZXR1cm4gdH12YXIgQ2w9e0Q6b24sREQ6JG4sREREOlJuLEREREQ6am4sdDpxbix0dDpWbix0dHQ6VW4sdHR0dDpLbixUOlduLFRUOkhuLFRUVDpKbixUVFRUOnpuLGY6WW4sZmY6Wm4sZmZmOlhuLGZmZmY6dHIsRjpHbixGRjpRbixGRkY6ZXIsRkZGRjpucn0sd2U9Y2xhc3MgbntzdGF0aWMgY3JlYXRlKGUsdD17fSl7cmV0dXJuIG5ldyBuKGUsdCl9c3RhdGljIHBhcnNlRm9ybWF0KGUpe2xldCB0PW51bGwscj1cXFwiXFxcIixzPSExLGk9W107Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2xldCBhPWUuY2hhckF0KG8pO2E9PT1cXFwiJ1xcXCI/KHIubGVuZ3RoPjAmJmkucHVzaCh7bGl0ZXJhbDpzLHZhbDpyfSksdD1udWxsLHI9XFxcIlxcXCIscz0hcyk6c3x8YT09PXQ/cis9YTooci5sZW5ndGg+MCYmaS5wdXNoKHtsaXRlcmFsOiExLHZhbDpyfSkscj1hLHQ9YSl9cmV0dXJuIHIubGVuZ3RoPjAmJmkucHVzaCh7bGl0ZXJhbDpzLHZhbDpyfSksaX1zdGF0aWMgbWFjcm9Ub2tlblRvRm9ybWF0T3B0cyhlKXtyZXR1cm4gQ2xbZV19Y29uc3RydWN0b3IoZSx0KXt0aGlzLm9wdHM9dCx0aGlzLmxvYz1lLHRoaXMuc3lzdGVtTG9jPW51bGx9Zm9ybWF0V2l0aFN5c3RlbURlZmF1bHQoZSx0KXtyZXR1cm4gdGhpcy5zeXN0ZW1Mb2M9PT1udWxsJiYodGhpcy5zeXN0ZW1Mb2M9dGhpcy5sb2MucmVkZWZhdWx0VG9TeXN0ZW0oKSksdGhpcy5zeXN0ZW1Mb2MuZHRGb3JtYXR0ZXIoZSxSKFIoe30sdGhpcy5vcHRzKSx0KSkuZm9ybWF0KCl9Zm9ybWF0RGF0ZVRpbWUoZSx0PXt9KXtyZXR1cm4gdGhpcy5sb2MuZHRGb3JtYXR0ZXIoZSxSKFIoe30sdGhpcy5vcHRzKSx0KSkuZm9ybWF0KCl9Zm9ybWF0RGF0ZVRpbWVQYXJ0cyhlLHQ9e30pe3JldHVybiB0aGlzLmxvYy5kdEZvcm1hdHRlcihlLFIoUih7fSx0aGlzLm9wdHMpLHQpKS5mb3JtYXRUb1BhcnRzKCl9cmVzb2x2ZWRPcHRpb25zKGUsdD17fSl7cmV0dXJuIHRoaXMubG9jLmR0Rm9ybWF0dGVyKGUsUihSKHt9LHRoaXMub3B0cyksdCkpLnJlc29sdmVkT3B0aW9ucygpfW51bShlLHQ9MCl7aWYodGhpcy5vcHRzLmZvcmNlU2ltcGxlKXJldHVybiByZShlLHQpO2xldCByPVIoe30sdGhpcy5vcHRzKTtyZXR1cm4gdD4wJiYoci5wYWRUbz10KSx0aGlzLmxvYy5udW1iZXJGb3JtYXR0ZXIocikuZm9ybWF0KGUpfWZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhlLHQpe2xldCByPXRoaXMubG9jLmxpc3RpbmdNb2RlKCk9PT1cXFwiZW5cXFwiLHM9dGhpcy5sb2Mub3V0cHV0Q2FsZW5kYXImJnRoaXMubG9jLm91dHB1dENhbGVuZGFyIT09XFxcImdyZWdvcnlcXFwiLGk9KGgsYik9PnRoaXMubG9jLmV4dHJhY3QoZSxoLGIpLG89aD0+ZS5pc09mZnNldEZpeGVkJiZlLm9mZnNldD09PTAmJmguYWxsb3daP1xcXCJaXFxcIjplLmlzVmFsaWQ/ZS56b25lLmZvcm1hdE9mZnNldChlLnRzLGguZm9ybWF0KTpcXFwiXFxcIixhPSgpPT5yP2pvKGUpOmkoe2hvdXI6XFxcIm51bWVyaWNcXFwiLGhvdXJDeWNsZTpcXFwiaDEyXFxcIn0sXFxcImRheXBlcmlvZFxcXCIpLHU9KGgsYik9PnI/Vm8oZSxoKTppKGI/e21vbnRoOmh9Onttb250aDpoLGRheTpcXFwibnVtZXJpY1xcXCJ9LFxcXCJtb250aFxcXCIpLGw9KGgsYik9PnI/cW8oZSxoKTppKGI/e3dlZWtkYXk6aH06e3dlZWtkYXk6aCxtb250aDpcXFwibG9uZ1xcXCIsZGF5OlxcXCJudW1lcmljXFxcIn0sXFxcIndlZWtkYXlcXFwiKSxmPWg9PntsZXQgYj1uLm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHMoaCk7cmV0dXJuIGI/dGhpcy5mb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChlLGIpOmh9LGQ9aD0+cj9VbyhlLGgpOmkoe2VyYTpofSxcXFwiZXJhXFxcIikscD1oPT57c3dpdGNoKGgpe2Nhc2VcXFwiU1xcXCI6cmV0dXJuIHRoaXMubnVtKGUubWlsbGlzZWNvbmQpO2Nhc2VcXFwidVxcXCI6Y2FzZVxcXCJTU1NcXFwiOnJldHVybiB0aGlzLm51bShlLm1pbGxpc2Vjb25kLDMpO2Nhc2VcXFwic1xcXCI6cmV0dXJuIHRoaXMubnVtKGUuc2Vjb25kKTtjYXNlXFxcInNzXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5zZWNvbmQsMik7Y2FzZVxcXCJ1dVxcXCI6cmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZS5taWxsaXNlY29uZC8xMCksMik7Y2FzZVxcXCJ1dXVcXFwiOnJldHVybiB0aGlzLm51bShNYXRoLmZsb29yKGUubWlsbGlzZWNvbmQvMTAwKSk7Y2FzZVxcXCJtXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5taW51dGUpO2Nhc2VcXFwibW1cXFwiOnJldHVybiB0aGlzLm51bShlLm1pbnV0ZSwyKTtjYXNlXFxcImhcXFwiOnJldHVybiB0aGlzLm51bShlLmhvdXIlMTI9PT0wPzEyOmUuaG91ciUxMik7Y2FzZVxcXCJoaFxcXCI6cmV0dXJuIHRoaXMubnVtKGUuaG91ciUxMj09PTA/MTI6ZS5ob3VyJTEyLDIpO2Nhc2VcXFwiSFxcXCI6cmV0dXJuIHRoaXMubnVtKGUuaG91cik7Y2FzZVxcXCJISFxcXCI6cmV0dXJuIHRoaXMubnVtKGUuaG91ciwyKTtjYXNlXFxcIlpcXFwiOnJldHVybiBvKHtmb3JtYXQ6XFxcIm5hcnJvd1xcXCIsYWxsb3daOnRoaXMub3B0cy5hbGxvd1p9KTtjYXNlXFxcIlpaXFxcIjpyZXR1cm4gbyh7Zm9ybWF0OlxcXCJzaG9ydFxcXCIsYWxsb3daOnRoaXMub3B0cy5hbGxvd1p9KTtjYXNlXFxcIlpaWlxcXCI6cmV0dXJuIG8oe2Zvcm1hdDpcXFwidGVjaGllXFxcIixhbGxvd1o6dGhpcy5vcHRzLmFsbG93Wn0pO2Nhc2VcXFwiWlpaWlxcXCI6cmV0dXJuIGUuem9uZS5vZmZzZXROYW1lKGUudHMse2Zvcm1hdDpcXFwic2hvcnRcXFwiLGxvY2FsZTp0aGlzLmxvYy5sb2NhbGV9KTtjYXNlXFxcIlpaWlpaXFxcIjpyZXR1cm4gZS56b25lLm9mZnNldE5hbWUoZS50cyx7Zm9ybWF0OlxcXCJsb25nXFxcIixsb2NhbGU6dGhpcy5sb2MubG9jYWxlfSk7Y2FzZVxcXCJ6XFxcIjpyZXR1cm4gZS56b25lTmFtZTtjYXNlXFxcImFcXFwiOnJldHVybiBhKCk7Y2FzZVxcXCJkXFxcIjpyZXR1cm4gcz9pKHtkYXk6XFxcIm51bWVyaWNcXFwifSxcXFwiZGF5XFxcIik6dGhpcy5udW0oZS5kYXkpO2Nhc2VcXFwiZGRcXFwiOnJldHVybiBzP2koe2RheTpcXFwiMi1kaWdpdFxcXCJ9LFxcXCJkYXlcXFwiKTp0aGlzLm51bShlLmRheSwyKTtjYXNlXFxcImNcXFwiOnJldHVybiB0aGlzLm51bShlLndlZWtkYXkpO2Nhc2VcXFwiY2NjXFxcIjpyZXR1cm4gbChcXFwic2hvcnRcXFwiLCEwKTtjYXNlXFxcImNjY2NcXFwiOnJldHVybiBsKFxcXCJsb25nXFxcIiwhMCk7Y2FzZVxcXCJjY2NjY1xcXCI6cmV0dXJuIGwoXFxcIm5hcnJvd1xcXCIsITApO2Nhc2VcXFwiRVxcXCI6cmV0dXJuIHRoaXMubnVtKGUud2Vla2RheSk7Y2FzZVxcXCJFRUVcXFwiOnJldHVybiBsKFxcXCJzaG9ydFxcXCIsITEpO2Nhc2VcXFwiRUVFRVxcXCI6cmV0dXJuIGwoXFxcImxvbmdcXFwiLCExKTtjYXNlXFxcIkVFRUVFXFxcIjpyZXR1cm4gbChcXFwibmFycm93XFxcIiwhMSk7Y2FzZVxcXCJMXFxcIjpyZXR1cm4gcz9pKHttb250aDpcXFwibnVtZXJpY1xcXCIsZGF5OlxcXCJudW1lcmljXFxcIn0sXFxcIm1vbnRoXFxcIik6dGhpcy5udW0oZS5tb250aCk7Y2FzZVxcXCJMTFxcXCI6cmV0dXJuIHM/aSh7bW9udGg6XFxcIjItZGlnaXRcXFwiLGRheTpcXFwibnVtZXJpY1xcXCJ9LFxcXCJtb250aFxcXCIpOnRoaXMubnVtKGUubW9udGgsMik7Y2FzZVxcXCJMTExcXFwiOnJldHVybiB1KFxcXCJzaG9ydFxcXCIsITApO2Nhc2VcXFwiTExMTFxcXCI6cmV0dXJuIHUoXFxcImxvbmdcXFwiLCEwKTtjYXNlXFxcIkxMTExMXFxcIjpyZXR1cm4gdShcXFwibmFycm93XFxcIiwhMCk7Y2FzZVxcXCJNXFxcIjpyZXR1cm4gcz9pKHttb250aDpcXFwibnVtZXJpY1xcXCJ9LFxcXCJtb250aFxcXCIpOnRoaXMubnVtKGUubW9udGgpO2Nhc2VcXFwiTU1cXFwiOnJldHVybiBzP2koe21vbnRoOlxcXCIyLWRpZ2l0XFxcIn0sXFxcIm1vbnRoXFxcIik6dGhpcy5udW0oZS5tb250aCwyKTtjYXNlXFxcIk1NTVxcXCI6cmV0dXJuIHUoXFxcInNob3J0XFxcIiwhMSk7Y2FzZVxcXCJNTU1NXFxcIjpyZXR1cm4gdShcXFwibG9uZ1xcXCIsITEpO2Nhc2VcXFwiTU1NTU1cXFwiOnJldHVybiB1KFxcXCJuYXJyb3dcXFwiLCExKTtjYXNlXFxcInlcXFwiOnJldHVybiBzP2koe3llYXI6XFxcIm51bWVyaWNcXFwifSxcXFwieWVhclxcXCIpOnRoaXMubnVtKGUueWVhcik7Y2FzZVxcXCJ5eVxcXCI6cmV0dXJuIHM/aSh7eWVhcjpcXFwiMi1kaWdpdFxcXCJ9LFxcXCJ5ZWFyXFxcIik6dGhpcy5udW0oZS55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLDIpO2Nhc2VcXFwieXl5eVxcXCI6cmV0dXJuIHM/aSh7eWVhcjpcXFwibnVtZXJpY1xcXCJ9LFxcXCJ5ZWFyXFxcIik6dGhpcy5udW0oZS55ZWFyLDQpO2Nhc2VcXFwieXl5eXl5XFxcIjpyZXR1cm4gcz9pKHt5ZWFyOlxcXCJudW1lcmljXFxcIn0sXFxcInllYXJcXFwiKTp0aGlzLm51bShlLnllYXIsNik7Y2FzZVxcXCJHXFxcIjpyZXR1cm4gZChcXFwic2hvcnRcXFwiKTtjYXNlXFxcIkdHXFxcIjpyZXR1cm4gZChcXFwibG9uZ1xcXCIpO2Nhc2VcXFwiR0dHR0dcXFwiOnJldHVybiBkKFxcXCJuYXJyb3dcXFwiKTtjYXNlXFxcImtrXFxcIjpyZXR1cm4gdGhpcy5udW0oZS53ZWVrWWVhci50b1N0cmluZygpLnNsaWNlKC0yKSwyKTtjYXNlXFxcImtra2tcXFwiOnJldHVybiB0aGlzLm51bShlLndlZWtZZWFyLDQpO2Nhc2VcXFwiV1xcXCI6cmV0dXJuIHRoaXMubnVtKGUud2Vla051bWJlcik7Y2FzZVxcXCJXV1xcXCI6cmV0dXJuIHRoaXMubnVtKGUud2Vla051bWJlciwyKTtjYXNlXFxcIm9cXFwiOnJldHVybiB0aGlzLm51bShlLm9yZGluYWwpO2Nhc2VcXFwib29vXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5vcmRpbmFsLDMpO2Nhc2VcXFwicVxcXCI6cmV0dXJuIHRoaXMubnVtKGUucXVhcnRlcik7Y2FzZVxcXCJxcVxcXCI6cmV0dXJuIHRoaXMubnVtKGUucXVhcnRlciwyKTtjYXNlXFxcIlhcXFwiOnJldHVybiB0aGlzLm51bShNYXRoLmZsb29yKGUudHMvMWUzKSk7Y2FzZVxcXCJ4XFxcIjpyZXR1cm4gdGhpcy5udW0oZS50cyk7ZGVmYXVsdDpyZXR1cm4gZihoKX19O3JldHVybiBXbyhuLnBhcnNlRm9ybWF0KHQpLHApfWZvcm1hdER1cmF0aW9uRnJvbVN0cmluZyhlLHQpe2xldCByPXU9Pntzd2l0Y2godVswXSl7Y2FzZVxcXCJTXFxcIjpyZXR1cm5cXFwibWlsbGlzZWNvbmRcXFwiO2Nhc2VcXFwic1xcXCI6cmV0dXJuXFxcInNlY29uZFxcXCI7Y2FzZVxcXCJtXFxcIjpyZXR1cm5cXFwibWludXRlXFxcIjtjYXNlXFxcImhcXFwiOnJldHVyblxcXCJob3VyXFxcIjtjYXNlXFxcImRcXFwiOnJldHVyblxcXCJkYXlcXFwiO2Nhc2VcXFwid1xcXCI6cmV0dXJuXFxcIndlZWtcXFwiO2Nhc2VcXFwiTVxcXCI6cmV0dXJuXFxcIm1vbnRoXFxcIjtjYXNlXFxcInlcXFwiOnJldHVyblxcXCJ5ZWFyXFxcIjtkZWZhdWx0OnJldHVybiBudWxsfX0scz11PT5sPT57bGV0IGY9cihsKTtyZXR1cm4gZj90aGlzLm51bSh1LmdldChmKSxsLmxlbmd0aCk6bH0saT1uLnBhcnNlRm9ybWF0KHQpLG89aS5yZWR1Y2UoKHUse2xpdGVyYWw6bCx2YWw6Zn0pPT5sP3U6dS5jb25jYXQoZiksW10pLGE9ZS5zaGlmdFRvKC4uLm8ubWFwKHIpLmZpbHRlcih1PT51KSk7cmV0dXJuIFdvKGkscyhhKSl9fTt2YXIgZGU9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnJlYXNvbj1lLHRoaXMuZXhwbGFuYXRpb249dH10b01lc3NhZ2UoKXtyZXR1cm4gdGhpcy5leHBsYW5hdGlvbj9gJHt0aGlzLnJlYXNvbn06ICR7dGhpcy5leHBsYW5hdGlvbn1gOnRoaXMucmVhc29ufX07dmFyIGtlPWNsYXNze2dldCB0eXBlKCl7dGhyb3cgbmV3IGplfWdldCBuYW1lKCl7dGhyb3cgbmV3IGplfWdldCBpYW5hTmFtZSgpe3JldHVybiB0aGlzLm5hbWV9Z2V0IGlzVW5pdmVyc2FsKCl7dGhyb3cgbmV3IGplfW9mZnNldE5hbWUoZSx0KXt0aHJvdyBuZXcgamV9Zm9ybWF0T2Zmc2V0KGUsdCl7dGhyb3cgbmV3IGplfW9mZnNldChlKXt0aHJvdyBuZXcgamV9ZXF1YWxzKGUpe3Rocm93IG5ldyBqZX1nZXQgaXNWYWxpZCgpe3Rocm93IG5ldyBqZX19O3ZhciBjaT1udWxsLGZuPWNsYXNzIG4gZXh0ZW5kcyBrZXtzdGF0aWMgZ2V0IGluc3RhbmNlKCl7cmV0dXJuIGNpPT09bnVsbCYmKGNpPW5ldyBuKSxjaX1nZXQgdHlwZSgpe3JldHVyblxcXCJzeXN0ZW1cXFwifWdldCBuYW1lKCl7cmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Z2V0IGlzVW5pdmVyc2FsKCl7cmV0dXJuITF9b2Zmc2V0TmFtZShlLHtmb3JtYXQ6dCxsb2NhbGU6cn0pe3JldHVybiBKcihlLHQscil9Zm9ybWF0T2Zmc2V0KGUsdCl7cmV0dXJuIHZ0KHRoaXMub2Zmc2V0KGUpLHQpfW9mZnNldChlKXtyZXR1cm4tbmV3IERhdGUoZSkuZ2V0VGltZXpvbmVPZmZzZXQoKX1lcXVhbHMoZSl7cmV0dXJuIGUudHlwZT09PVxcXCJzeXN0ZW1cXFwifWdldCBpc1ZhbGlkKCl7cmV0dXJuITB9fTt2YXIgWXI9e307ZnVuY3Rpb24gdmwobil7cmV0dXJuIFlyW25dfHwoWXJbbl09bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXFxcImVuLVVTXFxcIix7aG91cjEyOiExLHRpbWVab25lOm4seWVhcjpcXFwibnVtZXJpY1xcXCIsbW9udGg6XFxcIjItZGlnaXRcXFwiLGRheTpcXFwiMi1kaWdpdFxcXCIsaG91cjpcXFwiMi1kaWdpdFxcXCIsbWludXRlOlxcXCIyLWRpZ2l0XFxcIixzZWNvbmQ6XFxcIjItZGlnaXRcXFwiLGVyYTpcXFwic2hvcnRcXFwifSkpLFlyW25dfXZhciBPbD17eWVhcjowLG1vbnRoOjEsZGF5OjIsZXJhOjMsaG91cjo0LG1pbnV0ZTo1LHNlY29uZDo2fTtmdW5jdGlvbiB4bChuLGUpe2xldCB0PW4uZm9ybWF0KGUpLnJlcGxhY2UoL1xcXFx1MjAwRS9nLFxcXCJcXFwiKSxyPS8oXFxcXGQrKVxcXFwvKFxcXFxkKylcXFxcLyhcXFxcZCspIChBRHxCQyksPyAoXFxcXGQrKTooXFxcXGQrKTooXFxcXGQrKS8uZXhlYyh0KSxbLHMsaSxvLGEsdSxsLGZdPXI7cmV0dXJuW28scyxpLGEsdSxsLGZdfWZ1bmN0aW9uIElsKG4sZSl7bGV0IHQ9bi5mb3JtYXRUb1BhcnRzKGUpLHI9W107Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspe2xldHt0eXBlOmksdmFsdWU6b309dFtzXSxhPU9sW2ldO2k9PT1cXFwiZXJhXFxcIj9yW2FdPW86VyhhKXx8KHJbYV09cGFyc2VJbnQobywxMCkpfXJldHVybiByfXZhciB6cj17fSxnZT1jbGFzcyBuIGV4dGVuZHMga2V7c3RhdGljIGNyZWF0ZShlKXtyZXR1cm4genJbZV18fCh6cltlXT1uZXcgbihlKSksenJbZV19c3RhdGljIHJlc2V0Q2FjaGUoKXt6cj17fSxZcj17fX1zdGF0aWMgaXNWYWxpZFNwZWNpZmllcihlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkWm9uZShlKX1zdGF0aWMgaXNWYWxpZFpvbmUoZSl7aWYoIWUpcmV0dXJuITE7dHJ5e3JldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChcXFwiZW4tVVNcXFwiLHt0aW1lWm9uZTplfSkuZm9ybWF0KCksITB9Y2F0Y2godCl7cmV0dXJuITF9fWNvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy56b25lTmFtZT1lLHRoaXMudmFsaWQ9bi5pc1ZhbGlkWm9uZShlKX1nZXQgdHlwZSgpe3JldHVyblxcXCJpYW5hXFxcIn1nZXQgbmFtZSgpe3JldHVybiB0aGlzLnpvbmVOYW1lfWdldCBpc1VuaXZlcnNhbCgpe3JldHVybiExfW9mZnNldE5hbWUoZSx7Zm9ybWF0OnQsbG9jYWxlOnJ9KXtyZXR1cm4gSnIoZSx0LHIsdGhpcy5uYW1lKX1mb3JtYXRPZmZzZXQoZSx0KXtyZXR1cm4gdnQodGhpcy5vZmZzZXQoZSksdCl9b2Zmc2V0KGUpe2xldCB0PW5ldyBEYXRlKGUpO2lmKGlzTmFOKHQpKXJldHVybiBOYU47bGV0IHI9dmwodGhpcy5uYW1lKSxbcyxpLG8sYSx1LGwsZl09ci5mb3JtYXRUb1BhcnRzP0lsKHIsdCk6eGwocix0KTthPT09XFxcIkJDXFxcIiYmKHM9LU1hdGguYWJzKHMpKzEpO2xldCBwPWlyKHt5ZWFyOnMsbW9udGg6aSxkYXk6byxob3VyOnU9PT0yND8wOnUsbWludXRlOmwsc2Vjb25kOmYsbWlsbGlzZWNvbmQ6MH0pLGg9K3QsYj1oJTFlMztyZXR1cm4gaC09Yj49MD9iOjFlMytiLChwLWgpLyg2MCoxZTMpfWVxdWFscyhlKXtyZXR1cm4gZS50eXBlPT09XFxcImlhbmFcXFwiJiZlLm5hbWU9PT10aGlzLm5hbWV9Z2V0IGlzVmFsaWQoKXtyZXR1cm4gdGhpcy52YWxpZH19O3ZhciBmaT1udWxsLGhlPWNsYXNzIG4gZXh0ZW5kcyBrZXtzdGF0aWMgZ2V0IHV0Y0luc3RhbmNlKCl7cmV0dXJuIGZpPT09bnVsbCYmKGZpPW5ldyBuKDApKSxmaX1zdGF0aWMgaW5zdGFuY2UoZSl7cmV0dXJuIGU9PT0wP24udXRjSW5zdGFuY2U6bmV3IG4oZSl9c3RhdGljIHBhcnNlU3BlY2lmaWVyKGUpe2lmKGUpe2xldCB0PWUubWF0Y2goL151dGMoPzooWystXVxcXFxkezEsMn0pKD86OihcXFxcZHsyfSkpPyk/JC9pKTtpZih0KXJldHVybiBuZXcgbihWdCh0WzFdLHRbMl0pKX1yZXR1cm4gbnVsbH1jb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuZml4ZWQ9ZX1nZXQgdHlwZSgpe3JldHVyblxcXCJmaXhlZFxcXCJ9Z2V0IG5hbWUoKXtyZXR1cm4gdGhpcy5maXhlZD09PTA/XFxcIlVUQ1xcXCI6YFVUQyR7dnQodGhpcy5maXhlZCxcXFwibmFycm93XFxcIil9YH1nZXQgaWFuYU5hbWUoKXtyZXR1cm4gdGhpcy5maXhlZD09PTA/XFxcIkV0Yy9VVENcXFwiOmBFdGMvR01UJHt2dCgtdGhpcy5maXhlZCxcXFwibmFycm93XFxcIil9YH1vZmZzZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1mb3JtYXRPZmZzZXQoZSx0KXtyZXR1cm4gdnQodGhpcy5maXhlZCx0KX1nZXQgaXNVbml2ZXJzYWwoKXtyZXR1cm4hMH1vZmZzZXQoKXtyZXR1cm4gdGhpcy5maXhlZH1lcXVhbHMoZSl7cmV0dXJuIGUudHlwZT09PVxcXCJmaXhlZFxcXCImJmUuZml4ZWQ9PT10aGlzLmZpeGVkfWdldCBpc1ZhbGlkKCl7cmV0dXJuITB9fTt2YXIgZG49Y2xhc3MgZXh0ZW5kcyBrZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuem9uZU5hbWU9ZX1nZXQgdHlwZSgpe3JldHVyblxcXCJpbnZhbGlkXFxcIn1nZXQgbmFtZSgpe3JldHVybiB0aGlzLnpvbmVOYW1lfWdldCBpc1VuaXZlcnNhbCgpe3JldHVybiExfW9mZnNldE5hbWUoKXtyZXR1cm4gbnVsbH1mb3JtYXRPZmZzZXQoKXtyZXR1cm5cXFwiXFxcIn1vZmZzZXQoKXtyZXR1cm4gTmFOfWVxdWFscygpe3JldHVybiExfWdldCBpc1ZhbGlkKCl7cmV0dXJuITF9fTtmdW5jdGlvbiBWZShuLGUpe2xldCB0O2lmKFcobil8fG49PT1udWxsKXJldHVybiBlO2lmKG4gaW5zdGFuY2VvZiBrZSlyZXR1cm4gbjtpZihCbyhuKSl7bGV0IHI9bi50b0xvd2VyQ2FzZSgpO3JldHVybiByPT09XFxcImxvY2FsXFxcInx8cj09PVxcXCJzeXN0ZW1cXFwiP2U6cj09PVxcXCJ1dGNcXFwifHxyPT09XFxcImdtdFxcXCI/aGUudXRjSW5zdGFuY2U6aGUucGFyc2VTcGVjaWZpZXIocil8fGdlLmNyZWF0ZShuKX1lbHNlIHJldHVybiB0dChuKT9oZS5pbnN0YW5jZShuKTp0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCImJm4ub2Zmc2V0JiZ0eXBlb2Ygbi5vZmZzZXQ9PVxcXCJudW1iZXJcXFwiP246bmV3IGRuKG4pfXZhciBIbz0oKT0+RGF0ZS5ub3coKSxKbz1cXFwic3lzdGVtXFxcIix6bz1udWxsLFlvPW51bGwsR289bnVsbCxabyxYPWNsYXNze3N0YXRpYyBnZXQgbm93KCl7cmV0dXJuIEhvfXN0YXRpYyBzZXQgbm93KGUpe0hvPWV9c3RhdGljIHNldCBkZWZhdWx0Wm9uZShlKXtKbz1lfXN0YXRpYyBnZXQgZGVmYXVsdFpvbmUoKXtyZXR1cm4gVmUoSm8sZm4uaW5zdGFuY2UpfXN0YXRpYyBnZXQgZGVmYXVsdExvY2FsZSgpe3JldHVybiB6b31zdGF0aWMgc2V0IGRlZmF1bHRMb2NhbGUoZSl7em89ZX1zdGF0aWMgZ2V0IGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0oKXtyZXR1cm4gWW99c3RhdGljIHNldCBkZWZhdWx0TnVtYmVyaW5nU3lzdGVtKGUpe1lvPWV9c3RhdGljIGdldCBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIoKXtyZXR1cm4gR299c3RhdGljIHNldCBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIoZSl7R289ZX1zdGF0aWMgZ2V0IHRocm93T25JbnZhbGlkKCl7cmV0dXJuIFpvfXN0YXRpYyBzZXQgdGhyb3dPbkludmFsaWQoZSl7Wm89ZX1zdGF0aWMgcmVzZXRDYWNoZXMoKXtuZS5yZXNldENhY2hlKCksZ2UucmVzZXRDYWNoZSgpfX07dmFyIFFvPXt9O2Z1bmN0aW9uIExsKG4sZT17fSl7bGV0IHQ9SlNPTi5zdHJpbmdpZnkoW24sZV0pLHI9UW9bdF07cmV0dXJuIHJ8fChyPW5ldyBJbnRsLkxpc3RGb3JtYXQobixlKSxRb1t0XT1yKSxyfXZhciBkaT17fTtmdW5jdGlvbiBoaShuLGU9e30pe2xldCB0PUpTT04uc3RyaW5naWZ5KFtuLGVdKSxyPWRpW3RdO3JldHVybiByfHwocj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChuLGUpLGRpW3RdPXIpLHJ9dmFyIHBpPXt9O2Z1bmN0aW9uIE5sKG4sZT17fSl7bGV0IHQ9SlNPTi5zdHJpbmdpZnkoW24sZV0pLHI9cGlbdF07cmV0dXJuIHJ8fChyPW5ldyBJbnRsLk51bWJlckZvcm1hdChuLGUpLHBpW3RdPXIpLHJ9dmFyIG1pPXt9O2Z1bmN0aW9uIEFsKG4sZT17fSl7bGV0IG89ZSx7YmFzZTp0fT1vLHI9WXMobyxbXFxcImJhc2VcXFwiXSkscz1KU09OLnN0cmluZ2lmeShbbixyXSksaT1taVtzXTtyZXR1cm4gaXx8KGk9bmV3IEludGwuUmVsYXRpdmVUaW1lRm9ybWF0KG4sZSksbWlbc109aSksaX12YXIgdXI9bnVsbDtmdW5jdGlvbiBNbCgpe3JldHVybiB1cnx8KHVyPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlLHVyKX1mdW5jdGlvbiBfbChuKXtsZXQgZT1uLmluZGV4T2YoXFxcIi11LVxcXCIpO2lmKGU9PT0tMSlyZXR1cm5bbl07e2xldCB0LHI9bi5zdWJzdHJpbmcoMCxlKTt0cnl7dD1oaShuKS5yZXNvbHZlZE9wdGlvbnMoKX1jYXRjaChvKXt0PWhpKHIpLnJlc29sdmVkT3B0aW9ucygpfWxldHtudW1iZXJpbmdTeXN0ZW06cyxjYWxlbmRhcjppfT10O3JldHVybltyLHMsaV19fWZ1bmN0aW9uIEJsKG4sZSx0KXtyZXR1cm4odHx8ZSkmJihuKz1cXFwiLXVcXFwiLHQmJihuKz1gLWNhLSR7dH1gKSxlJiYobis9YC1udS0ke2V9YCkpLG59ZnVuY3Rpb24gUGwobil7bGV0IGU9W107Zm9yKGxldCB0PTE7dDw9MTI7dCsrKXtsZXQgcj1xLnV0YygyMDE2LHQsMSk7ZS5wdXNoKG4ocikpfXJldHVybiBlfWZ1bmN0aW9uICRsKG4pe2xldCBlPVtdO2ZvcihsZXQgdD0xO3Q8PTc7dCsrKXtsZXQgcj1xLnV0YygyMDE2LDExLDEzK3QpO2UucHVzaChuKHIpKX1yZXR1cm4gZX1mdW5jdGlvbiBHcihuLGUsdCxyLHMpe2xldCBpPW4ubGlzdGluZ01vZGUodCk7cmV0dXJuIGk9PT1cXFwiZXJyb3JcXFwiP251bGw6aT09PVxcXCJlblxcXCI/cihlKTpzKGUpfWZ1bmN0aW9uIFJsKG4pe3JldHVybiBuLm51bWJlcmluZ1N5c3RlbSYmbi5udW1iZXJpbmdTeXN0ZW0hPT1cXFwibGF0blxcXCI/ITE6bi5udW1iZXJpbmdTeXN0ZW09PT1cXFwibGF0blxcXCJ8fCFuLmxvY2FsZXx8bi5sb2NhbGUuc3RhcnRzV2l0aChcXFwiZW5cXFwiKXx8bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobi5pbnRsKS5yZXNvbHZlZE9wdGlvbnMoKS5udW1iZXJpbmdTeXN0ZW09PT1cXFwibGF0blxcXCJ9dmFyIERpPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnBhZFRvPXIucGFkVG98fDAsdGhpcy5mbG9vcj1yLmZsb29yfHwhMTtsZXQgYT1yLHtwYWRUbzpzLGZsb29yOml9PWEsbz1ZcyhhLFtcXFwicGFkVG9cXFwiLFxcXCJmbG9vclxcXCJdKTtpZighdHx8T2JqZWN0LmtleXMobykubGVuZ3RoPjApe2xldCB1PVIoe3VzZUdyb3VwaW5nOiExfSxyKTtyLnBhZFRvPjAmJih1Lm1pbmltdW1JbnRlZ2VyRGlnaXRzPXIucGFkVG8pLHRoaXMuaW5mPU5sKGUsdSl9fWZvcm1hdChlKXtpZih0aGlzLmluZil7bGV0IHQ9dGhpcy5mbG9vcj9NYXRoLmZsb29yKGUpOmU7cmV0dXJuIHRoaXMuaW5mLmZvcm1hdCh0KX1lbHNle2xldCB0PXRoaXMuZmxvb3I/TWF0aC5mbG9vcihlKTphbihlLDMpO3JldHVybiByZSh0LHRoaXMucGFkVG8pfX19LHlpPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLm9wdHM9cjtsZXQgcztpZihlLnpvbmUuaXNVbml2ZXJzYWwpe2xldCBvPS0xKihlLm9mZnNldC82MCksYT1vPj0wP2BFdGMvR01UKyR7b31gOmBFdGMvR01UJHtvfWA7ZS5vZmZzZXQhPT0wJiZnZS5jcmVhdGUoYSkudmFsaWQ/KHM9YSx0aGlzLmR0PWUpOihzPVxcXCJVVENcXFwiLHIudGltZVpvbmVOYW1lP3RoaXMuZHQ9ZTp0aGlzLmR0PWUub2Zmc2V0PT09MD9lOnEuZnJvbU1pbGxpcyhlLnRzK2Uub2Zmc2V0KjYwKjFlMykpfWVsc2UgZS56b25lLnR5cGU9PT1cXFwic3lzdGVtXFxcIj90aGlzLmR0PWU6KHRoaXMuZHQ9ZSxzPWUuem9uZS5uYW1lKTtsZXQgaT1SKHt9LHRoaXMub3B0cyk7cyYmKGkudGltZVpvbmU9cyksdGhpcy5kdGY9aGkodCxpKX1mb3JtYXQoKXtyZXR1cm4gdGhpcy5kdGYuZm9ybWF0KHRoaXMuZHQudG9KU0RhdGUoKSl9Zm9ybWF0VG9QYXJ0cygpe3JldHVybiB0aGlzLmR0Zi5mb3JtYXRUb1BhcnRzKHRoaXMuZHQudG9KU0RhdGUoKSl9cmVzb2x2ZWRPcHRpb25zKCl7cmV0dXJuIHRoaXMuZHRmLnJlc29sdmVkT3B0aW9ucygpfX0sZ2k9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMub3B0cz1SKHtzdHlsZTpcXFwibG9uZ1xcXCJ9LHIpLCF0JiZIcigpJiYodGhpcy5ydGY9QWwoZSxyKSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMucnRmP3RoaXMucnRmLmZvcm1hdChlLHQpOktvKHQsZSx0aGlzLm9wdHMubnVtZXJpYyx0aGlzLm9wdHMuc3R5bGUhPT1cXFwibG9uZ1xcXCIpfWZvcm1hdFRvUGFydHMoZSx0KXtyZXR1cm4gdGhpcy5ydGY/dGhpcy5ydGYuZm9ybWF0VG9QYXJ0cyhlLHQpOltdfX0sbmU9Y2xhc3MgbntzdGF0aWMgZnJvbU9wdHMoZSl7cmV0dXJuIG4uY3JlYXRlKGUubG9jYWxlLGUubnVtYmVyaW5nU3lzdGVtLGUub3V0cHV0Q2FsZW5kYXIsZS5kZWZhdWx0VG9FTil9c3RhdGljIGNyZWF0ZShlLHQscixzPSExKXtsZXQgaT1lfHxYLmRlZmF1bHRMb2NhbGUsbz1pfHwocz9cXFwiZW4tVVNcXFwiOk1sKCkpLGE9dHx8WC5kZWZhdWx0TnVtYmVyaW5nU3lzdGVtLHU9cnx8WC5kZWZhdWx0T3V0cHV0Q2FsZW5kYXI7cmV0dXJuIG5ldyBuKG8sYSx1LGkpfXN0YXRpYyByZXNldENhY2hlKCl7dXI9bnVsbCxkaT17fSxwaT17fSxtaT17fX1zdGF0aWMgZnJvbU9iamVjdCh7bG9jYWxlOmUsbnVtYmVyaW5nU3lzdGVtOnQsb3V0cHV0Q2FsZW5kYXI6cn09e30pe3JldHVybiBuLmNyZWF0ZShlLHQscil9Y29uc3RydWN0b3IoZSx0LHIscyl7bGV0W2ksbyxhXT1fbChlKTt0aGlzLmxvY2FsZT1pLHRoaXMubnVtYmVyaW5nU3lzdGVtPXR8fG98fG51bGwsdGhpcy5vdXRwdXRDYWxlbmRhcj1yfHxhfHxudWxsLHRoaXMuaW50bD1CbCh0aGlzLmxvY2FsZSx0aGlzLm51bWJlcmluZ1N5c3RlbSx0aGlzLm91dHB1dENhbGVuZGFyKSx0aGlzLndlZWtkYXlzQ2FjaGU9e2Zvcm1hdDp7fSxzdGFuZGFsb25lOnt9fSx0aGlzLm1vbnRoc0NhY2hlPXtmb3JtYXQ6e30sc3RhbmRhbG9uZTp7fX0sdGhpcy5tZXJpZGllbUNhY2hlPW51bGwsdGhpcy5lcmFDYWNoZT17fSx0aGlzLnNwZWNpZmllZExvY2FsZT1zLHRoaXMuZmFzdE51bWJlcnNDYWNoZWQ9bnVsbH1nZXQgZmFzdE51bWJlcnMoKXtyZXR1cm4gdGhpcy5mYXN0TnVtYmVyc0NhY2hlZD09bnVsbCYmKHRoaXMuZmFzdE51bWJlcnNDYWNoZWQ9UmwodGhpcykpLHRoaXMuZmFzdE51bWJlcnNDYWNoZWR9bGlzdGluZ01vZGUoKXtsZXQgZT10aGlzLmlzRW5nbGlzaCgpLHQ9KHRoaXMubnVtYmVyaW5nU3lzdGVtPT09bnVsbHx8dGhpcy5udW1iZXJpbmdTeXN0ZW09PT1cXFwibGF0blxcXCIpJiYodGhpcy5vdXRwdXRDYWxlbmRhcj09PW51bGx8fHRoaXMub3V0cHV0Q2FsZW5kYXI9PT1cXFwiZ3JlZ29yeVxcXCIpO3JldHVybiBlJiZ0P1xcXCJlblxcXCI6XFxcImludGxcXFwifWNsb25lKGUpe3JldHVybiFlfHxPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKS5sZW5ndGg9PT0wP3RoaXM6bi5jcmVhdGUoZS5sb2NhbGV8fHRoaXMuc3BlY2lmaWVkTG9jYWxlLGUubnVtYmVyaW5nU3lzdGVtfHx0aGlzLm51bWJlcmluZ1N5c3RlbSxlLm91dHB1dENhbGVuZGFyfHx0aGlzLm91dHB1dENhbGVuZGFyLGUuZGVmYXVsdFRvRU58fCExKX1yZWRlZmF1bHRUb0VOKGU9e30pe3JldHVybiB0aGlzLmNsb25lKHllKFIoe30sZSkse2RlZmF1bHRUb0VOOiEwfSkpfXJlZGVmYXVsdFRvU3lzdGVtKGU9e30pe3JldHVybiB0aGlzLmNsb25lKHllKFIoe30sZSkse2RlZmF1bHRUb0VOOiExfSkpfW1vbnRocyhlLHQ9ITEscj0hMCl7cmV0dXJuIEdyKHRoaXMsZSxyLHJpLCgpPT57bGV0IHM9dD97bW9udGg6ZSxkYXk6XFxcIm51bWVyaWNcXFwifTp7bW9udGg6ZX0saT10P1xcXCJmb3JtYXRcXFwiOlxcXCJzdGFuZGFsb25lXFxcIjtyZXR1cm4gdGhpcy5tb250aHNDYWNoZVtpXVtlXXx8KHRoaXMubW9udGhzQ2FjaGVbaV1bZV09UGwobz0+dGhpcy5leHRyYWN0KG8scyxcXFwibW9udGhcXFwiKSkpLHRoaXMubW9udGhzQ2FjaGVbaV1bZV19KX13ZWVrZGF5cyhlLHQ9ITEscj0hMCl7cmV0dXJuIEdyKHRoaXMsZSxyLG9pLCgpPT57bGV0IHM9dD97d2Vla2RheTplLHllYXI6XFxcIm51bWVyaWNcXFwiLG1vbnRoOlxcXCJsb25nXFxcIixkYXk6XFxcIm51bWVyaWNcXFwifTp7d2Vla2RheTplfSxpPXQ/XFxcImZvcm1hdFxcXCI6XFxcInN0YW5kYWxvbmVcXFwiO3JldHVybiB0aGlzLndlZWtkYXlzQ2FjaGVbaV1bZV18fCh0aGlzLndlZWtkYXlzQ2FjaGVbaV1bZV09JGwobz0+dGhpcy5leHRyYWN0KG8scyxcXFwid2Vla2RheVxcXCIpKSksdGhpcy53ZWVrZGF5c0NhY2hlW2ldW2VdfSl9bWVyaWRpZW1zKGU9ITApe3JldHVybiBHcih0aGlzLHZvaWQgMCxlLCgpPT5haSwoKT0+e2lmKCF0aGlzLm1lcmlkaWVtQ2FjaGUpe2xldCB0PXtob3VyOlxcXCJudW1lcmljXFxcIixob3VyQ3ljbGU6XFxcImgxMlxcXCJ9O3RoaXMubWVyaWRpZW1DYWNoZT1bcS51dGMoMjAxNiwxMSwxMyw5KSxxLnV0YygyMDE2LDExLDEzLDE5KV0ubWFwKHI9PnRoaXMuZXh0cmFjdChyLHQsXFxcImRheXBlcmlvZFxcXCIpKX1yZXR1cm4gdGhpcy5tZXJpZGllbUNhY2hlfSl9ZXJhcyhlLHQ9ITApe3JldHVybiBHcih0aGlzLGUsdCx1aSwoKT0+e2xldCByPXtlcmE6ZX07cmV0dXJuIHRoaXMuZXJhQ2FjaGVbZV18fCh0aGlzLmVyYUNhY2hlW2VdPVtxLnV0YygtNDAsMSwxKSxxLnV0YygyMDE3LDEsMSldLm1hcChzPT50aGlzLmV4dHJhY3QocyxyLFxcXCJlcmFcXFwiKSkpLHRoaXMuZXJhQ2FjaGVbZV19KX1leHRyYWN0KGUsdCxyKXtsZXQgcz10aGlzLmR0Rm9ybWF0dGVyKGUsdCksaT1zLmZvcm1hdFRvUGFydHMoKSxvPWkuZmluZChhPT5hLnR5cGUudG9Mb3dlckNhc2UoKT09PXIpO3JldHVybiBvP28udmFsdWU6bnVsbH1udW1iZXJGb3JtYXR0ZXIoZT17fSl7cmV0dXJuIG5ldyBEaSh0aGlzLmludGwsZS5mb3JjZVNpbXBsZXx8dGhpcy5mYXN0TnVtYmVycyxlKX1kdEZvcm1hdHRlcihlLHQ9e30pe3JldHVybiBuZXcgeWkoZSx0aGlzLmludGwsdCl9cmVsRm9ybWF0dGVyKGU9e30pe3JldHVybiBuZXcgZ2kodGhpcy5pbnRsLHRoaXMuaXNFbmdsaXNoKCksZSl9bGlzdEZvcm1hdHRlcihlPXt9KXtyZXR1cm4gTGwodGhpcy5pbnRsLGUpfWlzRW5nbGlzaCgpe3JldHVybiB0aGlzLmxvY2FsZT09PVxcXCJlblxcXCJ8fHRoaXMubG9jYWxlLnRvTG93ZXJDYXNlKCk9PT1cXFwiZW4tdXNcXFwifHxuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmludGwpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZS5zdGFydHNXaXRoKFxcXCJlbi11c1xcXCIpfWVxdWFscyhlKXtyZXR1cm4gdGhpcy5sb2NhbGU9PT1lLmxvY2FsZSYmdGhpcy5udW1iZXJpbmdTeXN0ZW09PT1lLm51bWJlcmluZ1N5c3RlbSYmdGhpcy5vdXRwdXRDYWxlbmRhcj09PWUub3V0cHV0Q2FsZW5kYXJ9fTtmdW5jdGlvbiBwbiguLi5uKXtsZXQgZT1uLnJlZHVjZSgodCxyKT0+dCtyLnNvdXJjZSxcXFwiXFxcIik7cmV0dXJuIFJlZ0V4cChgXiR7ZX0kYCl9ZnVuY3Rpb24gbW4oLi4ubil7cmV0dXJuIGU9Pm4ucmVkdWNlKChbdCxyLHNdLGkpPT57bGV0W28sYSx1XT1pKGUscyk7cmV0dXJuW1IoUih7fSx0KSxvKSxhfHxyLHVdfSxbe30sbnVsbCwxXSkuc2xpY2UoMCwyKX1mdW5jdGlvbiBEbihuLC4uLmUpe2lmKG49PW51bGwpcmV0dXJuW251bGwsbnVsbF07Zm9yKGxldFt0LHJdb2YgZSl7bGV0IHM9dC5leGVjKG4pO2lmKHMpcmV0dXJuIHIocyl9cmV0dXJuW251bGwsbnVsbF19ZnVuY3Rpb24gZWEoLi4ubil7cmV0dXJuKGUsdCk9PntsZXQgcj17fSxzO2ZvcihzPTA7czxuLmxlbmd0aDtzKyspcltuW3NdXT1EdChlW3Qrc10pO3JldHVybltyLG51bGwsdCtzXX19dmFyIHRhPS8oPzooWil8KFsrLV1cXFxcZFxcXFxkKSg/Ojo/KFxcXFxkXFxcXGQpKT8pLyxqbD1gKD86JHt0YS5zb3VyY2V9Pyg/OlxcXFxcXFxcWygke3RpLnNvdXJjZX0pXFxcXFxcXFxdKT8pP2AsYmk9LyhcXFxcZFxcXFxkKSg/Ojo/KFxcXFxkXFxcXGQpKD86Oj8oXFxcXGRcXFxcZCkoPzpbLixdKFxcXFxkezEsMzB9KSk/KT8pPy8sbmE9UmVnRXhwKGAke2JpLnNvdXJjZX0ke2psfWApLEZpPVJlZ0V4cChgKD86VCR7bmEuc291cmNlfSk/YCkscWw9LyhbKy1dXFxcXGR7Nn18XFxcXGR7NH0pKD86LT8oXFxcXGRcXFxcZCkoPzotPyhcXFxcZFxcXFxkKSk/KT8vLFZsPS8oXFxcXGR7NH0pLT9XKFxcXFxkXFxcXGQpKD86LT8oXFxcXGQpKT8vLFVsPS8oXFxcXGR7NH0pLT8oXFxcXGR7M30pLyxLbD1lYShcXFwid2Vla1llYXJcXFwiLFxcXCJ3ZWVrTnVtYmVyXFxcIixcXFwid2Vla0RheVxcXCIpLFdsPWVhKFxcXCJ5ZWFyXFxcIixcXFwib3JkaW5hbFxcXCIpLEhsPS8oXFxcXGR7NH0pLShcXFxcZFxcXFxkKS0oXFxcXGRcXFxcZCkvLHJhPVJlZ0V4cChgJHtiaS5zb3VyY2V9ID8oPzoke3RhLnNvdXJjZX18KCR7dGkuc291cmNlfSkpP2ApLEpsPVJlZ0V4cChgKD86ICR7cmEuc291cmNlfSk/YCk7ZnVuY3Rpb24gaG4obixlLHQpe2xldCByPW5bZV07cmV0dXJuIFcocik/dDpEdChyKX1mdW5jdGlvbiB6bChuLGUpe3JldHVyblt7eWVhcjpobihuLGUpLG1vbnRoOmhuKG4sZSsxLDEpLGRheTpobihuLGUrMiwxKX0sbnVsbCxlKzNdfWZ1bmN0aW9uIHluKG4sZSl7cmV0dXJuW3tob3VyczpobihuLGUsMCksbWludXRlczpobihuLGUrMSwwKSxzZWNvbmRzOmhuKG4sZSsyLDApLG1pbGxpc2Vjb25kczpzcihuW2UrM10pfSxudWxsLGUrNF19ZnVuY3Rpb24gbHIobixlKXtsZXQgdD0hbltlXSYmIW5bZSsxXSxyPVZ0KG5bZSsxXSxuW2UrMl0pLHM9dD9udWxsOmhlLmluc3RhbmNlKHIpO3JldHVyblt7fSxzLGUrM119ZnVuY3Rpb24gY3IobixlKXtsZXQgdD1uW2VdP2dlLmNyZWF0ZShuW2VdKTpudWxsO3JldHVyblt7fSx0LGUrMV19dmFyIFlsPVJlZ0V4cChgXlQ/JHtiaS5zb3VyY2V9JGApLEdsPS9eLT9QKD86KD86KC0/XFxcXGR7MSwyMH0oPzpcXFxcLlxcXFxkezEsMjB9KT8pWSk/KD86KC0/XFxcXGR7MSwyMH0oPzpcXFxcLlxcXFxkezEsMjB9KT8pTSk/KD86KC0/XFxcXGR7MSwyMH0oPzpcXFxcLlxcXFxkezEsMjB9KT8pVyk/KD86KC0/XFxcXGR7MSwyMH0oPzpcXFxcLlxcXFxkezEsMjB9KT8pRCk/KD86VCg/OigtP1xcXFxkezEsMjB9KD86XFxcXC5cXFxcZHsxLDIwfSk/KUgpPyg/OigtP1xcXFxkezEsMjB9KD86XFxcXC5cXFxcZHsxLDIwfSk/KU0pPyg/OigtP1xcXFxkezEsMjB9KSg/OlsuLF0oLT9cXFxcZHsxLDIwfSkpP1MpPyk/KSQvO2Z1bmN0aW9uIFpsKG4pe2xldFtlLHQscixzLGksbyxhLHUsbF09bixmPWVbMF09PT1cXFwiLVxcXCIsZD11JiZ1WzBdPT09XFxcIi1cXFwiLHA9KGgsYj0hMSk9PmghPT12b2lkIDAmJihifHxoJiZmKT8taDpoO3JldHVyblt7eWVhcnM6cChDdCh0KSksbW9udGhzOnAoQ3QocikpLHdlZWtzOnAoQ3QocykpLGRheXM6cChDdChpKSksaG91cnM6cChDdChvKSksbWludXRlczpwKEN0KGEpKSxzZWNvbmRzOnAoQ3QodSksdT09PVxcXCItMFxcXCIpLG1pbGxpc2Vjb25kczpwKHNyKGwpLGQpfV19dmFyIFFsPXtHTVQ6MCxFRFQ6LTQqNjAsRVNUOi01KjYwLENEVDotNSo2MCxDU1Q6LTYqNjAsTURUOi02KjYwLE1TVDotNyo2MCxQRFQ6LTcqNjAsUFNUOi04KjYwfTtmdW5jdGlvbiBFaShuLGUsdCxyLHMsaSxvKXtsZXQgYT17eWVhcjplLmxlbmd0aD09PTI/b3IoRHQoZSkpOkR0KGUpLG1vbnRoOm5pLmluZGV4T2YodCkrMSxkYXk6RHQociksaG91cjpEdChzKSxtaW51dGU6RHQoaSl9O3JldHVybiBvJiYoYS5zZWNvbmQ9RHQobykpLG4mJihhLndlZWtkYXk9bi5sZW5ndGg+Mz9zaS5pbmRleE9mKG4pKzE6aWkuaW5kZXhPZihuKSsxKSxhfXZhciBYbD0vXig/OihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pLFxcXFxzKT8oXFxcXGR7MSwyfSlcXFxccyhKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYylcXFxccyhcXFxcZHsyLDR9KVxcXFxzKFxcXFxkXFxcXGQpOihcXFxcZFxcXFxkKSg/OjooXFxcXGRcXFxcZCkpP1xcXFxzKD86KFVUfEdNVHxbRUNNUF1bU0RdVCl8KFtael0pfCg/OihbKy1dXFxcXGRcXFxcZCkoXFxcXGRcXFxcZCkpKSQvO2Z1bmN0aW9uIGVjKG4pe2xldFssZSx0LHIscyxpLG8sYSx1LGwsZixkXT1uLHA9RWkoZSxzLHIsdCxpLG8sYSksaDtyZXR1cm4gdT9oPVFsW3VdOmw/aD0wOmg9VnQoZixkKSxbcCxuZXcgaGUoaCldfWZ1bmN0aW9uIHRjKG4pe3JldHVybiBuLnJlcGxhY2UoL1xcXFwoW14oKV0qXFxcXCl8W1xcXFxuXFxcXHRdL2csXFxcIiBcXFwiKS5yZXBsYWNlKC8oXFxcXHNcXFxccyspL2csXFxcIiBcXFwiKS50cmltKCl9dmFyIG5jPS9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksIChcXFxcZFxcXFxkKSAoSmFufEZlYnxNYXJ8QXByfE1heXxKdW58SnVsfEF1Z3xTZXB8T2N0fE5vdnxEZWMpIChcXFxcZHs0fSkgKFxcXFxkXFxcXGQpOihcXFxcZFxcXFxkKTooXFxcXGRcXFxcZCkgR01UJC8scmM9L14oTW9uZGF5fFR1ZXNkYXl8V2VkbmVzZGF5fFRodXJzZGF5fEZyaWRheXxTYXR1cmRheXxTdW5kYXkpLCAoXFxcXGRcXFxcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXFxcXGRcXFxcZCkgKFxcXFxkXFxcXGQpOihcXFxcZFxcXFxkKTooXFxcXGRcXFxcZCkgR01UJC8sc2M9L14oTW9ufFR1ZXxXZWR8VGh1fEZyaXxTYXR8U3VuKSAoSmFufEZlYnxNYXJ8QXByfE1heXxKdW58SnVsfEF1Z3xTZXB8T2N0fE5vdnxEZWMpICggXFxcXGR8XFxcXGRcXFxcZCkgKFxcXFxkXFxcXGQpOihcXFxcZFxcXFxkKTooXFxcXGRcXFxcZCkgKFxcXFxkezR9KSQvO2Z1bmN0aW9uIFhvKG4pe2xldFssZSx0LHIscyxpLG8sYV09bjtyZXR1cm5bRWkoZSxzLHIsdCxpLG8sYSksaGUudXRjSW5zdGFuY2VdfWZ1bmN0aW9uIGljKG4pe2xldFssZSx0LHIscyxpLG8sYV09bjtyZXR1cm5bRWkoZSxhLHQscixzLGksbyksaGUudXRjSW5zdGFuY2VdfXZhciBvYz1wbihxbCxGaSksYWM9cG4oVmwsRmkpLHVjPXBuKFVsLEZpKSxsYz1wbihuYSksc2E9bW4oemwseW4sbHIsY3IpLGNjPW1uKEtsLHluLGxyLGNyKSxmYz1tbihXbCx5bixscixjciksZGM9bW4oeW4sbHIsY3IpO2Z1bmN0aW9uIGlhKG4pe3JldHVybiBEbihuLFtvYyxzYV0sW2FjLGNjXSxbdWMsZmNdLFtsYyxkY10pfWZ1bmN0aW9uIG9hKG4pe3JldHVybiBEbih0YyhuKSxbWGwsZWNdKX1mdW5jdGlvbiBhYShuKXtyZXR1cm4gRG4obixbbmMsWG9dLFtyYyxYb10sW3NjLGljXSl9ZnVuY3Rpb24gdWEobil7cmV0dXJuIERuKG4sW0dsLFpsXSl9dmFyIGhjPW1uKHluKTtmdW5jdGlvbiBsYShuKXtyZXR1cm4gRG4obixbWWwsaGNdKX12YXIgcGM9cG4oSGwsSmwpLG1jPXBuKHJhKSxEYz1tbih5bixscixjcik7ZnVuY3Rpb24gY2Eobil7cmV0dXJuIERuKG4sW3BjLHNhXSxbbWMsRGNdKX12YXIgeWM9XFxcIkludmFsaWQgRHVyYXRpb25cXFwiLGZhPXt3ZWVrczp7ZGF5czo3LGhvdXJzOjcqMjQsbWludXRlczo3KjI0KjYwLHNlY29uZHM6NyoyNCo2MCo2MCxtaWxsaXNlY29uZHM6NyoyNCo2MCo2MCoxZTN9LGRheXM6e2hvdXJzOjI0LG1pbnV0ZXM6MjQqNjAsc2Vjb25kczoyNCo2MCo2MCxtaWxsaXNlY29uZHM6MjQqNjAqNjAqMWUzfSxob3Vyczp7bWludXRlczo2MCxzZWNvbmRzOjYwKjYwLG1pbGxpc2Vjb25kczo2MCo2MCoxZTN9LG1pbnV0ZXM6e3NlY29uZHM6NjAsbWlsbGlzZWNvbmRzOjYwKjFlM30sc2Vjb25kczp7bWlsbGlzZWNvbmRzOjFlM319LGdjPVIoe3llYXJzOntxdWFydGVyczo0LG1vbnRoczoxMix3ZWVrczo1MixkYXlzOjM2NSxob3VyczozNjUqMjQsbWludXRlczozNjUqMjQqNjAsc2Vjb25kczozNjUqMjQqNjAqNjAsbWlsbGlzZWNvbmRzOjM2NSoyNCo2MCo2MCoxZTN9LHF1YXJ0ZXJzOnttb250aHM6Myx3ZWVrczoxMyxkYXlzOjkxLGhvdXJzOjkxKjI0LG1pbnV0ZXM6OTEqMjQqNjAsc2Vjb25kczo5MSoyNCo2MCo2MCxtaWxsaXNlY29uZHM6OTEqMjQqNjAqNjAqMWUzfSxtb250aHM6e3dlZWtzOjQsZGF5czozMCxob3VyczozMCoyNCxtaW51dGVzOjMwKjI0KjYwLHNlY29uZHM6MzAqMjQqNjAqNjAsbWlsbGlzZWNvbmRzOjMwKjI0KjYwKjYwKjFlM319LGZhKSxNZT0xNDYwOTcvNDAwLGduPTE0NjA5Ny80ODAwLGJjPVIoe3llYXJzOntxdWFydGVyczo0LG1vbnRoczoxMix3ZWVrczpNZS83LGRheXM6TWUsaG91cnM6TWUqMjQsbWludXRlczpNZSoyNCo2MCxzZWNvbmRzOk1lKjI0KjYwKjYwLG1pbGxpc2Vjb25kczpNZSoyNCo2MCo2MCoxZTN9LHF1YXJ0ZXJzOnttb250aHM6Myx3ZWVrczpNZS8yOCxkYXlzOk1lLzQsaG91cnM6TWUqMjQvNCxtaW51dGVzOk1lKjI0KjYwLzQsc2Vjb25kczpNZSoyNCo2MCo2MC80LG1pbGxpc2Vjb25kczpNZSoyNCo2MCo2MCoxZTMvNH0sbW9udGhzOnt3ZWVrczpnbi83LGRheXM6Z24saG91cnM6Z24qMjQsbWludXRlczpnbioyNCo2MCxzZWNvbmRzOmduKjI0KjYwKjYwLG1pbGxpc2Vjb25kczpnbioyNCo2MCo2MCoxZTN9fSxmYSksS3Q9W1xcXCJ5ZWFyc1xcXCIsXFxcInF1YXJ0ZXJzXFxcIixcXFwibW9udGhzXFxcIixcXFwid2Vla3NcXFwiLFxcXCJkYXlzXFxcIixcXFwiaG91cnNcXFwiLFxcXCJtaW51dGVzXFxcIixcXFwic2Vjb25kc1xcXCIsXFxcIm1pbGxpc2Vjb25kc1xcXCJdLEZjPUt0LnNsaWNlKDApLnJldmVyc2UoKTtmdW5jdGlvbiBVdChuLGUsdD0hMSl7bGV0IHI9e3ZhbHVlczp0P2UudmFsdWVzOlIoUih7fSxuLnZhbHVlcyksZS52YWx1ZXN8fHt9KSxsb2M6bi5sb2MuY2xvbmUoZS5sb2MpLGNvbnZlcnNpb25BY2N1cmFjeTplLmNvbnZlcnNpb25BY2N1cmFjeXx8bi5jb252ZXJzaW9uQWNjdXJhY3l9O3JldHVybiBuZXcgQihyKX1mdW5jdGlvbiBFYyhuKXtyZXR1cm4gbjwwP01hdGguZmxvb3Iobik6TWF0aC5jZWlsKG4pfWZ1bmN0aW9uIGRhKG4sZSx0LHIscyl7bGV0IGk9bltzXVt0XSxvPWVbdF0vaSxhPU1hdGguc2lnbihvKT09PU1hdGguc2lnbihyW3NdKSx1PSFhJiZyW3NdIT09MCYmTWF0aC5hYnMobyk8PTE/RWMobyk6TWF0aC50cnVuYyhvKTtyW3NdKz11LGVbdF0tPXUqaX1mdW5jdGlvbiB3YyhuLGUpe0ZjLnJlZHVjZSgodCxyKT0+VyhlW3JdKT90Oih0JiZkYShuLGUsdCxlLHIpLHIpLG51bGwpfXZhciBCPWNsYXNzIG57Y29uc3RydWN0b3IoZSl7bGV0IHQ9ZS5jb252ZXJzaW9uQWNjdXJhY3k9PT1cXFwibG9uZ3Rlcm1cXFwifHwhMTt0aGlzLnZhbHVlcz1lLnZhbHVlcyx0aGlzLmxvYz1lLmxvY3x8bmUuY3JlYXRlKCksdGhpcy5jb252ZXJzaW9uQWNjdXJhY3k9dD9cXFwibG9uZ3Rlcm1cXFwiOlxcXCJjYXN1YWxcXFwiLHRoaXMuaW52YWxpZD1lLmludmFsaWR8fG51bGwsdGhpcy5tYXRyaXg9dD9iYzpnYyx0aGlzLmlzTHV4b25EdXJhdGlvbj0hMH1zdGF0aWMgZnJvbU1pbGxpcyhlLHQpe3JldHVybiBuLmZyb21PYmplY3Qoe21pbGxpc2Vjb25kczplfSx0KX1zdGF0aWMgZnJvbU9iamVjdChlLHQ9e30pe2lmKGU9PW51bGx8fHR5cGVvZiBlIT1cXFwib2JqZWN0XFxcIil0aHJvdyBuZXcgZmUoYER1cmF0aW9uLmZyb21PYmplY3Q6IGFyZ3VtZW50IGV4cGVjdGVkIHRvIGJlIGFuIG9iamVjdCwgZ290ICR7ZT09PW51bGw/XFxcIm51bGxcXFwiOnR5cGVvZiBlfWApO3JldHVybiBuZXcgbih7dmFsdWVzOmNuKGUsbi5ub3JtYWxpemVVbml0KSxsb2M6bmUuZnJvbU9iamVjdCh0KSxjb252ZXJzaW9uQWNjdXJhY3k6dC5jb252ZXJzaW9uQWNjdXJhY3l9KX1zdGF0aWMgZnJvbUR1cmF0aW9uTGlrZShlKXtpZih0dChlKSlyZXR1cm4gbi5mcm9tTWlsbGlzKGUpO2lmKG4uaXNEdXJhdGlvbihlKSlyZXR1cm4gZTtpZih0eXBlb2YgZT09XFxcIm9iamVjdFxcXCIpcmV0dXJuIG4uZnJvbU9iamVjdChlKTt0aHJvdyBuZXcgZmUoYFVua25vd24gZHVyYXRpb24gYXJndW1lbnQgJHtlfSBvZiB0eXBlICR7dHlwZW9mIGV9YCl9c3RhdGljIGZyb21JU08oZSx0KXtsZXRbcl09dWEoZSk7cmV0dXJuIHI/bi5mcm9tT2JqZWN0KHIsdCk6bi5pbnZhbGlkKFxcXCJ1bnBhcnNhYmxlXFxcIixgdGhlIGlucHV0IFxcXCIke2V9XFxcIiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKX1zdGF0aWMgZnJvbUlTT1RpbWUoZSx0KXtsZXRbcl09bGEoZSk7cmV0dXJuIHI/bi5mcm9tT2JqZWN0KHIsdCk6bi5pbnZhbGlkKFxcXCJ1bnBhcnNhYmxlXFxcIixgdGhlIGlucHV0IFxcXCIke2V9XFxcIiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKX1zdGF0aWMgaW52YWxpZChlLHQ9bnVsbCl7aWYoIWUpdGhyb3cgbmV3IGZlKFxcXCJuZWVkIHRvIHNwZWNpZnkgYSByZWFzb24gdGhlIER1cmF0aW9uIGlzIGludmFsaWRcXFwiKTtsZXQgcj1lIGluc3RhbmNlb2YgZGU/ZTpuZXcgZGUoZSx0KTtpZihYLnRocm93T25JbnZhbGlkKXRocm93IG5ldyBXcihyKTtyZXR1cm4gbmV3IG4oe2ludmFsaWQ6cn0pfXN0YXRpYyBub3JtYWxpemVVbml0KGUpe2xldCB0PXt5ZWFyOlxcXCJ5ZWFyc1xcXCIseWVhcnM6XFxcInllYXJzXFxcIixxdWFydGVyOlxcXCJxdWFydGVyc1xcXCIscXVhcnRlcnM6XFxcInF1YXJ0ZXJzXFxcIixtb250aDpcXFwibW9udGhzXFxcIixtb250aHM6XFxcIm1vbnRoc1xcXCIsd2VlazpcXFwid2Vla3NcXFwiLHdlZWtzOlxcXCJ3ZWVrc1xcXCIsZGF5OlxcXCJkYXlzXFxcIixkYXlzOlxcXCJkYXlzXFxcIixob3VyOlxcXCJob3Vyc1xcXCIsaG91cnM6XFxcImhvdXJzXFxcIixtaW51dGU6XFxcIm1pbnV0ZXNcXFwiLG1pbnV0ZXM6XFxcIm1pbnV0ZXNcXFwiLHNlY29uZDpcXFwic2Vjb25kc1xcXCIsc2Vjb25kczpcXFwic2Vjb25kc1xcXCIsbWlsbGlzZWNvbmQ6XFxcIm1pbGxpc2Vjb25kc1xcXCIsbWlsbGlzZWNvbmRzOlxcXCJtaWxsaXNlY29uZHNcXFwifVtlJiZlLnRvTG93ZXJDYXNlKCldO2lmKCF0KXRocm93IG5ldyBzbihlKTtyZXR1cm4gdH1zdGF0aWMgaXNEdXJhdGlvbihlKXtyZXR1cm4gZSYmZS5pc0x1eG9uRHVyYXRpb258fCExfWdldCBsb2NhbGUoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMubG9jLmxvY2FsZTpudWxsfWdldCBudW1iZXJpbmdTeXN0ZW0oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMubG9jLm51bWJlcmluZ1N5c3RlbTpudWxsfXRvRm9ybWF0KGUsdD17fSl7bGV0IHI9eWUoUih7fSx0KSx7Zmxvb3I6dC5yb3VuZCE9PSExJiZ0LmZsb29yIT09ITF9KTtyZXR1cm4gdGhpcy5pc1ZhbGlkP3dlLmNyZWF0ZSh0aGlzLmxvYyxyKS5mb3JtYXREdXJhdGlvbkZyb21TdHJpbmcodGhpcyxlKTp5Y310b0h1bWFuKGU9e30pe2xldCB0PUt0Lm1hcChyPT57bGV0IHM9dGhpcy52YWx1ZXNbcl07cmV0dXJuIFcocyk/bnVsbDp0aGlzLmxvYy5udW1iZXJGb3JtYXR0ZXIoeWUoUih7c3R5bGU6XFxcInVuaXRcXFwiLHVuaXREaXNwbGF5OlxcXCJsb25nXFxcIn0sZSkse3VuaXQ6ci5zbGljZSgwLC0xKX0pKS5mb3JtYXQocyl9KS5maWx0ZXIocj0+cik7cmV0dXJuIHRoaXMubG9jLmxpc3RGb3JtYXR0ZXIoUih7dHlwZTpcXFwiY29uanVuY3Rpb25cXFwiLHN0eWxlOmUubGlzdFN0eWxlfHxcXFwibmFycm93XFxcIn0sZSkpLmZvcm1hdCh0KX10b09iamVjdCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/Uih7fSx0aGlzLnZhbHVlcyk6e319dG9JU08oKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiBudWxsO2xldCBlPVxcXCJQXFxcIjtyZXR1cm4gdGhpcy55ZWFycyE9PTAmJihlKz10aGlzLnllYXJzK1xcXCJZXFxcIiksKHRoaXMubW9udGhzIT09MHx8dGhpcy5xdWFydGVycyE9PTApJiYoZSs9dGhpcy5tb250aHMrdGhpcy5xdWFydGVycyozK1xcXCJNXFxcIiksdGhpcy53ZWVrcyE9PTAmJihlKz10aGlzLndlZWtzK1xcXCJXXFxcIiksdGhpcy5kYXlzIT09MCYmKGUrPXRoaXMuZGF5cytcXFwiRFxcXCIpLCh0aGlzLmhvdXJzIT09MHx8dGhpcy5taW51dGVzIT09MHx8dGhpcy5zZWNvbmRzIT09MHx8dGhpcy5taWxsaXNlY29uZHMhPT0wKSYmKGUrPVxcXCJUXFxcIiksdGhpcy5ob3VycyE9PTAmJihlKz10aGlzLmhvdXJzK1xcXCJIXFxcIiksdGhpcy5taW51dGVzIT09MCYmKGUrPXRoaXMubWludXRlcytcXFwiTVxcXCIpLCh0aGlzLnNlY29uZHMhPT0wfHx0aGlzLm1pbGxpc2Vjb25kcyE9PTApJiYoZSs9YW4odGhpcy5zZWNvbmRzK3RoaXMubWlsbGlzZWNvbmRzLzFlMywzKStcXFwiU1xcXCIpLGU9PT1cXFwiUFxcXCImJihlKz1cXFwiVDBTXFxcIiksZX10b0lTT1RpbWUoZT17fSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gbnVsbDtsZXQgdD10aGlzLnRvTWlsbGlzKCk7aWYodDwwfHx0Pj04NjRlNSlyZXR1cm4gbnVsbDtlPVIoe3N1cHByZXNzTWlsbGlzZWNvbmRzOiExLHN1cHByZXNzU2Vjb25kczohMSxpbmNsdWRlUHJlZml4OiExLGZvcm1hdDpcXFwiZXh0ZW5kZWRcXFwifSxlKTtsZXQgcj10aGlzLnNoaWZ0VG8oXFxcImhvdXJzXFxcIixcXFwibWludXRlc1xcXCIsXFxcInNlY29uZHNcXFwiLFxcXCJtaWxsaXNlY29uZHNcXFwiKSxzPWUuZm9ybWF0PT09XFxcImJhc2ljXFxcIj9cXFwiaGhtbVxcXCI6XFxcImhoOm1tXFxcIjsoIWUuc3VwcHJlc3NTZWNvbmRzfHxyLnNlY29uZHMhPT0wfHxyLm1pbGxpc2Vjb25kcyE9PTApJiYocys9ZS5mb3JtYXQ9PT1cXFwiYmFzaWNcXFwiP1xcXCJzc1xcXCI6XFxcIjpzc1xcXCIsKCFlLnN1cHByZXNzTWlsbGlzZWNvbmRzfHxyLm1pbGxpc2Vjb25kcyE9PTApJiYocys9XFxcIi5TU1NcXFwiKSk7bGV0IGk9ci50b0Zvcm1hdChzKTtyZXR1cm4gZS5pbmNsdWRlUHJlZml4JiYoaT1cXFwiVFxcXCIraSksaX10b0pTT04oKXtyZXR1cm4gdGhpcy50b0lTTygpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudG9JU08oKX10b01pbGxpcygpe3JldHVybiB0aGlzLmFzKFxcXCJtaWxsaXNlY29uZHNcXFwiKX12YWx1ZU9mKCl7cmV0dXJuIHRoaXMudG9NaWxsaXMoKX1wbHVzKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IHQ9bi5mcm9tRHVyYXRpb25MaWtlKGUpLHI9e307Zm9yKGxldCBzIG9mIEt0KShrdCh0LnZhbHVlcyxzKXx8a3QodGhpcy52YWx1ZXMscykpJiYocltzXT10LmdldChzKSt0aGlzLmdldChzKSk7cmV0dXJuIFV0KHRoaXMse3ZhbHVlczpyfSwhMCl9bWludXMoZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztsZXQgdD1uLmZyb21EdXJhdGlvbkxpa2UoZSk7cmV0dXJuIHRoaXMucGx1cyh0Lm5lZ2F0ZSgpKX1tYXBVbml0cyhlKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2xldCB0PXt9O2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpdFtyXT1laShlKHRoaXMudmFsdWVzW3JdLHIpKTtyZXR1cm4gVXQodGhpcyx7dmFsdWVzOnR9LCEwKX1nZXQoZSl7cmV0dXJuIHRoaXNbbi5ub3JtYWxpemVVbml0KGUpXX1zZXQoZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztsZXQgdD1SKFIoe30sdGhpcy52YWx1ZXMpLGNuKGUsbi5ub3JtYWxpemVVbml0KSk7cmV0dXJuIFV0KHRoaXMse3ZhbHVlczp0fSl9cmVjb25maWd1cmUoe2xvY2FsZTplLG51bWJlcmluZ1N5c3RlbTp0LGNvbnZlcnNpb25BY2N1cmFjeTpyfT17fSl7bGV0IHM9dGhpcy5sb2MuY2xvbmUoe2xvY2FsZTplLG51bWJlcmluZ1N5c3RlbTp0fSksaT17bG9jOnN9O3JldHVybiByJiYoaS5jb252ZXJzaW9uQWNjdXJhY3k9ciksVXQodGhpcyxpKX1hcyhlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuc2hpZnRUbyhlKS5nZXQoZSk6TmFOfW5vcm1hbGl6ZSgpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IGU9dGhpcy50b09iamVjdCgpO3JldHVybiB3Yyh0aGlzLm1hdHJpeCxlKSxVdCh0aGlzLHt2YWx1ZXM6ZX0sITApfXNoaWZ0VG8oLi4uZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztpZihlLmxlbmd0aD09PTApcmV0dXJuIHRoaXM7ZT1lLm1hcChvPT5uLm5vcm1hbGl6ZVVuaXQobykpO2xldCB0PXt9LHI9e30scz10aGlzLnRvT2JqZWN0KCksaTtmb3IobGV0IG8gb2YgS3QpaWYoZS5pbmRleE9mKG8pPj0wKXtpPW87bGV0IGE9MDtmb3IobGV0IGwgaW4gcilhKz10aGlzLm1hdHJpeFtsXVtvXSpyW2xdLHJbbF09MDt0dChzW29dKSYmKGErPXNbb10pO2xldCB1PU1hdGgudHJ1bmMoYSk7dFtvXT11LHJbb109KGEqMWUzLXUqMWUzKS8xZTM7Zm9yKGxldCBsIGluIHMpS3QuaW5kZXhPZihsKT5LdC5pbmRleE9mKG8pJiZkYSh0aGlzLm1hdHJpeCxzLGwsdCxvKX1lbHNlIHR0KHNbb10pJiYocltvXT1zW29dKTtmb3IobGV0IG8gaW4gcilyW29dIT09MCYmKHRbaV0rPW89PT1pP3Jbb106cltvXS90aGlzLm1hdHJpeFtpXVtvXSk7cmV0dXJuIFV0KHRoaXMse3ZhbHVlczp0fSwhMCkubm9ybWFsaXplKCl9bmVnYXRlKCl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztsZXQgZT17fTtmb3IobGV0IHQgb2YgT2JqZWN0LmtleXModGhpcy52YWx1ZXMpKWVbdF09dGhpcy52YWx1ZXNbdF09PT0wPzA6LXRoaXMudmFsdWVzW3RdO3JldHVybiBVdCh0aGlzLHt2YWx1ZXM6ZX0sITApfWdldCB5ZWFycygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMueWVhcnN8fDA6TmFOfWdldCBxdWFydGVycygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMucXVhcnRlcnN8fDA6TmFOfWdldCBtb250aHMoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudmFsdWVzLm1vbnRoc3x8MDpOYU59Z2V0IHdlZWtzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy53ZWVrc3x8MDpOYU59Z2V0IGRheXMoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudmFsdWVzLmRheXN8fDA6TmFOfWdldCBob3Vycygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMuaG91cnN8fDA6TmFOfWdldCBtaW51dGVzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy5taW51dGVzfHwwOk5hTn1nZXQgc2Vjb25kcygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMuc2Vjb25kc3x8MDpOYU59Z2V0IG1pbGxpc2Vjb25kcygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMubWlsbGlzZWNvbmRzfHwwOk5hTn1nZXQgaXNWYWxpZCgpe3JldHVybiB0aGlzLmludmFsaWQ9PT1udWxsfWdldCBpbnZhbGlkUmVhc29uKCl7cmV0dXJuIHRoaXMuaW52YWxpZD90aGlzLmludmFsaWQucmVhc29uOm51bGx9Z2V0IGludmFsaWRFeHBsYW5hdGlvbigpe3JldHVybiB0aGlzLmludmFsaWQ/dGhpcy5pbnZhbGlkLmV4cGxhbmF0aW9uOm51bGx9ZXF1YWxzKGUpe2lmKCF0aGlzLmlzVmFsaWR8fCFlLmlzVmFsaWR8fCF0aGlzLmxvYy5lcXVhbHMoZS5sb2MpKXJldHVybiExO2Z1bmN0aW9uIHQocixzKXtyZXR1cm4gcj09PXZvaWQgMHx8cj09PTA/cz09PXZvaWQgMHx8cz09PTA6cj09PXN9Zm9yKGxldCByIG9mIEt0KWlmKCF0KHRoaXMudmFsdWVzW3JdLGUudmFsdWVzW3JdKSlyZXR1cm4hMTtyZXR1cm4hMH19O3ZhciBmcj1cXFwiSW52YWxpZCBJbnRlcnZhbFxcXCI7ZnVuY3Rpb24gVGMobixlKXtyZXR1cm4hbnx8IW4uaXNWYWxpZD95dC5pbnZhbGlkKFxcXCJtaXNzaW5nIG9yIGludmFsaWQgc3RhcnRcXFwiKTohZXx8IWUuaXNWYWxpZD95dC5pbnZhbGlkKFxcXCJtaXNzaW5nIG9yIGludmFsaWQgZW5kXFxcIik6ZTxuP3l0LmludmFsaWQoXFxcImVuZCBiZWZvcmUgc3RhcnRcXFwiLGBUaGUgZW5kIG9mIGFuIGludGVydmFsIG11c3QgYmUgYWZ0ZXIgaXRzIHN0YXJ0LCBidXQgeW91IGhhZCBzdGFydD0ke24udG9JU08oKX0gYW5kIGVuZD0ke2UudG9JU08oKX1gKTpudWxsfXZhciB5dD1jbGFzcyBue2NvbnN0cnVjdG9yKGUpe3RoaXMucz1lLnN0YXJ0LHRoaXMuZT1lLmVuZCx0aGlzLmludmFsaWQ9ZS5pbnZhbGlkfHxudWxsLHRoaXMuaXNMdXhvbkludGVydmFsPSEwfXN0YXRpYyBpbnZhbGlkKGUsdD1udWxsKXtpZighZSl0aHJvdyBuZXcgZmUoXFxcIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgSW50ZXJ2YWwgaXMgaW52YWxpZFxcXCIpO2xldCByPWUgaW5zdGFuY2VvZiBkZT9lOm5ldyBkZShlLHQpO2lmKFgudGhyb3dPbkludmFsaWQpdGhyb3cgbmV3IEtyKHIpO3JldHVybiBuZXcgbih7aW52YWxpZDpyfSl9c3RhdGljIGZyb21EYXRlVGltZXMoZSx0KXtsZXQgcj1ibihlKSxzPWJuKHQpLGk9VGMocixzKTtyZXR1cm4gaT09bnVsbD9uZXcgbih7c3RhcnQ6cixlbmQ6c30pOml9c3RhdGljIGFmdGVyKGUsdCl7bGV0IHI9Qi5mcm9tRHVyYXRpb25MaWtlKHQpLHM9Ym4oZSk7cmV0dXJuIG4uZnJvbURhdGVUaW1lcyhzLHMucGx1cyhyKSl9c3RhdGljIGJlZm9yZShlLHQpe2xldCByPUIuZnJvbUR1cmF0aW9uTGlrZSh0KSxzPWJuKGUpO3JldHVybiBuLmZyb21EYXRlVGltZXMocy5taW51cyhyKSxzKX1zdGF0aWMgZnJvbUlTTyhlLHQpe2xldFtyLHNdPShlfHxcXFwiXFxcIikuc3BsaXQoXFxcIi9cXFwiLDIpO2lmKHImJnMpe2xldCBpLG87dHJ5e2k9cS5mcm9tSVNPKHIsdCksbz1pLmlzVmFsaWR9Y2F0Y2gobCl7bz0hMX1sZXQgYSx1O3RyeXthPXEuZnJvbUlTTyhzLHQpLHU9YS5pc1ZhbGlkfWNhdGNoKGwpe3U9ITF9aWYobyYmdSlyZXR1cm4gbi5mcm9tRGF0ZVRpbWVzKGksYSk7aWYobyl7bGV0IGw9Qi5mcm9tSVNPKHMsdCk7aWYobC5pc1ZhbGlkKXJldHVybiBuLmFmdGVyKGksbCl9ZWxzZSBpZih1KXtsZXQgbD1CLmZyb21JU08ocix0KTtpZihsLmlzVmFsaWQpcmV0dXJuIG4uYmVmb3JlKGEsbCl9fXJldHVybiBuLmludmFsaWQoXFxcInVucGFyc2FibGVcXFwiLGB0aGUgaW5wdXQgXFxcIiR7ZX1cXFwiIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApfXN0YXRpYyBpc0ludGVydmFsKGUpe3JldHVybiBlJiZlLmlzTHV4b25JbnRlcnZhbHx8ITF9Z2V0IHN0YXJ0KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnM6bnVsbH1nZXQgZW5kKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmU6bnVsbH1nZXQgaXNWYWxpZCgpe3JldHVybiB0aGlzLmludmFsaWRSZWFzb249PT1udWxsfWdldCBpbnZhbGlkUmVhc29uKCl7cmV0dXJuIHRoaXMuaW52YWxpZD90aGlzLmludmFsaWQucmVhc29uOm51bGx9Z2V0IGludmFsaWRFeHBsYW5hdGlvbigpe3JldHVybiB0aGlzLmludmFsaWQ/dGhpcy5pbnZhbGlkLmV4cGxhbmF0aW9uOm51bGx9bGVuZ3RoKGU9XFxcIm1pbGxpc2Vjb25kc1xcXCIpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy50b0R1cmF0aW9uKGUpLmdldChlKTpOYU59Y291bnQoZT1cXFwibWlsbGlzZWNvbmRzXFxcIil7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gTmFOO2xldCB0PXRoaXMuc3RhcnQuc3RhcnRPZihlKSxyPXRoaXMuZW5kLnN0YXJ0T2YoZSk7cmV0dXJuIE1hdGguZmxvb3Ioci5kaWZmKHQsZSkuZ2V0KGUpKSsxfWhhc1NhbWUoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmlzRW1wdHkoKXx8dGhpcy5lLm1pbnVzKDEpLmhhc1NhbWUodGhpcy5zLGUpOiExfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5zLnZhbHVlT2YoKT09PXRoaXMuZS52YWx1ZU9mKCl9aXNBZnRlcihlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMucz5lOiExfWlzQmVmb3JlKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5lPD1lOiExfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5zPD1lJiZ0aGlzLmU+ZTohMX1zZXQoe3N0YXJ0OmUsZW5kOnR9PXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP24uZnJvbURhdGVUaW1lcyhlfHx0aGlzLnMsdHx8dGhpcy5lKTp0aGlzfXNwbGl0QXQoLi4uZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm5bXTtsZXQgdD1lLm1hcChibikuZmlsdGVyKG89PnRoaXMuY29udGFpbnMobykpLnNvcnQoKSxyPVtdLHtzfT10aGlzLGk9MDtmb3IoO3M8dGhpcy5lOyl7bGV0IG89dFtpXXx8dGhpcy5lLGE9K28+K3RoaXMuZT90aGlzLmU6bztyLnB1c2gobi5mcm9tRGF0ZVRpbWVzKHMsYSkpLHM9YSxpKz0xfXJldHVybiByfXNwbGl0QnkoZSl7bGV0IHQ9Qi5mcm9tRHVyYXRpb25MaWtlKGUpO2lmKCF0aGlzLmlzVmFsaWR8fCF0LmlzVmFsaWR8fHQuYXMoXFxcIm1pbGxpc2Vjb25kc1xcXCIpPT09MClyZXR1cm5bXTtsZXR7czpyfT10aGlzLHM9MSxpLG89W107Zm9yKDtyPHRoaXMuZTspe2xldCBhPXRoaXMuc3RhcnQucGx1cyh0Lm1hcFVuaXRzKHU9PnUqcykpO2k9K2E+K3RoaXMuZT90aGlzLmU6YSxvLnB1c2gobi5mcm9tRGF0ZVRpbWVzKHIsaSkpLHI9aSxzKz0xfXJldHVybiBvfWRpdmlkZUVxdWFsbHkoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnNwbGl0QnkodGhpcy5sZW5ndGgoKS9lKS5zbGljZSgwLGUpOltdfW92ZXJsYXBzKGUpe3JldHVybiB0aGlzLmU+ZS5zJiZ0aGlzLnM8ZS5lfWFidXRzU3RhcnQoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD8rdGhpcy5lPT0rZS5zOiExfWFidXRzRW5kKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/K2UuZT09K3RoaXMuczohMX1lbmd1bGZzKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5zPD1lLnMmJnRoaXMuZT49ZS5lOiExfWVxdWFscyhlKXtyZXR1cm4hdGhpcy5pc1ZhbGlkfHwhZS5pc1ZhbGlkPyExOnRoaXMucy5lcXVhbHMoZS5zKSYmdGhpcy5lLmVxdWFscyhlLmUpfWludGVyc2VjdGlvbihlKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2xldCB0PXRoaXMucz5lLnM/dGhpcy5zOmUucyxyPXRoaXMuZTxlLmU/dGhpcy5lOmUuZTtyZXR1cm4gdD49cj9udWxsOm4uZnJvbURhdGVUaW1lcyh0LHIpfXVuaW9uKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IHQ9dGhpcy5zPGUucz90aGlzLnM6ZS5zLHI9dGhpcy5lPmUuZT90aGlzLmU6ZS5lO3JldHVybiBuLmZyb21EYXRlVGltZXModCxyKX1zdGF0aWMgbWVyZ2UoZSl7bGV0W3Qscl09ZS5zb3J0KChzLGkpPT5zLnMtaS5zKS5yZWR1Y2UoKFtzLGldLG8pPT5pP2kub3ZlcmxhcHMobyl8fGkuYWJ1dHNTdGFydChvKT9bcyxpLnVuaW9uKG8pXTpbcy5jb25jYXQoW2ldKSxvXTpbcyxvXSxbW10sbnVsbF0pO3JldHVybiByJiZ0LnB1c2gociksdH1zdGF0aWMgeG9yKGUpe2xldCB0PW51bGwscj0wLHM9W10saT1lLm1hcCh1PT5be3RpbWU6dS5zLHR5cGU6XFxcInNcXFwifSx7dGltZTp1LmUsdHlwZTpcXFwiZVxcXCJ9XSksbz1BcnJheS5wcm90b3R5cGUuY29uY2F0KC4uLmkpLGE9by5zb3J0KCh1LGwpPT51LnRpbWUtbC50aW1lKTtmb3IobGV0IHUgb2YgYSlyKz11LnR5cGU9PT1cXFwic1xcXCI/MTotMSxyPT09MT90PXUudGltZToodCYmK3QhPSt1LnRpbWUmJnMucHVzaChuLmZyb21EYXRlVGltZXModCx1LnRpbWUpKSx0PW51bGwpO3JldHVybiBuLm1lcmdlKHMpfWRpZmZlcmVuY2UoLi4uZSl7cmV0dXJuIG4ueG9yKFt0aGlzXS5jb25jYXQoZSkpLm1hcCh0PT50aGlzLmludGVyc2VjdGlvbih0KSkuZmlsdGVyKHQ9PnQmJiF0LmlzRW1wdHkoKSl9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2BbJHt0aGlzLnMudG9JU08oKX0gXFxcXHUyMDEzICR7dGhpcy5lLnRvSVNPKCl9KWA6ZnJ9dG9JU08oZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD9gJHt0aGlzLnMudG9JU08oZSl9LyR7dGhpcy5lLnRvSVNPKGUpfWA6ZnJ9dG9JU09EYXRlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9gJHt0aGlzLnMudG9JU09EYXRlKCl9LyR7dGhpcy5lLnRvSVNPRGF0ZSgpfWA6ZnJ9dG9JU09UaW1lKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/YCR7dGhpcy5zLnRvSVNPVGltZShlKX0vJHt0aGlzLmUudG9JU09UaW1lKGUpfWA6ZnJ9dG9Gb3JtYXQoZSx7c2VwYXJhdG9yOnQ9XFxcIiBcXFxcdTIwMTMgXFxcIn09e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/YCR7dGhpcy5zLnRvRm9ybWF0KGUpfSR7dH0ke3RoaXMuZS50b0Zvcm1hdChlKX1gOmZyfXRvRHVyYXRpb24oZSx0KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuZS5kaWZmKHRoaXMucyxlLHQpOkIuaW52YWxpZCh0aGlzLmludmFsaWRSZWFzb24pfW1hcEVuZHBvaW50cyhlKXtyZXR1cm4gbi5mcm9tRGF0ZVRpbWVzKGUodGhpcy5zKSxlKHRoaXMuZSkpfX07dmFyIGd0PWNsYXNze3N0YXRpYyBoYXNEU1QoZT1YLmRlZmF1bHRab25lKXtsZXQgdD1xLm5vdygpLnNldFpvbmUoZSkuc2V0KHttb250aDoxMn0pO3JldHVybiFlLmlzVW5pdmVyc2FsJiZ0Lm9mZnNldCE9PXQuc2V0KHttb250aDo2fSkub2Zmc2V0fXN0YXRpYyBpc1ZhbGlkSUFOQVpvbmUoZSl7cmV0dXJuIGdlLmlzVmFsaWRab25lKGUpfXN0YXRpYyBub3JtYWxpemVab25lKGUpe3JldHVybiBWZShlLFguZGVmYXVsdFpvbmUpfXN0YXRpYyBtb250aHMoZT1cXFwibG9uZ1xcXCIse2xvY2FsZTp0PW51bGwsbnVtYmVyaW5nU3lzdGVtOnI9bnVsbCxsb2NPYmo6cz1udWxsLG91dHB1dENhbGVuZGFyOmk9XFxcImdyZWdvcnlcXFwifT17fSl7cmV0dXJuKHN8fG5lLmNyZWF0ZSh0LHIsaSkpLm1vbnRocyhlKX1zdGF0aWMgbW9udGhzRm9ybWF0KGU9XFxcImxvbmdcXFwiLHtsb2NhbGU6dD1udWxsLG51bWJlcmluZ1N5c3RlbTpyPW51bGwsbG9jT2JqOnM9bnVsbCxvdXRwdXRDYWxlbmRhcjppPVxcXCJncmVnb3J5XFxcIn09e30pe3JldHVybihzfHxuZS5jcmVhdGUodCxyLGkpKS5tb250aHMoZSwhMCl9c3RhdGljIHdlZWtkYXlzKGU9XFxcImxvbmdcXFwiLHtsb2NhbGU6dD1udWxsLG51bWJlcmluZ1N5c3RlbTpyPW51bGwsbG9jT2JqOnM9bnVsbH09e30pe3JldHVybihzfHxuZS5jcmVhdGUodCxyLG51bGwpKS53ZWVrZGF5cyhlKX1zdGF0aWMgd2Vla2RheXNGb3JtYXQoZT1cXFwibG9uZ1xcXCIse2xvY2FsZTp0PW51bGwsbnVtYmVyaW5nU3lzdGVtOnI9bnVsbCxsb2NPYmo6cz1udWxsfT17fSl7cmV0dXJuKHN8fG5lLmNyZWF0ZSh0LHIsbnVsbCkpLndlZWtkYXlzKGUsITApfXN0YXRpYyBtZXJpZGllbXMoe2xvY2FsZTplPW51bGx9PXt9KXtyZXR1cm4gbmUuY3JlYXRlKGUpLm1lcmlkaWVtcygpfXN0YXRpYyBlcmFzKGU9XFxcInNob3J0XFxcIix7bG9jYWxlOnQ9bnVsbH09e30pe3JldHVybiBuZS5jcmVhdGUodCxudWxsLFxcXCJncmVnb3J5XFxcIikuZXJhcyhlKX1zdGF0aWMgZmVhdHVyZXMoKXtyZXR1cm57cmVsYXRpdmU6SHIoKX19fTtmdW5jdGlvbiBoYShuLGUpe2xldCB0PXM9PnMudG9VVEMoMCx7a2VlcExvY2FsVGltZTohMH0pLnN0YXJ0T2YoXFxcImRheVxcXCIpLnZhbHVlT2YoKSxyPXQoZSktdChuKTtyZXR1cm4gTWF0aC5mbG9vcihCLmZyb21NaWxsaXMocikuYXMoXFxcImRheXNcXFwiKSl9ZnVuY3Rpb24gU2MobixlLHQpe2xldCByPVtbXFxcInllYXJzXFxcIiwoYSx1KT0+dS55ZWFyLWEueWVhcl0sW1xcXCJxdWFydGVyc1xcXCIsKGEsdSk9PnUucXVhcnRlci1hLnF1YXJ0ZXJdLFtcXFwibW9udGhzXFxcIiwoYSx1KT0+dS5tb250aC1hLm1vbnRoKyh1LnllYXItYS55ZWFyKSoxMl0sW1xcXCJ3ZWVrc1xcXCIsKGEsdSk9PntsZXQgbD1oYShhLHUpO3JldHVybihsLWwlNykvN31dLFtcXFwiZGF5c1xcXCIsaGFdXSxzPXt9LGksbztmb3IobGV0W2EsdV1vZiByKWlmKHQuaW5kZXhPZihhKT49MCl7aT1hO2xldCBsPXUobixlKTtvPW4ucGx1cyh7W2FdOmx9KSxvPmU/KG49bi5wbHVzKHtbYV06bC0xfSksbC09MSk6bj1vLHNbYV09bH1yZXR1cm5bbixzLG8saV19ZnVuY3Rpb24gcGEobixlLHQscil7bGV0W3MsaSxvLGFdPVNjKG4sZSx0KSx1PWUtcyxsPXQuZmlsdGVyKGQ9PltcXFwiaG91cnNcXFwiLFxcXCJtaW51dGVzXFxcIixcXFwic2Vjb25kc1xcXCIsXFxcIm1pbGxpc2Vjb25kc1xcXCJdLmluZGV4T2YoZCk+PTApO2wubGVuZ3RoPT09MCYmKG88ZSYmKG89cy5wbHVzKHtbYV06MX0pKSxvIT09cyYmKGlbYV09KGlbYV18fDApK3UvKG8tcykpKTtsZXQgZj1CLmZyb21PYmplY3QoaSxyKTtyZXR1cm4gbC5sZW5ndGg+MD9CLmZyb21NaWxsaXModSxyKS5zaGlmdFRvKC4uLmwpLnBsdXMoZik6Zn12YXIgd2k9e2FyYWI6XFxcIltcXFxcdTA2NjAtXFxcXHUwNjY5XVxcXCIsYXJhYmV4dDpcXFwiW1xcXFx1MDZGMC1cXFxcdTA2RjldXFxcIixiYWxpOlxcXCJbXFxcXHUxQjUwLVxcXFx1MUI1OV1cXFwiLGJlbmc6XFxcIltcXFxcdTA5RTYtXFxcXHUwOUVGXVxcXCIsZGV2YTpcXFwiW1xcXFx1MDk2Ni1cXFxcdTA5NkZdXFxcIixmdWxsd2lkZTpcXFwiW1xcXFx1RkYxMC1cXFxcdUZGMTldXFxcIixndWpyOlxcXCJbXFxcXHUwQUU2LVxcXFx1MEFFRl1cXFwiLGhhbmlkZWM6XFxcIltcXFxcdTMwMDd8XFxcXHU0RTAwfFxcXFx1NEU4Q3xcXFxcdTRFMDl8XFxcXHU1NkRCfFxcXFx1NEU5NHxcXFxcdTUxNkR8XFxcXHU0RTAzfFxcXFx1NTE2QnxcXFxcdTRFNURdXFxcIixraG1yOlxcXCJbXFxcXHUxN0UwLVxcXFx1MTdFOV1cXFwiLGtuZGE6XFxcIltcXFxcdTBDRTYtXFxcXHUwQ0VGXVxcXCIsbGFvbzpcXFwiW1xcXFx1MEVEMC1cXFxcdTBFRDldXFxcIixsaW1iOlxcXCJbXFxcXHUxOTQ2LVxcXFx1MTk0Rl1cXFwiLG1seW06XFxcIltcXFxcdTBENjYtXFxcXHUwRDZGXVxcXCIsbW9uZzpcXFwiW1xcXFx1MTgxMC1cXFxcdTE4MTldXFxcIixteW1yOlxcXCJbXFxcXHUxMDQwLVxcXFx1MTA0OV1cXFwiLG9yeWE6XFxcIltcXFxcdTBCNjYtXFxcXHUwQjZGXVxcXCIsdGFtbGRlYzpcXFwiW1xcXFx1MEJFNi1cXFxcdTBCRUZdXFxcIix0ZWx1OlxcXCJbXFxcXHUwQzY2LVxcXFx1MEM2Rl1cXFwiLHRoYWk6XFxcIltcXFxcdTBFNTAtXFxcXHUwRTU5XVxcXCIsdGlidDpcXFwiW1xcXFx1MEYyMC1cXFxcdTBGMjldXFxcIixsYXRuOlxcXCJcXFxcXFxcXGRcXFwifSxtYT17YXJhYjpbMTYzMiwxNjQxXSxhcmFiZXh0OlsxNzc2LDE3ODVdLGJhbGk6WzY5OTIsNzAwMV0sYmVuZzpbMjUzNCwyNTQzXSxkZXZhOlsyNDA2LDI0MTVdLGZ1bGx3aWRlOls2NTI5Niw2NTMwM10sZ3VqcjpbMjc5MCwyNzk5XSxraG1yOls2MTEyLDYxMjFdLGtuZGE6WzMzMDIsMzMxMV0sbGFvbzpbMzc5MiwzODAxXSxsaW1iOls2NDcwLDY0NzldLG1seW06WzM0MzAsMzQzOV0sbW9uZzpbNjE2MCw2MTY5XSxteW1yOls0MTYwLDQxNjldLG9yeWE6WzI5MTgsMjkyN10sdGFtbGRlYzpbMzA0NiwzMDU1XSx0ZWx1OlszMTc0LDMxODNdLHRoYWk6WzM2NjQsMzY3M10sdGlidDpbMzg3MiwzODgxXX0sa2M9d2kuaGFuaWRlYy5yZXBsYWNlKC9bXFxcXFt8XFxcXF1dL2csXFxcIlxcXCIpLnNwbGl0KFxcXCJcXFwiKTtmdW5jdGlvbiBEYShuKXtsZXQgZT1wYXJzZUludChuLDEwKTtpZihpc05hTihlKSl7ZT1cXFwiXFxcIjtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7bGV0IHI9bi5jaGFyQ29kZUF0KHQpO2lmKG5bdF0uc2VhcmNoKHdpLmhhbmlkZWMpIT09LTEpZSs9a2MuaW5kZXhPZihuW3RdKTtlbHNlIGZvcihsZXQgcyBpbiBtYSl7bGV0W2ksb109bWFbc107cj49aSYmcjw9byYmKGUrPXItaSl9fXJldHVybiBwYXJzZUludChlLDEwKX1lbHNlIHJldHVybiBlfWZ1bmN0aW9uIF9lKHtudW1iZXJpbmdTeXN0ZW06bn0sZT1cXFwiXFxcIil7cmV0dXJuIG5ldyBSZWdFeHAoYCR7d2lbbnx8XFxcImxhdG5cXFwiXX0ke2V9YCl9dmFyIENjPVxcXCJtaXNzaW5nIEludGwuRGF0ZVRpbWVGb3JtYXQuZm9ybWF0VG9QYXJ0cyBzdXBwb3J0XFxcIjtmdW5jdGlvbiBHKG4sZT10PT50KXtyZXR1cm57cmVnZXg6bixkZXNlcjooW3RdKT0+ZShEYSh0KSl9fXZhciB2Yz1cXFwiXFxcXHhBMFxcXCIsYmE9YFsgJHt2Y31dYCxGYT1uZXcgUmVnRXhwKGJhLFxcXCJnXFxcIik7ZnVuY3Rpb24gT2Mobil7cmV0dXJuIG4ucmVwbGFjZSgvXFxcXC4vZyxcXFwiXFxcXFxcXFwuP1xcXCIpLnJlcGxhY2UoRmEsYmEpfWZ1bmN0aW9uIHlhKG4pe3JldHVybiBuLnJlcGxhY2UoL1xcXFwuL2csXFxcIlxcXCIpLnJlcGxhY2UoRmEsXFxcIiBcXFwiKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIFVlKG4sZSl7cmV0dXJuIG49PT1udWxsP251bGw6e3JlZ2V4OlJlZ0V4cChuLm1hcChPYykuam9pbihcXFwifFxcXCIpKSxkZXNlcjooW3RdKT0+bi5maW5kSW5kZXgocj0+eWEodCk9PT15YShyKSkrZX19ZnVuY3Rpb24gZ2EobixlKXtyZXR1cm57cmVnZXg6bixkZXNlcjooWyx0LHJdKT0+VnQodCxyKSxncm91cHM6ZX19ZnVuY3Rpb24gVGkobil7cmV0dXJue3JlZ2V4Om4sZGVzZXI6KFtlXSk9PmV9fWZ1bmN0aW9uIHhjKG4pe3JldHVybiBuLnJlcGxhY2UoL1tcXFxcLVxcXFxbXFxcXF17fSgpKis/LixcXFxcXFxcXFxcXFxeJHwjXFxcXHNdL2csXFxcIlxcXFxcXFxcJCZcXFwiKX1mdW5jdGlvbiBJYyhuLGUpe2xldCB0PV9lKGUpLHI9X2UoZSxcXFwiezJ9XFxcIikscz1fZShlLFxcXCJ7M31cXFwiKSxpPV9lKGUsXFxcIns0fVxcXCIpLG89X2UoZSxcXFwiezZ9XFxcIiksYT1fZShlLFxcXCJ7MSwyfVxcXCIpLHU9X2UoZSxcXFwiezEsM31cXFwiKSxsPV9lKGUsXFxcInsxLDZ9XFxcIiksZj1fZShlLFxcXCJ7MSw5fVxcXCIpLGQ9X2UoZSxcXFwiezIsNH1cXFwiKSxwPV9lKGUsXFxcIns0LDZ9XFxcIiksaD1EPT4oe3JlZ2V4OlJlZ0V4cCh4YyhELnZhbCkpLGRlc2VyOihbVF0pPT5ULGxpdGVyYWw6ITB9KSxnPShEPT57aWYobi5saXRlcmFsKXJldHVybiBoKEQpO3N3aXRjaChELnZhbCl7Y2FzZVxcXCJHXFxcIjpyZXR1cm4gVWUoZS5lcmFzKFxcXCJzaG9ydFxcXCIsITEpLDApO2Nhc2VcXFwiR0dcXFwiOnJldHVybiBVZShlLmVyYXMoXFxcImxvbmdcXFwiLCExKSwwKTtjYXNlXFxcInlcXFwiOnJldHVybiBHKGwpO2Nhc2VcXFwieXlcXFwiOnJldHVybiBHKGQsb3IpO2Nhc2VcXFwieXl5eVxcXCI6cmV0dXJuIEcoaSk7Y2FzZVxcXCJ5eXl5eVxcXCI6cmV0dXJuIEcocCk7Y2FzZVxcXCJ5eXl5eXlcXFwiOnJldHVybiBHKG8pO2Nhc2VcXFwiTVxcXCI6cmV0dXJuIEcoYSk7Y2FzZVxcXCJNTVxcXCI6cmV0dXJuIEcocik7Y2FzZVxcXCJNTU1cXFwiOnJldHVybiBVZShlLm1vbnRocyhcXFwic2hvcnRcXFwiLCEwLCExKSwxKTtjYXNlXFxcIk1NTU1cXFwiOnJldHVybiBVZShlLm1vbnRocyhcXFwibG9uZ1xcXCIsITAsITEpLDEpO2Nhc2VcXFwiTFxcXCI6cmV0dXJuIEcoYSk7Y2FzZVxcXCJMTFxcXCI6cmV0dXJuIEcocik7Y2FzZVxcXCJMTExcXFwiOnJldHVybiBVZShlLm1vbnRocyhcXFwic2hvcnRcXFwiLCExLCExKSwxKTtjYXNlXFxcIkxMTExcXFwiOnJldHVybiBVZShlLm1vbnRocyhcXFwibG9uZ1xcXCIsITEsITEpLDEpO2Nhc2VcXFwiZFxcXCI6cmV0dXJuIEcoYSk7Y2FzZVxcXCJkZFxcXCI6cmV0dXJuIEcocik7Y2FzZVxcXCJvXFxcIjpyZXR1cm4gRyh1KTtjYXNlXFxcIm9vb1xcXCI6cmV0dXJuIEcocyk7Y2FzZVxcXCJISFxcXCI6cmV0dXJuIEcocik7Y2FzZVxcXCJIXFxcIjpyZXR1cm4gRyhhKTtjYXNlXFxcImhoXFxcIjpyZXR1cm4gRyhyKTtjYXNlXFxcImhcXFwiOnJldHVybiBHKGEpO2Nhc2VcXFwibW1cXFwiOnJldHVybiBHKHIpO2Nhc2VcXFwibVxcXCI6cmV0dXJuIEcoYSk7Y2FzZVxcXCJxXFxcIjpyZXR1cm4gRyhhKTtjYXNlXFxcInFxXFxcIjpyZXR1cm4gRyhyKTtjYXNlXFxcInNcXFwiOnJldHVybiBHKGEpO2Nhc2VcXFwic3NcXFwiOnJldHVybiBHKHIpO2Nhc2VcXFwiU1xcXCI6cmV0dXJuIEcodSk7Y2FzZVxcXCJTU1NcXFwiOnJldHVybiBHKHMpO2Nhc2VcXFwidVxcXCI6cmV0dXJuIFRpKGYpO2Nhc2VcXFwidXVcXFwiOnJldHVybiBUaShhKTtjYXNlXFxcInV1dVxcXCI6cmV0dXJuIEcodCk7Y2FzZVxcXCJhXFxcIjpyZXR1cm4gVWUoZS5tZXJpZGllbXMoKSwwKTtjYXNlXFxcImtra2tcXFwiOnJldHVybiBHKGkpO2Nhc2VcXFwia2tcXFwiOnJldHVybiBHKGQsb3IpO2Nhc2VcXFwiV1xcXCI6cmV0dXJuIEcoYSk7Y2FzZVxcXCJXV1xcXCI6cmV0dXJuIEcocik7Y2FzZVxcXCJFXFxcIjpjYXNlXFxcImNcXFwiOnJldHVybiBHKHQpO2Nhc2VcXFwiRUVFXFxcIjpyZXR1cm4gVWUoZS53ZWVrZGF5cyhcXFwic2hvcnRcXFwiLCExLCExKSwxKTtjYXNlXFxcIkVFRUVcXFwiOnJldHVybiBVZShlLndlZWtkYXlzKFxcXCJsb25nXFxcIiwhMSwhMSksMSk7Y2FzZVxcXCJjY2NcXFwiOnJldHVybiBVZShlLndlZWtkYXlzKFxcXCJzaG9ydFxcXCIsITAsITEpLDEpO2Nhc2VcXFwiY2NjY1xcXCI6cmV0dXJuIFVlKGUud2Vla2RheXMoXFxcImxvbmdcXFwiLCEwLCExKSwxKTtjYXNlXFxcIlpcXFwiOmNhc2VcXFwiWlpcXFwiOnJldHVybiBnYShuZXcgUmVnRXhwKGAoWystXSR7YS5zb3VyY2V9KSg/OjooJHtyLnNvdXJjZX0pKT9gKSwyKTtjYXNlXFxcIlpaWlxcXCI6cmV0dXJuIGdhKG5ldyBSZWdFeHAoYChbKy1dJHthLnNvdXJjZX0pKCR7ci5zb3VyY2V9KT9gKSwyKTtjYXNlXFxcInpcXFwiOnJldHVybiBUaSgvW2Etel8rLS9dezEsMjU2fT8vaSk7ZGVmYXVsdDpyZXR1cm4gaChEKX19KShuKXx8e2ludmFsaWRSZWFzb246Q2N9O3JldHVybiBnLnRva2VuPW4sZ312YXIgTGM9e3llYXI6e1xcXCIyLWRpZ2l0XFxcIjpcXFwieXlcXFwiLG51bWVyaWM6XFxcInl5eXl5XFxcIn0sbW9udGg6e251bWVyaWM6XFxcIk1cXFwiLFxcXCIyLWRpZ2l0XFxcIjpcXFwiTU1cXFwiLHNob3J0OlxcXCJNTU1cXFwiLGxvbmc6XFxcIk1NTU1cXFwifSxkYXk6e251bWVyaWM6XFxcImRcXFwiLFxcXCIyLWRpZ2l0XFxcIjpcXFwiZGRcXFwifSx3ZWVrZGF5OntzaG9ydDpcXFwiRUVFXFxcIixsb25nOlxcXCJFRUVFXFxcIn0sZGF5cGVyaW9kOlxcXCJhXFxcIixkYXlQZXJpb2Q6XFxcImFcXFwiLGhvdXI6e251bWVyaWM6XFxcImhcXFwiLFxcXCIyLWRpZ2l0XFxcIjpcXFwiaGhcXFwifSxtaW51dGU6e251bWVyaWM6XFxcIm1cXFwiLFxcXCIyLWRpZ2l0XFxcIjpcXFwibW1cXFwifSxzZWNvbmQ6e251bWVyaWM6XFxcInNcXFwiLFxcXCIyLWRpZ2l0XFxcIjpcXFwic3NcXFwifX07ZnVuY3Rpb24gTmMobixlLHQpe2xldHt0eXBlOnIsdmFsdWU6c309bjtpZihyPT09XFxcImxpdGVyYWxcXFwiKXJldHVybntsaXRlcmFsOiEwLHZhbDpzfTtsZXQgaT10W3JdLG89TGNbcl07aWYodHlwZW9mIG89PVxcXCJvYmplY3RcXFwiJiYobz1vW2ldKSxvKXJldHVybntsaXRlcmFsOiExLHZhbDpvfX1mdW5jdGlvbiBBYyhuKXtyZXR1cm5bYF4ke24ubWFwKHQ9PnQucmVnZXgpLnJlZHVjZSgodCxyKT0+YCR7dH0oJHtyLnNvdXJjZX0pYCxcXFwiXFxcIil9JGAsbl19ZnVuY3Rpb24gTWMobixlLHQpe2xldCByPW4ubWF0Y2goZSk7aWYocil7bGV0IHM9e30saT0xO2ZvcihsZXQgbyBpbiB0KWlmKGt0KHQsbykpe2xldCBhPXRbb10sdT1hLmdyb3Vwcz9hLmdyb3VwcysxOjE7IWEubGl0ZXJhbCYmYS50b2tlbiYmKHNbYS50b2tlbi52YWxbMF1dPWEuZGVzZXIoci5zbGljZShpLGkrdSkpKSxpKz11fXJldHVybltyLHNdfWVsc2UgcmV0dXJuW3Ise31dfWZ1bmN0aW9uIF9jKG4pe2xldCBlPWk9Pntzd2l0Y2goaSl7Y2FzZVxcXCJTXFxcIjpyZXR1cm5cXFwibWlsbGlzZWNvbmRcXFwiO2Nhc2VcXFwic1xcXCI6cmV0dXJuXFxcInNlY29uZFxcXCI7Y2FzZVxcXCJtXFxcIjpyZXR1cm5cXFwibWludXRlXFxcIjtjYXNlXFxcImhcXFwiOmNhc2VcXFwiSFxcXCI6cmV0dXJuXFxcImhvdXJcXFwiO2Nhc2VcXFwiZFxcXCI6cmV0dXJuXFxcImRheVxcXCI7Y2FzZVxcXCJvXFxcIjpyZXR1cm5cXFwib3JkaW5hbFxcXCI7Y2FzZVxcXCJMXFxcIjpjYXNlXFxcIk1cXFwiOnJldHVyblxcXCJtb250aFxcXCI7Y2FzZVxcXCJ5XFxcIjpyZXR1cm5cXFwieWVhclxcXCI7Y2FzZVxcXCJFXFxcIjpjYXNlXFxcImNcXFwiOnJldHVyblxcXCJ3ZWVrZGF5XFxcIjtjYXNlXFxcIldcXFwiOnJldHVyblxcXCJ3ZWVrTnVtYmVyXFxcIjtjYXNlXFxcImtcXFwiOnJldHVyblxcXCJ3ZWVrWWVhclxcXCI7Y2FzZVxcXCJxXFxcIjpyZXR1cm5cXFwicXVhcnRlclxcXCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19LHQ9bnVsbCxyO3JldHVybiBXKG4ueil8fCh0PWdlLmNyZWF0ZShuLnopKSxXKG4uWil8fCh0fHwodD1uZXcgaGUobi5aKSkscj1uLlopLFcobi5xKXx8KG4uTT0obi5xLTEpKjMrMSksVyhuLmgpfHwobi5oPDEyJiZuLmE9PT0xP24uaCs9MTI6bi5oPT09MTImJm4uYT09PTAmJihuLmg9MCkpLG4uRz09PTAmJm4ueSYmKG4ueT0tbi55KSxXKG4udSl8fChuLlM9c3Iobi51KSksW09iamVjdC5rZXlzKG4pLnJlZHVjZSgoaSxvKT0+e2xldCBhPWUobyk7cmV0dXJuIGEmJihpW2FdPW5bb10pLGl9LHt9KSx0LHJdfXZhciBTaT1udWxsO2Z1bmN0aW9uIEJjKCl7cmV0dXJuIFNpfHwoU2k9cS5mcm9tTWlsbGlzKDE1NTU1NTU1NTU1NTUpKSxTaX1mdW5jdGlvbiBQYyhuLGUpe2lmKG4ubGl0ZXJhbClyZXR1cm4gbjtsZXQgdD13ZS5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKG4udmFsKTtpZighdClyZXR1cm4gbjtsZXQgaT13ZS5jcmVhdGUoZSx0KS5mb3JtYXREYXRlVGltZVBhcnRzKEJjKCkpLm1hcChvPT5OYyhvLGUsdCkpO3JldHVybiBpLmluY2x1ZGVzKHZvaWQgMCk/bjppfWZ1bmN0aW9uICRjKG4sZSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4ubi5tYXAodD0+UGModCxlKSkpfWZ1bmN0aW9uIGtpKG4sZSx0KXtsZXQgcj0kYyh3ZS5wYXJzZUZvcm1hdCh0KSxuKSxzPXIubWFwKG89PkljKG8sbikpLGk9cy5maW5kKG89Pm8uaW52YWxpZFJlYXNvbik7aWYoaSlyZXR1cm57aW5wdXQ6ZSx0b2tlbnM6cixpbnZhbGlkUmVhc29uOmkuaW52YWxpZFJlYXNvbn07e2xldFtvLGFdPUFjKHMpLHU9UmVnRXhwKG8sXFxcImlcXFwiKSxbbCxmXT1NYyhlLHUsYSksW2QscCxoXT1mP19jKGYpOltudWxsLG51bGwsdm9pZCAwXTtpZihrdChmLFxcXCJhXFxcIikmJmt0KGYsXFxcIkhcXFwiKSl0aHJvdyBuZXcgbXQoXFxcIkNhbid0IGluY2x1ZGUgbWVyaWRpZW0gd2hlbiBzcGVjaWZ5aW5nIDI0LWhvdXIgZm9ybWF0XFxcIik7cmV0dXJue2lucHV0OmUsdG9rZW5zOnIscmVnZXg6dSxyYXdNYXRjaGVzOmwsbWF0Y2hlczpmLHJlc3VsdDpkLHpvbmU6cCxzcGVjaWZpY09mZnNldDpofX19ZnVuY3Rpb24gRWEobixlLHQpe2xldHtyZXN1bHQ6cix6b25lOnMsc3BlY2lmaWNPZmZzZXQ6aSxpbnZhbGlkUmVhc29uOm99PWtpKG4sZSx0KTtyZXR1cm5bcixzLGksb119dmFyIHdhPVswLDMxLDU5LDkwLDEyMCwxNTEsMTgxLDIxMiwyNDMsMjczLDMwNCwzMzRdLFRhPVswLDMxLDYwLDkxLDEyMSwxNTIsMTgyLDIxMywyNDQsMjc0LDMwNSwzMzVdO2Z1bmN0aW9uIEJlKG4sZSl7cmV0dXJuIG5ldyBkZShcXFwidW5pdCBvdXQgb2YgcmFuZ2VcXFwiLGB5b3Ugc3BlY2lmaWVkICR7ZX0gKG9mIHR5cGUgJHt0eXBlb2YgZX0pIGFzIGEgJHtufSwgd2hpY2ggaXMgaW52YWxpZGApfWZ1bmN0aW9uIFNhKG4sZSx0KXtsZXQgcj1uZXcgRGF0ZShEYXRlLlVUQyhuLGUtMSx0KSk7bjwxMDAmJm4+PTAmJnIuc2V0VVRDRnVsbFllYXIoci5nZXRVVENGdWxsWWVhcigpLTE5MDApO2xldCBzPXIuZ2V0VVRDRGF5KCk7cmV0dXJuIHM9PT0wPzc6c31mdW5jdGlvbiBrYShuLGUsdCl7cmV0dXJuIHQrKGp0KG4pP1RhOndhKVtlLTFdfWZ1bmN0aW9uIENhKG4sZSl7bGV0IHQ9anQobik/VGE6d2Escj10LmZpbmRJbmRleChpPT5pPGUpLHM9ZS10W3JdO3JldHVybnttb250aDpyKzEsZGF5OnN9fWZ1bmN0aW9uIFpyKG4pe2xldHt5ZWFyOmUsbW9udGg6dCxkYXk6cn09bixzPWthKGUsdCxyKSxpPVNhKGUsdCxyKSxvPU1hdGguZmxvb3IoKHMtaSsxMCkvNyksYTtyZXR1cm4gbzwxPyhhPWUtMSxvPWxuKGEpKTpvPmxuKGUpPyhhPWUrMSxvPTEpOmE9ZSxSKHt3ZWVrWWVhcjphLHdlZWtOdW1iZXI6byx3ZWVrZGF5Oml9LGFyKG4pKX1mdW5jdGlvbiBDaShuKXtsZXR7d2Vla1llYXI6ZSx3ZWVrTnVtYmVyOnQsd2Vla2RheTpyfT1uLHM9U2EoZSwxLDQpLGk9cXQoZSksbz10Kjcrci1zLTMsYTtvPDE/KGE9ZS0xLG8rPXF0KGEpKTpvPmk/KGE9ZSsxLG8tPXF0KGUpKTphPWU7bGV0e21vbnRoOnUsZGF5Omx9PUNhKGEsbyk7cmV0dXJuIFIoe3llYXI6YSxtb250aDp1LGRheTpsfSxhcihuKSl9ZnVuY3Rpb24gUXIobil7bGV0e3llYXI6ZSxtb250aDp0LGRheTpyfT1uLHM9a2EoZSx0LHIpO3JldHVybiBSKHt5ZWFyOmUsb3JkaW5hbDpzfSxhcihuKSl9ZnVuY3Rpb24gdmkobil7bGV0e3llYXI6ZSxvcmRpbmFsOnR9PW4se21vbnRoOnIsZGF5OnN9PUNhKGUsdCk7cmV0dXJuIFIoe3llYXI6ZSxtb250aDpyLGRheTpzfSxhcihuKSl9ZnVuY3Rpb24gdmEobil7bGV0IGU9cnIobi53ZWVrWWVhciksdD1udChuLndlZWtOdW1iZXIsMSxsbihuLndlZWtZZWFyKSkscj1udChuLndlZWtkYXksMSw3KTtyZXR1cm4gZT90P3I/ITE6QmUoXFxcIndlZWtkYXlcXFwiLG4ud2Vla2RheSk6QmUoXFxcIndlZWtcXFwiLG4ud2Vlayk6QmUoXFxcIndlZWtZZWFyXFxcIixuLndlZWtZZWFyKX1mdW5jdGlvbiBPYShuKXtsZXQgZT1ycihuLnllYXIpLHQ9bnQobi5vcmRpbmFsLDEscXQobi55ZWFyKSk7cmV0dXJuIGU/dD8hMTpCZShcXFwib3JkaW5hbFxcXCIsbi5vcmRpbmFsKTpCZShcXFwieWVhclxcXCIsbi55ZWFyKX1mdW5jdGlvbiBPaShuKXtsZXQgZT1ycihuLnllYXIpLHQ9bnQobi5tb250aCwxLDEyKSxyPW50KG4uZGF5LDEsdW4obi55ZWFyLG4ubW9udGgpKTtyZXR1cm4gZT90P3I/ITE6QmUoXFxcImRheVxcXCIsbi5kYXkpOkJlKFxcXCJtb250aFxcXCIsbi5tb250aCk6QmUoXFxcInllYXJcXFwiLG4ueWVhcil9ZnVuY3Rpb24geGkobil7bGV0e2hvdXI6ZSxtaW51dGU6dCxzZWNvbmQ6cixtaWxsaXNlY29uZDpzfT1uLGk9bnQoZSwwLDIzKXx8ZT09PTI0JiZ0PT09MCYmcj09PTAmJnM9PT0wLG89bnQodCwwLDU5KSxhPW50KHIsMCw1OSksdT1udChzLDAsOTk5KTtyZXR1cm4gaT9vP2E/dT8hMTpCZShcXFwibWlsbGlzZWNvbmRcXFwiLHMpOkJlKFxcXCJzZWNvbmRcXFwiLHIpOkJlKFxcXCJtaW51dGVcXFwiLHQpOkJlKFxcXCJob3VyXFxcIixlKX12YXIgSWk9XFxcIkludmFsaWQgRGF0ZVRpbWVcXFwiLHhhPTg2NGUxMztmdW5jdGlvbiBYcihuKXtyZXR1cm4gbmV3IGRlKFxcXCJ1bnN1cHBvcnRlZCB6b25lXFxcIixgdGhlIHpvbmUgXFxcIiR7bi5uYW1lfVxcXCIgaXMgbm90IHN1cHBvcnRlZGApfWZ1bmN0aW9uIExpKG4pe3JldHVybiBuLndlZWtEYXRhPT09bnVsbCYmKG4ud2Vla0RhdGE9WnIobi5jKSksbi53ZWVrRGF0YX1mdW5jdGlvbiBkcihuLGUpe2xldCB0PXt0czpuLnRzLHpvbmU6bi56b25lLGM6bi5jLG86bi5vLGxvYzpuLmxvYyxpbnZhbGlkOm4uaW52YWxpZH07cmV0dXJuIG5ldyBxKHllKFIoUih7fSx0KSxlKSx7b2xkOnR9KSl9ZnVuY3Rpb24gUGEobixlLHQpe2xldCByPW4tZSo2MCoxZTMscz10Lm9mZnNldChyKTtpZihlPT09cylyZXR1cm5bcixlXTtyLT0ocy1lKSo2MCoxZTM7bGV0IGk9dC5vZmZzZXQocik7cmV0dXJuIHM9PT1pP1tyLHNdOltuLU1hdGgubWluKHMsaSkqNjAqMWUzLE1hdGgubWF4KHMsaSldfWZ1bmN0aW9uIElhKG4sZSl7bis9ZSo2MCoxZTM7bGV0IHQ9bmV3IERhdGUobik7cmV0dXJue3llYXI6dC5nZXRVVENGdWxsWWVhcigpLG1vbnRoOnQuZ2V0VVRDTW9udGgoKSsxLGRheTp0LmdldFVUQ0RhdGUoKSxob3VyOnQuZ2V0VVRDSG91cnMoKSxtaW51dGU6dC5nZXRVVENNaW51dGVzKCksc2Vjb25kOnQuZ2V0VVRDU2Vjb25kcygpLG1pbGxpc2Vjb25kOnQuZ2V0VVRDTWlsbGlzZWNvbmRzKCl9fWZ1bmN0aW9uIHRzKG4sZSx0KXtyZXR1cm4gUGEoaXIobiksZSx0KX1mdW5jdGlvbiBMYShuLGUpe2xldCB0PW4ubyxyPW4uYy55ZWFyK01hdGgudHJ1bmMoZS55ZWFycykscz1uLmMubW9udGgrTWF0aC50cnVuYyhlLm1vbnRocykrTWF0aC50cnVuYyhlLnF1YXJ0ZXJzKSozLGk9eWUoUih7fSxuLmMpLHt5ZWFyOnIsbW9udGg6cyxkYXk6TWF0aC5taW4obi5jLmRheSx1bihyLHMpKStNYXRoLnRydW5jKGUuZGF5cykrTWF0aC50cnVuYyhlLndlZWtzKSo3fSksbz1CLmZyb21PYmplY3Qoe3llYXJzOmUueWVhcnMtTWF0aC50cnVuYyhlLnllYXJzKSxxdWFydGVyczplLnF1YXJ0ZXJzLU1hdGgudHJ1bmMoZS5xdWFydGVycyksbW9udGhzOmUubW9udGhzLU1hdGgudHJ1bmMoZS5tb250aHMpLHdlZWtzOmUud2Vla3MtTWF0aC50cnVuYyhlLndlZWtzKSxkYXlzOmUuZGF5cy1NYXRoLnRydW5jKGUuZGF5cyksaG91cnM6ZS5ob3VycyxtaW51dGVzOmUubWludXRlcyxzZWNvbmRzOmUuc2Vjb25kcyxtaWxsaXNlY29uZHM6ZS5taWxsaXNlY29uZHN9KS5hcyhcXFwibWlsbGlzZWNvbmRzXFxcIiksYT1pcihpKSxbdSxsXT1QYShhLHQsbi56b25lKTtyZXR1cm4gbyE9PTAmJih1Kz1vLGw9bi56b25lLm9mZnNldCh1KSkse3RzOnUsbzpsfX1mdW5jdGlvbiBocihuLGUsdCxyLHMsaSl7bGV0e3NldFpvbmU6byx6b25lOmF9PXQ7aWYobiYmT2JqZWN0LmtleXMobikubGVuZ3RoIT09MCl7bGV0IHU9ZXx8YSxsPXEuZnJvbU9iamVjdChuLHllKFIoe30sdCkse3pvbmU6dSxzcGVjaWZpY09mZnNldDppfSkpO3JldHVybiBvP2w6bC5zZXRab25lKGEpfWVsc2UgcmV0dXJuIHEuaW52YWxpZChuZXcgZGUoXFxcInVucGFyc2FibGVcXFwiLGB0aGUgaW5wdXQgXFxcIiR7c31cXFwiIGNhbid0IGJlIHBhcnNlZCBhcyAke3J9YCkpfWZ1bmN0aW9uIGVzKG4sZSx0PSEwKXtyZXR1cm4gbi5pc1ZhbGlkP3dlLmNyZWF0ZShuZS5jcmVhdGUoXFxcImVuLVVTXFxcIikse2FsbG93Wjp0LGZvcmNlU2ltcGxlOiEwfSkuZm9ybWF0RGF0ZVRpbWVGcm9tU3RyaW5nKG4sZSk6bnVsbH1mdW5jdGlvbiBOaShuLGUpe2xldCB0PW4uYy55ZWFyPjk5OTl8fG4uYy55ZWFyPDAscj1cXFwiXFxcIjtyZXR1cm4gdCYmbi5jLnllYXI+PTAmJihyKz1cXFwiK1xcXCIpLHIrPXJlKG4uYy55ZWFyLHQ/Njo0KSxlPyhyKz1cXFwiLVxcXCIscis9cmUobi5jLm1vbnRoKSxyKz1cXFwiLVxcXCIscis9cmUobi5jLmRheSkpOihyKz1yZShuLmMubW9udGgpLHIrPXJlKG4uYy5kYXkpKSxyfWZ1bmN0aW9uIE5hKG4sZSx0LHIscyxpKXtsZXQgbz1yZShuLmMuaG91cik7cmV0dXJuIGU/KG8rPVxcXCI6XFxcIixvKz1yZShuLmMubWludXRlKSwobi5jLnNlY29uZCE9PTB8fCF0KSYmKG8rPVxcXCI6XFxcIikpOm8rPXJlKG4uYy5taW51dGUpLChuLmMuc2Vjb25kIT09MHx8IXQpJiYobys9cmUobi5jLnNlY29uZCksKG4uYy5taWxsaXNlY29uZCE9PTB8fCFyKSYmKG8rPVxcXCIuXFxcIixvKz1yZShuLmMubWlsbGlzZWNvbmQsMykpKSxzJiYobi5pc09mZnNldEZpeGVkJiZuLm9mZnNldD09PTAmJiFpP28rPVxcXCJaXFxcIjpuLm88MD8obys9XFxcIi1cXFwiLG8rPXJlKE1hdGgudHJ1bmMoLW4uby82MCkpLG8rPVxcXCI6XFxcIixvKz1yZShNYXRoLnRydW5jKC1uLm8lNjApKSk6KG8rPVxcXCIrXFxcIixvKz1yZShNYXRoLnRydW5jKG4uby82MCkpLG8rPVxcXCI6XFxcIixvKz1yZShNYXRoLnRydW5jKG4ubyU2MCkpKSksaSYmKG8rPVxcXCJbXFxcIituLnpvbmUuaWFuYU5hbWUrXFxcIl1cXFwiKSxvfXZhciAkYT17bW9udGg6MSxkYXk6MSxob3VyOjAsbWludXRlOjAsc2Vjb25kOjAsbWlsbGlzZWNvbmQ6MH0sUmM9e3dlZWtOdW1iZXI6MSx3ZWVrZGF5OjEsaG91cjowLG1pbnV0ZTowLHNlY29uZDowLG1pbGxpc2Vjb25kOjB9LGpjPXtvcmRpbmFsOjEsaG91cjowLG1pbnV0ZTowLHNlY29uZDowLG1pbGxpc2Vjb25kOjB9LFJhPVtcXFwieWVhclxcXCIsXFxcIm1vbnRoXFxcIixcXFwiZGF5XFxcIixcXFwiaG91clxcXCIsXFxcIm1pbnV0ZVxcXCIsXFxcInNlY29uZFxcXCIsXFxcIm1pbGxpc2Vjb25kXFxcIl0scWM9W1xcXCJ3ZWVrWWVhclxcXCIsXFxcIndlZWtOdW1iZXJcXFwiLFxcXCJ3ZWVrZGF5XFxcIixcXFwiaG91clxcXCIsXFxcIm1pbnV0ZVxcXCIsXFxcInNlY29uZFxcXCIsXFxcIm1pbGxpc2Vjb25kXFxcIl0sVmM9W1xcXCJ5ZWFyXFxcIixcXFwib3JkaW5hbFxcXCIsXFxcImhvdXJcXFwiLFxcXCJtaW51dGVcXFwiLFxcXCJzZWNvbmRcXFwiLFxcXCJtaWxsaXNlY29uZFxcXCJdO2Z1bmN0aW9uIEFhKG4pe2xldCBlPXt5ZWFyOlxcXCJ5ZWFyXFxcIix5ZWFyczpcXFwieWVhclxcXCIsbW9udGg6XFxcIm1vbnRoXFxcIixtb250aHM6XFxcIm1vbnRoXFxcIixkYXk6XFxcImRheVxcXCIsZGF5czpcXFwiZGF5XFxcIixob3VyOlxcXCJob3VyXFxcIixob3VyczpcXFwiaG91clxcXCIsbWludXRlOlxcXCJtaW51dGVcXFwiLG1pbnV0ZXM6XFxcIm1pbnV0ZVxcXCIscXVhcnRlcjpcXFwicXVhcnRlclxcXCIscXVhcnRlcnM6XFxcInF1YXJ0ZXJcXFwiLHNlY29uZDpcXFwic2Vjb25kXFxcIixzZWNvbmRzOlxcXCJzZWNvbmRcXFwiLG1pbGxpc2Vjb25kOlxcXCJtaWxsaXNlY29uZFxcXCIsbWlsbGlzZWNvbmRzOlxcXCJtaWxsaXNlY29uZFxcXCIsd2Vla2RheTpcXFwid2Vla2RheVxcXCIsd2Vla2RheXM6XFxcIndlZWtkYXlcXFwiLHdlZWtudW1iZXI6XFxcIndlZWtOdW1iZXJcXFwiLHdlZWtzbnVtYmVyOlxcXCJ3ZWVrTnVtYmVyXFxcIix3ZWVrbnVtYmVyczpcXFwid2Vla051bWJlclxcXCIsd2Vla3llYXI6XFxcIndlZWtZZWFyXFxcIix3ZWVreWVhcnM6XFxcIndlZWtZZWFyXFxcIixvcmRpbmFsOlxcXCJvcmRpbmFsXFxcIn1bbi50b0xvd2VyQ2FzZSgpXTtpZighZSl0aHJvdyBuZXcgc24obik7cmV0dXJuIGV9ZnVuY3Rpb24gTWEobixlKXtsZXQgdD1WZShlLnpvbmUsWC5kZWZhdWx0Wm9uZSkscj1uZS5mcm9tT2JqZWN0KGUpLHM9WC5ub3coKSxpLG87aWYoVyhuLnllYXIpKWk9cztlbHNle2ZvcihsZXQgbCBvZiBSYSlXKG5bbF0pJiYobltsXT0kYVtsXSk7bGV0IGE9T2kobil8fHhpKG4pO2lmKGEpcmV0dXJuIHEuaW52YWxpZChhKTtsZXQgdT10Lm9mZnNldChzKTtbaSxvXT10cyhuLHUsdCl9cmV0dXJuIG5ldyBxKHt0czppLHpvbmU6dCxsb2M6cixvfSl9ZnVuY3Rpb24gX2EobixlLHQpe2xldCByPVcodC5yb3VuZCk/ITA6dC5yb3VuZCxzPShvLGEpPT4obz1hbihvLHJ8fHQuY2FsZW5kYXJ5PzA6MiwhMCksZS5sb2MuY2xvbmUodCkucmVsRm9ybWF0dGVyKHQpLmZvcm1hdChvLGEpKSxpPW89PnQuY2FsZW5kYXJ5P2UuaGFzU2FtZShuLG8pPzA6ZS5zdGFydE9mKG8pLmRpZmYobi5zdGFydE9mKG8pLG8pLmdldChvKTplLmRpZmYobixvKS5nZXQobyk7aWYodC51bml0KXJldHVybiBzKGkodC51bml0KSx0LnVuaXQpO2ZvcihsZXQgbyBvZiB0LnVuaXRzKXtsZXQgYT1pKG8pO2lmKE1hdGguYWJzKGEpPj0xKXJldHVybiBzKGEsbyl9cmV0dXJuIHMobj5lPy0wOjAsdC51bml0c1t0LnVuaXRzLmxlbmd0aC0xXSl9ZnVuY3Rpb24gQmEobil7bGV0IGU9e30sdDtyZXR1cm4gbi5sZW5ndGg+MCYmdHlwZW9mIG5bbi5sZW5ndGgtMV09PVxcXCJvYmplY3RcXFwiPyhlPW5bbi5sZW5ndGgtMV0sdD1BcnJheS5mcm9tKG4pLnNsaWNlKDAsbi5sZW5ndGgtMSkpOnQ9QXJyYXkuZnJvbShuKSxbZSx0XX12YXIgcT1jbGFzcyBue2NvbnN0cnVjdG9yKGUpe2xldCB0PWUuem9uZXx8WC5kZWZhdWx0Wm9uZSxyPWUuaW52YWxpZHx8KE51bWJlci5pc05hTihlLnRzKT9uZXcgZGUoXFxcImludmFsaWQgaW5wdXRcXFwiKTpudWxsKXx8KHQuaXNWYWxpZD9udWxsOlhyKHQpKTt0aGlzLnRzPVcoZS50cyk/WC5ub3coKTplLnRzO2xldCBzPW51bGwsaT1udWxsO2lmKCFyKWlmKGUub2xkJiZlLm9sZC50cz09PXRoaXMudHMmJmUub2xkLnpvbmUuZXF1YWxzKHQpKVtzLGldPVtlLm9sZC5jLGUub2xkLm9dO2Vsc2V7bGV0IGE9dC5vZmZzZXQodGhpcy50cyk7cz1JYSh0aGlzLnRzLGEpLHI9TnVtYmVyLmlzTmFOKHMueWVhcik/bmV3IGRlKFxcXCJpbnZhbGlkIGlucHV0XFxcIik6bnVsbCxzPXI/bnVsbDpzLGk9cj9udWxsOmF9dGhpcy5fem9uZT10LHRoaXMubG9jPWUubG9jfHxuZS5jcmVhdGUoKSx0aGlzLmludmFsaWQ9cix0aGlzLndlZWtEYXRhPW51bGwsdGhpcy5jPXMsdGhpcy5vPWksdGhpcy5pc0x1eG9uRGF0ZVRpbWU9ITB9c3RhdGljIG5vdygpe3JldHVybiBuZXcgbih7fSl9c3RhdGljIGxvY2FsKCl7bGV0W2UsdF09QmEoYXJndW1lbnRzKSxbcixzLGksbyxhLHUsbF09dDtyZXR1cm4gTWEoe3llYXI6cixtb250aDpzLGRheTppLGhvdXI6byxtaW51dGU6YSxzZWNvbmQ6dSxtaWxsaXNlY29uZDpsfSxlKX1zdGF0aWMgdXRjKCl7bGV0W2UsdF09QmEoYXJndW1lbnRzKSxbcixzLGksbyxhLHUsbF09dDtyZXR1cm4gZS56b25lPWhlLnV0Y0luc3RhbmNlLE1hKHt5ZWFyOnIsbW9udGg6cyxkYXk6aSxob3VyOm8sbWludXRlOmEsc2Vjb25kOnUsbWlsbGlzZWNvbmQ6bH0sZSl9c3RhdGljIGZyb21KU0RhdGUoZSx0PXt9KXtsZXQgcj1QbyhlKT9lLnZhbHVlT2YoKTpOYU47aWYoTnVtYmVyLmlzTmFOKHIpKXJldHVybiBuLmludmFsaWQoXFxcImludmFsaWQgaW5wdXRcXFwiKTtsZXQgcz1WZSh0LnpvbmUsWC5kZWZhdWx0Wm9uZSk7cmV0dXJuIHMuaXNWYWxpZD9uZXcgbih7dHM6cix6b25lOnMsbG9jOm5lLmZyb21PYmplY3QodCl9KTpuLmludmFsaWQoWHIocykpfXN0YXRpYyBmcm9tTWlsbGlzKGUsdD17fSl7aWYodHQoZSkpcmV0dXJuIGU8LXhhfHxlPnhhP24uaW52YWxpZChcXFwiVGltZXN0YW1wIG91dCBvZiByYW5nZVxcXCIpOm5ldyBuKHt0czplLHpvbmU6VmUodC56b25lLFguZGVmYXVsdFpvbmUpLGxvYzpuZS5mcm9tT2JqZWN0KHQpfSk7dGhyb3cgbmV3IGZlKGBmcm9tTWlsbGlzIHJlcXVpcmVzIGEgbnVtZXJpY2FsIGlucHV0LCBidXQgcmVjZWl2ZWQgYSAke3R5cGVvZiBlfSB3aXRoIHZhbHVlICR7ZX1gKX1zdGF0aWMgZnJvbVNlY29uZHMoZSx0PXt9KXtpZih0dChlKSlyZXR1cm4gbmV3IG4oe3RzOmUqMWUzLHpvbmU6VmUodC56b25lLFguZGVmYXVsdFpvbmUpLGxvYzpuZS5mcm9tT2JqZWN0KHQpfSk7dGhyb3cgbmV3IGZlKFxcXCJmcm9tU2Vjb25kcyByZXF1aXJlcyBhIG51bWVyaWNhbCBpbnB1dFxcXCIpfXN0YXRpYyBmcm9tT2JqZWN0KGUsdD17fSl7ZT1lfHx7fTtsZXQgcj1WZSh0LnpvbmUsWC5kZWZhdWx0Wm9uZSk7aWYoIXIuaXNWYWxpZClyZXR1cm4gbi5pbnZhbGlkKFhyKHIpKTtsZXQgcz1YLm5vdygpLGk9Vyh0LnNwZWNpZmljT2Zmc2V0KT9yLm9mZnNldChzKTp0LnNwZWNpZmljT2Zmc2V0LG89Y24oZSxBYSksYT0hVyhvLm9yZGluYWwpLHU9IVcoby55ZWFyKSxsPSFXKG8ubW9udGgpfHwhVyhvLmRheSksZj11fHxsLGQ9by53ZWVrWWVhcnx8by53ZWVrTnVtYmVyLHA9bmUuZnJvbU9iamVjdCh0KTtpZigoZnx8YSkmJmQpdGhyb3cgbmV3IG10KFxcXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXFxcIik7aWYobCYmYSl0aHJvdyBuZXcgbXQoXFxcIkNhbid0IG1peCBvcmRpbmFsIGRhdGVzIHdpdGggbW9udGgvZGF5XFxcIik7bGV0IGg9ZHx8by53ZWVrZGF5JiYhZixiLGcsRD1JYShzLGkpO2g/KGI9cWMsZz1SYyxEPVpyKEQpKTphPyhiPVZjLGc9amMsRD1RcihEKSk6KGI9UmEsZz0kYSk7bGV0IFQ9ITE7Zm9yKGxldCBDIG9mIGIpe2xldCBWPW9bQ107VyhWKT9UP29bQ109Z1tDXTpvW0NdPURbQ106VD0hMH1sZXQgST1oP3ZhKG8pOmE/T2Eobyk6T2kobyksTj1JfHx4aShvKTtpZihOKXJldHVybiBuLmludmFsaWQoTik7bGV0IHk9aD9DaShvKTphP3ZpKG8pOm8sW3csdl09dHMoeSxpLHIpLE89bmV3IG4oe3RzOncsem9uZTpyLG86dixsb2M6cH0pO3JldHVybiBvLndlZWtkYXkmJmYmJmUud2Vla2RheSE9PU8ud2Vla2RheT9uLmludmFsaWQoXFxcIm1pc21hdGNoZWQgd2Vla2RheVxcXCIsYHlvdSBjYW4ndCBzcGVjaWZ5IGJvdGggYSB3ZWVrZGF5IG9mICR7by53ZWVrZGF5fSBhbmQgYSBkYXRlIG9mICR7Ty50b0lTTygpfWApOk99c3RhdGljIGZyb21JU08oZSx0PXt9KXtsZXRbcixzXT1pYShlKTtyZXR1cm4gaHIocixzLHQsXFxcIklTTyA4NjAxXFxcIixlKX1zdGF0aWMgZnJvbVJGQzI4MjIoZSx0PXt9KXtsZXRbcixzXT1vYShlKTtyZXR1cm4gaHIocixzLHQsXFxcIlJGQyAyODIyXFxcIixlKX1zdGF0aWMgZnJvbUhUVFAoZSx0PXt9KXtsZXRbcixzXT1hYShlKTtyZXR1cm4gaHIocixzLHQsXFxcIkhUVFBcXFwiLHQpfXN0YXRpYyBmcm9tRm9ybWF0KGUsdCxyPXt9KXtpZihXKGUpfHxXKHQpKXRocm93IG5ldyBmZShcXFwiZnJvbUZvcm1hdCByZXF1aXJlcyBhbiBpbnB1dCBzdHJpbmcgYW5kIGEgZm9ybWF0XFxcIik7bGV0e2xvY2FsZTpzPW51bGwsbnVtYmVyaW5nU3lzdGVtOmk9bnVsbH09cixvPW5lLmZyb21PcHRzKHtsb2NhbGU6cyxudW1iZXJpbmdTeXN0ZW06aSxkZWZhdWx0VG9FTjohMH0pLFthLHUsbCxmXT1FYShvLGUsdCk7cmV0dXJuIGY/bi5pbnZhbGlkKGYpOmhyKGEsdSxyLGBmb3JtYXQgJHt0fWAsZSxsKX1zdGF0aWMgZnJvbVN0cmluZyhlLHQscj17fSl7cmV0dXJuIG4uZnJvbUZvcm1hdChlLHQscil9c3RhdGljIGZyb21TUUwoZSx0PXt9KXtsZXRbcixzXT1jYShlKTtyZXR1cm4gaHIocixzLHQsXFxcIlNRTFxcXCIsZSl9c3RhdGljIGludmFsaWQoZSx0PW51bGwpe2lmKCFlKXRocm93IG5ldyBmZShcXFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBEYXRlVGltZSBpcyBpbnZhbGlkXFxcIik7bGV0IHI9ZSBpbnN0YW5jZW9mIGRlP2U6bmV3IGRlKGUsdCk7aWYoWC50aHJvd09uSW52YWxpZCl0aHJvdyBuZXcgVXIocik7cmV0dXJuIG5ldyBuKHtpbnZhbGlkOnJ9KX1zdGF0aWMgaXNEYXRlVGltZShlKXtyZXR1cm4gZSYmZS5pc0x1eG9uRGF0ZVRpbWV8fCExfWdldChlKXtyZXR1cm4gdGhpc1tlXX1nZXQgaXNWYWxpZCgpe3JldHVybiB0aGlzLmludmFsaWQ9PT1udWxsfWdldCBpbnZhbGlkUmVhc29uKCl7cmV0dXJuIHRoaXMuaW52YWxpZD90aGlzLmludmFsaWQucmVhc29uOm51bGx9Z2V0IGludmFsaWRFeHBsYW5hdGlvbigpe3JldHVybiB0aGlzLmludmFsaWQ/dGhpcy5pbnZhbGlkLmV4cGxhbmF0aW9uOm51bGx9Z2V0IGxvY2FsZSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5sb2MubG9jYWxlOm51bGx9Z2V0IG51bWJlcmluZ1N5c3RlbSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtOm51bGx9Z2V0IG91dHB1dENhbGVuZGFyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmxvYy5vdXRwdXRDYWxlbmRhcjpudWxsfWdldCB6b25lKCl7cmV0dXJuIHRoaXMuX3pvbmV9Z2V0IHpvbmVOYW1lKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnpvbmUubmFtZTpudWxsfWdldCB5ZWFyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmMueWVhcjpOYU59Z2V0IHF1YXJ0ZXIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP01hdGguY2VpbCh0aGlzLmMubW9udGgvMyk6TmFOfWdldCBtb250aCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5jLm1vbnRoOk5hTn1nZXQgZGF5KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmMuZGF5Ok5hTn1nZXQgaG91cigpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5jLmhvdXI6TmFOfWdldCBtaW51dGUoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuYy5taW51dGU6TmFOfWdldCBzZWNvbmQoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuYy5zZWNvbmQ6TmFOfWdldCBtaWxsaXNlY29uZCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5jLm1pbGxpc2Vjb25kOk5hTn1nZXQgd2Vla1llYXIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP0xpKHRoaXMpLndlZWtZZWFyOk5hTn1nZXQgd2Vla051bWJlcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/TGkodGhpcykud2Vla051bWJlcjpOYU59Z2V0IHdlZWtkYXkoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP0xpKHRoaXMpLndlZWtkYXk6TmFOfWdldCBvcmRpbmFsKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9Rcih0aGlzLmMpLm9yZGluYWw6TmFOfWdldCBtb250aFNob3J0KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9ndC5tb250aHMoXFxcInNob3J0XFxcIix7bG9jT2JqOnRoaXMubG9jfSlbdGhpcy5tb250aC0xXTpudWxsfWdldCBtb250aExvbmcoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2d0Lm1vbnRocyhcXFwibG9uZ1xcXCIse2xvY09iajp0aGlzLmxvY30pW3RoaXMubW9udGgtMV06bnVsbH1nZXQgd2Vla2RheVNob3J0KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9ndC53ZWVrZGF5cyhcXFwic2hvcnRcXFwiLHtsb2NPYmo6dGhpcy5sb2N9KVt0aGlzLndlZWtkYXktMV06bnVsbH1nZXQgd2Vla2RheUxvbmcoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2d0LndlZWtkYXlzKFxcXCJsb25nXFxcIix7bG9jT2JqOnRoaXMubG9jfSlbdGhpcy53ZWVrZGF5LTFdOm51bGx9Z2V0IG9mZnNldCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/K3RoaXMubzpOYU59Z2V0IG9mZnNldE5hbWVTaG9ydCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy56b25lLm9mZnNldE5hbWUodGhpcy50cyx7Zm9ybWF0OlxcXCJzaG9ydFxcXCIsbG9jYWxlOnRoaXMubG9jYWxlfSk6bnVsbH1nZXQgb2Zmc2V0TmFtZUxvbmcoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMse2Zvcm1hdDpcXFwibG9uZ1xcXCIsbG9jYWxlOnRoaXMubG9jYWxlfSk6bnVsbH1nZXQgaXNPZmZzZXRGaXhlZCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy56b25lLmlzVW5pdmVyc2FsOm51bGx9Z2V0IGlzSW5EU1QoKXtyZXR1cm4gdGhpcy5pc09mZnNldEZpeGVkPyExOnRoaXMub2Zmc2V0PnRoaXMuc2V0KHttb250aDoxLGRheToxfSkub2Zmc2V0fHx0aGlzLm9mZnNldD50aGlzLnNldCh7bW9udGg6NX0pLm9mZnNldH1nZXQgaXNJbkxlYXBZZWFyKCl7cmV0dXJuIGp0KHRoaXMueWVhcil9Z2V0IGRheXNJbk1vbnRoKCl7cmV0dXJuIHVuKHRoaXMueWVhcix0aGlzLm1vbnRoKX1nZXQgZGF5c0luWWVhcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/cXQodGhpcy55ZWFyKTpOYU59Z2V0IHdlZWtzSW5XZWVrWWVhcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/bG4odGhpcy53ZWVrWWVhcik6TmFOfXJlc29sdmVkTG9jYWxlT3B0aW9ucyhlPXt9KXtsZXR7bG9jYWxlOnQsbnVtYmVyaW5nU3lzdGVtOnIsY2FsZW5kYXI6c309d2UuY3JlYXRlKHRoaXMubG9jLmNsb25lKGUpLGUpLnJlc29sdmVkT3B0aW9ucyh0aGlzKTtyZXR1cm57bG9jYWxlOnQsbnVtYmVyaW5nU3lzdGVtOnIsb3V0cHV0Q2FsZW5kYXI6c319dG9VVEMoZT0wLHQ9e30pe3JldHVybiB0aGlzLnNldFpvbmUoaGUuaW5zdGFuY2UoZSksdCl9dG9Mb2NhbCgpe3JldHVybiB0aGlzLnNldFpvbmUoWC5kZWZhdWx0Wm9uZSl9c2V0Wm9uZShlLHtrZWVwTG9jYWxUaW1lOnQ9ITEsa2VlcENhbGVuZGFyVGltZTpyPSExfT17fSl7aWYoZT1WZShlLFguZGVmYXVsdFpvbmUpLGUuZXF1YWxzKHRoaXMuem9uZSkpcmV0dXJuIHRoaXM7aWYoZS5pc1ZhbGlkKXtsZXQgcz10aGlzLnRzO2lmKHR8fHIpe2xldCBpPWUub2Zmc2V0KHRoaXMudHMpLG89dGhpcy50b09iamVjdCgpO1tzXT10cyhvLGksZSl9cmV0dXJuIGRyKHRoaXMse3RzOnMsem9uZTplfSl9ZWxzZSByZXR1cm4gbi5pbnZhbGlkKFhyKGUpKX1yZWNvbmZpZ3VyZSh7bG9jYWxlOmUsbnVtYmVyaW5nU3lzdGVtOnQsb3V0cHV0Q2FsZW5kYXI6cn09e30pe2xldCBzPXRoaXMubG9jLmNsb25lKHtsb2NhbGU6ZSxudW1iZXJpbmdTeXN0ZW06dCxvdXRwdXRDYWxlbmRhcjpyfSk7cmV0dXJuIGRyKHRoaXMse2xvYzpzfSl9c2V0TG9jYWxlKGUpe3JldHVybiB0aGlzLnJlY29uZmlndXJlKHtsb2NhbGU6ZX0pfXNldChlKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2xldCB0PWNuKGUsQWEpLHI9IVcodC53ZWVrWWVhcil8fCFXKHQud2Vla051bWJlcil8fCFXKHQud2Vla2RheSkscz0hVyh0Lm9yZGluYWwpLGk9IVcodC55ZWFyKSxvPSFXKHQubW9udGgpfHwhVyh0LmRheSksYT1pfHxvLHU9dC53ZWVrWWVhcnx8dC53ZWVrTnVtYmVyO2lmKChhfHxzKSYmdSl0aHJvdyBuZXcgbXQoXFxcIkNhbid0IG1peCB3ZWVrWWVhci93ZWVrTnVtYmVyIHVuaXRzIHdpdGggeWVhci9tb250aC9kYXkgb3Igb3JkaW5hbHNcXFwiKTtpZihvJiZzKXRocm93IG5ldyBtdChcXFwiQ2FuJ3QgbWl4IG9yZGluYWwgZGF0ZXMgd2l0aCBtb250aC9kYXlcXFwiKTtsZXQgbDtyP2w9Q2koUihSKHt9LFpyKHRoaXMuYykpLHQpKTpXKHQub3JkaW5hbCk/KGw9UihSKHt9LHRoaXMudG9PYmplY3QoKSksdCksVyh0LmRheSkmJihsLmRheT1NYXRoLm1pbih1bihsLnllYXIsbC5tb250aCksbC5kYXkpKSk6bD12aShSKFIoe30sUXIodGhpcy5jKSksdCkpO2xldFtmLGRdPXRzKGwsdGhpcy5vLHRoaXMuem9uZSk7cmV0dXJuIGRyKHRoaXMse3RzOmYsbzpkfSl9cGx1cyhlKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2xldCB0PUIuZnJvbUR1cmF0aW9uTGlrZShlKTtyZXR1cm4gZHIodGhpcyxMYSh0aGlzLHQpKX1taW51cyhlKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2xldCB0PUIuZnJvbUR1cmF0aW9uTGlrZShlKS5uZWdhdGUoKTtyZXR1cm4gZHIodGhpcyxMYSh0aGlzLHQpKX1zdGFydE9mKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IHQ9e30scj1CLm5vcm1hbGl6ZVVuaXQoZSk7c3dpdGNoKHIpe2Nhc2VcXFwieWVhcnNcXFwiOnQubW9udGg9MTtjYXNlXFxcInF1YXJ0ZXJzXFxcIjpjYXNlXFxcIm1vbnRoc1xcXCI6dC5kYXk9MTtjYXNlXFxcIndlZWtzXFxcIjpjYXNlXFxcImRheXNcXFwiOnQuaG91cj0wO2Nhc2VcXFwiaG91cnNcXFwiOnQubWludXRlPTA7Y2FzZVxcXCJtaW51dGVzXFxcIjp0LnNlY29uZD0wO2Nhc2VcXFwic2Vjb25kc1xcXCI6dC5taWxsaXNlY29uZD0wO2JyZWFrO2Nhc2VcXFwibWlsbGlzZWNvbmRzXFxcIjpicmVha31pZihyPT09XFxcIndlZWtzXFxcIiYmKHQud2Vla2RheT0xKSxyPT09XFxcInF1YXJ0ZXJzXFxcIil7bGV0IHM9TWF0aC5jZWlsKHRoaXMubW9udGgvMyk7dC5tb250aD0ocy0xKSozKzF9cmV0dXJuIHRoaXMuc2V0KHQpfWVuZE9mKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5wbHVzKHtbZV06MX0pLnN0YXJ0T2YoZSkubWludXMoMSk6dGhpc310b0Zvcm1hdChlLHQ9e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/d2UuY3JlYXRlKHRoaXMubG9jLnJlZGVmYXVsdFRvRU4odCkpLmZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyh0aGlzLGUpOklpfXRvTG9jYWxlU3RyaW5nKGU9b24sdD17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD93ZS5jcmVhdGUodGhpcy5sb2MuY2xvbmUodCksZSkuZm9ybWF0RGF0ZVRpbWUodGhpcyk6SWl9dG9Mb2NhbGVQYXJ0cyhlPXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3dlLmNyZWF0ZSh0aGlzLmxvYy5jbG9uZShlKSxlKS5mb3JtYXREYXRlVGltZVBhcnRzKHRoaXMpOltdfXRvSVNPKHtmb3JtYXQ6ZT1cXFwiZXh0ZW5kZWRcXFwiLHN1cHByZXNzU2Vjb25kczp0PSExLHN1cHByZXNzTWlsbGlzZWNvbmRzOnI9ITEsaW5jbHVkZU9mZnNldDpzPSEwLGV4dGVuZGVkWm9uZTppPSExfT17fSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gbnVsbDtsZXQgbz1lPT09XFxcImV4dGVuZGVkXFxcIixhPU5pKHRoaXMsbyk7cmV0dXJuIGErPVxcXCJUXFxcIixhKz1OYSh0aGlzLG8sdCxyLHMsaSksYX10b0lTT0RhdGUoe2Zvcm1hdDplPVxcXCJleHRlbmRlZFxcXCJ9PXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP05pKHRoaXMsZT09PVxcXCJleHRlbmRlZFxcXCIpOm51bGx9dG9JU09XZWVrRGF0ZSgpe3JldHVybiBlcyh0aGlzLFxcXCJra2trLSdXJ1dXLWNcXFwiKX10b0lTT1RpbWUoe3N1cHByZXNzTWlsbGlzZWNvbmRzOmU9ITEsc3VwcHJlc3NTZWNvbmRzOnQ9ITEsaW5jbHVkZU9mZnNldDpyPSEwLGluY2x1ZGVQcmVmaXg6cz0hMSxleHRlbmRlZFpvbmU6aT0hMSxmb3JtYXQ6bz1cXFwiZXh0ZW5kZWRcXFwifT17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD8ocz9cXFwiVFxcXCI6XFxcIlxcXCIpK05hKHRoaXMsbz09PVxcXCJleHRlbmRlZFxcXCIsdCxlLHIsaSk6bnVsbH10b1JGQzI4MjIoKXtyZXR1cm4gZXModGhpcyxcXFwiRUVFLCBkZCBMTEwgeXl5eSBISDptbTpzcyBaWlpcXFwiLCExKX10b0hUVFAoKXtyZXR1cm4gZXModGhpcy50b1VUQygpLFxcXCJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzICdHTVQnXFxcIil9dG9TUUxEYXRlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9OaSh0aGlzLCEwKTpudWxsfXRvU1FMVGltZSh7aW5jbHVkZU9mZnNldDplPSEwLGluY2x1ZGVab25lOnQ9ITEsaW5jbHVkZU9mZnNldFNwYWNlOnI9ITB9PXt9KXtsZXQgcz1cXFwiSEg6bW06c3MuU1NTXFxcIjtyZXR1cm4odHx8ZSkmJihyJiYocys9XFxcIiBcXFwiKSx0P3MrPVxcXCJ6XFxcIjplJiYocys9XFxcIlpaXFxcIikpLGVzKHRoaXMscywhMCl9dG9TUUwoZT17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD9gJHt0aGlzLnRvU1FMRGF0ZSgpfSAke3RoaXMudG9TUUxUaW1lKGUpfWA6bnVsbH10b1N0cmluZygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy50b0lTTygpOklpfXZhbHVlT2YoKXtyZXR1cm4gdGhpcy50b01pbGxpcygpfXRvTWlsbGlzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnRzOk5hTn10b1NlY29uZHMoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudHMvMWUzOk5hTn10b1VuaXhJbnRlZ2VyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9NYXRoLmZsb29yKHRoaXMudHMvMWUzKTpOYU59dG9KU09OKCl7cmV0dXJuIHRoaXMudG9JU08oKX10b0JTT04oKXtyZXR1cm4gdGhpcy50b0pTRGF0ZSgpfXRvT2JqZWN0KGU9e30pe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJue307bGV0IHQ9Uih7fSx0aGlzLmMpO3JldHVybiBlLmluY2x1ZGVDb25maWcmJih0Lm91dHB1dENhbGVuZGFyPXRoaXMub3V0cHV0Q2FsZW5kYXIsdC5udW1iZXJpbmdTeXN0ZW09dGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtLHQubG9jYWxlPXRoaXMubG9jLmxvY2FsZSksdH10b0pTRGF0ZSgpe3JldHVybiBuZXcgRGF0ZSh0aGlzLmlzVmFsaWQ/dGhpcy50czpOYU4pfWRpZmYoZSx0PVxcXCJtaWxsaXNlY29uZHNcXFwiLHI9e30pe2lmKCF0aGlzLmlzVmFsaWR8fCFlLmlzVmFsaWQpcmV0dXJuIEIuaW52YWxpZChcXFwiY3JlYXRlZCBieSBkaWZmaW5nIGFuIGludmFsaWQgRGF0ZVRpbWVcXFwiKTtsZXQgcz1SKHtsb2NhbGU6dGhpcy5sb2NhbGUsbnVtYmVyaW5nU3lzdGVtOnRoaXMubnVtYmVyaW5nU3lzdGVtfSxyKSxpPSRvKHQpLm1hcChCLm5vcm1hbGl6ZVVuaXQpLG89ZS52YWx1ZU9mKCk+dGhpcy52YWx1ZU9mKCksYT1vP3RoaXM6ZSx1PW8/ZTp0aGlzLGw9cGEoYSx1LGkscyk7cmV0dXJuIG8/bC5uZWdhdGUoKTpsfWRpZmZOb3coZT1cXFwibWlsbGlzZWNvbmRzXFxcIix0PXt9KXtyZXR1cm4gdGhpcy5kaWZmKG4ubm93KCksZSx0KX11bnRpbChlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3l0LmZyb21EYXRlVGltZXModGhpcyxlKTp0aGlzfWhhc1NhbWUoZSx0KXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiExO2xldCByPWUudmFsdWVPZigpLHM9dGhpcy5zZXRab25lKGUuem9uZSx7a2VlcExvY2FsVGltZTohMH0pO3JldHVybiBzLnN0YXJ0T2YodCk8PXImJnI8PXMuZW5kT2YodCl9ZXF1YWxzKGUpe3JldHVybiB0aGlzLmlzVmFsaWQmJmUuaXNWYWxpZCYmdGhpcy52YWx1ZU9mKCk9PT1lLnZhbHVlT2YoKSYmdGhpcy56b25lLmVxdWFscyhlLnpvbmUpJiZ0aGlzLmxvYy5lcXVhbHMoZS5sb2MpfXRvUmVsYXRpdmUoZT17fSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gbnVsbDtsZXQgdD1lLmJhc2V8fG4uZnJvbU9iamVjdCh7fSx7em9uZTp0aGlzLnpvbmV9KSxyPWUucGFkZGluZz90aGlzPHQ/LWUucGFkZGluZzplLnBhZGRpbmc6MCxzPVtcXFwieWVhcnNcXFwiLFxcXCJtb250aHNcXFwiLFxcXCJkYXlzXFxcIixcXFwiaG91cnNcXFwiLFxcXCJtaW51dGVzXFxcIixcXFwic2Vjb25kc1xcXCJdLGk9ZS51bml0O3JldHVybiBBcnJheS5pc0FycmF5KGUudW5pdCkmJihzPWUudW5pdCxpPXZvaWQgMCksX2EodCx0aGlzLnBsdXMocikseWUoUih7fSxlKSx7bnVtZXJpYzpcXFwiYWx3YXlzXFxcIix1bml0czpzLHVuaXQ6aX0pKX10b1JlbGF0aXZlQ2FsZW5kYXIoZT17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD9fYShlLmJhc2V8fG4uZnJvbU9iamVjdCh7fSx7em9uZTp0aGlzLnpvbmV9KSx0aGlzLHllKFIoe30sZSkse251bWVyaWM6XFxcImF1dG9cXFwiLHVuaXRzOltcXFwieWVhcnNcXFwiLFxcXCJtb250aHNcXFwiLFxcXCJkYXlzXFxcIl0sY2FsZW5kYXJ5OiEwfSkpOm51bGx9c3RhdGljIG1pbiguLi5lKXtpZighZS5ldmVyeShuLmlzRGF0ZVRpbWUpKXRocm93IG5ldyBmZShcXFwibWluIHJlcXVpcmVzIGFsbCBhcmd1bWVudHMgYmUgRGF0ZVRpbWVzXFxcIik7cmV0dXJuIFhzKGUsdD0+dC52YWx1ZU9mKCksTWF0aC5taW4pfXN0YXRpYyBtYXgoLi4uZSl7aWYoIWUuZXZlcnkobi5pc0RhdGVUaW1lKSl0aHJvdyBuZXcgZmUoXFxcIm1heCByZXF1aXJlcyBhbGwgYXJndW1lbnRzIGJlIERhdGVUaW1lc1xcXCIpO3JldHVybiBYcyhlLHQ9PnQudmFsdWVPZigpLE1hdGgubWF4KX1zdGF0aWMgZnJvbUZvcm1hdEV4cGxhaW4oZSx0LHI9e30pe2xldHtsb2NhbGU6cz1udWxsLG51bWJlcmluZ1N5c3RlbTppPW51bGx9PXIsbz1uZS5mcm9tT3B0cyh7bG9jYWxlOnMsbnVtYmVyaW5nU3lzdGVtOmksZGVmYXVsdFRvRU46ITB9KTtyZXR1cm4ga2kobyxlLHQpfXN0YXRpYyBmcm9tU3RyaW5nRXhwbGFpbihlLHQscj17fSl7cmV0dXJuIG4uZnJvbUZvcm1hdEV4cGxhaW4oZSx0LHIpfXN0YXRpYyBnZXQgREFURV9TSE9SVCgpe3JldHVybiBvbn1zdGF0aWMgZ2V0IERBVEVfTUVEKCl7cmV0dXJuICRufXN0YXRpYyBnZXQgREFURV9NRURfV0lUSF9XRUVLREFZKCl7cmV0dXJuIEdzfXN0YXRpYyBnZXQgREFURV9GVUxMKCl7cmV0dXJuIFJufXN0YXRpYyBnZXQgREFURV9IVUdFKCl7cmV0dXJuIGpufXN0YXRpYyBnZXQgVElNRV9TSU1QTEUoKXtyZXR1cm4gcW59c3RhdGljIGdldCBUSU1FX1dJVEhfU0VDT05EUygpe3JldHVybiBWbn1zdGF0aWMgZ2V0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQoKXtyZXR1cm4gVW59c3RhdGljIGdldCBUSU1FX1dJVEhfTE9OR19PRkZTRVQoKXtyZXR1cm4gS259c3RhdGljIGdldCBUSU1FXzI0X1NJTVBMRSgpe3JldHVybiBXbn1zdGF0aWMgZ2V0IFRJTUVfMjRfV0lUSF9TRUNPTkRTKCl7cmV0dXJuIEhufXN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCgpe3JldHVybiBKbn1zdGF0aWMgZ2V0IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCgpe3JldHVybiB6bn1zdGF0aWMgZ2V0IERBVEVUSU1FX1NIT1JUKCl7cmV0dXJuIFlufXN0YXRpYyBnZXQgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTKCl7cmV0dXJuIEdufXN0YXRpYyBnZXQgREFURVRJTUVfTUVEKCl7cmV0dXJuIFpufXN0YXRpYyBnZXQgREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUygpe3JldHVybiBRbn1zdGF0aWMgZ2V0IERBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVkoKXtyZXR1cm4gWnN9c3RhdGljIGdldCBEQVRFVElNRV9GVUxMKCl7cmV0dXJuIFhufXN0YXRpYyBnZXQgREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMoKXtyZXR1cm4gZXJ9c3RhdGljIGdldCBEQVRFVElNRV9IVUdFKCl7cmV0dXJuIHRyfXN0YXRpYyBnZXQgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMoKXtyZXR1cm4gbnJ9fTtmdW5jdGlvbiBibihuKXtpZihxLmlzRGF0ZVRpbWUobikpcmV0dXJuIG47aWYobiYmbi52YWx1ZU9mJiZ0dChuLnZhbHVlT2YoKSkpcmV0dXJuIHEuZnJvbUpTRGF0ZShuKTtpZihuJiZ0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCIpcmV0dXJuIHEuZnJvbU9iamVjdChuKTt0aHJvdyBuZXcgZmUoYFVua25vd24gZGF0ZXRpbWUgYXJndW1lbnQ6ICR7bn0sIG9mIHR5cGUgJHt0eXBlb2Ygbn1gKX12YXIgYnQ9VnIobnMoKSk7dmFyIEZuPSgpPT4vWyMqMC05XVxcXFx1RkUwRj9cXFxcdTIwRTN8W1xcXFx4QTlcXFxceEFFXFxcXHUyMDNDXFxcXHUyMDQ5XFxcXHUyMTIyXFxcXHUyMTM5XFxcXHUyMTk0LVxcXFx1MjE5OVxcXFx1MjFBOVxcXFx1MjFBQVxcXFx1MjMxQVxcXFx1MjMxQlxcXFx1MjMyOFxcXFx1MjNDRlxcXFx1MjNFRC1cXFxcdTIzRUZcXFxcdTIzRjFcXFxcdTIzRjJcXFxcdTIzRjgtXFxcXHUyM0ZBXFxcXHUyNEMyXFxcXHUyNUFBXFxcXHUyNUFCXFxcXHUyNUI2XFxcXHUyNUMwXFxcXHUyNUZCXFxcXHUyNUZDXFxcXHUyNUZFXFxcXHUyNjAwLVxcXFx1MjYwNFxcXFx1MjYwRVxcXFx1MjYxMVxcXFx1MjYxNFxcXFx1MjYxNVxcXFx1MjYxOFxcXFx1MjYyMFxcXFx1MjYyMlxcXFx1MjYyM1xcXFx1MjYyNlxcXFx1MjYyQVxcXFx1MjYyRVxcXFx1MjYyRlxcXFx1MjYzOC1cXFxcdTI2M0FcXFxcdTI2NDBcXFxcdTI2NDJcXFxcdTI2NDgtXFxcXHUyNjUzXFxcXHUyNjVGXFxcXHUyNjYwXFxcXHUyNjYzXFxcXHUyNjY1XFxcXHUyNjY2XFxcXHUyNjY4XFxcXHUyNjdCXFxcXHUyNjdFXFxcXHUyNjdGXFxcXHUyNjkyXFxcXHUyNjk0LVxcXFx1MjY5N1xcXFx1MjY5OVxcXFx1MjY5QlxcXFx1MjY5Q1xcXFx1MjZBMFxcXFx1MjZBN1xcXFx1MjZBQVxcXFx1MjZCMFxcXFx1MjZCMVxcXFx1MjZCRFxcXFx1MjZCRVxcXFx1MjZDNFxcXFx1MjZDOFxcXFx1MjZDRlxcXFx1MjZEMVxcXFx1MjZFOVxcXFx1MjZGMC1cXFxcdTI2RjVcXFxcdTI2RjdcXFxcdTI2RjhcXFxcdTI2RkFcXFxcdTI3MDJcXFxcdTI3MDhcXFxcdTI3MDlcXFxcdTI3MEZcXFxcdTI3MTJcXFxcdTI3MTRcXFxcdTI3MTZcXFxcdTI3MURcXFxcdTI3MjFcXFxcdTI3MzNcXFxcdTI3MzRcXFxcdTI3NDRcXFxcdTI3NDdcXFxcdTI3NTdcXFxcdTI3NjNcXFxcdTI3QTFcXFxcdTI5MzRcXFxcdTI5MzVcXFxcdTJCMDUtXFxcXHUyQjA3XFxcXHUyQjFCXFxcXHUyQjFDXFxcXHUyQjU1XFxcXHUzMDMwXFxcXHUzMDNEXFxcXHUzMjk3XFxcXHUzMjk5XVxcXFx1RkUwRj98W1xcXFx1MjYxRFxcXFx1MjcwQ1xcXFx1MjcwRF0oPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVGRTBGKT98W1xcXFx1MjcwQVxcXFx1MjcwQl0oPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pP3xbXFxcXHUyM0U5LVxcXFx1MjNFQ1xcXFx1MjNGMFxcXFx1MjNGM1xcXFx1MjVGRFxcXFx1MjY5M1xcXFx1MjZBMVxcXFx1MjZBQlxcXFx1MjZDNVxcXFx1MjZDRVxcXFx1MjZENFxcXFx1MjZFQVxcXFx1MjZGRFxcXFx1MjcwNVxcXFx1MjcyOFxcXFx1Mjc0Q1xcXFx1Mjc0RVxcXFx1Mjc1My1cXFxcdTI3NTVcXFxcdTI3OTUtXFxcXHUyNzk3XFxcXHUyN0IwXFxcXHUyN0JGXFxcXHUyQjUwXXxcXFxcdTI2RDNcXFxcdUZFMEY/KD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQ0E1KT98XFxcXHUyNkY5KD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RkUwRik/KD86XFxcXHUyMDBEW1xcXFx1MjY0MFxcXFx1MjY0Ml1cXFxcdUZFMEY/KT98XFxcXHUyNzY0XFxcXHVGRTBGPyg/OlxcXFx1MjAwRCg/OlxcXFx1RDgzRFxcXFx1REQyNXxcXFxcdUQ4M0VcXFxcdURFNzkpKT98XFxcXHVEODNDKD86W1xcXFx1REMwNFxcXFx1REQ3MFxcXFx1REQ3MVxcXFx1REQ3RVxcXFx1REQ3RlxcXFx1REUwMlxcXFx1REUzN1xcXFx1REYyMVxcXFx1REYyNC1cXFxcdURGMkNcXFxcdURGMzZcXFxcdURGN0RcXFxcdURGOTZcXFxcdURGOTdcXFxcdURGOTktXFxcXHVERjlCXFxcXHVERjlFXFxcXHVERjlGXFxcXHVERkNEXFxcXHVERkNFXFxcXHVERkQ0LVxcXFx1REZERlxcXFx1REZGNVxcXFx1REZGN11cXFxcdUZFMEY/fFtcXFxcdURGODVcXFxcdURGQzJcXFxcdURGQzddKD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKT98W1xcXFx1REZDNFxcXFx1REZDQV0oPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pPyg/OlxcXFx1MjAwRFtcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGPyk/fFtcXFxcdURGQ0JcXFxcdURGQ0NdKD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RkUwRik/KD86XFxcXHUyMDBEW1xcXFx1MjY0MFxcXFx1MjY0Ml1cXFxcdUZFMEY/KT98W1xcXFx1RENDRlxcXFx1REQ4RVxcXFx1REQ5MS1cXFxcdUREOUFcXFxcdURFMDFcXFxcdURFMUFcXFxcdURFMkZcXFxcdURFMzItXFxcXHVERTM2XFxcXHVERTM4LVxcXFx1REUzQVxcXFx1REU1MFxcXFx1REU1MVxcXFx1REYwMC1cXFxcdURGMjBcXFxcdURGMkQtXFxcXHVERjM1XFxcXHVERjM3LVxcXFx1REY0M1xcXFx1REY0NS1cXFxcdURGNEFcXFxcdURGNEMtXFxcXHVERjdDXFxcXHVERjdFLVxcXFx1REY4NFxcXFx1REY4Ni1cXFxcdURGOTNcXFxcdURGQTAtXFxcXHVERkMxXFxcXHVERkM1XFxcXHVERkM2XFxcXHVERkM4XFxcXHVERkM5XFxcXHVERkNGLVxcXFx1REZEM1xcXFx1REZFMC1cXFxcdURGRjBcXFxcdURGRjgtXFxcXHVERkZGXXxcXFxcdURERTZcXFxcdUQ4M0NbXFxcXHVEREU4LVxcXFx1RERFQ1xcXFx1RERFRVxcXFx1RERGMVxcXFx1RERGMlxcXFx1RERGNFxcXFx1RERGNi1cXFxcdURERkFcXFxcdURERkNcXFxcdURERkRcXFxcdURERkZdfFxcXFx1RERFN1xcXFx1RDgzQ1tcXFxcdURERTZcXFxcdURERTdcXFxcdURERTktXFxcXHVEREVGXFxcXHVEREYxLVxcXFx1RERGNFxcXFx1RERGNi1cXFxcdURERjlcXFxcdURERkJcXFxcdURERkNcXFxcdURERkVcXFxcdURERkZdfFxcXFx1RERFOFxcXFx1RDgzQ1tcXFxcdURERTZcXFxcdURERThcXFxcdURERTlcXFxcdURERUItXFxcXHVEREVFXFxcXHVEREYwLVxcXFx1RERGN1xcXFx1RERGQS1cXFxcdURERkZdfFxcXFx1RERFOVxcXFx1RDgzQ1tcXFxcdURERUFcXFxcdURERUNcXFxcdURERUZcXFxcdURERjBcXFxcdURERjJcXFxcdURERjRcXFxcdURERkZdfFxcXFx1RERFQVxcXFx1RDgzQ1tcXFxcdURERTZcXFxcdURERThcXFxcdURERUFcXFxcdURERUNcXFxcdURERURcXFxcdURERjctXFxcXHVEREZBXXxcXFxcdURERUJcXFxcdUQ4M0NbXFxcXHVEREVFLVxcXFx1RERGMFxcXFx1RERGMlxcXFx1RERGNFxcXFx1RERGN118XFxcXHVEREVDXFxcXHVEODNDW1xcXFx1RERFNlxcXFx1RERFN1xcXFx1RERFOS1cXFxcdURERUVcXFxcdURERjEtXFxcXHVEREYzXFxcXHVEREY1LVxcXFx1RERGQVxcXFx1RERGQ1xcXFx1RERGRV18XFxcXHVEREVEXFxcXHVEODNDW1xcXFx1RERGMFxcXFx1RERGMlxcXFx1RERGM1xcXFx1RERGN1xcXFx1RERGOVxcXFx1RERGQV18XFxcXHVEREVFXFxcXHVEODNDW1xcXFx1RERFOC1cXFxcdURERUFcXFxcdURERjEtXFxcXHVEREY0XFxcXHVEREY2LVxcXFx1RERGOV18XFxcXHVEREVGXFxcXHVEODNDW1xcXFx1RERFQVxcXFx1RERGMlxcXFx1RERGNFxcXFx1RERGNV18XFxcXHVEREYwXFxcXHVEODNDW1xcXFx1RERFQVxcXFx1RERFQy1cXFxcdURERUVcXFxcdURERjJcXFxcdURERjNcXFxcdURERjVcXFxcdURERjdcXFxcdURERkNcXFxcdURERkVcXFxcdURERkZdfFxcXFx1RERGMVxcXFx1RDgzQ1tcXFxcdURERTYtXFxcXHVEREU4XFxcXHVEREVFXFxcXHVEREYwXFxcXHVEREY3LVxcXFx1RERGQlxcXFx1RERGRV18XFxcXHVEREYyXFxcXHVEODNDW1xcXFx1RERFNlxcXFx1RERFOC1cXFxcdURERURcXFxcdURERjAtXFxcXHVEREZGXXxcXFxcdURERjNcXFxcdUQ4M0NbXFxcXHVEREU2XFxcXHVEREU4XFxcXHVEREVBLVxcXFx1RERFQ1xcXFx1RERFRVxcXFx1RERGMVxcXFx1RERGNFxcXFx1RERGNVxcXFx1RERGN1xcXFx1RERGQVxcXFx1RERGRl18XFxcXHVEREY0XFxcXHVEODNDXFxcXHVEREYyfFxcXFx1RERGNVxcXFx1RDgzQ1tcXFxcdURERTZcXFxcdURERUEtXFxcXHVEREVEXFxcXHVEREYwLVxcXFx1RERGM1xcXFx1RERGNy1cXFxcdURERjlcXFxcdURERkNcXFxcdURERkVdfFxcXFx1RERGNlxcXFx1RDgzQ1xcXFx1RERFNnxcXFxcdURERjdcXFxcdUQ4M0NbXFxcXHVEREVBXFxcXHVEREY0XFxcXHVEREY4XFxcXHVEREZBXFxcXHVEREZDXXxcXFxcdURERjhcXFxcdUQ4M0NbXFxcXHVEREU2LVxcXFx1RERFQVxcXFx1RERFQy1cXFxcdURERjRcXFxcdURERjctXFxcXHVEREY5XFxcXHVEREZCXFxcXHVEREZELVxcXFx1RERGRl18XFxcXHVEREY5XFxcXHVEODNDW1xcXFx1RERFNlxcXFx1RERFOFxcXFx1RERFOVxcXFx1RERFQi1cXFxcdURERURcXFxcdURERUYtXFxcXHVEREY0XFxcXHVEREY3XFxcXHVEREY5XFxcXHVEREZCXFxcXHVEREZDXFxcXHVEREZGXXxcXFxcdURERkFcXFxcdUQ4M0NbXFxcXHVEREU2XFxcXHVEREVDXFxcXHVEREYyXFxcXHVEREYzXFxcXHVEREY4XFxcXHVEREZFXFxcXHVEREZGXXxcXFxcdURERkJcXFxcdUQ4M0NbXFxcXHVEREU2XFxcXHVEREU4XFxcXHVEREVBXFxcXHVEREVDXFxcXHVEREVFXFxcXHVEREYzXFxcXHVEREZBXXxcXFxcdURERkNcXFxcdUQ4M0NbXFxcXHVEREVCXFxcXHVEREY4XXxcXFxcdURERkRcXFxcdUQ4M0NcXFxcdURERjB8XFxcXHVEREZFXFxcXHVEODNDW1xcXFx1RERFQVxcXFx1RERGOV18XFxcXHVEREZGXFxcXHVEODNDW1xcXFx1RERFNlxcXFx1RERGMlxcXFx1RERGQ118XFxcXHVERjQ0KD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVERkVCKT98XFxcXHVERjRCKD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVERkU5KT98XFxcXHVERkMzKD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKT8oPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjQwXFxcXHUyNjQyXVxcXFx1RkUwRj8oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98XFxcXHUyN0ExXFxcXHVGRTBGPykpP3xcXFxcdURGRjNcXFxcdUZFMEY/KD86XFxcXHUyMDBEKD86XFxcXHUyNkE3XFxcXHVGRTBGP3xcXFxcdUQ4M0NcXFxcdURGMDgpKT98XFxcXHVERkY0KD86XFxcXHUyMDBEXFxcXHUyNjIwXFxcXHVGRTBGP3xcXFxcdURCNDBcXFxcdURDNjdcXFxcdURCNDBcXFxcdURDNjJcXFxcdURCNDAoPzpcXFxcdURDNjVcXFxcdURCNDBcXFxcdURDNkVcXFxcdURCNDBcXFxcdURDNjd8XFxcXHVEQzczXFxcXHVEQjQwXFxcXHVEQzYzXFxcXHVEQjQwXFxcXHVEQzc0fFxcXFx1REM3N1xcXFx1REI0MFxcXFx1REM2Q1xcXFx1REI0MFxcXFx1REM3MylcXFxcdURCNDBcXFxcdURDN0YpPyl8XFxcXHVEODNEKD86W1xcXFx1REMzRlxcXFx1RENGRFxcXFx1REQ0OVxcXFx1REQ0QVxcXFx1REQ2RlxcXFx1REQ3MFxcXFx1REQ3M1xcXFx1REQ3Ni1cXFxcdURENzlcXFxcdUREODdcXFxcdUREOEEtXFxcXHVERDhEXFxcXHVEREE1XFxcXHVEREE4XFxcXHVEREIxXFxcXHVEREIyXFxcXHVEREJDXFxcXHVEREMyLVxcXFx1RERDNFxcXFx1REREMS1cXFxcdURERDNcXFxcdUREREMtXFxcXHVERERFXFxcXHVEREUxXFxcXHVEREUzXFxcXHVEREU4XFxcXHVEREVGXFxcXHVEREYzXFxcXHVEREZBXFxcXHVERUNCXFxcXHVERUNELVxcXFx1REVDRlxcXFx1REVFMC1cXFxcdURFRTVcXFxcdURFRTlcXFxcdURFRjBcXFxcdURFRjNdXFxcXHVGRTBGP3xbXFxcXHVEQzQyXFxcXHVEQzQzXFxcXHVEQzQ2LVxcXFx1REM1MFxcXFx1REM2NlxcXFx1REM2N1xcXFx1REM2Qi1cXFxcdURDNkRcXFxcdURDNzJcXFxcdURDNzQtXFxcXHVEQzc2XFxcXHVEQzc4XFxcXHVEQzdDXFxcXHVEQzgzXFxcXHVEQzg1XFxcXHVEQzhGXFxcXHVEQzkxXFxcXHVEQ0FBXFxcXHVERDdBXFxcXHVERDk1XFxcXHVERDk2XFxcXHVERTRDXFxcXHVERTRGXFxcXHVERUMwXFxcXHVERUNDXSg/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSk/fFtcXFxcdURDNkVcXFxcdURDNzBcXFxcdURDNzFcXFxcdURDNzNcXFxcdURDNzdcXFxcdURDODFcXFxcdURDODJcXFxcdURDODZcXFxcdURDODdcXFxcdURFNDUtXFxcXHVERTQ3XFxcXHVERTRCXFxcXHVERTREXFxcXHVERTRFXFxcXHVERUEzXFxcXHVERUI0XFxcXHVERUI1XSg/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSk/KD86XFxcXHUyMDBEW1xcXFx1MjY0MFxcXFx1MjY0Ml1cXFxcdUZFMEY/KT98W1xcXFx1REQ3NFxcXFx1REQ5MF0oPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVGRTBGKT98W1xcXFx1REMwMC1cXFxcdURDMDdcXFxcdURDMDktXFxcXHVEQzE0XFxcXHVEQzE2LVxcXFx1REMyNVxcXFx1REMyNy1cXFxcdURDM0FcXFxcdURDM0MtXFxcXHVEQzNFXFxcXHVEQzQwXFxcXHVEQzQ0XFxcXHVEQzQ1XFxcXHVEQzUxLVxcXFx1REM2NVxcXFx1REM2QVxcXFx1REM3OS1cXFxcdURDN0JcXFxcdURDN0QtXFxcXHVEQzgwXFxcXHVEQzg0XFxcXHVEQzg4LVxcXFx1REM4RVxcXFx1REM5MFxcXFx1REM5Mi1cXFxcdURDQTlcXFxcdURDQUItXFxcXHVEQ0ZDXFxcXHVEQ0ZGLVxcXFx1REQzRFxcXFx1REQ0Qi1cXFxcdURENEVcXFxcdURENTAtXFxcXHVERDY3XFxcXHVEREE0XFxcXHVEREZCLVxcXFx1REUyRFxcXFx1REUyRi1cXFxcdURFMzRcXFxcdURFMzctXFxcXHVERTQxXFxcXHVERTQzXFxcXHVERTQ0XFxcXHVERTQ4LVxcXFx1REU0QVxcXFx1REU4MC1cXFxcdURFQTJcXFxcdURFQTQtXFxcXHVERUIzXFxcXHVERUI3LVxcXFx1REVCRlxcXFx1REVDMS1cXFxcdURFQzVcXFxcdURFRDAtXFxcXHVERUQyXFxcXHVERUQ1LVxcXFx1REVEN1xcXFx1REVEQy1cXFxcdURFREZcXFxcdURFRUJcXFxcdURFRUNcXFxcdURFRjQtXFxcXHVERUZDXFxcXHVERkUwLVxcXFx1REZFQlxcXFx1REZGMF18XFxcXHVEQzA4KD86XFxcXHUyMDBEXFxcXHUyQjFCKT98XFxcXHVEQzE1KD86XFxcXHUyMDBEXFxcXHVEODNFXFxcXHVEREJBKT98XFxcXHVEQzI2KD86XFxcXHUyMDBEKD86XFxcXHUyQjFCfFxcXFx1RDgzRFxcXFx1REQyNSkpP3xcXFxcdURDM0IoPzpcXFxcdTIwMERcXFxcdTI3NDRcXFxcdUZFMEY/KT98XFxcXHVEQzQxXFxcXHVGRTBGPyg/OlxcXFx1MjAwRFxcXFx1RDgzRFxcXFx1RERFOFxcXFx1RkUwRj8pP3xcXFxcdURDNjgoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OlxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRCk/XFxcXHVEQzY4fFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRCg/OltcXFxcdURDNjhcXFxcdURDNjldXFxcXHUyMDBEXFxcXHVEODNEKD86XFxcXHVEQzY2KD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQzY2KT98XFxcXHVEQzY3KD86XFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2NlxcXFx1REM2N10pPyl8W1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEQzY2KD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQzY2KT98XFxcXHVEQzY3KD86XFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2NlxcXFx1REM2N10pPyl8XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdKSl8XFxcXHVEODNDKD86XFxcXHVERkZCKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMERcXFxcdUQ4M0QoPzpcXFxcdURDOEJcXFxcdTIwMERcXFxcdUQ4M0QpP1xcXFx1REM2OFxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQzY4XFxcXHVEODNDW1xcXFx1REZGQy1cXFxcdURGRkZdKSkpP3xcXFxcdURGRkMoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OlxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRCk/XFxcXHVEQzY4XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURDNjhcXFxcdUQ4M0NbXFxcXHVERkZCXFxcXHVERkZELVxcXFx1REZGRl0pKSk/fFxcXFx1REZGRCg/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEXFxcXHVEODNEKD86XFxcXHVEQzhCXFxcXHUyMDBEXFxcXHVEODNEKT9cXFxcdURDNjhcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRFxcXFx1REM2OFxcXFx1RDgzQ1tcXFxcdURGRkJcXFxcdURGRkNcXFxcdURGRkVcXFxcdURGRkZdKSkpP3xcXFxcdURGRkUoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OlxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRCk/XFxcXHVEQzY4XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURDNjhcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRFxcXFx1REZGRl0pKSk/fFxcXFx1REZGRig/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEXFxcXHVEODNEKD86XFxcXHVEQzhCXFxcXHUyMDBEXFxcXHVEODNEKT9cXFxcdURDNjhcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRFxcXFx1REM2OFxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZFXSkpKT8pKT98XFxcXHVEQzY5KD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMERcXFxcdUQ4M0QoPzpcXFxcdURDOEJcXFxcdTIwMERcXFxcdUQ4M0QpP1tcXFxcdURDNjhcXFxcdURDNjldfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRCg/OltcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1REM2Nig/OlxcXFx1MjAwRFxcXFx1RDgzRFxcXFx1REM2Nik/fFxcXFx1REM2Nyg/OlxcXFx1MjAwRFxcXFx1RDgzRFtcXFxcdURDNjZcXFxcdURDNjddKT98XFxcXHVEQzY5XFxcXHUyMDBEXFxcXHVEODNEKD86XFxcXHVEQzY2KD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQzY2KT98XFxcXHVEQzY3KD86XFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2NlxcXFx1REM2N10pPykpfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXSkpfFxcXFx1RDgzQyg/OlxcXFx1REZGQig/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEXFxcXHVEODNEKD86W1xcXFx1REM2OFxcXFx1REM2OV18XFxcXHVEQzhCXFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2OFxcXFx1REM2OV0pXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY4XFxcXHVEQzY5XVxcXFx1RDgzQ1tcXFxcdURGRkMtXFxcXHVERkZGXSkpKT98XFxcXHVERkZDKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMERcXFxcdUQ4M0QoPzpbXFxcXHVEQzY4XFxcXHVEQzY5XXxcXFxcdURDOEJcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY4XFxcXHVEQzY5XSlcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRFtcXFxcdURDNjhcXFxcdURDNjldXFxcXHVEODNDW1xcXFx1REZGQlxcXFx1REZGRC1cXFxcdURGRkZdKSkpP3xcXFxcdURGRkQoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OltcXFxcdURDNjhcXFxcdURDNjldfFxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRFtcXFxcdURDNjhcXFxcdURDNjldKVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2OFxcXFx1REM2OV1cXFxcdUQ4M0NbXFxcXHVERkZCXFxcXHVERkZDXFxcXHVERkZFXFxcXHVERkZGXSkpKT98XFxcXHVERkZFKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMERcXFxcdUQ4M0QoPzpbXFxcXHVEQzY4XFxcXHVEQzY5XXxcXFxcdURDOEJcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY4XFxcXHVEQzY5XSlcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRFtcXFxcdURDNjhcXFxcdURDNjldXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkRcXFxcdURGRkZdKSkpP3xcXFxcdURGRkYoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OltcXFxcdURDNjhcXFxcdURDNjldfFxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRFtcXFxcdURDNjhcXFxcdURDNjldKVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2OFxcXFx1REM2OV1cXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRV0pKSk/KSk/fFxcXFx1REM2Rig/OlxcXFx1MjAwRFtcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGPyk/fFxcXFx1REQ3NSg/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUZFMEYpPyg/OlxcXFx1MjAwRFtcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGPyk/fFxcXFx1REUyRSg/OlxcXFx1MjAwRFxcXFx1RDgzRFxcXFx1RENBOCk/fFxcXFx1REUzNSg/OlxcXFx1MjAwRFxcXFx1RDgzRFxcXFx1RENBQik/fFxcXFx1REUzNig/OlxcXFx1MjAwRFxcXFx1RDgzQ1xcXFx1REYyQlxcXFx1RkUwRj8pP3xcXFxcdURFNDIoPzpcXFxcdTIwMERbXFxcXHUyMTk0XFxcXHUyMTk1XVxcXFx1RkUwRj8pP3xcXFxcdURFQjYoPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pPyg/OlxcXFx1MjAwRCg/OltcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGPyg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xcXFxcdTI3QTFcXFxcdUZFMEY/KSk/KXxcXFxcdUQ4M0UoPzpbXFxcXHVERDBDXFxcXHVERDBGXFxcXHVERDE4LVxcXFx1REQxRlxcXFx1REQzMC1cXFxcdUREMzRcXFxcdUREMzZcXFxcdURENzdcXFxcdUREQjVcXFxcdUREQjZcXFxcdUREQkJcXFxcdURERDJcXFxcdURERDNcXFxcdURERDVcXFxcdURFQzMtXFxcXHVERUM1XFxcXHVERUYwXFxcXHVERUYyLVxcXFx1REVGOF0oPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pP3xbXFxcXHVERDI2XFxcXHVERDM1XFxcXHVERDM3LVxcXFx1REQzOVxcXFx1REQzRFxcXFx1REQzRVxcXFx1RERCOFxcXFx1RERCOVxcXFx1RERDRFxcXFx1RERDRlxcXFx1RERENFxcXFx1RERENi1cXFxcdURERERdKD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKT8oPzpcXFxcdTIwMERbXFxcXHUyNjQwXFxcXHUyNjQyXVxcXFx1RkUwRj8pP3xbXFxcXHVERERFXFxcXHVERERGXSg/OlxcXFx1MjAwRFtcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGPyk/fFtcXFxcdUREMERcXFxcdUREMEVcXFxcdUREMTAtXFxcXHVERDE3XFxcXHVERDIwLVxcXFx1REQyNVxcXFx1REQyNy1cXFxcdUREMkZcXFxcdUREM0FcXFxcdUREM0YtXFxcXHVERDQ1XFxcXHVERDQ3LVxcXFx1REQ3NlxcXFx1REQ3OC1cXFxcdUREQjRcXFxcdUREQjdcXFxcdUREQkFcXFxcdUREQkMtXFxcXHVERENDXFxcXHVEREQwXFxcXHVEREUwLVxcXFx1RERGRlxcXFx1REU3MC1cXFxcdURFN0NcXFxcdURFODAtXFxcXHVERTg5XFxcXHVERThGLVxcXFx1REVDMlxcXFx1REVDNlxcXFx1REVDRS1cXFxcdURFRENcXFxcdURFREYtXFxcXHVERUU5XXxcXFxcdUREM0MoPzpcXFxcdTIwMERbXFxcXHUyNjQwXFxcXHUyNjQyXVxcXFx1RkUwRj98XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKT98XFxcXHVERENFKD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKT8oPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjQwXFxcXHUyNjQyXVxcXFx1RkUwRj8oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98XFxcXHUyN0ExXFxcXHVGRTBGPykpP3xcXFxcdURERDEoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY4NFxcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REREMXxcXFxcdURERDFcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdURERDIoPzpcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdURERDIpP3xcXFxcdURERDIoPzpcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdURERDIpPykpfFxcXFx1RDgzQyg/OlxcXFx1REZGQig/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEKD86XFxcXHVEODNEXFxcXHVEQzhCXFxcXHUyMDBEKT9cXFxcdUQ4M0VcXFxcdURERDFcXFxcdUQ4M0NbXFxcXHVERkZDLVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY4NFxcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REREMVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSkpKT98XFxcXHVERkZDKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMEQoPzpcXFxcdUQ4M0RcXFxcdURDOEJcXFxcdTIwMEQpP1xcXFx1RDgzRVxcXFx1REREMVxcXFx1RDgzQ1tcXFxcdURGRkJcXFxcdURGRkQtXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjg0XFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNFXFxcXHVEREQxXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKSkpP3xcXFxcdURGRkQoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRCg/OlxcXFx1RDgzRFxcXFx1REM4QlxcXFx1MjAwRCk/XFxcXHVEODNFXFxcXHVEREQxXFxcXHVEODNDW1xcXFx1REZGQlxcXFx1REZGQ1xcXFx1REZGRVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY4NFxcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REREMVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSkpKT98XFxcXHVERkZFKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMEQoPzpcXFxcdUQ4M0RcXFxcdURDOEJcXFxcdTIwMEQpP1xcXFx1RDgzRVxcXFx1REREMVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZEXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjg0XFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNFXFxcXHVEREQxXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKSkpP3xcXFxcdURGRkYoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRCg/OlxcXFx1RDgzRFxcXFx1REM4QlxcXFx1MjAwRCk/XFxcXHVEODNFXFxcXHVEREQxXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkVdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGODRcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdURERDFcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pKSk/KSk/fFxcXFx1REVGMSg/OlxcXFx1RDgzQyg/OlxcXFx1REZGQig/OlxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REVGMlxcXFx1RDgzQ1tcXFxcdURGRkMtXFxcXHVERkZGXSk/fFxcXFx1REZGQyg/OlxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REVGMlxcXFx1RDgzQ1tcXFxcdURGRkJcXFxcdURGRkQtXFxcXHVERkZGXSk/fFxcXFx1REZGRCg/OlxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REVGMlxcXFx1RDgzQ1tcXFxcdURGRkJcXFxcdURGRkNcXFxcdURGRkVcXFxcdURGRkZdKT98XFxcXHVERkZFKD86XFxcXHUyMDBEXFxcXHVEODNFXFxcXHVERUYyXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkRcXFxcdURGRkZdKT98XFxcXHVERkZGKD86XFxcXHUyMDBEXFxcXHVEODNFXFxcXHVERUYyXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkVdKT8pKT8pL2c7ZnVuY3Rpb24gTWkobil7cmV0dXJuIG49PW51bGw/bjpuLnNoaWZ0VG8oXFxcInllYXJzXFxcIixcXFwibW9udGhzXFxcIixcXFwid2Vla3NcXFwiLFxcXCJkYXlzXFxcIixcXFwiaG91cnNcXFwiLFxcXCJtaW51dGVzXFxcIixcXFwic2Vjb25kc1xcXCIsXFxcIm1pbGxpc2Vjb25kc1xcXCIpLm5vcm1hbGl6ZSgpfWZ1bmN0aW9uIGphKG4sZSx0LHIpe3JldHVybiBuLnNlY29uZD09MCYmbi5taW51dGU9PTAmJm4uaG91cj09MD9uLnRvTG9jYWwoKS50b0Zvcm1hdChlLHtsb2NhbGU6cn0pOm4udG9Mb2NhbCgpLnRvRm9ybWF0KHQse2xvY2FsZTpyfSl9ZnVuY3Rpb24gcWEobil7bj1NaShuKTtsZXQgZT1cXFwiXFxcIjtyZXR1cm4gbi55ZWFycyYmKGUrPWAke24ueWVhcnN9IHllYXJzLCBgKSxuLm1vbnRocyYmKGUrPWAke24ubW9udGhzfSBtb250aHMsIGApLG4ud2Vla3MmJihlKz1gJHtuLndlZWtzfSB3ZWVrcywgYCksbi5kYXlzJiYoZSs9YCR7bi5kYXlzfSBkYXlzLCBgKSxuLmhvdXJzJiYoZSs9YCR7bi5ob3Vyc30gaG91cnMsIGApLG4ubWludXRlcyYmKGUrPWAke24ubWludXRlc30gbWludXRlcywgYCksbi5zZWNvbmRzJiYoZSs9YCR7TWF0aC5yb3VuZChuLnNlY29uZHMpfSBzZWNvbmRzLCBgKSxuLm1pbGxpc2Vjb25kcyYmKGUrPWAke01hdGgucm91bmQobi5taWxsaXNlY29uZHMpfSBtcywgYCksZS5lbmRzV2l0aChcXFwiLCBcXFwiKSYmKGU9ZS5zdWJzdHJpbmcoMCxlLmxlbmd0aC0yKSksZX1mdW5jdGlvbiBFbihuKXtyZXR1cm4gbi5pbmNsdWRlcyhcXFwiL1xcXCIpJiYobj1uLnN1YnN0cmluZyhuLmxhc3RJbmRleE9mKFxcXCIvXFxcIikrMSkpLG4uZW5kc1dpdGgoXFxcIi5tZFxcXCIpJiYobj1uLnN1YnN0cmluZygwLG4ubGVuZ3RoLTMpKSxufWZ1bmN0aW9uIFZhKG4pe3JldHVybiBuLmluY2x1ZGVzKFxcXCIuXFxcIik/bi5zdWJzdHJpbmcobi5sYXN0SW5kZXhPZihcXFwiLlxcXCIpKzEpOlxcXCJcXFwifXZhciBVYz1idC5hbHQoYnQucmVnZXgobmV3IFJlZ0V4cChGbigpLFxcXCJcXFwiKSksYnQucmVnZXgoL1swLTlcXFxccHtMZXR0ZXJ9Xy1dKy91KSxidC53aGl0ZXNwYWNlLm1hcChuPT5cXFwiIFxcXCIpLGJ0LmFueS5tYXAobj0+XFxcIiBcXFwiKSkubWFueSgpLm1hcChuPT5uLmpvaW4oXFxcIlxcXCIpLnNwbGl0KC9cXFxccysvKS5qb2luKFxcXCIgXFxcIikudHJpbSgpKTtmdW5jdGlvbiBVYShuKXtyZXR1cm4gVWMudHJ5UGFyc2Uobil9dmFyIHhlPWNsYXNzIG57c3RhdGljIGZpbGUoZSx0PSExLHIpe3JldHVybiBuZXcgbih7cGF0aDplLGVtYmVkOnQsZGlzcGxheTpyLHN1YnBhdGg6dm9pZCAwLHR5cGU6XFxcImZpbGVcXFwifSl9c3RhdGljIGluZmVyKGUsdD0hMSxyKXtpZihlLmluY2x1ZGVzKFxcXCIjXlxcXCIpKXtsZXQgcz1lLnNwbGl0KFxcXCIjXlxcXCIpO3JldHVybiBuLmJsb2NrKHNbMF0sc1sxXSx0LHIpfWVsc2UgaWYoZS5pbmNsdWRlcyhcXFwiI1xcXCIpKXtsZXQgcz1lLnNwbGl0KFxcXCIjXFxcIik7cmV0dXJuIG4uaGVhZGVyKHNbMF0sc1sxXSx0LHIpfWVsc2UgcmV0dXJuIG4uZmlsZShlLHQscil9c3RhdGljIGhlYWRlcihlLHQscixzKXtyZXR1cm4gbmV3IG4oe3BhdGg6ZSxlbWJlZDpyLGRpc3BsYXk6cyxzdWJwYXRoOlVhKHQpLHR5cGU6XFxcImhlYWRlclxcXCJ9KX1zdGF0aWMgYmxvY2soZSx0LHIscyl7cmV0dXJuIG5ldyBuKHtwYXRoOmUsZW1iZWQ6cixkaXNwbGF5OnMsc3VicGF0aDp0LHR5cGU6XFxcImJsb2NrXFxcIn0pfXN0YXRpYyBmcm9tT2JqZWN0KGUpe3JldHVybiBuZXcgbihlKX1zdGF0aWMgcGFyc2VJbm5lcihlKXtsZXRbdCxyXT1LYyhlKTtyZXR1cm4gbi5pbmZlcih0LCExLHIpfWNvbnN0cnVjdG9yKGUpe09iamVjdC5hc3NpZ24odGhpcyxlKX13aXRoUGF0aChlKXtyZXR1cm4gbmV3IG4oT2JqZWN0LmFzc2lnbih7fSx0aGlzLHtwYXRoOmV9KSl9d2l0aERpc3BsYXkoZSl7cmV0dXJuIG5ldyBuKE9iamVjdC5hc3NpZ24oe30sdGhpcyx7ZGlzcGxheTplfSkpfXdpdGhFbWJlZChlKXtyZXR1cm4gdGhpcy5lbWJlZD09ZT90aGlzOm5ldyBuKE9iamVjdC5hc3NpZ24oe30sdGhpcyx7ZW1iZWQ6ZX0pKX13aXRoSGVhZGVyKGUpe3JldHVybiBuLmhlYWRlcih0aGlzLnBhdGgsZSx0aGlzLmVtYmVkLHRoaXMuZGlzcGxheSl9d2l0aEJsb2NrKGUpe3JldHVybiBuLmJsb2NrKHRoaXMucGF0aCxlLHRoaXMuZW1iZWQsdGhpcy5kaXNwbGF5KX1lcXVhbHMoZSl7cmV0dXJuIGU9PW51bGx8fGU9PW51bGw/ITE6dGhpcy5wYXRoPT1lLnBhdGgmJnRoaXMudHlwZT09ZS50eXBlJiZ0aGlzLnN1YnBhdGg9PWUuc3VicGF0aH10b1N0cmluZygpe3JldHVybiB0aGlzLm1hcmtkb3duKCl9dG9PYmplY3QoKXtyZXR1cm57cGF0aDp0aGlzLnBhdGgsdHlwZTp0aGlzLnR5cGUsc3VicGF0aDp0aGlzLnN1YnBhdGgsZGlzcGxheTp0aGlzLmRpc3BsYXksZW1iZWQ6dGhpcy5lbWJlZH19dG9GaWxlKCl7cmV0dXJuIG4uZmlsZSh0aGlzLnBhdGgsdGhpcy5lbWJlZCx0aGlzLmRpc3BsYXkpfXRvRW1iZWQoKXtyZXR1cm4gdGhpcy53aXRoRW1iZWQoITApfWZyb21FbWJlZCgpe3JldHVybiB0aGlzLndpdGhFbWJlZCghMSl9bWFya2Rvd24oKXtsZXQgZT0odGhpcy5lbWJlZD9cXFwiIVxcXCI6XFxcIlxcXCIpK1xcXCJbW1xcXCIrdGhpcy5vYnNpZGlhbkxpbmsoKTtyZXR1cm4gZSs9XFxcInxcXFwiLGUrPXRoaXMuZGlzcGxheU9yRGVmYXVsdCgpLGUrPVxcXCJdXVxcXCIsZX1kaXNwbGF5T3JEZWZhdWx0KCl7aWYodGhpcy5kaXNwbGF5KXJldHVybiB0aGlzLmRpc3BsYXk7e2xldCBlPUVuKHRoaXMucGF0aCk7cmV0dXJuKHRoaXMudHlwZT09XFxcImhlYWRlclxcXCJ8fHRoaXMudHlwZT09XFxcImJsb2NrXFxcIikmJihlKz1cXFwiID4gXFxcIit0aGlzLnN1YnBhdGgpLGV9fW9ic2lkaWFuTGluaygpe3ZhciB0LHI7bGV0IGU9dGhpcy5wYXRoLnJlcGxhY2UoXFxcInxcXFwiLFxcXCJcXFxcXFxcXHxcXFwiKTtyZXR1cm4gdGhpcy50eXBlPT1cXFwiaGVhZGVyXFxcIj9lK1xcXCIjXFxcIisoKHQ9dGhpcy5zdWJwYXRoKT09bnVsbD92b2lkIDA6dC5yZXBsYWNlKFxcXCJ8XFxcIixcXFwiXFxcXFxcXFx8XFxcIikpOnRoaXMudHlwZT09XFxcImJsb2NrXFxcIj9lK1xcXCIjXlxcXCIrKChyPXRoaXMuc3VicGF0aCk9PW51bGw/dm9pZCAwOnIucmVwbGFjZShcXFwifFxcXCIsXFxcIlxcXFxcXFxcfFxcXCIpKTplfWZpbGVOYW1lKCl7cmV0dXJuIEVuKHRoaXMucGF0aCl9fTtmdW5jdGlvbiBLYyhuKXtsZXQgZT0tMTtmb3IoOyhlPW4uaW5kZXhPZihcXFwifFxcXCIsZSsxKSk+PTA7KWlmKCEoZT4wJiZuW2UtMV09PVxcXCJcXFxcXFxcXFxcXCIpKXJldHVybltuLnN1YnN0cmluZygwLGUpLnJlcGxhY2UoL1xcXFxcXFxcXFxcXHwvZyxcXFwifFxcXCIpLG4uc3Vic3RyaW5nKGUrMSldO3JldHVybltuLnJlcGxhY2UoL1xcXFxcXFxcXFxcXHwvZyxcXFwifFxcXCIpLHZvaWQgMF19dmFyIHJzPVN5bWJvbC5mb3IoXFxcInlhbWwuYWxpYXNcXFwiKSxzcz1TeW1ib2wuZm9yKFxcXCJ5YW1sLmRvY3VtZW50XFxcIiksS2U9U3ltYm9sLmZvcihcXFwieWFtbC5tYXBcXFwiKSxfaT1TeW1ib2wuZm9yKFxcXCJ5YW1sLnBhaXJcXFwiKSxJZT1TeW1ib2wuZm9yKFxcXCJ5YW1sLnNjYWxhclxcXCIpLEZ0PVN5bWJvbC5mb3IoXFxcInlhbWwuc2VxXFxcIiksVGU9U3ltYm9sLmZvcihcXFwieWFtbC5ub2RlLnR5cGVcXFwiKSxXZT1uPT4hIW4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIiYmbltUZV09PT1ycyxydD1uPT4hIW4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIiYmbltUZV09PT1zcyxIZT1uPT4hIW4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIiYmbltUZV09PT1LZSxIPW49PiEhbiYmdHlwZW9mIG49PVxcXCJvYmplY3RcXFwiJiZuW1RlXT09PV9pLEs9bj0+ISFuJiZ0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCImJm5bVGVdPT09SWUsSmU9bj0+ISFuJiZ0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCImJm5bVGVdPT09RnQ7ZnVuY3Rpb24gWihuKXtpZihuJiZ0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCIpc3dpdGNoKG5bVGVdKXtjYXNlIEtlOmNhc2UgRnQ6cmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gSihuKXtpZihuJiZ0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCIpc3dpdGNoKG5bVGVdKXtjYXNlIHJzOmNhc2UgS2U6Y2FzZSBJZTpjYXNlIEZ0OnJldHVybiEwfXJldHVybiExfXZhciBLYT1uPT4oSyhuKXx8WihuKSkmJiEhbi5hbmNob3I7dmFyIENlPVN5bWJvbChcXFwiYnJlYWsgdmlzaXRcXFwiKSxXYT1TeW1ib2woXFxcInNraXAgY2hpbGRyZW5cXFwiKSxzdD1TeW1ib2woXFxcInJlbW92ZSBub2RlXFxcIik7ZnVuY3Rpb24gemUobixlKXtsZXQgdD1IYShlKTtydChuKT93bihudWxsLG4uY29udGVudHMsdCxPYmplY3QuZnJlZXplKFtuXSkpPT09c3QmJihuLmNvbnRlbnRzPW51bGwpOnduKG51bGwsbix0LE9iamVjdC5mcmVlemUoW10pKX16ZS5CUkVBSz1DZTt6ZS5TS0lQPVdhO3plLlJFTU9WRT1zdDtmdW5jdGlvbiB3bihuLGUsdCxyKXtsZXQgcz1KYShuLGUsdCxyKTtpZihKKHMpfHxIKHMpKXJldHVybiB6YShuLHIscyksd24obixzLHQscik7aWYodHlwZW9mIHMhPVxcXCJzeW1ib2xcXFwiKXtpZihaKGUpKXtyPU9iamVjdC5mcmVlemUoci5jb25jYXQoZSkpO2ZvcihsZXQgaT0wO2k8ZS5pdGVtcy5sZW5ndGg7KytpKXtsZXQgbz13bihpLGUuaXRlbXNbaV0sdCxyKTtpZih0eXBlb2Ygbz09XFxcIm51bWJlclxcXCIpaT1vLTE7ZWxzZXtpZihvPT09Q2UpcmV0dXJuIENlO289PT1zdCYmKGUuaXRlbXMuc3BsaWNlKGksMSksaS09MSl9fX1lbHNlIGlmKEgoZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7bGV0IGk9d24oXFxcImtleVxcXCIsZS5rZXksdCxyKTtpZihpPT09Q2UpcmV0dXJuIENlO2k9PT1zdCYmKGUua2V5PW51bGwpO2xldCBvPXduKFxcXCJ2YWx1ZVxcXCIsZS52YWx1ZSx0LHIpO2lmKG89PT1DZSlyZXR1cm4gQ2U7bz09PXN0JiYoZS52YWx1ZT1udWxsKX19cmV0dXJuIHN9YXN5bmMgZnVuY3Rpb24gaXMobixlKXtsZXQgdD1IYShlKTtydChuKT9hd2FpdCBUbihudWxsLG4uY29udGVudHMsdCxPYmplY3QuZnJlZXplKFtuXSkpPT09c3QmJihuLmNvbnRlbnRzPW51bGwpOmF3YWl0IFRuKG51bGwsbix0LE9iamVjdC5mcmVlemUoW10pKX1pcy5CUkVBSz1DZTtpcy5TS0lQPVdhO2lzLlJFTU9WRT1zdDthc3luYyBmdW5jdGlvbiBUbihuLGUsdCxyKXtsZXQgcz1hd2FpdCBKYShuLGUsdCxyKTtpZihKKHMpfHxIKHMpKXJldHVybiB6YShuLHIscyksVG4obixzLHQscik7aWYodHlwZW9mIHMhPVxcXCJzeW1ib2xcXFwiKXtpZihaKGUpKXtyPU9iamVjdC5mcmVlemUoci5jb25jYXQoZSkpO2ZvcihsZXQgaT0wO2k8ZS5pdGVtcy5sZW5ndGg7KytpKXtsZXQgbz1hd2FpdCBUbihpLGUuaXRlbXNbaV0sdCxyKTtpZih0eXBlb2Ygbz09XFxcIm51bWJlclxcXCIpaT1vLTE7ZWxzZXtpZihvPT09Q2UpcmV0dXJuIENlO289PT1zdCYmKGUuaXRlbXMuc3BsaWNlKGksMSksaS09MSl9fX1lbHNlIGlmKEgoZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7bGV0IGk9YXdhaXQgVG4oXFxcImtleVxcXCIsZS5rZXksdCxyKTtpZihpPT09Q2UpcmV0dXJuIENlO2k9PT1zdCYmKGUua2V5PW51bGwpO2xldCBvPWF3YWl0IFRuKFxcXCJ2YWx1ZVxcXCIsZS52YWx1ZSx0LHIpO2lmKG89PT1DZSlyZXR1cm4gQ2U7bz09PXN0JiYoZS52YWx1ZT1udWxsKX19cmV0dXJuIHN9ZnVuY3Rpb24gSGEobil7cmV0dXJuIHR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIiYmKG4uQ29sbGVjdGlvbnx8bi5Ob2RlfHxuLlZhbHVlKT9PYmplY3QuYXNzaWduKHtBbGlhczpuLk5vZGUsTWFwOm4uTm9kZSxTY2FsYXI6bi5Ob2RlLFNlcTpuLk5vZGV9LG4uVmFsdWUmJntNYXA6bi5WYWx1ZSxTY2FsYXI6bi5WYWx1ZSxTZXE6bi5WYWx1ZX0sbi5Db2xsZWN0aW9uJiZ7TWFwOm4uQ29sbGVjdGlvbixTZXE6bi5Db2xsZWN0aW9ufSxuKTpufWZ1bmN0aW9uIEphKG4sZSx0LHIpe3ZhciBzLGksbyxhLHU7aWYodHlwZW9mIHQ9PVxcXCJmdW5jdGlvblxcXCIpcmV0dXJuIHQobixlLHIpO2lmKEhlKGUpKXJldHVybihzPXQuTWFwKT09bnVsbD92b2lkIDA6cy5jYWxsKHQsbixlLHIpO2lmKEplKGUpKXJldHVybihpPXQuU2VxKT09bnVsbD92b2lkIDA6aS5jYWxsKHQsbixlLHIpO2lmKEgoZSkpcmV0dXJuKG89dC5QYWlyKT09bnVsbD92b2lkIDA6by5jYWxsKHQsbixlLHIpO2lmKEsoZSkpcmV0dXJuKGE9dC5TY2FsYXIpPT1udWxsP3ZvaWQgMDphLmNhbGwodCxuLGUscik7aWYoV2UoZSkpcmV0dXJuKHU9dC5BbGlhcyk9PW51bGw/dm9pZCAwOnUuY2FsbCh0LG4sZSxyKX1mdW5jdGlvbiB6YShuLGUsdCl7bGV0IHI9ZVtlLmxlbmd0aC0xXTtpZihaKHIpKXIuaXRlbXNbbl09dDtlbHNlIGlmKEgocikpbj09PVxcXCJrZXlcXFwiP3Iua2V5PXQ6ci52YWx1ZT10O2Vsc2UgaWYocnQocikpci5jb250ZW50cz10O2Vsc2V7bGV0IHM9V2Uocik/XFxcImFsaWFzXFxcIjpcXFwic2NhbGFyXFxcIjt0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXBsYWNlIG5vZGUgd2l0aCAke3N9IHBhcmVudGApfX12YXIgV2M9e1xcXCIhXFxcIjpcXFwiJTIxXFxcIixcXFwiLFxcXCI6XFxcIiUyQ1xcXCIsXFxcIltcXFwiOlxcXCIlNUJcXFwiLFxcXCJdXFxcIjpcXFwiJTVEXFxcIixcXFwie1xcXCI6XFxcIiU3QlxcXCIsXFxcIn1cXFwiOlxcXCIlN0RcXFwifSxIYz1uPT5uLnJlcGxhY2UoL1shLFtcXFxcXXt9XS9nLGU9PldjW2VdKSxpdD1jbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5kb2NTdGFydD1udWxsLHRoaXMuZG9jRW5kPSExLHRoaXMueWFtbD1PYmplY3QuYXNzaWduKHt9LG4uZGVmYXVsdFlhbWwsZSksdGhpcy50YWdzPU9iamVjdC5hc3NpZ24oe30sbi5kZWZhdWx0VGFncyx0KX1jbG9uZSgpe2xldCBlPW5ldyBuKHRoaXMueWFtbCx0aGlzLnRhZ3MpO3JldHVybiBlLmRvY1N0YXJ0PXRoaXMuZG9jU3RhcnQsZX1hdERvY3VtZW50KCl7bGV0IGU9bmV3IG4odGhpcy55YW1sLHRoaXMudGFncyk7c3dpdGNoKHRoaXMueWFtbC52ZXJzaW9uKXtjYXNlXFxcIjEuMVxcXCI6dGhpcy5hdE5leHREb2N1bWVudD0hMDticmVhaztjYXNlXFxcIjEuMlxcXCI6dGhpcy5hdE5leHREb2N1bWVudD0hMSx0aGlzLnlhbWw9e2V4cGxpY2l0Om4uZGVmYXVsdFlhbWwuZXhwbGljaXQsdmVyc2lvbjpcXFwiMS4yXFxcIn0sdGhpcy50YWdzPU9iamVjdC5hc3NpZ24oe30sbi5kZWZhdWx0VGFncyk7YnJlYWt9cmV0dXJuIGV9YWRkKGUsdCl7dGhpcy5hdE5leHREb2N1bWVudCYmKHRoaXMueWFtbD17ZXhwbGljaXQ6bi5kZWZhdWx0WWFtbC5leHBsaWNpdCx2ZXJzaW9uOlxcXCIxLjFcXFwifSx0aGlzLnRhZ3M9T2JqZWN0LmFzc2lnbih7fSxuLmRlZmF1bHRUYWdzKSx0aGlzLmF0TmV4dERvY3VtZW50PSExKTtsZXQgcj1lLnRyaW0oKS5zcGxpdCgvWyBcXFxcdF0rLykscz1yLnNoaWZ0KCk7c3dpdGNoKHMpe2Nhc2VcXFwiJVRBR1xcXCI6e2lmKHIubGVuZ3RoIT09MiYmKHQoMCxcXFwiJVRBRyBkaXJlY3RpdmUgc2hvdWxkIGNvbnRhaW4gZXhhY3RseSB0d28gcGFydHNcXFwiKSxyLmxlbmd0aDwyKSlyZXR1cm4hMTtsZXRbaSxvXT1yO3JldHVybiB0aGlzLnRhZ3NbaV09bywhMH1jYXNlXFxcIiVZQU1MXFxcIjp7aWYodGhpcy55YW1sLmV4cGxpY2l0PSEwLHIubGVuZ3RoIT09MSlyZXR1cm4gdCgwLFxcXCIlWUFNTCBkaXJlY3RpdmUgc2hvdWxkIGNvbnRhaW4gZXhhY3RseSBvbmUgcGFydFxcXCIpLCExO2xldFtpXT1yO2lmKGk9PT1cXFwiMS4xXFxcInx8aT09PVxcXCIxLjJcXFwiKXJldHVybiB0aGlzLnlhbWwudmVyc2lvbj1pLCEwO3tsZXQgbz0vXlxcXFxkK1xcXFwuXFxcXGQrJC8udGVzdChpKTtyZXR1cm4gdCg2LGBVbnN1cHBvcnRlZCBZQU1MIHZlcnNpb24gJHtpfWAsbyksITF9fWRlZmF1bHQ6cmV0dXJuIHQoMCxgVW5rbm93biBkaXJlY3RpdmUgJHtzfWAsITApLCExfX10YWdOYW1lKGUsdCl7aWYoZT09PVxcXCIhXFxcIilyZXR1cm5cXFwiIVxcXCI7aWYoZVswXSE9PVxcXCIhXFxcIilyZXR1cm4gdChgTm90IGEgdmFsaWQgdGFnOiAke2V9YCksbnVsbDtpZihlWzFdPT09XFxcIjxcXFwiKXtsZXQgbz1lLnNsaWNlKDIsLTEpO3JldHVybiBvPT09XFxcIiFcXFwifHxvPT09XFxcIiEhXFxcIj8odChgVmVyYmF0aW0gdGFncyBhcmVuJ3QgcmVzb2x2ZWQsIHNvICR7ZX0gaXMgaW52YWxpZC5gKSxudWxsKTooZVtlLmxlbmd0aC0xXSE9PVxcXCI+XFxcIiYmdChcXFwiVmVyYmF0aW0gdGFncyBtdXN0IGVuZCB3aXRoIGEgPlxcXCIpLG8pfWxldFsscixzXT1lLm1hdGNoKG5ldyBSZWdFeHAoXFxcIl4oLiohKShbXiFdKikkXFxcIixcXFwic1xcXCIpKTtzfHx0KGBUaGUgJHtlfSB0YWcgaGFzIG5vIHN1ZmZpeGApO2xldCBpPXRoaXMudGFnc1tyXTtpZihpKXRyeXtyZXR1cm4gaStkZWNvZGVVUklDb21wb25lbnQocyl9Y2F0Y2gobyl7cmV0dXJuIHQoU3RyaW5nKG8pKSxudWxsfXJldHVybiByPT09XFxcIiFcXFwiP2U6KHQoYENvdWxkIG5vdCByZXNvbHZlIHRhZzogJHtlfWApLG51bGwpfXRhZ1N0cmluZyhlKXtmb3IobGV0W3Qscl1vZiBPYmplY3QuZW50cmllcyh0aGlzLnRhZ3MpKWlmKGUuc3RhcnRzV2l0aChyKSlyZXR1cm4gdCtIYyhlLnN1YnN0cmluZyhyLmxlbmd0aCkpO3JldHVybiBlWzBdPT09XFxcIiFcXFwiP2U6YCE8JHtlfT5gfXRvU3RyaW5nKGUpe2xldCB0PXRoaXMueWFtbC5leHBsaWNpdD9bYCVZQU1MICR7dGhpcy55YW1sLnZlcnNpb258fFxcXCIxLjJcXFwifWBdOltdLHI9T2JqZWN0LmVudHJpZXModGhpcy50YWdzKSxzO2lmKGUmJnIubGVuZ3RoPjAmJkooZS5jb250ZW50cykpe2xldCBpPXt9O3plKGUuY29udGVudHMsKG8sYSk9PntKKGEpJiZhLnRhZyYmKGlbYS50YWddPSEwKX0pLHM9T2JqZWN0LmtleXMoaSl9ZWxzZSBzPVtdO2ZvcihsZXRbaSxvXW9mIHIpaT09PVxcXCIhIVxcXCImJm89PT1cXFwidGFnOnlhbWwub3JnLDIwMDI6XFxcInx8KCFlfHxzLnNvbWUoYT0+YS5zdGFydHNXaXRoKG8pKSkmJnQucHVzaChgJVRBRyAke2l9ICR7b31gKTtyZXR1cm4gdC5qb2luKGBcXG5gKX19O2l0LmRlZmF1bHRZYW1sPXtleHBsaWNpdDohMSx2ZXJzaW9uOlxcXCIxLjJcXFwifTtpdC5kZWZhdWx0VGFncz17XFxcIiEhXFxcIjpcXFwidGFnOnlhbWwub3JnLDIwMDI6XFxcIn07ZnVuY3Rpb24gb3Mobil7aWYoL1tcXFxceDAwLVxcXFx4MTlcXFxccyxbXFxcXF17fV0vLnRlc3Qobikpe2xldCB0PWBBbmNob3IgbXVzdCBub3QgY29udGFpbiB3aGl0ZXNwYWNlIG9yIGNvbnRyb2wgY2hhcmFjdGVyczogJHtKU09OLnN0cmluZ2lmeShuKX1gO3Rocm93IG5ldyBFcnJvcih0KX1yZXR1cm4hMH1mdW5jdGlvbiBCaShuKXtsZXQgZT1uZXcgU2V0O3JldHVybiB6ZShuLHtWYWx1ZSh0LHIpe3IuYW5jaG9yJiZlLmFkZChyLmFuY2hvcil9fSksZX1mdW5jdGlvbiBQaShuLGUpe2ZvcihsZXQgdD0xOzsrK3Qpe2xldCByPWAke259JHt0fWA7aWYoIWUuaGFzKHIpKXJldHVybiByfX1mdW5jdGlvbiBZYShuLGUpe2xldCB0PVtdLHI9bmV3IE1hcCxzPW51bGw7cmV0dXJue29uQW5jaG9yOmk9Pnt0LnB1c2goaSksc3x8KHM9QmkobikpO2xldCBvPVBpKGUscyk7cmV0dXJuIHMuYWRkKG8pLG99LHNldEFuY2hvcnM6KCk9Pntmb3IobGV0IGkgb2YgdCl7bGV0IG89ci5nZXQoaSk7aWYodHlwZW9mIG89PVxcXCJvYmplY3RcXFwiJiZvLmFuY2hvciYmKEsoby5ub2RlKXx8WihvLm5vZGUpKSlvLm5vZGUuYW5jaG9yPW8uYW5jaG9yO2Vsc2V7bGV0IGE9bmV3IEVycm9yKFxcXCJGYWlsZWQgdG8gcmVzb2x2ZSByZXBlYXRlZCBvYmplY3QgKHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4pXFxcIik7dGhyb3cgYS5zb3VyY2U9aSxhfX19LHNvdXJjZU9iamVjdHM6cn19ZnVuY3Rpb24gT3QobixlLHQscil7aWYociYmdHlwZW9mIHI9PVxcXCJvYmplY3RcXFwiKWlmKEFycmF5LmlzQXJyYXkocikpZm9yKGxldCBzPTAsaT1yLmxlbmd0aDtzPGk7KytzKXtsZXQgbz1yW3NdLGE9T3QobixyLFN0cmluZyhzKSxvKTthPT09dm9pZCAwP2RlbGV0ZSByW3NdOmEhPT1vJiYocltzXT1hKX1lbHNlIGlmKHIgaW5zdGFuY2VvZiBNYXApZm9yKGxldCBzIG9mIEFycmF5LmZyb20oci5rZXlzKCkpKXtsZXQgaT1yLmdldChzKSxvPU90KG4scixzLGkpO289PT12b2lkIDA/ci5kZWxldGUocyk6byE9PWkmJnIuc2V0KHMsbyl9ZWxzZSBpZihyIGluc3RhbmNlb2YgU2V0KWZvcihsZXQgcyBvZiBBcnJheS5mcm9tKHIpKXtsZXQgaT1PdChuLHIscyxzKTtpPT09dm9pZCAwP3IuZGVsZXRlKHMpOmkhPT1zJiYoci5kZWxldGUocyksci5hZGQoaSkpfWVsc2UgZm9yKGxldFtzLGldb2YgT2JqZWN0LmVudHJpZXMocikpe2xldCBvPU90KG4scixzLGkpO289PT12b2lkIDA/ZGVsZXRlIHJbc106byE9PWkmJihyW3NdPW8pfXJldHVybiBuLmNhbGwoZSx0LHIpfWZ1bmN0aW9uIGNlKG4sZSx0KXtpZihBcnJheS5pc0FycmF5KG4pKXJldHVybiBuLm1hcCgocixzKT0+Y2UocixTdHJpbmcocyksdCkpO2lmKG4mJnR5cGVvZiBuLnRvSlNPTj09XFxcImZ1bmN0aW9uXFxcIil7aWYoIXR8fCFLYShuKSlyZXR1cm4gbi50b0pTT04oZSx0KTtsZXQgcj17YWxpYXNDb3VudDowLGNvdW50OjEscmVzOnZvaWQgMH07dC5hbmNob3JzLnNldChuLHIpLHQub25DcmVhdGU9aT0+e3IucmVzPWksZGVsZXRlIHQub25DcmVhdGV9O2xldCBzPW4udG9KU09OKGUsdCk7cmV0dXJuIHQub25DcmVhdGUmJnQub25DcmVhdGUocyksc31yZXR1cm4gdHlwZW9mIG49PVxcXCJiaWdpbnRcXFwiJiYhKHQhPW51bGwmJnQua2VlcCk/TnVtYmVyKG4pOm59dmFyIHh0PWNsYXNze2NvbnN0cnVjdG9yKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFRlLHt2YWx1ZTplfSl9Y2xvbmUoKXtsZXQgZT1PYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7cmV0dXJuIHRoaXMucmFuZ2UmJihlLnJhbmdlPXRoaXMucmFuZ2Uuc2xpY2UoKSksZX10b0pTKGUse21hcEFzTWFwOnQsbWF4QWxpYXNDb3VudDpyLG9uQW5jaG9yOnMscmV2aXZlcjppfT17fSl7aWYoIXJ0KGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcIkEgZG9jdW1lbnQgYXJndW1lbnQgaXMgcmVxdWlyZWRcXFwiKTtsZXQgbz17YW5jaG9yczpuZXcgTWFwLGRvYzplLGtlZXA6ITAsbWFwQXNNYXA6dD09PSEwLG1hcEtleVdhcm5lZDohMSxtYXhBbGlhc0NvdW50OnR5cGVvZiByPT1cXFwibnVtYmVyXFxcIj9yOjEwMH0sYT1jZSh0aGlzLFxcXCJcXFwiLG8pO2lmKHR5cGVvZiBzPT1cXFwiZnVuY3Rpb25cXFwiKWZvcihsZXR7Y291bnQ6dSxyZXM6bH1vZiBvLmFuY2hvcnMudmFsdWVzKCkpcyhsLHUpO3JldHVybiB0eXBlb2YgaT09XFxcImZ1bmN0aW9uXFxcIj9PdChpLHtcXFwiXFxcIjphfSxcXFwiXFxcIixhKTphfX07dmFyIEV0PWNsYXNzIGV4dGVuZHMgeHR7Y29uc3RydWN0b3IoZSl7c3VwZXIocnMpLHRoaXMuc291cmNlPWUsT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXFxcInRhZ1xcXCIse3NldCgpe3Rocm93IG5ldyBFcnJvcihcXFwiQWxpYXMgbm9kZXMgY2Fubm90IGhhdmUgdGFnc1xcXCIpfX0pfXJlc29sdmUoZSl7bGV0IHQ7cmV0dXJuIHplKGUse05vZGU6KHIscyk9PntpZihzPT09dGhpcylyZXR1cm4gemUuQlJFQUs7cy5hbmNob3I9PT10aGlzLnNvdXJjZSYmKHQ9cyl9fSksdH10b0pTT04oZSx0KXtpZighdClyZXR1cm57c291cmNlOnRoaXMuc291cmNlfTtsZXR7YW5jaG9yczpyLGRvYzpzLG1heEFsaWFzQ291bnQ6aX09dCxvPXRoaXMucmVzb2x2ZShzKTtpZighbyl7bGV0IHU9YFVucmVzb2x2ZWQgYWxpYXMgKHRoZSBhbmNob3IgbXVzdCBiZSBzZXQgYmVmb3JlIHRoZSBhbGlhcyk6ICR7dGhpcy5zb3VyY2V9YDt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IodSl9bGV0IGE9ci5nZXQobyk7aWYoYXx8KGNlKG8sbnVsbCx0KSxhPXIuZ2V0KG8pKSwhYXx8YS5yZXM9PT12b2lkIDApe2xldCB1PVxcXCJUaGlzIHNob3VsZCBub3QgaGFwcGVuOiBBbGlhcyBhbmNob3Igd2FzIG5vdCByZXNvbHZlZD9cXFwiO3Rocm93IG5ldyBSZWZlcmVuY2VFcnJvcih1KX1pZihpPj0wJiYoYS5jb3VudCs9MSxhLmFsaWFzQ291bnQ9PT0wJiYoYS5hbGlhc0NvdW50PWFzKHMsbyxyKSksYS5jb3VudCphLmFsaWFzQ291bnQ+aSkpe2xldCB1PVxcXCJFeGNlc3NpdmUgYWxpYXMgY291bnQgaW5kaWNhdGVzIGEgcmVzb3VyY2UgZXhoYXVzdGlvbiBhdHRhY2tcXFwiO3Rocm93IG5ldyBSZWZlcmVuY2VFcnJvcih1KX1yZXR1cm4gYS5yZXN9dG9TdHJpbmcoZSx0LHIpe2xldCBzPWAqJHt0aGlzLnNvdXJjZX1gO2lmKGUpe2lmKG9zKHRoaXMuc291cmNlKSxlLm9wdGlvbnMudmVyaWZ5QWxpYXNPcmRlciYmIWUuYW5jaG9ycy5oYXModGhpcy5zb3VyY2UpKXtsZXQgaT1gVW5yZXNvbHZlZCBhbGlhcyAodGhlIGFuY2hvciBtdXN0IGJlIHNldCBiZWZvcmUgdGhlIGFsaWFzKTogJHt0aGlzLnNvdXJjZX1gO3Rocm93IG5ldyBFcnJvcihpKX1pZihlLmltcGxpY2l0S2V5KXJldHVybmAke3N9IGB9cmV0dXJuIHN9fTtmdW5jdGlvbiBhcyhuLGUsdCl7aWYoV2UoZSkpe2xldCByPWUucmVzb2x2ZShuKSxzPXQmJnImJnQuZ2V0KHIpO3JldHVybiBzP3MuY291bnQqcy5hbGlhc0NvdW50OjB9ZWxzZSBpZihaKGUpKXtsZXQgcj0wO2ZvcihsZXQgcyBvZiBlLml0ZW1zKXtsZXQgaT1hcyhuLHMsdCk7aT5yJiYocj1pKX1yZXR1cm4gcn1lbHNlIGlmKEgoZSkpe2xldCByPWFzKG4sZS5rZXksdCkscz1hcyhuLGUudmFsdWUsdCk7cmV0dXJuIE1hdGgubWF4KHIscyl9cmV0dXJuIDF9dmFyIHVzPW49PiFufHx0eXBlb2YgbiE9XFxcImZ1bmN0aW9uXFxcIiYmdHlwZW9mIG4hPVxcXCJvYmplY3RcXFwiLFA9Y2xhc3MgZXh0ZW5kcyB4dHtjb25zdHJ1Y3RvcihlKXtzdXBlcihJZSksdGhpcy52YWx1ZT1lfXRvSlNPTihlLHQpe3JldHVybiB0IT1udWxsJiZ0LmtlZXA/dGhpcy52YWx1ZTpjZSh0aGlzLnZhbHVlLGUsdCl9dG9TdHJpbmcoKXtyZXR1cm4gU3RyaW5nKHRoaXMudmFsdWUpfX07UC5CTE9DS19GT0xERUQ9XFxcIkJMT0NLX0ZPTERFRFxcXCI7UC5CTE9DS19MSVRFUkFMPVxcXCJCTE9DS19MSVRFUkFMXFxcIjtQLlBMQUlOPVxcXCJQTEFJTlxcXCI7UC5RVU9URV9ET1VCTEU9XFxcIlFVT1RFX0RPVUJMRVxcXCI7UC5RVU9URV9TSU5HTEU9XFxcIlFVT1RFX1NJTkdMRVxcXCI7dmFyIEpjPVxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpcXFwiO2Z1bmN0aW9uIHpjKG4sZSx0KXt2YXIgcjtpZihlKXtsZXQgcz10LmZpbHRlcihvPT5vLnRhZz09PWUpLGk9KHI9cy5maW5kKG89PiFvLmZvcm1hdCkpIT1udWxsP3I6c1swXTtpZighaSl0aHJvdyBuZXcgRXJyb3IoYFRhZyAke2V9IG5vdCBmb3VuZGApO3JldHVybiBpfXJldHVybiB0LmZpbmQocz0+e3ZhciBpO3JldHVybigoaT1zLmlkZW50aWZ5KT09bnVsbD92b2lkIDA6aS5jYWxsKHMsbikpJiYhcy5mb3JtYXR9KX1mdW5jdGlvbiB3dChuLGUsdCl7dmFyIGQscCxoO2lmKHJ0KG4pJiYobj1uLmNvbnRlbnRzKSxKKG4pKXJldHVybiBuO2lmKEgobikpe2xldCBiPShwPShkPXQuc2NoZW1hW0tlXSkuY3JlYXRlTm9kZSk9PW51bGw/dm9pZCAwOnAuY2FsbChkLHQuc2NoZW1hLG51bGwsdCk7cmV0dXJuIGIuaXRlbXMucHVzaChuKSxifShuIGluc3RhbmNlb2YgU3RyaW5nfHxuIGluc3RhbmNlb2YgTnVtYmVyfHxuIGluc3RhbmNlb2YgQm9vbGVhbnx8dHlwZW9mIEJpZ0ludCE9XFxcInVuZGVmaW5lZFxcXCImJm4gaW5zdGFuY2VvZiBCaWdJbnQpJiYobj1uLnZhbHVlT2YoKSk7bGV0e2FsaWFzRHVwbGljYXRlT2JqZWN0czpyLG9uQW5jaG9yOnMsb25UYWdPYmo6aSxzY2hlbWE6byxzb3VyY2VPYmplY3RzOmF9PXQsdTtpZihyJiZuJiZ0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCIpe2lmKHU9YS5nZXQobiksdSlyZXR1cm4gdS5hbmNob3J8fCh1LmFuY2hvcj1zKG4pKSxuZXcgRXQodS5hbmNob3IpO3U9e2FuY2hvcjpudWxsLG5vZGU6bnVsbH0sYS5zZXQobix1KX1lIT1udWxsJiZlLnN0YXJ0c1dpdGgoXFxcIiEhXFxcIikmJihlPUpjK2Uuc2xpY2UoMikpO2xldCBsPXpjKG4sZSxvLnRhZ3MpO2lmKCFsKXtpZihuJiZ0eXBlb2Ygbi50b0pTT049PVxcXCJmdW5jdGlvblxcXCImJihuPW4udG9KU09OKCkpLCFufHx0eXBlb2YgbiE9XFxcIm9iamVjdFxcXCIpe2xldCBiPW5ldyBQKG4pO3JldHVybiB1JiYodS5ub2RlPWIpLGJ9bD1uIGluc3RhbmNlb2YgTWFwP29bS2VdOlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3Qobik/b1tGdF06b1tLZV19aSYmKGkobCksZGVsZXRlIHQub25UYWdPYmopO2xldCBmPWwhPW51bGwmJmwuY3JlYXRlTm9kZT9sLmNyZWF0ZU5vZGUodC5zY2hlbWEsbix0KTp0eXBlb2YoKGg9bD09bnVsbD92b2lkIDA6bC5ub2RlQ2xhc3MpPT1udWxsP3ZvaWQgMDpoLmZyb20pPT1cXFwiZnVuY3Rpb25cXFwiP2wubm9kZUNsYXNzLmZyb20odC5zY2hlbWEsbix0KTpuZXcgUChuKTtyZXR1cm4gZT9mLnRhZz1lOmwuZGVmYXVsdHx8KGYudGFnPWwudGFnKSx1JiYodS5ub2RlPWYpLGZ9ZnVuY3Rpb24gbXIobixlLHQpe2xldCByPXQ7Zm9yKGxldCBzPWUubGVuZ3RoLTE7cz49MDstLXMpe2xldCBpPWVbc107aWYodHlwZW9mIGk9PVxcXCJudW1iZXJcXFwiJiZOdW1iZXIuaXNJbnRlZ2VyKGkpJiZpPj0wKXtsZXQgbz1bXTtvW2ldPXIscj1vfWVsc2Ugcj1uZXcgTWFwKFtbaSxyXV0pfXJldHVybiB3dChyLHZvaWQgMCx7YWxpYXNEdXBsaWNhdGVPYmplY3RzOiExLGtlZXBVbmRlZmluZWQ6ITEsb25BbmNob3I6KCk9Pnt0aHJvdyBuZXcgRXJyb3IoXFxcIlRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIHBsZWFzZSByZXBvcnQgYSBidWcuXFxcIil9LHNjaGVtYTpuLHNvdXJjZU9iamVjdHM6bmV3IE1hcH0pfXZhciBrbj1uPT5uPT1udWxsfHx0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCImJiEhbltTeW1ib2wuaXRlcmF0b3JdKCkubmV4dCgpLmRvbmUsU249Y2xhc3MgZXh0ZW5kcyB4dHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFxcXCJzY2hlbWFcXFwiLHt2YWx1ZTp0LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwfSl9Y2xvbmUoZSl7bGV0IHQ9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO3JldHVybiBlJiYodC5zY2hlbWE9ZSksdC5pdGVtcz10Lml0ZW1zLm1hcChyPT5KKHIpfHxIKHIpP3IuY2xvbmUoZSk6ciksdGhpcy5yYW5nZSYmKHQucmFuZ2U9dGhpcy5yYW5nZS5zbGljZSgpKSx0fWFkZEluKGUsdCl7aWYoa24oZSkpdGhpcy5hZGQodCk7ZWxzZXtsZXRbciwuLi5zXT1lLGk9dGhpcy5nZXQociwhMCk7aWYoWihpKSlpLmFkZEluKHMsdCk7ZWxzZSBpZihpPT09dm9pZCAwJiZ0aGlzLnNjaGVtYSl0aGlzLnNldChyLG1yKHRoaXMuc2NoZW1hLHMsdCkpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHtyfS4gUmVtYWluaW5nIHBhdGg6ICR7c31gKX19ZGVsZXRlSW4oZSl7bGV0W3QsLi4ucl09ZTtpZihyLmxlbmd0aD09PTApcmV0dXJuIHRoaXMuZGVsZXRlKHQpO2xldCBzPXRoaXMuZ2V0KHQsITApO2lmKFoocykpcmV0dXJuIHMuZGVsZXRlSW4ocik7dGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHt0fS4gUmVtYWluaW5nIHBhdGg6ICR7cn1gKX1nZXRJbihlLHQpe2xldFtyLC4uLnNdPWUsaT10aGlzLmdldChyLCEwKTtyZXR1cm4gcy5sZW5ndGg9PT0wPyF0JiZLKGkpP2kudmFsdWU6aTpaKGkpP2kuZ2V0SW4ocyx0KTp2b2lkIDB9aGFzQWxsTnVsbFZhbHVlcyhlKXtyZXR1cm4gdGhpcy5pdGVtcy5ldmVyeSh0PT57aWYoIUgodCkpcmV0dXJuITE7bGV0IHI9dC52YWx1ZTtyZXR1cm4gcj09bnVsbHx8ZSYmSyhyKSYmci52YWx1ZT09bnVsbCYmIXIuY29tbWVudEJlZm9yZSYmIXIuY29tbWVudCYmIXIudGFnfSl9aGFzSW4oZSl7bGV0W3QsLi4ucl09ZTtpZihyLmxlbmd0aD09PTApcmV0dXJuIHRoaXMuaGFzKHQpO2xldCBzPXRoaXMuZ2V0KHQsITApO3JldHVybiBaKHMpP3MuaGFzSW4ocik6ITF9c2V0SW4oZSx0KXtsZXRbciwuLi5zXT1lO2lmKHMubGVuZ3RoPT09MCl0aGlzLnNldChyLHQpO2Vsc2V7bGV0IGk9dGhpcy5nZXQociwhMCk7aWYoWihpKSlpLnNldEluKHMsdCk7ZWxzZSBpZihpPT09dm9pZCAwJiZ0aGlzLnNjaGVtYSl0aGlzLnNldChyLG1yKHRoaXMuc2NoZW1hLHMsdCkpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHtyfS4gUmVtYWluaW5nIHBhdGg6ICR7c31gKX19fTt2YXIgR2E9bj0+bi5yZXBsYWNlKC9eKD8hJCkoPzogJCk/L2dtLFxcXCIjXFxcIik7ZnVuY3Rpb24gUGUobixlKXtyZXR1cm4vXlxcXFxuKyQvLnRlc3Qobik/bi5zdWJzdHJpbmcoMSk6ZT9uLnJlcGxhY2UoL14oPyEgKiQpL2dtLGUpOm59dmFyIG90PShuLGUsdCk9Pm4uZW5kc1dpdGgoYFxcbmApP1BlKHQsZSk6dC5pbmNsdWRlcyhgXFxuYCk/YFxcbmArUGUodCxlKToobi5lbmRzV2l0aChcXFwiIFxcXCIpP1xcXCJcXFwiOlxcXCIgXFxcIikrdDt2YXIgJGk9XFxcImZsb3dcXFwiLGxzPVxcXCJibG9ja1xcXCIsRHI9XFxcInF1b3RlZFxcXCI7ZnVuY3Rpb24geXIobixlLHQ9XFxcImZsb3dcXFwiLHtpbmRlbnRBdFN0YXJ0OnIsbGluZVdpZHRoOnM9ODAsbWluQ29udGVudFdpZHRoOmk9MjAsb25Gb2xkOm8sb25PdmVyZmxvdzphfT17fSl7aWYoIXN8fHM8MClyZXR1cm4gbjtzPGkmJihpPTApO2xldCB1PU1hdGgubWF4KDEraSwxK3MtZS5sZW5ndGgpO2lmKG4ubGVuZ3RoPD11KXJldHVybiBuO2xldCBsPVtdLGY9e30sZD1zLWUubGVuZ3RoO3R5cGVvZiByPT1cXFwibnVtYmVyXFxcIiYmKHI+cy1NYXRoLm1heCgyLGkpP2wucHVzaCgwKTpkPXMtcik7bGV0IHAsaCxiPSExLGc9LTEsRD0tMSxUPS0xO3Q9PT1scyYmKGc9WmEobixnLGUubGVuZ3RoKSxnIT09LTEmJihkPWcrdSkpO2ZvcihsZXQgTjtOPW5bZys9MV07KXtpZih0PT09RHImJk49PT1cXFwiXFxcXFxcXFxcXFwiKXtzd2l0Y2goRD1nLG5bZysxXSl7Y2FzZVxcXCJ4XFxcIjpnKz0zO2JyZWFrO2Nhc2VcXFwidVxcXCI6Zys9NTticmVhaztjYXNlXFxcIlVcXFwiOmcrPTk7YnJlYWs7ZGVmYXVsdDpnKz0xfVQ9Z31pZihOPT09YFxcbmApdD09PWxzJiYoZz1aYShuLGcsZS5sZW5ndGgpKSxkPWcrZS5sZW5ndGgrdSxwPXZvaWQgMDtlbHNle2lmKE49PT1cXFwiIFxcXCImJmgmJmghPT1cXFwiIFxcXCImJmghPT1gXFxuYCYmaCE9PVxcXCJcXHRcXFwiKXtsZXQgeT1uW2crMV07eSYmeSE9PVxcXCIgXFxcIiYmeSE9PWBcXG5gJiZ5IT09XFxcIlxcdFxcXCImJihwPWcpfWlmKGc+PWQpaWYocClsLnB1c2gocCksZD1wK3UscD12b2lkIDA7ZWxzZSBpZih0PT09RHIpe2Zvcig7aD09PVxcXCIgXFxcInx8aD09PVxcXCJcXHRcXFwiOyloPU4sTj1uW2crPTFdLGI9ITA7bGV0IHk9Zz5UKzE/Zy0yOkQtMTtpZihmW3ldKXJldHVybiBuO2wucHVzaCh5KSxmW3ldPSEwLGQ9eSt1LHA9dm9pZCAwfWVsc2UgYj0hMH1oPU59aWYoYiYmYSYmYSgpLGwubGVuZ3RoPT09MClyZXR1cm4gbjtvJiZvKCk7bGV0IEk9bi5zbGljZSgwLGxbMF0pO2ZvcihsZXQgTj0wO048bC5sZW5ndGg7KytOKXtsZXQgeT1sW05dLHc9bFtOKzFdfHxuLmxlbmd0aDt5PT09MD9JPWBcXG4ke2V9JHtuLnNsaWNlKDAsdyl9YDoodD09PURyJiZmW3ldJiYoSSs9YCR7blt5XX1cXFxcXFxcXGApLEkrPWBcXG4ke2V9JHtuLnNsaWNlKHkrMSx3KX1gKX1yZXR1cm4gSX1mdW5jdGlvbiBaYShuLGUsdCl7bGV0IHI9ZSxzPWUrMSxpPW5bc107Zm9yKDtpPT09XFxcIiBcXFwifHxpPT09XFxcIlxcdFxcXCI7KWlmKGU8cyt0KWk9blsrK2VdO2Vsc2V7ZG8gaT1uWysrZV07d2hpbGUoaSYmaSE9PWBcXG5gKTtyPWUscz1lKzEsaT1uW3NdfXJldHVybiByfXZhciBmcz0obixlKT0+KHtpbmRlbnRBdFN0YXJ0OmU/bi5pbmRlbnQubGVuZ3RoOm4uaW5kZW50QXRTdGFydCxsaW5lV2lkdGg6bi5vcHRpb25zLmxpbmVXaWR0aCxtaW5Db250ZW50V2lkdGg6bi5vcHRpb25zLm1pbkNvbnRlbnRXaWR0aH0pLGRzPW49Pi9eKCV8LS0tfFxcXFwuXFxcXC5cXFxcLikvbS50ZXN0KG4pO2Z1bmN0aW9uIFljKG4sZSx0KXtpZighZXx8ZTwwKXJldHVybiExO2xldCByPWUtdCxzPW4ubGVuZ3RoO2lmKHM8PXIpcmV0dXJuITE7Zm9yKGxldCBpPTAsbz0wO2k8czsrK2kpaWYobltpXT09PWBcXG5gKXtpZihpLW8+cilyZXR1cm4hMDtpZihvPWkrMSxzLW88PXIpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gZ3IobixlKXtsZXQgdD1KU09OLnN0cmluZ2lmeShuKTtpZihlLm9wdGlvbnMuZG91YmxlUXVvdGVkQXNKU09OKXJldHVybiB0O2xldHtpbXBsaWNpdEtleTpyfT1lLHM9ZS5vcHRpb25zLmRvdWJsZVF1b3RlZE1pbk11bHRpTGluZUxlbmd0aCxpPWUuaW5kZW50fHwoZHMobik/XFxcIiAgXFxcIjpcXFwiXFxcIiksbz1cXFwiXFxcIixhPTA7Zm9yKGxldCB1PTAsbD10W3VdO2w7bD10WysrdV0paWYobD09PVxcXCIgXFxcIiYmdFt1KzFdPT09XFxcIlxcXFxcXFxcXFxcIiYmdFt1KzJdPT09XFxcIm5cXFwiJiYobys9dC5zbGljZShhLHUpK1xcXCJcXFxcXFxcXCBcXFwiLHUrPTEsYT11LGw9XFxcIlxcXFxcXFxcXFxcIiksbD09PVxcXCJcXFxcXFxcXFxcXCIpc3dpdGNoKHRbdSsxXSl7Y2FzZVxcXCJ1XFxcIjp7bys9dC5zbGljZShhLHUpO2xldCBmPXQuc3Vic3RyKHUrMiw0KTtzd2l0Y2goZil7Y2FzZVxcXCIwMDAwXFxcIjpvKz1cXFwiXFxcXFxcXFwwXFxcIjticmVhaztjYXNlXFxcIjAwMDdcXFwiOm8rPVxcXCJcXFxcXFxcXGFcXFwiO2JyZWFrO2Nhc2VcXFwiMDAwYlxcXCI6bys9XFxcIlxcXFxcXFxcdlxcXCI7YnJlYWs7Y2FzZVxcXCIwMDFiXFxcIjpvKz1cXFwiXFxcXFxcXFxlXFxcIjticmVhaztjYXNlXFxcIjAwODVcXFwiOm8rPVxcXCJcXFxcXFxcXE5cXFwiO2JyZWFrO2Nhc2VcXFwiMDBhMFxcXCI6bys9XFxcIlxcXFxcXFxcX1xcXCI7YnJlYWs7Y2FzZVxcXCIyMDI4XFxcIjpvKz1cXFwiXFxcXFxcXFxMXFxcIjticmVhaztjYXNlXFxcIjIwMjlcXFwiOm8rPVxcXCJcXFxcXFxcXFBcXFwiO2JyZWFrO2RlZmF1bHQ6Zi5zdWJzdHIoMCwyKT09PVxcXCIwMFxcXCI/bys9XFxcIlxcXFxcXFxceFxcXCIrZi5zdWJzdHIoMik6bys9dC5zdWJzdHIodSw2KX11Kz01LGE9dSsxfWJyZWFrO2Nhc2VcXFwiblxcXCI6aWYocnx8dFt1KzJdPT09J1xcXCInfHx0Lmxlbmd0aDxzKXUrPTE7ZWxzZXtmb3Iobys9dC5zbGljZShhLHUpK2BcXG5cXG5gO3RbdSsyXT09PVxcXCJcXFxcXFxcXFxcXCImJnRbdSszXT09PVxcXCJuXFxcIiYmdFt1KzRdIT09J1xcXCInOylvKz1gXFxuYCx1Kz0yO28rPWksdFt1KzJdPT09XFxcIiBcXFwiJiYobys9XFxcIlxcXFxcXFxcXFxcIiksdSs9MSxhPXUrMX1icmVhaztkZWZhdWx0OnUrPTF9cmV0dXJuIG89YT9vK3Quc2xpY2UoYSk6dCxyP286eXIobyxpLERyLGZzKGUsITEpKX1mdW5jdGlvbiBSaShuLGUpe2lmKGUub3B0aW9ucy5zaW5nbGVRdW90ZT09PSExfHxlLmltcGxpY2l0S2V5JiZuLmluY2x1ZGVzKGBcXG5gKXx8L1sgXFxcXHRdXFxcXG58XFxcXG5bIFxcXFx0XS8udGVzdChuKSlyZXR1cm4gZ3IobixlKTtsZXQgdD1lLmluZGVudHx8KGRzKG4pP1xcXCIgIFxcXCI6XFxcIlxcXCIpLHI9XFxcIidcXFwiK24ucmVwbGFjZSgvJy9nLFxcXCInJ1xcXCIpLnJlcGxhY2UoL1xcXFxuKy9nLGAkJlxcbiR7dH1gKStcXFwiJ1xcXCI7cmV0dXJuIGUuaW1wbGljaXRLZXk/cjp5cihyLHQsJGksZnMoZSwhMSkpfWZ1bmN0aW9uIENuKG4sZSl7bGV0e3NpbmdsZVF1b3RlOnR9PWUub3B0aW9ucyxyO2lmKHQ9PT0hMSlyPWdyO2Vsc2V7bGV0IHM9bi5pbmNsdWRlcygnXFxcIicpLGk9bi5pbmNsdWRlcyhcXFwiJ1xcXCIpO3MmJiFpP3I9Umk6aSYmIXM/cj1ncjpyPXQ/Umk6Z3J9cmV0dXJuIHIobixlKX12YXIgamk7dHJ5e2ppPW5ldyBSZWdFeHAoYChefCg/PCFcXG4pKVxcbisoPyFcXG58JClgLFxcXCJnXFxcIil9Y2F0Y2gobil7amk9L1xcXFxuKyg/IVxcXFxufCQpL2d9ZnVuY3Rpb24gY3Moe2NvbW1lbnQ6bix0eXBlOmUsdmFsdWU6dH0scixzLGkpe2xldHtibG9ja1F1b3RlOm8sY29tbWVudFN0cmluZzphLGxpbmVXaWR0aDp1fT1yLm9wdGlvbnM7aWYoIW98fC9cXFxcbltcXFxcdCBdKyQvLnRlc3QodCl8fC9eXFxcXHMqJC8udGVzdCh0KSlyZXR1cm4gQ24odCxyKTtsZXQgbD1yLmluZGVudHx8KHIuZm9yY2VCbG9ja0luZGVudHx8ZHModCk/XFxcIiAgXFxcIjpcXFwiXFxcIiksZj1vPT09XFxcImxpdGVyYWxcXFwiPyEwOm89PT1cXFwiZm9sZGVkXFxcInx8ZT09PVAuQkxPQ0tfRk9MREVEPyExOmU9PT1QLkJMT0NLX0xJVEVSQUw/ITA6IVljKHQsdSxsLmxlbmd0aCk7aWYoIXQpcmV0dXJuIGY/YHxcXG5gOmA+XFxuYDtsZXQgZCxwO2ZvcihwPXQubGVuZ3RoO3A+MDstLXApe2xldCB2PXRbcC0xXTtpZih2IT09YFxcbmAmJnYhPT1cXFwiXFx0XFxcIiYmdiE9PVxcXCIgXFxcIilicmVha31sZXQgaD10LnN1YnN0cmluZyhwKSxiPWguaW5kZXhPZihgXFxuYCk7Yj09PS0xP2Q9XFxcIi1cXFwiOnQ9PT1ofHxiIT09aC5sZW5ndGgtMT8oZD1cXFwiK1xcXCIsaSYmaSgpKTpkPVxcXCJcXFwiLGgmJih0PXQuc2xpY2UoMCwtaC5sZW5ndGgpLGhbaC5sZW5ndGgtMV09PT1gXFxuYCYmKGg9aC5zbGljZSgwLC0xKSksaD1oLnJlcGxhY2UoamksYCQmJHtsfWApKTtsZXQgZz0hMSxELFQ9LTE7Zm9yKEQ9MDtEPHQubGVuZ3RoOysrRCl7bGV0IHY9dFtEXTtpZih2PT09XFxcIiBcXFwiKWc9ITA7ZWxzZSBpZih2PT09YFxcbmApVD1EO2Vsc2UgYnJlYWt9bGV0IEk9dC5zdWJzdHJpbmcoMCxUPEQ/VCsxOkQpO0kmJih0PXQuc3Vic3RyaW5nKEkubGVuZ3RoKSxJPUkucmVwbGFjZSgvXFxcXG4rL2csYCQmJHtsfWApKTtsZXQgeT0oZj9cXFwifFxcXCI6XFxcIj5cXFwiKSsoZz9sP1xcXCIyXFxcIjpcXFwiMVxcXCI6XFxcIlxcXCIpK2Q7aWYobiYmKHkrPVxcXCIgXFxcIithKG4ucmVwbGFjZSgvID9bXFxcXHJcXFxcbl0rL2csXFxcIiBcXFwiKSkscyYmcygpKSxmKXJldHVybiB0PXQucmVwbGFjZSgvXFxcXG4rL2csYCQmJHtsfWApLGAke3l9XFxuJHtsfSR7SX0ke3R9JHtofWA7dD10LnJlcGxhY2UoL1xcXFxuKy9nLGBcXG4kJmApLnJlcGxhY2UoLyg/Ol58XFxcXG4pKFtcXFxcdCBdLiopKD86KFtcXFxcblxcXFx0IF0qKVxcXFxuKD8hW1xcXFxuXFxcXHQgXSkpPy9nLFxcXCIkMSQyXFxcIikucmVwbGFjZSgvXFxcXG4rL2csYCQmJHtsfWApO2xldCB3PXlyKGAke0l9JHt0fSR7aH1gLGwsbHMsZnMociwhMCkpO3JldHVybmAke3l9XFxuJHtsfSR7d31gfWZ1bmN0aW9uIEdjKG4sZSx0LHIpe2xldHt0eXBlOnMsdmFsdWU6aX09bix7YWN0dWFsU3RyaW5nOm8saW1wbGljaXRLZXk6YSxpbmRlbnQ6dSxpbmRlbnRTdGVwOmwsaW5GbG93OmZ9PWU7aWYoYSYmaS5pbmNsdWRlcyhgXFxuYCl8fGYmJi9bW1xcXFxde30sXS8udGVzdChpKSlyZXR1cm4gQ24oaSxlKTtpZighaXx8L15bXFxcXG5cXFxcdCAsW1xcXFxde30jJiohfD4nXFxcIiVAYF18Xls/LV0kfF5bPy1dWyBcXFxcdF18W1xcXFxuOl1bIFxcXFx0XXxbIFxcXFx0XVxcXFxufFtcXFxcblxcXFx0IF0jfFtcXFxcblxcXFx0IDpdJC8udGVzdChpKSlyZXR1cm4gYXx8Znx8IWkuaW5jbHVkZXMoYFxcbmApP0NuKGksZSk6Y3MobixlLHQscik7aWYoIWEmJiFmJiZzIT09UC5QTEFJTiYmaS5pbmNsdWRlcyhgXFxuYCkpcmV0dXJuIGNzKG4sZSx0LHIpO2lmKGRzKGkpKXtpZih1PT09XFxcIlxcXCIpcmV0dXJuIGUuZm9yY2VCbG9ja0luZGVudD0hMCxjcyhuLGUsdCxyKTtpZihhJiZ1PT09bClyZXR1cm4gQ24oaSxlKX1sZXQgZD1pLnJlcGxhY2UoL1xcXFxuKy9nLGAkJlxcbiR7dX1gKTtpZihvKXtsZXQgcD1nPT57dmFyIEQ7cmV0dXJuIGcuZGVmYXVsdCYmZy50YWchPT1cXFwidGFnOnlhbWwub3JnLDIwMDI6c3RyXFxcIiYmKChEPWcudGVzdCk9PW51bGw/dm9pZCAwOkQudGVzdChkKSl9LHtjb21wYXQ6aCx0YWdzOmJ9PWUuZG9jLnNjaGVtYTtpZihiLnNvbWUocCl8fGghPW51bGwmJmguc29tZShwKSlyZXR1cm4gQ24oaSxlKX1yZXR1cm4gYT9kOnlyKGQsdSwkaSxmcyhlLCExKSl9ZnVuY3Rpb24gV3QobixlLHQscil7bGV0e2ltcGxpY2l0S2V5OnMsaW5GbG93Oml9PWUsbz10eXBlb2Ygbi52YWx1ZT09XFxcInN0cmluZ1xcXCI/bjpPYmplY3QuYXNzaWduKHt9LG4se3ZhbHVlOlN0cmluZyhuLnZhbHVlKX0pLHt0eXBlOmF9PW47YSE9PVAuUVVPVEVfRE9VQkxFJiYvW1xcXFx4MDAtXFxcXHgwOFxcXFx4MGItXFxcXHgxZlxcXFx4N2YtXFxcXHg5ZlxcXFx1e0Q4MDB9LVxcXFx1e0RGRkZ9XS91LnRlc3Qoby52YWx1ZSkmJihhPVAuUVVPVEVfRE9VQkxFKTtsZXQgdT1mPT57c3dpdGNoKGYpe2Nhc2UgUC5CTE9DS19GT0xERUQ6Y2FzZSBQLkJMT0NLX0xJVEVSQUw6cmV0dXJuIHN8fGk/Q24oby52YWx1ZSxlKTpjcyhvLGUsdCxyKTtjYXNlIFAuUVVPVEVfRE9VQkxFOnJldHVybiBncihvLnZhbHVlLGUpO2Nhc2UgUC5RVU9URV9TSU5HTEU6cmV0dXJuIFJpKG8udmFsdWUsZSk7Y2FzZSBQLlBMQUlOOnJldHVybiBHYyhvLGUsdCxyKTtkZWZhdWx0OnJldHVybiBudWxsfX0sbD11KGEpO2lmKGw9PT1udWxsKXtsZXR7ZGVmYXVsdEtleVR5cGU6ZixkZWZhdWx0U3RyaW5nVHlwZTpkfT1lLm9wdGlvbnMscD1zJiZmfHxkO2lmKGw9dShwKSxsPT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGRlZmF1bHQgc3RyaW5nIHR5cGUgJHtwfWApfXJldHVybiBsfWZ1bmN0aW9uIGhzKG4sZSl7bGV0IHQ9T2JqZWN0LmFzc2lnbih7YmxvY2tRdW90ZTohMCxjb21tZW50U3RyaW5nOkdhLGRlZmF1bHRLZXlUeXBlOm51bGwsZGVmYXVsdFN0cmluZ1R5cGU6XFxcIlBMQUlOXFxcIixkaXJlY3RpdmVzOm51bGwsZG91YmxlUXVvdGVkQXNKU09OOiExLGRvdWJsZVF1b3RlZE1pbk11bHRpTGluZUxlbmd0aDo0MCxmYWxzZVN0cjpcXFwiZmFsc2VcXFwiLGZsb3dDb2xsZWN0aW9uUGFkZGluZzohMCxpbmRlbnRTZXE6ITAsbGluZVdpZHRoOjgwLG1pbkNvbnRlbnRXaWR0aDoyMCxudWxsU3RyOlxcXCJudWxsXFxcIixzaW1wbGVLZXlzOiExLHNpbmdsZVF1b3RlOm51bGwsdHJ1ZVN0cjpcXFwidHJ1ZVxcXCIsdmVyaWZ5QWxpYXNPcmRlcjohMH0sbi5zY2hlbWEudG9TdHJpbmdPcHRpb25zLGUpLHI7c3dpdGNoKHQuY29sbGVjdGlvblN0eWxlKXtjYXNlXFxcImJsb2NrXFxcIjpyPSExO2JyZWFrO2Nhc2VcXFwiZmxvd1xcXCI6cj0hMDticmVhaztkZWZhdWx0OnI9bnVsbH1yZXR1cm57YW5jaG9yczpuZXcgU2V0LGRvYzpuLGZsb3dDb2xsZWN0aW9uUGFkZGluZzp0LmZsb3dDb2xsZWN0aW9uUGFkZGluZz9cXFwiIFxcXCI6XFxcIlxcXCIsaW5kZW50OlxcXCJcXFwiLGluZGVudFN0ZXA6dHlwZW9mIHQuaW5kZW50PT1cXFwibnVtYmVyXFxcIj9cXFwiIFxcXCIucmVwZWF0KHQuaW5kZW50KTpcXFwiICBcXFwiLGluRmxvdzpyLG9wdGlvbnM6dH19ZnVuY3Rpb24gWmMobixlKXt2YXIgcyxpLG8sYTtpZihlLnRhZyl7bGV0IHU9bi5maWx0ZXIobD0+bC50YWc9PT1lLnRhZyk7aWYodS5sZW5ndGg+MClyZXR1cm4ocz11LmZpbmQobD0+bC5mb3JtYXQ9PT1lLmZvcm1hdCkpIT1udWxsP3M6dVswXX1sZXQgdCxyO2lmKEsoZSkpe3I9ZS52YWx1ZTtsZXQgdT1uLmZpbHRlcihsPT57dmFyIGY7cmV0dXJuKGY9bC5pZGVudGlmeSk9PW51bGw/dm9pZCAwOmYuY2FsbChsLHIpfSk7aWYodS5sZW5ndGg+MSl7bGV0IGw9dS5maWx0ZXIoZj0+Zi50ZXN0KTtsLmxlbmd0aD4wJiYodT1sKX10PShpPXUuZmluZChsPT5sLmZvcm1hdD09PWUuZm9ybWF0KSkhPW51bGw/aTp1LmZpbmQobD0+IWwuZm9ybWF0KX1lbHNlIHI9ZSx0PW4uZmluZCh1PT51Lm5vZGVDbGFzcyYmciBpbnN0YW5jZW9mIHUubm9kZUNsYXNzKTtpZighdCl7bGV0IHU9KGE9KG89cj09bnVsbD92b2lkIDA6ci5jb25zdHJ1Y3Rvcik9PW51bGw/dm9pZCAwOm8ubmFtZSkhPW51bGw/YTp0eXBlb2Ygcjt0aHJvdyBuZXcgRXJyb3IoYFRhZyBub3QgcmVzb2x2ZWQgZm9yICR7dX0gdmFsdWVgKX1yZXR1cm4gdH1mdW5jdGlvbiBRYyhuLGUse2FuY2hvcnM6dCxkb2M6cn0pe2lmKCFyLmRpcmVjdGl2ZXMpcmV0dXJuXFxcIlxcXCI7bGV0IHM9W10saT0oSyhuKXx8WihuKSkmJm4uYW5jaG9yO2kmJm9zKGkpJiYodC5hZGQoaSkscy5wdXNoKGAmJHtpfWApKTtsZXQgbz1uLnRhZz9uLnRhZzplLmRlZmF1bHQ/bnVsbDplLnRhZztyZXR1cm4gbyYmcy5wdXNoKHIuZGlyZWN0aXZlcy50YWdTdHJpbmcobykpLHMuam9pbihcXFwiIFxcXCIpfWZ1bmN0aW9uIFR0KG4sZSx0LHIpe3ZhciB1LGw7aWYoSChuKSlyZXR1cm4gbi50b1N0cmluZyhlLHQscik7aWYoV2Uobikpe2lmKGUuZG9jLmRpcmVjdGl2ZXMpcmV0dXJuIG4udG9TdHJpbmcoZSk7aWYoKHU9ZS5yZXNvbHZlZEFsaWFzZXMpIT1udWxsJiZ1LmhhcyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJDYW5ub3Qgc3RyaW5naWZ5IGNpcmN1bGFyIHN0cnVjdHVyZSB3aXRob3V0IGFsaWFzIG5vZGVzXFxcIik7ZS5yZXNvbHZlZEFsaWFzZXM/ZS5yZXNvbHZlZEFsaWFzZXMuYWRkKG4pOmUucmVzb2x2ZWRBbGlhc2VzPW5ldyBTZXQoW25dKSxuPW4ucmVzb2x2ZShlLmRvYyl9bGV0IHMsaT1KKG4pP246ZS5kb2MuY3JlYXRlTm9kZShuLHtvblRhZ09iajpmPT5zPWZ9KTtzfHwocz1aYyhlLmRvYy5zY2hlbWEudGFncyxpKSk7bGV0IG89UWMoaSxzLGUpO28ubGVuZ3RoPjAmJihlLmluZGVudEF0U3RhcnQ9KChsPWUuaW5kZW50QXRTdGFydCkhPW51bGw/bDowKStvLmxlbmd0aCsxKTtsZXQgYT10eXBlb2Ygcy5zdHJpbmdpZnk9PVxcXCJmdW5jdGlvblxcXCI/cy5zdHJpbmdpZnkoaSxlLHQscik6SyhpKT9XdChpLGUsdCxyKTppLnRvU3RyaW5nKGUsdCxyKTtyZXR1cm4gbz9LKGkpfHxhWzBdPT09XFxcIntcXFwifHxhWzBdPT09XFxcIltcXFwiP2Ake299ICR7YX1gOmAke299XFxuJHtlLmluZGVudH0ke2F9YDphfWZ1bmN0aW9uIFFhKHtrZXk6bix2YWx1ZTplfSx0LHIscyl7dmFyIE8sQztsZXR7YWxsTnVsbFZhbHVlczppLGRvYzpvLGluZGVudDphLGluZGVudFN0ZXA6dSxvcHRpb25zOntjb21tZW50U3RyaW5nOmwsaW5kZW50U2VxOmYsc2ltcGxlS2V5czpkfX09dCxwPUoobikmJm4uY29tbWVudHx8bnVsbDtpZihkKXtpZihwKXRocm93IG5ldyBFcnJvcihcXFwiV2l0aCBzaW1wbGUga2V5cywga2V5IG5vZGVzIGNhbm5vdCBoYXZlIGNvbW1lbnRzXFxcIik7aWYoWihuKXx8IUoobikmJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIil7bGV0IFY9XFxcIldpdGggc2ltcGxlIGtleXMsIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQgYXMgYSBrZXkgdmFsdWVcXFwiO3Rocm93IG5ldyBFcnJvcihWKX19bGV0IGg9IWQmJighbnx8cCYmZT09bnVsbCYmIXQuaW5GbG93fHxaKG4pfHwoSyhuKT9uLnR5cGU9PT1QLkJMT0NLX0ZPTERFRHx8bi50eXBlPT09UC5CTE9DS19MSVRFUkFMOnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIikpO3Q9T2JqZWN0LmFzc2lnbih7fSx0LHthbGxOdWxsVmFsdWVzOiExLGltcGxpY2l0S2V5OiFoJiYoZHx8IWkpLGluZGVudDphK3V9KTtsZXQgYj0hMSxnPSExLEQ9VHQobix0LCgpPT5iPSEwLCgpPT5nPSEwKTtpZighaCYmIXQuaW5GbG93JiZELmxlbmd0aD4xMDI0KXtpZihkKXRocm93IG5ldyBFcnJvcihcXFwiV2l0aCBzaW1wbGUga2V5cywgc2luZ2xlIGxpbmUgc2NhbGFyIG11c3Qgbm90IHNwYW4gbW9yZSB0aGFuIDEwMjQgY2hhcmFjdGVyc1xcXCIpO2g9ITB9aWYodC5pbkZsb3cpe2lmKGl8fGU9PW51bGwpcmV0dXJuIGImJnImJnIoKSxEPT09XFxcIlxcXCI/XFxcIj9cXFwiOmg/YD8gJHtEfWA6RH1lbHNlIGlmKGkmJiFkfHxlPT1udWxsJiZoKXJldHVybiBEPWA/ICR7RH1gLHAmJiFiP0QrPW90KEQsdC5pbmRlbnQsbChwKSk6ZyYmcyYmcygpLEQ7YiYmKHA9bnVsbCksaD8ocCYmKEQrPW90KEQsdC5pbmRlbnQsbChwKSkpLEQ9YD8gJHtEfVxcbiR7YX06YCk6KEQ9YCR7RH06YCxwJiYoRCs9b3QoRCx0LmluZGVudCxsKHApKSkpO2xldCBULEksTjtKKGUpPyhUPSEhZS5zcGFjZUJlZm9yZSxJPWUuY29tbWVudEJlZm9yZSxOPWUuY29tbWVudCk6KFQ9ITEsST1udWxsLE49bnVsbCxlJiZ0eXBlb2YgZT09XFxcIm9iamVjdFxcXCImJihlPW8uY3JlYXRlTm9kZShlKSkpLHQuaW1wbGljaXRLZXk9ITEsIWgmJiFwJiZLKGUpJiYodC5pbmRlbnRBdFN0YXJ0PUQubGVuZ3RoKzEpLGc9ITEsIWYmJnUubGVuZ3RoPj0yJiYhdC5pbkZsb3cmJiFoJiZKZShlKSYmIWUuZmxvdyYmIWUudGFnJiYhZS5hbmNob3ImJih0LmluZGVudD10LmluZGVudC5zdWJzdHJpbmcoMikpO2xldCB5PSExLHc9VHQoZSx0LCgpPT55PSEwLCgpPT5nPSEwKSx2PVxcXCIgXFxcIjtpZihwfHxUfHxJKXtpZih2PVQ/YFxcbmA6XFxcIlxcXCIsSSl7bGV0IFY9bChJKTt2Kz1gXFxuJHtQZShWLHQuaW5kZW50KX1gfXc9PT1cXFwiXFxcIiYmIXQuaW5GbG93P3Y9PT1gXFxuYCYmKHY9YFxcblxcbmApOnYrPWBcXG4ke3QuaW5kZW50fWB9ZWxzZSBpZighaCYmWihlKSl7bGV0IFY9d1swXSxqPXcuaW5kZXhPZihgXFxuYCksWT1qIT09LTEsZWU9KEM9KE89dC5pbkZsb3cpIT1udWxsP086ZS5mbG93KSE9bnVsbD9DOmUuaXRlbXMubGVuZ3RoPT09MDtpZihZfHwhZWUpe2xldCBhZT0hMTtpZihZJiYoVj09PVxcXCImXFxcInx8Vj09PVxcXCIhXFxcIikpe2xldCB4PXcuaW5kZXhPZihcXFwiIFxcXCIpO1Y9PT1cXFwiJlxcXCImJnghPT0tMSYmeDxqJiZ3W3grMV09PT1cXFwiIVxcXCImJih4PXcuaW5kZXhPZihcXFwiIFxcXCIseCsxKSksKHg9PT0tMXx8ajx4KSYmKGFlPSEwKX1hZXx8KHY9YFxcbiR7dC5pbmRlbnR9YCl9fWVsc2Uodz09PVxcXCJcXFwifHx3WzBdPT09YFxcbmApJiYodj1cXFwiXFxcIik7cmV0dXJuIEQrPXYrdyx0LmluRmxvdz95JiZyJiZyKCk6TiYmIXk/RCs9b3QoRCx0LmluZGVudCxsKE4pKTpnJiZzJiZzKCksRH1mdW5jdGlvbiBwcyhuLGUpeyhuPT09XFxcImRlYnVnXFxcInx8bj09PVxcXCJ3YXJuXFxcIikmJih0eXBlb2YgcHJvY2VzcyE9XFxcInVuZGVmaW5lZFxcXCImJnByb2Nlc3MuZW1pdFdhcm5pbmc/cHJvY2Vzcy5lbWl0V2FybmluZyhlKTpjb25zb2xlLndhcm4oZSkpfXZhciBtcz1cXFwiPDxcXFwiLFllPXtpZGVudGlmeTpuPT5uPT09bXN8fHR5cGVvZiBuPT1cXFwic3ltYm9sXFxcIiYmbi5kZXNjcmlwdGlvbj09PW1zLGRlZmF1bHQ6XFxcImtleVxcXCIsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjptZXJnZVxcXCIsdGVzdDovXjw8JC8scmVzb2x2ZTooKT0+T2JqZWN0LmFzc2lnbihuZXcgUChTeW1ib2wobXMpKSx7YWRkVG9KU01hcDpWaX0pLHN0cmluZ2lmeTooKT0+bXN9LFhhPShuLGUpPT4oWWUuaWRlbnRpZnkoZSl8fEsoZSkmJighZS50eXBlfHxlLnR5cGU9PT1QLlBMQUlOKSYmWWUuaWRlbnRpZnkoZS52YWx1ZSkpJiYobj09bnVsbD92b2lkIDA6bi5kb2Muc2NoZW1hLnRhZ3Muc29tZSh0PT50LnRhZz09PVllLnRhZyYmdC5kZWZhdWx0KSk7ZnVuY3Rpb24gVmkobixlLHQpe2lmKHQ9biYmV2UodCk/dC5yZXNvbHZlKG4uZG9jKTp0LEplKHQpKWZvcihsZXQgciBvZiB0Lml0ZW1zKXFpKG4sZSxyKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpZm9yKGxldCByIG9mIHQpcWkobixlLHIpO2Vsc2UgcWkobixlLHQpfWZ1bmN0aW9uIHFpKG4sZSx0KXtsZXQgcj1uJiZXZSh0KT90LnJlc29sdmUobi5kb2MpOnQ7aWYoIUhlKHIpKXRocm93IG5ldyBFcnJvcihcXFwiTWVyZ2Ugc291cmNlcyBtdXN0IGJlIG1hcHMgb3IgbWFwIGFsaWFzZXNcXFwiKTtsZXQgcz1yLnRvSlNPTihudWxsLG4sTWFwKTtmb3IobGV0W2ksb11vZiBzKWUgaW5zdGFuY2VvZiBNYXA/ZS5oYXMoaSl8fGUuc2V0KGksbyk6ZSBpbnN0YW5jZW9mIFNldD9lLmFkZChpKTpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxpKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsaSx7dmFsdWU6byx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiBlfWZ1bmN0aW9uIERzKG4sZSx7a2V5OnQsdmFsdWU6cn0pe2lmKEoodCkmJnQuYWRkVG9KU01hcCl0LmFkZFRvSlNNYXAobixlLHIpO2Vsc2UgaWYoWGEobix0KSlWaShuLGUscik7ZWxzZXtsZXQgcz1jZSh0LFxcXCJcXFwiLG4pO2lmKGUgaW5zdGFuY2VvZiBNYXApZS5zZXQocyxjZShyLHMsbikpO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFNldCllLmFkZChzKTtlbHNle2xldCBpPVhjKHQscyxuKSxvPWNlKHIsaSxuKTtpIGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsaSx7dmFsdWU6byx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pOmVbaV09b319cmV0dXJuIGV9ZnVuY3Rpb24gWGMobixlLHQpe2lmKGU9PT1udWxsKXJldHVyblxcXCJcXFwiO2lmKHR5cGVvZiBlIT1cXFwib2JqZWN0XFxcIilyZXR1cm4gU3RyaW5nKGUpO2lmKEoobikmJih0IT1udWxsJiZ0LmRvYykpe2xldCByPWhzKHQuZG9jLHt9KTtyLmFuY2hvcnM9bmV3IFNldDtmb3IobGV0IGkgb2YgdC5hbmNob3JzLmtleXMoKSlyLmFuY2hvcnMuYWRkKGkuYW5jaG9yKTtyLmluRmxvdz0hMCxyLmluU3RyaW5naWZ5S2V5PSEwO2xldCBzPW4udG9TdHJpbmcocik7aWYoIXQubWFwS2V5V2FybmVkKXtsZXQgaT1KU09OLnN0cmluZ2lmeShzKTtpLmxlbmd0aD40MCYmKGk9aS5zdWJzdHJpbmcoMCwzNikrJy4uLlxcXCInKSxwcyh0LmRvYy5vcHRpb25zLmxvZ0xldmVsLGBLZXlzIHdpdGggY29sbGVjdGlvbiB2YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZCBkdWUgdG8gSlMgT2JqZWN0IHJlc3RyaWN0aW9uczogJHtpfS4gU2V0IG1hcEFzTWFwOiB0cnVlIHRvIHVzZSBvYmplY3Qga2V5cy5gKSx0Lm1hcEtleVdhcm5lZD0hMH1yZXR1cm4gc31yZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9ZnVuY3Rpb24gdm4obixlLHQpe2xldCByPXd0KG4sdm9pZCAwLHQpLHM9d3QoZSx2b2lkIDAsdCk7cmV0dXJuIG5ldyBpZShyLHMpfXZhciBpZT1jbGFzcyBue2NvbnN0cnVjdG9yKGUsdD1udWxsKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxUZSx7dmFsdWU6X2l9KSx0aGlzLmtleT1lLHRoaXMudmFsdWU9dH1jbG9uZShlKXtsZXR7a2V5OnQsdmFsdWU6cn09dGhpcztyZXR1cm4gSih0KSYmKHQ9dC5jbG9uZShlKSksSihyKSYmKHI9ci5jbG9uZShlKSksbmV3IG4odCxyKX10b0pTT04oZSx0KXtsZXQgcj10IT1udWxsJiZ0Lm1hcEFzTWFwP25ldyBNYXA6e307cmV0dXJuIERzKHQscix0aGlzKX10b1N0cmluZyhlLHQscil7cmV0dXJuIGUhPW51bGwmJmUuZG9jP1FhKHRoaXMsZSx0LHIpOkpTT04uc3RyaW5naWZ5KHRoaXMpfX07ZnVuY3Rpb24gZ3MobixlLHQpe3ZhciBpO3JldHVybigoKGk9ZS5pbkZsb3cpIT1udWxsP2k6bi5mbG93KT90ZjplZikobixlLHQpfWZ1bmN0aW9uIGVmKHtjb21tZW50Om4saXRlbXM6ZX0sdCx7YmxvY2tJdGVtUHJlZml4OnIsZmxvd0NoYXJzOnMsaXRlbUluZGVudDppLG9uQ2hvbXBLZWVwOm8sb25Db21tZW50OmF9KXtsZXR7aW5kZW50OnUsb3B0aW9uczp7Y29tbWVudFN0cmluZzpsfX09dCxmPU9iamVjdC5hc3NpZ24oe30sdCx7aW5kZW50OmksdHlwZTpudWxsfSksZD0hMSxwPVtdO2ZvcihsZXQgYj0wO2I8ZS5sZW5ndGg7KytiKXtsZXQgZz1lW2JdLEQ9bnVsbDtpZihKKGcpKSFkJiZnLnNwYWNlQmVmb3JlJiZwLnB1c2goXFxcIlxcXCIpLHlzKHQscCxnLmNvbW1lbnRCZWZvcmUsZCksZy5jb21tZW50JiYoRD1nLmNvbW1lbnQpO2Vsc2UgaWYoSChnKSl7bGV0IEk9SihnLmtleSk/Zy5rZXk6bnVsbDtJJiYoIWQmJkkuc3BhY2VCZWZvcmUmJnAucHVzaChcXFwiXFxcIikseXModCxwLEkuY29tbWVudEJlZm9yZSxkKSl9ZD0hMTtsZXQgVD1UdChnLGYsKCk9PkQ9bnVsbCwoKT0+ZD0hMCk7RCYmKFQrPW90KFQsaSxsKEQpKSksZCYmRCYmKGQ9ITEpLHAucHVzaChyK1QpfWxldCBoO2lmKHAubGVuZ3RoPT09MCloPXMuc3RhcnQrcy5lbmQ7ZWxzZXtoPXBbMF07Zm9yKGxldCBiPTE7YjxwLmxlbmd0aDsrK2Ipe2xldCBnPXBbYl07aCs9Zz9gXFxuJHt1fSR7Z31gOmBcXG5gfX1yZXR1cm4gbj8oaCs9YFxcbmArUGUobChuKSx1KSxhJiZhKCkpOmQmJm8mJm8oKSxofWZ1bmN0aW9uIHRmKHtpdGVtczpufSxlLHtmbG93Q2hhcnM6dCxpdGVtSW5kZW50OnJ9KXtsZXR7aW5kZW50OnMsaW5kZW50U3RlcDppLGZsb3dDb2xsZWN0aW9uUGFkZGluZzpvLG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6YX19PWU7cis9aTtsZXQgdT1PYmplY3QuYXNzaWduKHt9LGUse2luZGVudDpyLGluRmxvdzohMCx0eXBlOm51bGx9KSxsPSExLGY9MCxkPVtdO2ZvcihsZXQgYj0wO2I8bi5sZW5ndGg7KytiKXtsZXQgZz1uW2JdLEQ9bnVsbDtpZihKKGcpKWcuc3BhY2VCZWZvcmUmJmQucHVzaChcXFwiXFxcIikseXMoZSxkLGcuY29tbWVudEJlZm9yZSwhMSksZy5jb21tZW50JiYoRD1nLmNvbW1lbnQpO2Vsc2UgaWYoSChnKSl7bGV0IEk9SihnLmtleSk/Zy5rZXk6bnVsbDtJJiYoSS5zcGFjZUJlZm9yZSYmZC5wdXNoKFxcXCJcXFwiKSx5cyhlLGQsSS5jb21tZW50QmVmb3JlLCExKSxJLmNvbW1lbnQmJihsPSEwKSk7bGV0IE49SihnLnZhbHVlKT9nLnZhbHVlOm51bGw7Tj8oTi5jb21tZW50JiYoRD1OLmNvbW1lbnQpLE4uY29tbWVudEJlZm9yZSYmKGw9ITApKTpnLnZhbHVlPT1udWxsJiYoSSE9bnVsbCYmSS5jb21tZW50KSYmKEQ9SS5jb21tZW50KX1EJiYobD0hMCk7bGV0IFQ9VHQoZyx1LCgpPT5EPW51bGwpO2I8bi5sZW5ndGgtMSYmKFQrPVxcXCIsXFxcIiksRCYmKFQrPW90KFQscixhKEQpKSksIWwmJihkLmxlbmd0aD5mfHxULmluY2x1ZGVzKGBcXG5gKSkmJihsPSEwKSxkLnB1c2goVCksZj1kLmxlbmd0aH1sZXR7c3RhcnQ6cCxlbmQ6aH09dDtpZihkLmxlbmd0aD09PTApcmV0dXJuIHAraDtpZighbCl7bGV0IGI9ZC5yZWR1Y2UoKGcsRCk9PmcrRC5sZW5ndGgrMiwyKTtsPWUub3B0aW9ucy5saW5lV2lkdGg+MCYmYj5lLm9wdGlvbnMubGluZVdpZHRofWlmKGwpe2xldCBiPXA7Zm9yKGxldCBnIG9mIGQpYis9Zz9gXFxuJHtpfSR7c30ke2d9YDpgXFxuYDtyZXR1cm5gJHtifVxcbiR7c30ke2h9YH1lbHNlIHJldHVybmAke3B9JHtvfSR7ZC5qb2luKFxcXCIgXFxcIil9JHtvfSR7aH1gfWZ1bmN0aW9uIHlzKHtpbmRlbnQ6bixvcHRpb25zOntjb21tZW50U3RyaW5nOmV9fSx0LHIscyl7aWYociYmcyYmKHI9ci5yZXBsYWNlKC9eXFxcXG4rLyxcXFwiXFxcIikpLHIpe2xldCBpPVBlKGUociksbik7dC5wdXNoKGkudHJpbVN0YXJ0KCkpfX1mdW5jdGlvbiBJdChuLGUpe2xldCB0PUsoZSk/ZS52YWx1ZTplO2ZvcihsZXQgciBvZiBuKWlmKEgocikmJihyLmtleT09PWV8fHIua2V5PT09dHx8SyhyLmtleSkmJnIua2V5LnZhbHVlPT09dCkpcmV0dXJuIHJ9dmFyIG9lPWNsYXNzIGV4dGVuZHMgU257c3RhdGljIGdldCB0YWdOYW1lKCl7cmV0dXJuXFxcInRhZzp5YW1sLm9yZywyMDAyOm1hcFxcXCJ9Y29uc3RydWN0b3IoZSl7c3VwZXIoS2UsZSksdGhpcy5pdGVtcz1bXX1zdGF0aWMgZnJvbShlLHQscil7bGV0e2tlZXBVbmRlZmluZWQ6cyxyZXBsYWNlcjppfT1yLG89bmV3IHRoaXMoZSksYT0odSxsKT0+e2lmKHR5cGVvZiBpPT1cXFwiZnVuY3Rpb25cXFwiKWw9aS5jYWxsKHQsdSxsKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaSkmJiFpLmluY2x1ZGVzKHUpKXJldHVybjsobCE9PXZvaWQgMHx8cykmJm8uaXRlbXMucHVzaCh2bih1LGwscikpfTtpZih0IGluc3RhbmNlb2YgTWFwKWZvcihsZXRbdSxsXW9mIHQpYSh1LGwpO2Vsc2UgaWYodCYmdHlwZW9mIHQ9PVxcXCJvYmplY3RcXFwiKWZvcihsZXQgdSBvZiBPYmplY3Qua2V5cyh0KSlhKHUsdFt1XSk7cmV0dXJuIHR5cGVvZiBlLnNvcnRNYXBFbnRyaWVzPT1cXFwiZnVuY3Rpb25cXFwiJiZvLml0ZW1zLnNvcnQoZS5zb3J0TWFwRW50cmllcyksb31hZGQoZSx0KXt2YXIgbztsZXQgcjtIKGUpP3I9ZTohZXx8dHlwZW9mIGUhPVxcXCJvYmplY3RcXFwifHwhKFxcXCJrZXlcXFwiaW4gZSk/cj1uZXcgaWUoZSxlPT1udWxsP3ZvaWQgMDplLnZhbHVlKTpyPW5ldyBpZShlLmtleSxlLnZhbHVlKTtsZXQgcz1JdCh0aGlzLml0ZW1zLHIua2V5KSxpPShvPXRoaXMuc2NoZW1hKT09bnVsbD92b2lkIDA6by5zb3J0TWFwRW50cmllcztpZihzKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoYEtleSAke3Iua2V5fSBhbHJlYWR5IHNldGApO0socy52YWx1ZSkmJnVzKHIudmFsdWUpP3MudmFsdWUudmFsdWU9ci52YWx1ZTpzLnZhbHVlPXIudmFsdWV9ZWxzZSBpZihpKXtsZXQgYT10aGlzLml0ZW1zLmZpbmRJbmRleCh1PT5pKHIsdSk8MCk7YT09PS0xP3RoaXMuaXRlbXMucHVzaChyKTp0aGlzLml0ZW1zLnNwbGljZShhLDAscil9ZWxzZSB0aGlzLml0ZW1zLnB1c2gocil9ZGVsZXRlKGUpe2xldCB0PUl0KHRoaXMuaXRlbXMsZSk7cmV0dXJuIHQ/dGhpcy5pdGVtcy5zcGxpY2UodGhpcy5pdGVtcy5pbmRleE9mKHQpLDEpLmxlbmd0aD4wOiExfWdldChlLHQpe3ZhciBpO2xldCByPUl0KHRoaXMuaXRlbXMsZSkscz1yPT1udWxsP3ZvaWQgMDpyLnZhbHVlO3JldHVybihpPSF0JiZLKHMpP3MudmFsdWU6cykhPW51bGw/aTp2b2lkIDB9aGFzKGUpe3JldHVybiEhSXQodGhpcy5pdGVtcyxlKX1zZXQoZSx0KXt0aGlzLmFkZChuZXcgaWUoZSx0KSwhMCl9dG9KU09OKGUsdCxyKXtsZXQgcz1yP25ldyByOnQhPW51bGwmJnQubWFwQXNNYXA/bmV3IE1hcDp7fTt0IT1udWxsJiZ0Lm9uQ3JlYXRlJiZ0Lm9uQ3JlYXRlKHMpO2ZvcihsZXQgaSBvZiB0aGlzLml0ZW1zKURzKHQscyxpKTtyZXR1cm4gc310b1N0cmluZyhlLHQscil7aWYoIWUpcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMpO2ZvcihsZXQgcyBvZiB0aGlzLml0ZW1zKWlmKCFIKHMpKXRocm93IG5ldyBFcnJvcihgTWFwIGl0ZW1zIG11c3QgYWxsIGJlIHBhaXJzOyBmb3VuZCAke0pTT04uc3RyaW5naWZ5KHMpfSBpbnN0ZWFkYCk7cmV0dXJuIWUuYWxsTnVsbFZhbHVlcyYmdGhpcy5oYXNBbGxOdWxsVmFsdWVzKCExKSYmKGU9T2JqZWN0LmFzc2lnbih7fSxlLHthbGxOdWxsVmFsdWVzOiEwfSkpLGdzKHRoaXMsZSx7YmxvY2tJdGVtUHJlZml4OlxcXCJcXFwiLGZsb3dDaGFyczp7c3RhcnQ6XFxcIntcXFwiLGVuZDpcXFwifVxcXCJ9LGl0ZW1JbmRlbnQ6ZS5pbmRlbnR8fFxcXCJcXFwiLG9uQ2hvbXBLZWVwOnIsb25Db21tZW50OnR9KX19O3ZhciBHZT17Y29sbGVjdGlvbjpcXFwibWFwXFxcIixkZWZhdWx0OiEwLG5vZGVDbGFzczpvZSx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOm1hcFxcXCIscmVzb2x2ZShuLGUpe3JldHVybiBIZShuKXx8ZShcXFwiRXhwZWN0ZWQgYSBtYXBwaW5nIGZvciB0aGlzIHRhZ1xcXCIpLG59LGNyZWF0ZU5vZGU6KG4sZSx0KT0+b2UuZnJvbShuLGUsdCl9O3ZhciBiZT1jbGFzcyBleHRlbmRzIFNue3N0YXRpYyBnZXQgdGFnTmFtZSgpe3JldHVyblxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXFcXFwifWNvbnN0cnVjdG9yKGUpe3N1cGVyKEZ0LGUpLHRoaXMuaXRlbXM9W119YWRkKGUpe3RoaXMuaXRlbXMucHVzaChlKX1kZWxldGUoZSl7bGV0IHQ9YnMoZSk7cmV0dXJuIHR5cGVvZiB0IT1cXFwibnVtYmVyXFxcIj8hMTp0aGlzLml0ZW1zLnNwbGljZSh0LDEpLmxlbmd0aD4wfWdldChlLHQpe2xldCByPWJzKGUpO2lmKHR5cGVvZiByIT1cXFwibnVtYmVyXFxcIilyZXR1cm47bGV0IHM9dGhpcy5pdGVtc1tyXTtyZXR1cm4hdCYmSyhzKT9zLnZhbHVlOnN9aGFzKGUpe2xldCB0PWJzKGUpO3JldHVybiB0eXBlb2YgdD09XFxcIm51bWJlclxcXCImJnQ8dGhpcy5pdGVtcy5sZW5ndGh9c2V0KGUsdCl7bGV0IHI9YnMoZSk7aWYodHlwZW9mIHIhPVxcXCJudW1iZXJcXFwiKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYSB2YWxpZCBpbmRleCwgbm90ICR7ZX0uYCk7bGV0IHM9dGhpcy5pdGVtc1tyXTtLKHMpJiZ1cyh0KT9zLnZhbHVlPXQ6dGhpcy5pdGVtc1tyXT10fXRvSlNPTihlLHQpe2xldCByPVtdO3QhPW51bGwmJnQub25DcmVhdGUmJnQub25DcmVhdGUocik7bGV0IHM9MDtmb3IobGV0IGkgb2YgdGhpcy5pdGVtcylyLnB1c2goY2UoaSxTdHJpbmcocysrKSx0KSk7cmV0dXJuIHJ9dG9TdHJpbmcoZSx0LHIpe3JldHVybiBlP2dzKHRoaXMsZSx7YmxvY2tJdGVtUHJlZml4OlxcXCItIFxcXCIsZmxvd0NoYXJzOntzdGFydDpcXFwiW1xcXCIsZW5kOlxcXCJdXFxcIn0saXRlbUluZGVudDooZS5pbmRlbnR8fFxcXCJcXFwiKStcXFwiICBcXFwiLG9uQ2hvbXBLZWVwOnIsb25Db21tZW50OnR9KTpKU09OLnN0cmluZ2lmeSh0aGlzKX1zdGF0aWMgZnJvbShlLHQscil7bGV0e3JlcGxhY2VyOnN9PXIsaT1uZXcgdGhpcyhlKTtpZih0JiZTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKXtsZXQgbz0wO2ZvcihsZXQgYSBvZiB0KXtpZih0eXBlb2Ygcz09XFxcImZ1bmN0aW9uXFxcIil7bGV0IHU9dCBpbnN0YW5jZW9mIFNldD9hOlN0cmluZyhvKyspO2E9cy5jYWxsKHQsdSxhKX1pLml0ZW1zLnB1c2god3QoYSx2b2lkIDAscikpfX1yZXR1cm4gaX19O2Z1bmN0aW9uIGJzKG4pe2xldCBlPUsobik/bi52YWx1ZTpuO3JldHVybiBlJiZ0eXBlb2YgZT09XFxcInN0cmluZ1xcXCImJihlPU51bWJlcihlKSksdHlwZW9mIGU9PVxcXCJudW1iZXJcXFwiJiZOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPj0wP2U6bnVsbH12YXIgWmU9e2NvbGxlY3Rpb246XFxcInNlcVxcXCIsZGVmYXVsdDohMCxub2RlQ2xhc3M6YmUsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXFcXFwiLHJlc29sdmUobixlKXtyZXR1cm4gSmUobil8fGUoXFxcIkV4cGVjdGVkIGEgc2VxdWVuY2UgZm9yIHRoaXMgdGFnXFxcIiksbn0sY3JlYXRlTm9kZToobixlLHQpPT5iZS5mcm9tKG4sZSx0KX07dmFyIEx0PXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcInN0cmluZ1xcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOnN0clxcXCIscmVzb2x2ZTpuPT5uLHN0cmluZ2lmeShuLGUsdCxyKXtyZXR1cm4gZT1PYmplY3QuYXNzaWduKHthY3R1YWxTdHJpbmc6ITB9LGUpLFd0KG4sZSx0LHIpfX07dmFyIEh0PXtpZGVudGlmeTpuPT5uPT1udWxsLGNyZWF0ZU5vZGU6KCk9Pm5ldyBQKG51bGwpLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpudWxsXFxcIix0ZXN0Oi9eKD86fnxbTm5ddWxsfE5VTEwpPyQvLHJlc29sdmU6KCk9Pm5ldyBQKG51bGwpLHN0cmluZ2lmeTooe3NvdXJjZTpufSxlKT0+dHlwZW9mIG49PVxcXCJzdHJpbmdcXFwiJiZIdC50ZXN0LnRlc3Qobik/bjplLm9wdGlvbnMubnVsbFN0cn07dmFyIGJyPXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcImJvb2xlYW5cXFwiLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpib29sXFxcIix0ZXN0Oi9eKD86W1R0XXJ1ZXxUUlVFfFtGZl1hbHNlfEZBTFNFKSQvLHJlc29sdmU6bj0+bmV3IFAoblswXT09PVxcXCJ0XFxcInx8blswXT09PVxcXCJUXFxcIiksc3RyaW5naWZ5KHtzb3VyY2U6bix2YWx1ZTplfSx0KXtpZihuJiZici50ZXN0LnRlc3Qobikpe2xldCByPW5bMF09PT1cXFwidFxcXCJ8fG5bMF09PT1cXFwiVFxcXCI7aWYoZT09PXIpcmV0dXJuIG59cmV0dXJuIGU/dC5vcHRpb25zLnRydWVTdHI6dC5vcHRpb25zLmZhbHNlU3RyfX07ZnVuY3Rpb24gRmUoe2Zvcm1hdDpuLG1pbkZyYWN0aW9uRGlnaXRzOmUsdGFnOnQsdmFsdWU6cn0pe2lmKHR5cGVvZiByPT1cXFwiYmlnaW50XFxcIilyZXR1cm4gU3RyaW5nKHIpO2xldCBzPXR5cGVvZiByPT1cXFwibnVtYmVyXFxcIj9yOk51bWJlcihyKTtpZighaXNGaW5pdGUocykpcmV0dXJuIGlzTmFOKHMpP1xcXCIubmFuXFxcIjpzPDA/XFxcIi0uaW5mXFxcIjpcXFwiLmluZlxcXCI7bGV0IGk9SlNPTi5zdHJpbmdpZnkocik7aWYoIW4mJmUmJighdHx8dD09PVxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFxcXCIpJiYvXlxcXFxkLy50ZXN0KGkpKXtsZXQgbz1pLmluZGV4T2YoXFxcIi5cXFwiKTtvPDAmJihvPWkubGVuZ3RoLGkrPVxcXCIuXFxcIik7bGV0IGE9ZS0oaS5sZW5ndGgtby0xKTtmb3IoO2EtLSA+MDspaSs9XFxcIjBcXFwifXJldHVybiBpfXZhciBGcz17aWRlbnRpZnk6bj0+dHlwZW9mIG49PVxcXCJudW1iZXJcXFwiLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFxcXCIsdGVzdDovXig/OlstK10/XFxcXC4oPzppbmZ8SW5mfElORil8XFxcXC5uYW58XFxcXC5OYU58XFxcXC5OQU4pJC8scmVzb2x2ZTpuPT5uLnNsaWNlKC0zKS50b0xvd2VyQ2FzZSgpPT09XFxcIm5hblxcXCI/TmFOOm5bMF09PT1cXFwiLVxcXCI/TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSxzdHJpbmdpZnk6RmV9LEVzPXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcIm51bWJlclxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XFxcIixmb3JtYXQ6XFxcIkVYUFxcXCIsdGVzdDovXlstK10/KD86XFxcXC5bMC05XSt8WzAtOV0rKD86XFxcXC5bMC05XSopPylbZUVdWy0rXT9bMC05XSskLyxyZXNvbHZlOm49PnBhcnNlRmxvYXQobiksc3RyaW5naWZ5KG4pe2xldCBlPU51bWJlcihuLnZhbHVlKTtyZXR1cm4gaXNGaW5pdGUoZSk/ZS50b0V4cG9uZW50aWFsKCk6RmUobil9fSx3cz17aWRlbnRpZnk6bj0+dHlwZW9mIG49PVxcXCJudW1iZXJcXFwiLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFxcXCIsdGVzdDovXlstK10/KD86XFxcXC5bMC05XSt8WzAtOV0rXFxcXC5bMC05XSopJC8scmVzb2x2ZShuKXtsZXQgZT1uZXcgUChwYXJzZUZsb2F0KG4pKSx0PW4uaW5kZXhPZihcXFwiLlxcXCIpO3JldHVybiB0IT09LTEmJm5bbi5sZW5ndGgtMV09PT1cXFwiMFxcXCImJihlLm1pbkZyYWN0aW9uRGlnaXRzPW4ubGVuZ3RoLXQtMSksZX0sc3RyaW5naWZ5OkZlfTt2YXIgVHM9bj0+dHlwZW9mIG49PVxcXCJiaWdpbnRcXFwifHxOdW1iZXIuaXNJbnRlZ2VyKG4pLFVpPShuLGUsdCx7aW50QXNCaWdJbnQ6cn0pPT5yP0JpZ0ludChuKTpwYXJzZUludChuLnN1YnN0cmluZyhlKSx0KTtmdW5jdGlvbiBldShuLGUsdCl7bGV0e3ZhbHVlOnJ9PW47cmV0dXJuIFRzKHIpJiZyPj0wP3Qrci50b1N0cmluZyhlKTpGZShuKX12YXIgU3M9e2lkZW50aWZ5Om49PlRzKG4pJiZuPj0wLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcXFwiLGZvcm1hdDpcXFwiT0NUXFxcIix0ZXN0Oi9eMG9bMC03XSskLyxyZXNvbHZlOihuLGUsdCk9PlVpKG4sMiw4LHQpLHN0cmluZ2lmeTpuPT5ldShuLDgsXFxcIjBvXFxcIil9LGtzPXtpZGVudGlmeTpUcyxkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6aW50XFxcIix0ZXN0Oi9eWy0rXT9bMC05XSskLyxyZXNvbHZlOihuLGUsdCk9PlVpKG4sMCwxMCx0KSxzdHJpbmdpZnk6RmV9LENzPXtpZGVudGlmeTpuPT5UcyhuKSYmbj49MCxkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6aW50XFxcIixmb3JtYXQ6XFxcIkhFWFxcXCIsdGVzdDovXjB4WzAtOWEtZkEtRl0rJC8scmVzb2x2ZToobixlLHQpPT5VaShuLDIsMTYsdCksc3RyaW5naWZ5Om49PmV1KG4sMTYsXFxcIjB4XFxcIil9O3ZhciB0dT1bR2UsWmUsTHQsSHQsYnIsU3Msa3MsQ3MsRnMsRXMsd3NdO2Z1bmN0aW9uIG51KG4pe3JldHVybiB0eXBlb2Ygbj09XFxcImJpZ2ludFxcXCJ8fE51bWJlci5pc0ludGVnZXIobil9dmFyIHZzPSh7dmFsdWU6bn0pPT5KU09OLnN0cmluZ2lmeShuKSxuZj1be2lkZW50aWZ5Om49PnR5cGVvZiBuPT1cXFwic3RyaW5nXFxcIixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6c3RyXFxcIixyZXNvbHZlOm49Pm4sc3RyaW5naWZ5OnZzfSx7aWRlbnRpZnk6bj0+bj09bnVsbCxjcmVhdGVOb2RlOigpPT5uZXcgUChudWxsKSxkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6bnVsbFxcXCIsdGVzdDovXm51bGwkLyxyZXNvbHZlOigpPT5udWxsLHN0cmluZ2lmeTp2c30se2lkZW50aWZ5Om49PnR5cGVvZiBuPT1cXFwiYm9vbGVhblxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmJvb2xcXFwiLHRlc3Q6L150cnVlfGZhbHNlJC8scmVzb2x2ZTpuPT5uPT09XFxcInRydWVcXFwiLHN0cmluZ2lmeTp2c30se2lkZW50aWZ5Om51LGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcXFwiLHRlc3Q6L14tPyg/OjB8WzEtOV1bMC05XSopJC8scmVzb2x2ZToobixlLHtpbnRBc0JpZ0ludDp0fSk9PnQ/QmlnSW50KG4pOnBhcnNlSW50KG4sMTApLHN0cmluZ2lmeTooe3ZhbHVlOm59KT0+bnUobik/bi50b1N0cmluZygpOkpTT04uc3RyaW5naWZ5KG4pfSx7aWRlbnRpZnk6bj0+dHlwZW9mIG49PVxcXCJudW1iZXJcXFwiLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFxcXCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikoPzpcXFxcLlswLTldKik/KD86W2VFXVstK10/WzAtOV0rKT8kLyxyZXNvbHZlOm49PnBhcnNlRmxvYXQobiksc3RyaW5naWZ5OnZzfV0scmY9e2RlZmF1bHQ6ITAsdGFnOlxcXCJcXFwiLHRlc3Q6L14vLHJlc29sdmUobixlKXtyZXR1cm4gZShgVW5yZXNvbHZlZCBwbGFpbiBzY2FsYXIgJHtKU09OLnN0cmluZ2lmeShuKX1gKSxufX0scnU9W0dlLFplXS5jb25jYXQobmYscmYpO3ZhciBGcj17aWRlbnRpZnk6bj0+biBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksZGVmYXVsdDohMSx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmJpbmFyeVxcXCIscmVzb2x2ZShuLGUpe2lmKHR5cGVvZiBCdWZmZXI9PVxcXCJmdW5jdGlvblxcXCIpcmV0dXJuIEJ1ZmZlci5mcm9tKG4sXFxcImJhc2U2NFxcXCIpO2lmKHR5cGVvZiBhdG9iPT1cXFwiZnVuY3Rpb25cXFwiKXtsZXQgdD1hdG9iKG4ucmVwbGFjZSgvW1xcXFxuXFxcXHJdL2csXFxcIlxcXCIpKSxyPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IHM9MDtzPHQubGVuZ3RoOysrcylyW3NdPXQuY2hhckNvZGVBdChzKTtyZXR1cm4gcn1lbHNlIHJldHVybiBlKFxcXCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgcmVhZGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBhdG9iIGlzIHJlcXVpcmVkXFxcIiksbn0sc3RyaW5naWZ5KHtjb21tZW50Om4sdHlwZTplLHZhbHVlOnR9LHIscyxpKXtsZXQgbz10LGE7aWYodHlwZW9mIEJ1ZmZlcj09XFxcImZ1bmN0aW9uXFxcIilhPW8gaW5zdGFuY2VvZiBCdWZmZXI/by50b1N0cmluZyhcXFwiYmFzZTY0XFxcIik6QnVmZmVyLmZyb20oby5idWZmZXIpLnRvU3RyaW5nKFxcXCJiYXNlNjRcXFwiKTtlbHNlIGlmKHR5cGVvZiBidG9hPT1cXFwiZnVuY3Rpb25cXFwiKXtsZXQgdT1cXFwiXFxcIjtmb3IobGV0IGw9MDtsPG8ubGVuZ3RoOysrbCl1Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKG9bbF0pO2E9YnRvYSh1KX1lbHNlIHRocm93IG5ldyBFcnJvcihcXFwiVGhpcyBlbnZpcm9ubWVudCBkb2VzIG5vdCBzdXBwb3J0IHdyaXRpbmcgYmluYXJ5IHRhZ3M7IGVpdGhlciBCdWZmZXIgb3IgYnRvYSBpcyByZXF1aXJlZFxcXCIpO2lmKGV8fChlPVAuQkxPQ0tfTElURVJBTCksZSE9PVAuUVVPVEVfRE9VQkxFKXtsZXQgdT1NYXRoLm1heChyLm9wdGlvbnMubGluZVdpZHRoLXIuaW5kZW50Lmxlbmd0aCxyLm9wdGlvbnMubWluQ29udGVudFdpZHRoKSxsPU1hdGguY2VpbChhLmxlbmd0aC91KSxmPW5ldyBBcnJheShsKTtmb3IobGV0IGQ9MCxwPTA7ZDxsOysrZCxwKz11KWZbZF09YS5zdWJzdHIocCx1KTthPWYuam9pbihlPT09UC5CTE9DS19MSVRFUkFMP2BcXG5gOlxcXCIgXFxcIil9cmV0dXJuIFd0KHtjb21tZW50Om4sdHlwZTplLHZhbHVlOmF9LHIscyxpKX19O2Z1bmN0aW9uIEtpKG4sZSl7dmFyIHQ7aWYoSmUobikpZm9yKGxldCByPTA7cjxuLml0ZW1zLmxlbmd0aDsrK3Ipe2xldCBzPW4uaXRlbXNbcl07aWYoIUgocykpe2lmKEhlKHMpKXtzLml0ZW1zLmxlbmd0aD4xJiZlKFxcXCJFYWNoIHBhaXIgbXVzdCBoYXZlIGl0cyBvd24gc2VxdWVuY2UgaW5kaWNhdG9yXFxcIik7bGV0IGk9cy5pdGVtc1swXXx8bmV3IGllKG5ldyBQKG51bGwpKTtpZihzLmNvbW1lbnRCZWZvcmUmJihpLmtleS5jb21tZW50QmVmb3JlPWkua2V5LmNvbW1lbnRCZWZvcmU/YCR7cy5jb21tZW50QmVmb3JlfVxcbiR7aS5rZXkuY29tbWVudEJlZm9yZX1gOnMuY29tbWVudEJlZm9yZSkscy5jb21tZW50KXtsZXQgbz0odD1pLnZhbHVlKSE9bnVsbD90Omkua2V5O28uY29tbWVudD1vLmNvbW1lbnQ/YCR7cy5jb21tZW50fVxcbiR7by5jb21tZW50fWA6cy5jb21tZW50fXM9aX1uLml0ZW1zW3JdPUgocyk/czpuZXcgaWUocyl9fWVsc2UgZShcXFwiRXhwZWN0ZWQgYSBzZXF1ZW5jZSBmb3IgdGhpcyB0YWdcXFwiKTtyZXR1cm4gbn1mdW5jdGlvbiBXaShuLGUsdCl7bGV0e3JlcGxhY2VyOnJ9PXQscz1uZXcgYmUobik7cy50YWc9XFxcInRhZzp5YW1sLm9yZywyMDAyOnBhaXJzXFxcIjtsZXQgaT0wO2lmKGUmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoZSkpZm9yKGxldCBvIG9mIGUpe3R5cGVvZiByPT1cXFwiZnVuY3Rpb25cXFwiJiYobz1yLmNhbGwoZSxTdHJpbmcoaSsrKSxvKSk7bGV0IGEsdTtpZihBcnJheS5pc0FycmF5KG8pKWlmKG8ubGVuZ3RoPT09MilhPW9bMF0sdT1vWzFdO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgW2tleSwgdmFsdWVdIHR1cGxlOiAke299YCk7ZWxzZSBpZihvJiZvIGluc3RhbmNlb2YgT2JqZWN0KXtsZXQgbD1PYmplY3Qua2V5cyhvKTtpZihsLmxlbmd0aD09PTEpYT1sWzBdLHU9b1thXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIHR1cGxlIHdpdGggb25lIGtleSwgbm90ICR7bC5sZW5ndGh9IGtleXNgKX1lbHNlIGE9bztzLml0ZW1zLnB1c2godm4oYSx1LHQpKX1yZXR1cm4gc312YXIgRXI9e2NvbGxlY3Rpb246XFxcInNlcVxcXCIsZGVmYXVsdDohMSx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOnBhaXJzXFxcIixyZXNvbHZlOktpLGNyZWF0ZU5vZGU6V2l9O3ZhciBPbj1jbGFzcyBuIGV4dGVuZHMgYmV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuYWRkPW9lLnByb3RvdHlwZS5hZGQuYmluZCh0aGlzKSx0aGlzLmRlbGV0ZT1vZS5wcm90b3R5cGUuZGVsZXRlLmJpbmQodGhpcyksdGhpcy5nZXQ9b2UucHJvdG90eXBlLmdldC5iaW5kKHRoaXMpLHRoaXMuaGFzPW9lLnByb3RvdHlwZS5oYXMuYmluZCh0aGlzKSx0aGlzLnNldD1vZS5wcm90b3R5cGUuc2V0LmJpbmQodGhpcyksdGhpcy50YWc9bi50YWd9dG9KU09OKGUsdCl7aWYoIXQpcmV0dXJuIHN1cGVyLnRvSlNPTihlKTtsZXQgcj1uZXcgTWFwO3QhPW51bGwmJnQub25DcmVhdGUmJnQub25DcmVhdGUocik7Zm9yKGxldCBzIG9mIHRoaXMuaXRlbXMpe2xldCBpLG87aWYoSChzKT8oaT1jZShzLmtleSxcXFwiXFxcIix0KSxvPWNlKHMudmFsdWUsaSx0KSk6aT1jZShzLFxcXCJcXFwiLHQpLHIuaGFzKGkpKXRocm93IG5ldyBFcnJvcihcXFwiT3JkZXJlZCBtYXBzIG11c3Qgbm90IGluY2x1ZGUgZHVwbGljYXRlIGtleXNcXFwiKTtyLnNldChpLG8pfXJldHVybiByfXN0YXRpYyBmcm9tKGUsdCxyKXtsZXQgcz1XaShlLHQsciksaT1uZXcgdGhpcztyZXR1cm4gaS5pdGVtcz1zLml0ZW1zLGl9fTtPbi50YWc9XFxcInRhZzp5YW1sLm9yZywyMDAyOm9tYXBcXFwiO3ZhciB3cj17Y29sbGVjdGlvbjpcXFwic2VxXFxcIixpZGVudGlmeTpuPT5uIGluc3RhbmNlb2YgTWFwLG5vZGVDbGFzczpPbixkZWZhdWx0OiExLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6b21hcFxcXCIscmVzb2x2ZShuLGUpe2xldCB0PUtpKG4sZSkscj1bXTtmb3IobGV0e2tleTpzfW9mIHQuaXRlbXMpSyhzKSYmKHIuaW5jbHVkZXMocy52YWx1ZSk/ZShgT3JkZXJlZCBtYXBzIG11c3Qgbm90IGluY2x1ZGUgZHVwbGljYXRlIGtleXM6ICR7cy52YWx1ZX1gKTpyLnB1c2gocy52YWx1ZSkpO3JldHVybiBPYmplY3QuYXNzaWduKG5ldyBPbix0KX0sY3JlYXRlTm9kZToobixlLHQpPT5Pbi5mcm9tKG4sZSx0KX07ZnVuY3Rpb24gc3Uoe3ZhbHVlOm4sc291cmNlOmV9LHQpe3JldHVybiBlJiYobj9IaTpKaSkudGVzdC50ZXN0KGUpP2U6bj90Lm9wdGlvbnMudHJ1ZVN0cjp0Lm9wdGlvbnMuZmFsc2VTdHJ9dmFyIEhpPXtpZGVudGlmeTpuPT5uPT09ITAsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmJvb2xcXFwiLHRlc3Q6L14oPzpZfHl8W1l5XWVzfFlFU3xbVHRdcnVlfFRSVUV8W09vXW58T04pJC8scmVzb2x2ZTooKT0+bmV3IFAoITApLHN0cmluZ2lmeTpzdX0sSmk9e2lkZW50aWZ5Om49Pm49PT0hMSxkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6Ym9vbFxcXCIsdGVzdDovXig/Ok58bnxbTm5db3xOT3xbRmZdYWxzZXxGQUxTRXxbT29dZmZ8T0ZGKSQvLHJlc29sdmU6KCk9Pm5ldyBQKCExKSxzdHJpbmdpZnk6c3V9O3ZhciBpdT17aWRlbnRpZnk6bj0+dHlwZW9mIG49PVxcXCJudW1iZXJcXFwiLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFxcXCIsdGVzdDovXig/OlstK10/XFxcXC4oPzppbmZ8SW5mfElORil8XFxcXC5uYW58XFxcXC5OYU58XFxcXC5OQU4pJC8scmVzb2x2ZTpuPT5uLnNsaWNlKC0zKS50b0xvd2VyQ2FzZSgpPT09XFxcIm5hblxcXCI/TmFOOm5bMF09PT1cXFwiLVxcXCI/TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSxzdHJpbmdpZnk6RmV9LG91PXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcIm51bWJlclxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XFxcIixmb3JtYXQ6XFxcIkVYUFxcXCIsdGVzdDovXlstK10/KD86WzAtOV1bMC05X10qKT8oPzpcXFxcLlswLTlfXSopP1tlRV1bLStdP1swLTldKyQvLHJlc29sdmU6bj0+cGFyc2VGbG9hdChuLnJlcGxhY2UoL18vZyxcXFwiXFxcIikpLHN0cmluZ2lmeShuKXtsZXQgZT1OdW1iZXIobi52YWx1ZSk7cmV0dXJuIGlzRmluaXRlKGUpP2UudG9FeHBvbmVudGlhbCgpOkZlKG4pfX0sYXU9e2lkZW50aWZ5Om49PnR5cGVvZiBuPT1cXFwibnVtYmVyXFxcIixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXRcXFwiLHRlc3Q6L15bLStdPyg/OlswLTldWzAtOV9dKik/XFxcXC5bMC05X10qJC8scmVzb2x2ZShuKXtsZXQgZT1uZXcgUChwYXJzZUZsb2F0KG4ucmVwbGFjZSgvXy9nLFxcXCJcXFwiKSkpLHQ9bi5pbmRleE9mKFxcXCIuXFxcIik7aWYodCE9PS0xKXtsZXQgcj1uLnN1YnN0cmluZyh0KzEpLnJlcGxhY2UoL18vZyxcXFwiXFxcIik7cltyLmxlbmd0aC0xXT09PVxcXCIwXFxcIiYmKGUubWluRnJhY3Rpb25EaWdpdHM9ci5sZW5ndGgpfXJldHVybiBlfSxzdHJpbmdpZnk6RmV9O3ZhciBUcj1uPT50eXBlb2Ygbj09XFxcImJpZ2ludFxcXCJ8fE51bWJlci5pc0ludGVnZXIobik7ZnVuY3Rpb24gT3MobixlLHQse2ludEFzQmlnSW50OnJ9KXtsZXQgcz1uWzBdO2lmKChzPT09XFxcIi1cXFwifHxzPT09XFxcIitcXFwiKSYmKGUrPTEpLG49bi5zdWJzdHJpbmcoZSkucmVwbGFjZSgvXy9nLFxcXCJcXFwiKSxyKXtzd2l0Y2godCl7Y2FzZSAyOm49YDBiJHtufWA7YnJlYWs7Y2FzZSA4Om49YDBvJHtufWA7YnJlYWs7Y2FzZSAxNjpuPWAweCR7bn1gO2JyZWFrfWxldCBvPUJpZ0ludChuKTtyZXR1cm4gcz09PVxcXCItXFxcIj9CaWdJbnQoLTEpKm86b31sZXQgaT1wYXJzZUludChuLHQpO3JldHVybiBzPT09XFxcIi1cXFwiPy0xKmk6aX1mdW5jdGlvbiB6aShuLGUsdCl7bGV0e3ZhbHVlOnJ9PW47aWYoVHIocikpe2xldCBzPXIudG9TdHJpbmcoZSk7cmV0dXJuIHI8MD9cXFwiLVxcXCIrdCtzLnN1YnN0cigxKTp0K3N9cmV0dXJuIEZlKG4pfXZhciB1dT17aWRlbnRpZnk6VHIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmludFxcXCIsZm9ybWF0OlxcXCJCSU5cXFwiLHRlc3Q6L15bLStdPzBiWzAtMV9dKyQvLHJlc29sdmU6KG4sZSx0KT0+T3MobiwyLDIsdCksc3RyaW5naWZ5Om49PnppKG4sMixcXFwiMGJcXFwiKX0sbHU9e2lkZW50aWZ5OlRyLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcXFwiLGZvcm1hdDpcXFwiT0NUXFxcIix0ZXN0Oi9eWy0rXT8wWzAtN19dKyQvLHJlc29sdmU6KG4sZSx0KT0+T3MobiwxLDgsdCksc3RyaW5naWZ5Om49PnppKG4sOCxcXFwiMFxcXCIpfSxjdT17aWRlbnRpZnk6VHIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmludFxcXCIsdGVzdDovXlstK10/WzAtOV1bMC05X10qJC8scmVzb2x2ZToobixlLHQpPT5PcyhuLDAsMTAsdCksc3RyaW5naWZ5OkZlfSxmdT17aWRlbnRpZnk6VHIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmludFxcXCIsZm9ybWF0OlxcXCJIRVhcXFwiLHRlc3Q6L15bLStdPzB4WzAtOWEtZkEtRl9dKyQvLHJlc29sdmU6KG4sZSx0KT0+T3MobiwyLDE2LHQpLHN0cmluZ2lmeTpuPT56aShuLDE2LFxcXCIweFxcXCIpfTt2YXIgeG49Y2xhc3MgbiBleHRlbmRzIG9le2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMudGFnPW4udGFnfWFkZChlKXtsZXQgdDtIKGUpP3Q9ZTplJiZ0eXBlb2YgZT09XFxcIm9iamVjdFxcXCImJlxcXCJrZXlcXFwiaW4gZSYmXFxcInZhbHVlXFxcImluIGUmJmUudmFsdWU9PT1udWxsP3Q9bmV3IGllKGUua2V5LG51bGwpOnQ9bmV3IGllKGUsbnVsbCksSXQodGhpcy5pdGVtcyx0LmtleSl8fHRoaXMuaXRlbXMucHVzaCh0KX1nZXQoZSx0KXtsZXQgcj1JdCh0aGlzLml0ZW1zLGUpO3JldHVybiF0JiZIKHIpP0soci5rZXkpP3Iua2V5LnZhbHVlOnIua2V5OnJ9c2V0KGUsdCl7aWYodHlwZW9mIHQhPVxcXCJib29sZWFuXFxcIil0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGJvb2xlYW4gdmFsdWUgZm9yIHNldChrZXksIHZhbHVlKSBpbiBhIFlBTUwgc2V0LCBub3QgJHt0eXBlb2YgdH1gKTtsZXQgcj1JdCh0aGlzLml0ZW1zLGUpO3ImJiF0P3RoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihyKSwxKTohciYmdCYmdGhpcy5pdGVtcy5wdXNoKG5ldyBpZShlKSl9dG9KU09OKGUsdCl7cmV0dXJuIHN1cGVyLnRvSlNPTihlLHQsU2V0KX10b1N0cmluZyhlLHQscil7aWYoIWUpcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMpO2lmKHRoaXMuaGFzQWxsTnVsbFZhbHVlcyghMCkpcmV0dXJuIHN1cGVyLnRvU3RyaW5nKE9iamVjdC5hc3NpZ24oe30sZSx7YWxsTnVsbFZhbHVlczohMH0pLHQscik7dGhyb3cgbmV3IEVycm9yKFxcXCJTZXQgaXRlbXMgbXVzdCBhbGwgaGF2ZSBudWxsIHZhbHVlc1xcXCIpfXN0YXRpYyBmcm9tKGUsdCxyKXtsZXR7cmVwbGFjZXI6c309cixpPW5ldyB0aGlzKGUpO2lmKHQmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpZm9yKGxldCBvIG9mIHQpdHlwZW9mIHM9PVxcXCJmdW5jdGlvblxcXCImJihvPXMuY2FsbCh0LG8sbykpLGkuaXRlbXMucHVzaCh2bihvLG51bGwscikpO3JldHVybiBpfX07eG4udGFnPVxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXRcXFwiO3ZhciBTcj17Y29sbGVjdGlvbjpcXFwibWFwXFxcIixpZGVudGlmeTpuPT5uIGluc3RhbmNlb2YgU2V0LG5vZGVDbGFzczp4bixkZWZhdWx0OiExLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6c2V0XFxcIixjcmVhdGVOb2RlOihuLGUsdCk9PnhuLmZyb20obixlLHQpLHJlc29sdmUobixlKXtpZihIZShuKSl7aWYobi5oYXNBbGxOdWxsVmFsdWVzKCEwKSlyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgeG4sbik7ZShcXFwiU2V0IGl0ZW1zIG11c3QgYWxsIGhhdmUgbnVsbCB2YWx1ZXNcXFwiKX1lbHNlIGUoXFxcIkV4cGVjdGVkIGEgbWFwcGluZyBmb3IgdGhpcyB0YWdcXFwiKTtyZXR1cm4gbn19O2Z1bmN0aW9uIFlpKG4sZSl7bGV0IHQ9blswXSxyPXQ9PT1cXFwiLVxcXCJ8fHQ9PT1cXFwiK1xcXCI/bi5zdWJzdHJpbmcoMSk6bixzPW89PmU/QmlnSW50KG8pOk51bWJlcihvKSxpPXIucmVwbGFjZSgvXy9nLFxcXCJcXFwiKS5zcGxpdChcXFwiOlxcXCIpLnJlZHVjZSgobyxhKT0+bypzKDYwKStzKGEpLHMoMCkpO3JldHVybiB0PT09XFxcIi1cXFwiP3MoLTEpKmk6aX1mdW5jdGlvbiBkdShuKXtsZXR7dmFsdWU6ZX09bix0PW89Pm87aWYodHlwZW9mIGU9PVxcXCJiaWdpbnRcXFwiKXQ9bz0+QmlnSW50KG8pO2Vsc2UgaWYoaXNOYU4oZSl8fCFpc0Zpbml0ZShlKSlyZXR1cm4gRmUobik7bGV0IHI9XFxcIlxcXCI7ZTwwJiYocj1cXFwiLVxcXCIsZSo9dCgtMSkpO2xldCBzPXQoNjApLGk9W2Ulc107cmV0dXJuIGU8NjA/aS51bnNoaWZ0KDApOihlPShlLWlbMF0pL3MsaS51bnNoaWZ0KGUlcyksZT49NjAmJihlPShlLWlbMF0pL3MsaS51bnNoaWZ0KGUpKSkscitpLm1hcChvPT5TdHJpbmcobykucGFkU3RhcnQoMixcXFwiMFxcXCIpKS5qb2luKFxcXCI6XFxcIikucmVwbGFjZSgvMDAwMDAwXFxcXGQqJC8sXFxcIlxcXCIpfXZhciB4cz17aWRlbnRpZnk6bj0+dHlwZW9mIG49PVxcXCJiaWdpbnRcXFwifHxOdW1iZXIuaXNJbnRlZ2VyKG4pLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcXFwiLGZvcm1hdDpcXFwiVElNRVxcXCIsdGVzdDovXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKSskLyxyZXNvbHZlOihuLGUse2ludEFzQmlnSW50OnR9KT0+WWkobix0KSxzdHJpbmdpZnk6ZHV9LElzPXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcIm51bWJlclxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XFxcIixmb3JtYXQ6XFxcIlRJTUVcXFwiLHRlc3Q6L15bLStdP1swLTldWzAtOV9dKig/OjpbMC01XT9bMC05XSkrXFxcXC5bMC05X10qJC8scmVzb2x2ZTpuPT5ZaShuLCExKSxzdHJpbmdpZnk6ZHV9LEluPXtpZGVudGlmeTpuPT5uIGluc3RhbmNlb2YgRGF0ZSxkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6dGltZXN0YW1wXFxcIix0ZXN0OlJlZ0V4cChcXFwiXihbMC05XXs0fSktKFswLTldezEsMn0pLShbMC05XXsxLDJ9KSg/Oig/OnR8VHxbIFxcXFxcXFxcdF0rKShbMC05XXsxLDJ9KTooWzAtOV17MSwyfSk6KFswLTldezEsMn0oXFxcXFxcXFwuWzAtOV0rKT8pKD86WyBcXFxcXFxcXHRdKihafFstK11bMDEyXT9bMC05XSg/OjpbMC05XXsyfSk/KSk/KT8kXFxcIikscmVzb2x2ZShuKXtsZXQgZT1uLm1hdGNoKEluLnRlc3QpO2lmKCFlKXRocm93IG5ldyBFcnJvcihcXFwiISF0aW1lc3RhbXAgZXhwZWN0cyBhIGRhdGUsIHN0YXJ0aW5nIHdpdGggeXl5eS1tbS1kZFxcXCIpO2xldFssdCxyLHMsaSxvLGFdPWUubWFwKE51bWJlciksdT1lWzddP051bWJlcigoZVs3XStcXFwiMDBcXFwiKS5zdWJzdHIoMSwzKSk6MCxsPURhdGUuVVRDKHQsci0xLHMsaXx8MCxvfHwwLGF8fDAsdSksZj1lWzhdO2lmKGYmJmYhPT1cXFwiWlxcXCIpe2xldCBkPVlpKGYsITEpO01hdGguYWJzKGQpPDMwJiYoZCo9NjApLGwtPTZlNCpkfXJldHVybiBuZXcgRGF0ZShsKX0sc3RyaW5naWZ5Oih7dmFsdWU6bn0pPT5uLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvKChUMDA6MDApPzowMCk/XFxcXC4wMDBaJC8sXFxcIlxcXCIpfTt2YXIgR2k9W0dlLFplLEx0LEh0LEhpLEppLHV1LGx1LGN1LGZ1LGl1LG91LGF1LEZyLFllLHdyLEVyLFNyLHhzLElzLEluXTt2YXIgaHU9bmV3IE1hcChbW1xcXCJjb3JlXFxcIix0dV0sW1xcXCJmYWlsc2FmZVxcXCIsW0dlLFplLEx0XV0sW1xcXCJqc29uXFxcIixydV0sW1xcXCJ5YW1sMTFcXFwiLEdpXSxbXFxcInlhbWwtMS4xXFxcIixHaV1dKSxwdT17YmluYXJ5OkZyLGJvb2w6YnIsZmxvYXQ6d3MsZmxvYXRFeHA6RXMsZmxvYXROYU46RnMsZmxvYXRUaW1lOklzLGludDprcyxpbnRIZXg6Q3MsaW50T2N0OlNzLGludFRpbWU6eHMsbWFwOkdlLG1lcmdlOlllLG51bGw6SHQsb21hcDp3cixwYWlyczpFcixzZXE6WmUsc2V0OlNyLHRpbWVzdGFtcDpJbn0sbXU9e1xcXCJ0YWc6eWFtbC5vcmcsMjAwMjpiaW5hcnlcXFwiOkZyLFxcXCJ0YWc6eWFtbC5vcmcsMjAwMjptZXJnZVxcXCI6WWUsXFxcInRhZzp5YW1sLm9yZywyMDAyOm9tYXBcXFwiOndyLFxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpwYWlyc1xcXCI6RXIsXFxcInRhZzp5YW1sLm9yZywyMDAyOnNldFxcXCI6U3IsXFxcInRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcFxcXCI6SW59O2Z1bmN0aW9uIExzKG4sZSx0KXtsZXQgcj1odS5nZXQoZSk7aWYociYmIW4pcmV0dXJuIHQmJiFyLmluY2x1ZGVzKFllKT9yLmNvbmNhdChZZSk6ci5zbGljZSgpO2xldCBzPXI7aWYoIXMpaWYoQXJyYXkuaXNBcnJheShuKSlzPVtdO2Vsc2V7bGV0IGk9QXJyYXkuZnJvbShodS5rZXlzKCkpLmZpbHRlcihvPT5vIT09XFxcInlhbWwxMVxcXCIpLm1hcChvPT5KU09OLnN0cmluZ2lmeShvKSkuam9pbihcXFwiLCBcXFwiKTt0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc2NoZW1hIFxcXCIke2V9XFxcIjsgdXNlIG9uZSBvZiAke2l9IG9yIGRlZmluZSBjdXN0b21UYWdzIGFycmF5YCl9aWYoQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IGkgb2YgbilzPXMuY29uY2F0KGkpO2Vsc2UgdHlwZW9mIG49PVxcXCJmdW5jdGlvblxcXCImJihzPW4ocy5zbGljZSgpKSk7cmV0dXJuIHQmJihzPXMuY29uY2F0KFllKSkscy5yZWR1Y2UoKGksbyk9PntsZXQgYT10eXBlb2Ygbz09XFxcInN0cmluZ1xcXCI/cHVbb106bztpZighYSl7bGV0IHU9SlNPTi5zdHJpbmdpZnkobyksbD1PYmplY3Qua2V5cyhwdSkubWFwKGY9PkpTT04uc3RyaW5naWZ5KGYpKS5qb2luKFxcXCIsIFxcXCIpO3Rocm93IG5ldyBFcnJvcihgVW5rbm93biBjdXN0b20gdGFnICR7dX07IHVzZSBvbmUgb2YgJHtsfWApfXJldHVybiBpLmluY2x1ZGVzKGEpfHxpLnB1c2goYSksaX0sW10pfXZhciBzZj0obixlKT0+bi5rZXk8ZS5rZXk/LTE6bi5rZXk+ZS5rZXk/MTowLGtyPWNsYXNzIG57Y29uc3RydWN0b3Ioe2NvbXBhdDplLGN1c3RvbVRhZ3M6dCxtZXJnZTpyLHJlc29sdmVLbm93blRhZ3M6cyxzY2hlbWE6aSxzb3J0TWFwRW50cmllczpvLHRvU3RyaW5nRGVmYXVsdHM6YX0pe3RoaXMuY29tcGF0PUFycmF5LmlzQXJyYXkoZSk/THMoZSxcXFwiY29tcGF0XFxcIik6ZT9McyhudWxsLGUpOm51bGwsdGhpcy5uYW1lPXR5cGVvZiBpPT1cXFwic3RyaW5nXFxcIiYmaXx8XFxcImNvcmVcXFwiLHRoaXMua25vd25UYWdzPXM/bXU6e30sdGhpcy50YWdzPUxzKHQsdGhpcy5uYW1lLHIpLHRoaXMudG9TdHJpbmdPcHRpb25zPWEhPW51bGw/YTpudWxsLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLEtlLHt2YWx1ZTpHZX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLEllLHt2YWx1ZTpMdH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLEZ0LHt2YWx1ZTpaZX0pLHRoaXMuc29ydE1hcEVudHJpZXM9dHlwZW9mIG89PVxcXCJmdW5jdGlvblxcXCI/bzpvPT09ITA/c2Y6bnVsbH1jbG9uZSgpe2xldCBlPU9iamVjdC5jcmVhdGUobi5wcm90b3R5cGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO3JldHVybiBlLnRhZ3M9dGhpcy50YWdzLnNsaWNlKCksZX19O2Z1bmN0aW9uIER1KG4sZSl7dmFyIHU7bGV0IHQ9W10scj1lLmRpcmVjdGl2ZXM9PT0hMDtpZihlLmRpcmVjdGl2ZXMhPT0hMSYmbi5kaXJlY3RpdmVzKXtsZXQgbD1uLmRpcmVjdGl2ZXMudG9TdHJpbmcobik7bD8odC5wdXNoKGwpLHI9ITApOm4uZGlyZWN0aXZlcy5kb2NTdGFydCYmKHI9ITApfXImJnQucHVzaChcXFwiLS0tXFxcIik7bGV0IHM9aHMobixlKSx7Y29tbWVudFN0cmluZzppfT1zLm9wdGlvbnM7aWYobi5jb21tZW50QmVmb3JlKXt0Lmxlbmd0aCE9PTEmJnQudW5zaGlmdChcXFwiXFxcIik7bGV0IGw9aShuLmNvbW1lbnRCZWZvcmUpO3QudW5zaGlmdChQZShsLFxcXCJcXFwiKSl9bGV0IG89ITEsYT1udWxsO2lmKG4uY29udGVudHMpe2lmKEoobi5jb250ZW50cykpe2lmKG4uY29udGVudHMuc3BhY2VCZWZvcmUmJnImJnQucHVzaChcXFwiXFxcIiksbi5jb250ZW50cy5jb21tZW50QmVmb3JlKXtsZXQgZD1pKG4uY29udGVudHMuY29tbWVudEJlZm9yZSk7dC5wdXNoKFBlKGQsXFxcIlxcXCIpKX1zLmZvcmNlQmxvY2tJbmRlbnQ9ISFuLmNvbW1lbnQsYT1uLmNvbnRlbnRzLmNvbW1lbnR9bGV0IGw9YT92b2lkIDA6KCk9Pm89ITAsZj1UdChuLmNvbnRlbnRzLHMsKCk9PmE9bnVsbCxsKTthJiYoZis9b3QoZixcXFwiXFxcIixpKGEpKSksKGZbMF09PT1cXFwifFxcXCJ8fGZbMF09PT1cXFwiPlxcXCIpJiZ0W3QubGVuZ3RoLTFdPT09XFxcIi0tLVxcXCI/dFt0Lmxlbmd0aC0xXT1gLS0tICR7Zn1gOnQucHVzaChmKX1lbHNlIHQucHVzaChUdChuLmNvbnRlbnRzLHMpKTtpZigodT1uLmRpcmVjdGl2ZXMpIT1udWxsJiZ1LmRvY0VuZClpZihuLmNvbW1lbnQpe2xldCBsPWkobi5jb21tZW50KTtsLmluY2x1ZGVzKGBcXG5gKT8odC5wdXNoKFxcXCIuLi5cXFwiKSx0LnB1c2goUGUobCxcXFwiXFxcIikpKTp0LnB1c2goYC4uLiAke2x9YCl9ZWxzZSB0LnB1c2goXFxcIi4uLlxcXCIpO2Vsc2V7bGV0IGw9bi5jb21tZW50O2wmJm8mJihsPWwucmVwbGFjZSgvXlxcXFxuKy8sXFxcIlxcXCIpKSxsJiYoKCFvfHxhKSYmdFt0Lmxlbmd0aC0xXSE9PVxcXCJcXFwiJiZ0LnB1c2goXFxcIlxcXCIpLHQucHVzaChQZShpKGwpLFxcXCJcXFwiKSkpfXJldHVybiB0LmpvaW4oYFxcbmApK2BcXG5gfXZhciBOdD1jbGFzcyBue2NvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmNvbW1lbnRCZWZvcmU9bnVsbCx0aGlzLmNvbW1lbnQ9bnVsbCx0aGlzLmVycm9ycz1bXSx0aGlzLndhcm5pbmdzPVtdLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFRlLHt2YWx1ZTpzc30pO2xldCBzPW51bGw7dHlwZW9mIHQ9PVxcXCJmdW5jdGlvblxcXCJ8fEFycmF5LmlzQXJyYXkodCk/cz10OnI9PT12b2lkIDAmJnQmJihyPXQsdD12b2lkIDApO2xldCBpPU9iamVjdC5hc3NpZ24oe2ludEFzQmlnSW50OiExLGtlZXBTb3VyY2VUb2tlbnM6ITEsbG9nTGV2ZWw6XFxcIndhcm5cXFwiLHByZXR0eUVycm9yczohMCxzdHJpY3Q6ITAsc3RyaW5nS2V5czohMSx1bmlxdWVLZXlzOiEwLHZlcnNpb246XFxcIjEuMlxcXCJ9LHIpO3RoaXMub3B0aW9ucz1pO2xldHt2ZXJzaW9uOm99PWk7ciE9bnVsbCYmci5fZGlyZWN0aXZlcz8odGhpcy5kaXJlY3RpdmVzPXIuX2RpcmVjdGl2ZXMuYXREb2N1bWVudCgpLHRoaXMuZGlyZWN0aXZlcy55YW1sLmV4cGxpY2l0JiYobz10aGlzLmRpcmVjdGl2ZXMueWFtbC52ZXJzaW9uKSk6dGhpcy5kaXJlY3RpdmVzPW5ldyBpdCh7dmVyc2lvbjpvfSksdGhpcy5zZXRTY2hlbWEobyxyKSx0aGlzLmNvbnRlbnRzPWU9PT12b2lkIDA/bnVsbDp0aGlzLmNyZWF0ZU5vZGUoZSxzLHIpfWNsb25lKCl7bGV0IGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSx7W1RlXTp7dmFsdWU6c3N9fSk7cmV0dXJuIGUuY29tbWVudEJlZm9yZT10aGlzLmNvbW1lbnRCZWZvcmUsZS5jb21tZW50PXRoaXMuY29tbWVudCxlLmVycm9ycz10aGlzLmVycm9ycy5zbGljZSgpLGUud2FybmluZ3M9dGhpcy53YXJuaW5ncy5zbGljZSgpLGUub3B0aW9ucz1PYmplY3QuYXNzaWduKHt9LHRoaXMub3B0aW9ucyksdGhpcy5kaXJlY3RpdmVzJiYoZS5kaXJlY3RpdmVzPXRoaXMuZGlyZWN0aXZlcy5jbG9uZSgpKSxlLnNjaGVtYT10aGlzLnNjaGVtYS5jbG9uZSgpLGUuY29udGVudHM9Sih0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmNsb25lKGUuc2NoZW1hKTp0aGlzLmNvbnRlbnRzLHRoaXMucmFuZ2UmJihlLnJhbmdlPXRoaXMucmFuZ2Uuc2xpY2UoKSksZX1hZGQoZSl7TG4odGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuYWRkKGUpfWFkZEluKGUsdCl7TG4odGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuYWRkSW4oZSx0KX1jcmVhdGVBbGlhcyhlLHQpe2lmKCFlLmFuY2hvcil7bGV0IHI9QmkodGhpcyk7ZS5hbmNob3I9IXR8fHIuaGFzKHQpP1BpKHR8fFxcXCJhXFxcIixyKTp0fXJldHVybiBuZXcgRXQoZS5hbmNob3IpfWNyZWF0ZU5vZGUoZSx0LHIpe2xldCBzO2lmKHR5cGVvZiB0PT1cXFwiZnVuY3Rpb25cXFwiKWU9dC5jYWxsKHtcXFwiXFxcIjplfSxcXFwiXFxcIixlKSxzPXQ7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXtsZXQgRD1JPT50eXBlb2YgST09XFxcIm51bWJlclxcXCJ8fEkgaW5zdGFuY2VvZiBTdHJpbmd8fEkgaW5zdGFuY2VvZiBOdW1iZXIsVD10LmZpbHRlcihEKS5tYXAoU3RyaW5nKTtULmxlbmd0aD4wJiYodD10LmNvbmNhdChUKSkscz10fWVsc2Ugcj09PXZvaWQgMCYmdCYmKHI9dCx0PXZvaWQgMCk7bGV0e2FsaWFzRHVwbGljYXRlT2JqZWN0czppLGFuY2hvclByZWZpeDpvLGZsb3c6YSxrZWVwVW5kZWZpbmVkOnUsb25UYWdPYmo6bCx0YWc6Zn09ciE9bnVsbD9yOnt9LHtvbkFuY2hvcjpkLHNldEFuY2hvcnM6cCxzb3VyY2VPYmplY3RzOmh9PVlhKHRoaXMsb3x8XFxcImFcXFwiKSxiPXthbGlhc0R1cGxpY2F0ZU9iamVjdHM6aSE9bnVsbD9pOiEwLGtlZXBVbmRlZmluZWQ6dSE9bnVsbD91OiExLG9uQW5jaG9yOmQsb25UYWdPYmo6bCxyZXBsYWNlcjpzLHNjaGVtYTp0aGlzLnNjaGVtYSxzb3VyY2VPYmplY3RzOmh9LGc9d3QoZSxmLGIpO3JldHVybiBhJiZaKGcpJiYoZy5mbG93PSEwKSxwKCksZ31jcmVhdGVQYWlyKGUsdCxyPXt9KXtsZXQgcz10aGlzLmNyZWF0ZU5vZGUoZSxudWxsLHIpLGk9dGhpcy5jcmVhdGVOb2RlKHQsbnVsbCxyKTtyZXR1cm4gbmV3IGllKHMsaSl9ZGVsZXRlKGUpe3JldHVybiBMbih0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmRlbGV0ZShlKTohMX1kZWxldGVJbihlKXtyZXR1cm4ga24oZSk/dGhpcy5jb250ZW50cz09bnVsbD8hMToodGhpcy5jb250ZW50cz1udWxsLCEwKTpMbih0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmRlbGV0ZUluKGUpOiExfWdldChlLHQpe3JldHVybiBaKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuZ2V0KGUsdCk6dm9pZCAwfWdldEluKGUsdCl7cmV0dXJuIGtuKGUpPyF0JiZLKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMudmFsdWU6dGhpcy5jb250ZW50czpaKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuZ2V0SW4oZSx0KTp2b2lkIDB9aGFzKGUpe3JldHVybiBaKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuaGFzKGUpOiExfWhhc0luKGUpe3JldHVybiBrbihlKT90aGlzLmNvbnRlbnRzIT09dm9pZCAwOloodGhpcy5jb250ZW50cyk/dGhpcy5jb250ZW50cy5oYXNJbihlKTohMX1zZXQoZSx0KXt0aGlzLmNvbnRlbnRzPT1udWxsP3RoaXMuY29udGVudHM9bXIodGhpcy5zY2hlbWEsW2VdLHQpOkxuKHRoaXMuY29udGVudHMpJiZ0aGlzLmNvbnRlbnRzLnNldChlLHQpfXNldEluKGUsdCl7a24oZSk/dGhpcy5jb250ZW50cz10OnRoaXMuY29udGVudHM9PW51bGw/dGhpcy5jb250ZW50cz1tcih0aGlzLnNjaGVtYSxBcnJheS5mcm9tKGUpLHQpOkxuKHRoaXMuY29udGVudHMpJiZ0aGlzLmNvbnRlbnRzLnNldEluKGUsdCl9c2V0U2NoZW1hKGUsdD17fSl7dHlwZW9mIGU9PVxcXCJudW1iZXJcXFwiJiYoZT1TdHJpbmcoZSkpO2xldCByO3N3aXRjaChlKXtjYXNlXFxcIjEuMVxcXCI6dGhpcy5kaXJlY3RpdmVzP3RoaXMuZGlyZWN0aXZlcy55YW1sLnZlcnNpb249XFxcIjEuMVxcXCI6dGhpcy5kaXJlY3RpdmVzPW5ldyBpdCh7dmVyc2lvbjpcXFwiMS4xXFxcIn0pLHI9e3Jlc29sdmVLbm93blRhZ3M6ITEsc2NoZW1hOlxcXCJ5YW1sLTEuMVxcXCJ9O2JyZWFrO2Nhc2VcXFwiMS4yXFxcIjpjYXNlXFxcIm5leHRcXFwiOnRoaXMuZGlyZWN0aXZlcz90aGlzLmRpcmVjdGl2ZXMueWFtbC52ZXJzaW9uPWU6dGhpcy5kaXJlY3RpdmVzPW5ldyBpdCh7dmVyc2lvbjplfSkscj17cmVzb2x2ZUtub3duVGFnczohMCxzY2hlbWE6XFxcImNvcmVcXFwifTticmVhaztjYXNlIG51bGw6dGhpcy5kaXJlY3RpdmVzJiZkZWxldGUgdGhpcy5kaXJlY3RpdmVzLHI9bnVsbDticmVhaztkZWZhdWx0OntsZXQgcz1KU09OLnN0cmluZ2lmeShlKTt0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICcxLjEnLCAnMS4yJyBvciBudWxsIGFzIGZpcnN0IGFyZ3VtZW50LCBidXQgZm91bmQ6ICR7c31gKX19aWYodC5zY2hlbWEgaW5zdGFuY2VvZiBPYmplY3QpdGhpcy5zY2hlbWE9dC5zY2hlbWE7ZWxzZSBpZihyKXRoaXMuc2NoZW1hPW5ldyBrcihPYmplY3QuYXNzaWduKHIsdCkpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKFxcXCJXaXRoIGEgbnVsbCBZQU1MIHZlcnNpb24sIHRoZSB7IHNjaGVtYTogU2NoZW1hIH0gb3B0aW9uIGlzIHJlcXVpcmVkXFxcIil9dG9KUyh7anNvbjplLGpzb25Bcmc6dCxtYXBBc01hcDpyLG1heEFsaWFzQ291bnQ6cyxvbkFuY2hvcjppLHJldml2ZXI6b309e30pe2xldCBhPXthbmNob3JzOm5ldyBNYXAsZG9jOnRoaXMsa2VlcDohZSxtYXBBc01hcDpyPT09ITAsbWFwS2V5V2FybmVkOiExLG1heEFsaWFzQ291bnQ6dHlwZW9mIHM9PVxcXCJudW1iZXJcXFwiP3M6MTAwfSx1PWNlKHRoaXMuY29udGVudHMsdCE9bnVsbD90OlxcXCJcXFwiLGEpO2lmKHR5cGVvZiBpPT1cXFwiZnVuY3Rpb25cXFwiKWZvcihsZXR7Y291bnQ6bCxyZXM6Zn1vZiBhLmFuY2hvcnMudmFsdWVzKCkpaShmLGwpO3JldHVybiB0eXBlb2Ygbz09XFxcImZ1bmN0aW9uXFxcIj9PdChvLHtcXFwiXFxcIjp1fSxcXFwiXFxcIix1KTp1fXRvSlNPTihlLHQpe3JldHVybiB0aGlzLnRvSlMoe2pzb246ITAsanNvbkFyZzplLG1hcEFzTWFwOiExLG9uQW5jaG9yOnR9KX10b1N0cmluZyhlPXt9KXtpZih0aGlzLmVycm9ycy5sZW5ndGg+MCl0aHJvdyBuZXcgRXJyb3IoXFxcIkRvY3VtZW50IHdpdGggZXJyb3JzIGNhbm5vdCBiZSBzdHJpbmdpZmllZFxcXCIpO2lmKFxcXCJpbmRlbnRcXFwiaW4gZSYmKCFOdW1iZXIuaXNJbnRlZ2VyKGUuaW5kZW50KXx8TnVtYmVyKGUuaW5kZW50KTw9MCkpe2xldCB0PUpTT04uc3RyaW5naWZ5KGUuaW5kZW50KTt0aHJvdyBuZXcgRXJyb3IoYFxcXCJpbmRlbnRcXFwiIG9wdGlvbiBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgbm90ICR7dH1gKX1yZXR1cm4gRHUodGhpcyxlKX19O2Z1bmN0aW9uIExuKG4pe2lmKFoobikpcmV0dXJuITA7dGhyb3cgbmV3IEVycm9yKFxcXCJFeHBlY3RlZCBhIFlBTUwgY29sbGVjdGlvbiBhcyBkb2N1bWVudCBjb250ZW50c1xcXCIpfXZhciBDcj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCxyLHMpe3N1cGVyKCksdGhpcy5uYW1lPWUsdGhpcy5jb2RlPXIsdGhpcy5tZXNzYWdlPXMsdGhpcy5wb3M9dH19LFFlPWNsYXNzIGV4dGVuZHMgQ3J7Y29uc3RydWN0b3IoZSx0LHIpe3N1cGVyKFxcXCJZQU1MUGFyc2VFcnJvclxcXCIsZSx0LHIpfX0sdnI9Y2xhc3MgZXh0ZW5kcyBDcntjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoXFxcIllBTUxXYXJuaW5nXFxcIixlLHQscil9fSxaaT0obixlKT0+dD0+e2lmKHQucG9zWzBdPT09LTEpcmV0dXJuO3QubGluZVBvcz10LnBvcy5tYXAoYT0+ZS5saW5lUG9zKGEpKTtsZXR7bGluZTpyLGNvbDpzfT10LmxpbmVQb3NbMF07dC5tZXNzYWdlKz1gIGF0IGxpbmUgJHtyfSwgY29sdW1uICR7c31gO2xldCBpPXMtMSxvPW4uc3Vic3RyaW5nKGUubGluZVN0YXJ0c1tyLTFdLGUubGluZVN0YXJ0c1tyXSkucmVwbGFjZSgvW1xcXFxuXFxcXHJdKyQvLFxcXCJcXFwiKTtpZihpPj02MCYmby5sZW5ndGg+ODApe2xldCBhPU1hdGgubWluKGktMzksby5sZW5ndGgtNzkpO289XFxcIlxcXFx1MjAyNlxcXCIrby5zdWJzdHJpbmcoYSksaS09YS0xfWlmKG8ubGVuZ3RoPjgwJiYobz1vLnN1YnN0cmluZygwLDc5KStcXFwiXFxcXHUyMDI2XFxcIikscj4xJiYvXiAqJC8udGVzdChvLnN1YnN0cmluZygwLGkpKSl7bGV0IGE9bi5zdWJzdHJpbmcoZS5saW5lU3RhcnRzW3ItMl0sZS5saW5lU3RhcnRzW3ItMV0pO2EubGVuZ3RoPjgwJiYoYT1hLnN1YnN0cmluZygwLDc5KStgXFxcXHUyMDI2XFxuYCksbz1hK299aWYoL1teIF0vLnRlc3Qobykpe2xldCBhPTEsdT10LmxpbmVQb3NbMV07dSYmdS5saW5lPT09ciYmdS5jb2w+cyYmKGE9TWF0aC5tYXgoMSxNYXRoLm1pbih1LmNvbC1zLDgwLWkpKSk7bGV0IGw9XFxcIiBcXFwiLnJlcGVhdChpKStcXFwiXlxcXCIucmVwZWF0KGEpO3QubWVzc2FnZSs9YDpcXG5cXG4ke299XFxuJHtsfVxcbmB9fTtmdW5jdGlvbiBhdChuLHtmbG93OmUsaW5kaWNhdG9yOnQsbmV4dDpyLG9mZnNldDpzLG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6byxzdGFydE9uTmV3bGluZTphfSl7bGV0IHU9ITEsbD1hLGY9YSxkPVxcXCJcXFwiLHA9XFxcIlxcXCIsaD0hMSxiPSExLGc9bnVsbCxEPW51bGwsVD1udWxsLEk9bnVsbCxOPW51bGwseT1udWxsLHc9bnVsbDtmb3IobGV0IEMgb2Ygbilzd2l0Y2goYiYmKEMudHlwZSE9PVxcXCJzcGFjZVxcXCImJkMudHlwZSE9PVxcXCJuZXdsaW5lXFxcIiYmQy50eXBlIT09XFxcImNvbW1hXFxcIiYmaShDLm9mZnNldCxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiVGFncyBhbmQgYW5jaG9ycyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIHRoZSBuZXh0IHRva2VuIGJ5IHdoaXRlIHNwYWNlXFxcIiksYj0hMSksZyYmKGwmJkMudHlwZSE9PVxcXCJjb21tZW50XFxcIiYmQy50eXBlIT09XFxcIm5ld2xpbmVcXFwiJiZpKGcsXFxcIlRBQl9BU19JTkRFTlRcXFwiLFxcXCJUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvblxcXCIpLGc9bnVsbCksQy50eXBlKXtjYXNlXFxcInNwYWNlXFxcIjohZSYmKHQhPT1cXFwiZG9jLXN0YXJ0XFxcInx8KHI9PW51bGw/dm9pZCAwOnIudHlwZSkhPT1cXFwiZmxvdy1jb2xsZWN0aW9uXFxcIikmJkMuc291cmNlLmluY2x1ZGVzKFxcXCJcXHRcXFwiKSYmKGc9QyksZj0hMDticmVhaztjYXNlXFxcImNvbW1lbnRcXFwiOntmfHxpKEMsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIkNvbW1lbnRzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gb3RoZXIgdG9rZW5zIGJ5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnNcXFwiKTtsZXQgVj1DLnNvdXJjZS5zdWJzdHJpbmcoMSl8fFxcXCIgXFxcIjtkP2QrPXArVjpkPVYscD1cXFwiXFxcIixsPSExO2JyZWFrfWNhc2VcXFwibmV3bGluZVxcXCI6bD9kP2QrPUMuc291cmNlOnU9ITA6cCs9Qy5zb3VyY2UsbD0hMCxoPSEwLChEfHxUKSYmKEk9QyksZj0hMDticmVhaztjYXNlXFxcImFuY2hvclxcXCI6RCYmaShDLFxcXCJNVUxUSVBMRV9BTkNIT1JTXFxcIixcXFwiQSBub2RlIGNhbiBoYXZlIGF0IG1vc3Qgb25lIGFuY2hvclxcXCIpLEMuc291cmNlLmVuZHNXaXRoKFxcXCI6XFxcIikmJmkoQy5vZmZzZXQrQy5zb3VyY2UubGVuZ3RoLTEsXFxcIkJBRF9BTElBU1xcXCIsXFxcIkFuY2hvciBlbmRpbmcgaW4gOiBpcyBhbWJpZ3VvdXNcXFwiLCEwKSxEPUMsdz09PW51bGwmJih3PUMub2Zmc2V0KSxsPSExLGY9ITEsYj0hMDticmVhaztjYXNlXFxcInRhZ1xcXCI6e1QmJmkoQyxcXFwiTVVMVElQTEVfVEFHU1xcXCIsXFxcIkEgbm9kZSBjYW4gaGF2ZSBhdCBtb3N0IG9uZSB0YWdcXFwiKSxUPUMsdz09PW51bGwmJih3PUMub2Zmc2V0KSxsPSExLGY9ITEsYj0hMDticmVha31jYXNlIHQ6KER8fFQpJiZpKEMsXFxcIkJBRF9QUk9QX09SREVSXFxcIixgQW5jaG9ycyBhbmQgdGFncyBtdXN0IGJlIGFmdGVyIHRoZSAke0Muc291cmNlfSBpbmRpY2F0b3JgKSx5JiZpKEMsXFxcIlVORVhQRUNURURfVE9LRU5cXFwiLGBVbmV4cGVjdGVkICR7Qy5zb3VyY2V9IGluICR7ZSE9bnVsbD9lOlxcXCJjb2xsZWN0aW9uXFxcIn1gKSx5PUMsbD10PT09XFxcInNlcS1pdGVtLWluZFxcXCJ8fHQ9PT1cXFwiZXhwbGljaXQta2V5LWluZFxcXCIsZj0hMTticmVhaztjYXNlXFxcImNvbW1hXFxcIjppZihlKXtOJiZpKEMsXFxcIlVORVhQRUNURURfVE9LRU5cXFwiLGBVbmV4cGVjdGVkICwgaW4gJHtlfWApLE49QyxsPSExLGY9ITE7YnJlYWt9ZGVmYXVsdDppKEMsXFxcIlVORVhQRUNURURfVE9LRU5cXFwiLGBVbmV4cGVjdGVkICR7Qy50eXBlfSB0b2tlbmApLGw9ITEsZj0hMX1sZXQgdj1uW24ubGVuZ3RoLTFdLE89dj92Lm9mZnNldCt2LnNvdXJjZS5sZW5ndGg6cztyZXR1cm4gYiYmciYmci50eXBlIT09XFxcInNwYWNlXFxcIiYmci50eXBlIT09XFxcIm5ld2xpbmVcXFwiJiZyLnR5cGUhPT1cXFwiY29tbWFcXFwiJiYoci50eXBlIT09XFxcInNjYWxhclxcXCJ8fHIuc291cmNlIT09XFxcIlxcXCIpJiZpKHIub2Zmc2V0LFxcXCJNSVNTSU5HX0NIQVJcXFwiLFxcXCJUYWdzIGFuZCBhbmNob3JzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gdGhlIG5leHQgdG9rZW4gYnkgd2hpdGUgc3BhY2VcXFwiKSxnJiYobCYmZy5pbmRlbnQ8PW98fChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XFxcImJsb2NrLW1hcFxcXCJ8fChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XFxcImJsb2NrLXNlcVxcXCIpJiZpKGcsXFxcIlRBQl9BU19JTkRFTlRcXFwiLFxcXCJUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvblxcXCIpLHtjb21tYTpOLGZvdW5kOnksc3BhY2VCZWZvcmU6dSxjb21tZW50OmQsaGFzTmV3bGluZTpoLGFuY2hvcjpELHRhZzpULG5ld2xpbmVBZnRlclByb3A6SSxlbmQ6TyxzdGFydDp3IT1udWxsP3c6T319ZnVuY3Rpb24gQXQobil7aWYoIW4pcmV0dXJuIG51bGw7c3dpdGNoKG4udHlwZSl7Y2FzZVxcXCJhbGlhc1xcXCI6Y2FzZVxcXCJzY2FsYXJcXFwiOmNhc2VcXFwiZG91YmxlLXF1b3RlZC1zY2FsYXJcXFwiOmNhc2VcXFwic2luZ2xlLXF1b3RlZC1zY2FsYXJcXFwiOmlmKG4uc291cmNlLmluY2x1ZGVzKGBcXG5gKSlyZXR1cm4hMDtpZihuLmVuZCl7Zm9yKGxldCBlIG9mIG4uZW5kKWlmKGUudHlwZT09PVxcXCJuZXdsaW5lXFxcIilyZXR1cm4hMH1yZXR1cm4hMTtjYXNlXFxcImZsb3ctY29sbGVjdGlvblxcXCI6Zm9yKGxldCBlIG9mIG4uaXRlbXMpe2ZvcihsZXQgdCBvZiBlLnN0YXJ0KWlmKHQudHlwZT09PVxcXCJuZXdsaW5lXFxcIilyZXR1cm4hMDtpZihlLnNlcCl7Zm9yKGxldCB0IG9mIGUuc2VwKWlmKHQudHlwZT09PVxcXCJuZXdsaW5lXFxcIilyZXR1cm4hMH1pZihBdChlLmtleSl8fEF0KGUudmFsdWUpKXJldHVybiEwfXJldHVybiExO2RlZmF1bHQ6cmV0dXJuITB9fWZ1bmN0aW9uIE9yKG4sZSx0KXtpZigoZT09bnVsbD92b2lkIDA6ZS50eXBlKT09PVxcXCJmbG93LWNvbGxlY3Rpb25cXFwiKXtsZXQgcj1lLmVuZFswXTtyLmluZGVudD09PW4mJihyLnNvdXJjZT09PVxcXCJdXFxcInx8ci5zb3VyY2U9PT1cXFwifVxcXCIpJiZBdChlKSYmdChyLFxcXCJCQURfSU5ERU5UXFxcIixcXFwiRmxvdyBlbmQgaW5kaWNhdG9yIHNob3VsZCBiZSBtb3JlIGluZGVudGVkIHRoYW4gcGFyZW50XFxcIiwhMCl9fWZ1bmN0aW9uIE5zKG4sZSx0KXtsZXR7dW5pcXVlS2V5czpyfT1uLm9wdGlvbnM7aWYocj09PSExKXJldHVybiExO2xldCBzPXR5cGVvZiByPT1cXFwiZnVuY3Rpb25cXFwiP3I6KGksbyk9Pmk9PT1vfHxLKGkpJiZLKG8pJiZpLnZhbHVlPT09by52YWx1ZTtyZXR1cm4gZS5zb21lKGk9PnMoaS5rZXksdCkpfXZhciB5dT1cXFwiQWxsIG1hcHBpbmcgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW5cXFwiO2Z1bmN0aW9uIGd1KHtjb21wb3NlTm9kZTpuLGNvbXBvc2VFbXB0eU5vZGU6ZX0sdCxyLHMsaSl7dmFyIGYsZDtsZXQgbz0oZj1pPT1udWxsP3ZvaWQgMDppLm5vZGVDbGFzcykhPW51bGw/ZjpvZSxhPW5ldyBvKHQuc2NoZW1hKTt0LmF0Um9vdCYmKHQuYXRSb290PSExKTtsZXQgdT1yLm9mZnNldCxsPW51bGw7Zm9yKGxldCBwIG9mIHIuaXRlbXMpe2xldHtzdGFydDpoLGtleTpiLHNlcDpnLHZhbHVlOkR9PXAsVD1hdChoLHtpbmRpY2F0b3I6XFxcImV4cGxpY2l0LWtleS1pbmRcXFwiLG5leHQ6YiE9bnVsbD9iOmc9PW51bGw/dm9pZCAwOmdbMF0sb2Zmc2V0OnUsb25FcnJvcjpzLHBhcmVudEluZGVudDpyLmluZGVudCxzdGFydE9uTmV3bGluZTohMH0pLEk9IVQuZm91bmQ7aWYoSSl7aWYoYiYmKGIudHlwZT09PVxcXCJibG9jay1zZXFcXFwiP3ModSxcXFwiQkxPQ0tfQVNfSU1QTElDSVRfS0VZXFxcIixcXFwiQSBibG9jayBzZXF1ZW5jZSBtYXkgbm90IGJlIHVzZWQgYXMgYW4gaW1wbGljaXQgbWFwIGtleVxcXCIpOlxcXCJpbmRlbnRcXFwiaW4gYiYmYi5pbmRlbnQhPT1yLmluZGVudCYmcyh1LFxcXCJCQURfSU5ERU5UXFxcIix5dSkpLCFULmFuY2hvciYmIVQudGFnJiYhZyl7bD1ULmVuZCxULmNvbW1lbnQmJihhLmNvbW1lbnQ/YS5jb21tZW50Kz1gXFxuYCtULmNvbW1lbnQ6YS5jb21tZW50PVQuY29tbWVudCk7Y29udGludWV9KFQubmV3bGluZUFmdGVyUHJvcHx8QXQoYikpJiZzKGIhPW51bGw/YjpoW2gubGVuZ3RoLTFdLFxcXCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZXFxcIixcXFwiSW1wbGljaXQga2V5cyBuZWVkIHRvIGJlIG9uIGEgc2luZ2xlIGxpbmVcXFwiKX1lbHNlKChkPVQuZm91bmQpPT1udWxsP3ZvaWQgMDpkLmluZGVudCkhPT1yLmluZGVudCYmcyh1LFxcXCJCQURfSU5ERU5UXFxcIix5dSk7dC5hdEtleT0hMDtsZXQgTj1ULmVuZCx5PWI/bih0LGIsVCxzKTplKHQsTixoLG51bGwsVCxzKTt0LnNjaGVtYS5jb21wYXQmJk9yKHIuaW5kZW50LGIscyksdC5hdEtleT0hMSxOcyh0LGEuaXRlbXMseSkmJnMoTixcXFwiRFVQTElDQVRFX0tFWVxcXCIsXFxcIk1hcCBrZXlzIG11c3QgYmUgdW5pcXVlXFxcIik7bGV0IHc9YXQoZyE9bnVsbD9nOltdLHtpbmRpY2F0b3I6XFxcIm1hcC12YWx1ZS1pbmRcXFwiLG5leHQ6RCxvZmZzZXQ6eS5yYW5nZVsyXSxvbkVycm9yOnMscGFyZW50SW5kZW50OnIuaW5kZW50LHN0YXJ0T25OZXdsaW5lOiFifHxiLnR5cGU9PT1cXFwiYmxvY2stc2NhbGFyXFxcIn0pO2lmKHU9dy5lbmQsdy5mb3VuZCl7SSYmKChEPT1udWxsP3ZvaWQgMDpELnR5cGUpPT09XFxcImJsb2NrLW1hcFxcXCImJiF3Lmhhc05ld2xpbmUmJnModSxcXFwiQkxPQ0tfQVNfSU1QTElDSVRfS0VZXFxcIixcXFwiTmVzdGVkIG1hcHBpbmdzIGFyZSBub3QgYWxsb3dlZCBpbiBjb21wYWN0IG1hcHBpbmdzXFxcIiksdC5vcHRpb25zLnN0cmljdCYmVC5zdGFydDx3LmZvdW5kLm9mZnNldC0xMDI0JiZzKHkucmFuZ2UsXFxcIktFWV9PVkVSXzEwMjRfQ0hBUlNcXFwiLFxcXCJUaGUgOiBpbmRpY2F0b3IgbXVzdCBiZSBhdCBtb3N0IDEwMjQgY2hhcnMgYWZ0ZXIgdGhlIHN0YXJ0IG9mIGFuIGltcGxpY2l0IGJsb2NrIG1hcHBpbmcga2V5XFxcIikpO2xldCB2PUQ/bih0LEQsdyxzKTplKHQsdSxnLG51bGwsdyxzKTt0LnNjaGVtYS5jb21wYXQmJk9yKHIuaW5kZW50LEQscyksdT12LnJhbmdlWzJdO2xldCBPPW5ldyBpZSh5LHYpO3Qub3B0aW9ucy5rZWVwU291cmNlVG9rZW5zJiYoTy5zcmNUb2tlbj1wKSxhLml0ZW1zLnB1c2goTyl9ZWxzZXtJJiZzKHkucmFuZ2UsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIkltcGxpY2l0IG1hcCBrZXlzIG5lZWQgdG8gYmUgZm9sbG93ZWQgYnkgbWFwIHZhbHVlc1xcXCIpLHcuY29tbWVudCYmKHkuY29tbWVudD95LmNvbW1lbnQrPWBcXG5gK3cuY29tbWVudDp5LmNvbW1lbnQ9dy5jb21tZW50KTtsZXQgdj1uZXcgaWUoeSk7dC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJih2LnNyY1Rva2VuPXApLGEuaXRlbXMucHVzaCh2KX19cmV0dXJuIGwmJmw8dSYmcyhsLFxcXCJJTVBPU1NJQkxFXFxcIixcXFwiTWFwIGNvbW1lbnQgd2l0aCB0cmFpbGluZyBjb250ZW50XFxcIiksYS5yYW5nZT1bci5vZmZzZXQsdSxsIT1udWxsP2w6dV0sYX1mdW5jdGlvbiBidSh7Y29tcG9zZU5vZGU6bixjb21wb3NlRW1wdHlOb2RlOmV9LHQscixzLGkpe3ZhciBmO2xldCBvPShmPWk9PW51bGw/dm9pZCAwOmkubm9kZUNsYXNzKSE9bnVsbD9mOmJlLGE9bmV3IG8odC5zY2hlbWEpO3QuYXRSb290JiYodC5hdFJvb3Q9ITEpLHQuYXRLZXkmJih0LmF0S2V5PSExKTtsZXQgdT1yLm9mZnNldCxsPW51bGw7Zm9yKGxldHtzdGFydDpkLHZhbHVlOnB9b2Ygci5pdGVtcyl7bGV0IGg9YXQoZCx7aW5kaWNhdG9yOlxcXCJzZXEtaXRlbS1pbmRcXFwiLG5leHQ6cCxvZmZzZXQ6dSxvbkVycm9yOnMscGFyZW50SW5kZW50OnIuaW5kZW50LHN0YXJ0T25OZXdsaW5lOiEwfSk7aWYoIWguZm91bmQpaWYoaC5hbmNob3J8fGgudGFnfHxwKXAmJnAudHlwZT09PVxcXCJibG9jay1zZXFcXFwiP3MoaC5lbmQsXFxcIkJBRF9JTkRFTlRcXFwiLFxcXCJBbGwgc2VxdWVuY2UgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW5cXFwiKTpzKHUsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIlNlcXVlbmNlIGl0ZW0gd2l0aG91dCAtIGluZGljYXRvclxcXCIpO2Vsc2V7bD1oLmVuZCxoLmNvbW1lbnQmJihhLmNvbW1lbnQ9aC5jb21tZW50KTtjb250aW51ZX1sZXQgYj1wP24odCxwLGgscyk6ZSh0LGguZW5kLGQsbnVsbCxoLHMpO3Quc2NoZW1hLmNvbXBhdCYmT3Ioci5pbmRlbnQscCxzKSx1PWIucmFuZ2VbMl0sYS5pdGVtcy5wdXNoKGIpfXJldHVybiBhLnJhbmdlPVtyLm9mZnNldCx1LGwhPW51bGw/bDp1XSxhfWZ1bmN0aW9uIHV0KG4sZSx0LHIpe2xldCBzPVxcXCJcXFwiO2lmKG4pe2xldCBpPSExLG89XFxcIlxcXCI7Zm9yKGxldCBhIG9mIG4pe2xldHtzb3VyY2U6dSx0eXBlOmx9PWE7c3dpdGNoKGwpe2Nhc2VcXFwic3BhY2VcXFwiOmk9ITA7YnJlYWs7Y2FzZVxcXCJjb21tZW50XFxcIjp7dCYmIWkmJnIoYSxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVyc1xcXCIpO2xldCBmPXUuc3Vic3RyaW5nKDEpfHxcXFwiIFxcXCI7cz9zKz1vK2Y6cz1mLG89XFxcIlxcXCI7YnJlYWt9Y2FzZVxcXCJuZXdsaW5lXFxcIjpzJiYobys9dSksaT0hMDticmVhaztkZWZhdWx0OnIoYSxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYFVuZXhwZWN0ZWQgJHtsfSBhdCBub2RlIGVuZGApfWUrPXUubGVuZ3RofX1yZXR1cm57Y29tbWVudDpzLG9mZnNldDplfX12YXIgUWk9XFxcIkJsb2NrIGNvbGxlY3Rpb25zIGFyZSBub3QgYWxsb3dlZCB3aXRoaW4gZmxvdyBjb2xsZWN0aW9uc1xcXCIsWGk9bj0+biYmKG4udHlwZT09PVxcXCJibG9jay1tYXBcXFwifHxuLnR5cGU9PT1cXFwiYmxvY2stc2VxXFxcIik7ZnVuY3Rpb24gRnUoe2NvbXBvc2VOb2RlOm4sY29tcG9zZUVtcHR5Tm9kZTplfSx0LHIscyxpKXt2YXIgRCxUO2xldCBvPXIuc3RhcnQuc291cmNlPT09XFxcIntcXFwiLGE9bz9cXFwiZmxvdyBtYXBcXFwiOlxcXCJmbG93IHNlcXVlbmNlXFxcIix1PShEPWk9PW51bGw/dm9pZCAwOmkubm9kZUNsYXNzKSE9bnVsbD9EOm8/b2U6YmUsbD1uZXcgdSh0LnNjaGVtYSk7bC5mbG93PSEwO2xldCBmPXQuYXRSb290O2YmJih0LmF0Um9vdD0hMSksdC5hdEtleSYmKHQuYXRLZXk9ITEpO2xldCBkPXIub2Zmc2V0K3Iuc3RhcnQuc291cmNlLmxlbmd0aDtmb3IobGV0IEk9MDtJPHIuaXRlbXMubGVuZ3RoOysrSSl7bGV0IE49ci5pdGVtc1tJXSx7c3RhcnQ6eSxrZXk6dyxzZXA6dix2YWx1ZTpPfT1OLEM9YXQoeSx7ZmxvdzphLGluZGljYXRvcjpcXFwiZXhwbGljaXQta2V5LWluZFxcXCIsbmV4dDp3IT1udWxsP3c6dj09bnVsbD92b2lkIDA6dlswXSxvZmZzZXQ6ZCxvbkVycm9yOnMscGFyZW50SW5kZW50OnIuaW5kZW50LHN0YXJ0T25OZXdsaW5lOiExfSk7aWYoIUMuZm91bmQpe2lmKCFDLmFuY2hvciYmIUMudGFnJiYhdiYmIU8pe0k9PT0wJiZDLmNvbW1hP3MoQy5jb21tYSxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYFVuZXhwZWN0ZWQgLCBpbiAke2F9YCk6STxyLml0ZW1zLmxlbmd0aC0xJiZzKEMuc3RhcnQsXFxcIlVORVhQRUNURURfVE9LRU5cXFwiLGBVbmV4cGVjdGVkIGVtcHR5IGl0ZW0gaW4gJHthfWApLEMuY29tbWVudCYmKGwuY29tbWVudD9sLmNvbW1lbnQrPWBcXG5gK0MuY29tbWVudDpsLmNvbW1lbnQ9Qy5jb21tZW50KSxkPUMuZW5kO2NvbnRpbnVlfSFvJiZ0Lm9wdGlvbnMuc3RyaWN0JiZBdCh3KSYmcyh3LFxcXCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZXFxcIixcXFwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZVxcXCIpfWlmKEk9PT0wKUMuY29tbWEmJnMoQy5jb21tYSxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYFVuZXhwZWN0ZWQgLCBpbiAke2F9YCk7ZWxzZSBpZihDLmNvbW1hfHxzKEMuc3RhcnQsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsYE1pc3NpbmcgLCBiZXR3ZWVuICR7YX0gaXRlbXNgKSxDLmNvbW1lbnQpe2xldCBWPVxcXCJcXFwiO2U6Zm9yKGxldCBqIG9mIHkpc3dpdGNoKGoudHlwZSl7Y2FzZVxcXCJjb21tYVxcXCI6Y2FzZVxcXCJzcGFjZVxcXCI6YnJlYWs7Y2FzZVxcXCJjb21tZW50XFxcIjpWPWouc291cmNlLnN1YnN0cmluZygxKTticmVhayBlO2RlZmF1bHQ6YnJlYWsgZX1pZihWKXtsZXQgaj1sLml0ZW1zW2wuaXRlbXMubGVuZ3RoLTFdO0goaikmJihqPShUPWoudmFsdWUpIT1udWxsP1Q6ai5rZXkpLGouY29tbWVudD9qLmNvbW1lbnQrPWBcXG5gK1Y6ai5jb21tZW50PVYsQy5jb21tZW50PUMuY29tbWVudC5zdWJzdHJpbmcoVi5sZW5ndGgrMSl9fWlmKCFvJiYhdiYmIUMuZm91bmQpe2xldCBWPU8/bih0LE8sQyxzKTplKHQsQy5lbmQsdixudWxsLEMscyk7bC5pdGVtcy5wdXNoKFYpLGQ9Vi5yYW5nZVsyXSxYaShPKSYmcyhWLnJhbmdlLFxcXCJCTE9DS19JTl9GTE9XXFxcIixRaSl9ZWxzZXt0LmF0S2V5PSEwO2xldCBWPUMuZW5kLGo9dz9uKHQsdyxDLHMpOmUodCxWLHksbnVsbCxDLHMpO1hpKHcpJiZzKGoucmFuZ2UsXFxcIkJMT0NLX0lOX0ZMT1dcXFwiLFFpKSx0LmF0S2V5PSExO2xldCBZPWF0KHYhPW51bGw/djpbXSx7ZmxvdzphLGluZGljYXRvcjpcXFwibWFwLXZhbHVlLWluZFxcXCIsbmV4dDpPLG9mZnNldDpqLnJhbmdlWzJdLG9uRXJyb3I6cyxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITF9KTtpZihZLmZvdW5kKXtpZighbyYmIUMuZm91bmQmJnQub3B0aW9ucy5zdHJpY3Qpe2lmKHYpZm9yKGxldCB4IG9mIHYpe2lmKHg9PT1ZLmZvdW5kKWJyZWFrO2lmKHgudHlwZT09PVxcXCJuZXdsaW5lXFxcIil7cyh4LFxcXCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZXFxcIixcXFwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZVxcXCIpO2JyZWFrfX1DLnN0YXJ0PFkuZm91bmQub2Zmc2V0LTEwMjQmJnMoWS5mb3VuZCxcXFwiS0VZX09WRVJfMTAyNF9DSEFSU1xcXCIsXFxcIlRoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgZmxvdyBzZXF1ZW5jZSBrZXlcXFwiKX19ZWxzZSBPJiYoXFxcInNvdXJjZVxcXCJpbiBPJiZPLnNvdXJjZSYmTy5zb3VyY2VbMF09PT1cXFwiOlxcXCI/cyhPLFxcXCJNSVNTSU5HX0NIQVJcXFwiLGBNaXNzaW5nIHNwYWNlIGFmdGVyIDogaW4gJHthfWApOnMoWS5zdGFydCxcXFwiTUlTU0lOR19DSEFSXFxcIixgTWlzc2luZyAsIG9yIDogYmV0d2VlbiAke2F9IGl0ZW1zYCkpO2xldCBlZT1PP24odCxPLFkscyk6WS5mb3VuZD9lKHQsWS5lbmQsdixudWxsLFkscyk6bnVsbDtlZT9YaShPKSYmcyhlZS5yYW5nZSxcXFwiQkxPQ0tfSU5fRkxPV1xcXCIsUWkpOlkuY29tbWVudCYmKGouY29tbWVudD9qLmNvbW1lbnQrPWBcXG5gK1kuY29tbWVudDpqLmNvbW1lbnQ9WS5jb21tZW50KTtsZXQgYWU9bmV3IGllKGosZWUpO2lmKHQub3B0aW9ucy5rZWVwU291cmNlVG9rZW5zJiYoYWUuc3JjVG9rZW49Tiksbyl7bGV0IHg9bDtOcyh0LHguaXRlbXMsaikmJnMoVixcXFwiRFVQTElDQVRFX0tFWVxcXCIsXFxcIk1hcCBrZXlzIG11c3QgYmUgdW5pcXVlXFxcIikseC5pdGVtcy5wdXNoKGFlKX1lbHNle2xldCB4PW5ldyBvZSh0LnNjaGVtYSk7eC5mbG93PSEwLHguaXRlbXMucHVzaChhZSk7bGV0ICQ9KGVlIT1udWxsP2VlOmopLnJhbmdlO3gucmFuZ2U9W2oucmFuZ2VbMF0sJFsxXSwkWzJdXSxsLml0ZW1zLnB1c2goeCl9ZD1lZT9lZS5yYW5nZVsyXTpZLmVuZH19bGV0IHA9bz9cXFwifVxcXCI6XFxcIl1cXFwiLFtoLC4uLmJdPXIuZW5kLGc9ZDtpZihoJiZoLnNvdXJjZT09PXApZz1oLm9mZnNldCtoLnNvdXJjZS5sZW5ndGg7ZWxzZXtsZXQgST1hWzBdLnRvVXBwZXJDYXNlKCkrYS5zdWJzdHJpbmcoMSksTj1mP2Ake0l9IG11c3QgZW5kIHdpdGggYSAke3B9YDpgJHtJfSBpbiBibG9jayBjb2xsZWN0aW9uIG11c3QgYmUgc3VmZmljaWVudGx5IGluZGVudGVkIGFuZCBlbmQgd2l0aCBhICR7cH1gO3MoZCxmP1xcXCJNSVNTSU5HX0NIQVJcXFwiOlxcXCJCQURfSU5ERU5UXFxcIixOKSxoJiZoLnNvdXJjZS5sZW5ndGghPT0xJiZiLnVuc2hpZnQoaCl9aWYoYi5sZW5ndGg+MCl7bGV0IEk9dXQoYixnLHQub3B0aW9ucy5zdHJpY3Qscyk7SS5jb21tZW50JiYobC5jb21tZW50P2wuY29tbWVudCs9YFxcbmArSS5jb21tZW50OmwuY29tbWVudD1JLmNvbW1lbnQpLGwucmFuZ2U9W3Iub2Zmc2V0LGcsSS5vZmZzZXRdfWVsc2UgbC5yYW5nZT1bci5vZmZzZXQsZyxnXTtyZXR1cm4gbH1mdW5jdGlvbiBlbyhuLGUsdCxyLHMsaSl7bGV0IG89dC50eXBlPT09XFxcImJsb2NrLW1hcFxcXCI/Z3UobixlLHQscixpKTp0LnR5cGU9PT1cXFwiYmxvY2stc2VxXFxcIj9idShuLGUsdCxyLGkpOkZ1KG4sZSx0LHIsaSksYT1vLmNvbnN0cnVjdG9yO3JldHVybiBzPT09XFxcIiFcXFwifHxzPT09YS50YWdOYW1lPyhvLnRhZz1hLnRhZ05hbWUsbyk6KHMmJihvLnRhZz1zKSxvKX1mdW5jdGlvbiBFdShuLGUsdCxyLHMpe3ZhciBwLGg7bGV0IGk9ci50YWcsbz1pP2UuZGlyZWN0aXZlcy50YWdOYW1lKGkuc291cmNlLGI9PnMoaSxcXFwiVEFHX1JFU09MVkVfRkFJTEVEXFxcIixiKSk6bnVsbDtpZih0LnR5cGU9PT1cXFwiYmxvY2stc2VxXFxcIil7bGV0e2FuY2hvcjpiLG5ld2xpbmVBZnRlclByb3A6Z309cixEPWImJmk/Yi5vZmZzZXQ+aS5vZmZzZXQ/YjppOmIhPW51bGw/YjppO0QmJighZ3x8Zy5vZmZzZXQ8RC5vZmZzZXQpJiZzKEQsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIk1pc3NpbmcgbmV3bGluZSBhZnRlciBibG9jayBzZXF1ZW5jZSBwcm9wc1xcXCIpfWxldCBhPXQudHlwZT09PVxcXCJibG9jay1tYXBcXFwiP1xcXCJtYXBcXFwiOnQudHlwZT09PVxcXCJibG9jay1zZXFcXFwiP1xcXCJzZXFcXFwiOnQuc3RhcnQuc291cmNlPT09XFxcIntcXFwiP1xcXCJtYXBcXFwiOlxcXCJzZXFcXFwiO2lmKCFpfHwhb3x8bz09PVxcXCIhXFxcInx8bz09PW9lLnRhZ05hbWUmJmE9PT1cXFwibWFwXFxcInx8bz09PWJlLnRhZ05hbWUmJmE9PT1cXFwic2VxXFxcIilyZXR1cm4gZW8obixlLHQscyxvKTtsZXQgdT1lLnNjaGVtYS50YWdzLmZpbmQoYj0+Yi50YWc9PT1vJiZiLmNvbGxlY3Rpb249PT1hKTtpZighdSl7bGV0IGI9ZS5zY2hlbWEua25vd25UYWdzW29dO2lmKGImJmIuY29sbGVjdGlvbj09PWEpZS5zY2hlbWEudGFncy5wdXNoKE9iamVjdC5hc3NpZ24oe30sYix7ZGVmYXVsdDohMX0pKSx1PWI7ZWxzZSByZXR1cm4gYiE9bnVsbCYmYi5jb2xsZWN0aW9uP3MoaSxcXFwiQkFEX0NPTExFQ1RJT05fVFlQRVxcXCIsYCR7Yi50YWd9IHVzZWQgZm9yICR7YX0gY29sbGVjdGlvbiwgYnV0IGV4cGVjdHMgJHtiLmNvbGxlY3Rpb259YCwhMCk6cyhpLFxcXCJUQUdfUkVTT0xWRV9GQUlMRURcXFwiLGBVbnJlc29sdmVkIHRhZzogJHtvfWAsITApLGVvKG4sZSx0LHMsbyl9bGV0IGw9ZW8obixlLHQscyxvLHUpLGY9KGg9KHA9dS5yZXNvbHZlKT09bnVsbD92b2lkIDA6cC5jYWxsKHUsbCxiPT5zKGksXFxcIlRBR19SRVNPTFZFX0ZBSUxFRFxcXCIsYiksZS5vcHRpb25zKSkhPW51bGw/aDpsLGQ9SihmKT9mOm5ldyBQKGYpO3JldHVybiBkLnJhbmdlPWwucmFuZ2UsZC50YWc9byx1IT1udWxsJiZ1LmZvcm1hdCYmKGQuZm9ybWF0PXUuZm9ybWF0KSxkfWZ1bmN0aW9uIHRvKG4sZSx0KXtsZXQgcj1lLm9mZnNldCxzPW9mKGUsbi5vcHRpb25zLnN0cmljdCx0KTtpZighcylyZXR1cm57dmFsdWU6XFxcIlxcXCIsdHlwZTpudWxsLGNvbW1lbnQ6XFxcIlxcXCIscmFuZ2U6W3IscixyXX07bGV0IGk9cy5tb2RlPT09XFxcIj5cXFwiP1AuQkxPQ0tfRk9MREVEOlAuQkxPQ0tfTElURVJBTCxvPWUuc291cmNlP2FmKGUuc291cmNlKTpbXSxhPW8ubGVuZ3RoO2ZvcihsZXQgZz1vLmxlbmd0aC0xO2c+PTA7LS1nKXtsZXQgRD1vW2ddWzFdO2lmKEQ9PT1cXFwiXFxcInx8RD09PVxcXCJcXFxcclxcXCIpYT1nO2Vsc2UgYnJlYWt9aWYoYT09PTApe2xldCBnPXMuY2hvbXA9PT1cXFwiK1xcXCImJm8ubGVuZ3RoPjA/YFxcbmAucmVwZWF0KE1hdGgubWF4KDEsby5sZW5ndGgtMSkpOlxcXCJcXFwiLEQ9citzLmxlbmd0aDtyZXR1cm4gZS5zb3VyY2UmJihEKz1lLnNvdXJjZS5sZW5ndGgpLHt2YWx1ZTpnLHR5cGU6aSxjb21tZW50OnMuY29tbWVudCxyYW5nZTpbcixELERdfX1sZXQgdT1lLmluZGVudCtzLmluZGVudCxsPWUub2Zmc2V0K3MubGVuZ3RoLGY9MDtmb3IobGV0IGc9MDtnPGE7KytnKXtsZXRbRCxUXT1vW2ddO2lmKFQ9PT1cXFwiXFxcInx8VD09PVxcXCJcXFxcclxcXCIpcy5pbmRlbnQ9PT0wJiZELmxlbmd0aD51JiYodT1ELmxlbmd0aCk7ZWxzZXtELmxlbmd0aDx1JiZ0KGwrRC5sZW5ndGgsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIkJsb2NrIHNjYWxhcnMgd2l0aCBtb3JlLWluZGVudGVkIGxlYWRpbmcgZW1wdHkgbGluZXMgbXVzdCB1c2UgYW4gZXhwbGljaXQgaW5kZW50YXRpb24gaW5kaWNhdG9yXFxcIikscy5pbmRlbnQ9PT0wJiYodT1ELmxlbmd0aCksZj1nLHU9PT0wJiYhbi5hdFJvb3QmJnQobCxcXFwiQkFEX0lOREVOVFxcXCIsXFxcIkJsb2NrIHNjYWxhciB2YWx1ZXMgaW4gY29sbGVjdGlvbnMgbXVzdCBiZSBpbmRlbnRlZFxcXCIpO2JyZWFrfWwrPUQubGVuZ3RoK1QubGVuZ3RoKzF9Zm9yKGxldCBnPW8ubGVuZ3RoLTE7Zz49YTstLWcpb1tnXVswXS5sZW5ndGg+dSYmKGE9ZysxKTtsZXQgZD1cXFwiXFxcIixwPVxcXCJcXFwiLGg9ITE7Zm9yKGxldCBnPTA7ZzxmOysrZylkKz1vW2ddWzBdLnNsaWNlKHUpK2BcXG5gO2ZvcihsZXQgZz1mO2c8YTsrK2cpe2xldFtELFRdPW9bZ107bCs9RC5sZW5ndGgrVC5sZW5ndGgrMTtsZXQgST1UW1QubGVuZ3RoLTFdPT09XFxcIlxcXFxyXFxcIjtpZihJJiYoVD1ULnNsaWNlKDAsLTEpKSxUJiZELmxlbmd0aDx1KXtsZXQgeT1gQmxvY2sgc2NhbGFyIGxpbmVzIG11c3Qgbm90IGJlIGxlc3MgaW5kZW50ZWQgdGhhbiB0aGVpciAke3MuaW5kZW50P1xcXCJleHBsaWNpdCBpbmRlbnRhdGlvbiBpbmRpY2F0b3JcXFwiOlxcXCJmaXJzdCBsaW5lXFxcIn1gO3QobC1ULmxlbmd0aC0oST8yOjEpLFxcXCJCQURfSU5ERU5UXFxcIix5KSxEPVxcXCJcXFwifWk9PT1QLkJMT0NLX0xJVEVSQUw/KGQrPXArRC5zbGljZSh1KStULHA9YFxcbmApOkQubGVuZ3RoPnV8fFRbMF09PT1cXFwiXFx0XFxcIj8ocD09PVxcXCIgXFxcIj9wPWBcXG5gOiFoJiZwPT09YFxcbmAmJihwPWBcXG5cXG5gKSxkKz1wK0Quc2xpY2UodSkrVCxwPWBcXG5gLGg9ITApOlQ9PT1cXFwiXFxcIj9wPT09YFxcbmA/ZCs9YFxcbmA6cD1gXFxuYDooZCs9cCtULHA9XFxcIiBcXFwiLGg9ITEpfXN3aXRjaChzLmNob21wKXtjYXNlXFxcIi1cXFwiOmJyZWFrO2Nhc2VcXFwiK1xcXCI6Zm9yKGxldCBnPWE7ZzxvLmxlbmd0aDsrK2cpZCs9YFxcbmArb1tnXVswXS5zbGljZSh1KTtkW2QubGVuZ3RoLTFdIT09YFxcbmAmJihkKz1gXFxuYCk7YnJlYWs7ZGVmYXVsdDpkKz1gXFxuYH1sZXQgYj1yK3MubGVuZ3RoK2Uuc291cmNlLmxlbmd0aDtyZXR1cm57dmFsdWU6ZCx0eXBlOmksY29tbWVudDpzLmNvbW1lbnQscmFuZ2U6W3IsYixiXX19ZnVuY3Rpb24gb2Yoe29mZnNldDpuLHByb3BzOmV9LHQscil7aWYoZVswXS50eXBlIT09XFxcImJsb2NrLXNjYWxhci1oZWFkZXJcXFwiKXJldHVybiByKGVbMF0sXFxcIklNUE9TU0lCTEVcXFwiLFxcXCJCbG9jayBzY2FsYXIgaGVhZGVyIG5vdCBmb3VuZFxcXCIpLG51bGw7bGV0e3NvdXJjZTpzfT1lWzBdLGk9c1swXSxvPTAsYT1cXFwiXFxcIix1PS0xO2ZvcihsZXQgcD0xO3A8cy5sZW5ndGg7KytwKXtsZXQgaD1zW3BdO2lmKCFhJiYoaD09PVxcXCItXFxcInx8aD09PVxcXCIrXFxcIikpYT1oO2Vsc2V7bGV0IGI9TnVtYmVyKGgpOyFvJiZiP289Yjp1PT09LTEmJih1PW4rcCl9fXUhPT0tMSYmcih1LFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIixgQmxvY2sgc2NhbGFyIGhlYWRlciBpbmNsdWRlcyBleHRyYSBjaGFyYWN0ZXJzOiAke3N9YCk7bGV0IGw9ITEsZj1cXFwiXFxcIixkPXMubGVuZ3RoO2ZvcihsZXQgcD0xO3A8ZS5sZW5ndGg7KytwKXtsZXQgaD1lW3BdO3N3aXRjaChoLnR5cGUpe2Nhc2VcXFwic3BhY2VcXFwiOmw9ITA7Y2FzZVxcXCJuZXdsaW5lXFxcIjpkKz1oLnNvdXJjZS5sZW5ndGg7YnJlYWs7Y2FzZVxcXCJjb21tZW50XFxcIjp0JiYhbCYmcihoLFxcXCJNSVNTSU5HX0NIQVJcXFwiLFxcXCJDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzXFxcIiksZCs9aC5zb3VyY2UubGVuZ3RoLGY9aC5zb3VyY2Uuc3Vic3RyaW5nKDEpO2JyZWFrO2Nhc2VcXFwiZXJyb3JcXFwiOnIoaCxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsaC5tZXNzYWdlKSxkKz1oLnNvdXJjZS5sZW5ndGg7YnJlYWs7ZGVmYXVsdDp7bGV0IGI9YFVuZXhwZWN0ZWQgdG9rZW4gaW4gYmxvY2sgc2NhbGFyIGhlYWRlcjogJHtoLnR5cGV9YDtyKGgsXFxcIlVORVhQRUNURURfVE9LRU5cXFwiLGIpO2xldCBnPWguc291cmNlO2cmJnR5cGVvZiBnPT1cXFwic3RyaW5nXFxcIiYmKGQrPWcubGVuZ3RoKX19fXJldHVybnttb2RlOmksaW5kZW50Om8sY2hvbXA6YSxjb21tZW50OmYsbGVuZ3RoOmR9fWZ1bmN0aW9uIGFmKG4pe2xldCBlPW4uc3BsaXQoL1xcXFxuKCAqKS8pLHQ9ZVswXSxyPXQubWF0Y2goL14oICopLyksaT1bciE9bnVsbCYmclsxXT9bclsxXSx0LnNsaWNlKHJbMV0ubGVuZ3RoKV06W1xcXCJcXFwiLHRdXTtmb3IobGV0IG89MTtvPGUubGVuZ3RoO28rPTIpaS5wdXNoKFtlW29dLGVbbysxXV0pO3JldHVybiBpfWZ1bmN0aW9uIG5vKG4sZSx0KXtsZXR7b2Zmc2V0OnIsdHlwZTpzLHNvdXJjZTppLGVuZDpvfT1uLGEsdSxsPShwLGgsYik9PnQocitwLGgsYik7c3dpdGNoKHMpe2Nhc2VcXFwic2NhbGFyXFxcIjphPVAuUExBSU4sdT11ZihpLGwpO2JyZWFrO2Nhc2VcXFwic2luZ2xlLXF1b3RlZC1zY2FsYXJcXFwiOmE9UC5RVU9URV9TSU5HTEUsdT1sZihpLGwpO2JyZWFrO2Nhc2VcXFwiZG91YmxlLXF1b3RlZC1zY2FsYXJcXFwiOmE9UC5RVU9URV9ET1VCTEUsdT1jZihpLGwpO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHQobixcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYEV4cGVjdGVkIGEgZmxvdyBzY2FsYXIgdmFsdWUsIGJ1dCBmb3VuZDogJHtzfWApLHt2YWx1ZTpcXFwiXFxcIix0eXBlOm51bGwsY29tbWVudDpcXFwiXFxcIixyYW5nZTpbcixyK2kubGVuZ3RoLHIraS5sZW5ndGhdfX1sZXQgZj1yK2kubGVuZ3RoLGQ9dXQobyxmLGUsdCk7cmV0dXJue3ZhbHVlOnUsdHlwZTphLGNvbW1lbnQ6ZC5jb21tZW50LHJhbmdlOltyLGYsZC5vZmZzZXRdfX1mdW5jdGlvbiB1ZihuLGUpe2xldCB0PVxcXCJcXFwiO3N3aXRjaChuWzBdKXtjYXNlXFxcIlxcdFxcXCI6dD1cXFwiYSB0YWIgY2hhcmFjdGVyXFxcIjticmVhaztjYXNlXFxcIixcXFwiOnQ9XFxcImZsb3cgaW5kaWNhdG9yIGNoYXJhY3RlciAsXFxcIjticmVhaztjYXNlXFxcIiVcXFwiOnQ9XFxcImRpcmVjdGl2ZSBpbmRpY2F0b3IgY2hhcmFjdGVyICVcXFwiO2JyZWFrO2Nhc2VcXFwifFxcXCI6Y2FzZVxcXCI+XFxcIjp7dD1gYmxvY2sgc2NhbGFyIGluZGljYXRvciAke25bMF19YDticmVha31jYXNlXFxcIkBcXFwiOmNhc2VcXFwiYFxcXCI6e3Q9YHJlc2VydmVkIGNoYXJhY3RlciAke25bMF19YDticmVha319cmV0dXJuIHQmJmUoMCxcXFwiQkFEX1NDQUxBUl9TVEFSVFxcXCIsYFBsYWluIHZhbHVlIGNhbm5vdCBzdGFydCB3aXRoICR7dH1gKSx3dShuKX1mdW5jdGlvbiBsZihuLGUpe3JldHVybihuW24ubGVuZ3RoLTFdIT09XFxcIidcXFwifHxuLmxlbmd0aD09PTEpJiZlKG4ubGVuZ3RoLFxcXCJNSVNTSU5HX0NIQVJcXFwiLFxcXCJNaXNzaW5nIGNsb3NpbmcgJ3F1b3RlXFxcIiksd3Uobi5zbGljZSgxLC0xKSkucmVwbGFjZSgvJycvZyxcXFwiJ1xcXCIpfWZ1bmN0aW9uIHd1KG4pe3ZhciB1O2xldCBlLHQ7dHJ5e2U9bmV3IFJlZ0V4cChgKC4qPykoPzwhWyBcXHRdKVsgXFx0XSpcXFxccj9cXG5gLFxcXCJzeVxcXCIpLHQ9bmV3IFJlZ0V4cChgWyBcXHRdKiguKj8pKD86KD88IVsgXFx0XSlbIFxcdF0qKT9cXFxccj9cXG5gLFxcXCJzeVxcXCIpfWNhdGNoKGwpe2U9bmV3IFJlZ0V4cChcXFwiKC4qPylbIFxcXFxcXFxcdF0qXFxcXFxcXFxyP1xcXFxcXFxcblxcXCIsXFxcInN5XFxcIiksdD1uZXcgUmVnRXhwKFxcXCJbIFxcXFxcXFxcdF0qKC4qPylbIFxcXFxcXFxcdF0qXFxcXFxcXFxyP1xcXFxcXFxcblxcXCIsXFxcInN5XFxcIil9bGV0IHI9ZS5leGVjKG4pO2lmKCFyKXJldHVybiBuO2xldCBzPXJbMV0saT1cXFwiIFxcXCIsbz1lLmxhc3RJbmRleDtmb3IodC5sYXN0SW5kZXg9bztyPXQuZXhlYyhuKTspclsxXT09PVxcXCJcXFwiP2k9PT1gXFxuYD9zKz1pOmk9YFxcbmA6KHMrPWkrclsxXSxpPVxcXCIgXFxcIiksbz10Lmxhc3RJbmRleDtsZXQgYT1uZXcgUmVnRXhwKFxcXCJbIFxcXFxcXFxcdF0qKC4qKVxcXCIsXFxcInN5XFxcIik7cmV0dXJuIGEubGFzdEluZGV4PW8scj1hLmV4ZWMobikscytpKygodT1yPT1udWxsP3ZvaWQgMDpyWzFdKSE9bnVsbD91OlxcXCJcXFwiKX1mdW5jdGlvbiBjZihuLGUpe2xldCB0PVxcXCJcXFwiO2ZvcihsZXQgcj0xO3I8bi5sZW5ndGgtMTsrK3Ipe2xldCBzPW5bcl07aWYoIShzPT09XFxcIlxcXFxyXFxcIiYmbltyKzFdPT09YFxcbmApKWlmKHM9PT1gXFxuYCl7bGV0e2ZvbGQ6aSxvZmZzZXQ6b309ZmYobixyKTt0Kz1pLHI9b31lbHNlIGlmKHM9PT1cXFwiXFxcXFxcXFxcXFwiKXtsZXQgaT1uWysrcl0sbz1kZltpXTtpZihvKXQrPW87ZWxzZSBpZihpPT09YFxcbmApZm9yKGk9bltyKzFdO2k9PT1cXFwiIFxcXCJ8fGk9PT1cXFwiXFx0XFxcIjspaT1uWysrcisxXTtlbHNlIGlmKGk9PT1cXFwiXFxcXHJcXFwiJiZuW3IrMV09PT1gXFxuYClmb3IoaT1uWysrcisxXTtpPT09XFxcIiBcXFwifHxpPT09XFxcIlxcdFxcXCI7KWk9blsrK3IrMV07ZWxzZSBpZihpPT09XFxcInhcXFwifHxpPT09XFxcInVcXFwifHxpPT09XFxcIlVcXFwiKXtsZXQgYT17eDoyLHU6NCxVOjh9W2ldO3QrPWhmKG4scisxLGEsZSkscis9YX1lbHNle2xldCBhPW4uc3Vic3RyKHItMSwyKTtlKHItMSxcXFwiQkFEX0RRX0VTQ0FQRVxcXCIsYEludmFsaWQgZXNjYXBlIHNlcXVlbmNlICR7YX1gKSx0Kz1hfX1lbHNlIGlmKHM9PT1cXFwiIFxcXCJ8fHM9PT1cXFwiXFx0XFxcIil7bGV0IGk9cixvPW5bcisxXTtmb3IoO289PT1cXFwiIFxcXCJ8fG89PT1cXFwiXFx0XFxcIjspbz1uWysrcisxXTtvIT09YFxcbmAmJiEobz09PVxcXCJcXFxcclxcXCImJm5bcisyXT09PWBcXG5gKSYmKHQrPXI+aT9uLnNsaWNlKGkscisxKTpzKX1lbHNlIHQrPXN9cmV0dXJuKG5bbi5sZW5ndGgtMV0hPT0nXFxcIid8fG4ubGVuZ3RoPT09MSkmJmUobi5sZW5ndGgsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsJ01pc3NpbmcgY2xvc2luZyBcXFwicXVvdGUnKSx0fWZ1bmN0aW9uIGZmKG4sZSl7bGV0IHQ9XFxcIlxcXCIscj1uW2UrMV07Zm9yKDsocj09PVxcXCIgXFxcInx8cj09PVxcXCJcXHRcXFwifHxyPT09YFxcbmB8fHI9PT1cXFwiXFxcXHJcXFwiKSYmIShyPT09XFxcIlxcXFxyXFxcIiYmbltlKzJdIT09YFxcbmApOylyPT09YFxcbmAmJih0Kz1gXFxuYCksZSs9MSxyPW5bZSsxXTtyZXR1cm4gdHx8KHQ9XFxcIiBcXFwiKSx7Zm9sZDp0LG9mZnNldDplfX12YXIgZGY9ezA6XFxcIlxcXFwwXFxcIixhOlxcXCJcXFxceDA3XFxcIixiOlxcXCJcXFxcYlxcXCIsZTpcXFwiXFxcXHgxQlxcXCIsZjpcXFwiXFxcXGZcXFwiLG46YFxcbmAscjpcXFwiXFxcXHJcXFwiLHQ6XFxcIlxcdFxcXCIsdjpcXFwiXFxcXHZcXFwiLE46XFxcIlxcXFx4ODVcXFwiLF86XFxcIlxcXFx4QTBcXFwiLEw6XFxcIlxcXFx1MjAyOFxcXCIsUDpcXFwiXFxcXHUyMDI5XFxcIixcXFwiIFxcXCI6XFxcIiBcXFwiLCdcXFwiJzonXFxcIicsXFxcIi9cXFwiOlxcXCIvXFxcIixcXFwiXFxcXFxcXFxcXFwiOlxcXCJcXFxcXFxcXFxcXCIsXFxcIlxcdFxcXCI6XFxcIlxcdFxcXCJ9O2Z1bmN0aW9uIGhmKG4sZSx0LHIpe2xldCBzPW4uc3Vic3RyKGUsdCksbz1zLmxlbmd0aD09PXQmJi9eWzAtOWEtZkEtRl0rJC8udGVzdChzKT9wYXJzZUludChzLDE2KTpOYU47aWYoaXNOYU4obykpe2xldCBhPW4uc3Vic3RyKGUtMix0KzIpO3JldHVybiByKGUtMixcXFwiQkFEX0RRX0VTQ0FQRVxcXCIsYEludmFsaWQgZXNjYXBlIHNlcXVlbmNlICR7YX1gKSxhfXJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChvKX1mdW5jdGlvbiBybyhuLGUsdCxyKXtsZXR7dmFsdWU6cyx0eXBlOmksY29tbWVudDpvLHJhbmdlOmF9PWUudHlwZT09PVxcXCJibG9jay1zY2FsYXJcXFwiP3RvKG4sZSxyKTpubyhlLG4ub3B0aW9ucy5zdHJpY3QsciksdT10P24uZGlyZWN0aXZlcy50YWdOYW1lKHQuc291cmNlLGQ9PnIodCxcXFwiVEFHX1JFU09MVkVfRkFJTEVEXFxcIixkKSk6bnVsbCxsO24ub3B0aW9ucy5zdHJpbmdLZXlzJiZuLmF0S2V5P2w9bi5zY2hlbWFbSWVdOnU/bD1wZihuLnNjaGVtYSxzLHUsdCxyKTplLnR5cGU9PT1cXFwic2NhbGFyXFxcIj9sPW1mKG4scyxlLHIpOmw9bi5zY2hlbWFbSWVdO2xldCBmO3RyeXtsZXQgZD1sLnJlc29sdmUocyxwPT5yKHQhPW51bGw/dDplLFxcXCJUQUdfUkVTT0xWRV9GQUlMRURcXFwiLHApLG4ub3B0aW9ucyk7Zj1LKGQpP2Q6bmV3IFAoZCl9Y2F0Y2goZCl7bGV0IHA9ZCBpbnN0YW5jZW9mIEVycm9yP2QubWVzc2FnZTpTdHJpbmcoZCk7cih0IT1udWxsP3Q6ZSxcXFwiVEFHX1JFU09MVkVfRkFJTEVEXFxcIixwKSxmPW5ldyBQKHMpfXJldHVybiBmLnJhbmdlPWEsZi5zb3VyY2U9cyxpJiYoZi50eXBlPWkpLHUmJihmLnRhZz11KSxsLmZvcm1hdCYmKGYuZm9ybWF0PWwuZm9ybWF0KSxvJiYoZi5jb21tZW50PW8pLGZ9ZnVuY3Rpb24gcGYobixlLHQscixzKXt2YXIgYTtpZih0PT09XFxcIiFcXFwiKXJldHVybiBuW0llXTtsZXQgaT1bXTtmb3IobGV0IHUgb2Ygbi50YWdzKWlmKCF1LmNvbGxlY3Rpb24mJnUudGFnPT09dClpZih1LmRlZmF1bHQmJnUudGVzdClpLnB1c2godSk7ZWxzZSByZXR1cm4gdTtmb3IobGV0IHUgb2YgaSlpZigoYT11LnRlc3QpIT1udWxsJiZhLnRlc3QoZSkpcmV0dXJuIHU7bGV0IG89bi5rbm93blRhZ3NbdF07cmV0dXJuIG8mJiFvLmNvbGxlY3Rpb24/KG4udGFncy5wdXNoKE9iamVjdC5hc3NpZ24oe30sbyx7ZGVmYXVsdDohMSx0ZXN0OnZvaWQgMH0pKSxvKToocyhyLFxcXCJUQUdfUkVTT0xWRV9GQUlMRURcXFwiLGBVbnJlc29sdmVkIHRhZzogJHt0fWAsdCE9PVxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpzdHJcXFwiKSxuW0llXSl9ZnVuY3Rpb24gbWYoe2F0S2V5Om4sZGlyZWN0aXZlczplLHNjaGVtYTp0fSxyLHMsaSl7dmFyIGE7bGV0IG89dC50YWdzLmZpbmQodT0+e3ZhciBsO3JldHVybih1LmRlZmF1bHQ9PT0hMHx8biYmdS5kZWZhdWx0PT09XFxcImtleVxcXCIpJiYoKGw9dS50ZXN0KT09bnVsbD92b2lkIDA6bC50ZXN0KHIpKX0pfHx0W0llXTtpZih0LmNvbXBhdCl7bGV0IHU9KGE9dC5jb21wYXQuZmluZChsPT57dmFyIGY7cmV0dXJuIGwuZGVmYXVsdCYmKChmPWwudGVzdCk9PW51bGw/dm9pZCAwOmYudGVzdChyKSl9KSkhPW51bGw/YTp0W0llXTtpZihvLnRhZyE9PXUudGFnKXtsZXQgbD1lLnRhZ1N0cmluZyhvLnRhZyksZj1lLnRhZ1N0cmluZyh1LnRhZyksZD1gVmFsdWUgbWF5IGJlIHBhcnNlZCBhcyBlaXRoZXIgJHtsfSBvciAke2Z9YDtpKHMsXFxcIlRBR19SRVNPTFZFX0ZBSUxFRFxcXCIsZCwhMCl9fXJldHVybiBvfWZ1bmN0aW9uIFR1KG4sZSx0KXtpZihlKXt0PT09bnVsbCYmKHQ9ZS5sZW5ndGgpO2ZvcihsZXQgcj10LTE7cj49MDstLXIpe2xldCBzPWVbcl07c3dpdGNoKHMudHlwZSl7Y2FzZVxcXCJzcGFjZVxcXCI6Y2FzZVxcXCJjb21tZW50XFxcIjpjYXNlXFxcIm5ld2xpbmVcXFwiOm4tPXMuc291cmNlLmxlbmd0aDtjb250aW51ZX1mb3Iocz1lWysrcl07KHM9PW51bGw/dm9pZCAwOnMudHlwZSk9PT1cXFwic3BhY2VcXFwiOyluKz1zLnNvdXJjZS5sZW5ndGgscz1lWysrcl07YnJlYWt9fXJldHVybiBufXZhciBEZj17Y29tcG9zZU5vZGU6c28sY29tcG9zZUVtcHR5Tm9kZTpBc307ZnVuY3Rpb24gc28obixlLHQscil7bGV0IHM9bi5hdEtleSx7c3BhY2VCZWZvcmU6aSxjb21tZW50Om8sYW5jaG9yOmEsdGFnOnV9PXQsbCxmPSEwO3N3aXRjaChlLnR5cGUpe2Nhc2VcXFwiYWxpYXNcXFwiOmw9eWYobixlLHIpLChhfHx1KSYmcihlLFxcXCJBTElBU19QUk9QU1xcXCIsXFxcIkFuIGFsaWFzIG5vZGUgbXVzdCBub3Qgc3BlY2lmeSBhbnkgcHJvcGVydGllc1xcXCIpO2JyZWFrO2Nhc2VcXFwic2NhbGFyXFxcIjpjYXNlXFxcInNpbmdsZS1xdW90ZWQtc2NhbGFyXFxcIjpjYXNlXFxcImRvdWJsZS1xdW90ZWQtc2NhbGFyXFxcIjpjYXNlXFxcImJsb2NrLXNjYWxhclxcXCI6bD1ybyhuLGUsdSxyKSxhJiYobC5hbmNob3I9YS5zb3VyY2Uuc3Vic3RyaW5nKDEpKTticmVhaztjYXNlXFxcImJsb2NrLW1hcFxcXCI6Y2FzZVxcXCJibG9jay1zZXFcXFwiOmNhc2VcXFwiZmxvdy1jb2xsZWN0aW9uXFxcIjpsPUV1KERmLG4sZSx0LHIpLGEmJihsLmFuY2hvcj1hLnNvdXJjZS5zdWJzdHJpbmcoMSkpO2JyZWFrO2RlZmF1bHQ6e2xldCBkPWUudHlwZT09PVxcXCJlcnJvclxcXCI/ZS5tZXNzYWdlOmBVbnN1cHBvcnRlZCB0b2tlbiAodHlwZTogJHtlLnR5cGV9KWA7cihlLFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIixkKSxsPUFzKG4sZS5vZmZzZXQsdm9pZCAwLG51bGwsdCxyKSxmPSExfX1yZXR1cm4gYSYmbC5hbmNob3I9PT1cXFwiXFxcIiYmcihhLFxcXCJCQURfQUxJQVNcXFwiLFxcXCJBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZ1xcXCIpLHMmJm4ub3B0aW9ucy5zdHJpbmdLZXlzJiYoIUsobCl8fHR5cGVvZiBsLnZhbHVlIT1cXFwic3RyaW5nXFxcInx8bC50YWcmJmwudGFnIT09XFxcInRhZzp5YW1sLm9yZywyMDAyOnN0clxcXCIpJiZyKHUhPW51bGw/dTplLFxcXCJOT05fU1RSSU5HX0tFWVxcXCIsXFxcIldpdGggc3RyaW5nS2V5cywgYWxsIGtleXMgbXVzdCBiZSBzdHJpbmdzXFxcIiksaSYmKGwuc3BhY2VCZWZvcmU9ITApLG8mJihlLnR5cGU9PT1cXFwic2NhbGFyXFxcIiYmZS5zb3VyY2U9PT1cXFwiXFxcIj9sLmNvbW1lbnQ9bzpsLmNvbW1lbnRCZWZvcmU9byksbi5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJmYmJihsLnNyY1Rva2VuPWUpLGx9ZnVuY3Rpb24gQXMobixlLHQscix7c3BhY2VCZWZvcmU6cyxjb21tZW50OmksYW5jaG9yOm8sdGFnOmEsZW5kOnV9LGwpe2xldCBmPXt0eXBlOlxcXCJzY2FsYXJcXFwiLG9mZnNldDpUdShlLHQsciksaW5kZW50Oi0xLHNvdXJjZTpcXFwiXFxcIn0sZD1ybyhuLGYsYSxsKTtyZXR1cm4gbyYmKGQuYW5jaG9yPW8uc291cmNlLnN1YnN0cmluZygxKSxkLmFuY2hvcj09PVxcXCJcXFwiJiZsKG8sXFxcIkJBRF9BTElBU1xcXCIsXFxcIkFuY2hvciBjYW5ub3QgYmUgYW4gZW1wdHkgc3RyaW5nXFxcIikpLHMmJihkLnNwYWNlQmVmb3JlPSEwKSxpJiYoZC5jb21tZW50PWksZC5yYW5nZVsyXT11KSxkfWZ1bmN0aW9uIHlmKHtvcHRpb25zOm59LHtvZmZzZXQ6ZSxzb3VyY2U6dCxlbmQ6cn0scyl7bGV0IGk9bmV3IEV0KHQuc3Vic3RyaW5nKDEpKTtpLnNvdXJjZT09PVxcXCJcXFwiJiZzKGUsXFxcIkJBRF9BTElBU1xcXCIsXFxcIkFsaWFzIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmdcXFwiKSxpLnNvdXJjZS5lbmRzV2l0aChcXFwiOlxcXCIpJiZzKGUrdC5sZW5ndGgtMSxcXFwiQkFEX0FMSUFTXFxcIixcXFwiQWxpYXMgZW5kaW5nIGluIDogaXMgYW1iaWd1b3VzXFxcIiwhMCk7bGV0IG89ZSt0Lmxlbmd0aCxhPXV0KHIsbyxuLnN0cmljdCxzKTtyZXR1cm4gaS5yYW5nZT1bZSxvLGEub2Zmc2V0XSxhLmNvbW1lbnQmJihpLmNvbW1lbnQ9YS5jb21tZW50KSxpfWZ1bmN0aW9uIFN1KG4sZSx7b2Zmc2V0OnQsc3RhcnQ6cix2YWx1ZTpzLGVuZDppfSxvKXtsZXQgYT1PYmplY3QuYXNzaWduKHtfZGlyZWN0aXZlczplfSxuKSx1PW5ldyBOdCh2b2lkIDAsYSksbD17YXRLZXk6ITEsYXRSb290OiEwLGRpcmVjdGl2ZXM6dS5kaXJlY3RpdmVzLG9wdGlvbnM6dS5vcHRpb25zLHNjaGVtYTp1LnNjaGVtYX0sZj1hdChyLHtpbmRpY2F0b3I6XFxcImRvYy1zdGFydFxcXCIsbmV4dDpzIT1udWxsP3M6aT09bnVsbD92b2lkIDA6aVswXSxvZmZzZXQ6dCxvbkVycm9yOm8scGFyZW50SW5kZW50OjAsc3RhcnRPbk5ld2xpbmU6ITB9KTtmLmZvdW5kJiYodS5kaXJlY3RpdmVzLmRvY1N0YXJ0PSEwLHMmJihzLnR5cGU9PT1cXFwiYmxvY2stbWFwXFxcInx8cy50eXBlPT09XFxcImJsb2NrLXNlcVxcXCIpJiYhZi5oYXNOZXdsaW5lJiZvKGYuZW5kLFxcXCJNSVNTSU5HX0NIQVJcXFwiLFxcXCJCbG9jayBjb2xsZWN0aW9uIGNhbm5vdCBzdGFydCBvbiBzYW1lIGxpbmUgd2l0aCBkaXJlY3RpdmVzLWVuZCBtYXJrZXJcXFwiKSksdS5jb250ZW50cz1zP3NvKGwscyxmLG8pOkFzKGwsZi5lbmQscixudWxsLGYsbyk7bGV0IGQ9dS5jb250ZW50cy5yYW5nZVsyXSxwPXV0KGksZCwhMSxvKTtyZXR1cm4gcC5jb21tZW50JiYodS5jb21tZW50PXAuY29tbWVudCksdS5yYW5nZT1bdCxkLHAub2Zmc2V0XSx1fWZ1bmN0aW9uIHhyKG4pe2lmKHR5cGVvZiBuPT1cXFwibnVtYmVyXFxcIilyZXR1cm5bbixuKzFdO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG4ubGVuZ3RoPT09Mj9uOltuWzBdLG5bMV1dO2xldHtvZmZzZXQ6ZSxzb3VyY2U6dH09bjtyZXR1cm5bZSxlKyh0eXBlb2YgdD09XFxcInN0cmluZ1xcXCI/dC5sZW5ndGg6MSldfWZ1bmN0aW9uIGt1KG4pe3ZhciBzO2xldCBlPVxcXCJcXFwiLHQ9ITEscj0hMTtmb3IobGV0IGk9MDtpPG4ubGVuZ3RoOysraSl7bGV0IG89bltpXTtzd2l0Y2gob1swXSl7Y2FzZVxcXCIjXFxcIjplKz0oZT09PVxcXCJcXFwiP1xcXCJcXFwiOnI/YFxcblxcbmA6YFxcbmApKyhvLnN1YnN0cmluZygxKXx8XFxcIiBcXFwiKSx0PSEwLHI9ITE7YnJlYWs7Y2FzZVxcXCIlXFxcIjooKHM9bltpKzFdKT09bnVsbD92b2lkIDA6c1swXSkhPT1cXFwiI1xcXCImJihpKz0xKSx0PSExO2JyZWFrO2RlZmF1bHQ6dHx8KHI9ITApLHQ9ITF9fXJldHVybntjb21tZW50OmUsYWZ0ZXJFbXB0eUxpbmU6cn19dmFyIElyPWNsYXNze2NvbnN0cnVjdG9yKGU9e30pe3RoaXMuZG9jPW51bGwsdGhpcy5hdERpcmVjdGl2ZXM9ITEsdGhpcy5wcmVsdWRlPVtdLHRoaXMuZXJyb3JzPVtdLHRoaXMud2FybmluZ3M9W10sdGhpcy5vbkVycm9yPSh0LHIscyxpKT0+e2xldCBvPXhyKHQpO2k/dGhpcy53YXJuaW5ncy5wdXNoKG5ldyB2cihvLHIscykpOnRoaXMuZXJyb3JzLnB1c2gobmV3IFFlKG8scixzKSl9LHRoaXMuZGlyZWN0aXZlcz1uZXcgaXQoe3ZlcnNpb246ZS52ZXJzaW9ufHxcXFwiMS4yXFxcIn0pLHRoaXMub3B0aW9ucz1lfWRlY29yYXRlKGUsdCl7bGV0e2NvbW1lbnQ6cixhZnRlckVtcHR5TGluZTpzfT1rdSh0aGlzLnByZWx1ZGUpO2lmKHIpe2xldCBpPWUuY29udGVudHM7aWYodCllLmNvbW1lbnQ9ZS5jb21tZW50P2Ake2UuY29tbWVudH1cXG4ke3J9YDpyO2Vsc2UgaWYoc3x8ZS5kaXJlY3RpdmVzLmRvY1N0YXJ0fHwhaSllLmNvbW1lbnRCZWZvcmU9cjtlbHNlIGlmKFooaSkmJiFpLmZsb3cmJmkuaXRlbXMubGVuZ3RoPjApe2xldCBvPWkuaXRlbXNbMF07SChvKSYmKG89by5rZXkpO2xldCBhPW8uY29tbWVudEJlZm9yZTtvLmNvbW1lbnRCZWZvcmU9YT9gJHtyfVxcbiR7YX1gOnJ9ZWxzZXtsZXQgbz1pLmNvbW1lbnRCZWZvcmU7aS5jb21tZW50QmVmb3JlPW8/YCR7cn1cXG4ke299YDpyfX10PyhBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLmVycm9ycyx0aGlzLmVycm9ycyksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoZS53YXJuaW5ncyx0aGlzLndhcm5pbmdzKSk6KGUuZXJyb3JzPXRoaXMuZXJyb3JzLGUud2FybmluZ3M9dGhpcy53YXJuaW5ncyksdGhpcy5wcmVsdWRlPVtdLHRoaXMuZXJyb3JzPVtdLHRoaXMud2FybmluZ3M9W119c3RyZWFtSW5mbygpe3JldHVybntjb21tZW50Omt1KHRoaXMucHJlbHVkZSkuY29tbWVudCxkaXJlY3RpdmVzOnRoaXMuZGlyZWN0aXZlcyxlcnJvcnM6dGhpcy5lcnJvcnMsd2FybmluZ3M6dGhpcy53YXJuaW5nc319KmNvbXBvc2UoZSx0PSExLHI9LTEpe2ZvcihsZXQgcyBvZiBlKXlpZWxkKlModGhpcy5uZXh0KHMpKTt5aWVsZCpTKHRoaXMuZW5kKHQscikpfSpuZXh0KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2VcXFwiZGlyZWN0aXZlXFxcIjp0aGlzLmRpcmVjdGl2ZXMuYWRkKGUuc291cmNlLCh0LHIscyk9PntsZXQgaT14cihlKTtpWzBdKz10LHRoaXMub25FcnJvcihpLFxcXCJCQURfRElSRUNUSVZFXFxcIixyLHMpfSksdGhpcy5wcmVsdWRlLnB1c2goZS5zb3VyY2UpLHRoaXMuYXREaXJlY3RpdmVzPSEwO2JyZWFrO2Nhc2VcXFwiZG9jdW1lbnRcXFwiOntsZXQgdD1TdSh0aGlzLm9wdGlvbnMsdGhpcy5kaXJlY3RpdmVzLGUsdGhpcy5vbkVycm9yKTt0aGlzLmF0RGlyZWN0aXZlcyYmIXQuZGlyZWN0aXZlcy5kb2NTdGFydCYmdGhpcy5vbkVycm9yKGUsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIk1pc3NpbmcgZGlyZWN0aXZlcy1lbmQvZG9jLXN0YXJ0IGluZGljYXRvciBsaW5lXFxcIiksdGhpcy5kZWNvcmF0ZSh0LCExKSx0aGlzLmRvYyYmKHlpZWxkIHRoaXMuZG9jKSx0aGlzLmRvYz10LHRoaXMuYXREaXJlY3RpdmVzPSExO2JyZWFrfWNhc2VcXFwiYnl0ZS1vcmRlci1tYXJrXFxcIjpjYXNlXFxcInNwYWNlXFxcIjpicmVhaztjYXNlXFxcImNvbW1lbnRcXFwiOmNhc2VcXFwibmV3bGluZVxcXCI6dGhpcy5wcmVsdWRlLnB1c2goZS5zb3VyY2UpO2JyZWFrO2Nhc2VcXFwiZXJyb3JcXFwiOntsZXQgdD1lLnNvdXJjZT9gJHtlLm1lc3NhZ2V9OiAke0pTT04uc3RyaW5naWZ5KGUuc291cmNlKX1gOmUubWVzc2FnZSxyPW5ldyBRZSh4cihlKSxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsdCk7dGhpcy5hdERpcmVjdGl2ZXN8fCF0aGlzLmRvYz90aGlzLmVycm9ycy5wdXNoKHIpOnRoaXMuZG9jLmVycm9ycy5wdXNoKHIpO2JyZWFrfWNhc2VcXFwiZG9jLWVuZFxcXCI6e2lmKCF0aGlzLmRvYyl7bGV0IHI9XFxcIlVuZXhwZWN0ZWQgZG9jLWVuZCB3aXRob3V0IHByZWNlZGluZyBkb2N1bWVudFxcXCI7dGhpcy5lcnJvcnMucHVzaChuZXcgUWUoeHIoZSksXFxcIlVORVhQRUNURURfVE9LRU5cXFwiLHIpKTticmVha310aGlzLmRvYy5kaXJlY3RpdmVzLmRvY0VuZD0hMDtsZXQgdD11dChlLmVuZCxlLm9mZnNldCtlLnNvdXJjZS5sZW5ndGgsdGhpcy5kb2Mub3B0aW9ucy5zdHJpY3QsdGhpcy5vbkVycm9yKTtpZih0aGlzLmRlY29yYXRlKHRoaXMuZG9jLCEwKSx0LmNvbW1lbnQpe2xldCByPXRoaXMuZG9jLmNvbW1lbnQ7dGhpcy5kb2MuY29tbWVudD1yP2Ake3J9XFxuJHt0LmNvbW1lbnR9YDp0LmNvbW1lbnR9dGhpcy5kb2MucmFuZ2VbMl09dC5vZmZzZXQ7YnJlYWt9ZGVmYXVsdDp0aGlzLmVycm9ycy5wdXNoKG5ldyBRZSh4cihlKSxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYFVuc3VwcG9ydGVkIHRva2VuICR7ZS50eXBlfWApKX19KmVuZChlPSExLHQ9LTEpe2lmKHRoaXMuZG9jKXRoaXMuZGVjb3JhdGUodGhpcy5kb2MsITApLHlpZWxkIHRoaXMuZG9jLHRoaXMuZG9jPW51bGw7ZWxzZSBpZihlKXtsZXQgcj1PYmplY3QuYXNzaWduKHtfZGlyZWN0aXZlczp0aGlzLmRpcmVjdGl2ZXN9LHRoaXMub3B0aW9ucykscz1uZXcgTnQodm9pZCAwLHIpO3RoaXMuYXREaXJlY3RpdmVzJiZ0aGlzLm9uRXJyb3IodCxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiTWlzc2luZyBkaXJlY3RpdmVzLWVuZCBpbmRpY2F0b3IgbGluZVxcXCIpLHMucmFuZ2U9WzAsdCx0XSx0aGlzLmRlY29yYXRlKHMsITEpLHlpZWxkIHN9fX07dmFyIGlvPVN5bWJvbChcXFwiYnJlYWsgdmlzaXRcXFwiKSxnZj1TeW1ib2woXFxcInNraXAgY2hpbGRyZW5cXFwiKSxDdT1TeW1ib2woXFxcInJlbW92ZSBpdGVtXFxcIik7ZnVuY3Rpb24gSnQobixlKXtcXFwidHlwZVxcXCJpbiBuJiZuLnR5cGU9PT1cXFwiZG9jdW1lbnRcXFwiJiYobj17c3RhcnQ6bi5zdGFydCx2YWx1ZTpuLnZhbHVlfSksdnUoT2JqZWN0LmZyZWV6ZShbXSksbixlKX1KdC5CUkVBSz1pbztKdC5TS0lQPWdmO0p0LlJFTU9WRT1DdTtKdC5pdGVtQXRQYXRoPShuLGUpPT57bGV0IHQ9bjtmb3IobGV0W3Isc11vZiBlKXtsZXQgaT10PT1udWxsP3ZvaWQgMDp0W3JdO2lmKGkmJlxcXCJpdGVtc1xcXCJpbiBpKXQ9aS5pdGVtc1tzXTtlbHNlIHJldHVybn1yZXR1cm4gdH07SnQucGFyZW50Q29sbGVjdGlvbj0obixlKT0+e2xldCB0PUp0Lml0ZW1BdFBhdGgobixlLnNsaWNlKDAsLTEpKSxyPWVbZS5sZW5ndGgtMV1bMF0scz10PT1udWxsP3ZvaWQgMDp0W3JdO2lmKHMmJlxcXCJpdGVtc1xcXCJpbiBzKXJldHVybiBzO3Rocm93IG5ldyBFcnJvcihcXFwiUGFyZW50IGNvbGxlY3Rpb24gbm90IGZvdW5kXFxcIil9O2Z1bmN0aW9uIHZ1KG4sZSx0KXtsZXQgcj10KGUsbik7aWYodHlwZW9mIHI9PVxcXCJzeW1ib2xcXFwiKXJldHVybiByO2ZvcihsZXQgcyBvZltcXFwia2V5XFxcIixcXFwidmFsdWVcXFwiXSl7bGV0IGk9ZVtzXTtpZihpJiZcXFwiaXRlbXNcXFwiaW4gaSl7Zm9yKGxldCBvPTA7bzxpLml0ZW1zLmxlbmd0aDsrK28pe2xldCBhPXZ1KE9iamVjdC5mcmVlemUobi5jb25jYXQoW1tzLG9dXSkpLGkuaXRlbXNbb10sdCk7aWYodHlwZW9mIGE9PVxcXCJudW1iZXJcXFwiKW89YS0xO2Vsc2V7aWYoYT09PWlvKXJldHVybiBpbzthPT09Q3UmJihpLml0ZW1zLnNwbGljZShvLDEpLG8tPTEpfX10eXBlb2Ygcj09XFxcImZ1bmN0aW9uXFxcIiYmcz09PVxcXCJrZXlcXFwiJiYocj1yKGUsbikpfX1yZXR1cm4gdHlwZW9mIHI9PVxcXCJmdW5jdGlvblxcXCI/cihlLG4pOnJ9dmFyIG9vPVxcXCJcXFxcdUZFRkZcXFwiLGFvPVxcXCJcXHUwMDAyXFxcIix1bz1cXFwiXFx1MDAxOFxcXCIsTXM9XFxcIlxcdTAwMWZcXFwiO2Z1bmN0aW9uIE91KG4pe3N3aXRjaChuKXtjYXNlIG9vOnJldHVyblxcXCJieXRlLW9yZGVyLW1hcmtcXFwiO2Nhc2UgYW86cmV0dXJuXFxcImRvYy1tb2RlXFxcIjtjYXNlIHVvOnJldHVyblxcXCJmbG93LWVycm9yLWVuZFxcXCI7Y2FzZSBNczpyZXR1cm5cXFwic2NhbGFyXFxcIjtjYXNlXFxcIi0tLVxcXCI6cmV0dXJuXFxcImRvYy1zdGFydFxcXCI7Y2FzZVxcXCIuLi5cXFwiOnJldHVyblxcXCJkb2MtZW5kXFxcIjtjYXNlXFxcIlxcXCI6Y2FzZWBcXG5gOmNhc2VgXFxcXHJcXG5gOnJldHVyblxcXCJuZXdsaW5lXFxcIjtjYXNlXFxcIi1cXFwiOnJldHVyblxcXCJzZXEtaXRlbS1pbmRcXFwiO2Nhc2VcXFwiP1xcXCI6cmV0dXJuXFxcImV4cGxpY2l0LWtleS1pbmRcXFwiO2Nhc2VcXFwiOlxcXCI6cmV0dXJuXFxcIm1hcC12YWx1ZS1pbmRcXFwiO2Nhc2VcXFwie1xcXCI6cmV0dXJuXFxcImZsb3ctbWFwLXN0YXJ0XFxcIjtjYXNlXFxcIn1cXFwiOnJldHVyblxcXCJmbG93LW1hcC1lbmRcXFwiO2Nhc2VcXFwiW1xcXCI6cmV0dXJuXFxcImZsb3ctc2VxLXN0YXJ0XFxcIjtjYXNlXFxcIl1cXFwiOnJldHVyblxcXCJmbG93LXNlcS1lbmRcXFwiO2Nhc2VcXFwiLFxcXCI6cmV0dXJuXFxcImNvbW1hXFxcIn1zd2l0Y2goblswXSl7Y2FzZVxcXCIgXFxcIjpjYXNlXFxcIlxcdFxcXCI6cmV0dXJuXFxcInNwYWNlXFxcIjtjYXNlXFxcIiNcXFwiOnJldHVyblxcXCJjb21tZW50XFxcIjtjYXNlXFxcIiVcXFwiOnJldHVyblxcXCJkaXJlY3RpdmUtbGluZVxcXCI7Y2FzZVxcXCIqXFxcIjpyZXR1cm5cXFwiYWxpYXNcXFwiO2Nhc2VcXFwiJlxcXCI6cmV0dXJuXFxcImFuY2hvclxcXCI7Y2FzZVxcXCIhXFxcIjpyZXR1cm5cXFwidGFnXFxcIjtjYXNlXFxcIidcXFwiOnJldHVyblxcXCJzaW5nbGUtcXVvdGVkLXNjYWxhclxcXCI7Y2FzZSdcXFwiJzpyZXR1cm5cXFwiZG91YmxlLXF1b3RlZC1zY2FsYXJcXFwiO2Nhc2VcXFwifFxcXCI6Y2FzZVxcXCI+XFxcIjpyZXR1cm5cXFwiYmxvY2stc2NhbGFyLWhlYWRlclxcXCJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gWGUobil7c3dpdGNoKG4pe2Nhc2Ugdm9pZCAwOmNhc2VcXFwiIFxcXCI6Y2FzZWBcXG5gOmNhc2VcXFwiXFxcXHJcXFwiOmNhc2VcXFwiXFx0XFxcIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgeHU9bmV3IFNldChcXFwiMDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZlxcXCIpLEZmPW5ldyBTZXQoXFxcIjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6LSM7Lz86QCY9KyRfLiF+KicoKVxcXCIpLF9zPW5ldyBTZXQoXFxcIixbXXt9XFxcIiksRWY9bmV3IFNldChgICxbXXt9XFxuXFxcXHJcXHRgKSxsbz1uPT4hbnx8RWYuaGFzKG4pLExyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5hdEVuZD0hMSx0aGlzLmJsb2NrU2NhbGFySW5kZW50PS0xLHRoaXMuYmxvY2tTY2FsYXJLZWVwPSExLHRoaXMuYnVmZmVyPVxcXCJcXFwiLHRoaXMuZmxvd0tleT0hMSx0aGlzLmZsb3dMZXZlbD0wLHRoaXMuaW5kZW50TmV4dD0wLHRoaXMuaW5kZW50VmFsdWU9MCx0aGlzLmxpbmVFbmRQb3M9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzLnBvcz0wfSpsZXgoZSx0PSExKXt2YXIgcztpZihlKXtpZih0eXBlb2YgZSE9XFxcInN0cmluZ1xcXCIpdGhyb3cgVHlwZUVycm9yKFxcXCJzb3VyY2UgaXMgbm90IGEgc3RyaW5nXFxcIik7dGhpcy5idWZmZXI9dGhpcy5idWZmZXI/dGhpcy5idWZmZXIrZTplLHRoaXMubGluZUVuZFBvcz1udWxsfXRoaXMuYXRFbmQ9IXQ7bGV0IHI9KHM9dGhpcy5uZXh0KSE9bnVsbD9zOlxcXCJzdHJlYW1cXFwiO2Zvcig7ciYmKHR8fHRoaXMuaGFzQ2hhcnMoMSkpOylyPXlpZWxkKlModGhpcy5wYXJzZU5leHQocikpfWF0TGluZUVuZCgpe2xldCBlPXRoaXMucG9zLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDt0PT09XFxcIiBcXFwifHx0PT09XFxcIlxcdFxcXCI7KXQ9dGhpcy5idWZmZXJbKytlXTtyZXR1cm4hdHx8dD09PVxcXCIjXFxcInx8dD09PWBcXG5gPyEwOnQ9PT1cXFwiXFxcXHJcXFwiP3RoaXMuYnVmZmVyW2UrMV09PT1gXFxuYDohMX1jaGFyQXQoZSl7cmV0dXJuIHRoaXMuYnVmZmVyW3RoaXMucG9zK2VdfWNvbnRpbnVlU2NhbGFyKGUpe2xldCB0PXRoaXMuYnVmZmVyW2VdO2lmKHRoaXMuaW5kZW50TmV4dD4wKXtsZXQgcj0wO2Zvcig7dD09PVxcXCIgXFxcIjspdD10aGlzLmJ1ZmZlclsrK3IrZV07aWYodD09PVxcXCJcXFxcclxcXCIpe2xldCBzPXRoaXMuYnVmZmVyW3IrZSsxXTtpZihzPT09YFxcbmB8fCFzJiYhdGhpcy5hdEVuZClyZXR1cm4gZStyKzF9cmV0dXJuIHQ9PT1gXFxuYHx8cj49dGhpcy5pbmRlbnROZXh0fHwhdCYmIXRoaXMuYXRFbmQ/ZStyOi0xfWlmKHQ9PT1cXFwiLVxcXCJ8fHQ9PT1cXFwiLlxcXCIpe2xldCByPXRoaXMuYnVmZmVyLnN1YnN0cihlLDMpO2lmKChyPT09XFxcIi0tLVxcXCJ8fHI9PT1cXFwiLi4uXFxcIikmJlhlKHRoaXMuYnVmZmVyW2UrM10pKXJldHVybi0xfXJldHVybiBlfWdldExpbmUoKXtsZXQgZT10aGlzLmxpbmVFbmRQb3M7cmV0dXJuKHR5cGVvZiBlIT1cXFwibnVtYmVyXFxcInx8ZSE9PS0xJiZlPHRoaXMucG9zKSYmKGU9dGhpcy5idWZmZXIuaW5kZXhPZihgXFxuYCx0aGlzLnBvcyksdGhpcy5saW5lRW5kUG9zPWUpLGU9PT0tMT90aGlzLmF0RW5kP3RoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcyk6bnVsbDoodGhpcy5idWZmZXJbZS0xXT09PVxcXCJcXFxcclxcXCImJihlLT0xKSx0aGlzLmJ1ZmZlci5zdWJzdHJpbmcodGhpcy5wb3MsZSkpfWhhc0NoYXJzKGUpe3JldHVybiB0aGlzLnBvcytlPD10aGlzLmJ1ZmZlci5sZW5ndGh9c2V0TmV4dChlKXtyZXR1cm4gdGhpcy5idWZmZXI9dGhpcy5idWZmZXIuc3Vic3RyaW5nKHRoaXMucG9zKSx0aGlzLnBvcz0wLHRoaXMubGluZUVuZFBvcz1udWxsLHRoaXMubmV4dD1lLG51bGx9cGVlayhlKXtyZXR1cm4gdGhpcy5idWZmZXIuc3Vic3RyKHRoaXMucG9zLGUpfSpwYXJzZU5leHQoZSl7c3dpdGNoKGUpe2Nhc2VcXFwic3RyZWFtXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlU3RyZWFtKCkpO2Nhc2VcXFwibGluZS1zdGFydFxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wYXJzZUxpbmVTdGFydCgpKTtjYXNlXFxcImJsb2NrLXN0YXJ0XFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlQmxvY2tTdGFydCgpKTtjYXNlXFxcImRvY1xcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wYXJzZURvY3VtZW50KCkpO2Nhc2VcXFwiZmxvd1xcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wYXJzZUZsb3dDb2xsZWN0aW9uKCkpO2Nhc2VcXFwicXVvdGVkLXNjYWxhclxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpKTtjYXNlXFxcImJsb2NrLXNjYWxhclxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wYXJzZUJsb2NrU2NhbGFyKCkpO2Nhc2VcXFwicGxhaW4tc2NhbGFyXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlUGxhaW5TY2FsYXIoKSl9fSpwYXJzZVN0cmVhbSgpe2xldCBlPXRoaXMuZ2V0TGluZSgpO2lmKGU9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoXFxcInN0cmVhbVxcXCIpO2lmKGVbMF09PT1vbyYmKHlpZWxkKlModGhpcy5wdXNoQ291bnQoMSkpLGU9ZS5zdWJzdHJpbmcoMSkpLGVbMF09PT1cXFwiJVxcXCIpe2xldCB0PWUubGVuZ3RoLHI9ZS5pbmRleE9mKFxcXCIjXFxcIik7Zm9yKDtyIT09LTE7KXtsZXQgaT1lW3ItMV07aWYoaT09PVxcXCIgXFxcInx8aT09PVxcXCJcXHRcXFwiKXt0PXItMTticmVha31lbHNlIHI9ZS5pbmRleE9mKFxcXCIjXFxcIixyKzEpfWZvcig7Oyl7bGV0IGk9ZVt0LTFdO2lmKGk9PT1cXFwiIFxcXCJ8fGk9PT1cXFwiXFx0XFxcIil0LT0xO2Vsc2UgYnJlYWt9bGV0IHM9KHlpZWxkKlModGhpcy5wdXNoQ291bnQodCkpKSsoeWllbGQqUyh0aGlzLnB1c2hTcGFjZXMoITApKSk7cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtcykpLHRoaXMucHVzaE5ld2xpbmUoKSxcXFwic3RyZWFtXFxcIn1pZih0aGlzLmF0TGluZUVuZCgpKXtsZXQgdD15aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMCkpO3JldHVybiB5aWVsZCpTKHRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpKSx5aWVsZCpTKHRoaXMucHVzaE5ld2xpbmUoKSksXFxcInN0cmVhbVxcXCJ9cmV0dXJuIHlpZWxkIGFvLHlpZWxkKlModGhpcy5wYXJzZUxpbmVTdGFydCgpKX0qcGFyc2VMaW5lU3RhcnQoKXtsZXQgZT10aGlzLmNoYXJBdCgwKTtpZighZSYmIXRoaXMuYXRFbmQpcmV0dXJuIHRoaXMuc2V0TmV4dChcXFwibGluZS1zdGFydFxcXCIpO2lmKGU9PT1cXFwiLVxcXCJ8fGU9PT1cXFwiLlxcXCIpe2lmKCF0aGlzLmF0RW5kJiYhdGhpcy5oYXNDaGFycyg0KSlyZXR1cm4gdGhpcy5zZXROZXh0KFxcXCJsaW5lLXN0YXJ0XFxcIik7bGV0IHQ9dGhpcy5wZWVrKDMpO2lmKCh0PT09XFxcIi0tLVxcXCJ8fHQ9PT1cXFwiLi4uXFxcIikmJlhlKHRoaXMuY2hhckF0KDMpKSlyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hDb3VudCgzKSksdGhpcy5pbmRlbnRWYWx1ZT0wLHRoaXMuaW5kZW50TmV4dD0wLHQ9PT1cXFwiLS0tXFxcIj9cXFwiZG9jXFxcIjpcXFwic3RyZWFtXFxcIn1yZXR1cm4gdGhpcy5pbmRlbnRWYWx1ZT15aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMSkpLHRoaXMuaW5kZW50TmV4dD50aGlzLmluZGVudFZhbHVlJiYhWGUodGhpcy5jaGFyQXQoMSkpJiYodGhpcy5pbmRlbnROZXh0PXRoaXMuaW5kZW50VmFsdWUpLHlpZWxkKlModGhpcy5wYXJzZUJsb2NrU3RhcnQoKSl9KnBhcnNlQmxvY2tTdGFydCgpe2xldFtlLHRdPXRoaXMucGVlaygyKTtpZighdCYmIXRoaXMuYXRFbmQpcmV0dXJuIHRoaXMuc2V0TmV4dChcXFwiYmxvY2stc3RhcnRcXFwiKTtpZigoZT09PVxcXCItXFxcInx8ZT09PVxcXCI/XFxcInx8ZT09PVxcXCI6XFxcIikmJlhlKHQpKXtsZXQgcj0oeWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSkpKyh5aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMCkpKTtyZXR1cm4gdGhpcy5pbmRlbnROZXh0PXRoaXMuaW5kZW50VmFsdWUrMSx0aGlzLmluZGVudFZhbHVlKz1yLHlpZWxkKlModGhpcy5wYXJzZUJsb2NrU3RhcnQoKSl9cmV0dXJuXFxcImRvY1xcXCJ9KnBhcnNlRG9jdW1lbnQoKXt5aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMCkpO2xldCBlPXRoaXMuZ2V0TGluZSgpO2lmKGU9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoXFxcImRvY1xcXCIpO2xldCB0PXlpZWxkKlModGhpcy5wdXNoSW5kaWNhdG9ycygpKTtzd2l0Y2goZVt0XSl7Y2FzZVxcXCIjXFxcIjp5aWVsZCpTKHRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpKTtjYXNlIHZvaWQgMDpyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hOZXdsaW5lKCkpLHlpZWxkKlModGhpcy5wYXJzZUxpbmVTdGFydCgpKTtjYXNlXFxcIntcXFwiOmNhc2VcXFwiW1xcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoQ291bnQoMSkpLHRoaXMuZmxvd0tleT0hMSx0aGlzLmZsb3dMZXZlbD0xLFxcXCJmbG93XFxcIjtjYXNlXFxcIn1cXFwiOmNhc2VcXFwiXVxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoQ291bnQoMSkpLFxcXCJkb2NcXFwiO2Nhc2VcXFwiKlxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoVW50aWwobG8pKSxcXFwiZG9jXFxcIjtjYXNlJ1xcXCInOmNhc2VcXFwiJ1xcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpKTtjYXNlXFxcInxcXFwiOmNhc2VcXFwiPlxcXCI6cmV0dXJuIHQrPXlpZWxkKlModGhpcy5wYXJzZUJsb2NrU2NhbGFySGVhZGVyKCkpLHQrPXlpZWxkKlModGhpcy5wdXNoU3BhY2VzKCEwKSkseWllbGQqUyh0aGlzLnB1c2hDb3VudChlLmxlbmd0aC10KSkseWllbGQqUyh0aGlzLnB1c2hOZXdsaW5lKCkpLHlpZWxkKlModGhpcy5wYXJzZUJsb2NrU2NhbGFyKCkpO2RlZmF1bHQ6cmV0dXJuIHlpZWxkKlModGhpcy5wYXJzZVBsYWluU2NhbGFyKCkpfX0qcGFyc2VGbG93Q29sbGVjdGlvbigpe2xldCBlLHQscj0tMTtkbyBlPXlpZWxkKlModGhpcy5wdXNoTmV3bGluZSgpKSxlPjA/KHQ9eWllbGQqUyh0aGlzLnB1c2hTcGFjZXMoITEpKSx0aGlzLmluZGVudFZhbHVlPXI9dCk6dD0wLHQrPXlpZWxkKlModGhpcy5wdXNoU3BhY2VzKCEwKSk7d2hpbGUoZSt0PjApO2xldCBzPXRoaXMuZ2V0TGluZSgpO2lmKHM9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoXFxcImZsb3dcXFwiKTtpZigociE9PS0xJiZyPHRoaXMuaW5kZW50TmV4dCYmc1swXSE9PVxcXCIjXFxcInx8cj09PTAmJihzLnN0YXJ0c1dpdGgoXFxcIi0tLVxcXCIpfHxzLnN0YXJ0c1dpdGgoXFxcIi4uLlxcXCIpKSYmWGUoc1szXSkpJiYhKHI9PT10aGlzLmluZGVudE5leHQtMSYmdGhpcy5mbG93TGV2ZWw9PT0xJiYoc1swXT09PVxcXCJdXFxcInx8c1swXT09PVxcXCJ9XFxcIikpKXJldHVybiB0aGlzLmZsb3dMZXZlbD0wLHlpZWxkIHVvLHlpZWxkKlModGhpcy5wYXJzZUxpbmVTdGFydCgpKTtsZXQgaT0wO2Zvcig7c1tpXT09PVxcXCIsXFxcIjspaSs9eWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSksaSs9eWllbGQqUyh0aGlzLnB1c2hTcGFjZXMoITApKSx0aGlzLmZsb3dLZXk9ITE7c3dpdGNoKGkrPXlpZWxkKlModGhpcy5wdXNoSW5kaWNhdG9ycygpKSxzW2ldKXtjYXNlIHZvaWQgMDpyZXR1cm5cXFwiZmxvd1xcXCI7Y2FzZVxcXCIjXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hDb3VudChzLmxlbmd0aC1pKSksXFxcImZsb3dcXFwiO2Nhc2VcXFwie1xcXCI6Y2FzZVxcXCJbXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSksdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsKz0xLFxcXCJmbG93XFxcIjtjYXNlXFxcIn1cXFwiOmNhc2VcXFwiXVxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoQ291bnQoMSkpLHRoaXMuZmxvd0tleT0hMCx0aGlzLmZsb3dMZXZlbC09MSx0aGlzLmZsb3dMZXZlbD9cXFwiZmxvd1xcXCI6XFxcImRvY1xcXCI7Y2FzZVxcXCIqXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hVbnRpbChsbykpLFxcXCJmbG93XFxcIjtjYXNlJ1xcXCInOmNhc2VcXFwiJ1xcXCI6cmV0dXJuIHRoaXMuZmxvd0tleT0hMCx5aWVsZCpTKHRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKSk7Y2FzZVxcXCI6XFxcIjp7bGV0IG89dGhpcy5jaGFyQXQoMSk7aWYodGhpcy5mbG93S2V5fHxYZShvKXx8bz09PVxcXCIsXFxcIilyZXR1cm4gdGhpcy5mbG93S2V5PSExLHlpZWxkKlModGhpcy5wdXNoQ291bnQoMSkpLHlpZWxkKlModGhpcy5wdXNoU3BhY2VzKCEwKSksXFxcImZsb3dcXFwifWRlZmF1bHQ6cmV0dXJuIHRoaXMuZmxvd0tleT0hMSx5aWVsZCpTKHRoaXMucGFyc2VQbGFpblNjYWxhcigpKX19KnBhcnNlUXVvdGVkU2NhbGFyKCl7bGV0IGU9dGhpcy5jaGFyQXQoMCksdD10aGlzLmJ1ZmZlci5pbmRleE9mKGUsdGhpcy5wb3MrMSk7aWYoZT09PVxcXCInXFxcIilmb3IoO3QhPT0tMSYmdGhpcy5idWZmZXJbdCsxXT09PVxcXCInXFxcIjspdD10aGlzLmJ1ZmZlci5pbmRleE9mKFxcXCInXFxcIix0KzIpO2Vsc2UgZm9yKDt0IT09LTE7KXtsZXQgaT0wO2Zvcig7dGhpcy5idWZmZXJbdC0xLWldPT09XFxcIlxcXFxcXFxcXFxcIjspaSs9MTtpZihpJTI9PT0wKWJyZWFrO3Q9dGhpcy5idWZmZXIuaW5kZXhPZignXFxcIicsdCsxKX1sZXQgcj10aGlzLmJ1ZmZlci5zdWJzdHJpbmcoMCx0KSxzPXIuaW5kZXhPZihgXFxuYCx0aGlzLnBvcyk7aWYocyE9PS0xKXtmb3IoO3MhPT0tMTspe2xldCBpPXRoaXMuY29udGludWVTY2FsYXIocysxKTtpZihpPT09LTEpYnJlYWs7cz1yLmluZGV4T2YoYFxcbmAsaSl9cyE9PS0xJiYodD1zLShyW3MtMV09PT1cXFwiXFxcXHJcXFwiPzI6MSkpfWlmKHQ9PT0tMSl7aWYoIXRoaXMuYXRFbmQpcmV0dXJuIHRoaXMuc2V0TmV4dChcXFwicXVvdGVkLXNjYWxhclxcXCIpO3Q9dGhpcy5idWZmZXIubGVuZ3RofXJldHVybiB5aWVsZCpTKHRoaXMucHVzaFRvSW5kZXgodCsxLCExKSksdGhpcy5mbG93TGV2ZWw/XFxcImZsb3dcXFwiOlxcXCJkb2NcXFwifSpwYXJzZUJsb2NrU2NhbGFySGVhZGVyKCl7dGhpcy5ibG9ja1NjYWxhckluZGVudD0tMSx0aGlzLmJsb2NrU2NhbGFyS2VlcD0hMTtsZXQgZT10aGlzLnBvcztmb3IoOzspe2xldCB0PXRoaXMuYnVmZmVyWysrZV07aWYodD09PVxcXCIrXFxcIil0aGlzLmJsb2NrU2NhbGFyS2VlcD0hMDtlbHNlIGlmKHQ+XFxcIjBcXFwiJiZ0PD1cXFwiOVxcXCIpdGhpcy5ibG9ja1NjYWxhckluZGVudD1OdW1iZXIodCktMTtlbHNlIGlmKHQhPT1cXFwiLVxcXCIpYnJlYWt9cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoVW50aWwodD0+WGUodCl8fHQ9PT1cXFwiI1xcXCIpKX0qcGFyc2VCbG9ja1NjYWxhcigpe2xldCBlPXRoaXMucG9zLTEsdD0wLHI7ZTpmb3IobGV0IGk9dGhpcy5wb3M7cj10aGlzLmJ1ZmZlcltpXTsrK2kpc3dpdGNoKHIpe2Nhc2VcXFwiIFxcXCI6dCs9MTticmVhaztjYXNlYFxcbmA6ZT1pLHQ9MDticmVhaztjYXNlXFxcIlxcXFxyXFxcIjp7bGV0IG89dGhpcy5idWZmZXJbaSsxXTtpZighbyYmIXRoaXMuYXRFbmQpcmV0dXJuIHRoaXMuc2V0TmV4dChcXFwiYmxvY2stc2NhbGFyXFxcIik7aWYobz09PWBcXG5gKWJyZWFrfWRlZmF1bHQ6YnJlYWsgZX1pZighciYmIXRoaXMuYXRFbmQpcmV0dXJuIHRoaXMuc2V0TmV4dChcXFwiYmxvY2stc2NhbGFyXFxcIik7aWYodD49dGhpcy5pbmRlbnROZXh0KXt0aGlzLmJsb2NrU2NhbGFySW5kZW50PT09LTE/dGhpcy5pbmRlbnROZXh0PXQ6dGhpcy5pbmRlbnROZXh0PXRoaXMuYmxvY2tTY2FsYXJJbmRlbnQrKHRoaXMuaW5kZW50TmV4dD09PTA/MTp0aGlzLmluZGVudE5leHQpO2Rve2xldCBpPXRoaXMuY29udGludWVTY2FsYXIoZSsxKTtpZihpPT09LTEpYnJlYWs7ZT10aGlzLmJ1ZmZlci5pbmRleE9mKGBcXG5gLGkpfXdoaWxlKGUhPT0tMSk7aWYoZT09PS0xKXtpZighdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KFxcXCJibG9jay1zY2FsYXJcXFwiKTtlPXRoaXMuYnVmZmVyLmxlbmd0aH19bGV0IHM9ZSsxO2ZvcihyPXRoaXMuYnVmZmVyW3NdO3I9PT1cXFwiIFxcXCI7KXI9dGhpcy5idWZmZXJbKytzXTtpZihyPT09XFxcIlxcdFxcXCIpe2Zvcig7cj09PVxcXCJcXHRcXFwifHxyPT09XFxcIiBcXFwifHxyPT09XFxcIlxcXFxyXFxcInx8cj09PWBcXG5gOylyPXRoaXMuYnVmZmVyWysrc107ZT1zLTF9ZWxzZSBpZighdGhpcy5ibG9ja1NjYWxhcktlZXApZG97bGV0IGk9ZS0xLG89dGhpcy5idWZmZXJbaV07bz09PVxcXCJcXFxcclxcXCImJihvPXRoaXMuYnVmZmVyWy0taV0pO2xldCBhPWk7Zm9yKDtvPT09XFxcIiBcXFwiOylvPXRoaXMuYnVmZmVyWy0taV07aWYobz09PWBcXG5gJiZpPj10aGlzLnBvcyYmaSsxK3Q+YSllPWk7ZWxzZSBicmVha313aGlsZSghMCk7cmV0dXJuIHlpZWxkIE1zLHlpZWxkKlModGhpcy5wdXNoVG9JbmRleChlKzEsITApKSx5aWVsZCpTKHRoaXMucGFyc2VMaW5lU3RhcnQoKSl9KnBhcnNlUGxhaW5TY2FsYXIoKXtsZXQgZT10aGlzLmZsb3dMZXZlbD4wLHQ9dGhpcy5wb3MtMSxyPXRoaXMucG9zLTEscztmb3IoO3M9dGhpcy5idWZmZXJbKytyXTspaWYocz09PVxcXCI6XFxcIil7bGV0IGk9dGhpcy5idWZmZXJbcisxXTtpZihYZShpKXx8ZSYmX3MuaGFzKGkpKWJyZWFrO3Q9cn1lbHNlIGlmKFhlKHMpKXtsZXQgaT10aGlzLmJ1ZmZlcltyKzFdO2lmKHM9PT1cXFwiXFxcXHJcXFwiJiYoaT09PWBcXG5gPyhyKz0xLHM9YFxcbmAsaT10aGlzLmJ1ZmZlcltyKzFdKTp0PXIpLGk9PT1cXFwiI1xcXCJ8fGUmJl9zLmhhcyhpKSlicmVhaztpZihzPT09YFxcbmApe2xldCBvPXRoaXMuY29udGludWVTY2FsYXIocisxKTtpZihvPT09LTEpYnJlYWs7cj1NYXRoLm1heChyLG8tMil9fWVsc2V7aWYoZSYmX3MuaGFzKHMpKWJyZWFrO3Q9cn1yZXR1cm4hcyYmIXRoaXMuYXRFbmQ/dGhpcy5zZXROZXh0KFxcXCJwbGFpbi1zY2FsYXJcXFwiKTooeWllbGQgTXMseWllbGQqUyh0aGlzLnB1c2hUb0luZGV4KHQrMSwhMCkpLGU/XFxcImZsb3dcXFwiOlxcXCJkb2NcXFwiKX0qcHVzaENvdW50KGUpe3JldHVybiBlPjA/KHlpZWxkIHRoaXMuYnVmZmVyLnN1YnN0cih0aGlzLnBvcyxlKSx0aGlzLnBvcys9ZSxlKTowfSpwdXNoVG9JbmRleChlLHQpe2xldCByPXRoaXMuYnVmZmVyLnNsaWNlKHRoaXMucG9zLGUpO3JldHVybiByPyh5aWVsZCByLHRoaXMucG9zKz1yLmxlbmd0aCxyLmxlbmd0aCk6KHQmJih5aWVsZFxcXCJcXFwiKSwwKX0qcHVzaEluZGljYXRvcnMoKXtzd2l0Y2godGhpcy5jaGFyQXQoMCkpe2Nhc2VcXFwiIVxcXCI6cmV0dXJuKHlpZWxkKlModGhpcy5wdXNoVGFnKCkpKSsoeWllbGQqUyh0aGlzLnB1c2hTcGFjZXMoITApKSkrKHlpZWxkKlModGhpcy5wdXNoSW5kaWNhdG9ycygpKSk7Y2FzZVxcXCImXFxcIjpyZXR1cm4oeWllbGQqUyh0aGlzLnB1c2hVbnRpbChsbykpKSsoeWllbGQqUyh0aGlzLnB1c2hTcGFjZXMoITApKSkrKHlpZWxkKlModGhpcy5wdXNoSW5kaWNhdG9ycygpKSk7Y2FzZVxcXCItXFxcIjpjYXNlXFxcIj9cXFwiOmNhc2VcXFwiOlxcXCI6e2xldCBlPXRoaXMuZmxvd0xldmVsPjAsdD10aGlzLmNoYXJBdCgxKTtpZihYZSh0KXx8ZSYmX3MuaGFzKHQpKXJldHVybiBlP3RoaXMuZmxvd0tleSYmKHRoaXMuZmxvd0tleT0hMSk6dGhpcy5pbmRlbnROZXh0PXRoaXMuaW5kZW50VmFsdWUrMSwoeWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSkpKyh5aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMCkpKSsoeWllbGQqUyh0aGlzLnB1c2hJbmRpY2F0b3JzKCkpKX19cmV0dXJuIDB9KnB1c2hUYWcoKXtpZih0aGlzLmNoYXJBdCgxKT09PVxcXCI8XFxcIil7bGV0IGU9dGhpcy5wb3MrMix0PXRoaXMuYnVmZmVyW2VdO2Zvcig7IVhlKHQpJiZ0IT09XFxcIj5cXFwiOyl0PXRoaXMuYnVmZmVyWysrZV07cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoVG9JbmRleCh0PT09XFxcIj5cXFwiP2UrMTplLCExKSl9ZWxzZXtsZXQgZT10aGlzLnBvcysxLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDt0OylpZihGZi5oYXModCkpdD10aGlzLmJ1ZmZlclsrK2VdO2Vsc2UgaWYodD09PVxcXCIlXFxcIiYmeHUuaGFzKHRoaXMuYnVmZmVyW2UrMV0pJiZ4dS5oYXModGhpcy5idWZmZXJbZSsyXSkpdD10aGlzLmJ1ZmZlcltlKz0zXTtlbHNlIGJyZWFrO3JldHVybiB5aWVsZCpTKHRoaXMucHVzaFRvSW5kZXgoZSwhMSkpfX0qcHVzaE5ld2xpbmUoKXtsZXQgZT10aGlzLmJ1ZmZlclt0aGlzLnBvc107cmV0dXJuIGU9PT1gXFxuYD95aWVsZCpTKHRoaXMucHVzaENvdW50KDEpKTplPT09XFxcIlxcXFxyXFxcIiYmdGhpcy5jaGFyQXQoMSk9PT1gXFxuYD95aWVsZCpTKHRoaXMucHVzaENvdW50KDIpKTowfSpwdXNoU3BhY2VzKGUpe2xldCB0PXRoaXMucG9zLTEscjtkbyByPXRoaXMuYnVmZmVyWysrdF07d2hpbGUocj09PVxcXCIgXFxcInx8ZSYmcj09PVxcXCJcXHRcXFwiKTtsZXQgcz10LXRoaXMucG9zO3JldHVybiBzPjAmJih5aWVsZCB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MscyksdGhpcy5wb3M9dCksc30qcHVzaFVudGlsKGUpe2xldCB0PXRoaXMucG9zLHI9dGhpcy5idWZmZXJbdF07Zm9yKDshZShyKTspcj10aGlzLmJ1ZmZlclsrK3RdO3JldHVybiB5aWVsZCpTKHRoaXMucHVzaFRvSW5kZXgodCwhMSkpfX07dmFyIE5yPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5saW5lU3RhcnRzPVtdLHRoaXMuYWRkTmV3TGluZT1lPT50aGlzLmxpbmVTdGFydHMucHVzaChlKSx0aGlzLmxpbmVQb3M9ZT0+e2xldCB0PTAscj10aGlzLmxpbmVTdGFydHMubGVuZ3RoO2Zvcig7dDxyOyl7bGV0IGk9dCtyPj4xO3RoaXMubGluZVN0YXJ0c1tpXTxlP3Q9aSsxOnI9aX1pZih0aGlzLmxpbmVTdGFydHNbdF09PT1lKXJldHVybntsaW5lOnQrMSxjb2w6MX07aWYodD09PTApcmV0dXJue2xpbmU6MCxjb2w6ZX07bGV0IHM9dGhpcy5saW5lU3RhcnRzW3QtMV07cmV0dXJue2xpbmU6dCxjb2w6ZS1zKzF9fX19O2Z1bmN0aW9uIHp0KG4sZSl7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDsrK3QpaWYoblt0XS50eXBlPT09ZSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBJdShuKXtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoOysrZSlzd2l0Y2gobltlXS50eXBlKXtjYXNlXFxcInNwYWNlXFxcIjpjYXNlXFxcImNvbW1lbnRcXFwiOmNhc2VcXFwibmV3bGluZVxcXCI6YnJlYWs7ZGVmYXVsdDpyZXR1cm4gZX1yZXR1cm4tMX1mdW5jdGlvbiBOdShuKXtzd2l0Y2gobj09bnVsbD92b2lkIDA6bi50eXBlKXtjYXNlXFxcImFsaWFzXFxcIjpjYXNlXFxcInNjYWxhclxcXCI6Y2FzZVxcXCJzaW5nbGUtcXVvdGVkLXNjYWxhclxcXCI6Y2FzZVxcXCJkb3VibGUtcXVvdGVkLXNjYWxhclxcXCI6Y2FzZVxcXCJmbG93LWNvbGxlY3Rpb25cXFwiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEJzKG4pe3ZhciBlO3N3aXRjaChuLnR5cGUpe2Nhc2VcXFwiZG9jdW1lbnRcXFwiOnJldHVybiBuLnN0YXJ0O2Nhc2VcXFwiYmxvY2stbWFwXFxcIjp7bGV0IHQ9bi5pdGVtc1tuLml0ZW1zLmxlbmd0aC0xXTtyZXR1cm4oZT10LnNlcCkhPW51bGw/ZTp0LnN0YXJ0fWNhc2VcXFwiYmxvY2stc2VxXFxcIjpyZXR1cm4gbi5pdGVtc1tuLml0ZW1zLmxlbmd0aC0xXS5zdGFydDtkZWZhdWx0OnJldHVybltdfX1mdW5jdGlvbiBObihuKXt2YXIgdDtpZihuLmxlbmd0aD09PTApcmV0dXJuW107bGV0IGU9bi5sZW5ndGg7ZTpmb3IoOy0tZT49MDspc3dpdGNoKG5bZV0udHlwZSl7Y2FzZVxcXCJkb2Mtc3RhcnRcXFwiOmNhc2VcXFwiZXhwbGljaXQta2V5LWluZFxcXCI6Y2FzZVxcXCJtYXAtdmFsdWUtaW5kXFxcIjpjYXNlXFxcInNlcS1pdGVtLWluZFxcXCI6Y2FzZVxcXCJuZXdsaW5lXFxcIjpicmVhayBlfWZvcig7KCh0PW5bKytlXSk9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cXFwic3BhY2VcXFwiOyk7cmV0dXJuIG4uc3BsaWNlKGUsbi5sZW5ndGgpfWZ1bmN0aW9uIEx1KG4pe2lmKG4uc3RhcnQudHlwZT09PVxcXCJmbG93LXNlcS1zdGFydFxcXCIpZm9yKGxldCBlIG9mIG4uaXRlbXMpZS5zZXAmJiFlLnZhbHVlJiYhenQoZS5zdGFydCxcXFwiZXhwbGljaXQta2V5LWluZFxcXCIpJiYhenQoZS5zZXAsXFxcIm1hcC12YWx1ZS1pbmRcXFwiKSYmKGUua2V5JiYoZS52YWx1ZT1lLmtleSksZGVsZXRlIGUua2V5LE51KGUudmFsdWUpP2UudmFsdWUuZW5kP0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUudmFsdWUuZW5kLGUuc2VwKTplLnZhbHVlLmVuZD1lLnNlcDpBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLnN0YXJ0LGUuc2VwKSxkZWxldGUgZS5zZXApfXZhciBBcj1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmF0U2NhbGFyPSExLHRoaXMuaW5kZW50PTAsdGhpcy5vZmZzZXQ9MCx0aGlzLm9uS2V5TGluZT0hMSx0aGlzLnN0YWNrPVtdLHRoaXMuc291cmNlPVxcXCJcXFwiLHRoaXMudHlwZT1cXFwiXFxcIix0aGlzLmxleGVyPW5ldyBMcix0aGlzLm9uTmV3TGluZT1lfSpwYXJzZShlLHQ9ITEpe3RoaXMub25OZXdMaW5lJiZ0aGlzLm9mZnNldD09PTAmJnRoaXMub25OZXdMaW5lKDApO2ZvcihsZXQgciBvZiB0aGlzLmxleGVyLmxleChlLHQpKXlpZWxkKlModGhpcy5uZXh0KHIpKTt0fHwoeWllbGQqUyh0aGlzLmVuZCgpKSl9Km5leHQoZSl7aWYodGhpcy5zb3VyY2U9ZSx0aGlzLmF0U2NhbGFyKXt0aGlzLmF0U2NhbGFyPSExLHlpZWxkKlModGhpcy5zdGVwKCkpLHRoaXMub2Zmc2V0Kz1lLmxlbmd0aDtyZXR1cm59bGV0IHQ9T3UoZSk7aWYodClpZih0PT09XFxcInNjYWxhclxcXCIpdGhpcy5hdE5ld0xpbmU9ITEsdGhpcy5hdFNjYWxhcj0hMCx0aGlzLnR5cGU9XFxcInNjYWxhclxcXCI7ZWxzZXtzd2l0Y2godGhpcy50eXBlPXQseWllbGQqUyh0aGlzLnN0ZXAoKSksdCl7Y2FzZVxcXCJuZXdsaW5lXFxcIjp0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmluZGVudD0wLHRoaXMub25OZXdMaW5lJiZ0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCtlLmxlbmd0aCk7YnJlYWs7Y2FzZVxcXCJzcGFjZVxcXCI6dGhpcy5hdE5ld0xpbmUmJmVbMF09PT1cXFwiIFxcXCImJih0aGlzLmluZGVudCs9ZS5sZW5ndGgpO2JyZWFrO2Nhc2VcXFwiZXhwbGljaXQta2V5LWluZFxcXCI6Y2FzZVxcXCJtYXAtdmFsdWUtaW5kXFxcIjpjYXNlXFxcInNlcS1pdGVtLWluZFxcXCI6dGhpcy5hdE5ld0xpbmUmJih0aGlzLmluZGVudCs9ZS5sZW5ndGgpO2JyZWFrO2Nhc2VcXFwiZG9jLW1vZGVcXFwiOmNhc2VcXFwiZmxvdy1lcnJvci1lbmRcXFwiOnJldHVybjtkZWZhdWx0OnRoaXMuYXROZXdMaW5lPSExfXRoaXMub2Zmc2V0Kz1lLmxlbmd0aH1lbHNle2xldCByPWBOb3QgYSBZQU1MIHRva2VuOiAke2V9YDt5aWVsZCpTKHRoaXMucG9wKHt0eXBlOlxcXCJlcnJvclxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LG1lc3NhZ2U6cixzb3VyY2U6ZX0pKSx0aGlzLm9mZnNldCs9ZS5sZW5ndGh9fSplbmQoKXtmb3IoO3RoaXMuc3RhY2subGVuZ3RoPjA7KXlpZWxkKlModGhpcy5wb3AoKSl9Z2V0IHNvdXJjZVRva2VuKCl7cmV0dXJue3R5cGU6dGhpcy50eXBlLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsc291cmNlOnRoaXMuc291cmNlfX0qc3RlcCgpe2xldCBlPXRoaXMucGVlaygxKTtpZih0aGlzLnR5cGU9PT1cXFwiZG9jLWVuZFxcXCImJighZXx8ZS50eXBlIT09XFxcImRvYy1lbmRcXFwiKSl7Zm9yKDt0aGlzLnN0YWNrLmxlbmd0aD4wOyl5aWVsZCpTKHRoaXMucG9wKCkpO3RoaXMuc3RhY2sucHVzaCh7dHlwZTpcXFwiZG9jLWVuZFxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LHNvdXJjZTp0aGlzLnNvdXJjZX0pO3JldHVybn1pZighZSlyZXR1cm4geWllbGQqUyh0aGlzLnN0cmVhbSgpKTtzd2l0Y2goZS50eXBlKXtjYXNlXFxcImRvY3VtZW50XFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLmRvY3VtZW50KGUpKTtjYXNlXFxcImFsaWFzXFxcIjpjYXNlXFxcInNjYWxhclxcXCI6Y2FzZVxcXCJzaW5nbGUtcXVvdGVkLXNjYWxhclxcXCI6Y2FzZVxcXCJkb3VibGUtcXVvdGVkLXNjYWxhclxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5zY2FsYXIoZSkpO2Nhc2VcXFwiYmxvY2stc2NhbGFyXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLmJsb2NrU2NhbGFyKGUpKTtjYXNlXFxcImJsb2NrLW1hcFxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5ibG9ja01hcChlKSk7Y2FzZVxcXCJibG9jay1zZXFcXFwiOnJldHVybiB5aWVsZCpTKHRoaXMuYmxvY2tTZXF1ZW5jZShlKSk7Y2FzZVxcXCJmbG93LWNvbGxlY3Rpb25cXFwiOnJldHVybiB5aWVsZCpTKHRoaXMuZmxvd0NvbGxlY3Rpb24oZSkpO2Nhc2VcXFwiZG9jLWVuZFxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5kb2N1bWVudEVuZChlKSl9eWllbGQqUyh0aGlzLnBvcCgpKX1wZWVrKGUpe3JldHVybiB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLWVdfSpwb3AoZSl7bGV0IHQ9ZSE9bnVsbD9lOnRoaXMuc3RhY2sucG9wKCk7aWYoIXQpeWllbGR7dHlwZTpcXFwiZXJyb3JcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxzb3VyY2U6XFxcIlxcXCIsbWVzc2FnZTpcXFwiVHJpZWQgdG8gcG9wIGFuIGVtcHR5IHN0YWNrXFxcIn07ZWxzZSBpZih0aGlzLnN0YWNrLmxlbmd0aD09PTApeWllbGQgdDtlbHNle2xldCByPXRoaXMucGVlaygxKTtzd2l0Y2godC50eXBlPT09XFxcImJsb2NrLXNjYWxhclxcXCI/dC5pbmRlbnQ9XFxcImluZGVudFxcXCJpbiByP3IuaW5kZW50OjA6dC50eXBlPT09XFxcImZsb3ctY29sbGVjdGlvblxcXCImJnIudHlwZT09PVxcXCJkb2N1bWVudFxcXCImJih0LmluZGVudD0wKSx0LnR5cGU9PT1cXFwiZmxvdy1jb2xsZWN0aW9uXFxcIiYmTHUodCksci50eXBlKXtjYXNlXFxcImRvY3VtZW50XFxcIjpyLnZhbHVlPXQ7YnJlYWs7Y2FzZVxcXCJibG9jay1zY2FsYXJcXFwiOnIucHJvcHMucHVzaCh0KTticmVhaztjYXNlXFxcImJsb2NrLW1hcFxcXCI6e2xldCBzPXIuaXRlbXNbci5pdGVtcy5sZW5ndGgtMV07aWYocy52YWx1ZSl7ci5pdGVtcy5wdXNoKHtzdGFydDpbXSxrZXk6dCxzZXA6W119KSx0aGlzLm9uS2V5TGluZT0hMDtyZXR1cm59ZWxzZSBpZihzLnNlcClzLnZhbHVlPXQ7ZWxzZXtPYmplY3QuYXNzaWduKHMse2tleTp0LHNlcDpbXX0pLHRoaXMub25LZXlMaW5lPSFzLmV4cGxpY2l0S2V5O3JldHVybn1icmVha31jYXNlXFxcImJsb2NrLXNlcVxcXCI6e2xldCBzPXIuaXRlbXNbci5pdGVtcy5sZW5ndGgtMV07cy52YWx1ZT9yLml0ZW1zLnB1c2goe3N0YXJ0OltdLHZhbHVlOnR9KTpzLnZhbHVlPXQ7YnJlYWt9Y2FzZVxcXCJmbG93LWNvbGxlY3Rpb25cXFwiOntsZXQgcz1yLml0ZW1zW3IuaXRlbXMubGVuZ3RoLTFdOyFzfHxzLnZhbHVlP3IuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5OnQsc2VwOltdfSk6cy5zZXA/cy52YWx1ZT10Ok9iamVjdC5hc3NpZ24ocyx7a2V5OnQsc2VwOltdfSk7cmV0dXJufWRlZmF1bHQ6eWllbGQqUyh0aGlzLnBvcCgpKSx5aWVsZCpTKHRoaXMucG9wKHQpKX1pZigoci50eXBlPT09XFxcImRvY3VtZW50XFxcInx8ci50eXBlPT09XFxcImJsb2NrLW1hcFxcXCJ8fHIudHlwZT09PVxcXCJibG9jay1zZXFcXFwiKSYmKHQudHlwZT09PVxcXCJibG9jay1tYXBcXFwifHx0LnR5cGU9PT1cXFwiYmxvY2stc2VxXFxcIikpe2xldCBzPXQuaXRlbXNbdC5pdGVtcy5sZW5ndGgtMV07cyYmIXMuc2VwJiYhcy52YWx1ZSYmcy5zdGFydC5sZW5ndGg+MCYmSXUocy5zdGFydCk9PT0tMSYmKHQuaW5kZW50PT09MHx8cy5zdGFydC5ldmVyeShpPT5pLnR5cGUhPT1cXFwiY29tbWVudFxcXCJ8fGkuaW5kZW50PHQuaW5kZW50KSkmJihyLnR5cGU9PT1cXFwiZG9jdW1lbnRcXFwiP3IuZW5kPXMuc3RhcnQ6ci5pdGVtcy5wdXNoKHtzdGFydDpzLnN0YXJ0fSksdC5pdGVtcy5zcGxpY2UoLTEsMSkpfX19KnN0cmVhbSgpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2VcXFwiZGlyZWN0aXZlLWxpbmVcXFwiOnlpZWxke3R5cGU6XFxcImRpcmVjdGl2ZVxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LHNvdXJjZTp0aGlzLnNvdXJjZX07cmV0dXJuO2Nhc2VcXFwiYnl0ZS1vcmRlci1tYXJrXFxcIjpjYXNlXFxcInNwYWNlXFxcIjpjYXNlXFxcImNvbW1lbnRcXFwiOmNhc2VcXFwibmV3bGluZVxcXCI6eWllbGQgdGhpcy5zb3VyY2VUb2tlbjtyZXR1cm47Y2FzZVxcXCJkb2MtbW9kZVxcXCI6Y2FzZVxcXCJkb2Mtc3RhcnRcXFwiOntsZXQgZT17dHlwZTpcXFwiZG9jdW1lbnRcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxzdGFydDpbXX07dGhpcy50eXBlPT09XFxcImRvYy1zdGFydFxcXCImJmUuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKSx0aGlzLnN0YWNrLnB1c2goZSk7cmV0dXJufX15aWVsZHt0eXBlOlxcXCJlcnJvclxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LG1lc3NhZ2U6YFVuZXhwZWN0ZWQgJHt0aGlzLnR5cGV9IHRva2VuIGluIFlBTUwgc3RyZWFtYCxzb3VyY2U6dGhpcy5zb3VyY2V9fSpkb2N1bWVudChlKXtpZihlLnZhbHVlKXJldHVybiB5aWVsZCpTKHRoaXMubGluZUVuZChlKSk7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZVxcXCJkb2Mtc3RhcnRcXFwiOntJdShlLnN0YXJ0KSE9PS0xPyh5aWVsZCpTKHRoaXMucG9wKCkpLHlpZWxkKlModGhpcy5zdGVwKCkpKTplLnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWNhc2VcXFwiYW5jaG9yXFxcIjpjYXNlXFxcInRhZ1xcXCI6Y2FzZVxcXCJzcGFjZVxcXCI6Y2FzZVxcXCJjb21tZW50XFxcIjpjYXNlXFxcIm5ld2xpbmVcXFwiOmUuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm59bGV0IHQ9dGhpcy5zdGFydEJsb2NrVmFsdWUoZSk7dD90aGlzLnN0YWNrLnB1c2godCk6eWllbGR7dHlwZTpcXFwiZXJyb3JcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxtZXNzYWdlOmBVbmV4cGVjdGVkICR7dGhpcy50eXBlfSB0b2tlbiBpbiBZQU1MIGRvY3VtZW50YCxzb3VyY2U6dGhpcy5zb3VyY2V9fSpzY2FsYXIoZSl7aWYodGhpcy50eXBlPT09XFxcIm1hcC12YWx1ZS1pbmRcXFwiKXtsZXQgdD1Ccyh0aGlzLnBlZWsoMikpLHI9Tm4odCkscztlLmVuZD8ocz1lLmVuZCxzLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZGVsZXRlIGUuZW5kKTpzPVt0aGlzLnNvdXJjZVRva2VuXTtsZXQgaT17dHlwZTpcXFwiYmxvY2stbWFwXFxcIixvZmZzZXQ6ZS5vZmZzZXQsaW5kZW50OmUuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6cixrZXk6ZSxzZXA6c31dfTt0aGlzLm9uS2V5TGluZT0hMCx0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdPWl9ZWxzZSB5aWVsZCpTKHRoaXMubGluZUVuZChlKSl9KmJsb2NrU2NhbGFyKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2VcXFwic3BhY2VcXFwiOmNhc2VcXFwiY29tbWVudFxcXCI6Y2FzZVxcXCJuZXdsaW5lXFxcIjplLnByb3BzLnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2VcXFwic2NhbGFyXFxcIjppZihlLnNvdXJjZT10aGlzLnNvdXJjZSx0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmluZGVudD0wLHRoaXMub25OZXdMaW5lKXtsZXQgdD10aGlzLnNvdXJjZS5pbmRleE9mKGBcXG5gKSsxO2Zvcig7dCE9PTA7KXRoaXMub25OZXdMaW5lKHRoaXMub2Zmc2V0K3QpLHQ9dGhpcy5zb3VyY2UuaW5kZXhPZihgXFxuYCx0KSsxfXlpZWxkKlModGhpcy5wb3AoKSk7YnJlYWs7ZGVmYXVsdDp5aWVsZCpTKHRoaXMucG9wKCkpLHlpZWxkKlModGhpcy5zdGVwKCkpfX0qYmxvY2tNYXAoZSl7dmFyIHI7bGV0IHQ9ZS5pdGVtc1tlLml0ZW1zLmxlbmd0aC0xXTtzd2l0Y2godGhpcy50eXBlKXtjYXNlXFxcIm5ld2xpbmVcXFwiOmlmKHRoaXMub25LZXlMaW5lPSExLHQudmFsdWUpe2xldCBzPVxcXCJlbmRcXFwiaW4gdC52YWx1ZT90LnZhbHVlLmVuZDp2b2lkIDAsaT1BcnJheS5pc0FycmF5KHMpP3Nbcy5sZW5ndGgtMV06dm9pZCAwOyhpPT1udWxsP3ZvaWQgMDppLnR5cGUpPT09XFxcImNvbW1lbnRcXFwiP3M9PW51bGx8fHMucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pfWVsc2UgdC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2VcXFwic3BhY2VcXFwiOmNhc2VcXFwiY29tbWVudFxcXCI6aWYodC52YWx1ZSllLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pO2Vsc2UgaWYodC5zZXApdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtlbHNle2lmKHRoaXMuYXRJbmRlbnRlZENvbW1lbnQodC5zdGFydCxlLmluZGVudCkpe2xldCBzPWUuaXRlbXNbZS5pdGVtcy5sZW5ndGgtMl0saT0ocj1zPT1udWxsP3ZvaWQgMDpzLnZhbHVlKT09bnVsbD92b2lkIDA6ci5lbmQ7aWYoQXJyYXkuaXNBcnJheShpKSl7QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaSx0LnN0YXJ0KSxpLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZS5pdGVtcy5wb3AoKTtyZXR1cm59fXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKX1yZXR1cm59aWYodGhpcy5pbmRlbnQ+PWUuaW5kZW50KXtsZXQgcz0hdGhpcy5vbktleUxpbmUmJnRoaXMuaW5kZW50PT09ZS5pbmRlbnQsaT1zJiYodC5zZXB8fHQuZXhwbGljaXRLZXkpJiZ0aGlzLnR5cGUhPT1cXFwic2VxLWl0ZW0taW5kXFxcIixvPVtdO2lmKGkmJnQuc2VwJiYhdC52YWx1ZSl7bGV0IGE9W107Zm9yKGxldCB1PTA7dTx0LnNlcC5sZW5ndGg7Kyt1KXtsZXQgbD10LnNlcFt1XTtzd2l0Y2gobC50eXBlKXtjYXNlXFxcIm5ld2xpbmVcXFwiOmEucHVzaCh1KTticmVhaztjYXNlXFxcInNwYWNlXFxcIjpicmVhaztjYXNlXFxcImNvbW1lbnRcXFwiOmwuaW5kZW50PmUuaW5kZW50JiYoYS5sZW5ndGg9MCk7YnJlYWs7ZGVmYXVsdDphLmxlbmd0aD0wfX1hLmxlbmd0aD49MiYmKG89dC5zZXAuc3BsaWNlKGFbMV0pKX1zd2l0Y2godGhpcy50eXBlKXtjYXNlXFxcImFuY2hvclxcXCI6Y2FzZVxcXCJ0YWdcXFwiOml8fHQudmFsdWU/KG8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnB1c2goe3N0YXJ0Om99KSx0aGlzLm9uS2V5TGluZT0hMCk6dC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2VcXFwiZXhwbGljaXQta2V5LWluZFxcXCI6IXQuc2VwJiYhdC5leHBsaWNpdEtleT8odC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHQuZXhwbGljaXRLZXk9ITApOml8fHQudmFsdWU/KG8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnB1c2goe3N0YXJ0Om8sZXhwbGljaXRLZXk6ITB9KSk6dGhpcy5zdGFjay5wdXNoKHt0eXBlOlxcXCJibG9jay1tYXBcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl0sZXhwbGljaXRLZXk6ITB9XX0pLHRoaXMub25LZXlMaW5lPSEwO3JldHVybjtjYXNlXFxcIm1hcC12YWx1ZS1pbmRcXFwiOmlmKHQuZXhwbGljaXRLZXkpaWYodC5zZXApaWYodC52YWx1ZSllLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTtlbHNlIGlmKHp0KHQuc2VwLFxcXCJtYXAtdmFsdWUtaW5kXFxcIikpdGhpcy5zdGFjay5wdXNoKHt0eXBlOlxcXCJibG9jay1tYXBcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpvLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX0pO2Vsc2UgaWYoTnUodC5rZXkpJiYhenQodC5zZXAsXFxcIm5ld2xpbmVcXFwiKSl7bGV0IGE9Tm4odC5zdGFydCksdT10LmtleSxsPXQuc2VwO2wucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxkZWxldGUgdC5rZXksZGVsZXRlIHQuc2VwLHRoaXMuc3RhY2sucHVzaCh7dHlwZTpcXFwiYmxvY2stbWFwXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6YSxrZXk6dSxzZXA6bH1dfSl9ZWxzZSBvLmxlbmd0aD4wP3Quc2VwPXQuc2VwLmNvbmNhdChvLHRoaXMuc291cmNlVG9rZW4pOnQuc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik7ZWxzZSBpZih6dCh0LnN0YXJ0LFxcXCJuZXdsaW5lXFxcIikpT2JqZWN0LmFzc2lnbih0LHtrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfSk7ZWxzZXtsZXQgYT1Obih0LnN0YXJ0KTt0aGlzLnN0YWNrLnB1c2goe3R5cGU6XFxcImJsb2NrLW1hcFxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0OmEsa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX1dfSl9ZWxzZSB0LnNlcD90LnZhbHVlfHxpP2UuaXRlbXMucHVzaCh7c3RhcnQ6byxrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfSk6enQodC5zZXAsXFxcIm1hcC12YWx1ZS1pbmRcXFwiKT90aGlzLnN0YWNrLnB1c2goe3R5cGU6XFxcImJsb2NrLW1hcFxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0OltdLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX0pOnQuc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik6T2JqZWN0LmFzc2lnbih0LHtrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfSk7dGhpcy5vbktleUxpbmU9ITA7cmV0dXJuO2Nhc2VcXFwiYWxpYXNcXFwiOmNhc2VcXFwic2NhbGFyXFxcIjpjYXNlXFxcInNpbmdsZS1xdW90ZWQtc2NhbGFyXFxcIjpjYXNlXFxcImRvdWJsZS1xdW90ZWQtc2NhbGFyXFxcIjp7bGV0IGE9dGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7aXx8dC52YWx1ZT8oZS5pdGVtcy5wdXNoKHtzdGFydDpvLGtleTphLHNlcDpbXX0pLHRoaXMub25LZXlMaW5lPSEwKTp0LnNlcD90aGlzLnN0YWNrLnB1c2goYSk6KE9iamVjdC5hc3NpZ24odCx7a2V5OmEsc2VwOltdfSksdGhpcy5vbktleUxpbmU9ITApO3JldHVybn1kZWZhdWx0OntsZXQgYT10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTtpZihhKXtzJiZhLnR5cGUhPT1cXFwiYmxvY2stc2VxXFxcIiYmZS5pdGVtcy5wdXNoKHtzdGFydDpvfSksdGhpcy5zdGFjay5wdXNoKGEpO3JldHVybn19fX15aWVsZCpTKHRoaXMucG9wKCkpLHlpZWxkKlModGhpcy5zdGVwKCkpfSpibG9ja1NlcXVlbmNlKGUpe3ZhciByO2xldCB0PWUuaXRlbXNbZS5pdGVtcy5sZW5ndGgtMV07c3dpdGNoKHRoaXMudHlwZSl7Y2FzZVxcXCJuZXdsaW5lXFxcIjppZih0LnZhbHVlKXtsZXQgcz1cXFwiZW5kXFxcImluIHQudmFsdWU/dC52YWx1ZS5lbmQ6dm9pZCAwLGk9QXJyYXkuaXNBcnJheShzKT9zW3MubGVuZ3RoLTFdOnZvaWQgMDsoaT09bnVsbD92b2lkIDA6aS50eXBlKT09PVxcXCJjb21tZW50XFxcIj9zPT1udWxsfHxzLnB1c2godGhpcy5zb3VyY2VUb2tlbik6ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KX1lbHNlIHQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZVxcXCJzcGFjZVxcXCI6Y2FzZVxcXCJjb21tZW50XFxcIjppZih0LnZhbHVlKWUuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk7ZWxzZXtpZih0aGlzLmF0SW5kZW50ZWRDb21tZW50KHQuc3RhcnQsZS5pbmRlbnQpKXtsZXQgcz1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTJdLGk9KHI9cz09bnVsbD92b2lkIDA6cy52YWx1ZSk9PW51bGw/dm9pZCAwOnIuZW5kO2lmKEFycmF5LmlzQXJyYXkoaSkpe0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGksdC5zdGFydCksaS5wdXNoKHRoaXMuc291cmNlVG9rZW4pLGUuaXRlbXMucG9wKCk7cmV0dXJufX10LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbil9cmV0dXJuO2Nhc2VcXFwiYW5jaG9yXFxcIjpjYXNlXFxcInRhZ1xcXCI6aWYodC52YWx1ZXx8dGhpcy5pbmRlbnQ8PWUuaW5kZW50KWJyZWFrO3Quc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZVxcXCJzZXEtaXRlbS1pbmRcXFwiOmlmKHRoaXMuaW5kZW50IT09ZS5pbmRlbnQpYnJlYWs7dC52YWx1ZXx8enQodC5zdGFydCxcXFwic2VxLWl0ZW0taW5kXFxcIik/ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWlmKHRoaXMuaW5kZW50PmUuaW5kZW50KXtsZXQgcz10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTtpZihzKXt0aGlzLnN0YWNrLnB1c2gocyk7cmV0dXJufX15aWVsZCpTKHRoaXMucG9wKCkpLHlpZWxkKlModGhpcy5zdGVwKCkpfSpmbG93Q29sbGVjdGlvbihlKXtsZXQgdD1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTFdO2lmKHRoaXMudHlwZT09PVxcXCJmbG93LWVycm9yLWVuZFxcXCIpe2xldCByO2RvIHlpZWxkKlModGhpcy5wb3AoKSkscj10aGlzLnBlZWsoMSk7d2hpbGUociYmci50eXBlPT09XFxcImZsb3ctY29sbGVjdGlvblxcXCIpfWVsc2UgaWYoZS5lbmQubGVuZ3RoPT09MCl7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZVxcXCJjb21tYVxcXCI6Y2FzZVxcXCJleHBsaWNpdC1rZXktaW5kXFxcIjohdHx8dC5zZXA/ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2VcXFwibWFwLXZhbHVlLWluZFxcXCI6IXR8fHQudmFsdWU/ZS5pdGVtcy5wdXNoKHtzdGFydDpbXSxrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfSk6dC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTpPYmplY3QuYXNzaWduKHQse2tleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTtyZXR1cm47Y2FzZVxcXCJzcGFjZVxcXCI6Y2FzZVxcXCJjb21tZW50XFxcIjpjYXNlXFxcIm5ld2xpbmVcXFwiOmNhc2VcXFwiYW5jaG9yXFxcIjpjYXNlXFxcInRhZ1xcXCI6IXR8fHQudmFsdWU/ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KTp0LnNlcD90LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOnQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZVxcXCJhbGlhc1xcXCI6Y2FzZVxcXCJzY2FsYXJcXFwiOmNhc2VcXFwic2luZ2xlLXF1b3RlZC1zY2FsYXJcXFwiOmNhc2VcXFwiZG91YmxlLXF1b3RlZC1zY2FsYXJcXFwiOntsZXQgcz10aGlzLmZsb3dTY2FsYXIodGhpcy50eXBlKTshdHx8dC52YWx1ZT9lLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTpzLHNlcDpbXX0pOnQuc2VwP3RoaXMuc3RhY2sucHVzaChzKTpPYmplY3QuYXNzaWduKHQse2tleTpzLHNlcDpbXX0pO3JldHVybn1jYXNlXFxcImZsb3ctbWFwLWVuZFxcXCI6Y2FzZVxcXCJmbG93LXNlcS1lbmRcXFwiOmUuZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWxldCByPXRoaXMuc3RhcnRCbG9ja1ZhbHVlKGUpO3I/dGhpcy5zdGFjay5wdXNoKHIpOih5aWVsZCpTKHRoaXMucG9wKCkpLHlpZWxkKlModGhpcy5zdGVwKCkpKX1lbHNle2xldCByPXRoaXMucGVlaygyKTtpZihyLnR5cGU9PT1cXFwiYmxvY2stbWFwXFxcIiYmKHRoaXMudHlwZT09PVxcXCJtYXAtdmFsdWUtaW5kXFxcIiYmci5pbmRlbnQ9PT1lLmluZGVudHx8dGhpcy50eXBlPT09XFxcIm5ld2xpbmVcXFwiJiYhci5pdGVtc1tyLml0ZW1zLmxlbmd0aC0xXS5zZXApKXlpZWxkKlModGhpcy5wb3AoKSkseWllbGQqUyh0aGlzLnN0ZXAoKSk7ZWxzZSBpZih0aGlzLnR5cGU9PT1cXFwibWFwLXZhbHVlLWluZFxcXCImJnIudHlwZSE9PVxcXCJmbG93LWNvbGxlY3Rpb25cXFwiKXtsZXQgcz1CcyhyKSxpPU5uKHMpO0x1KGUpO2xldCBvPWUuZW5kLnNwbGljZSgxLGUuZW5kLmxlbmd0aCk7by5wdXNoKHRoaXMuc291cmNlVG9rZW4pO2xldCBhPXt0eXBlOlxcXCJibG9jay1tYXBcXFwiLG9mZnNldDplLm9mZnNldCxpbmRlbnQ6ZS5pbmRlbnQsaXRlbXM6W3tzdGFydDppLGtleTplLHNlcDpvfV19O3RoaXMub25LZXlMaW5lPSEwLHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV09YX1lbHNlIHlpZWxkKlModGhpcy5saW5lRW5kKGUpKX19Zmxvd1NjYWxhcihlKXtpZih0aGlzLm9uTmV3TGluZSl7bGV0IHQ9dGhpcy5zb3VyY2UuaW5kZXhPZihgXFxuYCkrMTtmb3IoO3QhPT0wOyl0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCt0KSx0PXRoaXMuc291cmNlLmluZGV4T2YoYFxcbmAsdCkrMX1yZXR1cm57dHlwZTplLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsc291cmNlOnRoaXMuc291cmNlfX1zdGFydEJsb2NrVmFsdWUoZSl7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZVxcXCJhbGlhc1xcXCI6Y2FzZVxcXCJzY2FsYXJcXFwiOmNhc2VcXFwic2luZ2xlLXF1b3RlZC1zY2FsYXJcXFwiOmNhc2VcXFwiZG91YmxlLXF1b3RlZC1zY2FsYXJcXFwiOnJldHVybiB0aGlzLmZsb3dTY2FsYXIodGhpcy50eXBlKTtjYXNlXFxcImJsb2NrLXNjYWxhci1oZWFkZXJcXFwiOnJldHVybnt0eXBlOlxcXCJibG9jay1zY2FsYXJcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQscHJvcHM6W3RoaXMuc291cmNlVG9rZW5dLHNvdXJjZTpcXFwiXFxcIn07Y2FzZVxcXCJmbG93LW1hcC1zdGFydFxcXCI6Y2FzZVxcXCJmbG93LXNlcS1zdGFydFxcXCI6cmV0dXJue3R5cGU6XFxcImZsb3ctY29sbGVjdGlvblxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxzdGFydDp0aGlzLnNvdXJjZVRva2VuLGl0ZW1zOltdLGVuZDpbXX07Y2FzZVxcXCJzZXEtaXRlbS1pbmRcXFwiOnJldHVybnt0eXBlOlxcXCJibG9jay1zZXFcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19XX07Y2FzZVxcXCJleHBsaWNpdC1rZXktaW5kXFxcIjp7dGhpcy5vbktleUxpbmU9ITA7bGV0IHQ9QnMoZSkscj1Obih0KTtyZXR1cm4gci5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHt0eXBlOlxcXCJibG9jay1tYXBcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpyLGV4cGxpY2l0S2V5OiEwfV19fWNhc2VcXFwibWFwLXZhbHVlLWluZFxcXCI6e3RoaXMub25LZXlMaW5lPSEwO2xldCB0PUJzKGUpLHI9Tm4odCk7cmV0dXJue3R5cGU6XFxcImJsb2NrLW1hcFxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0OnIsa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX1dfX19cmV0dXJuIG51bGx9YXRJbmRlbnRlZENvbW1lbnQoZSx0KXtyZXR1cm4gdGhpcy50eXBlIT09XFxcImNvbW1lbnRcXFwifHx0aGlzLmluZGVudDw9dD8hMTplLmV2ZXJ5KHI9PnIudHlwZT09PVxcXCJuZXdsaW5lXFxcInx8ci50eXBlPT09XFxcInNwYWNlXFxcIil9KmRvY3VtZW50RW5kKGUpe3RoaXMudHlwZSE9PVxcXCJkb2MtbW9kZVxcXCImJihlLmVuZD9lLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOmUuZW5kPVt0aGlzLnNvdXJjZVRva2VuXSx0aGlzLnR5cGU9PT1cXFwibmV3bGluZVxcXCImJih5aWVsZCpTKHRoaXMucG9wKCkpKSl9KmxpbmVFbmQoZSl7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZVxcXCJjb21tYVxcXCI6Y2FzZVxcXCJkb2Mtc3RhcnRcXFwiOmNhc2VcXFwiZG9jLWVuZFxcXCI6Y2FzZVxcXCJmbG93LXNlcS1lbmRcXFwiOmNhc2VcXFwiZmxvdy1tYXAtZW5kXFxcIjpjYXNlXFxcIm1hcC12YWx1ZS1pbmRcXFwiOnlpZWxkKlModGhpcy5wb3AoKSkseWllbGQqUyh0aGlzLnN0ZXAoKSk7YnJlYWs7Y2FzZVxcXCJuZXdsaW5lXFxcIjp0aGlzLm9uS2V5TGluZT0hMTtjYXNlXFxcInNwYWNlXFxcIjpjYXNlXFxcImNvbW1lbnRcXFwiOmRlZmF1bHQ6ZS5lbmQ/ZS5lbmQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLmVuZD1bdGhpcy5zb3VyY2VUb2tlbl0sdGhpcy50eXBlPT09XFxcIm5ld2xpbmVcXFwiJiYoeWllbGQqUyh0aGlzLnBvcCgpKSl9fX07ZnVuY3Rpb24gd2Yobil7bGV0IGU9bi5wcmV0dHlFcnJvcnMhPT0hMTtyZXR1cm57bGluZUNvdW50ZXI6bi5saW5lQ291bnRlcnx8ZSYmbmV3IE5yfHxudWxsLHByZXR0eUVycm9yczplfX1mdW5jdGlvbiBBdShuLGU9e30pe2xldHtsaW5lQ291bnRlcjp0LHByZXR0eUVycm9yczpyfT13ZihlKSxzPW5ldyBBcih0PT1udWxsP3ZvaWQgMDp0LmFkZE5ld0xpbmUpLGk9bmV3IElyKGUpLG89bnVsbDtmb3IobGV0IGEgb2YgaS5jb21wb3NlKHMucGFyc2UobiksITAsbi5sZW5ndGgpKWlmKCFvKW89YTtlbHNlIGlmKG8ub3B0aW9ucy5sb2dMZXZlbCE9PVxcXCJzaWxlbnRcXFwiKXtvLmVycm9ycy5wdXNoKG5ldyBRZShhLnJhbmdlLnNsaWNlKDAsMiksXFxcIk1VTFRJUExFX0RPQ1NcXFwiLFxcXCJTb3VyY2UgY29udGFpbnMgbXVsdGlwbGUgZG9jdW1lbnRzOyBwbGVhc2UgdXNlIFlBTUwucGFyc2VBbGxEb2N1bWVudHMoKVxcXCIpKTticmVha31yZXR1cm4gciYmdCYmKG8uZXJyb3JzLmZvckVhY2goWmkobix0KSksby53YXJuaW5ncy5mb3JFYWNoKFppKG4sdCkpKSxvfWZ1bmN0aW9uIGNvKG4sZSx0KXtsZXQgcjt0eXBlb2YgZT09XFxcImZ1bmN0aW9uXFxcIj9yPWU6dD09PXZvaWQgMCYmZSYmdHlwZW9mIGU9PVxcXCJvYmplY3RcXFwiJiYodD1lKTtsZXQgcz1BdShuLHQpO2lmKCFzKXJldHVybiBudWxsO2lmKHMud2FybmluZ3MuZm9yRWFjaChpPT5wcyhzLm9wdGlvbnMubG9nTGV2ZWwsaSkpLHMuZXJyb3JzLmxlbmd0aD4wKXtpZihzLm9wdGlvbnMubG9nTGV2ZWwhPT1cXFwic2lsZW50XFxcIil0aHJvdyBzLmVycm9yc1swXTtzLmVycm9ycz1bXX1yZXR1cm4gcy50b0pTKE9iamVjdC5hc3NpZ24oe3Jldml2ZXI6cn0sdCkpfXZhciBqcz1WcihSdSgpKTt2YXIgRj1WcihucygpKTt2YXIgZXQ7KE49PntOLkRFRkFVTFRfVE9fU1RSSU5HPXtudWxsUmVwcmVzZW50YXRpb246XFxcIi1cXFwiLGRhdGVGb3JtYXQ6XFxcIk1NTU0gZGQsIHl5eXlcXFwiLGRhdGVUaW1lRm9ybWF0OlxcXCJoOm1tIGEgLSBNTU1NIGRkLCB5eXl5XFxcIn07ZnVuY3Rpb24gZSh5LHc9Ti5ERUZBVUxUX1RPX1NUUklORyx2PSExKXtsZXQgTz10KHkpO2lmKCFPKXJldHVybiB3Lm51bGxSZXByZXNlbnRhdGlvbjtzd2l0Y2goTy50eXBlKXtjYXNlXFxcIm51bGxcXFwiOnJldHVybiB3Lm51bGxSZXByZXNlbnRhdGlvbjtjYXNlXFxcInN0cmluZ1xcXCI6cmV0dXJuIE8udmFsdWU7Y2FzZVxcXCJudW1iZXJcXFwiOmNhc2VcXFwiYm9vbGVhblxcXCI6cmV0dXJuXFxcIlxcXCIrTy52YWx1ZTtjYXNlXFxcImxpbmtcXFwiOnJldHVybiBPLnZhbHVlLm1hcmtkb3duKCk7Y2FzZVxcXCJmdW5jdGlvblxcXCI6cmV0dXJuXFxcIjxmdW5jdGlvbj5cXFwiO2Nhc2VcXFwiYXJyYXlcXFwiOmxldCBDPVxcXCJcXFwiO3JldHVybiB2JiYoQys9XFxcIltcXFwiKSxDKz1PLnZhbHVlLm1hcChWPT5lKFYsdywhMCkpLmpvaW4oXFxcIiwgXFxcIiksdiYmKEMrPVxcXCJdXFxcIiksQztjYXNlXFxcIm9iamVjdFxcXCI6cmV0dXJuXFxcInsgXFxcIitPYmplY3QuZW50cmllcyhPLnZhbHVlKS5tYXAoVj0+VlswXStcXFwiOiBcXFwiK2UoVlsxXSx3LCEwKSkuam9pbihcXFwiLCBcXFwiKStcXFwiIH1cXFwiO2Nhc2VcXFwiZGF0ZVxcXCI6cmV0dXJuIGphKE8udmFsdWUsdy5kYXRlRm9ybWF0LHcuZGF0ZVRpbWVGb3JtYXQpO2Nhc2VcXFwiZHVyYXRpb25cXFwiOnJldHVybiBxYShPLnZhbHVlKX19Ti50b1N0cmluZz1lO2Z1bmN0aW9uIHQoeSl7cmV0dXJuIGgoeSk/e3R5cGU6XFxcIm51bGxcXFwiLHZhbHVlOnl9OmYoeSk/e3R5cGU6XFxcIm51bWJlclxcXCIsdmFsdWU6eX06bCh5KT97dHlwZTpcXFwic3RyaW5nXFxcIix2YWx1ZTp5fTpnKHkpP3t0eXBlOlxcXCJib29sZWFuXFxcIix2YWx1ZTp5fTpwKHkpP3t0eXBlOlxcXCJkdXJhdGlvblxcXCIsdmFsdWU6eX06ZCh5KT97dHlwZTpcXFwiZGF0ZVxcXCIsdmFsdWU6eX06Yih5KT97dHlwZTpcXFwiYXJyYXlcXFwiLHZhbHVlOnl9OkQoeSk/e3R5cGU6XFxcImxpbmtcXFwiLHZhbHVlOnl9OkkoeSk/e3R5cGU6XFxcImZ1bmN0aW9uXFxcIix2YWx1ZTp5fTpUKHkpP3t0eXBlOlxcXCJvYmplY3RcXFwiLHZhbHVlOnl9OnZvaWQgMH1OLndyYXBWYWx1ZT10O2Z1bmN0aW9uIHIoeSx3KXtpZihUKHkpKXtsZXQgdj17fTtmb3IobGV0W08sQ11vZiBPYmplY3QuZW50cmllcyh5KSl2W09dPXIoQyx3KTtyZXR1cm4gdn1lbHNlIGlmKGIoeSkpe2xldCB2PVtdO2ZvcihsZXQgTyBvZiB5KXYucHVzaChyKE8sdykpO3JldHVybiB2fWVsc2UgcmV0dXJuIHcoeSl9Ti5tYXBMZWF2ZXM9cjtmdW5jdGlvbiBzKHksdyl7cmV0dXJuIGkoeSx3KT09MH1OLmVxdWFscz1zO2Z1bmN0aW9uIGkoeSx3LHYpe3ZhciBWLGo7aWYoeT09PXd8fCh5PT09dm9pZCAwJiYoeT1udWxsKSx3PT09dm9pZCAwJiYodz1udWxsKSx5PT09bnVsbCYmdz09PW51bGwpKXJldHVybiAwO2lmKHk9PT1udWxsKXJldHVybi0xO2lmKHc9PT1udWxsKXJldHVybiAxO2xldCBPPXQoeSksQz10KHcpO2lmKE89PT12b2lkIDAmJkM9PT12b2lkIDApcmV0dXJuIDA7aWYoTz09PXZvaWQgMClyZXR1cm4tMTtpZihDPT09dm9pZCAwKXJldHVybiAxO2lmKE8udHlwZSE9Qy50eXBlKXJldHVybiBPLnR5cGUubG9jYWxlQ29tcGFyZShDLnR5cGUpO2lmKE8udmFsdWU9PT1DLnZhbHVlKXJldHVybiAwO3N3aXRjaChPLnR5cGUpe2Nhc2VcXFwic3RyaW5nXFxcIjpyZXR1cm4gTy52YWx1ZS5sb2NhbGVDb21wYXJlKEMudmFsdWUpO2Nhc2VcXFwibnVtYmVyXFxcIjpyZXR1cm4gTy52YWx1ZTxDLnZhbHVlPy0xOk8udmFsdWU9PUMudmFsdWU/MDoxO2Nhc2VcXFwibnVsbFxcXCI6cmV0dXJuIDA7Y2FzZVxcXCJib29sZWFuXFxcIjpyZXR1cm4gTy52YWx1ZT09Qy52YWx1ZT8wOk8udmFsdWU/MTotMTtjYXNlXFxcImxpbmtcXFwiOmxldCBZPU8udmFsdWUsZWU9Qy52YWx1ZSxhZT12IT1udWxsP3Y6QWU9PkFlLHg9YWUoWS5wYXRoKS5sb2NhbGVDb21wYXJlKGFlKGVlLnBhdGgpKTtpZih4IT0wKXJldHVybiB4O2xldCAkPVkudHlwZS5sb2NhbGVDb21wYXJlKGVlLnR5cGUpO3JldHVybiAkIT0wPyQ6WS5zdWJwYXRoJiYhZWUuc3VicGF0aD8xOiFZLnN1YnBhdGgmJmVlLnN1YnBhdGg/LTE6IVkuc3VicGF0aCYmIWVlLnN1YnBhdGg/MDooKFY9WS5zdWJwYXRoKSE9bnVsbD9WOlxcXCJcXFwiKS5sb2NhbGVDb21wYXJlKChqPWVlLnN1YnBhdGgpIT1udWxsP2o6XFxcIlxcXCIpO2Nhc2VcXFwiZGF0ZVxcXCI6cmV0dXJuIE8udmFsdWU8Qy52YWx1ZT8tMTpPLnZhbHVlLmVxdWFscyhDLnZhbHVlKT8wOjE7Y2FzZVxcXCJkdXJhdGlvblxcXCI6cmV0dXJuIE8udmFsdWU8Qy52YWx1ZT8tMTpPLnZhbHVlLmVxdWFscyhDLnZhbHVlKT8wOjE7Y2FzZVxcXCJhcnJheVxcXCI6bGV0IFE9Ty52YWx1ZSx1ZT1DLnZhbHVlO2ZvcihsZXQgQWU9MDtBZTxNYXRoLm1pbihRLmxlbmd0aCx1ZS5sZW5ndGgpO0FlKyspe2xldCBCdD1pKFFbQWVdLHVlW0FlXSk7aWYoQnQhPTApcmV0dXJuIEJ0fXJldHVybiBRLmxlbmd0aC11ZS5sZW5ndGg7Y2FzZVxcXCJvYmplY3RcXFwiOmxldCBEZT1PLnZhbHVlLFJlPUMudmFsdWUsUXQ9QXJyYXkuZnJvbShPYmplY3Qua2V5cyhEZSkpLE10PUFycmF5LmZyb20oT2JqZWN0LmtleXMoUmUpKTtRdC5zb3J0KCksTXQuc29ydCgpO2xldCBfdD1pKFF0LE10KTtpZihfdCE9MClyZXR1cm4gX3Q7Zm9yKGxldCBBZSBvZiBRdCl7bGV0IEJ0PWkoRGVbQWVdLFJlW0FlXSk7aWYoQnQhPTApcmV0dXJuIEJ0fXJldHVybiAwO2Nhc2VcXFwiZnVuY3Rpb25cXFwiOnJldHVybiAwfX1OLmNvbXBhcmU9aTtmdW5jdGlvbiBvKHkpe3ZhciB3O3JldHVybih3PXQoeSkpPT1udWxsP3ZvaWQgMDp3LnR5cGV9Ti50eXBlT2Y9bztmdW5jdGlvbiBhKHkpe2xldCB3PXQoeSk7aWYoIXcpcmV0dXJuITE7c3dpdGNoKHcudHlwZSl7Y2FzZVxcXCJudW1iZXJcXFwiOnJldHVybiB3LnZhbHVlIT0wO2Nhc2VcXFwic3RyaW5nXFxcIjpyZXR1cm4gdy52YWx1ZS5sZW5ndGg+MDtjYXNlXFxcImJvb2xlYW5cXFwiOnJldHVybiB3LnZhbHVlO2Nhc2VcXFwibGlua1xcXCI6cmV0dXJuISF3LnZhbHVlLnBhdGg7Y2FzZVxcXCJkYXRlXFxcIjpyZXR1cm4gdy52YWx1ZS50b01pbGxpcygpIT0wO2Nhc2VcXFwiZHVyYXRpb25cXFwiOnJldHVybiB3LnZhbHVlLmFzKFxcXCJzZWNvbmRzXFxcIikhPTA7Y2FzZVxcXCJvYmplY3RcXFwiOnJldHVybiBPYmplY3Qua2V5cyh3LnZhbHVlKS5sZW5ndGg+MDtjYXNlXFxcImFycmF5XFxcIjpyZXR1cm4gdy52YWx1ZS5sZW5ndGg+MDtjYXNlXFxcIm51bGxcXFwiOnJldHVybiExO2Nhc2VcXFwiZnVuY3Rpb25cXFwiOnJldHVybiEwfX1OLmlzVHJ1dGh5PWE7ZnVuY3Rpb24gdSh5KXtpZih5PT1udWxsKXJldHVybiB5O2lmKE4uaXNBcnJheSh5KSlyZXR1cm5bXS5jb25jYXQoeS5tYXAodz0+dSh3KSkpO2lmKE4uaXNPYmplY3QoeSkpe2xldCB3PXt9O2ZvcihsZXRbdixPXW9mIE9iamVjdC5lbnRyaWVzKHkpKXdbdl09dShPKTtyZXR1cm4gd31lbHNlIHJldHVybiB5fU4uZGVlcENvcHk9dTtmdW5jdGlvbiBsKHkpe3JldHVybiB0eXBlb2YgeT09XFxcInN0cmluZ1xcXCJ9Ti5pc1N0cmluZz1sO2Z1bmN0aW9uIGYoeSl7cmV0dXJuIHR5cGVvZiB5PT1cXFwibnVtYmVyXFxcIn1OLmlzTnVtYmVyPWY7ZnVuY3Rpb24gZCh5KXtyZXR1cm4geSBpbnN0YW5jZW9mIHF9Ti5pc0RhdGU9ZDtmdW5jdGlvbiBwKHkpe3JldHVybiB5IGluc3RhbmNlb2YgQn1OLmlzRHVyYXRpb249cDtmdW5jdGlvbiBoKHkpe3JldHVybiB5PT1udWxsfU4uaXNOdWxsPWg7ZnVuY3Rpb24gYih5KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh5KX1OLmlzQXJyYXk9YjtmdW5jdGlvbiBnKHkpe3JldHVybiB0eXBlb2YgeT09XFxcImJvb2xlYW5cXFwifU4uaXNCb29sZWFuPWc7ZnVuY3Rpb24gRCh5KXtyZXR1cm4geSBpbnN0YW5jZW9mIHhlfU4uaXNMaW5rPUQ7ZnVuY3Rpb24gVCh5KXtyZXR1cm4geSE9PXZvaWQgMCYmdHlwZW9mIHk9PVxcXCJvYmplY3RcXFwiJiYhYih5KSYmIXAoeSkmJiFkKHkpJiYhRCh5KSYmIWgoeSl9Ti5pc09iamVjdD1UO2Z1bmN0aW9uIEkoeSl7cmV0dXJuIHR5cGVvZiB5PT1cXFwiZnVuY3Rpb25cXFwifU4uaXNGdW5jdGlvbj1JfSkoZXR8fChldD17fSkpO3ZhciBqdTsoaT0+e2Z1bmN0aW9uIG4obyl7cmV0dXJuIGV0LmlzT2JqZWN0KG8pJiZPYmplY3Qua2V5cyhvKS5sZW5ndGg9PTImJlxcXCJrZXlcXFwiaW4gbyYmXFxcInJvd3NcXFwiaW4gb31pLmlzRWxlbWVudEdyb3VwPW47ZnVuY3Rpb24gZShvKXtmb3IobGV0IGEgb2YgbylpZighbihhKSlyZXR1cm4hMTtyZXR1cm4hMH1pLmlzR3JvdXBpbmc9ZTtmdW5jdGlvbiB0KG8pe2ZvcihsZXQgYSBvZiBvKWlmKG4oYSkpcmV0dXJuITE7cmV0dXJuITB9aS5pc0xlYWY9dDtmdW5jdGlvbiByKG8pe2lmKG4obykpcmV0dXJuIHIoby5yb3dzKTtpZihlKG8pKXtsZXQgYT0wO2ZvcihsZXQgdSBvZiBvKWErPXIodS5yb3dzKTtyZXR1cm4gYX1lbHNlIHJldHVybiBvLmxlbmd0aH1pLmNvdW50PXI7ZnVuY3Rpb24gcyhvLGEsdSl7aWYodTw9YSlyZXR1cm5bXTtpZih0KG8pKXJldHVybiBvLnNsaWNlKGEsdSk7bGV0IGw9MCxmPTA7Zm9yKDtsPG8ubGVuZ3RoJiZmK3Iob1tsXSk8PWE7KWYrPXIob1tsXSksbCsrO2lmKGw+PW8ubGVuZ3RoKXJldHVybltdO2xldCBkPVtdO2Zvcig7bDxvLmxlbmd0aCYmZjx1Oyl7bGV0IHA9b1tsXSxoPXIocCksYj1NYXRoLm1heChmLGEpLGc9TWF0aC5taW4oaCtmLHUpO2QucHVzaCh7a2V5OnAua2V5LHJvd3M6cyhwLnJvd3MsYi1mLGctZil9KSxmKz1oLGwrK31yZXR1cm4gZH1pLnNsaWNlPXN9KShqdXx8KGp1PXt9KSk7dmFyIGhvPWNsYXNzIG57Y29uc3RydWN0b3IoZSl7dGhpcy52YWx1ZT1lO3RoaXMuc3VjY2Vzc2Z1bD0hMH1tYXAoZSl7cmV0dXJuIG5ldyBuKGUodGhpcy52YWx1ZSkpfWZsYXRNYXAoZSl7cmV0dXJuIGUodGhpcy52YWx1ZSl9bWFwRXJyKGUpe3JldHVybiB0aGlzfWJpbWFwKGUsdCl7cmV0dXJuIHRoaXMubWFwKGUpfW9yRWxzZShlKXtyZXR1cm4gdGhpcy52YWx1ZX1jYXN0KCl7cmV0dXJuIHRoaXN9b3JFbHNlVGhyb3coZSl7cmV0dXJuIHRoaXMudmFsdWV9fSxwbz1jbGFzcyBue2NvbnN0cnVjdG9yKGUpe3RoaXMuZXJyb3I9ZTt0aGlzLnN1Y2Nlc3NmdWw9ITF9bWFwKGUpe3JldHVybiB0aGlzfWZsYXRNYXAoZSl7cmV0dXJuIHRoaXN9bWFwRXJyKGUpe3JldHVybiBuZXcgbihlKHRoaXMuZXJyb3IpKX1iaW1hcChlLHQpe3JldHVybiB0aGlzLm1hcEVycih0KX1vckVsc2UoZSl7cmV0dXJuIGV9Y2FzdCgpe3JldHVybiB0aGlzfW9yRWxzZVRocm93KGUpe3Rocm93IGU/bmV3IEVycm9yKGUodGhpcy5lcnJvcikpOm5ldyBFcnJvcihcXFwiXFxcIit0aGlzLmVycm9yKX19LFNlOyhhPT57ZnVuY3Rpb24gbih1KXtyZXR1cm4gbmV3IGhvKHUpfWEuc3VjY2Vzcz1uO2Z1bmN0aW9uIGUodSl7cmV0dXJuIG5ldyBwbyh1KX1hLmZhaWx1cmU9ZTtmdW5jdGlvbiB0KHUsbCxmKXtyZXR1cm4gdS5zdWNjZXNzZnVsP2wuc3VjY2Vzc2Z1bD9mKHUudmFsdWUsbC52YWx1ZSk6ZShsLmVycm9yKTplKHUuZXJyb3IpfWEuZmxhdE1hcDI9dDtmdW5jdGlvbiByKHUsbCxmKXtyZXR1cm4gdCh1LGwsKGQscCk9Pm4oZihkLHApKSl9YS5tYXAyPXI7ZnVuY3Rpb24gcyh1LGwpe2xldCBmPVtdO2ZvcihsZXQgZCBvZiB1KXtsZXQgcD1sKGQpO2lmKCFwLnN1Y2Nlc3NmdWwpcmV0dXJuIHAuY2FzdCgpO2YucHVzaChwLnZhbHVlKX1yZXR1cm4gYS5zdWNjZXNzKGYpfWEubWFwQWxsPXM7ZnVuY3Rpb24gaSh1KXt0cnl7cmV0dXJuIGEuc3VjY2Vzcyh1KCkpfWNhdGNoKGwpe3JldHVybiBhLmZhaWx1cmUobCl9fWEudHJ5aW5nPWk7YXN5bmMgZnVuY3Rpb24gbyh1KXt0cnl7cmV0dXJuIGEuc3VjY2Vzcyhhd2FpdCB1KX1jYXRjaChsKXtyZXR1cm4gYS5mYWlsdXJlKGwpfX1hLmFzeW5jPW99KShTZXx8KFNlPXt9KSk7dmFyIFl0OyhOPT57Ti5FVkVSWVRISU5HPXt0eXBlOlxcXCJldmVyeXRoaW5nXFxcIn0sTi5OT1RISU5HPXt0eXBlOlxcXCJub3RoaW5nXFxcIn0sTi5FTVBUWV9TRVQ9bmV3IFNldDtmdW5jdGlvbiByKHkpe3JldHVybiB5LnNpemU9PTA/Ti5OT1RISU5HOnt0eXBlOlxcXCJhdG9tXFxcIix2YWx1ZTp5fX1OLmF0b209cjtmdW5jdGlvbiBzKHkpe3JldHVybiB5P04uRVZFUllUSElORzpOLk5PVEhJTkd9Ti5jb25zdGFudD1zO2Z1bmN0aW9uIGkoeSl7cmV0dXJuIHkhPT12b2lkIDA/cih5KTpOLk5PVEhJTkd9Ti5udWxsYWJsZUF0b209aTtmdW5jdGlvbiBvKHkpe3JldHVybiB5LnNpemU9PTA/Ti5FVkVSWVRISU5HOnt0eXBlOlxcXCJuZWdhdGVkXFxcIix2YWx1ZTp5fX1OLm5lZ2F0ZWQ9bztmdW5jdGlvbiBhKHkpe3N3aXRjaCh5LnR5cGUpe2Nhc2VcXFwiZXZlcnl0aGluZ1xcXCI6cmV0dXJuIE4uTk9USElORztjYXNlXFxcIm5vdGhpbmdcXFwiOnJldHVybiBOLkVWRVJZVEhJTkc7Y2FzZVxcXCJhdG9tXFxcIjpyZXR1cm4gbyh5LnZhbHVlKTtjYXNlXFxcIm5lZ2F0ZWRcXFwiOnJldHVybiByKHkudmFsdWUpfX1OLm5lZ2F0ZT1hO2Z1bmN0aW9uIHUoeSl7c3dpdGNoKHkudHlwZSl7Y2FzZVxcXCJldmVyeXRoaW5nXFxcIjpyZXR1cm4hMTtjYXNlXFxcIm5lZ2F0ZWRcXFwiOnJldHVybiExO2Nhc2VcXFwiYXRvbVxcXCI6cmV0dXJuIHkudmFsdWUuc2l6ZT09MDtjYXNlXFxcIm5vdGhpbmdcXFwiOnJldHVybiEwfX1OLmVtcHR5PXU7ZnVuY3Rpb24gbCh5LHcpe3N3aXRjaCh5LnR5cGUpe2Nhc2VcXFwiZXZlcnl0aGluZ1xcXCI6cmV0dXJuIHc7Y2FzZVxcXCJub3RoaW5nXFxcIjpyZXR1cm4gTi5FTVBUWV9TRVQ7Y2FzZVxcXCJhdG9tXFxcIjpyZXR1cm4geS52YWx1ZTtjYXNlXFxcIm5lZ2F0ZWRcXFwiOnJldHVybiBJKHcseS52YWx1ZSl9fU4ucmVzb2x2ZT1sO2Z1bmN0aW9uIGYoeSl7cmV0dXJuIGQoeSx3PT53KX1OLmludGVyc2VjdD1mO2Z1bmN0aW9uIGQoeSx3KXtyZXR1cm4gcCh5LHY9PlNlLnN1Y2Nlc3Modyh2KSkpLm9yRWxzZVRocm93KCl9Ti5sYXp5SW50ZXJzZWN0PWQ7ZnVuY3Rpb24gcCh5LHcpe2xldCB2PVtdLE89W107Zm9yKGxldCBDIG9mIHkpe2xldCBWPXcoQyk7aWYoIVYuc3VjY2Vzc2Z1bClyZXR1cm4gVi5jYXN0KCk7bGV0IGo9Vi52YWx1ZTtpZihqIT09dm9pZCAwKXtpZih1KGopKXJldHVybiBTZS5zdWNjZXNzKE4uTk9USElORyk7ai50eXBlIT09XFxcImV2ZXJ5dGhpbmdcXFwiJiYoai50eXBlPT1cXFwiYXRvbVxcXCI/di5wdXNoKGoudmFsdWUpOmoudHlwZT09XFxcIm5lZ2F0ZWRcXFwiJiZPLnB1c2goai52YWx1ZSkpfX1yZXR1cm4gdi5sZW5ndGg9PTAmJk8ubGVuZ3RoPT0wP1NlLnN1Y2Nlc3MoTi5FVkVSWVRISU5HKTp2Lmxlbmd0aD4wJiZPLmxlbmd0aD09MD9TZS5zdWNjZXNzKHIoRCh2KSkpOnYubGVuZ3RoPT0wJiZPLmxlbmd0aD4wP1NlLnN1Y2Nlc3MobyhUKE8pKSk6U2Uuc3VjY2VzcyhOLmF0b20oSShEKHYpLFQoTykpKSl9Ti5sYXp5RmFpbGFibGVJbnRlcnNlY3Rpb249cDtmdW5jdGlvbiBoKHkpe3JldHVybiBiKHksdz0+dyl9Ti51bmlvbj1oO2Z1bmN0aW9uIGIoeSx3KXtyZXR1cm4gZyh5LHY9PlNlLnN1Y2Nlc3Modyh2KSkpLm9yRWxzZVRocm93KCl9Ti5sYXp5VW5pb249YjtmdW5jdGlvbiBnKHksdyl7bGV0IHY9W10sTz1bXTtmb3IobGV0IEMgb2YgeSl7bGV0IFY9dyhDKTtpZighVi5zdWNjZXNzZnVsKXJldHVybiBWLmNhc3QoKTtsZXQgaj1WLnZhbHVlO2lmKGohPT12b2lkIDApe2lmKGoudHlwZT09PVxcXCJldmVyeXRoaW5nXFxcIilyZXR1cm4gU2Uuc3VjY2VzcyhOLkVWRVJZVEhJTkcpO3Uoail8fChqLnR5cGU9PVxcXCJhdG9tXFxcIj92LnB1c2goai52YWx1ZSk6ai50eXBlPT1cXFwibmVnYXRlZFxcXCImJk8ucHVzaChqLnZhbHVlKSl9fXJldHVybiB2Lmxlbmd0aD09MCYmTy5sZW5ndGg9PTA/U2Uuc3VjY2VzcyhOLk5PVEhJTkcpOnYubGVuZ3RoPjAmJk8ubGVuZ3RoPT0wP1NlLnN1Y2Nlc3MoTi5hdG9tKFQodikpKTp2Lmxlbmd0aD09MCYmTy5sZW5ndGg+MD9TZS5zdWNjZXNzKE4ubmVnYXRlZChEKE8pKSk6U2Uuc3VjY2VzcyhvKEkoRChPKSxUKHYpKSkpfU4ubGF6eUZhaWxhYmxlVW5pb249ZztmdW5jdGlvbiBEKHkpe2lmKHkubGVuZ3RoPT0wKXJldHVybiBuZXcgU2V0O2lmKHkubGVuZ3RoPT0xKXJldHVybiB5WzBdO2xldCB3PVtdLmNvbmNhdCh5KS5zb3J0KCh2LE8pPT52LnNpemUtTy5zaXplKTtmb3IoO3cubGVuZ3RoPjE7KXtsZXQgdj1uZXcgU2V0LE89dy5wb3AoKTtmb3IobGV0IEMgb2Ygd1swXSlPLmhhcyhDKSYmdi5hZGQoQyk7d1swXT12fXJldHVybiB3WzBdfU4uc2V0SW50ZXJzZWN0PUQ7ZnVuY3Rpb24gVCh5KXtpZih5Lmxlbmd0aD09MClyZXR1cm4gbmV3IFNldDtpZih5Lmxlbmd0aD09MSlyZXR1cm4geVswXTtsZXQgdz1uZXcgU2V0O2ZvcihsZXQgdiBvZiB5KWZvcihsZXQgTyBvZiB2KXcuYWRkKE8pO3JldHVybiB3fU4uc2V0VW5pb249VDtmdW5jdGlvbiBJKHksdyl7aWYoeS5zaXplPncuc2l6ZSl7bGV0IHY9bmV3IFNldCh5KTtmb3IobGV0IE8gb2Ygdyl2LmRlbGV0ZShPKTtyZXR1cm4gdn1lbHNle2xldCB2PW5ldyBTZXQ7Zm9yKGxldCBPIG9mIHkpdy5oYXMoTyl8fHYuYWRkKE8pO3JldHVybiB2fX1OLnNldEludGVyc2VjdE5lZ2F0aW9uPUl9KShZdHx8KFl0PXt9KSk7dmFyIHNlOyhnPT57Zy5ST1c9XFxcIiRyb3dcXFwiO2Z1bmN0aW9uIGUoRCl7cmV0dXJue3R5cGU6XFxcInZhcmlhYmxlXFxcIixuYW1lOkR9fWcudmFyaWFibGU9ZTtmdW5jdGlvbiB0KEQpe3JldHVybnt0eXBlOlxcXCJsaXRlcmFsXFxcIix2YWx1ZTpEfX1nLmxpdGVyYWw9dDtmdW5jdGlvbiByKEQsVCxJKXtyZXR1cm57dHlwZTpcXFwiYmluYXJ5b3BcXFwiLGxlZnQ6RCxvcDpULHJpZ2h0Okl9fWcuYmluYXJ5T3A9cjtmdW5jdGlvbiBzKEQsVCl7cmV0dXJue3R5cGU6XFxcImJpbmFyeW9wXFxcIixsZWZ0OkQscmlnaHQ6VCxvcDpcXFwiaW5kZXhcXFwifX1nLmluZGV4PXM7ZnVuY3Rpb24gaShEKXtsZXQgVD1ELnNwbGl0KFxcXCIuXFxcIiksST1nLnZhcmlhYmxlKFRbMF0pO2ZvcihsZXQgTj0xO048VC5sZW5ndGg7TisrKUk9Zy5pbmRleChJLGcubGl0ZXJhbChUW05dKSk7cmV0dXJuIEl9Zy5pbmRleFZhcmlhYmxlPWk7ZnVuY3Rpb24gbyhELFQpe3JldHVybnt0eXBlOlxcXCJsYW1iZGFcXFwiLGFyZ3VtZW50czpELHZhbHVlOlR9fWcubGFtYmRhPW87ZnVuY3Rpb24gYShELFQpe3JldHVybnt0eXBlOlxcXCJmdW5jdGlvblxcXCIsZnVuYzpELGFyZ3VtZW50czpUfX1nLmZ1bmM9YTtmdW5jdGlvbiB1KEQpe3JldHVybnt0eXBlOlxcXCJsaXN0XFxcIix2YWx1ZXM6RH19Zy5saXN0PXU7ZnVuY3Rpb24gbChEKXtyZXR1cm57dHlwZTpcXFwib2JqZWN0XFxcIix2YWx1ZXM6RH19Zy5vYmplY3Q9bDtmdW5jdGlvbiBmKEQpe3JldHVybnt0eXBlOlxcXCJuZWdhdGVkXFxcIixjaGlsZDpEfX1nLm5lZ2F0ZT1mO2Z1bmN0aW9uIGQoRCl7cmV0dXJuIEQ9PVxcXCI8PVxcXCJ8fEQ9PVxcXCI8XFxcInx8RD09XFxcIj5cXFwifHxEPT1cXFwiPj1cXFwifHxEPT1cXFwiIT1cXFwifHxEPT1cXFwiPVxcXCJ9Zy5pc0NvbXBhcmVPcD1kO2Z1bmN0aW9uIHAoRCxUPW5ldyBTZXQoW2cuUk9XXSkpe3N3aXRjaChELnR5cGUpe2Nhc2VcXFwiYmluYXJ5b3BcXFwiOnJldHVybiBELm9wPT09XFxcImluZGV4XFxcIiYmRC5sZWZ0LnR5cGU9PVxcXCJ2YXJpYWJsZVxcXCImJkQubGVmdC5uYW1lPT1nLlJPVyYmRC5yaWdodC50eXBlPT1cXFwibGl0ZXJhbFxcXCImJmV0LmlzU3RyaW5nKEQucmlnaHQudmFsdWUpP1QuaGFzKEQucmlnaHQudmFsdWUpP25ldyBTZXQ6bmV3IFNldChbRC5yaWdodC52YWx1ZV0pOll0LnNldFVuaW9uKFtwKEQubGVmdCxUKSxwKEQucmlnaHQsVCldKTtjYXNlXFxcImZ1bmN0aW9uXFxcIjpyZXR1cm4gWXQuc2V0VW5pb24oRC5hcmd1bWVudHMubWFwKE49PnAoTixUKSkpO2Nhc2VcXFwibGFtYmRhXFxcIjpsZXQgST1UIT1udWxsP1Q6bmV3IFNldDtmb3IobGV0IE4gb2YgRC5hcmd1bWVudHMpSS5hZGQoTik7cmV0dXJuIHAoRC52YWx1ZSxJKTtjYXNlXFxcImxpc3RcXFwiOnJldHVybiBZdC5zZXRVbmlvbihELnZhbHVlcy5tYXAoTj0+cChOLFQpKSk7Y2FzZVxcXCJuZWdhdGVkXFxcIjpyZXR1cm4gcChELmNoaWxkLFQpO2Nhc2VcXFwib2JqZWN0XFxcIjpyZXR1cm4gWXQuc2V0VW5pb24oT2JqZWN0LnZhbHVlcyhELnZhbHVlcykubWFwKE49PnAoTixUKSkpO2Nhc2VcXFwidmFyaWFibGVcXFwiOnJldHVybiBUJiZULmhhcyhELm5hbWUpP25ldyBTZXQ6bmV3IFNldChbRC5uYW1lXSk7Y2FzZVxcXCJsaXRlcmFsXFxcIjpyZXR1cm4gbmV3IFNldH19Zy51bmJvdW5kVmFyaWFibGVzPXA7ZnVuY3Rpb24gaChEKXtzd2l0Y2goRC50eXBlKXtjYXNlXFxcImJpbmFyeW9wXFxcIjpyZXR1cm4gRC5vcD09PVxcXCJpbmRleFxcXCI/YCR7aChELmxlZnQpfVske2goRC5yaWdodCl9XWA6YCR7aChELmxlZnQpfSAke0Qub3B9ICR7aChELnJpZ2h0KX1gO2Nhc2VcXFwiZnVuY3Rpb25cXFwiOnJldHVybmAke2goRC5mdW5jKX0oJHtELmFyZ3VtZW50cy5tYXAoaCkuam9pbihcXFwiLCBcXFwiKX0pYDtjYXNlXFxcImxhbWJkYVxcXCI6cmV0dXJuYCgke0QuYXJndW1lbnRzLmpvaW4oXFxcIiwgXFxcIil9KSA9PiAke2goRC52YWx1ZSl9YDtjYXNlXFxcImxpc3RcXFwiOnJldHVybmBbJHtELnZhbHVlcy5tYXAoaCkuam9pbihcXFwiLCBcXFwiKX1dYDtjYXNlXFxcIm5lZ2F0ZWRcXFwiOnJldHVybmAhJHtoKEQuY2hpbGQpfWA7Y2FzZVxcXCJvYmplY3RcXFwiOnJldHVybmB7JHtPYmplY3QuZW50cmllcyhELnZhbHVlcykubWFwKChbSSxOXSk9PmAke0l9OiAke2goTil9YCkuam9pbihcXFwiLCBcXFwiKX19YDtjYXNlXFxcInZhcmlhYmxlXFxcIjpyZXR1cm4gRC5uYW1lO2Nhc2VcXFwibGl0ZXJhbFxcXCI6bGV0IFQ9ZXQud3JhcFZhbHVlKEQudmFsdWUpO2lmKCFUKXJldHVyblxcXCJudWxsXFxcIjtzd2l0Y2goVC50eXBlKXtjYXNlXFxcInN0cmluZ1xcXCI6cmV0dXJuYFxcXCIke1QudmFsdWV9XFxcImA7ZGVmYXVsdDpyZXR1cm4gZXQudG9TdHJpbmcoVC52YWx1ZSl9fX1nLnRvU3RyaW5nPWgsZy5OVUxMPWcubGl0ZXJhbChudWxsKX0pKHNlfHwoc2U9e30pKTt2YXIgej1GLmNyZWF0ZUxhbmd1YWdlKHtudW1iZXI6bj0+Ri5yZWdleHAoLy0/WzAtOV0rKFxcXFwuWzAtOV0rKT8vKS5tYXAoZT0+TnVtYmVyLnBhcnNlRmxvYXQoZSkpLmRlc2MoXFxcIm51bWJlclxcXCIpLHN0cmluZzpuPT5GLnN0cmluZygnXFxcIicpLnRoZW4oRi5hbHQobi5lc2NhcGVDaGFyYWN0ZXIsRi5ub25lT2YoJ1xcXCJcXFxcXFxcXCcpKS5hdExlYXN0KDApLm1hcChlPT5lLmpvaW4oXFxcIlxcXCIpKSkuc2tpcChGLnN0cmluZygnXFxcIicpKS5kZXNjKFxcXCJzdHJpbmdcXFwiKSxlc2NhcGVDaGFyYWN0ZXI6bj0+Ri5zdHJpbmcoXFxcIlxcXFxcXFxcXFxcIikudGhlbihGLmFueSkubWFwKGU9PmU9PT0nXFxcIic/J1xcXCInOmU9PT1cXFwiXFxcXFxcXFxcXFwiP1xcXCJcXFxcXFxcXFxcXCI6XFxcIlxcXFxcXFxcXFxcIitlKSxib29sOm49PkYucmVnZXhwKC90cnVlfGZhbHNlfFRydWV8RmFsc2UvKS5tYXAoZT0+ZS50b0xvd2VyQ2FzZSgpPT1cXFwidHJ1ZVxcXCIpLmRlc2MoXFxcImJvb2xlYW5cXFwiKSx0YWc6bj0+Ri5zZXFNYXAoRi5zdHJpbmcoXFxcIiNcXFwiKSxGLmFsdChGLnJlZ2V4cCgvW15cXFxcdTIwMDAtXFxcXHUyMDZGXFxcXHUyRTAwLVxcXFx1MkU3RichXFxcIiMkJSYoKSorLC46Ozw9Pj9AXmB7fH1+XFxcXFtcXFxcXVxcXFxcXFxcXFxcXHNdLykuZGVzYyhcXFwidGV4dFxcXCIpKS5tYW55KCksKGUsdCk9PmUrdC5qb2luKFxcXCJcXFwiKSkuZGVzYyhcXFwidGFnXFxcIiksaWRlbnRpZmllcjpuPT5GLnNlcU1hcChGLmFsdChGLnJlZ2V4cCgvW1xcXFxwe0xldHRlcn0kXS91KSxGLnJlZ2V4cChxdSkuZGVzYyhcXFwidGV4dFxcXCIpKSxGLmFsdChGLnJlZ2V4cCgvWzAtOVxcXFxwe0xldHRlcn0kXy1dL3UpLEYucmVnZXhwKHF1KS5kZXNjKFxcXCJ0ZXh0XFxcIikpLm1hbnkoKSwoZSx0KT0+ZSt0LmpvaW4oXFxcIlxcXCIpKS5kZXNjKFxcXCJ2YXJpYWJsZVxcXCIpLGxpbms6bj0+Ri5yZWdleHAoL1xcXFxbXFxcXFsoW15cXFxcW1xcXFxdXSo/KVxcXFxdXFxcXF0vdSwxKS5tYXAoZT0+eGUucGFyc2VJbm5lcihlKSkuZGVzYyhcXFwiZmlsZSBsaW5rXFxcIiksZW1iZWRMaW5rOm49PkYuc2VxTWFwKEYuc3RyaW5nKFxcXCIhXFxcIikuYXRNb3N0KDEpLG4ubGluaywoZSx0KT0+KGUubGVuZ3RoPjAmJih0LmVtYmVkPSEwKSx0KSkuZGVzYyhcXFwiZmlsZSBsaW5rXFxcIiksYmluYXJ5UGx1c01pbnVzOm49PkYucmVnZXhwKC9cXFxcK3wtLykubWFwKGU9PmUpLmRlc2MoXFxcIicrJyBvciAnLSdcXFwiKSxiaW5hcnlNdWxEaXY6bj0+Ri5yZWdleHAoL1xcXFwqfFxcXFwvfCUvKS5tYXAoZT0+ZSkuZGVzYyhcXFwiJyonIG9yICcvJyBvciAnJSdcXFwiKSxiaW5hcnlDb21wYXJlT3A6bj0+Ri5yZWdleHAoLz49fDw9fCE9fD58PHw9LykubWFwKGU9PmUpLmRlc2MoXFxcIic+PScgb3IgJzw9JyBvciAnIT0nIG9yICc9JyBvciAnPicgb3IgJzwnXFxcIiksYmluYXJ5QW5kT3A6bj0+Ri5yZWdleHAoL2FuZHwmL2kpLm1hcChlPT5cXFwiJlxcXCIpLmRlc2MoXFxcIidhbmQnXFxcIiksYmluYXJ5T3JPcDpuPT5GLnJlZ2V4cCgvb3J8XFxcXHwvaSkubWFwKGU9PlxcXCJ8XFxcIikuZGVzYyhcXFwiJ29yJ1xcXCIpLHJvb3REYXRlOm49PkYuc2VxTWFwKEYucmVnZXhwKC9cXFxcZHs0fS8pLEYuc3RyaW5nKFxcXCItXFxcIiksRi5yZWdleHAoL1xcXFxkezJ9LyksKGUsdCxyKT0+cS5mcm9tT2JqZWN0KHt5ZWFyOk51bWJlci5wYXJzZUludChlKSxtb250aDpOdW1iZXIucGFyc2VJbnQocil9KSkuZGVzYyhcXFwiZGF0ZSBpbiBmb3JtYXQgWVlZWS1NTVstRERUSEgtTU0tU1MuTVNdXFxcIiksZGF0ZVNob3J0aGFuZDpuPT5GLmFsdCguLi5PYmplY3Qua2V5cyhVdSkuc29ydCgoZSx0KT0+dC5sZW5ndGgtZS5sZW5ndGgpLm1hcChGLnN0cmluZykpLGRhdGU6bj0+eGYobi5yb290RGF0ZSxlPT5GLnNlcU1hcChGLnN0cmluZyhcXFwiLVxcXCIpLEYucmVnZXhwKC9cXFxcZHsyfS8pLCh0LHIpPT5lLnNldCh7ZGF5Ok51bWJlci5wYXJzZUludChyKX0pKSxlPT5GLnNlcU1hcChGLnN0cmluZyhcXFwiVFxcXCIpLEYucmVnZXhwKC9cXFxcZHsyfS8pLCh0LHIpPT5lLnNldCh7aG91cjpOdW1iZXIucGFyc2VJbnQocil9KSksZT0+Ri5zZXFNYXAoRi5zdHJpbmcoXFxcIjpcXFwiKSxGLnJlZ2V4cCgvXFxcXGR7Mn0vKSwodCxyKT0+ZS5zZXQoe21pbnV0ZTpOdW1iZXIucGFyc2VJbnQocil9KSksZT0+Ri5zZXFNYXAoRi5zdHJpbmcoXFxcIjpcXFwiKSxGLnJlZ2V4cCgvXFxcXGR7Mn0vKSwodCxyKT0+ZS5zZXQoe3NlY29uZDpOdW1iZXIucGFyc2VJbnQocil9KSksZT0+Ri5hbHQoRi5zZXFNYXAoRi5zdHJpbmcoXFxcIi5cXFwiKSxGLnJlZ2V4cCgvXFxcXGR7M30vKSwodCxyKT0+ZS5zZXQoe21pbGxpc2Vjb25kOk51bWJlci5wYXJzZUludChyKX0pKSxGLnN1Y2NlZWQoZSkpLGU9PkYuYWx0KEYuc2VxTWFwKEYuc3RyaW5nKFxcXCIrXFxcIikub3IoRi5zdHJpbmcoXFxcIi1cXFwiKSksRi5yZWdleHAoL1xcXFxkezEsMn0oOlxcXFxkezJ9KT8vKSwodCxyKT0+ZS5zZXRab25lKFxcXCJVVENcXFwiK3Qrcix7a2VlcExvY2FsVGltZTohMH0pKSxGLnNlcU1hcChGLnN0cmluZyhcXFwiWlxcXCIpLCgpPT5lLnNldFpvbmUoXFxcInV0Y1xcXCIse2tlZXBMb2NhbFRpbWU6ITB9KSksRi5zZXFNYXAoRi5zdHJpbmcoXFxcIltcXFwiKSxGLnJlZ2V4cCgvWzAtOUEtWmEteistXFxcXC9dKy91KSxGLnN0cmluZyhcXFwiXVxcXCIpLCh0LHIscyk9PmUuc2V0Wm9uZShyLHtrZWVwTG9jYWxUaW1lOiEwfSkpKSkuYXNzZXJ0KGU9PmUuaXNWYWxpZCxcXFwidmFsaWQgZGF0ZVxcXCIpLmRlc2MoXFxcImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXVxcXCIpLGRhdGVQbHVzOm49PkYuYWx0KG4uZGF0ZVNob3J0aGFuZC5tYXAoZT0+VXVbZV0oKSksbi5kYXRlKS5kZXNjKFxcXCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU10gb3IgaW4gc2hvcnRoYW5kXFxcIiksZHVyYXRpb25UeXBlOm49PkYuYWx0KC4uLk9iamVjdC5rZXlzKFZ1KS5zb3J0KChlLHQpPT50Lmxlbmd0aC1lLmxlbmd0aCkubWFwKEYuc3RyaW5nKSksZHVyYXRpb246bj0+Ri5zZXFNYXAobi5udW1iZXIsRi5vcHRXaGl0ZXNwYWNlLG4uZHVyYXRpb25UeXBlLChlLHQscik9PlZ1W3JdLm1hcFVuaXRzKHM9PnMqZSkpLnNlcEJ5MShGLnN0cmluZyhcXFwiLFxcXCIpLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKS5vcihGLm9wdFdoaXRlc3BhY2UpKS5tYXAoZT0+ZS5yZWR1Y2UoKHQscik9PnQucGx1cyhyKSkpLmRlc2MoXFxcImR1cmF0aW9uIGxpa2UgNGhyMm1pblxcXCIpLHJhd051bGw6bj0+Ri5zdHJpbmcoXFxcIm51bGxcXFwiKSxhdG9tSW5saW5lRmllbGQ6bj0+Ri5hbHQobi5kYXRlLG4uZHVyYXRpb24ubWFwKGU9Pk1pKGUpKSxuLnN0cmluZyxuLnRhZyxuLmVtYmVkTGluayxuLmJvb2wsbi5udW1iZXIsbi5yYXdOdWxsKSxpbmxpbmVGaWVsZExpc3Q6bj0+bi5hdG9tSW5saW5lRmllbGQuc2VwQnkoRi5zdHJpbmcoXFxcIixcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSkubG9va2FoZWFkKG4uYXRvbUlubGluZUZpZWxkKSksaW5saW5lRmllbGQ6bj0+Ri5hbHQoRi5zZXFNYXAobi5hdG9tSW5saW5lRmllbGQsRi5zdHJpbmcoXFxcIixcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSksbi5pbmxpbmVGaWVsZExpc3QsKGUsdCxyKT0+W2VdLmNvbmNhdChyKSksbi5hdG9tSW5saW5lRmllbGQpfSkscXU9bmV3IFJlZ0V4cChGbigpLFxcXCJcXFwiKSxWdT17eWVhcjpCLmZyb21PYmplY3Qoe3llYXJzOjF9KSx5ZWFyczpCLmZyb21PYmplY3Qoe3llYXJzOjF9KSx5cjpCLmZyb21PYmplY3Qoe3llYXJzOjF9KSx5cnM6Qi5mcm9tT2JqZWN0KHt5ZWFyczoxfSksbW9udGg6Qi5mcm9tT2JqZWN0KHttb250aHM6MX0pLG1vbnRoczpCLmZyb21PYmplY3Qoe21vbnRoczoxfSksbW86Qi5mcm9tT2JqZWN0KHttb250aHM6MX0pLG1vczpCLmZyb21PYmplY3Qoe21vbnRoczoxfSksd2VlazpCLmZyb21PYmplY3Qoe3dlZWtzOjF9KSx3ZWVrczpCLmZyb21PYmplY3Qoe3dlZWtzOjF9KSx3azpCLmZyb21PYmplY3Qoe3dlZWtzOjF9KSx3a3M6Qi5mcm9tT2JqZWN0KHt3ZWVrczoxfSksdzpCLmZyb21PYmplY3Qoe3dlZWtzOjF9KSxkYXk6Qi5mcm9tT2JqZWN0KHtkYXlzOjF9KSxkYXlzOkIuZnJvbU9iamVjdCh7ZGF5czoxfSksZDpCLmZyb21PYmplY3Qoe2RheXM6MX0pLGhvdXI6Qi5mcm9tT2JqZWN0KHtob3VyczoxfSksaG91cnM6Qi5mcm9tT2JqZWN0KHtob3VyczoxfSksaHI6Qi5mcm9tT2JqZWN0KHtob3VyczoxfSksaHJzOkIuZnJvbU9iamVjdCh7aG91cnM6MX0pLGg6Qi5mcm9tT2JqZWN0KHtob3VyczoxfSksbWludXRlOkIuZnJvbU9iamVjdCh7bWludXRlczoxfSksbWludXRlczpCLmZyb21PYmplY3Qoe21pbnV0ZXM6MX0pLG1pbjpCLmZyb21PYmplY3Qoe21pbnV0ZXM6MX0pLG1pbnM6Qi5mcm9tT2JqZWN0KHttaW51dGVzOjF9KSxtOkIuZnJvbU9iamVjdCh7bWludXRlczoxfSksc2Vjb25kOkIuZnJvbU9iamVjdCh7c2Vjb25kczoxfSksc2Vjb25kczpCLmZyb21PYmplY3Qoe3NlY29uZHM6MX0pLHNlYzpCLmZyb21PYmplY3Qoe3NlY29uZHM6MX0pLHNlY3M6Qi5mcm9tT2JqZWN0KHtzZWNvbmRzOjF9KSxzOkIuZnJvbU9iamVjdCh7c2Vjb25kczoxfSl9LFV1PXtub3c6KCk9PnEubG9jYWwoKSx0b2RheTooKT0+cS5sb2NhbCgpLnN0YXJ0T2YoXFxcImRheVxcXCIpLHllc3RlcmRheTooKT0+cS5sb2NhbCgpLnN0YXJ0T2YoXFxcImRheVxcXCIpLm1pbnVzKEIuZnJvbU9iamVjdCh7ZGF5czoxfSkpLHRvbW9ycm93OigpPT5xLmxvY2FsKCkuc3RhcnRPZihcXFwiZGF5XFxcIikucGx1cyhCLmZyb21PYmplY3Qoe2RheXM6MX0pKSxzb3c6KCk9PnEubG9jYWwoKS5zdGFydE9mKFxcXCJ3ZWVrXFxcIiksXFxcInN0YXJ0LW9mLXdlZWtcXFwiOigpPT5xLmxvY2FsKCkuc3RhcnRPZihcXFwid2Vla1xcXCIpLGVvdzooKT0+cS5sb2NhbCgpLmVuZE9mKFxcXCJ3ZWVrXFxcIiksXFxcImVuZC1vZi13ZWVrXFxcIjooKT0+cS5sb2NhbCgpLmVuZE9mKFxcXCJ3ZWVrXFxcIiksc295OigpPT5xLmxvY2FsKCkuc3RhcnRPZihcXFwieWVhclxcXCIpLFxcXCJzdGFydC1vZi15ZWFyXFxcIjooKT0+cS5sb2NhbCgpLnN0YXJ0T2YoXFxcInllYXJcXFwiKSxlb3k6KCk9PnEubG9jYWwoKS5lbmRPZihcXFwieWVhclxcXCIpLFxcXCJlbmQtb2YteWVhclxcXCI6KCk9PnEubG9jYWwoKS5lbmRPZihcXFwieWVhclxcXCIpLHNvbTooKT0+cS5sb2NhbCgpLnN0YXJ0T2YoXFxcIm1vbnRoXFxcIiksXFxcInN0YXJ0LW9mLW1vbnRoXFxcIjooKT0+cS5sb2NhbCgpLnN0YXJ0T2YoXFxcIm1vbnRoXFxcIiksZW9tOigpPT5xLmxvY2FsKCkuZW5kT2YoXFxcIm1vbnRoXFxcIiksXFxcImVuZC1vZi1tb250aFxcXCI6KCk9PnEubG9jYWwoKS5lbmRPZihcXFwibW9udGhcXFwiKX0sS3U9Ri5jcmVhdGVMYW5ndWFnZSh7dmFyaWFibGU6bj0+ei5pZGVudGlmaWVyLm1hcChzZS52YXJpYWJsZSkuZGVzYyhcXFwidmFyaWFibGVcXFwiKSxudW1iZXI6bj0+ei5udW1iZXIubWFwKHNlLmxpdGVyYWwpLmRlc2MoXFxcIm51bWJlclxcXCIpLHN0cmluZzpuPT56LnN0cmluZy5tYXAoc2UubGl0ZXJhbCkuZGVzYyhcXFwic3RyaW5nXFxcIiksYm9vbDpuPT56LmJvb2wubWFwKHNlLmxpdGVyYWwpLmRlc2MoXFxcImJvb2xlYW5cXFwiKSxkYXRlOm49PlN0KFxcXCJkYXRlXFxcIix6LmRhdGVQbHVzKS5tYXAoKFtlLHRdKT0+c2UubGl0ZXJhbCh0KSkuZGVzYyhcXFwiZGF0ZVxcXCIpLGR1cmF0aW9uOm49PlN0KFxcXCJkdXJcXFwiLHouZHVyYXRpb24pLm1hcCgoW2UsdF0pPT5zZS5saXRlcmFsKHQpKS5kZXNjKFxcXCJkdXJhdGlvblxcXCIpLG51bGw6bj0+ei5yYXdOdWxsLm1hcChlPT5zZS5OVUxMKSxsaW5rOm49PnoubGluay5tYXAoc2UubGl0ZXJhbCksbGlzdDpuPT5uLmV4cHJlc3Npb24uc2VwQnkoRi5zdHJpbmcoXFxcIixcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSkpLndyYXAoRi5zdHJpbmcoXFxcIltcXFwiKS5za2lwKEYub3B0V2hpdGVzcGFjZSksRi5vcHRXaGl0ZXNwYWNlLnRoZW4oRi5zdHJpbmcoXFxcIl1cXFwiKSkpLm1hcChlPT5zZS5saXN0KGUpKS5kZXNjKFxcXCJsaXN0XFxcIiksb2JqZWN0Om49PkYuc2VxTWFwKHouaWRlbnRpZmllci5vcih6LnN0cmluZyksRi5zdHJpbmcoXFxcIjpcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSksbi5leHByZXNzaW9uLChlLHQscik9Pih7bmFtZTplLHZhbHVlOnJ9KSkuc2VwQnkoRi5zdHJpbmcoXFxcIixcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSkpLndyYXAoRi5zdHJpbmcoXFxcIntcXFwiKS5za2lwKEYub3B0V2hpdGVzcGFjZSksRi5vcHRXaGl0ZXNwYWNlLnRoZW4oRi5zdHJpbmcoXFxcIn1cXFwiKSkpLm1hcChlPT57bGV0IHQ9e307Zm9yKGxldCByIG9mIGUpdFtyLm5hbWVdPXIudmFsdWU7cmV0dXJuIHNlLm9iamVjdCh0KX0pLmRlc2MoXFxcIm9iamVjdCAoJ3sgYTogMSwgYjogMiB9JylcXFwiKSxhdG9tOm49PkYuYWx0KHouZW1iZWRMaW5rLm1hcChlPT5zZS5saXRlcmFsKGUpKSxuLm5lZ2F0ZWQsbi5saW5rLG4ubGlzdCxuLm9iamVjdCxuLmxhbWJkYSxuLnBhcmVucyxuLmJvb2wsbi5udW1iZXIsbi5zdHJpbmcsbi5kYXRlLG4uZHVyYXRpb24sbi5udWxsLG4udmFyaWFibGUpLGluZGV4Om49PkYuc2VxTWFwKG4uYXRvbSxGLmFsdChuLmRvdFBvc3RmaXgsbi5pbmRleFBvc3RmaXgsbi5mdW5jdGlvblBvc3RmaXgpLm1hbnkoKSwoZSx0KT0+e2xldCByPWU7Zm9yKGxldCBzIG9mIHQpc3dpdGNoKHMudHlwZSl7Y2FzZVxcXCJkb3RcXFwiOnI9c2UuaW5kZXgocixzZS5saXRlcmFsKHMuZXhwcikpO2JyZWFrO2Nhc2VcXFwiaW5kZXhcXFwiOnI9c2UuaW5kZXgocixzLmV4cHIpO2JyZWFrO2Nhc2VcXFwiZnVuY3Rpb25cXFwiOnI9c2UuZnVuYyhyLHMuZXhwcnMpO2JyZWFrfXJldHVybiByfSksbmVnYXRlZDpuPT5GLnNlcU1hcChGLnN0cmluZyhcXFwiIVxcXCIpLG4uaW5kZXgsKGUsdCk9PnNlLm5lZ2F0ZSh0KSkuZGVzYyhcXFwibmVnYXRlZCBmaWVsZFxcXCIpLHBhcmVuczpuPT5uLmV4cHJlc3Npb24udHJpbShGLm9wdFdoaXRlc3BhY2UpLndyYXAoRi5zdHJpbmcoXFxcIihcXFwiKSxGLnN0cmluZyhcXFwiKVxcXCIpKSxsYW1iZGE6bj0+Ri5zZXFNYXAoei5pZGVudGlmaWVyLnNlcEJ5KEYuc3RyaW5nKFxcXCIsXFxcIikudHJpbShGLm9wdFdoaXRlc3BhY2UpKS53cmFwKEYuc3RyaW5nKFxcXCIoXFxcIikudHJpbShGLm9wdFdoaXRlc3BhY2UpLEYuc3RyaW5nKFxcXCIpXFxcIikudHJpbShGLm9wdFdoaXRlc3BhY2UpKSxGLnN0cmluZyhcXFwiPT5cXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSksbi5leHByZXNzaW9uLChlLHQscik9Pih7dHlwZTpcXFwibGFtYmRhXFxcIixhcmd1bWVudHM6ZSx2YWx1ZTpyfSkpLGRvdFBvc3RmaXg6bj0+Ri5zZXFNYXAoRi5zdHJpbmcoXFxcIi5cXFwiKSx6LmlkZW50aWZpZXIsKGUsdCk9Pih7dHlwZTpcXFwiZG90XFxcIixleHByOnR9KSksaW5kZXhQb3N0Zml4Om49PkYuc2VxTWFwKEYuc3RyaW5nKFxcXCJbXFxcIiksRi5vcHRXaGl0ZXNwYWNlLG4uZXhwcmVzc2lvbixGLm9wdFdoaXRlc3BhY2UsRi5zdHJpbmcoXFxcIl1cXFwiKSwoZSx0LHIscyxpKT0+KHt0eXBlOlxcXCJpbmRleFxcXCIsZXhwcjpyfSkpLGZ1bmN0aW9uUG9zdGZpeDpuPT5GLnNlcU1hcChGLnN0cmluZyhcXFwiKFxcXCIpLEYub3B0V2hpdGVzcGFjZSxuLmV4cHJlc3Npb24uc2VwQnkoRi5zdHJpbmcoXFxcIixcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSkpLEYub3B0V2hpdGVzcGFjZSxGLnN0cmluZyhcXFwiKVxcXCIpLChlLHQscixzLGkpPT4oe3R5cGU6XFxcImZ1bmN0aW9uXFxcIixleHByczpyfSkpLGJpbmFyeU11bERpdjpuPT5NbihuLmluZGV4LHouYmluYXJ5TXVsRGl2LHNlLmJpbmFyeU9wKSxiaW5hcnlQbHVzTWludXM6bj0+TW4obi5iaW5hcnlNdWxEaXYsei5iaW5hcnlQbHVzTWludXMsc2UuYmluYXJ5T3ApLGJpbmFyeUNvbXBhcmU6bj0+TW4obi5iaW5hcnlQbHVzTWludXMsei5iaW5hcnlDb21wYXJlT3Asc2UuYmluYXJ5T3ApLGJpbmFyeUJvb2xlYW46bj0+TW4obi5iaW5hcnlDb21wYXJlLHouYmluYXJ5QW5kT3Aub3Ioei5iaW5hcnlPck9wKSxzZS5iaW5hcnlPcCksYmluYXJ5T3A6bj0+bi5iaW5hcnlCb29sZWFuLGV4cHJlc3Npb246bj0+bi5iaW5hcnlPcH0pLGxiPUYuY3JlYXRlTGFuZ3VhZ2Uoe3F1ZXJ5VGFnOm49PnoudGFnLm1hcChlPT4oe3R5cGU6XFxcInRhZ2dlZFxcXCIsdmFsdWU6ZX0pKSxxdWVyeUlkOm49PlN0KFxcXCJpZFxcXCIsei5zdHJpbmcpLm1hcCgoW2UsdF0pPT4oe3R5cGU6XFxcImlkXFxcIix2YWx1ZTp0fSkpLHF1ZXJ5VHlwZTpuPT5GLnN0cmluZyhcXFwiQFxcXCIpLnRoZW4oei5pZGVudGlmaWVyKS5tYXAoZT0+KHt0eXBlOlxcXCJ0eXBlZFxcXCIsdmFsdWU6ZX0pKSxxdWVyeVBhdGg6bj0+U3QoRi5yZWdleHAoL2U/cGF0aC9pKS5kZXNjKFxcXCJbZV1wYXRoXFxcIiksei5zdHJpbmcpLm1hcCgoW2UsdF0pPT4oe3R5cGU6XFxcInBhdGhcXFwiLHZhbHVlOnQsZXhhY3Q6ZS50b0xvd2VyQ2FzZSgpPT09XFxcImVwYXRoXFxcIn0pKSxxdWVyeVBhcmVudE9mOm49PlN0KEYucmVnZXhwKC9wYXJlbnRvZnxzdXBlcnRyZWUvaSkuZGVzYyhcXFwicGFyZW50b2ZcXFwiKSxuLnF1ZXJ5KS5tYXAoKFtlLHRdKT0+KHt0eXBlOlxcXCJwYXJlbnQtb2ZcXFwiLGNoaWxkcmVuOnQsaW5jbHVzaXZlOmUudG9Mb3dlckNhc2UoKT09PVxcXCJzdXBlcnRyZWVcXFwifSkpLHF1ZXJ5Q2hpbGRPZjpuPT5TdChGLnJlZ2V4cCgvY2hpbGRvZnxzdWJ0cmVlL2kpLmRlc2MoXFxcImNoaWxkb2ZcXFwiKSxuLnF1ZXJ5KS5tYXAoKFtlLHRdKT0+KHt0eXBlOlxcXCJjaGlsZC1vZlxcXCIscGFyZW50czp0LGluY2x1c2l2ZTplLnRvTG93ZXJDYXNlKCk9PT1cXFwic3VidHJlZVxcXCJ9KSkscXVlcnlTaW1wbGVMaW5rZWQ6bj0+ei5saW5rLm1hcChlPT4oe3R5cGU6XFxcImxpbmtlZFxcXCIsc291cmNlOnt0eXBlOlxcXCJsaW5rXFxcIix2YWx1ZTplfSxkaXJlY3Rpb246XFxcImluY29taW5nXFxcIn0pKSxxdWVyeUxpbmtlZDpuPT5TdChGLnJlZ2V4cCgvbGlua3N0b3xsaW5rZWRmcm9tfGNvbm5lY3RlZC9pKS5kZXNjKFxcXCJjb25uZWN0ZWRcXFwiKSxuLnF1ZXJ5KS5tYXAoKFtlLHRdKT0+KHt0eXBlOlxcXCJsaW5rZWRcXFwiLHNvdXJjZTp0LGRpcmVjdGlvbjplLnRvTG93ZXJDYXNlKCk9PVxcXCJsaW5rc3RvXFxcIj9cXFwiaW5jb21pbmdcXFwiOmUudG9Mb3dlckNhc2UoKT09XFxcImxpbmtlZGZyb21cXFwiP1xcXCJvdXRnb2luZ1xcXCI6XFxcImJvdGhcXFwifSkpLHF1ZXJ5RXhpc3RzOm49PlN0KEYucmVnZXhwKC9leGlzdHMvaSkuZGVzYyhcXFwiZXhpc3RzXFxcIiksei5pZGVudGlmaWVyLm9yKHouc3RyaW5nKSkubWFwKChbZSx0XSk9Pih7dHlwZTpcXFwiZmllbGRcXFwiLHZhbHVlOnR9KSkscXVlcnlRdW90ZWRFeHByZXNzaW9uOm49PlN0KEYucmVnZXhwKC9leHByL2kpLmRlc2MoXFxcImV4cHJcXFwiKSxLdS5leHByZXNzaW9uKS5tYXAoKFtlLHRdKT0+KHt0eXBlOlxcXCJleHByZXNzaW9uXFxcIixleHByZXNzaW9uOnR9KSkscXVlcnlSYXdFeHByZXNzaW9uOm49Pkt1LmJpbmFyeUNvbXBhcmUubWFwKGU9Pih7dHlwZTpcXFwiZXhwcmVzc2lvblxcXCIsZXhwcmVzc2lvbjplfSkpLHF1ZXJ5UGFyZW5zOm49Pm4ucXVlcnkudHJpbShGLm9wdFdoaXRlc3BhY2UpLndyYXAoRi5zdHJpbmcoXFxcIihcXFwiKSxGLnN0cmluZyhcXFwiKVxcXCIpKSxxdWVyeU5lZ2F0ZTpuPT5GLnN0cmluZyhcXFwiIVxcXCIpLnNraXAoRi5vcHRXaGl0ZXNwYWNlKS50aGVuKG4ucXVlcnlBdG9tKS5tYXAoZT0+KHt0eXBlOlxcXCJub3RcXFwiLGVsZW1lbnQ6ZX0pKSxxdWVyeUF0b206bj0+Ri5hbHQobi5xdWVyeVBhcmVucyxuLnF1ZXJ5TmVnYXRlLG4ucXVlcnlTaW1wbGVMaW5rZWQsbi5xdWVyeVRhZyxuLnF1ZXJ5VHlwZSxuLnF1ZXJ5SWQsbi5xdWVyeUV4aXN0cyxuLnF1ZXJ5Q2hpbGRPZixuLnF1ZXJ5UGFyZW50T2Ysbi5xdWVyeUxpbmtlZCxuLnF1ZXJ5UGF0aCxuLnF1ZXJ5UXVvdGVkRXhwcmVzc2lvbixuLnF1ZXJ5UmF3RXhwcmVzc2lvbikscXVlcnlBbmRzOm49Pk1uKG4ucXVlcnlBdG9tLHouYmluYXJ5QW5kT3AsKGUsdCxyKT0+KHt0eXBlOlxcXCJhbmRcXFwiLGVsZW1lbnRzOltlLHJdfSkpLHF1ZXJ5T3JzOm49Pk1uKG4ucXVlcnlBbmRzLHouYmluYXJ5T3JPcCwoZSx0LHIpPT4oe3R5cGU6XFxcIm9yXFxcIixlbGVtZW50czpbZSxyXX0pKSxxdWVyeTpuPT5uLnF1ZXJ5T3JzLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKX0pO2Z1bmN0aW9uIE1uKG4sZSx0KXtyZXR1cm4gRi5zZXFNYXAobixGLnNlcShGLm9wdFdoaXRlc3BhY2UsZSxGLm9wdFdoaXRlc3BhY2UsbikubWFueSgpLChyLHMpPT57aWYocy5sZW5ndGg9PTApcmV0dXJuIHI7bGV0IGk9dChyLHNbMF1bMV0sc1swXVszXSk7Zm9yKGxldCBvPTE7bzxzLmxlbmd0aDtvKyspaT10KGksc1tvXVsxXSxzW29dWzNdKTtyZXR1cm4gaX0pfWZ1bmN0aW9uIFN0KG4sZSl7bGV0IHQ9dHlwZW9mIG49PVxcXCJzdHJpbmdcXFwiP0Yuc3RyaW5nKG4pOm47cmV0dXJuIEYuc2VxTWFwKHQuc2tpcChGLm9wdFdoaXRlc3BhY2UpLGUudHJpbShGLm9wdFdoaXRlc3BhY2UpLndyYXAoRi5zdHJpbmcoXFxcIihcXFwiKSxGLnN0cmluZyhcXFwiKVxcXCIpKSwocixzKT0+W3Isc10pfWZ1bmN0aW9uIHhmKG4sLi4uZSl7cmV0dXJuIEYuY3VzdG9tKCh0LHIpPT4ocyxpKT0+e2xldCBvPW4uXyhzLGkpO2lmKCFvLnN0YXR1cylyZXR1cm4gbztmb3IobGV0IGEgb2YgZSl7bGV0IHU9YShvLnZhbHVlKS5fKHMsby5pbmRleCk7aWYoIXUuc3RhdHVzKXJldHVybiBvO289dX1yZXR1cm4gb30pfXZhciBadD1WcihucygpKTtmdW5jdGlvbiBHdChuLGUpe2xldCB0PXt9O2ZvcihsZXRbcixzXW9mIE9iamVjdC5lbnRyaWVzKG4pKXRbcl09ZShzKTtyZXR1cm4gdH12YXIgX247KHI9PntyLk5PT1BfTk9STUFMSVpFUj1zPT5zO2Z1bmN0aW9uIGUocyl7bGV0IGk9ZXQud3JhcFZhbHVlKHMpO2lmKCFpKXJldHVybiBudWxsO3N3aXRjaChpPT1udWxsP3ZvaWQgMDppLnR5cGUpe2Nhc2VcXFwiYXJyYXlcXFwiOnJldHVybiBpLnZhbHVlLm1hcChyLmpzb24pO2Nhc2VcXFwib2JqZWN0XFxcIjpyZXR1cm4gR3QoaS52YWx1ZSxyLmpzb24pO2Nhc2VcXFwiZGF0ZVxcXCI6cmV0dXJueyRfdHlwZTpcXFwiZGF0ZVxcXCIsdmFsdWU6aS52YWx1ZS50b0lTTyh7ZXh0ZW5kZWRab25lOiEwLGluY2x1ZGVPZmZzZXQ6ITB9KX07Y2FzZVxcXCJsaW5rXFxcIjpyZXR1cm57JF90eXBlOlxcXCJsaW5rXFxcIix2YWx1ZTppLnZhbHVlLnRvT2JqZWN0KCl9O2Nhc2VcXFwiZHVyYXRpb25cXFwiOnJldHVybnskX3R5cGU6XFxcImR1cmF0aW9uXFxcIix2YWx1ZTppLnZhbHVlLnRvSVNPKCl9O2Nhc2VcXFwiYm9vbGVhblxcXCI6Y2FzZVxcXCJudW1iZXJcXFwiOmNhc2VcXFwic3RyaW5nXFxcIjpyZXR1cm4gaS52YWx1ZTtjYXNlXFxcImZ1bmN0aW9uXFxcIjpjYXNlXFxcIm51bGxcXFwiOnJldHVybiBudWxsfX1yLmpzb249ZTtmdW5jdGlvbiB0KHMsaT1yLk5PT1BfTk9STUFMSVpFUil7aWYocz09bnVsbClyZXR1cm4gbnVsbDtpZihBcnJheS5pc0FycmF5KHMpKXJldHVybiBpKHMubWFwKG89PnIudmFsdWUobyxpKSkpO2lmKHR5cGVvZiBzPT1cXFwib2JqZWN0XFxcIil7aWYoIShcXFwiJF90eXBlXFxcImluIHMpKXJldHVybiBHdChzLGE9PnIudmFsdWUoYSxpKSk7bGV0IG89cy4kX3R5cGU7c3dpdGNoKG8pe2Nhc2VcXFwiZGF0ZVxcXCI6cmV0dXJuIGkocS5mcm9tSVNPKHMudmFsdWUpKTtjYXNlXFxcImR1cmF0aW9uXFxcIjpyZXR1cm4gaShCLmZyb21JU08ocy52YWx1ZSkpO2Nhc2VcXFwibGlua1xcXCI6cmV0dXJuIGkoeGUuZnJvbU9iamVjdChzLnZhbHVlKSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBzZXJpYWxpemVkIHR5cGUgJyR7b30nIWApfX1yZXR1cm4gaShzKX1yLnZhbHVlPXR9KShfbnx8KF9uPXt9KSk7ZnVuY3Rpb24gV3Uobil7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sbix7dmFsdWU6X24uanNvbihuLnZhbHVlKX0pfWZ1bmN0aW9uICRzKG4sZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/bi5tYXAodD0+JHModCxlKSk6e2tleTpuLmtleSxyYXc6bi52YWx1ZSx2YWx1ZTpOZihuLnZhbHVlKSxwb3NpdGlvbjp7bGluZTplLHN0YXJ0Om4uc3RhcnQsc3RhcnRWYWx1ZTpuLnN0YXJ0VmFsdWUsZW5kOm4uZW5kfSx3cmFwcGluZzpuLndyYXBwaW5nfX12YXIgUHM9T2JqZWN0LmZyZWV6ZSh7XFxcIltcXFwiOlxcXCJdXFxcIixcXFwiKFxcXCI6XFxcIilcXFwifSk7ZnVuY3Rpb24gSWYobixlLHQscil7bGV0IHM9MCxpPSExO2ZvcihsZXQgbz1lO288bi5sZW5ndGg7bysrKXtsZXQgYT1uLmNoYXJBdChvKTtpZihhPT1cXFwiXFxcXFxcXFxcXFwiKXtpPSFpO2NvbnRpbnVlfWlmKGkpe2k9ITE7Y29udGludWV9aWYoYT09dD9zKys6YT09ciYmcy0tLHM8MClyZXR1cm57dmFsdWU6bi5zdWJzdHJpbmcoZSxvKS50cmltKCksZW5kSW5kZXg6bysxfTtpPSExfX1mdW5jdGlvbiBIdShuLGUpe2xldCB0PW4uaW5kZXhPZihcXFwiOjpcXFwiLGUpO2lmKCEodDwwKSlyZXR1cm57a2V5Om4uc3Vic3RyaW5nKGUsdCkudHJpbSgpLHZhbHVlSW5kZXg6dCsyfX1mdW5jdGlvbiBMZihuLGUpe2xldCB0PW4uY2hhckF0KGUpLHI9SHUobixlKzEpO2lmKHI9PT12b2lkIDApcmV0dXJuO2ZvcihsZXQgaSBvZiBPYmplY3Qua2V5cyhQcykuY29uY2F0KE9iamVjdC52YWx1ZXMoUHMpKSlpZihyLmtleS5pbmNsdWRlcyhpKSlyZXR1cm47bGV0IHM9SWYobixyLnZhbHVlSW5kZXgsdCxQc1t0XSk7aWYocyE9PXZvaWQgMClyZXR1cm57a2V5OnIua2V5LHZhbHVlOnMudmFsdWUsc3RhcnQ6ZSxzdGFydFZhbHVlOnIudmFsdWVJbmRleCxlbmQ6cy5lbmRJbmRleCx3cmFwcGluZzp0fX1mdW5jdGlvbiBOZihuKXtpZihuLnRyaW0oKT09XFxcIlxcXCIpcmV0dXJuIG51bGw7bGV0IGU9ei5pbmxpbmVGaWVsZC5wYXJzZShuKTtyZXR1cm4gZS5zdGF0dXM/ZS52YWx1ZTpufWZ1bmN0aW9uIEp1KG4sZT0hMSl7bGV0IHQ9W107Zm9yKGxldCBzIG9mIE9iamVjdC5rZXlzKFBzKSl7bGV0IGk9bi5pbmRleE9mKHMpO2Zvcig7aT49MDspe2xldCBvPUxmKG4saSk7aWYoIW8pe2k9bi5pbmRleE9mKHMsaSsxKTtjb250aW51ZX10LnB1c2gobyksaT1uLmluZGV4T2YocyxvLmVuZCl9fWUmJih0PXQuY29uY2F0KHFmKG4pKSksdC5zb3J0KChzLGkpPT5zLnN0YXJ0LWkuc3RhcnQpO2xldCByPVtdO2ZvcihsZXQgcz0wO3M8dC5sZW5ndGg7cysrKShzPT0wfHxyW3IubGVuZ3RoLTFdLmVuZDx0W3NdLnN0YXJ0KSYmci5wdXNoKHRbc10pO3JldHVybiByfXZhciBBZj1adC5hbHQoWnQucmVnZXhwKG5ldyBSZWdFeHAoRm4oKSxcXFwidVxcXCIpKSxadC5yZWdleHAoL1swLTlcXFxccHtMZXR0ZXJ9XFxcXHdcXFxcc18vLV0rL3UpKS5tYW55KCkubWFwKG49Pm4uam9pbihcXFwiXFxcIikpLE1mPVp0LnJlZ2V4cCgvW14wLTlcXFxcd1xcXFxwe0xldHRlcn1dKi91KS50aGVuKEFmKS5za2lwKFp0LnJlZ2V4cCgvW19cXFxcKn5gXSovdSkpO2Z1bmN0aW9uIHp1KG4pe2xldCBlPUh1KG4sMCk7aWYoIWUpcmV0dXJuO2xldCB0PU1mLnBhcnNlKGUua2V5KTtpZih0LnN0YXR1cylyZXR1cm57a2V5OnQudmFsdWUsdmFsdWU6bi5zdWJzdHJpbmcoZS52YWx1ZUluZGV4KS50cmltKCksc3RhcnQ6MCxzdGFydFZhbHVlOmUudmFsdWVJbmRleCxlbmQ6bi5sZW5ndGh9fXZhciBfZj0vXFxcXHV7Mjc5NX1cXFxccyooXFxcXGR7NH0tXFxcXGR7Mn0tXFxcXGR7Mn0pL3UsQmY9Lyg/OlxcXFx1ezFGNEM1fXxcXFxcdXsxRjRDNn18XFxcXHV7MUY1RDN9XFxcXHV7RkUwRn0/KVxcXFxzKihcXFxcZHs0fS1cXFxcZHsyfS1cXFxcZHsyfSkvdSxQZj0vXFxcXHV7MjcwNX1cXFxccyooXFxcXGR7NH0tXFxcXGR7Mn0tXFxcXGR7Mn0pL3UsJGY9L1tcXFxcdXsyM0YzfVxcXFx1ezIzMUJ9XVxcXFxzKihcXFxcZHs0fS1cXFxcZHsyfS1cXFxcZHsyfSkvdSxSZj0vXFxcXHV7MUY2RUJ9XFxcXHMqKFxcXFxkezR9LVxcXFxkezJ9LVxcXFxkezJ9KS91LGpmPVt7cmVnZXg6X2Ysa2V5OlxcXCJjcmVhdGVkXFxcIn0se3JlZ2V4OlJmLGtleTpcXFwic3RhcnRcXFwifSx7cmVnZXg6JGYsa2V5OlxcXCJzY2hlZHVsZWRcXFwifSx7cmVnZXg6QmYsa2V5OlxcXCJkdWVcXFwifSx7cmVnZXg6UGYsa2V5OlxcXCJjb21wbGV0aW9uXFxcIn1dO2Z1bmN0aW9uIHFmKG4pe2xldCBlPVtdO2ZvcihsZXR7cmVnZXg6dCxrZXk6cn1vZiBqZil7bGV0IHM9dC5leGVjKG4pO3MmJmUucHVzaCh7a2V5OnIsdmFsdWU6c1sxXSxzdGFydDpzLmluZGV4LHN0YXJ0VmFsdWU6cy5pbmRleCsxLGVuZDpzLmluZGV4K3NbMF0ubGVuZ3RoLHdyYXBwaW5nOlxcXCJlbW9qaS1zaG9ydGhhbmRcXFwifSl9cmV0dXJuIGV9dmFyIFJzOyh0PT57ZnVuY3Rpb24gbihyKXtsZXQgcz1ldC53cmFwVmFsdWUoZSk7aWYoIXMpcmV0dXJuIG51bGw7c3dpdGNoKHMudHlwZSl7Y2FzZVxcXCJzdHJpbmdcXFwiOmNhc2VcXFwiYm9vbGVhblxcXCI6Y2FzZVxcXCJudWxsXFxcIjpjYXNlXFxcIm51bWJlclxcXCI6cmV0dXJuIHMudmFsdWU7Y2FzZVxcXCJhcnJheVxcXCI6cmV0dXJuIHMudmFsdWUubWFwKG4pO2Nhc2VcXFwiZGF0ZVxcXCI6cmV0dXJuIHMudmFsdWUudG9JU08oKTtjYXNlXFxcImR1cmF0aW9uXFxcIjpyZXR1cm4gcy52YWx1ZS50b0h1bWFuKCk7Y2FzZVxcXCJmdW5jdGlvblxcXCI6cmV0dXJuIG51bGw7Y2FzZVxcXCJsaW5rXFxcIjpyZXR1cm4gcy52YWx1ZS5tYXJrZG93bigpO2Nhc2VcXFwib2JqZWN0XFxcIjpyZXR1cm4gR3Qocy52YWx1ZSxuKX19dC55YW1sPW47ZnVuY3Rpb24gZShyKXtpZihyPT1udWxsKXJldHVybiBudWxsO2lmKHR5cGVvZiByPT1cXFwib2JqZWN0XFxcIilpZihBcnJheS5pc0FycmF5KHIpKXtsZXQgcz1bXTtmb3IobGV0IGkgb2YgcilzLnB1c2goZShpKSk7cmV0dXJuIHN9ZWxzZXtpZihyIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gcS5mcm9tSlNEYXRlKHIpO3tsZXQgcz1yLGk9e307Zm9yKGxldCBvIGluIHMpaVtvXT1lKHNbb10pO3JldHVybiBpfX1lbHNle2lmKHR5cGVvZiByPT1cXFwibnVtYmVyXFxcIilyZXR1cm4gcjtpZih0eXBlb2Ygcj09XFxcImJvb2xlYW5cXFwiKXJldHVybiByO2lmKHR5cGVvZiByPT1cXFwic3RyaW5nXFxcIil7bGV0IHM9ei5kYXRlLnBhcnNlKHIpO2lmKHMuc3RhdHVzKXJldHVybiBzLnZhbHVlO2xldCBpPXouZHVyYXRpb24ucGFyc2Uocik7aWYoaS5zdGF0dXMpcmV0dXJuIGkudmFsdWU7bGV0IG89ei5saW5rLnBhcnNlKHIpO3JldHVybiBvLnN0YXR1cz9vLnZhbHVlOnJ9fXJldHVybiBudWxsfXQubGl0ZXJhbD1lfSkoUnN8fChScz17fSkpO3ZhciBWZj0vYGBgeWFtbDpkYXRhL2ksVWY9L14oPzpgYGB8fn5+KSguKikkL2ltLEtmPW5ldyBSZWdFeHAoXFxcIl5bXFxcXFxcXFxzPl0qKFxcXFxcXFxcZCtcXFxcXFxcXC58XFxcXFxcXFxkK1xcXFxcXFxcKXxcXFxcXFxcXCp8LXxcXFxcXFxcXCspXFxcXFxcXFxzKihcXFxcXFxcXFsuezAsMX1cXFxcXFxcXF0pP1xcXFxcXFxccyooLiopXFxcIixcXFwibXN1XFxcIik7ZnVuY3Rpb24gWnUobixlLHQscil7bGV0e2xpbmVzOnMsbWV0YWRhdGE6aSxmcm9udG1hdHRlcjpvLHNlY3Rpb25zOmF9PUZvKG4sZSx0KTtyZXR1cm4gbmV3IG1vKG4scixzLmxlbmd0aCxpLGEsbykuYnVpbGQoKX1mdW5jdGlvbiBGbyhuLGUsdCl7dmFyIGIsZyxELFQsSSxOLHksdyx2LE8sQyxWLGosWSxlZSxhZTtsZXQgcj10IT1udWxsJiZ0LmZyb250bWF0dGVyP0d1KHQuZnJvbnRtYXR0ZXIpOnZvaWQgMCxzPWUuc3BsaXQoL1xcXFxyXFxcXG58XFxcXHJ8XFxcXG4vKSxpPW5ldyAkZSxvPVtdLGE9KGI9dD09bnVsbD92b2lkIDA6dC5oZWFkaW5ncykhPW51bGw/YjpbXTthLnNvcnQoKHgsJCk9PngucG9zaXRpb24uc3RhcnQubGluZS0kLnBvc2l0aW9uLnN0YXJ0LmxpbmUpO2xldCB1PW5ldyBqcy5kZWZhdWx0KHZvaWQgMCwoeCwkKT0+eC0kKTtmb3IobGV0IHg9MDt4PGEubGVuZ3RoO3grKyl7bGV0ICQ9YVt4XSxRPSQucG9zaXRpb24uc3RhcnQubGluZSx1ZT14PT1hLmxlbmd0aC0xP3MubGVuZ3RoOmFbeCsxXS5wb3NpdGlvbi5zdGFydC5saW5lLERlPW5ldyBfcihRLHVlLCQuaGVhZGluZywkLmxldmVsLHgrMSk7dS5zZXQoUSxEZSl9aWYodS5zaXplPT0wKXtpZighWXUocywwLHMubGVuZ3RoKSl7bGV0IHg9bmV3IF9yKDAscy5sZW5ndGgsRW4obiksMSwwKTt1LnNldCgwLHgpfX1lbHNle2xldCB4PShnPXUuZ2V0UGFpck9yTmV4dEhpZ2hlcigwKSk9PW51bGw/dm9pZCAwOmdbMV07aWYoeC5zdGFydD4wJiYhWXUocywwLHguc3RhcnQpKXtsZXQgJD1uZXcgX3IoMCx4LnN0YXJ0LEVuKG4pLDEsMCk7dS5zZXQoMCwkKX19bGV0IGw9bmV3IGpzLmRlZmF1bHQodm9pZCAwLCh4LCQpPT54LSQpLGY9MTtmb3IobGV0IHggb2YodD09bnVsbD92b2lkIDA6dC5zZWN0aW9ucyl8fFtdKXtpZih4LnR5cGU9PT1cXFwiaGVhZGluZ1xcXCIpY29udGludWU7bGV0ICQ9eC5wb3NpdGlvbi5zdGFydC5saW5lLFE9eC5wb3NpdGlvbi5lbmQubGluZSsxLHVlPXNbJF07aWYoeC50eXBlPT09XFxcImxpc3RcXFwiKWwuc2V0KCQsbmV3IERvKCQsUSxmKysseC5pZCkpO2Vsc2UgaWYoeC50eXBlPT1cXFwiY29kZVxcXCImJlZmLnRlc3QodWUpKXtsZXQgRGU9cy5zbGljZSgkKzEsUS0xKS5qb2luKGBcXG5gKS5yZXBsYWNlKC9cXFxcdC9nbSxcXFwiICBcXFwiKSxSZT1HdShjbyhEZSkpO2wuc2V0KCQsbmV3IHlvKCQsUSxmKyssUmUseC5pZCkpfWVsc2UgaWYoeC50eXBlPT09XFxcImNvZGVcXFwiKXtsZXQgRGU9dWUubWF0Y2goVWYpO2lmKCFEZSlsLnNldCgkLG5ldyBxcygkLFEsZisrLFtdLFxcXCJpbmRlbnRcXFwiLCQsUSx4LmlkKSk7ZWxzZXtsZXQgUmU9RGUubGVuZ3RoPjEmJkRlWzFdP0RlWzFdLnNwbGl0KFxcXCIsXFxcIik6W107bC5zZXQoJCxuZXcgcXMoJCxRLGYrKyxSZSxcXFwiZmVuY2VkXFxcIiwkKzEsUS0xLHguaWQpKX19ZWxzZSBsLnNldCgkLG5ldyBnbygkLFEsZisrLHgudHlwZSx4LmlkKSl9Zm9yKGxldCB4IG9mIGwudmFsdWVzKCkpKEQ9Y3QoeC5zdGFydCx1KSk9PW51bGx8fEQuYmxvY2soeCk7bGV0IGQ9L15bXFxcXHRcXFxcZlxcXFx2IF0qW1xcXFwtK1xcXFwqXVxcXFxzKFxcXFxbLlxcXFxdXFxcXHMpPy8scD0vXig+P1xcXFxzPykqKFxcXFx0fFxcXFxzKSovZyxoPW5ldyBqcy5kZWZhdWx0KHZvaWQgMCwoeCwkKT0+eC0kKTtmb3IobGV0IHggb2YodD09bnVsbD92b2lkIDA6dC5saXN0SXRlbXMpfHxbXSl7bGV0IFE9cy5zbGljZSh4LnBvc2l0aW9uLnN0YXJ0LmxpbmUseC5wb3NpdGlvbi5lbmQubGluZSsxKS5qb2luKGBcXG5gKS5tYXRjaChLZiksdWUsRGU7USYmKHVlPVFbMV0sRGU9UVszXSk7bGV0IFJlPW5ldyBibyh4LnBvc2l0aW9uLnN0YXJ0LmxpbmUseC5wb3NpdGlvbi5lbmQubGluZSsxLHgucGFyZW50LHVlLHguaWQseC50YXNrLERlKTtoLnNldChSZS5zdGFydCxSZSl9Zm9yKGxldCB4IG9mIGgudmFsdWVzKCkpaWYoeC5wYXJlbnRMaW5lPDApe2xldCAkPWwuZ2V0KC14LnBhcmVudExpbmUpO2lmKCEkfHwkLnR5cGUhPT1cXFwibGlzdFxcXCIpY29udGludWU7JC5pdGVtcy5wdXNoKHgpfWVsc2UoVD1oLmdldCh4LnBhcmVudExpbmUpKT09bnVsbHx8VC5lbGVtZW50cy5wdXNoKHgpO2ZvcihsZXQgeCBvZihJPXQ9PW51bGw/dm9pZCAwOnQudGFncykhPW51bGw/STpbXSl7bGV0ICQ9eC50YWcuc3RhcnRzV2l0aChcXFwiI1xcXCIpP3gudGFnOlxcXCIjXFxcIit4LnRhZyxRPXgucG9zaXRpb24uc3RhcnQubGluZTtpLnRhZygkKSwoTj1jdChRLHUpKT09bnVsbHx8Ti5tZXRhZGF0YS50YWcoJCksKHk9Y3QoUSxsKSk9PW51bGx8fHkubWV0YWRhdGEudGFnKCQpLCh3PWN0KFEsaCkpPT1udWxsfHx3Lm1ldGFkYXRhLnRhZygkKX1pZih0IT1udWxsJiZ0LmZyb250bWF0dGVyKWZvcihsZXQgeCBvZiBXZih0LmZyb250bWF0dGVyKSl7bGV0ICQ9eC5zdGFydHNXaXRoKFxcXCIjXFxcIik/eDpcXFwiI1xcXCIreDtpLnRhZygkKX1mb3IobGV0IHggb2Yodj10PT1udWxsP3ZvaWQgMDp0LmxpbmtzKSE9bnVsbD92OltdKXtsZXQgJD14ZS5pbmZlcih4LmxpbmspLFE9eC5wb3NpdGlvbi5zdGFydC5saW5lO2kubGluaygkKSwoTz1jdChRLHUpKT09bnVsbHx8Ty5tZXRhZGF0YS5saW5rKCQpLChDPWN0KFEsbCkpPT1udWxsfHxDLm1ldGFkYXRhLmxpbmsoJCksKFY9Y3QoUSxoKSk9PW51bGx8fFYubWV0YWRhdGEubGluaygkKX1mb3IobGV0IHggb2Yoaj10PT1udWxsP3ZvaWQgMDp0LmZyb250bWF0dGVyTGlua3MpIT1udWxsP2o6W10paS5saW5rKHhlLmluZmVyKHgubGluaywhMSx4LmRpc3BsYXlUZXh0KSk7Zm9yKGxldCB4IG9mIEVvKHMpKXtsZXQgJD14LnBvc2l0aW9uLmxpbmU7aS5pbmxpbmVGaWVsZCh4KSwoWT1jdCgkLHUpKT09bnVsbHx8WS5tZXRhZGF0YS5pbmxpbmVGaWVsZCh4KSwoZWU9Y3QoJCxsKSk9PW51bGx8fGVlLm1ldGFkYXRhLmlubGluZUZpZWxkKHgpLChhZT1jdCgkLGgpKT09bnVsbHx8YWUubWV0YWRhdGEuaW5saW5lRmllbGQoeCl9cmV0dXJuIG8ucHVzaCguLi51LnZhbHVlcygpKSx7bGluZXM6cyxmcm9udG1hdHRlcjpyLG1ldGFkYXRhOmksc2VjdGlvbnM6b319ZnVuY3Rpb24gWXUobixlLHQpe2ZvcihsZXQgcj1lO3I8dDtyKyspaWYobltyXS50cmltKCkhPT1cXFwiXFxcIilyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbipFbyhuKXtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7bGV0IHQ9bltlXTtpZih0Lmxlbmd0aD4zMjc2OHx8IXQuaW5jbHVkZXMoXFxcIjo6XFxcIikpY29udGludWU7bGV0IHI9SnUodCk7aWYoci5sZW5ndGg+MClmb3IobGV0IHMgb2Ygcil5aWVsZCAkcyhzLGUpO2Vsc2V7bGV0IHM9enUodCk7cyYmKHlpZWxkICRzKHMsZSkpfX19ZnVuY3Rpb24gR3Uobil7bGV0IGU9e307Zm9yKGxldCB0IG9mIE9iamVjdC5rZXlzKG4pKXtsZXQgcj1uW3RdO2VbdC50b0xvd2VyQ2FzZSgpXT17a2V5OnQsdmFsdWU6X24uanNvbihScy5saXRlcmFsKHIpKSxyYXc6cn19cmV0dXJuIGV9ZnVuY3Rpb24gY3QobixlKXt2YXIgcjtsZXQgdD0ocj1lLmdldFBhaXJPck5leHRMb3dlcihuKSk9PW51bGw/dm9pZCAwOnJbMV07aWYodCYmdC5lbmQ+PW4pcmV0dXJuIHR9ZnVuY3Rpb24gV2Yobil7cmV0dXJuIE9iamVjdC5rZXlzKG4pLmZpbHRlcih0PT50LnRvTG93ZXJDYXNlKCk9PVxcXCJ0YWdzXFxcInx8dC50b0xvd2VyQ2FzZSgpPT1cXFwidGFnXFxcIikubWFwKHQ9PlF1KG5bdF0sL1ssXFxcXHNdKy8pKS5yZWR1Y2UoKHQscik9PnQuY29uY2F0KHIpLFtdKS5tYXAodD0+dC5zdGFydHNXaXRoKFxcXCIjXFxcIik/dDpcXFwiI1xcXCIrdCl9ZnVuY3Rpb24gUXUobixlKXtyZXR1cm4gbj09bnVsbHx8bj09bnVsbD9bXTpBcnJheS5pc0FycmF5KG4pP24uZmlsdGVyKHQ9PiEhdCkubWFwKHQ9PlF1KHQsZSkpLnJlZHVjZSgodCxyKT0+dC5jb25jYXQociksW10pOihcXFwiXFxcIituKS5zcGxpdChlKS5maWx0ZXIodD0+ISF0KS5tYXAodD0+dC50cmltKCkpLmZpbHRlcih0PT50Lmxlbmd0aD4wKX12YXIgJGU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRhZ3M9bmV3IFNldDt0aGlzLmxpbmtzPVtdO3RoaXMuaW5saW5lRmllbGRzPXt9fXRhZyhlKXt0aGlzLnRhZ3MuYWRkKGUpfWxpbmsoZSl7dGhpcy5saW5rcy5maW5kKHQ9PnQuZXF1YWxzKGUpKXx8dGhpcy5saW5rcy5wdXNoKGUpfWlubGluZUZpZWxkKGUpe2xldCB0PWUua2V5LnRvTG93ZXJDYXNlKCk7T2JqZWN0LmtleXModGhpcy5pbmxpbmVGaWVsZHMpLnNvbWUocj0+ci50b0xvd2VyQ2FzZSgpPT10KXx8KHRoaXMuaW5saW5lRmllbGRzW3RdPWUpfWZpbmlzaFRhZ3MoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnRhZ3MpfWZpbmlzaExpbmtzKCl7cmV0dXJuIHRoaXMubGlua3MubWFwKGU9PmUudG9PYmplY3QoKSl9ZmluaXNoSW5saW5lRmllbGRzKCl7cmV0dXJuIEd0KHRoaXMuaW5saW5lRmllbGRzLFd1KX19LG1vPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxyLHMsaSxvKXt0aGlzLnBhdGg9ZTt0aGlzLnN0YXRzPXQ7dGhpcy5sZW5ndGg9cjt0aGlzLm1ldGFkYXRhPXM7dGhpcy5zZWN0aW9ucz1pO3RoaXMuZnJvbnRtYXR0ZXI9b31idWlsZCgpe3JldHVybnskcGF0aDp0aGlzLnBhdGgsJGN0aW1lOnRoaXMuc3RhdHMuY3RpbWUsJG10aW1lOnRoaXMuc3RhdHMubXRpbWUsJHNpemU6dGhpcy5zdGF0cy5zaXplLCRleHRlbnNpb246VmEodGhpcy5wYXRoKSwkcG9zaXRpb246e3N0YXJ0OjAsZW5kOnRoaXMubGVuZ3RofSwkdGFnczp0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSwkbGlua3M6dGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLCRpbmZpZWxkczp0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLCRzZWN0aW9uczp0aGlzLnNlY3Rpb25zLm1hcChlPT5lLmJ1aWxkKCkpLCRmcm9udG1hdHRlcjp0aGlzLmZyb250bWF0dGVyfX19LF9yPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxyLHMsaSl7dGhpcy5zdGFydD1lO3RoaXMuZW5kPXQ7dGhpcy50aXRsZT1yO3RoaXMubGV2ZWw9czt0aGlzLm9yZGluYWw9aTt0aGlzLmJsb2Nrcz1bXTt0aGlzLm1ldGFkYXRhPW5ldyAkZX1ibG9jayhlKXt0aGlzLmJsb2Nrcy5wdXNoKGUpfWJ1aWxkKCl7cmV0dXJueyR0aXRsZTp0aGlzLnRpdGxlLCRvcmRpbmFsOnRoaXMub3JkaW5hbCwkbGV2ZWw6dGhpcy5sZXZlbCwkdGFnczp0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSwkaW5maWVsZHM6dGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSwkbGlua3M6dGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLCRwb3NpdGlvbjp7c3RhcnQ6dGhpcy5zdGFydCxlbmQ6dGhpcy5lbmR9LCRibG9ja3M6dGhpcy5ibG9ja3MubWFwKGU9PmUuYnVpbGQoKSl9fX0sRG89Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHIscyl7dGhpcy5zdGFydD1lO3RoaXMuZW5kPXQ7dGhpcy5vcmRpbmFsPXI7dGhpcy5ibG9ja0lkPXM7dGhpcy50eXBlPVxcXCJsaXN0XFxcIjt0aGlzLm1ldGFkYXRhPW5ldyAkZTt0aGlzLml0ZW1zPVtdfWJ1aWxkKCl7cmV0dXJueyRvcmRpbmFsOnRoaXMub3JkaW5hbCwkcG9zaXRpb246e3N0YXJ0OnRoaXMuc3RhcnQsZW5kOnRoaXMuZW5kfSwkaW5maWVsZHM6dGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSwkdGFnczp0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSwkbGlua3M6dGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLCR0eXBlOlxcXCJsaXN0XFxcIiwkYmxvY2tJZDp0aGlzLmJsb2NrSWQsJGVsZW1lbnRzOnRoaXMuaXRlbXMubWFwKGU9PmUuYnVpbGQoKSl9fX0scXM9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHIscyxpLG8sYSx1KXt0aGlzLnN0YXJ0PWU7dGhpcy5lbmQ9dDt0aGlzLm9yZGluYWw9cjt0aGlzLmxhbmd1YWdlcz1zO3RoaXMuc3R5bGU9aTt0aGlzLmNvbnRlbnRTdGFydD1vO3RoaXMuY29udGVudEVuZD1hO3RoaXMuYmxvY2tJZD11O3RoaXMudHlwZT1cXFwiY29kZWJsb2NrXFxcIjt0aGlzLm1ldGFkYXRhPW5ldyAkZX1idWlsZCgpe3JldHVybnskdHlwZTpcXFwiY29kZWJsb2NrXFxcIiwkb3JkaW5hbDp0aGlzLm9yZGluYWwsJHBvc2l0aW9uOntzdGFydDp0aGlzLnN0YXJ0LGVuZDp0aGlzLmVuZH0sJGluZmllbGRzOnRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksJHRhZ3M6dGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksJGxpbmtzOnRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSwkYmxvY2tJZDp0aGlzLmJsb2NrSWQsJGxhbmd1YWdlczp0aGlzLmxhbmd1YWdlcywkc3R5bGU6dGhpcy5zdHlsZSwkY29udGVudFBvc2l0aW9uOntzdGFydDp0aGlzLmNvbnRlbnRTdGFydCxlbmQ6dGhpcy5jb250ZW50RW5kfX19fSx5bz1jbGFzc3tjb25zdHJ1Y3RvcihlLHQscixzLGkpe3RoaXMuc3RhcnQ9ZTt0aGlzLmVuZD10O3RoaXMub3JkaW5hbD1yO3RoaXMuZGF0YT1zO3RoaXMuYmxvY2tJZD1pO3RoaXMudHlwZT1cXFwiZGF0YWJsb2NrXFxcIjt0aGlzLm1ldGFkYXRhPW5ldyAkZX1idWlsZCgpe3JldHVybnskdHlwZTpcXFwiZGF0YWJsb2NrXFxcIiwkb3JkaW5hbDp0aGlzLm9yZGluYWwsJHBvc2l0aW9uOntzdGFydDp0aGlzLnN0YXJ0LGVuZDp0aGlzLmVuZH0sJGluZmllbGRzOnRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksJHRhZ3M6dGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksJGxpbmtzOnRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSwkYmxvY2tJZDp0aGlzLmJsb2NrSWQsJGRhdGE6dGhpcy5kYXRhfX19LGdvPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxyLHMsaSl7dGhpcy5zdGFydD1lO3RoaXMuZW5kPXQ7dGhpcy5vcmRpbmFsPXI7dGhpcy50eXBlPXM7dGhpcy5ibG9ja0lkPWk7dGhpcy5tZXRhZGF0YT1uZXcgJGV9YnVpbGQoKXtyZXR1cm57JHR5cGU6dGhpcy50eXBlLCRvcmRpbmFsOnRoaXMub3JkaW5hbCwkcG9zaXRpb246e3N0YXJ0OnRoaXMuc3RhcnQsZW5kOnRoaXMuZW5kfSwkaW5maWVsZHM6dGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSwkdGFnczp0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSwkbGlua3M6dGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLCRibG9ja0lkOnRoaXMuYmxvY2tJZH19fSxibz1jbGFzc3tjb25zdHJ1Y3RvcihlLHQscixzLGksbyxhKXt0aGlzLnN0YXJ0PWU7dGhpcy5lbmQ9dDt0aGlzLnBhcmVudExpbmU9cjt0aGlzLnN5bWJvbD1zO3RoaXMuYmxvY2tJZD1pO3RoaXMuc3RhdHVzPW87dGhpcy50ZXh0PWE7dGhpcy5tZXRhZGF0YT1uZXcgJGU7dGhpcy5lbGVtZW50cz1bXX1idWlsZCgpe3JldHVybnskcGFyZW50TGluZTp0aGlzLnBhcmVudExpbmUsJHBvc2l0aW9uOntzdGFydDp0aGlzLnN0YXJ0LGVuZDp0aGlzLmVuZH0sJGJsb2NrSWQ6dGhpcy5ibG9ja0lkLCRlbGVtZW50czp0aGlzLmVsZW1lbnRzLm1hcChlPT5lLmJ1aWxkKCkpLCR0eXBlOnRoaXMuc3RhdHVzP1xcXCJ0YXNrXFxcIjpcXFwibGlzdFxcXCIsJGluZmllbGRzOnRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksJHRhZ3M6dGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksJGxpbmtzOnRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSwkc3RhdHVzOnRoaXMuc3RhdHVzLCRzeW1ib2w6dGhpcy5zeW1ib2wsJHRleHQ6dGhpcy50ZXh0fX19O2Z1bmN0aW9uIFh1KG4sZSx0LHIpe3ZhciBvO2xldCBzPW5ldyBUbyhuLHIpLGk9SlNPTi5wYXJzZShlKTtmb3IobGV0IGEgb2YgaS5ub2RlcylpZihhLnR5cGUhPVxcXCJncm91cFxcXCIpaWYoYS50eXBlPT1cXFwidGV4dFxcXCIpe2xldHtmcm9udG1hdHRlcjp1LG1ldGFkYXRhOmwsbGluZXM6ZixzZWN0aW9uczpkfT1GbyhuLGEudGV4dCx0PT1udWxsP3ZvaWQgMDp0LmNhY2hlc1thLmlkXSkscD1uZXcgVnMobixhLmlkLGEsdSk7ZC5mb3JFYWNoKGg9PnAuc2VjdGlvbihoKSkscy5jYXJkKHApO2ZvcihsZXQgaCBpbiBsLnRhZ3Mpcy5tZXRhZGF0YS50YWcoaCk7Zm9yKGxldCBoIG9mKG89bC5saW5rcykhPW51bGw/bzpbXSlzLm1ldGFkYXRhLmxpbmsoaCk7Zm9yKGxldCBoIG9mIEVvKGYpKXMubWV0YWRhdGEuaW5saW5lRmllbGQoaCl9ZWxzZXtsZXQgdT1uZXcgVnMobixhLmlkLGEpO3MuY2FyZCh1KX1yZXR1cm4gcy5idWlsZCgpfXZhciB3bz1jbGFzc3tjb25zdHJ1Y3RvcihlLHQscil7dGhpcy5wYXRoPWU7dGhpcy5pZD10O3RoaXMubm9kZUpzb249cjt0aGlzLm1ldGFkYXRhPW5ldyAkZX1idWlsZCgpe3JldHVybnskZmlsZTp0aGlzLnBhdGgsJGlkOnRoaXMuaWQsJHBvc2l0aW9uOnt4OnRoaXMubm9kZUpzb24ueCx5OnRoaXMubm9kZUpzb24ueX0sJGRpbWVuc2lvbnM6e3dpZHRoOnRoaXMubm9kZUpzb24ud2lkdGgsaGVpZ2h0OnRoaXMubm9kZUpzb24uaGVpZ2h0fSwkY29sb3I6dGhpcy5ub2RlSnNvbi5jb2xvciwkbGluazp4ZS5maWxlKHRoaXMucGF0aCkud2l0aEJsb2NrKHRoaXMuaWQpLnRvT2JqZWN0KCl9fX0sVnM9Y2xhc3MgZXh0ZW5kcyB3b3tjb25zdHJ1Y3Rvcih0LHIscyxpKXtzdXBlcih0LHIscyk7dGhpcy5wYXRoPXQ7dGhpcy5pZD1yO3RoaXMubm9kZUpzb249czt0aGlzLmZyb250bWF0dGVyPWk7dGhpcy5zZWN0aW9ucz1bXX1zZWN0aW9uKHQpe3JldHVybiB0aGlzLnNlY3Rpb25zLnB1c2godCksdH1idWlsZCgpe3N3aXRjaCh0aGlzLm5vZGVKc29uLnR5cGUpe2Nhc2VcXFwidGV4dFxcXCI6cmV0dXJuIHllKFIoe30sc3VwZXIuYnVpbGQoKSkseyRpbmZpZWxkczp0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLCRmcm9udG1hdHRlcjp0aGlzLmZyb250bWF0dGVyLCRzZWN0aW9uczp0aGlzLnNlY3Rpb25zLm1hcCh0PT50LmJ1aWxkKCkpLCR0YWdzOnRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLCRsaW5rczp0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksJHR5cGU6XFxcInRleHQtY2FyZFxcXCIsJGNvbG9yOnRoaXMubm9kZUpzb24uY29sb3J9KTtjYXNlXFxcImZpbGVcXFwiOnJldHVybiB5ZShSKHt9LHN1cGVyLmJ1aWxkKCkpLHskbGlua2VkRmlsZTp0aGlzLm5vZGVKc29uLmZpbGV9KTtjYXNlXFxcImxpbmtcXFwiOnJldHVybiB5ZShSKHt9LHN1cGVyLmJ1aWxkKCkpLHskdXJsOnRoaXMubm9kZUpzb24udXJsfSl9fX0sVG89Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnBhdGg9ZTt0aGlzLnN0YXRzPXQ7dGhpcy5jYXJkcz1bXTt0aGlzLm1ldGFkYXRhPW5ldyAkZX1jYXJkKGUpe3JldHVybiB0aGlzLmNhcmRzLnB1c2goZSksZX1idWlsZCgpe3JldHVybnskY2FyZHM6dGhpcy5jYXJkcy5tYXAoZT0+ZS5idWlsZCgpKSwkY3RpbWU6dGhpcy5zdGF0cy5jdGltZSwkbXRpbWU6dGhpcy5zdGF0cy5tdGltZSwkaW5maWVsZHM6dGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSwkbGlua3M6dGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLCR0YWdzOnRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLCRwYXRoOnRoaXMucGF0aCwkc2l6ZTp0aGlzLnN0YXRzLnNpemV9fX07b25tZXNzYWdlPWFzeW5jIG49Pnt0cnl7bGV0IGU9bi5kYXRhO2lmKGUudHlwZT09PVxcXCJtYXJrZG93blxcXCIpe2xldCB0PVp1KGUucGF0aCxlLmNvbnRlbnRzLGUubWV0YWRhdGEsZS5zdGF0KTtwb3N0TWVzc2FnZSh7dHlwZTpcXFwibWFya2Rvd25cXFwiLHJlc3VsdDp0fSl9ZWxzZSBpZihlLnR5cGU9PT1cXFwiY2FudmFzXFxcIil7bGV0IHQ9WHUoZS5wYXRoLGUuY29udGVudHMsZS5pbmRleCxlLnN0YXQpO3Bvc3RNZXNzYWdlKHt0eXBlOlxcXCJjYW52YXNcXFwiLHJlc3VsdDp0fSl9ZWxzZSBwb3N0TWVzc2FnZSh7JGVycm9yOlxcXCJVbnN1cHBvcnRlZCBpbXBvcnQgbWV0aG9kLlxcXCJ9KX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGBEYXRhY29yZSBJbmRleGVyIGZhaWxlZCB0byBpbmRleCAke24uZGF0YS5wYXRofTogJHtlfWApLHBvc3RNZXNzYWdlKHskZXJyb3I6ZS5tZXNzYWdlfSl9fTtcXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV3b2dJQ0oyWlhKemFXOXVJam9nTXl3S0lDQWljMjkxY21ObGN5STZJRnNpTGk0dkxpNHZjR0Z5YzJsdGJXOXVMMkoxYVd4a0wzQmhjbk5wYlcxdmJpNTFiV1F1YldsdUxtcHpJaXdnSWk0dUx5NHVMM052Y25SbFpDMWlkSEpsWlM5aUszUnlaV1V1YW5NaUxDQWlMaTR2TGk0dmJIVjRiMjR2YzNKakwyVnljbTl5Y3k1cWN5SXNJQ0l1TGk4dUxpOXNkWGh2Ymk5emNtTXZhVzF3YkM5bWIzSnRZWFJ6TG1weklpd2dJaTR1THk0dUwyeDFlRzl1TDNOeVl5OXBiWEJzTDNWMGFXd3Vhbk1pTENBaUxpNHZMaTR2YkhWNGIyNHZjM0pqTDJsdGNHd3ZaVzVuYkdsemFDNXFjeUlzSUNJdUxpOHVMaTlzZFhodmJpOXpjbU12YVcxd2JDOW1iM0p0WVhSMFpYSXVhbk1pTENBaUxpNHZMaTR2YkhWNGIyNHZjM0pqTDJsdGNHd3ZhVzUyWVd4cFpDNXFjeUlzSUNJdUxpOHVMaTlzZFhodmJpOXpjbU12ZW05dVpTNXFjeUlzSUNJdUxpOHVMaTlzZFhodmJpOXpjbU12ZW05dVpYTXZjM2x6ZEdWdFdtOXVaUzVxY3lJc0lDSXVMaTh1TGk5c2RYaHZiaTl6Y21NdmVtOXVaWE12U1VGT1FWcHZibVV1YW5NaUxDQWlMaTR2TGk0dmJIVjRiMjR2YzNKakwzcHZibVZ6TDJacGVHVmtUMlptYzJWMFdtOXVaUzVxY3lJc0lDSXVMaTh1TGk5c2RYaHZiaTl6Y21NdmVtOXVaWE12YVc1MllXeHBaRnB2Ym1VdWFuTWlMQ0FpTGk0dkxpNHZiSFY0YjI0dmMzSmpMMmx0Y0d3dmVtOXVaVlYwYVd3dWFuTWlMQ0FpTGk0dkxpNHZiSFY0YjI0dmMzSmpMM05sZEhScGJtZHpMbXB6SWl3Z0lpNHVMeTR1TDJ4MWVHOXVMM055WXk5cGJYQnNMMnh2WTJGc1pTNXFjeUlzSUNJdUxpOHVMaTlzZFhodmJpOXpjbU12YVcxd2JDOXlaV2RsZUZCaGNuTmxjaTVxY3lJc0lDSXVMaTh1TGk5c2RYaHZiaTl6Y21NdlpIVnlZWFJwYjI0dWFuTWlMQ0FpTGk0dkxpNHZiSFY0YjI0dmMzSmpMMmx1ZEdWeWRtRnNMbXB6SWl3Z0lpNHVMeTR1TDJ4MWVHOXVMM055WXk5cGJtWnZMbXB6SWl3Z0lpNHVMeTR1TDJ4MWVHOXVMM055WXk5cGJYQnNMMlJwWm1ZdWFuTWlMQ0FpTGk0dkxpNHZiSFY0YjI0dmMzSmpMMmx0Y0d3dlpHbG5hWFJ6TG1weklpd2dJaTR1THk0dUwyeDFlRzl1TDNOeVl5OXBiWEJzTDNSdmEyVnVVR0Z5YzJWeUxtcHpJaXdnSWk0dUx5NHVMMngxZUc5dUwzTnlZeTlwYlhCc0wyTnZiblpsY25OcGIyNXpMbXB6SWl3Z0lpNHVMeTR1TDJ4MWVHOXVMM055WXk5a1lYUmxkR2x0WlM1cWN5SXNJQ0l1TGk4dUxpOHVMaTl6Y21NdmRYUnBiSE12Ym05eWJXRnNhWHBsY25NdWRITWlMQ0FpTGk0dkxpNHZaVzF2YW1rdGNtVm5aWGd2YVc1a1pYZ3ViV3B6SWl3Z0lpNHVMeTR1THk0dUwzTnlZeTlsZUhCeVpYTnphVzl1TDJ4cGJtc3VkSE1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2Ym05a1pYTXZhV1JsYm5ScGRIa3Vhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2ZG1semFYUXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2Wkc5akwyUnBjbVZqZEdsMlpYTXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2Wkc5akwyRnVZMmh2Y25NdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZaRzlqTDJGd2NHeDVVbVYyYVhabGNpNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl1YjJSbGN5OTBiMHBUTG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwyNXZaR1Z6TDA1dlpHVXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2Ym05a1pYTXZRV3hwWVhNdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZibTlrWlhNdlUyTmhiR0Z5TG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwyUnZZeTlqY21WaGRHVk9iMlJsTG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwyNXZaR1Z6TDBOdmJHeGxZM1JwYjI0dWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZjM1J5YVc1bmFXWjVMM04wY21sdVoybG1lVU52YlcxbGJuUXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2YzNSeWFXNW5hV1o1TDJadmJHUkdiRzkzVEdsdVpYTXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2YzNSeWFXNW5hV1o1TDNOMGNtbHVaMmxtZVZOMGNtbHVaeTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5emRISnBibWRwWm5rdmMzUnlhVzVuYVdaNUxtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMM04wY21sdVoybG1lUzl6ZEhKcGJtZHBabmxRWVdseUxtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMMnh2Wnk1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXpZMmhsYldFdmVXRnRiQzB4TGpFdmJXVnlaMlV1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmJtOWtaWE12WVdSa1VHRnBjbFJ2U2xOTllYQXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2Ym05a1pYTXZVR0ZwY2k1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXpkSEpwYm1kcFpua3ZjM1J5YVc1bmFXWjVRMjlzYkdWamRHbHZiaTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5dWIyUmxjeTlaUVUxTVRXRndMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDNOamFHVnRZUzlqYjIxdGIyNHZiV0Z3TG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwyNXZaR1Z6TDFsQlRVeFRaWEV1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmMyTm9aVzFoTDJOdmJXMXZiaTl6WlhFdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZjMk5vWlcxaEwyTnZiVzF2Ymk5emRISnBibWN1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmMyTm9aVzFoTDJOdmJXMXZiaTl1ZFd4c0xtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMM05qYUdWdFlTOWpiM0psTDJKdmIyd3Vhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2YzNSeWFXNW5hV1o1TDNOMGNtbHVaMmxtZVU1MWJXSmxjaTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5elkyaGxiV0V2WTI5eVpTOW1iRzloZEM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXpZMmhsYldFdlkyOXlaUzlwYm5RdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZjMk5vWlcxaEwyTnZjbVV2YzJOb1pXMWhMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDNOamFHVnRZUzlxYzI5dUwzTmphR1Z0WVM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXpZMmhsYldFdmVXRnRiQzB4TGpFdlltbHVZWEo1TG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwzTmphR1Z0WVM5NVlXMXNMVEV1TVM5d1lXbHljeTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5elkyaGxiV0V2ZVdGdGJDMHhMakV2YjIxaGNDNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl6WTJobGJXRXZlV0Z0YkMweExqRXZZbTl2YkM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXpZMmhsYldFdmVXRnRiQzB4TGpFdlpteHZZWFF1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmMyTm9aVzFoTDNsaGJXd3RNUzR4TDJsdWRDNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl6WTJobGJXRXZlV0Z0YkMweExqRXZjMlYwTG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwzTmphR1Z0WVM5NVlXMXNMVEV1TVM5MGFXMWxjM1JoYlhBdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZjMk5vWlcxaEwzbGhiV3d0TVM0eEwzTmphR1Z0WVM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXpZMmhsYldFdmRHRm5jeTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5elkyaGxiV0V2VTJOb1pXMWhMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDNOMGNtbHVaMmxtZVM5emRISnBibWRwWm5sRWIyTjFiV1Z1ZEM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOWtiMk12Ukc5amRXMWxiblF1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdlpYSnliM0p6TG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwyTnZiWEJ2YzJVdmNtVnpiMngyWlMxd2NtOXdjeTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5amIyMXdiM05sTDNWMGFXd3RZMjl1ZEdGcGJuTXRibVYzYkdsdVpTNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzlqYjIxd2IzTmxMM1YwYVd3dFpteHZkeTFwYm1SbGJuUXRZMmhsWTJzdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZZMjl0Y0c5elpTOTFkR2xzTFcxaGNDMXBibU5zZFdSbGN5NXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzlqYjIxd2IzTmxMM0psYzI5c2RtVXRZbXh2WTJzdGJXRndMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDJOdmJYQnZjMlV2Y21WemIyeDJaUzFpYkc5amF5MXpaWEV1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdlkyOXRjRzl6WlM5eVpYTnZiSFpsTFdWdVpDNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzlqYjIxd2IzTmxMM0psYzI5c2RtVXRabXh2ZHkxamIyeHNaV04wYVc5dUxtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMMk52YlhCdmMyVXZZMjl0Y0c5elpTMWpiMnhzWldOMGFXOXVMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDJOdmJYQnZjMlV2Y21WemIyeDJaUzFpYkc5amF5MXpZMkZzWVhJdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZZMjl0Y0c5elpTOXlaWE52YkhabExXWnNiM2N0YzJOaGJHRnlMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDJOdmJYQnZjMlV2WTI5dGNHOXpaUzF6WTJGc1lYSXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2WTI5dGNHOXpaUzkxZEdsc0xXVnRjSFI1TFhOallXeGhjaTF3YjNOcGRHbHZiaTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5amIyMXdiM05sTDJOdmJYQnZjMlV0Ym05a1pTNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzlqYjIxd2IzTmxMMk52YlhCdmMyVXRaRzlqTG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwyTnZiWEJ2YzJVdlkyOXRjRzl6WlhJdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZjR0Z5YzJVdlkzTjBMWFpwYzJsMExtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMM0JoY25ObEwyTnpkQzVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5d1lYSnpaUzlzWlhobGNpNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl3WVhKelpTOXNhVzVsTFdOdmRXNTBaWEl1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmNHRnljMlV2Y0dGeWMyVnlMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDNCMVlteHBZeTFoY0drdWFuTWlMQ0FpTGk0dkxpNHZMaTR2YzNKakwybHVaR1Y0TDJsdGNHOXlkQzl0WVhKclpHOTNiaTUwY3lJc0lDSXVMaTh1TGk4dUxpOXpjbU12Wlhod2NtVnpjMmx2Ymk5d1lYSnpaWEl1ZEhNaUxDQWlMaTR2TGk0dkxpNHZjM0pqTDJWNGNISmxjM05wYjI0dmJHbDBaWEpoYkM1MGN5SXNJQ0l1TGk4dUxpOHVMaTl6Y21NdllYQnBMM0psYzNWc2RDNTBjeUlzSUNJdUxpOHVMaTh1TGk5emNtTXZaWGh3Y21WemMybHZiaTltYVd4MFpYSnpMblJ6SWl3Z0lpNHVMeTR1THk0dUwzTnlZeTlsZUhCeVpYTnphVzl1TDJWNGNISmxjM05wYjI0dWRITWlMQ0FpTGk0dkxpNHZMaTR2YzNKakwybHVaR1Y0TDJsdGNHOXlkQzlwYm14cGJtVXRabWxsYkdRdWRITWlMQ0FpTGk0dkxpNHZMaTR2YzNKakwzVjBhV3h6TDJSaGRHRXVkSE1pTENBaUxpNHZMaTR2TGk0dmMzSmpMMmx1WkdWNEwzUjVjR1Z6TDJwemIyNHZZMjl0Ylc5dUxuUnpJaXdnSWk0dUx5NHVMeTR1TDNOeVl5OXBibVJsZUM5MGVYQmxjeTk1WVcxc0xuUnpJaXdnSWk0dUx5NHVMeTR1TDNOeVl5OXBibVJsZUM5cGJYQnZjblF2WTJGdWRtRnpMblJ6SWl3Z0lpNHVMeTR1THk0dUwzTnlZeTlwYm1SbGVDOTNaV0l0ZDI5eWEyVnlMMmx0Y0c5eWRHVnlMbmR2Y210bGNpNTBjeUpkTEFvZ0lDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNklGc2lJV1oxYm1OMGFXOXVLRzRzZENsN1hDSnZZbXBsWTNSY0lqMDlkSGx3Wlc5bUlHVjRjRzl5ZEhNbUpsd2liMkpxWldOMFhDSTlQWFI1Y0dWdlppQnRiMlIxYkdVL2JXOWtkV3hsTG1WNGNHOXlkSE05ZENncE9sd2lablZ1WTNScGIyNWNJajA5ZEhsd1pXOW1JR1JsWm1sdVpTWW1aR1ZtYVc1bExtRnRaRDlrWldacGJtVW9XMTBzZENrNlhDSnZZbXBsWTNSY0lqMDlkSGx3Wlc5bUlHVjRjRzl5ZEhNL1pYaHdiM0owY3k1UVlYSnphVzF0YjI0OWRDZ3BPbTR1VUdGeWMybHRiVzl1UFhRb0tYMG9YQ0oxYm1SbFptbHVaV1JjSWlFOWRIbHdaVzltSUhObGJHWS9jMlZzWmpwMGFHbHpMR1oxYm1OMGFXOXVLQ2w3Y21WMGRYSnVJR1oxYm1OMGFXOXVLRzRwZTNaaGNpQjBQWHQ5TzJaMWJtTjBhVzl1SUhJb1pTbDdhV1lvZEZ0bFhTbHlaWFIxY200Z2RGdGxYUzVsZUhCdmNuUnpPM1poY2lCMVBYUmJaVjA5ZTJrNlpTeHNPaUV4TEdWNGNHOXlkSE02ZTMxOU8zSmxkSFZ5YmlCdVcyVmRMbU5oYkd3b2RTNWxlSEJ2Y25SekxIVXNkUzVsZUhCdmNuUnpMSElwTEhVdWJEMGhNQ3gxTG1WNGNHOXlkSE45Y21WMGRYSnVJSEl1YlQxdUxISXVZejEwTEhJdVpEMW1kVzVqZEdsdmJpaHVMSFFzWlNsN2NpNXZLRzRzZENsOGZFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h1TEhRc2UyTnZibVpwWjNWeVlXSnNaVG9oTVN4bGJuVnRaWEpoWW14bE9pRXdMR2RsZERwbGZTbDlMSEl1Y2oxbWRXNWpkR2x2YmlodUtYdFBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvYml4Y0lsOWZaWE5OYjJSMWJHVmNJaXg3ZG1Gc2RXVTZJVEI5S1gwc2NpNXVQV1oxYm1OMGFXOXVLRzRwZTNaaGNpQjBQVzRtSm00dVgxOWxjMDF2WkhWc1pUOW1kVzVqZEdsdmJpZ3BlM0psZEhWeWJpQnVMbVJsWm1GMWJIUjlPbVoxYm1OMGFXOXVLQ2w3Y21WMGRYSnVJRzU5TzNKbGRIVnliaUJ5TG1Rb2RDeGNJbUZjSWl4MEtTeDBmU3h5TG04OVpuVnVZM1JwYjI0b2JpeDBLWHR5WlhSMWNtNGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzRzZENsOUxISXVjRDFjSWx3aUxISW9jaTV6UFRBcGZTaGJablZ1WTNScGIyNG9iaXgwTEhJcGUxd2lkWE5sSUhOMGNtbGpkRndpTzJaMWJtTjBhVzl1SUdVb2JpbDdhV1lvSVNoMGFHbHpJR2x1YzNSaGJtTmxiMllnWlNrcGNtVjBkWEp1SUc1bGR5QmxLRzRwTzNSb2FYTXVYejF1ZlhaaGNpQjFQV1V1Y0hKdmRHOTBlWEJsTzJaMWJtTjBhVzl1SUc4b2JpeDBLWHRtYjNJb2RtRnlJSEk5TUR0eVBHNDdjaXNyS1hRb2NpbDlablZ1WTNScGIyNGdhU2h1TEhRc2NpbDdjbVYwZFhKdUlHWjFibU4wYVc5dUtHNHNkQ2w3YnloMExteGxibWQwYUN4bWRXNWpkR2x2YmloeUtYdHVLSFJiY2wwc2NpeDBLWDBwZlNobWRXNWpkR2x2YmloeUxHVXNkU2w3ZEQxdUtIUXNjaXhsTEhVcGZTeHlLU3gwZldaMWJtTjBhVzl1SUdFb2JpeDBLWHR5WlhSMWNtNGdhU2htZFc1amRHbHZiaWgwTEhJc1pTeDFLWHR5WlhSMWNtNGdkQzVqYjI1allYUW9XMjRvY2l4bExIVXBYU2w5TEZ0ZExIUXBmV1oxYm1OMGFXOXVJR1lvYml4MEtYdDJZWElnY2oxN2Rqb3dMR0oxWmpwMGZUdHlaWFIxY200Z2J5aHVMR1oxYm1OMGFXOXVLQ2w3ZG1GeUlHNDdjajE3ZGpweUxuWThQREY4S0c0OWNpNWlkV1lzYmxzd1hUNCtOeWtzWW5WbU9tWjFibU4wYVc5dUtHNHBlM1poY2lCMFBXa29ablZ1WTNScGIyNG9iaXgwTEhJc1pTbDdjbVYwZFhKdUlHNHVZMjl1WTJGMEtISTlQVDFsTG14bGJtZDBhQzB4UDBKMVptWmxjaTVtY205dEtGdDBMREJkS1M1eVpXRmtWVWx1ZERFMlFrVW9NQ2s2WlM1eVpXRmtWVWx1ZERFMlFrVW9jaWtwZlN4YlhTeHVLVHR5WlhSMWNtNGdRblZtWm1WeUxtWnliMjBvWVNobWRXNWpkR2x2YmlodUtYdHlaWFIxY200b2JqdzhNU1kyTlRVek5TaytQamg5TEhRcEtYMG9jaTVpZFdZcGZYMHBMSEo5Wm5WdVkzUnBiMjRnWXlncGUzSmxkSFZ5Ymx3aWRXNWtaV1pwYm1Wa1hDSWhQWFI1Y0dWdlppQkNkV1ptWlhKOVpuVnVZM1JwYjI0Z2N5Z3BlMmxtS0NGaktDa3BkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGd2lRblZtWm1WeUlHZHNiMkpoYkNCa2IyVnpJRzV2ZENCbGVHbHpkRHNnY0d4bFlYTmxJSFZ6WlNCM1pXSndZV05ySUdsbUlIbHZkU0J1WldWa0lIUnZJSEJoY25ObElFSjFabVpsY25NZ2FXNGdkR2hsSUdKeWIzZHpaWEl1WENJcGZXWjFibU4wYVc5dUlHd29iaWw3Y3lncE8zWmhjaUIwUFdrb1puVnVZM1JwYjI0b2JpeDBLWHR5WlhSMWNtNGdiaXQwZlN3d0xHNHBPMmxtS0hRbE9DRTlNQ2wwYUhKdmR5QnVaWGNnUlhKeWIzSW9YQ0pVYUdVZ1ltbDBjeUJiWENJcmJpNXFiMmx1S0Z3aUxDQmNJaWtyWENKZElHRmtaQ0IxY0NCMGJ5QmNJaXQwSzF3aUlIZG9hV05vSUdseklHNXZkQ0JoYmlCbGRtVnVJRzUxYldKbGNpQnZaaUJpZVhSbGN6c2dkR2hsSUhSdmRHRnNJSE5vYjNWc1pDQmlaU0JrYVhacGMybGliR1VnWW5rZ09Gd2lLVHQyWVhJZ2NpeDFQWFF2T0N4dlBTaHlQV1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJ1UGpRNGZTeHBLR1oxYm1OMGFXOXVLRzRzZENsN2NtVjBkWEp1SUc1OGZDaHlLSFFwUDNRNmJpbDlMRzUxYkd3c2Jpa3BPMmxtS0c4cGRHaHliM2NnYm1WM0lFVnljbTl5S0c4clhDSWdZbWwwSUhKaGJtZGxJSEpsY1hWbGMzUmxaQ0JsZUdObFpXUnpJRFE0SUdKcGRDQW9OaUJpZVhSbEtTQk9kVzFpWlhJZ2JXRjRMbHdpS1R0eVpYUjFjbTRnYm1WM0lHVW9ablZ1WTNScGIyNG9kQ3h5S1h0MllYSWdaVDExSzNJN2NtVjBkWEp1SUdVK2RDNXNaVzVuZEdnL2VDaHlMSFV1ZEc5VGRISnBibWNvS1N0Y0lpQmllWFJsYzF3aUtUcGlLR1VzYVNobWRXNWpkR2x2YmlodUxIUXBlM1poY2lCeVBXWW9kQ3h1TG1KMVppazdjbVYwZFhKdWUyTnZiR3c2Ymk1amIyeHNMbU52Ym1OaGRDaHlMbllwTEdKMVpqcHlMbUoxWm4xOUxIdGpiMnhzT2x0ZExHSjFaanAwTG5Oc2FXTmxLSElzWlNsOUxHNHBMbU52Ykd3cGZTbDlablZ1WTNScGIyNGdhQ2h1TEhRcGUzSmxkSFZ5YmlCdVpYY2daU2htZFc1amRHbHZiaWh5TEdVcGUzSmxkSFZ5YmlCektDa3NaU3QwUG5JdWJHVnVaM1JvUDNnb1pTeDBLMXdpSUdKNWRHVnpJR1p2Y2lCY0lpdHVLVHBpS0dVcmRDeHlMbk5zYVdObEtHVXNaU3QwS1NsOUtYMW1kVzVqZEdsdmJpQndLRzRzZENsN2FXWW9YQ0p1ZFcxaVpYSmNJaUU5ZEhsd1pXOW1LSEk5ZENsOGZFMWhkR2d1Wm14dmIzSW9jaWtoUFQxeWZIeDBQREI4ZkhRK05pbDBhSEp2ZHlCdVpYY2dSWEp5YjNJb2JpdGNJaUJ5WlhGMWFYSmxjeUJwYm5SbFoyVnlJR3hsYm1kMGFDQnBiaUJ5WVc1blpTQmJNQ3dnTmwwdVhDSXBPM1poY2lCeWZXWjFibU4wYVc5dUlHUW9iaWw3Y21WMGRYSnVJSEFvWENKMWFXNTBRa1ZjSWl4dUtTeG9LRndpZFdsdWRFSkZLRndpSzI0clhDSXBYQ0lzYmlrdWJXRndLR1oxYm1OMGFXOXVLSFFwZTNKbGRIVnliaUIwTG5KbFlXUlZTVzUwUWtVb01DeHVLWDBwZldaMWJtTjBhVzl1SUhZb2JpbDdjbVYwZFhKdUlIQW9YQ0oxYVc1MFRFVmNJaXh1S1N4b0tGd2lkV2x1ZEV4RktGd2lLMjRyWENJcFhDSXNiaWt1YldGd0tHWjFibU4wYVc5dUtIUXBlM0psZEhWeWJpQjBMbkpsWVdSVlNXNTBURVVvTUN4dUtYMHBmV1oxYm1OMGFXOXVJR2NvYmlsN2NtVjBkWEp1SUhBb1hDSnBiblJDUlZ3aUxHNHBMR2dvWENKcGJuUkNSU2hjSWl0dUsxd2lLVndpTEc0cExtMWhjQ2htZFc1amRHbHZiaWgwS1h0eVpYUjFjbTRnZEM1eVpXRmtTVzUwUWtVb01DeHVLWDBwZldaMWJtTjBhVzl1SUcwb2JpbDdjbVYwZFhKdUlIQW9YQ0pwYm5STVJWd2lMRzRwTEdnb1hDSnBiblJNUlNoY0lpdHVLMXdpS1Z3aUxHNHBMbTFoY0NobWRXNWpkR2x2YmloMEtYdHlaWFIxY200Z2RDNXlaV0ZrU1c1MFRFVW9NQ3h1S1gwcGZXWjFibU4wYVc5dUlIa29iaWw3Y21WMGRYSnVJRzRnYVc1emRHRnVZMlZ2WmlCbGZXWjFibU4wYVc5dUlFVW9iaWw3Y21WMGRYSnVYQ0piYjJKcVpXTjBJRUZ5Y21GNVhWd2lQVDA5ZTMwdWRHOVRkSEpwYm1jdVkyRnNiQ2h1S1gxbWRXNWpkR2x2YmlCM0tHNHBlM0psZEhWeWJpQmpLQ2ttSmtKMVptWmxjaTVwYzBKMVptWmxjaWh1S1gxbWRXNWpkR2x2YmlCaUtHNHNkQ2w3Y21WMGRYSnVlM04wWVhSMWN6b2hNQ3hwYm1SbGVEcHVMSFpoYkhWbE9uUXNablZ5ZEdobGMzUTZMVEVzWlhod1pXTjBaV1E2VzExOWZXWjFibU4wYVc5dUlIZ29iaXgwS1h0eVpYUjFjbTRnUlNoMEtYeDhLSFE5VzNSZEtTeDdjM1JoZEhWek9pRXhMR2x1WkdWNE9pMHhMSFpoYkhWbE9tNTFiR3dzWm5WeWRHaGxjM1E2Yml4bGVIQmxZM1JsWkRwMGZYMW1kVzVqZEdsdmJpQkNLRzRzZENsN2FXWW9JWFFwY21WMGRYSnVJRzQ3YVdZb2JpNW1kWEowYUdWemRENTBMbVoxY25Sb1pYTjBLWEpsZEhWeWJpQnVPM1poY2lCeVBXNHVablZ5ZEdobGMzUTlQVDEwTG1aMWNuUm9aWE4wUDJaMWJtTjBhVzl1S0c0c2RDbDdhV1lvWm5WdVkzUnBiMjRvS1h0cFppaDJiMmxrSURBaFBUMWxMbDl6ZFhCd2IzSjBjMU5sZENseVpYUjFjbTRnWlM1ZmMzVndjRzl5ZEhOVFpYUTdkbUZ5SUc0OVhDSjFibVJsWm1sdVpXUmNJaUU5ZEhsd1pXOW1JRk5sZER0eVpYUjFjbTRnWlM1ZmMzVndjRzl5ZEhOVFpYUTliaXh1ZlNncEppWkJjbkpoZVM1bWNtOXRLWHRtYjNJb2RtRnlJSEk5Ym1WM0lGTmxkQ2h1S1N4MVBUQTdkVHgwTG14bGJtZDBhRHQxS3lzcGNpNWhaR1FvZEZ0MVhTazdkbUZ5SUc4OVFYSnlZWGt1Wm5KdmJTaHlLVHR5WlhSMWNtNGdieTV6YjNKMEtDa3NiMzFtYjNJb2RtRnlJR2s5ZTMwc1lUMHdPMkU4Ymk1c1pXNW5kR2c3WVNzcktXbGJibHRoWFYwOUlUQTdabTl5S0haaGNpQm1QVEE3Wmp4MExteGxibWQwYUR0bUt5c3BhVnQwVzJaZFhUMGhNRHQyWVhJZ1l6MWJYVHRtYjNJb2RtRnlJSE1nYVc0Z2FTa29lMzBwTG1oaGMwOTNibEJ5YjNCbGNuUjVMbU5oYkd3b2FTeHpLU1ltWXk1d2RYTm9LSE1wTzNKbGRIVnliaUJqTG5OdmNuUW9LU3hqZlNodUxtVjRjR1ZqZEdWa0xIUXVaWGh3WldOMFpXUXBPblF1Wlhod1pXTjBaV1E3Y21WMGRYSnVlM04wWVhSMWN6cHVMbk4wWVhSMWN5eHBibVJsZURwdUxtbHVaR1Y0TEhaaGJIVmxPbTR1ZG1Gc2RXVXNablZ5ZEdobGMzUTZkQzVtZFhKMGFHVnpkQ3hsZUhCbFkzUmxaRHB5ZlgxMllYSWdhajE3ZlR0bWRXNWpkR2x2YmlCVEtHNHNkQ2w3YVdZb2R5aHVLU2x5WlhSMWNtNTdiMlptYzJWME9uUXNiR2x1WlRvdE1TeGpiMngxYlc0NkxURjlPMjRnYVc0Z2FueDhLR3BiYmwwOWUzMHBPMlp2Y2loMllYSWdjajFxVzI1ZExHVTlNQ3gxUFRBc2J6MHdMR2s5ZER0cFBqMHdPeWw3YVdZb2FTQnBiaUJ5S1h0bFBYSmJhVjB1YkdsdVpTd3dQVDA5YnlZbUtHODljbHRwWFM1c2FXNWxVM1JoY25RcE8ySnlaV0ZyZlNoY0lseGNibHdpUFQwOWJpNWphR0Z5UVhRb2FTbDhmRndpWEZ4eVhDSTlQVDF1TG1Ob1lYSkJkQ2hwS1NZbVhDSmNYRzVjSWlFOVBXNHVZMmhoY2tGMEtHa3JNU2twSmlZb2RTc3JMREE5UFQxdkppWW9iejFwS3pFcEtTeHBMUzE5ZG1GeUlHRTlaU3QxTEdZOWRDMXZPM0psZEhWeWJpQnlXM1JkUFh0c2FXNWxPbUVzYkdsdVpWTjBZWEowT205OUxIdHZabVp6WlhRNmRDeHNhVzVsT21Fck1TeGpiMngxYlc0Nlppc3hmWDFtZFc1amRHbHZiaUJmS0c0cGUybG1LQ0Y1S0c0cEtYUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0ltNXZkQ0JoSUhCaGNuTmxjam9nWENJcmJpbDlablZ1WTNScGIyNGdUQ2h1TEhRcGUzSmxkSFZ5Ymx3aWMzUnlhVzVuWENJOVBYUjVjR1Z2WmlCdVAyNHVZMmhoY2tGMEtIUXBPbTViZEYxOVpuVnVZM1JwYjI0Z1R5aHVLWHRwWmloY0ltNTFiV0psY2x3aUlUMTBlWEJsYjJZZ2JpbDBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSnViM1FnWVNCdWRXMWlaWEk2SUZ3aUsyNHBmV1oxYm1OMGFXOXVJR3NvYmlsN2FXWW9YQ0ptZFc1amRHbHZibHdpSVQxMGVYQmxiMllnYmlsMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKdWIzUWdZU0JtZFc1amRHbHZiam9nWENJcmJpbDlablZ1WTNScGIyNGdVQ2h1S1h0cFppaGNJbk4wY21sdVoxd2lJVDEwZVhCbGIyWWdiaWwwYUhKdmR5QnVaWGNnUlhKeWIzSW9YQ0p1YjNRZ1lTQnpkSEpwYm1jNklGd2lLMjRwZlhaaGNpQnhQVElzUVQwekxFazlPQ3hHUFRVcVNTeE5QVFFxU1N4NlBWd2lJQ0JjSWp0bWRXNWpkR2x2YmlCU0tHNHNkQ2w3Y21WMGRYSnVJRzVsZHlCQmNuSmhlU2gwS3pFcExtcHZhVzRvYmlsOVpuVnVZM1JwYjI0Z1ZTaHVMSFFzY2lsN2RtRnlJR1U5ZEMxdUxteGxibWQwYUR0eVpYUjFjbTRnWlR3OU1EOXVPbElvY2l4bEtTdHVmV1oxYm1OMGFXOXVJRmNvYml4MExISXNaU2w3Y21WMGRYSnVlMlp5YjIwNmJpMTBQakEvYmkxME9qQXNkRzg2Yml0eVBtVS9aVHB1SzNKOWZXWjFibU4wYVc5dUlFUW9iaXgwS1h0MllYSWdjaXhsTEhVc2J5eG1MR005ZEM1cGJtUmxlQ3h6UFdNdWIyWm1jMlYwTEd3OU1UdHBaaWh6UFQwOWJpNXNaVzVuZEdncGNtVjBkWEp1WENKSGIzUWdkR2hsSUdWdVpDQnZaaUIwYUdVZ2FXNXdkWFJjSWp0cFppaDNLRzRwS1h0MllYSWdhRDF6TFhNbFNTeHdQWE10YUN4a1BWY29hQ3hHTEUwclNTeHVMbXhsYm1kMGFDa3NkajFoS0daMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCaEtHWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQlZLRzR1ZEc5VGRISnBibWNvTVRZcExESXNYQ0l3WENJcGZTeHVLWDBzWm5WdVkzUnBiMjRvYml4MEtYdDJZWElnY2oxdUxteGxibWQwYUN4bFBWdGRMSFU5TUR0cFppaHlQRDEwS1hKbGRIVnlibHR1TG5Oc2FXTmxLQ2xkTzJadmNpaDJZWElnYnowd08yODhjanR2S3lzcFpWdDFYWHg4WlM1d2RYTm9LRnRkS1N4bFczVmRMbkIxYzJnb2JsdHZYU2tzS0c4ck1Ta2xkRDA5TUNZbWRTc3JPM0psZEhWeWJpQmxmU2h1TG5Oc2FXTmxLR1F1Wm5KdmJTeGtMblJ2S1M1MGIwcFRUMDRvS1M1a1lYUmhMRWtwS1R0dlBXWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQXdQVDA5Ymk1bWNtOXRKaVl4UFQwOWJpNTBiejk3Wm5KdmJUcHVMbVp5YjIwc2RHODZiaTUwYjMwNmUyWnliMjA2Ymk1bWNtOXRMMGtzZEc4NlRXRjBhQzVtYkc5dmNpaHVMblJ2TDBrcGZYMG9aQ2tzWlQxb0wwa3NjajB6S25Bc2NENDlOQ1ltS0hJclBURXBMR3c5TWl4MVBXRW9ablZ1WTNScGIyNG9iaWw3Y21WMGRYSnVJRzR1YkdWdVozUm9QRDAwUDI0dWFtOXBiaWhjSWlCY0lpazZiaTV6YkdsalpTZ3dMRFFwTG1wdmFXNG9YQ0lnWENJcEsxd2lJQ0JjSWl0dUxuTnNhV05sS0RRcExtcHZhVzRvWENJZ1hDSXBmU3gyS1N3b1pqMG9PQ29vYnk1MGJ6NHdQMjh1ZEc4dE1UcHZMblJ2S1NrdWRHOVRkSEpwYm1jb01UWXBMbXhsYm1kMGFDazhNaVltS0dZOU1pbDlaV3h6Wlh0MllYSWdaejF1TG5Od2JHbDBLQzljWEhKY1hHNThXMXhjYmx4Y2NseGNkVEl3TWpoY1hIVXlNREk1WFM4cE8zSTlZeTVqYjJ4MWJXNHRNU3hsUFdNdWJHbHVaUzB4TEc4OVZ5aGxMSEVzUVN4bkxteGxibWQwYUNrc2RUMW5Mbk5zYVdObEtHOHVabkp2YlN4dkxuUnZLU3htUFc4dWRHOHVkRzlUZEhKcGJtY29LUzVzWlc1bmRHaDlkbUZ5SUcwOVpTMXZMbVp5YjIwN2NtVjBkWEp1SUhjb2Jpa21KaWhtUFNnNEtpaHZMblJ2UGpBL2J5NTBieTB4T204dWRHOHBLUzUwYjFOMGNtbHVaeWd4TmlrdWJHVnVaM1JvS1R3eUppWW9aajB5S1N4cEtHWjFibU4wYVc5dUtIUXNaU3gxS1h0MllYSWdhU3hoUFhVOVBUMXRMR005WVQ5Y0lqNGdYQ0k2ZWp0eVpYUjFjbTRnYVQxM0tHNHBQMVVvS0RncUtHOHVabkp2YlN0MUtTa3VkRzlUZEhKcGJtY29NVFlwTEdZc1hDSXdYQ0lwT2xVb0tHOHVabkp2YlN0MUt6RXBMblJ2VTNSeWFXNW5LQ2tzWml4Y0lpQmNJaWtzVzEwdVkyOXVZMkYwS0hRc1cyTXJhU3RjSWlCOElGd2lLMlZkTEdFL1czb3JVaWhjSWlCY0lpeG1LU3RjSWlCOElGd2lLMVVvWENKY0lpeHlMRndpSUZ3aUtTdFNLRndpWGx3aUxHd3BYVHBiWFNsOUxGdGRMSFVwTG1wdmFXNG9YQ0pjWEc1Y0lpbDlablZ1WTNScGIyNGdUaWh1TEhRcGUzSmxkSFZ5Ymx0Y0lseGNibHdpTEZ3aUxTMGdVRUZTVTBsT1J5QkdRVWxNUlVRZ1hDSXJVaWhjSWkxY0lpdzFNQ2tzWENKY1hHNWNYRzVjSWl4RUtHNHNkQ2tzWENKY1hHNWNYRzVjSWl3b2NqMTBMbVY0Y0dWamRHVmtMREU5UFQxeUxteGxibWQwYUQ5Y0lrVjRjR1ZqZEdWa09seGNibHhjYmx3aUszSmJNRjA2WENKRmVIQmxZM1JsWkNCdmJtVWdiMllnZEdobElHWnZiR3h2ZDJsdVp6b2dYRnh1WEZ4dVhDSXJjaTVxYjJsdUtGd2lMQ0JjSWlrcExGd2lYRnh1WENKZExtcHZhVzRvWENKY0lpazdkbUZ5SUhKOVpuVnVZM1JwYjI0Z1J5aHVLWHR5WlhSMWNtNGdkbTlwWkNBd0lUMDliaTVtYkdGbmN6OXVMbVpzWVdkek9sdHVMbWRzYjJKaGJEOWNJbWRjSWpwY0lsd2lMRzR1YVdkdWIzSmxRMkZ6WlQ5Y0ltbGNJanBjSWx3aUxHNHViWFZzZEdsc2FXNWxQMXdpYlZ3aU9sd2lYQ0lzYmk1MWJtbGpiMlJsUDF3aWRWd2lPbHdpWENJc2JpNXpkR2xqYTNrL1hDSjVYQ0k2WENKY0lsMHVhbTlwYmloY0lsd2lLWDFtZFc1amRHbHZiaUJES0NsN1ptOXlLSFpoY2lCdVBWdGRMbk5zYVdObExtTmhiR3dvWVhKbmRXMWxiblJ6S1N4MFBXNHViR1Z1WjNSb0xISTlNRHR5UEhRN2NpczlNU2xmS0c1YmNsMHBPM0psZEhWeWJpQmxLR1oxYm1OMGFXOXVLSElzWlNsN1ptOXlLSFpoY2lCMUxHODlibVYzSUVGeWNtRjVLSFFwTEdrOU1EdHBQSFE3YVNzOU1TbDdhV1lvSVNoMVBVSW9ibHRwWFM1ZktISXNaU2tzZFNrcExuTjBZWFIxY3lseVpYUjFjbTRnZFR0dlcybGRQWFV1ZG1Gc2RXVXNaVDExTG1sdVpHVjRmWEpsZEhWeWJpQkNLR0lvWlN4dktTeDFLWDBwZldaMWJtTjBhVzl1SUVvb0tYdDJZWElnYmoxYlhTNXpiR2xqWlM1allXeHNLR0Z5WjNWdFpXNTBjeWs3YVdZb01EMDlQVzR1YkdWdVozUm9LWFJvY205M0lHNWxkeUJGY25KdmNpaGNJbk5sY1UxaGNDQnVaV1ZrY3lCaGRDQnNaV0Z6ZENCdmJtVWdZWEpuZFcxbGJuUmNJaWs3ZG1GeUlIUTliaTV3YjNBb0tUdHlaWFIxY200Z2F5aDBLU3hETG1Gd2NHeDVLRzUxYkd3c2Jpa3ViV0Z3S0daMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCMExtRndjR3g1S0c1MWJHd3NiaWw5S1gxbWRXNWpkR2x2YmlCVUtDbDdkbUZ5SUc0OVcxMHVjMnhwWTJVdVkyRnNiQ2hoY21kMWJXVnVkSE1wTEhROWJpNXNaVzVuZEdnN2FXWW9NRDA5UFhRcGNtVjBkWEp1SUZrb1hDSjZaWEp2SUdGc2RHVnlibUYwWlhOY0lpazdabTl5S0haaGNpQnlQVEE3Y2p4ME8zSXJQVEVwWHlodVczSmRLVHR5WlhSMWNtNGdaU2htZFc1amRHbHZiaWgwTEhJcGUyWnZjaWgyWVhJZ1pTeDFQVEE3ZFR4dUxteGxibWQwYUR0MUt6MHhLV2xtS0NobFBVSW9ibHQxWFM1ZktIUXNjaWtzWlNrcExuTjBZWFIxY3lseVpYUjFjbTRnWlR0eVpYUjFjbTRnWlgwcGZXWjFibU4wYVc5dUlGWW9iaXgwS1h0eVpYUjFjbTRnU0NodUxIUXBMbTl5S0Znb1cxMHBLWDFtZFc1amRHbHZiaUJJS0c0c2RDbDdjbVYwZFhKdUlGOG9iaWtzWHloMEtTeEtLRzRzZEM1MGFHVnVLRzRwTG0xaGJua29LU3htZFc1amRHbHZiaWh1TEhRcGUzSmxkSFZ5Ymx0dVhTNWpiMjVqWVhRb2RDbDlLWDFtZFc1amRHbHZiaUJMS0c0cGUxQW9iaWs3ZG1GeUlIUTlYQ0luWENJcmJpdGNJaWRjSWp0eVpYUjFjbTRnWlNobWRXNWpkR2x2YmloeUxHVXBlM1poY2lCMVBXVXJiaTVzWlc1bmRHZ3NiejF5TG5Oc2FXTmxLR1VzZFNrN2NtVjBkWEp1SUc4OVBUMXVQMklvZFN4dktUcDRLR1VzZENsOUtYMW1kVzVqZEdsdmJpQlJLRzRzZENsN0lXWjFibU4wYVc5dUtHNHBlMmxtS0NFb2JpQnBibk4wWVc1alpXOW1JRkpsWjBWNGNDa3BkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGd2libTkwSUdFZ2NtVm5aWGh3T2lCY0lpdHVLVHRtYjNJb2RtRnlJSFE5UnlodUtTeHlQVEE3Y2p4MExteGxibWQwYUR0eUt5c3BlM1poY2lCbFBYUXVZMmhoY2tGMEtISXBPMmxtS0Z3aWFWd2lJVDA5WlNZbVhDSnRYQ0loUFQxbEppWmNJblZjSWlFOVBXVW1KbHdpYzF3aUlUMDlaU2wwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM1Z1YzNWd2NHOXlkR1ZrSUhKbFoyVjRjQ0JtYkdGbklGd2lKeXRsS3lkY0lqb2dKeXR1S1gxOUtHNHBMR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZytQVEkvVHloMEtUcDBQVEE3ZG1GeUlISTlablZ1WTNScGIyNG9iaWw3Y21WMGRYSnVJRkpsWjBWNGNDaGNJbDRvUHpwY0lpdHVMbk52ZFhKalpTdGNJaWxjSWl4SEtHNHBLWDBvYmlrc2RUMWNJbHdpSzI0N2NtVjBkWEp1SUdVb1puVnVZM1JwYjI0b2JpeGxLWHQyWVhJZ2J6MXlMbVY0WldNb2JpNXpiR2xqWlNobEtTazdhV1lvYnlsN2FXWW9NRHc5ZENZbWREdzlieTVzWlc1bmRHZ3BlM1poY2lCcFBXOWJNRjBzWVQxdlczUmRPM0psZEhWeWJpQmlLR1VyYVM1c1pXNW5kR2dzWVNsOWNtVjBkWEp1SUhnb1pTeGNJblpoYkdsa0lHMWhkR05vSUdkeWIzVndJQ2d3SUhSdklGd2lLMjh1YkdWdVozUm9LMXdpS1NCcGJpQmNJaXQxS1gxeVpYUjFjbTRnZUNobExIVXBmU2w5Wm5WdVkzUnBiMjRnV0NodUtYdHlaWFIxY200Z1pTaG1kVzVqZEdsdmJpaDBMSElwZTNKbGRIVnliaUJpS0hJc2JpbDlLWDFtZFc1amRHbHZiaUJaS0c0cGUzSmxkSFZ5YmlCbEtHWjFibU4wYVc5dUtIUXNjaWw3Y21WMGRYSnVJSGdvY2l4dUtYMHBmV1oxYm1OMGFXOXVJRm9vYmlsN2FXWW9lU2h1S1NseVpYUjFjbTRnWlNobWRXNWpkR2x2YmloMExISXBlM1poY2lCbFBXNHVYeWgwTEhJcE8zSmxkSFZ5YmlCbExtbHVaR1Y0UFhJc1pTNTJZV3gxWlQxY0lsd2lMR1Y5S1R0cFppaGNJbk4wY21sdVoxd2lQVDEwZVhCbGIyWWdiaWx5WlhSMWNtNGdXaWhMS0c0cEtUdHBaaWh1SUdsdWMzUmhibU5sYjJZZ1VtVm5SWGh3S1hKbGRIVnliaUJhS0ZFb2Jpa3BPM1JvY205M0lHNWxkeUJGY25KdmNpaGNJbTV2ZENCaElITjBjbWx1Wnl3Z2NtVm5aWGh3TENCdmNpQndZWEp6WlhJNklGd2lLMjRwZldaMWJtTjBhVzl1SUNRb2JpbDdjbVYwZFhKdUlGOG9iaWtzWlNobWRXNWpkR2x2YmloMExISXBlM1poY2lCbFBXNHVYeWgwTEhJcExIVTlkQzV6YkdsalpTaHlMR1V1YVc1a1pYZ3BPM0psZEhWeWJpQmxMbk4wWVhSMWN6OTRLSElzSjI1dmRDQmNJaWNyZFNzblhDSW5LVHBpS0hJc2JuVnNiQ2w5S1gxbWRXNWpkR2x2YmlCdWJpaHVLWHR5WlhSMWNtNGdheWh1S1N4bEtHWjFibU4wYVc5dUtIUXNjaWw3ZG1GeUlHVTlUQ2gwTEhJcE8zSmxkSFZ5YmlCeVBIUXViR1Z1WjNSb0ppWnVLR1VwUDJJb2Npc3hMR1VwT25nb2NpeGNJbUVnWTJoaGNtRmpkR1Z5TDJKNWRHVWdiV0YwWTJocGJtY2dYQ0lyYmlsOUtYMW1kVzVqZEdsdmJpQjBiaWh1TEhRcGUyRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnOE1pWW1LSFE5Yml4dVBYWnZhV1FnTUNrN2RtRnlJSEk5WlNobWRXNWpkR2x2YmlodUxHVXBlM0psZEhWeWJpQnlMbDg5ZENncExsOHNjaTVmS0c0c1pTbDlLVHR5WlhSMWNtNGdiajl5TG1SbGMyTW9iaWs2Y24xbWRXNWpkR2x2YmlCeWJpZ3BlM0psZEhWeWJpQlpLRndpWm1GdWRHRnplUzFzWVc1a0wyVnRjSFI1WENJcGZYVXVjR0Z5YzJVOVpuVnVZM1JwYjI0b2JpbDdhV1lvWENKemRISnBibWRjSWlFOWRIbHdaVzltSUc0bUppRjNLRzRwS1hSb2NtOTNJRzVsZHlCRmNuSnZjaWhjSWk1d1lYSnpaU0J0ZFhOMElHSmxJR05oYkd4bFpDQjNhWFJvSUdFZ2MzUnlhVzVuSUc5eUlFSjFabVpsY2lCaGN5QnBkSE1nWVhKbmRXMWxiblJjSWlrN2RtRnlJSFFzY2oxMGFHbHpMbk5yYVhBb1lXNHBMbDhvYml3d0tUdHlaWFIxY200Z2REMXlMbk4wWVhSMWN6OTdjM1JoZEhWek9pRXdMSFpoYkhWbE9uSXVkbUZzZFdWOU9udHpkR0YwZFhNNklURXNhVzVrWlhnNlV5aHVMSEl1Wm5WeWRHaGxjM1FwTEdWNGNHVmpkR1ZrT25JdVpYaHdaV04wWldSOUxHUmxiR1YwWlNCcVcyNWRMSFI5TEhVdWRISjVVR0Z5YzJVOVpuVnVZM1JwYjI0b2JpbDdkbUZ5SUhROWRHaHBjeTV3WVhKelpTaHVLVHRwWmloMExuTjBZWFIxY3lseVpYUjFjbTRnZEM1MllXeDFaVHQyWVhJZ2NqMU9LRzRzZENrc1pUMXVaWGNnUlhKeWIzSW9jaWs3ZEdoeWIzY2daUzUwZVhCbFBWd2lVR0Z5YzJsdGJXOXVSWEp5YjNKY0lpeGxMbkpsYzNWc2REMTBMR1Y5TEhVdVlYTnpaWEowUFdaMWJtTjBhVzl1S0c0c2RDbDdjbVYwZFhKdUlIUm9hWE11WTJoaGFXNG9ablZ1WTNScGIyNG9jaWw3Y21WMGRYSnVJRzRvY2lrL1dDaHlLVHBaS0hRcGZTbDlMSFV1YjNJOVpuVnVZM1JwYjI0b2JpbDdjbVYwZFhKdUlGUW9kR2hwY3l4dUtYMHNkUzUwY21sdFBXWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQjBhR2x6TG5keVlYQW9iaXh1S1gwc2RTNTNjbUZ3UFdaMWJtTjBhVzl1S0c0c2RDbDdjbVYwZFhKdUlFb29iaXgwYUdsekxIUXNablZ1WTNScGIyNG9iaXgwS1h0eVpYUjFjbTRnZEgwcGZTeDFMblJvY25VOVpuVnVZM1JwYjI0b2JpbDdjbVYwZFhKdUlHNG9kR2hwY3lsOUxIVXVkR2hsYmoxbWRXNWpkR2x2YmlodUtYdHlaWFIxY200Z1h5aHVLU3hES0hSb2FYTXNiaWt1YldGd0tHWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQnVXekZkZlNsOUxIVXViV0Z1ZVQxbWRXNWpkR2x2YmlncGUzWmhjaUJ1UFhSb2FYTTdjbVYwZFhKdUlHVW9ablZ1WTNScGIyNG9kQ3h5S1h0bWIzSW9kbUZ5SUdVOVcxMHNkVDEyYjJsa0lEQTdPeWw3YVdZb0lTaDFQVUlvYmk1ZktIUXNjaWtzZFNrcExuTjBZWFIxY3lseVpYUjFjbTRnUWloaUtISXNaU2tzZFNrN2FXWW9jajA5UFhVdWFXNWtaWGdwZEdoeWIzY2dibVYzSUVWeWNtOXlLRndpYVc1bWFXNXBkR1VnYkc5dmNDQmtaWFJsWTNSbFpDQnBiaUF1YldGdWVTZ3BJSEJoY25ObGNpQXRMUzBnWTJGc2JHbHVaeUF1YldGdWVTZ3BJRzl1SUdFZ2NHRnljMlZ5SUhkb2FXTm9JR05oYmlCaFkyTmxjSFFnZW1WeWJ5QmphR0Z5WVdOMFpYSnpJR2x6SUhWemRXRnNiSGtnZEdobElHTmhkWE5sWENJcE8zSTlkUzVwYm1SbGVDeGxMbkIxYzJnb2RTNTJZV3gxWlNsOWZTbDlMSFV1ZEdsbFYybDBhRDFtZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnVUNodUtTeDBhR2x6TG0xaGNDaG1kVzVqZEdsdmJpaDBLWHRwWmlobWRXNWpkR2x2YmlodUtYdHBaaWdoUlNodUtTbDBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSnViM1FnWVc0Z1lYSnlZWGs2SUZ3aUsyNHBmU2gwS1N4MExteGxibWQwYUNsN1VDaDBXekJkS1R0bWIzSW9kbUZ5SUhJOWRGc3dYU3hsUFRFN1pUeDBMbXhsYm1kMGFEdGxLeXNwVUNoMFcyVmRLU3h5S3oxdUszUmJaVjA3Y21WMGRYSnVJSEo5Y21WMGRYSnVYQ0pjSW4wcGZTeDFMblJwWlQxbWRXNWpkR2x2YmlncGUzSmxkSFZ5YmlCMGFHbHpMblJwWlZkcGRHZ29YQ0pjSWlsOUxIVXVkR2x0WlhNOVpuVnVZM1JwYjI0b2JpeDBLWHQyWVhJZ2NqMTBhR2x6TzNKbGRIVnliaUJoY21kMWJXVnVkSE11YkdWdVozUm9QREltSmloMFBXNHBMRThvYmlrc1R5aDBLU3hsS0daMWJtTjBhVzl1S0dVc2RTbDdabTl5S0haaGNpQnZQVnRkTEdrOWRtOXBaQ0F3TEdFOWRtOXBaQ0F3TEdZOU1EdG1QRzQ3WmlzOU1TbDdhV1lvWVQxQ0tHazljaTVmS0dVc2RTa3NZU2tzSVdrdWMzUmhkSFZ6S1hKbGRIVnliaUJoTzNVOWFTNXBibVJsZUN4dkxuQjFjMmdvYVM1MllXeDFaU2w5Wm05eUtEdG1QSFFtSmloaFBVSW9hVDF5TGw4b1pTeDFLU3hoS1N4cExuTjBZWFIxY3lrN1ppczlNU2wxUFdrdWFXNWtaWGdzYnk1d2RYTm9LR2t1ZG1Gc2RXVXBPM0psZEhWeWJpQkNLR0lvZFN4dktTeGhLWDBwZlN4MUxuSmxjM1ZzZEQxbWRXNWpkR2x2YmlodUtYdHlaWFIxY200Z2RHaHBjeTV0WVhBb1puVnVZM1JwYjI0b0tYdHlaWFIxY200Z2JuMHBmU3gxTG1GMFRXOXpkRDFtZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnZEdocGN5NTBhVzFsY3lnd0xHNHBmU3gxTG1GMFRHVmhjM1E5Wm5WdVkzUnBiMjRvYmlsN2NtVjBkWEp1SUVvb2RHaHBjeTUwYVcxbGN5aHVLU3gwYUdsekxtMWhibmtvS1N4bWRXNWpkR2x2YmlodUxIUXBlM0psZEhWeWJpQnVMbU52Ym1OaGRDaDBLWDBwZlN4MUxtMWhjRDFtZFc1amRHbHZiaWh1S1h0cktHNHBPM1poY2lCMFBYUm9hWE03Y21WMGRYSnVJR1VvWm5WdVkzUnBiMjRvY2l4bEtYdDJZWElnZFQxMExsOG9jaXhsS1R0eVpYUjFjbTRnZFM1emRHRjBkWE0vUWloaUtIVXVhVzVrWlhnc2JpaDFMblpoYkhWbEtTa3NkU2s2ZFgwcGZTeDFMbU52Ym5SeVlXMWhjRDFtZFc1amRHbHZiaWh1S1h0cktHNHBPM1poY2lCMFBYUm9hWE03Y21WMGRYSnVJR1VvWm5WdVkzUnBiMjRvY2l4bEtYdDJZWElnZFQxMExuQmhjbk5sS0c0b2NpNXpiR2xqWlNobEtTa3BPM0psZEhWeWJpQjFMbk4wWVhSMWN6OWlLR1VyY2k1c1pXNW5kR2dzZFM1MllXeDFaU2s2ZFgwcGZTeDFMbkJ5YjIxaGNEMW1kVzVqZEdsdmJpaHVMSFFwZTNKbGRIVnliaUJyS0c0cExHc29kQ2tzZEdocGN5NWpiMjUwY21GdFlYQW9iaWt1YldGd0tIUXBmU3gxTG5OcmFYQTlablZ1WTNScGIyNG9iaWw3Y21WMGRYSnVJRU1vZEdocGN5eHVLUzV0WVhBb1puVnVZM1JwYjI0b2JpbDdjbVYwZFhKdUlHNWJNRjE5S1gwc2RTNXRZWEpyUFdaMWJtTjBhVzl1S0NsN2NtVjBkWEp1SUVvb1pXNHNkR2hwY3l4bGJpeG1kVzVqZEdsdmJpaHVMSFFzY2lsN2NtVjBkWEp1ZTNOMFlYSjBPbTRzZG1Gc2RXVTZkQ3hsYm1RNmNuMTlLWDBzZFM1dWIyUmxQV1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJLS0dWdUxIUm9hWE1zWlc0c1puVnVZM1JwYjI0b2RDeHlMR1VwZTNKbGRIVnlibnR1WVcxbE9tNHNkbUZzZFdVNmNpeHpkR0Z5ZERwMExHVnVaRHBsZlgwcGZTeDFMbk5sY0VKNVBXWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQldLSFJvYVhNc2JpbDlMSFV1YzJWd1Fua3hQV1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJJS0hSb2FYTXNiaWw5TEhVdWJHOXZhMkZvWldGa1BXWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQjBhR2x6TG5OcmFYQW9XaWh1S1NsOUxIVXVibTkwUm05c2JHOTNaV1JDZVQxbWRXNWpkR2x2YmlodUtYdHlaWFIxY200Z2RHaHBjeTV6YTJsd0tDUW9iaWtwZlN4MUxtUmxjMk05Wm5WdVkzUnBiMjRvYmlsN1JTaHVLWHg4S0c0OVcyNWRLVHQyWVhJZ2REMTBhR2x6TzNKbGRIVnliaUJsS0daMWJtTjBhVzl1S0hJc1pTbDdkbUZ5SUhVOWRDNWZLSElzWlNrN2NtVjBkWEp1SUhVdWMzUmhkSFZ6Zkh3b2RTNWxlSEJsWTNSbFpEMXVLU3gxZlNsOUxIVXVabUZzYkdKaFkyczlablZ1WTNScGIyNG9iaWw3Y21WMGRYSnVJSFJvYVhNdWIzSW9XQ2h1S1NsOUxIVXVZWEE5Wm5WdVkzUnBiMjRvYmlsN2NtVjBkWEp1SUVvb2JpeDBhR2x6TEdaMWJtTjBhVzl1S0c0c2RDbDdjbVYwZFhKdUlHNG9kQ2w5S1gwc2RTNWphR0ZwYmoxbWRXNWpkR2x2YmlodUtYdDJZWElnZEQxMGFHbHpPM0psZEhWeWJpQmxLR1oxYm1OMGFXOXVLSElzWlNsN2RtRnlJSFU5ZEM1ZktISXNaU2s3Y21WMGRYSnVJSFV1YzNSaGRIVnpQMElvYmloMUxuWmhiSFZsS1M1ZktISXNkUzVwYm1SbGVDa3NkU2s2ZFgwcGZTeDFMbU52Ym1OaGREMTFMbTl5TEhVdVpXMXdkSGs5Y200c2RTNXZaajFZTEhWYlhDSm1ZVzUwWVhONUxXeGhibVF2WVhCY0lsMDlkUzVoY0N4MVcxd2labUZ1ZEdGemVTMXNZVzVrTDJOb1lXbHVYQ0pkUFhVdVkyaGhhVzRzZFZ0Y0ltWmhiblJoYzNrdGJHRnVaQzlqYjI1allYUmNJbDA5ZFM1amIyNWpZWFFzZFZ0Y0ltWmhiblJoYzNrdGJHRnVaQzlsYlhCMGVWd2lYVDExTG1WdGNIUjVMSFZiWENKbVlXNTBZWE41TFd4aGJtUXZiMlpjSWwwOWRTNXZaaXgxVzF3aVptRnVkR0Z6ZVMxc1lXNWtMMjFoY0Z3aVhUMTFMbTFoY0R0MllYSWdaVzQ5WlNobWRXNWpkR2x2YmlodUxIUXBlM0psZEhWeWJpQmlLSFFzVXlodUxIUXBLWDBwTEhWdVBXVW9ablZ1WTNScGIyNG9iaXgwS1h0eVpYUjFjbTRnZEQ0OWJpNXNaVzVuZEdnL2VDaDBMRndpWVc1NUlHTm9ZWEpoWTNSbGNpOWllWFJsWENJcE9tSW9kQ3N4TEV3b2JpeDBLU2w5S1N4dmJqMWxLR1oxYm1OMGFXOXVLRzRzZENsN2NtVjBkWEp1SUdJb2JpNXNaVzVuZEdnc2JpNXpiR2xqWlNoMEtTbDlLU3hoYmoxbEtHWjFibU4wYVc5dUtHNHNkQ2w3Y21WMGRYSnVJSFE4Ymk1c1pXNW5kR2cvZUNoMExGd2lSVTlHWENJcE9tSW9kQ3h1ZFd4c0tYMHBMR1p1UFZFb0wxc3dMVGxkTHlrdVpHVnpZeWhjSW1FZ1pHbG5hWFJjSWlrc1kyNDlVU2d2V3pBdE9WMHFMeWt1WkdWell5aGNJbTl3ZEdsdmJtRnNJR1JwWjJsMGMxd2lLU3h6YmoxUktDOWJZUzE2WFM5cEtTNWtaWE5qS0Z3aVlTQnNaWFIwWlhKY0lpa3NiRzQ5VVNndlcyRXRlbDBxTDJrcExtUmxjMk1vWENKdmNIUnBiMjVoYkNCc1pYUjBaWEp6WENJcExHaHVQVkVvTDF4Y2N5b3ZLUzVrWlhOaktGd2liM0IwYVc5dVlXd2dkMmhwZEdWemNHRmpaVndpS1N4d2JqMVJLQzljWEhNckx5a3VaR1Z6WXloY0luZG9hWFJsYzNCaFkyVmNJaWtzWkc0OVN5aGNJbHhjY2x3aUtTeDJiajFMS0Z3aVhGeHVYQ0lwTEdkdVBVc29YQ0pjWEhKY1hHNWNJaWtzYlc0OVZDaG5iaXgyYml4a2Jpa3VaR1Z6WXloY0ltNWxkMnhwYm1WY0lpa3NlVzQ5VkNodGJpeGhiaWs3WlM1aGJHdzliMjRzWlM1aGJIUTlWQ3hsTG1GdWVUMTFiaXhsTG1OeVBXUnVMR1V1WTNKbFlYUmxUR0Z1WjNWaFoyVTlablZ1WTNScGIyNG9iaWw3ZG1GeUlIUTllMzA3Wm05eUtIWmhjaUJ5SUdsdUlHNHBLSHQ5S1M1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHNHNjaWttSm1aMWJtTjBhVzl1S0hJcGUzUmJjbDA5ZEc0b1puVnVZM1JwYjI0b0tYdHlaWFIxY200Z2JsdHlYU2gwS1gwcGZTaHlLVHR5WlhSMWNtNGdkSDBzWlM1amNteG1QV2R1TEdVdVkzVnpkRzl0UFdaMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCbEtHNG9ZaXg0S1NsOUxHVXVaR2xuYVhROVptNHNaUzVrYVdkcGRITTlZMjRzWlM1bGJYQjBlVDF5Yml4bExtVnVaRDE1Yml4bExtVnZaajFoYml4bExtWmhhV3c5V1N4bExtWnZjbTFoZEVWeWNtOXlQVTRzWlM1cGJtUmxlRDFsYml4bExtbHpVR0Z5YzJWeVBYa3NaUzVzWVhwNVBYUnVMR1V1YkdWMGRHVnlQWE51TEdVdWJHVjBkR1Z5Y3oxc2JpeGxMbXhtUFhadUxHVXViRzl2YTJGb1pXRmtQVm9zWlM1dFlXdGxSbUZwYkhWeVpUMTRMR1V1YldGclpWTjFZMk5sYzNNOVlpeGxMbTVsZDJ4cGJtVTliVzRzWlM1dWIyNWxUMlk5Wm5WdVkzUnBiMjRvYmlsN2NtVjBkWEp1SUc1dUtHWjFibU4wYVc5dUtIUXBlM0psZEhWeWJpQnVMbWx1WkdWNFQyWW9kQ2s4TUgwcExtUmxjMk1vWENKdWIyNWxJRzltSUNkY0lpdHVLMXdpSjF3aUtYMHNaUzV1YjNSR2IyeHNiM2RsWkVKNVBTUXNaUzV2WmoxWUxHVXViMjVsVDJZOVpuVnVZM1JwYjI0b2JpbDdabTl5S0haaGNpQjBQVzR1YzNCc2FYUW9YQ0pjSWlrc2NqMHdPM0k4ZEM1c1pXNW5kR2c3Y2lzcktYUmJjbDA5WENJblhDSXJkRnR5WFN0Y0lpZGNJanR5WlhSMWNtNGdibTRvWm5WdVkzUnBiMjRvZENsN2NtVjBkWEp1SUc0dWFXNWtaWGhQWmloMEtUNDlNSDBwTG1SbGMyTW9kQ2w5TEdVdWIzQjBWMmhwZEdWemNHRmpaVDFvYml4bExsQmhjbk5sY2oxbExHVXVjbUZ1WjJVOVpuVnVZM1JwYjI0b2JpeDBLWHR5WlhSMWNtNGdibTRvWm5WdVkzUnBiMjRvY2lsN2NtVjBkWEp1SUc0OFBYSW1Kbkk4UFhSOUtTNWtaWE5qS0c0clhDSXRYQ0lyZENsOUxHVXVjbVZuWlhnOVVTeGxMbkpsWjJWNGNEMVJMR1V1YzJWd1FuazlWaXhsTG5ObGNFSjVNVDFJTEdVdWMyVnhQVU1zWlM1elpYRk5ZWEE5U2l4bExuTmxjVTlpYWoxbWRXNWpkR2x2YmlncGUyWnZjaWgyWVhJZ2JpeDBQWHQ5TEhJOU1DeDFQU2h1UFdGeVozVnRaVzUwY3l4QmNuSmhlUzV3Y205MGIzUjVjR1V1YzJ4cFkyVXVZMkZzYkNodUtTa3NiejExTG14bGJtZDBhQ3hwUFRBN2FUeHZPMmtyUFRFcGUzWmhjaUJoUFhWYmFWMDdhV1lvSVhrb1lTa3BlMmxtS0VVb1lTa21Kakk5UFQxaExteGxibWQwYUNZbVhDSnpkSEpwYm1kY0lqMDlkSGx3Wlc5bUlHRmJNRjBtSm5rb1lWc3hYU2twZTNaaGNpQm1QV0ZiTUYwN2FXWW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLSFFzWmlrcGRHaHliM2NnYm1WM0lFVnljbTl5S0Z3aWMyVnhUMkpxT2lCa2RYQnNhV05oZEdVZ2EyVjVJRndpSzJZcE8zUmJabDA5SVRBc2Npc3JPMk52Ym5ScGJuVmxmWFJvY205M0lHNWxkeUJGY25KdmNpaGNJbk5sY1U5aWFpQmhjbWQxYldWdWRITWdiWFZ6ZENCaVpTQndZWEp6WlhKeklHOXlJRnR6ZEhKcGJtY3NJSEJoY25ObGNsMGdZWEp5WVhrZ2NHRnBjbk11WENJcGZYMXBaaWd3UFQwOWNpbDBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSnpaWEZQWW1vZ1pYaHdaV04wY3lCaGRDQnNaV0Z6ZENCdmJtVWdibUZ0WldRZ2NHRnljMlZ5TENCbWIzVnVaQ0I2WlhKdlhDSXBPM0psZEhWeWJpQmxLR1oxYm1OMGFXOXVLRzRzZENsN1ptOXlLSFpoY2lCeUxHVTllMzBzYVQwd08yazhienRwS3oweEtYdDJZWElnWVN4bU8ybG1LRVVvZFZ0cFhTay9LR0U5ZFZ0cFhWc3dYU3htUFhWYmFWMWJNVjBwT2loaFBXNTFiR3dzWmoxMVcybGRLU3doS0hJOVFpaG1MbDhvYml4MEtTeHlLU2t1YzNSaGRIVnpLWEpsZEhWeWJpQnlPMkVtSmlobFcyRmRQWEl1ZG1Gc2RXVXBMSFE5Y2k1cGJtUmxlSDF5WlhSMWNtNGdRaWhpS0hRc1pTa3NjaWw5S1gwc1pTNXpkSEpwYm1jOVN5eGxMbk4xWTJObFpXUTlXQ3hsTG5SaGEyVlhhR2xzWlQxbWRXNWpkR2x2YmlodUtYdHlaWFIxY200Z2F5aHVLU3hsS0daMWJtTjBhVzl1S0hRc2NpbDdabTl5S0haaGNpQmxQWEk3WlR4MExteGxibWQwYUNZbWJpaE1LSFFzWlNrcE95bGxLeXM3Y21WMGRYSnVJR0lvWlN4MExuTnNhV05sS0hJc1pTa3BmU2w5TEdVdWRHVnpkRDF1Yml4bExuZG9hWFJsYzNCaFkyVTljRzRzWlZ0Y0ltWmhiblJoYzNrdGJHRnVaQzlsYlhCMGVWd2lYVDF5Yml4bFcxd2labUZ1ZEdGemVTMXNZVzVrTDI5bVhDSmRQVmdzWlM1Q2FXNWhjbms5ZTJKcGRGTmxjVHBzTEdKcGRGTmxjVTlpYWpwbWRXNWpkR2x2YmlodUtYdHpLQ2s3ZG1GeUlIUTllMzBzY2owd0xHVTlZU2htZFc1amRHbHZiaWh1S1h0cFppaEZLRzRwS1h0MllYSWdaVDF1TzJsbUtESWhQVDFsTG14bGJtZDBhQ2wwYUhKdmR5QnVaWGNnUlhKeWIzSW9YQ0piWENJclpTNXFiMmx1S0Z3aUxDQmNJaWtyWENKZElITm9iM1ZzWkNCaVpTQnNaVzVuZEdnZ01pd2daMjkwSUd4bGJtZDBhQ0JjSWl0bExteGxibWQwYUNrN2FXWW9VQ2hsV3pCZEtTeFBLR1ZiTVYwcExFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JDaDBMR1ZiTUYwcEtYUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0ltUjFjR3hwWTJGMFpTQnJaWGtnYVc0Z1ltbDBVMlZ4VDJKcU9pQmNJaXRsV3pCZEtUdHlaWFIxY200Z2RGdGxXekJkWFQwaE1DeHlLeXNzWlgxeVpYUjFjbTRnVHlodUtTeGJiblZzYkN4dVhYMHNiaWs3YVdZb2Nqd3hLWFJvY205M0lHNWxkeUJGY25KdmNpaGNJbUpwZEZObGNVOWlhaUJsZUhCbFkzUnpJR0YwSUd4bFlYTjBJRzl1WlNCdVlXMWxaQ0J3WVdseUxDQm5iM1FnVzF3aUsyNHVhbTlwYmloY0lpd2dYQ0lwSzF3aVhWd2lLVHQyWVhJZ2RUMWhLR1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJ1V3pCZGZTeGxLVHR5WlhSMWNtNGdiQ2hoS0daMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCdVd6RmRmU3hsS1NrdWJXRndLR1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJwS0daMWJtTjBhVzl1S0c0c2RDbDdjbVYwZFhKdUlHNTFiR3doUFQxMFd6QmRKaVlvYmx0MFd6QmRYVDEwV3pGZEtTeHVmU3g3ZlN4aEtHWjFibU4wYVc5dUtIUXNjaWw3Y21WMGRYSnVXM1FzYmx0eVhWMTlMSFVwS1gwcGZTeGllWFJsT21aMWJtTjBhVzl1S0c0cGUybG1LSE1vS1N4UEtHNHBMRzQrTWpVMUtYUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0lsWmhiSFZsSUhOd1pXTnBabWxsWkNCMGJ5QmllWFJsSUdOdmJuTjBjblZqZEc5eUlDaGNJaXR1SzF3aVBUQjRYQ0lyYmk1MGIxTjBjbWx1WnlneE5pa3JYQ0lwSUdseklHeGhjbWRsY2lCcGJpQjJZV3gxWlNCMGFHRnVJR0VnYzJsdVoyeGxJR0o1ZEdVdVhDSXBPM1poY2lCMFBTaHVQakUxUDF3aU1IaGNJanBjSWpCNE1Gd2lLU3R1TG5SdlUzUnlhVzVuS0RFMktUdHlaWFIxY200Z1pTaG1kVzVqZEdsdmJpaHlMR1VwZTNaaGNpQjFQVXdvY2l4bEtUdHlaWFIxY200Z2RUMDlQVzQvWWlobEt6RXNkU2s2ZUNobExIUXBmU2w5TEdKMVptWmxjanBtZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnYUNoY0ltSjFabVpsY2x3aUxHNHBMbTFoY0NobWRXNWpkR2x2YmlodUtYdHlaWFIxY200Z1FuVm1abVZ5TG1aeWIyMG9iaWw5S1gwc1pXNWpiMlJsWkZOMGNtbHVaenBtZFc1amRHbHZiaWh1TEhRcGUzSmxkSFZ5YmlCb0tGd2ljM1J5YVc1blhDSXNkQ2t1YldGd0tHWjFibU4wYVc5dUtIUXBlM0psZEhWeWJpQjBMblJ2VTNSeWFXNW5LRzRwZlNsOUxIVnBiblJDUlRwa0xIVnBiblE0UWtVNlpDZ3hLU3gxYVc1ME1UWkNSVHBrS0RJcExIVnBiblF6TWtKRk9tUW9OQ2tzZFdsdWRFeEZPbllzZFdsdWREaE1SVHAyS0RFcExIVnBiblF4Tmt4Rk9uWW9NaWtzZFdsdWRETXlURVU2ZGlnMEtTeHBiblJDUlRwbkxHbHVkRGhDUlRwbktERXBMR2x1ZERFMlFrVTZaeWd5S1N4cGJuUXpNa0pGT21jb05Da3NhVzUwVEVVNmJTeHBiblE0VEVVNmJTZ3hLU3hwYm5ReE5reEZPbTBvTWlrc2FXNTBNekpNUlRwdEtEUXBMR1pzYjJGMFFrVTZhQ2hjSW1ac2IyRjBRa1ZjSWl3MEtTNXRZWEFvWm5WdVkzUnBiMjRvYmlsN2NtVjBkWEp1SUc0dWNtVmhaRVpzYjJGMFFrVW9NQ2w5S1N4bWJHOWhkRXhGT21nb1hDSm1iRzloZEV4RlhDSXNOQ2t1YldGd0tHWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQnVMbkpsWVdSR2JHOWhkRXhGS0RBcGZTa3NaRzkxWW14bFFrVTZhQ2hjSW1SdmRXSnNaVUpGWENJc09Da3ViV0Z3S0daMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCdUxuSmxZV1JFYjNWaWJHVkNSU2d3S1gwcExHUnZkV0pzWlV4Rk9tZ29YQ0prYjNWaWJHVk1SVndpTERncExtMWhjQ2htZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnYmk1eVpXRmtSRzkxWW14bFRFVW9NQ2w5S1gwc2JpNWxlSEJ2Y25SelBXVjlYU2w5S1RzaUxDQWlYQ0oxYzJVZ2MzUnlhV04wWENJN1hISmNiblpoY2lCZlgyVjRkR1Z1WkhNZ1BTQW9kR2hwY3lBbUppQjBhR2x6TGw5ZlpYaDBaVzVrY3lrZ2ZId2dLR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUhaaGNpQmxlSFJsYm1SVGRHRjBhV056SUQwZ1puVnVZM1JwYjI0Z0tHUXNJR0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQmxlSFJsYm1SVGRHRjBhV056SUQwZ1QySnFaV04wTG5ObGRGQnliM1J2ZEhsd1pVOW1JSHg4WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2g3SUY5ZmNISnZkRzlmWHpvZ1cxMGdmU0JwYm5OMFlXNWpaVzltSUVGeWNtRjVJQ1ltSUdaMWJtTjBhVzl1SUNoa0xDQmlLU0I3SUdRdVgxOXdjbTkwYjE5ZklEMGdZanNnZlNrZ2ZIeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1puVnVZM1JwYjI0Z0tHUXNJR0lwSUhzZ1ptOXlJQ2gyWVhJZ2NDQnBiaUJpS1NCcFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLR0lzSUhBcEtTQmtXM0JkSUQwZ1lsdHdYVHNnZlR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pYaDBaVzVrVTNSaGRHbGpjeWhrTENCaUtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tHUXNJR0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR0lnSVQwOUlGd2lablZ1WTNScGIyNWNJaUFtSmlCaUlDRTlQU0J1ZFd4c0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lRMnhoYzNNZ1pYaDBaVzVrY3lCMllXeDFaU0JjSWlBcklGTjBjbWx1WnloaUtTQXJJRndpSUdseklHNXZkQ0JoSUdOdmJuTjBjblZqZEc5eUlHOXlJRzUxYkd4Y0lpazdYSEpjYmlBZ0lDQWdJQ0FnWlhoMFpXNWtVM1JoZEdsamN5aGtMQ0JpS1R0Y2NseHVJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQmZYeWdwSUhzZ2RHaHBjeTVqYjI1emRISjFZM1J2Y2lBOUlHUTdJSDFjY2x4dUlDQWdJQ0FnSUNCa0xuQnliM1J2ZEhsd1pTQTlJR0lnUFQwOUlHNTFiR3dnUHlCUFltcGxZM1F1WTNKbFlYUmxLR0lwSURvZ0tGOWZMbkJ5YjNSdmRIbHdaU0E5SUdJdWNISnZkRzkwZVhCbExDQnVaWGNnWDE4b0tTazdYSEpjYmlBZ0lDQjlPMXh5WEc1OUtTZ3BPMXh5WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hISmNibVY0Y0c5eWRITXVSVzF3ZEhsQ1ZISmxaU0E5SUdWNGNHOXlkSE11WVhOVFpYUWdQU0JsZUhCdmNuUnpMbk5wYlhCc1pVTnZiWEJoY21GMGIzSWdQU0JsZUhCdmNuUnpMbVJsWm1GMWJIUkRiMjF3WVhKaGRHOXlJRDBnZG05cFpDQXdPMXh5WEc0dktpcGNjbHh1SUNvZ1EyOXRjR0Z5WlhNZ1JHVm1ZWFZzZEVOdmJYQmhjbUZpYkdWeklIUnZJR1p2Y20wZ1lTQnpkSEpwWTNRZ2NHRnlkR2xoYkNCdmNtUmxjbWx1Wnk1Y2NseHVJQ3BjY2x4dUlDb2dTR0Z1Wkd4bGN5QXJMeTB3SUdGdVpDQk9ZVTRnYkdsclpTQk5ZWEE2SUU1aFRpQnBjeUJsY1hWaGJDQjBieUJPWVU0c0lHRnVaQ0F0TUNCcGN5QmxjWFZoYkNCMGJ5QXJNQzVjY2x4dUlDcGNjbHh1SUNvZ1FYSnlZWGx6SUdGeVpTQmpiMjF3WVhKbFpDQjFjMmx1WnlBblBDY2dZVzVrSUNjK0p5d2dkMmhwWTJnZ2JXRjVJR05oZFhObElIVnVaWGh3WldOMFpXUWdaWEYxWVd4cGRIazZYSEpjYmlBcUlHWnZjaUJsZUdGdGNHeGxJRnN4WFNCM2FXeHNJR0psSUdOdmJuTnBaR1Z5WldRZ1pYRjFZV3dnZEc4Z1d5Y3hKMTB1WEhKY2JpQXFYSEpjYmlBcUlGUjNieUJ2WW1wbFkzUnpJSGRwZEdnZ1pYRjFZV3dnZG1Gc2RXVlBaaUJqYjIxd1lYSmxJSFJvWlNCellXMWxMQ0JpZFhRZ1kyOXRjR0Z5WlNCMWJtVnhkV0ZzSUhSdlhISmNiaUFxSUhCeWFXMXBkR2wyWlhNZ2RHaGhkQ0JvWVhabElIUm9aU0J6WVcxbElIWmhiSFZsTGx4eVhHNGdLaTljY2x4dVpuVnVZM1JwYjI0Z1pHVm1ZWFZzZEVOdmJYQmhjbUYwYjNJb1lTd2dZaWtnZTF4eVhHNGdJQ0FnTHk4Z1UzQmxZMmxoYkNCallYTmxJR1pwYm1sMFpTQnVkVzFpWlhKeklHWnBjbk4wSUdadmNpQndaWEptYjNKdFlXNWpaUzVjY2x4dUlDQWdJQzh2SUU1dmRHVWdkR2hoZENCMGFHVWdkSEpwWTJzZ2IyWWdkWE5wYm1jZ0oyRWdMU0JpSnlCaGJtUWdZMmhsWTJ0cGJtY2dabTl5SUU1aFRpQjBieUJrWlhSbFkzUWdibTl1TFc1MWJXSmxjbk5jY2x4dUlDQWdJQzh2SUdSdlpYTWdibTkwSUhkdmNtc2dhV1lnZEdobElITjBjbWx1WjNNZ1lYSmxJRzUxYldWeWFXTWdLR1Y0T2lCY0lqVmNJaWt1SUZSb2FYTWdkMjkxYkdRZ2JHVmhaR2x1WnlCdGIzTjBJRnh5WEc0Z0lDQWdMeThnWTI5dGNHRnlhWE52YmlCbWRXNWpkR2x2Ym5NZ2RYTnBibWNnZEdoaGRDQmhjSEJ5YjJGamFDQjBieUJtWVdsc0lIUnZJR2hoZG1VZ2RISmhibk5wZEdsMmFYUjVMbHh5WEc0Z0lDQWdhV1lnS0U1MWJXSmxjaTVwYzBacGJtbDBaU2hoS1NBbUppQk9kVzFpWlhJdWFYTkdhVzVwZEdVb1lpa3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWVNBdElHSTdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQXZMeUJVYUdVZ1pHVm1ZWFZzZENBOElHRnVaQ0ErSUc5d1pYSmhkRzl5Y3lCaGNtVWdibTkwSUhSdmRHRnNiSGtnYjNKa1pYSmxaQzRnVkc4Z1lXeHNiM2NnZEhsd1pYTWdkRzhnWW1VZ2JXbDRaV1JjY2x4dUlDQWdJQzh2SUdsdUlHRWdjMmx1WjJ4bElHTnZiR3hsWTNScGIyNHNJR052YlhCaGNtVWdkSGx3WlhNZ1lXNWtJRzl5WkdWeUlIWmhiSFZsY3lCdlppQmthV1ptWlhKbGJuUWdkSGx3WlhNZ1lua2dkSGx3WlM1Y2NseHVJQ0FnSUhaaGNpQjBZU0E5SUhSNWNHVnZaaUJoTzF4eVhHNGdJQ0FnZG1GeUlIUmlJRDBnZEhsd1pXOW1JR0k3WEhKY2JpQWdJQ0JwWmlBb2RHRWdJVDA5SUhSaUtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJoSUR3Z2RHSWdQeUF0TVNBNklERTdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnBaaUFvZEdFZ1BUMDlJQ2R2WW1wbFkzUW5LU0I3WEhKY2JpQWdJQ0FnSUNBZ0x5OGdjM1JoYm1SaGNtUnBlbVZrSUVwaGRtRlRZM0pwY0hRZ1luVm5PaUJ1ZFd4c0lHbHpJRzV2ZENCaGJpQnZZbXBsWTNRc0lHSjFkQ0IwZVhCbGIyWWdjMkY1Y3lCcGRDQnBjMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaGhJRDA5UFNCdWRXeHNLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1lpQTlQVDBnYm5Wc2JDQS9JREFnT2lBdE1UdGNjbHh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hpSUQwOVBTQnVkV3hzS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdNVHRjY2x4dUlDQWdJQ0FnSUNCaElEMGdZUzUyWVd4MVpVOW1LQ2s3WEhKY2JpQWdJQ0FnSUNBZ1lpQTlJR0l1ZG1Gc2RXVlBaaWdwTzF4eVhHNGdJQ0FnSUNBZ0lIUmhJRDBnZEhsd1pXOW1JR0U3WEhKY2JpQWdJQ0FnSUNBZ2RHSWdQU0IwZVhCbGIyWWdZanRjY2x4dUlDQWdJQ0FnSUNBdkx5QkVaV0ZzSUhkcGRHZ2dkR2hsSUhSM2J5QjJZV3gxWlU5bUtDbHpJSEJ5YjJSMVkybHVaeUJrYVdabVpYSmxiblFnZEhsd1pYTmNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHRWdJVDA5SUhSaUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFlTQThJSFJpSUQ4Z0xURWdPaUF4TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lDOHZJR0VnWVc1a0lHSWdZWEpsSUc1dmR5QjBhR1VnYzJGdFpTQjBlWEJsTENCaGJtUWdkMmxzYkNCaVpTQmhJRzUxYldKbGNpd2djM1J5YVc1bklHOXlJR0Z5Y21GNUlGeHlYRzRnSUNBZ0x5OGdLSGRvYVdOb0lIZGxJR0Z6YzNWdFpTQm9iMnhrY3lCdWRXMWlaWEp6SUc5eUlITjBjbWx1WjNNcExDQnZjaUJ6YjIxbGRHaHBibWNnZFc1emRYQndiM0owWldRdVhISmNiaUFnSUNCcFppQW9ZU0E4SUdJcFhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDMHhPMXh5WEc0Z0lDQWdhV1lnS0dFZ1BpQmlLVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUF4TzF4eVhHNGdJQ0FnYVdZZ0tHRWdQVDA5SUdJcFhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlEQTdYSEpjYmlBZ0lDQXZMeUJQY21SbGNpQk9ZVTRnYkdWemN5QjBhR0Z1SUc5MGFHVnlJRzUxYldKbGNuTmNjbHh1SUNBZ0lHbG1JQ2hPZFcxaVpYSXVhWE5PWVU0b1lTa3BYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRTUxYldKbGNpNXBjMDVoVGloaUtTQS9JREFnT2lBdE1UdGNjbHh1SUNBZ0lHVnNjMlVnYVdZZ0tFNTFiV0psY2k1cGMwNWhUaWhpS1NsY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z01UdGNjbHh1SUNBZ0lDOHZJRlJvYVhNZ1kyOTFiR1FnWW1VZ2RIZHZJRzlpYW1WamRITWdLR1V1Wnk0Z1d6ZGRJR0Z1WkNCYkp6Y25YU2tnZEdoaGRDQmhjbVZ1SjNRZ2IzSmtaWEpsWkZ4eVhHNGdJQ0FnY21WMGRYSnVJRUZ5Y21GNUxtbHpRWEp5WVhrb1lTa2dQeUF3SURvZ1RuVnRZbVZ5TGs1aFRqdGNjbHh1ZlZ4eVhHNWxlSEJ2Y25SekxtUmxabUYxYkhSRGIyMXdZWEpoZEc5eUlEMGdaR1ZtWVhWc2RFTnZiWEJoY21GMGIzSTdYSEpjYmp0Y2NseHVablZ1WTNScGIyNGdjMmx0Y0d4bFEyOXRjR0Z5WVhSdmNpaGhMQ0JpS1NCN1hISmNiaUFnSUNCeVpYUjFjbTRnWVNBK0lHSWdQeUF4SURvZ1lTQThJR0lnUHlBdE1TQTZJREE3WEhKY2JuMWNjbHh1Wlhod2IzSjBjeTV6YVcxd2JHVkRiMjF3WVhKaGRHOXlJRDBnYzJsdGNHeGxRMjl0Y0dGeVlYUnZjanRjY2x4dU8xeHlYRzR2S2lwY2NseHVJQ29nUVNCeVpXRnpiMjVoWW14NUlHWmhjM1FnWTI5c2JHVmpkR2x2YmlCdlppQnJaWGt0ZG1Gc2RXVWdjR0ZwY25NZ2QybDBhQ0JoSUhCdmQyVnlablZzSUVGUVNTNWNjbHh1SUNvZ1RHRnlaMlZzZVNCamIyMXdZWFJwWW14bElIZHBkR2dnZEdobElITjBZVzVrWVhKa0lFMWhjQzRnUWxSeVpXVWdhWE1nWVNCQ0t5QjBjbVZsSUdSaGRHRWdjM1J5ZFdOMGRYSmxMRnh5WEc0Z0tpQnpieUIwYUdVZ1kyOXNiR1ZqZEdsdmJpQnBjeUJ6YjNKMFpXUWdZbmtnYTJWNUxseHlYRzRnS2x4eVhHNGdLaUJDS3lCMGNtVmxjeUIwWlc1a0lIUnZJSFZ6WlNCdFpXMXZjbmtnYlc5eVpTQmxabVpwWTJsbGJuUnNlU0IwYUdGdUlHaGhjMmgwWVdKc1pYTWdjM1ZqYUNCaGN5QjBhR1ZjY2x4dUlDb2djM1JoYm1SaGNtUWdUV0Z3TENCbGMzQmxZMmxoYkd4NUlIZG9aVzRnZEdobElHTnZiR3hsWTNScGIyNGdZMjl1ZEdGcGJuTWdZU0JzWVhKblpTQnVkVzFpWlhJZ2IyWmNjbHh1SUNvZ2FYUmxiWE11SUVodmQyVjJaWElzSUcxaGFXNTBZV2x1YVc1bklIUm9aU0J6YjNKMElHOXlaR1Z5SUcxaGEyVnpJSFJvWlcwZ2JXOWtaWE4wYkhrZ2MyeHZkMlZ5T2x4eVhHNGdLaUJQS0d4dlp5QnphWHBsS1NCeVlYUm9aWElnZEdoaGJpQlBLREVwTGlCVWFHbHpJRUlySUhSeVpXVWdhVzF3YkdWdFpXNTBZWFJwYjI0Z2MzVndjRzl5ZEhNZ1R5Z3hLVnh5WEc0Z0tpQm1ZWE4wSUdOc2IyNXBibWN1SUVsMElHRnNjMjhnYzNWd2NHOXlkSE1nWm5KbFpYcGxLQ2tzSUhkb2FXTm9JR05oYmlCaVpTQjFjMlZrSUhSdklHVnVjM1Z5WlNCMGFHRjBYSEpjYmlBcUlHRWdRbFJ5WldVZ2FYTWdibTkwSUdOb1lXNW5aV1FnWVdOamFXUmxiblJoYkd4NUxseHlYRzRnS2x4eVhHNGdLaUJEYjI1bWRYTnBibWRzZVN3Z2RHaGxJRVZUTmlCTllYQXVabTl5UldGamFDaGpLU0J0WlhSb2IyUWdZMkZzYkhNZ1l5aDJZV3gxWlN4clpYa3BJR2x1YzNSbFlXUWdiMlpjY2x4dUlDb2dZeWhyWlhrc2RtRnNkV1VwTENCcGJpQmpiMjUwY21GemRDQjBieUJ2ZEdobGNpQnRaWFJvYjJSeklITjFZMmdnWVhNZ2MyVjBLQ2tnWVc1a0lHVnVkSEpwWlhNb0tWeHlYRzRnS2lCM2FHbGphQ0J3ZFhRZ2RHaGxJR3RsZVNCbWFYSnpkQzRnU1NCallXNGdiMjVzZVNCaGMzTjFiV1VnZEdoaGRDQjBhR1VnYjNKa1pYSWdkMkZ6SUhKbGRtVnljMlZrSUc5dVhISmNiaUFxSUhSb1pTQjBhR1Z2Y25rZ2RHaGhkQ0IxYzJWeWN5QjNiM1ZzWkNCMWMzVmhiR3g1SUhkaGJuUWdkRzhnWlhoaGJXbHVaU0IyWVd4MVpYTWdZVzVrSUdsbmJtOXlaU0JyWlhsekxseHlYRzRnS2lCQ1ZISmxaU2R6SUdadmNrVmhZMmdvS1NCMGFHVnlaV1p2Y21VZ2QyOXlhM01nZEdobElITmhiV1VnZDJGNUxDQmlkWFFnWVNCelpXTnZibVFnYldWMGFHOWtYSEpjYmlBcUlHQXVabTl5UldGamFGQmhhWElvS0d0bGVTeDJZV3gxWlNrOVBuc3VMaTU5S1dBZ2FYTWdjSEp2ZG1sa1pXUWdkMmhwWTJnZ2MyVnVaSE1nZVc5MUlIUm9aU0JyWlhsY2NseHVJQ29nWm1seWMzUWdZVzVrSUhSb1pTQjJZV3gxWlNCelpXTnZibVE3SUhSb2FYTWdiV1YwYUc5a0lHbHpJSE5zYVdkb2RHeDVJR1poYzNSbGNpQmlaV05oZFhObElHbDBJR2x6WEhKY2JpQXFJSFJvWlNCY0ltNWhkR2wyWlZ3aUlHWnZjaTFsWVdOb0lHMWxkR2h2WkNCbWIzSWdkR2hwY3lCamJHRnpjeTVjY2x4dUlDcGNjbHh1SUNvZ1QzVjBJRzltSUhSb1pTQmliM2dzSUVKVWNtVmxJSE4xY0hCdmNuUnpJR3RsZVhNZ2RHaGhkQ0JoY21VZ2JuVnRZbVZ5Y3l3Z2MzUnlhVzVuY3l3Z1lYSnlZWGx6SUc5bVhISmNiaUFxSUc1MWJXSmxjbk12YzNSeWFXNW5jeXdnUkdGMFpTd2dZVzVrSUc5aWFtVmpkSE1nZEdoaGRDQm9ZWFpsSUdFZ2RtRnNkV1ZQWmlncElHMWxkR2h2WkNCeVpYUjFjbTVwYm1jZ1lWeHlYRzRnS2lCdWRXMWlaWElnYjNJZ2MzUnlhVzVuTGlCUGRHaGxjaUJrWVhSaElIUjVjR1Z6TENCemRXTm9JR0Z6SUdGeWNtRjVjeUJ2WmlCRVlYUmxJRzl5SUdOMWMzUnZiVnh5WEc0Z0tpQnZZbXBsWTNSekxDQnlaWEYxYVhKbElHRWdZM1Z6ZEc5dElHTnZiWEJoY21GMGIzSXNJSGRvYVdOb0lIbHZkU0J0ZFhOMElIQmhjM01nWVhNZ2RHaGxJSE5sWTI5dVpGeHlYRzRnS2lCaGNtZDFiV1Z1ZENCMGJ5QjBhR1VnWTI5dWMzUnlkV04wYjNJZ0tIUm9aU0JtYVhKemRDQmhjbWQxYldWdWRDQnBjeUJoYmlCdmNIUnBiMjVoYkNCc2FYTjBJRzltWEhKY2JpQXFJR2x1YVhScFlXd2dhWFJsYlhNcExpQlRlVzFpYjJ4eklHTmhibTV2ZENCaVpTQjFjMlZrSUdGeklHdGxlWE1nWW1WallYVnpaU0IwYUdWNUlHRnlaU0IxYm05eVpHVnlaV1JjY2x4dUlDb2dLRzl1WlNCVGVXMWliMndnYVhNZ2JtVjJaWElnWENKbmNtVmhkR1Z5WENJZ2IzSWdYQ0pzWlhOelhDSWdkR2hoYmlCaGJtOTBhR1Z5S1M1Y2NseHVJQ3BjY2x4dUlDb2dRR1Y0WVcxd2JHVmNjbHh1SUNvZ1IybDJaVzRnWVNCN2JtRnRaVG9nYzNSeWFXNW5MQ0JoWjJVNklHNTFiV0psY24wZ2IySnFaV04wTENCNWIzVWdZMkZ1SUdOeVpXRjBaU0JoSUhSeVpXVWdjMjl5ZEdWa0lHSjVYSEpjYmlBcUlHNWhiV1VnWVc1a0lIUm9aVzRnWW5rZ1lXZGxJR3hwYTJVZ2RHaHBjenBjY2x4dUlDcGNjbHh1SUNvZ0lDQWdJSFpoY2lCMGNtVmxJRDBnYm1WM0lFSlVjbVZsS0hWdVpHVm1hVzVsWkN3Z0tHRXNJR0lwSUQwK0lIdGNjbHh1SUNvZ0lDQWdJQ0FnYVdZZ0tHRXVibUZ0WlNBK0lHSXVibUZ0WlNsY2NseHVJQ29nSUNBZ0lDQWdJQ0J5WlhSMWNtNGdNVHNnTHk4Z1VtVjBkWEp1SUdFZ2JuVnRZbVZ5SUQ0d0lIZG9aVzRnWVNBK0lHSmNjbHh1SUNvZ0lDQWdJQ0FnWld4elpTQnBaaUFvWVM1dVlXMWxJRHdnWWk1dVlXMWxLVnh5WEc0Z0tpQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBdE1Uc2dMeThnVW1WMGRYSnVJR0VnYm5WdFltVnlJRHd3SUhkb1pXNGdZU0E4SUdKY2NseHVJQ29nSUNBZ0lDQWdaV3h6WlNBdkx5QnVZVzFsY3lCaGNtVWdaWEYxWVd3Z0tHOXlJR2x1WTI5dGNHRnlZV0pzWlNsY2NseHVJQ29nSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZUzVoWjJVZ0xTQmlMbUZuWlRzZ0x5OGdVbVYwZFhKdUlENHdJSGRvWlc0Z1lTNWhaMlVnUGlCaUxtRm5aVnh5WEc0Z0tpQWdJQ0FnZlNrN1hISmNiaUFxWEhKY2JpQXFJQ0FnSUNCMGNtVmxMbk5sZENoN2JtRnRaVHBjSWtKcGJHeGNJaXdnWVdkbE9qRTNmU3dnWENKb1lYQndlVndpS1R0Y2NseHVJQ29nSUNBZ0lIUnlaV1V1YzJWMEtIdHVZVzFsT2x3aVJuSmhibHdpTENCaFoyVTZOREI5TENCY0ltSjFjM2tnSmlCemRISmxjM05sWkZ3aUtUdGNjbHh1SUNvZ0lDQWdJSFJ5WldVdWMyVjBLSHR1WVcxbE9sd2lRbWxzYkZ3aUxDQmhaMlU2TlRWOUxDQmNJbkpsWTJWdWRHeDVJR3hoYVdRZ2IyWm1YQ0lwTzF4eVhHNGdLaUFnSUNBZ2RISmxaUzVtYjNKRllXTm9VR0ZwY2lnb2F5d2dkaWtnUFQ0Z2UxeHlYRzRnS2lBZ0lDQWdJQ0JqYjI1emIyeGxMbXh2WnloZ1RtRnRaVG9nSkh0ckxtNWhiV1Y5SUVGblpUb2dKSHRyTG1GblpYMGdVM1JoZEhWek9pQWtlM1o5WUNrN1hISmNiaUFxSUNBZ0lDQjlLVHRjY2x4dUlDcGNjbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVYSEpjYmlBcUlGUm9aU0JjSW5KaGJtZGxYQ0lnYldWMGFHOWtjeUFvWUdadmNrVmhZMmdzSUdadmNsSmhibWRsTENCbFpHbDBVbUZ1WjJWZ0tTQjNhV3hzSUhKbGRIVnliaUIwYUdVZ2JuVnRZbVZ5WEhKY2JpQXFJRzltSUdWc1pXMWxiblJ6SUhSb1lYUWdkMlZ5WlNCelkyRnVibVZrTGlCSmJpQmhaR1JwZEdsdmJpd2dkR2hsSUdOaGJHeGlZV05ySUdOaGJpQnlaWFIxY200Z2UySnlaV0ZyT2xKOVhISmNiaUFxSUhSdklITjBiM0FnWldGeWJIa2dZVzVrSUhKbGRIVnliaUJTSUdaeWIyMGdkR2hsSUc5MWRHVnlJR1oxYm1OMGFXOXVMbHh5WEc0Z0tseHlYRzRnS2lBdElGUlBSRTg2SUZSbGMzUWdjR1Z5Wm05eWJXRnVZMlVnYjJZZ2NISmxZV3hzYjJOaGRHbHVaeUIyWVd4MVpYTWdZWEp5WVhrZ1lYUWdiV0Y0SUhOcGVtVmNjbHh1SUNvZ0xTQlVUMFJQT2lCQlpHUWdabUZ6ZENCcGJtbDBhV0ZzYVhwaGRHbHZiaUIzYUdWdUlHRWdjMjl5ZEdWa0lHRnljbUY1SUdseklIQnliM1pwWkdWa0lIUnZJR052Ym5OMGNuVmpkRzl5WEhKY2JpQXFYSEpjYmlBcUlFWnZjaUJ0YjNKbElHUnZZM1Z0Wlc1MFlYUnBiMjRnYzJWbElHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOXhkMlZ5ZEdsbEwySjBjbVZsTFhSNWNHVnpZM0pwY0hSY2NseHVJQ3BjY2x4dUlDb2dRWEpsSUhsdmRTQmhJRU1qSUdSbGRtVnNiM0JsY2o4Z1dXOTFJRzFwWjJoMElHeHBhMlVnZEdobElITnBiV2xzWVhJZ1pHRjBZU0J6ZEhKMVkzUjFjbVZ6SUVrZ2JXRmtaU0JtYjNJZ1F5TTZYSEpjYmlBcUlFSkVhV04wYVc5dVlYSjVMQ0JDVEdsemRDd2daWFJqTGlCVFpXVWdhSFIwY0RvdkwyTnZjbVV1Ykc5NVl5NXVaWFF2WTI5c2JHVmpkR2x2Ym5NdlhISmNiaUFxWEhKY2JpQXFJRUJoZFhSb2IzSWdSR0YyYVdRZ1VHbGxjR2R5WVhOelhISmNiaUFxTDF4eVhHNTJZWElnUWxSeVpXVWdQU0F2S2lvZ1FHTnNZWE56SUNvdklDaG1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0F2S2lwY2NseHVJQ0FnSUNBcUlFbHVhWFJwWVd4cGVtVnpJR0Z1SUdWdGNIUjVJRUlySUhSeVpXVXVYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdZMjl0Y0dGeVpTQkRkWE4wYjIwZ1puVnVZM1JwYjI0Z2RHOGdZMjl0Y0dGeVpTQndZV2x5Y3lCdlppQmxiR1Z0Wlc1MGN5QnBiaUIwYUdVZ2RISmxaUzVjY2x4dUlDQWdJQ0FxSUNBZ1NXWWdibTkwSUhOd1pXTnBabWxsWkN3Z1pHVm1ZWFZzZEVOdmJYQmhjbUYwYjNJZ2QybHNiQ0JpWlNCMWMyVmtJSGRvYVdOb0lHbHpJSFpoYkdsa0lHRnpJR3h2Ym1jZ1lYTWdTeUJsZUhSbGJtUnpJRVJsWm1GMWJIUkRiMjF3WVhKaFlteGxMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJR1Z1ZEhKcFpYTWdRU0J6WlhRZ2IyWWdhMlY1TFhaaGJIVmxJSEJoYVhKeklIUnZJR2x1YVhScFlXeHBlbVVnZEdobElIUnlaV1ZjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0J0WVhoT2IyUmxVMmw2WlNCQ2NtRnVZMmhwYm1jZ1ptRmpkRzl5SUNodFlYaHBiWFZ0SUdsMFpXMXpJRzl5SUdOb2FXeGtjbVZ1SUhCbGNpQnViMlJsS1Z4eVhHNGdJQ0FnSUNvZ0lDQk5kWE4wSUdKbElHbHVJSEpoYm1kbElEUXVMakkxTmk0Z1NXWWdkVzVrWldacGJtVmtJRzl5SUR3MElIUm9aVzRnWkdWbVlYVnNkQ0JwY3lCMWMyVmtPeUJwWmlBK01qVTJJSFJvWlc0Z01qVTJMbHh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJDVkhKbFpTaGxiblJ5YVdWekxDQmpiMjF3WVhKbExDQnRZWGhPYjJSbFUybDZaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11WDNKdmIzUWdQU0JGYlhCMGVVeGxZV1k3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYzJsNlpTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYldGNFRtOWtaVk5wZW1VZ1BTQnRZWGhPYjJSbFUybDZaU0ErUFNBMElEOGdUV0YwYUM1dGFXNG9iV0Y0VG05a1pWTnBlbVVzSURJMU5pa2dPaUF6TWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TGw5amIyMXdZWEpsSUQwZ1kyOXRjR0Z5WlNCOGZDQmtaV1poZFd4MFEyOXRjR0Z5WVhSdmNqdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1pXNTBjbWxsY3lsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpaWFJRWVdseWN5aGxiblJ5YVdWektUdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hDVkhKbFpTNXdjbTkwYjNSNWNHVXNJRndpYzJsNlpWd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ0x5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljY2x4dUlDQWdJQ0FnSUNBdkx5QkZVellnVFdGd1BFc3NWajRnYldWMGFHOWtjeUF2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh5WEc0Z0lDQWdJQ0FnSUM4cUtpQkhaWFJ6SUhSb1pTQnVkVzFpWlhJZ2IyWWdhMlY1TFhaaGJIVmxJSEJoYVhKeklHbHVJSFJvWlNCMGNtVmxMaUFxTDF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2RHaHBjeTVmYzJsNlpUc2dmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VKVWNtVmxMbkJ5YjNSdmRIbHdaU3dnWENKc1pXNW5kR2hjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJQzhxS2lCSFpYUnpJSFJvWlNCdWRXMWlaWElnYjJZZ2EyVjVMWFpoYkhWbElIQmhhWEp6SUdsdUlIUm9aU0IwY21WbExpQXFMMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnZEdocGN5NWZjMmw2WlRzZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCbVlXeHpaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRUpVY21WbExuQnliM1J2ZEhsd1pTd2dYQ0pwYzBWdGNIUjVYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQXZLaW9nVW1WMGRYSnVjeUIwY25WbElHbG1aaUIwYUdVZ2RISmxaU0JqYjI1MFlXbHVjeUJ1YnlCclpYa3RkbUZzZFdVZ2NHRnBjbk11SUNvdlhISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6TGw5emFYcGxJRDA5UFNBd095QjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQXZLaW9nVW1Wc1pXRnpaWE1nZEdobElIUnlaV1VnYzI4Z2RHaGhkQ0JwZEhNZ2MybDZaU0JwY3lBd0xpQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtTnNaV0Z5SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYM0p2YjNRZ1BTQkZiWEIwZVV4bFlXWTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NWZjMmw2WlNBOUlEQTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xSUZKMWJuTWdZU0JtZFc1amRHbHZiaUJtYjNJZ1pXRmphQ0JyWlhrdGRtRnNkV1VnY0dGcGNpd2dhVzRnYjNKa1pYSWdabkp2YlNCemJXRnNiR1Z6ZENCMGIxeHlYRzRnSUNBZ0lDb2dJR3hoY21kbGMzUWdhMlY1TGlCR2IzSWdZMjl0Y0dGMGFXSnBiR2wwZVNCM2FYUm9JRVZUTmlCTllYQXNJSFJvWlNCaGNtZDFiV1Z1ZENCdmNtUmxjaUIwYjF4eVhHNGdJQ0FnSUNvZ0lIUm9aU0JqWVd4c1ltRmpheUJwY3lCaVlXTnJkMkZ5WkhNNklIWmhiSFZsSUdacGNuTjBMQ0IwYUdWdUlHdGxlUzRnUTJGc2JDQm1iM0pGWVdOb1VHRnBjbHh5WEc0Z0lDQWdJQ29nSUdsdWMzUmxZV1FnZEc4Z2NtVmpaV2wyWlNCMGFHVWdhMlY1SUdGeklIUm9aU0JtYVhKemRDQmhjbWQxYldWdWRDNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQjBhR2x6UVhKbklFbG1JSEJ5YjNacFpHVmtMQ0IwYUdseklIQmhjbUZ0WlhSbGNpQnBjeUJoYzNOcFoyNWxaQ0JoY3lCMGFHVWdZSFJvYVhOZ1hISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ2RtRnNkV1VnWm05eUlHVmhZMmdnWTJGc2JHSmhZMnN1WEhKY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCMGFHVWdiblZ0WW1WeUlHOW1JSFpoYkhWbGN5QjBhR0YwSUhkbGNtVWdjMlZ1ZENCMGJ5QjBhR1VnWTJGc2JHSmhZMnNzWEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnYjNJZ2RHaGxJRklnZG1Gc2RXVWdhV1lnZEdobElHTmhiR3hpWVdOcklISmxkSFZ5Ym1Wa0lIdGljbVZoYXpwU2ZTNGdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNW1iM0pGWVdOb0lEMGdablZ1WTNScGIyNGdLR05oYkd4aVlXTnJMQ0IwYUdselFYSm5LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGMwRnlaeUFoUFQwZ2RXNWtaV1pwYm1Wa0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCallXeHNZbUZqYXlBOUlHTmhiR3hpWVdOckxtSnBibVFvZEdocGMwRnlaeWs3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVabTl5UldGamFGQmhhWElvWm5WdVkzUnBiMjRnS0dzc0lIWXBJSHNnY21WMGRYSnVJR05oYkd4aVlXTnJLSFlzSUdzc0lGOTBhR2x6S1RzZ2ZTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xSUZKMWJuTWdZU0JtZFc1amRHbHZiaUJtYjNJZ1pXRmphQ0JyWlhrdGRtRnNkV1VnY0dGcGNpd2dhVzRnYjNKa1pYSWdabkp2YlNCemJXRnNiR1Z6ZENCMGIxeHlYRzRnSUNBZ0lDb2dJR3hoY21kbGMzUWdhMlY1TGlCVWFHVWdZMkZzYkdKaFkyc2dZMkZ1SUhKbGRIVnliaUI3WW5KbFlXczZVbjBnS0hkb1pYSmxJRklnYVhNZ1lXNTVJSFpoYkhWbFhISmNiaUFnSUNBZ0tpQWdaWGhqWlhCMElIVnVaR1ZtYVc1bFpDa2dkRzhnYzNSdmNDQnBiVzFsWkdsaGRHVnNlU0JoYm1RZ2NtVjBkWEp1SUZJZ1puSnZiU0JtYjNKRllXTm9VR0ZwY2k1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCdmJrWnZkVzVrSUVFZ1puVnVZM1JwYjI0Z2RHaGhkQ0JwY3lCallXeHNaV1FnWm05eUlHVmhZMmdnYTJWNUxYWmhiSFZsSUhCaGFYSXVJRlJvYVhOY2NseHVJQ0FnSUNBcUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCallXNGdjbVYwZFhKdUlIdGljbVZoYXpwU2ZTQjBieUJ6ZEc5d0lHVmhjbXg1SUhkcGRHZ2djbVZ6ZFd4MElGSXVYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdWR2hsSUhKbFlYTnZiaUIwYUdGMElIbHZkU0J0ZFhOMElISmxkSFZ5YmlCN1luSmxZV3M2VW4wZ2FXNXpkR1ZoWkNCdlppQnphVzF3YkhrZ1VseHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lHbDBjMlZzWmlCcGN5Qm1iM0lnWTI5dWMybHpkR1Z1WTNrZ2QybDBhQ0JsWkdsMFVtRnVaMlVvS1N3Z2QyaHBZMmdnWVd4c2IzZHpYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdiWFZzZEdsd2JHVWdZV04wYVc5dWN5d2dibTkwSUdwMWMzUWdZbkpsWVd0cGJtY3VYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdhVzVwZEdsaGJFTnZkVzUwWlhJZ1ZHaHBjeUJwY3lCMGFHVWdkbUZzZFdVZ2IyWWdkR2hsSUhSb2FYSmtJR0Z5WjNWdFpXNTBJRzltWEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnWUc5dVJtOTFibVJnSUhSb1pTQm1hWEp6ZENCMGFXMWxJR2wwSUdseklHTmhiR3hsWkM0Z1ZHaGxJR052ZFc1MFpYSWdhVzVqY21WaGMyVnpYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdZbmtnYjI1bElHVmhZMmdnZEdsdFpTQmdiMjVHYjNWdVpHQWdhWE1nWTJGc2JHVmtMaUJFWldaaGRXeDBJSFpoYkhWbE9pQXdYSEpjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUIwYUdVZ2JuVnRZbVZ5SUc5bUlIQmhhWEp6SUhObGJuUWdkRzhnZEdobElHTmhiR3hpWVdOcklDaHdiSFZ6SUdsdWFYUnBZV3hEYjNWdWRHVnlMRnh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJR2xtSUhsdmRTQndjbTkyYVdSbFpDQnZibVVwTGlCSlppQjBhR1VnWTJGc2JHSmhZMnNnY21WMGRYSnVaV1FnZTJKeVpXRnJPbEo5SUhSb1pXNWNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQjBhR1VnVWlCMllXeDFaU0JwY3lCeVpYUjFjbTVsWkNCcGJuTjBaV0ZrTGlBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1admNrVmhZMmhRWVdseUlEMGdablZ1WTNScGIyNGdLR05oYkd4aVlXTnJMQ0JwYm1sMGFXRnNRMjkxYm5SbGNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnNiM2NnUFNCMGFHbHpMbTFwYmt0bGVTZ3BMQ0JvYVdkb0lEMGdkR2hwY3k1dFlYaExaWGtvS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVtYjNKU1lXNW5aU2hzYjNjc0lHaHBaMmdzSUhSeWRXVXNJR05oYkd4aVlXTnJMQ0JwYm1sMGFXRnNRMjkxYm5SbGNpazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xWEhKY2JpQWdJQ0FnS2lCR2FXNWtjeUJoSUhCaGFYSWdhVzRnZEdobElIUnlaV1VnWVc1a0lISmxkSFZ5Ym5NZ2RHaGxJR0Z6YzI5amFXRjBaV1FnZG1Gc2RXVXVYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdaR1ZtWVhWc2RGWmhiSFZsSUdFZ2RtRnNkV1VnZEc4Z2NtVjBkWEp1SUdsbUlIUm9aU0JyWlhrZ2QyRnpJRzV2ZENCbWIzVnVaQzVjY2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUhSb1pTQjJZV3gxWlN3Z2IzSWdaR1ZtWVhWc2RGWmhiSFZsSUdsbUlIUm9aU0JyWlhrZ2QyRnpJRzV2ZENCbWIzVnVaQzVjY2x4dUlDQWdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQkRiMjF3ZFhSaGRHbHZibUZzSUdOdmJYQnNaWGhwZEhrNklFOG9iRzluSUhOcGVtVXBYSEpjYmlBZ0lDQWdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNW5aWFFnUFNCbWRXNWpkR2x2YmlBb2EyVjVMQ0JrWldaaGRXeDBWbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtOXZkQzVuWlhRb2EyVjVMQ0JrWldaaGRXeDBWbUZzZFdVc0lIUm9hWE1wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtseHlYRzRnSUNBZ0lDb2dRV1JrY3lCdmNpQnZkbVZ5ZDNKcGRHVnpJR0VnYTJWNUxYWmhiSFZsSUhCaGFYSWdhVzRnZEdobElFSXJJSFJ5WldVdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2EyVjVJSFJvWlNCclpYa2dhWE1nZFhObFpDQjBieUJrWlhSbGNtMXBibVVnZEdobElITnZjblFnYjNKa1pYSWdiMlpjY2x4dUlDQWdJQ0FxSUNBZ0lDQWdJQ0JrWVhSaElHbHVJSFJvWlNCMGNtVmxMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJSFpoYkhWbElHUmhkR0VnZEc4Z1lYTnpiMk5wWVhSbElIZHBkR2dnZEdobElHdGxlU0FvYjNCMGFXOXVZV3dwWEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnYjNabGNuZHlhWFJsSUZkb1pYUm9aWElnZEc4Z2IzWmxjbmR5YVhSbElHRnVJR1Y0YVhOMGFXNW5JR3RsZVMxMllXeDFaU0J3WVdseVhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ0tHUmxabUYxYkhRNklIUnlkV1VwTGlCSlppQjBhR2x6SUdseklHWmhiSE5sSUdGdVpDQjBhR1Z5WlNCcGN5QmhiaUJsZUdsemRHbHVaMXh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJR3RsZVMxMllXeDFaU0J3WVdseUlIUm9aVzRnZEdocGN5QnRaWFJvYjJRZ2FHRnpJRzV2SUdWbVptVmpkQzVjY2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUhSeWRXVWdhV1lnWVNCdVpYY2dhMlY1TFhaaGJIVmxJSEJoYVhJZ2QyRnpJR0ZrWkdWa0xseHlYRzRnSUNBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVOdmJYQjFkR0YwYVc5dVlXd2dZMjl0Y0d4bGVHbDBlVG9nVHloc2IyY2djMmw2WlNsY2NseHVJQ0FnSUNBcUlFNXZkR1U2SUhkb1pXNGdiM1psY25keWFYUnBibWNnWVNCd2NtVjJhVzkxY3lCbGJuUnllU3dnZEdobElHdGxlU0JwY3lCMWNHUmhkR1ZrWEhKY2JpQWdJQ0FnS2lCaGN5QjNaV3hzSUdGeklIUm9aU0IyWVd4MVpTNGdWR2hwY3lCb1lYTWdibThnWldabVpXTjBJSFZ1YkdWemN5QjBhR1VnYm1WM0lHdGxlVnh5WEc0Z0lDQWdJQ29nYUdGeklHUmhkR0VnZEdoaGRDQmtiMlZ6SUc1dmRDQmhabVpsWTNRZ2FYUnpJSE52Y25RZ2IzSmtaWEl1WEhKY2JpQWdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzV6WlhRZ1BTQm1kVzVqZEdsdmJpQW9hMlY1TENCMllXeDFaU3dnYjNabGNuZHlhWFJsS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0hSb2FYTXVYM0p2YjNRdWFYTlRhR0Z5WldRcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVYM0p2YjNRZ1BTQjBhR2x6TGw5eWIyOTBMbU5zYjI1bEtDazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlISmxjM1ZzZENBOUlIUm9hWE11WDNKdmIzUXVjMlYwS0d0bGVTd2dkbUZzZFdVc0lHOTJaWEozY21sMFpTd2dkR2hwY3lrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0hKbGMzVnNkQ0E5UFQwZ2RISjFaU0I4ZkNCeVpYTjFiSFFnUFQwOUlHWmhiSE5sS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQzh2SUZKdmIzUWdibTlrWlNCb1lYTWdjM0JzYVhRc0lITnZJR055WldGMFpTQmhJRzVsZHlCeWIyOTBJRzV2WkdVdVhISmNiaUFnSUNBZ0lDQWdkR2hwY3k1ZmNtOXZkQ0E5SUc1bGR5QkNUbTlrWlVsdWRHVnlibUZzS0Z0MGFHbHpMbDl5YjI5MExDQnlaWE4xYkhSZEtUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdktpcGNjbHh1SUNBZ0lDQXFJRkpsZEhWeWJuTWdkSEoxWlNCcFppQjBhR1VnYTJWNUlHVjRhWE4wY3lCcGJpQjBhR1VnUWlzZ2RISmxaU3dnWm1Gc2MyVWdhV1lnYm05MExseHlYRzRnSUNBZ0lDb2dWWE5sSUdkbGRDZ3BJR1p2Y2lCaVpYTjBJSEJsY21admNtMWhibU5sT3lCMWMyVWdhR0Z6S0NrZ2FXWWdlVzkxSUc1bFpXUWdkRzljY2x4dUlDQWdJQ0FxSUdScGMzUnBibWQxYVhOb0lHSmxkSGRsWlc0Z1hDSjFibVJsWm1sdVpXUWdkbUZzZFdWY0lpQmhibVFnWENKclpYa2dibTkwSUhCeVpYTmxiblJjSWk1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCclpYa2dTMlY1SUhSdklHUmxkR1ZqZEZ4eVhHNGdJQ0FnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRU52YlhCMWRHRjBhVzl1WVd3Z1kyOXRjR3hsZUdsMGVUb2dUeWhzYjJjZ2MybDZaU2xjY2x4dUlDQWdJQ0FxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbWhoY3lBOUlHWjFibU4wYVc5dUlDaHJaWGtwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVtYjNKU1lXNW5aU2hyWlhrc0lHdGxlU3dnZEhKMVpTd2dkVzVrWldacGJtVmtLU0FoUFQwZ01EdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZLaXBjY2x4dUlDQWdJQ0FxSUZKbGJXOTJaWE1nWVNCemFXNW5iR1VnYTJWNUxYWmhiSFZsSUhCaGFYSWdabkp2YlNCMGFHVWdRaXNnZEhKbFpTNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQnJaWGtnUzJWNUlIUnZJR1pwYm1SY2NseHVJQ0FnSUNBcUlFQnlaWFIxY201eklIUnlkV1VnYVdZZ1lTQndZV2x5SUhkaGN5Qm1iM1Z1WkNCaGJtUWdjbVZ0YjNabFpDd2dabUZzYzJVZ2IzUm9aWEozYVhObExseHlYRzRnSUNBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVOdmJYQjFkR0YwYVc5dVlXd2dZMjl0Y0d4bGVHbDBlVG9nVHloc2IyY2djMmw2WlNsY2NseHVJQ0FnSUNBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1SbGJHVjBaU0E5SUdaMWJtTjBhVzl1SUNoclpYa3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWxaR2wwVW1GdVoyVW9hMlY1TENCclpYa3NJSFJ5ZFdVc0lFUmxiR1YwWlZKaGJtZGxLU0FoUFQwZ01EdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWQybDBhQ0E5SUdaMWJtTjBhVzl1SUNoclpYa3NJSFpoYkhWbExDQnZkbVZ5ZDNKcGRHVXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiblVnUFNCMGFHbHpMbU5zYjI1bEtDazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxTG5ObGRDaHJaWGtzSUhaaGJIVmxMQ0J2ZG1WeWQzSnBkR1VwSUh4OElHOTJaWEozY21sMFpTQS9JRzUxSURvZ2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2S2lvZ1VtVjBkWEp1Y3lCaElHTnZjSGtnYjJZZ2RHaGxJSFJ5WldVZ2QybDBhQ0IwYUdVZ2MzQmxZMmxtYVdWa0lHdGxlUzEyWVd4MVpTQndZV2x5Y3lCelpYUXVJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVkMmwwYUZCaGFYSnpJRDBnWm5WdVkzUnBiMjRnS0hCaGFYSnpMQ0J2ZG1WeWQzSnBkR1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYm5VZ1BTQjBhR2x6TG1Oc2IyNWxLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MUxuTmxkRkJoYVhKektIQmhhWEp6TENCdmRtVnlkM0pwZEdVcElDRTlQU0F3SUh4OElHOTJaWEozY21sMFpTQS9JRzUxSURvZ2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2S2lvZ1VtVjBkWEp1Y3lCaElHTnZjSGtnYjJZZ2RHaGxJSFJ5WldVZ2QybDBhQ0IwYUdVZ2MzQmxZMmxtYVdWa0lHdGxlWE1nY0hKbGMyVnVkQzVjY2x4dUlDQWdJQ0FxSUNCQWNHRnlZVzBnYTJWNWN5QlVhR1VnYTJWNWN5QjBieUJoWkdRdUlFbG1JR0VnYTJWNUlHbHpJR0ZzY21WaFpIa2djSEpsYzJWdWRDQnBiaUIwYUdVZ2RISmxaU3hjY2x4dUlDQWdJQ0FxSUNBZ0lDQWdJQ0FnYm1WcGRHaGxjaUIwYUdVZ1pYaHBjM1JwYm1jZ2EyVjVJRzV2Y2lCMGFHVWdaWGhwYzNScGJtY2dkbUZzZFdVZ2FYTWdiVzlrYVdacFpXUXVYSEpjYmlBZ0lDQWdLaUFnUUhCaGNtRnRJSEpsZEhWeWJsUm9hWE5KWmxWdVkyaGhibWRsWkNCcFppQjBjblZsTENCeVpYUjFjbTV6SUhSb2FYTWdhV1lnWVd4c0lHdGxlWE1nWVd4eVpXRmtlVnh5WEc0Z0lDQWdJQ29nSUdWNGFYTjBaV1F1SUZCbGNtWnZjbTFoYm1ObElHNXZkR1U2SUdSMVpTQjBieUIwYUdVZ1lYSmphR2wwWldOMGRYSmxJRzltSUhSb2FYTWdZMnhoYzNNc0lHRnNiRnh5WEc0Z0lDQWdJQ29nSUc1dlpHVW9jeWtnYkdWaFpHbHVaeUIwYnlCbGVHbHpkR2x1WnlCclpYbHpJR0Z5WlNCamJHOXVaV1FnWlhabGJpQnBaaUIwYUdVZ1kyOXNiR1ZqZEdsdmJpQnBjMXh5WEc0Z0lDQWdJQ29nSUhWc2RHbHRZWFJsYkhrZ2RXNWphR0Z1WjJWa0xseHlYRzRnSUNBZ0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1M2FYUm9TMlY1Y3lBOUlHWjFibU4wYVc5dUlDaHJaWGx6TENCeVpYUjFjbTVVYUdselNXWlZibU5vWVc1blpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiblVnUFNCMGFHbHpMbU5zYjI1bEtDa3NJR05vWVc1blpXUWdQU0JtWVd4elpUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd0bGVYTXViR1Z1WjNSb095QnBLeXNwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR05vWVc1blpXUWdQU0J1ZFM1elpYUW9hMlY1YzF0cFhTd2dkVzVrWldacGJtVmtMQ0JtWVd4elpTa2dmSHdnWTJoaGJtZGxaRHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY21WMGRYSnVWR2hwYzBsbVZXNWphR0Z1WjJWa0lDWW1JQ0ZqYUdGdVoyVmtJRDhnZEdocGN5QTZJRzUxTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtpQlNaWFIxY201eklHRWdZMjl3ZVNCdlppQjBhR1VnZEhKbFpTQjNhWFJvSUhSb1pTQnpjR1ZqYVdacFpXUWdhMlY1SUhKbGJXOTJaV1F1WEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnY21WMGRYSnVWR2hwYzBsbVZXNWphR0Z1WjJWa0lHbG1JSFJ5ZFdVc0lISmxkSFZ5Ym5NZ2RHaHBjeUJwWmlCMGFHVWdhMlY1SUdScFpHNG5kQ0JsZUdsemRDNWNjbHh1SUNBZ0lDQXFJQ0JRWlhKbWIzSnRZVzVqWlNCdWIzUmxPaUJrZFdVZ2RHOGdkR2hsSUdGeVkyaHBkR1ZqZEhWeVpTQnZaaUIwYUdseklHTnNZWE56TENCdWIyUmxLSE1wSUd4bFlXUnBibWRjY2x4dUlDQWdJQ0FxSUNCMGJ5QjNhR1Z5WlNCMGFHVWdhMlY1SUhkdmRXeGtJR2hoZG1VZ1ltVmxiaUJ6ZEc5eVpXUWdZWEpsSUdOc2IyNWxaQ0JsZG1WdUlIZG9aVzRnZEdobElHdGxlVnh5WEc0Z0lDQWdJQ29nSUhSMWNtNXpJRzkxZENCdWIzUWdkRzhnWlhocGMzUWdZVzVrSUhSb1pTQmpiMnhzWldOMGFXOXVJR2x6SUhWdVkyaGhibWRsWkM1Y2NseHVJQ0FnSUNBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG5kcGRHaHZkWFFnUFNCbWRXNWpkR2x2YmlBb2EyVjVMQ0J5WlhSMWNtNVVhR2x6U1daVmJtTm9ZVzVuWldRcElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1M2FYUm9iM1YwVW1GdVoyVW9hMlY1TENCclpYa3NJSFJ5ZFdVc0lISmxkSFZ5YmxSb2FYTkpabFZ1WTJoaGJtZGxaQ2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlGSmxkSFZ5Ym5NZ1lTQmpiM0I1SUc5bUlIUm9aU0IwY21WbElIZHBkR2dnZEdobElITndaV05wWm1sbFpDQnJaWGx6SUhKbGJXOTJaV1F1WEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnY21WMGRYSnVWR2hwYzBsbVZXNWphR0Z1WjJWa0lHbG1JSFJ5ZFdVc0lISmxkSFZ5Ym5NZ2RHaHBjeUJwWmlCdWIyNWxJRzltSUhSb1pTQnJaWGx6WEhKY2JpQWdJQ0FnS2lBZ1pYaHBjM1JsWkM0Z1VHVnlabTl5YldGdVkyVWdibTkwWlRvZ1pIVmxJSFJ2SUhSb1pTQmhjbU5vYVhSbFkzUjFjbVVnYjJZZ2RHaHBjeUJqYkdGemN5eGNjbHh1SUNBZ0lDQXFJQ0J1YjJSbEtITXBJR3hsWVdScGJtY2dkRzhnZDJobGNtVWdkR2hsSUd0bGVTQjNiM1ZzWkNCb1lYWmxJR0psWlc0Z2MzUnZjbVZrSUdGeVpTQmpiRzl1WldSY2NseHVJQ0FnSUNBcUlDQmxkbVZ1SUhkb1pXNGdkR2hsSUd0bGVTQjBkWEp1Y3lCdmRYUWdibTkwSUhSdklHVjRhWE4wTGx4eVhHNGdJQ0FnSUNvdlhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1ZDJsMGFHOTFkRXRsZVhNZ1BTQm1kVzVqZEdsdmJpQW9hMlY1Y3l3Z2NtVjBkWEp1VkdocGMwbG1WVzVqYUdGdVoyVmtLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJRzUxSUQwZ2RHaHBjeTVqYkc5dVpTZ3BPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFM1a1pXeGxkR1ZMWlhsektHdGxlWE1wSUh4OElDRnlaWFIxY201VWFHbHpTV1pWYm1Ob1lXNW5aV1FnUHlCdWRTQTZJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRkpsZEhWeWJuTWdZU0JqYjNCNUlHOW1JSFJvWlNCMGNtVmxJSGRwZEdnZ2RHaGxJSE53WldOcFptbGxaQ0J5WVc1blpTQnZaaUJyWlhseklISmxiVzkyWldRdUlDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWQybDBhRzkxZEZKaGJtZGxJRDBnWm5WdVkzUnBiMjRnS0d4dmR5d2dhR2xuYUN3Z2FXNWpiSFZrWlVocFoyZ3NJSEpsZEhWeWJsUm9hWE5KWmxWdVkyaGhibWRsWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCdWRTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvYm5VdVpHVnNaWFJsVW1GdVoyVW9iRzkzTENCb2FXZG9MQ0JwYm1Oc2RXUmxTR2xuYUNrZ1BUMDlJREFnSmlZZ2NtVjBkWEp1VkdocGMwbG1WVzVqYUdGdVoyVmtLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5VN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRkpsZEhWeWJuTWdZU0JqYjNCNUlHOW1JSFJvWlNCMGNtVmxJSGRwZEdnZ2NHRnBjbk1nY21WdGIzWmxaQ0IzYUdWdVpYWmxjaUIwYUdVZ1kyRnNiR0poWTJ0Y2NseHVJQ0FnSUNBcUlDQm1kVzVqZEdsdmJpQnlaWFIxY201eklHWmhiSE5sTGlCZ2QyaGxjbVVvS1dBZ2FYTWdZU0J6ZVc1dmJubHRJR1p2Y2lCMGFHbHpJRzFsZEdodlpDNGdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNW1hV3gwWlhJZ1BTQm1kVzVqZEdsdmJpQW9ZMkZzYkdKaFkyc3NJSEpsZEhWeWJsUm9hWE5KWmxWdVkyaGhibWRsWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCdWRTQTlJSFJvYVhNdVozSmxaV1I1UTJ4dmJtVW9LVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1ZzTzF4eVhHNGdJQ0FnSUNBZ0lHNTFMbVZrYVhSQmJHd29ablZ1WTNScGIyNGdLR3NzSUhZc0lHa3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGallXeHNZbUZqYXlockxDQjJMQ0JwS1NsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pXd2dQU0JFWld4bGRHVTdYSEpjYmlBZ0lDQWdJQ0FnZlNrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pXd2dKaVlnY21WMGRYSnVWR2hwYzBsbVZXNWphR0Z1WjJWa0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblU3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlGSmxkSFZ5Ym5NZ1lTQmpiM0I1SUc5bUlIUm9aU0IwY21WbElIZHBkR2dnWVd4c0lIWmhiSFZsY3lCaGJIUmxjbVZrSUdKNUlHRWdZMkZzYkdKaFkyc2dablZ1WTNScGIyNHVJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXViV0Z3Vm1Gc2RXVnpJRDBnWm5WdVkzUnBiMjRnS0dOaGJHeGlZV05yS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhSdGNDQTlJSHQ5TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ1ZFNBOUlIUm9hWE11WjNKbFpXUjVRMnh2Ym1Vb0tUdGNjbHh1SUNBZ0lDQWdJQ0J1ZFM1bFpHbDBRV3hzS0daMWJtTjBhVzl1SUNockxDQjJMQ0JwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYlhBdWRtRnNkV1VnUFNCallXeHNZbUZqYXloMkxDQnJMQ0JwS1N3Z2RHMXdPMXh5WEc0Z0lDQWdJQ0FnSUgwcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVjbVZrZFdObElEMGdablZ1WTNScGIyNGdLR05oYkd4aVlXTnJMQ0JwYm1sMGFXRnNWbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2FTQTlJREFzSUhBZ1BTQnBibWwwYVdGc1ZtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2wwSUQwZ2RHaHBjeTVsYm5SeWFXVnpLSFJvYVhNdWJXbHVTMlY1S0Nrc0lGSmxkWE5sWkVGeWNtRjVLU3dnYm1WNGREdGNjbHh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9JU2h1WlhoMElEMGdhWFF1Ym1WNGRDZ3BLUzVrYjI1bEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCd0lEMGdZMkZzYkdKaFkyc29jQ3dnYm1WNGRDNTJZV3gxWlN3Z2FTc3JMQ0IwYUdsektUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHlYRzRnSUNBZ0x5OGdTWFJsY21GMGIzSWdiV1YwYUc5a2N5QXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljY2x4dUlDQWdJQzhxS2lCU1pYUjFjbTV6SUdGdUlHbDBaWEpoZEc5eUlIUm9ZWFFnY0hKdmRtbGtaWE1nYVhSbGJYTWdhVzRnYjNKa1pYSWdLR0Z6WTJWdVpHbHVaeUJ2Y21SbGNpQnBabHh5WEc0Z0lDQWdJQ29nSUhSb1pTQmpiMnhzWldOMGFXOXVKM01nWTI5dGNHRnlZWFJ2Y2lCMWMyVnpJR0Z6WTJWdVpHbHVaeUJ2Y21SbGNpd2dZWE1nYVhNZ2RHaGxJR1JsWm1GMWJIUXVLVnh5WEc0Z0lDQWdJQ29nSUVCd1lYSmhiU0JzYjNkbGMzUkxaWGtnUm1seWMzUWdhMlY1SUhSdklHSmxJR2wwWlhKaGRHVmtMQ0J2Y2lCMWJtUmxabWx1WldRZ2RHOGdjM1JoY25RZ1lYUmNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQWdiV2x1UzJWNUtDa3VJRWxtSUhSb1pTQnpjR1ZqYVdacFpXUWdhMlY1SUdSdlpYTnVKM1FnWlhocGMzUWdkR2hsYmlCcGRHVnlZWFJwYjI1Y2NseHVJQ0FnSUNBcUlDQWdJQ0FnSUNBZ2MzUmhjblJ6SUdGMElIUm9aU0J1WlhoMElHaHBaMmhsY2lCclpYa2dLR0ZqWTI5eVpHbHVaeUIwYnlCMGFHVWdZMjl0Y0dGeVlYUnZjaWt1WEhKY2JpQWdJQ0FnS2lBZ1FIQmhjbUZ0SUhKbGRYTmxaRUZ5Y21GNUlFOXdkR2x2Ym1Gc0lHRnljbUY1SUhWelpXUWdjbVZ3WldGMFpXUnNlU0IwYnlCemRHOXlaU0JyWlhrdGRtRnNkV1ZjY2x4dUlDQWdJQ0FxSUNBZ0lDQWdJQ0FnY0dGcGNuTXNJSFJ2SUdGMmIybGtJR055WldGMGFXNW5JR0VnYm1WM0lHRnljbUY1SUc5dUlHVjJaWEo1SUdsMFpYSmhkR2x2Ymk1Y2NseHVJQ0FnSUNBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1WdWRISnBaWE1nUFNCbWRXNWpkR2x2YmlBb2JHOTNaWE4wUzJWNUxDQnlaWFZ6WldSQmNuSmhlU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJwYm1adklEMGdkR2hwY3k1bWFXNWtVR0YwYUNoc2IzZGxjM1JMWlhrcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNocGJtWnZJRDA5UFNCMWJtUmxabWx1WldRcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwZEdWeVlYUnZjaWdwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ1YjJSbGNYVmxkV1VnUFNCcGJtWnZMbTV2WkdWeGRXVjFaU3dnYm05a1pXbHVaR1Y0SUQwZ2FXNW1ieTV1YjJSbGFXNWtaWGdzSUd4bFlXWWdQU0JwYm1adkxteGxZV1k3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSE4wWVhSbElEMGdjbVYxYzJWa1FYSnlZWGtnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JREVnT2lBd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcElEMGdLR3h2ZDJWemRFdGxlU0E5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdMVEVnT2lCc1pXRm1MbWx1WkdWNFQyWW9iRzkzWlhOMFMyVjVMQ0F3TENCMGFHbHpMbDlqYjIxd1lYSmxLU0F0SURFcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnBkR1Z5WVhSdmNpaG1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR3AxYlhBNklHWnZjaUFvT3pzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4zYVhSamFDQW9jM1JoZEdVcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREE2WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ3JLMmtnUENCc1pXRm1MbXRsZVhNdWJHVnVaM1JvS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIc2daRzl1WlRvZ1ptRnNjMlVzSUhaaGJIVmxPaUJiYkdWaFppNXJaWGx6VzJsZExDQnNaV0ZtTG5aaGJIVmxjMXRwWFYwZ2ZUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM1JoZEdVZ1BTQXlPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURFNlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2dySzJrZ1BDQnNaV0ZtTG10bGVYTXViR1Z1WjNSb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYVnpaV1JCY25KaGVWc3dYU0E5SUd4bFlXWXVhMlY1YzF0cFhTd2djbVYxYzJWa1FYSnlZWGxiTVYwZ1BTQnNaV0ZtTG5aaGJIVmxjMXRwWFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJR1J2Ym1VNklHWmhiSE5sTENCMllXeDFaVG9nY21WMWMyVmtRWEp5WVhrZ2ZUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEdGMFpTQTlJREk3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBeU9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJCWkhaaGJtTmxJSFJ2SUhSb1pTQnVaWGgwSUd4bFlXWWdibTlrWlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCc1pYWmxiQ0E5SUMweE96c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2dySzJ4bGRtVnNJRDQ5SUc1dlpHVnhkV1YxWlM1c1pXNW5kR2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRHRjBaU0E5SURNN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVZ2FuVnRjRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ3JLMjV2WkdWcGJtUmxlRnRzWlhabGJGMGdQQ0J1YjJSbGNYVmxkV1ZiYkdWMlpXeGRMbXhsYm1kMGFDbGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0RzZ2JHVjJaV3dnUGlBd095QnNaWFpsYkMwdEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxjWFZsZFdWYmJHVjJaV3dnTFNBeFhTQTlJRzV2WkdWeGRXVjFaVnRzWlhabGJGMWJibTlrWldsdVpHVjRXMnhsZG1Wc1hWMHVZMmhwYkdSeVpXNDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxhVzVrWlhoYmJHVjJaV3dnTFNBeFhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVmhaaUE5SUc1dlpHVnhkV1YxWlZzd1hWdHViMlJsYVc1a1pYaGJNRjFkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcElEMGdMVEU3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMFlYUmxJRDBnY21WMWMyVmtRWEp5WVhrZ0lUMDlJSFZ1WkdWbWFXNWxaQ0EvSURFZ09pQXdPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURNNlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lHUnZibVU2SUhSeWRXVXNJSFpoYkhWbE9pQjFibVJsWm1sdVpXUWdmVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMHBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzhxS2lCU1pYUjFjbTV6SUdGdUlHbDBaWEpoZEc5eUlIUm9ZWFFnY0hKdmRtbGtaWE1nYVhSbGJYTWdhVzRnY21WMlpYSnpaV1FnYjNKa1pYSXVYSEpjYmlBZ0lDQWdLaUFnUUhCaGNtRnRJR2hwWjJobGMzUkxaWGtnUzJWNUlHRjBJSGRvYVdOb0lIUnZJSE4wWVhKMElHbDBaWEpoZEdsdVp5d2diM0lnZFc1a1pXWnBibVZrSUhSdlhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ0lITjBZWEowSUdGMElHMWhlRXRsZVNncExpQkpaaUIwYUdVZ2MzQmxZMmxtYVdWa0lHdGxlU0JrYjJWemJpZDBJR1Y0YVhOMElIUm9aVzRnYVhSbGNtRjBhVzl1WEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnSUhOMFlYSjBjeUJoZENCMGFHVWdibVY0ZENCc2IzZGxjaUJyWlhrZ0tHRmpZMjl5WkdsdVp5QjBieUIwYUdVZ1kyOXRjR0Z5WVhSdmNpa3VYSEpjYmlBZ0lDQWdLaUFnUUhCaGNtRnRJSEpsZFhObFpFRnljbUY1SUU5d2RHbHZibUZzSUdGeWNtRjVJSFZ6WldRZ2NtVndaV0YwWldSc2VTQjBieUJ6ZEc5eVpTQnJaWGt0ZG1Gc2RXVmNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQWdjR0ZwY25Nc0lIUnZJR0YyYjJsa0lHTnlaV0YwYVc1bklHRWdibVYzSUdGeWNtRjVJRzl1SUdWMlpYSjVJR2wwWlhKaGRHbHZiaTVjY2x4dUlDQWdJQ0FxSUNCQWNHRnlZVzBnYzJ0cGNFaHBaMmhsYzNRZ1NXWm1JSFJvYVhNZ1pteGhaeUJwY3lCMGNuVmxJR0Z1WkNCMGFHVWdhR2xuYUdWemRFdGxlU0JsZUdsemRITWdhVzRnZEdobFhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ0lHTnZiR3hsWTNScGIyNHNJSFJvWlNCd1lXbHlJRzFoZEdOb2FXNW5JR2hwWjJobGMzUkxaWGtnYVhNZ2MydHBjSEJsWkN3Z2JtOTBJR2wwWlhKaGRHVmtMbHh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVaVzUwY21sbGMxSmxkbVZ5YzJWa0lEMGdablZ1WTNScGIyNGdLR2hwWjJobGMzUkxaWGtzSUhKbGRYTmxaRUZ5Y21GNUxDQnphMmx3U0dsbmFHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hvYVdkb1pYTjBTMlY1SUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhR2xuYUdWemRFdGxlU0E5SUhSb2FYTXViV0Y0UzJWNUtDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lITnJhWEJJYVdkb1pYTjBJRDBnZFc1a1pXWnBibVZrTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FHbG5hR1Z6ZEV0bGVTQTlQVDBnZFc1a1pXWnBibVZrS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsMFpYSmhkRzl5S0NrN0lDOHZJR052Ykd4bFkzUnBiMjRnYVhNZ1pXMXdkSGxjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUY5aElEMGdkR2hwY3k1bWFXNWtVR0YwYUNob2FXZG9aWE4wUzJWNUtTQjhmQ0IwYUdsekxtWnBibVJRWVhSb0tIUm9hWE11YldGNFMyVjVLQ2twTENCdWIyUmxjWFZsZFdVZ1BTQmZZUzV1YjJSbGNYVmxkV1VzSUc1dlpHVnBibVJsZUNBOUlGOWhMbTV2WkdWcGJtUmxlQ3dnYkdWaFppQTlJRjloTG14bFlXWTdYSEpjYmlBZ0lDQWdJQ0FnWTJobFkyc29JVzV2WkdWeGRXVjFaVnN3WFNCOGZDQnNaV0ZtSUQwOVBTQnViMlJsY1hWbGRXVmJNRjFiYm05a1pXbHVaR1Y0V3pCZFhTd2dYQ0ozWVhRaFhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnBJRDBnYkdWaFppNXBibVJsZUU5bUtHaHBaMmhsYzNSTFpYa3NJREFzSUhSb2FYTXVYMk52YlhCaGNtVXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hjMnRwY0VocFoyaGxjM1FnSmlZZ2FTQThJR3hsWVdZdWEyVjVjeTVzWlc1bmRHZ2dKaVlnZEdocGN5NWZZMjl0Y0dGeVpTaHNaV0ZtTG10bGVYTmJhVjBzSUdocFoyaGxjM1JMWlhrcElEdzlJREFwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2tyS3p0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYzNSaGRHVWdQU0J5WlhWelpXUkJjbkpoZVNBaFBUMGdkVzVrWldacGJtVmtJRDhnTVNBNklEQTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR2wwWlhKaGRHOXlLR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYW5WdGNEb2dabTl5SUNnN095a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2h6ZEdGMFpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTURwY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQzB0YVNBK1BTQXdLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ1pHOXVaVG9nWm1Gc2MyVXNJSFpoYkhWbE9pQmJiR1ZoWmk1clpYbHpXMmxkTENCc1pXRm1MblpoYkhWbGMxdHBYVjBnZlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhkR1VnUFNBeU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREU2WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ3RMV2tnUGowZ01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjFjMlZrUVhKeVlYbGJNRjBnUFNCc1pXRm1MbXRsZVhOYmFWMHNJSEpsZFhObFpFRnljbUY1V3pGZElEMGdiR1ZoWmk1MllXeDFaWE5iYVYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdleUJrYjI1bE9pQm1ZV3h6WlN3Z2RtRnNkV1U2SUhKbGRYTmxaRUZ5Y21GNUlIMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGRHVWdQU0F5TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ01qcGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnUVdSMllXNWpaU0IwYnlCMGFHVWdibVY0ZENCc1pXRm1JRzV2WkdWY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2JHVjJaV3dnUFNBdE1UczdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvS3l0c1pYWmxiQ0ErUFNCdWIyUmxjWFZsZFdVdWJHVnVaM1JvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhkR1VnUFNBek8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbElHcDFiWEE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9MUzF1YjJSbGFXNWtaWGhiYkdWMlpXeGRJRDQ5SURBcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2c3SUd4bGRtVnNJRDRnTURzZ2JHVjJaV3d0TFNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm05a1pYRjFaWFZsVzJ4bGRtVnNJQzBnTVYwZ1BTQnViMlJsY1hWbGRXVmJiR1YyWld4ZFcyNXZaR1ZwYm1SbGVGdHNaWFpsYkYxZExtTm9hV3hrY21WdU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm05a1pXbHVaR1Y0VzJ4bGRtVnNJQzBnTVYwZ1BTQnViMlJsY1hWbGRXVmJiR1YyWld3Z0xTQXhYUzVzWlc1bmRHZ2dMU0F4TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxZV1lnUFNCdWIyUmxjWFZsZFdWYk1GMWJibTlrWldsdVpHVjRXekJkWFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQTlJR3hsWVdZdWEyVjVjeTVzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wWVhSbElEMGdjbVYxYzJWa1FYSnlZWGtnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JREVnT2lBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRE02WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI3SUdSdmJtVTZJSFJ5ZFdVc0lIWmhiSFZsT2lCMWJtUmxabWx1WldRZ2ZUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUgwcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFJRlZ6WldRZ1lua2daVzUwY21sbGN5Z3BJR0Z1WkNCbGJuUnlhV1Z6VW1WMlpYSnpaV1FvS1NCMGJ5QndjbVZ3WVhKbElIUnZJSE4wWVhKMElHbDBaWEpoZEdsdVp5NWNjbHh1SUNBZ0lDQXFJRWwwSUdSbGRtVnNiM0J6SUdFZ1hDSnViMlJsSUhGMVpYVmxYQ0lnWm05eUlHVmhZMmdnYm05dUxXeGxZV1lnYkdWMlpXd2diMllnZEdobElIUnlaV1V1WEhKY2JpQWdJQ0FnS2lCTVpYWmxiSE1nWVhKbElHNTFiV0psY21Wa0lGd2lZbTkwZEc5dExYVndYQ0lnYzI4Z2RHaGhkQ0JzWlhabGJDQXdJR2x6SUdFZ2JHbHpkQ0J2WmlCc1pXRm1YSEpjYmlBZ0lDQWdLaUJ1YjJSbGN5Qm1jbTl0SUdFZ2JHOTNMV3hsZG1Wc0lHNXZiaTFzWldGbUlHNXZaR1V1SUZSb1pTQnhkV1YxWlNCaGRDQmhJR2RwZG1WdUlHeGxkbVZzSUV4Y2NseHVJQ0FnSUNBcUlHTnZibk5wYzNSeklHOW1JRzV2WkdWeGRXVjFaVnRNWFNCM2FHbGphQ0JwY3lCMGFHVWdZMmhwYkdSeVpXNGdiMllnWVNCQ1RtOWtaVWx1ZEdWeWJtRnNMRnh5WEc0Z0lDQWdJQ29nWVc1a0lHNXZaR1ZwYm1SbGVGdE1YU3dnZEdobElHTjFjbkpsYm5RZ2FXNWtaWGdnZDJsMGFHbHVJSFJvWVhRZ1kyaHBiR1FnYkdsemRDd2djM1ZqYUZ4eVhHNGdJQ0FnSUNvZ2MzVmphQ0IwYUdGMElHNXZaR1Z4ZFdWMVpWdE1MVEZkSUQwOVBTQnViMlJsY1hWbGRXVmJURjFiYm05a1pXbHVaR1Y0VzB4ZFhTNWphR2xzWkhKbGJpNWNjbHh1SUNBZ0lDQXFJQ2hJYjNkbGRtVnlJR2x1YzJsa1pTQjBhR2x6SUdaMWJtTjBhVzl1SUhSb1pTQnZjbVJsY2lCcGN5QnlaWFpsY25ObFpDNHBYSEpjYmlBZ0lDQWdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNW1hVzVrVUdGMGFDQTlJR1oxYm1OMGFXOXVJQ2hyWlhrcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JtVjRkRzV2WkdVZ1BTQjBhR2x6TGw5eWIyOTBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnViMlJsY1hWbGRXVXNJRzV2WkdWcGJtUmxlRHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9ibVY0ZEc1dlpHVXVhWE5NWldGbUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHNXZaR1Z4ZFdWMVpTQTlJRVZ0Y0hSNVFYSnlZWGtzSUc1dlpHVnBibVJsZUNBOUlFVnRjSFI1UVhKeVlYazdJQzh2SUdGMmIybGtJR0ZzYkc5allYUnBiMjV6WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxjWFZsZFdVZ1BTQmJYU3dnYm05a1pXbHVaR1Y0SUQwZ1cxMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHUWdQU0F3T3lBaGJtVjRkRzV2WkdVdWFYTk1aV0ZtT3lCa0t5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc1dlpHVnhkV1YxWlZ0a1hTQTlJRzVsZUhSdWIyUmxMbU5vYVd4a2NtVnVPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm05a1pXbHVaR1Y0VzJSZElEMGdhMlY1SUQwOVBTQjFibVJsWm1sdVpXUWdQeUF3SURvZ2JtVjRkRzV2WkdVdWFXNWtaWGhQWmloclpYa3NJREFzSUhSb2FYTXVYMk52YlhCaGNtVXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNXZaR1ZwYm1SbGVGdGtYU0ErUFNCdWIyUmxjWFZsZFdWYlpGMHViR1Z1WjNSb0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianNnTHk4Z1ptbHljM1FnYTJWNUlENGdiV0Y0UzJWNUtDbGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzVsZUhSdWIyUmxJRDBnYm05a1pYRjFaWFZsVzJSZFcyNXZaR1ZwYm1SbGVGdGtYVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdibTlrWlhGMVpYVmxMbkpsZG1WeWMyVW9LVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdibTlrWldsdVpHVjRMbkpsZG1WeWMyVW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIc2dibTlrWlhGMVpYVmxPaUJ1YjJSbGNYVmxkV1VzSUc1dlpHVnBibVJsZURvZ2JtOWtaV2x1WkdWNExDQnNaV0ZtT2lCdVpYaDBibTlrWlNCOU8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLbHh5WEc0Z0lDQWdJQ29nUTI5dGNIVjBaWE1nZEdobElHUnBabVpsY21WdVkyVnpJR0psZEhkbFpXNGdZSFJvYVhOZ0lHRnVaQ0JnYjNSb1pYSmdMbHh5WEc0Z0lDQWdJQ29nUm05eUlHVm1abWxqYVdWdVkza3NJSFJvWlNCa2FXWm1JR2x6SUhKbGRIVnlibVZrSUhacFlTQnBiblp2WTJGMGFXOXVjeUJ2WmlCemRYQndiR2xsWkNCb1lXNWtiR1Z5Y3k1Y2NseHVJQ0FnSUNBcUlGUm9aU0JqYjIxd2RYUmhkR2x2YmlCcGN5QnZjSFJwYldsNlpXUWdabTl5SUhSb1pTQmpZWE5sSUdsdUlIZG9hV05vSUhSb1pTQjBkMjhnZEhKbFpYTWdhR0YyWlNCc1lYSm5aU0JoYlc5MWJuUnpYSEpjYmlBZ0lDQWdLaUJ2WmlCemFHRnlaV1FnWkdGMFlTQW9iMkowWVdsdVpXUWdZbmtnWTJGc2JHbHVaeUIwYUdVZ1lHTnNiMjVsWUNCdmNpQmdkMmwwYUdBZ1FWQkpjeWtnWVc1a0lIZHBiR3dnWVhadmFXUmNjbHh1SUNBZ0lDQXFJR0Z1ZVNCcGRHVnlZWFJwYjI0Z2IyWWdjMmhoY21Wa0lITjBZWFJsTGx4eVhHNGdJQ0FnSUNvZ1ZHaGxJR2hoYm1Sc1pYSnpJR05oYmlCallYVnpaU0JqYjIxd2RYUmhkR2x2YmlCMGJ5QmxZWEpzZVNCbGVHbDBJR0o1SUhKbGRIVnlibWx1WnlCN1luSmxZV3M2SUZKOUxseHlYRzRnSUNBZ0lDb2dUbVZwZEdobGNpQnZaaUIwYUdVZ1kyOXNiR1ZqZEdsdmJuTWdjMmh2ZFd4a0lHSmxJR05vWVc1blpXUWdaSFZ5YVc1bklIUm9aU0JqYjIxd1lYSnBjMjl1SUhCeWIyTmxjM01nS0dsdUlIbHZkWElnWTJGc2JHSmhZMnR6S1N3Z1lYTWdkR2hwY3lCdFpYUm9iMlFnWVhOemRXMWxjeUIwYUdWNUlIZHBiR3dnYm05MElHSmxJRzExZEdGMFpXUXVYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdiM1JvWlhJZ1ZHaGxJSFJ5WldVZ2RHOGdZMjl0Y0hWMFpTQmhJR1JwWm1ZZ1lXZGhhVzV6ZEM1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCdmJteDVWR2hwY3lCRFlXeHNZbUZqYXlCcGJuWnZhMlZrSUdadmNpQmhiR3dnYTJWNWN5QnZibXg1SUhCeVpYTmxiblFnYVc0Z1lIUm9hWE5nTGx4eVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUc5dWJIbFBkR2hsY2lCRFlXeHNZbUZqYXlCcGJuWnZhMlZrSUdadmNpQmhiR3dnYTJWNWN5QnZibXg1SUhCeVpYTmxiblFnYVc0Z1lHOTBhR1Z5WUM1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCa2FXWm1aWEpsYm5RZ1EyRnNiR0poWTJzZ2FXNTJiMnRsWkNCbWIzSWdZV3hzSUd0bGVYTWdkMmwwYUNCa2FXWm1aWEpwYm1jZ2RtRnNkV1Z6TGx4eVhHNGdJQ0FnSUNvdlhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1WkdsbVprRm5ZV2x1YzNRZ1BTQm1kVzVqZEdsdmJpQW9iM1JvWlhJc0lHOXViSGxVYUdsekxDQnZibXg1VDNSb1pYSXNJR1JwWm1abGNtVnVkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h2ZEdobGNpNWZZMjl0Y0dGeVpTQWhQVDBnZEdocGN5NWZZMjl0Y0dGeVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSlVjbVZsSUdOdmJYQmhjbUYwYjNKeklHRnlaU0J1YjNRZ2RHaGxJSE5oYldVdVhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NXBjMFZ0Y0hSNUlIeDhJRzkwYUdWeUxtbHpSVzF3ZEhrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWFYTkZiWEIwZVNBbUppQnZkR2hsY2k1cGMwVnRjSFI1S1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdiMjVsSUhSeVpXVWdhWE1nWlcxd2RIa3NJR1YyWlhKNWRHaHBibWNnZDJsc2JDQmlaU0JoYmlCdmJteDVWR2hwY3k5dmJteDVUM1JvWlhJdVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1selJXMXdkSGtwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYjI1c2VVOTBhR1Z5SUQwOVBTQjFibVJsWm1sdVpXUWdQeUIxYm1SbFptbHVaV1FnT2lCQ1ZISmxaUzV6ZEdWd1ZHOUZibVFvUWxSeVpXVXViV0ZyWlVScFptWkRkWEp6YjNJb2IzUm9aWElwTENCdmJteDVUM1JvWlhJcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYjI1c2VWUm9hWE1nUFQwOUlIVnVaR1ZtYVc1bFpDQS9JSFZ1WkdWbWFXNWxaQ0E2SUVKVWNtVmxMbk4wWlhCVWIwVnVaQ2hDVkhKbFpTNXRZV3RsUkdsbVprTjFjbk52Y2loMGFHbHpLU3dnYjI1c2VWUm9hWE1wTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0F2THlCRGRYSnpiM0l0WW1GelpXUWdaR2xtWmlCaGJHZHZjbWwwYUcwZ2FYTWdZWE1nWm05c2JHOTNjenBjY2x4dUlDQWdJQ0FnSUNBdkx5QXRJRlZ1ZEdsc0lHNWxhWFJvWlhJZ1kzVnljMjl5SUdoaGN5QnVZWFpwWjJGMFpXUWdkRzhnZEdobElHVnVaQ0J2WmlCMGFHVWdkSEpsWlN3Z1pHOGdkR2hsSUdadmJHeHZkMmx1WnpwY2NseHVJQ0FnSUNBZ0lDQXZMeUFnTFNCSlppQjBhR1VnWUhSb2FYTmdJR04xY25OdmNpQnBjeUJjSW1KbGFHbHVaRndpSUhSb1pTQmdiM1JvWlhKZ0lHTjFjbk52Y2lBb2MzUnlhV04wYkhrZ1BDd2dkbWxoSUdOdmJYQmhjbVVwTENCaFpIWmhibU5sSUdsMExseHlYRzRnSUNBZ0lDQWdJQzh2SUNBdElFOTBhR1Z5ZDJselpTd2dZV1IyWVc1alpTQjBhR1VnWUc5MGFHVnlZQ0JqZFhKemIzSXVYSEpjYmlBZ0lDQWdJQ0FnTHk4Z0lDMGdRVzU1SUhScGJXVWdZU0JqZFhKemIzSWdhWE1nYzNSbGNIQmxaQ3dnY0dWeVptOXliU0IwYUdVZ1ptOXNiRzkzYVc1bk9seHlYRzRnSUNBZ0lDQWdJQzh2SUNBZ0lDMGdTV1lnWldsMGFHVnlJR04xY25OdmNpQndiMmx1ZEhNZ2RHOGdZU0JyWlhrdmRtRnNkV1VnY0dGcGNqcGNjbHh1SUNBZ0lDQWdJQ0F2THlBZ0lDQWdJQzBnU1dZZ2RHaHBjME4xY25OdmNpQTlQVDBnYjNSb1pYSkRkWEp6YjNJZ1lXNWtJSFJvWlNCMllXeDFaWE1nWkdsbVptVnlMQ0JwZENCcGN5QmhJRVJwWm1abGNtVnVkQzVjY2x4dUlDQWdJQ0FnSUNBdkx5QWdJQ0FnSUMwZ1NXWWdkR2hwYzBOMWNuTnZjaUErSUc5MGFHVnlRM1Z5YzI5eUlHRnVaQ0J2ZEdobGNrTjFjbk52Y2lCcGN5QmhkQ0JoSUd0bGVTOTJZV3gxWlNCd1lXbHlMQ0JwZENCcGN5QmhiaUJQYm14NVQzUm9aWEl1WEhKY2JpQWdJQ0FnSUNBZ0x5OGdJQ0FnSUNBdElFbG1JSFJvYVhORGRYSnpiM0lnUENCdmRHaGxja04xY25OdmNpQmhibVFnZEdocGMwTjFjbk52Y2lCcGN5QmhkQ0JoSUd0bGVTOTJZV3gxWlNCd1lXbHlMQ0JwZENCcGN5QmhiaUJQYm14NVZHaHBjeUJoY3lCc2IyNW5JR0Z6SUhSb1pTQnRiM04wSUhKbFkyVnVkQ0JjY2x4dUlDQWdJQ0FnSUNBdkx5QWdJQ0FnSUNBZ1kzVnljMjl5SUhOMFpYQWdkMkZ6SUNwdWIzUXFJRzkwYUdWeVEzVnljMjl5SUdGa2RtRnVZMmx1WnlCbWNtOXRJR0VnZEdsbExpQlVhR1VnWlhoMGNtRWdZMjl1WkdsMGFXOXVJR0YyYjJsa2N5Qmxjbkp2Ym1WdmRYTWdUMjVzZVU5MGFHVnlJR05oYkd4eklGeHlYRzRnSUNBZ0lDQWdJQzh2SUNBZ0lDQWdJQ0IwYUdGMElIZHZkV3hrSUc5alkzVnlJR1IxWlNCMGJ5QnZkR2hsY2tOMWNuTnZjaUJpWldsdVp5QjBhR1VnWENKc1pXRmtaWEpjSWk1Y2NseHVJQ0FnSUNBZ0lDQXZMeUFnSUNBdElFOTBhR1Z5ZDJselpTd2dhV1lnWW05MGFDQmpkWEp6YjNKeklIQnZhVzUwSUhSdklHNXZaR1Z6TENCamIyMXdZWEpsSUhSb1pXMHVJRWxtSUhSb1pYa2dZWEpsSUdWeGRXRnNJR0o1SUhKbFptVnlaVzVqWlNBb2MyaGhjbVZrS1N3Z2MydHBjRnh5WEc0Z0lDQWdJQ0FnSUM4dklDQWdJQ0FnWW05MGFDQmpkWEp6YjNKeklIUnZJSFJvWlNCdVpYaDBJRzV2WkdVZ2FXNGdkR2hsSUhkaGJHc3VYSEpjYmlBZ0lDQWdJQ0FnTHk4Z0xTQlBibU5sSUc5dVpTQmpkWEp6YjNJZ2FHRnpJR1pwYm1semFHVmtJSE4wWlhCd2FXNW5MQ0JoYm5rZ2NtVnRZV2x1YVc1bklITjBaWEJ6SUNocFppQmhibmtwSUdGeVpTQjBZV3RsYmlCaGJtUWdhMlY1TDNaaGJIVmxJSEJoYVhKeklHRnlaU0JzYjJkblpXUmNjbHh1SUNBZ0lDQWdJQ0F2THlBZ0lHRnpJRTl1YkhsUGRHaGxjaUFvYVdZZ2IzUm9aWEpEZFhKemIzSWdhWE1nYzNSbGNIQnBibWNwSUc5eUlFOXViSGxVYUdseklDaHBaaUIwYUdselEzVnljMjl5SUdseklITjBaWEJ3YVc1bktTNWNjbHh1SUNBZ0lDQWdJQ0F2THlCVWFHbHpJR0ZzWjI5eWFYUm9iU0JuYVhabGN5QjBhR1VnWTNKcGRHbGpZV3dnWjNWaGNtRnVkR1ZsSUhSb1lYUWdZV3hzSUd4dlkyRjBhVzl1Y3lBb1ltOTBhQ0J1YjJSbGN5QmhibVFnYTJWNUwzWmhiSFZsSUhCaGFYSnpLU0JwYmlCaWIzUm9JSFJ5WldWeklIUm9ZWFFnWEhKY2JpQWdJQ0FnSUNBZ0x5OGdZWEpsSUdsa1pXNTBhV05oYkNCaWVTQjJZV3gxWlNBb1lXNWtJSEJ2YzNOcFlteDVJR0o1SUhKbFptVnlaVzVqWlNrZ2QybHNiQ0JpWlNCMmFYTnBkR1ZrSUNwaGRDQjBhR1VnYzJGdFpTQjBhVzFsS2lCaWVTQjBhR1VnWTNWeWMyOXljeTVjY2x4dUlDQWdJQ0FnSUNBdkx5QlVhR2x6SUhKbGJXOTJaWE1nZEdobElIQnZjM05wWW1sc2FYUjVJRzltSUdWdGFYUjBhVzVuSUdsdVkyOXljbVZqZENCa2FXWm1jeXdnWVhNZ2QyVnNiQ0JoY3lCaGJHeHZkMmx1WnlCbWIzSWdjMnRwY0hCcGJtY2djMmhoY21Wa0lHNXZaR1Z6TGx4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJmWTI5dGNHRnlaU0E5SUhSb2FYTXVYMk52YlhCaGNtVTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUm9hWE5EZFhKemIzSWdQU0JDVkhKbFpTNXRZV3RsUkdsbVprTjFjbk52Y2loMGFHbHpLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiM1JvWlhKRGRYSnpiM0lnUFNCQ1ZISmxaUzV0WVd0bFJHbG1aa04xY25OdmNpaHZkR2hsY2lrN1hISmNiaUFnSUNBZ0lDQWdMeThnU1hRZ1pHOWxjMjRuZENCdFlYUjBaWElnYUc5M0lIUm9hWE5UZEdWd2NHVmtUR0Z6ZENCcGN5QnBibWwwYVdGc2FYcGxaQzVjY2x4dUlDQWdJQ0FnSUNBdkx5QlRkR1Z3SUc5eVpHVnlJR2x6SUc5dWJIa2dkWE5sWkNCM2FHVnVJR1ZwZEdobGNpQmpkWEp6YjNJZ2FYTWdZWFFnWVNCc1pXRm1MQ0JoYm1RZ1kzVnljMjl5Y3lCaGJIZGhlWE1nYzNSaGNuUWdZWFFnWVNCdWIyUmxMbHh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjBhR2x6VTNWalkyVnpjeUE5SUhSeWRXVXNJRzkwYUdWeVUzVmpZMlZ6Y3lBOUlIUnlkV1VzSUhCeVpYWkRkWEp6YjNKUGNtUmxjaUE5SUVKVWNtVmxMbU52YlhCaGNtVW9kR2hwYzBOMWNuTnZjaXdnYjNSb1pYSkRkWEp6YjNJc0lGOWpiMjF3WVhKbEtUdGNjbHh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9kR2hwYzFOMVkyTmxjM01nSmlZZ2IzUm9aWEpUZFdOalpYTnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCamRYSnpiM0pQY21SbGNpQTlJRUpVY21WbExtTnZiWEJoY21Vb2RHaHBjME4xY25OdmNpd2diM1JvWlhKRGRYSnpiM0lzSUY5amIyMXdZWEpsS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIUm9hWE5NWldGbUlEMGdkR2hwYzBOMWNuTnZjaTVzWldGbUxDQjBhR2x6U1c1MFpYSnVZV3hUY0dsdVpTQTlJSFJvYVhORGRYSnpiM0l1YVc1MFpYSnVZV3hUY0dsdVpTd2dkR2hwYzB4bGRtVnNTVzVrYVdObGN5QTlJSFJvYVhORGRYSnpiM0l1YkdWMlpXeEpibVJwWTJWek8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdiM1JvWlhKTVpXRm1JRDBnYjNSb1pYSkRkWEp6YjNJdWJHVmhaaXdnYjNSb1pYSkpiblJsY201aGJGTndhVzVsSUQwZ2IzUm9aWEpEZFhKemIzSXVhVzUwWlhKdVlXeFRjR2x1WlN3Z2IzUm9aWEpNWlhabGJFbHVaR2xqWlhNZ1BTQnZkR2hsY2tOMWNuTnZjaTVzWlhabGJFbHVaR2xqWlhNN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6VEdWaFppQjhmQ0J2ZEdobGNreGxZV1lwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRWxtSUhSb1pTQmpkWEp6YjNKeklIZGxjbVVnWVhRZ2RHaGxJSE5oYldVZ2JHOWpZWFJwYjI0Z2JHRnpkQ0J6ZEdWd0xDQjBhR1Z1SUhSb1pYSmxJR2x6SUc1dklIZHZjbXNnZEc4Z1ltVWdaRzl1WlM1Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3Y21WMlEzVnljMjl5VDNKa1pYSWdJVDA5SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZM1Z5YzI5eVQzSmtaWElnUFQwOUlEQXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE5NWldGbUlDWW1JRzkwYUdWeVRHVmhaaUFtSmlCa2FXWm1aWEpsYm5RcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklFVnhkV0ZzSUd0bGVYTXNJR05vWldOcklHWnZjaUJ0YjJScFptbGpZWFJwYjI1elhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2RtRnNWR2hwY3lBOUlIUm9hWE5NWldGbUxuWmhiSFZsYzF0MGFHbHpUR1YyWld4SmJtUnBZMlZ6VzNSb2FYTk1aWFpsYkVsdVpHbGpaWE11YkdWdVozUm9JQzBnTVYxZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIWmhiRTkwYUdWeUlEMGdiM1JvWlhKTVpXRm1MblpoYkhWbGMxdHZkR2hsY2t4bGRtVnNTVzVrYVdObGMxdHZkR2hsY2t4bGRtVnNTVzVrYVdObGN5NXNaVzVuZEdnZ0xTQXhYVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVU5aWFtVmpkQzVwY3loMllXeFVhR2x6TENCMllXeFBkR2hsY2lrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnY21WemRXeDBJRDBnWkdsbVptVnlaVzUwS0hSb2FYTkRkWEp6YjNJdVkzVnljbVZ1ZEV0bGVTd2dkbUZzVkdocGN5d2dkbUZzVDNSb1pYSXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpYTjFiSFFnSmlZZ2NtVnpkV3gwTG1KeVpXRnJLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBMbUp5WldGck8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR04xY25OdmNrOXlaR1Z5SUQ0Z01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCSlppQjBhR2x6SUdseklIUm9aU0JqWVhObExDQjNaU0JyYm05M0lIUm9ZWFFnWldsMGFHVnlPbHh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlBeExpQnZkR2hsY2tOMWNuTnZjaUJ6ZEdWd2NHVmtJR3hoYzNRZ1puSnZiU0JoSUhOMFlYSjBhVzVuSUhCdmMybDBhVzl1SUhSb1lYUWdkSEpoYVd4bFpDQjBhR2x6UTNWeWMyOXlMQ0JoYm1RZ2FYTWdjM1JwYkd3Z1ltVm9hVzVrTENCdmNseHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUF5TGlCMGFHbHpRM1Z5YzI5eUlITjBaWEJ3WldRZ2JHRnpkQ0JoYm1RZ2JHVmhjR1p5YjJkblpXUWdiM1JvWlhKRGRYSnpiM0pjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1JXbDBhR1Z5SUc5bUlIUm9aWE5sSUdOaGMyVnpJR2x6SUdGdUlGd2liMjVzZVNCdmRHaGxjbHdpWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZkR2hsY2t4bFlXWWdKaVlnYjI1c2VVOTBhR1Z5S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2IzUm9aWEpXWVd3Z1BTQnZkR2hsY2t4bFlXWXVkbUZzZFdWelcyOTBhR1Z5VEdWMlpXeEpibVJwWTJWelcyOTBhR1Z5VEdWMlpXeEpibVJwWTJWekxteGxibWQwYUNBdElERmRYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0J2Ym14NVQzUm9aWElvYjNSb1pYSkRkWEp6YjNJdVkzVnljbVZ1ZEV0bGVTd2diM1JvWlhKV1lXd3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDQW1KaUJ5WlhOMWJIUXVZbkpsWVdzcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkQzVpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNodmJteDVWR2hwY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEdocGMweGxZV1lnSmlZZ2NISmxka04xY25OdmNrOXlaR1Z5SUNFOVBTQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnZG1Gc1ZHaHBjeUE5SUhSb2FYTk1aV0ZtTG5aaGJIVmxjMXQwYUdselRHVjJaV3hKYm1ScFkyVnpXM1JvYVhOTVpYWmxiRWx1WkdsalpYTXViR1Z1WjNSb0lDMGdNVjFkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUc5dWJIbFVhR2x6S0hSb2FYTkRkWEp6YjNJdVkzVnljbVZ1ZEV0bGVTd2dkbUZzVkdocGN5azdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MElDWW1JSEpsYzNWc2RDNWljbVZoYXlsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBMbUp5WldGck8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tDRjBhR2x6VEdWaFppQW1KaUFoYjNSb1pYSk1aV0ZtSUNZbUlHTjFjbk52Y2s5eVpHVnlJRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2JHRnpkRlJvYVhNZ1BTQjBhR2x6U1c1MFpYSnVZV3hUY0dsdVpTNXNaVzVuZEdnZ0xTQXhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHeGhjM1JQZEdobGNpQTlJRzkwYUdWeVNXNTBaWEp1WVd4VGNHbHVaUzVzWlc1bmRHZ2dMU0F4TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRzV2WkdWVWFHbHpJRDBnZEdocGMwbHVkR1Z5Ym1Gc1UzQnBibVZiYkdGemRGUm9hWE5kVzNSb2FYTk1aWFpsYkVsdVpHbGpaWE5iYkdGemRGUm9hWE5kWFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ1YjJSbFQzUm9aWElnUFNCdmRHaGxja2x1ZEdWeWJtRnNVM0JwYm1WYmJHRnpkRTkwYUdWeVhWdHZkR2hsY2t4bGRtVnNTVzVrYVdObGMxdHNZWE4wVDNSb1pYSmRYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHViMlJsVDNSb1pYSWdQVDA5SUc1dlpHVlVhR2x6S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKbGRrTjFjbk52Y2s5eVpHVnlJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdselUzVmpZMlZ6Y3lBOUlFSlVjbVZsTG5OMFpYQW9kR2hwYzBOMWNuTnZjaXdnZEhKMVpTazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IzUm9aWEpUZFdOalpYTnpJRDBnUWxSeVpXVXVjM1JsY0NodmRHaGxja04xY25OdmNpd2dkSEoxWlNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY0hKbGRrTjFjbk52Y2s5eVpHVnlJRDBnWTNWeWMyOXlUM0prWlhJN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpkWEp6YjNKUGNtUmxjaUE4SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhOVGRXTmpaWE56SUQwZ1FsUnlaV1V1YzNSbGNDaDBhR2x6UTNWeWMyOXlLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOTBhR1Z5VTNWalkyVnpjeUE5SUVKVWNtVmxMbk4wWlhBb2IzUm9aWEpEZFhKemIzSXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdselUzVmpZMlZ6Y3lBbUppQnZibXg1VkdocGN5bGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVKVWNtVmxMbVpwYm1semFFTjFjbk52Y2xkaGJHc29kR2hwYzBOMWNuTnZjaXdnYjNSb1pYSkRkWEp6YjNJc0lGOWpiMjF3WVhKbExDQnZibXg1VkdocGN5azdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHOTBhR1Z5VTNWalkyVnpjeUFtSmlCdmJteDVUM1JvWlhJcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJDVkhKbFpTNW1hVzVwYzJoRGRYSnpiM0pYWVd4cktHOTBhR1Z5UTNWeWMyOXlMQ0IwYUdselEzVnljMjl5TENCZlkyOXRjR0Z5WlN3Z2IyNXNlVTkwYUdWeUtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljY2x4dUlDQWdJQzh2SUVobGJIQmxjaUJ0WlhSb2IyUnpJR1p2Y2lCa2FXWm1RV2RoYVc1emRDQXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2TDF4eVhHNGdJQ0FnUWxSeVpXVXVabWx1YVhOb1EzVnljMjl5VjJGc2F5QTlJR1oxYm1OMGFXOXVJQ2hqZFhKemIzSXNJR04xY25OdmNrWnBibWx6YUdWa0xDQmpiMjF3WVhKbFMyVjVjeXdnWTJGc2JHSmhZMnNwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWTI5dGNHRnlaV1FnUFNCQ1ZISmxaUzVqYjIxd1lYSmxLR04xY25OdmNpd2dZM1Z5YzI5eVJtbHVhWE5vWldRc0lHTnZiWEJoY21WTFpYbHpLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9ZMjl0Y0dGeVpXUWdQVDA5SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZDVkhKbFpTNXpkR1Z3S0dOMWNuTnZjaWtwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hqYjIxd1lYSmxaQ0E4SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyaGxZMnNvWm1Gc2MyVXNJRndpWTNWeWMyOXlJSGRoYkdzZ2RHVnliV2x1WVhSbFpDQmxZWEpzZVZ3aUtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVKVWNtVmxMbk4wWlhCVWIwVnVaQ2hqZFhKemIzSXNJR05oYkd4aVlXTnJLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JDVkhKbFpTNXpkR1Z3Vkc5RmJtUWdQU0JtZFc1amRHbHZiaUFvWTNWeWMyOXlMQ0JqWVd4c1ltRmpheWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJqWVc1VGRHVndJRDBnZEhKMVpUdGNjbHh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9ZMkZ1VTNSbGNDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnYkdWaFppQTlJR04xY25OdmNpNXNaV0ZtTENCc1pYWmxiRWx1WkdsalpYTWdQU0JqZFhKemIzSXViR1YyWld4SmJtUnBZMlZ6TENCamRYSnlaVzUwUzJWNUlEMGdZM1Z5YzI5eUxtTjFjbkpsYm5STFpYazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hzWldGbUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2RtRnNkV1VnUFNCc1pXRm1MblpoYkhWbGMxdHNaWFpsYkVsdVpHbGpaWE5iYkdWMlpXeEpibVJwWTJWekxteGxibWQwYUNBdElERmRYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQmpZV3hzWW1GamF5aGpkWEp5Wlc1MFMyVjVMQ0IyWVd4MVpTazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwSUNZbUlISmxjM1ZzZEM1aWNtVmhheWxjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTG1KeVpXRnJPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhibE4wWlhBZ1BTQkNWSEpsWlM1emRHVndLR04xY25OdmNpazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ1FsUnlaV1V1YldGclpVUnBabVpEZFhKemIzSWdQU0JtZFc1amRHbHZiaUFvZEhKbFpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmZjbTl2ZENBOUlIUnlaV1V1WDNKdmIzUXNJR2hsYVdkb2RDQTlJSFJ5WldVdWFHVnBaMmgwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lHaGxhV2RvZERvZ2FHVnBaMmgwTENCcGJuUmxjbTVoYkZOd2FXNWxPaUJiVzE5eWIyOTBYVjBzSUd4bGRtVnNTVzVrYVdObGN6b2dXekJkTENCc1pXRm1PaUIxYm1SbFptbHVaV1FzSUdOMWNuSmxiblJMWlhrNklGOXliMjkwTG0xaGVFdGxlU2dwSUgwN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FYSEpjYmlBZ0lDQWdLaUJCWkhaaGJtTmxjeUIwYUdVZ1kzVnljMjl5SUhSdklIUm9aU0J1WlhoMElITjBaWEFnYVc0Z2RHaGxJSGRoYkdzZ2IyWWdhWFJ6SUhSeVpXVXVYSEpjYmlBZ0lDQWdLaUJEZFhKemIzSnpJR0Z5WlNCM1lXeHJaV1FnWW1GamEzZGhjbVJ6SUdsdUlITnZjblFnYjNKa1pYSXNJR0Z6SUhSb2FYTWdZV3hzYjNkeklIUm9aVzBnZEc4Z2JHVjJaWEpoWjJVZ2JXRjRTMlY1S0NrZ2FXNGdiM0prWlhJZ2RHOGdZbVVnWTI5dGNHRnlaV1FnYVc0Z1R5Z3hLUzVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JqZFhKemIzSWdWR2hsSUdOMWNuTnZjaUIwYnlCemRHVndYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdjM1JsY0ZSdlRtOWtaU0JKWmlCMGNuVmxMQ0IwYUdVZ1kzVnljMjl5SUhkcGJHd2dZbVVnWVdSMllXNWpaV1FnZEc4Z2RHaGxJRzVsZUhRZ2JtOWtaU0FvYzJ0cGNIQnBibWNnZG1Gc2RXVnpLVnh5WEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nZEhKMVpTQnBaaUIwYUdVZ2MzUmxjQ0IzWVhNZ1kyOXRjR3hsZEdWa0lHRnVaQ0JtWVd4elpTQnBaaUIwYUdVZ2MzUmxjQ0IzYjNWc1pDQm9ZWFpsSUdOaGRYTmxaQ0IwYUdVZ1kzVnljMjl5SUhSdklHMXZkbVVnWW1WNWIyNWtJSFJvWlNCbGJtUWdiMllnZEdobElIUnlaV1V1WEhKY2JpQWdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbk4wWlhBZ1BTQm1kVzVqZEdsdmJpQW9ZM1Z5YzI5eUxDQnpkR1Z3Vkc5T2IyUmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2x1ZEdWeWJtRnNVM0JwYm1VZ1BTQmpkWEp6YjNJdWFXNTBaWEp1WVd4VGNHbHVaU3dnYkdWMlpXeEpibVJwWTJWeklEMGdZM1Z5YzI5eUxteGxkbVZzU1c1a2FXTmxjeXdnYkdWaFppQTlJR04xY25OdmNpNXNaV0ZtTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h6ZEdWd1ZHOU9iMlJsSUQwOVBTQjBjblZsSUh4OElHeGxZV1lwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHeGxkbVZzYzB4bGJtZDBhQ0E5SUd4bGRtVnNTVzVrYVdObGN5NXNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGTjBaWEFnZEc4Z2RHaGxJRzVsZUhRZ2JtOWtaU0J2Ym14NUlHbG1PbHh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUF0SUZkbElHRnlaU0JsZUhCc2FXTnBkR3g1SUdScGNtVmpkR1ZrSUhSdklIWnBZU0J6ZEdWd1ZHOU9iMlJsTENCdmNseHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QXRJRlJvWlhKbElHRnlaU0J1YnlCclpYa3ZkbUZzZFdVZ2NHRnBjbk1nYkdWbWRDQjBieUJ6ZEdWd0lIUnZJR2x1SUhSb2FYTWdiR1ZoWmx4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MzUmxjRlJ2VG05a1pTQTlQVDBnZEhKMVpTQjhmQ0JzWlhabGJFbHVaR2xqWlhOYmJHVjJaV3h6VEdWdVozUm9JQzBnTVYwZ1BUMDlJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ6Y0dsdVpVeGxibWQwYUNBOUlHbHVkR1Z5Ym1Gc1UzQnBibVV1YkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1VtOXZkQ0JwY3lCc1pXRm1YSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MzQnBibVZNWlc1bmRHZ2dQVDA5SURBcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVjJGc2F5QmlZV05ySUhWd0lIUm9aU0IwY21WbElIVnVkR2xzSUhkbElHWnBibVFnWVNCdVpYY2djM1ZpZEhKbFpTQjBieUJrWlhOalpXNWtJR2x1ZEc5Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ1YjJSbFRHVjJaV3hKYm1SbGVDQTlJSE53YVc1bFRHVnVaM1JvSUMwZ01UdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCc1pYWmxiRWx1WkdWNFYyRnNhMEpoWTJzZ1BTQnViMlJsVEdWMlpXeEpibVJsZUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNoc1pYWmxiRWx1WkdWNFYyRnNhMEpoWTJzZ1BqMGdNQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoc1pYWmxiRWx1WkdsalpYTmJiR1YyWld4SmJtUmxlRmRoYkd0Q1lXTnJYU0ErSURBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d4bGRtVnNTVzVrWlhoWFlXeHJRbUZqYXlBOElHeGxkbVZzYzB4bGJtZDBhQ0F0SURFcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGSmxiVzkyWlNCc1pXRm1JSE4wWVhSbElHWnliMjBnWTNWeWMyOXlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamRYSnpiM0l1YkdWaFppQTlJSFZ1WkdWbWFXNWxaRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxkbVZzU1c1a2FXTmxjeTV3YjNBb0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCSlppQjNaU0IzWVd4clpXUWdkWEIzWVhKa2N5QndZWE4wSUdGdWVTQnBiblJsY201aGJDQnViMlJsTENCemJHbGpaU0IwYUdWdElHOTFkRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JHVjJaV3hKYm1SbGVGZGhiR3RDWVdOcklEd2dibTlrWlV4bGRtVnNTVzVrWlhncFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqZFhKemIzSXVhVzUwWlhKdVlXeFRjR2x1WlNBOUlHbHVkR1Z5Ym1Gc1UzQnBibVV1YzJ4cFkyVW9NQ3dnYkdWMlpXeEpibVJsZUZkaGJHdENZV05ySUNzZ01TazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUUxdmRtVWdkRzhnYm1WM0lHbHVkR1Z5Ym1Gc0lHNXZaR1ZjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTNWeWMyOXlMbU4xY25KbGJuUkxaWGtnUFNCcGJuUmxjbTVoYkZOd2FXNWxXMnhsZG1Wc1NXNWtaWGhYWVd4clFtRmphMTFiTFMxc1pYWmxiRWx1WkdsalpYTmJiR1YyWld4SmJtUmxlRmRoYkd0Q1lXTnJYVjB1YldGNFMyVjVLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWlhabGJFbHVaR1Y0VjJGc2EwSmhZMnN0TFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUVOMWNuTnZjaUJwY3lCcGJpQjBhR1VnWm1GeUlHeGxablFnYkdWaFppQnZaaUIwYUdVZ2RISmxaU3dnYm04Z2JXOXlaU0J1YjJSbGN5QjBieUJsYm5WdFpYSmhkR1ZjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklFMXZkbVVnZEc4Z2JtVjNJR3hsWVdZZ2RtRnNkV1ZjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQjJZV3gxWlVsdVpHVjRJRDBnTFMxc1pYWmxiRWx1WkdsalpYTmJiR1YyWld4elRHVnVaM1JvSUMwZ01WMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqZFhKemIzSXVZM1Z5Y21WdWRFdGxlU0E5SUd4bFlXWXVhMlY1YzF0MllXeDFaVWx1WkdWNFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2V5QXZMeUJEZFhKemIzSWdaRzlsY3lCdWIzUWdjRzlwYm5RZ2RHOGdZU0IyWVd4MVpTQnBiaUJoSUd4bFlXWXNJSE52SUcxdmRtVWdaRzkzYm5kaGNtUnpYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ1WlhoMFRHVjJaV3dnUFNCcGJuUmxjbTVoYkZOd2FXNWxMbXhsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR04xY25KbGJuUk1aWFpsYkNBOUlHNWxlSFJNWlhabGJDQXRJREU3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCdWIyUmxJRDBnYVc1MFpYSnVZV3hUY0dsdVpWdGpkWEp5Wlc1MFRHVjJaV3hkVzJ4bGRtVnNTVzVrYVdObGMxdGpkWEp5Wlc1MFRHVjJaV3hkWFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNXZaR1V1YVhOTVpXRm1LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QkZiblJsY21sdVp5QnBiblJ2SUdFZ2JHVmhaaTRnVTJWMElIUm9aU0JqZFhKemIzSWdkRzhnY0c5cGJuUWdZWFFnZEdobElHeGhjM1FnYTJWNUwzWmhiSFZsSUhCaGFYSXVYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqZFhKemIzSXViR1ZoWmlBOUlHNXZaR1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdkbUZzZFdWSmJtUmxlQ0E5SUd4bGRtVnNTVzVrYVdObGMxdHVaWGgwVEdWMlpXeGRJRDBnYm05a1pTNTJZV3gxWlhNdWJHVnVaM1JvSUMwZ01UdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR04xY25OdmNpNWpkWEp5Wlc1MFMyVjVJRDBnYm05a1pTNXJaWGx6VzNaaGJIVmxTVzVrWlhoZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHTm9hV3hrY21WdUlEMGdibTlrWlM1amFHbHNaSEpsYmp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHVkR1Z5Ym1Gc1UzQnBibVZiYm1WNGRFeGxkbVZzWFNBOUlHTm9hV3hrY21WdU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUdOb2FXeGtTVzVrWlhnZ1BTQmphR2xzWkhKbGJpNXNaVzVuZEdnZ0xTQXhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWMlpXeEpibVJwWTJWelcyNWxlSFJNWlhabGJGMGdQU0JqYUdsc1pFbHVaR1Y0TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzVnljMjl5TG1OMWNuSmxiblJMWlhrZ1BTQmphR2xzWkhKbGJsdGphR2xzWkVsdVpHVjRYUzV0WVhoTFpYa29LVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FYSEpjYmlBZ0lDQWdLaUJEYjIxd1lYSmxjeUIwYUdVZ2RIZHZJR04xY25OdmNuTXVJRkpsZEhWeWJuTWdZU0IyWVd4MVpTQnBibVJwWTJGMGFXNW5JSGRvYVdOb0lHTjFjbk52Y2lCcGN5QmhhR1ZoWkNCcGJpQmhJSGRoYkdzdVhISmNiaUFnSUNBZ0tpQk9iM1JsSUhSb1lYUWdZM1Z5YzI5eWN5QmhjbVVnWVdSMllXNWpaV1FnYVc0Z2NtVjJaWEp6WlNCemIzSjBhVzVuSUc5eVpHVnlMbHh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNWpiMjF3WVhKbElEMGdablZ1WTNScGIyNGdLR04xY25OdmNrRXNJR04xY25OdmNrSXNJR052YlhCaGNtVkxaWGx6S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdobGFXZG9kRUVnUFNCamRYSnpiM0pCTG1obGFXZG9kQ3dnWTNWeWNtVnVkRXRsZVVFZ1BTQmpkWEp6YjNKQkxtTjFjbkpsYm5STFpYa3NJR3hsZG1Wc1NXNWthV05sYzBFZ1BTQmpkWEp6YjNKQkxteGxkbVZzU1c1a2FXTmxjenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdhR1ZwWjJoMFFpQTlJR04xY25OdmNrSXVhR1ZwWjJoMExDQmpkWEp5Wlc1MFMyVjVRaUE5SUdOMWNuTnZja0l1WTNWeWNtVnVkRXRsZVN3Z2JHVjJaV3hKYm1ScFkyVnpRaUE5SUdOMWNuTnZja0l1YkdWMlpXeEpibVJwWTJWek8xeHlYRzRnSUNBZ0lDQWdJQzh2SUZKbGRtVnljMlVnZEdobElHTnZiWEJoY21semIyNGdiM0prWlhJc0lHRnpJR04xY25OdmNuTWdZWEpsSUdGa2RtRnVZMlZrSUdsdUlISmxkbVZ5YzJVZ2MyOXlkR2x1WnlCdmNtUmxjbHh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnJaWGxEYjIxd1lYSnBjMjl1SUQwZ1kyOXRjR0Z5WlV0bGVYTW9ZM1Z5Y21WdWRFdGxlVUlzSUdOMWNuSmxiblJMWlhsQktUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2EyVjVRMjl0Y0dGeWFYTnZiaUFoUFQwZ01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2EyVjVRMjl0Y0dGeWFYTnZianRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdMeThnVG05eWJXRnNhWHBsSUdSbGNIUm9JSFpoYkhWbGN5QnlaV3hoZEdsMlpTQjBieUIwYUdVZ2MyaHZjblJsYzNRZ2RISmxaUzVjY2x4dUlDQWdJQ0FnSUNBdkx5QlVhR2x6SUdWdWMzVnlaWE1nZEdoaGRDQmpiMjVqZFhKeVpXNTBJR04xY25OdmNpQjNZV3hyY3lCdlppQjBjbVZsY3lCdlppQmthV1ptWlhKcGJtY2dhR1ZwWjJoMGN5QmpZVzRnY21Wc2FXRmliSGtnYkdGdVpDQnZiaUJ6YUdGeVpXUWdibTlrWlhNZ1lYUWdkR2hsSUhOaGJXVWdkR2x0WlM1Y2NseHVJQ0FnSUNBZ0lDQXZMeUJVYnlCaFkyTnZiWEJzYVhOb0lIUm9hWE1zSUdFZ1kzVnljMjl5SUhSb1lYUWdhWE1nYjI0Z1lXNGdhVzUwWlhKdVlXd2dibTlrWlNCaGRDQmtaWEIwYUNCRU1TQjNhWFJvSUcxaGVFdGxlU0JZSUdseklHTnZibk5wWkdWeVpXUWdYQ0ppWldocGJtUmNJaUJoSUdOMWNuTnZjaUJ2YmlCaGJseHlYRzRnSUNBZ0lDQWdJQzh2SUdsdWRHVnlibUZzSUc1dlpHVWdZWFFnWkdWd2RHZ2dSRElnZDJsMGFDQnRZWGhMWlhrZ1dTd2dkMmhsYmlCRU1TQThJRVF5TGlCVWFIVnpMQ0JoYkhkaGVYTWdkMkZzYTJsdVp5QjBhR1VnWTNWeWMyOXlJSFJvWVhRZ2FYTWdYQ0ppWldocGJtUmNJaUIzYVd4c0lHRnNiRzkzSUhSb1pTQmpkWEp6YjNKY2NseHVJQ0FnSUNBZ0lDQXZMeUJoZENCemFHRnNiRzkzWlhJZ1pHVndkR2dnS0dKMWRDQmxjWFZoYkNCdFlYaExaWGtwSUhSdklGd2lZMkYwWTJnZ2RYQmNJaUJoYm1RZ2JHRnVaQ0J2YmlCemFHRnlaV1FnYm05a1pYTXVYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHaGxhV2RvZEUxcGJpQTlJR2hsYVdkb2RFRWdQQ0JvWldsbmFIUkNJRDhnYUdWcFoyaDBRU0E2SUdobGFXZG9kRUk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsY0hSb1FVNXZjbTFoYkdsNlpXUWdQU0JzWlhabGJFbHVaR2xqWlhOQkxteGxibWQwYUNBdElDaG9aV2xuYUhSQklDMGdhR1ZwWjJoMFRXbHVLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1Z3ZEdoQ1RtOXliV0ZzYVhwbFpDQTlJR3hsZG1Wc1NXNWthV05sYzBJdWJHVnVaM1JvSUMwZ0tHaGxhV2RvZEVJZ0xTQm9aV2xuYUhSTmFXNHBPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhCMGFFRk9iM0p0WVd4cGVtVmtJQzBnWkdWd2RHaENUbTl5YldGc2FYcGxaRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2THlCRmJtUWdiMllnYUdWc2NHVnlJRzFsZEdodlpITWdabTl5SUdScFptWkJaMkZwYm5OMElDOHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk5Y2NseHVJQ0FnSUM4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHlYRzRnSUNBZ0x5b3FJRkpsZEhWeWJuTWdZU0J1WlhjZ2FYUmxjbUYwYjNJZ1ptOXlJR2wwWlhKaGRHbHVaeUIwYUdVZ2EyVjVjeUJ2WmlCbFlXTm9JSEJoYVhJZ2FXNGdZWE5qWlc1a2FXNW5JRzl5WkdWeUxseHlYRzRnSUNBZ0lDb2dJRUJ3WVhKaGJTQm1hWEp6ZEV0bGVUb2dUV2x1YVcxMWJTQnJaWGtnZEc4Z2FXNWpiSFZrWlNCcGJpQjBhR1VnYjNWMGNIVjBMaUFxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbXRsZVhNZ1BTQm1kVzVqZEdsdmJpQW9abWx5YzNSTFpYa3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdhWFFnUFNCMGFHbHpMbVZ1ZEhKcFpYTW9abWx5YzNSTFpYa3NJRkpsZFhObFpFRnljbUY1S1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYUmxjbUYwYjNJb1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnYmlBOUlHbDBMbTVsZUhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzR1ZG1Gc2RXVXBYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1TG5aaGJIVmxJRDBnYmk1MllXeDFaVnN3WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzQ3WEhKY2JpQWdJQ0FnSUNBZ2ZTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xSUZKbGRIVnlibk1nWVNCdVpYY2dhWFJsY21GMGIzSWdabTl5SUdsMFpYSmhkR2x1WnlCMGFHVWdkbUZzZFdWeklHOW1JR1ZoWTJnZ2NHRnBjaUJwYmlCdmNtUmxjaUJpZVNCclpYa3VYSEpjYmlBZ0lDQWdLaUFnUUhCaGNtRnRJR1pwY25OMFMyVjVPaUJOYVc1cGJYVnRJR3RsZVNCM2FHOXpaU0JoYzNOdlkybGhkR1ZrSUhaaGJIVmxJR2x6SUdsdVkyeDFaR1ZrSUdsdUlIUm9aU0J2ZFhSd2RYUXVJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVkbUZzZFdWeklEMGdablZ1WTNScGIyNGdLR1pwY25OMFMyVjVLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2wwSUQwZ2RHaHBjeTVsYm5SeWFXVnpLR1pwY25OMFMyVjVMQ0JTWlhWelpXUkJjbkpoZVNrN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHbDBaWEpoZEc5eUtHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc0Z1BTQnBkQzV1WlhoMEtDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h1TG5aaGJIVmxLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYmk1MllXeDFaU0E5SUc0dWRtRnNkV1ZiTVYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1TzF4eVhHNGdJQ0FnSUNBZ0lIMHBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoQ1ZISmxaUzV3Y205MGIzUjVjR1VzSUZ3aWJXRjRUbTlrWlZOcGVtVmNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lDOHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2WEhKY2JpQWdJQ0FnSUNBZ0x5OGdRV1JrYVhScGIyNWhiQ0J0WlhSb2IyUnpJQzh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljY2x4dUlDQWdJQ0FnSUNBdktpb2dVbVYwZFhKdWN5QjBhR1VnYldGNGFXMTFiU0J1ZFcxaVpYSWdiMllnWTJocGJHUnlaVzR2ZG1Gc2RXVnpJR0psWm05eVpTQnViMlJsY3lCM2FXeHNJSE53YkdsMExpQXFMMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJXRjRUbTlrWlZOcGVtVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUJtWVd4elpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnTHlvcUlFZGxkSE1nZEdobElHeHZkMlZ6ZENCclpYa2dhVzRnZEdobElIUnlaV1V1SUVOdmJYQnNaWGhwZEhrNklFOG9iRzluSUhOcGVtVXBJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXViV2x1UzJWNUlEMGdablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnZEdocGN5NWZjbTl2ZEM1dGFXNUxaWGtvS1RzZ2ZUdGNjbHh1SUNBZ0lDOHFLaUJIWlhSeklIUm9aU0JvYVdkb1pYTjBJR3RsZVNCcGJpQjBhR1VnZEhKbFpTNGdRMjl0Y0d4bGVHbDBlVG9nVHlneEtTQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtMWhlRXRsZVNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNdVgzSnZiM1F1YldGNFMyVjVLQ2s3SUgwN1hISmNiaUFnSUNBdktpb2dVWFZwWTJ0c2VTQmpiRzl1WlhNZ2RHaGxJSFJ5WldVZ1lua2diV0Z5YTJsdVp5QjBhR1VnY205dmRDQnViMlJsSUdGeklITm9ZWEpsWkM1Y2NseHVJQ0FnSUNBcUlDQkNiM1JvSUdOdmNHbGxjeUJ5WlcxaGFXNGdaV1JwZEdGaWJHVXVJRmRvWlc0Z2VXOTFJRzF2WkdsbWVTQmxhWFJvWlhJZ1kyOXdlU3dnWVc1NVhISmNiaUFnSUNBZ0tpQWdibTlrWlhNZ2RHaGhkQ0JoY21VZ2MyaGhjbVZrSUNodmNpQndiM1JsYm5ScFlXeHNlU0J6YUdGeVpXUXBJR0psZEhkbFpXNGdkR2hsSUhSM2IxeHlYRzRnSUNBZ0lDb2dJR052Y0dsbGN5QmhjbVVnWTJ4dmJtVmtJSE52SUhSb1lYUWdkR2hsSUdOb1lXNW5aWE1nWkc4Z2JtOTBJR0ZtWm1WamRDQnZkR2hsY2lCamIzQnBaWE11WEhKY2JpQWdJQ0FnS2lBZ1ZHaHBjeUJwY3lCcmJtOTNiaUJoY3lCamIzQjVMVzl1TFhkeWFYUmxJR0psYUdGMmFXOXlMQ0J2Y2lCY0lteGhlbmtnWTI5d2VXbHVaMXdpTGlBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1Oc2IyNWxJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdVgzSnZiM1F1YVhOVGFHRnlaV1FnUFNCMGNuVmxPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQnVaWGNnUWxSeVpXVW9kVzVrWldacGJtVmtMQ0IwYUdsekxsOWpiMjF3WVhKbExDQjBhR2x6TGw5dFlYaE9iMlJsVTJsNlpTazdYSEpjYmlBZ0lDQWdJQ0FnY21WemRXeDBMbDl5YjI5MElEMGdkR2hwY3k1ZmNtOXZkRHRjY2x4dUlDQWdJQ0FnSUNCeVpYTjFiSFF1WDNOcGVtVWdQU0IwYUdsekxsOXphWHBsTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFE3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlGQmxjbVp2Y20xeklHRWdaM0psWldSNUlHTnNiMjVsTENCcGJXMWxaR2xoZEdWc2VTQmtkWEJzYVdOaGRHbHVaeUJoYm5rZ2JtOWtaWE1nZEdoaGRDQmhjbVZjY2x4dUlDQWdJQ0FxSUNCdWIzUWdZM1Z5Y21WdWRHeDVJRzFoY210bFpDQmhjeUJ6YUdGeVpXUXNJR2x1SUc5eVpHVnlJSFJ2SUdGMmIybGtJRzFoY210cGJtY2dZVzU1WEhKY2JpQWdJQ0FnS2lBZ1lXUmthWFJwYjI1aGJDQnViMlJsY3lCaGN5QnphR0Z5WldRdVhISmNiaUFnSUNBZ0tpQWdRSEJoY21GdElHWnZjbU5sSUVOc2IyNWxJR0ZzYkNCdWIyUmxjeXdnWlhabGJpQnphR0Z5WldRZ2IyNWxjeTVjY2x4dUlDQWdJQ0FxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbWR5WldWa2VVTnNiMjVsSUQwZ1puVnVZM1JwYjI0Z0tHWnZjbU5sS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUc1bGR5QkNWSEpsWlNoMWJtUmxabWx1WldRc0lIUm9hWE11WDJOdmJYQmhjbVVzSUhSb2FYTXVYMjFoZUU1dlpHVlRhWHBsS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWE4xYkhRdVgzSnZiM1FnUFNCMGFHbHpMbDl5YjI5MExtZHlaV1ZrZVVOc2IyNWxLR1p2Y21ObEtUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhOMWJIUXVYM05wZW1VZ1BTQjBhR2x6TGw5emFYcGxPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xSUVkbGRITWdZVzRnWVhKeVlYa2dabWxzYkdWa0lIZHBkR2dnZEdobElHTnZiblJsYm5SeklHOW1JSFJvWlNCMGNtVmxMQ0J6YjNKMFpXUWdZbmtnYTJWNUlDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWRHOUJjbkpoZVNBOUlHWjFibU4wYVc5dUlDaHRZWGhNWlc1bmRHZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9iV0Y0VEdWdVozUm9JRDA5UFNCMmIybGtJREFwSUhzZ2JXRjRUR1Z1WjNSb0lEMGdNSGczUmtaR1JrWkdSanNnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ0YVc0Z1BTQjBhR2x6TG0xcGJrdGxlU2dwTENCdFlYZ2dQU0IwYUdsekxtMWhlRXRsZVNncE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNodGFXNGdJVDA5SUhWdVpHVm1hVzVsWkNsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVoyVjBVbUZ1WjJVb2JXbHVMQ0J0WVhnc0lIUnlkV1VzSUcxaGVFeGxibWQwYUNrN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGdGRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzhxS2lCSFpYUnpJR0Z1SUdGeWNtRjVJRzltSUdGc2JDQnJaWGx6TENCemIzSjBaV1FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzVyWlhselFYSnlZWGtnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlISmxjM1ZzZEhNZ1BTQmJYVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbDl5YjI5MExtWnZjbEpoYm1kbEtIUm9hWE11YldsdVMyVjVLQ2tzSUhSb2FYTXViV0Y0UzJWNUtDa3NJSFJ5ZFdVc0lHWmhiSE5sTENCMGFHbHpMQ0F3TENCbWRXNWpkR2x2YmlBb2F5d2dkaWtnZXlCeVpYTjFiSFJ6TG5CMWMyZ29heWs3SUgwcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhSek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLaUJIWlhSeklHRnVJR0Z5Y21GNUlHOW1JR0ZzYkNCMllXeDFaWE1zSUhOdmNuUmxaQ0JpZVNCclpYa2dLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNTJZV3gxWlhOQmNuSmhlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVnpkV3gwY3lBOUlGdGRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYM0p2YjNRdVptOXlVbUZ1WjJVb2RHaHBjeTV0YVc1TFpYa29LU3dnZEdocGN5NXRZWGhMWlhrb0tTd2dkSEoxWlN3Z1ptRnNjMlVzSUhSb2FYTXNJREFzSUdaMWJtTjBhVzl1SUNockxDQjJLU0I3SUhKbGMzVnNkSE11Y0hWemFDaDJLVHNnZlNrN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZEhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRWRsZEhNZ1lTQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MGFXNW5JSFJvWlNCMGNtVmxKM01nWkdGMFlTQmlZWE5sWkNCdmJpQjBiMEZ5Y21GNUtDa3VJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5QmNuSmhlU2dwTG5SdlUzUnlhVzVuS0NrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRk4wYjNKbGN5QmhJR3RsZVMxMllXeDFaU0J3WVdseUlHOXViSGtnYVdZZ2RHaGxJR3RsZVNCa2IyVnpiaWQwSUdGc2NtVmhaSGtnWlhocGMzUWdhVzRnZEdobElIUnlaV1V1WEhKY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCMGNuVmxJR2xtSUdFZ2JtVjNJR3RsZVNCM1lYTWdZV1JrWldSY2NseHVJQ0FnSUNvdlhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1YzJWMFNXWk9iM1JRY21WelpXNTBJRDBnWm5WdVkzUnBiMjRnS0d0bGVTd2dkbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1elpYUW9hMlY1TENCMllXeDFaU3dnWm1Gc2MyVXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzhxS2lCU1pYUjFjbTV6SUhSb1pTQnVaWGgwSUhCaGFYSWdkMmh2YzJVZ2EyVjVJR2x6SUd4aGNtZGxjaUIwYUdGdUlIUm9aU0J6Y0dWamFXWnBaV1FnYTJWNUlDaHZjaUIxYm1SbFptbHVaV1FnYVdZZ2RHaGxjbVVnYVhNZ2JtOXVaU2t1WEhKY2JpQWdJQ0FnS2lCSlppQnJaWGtnUFQwOUlIVnVaR1ZtYVc1bFpDd2dkR2hwY3lCbWRXNWpkR2x2YmlCeVpYUjFjbTV6SUhSb1pTQnNiM2RsYzNRZ2NHRnBjaTVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JyWlhrZ1ZHaGxJR3RsZVNCMGJ5QnpaV0Z5WTJnZ1ptOXlMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJSEpsZFhObFpFRnljbUY1SUU5d2RHbHZibUZzSUdGeWNtRjVJSFZ6WldRZ2NtVndaV0YwWldSc2VTQjBieUJ6ZEc5eVpTQnJaWGt0ZG1Gc2RXVWdjR0ZwY25Nc0lIUnZYSEpjYmlBZ0lDQWdLaUJoZG05cFpDQmpjbVZoZEdsdVp5QmhJRzVsZHlCaGNuSmhlU0J2YmlCbGRtVnllU0JwZEdWeVlYUnBiMjR1WEhKY2JpQWdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzV1WlhoMFNHbG5hR1Z5VUdGcGNpQTlJR1oxYm1OMGFXOXVJQ2hyWlhrc0lISmxkWE5sWkVGeWNtRjVLU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjFjMlZrUVhKeVlYa2dQU0J5WlhWelpXUkJjbkpoZVNCOGZDQmJYVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9hMlY1SUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDNKdmIzUXViV2x1VUdGcGNpaHlaWFZ6WldSQmNuSmhlU2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5eWIyOTBMbWRsZEZCaGFYSlBjazVsZUhSSWFXZG9aWElvYTJWNUxDQjBhR2x6TGw5amIyMXdZWEpsTENCbVlXeHpaU3dnY21WMWMyVmtRWEp5WVhrcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLaUJTWlhSMWNtNXpJSFJvWlNCdVpYaDBJR3RsZVNCc1lYSm5aWElnZEdoaGJpQjBhR1VnYzNCbFkybG1hV1ZrSUd0bGVTd2diM0lnZFc1a1pXWnBibVZrSUdsbUlIUm9aWEpsSUdseklHNXZibVV1WEhKY2JpQWdJQ0FnS2lBZ1FXeHpieXdnYm1WNGRFaHBaMmhsY2t0bGVTaDFibVJsWm1sdVpXUXBJSEpsZEhWeWJuTWdkR2hsSUd4dmQyVnpkQ0JyWlhrdVhISmNiaUFnSUNBZ0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1dVpYaDBTR2xuYUdWeVMyVjVJRDBnWm5WdVkzUnBiMjRnS0d0bGVTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQndJRDBnZEdocGN5NXVaWGgwU0dsbmFHVnlVR0ZwY2loclpYa3NJRkpsZFhObFpFRnljbUY1S1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NDQW1KaUJ3V3pCZE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLaUJTWlhSMWNtNXpJSFJvWlNCdVpYaDBJSEJoYVhJZ2QyaHZjMlVnYTJWNUlHbHpJSE50WVd4c1pYSWdkR2hoYmlCMGFHVWdjM0JsWTJsbWFXVmtJR3RsZVNBb2IzSWdkVzVrWldacGJtVmtJR2xtSUhSb1pYSmxJR2x6SUc1dmJtVXBMbHh5WEc0Z0lDQWdJQ29nSUVsbUlHdGxlU0E5UFQwZ2RXNWtaV1pwYm1Wa0xDQjBhR2x6SUdaMWJtTjBhVzl1SUhKbGRIVnlibk1nZEdobElHaHBaMmhsYzNRZ2NHRnBjaTVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JyWlhrZ1ZHaGxJR3RsZVNCMGJ5QnpaV0Z5WTJnZ1ptOXlMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJSEpsZFhObFpFRnljbUY1SUU5d2RHbHZibUZzSUdGeWNtRjVJSFZ6WldRZ2NtVndaV0YwWldSc2VTQjBieUJ6ZEc5eVpTQnJaWGt0ZG1Gc2RXVWdjR0ZwY25Nc0lIUnZYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdZWFp2YVdRZ1kzSmxZWFJwYm1jZ1lTQnVaWGNnWVhKeVlYa2daV0ZqYUNCMGFXMWxJSGx2ZFNCallXeHNJSFJvYVhNZ2JXVjBhRzlrTGx4eVhHNGdJQ0FnSUNvdlhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1Ym1WNGRFeHZkMlZ5VUdGcGNpQTlJR1oxYm1OMGFXOXVJQ2hyWlhrc0lISmxkWE5sWkVGeWNtRjVLU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjFjMlZrUVhKeVlYa2dQU0J5WlhWelpXUkJjbkpoZVNCOGZDQmJYVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9hMlY1SUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDNKdmIzUXViV0Y0VUdGcGNpaHlaWFZ6WldSQmNuSmhlU2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5eWIyOTBMbWRsZEZCaGFYSlBjazVsZUhSTWIzZGxjaWhyWlhrc0lIUm9hWE11WDJOdmJYQmhjbVVzSUdaaGJITmxMQ0J5WlhWelpXUkJjbkpoZVNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRkpsZEhWeWJuTWdkR2hsSUc1bGVIUWdhMlY1SUhOdFlXeHNaWElnZEdoaGJpQjBhR1VnYzNCbFkybG1hV1ZrSUd0bGVTd2diM0lnZFc1a1pXWnBibVZrSUdsbUlIUm9aWEpsSUdseklHNXZibVV1WEhKY2JpQWdJQ0FnS2lBZ1FXeHpieXdnYm1WNGRFeHZkMlZ5UzJWNUtIVnVaR1ZtYVc1bFpDa2djbVYwZFhKdWN5QjBhR1VnYUdsbmFHVnpkQ0JyWlhrdVhISmNiaUFnSUNBZ0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1dVpYaDBURzkzWlhKTFpYa2dQU0JtZFc1amRHbHZiaUFvYTJWNUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIQWdQU0IwYUdsekxtNWxlSFJNYjNkbGNsQmhhWElvYTJWNUxDQlNaWFZ6WldSQmNuSmhlU2s3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhBZ0ppWWdjRnN3WFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdktpb2dVbVYwZFhKdWN5QjBhR1VnYTJWNUxYWmhiSFZsSUhCaGFYSWdZWE56YjJOcFlYUmxaQ0IzYVhSb0lIUm9aU0J6ZFhCd2JHbGxaQ0JyWlhrZ2FXWWdhWFFnWlhocGMzUnpYSEpjYmlBZ0lDQWdLaUFnYjNJZ2RHaGxJSEJoYVhJZ1lYTnpiMk5wWVhSbFpDQjNhWFJvSUhSb1pTQnVaWGgwSUd4dmQyVnlJSEJoYVhJZ2IzUm9aWEozYVhObExpQkpaaUIwYUdWeVpTQnBjeUJ1YjF4eVhHNGdJQ0FnSUNvZ0lHNWxlSFFnYkc5M1pYSWdjR0ZwY2l3Z2RXNWtaV1pwYm1Wa0lHbHpJSEpsZEhWeWJtVmtMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJR3RsZVNCVWFHVWdhMlY1SUhSdklITmxZWEpqYUNCbWIzSXVYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdjbVYxYzJWa1FYSnlZWGtnVDNCMGFXOXVZV3dnWVhKeVlYa2dkWE5sWkNCeVpYQmxZWFJsWkd4NUlIUnZJSE4wYjNKbElHdGxlUzEyWVd4MVpTQndZV2x5Y3l3Z2RHOWNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQmhkbTlwWkNCamNtVmhkR2x1WnlCaElHNWxkeUJoY25KaGVTQmxZV05vSUhScGJXVWdlVzkxSUdOaGJHd2dkR2hwY3lCdFpYUm9iMlF1WEhKY2JpQWdJQ0FnS2lBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1kbGRGQmhhWEpQY2s1bGVIUk1iM2RsY2lBOUlHWjFibU4wYVc5dUlDaHJaWGtzSUhKbGRYTmxaRUZ5Y21GNUtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzSnZiM1F1WjJWMFVHRnBjazl5VG1WNGRFeHZkMlZ5S0d0bGVTd2dkR2hwY3k1ZlkyOXRjR0Z5WlN3Z2RISjFaU3dnY21WMWMyVmtRWEp5WVhrZ2ZId2dXMTBwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtpQlNaWFIxY201eklIUm9aU0JyWlhrdGRtRnNkV1VnY0dGcGNpQmhjM052WTJsaGRHVmtJSGRwZEdnZ2RHaGxJSE4xY0hCc2FXVmtJR3RsZVNCcFppQnBkQ0JsZUdsemRITmNjbHh1SUNBZ0lDQXFJQ0J2Y2lCMGFHVWdjR0ZwY2lCaGMzTnZZMmxoZEdWa0lIZHBkR2dnZEdobElHNWxlSFFnYkc5M1pYSWdjR0ZwY2lCdmRHaGxjbmRwYzJVdUlFbG1JSFJvWlhKbElHbHpJRzV2WEhKY2JpQWdJQ0FnS2lBZ2JtVjRkQ0JzYjNkbGNpQndZV2x5TENCMWJtUmxabWx1WldRZ2FYTWdjbVYwZFhKdVpXUXVYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdhMlY1SUZSb1pTQnJaWGtnZEc4Z2MyVmhjbU5vSUdadmNpNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQnlaWFZ6WldSQmNuSmhlU0JQY0hScGIyNWhiQ0JoY25KaGVTQjFjMlZrSUhKbGNHVmhkR1ZrYkhrZ2RHOGdjM1J2Y21VZ2EyVjVMWFpoYkhWbElIQmhhWEp6TENCMGIxeHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lHRjJiMmxrSUdOeVpXRjBhVzVuSUdFZ2JtVjNJR0Z5Y21GNUlHVmhZMmdnZEdsdFpTQjViM1VnWTJGc2JDQjBhR2x6SUcxbGRHaHZaQzVjY2x4dUlDQWdJQ0FxSUNvdlhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1WjJWMFVHRnBjazl5VG1WNGRFaHBaMmhsY2lBOUlHWjFibU4wYVc5dUlDaHJaWGtzSUhKbGRYTmxaRUZ5Y21GNUtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzSnZiM1F1WjJWMFVHRnBjazl5VG1WNGRFaHBaMmhsY2loclpYa3NJSFJvYVhNdVgyTnZiWEJoY21Vc0lIUnlkV1VzSUhKbGRYTmxaRUZ5Y21GNUlIeDhJRnRkS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdktpb2dSV1JwZEhNZ2RHaGxJSFpoYkhWbElHRnpjMjlqYVdGMFpXUWdkMmwwYUNCaElHdGxlU0JwYmlCMGFHVWdkSEpsWlN3Z2FXWWdhWFFnWVd4eVpXRmtlU0JsZUdsemRITXVYSEpjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUIwY25WbElHbG1JSFJvWlNCclpYa2daWGhwYzNSbFpDd2dabUZzYzJVZ2FXWWdibTkwTGx4eVhHNGdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzVqYUdGdVoyVkpabEJ5WlhObGJuUWdQU0JtZFc1amRHbHZiaUFvYTJWNUxDQjJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1Wa2FYUlNZVzVuWlNoclpYa3NJR3RsZVN3Z2RISjFaU3dnWm5WdVkzUnBiMjRnS0dzc0lIWXBJSHNnY21WMGRYSnVJQ2g3SUhaaGJIVmxPaUIyWVd4MVpTQjlLVHNnZlNrZ0lUMDlJREE3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcVhISmNiaUFnSUNBZ0tpQkNkV2xzWkhNZ1lXNGdZWEp5WVhrZ2IyWWdjR0ZwY25NZ1puSnZiU0IwYUdVZ2MzQmxZMmxtYVdWa0lISmhibWRsSUc5bUlHdGxlWE1zSUhOdmNuUmxaQ0JpZVNCclpYa3VYSEpjYmlBZ0lDQWdLaUJGWVdOb0lISmxkSFZ5Ym1Wa0lIQmhhWElnYVhNZ1lXeHpieUJoYmlCaGNuSmhlVG9nY0dGcGNsc3dYU0JwY3lCMGFHVWdhMlY1TENCd1lXbHlXekZkSUdseklIUm9aU0IyWVd4MVpTNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQnNiM2NnVkdobElHWnBjbk4wSUd0bGVTQnBiaUIwYUdVZ1lYSnlZWGtnZDJsc2JDQmlaU0JuY21WaGRHVnlJSFJvWVc0Z2IzSWdaWEYxWVd3Z2RHOGdZR3h2ZDJBdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2FHbG5hQ0JVYUdseklHMWxkR2h2WkNCeVpYUjFjbTV6SUhkb1pXNGdZU0JyWlhrZ2JHRnlaMlZ5SUhSb1lXNGdkR2hwY3lCcGN5QnlaV0ZqYUdWa0xseHlYRzRnSUNBZ0lDb2dRSEJoY21GdElHbHVZMngxWkdWSWFXZG9JRWxtSUhSb1pTQmdhR2xuYUdBZ2EyVjVJR2x6SUhCeVpYTmxiblFzSUdsMGN5QndZV2x5SUhkcGJHd2dZbVVnYVc1amJIVmtaV1JjY2x4dUlDQWdJQ0FxSUNBZ0lDQWdJQ0JwYmlCMGFHVWdiM1YwY0hWMElHbG1JR0Z1WkNCdmJteDVJR2xtSUhSb2FYTWdjR0Z5WVcxbGRHVnlJR2x6SUhSeWRXVXVJRTV2ZEdVNklHbG1JSFJvWlZ4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUdCc2IzZGdJR3RsZVNCcGN5QndjbVZ6Wlc1MExDQnBkQ0JwY3lCaGJIZGhlWE1nYVc1amJIVmtaV1FnYVc0Z2RHaGxJRzkxZEhCMWRDNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQnRZWGhNWlc1bmRHZ2dUR1Z1WjNSb0lHeHBiV2wwTGlCblpYUlNZVzVuWlNCM2FXeHNJSE4wYjNBZ2MyTmhibTVwYm1jZ2RHaGxJSFJ5WldVZ2QyaGxibHh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdVZ1lYSnlZWGtnY21WaFkyaGxjeUIwYUdseklITnBlbVV1WEhKY2JpQWdJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdRMjl0Y0hWMFlYUnBiMjVoYkNCamIyMXdiR1Y0YVhSNU9pQlBLSEpsYzNWc2RDNXNaVzVuZEdnZ0t5QnNiMmNnYzJsNlpTbGNjbHh1SUNBZ0lDQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtZGxkRkpoYm1kbElEMGdablZ1WTNScGIyNGdLR3h2ZHl3Z2FHbG5hQ3dnYVc1amJIVmtaVWhwWjJnc0lHMWhlRXhsYm1kMGFDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHRZWGhNWlc1bmRHZ2dQVDA5SUhadmFXUWdNQ2tnZXlCdFlYaE1aVzVuZEdnZ1BTQXdlRE5HUmtaR1JrWTdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdjbVZ6ZFd4MGN5QTlJRnRkTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11WDNKdmIzUXVabTl5VW1GdVoyVW9iRzkzTENCb2FXZG9MQ0JwYm1Oc2RXUmxTR2xuYUN3Z1ptRnNjMlVzSUhSb2FYTXNJREFzSUdaMWJtTjBhVzl1SUNockxDQjJLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RITXVjSFZ6YUNoYmF5d2dkbDBwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4MGN5NXNaVzVuZEdnZ1BpQnRZWGhNWlc1bmRHZ2dQeUJDY21WaGF5QTZJSFZ1WkdWbWFXNWxaRHRjY2x4dUlDQWdJQ0FnSUNCOUtUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4MGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZLaW9nUVdSa2N5QmhiR3dnY0dGcGNuTWdabkp2YlNCaElHeHBjM1FnYjJZZ2EyVjVMWFpoYkhWbElIQmhhWEp6TGx4eVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUhCaGFYSnpJRkJoYVhKeklIUnZJR0ZrWkNCMGJ5QjBhR2x6SUhSeVpXVXVJRWxtSUhSb1pYSmxJR0Z5WlNCa2RYQnNhV05oZEdVZ2EyVjVjeXhjY2x4dUlDQWdJQ0FxSUNBZ0lDQWdJQ0JzWVhSbGNpQndZV2x5Y3lCamRYSnlaVzUwYkhrZ2IzWmxjbmR5YVhSbElHVmhjbXhwWlhJZ2IyNWxjeUFvWlM1bkxpQmJXekFzTVYwc1d6QXNOMTFkWEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnWVhOemIyTnBZWFJsY3lBd0lIZHBkR2dnTnk0cFhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2IzWmxjbmR5YVhSbElGZG9aWFJvWlhJZ2RHOGdiM1psY25keWFYUmxJSEJoYVhKeklIUm9ZWFFnWVd4eVpXRmtlU0JsZUdsemRDQW9hV1lnWm1Gc2MyVXNYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdjR0ZwY25OYmFWMGdhWE1nYVdkdWIzSmxaQ0IzYUdWdUlIUm9aU0JyWlhrZ2NHRnBjbk5iYVYxYk1GMGdZV3h5WldGa2VTQmxlR2x6ZEhNdUtWeHlYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdWR2hsSUc1MWJXSmxjaUJ2WmlCd1lXbHljeUJoWkdSbFpDQjBieUIwYUdVZ1kyOXNiR1ZqZEdsdmJpNWNjbHh1SUNBZ0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCRGIyMXdkWFJoZEdsdmJtRnNJR052YlhCc1pYaHBkSGs2SUU4b2NHRnBjbk11YkdWdVozUm9JQ29nYkc5bktITnBlbVVnS3lCd1lXbHljeTVzWlc1bmRHZ3BLVnh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVjMlYwVUdGcGNuTWdQU0JtZFc1amRHbHZiaUFvY0dGcGNuTXNJRzkyWlhKM2NtbDBaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoWkdSbFpDQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQndZV2x5Y3k1c1pXNW5kR2c3SUdrckt5bGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWMyVjBLSEJoYVhKelcybGRXekJkTENCd1lXbHljMXRwWFZzeFhTd2diM1psY25keWFYUmxLU2xjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdGa1pHVmtLeXM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdGa1pHVmtPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzhxS2x4eVhHNGdJQ0FnSUNvZ1UyTmhibk1nZEdobElITndaV05wWm1sbFpDQnlZVzVuWlNCdlppQnJaWGx6TENCcGJpQmhjMk5sYm1ScGJtY2diM0prWlhJZ1lua2dhMlY1TGx4eVhHNGdJQ0FnSUNvZ1RtOTBaVG9nZEdobElHTmhiR3hpWVdOcklHQnZia1p2ZFc1a1lDQnRkWE4wSUc1dmRDQnBibk5sY25RZ2IzSWdjbVZ0YjNabElHbDBaVzF6SUdsdUlIUm9aVnh5WEc0Z0lDQWdJQ29nWTI5c2JHVmpkR2x2Ymk0Z1JHOXBibWNnYzI4Z2JXRjVJR05oZFhObElHbHVZMjl5Y21WamRDQmtZWFJoSUhSdklHSmxJSE5sYm5RZ2RHOGdkR2hsWEhKY2JpQWdJQ0FnS2lCallXeHNZbUZqYXlCaFpuUmxjbmRoY21RdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2JHOTNJRlJvWlNCbWFYSnpkQ0JyWlhrZ2MyTmhibTVsWkNCM2FXeHNJR0psSUdkeVpXRjBaWElnZEdoaGJpQnZjaUJsY1hWaGJDQjBieUJnYkc5M1lDNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQm9hV2RvSUZOallXNXVhVzVuSUhOMGIzQnpJSGRvWlc0Z1lTQnJaWGtnYkdGeVoyVnlJSFJvWVc0Z2RHaHBjeUJwY3lCeVpXRmphR1ZrTGx4eVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUdsdVkyeDFaR1ZJYVdkb0lFbG1JSFJvWlNCZ2FHbG5hR0FnYTJWNUlHbHpJSEJ5WlhObGJuUXNJR0J2YmtadmRXNWtZQ0JwY3lCallXeHNaV1FnWm05eVhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ2RHaGhkQ0JtYVc1aGJDQndZV2x5SUdsbUlHRnVaQ0J2Ym14NUlHbG1JSFJvYVhNZ2NHRnlZVzFsZEdWeUlHbHpJSFJ5ZFdVdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2IyNUdiM1Z1WkNCQklHWjFibU4wYVc5dUlIUm9ZWFFnYVhNZ1kyRnNiR1ZrSUdadmNpQmxZV05vSUd0bGVTMTJZV3gxWlNCd1lXbHlMaUJVYUdselhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ1puVnVZM1JwYjI0Z1kyRnVJSEpsZEhWeWJpQjdZbkpsWVdzNlVuMGdkRzhnYzNSdmNDQmxZWEpzZVNCM2FYUm9JSEpsYzNWc2RDQlNMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJR2x1YVhScFlXeERiM1Z1ZEdWeUlFbHVhWFJwWVd3Z2RHaHBjbVFnWVhKbmRXMWxiblFnYjJZZ2IyNUdiM1Z1WkM0Z1ZHaHBjeUIyWVd4MVpWeHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lHbHVZM0psWVhObGN5QmllU0J2Ym1VZ1pXRmphQ0IwYVcxbElHQnZia1p2ZFc1a1lDQnBjeUJqWVd4c1pXUXVJRVJsWm1GMWJIUTZJREJjY2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUZSb1pTQnVkVzFpWlhJZ2IyWWdkbUZzZFdWeklHWnZkVzVrTENCdmNpQlNJR2xtSUhSb1pTQmpZV3hzWW1GamF5QnlaWFIxY201bFpGeHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lHQjdZbkpsWVdzNlVuMWdJSFJ2SUhOMGIzQWdaV0Z5YkhrdVhISmNiaUFnSUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTI5dGNIVjBZWFJwYjI1aGJDQmpiMjF3YkdWNGFYUjVPaUJQS0c1MWJXSmxjaUJ2WmlCcGRHVnRjeUJ6WTJGdWJtVmtJQ3NnYkc5bklITnBlbVVwWEhKY2JpQWdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzVtYjNKU1lXNW5aU0E5SUdaMWJtTjBhVzl1SUNoc2IzY3NJR2hwWjJnc0lHbHVZMngxWkdWSWFXZG9MQ0J2YmtadmRXNWtMQ0JwYm1sMGFXRnNRMjkxYm5SbGNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NWZjbTl2ZEM1bWIzSlNZVzVuWlNoc2IzY3NJR2hwWjJnc0lHbHVZMngxWkdWSWFXZG9MQ0JtWVd4elpTd2dkR2hwY3l3Z2FXNXBkR2xoYkVOdmRXNTBaWElnZkh3Z01Dd2diMjVHYjNWdVpDazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQnlJRDA5UFNCY0ltNTFiV0psY2x3aUlEOGdjaUE2SUhJdVluSmxZV3M3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcVhISmNiaUFnSUNBZ0tpQlRZMkZ1Y3lCaGJtUWdjRzkwWlc1MGFXRnNiSGtnYlc5a2FXWnBaWE1nZG1Gc2RXVnpJR1p2Y2lCaElITjFZbk5sY1hWbGJtTmxJRzltSUd0bGVYTXVYSEpjYmlBZ0lDQWdLaUJPYjNSbE9pQjBhR1VnWTJGc2JHSmhZMnNnWUc5dVJtOTFibVJnSUhOb2IzVnNaQ0JwWkdWaGJHeDVJR0psSUdFZ2NIVnlaU0JtZFc1amRHbHZiaTVjY2x4dUlDQWdJQ0FxSUNBZ1UzQmxZMlpwWTJGc2JIa3NJR2wwSUcxMWMzUWdibTkwSUdsdWMyVnlkQ0JwZEdWdGN5d2dZMkZzYkNCamJHOXVaU2dwTENCdmNpQmphR0Z1WjJWY2NseHVJQ0FnSUNBcUlDQWdkR2hsSUdOdmJHeGxZM1JwYjI0Z1pYaGpaWEIwSUhacFlTQnlaWFIxY200Z2RtRnNkV1U3SUc5MWRDMXZaaTFpWVc1a0lHVmthWFJwYm1jZ2JXRjVYSEpjYmlBZ0lDQWdLaUFnSUdOaGRYTmxJR0Z1SUdWNFkyVndkR2x2YmlCdmNpQnRZWGtnWTJGMWMyVWdhVzVqYjNKeVpXTjBJR1JoZEdFZ2RHOGdZbVVnYzJWdWRDQjBiMXh5WEc0Z0lDQWdJQ29nSUNCMGFHVWdZMkZzYkdKaFkyc2dLR1IxY0d4cFkyRjBaU0J2Y2lCdGFYTnpaV1FnYVhSbGJYTXBMaUJKZENCdGRYTjBJRzV2ZENCallYVnpaU0JoWEhKY2JpQWdJQ0FnS2lBZ0lHTnNiMjVsS0NrZ2IyWWdkR2hsSUdOdmJHeGxZM1JwYjI0c0lHOTBhR1Z5ZDJselpTQjBhR1VnWTJ4dmJtVWdZMjkxYkdRZ1ltVWdiVzlrYVdacFpXUmNjbHh1SUNBZ0lDQXFJQ0FnWW5rZ1kyaGhibWRsY3lCeVpYRjFaWE4wWldRZ1lua2dkR2hsSUdOaGJHeGlZV05yTGx4eVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUd4dmR5QlVhR1VnWm1seWMzUWdhMlY1SUhOallXNXVaV1FnZDJsc2JDQmlaU0JuY21WaGRHVnlJSFJvWVc0Z2IzSWdaWEYxWVd3Z2RHOGdZR3h2ZDJBdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2FHbG5hQ0JUWTJGdWJtbHVaeUJ6ZEc5d2N5QjNhR1Z1SUdFZ2EyVjVJR3hoY21kbGNpQjBhR0Z1SUhSb2FYTWdhWE1nY21WaFkyaGxaQzVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JwYm1Oc2RXUmxTR2xuYUNCSlppQjBhR1VnWUdocFoyaGdJR3RsZVNCcGN5QndjbVZ6Wlc1MExDQmdiMjVHYjNWdVpHQWdhWE1nWTJGc2JHVmtJR1p2Y2x4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUhSb1lYUWdabWx1WVd3Z2NHRnBjaUJwWmlCaGJtUWdiMjVzZVNCcFppQjBhR2x6SUhCaGNtRnRaWFJsY2lCcGN5QjBjblZsTGx4eVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUc5dVJtOTFibVFnUVNCbWRXNWpkR2x2YmlCMGFHRjBJR2x6SUdOaGJHeGxaQ0JtYjNJZ1pXRmphQ0JyWlhrdGRtRnNkV1VnY0dGcGNpNGdWR2hwYzF4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUdaMWJtTjBhVzl1SUdOaGJpQnlaWFIxY200Z1lIdDJZV3gxWlRwMmZXQWdkRzhnWTJoaGJtZGxJSFJvWlNCMllXeDFaU0JoYzNOdlkybGhkR1ZrWEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnZDJsMGFDQjBhR1VnWTNWeWNtVnVkQ0JyWlhrc0lHQjdaR1ZzWlhSbE9uUnlkV1Y5WUNCMGJ5QmtaV3hsZEdVZ2RHaGxJR04xY25KbGJuUWdjR0ZwY2l4Y2NseHVJQ0FnSUNBcUlDQWdJQ0FnSUNCZ2UySnlaV0ZyT2xKOVlDQjBieUJ6ZEc5d0lHVmhjbXg1SUhkcGRHZ2djbVZ6ZFd4MElGSXNJRzl5SUdsMElHTmhiaUJ5WlhSMWNtNGdibTkwYUdsdVoxeHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lDaDFibVJsWm1sdVpXUWdiM0lnZTMwcElIUnZJR05oZFhObElHNXZJR1ZtWm1WamRDQmhibVFnWTI5dWRHbHVkV1VnYVhSbGNtRjBhVzVuTGx4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUdCN1luSmxZV3M2VW4xZ0lHTmhiaUJpWlNCamIyMWlhVzVsWkNCM2FYUm9JRzl1WlNCdlppQjBhR1VnYjNSb1pYSWdkSGR2SUdOdmJXMWhibVJ6TGx4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUZSb1pTQjBhR2x5WkNCaGNtZDFiV1Z1ZENCZ1kyOTFiblJsY21BZ2FYTWdkR2hsSUc1MWJXSmxjaUJ2WmlCcGRHVnRjeUJwZEdWeVlYUmxaRnh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJSEJ5WlhacGIzVnpiSGs3SUdsMElHVnhkV0ZzY3lBd0lIZG9aVzRnWUc5dVJtOTFibVJnSUdseklHTmhiR3hsWkNCMGFHVWdabWx5YzNRZ2RHbHRaUzVjY2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUZSb1pTQnVkVzFpWlhJZ2IyWWdkbUZzZFdWeklITmpZVzV1WldRc0lHOXlJRklnYVdZZ2RHaGxJR05oYkd4aVlXTnJJSEpsZEhWeWJtVmtYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdZSHRpY21WaGF6cFNmV0FnZEc4Z2MzUnZjQ0JsWVhKc2VTNWNjbHh1SUNBZ0lDQXFJRUJrWlhOamNtbHdkR2x2Ymx4eVhHNGdJQ0FnSUNvZ0lDQkRiMjF3ZFhSaGRHbHZibUZzSUdOdmJYQnNaWGhwZEhrNklFOG9iblZ0WW1WeUlHOW1JR2wwWlcxeklITmpZVzV1WldRZ0t5QnNiMmNnYzJsNlpTbGNjbHh1SUNBZ0lDQXFJQ0FnVG05MFpUb2dhV1lnZEdobElIUnlaV1VnYUdGeklHSmxaVzRnWTJ4dmJtVmtJSGRwZEdnZ1kyeHZibVVvS1N3Z1lXNTVJSE5vWVhKbFpGeHlYRzRnSUNBZ0lDb2dJQ0J1YjJSbGN5QmhjbVVnWTI5d2FXVmtJR0psWm05eVpTQmdiMjVHYjNWdVpHQWdhWE1nWTJGc2JHVmtMaUJVYUdseklIUmhhMlZ6SUU4b2Jpa2dkR2x0WlZ4eVhHNGdJQ0FnSUNvZ0lDQjNhR1Z5WlNCdUlHbHpJSEJ5YjNCdmNuUnBiMjVoYkNCMGJ5QjBhR1VnWVcxdmRXNTBJRzltSUhOb1lYSmxaQ0JrWVhSaElITmpZVzV1WldRdVhISmNiaUFnSUNBZ0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1bFpHbDBVbUZ1WjJVZ1BTQm1kVzVqZEdsdmJpQW9iRzkzTENCb2FXZG9MQ0JwYm1Oc2RXUmxTR2xuYUN3Z2IyNUdiM1Z1WkN3Z2FXNXBkR2xoYkVOdmRXNTBaWElwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnY205dmRDQTlJSFJvYVhNdVgzSnZiM1E3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSEp2YjNRdWFYTlRhR0Z5WldRcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVYM0p2YjNRZ1BTQnliMjkwSUQwZ2NtOXZkQzVqYkc5dVpTZ3BPMXh5WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ5SUQwZ2NtOXZkQzVtYjNKU1lXNW5aU2hzYjNjc0lHaHBaMmdzSUdsdVkyeDFaR1ZJYVdkb0xDQjBjblZsTENCMGFHbHpMQ0JwYm1sMGFXRnNRMjkxYm5SbGNpQjhmQ0F3TENCdmJrWnZkVzVrS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQnlJRDA5UFNCY0ltNTFiV0psY2x3aUlEOGdjaUE2SUhJdVluSmxZV3M3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1pwYm1Gc2JIa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnYVhOVGFHRnlaV1FnUFNCMmIybGtJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGRvYVd4bElDaHliMjkwTG10bGVYTXViR1Z1WjNSb0lEdzlJREVnSmlZZ0lYSnZiM1F1YVhOTVpXRm1LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGMxTm9ZWEpsWkNCOGZDQW9hWE5UYUdGeVpXUWdQU0J5YjI5MExtbHpVMmhoY21Wa0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVgzSnZiM1FnUFNCeWIyOTBJRDBnY205dmRDNXJaWGx6TG14bGJtZDBhQ0E5UFQwZ01DQS9JRVZ0Y0hSNVRHVmhaaUE2WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbTl2ZEM1amFHbHNaSEpsYmxzd1hUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QkpaaUJoYm5rZ1lXNWpaWE4wYjNJZ2IyWWdkR2hsSUc1bGR5QnliMjkwSUhkaGN5QnphR0Z5WldRc0lIUm9aU0J1WlhjZ2NtOXZkQ0J0ZFhOMElHRnNjMjhnWW1VZ2MyaGhjbVZrWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGMxTm9ZWEpsWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbTl2ZEM1cGMxTm9ZWEpsWkNBOUlIUnlkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRk5oYldVZ1lYTWdZR1ZrYVhSU1lXNW5aV0FnWlhoalpYQjBJSFJvWVhRZ2RHaGxJR05oYkd4aVlXTnJJR2x6SUdOaGJHeGxaQ0JtYjNJZ1lXeHNJSEJoYVhKekxpQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtVmthWFJCYkd3Z1BTQm1kVzVqZEdsdmJpQW9iMjVHYjNWdVpDd2dhVzVwZEdsaGJFTnZkVzUwWlhJcElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bFpHbDBVbUZ1WjJVb2RHaHBjeTV0YVc1TFpYa29LU3dnZEdocGN5NXRZWGhMWlhrb0tTd2dkSEoxWlN3Z2IyNUdiM1Z1WkN3Z2FXNXBkR2xoYkVOdmRXNTBaWElwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtseHlYRzRnSUNBZ0lDb2dVbVZ0YjNabGN5QmhJSEpoYm1kbElHOW1JR3RsZVMxMllXeDFaU0J3WVdseWN5Qm1jbTl0SUhSb1pTQkNLeUIwY21WbExseHlYRzRnSUNBZ0lDb2dRSEJoY21GdElHeHZkeUJVYUdVZ1ptbHljM1FnYTJWNUlITmpZVzV1WldRZ2QybHNiQ0JpWlNCbmNtVmhkR1Z5SUhSb1lXNGdiM0lnWlhGMVlXd2dkRzhnWUd4dmQyQXVYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdhR2xuYUNCVFkyRnVibWx1WnlCemRHOXdjeUIzYUdWdUlHRWdhMlY1SUd4aGNtZGxjaUIwYUdGdUlIUm9hWE1nYVhNZ2NtVmhZMmhsWkM1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCcGJtTnNkV1JsU0dsbmFDQlRjR1ZqYVdacFpYTWdkMmhsZEdobGNpQjBhR1VnWUdocFoyaGdJR3RsZVN3Z2FXWWdjSEpsYzJWdWRDd2dhWE1nWkdWc1pYUmxaQzVjY2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUZSb1pTQnVkVzFpWlhJZ2IyWWdhMlY1TFhaaGJIVmxJSEJoYVhKeklIUm9ZWFFnZDJWeVpTQmtaV3hsZEdWa0xseHlYRzRnSUNBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVOdmJYQjFkR0YwYVc5dVlXd2dZMjl0Y0d4bGVHbDBlVG9nVHloc2IyY2djMmw2WlNBcklHNTFiV0psY2lCdlppQnBkR1Z0Y3lCa1pXeGxkR1ZrS1Z4eVhHNGdJQ0FnSUNvdlhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1WkdWc1pYUmxVbUZ1WjJVZ1BTQm1kVzVqZEdsdmJpQW9iRzkzTENCb2FXZG9MQ0JwYm1Oc2RXUmxTR2xuYUNrZ2UxeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1Wa2FYUlNZVzVuWlNoc2IzY3NJR2hwWjJnc0lHbHVZMngxWkdWSWFXZG9MQ0JFWld4bGRHVlNZVzVuWlNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRVJsYkdWMFpYTWdZU0J6WlhKcFpYTWdiMllnYTJWNWN5Qm1jbTl0SUhSb1pTQmpiMnhzWldOMGFXOXVMaUFxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbVJsYkdWMFpVdGxlWE1nUFNCbWRXNWpkR2x2YmlBb2EyVjVjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCeUlEMGdNRHNnYVNBOElHdGxlWE11YkdWdVozUm9PeUJwS3lzcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1SbGJHVjBaU2hyWlhselcybGRLU2xjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhJckt6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjanRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1FsUnlaV1V1Y0hKdmRHOTBlWEJsTENCY0ltaGxhV2RvZEZ3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnTHlvcUlFZGxkSE1nZEdobElHaGxhV2RvZENCdlppQjBhR1VnZEhKbFpUb2dkR2hsSUc1MWJXSmxjaUJ2WmlCcGJuUmxjbTVoYkNCdWIyUmxjeUJpWlhSM1pXVnVJSFJvWlZ4eVhHNGdJQ0FnSUNBZ0lDQXFJQ0JDVkhKbFpTQnZZbXBsWTNRZ1lXNWtJR2wwY3lCc1pXRm1JRzV2WkdWeklDaDZaWEp2SUdsbUlIUm9aWEpsSUdGeVpTQnVieUJwYm5SbGNtNWhiQ0J1YjJSbGN5a3VJQ292WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnViMlJsSUQwZ2RHaHBjeTVmY205dmREdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR2hsYVdkb2RDQTlJQzB4TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9ibTlrWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhR1ZwWjJoMEt5czdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YjJSbElEMGdibTlrWlM1cGMweGxZV1lnUHlCMWJtUmxabWx1WldRZ09pQnViMlJsTG1Ob2FXeGtjbVZ1V3pCZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJvWldsbmFIUTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUJtWVd4elpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnTHlvcUlFMWhhMlZ6SUhSb1pTQnZZbXBsWTNRZ2NtVmhaQzF2Ym14NUlIUnZJR1Z1YzNWeVpTQnBkQ0JwY3lCdWIzUWdZV05qYVdSbGJuUmhiR3g1SUcxdlpHbG1hV1ZrTGx4eVhHNGdJQ0FnSUNvZ0lFWnlaV1Y2YVc1bklHUnZaWE1nYm05MElHaGhkbVVnZEc4Z1ltVWdjR1Z5YldGdVpXNTBPeUIxYm1aeVpXVjZaU2dwSUhKbGRtVnljMlZ6SUhSb1pTQmxabVpsWTNRdVhISmNiaUFnSUNBZ0tpQWdWR2hwY3lCcGN5QmhZMk52YlhCc2FYTm9aV1FnWW5rZ2NtVndiR0ZqYVc1bklHMTFkR0YwYjNJZ1puVnVZM1JwYjI1eklIZHBkR2dnWVNCbWRXNWpkR2x2Ymx4eVhHNGdJQ0FnSUNvZ0lIUm9ZWFFnZEdoeWIzZHpJR0Z1SUVWeWNtOXlMaUJEYjIxd1lYSmxaQ0IwYnlCMWMybHVaeUJoSUhCeWIzQmxjblI1SUNobExtY3VJSFJvYVhNdWFYTkdjbTk2Wlc0cFhISmNiaUFnSUNBZ0tpQWdkR2hwY3lCcGJYQnNaVzFsYm5SaGRHbHZiaUJuYVhabGN5QmlaWFIwWlhJZ2NHVnlabTl5YldGdVkyVWdhVzRnYm05dUxXWnliM3BsYmlCQ1ZISmxaWE11WEhKY2JpQWdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzVtY21WbGVtVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lDOHZJRTV2ZEdVNklHRnNiQ0J2ZEdobGNpQnRkWFJoZEc5eWN5QjFiSFJwYldGMFpXeDVJR05oYkd3Z2MyVjBLQ2tnYjNJZ1pXUnBkRkpoYm1kbEtDa2dYSEpjYmlBZ0lDQWdJQ0FnTHk4Z0lDQWdJQ0FnYzI4Z2QyVWdaRzl1SjNRZ2JtVmxaQ0IwYnlCdmRtVnljbWxrWlNCMGFHOXpaU0J2ZEdobGNuTXVYSEpjYmlBZ0lDQWdJQ0FnZEM1amJHVmhjaUE5SUhRdWMyVjBJRDBnZEM1bFpHbDBVbUZ1WjJVZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGNJa0YwZEdWdGNIUmxaQ0IwYnlCdGIyUnBabmtnWVNCbWNtOTZaVzRnUWxSeVpXVmNJaWs3WEhKY2JpQWdJQ0FnSUNBZ2ZUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZLaW9nUlc1emRYSmxjeUJ0ZFhSaGRHbHZibk1nWVhKbElHRnNiRzkzWldRc0lISmxkbVZ5YzJsdVp5QjBhR1VnWldabVpXTjBJRzltSUdaeVpXVjZaU2dwTGlBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG5WdVpuSmxaWHBsSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUM4dklFQjBjeTFwWjI1dmNtVWdYQ0pVYUdVZ2IzQmxjbUZ1WkNCdlppQmhJQ2RrWld4bGRHVW5JRzl3WlhKaGRHOXlJRzExYzNRZ1ltVWdiM0IwYVc5dVlXd3VYQ0pjY2x4dUlDQWdJQ0FnSUNBdkx5QWdJQ0FnSUNBZ0lDQWdJQ2gzY205dVp6b2daR1ZzWlhSbElHUnZaWE1nYm05MElHRm1abVZqZENCMGFHVWdjSEp2ZEc5MGVYQmxMaWxjY2x4dUlDQWdJQ0FnSUNCa1pXeGxkR1VnZEdocGN5NWpiR1ZoY2p0Y2NseHVJQ0FnSUNBZ0lDQXZMeUJBZEhNdGFXZHViM0psWEhKY2JpQWdJQ0FnSUNBZ1pHVnNaWFJsSUhSb2FYTXVjMlYwTzF4eVhHNGdJQ0FnSUNBZ0lDOHZJRUIwY3kxcFoyNXZjbVZjY2x4dUlDQWdJQ0FnSUNCa1pXeGxkR1VnZEdocGN5NWxaR2wwVW1GdVoyVTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VKVWNtVmxMbkJ5YjNSdmRIbHdaU3dnWENKcGMwWnliM3BsYmx3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnTHlvcUlGSmxkSFZ5Ym5NZ2RISjFaU0JwWmlCMGFHVWdkSEpsWlNCaGNIQmxZWEp6SUhSdklHSmxJR1p5YjNwbGJpNGdLaTljY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWFHRnpUM2R1VUhKdmNHVnlkSGtvSjJWa2FYUlNZVzVuWlNjcE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hISmNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxYSEpjYmlBZ0lDQjlLVHRjY2x4dUlDQWdJQzhxS2lCVFkyRnVjeUIwYUdVZ2RISmxaU0JtYjNJZ2MybG5ibk1nYjJZZ2MyVnlhVzkxY3lCaWRXZHpJQ2hsTG1jdUlIUm9hWE11YzJsNlpTQmtiMlZ6YmlkMElHMWhkR05vWEhKY2JpQWdJQ0FnS2lBZ2JuVnRZbVZ5SUc5bUlHVnNaVzFsYm5SekxDQnBiblJsY201aGJDQnViMlJsY3lCdWIzUWdZMkZqYUdsdVp5QnRZWGdnWld4bGJXVnVkQ0J3Y205d1pYSnNlUzR1TGlsY2NseHVJQ0FnSUNBcUlDQkRiMjF3ZFhSaGRHbHZibUZzSUdOdmJYQnNaWGhwZEhrNklFOG9iblZ0WW1WeUlHOW1JRzV2WkdWektTd2dhUzVsTGlCUEtITnBlbVVwTGlCVWFHbHpJRzFsZEdodlpGeHlYRzRnSUNBZ0lDb2dJSE5yYVhCeklIUm9aU0J0YjNOMElHVjRjR1Z1YzJsMlpTQjBaWE4wSUMwZ2QyaGxkR2hsY2lCaGJHd2dhMlY1Y3lCaGNtVWdjMjl5ZEdWa0lDMGdZblYwSUdsMFhISmNiaUFnSUNBZ0tpQWdaRzlsY3lCamFHVmpheUIwYUdGMElHMWhlRXRsZVNncElHOW1JSFJvWlNCamFHbHNaSEpsYmlCdlppQnBiblJsY201aGJDQnViMlJsY3lCaGNtVWdjMjl5ZEdWa0xpQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtTm9aV05yVm1Gc2FXUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhOcGVtVWdQU0IwYUdsekxsOXliMjkwTG1Ob1pXTnJWbUZzYVdRb01Dd2dkR2hwY3l3Z01DazdYSEpjYmlBZ0lDQWdJQ0FnWTJobFkyc29jMmw2WlNBOVBUMGdkR2hwY3k1emFYcGxMQ0JjSW5OcGVtVWdiV2x6YldGMFkyZzZJR052ZFc1MFpXUWdYQ0lzSUhOcGVtVXNJRndpWW5WMElITjBiM0psWkZ3aUxDQjBhR2x6TG5OcGVtVXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEpsZEhWeWJpQkNWSEpsWlR0Y2NseHVmU2dwS1R0Y2NseHVaWGh3YjNKMGN5NWtaV1poZFd4MElEMGdRbFJ5WldVN1hISmNiaThxS2lCQklGUjVjR1ZUWTNKcGNIUWdhR1ZzY0dWeUlHWjFibU4wYVc5dUlIUm9ZWFFnYzJsdGNHeDVJSEpsZEhWeWJuTWdhWFJ6SUdGeVozVnRaVzUwTENCMGVYQmxaQ0JoYzF4eVhHNGdLaUFnWUVsVGIzSjBaV1JUWlhROFN6NWdJR2xtSUhSb1pTQkNWSEpsWlNCcGJYQnNaVzFsYm5SeklHbDBMQ0JoY3lCcGRDQmtiMlZ6SUdsbUlHQldJR1Y0ZEdWdVpITWdkVzVrWldacGJtVmtZQzVjY2x4dUlDb2dJRWxtSUdCV1lDQmpZVzV1YjNRZ1ltVWdZSFZ1WkdWbWFXNWxaR0FzSUdsMElISmxkSFZ5Ym5NZ1lIVnVhMjV2ZDI1Z0lHbHVjM1JsWVdRdUlFOXlJR0YwSUd4bFlYTjBMQ0IwYUdGMFhISmNiaUFxSUNCM1lYTWdkR2hsSUdsdWRHVnVkR2x2Yml3Z1luVjBJRlI1Y0dWVFkzSnBjSFFnYVhNZ1lXTjBhVzVuSUhkbGFYSmtJR0Z1WkNCdFlYa2djbVYwZFhKdUlHQkpVMjl5ZEdWa1UyVjBQRXMrWUZ4eVhHNGdLaUFnWlhabGJpQnBaaUJnVm1BZ1kyRnVKM1FnWW1VZ1lIVnVaR1ZtYVc1bFpHQWdLR1JwYzJOMWMzTnBiMjQ2SUdKMGNtVmxMWFI1Y0dWelkzSnBjSFFnYVhOemRXVWdJekUwS1NBcUwxeHlYRzVtZFc1amRHbHZiaUJoYzFObGRDaGlkSEpsWlNrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUdKMGNtVmxPMXh5WEc1OVhISmNibVY0Y0c5eWRITXVZWE5UWlhRZ1BTQmhjMU5sZER0Y2NseHVhV1lnS0ZONWJXSnZiQ0FtSmlCVGVXMWliMnd1YVhSbGNtRjBiM0lwSUM4dklHbDBaWEpoZEc5eUlHbHpJR1Z4ZFdsMllXeGxiblFnZEc4Z1pXNTBjbWxsY3lncFhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1ZiVTNsdFltOXNMbWwwWlhKaGRHOXlYU0E5SUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzVsYm5SeWFXVnpPMXh5WEc1Q1ZISmxaUzV3Y205MGIzUjVjR1V1ZDJobGNtVWdQU0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVabWxzZEdWeU8xeHlYRzVDVkhKbFpTNXdjbTkwYjNSNWNHVXVjMlYwVW1GdVoyVWdQU0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVjMlYwVUdGcGNuTTdYSEpjYmtKVWNtVmxMbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWMyVjBPeUF2THlCbWIzSWdZMjl0Y0dGMGFXSnBiR2wwZVNCM2FYUm9JRWxUWlhSVGFXNXJQRXMrWEhKY2JtWjFibU4wYVc5dUlHbDBaWEpoZEc5eUtHNWxlSFFwSUh0Y2NseHVJQ0FnSUdsbUlDaHVaWGgwSUQwOVBTQjJiMmxrSURBcElIc2dibVY0ZENBOUlDaG1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUFvZXlCa2IyNWxPaUIwY25WbExDQjJZV3gxWlRvZ2RXNWtaV1pwYm1Wa0lIMHBPeUI5S1RzZ2ZWeHlYRzRnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJSHNnYm1WNGREb2dibVY0ZENCOU8xeHlYRzRnSUNBZ2FXWWdLRk41YldKdmJDQW1KaUJUZVcxaWIyd3VhWFJsY21GMGIzSXBYSEpjYmlBZ0lDQWdJQ0FnY21WemRXeDBXMU41YldKdmJDNXBkR1Z5WVhSdmNsMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpPeUI5TzF4eVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNjbHh1ZlZ4eVhHNHZLaW9nVEdWaFppQnViMlJsSUM4Z1ltRnpaU0JqYkdGemN5NGdLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvdlhISmNiblpoY2lCQ1RtOWtaU0E5SUM4cUtpQkFZMnhoYzNNZ0tpOGdLR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUVKT2IyUmxLR3RsZVhNc0lIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNoclpYbHpJRDA5UFNCMmIybGtJREFwSUhzZ2EyVjVjeUE5SUZ0ZE95QjlYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NXJaWGx6SUQwZ2EyVjVjenRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGN5QTlJSFpoYkhWbGN5QjhmQ0IxYm1SbFpsWmhiSE03WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVwYzFOb1lYSmxaQ0E5SUhWdVpHVm1hVzVsWkR0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaENUbTlrWlM1d2NtOTBiM1I1Y0dVc0lGd2lhWE5NWldGbVhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhSb2FYTXVZMmhwYkdSeVpXNGdQVDA5SUhWdVpHVm1hVzVsWkRzZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCbVlXeHpaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ0x5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZYSEpjYmlBZ0lDQXZMeUJUYUdGeVpXUWdiV1YwYUc5a2N5QXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljY2x4dUlDQWdJRUpPYjJSbExuQnliM1J2ZEhsd1pTNXRZWGhMWlhrZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhMlY1YzF0MGFHbHpMbXRsZVhNdWJHVnVaM1JvSUMwZ01WMDdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeThnU1dZZ2EyVjVJRzV2ZENCbWIzVnVaQ3dnY21WMGRYSnVjeUJwWG1aaGFXeFliM0lnZDJobGNtVWdhU0JwY3lCMGFHVWdhVzV6WlhKMGFXOXVJR2x1WkdWNExseHlYRzRnSUNBZ0x5OGdRMkZzYkdWeWN5QjBhR0YwSUdSdmJpZDBJR05oY21VZ2QyaGxkR2hsY2lCMGFHVnlaU0IzWVhNZ1lTQnRZWFJqYUNCM2FXeHNJSE5sZENCbVlXbHNXRzl5UFRBdVhISmNiaUFnSUNCQ1RtOWtaUzV3Y205MGIzUjVjR1V1YVc1a1pYaFBaaUE5SUdaMWJtTjBhVzl1SUNoclpYa3NJR1poYVd4WWIzSXNJR050Y0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCclpYbHpJRDBnZEdocGN5NXJaWGx6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJzYnlBOUlEQXNJR2hwSUQwZ2EyVjVjeTVzWlc1bmRHZ3NJRzFwWkNBOUlHaHBJRDQrSURFN1hISmNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHeHZJRHdnYUdrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR01nUFNCamJYQW9hMlY1YzF0dGFXUmRMQ0JyWlhrcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZeUE4SURBcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNieUE5SUcxcFpDQXJJREU3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR01nUGlBd0tTQXZMeUJyWlhrZ1BDQnJaWGx6VzIxcFpGMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2hwSUQwZ2JXbGtPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGpJRDA5UFNBd0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHMXBaRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJqSUdseklFNWhUaUJ2Y2lCdmRHaGxjbmRwYzJVZ2FXNTJZV3hwWkZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3RsZVNBOVBUMGdhMlY1S1NBdkx5QmhkQ0JzWldGemRDQjBhR1VnYzJWaGNtTm9JR3RsZVNCcGN5QnViM1FnVG1GT1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR3RsZVhNdWJHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0lrSlVjbVZsT2lCT1lVNGdkMkZ6SUhWelpXUWdZWE1nWVNCclpYbGNJaWs3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdiV2xrSUQwZ0tHeHZJQ3NnYUdrcElENCtJREU3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnRhV1FnWGlCbVlXbHNXRzl5TzF4eVhHNGdJQ0FnSUNBZ0lDOHZJRlZ1Y205c2JHVmtJSFpsY25OcGIyNDZJR0psYm1Ob2JXRnlhM01nYzJodmR5QnpZVzFsSUhOd1pXVmtMQ0J1YjNRZ2QyOXlkR2dnZFhOcGJtZGNjbHh1SUNBZ0lDQWdJQ0F2S25aaGNpQnBJRDBnTVN3Z1l6b2diblZ0WW1WeUlEMGdNQ3dnYzNWdElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9hMlY1Y3k1c1pXNW5kR2dnUGowZ05Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ2FTQTlJRE03WEhKY2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYTJWNWN5NXNaVzVuZEdnZ1BqMGdPQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwSUQwZ056dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3RsZVhNdWJHVnVaM1JvSUQ0OUlERTJLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBOUlERTFPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYbHpMbXhsYm1kMGFDQStQU0F6TWlrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0E5SURNeE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d0bGVYTXViR1Z1WjNSb0lENDlJRFkwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2tnUFNBeE1qYzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdrZ0t6MGdLR01nUFNCcElEd2dhMlY1Y3k1c1pXNW5kR2dnUHlCamJYQW9hMlY1YzF0cFhTd2dhMlY1S1NBNklERXBJRHdnTUNBL0lEWTBJRG9nTFRZME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZFcwZ0t6MGdZenRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQXJQU0FvWXlBOUlHa2dQQ0JyWlhsekxteGxibWQwYUNBL0lHTnRjQ2hyWlhselcybGRMQ0JyWlhrcElEb2dNU2tnUENBd0lEOGdNeklnT2lBdE16STdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMWJTQXJQU0JqTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0FyUFNBb1l5QTlJR2tnUENCclpYbHpMbXhsYm1kMGFDQS9JR050Y0NoclpYbHpXMmxkTENCclpYa3BJRG9nTVNrZ1BDQXdJRDhnTVRZZ09pQXRNVFk3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRXMGdLejBnWXp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2FTQXJQU0FvWXlBOUlHa2dQQ0JyWlhsekxteGxibWQwYUNBL0lHTnRjQ2hyWlhselcybGRMQ0JyWlhrcElEb2dNU2tnUENBd0lEOGdPQ0E2SUMwNE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITjFiU0FyUFNCak8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdrZ0t6MGdLR01nUFNCcElEd2dhMlY1Y3k1c1pXNW5kR2dnUHlCamJYQW9hMlY1YzF0cFhTd2dhMlY1S1NBNklERXBJRHdnTUNBL0lEUWdPaUF0TkR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYzNWdElDczlJR003WEhKY2JpQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNCcElDczlJQ2hqSUQwZ2FTQThJR3RsZVhNdWJHVnVaM1JvSUQ4Z1kyMXdLR3RsZVhOYmFWMHNJR3RsZVNrZ09pQXhLU0E4SURBZ1B5QXlJRG9nTFRJN1hISmNiaUFnSUNBZ0lDQWdJQ0J6ZFcwZ0t6MGdZenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdhU0FyUFNBb1l5QTlJR2tnUENCclpYbHpMbXhsYm1kMGFDQS9JR050Y0NoclpYbHpXMmxkTENCclpYa3BJRG9nTVNrZ1BDQXdJRDhnTVNBNklDMHhPMXh5WEc0Z0lDQWdJQ0FnSUdNZ1BTQnBJRHdnYTJWNWN5NXNaVzVuZEdnZ1B5QmpiWEFvYTJWNWMxdHBYU3dnYTJWNUtTQTZJREU3WEhKY2JpQWdJQ0FnSUNBZ2MzVnRJQ3M5SUdNN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0dNZ1BDQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQXJLMms3WEhKY2JpQWdJQ0FnSUNBZ0lDQmpJRDBnYVNBOElHdGxlWE11YkdWdVozUm9JRDhnWTIxd0tHdGxlWE5iYVYwc0lHdGxlU2tnT2lBeE8xeHlYRzRnSUNBZ0lDQWdJQ0FnYzNWdElDczlJR003WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoemRXMGdJVDA5SUhOMWJTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR3RsZVNBOVBUMGdhMlY1S1NBdkx5QmhkQ0JzWldGemRDQjBhR1VnYzJWaGNtTm9JR3RsZVNCcGN5QnViM1FnVG1GT1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJyWlhsekxteGxibWQwYUNCZUlHWmhhV3hZYjNJN1hISmNiaUFnSUNBZ0lDQWdJQ0JsYkhObFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhjSWtKVWNtVmxPaUJPWVU0Z2QyRnpJSFZ6WldRZ1lYTWdZU0JyWlhsY0lpazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaklEMDlQU0F3SUQ4Z2FTQTZJR2tnWGlCbVlXbHNXRzl5T3lvdlhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljY2x4dUlDQWdJQzh2SUV4bFlXWWdUbTlrWlRvZ2JXbHpZeUF2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhISmNiaUFnSUNCQ1RtOWtaUzV3Y205MGIzUjVjR1V1YldsdVMyVjVJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG10bGVYTmJNRjA3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUWs1dlpHVXVjSEp2ZEc5MGVYQmxMbTFwYmxCaGFYSWdQU0JtZFc1amRHbHZiaUFvY21WMWMyVmtRWEp5WVhrcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTVyWlhsekxteGxibWQwYUNBOVBUMGdNQ2xjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNjbHh1SUNBZ0lDQWdJQ0J5WlhWelpXUkJjbkpoZVZzd1hTQTlJSFJvYVhNdWEyVjVjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFZ6WldSQmNuSmhlVnN4WFNBOUlIUm9hWE11ZG1Gc2RXVnpXekJkTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYVnpaV1JCY25KaGVUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQkNUbTlrWlM1d2NtOTBiM1I1Y0dVdWJXRjRVR0ZwY2lBOUlHWjFibU4wYVc5dUlDaHlaWFZ6WldSQmNuSmhlU2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtdGxlWE11YkdWdVozUm9JRDA5UFNBd0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJzWVhOMFNXNWtaWGdnUFNCMGFHbHpMbXRsZVhNdWJHVnVaM1JvSUMwZ01UdGNjbHh1SUNBZ0lDQWdJQ0J5WlhWelpXUkJjbkpoZVZzd1hTQTlJSFJvYVhNdWEyVjVjMXRzWVhOMFNXNWtaWGhkTzF4eVhHNGdJQ0FnSUNBZ0lISmxkWE5sWkVGeWNtRjVXekZkSUQwZ2RHaHBjeTUyWVd4MVpYTmJiR0Z6ZEVsdVpHVjRYVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY21WMWMyVmtRWEp5WVhrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ1FrNXZaR1V1Y0hKdmRHOTBlWEJsTG1Oc2IyNWxJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCMklEMGdkR2hwY3k1MllXeDFaWE03WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkNUbTlrWlNoMGFHbHpMbXRsZVhNdWMyeHBZMlVvTUNrc0lIWWdQVDA5SUhWdVpHVm1WbUZzY3lBL0lIWWdPaUIyTG5Oc2FXTmxLREFwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ1RtOWtaUzV3Y205MGIzUjVjR1V1WjNKbFpXUjVRMnh2Ym1VZ1BTQm1kVzVqZEdsdmJpQW9abTl5WTJVcElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGMxTm9ZWEpsWkNBbUppQWhabTl5WTJVZ1B5QjBhR2x6SURvZ2RHaHBjeTVqYkc5dVpTZ3BPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRUpPYjJSbExuQnliM1J2ZEhsd1pTNW5aWFFnUFNCbWRXNWpkR2x2YmlBb2EyVjVMQ0JrWldaaGRXeDBWbUZzZFdVc0lIUnlaV1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYVNBOUlIUm9hWE11YVc1a1pYaFBaaWhyWlhrc0lDMHhMQ0IwY21WbExsOWpiMjF3WVhKbEtUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdhU0E4SURBZ1B5QmtaV1poZFd4MFZtRnNkV1VnT2lCMGFHbHpMblpoYkhWbGMxdHBYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JDVG05a1pTNXdjbTkwYjNSNWNHVXVaMlYwVUdGcGNrOXlUbVY0ZEV4dmQyVnlJRDBnWm5WdVkzUnBiMjRnS0d0bGVTd2dZMjl0Y0dGeVpTd2dhVzVqYkhWemFYWmxMQ0J5WlhWelpXUkJjbkpoZVNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcElEMGdkR2hwY3k1cGJtUmxlRTltS0d0bGVTd2dMVEVzSUdOdmJYQmhjbVVwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJwYm1SbGVFOXlURzkzWlhJZ1BTQnBJRHdnTUNBL0lINXBJQzBnTVNBNklDaHBibU5zZFhOcGRtVWdQeUJwSURvZ2FTQXRJREVwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm1SbGVFOXlURzkzWlhJZ1BqMGdNQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhWelpXUkJjbkpoZVZzd1hTQTlJSFJvYVhNdWEyVjVjMXRwYm1SbGVFOXlURzkzWlhKZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYVnpaV1JCY25KaGVWc3hYU0E5SUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0VDNKTWIzZGxjbDA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWFZ6WldSQmNuSmhlVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQkNUbTlrWlM1d2NtOTBiM1I1Y0dVdVoyVjBVR0ZwY2s5eVRtVjRkRWhwWjJobGNpQTlJR1oxYm1OMGFXOXVJQ2hyWlhrc0lHTnZiWEJoY21Vc0lHbHVZMngxYzJsMlpTd2djbVYxYzJWa1FYSnlZWGtwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYVNBOUlIUm9hWE11YVc1a1pYaFBaaWhyWlhrc0lDMHhMQ0JqYjIxd1lYSmxLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdhVzVrWlhoUGNreHZkMlZ5SUQwZ2FTQThJREFnUHlCK2FTQTZJQ2hwYm1Oc2RYTnBkbVVnUHlCcElEb2dhU0FySURFcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCclpYbHpJRDBnZEdocGN5NXJaWGx6TzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm1SbGVFOXlURzkzWlhJZ1BDQnJaWGx6TG14bGJtZDBhQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhWelpXUkJjbkpoZVZzd1hTQTlJR3RsZVhOYmFXNWtaWGhQY2t4dmQyVnlYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYxYzJWa1FYSnlZWGxiTVYwZ1BTQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVFOXlURzkzWlhKZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WMWMyVmtRWEp5WVhrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUWs1dlpHVXVjSEp2ZEc5MGVYQmxMbU5vWldOclZtRnNhV1FnUFNCbWRXNWpkR2x2YmlBb1pHVndkR2dzSUhSeVpXVXNJR0poYzJWSmJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJyVENBOUlIUm9hWE11YTJWNWN5NXNaVzVuZEdnc0lIWk1JRDBnZEdocGN5NTJZV3gxWlhNdWJHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHTm9aV05yS0hSb2FYTXVkbUZzZFdWeklEMDlQU0IxYm1SbFpsWmhiSE1nUHlCclRDQThQU0IyVENBNklHdE1JRDA5UFNCMlRDd2dYQ0pyWlhsekwzWmhiSFZsY3lCc1pXNW5kR2dnYldsemJXRjBZMmc2SUdSbGNIUm9YQ0lzSUdSbGNIUm9MQ0JjSW5kcGRHZ2diR1Z1WjNSb2Mxd2lMQ0JyVEN3Z2Rrd3NJRndpWVc1a0lHSmhjMlZKYm1SbGVGd2lMQ0JpWVhObFNXNWtaWGdwTzF4eVhHNGdJQ0FnSUNBZ0lDOHZJRTV2ZEdVNklIZGxJR1J2YmlkMElHTm9aV05ySUdadmNpQmNJbTV2WkdVZ2RHOXZJSE50WVd4c1hDSWdZbVZqWVhWelpTQnpiMjFsZEdsdFpYTWdZU0J1YjJSbFhISmNiaUFnSUNBZ0lDQWdMeThnWTJGdUlHeGxaMmwwYVcxaGRHVnNlU0JvWVhabElITnBlbVVnTVM0Z1ZHaHBjeUJ2WTJOMWNuTWdhV1lnZEdobGNtVWdhWE1nWVNCaVlYUmphQ0JjY2x4dUlDQWdJQ0FnSUNBdkx5QmtaV3hsZEdsdmJpd2diR1ZoZG1sdVp5QmhJRzV2WkdVZ2IyWWdjMmw2WlNBeExDQmhibVFnZEdobElITnBZbXhwYm1keklHRnlaU0JtZFd4c0lITnZYSEpjYmlBZ0lDQWdJQ0FnTHk4Z2FYUWdZMkZ1SjNRZ1ltVWdiV1Z5WjJWa0lIZHBkR2dnWVdScVlXTmxiblFnYm05a1pYTXVJRWh2ZDJWMlpYSXNJSFJvWlNCd1lYSmxiblFnZDJsc2JGeHlYRzRnSUNBZ0lDQWdJQzh2SUhabGNtbG1lU0IwYUdGMElIUm9aU0JoZG1WeVlXZGxJRzV2WkdVZ2MybDZaU0JwY3lCaGRDQnNaV0Z6ZENCb1lXeG1JRzltSUhSb1pTQnRZWGhwYlhWdExseHlYRzRnSUNBZ0lDQWdJR05vWldOcktHUmxjSFJvSUQwOUlEQWdmSHdnYTB3Z1BpQXdMQ0JjSW1WdGNIUjVJR3hsWVdZZ1lYUWdaR1Z3ZEdoY0lpd2daR1Z3ZEdnc0lGd2lZVzVrSUdKaGMyVkpibVJsZUZ3aUxDQmlZWE5sU1c1a1pYZ3BPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJyVER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh5WEc0Z0lDQWdMeThnVEdWaFppQk9iMlJsT2lCelpYUWdKaUJ1YjJSbElITndiR2wwZEdsdVp5QXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk5Y2NseHVJQ0FnSUVKT2IyUmxMbkJ5YjNSdmRIbHdaUzV6WlhRZ1BTQm1kVzVqZEdsdmJpQW9hMlY1TENCMllXeDFaU3dnYjNabGNuZHlhWFJsTENCMGNtVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2tnUFNCMGFHbHpMbWx1WkdWNFQyWW9hMlY1TENBdE1Td2dkSEpsWlM1ZlkyOXRjR0Z5WlNrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0drZ1BDQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUd0bGVTQmtiMlZ6SUc1dmRDQmxlR2x6ZENCNVpYUmNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FTQTlJSDVwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwY21WbExsOXphWHBsS3lzN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG10bGVYTXViR1Z1WjNSb0lEd2dkSEpsWlM1ZmJXRjRUbTlrWlZOcGVtVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHVjMlZ5ZEVsdVRHVmhaaWhwTENCclpYa3NJSFpoYkhWbExDQjBjbVZsS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZSb2FYTWdiR1ZoWmlCdWIyUmxJR2x6SUdaMWJHd2dZVzVrSUcxMWMzUWdjM0JzYVhSY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ1WlhkU2FXZG9kRk5wWW14cGJtY2dQU0IwYUdsekxuTndiR2wwVDJabVVtbG5hSFJUYVdSbEtDa3NJSFJoY21kbGRDQTlJSFJvYVhNN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVNBK0lIUm9hWE11YTJWNWN5NXNaVzVuZEdncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcElDMDlJSFJvYVhNdWEyVjVjeTVzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHRnlaMlYwSUQwZ2JtVjNVbWxuYUhSVGFXSnNhVzVuTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR0Z5WjJWMExtbHVjMlZ5ZEVsdVRHVmhaaWhwTENCclpYa3NJSFpoYkhWbExDQjBjbVZsS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYZFNhV2RvZEZOcFlteHBibWM3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaV3h6WlNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFdGxlU0JoYkhKbFlXUjVJR1Y0YVhOMGMxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iM1psY25keWFYUmxJQ0U5UFNCbVlXeHpaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElDRTlQU0IxYm1SbFptbHVaV1FwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1eVpXbG1lVlpoYkhWbGN5Z3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RYTjFZV3hzZVNCMGFHbHpJR2x6SUdFZ2JtOHRiM0FzSUdKMWRDQnpiMjFsSUhWelpYSnpJRzFoZVNCM2FYTm9JSFJ2SUdWa2FYUWdkR2hsSUd0bGVWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1clpYbHpXMmxkSUQwZ2EyVjVPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYmFWMGdQU0IyWVd4MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUVKT2IyUmxMbkJ5YjNSdmRIbHdaUzV5WldsbWVWWmhiSFZsY3lBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2hwY3k1MllXeDFaWE1nUFQwOUlIVnVaR1ZtVm1Gc2N5bGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkbUZzZFdWeklEMGdkR2hwY3k1MllXeDFaWE11YzJ4cFkyVW9NQ3dnZEdocGN5NXJaWGx6TG14bGJtZDBhQ2s3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkbUZzZFdWek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lFSk9iMlJsTG5CeWIzUnZkSGx3WlM1cGJuTmxjblJKYmt4bFlXWWdQU0JtZFc1amRHbHZiaUFvYVN3Z2EyVjVMQ0IyWVd4MVpTd2dkSEpsWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWEyVjVjeTV6Y0d4cFkyVW9hU3dnTUN3Z2EyVjVLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2hwY3k1MllXeDFaWE1nUFQwOUlIVnVaR1ZtVm1Gc2N5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb2RXNWtaV1pXWVd4ekxteGxibWQwYUNBOElIUnlaV1V1WDIxaGVFNXZaR1ZUYVhwbEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkVzVrWldaV1lXeHpMbkIxYzJnb2RXNWtaV1pwYm1Wa0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTWdQU0IxYm1SbFpsWmhiSE11YzJ4cFkyVW9NQ3dnZEdocGN5NXJaWGx6TG14bGJtZDBhQ0F0SURFcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWekxuTndiR2xqWlNocExDQXdMQ0IyWVd4MVpTazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ1FrNXZaR1V1Y0hKdmRHOTBlWEJsTG5SaGEyVkdjbTl0VW1sbmFIUWdQU0JtZFc1amRHbHZiaUFvY21oektTQjdYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1VtVnRhVzVrWlhJNklIQmhjbVZ1ZENCdWIyUmxJRzExYzNRZ2RYQmtZWFJsSUdsMGN5QmpiM0I1SUc5bUlHdGxlU0JtYjNJZ2RHaHBjeUJ1YjJSbFhISmNiaUFnSUNBZ0lDQWdMeThnWVhOelpYSjBPaUJ1WldsMGFHVnlJRzV2WkdVZ2FYTWdjMmhoY21Wa1hISmNiaUFnSUNBZ0lDQWdMeThnWVhOelpYSjBJSEpvY3k1clpYbHpMbXhsYm1kMGFDQStJQ2h0WVhoT2IyUmxVMmw2WlM4eUlDWW1JSFJvYVhNdWEyVjVjeTVzWlc1bmRHZzhiV0Y0VG05a1pWTnBlbVVwWEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFlnUFNCMGFHbHpMblpoYkhWbGN6dGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2NtaHpMblpoYkhWbGN5QTlQVDBnZFc1a1pXWldZV3h6S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDJJQ0U5UFNCMWJtUmxabFpoYkhNcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJMbkIxYzJnb2RXNWtaV1pwYm1Wa0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFlnUFNCMGFHbHpMbkpsYVdaNVZtRnNkV1Z6S0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhZdWNIVnphQ2h5YUhNdWRtRnNkV1Z6TG5Ob2FXWjBLQ2twTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxtdGxlWE11Y0hWemFDaHlhSE11YTJWNWN5NXphR2xtZENncEtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQkNUbTlrWlM1d2NtOTBiM1I1Y0dVdWRHRnJaVVp5YjIxTVpXWjBJRDBnWm5WdVkzUnBiMjRnS0d4b2N5a2dlMXh5WEc0Z0lDQWdJQ0FnSUM4dklGSmxiV2x1WkdWeU9pQndZWEpsYm5RZ2JtOWtaU0J0ZFhOMElIVndaR0YwWlNCcGRITWdZMjl3ZVNCdlppQnJaWGtnWm05eUlIUm9hWE1nYm05a1pWeHlYRzRnSUNBZ0lDQWdJQzh2SUdGemMyVnlkRG9nYm1WcGRHaGxjaUJ1YjJSbElHbHpJSE5vWVhKbFpGeHlYRzRnSUNBZ0lDQWdJQzh2SUdGemMyVnlkQ0J5YUhNdWEyVjVjeTVzWlc1bmRHZ2dQaUFvYldGNFRtOWtaVk5wZW1Vdk1pQW1KaUIwYUdsekxtdGxlWE11YkdWdVozUm9QRzFoZUU1dlpHVlRhWHBsS1Z4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIySUQwZ2RHaHBjeTUyWVd4MVpYTTdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHeG9jeTUyWVd4MVpYTWdQVDA5SUhWdVpHVm1WbUZzY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kaUFoUFQwZ2RXNWtaV1pXWVd4ektWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkaTUxYm5Ob2FXWjBLSFZ1WkdWbWFXNWxaQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMklEMGdkR2hwY3k1eVpXbG1lVlpoYkhWbGN5Z3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJMblZ1YzJocFpuUW9iR2h6TG5aaGJIVmxjeTV3YjNBb0tTazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11YTJWNWN5NTFibk5vYVdaMEtHeG9jeTVyWlhsekxuQnZjQ2dwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ1RtOWtaUzV3Y205MGIzUjVjR1V1YzNCc2FYUlBabVpTYVdkb2RGTnBaR1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1VtVnRhVzVrWlhJNklIQmhjbVZ1ZENCdWIyUmxJRzExYzNRZ2RYQmtZWFJsSUdsMGN5QmpiM0I1SUc5bUlHdGxlU0JtYjNJZ2RHaHBjeUJ1YjJSbFhISmNiaUFnSUNBZ0lDQWdkbUZ5SUdoaGJHWWdQU0IwYUdsekxtdGxlWE11YkdWdVozUm9JRDQrSURFc0lHdGxlWE1nUFNCMGFHbHpMbXRsZVhNdWMzQnNhV05sS0doaGJHWXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjJZV3gxWlhNZ1BTQjBhR2x6TG5aaGJIVmxjeUE5UFQwZ2RXNWtaV1pXWVd4eklEOGdkVzVrWldaV1lXeHpJRG9nZEdocGN5NTJZV3gxWlhNdWMzQnNhV05sS0doaGJHWXBPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FrNXZaR1VvYTJWNWN5d2dkbUZzZFdWektUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2TDF4eVhHNGdJQ0FnTHk4Z1RHVmhaaUJPYjJSbE9pQnpZMkZ1Ym1sdVp5QW1JR1JsYkdWMGFXOXVjeUF2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNjbHh1SUNBZ0lFSk9iMlJsTG5CeWIzUnZkSGx3WlM1bWIzSlNZVzVuWlNBOUlHWjFibU4wYVc5dUlDaHNiM2NzSUdocFoyZ3NJR2x1WTJ4MVpHVklhV2RvTENCbFpHbDBUVzlrWlN3Z2RISmxaU3dnWTI5MWJuUXNJRzl1Um05MWJtUXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZMjF3SUQwZ2RISmxaUzVmWTI5dGNHRnlaVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdhVXh2ZHl3Z2FVaHBaMmc3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR2hwWjJnZ1BUMDlJR3h2ZHlrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV2x1WTJ4MVpHVklhV2RvS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOdmRXNTBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBTR2xuYUNBOUlDaHBURzkzSUQwZ2RHaHBjeTVwYm1SbGVFOW1LR3h2ZHl3Z0xURXNJR050Y0NrcElDc2dNVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsTWIzY2dQQ0F3S1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOdmRXNTBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVV4dmR5QTlJSFJvYVhNdWFXNWtaWGhQWmloc2IzY3NJREFzSUdOdGNDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbElhV2RvSUQwZ2RHaHBjeTVwYm1SbGVFOW1LR2hwWjJnc0lDMHhMQ0JqYlhBcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hVWhwWjJnZ1BDQXdLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVVocFoyZ2dQU0IrYVVocFoyZzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHbHVZMngxWkdWSWFXZG9JRDA5UFNCMGNuVmxLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVVocFoyZ3JLenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUd0bGVYTWdQU0IwYUdsekxtdGxlWE1zSUhaaGJIVmxjeUE5SUhSb2FYTXVkbUZzZFdWek8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNodmJrWnZkVzVrSUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SUdsTWIzYzdJR2tnUENCcFNHbG5hRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2EyVjVJRDBnYTJWNWMxdHBYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQnZia1p2ZFc1a0tHdGxlU3dnZG1Gc2RXVnpXMmxkTENCamIzVnVkQ3NyS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMWJIUWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGxaR2wwVFc5a1pTQTlQVDBnZEhKMVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2EyVjVJQ0U5UFNCclpYbHpXMmxkSUh4OElIUm9hWE11YVhOVGFHRnlaV1FnUFQwOUlIUnlkV1VwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSkNWSEpsWlNCcGJHeGxaMkZzYkhrZ1kyaGhibWRsWkNCdmNpQmpiRzl1WldRZ2FXNGdaV1JwZEZKaGJtZGxYQ0lwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MExtUmxiR1YwWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXJaWGx6TG5Od2JHbGpaU2hwTENBeEtUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG5aaGJIVmxjeUFoUFQwZ2RXNWtaV1pXWVd4ektWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpMbk53YkdsalpTaHBMQ0F4S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJ5WldVdVgzTnBlbVV0TFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2t0TFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xJYVdkb0xTMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvY21WemRXeDBMbWhoYzA5M2JsQnliM0JsY25SNUtDZDJZV3gxWlNjcEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaWE5iYVYwZ1BTQnlaWE4xYkhRdWRtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGMzVnNkQzVpY21WaGF5QWhQVDBnZFc1a1pXWnBibVZrS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJWY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5MWJuUWdLejBnYVVocFoyZ2dMU0JwVEc5M08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmpiM1Z1ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdktpb2dRV1JrY3lCbGJuUnBjbVVnWTI5dWRHVnVkSE1nYjJZZ2NtbG5hSFF0YUdGdVpDQnphV0pzYVc1bklDaHlhSE1nYVhNZ2JHVm1kQ0IxYm1Ob1lXNW5aV1FwSUNvdlhISmNiaUFnSUNCQ1RtOWtaUzV3Y205MGIzUjVjR1V1YldWeVoyVlRhV0pzYVc1bklEMGdablZ1WTNScGIyNGdLSEpvY3l3Z1h5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVhMlY1Y3k1d2RYTm9MbUZ3Y0d4NUtIUm9hWE11YTJWNWN5d2djbWh6TG10bGVYTXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG5aaGJIVmxjeUE5UFQwZ2RXNWtaV1pXWVd4ektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5YUhNdWRtRnNkV1Z6SUQwOVBTQjFibVJsWmxaaGJITXBYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpJRDBnZEdocGN5NTJZV3gxWlhNdWMyeHBZMlVvTUN3Z2RHaHBjeTVyWlhsekxteGxibWQwYUNrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWekxuQjFjMmd1WVhCd2JIa29kR2hwY3k1MllXeDFaWE1zSUhKb2N5NXlaV2xtZVZaaGJIVmxjeWdwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeVpYUjFjbTRnUWs1dlpHVTdYSEpjYm4wb0tTazdYSEpjYmk4cUtpQkpiblJsY201aGJDQnViMlJsSUNodWIyNHRiR1ZoWmlCdWIyUmxLU0FxS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaTljY2x4dWRtRnlJRUpPYjJSbFNXNTBaWEp1WVd3Z1BTQXZLaW9nUUdOc1lYTnpJQ292SUNobWRXNWpkR2x2YmlBb1gzTjFjR1Z5S1NCN1hISmNiaUFnSUNCZlgyVjRkR1Z1WkhNb1FrNXZaR1ZKYm5SbGNtNWhiQ3dnWDNOMWNHVnlLVHRjY2x4dUlDQWdJQzhxS2x4eVhHNGdJQ0FnSUNvZ1ZHaHBjeUJrYjJWeklHNXZkQ0J0WVhKcklHQmphR2xzWkhKbGJtQWdZWE1nYzJoaGNtVmtMQ0J6YnlCcGRDQnBjeUIwYUdVZ2NtVnpjRzl1YzJsaWFXeHBkSGtnYjJZZ2RHaGxJR05oYkd4bGNseHlYRzRnSUNBZ0lDb2dkRzhnWlc1emRYSmxJR05vYVd4a2NtVnVJR0Z5WlNCbGFYUm9aWElnYldGeWEyVmtJSE5vWVhKbFpDd2diM0lnWVhKbGJpZDBJR2x1WTJ4MVpHVmtJR2x1SUdGdWIzUm9aWElnZEhKbFpTNWNjbHh1SUNBZ0lDQXFMMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdRazV2WkdWSmJuUmxjbTVoYkNoamFHbHNaSEpsYml3Z2EyVjVjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJmZEdocGN5QTlJSFJvYVhNN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGclpYbHpLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR3RsZVhNZ1BTQmJYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JqYUdsc1pISmxiaTVzWlc1bmRHZzdJR2tyS3lsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHdGxlWE5iYVYwZ1BTQmphR2xzWkhKbGJsdHBYUzV0WVhoTFpYa29LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdYM1JvYVhNZ1BTQmZjM1Z3WlhJdVkyRnNiQ2gwYUdsekxDQnJaWGx6S1NCOGZDQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lGOTBhR2x6TG1Ob2FXeGtjbVZ1SUQwZ1kyaHBiR1J5Wlc0N1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGOTBhR2x6TzF4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnUWs1dlpHVkpiblJsY201aGJDNXdjbTkwYjNSNWNHVXVZMnh2Ym1VZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR05vYVd4a2NtVnVJRDBnZEdocGN5NWphR2xzWkhKbGJpNXpiR2xqWlNnd0tUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdOb2FXeGtjbVZ1TG14bGJtZDBhRHNnYVNzcktWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCamFHbHNaSEpsYmx0cFhTNXBjMU5vWVhKbFpDQTlJSFJ5ZFdVN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJDVG05a1pVbHVkR1Z5Ym1Gc0tHTm9hV3hrY21WdUxDQjBhR2x6TG10bGVYTXVjMnhwWTJVb01Da3BPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRUpPYjJSbFNXNTBaWEp1WVd3dWNISnZkRzkwZVhCbExtZHlaV1ZrZVVOc2IyNWxJRDBnWm5WdVkzUnBiMjRnS0dadmNtTmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWFYTlRhR0Z5WldRZ0ppWWdJV1p2Y21ObEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JuVWdQU0J1WlhjZ1FrNXZaR1ZKYm5SbGNtNWhiQ2gwYUdsekxtTm9hV3hrY21WdUxuTnNhV05sS0RBcExDQjBhR2x6TG10bGVYTXVjMnhwWTJVb01Da3BPMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JuVXVZMmhwYkdSeVpXNHViR1Z1WjNSb095QnBLeXNwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRzUxTG1Ob2FXeGtjbVZ1VzJsZElEMGdiblV1WTJocGJHUnlaVzViYVYwdVozSmxaV1I1UTJ4dmJtVW9abTl5WTJVcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JDVG05a1pVbHVkR1Z5Ym1Gc0xuQnliM1J2ZEhsd1pTNXRhVzVMWlhrZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMmhwYkdSeVpXNWJNRjB1YldsdVMyVjVLQ2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUWs1dlpHVkpiblJsY201aGJDNXdjbTkwYjNSNWNHVXViV2x1VUdGcGNpQTlJR1oxYm1OMGFXOXVJQ2h5WlhWelpXUkJjbkpoZVNrZ2UxeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1Ob2FXeGtjbVZ1V3pCZExtMXBibEJoYVhJb2NtVjFjMlZrUVhKeVlYa3BPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRUpPYjJSbFNXNTBaWEp1WVd3dWNISnZkRzkwZVhCbExtMWhlRkJoYVhJZ1BTQm1kVzVqZEdsdmJpQW9jbVYxYzJWa1FYSnlZWGtwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYUdsc1pISmxibHQwYUdsekxtTm9hV3hrY21WdUxteGxibWQwYUNBdElERmRMbTFoZUZCaGFYSW9jbVYxYzJWa1FYSnlZWGtwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUVKT2IyUmxTVzUwWlhKdVlXd3VjSEp2ZEc5MGVYQmxMbWRsZENBOUlHWjFibU4wYVc5dUlDaHJaWGtzSUdSbFptRjFiSFJXWVd4MVpTd2dkSEpsWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcElEMGdkR2hwY3k1cGJtUmxlRTltS0d0bGVTd2dNQ3dnZEhKbFpTNWZZMjl0Y0dGeVpTa3NJR05vYVd4a2NtVnVJRDBnZEdocGN5NWphR2xzWkhKbGJqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdhU0E4SUdOb2FXeGtjbVZ1TG14bGJtZDBhQ0EvSUdOb2FXeGtjbVZ1VzJsZExtZGxkQ2hyWlhrc0lHUmxabUYxYkhSV1lXeDFaU3dnZEhKbFpTa2dPaUIxYm1SbFptbHVaV1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUWs1dlpHVkpiblJsY201aGJDNXdjbTkwYjNSNWNHVXVaMlYwVUdGcGNrOXlUbVY0ZEV4dmQyVnlJRDBnWm5WdVkzUnBiMjRnS0d0bGVTd2dZMjl0Y0dGeVpTd2dhVzVqYkhWemFYWmxMQ0J5WlhWelpXUkJjbkpoZVNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcElEMGdkR2hwY3k1cGJtUmxlRTltS0d0bGVTd2dNQ3dnWTI5dGNHRnlaU2tzSUdOb2FXeGtjbVZ1SUQwZ2RHaHBjeTVqYUdsc1pISmxianRjY2x4dUlDQWdJQ0FnSUNCcFppQW9hU0ErUFNCamFHbHNaSEpsYmk1c1pXNW5kR2dwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG0xaGVGQmhhWElvY21WMWMyVmtRWEp5WVhrcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeVpYTjFiSFFnUFNCamFHbHNaSEpsYmx0cFhTNW5aWFJRWVdseVQzSk9aWGgwVEc5M1pYSW9hMlY1TENCamIyMXdZWEpsTENCcGJtTnNkWE5wZG1Vc0lISmxkWE5sWkVGeWNtRjVLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MElEMDlQU0IxYm1SbFptbHVaV1FnSmlZZ2FTQStJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR05vYVd4a2NtVnVXMmtnTFNBeFhTNXRZWGhRWVdseUtISmxkWE5sWkVGeWNtRjVLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ1RtOWtaVWx1ZEdWeWJtRnNMbkJ5YjNSdmRIbHdaUzVuWlhSUVlXbHlUM0pPWlhoMFNHbG5hR1Z5SUQwZ1puVnVZM1JwYjI0Z0tHdGxlU3dnWTI5dGNHRnlaU3dnYVc1amJIVnphWFpsTENCeVpYVnpaV1JCY25KaGVTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnBJRDBnZEdocGN5NXBibVJsZUU5bUtHdGxlU3dnTUN3Z1kyOXRjR0Z5WlNrc0lHTm9hV3hrY21WdUlEMGdkR2hwY3k1amFHbHNaSEpsYml3Z2JHVnVaM1JvSUQwZ1kyaHBiR1J5Wlc0dWJHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwSUQ0OUlHeGxibWQwYUNsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjbVZ6ZFd4MElEMGdZMmhwYkdSeVpXNWJhVjB1WjJWMFVHRnBjazl5VG1WNGRFaHBaMmhsY2loclpYa3NJR052YlhCaGNtVXNJR2x1WTJ4MWMybDJaU3dnY21WMWMyVmtRWEp5WVhrcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTjFiSFFnUFQwOUlIVnVaR1ZtYVc1bFpDQW1KaUJwSUR3Z2JHVnVaM1JvSUMwZ01Ta2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyaHBiR1J5Wlc1YmFTQXJJREZkTG0xcGJsQmhhWElvY21WMWMyVmtRWEp5WVhrcE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRUpPYjJSbFNXNTBaWEp1WVd3dWNISnZkRzkwZVhCbExtTm9aV05yVm1Gc2FXUWdQU0JtZFc1amRHbHZiaUFvWkdWd2RHZ3NJSFJ5WldVc0lHSmhjMlZKYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnJUQ0E5SUhSb2FYTXVhMlY1Y3k1c1pXNW5kR2dzSUdOTUlEMGdkR2hwY3k1amFHbHNaSEpsYmk1c1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ1kyaGxZMnNvYTB3Z1BUMDlJR05NTENCY0ltdGxlWE12WTJocGJHUnlaVzRnYkdWdVozUm9JRzFwYzIxaGRHTm9PaUJrWlhCMGFGd2lMQ0JrWlhCMGFDd2dYQ0pzWlc1bmRHaHpYQ0lzSUd0TUxDQmpUQ3dnWENKaVlYTmxTVzVrWlhoY0lpd2dZbUZ6WlVsdVpHVjRLVHRjY2x4dUlDQWdJQ0FnSUNCamFHVmpheWhyVENBK0lERWdmSHdnWkdWd2RHZ2dQaUF3TENCY0ltbHVkR1Z5Ym1Gc0lHNXZaR1VnYUdGeklHeGxibWQwYUZ3aUxDQnJUQ3dnWENKaGRDQmtaWEIwYUZ3aUxDQmtaWEIwYUN3Z1hDSmlZWE5sU1c1a1pYaGNJaXdnWW1GelpVbHVaR1Y0S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYzJsNlpTQTlJREFzSUdNZ1BTQjBhR2x6TG1Ob2FXeGtjbVZ1TENCcklEMGdkR2hwY3k1clpYbHpMQ0JqYUdsc1pGTnBlbVVnUFNBd08xeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWTB3N0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6YVhwbElDczlJR05iYVYwdVkyaGxZMnRXWVd4cFpDaGtaWEIwYUNBcklERXNJSFJ5WldVc0lHSmhjMlZKYm1SbGVDQXJJSE5wZW1VcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCamFHbHNaRk5wZW1VZ0t6MGdZMXRwWFM1clpYbHpMbXhsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyaGxZMnNvYzJsNlpTQStQU0JqYUdsc1pGTnBlbVVzSUZ3aWQzUm1YQ0lzSUdKaGMyVkpibVJsZUNrN0lDOHZJRzV2SUhkaGVTQjBhR2x6SUhkcGJHd2daWFpsY2lCbVlXbHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHTm9aV05yS0drZ1BUMDlJREFnZkh3Z1kxdHBJQzBnTVYwdVkyOXVjM1J5ZFdOMGIzSWdQVDA5SUdOYmFWMHVZMjl1YzNSeWRXTjBiM0lzSUZ3aWRIbHdaU0J0YVhOdFlYUmphQ3dnWW1GelpVbHVaR1Y0T2x3aUxDQmlZWE5sU1c1a1pYZ3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTF0cFhTNXRZWGhMWlhrb0tTQWhQU0JyVzJsZEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMmhsWTJzb1ptRnNjMlVzSUZ3aWEyVjVjMXRjSWl3Z2FTd2dYQ0pkSUQxY0lpd2dhMXRwWFN3Z1hDSnBjeUIzY205dVp5d2djMmh2ZFd4a0lHSmxJRndpTENCalcybGRMbTFoZUV0bGVTZ3BMQ0JjSW1GMElHUmxjSFJvWENJc0lHUmxjSFJvTENCY0ltSmhjMlZKYm1SbGVGd2lMQ0JpWVhObFNXNWtaWGdwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lTaHBJRDA5UFNBd0lIeDhJSFJ5WldVdVgyTnZiWEJoY21Vb2ExdHBJQzBnTVYwc0lHdGJhVjBwSUR3Z01Da3BYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYUdWamF5aG1ZV3h6WlN3Z1hDSnpiM0owSUhacGIyeGhkR2x2YmlCaGRDQmtaWEIwYUZ3aUxDQmtaWEIwYUN3Z1hDSnBibVJsZUZ3aUxDQnBMQ0JjSW10bGVYTmNJaXdnYTF0cElDMGdNVjBzSUd0YmFWMHBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQXZMeUF5TURJd0x6QTRPaUJDVkhKbFpTQmtiMlZ6YmlkMElHRnNkMkY1Y3lCaGRtOXBaQ0JuY205emMyeDVJSFZ1WkdWeWMybDZaV1FnYm05a1pYTXNYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1luVjBJRUZHUVVsTElITjFZMmdnYm05a1pYTWdZWEpsSUhCeVpYUjBlU0JvWVhKdGJHVnpjeXdnYzI4Z1lXTmpaWEIwSUhSb1pXMHVYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUnZiMlpsZHlBOUlHTm9hV3hrVTJsNlpTQTlQVDBnTURzZ0x5OGdZMmhwYkdSVGFYcGxJRHdnS0hSeVpXVXViV0Y0VG05a1pWTnBlbVVnUGo0Z01Ta3FZMHc3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJ2YjJabGR5QjhmQ0JqYUdsc1pGTnBlbVVnUGlCMGNtVmxMbTFoZUU1dlpHVlRhWHBsSUNvZ1kwd3BYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHTm9aV05yS0daaGJITmxMQ0IwYjI5bVpYY2dQeUJjSW5SdmJ5Qm1aWGRjSWlBNklGd2lkRzl2SUcxaGJubGNJaXdnWENKamFHbHNaSEpsYmlBb1hDSXNJR05vYVd4a1UybDZaU3dnYzJsNlpTd2dYQ0lwSUdGMElHUmxjSFJvWENJc0lHUmxjSFJvTENCY0ltMWhlRTV2WkdWVGFYcGxPbHdpTENCMGNtVmxMbTFoZUU1dlpHVlRhWHBsTENCY0ltTm9hV3hrY21WdUxteGxibWQwYURwY0lpd2dZMHdzSUZ3aVltRnpaVWx1WkdWNE9sd2lMQ0JpWVhObFNXNWtaWGdwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCemFYcGxPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhISmNiaUFnSUNBdkx5QkpiblJsY201aGJDQk9iMlJsT2lCelpYUWdKaUJ1YjJSbElITndiR2wwZEdsdVp5QXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh5WEc0Z0lDQWdRazV2WkdWSmJuUmxjbTVoYkM1d2NtOTBiM1I1Y0dVdWMyVjBJRDBnWm5WdVkzUnBiMjRnS0d0bGVTd2dkbUZzZFdVc0lHOTJaWEozY21sMFpTd2dkSEpsWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaklEMGdkR2hwY3k1amFHbHNaSEpsYml3Z2JXRjRJRDBnZEhKbFpTNWZiV0Y0VG05a1pWTnBlbVVzSUdOdGNDQTlJSFJ5WldVdVgyTnZiWEJoY21VN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdrZ1BTQk5ZWFJvTG0xcGJpaDBhR2x6TG1sdVpHVjRUMllvYTJWNUxDQXdMQ0JqYlhBcExDQmpMbXhsYm1kMGFDQXRJREVwTENCamFHbHNaQ0E5SUdOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHTm9hV3hrTG1selUyaGhjbVZrS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqVzJsZElEMGdZMmhwYkdRZ1BTQmphR2xzWkM1amJHOXVaU2dwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqYUdsc1pDNXJaWGx6TG14bGJtZDBhQ0ErUFNCdFlYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnWTJocGJHUWdhWE1nWm5Wc2JEc2dhVzV6WlhKMGFXNW5JR0Z1ZVhSb2FXNW5JR1ZzYzJVZ2QybHNiQ0JqWVhWelpTQmhJSE53YkdsMExseHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QlRhR2xtZEdsdVp5QmhiaUJwZEdWdElIUnZJSFJvWlNCc1pXWjBJRzl5SUhKcFoyaDBJSE5wWW14cGJtY2diV0Y1SUdGMmIybGtJR0VnYzNCc2FYUXVYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRmRsSUdOaGJpQmtieUJoSUhOb2FXWjBJR2xtSUhSb1pTQmhaR3BoWTJWdWRDQnViMlJsSUdseklHNXZkQ0JtZFd4c0lHRnVaQ0JwWmlCMGFHVmNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdZM1Z5Y21WdWRDQnJaWGtnWTJGdUlITjBhV3hzSUdKbElIQnNZV05sWkNCcGJpQjBhR1VnYzJGdFpTQnViMlJsSUdGbWRHVnlJSFJvWlNCemFHbG1kQzVjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc5MGFHVnlPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVNBK0lEQWdKaVlnS0c5MGFHVnlJRDBnWTF0cElDMGdNVjBwTG10bGVYTXViR1Z1WjNSb0lEd2diV0Y0SUNZbUlHTnRjQ2hqYUdsc1pDNXJaWGx6V3pCZExDQnJaWGtwSUR3Z01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOTBhR1Z5TG1selUyaGhjbVZrS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05iYVNBdElERmRJRDBnYjNSb1pYSWdQU0J2ZEdobGNpNWpiRzl1WlNncE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiM1JvWlhJdWRHRnJaVVp5YjIxU2FXZG9kQ2hqYUdsc1pDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtdGxlWE5iYVNBdElERmRJRDBnYjNSb1pYSXViV0Y0UzJWNUtDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb0tHOTBhR1Z5SUQwZ1kxdHBJQ3NnTVYwcElDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ2IzUm9aWEl1YTJWNWN5NXNaVzVuZEdnZ1BDQnRZWGdnSmlZZ1kyMXdLR05vYVd4a0xtMWhlRXRsZVNncExDQnJaWGtwSUR3Z01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOTBhR1Z5TG1selUyaGhjbVZrS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05iYVNBcklERmRJRDBnYjNSb1pYSWdQU0J2ZEdobGNpNWpiRzl1WlNncE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiM1JvWlhJdWRHRnJaVVp5YjIxTVpXWjBLR05vYVd4a0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWEyVjVjMXRwWFNBOUlHTmJhVjB1YldGNFMyVjVLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUdOb2FXeGtMbk5sZENoclpYa3NJSFpoYkhWbExDQnZkbVZ5ZDNKcGRHVXNJSFJ5WldVcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTjFiSFFnUFQwOUlHWmhiSE5sS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1clpYbHpXMmxkSUQwZ1kyaHBiR1F1YldGNFMyVjVLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDQTlQVDBnZEhKMVpTbGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1ZHaGxJR05vYVd4a0lHaGhjeUJ6Y0d4cGRDQmhibVFnWUhKbGMzVnNkR0FnYVhNZ1lTQnVaWGNnY21sbmFIUWdZMmhwYkdRdUxpNGdaRzlsY3lCcGRDQm1hWFEvWEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWEyVjVjeTVzWlc1bmRHZ2dQQ0J0WVhncElIc2dMeThnZVdWelhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVhVzV6WlhKMEtHa2dLeUF4TENCeVpYTjFiSFFwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWld4elpTQjdJQzh2SUc1dkxDQjNaU0J0ZFhOMElITndiR2wwSUdGc2MyOWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRzVsZDFKcFoyaDBVMmxpYkdsdVp5QTlJSFJvYVhNdWMzQnNhWFJQWm1aU2FXZG9kRk5wWkdVb0tTd2dkR0Z5WjJWMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTnRjQ2h5WlhOMWJIUXViV0Y0UzJWNUtDa3NJSFJvYVhNdWJXRjRTMlY1S0NrcElENGdNQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHRnlaMlYwSUQwZ2JtVjNVbWxuYUhSVGFXSnNhVzVuTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQXRQU0IwYUdsekxtdGxlWE11YkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUmhjbWRsZEM1cGJuTmxjblFvYVNBcklERXNJSEpsYzNWc2RDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYZFNhV2RvZEZOcFlteHBibWM3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLbHh5WEc0Z0lDQWdJQ29nU1c1elpYSjBjeUJnWTJocGJHUmdJR0YwSUdsdVpHVjRJR0JwWUM1Y2NseHVJQ0FnSUNBcUlGUm9hWE1nWkc5bGN5QnViM1FnYldGeWF5QmdZMmhwYkdSZ0lHRnpJSE5vWVhKbFpDd2djMjhnYVhRZ2FYTWdkR2hsSUhKbGMzQnZibk5wWW1sc2FYUjVJRzltSUhSb1pTQmpZV3hzWlhKY2NseHVJQ0FnSUNBcUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdWcGRHaGxjaUJqYUdsc1pDQnBjeUJ0WVhKclpXUWdjMmhoY21Wa0xDQnZjaUJwZENCcGN5QnViM1FnYVc1amJIVmtaV1FnYVc0Z1lXNXZkR2hsY2lCMGNtVmxMbHh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JDVG05a1pVbHVkR1Z5Ym1Gc0xuQnliM1J2ZEhsd1pTNXBibk5sY25RZ1BTQm1kVzVqZEdsdmJpQW9hU3dnWTJocGJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbU5vYVd4a2NtVnVMbk53YkdsalpTaHBMQ0F3TENCamFHbHNaQ2s3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVyWlhsekxuTndiR2xqWlNocExDQXdMQ0JqYUdsc1pDNXRZWGhMWlhrb0tTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xWEhKY2JpQWdJQ0FnS2lCVGNHeHBkQ0IwYUdseklHNXZaR1V1WEhKY2JpQWdJQ0FnS2lCTmIyUnBabWxsY3lCMGFHbHpJSFJ2SUhKbGJXOTJaU0IwYUdVZ2MyVmpiMjVrSUdoaGJHWWdiMllnZEdobElHbDBaVzF6TENCeVpYUjFjbTVwYm1jZ1lTQnpaWEJoY21GMFpTQnViMlJsSUdOdmJuUmhhVzVwYm1jZ2RHaGxiUzVjY2x4dUlDQWdJQ0FxTDF4eVhHNGdJQ0FnUWs1dlpHVkpiblJsY201aGJDNXdjbTkwYjNSNWNHVXVjM0JzYVhSUFptWlNhV2RvZEZOcFpHVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdMeThnWVhOelpYSjBJQ0YwYUdsekxtbHpVMmhoY21Wa08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCb1lXeG1JRDBnZEdocGN5NWphR2xzWkhKbGJpNXNaVzVuZEdnZ1BqNGdNVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFSk9iMlJsU1c1MFpYSnVZV3dvZEdocGN5NWphR2xzWkhKbGJpNXpjR3hwWTJVb2FHRnNaaWtzSUhSb2FYTXVhMlY1Y3k1emNHeHBZMlVvYUdGc1ppa3BPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRUpPYjJSbFNXNTBaWEp1WVd3dWNISnZkRzkwZVhCbExuUmhhMlZHY205dFVtbG5hSFFnUFNCbWRXNWpkR2x2YmlBb2NtaHpLU0I3WEhKY2JpQWdJQ0FnSUNBZ0x5OGdVbVZ0YVc1a1pYSTZJSEJoY21WdWRDQnViMlJsSUcxMWMzUWdkWEJrWVhSbElHbDBjeUJqYjNCNUlHOW1JR3RsZVNCbWIzSWdkR2hwY3lCdWIyUmxYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1lYTnpaWEowT2lCdVpXbDBhR1Z5SUc1dlpHVWdhWE1nYzJoaGNtVmtYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1lYTnpaWEowSUhKb2N5NXJaWGx6TG14bGJtZDBhQ0ErSUNodFlYaE9iMlJsVTJsNlpTOHlJQ1ltSUhSb2FYTXVhMlY1Y3k1c1pXNW5kR2c4YldGNFRtOWtaVk5wZW1VcFhISmNiaUFnSUNBZ0lDQWdkR2hwY3k1clpYbHpMbkIxYzJnb2NtaHpMbXRsZVhNdWMyaHBablFvS1NrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1amFHbHNaSEpsYmk1d2RYTm9LSEpvY3k1amFHbHNaSEpsYmk1emFHbG1kQ2dwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ1RtOWtaVWx1ZEdWeWJtRnNMbkJ5YjNSdmRIbHdaUzUwWVd0bFJuSnZiVXhsWm5RZ1BTQm1kVzVqZEdsdmJpQW9iR2h6S1NCN1hISmNiaUFnSUNBZ0lDQWdMeThnVW1WdGFXNWtaWEk2SUhCaGNtVnVkQ0J1YjJSbElHMTFjM1FnZFhCa1lYUmxJR2wwY3lCamIzQjVJRzltSUd0bGVTQm1iM0lnZEdocGN5QnViMlJsWEhKY2JpQWdJQ0FnSUNBZ0x5OGdZWE56WlhKME9pQnVaV2wwYUdWeUlHNXZaR1VnYVhNZ2MyaGhjbVZrWEhKY2JpQWdJQ0FnSUNBZ0x5OGdZWE56WlhKMElISm9jeTVyWlhsekxteGxibWQwYUNBK0lDaHRZWGhPYjJSbFUybDZaUzh5SUNZbUlIUm9hWE11YTJWNWN5NXNaVzVuZEdnOGJXRjRUbTlrWlZOcGVtVXBYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NXJaWGx6TG5WdWMyaHBablFvYkdoekxtdGxlWE11Y0c5d0tDa3BPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVZMmhwYkdSeVpXNHVkVzV6YUdsbWRDaHNhSE11WTJocGJHUnlaVzR1Y0c5d0tDa3BPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhISmNiaUFnSUNBdkx5QkpiblJsY201aGJDQk9iMlJsT2lCelkyRnVibWx1WnlBbUlHUmxiR1YwYVc5dWN5QXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh5WEc0Z0lDQWdMeThnVG05MFpUb2dZR052ZFc1MFlDQnBjeUIwYUdVZ2JtVjRkQ0IyWVd4MVpTQnZaaUIwYUdVZ2RHaHBjbVFnWVhKbmRXMWxiblFnZEc4Z1lHOXVSbTkxYm1SZ0xpQmNjbHh1SUNBZ0lDOHZJQ0FnSUNBZ0lFRWdiR1ZoWmlCdWIyUmxKM01nWUdadmNsSmhibWRsWUNCbWRXNWpkR2x2YmlCeVpYUjFjbTV6SUdFZ2JtVjNJSFpoYkhWbElHWnZjaUIwYUdseklHTnZkVzUwWlhJc1hISmNiaUFnSUNBdkx5QWdJQ0FnSUNCMWJteGxjM01nZEdobElHOXdaWEpoZEdsdmJpQnBjeUIwYnlCemRHOXdJR1ZoY214NUxseHlYRzRnSUNBZ1FrNXZaR1ZKYm5SbGNtNWhiQzV3Y205MGIzUjVjR1V1Wm05eVVtRnVaMlVnUFNCbWRXNWpkR2x2YmlBb2JHOTNMQ0JvYVdkb0xDQnBibU5zZFdSbFNHbG5hQ3dnWldScGRFMXZaR1VzSUhSeVpXVXNJR052ZFc1MExDQnZia1p2ZFc1a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTnRjQ0E5SUhSeVpXVXVYMk52YlhCaGNtVTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHdGxlWE1nUFNCMGFHbHpMbXRsZVhNc0lHTm9hV3hrY21WdUlEMGdkR2hwY3k1amFHbHNaSEpsYmp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYVV4dmR5QTlJSFJvYVhNdWFXNWtaWGhQWmloc2IzY3NJREFzSUdOdGNDa3NJR2tnUFNCcFRHOTNPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnBTR2xuYUNBOUlFMWhkR2d1YldsdUtHaHBaMmdnUFQwOUlHeHZkeUEvSUdsTWIzY2dPaUIwYUdsekxtbHVaR1Y0VDJZb2FHbG5hQ3dnTUN3Z1kyMXdLU3dnYTJWNWN5NXNaVzVuZEdnZ0xTQXhLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1ZrYVhSTmIyUmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZOcGJYQnNaU0JqWVhObFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9PeUJwSUR3OUlHbElhV2RvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQmphR2xzWkhKbGJsdHBYUzVtYjNKU1lXNW5aU2hzYjNjc0lHaHBaMmdzSUdsdVkyeDFaR1ZJYVdkb0xDQmxaR2wwVFc5a1pTd2dkSEpsWlN3Z1kyOTFiblFzSUc5dVJtOTFibVFwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnlaWE4xYkhRZ0lUMDlJQ2R1ZFcxaVpYSW5LVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIzVnVkQ0E5SUhKbGMzVnNkRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHBJRHc5SUdsSWFXZG9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJ5ZVNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0RzZ2FTQThQU0JwU0dsbmFEc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTm9hV3hrY21WdVcybGRMbWx6VTJoaGNtVmtLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYUdsc1pISmxibHRwWFNBOUlHTm9hV3hrY21WdVcybGRMbU5zYjI1bEtDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJR05vYVd4a2NtVnVXMmxkTG1admNsSmhibWRsS0d4dmR5d2dhR2xuYUN3Z2FXNWpiSFZrWlVocFoyZ3NJR1ZrYVhSTmIyUmxMQ0IwY21WbExDQmpiM1Z1ZEN3Z2IyNUdiM1Z1WkNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1RtOTBaVG9nYVdZZ1kyaHBiR1J5Wlc1YmFWMGdhWE1nWlcxd2RIa2dkR2hsYmlCclpYbHpXMmxkUFhWdVpHVm1hVzVsWkM1Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlBZ0lDQWdJQ0JVYUdseklHbHpJR0Z1SUdsdWRtRnNhV1FnYzNSaGRHVXNJR0oxZENCcGRDQnBjeUJtYVhobFpDQmlaV3h2ZHk1Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JyWlhselcybGRJRDBnWTJocGJHUnlaVzViYVYwdWJXRjRTMlY1S0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCeVpYTjFiSFFnSVQwOUlDZHVkVzFpWlhJbktWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052ZFc1MElEMGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnBibUZzYkhrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnUkdWc1pYUnBiMjV6SUcxaGVTQm9ZWFpsSUc5alkzVnljbVZrTENCemJ5QnNiMjlySUdadmNpQnZjSEJ2Y25SMWJtbDBhV1Z6SUhSdklHMWxjbWRsSUc1dlpHVnpMbHh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHaGhiR1lnUFNCMGNtVmxMbDl0WVhoT2IyUmxVMmw2WlNBK1BpQXhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbE1iM2NnUGlBd0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsTWIzY3RMVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdadmNpQW9hU0E5SUdsSWFXZG9PeUJwSUQ0OUlHbE1iM2M3SUdrdExTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqYUdsc1pISmxibHRwWFM1clpYbHpMbXhsYm1kMGFDQThQU0JvWVd4bUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamFHbHNaSEpsYmx0cFhTNXJaWGx6TG14bGJtZDBhQ0FoUFQwZ01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUwY25sTlpYSm5aU2hwTENCMGNtVmxMbDl0WVhoT2IyUmxVMmw2WlNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN0lDOHZJR05vYVd4a0lHbHpJR1Z0Y0hSNUlTQmtaV3hsZEdVZ2FYUWhYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCclpYbHpMbk53YkdsalpTaHBMQ0F4S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05vYVd4a2NtVnVMbk53YkdsalpTaHBMQ0F4S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamFHbHNaSEpsYmk1c1pXNW5kR2dnSVQwOUlEQWdKaVlnWTJocGJHUnlaVzViTUYwdWEyVjVjeTVzWlc1bmRHZ2dQVDA5SURBcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJobFkyc29abUZzYzJVc0lGd2laVzF3ZEdsdVpYTnpJR0oxWjF3aUtUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTI5MWJuUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xSUUxbGNtZGxjeUJqYUdsc1pDQnBJSGRwZEdnZ1kyaHBiR1FnYVNzeElHbG1JSFJvWldseUlHTnZiV0pwYm1Wa0lITnBlbVVnYVhNZ2JtOTBJSFJ2YnlCc1lYSm5aU0FxTDF4eVhHNGdJQ0FnUWs1dlpHVkpiblJsY201aGJDNXdjbTkwYjNSNWNHVXVkSEo1VFdWeVoyVWdQU0JtZFc1amRHbHZiaUFvYVN3Z2JXRjRVMmw2WlNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCamFHbHNaSEpsYmlBOUlIUm9hWE11WTJocGJHUnlaVzQ3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR2tnUGowZ01DQW1KaUJwSUNzZ01TQThJR05vYVd4a2NtVnVMbXhsYm1kMGFDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTJocGJHUnlaVzViYVYwdWEyVjVjeTVzWlc1bmRHZ2dLeUJqYUdsc1pISmxibHRwSUNzZ01WMHVhMlY1Y3k1c1pXNW5kR2dnUEQwZ2JXRjRVMmw2WlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOb2FXeGtjbVZ1VzJsZExtbHpVMmhoY21Wa0tTQXZMeUJqYkc5dVpXUWdZV3h5WldGa2VTQlZUa3hGVTFNZ2FTQnBjeUJ2ZFhSemFXUmxJSE5qWVc0Z2NtRnVaMlZjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmphR2xzWkhKbGJsdHBYU0E5SUdOb2FXeGtjbVZ1VzJsZExtTnNiMjVsS0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmphR2xzWkhKbGJsdHBYUzV0WlhKblpWTnBZbXhwYm1jb1kyaHBiR1J5Wlc1YmFTQXJJREZkTENCdFlYaFRhWHBsS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTm9hV3hrY21WdUxuTndiR2xqWlNocElDc2dNU3dnTVNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG10bGVYTXVjM0JzYVdObEtHa2dLeUF4TENBeEtUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWEyVjVjMXRwWFNBOUlHTm9hV3hrY21WdVcybGRMbTFoZUV0bGVTZ3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLbHh5WEc0Z0lDQWdJQ29nVFc5MlpTQmphR2xzWkhKbGJpQm1jbTl0SUdCeWFITmdJR2x1ZEc4Z2RHaHBjeTVjY2x4dUlDQWdJQ0FxSUdCeWFITmdJRzExYzNRZ1ltVWdjR0Z5ZENCdlppQjBhR2x6SUhSeVpXVXNJR0Z1WkNCaVpTQnlaVzF2ZG1Wa0lHWnliMjBnYVhRZ1lXWjBaWElnZEdocGN5QmpZV3hzWEhKY2JpQWdJQ0FnS2lBb2IzUm9aWEozYVhObElHbHpVMmhoY21Wa0lHWnZjaUJwZEhNZ1kyaHBiR1J5Wlc0Z1kyOTFiR1FnWW1VZ2FXNWpiM0p5WldOMEtTNWNjbHh1SUNBZ0lDQXFMMXh5WEc0Z0lDQWdRazV2WkdWSmJuUmxjbTVoYkM1d2NtOTBiM1I1Y0dVdWJXVnlaMlZUYVdKc2FXNW5JRDBnWm5WdVkzUnBiMjRnS0hKb2N5d2diV0Y0VG05a1pWTnBlbVVwSUh0Y2NseHVJQ0FnSUNBZ0lDQXZMeUJoYzNObGNuUWdJWFJvYVhNdWFYTlRhR0Z5WldRN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUc5c1pFeGxibWQwYUNBOUlIUm9hWE11YTJWNWN5NXNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1clpYbHpMbkIxYzJndVlYQndiSGtvZEdocGN5NXJaWGx6TENCeWFITXVhMlY1Y3lrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKb2MwTm9hV3hrY21WdUlEMGdjbWh6TG1Ob2FXeGtjbVZ1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11WTJocGJHUnlaVzR1Y0hWemFDNWhjSEJzZVNoMGFHbHpMbU5vYVd4a2NtVnVMQ0J5YUhORGFHbHNaSEpsYmlrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0hKb2N5NXBjMU5vWVhKbFpDQW1KaUFoZEdocGN5NXBjMU5vWVhKbFpDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJCYkd3Z1kyaHBiR1J5Wlc0Z2IyWWdZU0J6YUdGeVpXUWdibTlrWlNCaGNtVWdhVzF3YkdsamFYUnNlU0J6YUdGeVpXUXNJR0Z1WkNCemFXNWpaU0IwYUdWcGNpQnVaWGRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnY0dGeVpXNTBJR2x6SUc1dmRDQnphR0Z5WldRc0lIUm9aWGtnYlhWemRDQnViM2NnWW1VZ1pYaHdiR2xqYVhSc2VTQnRZWEpyWldRZ1lYTWdjMmhoY21Wa0xseHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElISm9jME5vYVd4a2NtVnVMbXhsYm1kMGFEc2dhU3NyS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtaHpRMmhwYkdSeVpXNWJhVjB1YVhOVGFHRnlaV1FnUFNCMGNuVmxPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCdmRYSWdZMmhwYkdSeVpXNGdZWEpsSUhSb1pXMXpaV3gyWlhNZ1lXeHRiM04wSUdWdGNIUjVJR1IxWlNCMGJ5QmhJRzFoYzNNdFpHVnNaWFJsTEZ4eVhHNGdJQ0FnSUNBZ0lDOHZJSFJvWlhrZ2JXRjVJRzVsWldRZ2RHOGdZbVVnYldWeVoyVmtJSFJ2YnlBb1luVjBJRzl1YkhrZ2RHaGxJRzlzWkV4bGJtZDBhQzB4SUdGdVpDQnBkSE5jY2x4dUlDQWdJQ0FnSUNBdkx5QnlhV2RvZENCemFXSnNhVzVuSUhOb2IzVnNaQ0J1WldWa0lIUm9hWE1wTGx4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZEhKNVRXVnlaMlVvYjJ4a1RHVnVaM1JvSUMwZ01Td2diV0Y0VG05a1pWTnBlbVVwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhKbGRIVnliaUJDVG05a1pVbHVkR1Z5Ym1Gc08xeHlYRzU5S0VKT2IyUmxLU2s3WEhKY2JpOHZJRTl3ZEdsdGFYcGhkR2x2YmpvZ2RHaHBjeUJoY25KaGVTQnZaaUJnZFc1a1pXWnBibVZrWUhNZ2FYTWdkWE5sWkNCcGJuTjBaV0ZrSUc5bUlHRWdibTl5YldGc1hISmNiaTh2SUdGeWNtRjVJRzltSUhaaGJIVmxjeUJwYmlCdWIyUmxjeUIzYUdWeVpTQmdkVzVrWldacGJtVmtZQ0JwY3lCMGFHVWdiMjVzZVNCMllXeDFaUzVjY2x4dUx5OGdTWFJ6SUd4bGJtZDBhQ0JwY3lCbGVIUmxibVJsWkNCMGJ5QnRZWGdnYm05a1pTQnphWHBsSUc5dUlHWnBjbk4wSUhWelpUc2djMmx1WTJVZ2FYUWdZMkZ1WEhKY2JpOHZJR0psSUhOb1lYSmxaQ0JpWlhSM1pXVnVJSFJ5WldWeklIZHBkR2dnWkdsbVptVnlaVzUwSUcxaGVHbHRkVzF6TENCcGRITWdiR1Z1WjNSb0lHTmhiaUJ2Ym14NVhISmNiaTh2SUdsdVkzSmxZWE5sTENCdVpYWmxjaUJrWldOeVpXRnpaUzRnU1hSeklIUjVjR1VnYzJodmRXeGtJR0psSUhWdVpHVm1hVzVsWkZ0ZElHSjFkQ0J6ZEhKaGJtZGxiSGxjY2x4dUx5OGdWSGx3WlZOamNtbHdkQ0IzYjI0bmRDQmhiR3h2ZHlCMGFHVWdZMjl0Y0dGeWFYTnZiaUJXVzEwZ1BUMDlJSFZ1WkdWbWFXNWxaRnRkTGlCVWJ5QndjbVYyWlc1MFhISmNiaTh2SUhWelpYSnpJR1p5YjIwZ2JXRnJhVzVuSUhSb2FYTWdZWEp5WVhrZ2RHOXZJR3hoY21kbExDQkNWSEpsWlNCb1lYTWdZU0J0WVhocGJYVnRJRzV2WkdVZ2MybDZaUzVjY2x4dUx5OWNjbHh1THk4Z1JrRlJPaUIxYm1SbFpsWmhiSE5iYVYwZ2FYTWdZV3h5WldGa2VTQjFibVJsWm1sdVpXUXNJSE52SUhkb2VTQnBibU55WldGelpTQjBhR1VnWVhKeVlYa2djMmw2WlQ5Y2NseHVMeThnVW1WaFpHbHVaeUJ2ZFhSemFXUmxJSFJvWlNCaWIzVnVaSE1nYjJZZ1lXNGdZWEp5WVhrZ2FYTWdjbVZzWVhScGRtVnNlU0J6Ykc5M0lHSmxZMkYxYzJVZ2FYUmNjbHh1THk4Z2FHRnpJSFJvWlNCemFXUmxJR1ZtWm1WamRDQnZaaUJ6WTJGdWJtbHVaeUIwYUdVZ2NISnZkRzkwZVhCbElHTm9ZV2x1TGx4eVhHNTJZWElnZFc1a1pXWldZV3h6SUQwZ1cxMDdYSEpjYm5aaGNpQkVaV3hsZEdVZ1BTQjdJR1JsYkdWMFpUb2dkSEoxWlNCOUxDQkVaV3hsZEdWU1lXNW5aU0E5SUdaMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlFUmxiR1YwWlRzZ2ZUdGNjbHh1ZG1GeUlFSnlaV0ZySUQwZ2V5QmljbVZoYXpvZ2RISjFaU0I5TzF4eVhHNTJZWElnUlcxd2RIbE1aV0ZtSUQwZ0tHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJSFpoY2lCdUlEMGdibVYzSUVKT2IyUmxLQ2s3WEhKY2JpQWdJQ0J1TG1selUyaGhjbVZrSUQwZ2RISjFaVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnVPMXh5WEc1OUtTZ3BPMXh5WEc1MllYSWdSVzF3ZEhsQmNuSmhlU0E5SUZ0ZE8xeHlYRzUyWVhJZ1VtVjFjMlZrUVhKeVlYa2dQU0JiWFRzZ0x5OGdZWE56ZFcxbFpDQjBhSEpsWVdRdGJHOWpZV3hjY2x4dVpuVnVZM1JwYjI0Z1kyaGxZMnNvWm1GamRDa2dlMXh5WEc0Z0lDQWdkbUZ5SUdGeVozTWdQU0JiWFR0Y2NseHVJQ0FnSUdadmNpQW9kbUZ5SUY5cElEMGdNVHNnWDJrZ1BDQmhjbWQxYldWdWRITXViR1Z1WjNSb095QmZhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdZWEpuYzF0ZmFTQXRJREZkSUQwZ1lYSm5kVzFsYm5SelcxOXBYVHRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJR2xtSUNnaFptRmpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHRnlaM011ZFc1emFHbG1kQ2duUWlzZ2RISmxaU2NwT3lBdkx5QmhkQ0JpWldkcGJtNXBibWNnYjJZZ2JXVnpjMkZuWlZ4eVhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loaGNtZHpMbXB2YVc0b0p5QW5LU2s3WEhKY2JpQWdJQ0I5WEhKY2JuMWNjbHh1THlvcUlFRWdRbFJ5WldVZ1puSnZlbVZ1SUdsdUlIUm9aU0JsYlhCMGVTQnpkR0YwWlM0Z0tpOWNjbHh1Wlhod2IzSjBjeTVGYlhCMGVVSlVjbVZsSUQwZ0tHWjFibU4wYVc5dUlDZ3BJSHNnZG1GeUlIUWdQU0J1WlhjZ1FsUnlaV1VvS1RzZ2RDNW1jbVZsZW1Vb0tUc2djbVYwZFhKdUlIUTdJSDBwS0NrN1hISmNiaUlzSUNJdkx5QjBhR1Z6WlNCaGNtVnVKM1FnY21WaGJHeDVJSEJ5YVhaaGRHVXNJR0oxZENCdWIzSWdZWEpsSUhSb1pYa2djbVZoYkd4NUlIVnpaV1oxYkNCMGJ5QmtiMk4xYldWdWRGeHVYRzR2S2lwY2JpQXFJRUJ3Y21sMllYUmxYRzRnS2k5Y2JtTnNZWE56SUV4MWVHOXVSWEp5YjNJZ1pYaDBaVzVrY3lCRmNuSnZjaUI3ZlZ4dVhHNHZLaXBjYmlBcUlFQndjbWwyWVhSbFhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QkpiblpoYkdsa1JHRjBaVlJwYldWRmNuSnZjaUJsZUhSbGJtUnpJRXgxZUc5dVJYSnliM0lnZTF4dUlDQmpiMjV6ZEhKMVkzUnZjaWh5WldGemIyNHBJSHRjYmlBZ0lDQnpkWEJsY2loZ1NXNTJZV3hwWkNCRVlYUmxWR2x0WlRvZ0pIdHlaV0Z6YjI0dWRHOU5aWE56WVdkbEtDbDlZQ2s3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCQWNISnBkbUYwWlZ4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1NXNTJZV3hwWkVsdWRHVnlkbUZzUlhKeWIzSWdaWGgwWlc1a2N5Qk1kWGh2YmtWeWNtOXlJSHRjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9jbVZoYzI5dUtTQjdYRzRnSUNBZ2MzVndaWElvWUVsdWRtRnNhV1FnU1c1MFpYSjJZV3c2SUNSN2NtVmhjMjl1TG5SdlRXVnpjMkZuWlNncGZXQXBPMXh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nUUhCeWFYWmhkR1ZjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUVsdWRtRnNhV1JFZFhKaGRHbHZia1Z5Y205eUlHVjRkR1Z1WkhNZ1RIVjRiMjVGY25KdmNpQjdYRzRnSUdOdmJuTjBjblZqZEc5eUtISmxZWE52YmlrZ2UxeHVJQ0FnSUhOMWNHVnlLR0JKYm5aaGJHbGtJRVIxY21GMGFXOXVPaUFrZTNKbFlYTnZiaTUwYjAxbGMzTmhaMlVvS1gxZ0tUdGNiaUFnZlZ4dWZWeHVYRzR2S2lwY2JpQXFJRUJ3Y21sMllYUmxYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJEYjI1bWJHbGpkR2x1WjFOd1pXTnBabWxqWVhScGIyNUZjbkp2Y2lCbGVIUmxibVJ6SUV4MWVHOXVSWEp5YjNJZ2UzMWNibHh1THlvcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nU1c1MllXeHBaRlZ1YVhSRmNuSnZjaUJsZUhSbGJtUnpJRXgxZUc5dVJYSnliM0lnZTF4dUlDQmpiMjV6ZEhKMVkzUnZjaWgxYm1sMEtTQjdYRzRnSUNBZ2MzVndaWElvWUVsdWRtRnNhV1FnZFc1cGRDQWtlM1Z1YVhSOVlDazdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nU1c1MllXeHBaRUZ5WjNWdFpXNTBSWEp5YjNJZ1pYaDBaVzVrY3lCTWRYaHZia1Z5Y205eUlIdDlYRzVjYmk4cUtseHVJQ29nUUhCeWFYWmhkR1ZjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUZwdmJtVkpjMEZpYzNSeVlXTjBSWEp5YjNJZ1pYaDBaVzVrY3lCTWRYaHZia1Z5Y205eUlIdGNiaUFnWTI5dWMzUnlkV04wYjNJb0tTQjdYRzRnSUNBZ2MzVndaWElvWENKYWIyNWxJR2x6SUdGdUlHRmljM1J5WVdOMElHTnNZWE56WENJcE8xeHVJQ0I5WEc1OVhHNGlMQ0FpTHlvcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWNibU52Ym5OMElHNGdQU0JjSW01MWJXVnlhV05jSWl4Y2JpQWdjeUE5SUZ3aWMyaHZjblJjSWl4Y2JpQWdiQ0E5SUZ3aWJHOXVaMXdpTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUkVGVVJWOVRTRTlTVkNBOUlIdGNiaUFnZVdWaGNqb2diaXhjYmlBZ2JXOXVkR2c2SUc0c1hHNGdJR1JoZVRvZ2JpeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFUVZSRlgwMUZSQ0E5SUh0Y2JpQWdlV1ZoY2pvZ2JpeGNiaUFnYlc5dWRHZzZJSE1zWEc0Z0lHUmhlVG9nYml4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVRVlJGWDAxRlJGOVhTVlJJWDFkRlJVdEVRVmtnUFNCN1hHNGdJSGxsWVhJNklHNHNYRzRnSUcxdmJuUm9PaUJ6TEZ4dUlDQmtZWGs2SUc0c1hHNGdJSGRsWld0a1lYazZJSE1zWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1JFRlVSVjlHVlV4TUlEMGdlMXh1SUNCNVpXRnlPaUJ1TEZ4dUlDQnRiMjUwYURvZ2JDeGNiaUFnWkdGNU9pQnVMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSQlZFVmZTRlZIUlNBOUlIdGNiaUFnZVdWaGNqb2diaXhjYmlBZ2JXOXVkR2c2SUd3c1hHNGdJR1JoZVRvZ2JpeGNiaUFnZDJWbGEyUmhlVG9nYkN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlVTVTFGWDFOSlRWQk1SU0E5SUh0Y2JpQWdhRzkxY2pvZ2JpeGNiaUFnYldsdWRYUmxPaUJ1TEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGUkpUVVZmVjBsVVNGOVRSVU5QVGtSVElEMGdlMXh1SUNCb2IzVnlPaUJ1TEZ4dUlDQnRhVzUxZEdVNklHNHNYRzRnSUhObFkyOXVaRG9nYml4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQlVTVTFGWDFkSlZFaGZVMGhQVWxSZlQwWkdVMFZVSUQwZ2UxeHVJQ0JvYjNWeU9pQnVMRnh1SUNCdGFXNTFkR1U2SUc0c1hHNGdJSE5sWTI5dVpEb2diaXhjYmlBZ2RHbHRaVnB2Ym1WT1lXMWxPaUJ6TEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGUkpUVVZmVjBsVVNGOU1UMDVIWDA5R1JsTkZWQ0E5SUh0Y2JpQWdhRzkxY2pvZ2JpeGNiaUFnYldsdWRYUmxPaUJ1TEZ4dUlDQnpaV052Ym1RNklHNHNYRzRnSUhScGJXVmFiMjVsVG1GdFpUb2diQ3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCVVNVMUZYekkwWDFOSlRWQk1SU0E5SUh0Y2JpQWdhRzkxY2pvZ2JpeGNiaUFnYldsdWRYUmxPaUJ1TEZ4dUlDQm9iM1Z5UTNsamJHVTZJRndpYURJelhDSXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVkVsTlJWOHlORjlYU1ZSSVgxTkZRMDlPUkZNZ1BTQjdYRzRnSUdodmRYSTZJRzRzWEc0Z0lHMXBiblYwWlRvZ2JpeGNiaUFnYzJWamIyNWtPaUJ1TEZ4dUlDQm9iM1Z5UTNsamJHVTZJRndpYURJelhDSXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVkVsTlJWOHlORjlYU1ZSSVgxTklUMUpVWDA5R1JsTkZWQ0E5SUh0Y2JpQWdhRzkxY2pvZ2JpeGNiaUFnYldsdWRYUmxPaUJ1TEZ4dUlDQnpaV052Ym1RNklHNHNYRzRnSUdodmRYSkRlV05zWlRvZ1hDSm9Nak5jSWl4Y2JpQWdkR2x0WlZwdmJtVk9ZVzFsT2lCekxGeHVmVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRlJKVFVWZk1qUmZWMGxVU0Y5TVQwNUhYMDlHUmxORlZDQTlJSHRjYmlBZ2FHOTFjam9nYml4Y2JpQWdiV2x1ZFhSbE9pQnVMRnh1SUNCelpXTnZibVE2SUc0c1hHNGdJR2h2ZFhKRGVXTnNaVG9nWENKb01qTmNJaXhjYmlBZ2RHbHRaVnB2Ym1WT1lXMWxPaUJzTEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFUkJWRVZVU1UxRlgxTklUMUpVSUQwZ2UxeHVJQ0I1WldGeU9pQnVMRnh1SUNCdGIyNTBhRG9nYml4Y2JpQWdaR0Y1T2lCdUxGeHVJQ0JvYjNWeU9pQnVMRnh1SUNCdGFXNTFkR1U2SUc0c1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSRUZVUlZSSlRVVmZVMGhQVWxSZlYwbFVTRjlUUlVOUFRrUlRJRDBnZTF4dUlDQjVaV0Z5T2lCdUxGeHVJQ0J0YjI1MGFEb2diaXhjYmlBZ1pHRjVPaUJ1TEZ4dUlDQm9iM1Z5T2lCdUxGeHVJQ0J0YVc1MWRHVTZJRzRzWEc0Z0lITmxZMjl1WkRvZ2JpeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFUVZSRlZFbE5SVjlOUlVRZ1BTQjdYRzRnSUhsbFlYSTZJRzRzWEc0Z0lHMXZiblJvT2lCekxGeHVJQ0JrWVhrNklHNHNYRzRnSUdodmRYSTZJRzRzWEc0Z0lHMXBiblYwWlRvZ2JpeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFUVZSRlZFbE5SVjlOUlVSZlYwbFVTRjlUUlVOUFRrUlRJRDBnZTF4dUlDQjVaV0Z5T2lCdUxGeHVJQ0J0YjI1MGFEb2djeXhjYmlBZ1pHRjVPaUJ1TEZ4dUlDQm9iM1Z5T2lCdUxGeHVJQ0J0YVc1MWRHVTZJRzRzWEc0Z0lITmxZMjl1WkRvZ2JpeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JFUVZSRlZFbE5SVjlOUlVSZlYwbFVTRjlYUlVWTFJFRlpJRDBnZTF4dUlDQjVaV0Z5T2lCdUxGeHVJQ0J0YjI1MGFEb2djeXhjYmlBZ1pHRjVPaUJ1TEZ4dUlDQjNaV1ZyWkdGNU9pQnpMRnh1SUNCb2IzVnlPaUJ1TEZ4dUlDQnRhVzUxZEdVNklHNHNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUkVGVVJWUkpUVVZmUmxWTVRDQTlJSHRjYmlBZ2VXVmhjam9nYml4Y2JpQWdiVzl1ZEdnNklHd3NYRzRnSUdSaGVUb2diaXhjYmlBZ2FHOTFjam9nYml4Y2JpQWdiV2x1ZFhSbE9pQnVMRnh1SUNCMGFXMWxXbTl1WlU1aGJXVTZJSE1zWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1JFRlVSVlJKVFVWZlJsVk1URjlYU1ZSSVgxTkZRMDlPUkZNZ1BTQjdYRzRnSUhsbFlYSTZJRzRzWEc0Z0lHMXZiblJvT2lCc0xGeHVJQ0JrWVhrNklHNHNYRzRnSUdodmRYSTZJRzRzWEc0Z0lHMXBiblYwWlRvZ2JpeGNiaUFnYzJWamIyNWtPaUJ1TEZ4dUlDQjBhVzFsV205dVpVNWhiV1U2SUhNc1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSRUZVUlZSSlRVVmZTRlZIUlNBOUlIdGNiaUFnZVdWaGNqb2diaXhjYmlBZ2JXOXVkR2c2SUd3c1hHNGdJR1JoZVRvZ2JpeGNiaUFnZDJWbGEyUmhlVG9nYkN4Y2JpQWdhRzkxY2pvZ2JpeGNiaUFnYldsdWRYUmxPaUJ1TEZ4dUlDQjBhVzFsV205dVpVNWhiV1U2SUd3c1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSRUZVUlZSSlRVVmZTRlZIUlY5WFNWUklYMU5GUTA5T1JGTWdQU0I3WEc0Z0lIbGxZWEk2SUc0c1hHNGdJRzF2Ym5Sb09pQnNMRnh1SUNCa1lYazZJRzRzWEc0Z0lIZGxaV3RrWVhrNklHd3NYRzRnSUdodmRYSTZJRzRzWEc0Z0lHMXBiblYwWlRvZ2JpeGNiaUFnYzJWamIyNWtPaUJ1TEZ4dUlDQjBhVzFsV205dVpVNWhiV1U2SUd3c1hHNTlPMXh1SWl3Z0lpOHFYRzRnSUZSb2FYTWdhWE1nYW5WemRDQmhJR3AxYm1zZ1pISmhkMlZ5TENCamIyNTBZV2x1YVc1bklHRnVlWFJvYVc1bklIVnpaV1FnWVdOeWIzTnpJRzExYkhScGNHeGxJR05zWVhOelpYTXVYRzRnSUVKbFkyRjFjMlVnVEhWNGIyNGdhWE1nYzIxaGJHd29hWE5vS1N3Z2RHaHBjeUJ6YUc5MWJHUWdjM1JoZVNCemJXRnNiQ0JoYm1RZ2QyVWdkMjl1SjNRZ2QyOXljbmtnWVdKdmRYUWdjM0JzYVhSMGFXNW5YRzRnSUdsMElIVndJR2x1ZEc4c0lITmhlU3dnY0dGeWMybHVaMVYwYVd3dWFuTWdZVzVrSUdKaGMybGpWWFJwYkM1cWN5QmhibVFnYzI4Z2IyNHVJRUoxZENCMGFHVjVJR0Z5WlNCa2FYWnBaR1ZrSUhWd0lHSjVJR1psWVhSMWNtVWdZWEpsWVM1Y2Jpb3ZYRzVjYm1sdGNHOXlkQ0I3SUVsdWRtRnNhV1JCY21kMWJXVnVkRVZ5Y205eUlIMGdabkp2YlNCY0lpNHVMMlZ5Y205eWN5NXFjMXdpTzF4dVhHNHZLaXBjYmlBcUlFQndjbWwyWVhSbFhHNGdLaTljYmx4dUx5OGdWRmxRUlZOY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpWVzVrWldacGJtVmtLRzhwSUh0Y2JpQWdjbVYwZFhKdUlIUjVjR1Z2WmlCdklEMDlQU0JjSW5WdVpHVm1hVzVsWkZ3aU8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOT2RXMWlaWElvYnlrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlHOGdQVDA5SUZ3aWJuVnRZbVZ5WENJN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYzBsdWRHVm5aWElvYnlrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlHOGdQVDA5SUZ3aWJuVnRZbVZ5WENJZ0ppWWdieUFsSURFZ1BUMDlJREE3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMU4wY21sdVp5aHZLU0I3WEc0Z0lISmxkSFZ5YmlCMGVYQmxiMllnYnlBOVBUMGdYQ0p6ZEhKcGJtZGNJanRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpSR0YwWlNodktTQjdYRzRnSUhKbGRIVnliaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b2J5a2dQVDA5SUZ3aVcyOWlhbVZqZENCRVlYUmxYVndpTzF4dWZWeHVYRzR2THlCRFFWQkJRa2xNU1ZSSlJWTmNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2hoYzFKbGJHRjBhWFpsS0NrZ2UxeHVJQ0IwY25rZ2UxeHVJQ0FnSUhKbGRIVnliaUIwZVhCbGIyWWdTVzUwYkNBaFBUMGdYQ0oxYm1SbFptbHVaV1JjSWlBbUppQWhJVWx1ZEd3dVVtVnNZWFJwZG1WVWFXMWxSbTl5YldGME8xeHVJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1OVhHNWNiaTh2SUU5Q1NrVkRWRk1nUVU1RUlFRlNVa0ZaVTF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRjVZbVZCY25KaGVTaDBhR2x1WnlrZ2UxeHVJQ0J5WlhSMWNtNGdRWEp5WVhrdWFYTkJjbkpoZVNoMGFHbHVaeWtnUHlCMGFHbHVaeUE2SUZ0MGFHbHVaMTA3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmlaWE4wUW5rb1lYSnlMQ0JpZVN3Z1kyOXRjR0Z5WlNrZ2UxeHVJQ0JwWmlBb1lYSnlMbXhsYm1kMGFDQTlQVDBnTUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc0Z0lIMWNiaUFnY21WMGRYSnVJR0Z5Y2k1eVpXUjFZMlVvS0dKbGMzUXNJRzVsZUhRcElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCd1lXbHlJRDBnVzJKNUtHNWxlSFFwTENCdVpYaDBYVHRjYmlBZ0lDQnBaaUFvSVdKbGMzUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQndZV2x5TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWTI5dGNHRnlaU2hpWlhOMFd6QmRMQ0J3WVdseVd6QmRLU0E5UFQwZ1ltVnpkRnN3WFNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdKbGMzUTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ3WVdseU8xeHVJQ0FnSUgxY2JpQWdmU3dnYm5Wc2JDbGJNVjA3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQndhV05yS0c5aWFpd2dhMlY1Y3lrZ2UxeHVJQ0J5WlhSMWNtNGdhMlY1Y3k1eVpXUjFZMlVvS0dFc0lHc3BJRDArSUh0Y2JpQWdJQ0JoVzJ0ZElEMGdiMkpxVzJ0ZE8xeHVJQ0FnSUhKbGRIVnliaUJoTzF4dUlDQjlMQ0I3ZlNrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJvWVhOUGQyNVFjbTl3WlhKMGVTaHZZbW9zSUhCeWIzQXBJSHRjYmlBZ2NtVjBkWEp1SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNodlltb3NJSEJ5YjNBcE8xeHVmVnh1WEc0dkx5Qk9WVTFDUlZKVElFRk9SQ0JUVkZKSlRrZFRYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYm5SbFoyVnlRbVYwZDJWbGJpaDBhR2x1Wnl3Z1ltOTBkRzl0TENCMGIzQXBJSHRjYmlBZ2NtVjBkWEp1SUdselNXNTBaV2RsY2loMGFHbHVaeWtnSmlZZ2RHaHBibWNnUGowZ1ltOTBkRzl0SUNZbUlIUm9hVzVuSUR3OUlIUnZjRHRjYm4xY2JseHVMeThnZUNBbElHNGdZblYwSUhSaGEyVnpJSFJvWlNCemFXZHVJRzltSUc0Z2FXNXpkR1ZoWkNCdlppQjRYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdabXh2YjNKTmIyUW9lQ3dnYmlrZ2UxeHVJQ0J5WlhSMWNtNGdlQ0F0SUc0Z0tpQk5ZWFJvTG1ac2IyOXlLSGdnTHlCdUtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaFpGTjBZWEowS0dsdWNIVjBMQ0J1SUQwZ01pa2dlMXh1SUNCamIyNXpkQ0JwYzA1bFp5QTlJR2x1Y0hWMElEd2dNRHRjYmlBZ2JHVjBJSEJoWkdSbFpEdGNiaUFnYVdZZ0tHbHpUbVZuS1NCN1hHNGdJQ0FnY0dGa1pHVmtJRDBnWENJdFhDSWdLeUFvWENKY0lpQXJJQzFwYm5CMWRDa3VjR0ZrVTNSaGNuUW9iaXdnWENJd1hDSXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEJoWkdSbFpDQTlJQ2hjSWx3aUlDc2dhVzV3ZFhRcExuQmhaRk4wWVhKMEtHNHNJRndpTUZ3aUtUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2NHRmtaR1ZrTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjR0Z5YzJWSmJuUmxaMlZ5S0hOMGNtbHVaeWtnZTF4dUlDQnBaaUFvYVhOVmJtUmxabWx1WldRb2MzUnlhVzVuS1NCOGZDQnpkSEpwYm1jZ1BUMDlJRzUxYkd3Z2ZId2djM1J5YVc1bklEMDlQU0JjSWx3aUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnY0dGeWMyVkpiblFvYzNSeWFXNW5MQ0F4TUNrN1hHNGdJSDFjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIQmhjbk5sUm14dllYUnBibWNvYzNSeWFXNW5LU0I3WEc0Z0lHbG1JQ2hwYzFWdVpHVm1hVzVsWkNoemRISnBibWNwSUh4OElITjBjbWx1WnlBOVBUMGdiblZzYkNCOGZDQnpkSEpwYm1jZ1BUMDlJRndpWENJcElIdGNiaUFnSUNCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJ3WVhKelpVWnNiMkYwS0hOMGNtbHVaeWs3WEc0Z0lIMWNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxUV2xzYkdsektHWnlZV04wYVc5dUtTQjdYRzRnSUM4dklGSmxkSFZ5YmlCMWJtUmxabWx1WldRZ0tHbHVjM1JsWVdRZ2IyWWdNQ2tnYVc0Z2RHaGxjMlVnWTJGelpYTXNJSGRvWlhKbElHWnlZV04wYVc5dUlHbHpJRzV2ZENCelpYUmNiaUFnYVdZZ0tHbHpWVzVrWldacGJtVmtLR1p5WVdOMGFXOXVLU0I4ZkNCbWNtRmpkR2x2YmlBOVBUMGdiblZzYkNCOGZDQm1jbUZqZEdsdmJpQTlQVDBnWENKY0lpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1kyOXVjM1FnWmlBOUlIQmhjbk5sUm14dllYUW9YQ0l3TGx3aUlDc2dabkpoWTNScGIyNHBJQ29nTVRBd01EdGNiaUFnSUNCeVpYUjFjbTRnVFdGMGFDNW1iRzl2Y2lobUtUdGNiaUFnZlZ4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbTkxYm1SVWJ5aHVkVzFpWlhJc0lHUnBaMmwwY3l3Z2RHOTNZWEprV21WeWJ5QTlJR1poYkhObEtTQjdYRzRnSUdOdmJuTjBJR1poWTNSdmNpQTlJREV3SUNvcUlHUnBaMmwwY3l4Y2JpQWdJQ0J5YjNWdVpHVnlJRDBnZEc5M1lYSmtXbVZ5YnlBL0lFMWhkR2d1ZEhKMWJtTWdPaUJOWVhSb0xuSnZkVzVrTzF4dUlDQnlaWFIxY200Z2NtOTFibVJsY2lodWRXMWlaWElnS2lCbVlXTjBiM0lwSUM4Z1ptRmpkRzl5TzF4dWZWeHVYRzR2THlCRVFWUkZJRUpCVTBsRFUxeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5NWldGd1dXVmhjaWg1WldGeUtTQjdYRzRnSUhKbGRIVnliaUI1WldGeUlDVWdOQ0E5UFQwZ01DQW1KaUFvZVdWaGNpQWxJREV3TUNBaFBUMGdNQ0I4ZkNCNVpXRnlJQ1VnTkRBd0lEMDlQU0F3S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1JoZVhOSmJsbGxZWElvZVdWaGNpa2dlMXh1SUNCeVpYUjFjbTRnYVhOTVpXRndXV1ZoY2loNVpXRnlLU0EvSURNMk5pQTZJRE0yTlR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1JoZVhOSmJrMXZiblJvS0hsbFlYSXNJRzF2Ym5Sb0tTQjdYRzRnSUdOdmJuTjBJRzF2WkUxdmJuUm9JRDBnWm14dmIzSk5iMlFvYlc5dWRHZ2dMU0F4TENBeE1pa2dLeUF4TEZ4dUlDQWdJRzF2WkZsbFlYSWdQU0I1WldGeUlDc2dLRzF2Ym5Sb0lDMGdiVzlrVFc5dWRHZ3BJQzhnTVRJN1hHNWNiaUFnYVdZZ0tHMXZaRTF2Ym5Sb0lEMDlQU0F5S1NCN1hHNGdJQ0FnY21WMGRYSnVJR2x6VEdWaGNGbGxZWElvYlc5a1dXVmhjaWtnUHlBeU9TQTZJREk0TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJiTXpFc0lHNTFiR3dzSURNeExDQXpNQ3dnTXpFc0lETXdMQ0F6TVN3Z016RXNJRE13TENBek1Td2dNekFzSURNeFhWdHRiMlJOYjI1MGFDQXRJREZkTzF4dUlDQjlYRzU5WEc1Y2JpOHZJR052ZG1WeWRDQmhJR05oYkdWdVpHRnlJRzlpYW1WamRDQjBieUJoSUd4dlkyRnNJSFJwYldWemRHRnRjQ0FvWlhCdlkyZ3NJR0oxZENCM2FYUm9JSFJvWlNCdlptWnpaWFFnWW1GclpXUWdhVzRwWEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYjJKcVZHOU1iMk5oYkZSVEtHOWlhaWtnZTF4dUlDQnNaWFFnWkNBOUlFUmhkR1V1VlZSREtGeHVJQ0FnSUc5aWFpNTVaV0Z5TEZ4dUlDQWdJRzlpYWk1dGIyNTBhQ0F0SURFc1hHNGdJQ0FnYjJKcUxtUmhlU3hjYmlBZ0lDQnZZbW91YUc5MWNpeGNiaUFnSUNCdlltb3ViV2x1ZFhSbExGeHVJQ0FnSUc5aWFpNXpaV052Ym1Rc1hHNGdJQ0FnYjJKcUxtMXBiR3hwYzJWamIyNWtYRzRnSUNrN1hHNWNiaUFnTHk4Z1ptOXlJR3hsWjJGamVTQnlaV0Z6YjI1ekxDQjVaV0Z5Y3lCaVpYUjNaV1Z1SURBZ1lXNWtJRGs1SUdGeVpTQnBiblJsY25CeVpYUmxaQ0JoY3lBeE9WaFlPeUJ5WlhabGNuUWdkR2hoZEZ4dUlDQnBaaUFvYjJKcUxubGxZWElnUENBeE1EQWdKaVlnYjJKcUxubGxZWElnUGowZ01Da2dlMXh1SUNBZ0lHUWdQU0J1WlhjZ1JHRjBaU2hrS1R0Y2JpQWdJQ0JrTG5ObGRGVlVRMFoxYkd4WlpXRnlLR1F1WjJWMFZWUkRSblZzYkZsbFlYSW9LU0F0SURFNU1EQXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQXJaRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIZGxaV3R6U1c1WFpXVnJXV1ZoY2loM1pXVnJXV1ZoY2lrZ2UxeHVJQ0JqYjI1emRDQndNU0E5WEc0Z0lDQWdJQ0FvZDJWbGExbGxZWElnSzF4dUlDQWdJQ0FnSUNCTllYUm9MbVpzYjI5eUtIZGxaV3RaWldGeUlDOGdOQ2tnTFZ4dUlDQWdJQ0FnSUNCTllYUm9MbVpzYjI5eUtIZGxaV3RaWldGeUlDOGdNVEF3S1NBclhHNGdJQ0FnSUNBZ0lFMWhkR2d1Wm14dmIzSW9kMlZsYTFsbFlYSWdMeUEwTURBcEtTQWxYRzRnSUNBZ0lDQTNMRnh1SUNBZ0lHeGhjM1FnUFNCM1pXVnJXV1ZoY2lBdElERXNYRzRnSUNBZ2NESWdQU0FvYkdGemRDQXJJRTFoZEdndVpteHZiM0lvYkdGemRDQXZJRFFwSUMwZ1RXRjBhQzVtYkc5dmNpaHNZWE4wSUM4Z01UQXdLU0FySUUxaGRHZ3VabXh2YjNJb2JHRnpkQ0F2SURRd01Da3BJQ1VnTnp0Y2JpQWdjbVYwZFhKdUlIQXhJRDA5UFNBMElIeDhJSEF5SUQwOVBTQXpJRDhnTlRNZ09pQTFNanRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIVnVkSEoxYm1OaGRHVlpaV0Z5S0hsbFlYSXBJSHRjYmlBZ2FXWWdLSGxsWVhJZ1BpQTVPU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjVaV0Z5TzF4dUlDQjlJR1ZzYzJVZ2NtVjBkWEp1SUhsbFlYSWdQaUEyTUNBL0lERTVNREFnS3lCNVpXRnlJRG9nTWpBd01DQXJJSGxsWVhJN1hHNTlYRzVjYmk4dklGQkJVbE5KVGtkY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIQmhjbk5sV205dVpVbHVabThvZEhNc0lHOW1abk5sZEVadmNtMWhkQ3dnYkc5allXeGxMQ0IwYVcxbFdtOXVaU0E5SUc1MWJHd3BJSHRjYmlBZ1kyOXVjM1FnWkdGMFpTQTlJRzVsZHlCRVlYUmxLSFJ6S1N4Y2JpQWdJQ0JwYm5Sc1QzQjBjeUE5SUh0Y2JpQWdJQ0FnSUdodmRYSkRlV05zWlRvZ1hDSm9Nak5jSWl4Y2JpQWdJQ0FnSUhsbFlYSTZJRndpYm5WdFpYSnBZMXdpTEZ4dUlDQWdJQ0FnYlc5dWRHZzZJRndpTWkxa2FXZHBkRndpTEZ4dUlDQWdJQ0FnWkdGNU9pQmNJakl0WkdsbmFYUmNJaXhjYmlBZ0lDQWdJR2h2ZFhJNklGd2lNaTFrYVdkcGRGd2lMRnh1SUNBZ0lDQWdiV2x1ZFhSbE9pQmNJakl0WkdsbmFYUmNJaXhjYmlBZ0lDQjlPMXh1WEc0Z0lHbG1JQ2gwYVcxbFdtOXVaU2tnZTF4dUlDQWdJR2x1ZEd4UGNIUnpMblJwYldWYWIyNWxJRDBnZEdsdFpWcHZibVU3WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0J0YjJScFptbGxaQ0E5SUhzZ2RHbHRaVnB2Ym1WT1lXMWxPaUJ2Wm1aelpYUkdiM0p0WVhRc0lDNHVMbWx1ZEd4UGNIUnpJSDA3WEc1Y2JpQWdZMjl1YzNRZ2NHRnljMlZrSUQwZ2JtVjNJRWx1ZEd3dVJHRjBaVlJwYldWR2IzSnRZWFFvYkc5allXeGxMQ0J0YjJScFptbGxaQ2xjYmlBZ0lDQXVabTl5YldGMFZHOVFZWEowY3loa1lYUmxLVnh1SUNBZ0lDNW1hVzVrS0NodEtTQTlQaUJ0TG5SNWNHVXVkRzlNYjNkbGNrTmhjMlVvS1NBOVBUMGdYQ0owYVcxbGVtOXVaVzVoYldWY0lpazdYRzRnSUhKbGRIVnliaUJ3WVhKelpXUWdQeUJ3WVhKelpXUXVkbUZzZFdVZ09pQnVkV3hzTzF4dWZWeHVYRzR2THlCemFXZHVaV1JQWm1aelpYUW9KeTAxSnl3Z0p6TXdKeWtnTFQ0Z0xUTXpNRnh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE5wWjI1bFpFOW1abk5sZENodlptWkliM1Z5VTNSeUxDQnZabVpOYVc1MWRHVlRkSElwSUh0Y2JpQWdiR1YwSUc5bVpraHZkWElnUFNCd1lYSnpaVWx1ZENodlptWkliM1Z5VTNSeUxDQXhNQ2s3WEc1Y2JpQWdMeThnWkc5dUozUWdmSHdnZEdocGN5QmlaV05oZFhObElIZGxJSGRoYm5RZ2RHOGdjSEpsYzJWeWRtVWdMVEJjYmlBZ2FXWWdLRTUxYldKbGNpNXBjMDVoVGlodlptWkliM1Z5S1NrZ2UxeHVJQ0FnSUc5bVpraHZkWElnUFNBd08xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ2IyWm1UV2x1SUQwZ2NHRnljMlZKYm5Rb2IyWm1UV2x1ZFhSbFUzUnlMQ0F4TUNrZ2ZId2dNQ3hjYmlBZ0lDQnZabVpOYVc1VGFXZHVaV1FnUFNCdlptWkliM1Z5SUR3Z01DQjhmQ0JQWW1wbFkzUXVhWE1vYjJabVNHOTFjaXdnTFRBcElEOGdMVzltWmsxcGJpQTZJRzltWmsxcGJqdGNiaUFnY21WMGRYSnVJRzltWmtodmRYSWdLaUEyTUNBcklHOW1aazFwYmxOcFoyNWxaRHRjYm4xY2JseHVMeThnUTA5RlVrTkpUMDVjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdGelRuVnRZbVZ5S0haaGJIVmxLU0I3WEc0Z0lHTnZibk4wSUc1MWJXVnlhV05XWVd4MVpTQTlJRTUxYldKbGNpaDJZV3gxWlNrN1hHNGdJR2xtSUNoMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUZ3aVltOXZiR1ZoYmx3aUlIeDhJSFpoYkhWbElEMDlQU0JjSWx3aUlIeDhJRTUxYldKbGNpNXBjMDVoVGlodWRXMWxjbWxqVm1Gc2RXVXBLVnh1SUNBZ0lIUm9jbTkzSUc1bGR5QkpiblpoYkdsa1FYSm5kVzFsYm5SRmNuSnZjaWhnU1c1MllXeHBaQ0IxYm1sMElIWmhiSFZsSUNSN2RtRnNkV1Y5WUNrN1hHNGdJSEpsZEhWeWJpQnVkVzFsY21salZtRnNkV1U3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVlBZbXBsWTNRb2IySnFMQ0J1YjNKdFlXeHBlbVZ5S1NCN1hHNGdJR052Ym5OMElHNXZjbTFoYkdsNlpXUWdQU0I3ZlR0Y2JpQWdabTl5SUNoamIyNXpkQ0IxSUdsdUlHOWlhaWtnZTF4dUlDQWdJR2xtSUNob1lYTlBkMjVRY205d1pYSjBlU2h2WW1vc0lIVXBLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjJJRDBnYjJKcVczVmRPMXh1SUNBZ0lDQWdhV1lnS0hZZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCMklEMDlQU0J1ZFd4c0tTQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lHNXZjbTFoYkdsNlpXUmJibTl5YldGc2FYcGxjaWgxS1YwZ1BTQmhjMDUxYldKbGNpaDJLVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlHNXZjbTFoYkdsNlpXUTdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbWIzSnRZWFJQWm1aelpYUW9iMlptYzJWMExDQm1iM0p0WVhRcElIdGNiaUFnWTI5dWMzUWdhRzkxY25NZ1BTQk5ZWFJvTG5SeWRXNWpLRTFoZEdndVlXSnpLRzltWm5ObGRDQXZJRFl3S1Nrc1hHNGdJQ0FnYldsdWRYUmxjeUE5SUUxaGRHZ3VkSEoxYm1Nb1RXRjBhQzVoWW5Nb2IyWm1jMlYwSUNVZ05qQXBLU3hjYmlBZ0lDQnphV2R1SUQwZ2IyWm1jMlYwSUQ0OUlEQWdQeUJjSWl0Y0lpQTZJRndpTFZ3aU8xeHVYRzRnSUhOM2FYUmphQ0FvWm05eWJXRjBLU0I3WEc0Z0lDQWdZMkZ6WlNCY0luTm9iM0owWENJNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWUNSN2MybG5ibjBrZTNCaFpGTjBZWEowS0dodmRYSnpMQ0F5S1gwNkpIdHdZV1JUZEdGeWRDaHRhVzUxZEdWekxDQXlLWDFnTzF4dUlDQWdJR05oYzJVZ1hDSnVZWEp5YjNkY0lqcGNiaUFnSUNBZ0lISmxkSFZ5YmlCZ0pIdHphV2R1ZlNSN2FHOTFjbk45Skh0dGFXNTFkR1Z6SUQ0Z01DQS9JR0E2Skh0dGFXNTFkR1Z6ZldBZ09pQmNJbHdpZldBN1hHNGdJQ0FnWTJGelpTQmNJblJsWTJocFpWd2lPbHh1SUNBZ0lDQWdjbVYwZFhKdUlHQWtlM05wWjI1OUpIdHdZV1JUZEdGeWRDaG9iM1Z5Y3l3Z01pbDlKSHR3WVdSVGRHRnlkQ2h0YVc1MWRHVnpMQ0F5S1gxZ08xeHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2loZ1ZtRnNkV1VnWm05eWJXRjBJQ1I3Wm05eWJXRjBmU0JwY3lCdmRYUWdiMllnY21GdVoyVWdabTl5SUhCeWIzQmxjblI1SUdadmNtMWhkR0FwTzF4dUlDQjlYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMGFXMWxUMkpxWldOMEtHOWlhaWtnZTF4dUlDQnlaWFIxY200Z2NHbGpheWh2WW1vc0lGdGNJbWh2ZFhKY0lpd2dYQ0p0YVc1MWRHVmNJaXdnWENKelpXTnZibVJjSWl3Z1hDSnRhV3hzYVhObFkyOXVaRndpWFNrN1hHNTlYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnBZVzVoVW1WblpYZ2dQVnh1SUNBdlcwRXRXbUV0ZWw4ckxWMTdNU3d5TlRaOUtEODZPajljWEM5YlFTMWFZUzE2TUMwNVh5c3RYWHN4TERJMU5uMG9QenBjWEM5YlFTMWFZUzE2TUMwNVh5c3RYWHN4TERJMU5uMHBQeWsvTHp0Y2JpSXNJQ0pwYlhCdmNuUWdLaUJoY3lCR2IzSnRZWFJ6SUdaeWIyMGdYQ0l1TDJadmNtMWhkSE11YW5OY0lqdGNibWx0Y0c5eWRDQjdJSEJwWTJzZ2ZTQm1jbTl0SUZ3aUxpOTFkR2xzTG1welhDSTdYRzVjYm1aMWJtTjBhVzl1SUhOMGNtbHVaMmxtZVNodlltb3BJSHRjYmlBZ2NtVjBkWEp1SUVwVFQwNHVjM1J5YVc1bmFXWjVLRzlpYWl3Z1QySnFaV04wTG10bGVYTW9iMkpxS1M1emIzSjBLQ2twTzF4dWZWeHVYRzR2S2lwY2JpQXFJRUJ3Y21sMllYUmxYRzRnS2k5Y2JseHVaWGh3YjNKMElHTnZibk4wSUcxdmJuUm9jMHh2Ym1jZ1BTQmJYRzRnSUZ3aVNtRnVkV0Z5ZVZ3aUxGeHVJQ0JjSWtabFluSjFZWEo1WENJc1hHNGdJRndpVFdGeVkyaGNJaXhjYmlBZ1hDSkJjSEpwYkZ3aUxGeHVJQ0JjSWsxaGVWd2lMRnh1SUNCY0lrcDFibVZjSWl4Y2JpQWdYQ0pLZFd4NVhDSXNYRzRnSUZ3aVFYVm5kWE4wWENJc1hHNGdJRndpVTJWd2RHVnRZbVZ5WENJc1hHNGdJRndpVDJOMGIySmxjbHdpTEZ4dUlDQmNJazV2ZG1WdFltVnlYQ0lzWEc0Z0lGd2lSR1ZqWlcxaVpYSmNJaXhjYmwwN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCdGIyNTBhSE5UYUc5eWRDQTlJRnRjYmlBZ1hDSktZVzVjSWl4Y2JpQWdYQ0pHWldKY0lpeGNiaUFnWENKTllYSmNJaXhjYmlBZ1hDSkJjSEpjSWl4Y2JpQWdYQ0pOWVhsY0lpeGNiaUFnWENKS2RXNWNJaXhjYmlBZ1hDSktkV3hjSWl4Y2JpQWdYQ0pCZFdkY0lpeGNiaUFnWENKVFpYQmNJaXhjYmlBZ1hDSlBZM1JjSWl4Y2JpQWdYQ0pPYjNaY0lpeGNiaUFnWENKRVpXTmNJaXhjYmwwN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCdGIyNTBhSE5PWVhKeWIzY2dQU0JiWENKS1hDSXNJRndpUmx3aUxDQmNJazFjSWl3Z1hDSkJYQ0lzSUZ3aVRWd2lMQ0JjSWtwY0lpd2dYQ0pLWENJc0lGd2lRVndpTENCY0lsTmNJaXdnWENKUFhDSXNJRndpVGx3aUxDQmNJa1JjSWwwN1hHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRiMjUwYUhNb2JHVnVaM1JvS1NCN1hHNGdJSE4zYVhSamFDQW9iR1Z1WjNSb0tTQjdYRzRnSUNBZ1kyRnpaU0JjSW01aGNuSnZkMXdpT2x4dUlDQWdJQ0FnY21WMGRYSnVJRnN1TGk1dGIyNTBhSE5PWVhKeWIzZGRPMXh1SUNBZ0lHTmhjMlVnWENKemFHOXlkRndpT2x4dUlDQWdJQ0FnY21WMGRYSnVJRnN1TGk1dGIyNTBhSE5UYUc5eWRGMDdYRzRnSUNBZ1kyRnpaU0JjSW14dmJtZGNJanBjYmlBZ0lDQWdJSEpsZEhWeWJpQmJMaTR1Ylc5dWRHaHpURzl1WjEwN1hHNGdJQ0FnWTJGelpTQmNJbTUxYldWeWFXTmNJanBjYmlBZ0lDQWdJSEpsZEhWeWJpQmJYQ0l4WENJc0lGd2lNbHdpTENCY0lqTmNJaXdnWENJMFhDSXNJRndpTlZ3aUxDQmNJalpjSWl3Z1hDSTNYQ0lzSUZ3aU9Gd2lMQ0JjSWpsY0lpd2dYQ0l4TUZ3aUxDQmNJakV4WENJc0lGd2lNVEpjSWwwN1hHNGdJQ0FnWTJGelpTQmNJakl0WkdsbmFYUmNJanBjYmlBZ0lDQWdJSEpsZEhWeWJpQmJYQ0l3TVZ3aUxDQmNJakF5WENJc0lGd2lNRE5jSWl3Z1hDSXdORndpTENCY0lqQTFYQ0lzSUZ3aU1EWmNJaXdnWENJd04xd2lMQ0JjSWpBNFhDSXNJRndpTURsY0lpd2dYQ0l4TUZ3aUxDQmNJakV4WENJc0lGd2lNVEpjSWwwN1hHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzU5WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0IzWldWclpHRjVjMHh2Ym1jZ1BTQmJYRzRnSUZ3aVRXOXVaR0Y1WENJc1hHNGdJRndpVkhWbGMyUmhlVndpTEZ4dUlDQmNJbGRsWkc1bGMyUmhlVndpTEZ4dUlDQmNJbFJvZFhKelpHRjVYQ0lzWEc0Z0lGd2lSbkpwWkdGNVhDSXNYRzRnSUZ3aVUyRjBkWEprWVhsY0lpeGNiaUFnWENKVGRXNWtZWGxjSWl4Y2JsMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQjNaV1ZyWkdGNWMxTm9iM0owSUQwZ1cxd2lUVzl1WENJc0lGd2lWSFZsWENJc0lGd2lWMlZrWENJc0lGd2lWR2gxWENJc0lGd2lSbkpwWENJc0lGd2lVMkYwWENJc0lGd2lVM1Z1WENKZE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ2QyVmxhMlJoZVhOT1lYSnliM2NnUFNCYlhDSk5YQ0lzSUZ3aVZGd2lMQ0JjSWxkY0lpd2dYQ0pVWENJc0lGd2lSbHdpTENCY0lsTmNJaXdnWENKVFhDSmRPMXh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZDJWbGEyUmhlWE1vYkdWdVozUm9LU0I3WEc0Z0lITjNhWFJqYUNBb2JHVnVaM1JvS1NCN1hHNGdJQ0FnWTJGelpTQmNJbTVoY25KdmQxd2lPbHh1SUNBZ0lDQWdjbVYwZFhKdUlGc3VMaTUzWldWclpHRjVjMDVoY25KdmQxMDdYRzRnSUNBZ1kyRnpaU0JjSW5Ob2IzSjBYQ0k2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdXeTR1TG5kbFpXdGtZWGx6VTJodmNuUmRPMXh1SUNBZ0lHTmhjMlVnWENKc2IyNW5YQ0k2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdXeTR1TG5kbFpXdGtZWGx6VEc5dVoxMDdYRzRnSUNBZ1kyRnpaU0JjSW01MWJXVnlhV05jSWpwY2JpQWdJQ0FnSUhKbGRIVnliaUJiWENJeFhDSXNJRndpTWx3aUxDQmNJak5jSWl3Z1hDSTBYQ0lzSUZ3aU5Wd2lMQ0JjSWpaY0lpd2dYQ0kzWENKZE8xeHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnYldWeWFXUnBaVzF6SUQwZ1cxd2lRVTFjSWl3Z1hDSlFUVndpWFR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUdWeVlYTk1iMjVuSUQwZ1cxd2lRbVZtYjNKbElFTm9jbWx6ZEZ3aUxDQmNJa0Z1Ym04Z1JHOXRhVzVwWENKZE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1pYSmhjMU5vYjNKMElEMGdXMXdpUWtOY0lpd2dYQ0pCUkZ3aVhUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHVnlZWE5PWVhKeWIzY2dQU0JiWENKQ1hDSXNJRndpUVZ3aVhUdGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1Z5WVhNb2JHVnVaM1JvS1NCN1hHNGdJSE4zYVhSamFDQW9iR1Z1WjNSb0tTQjdYRzRnSUNBZ1kyRnpaU0JjSW01aGNuSnZkMXdpT2x4dUlDQWdJQ0FnY21WMGRYSnVJRnN1TGk1bGNtRnpUbUZ5Y205M1hUdGNiaUFnSUNCallYTmxJRndpYzJodmNuUmNJanBjYmlBZ0lDQWdJSEpsZEhWeWJpQmJMaTR1WlhKaGMxTm9iM0owWFR0Y2JpQWdJQ0JqWVhObElGd2liRzl1WjF3aU9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZzdUxpNWxjbUZ6VEc5dVoxMDdYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRaWEpwWkdsbGJVWnZja1JoZEdWVWFXMWxLR1IwS1NCN1hHNGdJSEpsZEhWeWJpQnRaWEpwWkdsbGJYTmJaSFF1YUc5MWNpQThJREV5SUQ4Z01DQTZJREZkTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkMlZsYTJSaGVVWnZja1JoZEdWVWFXMWxLR1IwTENCc1pXNW5kR2dwSUh0Y2JpQWdjbVYwZFhKdUlIZGxaV3RrWVhsektHeGxibWQwYUNsYlpIUXVkMlZsYTJSaGVTQXRJREZkTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiVzl1ZEdoR2IzSkVZWFJsVkdsdFpTaGtkQ3dnYkdWdVozUm9LU0I3WEc0Z0lISmxkSFZ5YmlCdGIyNTBhSE1vYkdWdVozUm9LVnRrZEM1dGIyNTBhQ0F0SURGZE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWlhKaFJtOXlSR0YwWlZScGJXVW9aSFFzSUd4bGJtZDBhQ2tnZTF4dUlDQnlaWFIxY200Z1pYSmhjeWhzWlc1bmRHZ3BXMlIwTG5sbFlYSWdQQ0F3SUQ4Z01DQTZJREZkTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdabTl5YldGMFVtVnNZWFJwZG1WVWFXMWxLSFZ1YVhRc0lHTnZkVzUwTENCdWRXMWxjbWxqSUQwZ1hDSmhiSGRoZVhOY0lpd2dibUZ5Y205M0lEMGdabUZzYzJVcElIdGNiaUFnWTI5dWMzUWdkVzVwZEhNZ1BTQjdYRzRnSUNBZ2VXVmhjbk02SUZ0Y0lubGxZWEpjSWl3Z1hDSjVjaTVjSWwwc1hHNGdJQ0FnY1hWaGNuUmxjbk02SUZ0Y0luRjFZWEowWlhKY0lpd2dYQ0p4ZEhJdVhDSmRMRnh1SUNBZ0lHMXZiblJvY3pvZ1cxd2liVzl1ZEdoY0lpd2dYQ0p0Ynk1Y0lsMHNYRzRnSUNBZ2QyVmxhM002SUZ0Y0luZGxaV3RjSWl3Z1hDSjNheTVjSWwwc1hHNGdJQ0FnWkdGNWN6b2dXMXdpWkdGNVhDSXNJRndpWkdGNVhDSXNJRndpWkdGNWMxd2lYU3hjYmlBZ0lDQm9iM1Z5Y3pvZ1cxd2lhRzkxY2x3aUxDQmNJbWh5TGx3aVhTeGNiaUFnSUNCdGFXNTFkR1Z6T2lCYlhDSnRhVzUxZEdWY0lpd2dYQ0p0YVc0dVhDSmRMRnh1SUNBZ0lITmxZMjl1WkhNNklGdGNJbk5sWTI5dVpGd2lMQ0JjSW5ObFl5NWNJbDBzWEc0Z0lIMDdYRzVjYmlBZ1kyOXVjM1FnYkdGemRHRmliR1VnUFNCYlhDSm9iM1Z5YzF3aUxDQmNJbTFwYm5WMFpYTmNJaXdnWENKelpXTnZibVJ6WENKZExtbHVaR1Y0VDJZb2RXNXBkQ2tnUFQwOUlDMHhPMXh1WEc0Z0lHbG1JQ2h1ZFcxbGNtbGpJRDA5UFNCY0ltRjFkRzljSWlBbUppQnNZWE4wWVdKc1pTa2dlMXh1SUNBZ0lHTnZibk4wSUdselJHRjVJRDBnZFc1cGRDQTlQVDBnWENKa1lYbHpYQ0k3WEc0Z0lDQWdjM2RwZEdOb0lDaGpiM1Z1ZENrZ2UxeHVJQ0FnSUNBZ1kyRnpaU0F4T2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhORVlYa2dQeUJjSW5SdmJXOXljbTkzWENJZ09pQmdibVY0ZENBa2UzVnVhWFJ6VzNWdWFYUmRXekJkZldBN1hHNGdJQ0FnSUNCallYTmxJQzB4T2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhORVlYa2dQeUJjSW5sbGMzUmxjbVJoZVZ3aUlEb2dZR3hoYzNRZ0pIdDFibWwwYzF0MWJtbDBYVnN3WFgxZ08xeHVJQ0FnSUNBZ1kyRnpaU0F3T2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhORVlYa2dQeUJjSW5SdlpHRjVYQ0lnT2lCZ2RHaHBjeUFrZTNWdWFYUnpXM1Z1YVhSZFd6QmRmV0E3WEc0Z0lDQWdJQ0JrWldaaGRXeDBPaUF2THlCbVlXeHNJSFJvY205MVoyaGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmpiMjV6ZENCcGMwbHVVR0Z6ZENBOUlFOWlhbVZqZEM1cGN5aGpiM1Z1ZEN3Z0xUQXBJSHg4SUdOdmRXNTBJRHdnTUN4Y2JpQWdJQ0JtYlhSV1lXeDFaU0E5SUUxaGRHZ3VZV0p6S0dOdmRXNTBLU3hjYmlBZ0lDQnphVzVuZFd4aGNpQTlJR1p0ZEZaaGJIVmxJRDA5UFNBeExGeHVJQ0FnSUd4cGJGVnVhWFJ6SUQwZ2RXNXBkSE5iZFc1cGRGMHNYRzRnSUNBZ1ptMTBWVzVwZENBOUlHNWhjbkp2ZDF4dUlDQWdJQ0FnUHlCemFXNW5kV3hoY2x4dUlDQWdJQ0FnSUNBL0lHeHBiRlZ1YVhSeld6RmRYRzRnSUNBZ0lDQWdJRG9nYkdsc1ZXNXBkSE5iTWwwZ2ZId2diR2xzVlc1cGRITmJNVjFjYmlBZ0lDQWdJRG9nYzJsdVozVnNZWEpjYmlBZ0lDQWdJRDhnZFc1cGRITmJkVzVwZEYxYk1GMWNiaUFnSUNBZ0lEb2dkVzVwZER0Y2JpQWdjbVYwZFhKdUlHbHpTVzVRWVhOMElEOGdZQ1I3Wm0xMFZtRnNkV1Y5SUNSN1ptMTBWVzVwZEgwZ1lXZHZZQ0E2SUdCcGJpQWtlMlp0ZEZaaGJIVmxmU0FrZTJadGRGVnVhWFI5WUR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1p2Y20xaGRGTjBjbWx1WnlocmJtOTNia1p2Y20xaGRDa2dlMXh1SUNBdkx5QjBhR1Z6WlNCaGJHd2dhR0YyWlNCMGFHVWdiMlptYzJWMGN5QnlaVzF2ZG1Wa0lHSmxZMkYxYzJVZ2QyVWdaRzl1SjNRZ2FHRjJaU0JoWTJObGMzTWdkRzhnZEdobGJWeHVJQ0F2THlCM2FYUm9iM1YwSUdGc2JDQjBhR1VnYVc1MGJDQnpkSFZtWmlCMGFHbHpJR2x6SUdKaFkydG1hV3hzYVc1blhHNGdJR052Ym5OMElHWnBiSFJsY21Wa0lEMGdjR2xqYXlocmJtOTNia1p2Y20xaGRDd2dXMXh1SUNBZ0lDQWdYQ0ozWldWclpHRjVYQ0lzWEc0Z0lDQWdJQ0JjSW1WeVlWd2lMRnh1SUNBZ0lDQWdYQ0o1WldGeVhDSXNYRzRnSUNBZ0lDQmNJbTF2Ym5Sb1hDSXNYRzRnSUNBZ0lDQmNJbVJoZVZ3aUxGeHVJQ0FnSUNBZ1hDSm9iM1Z5WENJc1hHNGdJQ0FnSUNCY0ltMXBiblYwWlZ3aUxGeHVJQ0FnSUNBZ1hDSnpaV052Ym1SY0lpeGNiaUFnSUNBZ0lGd2lkR2x0WlZwdmJtVk9ZVzFsWENJc1hHNGdJQ0FnSUNCY0ltaHZkWEpEZVdOc1pWd2lMRnh1SUNBZ0lGMHBMRnh1SUNBZ0lHdGxlU0E5SUhOMGNtbHVaMmxtZVNobWFXeDBaWEpsWkNrc1hHNGdJQ0FnWkdGMFpWUnBiV1ZJZFdkbElEMGdYQ0pGUlVWRkxDQk1URXhNSUdRc0lIbDVlWGtzSUdnNmJXMGdZVndpTzF4dUlDQnpkMmwwWTJnZ0tHdGxlU2tnZTF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVJFRlVSVjlUU0U5U1ZDazZYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSk5MMlF2ZVhsNWVWd2lPMXh1SUNBZ0lHTmhjMlVnYzNSeWFXNW5hV1o1S0VadmNtMWhkSE11UkVGVVJWOU5SVVFwT2x4dUlDQWdJQ0FnY21WMGRYSnVJRndpVEV4TUlHUXNJSGw1ZVhsY0lqdGNiaUFnSUNCallYTmxJSE4wY21sdVoybG1lU2hHYjNKdFlYUnpMa1JCVkVWZlRVVkVYMWRKVkVoZlYwVkZTMFJCV1NrNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWENKRlJVVXNJRXhNVENCa0xDQjVlWGw1WENJN1hHNGdJQ0FnWTJGelpTQnpkSEpwYm1kcFpua29SbTl5YldGMGN5NUVRVlJGWDBaVlRFd3BPbHh1SUNBZ0lDQWdjbVYwZFhKdUlGd2lURXhNVENCa0xDQjVlWGw1WENJN1hHNGdJQ0FnWTJGelpTQnpkSEpwYm1kcFpua29SbTl5YldGMGN5NUVRVlJGWDBoVlIwVXBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlGd2lSVVZGUlN3Z1RFeE1UQ0JrTENCNWVYbDVYQ0k3WEc0Z0lDQWdZMkZ6WlNCemRISnBibWRwWm5rb1JtOXliV0YwY3k1VVNVMUZYMU5KVFZCTVJTazZYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSm9PbTF0SUdGY0lqdGNiaUFnSUNCallYTmxJSE4wY21sdVoybG1lU2hHYjNKdFlYUnpMbFJKVFVWZlYwbFVTRjlUUlVOUFRrUlRLVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQmNJbWc2YlcwNmMzTWdZVndpTzF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVZFbE5SVjlYU1ZSSVgxTklUMUpVWDA5R1JsTkZWQ2s2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdYQ0pvT20xdElHRmNJanRjYmlBZ0lDQmpZWE5sSUhOMGNtbHVaMmxtZVNoR2IzSnRZWFJ6TGxSSlRVVmZWMGxVU0Y5TVQwNUhYMDlHUmxORlZDazZYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSm9PbTF0SUdGY0lqdGNiaUFnSUNCallYTmxJSE4wY21sdVoybG1lU2hHYjNKdFlYUnpMbFJKVFVWZk1qUmZVMGxOVUV4RktUcGNiaUFnSUNBZ0lISmxkSFZ5YmlCY0lraElPbTF0WENJN1hHNGdJQ0FnWTJGelpTQnpkSEpwYm1kcFpua29SbTl5YldGMGN5NVVTVTFGWHpJMFgxZEpWRWhmVTBWRFQwNUVVeWs2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdYQ0pJU0RwdGJUcHpjMXdpTzF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVZFbE5SVjh5TkY5WFNWUklYMU5JVDFKVVgwOUdSbE5GVkNrNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWENKSVNEcHRiVndpTzF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVZFbE5SVjh5TkY5WFNWUklYMHhQVGtkZlQwWkdVMFZVS1RwY2JpQWdJQ0FnSUhKbGRIVnliaUJjSWtoSU9tMXRYQ0k3WEc0Z0lDQWdZMkZ6WlNCemRISnBibWRwWm5rb1JtOXliV0YwY3k1RVFWUkZWRWxOUlY5VFNFOVNWQ2s2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdYQ0pOTDJRdmVYbDVlU3dnYURwdGJTQmhYQ0k3WEc0Z0lDQWdZMkZ6WlNCemRISnBibWRwWm5rb1JtOXliV0YwY3k1RVFWUkZWRWxOUlY5TlJVUXBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlGd2lURXhNSUdRc0lIbDVlWGtzSUdnNmJXMGdZVndpTzF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlJsVk1UQ2s2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdYQ0pNVEV4TUlHUXNJSGw1ZVhrc0lHZzZiVzBnWVZ3aU8xeHVJQ0FnSUdOaGMyVWdjM1J5YVc1bmFXWjVLRVp2Y20xaGRITXVSRUZVUlZSSlRVVmZTRlZIUlNrNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWkdGMFpWUnBiV1ZJZFdkbE8xeHVJQ0FnSUdOaGMyVWdjM1J5YVc1bmFXWjVLRVp2Y20xaGRITXVSRUZVUlZSSlRVVmZVMGhQVWxSZlYwbFVTRjlUUlVOUFRrUlRLVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQmNJazB2WkM5NWVYbDVMQ0JvT20xdE9uTnpJR0ZjSWp0Y2JpQWdJQ0JqWVhObElITjBjbWx1WjJsbWVTaEdiM0p0WVhSekxrUkJWRVZVU1UxRlgwMUZSRjlYU1ZSSVgxTkZRMDlPUkZNcE9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVRFeE1JR1FzSUhsNWVYa3NJR2c2YlcwNmMzTWdZVndpTzF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlRVVkVYMWRKVkVoZlYwVkZTMFJCV1NrNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWENKRlJVVXNJR1FnVEV4TUlIbDVlWGtzSUdnNmJXMGdZVndpTzF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlJsVk1URjlYU1ZSSVgxTkZRMDlPUkZNcE9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVRFeE1UQ0JrTENCNWVYbDVMQ0JvT20xdE9uTnpJR0ZjSWp0Y2JpQWdJQ0JqWVhObElITjBjbWx1WjJsbWVTaEdiM0p0WVhSekxrUkJWRVZVU1UxRlgwaFZSMFZmVjBsVVNGOVRSVU5QVGtSVEtUcGNiaUFnSUNBZ0lISmxkSFZ5YmlCY0lrVkZSVVVzSUV4TVRFd2daQ3dnZVhsNWVTd2dhRHB0YlRwemN5QmhYQ0k3WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lISmxkSFZ5YmlCa1lYUmxWR2x0WlVoMVoyVTdYRzRnSUgxY2JuMWNiaUlzSUNKcGJYQnZjblFnS2lCaGN5QkZibWRzYVhOb0lHWnliMjBnWENJdUwyVnVaMnhwYzJndWFuTmNJanRjYm1sdGNHOXlkQ0FxSUdGeklFWnZjbTFoZEhNZ1puSnZiU0JjSWk0dlptOXliV0YwY3k1cWMxd2lPMXh1YVcxd2IzSjBJSHNnY0dGa1UzUmhjblFnZlNCbWNtOXRJRndpTGk5MWRHbHNMbXB6WENJN1hHNWNibVoxYm1OMGFXOXVJSE4wY21sdVoybG1lVlJ2YTJWdWN5aHpjR3hwZEhNc0lIUnZhMlZ1Vkc5VGRISnBibWNwSUh0Y2JpQWdiR1YwSUhNZ1BTQmNJbHdpTzF4dUlDQm1iM0lnS0dOdmJuTjBJSFJ2YTJWdUlHOW1JSE53YkdsMGN5a2dlMXh1SUNBZ0lHbG1JQ2gwYjJ0bGJpNXNhWFJsY21Gc0tTQjdYRzRnSUNBZ0lDQnpJQ3M5SUhSdmEyVnVMblpoYkR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjeUFyUFNCMGIydGxibFJ2VTNSeWFXNW5LSFJ2YTJWdUxuWmhiQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnpPMXh1ZlZ4dVhHNWpiMjV6ZENCdFlXTnliMVJ2YTJWdVZHOUdiM0p0WVhSUGNIUnpJRDBnZTF4dUlDQkVPaUJHYjNKdFlYUnpMa1JCVkVWZlUwaFBVbFFzWEc0Z0lFUkVPaUJHYjNKdFlYUnpMa1JCVkVWZlRVVkVMRnh1SUNCRVJFUTZJRVp2Y20xaGRITXVSRUZVUlY5R1ZVeE1MRnh1SUNCRVJFUkVPaUJHYjNKdFlYUnpMa1JCVkVWZlNGVkhSU3hjYmlBZ2REb2dSbTl5YldGMGN5NVVTVTFGWDFOSlRWQk1SU3hjYmlBZ2RIUTZJRVp2Y20xaGRITXVWRWxOUlY5WFNWUklYMU5GUTA5T1JGTXNYRzRnSUhSMGREb2dSbTl5YldGMGN5NVVTVTFGWDFkSlZFaGZVMGhQVWxSZlQwWkdVMFZVTEZ4dUlDQjBkSFIwT2lCR2IzSnRZWFJ6TGxSSlRVVmZWMGxVU0Y5TVQwNUhYMDlHUmxORlZDeGNiaUFnVkRvZ1JtOXliV0YwY3k1VVNVMUZYekkwWDFOSlRWQk1SU3hjYmlBZ1ZGUTZJRVp2Y20xaGRITXVWRWxOUlY4eU5GOVhTVlJJWDFORlEwOU9SRk1zWEc0Z0lGUlVWRG9nUm05eWJXRjBjeTVVU1UxRlh6STBYMWRKVkVoZlUwaFBVbFJmVDBaR1UwVlVMRnh1SUNCVVZGUlVPaUJHYjNKdFlYUnpMbFJKVFVWZk1qUmZWMGxVU0Y5TVQwNUhYMDlHUmxORlZDeGNiaUFnWmpvZ1JtOXliV0YwY3k1RVFWUkZWRWxOUlY5VFNFOVNWQ3hjYmlBZ1ptWTZJRVp2Y20xaGRITXVSRUZVUlZSSlRVVmZUVVZFTEZ4dUlDQm1abVk2SUVadmNtMWhkSE11UkVGVVJWUkpUVVZmUmxWTVRDeGNiaUFnWm1abVpqb2dSbTl5YldGMGN5NUVRVlJGVkVsTlJWOUlWVWRGTEZ4dUlDQkdPaUJHYjNKdFlYUnpMa1JCVkVWVVNVMUZYMU5JVDFKVVgxZEpWRWhmVTBWRFQwNUVVeXhjYmlBZ1JrWTZJRVp2Y20xaGRITXVSRUZVUlZSSlRVVmZUVVZFWDFkSlZFaGZVMFZEVDA1RVV5eGNiaUFnUmtaR09pQkdiM0p0WVhSekxrUkJWRVZVU1UxRlgwWlZURXhmVjBsVVNGOVRSVU5QVGtSVExGeHVJQ0JHUmtaR09pQkdiM0p0WVhSekxrUkJWRVZVU1UxRlgwaFZSMFZmVjBsVVNGOVRSVU5QVGtSVExGeHVmVHRjYmx4dUx5b3FYRzRnS2lCQWNISnBkbUYwWlZ4dUlDb3ZYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJR05zWVhOeklFWnZjbTFoZEhSbGNpQjdYRzRnSUhOMFlYUnBZeUJqY21WaGRHVW9iRzlqWVd4bExDQnZjSFJ6SUQwZ2UzMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRVp2Y20xaGRIUmxjaWhzYjJOaGJHVXNJRzl3ZEhNcE8xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdsaklIQmhjbk5sUm05eWJXRjBLR1p0ZENrZ2UxeHVJQ0FnSUd4bGRDQmpkWEp5Wlc1MElEMGdiblZzYkN4Y2JpQWdJQ0FnSUdOMWNuSmxiblJHZFd4c0lEMGdYQ0pjSWl4Y2JpQWdJQ0FnSUdKeVlXTnJaWFJsWkNBOUlHWmhiSE5sTzF4dUlDQWdJR052Ym5OMElITndiR2wwY3lBOUlGdGRPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dabTEwTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCaklEMGdabTEwTG1Ob1lYSkJkQ2hwS1R0Y2JpQWdJQ0FnSUdsbUlDaGpJRDA5UFNCY0lpZGNJaWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZM1Z5Y21WdWRFWjFiR3d1YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSE53YkdsMGN5NXdkWE5vS0hzZ2JHbDBaWEpoYkRvZ1luSmhZMnRsZEdWa0xDQjJZV3c2SUdOMWNuSmxiblJHZFd4c0lIMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblFnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBSblZzYkNBOUlGd2lYQ0k3WEc0Z0lDQWdJQ0FnSUdKeVlXTnJaWFJsWkNBOUlDRmljbUZqYTJWMFpXUTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0p5WVdOclpYUmxaQ2tnZTF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwUm5Wc2JDQXJQU0JqTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaklEMDlQU0JqZFhKeVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblJHZFd4c0lDczlJR003WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEVaMWJHd3ViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lITndiR2wwY3k1d2RYTm9LSHNnYkdsMFpYSmhiRG9nWm1Gc2MyVXNJSFpoYkRvZ1kzVnljbVZ1ZEVaMWJHd2dmU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEVaMWJHd2dQU0JqTzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUQwZ1l6dGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZM1Z5Y21WdWRFWjFiR3d1YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ2MzQnNhWFJ6TG5CMWMyZ29leUJzYVhSbGNtRnNPaUJpY21GamEyVjBaV1FzSUhaaGJEb2dZM1Z5Y21WdWRFWjFiR3dnZlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE53YkdsMGN6dGNiaUFnZlZ4dVhHNGdJSE4wWVhScFl5QnRZV055YjFSdmEyVnVWRzlHYjNKdFlYUlBjSFJ6S0hSdmEyVnVLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHMWhZM0p2Vkc5clpXNVViMFp2Y20xaGRFOXdkSE5iZEc5clpXNWRPMXh1SUNCOVhHNWNiaUFnWTI5dWMzUnlkV04wYjNJb2JHOWpZV3hsTENCbWIzSnRZWFJQY0hSektTQjdYRzRnSUNBZ2RHaHBjeTV2Y0hSeklEMGdabTl5YldGMFQzQjBjenRjYmlBZ0lDQjBhR2x6TG14dll5QTlJR3h2WTJGc1pUdGNiaUFnSUNCMGFHbHpMbk41YzNSbGJVeHZZeUE5SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JtYjNKdFlYUlhhWFJvVTNsemRHVnRSR1ZtWVhWc2RDaGtkQ3dnYjNCMGN5a2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxuTjVjM1JsYlV4dll5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1emVYTjBaVzFNYjJNZ1BTQjBhR2x6TG14dll5NXlaV1JsWm1GMWJIUlViMU41YzNSbGJTZ3BPMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0JrWmlBOUlIUm9hWE11YzNsemRHVnRURzlqTG1SMFJtOXliV0YwZEdWeUtHUjBMQ0I3SUM0dUxuUm9hWE11YjNCMGN5d2dMaTR1YjNCMGN5QjlLVHRjYmlBZ0lDQnlaWFIxY200Z1pHWXVabTl5YldGMEtDazdYRzRnSUgxY2JseHVJQ0JtYjNKdFlYUkVZWFJsVkdsdFpTaGtkQ3dnYjNCMGN5QTlJSHQ5S1NCN1hHNGdJQ0FnWTI5dWMzUWdaR1lnUFNCMGFHbHpMbXh2WXk1a2RFWnZjbTFoZEhSbGNpaGtkQ3dnZXlBdUxpNTBhR2x6TG05d2RITXNJQzR1TG05d2RITWdmU2s3WEc0Z0lDQWdjbVYwZFhKdUlHUm1MbVp2Y20xaGRDZ3BPMXh1SUNCOVhHNWNiaUFnWm05eWJXRjBSR0YwWlZScGJXVlFZWEowY3loa2RDd2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ1pHWWdQU0IwYUdsekxteHZZeTVrZEVadmNtMWhkSFJsY2loa2RDd2dleUF1TGk1MGFHbHpMbTl3ZEhNc0lDNHVMbTl3ZEhNZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUdSbUxtWnZjbTFoZEZSdlVHRnlkSE1vS1R0Y2JpQWdmVnh1WEc0Z0lISmxjMjlzZG1Wa1QzQjBhVzl1Y3loa2RDd2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ1pHWWdQU0IwYUdsekxteHZZeTVrZEVadmNtMWhkSFJsY2loa2RDd2dleUF1TGk1MGFHbHpMbTl3ZEhNc0lDNHVMbTl3ZEhNZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUdSbUxuSmxjMjlzZG1Wa1QzQjBhVzl1Y3lncE8xeHVJQ0I5WEc1Y2JpQWdiblZ0S0c0c0lIQWdQU0F3S1NCN1hHNGdJQ0FnTHk4Z2QyVWdaMlYwSUhOdmJXVWdjR1Z5WmlCdmRYUWdiMllnWkc5cGJtY2dkR2hwY3lCb1pYSmxMQ0JoYm01dmVXbHVaMng1WEc0Z0lDQWdhV1lnS0hSb2FYTXViM0IwY3k1bWIzSmpaVk5wYlhCc1pTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIQmhaRk4wWVhKMEtHNHNJSEFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHOXdkSE1nUFNCN0lDNHVMblJvYVhNdWIzQjBjeUI5TzF4dVhHNGdJQ0FnYVdZZ0tIQWdQaUF3S1NCN1hHNGdJQ0FnSUNCdmNIUnpMbkJoWkZSdklEMGdjRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVzYjJNdWJuVnRZbVZ5Um05eWJXRjBkR1Z5S0c5d2RITXBMbVp2Y20xaGRDaHVLVHRjYmlBZ2ZWeHVYRzRnSUdadmNtMWhkRVJoZEdWVWFXMWxSbkp2YlZOMGNtbHVaeWhrZEN3Z1ptMTBLU0I3WEc0Z0lDQWdZMjl1YzNRZ2EyNXZkMjVGYm1kc2FYTm9JRDBnZEdocGN5NXNiMk11YkdsemRHbHVaMDF2WkdVb0tTQTlQVDBnWENKbGJsd2lMRnh1SUNBZ0lDQWdkWE5sUkdGMFpWUnBiV1ZHYjNKdFlYUjBaWElnUFNCMGFHbHpMbXh2WXk1dmRYUndkWFJEWVd4bGJtUmhjaUFtSmlCMGFHbHpMbXh2WXk1dmRYUndkWFJEWVd4bGJtUmhjaUFoUFQwZ1hDSm5jbVZuYjNKNVhDSXNYRzRnSUNBZ0lDQnpkSEpwYm1jZ1BTQW9iM0IwY3l3Z1pYaDBjbUZqZENrZ1BUNGdkR2hwY3k1c2IyTXVaWGgwY21GamRDaGtkQ3dnYjNCMGN5d2daWGgwY21GamRDa3NYRzRnSUNBZ0lDQm1iM0p0WVhSUFptWnpaWFFnUFNBb2IzQjBjeWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWkhRdWFYTlBabVp6WlhSR2FYaGxaQ0FtSmlCa2RDNXZabVp6WlhRZ1BUMDlJREFnSmlZZ2IzQjBjeTVoYkd4dmQxb3BJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWENKYVhDSTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkhRdWFYTldZV3hwWkNBL0lHUjBMbnB2Ym1VdVptOXliV0YwVDJabWMyVjBLR1IwTG5SekxDQnZjSFJ6TG1admNtMWhkQ2tnT2lCY0lsd2lPMXh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJRzFsY21sa2FXVnRJRDBnS0NrZ1BUNWNiaUFnSUNBZ0lDQWdhMjV2ZDI1RmJtZHNhWE5vWEc0Z0lDQWdJQ0FnSUNBZ1B5QkZibWRzYVhOb0xtMWxjbWxrYVdWdFJtOXlSR0YwWlZScGJXVW9aSFFwWEc0Z0lDQWdJQ0FnSUNBZ09pQnpkSEpwYm1jb2V5Qm9iM1Z5T2lCY0ltNTFiV1Z5YVdOY0lpd2dhRzkxY2tONVkyeGxPaUJjSW1neE1sd2lJSDBzSUZ3aVpHRjVjR1Z5YVc5a1hDSXBMRnh1SUNBZ0lDQWdiVzl1ZEdnZ1BTQW9iR1Z1WjNSb0xDQnpkR0Z1WkdGc2IyNWxLU0E5UGx4dUlDQWdJQ0FnSUNCcmJtOTNia1Z1WjJ4cGMyaGNiaUFnSUNBZ0lDQWdJQ0EvSUVWdVoyeHBjMmd1Ylc5dWRHaEdiM0pFWVhSbFZHbHRaU2hrZEN3Z2JHVnVaM1JvS1Z4dUlDQWdJQ0FnSUNBZ0lEb2djM1J5YVc1bktITjBZVzVrWVd4dmJtVWdQeUI3SUcxdmJuUm9PaUJzWlc1bmRHZ2dmU0E2SUhzZ2JXOXVkR2c2SUd4bGJtZDBhQ3dnWkdGNU9pQmNJbTUxYldWeWFXTmNJaUI5TENCY0ltMXZiblJvWENJcExGeHVJQ0FnSUNBZ2QyVmxhMlJoZVNBOUlDaHNaVzVuZEdnc0lITjBZVzVrWVd4dmJtVXBJRDArWEc0Z0lDQWdJQ0FnSUd0dWIzZHVSVzVuYkdsemFGeHVJQ0FnSUNBZ0lDQWdJRDhnUlc1bmJHbHphQzUzWldWclpHRjVSbTl5UkdGMFpWUnBiV1VvWkhRc0lHeGxibWQwYUNsY2JpQWdJQ0FnSUNBZ0lDQTZJSE4wY21sdVp5aGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhibVJoYkc5dVpTQS9JSHNnZDJWbGEyUmhlVG9nYkdWdVozUm9JSDBnT2lCN0lIZGxaV3RrWVhrNklHeGxibWQwYUN3Z2JXOXVkR2c2SUZ3aWJHOXVaMXdpTENCa1lYazZJRndpYm5WdFpYSnBZMXdpSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUZ3aWQyVmxhMlJoZVZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FwTEZ4dUlDQWdJQ0FnYldGNVltVk5ZV055YnlBOUlDaDBiMnRsYmlrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQm1iM0p0WVhSUGNIUnpJRDBnUm05eWJXRjBkR1Z5TG0xaFkzSnZWRzlyWlc1VWIwWnZjbTFoZEU5d2RITW9kRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWm05eWJXRjBUM0IwY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1admNtMWhkRmRwZEdoVGVYTjBaVzFFWldaaGRXeDBLR1IwTENCbWIzSnRZWFJQY0hSektUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkRzlyWlc0N1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQmxjbUVnUFNBb2JHVnVaM1JvS1NBOVBseHVJQ0FnSUNBZ0lDQnJibTkzYmtWdVoyeHBjMmdnUHlCRmJtZHNhWE5vTG1WeVlVWnZja1JoZEdWVWFXMWxLR1IwTENCc1pXNW5kR2dwSURvZ2MzUnlhVzVuS0hzZ1pYSmhPaUJzWlc1bmRHZ2dmU3dnWENKbGNtRmNJaWtzWEc0Z0lDQWdJQ0IwYjJ0bGJsUnZVM1J5YVc1bklEMGdLSFJ2YTJWdUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUM4dklGZG9aWEpsSUhCdmMzTnBZbXhsT2lCb2RIUndPaTh2WTJ4a2NpNTFibWxqYjJSbExtOXlaeTkwY21GdWMyeGhkR2x2Ymk5a1lYUmxMWFJwYldVdE1TOWtZWFJsTFhScGJXVWpWRTlETFZOMFlXNWtZV3h2Ym1VdGRuTXVMVVp2Y20xaGRDMVRkSGxzWlhOY2JpQWdJQ0FnSUNBZ2MzZHBkR05vSUNoMGIydGxiaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRzF6WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSWxOY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNTFiU2hrZEM1dGFXeHNhWE5sWTI5dVpDazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJblZjSWpwY2JpQWdJQ0FnSUNBZ0lDQXZMeUJtWVd4c2N5QjBhSEp2ZFdkb1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0lsTlRVMXdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym5WdEtHUjBMbTFwYkd4cGMyVmpiMjVrTENBektUdGNiaUFnSUNBZ0lDQWdJQ0F2THlCelpXTnZibVJ6WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW5OY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNTFiU2hrZEM1elpXTnZibVFwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKemMxd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViblZ0S0dSMExuTmxZMjl1WkN3Z01pazdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1puSmhZM1JwYjI1aGJDQnpaV052Ym1SelhHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0luVjFYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV1ZFcwb1RXRjBhQzVtYkc5dmNpaGtkQzV0YVd4c2FYTmxZMjl1WkNBdklERXdLU3dnTWlrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0luVjFkVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym5WdEtFMWhkR2d1Wm14dmIzSW9aSFF1Yldsc2JHbHpaV052Ym1RZ0x5QXhNREFwS1R0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJ0YVc1MWRHVnpYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbTFjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG01MWJTaGtkQzV0YVc1MWRHVXBPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0p0YlZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWJuVnRLR1IwTG0xcGJuVjBaU3dnTWlrN1hHNGdJQ0FnSUNBZ0lDQWdMeThnYUc5MWNuTmNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lhRndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym5WdEtHUjBMbWh2ZFhJZ0pTQXhNaUE5UFQwZ01DQS9JREV5SURvZ1pIUXVhRzkxY2lBbElERXlLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpYUdoY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNTFiU2hrZEM1b2IzVnlJQ1VnTVRJZ1BUMDlJREFnUHlBeE1pQTZJR1IwTG1odmRYSWdKU0F4TWl3Z01pazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJa2hjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG01MWJTaGtkQzVvYjNWeUtUdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lTRWhjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG01MWJTaGtkQzVvYjNWeUxDQXlLVHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QnZabVp6WlhSY2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVdsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNBck5seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1p2Y20xaGRFOW1abk5sZENoN0lHWnZjbTFoZERvZ1hDSnVZWEp5YjNkY0lpd2dZV3hzYjNkYU9pQjBhR2x6TG05d2RITXVZV3hzYjNkYUlIMHBPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0phV2x3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0FyTURZNk1EQmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtYjNKdFlYUlBabVp6WlhRb2V5Qm1iM0p0WVhRNklGd2ljMmh2Y25SY0lpd2dZV3hzYjNkYU9pQjBhR2x6TG05d2RITXVZV3hzYjNkYUlIMHBPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0phV2xwY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHeHBhMlVnS3pBMk1EQmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtYjNKdFlYUlBabVp6WlhRb2V5Qm1iM0p0WVhRNklGd2lkR1ZqYUdsbFhDSXNJR0ZzYkc5M1dqb2dkR2hwY3k1dmNIUnpMbUZzYkc5M1dpQjlLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpV2xwYVdsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNCRlUxUmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrZEM1NmIyNWxMbTltWm5ObGRFNWhiV1VvWkhRdWRITXNJSHNnWm05eWJXRjBPaUJjSW5Ob2IzSjBYQ0lzSUd4dlkyRnNaVG9nZEdocGN5NXNiMk11Ykc5allXeGxJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKYVdscGFXbHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQkZZWE4wWlhKdUlGTjBZVzVrWVhKa0lGUnBiV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCa2RDNTZiMjVsTG05bVpuTmxkRTVoYldVb1pIUXVkSE1zSUhzZ1ptOXliV0YwT2lCY0lteHZibWRjSWl3Z2JHOWpZV3hsT2lCMGFHbHpMbXh2WXk1c2IyTmhiR1VnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdMeThnZW05dVpWeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSjZYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYVd0bElFRnRaWEpwWTJFdlRtVjNYMWx2Y210Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtkQzU2YjI1bFRtRnRaVHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QnRaWEpwWkdsbGJYTmNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lZVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHMWxjbWxrYVdWdEtDazdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1pHRjBaWE5jYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpWkZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ6WlVSaGRHVlVhVzFsUm05eWJXRjBkR1Z5SUQ4Z2MzUnlhVzVuS0hzZ1pHRjVPaUJjSW01MWJXVnlhV05jSWlCOUxDQmNJbVJoZVZ3aUtTQTZJSFJvYVhNdWJuVnRLR1IwTG1SaGVTazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVJrWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkWE5sUkdGMFpWUnBiV1ZHYjNKdFlYUjBaWElnUHlCemRISnBibWNvZXlCa1lYazZJRndpTWkxa2FXZHBkRndpSUgwc0lGd2laR0Y1WENJcElEb2dkR2hwY3k1dWRXMG9aSFF1WkdGNUxDQXlLVHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QjNaV1ZyWkdGNWN5QXRJSE4wWVc1a1lXeHZibVZjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpWTF3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0F4WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV1ZFcwb1pIUXVkMlZsYTJSaGVTazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbU5qWTF3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0FuVkhWbGN5ZGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIzWldWclpHRjVLRndpYzJodmNuUmNJaXdnZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbU5qWTJOY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHeHBhMlVnSjFSMVpYTmtZWGtuWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2QyVmxhMlJoZVNoY0lteHZibWRjSWl3Z2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1OalkyTmpYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYVd0bElDZFVKMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhkbFpXdGtZWGtvWENKdVlYSnliM2RjSWl3Z2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdkMlZsYTJSaGVYTWdMU0JtYjNKdFlYUmNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lSVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQXhYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVkVzBvWkhRdWQyVmxhMlJoZVNrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0lrVkZSVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQW5WSFZsY3lkY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjNaV1ZyWkdGNUtGd2ljMmh2Y25SY0lpd2dabUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSkZSVVZGWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCc2FXdGxJQ2RVZFdWelpHRjVKMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhkbFpXdGtZWGtvWENKc2IyNW5YQ0lzSUdaaGJITmxLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpUlVWRlJVVmNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hwYTJVZ0oxUW5YRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDJWbGEyUmhlU2hjSW01aGNuSnZkMXdpTENCbVlXeHpaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdiVzl1ZEdoeklDMGdjM1JoYm1SaGJHOXVaVnh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pNWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCc2FXdGxJREZjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWMyVkVZWFJsVkdsdFpVWnZjbTFoZEhSbGNseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lITjBjbWx1WnloN0lHMXZiblJvT2lCY0ltNTFiV1Z5YVdOY0lpd2daR0Y1T2lCY0ltNTFiV1Z5YVdOY0lpQjlMQ0JjSW0xdmJuUm9YQ0lwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRG9nZEdocGN5NXVkVzBvWkhRdWJXOXVkR2dwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKTVRGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNBd01Td2daRzlsYzI0bmRDQnpaV1Z0SUhSdklIZHZjbXRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWMyVkVZWFJsVkdsdFpVWnZjbTFoZEhSbGNseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lITjBjbWx1WnloN0lHMXZiblJvT2lCY0lqSXRaR2xuYVhSY0lpd2daR0Y1T2lCY0ltNTFiV1Z5YVdOY0lpQjlMQ0JjSW0xdmJuUm9YQ0lwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRG9nZEdocGN5NXVkVzBvWkhRdWJXOXVkR2dzSURJcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSk1URXhjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUd4cGEyVWdTbUZ1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JXOXVkR2dvWENKemFHOXlkRndpTENCMGNuVmxLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpVEV4TVRGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNCS1lXNTFZWEo1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JXOXVkR2dvWENKc2IyNW5YQ0lzSUhSeWRXVXBPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pNVEV4TVRGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNCS1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiVzl1ZEdnb1hDSnVZWEp5YjNkY0lpd2dkSEoxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdMeThnYlc5dWRHaHpJQzBnWm05eWJXRjBYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJazFjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUd4cGEyVWdNVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWelpVUmhkR1ZVYVcxbFJtOXliV0YwZEdWeVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z2MzUnlhVzVuS0hzZ2JXOXVkR2c2SUZ3aWJuVnRaWEpwWTF3aUlIMHNJRndpYlc5dWRHaGNJaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUIwYUdsekxtNTFiU2hrZEM1dGIyNTBhQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSWsxTlhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnNhV3RsSURBeFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkWE5sUkdGMFpWUnBiV1ZHYjNKdFlYUjBaWEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQeUJ6ZEhKcGJtY29leUJ0YjI1MGFEb2dYQ0l5TFdScFoybDBYQ0lnZlN3Z1hDSnRiMjUwYUZ3aUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklIUm9hWE11Ym5WdEtHUjBMbTF2Ym5Sb0xDQXlLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpVFUxTlhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnNhV3RsSUVwaGJseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzF2Ym5Sb0tGd2ljMmh2Y25SY0lpd2dabUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSk5UVTFOWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCc2FXdGxJRXBoYm5WaGNubGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ0YjI1MGFDaGNJbXh2Ym1kY0lpd2dabUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSk5UVTFOVFZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0JLWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JXOXVkR2dvWENKdVlYSnliM2RjSWl3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNBZ0lDOHZJSGxsWVhKelhHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0lubGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hwYTJVZ01qQXhORnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWelpVUmhkR1ZVYVcxbFJtOXliV0YwZEdWeUlEOGdjM1J5YVc1bktIc2dlV1ZoY2pvZ1hDSnVkVzFsY21salhDSWdmU3dnWENKNVpXRnlYQ0lwSURvZ2RHaHBjeTV1ZFcwb1pIUXVlV1ZoY2lrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0lubDVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYVd0bElERTBYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZFhObFJHRjBaVlJwYldWR2IzSnRZWFIwWlhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUHlCemRISnBibWNvZXlCNVpXRnlPaUJjSWpJdFpHbG5hWFJjSWlCOUxDQmNJbmxsWVhKY0lpbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ09pQjBhR2x6TG01MWJTaGtkQzU1WldGeUxuUnZVM1J5YVc1bktDa3VjMnhwWTJVb0xUSXBMQ0F5S1R0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWVYbDVlVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQXdNREV5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYTmxSR0YwWlZScGJXVkdiM0p0WVhSMFpYSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1B5QnpkSEpwYm1jb2V5QjVaV0Z5T2lCY0ltNTFiV1Z5YVdOY0lpQjlMQ0JjSW5sbFlYSmNJaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUIwYUdsekxtNTFiU2hrZEM1NVpXRnlMQ0EwS1R0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWVYbDVlWGw1WENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCc2FXdGxJREF3TURBeE1seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ6WlVSaGRHVlVhVzFsUm05eWJXRjBkR1Z5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRDhnYzNSeWFXNW5LSHNnZVdWaGNqb2dYQ0p1ZFcxbGNtbGpYQ0lnZlN3Z1hDSjVaV0Z5WENJcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSURvZ2RHaHBjeTV1ZFcwb1pIUXVlV1ZoY2l3Z05pazdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1pYSmhjMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pIWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCc2FXdGxJRUZFWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pYSmhLRndpYzJodmNuUmNJaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSWtkSFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnNhV3RsSUVGdWJtOGdSRzl0YVc1cFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdaWEpoS0Z3aWJHOXVaMXdpS1R0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVIwZEhSMGRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmxjbUVvWENKdVlYSnliM2RjSWlrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltdHJYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV1ZFcwb1pIUXVkMlZsYTFsbFlYSXVkRzlUZEhKcGJtY29LUzV6YkdsalpTZ3RNaWtzSURJcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnJhMnRyWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dWRXMG9aSFF1ZDJWbGExbGxZWElzSURRcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSlhYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV1ZFcwb1pIUXVkMlZsYTA1MWJXSmxjaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSWxkWFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVkVzBvWkhRdWQyVmxhMDUxYldKbGNpd2dNaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW05Y0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNTFiU2hrZEM1dmNtUnBibUZzS1R0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWIyOXZYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV1ZFcwb1pIUXViM0prYVc1aGJDd2dNeWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW5GY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHeHBhMlVnTVZ4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym5WdEtHUjBMbkYxWVhKMFpYSXBPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0p4Y1Z3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0F3TVZ4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym5WdEtHUjBMbkYxWVhKMFpYSXNJRElwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKWVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVkVzBvVFdGMGFDNW1iRzl2Y2loa2RDNTBjeUF2SURFd01EQXBLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpZUZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWJuVnRLR1IwTG5SektUdGNiaUFnSUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGVXSmxUV0ZqY204b2RHOXJaVzRwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOU8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhOMGNtbHVaMmxtZVZSdmEyVnVjeWhHYjNKdFlYUjBaWEl1Y0dGeWMyVkdiM0p0WVhRb1ptMTBLU3dnZEc5clpXNVViMU4wY21sdVp5azdYRzRnSUgxY2JseHVJQ0JtYjNKdFlYUkVkWEpoZEdsdmJrWnliMjFUZEhKcGJtY29aSFZ5TENCbWJYUXBJSHRjYmlBZ0lDQmpiMjV6ZENCMGIydGxibFJ2Um1sbGJHUWdQU0FvZEc5clpXNHBJRDArSUh0Y2JpQWdJQ0FnSUNBZ2MzZHBkR05vSUNoMGIydGxibHN3WFNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSlRYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1hDSnRhV3hzYVhObFkyOXVaRndpTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKelhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWENKelpXTnZibVJjSWp0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWJWd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ3aWJXbHVkWFJsWENJN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltaGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCY0ltaHZkWEpjSWp0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVpGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVpHRjVYQ0k3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW5kY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJjSW5kbFpXdGNJanRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpVFZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRndpYlc5dWRHaGNJanRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpZVZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRndpZVdWaGNsd2lPMXh1SUNBZ0lDQWdJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUhSdmEyVnVWRzlUZEhKcGJtY2dQU0FvYkdsc1pIVnlLU0E5UGlBb2RHOXJaVzRwSUQwK0lIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JXRndjR1ZrSUQwZ2RHOXJaVzVVYjBacFpXeGtLSFJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdhV1lnS0cxaGNIQmxaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTUxYlNoc2FXeGtkWEl1WjJWMEtHMWhjSEJsWkNrc0lIUnZhMlZ1TG14bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSdmEyVnVPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnZEc5clpXNXpJRDBnUm05eWJXRjBkR1Z5TG5CaGNuTmxSbTl5YldGMEtHWnRkQ2tzWEc0Z0lDQWdJQ0J5WldGc1ZHOXJaVzV6SUQwZ2RHOXJaVzV6TG5KbFpIVmpaU2hjYmlBZ0lDQWdJQ0FnS0dadmRXNWtMQ0I3SUd4cGRHVnlZV3dzSUhaaGJDQjlLU0E5UGlBb2JHbDBaWEpoYkNBL0lHWnZkVzVrSURvZ1ptOTFibVF1WTI5dVkyRjBLSFpoYkNrcExGeHVJQ0FnSUNBZ0lDQmJYVnh1SUNBZ0lDQWdLU3hjYmlBZ0lDQWdJR052Ykd4aGNITmxaQ0E5SUdSMWNpNXphR2xtZEZSdktDNHVMbkpsWVd4VWIydGxibk11YldGd0tIUnZhMlZ1Vkc5R2FXVnNaQ2t1Wm1sc2RHVnlLQ2gwS1NBOVBpQjBLU2s3WEc0Z0lDQWdjbVYwZFhKdUlITjBjbWx1WjJsbWVWUnZhMlZ1Y3loMGIydGxibk1zSUhSdmEyVnVWRzlUZEhKcGJtY29ZMjlzYkdGd2MyVmtLU2s3WEc0Z0lIMWNibjFjYmlJc0lDSmxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJKYm5aaGJHbGtJSHRjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9jbVZoYzI5dUxDQmxlSEJzWVc1aGRHbHZiaWtnZTF4dUlDQWdJSFJvYVhNdWNtVmhjMjl1SUQwZ2NtVmhjMjl1TzF4dUlDQWdJSFJvYVhNdVpYaHdiR0Z1WVhScGIyNGdQU0JsZUhCc1lXNWhkR2x2Ymp0Y2JpQWdmVnh1WEc0Z0lIUnZUV1Z6YzJGblpTZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NWxlSEJzWVc1aGRHbHZiaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR0FrZTNSb2FYTXVjbVZoYzI5dWZUb2dKSHQwYUdsekxtVjRjR3hoYm1GMGFXOXVmV0E3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWVhOdmJqdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpSXNJQ0pwYlhCdmNuUWdleUJhYjI1bFNYTkJZbk4wY21GamRFVnljbTl5SUgwZ1puSnZiU0JjSWk0dlpYSnliM0p6TG1welhDSTdYRzVjYmk4cUtseHVJQ29nUUdsdWRHVnlabUZqWlZ4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCYWIyNWxJSHRjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0IwZVhCbElHOW1JSHB2Ym1WY2JpQWdJQ29nUUdGaWMzUnlZV04wWEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQm5aWFFnZEhsd1pTZ3BJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dXbTl1WlVselFXSnpkSEpoWTNSRmNuSnZjaWdwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J1WVcxbElHOW1JSFJvYVhNZ2VtOXVaUzVjYmlBZ0lDb2dRR0ZpYzNSeVlXTjBYRzRnSUNBcUlFQjBlWEJsSUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCblpYUWdibUZ0WlNncElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1dtOXVaVWx6UVdKemRISmhZM1JGY25KdmNpZ3BPMXh1SUNCOVhHNWNiaUFnWjJWMElHbGhibUZPWVcxbEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTVoYldVN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QjNhR1YwYUdWeUlIUm9aU0J2Wm1aelpYUWdhWE1nYTI1dmQyNGdkRzhnWW1VZ1ptbDRaV1FnWm05eUlIUm9aU0IzYUc5c1pTQjVaV0Z5TGx4dUlDQWdLaUJBWVdKemRISmhZM1JjYmlBZ0lDb2dRSFI1Y0dVZ2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQm5aWFFnYVhOVmJtbDJaWEp6WVd3b0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGcHZibVZKYzBGaWMzUnlZV04wUlhKeWIzSW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUhSb1pTQnZabVp6WlhRbmN5QmpiMjF0YjI0Z2JtRnRaU0FvYzNWamFDQmhjeUJGVTFRcElHRjBJSFJvWlNCemNHVmphV1pwWldRZ2RHbHRaWE4wWVcxd1hHNGdJQ0FxSUVCaFluTjBjbUZqZEZ4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdkSE1nTFNCRmNHOWphQ0J0YVd4c2FYTmxZMjl1WkhNZ1ptOXlJSGRvYVdOb0lIUnZJR2RsZENCMGFHVWdibUZ0WlZ4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwY3lBdElFOXdkR2x2Ym5NZ2RHOGdZV1ptWldOMElIUm9aU0JtYjNKdFlYUmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RITXVabTl5YldGMElDMGdWMmhoZENCemRIbHNaU0J2WmlCdlptWnpaWFFnZEc4Z2NtVjBkWEp1TGlCQlkyTmxjSFJ6SUNkc2IyNW5KeUJ2Y2lBbmMyaHZjblFuTGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdiM0IwY3k1c2IyTmhiR1VnTFNCWGFHRjBJR3h2WTJGc1pTQjBieUJ5WlhSMWNtNGdkR2hsSUc5bVpuTmxkQ0J1WVcxbElHbHVMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQnZabVp6WlhST1lXMWxLSFJ6TENCdmNIUnpLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRnB2Ym1WSmMwRmljM1J5WVdOMFJYSnliM0lvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIUm9aU0J2Wm1aelpYUW5jeUIyWVd4MVpTQmhjeUJoSUhOMGNtbHVaMXh1SUNBZ0tpQkFZV0p6ZEhKaFkzUmNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUhSeklDMGdSWEJ2WTJnZ2JXbHNiR2x6WldOdmJtUnpJR1p2Y2lCM2FHbGphQ0IwYnlCblpYUWdkR2hsSUc5bVpuTmxkRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1ptOXliV0YwSUMwZ1YyaGhkQ0J6ZEhsc1pTQnZaaUJ2Wm1aelpYUWdkRzhnY21WMGRYSnVMbHh1SUNBZ0tpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1FXTmpaWEIwY3lBbmJtRnljbTkzSnl3Z0ozTm9iM0owSnl3Z2IzSWdKM1JsWTJocFpTY3VJRkpsZEhWeWJtbHVaeUFuS3pZbkxDQW5LekEyT2pBd0p5d2diM0lnSnlzd05qQXdKeUJ5WlhOd1pXTjBhWFpsYkhsY2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnWm05eWJXRjBUMlptYzJWMEtIUnpMQ0JtYjNKdFlYUXBJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dXbTl1WlVselFXSnpkSEpoWTNSRmNuSnZjaWdwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5YmlCMGFHVWdiMlptYzJWMElHbHVJRzFwYm5WMFpYTWdabTl5SUhSb2FYTWdlbTl1WlNCaGRDQjBhR1VnYzNCbFkybG1hV1ZrSUhScGJXVnpkR0Z0Y0M1Y2JpQWdJQ29nUUdGaWMzUnlZV04wWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQjBjeUF0SUVWd2IyTm9JRzFwYkd4cGMyVmpiMjVrY3lCbWIzSWdkMmhwWTJnZ2RHOGdZMjl0Y0hWMFpTQjBhR1VnYjJabWMyVjBYRzRnSUNBcUlFQnlaWFIxY200Z2UyNTFiV0psY24xY2JpQWdJQ292WEc0Z0lHOW1abk5sZENoMGN5a2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QmFiMjVsU1hOQlluTjBjbUZqZEVWeWNtOXlLQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1SUhkb1pYUm9aWElnZEdocGN5QmFiMjVsSUdseklHVnhkV0ZzSUhSdklHRnViM1JvWlhJZ2VtOXVaVnh1SUNBZ0tpQkFZV0p6ZEhKaFkzUmNiaUFnSUNvZ1FIQmhjbUZ0SUh0YWIyNWxmU0J2ZEdobGNscHZibVVnTFNCMGFHVWdlbTl1WlNCMGJ5QmpiMjF3WVhKbFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCbGNYVmhiSE1vYjNSb1pYSmFiMjVsS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZwdmJtVkpjMEZpYzNSeVlXTjBSWEp5YjNJb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkMmhsZEdobGNpQjBhR2x6SUZwdmJtVWdhWE1nZG1Gc2FXUXVYRzRnSUNBcUlFQmhZbk4wY21GamRGeHVJQ0FnS2lCQWRIbHdaU0I3WW05dmJHVmhibjFjYmlBZ0lDb3ZYRzRnSUdkbGRDQnBjMVpoYkdsa0tDa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QmFiMjVsU1hOQlluTjBjbUZqZEVWeWNtOXlLQ2s3WEc0Z0lIMWNibjFjYmlJc0lDSnBiWEJ2Y25RZ2V5Qm1iM0p0WVhSUFptWnpaWFFzSUhCaGNuTmxXbTl1WlVsdVptOGdmU0JtY205dElGd2lMaTR2YVcxd2JDOTFkR2xzTG1welhDSTdYRzVwYlhCdmNuUWdXbTl1WlNCbWNtOXRJRndpTGk0dmVtOXVaUzVxYzF3aU8xeHVYRzVzWlhRZ2MybHVaMnhsZEc5dUlEMGdiblZzYkR0Y2JseHVMeW9xWEc0Z0tpQlNaWEJ5WlhObGJuUnpJSFJvWlNCc2IyTmhiQ0I2YjI1bElHWnZjaUIwYUdseklFcGhkbUZUWTNKcGNIUWdaVzUyYVhKdmJtMWxiblF1WEc0Z0tpQkFhVzF3YkdWdFpXNTBjeUI3V205dVpYMWNiaUFxTDF4dVpYaHdiM0owSUdSbFptRjFiSFFnWTJ4aGMzTWdVM2x6ZEdWdFdtOXVaU0JsZUhSbGJtUnpJRnB2Ym1VZ2UxeHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElHRWdjMmx1WjJ4bGRHOXVJR2x1YzNSaGJtTmxJRzltSUhSb1pTQnNiMk5oYkNCNmIyNWxYRzRnSUNBcUlFQnlaWFIxY200Z2UxTjVjM1JsYlZwdmJtVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaMlYwSUdsdWMzUmhibU5sS0NrZ2UxeHVJQ0FnSUdsbUlDaHphVzVuYkdWMGIyNGdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSE5wYm1kc1pYUnZiaUE5SUc1bGR5QlRlWE4wWlcxYWIyNWxLQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCemFXNW5iR1YwYjI0N1hHNGdJSDFjYmx4dUlDQXZLaW9nUUc5MlpYSnlhV1JsSUNvcUwxeHVJQ0JuWlhRZ2RIbHdaU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdYQ0p6ZVhOMFpXMWNJanRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHZGxkQ0J1WVcxbEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dTVzUwYkM1RVlYUmxWR2x0WlVadmNtMWhkQ2dwTG5KbGMyOXNkbVZrVDNCMGFXOXVjeWdwTG5ScGJXVmFiMjVsTzF4dUlDQjlYRzVjYmlBZ0x5b3FJRUJ2ZG1WeWNtbGtaU0FxS2k5Y2JpQWdaMlYwSUdselZXNXBkbVZ5YzJGc0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHOW1abk5sZEU1aGJXVW9kSE1zSUhzZ1ptOXliV0YwTENCc2IyTmhiR1VnZlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ3WVhKelpWcHZibVZKYm1adktIUnpMQ0JtYjNKdFlYUXNJR3h2WTJGc1pTazdYRzRnSUgxY2JseHVJQ0F2S2lvZ1FHOTJaWEp5YVdSbElDb3FMMXh1SUNCbWIzSnRZWFJQWm1aelpYUW9kSE1zSUdadmNtMWhkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQm1iM0p0WVhSUFptWnpaWFFvZEdocGN5NXZabVp6WlhRb2RITXBMQ0JtYjNKdFlYUXBPMXh1SUNCOVhHNWNiaUFnTHlvcUlFQnZkbVZ5Y21sa1pTQXFLaTljYmlBZ2IyWm1jMlYwS0hSektTQjdYRzRnSUNBZ2NtVjBkWEp1SUMxdVpYY2dSR0YwWlNoMGN5a3VaMlYwVkdsdFpYcHZibVZQWm1aelpYUW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHVnhkV0ZzY3lodmRHaGxjbHB2Ym1VcElIdGNiaUFnSUNCeVpYUjFjbTRnYjNSb1pYSmFiMjVsTG5SNWNHVWdQVDA5SUZ3aWMzbHpkR1Z0WENJN1hHNGdJSDFjYmx4dUlDQXZLaW9nUUc5MlpYSnlhV1JsSUNvcUwxeHVJQ0JuWlhRZ2FYTldZV3hwWkNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dWZWeHVJaXdnSW1sdGNHOXlkQ0I3SUdadmNtMWhkRTltWm5ObGRDd2djR0Z5YzJWYWIyNWxTVzVtYnl3Z2FYTlZibVJsWm1sdVpXUXNJRzlpYWxSdlRHOWpZV3hVVXlCOUlHWnliMjBnWENJdUxpOXBiWEJzTDNWMGFXd3Vhbk5jSWp0Y2JtbHRjRzl5ZENCYWIyNWxJR1p5YjIwZ1hDSXVMaTk2YjI1bExtcHpYQ0k3WEc1Y2JteGxkQ0JrZEdaRFlXTm9aU0E5SUh0OU8xeHVablZ1WTNScGIyNGdiV0ZyWlVSVVJpaDZiMjVsS1NCN1hHNGdJR2xtSUNnaFpIUm1RMkZqYUdWYmVtOXVaVjBwSUh0Y2JpQWdJQ0JrZEdaRFlXTm9aVnQ2YjI1bFhTQTlJRzVsZHlCSmJuUnNMa1JoZEdWVWFXMWxSbTl5YldGMEtGd2laVzR0VlZOY0lpd2dlMXh1SUNBZ0lDQWdhRzkxY2pFeU9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUhScGJXVmFiMjVsT2lCNmIyNWxMRnh1SUNBZ0lDQWdlV1ZoY2pvZ1hDSnVkVzFsY21salhDSXNYRzRnSUNBZ0lDQnRiMjUwYURvZ1hDSXlMV1JwWjJsMFhDSXNYRzRnSUNBZ0lDQmtZWGs2SUZ3aU1pMWthV2RwZEZ3aUxGeHVJQ0FnSUNBZ2FHOTFjam9nWENJeUxXUnBaMmwwWENJc1hHNGdJQ0FnSUNCdGFXNTFkR1U2SUZ3aU1pMWthV2RwZEZ3aUxGeHVJQ0FnSUNBZ2MyVmpiMjVrT2lCY0lqSXRaR2xuYVhSY0lpeGNiaUFnSUNBZ0lHVnlZVG9nWENKemFHOXlkRndpTEZ4dUlDQWdJSDBwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJrZEdaRFlXTm9aVnQ2YjI1bFhUdGNibjFjYmx4dVkyOXVjM1FnZEhsd1pWUnZVRzl6SUQwZ2UxeHVJQ0I1WldGeU9pQXdMRnh1SUNCdGIyNTBhRG9nTVN4Y2JpQWdaR0Y1T2lBeUxGeHVJQ0JsY21FNklETXNYRzRnSUdodmRYSTZJRFFzWEc0Z0lHMXBiblYwWlRvZ05TeGNiaUFnYzJWamIyNWtPaUEyTEZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnYUdGamEzbFBabVp6WlhRb1pIUm1MQ0JrWVhSbEtTQjdYRzRnSUdOdmJuTjBJR1p2Y20xaGRIUmxaQ0E5SUdSMFppNW1iM0p0WVhRb1pHRjBaU2t1Y21Wd2JHRmpaU2d2WEZ4MU1qQXdSUzluTENCY0lsd2lLU3hjYmlBZ0lDQndZWEp6WldRZ1BTQXZLRnhjWkNzcFhGd3ZLRnhjWkNzcFhGd3ZLRnhjWkNzcElDaEJSSHhDUXlrc1B5QW9YRnhrS3lrNktGeGNaQ3NwT2loY1hHUXJLUzh1WlhobFl5aG1iM0p0WVhSMFpXUXBMRnh1SUNBZ0lGc3NJR1pOYjI1MGFDd2daa1JoZVN3Z1psbGxZWElzSUdaaFpFOXlRbU1zSUdaSWIzVnlMQ0JtVFdsdWRYUmxMQ0JtVTJWamIyNWtYU0E5SUhCaGNuTmxaRHRjYmlBZ2NtVjBkWEp1SUZ0bVdXVmhjaXdnWmsxdmJuUm9MQ0JtUkdGNUxDQm1ZV1JQY2tKakxDQm1TRzkxY2l3Z1prMXBiblYwWlN3Z1psTmxZMjl1WkYwN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhCaGNuUnpUMlptYzJWMEtHUjBaaXdnWkdGMFpTa2dlMXh1SUNCamIyNXpkQ0JtYjNKdFlYUjBaV1FnUFNCa2RHWXVabTl5YldGMFZHOVFZWEowY3loa1lYUmxLVHRjYmlBZ1kyOXVjM1FnWm1sc2JHVmtJRDBnVzEwN1hHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWm05eWJXRjBkR1ZrTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCMGVYQmxMQ0IyWVd4MVpTQjlJRDBnWm05eWJXRjBkR1ZrVzJsZE8xeHVJQ0FnSUdOdmJuTjBJSEJ2Y3lBOUlIUjVjR1ZVYjFCdmMxdDBlWEJsWFR0Y2JseHVJQ0FnSUdsbUlDaDBlWEJsSUQwOVBTQmNJbVZ5WVZ3aUtTQjdYRzRnSUNBZ0lDQm1hV3hzWldSYmNHOXpYU0E5SUhaaGJIVmxPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9JV2x6Vlc1a1pXWnBibVZrS0hCdmN5a3BJSHRjYmlBZ0lDQWdJR1pwYkd4bFpGdHdiM05kSUQwZ2NHRnljMlZKYm5Rb2RtRnNkV1VzSURFd0tUdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2NtVjBkWEp1SUdacGJHeGxaRHRjYm4xY2JseHViR1YwSUdsaGJtRmFiMjVsUTJGamFHVWdQU0I3ZlR0Y2JpOHFLbHh1SUNvZ1FTQjZiMjVsSUdsa1pXNTBhV1pwWldRZ1lua2dZVzRnU1VGT1FTQnBaR1Z1ZEdsbWFXVnlMQ0JzYVd0bElFRnRaWEpwWTJFdlRtVjNYMWx2Y210Y2JpQXFJRUJwYlhCc1pXMWxiblJ6SUh0YWIyNWxmVnh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJKUVU1QldtOXVaU0JsZUhSbGJtUnpJRnB2Ym1VZ2UxeHVJQ0F2S2lwY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzVoYldVZ0xTQmFiMjVsSUc1aGJXVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1NVRk9RVnB2Ym1WOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1kzSmxZWFJsS0c1aGJXVXBJSHRjYmlBZ0lDQnBaaUFvSVdsaGJtRmFiMjVsUTJGamFHVmJibUZ0WlYwcElIdGNiaUFnSUNBZ0lHbGhibUZhYjI1bFEyRmphR1ZiYm1GdFpWMGdQU0J1WlhjZ1NVRk9RVnB2Ym1Vb2JtRnRaU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCcFlXNWhXbTl1WlVOaFkyaGxXMjVoYldWZE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsYzJWMElHeHZZMkZzSUdOaFkyaGxjeTRnVTJodmRXeGtJRzl1YkhrZ1ltVWdibVZqWlhOellYSjVJR2x1SUhSbGMzUnBibWNnYzJObGJtRnlhVzl6TGx4dUlDQWdLaUJBY21WMGRYSnVJSHQyYjJsa2ZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklISmxjMlYwUTJGamFHVW9LU0I3WEc0Z0lDQWdhV0Z1WVZwdmJtVkRZV05vWlNBOUlIdDlPMXh1SUNBZ0lHUjBaa05oWTJobElEMGdlMzA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCM2FHVjBhR1Z5SUhSb1pTQndjbTkyYVdSbFpDQnpkSEpwYm1jZ2FYTWdZU0IyWVd4cFpDQnpjR1ZqYVdacFpYSXVJRlJvYVhNZ2IyNXNlU0JqYUdWamEzTWdkR2hsSUhOMGNtbHVaeWR6SUdadmNtMWhkQ3dnYm05MElIUm9ZWFFnZEdobElITndaV05wWm1sbGNpQnBaR1Z1ZEdsbWFXVnpJR0VnYTI1dmQyNGdlbTl1WlRzZ2MyVmxJR2x6Vm1Gc2FXUmFiMjVsSUdadmNpQjBhR0YwTGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdjeUF0SUZSb1pTQnpkSEpwYm1jZ2RHOGdZMmhsWTJzZ2RtRnNhV1JwZEhrZ2IyNWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1NVRk9RVnB2Ym1VdWFYTldZV3hwWkZOd1pXTnBabWxsY2loY0lrRnRaWEpwWTJFdlRtVjNYMWx2Y210Y0lpa2dMeTg5UGlCMGNuVmxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbEJUa0ZhYjI1bExtbHpWbUZzYVdSVGNHVmphV1pwWlhJb1hDSlRjRzl5ZEg1K1lteHZjbkJjSWlrZ0x5ODlQaUJtWVd4elpWeHVJQ0FnS2lCQVpHVndjbVZqWVhSbFpDQlVhR2x6SUcxbGRHaHZaQ0J5WlhSMWNtNXpJR1poYkhObElHWnZjaUJ6YjIxbElIWmhiR2xrSUVsQlRrRWdibUZ0WlhNdUlGVnpaU0JwYzFaaGJHbGtXbTl1WlNCcGJuTjBaV0ZrTGx4dUlDQWdLaUJBY21WMGRYSnVJSHRpYjI5c1pXRnVmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2x6Vm1Gc2FXUlRjR1ZqYVdacFpYSW9jeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1JhYjI1bEtITXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nZDJobGRHaGxjaUIwYUdVZ2NISnZkbWxrWldRZ2MzUnlhVzVuSUdsa1pXNTBhV1pwWlhNZ1lTQnlaV0ZzSUhwdmJtVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhwdmJtVWdMU0JVYUdVZ2MzUnlhVzVuSUhSdklHTm9aV05yWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRWxCVGtGYWIyNWxMbWx6Vm1Gc2FXUmFiMjVsS0Z3aVFXMWxjbWxqWVM5T1pYZGZXVzl5YTF3aUtTQXZMejArSUhSeWRXVmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1NVRk9RVnB2Ym1VdWFYTldZV3hwWkZwdmJtVW9YQ0pHWVc1MFlYTnBZUzlEWVhOMGJHVmNJaWtnTHk4OVBpQm1ZV3h6WlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JKUVU1QldtOXVaUzVwYzFaaGJHbGtXbTl1WlNoY0lsTndiM0owZm41aWJHOXljRndpS1NBdkx6MCtJR1poYkhObFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYVhOV1lXeHBaRnB2Ym1Vb2VtOXVaU2tnZTF4dUlDQWdJR2xtSUNnaGVtOXVaU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUgxY2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2JtVjNJRWx1ZEd3dVJHRjBaVlJwYldWR2IzSnRZWFFvWENKbGJpMVZVMXdpTENCN0lIUnBiV1ZhYjI1bE9pQjZiMjVsSUgwcExtWnZjbTFoZENncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtHNWhiV1VwSUh0Y2JpQWdJQ0J6ZFhCbGNpZ3BPMXh1SUNBZ0lDOHFLaUJBY0hKcGRtRjBaU0FxS2k5Y2JpQWdJQ0IwYUdsekxucHZibVZPWVcxbElEMGdibUZ0WlR0Y2JpQWdJQ0F2S2lvZ1FIQnlhWFpoZEdVZ0tpb3ZYRzRnSUNBZ2RHaHBjeTUyWVd4cFpDQTlJRWxCVGtGYWIyNWxMbWx6Vm1Gc2FXUmFiMjVsS0c1aGJXVXBPMXh1SUNCOVhHNWNiaUFnTHlvcUlFQnZkbVZ5Y21sa1pTQXFLaTljYmlBZ1oyVjBJSFI1Y0dVb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUZ3aWFXRnVZVndpTzF4dUlDQjlYRzVjYmlBZ0x5b3FJRUJ2ZG1WeWNtbGtaU0FxS2k5Y2JpQWdaMlYwSUc1aGJXVW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZW05dVpVNWhiV1U3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQm5aWFFnYVhOVmJtbDJaWEp6WVd3b0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOVhHNWNiaUFnTHlvcUlFQnZkbVZ5Y21sa1pTQXFLaTljYmlBZ2IyWm1jMlYwVG1GdFpTaDBjeXdnZXlCbWIzSnRZWFFzSUd4dlkyRnNaU0I5S1NCN1hHNGdJQ0FnY21WMGRYSnVJSEJoY25ObFdtOXVaVWx1Wm04b2RITXNJR1p2Y20xaGRDd2diRzlqWVd4bExDQjBhR2x6TG01aGJXVXBPMXh1SUNCOVhHNWNiaUFnTHlvcUlFQnZkbVZ5Y21sa1pTQXFLaTljYmlBZ1ptOXliV0YwVDJabWMyVjBLSFJ6TENCbWIzSnRZWFFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabTl5YldGMFQyWm1jMlYwS0hSb2FYTXViMlptYzJWMEtIUnpLU3dnWm05eWJXRjBLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHOW1abk5sZENoMGN5a2dlMXh1SUNBZ0lHTnZibk4wSUdSaGRHVWdQU0J1WlhjZ1JHRjBaU2gwY3lrN1hHNWNiaUFnSUNCcFppQW9hWE5PWVU0b1pHRjBaU2twSUhKbGRIVnliaUJPWVU0N1hHNWNiaUFnSUNCamIyNXpkQ0JrZEdZZ1BTQnRZV3RsUkZSR0tIUm9hWE11Ym1GdFpTazdYRzRnSUNBZ2JHVjBJRnQ1WldGeUxDQnRiMjUwYUN3Z1pHRjVMQ0JoWkU5eVFtTXNJR2h2ZFhJc0lHMXBiblYwWlN3Z2MyVmpiMjVrWFNBOUlHUjBaaTVtYjNKdFlYUlViMUJoY25SelhHNGdJQ0FnSUNBL0lIQmhjblJ6VDJabWMyVjBLR1IwWml3Z1pHRjBaU2xjYmlBZ0lDQWdJRG9nYUdGamEzbFBabVp6WlhRb1pIUm1MQ0JrWVhSbEtUdGNibHh1SUNBZ0lHbG1JQ2hoWkU5eVFtTWdQVDA5SUZ3aVFrTmNJaWtnZTF4dUlDQWdJQ0FnZVdWaGNpQTlJQzFOWVhSb0xtRmljeWg1WldGeUtTQXJJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWW1WallYVnpaU0IzWlNkeVpTQjFjMmx1WnlCb2IzVnlNVElnWVc1a0lHaDBkSEJ6T2k4dlluVm5jeTVqYUhKdmJXbDFiUzV2Y21jdmNDOWphSEp2YldsMWJTOXBjM04xWlhNdlpHVjBZV2xzUDJsa1BURXdNalUxTmpRbVkyRnVQVEltY1QwbE1qSXlOQ1V6UVRBd0pUSXlKVEl3WkdGMFpYUnBiV1ZtYjNKdFlYUmNiaUFnSUNCamIyNXpkQ0JoWkdwMWMzUmxaRWh2ZFhJZ1BTQm9iM1Z5SUQwOVBTQXlOQ0EvSURBZ09pQm9iM1Z5TzF4dVhHNGdJQ0FnWTI5dWMzUWdZWE5WVkVNZ1BTQnZZbXBVYjB4dlkyRnNWRk1vZTF4dUlDQWdJQ0FnZVdWaGNpeGNiaUFnSUNBZ0lHMXZiblJvTEZ4dUlDQWdJQ0FnWkdGNUxGeHVJQ0FnSUNBZ2FHOTFjam9nWVdScWRYTjBaV1JJYjNWeUxGeHVJQ0FnSUNBZ2JXbHVkWFJsTEZ4dUlDQWdJQ0FnYzJWamIyNWtMRnh1SUNBZ0lDQWdiV2xzYkdselpXTnZibVE2SURBc1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCc1pYUWdZWE5VVXlBOUlDdGtZWFJsTzF4dUlDQWdJR052Ym5OMElHOTJaWElnUFNCaGMxUlRJQ1VnTVRBd01EdGNiaUFnSUNCaGMxUlRJQzA5SUc5MlpYSWdQajBnTUNBL0lHOTJaWElnT2lBeE1EQXdJQ3NnYjNabGNqdGNiaUFnSUNCeVpYUjFjbTRnS0dGelZWUkRJQzBnWVhOVVV5a2dMeUFvTmpBZ0tpQXhNREF3S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLaUJBYjNabGNuSnBaR1VnS2lvdlhHNGdJR1Z4ZFdGc2N5aHZkR2hsY2xwdmJtVXBJSHRjYmlBZ0lDQnlaWFIxY200Z2IzUm9aWEphYjI1bExuUjVjR1VnUFQwOUlGd2lhV0Z1WVZ3aUlDWW1JRzkwYUdWeVdtOXVaUzV1WVcxbElEMDlQU0IwYUdsekxtNWhiV1U3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQm5aWFFnYVhOV1lXeHBaQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeHBaRHRjYmlBZ2ZWeHVmVnh1SWl3Z0ltbHRjRzl5ZENCN0lHWnZjbTFoZEU5bVpuTmxkQ3dnYzJsbmJtVmtUMlptYzJWMElIMGdabkp2YlNCY0lpNHVMMmx0Y0d3dmRYUnBiQzVxYzF3aU8xeHVhVzF3YjNKMElGcHZibVVnWm5KdmJTQmNJaTR1TDNwdmJtVXVhbk5jSWp0Y2JseHViR1YwSUhOcGJtZHNaWFJ2YmlBOUlHNTFiR3c3WEc1Y2JpOHFLbHh1SUNvZ1FTQjZiMjVsSUhkcGRHZ2dZU0JtYVhobFpDQnZabVp6WlhRZ0tHMWxZVzVwYm1jZ2JtOGdSRk5VS1Z4dUlDb2dRR2x0Y0d4bGJXVnVkSE1nZTFwdmJtVjlYRzRnS2k5Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUdOc1lYTnpJRVpwZUdWa1QyWm1jMlYwV205dVpTQmxlSFJsYm1SeklGcHZibVVnZTF4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUdFZ2MybHVaMnhsZEc5dUlHbHVjM1JoYm1ObElHOW1JRlZVUTF4dUlDQWdLaUJBY21WMGRYSnVJSHRHYVhobFpFOW1abk5sZEZwdmJtVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaMlYwSUhWMFkwbHVjM1JoYm1ObEtDa2dlMXh1SUNBZ0lHbG1JQ2h6YVc1bmJHVjBiMjRnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhOcGJtZHNaWFJ2YmlBOUlHNWxkeUJHYVhobFpFOW1abk5sZEZwdmJtVW9NQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCemFXNW5iR1YwYjI0N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUdGdUlHbHVjM1JoYm1ObElIZHBkR2dnWVNCemNHVmphV1pwWldRZ2IyWm1jMlYwWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnZabVp6WlhRZ0xTQlVhR1VnYjJabWMyVjBJR2x1SUcxcGJuVjBaWE5jYmlBZ0lDb2dRSEpsZEhWeWJpQjdSbWw0WldSUFptWnpaWFJhYjI1bGZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHbHVjM1JoYm1ObEtHOW1abk5sZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ2Wm1aelpYUWdQVDA5SURBZ1B5QkdhWGhsWkU5bVpuTmxkRnB2Ym1VdWRYUmpTVzV6ZEdGdVkyVWdPaUJ1WlhjZ1JtbDRaV1JQWm1aelpYUmFiMjVsS0c5bVpuTmxkQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJR0Z1SUdsdWMzUmhibU5sSUc5bUlFWnBlR1ZrVDJabWMyVjBXbTl1WlNCbWNtOXRJR0VnVlZSRElHOW1abk5sZENCemRISnBibWNzSUd4cGEyVWdYQ0pWVkVNck5sd2lYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCeklDMGdWR2hsSUc5bVpuTmxkQ0J6ZEhKcGJtY2dkRzhnY0dGeWMyVmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JtbDRaV1JQWm1aelpYUmFiMjVsTG5CaGNuTmxVM0JsWTJsbWFXVnlLRndpVlZSREt6WmNJaWxjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSbWw0WldSUFptWnpaWFJhYjI1bExuQmhjbk5sVTNCbFkybG1hV1Z5S0Z3aVZWUkRLekEyWENJcFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVacGVHVmtUMlptYzJWMFdtOXVaUzV3WVhKelpWTndaV05wWm1sbGNpaGNJbFZVUXkwMk9qQXdYQ0lwWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMFpwZUdWa1QyWm1jMlYwV205dVpYMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QndZWEp6WlZOd1pXTnBabWxsY2loektTQjdYRzRnSUNBZ2FXWWdLSE1wSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSElnUFNCekxtMWhkR05vS0M5ZWRYUmpLRDg2S0ZzckxWMWNYR1I3TVN3eWZTa29Qem82S0Z4Y1pIc3lmU2twUHlrL0pDOXBLVHRjYmlBZ0lDQWdJR2xtSUNoeUtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUm1sNFpXUlBabVp6WlhSYWIyNWxLSE5wWjI1bFpFOW1abk5sZENoeVd6RmRMQ0J5V3pKZEtTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNSeWRXTjBiM0lvYjJabWMyVjBLU0I3WEc0Z0lDQWdjM1Z3WlhJb0tUdGNiaUFnSUNBdktpb2dRSEJ5YVhaaGRHVWdLaW92WEc0Z0lDQWdkR2hwY3k1bWFYaGxaQ0E5SUc5bVpuTmxkRHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHZGxkQ0IwZVhCbEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCY0ltWnBlR1ZrWENJN1hHNGdJSDFjYmx4dUlDQXZLaW9nUUc5MlpYSnlhV1JsSUNvcUwxeHVJQ0JuWlhRZ2JtRnRaU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bWFYaGxaQ0E5UFQwZ01DQS9JRndpVlZSRFhDSWdPaUJnVlZSREpIdG1iM0p0WVhSUFptWnpaWFFvZEdocGN5NW1hWGhsWkN3Z1hDSnVZWEp5YjNkY0lpbDlZRHRjYmlBZ2ZWeHVYRzRnSUdkbGRDQnBZVzVoVG1GdFpTZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NW1hWGhsWkNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRndpUlhSakwxVlVRMXdpTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1lFVjBZeTlIVFZRa2UyWnZjbTFoZEU5bVpuTmxkQ2d0ZEdocGN5NW1hWGhsWkN3Z1hDSnVZWEp5YjNkY0lpbDlZRHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0F2S2lvZ1FHOTJaWEp5YVdSbElDb3FMMXh1SUNCdlptWnpaWFJPWVcxbEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTVoYldVN1hHNGdJSDFjYmx4dUlDQXZLaW9nUUc5MlpYSnlhV1JsSUNvcUwxeHVJQ0JtYjNKdFlYUlBabVp6WlhRb2RITXNJR1p2Y20xaGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbWIzSnRZWFJQWm1aelpYUW9kR2hwY3k1bWFYaGxaQ3dnWm05eWJXRjBLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHZGxkQ0JwYzFWdWFYWmxjbk5oYkNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUc5bVpuTmxkQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bWFYaGxaRHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHVnhkV0ZzY3lodmRHaGxjbHB2Ym1VcElIdGNiaUFnSUNCeVpYUjFjbTRnYjNSb1pYSmFiMjVsTG5SNWNHVWdQVDA5SUZ3aVptbDRaV1JjSWlBbUppQnZkR2hsY2xwdmJtVXVabWw0WldRZ1BUMDlJSFJvYVhNdVptbDRaV1E3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQm5aWFFnYVhOV1lXeHBaQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1ZlZ4dUlpd2dJbWx0Y0c5eWRDQmFiMjVsSUdaeWIyMGdYQ0l1TGk5NmIyNWxMbXB6WENJN1hHNWNiaThxS2x4dUlDb2dRU0I2YjI1bElIUm9ZWFFnWm1GcGJHVmtJSFJ2SUhCaGNuTmxMaUJaYjNVZ2MyaHZkV3hrSUc1bGRtVnlJRzVsWldRZ2RHOGdhVzV6ZEdGdWRHbGhkR1VnZEdocGN5NWNiaUFxSUVCcGJYQnNaVzFsYm5SeklIdGFiMjVsZlZ4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCSmJuWmhiR2xrV205dVpTQmxlSFJsYm1SeklGcHZibVVnZTF4dUlDQmpiMjV6ZEhKMVkzUnZjaWg2YjI1bFRtRnRaU2tnZTF4dUlDQWdJSE4xY0dWeUtDazdYRzRnSUNBZ0x5b3FJQ0JBY0hKcGRtRjBaU0FxTDF4dUlDQWdJSFJvYVhNdWVtOXVaVTVoYldVZ1BTQjZiMjVsVG1GdFpUdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUdkbGRDQjBlWEJsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJjSW1sdWRtRnNhV1JjSWp0Y2JpQWdmVnh1WEc0Z0lDOHFLaUJBYjNabGNuSnBaR1VnS2lvdlhHNGdJR2RsZENCdVlXMWxLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5wdmJtVk9ZVzFsTzF4dUlDQjlYRzVjYmlBZ0x5b3FJRUJ2ZG1WeWNtbGtaU0FxS2k5Y2JpQWdaMlYwSUdselZXNXBkbVZ5YzJGc0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHOW1abk5sZEU1aGJXVW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQm1iM0p0WVhSUFptWnpaWFFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRndpWENJN1hHNGdJSDFjYmx4dUlDQXZLaW9nUUc5MlpYSnlhV1JsSUNvcUwxeHVJQ0J2Wm1aelpYUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFNWhUanRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHVnhkV0ZzY3lncElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JseHVJQ0F2S2lvZ1FHOTJaWEp5YVdSbElDb3FMMXh1SUNCblpYUWdhWE5XWVd4cFpDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibjFjYmlJc0lDSXZLaXBjYmlBcUlFQndjbWwyWVhSbFhHNGdLaTljYmx4dWFXMXdiM0owSUZwdmJtVWdabkp2YlNCY0lpNHVMM3B2Ym1VdWFuTmNJanRjYm1sdGNHOXlkQ0JKUVU1QldtOXVaU0JtY205dElGd2lMaTR2ZW05dVpYTXZTVUZPUVZwdmJtVXVhbk5jSWp0Y2JtbHRjRzl5ZENCR2FYaGxaRTltWm5ObGRGcHZibVVnWm5KdmJTQmNJaTR1TDNwdmJtVnpMMlpwZUdWa1QyWm1jMlYwV205dVpTNXFjMXdpTzF4dWFXMXdiM0owSUVsdWRtRnNhV1JhYjI1bElHWnliMjBnWENJdUxpOTZiMjVsY3k5cGJuWmhiR2xrV205dVpTNXFjMXdpTzF4dVhHNXBiWEJ2Y25RZ2V5QnBjMVZ1WkdWbWFXNWxaQ3dnYVhOVGRISnBibWNzSUdselRuVnRZbVZ5SUgwZ1puSnZiU0JjSWk0dmRYUnBiQzVxYzF3aU8xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdibTl5YldGc2FYcGxXbTl1WlNocGJuQjFkQ3dnWkdWbVlYVnNkRnB2Ym1VcElIdGNiaUFnYkdWMElHOW1abk5sZER0Y2JpQWdhV1lnS0dselZXNWtaV1pwYm1Wa0tHbHVjSFYwS1NCOGZDQnBibkIxZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJrWldaaGRXeDBXbTl1WlR0Y2JpQWdmU0JsYkhObElHbG1JQ2hwYm5CMWRDQnBibk4wWVc1alpXOW1JRnB2Ym1VcElIdGNiaUFnSUNCeVpYUjFjbTRnYVc1d2RYUTdYRzRnSUgwZ1pXeHpaU0JwWmlBb2FYTlRkSEpwYm1jb2FXNXdkWFFwS1NCN1hHNGdJQ0FnWTI5dWMzUWdiRzkzWlhKbFpDQTlJR2x1Y0hWMExuUnZURzkzWlhKRFlYTmxLQ2s3WEc0Z0lDQWdhV1lnS0d4dmQyVnlaV1FnUFQwOUlGd2liRzlqWVd4Y0lpQjhmQ0JzYjNkbGNtVmtJRDA5UFNCY0luTjVjM1JsYlZ3aUtTQnlaWFIxY200Z1pHVm1ZWFZzZEZwdmJtVTdYRzRnSUNBZ1pXeHpaU0JwWmlBb2JHOTNaWEpsWkNBOVBUMGdYQ0oxZEdOY0lpQjhmQ0JzYjNkbGNtVmtJRDA5UFNCY0ltZHRkRndpS1NCeVpYUjFjbTRnUm1sNFpXUlBabVp6WlhSYWIyNWxMblYwWTBsdWMzUmhibU5sTzF4dUlDQWdJR1ZzYzJVZ2NtVjBkWEp1SUVacGVHVmtUMlptYzJWMFdtOXVaUzV3WVhKelpWTndaV05wWm1sbGNpaHNiM2RsY21Wa0tTQjhmQ0JKUVU1QldtOXVaUzVqY21WaGRHVW9hVzV3ZFhRcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dselRuVnRZbVZ5S0dsdWNIVjBLU2tnZTF4dUlDQWdJSEpsZEhWeWJpQkdhWGhsWkU5bVpuTmxkRnB2Ym1VdWFXNXpkR0Z1WTJVb2FXNXdkWFFwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQnBibkIxZENBOVBUMGdYQ0p2WW1wbFkzUmNJaUFtSmlCcGJuQjFkQzV2Wm1aelpYUWdKaVlnZEhsd1pXOW1JR2x1Y0hWMExtOW1abk5sZENBOVBUMGdYQ0p1ZFcxaVpYSmNJaWtnZTF4dUlDQWdJQzh2SUZSb2FYTWdhWE1nWkhWdFlpd2dZblYwSUhSb1pTQnBibk4wWVc1alpXOW1JR05vWldOcklHRmliM1psSUdSdlpYTnVKM1FnYzJWbGJTQjBieUJ5WldGc2JIa2dkMjl5YTF4dUlDQWdJQzh2SUhOdklIZGxKM0psSUdSMVkyc2dZMmhsWTJ0cGJtY2dhWFJjYmlBZ0lDQnlaWFIxY200Z2FXNXdkWFE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJRzVsZHlCSmJuWmhiR2xrV205dVpTaHBibkIxZENrN1hHNGdJSDFjYm4xY2JpSXNJQ0pwYlhCdmNuUWdVM2x6ZEdWdFdtOXVaU0JtY205dElGd2lMaTk2YjI1bGN5OXplWE4wWlcxYWIyNWxMbXB6WENJN1hHNXBiWEJ2Y25RZ1NVRk9RVnB2Ym1VZ1puSnZiU0JjSWk0dmVtOXVaWE12U1VGT1FWcHZibVV1YW5OY0lqdGNibWx0Y0c5eWRDQk1iMk5oYkdVZ1puSnZiU0JjSWk0dmFXMXdiQzlzYjJOaGJHVXVhbk5jSWp0Y2JseHVhVzF3YjNKMElIc2dibTl5YldGc2FYcGxXbTl1WlNCOUlHWnliMjBnWENJdUwybHRjR3d2ZW05dVpWVjBhV3d1YW5OY0lqdGNibHh1YkdWMElHNXZkeUE5SUNncElEMCtJRVJoZEdVdWJtOTNLQ2tzWEc0Z0lHUmxabUYxYkhSYWIyNWxJRDBnWENKemVYTjBaVzFjSWl4Y2JpQWdaR1ZtWVhWc2RFeHZZMkZzWlNBOUlHNTFiR3dzWEc0Z0lHUmxabUYxYkhST2RXMWlaWEpwYm1kVGVYTjBaVzBnUFNCdWRXeHNMRnh1SUNCa1pXWmhkV3gwVDNWMGNIVjBRMkZzWlc1a1lYSWdQU0J1ZFd4c0xGeHVJQ0IwYUhKdmQwOXVTVzUyWVd4cFpEdGNibHh1THlvcVhHNGdLaUJUWlhSMGFXNW5jeUJqYjI1MFlXbHVjeUJ6ZEdGMGFXTWdaMlYwZEdWeWN5QmhibVFnYzJWMGRHVnljeUIwYUdGMElHTnZiblJ5YjJ3Z1RIVjRiMjRuY3lCdmRtVnlZV3hzSUdKbGFHRjJhVzl5TGlCTWRYaHZiaUJwY3lCaElITnBiWEJzWlNCc2FXSnlZWEo1SUhkcGRHZ2dabVYzSUc5d2RHbHZibk1zSUdKMWRDQjBhR1VnYjI1bGN5QnBkQ0JrYjJWeklHaGhkbVVnYkdsMlpTQm9aWEpsTGx4dUlDb3ZYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQmpiR0Z6Y3lCVFpYUjBhVzVuY3lCN1hHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJR05oYkd4aVlXTnJJR1p2Y2lCeVpYUjFjbTVwYm1jZ2RHaGxJR04xY25KbGJuUWdkR2x0WlhOMFlXMXdMbHh1SUNBZ0tpQkFkSGx3WlNCN1puVnVZM1JwYjI1OVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJRzV2ZHlncElIdGNiaUFnSUNCeVpYUjFjbTRnYm05M08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRk5sZENCMGFHVWdZMkZzYkdKaFkyc2dabTl5SUhKbGRIVnlibWx1WnlCMGFHVWdZM1Z5Y21WdWRDQjBhVzFsYzNSaGJYQXVYRzRnSUNBcUlGUm9aU0JtZFc1amRHbHZiaUJ6YUc5MWJHUWdjbVYwZFhKdUlHRWdiblZ0WW1WeUxDQjNhR2xqYUNCM2FXeHNJR0psSUdsdWRHVnljSEpsZEdWa0lHRnpJR0Z1SUVWd2IyTm9JRzFwYkd4cGMyVmpiMjVrSUdOdmRXNTBYRzRnSUNBcUlFQjBlWEJsSUh0bWRXNWpkR2x2Ym4xY2JpQWdJQ29nUUdWNFlXMXdiR1VnVTJWMGRHbHVaM011Ym05M0lEMGdLQ2tnUFQ0Z1JHRjBaUzV1YjNjb0tTQXJJRE13TURBZ0x5OGdjSEpsZEdWdVpDQnBkQ0JwY3lBeklITmxZMjl1WkhNZ2FXNGdkR2hsSUdaMWRIVnlaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQlRaWFIwYVc1bmN5NXViM2NnUFNBb0tTQTlQaUF3SUM4dklHRnNkMkY1Y3lCd2NtVjBaVzVrSUdsMEozTWdTbUZ1SURFc0lERTVOekFnWVhRZ2JXbGtibWxuYUhRZ2FXNGdWVlJESUhScGJXVmNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnpaWFFnYm05M0tHNHBJSHRjYmlBZ0lDQnViM2NnUFNCdU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRk5sZENCMGFHVWdaR1ZtWVhWc2RDQjBhVzFsSUhwdmJtVWdkRzhnWTNKbFlYUmxJRVJoZEdWVWFXMWxjeUJwYmk0Z1JHOWxjeUJ1YjNRZ1lXWm1aV04wSUdWNGFYTjBhVzVuSUdsdWMzUmhibU5sY3k1Y2JpQWdJQ29nVlhObElIUm9aU0IyWVd4MVpTQmNJbk41YzNSbGJWd2lJSFJ2SUhKbGMyVjBJSFJvYVhNZ2RtRnNkV1VnZEc4Z2RHaGxJSE41YzNSbGJTZHpJSFJwYldVZ2VtOXVaUzVjYmlBZ0lDb2dRSFI1Y0dVZ2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCelpYUWdaR1ZtWVhWc2RGcHZibVVvZW05dVpTa2dlMXh1SUNBZ0lHUmxabUYxYkhSYWIyNWxJRDBnZW05dVpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJR1JsWm1GMWJIUWdkR2x0WlNCNmIyNWxJRzlpYW1WamRDQmpkWEp5Wlc1MGJIa2dkWE5sWkNCMGJ5QmpjbVZoZEdVZ1JHRjBaVlJwYldWekxpQkViMlZ6SUc1dmRDQmhabVpsWTNRZ1pYaHBjM1JwYm1jZ2FXNXpkR0Z1WTJWekxseHVJQ0FnS2lCVWFHVWdaR1ZtWVhWc2RDQjJZV3gxWlNCcGN5QjBhR1VnYzNsemRHVnRKM01nZEdsdFpTQjZiMjVsSUNoMGFHVWdiMjVsSUhObGRDQnZiaUIwYUdVZ2JXRmphR2x1WlNCMGFHRjBJSEoxYm5NZ2RHaHBjeUJqYjJSbEtTNWNiaUFnSUNvZ1FIUjVjR1VnZTFwdmJtVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaMlYwSUdSbFptRjFiSFJhYjI1bEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWIzSnRZV3hwZW1WYWIyNWxLR1JsWm1GMWJIUmFiMjVsTENCVGVYTjBaVzFhYjI1bExtbHVjM1JoYm1ObEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJR1JsWm1GMWJIUWdiRzlqWVd4bElIUnZJR055WldGMFpTQkVZWFJsVkdsdFpYTWdkMmwwYUM0Z1JHOWxjeUJ1YjNRZ1lXWm1aV04wSUdWNGFYTjBhVzVuSUdsdWMzUmhibU5sY3k1Y2JpQWdJQ29nUUhSNWNHVWdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnWkdWbVlYVnNkRXh2WTJGc1pTZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1pHVm1ZWFZzZEV4dlkyRnNaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVFpYUWdkR2hsSUdSbFptRjFiSFFnYkc5allXeGxJSFJ2SUdOeVpXRjBaU0JFWVhSbFZHbHRaWE1nZDJsMGFDNGdSRzlsY3lCdWIzUWdZV1ptWldOMElHVjRhWE4wYVc1bklHbHVjM1JoYm1ObGN5NWNiaUFnSUNvZ1FIUjVjR1VnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJ6WlhRZ1pHVm1ZWFZzZEV4dlkyRnNaU2hzYjJOaGJHVXBJSHRjYmlBZ0lDQmtaV1poZFd4MFRHOWpZV3hsSUQwZ2JHOWpZV3hsTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ1pHVm1ZWFZzZENCdWRXMWlaWEpwYm1jZ2MzbHpkR1Z0SUhSdklHTnlaV0YwWlNCRVlYUmxWR2x0WlhNZ2QybDBhQzRnUkc5bGN5QnViM1FnWVdabVpXTjBJR1Y0YVhOMGFXNW5JR2x1YzNSaGJtTmxjeTVjYmlBZ0lDb2dRSFI1Y0dVZ2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdaR1ZtWVhWc2RFNTFiV0psY21sdVoxTjVjM1JsYlNncElIdGNiaUFnSUNCeVpYUjFjbTRnWkdWbVlYVnNkRTUxYldKbGNtbHVaMU41YzNSbGJUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJUWlhRZ2RHaGxJR1JsWm1GMWJIUWdiblZ0WW1WeWFXNW5JSE41YzNSbGJTQjBieUJqY21WaGRHVWdSR0YwWlZScGJXVnpJSGRwZEdndUlFUnZaWE1nYm05MElHRm1abVZqZENCbGVHbHpkR2x1WnlCcGJuTjBZVzVqWlhNdVhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdjMlYwSUdSbFptRjFiSFJPZFcxaVpYSnBibWRUZVhOMFpXMG9iblZ0WW1WeWFXNW5VM2x6ZEdWdEtTQjdYRzRnSUNBZ1pHVm1ZWFZzZEU1MWJXSmxjbWx1WjFONWMzUmxiU0E5SUc1MWJXSmxjbWx1WjFONWMzUmxiVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUdSbFptRjFiSFFnYjNWMGNIVjBJR05oYkdWdVpHRnlJSFJ2SUdOeVpXRjBaU0JFWVhSbFZHbHRaWE1nZDJsMGFDNGdSRzlsY3lCdWIzUWdZV1ptWldOMElHVjRhWE4wYVc1bklHbHVjM1JoYm1ObGN5NWNiaUFnSUNvZ1FIUjVjR1VnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1pHVm1ZWFZzZEU5MWRIQjFkRU5oYkdWdVpHRnlLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQmtaV1poZFd4MFQzVjBjSFYwUTJGc1pXNWtZWEk3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1UyVjBJSFJvWlNCa1pXWmhkV3gwSUc5MWRIQjFkQ0JqWVd4bGJtUmhjaUIwYnlCamNtVmhkR1VnUkdGMFpWUnBiV1Z6SUhkcGRHZ3VJRVJ2WlhNZ2JtOTBJR0ZtWm1WamRDQmxlR2x6ZEdsdVp5QnBibk4wWVc1alpYTXVYRzRnSUNBcUlFQjBlWEJsSUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYzJWMElHUmxabUYxYkhSUGRYUndkWFJEWVd4bGJtUmhjaWh2ZFhSd2RYUkRZV3hsYm1SaGNpa2dlMXh1SUNBZ0lHUmxabUYxYkhSUGRYUndkWFJEWVd4bGJtUmhjaUE5SUc5MWRIQjFkRU5oYkdWdVpHRnlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjNhR1YwYUdWeUlFeDFlRzl1SUhkcGJHd2dkR2h5YjNjZ2QyaGxiaUJwZENCbGJtTnZkVzUwWlhKeklHbHVkbUZzYVdRZ1JHRjBaVlJwYldWekxDQkVkWEpoZEdsdmJuTXNJRzl5SUVsdWRHVnlkbUZzYzF4dUlDQWdLaUJBZEhsd1pTQjdZbTl2YkdWaGJuMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnZEdoeWIzZFBia2x1ZG1Gc2FXUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9jbTkzVDI1SmJuWmhiR2xrTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGTmxkQ0IzYUdWMGFHVnlJRXgxZUc5dUlIZHBiR3dnZEdoeWIzY2dkMmhsYmlCcGRDQmxibU52ZFc1MFpYSnpJR2x1ZG1Gc2FXUWdSR0YwWlZScGJXVnpMQ0JFZFhKaGRHbHZibk1zSUc5eUlFbHVkR1Z5ZG1Gc2MxeHVJQ0FnS2lCQWRIbHdaU0I3WW05dmJHVmhibjFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJ6WlhRZ2RHaHliM2RQYmtsdWRtRnNhV1FvZENrZ2UxeHVJQ0FnSUhSb2NtOTNUMjVKYm5aaGJHbGtJRDBnZER0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWE5sZENCTWRYaHZiaWR6SUdkc2IySmhiQ0JqWVdOb1pYTXVJRk5vYjNWc1pDQnZibXg1SUdKbElHNWxZMlZ6YzJGeWVTQnBiaUIwWlhOMGFXNW5JSE5qWlc1aGNtbHZjeTVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdkbTlwWkgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCeVpYTmxkRU5oWTJobGN5Z3BJSHRjYmlBZ0lDQk1iMk5oYkdVdWNtVnpaWFJEWVdOb1pTZ3BPMXh1SUNBZ0lFbEJUa0ZhYjI1bExuSmxjMlYwUTJGamFHVW9LVHRjYmlBZ2ZWeHVmVnh1SWl3Z0ltbHRjRzl5ZENCN0lIQmhaRk4wWVhKMExDQnliM1Z1WkZSdkxDQm9ZWE5TWld4aGRHbDJaU0I5SUdaeWIyMGdYQ0l1TDNWMGFXd3Vhbk5jSWp0Y2JtbHRjRzl5ZENBcUlHRnpJRVZ1WjJ4cGMyZ2dabkp2YlNCY0lpNHZaVzVuYkdsemFDNXFjMXdpTzF4dWFXMXdiM0owSUZObGRIUnBibWR6SUdaeWIyMGdYQ0l1TGk5elpYUjBhVzVuY3k1cWMxd2lPMXh1YVcxd2IzSjBJRVJoZEdWVWFXMWxJR1p5YjIwZ1hDSXVMaTlrWVhSbGRHbHRaUzVxYzF3aU8xeHVhVzF3YjNKMElFbEJUa0ZhYjI1bElHWnliMjBnWENJdUxpOTZiMjVsY3k5SlFVNUJXbTl1WlM1cWMxd2lPMXh1WEc0dkx5QjBiMlJ2SUMwZ2NtVnRZWEFnWTJGamFHbHVaMXh1WEc1c1pYUWdhVzUwYkV4R1EyRmphR1VnUFNCN2ZUdGNibVoxYm1OMGFXOXVJR2RsZEVOaFkyaGxaRXhHS0d4dlkxTjBjbWx1Wnl3Z2IzQjBjeUE5SUh0OUtTQjdYRzRnSUdOdmJuTjBJR3RsZVNBOUlFcFRUMDR1YzNSeWFXNW5hV1o1S0Z0c2IyTlRkSEpwYm1jc0lHOXdkSE5kS1R0Y2JpQWdiR1YwSUdSMFppQTlJR2x1ZEd4TVJrTmhZMmhsVzJ0bGVWMDdYRzRnSUdsbUlDZ2haSFJtS1NCN1hHNGdJQ0FnWkhSbUlEMGdibVYzSUVsdWRHd3VUR2x6ZEVadmNtMWhkQ2hzYjJOVGRISnBibWNzSUc5d2RITXBPMXh1SUNBZ0lHbHVkR3hNUmtOaFkyaGxXMnRsZVYwZ1BTQmtkR1k3WEc0Z0lIMWNiaUFnY21WMGRYSnVJR1IwWmp0Y2JuMWNibHh1YkdWMElHbHVkR3hFVkVOaFkyaGxJRDBnZTMwN1hHNW1kVzVqZEdsdmJpQm5aWFJEWVdOb1pXUkVWRVlvYkc5alUzUnlhVzVuTENCdmNIUnpJRDBnZTMwcElIdGNiaUFnWTI5dWMzUWdhMlY1SUQwZ1NsTlBUaTV6ZEhKcGJtZHBabmtvVzJ4dlkxTjBjbWx1Wnl3Z2IzQjBjMTBwTzF4dUlDQnNaWFFnWkhSbUlEMGdhVzUwYkVSVVEyRmphR1ZiYTJWNVhUdGNiaUFnYVdZZ0tDRmtkR1lwSUh0Y2JpQWdJQ0JrZEdZZ1BTQnVaWGNnU1c1MGJDNUVZWFJsVkdsdFpVWnZjbTFoZENoc2IyTlRkSEpwYm1jc0lHOXdkSE1wTzF4dUlDQWdJR2x1ZEd4RVZFTmhZMmhsVzJ0bGVWMGdQU0JrZEdZN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUdSMFpqdGNibjFjYmx4dWJHVjBJR2x1ZEd4T2RXMURZV05vWlNBOUlIdDlPMXh1Wm5WdVkzUnBiMjRnWjJWMFEyRmphR1ZrU1U1R0tHeHZZMU4wY21sdVp5d2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lHTnZibk4wSUd0bGVTQTlJRXBUVDA0dWMzUnlhVzVuYVdaNUtGdHNiMk5UZEhKcGJtY3NJRzl3ZEhOZEtUdGNiaUFnYkdWMElHbHVaaUE5SUdsdWRHeE9kVzFEWVdOb1pWdHJaWGxkTzF4dUlDQnBaaUFvSVdsdVppa2dlMXh1SUNBZ0lHbHVaaUE5SUc1bGR5QkpiblJzTGs1MWJXSmxja1p2Y20xaGRDaHNiMk5UZEhKcGJtY3NJRzl3ZEhNcE8xeHVJQ0FnSUdsdWRHeE9kVzFEWVdOb1pWdHJaWGxkSUQwZ2FXNW1PMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnBibVk3WEc1OVhHNWNibXhsZENCcGJuUnNVbVZzUTJGamFHVWdQU0I3ZlR0Y2JtWjFibU4wYVc5dUlHZGxkRU5oWTJobFpGSlVSaWhzYjJOVGRISnBibWNzSUc5d2RITWdQU0I3ZlNrZ2UxeHVJQ0JqYjI1emRDQjdJR0poYzJVc0lDNHVMbU5oWTJobFMyVjVUM0IwY3lCOUlEMGdiM0IwY3pzZ0x5OGdaWGhqYkhWa1pTQmdZbUZ6WldBZ1puSnZiU0IwYUdVZ2IzQjBhVzl1YzF4dUlDQmpiMjV6ZENCclpYa2dQU0JLVTA5T0xuTjBjbWx1WjJsbWVTaGJiRzlqVTNSeWFXNW5MQ0JqWVdOb1pVdGxlVTl3ZEhOZEtUdGNiaUFnYkdWMElHbHVaaUE5SUdsdWRHeFNaV3hEWVdOb1pWdHJaWGxkTzF4dUlDQnBaaUFvSVdsdVppa2dlMXh1SUNBZ0lHbHVaaUE5SUc1bGR5QkpiblJzTGxKbGJHRjBhWFpsVkdsdFpVWnZjbTFoZENoc2IyTlRkSEpwYm1jc0lHOXdkSE1wTzF4dUlDQWdJR2x1ZEd4U1pXeERZV05vWlZ0clpYbGRJRDBnYVc1bU8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCcGJtWTdYRzU5WEc1Y2JteGxkQ0J6ZVhOTWIyTmhiR1ZEWVdOb1pTQTlJRzUxYkd3N1hHNW1kVzVqZEdsdmJpQnplWE4wWlcxTWIyTmhiR1VvS1NCN1hHNGdJR2xtSUNoemVYTk1iMk5oYkdWRFlXTm9aU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnplWE5NYjJOaGJHVkRZV05vWlR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCemVYTk1iMk5oYkdWRFlXTm9aU0E5SUc1bGR5QkpiblJzTGtSaGRHVlVhVzFsUm05eWJXRjBLQ2t1Y21WemIyeDJaV1JQY0hScGIyNXpLQ2t1Ykc5allXeGxPMXh1SUNBZ0lISmxkSFZ5YmlCemVYTk1iMk5oYkdWRFlXTm9aVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCd1lYSnpaVXh2WTJGc1pWTjBjbWx1Wnloc2IyTmhiR1ZUZEhJcElIdGNiaUFnTHk4Z1NTQnlaV0ZzYkhrZ2QyRnVkQ0IwYnlCaGRtOXBaQ0IzY21sMGFXNW5JR0VnUWtOUUlEUTNJSEJoY25ObGNseHVJQ0F2THlCelpXVXNJR1V1Wnk0Z2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwzZHZiMjl5YlM5aVkzQXRORGRjYmlBZ0x5OGdTVzV6ZEdWaFpDd2dkMlVuYkd3Z1pHOGdkR2hwY3pwY2JseHVJQ0F2THlCaEtTQnBaaUIwYUdVZ2MzUnlhVzVuSUdoaGN5QnVieUF0ZFNCbGVIUmxibk5wYjI1ekxDQnFkWE4wSUd4bFlYWmxJR2wwSUdGc2IyNWxYRzRnSUM4dklHSXBJR2xtSUdsMElHUnZaWE1zSUhWelpTQkpiblJzSUhSdklISmxjMjlzZG1VZ1pYWmxjbmwwYUdsdVoxeHVJQ0F2THlCaktTQnBaaUJKYm5Sc0lHWmhhV3h6TENCMGNua2dZV2RoYVc0Z2QybDBhRzkxZENCMGFHVWdMWFZjYmx4dUlDQmpiMjV6ZENCMVNXNWtaWGdnUFNCc2IyTmhiR1ZUZEhJdWFXNWtaWGhQWmloY0lpMTFMVndpS1R0Y2JpQWdhV1lnS0hWSmJtUmxlQ0E5UFQwZ0xURXBJSHRjYmlBZ0lDQnlaWFIxY200Z1cyeHZZMkZzWlZOMGNsMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdiR1YwSUc5d2RHbHZibk03WEc0Z0lDQWdZMjl1YzNRZ2MyMWhiR3hsY2lBOUlHeHZZMkZzWlZOMGNpNXpkV0p6ZEhKcGJtY29NQ3dnZFVsdVpHVjRLVHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnYjNCMGFXOXVjeUE5SUdkbGRFTmhZMmhsWkVSVVJpaHNiMk5oYkdWVGRISXBMbkpsYzI5c2RtVmtUM0IwYVc5dWN5Z3BPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQWdJRzl3ZEdsdmJuTWdQU0JuWlhSRFlXTm9aV1JFVkVZb2MyMWhiR3hsY2lrdWNtVnpiMngyWldSUGNIUnBiMjV6S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdleUJ1ZFcxaVpYSnBibWRUZVhOMFpXMHNJR05oYkdWdVpHRnlJSDBnUFNCdmNIUnBiMjV6TzF4dUlDQWdJQzh2SUhKbGRIVnliaUIwYUdVZ2MyMWhiR3hsY2lCdmJtVWdjMjhnZEdoaGRDQjNaU0JqWVc0Z1lYQndaVzVrSUhSb1pTQmpZV3hsYm1SaGNpQmhibVFnYm5WdFltVnlhVzVuSUc5MlpYSnlhV1JsY3lCMGJ5QnBkRnh1SUNBZ0lISmxkSFZ5YmlCYmMyMWhiR3hsY2l3Z2JuVnRZbVZ5YVc1blUzbHpkR1Z0TENCallXeGxibVJoY2wwN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdhVzUwYkVOdmJtWnBaMU4wY21sdVp5aHNiMk5oYkdWVGRISXNJRzUxYldKbGNtbHVaMU41YzNSbGJTd2diM1YwY0hWMFEyRnNaVzVrWVhJcElIdGNiaUFnYVdZZ0tHOTFkSEIxZEVOaGJHVnVaR0Z5SUh4OElHNTFiV0psY21sdVoxTjVjM1JsYlNrZ2UxeHVJQ0FnSUd4dlkyRnNaVk4wY2lBclBTQmNJaTExWENJN1hHNWNiaUFnSUNCcFppQW9iM1YwY0hWMFEyRnNaVzVrWVhJcElIdGNiaUFnSUNBZ0lHeHZZMkZzWlZOMGNpQXJQU0JnTFdOaExTUjdiM1YwY0hWMFEyRnNaVzVrWVhKOVlEdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iblZ0WW1WeWFXNW5VM2x6ZEdWdEtTQjdYRzRnSUNBZ0lDQnNiMk5oYkdWVGRISWdLejBnWUMxdWRTMGtlMjUxYldKbGNtbHVaMU41YzNSbGJYMWdPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYkc5allXeGxVM1J5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJzYjJOaGJHVlRkSEk3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRndUVzl1ZEdoektHWXBJSHRjYmlBZ1kyOXVjM1FnYlhNZ1BTQmJYVHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREU3SUdrZ1BEMGdNVEk3SUdrckt5a2dlMXh1SUNBZ0lHTnZibk4wSUdSMElEMGdSR0YwWlZScGJXVXVkWFJqS0RJd01UWXNJR2tzSURFcE8xeHVJQ0FnSUcxekxuQjFjMmdvWmloa2RDa3BPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRjenRjYm4xY2JseHVablZ1WTNScGIyNGdiV0Z3VjJWbGEyUmhlWE1vWmlrZ2UxeHVJQ0JqYjI1emRDQnRjeUE5SUZ0ZE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Uc2dhU0E4UFNBM095QnBLeXNwSUh0Y2JpQWdJQ0JqYjI1emRDQmtkQ0E5SUVSaGRHVlVhVzFsTG5WMFl5Z3lNREUyTENBeE1Td2dNVE1nS3lCcEtUdGNiaUFnSUNCdGN5NXdkWE5vS0dZb1pIUXBLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiWE03WEc1OVhHNWNibVoxYm1OMGFXOXVJR3hwYzNSVGRIVm1aaWhzYjJNc0lHeGxibWQwYUN3Z1pHVm1ZWFZzZEU5TExDQmxibWRzYVhOb1JtNHNJR2x1ZEd4R2Jpa2dlMXh1SUNCamIyNXpkQ0J0YjJSbElEMGdiRzlqTG14cGMzUnBibWROYjJSbEtHUmxabUYxYkhSUFN5azdYRzVjYmlBZ2FXWWdLRzF2WkdVZ1BUMDlJRndpWlhKeWIzSmNJaWtnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLRzF2WkdVZ1BUMDlJRndpWlc1Y0lpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbGJtZHNhWE5vUm00b2JHVnVaM1JvS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnYVc1MGJFWnVLR3hsYm1kMGFDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYzNWd2NHOXlkSE5HWVhOMFRuVnRZbVZ5Y3loc2IyTXBJSHRjYmlBZ2FXWWdLR3h2WXk1dWRXMWlaWEpwYm1kVGVYTjBaVzBnSmlZZ2JHOWpMbTUxYldKbGNtbHVaMU41YzNSbGJTQWhQVDBnWENKc1lYUnVYQ0lwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUd4dll5NXVkVzFpWlhKcGJtZFRlWE4wWlcwZ1BUMDlJRndpYkdGMGJsd2lJSHg4WEc0Z0lDQWdJQ0FoYkc5akxteHZZMkZzWlNCOGZGeHVJQ0FnSUNBZ2JHOWpMbXh2WTJGc1pTNXpkR0Z5ZEhOWGFYUm9LRndpWlc1Y0lpa2dmSHhjYmlBZ0lDQWdJRzVsZHlCSmJuUnNMa1JoZEdWVWFXMWxSbTl5YldGMEtHeHZZeTVwYm5Sc0tTNXlaWE52YkhabFpFOXdkR2x2Ym5Nb0tTNXVkVzFpWlhKcGJtZFRlWE4wWlcwZ1BUMDlJRndpYkdGMGJsd2lYRzRnSUNBZ0tUdGNiaUFnZlZ4dWZWeHVYRzR2S2lwY2JpQXFJRUJ3Y21sMllYUmxYRzRnS2k5Y2JseHVZMnhoYzNNZ1VHOXNlVTUxYldKbGNrWnZjbTFoZEhSbGNpQjdYRzRnSUdOdmJuTjBjblZqZEc5eUtHbHVkR3dzSUdadmNtTmxVMmx0Y0d4bExDQnZjSFJ6S1NCN1hHNGdJQ0FnZEdocGN5NXdZV1JVYnlBOUlHOXdkSE11Y0dGa1ZHOGdmSHdnTUR0Y2JpQWdJQ0IwYUdsekxtWnNiMjl5SUQwZ2IzQjBjeTVtYkc5dmNpQjhmQ0JtWVd4elpUdGNibHh1SUNBZ0lHTnZibk4wSUhzZ2NHRmtWRzhzSUdac2IyOXlMQ0F1TGk1dmRHaGxjazl3ZEhNZ2ZTQTlJRzl3ZEhNN1hHNWNiaUFnSUNCcFppQW9JV1p2Y21ObFUybHRjR3hsSUh4OElFOWlhbVZqZEM1clpYbHpLRzkwYUdWeVQzQjBjeWt1YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVc1MGJFOXdkSE1nUFNCN0lIVnpaVWR5YjNWd2FXNW5PaUJtWVd4elpTd2dMaTR1YjNCMGN5QjlPMXh1SUNBZ0lDQWdhV1lnS0c5d2RITXVjR0ZrVkc4Z1BpQXdLU0JwYm5Sc1QzQjBjeTV0YVc1cGJYVnRTVzUwWldkbGNrUnBaMmwwY3lBOUlHOXdkSE11Y0dGa1ZHODdYRzRnSUNBZ0lDQjBhR2x6TG1sdVppQTlJR2RsZEVOaFkyaGxaRWxPUmlocGJuUnNMQ0JwYm5Sc1QzQjBjeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWm05eWJXRjBLR2twSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVwYm1ZcElIdGNiaUFnSUNBZ0lHTnZibk4wSUdacGVHVmtJRDBnZEdocGN5NW1iRzl2Y2lBL0lFMWhkR2d1Wm14dmIzSW9hU2tnT2lCcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzVtTG1admNtMWhkQ2htYVhobFpDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklIUnZJRzFoZEdOb0lIUm9aU0JpY205M2MyVnlKM01nYm5WdFltVnlabTl5YldGMGRHVnlJR1JsWm1GMWJIUnpYRzRnSUNBZ0lDQmpiMjV6ZENCbWFYaGxaQ0E5SUhSb2FYTXVabXh2YjNJZ1B5Qk5ZWFJvTG1ac2IyOXlLR2twSURvZ2NtOTFibVJVYnlocExDQXpLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQndZV1JUZEdGeWRDaG1hWGhsWkN3Z2RHaHBjeTV3WVdSVWJ5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNiaThxS2x4dUlDb2dRSEJ5YVhaaGRHVmNiaUFxTDF4dVhHNWpiR0Z6Y3lCUWIyeDVSR0YwWlVadmNtMWhkSFJsY2lCN1hHNGdJR052Ym5OMGNuVmpkRzl5S0dSMExDQnBiblJzTENCdmNIUnpLU0I3WEc0Z0lDQWdkR2hwY3k1dmNIUnpJRDBnYjNCMGN6dGNibHh1SUNBZ0lHeGxkQ0I2TzF4dUlDQWdJR2xtSUNoa2RDNTZiMjVsTG1selZXNXBkbVZ5YzJGc0tTQjdYRzRnSUNBZ0lDQXZMeUJWVkVNdE9DQnZjaUJGZEdNdlZWUkRMVGdnWVhKbElHNXZkQ0J3WVhKMElHOW1JSFI2WkdGMFlTd2diMjVzZVNCRmRHTXZSMDFVS3pnZ1lXNWtJSFJvWlNCc2FXdGxMbHh1SUNBZ0lDQWdMeThnVkdoaGRDQnBjeUIzYUhrZ1ptbDRaV1F0YjJabWMyVjBJRlJhSUdseklITmxkQ0IwYnlCMGFHRjBJSFZ1YkdWemN5QnBkQ0JwY3pwY2JpQWdJQ0FnSUM4dklERXVJRkpsY0hKbGMyVnVkR2x1WnlCdlptWnpaWFFnTUNCM2FHVnVJRlZVUXlCcGN5QjFjMlZrSUhSdklHMWhhVzUwWVdsdUlIQnlaWFpwYjNWeklHSmxhR0YyYVc5eUlHRnVaQ0JrYjJWeklHNXZkQ0JpWldOdmJXVWdSMDFVTGx4dUlDQWdJQ0FnTHk4Z01pNGdWVzV6ZFhCd2IzSjBaV1FnWW5rZ2RHaGxJR0p5YjNkelpYSTZYRzRnSUNBZ0lDQXZMeUFnSUNBdElITnZiV1VnWkc4Z2JtOTBJSE4xY0hCdmNuUWdSWFJqTDF4dUlDQWdJQ0FnTHk4Z0lDQWdMU0E4SUVWMFl5OUhUVlF0TVRRc0lENGdSWFJqTDBkTlZDc3hNaXdnWVc1a0lETXdMVzFwYm5WMFpTQnZjaUEwTlMxdGFXNTFkR1VnYjJabWMyVjBjeUJoY21VZ2JtOTBJSEJoY25RZ2IyWWdkSHBrWVhSaFhHNGdJQ0FnSUNCamIyNXpkQ0JuYlhSUFptWnpaWFFnUFNBdE1TQXFJQ2hrZEM1dlptWnpaWFFnTHlBMk1DazdYRzRnSUNBZ0lDQmpiMjV6ZENCdlptWnpaWFJhSUQwZ1oyMTBUMlptYzJWMElENDlJREFnUHlCZ1JYUmpMMGROVkNza2UyZHRkRTltWm5ObGRIMWdJRG9nWUVWMFl5OUhUVlFrZTJkdGRFOW1abk5sZEgxZ08xeHVJQ0FnSUNBZ2FXWWdLR1IwTG05bVpuTmxkQ0FoUFQwZ01DQW1KaUJKUVU1QldtOXVaUzVqY21WaGRHVW9iMlptYzJWMFdpa3VkbUZzYVdRcElIdGNiaUFnSUNBZ0lDQWdlaUE5SUc5bVpuTmxkRm83WEc0Z0lDQWdJQ0FnSUhSb2FYTXVaSFFnUFNCa2REdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDOHZJRTV2ZENCaGJHd2dabWw0WldRdGIyWm1jMlYwSUhwdmJtVnpJR3hwYTJVZ1JYUmpMeXMwT2pNd0lHRnlaU0J3Y21WelpXNTBJR2x1SUhSNlpHRjBZUzVjYmlBZ0lDQWdJQ0FnTHk4Z1UyOGdkMlVnYUdGMlpTQjBieUJ0WVd0bElHUnZMaUJVZDI4Z1kyRnpaWE02WEc0Z0lDQWdJQ0FnSUM4dklERXVJRlJvWlNCbWIzSnRZWFFnYjNCMGFXOXVjeUIwWld4c0lIVnpJSFJ2SUhOb2IzY2dkR2hsSUhwdmJtVXVJRmRsSUdOaGJpZDBJR1J2SUhSb1lYUXNJSE52SUhSb1pTQmlaWE4wWEc0Z0lDQWdJQ0FnSUM4dklIZGxJR05oYmlCa2J5QnBjeUJtYjNKdFlYUWdkR2hsSUdSaGRHVWdhVzRnVlZSRExseHVJQ0FnSUNBZ0lDQXZMeUF5TGlCVWFHVWdabTl5YldGMElHOXdkR2x2Ym5NZ1pHOXVKM1FnZEdWc2JDQjFjeUIwYnlCemFHOTNJSFJvWlNCNmIyNWxMaUJVYUdWdUlIZGxJR05oYmlCaFpHcDFjM1FnZEdobGJWeHVJQ0FnSUNBZ0lDQXZMeUIwYUdVZ2RHbHRaU0JoYm1RZ2RHVnNiQ0IwYUdVZ1ptOXliV0YwZEdWeUlIUnZJSE5vYjNjZ2FYUWdkRzhnZFhNZ2FXNGdWVlJETENCemJ5QjBhR0YwSUhSb1pTQjBhVzFsSUdseklISnBaMmgwWEc0Z0lDQWdJQ0FnSUM4dklHRnVaQ0IwYUdVZ1ltRmtJSHB2Ym1VZ1pHOWxjMjRuZENCemFHOTNJSFZ3TGx4dUlDQWdJQ0FnSUNCNklEMGdYQ0pWVkVOY0lqdGNiaUFnSUNBZ0lDQWdhV1lnS0c5d2RITXVkR2x0WlZwdmJtVk9ZVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1a2RDQTlJR1IwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11WkhRZ1BTQmtkQzV2Wm1aelpYUWdQVDA5SURBZ1B5QmtkQ0E2SUVSaGRHVlVhVzFsTG1aeWIyMU5hV3hzYVhNb1pIUXVkSE1nS3lCa2RDNXZabVp6WlhRZ0tpQTJNQ0FxSURFd01EQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hrZEM1NmIyNWxMblI1Y0dVZ1BUMDlJRndpYzNsemRHVnRYQ0lwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVaSFFnUFNCa2REdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NWtkQ0E5SUdSME8xeHVJQ0FnSUNBZ2VpQTlJR1IwTG5wdmJtVXVibUZ0WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnBiblJzVDNCMGN5QTlJSHNnTGk0dWRHaHBjeTV2Y0hSeklIMDdYRzRnSUNBZ2FXWWdLSG9wSUh0Y2JpQWdJQ0FnSUdsdWRHeFBjSFJ6TG5ScGJXVmFiMjVsSUQwZ2VqdGNiaUFnSUNCOVhHNGdJQ0FnZEdocGN5NWtkR1lnUFNCblpYUkRZV05vWldSRVZFWW9hVzUwYkN3Z2FXNTBiRTl3ZEhNcE8xeHVJQ0I5WEc1Y2JpQWdabTl5YldGMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVIwWmk1bWIzSnRZWFFvZEdocGN5NWtkQzUwYjBwVFJHRjBaU2dwS1R0Y2JpQWdmVnh1WEc0Z0lHWnZjbTFoZEZSdlVHRnlkSE1vS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpIUm1MbVp2Y20xaGRGUnZVR0Z5ZEhNb2RHaHBjeTVrZEM1MGIwcFRSR0YwWlNncEtUdGNiaUFnZlZ4dVhHNGdJSEpsYzI5c2RtVmtUM0IwYVc5dWN5Z3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrZEdZdWNtVnpiMngyWldSUGNIUnBiMjV6S0NrN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1amJHRnpjeUJRYjJ4NVVtVnNSbTl5YldGMGRHVnlJSHRjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9hVzUwYkN3Z2FYTkZibWRzYVhOb0xDQnZjSFJ6S1NCN1hHNGdJQ0FnZEdocGN5NXZjSFJ6SUQwZ2V5QnpkSGxzWlRvZ1hDSnNiMjVuWENJc0lDNHVMbTl3ZEhNZ2ZUdGNiaUFnSUNCcFppQW9JV2x6Ulc1bmJHbHphQ0FtSmlCb1lYTlNaV3hoZEdsMlpTZ3BLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuSjBaaUE5SUdkbGRFTmhZMmhsWkZKVVJpaHBiblJzTENCdmNIUnpLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JtYjNKdFlYUW9ZMjkxYm5Rc0lIVnVhWFFwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV5ZEdZcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkowWmk1bWIzSnRZWFFvWTI5MWJuUXNJSFZ1YVhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSVzVuYkdsemFDNW1iM0p0WVhSU1pXeGhkR2wyWlZScGJXVW9kVzVwZEN3Z1kyOTFiblFzSUhSb2FYTXViM0IwY3k1dWRXMWxjbWxqTENCMGFHbHpMbTl3ZEhNdWMzUjViR1VnSVQwOUlGd2liRzl1WjF3aUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQm1iM0p0WVhSVWIxQmhjblJ6S0dOdmRXNTBMQ0IxYm1sMEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWNuUm1LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eWRHWXVabTl5YldGMFZHOVFZWEowY3loamIzVnVkQ3dnZFc1cGRDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJiWFR0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCQWNISnBkbUYwWlZ4dUlDb3ZYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJR05zWVhOeklFeHZZMkZzWlNCN1hHNGdJSE4wWVhScFl5Qm1jbTl0VDNCMGN5aHZjSFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJRXh2WTJGc1pTNWpjbVZoZEdVb2IzQjBjeTVzYjJOaGJHVXNJRzl3ZEhNdWJuVnRZbVZ5YVc1blUzbHpkR1Z0TENCdmNIUnpMbTkxZEhCMWRFTmhiR1Z1WkdGeUxDQnZjSFJ6TG1SbFptRjFiSFJVYjBWT0tUdGNiaUFnZlZ4dVhHNGdJSE4wWVhScFl5QmpjbVZoZEdVb2JHOWpZV3hsTENCdWRXMWlaWEpwYm1kVGVYTjBaVzBzSUc5MWRIQjFkRU5oYkdWdVpHRnlMQ0JrWldaaGRXeDBWRzlGVGlBOUlHWmhiSE5sS1NCN1hHNGdJQ0FnWTI5dWMzUWdjM0JsWTJsbWFXVmtURzlqWVd4bElEMGdiRzlqWVd4bElIeDhJRk5sZEhScGJtZHpMbVJsWm1GMWJIUk1iMk5oYkdVN1hHNGdJQ0FnTHk4Z2RHaGxJSE41YzNSbGJTQnNiMk5oYkdVZ2FYTWdkWE5sWm5Wc0lHWnZjaUJvZFcxaGJpQnlaV0ZrWVdKc1pTQnpkSEpwYm1keklHSjFkQ0JoYm01dmVXbHVaeUJtYjNJZ2NHRnljMmx1Wnk5bWIzSnRZWFIwYVc1bklHdHViM2R1SUdadmNtMWhkSE5jYmlBZ0lDQmpiMjV6ZENCc2IyTmhiR1ZTSUQwZ2MzQmxZMmxtYVdWa1RHOWpZV3hsSUh4OElDaGtaV1poZFd4MFZHOUZUaUEvSUZ3aVpXNHRWVk5jSWlBNklITjVjM1JsYlV4dlkyRnNaU2dwS1R0Y2JpQWdJQ0JqYjI1emRDQnVkVzFpWlhKcGJtZFRlWE4wWlcxU0lEMGdiblZ0WW1WeWFXNW5VM2x6ZEdWdElIeDhJRk5sZEhScGJtZHpMbVJsWm1GMWJIUk9kVzFpWlhKcGJtZFRlWE4wWlcwN1hHNGdJQ0FnWTI5dWMzUWdiM1YwY0hWMFEyRnNaVzVrWVhKU0lEMGdiM1YwY0hWMFEyRnNaVzVrWVhJZ2ZId2dVMlYwZEdsdVozTXVaR1ZtWVhWc2RFOTFkSEIxZEVOaGJHVnVaR0Z5TzF4dUlDQWdJSEpsZEhWeWJpQnVaWGNnVEc5allXeGxLR3h2WTJGc1pWSXNJRzUxYldKbGNtbHVaMU41YzNSbGJWSXNJRzkxZEhCMWRFTmhiR1Z1WkdGeVVpd2djM0JsWTJsbWFXVmtURzlqWVd4bEtUdGNiaUFnZlZ4dVhHNGdJSE4wWVhScFl5QnlaWE5sZEVOaFkyaGxLQ2tnZTF4dUlDQWdJSE41YzB4dlkyRnNaVU5oWTJobElEMGdiblZzYkR0Y2JpQWdJQ0JwYm5Sc1JGUkRZV05vWlNBOUlIdDlPMXh1SUNBZ0lHbHVkR3hPZFcxRFlXTm9aU0E5SUh0OU8xeHVJQ0FnSUdsdWRHeFNaV3hEWVdOb1pTQTlJSHQ5TzF4dUlDQjlYRzVjYmlBZ2MzUmhkR2xqSUdaeWIyMVBZbXBsWTNRb2V5QnNiMk5oYkdVc0lHNTFiV0psY21sdVoxTjVjM1JsYlN3Z2IzVjBjSFYwUTJGc1pXNWtZWElnZlNBOUlIdDlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFeHZZMkZzWlM1amNtVmhkR1VvYkc5allXeGxMQ0J1ZFcxaVpYSnBibWRUZVhOMFpXMHNJRzkxZEhCMWRFTmhiR1Z1WkdGeUtUdGNiaUFnZlZ4dVhHNGdJR052Ym5OMGNuVmpkRzl5S0d4dlkyRnNaU3dnYm5WdFltVnlhVzVuTENCdmRYUndkWFJEWVd4bGJtUmhjaXdnYzNCbFkybG1hV1ZrVEc5allXeGxLU0I3WEc0Z0lDQWdZMjl1YzNRZ1czQmhjbk5sWkV4dlkyRnNaU3dnY0dGeWMyVmtUblZ0WW1WeWFXNW5VM2x6ZEdWdExDQndZWEp6WldSUGRYUndkWFJEWVd4bGJtUmhjbDBnUFNCd1lYSnpaVXh2WTJGc1pWTjBjbWx1Wnloc2IyTmhiR1VwTzF4dVhHNGdJQ0FnZEdocGN5NXNiMk5oYkdVZ1BTQndZWEp6WldSTWIyTmhiR1U3WEc0Z0lDQWdkR2hwY3k1dWRXMWlaWEpwYm1kVGVYTjBaVzBnUFNCdWRXMWlaWEpwYm1jZ2ZId2djR0Z5YzJWa1RuVnRZbVZ5YVc1blUzbHpkR1Z0SUh4OElHNTFiR3c3WEc0Z0lDQWdkR2hwY3k1dmRYUndkWFJEWVd4bGJtUmhjaUE5SUc5MWRIQjFkRU5oYkdWdVpHRnlJSHg4SUhCaGNuTmxaRTkxZEhCMWRFTmhiR1Z1WkdGeUlIeDhJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXBiblJzSUQwZ2FXNTBiRU52Ym1acFoxTjBjbWx1WnloMGFHbHpMbXh2WTJGc1pTd2dkR2hwY3k1dWRXMWlaWEpwYm1kVGVYTjBaVzBzSUhSb2FYTXViM1YwY0hWMFEyRnNaVzVrWVhJcE8xeHVYRzRnSUNBZ2RHaHBjeTUzWldWclpHRjVjME5oWTJobElEMGdleUJtYjNKdFlYUTZJSHQ5TENCemRHRnVaR0ZzYjI1bE9pQjdmU0I5TzF4dUlDQWdJSFJvYVhNdWJXOXVkR2h6UTJGamFHVWdQU0I3SUdadmNtMWhkRG9nZTMwc0lITjBZVzVrWVd4dmJtVTZJSHQ5SUgwN1hHNGdJQ0FnZEdocGN5NXRaWEpwWkdsbGJVTmhZMmhsSUQwZ2JuVnNiRHRjYmlBZ0lDQjBhR2x6TG1WeVlVTmhZMmhsSUQwZ2UzMDdYRzVjYmlBZ0lDQjBhR2x6TG5Od1pXTnBabWxsWkV4dlkyRnNaU0E5SUhOd1pXTnBabWxsWkV4dlkyRnNaVHRjYmlBZ0lDQjBhR2x6TG1aaGMzUk9kVzFpWlhKelEyRmphR1ZrSUQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUdkbGRDQm1ZWE4wVG5WdFltVnljeWdwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVtWVhOMFRuVnRZbVZ5YzBOaFkyaGxaQ0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtWmhjM1JPZFcxaVpYSnpRMkZqYUdWa0lEMGdjM1Z3Y0c5eWRITkdZWE4wVG5WdFltVnljeWgwYUdsektUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NW1ZWE4wVG5WdFltVnljME5oWTJobFpEdGNiaUFnZlZ4dVhHNGdJR3hwYzNScGJtZE5iMlJsS0NrZ2UxeHVJQ0FnSUdOdmJuTjBJR2x6UVdOMGRXRnNiSGxGYmlBOUlIUm9hWE11YVhORmJtZHNhWE5vS0NrN1hHNGdJQ0FnWTI5dWMzUWdhR0Z6VG05WFpXbHlaRzVsYzNNZ1BWeHVJQ0FnSUNBZ0tIUm9hWE11Ym5WdFltVnlhVzVuVTNsemRHVnRJRDA5UFNCdWRXeHNJSHg4SUhSb2FYTXViblZ0WW1WeWFXNW5VM2x6ZEdWdElEMDlQU0JjSW14aGRHNWNJaWtnSmlaY2JpQWdJQ0FnSUNoMGFHbHpMbTkxZEhCMWRFTmhiR1Z1WkdGeUlEMDlQU0J1ZFd4c0lIeDhJSFJvYVhNdWIzVjBjSFYwUTJGc1pXNWtZWElnUFQwOUlGd2laM0psWjI5eWVWd2lLVHRjYmlBZ0lDQnlaWFIxY200Z2FYTkJZM1IxWVd4c2VVVnVJQ1ltSUdoaGMwNXZWMlZwY21SdVpYTnpJRDhnWENKbGJsd2lJRG9nWENKcGJuUnNYQ0k3WEc0Z0lIMWNibHh1SUNCamJHOXVaU2hoYkhSektTQjdYRzRnSUNBZ2FXWWdLQ0ZoYkhSeklIeDhJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVU1aGJXVnpLR0ZzZEhNcExteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQk1iMk5oYkdVdVkzSmxZWFJsS0Z4dUlDQWdJQ0FnSUNCaGJIUnpMbXh2WTJGc1pTQjhmQ0IwYUdsekxuTndaV05wWm1sbFpFeHZZMkZzWlN4Y2JpQWdJQ0FnSUNBZ1lXeDBjeTV1ZFcxaVpYSnBibWRUZVhOMFpXMGdmSHdnZEdocGN5NXVkVzFpWlhKcGJtZFRlWE4wWlcwc1hHNGdJQ0FnSUNBZ0lHRnNkSE11YjNWMGNIVjBRMkZzWlc1a1lYSWdmSHdnZEdocGN5NXZkWFJ3ZFhSRFlXeGxibVJoY2l4Y2JpQWdJQ0FnSUNBZ1lXeDBjeTVrWldaaGRXeDBWRzlGVGlCOGZDQm1ZV3h6WlZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpXUmxabUYxYkhSVWIwVk9LR0ZzZEhNZ1BTQjdmU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLSHNnTGk0dVlXeDBjeXdnWkdWbVlYVnNkRlJ2UlU0NklIUnlkV1VnZlNrN1hHNGdJSDFjYmx4dUlDQnlaV1JsWm1GMWJIUlViMU41YzNSbGJTaGhiSFJ6SUQwZ2UzMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTaDdJQzR1TG1Gc2RITXNJR1JsWm1GMWJIUlViMFZPT2lCbVlXeHpaU0I5S1R0Y2JpQWdmVnh1WEc0Z0lHMXZiblJvY3loc1pXNW5kR2dzSUdadmNtMWhkQ0E5SUdaaGJITmxMQ0JrWldaaGRXeDBUMHNnUFNCMGNuVmxLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHeHBjM1JUZEhWbVppaDBhR2x6TENCc1pXNW5kR2dzSUdSbFptRjFiSFJQU3l3Z1JXNW5iR2x6YUM1dGIyNTBhSE1zSUNncElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElHbHVkR3dnUFNCbWIzSnRZWFFnUHlCN0lHMXZiblJvT2lCc1pXNW5kR2dzSUdSaGVUb2dYQ0p1ZFcxbGNtbGpYQ0lnZlNBNklIc2diVzl1ZEdnNklHeGxibWQwYUNCOUxGeHVJQ0FnSUNBZ0lDQm1iM0p0WVhSVGRISWdQU0JtYjNKdFlYUWdQeUJjSW1admNtMWhkRndpSURvZ1hDSnpkR0Z1WkdGc2IyNWxYQ0k3WEc0Z0lDQWdJQ0JwWmlBb0lYUm9hWE11Ylc5dWRHaHpRMkZqYUdWYlptOXliV0YwVTNSeVhWdHNaVzVuZEdoZEtTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWJXOXVkR2h6UTJGamFHVmJabTl5YldGMFUzUnlYVnRzWlc1bmRHaGRJRDBnYldGd1RXOXVkR2h6S0Noa2RDa2dQVDRnZEdocGN5NWxlSFJ5WVdOMEtHUjBMQ0JwYm5Sc0xDQmNJbTF2Ym5Sb1hDSXBLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG0xdmJuUm9jME5oWTJobFcyWnZjbTFoZEZOMGNsMWJiR1Z1WjNSb1hUdGNiaUFnSUNCOUtUdGNiaUFnZlZ4dVhHNGdJSGRsWld0a1lYbHpLR3hsYm1kMGFDd2dabTl5YldGMElEMGdabUZzYzJVc0lHUmxabUYxYkhSUFN5QTlJSFJ5ZFdVcElIdGNiaUFnSUNCeVpYUjFjbTRnYkdsemRGTjBkV1ptS0hSb2FYTXNJR3hsYm1kMGFDd2daR1ZtWVhWc2RFOUxMQ0JGYm1kc2FYTm9MbmRsWld0a1lYbHpMQ0FvS1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcGJuUnNJRDBnWm05eWJXRjBYRzRnSUNBZ0lDQWdJQ0FnUHlCN0lIZGxaV3RrWVhrNklHeGxibWQwYUN3Z2VXVmhjam9nWENKdWRXMWxjbWxqWENJc0lHMXZiblJvT2lCY0lteHZibWRjSWl3Z1pHRjVPaUJjSW01MWJXVnlhV05jSWlCOVhHNGdJQ0FnSUNBZ0lDQWdPaUI3SUhkbFpXdGtZWGs2SUd4bGJtZDBhQ0I5TEZ4dUlDQWdJQ0FnSUNCbWIzSnRZWFJUZEhJZ1BTQm1iM0p0WVhRZ1B5QmNJbVp2Y20xaGRGd2lJRG9nWENKemRHRnVaR0ZzYjI1bFhDSTdYRzRnSUNBZ0lDQnBaaUFvSVhSb2FYTXVkMlZsYTJSaGVYTkRZV05vWlZ0bWIzSnRZWFJUZEhKZFcyeGxibWQwYUYwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M1pXVnJaR0Y1YzBOaFkyaGxXMlp2Y20xaGRGTjBjbDFiYkdWdVozUm9YU0E5SUcxaGNGZGxaV3RrWVhsektDaGtkQ2tnUFQ1Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG1WNGRISmhZM1FvWkhRc0lHbHVkR3dzSUZ3aWQyVmxhMlJoZVZ3aUtWeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZDJWbGEyUmhlWE5EWVdOb1pWdG1iM0p0WVhSVGRISmRXMnhsYm1kMGFGMDdYRzRnSUNBZ2ZTazdYRzRnSUgxY2JseHVJQ0J0WlhKcFpHbGxiWE1vWkdWbVlYVnNkRTlMSUQwZ2RISjFaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnNhWE4wVTNSMVptWW9YRzRnSUNBZ0lDQjBhR2x6TEZ4dUlDQWdJQ0FnZFc1a1pXWnBibVZrTEZ4dUlDQWdJQ0FnWkdWbVlYVnNkRTlMTEZ4dUlDQWdJQ0FnS0NrZ1BUNGdSVzVuYkdsemFDNXRaWEpwWkdsbGJYTXNYRzRnSUNBZ0lDQW9LU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDOHZJRWx1SUhSb1pXOXllU0IwYUdWeVpTQmpiM1ZzWkNCaVpTQmhjbWxpYVhSeVlYSjVJR1JoZVNCd1pYSnBiMlJ6TGlCWFpTZHlaU0JuYjI1dVlTQmhjM04xYldVZ2RHaGxjbVVnWVhKbElHVjRZV04wYkhrZ2RIZHZYRzRnSUNBZ0lDQWdJQzh2SUdadmNpQkJUU0JoYm1RZ1VFMHVJRlJvYVhNZ2FYTWdjSEp2WW1GaWJIa2dkM0p2Ym1jc0lHSjFkQ0JwZENkeklHMWhhMlZ6SUhCaGNuTnBibWNnZDJGNUlHVmhjMmxsY2k1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0YwYUdsekxtMWxjbWxrYVdWdFEyRmphR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcGJuUnNJRDBnZXlCb2IzVnlPaUJjSW01MWJXVnlhV05jSWl3Z2FHOTFja041WTJ4bE9pQmNJbWd4TWx3aUlIMDdYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NXRaWEpwWkdsbGJVTmhZMmhsSUQwZ1cwUmhkR1ZVYVcxbExuVjBZeWd5TURFMkxDQXhNU3dnTVRNc0lEa3BMQ0JFWVhSbFZHbHRaUzUxZEdNb01qQXhOaXdnTVRFc0lERXpMQ0F4T1NsZExtMWhjQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaGtkQ2tnUFQ0Z2RHaHBjeTVsZUhSeVlXTjBLR1IwTENCcGJuUnNMQ0JjSW1SaGVYQmxjbWx2WkZ3aUtWeHVJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV0WlhKcFpHbGxiVU5oWTJobE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQmxjbUZ6S0d4bGJtZDBhQ3dnWkdWbVlYVnNkRTlMSUQwZ2RISjFaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnNhWE4wVTNSMVptWW9kR2hwY3l3Z2JHVnVaM1JvTENCa1pXWmhkV3gwVDBzc0lFVnVaMnhwYzJndVpYSmhjeXdnS0NrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2FXNTBiQ0E5SUhzZ1pYSmhPaUJzWlc1bmRHZ2dmVHRjYmx4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCd2NtOWliR1Z0WVhScFl5NGdSR2xtWm1WeVpXNTBJR05oYkdWdVpHRnljeUJoY21VZ1oyOXBibWNnZEc4Z1pHVm1hVzVsSUdWeVlYTWdkRzkwWVd4c2VTQmthV1ptWlhKbGJuUnNlUzRnVjJoaGRDQkpJRzVsWldRZ2FYTWdkR2hsSUcxcGJtbHRkVzBnYzJWMElHOW1JR1JoZEdWelhHNGdJQ0FnSUNBdkx5QjBieUJrWldacGJtbDBaV3g1SUdWdWRXMWxjbUYwWlNCMGFHVnRMbHh1SUNBZ0lDQWdhV1lnS0NGMGFHbHpMbVZ5WVVOaFkyaGxXMnhsYm1kMGFGMHBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NWxjbUZEWVdOb1pWdHNaVzVuZEdoZElEMGdXMFJoZEdWVWFXMWxMblYwWXlndE5EQXNJREVzSURFcExDQkVZWFJsVkdsdFpTNTFkR01vTWpBeE55d2dNU3dnTVNsZExtMWhjQ2dvWkhRcElEMCtYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NWxlSFJ5WVdOMEtHUjBMQ0JwYm5Sc0xDQmNJbVZ5WVZ3aUtWeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bGNtRkRZV05vWlZ0c1pXNW5kR2hkTzF4dUlDQWdJSDBwTzF4dUlDQjlYRzVjYmlBZ1pYaDBjbUZqZENoa2RDd2dhVzUwYkU5d2RITXNJR1pwWld4a0tTQjdYRzRnSUNBZ1kyOXVjM1FnWkdZZ1BTQjBhR2x6TG1SMFJtOXliV0YwZEdWeUtHUjBMQ0JwYm5Sc1QzQjBjeWtzWEc0Z0lDQWdJQ0J5WlhOMWJIUnpJRDBnWkdZdVptOXliV0YwVkc5UVlYSjBjeWdwTEZ4dUlDQWdJQ0FnYldGMFkyaHBibWNnUFNCeVpYTjFiSFJ6TG1acGJtUW9LRzBwSUQwK0lHMHVkSGx3WlM1MGIweHZkMlZ5UTJGelpTZ3BJRDA5UFNCbWFXVnNaQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHMWhkR05vYVc1bklEOGdiV0YwWTJocGJtY3VkbUZzZFdVZ09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2JuVnRZbVZ5Um05eWJXRjBkR1Z5S0c5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUM4dklIUm9hWE1nWm05eVkyVnphVzF3YkdVZ2IzQjBhVzl1SUdseklHNWxkbVZ5SUhWelpXUWdLSFJvWlNCdmJteDVJR05oYkd4bGNpQnphRzl5ZEMxamFYSmpkV2wwY3lCdmJpQnBkQ3dnWW5WMElHbDBJSE5sWlcxeklITmhabVZ5SUhSdklHeGxZWFpsS1Z4dUlDQWdJQzh2SUNocGJpQmpiMjUwY21GemRDd2dkR2hsSUhKbGMzUWdiMllnZEdobElHTnZibVJwZEdsdmJpQnBjeUIxYzJWa0lHaGxZWFpwYkhrcFhHNGdJQ0FnY21WMGRYSnVJRzVsZHlCUWIyeDVUblZ0WW1WeVJtOXliV0YwZEdWeUtIUm9hWE11YVc1MGJDd2diM0IwY3k1bWIzSmpaVk5wYlhCc1pTQjhmQ0IwYUdsekxtWmhjM1JPZFcxaVpYSnpMQ0J2Y0hSektUdGNiaUFnZlZ4dVhHNGdJR1IwUm05eWJXRjBkR1Z5S0dSMExDQnBiblJzVDNCMGN5QTlJSHQ5S1NCN1hHNGdJQ0FnY21WMGRYSnVJRzVsZHlCUWIyeDVSR0YwWlVadmNtMWhkSFJsY2loa2RDd2dkR2hwY3k1cGJuUnNMQ0JwYm5Sc1QzQjBjeWs3WEc0Z0lIMWNibHh1SUNCeVpXeEdiM0p0WVhSMFpYSW9iM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJRYjJ4NVVtVnNSbTl5YldGMGRHVnlLSFJvYVhNdWFXNTBiQ3dnZEdocGN5NXBjMFZ1WjJ4cGMyZ29LU3dnYjNCMGN5azdYRzRnSUgxY2JseHVJQ0JzYVhOMFJtOXliV0YwZEdWeUtHOXdkSE1nUFNCN2ZTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCblpYUkRZV05vWldSTVJpaDBhR2x6TG1sdWRHd3NJRzl3ZEhNcE8xeHVJQ0I5WEc1Y2JpQWdhWE5GYm1kc2FYTm9LQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQjBhR2x6TG14dlkyRnNaU0E5UFQwZ1hDSmxibHdpSUh4OFhHNGdJQ0FnSUNCMGFHbHpMbXh2WTJGc1pTNTBiMHh2ZDJWeVEyRnpaU2dwSUQwOVBTQmNJbVZ1TFhWelhDSWdmSHhjYmlBZ0lDQWdJRzVsZHlCSmJuUnNMa1JoZEdWVWFXMWxSbTl5YldGMEtIUm9hWE11YVc1MGJDa3VjbVZ6YjJ4MlpXUlBjSFJwYjI1ektDa3ViRzlqWVd4bExuTjBZWEowYzFkcGRHZ29YQ0psYmkxMWMxd2lLVnh1SUNBZ0lDazdYRzRnSUgxY2JseHVJQ0JsY1hWaGJITW9iM1JvWlhJcElIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnZEdocGN5NXNiMk5oYkdVZ1BUMDlJRzkwYUdWeUxteHZZMkZzWlNBbUpseHVJQ0FnSUNBZ2RHaHBjeTV1ZFcxaVpYSnBibWRUZVhOMFpXMGdQVDA5SUc5MGFHVnlMbTUxYldKbGNtbHVaMU41YzNSbGJTQW1KbHh1SUNBZ0lDQWdkR2hwY3k1dmRYUndkWFJEWVd4bGJtUmhjaUE5UFQwZ2IzUm9aWEl1YjNWMGNIVjBRMkZzWlc1a1lYSmNiaUFnSUNBcE8xeHVJQ0I5WEc1OVhHNGlMQ0FpYVcxd2IzSjBJSHRjYmlBZ2RXNTBjblZ1WTJGMFpWbGxZWElzWEc0Z0lITnBaMjVsWkU5bVpuTmxkQ3hjYmlBZ2NHRnljMlZKYm5SbFoyVnlMRnh1SUNCd1lYSnpaVTFwYkd4cGN5eGNiaUFnYVdGdVlWSmxaMlY0TEZ4dUlDQnBjMVZ1WkdWbWFXNWxaQ3hjYmlBZ2NHRnljMlZHYkc5aGRHbHVaMXh1ZlNCbWNtOXRJRndpTGk5MWRHbHNMbXB6WENJN1hHNXBiWEJ2Y25RZ0tpQmhjeUJGYm1kc2FYTm9JR1p5YjIwZ1hDSXVMMlZ1WjJ4cGMyZ3Vhbk5jSWp0Y2JtbHRjRzl5ZENCR2FYaGxaRTltWm5ObGRGcHZibVVnWm5KdmJTQmNJaTR1TDNwdmJtVnpMMlpwZUdWa1QyWm1jMlYwV205dVpTNXFjMXdpTzF4dWFXMXdiM0owSUVsQlRrRmFiMjVsSUdaeWIyMGdYQ0l1TGk5NmIyNWxjeTlKUVU1QldtOXVaUzVxYzF3aU8xeHVYRzR2S2x4dUlDb2dWR2hwY3lCbWFXeGxJR2hoYm1Sc1pYTWdjR0Z5YzJsdVp5Qm1iM0lnZDJWc2JDMXpjR1ZqYVdacFpXUWdabTl5YldGMGN5NGdTR1Z5WlNkeklHaHZkeUJwZENCM2IzSnJjenBjYmlBcUlGUjNieUIwYUdsdVozTWdaMjhnYVc1MGJ5QndZWEp6YVc1bk9pQmhJSEpsWjJWNElIUnZJRzFoZEdOb0lIZHBkR2dnWVc1a0lHRnVJR1Y0ZEhKaFkzUnZjaUIwYnlCMFlXdGxJR0Z3WVhKMElIUm9aU0JuY205MWNITWdhVzRnZEdobElHMWhkR05vTGx4dUlDb2dRVzRnWlhoMGNtRmpkRzl5SUdseklHcDFjM1FnWVNCbWRXNWpkR2x2YmlCMGFHRjBJSFJoYTJWeklHRWdjbVZuWlhnZ2JXRjBZMmdnWVhKeVlYa2dZVzVrSUhKbGRIVnlibk1nWVNCN0lIbGxZWEk2SUM0dUxpd2diVzl1ZEdnNklDNHVMaUI5SUc5aWFtVmpkRnh1SUNvZ2NHRnljMlVvS1NCa2IyVnpJSFJvWlNCM2IzSnJJRzltSUdWNFpXTjFkR2x1WnlCMGFHVWdjbVZuWlhnZ1lXNWtJR0Z3Y0d4NWFXNW5JSFJvWlNCbGVIUnlZV04wYjNJdUlFbDBJSFJoYTJWeklHMTFiSFJwY0d4bElISmxaMlY0TDJWNGRISmhZM1J2Y2lCd1lXbHljeUIwYnlCMGNua2dhVzRnYzJWeGRXVnVZMlV1WEc0Z0tpQkZlSFJ5WVdOMGIzSnpJR05oYmlCMFlXdGxJR0VnWENKamRYSnpiM0pjSWlCeVpYQnlaWE5sYm5ScGJtY2dkR2hsSUc5bVpuTmxkQ0JwYmlCMGFHVWdiV0YwWTJnZ2RHOGdiRzl2YXlCaGRDNGdWR2hwY3lCdFlXdGxjeUJwZENCbFlYTjVJSFJ2SUdOdmJXSnBibVVnWlhoMGNtRmpkRzl5Y3k1Y2JpQXFJR052YldKcGJtVkZlSFJ5WVdOMGIzSnpLQ2tnWkc5bGN5QjBhR1VnZDI5eWF5QnZaaUJqYjIxaWFXNXBibWNnZEdobGJTd2dhMlZsY0dsdVp5QjBjbUZqYXlCdlppQjBhR1VnWTNWeWMyOXlJSFJvY205MVoyZ2diWFZzZEdsd2JHVWdaWGgwY21GamRHbHZibk11WEc0Z0tpQlRiMjFsSUdWNGRISmhZM1JwYjI1eklHRnlaU0J6ZFhCbGNpQmtkVzFpSUdGdVpDQnphVzF3YkdWUVlYSnpaU0JoYm1RZ1puSnZiVk4wY21sdVozTWdhR1ZzY0NCRVVsa2dkR2hsYlM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCamIyMWlhVzVsVW1WblpYaGxjeWd1TGk1eVpXZGxlR1Z6S1NCN1hHNGdJR052Ym5OMElHWjFiR3dnUFNCeVpXZGxlR1Z6TG5KbFpIVmpaU2dvWml3Z2Npa2dQVDRnWmlBcklISXVjMjkxY21ObExDQmNJbHdpS1R0Y2JpQWdjbVYwZFhKdUlGSmxaMFY0Y0NoZ1hpUjdablZzYkgwa1lDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTnZiV0pwYm1WRmVIUnlZV04wYjNKektDNHVMbVY0ZEhKaFkzUnZjbk1wSUh0Y2JpQWdjbVYwZFhKdUlHMGdQVDVjYmlBZ0lDQmxlSFJ5WVdOMGIzSnpYRzRnSUNBZ0lDQXVjbVZrZFdObEtGeHVJQ0FnSUNBZ0lDQW9XMjFsY21kbFpGWmhiSE1zSUcxbGNtZGxaRnB2Ym1Vc0lHTjFjbk52Y2wwc0lHVjRLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1czWmhiQ3dnZW05dVpTd2dibVY0ZEYwZ1BTQmxlQ2h0TENCamRYSnpiM0lwTzF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCYmV5QXVMaTV0WlhKblpXUldZV3h6TENBdUxpNTJZV3dnZlN3Z2VtOXVaU0I4ZkNCdFpYSm5aV1JhYjI1bExDQnVaWGgwWFR0Y2JpQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdXM3Q5TENCdWRXeHNMQ0F4WFZ4dUlDQWdJQ0FnS1Z4dUlDQWdJQ0FnTG5Oc2FXTmxLREFzSURJcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd1lYSnpaU2h6TENBdUxpNXdZWFIwWlhKdWN5a2dlMXh1SUNCcFppQW9jeUE5UFNCdWRXeHNLU0I3WEc0Z0lDQWdjbVYwZFhKdUlGdHVkV3hzTENCdWRXeHNYVHRjYmlBZ2ZWeHVYRzRnSUdadmNpQW9ZMjl1YzNRZ1czSmxaMlY0TENCbGVIUnlZV04wYjNKZElHOW1JSEJoZEhSbGNtNXpLU0I3WEc0Z0lDQWdZMjl1YzNRZ2JTQTlJSEpsWjJWNExtVjRaV01vY3lrN1hHNGdJQ0FnYVdZZ0tHMHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmxlSFJ5WVdOMGIzSW9iU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQmJiblZzYkN3Z2JuVnNiRjA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSE5wYlhCc1pWQmhjbk5sS0M0dUxtdGxlWE1wSUh0Y2JpQWdjbVYwZFhKdUlDaHRZWFJqYUN3Z1kzVnljMjl5S1NBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnY21WMElEMGdlMzA3WEc0Z0lDQWdiR1YwSUdrN1hHNWNiaUFnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYTJWNWN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnY21WMFcydGxlWE5iYVYxZElEMGdjR0Z5YzJWSmJuUmxaMlZ5S0cxaGRHTm9XMk4xY25OdmNpQXJJR2xkS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlGdHlaWFFzSUc1MWJHd3NJR04xY25OdmNpQXJJR2xkTzF4dUlDQjlPMXh1ZlZ4dVhHNHZMeUJKVTA4Z1lXNWtJRk5SVENCd1lYSnphVzVuWEc1amIyNXpkQ0J2Wm1aelpYUlNaV2RsZUNBOUlDOG9Qem9vV2lsOEtGc3JMVjFjWEdSY1hHUXBLRDg2T2o4b1hGeGtYRnhrS1NrL0tTODdYRzVqYjI1emRDQnBjMjlGZUhSbGJtUmxaRnB2Ym1VZ1BTQmdLRDg2Skh0dlptWnpaWFJTWldkbGVDNXpiM1Z5WTJWOVB5Zy9PbHhjWEZ4YktDUjdhV0Z1WVZKbFoyVjRMbk52ZFhKalpYMHBYRnhjWEYwcFB5ay9ZRHRjYm1OdmJuTjBJR2x6YjFScGJXVkNZWE5sVW1WblpYZ2dQU0F2S0Z4Y1pGeGNaQ2tvUHpvNlB5aGNYR1JjWEdRcEtEODZPajhvWEZ4a1hGeGtLU2cvT2xzdUxGMG9YRnhrZXpFc016QjlLU2svS1Q4cFB5ODdYRzVqYjI1emRDQnBjMjlVYVcxbFVtVm5aWGdnUFNCU1pXZEZlSEFvWUNSN2FYTnZWR2x0WlVKaGMyVlNaV2RsZUM1emIzVnlZMlY5Skh0cGMyOUZlSFJsYm1SbFpGcHZibVY5WUNrN1hHNWpiMjV6ZENCcGMyOVVhVzFsUlhoMFpXNXphVzl1VW1WblpYZ2dQU0JTWldkRmVIQW9ZQ2cvT2xRa2UybHpiMVJwYldWU1pXZGxlQzV6YjNWeVkyVjlLVDlnS1R0Y2JtTnZibk4wSUdsemIxbHRaRkpsWjJWNElEMGdMeWhiS3kxZFhGeGtlelo5ZkZ4Y1pIczBmU2tvUHpvdFB5aGNYR1JjWEdRcEtEODZMVDhvWEZ4a1hGeGtLU2svS1Q4dk8xeHVZMjl1YzNRZ2FYTnZWMlZsYTFKbFoyVjRJRDBnTHloY1hHUjdOSDBwTFQ5WEtGeGNaRnhjWkNrb1B6b3RQeWhjWEdRcEtUOHZPMXh1WTI5dWMzUWdhWE52VDNKa2FXNWhiRkpsWjJWNElEMGdMeWhjWEdSN05IMHBMVDhvWEZ4a2V6TjlLUzg3WEc1amIyNXpkQ0JsZUhSeVlXTjBTVk5QVjJWbGEwUmhkR0VnUFNCemFXMXdiR1ZRWVhKelpTaGNJbmRsWld0WlpXRnlYQ0lzSUZ3aWQyVmxhMDUxYldKbGNsd2lMQ0JjSW5kbFpXdEVZWGxjSWlrN1hHNWpiMjV6ZENCbGVIUnlZV04wU1ZOUFQzSmthVzVoYkVSaGRHRWdQU0J6YVcxd2JHVlFZWEp6WlNoY0lubGxZWEpjSWl3Z1hDSnZjbVJwYm1Gc1hDSXBPMXh1WTI5dWMzUWdjM0ZzV1cxa1VtVm5aWGdnUFNBdktGeGNaSHMwZlNrdEtGeGNaRnhjWkNrdEtGeGNaRnhjWkNrdk95QXZMeUJrZFcxaVpXUXRaRzkzYmlCMlpYSnphVzl1SUc5bUlIUm9aU0JKVTA4Z2IyNWxYRzVqYjI1emRDQnpjV3hVYVcxbFVtVm5aWGdnUFNCU1pXZEZlSEFvWEc0Z0lHQWtlMmx6YjFScGJXVkNZWE5sVW1WblpYZ3VjMjkxY21ObGZTQS9LRDg2Skh0dlptWnpaWFJTWldkbGVDNXpiM1Z5WTJWOWZDZ2tlMmxoYm1GU1pXZGxlQzV6YjNWeVkyVjlLU2svWUZ4dUtUdGNibU52Ym5OMElITnhiRlJwYldWRmVIUmxibk5wYjI1U1pXZGxlQ0E5SUZKbFowVjRjQ2hnS0Q4NklDUjdjM0ZzVkdsdFpWSmxaMlY0TG5OdmRYSmpaWDBwUDJBcE8xeHVYRzVtZFc1amRHbHZiaUJwYm5Rb2JXRjBZMmdzSUhCdmN5d2dabUZzYkdKaFkyc3BJSHRjYmlBZ1kyOXVjM1FnYlNBOUlHMWhkR05vVzNCdmMxMDdYRzRnSUhKbGRIVnliaUJwYzFWdVpHVm1hVzVsWkNodEtTQS9JR1poYkd4aVlXTnJJRG9nY0dGeWMyVkpiblJsWjJWeUtHMHBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmxlSFJ5WVdOMFNWTlBXVzFrS0cxaGRHTm9MQ0JqZFhKemIzSXBJSHRjYmlBZ1kyOXVjM1FnYVhSbGJTQTlJSHRjYmlBZ0lDQjVaV0Z5T2lCcGJuUW9iV0YwWTJnc0lHTjFjbk52Y2lrc1hHNGdJQ0FnYlc5dWRHZzZJR2x1ZENodFlYUmphQ3dnWTNWeWMyOXlJQ3NnTVN3Z01Ta3NYRzRnSUNBZ1pHRjVPaUJwYm5Rb2JXRjBZMmdzSUdOMWNuTnZjaUFySURJc0lERXBYRzRnSUgwN1hHNWNiaUFnY21WMGRYSnVJRnRwZEdWdExDQnVkV3hzTENCamRYSnpiM0lnS3lBelhUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pYaDBjbUZqZEVsVFQxUnBiV1VvYldGMFkyZ3NJR04xY25OdmNpa2dlMXh1SUNCamIyNXpkQ0JwZEdWdElEMGdlMXh1SUNBZ0lHaHZkWEp6T2lCcGJuUW9iV0YwWTJnc0lHTjFjbk52Y2l3Z01Da3NYRzRnSUNBZ2JXbHVkWFJsY3pvZ2FXNTBLRzFoZEdOb0xDQmpkWEp6YjNJZ0t5QXhMQ0F3S1N4Y2JpQWdJQ0J6WldOdmJtUnpPaUJwYm5Rb2JXRjBZMmdzSUdOMWNuTnZjaUFySURJc0lEQXBMRnh1SUNBZ0lHMXBiR3hwYzJWamIyNWtjem9nY0dGeWMyVk5hV3hzYVhNb2JXRjBZMmhiWTNWeWMyOXlJQ3NnTTEwcFhHNGdJSDA3WEc1Y2JpQWdjbVYwZFhKdUlGdHBkR1Z0TENCdWRXeHNMQ0JqZFhKemIzSWdLeUEwWFR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWlhoMGNtRmpkRWxUVDA5bVpuTmxkQ2h0WVhSamFDd2dZM1Z5YzI5eUtTQjdYRzRnSUdOdmJuTjBJR3h2WTJGc0lEMGdJVzFoZEdOb1cyTjFjbk52Y2wwZ0ppWWdJVzFoZEdOb1cyTjFjbk52Y2lBcklERmRMRnh1SUNBZ0lHWjFiR3hQWm1aelpYUWdQU0J6YVdkdVpXUlBabVp6WlhRb2JXRjBZMmhiWTNWeWMyOXlJQ3NnTVYwc0lHMWhkR05vVzJOMWNuTnZjaUFySURKZEtTeGNiaUFnSUNCNmIyNWxJRDBnYkc5allXd2dQeUJ1ZFd4c0lEb2dSbWw0WldSUFptWnpaWFJhYjI1bExtbHVjM1JoYm1ObEtHWjFiR3hQWm1aelpYUXBPMXh1SUNCeVpYUjFjbTRnVzN0OUxDQjZiMjVsTENCamRYSnpiM0lnS3lBelhUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pYaDBjbUZqZEVsQlRrRmFiMjVsS0cxaGRHTm9MQ0JqZFhKemIzSXBJSHRjYmlBZ1kyOXVjM1FnZW05dVpTQTlJRzFoZEdOb1cyTjFjbk52Y2wwZ1B5QkpRVTVCV205dVpTNWpjbVZoZEdVb2JXRjBZMmhiWTNWeWMyOXlYU2tnT2lCdWRXeHNPMXh1SUNCeVpYUjFjbTRnVzN0OUxDQjZiMjVsTENCamRYSnpiM0lnS3lBeFhUdGNibjFjYmx4dUx5OGdTVk5QSUhScGJXVWdjR0Z5YzJsdVoxeHVYRzVqYjI1emRDQnBjMjlVYVcxbFQyNXNlU0E5SUZKbFowVjRjQ2hnWGxRL0pIdHBjMjlVYVcxbFFtRnpaVkpsWjJWNExuTnZkWEpqWlgwa1lDazdYRzVjYmk4dklFbFRUeUJrZFhKaGRHbHZiaUJ3WVhKemFXNW5YRzVjYm1OdmJuTjBJR2x6YjBSMWNtRjBhVzl1SUQwZ0wxNHRQMUFvUHpvb1B6b29MVDljWEdSN01Td3lNSDBvUHpwY1hDNWNYR1I3TVN3eU1IMHBQeWxaS1Q4b1B6b29MVDljWEdSN01Td3lNSDBvUHpwY1hDNWNYR1I3TVN3eU1IMHBQeWxOS1Q4b1B6b29MVDljWEdSN01Td3lNSDBvUHpwY1hDNWNYR1I3TVN3eU1IMHBQeWxYS1Q4b1B6b29MVDljWEdSN01Td3lNSDBvUHpwY1hDNWNYR1I3TVN3eU1IMHBQeWxFS1Q4b1B6cFVLRDg2S0MwL1hGeGtlekVzTWpCOUtEODZYRnd1WEZ4a2V6RXNNakI5S1Q4cFNDay9LRDg2S0MwL1hGeGtlekVzTWpCOUtEODZYRnd1WEZ4a2V6RXNNakI5S1Q4cFRTay9LRDg2S0MwL1hGeGtlekVzTWpCOUtTZy9PbHN1TEYwb0xUOWNYR1I3TVN3eU1IMHBLVDlUS1Q4cFB5a2tMenRjYmx4dVpuVnVZM1JwYjI0Z1pYaDBjbUZqZEVsVFQwUjFjbUYwYVc5dUtHMWhkR05vS1NCN1hHNGdJR052Ym5OMElGdGNiaUFnSUNCekxGeHVJQ0FnSUhsbFlYSlRkSElzWEc0Z0lDQWdiVzl1ZEdoVGRISXNYRzRnSUNBZ2QyVmxhMU4wY2l4Y2JpQWdJQ0JrWVhsVGRISXNYRzRnSUNBZ2FHOTFjbE4wY2l4Y2JpQWdJQ0J0YVc1MWRHVlRkSElzWEc0Z0lDQWdjMlZqYjI1a1UzUnlMRnh1SUNBZ0lHMXBiR3hwYzJWamIyNWtjMU4wY2x4dUlDQmRJRDBnYldGMFkyZzdYRzVjYmlBZ1kyOXVjM1FnYUdGelRtVm5ZWFJwZG1WUWNtVm1hWGdnUFNCeld6QmRJRDA5UFNCY0lpMWNJanRjYmlBZ1kyOXVjM1FnYm1WbllYUnBkbVZUWldOdmJtUnpJRDBnYzJWamIyNWtVM1J5SUNZbUlITmxZMjl1WkZOMGNsc3dYU0E5UFQwZ1hDSXRYQ0k3WEc1Y2JpQWdZMjl1YzNRZ2JXRjVZbVZPWldkaGRHVWdQU0FvYm5WdExDQm1iM0pqWlNBOUlHWmhiSE5sS1NBOVBseHVJQ0FnSUc1MWJTQWhQVDBnZFc1a1pXWnBibVZrSUNZbUlDaG1iM0pqWlNCOGZDQW9iblZ0SUNZbUlHaGhjMDVsWjJGMGFYWmxVSEpsWm1sNEtTa2dQeUF0Ym5WdElEb2diblZ0TzF4dVhHNGdJSEpsZEhWeWJpQmJYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2VXVmhjbk02SUcxaGVXSmxUbVZuWVhSbEtIQmhjbk5sUm14dllYUnBibWNvZVdWaGNsTjBjaWtwTEZ4dUlDQWdJQ0FnYlc5dWRHaHpPaUJ0WVhsaVpVNWxaMkYwWlNod1lYSnpaVVpzYjJGMGFXNW5LRzF2Ym5Sb1UzUnlLU2tzWEc0Z0lDQWdJQ0IzWldWcmN6b2diV0Y1WW1WT1pXZGhkR1VvY0dGeWMyVkdiRzloZEdsdVp5aDNaV1ZyVTNSeUtTa3NYRzRnSUNBZ0lDQmtZWGx6T2lCdFlYbGlaVTVsWjJGMFpTaHdZWEp6WlVac2IyRjBhVzVuS0dSaGVWTjBjaWtwTEZ4dUlDQWdJQ0FnYUc5MWNuTTZJRzFoZVdKbFRtVm5ZWFJsS0hCaGNuTmxSbXh2WVhScGJtY29hRzkxY2xOMGNpa3BMRnh1SUNBZ0lDQWdiV2x1ZFhSbGN6b2diV0Y1WW1WT1pXZGhkR1VvY0dGeWMyVkdiRzloZEdsdVp5aHRhVzUxZEdWVGRISXBLU3hjYmlBZ0lDQWdJSE5sWTI5dVpITTZJRzFoZVdKbFRtVm5ZWFJsS0hCaGNuTmxSbXh2WVhScGJtY29jMlZqYjI1a1UzUnlLU3dnYzJWamIyNWtVM1J5SUQwOVBTQmNJaTB3WENJcExGeHVJQ0FnSUNBZ2JXbHNiR2x6WldOdmJtUnpPaUJ0WVhsaVpVNWxaMkYwWlNod1lYSnpaVTFwYkd4cGN5aHRhV3hzYVhObFkyOXVaSE5UZEhJcExDQnVaV2RoZEdsMlpWTmxZMjl1WkhNcFhHNGdJQ0FnZlZ4dUlDQmRPMXh1ZlZ4dVhHNHZMeUJVYUdWelpTQmhjbVVnWVNCc2FYUjBiR1VnWW5KaGFXNWtaV0ZrTGlCRlJGUWdLbk5vYjNWc1pDb2dkR1ZzYkNCMWN5QjBhR0YwSUhkbEozSmxJR2x1TENCellYa3NJRUZ0WlhKcFkyRXZUbVYzWDFsdmNtdGNiaTh2SUdGdVpDQnViM1FnYW5WemRDQjBhR0YwSUhkbEozSmxJR2x1SUMweU5EQWdLbkpwWjJoMElHNXZkeW91SUVKMWRDQnphVzVqWlNCSklHUnZiaWQwSUhSb2FXNXJJSFJvWlhObElHRnlaU0IxYzJWa0lIUm9ZWFFnYjJaMFpXNWNiaTh2SUVrbmJTQnFkWE4wSUdkdmFXNW5JSFJ2SUdsbmJtOXlaU0IwYUdGMFhHNWpiMjV6ZENCdlluTlBabVp6WlhSeklEMGdlMXh1SUNCSFRWUTZJREFzWEc0Z0lFVkVWRG9nTFRRZ0tpQTJNQ3hjYmlBZ1JWTlVPaUF0TlNBcUlEWXdMRnh1SUNCRFJGUTZJQzAxSUNvZ05qQXNYRzRnSUVOVFZEb2dMVFlnS2lBMk1DeGNiaUFnVFVSVU9pQXROaUFxSURZd0xGeHVJQ0JOVTFRNklDMDNJQ29nTmpBc1hHNGdJRkJFVkRvZ0xUY2dLaUEyTUN4Y2JpQWdVRk5VT2lBdE9DQXFJRFl3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJtY205dFUzUnlhVzVuY3loM1pXVnJaR0Y1VTNSeUxDQjVaV0Z5VTNSeUxDQnRiMjUwYUZOMGNpd2daR0Y1VTNSeUxDQm9iM1Z5VTNSeUxDQnRhVzUxZEdWVGRISXNJSE5sWTI5dVpGTjBjaWtnZTF4dUlDQmpiMjV6ZENCeVpYTjFiSFFnUFNCN1hHNGdJQ0FnZVdWaGNqb2dlV1ZoY2xOMGNpNXNaVzVuZEdnZ1BUMDlJRElnUHlCMWJuUnlkVzVqWVhSbFdXVmhjaWh3WVhKelpVbHVkR1ZuWlhJb2VXVmhjbE4wY2lrcElEb2djR0Z5YzJWSmJuUmxaMlZ5S0hsbFlYSlRkSElwTEZ4dUlDQWdJRzF2Ym5Sb09pQkZibWRzYVhOb0xtMXZiblJvYzFOb2IzSjBMbWx1WkdWNFQyWW9iVzl1ZEdoVGRISXBJQ3NnTVN4Y2JpQWdJQ0JrWVhrNklIQmhjbk5sU1c1MFpXZGxjaWhrWVhsVGRISXBMRnh1SUNBZ0lHaHZkWEk2SUhCaGNuTmxTVzUwWldkbGNpaG9iM1Z5VTNSeUtTeGNiaUFnSUNCdGFXNTFkR1U2SUhCaGNuTmxTVzUwWldkbGNpaHRhVzUxZEdWVGRISXBYRzRnSUgwN1hHNWNiaUFnYVdZZ0tITmxZMjl1WkZOMGNpa2djbVZ6ZFd4MExuTmxZMjl1WkNBOUlIQmhjbk5sU1c1MFpXZGxjaWh6WldOdmJtUlRkSElwTzF4dUlDQnBaaUFvZDJWbGEyUmhlVk4wY2lrZ2UxeHVJQ0FnSUhKbGMzVnNkQzUzWldWclpHRjVJRDFjYmlBZ0lDQWdJSGRsWld0a1lYbFRkSEl1YkdWdVozUm9JRDRnTTF4dUlDQWdJQ0FnSUNBL0lFVnVaMnhwYzJndWQyVmxhMlJoZVhOTWIyNW5MbWx1WkdWNFQyWW9kMlZsYTJSaGVWTjBjaWtnS3lBeFhHNGdJQ0FnSUNBZ0lEb2dSVzVuYkdsemFDNTNaV1ZyWkdGNWMxTm9iM0owTG1sdVpHVjRUMllvZDJWbGEyUmhlVk4wY2lrZ0t5QXhPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNibjFjYmx4dUx5OGdVa1pESURJNE1qSXZOVE15TWx4dVkyOXVjM1FnY21aak1qZ3lNaUE5SUM5ZUtEODZLRTF2Ym54VWRXVjhWMlZrZkZSb2RYeEdjbWw4VTJGMGZGTjFiaWtzWEZ4ektUOG9YRnhrZXpFc01uMHBYRnh6S0VwaGJueEdaV0o4VFdGeWZFRndjbnhOWVhsOFNuVnVmRXAxYkh4QmRXZDhVMlZ3ZkU5amRIeE9iM1o4UkdWaktWeGNjeWhjWEdSN01pdzBmU2xjWEhNb1hGeGtYRnhrS1Rvb1hGeGtYRnhrS1NnL09qb29YRnhrWEZ4a0tTay9YRnh6S0Q4NktGVlVmRWROVkh4YlJVTk5VRjFiVTBSZFZDbDhLRnRhZWwwcGZDZy9PaWhiS3kxZFhGeGtYRnhrS1NoY1hHUmNYR1FwS1Nra0x6dGNibHh1Wm5WdVkzUnBiMjRnWlhoMGNtRmpkRkpHUXpJNE1qSW9iV0YwWTJncElIdGNiaUFnWTI5dWMzUWdXMXh1SUNBZ0lDQWdMRnh1SUNBZ0lDQWdkMlZsYTJSaGVWTjBjaXhjYmlBZ0lDQWdJR1JoZVZOMGNpeGNiaUFnSUNBZ0lHMXZiblJvVTNSeUxGeHVJQ0FnSUNBZ2VXVmhjbE4wY2l4Y2JpQWdJQ0FnSUdodmRYSlRkSElzWEc0Z0lDQWdJQ0J0YVc1MWRHVlRkSElzWEc0Z0lDQWdJQ0J6WldOdmJtUlRkSElzWEc0Z0lDQWdJQ0J2WW5OUFptWnpaWFFzWEc0Z0lDQWdJQ0J0YVd4UFptWnpaWFFzWEc0Z0lDQWdJQ0J2Wm1aSWIzVnlVM1J5TEZ4dUlDQWdJQ0FnYjJabVRXbHVkWFJsVTNSeVhHNGdJQ0FnWFNBOUlHMWhkR05vTEZ4dUlDQWdJSEpsYzNWc2RDQTlJR1p5YjIxVGRISnBibWR6S0hkbFpXdGtZWGxUZEhJc0lIbGxZWEpUZEhJc0lHMXZiblJvVTNSeUxDQmtZWGxUZEhJc0lHaHZkWEpUZEhJc0lHMXBiblYwWlZOMGNpd2djMlZqYjI1a1UzUnlLVHRjYmx4dUlDQnNaWFFnYjJabWMyVjBPMXh1SUNCcFppQW9iMkp6VDJabWMyVjBLU0I3WEc0Z0lDQWdiMlptYzJWMElEMGdiMkp6VDJabWMyVjBjMXR2WW5OUFptWnpaWFJkTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLRzFwYkU5bVpuTmxkQ2tnZTF4dUlDQWdJRzltWm5ObGRDQTlJREE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYjJabWMyVjBJRDBnYzJsbmJtVmtUMlptYzJWMEtHOW1aa2h2ZFhKVGRISXNJRzltWmsxcGJuVjBaVk4wY2lrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1czSmxjM1ZzZEN3Z2JtVjNJRVpwZUdWa1QyWm1jMlYwV205dVpTaHZabVp6WlhRcFhUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NISmxjSEp2WTJWemMxSkdRekk0TWpJb2N5a2dlMXh1SUNBdkx5QlNaVzF2ZG1VZ1kyOXRiV1Z1ZEhNZ1lXNWtJR1p2YkdScGJtY2dkMmhwZEdWemNHRmpaU0JoYm1RZ2NtVndiR0ZqWlNCdGRXeDBhWEJzWlMxemNHRmpaWE1nZDJsMGFDQmhJSE5wYm1kc1pTQnpjR0ZqWlZ4dUlDQnlaWFIxY200Z2MxeHVJQ0FnSUM1eVpYQnNZV05sS0M5Y1hDaGJYaWdwWFNwY1hDbDhXMXhjYmx4Y2RGMHZaeXdnWENJZ1hDSXBYRzRnSUNBZ0xuSmxjR3hoWTJVb0x5aGNYSE5jWEhNcktTOW5MQ0JjSWlCY0lpbGNiaUFnSUNBdWRISnBiU2dwTzF4dWZWeHVYRzR2THlCb2RIUndJR1JoZEdWY2JseHVZMjl1YzNRZ2NtWmpNVEV5TXlBOUlDOWVLRTF2Ym54VWRXVjhWMlZrZkZSb2RYeEdjbWw4VTJGMGZGTjFiaWtzSUNoY1hHUmNYR1FwSUNoS1lXNThSbVZpZkUxaGNueEJjSEo4VFdGNWZFcDFibnhLZFd4OFFYVm5mRk5sY0h4UFkzUjhUbTkyZkVSbFl5a2dLRnhjWkhzMGZTa2dLRnhjWkZ4Y1pDazZLRnhjWkZ4Y1pDazZLRnhjWkZ4Y1pDa2dSMDFVSkM4c1hHNGdJSEptWXpnMU1DQTlJQzllS0UxdmJtUmhlWHhVZFdWelpHRjVmRmRsWkc1bGMyUmhlWHhVYUhWeWMyUmhlWHhHY21sa1lYbDhVMkYwZFhKa1lYbDhVM1Z1WkdGNUtTd2dLRnhjWkZ4Y1pDa3RLRXBoYm54R1pXSjhUV0Z5ZkVGd2NueE5ZWGw4U25WdWZFcDFiSHhCZFdkOFUyVndmRTlqZEh4T2IzWjhSR1ZqS1Mwb1hGeGtYRnhrS1NBb1hGeGtYRnhrS1Rvb1hGeGtYRnhrS1Rvb1hGeGtYRnhrS1NCSFRWUWtMeXhjYmlBZ1lYTmphV2tnUFNBdlhpaE5iMjU4VkhWbGZGZGxaSHhVYUhWOFJuSnBmRk5oZEh4VGRXNHBJQ2hLWVc1OFJtVmlmRTFoY254QmNISjhUV0Y1ZkVwMWJueEtkV3g4UVhWbmZGTmxjSHhQWTNSOFRtOTJmRVJsWXlrZ0tDQmNYR1I4WEZ4a1hGeGtLU0FvWEZ4a1hGeGtLVG9vWEZ4a1hGeGtLVG9vWEZ4a1hGeGtLU0FvWEZ4a2V6UjlLU1F2TzF4dVhHNW1kVzVqZEdsdmJpQmxlSFJ5WVdOMFVrWkRNVEV5TTA5eU9EVXdLRzFoZEdOb0tTQjdYRzRnSUdOdmJuTjBJRnNzSUhkbFpXdGtZWGxUZEhJc0lHUmhlVk4wY2l3Z2JXOXVkR2hUZEhJc0lIbGxZWEpUZEhJc0lHaHZkWEpUZEhJc0lHMXBiblYwWlZOMGNpd2djMlZqYjI1a1UzUnlYU0E5SUcxaGRHTm9MRnh1SUNBZ0lISmxjM1ZzZENBOUlHWnliMjFUZEhKcGJtZHpLSGRsWld0a1lYbFRkSElzSUhsbFlYSlRkSElzSUcxdmJuUm9VM1J5TENCa1lYbFRkSElzSUdodmRYSlRkSElzSUcxcGJuVjBaVk4wY2l3Z2MyVmpiMjVrVTNSeUtUdGNiaUFnY21WMGRYSnVJRnR5WlhOMWJIUXNJRVpwZUdWa1QyWm1jMlYwV205dVpTNTFkR05KYm5OMFlXNWpaVjA3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1Y0ZEhKaFkzUkJVME5KU1NodFlYUmphQ2tnZTF4dUlDQmpiMjV6ZENCYkxDQjNaV1ZyWkdGNVUzUnlMQ0J0YjI1MGFGTjBjaXdnWkdGNVUzUnlMQ0JvYjNWeVUzUnlMQ0J0YVc1MWRHVlRkSElzSUhObFkyOXVaRk4wY2l3Z2VXVmhjbE4wY2wwZ1BTQnRZWFJqYUN4Y2JpQWdJQ0J5WlhOMWJIUWdQU0JtY205dFUzUnlhVzVuY3loM1pXVnJaR0Y1VTNSeUxDQjVaV0Z5VTNSeUxDQnRiMjUwYUZOMGNpd2daR0Y1VTNSeUxDQm9iM1Z5VTNSeUxDQnRhVzUxZEdWVGRISXNJSE5sWTI5dVpGTjBjaWs3WEc0Z0lISmxkSFZ5YmlCYmNtVnpkV3gwTENCR2FYaGxaRTltWm5ObGRGcHZibVV1ZFhSalNXNXpkR0Z1WTJWZE8xeHVmVnh1WEc1amIyNXpkQ0JwYzI5WmJXUlhhWFJvVkdsdFpVVjRkR1Z1YzJsdmJsSmxaMlY0SUQwZ1kyOXRZbWx1WlZKbFoyVjRaWE1vYVhOdldXMWtVbVZuWlhnc0lHbHpiMVJwYldWRmVIUmxibk5wYjI1U1pXZGxlQ2s3WEc1amIyNXpkQ0JwYzI5WFpXVnJWMmwwYUZScGJXVkZlSFJsYm5OcGIyNVNaV2RsZUNBOUlHTnZiV0pwYm1WU1pXZGxlR1Z6S0dsemIxZGxaV3RTWldkbGVDd2dhWE52VkdsdFpVVjRkR1Z1YzJsdmJsSmxaMlY0S1R0Y2JtTnZibk4wSUdsemIwOXlaR2x1WVd4WGFYUm9WR2x0WlVWNGRHVnVjMmx2YmxKbFoyVjRJRDBnWTI5dFltbHVaVkpsWjJWNFpYTW9hWE52VDNKa2FXNWhiRkpsWjJWNExDQnBjMjlVYVcxbFJYaDBaVzV6YVc5dVVtVm5aWGdwTzF4dVkyOXVjM1FnYVhOdlZHbHRaVU52YldKcGJtVmtVbVZuWlhnZ1BTQmpiMjFpYVc1bFVtVm5aWGhsY3locGMyOVVhVzFsVW1WblpYZ3BPMXh1WEc1amIyNXpkQ0JsZUhSeVlXTjBTVk5QV1cxa1ZHbHRaVUZ1WkU5bVpuTmxkQ0E5SUdOdmJXSnBibVZGZUhSeVlXTjBiM0p6S0Z4dUlDQmxlSFJ5WVdOMFNWTlBXVzFrTEZ4dUlDQmxlSFJ5WVdOMFNWTlBWR2x0WlN4Y2JpQWdaWGgwY21GamRFbFRUMDltWm5ObGRDeGNiaUFnWlhoMGNtRmpkRWxCVGtGYWIyNWxYRzRwTzF4dVkyOXVjM1FnWlhoMGNtRmpkRWxUVDFkbFpXdFVhVzFsUVc1a1QyWm1jMlYwSUQwZ1kyOXRZbWx1WlVWNGRISmhZM1J2Y25Nb1hHNGdJR1Y0ZEhKaFkzUkpVMDlYWldWclJHRjBZU3hjYmlBZ1pYaDBjbUZqZEVsVFQxUnBiV1VzWEc0Z0lHVjRkSEpoWTNSSlUwOVBabVp6WlhRc1hHNGdJR1Y0ZEhKaFkzUkpRVTVCV205dVpWeHVLVHRjYm1OdmJuTjBJR1Y0ZEhKaFkzUkpVMDlQY21ScGJtRnNSR0YwWlVGdVpGUnBiV1VnUFNCamIyMWlhVzVsUlhoMGNtRmpkRzl5Y3loY2JpQWdaWGgwY21GamRFbFRUMDl5WkdsdVlXeEVZWFJoTEZ4dUlDQmxlSFJ5WVdOMFNWTlBWR2x0WlN4Y2JpQWdaWGgwY21GamRFbFRUMDltWm5ObGRDeGNiaUFnWlhoMGNtRmpkRWxCVGtGYWIyNWxYRzRwTzF4dVkyOXVjM1FnWlhoMGNtRmpkRWxUVDFScGJXVkJibVJQWm1aelpYUWdQU0JqYjIxaWFXNWxSWGgwY21GamRHOXljeWhjYmlBZ1pYaDBjbUZqZEVsVFQxUnBiV1VzWEc0Z0lHVjRkSEpoWTNSSlUwOVBabVp6WlhRc1hHNGdJR1Y0ZEhKaFkzUkpRVTVCV205dVpWeHVLVHRjYmx4dUx5cGNiaUFxSUVCd2NtbDJZWFJsWEc0Z0tpOWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEJoY25ObFNWTlBSR0YwWlNoektTQjdYRzRnSUhKbGRIVnliaUJ3WVhKelpTaGNiaUFnSUNCekxGeHVJQ0FnSUZ0cGMyOVpiV1JYYVhSb1ZHbHRaVVY0ZEdWdWMybHZibEpsWjJWNExDQmxlSFJ5WVdOMFNWTlBXVzFrVkdsdFpVRnVaRTltWm5ObGRGMHNYRzRnSUNBZ1cybHpiMWRsWld0WGFYUm9WR2x0WlVWNGRHVnVjMmx2YmxKbFoyVjRMQ0JsZUhSeVlXTjBTVk5QVjJWbGExUnBiV1ZCYm1SUFptWnpaWFJkTEZ4dUlDQWdJRnRwYzI5UGNtUnBibUZzVjJsMGFGUnBiV1ZGZUhSbGJuTnBiMjVTWldkbGVDd2daWGgwY21GamRFbFRUMDl5WkdsdVlXeEVZWFJsUVc1a1ZHbHRaVjBzWEc0Z0lDQWdXMmx6YjFScGJXVkRiMjFpYVc1bFpGSmxaMlY0TENCbGVIUnlZV04wU1ZOUFZHbHRaVUZ1WkU5bVpuTmxkRjFjYmlBZ0tUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxVa1pETWpneU1rUmhkR1VvY3lrZ2UxeHVJQ0J5WlhSMWNtNGdjR0Z5YzJVb2NISmxjSEp2WTJWemMxSkdRekk0TWpJb2N5a3NJRnR5Wm1NeU9ESXlMQ0JsZUhSeVlXTjBVa1pETWpneU1sMHBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHRnljMlZJVkZSUVJHRjBaU2h6S1NCN1hHNGdJSEpsZEhWeWJpQndZWEp6WlNoY2JpQWdJQ0J6TEZ4dUlDQWdJRnR5Wm1NeE1USXpMQ0JsZUhSeVlXTjBVa1pETVRFeU0wOXlPRFV3WFN4Y2JpQWdJQ0JiY21aak9EVXdMQ0JsZUhSeVlXTjBVa1pETVRFeU0wOXlPRFV3WFN4Y2JpQWdJQ0JiWVhOamFXa3NJR1Y0ZEhKaFkzUkJVME5KU1YxY2JpQWdLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIQmhjbk5sU1ZOUFJIVnlZWFJwYjI0b2N5a2dlMXh1SUNCeVpYUjFjbTRnY0dGeWMyVW9jeXdnVzJsemIwUjFjbUYwYVc5dUxDQmxlSFJ5WVdOMFNWTlBSSFZ5WVhScGIyNWRLVHRjYm4xY2JseHVZMjl1YzNRZ1pYaDBjbUZqZEVsVFQxUnBiV1ZQYm14NUlEMGdZMjl0WW1sdVpVVjRkSEpoWTNSdmNuTW9aWGgwY21GamRFbFRUMVJwYldVcE8xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjR0Z5YzJWSlUwOVVhVzFsVDI1c2VTaHpLU0I3WEc0Z0lISmxkSFZ5YmlCd1lYSnpaU2h6TENCYmFYTnZWR2x0WlU5dWJIa3NJR1Y0ZEhKaFkzUkpVMDlVYVcxbFQyNXNlVjBwTzF4dWZWeHVYRzVqYjI1emRDQnpjV3haYldSWGFYUm9WR2x0WlVWNGRHVnVjMmx2YmxKbFoyVjRJRDBnWTI5dFltbHVaVkpsWjJWNFpYTW9jM0ZzV1cxa1VtVm5aWGdzSUhOeGJGUnBiV1ZGZUhSbGJuTnBiMjVTWldkbGVDazdYRzVqYjI1emRDQnpjV3hVYVcxbFEyOXRZbWx1WldSU1pXZGxlQ0E5SUdOdmJXSnBibVZTWldkbGVHVnpLSE54YkZScGJXVlNaV2RsZUNrN1hHNWNibU52Ym5OMElHVjRkSEpoWTNSSlUwOVVhVzFsVDJabWMyVjBRVzVrU1VGT1FWcHZibVVnUFNCamIyMWlhVzVsUlhoMGNtRmpkRzl5Y3loY2JpQWdaWGgwY21GamRFbFRUMVJwYldVc1hHNGdJR1Y0ZEhKaFkzUkpVMDlQWm1aelpYUXNYRzRnSUdWNGRISmhZM1JKUVU1QldtOXVaVnh1S1R0Y2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIQmhjbk5sVTFGTUtITXBJSHRjYmlBZ2NtVjBkWEp1SUhCaGNuTmxLRnh1SUNBZ0lITXNYRzRnSUNBZ1czTnhiRmx0WkZkcGRHaFVhVzFsUlhoMFpXNXphVzl1VW1WblpYZ3NJR1Y0ZEhKaFkzUkpVMDlaYldSVWFXMWxRVzVrVDJabWMyVjBYU3hjYmlBZ0lDQmJjM0ZzVkdsdFpVTnZiV0pwYm1Wa1VtVm5aWGdzSUdWNGRISmhZM1JKVTA5VWFXMWxUMlptYzJWMFFXNWtTVUZPUVZwdmJtVmRYRzRnSUNrN1hHNTlYRzRpTENBaWFXMXdiM0owSUhzZ1NXNTJZV3hwWkVGeVozVnRaVzUwUlhKeWIzSXNJRWx1ZG1Gc2FXUkVkWEpoZEdsdmJrVnljbTl5TENCSmJuWmhiR2xrVlc1cGRFVnljbTl5SUgwZ1puSnZiU0JjSWk0dlpYSnliM0p6TG1welhDSTdYRzVwYlhCdmNuUWdSbTl5YldGMGRHVnlJR1p5YjIwZ1hDSXVMMmx0Y0d3dlptOXliV0YwZEdWeUxtcHpYQ0k3WEc1cGJYQnZjblFnU1c1MllXeHBaQ0JtY205dElGd2lMaTlwYlhCc0wybHVkbUZzYVdRdWFuTmNJanRjYm1sdGNHOXlkQ0JNYjJOaGJHVWdabkp2YlNCY0lpNHZhVzF3YkM5c2IyTmhiR1V1YW5OY0lqdGNibWx0Y0c5eWRDQjdJSEJoY25ObFNWTlBSSFZ5WVhScGIyNHNJSEJoY25ObFNWTlBWR2x0WlU5dWJIa2dmU0JtY205dElGd2lMaTlwYlhCc0wzSmxaMlY0VUdGeWMyVnlMbXB6WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JoYzA1MWJXSmxjaXhjYmlBZ2FHRnpUM2R1VUhKdmNHVnlkSGtzWEc0Z0lHbHpUblZ0WW1WeUxGeHVJQ0JwYzFWdVpHVm1hVzVsWkN4Y2JpQWdibTl5YldGc2FYcGxUMkpxWldOMExGeHVJQ0J5YjNWdVpGUnZMRnh1ZlNCbWNtOXRJRndpTGk5cGJYQnNMM1YwYVd3dWFuTmNJanRjYm1sdGNHOXlkQ0JUWlhSMGFXNW5jeUJtY205dElGd2lMaTl6WlhSMGFXNW5jeTVxYzF3aU8xeHVYRzVqYjI1emRDQkpUbFpCVEVsRUlEMGdYQ0pKYm5aaGJHbGtJRVIxY21GMGFXOXVYQ0k3WEc1Y2JpOHZJSFZ1YVhRZ1kyOXVkbVZ5YzJsdmJpQmpiMjV6ZEdGdWRITmNibVY0Y0c5eWRDQmpiMjV6ZENCc2IzZFBjbVJsY2sxaGRISnBlQ0E5SUh0Y2JpQWdJQ0IzWldWcmN6b2dlMXh1SUNBZ0lDQWdaR0Y1Y3pvZ055eGNiaUFnSUNBZ0lHaHZkWEp6T2lBM0lDb2dNalFzWEc0Z0lDQWdJQ0J0YVc1MWRHVnpPaUEzSUNvZ01qUWdLaUEyTUN4Y2JpQWdJQ0FnSUhObFkyOXVaSE02SURjZ0tpQXlOQ0FxSURZd0lDb2dOakFzWEc0Z0lDQWdJQ0J0YVd4c2FYTmxZMjl1WkhNNklEY2dLaUF5TkNBcUlEWXdJQ29nTmpBZ0tpQXhNREF3TEZ4dUlDQWdJSDBzWEc0Z0lDQWdaR0Y1Y3pvZ2UxeHVJQ0FnSUNBZ2FHOTFjbk02SURJMExGeHVJQ0FnSUNBZ2JXbHVkWFJsY3pvZ01qUWdLaUEyTUN4Y2JpQWdJQ0FnSUhObFkyOXVaSE02SURJMElDb2dOakFnS2lBMk1DeGNiaUFnSUNBZ0lHMXBiR3hwYzJWamIyNWtjem9nTWpRZ0tpQTJNQ0FxSURZd0lDb2dNVEF3TUN4Y2JpQWdJQ0I5TEZ4dUlDQWdJR2h2ZFhKek9pQjdJRzFwYm5WMFpYTTZJRFl3TENCelpXTnZibVJ6T2lBMk1DQXFJRFl3TENCdGFXeHNhWE5sWTI5dVpITTZJRFl3SUNvZ05qQWdLaUF4TURBd0lIMHNYRzRnSUNBZ2JXbHVkWFJsY3pvZ2V5QnpaV052Ym1Sek9pQTJNQ3dnYldsc2JHbHpaV052Ym1Sek9pQTJNQ0FxSURFd01EQWdmU3hjYmlBZ0lDQnpaV052Ym1Sek9pQjdJRzFwYkd4cGMyVmpiMjVrY3pvZ01UQXdNQ0I5TEZ4dUlDQjlMRnh1SUNCallYTjFZV3hOWVhSeWFYZ2dQU0I3WEc0Z0lDQWdlV1ZoY25NNklIdGNiaUFnSUNBZ0lIRjFZWEowWlhKek9pQTBMRnh1SUNBZ0lDQWdiVzl1ZEdoek9pQXhNaXhjYmlBZ0lDQWdJSGRsWld0ek9pQTFNaXhjYmlBZ0lDQWdJR1JoZVhNNklETTJOU3hjYmlBZ0lDQWdJR2h2ZFhKek9pQXpOalVnS2lBeU5DeGNiaUFnSUNBZ0lHMXBiblYwWlhNNklETTJOU0FxSURJMElDb2dOakFzWEc0Z0lDQWdJQ0J6WldOdmJtUnpPaUF6TmpVZ0tpQXlOQ0FxSURZd0lDb2dOakFzWEc0Z0lDQWdJQ0J0YVd4c2FYTmxZMjl1WkhNNklETTJOU0FxSURJMElDb2dOakFnS2lBMk1DQXFJREV3TURBc1hHNGdJQ0FnZlN4Y2JpQWdJQ0J4ZFdGeWRHVnljem9nZTF4dUlDQWdJQ0FnYlc5dWRHaHpPaUF6TEZ4dUlDQWdJQ0FnZDJWbGEzTTZJREV6TEZ4dUlDQWdJQ0FnWkdGNWN6b2dPVEVzWEc0Z0lDQWdJQ0JvYjNWeWN6b2dPVEVnS2lBeU5DeGNiaUFnSUNBZ0lHMXBiblYwWlhNNklEa3hJQ29nTWpRZ0tpQTJNQ3hjYmlBZ0lDQWdJSE5sWTI5dVpITTZJRGt4SUNvZ01qUWdLaUEyTUNBcUlEWXdMRnh1SUNBZ0lDQWdiV2xzYkdselpXTnZibVJ6T2lBNU1TQXFJREkwSUNvZ05qQWdLaUEyTUNBcUlERXdNREFzWEc0Z0lDQWdmU3hjYmlBZ0lDQnRiMjUwYUhNNklIdGNiaUFnSUNBZ0lIZGxaV3R6T2lBMExGeHVJQ0FnSUNBZ1pHRjVjem9nTXpBc1hHNGdJQ0FnSUNCb2IzVnljem9nTXpBZ0tpQXlOQ3hjYmlBZ0lDQWdJRzFwYm5WMFpYTTZJRE13SUNvZ01qUWdLaUEyTUN4Y2JpQWdJQ0FnSUhObFkyOXVaSE02SURNd0lDb2dNalFnS2lBMk1DQXFJRFl3TEZ4dUlDQWdJQ0FnYldsc2JHbHpaV052Ym1Sek9pQXpNQ0FxSURJMElDb2dOakFnS2lBMk1DQXFJREV3TURBc1hHNGdJQ0FnZlN4Y2JseHVJQ0FnSUM0dUxteHZkMDl5WkdWeVRXRjBjbWw0TEZ4dUlDQjlMRnh1SUNCa1lYbHpTVzVaWldGeVFXTmpkWEpoZEdVZ1BTQXhORFl3T1RjdU1DQXZJRFF3TUN4Y2JpQWdaR0Y1YzBsdVRXOXVkR2hCWTJOMWNtRjBaU0E5SURFME5qQTVOeTR3SUM4Z05EZ3dNQ3hjYmlBZ1lXTmpkWEpoZEdWTllYUnlhWGdnUFNCN1hHNGdJQ0FnZVdWaGNuTTZJSHRjYmlBZ0lDQWdJSEYxWVhKMFpYSnpPaUEwTEZ4dUlDQWdJQ0FnYlc5dWRHaHpPaUF4TWl4Y2JpQWdJQ0FnSUhkbFpXdHpPaUJrWVhselNXNVpaV0Z5UVdOamRYSmhkR1VnTHlBM0xGeHVJQ0FnSUNBZ1pHRjVjem9nWkdGNWMwbHVXV1ZoY2tGalkzVnlZWFJsTEZ4dUlDQWdJQ0FnYUc5MWNuTTZJR1JoZVhOSmJsbGxZWEpCWTJOMWNtRjBaU0FxSURJMExGeHVJQ0FnSUNBZ2JXbHVkWFJsY3pvZ1pHRjVjMGx1V1dWaGNrRmpZM1Z5WVhSbElDb2dNalFnS2lBMk1DeGNiaUFnSUNBZ0lITmxZMjl1WkhNNklHUmhlWE5KYmxsbFlYSkJZMk4xY21GMFpTQXFJREkwSUNvZ05qQWdLaUEyTUN4Y2JpQWdJQ0FnSUcxcGJHeHBjMlZqYjI1a2N6b2daR0Y1YzBsdVdXVmhja0ZqWTNWeVlYUmxJQ29nTWpRZ0tpQTJNQ0FxSURZd0lDb2dNVEF3TUN4Y2JpQWdJQ0I5TEZ4dUlDQWdJSEYxWVhKMFpYSnpPaUI3WEc0Z0lDQWdJQ0J0YjI1MGFITTZJRE1zWEc0Z0lDQWdJQ0IzWldWcmN6b2daR0Y1YzBsdVdXVmhja0ZqWTNWeVlYUmxJQzhnTWpnc1hHNGdJQ0FnSUNCa1lYbHpPaUJrWVhselNXNVpaV0Z5UVdOamRYSmhkR1VnTHlBMExGeHVJQ0FnSUNBZ2FHOTFjbk02SUNoa1lYbHpTVzVaWldGeVFXTmpkWEpoZEdVZ0tpQXlOQ2tnTHlBMExGeHVJQ0FnSUNBZ2JXbHVkWFJsY3pvZ0tHUmhlWE5KYmxsbFlYSkJZMk4xY21GMFpTQXFJREkwSUNvZ05qQXBJQzhnTkN4Y2JpQWdJQ0FnSUhObFkyOXVaSE02SUNoa1lYbHpTVzVaWldGeVFXTmpkWEpoZEdVZ0tpQXlOQ0FxSURZd0lDb2dOakFwSUM4Z05DeGNiaUFnSUNBZ0lHMXBiR3hwYzJWamIyNWtjem9nS0dSaGVYTkpibGxsWVhKQlkyTjFjbUYwWlNBcUlESTBJQ29nTmpBZ0tpQTJNQ0FxSURFd01EQXBJQzhnTkN4Y2JpQWdJQ0I5TEZ4dUlDQWdJRzF2Ym5Sb2N6b2dlMXh1SUNBZ0lDQWdkMlZsYTNNNklHUmhlWE5KYmsxdmJuUm9RV05qZFhKaGRHVWdMeUEzTEZ4dUlDQWdJQ0FnWkdGNWN6b2daR0Y1YzBsdVRXOXVkR2hCWTJOMWNtRjBaU3hjYmlBZ0lDQWdJR2h2ZFhKek9pQmtZWGx6U1c1TmIyNTBhRUZqWTNWeVlYUmxJQ29nTWpRc1hHNGdJQ0FnSUNCdGFXNTFkR1Z6T2lCa1lYbHpTVzVOYjI1MGFFRmpZM1Z5WVhSbElDb2dNalFnS2lBMk1DeGNiaUFnSUNBZ0lITmxZMjl1WkhNNklHUmhlWE5KYmsxdmJuUm9RV05qZFhKaGRHVWdLaUF5TkNBcUlEWXdJQ29nTmpBc1hHNGdJQ0FnSUNCdGFXeHNhWE5sWTI5dVpITTZJR1JoZVhOSmJrMXZiblJvUVdOamRYSmhkR1VnS2lBeU5DQXFJRFl3SUNvZ05qQWdLaUF4TURBd0xGeHVJQ0FnSUgwc1hHNGdJQ0FnTGk0dWJHOTNUM0prWlhKTllYUnlhWGdzWEc0Z0lIMDdYRzVjYmk4dklIVnVhWFJ6SUc5eVpHVnlaV1FnWW5rZ2MybDZaVnh1WTI5dWMzUWdiM0prWlhKbFpGVnVhWFJ6SUQwZ1cxeHVJQ0JjSW5sbFlYSnpYQ0lzWEc0Z0lGd2ljWFZoY25SbGNuTmNJaXhjYmlBZ1hDSnRiMjUwYUhOY0lpeGNiaUFnWENKM1pXVnJjMXdpTEZ4dUlDQmNJbVJoZVhOY0lpeGNiaUFnWENKb2IzVnljMXdpTEZ4dUlDQmNJbTFwYm5WMFpYTmNJaXhjYmlBZ1hDSnpaV052Ym1SelhDSXNYRzRnSUZ3aWJXbHNiR2x6WldOdmJtUnpYQ0lzWEc1ZE8xeHVYRzVqYjI1emRDQnlaWFpsY25ObFZXNXBkSE1nUFNCdmNtUmxjbVZrVlc1cGRITXVjMnhwWTJVb01Da3VjbVYyWlhKelpTZ3BPMXh1WEc0dkx5QmpiRzl1WlNCeVpXRnNiSGtnYldWaGJuTWdYQ0pqY21WaGRHVWdZVzV2ZEdobGNpQnBibk4wWVc1alpTQnFkWE4wSUd4cGEyVWdkR2hwY3lCdmJtVXNJR0oxZENCM2FYUm9JSFJvWlhObElHTm9ZVzVuWlhOY0lseHVablZ1WTNScGIyNGdZMnh2Ym1Vb1pIVnlMQ0JoYkhSekxDQmpiR1ZoY2lBOUlHWmhiSE5sS1NCN1hHNGdJQzh2SUdSbFpYQWdiV1Z5WjJVZ1ptOXlJSFpoYkhOY2JpQWdZMjl1YzNRZ1kyOXVaaUE5SUh0Y2JpQWdJQ0IyWVd4MVpYTTZJR05zWldGeUlEOGdZV3gwY3k1MllXeDFaWE1nT2lCN0lDNHVMbVIxY2k1MllXeDFaWE1zSUM0dUxpaGhiSFJ6TG5aaGJIVmxjeUI4ZkNCN2ZTa2dmU3hjYmlBZ0lDQnNiMk02SUdSMWNpNXNiMk11WTJ4dmJtVW9ZV3gwY3k1c2IyTXBMRnh1SUNBZ0lHTnZiblpsY25OcGIyNUJZMk4xY21GamVUb2dZV3gwY3k1amIyNTJaWEp6YVc5dVFXTmpkWEpoWTNrZ2ZId2daSFZ5TG1OdmJuWmxjbk5wYjI1QlkyTjFjbUZqZVN4Y2JpQWdmVHRjYmlBZ2NtVjBkWEp1SUc1bGR5QkVkWEpoZEdsdmJpaGpiMjVtS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWVc1MGFWUnlkVzVqS0c0cElIdGNiaUFnY21WMGRYSnVJRzRnUENBd0lEOGdUV0YwYUM1bWJHOXZjaWh1S1NBNklFMWhkR2d1WTJWcGJDaHVLVHRjYm4xY2JseHVMeThnVGtJNklHMTFkR0YwWlhNZ2NHRnlZVzFsZEdWeWMxeHVablZ1WTNScGIyNGdZMjl1ZG1WeWRDaHRZWFJ5YVhnc0lHWnliMjFOWVhBc0lHWnliMjFWYm1sMExDQjBiMDFoY0N3Z2RHOVZibWwwS1NCN1hHNGdJR052Ym5OMElHTnZibllnUFNCdFlYUnlhWGhiZEc5VmJtbDBYVnRtY205dFZXNXBkRjBzWEc0Z0lDQWdjbUYzSUQwZ1puSnZiVTFoY0Z0bWNtOXRWVzVwZEYwZ0x5QmpiMjUyTEZ4dUlDQWdJSE5oYldWVGFXZHVJRDBnVFdGMGFDNXphV2R1S0hKaGR5a2dQVDA5SUUxaGRHZ3VjMmxuYmloMGIwMWhjRnQwYjFWdWFYUmRLU3hjYmlBZ0lDQXZMeUJ2YXl3Z2MyOGdkR2hwY3lCcGN5QjNhV3hrTENCaWRYUWdjMlZsSUhSb1pTQnRZWFJ5YVhnZ2FXNGdkR2hsSUhSbGMzUnpYRzRnSUNBZ1lXUmtaV1FnUFZ4dUlDQWdJQ0FnSVhOaGJXVlRhV2R1SUNZbUlIUnZUV0Z3VzNSdlZXNXBkRjBnSVQwOUlEQWdKaVlnVFdGMGFDNWhZbk1vY21GM0tTQThQU0F4SUQ4Z1lXNTBhVlJ5ZFc1aktISmhkeWtnT2lCTllYUm9MblJ5ZFc1aktISmhkeWs3WEc0Z0lIUnZUV0Z3VzNSdlZXNXBkRjBnS3owZ1lXUmtaV1E3WEc0Z0lHWnliMjFOWVhCYlpuSnZiVlZ1YVhSZElDMDlJR0ZrWkdWa0lDb2dZMjl1ZGp0Y2JuMWNibHh1THk4Z1RrSTZJRzExZEdGMFpYTWdjR0Z5WVcxbGRHVnljMXh1Wm5WdVkzUnBiMjRnYm05eWJXRnNhWHBsVm1Gc2RXVnpLRzFoZEhKcGVDd2dkbUZzY3lrZ2UxeHVJQ0J5WlhabGNuTmxWVzVwZEhNdWNtVmtkV05sS0Nod2NtVjJhVzkxY3l3Z1kzVnljbVZ1ZENrZ1BUNGdlMXh1SUNBZ0lHbG1JQ2doYVhOVmJtUmxabWx1WldRb2RtRnNjMXRqZFhKeVpXNTBYU2twSUh0Y2JpQWdJQ0FnSUdsbUlDaHdjbVYyYVc5MWN5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1MlpYSjBLRzFoZEhKcGVDd2dkbUZzY3l3Z2NISmxkbWx2ZFhNc0lIWmhiSE1zSUdOMWNuSmxiblFwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnY21WMGRYSnVJR04xY25KbGJuUTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ3Y21WMmFXOTFjenRjYmlBZ0lDQjlYRzRnSUgwc0lHNTFiR3dwTzF4dWZWeHVYRzR2S2lwY2JpQXFJRUVnUkhWeVlYUnBiMjRnYjJKcVpXTjBJSEpsY0hKbGMyVnVkSE1nWVNCd1pYSnBiMlFnYjJZZ2RHbHRaU3dnYkdsclpTQmNJaklnYlc5dWRHaHpYQ0lnYjNJZ1hDSXhJR1JoZVN3Z01TQm9iM1Z5WENJdUlFTnZibU5sY0hSMVlXeHNlU3dnYVhRbmN5QnFkWE4wSUdFZ2JXRndJRzltSUhWdWFYUnpJSFJ2SUhSb1pXbHlJSEYxWVc1MGFYUnBaWE1zSUdGalkyOXRjR0Z1YVdWa0lHSjVJSE52YldVZ1lXUmthWFJwYjI1aGJDQmpiMjVtYVdkMWNtRjBhVzl1SUdGdVpDQnRaWFJvYjJSeklHWnZjaUJqY21WaGRHbHVaeXdnY0dGeWMybHVaeXdnYVc1MFpYSnliMmRoZEdsdVp5d2dkSEpoYm5ObWIzSnRhVzVuTENCaGJtUWdabTl5YldGMGRHbHVaeUIwYUdWdExpQlVhR1Y1SUdOaGJpQmlaU0IxYzJWa0lHOXVJSFJvWldseUlHOTNiaUJ2Y2lCcGJpQmpiMjVxZFc1amRHbHZiaUIzYVhSb0lHOTBhR1Z5SUV4MWVHOXVJSFI1Y0dWek95Qm1iM0lnWlhoaGJYQnNaU3dnZVc5MUlHTmhiaUIxYzJVZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTNCc2RYTjlJSFJ2SUdGa1pDQmhJRVIxY21GMGFXOXVJRzlpYW1WamRDQjBieUJoSUVSaGRHVlVhVzFsTENCd2NtOWtkV05wYm1jZ1lXNXZkR2hsY2lCRVlYUmxWR2x0WlM1Y2JpQXFYRzRnS2lCSVpYSmxJR2x6SUdFZ1luSnBaV1lnYjNabGNuWnBaWGNnYjJZZ1kyOXRiVzl1YkhrZ2RYTmxaQ0J0WlhSb2IyUnpJR0Z1WkNCblpYUjBaWEp6SUdsdUlFUjFjbUYwYVc5dU9seHVJQ3BjYmlBcUlDb2dLaXBEY21WaGRHbHZiaW9xSUZSdklHTnlaV0YwWlNCaElFUjFjbUYwYVc5dUxDQjFjMlVnZTBCc2FXNXJJRVIxY21GMGFXOXVJMlp5YjIxTmFXeHNhWE45TENCN1FHeHBibXNnUkhWeVlYUnBiMjRqWm5KdmJVOWlhbVZqZEgwc0lHOXlJSHRBYkdsdWF5QkVkWEpoZEdsdmJpTm1jbTl0U1ZOUGZTNWNiaUFxSUNvZ0tpcFZibWwwSUhaaGJIVmxjeW9xSUZObFpTQjBhR1VnZTBCc2FXNXJJRVIxY21GMGFXOXVJM2xsWVhKemZTd2dlMEJzYVc1cklFUjFjbUYwYVc5dUkyMXZiblJvYzMwc0lIdEFiR2x1YXlCRWRYSmhkR2x2YmlOM1pXVnJjMzBzSUh0QWJHbHVheUJFZFhKaGRHbHZiaU5rWVhsemZTd2dlMEJzYVc1cklFUjFjbUYwYVc5dUkyaHZkWEp6ZlN3Z2UwQnNhVzVySUVSMWNtRjBhVzl1STIxcGJuVjBaWE45TENCN1FHeHBibXNnUkhWeVlYUnBiMjRqYzJWamIyNWtjMzBzSUh0QWJHbHVheUJFZFhKaGRHbHZiaU50YVd4c2FYTmxZMjl1WkhOOUlHRmpZMlZ6YzI5eWN5NWNiaUFxSUNvZ0tpcERiMjVtYVdkMWNtRjBhVzl1S2lvZ1UyVmxJQ0I3UUd4cGJtc2dSSFZ5WVhScGIyNGpiRzlqWVd4bGZTQmhibVFnZTBCc2FXNXJJRVIxY21GMGFXOXVJMjUxYldKbGNtbHVaMU41YzNSbGJYMGdZV05qWlhOemIzSnpMbHh1SUNvZ0tpQXFLbFJ5WVc1elptOXliV0YwYVc5dUtpb2dWRzhnWTNKbFlYUmxJRzVsZHlCRWRYSmhkR2x2Ym5NZ2IzVjBJRzltSUc5c1pDQnZibVZ6SUhWelpTQjdRR3hwYm1zZ1JIVnlZWFJwYjI0amNHeDFjMzBzSUh0QWJHbHVheUJFZFhKaGRHbHZiaU50YVc1MWMzMHNJSHRBYkdsdWF5QkVkWEpoZEdsdmJpTnViM0p0WVd4cGVtVjlMQ0I3UUd4cGJtc2dSSFZ5WVhScGIyNGpjMlYwZlN3Z2UwQnNhVzVySUVSMWNtRjBhVzl1STNKbFkyOXVabWxuZFhKbGZTd2dlMEJzYVc1cklFUjFjbUYwYVc5dUkzTm9hV1owVkc5OUxDQmhibVFnZTBCc2FXNXJJRVIxY21GMGFXOXVJMjVsWjJGMFpYMHVYRzRnS2lBcUlDb3FUM1YwY0hWMEtpb2dWRzhnWTI5dWRtVnlkQ0IwYUdVZ1JIVnlZWFJwYjI0Z2FXNTBieUJ2ZEdobGNpQnlaWEJ5WlhObGJuUmhkR2x2Ym5Nc0lITmxaU0I3UUd4cGJtc2dSSFZ5WVhScGIyNGpZWE45TENCN1FHeHBibXNnUkhWeVlYUnBiMjRqZEc5SlUwOTlMQ0I3UUd4cGJtc2dSSFZ5WVhScGIyNGpkRzlHYjNKdFlYUjlMQ0JoYm1RZ2UwQnNhVzVySUVSMWNtRjBhVzl1STNSdlNsTlBUbjFjYmlBcVhHNGdLaUJVYUdWeVpTZHpJR0Z5WlNCdGIzSmxJRzFsZEdodlpITWdaRzlqZFcxbGJuUmxaQ0JpWld4dmR5NGdTVzRnWVdSa2FYUnBiMjRzSUdadmNpQnRiM0psSUdsdVptOXliV0YwYVc5dUlHOXVJSE4xWW5Sc1pYSWdkRzl3YVdOeklHeHBhMlVnYVc1MFpYSnVZWFJwYjI1aGJHbDZZWFJwYjI0Z1lXNWtJSFpoYkdsa2FYUjVMQ0J6WldVZ2RHaGxJR1Y0ZEdWeWJtRnNJR1J2WTNWdFpXNTBZWFJwYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JrWldaaGRXeDBJR05zWVhOeklFUjFjbUYwYVc5dUlIdGNiaUFnTHlvcVhHNGdJQ0FxSUVCd2NtbDJZWFJsWEc0Z0lDQXFMMXh1SUNCamIyNXpkSEoxWTNSdmNpaGpiMjVtYVdjcElIdGNiaUFnSUNCamIyNXpkQ0JoWTJOMWNtRjBaU0E5SUdOdmJtWnBaeTVqYjI1MlpYSnphVzl1UVdOamRYSmhZM2tnUFQwOUlGd2liRzl1WjNSbGNtMWNJaUI4ZkNCbVlXeHpaVHRjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJBWVdOalpYTnpJSEJ5YVhaaGRHVmNiaUFnSUNBZ0tpOWNiaUFnSUNCMGFHbHpMblpoYkhWbGN5QTlJR052Ym1acFp5NTJZV3gxWlhNN1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FHRmpZMlZ6Y3lCd2NtbDJZWFJsWEc0Z0lDQWdJQ292WEc0Z0lDQWdkR2hwY3k1c2IyTWdQU0JqYjI1bWFXY3ViRzlqSUh4OElFeHZZMkZzWlM1amNtVmhkR1VvS1R0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQVlXTmpaWE56SUhCeWFYWmhkR1ZjYmlBZ0lDQWdLaTljYmlBZ0lDQjBhR2x6TG1OdmJuWmxjbk5wYjI1QlkyTjFjbUZqZVNBOUlHRmpZM1Z5WVhSbElEOGdYQ0pzYjI1bmRHVnliVndpSURvZ1hDSmpZWE4xWVd4Y0lqdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkFZV05qWlhOeklIQnlhWFpoZEdWY2JpQWdJQ0FnS2k5Y2JpQWdJQ0IwYUdsekxtbHVkbUZzYVdRZ1BTQmpiMjVtYVdjdWFXNTJZV3hwWkNCOGZDQnVkV3hzTzF4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUVCaFkyTmxjM01nY0hKcGRtRjBaVnh1SUNBZ0lDQXFMMXh1SUNBZ0lIUm9hWE11YldGMGNtbDRJRDBnWVdOamRYSmhkR1VnUHlCaFkyTjFjbUYwWlUxaGRISnBlQ0E2SUdOaGMzVmhiRTFoZEhKcGVEdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkFZV05qWlhOeklIQnlhWFpoZEdWY2JpQWdJQ0FnS2k5Y2JpQWdJQ0IwYUdsekxtbHpUSFY0YjI1RWRYSmhkR2x2YmlBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUVSMWNtRjBhVzl1SUdaeWIyMGdZU0J1ZFcxaVpYSWdiMllnYldsc2JHbHpaV052Ym1SekxseHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnWTI5MWJuUWdiMllnYldsc2JHbHpaV052Ym1SelhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2Y0hSeklDMGdiM0IwYVc5dWN5Qm1iM0lnY0dGeWMybHVaMXh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11Ykc5allXeGxQU2RsYmkxVlV5ZGRJQzBnZEdobElHeHZZMkZzWlNCMGJ5QjFjMlZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHOXdkSE11Ym5WdFltVnlhVzVuVTNsemRHVnRJQzBnZEdobElHNTFiV0psY21sdVp5QnplWE4wWlcwZ2RHOGdkWE5sWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1amIyNTJaWEp6YVc5dVFXTmpkWEpoWTNrOUoyTmhjM1ZoYkNkZElDMGdkR2hsSUdOdmJuWmxjbk5wYjI0Z2MzbHpkR1Z0SUhSdklIVnpaVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVkWEpoZEdsdmJuMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm1jbTl0VFdsc2JHbHpLR052ZFc1MExDQnZjSFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCdGFXeHNhWE5sWTI5dVpITTZJR052ZFc1MElIMHNJRzl3ZEhNcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhJRVIxY21GMGFXOXVJR1p5YjIwZ1lTQktZWFpoVTJOeWFYQjBJRzlpYW1WamRDQjNhWFJvSUd0bGVYTWdiR2xyWlNBbmVXVmhjbk1uSUdGdVpDQW5hRzkxY25NbkxseHVJQ0FnS2lCSlppQjBhR2x6SUc5aWFtVmpkQ0JwY3lCbGJYQjBlU0IwYUdWdUlHRWdlbVZ5YnlCdGFXeHNhWE5sWTI5dVpITWdaSFZ5WVhScGIyNGdhWE1nY21WMGRYSnVaV1F1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZZbW9nTFNCMGFHVWdiMkpxWldOMElIUnZJR055WldGMFpTQjBhR1VnUkdGMFpWUnBiV1VnWm5KdmJWeHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnYjJKcUxubGxZWEp6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnZZbW91Y1hWaGNuUmxjbk5jYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHOWlhaTV0YjI1MGFITmNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUc5aWFpNTNaV1ZyYzF4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdiMkpxTG1SaGVYTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUc5aWFpNW9iM1Z5YzF4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdiMkpxTG0xcGJuVjBaWE5jYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHOWlhaTV6WldOdmJtUnpYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdlltb3ViV2xzYkdselpXTnZibVJ6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQmJiM0IwY3oxYlhWMGdMU0J2Y0hScGIyNXpJR1p2Y2lCamNtVmhkR2x1WnlCMGFHbHpJRVIxY21GMGFXOXVYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVzYjJOaGJHVTlKMlZ1TFZWVEoxMGdMU0IwYUdVZ2JHOWpZV3hsSUhSdklIVnpaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2IzQjBjeTV1ZFcxaVpYSnBibWRUZVhOMFpXMGdMU0IwYUdVZ2JuVnRZbVZ5YVc1bklITjVjM1JsYlNCMGJ5QjFjMlZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJ6TG1OdmJuWmxjbk5wYjI1QlkyTjFjbUZqZVQwblkyRnpkV0ZzSjEwZ0xTQjBhR1VnWTI5dWRtVnljMmx2YmlCemVYTjBaVzBnZEc4Z2RYTmxYRzRnSUNBcUlFQnlaWFIxY200Z2UwUjFjbUYwYVc5dWZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHWnliMjFQWW1wbFkzUW9iMkpxTENCdmNIUnpJRDBnZTMwcElIdGNiaUFnSUNCcFppQW9iMkpxSUQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUc5aWFpQWhQVDBnWENKdlltcGxZM1JjSWlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkbUZzYVdSQmNtZDFiV1Z1ZEVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JnUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZERvZ1lYSm5kVzFsYm5RZ1pYaHdaV04wWldRZ2RHOGdZbVVnWVc0Z2IySnFaV04wTENCbmIzUWdKSHRjYmlBZ0lDQWdJQ0FnSUNCdlltb2dQVDA5SUc1MWJHd2dQeUJjSW01MWJHeGNJaUE2SUhSNWNHVnZaaUJ2WW1wY2JpQWdJQ0FnSUNBZ2ZXQmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QkVkWEpoZEdsdmJpaDdYRzRnSUNBZ0lDQjJZV3gxWlhNNklHNXZjbTFoYkdsNlpVOWlhbVZqZENodlltb3NJRVIxY21GMGFXOXVMbTV2Y20xaGJHbDZaVlZ1YVhRcExGeHVJQ0FnSUNBZ2JHOWpPaUJNYjJOaGJHVXVabkp2YlU5aWFtVmpkQ2h2Y0hSektTeGNiaUFnSUNBZ0lHTnZiblpsY25OcGIyNUJZMk4xY21GamVUb2diM0IwY3k1amIyNTJaWEp6YVc5dVFXTmpkWEpoWTNrc1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdSSFZ5WVhScGIyNGdabkp2YlNCRWRYSmhkR2x2Ymt4cGEyVXVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBJSHdnYm5WdFltVnlJSHdnUkhWeVlYUnBiMjU5SUdSMWNtRjBhVzl1VEdsclpWeHVJQ0FnS2lCUGJtVWdiMlk2WEc0Z0lDQXFJQzBnYjJKcVpXTjBJSGRwZEdnZ2EyVjVjeUJzYVd0bElDZDVaV0Z5Y3ljZ1lXNWtJQ2RvYjNWeWN5Y3VYRzRnSUNBcUlDMGdiblZ0WW1WeUlISmxjSEpsYzJWdWRHbHVaeUJ0YVd4c2FYTmxZMjl1WkhOY2JpQWdJQ29nTFNCRWRYSmhkR2x2YmlCcGJuTjBZVzVqWlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRFZFhKaGRHbHZibjFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJtY205dFJIVnlZWFJwYjI1TWFXdGxLR1IxY21GMGFXOXVUR2xyWlNrZ2UxeHVJQ0FnSUdsbUlDaHBjMDUxYldKbGNpaGtkWEpoZEdsdmJreHBhMlVwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUkhWeVlYUnBiMjR1Wm5KdmJVMXBiR3hwY3loa2RYSmhkR2x2Ymt4cGEyVXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9SSFZ5WVhScGIyNHVhWE5FZFhKaGRHbHZiaWhrZFhKaGRHbHZia3hwYTJVcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1pIVnlZWFJwYjI1TWFXdGxPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlHUjFjbUYwYVc5dVRHbHJaU0E5UFQwZ1hDSnZZbXBsWTNSY0lpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9aSFZ5WVhScGIyNU1hV3RsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZG1Gc2FXUkJjbWQxYldWdWRFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCZ1ZXNXJibTkzYmlCa2RYSmhkR2x2YmlCaGNtZDFiV1Z1ZENBa2UyUjFjbUYwYVc5dVRHbHJaWDBnYjJZZ2RIbHdaU0FrZTNSNWNHVnZaaUJrZFhKaGRHbHZia3hwYTJWOVlGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdSSFZ5WVhScGIyNGdabkp2YlNCaGJpQkpVMDhnT0RZd01TQmtkWEpoZEdsdmJpQnpkSEpwYm1jdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0IwWlhoMElDMGdkR1Y0ZENCMGJ5QndZWEp6WlZ4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwY3lBdElHOXdkR2x2Ym5NZ1ptOXlJSEJoY25OcGJtZGNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dmNIUnpMbXh2WTJGc1pUMG5aVzR0VlZNblhTQXRJSFJvWlNCc2IyTmhiR1VnZEc4Z2RYTmxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCdmNIUnpMbTUxYldKbGNtbHVaMU41YzNSbGJTQXRJSFJvWlNCdWRXMWlaWEpwYm1jZ2MzbHpkR1Z0SUhSdklIVnpaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11WTI5dWRtVnljMmx2YmtGalkzVnlZV041UFNkallYTjFZV3duWFNBdElIUm9aU0JqYjI1MlpYSnphVzl1SUhONWMzUmxiU0IwYnlCMWMyVmNiaUFnSUNvZ1FITmxaU0JvZEhSd2N6b3ZMMlZ1TG5kcGEybHdaV1JwWVM1dmNtY3ZkMmxyYVM5SlUwOWZPRFl3TVNORWRYSmhkR2x2Ym5OY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVbFRUeWduVUROWk5rMHhWelJFVkRFeVNETXdUVFZUSnlrdWRHOVBZbXBsWTNRb0tTQXZMejArSUhzZ2VXVmhjbk02SURNc0lHMXZiblJvY3pvZ05pd2dkMlZsYTNNNklERXNJR1JoZVhNNklEUXNJR2h2ZFhKek9pQXhNaXdnYldsdWRYUmxjem9nTXpBc0lITmxZMjl1WkhNNklEVWdmVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVkWEpoZEdsdmJpNW1jbTl0U1ZOUEtDZFFWREl6U0NjcExuUnZUMkpxWldOMEtDa2dMeTg5UGlCN0lHaHZkWEp6T2lBeU15QjlYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUjFjbUYwYVc5dUxtWnliMjFKVTA4b0oxQTFXVE5OSnlrdWRHOVBZbXBsWTNRb0tTQXZMejArSUhzZ2VXVmhjbk02SURVc0lHMXZiblJvY3pvZ015QjlYRzRnSUNBcUlFQnlaWFIxY200Z2UwUjFjbUYwYVc5dWZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHWnliMjFKVTA4b2RHVjRkQ3dnYjNCMGN5a2dlMXh1SUNBZ0lHTnZibk4wSUZ0d1lYSnpaV1JkSUQwZ2NHRnljMlZKVTA5RWRYSmhkR2x2YmloMFpYaDBLVHRjYmlBZ0lDQnBaaUFvY0dGeWMyVmtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2h3WVhKelpXUXNJRzl3ZEhNcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSSFZ5WVhScGIyNHVhVzUyWVd4cFpDaGNJblZ1Y0dGeWMyRmliR1ZjSWl3Z1lIUm9aU0JwYm5CMWRDQmNJaVI3ZEdWNGRIMWNJaUJqWVc0bmRDQmlaU0J3WVhKelpXUWdZWE1nU1ZOUElEZzJNREZnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ1JIVnlZWFJwYjI0Z1puSnZiU0JoYmlCSlUwOGdPRFl3TVNCMGFXMWxJSE4wY21sdVp5NWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhSbGVIUWdMU0IwWlhoMElIUnZJSEJoY25ObFhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2Y0hSeklDMGdiM0IwYVc5dWN5Qm1iM0lnY0dGeWMybHVaMXh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11Ykc5allXeGxQU2RsYmkxVlV5ZGRJQzBnZEdobElHeHZZMkZzWlNCMGJ5QjFjMlZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHOXdkSE11Ym5WdFltVnlhVzVuVTNsemRHVnRJQzBnZEdobElHNTFiV0psY21sdVp5QnplWE4wWlcwZ2RHOGdkWE5sWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1amIyNTJaWEp6YVc5dVFXTmpkWEpoWTNrOUoyTmhjM1ZoYkNkZElDMGdkR2hsSUdOdmJuWmxjbk5wYjI0Z2MzbHpkR1Z0SUhSdklIVnpaVnh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2Wlc0dWQybHJhWEJsWkdsaExtOXlaeTkzYVd0cEwwbFRUMTg0TmpBeEkxUnBiV1Z6WEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVIxY21GMGFXOXVMbVp5YjIxSlUwOVVhVzFsS0NjeE1Ub3lNam96TXk0ME5EUW5LUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJvYjNWeWN6b2dNVEVzSUcxcGJuVjBaWE02SURJeUxDQnpaV052Ym1Sek9pQXpNeXdnYldsc2JHbHpaV052Ym1Sek9pQTBORFFnZlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFNWTlBWR2x0WlNnbk1URTZNREFuS1M1MGIwOWlhbVZqZENncElDOHZQVDRnZXlCb2IzVnljem9nTVRFc0lHMXBiblYwWlhNNklEQXNJSE5sWTI5dVpITTZJREFnZlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFNWTlBWR2x0WlNnblZERXhPakF3SnlrdWRHOVBZbXBsWTNRb0tTQXZMejArSUhzZ2FHOTFjbk02SURFeExDQnRhVzUxZEdWek9pQXdMQ0J6WldOdmJtUnpPaUF3SUgxY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVbFRUMVJwYldVb0p6RXhNREFuS1M1MGIwOWlhbVZqZENncElDOHZQVDRnZXlCb2IzVnljem9nTVRFc0lHMXBiblYwWlhNNklEQXNJSE5sWTI5dVpITTZJREFnZlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFNWTlBWR2x0WlNnblZERXhNREFuS1M1MGIwOWlhbVZqZENncElDOHZQVDRnZXlCb2IzVnljem9nTVRFc0lHMXBiblYwWlhNNklEQXNJSE5sWTI5dVpITTZJREFnZlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRFZFhKaGRHbHZibjFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJtY205dFNWTlBWR2x0WlNoMFpYaDBMQ0J2Y0hSektTQjdYRzRnSUNBZ1kyOXVjM1FnVzNCaGNuTmxaRjBnUFNCd1lYSnpaVWxUVDFScGJXVlBibXg1S0hSbGVIUXBPMXh1SUNBZ0lHbG1JQ2h3WVhKelpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSEJoY25ObFpDd2diM0IwY3lrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQkVkWEpoZEdsdmJpNXBiblpoYkdsa0tGd2lkVzV3WVhKellXSnNaVndpTENCZ2RHaGxJR2x1Y0hWMElGd2lKSHQwWlhoMGZWd2lJR05oYmlkMElHSmxJSEJoY25ObFpDQmhjeUJKVTA4Z09EWXdNV0FwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGNtVmhkR1VnWVc0Z2FXNTJZV3hwWkNCRWRYSmhkR2x2Ymk1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSEpsWVhOdmJpQXRJSE5wYlhCc1pTQnpkSEpwYm1jZ2IyWWdkMmg1SUhSb2FYTWdaR0YwWlhScGJXVWdhWE1nYVc1MllXeHBaQzRnVTJodmRXeGtJRzV2ZENCamIyNTBZV2x1SUhCaGNtRnRaWFJsY25NZ2IzSWdZVzU1ZEdocGJtY2daV3h6WlNCa1lYUmhMV1JsY0dWdVpHVnVkRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyVjRjR3hoYm1GMGFXOXVQVzUxYkd4ZElDMGdiRzl1WjJWeUlHVjRjR3hoYm1GMGFXOXVMQ0J0WVhrZ2FXNWpiSFZrWlNCd1lYSmhiV1YwWlhKeklHRnVaQ0J2ZEdobGNpQjFjMlZtZFd3Z1pHVmlkV2RuYVc1bklHbHVabTl5YldGMGFXOXVYRzRnSUNBcUlFQnlaWFIxY200Z2UwUjFjbUYwYVc5dWZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHbHVkbUZzYVdRb2NtVmhjMjl1TENCbGVIQnNZVzVoZEdsdmJpQTlJRzUxYkd3cElIdGNiaUFnSUNCcFppQW9JWEpsWVhOdmJpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZG1Gc2FXUkJjbWQxYldWdWRFVnljbTl5S0Z3aWJtVmxaQ0IwYnlCemNHVmphV1o1SUdFZ2NtVmhjMjl1SUhSb1pTQkVkWEpoZEdsdmJpQnBjeUJwYm5aaGJHbGtYQ0lwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHbHVkbUZzYVdRZ1BTQnlaV0Z6YjI0Z2FXNXpkR0Z1WTJWdlppQkpiblpoYkdsa0lEOGdjbVZoYzI5dUlEb2dibVYzSUVsdWRtRnNhV1FvY21WaGMyOXVMQ0JsZUhCc1lXNWhkR2x2YmlrN1hHNWNiaUFnSUNCcFppQW9VMlYwZEdsdVozTXVkR2h5YjNkUGJrbHVkbUZzYVdRcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblpoYkdsa1JIVnlZWFJwYjI1RmNuSnZjaWhwYm5aaGJHbGtLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkVkWEpoZEdsdmJpaDdJR2x1ZG1Gc2FXUWdmU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCd2NtbDJZWFJsWEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYm05eWJXRnNhWHBsVlc1cGRDaDFibWwwS1NCN1hHNGdJQ0FnWTI5dWMzUWdibTl5YldGc2FYcGxaQ0E5SUh0Y2JpQWdJQ0FnSUhsbFlYSTZJRndpZVdWaGNuTmNJaXhjYmlBZ0lDQWdJSGxsWVhKek9pQmNJbmxsWVhKelhDSXNYRzRnSUNBZ0lDQnhkV0Z5ZEdWeU9pQmNJbkYxWVhKMFpYSnpYQ0lzWEc0Z0lDQWdJQ0J4ZFdGeWRHVnljem9nWENKeGRXRnlkR1Z5YzF3aUxGeHVJQ0FnSUNBZ2JXOXVkR2c2SUZ3aWJXOXVkR2h6WENJc1hHNGdJQ0FnSUNCdGIyNTBhSE02SUZ3aWJXOXVkR2h6WENJc1hHNGdJQ0FnSUNCM1pXVnJPaUJjSW5kbFpXdHpYQ0lzWEc0Z0lDQWdJQ0IzWldWcmN6b2dYQ0ozWldWcmMxd2lMRnh1SUNBZ0lDQWdaR0Y1T2lCY0ltUmhlWE5jSWl4Y2JpQWdJQ0FnSUdSaGVYTTZJRndpWkdGNWMxd2lMRnh1SUNBZ0lDQWdhRzkxY2pvZ1hDSm9iM1Z5YzF3aUxGeHVJQ0FnSUNBZ2FHOTFjbk02SUZ3aWFHOTFjbk5jSWl4Y2JpQWdJQ0FnSUcxcGJuVjBaVG9nWENKdGFXNTFkR1Z6WENJc1hHNGdJQ0FnSUNCdGFXNTFkR1Z6T2lCY0ltMXBiblYwWlhOY0lpeGNiaUFnSUNBZ0lITmxZMjl1WkRvZ1hDSnpaV052Ym1SelhDSXNYRzRnSUNBZ0lDQnpaV052Ym1Sek9pQmNJbk5sWTI5dVpITmNJaXhjYmlBZ0lDQWdJRzFwYkd4cGMyVmpiMjVrT2lCY0ltMXBiR3hwYzJWamIyNWtjMXdpTEZ4dUlDQWdJQ0FnYldsc2JHbHpaV052Ym1Sek9pQmNJbTFwYkd4cGMyVmpiMjVrYzF3aUxGeHVJQ0FnSUgxYmRXNXBkQ0EvSUhWdWFYUXVkRzlNYjNkbGNrTmhjMlVvS1NBNklIVnVhWFJkTzF4dVhHNGdJQ0FnYVdZZ0tDRnViM0p0WVd4cGVtVmtLU0IwYUhKdmR5QnVaWGNnU1c1MllXeHBaRlZ1YVhSRmNuSnZjaWgxYm1sMEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCdWIzSnRZV3hwZW1Wa08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU5vWldOcklHbG1JR0Z1SUc5aWFtVmpkQ0JwY3lCaElFUjFjbUYwYVc5dUxpQlhiM0pyY3lCaFkzSnZjM01nWTI5dWRHVjRkQ0JpYjNWdVpHRnlhV1Z6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnZYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2FYTkVkWEpoZEdsdmJpaHZLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDaHZJQ1ltSUc4dWFYTk1kWGh2YmtSMWNtRjBhVzl1S1NCOGZDQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnSUhSb1pTQnNiMk5oYkdVZ2IyWWdZU0JFZFhKaGRHbHZiaXdnYzNWamFDQW5aVzR0UjBJblhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2JHOWpZV3hsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG14dll5NXNiMk5oYkdVZ09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2JuVnRZbVZ5YVc1bklITjVjM1JsYlNCdlppQmhJRVIxY21GMGFXOXVMQ0J6ZFdOb0lDZGlaVzVuSnk0Z1ZHaGxJRzUxYldKbGNtbHVaeUJ6ZVhOMFpXMGdhWE1nZFhObFpDQjNhR1Z1SUdadmNtMWhkSFJwYm1jZ2RHaGxJRVIxY21GMGFXOXVYRzRnSUNBcVhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2JuVnRZbVZ5YVc1blUzbHpkR1Z0S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG14dll5NXVkVzFpWlhKcGJtZFRlWE4wWlcwZ09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ1lTQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaHBjeUJFZFhKaGRHbHZiaUJtYjNKdFlYUjBaV1FnWVdOamIzSmthVzVuSUhSdklIUm9aU0J6Y0dWamFXWnBaV1FnWm05eWJXRjBJSE4wY21sdVp5NGdXVzkxSUcxaGVTQjFjMlVnZEdobGMyVWdkRzlyWlc1ek9seHVJQ0FnS2lBcUlHQlRZQ0JtYjNJZ2JXbHNiR2x6WldOdmJtUnpYRzRnSUNBcUlDb2dZSE5nSUdadmNpQnpaV052Ym1SelhHNGdJQ0FxSUNvZ1lHMWdJR1p2Y2lCdGFXNTFkR1Z6WEc0Z0lDQXFJQ29nWUdoZ0lHWnZjaUJvYjNWeWMxeHVJQ0FnS2lBcUlHQmtZQ0JtYjNJZ1pHRjVjMXh1SUNBZ0tpQXFJR0IzWUNCbWIzSWdkMlZsYTNOY2JpQWdJQ29nS2lCZ1RXQWdabTl5SUcxdmJuUm9jMXh1SUNBZ0tpQXFJR0I1WUNCbWIzSWdlV1ZoY25OY2JpQWdJQ29nVG05MFpYTTZYRzRnSUNBcUlDb2dRV1JrSUhCaFpHUnBibWNnWW5rZ2NtVndaV0YwYVc1bklIUm9aU0IwYjJ0bGJpd2daUzVuTGlCY0lubDVYQ0lnY0dGa2N5QjBhR1VnZVdWaGNuTWdkRzhnZEhkdklHUnBaMmwwY3l3Z1hDSm9hR2hvWENJZ2NHRmtjeUIwYUdVZ2FHOTFjbk1nYjNWMElIUnZJR1p2ZFhJZ1pHbG5hWFJ6WEc0Z0lDQXFJQ29nVkc5clpXNXpJR05oYmlCaVpTQmxjMk5oY0dWa0lHSjVJSGR5WVhCd2FXNW5JSGRwZEdnZ2MybHVaMnhsSUhGMWIzUmxjeTVjYmlBZ0lDb2dLaUJVYUdVZ1pIVnlZWFJwYjI0Z2QybHNiQ0JpWlNCamIyNTJaWEowWldRZ2RHOGdkR2hsSUhObGRDQnZaaUIxYm1sMGN5QnBiaUIwYUdVZ1ptOXliV0YwSUhOMGNtbHVaeUIxYzJsdVp5QjdRR3hwYm1zZ1JIVnlZWFJwYjI0amMyaHBablJVYjMwZ1lXNWtJSFJvWlNCRWRYSmhkR2x2Ym5NbmN5QmpiMjUyWlhKemFXOXVJR0ZqWTNWeVlXTjVJSE5sZEhScGJtY3VYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCbWJYUWdMU0IwYUdVZ1ptOXliV0YwSUhOMGNtbHVaMXh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUc5d2RHbHZibk5jYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJiM0IwY3k1bWJHOXZjajEwY25WbFhTQXRJR1pzYjI5eUlHNTFiV1Z5YVdOaGJDQjJZV3gxWlhOY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lIbGxZWEp6T2lBeExDQmtZWGx6T2lBMkxDQnpaV052Ym1Sek9pQXlJSDBwTG5SdlJtOXliV0YwS0Z3aWVTQmtJSE5jSWlrZ0x5ODlQaUJjSWpFZ05pQXlYQ0pjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUhsbFlYSnpPaUF4TENCa1lYbHpPaUEyTENCelpXTnZibVJ6T2lBeUlIMHBMblJ2Um05eWJXRjBLRndpZVhrZ1pHUWdjM056WENJcElDOHZQVDRnWENJd01TQXdOaUF3TURKY0lseHVJQ0FnS2lCQVpYaGhiWEJzWlNCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIc2dlV1ZoY25NNklERXNJR1JoZVhNNklEWXNJSE5sWTI5dVpITTZJRElnZlNrdWRHOUdiM0p0WVhRb1hDSk5JRk5jSWlrZ0x5ODlQaUJjSWpFeUlEVXhPRFF3TWpBd01Gd2lYRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZSbTl5YldGMEtHWnRkQ3dnYjNCMGN5QTlJSHQ5S1NCN1hHNGdJQ0FnTHk4Z2NtVjJaWEp6WlMxamIyMXdZWFFnYzJsdVkyVWdNUzR5T3lCM1pTQmhiSGRoZVhNZ2NtOTFibVFnWkc5M2JpQnViM2NzSUc1bGRtVnlJSFZ3TENCaGJtUWdkMlVnWkc4Z2FYUWdZbmtnWkdWbVlYVnNkRnh1SUNBZ0lHTnZibk4wSUdadGRFOXdkSE1nUFNCN1hHNGdJQ0FnSUNBdUxpNXZjSFJ6TEZ4dUlDQWdJQ0FnWm14dmIzSTZJRzl3ZEhNdWNtOTFibVFnSVQwOUlHWmhiSE5sSUNZbUlHOXdkSE11Wm14dmIzSWdJVDA5SUdaaGJITmxMRnh1SUNBZ0lIMDdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpGeHVJQ0FnSUNBZ1B5QkdiM0p0WVhSMFpYSXVZM0psWVhSbEtIUm9hWE11Ykc5akxDQm1iWFJQY0hSektTNW1iM0p0WVhSRWRYSmhkR2x2YmtaeWIyMVRkSEpwYm1jb2RHaHBjeXdnWm0xMEtWeHVJQ0FnSUNBZ09pQkpUbFpCVEVsRU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZU0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdZU0JFZFhKaGRHbHZiaUIzYVhSb0lHRnNiQ0IxYm1sMGN5QnBibU5zZFdSbFpDNWNiaUFnSUNvZ1ZHOGdiVzlrYVdaNUlHbDBjeUJpWldoaGRtbHZjaUIxYzJVZ2RHaGxJR0JzYVhOMFUzUjViR1ZnSUdGdVpDQmhibmtnU1c1MGJDNU9kVzFpWlhKR2IzSnRZWFFnYjNCMGFXOXVMQ0IwYUc5MVoyZ2dZSFZ1YVhSRWFYTndiR0Y1WUNCcGN5QmxjM0JsWTJsaGJHeDVJSEpsYkdWMllXNTBMbHh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2WkdWMlpXeHZjR1Z5TG0xdmVtbHNiR0V1YjNKbkwyVnVMVlZUTDJSdlkzTXZWMlZpTDBwaGRtRlRZM0pwY0hRdlVtVm1aWEpsYm1ObEwwZHNiMkpoYkY5UFltcGxZM1J6TDBsdWRHd3ZUblZ0WW1WeVJtOXliV0YwWEc0Z0lDQXFJRUJ3WVhKaGJTQnZjSFJ6SUMwZ1QyNGdiM0IwYVc5dUlHOWlhbVZqZENCMGJ5QnZkbVZ5Y21sa1pTQjBhR1VnWm05eWJXRjBkR2x1Wnk0Z1FXTmpaWEIwY3lCMGFHVWdjMkZ0WlNCclpYbHpJR0Z6SUhSb1pTQnZjSFJwYjI1eklIQmhjbUZ0WlhSbGNpQnZaaUIwYUdVZ2JtRjBhWFpsSUdCSmJuUXVUblZ0WW1WeVJtOXliV0YwWUNCamIyNXpkSEoxWTNSdmNpd2dZWE1nZDJWc2JDQmhjeUJnYkdsemRGTjBlV3hsWUM1Y2JpQWdJQ29nUUdWNFlXMXdiR1ZjYmlBZ0lDb2dZR0JnYW5OY2JpQWdJQ29nZG1GeUlHUjFjaUE5SUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5QmtZWGx6T2lBeExDQm9iM1Z5Y3pvZ05Td2diV2x1ZFhSbGN6b2dOaUI5S1Z4dUlDQWdLaUJrZFhJdWRHOUlkVzFoYmlncElDOHZQVDRnSnpFZ1pHRjVMQ0ExSUdodmRYSnpMQ0EySUcxcGJuVjBaWE1uWEc0Z0lDQXFJR1IxY2k1MGIwaDFiV0Z1S0hzZ2JHbHpkRk4wZVd4bE9pQmNJbXh2Ym1kY0lpQjlLU0F2THowK0lDY3hJR1JoZVN3Z05TQm9iM1Z5Y3l3Z1lXNWtJRFlnYldsdWRYUmxjeWRjYmlBZ0lDb2daSFZ5TG5SdlNIVnRZVzRvZXlCMWJtbDBSR2x6Y0d4aGVUb2dYQ0p6YUc5eWRGd2lJSDBwSUM4dlBUNGdKekVnWkdGNUxDQTFJR2h5TENBMklHMXBiaWRjYmlBZ0lDb2dZR0JnWEc0Z0lDQXFMMXh1SUNCMGIwaDFiV0Z1S0c5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUdOdmJuTjBJR3dnUFNCdmNtUmxjbVZrVlc1cGRITmNiaUFnSUNBZ0lDNXRZWEFvS0hWdWFYUXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZG1Gc0lEMGdkR2hwY3k1MllXeDFaWE5iZFc1cGRGMDdYRzRnSUNBZ0lDQWdJR2xtSUNocGMxVnVaR1ZtYVc1bFpDaDJZV3dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViRzlqWEc0Z0lDQWdJQ0FnSUNBZ0xtNTFiV0psY2tadmNtMWhkSFJsY2loN0lITjBlV3hsT2lCY0luVnVhWFJjSWl3Z2RXNXBkRVJwYzNCc1lYazZJRndpYkc5dVoxd2lMQ0F1TGk1dmNIUnpMQ0IxYm1sME9pQjFibWwwTG5Oc2FXTmxLREFzSUMweEtTQjlLVnh1SUNBZ0lDQWdJQ0FnSUM1bWIzSnRZWFFvZG1Gc0tUdGNiaUFnSUNBZ0lIMHBYRzRnSUNBZ0lDQXVabWxzZEdWeUtDaHVLU0E5UGlCdUtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbXh2WTF4dUlDQWdJQ0FnTG14cGMzUkdiM0p0WVhSMFpYSW9leUIwZVhCbE9pQmNJbU52Ym1wMWJtTjBhVzl1WENJc0lITjBlV3hsT2lCdmNIUnpMbXhwYzNSVGRIbHNaU0I4ZkNCY0ltNWhjbkp2ZDF3aUxDQXVMaTV2Y0hSeklIMHBYRzRnSUNBZ0lDQXVabTl5YldGMEtHd3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWVNCS1lYWmhVMk55YVhCMElHOWlhbVZqZENCM2FYUm9JSFJvYVhNZ1JIVnlZWFJwYjI0bmN5QjJZV3gxWlhNdVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5QjVaV0Z5Y3pvZ01Td2daR0Y1Y3pvZ05pd2djMlZqYjI1a2N6b2dNaUI5S1M1MGIwOWlhbVZqZENncElDOHZQVDRnZXlCNVpXRnljem9nTVN3Z1pHRjVjem9nTml3Z2MyVmpiMjVrY3pvZ01pQjlYRzRnSUNBcUlFQnlaWFIxY200Z2UwOWlhbVZqZEgxY2JpQWdJQ292WEc0Z0lIUnZUMkpxWldOMEtDa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0tTQnlaWFIxY200Z2UzMDdYRzRnSUNBZ2NtVjBkWEp1SUhzZ0xpNHVkR2hwY3k1MllXeDFaWE1nZlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhMV052YlhCc2FXRnVkQ0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCRWRYSmhkR2x2Ymk1Y2JpQWdJQ29nUUhObFpTQm9kSFJ3Y3pvdkwyVnVMbmRwYTJsd1pXUnBZUzV2Y21jdmQybHJhUzlKVTA5Zk9EWXdNU05FZFhKaGRHbHZibk5jYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUhsbFlYSnpPaUF6TENCelpXTnZibVJ6T2lBME5TQjlLUzUwYjBsVFR5Z3BJQzh2UFQ0Z0oxQXpXVlEwTlZNblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5QnRiMjUwYUhNNklEUXNJSE5sWTI5dVpITTZJRFExSUgwcExuUnZTVk5QS0NrZ0x5ODlQaUFuVURSTlZEUTFVeWRjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUcxdmJuUm9jem9nTlNCOUtTNTBiMGxUVHlncElDOHZQVDRnSjFBMVRTZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJRzFwYm5WMFpYTTZJRFVnZlNrdWRHOUpVMDhvS1NBdkx6MCtJQ2RRVkRWTkoxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIc2diV2xzYkdselpXTnZibVJ6T2lBMklIMHBMblJ2U1ZOUEtDa2dMeTg5UGlBblVGUXdMakF3TmxNblhHNGdJQ0FxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhSdlNWTlBLQ2tnZTF4dUlDQWdJQzh2SUhkbElHTnZkV3hrSUhWelpTQjBhR1VnWm05eWJXRjBkR1Z5TENCaWRYUWdkR2hwY3lCcGN5QmhiaUJsWVhOcFpYSWdkMkY1SUhSdklHZGxkQ0IwYUdVZ2JXbHVhVzExYlNCemRISnBibWRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0JzWlhRZ2N5QTlJRndpVUZ3aU8xeHVJQ0FnSUdsbUlDaDBhR2x6TG5sbFlYSnpJQ0U5UFNBd0tTQnpJQ3M5SUhSb2FYTXVlV1ZoY25NZ0t5QmNJbGxjSWp0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV0YjI1MGFITWdJVDA5SURBZ2ZId2dkR2hwY3k1eGRXRnlkR1Z5Y3lBaFBUMGdNQ2tnY3lBclBTQjBhR2x6TG0xdmJuUm9jeUFySUhSb2FYTXVjWFZoY25SbGNuTWdLaUF6SUNzZ1hDSk5YQ0k3WEc0Z0lDQWdhV1lnS0hSb2FYTXVkMlZsYTNNZ0lUMDlJREFwSUhNZ0t6MGdkR2hwY3k1M1pXVnJjeUFySUZ3aVYxd2lPMXh1SUNBZ0lHbG1JQ2gwYUdsekxtUmhlWE1nSVQwOUlEQXBJSE1nS3owZ2RHaHBjeTVrWVhseklDc2dYQ0pFWENJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YUc5MWNuTWdJVDA5SURBZ2ZId2dkR2hwY3k1dGFXNTFkR1Z6SUNFOVBTQXdJSHg4SUhSb2FYTXVjMlZqYjI1a2N5QWhQVDBnTUNCOGZDQjBhR2x6TG0xcGJHeHBjMlZqYjI1a2N5QWhQVDBnTUNsY2JpQWdJQ0FnSUhNZ0t6MGdYQ0pVWENJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YUc5MWNuTWdJVDA5SURBcElITWdLejBnZEdocGN5NW9iM1Z5Y3lBcklGd2lTRndpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbTFwYm5WMFpYTWdJVDA5SURBcElITWdLejBnZEdocGN5NXRhVzUxZEdWeklDc2dYQ0pOWENJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YzJWamIyNWtjeUFoUFQwZ01DQjhmQ0IwYUdsekxtMXBiR3hwYzJWamIyNWtjeUFoUFQwZ01DbGNiaUFnSUNBZ0lDOHZJSFJvYVhNZ2QybHNiQ0JvWVc1a2JHVWdYQ0ptYkc5aGRHbHVaeUJ3YjJsdWRDQnRZV1J1WlhOelhDSWdZbmtnY21WdGIzWnBibWNnWlhoMGNtRWdaR1ZqYVcxaGJDQndiR0ZqWlhOY2JpQWdJQ0FnSUM4dklHaDBkSEJ6T2k4dmMzUmhZMnR2ZG1WeVpteHZkeTVqYjIwdmNYVmxjM1JwYjI1ekx6VTRPREF3TkM5cGN5MW1iRzloZEdsdVp5MXdiMmx1ZEMxdFlYUm9MV0p5YjJ0bGJseHVJQ0FnSUNBZ2N5QXJQU0J5YjNWdVpGUnZLSFJvYVhNdWMyVmpiMjVrY3lBcklIUm9hWE11Yldsc2JHbHpaV052Ym1SeklDOGdNVEF3TUN3Z015a2dLeUJjSWxOY0lqdGNiaUFnSUNCcFppQW9jeUE5UFQwZ1hDSlFYQ0lwSUhNZ0t6MGdYQ0pVTUZOY0lqdGNiaUFnSUNCeVpYUjFjbTRnY3p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhMV052YlhCc2FXRnVkQ0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCRWRYSmhkR2x2Yml3Z1ptOXliV0YwZEdWa0lHRnpJR0VnZEdsdFpTQnZaaUJrWVhrdVhHNGdJQ0FxSUU1dmRHVWdkR2hoZENCMGFHbHpJSGRwYkd3Z2NtVjBkWEp1SUc1MWJHd2dhV1lnZEdobElHUjFjbUYwYVc5dUlHbHpJR2x1ZG1Gc2FXUXNJRzVsWjJGMGFYWmxMQ0J2Y2lCbGNYVmhiQ0IwYnlCdmNpQm5jbVZoZEdWeUlIUm9ZVzRnTWpRZ2FHOTFjbk11WEc0Z0lDQXFJRUJ6WldVZ2FIUjBjSE02THk5bGJpNTNhV3RwY0dWa2FXRXViM0puTDNkcGEya3ZTVk5QWHpnMk1ERWpWR2x0WlhOY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEhNZ0xTQnZjSFJwYjI1elhHNGdJQ0FxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzI5d2RITXVjM1Z3Y0hKbGMzTk5hV3hzYVhObFkyOXVaSE05Wm1Gc2MyVmRJQzBnWlhoamJIVmtaU0J0YVd4c2FYTmxZMjl1WkhNZ1puSnZiU0IwYUdVZ1ptOXliV0YwSUdsbUlIUm9aWGtuY21VZ01GeHVJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzU5SUZ0dmNIUnpMbk4xY0hCeVpYTnpVMlZqYjI1a2N6MW1ZV3h6WlYwZ0xTQmxlR05zZFdSbElITmxZMjl1WkhNZ1puSnZiU0IwYUdVZ1ptOXliV0YwSUdsbUlIUm9aWGtuY21VZ01GeHVJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzU5SUZ0dmNIUnpMbWx1WTJ4MVpHVlFjbVZtYVhnOVptRnNjMlZkSUMwZ2FXNWpiSFZrWlNCMGFHVWdZRlJnSUhCeVpXWnBlRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11Wm05eWJXRjBQU2RsZUhSbGJtUmxaQ2RkSUMwZ1kyaHZiM05sSUdKbGRIZGxaVzRnZEdobElHSmhjMmxqSUdGdVpDQmxlSFJsYm1SbFpDQm1iM0p0WVhSY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHaHZkWEp6T2lBeE1TQjlLUzUwYjBsVFQxUnBiV1VvS1NBdkx6MCtJQ2N4TVRvd01Eb3dNQzR3TURBblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5Qm9iM1Z5Y3pvZ01URWdmU2t1ZEc5SlUwOVVhVzFsS0hzZ2MzVndjSEpsYzNOTmFXeHNhWE5sWTI5dVpITTZJSFJ5ZFdVZ2ZTa2dMeTg5UGlBbk1URTZNREE2TURBblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5Qm9iM1Z5Y3pvZ01URWdmU2t1ZEc5SlUwOVVhVzFsS0hzZ2MzVndjSEpsYzNOVFpXTnZibVJ6T2lCMGNuVmxJSDBwSUM4dlBUNGdKekV4T2pBd0oxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIc2dhRzkxY25NNklERXhJSDBwTG5SdlNWTlBWR2x0WlNoN0lHbHVZMngxWkdWUWNtVm1hWGc2SUhSeWRXVWdmU2tnTHk4OVBpQW5WREV4T2pBd09qQXdMakF3TUNkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHaHZkWEp6T2lBeE1TQjlLUzUwYjBsVFQxUnBiV1VvZXlCbWIzSnRZWFE2SUNkaVlYTnBZeWNnZlNrZ0x5ODlQaUFuTVRFd01EQXdMakF3TUNkY2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnZEc5SlUwOVVhVzFsS0c5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnYm5Wc2JEdGNibHh1SUNBZ0lHTnZibk4wSUcxcGJHeHBjeUE5SUhSb2FYTXVkRzlOYVd4c2FYTW9LVHRjYmlBZ0lDQnBaaUFvYldsc2JHbHpJRHdnTUNCOGZDQnRhV3hzYVhNZ1BqMGdPRFkwTURBd01EQXBJSEpsZEhWeWJpQnVkV3hzTzF4dVhHNGdJQ0FnYjNCMGN5QTlJSHRjYmlBZ0lDQWdJSE4xY0hCeVpYTnpUV2xzYkdselpXTnZibVJ6T2lCbVlXeHpaU3hjYmlBZ0lDQWdJSE4xY0hCeVpYTnpVMlZqYjI1a2N6b2dabUZzYzJVc1hHNGdJQ0FnSUNCcGJtTnNkV1JsVUhKbFptbDRPaUJtWVd4elpTeGNiaUFnSUNBZ0lHWnZjbTFoZERvZ1hDSmxlSFJsYm1SbFpGd2lMRnh1SUNBZ0lDQWdMaTR1YjNCMGN5eGNiaUFnSUNCOU8xeHVYRzRnSUNBZ1kyOXVjM1FnZG1Gc2RXVWdQU0IwYUdsekxuTm9hV1owVkc4b1hDSm9iM1Z5YzF3aUxDQmNJbTFwYm5WMFpYTmNJaXdnWENKelpXTnZibVJ6WENJc0lGd2liV2xzYkdselpXTnZibVJ6WENJcE8xeHVYRzRnSUNBZ2JHVjBJR1p0ZENBOUlHOXdkSE11Wm05eWJXRjBJRDA5UFNCY0ltSmhjMmxqWENJZ1B5QmNJbWhvYlcxY0lpQTZJRndpYUdnNmJXMWNJanRjYmx4dUlDQWdJR2xtSUNnaGIzQjBjeTV6ZFhCd2NtVnpjMU5sWTI5dVpITWdmSHdnZG1Gc2RXVXVjMlZqYjI1a2N5QWhQVDBnTUNCOGZDQjJZV3gxWlM1dGFXeHNhWE5sWTI5dVpITWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHWnRkQ0FyUFNCdmNIUnpMbVp2Y20xaGRDQTlQVDBnWENKaVlYTnBZMXdpSUQ4Z1hDSnpjMXdpSURvZ1hDSTZjM05jSWp0Y2JpQWdJQ0FnSUdsbUlDZ2hiM0IwY3k1emRYQndjbVZ6YzAxcGJHeHBjMlZqYjI1a2N5QjhmQ0IyWVd4MVpTNXRhV3hzYVhObFkyOXVaSE1nSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnWm0xMElDczlJRndpTGxOVFUxd2lPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHeGxkQ0J6ZEhJZ1BTQjJZV3gxWlM1MGIwWnZjbTFoZENobWJYUXBPMXh1WEc0Z0lDQWdhV1lnS0c5d2RITXVhVzVqYkhWa1pWQnlaV1pwZUNrZ2UxeHVJQ0FnSUNBZ2MzUnlJRDBnWENKVVhDSWdLeUJ6ZEhJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE4wY2p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhJSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JSFJvYVhNZ1JIVnlZWFJwYjI0Z1lYQndjbTl3Y21saGRHVWdabTl5SUhWelpTQnBiaUJLVTA5T0xseHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCMGIwcFRUMDRvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOUpVMDhvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhJSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JSFJvYVhNZ1JIVnlZWFJwYjI0Z1lYQndjbTl3Y21saGRHVWdabTl5SUhWelpTQnBiaUJrWldKMVoyZHBibWN1WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSFJ2VTNSeWFXNW5LQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5SdlNWTlBLQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaGJpQnRhV3hzYVhObFkyOXVaSE1nZG1Gc2RXVWdiMllnZEdocGN5QkVkWEpoZEdsdmJpNWNiaUFnSUNvZ1FISmxkSFZ5YmlCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ2RHOU5hV3hzYVhNb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZWE1vWENKdGFXeHNhWE5sWTI5dVpITmNJaWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaGJpQnRhV3hzYVhObFkyOXVaSE1nZG1Gc2RXVWdiMllnZEdocGN5QkVkWEpoZEdsdmJpNGdRV3hwWVhNZ2IyWWdlMEJzYVc1cklIUnZUV2xzYkdsemZWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCMllXeDFaVTltS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuUnZUV2xzYkdsektDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVFdGclpTQjBhR2x6SUVSMWNtRjBhVzl1SUd4dmJtZGxjaUJpZVNCMGFHVWdjM0JsWTJsbWFXVmtJR0Z0YjNWdWRDNGdVbVYwZFhKdUlHRWdibVYzYkhrdFkyOXVjM1J5ZFdOMFpXUWdSSFZ5WVhScGIyNHVYRzRnSUNBcUlFQndZWEpoYlNCN1JIVnlZWFJwYjI1OFQySnFaV04wZkc1MWJXSmxjbjBnWkhWeVlYUnBiMjRnTFNCVWFHVWdZVzF2ZFc1MElIUnZJR0ZrWkM0Z1JXbDBhR1Z5SUdFZ1RIVjRiMjRnUkhWeVlYUnBiMjRzSUdFZ2JuVnRZbVZ5SUc5bUlHMXBiR3hwYzJWamIyNWtjeXdnZEdobElHOWlhbVZqZENCaGNtZDFiV1Z1ZENCMGJ5QkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLQ2xjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSSFZ5WVhScGIyNTlYRzRnSUNBcUwxeHVJQ0J3YkhWektHUjFjbUYwYVc5dUtTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCMGFHbHpPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pIVnlJRDBnUkhWeVlYUnBiMjR1Wm5KdmJVUjFjbUYwYVc5dVRHbHJaU2hrZFhKaGRHbHZiaWtzWEc0Z0lDQWdJQ0J5WlhOMWJIUWdQU0I3ZlR0Y2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2F5QnZaaUJ2Y21SbGNtVmtWVzVwZEhNcElIdGNiaUFnSUNBZ0lHbG1JQ2hvWVhOUGQyNVFjbTl3WlhKMGVTaGtkWEl1ZG1Gc2RXVnpMQ0JyS1NCOGZDQm9ZWE5QZDI1UWNtOXdaWEowZVNoMGFHbHpMblpoYkhWbGN5d2dheWtwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpkV3gwVzJ0ZElEMGdaSFZ5TG1kbGRDaHJLU0FySUhSb2FYTXVaMlYwS0dzcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJqYkc5dVpTaDBhR2x6TENCN0lIWmhiSFZsY3pvZ2NtVnpkV3gwSUgwc0lIUnlkV1VwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFMWhhMlVnZEdocGN5QkVkWEpoZEdsdmJpQnphRzl5ZEdWeUlHSjVJSFJvWlNCemNHVmphV1pwWldRZ1lXMXZkVzUwTGlCU1pYUjFjbTRnWVNCdVpYZHNlUzFqYjI1emRISjFZM1JsWkNCRWRYSmhkR2x2Ymk1Y2JpQWdJQ29nUUhCaGNtRnRJSHRFZFhKaGRHbHZibnhQWW1wbFkzUjhiblZ0WW1WeWZTQmtkWEpoZEdsdmJpQXRJRlJvWlNCaGJXOTFiblFnZEc4Z2MzVmlkSEpoWTNRdUlFVnBkR2hsY2lCaElFeDFlRzl1SUVSMWNtRjBhVzl1TENCaElHNTFiV0psY2lCdlppQnRhV3hzYVhObFkyOXVaSE1zSUhSb1pTQnZZbXBsWTNRZ1lYSm5kVzFsYm5RZ2RHOGdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2dwWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMFIxY21GMGFXOXVmVnh1SUNBZ0tpOWNiaUFnYldsdWRYTW9aSFZ5WVhScGIyNHBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlIUm9hWE03WEc1Y2JpQWdJQ0JqYjI1emRDQmtkWElnUFNCRWRYSmhkR2x2Ymk1bWNtOXRSSFZ5WVhScGIyNU1hV3RsS0dSMWNtRjBhVzl1S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1d2JIVnpLR1IxY2k1dVpXZGhkR1VvS1NrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVMk5oYkdVZ2RHaHBjeUJFZFhKaGRHbHZiaUJpZVNCMGFHVWdjM0JsWTJsbWFXVmtJR0Z0YjNWdWRDNGdVbVYwZFhKdUlHRWdibVYzYkhrdFkyOXVjM1J5ZFdOMFpXUWdSSFZ5WVhScGIyNHVYRzRnSUNBcUlFQndZWEpoYlNCN1puVnVZM1JwYjI1OUlHWnVJQzBnVkdobElHWjFibU4wYVc5dUlIUnZJR0Z3Y0d4NUlIUnZJR1ZoWTJnZ2RXNXBkQzRnUVhKcGRIa2dhWE1nTVNCdmNpQXlPaUIwYUdVZ2RtRnNkV1VnYjJZZ2RHaGxJSFZ1YVhRZ1lXNWtMQ0J2Y0hScGIyNWhiR3g1TENCMGFHVWdkVzVwZENCdVlXMWxMaUJOZFhOMElISmxkSFZ5YmlCaElHNTFiV0psY2k1Y2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHaHZkWEp6T2lBeExDQnRhVzUxZEdWek9pQXpNQ0I5S1M1dFlYQlZibWwwY3loNElEMCtJSGdnS2lBeUtTQXZMejArSUhzZ2FHOTFjbk02SURJc0lHMXBiblYwWlhNNklEWXdJSDFjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUdodmRYSnpPaUF4TENCdGFXNTFkR1Z6T2lBek1DQjlLUzV0WVhCVmJtbDBjeWdvZUN3Z2RTa2dQVDRnZFNBOVBUMGdYQ0pvYjNWeVhDSWdQeUI0SUNvZ01pQTZJSGdwSUM4dlBUNGdleUJvYjNWeWN6b2dNaXdnYldsdWRYUmxjem9nTXpBZ2ZWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0RWRYSmhkR2x2Ym4xY2JpQWdJQ292WEc0Z0lHMWhjRlZ1YVhSektHWnVLU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUXBJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJR052Ym5OMElISmxjM1ZzZENBOUlIdDlPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdheUJ2WmlCUFltcGxZM1F1YTJWNWN5aDBhR2x6TG5aaGJIVmxjeWtwSUh0Y2JpQWdJQ0FnSUhKbGMzVnNkRnRyWFNBOUlHRnpUblZ0WW1WeUtHWnVLSFJvYVhNdWRtRnNkV1Z6VzJ0ZExDQnJLU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCamJHOXVaU2gwYUdsekxDQjdJSFpoYkhWbGN6b2djbVZ6ZFd4MElIMHNJSFJ5ZFdVcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCMGFHVWdkbUZzZFdVZ2IyWWdkVzVwZEM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSFZ1YVhRZ0xTQmhJSFZ1YVhRZ2MzVmphQ0JoY3lBbmJXbHVkWFJsSnlCdmNpQW5aR0Y1SjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0h0NVpXRnljem9nTWl3Z1pHRjVjem9nTTMwcExtZGxkQ2duZVdWaGNuTW5LU0F2THowK0lESmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdlV1ZoY25NNklESXNJR1JoZVhNNklETjlLUzVuWlhRb0oyMXZiblJvY3ljcElDOHZQVDRnTUZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0h0NVpXRnljem9nTWl3Z1pHRjVjem9nTTMwcExtZGxkQ2duWkdGNWN5Y3BJQzh2UFQ0Z00xeHVJQ0FnS2lCQWNtVjBkWEp1SUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUW9kVzVwZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdselcwUjFjbUYwYVc5dUxtNXZjbTFoYkdsNlpWVnVhWFFvZFc1cGRDbGRPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZ3aVUyVjBYQ0lnZEdobElIWmhiSFZsY3lCdlppQnpjR1ZqYVdacFpXUWdkVzVwZEhNdUlGSmxkSFZ5YmlCaElHNWxkMng1TFdOdmJuTjBjblZqZEdWa0lFUjFjbUYwYVc5dUxseHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnZG1Gc2RXVnpJQzBnWVNCdFlYQndhVzVuSUc5bUlIVnVhWFJ6SUhSdklHNTFiV0psY25OY2JpQWdJQ29nUUdWNFlXMXdiR1VnWkhWeUxuTmxkQ2g3SUhsbFlYSnpPaUF5TURFM0lIMHBYRzRnSUNBcUlFQmxlR0Z0Y0d4bElHUjFjaTV6WlhRb2V5Qm9iM1Z5Y3pvZ09Dd2diV2x1ZFhSbGN6b2dNekFnZlNsY2JpQWdJQ29nUUhKbGRIVnliaUI3UkhWeVlYUnBiMjU5WEc0Z0lDQXFMMXh1SUNCelpYUW9kbUZzZFdWektTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCMGFHbHpPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JXbDRaV1FnUFNCN0lDNHVMblJvYVhNdWRtRnNkV1Z6TENBdUxpNXViM0p0WVd4cGVtVlBZbXBsWTNRb2RtRnNkV1Z6TENCRWRYSmhkR2x2Ymk1dWIzSnRZV3hwZW1WVmJtbDBLU0I5TzF4dUlDQWdJSEpsZEhWeWJpQmpiRzl1WlNoMGFHbHpMQ0I3SUhaaGJIVmxjem9nYldsNFpXUWdmU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1hDSlRaWFJjSWlCMGFHVWdiRzlqWVd4bElHRnVaQzl2Y2lCdWRXMWlaWEpwYm1kVGVYTjBaVzB1SUNCU1pYUjFjbTV6SUdFZ2JtVjNiSGt0WTI5dWMzUnlkV04wWldRZ1JIVnlZWFJwYjI0dVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUdSMWNpNXlaV052Ym1acFozVnlaU2g3SUd4dlkyRnNaVG9nSjJWdUxVZENKeUI5S1Z4dUlDQWdLaUJBY21WMGRYSnVJSHRFZFhKaGRHbHZibjFjYmlBZ0lDb3ZYRzRnSUhKbFkyOXVabWxuZFhKbEtIc2diRzlqWVd4bExDQnVkVzFpWlhKcGJtZFRlWE4wWlcwc0lHTnZiblpsY25OcGIyNUJZMk4xY21GamVTQjlJRDBnZTMwcElIdGNiaUFnSUNCamIyNXpkQ0JzYjJNZ1BTQjBhR2x6TG14dll5NWpiRzl1WlNoN0lHeHZZMkZzWlN3Z2JuVnRZbVZ5YVc1blUzbHpkR1Z0SUgwcExGeHVJQ0FnSUNBZ2IzQjBjeUE5SUhzZ2JHOWpJSDA3WEc1Y2JpQWdJQ0JwWmlBb1kyOXVkbVZ5YzJsdmJrRmpZM1Z5WVdONUtTQjdYRzRnSUNBZ0lDQnZjSFJ6TG1OdmJuWmxjbk5wYjI1QlkyTjFjbUZqZVNBOUlHTnZiblpsY25OcGIyNUJZMk4xY21GamVUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWTJ4dmJtVW9kR2hwY3l3Z2IzQjBjeWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1SUhSb1pTQnNaVzVuZEdnZ2IyWWdkR2hsSUdSMWNtRjBhVzl1SUdsdUlIUm9aU0J6Y0dWamFXWnBaV1FnZFc1cGRDNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhWdWFYUWdMU0JoSUhWdWFYUWdjM1ZqYUNCaGN5QW5iV2x1ZFhSbGN5Y2diM0lnSjJSaGVYTW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9lM2xsWVhKek9pQXhmU2t1WVhNb0oyUmhlWE1uS1NBdkx6MCtJRE0yTlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0h0NVpXRnljem9nTVgwcExtRnpLQ2R0YjI1MGFITW5LU0F2THowK0lERXlYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9lMmh2ZFhKek9pQTJNSDBwTG1GektDZGtZWGx6SnlrZ0x5ODlQaUF5TGpWY2JpQWdJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnWVhNb2RXNXBkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbk5vYVdaMFZHOG9kVzVwZENrdVoyVjBLSFZ1YVhRcElEb2dUbUZPTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxaSFZqWlNCMGFHbHpJRVIxY21GMGFXOXVJSFJ2SUdsMGN5QmpZVzV2Ym1sallXd2djbVZ3Y21WelpXNTBZWFJwYjI0Z2FXNGdhWFJ6SUdOMWNuSmxiblFnZFc1cGRITXVYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUI1WldGeWN6b2dNaXdnWkdGNWN6b2dOVEF3TUNCOUtTNXViM0p0WVd4cGVtVW9LUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUI1WldGeWN6b2dNVFVzSUdSaGVYTTZJREkxTlNCOVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5Qm9iM1Z5Y3pvZ01USXNJRzFwYm5WMFpYTTZJQzAwTlNCOUtTNXViM0p0WVd4cGVtVW9LUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJvYjNWeWN6b2dNVEVzSUcxcGJuVjBaWE02SURFMUlIMWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JIVnlZWFJwYjI1OVhHNGdJQ0FxTDF4dUlDQnViM0p0WVd4cGVtVW9LU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUXBJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJR052Ym5OMElIWmhiSE1nUFNCMGFHbHpMblJ2VDJKcVpXTjBLQ2s3WEc0Z0lDQWdibTl5YldGc2FYcGxWbUZzZFdWektIUm9hWE11YldGMGNtbDRMQ0IyWVd4ektUdGNiaUFnSUNCeVpYUjFjbTRnWTJ4dmJtVW9kR2hwY3l3Z2V5QjJZV3gxWlhNNklIWmhiSE1nZlN3Z2RISjFaU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EyOXVkbVZ5ZENCMGFHbHpJRVIxY21GMGFXOXVJR2x1ZEc4Z2FYUnpJSEpsY0hKbGMyVnVkR0YwYVc5dUlHbHVJR0VnWkdsbVptVnlaVzUwSUhObGRDQnZaaUIxYm1sMGN5NWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJR2h2ZFhKek9pQXhMQ0J6WldOdmJtUnpPaUF6TUNCOUtTNXphR2xtZEZSdktDZHRhVzUxZEdWekp5d2dKMjFwYkd4cGMyVmpiMjVrY3ljcExuUnZUMkpxWldOMEtDa2dMeTg5UGlCN0lHMXBiblYwWlhNNklEWXdMQ0J0YVd4c2FYTmxZMjl1WkhNNklETXdNREF3SUgxY2JpQWdJQ29nUUhKbGRIVnliaUI3UkhWeVlYUnBiMjU5WEc0Z0lDQXFMMXh1SUNCemFHbG1kRlJ2S0M0dUxuVnVhWFJ6S1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FwSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUNBZ2FXWWdLSFZ1YVhSekxteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZFc1cGRITWdQU0IxYm1sMGN5NXRZWEFvS0hVcElEMCtJRVIxY21GMGFXOXVMbTV2Y20xaGJHbDZaVlZ1YVhRb2RTa3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ1luVnBiSFFnUFNCN2ZTeGNiaUFnSUNBZ0lHRmpZM1Z0ZFd4aGRHVmtJRDBnZTMwc1hHNGdJQ0FnSUNCMllXeHpJRDBnZEdocGN5NTBiMDlpYW1WamRDZ3BPMXh1SUNBZ0lHeGxkQ0JzWVhOMFZXNXBkRHRjYmx4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnYXlCdlppQnZjbVJsY21Wa1ZXNXBkSE1wSUh0Y2JpQWdJQ0FnSUdsbUlDaDFibWwwY3k1cGJtUmxlRTltS0dzcElENDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2JHRnpkRlZ1YVhRZ1BTQnJPMXh1WEc0Z0lDQWdJQ0FnSUd4bGRDQnZkMjRnUFNBd08xeHVYRzRnSUNBZ0lDQWdJQzh2SUdGdWVYUm9hVzVuSUhkbElHaGhkbVZ1SjNRZ1ltOXBiR1ZrSUdSdmQyNGdlV1YwSUhOb2IzVnNaQ0JuWlhRZ1ltOXBiR1ZrSUhSdklIUm9hWE1nZFc1cGRGeHVJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJR0ZySUdsdUlHRmpZM1Z0ZFd4aGRHVmtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2IzZHVJQ3M5SUhSb2FYTXViV0YwY21sNFcyRnJYVnRyWFNBcUlHRmpZM1Z0ZFd4aGRHVmtXMkZyWFR0Y2JpQWdJQ0FnSUNBZ0lDQmhZMk4xYlhWc1lYUmxaRnRoYTEwZ1BTQXdPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdjR3gxY3lCaGJubDBhR2x1WnlCMGFHRjBKM01nWVd4eVpXRmtlU0JwYmlCMGFHbHpJSFZ1YVhSY2JpQWdJQ0FnSUNBZ2FXWWdLR2x6VG5WdFltVnlLSFpoYkhOYmExMHBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2IzZHVJQ3M5SUhaaGJITmJhMTA3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcElEMGdUV0YwYUM1MGNuVnVZeWh2ZDI0cE8xeHVJQ0FnSUNBZ0lDQmlkV2xzZEZ0clhTQTlJR2s3WEc0Z0lDQWdJQ0FnSUdGalkzVnRkV3hoZEdWa1cydGRJRDBnS0c5M2JpQXFJREV3TURBZ0xTQnBJQ29nTVRBd01Da2dMeUF4TURBd08xeHVYRzRnSUNBZ0lDQWdJQzh2SUhCc2RYTWdZVzU1ZEdocGJtY2dablZ5ZEdobGNpQmtiM2R1SUhSb1pTQmphR0ZwYmlCMGFHRjBJSE5vYjNWc1pDQmlaU0J5YjJ4c1pXUWdkWEFnYVc0Z2RHOGdkR2hwYzF4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHUnZkMjRnYVc0Z2RtRnNjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h2Y21SbGNtVmtWVzVwZEhNdWFXNWtaWGhQWmloa2IzZHVLU0ErSUc5eVpHVnlaV1JWYm1sMGN5NXBibVJsZUU5bUtHc3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjUyWlhKMEtIUm9hWE11YldGMGNtbDRMQ0IyWVd4ekxDQmtiM2R1TENCaWRXbHNkQ3dnYXlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUM4dklHOTBhR1Z5ZDJselpTd2dhMlZsY0NCcGRDQnBiaUIwYUdVZ2QybHVaM01nZEc4Z1ltOXBiQ0JwZENCc1lYUmxjbHh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hwYzA1MWJXSmxjaWgyWVd4elcydGRLU2tnZTF4dUlDQWdJQ0FnSUNCaFkyTjFiWFZzWVhSbFpGdHJYU0E5SUhaaGJITmJhMTA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVc1NWRHaHBibWNnYkdWbWRHOTJaWElnWW1WamIyMWxjeUIwYUdVZ1pHVmphVzFoYkNCbWIzSWdkR2hsSUd4aGMzUWdkVzVwZEZ4dUlDQWdJQzh2SUd4aGMzUlZibWwwSUcxMWMzUWdZbVVnWkdWbWFXNWxaQ0J6YVc1alpTQjFibWwwY3lCcGN5QnViM1FnWlcxd2RIbGNiaUFnSUNCbWIzSWdLR052Ym5OMElHdGxlU0JwYmlCaFkyTjFiWFZzWVhSbFpDa2dlMXh1SUNBZ0lDQWdhV1lnS0dGalkzVnRkV3hoZEdWa1cydGxlVjBnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnWW5WcGJIUmJiR0Z6ZEZWdWFYUmRJQ3M5WEc0Z0lDQWdJQ0FnSUNBZ2EyVjVJRDA5UFNCc1lYTjBWVzVwZENBL0lHRmpZM1Z0ZFd4aGRHVmtXMnRsZVYwZ09pQmhZMk4xYlhWc1lYUmxaRnRyWlhsZElDOGdkR2hwY3k1dFlYUnlhWGhiYkdGemRGVnVhWFJkVzJ0bGVWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdOc2IyNWxLSFJvYVhNc0lIc2dkbUZzZFdWek9pQmlkV2xzZENCOUxDQjBjblZsS1M1dWIzSnRZV3hwZW1Vb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUc1bFoyRjBhWFpsSUc5bUlIUm9hWE1nUkhWeVlYUnBiMjR1WEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCb2IzVnljem9nTVN3Z2MyVmpiMjVrY3pvZ016QWdmU2t1Ym1WbllYUmxLQ2t1ZEc5UFltcGxZM1FvS1NBdkx6MCtJSHNnYUc5MWNuTTZJQzB4TENCelpXTnZibVJ6T2lBdE16QWdmVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVkWEpoZEdsdmJuMWNiaUFnSUNvdlhHNGdJRzVsWjJGMFpTZ3BJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdZMjl1YzNRZ2JtVm5ZWFJsWkNBOUlIdDlPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdheUJ2WmlCUFltcGxZM1F1YTJWNWN5aDBhR2x6TG5aaGJIVmxjeWtwSUh0Y2JpQWdJQ0FnSUc1bFoyRjBaV1JiYTEwZ1BTQjBhR2x6TG5aaGJIVmxjMXRyWFNBOVBUMGdNQ0EvSURBZ09pQXRkR2hwY3k1MllXeDFaWE5iYTEwN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmpiRzl1WlNoMGFHbHpMQ0I3SUhaaGJIVmxjem9nYm1WbllYUmxaQ0I5TENCMGNuVmxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUhsbFlYSnpMbHh1SUNBZ0tpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJSGxsWVhKektDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUIwYUdsekxuWmhiSFZsY3k1NVpXRnljeUI4ZkNBd0lEb2dUbUZPTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2NYVmhjblJsY25NdVhHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2NYVmhjblJsY25Nb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JSFJvYVhNdWRtRnNkV1Z6TG5GMVlYSjBaWEp6SUh4OElEQWdPaUJPWVU0N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUhSb1pTQnRiMjUwYUhNdVhHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2JXOXVkR2h6S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG5aaGJIVmxjeTV0YjI1MGFITWdmSHdnTUNBNklFNWhUanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUhkbFpXdHpYRzRnSUNBcUlFQjBlWEJsSUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUWdkMlZsYTNNb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JSFJvYVhNdWRtRnNkV1Z6TG5kbFpXdHpJSHg4SURBZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCa1lYbHpMbHh1SUNBZ0tpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJR1JoZVhNb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JSFJvYVhNdWRtRnNkV1Z6TG1SaGVYTWdmSHdnTUNBNklFNWhUanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUdodmRYSnpMbHh1SUNBZ0tpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJR2h2ZFhKektDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUIwYUdsekxuWmhiSFZsY3k1b2IzVnljeUI4ZkNBd0lEb2dUbUZPTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2JXbHVkWFJsY3k1Y2JpQWdJQ29nUUhSNWNHVWdlMjUxYldKbGNuMWNiaUFnSUNvdlhHNGdJR2RsZENCdGFXNTFkR1Z6S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG5aaGJIVmxjeTV0YVc1MWRHVnpJSHg4SURBZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCelpXTnZibVJ6TGx4dUlDQWdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2MyVmpiMjVrY3lncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBjMVpoYkdsa0lEOGdkR2hwY3k1MllXeDFaWE11YzJWamIyNWtjeUI4ZkNBd0lEb2dUbUZPTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2JXbHNiR2x6WldOdmJtUnpMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYldsc2JHbHpaV052Ym1SektDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUIwYUdsekxuWmhiSFZsY3k1dGFXeHNhWE5sWTI5dVpITWdmSHdnTUNBNklFNWhUanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUhkb1pYUm9aWElnZEdobElFUjFjbUYwYVc5dUlHbHpJR2x1ZG1Gc2FXUXVJRWx1ZG1Gc2FXUWdaSFZ5WVhScGIyNXpJR0Z5WlNCeVpYUjFjbTVsWkNCaWVTQmthV1ptSUc5d1pYSmhkR2x2Ym5OY2JpQWdJQ29nYjI0Z2FXNTJZV3hwWkNCRVlYUmxWR2x0WlhNZ2IzSWdTVzUwWlhKMllXeHpMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdGliMjlzWldGdWZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUdselZtRnNhV1FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXNTJZV3hwWkNBOVBUMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJR1Z5Y205eUlHTnZaR1VnYVdZZ2RHaHBjeUJFZFhKaGRHbHZiaUJpWldOaGJXVWdhVzUyWVd4cFpDd2diM0lnYm5Wc2JDQnBaaUIwYUdVZ1JIVnlZWFJwYjI0Z2FYTWdkbUZzYVdSY2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnWjJWMElHbHVkbUZzYVdSU1pXRnpiMjRvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXNTJZV3hwWkNBL0lIUm9hWE11YVc1MllXeHBaQzV5WldGemIyNGdPaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZVzRnWlhod2JHRnVZWFJwYjI0Z2IyWWdkMmg1SUhSb2FYTWdSSFZ5WVhScGIyNGdZbVZqWVcxbElHbHVkbUZzYVdRc0lHOXlJRzUxYkd3Z2FXWWdkR2hsSUVSMWNtRjBhVzl1SUdseklIWmhiR2xrWEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYVc1MllXeHBaRVY0Y0d4aGJtRjBhVzl1S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHVkbUZzYVdRZ1B5QjBhR2x6TG1sdWRtRnNhV1F1Wlhod2JHRnVZWFJwYjI0Z09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFVnhkV0ZzYVhSNUlHTm9aV05yWEc0Z0lDQXFJRlIzYnlCRWRYSmhkR2x2Ym5NZ1lYSmxJR1Z4ZFdGc0lHbG1aaUIwYUdWNUlHaGhkbVVnZEdobElITmhiV1VnZFc1cGRITWdZVzVrSUhSb1pTQnpZVzFsSUhaaGJIVmxjeUJtYjNJZ1pXRmphQ0IxYm1sMExseHVJQ0FnS2lCQWNHRnlZVzBnZTBSMWNtRjBhVzl1ZlNCdmRHaGxjbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdGliMjlzWldGdWZWeHVJQ0FnS2k5Y2JpQWdaWEYxWVd4ektHOTBhR1Z5S1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FnZkh3Z0lXOTBhR1Z5TG1selZtRnNhV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JWFJvYVhNdWJHOWpMbVZ4ZFdGc2N5aHZkR2hsY2k1c2IyTXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm5WdVkzUnBiMjRnWlhFb2RqRXNJSFl5S1NCN1hHNGdJQ0FnSUNBdkx5QkRiMjV6YVdSbGNpQXdJR0Z1WkNCMWJtUmxabWx1WldRZ1lYTWdaWEYxWVd4Y2JpQWdJQ0FnSUdsbUlDaDJNU0E5UFQwZ2RXNWtaV1pwYm1Wa0lIeDhJSFl4SUQwOVBTQXdLU0J5WlhSMWNtNGdkaklnUFQwOUlIVnVaR1ZtYVc1bFpDQjhmQ0IyTWlBOVBUMGdNRHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjJNU0E5UFQwZ2RqSTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQjFJRzltSUc5eVpHVnlaV1JWYm1sMGN5a2dlMXh1SUNBZ0lDQWdhV1lnS0NGbGNTaDBhR2x6TG5aaGJIVmxjMXQxWFN3Z2IzUm9aWEl1ZG1Gc2RXVnpXM1ZkS1NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNTlYRzRpTENBaWFXMXdiM0owSUVSaGRHVlVhVzFsTENCN0lHWnlhV1Z1Wkd4NVJHRjBaVlJwYldVZ2ZTQm1jbTl0SUZ3aUxpOWtZWFJsZEdsdFpTNXFjMXdpTzF4dWFXMXdiM0owSUVSMWNtRjBhVzl1SUdaeWIyMGdYQ0l1TDJSMWNtRjBhVzl1TG1welhDSTdYRzVwYlhCdmNuUWdVMlYwZEdsdVozTWdabkp2YlNCY0lpNHZjMlYwZEdsdVozTXVhbk5jSWp0Y2JtbHRjRzl5ZENCN0lFbHVkbUZzYVdSQmNtZDFiV1Z1ZEVWeWNtOXlMQ0JKYm5aaGJHbGtTVzUwWlhKMllXeEZjbkp2Y2lCOUlHWnliMjBnWENJdUwyVnljbTl5Y3k1cWMxd2lPMXh1YVcxd2IzSjBJRWx1ZG1Gc2FXUWdabkp2YlNCY0lpNHZhVzF3YkM5cGJuWmhiR2xrTG1welhDSTdYRzVjYm1OdmJuTjBJRWxPVmtGTVNVUWdQU0JjSWtsdWRtRnNhV1FnU1c1MFpYSjJZV3hjSWp0Y2JseHVMeThnWTJobFkydHpJR2xtSUhSb1pTQnpkR0Z5ZENCcGN5QmxjWFZoYkNCMGJ5QnZjaUJpWldadmNtVWdkR2hsSUdWdVpGeHVablZ1WTNScGIyNGdkbUZzYVdSaGRHVlRkR0Z5ZEVWdVpDaHpkR0Z5ZEN3Z1pXNWtLU0I3WEc0Z0lHbG1JQ2doYzNSaGNuUWdmSHdnSVhOMFlYSjBMbWx6Vm1Gc2FXUXBJSHRjYmlBZ0lDQnlaWFIxY200Z1NXNTBaWEoyWVd3dWFXNTJZV3hwWkNoY0ltMXBjM05wYm1jZ2IzSWdhVzUyWVd4cFpDQnpkR0Z5ZEZ3aUtUdGNiaUFnZlNCbGJITmxJR2xtSUNnaFpXNWtJSHg4SUNGbGJtUXVhWE5XWVd4cFpDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCSmJuUmxjblpoYkM1cGJuWmhiR2xrS0Z3aWJXbHpjMmx1WnlCdmNpQnBiblpoYkdsa0lHVnVaRndpS1R0Y2JpQWdmU0JsYkhObElHbG1JQ2hsYm1RZ1BDQnpkR0Z5ZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUJKYm5SbGNuWmhiQzVwYm5aaGJHbGtLRnh1SUNBZ0lDQWdYQ0psYm1RZ1ltVm1iM0psSUhOMFlYSjBYQ0lzWEc0Z0lDQWdJQ0JnVkdobElHVnVaQ0J2WmlCaGJpQnBiblJsY25aaGJDQnRkWE4wSUdKbElHRm1kR1Z5SUdsMGN5QnpkR0Z5ZEN3Z1luVjBJSGx2ZFNCb1lXUWdjM1JoY25ROUpIdHpkR0Z5ZEM1MGIwbFRUeWdwZlNCaGJtUWdaVzVrUFNSN1pXNWtMblJ2U1ZOUEtDbDlZRnh1SUNBZ0lDazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCQmJpQkpiblJsY25aaGJDQnZZbXBsWTNRZ2NtVndjbVZ6Wlc1MGN5QmhJR2hoYkdZdGIzQmxiaUJwYm5SbGNuWmhiQ0J2WmlCMGFXMWxMQ0IzYUdWeVpTQmxZV05vSUdWdVpIQnZhVzUwSUdseklHRWdlMEJzYVc1cklFUmhkR1ZVYVcxbGZTNGdRMjl1WTJWd2RIVmhiR3g1TENCcGRDZHpJR0VnWTI5dWRHRnBibVZ5SUdadmNpQjBhRzl6WlNCMGQyOGdaVzVrY0c5cGJuUnpMQ0JoWTJOdmJYQmhibWxsWkNCaWVTQnRaWFJvYjJSeklHWnZjaUJqY21WaGRHbHVaeXdnY0dGeWMybHVaeXdnYVc1MFpYSnliMmRoZEdsdVp5d2dZMjl0Y0dGeWFXNW5MQ0IwY21GdWMyWnZjbTFwYm1jc0lHRnVaQ0JtYjNKdFlYUjBhVzVuSUhSb1pXMHVYRzRnS2x4dUlDb2dTR1Z5WlNCcGN5QmhJR0p5YVdWbUlHOTJaWEoyYVdWM0lHOW1JSFJvWlNCdGIzTjBJR052YlcxdmJteDVJSFZ6WldRZ2JXVjBhRzlrY3lCaGJtUWdaMlYwZEdWeWN5QnBiaUJKYm5SbGNuWmhiRHBjYmlBcVhHNGdLaUFxSUNvcVEzSmxZWFJwYjI0cUtpQlVieUJqY21WaGRHVWdZVzRnU1c1MFpYSjJZV3dzSUhWelpTQjdRR3hwYm1zZ1NXNTBaWEoyWVd3alpuSnZiVVJoZEdWVWFXMWxjMzBzSUh0QWJHbHVheUJKYm5SbGNuWmhiQ05oWm5SbGNuMHNJSHRBYkdsdWF5QkpiblJsY25aaGJDTmlaV1p2Y21WOUxDQnZjaUI3UUd4cGJtc2dTVzUwWlhKMllXd2pabkp2YlVsVFQzMHVYRzRnS2lBcUlDb3FRV05qWlhOemIzSnpLaW9nVlhObElIdEFiR2x1YXlCSmJuUmxjblpoYkNOemRHRnlkSDBnWVc1a0lIdEFiR2x1YXlCSmJuUmxjblpoYkNObGJtUjlJSFJ2SUdkbGRDQjBhR1VnYzNSaGNuUWdZVzVrSUdWdVpDNWNiaUFxSUNvZ0tpcEpiblJsY25KdloyRjBhVzl1S2lvZ1ZHOGdZVzVoYkhsNlpTQjBhR1VnU1c1MFpYSjJZV3dzSUhWelpTQjdRR3hwYm1zZ1NXNTBaWEoyWVd3alkyOTFiblI5TENCN1FHeHBibXNnU1c1MFpYSjJZV3dqYkdWdVozUm9mU3dnZTBCc2FXNXJJRWx1ZEdWeWRtRnNJMmhoYzFOaGJXVjlMQ0I3UUd4cGJtc2dTVzUwWlhKMllXd2pZMjl1ZEdGcGJuTjlMQ0I3UUd4cGJtc2dTVzUwWlhKMllXd2phWE5CWm5SbGNuMHNJRzl5SUh0QWJHbHVheUJKYm5SbGNuWmhiQ05wYzBKbFptOXlaWDB1WEc0Z0tpQXFJQ29xVkhKaGJuTm1iM0p0WVhScGIyNHFLaUJVYnlCamNtVmhkR1VnYjNSb1pYSWdTVzUwWlhKMllXeHpJRzkxZENCdlppQjBhR2x6SUc5dVpTd2dkWE5sSUh0QWJHbHVheUJKYm5SbGNuWmhiQ056WlhSOUxDQjdRR3hwYm1zZ1NXNTBaWEoyWVd3amMzQnNhWFJCZEgwc0lIdEFiR2x1YXlCSmJuUmxjblpoYkNOemNHeHBkRUo1ZlN3Z2UwQnNhVzVySUVsdWRHVnlkbUZzSTJScGRtbGtaVVZ4ZFdGc2JIbDlMQ0I3UUd4cGJtc2dTVzUwWlhKMllXd2piV1Z5WjJWOUxDQjdRR3hwYm1zZ1NXNTBaWEoyWVd3amVHOXlmU3dnZTBCc2FXNXJJRWx1ZEdWeWRtRnNJM1Z1YVc5dWZTd2dlMEJzYVc1cklFbHVkR1Z5ZG1Gc0kybHVkR1Z5YzJWamRHbHZibjBzSUc5eUlIdEFiR2x1YXlCSmJuUmxjblpoYkNOa2FXWm1aWEpsYm1ObGZTNWNiaUFxSUNvZ0tpcERiMjF3WVhKcGMyOXVLaW9nVkc4Z1kyOXRjR0Z5WlNCMGFHbHpJRWx1ZEdWeWRtRnNJSFJ2SUdGdWIzUm9aWElnYjI1bExDQjFjMlVnZTBCc2FXNXJJRWx1ZEdWeWRtRnNJMlZ4ZFdGc2MzMHNJSHRBYkdsdWF5QkpiblJsY25aaGJDTnZkbVZ5YkdGd2MzMHNJSHRBYkdsdWF5QkpiblJsY25aaGJDTmhZblYwYzFOMFlYSjBmU3dnZTBCc2FXNXJJRWx1ZEdWeWRtRnNJMkZpZFhSelJXNWtmU3dnZTBCc2FXNXJJRWx1ZEdWeWRtRnNJMlZ1WjNWc1puTjlYRzRnS2lBcUlDb3FUM1YwY0hWMEtpb2dWRzhnWTI5dWRtVnlkQ0IwYUdVZ1NXNTBaWEoyWVd3Z2FXNTBieUJ2ZEdobGNpQnlaWEJ5WlhObGJuUmhkR2x2Ym5Nc0lITmxaU0I3UUd4cGJtc2dTVzUwWlhKMllXd2pkRzlUZEhKcGJtZDlMQ0I3UUd4cGJtc2dTVzUwWlhKMllXd2pkRzlKVTA5OUxDQjdRR3hwYm1zZ1NXNTBaWEoyWVd3amRHOUpVMDlFWVhSbGZTd2dlMEJzYVc1cklFbHVkR1Z5ZG1Gc0kzUnZTVk5QVkdsdFpYMHNJSHRBYkdsdWF5QkpiblJsY25aaGJDTjBiMFp2Y20xaGRIMHNJR0Z1WkNCN1FHeHBibXNnU1c1MFpYSjJZV3dqZEc5RWRYSmhkR2x2Ym4wdVhHNGdLaTljYm1WNGNHOXlkQ0JrWldaaGRXeDBJR05zWVhOeklFbHVkR1Z5ZG1Gc0lIdGNiaUFnTHlvcVhHNGdJQ0FxSUVCd2NtbDJZWFJsWEc0Z0lDQXFMMXh1SUNCamIyNXpkSEoxWTNSdmNpaGpiMjVtYVdjcElIdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkFZV05qWlhOeklIQnlhWFpoZEdWY2JpQWdJQ0FnS2k5Y2JpQWdJQ0IwYUdsekxuTWdQU0JqYjI1bWFXY3VjM1JoY25RN1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FHRmpZMlZ6Y3lCd2NtbDJZWFJsWEc0Z0lDQWdJQ292WEc0Z0lDQWdkR2hwY3k1bElEMGdZMjl1Wm1sbkxtVnVaRHRjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJBWVdOalpYTnpJSEJ5YVhaaGRHVmNiaUFnSUNBZ0tpOWNiaUFnSUNCMGFHbHpMbWx1ZG1Gc2FXUWdQU0JqYjI1bWFXY3VhVzUyWVd4cFpDQjhmQ0J1ZFd4c08xeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFQmhZMk5sYzNNZ2NISnBkbUYwWlZ4dUlDQWdJQ0FxTDF4dUlDQWdJSFJvYVhNdWFYTk1kWGh2YmtsdWRHVnlkbUZzSUQwZ2RISjFaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGNtVmhkR1VnWVc0Z2FXNTJZV3hwWkNCSmJuUmxjblpoYkM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSEpsWVhOdmJpQXRJSE5wYlhCc1pTQnpkSEpwYm1jZ2IyWWdkMmg1SUhSb2FYTWdTVzUwWlhKMllXd2dhWE1nYVc1MllXeHBaQzRnVTJodmRXeGtJRzV2ZENCamIyNTBZV2x1SUhCaGNtRnRaWFJsY25NZ2IzSWdZVzU1ZEdocGJtY2daV3h6WlNCa1lYUmhMV1JsY0dWdVpHVnVkRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyVjRjR3hoYm1GMGFXOXVQVzUxYkd4ZElDMGdiRzl1WjJWeUlHVjRjR3hoYm1GMGFXOXVMQ0J0WVhrZ2FXNWpiSFZrWlNCd1lYSmhiV1YwWlhKeklHRnVaQ0J2ZEdobGNpQjFjMlZtZFd3Z1pHVmlkV2RuYVc1bklHbHVabTl5YldGMGFXOXVYRzRnSUNBcUlFQnlaWFIxY200Z2UwbHVkR1Z5ZG1Gc2ZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHbHVkbUZzYVdRb2NtVmhjMjl1TENCbGVIQnNZVzVoZEdsdmJpQTlJRzUxYkd3cElIdGNiaUFnSUNCcFppQW9JWEpsWVhOdmJpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZG1Gc2FXUkJjbWQxYldWdWRFVnljbTl5S0Z3aWJtVmxaQ0IwYnlCemNHVmphV1o1SUdFZ2NtVmhjMjl1SUhSb1pTQkpiblJsY25aaGJDQnBjeUJwYm5aaGJHbGtYQ0lwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHbHVkbUZzYVdRZ1BTQnlaV0Z6YjI0Z2FXNXpkR0Z1WTJWdlppQkpiblpoYkdsa0lEOGdjbVZoYzI5dUlEb2dibVYzSUVsdWRtRnNhV1FvY21WaGMyOXVMQ0JsZUhCc1lXNWhkR2x2YmlrN1hHNWNiaUFnSUNCcFppQW9VMlYwZEdsdVozTXVkR2h5YjNkUGJrbHVkbUZzYVdRcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblpoYkdsa1NXNTBaWEoyWVd4RmNuSnZjaWhwYm5aaGJHbGtLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkpiblJsY25aaGJDaDdJR2x1ZG1Gc2FXUWdmU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaU0JoYmlCSmJuUmxjblpoYkNCbWNtOXRJR0VnYzNSaGNuUWdSR0YwWlZScGJXVWdZVzVrSUdGdUlHVnVaQ0JFWVhSbFZHbHRaUzRnU1c1amJIVnphWFpsSUc5bUlIUm9aU0J6ZEdGeWRDQmlkWFFnYm05MElIUm9aU0JsYm1RdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UkdGMFpWUnBiV1Y4UkdGMFpYeFBZbXBsWTNSOUlITjBZWEowWEc0Z0lDQXFJRUJ3WVhKaGJTQjdSR0YwWlZScGJXVjhSR0YwWlh4UFltcGxZM1I5SUdWdVpGeHVJQ0FnS2lCQWNtVjBkWEp1SUh0SmJuUmxjblpoYkgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCbWNtOXRSR0YwWlZScGJXVnpLSE4wWVhKMExDQmxibVFwSUh0Y2JpQWdJQ0JqYjI1emRDQmlkV2xzZEZOMFlYSjBJRDBnWm5KcFpXNWtiSGxFWVhSbFZHbHRaU2h6ZEdGeWRDa3NYRzRnSUNBZ0lDQmlkV2xzZEVWdVpDQTlJR1p5YVdWdVpHeDVSR0YwWlZScGJXVW9aVzVrS1R0Y2JseHVJQ0FnSUdOdmJuTjBJSFpoYkdsa1lYUmxSWEp5YjNJZ1BTQjJZV3hwWkdGMFpWTjBZWEowUlc1a0tHSjFhV3gwVTNSaGNuUXNJR0oxYVd4MFJXNWtLVHRjYmx4dUlDQWdJR2xtSUNoMllXeHBaR0YwWlVWeWNtOXlJRDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnU1c1MFpYSjJZV3dvZTF4dUlDQWdJQ0FnSUNCemRHRnlkRG9nWW5WcGJIUlRkR0Z5ZEN4Y2JpQWdJQ0FnSUNBZ1pXNWtPaUJpZFdsc2RFVnVaQ3hjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RtRnNhV1JoZEdWRmNuSnZjanRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0Z1SUVsdWRHVnlkbUZzSUdaeWIyMGdZU0J6ZEdGeWRDQkVZWFJsVkdsdFpTQmhibVFnWVNCRWRYSmhkR2x2YmlCMGJ5QmxlSFJsYm1RZ2RHOHVYRzRnSUNBcUlFQndZWEpoYlNCN1JHRjBaVlJwYldWOFJHRjBaWHhQWW1wbFkzUjlJSE4wWVhKMFhHNGdJQ0FxSUVCd1lYSmhiU0I3UkhWeVlYUnBiMjU4VDJKcVpXTjBmRzUxYldKbGNuMGdaSFZ5WVhScGIyNGdMU0IwYUdVZ2JHVnVaM1JvSUc5bUlIUm9aU0JKYm5SbGNuWmhiQzVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdTVzUwWlhKMllXeDlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdZV1owWlhJb2MzUmhjblFzSUdSMWNtRjBhVzl1S1NCN1hHNGdJQ0FnWTI5dWMzUWdaSFZ5SUQwZ1JIVnlZWFJwYjI0dVpuSnZiVVIxY21GMGFXOXVUR2xyWlNoa2RYSmhkR2x2Ymlrc1hHNGdJQ0FnSUNCa2RDQTlJR1p5YVdWdVpHeDVSR0YwWlZScGJXVW9jM1JoY25RcE8xeHVJQ0FnSUhKbGRIVnliaUJKYm5SbGNuWmhiQzVtY205dFJHRjBaVlJwYldWektHUjBMQ0JrZEM1d2JIVnpLR1IxY2lrcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhiaUJKYm5SbGNuWmhiQ0JtY205dElHRnVJR1Z1WkNCRVlYUmxWR2x0WlNCaGJtUWdZU0JFZFhKaGRHbHZiaUIwYnlCbGVIUmxibVFnWW1GamEzZGhjbVJ6SUhSdkxseHVJQ0FnS2lCQWNHRnlZVzBnZTBSaGRHVlVhVzFsZkVSaGRHVjhUMkpxWldOMGZTQmxibVJjYmlBZ0lDb2dRSEJoY21GdElIdEVkWEpoZEdsdmJueFBZbXBsWTNSOGJuVnRZbVZ5ZlNCa2RYSmhkR2x2YmlBdElIUm9aU0JzWlc1bmRHZ2diMllnZEdobElFbHVkR1Z5ZG1Gc0xseHVJQ0FnS2lCQWNtVjBkWEp1SUh0SmJuUmxjblpoYkgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCaVpXWnZjbVVvWlc1a0xDQmtkWEpoZEdsdmJpa2dlMXh1SUNBZ0lHTnZibk4wSUdSMWNpQTlJRVIxY21GMGFXOXVMbVp5YjIxRWRYSmhkR2x2Ymt4cGEyVW9aSFZ5WVhScGIyNHBMRnh1SUNBZ0lDQWdaSFFnUFNCbWNtbGxibVJzZVVSaGRHVlVhVzFsS0dWdVpDazdYRzRnSUNBZ2NtVjBkWEp1SUVsdWRHVnlkbUZzTG1aeWIyMUVZWFJsVkdsdFpYTW9aSFF1YldsdWRYTW9aSFZ5S1N3Z1pIUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaU0JoYmlCSmJuUmxjblpoYkNCbWNtOXRJR0Z1SUVsVFR5QTROakF4SUhOMGNtbHVaeTVjYmlBZ0lDb2dRV05qWlhCMGN5QmdQSE4wWVhKMFBpODhaVzVrUG1Bc0lHQThjM1JoY25RK0x6eGtkWEpoZEdsdmJqNWdMQ0JoYm1RZ1lEeGtkWEpoZEdsdmJqNHZQR1Z1WkQ1Z0lHWnZjbTFoZEhNdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0IwWlhoMElDMGdkR2hsSUVsVFR5QnpkSEpwYm1jZ2RHOGdjR0Z5YzJWY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRnR2Y0hSelhTQXRJRzl3ZEdsdmJuTWdkRzhnY0dGemN5QjdRR3hwYm1zZ1JHRjBaVlJwYldValpuSnZiVWxUVDMwZ1lXNWtJRzl3ZEdsdmJtRnNiSGtnZTBCc2FXNXJJRVIxY21GMGFXOXVJMlp5YjIxSlUwOTlYRzRnSUNBcUlFQnpaV1VnYUhSMGNITTZMeTlsYmk1M2FXdHBjR1ZrYVdFdWIzSm5MM2RwYTJrdlNWTlBYemcyTURFalZHbHRaVjlwYm5SbGNuWmhiSE5jYmlBZ0lDb2dRSEpsZEhWeWJpQjdTVzUwWlhKMllXeDlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabkp2YlVsVFR5aDBaWGgwTENCdmNIUnpLU0I3WEc0Z0lDQWdZMjl1YzNRZ1czTXNJR1ZkSUQwZ0tIUmxlSFFnZkh3Z1hDSmNJaWt1YzNCc2FYUW9YQ0l2WENJc0lESXBPMXh1SUNBZ0lHbG1JQ2h6SUNZbUlHVXBJSHRjYmlBZ0lDQWdJR3hsZENCemRHRnlkQ3dnYzNSaGNuUkpjMVpoYkdsa08xeHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnYzNSaGNuUWdQU0JFWVhSbFZHbHRaUzVtY205dFNWTlBLSE1zSUc5d2RITXBPMXh1SUNBZ0lDQWdJQ0J6ZEdGeWRFbHpWbUZzYVdRZ1BTQnpkR0Z5ZEM1cGMxWmhiR2xrTzF4dUlDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQnpkR0Z5ZEVselZtRnNhV1FnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYkdWMElHVnVaQ3dnWlc1a1NYTldZV3hwWkR0Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJR1Z1WkNBOUlFUmhkR1ZVYVcxbExtWnliMjFKVTA4b1pTd2diM0IwY3lrN1hHNGdJQ0FnSUNBZ0lHVnVaRWx6Vm1Gc2FXUWdQU0JsYm1RdWFYTldZV3hwWkR0Y2JpQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lDQWdaVzVrU1hOV1lXeHBaQ0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2MzUmhjblJKYzFaaGJHbGtJQ1ltSUdWdVpFbHpWbUZzYVdRcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFbHVkR1Z5ZG1Gc0xtWnliMjFFWVhSbFZHbHRaWE1vYzNSaGNuUXNJR1Z1WkNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2h6ZEdGeWRFbHpWbUZzYVdRcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pIVnlJRDBnUkhWeVlYUnBiMjR1Wm5KdmJVbFRUeWhsTENCdmNIUnpLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUjFjaTVwYzFaaGJHbGtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVsdWRHVnlkbUZzTG1GbWRHVnlLSE4wWVhKMExDQmtkWElwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHVnVaRWx6Vm1Gc2FXUXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaSFZ5SUQwZ1JIVnlZWFJwYjI0dVpuSnZiVWxUVHloekxDQnZjSFJ6S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR1IxY2k1cGMxWmhiR2xrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFbHVkR1Z5ZG1Gc0xtSmxabTl5WlNobGJtUXNJR1IxY2lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJRWx1ZEdWeWRtRnNMbWx1ZG1Gc2FXUW9YQ0oxYm5CaGNuTmhZbXhsWENJc0lHQjBhR1VnYVc1d2RYUWdYQ0lrZTNSbGVIUjlYQ0lnWTJGdUozUWdZbVVnY0dGeWMyVmtJR0Z6SUVsVFR5QTROakF4WUNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRMmhsWTJzZ2FXWWdZVzRnYjJKcVpXTjBJR2x6SUdGdUlFbHVkR1Z5ZG1Gc0xpQlhiM0pyY3lCaFkzSnZjM01nWTI5dWRHVjRkQ0JpYjNWdVpHRnlhV1Z6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnZYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2FYTkpiblJsY25aaGJDaHZLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDaHZJQ1ltSUc4dWFYTk1kWGh2YmtsdWRHVnlkbUZzS1NCOGZDQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIUm9aU0J6ZEdGeWRDQnZaaUIwYUdVZ1NXNTBaWEoyWVd4Y2JpQWdJQ29nUUhSNWNHVWdlMFJoZEdWVWFXMWxmVnh1SUNBZ0tpOWNiaUFnWjJWMElITjBZWEowS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG5NZ09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ2RHaGxJR1Z1WkNCdlppQjBhR1VnU1c1MFpYSjJZV3hjYmlBZ0lDb2dRSFI1Y0dVZ2UwUmhkR1ZVYVcxbGZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUdWdVpDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYzFaaGJHbGtJRDhnZEdocGN5NWxJRG9nYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSGRvWlhSb1pYSWdkR2hwY3lCSmJuUmxjblpoYkNkeklHVnVaQ0JwY3lCaGRDQnNaV0Z6ZENCcGRITWdjM1JoY25Rc0lHMWxZVzVwYm1jZ2RHaGhkQ0IwYUdVZ1NXNTBaWEoyWVd3Z2FYTnVKM1FnSjJKaFkydDNZWEprY3ljdVhHNGdJQ0FxSUVCMGVYQmxJSHRpYjI5c1pXRnVmVnh1SUNBZ0tpOWNiaUFnWjJWMElHbHpWbUZzYVdRb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzUyWVd4cFpGSmxZWE52YmlBOVBUMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJR1Z5Y205eUlHTnZaR1VnYVdZZ2RHaHBjeUJKYm5SbGNuWmhiQ0JwY3lCcGJuWmhiR2xrTENCdmNpQnVkV3hzSUdsbUlIUm9aU0JKYm5SbGNuWmhiQ0JwY3lCMllXeHBaRnh1SUNBZ0tpQkFkSGx3WlNCN2MzUnlhVzVuZlZ4dUlDQWdLaTljYmlBZ1oyVjBJR2x1ZG1Gc2FXUlNaV0Z6YjI0b0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzUyWVd4cFpDQS9JSFJvYVhNdWFXNTJZV3hwWkM1eVpXRnpiMjRnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWVc0Z1pYaHdiR0Z1WVhScGIyNGdiMllnZDJoNUlIUm9hWE1nU1c1MFpYSjJZV3dnWW1WallXMWxJR2x1ZG1Gc2FXUXNJRzl5SUc1MWJHd2dhV1lnZEdobElFbHVkR1Z5ZG1Gc0lHbHpJSFpoYkdsa1hHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2FXNTJZV3hwWkVWNGNHeGhibUYwYVc5dUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx1ZG1Gc2FXUWdQeUIwYUdsekxtbHVkbUZzYVdRdVpYaHdiR0Z1WVhScGIyNGdPaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdkR2hsSUd4bGJtZDBhQ0J2WmlCMGFHVWdTVzUwWlhKMllXd2dhVzRnZEdobElITndaV05wWm1sbFpDQjFibWwwTGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkVzVwZENBdElIUm9aU0IxYm1sMElDaHpkV05vSUdGeklDZG9iM1Z5Y3ljZ2IzSWdKMlJoZVhNbktTQjBieUJ5WlhSMWNtNGdkR2hsSUd4bGJtZDBhQ0JwYmk1Y2JpQWdJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnYkdWdVozUm9LSFZ1YVhRZ1BTQmNJbTFwYkd4cGMyVmpiMjVrYzF3aUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JSFJvYVhNdWRHOUVkWEpoZEdsdmJpZ3VMaTViZFc1cGRGMHBMbWRsZENoMWJtbDBLU0E2SUU1aFRqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSFJvWlNCamIzVnVkQ0J2WmlCdGFXNTFkR1Z6TENCb2IzVnljeXdnWkdGNWN5d2diVzl1ZEdoekxDQnZjaUI1WldGeWN5QnBibU5zZFdSbFpDQnBiaUIwYUdVZ1NXNTBaWEoyWVd3c0lHVjJaVzRnYVc0Z2NHRnlkQzVjYmlBZ0lDb2dWVzVzYVd0bElIdEFiR2x1YXlCSmJuUmxjblpoYkNOc1pXNW5kR2g5SUhSb2FYTWdZMjkxYm5SeklITmxZM1JwYjI1eklHOW1JSFJvWlNCallXeGxibVJoY2l3Z2JtOTBJSEJsY21sdlpITWdiMllnZEdsdFpTd2daUzVuTGlCemNHVmphV1o1YVc1bklDZGtZWGtuWEc0Z0lDQXFJR0Z6YTNNZ0ozZG9ZWFFnWkdGMFpYTWdZWEpsSUdsdVkyeDFaR1ZrSUdsdUlIUm9hWE1nYVc1MFpYSjJZV3cvSnl3Z2JtOTBJQ2RvYjNjZ2JXRnVlU0JrWVhseklHeHZibWNnYVhNZ2RHaHBjeUJwYm5SbGNuWmhiRDhuWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJkVzVwZEQwbmJXbHNiR2x6WldOdmJtUnpKMTBnTFNCMGFHVWdkVzVwZENCdlppQjBhVzFsSUhSdklHTnZkVzUwTGx4dUlDQWdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JqYjNWdWRDaDFibWwwSUQwZ1hDSnRhV3hzYVhObFkyOXVaSE5jSWlrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnVG1GT08xeHVJQ0FnSUdOdmJuTjBJSE4wWVhKMElEMGdkR2hwY3k1emRHRnlkQzV6ZEdGeWRFOW1LSFZ1YVhRcExGeHVJQ0FnSUNBZ1pXNWtJRDBnZEdocGN5NWxibVF1YzNSaGNuUlBaaWgxYm1sMEtUdGNiaUFnSUNCeVpYUjFjbTRnVFdGMGFDNW1iRzl2Y2lobGJtUXVaR2xtWmloemRHRnlkQ3dnZFc1cGRDa3VaMlYwS0hWdWFYUXBLU0FySURFN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QjNhR1YwYUdWeUlIUm9hWE1nU1c1MFpYSjJZV3duY3lCemRHRnlkQ0JoYm1RZ1pXNWtJR0Z5WlNCaWIzUm9JR2x1SUhSb1pTQnpZVzFsSUhWdWFYUWdiMllnZEdsdFpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnZFc1cGRDQXRJSFJvWlNCMWJtbDBJRzltSUhScGJXVWdkRzhnWTJobFkyc2djMkZ0Wlc1bGMzTWdiMjVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdZbTl2YkdWaGJuMWNiaUFnSUNvdlhHNGdJR2hoYzFOaGJXVW9kVzVwZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG1selJXMXdkSGtvS1NCOGZDQjBhR2x6TG1VdWJXbHVkWE1vTVNrdWFHRnpVMkZ0WlNoMGFHbHpMbk1zSUhWdWFYUXBJRG9nWm1Gc2MyVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJSGRvWlhSb1pYSWdkR2hwY3lCSmJuUmxjblpoYkNCb1lYTWdkR2hsSUhOaGJXVWdjM1JoY25RZ1lXNWtJR1Z1WkNCRVlYUmxWR2x0WlhNdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCcGMwVnRjSFI1S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTXVkbUZzZFdWUFppZ3BJRDA5UFNCMGFHbHpMbVV1ZG1Gc2RXVlBaaWdwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5YmlCM2FHVjBhR1Z5SUhSb2FYTWdTVzUwWlhKMllXd25jeUJ6ZEdGeWRDQnBjeUJoWm5SbGNpQjBhR1VnYzNCbFkybG1hV1ZrSUVSaGRHVlVhVzFsTGx4dUlDQWdLaUJBY0dGeVlXMGdlMFJoZEdWVWFXMWxmU0JrWVhSbFZHbHRaVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdGliMjlzWldGdWZWeHVJQ0FnS2k5Y2JpQWdhWE5CWm5SbGNpaGtZWFJsVkdsdFpTa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0tTQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y3lBK0lHUmhkR1ZVYVcxbE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJpQjNhR1YwYUdWeUlIUm9hWE1nU1c1MFpYSjJZV3duY3lCbGJtUWdhWE1nWW1WbWIzSmxJSFJvWlNCemNHVmphV1pwWldRZ1JHRjBaVlJwYldVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UkdGMFpWUnBiV1Y5SUdSaGRHVlVhVzFsWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0JwYzBKbFptOXlaU2hrWVhSbFZHbHRaU2tnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpTQThQU0JrWVhSbFZHbHRaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnZDJobGRHaGxjaUIwYUdseklFbHVkR1Z5ZG1Gc0lHTnZiblJoYVc1eklIUm9aU0J6Y0dWamFXWnBaV1FnUkdGMFpWUnBiV1V1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdSR0YwWlZScGJXVjlJR1JoZEdWVWFXMWxYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQmpiMjUwWVdsdWN5aGtZWFJsVkdsdFpTa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0tTQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y3lBOFBTQmtZWFJsVkdsdFpTQW1KaUIwYUdsekxtVWdQaUJrWVhSbFZHbHRaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCY0lsTmxkSE5jSWlCMGFHVWdjM1JoY25RZ1lXNWtMMjl5SUdWdVpDQmtZWFJsY3k0Z1VtVjBkWEp1Y3lCaElHNWxkMng1TFdOdmJuTjBjblZqZEdWa0lFbHVkR1Z5ZG1Gc0xseHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnZG1Gc2RXVnpJQzBnZEdobElIWmhiSFZsY3lCMGJ5QnpaWFJjYmlBZ0lDb2dRSEJoY21GdElIdEVZWFJsVkdsdFpYMGdkbUZzZFdWekxuTjBZWEowSUMwZ2RHaGxJSE4wWVhKMGFXNW5JRVJoZEdWVWFXMWxYRzRnSUNBcUlFQndZWEpoYlNCN1JHRjBaVlJwYldWOUlIWmhiSFZsY3k1bGJtUWdMU0IwYUdVZ1pXNWthVzVuSUVSaGRHVlVhVzFsWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMGx1ZEdWeWRtRnNmVnh1SUNBZ0tpOWNiaUFnYzJWMEtIc2djM1JoY25Rc0lHVnVaQ0I5SUQwZ2UzMHBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdjbVYwZFhKdUlFbHVkR1Z5ZG1Gc0xtWnliMjFFWVhSbFZHbHRaWE1vYzNSaGNuUWdmSHdnZEdocGN5NXpMQ0JsYm1RZ2ZId2dkR2hwY3k1bEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJUY0d4cGRDQjBhR2x6SUVsdWRHVnlkbUZzSUdGMElHVmhZMmdnYjJZZ2RHaGxJSE53WldOcFptbGxaQ0JFWVhSbFZHbHRaWE5jYmlBZ0lDb2dRSEJoY21GdElIc3VMaTVFWVhSbFZHbHRaWDBnWkdGMFpWUnBiV1Z6SUMwZ2RHaGxJSFZ1YVhRZ2IyWWdkR2x0WlNCMGJ5QmpiM1Z1ZEM1Y2JpQWdJQ29nUUhKbGRIVnliaUI3UVhKeVlYbDlYRzRnSUNBcUwxeHVJQ0J6Y0d4cGRFRjBLQzR1TG1SaGRHVlVhVzFsY3lrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnVzEwN1hHNGdJQ0FnWTI5dWMzUWdjMjl5ZEdWa0lEMGdaR0YwWlZScGJXVnpYRzRnSUNBZ0lDQWdJQzV0WVhBb1puSnBaVzVrYkhsRVlYUmxWR2x0WlNsY2JpQWdJQ0FnSUNBZ0xtWnBiSFJsY2lnb1pDa2dQVDRnZEdocGN5NWpiMjUwWVdsdWN5aGtLU2xjYmlBZ0lDQWdJQ0FnTG5OdmNuUW9LU3hjYmlBZ0lDQWdJSEpsYzNWc2RITWdQU0JiWFR0Y2JpQWdJQ0JzWlhRZ2V5QnpJSDBnUFNCMGFHbHpMRnh1SUNBZ0lDQWdhU0E5SURBN1hHNWNiaUFnSUNCM2FHbHNaU0FvY3lBOElIUm9hWE11WlNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWVdSa1pXUWdQU0J6YjNKMFpXUmJhVjBnZkh3Z2RHaHBjeTVsTEZ4dUlDQWdJQ0FnSUNCdVpYaDBJRDBnSzJGa1pHVmtJRDRnSzNSb2FYTXVaU0EvSUhSb2FYTXVaU0E2SUdGa1pHVmtPMXh1SUNBZ0lDQWdjbVZ6ZFd4MGN5NXdkWE5vS0VsdWRHVnlkbUZzTG1aeWIyMUVZWFJsVkdsdFpYTW9jeXdnYm1WNGRDa3BPMXh1SUNBZ0lDQWdjeUE5SUc1bGVIUTdYRzRnSUNBZ0lDQnBJQ3M5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2RITTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVTNCc2FYUWdkR2hwY3lCSmJuUmxjblpoYkNCcGJuUnZJSE50WVd4c1pYSWdTVzUwWlhKMllXeHpMQ0JsWVdOb0lHOW1JSFJvWlNCemNHVmphV1pwWldRZ2JHVnVaM1JvTGx4dUlDQWdLaUJNWldaMElHOTJaWElnZEdsdFpTQnBjeUJuY205MWNHVmtJR2x1ZEc4Z1lTQnpiV0ZzYkdWeUlHbHVkR1Z5ZG1Gc1hHNGdJQ0FxSUVCd1lYSmhiU0I3UkhWeVlYUnBiMjU4VDJKcVpXTjBmRzUxYldKbGNuMGdaSFZ5WVhScGIyNGdMU0JVYUdVZ2JHVnVaM1JvSUc5bUlHVmhZMmdnY21WemRXeDBhVzVuSUdsdWRHVnlkbUZzTGx4dUlDQWdLaUJBY21WMGRYSnVJSHRCY25KaGVYMWNiaUFnSUNvdlhHNGdJSE53YkdsMFFua29aSFZ5WVhScGIyNHBJSHRjYmlBZ0lDQmpiMjV6ZENCa2RYSWdQU0JFZFhKaGRHbHZiaTVtY205dFJIVnlZWFJwYjI1TWFXdGxLR1IxY21GMGFXOXVLVHRjYmx4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtJSHg4SUNGa2RYSXVhWE5XWVd4cFpDQjhmQ0JrZFhJdVlYTW9YQ0p0YVd4c2FYTmxZMjl1WkhOY0lpa2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCYlhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCc1pYUWdleUJ6SUgwZ1BTQjBhR2x6TEZ4dUlDQWdJQ0FnYVdSNElEMGdNU3hjYmlBZ0lDQWdJRzVsZUhRN1hHNWNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnVzEwN1hHNGdJQ0FnZDJocGJHVWdLSE1nUENCMGFHbHpMbVVwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR0ZrWkdWa0lEMGdkR2hwY3k1emRHRnlkQzV3YkhWektHUjFjaTV0WVhCVmJtbDBjeWdvZUNrZ1BUNGdlQ0FxSUdsa2VDa3BPMXh1SUNBZ0lDQWdibVY0ZENBOUlDdGhaR1JsWkNBK0lDdDBhR2x6TG1VZ1B5QjBhR2x6TG1VZ09pQmhaR1JsWkR0Y2JpQWdJQ0FnSUhKbGMzVnNkSE11Y0hWemFDaEpiblJsY25aaGJDNW1jbTl0UkdGMFpWUnBiV1Z6S0hNc0lHNWxlSFFwS1R0Y2JpQWdJQ0FnSUhNZ1BTQnVaWGgwTzF4dUlDQWdJQ0FnYVdSNElDczlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZEhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVM0JzYVhRZ2RHaHBjeUJKYm5SbGNuWmhiQ0JwYm5SdklIUm9aU0J6Y0dWamFXWnBaV1FnYm5WdFltVnlJRzltSUhOdFlXeHNaWElnYVc1MFpYSjJZV3h6TGx4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdiblZ0WW1WeVQyWlFZWEowY3lBdElGUm9aU0J1ZFcxaVpYSWdiMllnU1c1MFpYSjJZV3h6SUhSdklHUnBkbWxrWlNCMGFHVWdTVzUwWlhKMllXd2dhVzUwYnk1Y2JpQWdJQ29nUUhKbGRIVnliaUI3UVhKeVlYbDlYRzRnSUNBcUwxeHVJQ0JrYVhacFpHVkZjWFZoYkd4NUtHNTFiV0psY2s5bVVHRnlkSE1wSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11YVhOV1lXeHBaQ2tnY21WMGRYSnVJRnRkTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5Od2JHbDBRbmtvZEdocGN5NXNaVzVuZEdnb0tTQXZJRzUxYldKbGNrOW1VR0Z5ZEhNcExuTnNhV05sS0RBc0lHNTFiV0psY2s5bVVHRnlkSE1wTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5YmlCM2FHVjBhR1Z5SUhSb2FYTWdTVzUwWlhKMllXd2diM1psY214aGNITWdkMmwwYUNCMGFHVWdjM0JsWTJsbWFXVmtJRWx1ZEdWeWRtRnNYRzRnSUNBcUlFQndZWEpoYlNCN1NXNTBaWEoyWVd4OUlHOTBhR1Z5WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0J2ZG1WeWJHRndjeWh2ZEdobGNpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVVnUGlCdmRHaGxjaTV6SUNZbUlIUm9hWE11Y3lBOElHOTBhR1Z5TG1VN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdUlIZG9aWFJvWlhJZ2RHaHBjeUJKYm5SbGNuWmhiQ2R6SUdWdVpDQnBjeUJoWkdwaFkyVnVkQ0IwYnlCMGFHVWdjM0JsWTJsbWFXVmtJRWx1ZEdWeWRtRnNKM01nYzNSaGNuUXVYRzRnSUNBcUlFQndZWEpoYlNCN1NXNTBaWEoyWVd4OUlHOTBhR1Z5WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0JoWW5WMGMxTjBZWEowS0c5MGFHVnlLU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUXBJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0J5WlhSMWNtNGdLM1JvYVhNdVpTQTlQVDBnSzI5MGFHVnlMbk03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1SUhkb1pYUm9aWElnZEdocGN5QkpiblJsY25aaGJDZHpJSE4wWVhKMElHbHpJR0ZrYW1GalpXNTBJSFJ2SUhSb1pTQnpjR1ZqYVdacFpXUWdTVzUwWlhKMllXd25jeUJsYm1RdVhHNGdJQ0FxSUVCd1lYSmhiU0I3U1c1MFpYSjJZV3g5SUc5MGFHVnlYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQmhZblYwYzBWdVpDaHZkR2hsY2lrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2NtVjBkWEp1SUN0dmRHaGxjaTVsSUQwOVBTQXJkR2hwY3k1ek8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJpQjNhR1YwYUdWeUlIUm9hWE1nU1c1MFpYSjJZV3dnWlc1bmRXeG1jeUIwYUdVZ2MzUmhjblFnWVc1a0lHVnVaQ0J2WmlCMGFHVWdjM0JsWTJsbWFXVmtJRWx1ZEdWeWRtRnNMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwbHVkR1Z5ZG1Gc2ZTQnZkR2hsY2x4dUlDQWdLaUJBY21WMGRYSnVJSHRpYjI5c1pXRnVmVnh1SUNBZ0tpOWNiaUFnWlc1bmRXeG1jeWh2ZEdobGNpa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0tTQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y3lBOFBTQnZkR2hsY2k1eklDWW1JSFJvYVhNdVpTQStQU0J2ZEdobGNpNWxPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnliaUIzYUdWMGFHVnlJSFJvYVhNZ1NXNTBaWEoyWVd3Z2FHRnpJSFJvWlNCellXMWxJSE4wWVhKMElHRnVaQ0JsYm1RZ1lYTWdkR2hsSUhOd1pXTnBabWxsWkNCSmJuUmxjblpoYkM1Y2JpQWdJQ29nUUhCaGNtRnRJSHRKYm5SbGNuWmhiSDBnYjNSb1pYSmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1ltOXZiR1ZoYm4xY2JpQWdJQ292WEc0Z0lHVnhkV0ZzY3lodmRHaGxjaWtnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtJSHg4SUNGdmRHaGxjaTVwYzFaaGJHbGtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWN5NWxjWFZoYkhNb2IzUm9aWEl1Y3lrZ0ppWWdkR2hwY3k1bExtVnhkV0ZzY3lodmRHaGxjaTVsS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z1lXNGdTVzUwWlhKMllXd2djbVZ3Y21WelpXNTBhVzVuSUhSb1pTQnBiblJsY25ObFkzUnBiMjRnYjJZZ2RHaHBjeUJKYm5SbGNuWmhiQ0JoYm1RZ2RHaGxJSE53WldOcFptbGxaQ0JKYm5SbGNuWmhiQzVjYmlBZ0lDb2dVM0JsWTJsbWFXTmhiR3g1TENCMGFHVWdjbVZ6ZFd4MGFXNW5JRWx1ZEdWeWRtRnNJR2hoY3lCMGFHVWdiV0Y0YVcxMWJTQnpkR0Z5ZENCMGFXMWxJR0Z1WkNCMGFHVWdiV2x1YVcxMWJTQmxibVFnZEdsdFpTQnZaaUIwYUdVZ2RIZHZJRWx1ZEdWeWRtRnNjeTVjYmlBZ0lDb2dVbVYwZFhKdWN5QnVkV3hzSUdsbUlIUm9aU0JwYm5SbGNuTmxZM1JwYjI0Z2FYTWdaVzF3ZEhrc0lHMWxZVzVwYm1jc0lIUm9aU0JwYm5SbGNuWmhiSE1nWkc5dUozUWdhVzUwWlhKelpXTjBMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwbHVkR1Z5ZG1Gc2ZTQnZkR2hsY2x4dUlDQWdLaUJBY21WMGRYSnVJSHRKYm5SbGNuWmhiSDFjYmlBZ0lDb3ZYRzRnSUdsdWRHVnljMlZqZEdsdmJpaHZkR2hsY2lrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCamIyNXpkQ0J6SUQwZ2RHaHBjeTV6SUQ0Z2IzUm9aWEl1Y3lBL0lIUm9hWE11Y3lBNklHOTBhR1Z5TG5Nc1hHNGdJQ0FnSUNCbElEMGdkR2hwY3k1bElEd2diM1JvWlhJdVpTQS9JSFJvYVhNdVpTQTZJRzkwYUdWeUxtVTdYRzVjYmlBZ0lDQnBaaUFvY3lBK1BTQmxLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFbHVkR1Z5ZG1Gc0xtWnliMjFFWVhSbFZHbHRaWE1vY3l3Z1pTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJpQmhiaUJKYm5SbGNuWmhiQ0J5WlhCeVpYTmxiblJwYm1jZ2RHaGxJSFZ1YVc5dUlHOW1JSFJvYVhNZ1NXNTBaWEoyWVd3Z1lXNWtJSFJvWlNCemNHVmphV1pwWldRZ1NXNTBaWEoyWVd3dVhHNGdJQ0FxSUZOd1pXTnBabWxqWVd4c2VTd2dkR2hsSUhKbGMzVnNkR2x1WnlCSmJuUmxjblpoYkNCb1lYTWdkR2hsSUcxcGJtbHRkVzBnYzNSaGNuUWdkR2x0WlNCaGJtUWdkR2hsSUcxaGVHbHRkVzBnWlc1a0lIUnBiV1VnYjJZZ2RHaGxJSFIzYnlCSmJuUmxjblpoYkhNdVhHNGdJQ0FxSUVCd1lYSmhiU0I3U1c1MFpYSjJZV3g5SUc5MGFHVnlYRzRnSUNBcUlFQnlaWFIxY200Z2UwbHVkR1Z5ZG1Gc2ZWeHVJQ0FnS2k5Y2JpQWdkVzVwYjI0b2IzUm9aWElwSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11YVhOV1lXeHBaQ2tnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnWTI5dWMzUWdjeUE5SUhSb2FYTXVjeUE4SUc5MGFHVnlMbk1nUHlCMGFHbHpMbk1nT2lCdmRHaGxjaTV6TEZ4dUlDQWdJQ0FnWlNBOUlIUm9hWE11WlNBK0lHOTBhR1Z5TG1VZ1B5QjBhR2x6TG1VZ09pQnZkR2hsY2k1bE8xeHVJQ0FnSUhKbGRIVnliaUJKYm5SbGNuWmhiQzVtY205dFJHRjBaVlJwYldWektITXNJR1VwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFMWxjbWRsSUdGdUlHRnljbUY1SUc5bUlFbHVkR1Z5ZG1Gc2N5QnBiblJ2SUdFZ1pYRjFhWFpoYkdWdWRDQnRhVzVwYldGc0lITmxkQ0J2WmlCSmJuUmxjblpoYkhNdVhHNGdJQ0FxSUVOdmJXSnBibVZ6SUc5MlpYSnNZWEJ3YVc1bklHRnVaQ0JoWkdwaFkyVnVkQ0JKYm5SbGNuWmhiSE11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdRWEp5WVhsOUlHbHVkR1Z5ZG1Gc2MxeHVJQ0FnS2lCQWNtVjBkWEp1SUh0QmNuSmhlWDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJ0WlhKblpTaHBiblJsY25aaGJITXBJSHRjYmlBZ0lDQmpiMjV6ZENCYlptOTFibVFzSUdacGJtRnNYU0E5SUdsdWRHVnlkbUZzYzF4dUlDQWdJQ0FnTG5OdmNuUW9LR0VzSUdJcElEMCtJR0V1Y3lBdElHSXVjeWxjYmlBZ0lDQWdJQzV5WldSMVkyVW9YRzRnSUNBZ0lDQWdJQ2hiYzI5bVlYSXNJR04xY25KbGJuUmRMQ0JwZEdWdEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZqZFhKeVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1czTnZabUZ5TENCcGRHVnRYVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHTjFjbkpsYm5RdWIzWmxjbXhoY0hNb2FYUmxiU2tnZkh3Z1kzVnljbVZ1ZEM1aFluVjBjMU4wWVhKMEtHbDBaVzBwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdXM052Wm1GeUxDQmpkWEp5Wlc1MExuVnVhVzl1S0dsMFpXMHBYVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGdHpiMlpoY2k1amIyNWpZWFFvVzJOMWNuSmxiblJkS1N3Z2FYUmxiVjA3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0JiVzEwc0lHNTFiR3hkWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJR2xtSUNobWFXNWhiQ2tnZTF4dUlDQWdJQ0FnWm05MWJtUXVjSFZ6YUNobWFXNWhiQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCbWIzVnVaRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnWVc0Z1lYSnlZWGtnYjJZZ1NXNTBaWEoyWVd4eklISmxjSEpsYzJWdWRHbHVaeUIwYUdVZ2MzQmhibk1nYjJZZ2RHbHRaU0IwYUdGMElHOXViSGtnWVhCd1pXRnlJR2x1SUc5dVpTQnZaaUIwYUdVZ2MzQmxZMmxtYVdWa0lFbHVkR1Z5ZG1Gc2N5NWNiaUFnSUNvZ1FIQmhjbUZ0SUh0QmNuSmhlWDBnYVc1MFpYSjJZV3h6WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMEZ5Y21GNWZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklIaHZjaWhwYm5SbGNuWmhiSE1wSUh0Y2JpQWdJQ0JzWlhRZ2MzUmhjblFnUFNCdWRXeHNMRnh1SUNBZ0lDQWdZM1Z5Y21WdWRFTnZkVzUwSUQwZ01EdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnVzEwc1hHNGdJQ0FnSUNCbGJtUnpJRDBnYVc1MFpYSjJZV3h6TG0xaGNDZ29hU2tnUFQ0Z1cxeHVJQ0FnSUNBZ0lDQjdJSFJwYldVNklHa3VjeXdnZEhsd1pUb2dYQ0p6WENJZ2ZTeGNiaUFnSUNBZ0lDQWdleUIwYVcxbE9pQnBMbVVzSUhSNWNHVTZJRndpWlZ3aUlIMHNYRzRnSUNBZ0lDQmRLU3hjYmlBZ0lDQWdJR1pzWVhSMFpXNWxaQ0E5SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVqYjI1allYUW9MaTR1Wlc1a2N5a3NYRzRnSUNBZ0lDQmhjbklnUFNCbWJHRjBkR1Z1WldRdWMyOXlkQ2dvWVN3Z1lpa2dQVDRnWVM1MGFXMWxJQzBnWWk1MGFXMWxLVHRjYmx4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnYVNCdlppQmhjbklwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJEYjNWdWRDQXJQU0JwTG5SNWNHVWdQVDA5SUZ3aWMxd2lJRDhnTVNBNklDMHhPMXh1WEc0Z0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEVOdmRXNTBJRDA5UFNBeEtTQjdYRzRnSUNBZ0lDQWdJSE4wWVhKMElEMGdhUzUwYVcxbE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSE4wWVhKMElDWW1JQ3R6ZEdGeWRDQWhQVDBnSzJrdWRHbHRaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxjM1ZzZEhNdWNIVnphQ2hKYm5SbGNuWmhiQzVtY205dFJHRjBaVlJwYldWektITjBZWEowTENCcExuUnBiV1VwS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSE4wWVhKMElEMGdiblZzYkR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdTVzUwWlhKMllXd3ViV1Z5WjJVb2NtVnpkV3gwY3lrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdUlHRnVJRWx1ZEdWeWRtRnNJSEpsY0hKbGMyVnVkR2x1WnlCMGFHVWdjM0JoYmlCdlppQjBhVzFsSUdsdUlIUm9hWE1nU1c1MFpYSjJZV3dnZEdoaGRDQmtiMlZ6YmlkMElHOTJaWEpzWVhBZ2QybDBhQ0JoYm5rZ2IyWWdkR2hsSUhOd1pXTnBabWxsWkNCSmJuUmxjblpoYkhNdVhHNGdJQ0FxSUVCd1lYSmhiU0I3TGk0dVNXNTBaWEoyWVd4OUlHbHVkR1Z5ZG1Gc2MxeHVJQ0FnS2lCQWNtVjBkWEp1SUh0QmNuSmhlWDFjYmlBZ0lDb3ZYRzRnSUdScFptWmxjbVZ1WTJVb0xpNHVhVzUwWlhKMllXeHpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFbHVkR1Z5ZG1Gc0xuaHZjaWhiZEdocGMxMHVZMjl1WTJGMEtHbHVkR1Z5ZG1Gc2N5a3BYRzRnSUNBZ0lDQXViV0Z3S0NocEtTQTlQaUIwYUdsekxtbHVkR1Z5YzJWamRHbHZiaWhwS1NsY2JpQWdJQ0FnSUM1bWFXeDBaWElvS0drcElEMCtJR2tnSmlZZ0lXa3VhWE5GYlhCMGVTZ3BLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdFZ2MzUnlhVzVuSUhKbGNISmxjMlZ1ZEdGMGFXOXVJRzltSUhSb2FYTWdTVzUwWlhKMllXd2dZWEJ3Y205d2NtbGhkR1VnWm05eUlHUmxZblZuWjJsdVp5NWNiaUFnSUNvZ1FISmxkSFZ5YmlCN2MzUnlhVzVuZlZ4dUlDQWdLaTljYmlBZ2RHOVRkSEpwYm1jb0tTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCSlRsWkJURWxFTzF4dUlDQWdJSEpsZEhWeWJpQmdXeVI3ZEdocGN5NXpMblJ2U1ZOUEtDbDlJRngxTWpBeE15QWtlM1JvYVhNdVpTNTBiMGxUVHlncGZTbGdPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWVc0Z1NWTlBJRGcyTURFdFkyOXRjR3hwWVc1MElITjBjbWx1WnlCeVpYQnlaWE5sYm5SaGRHbHZiaUJ2WmlCMGFHbHpJRWx1ZEdWeWRtRnNMbHh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2Wlc0dWQybHJhWEJsWkdsaExtOXlaeTkzYVd0cEwwbFRUMTg0TmpBeEkxUnBiV1ZmYVc1MFpYSjJZV3h6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJ6SUMwZ1ZHaGxJSE5oYldVZ2IzQjBhVzl1Y3lCaGN5QjdRR3hwYm1zZ1JHRjBaVlJwYldVamRHOUpVMDk5WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSFJ2U1ZOUEtHOXdkSE1wSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11YVhOV1lXeHBaQ2tnY21WMGRYSnVJRWxPVmtGTVNVUTdYRzRnSUNBZ2NtVjBkWEp1SUdBa2UzUm9hWE11Y3k1MGIwbFRUeWh2Y0hSektYMHZKSHQwYUdsekxtVXVkRzlKVTA4b2IzQjBjeWw5WUR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhMV052YlhCc2FXRnVkQ0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdaR0YwWlNCdlppQjBhR2x6SUVsdWRHVnlkbUZzTGx4dUlDQWdLaUJVYUdVZ2RHbHRaU0JqYjIxd2IyNWxiblJ6SUdGeVpTQnBaMjV2Y21Wa0xseHVJQ0FnS2lCQWMyVmxJR2gwZEhCek9pOHZaVzR1ZDJscmFYQmxaR2xoTG05eVp5OTNhV3RwTDBsVFQxODROakF4STFScGJXVmZhVzUwWlhKMllXeHpYRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZTVk5QUkdGMFpTZ3BJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlFbE9Wa0ZNU1VRN1hHNGdJQ0FnY21WMGRYSnVJR0FrZTNSb2FYTXVjeTUwYjBsVFQwUmhkR1VvS1gwdkpIdDBhR2x6TG1VdWRHOUpVMDlFWVhSbEtDbDlZRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlFbFRUeUE0TmpBeExXTnZiWEJzYVdGdWRDQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHbHRaU0J2WmlCMGFHbHpJRWx1ZEdWeWRtRnNMbHh1SUNBZ0tpQlVhR1VnWkdGMFpTQmpiMjF3YjI1bGJuUnpJR0Z5WlNCcFoyNXZjbVZrTGx4dUlDQWdLaUJBYzJWbElHaDBkSEJ6T2k4dlpXNHVkMmxyYVhCbFpHbGhMbTl5Wnk5M2FXdHBMMGxUVDE4NE5qQXhJMVJwYldWZmFXNTBaWEoyWVd4elhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2Y0hSeklDMGdWR2hsSUhOaGJXVWdiM0IwYVc5dWN5QmhjeUI3UUd4cGJtc2dSR0YwWlZScGJXVWpkRzlKVTA5OVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhSdlNWTlBWR2x0WlNodmNIUnpLU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUXBJSEpsZEhWeWJpQkpUbFpCVEVsRU8xeHVJQ0FnSUhKbGRIVnliaUJnSkh0MGFHbHpMbk11ZEc5SlUwOVVhVzFsS0c5d2RITXBmUzhrZTNSb2FYTXVaUzUwYjBsVFQxUnBiV1VvYjNCMGN5bDlZRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdFZ2MzUnlhVzVuSUhKbGNISmxjMlZ1ZEdGMGFXOXVJRzltSUhSb2FYTWdTVzUwWlhKMllXd2dabTl5YldGMGRHVmtJR0ZqWTI5eVpHbHVaeUIwYnlCMGFHVWdjM0JsWTJsbWFXVmtJR1p2Y20xaGRDQnpkSEpwYm1jdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JrWVhSbFJtOXliV0YwSUMwZ2RHaGxJR1p2Y20xaGRDQnpkSEpwYm1jdUlGUm9hWE1nYzNSeWFXNW5JR1p2Y20xaGRITWdkR2hsSUhOMFlYSjBJR0Z1WkNCbGJtUWdkR2x0WlM0Z1UyVmxJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMFp2Y20xaGRIMGdabTl5SUdSbGRHRnBiSE11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJ6SUMwZ2IzQjBhVzl1YzF4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMjl3ZEhNdWMyVndZWEpoZEc5eUlEMGdJQ2NnWEhVeU1ERXpJQ2RkSUMwZ1lTQnpaWEJoY21GMGIzSWdkRzhnY0d4aFkyVWdZbVYwZDJWbGJpQjBhR1VnYzNSaGNuUWdZVzVrSUdWdVpDQnlaWEJ5WlhObGJuUmhkR2x2Ym5OY2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnZEc5R2IzSnRZWFFvWkdGMFpVWnZjbTFoZEN3Z2V5QnpaWEJoY21GMGIzSWdQU0JjSWlCY2RUSXdNVE1nWENJZ2ZTQTlJSHQ5S1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FwSUhKbGRIVnliaUJKVGxaQlRFbEVPMXh1SUNBZ0lISmxkSFZ5YmlCZ0pIdDBhR2x6TG5NdWRHOUdiM0p0WVhRb1pHRjBaVVp2Y20xaGRDbDlKSHR6WlhCaGNtRjBiM0o5Skh0MGFHbHpMbVV1ZEc5R2IzSnRZWFFvWkdGMFpVWnZjbTFoZENsOVlEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdZU0JFZFhKaGRHbHZiaUJ5WlhCeVpYTmxiblJwYm1jZ2RHaGxJSFJwYldVZ2MzQmhibTVsWkNCaWVTQjBhR2x6SUdsdWRHVnlkbUZzTGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozeHpkSEpwYm1kYlhYMGdXM1Z1YVhROVd5ZHRhV3hzYVhObFkyOXVaSE1uWFYwZ0xTQjBhR1VnZFc1cGRDQnZjaUIxYm1sMGN5QW9jM1ZqYUNCaGN5QW5hRzkxY25NbklHOXlJQ2RrWVhsekp5a2dkRzhnYVc1amJIVmtaU0JwYmlCMGFHVWdaSFZ5WVhScGIyNHVYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnpJQzBnYjNCMGFXOXVjeUIwYUdGMElHRm1abVZqZENCMGFHVWdZM0psWVhScGIyNGdiMllnZEdobElFUjFjbUYwYVc5dVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NWpiMjUyWlhKemFXOXVRV05qZFhKaFkzazlKMk5oYzNWaGJDZGRJQzBnZEdobElHTnZiblpsY25OcGIyNGdjM2x6ZEdWdElIUnZJSFZ6WlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JKYm5SbGNuWmhiQzVtY205dFJHRjBaVlJwYldWektHUjBNU3dnWkhReUtTNTBiMFIxY21GMGFXOXVLQ2t1ZEc5UFltcGxZM1FvS1NBdkx6MCtJSHNnYldsc2JHbHpaV052Ym1Sek9pQTRPRFE0T1RJMU55QjlYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbHVkR1Z5ZG1Gc0xtWnliMjFFWVhSbFZHbHRaWE1vWkhReExDQmtkRElwTG5SdlJIVnlZWFJwYjI0b0oyUmhlWE1uS1M1MGIwOWlhbVZqZENncElDOHZQVDRnZXlCa1lYbHpPaUF4TGpBeU5ERTRNVEl4TlRJM056YzNOemdnZlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JKYm5SbGNuWmhiQzVtY205dFJHRjBaVlJwYldWektHUjBNU3dnWkhReUtTNTBiMFIxY21GMGFXOXVLRnNuYUc5MWNuTW5MQ0FuYldsdWRYUmxjeWRkS1M1MGIwOWlhbVZqZENncElDOHZQVDRnZXlCb2IzVnljem9nTWpRc0lHMXBiblYwWlhNNklETTBMamd5TURrMUlIMWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1NXNTBaWEoyWVd3dVpuSnZiVVJoZEdWVWFXMWxjeWhrZERFc0lHUjBNaWt1ZEc5RWRYSmhkR2x2YmloYkoyaHZkWEp6Snl3Z0oyMXBiblYwWlhNbkxDQW5jMlZqYjI1a2N5ZGRLUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJvYjNWeWN6b2dNalFzSUcxcGJuVjBaWE02SURNMExDQnpaV052Ym1Sek9pQTBPUzR5TlRjZ2ZWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCSmJuUmxjblpoYkM1bWNtOXRSR0YwWlZScGJXVnpLR1IwTVN3Z1pIUXlLUzUwYjBSMWNtRjBhVzl1S0NkelpXTnZibVJ6SnlrdWRHOVBZbXBsWTNRb0tTQXZMejArSUhzZ2MyVmpiMjVrY3pvZ09EZzBPRGt1TWpVM0lIMWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JIVnlZWFJwYjI1OVhHNGdJQ0FxTDF4dUlDQjBiMFIxY21GMGFXOXVLSFZ1YVhRc0lHOXdkSE1wSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11YVhOV1lXeHBaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRVIxY21GMGFXOXVMbWx1ZG1Gc2FXUW9kR2hwY3k1cGJuWmhiR2xrVW1WaGMyOXVLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaUzVrYVdabUtIUm9hWE11Y3l3Z2RXNXBkQ3dnYjNCMGN5azdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW5WdUlHMWhjRVp1SUc5dUlIUm9aU0JwYm5SbGNuWmhiQ0J6ZEdGeWRDQmhibVFnWlc1a0xDQnlaWFIxY201cGJtY2dZU0J1WlhjZ1NXNTBaWEoyWVd3Z1puSnZiU0IwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbGMxeHVJQ0FnS2lCQWNHRnlZVzBnZTJaMWJtTjBhVzl1ZlNCdFlYQkdibHh1SUNBZ0tpQkFjbVYwZFhKdUlIdEpiblJsY25aaGJIMWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1NXNTBaWEoyWVd3dVpuSnZiVVJoZEdWVWFXMWxjeWhrZERFc0lHUjBNaWt1YldGd1JXNWtjRzlwYm5SektHVnVaSEJ2YVc1MElEMCtJR1Z1WkhCdmFXNTBMblJ2VlZSREtDa3BYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbHVkR1Z5ZG1Gc0xtWnliMjFFWVhSbFZHbHRaWE1vWkhReExDQmtkRElwTG0xaGNFVnVaSEJ2YVc1MGN5aGxibVJ3YjJsdWRDQTlQaUJsYm1Sd2IybHVkQzV3YkhWektIc2dhRzkxY25NNklESWdmU2twWEc0Z0lDQXFMMXh1SUNCdFlYQkZibVJ3YjJsdWRITW9iV0Z3Um00cElIdGNiaUFnSUNCeVpYUjFjbTRnU1c1MFpYSjJZV3d1Wm5KdmJVUmhkR1ZVYVcxbGN5aHRZWEJHYmloMGFHbHpMbk1wTENCdFlYQkdiaWgwYUdsekxtVXBLVHRjYmlBZ2ZWeHVmVnh1SWl3Z0ltbHRjRzl5ZENCRVlYUmxWR2x0WlNCbWNtOXRJRndpTGk5a1lYUmxkR2x0WlM1cWMxd2lPMXh1YVcxd2IzSjBJRk5sZEhScGJtZHpJR1p5YjIwZ1hDSXVMM05sZEhScGJtZHpMbXB6WENJN1hHNXBiWEJ2Y25RZ1RHOWpZV3hsSUdaeWIyMGdYQ0l1TDJsdGNHd3ZiRzlqWVd4bExtcHpYQ0k3WEc1cGJYQnZjblFnU1VGT1FWcHZibVVnWm5KdmJTQmNJaTR2ZW05dVpYTXZTVUZPUVZwdmJtVXVhbk5jSWp0Y2JtbHRjRzl5ZENCN0lHNXZjbTFoYkdsNlpWcHZibVVnZlNCbWNtOXRJRndpTGk5cGJYQnNMM3B2Ym1WVmRHbHNMbXB6WENJN1hHNWNibWx0Y0c5eWRDQjdJR2hoYzFKbGJHRjBhWFpsSUgwZ1puSnZiU0JjSWk0dmFXMXdiQzkxZEdsc0xtcHpYQ0k3WEc1Y2JpOHFLbHh1SUNvZ1ZHaGxJRWx1Wm04Z1kyeGhjM01nWTI5dWRHRnBibk1nYzNSaGRHbGpJRzFsZEdodlpITWdabTl5SUhKbGRISnBaWFpwYm1jZ1oyVnVaWEpoYkNCMGFXMWxJR0Z1WkNCa1lYUmxJSEpsYkdGMFpXUWdaR0YwWVM0Z1JtOXlJR1Y0WVcxd2JHVXNJR2wwSUdoaGN5QnRaWFJvYjJSeklHWnZjaUJtYVc1a2FXNW5JRzkxZENCcFppQmhJSFJwYldVZ2VtOXVaU0JvWVhNZ1lTQkVVMVFzSUdadmNpQnNhWE4wYVc1bklIUm9aU0J0YjI1MGFITWdhVzRnWVc1NUlITjFjSEJ2Y25SbFpDQnNiMk5oYkdVc0lHRnVaQ0JtYjNJZ1pHbHpZMjkyWlhKcGJtY2dkMmhwWTJnZ2IyWWdUSFY0YjI0Z1ptVmhkSFZ5WlhNZ1lYSmxJR0YyWVdsc1lXSnNaU0JwYmlCMGFHVWdZM1Z5Y21WdWRDQmxiblpwY205dWJXVnVkQzVjYmlBcUwxeHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nU1c1bWJ5QjdYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnZDJobGRHaGxjaUIwYUdVZ2MzQmxZMmxtYVdWa0lIcHZibVVnWTI5dWRHRnBibk1nWVNCRVUxUXVYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZkZwdmJtVjlJRnQ2YjI1bFBTZHNiMk5oYkNkZElDMGdXbTl1WlNCMGJ5QmphR1ZqYXk0Z1JHVm1ZWFZzZEhNZ2RHOGdkR2hsSUdWdWRtbHliMjV0Wlc1MEozTWdiRzlqWVd3Z2VtOXVaUzVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdZbTl2YkdWaGJuMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm9ZWE5FVTFRb2VtOXVaU0E5SUZObGRIUnBibWR6TG1SbFptRjFiSFJhYjI1bEtTQjdYRzRnSUNBZ1kyOXVjM1FnY0hKdmRHOGdQU0JFWVhSbFZHbHRaUzV1YjNjb0tTNXpaWFJhYjI1bEtIcHZibVVwTG5ObGRDaDdJRzF2Ym5Sb09pQXhNaUI5S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUFoZW05dVpTNXBjMVZ1YVhabGNuTmhiQ0FtSmlCd2NtOTBieTV2Wm1aelpYUWdJVDA5SUhCeWIzUnZMbk5sZENoN0lHMXZiblJvT2lBMklIMHBMbTltWm5ObGREdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkMmhsZEdobGNpQjBhR1VnYzNCbFkybG1hV1ZrSUhwdmJtVWdhWE1nWVNCMllXeHBaQ0JKUVU1QklITndaV05wWm1sbGNpNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhwdmJtVWdMU0JhYjI1bElIUnZJR05vWldOclhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYVhOV1lXeHBaRWxCVGtGYWIyNWxLSHB2Ym1VcElIdGNiaUFnSUNCeVpYUjFjbTRnU1VGT1FWcHZibVV1YVhOV1lXeHBaRnB2Ym1Vb2VtOXVaU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EyOXVkbVZ5ZEhNZ2RHaGxJR2x1Y0hWMElHbHVkRzhnWVNCN1FHeHBibXNnV205dVpYMGdhVzV6ZEdGdVkyVXVYRzRnSUNBcVhHNGdJQ0FxSUNvZ1NXWWdZR2x1Y0hWMFlDQnBjeUJoYkhKbFlXUjVJR0VnV205dVpTQnBibk4wWVc1alpTd2dhWFFnYVhNZ2NtVjBkWEp1WldRZ2RXNWphR0Z1WjJWa0xseHVJQ0FnS2lBcUlFbG1JR0JwYm5CMWRHQWdhWE1nWVNCemRISnBibWNnWTI5dWRHRnBibWx1WnlCaElIWmhiR2xrSUhScGJXVWdlbTl1WlNCdVlXMWxMQ0JoSUZwdmJtVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ0lDQjNhWFJvSUhSb1lYUWdibUZ0WlNCcGN5QnlaWFIxY201bFpDNWNiaUFnSUNvZ0tpQkpaaUJnYVc1d2RYUmdJR2x6SUdFZ2MzUnlhVzVuSUhSb1lYUWdaRzlsYzI0bmRDQnlaV1psY2lCMGJ5QmhJR3R1YjNkdUlIUnBiV1VnZW05dVpTd2dZU0JhYjI1bFhHNGdJQ0FxSUNBZ2FXNXpkR0Z1WTJVZ2QybDBhQ0I3UUd4cGJtc2dXbTl1WlNOcGMxWmhiR2xrZlNBOVBTQm1ZV3h6WlNCcGN5QnlaWFIxY201bFpDNWNiaUFnSUNvZ0tpQkpaaUJnYVc1d2RYUWdhWE1nWVNCdWRXMWlaWElzSUdFZ1dtOXVaU0JwYm5OMFlXNWpaU0IzYVhSb0lIUm9aU0J6Y0dWamFXWnBaV1FnWm1sNFpXUWdiMlptYzJWMFhHNGdJQ0FxSUNBZ2FXNGdiV2x1ZFhSbGN5QnBjeUJ5WlhSMWNtNWxaQzVjYmlBZ0lDb2dLaUJKWmlCZ2FXNXdkWFJnSUdseklHQnVkV3hzWUNCdmNpQmdkVzVrWldacGJtVmtZQ3dnZEdobElHUmxabUYxYkhRZ2VtOXVaU0JwY3lCeVpYUjFjbTVsWkM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDhXbTl1Wlh4dWRXMWlaWEo5SUZ0cGJuQjFkRjBnTFNCMGFHVWdkbUZzZFdVZ2RHOGdZbVVnWTI5dWRtVnlkR1ZrWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMXB2Ym1WOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2JtOXliV0ZzYVhwbFdtOXVaU2hwYm5CMWRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWIzSnRZV3hwZW1WYWIyNWxLR2x1Y0hWMExDQlRaWFIwYVc1bmN5NWtaV1poZFd4MFdtOXVaU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1SUdGdUlHRnljbUY1SUc5bUlITjBZVzVrWVd4dmJtVWdiVzl1ZEdnZ2JtRnRaWE11WEc0Z0lDQXFJRUJ6WldVZ2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlNtRjJZVk5qY21sd2RDOVNaV1psY21WdVkyVXZSMnh2WW1Gc1gwOWlhbVZqZEhNdlJHRjBaVlJwYldWR2IzSnRZWFJjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHNaVzVuZEdnOUoyeHZibWNuWFNBdElIUm9aU0JzWlc1bmRHZ2diMllnZEdobElHMXZiblJvSUhKbGNISmxjMlZ1ZEdGMGFXOXVMQ0J6ZFdOb0lHRnpJRndpYm5WdFpYSnBZMXdpTENCY0lqSXRaR2xuYVhSY0lpd2dYQ0p1WVhKeWIzZGNJaXdnWENKemFHOXlkRndpTENCY0lteHZibWRjSWx4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwY3lBdElHOXdkR2x2Ym5OY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hSekxteHZZMkZzWlYwZ0xTQjBhR1VnYkc5allXeGxJR052WkdWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hSekxtNTFiV0psY21sdVoxTjVjM1JsYlQxdWRXeHNYU0F0SUhSb1pTQnVkVzFpWlhKcGJtY2djM2x6ZEdWdFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXNiMk5QWW1vOWJuVnNiRjBnTFNCaGJpQmxlR2x6ZEdsdVp5QnNiMk5oYkdVZ2IySnFaV04wSUhSdklIVnpaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11YjNWMGNIVjBRMkZzWlc1a1lYSTlKMmR5WldkdmNua25YU0F0SUhSb1pTQmpZV3hsYm1SaGNseHVJQ0FnS2lCQVpYaGhiWEJzWlNCSmJtWnZMbTF2Ym5Sb2N5Z3BXekJkSUM4dlBUNGdKMHBoYm5WaGNua25YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbHVabTh1Ylc5dWRHaHpLQ2R6YUc5eWRDY3BXekJkSUM4dlBUNGdKMHBoYmlkY2JpQWdJQ29nUUdWNFlXMXdiR1VnU1c1bWJ5NXRiMjUwYUhNb0oyNTFiV1Z5YVdNbktWc3dYU0F2THowK0lDY3hKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkpibVp2TG0xdmJuUm9jeWduYzJodmNuUW5MQ0I3SUd4dlkyRnNaVG9nSjJaeUxVTkJKeUI5SUNsYk1GMGdMeTg5UGlBbmFtRnVkaTRuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRWx1Wm04dWJXOXVkR2h6S0NkdWRXMWxjbWxqSnl3Z2V5QnNiMk5oYkdVNklDZGhjaWNnZlNsYk1GMGdMeTg5UGlBblhIVXdOall4SjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JKYm1adkxtMXZiblJvY3lnbmJHOXVaeWNzSUhzZ2IzVjBjSFYwUTJGc1pXNWtZWEk2SUNkcGMyeGhiV2xqSnlCOUtWc3dYU0F2THowK0lDZFNZV0pwWEhVd01rSkNJRWtuWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMEZ5Y21GNWZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHMXZiblJvY3loY2JpQWdJQ0JzWlc1bmRHZ2dQU0JjSW14dmJtZGNJaXhjYmlBZ0lDQjdJR3h2WTJGc1pTQTlJRzUxYkd3c0lHNTFiV0psY21sdVoxTjVjM1JsYlNBOUlHNTFiR3dzSUd4dlkwOWlhaUE5SUc1MWJHd3NJRzkxZEhCMWRFTmhiR1Z1WkdGeUlEMGdYQ0puY21WbmIzSjVYQ0lnZlNBOUlIdDlYRzRnSUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUFvYkc5alQySnFJSHg4SUV4dlkyRnNaUzVqY21WaGRHVW9iRzlqWVd4bExDQnVkVzFpWlhKcGJtZFRlWE4wWlcwc0lHOTFkSEIxZEVOaGJHVnVaR0Z5S1NrdWJXOXVkR2h6S0d4bGJtZDBhQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1SUdGdUlHRnljbUY1SUc5bUlHWnZjbTFoZENCdGIyNTBhQ0J1WVcxbGN5NWNiaUFnSUNvZ1JtOXliV0YwSUcxdmJuUm9jeUJrYVdabVpYSWdabkp2YlNCemRHRnVaR0ZzYjI1bElHMXZiblJvY3lCcGJpQjBhR0YwSUhSb1pYa25jbVVnYldWaGJuUWdkRzhnWVhCd1pXRnlJRzVsZUhRZ2RHOGdkR2hsSUdSaGVTQnZaaUIwYUdVZ2JXOXVkR2d1SUVsdUlITnZiV1VnYkdGdVozVmhaMlZ6TENCMGFHRjBYRzRnSUNBcUlHTm9ZVzVuWlhNZ2RHaGxJSE4wY21sdVp5NWNiaUFnSUNvZ1UyVmxJSHRBYkdsdWF5QkpibVp2STIxdmJuUm9jMzFjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHNaVzVuZEdnOUoyeHZibWNuWFNBdElIUm9aU0JzWlc1bmRHZ2diMllnZEdobElHMXZiblJvSUhKbGNISmxjMlZ1ZEdGMGFXOXVMQ0J6ZFdOb0lHRnpJRndpYm5WdFpYSnBZMXdpTENCY0lqSXRaR2xuYVhSY0lpd2dYQ0p1WVhKeWIzZGNJaXdnWENKemFHOXlkRndpTENCY0lteHZibWRjSWx4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwY3lBdElHOXdkR2x2Ym5OY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hSekxteHZZMkZzWlYwZ0xTQjBhR1VnYkc5allXeGxJR052WkdWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hSekxtNTFiV0psY21sdVoxTjVjM1JsYlQxdWRXeHNYU0F0SUhSb1pTQnVkVzFpWlhKcGJtY2djM2x6ZEdWdFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXNiMk5QWW1vOWJuVnNiRjBnTFNCaGJpQmxlR2x6ZEdsdVp5QnNiMk5oYkdVZ2IySnFaV04wSUhSdklIVnpaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11YjNWMGNIVjBRMkZzWlc1a1lYSTlKMmR5WldkdmNua25YU0F0SUhSb1pTQmpZV3hsYm1SaGNseHVJQ0FnS2lCQWNtVjBkWEp1SUh0QmNuSmhlWDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJ0YjI1MGFITkdiM0p0WVhRb1hHNGdJQ0FnYkdWdVozUm9JRDBnWENKc2IyNW5YQ0lzWEc0Z0lDQWdleUJzYjJOaGJHVWdQU0J1ZFd4c0xDQnVkVzFpWlhKcGJtZFRlWE4wWlcwZ1BTQnVkV3hzTENCc2IyTlBZbW9nUFNCdWRXeHNMQ0J2ZFhSd2RYUkRZV3hsYm1SaGNpQTlJRndpWjNKbFoyOXllVndpSUgwZ1BTQjdmVnh1SUNBcElIdGNiaUFnSUNCeVpYUjFjbTRnS0d4dlkwOWlhaUI4ZkNCTWIyTmhiR1V1WTNKbFlYUmxLR3h2WTJGc1pTd2diblZ0WW1WeWFXNW5VM2x6ZEdWdExDQnZkWFJ3ZFhSRFlXeGxibVJoY2lrcExtMXZiblJvY3loc1pXNW5kR2dzSUhSeWRXVXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnliaUJoYmlCaGNuSmhlU0J2WmlCemRHRnVaR0ZzYjI1bElIZGxaV3NnYm1GdFpYTXVYRzRnSUNBcUlFQnpaV1VnYUhSMGNITTZMeTlrWlhabGJHOXdaWEl1Ylc5NmFXeHNZUzV2Y21jdlpXNHRWVk12Wkc5amN5OVhaV0l2U21GMllWTmpjbWx3ZEM5U1pXWmxjbVZ1WTJVdlIyeHZZbUZzWDA5aWFtVmpkSE12UkdGMFpWUnBiV1ZHYjNKdFlYUmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0c1pXNW5kR2c5SjJ4dmJtY25YU0F0SUhSb1pTQnNaVzVuZEdnZ2IyWWdkR2hsSUhkbFpXdGtZWGtnY21Wd2NtVnpaVzUwWVhScGIyNHNJSE4xWTJnZ1lYTWdYQ0p1WVhKeWIzZGNJaXdnWENKemFHOXlkRndpTENCY0lteHZibWRjSWk1Y2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEhNZ0xTQnZjSFJwYjI1elhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXNiMk5oYkdWZElDMGdkR2hsSUd4dlkyRnNaU0JqYjJSbFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXVkVzFpWlhKcGJtZFRlWE4wWlcwOWJuVnNiRjBnTFNCMGFHVWdiblZ0WW1WeWFXNW5JSE41YzNSbGJWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXViRzlqVDJKcVBXNTFiR3hkSUMwZ1lXNGdaWGhwYzNScGJtY2diRzlqWVd4bElHOWlhbVZqZENCMGJ5QjFjMlZjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdTVzVtYnk1M1pXVnJaR0Y1Y3lncFd6QmRJQzh2UFQ0Z0owMXZibVJoZVNkY2JpQWdJQ29nUUdWNFlXMXdiR1VnU1c1bWJ5NTNaV1ZyWkdGNWN5Z25jMmh2Y25RbktWc3dYU0F2THowK0lDZE5iMjRuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRWx1Wm04dWQyVmxhMlJoZVhNb0ozTm9iM0owSnl3Z2V5QnNiMk5oYkdVNklDZG1jaTFEUVNjZ2ZTbGJNRjBnTHk4OVBpQW5iSFZ1TGlkY2JpQWdJQ29nUUdWNFlXMXdiR1VnU1c1bWJ5NTNaV1ZyWkdGNWN5Z25jMmh2Y25RbkxDQjdJR3h2WTJGc1pUb2dKMkZ5SnlCOUtWc3dYU0F2THowK0lDZGNkVEEyTWpkY2RUQTJORFJjZFRBMk1qZGNkVEEyTWtKY2RUQTJORFpjZFRBMk5FRmNkVEEyTkRZblhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBGeWNtRjVmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJSGRsWld0a1lYbHpLR3hsYm1kMGFDQTlJRndpYkc5dVoxd2lMQ0I3SUd4dlkyRnNaU0E5SUc1MWJHd3NJRzUxYldKbGNtbHVaMU41YzNSbGJTQTlJRzUxYkd3c0lHeHZZMDlpYWlBOUlHNTFiR3dnZlNBOUlIdDlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDaHNiMk5QWW1vZ2ZId2dURzlqWVd4bExtTnlaV0YwWlNoc2IyTmhiR1VzSUc1MWJXSmxjbWx1WjFONWMzUmxiU3dnYm5Wc2JDa3BMbmRsWld0a1lYbHpLR3hsYm1kMGFDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJR0Z1SUdGeWNtRjVJRzltSUdadmNtMWhkQ0IzWldWcklHNWhiV1Z6TGx4dUlDQWdLaUJHYjNKdFlYUWdkMlZsYTJSaGVYTWdaR2xtWm1WeUlHWnliMjBnYzNSaGJtUmhiRzl1WlNCM1pXVnJaR0Y1Y3lCcGJpQjBhR0YwSUhSb1pYa25jbVVnYldWaGJuUWdkRzhnWVhCd1pXRnlJRzVsZUhRZ2RHOGdiVzl5WlNCa1lYUmxJR2x1Wm05eWJXRjBhVzl1TGlCSmJpQnpiMjFsSUd4aGJtZDFZV2RsY3l3Z2RHaGhkRnh1SUNBZ0tpQmphR0Z1WjJWeklIUm9aU0J6ZEhKcGJtY3VYRzRnSUNBcUlGTmxaU0I3UUd4cGJtc2dTVzVtYnlOM1pXVnJaR0Y1YzMxY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnRzWlc1bmRHZzlKMnh2Ym1jblhTQXRJSFJvWlNCc1pXNW5kR2dnYjJZZ2RHaGxJRzF2Ym5Sb0lISmxjSEpsYzJWdWRHRjBhVzl1TENCemRXTm9JR0Z6SUZ3aWJtRnljbTkzWENJc0lGd2ljMmh2Y25SY0lpd2dYQ0pzYjI1blhDSXVYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnpJQzBnYjNCMGFXOXVjMXh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11Ykc5allXeGxQVzUxYkd4ZElDMGdkR2hsSUd4dlkyRnNaU0JqYjJSbFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXVkVzFpWlhKcGJtZFRlWE4wWlcwOWJuVnNiRjBnTFNCMGFHVWdiblZ0WW1WeWFXNW5JSE41YzNSbGJWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXViRzlqVDJKcVBXNTFiR3hkSUMwZ1lXNGdaWGhwYzNScGJtY2diRzlqWVd4bElHOWlhbVZqZENCMGJ5QjFjMlZjYmlBZ0lDb2dRSEpsZEhWeWJpQjdRWEp5WVhsOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2QyVmxhMlJoZVhOR2IzSnRZWFFvWEc0Z0lDQWdiR1Z1WjNSb0lEMGdYQ0pzYjI1blhDSXNYRzRnSUNBZ2V5QnNiMk5oYkdVZ1BTQnVkV3hzTENCdWRXMWlaWEpwYm1kVGVYTjBaVzBnUFNCdWRXeHNMQ0JzYjJOUFltb2dQU0J1ZFd4c0lIMGdQU0I3ZlZ4dUlDQXBJSHRjYmlBZ0lDQnlaWFIxY200Z0tHeHZZMDlpYWlCOGZDQk1iMk5oYkdVdVkzSmxZWFJsS0d4dlkyRnNaU3dnYm5WdFltVnlhVzVuVTNsemRHVnRMQ0J1ZFd4c0tTa3VkMlZsYTJSaGVYTW9iR1Z1WjNSb0xDQjBjblZsS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z1lXNGdZWEp5WVhrZ2IyWWdiV1Z5YVdScFpXMXpMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUc5d2RHbHZibk5jYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJ6TG14dlkyRnNaVjBnTFNCMGFHVWdiRzlqWVd4bElHTnZaR1ZjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdTVzVtYnk1dFpYSnBaR2xsYlhNb0tTQXZMejArSUZzZ0owRk5KeXdnSjFCTkp5QmRYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbHVabTh1YldWeWFXUnBaVzF6S0hzZ2JHOWpZV3hsT2lBbmJYa25JSDBwSUM4dlBUNGdXeUFuWEhVeE1ERTBYSFV4TURNMlhIVXhNREUwWEhVeE1EQXdYSFV4TUROQkp5d2dKMXgxTVRBd1FWeDFNVEF4TkZ4MU1UQXpNU2NnWFZ4dUlDQWdLaUJBY21WMGRYSnVJSHRCY25KaGVYMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnRaWEpwWkdsbGJYTW9leUJzYjJOaGJHVWdQU0J1ZFd4c0lIMGdQU0I3ZlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJNYjJOaGJHVXVZM0psWVhSbEtHeHZZMkZzWlNrdWJXVnlhV1JwWlcxektDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJR0Z1SUdGeWNtRjVJRzltSUdWeVlYTXNJSE4xWTJnZ1lYTWdXeWRDUXljc0lDZEJSQ2RkTGlCVWFHVWdiRzlqWVd4bElHTmhiaUJpWlNCemNHVmphV1pwWldRc0lHSjFkQ0IwYUdVZ1kyRnNaVzVrWVhJZ2MzbHpkR1Z0SUdseklHRnNkMkY1Y3lCSGNtVm5iM0pwWVc0dVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYkdWdVozUm9QU2R6YUc5eWRDZGRJQzBnZEdobElHeGxibWQwYUNCdlppQjBhR1VnWlhKaElISmxjSEpsYzJWdWRHRjBhVzl1TENCemRXTm9JR0Z6SUZ3aWMyaHZjblJjSWlCdmNpQmNJbXh2Ym1kY0lpNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RITWdMU0J2Y0hScGIyNXpYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVzYjJOaGJHVmRJQzBnZEdobElHeHZZMkZzWlNCamIyUmxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbHVabTh1WlhKaGN5Z3BJQzh2UFQ0Z1d5QW5Ra01uTENBblFVUW5JRjFjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdTVzVtYnk1bGNtRnpLQ2RzYjI1bkp5a2dMeTg5UGlCYklDZENaV1p2Y21VZ1EyaHlhWE4wSnl3Z0owRnVibThnUkc5dGFXNXBKeUJkWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRWx1Wm04dVpYSmhjeWduYkc5dVp5Y3NJSHNnYkc5allXeGxPaUFuWm5JbklIMHBJQzh2UFQ0Z1d5QW5ZWFpoYm5RZ1NseDFNREJGT1hOMWN5MURhSEpwYzNRbkxDQW5ZWEJ5WEhVd01FVTRjeUJLWEhVd01FVTVjM1Z6TFVOb2NtbHpkQ2NnWFZ4dUlDQWdLaUJBY21WMGRYSnVJSHRCY25KaGVYMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QmxjbUZ6S0d4bGJtZDBhQ0E5SUZ3aWMyaHZjblJjSWl3Z2V5QnNiMk5oYkdVZ1BTQnVkV3hzSUgwZ1BTQjdmU2tnZTF4dUlDQWdJSEpsZEhWeWJpQk1iMk5oYkdVdVkzSmxZWFJsS0d4dlkyRnNaU3dnYm5Wc2JDd2dYQ0puY21WbmIzSjVYQ0lwTG1WeVlYTW9iR1Z1WjNSb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUhObGRDQnZaaUJoZG1GcGJHRmliR1VnWm1WaGRIVnlaWE1nYVc0Z2RHaHBjeUJsYm5acGNtOXViV1Z1ZEM1Y2JpQWdJQ29nVTI5dFpTQm1aV0YwZFhKbGN5QnZaaUJNZFhodmJpQmhjbVVnYm05MElHRjJZV2xzWVdKc1pTQnBiaUJoYkd3Z1pXNTJhWEp2Ym0xbGJuUnpMaUJHYjNJZ1pYaGhiWEJzWlN3Z2IyNGdiMnhrWlhJZ1luSnZkM05sY25Nc0lISmxiR0YwYVhabElIUnBiV1VnWm05eWJXRjBkR2x1WnlCemRYQndiM0owSUdseklHNXZkQ0JoZG1GcGJHRmliR1V1SUZWelpTQjBhR2x6SUdaMWJtTjBhVzl1SUhSdklHWnBaM1Z5WlNCdmRYUWdhV1lnZEdoaGRDZHpJSFJvWlNCallYTmxMbHh1SUNBZ0tpQkxaWGx6T2x4dUlDQWdLaUFxSUdCeVpXeGhkR2wyWldBNklIZG9aWFJvWlhJZ2RHaHBjeUJsYm5acGNtOXViV1Z1ZENCemRYQndiM0owY3lCeVpXeGhkR2wyWlNCMGFXMWxJR1p2Y20xaGRIUnBibWRjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdTVzVtYnk1bVpXRjBkWEpsY3lncElDOHZQVDRnZXlCeVpXeGhkR2wyWlRvZ1ptRnNjMlVnZlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRQWW1wbFkzUjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabVZoZEhWeVpYTW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIc2djbVZzWVhScGRtVTZJR2hoYzFKbGJHRjBhWFpsS0NrZ2ZUdGNiaUFnZlZ4dWZWeHVJaXdnSW1sdGNHOXlkQ0JFZFhKaGRHbHZiaUJtY205dElGd2lMaTR2WkhWeVlYUnBiMjR1YW5OY0lqdGNibHh1Wm5WdVkzUnBiMjRnWkdGNVJHbG1aaWhsWVhKc2FXVnlMQ0JzWVhSbGNpa2dlMXh1SUNCamIyNXpkQ0IxZEdORVlYbFRkR0Z5ZENBOUlDaGtkQ2tnUFQ0Z1pIUXVkRzlWVkVNb01Dd2dleUJyWldWd1RHOWpZV3hVYVcxbE9pQjBjblZsSUgwcExuTjBZWEowVDJZb1hDSmtZWGxjSWlrdWRtRnNkV1ZQWmlncExGeHVJQ0FnSUcxeklEMGdkWFJqUkdGNVUzUmhjblFvYkdGMFpYSXBJQzBnZFhSalJHRjVVM1JoY25Rb1pXRnliR2xsY2lrN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG1ac2IyOXlLRVIxY21GMGFXOXVMbVp5YjIxTmFXeHNhWE1vYlhNcExtRnpLRndpWkdGNWMxd2lLU2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2hwWjJoUGNtUmxja1JwWm1aektHTjFjbk52Y2l3Z2JHRjBaWElzSUhWdWFYUnpLU0I3WEc0Z0lHTnZibk4wSUdScFptWmxjbk1nUFNCYlhHNGdJQ0FnVzF3aWVXVmhjbk5jSWl3Z0tHRXNJR0lwSUQwK0lHSXVlV1ZoY2lBdElHRXVlV1ZoY2wwc1hHNGdJQ0FnVzF3aWNYVmhjblJsY25OY0lpd2dLR0VzSUdJcElEMCtJR0l1Y1hWaGNuUmxjaUF0SUdFdWNYVmhjblJsY2wwc1hHNGdJQ0FnVzF3aWJXOXVkR2h6WENJc0lDaGhMQ0JpS1NBOVBpQmlMbTF2Ym5Sb0lDMGdZUzV0YjI1MGFDQXJJQ2hpTG5sbFlYSWdMU0JoTG5sbFlYSXBJQ29nTVRKZExGeHVJQ0FnSUZ0Y2JpQWdJQ0FnSUZ3aWQyVmxhM05jSWl4Y2JpQWdJQ0FnSUNoaExDQmlLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdSaGVYTWdQU0JrWVhsRWFXWm1LR0VzSUdJcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0tHUmhlWE1nTFNBb1pHRjVjeUFsSURjcEtTQXZJRGM3WEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJRjBzWEc0Z0lDQWdXMXdpWkdGNWMxd2lMQ0JrWVhsRWFXWm1YU3hjYmlBZ1hUdGNibHh1SUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnZTMwN1hHNGdJR3hsZENCc2IzZGxjM1JQY21SbGNpd2dhR2xuYUZkaGRHVnlPMXh1WEc0Z0lHWnZjaUFvWTI5dWMzUWdXM1Z1YVhRc0lHUnBabVpsY2wwZ2IyWWdaR2xtWm1WeWN5a2dlMXh1SUNBZ0lHbG1JQ2gxYm1sMGN5NXBibVJsZUU5bUtIVnVhWFFwSUQ0OUlEQXBJSHRjYmlBZ0lDQWdJR3h2ZDJWemRFOXlaR1Z5SUQwZ2RXNXBkRHRjYmx4dUlDQWdJQ0FnYkdWMElHUmxiSFJoSUQwZ1pHbG1abVZ5S0dOMWNuTnZjaXdnYkdGMFpYSXBPMXh1SUNBZ0lDQWdhR2xuYUZkaGRHVnlJRDBnWTNWeWMyOXlMbkJzZFhNb2V5QmJkVzVwZEYwNklHUmxiSFJoSUgwcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYUdsbmFGZGhkR1Z5SUQ0Z2JHRjBaWElwSUh0Y2JpQWdJQ0FnSUNBZ1kzVnljMjl5SUQwZ1kzVnljMjl5TG5Cc2RYTW9leUJiZFc1cGRGMDZJR1JsYkhSaElDMGdNU0I5S1R0Y2JpQWdJQ0FnSUNBZ1pHVnNkR0VnTFQwZ01UdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHTjFjbk52Y2lBOUlHaHBaMmhYWVhSbGNqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVZ6ZFd4MGMxdDFibWwwWFNBOUlHUmxiSFJoTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJiWTNWeWMyOXlMQ0J5WlhOMWJIUnpMQ0JvYVdkb1YyRjBaWElzSUd4dmQyVnpkRTl5WkdWeVhUdGNibjFjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnWm5WdVkzUnBiMjRnS0dWaGNteHBaWElzSUd4aGRHVnlMQ0IxYm1sMGN5d2diM0IwY3lrZ2UxeHVJQ0JzWlhRZ1cyTjFjbk52Y2l3Z2NtVnpkV3gwY3l3Z2FHbG5hRmRoZEdWeUxDQnNiM2RsYzNSUGNtUmxjbDBnUFNCb2FXZG9UM0prWlhKRWFXWm1jeWhsWVhKc2FXVnlMQ0JzWVhSbGNpd2dkVzVwZEhNcE8xeHVYRzRnSUdOdmJuTjBJSEpsYldGcGJtbHVaMDFwYkd4cGN5QTlJR3hoZEdWeUlDMGdZM1Z5YzI5eU8xeHVYRzRnSUdOdmJuTjBJR3h2ZDJWeVQzSmtaWEpWYm1sMGN5QTlJSFZ1YVhSekxtWnBiSFJsY2loY2JpQWdJQ0FvZFNrZ1BUNGdXMXdpYUc5MWNuTmNJaXdnWENKdGFXNTFkR1Z6WENJc0lGd2ljMlZqYjI1a2Mxd2lMQ0JjSW0xcGJHeHBjMlZqYjI1a2Mxd2lYUzVwYm1SbGVFOW1LSFVwSUQ0OUlEQmNiaUFnS1R0Y2JseHVJQ0JwWmlBb2JHOTNaWEpQY21SbGNsVnVhWFJ6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lHbG1JQ2hvYVdkb1YyRjBaWElnUENCc1lYUmxjaWtnZTF4dUlDQWdJQ0FnYUdsbmFGZGhkR1Z5SUQwZ1kzVnljMjl5TG5Cc2RYTW9leUJiYkc5M1pYTjBUM0prWlhKZE9pQXhJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNob2FXZG9WMkYwWlhJZ0lUMDlJR04xY25OdmNpa2dlMXh1SUNBZ0lDQWdjbVZ6ZFd4MGMxdHNiM2RsYzNSUGNtUmxjbDBnUFNBb2NtVnpkV3gwYzF0c2IzZGxjM1JQY21SbGNsMGdmSHdnTUNrZ0t5QnlaVzFoYVc1cGJtZE5hV3hzYVhNZ0x5QW9hR2xuYUZkaGRHVnlJQzBnWTNWeWMyOXlLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JqYjI1emRDQmtkWEpoZEdsdmJpQTlJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvY21WemRXeDBjeXdnYjNCMGN5azdYRzVjYmlBZ2FXWWdLR3h2ZDJWeVQzSmtaWEpWYm1sMGN5NXNaVzVuZEdnZ1BpQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFUjFjbUYwYVc5dUxtWnliMjFOYVd4c2FYTW9jbVZ0WVdsdWFXNW5UV2xzYkdsekxDQnZjSFJ6S1Z4dUlDQWdJQ0FnTG5Ob2FXWjBWRzhvTGk0dWJHOTNaWEpQY21SbGNsVnVhWFJ6S1Z4dUlDQWdJQ0FnTG5Cc2RYTW9aSFZ5WVhScGIyNHBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQmtkWEpoZEdsdmJqdGNiaUFnZlZ4dWZWeHVJaXdnSW1OdmJuTjBJRzUxYldKbGNtbHVaMU41YzNSbGJYTWdQU0I3WEc0Z0lHRnlZV0k2SUZ3aVcxeGNkVEEyTmpBdFhGeDFNRFkyT1YxY0lpeGNiaUFnWVhKaFltVjRkRG9nWENKYlhGeDFNRFpHTUMxY1hIVXdOa1k1WFZ3aUxGeHVJQ0JpWVd4cE9pQmNJbHRjWEhVeFFqVXdMVnhjZFRGQ05UbGRYQ0lzWEc0Z0lHSmxibWM2SUZ3aVcxeGNkVEE1UlRZdFhGeDFNRGxGUmwxY0lpeGNiaUFnWkdWMllUb2dYQ0piWEZ4MU1EazJOaTFjWEhVd09UWkdYVndpTEZ4dUlDQm1kV3hzZDJsa1pUb2dYQ0piWEZ4MVJrWXhNQzFjWEhWR1JqRTVYVndpTEZ4dUlDQm5kV3B5T2lCY0lsdGNYSFV3UVVVMkxWeGNkVEJCUlVaZFhDSXNYRzRnSUdoaGJtbGtaV002SUZ3aVcxeDFNekF3TjN4Y2RUUkZNREI4WEhVMFJUaERmRngxTkVVd09YeGNkVFUyUkVKOFhIVTBSVGswZkZ4MU5URTJSSHhjZFRSRk1ETjhYSFUxTVRaQ2ZGeDFORVUxUkYxY0lpeGNiaUFnYTJodGNqb2dYQ0piWEZ4MU1UZEZNQzFjWEhVeE4wVTVYVndpTEZ4dUlDQnJibVJoT2lCY0lsdGNYSFV3UTBVMkxWeGNkVEJEUlVaZFhDSXNYRzRnSUd4aGIyODZJRndpVzF4Y2RUQkZSREF0WEZ4MU1FVkVPVjFjSWl4Y2JpQWdiR2x0WWpvZ1hDSmJYRngxTVRrME5pMWNYSFV4T1RSR1hWd2lMRnh1SUNCdGJIbHRPaUJjSWx0Y1hIVXdSRFkyTFZ4Y2RUQkVOa1pkWENJc1hHNGdJRzF2Ym1jNklGd2lXMXhjZFRFNE1UQXRYRngxTVRneE9WMWNJaXhjYmlBZ2JYbHRjam9nWENKYlhGeDFNVEEwTUMxY1hIVXhNRFE1WFZ3aUxGeHVJQ0J2Y25saE9pQmNJbHRjWEhVd1FqWTJMVnhjZFRCQ05rWmRYQ0lzWEc0Z0lIUmhiV3hrWldNNklGd2lXMXhjZFRCQ1JUWXRYRngxTUVKRlJsMWNJaXhjYmlBZ2RHVnNkVG9nWENKYlhGeDFNRU0yTmkxY1hIVXdRelpHWFZ3aUxGeHVJQ0IwYUdGcE9pQmNJbHRjWEhVd1JUVXdMVnhjZFRCRk5UbGRYQ0lzWEc0Z0lIUnBZblE2SUZ3aVcxeGNkVEJHTWpBdFhGeDFNRVl5T1YxY0lpeGNiaUFnYkdGMGJqb2dYQ0pjWEZ4Y1pGd2lMRnh1ZlR0Y2JseHVZMjl1YzNRZ2JuVnRZbVZ5YVc1blUzbHpkR1Z0YzFWVVJqRTJJRDBnZTF4dUlDQmhjbUZpT2lCYk1UWXpNaXdnTVRZME1WMHNYRzRnSUdGeVlXSmxlSFE2SUZzeE56YzJMQ0F4TnpnMVhTeGNiaUFnWW1Gc2FUb2dXelk1T1RJc0lEY3dNREZkTEZ4dUlDQmlaVzVuT2lCYk1qVXpOQ3dnTWpVME0xMHNYRzRnSUdSbGRtRTZJRnN5TkRBMkxDQXlOREUxWFN4Y2JpQWdablZzYkhkcFpHVTZJRnMyTlRJNU5pd2dOalV6TUROZExGeHVJQ0JuZFdweU9pQmJNamM1TUN3Z01qYzVPVjBzWEc0Z0lHdG9iWEk2SUZzMk1URXlMQ0EyTVRJeFhTeGNiaUFnYTI1a1lUb2dXek16TURJc0lETXpNVEZkTEZ4dUlDQnNZVzl2T2lCYk16YzVNaXdnTXpnd01WMHNYRzRnSUd4cGJXSTZJRnMyTkRjd0xDQTJORGM1WFN4Y2JpQWdiV3g1YlRvZ1d6TTBNekFzSURNME16bGRMRnh1SUNCdGIyNW5PaUJiTmpFMk1Dd2dOakUyT1Ywc1hHNGdJRzE1YlhJNklGczBNVFl3TENBME1UWTVYU3hjYmlBZ2IzSjVZVG9nV3pJNU1UZ3NJREk1TWpkZExGeHVJQ0IwWVcxc1pHVmpPaUJiTXpBME5pd2dNekExTlYwc1hHNGdJSFJsYkhVNklGc3pNVGMwTENBek1UZ3pYU3hjYmlBZ2RHaGhhVG9nV3pNMk5qUXNJRE0yTnpOZExGeHVJQ0IwYVdKME9pQmJNemczTWl3Z016ZzRNVjBzWEc1OU8xeHVYRzVqYjI1emRDQm9ZVzVwWkdWalEyaGhjbk1nUFNCdWRXMWlaWEpwYm1kVGVYTjBaVzF6TG1oaGJtbGtaV011Y21Wd2JHRmpaU2d2VzF4Y1czeGNYRjFkTDJjc0lGd2lYQ0lwTG5Od2JHbDBLRndpWENJcE8xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjR0Z5YzJWRWFXZHBkSE1vYzNSeUtTQjdYRzRnSUd4bGRDQjJZV3gxWlNBOUlIQmhjbk5sU1c1MEtITjBjaXdnTVRBcE8xeHVJQ0JwWmlBb2FYTk9ZVTRvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdkbUZzZFdVZ1BTQmNJbHdpTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYzNSeUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmpiMlJsSUQwZ2MzUnlMbU5vWVhKRGIyUmxRWFFvYVNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2h6ZEhKYmFWMHVjMlZoY21Ob0tHNTFiV0psY21sdVoxTjVjM1JsYlhNdWFHRnVhV1JsWXlrZ0lUMDlJQzB4S1NCN1hHNGdJQ0FnSUNBZ0lIWmhiSFZsSUNzOUlHaGhibWxrWldORGFHRnljeTVwYm1SbGVFOW1LSE4wY2x0cFhTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJR3RsZVNCcGJpQnVkVzFpWlhKcGJtZFRlWE4wWlcxelZWUkdNVFlwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCYmJXbHVMQ0J0WVhoZElEMGdiblZ0WW1WeWFXNW5VM2x6ZEdWdGMxVlVSakUyVzJ0bGVWMDdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHTnZaR1VnUGowZ2JXbHVJQ1ltSUdOdlpHVWdQRDBnYldGNEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaU0FyUFNCamIyUmxJQzBnYldsdU8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NHRnljMlZKYm5Rb2RtRnNkV1VzSURFd0tUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnlaWFIxY200Z2RtRnNkV1U3WEc0Z0lIMWNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdScFoybDBVbVZuWlhnb2V5QnVkVzFpWlhKcGJtZFRlWE4wWlcwZ2ZTd2dZWEJ3Wlc1a0lEMGdYQ0pjSWlrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUZKbFowVjRjQ2hnSkh0dWRXMWlaWEpwYm1kVGVYTjBaVzF6VzI1MWJXSmxjbWx1WjFONWMzUmxiU0I4ZkNCY0lteGhkRzVjSWwxOUpIdGhjSEJsYm1SOVlDazdYRzU5WEc0aUxDQWlhVzF3YjNKMElIc2djR0Z5YzJWTmFXeHNhWE1zSUdselZXNWtaV1pwYm1Wa0xDQjFiblJ5ZFc1allYUmxXV1ZoY2l3Z2MybG5ibVZrVDJabWMyVjBMQ0JvWVhOUGQyNVFjbTl3WlhKMGVTQjlJR1p5YjIwZ1hDSXVMM1YwYVd3dWFuTmNJanRjYm1sdGNHOXlkQ0JHYjNKdFlYUjBaWElnWm5KdmJTQmNJaTR2Wm05eWJXRjBkR1Z5TG1welhDSTdYRzVwYlhCdmNuUWdSbWw0WldSUFptWnpaWFJhYjI1bElHWnliMjBnWENJdUxpOTZiMjVsY3k5bWFYaGxaRTltWm5ObGRGcHZibVV1YW5OY0lqdGNibWx0Y0c5eWRDQkpRVTVCV205dVpTQm1jbTl0SUZ3aUxpNHZlbTl1WlhNdlNVRk9RVnB2Ym1VdWFuTmNJanRjYm1sdGNHOXlkQ0JFWVhSbFZHbHRaU0JtY205dElGd2lMaTR2WkdGMFpYUnBiV1V1YW5OY0lqdGNibWx0Y0c5eWRDQjdJR1JwWjJsMFVtVm5aWGdzSUhCaGNuTmxSR2xuYVhSeklIMGdabkp2YlNCY0lpNHZaR2xuYVhSekxtcHpYQ0k3WEc1cGJYQnZjblFnZXlCRGIyNW1iR2xqZEdsdVoxTndaV05wWm1sallYUnBiMjVGY25KdmNpQjlJR1p5YjIwZ1hDSXVMaTlsY25KdmNuTXVhbk5jSWp0Y2JseHVZMjl1YzNRZ1RVbFRVMGxPUjE5R1ZGQWdQU0JjSW0xcGMzTnBibWNnU1c1MGJDNUVZWFJsVkdsdFpVWnZjbTFoZEM1bWIzSnRZWFJVYjFCaGNuUnpJSE4xY0hCdmNuUmNJanRjYmx4dVpuVnVZM1JwYjI0Z2FXNTBWVzVwZENoeVpXZGxlQ3dnY0c5emRDQTlJQ2hwS1NBOVBpQnBLU0I3WEc0Z0lISmxkSFZ5YmlCN0lISmxaMlY0TENCa1pYTmxjam9nS0Z0elhTa2dQVDRnY0c5emRDaHdZWEp6WlVScFoybDBjeWh6S1NrZ2ZUdGNibjFjYmx4dVkyOXVjM1FnVGtKVFVDQTlJRk4wY21sdVp5NW1jbTl0UTJoaGNrTnZaR1VvTVRZd0tUdGNibU52Ym5OMElITndZV05sVDNKT1FsTlFJRDBnWUZzZ0pIdE9RbE5RZlYxZ08xeHVZMjl1YzNRZ2MzQmhZMlZQY2s1Q1UxQlNaV2RGZUhBZ1BTQnVaWGNnVW1WblJYaHdLSE53WVdObFQzSk9RbE5RTENCY0ltZGNJaWs3WEc1Y2JtWjFibU4wYVc5dUlHWnBlRXhwYzNSU1pXZGxlQ2h6S1NCN1hHNGdJQzh2SUcxaGEyVWdaRzkwY3lCdmNIUnBiMjVoYkNCaGJtUWdZV3h6YnlCdFlXdGxJSFJvWlcwZ2JHbDBaWEpoYkZ4dUlDQXZMeUJ0WVd0bElITndZV05sSUdGdVpDQnViMjRnWW5KbFlXdGhZbXhsSUhOd1lXTmxJR05vWVhKaFkzUmxjbk1nYVc1MFpYSmphR0Z1WjJWaFlteGxYRzRnSUhKbGRIVnliaUJ6TG5KbGNHeGhZMlVvTDF4Y0xpOW5MQ0JjSWx4Y1hGd3VQMXdpS1M1eVpYQnNZV05sS0hOd1lXTmxUM0pPUWxOUVVtVm5SWGh3TENCemNHRmpaVTl5VGtKVFVDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlITjBjbWx3U1c1elpXNXphWFJwZG1sMGFXVnpLSE1wSUh0Y2JpQWdjbVYwZFhKdUlITmNiaUFnSUNBdWNtVndiR0ZqWlNndlhGd3VMMmNzSUZ3aVhDSXBJQzh2SUdsbmJtOXlaU0JrYjNSeklIUm9ZWFFnZDJWeVpTQnRZV1JsSUc5d2RHbHZibUZzWEc0Z0lDQWdMbkpsY0d4aFkyVW9jM0JoWTJWUGNrNUNVMUJTWldkRmVIQXNJRndpSUZ3aUtTQXZMeUJwYm5SbGNtTm9ZVzVuWlNCemNHRmpaU0JoYm1RZ2JtSnpjRnh1SUNBZ0lDNTBiMHh2ZDJWeVEyRnpaU2dwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ2Ym1WUFppaHpkSEpwYm1kekxDQnpkR0Z5ZEVsdVpHVjRLU0I3WEc0Z0lHbG1JQ2h6ZEhKcGJtZHpJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJSEpsWjJWNE9pQlNaV2RGZUhBb2MzUnlhVzVuY3k1dFlYQW9abWw0VEdsemRGSmxaMlY0S1M1cWIybHVLRndpZkZ3aUtTa3NYRzRnSUNBZ0lDQmtaWE5sY2pvZ0tGdHpYU2tnUFQ1Y2JpQWdJQ0FnSUNBZ2MzUnlhVzVuY3k1bWFXNWtTVzVrWlhnb0tHa3BJRDArSUhOMGNtbHdTVzV6Wlc1emFYUnBkbWwwYVdWektITXBJRDA5UFNCemRISnBjRWx1YzJWdWMybDBhWFpwZEdsbGN5aHBLU2tnS3lCemRHRnlkRWx1WkdWNExGeHVJQ0FnSUgwN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiMlptYzJWMEtISmxaMlY0TENCbmNtOTFjSE1wSUh0Y2JpQWdjbVYwZFhKdUlIc2djbVZuWlhnc0lHUmxjMlZ5T2lBb1d5d2dhQ3dnYlYwcElEMCtJSE5wWjI1bFpFOW1abk5sZENob0xDQnRLU3dnWjNKdmRYQnpJSDA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSE5wYlhCc1pTaHlaV2RsZUNrZ2UxeHVJQ0J5WlhSMWNtNGdleUJ5WldkbGVDd2daR1Z6WlhJNklDaGJjMTBwSUQwK0lITWdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdaWE5qWVhCbFZHOXJaVzRvZG1Gc2RXVXBJSHRjYmlBZ2NtVjBkWEp1SUhaaGJIVmxMbkpsY0d4aFkyVW9MMXRjWEMxY1hGdGNYRjE3ZlNncEtpcy9MaXhjWEZ4Y1hGeGVKSHdqWEZ4elhTOW5MQ0JjSWx4Y1hGd2tKbHdpS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFc1cGRFWnZjbFJ2YTJWdUtIUnZhMlZ1TENCc2IyTXBJSHRjYmlBZ1kyOXVjM1FnYjI1bElEMGdaR2xuYVhSU1pXZGxlQ2hzYjJNcExGeHVJQ0FnSUhSM2J5QTlJR1JwWjJsMFVtVm5aWGdvYkc5akxDQmNJbnN5ZlZ3aUtTeGNiaUFnSUNCMGFISmxaU0E5SUdScFoybDBVbVZuWlhnb2JHOWpMQ0JjSW5zemZWd2lLU3hjYmlBZ0lDQm1iM1Z5SUQwZ1pHbG5hWFJTWldkbGVDaHNiMk1zSUZ3aWV6UjlYQ0lwTEZ4dUlDQWdJSE5wZUNBOUlHUnBaMmwwVW1WblpYZ29iRzlqTENCY0luczJmVndpS1N4Y2JpQWdJQ0J2Ym1WUGNsUjNieUE5SUdScFoybDBVbVZuWlhnb2JHOWpMQ0JjSW5zeExESjlYQ0lwTEZ4dUlDQWdJRzl1WlZSdlZHaHlaV1VnUFNCa2FXZHBkRkpsWjJWNEtHeHZZeXdnWENKN01Td3pmVndpS1N4Y2JpQWdJQ0J2Ym1WVWIxTnBlQ0E5SUdScFoybDBVbVZuWlhnb2JHOWpMQ0JjSW5zeExEWjlYQ0lwTEZ4dUlDQWdJRzl1WlZSdlRtbHVaU0E5SUdScFoybDBVbVZuWlhnb2JHOWpMQ0JjSW5zeExEbDlYQ0lwTEZ4dUlDQWdJSFIzYjFSdlJtOTFjaUE5SUdScFoybDBVbVZuWlhnb2JHOWpMQ0JjSW5zeUxEUjlYQ0lwTEZ4dUlDQWdJR1p2ZFhKVWIxTnBlQ0E5SUdScFoybDBVbVZuWlhnb2JHOWpMQ0JjSW5zMExEWjlYQ0lwTEZ4dUlDQWdJR3hwZEdWeVlXd2dQU0FvZENrZ1BUNGdLSHNnY21WblpYZzZJRkpsWjBWNGNDaGxjMk5oY0dWVWIydGxiaWgwTG5aaGJDa3BMQ0JrWlhObGNqb2dLRnR6WFNrZ1BUNGdjeXdnYkdsMFpYSmhiRG9nZEhKMVpTQjlLU3hjYmlBZ0lDQjFibWwwWVhSbElEMGdLSFFwSUQwK0lIdGNiaUFnSUNBZ0lHbG1JQ2gwYjJ0bGJpNXNhWFJsY21Gc0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnNhWFJsY21Gc0tIUXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjM2RwZEdOb0lDaDBMblpoYkNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJsY21GY2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSWtkY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMjVsVDJZb2JHOWpMbVZ5WVhNb1hDSnphRzl5ZEZ3aUxDQm1ZV3h6WlNrc0lEQXBPMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2lSMGRjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2IyNWxUMllvYkc5akxtVnlZWE1vWENKc2IyNW5YQ0lzSUdaaGJITmxLU3dnTUNrN1hHNGdJQ0FnSUNBZ0lDOHZJSGxsWVhKelhHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKNVhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2x1ZEZWdWFYUW9iMjVsVkc5VGFYZ3BPMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2llWGxjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNTBWVzVwZENoMGQyOVViMFp2ZFhJc0lIVnVkSEoxYm1OaGRHVlpaV0Z5S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSW5sNWVYbGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2htYjNWeUtUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lubDVlWGw1WENJNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHbHVkRlZ1YVhRb1ptOTFjbFJ2VTJsNEtUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lubDVlWGw1ZVZ3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblJWYm1sMEtITnBlQ2s3WEc0Z0lDQWdJQ0FnSUM4dklHMXZiblJvYzF4dUlDQWdJQ0FnSUNCallYTmxJRndpVFZ3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblJWYm1sMEtHOXVaVTl5VkhkdktUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lrMU5YQ0k2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWRGVnVhWFFvZEhkdktUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lrMU5UVndpT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdmJtVlBaaWhzYjJNdWJXOXVkR2h6S0Z3aWMyaHZjblJjSWl3Z2RISjFaU3dnWm1Gc2MyVXBMQ0F4S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSWsxTlRVMWNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYjI1bFQyWW9iRzlqTG0xdmJuUm9jeWhjSW14dmJtZGNJaXdnZEhKMVpTd2dabUZzYzJVcExDQXhLVHRjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJa3hjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNTBWVzVwZENodmJtVlBjbFIzYnlrN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKTVRGd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwYm5SVmJtbDBLSFIzYnlrN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKTVRFeGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYjI1bFQyWW9iRzlqTG0xdmJuUm9jeWhjSW5Ob2IzSjBYQ0lzSUdaaGJITmxMQ0JtWVd4elpTa3NJREVwTzF4dUlDQWdJQ0FnSUNCallYTmxJRndpVEV4TVRGd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ2Ym1WUFppaHNiMk11Ylc5dWRHaHpLRndpYkc5dVoxd2lMQ0JtWVd4elpTd2dabUZzYzJVcExDQXhLVHRjYmlBZ0lDQWdJQ0FnTHk4Z1pHRjBaWE5jYmlBZ0lDQWdJQ0FnWTJGelpTQmNJbVJjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNTBWVzVwZENodmJtVlBjbFIzYnlrN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKa1pGd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwYm5SVmJtbDBLSFIzYnlrN1hHNGdJQ0FnSUNBZ0lDOHZJRzl5WkdsdVlXeHpYRzRnSUNBZ0lDQWdJR05oYzJVZ1hDSnZYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWRGVnVhWFFvYjI1bFZHOVVhSEpsWlNrN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKdmIyOWNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2gwYUhKbFpTazdYRzRnSUNBZ0lDQWdJQzh2SUhScGJXVmNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lraElYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWRGVnVhWFFvZEhkdktUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lraGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2h2Ym1WUGNsUjNieWs3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0pvYUZ3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblJWYm1sMEtIUjNieWs3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0pvWENJNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHbHVkRlZ1YVhRb2IyNWxUM0pVZDI4cE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWJXMWNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2gwZDI4cE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWJWd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwYm5SVmJtbDBLRzl1WlU5eVZIZHZLVHRjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJbkZjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNTBWVzVwZENodmJtVlBjbFIzYnlrN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKeGNWd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwYm5SVmJtbDBLSFIzYnlrN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKelhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2x1ZEZWdWFYUW9iMjVsVDNKVWQyOHBPMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2ljM05jSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNTBWVzVwZENoMGQyOHBPMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2lVMXdpT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJuUlZibWwwS0c5dVpWUnZWR2h5WldVcE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVUxTlRYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWRGVnVhWFFvZEdoeVpXVXBPMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2lkVndpT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCemFXMXdiR1VvYjI1bFZHOU9hVzVsS1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSW5WMVhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE5wYlhCc1pTaHZibVZQY2xSM2J5azdYRzRnSUNBZ0lDQWdJR05oYzJVZ1hDSjFkWFZjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNTBWVzVwZENodmJtVXBPMXh1SUNBZ0lDQWdJQ0F2THlCdFpYSnBaR2xsYlZ4dUlDQWdJQ0FnSUNCallYTmxJRndpWVZ3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnZibVZQWmloc2IyTXViV1Z5YVdScFpXMXpLQ2tzSURBcE8xeHVJQ0FnSUNBZ0lDQXZMeUIzWldWcldXVmhjaUFvYXlsY2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSW10cmEydGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2htYjNWeUtUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0ltdHJYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWRGVnVhWFFvZEhkdlZHOUdiM1Z5TENCMWJuUnlkVzVqWVhSbFdXVmhjaWs3WEc0Z0lDQWdJQ0FnSUM4dklIZGxaV3RPZFcxaVpYSWdLRmNwWEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0pYWENJNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHbHVkRlZ1YVhRb2IyNWxUM0pVZDI4cE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVYxZGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2gwZDI4cE8xeHVJQ0FnSUNBZ0lDQXZMeUIzWldWclpHRjVjMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2lSVndpT2x4dUlDQWdJQ0FnSUNCallYTmxJRndpWTF3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblJWYm1sMEtHOXVaU2s3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0pGUlVWY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMjVsVDJZb2JHOWpMbmRsWld0a1lYbHpLRndpYzJodmNuUmNJaXdnWm1Gc2MyVXNJR1poYkhObEtTd2dNU2s3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0pGUlVWRlhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzl1WlU5bUtHeHZZeTUzWldWclpHRjVjeWhjSW14dmJtZGNJaXdnWm1Gc2MyVXNJR1poYkhObEtTd2dNU2s3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0pqWTJOY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMjVsVDJZb2JHOWpMbmRsWld0a1lYbHpLRndpYzJodmNuUmNJaXdnZEhKMVpTd2dabUZzYzJVcExDQXhLVHRjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJbU5qWTJOY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMjVsVDJZb2JHOWpMbmRsWld0a1lYbHpLRndpYkc5dVoxd2lMQ0IwY25WbExDQm1ZV3h6WlNrc0lERXBPMXh1SUNBZ0lDQWdJQ0F2THlCdlptWnpaWFF2ZW05dVpWeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVdsd2lPbHh1SUNBZ0lDQWdJQ0JqWVhObElGd2lXbHBjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2IyWm1jMlYwS0c1bGR5QlNaV2RGZUhBb1lDaGJLeTFkSkh0dmJtVlBjbFIzYnk1emIzVnlZMlY5S1NnL09qb29KSHQwZDI4dWMyOTFjbU5sZlNrcFAyQXBMQ0F5S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSWxwYVdsd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ2Wm1aelpYUW9ibVYzSUZKbFowVjRjQ2hnS0ZzckxWMGtlMjl1WlU5eVZIZHZMbk52ZFhKalpYMHBLQ1I3ZEhkdkxuTnZkWEpqWlgwcFAyQXBMQ0F5S1R0Y2JpQWdJQ0FnSUNBZ0x5OGdkMlVnWkc5dUozUWdjM1Z3Y0c5eWRDQmFXbHBhSUNoUVUxUXBJRzl5SUZwYVdscGFJQ2hRWVdOcFptbGpJRk4wWVc1a1lYSmtJRlJwYldVcElHbHVJSEJoY25OcGJtZGNiaUFnSUNBZ0lDQWdMeThnWW1WallYVnpaU0IzWlNCa2IyNG5kQ0JvWVhabElHRnVlU0IzWVhrZ2RHOGdabWxuZFhKbElHOTFkQ0IzYUdGMElIUm9aWGtnWVhKbFhHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKNlhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE5wYlhCc1pTZ3ZXMkV0ZWw4ckxTOWRlekVzTWpVMmZUOHZhU2s3WEc0Z0lDQWdJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUd4cGRHVnlZV3dvZENrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlR0Y2JseHVJQ0JqYjI1emRDQjFibWwwSUQwZ2RXNXBkR0YwWlNoMGIydGxiaWtnZkh3Z2UxeHVJQ0FnSUdsdWRtRnNhV1JTWldGemIyNDZJRTFKVTFOSlRrZGZSbFJRTEZ4dUlDQjlPMXh1WEc0Z0lIVnVhWFF1ZEc5clpXNGdQU0IwYjJ0bGJqdGNibHh1SUNCeVpYUjFjbTRnZFc1cGREdGNibjFjYmx4dVkyOXVjM1FnY0dGeWRGUjVjR1ZUZEhsc1pWUnZWRzlyWlc1V1lXd2dQU0I3WEc0Z0lIbGxZWEk2SUh0Y2JpQWdJQ0JjSWpJdFpHbG5hWFJjSWpvZ1hDSjVlVndpTEZ4dUlDQWdJRzUxYldWeWFXTTZJRndpZVhsNWVYbGNJaXhjYmlBZ2ZTeGNiaUFnYlc5dWRHZzZJSHRjYmlBZ0lDQnVkVzFsY21sak9pQmNJazFjSWl4Y2JpQWdJQ0JjSWpJdFpHbG5hWFJjSWpvZ1hDSk5UVndpTEZ4dUlDQWdJSE5vYjNKME9pQmNJazFOVFZ3aUxGeHVJQ0FnSUd4dmJtYzZJRndpVFUxTlRWd2lMRnh1SUNCOUxGeHVJQ0JrWVhrNklIdGNiaUFnSUNCdWRXMWxjbWxqT2lCY0ltUmNJaXhjYmlBZ0lDQmNJakl0WkdsbmFYUmNJam9nWENKa1pGd2lMRnh1SUNCOUxGeHVJQ0IzWldWclpHRjVPaUI3WEc0Z0lDQWdjMmh2Y25RNklGd2lSVVZGWENJc1hHNGdJQ0FnYkc5dVp6b2dYQ0pGUlVWRlhDSXNYRzRnSUgwc1hHNGdJR1JoZVhCbGNtbHZaRG9nWENKaFhDSXNYRzRnSUdSaGVWQmxjbWx2WkRvZ1hDSmhYQ0lzWEc0Z0lHaHZkWEk2SUh0Y2JpQWdJQ0J1ZFcxbGNtbGpPaUJjSW1oY0lpeGNiaUFnSUNCY0lqSXRaR2xuYVhSY0lqb2dYQ0pvYUZ3aUxGeHVJQ0I5TEZ4dUlDQnRhVzUxZEdVNklIdGNiaUFnSUNCdWRXMWxjbWxqT2lCY0ltMWNJaXhjYmlBZ0lDQmNJakl0WkdsbmFYUmNJam9nWENKdGJWd2lMRnh1SUNCOUxGeHVJQ0J6WldOdmJtUTZJSHRjYmlBZ0lDQnVkVzFsY21sak9pQmNJbk5jSWl4Y2JpQWdJQ0JjSWpJdFpHbG5hWFJjSWpvZ1hDSnpjMXdpTEZ4dUlDQjlMRnh1ZlR0Y2JseHVablZ1WTNScGIyNGdkRzlyWlc1R2IzSlFZWEowS0hCaGNuUXNJR3h2WTJGc1pTd2dabTl5YldGMFQzQjBjeWtnZTF4dUlDQmpiMjV6ZENCN0lIUjVjR1VzSUhaaGJIVmxJSDBnUFNCd1lYSjBPMXh1WEc0Z0lHbG1JQ2gwZVhCbElEMDlQU0JjSW14cGRHVnlZV3hjSWlrZ2UxeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JzYVhSbGNtRnNPaUIwY25WbExGeHVJQ0FnSUNBZ2RtRnNPaUIyWVd4MVpTeGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ2MzUjViR1VnUFNCbWIzSnRZWFJQY0hSelczUjVjR1ZkTzF4dVhHNGdJR3hsZENCMllXd2dQU0J3WVhKMFZIbHdaVk4wZVd4bFZHOVViMnRsYmxaaGJGdDBlWEJsWFR0Y2JpQWdhV1lnS0hSNWNHVnZaaUIyWVd3Z1BUMDlJRndpYjJKcVpXTjBYQ0lwSUh0Y2JpQWdJQ0IyWVd3Z1BTQjJZV3hiYzNSNWJHVmRPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIWmhiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnNhWFJsY21Gc09pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUhaaGJDeGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1luVnBiR1JTWldkbGVDaDFibWwwY3lrZ2UxeHVJQ0JqYjI1emRDQnlaU0E5SUhWdWFYUnpMbTFoY0Nnb2RTa2dQVDRnZFM1eVpXZGxlQ2t1Y21Wa2RXTmxLQ2htTENCeUtTQTlQaUJnSkh0bWZTZ2tlM0l1YzI5MWNtTmxmU2xnTENCY0lsd2lLVHRjYmlBZ2NtVjBkWEp1SUZ0Z1hpUjdjbVY5SkdBc0lIVnVhWFJ6WFR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYldGMFkyZ29hVzV3ZFhRc0lISmxaMlY0TENCb1lXNWtiR1Z5Y3lrZ2UxeHVJQ0JqYjI1emRDQnRZWFJqYUdWeklEMGdhVzV3ZFhRdWJXRjBZMmdvY21WblpYZ3BPMXh1WEc0Z0lHbG1JQ2h0WVhSamFHVnpLU0I3WEc0Z0lDQWdZMjl1YzNRZ1lXeHNJRDBnZTMwN1hHNGdJQ0FnYkdWMElHMWhkR05vU1c1a1pYZ2dQU0F4TzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnYVNCcGJpQm9ZVzVrYkdWeWN5a2dlMXh1SUNBZ0lDQWdhV1lnS0doaGMwOTNibEJ5YjNCbGNuUjVLR2hoYm1Sc1pYSnpMQ0JwS1NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCb0lEMGdhR0Z1Wkd4bGNuTmJhVjBzWEc0Z0lDQWdJQ0FnSUNBZ1ozSnZkWEJ6SUQwZ2FDNW5jbTkxY0hNZ1B5Qm9MbWR5YjNWd2N5QXJJREVnT2lBeE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdndWJHbDBaWEpoYkNBbUppQm9MblJ2YTJWdUtTQjdYRzRnSUNBZ0lDQWdJQ0FnWVd4c1cyZ3VkRzlyWlc0dWRtRnNXekJkWFNBOUlHZ3VaR1Z6WlhJb2JXRjBZMmhsY3k1emJHbGpaU2h0WVhSamFFbHVaR1Y0TENCdFlYUmphRWx1WkdWNElDc2daM0p2ZFhCektTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYldGMFkyaEpibVJsZUNBclBTQm5jbTkxY0hNN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmJiV0YwWTJobGN5d2dZV3hzWFR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnVzIxaGRHTm9aWE1zSUh0OVhUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJrWVhSbFZHbHRaVVp5YjIxTllYUmphR1Z6S0cxaGRHTm9aWE1wSUh0Y2JpQWdZMjl1YzNRZ2RHOUdhV1ZzWkNBOUlDaDBiMnRsYmlrZ1BUNGdlMXh1SUNBZ0lITjNhWFJqYUNBb2RHOXJaVzRwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdYQ0pUWENJNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCY0ltMXBiR3hwYzJWamIyNWtYQ0k3WEc0Z0lDQWdJQ0JqWVhObElGd2ljMXdpT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWENKelpXTnZibVJjSWp0Y2JpQWdJQ0FnSUdOaGMyVWdYQ0p0WENJNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCY0ltMXBiblYwWlZ3aU8xeHVJQ0FnSUNBZ1kyRnpaU0JjSW1oY0lqcGNiaUFnSUNBZ0lHTmhjMlVnWENKSVhDSTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmNJbWh2ZFhKY0lqdGNiaUFnSUNBZ0lHTmhjMlVnWENKa1hDSTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmNJbVJoZVZ3aU8xeHVJQ0FnSUNBZ1kyRnpaU0JjSW05Y0lqcGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGd2liM0prYVc1aGJGd2lPMXh1SUNBZ0lDQWdZMkZ6WlNCY0lreGNJanBjYmlBZ0lDQWdJR05oYzJVZ1hDSk5YQ0k2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJjSW0xdmJuUm9YQ0k3WEc0Z0lDQWdJQ0JqWVhObElGd2llVndpT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWENKNVpXRnlYQ0k3WEc0Z0lDQWdJQ0JqWVhObElGd2lSVndpT2x4dUlDQWdJQ0FnWTJGelpTQmNJbU5jSWpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ3aWQyVmxhMlJoZVZ3aU8xeHVJQ0FnSUNBZ1kyRnpaU0JjSWxkY0lqcGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGd2lkMlZsYTA1MWJXSmxjbHdpTzF4dUlDQWdJQ0FnWTJGelpTQmNJbXRjSWpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ3aWQyVmxhMWxsWVhKY0lqdGNiaUFnSUNBZ0lHTmhjMlVnWENKeFhDSTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmNJbkYxWVhKMFpYSmNJanRjYmlBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCc1pYUWdlbTl1WlNBOUlHNTFiR3c3WEc0Z0lHeGxkQ0J6Y0dWamFXWnBZMDltWm5ObGREdGNiaUFnYVdZZ0tDRnBjMVZ1WkdWbWFXNWxaQ2h0WVhSamFHVnpMbm9wS1NCN1hHNGdJQ0FnZW05dVpTQTlJRWxCVGtGYWIyNWxMbU55WldGMFpTaHRZWFJqYUdWekxub3BPMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRnBjMVZ1WkdWbWFXNWxaQ2h0WVhSamFHVnpMbG9wS1NCN1hHNGdJQ0FnYVdZZ0tDRjZiMjVsS1NCN1hHNGdJQ0FnSUNCNmIyNWxJRDBnYm1WM0lFWnBlR1ZrVDJabWMyVjBXbTl1WlNodFlYUmphR1Z6TGxvcE8xeHVJQ0FnSUgxY2JpQWdJQ0J6Y0dWamFXWnBZMDltWm5ObGRDQTlJRzFoZEdOb1pYTXVXanRjYmlBZ2ZWeHVYRzRnSUdsbUlDZ2hhWE5WYm1SbFptbHVaV1FvYldGMFkyaGxjeTV4S1NrZ2UxeHVJQ0FnSUcxaGRHTm9aWE11VFNBOUlDaHRZWFJqYUdWekxuRWdMU0F4S1NBcUlETWdLeUF4TzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0ZwYzFWdVpHVm1hVzVsWkNodFlYUmphR1Z6TG1ncEtTQjdYRzRnSUNBZ2FXWWdLRzFoZEdOb1pYTXVhQ0E4SURFeUlDWW1JRzFoZEdOb1pYTXVZU0E5UFQwZ01Ta2dlMXh1SUNBZ0lDQWdiV0YwWTJobGN5NW9JQ3M5SURFeU8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JXRjBZMmhsY3k1b0lEMDlQU0F4TWlBbUppQnRZWFJqYUdWekxtRWdQVDA5SURBcElIdGNiaUFnSUNBZ0lHMWhkR05vWlhNdWFDQTlJREE3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tHMWhkR05vWlhNdVJ5QTlQVDBnTUNBbUppQnRZWFJqYUdWekxua3BJSHRjYmlBZ0lDQnRZWFJqYUdWekxua2dQU0F0YldGMFkyaGxjeTU1TzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0ZwYzFWdVpHVm1hVzVsWkNodFlYUmphR1Z6TG5VcEtTQjdYRzRnSUNBZ2JXRjBZMmhsY3k1VElEMGdjR0Z5YzJWTmFXeHNhWE1vYldGMFkyaGxjeTUxS1R0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wSUhaaGJITWdQU0JQWW1wbFkzUXVhMlY1Y3lodFlYUmphR1Z6S1M1eVpXUjFZMlVvS0hJc0lHc3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQm1JRDBnZEc5R2FXVnNaQ2hyS1R0Y2JpQWdJQ0JwWmlBb1ppa2dlMXh1SUNBZ0lDQWdjbHRtWFNBOUlHMWhkR05vWlhOYmExMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDBzSUh0OUtUdGNibHh1SUNCeVpYUjFjbTRnVzNaaGJITXNJSHB2Ym1Vc0lITndaV05wWm1salQyWm1jMlYwWFR0Y2JuMWNibHh1YkdWMElHUjFiVzE1UkdGMFpWUnBiV1ZEWVdOb1pTQTlJRzUxYkd3N1hHNWNibVoxYm1OMGFXOXVJR2RsZEVSMWJXMTVSR0YwWlZScGJXVW9LU0I3WEc0Z0lHbG1JQ2doWkhWdGJYbEVZWFJsVkdsdFpVTmhZMmhsS1NCN1hHNGdJQ0FnWkhWdGJYbEVZWFJsVkdsdFpVTmhZMmhsSUQwZ1JHRjBaVlJwYldVdVpuSnZiVTFwYkd4cGN5Z3hOVFUxTlRVMU5UVTFOVFUxS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCa2RXMXRlVVJoZEdWVWFXMWxRMkZqYUdVN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxaGVXSmxSWGh3WVc1a1RXRmpjbTlVYjJ0bGJpaDBiMnRsYml3Z2JHOWpZV3hsS1NCN1hHNGdJR2xtSUNoMGIydGxiaTVzYVhSbGNtRnNLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUnZhMlZ1TzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnWm05eWJXRjBUM0IwY3lBOUlFWnZjbTFoZEhSbGNpNXRZV055YjFSdmEyVnVWRzlHYjNKdFlYUlBjSFJ6S0hSdmEyVnVMblpoYkNrN1hHNWNiaUFnYVdZZ0tDRm1iM0p0WVhSUGNIUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUnZhMlZ1TzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnWm05eWJXRjBkR1Z5SUQwZ1JtOXliV0YwZEdWeUxtTnlaV0YwWlNoc2IyTmhiR1VzSUdadmNtMWhkRTl3ZEhNcE8xeHVJQ0JqYjI1emRDQndZWEowY3lBOUlHWnZjbTFoZEhSbGNpNW1iM0p0WVhSRVlYUmxWR2x0WlZCaGNuUnpLR2RsZEVSMWJXMTVSR0YwWlZScGJXVW9LU2s3WEc1Y2JpQWdZMjl1YzNRZ2RHOXJaVzV6SUQwZ2NHRnlkSE11YldGd0tDaHdLU0E5UGlCMGIydGxia1p2Y2xCaGNuUW9jQ3dnYkc5allXeGxMQ0JtYjNKdFlYUlBjSFJ6S1NrN1hHNWNiaUFnYVdZZ0tIUnZhMlZ1Y3k1cGJtTnNkV1JsY3loMWJtUmxabWx1WldRcEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSdmEyVnVPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFJ2YTJWdWN6dGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pYaHdZVzVrVFdGamNtOVViMnRsYm5Nb2RHOXJaVzV6TENCc2IyTmhiR1VwSUh0Y2JpQWdjbVYwZFhKdUlFRnljbUY1TG5CeWIzUnZkSGx3WlM1amIyNWpZWFFvTGk0dWRHOXJaVzV6TG0xaGNDZ29kQ2tnUFQ0Z2JXRjVZbVZGZUhCaGJtUk5ZV055YjFSdmEyVnVLSFFzSUd4dlkyRnNaU2twS1R0Y2JuMWNibHh1THlvcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmxlSEJzWVdsdVJuSnZiVlJ2YTJWdWN5aHNiMk5oYkdVc0lHbHVjSFYwTENCbWIzSnRZWFFwSUh0Y2JpQWdZMjl1YzNRZ2RHOXJaVzV6SUQwZ1pYaHdZVzVrVFdGamNtOVViMnRsYm5Nb1JtOXliV0YwZEdWeUxuQmhjbk5sUm05eWJXRjBLR1p2Y20xaGRDa3NJR3h2WTJGc1pTa3NYRzRnSUNBZ2RXNXBkSE1nUFNCMGIydGxibk11YldGd0tDaDBLU0E5UGlCMWJtbDBSbTl5Vkc5clpXNG9kQ3dnYkc5allXeGxLU2tzWEc0Z0lDQWdaR2x6Y1hWaGJHbG1lV2x1WjFWdWFYUWdQU0IxYm1sMGN5NW1hVzVrS0NoMEtTQTlQaUIwTG1sdWRtRnNhV1JTWldGemIyNHBPMXh1WEc0Z0lHbG1JQ2hrYVhOeGRXRnNhV1o1YVc1blZXNXBkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjdJR2x1Y0hWMExDQjBiMnRsYm5Nc0lHbHVkbUZzYVdSU1pXRnpiMjQ2SUdScGMzRjFZV3hwWm5scGJtZFZibWwwTG1sdWRtRnNhV1JTWldGemIyNGdmVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JqYjI1emRDQmJjbVZuWlhoVGRISnBibWNzSUdoaGJtUnNaWEp6WFNBOUlHSjFhV3hrVW1WblpYZ29kVzVwZEhNcExGeHVJQ0FnSUNBZ2NtVm5aWGdnUFNCU1pXZEZlSEFvY21WblpYaFRkSEpwYm1jc0lGd2lhVndpS1N4Y2JpQWdJQ0FnSUZ0eVlYZE5ZWFJqYUdWekxDQnRZWFJqYUdWelhTQTlJRzFoZEdOb0tHbHVjSFYwTENCeVpXZGxlQ3dnYUdGdVpHeGxjbk1wTEZ4dUlDQWdJQ0FnVzNKbGMzVnNkQ3dnZW05dVpTd2djM0JsWTJsbWFXTlBabVp6WlhSZElEMGdiV0YwWTJobGMxeHVJQ0FnSUNBZ0lDQS9JR1JoZEdWVWFXMWxSbkp2YlUxaGRHTm9aWE1vYldGMFkyaGxjeWxjYmlBZ0lDQWdJQ0FnT2lCYmJuVnNiQ3dnYm5Wc2JDd2dkVzVrWldacGJtVmtYVHRjYmlBZ0lDQnBaaUFvYUdGelQzZHVVSEp2Y0dWeWRIa29iV0YwWTJobGN5d2dYQ0poWENJcElDWW1JR2hoYzA5M2JsQnliM0JsY25SNUtHMWhkR05vWlhNc0lGd2lTRndpS1NrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFTnZibVpzYVdOMGFXNW5VM0JsWTJsbWFXTmhkR2x2YmtWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JjSWtOaGJpZDBJR2x1WTJ4MVpHVWdiV1Z5YVdScFpXMGdkMmhsYmlCemNHVmphV1o1YVc1bklESTBMV2h2ZFhJZ1ptOXliV0YwWENKY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjdJR2x1Y0hWMExDQjBiMnRsYm5Nc0lISmxaMlY0TENCeVlYZE5ZWFJqYUdWekxDQnRZWFJqYUdWekxDQnlaWE4xYkhRc0lIcHZibVVzSUhOd1pXTnBabWxqVDJabWMyVjBJSDA3WEc0Z0lIMWNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxSbkp2YlZSdmEyVnVjeWhzYjJOaGJHVXNJR2x1Y0hWMExDQm1iM0p0WVhRcElIdGNiaUFnWTI5dWMzUWdleUJ5WlhOMWJIUXNJSHB2Ym1Vc0lITndaV05wWm1salQyWm1jMlYwTENCcGJuWmhiR2xrVW1WaGMyOXVJSDBnUFNCbGVIQnNZV2x1Um5KdmJWUnZhMlZ1Y3loc2IyTmhiR1VzSUdsdWNIVjBMQ0JtYjNKdFlYUXBPMXh1SUNCeVpYUjFjbTRnVzNKbGMzVnNkQ3dnZW05dVpTd2djM0JsWTJsbWFXTlBabVp6WlhRc0lHbHVkbUZzYVdSU1pXRnpiMjVkTzF4dWZWeHVJaXdnSW1sdGNHOXlkQ0I3WEc0Z0lHbHVkR1ZuWlhKQ1pYUjNaV1Z1TEZ4dUlDQnBjMHhsWVhCWlpXRnlMRnh1SUNCMGFXMWxUMkpxWldOMExGeHVJQ0JrWVhselNXNVpaV0Z5TEZ4dUlDQmtZWGx6U1c1TmIyNTBhQ3hjYmlBZ2QyVmxhM05KYmxkbFpXdFpaV0Z5TEZ4dUlDQnBjMGx1ZEdWblpYSXNYRzU5SUdaeWIyMGdYQ0l1TDNWMGFXd3Vhbk5jSWp0Y2JtbHRjRzl5ZENCSmJuWmhiR2xrSUdaeWIyMGdYQ0l1TDJsdWRtRnNhV1F1YW5OY0lqdGNibHh1WTI5dWMzUWdibTl1VEdWaGNFeGhaR1JsY2lBOUlGc3dMQ0F6TVN3Z05Ua3NJRGt3TENBeE1qQXNJREUxTVN3Z01UZ3hMQ0F5TVRJc0lESTBNeXdnTWpjekxDQXpNRFFzSURNek5GMHNYRzRnSUd4bFlYQk1ZV1JrWlhJZ1BTQmJNQ3dnTXpFc0lEWXdMQ0E1TVN3Z01USXhMQ0F4TlRJc0lERTRNaXdnTWpFekxDQXlORFFzSURJM05Dd2dNekExTENBek16VmRPMXh1WEc1bWRXNWpkR2x2YmlCMWJtbDBUM1YwVDJaU1lXNW5aU2gxYm1sMExDQjJZV3gxWlNrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUVsdWRtRnNhV1FvWEc0Z0lDQWdYQ0oxYm1sMElHOTFkQ0J2WmlCeVlXNW5aVndpTEZ4dUlDQWdJR0I1YjNVZ2MzQmxZMmxtYVdWa0lDUjdkbUZzZFdWOUlDaHZaaUIwZVhCbElDUjdkSGx3Wlc5bUlIWmhiSFZsZlNrZ1lYTWdZU0FrZTNWdWFYUjlMQ0IzYUdsamFDQnBjeUJwYm5aaGJHbGtZRnh1SUNBcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCa1lYbFBabGRsWldzb2VXVmhjaXdnYlc5dWRHZ3NJR1JoZVNrZ2UxeHVJQ0JqYjI1emRDQmtJRDBnYm1WM0lFUmhkR1VvUkdGMFpTNVZWRU1vZVdWaGNpd2diVzl1ZEdnZ0xTQXhMQ0JrWVhrcEtUdGNibHh1SUNCcFppQW9lV1ZoY2lBOElERXdNQ0FtSmlCNVpXRnlJRDQ5SURBcElIdGNiaUFnSUNCa0xuTmxkRlZVUTBaMWJHeFpaV0Z5S0dRdVoyVjBWVlJEUm5Wc2JGbGxZWElvS1NBdElERTVNREFwTzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnYW5NZ1BTQmtMbWRsZEZWVVEwUmhlU2dwTzF4dVhHNGdJSEpsZEhWeWJpQnFjeUE5UFQwZ01DQS9JRGNnT2lCcWN6dGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyOXRjSFYwWlU5eVpHbHVZV3dvZVdWaGNpd2diVzl1ZEdnc0lHUmhlU2tnZTF4dUlDQnlaWFIxY200Z1pHRjVJQ3NnS0dselRHVmhjRmxsWVhJb2VXVmhjaWtnUHlCc1pXRndUR0ZrWkdWeUlEb2dibTl1VEdWaGNFeGhaR1JsY2lsYmJXOXVkR2dnTFNBeFhUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNWpiMjF3ZFhSbFQzSmthVzVoYkNoNVpXRnlMQ0J2Y21ScGJtRnNLU0I3WEc0Z0lHTnZibk4wSUhSaFlteGxJRDBnYVhOTVpXRndXV1ZoY2loNVpXRnlLU0EvSUd4bFlYQk1ZV1JrWlhJZ09pQnViMjVNWldGd1RHRmtaR1Z5TEZ4dUlDQWdJRzF2Ym5Sb01DQTlJSFJoWW14bExtWnBibVJKYm1SbGVDZ29hU2tnUFQ0Z2FTQThJRzl5WkdsdVlXd3BMRnh1SUNBZ0lHUmhlU0E5SUc5eVpHbHVZV3dnTFNCMFlXSnNaVnR0YjI1MGFEQmRPMXh1SUNCeVpYUjFjbTRnZXlCdGIyNTBhRG9nYlc5dWRHZ3dJQ3NnTVN3Z1pHRjVJSDA3WEc1OVhHNWNiaThxS2x4dUlDb2dRSEJ5YVhaaGRHVmNiaUFxTDF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1ozSmxaMjl5YVdGdVZHOVhaV1ZyS0dkeVpXZFBZbW9wSUh0Y2JpQWdZMjl1YzNRZ2V5QjVaV0Z5TENCdGIyNTBhQ3dnWkdGNUlIMGdQU0JuY21WblQySnFMRnh1SUNBZ0lHOXlaR2x1WVd3Z1BTQmpiMjF3ZFhSbFQzSmthVzVoYkNoNVpXRnlMQ0J0YjI1MGFDd2daR0Y1S1N4Y2JpQWdJQ0IzWldWclpHRjVJRDBnWkdGNVQyWlhaV1ZyS0hsbFlYSXNJRzF2Ym5Sb0xDQmtZWGtwTzF4dVhHNGdJR3hsZENCM1pXVnJUblZ0WW1WeUlEMGdUV0YwYUM1bWJHOXZjaWdvYjNKa2FXNWhiQ0F0SUhkbFpXdGtZWGtnS3lBeE1Da2dMeUEzS1N4Y2JpQWdJQ0IzWldWcldXVmhjanRjYmx4dUlDQnBaaUFvZDJWbGEwNTFiV0psY2lBOElERXBJSHRjYmlBZ0lDQjNaV1ZyV1dWaGNpQTlJSGxsWVhJZ0xTQXhPMXh1SUNBZ0lIZGxaV3RPZFcxaVpYSWdQU0IzWldWcmMwbHVWMlZsYTFsbFlYSW9kMlZsYTFsbFlYSXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIZGxaV3RPZFcxaVpYSWdQaUIzWldWcmMwbHVWMlZsYTFsbFlYSW9lV1ZoY2lrcElIdGNiaUFnSUNCM1pXVnJXV1ZoY2lBOUlIbGxZWElnS3lBeE8xeHVJQ0FnSUhkbFpXdE9kVzFpWlhJZ1BTQXhPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSGRsWld0WlpXRnlJRDBnZVdWaGNqdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjdJSGRsWld0WlpXRnlMQ0IzWldWclRuVnRZbVZ5TENCM1pXVnJaR0Y1TENBdUxpNTBhVzFsVDJKcVpXTjBLR2R5WldkUFltb3BJSDA3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQjNaV1ZyVkc5SGNtVm5iM0pwWVc0b2QyVmxhMFJoZEdFcElIdGNiaUFnWTI5dWMzUWdleUIzWldWcldXVmhjaXdnZDJWbGEwNTFiV0psY2l3Z2QyVmxhMlJoZVNCOUlEMGdkMlZsYTBSaGRHRXNYRzRnSUNBZ2QyVmxhMlJoZVU5bVNtRnVOQ0E5SUdSaGVVOW1WMlZsYXloM1pXVnJXV1ZoY2l3Z01Td2dOQ2tzWEc0Z0lDQWdlV1ZoY2tsdVJHRjVjeUE5SUdSaGVYTkpibGxsWVhJb2QyVmxhMWxsWVhJcE8xeHVYRzRnSUd4bGRDQnZjbVJwYm1Gc0lEMGdkMlZsYTA1MWJXSmxjaUFxSURjZ0t5QjNaV1ZyWkdGNUlDMGdkMlZsYTJSaGVVOW1TbUZ1TkNBdElETXNYRzRnSUNBZ2VXVmhjanRjYmx4dUlDQnBaaUFvYjNKa2FXNWhiQ0E4SURFcElIdGNiaUFnSUNCNVpXRnlJRDBnZDJWbGExbGxZWElnTFNBeE8xeHVJQ0FnSUc5eVpHbHVZV3dnS3owZ1pHRjVjMGx1V1dWaGNpaDVaV0Z5S1R0Y2JpQWdmU0JsYkhObElHbG1JQ2h2Y21ScGJtRnNJRDRnZVdWaGNrbHVSR0Y1Y3lrZ2UxeHVJQ0FnSUhsbFlYSWdQU0IzWldWcldXVmhjaUFySURFN1hHNGdJQ0FnYjNKa2FXNWhiQ0F0UFNCa1lYbHpTVzVaWldGeUtIZGxaV3RaWldGeUtUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjVaV0Z5SUQwZ2QyVmxhMWxsWVhJN1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCN0lHMXZiblJvTENCa1lYa2dmU0E5SUhWdVkyOXRjSFYwWlU5eVpHbHVZV3dvZVdWaGNpd2diM0prYVc1aGJDazdYRzRnSUhKbGRIVnliaUI3SUhsbFlYSXNJRzF2Ym5Sb0xDQmtZWGtzSUM0dUxuUnBiV1ZQWW1wbFkzUW9kMlZsYTBSaGRHRXBJSDA3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5jbVZuYjNKcFlXNVViMDl5WkdsdVlXd29aM0psWjBSaGRHRXBJSHRjYmlBZ1kyOXVjM1FnZXlCNVpXRnlMQ0J0YjI1MGFDd2daR0Y1SUgwZ1BTQm5jbVZuUkdGMFlUdGNiaUFnWTI5dWMzUWdiM0prYVc1aGJDQTlJR052YlhCMWRHVlBjbVJwYm1Gc0tIbGxZWElzSUcxdmJuUm9MQ0JrWVhrcE8xeHVJQ0J5WlhSMWNtNGdleUI1WldGeUxDQnZjbVJwYm1Gc0xDQXVMaTUwYVcxbFQySnFaV04wS0dkeVpXZEVZWFJoS1NCOU8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYjNKa2FXNWhiRlJ2UjNKbFoyOXlhV0Z1S0c5eVpHbHVZV3hFWVhSaEtTQjdYRzRnSUdOdmJuTjBJSHNnZVdWaGNpd2diM0prYVc1aGJDQjlJRDBnYjNKa2FXNWhiRVJoZEdFN1hHNGdJR052Ym5OMElIc2diVzl1ZEdnc0lHUmhlU0I5SUQwZ2RXNWpiMjF3ZFhSbFQzSmthVzVoYkNoNVpXRnlMQ0J2Y21ScGJtRnNLVHRjYmlBZ2NtVjBkWEp1SUhzZ2VXVmhjaXdnYlc5dWRHZ3NJR1JoZVN3Z0xpNHVkR2x0WlU5aWFtVmpkQ2h2Y21ScGJtRnNSR0YwWVNrZ2ZUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdoaGMwbHVkbUZzYVdSWFpXVnJSR0YwWVNodlltb3BJSHRjYmlBZ1kyOXVjM1FnZG1Gc2FXUlpaV0Z5SUQwZ2FYTkpiblJsWjJWeUtHOWlhaTUzWldWcldXVmhjaWtzWEc0Z0lDQWdkbUZzYVdSWFpXVnJJRDBnYVc1MFpXZGxja0psZEhkbFpXNG9iMkpxTG5kbFpXdE9kVzFpWlhJc0lERXNJSGRsWld0elNXNVhaV1ZyV1dWaGNpaHZZbW91ZDJWbGExbGxZWElwS1N4Y2JpQWdJQ0IyWVd4cFpGZGxaV3RrWVhrZ1BTQnBiblJsWjJWeVFtVjBkMlZsYmlodlltb3VkMlZsYTJSaGVTd2dNU3dnTnlrN1hHNWNiaUFnYVdZZ0tDRjJZV3hwWkZsbFlYSXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RXNXBkRTkxZEU5bVVtRnVaMlVvWENKM1pXVnJXV1ZoY2x3aUxDQnZZbW91ZDJWbGExbGxZWElwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLQ0YyWVd4cFpGZGxaV3NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkVzVwZEU5MWRFOW1VbUZ1WjJVb1hDSjNaV1ZyWENJc0lHOWlhaTUzWldWcktUdGNiaUFnZlNCbGJITmxJR2xtSUNnaGRtRnNhV1JYWldWclpHRjVLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIVnVhWFJQZFhSUFpsSmhibWRsS0Z3aWQyVmxhMlJoZVZ3aUxDQnZZbW91ZDJWbGEyUmhlU2s3WEc0Z0lIMGdaV3h6WlNCeVpYUjFjbTRnWm1Gc2MyVTdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCb1lYTkpiblpoYkdsa1QzSmthVzVoYkVSaGRHRW9iMkpxS1NCN1hHNGdJR052Ym5OMElIWmhiR2xrV1dWaGNpQTlJR2x6U1c1MFpXZGxjaWh2WW1vdWVXVmhjaWtzWEc0Z0lDQWdkbUZzYVdSUGNtUnBibUZzSUQwZ2FXNTBaV2RsY2tKbGRIZGxaVzRvYjJKcUxtOXlaR2x1WVd3c0lERXNJR1JoZVhOSmJsbGxZWElvYjJKcUxubGxZWElwS1R0Y2JseHVJQ0JwWmlBb0lYWmhiR2xrV1dWaGNpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMWJtbDBUM1YwVDJaU1lXNW5aU2hjSW5sbFlYSmNJaXdnYjJKcUxubGxZWElwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLQ0YyWVd4cFpFOXlaR2x1WVd3cElIdGNiaUFnSUNCeVpYUjFjbTRnZFc1cGRFOTFkRTltVW1GdVoyVW9YQ0p2Y21ScGJtRnNYQ0lzSUc5aWFpNXZjbVJwYm1Gc0tUdGNiaUFnZlNCbGJITmxJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2hoYzBsdWRtRnNhV1JIY21WbmIzSnBZVzVFWVhSaEtHOWlhaWtnZTF4dUlDQmpiMjV6ZENCMllXeHBaRmxsWVhJZ1BTQnBjMGx1ZEdWblpYSW9iMkpxTG5sbFlYSXBMRnh1SUNBZ0lIWmhiR2xrVFc5dWRHZ2dQU0JwYm5SbFoyVnlRbVYwZDJWbGJpaHZZbW91Ylc5dWRHZ3NJREVzSURFeUtTeGNiaUFnSUNCMllXeHBaRVJoZVNBOUlHbHVkR1ZuWlhKQ1pYUjNaV1Z1S0c5aWFpNWtZWGtzSURFc0lHUmhlWE5KYmsxdmJuUm9LRzlpYWk1NVpXRnlMQ0J2WW1vdWJXOXVkR2dwS1R0Y2JseHVJQ0JwWmlBb0lYWmhiR2xrV1dWaGNpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMWJtbDBUM1YwVDJaU1lXNW5aU2hjSW5sbFlYSmNJaXdnYjJKcUxubGxZWElwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLQ0YyWVd4cFpFMXZiblJvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFZ1YVhSUGRYUlBabEpoYm1kbEtGd2liVzl1ZEdoY0lpd2diMkpxTG0xdmJuUm9LVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDZ2hkbUZzYVdSRVlYa3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RXNXBkRTkxZEU5bVVtRnVaMlVvWENKa1lYbGNJaXdnYjJKcUxtUmhlU2s3WEc0Z0lIMGdaV3h6WlNCeVpYUjFjbTRnWm1Gc2MyVTdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCb1lYTkpiblpoYkdsa1ZHbHRaVVJoZEdFb2IySnFLU0I3WEc0Z0lHTnZibk4wSUhzZ2FHOTFjaXdnYldsdWRYUmxMQ0J6WldOdmJtUXNJRzFwYkd4cGMyVmpiMjVrSUgwZ1BTQnZZbW83WEc0Z0lHTnZibk4wSUhaaGJHbGtTRzkxY2lBOVhHNGdJQ0FnSUNCcGJuUmxaMlZ5UW1WMGQyVmxiaWhvYjNWeUxDQXdMQ0F5TXlrZ2ZIeGNiaUFnSUNBZ0lDaG9iM1Z5SUQwOVBTQXlOQ0FtSmlCdGFXNTFkR1VnUFQwOUlEQWdKaVlnYzJWamIyNWtJRDA5UFNBd0lDWW1JRzFwYkd4cGMyVmpiMjVrSUQwOVBTQXdLU3hjYmlBZ0lDQjJZV3hwWkUxcGJuVjBaU0E5SUdsdWRHVm5aWEpDWlhSM1pXVnVLRzFwYm5WMFpTd2dNQ3dnTlRrcExGeHVJQ0FnSUhaaGJHbGtVMlZqYjI1a0lEMGdhVzUwWldkbGNrSmxkSGRsWlc0b2MyVmpiMjVrTENBd0xDQTFPU2tzWEc0Z0lDQWdkbUZzYVdSTmFXeHNhWE5sWTI5dVpDQTlJR2x1ZEdWblpYSkNaWFIzWldWdUtHMXBiR3hwYzJWamIyNWtMQ0F3TENBNU9Ua3BPMXh1WEc0Z0lHbG1JQ2doZG1Gc2FXUkliM1Z5S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFZ1YVhSUGRYUlBabEpoYm1kbEtGd2lhRzkxY2x3aUxDQm9iM1Z5S1R0Y2JpQWdmU0JsYkhObElHbG1JQ2doZG1Gc2FXUk5hVzUxZEdVcElIdGNiaUFnSUNCeVpYUjFjbTRnZFc1cGRFOTFkRTltVW1GdVoyVW9YQ0p0YVc1MWRHVmNJaXdnYldsdWRYUmxLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDZ2hkbUZzYVdSVFpXTnZibVFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkVzVwZEU5MWRFOW1VbUZ1WjJVb1hDSnpaV052Ym1SY0lpd2djMlZqYjI1a0tUdGNiaUFnZlNCbGJITmxJR2xtSUNnaGRtRnNhV1JOYVd4c2FYTmxZMjl1WkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIxYm1sMFQzVjBUMlpTWVc1blpTaGNJbTFwYkd4cGMyVmpiMjVrWENJc0lHMXBiR3hwYzJWamIyNWtLVHRjYmlBZ2ZTQmxiSE5sSUhKbGRIVnliaUJtWVd4elpUdGNibjFjYmlJc0lDSnBiWEJ2Y25RZ1JIVnlZWFJwYjI0Z1puSnZiU0JjSWk0dlpIVnlZWFJwYjI0dWFuTmNJanRjYm1sdGNHOXlkQ0JKYm5SbGNuWmhiQ0JtY205dElGd2lMaTlwYm5SbGNuWmhiQzVxYzF3aU8xeHVhVzF3YjNKMElGTmxkSFJwYm1keklHWnliMjBnWENJdUwzTmxkSFJwYm1kekxtcHpYQ0k3WEc1cGJYQnZjblFnU1c1bWJ5Qm1jbTl0SUZ3aUxpOXBibVp2TG1welhDSTdYRzVwYlhCdmNuUWdSbTl5YldGMGRHVnlJR1p5YjIwZ1hDSXVMMmx0Y0d3dlptOXliV0YwZEdWeUxtcHpYQ0k3WEc1cGJYQnZjblFnUm1sNFpXUlBabVp6WlhSYWIyNWxJR1p5YjIwZ1hDSXVMM3B2Ym1WekwyWnBlR1ZrVDJabWMyVjBXbTl1WlM1cWMxd2lPMXh1YVcxd2IzSjBJRXh2WTJGc1pTQm1jbTl0SUZ3aUxpOXBiWEJzTDJ4dlkyRnNaUzVxYzF3aU8xeHVhVzF3YjNKMElIdGNiaUFnYVhOVmJtUmxabWx1WldRc1hHNGdJRzFoZVdKbFFYSnlZWGtzWEc0Z0lHbHpSR0YwWlN4Y2JpQWdhWE5PZFcxaVpYSXNYRzRnSUdKbGMzUkNlU3hjYmlBZ1pHRjVjMGx1VFc5dWRHZ3NYRzRnSUdSaGVYTkpibGxsWVhJc1hHNGdJR2x6VEdWaGNGbGxZWElzWEc0Z0lIZGxaV3R6U1c1WFpXVnJXV1ZoY2l4Y2JpQWdibTl5YldGc2FYcGxUMkpxWldOMExGeHVJQ0J5YjNWdVpGUnZMRnh1SUNCdlltcFViMHh2WTJGc1ZGTXNYRzRnSUhCaFpGTjBZWEowTEZ4dWZTQm1jbTl0SUZ3aUxpOXBiWEJzTDNWMGFXd3Vhbk5jSWp0Y2JtbHRjRzl5ZENCN0lHNXZjbTFoYkdsNlpWcHZibVVnZlNCbWNtOXRJRndpTGk5cGJYQnNMM3B2Ym1WVmRHbHNMbXB6WENJN1hHNXBiWEJ2Y25RZ1pHbG1aaUJtY205dElGd2lMaTlwYlhCc0wyUnBabVl1YW5OY0lqdGNibWx0Y0c5eWRDQjdJSEJoY25ObFVrWkRNamd5TWtSaGRHVXNJSEJoY25ObFNWTlBSR0YwWlN3Z2NHRnljMlZJVkZSUVJHRjBaU3dnY0dGeWMyVlRVVXdnZlNCbWNtOXRJRndpTGk5cGJYQnNMM0psWjJWNFVHRnljMlZ5TG1welhDSTdYRzVwYlhCdmNuUWdleUJ3WVhKelpVWnliMjFVYjJ0bGJuTXNJR1Y0Y0d4aGFXNUdjbTl0Vkc5clpXNXpJSDBnWm5KdmJTQmNJaTR2YVcxd2JDOTBiMnRsYmxCaGNuTmxjaTVxYzF3aU8xeHVhVzF3YjNKMElIdGNiaUFnWjNKbFoyOXlhV0Z1Vkc5WFpXVnJMRnh1SUNCM1pXVnJWRzlIY21WbmIzSnBZVzRzWEc0Z0lHZHlaV2R2Y21saGJsUnZUM0prYVc1aGJDeGNiaUFnYjNKa2FXNWhiRlJ2UjNKbFoyOXlhV0Z1TEZ4dUlDQm9ZWE5KYm5aaGJHbGtSM0psWjI5eWFXRnVSR0YwWVN4Y2JpQWdhR0Z6U1c1MllXeHBaRmRsWld0RVlYUmhMRnh1SUNCb1lYTkpiblpoYkdsa1QzSmthVzVoYkVSaGRHRXNYRzRnSUdoaGMwbHVkbUZzYVdSVWFXMWxSR0YwWVN4Y2JuMGdabkp2YlNCY0lpNHZhVzF3YkM5amIyNTJaWEp6YVc5dWN5NXFjMXdpTzF4dWFXMXdiM0owSUNvZ1lYTWdSbTl5YldGMGN5Qm1jbTl0SUZ3aUxpOXBiWEJzTDJadmNtMWhkSE11YW5OY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVsdWRtRnNhV1JCY21kMWJXVnVkRVZ5Y205eUxGeHVJQ0JEYjI1bWJHbGpkR2x1WjFOd1pXTnBabWxqWVhScGIyNUZjbkp2Y2l4Y2JpQWdTVzUyWVd4cFpGVnVhWFJGY25KdmNpeGNiaUFnU1c1MllXeHBaRVJoZEdWVWFXMWxSWEp5YjNJc1hHNTlJR1p5YjIwZ1hDSXVMMlZ5Y205eWN5NXFjMXdpTzF4dWFXMXdiM0owSUVsdWRtRnNhV1FnWm5KdmJTQmNJaTR2YVcxd2JDOXBiblpoYkdsa0xtcHpYQ0k3WEc1Y2JtTnZibk4wSUVsT1ZrRk1TVVFnUFNCY0lrbHVkbUZzYVdRZ1JHRjBaVlJwYldWY0lqdGNibU52Ym5OMElFMUJXRjlFUVZSRklEMGdPQzQyTkdVeE5UdGNibHh1Wm5WdVkzUnBiMjRnZFc1emRYQndiM0owWldSYWIyNWxLSHB2Ym1VcElIdGNiaUFnY21WMGRYSnVJRzVsZHlCSmJuWmhiR2xrS0Z3aWRXNXpkWEJ3YjNKMFpXUWdlbTl1WlZ3aUxDQmdkR2hsSUhwdmJtVWdYQ0lrZTNwdmJtVXVibUZ0WlgxY0lpQnBjeUJ1YjNRZ2MzVndjRzl5ZEdWa1lDazdYRzU5WEc1Y2JpOHZJSGRsSUdOaFkyaGxJSGRsWldzZ1pHRjBZU0J2YmlCMGFHVWdSRlFnYjJKcVpXTjBJR0Z1WkNCMGFHbHpJR2x1ZEdWeWJXVmthV0YwWlhNZ2RHaGxJR05oWTJobFhHNW1kVzVqZEdsdmJpQndiM056YVdKc2VVTmhZMmhsWkZkbFpXdEVZWFJoS0dSMEtTQjdYRzRnSUdsbUlDaGtkQzUzWldWclJHRjBZU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJR1IwTG5kbFpXdEVZWFJoSUQwZ1ozSmxaMjl5YVdGdVZHOVhaV1ZyS0dSMExtTXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQmtkQzUzWldWclJHRjBZVHRjYm4xY2JseHVMeThnWTJ4dmJtVWdjbVZoYkd4NUlHMWxZVzV6TENCY0ltMWhhMlVnWVNCdVpYY2diMkpxWldOMElIZHBkR2dnZEdobGMyVWdiVzlrYVdacFkyRjBhVzl1YzF3aUxpQmhiR3dnWENKelpYUjBaWEp6WENJZ2NtVmhiR3g1SUhWelpTQjBhR2x6WEc0dkx5QjBieUJqY21WaGRHVWdZU0J1WlhjZ2IySnFaV04wSUhkb2FXeGxJRzl1YkhrZ1kyaGhibWRwYm1jZ2MyOXRaU0J2WmlCMGFHVWdjSEp2Y0dWeWRHbGxjMXh1Wm5WdVkzUnBiMjRnWTJ4dmJtVW9hVzV6ZEN3Z1lXeDBjeWtnZTF4dUlDQmpiMjV6ZENCamRYSnlaVzUwSUQwZ2UxeHVJQ0FnSUhSek9pQnBibk4wTG5SekxGeHVJQ0FnSUhwdmJtVTZJR2x1YzNRdWVtOXVaU3hjYmlBZ0lDQmpPaUJwYm5OMExtTXNYRzRnSUNBZ2J6b2dhVzV6ZEM1dkxGeHVJQ0FnSUd4dll6b2dhVzV6ZEM1c2IyTXNYRzRnSUNBZ2FXNTJZV3hwWkRvZ2FXNXpkQzVwYm5aaGJHbGtMRnh1SUNCOU8xeHVJQ0J5WlhSMWNtNGdibVYzSUVSaGRHVlVhVzFsS0hzZ0xpNHVZM1Z5Y21WdWRDd2dMaTR1WVd4MGN5d2diMnhrT2lCamRYSnlaVzUwSUgwcE8xeHVmVnh1WEc0dkx5Qm1hVzVrSUhSb1pTQnlhV2RvZENCdlptWnpaWFFnWVNCbmFYWmxiaUJzYjJOaGJDQjBhVzFsTGlCVWFHVWdieUJwYm5CMWRDQnBjeUJ2ZFhJZ1ozVmxjM01zSUhkb2FXTm9JR1JsZEdWeWJXbHVaWE1nZDJocFkyaGNiaTh2SUc5bVpuTmxkQ0IzWlNkc2JDQndhV05ySUdsdUlHRnRZbWxuZFc5MWN5QmpZWE5sY3lBb1pTNW5MaUIwYUdWeVpTQmhjbVVnZEhkdklETWdRVTF6SUdJdll5QkdZV3hzWW1GamF5QkVVMVFwWEc1bWRXNWpkR2x2YmlCbWFYaFBabVp6WlhRb2JHOWpZV3hVVXl3Z2J5d2dkSG9wSUh0Y2JpQWdMeThnVDNWeUlGVlVReUIwYVcxbElHbHpJR3AxYzNRZ1lTQm5kV1Z6Y3lCaVpXTmhkWE5sSUc5MWNpQnZabVp6WlhRZ2FYTWdhblZ6ZENCaElHZDFaWE56WEc0Z0lHeGxkQ0IxZEdOSGRXVnpjeUE5SUd4dlkyRnNWRk1nTFNCdklDb2dOakFnS2lBeE1EQXdPMXh1WEc0Z0lDOHZJRlJsYzNRZ2QyaGxkR2hsY2lCMGFHVWdlbTl1WlNCdFlYUmphR1Z6SUhSb1pTQnZabVp6WlhRZ1ptOXlJSFJvYVhNZ2RITmNiaUFnWTI5dWMzUWdieklnUFNCMGVpNXZabVp6WlhRb2RYUmpSM1ZsYzNNcE8xeHVYRzRnSUM4dklFbG1JSE52TENCdlptWnpaWFFnWkdsa2JpZDBJR05vWVc1blpTQmhibVFnZDJVbmNtVWdaRzl1WlZ4dUlDQnBaaUFvYnlBOVBUMGdieklwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdXM1YwWTBkMVpYTnpMQ0J2WFR0Y2JpQWdmVnh1WEc0Z0lDOHZJRWxtSUc1dmRDd2dZMmhoYm1kbElIUm9aU0IwY3lCaWVTQjBhR1VnWkdsbVptVnlaVzVqWlNCcGJpQjBhR1VnYjJabWMyVjBYRzRnSUhWMFkwZDFaWE56SUMwOUlDaHZNaUF0SUc4cElDb2dOakFnS2lBeE1EQXdPMXh1WEc0Z0lDOHZJRWxtSUhSb1lYUWdaMmwyWlhNZ2RYTWdkR2hsSUd4dlkyRnNJSFJwYldVZ2QyVWdkMkZ1ZEN3Z2QyVW5jbVVnWkc5dVpWeHVJQ0JqYjI1emRDQnZNeUE5SUhSNkxtOW1abk5sZENoMWRHTkhkV1Z6Y3lrN1hHNGdJR2xtSUNodk1pQTlQVDBnYnpNcElIdGNiaUFnSUNCeVpYUjFjbTRnVzNWMFkwZDFaWE56TENCdk1sMDdYRzRnSUgxY2JseHVJQ0F2THlCSlppQnBkQ2R6SUdScFptWmxjbVZ1ZEN3Z2QyVW5jbVVnYVc0Z1lTQm9iMnhsSUhScGJXVXVJRlJvWlNCdlptWnpaWFFnYUdGeklHTm9ZVzVuWldRc0lHSjFkQ0IwYUdVZ2QyVWdaRzl1SjNRZ1lXUnFkWE4wSUhSb1pTQjBhVzFsWEc0Z0lISmxkSFZ5YmlCYmJHOWpZV3hVVXlBdElFMWhkR2d1YldsdUtHOHlMQ0J2TXlrZ0tpQTJNQ0FxSURFd01EQXNJRTFoZEdndWJXRjRLRzh5TENCdk15bGRPMXh1ZlZ4dVhHNHZMeUJqYjI1MlpYSjBJR0Z1SUdWd2IyTm9JSFJwYldWemRHRnRjQ0JwYm5SdklHRWdZMkZzWlc1a1lYSWdiMkpxWldOMElIZHBkR2dnZEdobElHZHBkbVZ1SUc5bVpuTmxkRnh1Wm5WdVkzUnBiMjRnZEhOVWIwOWlhaWgwY3l3Z2IyWm1jMlYwS1NCN1hHNGdJSFJ6SUNzOUlHOW1abk5sZENBcUlEWXdJQ29nTVRBd01EdGNibHh1SUNCamIyNXpkQ0JrSUQwZ2JtVjNJRVJoZEdVb2RITXBPMXh1WEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnZVdWaGNqb2daQzVuWlhSVlZFTkdkV3hzV1dWaGNpZ3BMRnh1SUNBZ0lHMXZiblJvT2lCa0xtZGxkRlZVUTAxdmJuUm9LQ2tnS3lBeExGeHVJQ0FnSUdSaGVUb2daQzVuWlhSVlZFTkVZWFJsS0Nrc1hHNGdJQ0FnYUc5MWNqb2daQzVuWlhSVlZFTkliM1Z5Y3lncExGeHVJQ0FnSUcxcGJuVjBaVG9nWkM1blpYUlZWRU5OYVc1MWRHVnpLQ2tzWEc0Z0lDQWdjMlZqYjI1a09pQmtMbWRsZEZWVVExTmxZMjl1WkhNb0tTeGNiaUFnSUNCdGFXeHNhWE5sWTI5dVpEb2daQzVuWlhSVlZFTk5hV3hzYVhObFkyOXVaSE1vS1N4Y2JpQWdmVHRjYm4xY2JseHVMeThnWTI5dWRtVnlkQ0JoSUdOaGJHVnVaR0Z5SUc5aWFtVmpkQ0IwYnlCaElHVndiMk5vSUhScGJXVnpkR0Z0Y0Z4dVpuVnVZM1JwYjI0Z2IySnFWRzlVVXlodlltb3NJRzltWm5ObGRDd2dlbTl1WlNrZ2UxeHVJQ0J5WlhSMWNtNGdabWw0VDJabWMyVjBLRzlpYWxSdlRHOWpZV3hVVXlodlltb3BMQ0J2Wm1aelpYUXNJSHB2Ym1VcE8xeHVmVnh1WEc0dkx5QmpjbVZoZEdVZ1lTQnVaWGNnUkZRZ2FXNXpkR0Z1WTJVZ1lua2dZV1JrYVc1bklHRWdaSFZ5WVhScGIyNHNJR0ZrYW5WemRHbHVaeUJtYjNJZ1JGTlVjMXh1Wm5WdVkzUnBiMjRnWVdScWRYTjBWR2x0WlNocGJuTjBMQ0JrZFhJcElIdGNiaUFnWTI5dWMzUWdiMUJ5WlNBOUlHbHVjM1F1Ynl4Y2JpQWdJQ0I1WldGeUlEMGdhVzV6ZEM1akxubGxZWElnS3lCTllYUm9MblJ5ZFc1aktHUjFjaTU1WldGeWN5a3NYRzRnSUNBZ2JXOXVkR2dnUFNCcGJuTjBMbU11Ylc5dWRHZ2dLeUJOWVhSb0xuUnlkVzVqS0dSMWNpNXRiMjUwYUhNcElDc2dUV0YwYUM1MGNuVnVZeWhrZFhJdWNYVmhjblJsY25NcElDb2dNeXhjYmlBZ0lDQmpJRDBnZTF4dUlDQWdJQ0FnTGk0dWFXNXpkQzVqTEZ4dUlDQWdJQ0FnZVdWaGNpeGNiaUFnSUNBZ0lHMXZiblJvTEZ4dUlDQWdJQ0FnWkdGNU9seHVJQ0FnSUNBZ0lDQk5ZWFJvTG0xcGJpaHBibk4wTG1NdVpHRjVMQ0JrWVhselNXNU5iMjUwYUNoNVpXRnlMQ0J0YjI1MGFDa3BJQ3RjYmlBZ0lDQWdJQ0FnVFdGMGFDNTBjblZ1WXloa2RYSXVaR0Y1Y3lrZ0sxeHVJQ0FnSUNBZ0lDQk5ZWFJvTG5SeWRXNWpLR1IxY2k1M1pXVnJjeWtnS2lBM0xGeHVJQ0FnSUgwc1hHNGdJQ0FnYldsc2JHbHpWRzlCWkdRZ1BTQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHRjYmlBZ0lDQWdJSGxsWVhKek9pQmtkWEl1ZVdWaGNuTWdMU0JOWVhSb0xuUnlkVzVqS0dSMWNpNTVaV0Z5Y3lrc1hHNGdJQ0FnSUNCeGRXRnlkR1Z5Y3pvZ1pIVnlMbkYxWVhKMFpYSnpJQzBnVFdGMGFDNTBjblZ1WXloa2RYSXVjWFZoY25SbGNuTXBMRnh1SUNBZ0lDQWdiVzl1ZEdoek9pQmtkWEl1Ylc5dWRHaHpJQzBnVFdGMGFDNTBjblZ1WXloa2RYSXViVzl1ZEdoektTeGNiaUFnSUNBZ0lIZGxaV3R6T2lCa2RYSXVkMlZsYTNNZ0xTQk5ZWFJvTG5SeWRXNWpLR1IxY2k1M1pXVnJjeWtzWEc0Z0lDQWdJQ0JrWVhsek9pQmtkWEl1WkdGNWN5QXRJRTFoZEdndWRISjFibU1vWkhWeUxtUmhlWE1wTEZ4dUlDQWdJQ0FnYUc5MWNuTTZJR1IxY2k1b2IzVnljeXhjYmlBZ0lDQWdJRzFwYm5WMFpYTTZJR1IxY2k1dGFXNTFkR1Z6TEZ4dUlDQWdJQ0FnYzJWamIyNWtjem9nWkhWeUxuTmxZMjl1WkhNc1hHNGdJQ0FnSUNCdGFXeHNhWE5sWTI5dVpITTZJR1IxY2k1dGFXeHNhWE5sWTI5dVpITXNYRzRnSUNBZ2ZTa3VZWE1vWENKdGFXeHNhWE5sWTI5dVpITmNJaWtzWEc0Z0lDQWdiRzlqWVd4VVV5QTlJRzlpYWxSdlRHOWpZV3hVVXloaktUdGNibHh1SUNCc1pYUWdXM1J6TENCdlhTQTlJR1pwZUU5bVpuTmxkQ2hzYjJOaGJGUlRMQ0J2VUhKbExDQnBibk4wTG5wdmJtVXBPMXh1WEc0Z0lHbG1JQ2h0YVd4c2FYTlViMEZrWkNBaFBUMGdNQ2tnZTF4dUlDQWdJSFJ6SUNzOUlHMXBiR3hwYzFSdlFXUmtPMXh1SUNBZ0lDOHZJSFJvWVhRZ1kyOTFiR1FnYUdGMlpTQmphR0Z1WjJWa0lIUm9aU0J2Wm1aelpYUWdZbmtnWjI5cGJtY2diM1psY2lCaElFUlRWQ3dnWW5WMElIZGxJSGRoYm5RZ2RHOGdhMlZsY0NCMGFHVWdkSE1nZEdobElITmhiV1ZjYmlBZ0lDQnZJRDBnYVc1emRDNTZiMjVsTG05bVpuTmxkQ2gwY3lrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2V5QjBjeXdnYnlCOU8xeHVmVnh1WEc0dkx5Qm9aV3h3WlhJZ2RYTmxablZzSUdsdUlIUjFjbTVwYm1jZ2RHaGxJSEpsYzNWc2RITWdiMllnY0dGeWMybHVaeUJwYm5SdklISmxZV3dnWkdGMFpYTmNiaTh2SUdKNUlHaGhibVJzYVc1bklIUm9aU0I2YjI1bElHOXdkR2x2Ym5OY2JtWjFibU4wYVc5dUlIQmhjbk5sUkdGMFlWUnZSR0YwWlZScGJXVW9jR0Z5YzJWa0xDQndZWEp6WldSYWIyNWxMQ0J2Y0hSekxDQm1iM0p0WVhRc0lIUmxlSFFzSUhOd1pXTnBabWxqVDJabWMyVjBLU0I3WEc0Z0lHTnZibk4wSUhzZ2MyVjBXbTl1WlN3Z2VtOXVaU0I5SUQwZ2IzQjBjenRjYmlBZ2FXWWdLSEJoY25ObFpDQW1KaUJQWW1wbFkzUXVhMlY1Y3lod1lYSnpaV1FwTG14bGJtZDBhQ0FoUFQwZ01Da2dlMXh1SUNBZ0lHTnZibk4wSUdsdWRHVnljSEpsZEdGMGFXOXVXbTl1WlNBOUlIQmhjbk5sWkZwdmJtVWdmSHdnZW05dVpTeGNiaUFnSUNBZ0lHbHVjM1FnUFNCRVlYUmxWR2x0WlM1bWNtOXRUMkpxWldOMEtIQmhjbk5sWkN3Z2UxeHVJQ0FnSUNBZ0lDQXVMaTV2Y0hSekxGeHVJQ0FnSUNBZ0lDQjZiMjVsT2lCcGJuUmxjbkJ5WlhSaGRHbHZibHB2Ym1Vc1hHNGdJQ0FnSUNBZ0lITndaV05wWm1salQyWm1jMlYwTEZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnY21WMGRYSnVJSE5sZEZwdmJtVWdQeUJwYm5OMElEb2dhVzV6ZEM1elpYUmFiMjVsS0hwdmJtVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQkVZWFJsVkdsdFpTNXBiblpoYkdsa0tGeHVJQ0FnSUNBZ2JtVjNJRWx1ZG1Gc2FXUW9YQ0oxYm5CaGNuTmhZbXhsWENJc0lHQjBhR1VnYVc1d2RYUWdYQ0lrZTNSbGVIUjlYQ0lnWTJGdUozUWdZbVVnY0dGeWMyVmtJR0Z6SUNSN1ptOXliV0YwZldBcFhHNGdJQ0FnS1R0Y2JpQWdmVnh1ZlZ4dVhHNHZMeUJwWmlCNWIzVWdkMkZ1ZENCMGJ5QnZkWFJ3ZFhRZ1lTQjBaV05vYm1sallXd2dabTl5YldGMElDaGxMbWN1SUZKR1F5QXlPREl5S1N3Z2RHaHBjeUJvWld4d1pYSmNiaTh2SUdobGJIQnpJR2hoYm1Sc1pTQjBhR1VnWkdWMFlXbHNjMXh1Wm5WdVkzUnBiMjRnZEc5VVpXTm9SbTl5YldGMEtHUjBMQ0JtYjNKdFlYUXNJR0ZzYkc5M1dpQTlJSFJ5ZFdVcElIdGNiaUFnY21WMGRYSnVJR1IwTG1selZtRnNhV1JjYmlBZ0lDQS9JRVp2Y20xaGRIUmxjaTVqY21WaGRHVW9URzlqWVd4bExtTnlaV0YwWlNoY0ltVnVMVlZUWENJcExDQjdYRzRnSUNBZ0lDQWdJR0ZzYkc5M1dpeGNiaUFnSUNBZ0lDQWdabTl5WTJWVGFXMXdiR1U2SUhSeWRXVXNYRzRnSUNBZ0lDQjlLUzVtYjNKdFlYUkVZWFJsVkdsdFpVWnliMjFUZEhKcGJtY29aSFFzSUdadmNtMWhkQ2xjYmlBZ0lDQTZJRzUxYkd3N1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhSdlNWTlBSR0YwWlNodkxDQmxlSFJsYm1SbFpDa2dlMXh1SUNCamIyNXpkQ0JzYjI1blJtOXliV0YwSUQwZ2J5NWpMbmxsWVhJZ1BpQTVPVGs1SUh4OElHOHVZeTU1WldGeUlEd2dNRHRjYmlBZ2JHVjBJR01nUFNCY0lsd2lPMXh1SUNCcFppQW9iRzl1WjBadmNtMWhkQ0FtSmlCdkxtTXVlV1ZoY2lBK1BTQXdLU0JqSUNzOUlGd2lLMXdpTzF4dUlDQmpJQ3M5SUhCaFpGTjBZWEowS0c4dVl5NTVaV0Z5TENCc2IyNW5SbTl5YldGMElEOGdOaUE2SURRcE8xeHVYRzRnSUdsbUlDaGxlSFJsYm1SbFpDa2dlMXh1SUNBZ0lHTWdLejBnWENJdFhDSTdYRzRnSUNBZ1l5QXJQU0J3WVdSVGRHRnlkQ2h2TG1NdWJXOXVkR2dwTzF4dUlDQWdJR01nS3owZ1hDSXRYQ0k3WEc0Z0lDQWdZeUFyUFNCd1lXUlRkR0Z5ZENodkxtTXVaR0Y1S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCaklDczlJSEJoWkZOMFlYSjBLRzh1WXk1dGIyNTBhQ2s3WEc0Z0lDQWdZeUFyUFNCd1lXUlRkR0Z5ZENodkxtTXVaR0Y1S1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnWXp0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZEc5SlUwOVVhVzFsS0Z4dUlDQnZMRnh1SUNCbGVIUmxibVJsWkN4Y2JpQWdjM1Z3Y0hKbGMzTlRaV052Ym1SekxGeHVJQ0J6ZFhCd2NtVnpjMDFwYkd4cGMyVmpiMjVrY3l4Y2JpQWdhVzVqYkhWa1pVOW1abk5sZEN4Y2JpQWdaWGgwWlc1a1pXUmFiMjVsWEc0cElIdGNiaUFnYkdWMElHTWdQU0J3WVdSVGRHRnlkQ2h2TG1NdWFHOTFjaWs3WEc0Z0lHbG1JQ2hsZUhSbGJtUmxaQ2tnZTF4dUlDQWdJR01nS3owZ1hDSTZYQ0k3WEc0Z0lDQWdZeUFyUFNCd1lXUlRkR0Z5ZENodkxtTXViV2x1ZFhSbEtUdGNiaUFnSUNCcFppQW9ieTVqTG5ObFkyOXVaQ0FoUFQwZ01DQjhmQ0FoYzNWd2NISmxjM05UWldOdmJtUnpLU0I3WEc0Z0lDQWdJQ0JqSUNzOUlGd2lPbHdpTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JqSUNzOUlIQmhaRk4wWVhKMEtHOHVZeTV0YVc1MWRHVXBPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHOHVZeTV6WldOdmJtUWdJVDA5SURBZ2ZId2dJWE4xY0hCeVpYTnpVMlZqYjI1a2N5a2dlMXh1SUNBZ0lHTWdLejBnY0dGa1UzUmhjblFvYnk1akxuTmxZMjl1WkNrN1hHNWNiaUFnSUNCcFppQW9ieTVqTG0xcGJHeHBjMlZqYjI1a0lDRTlQU0F3SUh4OElDRnpkWEJ3Y21WemMwMXBiR3hwYzJWamIyNWtjeWtnZTF4dUlDQWdJQ0FnWXlBclBTQmNJaTVjSWp0Y2JpQWdJQ0FnSUdNZ0t6MGdjR0ZrVTNSaGNuUW9ieTVqTG0xcGJHeHBjMlZqYjI1a0xDQXpLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JwWmlBb2FXNWpiSFZrWlU5bVpuTmxkQ2tnZTF4dUlDQWdJR2xtSUNodkxtbHpUMlptYzJWMFJtbDRaV1FnSmlZZ2J5NXZabVp6WlhRZ1BUMDlJREFnSmlZZ0lXVjRkR1Z1WkdWa1dtOXVaU2tnZTF4dUlDQWdJQ0FnWXlBclBTQmNJbHBjSWp0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c4dWJ5QThJREFwSUh0Y2JpQWdJQ0FnSUdNZ0t6MGdYQ0l0WENJN1hHNGdJQ0FnSUNCaklDczlJSEJoWkZOMFlYSjBLRTFoZEdndWRISjFibU1vTFc4dWJ5QXZJRFl3S1NrN1hHNGdJQ0FnSUNCaklDczlJRndpT2x3aU8xeHVJQ0FnSUNBZ1l5QXJQU0J3WVdSVGRHRnlkQ2hOWVhSb0xuUnlkVzVqS0MxdkxtOGdKU0EyTUNrcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqSUNzOUlGd2lLMXdpTzF4dUlDQWdJQ0FnWXlBclBTQndZV1JUZEdGeWRDaE5ZWFJvTG5SeWRXNWpLRzh1YnlBdklEWXdLU2s3WEc0Z0lDQWdJQ0JqSUNzOUlGd2lPbHdpTzF4dUlDQWdJQ0FnWXlBclBTQndZV1JUZEdGeWRDaE5ZWFJvTG5SeWRXNWpLRzh1YnlBbElEWXdLU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tHVjRkR1Z1WkdWa1dtOXVaU2tnZTF4dUlDQWdJR01nS3owZ1hDSmJYQ0lnS3lCdkxucHZibVV1YVdGdVlVNWhiV1VnS3lCY0lsMWNJanRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdZenRjYm4xY2JseHVMeThnWkdWbVlYVnNkSE1nWm05eUlIVnVjM0JsWTJsbWFXVmtJSFZ1YVhSeklHbHVJSFJvWlNCemRYQndiM0owWldRZ1kyRnNaVzVrWVhKelhHNWpiMjV6ZENCa1pXWmhkV3gwVlc1cGRGWmhiSFZsY3lBOUlIdGNiaUFnSUNCdGIyNTBhRG9nTVN4Y2JpQWdJQ0JrWVhrNklERXNYRzRnSUNBZ2FHOTFjam9nTUN4Y2JpQWdJQ0J0YVc1MWRHVTZJREFzWEc0Z0lDQWdjMlZqYjI1a09pQXdMRnh1SUNBZ0lHMXBiR3hwYzJWamIyNWtPaUF3TEZ4dUlDQjlMRnh1SUNCa1pXWmhkV3gwVjJWbGExVnVhWFJXWVd4MVpYTWdQU0I3WEc0Z0lDQWdkMlZsYTA1MWJXSmxjam9nTVN4Y2JpQWdJQ0IzWldWclpHRjVPaUF4TEZ4dUlDQWdJR2h2ZFhJNklEQXNYRzRnSUNBZ2JXbHVkWFJsT2lBd0xGeHVJQ0FnSUhObFkyOXVaRG9nTUN4Y2JpQWdJQ0J0YVd4c2FYTmxZMjl1WkRvZ01DeGNiaUFnZlN4Y2JpQWdaR1ZtWVhWc2RFOXlaR2x1WVd4VmJtbDBWbUZzZFdWeklEMGdlMXh1SUNBZ0lHOXlaR2x1WVd3NklERXNYRzRnSUNBZ2FHOTFjam9nTUN4Y2JpQWdJQ0J0YVc1MWRHVTZJREFzWEc0Z0lDQWdjMlZqYjI1a09pQXdMRnh1SUNBZ0lHMXBiR3hwYzJWamIyNWtPaUF3TEZ4dUlDQjlPMXh1WEc0dkx5QlZibWwwY3lCcGJpQjBhR1VnYzNWd2NHOXlkR1ZrSUdOaGJHVnVaR0Z5Y3l3Z2MyOXlkR1ZrSUdKNUlHSnBaMjVsYzNOY2JtTnZibk4wSUc5eVpHVnlaV1JWYm1sMGN5QTlJRnRjSW5sbFlYSmNJaXdnWENKdGIyNTBhRndpTENCY0ltUmhlVndpTENCY0ltaHZkWEpjSWl3Z1hDSnRhVzUxZEdWY0lpd2dYQ0p6WldOdmJtUmNJaXdnWENKdGFXeHNhWE5sWTI5dVpGd2lYU3hjYmlBZ2IzSmtaWEpsWkZkbFpXdFZibWwwY3lBOUlGdGNiaUFnSUNCY0luZGxaV3RaWldGeVhDSXNYRzRnSUNBZ1hDSjNaV1ZyVG5WdFltVnlYQ0lzWEc0Z0lDQWdYQ0ozWldWclpHRjVYQ0lzWEc0Z0lDQWdYQ0pvYjNWeVhDSXNYRzRnSUNBZ1hDSnRhVzUxZEdWY0lpeGNiaUFnSUNCY0luTmxZMjl1WkZ3aUxGeHVJQ0FnSUZ3aWJXbHNiR2x6WldOdmJtUmNJaXhjYmlBZ1hTeGNiaUFnYjNKa1pYSmxaRTl5WkdsdVlXeFZibWwwY3lBOUlGdGNJbmxsWVhKY0lpd2dYQ0p2Y21ScGJtRnNYQ0lzSUZ3aWFHOTFjbHdpTENCY0ltMXBiblYwWlZ3aUxDQmNJbk5sWTI5dVpGd2lMQ0JjSW0xcGJHeHBjMlZqYjI1a1hDSmRPMXh1WEc0dkx5QnpkR0Z1WkdGeVpHbDZaU0JqWVhObElHRnVaQ0J3YkhWeVlXeHBkSGtnYVc0Z2RXNXBkSE5jYm1aMWJtTjBhVzl1SUc1dmNtMWhiR2w2WlZWdWFYUW9kVzVwZENrZ2UxeHVJQ0JqYjI1emRDQnViM0p0WVd4cGVtVmtJRDBnZTF4dUlDQWdJSGxsWVhJNklGd2llV1ZoY2x3aUxGeHVJQ0FnSUhsbFlYSnpPaUJjSW5sbFlYSmNJaXhjYmlBZ0lDQnRiMjUwYURvZ1hDSnRiMjUwYUZ3aUxGeHVJQ0FnSUcxdmJuUm9jem9nWENKdGIyNTBhRndpTEZ4dUlDQWdJR1JoZVRvZ1hDSmtZWGxjSWl4Y2JpQWdJQ0JrWVhsek9pQmNJbVJoZVZ3aUxGeHVJQ0FnSUdodmRYSTZJRndpYUc5MWNsd2lMRnh1SUNBZ0lHaHZkWEp6T2lCY0ltaHZkWEpjSWl4Y2JpQWdJQ0J0YVc1MWRHVTZJRndpYldsdWRYUmxYQ0lzWEc0Z0lDQWdiV2x1ZFhSbGN6b2dYQ0p0YVc1MWRHVmNJaXhjYmlBZ0lDQnhkV0Z5ZEdWeU9pQmNJbkYxWVhKMFpYSmNJaXhjYmlBZ0lDQnhkV0Z5ZEdWeWN6b2dYQ0p4ZFdGeWRHVnlYQ0lzWEc0Z0lDQWdjMlZqYjI1a09pQmNJbk5sWTI5dVpGd2lMRnh1SUNBZ0lITmxZMjl1WkhNNklGd2ljMlZqYjI1a1hDSXNYRzRnSUNBZ2JXbHNiR2x6WldOdmJtUTZJRndpYldsc2JHbHpaV052Ym1SY0lpeGNiaUFnSUNCdGFXeHNhWE5sWTI5dVpITTZJRndpYldsc2JHbHpaV052Ym1SY0lpeGNiaUFnSUNCM1pXVnJaR0Y1T2lCY0luZGxaV3RrWVhsY0lpeGNiaUFnSUNCM1pXVnJaR0Y1Y3pvZ1hDSjNaV1ZyWkdGNVhDSXNYRzRnSUNBZ2QyVmxhMjUxYldKbGNqb2dYQ0ozWldWclRuVnRZbVZ5WENJc1hHNGdJQ0FnZDJWbGEzTnVkVzFpWlhJNklGd2lkMlZsYTA1MWJXSmxjbHdpTEZ4dUlDQWdJSGRsWld0dWRXMWlaWEp6T2lCY0luZGxaV3RPZFcxaVpYSmNJaXhjYmlBZ0lDQjNaV1ZyZVdWaGNqb2dYQ0ozWldWcldXVmhjbHdpTEZ4dUlDQWdJSGRsWld0NVpXRnljem9nWENKM1pXVnJXV1ZoY2x3aUxGeHVJQ0FnSUc5eVpHbHVZV3c2SUZ3aWIzSmthVzVoYkZ3aUxGeHVJQ0I5VzNWdWFYUXVkRzlNYjNkbGNrTmhjMlVvS1YwN1hHNWNiaUFnYVdZZ0tDRnViM0p0WVd4cGVtVmtLU0IwYUhKdmR5QnVaWGNnU1c1MllXeHBaRlZ1YVhSRmNuSnZjaWgxYm1sMEtUdGNibHh1SUNCeVpYUjFjbTRnYm05eWJXRnNhWHBsWkR0Y2JuMWNibHh1THk4Z2RHaHBjeUJwY3lCaElHUjFiV0psWkNCa2IzZHVJSFpsY25OcGIyNGdiMllnWm5KdmJVOWlhbVZqZENncElIUm9ZWFFnY25WdWN5QmhZbTkxZENBMk1DVWdabUZ6ZEdWeVhHNHZMeUJpZFhRZ1pHOWxjMjRuZENCa2J5QmhibmtnZG1Gc2FXUmhkR2x2Yml3Z2JXRnJaWE1nWVNCaWRXNWphQ0J2WmlCaGMzTjFiWEIwYVc5dWN5QmhZbTkxZENCM2FHRjBJSFZ1YVhSelhHNHZMeUJoY21VZ2NISmxjMlZ1ZEN3Z1lXNWtJSE52SUc5dUxseHVablZ1WTNScGIyNGdjWFZwWTJ0RVZDaHZZbW9zSUc5d2RITXBJSHRjYmlBZ1kyOXVjM1FnZW05dVpTQTlJRzV2Y20xaGJHbDZaVnB2Ym1Vb2IzQjBjeTU2YjI1bExDQlRaWFIwYVc1bmN5NWtaV1poZFd4MFdtOXVaU2tzWEc0Z0lDQWdiRzlqSUQwZ1RHOWpZV3hsTG1aeWIyMVBZbXBsWTNRb2IzQjBjeWtzWEc0Z0lDQWdkSE5PYjNjZ1BTQlRaWFIwYVc1bmN5NXViM2NvS1R0Y2JseHVJQ0JzWlhRZ2RITXNJRzg3WEc1Y2JpQWdMeThnWVhOemRXMWxJSGRsSUdoaGRtVWdkR2hsSUdocFoyaGxjaTF2Y21SbGNpQjFibWwwYzF4dUlDQnBaaUFvSVdselZXNWtaV1pwYm1Wa0tHOWlhaTU1WldGeUtTa2dlMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdkU0J2WmlCdmNtUmxjbVZrVlc1cGRITXBJSHRjYmlBZ0lDQWdJR2xtSUNocGMxVnVaR1ZtYVc1bFpDaHZZbXBiZFYwcEtTQjdYRzRnSUNBZ0lDQWdJRzlpYWx0MVhTQTlJR1JsWm1GMWJIUlZibWwwVm1Gc2RXVnpXM1ZkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHbHVkbUZzYVdRZ1BTQm9ZWE5KYm5aaGJHbGtSM0psWjI5eWFXRnVSR0YwWVNodlltb3BJSHg4SUdoaGMwbHVkbUZzYVdSVWFXMWxSR0YwWVNodlltb3BPMXh1SUNBZ0lHbG1JQ2hwYm5aaGJHbGtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSR0YwWlZScGJXVXVhVzUyWVd4cFpDaHBiblpoYkdsa0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J2Wm1aelpYUlFjbTkyYVhNZ1BTQjZiMjVsTG05bVpuTmxkQ2gwYzA1dmR5azdYRzRnSUNBZ1czUnpMQ0J2WFNBOUlHOWlhbFJ2VkZNb2IySnFMQ0J2Wm1aelpYUlFjbTkyYVhNc0lIcHZibVVwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSeklEMGdkSE5PYjNjN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtVjNJRVJoZEdWVWFXMWxLSHNnZEhNc0lIcHZibVVzSUd4dll5d2dieUI5S1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWkdsbVpsSmxiR0YwYVhabEtITjBZWEowTENCbGJtUXNJRzl3ZEhNcElIdGNiaUFnWTI5dWMzUWdjbTkxYm1RZ1BTQnBjMVZ1WkdWbWFXNWxaQ2h2Y0hSekxuSnZkVzVrS1NBL0lIUnlkV1VnT2lCdmNIUnpMbkp2ZFc1a0xGeHVJQ0FnSUdadmNtMWhkQ0E5SUNoakxDQjFibWwwS1NBOVBpQjdYRzRnSUNBZ0lDQmpJRDBnY205MWJtUlVieWhqTENCeWIzVnVaQ0I4ZkNCdmNIUnpMbU5oYkdWdVpHRnllU0EvSURBZ09pQXlMQ0IwY25WbEtUdGNiaUFnSUNBZ0lHTnZibk4wSUdadmNtMWhkSFJsY2lBOUlHVnVaQzVzYjJNdVkyeHZibVVvYjNCMGN5a3VjbVZzUm05eWJXRjBkR1Z5S0c5d2RITXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWnZjbTFoZEhSbGNpNW1iM0p0WVhRb1l5d2dkVzVwZENrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0JrYVdabVpYSWdQU0FvZFc1cGRDa2dQVDRnZTF4dUlDQWdJQ0FnYVdZZ0tHOXdkSE11WTJGc1pXNWtZWEo1S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doWlc1a0xtaGhjMU5oYldVb2MzUmhjblFzSUhWdWFYUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdWdVpDNXpkR0Z5ZEU5bUtIVnVhWFFwTG1ScFptWW9jM1JoY25RdWMzUmhjblJQWmloMWJtbDBLU3dnZFc1cGRDa3VaMlYwS0hWdWFYUXBPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdjbVYwZFhKdUlEQTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pXNWtMbVJwWm1Zb2MzUmhjblFzSUhWdWFYUXBMbWRsZENoMWJtbDBLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlPMXh1WEc0Z0lHbG1JQ2h2Y0hSekxuVnVhWFFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabTl5YldGMEtHUnBabVpsY2lodmNIUnpMblZ1YVhRcExDQnZjSFJ6TG5WdWFYUXBPMXh1SUNCOVhHNWNiaUFnWm05eUlDaGpiMjV6ZENCMWJtbDBJRzltSUc5d2RITXVkVzVwZEhNcElIdGNiaUFnSUNCamIyNXpkQ0JqYjNWdWRDQTlJR1JwWm1abGNpaDFibWwwS1R0Y2JpQWdJQ0JwWmlBb1RXRjBhQzVoWW5Nb1kyOTFiblFwSUQ0OUlERXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1iM0p0WVhRb1kyOTFiblFzSUhWdWFYUXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQnlaWFIxY200Z1ptOXliV0YwS0hOMFlYSjBJRDRnWlc1a0lEOGdMVEFnT2lBd0xDQnZjSFJ6TG5WdWFYUnpXMjl3ZEhNdWRXNXBkSE11YkdWdVozUm9JQzBnTVYwcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCc1lYTjBUM0IwY3loaGNtZE1hWE4wS1NCN1hHNGdJR3hsZENCdmNIUnpJRDBnZTMwc1hHNGdJQ0FnWVhKbmN6dGNiaUFnYVdZZ0tHRnlaMHhwYzNRdWJHVnVaM1JvSUQ0Z01DQW1KaUIwZVhCbGIyWWdZWEpuVEdsemRGdGhjbWRNYVhOMExteGxibWQwYUNBdElERmRJRDA5UFNCY0ltOWlhbVZqZEZ3aUtTQjdYRzRnSUNBZ2IzQjBjeUE5SUdGeVoweHBjM1JiWVhKblRHbHpkQzVzWlc1bmRHZ2dMU0F4WFR0Y2JpQWdJQ0JoY21keklEMGdRWEp5WVhrdVpuSnZiU2hoY21kTWFYTjBLUzV6YkdsalpTZ3dMQ0JoY21kTWFYTjBMbXhsYm1kMGFDQXRJREVwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUdGeVozTWdQU0JCY25KaGVTNW1jbTl0S0dGeVoweHBjM1FwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJiYjNCMGN5d2dZWEpuYzEwN1hHNTlYRzVjYmk4cUtseHVJQ29nUVNCRVlYUmxWR2x0WlNCcGN5QmhiaUJwYlcxMWRHRmliR1VnWkdGMFlTQnpkSEoxWTNSMWNtVWdjbVZ3Y21WelpXNTBhVzVuSUdFZ2MzQmxZMmxtYVdNZ1pHRjBaU0JoYm1RZ2RHbHRaU0JoYm1RZ1lXTmpiMjF3WVc1NWFXNW5JRzFsZEdodlpITXVJRWwwSUdOdmJuUmhhVzV6SUdOc1lYTnpJR0Z1WkNCcGJuTjBZVzVqWlNCdFpYUm9iMlJ6SUdadmNpQmpjbVZoZEdsdVp5d2djR0Z5YzJsdVp5d2dhVzUwWlhKeWIyZGhkR2x1Wnl3Z2RISmhibk5tYjNKdGFXNW5MQ0JoYm1RZ1ptOXliV0YwZEdsdVp5QjBhR1Z0TGx4dUlDcGNiaUFxSUVFZ1JHRjBaVlJwYldVZ1kyOXRjSEpwYzJWeklHOW1PbHh1SUNvZ0tpQkJJSFJwYldWemRHRnRjQzRnUldGamFDQkVZWFJsVkdsdFpTQnBibk4wWVc1alpTQnlaV1psY25NZ2RHOGdZU0J6Y0dWamFXWnBZeUJ0YVd4c2FYTmxZMjl1WkNCdlppQjBhR1VnVlc1cGVDQmxjRzlqYUM1Y2JpQXFJQ29nUVNCMGFXMWxJSHB2Ym1VdUlFVmhZMmdnYVc1emRHRnVZMlVnYVhNZ1kyOXVjMmxrWlhKbFpDQnBiaUIwYUdVZ1kyOXVkR1Y0ZENCdlppQmhJSE53WldOcFptbGpJSHB2Ym1VZ0tHSjVJR1JsWm1GMWJIUWdkR2hsSUd4dlkyRnNJSE41YzNSbGJTZHpJSHB2Ym1VcExseHVJQ29nS2lCRGIyNW1hV2QxY21GMGFXOXVJSEJ5YjNCbGNuUnBaWE1nZEdoaGRDQmxabVpsWTNRZ2FHOTNJRzkxZEhCMWRDQnpkSEpwYm1keklHRnlaU0JtYjNKdFlYUjBaV1FzSUhOMVkyZ2dZWE1nWUd4dlkyRnNaV0FzSUdCdWRXMWlaWEpwYm1kVGVYTjBaVzFnTENCaGJtUWdZRzkxZEhCMWRFTmhiR1Z1WkdGeVlDNWNiaUFxWEc0Z0tpQklaWEpsSUdseklHRWdZbkpwWldZZ2IzWmxjblpwWlhjZ2IyWWdkR2hsSUcxdmMzUWdZMjl0Ylc5dWJIa2dkWE5sWkNCbWRXNWpkR2x2Ym1Gc2FYUjVJR2wwSUhCeWIzWnBaR1Z6T2x4dUlDcGNiaUFxSUNvZ0tpcERjbVZoZEdsdmJpb3FPaUJVYnlCamNtVmhkR1VnWVNCRVlYUmxWR2x0WlNCbWNtOXRJR2wwY3lCamIyMXdiMjVsYm5SekxDQjFjMlVnYjI1bElHOW1JR2wwY3lCbVlXTjBiM0o1SUdOc1lYTnpJRzFsZEdodlpITTZJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTnNiMk5oYkgwc0lIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMWRHTjlMQ0JoYm1RZ0tHMXZjM1FnWm14bGVHbGliSGtwSUh0QWJHbHVheUJFWVhSbFZHbHRaU05tY205dFQySnFaV04wZlM0Z1ZHOGdZM0psWVhSbElHOXVaU0JtY205dElHRWdjM1JoYm1SaGNtUWdjM1J5YVc1bklHWnZjbTFoZEN3Z2RYTmxJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTm1jbTl0U1ZOUGZTd2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkyWnliMjFJVkZSUWZTd2dZVzVrSUh0QWJHbHVheUJFWVhSbFZHbHRaU05tY205dFVrWkRNamd5TW4wdUlGUnZJR055WldGMFpTQnZibVVnWm5KdmJTQmhJR04xYzNSdmJTQnpkSEpwYm1jZ1ptOXliV0YwTENCMWMyVWdlMEJzYVc1cklFUmhkR1ZVYVcxbEkyWnliMjFHYjNKdFlYUjlMaUJVYnlCamNtVmhkR1VnYjI1bElHWnliMjBnWVNCdVlYUnBkbVVnU2xNZ1pHRjBaU3dnZFhObElIdEFiR2x1YXlCRVlYUmxWR2x0WlNObWNtOXRTbE5FWVhSbGZTNWNiaUFxSUNvZ0tpcEhjbVZuYjNKcFlXNGdZMkZzWlc1a1lYSWdZVzVrSUhScGJXVXFLam9nVkc4Z1pYaGhiV2x1WlNCMGFHVWdSM0psWjI5eWFXRnVJSEJ5YjNCbGNuUnBaWE1nYjJZZ1lTQkVZWFJsVkdsdFpTQnBibVJwZG1sa2RXRnNiSGtnS0drdVpTQmhjeUJ2Y0hCdmMyVmtJSFJ2SUdOdmJHeGxZM1JwZG1Wc2VTQjBhSEp2ZFdkb0lIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIwOWlhbVZqZEgwcExDQjFjMlVnZEdobElIdEFiR2x1YXlCRVlYUmxWR2x0WlNONVpXRnlmU3dnZTBCc2FXNXJJRVJoZEdWVWFXMWxJMjF2Ym5Sb2ZTeGNiaUFxSUh0QWJHbHVheUJFWVhSbFZHbHRaU05rWVhsOUxDQjdRR3hwYm1zZ1JHRjBaVlJwYldVamFHOTFjbjBzSUh0QWJHbHVheUJFWVhSbFZHbHRaU050YVc1MWRHVjlMQ0I3UUd4cGJtc2dSR0YwWlZScGJXVWpjMlZqYjI1a2ZTd2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkyMXBiR3hwYzJWamIyNWtmU0JoWTJObGMzTnZjbk11WEc0Z0tpQXFJQ29xVjJWbGF5QmpZV3hsYm1SaGNpb3FPaUJHYjNJZ1NWTlBJSGRsWldzZ1kyRnNaVzVrWVhJZ1lYUjBjbWxpZFhSbGN5d2djMlZsSUhSb1pTQjdRR3hwYm1zZ1JHRjBaVlJwYldVamQyVmxhMWxsWVhKOUxDQjdRR3hwYm1zZ1JHRjBaVlJwYldVamQyVmxhMDUxYldKbGNuMHNJR0Z1WkNCN1FHeHBibXNnUkdGMFpWUnBiV1VqZDJWbGEyUmhlWDBnWVdOalpYTnpiM0p6TGx4dUlDb2dLaUFxS2tOdmJtWnBaM1Z5WVhScGIyNHFLaUJUWldVZ2RHaGxJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTnNiMk5oYkdWOUlHRnVaQ0I3UUd4cGJtc2dSR0YwWlZScGJXVWpiblZ0WW1WeWFXNW5VM2x6ZEdWdGZTQmhZMk5sYzNOdmNuTXVYRzRnS2lBcUlDb3FWSEpoYm5ObWIzSnRZWFJwYjI0cUtqb2dWRzhnZEhKaGJuTm1iM0p0SUhSb1pTQkVZWFJsVkdsdFpTQnBiblJ2SUc5MGFHVnlJRVJoZEdWVWFXMWxjeXdnZFhObElIdEFiR2x1YXlCRVlYUmxWR2x0WlNOelpYUjlMQ0I3UUd4cGJtc2dSR0YwWlZScGJXVWpjbVZqYjI1bWFXZDFjbVY5TENCN1FHeHBibXNnUkdGMFpWUnBiV1VqYzJWMFdtOXVaWDBzSUh0QWJHbHVheUJFWVhSbFZHbHRaU056WlhSTWIyTmhiR1Y5TENCN1FHeHBibXNnUkdGMFpWUnBiV1V1Y0d4MWMzMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTnRhVzUxYzMwc0lIdEFiR2x1YXlCRVlYUmxWR2x0WlNObGJtUlBabjBzSUh0QWJHbHVheUJFWVhSbFZHbHRaU056ZEdGeWRFOW1mU3dnZTBCc2FXNXJJRVJoZEdWVWFXMWxJM1J2VlZSRGZTd2dZVzVrSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNmUzVjYmlBcUlDb2dLaXBQZFhSd2RYUXFLam9nVkc4Z1kyOXVkbVZ5ZENCMGFHVWdSR0YwWlZScGJXVWdkRzhnYjNSb1pYSWdjbVZ3Y21WelpXNTBZWFJwYjI1ekxDQjFjMlVnZEdobElIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIxSmxiR0YwYVhabGZTd2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkzUnZVbVZzWVhScGRtVkRZV3hsYm1SaGNuMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHBUVDA1OUxDQjdRR3hwYm1zZ1JHRjBaVlJwYldVamRHOUpVMDk5TENCN1FHeHBibXNnUkdGMFpWUnBiV1VqZEc5SVZGUlFmU3dnZTBCc2FXNXJJRVJoZEdWVWFXMWxJM1J2VDJKcVpXTjBmU3dnZTBCc2FXNXJJRVJoZEdWVWFXMWxJM1J2VWtaRE1qZ3lNbjBzSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjFOMGNtbHVaMzBzSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNaVk4wY21sdVozMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMFp2Y20xaGRIMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMDFwYkd4cGMzMGdZVzVrSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjBwVFJHRjBaWDB1WEc0Z0tseHVJQ29nVkdobGNtVW5jeUJ3YkdWdWRIa2diM1JvWlhKeklHUnZZM1Z0Wlc1MFpXUWdZbVZzYjNjdUlFbHVJR0ZrWkdsMGFXOXVMQ0JtYjNJZ2JXOXlaU0JwYm1admNtMWhkR2x2YmlCdmJpQnpkV0owYkdWeUlIUnZjR2xqY3lCc2FXdGxJR2x1ZEdWeWJtRjBhVzl1WVd4cGVtRjBhVzl1TENCMGFXMWxJSHB2Ym1WekxDQmhiSFJsY201aGRHbDJaU0JqWVd4bGJtUmhjbk1zSUhaaGJHbGthWFI1TENCaGJtUWdjMjhnYjI0c0lITmxaU0IwYUdVZ1pYaDBaWEp1WVd3Z1pHOWpkVzFsYm5SaGRHbHZiaTVjYmlBcUwxeHVaWGh3YjNKMElHUmxabUYxYkhRZ1kyeGhjM01nUkdGMFpWUnBiV1VnZTF4dUlDQXZLaXBjYmlBZ0lDb2dRR0ZqWTJWemN5QndjbWwyWVhSbFhHNGdJQ0FxTDF4dUlDQmpiMjV6ZEhKMVkzUnZjaWhqYjI1bWFXY3BJSHRjYmlBZ0lDQmpiMjV6ZENCNmIyNWxJRDBnWTI5dVptbG5MbnB2Ym1VZ2ZId2dVMlYwZEdsdVozTXVaR1ZtWVhWc2RGcHZibVU3WEc1Y2JpQWdJQ0JzWlhRZ2FXNTJZV3hwWkNBOVhHNGdJQ0FnSUNCamIyNW1hV2N1YVc1MllXeHBaQ0I4ZkZ4dUlDQWdJQ0FnS0U1MWJXSmxjaTVwYzA1aFRpaGpiMjVtYVdjdWRITXBJRDhnYm1WM0lFbHVkbUZzYVdRb1hDSnBiblpoYkdsa0lHbHVjSFYwWENJcElEb2diblZzYkNrZ2ZIeGNiaUFnSUNBZ0lDZ2hlbTl1WlM1cGMxWmhiR2xrSUQ4Z2RXNXpkWEJ3YjNKMFpXUmFiMjVsS0hwdmJtVXBJRG9nYm5Wc2JDazdYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dRR0ZqWTJWemN5QndjbWwyWVhSbFhHNGdJQ0FnSUNvdlhHNGdJQ0FnZEdocGN5NTBjeUE5SUdselZXNWtaV1pwYm1Wa0tHTnZibVpwWnk1MGN5a2dQeUJUWlhSMGFXNW5jeTV1YjNjb0tTQTZJR052Ym1acFp5NTBjenRjYmx4dUlDQWdJR3hsZENCaklEMGdiblZzYkN4Y2JpQWdJQ0FnSUc4Z1BTQnVkV3hzTzF4dUlDQWdJR2xtSUNnaGFXNTJZV3hwWkNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnZFc1amFHRnVaMlZrSUQwZ1kyOXVabWxuTG05c1pDQW1KaUJqYjI1bWFXY3ViMnhrTG5SeklEMDlQU0IwYUdsekxuUnpJQ1ltSUdOdmJtWnBaeTV2YkdRdWVtOXVaUzVsY1hWaGJITW9lbTl1WlNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2gxYm1Ob1lXNW5aV1FwSUh0Y2JpQWdJQ0FnSUNBZ1cyTXNJRzlkSUQwZ1cyTnZibVpwWnk1dmJHUXVZeXdnWTI5dVptbG5MbTlzWkM1dlhUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc5MElEMGdlbTl1WlM1dlptWnpaWFFvZEdocGN5NTBjeWs3WEc0Z0lDQWdJQ0FnSUdNZ1BTQjBjMVJ2VDJKcUtIUm9hWE11ZEhNc0lHOTBLVHRjYmlBZ0lDQWdJQ0FnYVc1MllXeHBaQ0E5SUU1MWJXSmxjaTVwYzA1aFRpaGpMbmxsWVhJcElEOGdibVYzSUVsdWRtRnNhV1FvWENKcGJuWmhiR2xrSUdsdWNIVjBYQ0lwSURvZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnWXlBOUlHbHVkbUZzYVdRZ1B5QnVkV3hzSURvZ1l6dGNiaUFnSUNBZ0lDQWdieUE5SUdsdWRtRnNhV1FnUHlCdWRXeHNJRG9nYjNRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FHRmpZMlZ6Y3lCd2NtbDJZWFJsWEc0Z0lDQWdJQ292WEc0Z0lDQWdkR2hwY3k1ZmVtOXVaU0E5SUhwdmJtVTdYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dRR0ZqWTJWemN5QndjbWwyWVhSbFhHNGdJQ0FnSUNvdlhHNGdJQ0FnZEdocGN5NXNiMk1nUFNCamIyNW1hV2N1Ykc5aklIeDhJRXh2WTJGc1pTNWpjbVZoZEdVb0tUdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkFZV05qWlhOeklIQnlhWFpoZEdWY2JpQWdJQ0FnS2k5Y2JpQWdJQ0IwYUdsekxtbHVkbUZzYVdRZ1BTQnBiblpoYkdsa08xeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFQmhZMk5sYzNNZ2NISnBkbUYwWlZ4dUlDQWdJQ0FxTDF4dUlDQWdJSFJvYVhNdWQyVmxhMFJoZEdFZ1BTQnVkV3hzTzF4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUVCaFkyTmxjM01nY0hKcGRtRjBaVnh1SUNBZ0lDQXFMMXh1SUNBZ0lIUm9hWE11WXlBOUlHTTdYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dRR0ZqWTJWemN5QndjbWwyWVhSbFhHNGdJQ0FnSUNvdlhHNGdJQ0FnZEdocGN5NXZJRDBnYnp0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQVlXTmpaWE56SUhCeWFYWmhkR1ZjYmlBZ0lDQWdLaTljYmlBZ0lDQjBhR2x6TG1selRIVjRiMjVFWVhSbFZHbHRaU0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0F2THlCRFQwNVRWRkpWUTFSY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0VnUkdGMFpWUnBiV1VnWm05eUlIUm9aU0JqZFhKeVpXNTBJR2x1YzNSaGJuUXNJR2x1SUhSb1pTQnplWE4wWlcwbmN5QjBhVzFsSUhwdmJtVXVYRzRnSUNBcVhHNGdJQ0FxSUZWelpTQlRaWFIwYVc1bmN5QjBieUJ2ZG1WeWNtbGtaU0IwYUdWelpTQmtaV1poZFd4MElIWmhiSFZsY3lCcFppQnVaV1ZrWldRdVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG01dmR5Z3BMblJ2U1ZOUEtDa2dMeTkrUGlCdWIzY2dhVzRnZEdobElFbFRUeUJtYjNKdFlYUmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2JtOTNLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVaWGNnUkdGMFpWUnBiV1VvZTMwcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhJR3h2WTJGc0lFUmhkR1ZVYVcxbFhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiZVdWaGNsMGdMU0JVYUdVZ1kyRnNaVzVrWVhJZ2VXVmhjaTRnU1dZZ2IyMXBkSFJsWkNBb1lYTWdhVzRzSUdOaGJHd2dZR3h2WTJGc0tDbGdJSGRwZEdnZ2JtOGdZWEpuZFcxbGJuUnpLU3dnZEdobElHTjFjbkpsYm5RZ2RHbHRaU0IzYVd4c0lHSmxJSFZ6WldSY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnR0YjI1MGFEMHhYU0F0SUZSb1pTQnRiMjUwYUN3Z01TMXBibVJsZUdWa1hHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiWkdGNVBURmRJQzBnVkdobElHUmhlU0J2WmlCMGFHVWdiVzl1ZEdnc0lERXRhVzVrWlhobFpGeHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnVzJodmRYSTlNRjBnTFNCVWFHVWdhRzkxY2lCdlppQjBhR1VnWkdGNUxDQnBiaUF5TkMxb2IzVnlJSFJwYldWY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnR0YVc1MWRHVTlNRjBnTFNCVWFHVWdiV2x1ZFhSbElHOW1JSFJvWlNCb2IzVnlMQ0J0WldGdWFXNW5JR0VnYm5WdFltVnlJR0psZEhkbFpXNGdNQ0JoYm1RZ05UbGNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUZ0elpXTnZibVE5TUYwZ0xTQlVhR1VnYzJWamIyNWtJRzltSUhSb1pTQnRhVzUxZEdVc0lHMWxZVzVwYm1jZ1lTQnVkVzFpWlhJZ1ltVjBkMlZsYmlBd0lHRnVaQ0ExT1Z4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdXMjFwYkd4cGMyVmpiMjVrUFRCZElDMGdWR2hsSUcxcGJHeHBjMlZqYjI1a0lHOW1JSFJvWlNCelpXTnZibVFzSUcxbFlXNXBibWNnWVNCdWRXMWlaWElnWW1WMGQyVmxiaUF3SUdGdVpDQTVPVGxjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b0tTQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkwzNCtJRzV2ZDF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVzYjJOaGJDaDdJSHB2Ym1VNklGd2lRVzFsY21sallTOU9aWGRmV1c5eWExd2lJSDBwSUNBZ0lDQWdMeTkrUGlCdWIzY3NJR2x1SUZWVElHVmhjM1FnWTI5aGMzUWdkR2x0WlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVzYjJOaGJDZ3lNREUzS1NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZmajRnTWpBeE55MHdNUzB3TVZRd01Eb3dNRG93TUZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVzYjJOaGJDZ3lNREUzTENBektTQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZmajRnTWpBeE55MHdNeTB3TVZRd01Eb3dNRG93TUZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVzYjJOaGJDZ3lNREUzTENBekxDQXhNaXdnZXlCc2IyTmhiR1U2SUZ3aVpuSmNJaUI5S1NBZ0lDQWdMeTkrUGlBeU1ERTNMVEF6TFRFeVZEQXdPakF3T2pBd0xDQjNhWFJvSUdFZ1JuSmxibU5vSUd4dlkyRnNaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTNMQ0F6TENBeE1pd2dOU2tnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dmZqNGdNakF4Tnkwd015MHhNbFF3TlRvd01Eb3dNRnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTNMQ0F6TENBeE1pd2dOU3dnZXlCNmIyNWxPaUJjSW5WMFkxd2lJSDBwSUNBZ0x5OStQaUF5TURFM0xUQXpMVEV5VkRBMU9qQXdPakF3TENCcGJpQlZWRU5jYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTXl3Z01USXNJRFVzSURRMUtTQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkwzNCtJREl3TVRjdE1ETXRNVEpVTURVNk5EVTZNREJjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTXl3Z01USXNJRFVzSURRMUxDQXhNQ2tnSUNBZ0lDQWdJQ0FnSUNBdkwzNCtJREl3TVRjdE1ETXRNVEpVTURVNk5EVTZNVEJjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTXl3Z01USXNJRFVzSURRMUxDQXhNQ3dnTnpZMUtTQWdJQ0FnSUNBdkwzNCtJREl3TVRjdE1ETXRNVEpVTURVNk5EVTZNVEF1TnpZMVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBSaGRHVlVhVzFsZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUd4dlkyRnNLQ2tnZTF4dUlDQWdJR052Ym5OMElGdHZjSFJ6TENCaGNtZHpYU0E5SUd4aGMzUlBjSFJ6S0dGeVozVnRaVzUwY3lrc1hHNGdJQ0FnSUNCYmVXVmhjaXdnYlc5dWRHZ3NJR1JoZVN3Z2FHOTFjaXdnYldsdWRYUmxMQ0J6WldOdmJtUXNJRzFwYkd4cGMyVmpiMjVrWFNBOUlHRnlaM003WEc0Z0lDQWdjbVYwZFhKdUlIRjFhV05yUkZRb2V5QjVaV0Z5TENCdGIyNTBhQ3dnWkdGNUxDQm9iM1Z5TENCdGFXNTFkR1VzSUhObFkyOXVaQ3dnYldsc2JHbHpaV052Ym1RZ2ZTd2diM0IwY3lrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdSR0YwWlZScGJXVWdhVzRnVlZSRFhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiZVdWaGNsMGdMU0JVYUdVZ1kyRnNaVzVrWVhJZ2VXVmhjaTRnU1dZZ2IyMXBkSFJsWkNBb1lYTWdhVzRzSUdOaGJHd2dZSFYwWXlncFlDQjNhWFJvSUc1dklHRnlaM1Z0Wlc1MGN5a3NJSFJvWlNCamRYSnlaVzUwSUhScGJXVWdkMmxzYkNCaVpTQjFjMlZrWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJiVzl1ZEdnOU1WMGdMU0JVYUdVZ2JXOXVkR2dzSURFdGFXNWtaWGhsWkZ4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdXMlJoZVQweFhTQXRJRlJvWlNCa1lYa2diMllnZEdobElHMXZiblJvWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJhRzkxY2owd1hTQXRJRlJvWlNCb2IzVnlJRzltSUhSb1pTQmtZWGtzSUdsdUlESTBMV2h2ZFhJZ2RHbHRaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1cyMXBiblYwWlQwd1hTQXRJRlJvWlNCdGFXNTFkR1VnYjJZZ2RHaGxJR2h2ZFhJc0lHMWxZVzVwYm1jZ1lTQnVkVzFpWlhJZ1ltVjBkMlZsYmlBd0lHRnVaQ0ExT1Z4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdXM05sWTI5dVpEMHdYU0F0SUZSb1pTQnpaV052Ym1RZ2IyWWdkR2hsSUcxcGJuVjBaU3dnYldWaGJtbHVaeUJoSUc1MWJXSmxjaUJpWlhSM1pXVnVJREFnWVc1a0lEVTVYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCYmJXbHNiR2x6WldOdmJtUTlNRjBnTFNCVWFHVWdiV2xzYkdselpXTnZibVFnYjJZZ2RHaGxJSE5sWTI5dVpDd2diV1ZoYm1sdVp5QmhJRzUxYldKbGNpQmlaWFIzWldWdUlEQWdZVzVrSURrNU9WeHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGFXOXVjeUF0SUdOdmJtWnBaM1Z5WVhScGIyNGdiM0IwYVc5dWN5Qm1iM0lnZEdobElFUmhkR1ZVYVcxbFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGFXOXVjeTVzYjJOaGJHVmRJQzBnWVNCc2IyTmhiR1VnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dmNIUnBiMjV6TG05MWRIQjFkRU5oYkdWdVpHRnlYU0F0SUhSb1pTQnZkWFJ3ZFhRZ1kyRnNaVzVrWVhJZ2RHOGdjMlYwSUc5dUlIUm9aU0J5WlhOMWJIUnBibWNnUkdGMFpWUnBiV1VnYVc1emRHRnVZMlZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJwYjI1ekxtNTFiV0psY21sdVoxTjVjM1JsYlYwZ0xTQjBhR1VnYm5WdFltVnlhVzVuSUhONWMzUmxiU0IwYnlCelpYUWdiMjRnZEdobElISmxjM1ZzZEdsdVp5QkVZWFJsVkdsdFpTQnBibk4wWVc1alpWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9LU0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2TDM0K0lHNXZkMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNTFkR01vTWpBeE55a2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkwzNCtJREl3TVRjdE1ERXRNREZVTURBNk1EQTZNREJhWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMblYwWXlneU1ERTNMQ0F6S1NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZmajRnTWpBeE55MHdNeTB3TVZRd01Eb3dNRG93TUZwY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1ZFhSaktESXdNVGNzSURNc0lERXlLU0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeTkrUGlBeU1ERTNMVEF6TFRFeVZEQXdPakF3T2pBd1dseHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9NakF4Tnl3Z015d2dNVElzSURVcElDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2TDM0K0lESXdNVGN0TURNdE1USlVNRFU2TURBNk1EQmFYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExuVjBZeWd5TURFM0xDQXpMQ0F4TWl3Z05Td2dORFVwSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dmZqNGdNakF4Tnkwd015MHhNbFF3TlRvME5Ub3dNRnBjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVkWFJqS0RJd01UY3NJRE1zSURFeUxDQTFMQ0EwTlN3Z2V5QnNiMk5oYkdVNklGd2labkpjSWlCOUtTQWdJQ0FnSUNBZ0lDQXZMMzQrSURJd01UY3RNRE10TVRKVU1EVTZORFU2TURCYUlIZHBkR2dnWVNCR2NtVnVZMmdnYkc5allXeGxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExuVjBZeWd5TURFM0xDQXpMQ0F4TWl3Z05Td2dORFVzSURFd0tTQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dmZqNGdNakF4Tnkwd015MHhNbFF3TlRvME5Ub3hNRnBjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVkWFJqS0RJd01UY3NJRE1zSURFeUxDQTFMQ0EwTlN3Z01UQXNJRGMyTlN3Z2V5QnNiMk5oYkdVNklGd2labkpjSWlCOUtTQXZMMzQrSURJd01UY3RNRE10TVRKVU1EVTZORFU2TVRBdU56WTFXaUIzYVhSb0lHRWdSbkpsYm1Ob0lHeHZZMkZzWlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRFWVhSbFZHbHRaWDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUIxZEdNb0tTQjdYRzRnSUNBZ1kyOXVjM1FnVzI5d2RITXNJR0Z5WjNOZElEMGdiR0Z6ZEU5d2RITW9ZWEpuZFcxbGJuUnpLU3hjYmlBZ0lDQWdJRnQ1WldGeUxDQnRiMjUwYUN3Z1pHRjVMQ0JvYjNWeUxDQnRhVzUxZEdVc0lITmxZMjl1WkN3Z2JXbHNiR2x6WldOdmJtUmRJRDBnWVhKbmN6dGNibHh1SUNBZ0lHOXdkSE11ZW05dVpTQTlJRVpwZUdWa1QyWm1jMlYwV205dVpTNTFkR05KYm5OMFlXNWpaVHRjYmlBZ0lDQnlaWFIxY200Z2NYVnBZMnRFVkNoN0lIbGxZWElzSUcxdmJuUm9MQ0JrWVhrc0lHaHZkWElzSUcxcGJuVjBaU3dnYzJWamIyNWtMQ0J0YVd4c2FYTmxZMjl1WkNCOUxDQnZjSFJ6S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRjbVZoZEdVZ1lTQkVZWFJsVkdsdFpTQm1jbTl0SUdFZ1NtRjJZVk5qY21sd2RDQkVZWFJsSUc5aWFtVmpkQzRnVlhObGN5QjBhR1VnWkdWbVlYVnNkQ0I2YjI1bExseHVJQ0FnS2lCQWNHRnlZVzBnZTBSaGRHVjlJR1JoZEdVZ0xTQmhJRXBoZG1GVFkzSnBjSFFnUkdGMFpTQnZZbXBsWTNSY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEdsdmJuTWdMU0JqYjI1bWFXZDFjbUYwYVc5dUlHOXdkR2x2Ym5NZ1ptOXlJSFJvWlNCRVlYUmxWR2x0WlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozeGFiMjVsZlNCYmIzQjBhVzl1Y3k1NmIyNWxQU2RzYjJOaGJDZGRJQzBnZEdobElIcHZibVVnZEc4Z2NHeGhZMlVnZEdobElFUmhkR1ZVYVcxbElHbHVkRzljYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlZScGJXVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabkp2YlVwVFJHRjBaU2hrWVhSbExDQnZjSFJwYjI1eklEMGdlMzBwSUh0Y2JpQWdJQ0JqYjI1emRDQjBjeUE5SUdselJHRjBaU2hrWVhSbEtTQS9JR1JoZEdVdWRtRnNkV1ZQWmlncElEb2dUbUZPTzF4dUlDQWdJR2xtSUNoT2RXMWlaWEl1YVhOT1lVNG9kSE1wS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUkdGMFpWUnBiV1V1YVc1MllXeHBaQ2hjSW1sdWRtRnNhV1FnYVc1d2RYUmNJaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2VtOXVaVlJ2VlhObElEMGdibTl5YldGc2FYcGxXbTl1WlNodmNIUnBiMjV6TG5wdmJtVXNJRk5sZEhScGJtZHpMbVJsWm1GMWJIUmFiMjVsS1R0Y2JpQWdJQ0JwWmlBb0lYcHZibVZVYjFWelpTNXBjMVpoYkdsa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1JHRjBaVlJwYldVdWFXNTJZV3hwWkNoMWJuTjFjSEJ2Y25SbFpGcHZibVVvZW05dVpWUnZWWE5sS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzVsZHlCRVlYUmxWR2x0WlNoN1hHNGdJQ0FnSUNCMGN6b2dkSE1zWEc0Z0lDQWdJQ0I2YjI1bE9pQjZiMjVsVkc5VmMyVXNYRzRnSUNBZ0lDQnNiMk02SUV4dlkyRnNaUzVtY205dFQySnFaV04wS0c5d2RHbHZibk1wTEZ4dUlDQWdJSDBwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlNCaElFUmhkR1ZVYVcxbElHWnliMjBnWVNCdWRXMWlaWElnYjJZZ2JXbHNiR2x6WldOdmJtUnpJSE5wYm1ObElIUm9aU0JsY0c5amFDQW9iV1ZoYm1sdVp5QnphVzVqWlNBeElFcGhiblZoY25rZ01UazNNQ0F3TURvd01Eb3dNQ0JWVkVNcExpQlZjMlZ6SUhSb1pTQmtaV1poZFd4MElIcHZibVV1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnRhV3hzYVhObFkyOXVaSE1nTFNCaElHNTFiV0psY2lCdlppQnRhV3hzYVhObFkyOXVaSE1nYzJsdVkyVWdNVGszTUNCVlZFTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RHbHZibk1nTFNCamIyNW1hV2QxY21GMGFXOXVJRzl3ZEdsdmJuTWdabTl5SUhSb1pTQkVZWFJsVkdsdFpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaM3hhYjI1bGZTQmJiM0IwYVc5dWN5NTZiMjVsUFNkc2IyTmhiQ2RkSUMwZ2RHaGxJSHB2Ym1VZ2RHOGdjR3hoWTJVZ2RHaGxJRVJoZEdWVWFXMWxJR2x1ZEc5Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hScGIyNXpMbXh2WTJGc1pWMGdMU0JoSUd4dlkyRnNaU0IwYnlCelpYUWdiMjRnZEdobElISmxjM1ZzZEdsdVp5QkVZWFJsVkdsdFpTQnBibk4wWVc1alpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnYjNCMGFXOXVjeTV2ZFhSd2RYUkRZV3hsYm1SaGNpQXRJSFJvWlNCdmRYUndkWFFnWTJGc1pXNWtZWElnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RHbHZibk11Ym5WdFltVnlhVzVuVTNsemRHVnRJQzBnZEdobElHNTFiV0psY21sdVp5QnplWE4wWlcwZ2RHOGdjMlYwSUc5dUlIUm9aU0J5WlhOMWJIUnBibWNnUkdGMFpWUnBiV1VnYVc1emRHRnVZMlZjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlZScGJXVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabkp2YlUxcGJHeHBjeWh0YVd4c2FYTmxZMjl1WkhNc0lHOXdkR2x2Ym5NZ1BTQjdmU2tnZTF4dUlDQWdJR2xtSUNnaGFYTk9kVzFpWlhJb2JXbHNiR2x6WldOdmJtUnpLU2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRtRnNhV1JCY21kMWJXVnVkRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmdabkp2YlUxcGJHeHBjeUJ5WlhGMWFYSmxjeUJoSUc1MWJXVnlhV05oYkNCcGJuQjFkQ3dnWW5WMElISmxZMlZwZG1Wa0lHRWdKSHQwZVhCbGIyWWdiV2xzYkdselpXTnZibVJ6ZlNCM2FYUm9JSFpoYkhWbElDUjdiV2xzYkdselpXTnZibVJ6ZldCY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodGFXeHNhWE5sWTI5dVpITWdQQ0F0VFVGWVgwUkJWRVVnZkh3Z2JXbHNiR2x6WldOdmJtUnpJRDRnVFVGWVgwUkJWRVVwSUh0Y2JpQWdJQ0FnSUM4dklIUm9hWE1nYVhOdUozUWdjR1Z5Wm1WamRDQmlaV05oZFhObElHSmxZMkYxYzJVZ2QyVWdZMkZ1SUhOMGFXeHNJR1Z1WkNCMWNDQnZkWFFnYjJZZ2NtRnVaMlVnWW1WallYVnpaU0J2WmlCaFpHUnBkR2x2Ym1Gc0lITm9hV1owYVc1bkxDQmlkWFFnYVhRbmN5QmhJSE4wWVhKMFhHNGdJQ0FnSUNCeVpYUjFjbTRnUkdGMFpWUnBiV1V1YVc1MllXeHBaQ2hjSWxScGJXVnpkR0Z0Y0NCdmRYUWdiMllnY21GdVoyVmNJaWs3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dSR0YwWlZScGJXVW9lMXh1SUNBZ0lDQWdJQ0IwY3pvZ2JXbHNiR2x6WldOdmJtUnpMRnh1SUNBZ0lDQWdJQ0I2YjI1bE9pQnViM0p0WVd4cGVtVmFiMjVsS0c5d2RHbHZibk11ZW05dVpTd2dVMlYwZEdsdVozTXVaR1ZtWVhWc2RGcHZibVVwTEZ4dUlDQWdJQ0FnSUNCc2IyTTZJRXh2WTJGc1pTNW1jbTl0VDJKcVpXTjBLRzl3ZEdsdmJuTXBMRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaU0JoSUVSaGRHVlVhVzFsSUdaeWIyMGdZU0J1ZFcxaVpYSWdiMllnYzJWamIyNWtjeUJ6YVc1alpTQjBhR1VnWlhCdlkyZ2dLRzFsWVc1cGJtY2djMmx1WTJVZ01TQktZVzUxWVhKNUlERTVOekFnTURBNk1EQTZNREFnVlZSREtTNGdWWE5sY3lCMGFHVWdaR1ZtWVhWc2RDQjZiMjVsTGx4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdjMlZqYjI1a2N5QXRJR0VnYm5WdFltVnlJRzltSUhObFkyOXVaSE1nYzJsdVkyVWdNVGszTUNCVlZFTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RHbHZibk1nTFNCamIyNW1hV2QxY21GMGFXOXVJRzl3ZEdsdmJuTWdabTl5SUhSb1pTQkVZWFJsVkdsdFpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaM3hhYjI1bGZTQmJiM0IwYVc5dWN5NTZiMjVsUFNkc2IyTmhiQ2RkSUMwZ2RHaGxJSHB2Ym1VZ2RHOGdjR3hoWTJVZ2RHaGxJRVJoZEdWVWFXMWxJR2x1ZEc5Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hScGIyNXpMbXh2WTJGc1pWMGdMU0JoSUd4dlkyRnNaU0IwYnlCelpYUWdiMjRnZEdobElISmxjM1ZzZEdsdVp5QkVZWFJsVkdsdFpTQnBibk4wWVc1alpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnYjNCMGFXOXVjeTV2ZFhSd2RYUkRZV3hsYm1SaGNpQXRJSFJvWlNCdmRYUndkWFFnWTJGc1pXNWtZWElnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RHbHZibk11Ym5WdFltVnlhVzVuVTNsemRHVnRJQzBnZEdobElHNTFiV0psY21sdVp5QnplWE4wWlcwZ2RHOGdjMlYwSUc5dUlIUm9aU0J5WlhOMWJIUnBibWNnUkdGMFpWUnBiV1VnYVc1emRHRnVZMlZjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlZScGJXVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabkp2YlZObFkyOXVaSE1vYzJWamIyNWtjeXdnYjNCMGFXOXVjeUE5SUh0OUtTQjdYRzRnSUNBZ2FXWWdLQ0ZwYzA1MWJXSmxjaWh6WldOdmJtUnpLU2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRtRnNhV1JCY21kMWJXVnVkRVZ5Y205eUtGd2labkp2YlZObFkyOXVaSE1nY21WeGRXbHlaWE1nWVNCdWRXMWxjbWxqWVd3Z2FXNXdkWFJjSWlrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUkdGMFpWUnBiV1VvZTF4dUlDQWdJQ0FnSUNCMGN6b2djMlZqYjI1a2N5QXFJREV3TURBc1hHNGdJQ0FnSUNBZ0lIcHZibVU2SUc1dmNtMWhiR2w2WlZwdmJtVW9iM0IwYVc5dWN5NTZiMjVsTENCVFpYUjBhVzVuY3k1a1pXWmhkV3gwV205dVpTa3NYRzRnSUNBZ0lDQWdJR3h2WXpvZ1RHOWpZV3hsTG1aeWIyMVBZbXBsWTNRb2IzQjBhVzl1Y3lrc1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdSR0YwWlZScGJXVWdabkp2YlNCaElFcGhkbUZUWTNKcGNIUWdiMkpxWldOMElIZHBkR2dnYTJWNWN5QnNhV3RsSUNkNVpXRnlKeUJoYm1RZ0oyaHZkWEluSUhkcGRHZ2djbVZoYzI5dVlXSnNaU0JrWldaaGRXeDBjeTVjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOWlhaUF0SUhSb1pTQnZZbXBsWTNRZ2RHOGdZM0psWVhSbElIUm9aU0JFWVhSbFZHbHRaU0JtY205dFhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0J2WW1vdWVXVmhjaUF0SUdFZ2VXVmhjaXdnYzNWamFDQmhjeUF4T1RnM1hHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0J2WW1vdWJXOXVkR2dnTFNCaElHMXZiblJvTENBeExURXlYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdlltb3VaR0Y1SUMwZ1lTQmtZWGtnYjJZZ2RHaGxJRzF2Ym5Sb0xDQXhMVE14TENCa1pYQmxibVJwYm1jZ2IyNGdkR2hsSUcxdmJuUm9YRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdlltb3ViM0prYVc1aGJDQXRJR1JoZVNCdlppQjBhR1VnZVdWaGNpd2dNUzB6TmpVZ2IzSWdNelkyWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnZZbW91ZDJWbGExbGxZWElnTFNCaGJpQkpVMDhnZDJWbGF5QjVaV0Z5WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnZZbW91ZDJWbGEwNTFiV0psY2lBdElHRnVJRWxUVHlCM1pXVnJJRzUxYldKbGNpd2dZbVYwZDJWbGJpQXhJR0Z1WkNBMU1pQnZjaUExTXl3Z1pHVndaVzVrYVc1bklHOXVJSFJvWlNCNVpXRnlYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdlltb3VkMlZsYTJSaGVTQXRJR0Z1SUVsVFR5QjNaV1ZyWkdGNUxDQXhMVGNzSUhkb1pYSmxJREVnYVhNZ1RXOXVaR0Y1SUdGdVpDQTNJR2x6SUZOMWJtUmhlVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2IySnFMbWh2ZFhJZ0xTQm9iM1Z5SUc5bUlIUm9aU0JrWVhrc0lEQXRNak5jYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHOWlhaTV0YVc1MWRHVWdMU0J0YVc1MWRHVWdiMllnZEdobElHaHZkWElzSURBdE5UbGNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUc5aWFpNXpaV052Ym1RZ0xTQnpaV052Ym1RZ2IyWWdkR2hsSUcxcGJuVjBaU3dnTUMwMU9WeHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnYjJKcUxtMXBiR3hwYzJWamIyNWtJQzBnYldsc2JHbHpaV052Ym1RZ2IyWWdkR2hsSUhObFkyOXVaQ3dnTUMwNU9UbGNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RITWdMU0J2Y0hScGIyNXpJR1p2Y2lCamNtVmhkR2x1WnlCMGFHbHpJRVJoZEdWVWFXMWxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZkZwdmJtVjlJRnR2Y0hSekxucHZibVU5SjJ4dlkyRnNKMTBnTFNCcGJuUmxjbkJ5WlhRZ2RHaGxJRzUxYldKbGNuTWdhVzRnZEdobElHTnZiblJsZUhRZ2IyWWdZU0J3WVhKMGFXTjFiR0Z5SUhwdmJtVXVJRU5oYmlCMFlXdGxJR0Z1ZVNCMllXeDFaU0IwWVd0bGJpQmhjeUIwYUdVZ1ptbHljM1FnWVhKbmRXMWxiblFnZEc4Z2MyVjBXbTl1WlNncFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXNiMk5oYkdVOUozTjVjM1JsYlNkeklHeHZZMkZzWlNkZElDMGdZU0JzYjJOaGJHVWdkRzhnYzJWMElHOXVJSFJvWlNCeVpYTjFiSFJwYm1jZ1JHRjBaVlJwYldVZ2FXNXpkR0Z1WTJWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzl3ZEhNdWIzVjBjSFYwUTJGc1pXNWtZWElnTFNCMGFHVWdiM1YwY0hWMElHTmhiR1Z1WkdGeUlIUnZJSE5sZENCdmJpQjBhR1VnY21WemRXeDBhVzVuSUVSaGRHVlVhVzFsSUdsdWMzUmhibU5sWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnZjSFJ6TG01MWJXSmxjbWx1WjFONWMzUmxiU0F0SUhSb1pTQnVkVzFpWlhKcGJtY2djM2x6ZEdWdElIUnZJSE5sZENCdmJpQjBhR1VnY21WemRXeDBhVzVuSUVSaGRHVlVhVzFsSUdsdWMzUmhibU5sWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxUFltcGxZM1FvZXlCNVpXRnlPaUF4T1RneUxDQnRiMjUwYURvZ05Td2daR0Y1T2lBeU5YMHBMblJ2U1ZOUFJHRjBaU2dwSUM4dlBUNGdKekU1T0RJdE1EVXRNalVuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxUFltcGxZM1FvZXlCNVpXRnlPaUF4T1RneUlIMHBMblJ2U1ZOUFJHRjBaU2dwSUM4dlBUNGdKekU1T0RJdE1ERXRNREVuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxUFltcGxZM1FvZXlCb2IzVnlPaUF4TUN3Z2JXbHVkWFJsT2lBeU5pd2djMlZqYjI1a09pQTJJSDBwSUM4dmZqNGdkRzlrWVhrZ1lYUWdNVEE2TWpZNk1EWmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdVpuSnZiVTlpYW1WamRDaDdJR2h2ZFhJNklERXdMQ0J0YVc1MWRHVTZJREkyTENCelpXTnZibVE2SURZZ2ZTd2dleUI2YjI1bE9pQW5kWFJqSnlCOUtTeGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdVpuSnZiVTlpYW1WamRDaDdJR2h2ZFhJNklERXdMQ0J0YVc1MWRHVTZJREkyTENCelpXTnZibVE2SURZZ2ZTd2dleUI2YjI1bE9pQW5iRzlqWVd3bklIMHBYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtWnliMjFQWW1wbFkzUW9leUJvYjNWeU9pQXhNQ3dnYldsdWRYUmxPaUF5Tml3Z2MyVmpiMjVrT2lBMklIMHNJSHNnZW05dVpUb2dKMEZ0WlhKcFkyRXZUbVYzWDFsdmNtc25JSDBwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxUFltcGxZM1FvZXlCM1pXVnJXV1ZoY2pvZ01qQXhOaXdnZDJWbGEwNTFiV0psY2pvZ01pd2dkMlZsYTJSaGVUb2dNeUI5S1M1MGIwbFRUMFJoZEdVb0tTQXZMejArSUNjeU1ERTJMVEF4TFRFekoxeHVJQ0FnS2lCQWNtVjBkWEp1SUh0RVlYUmxWR2x0WlgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCbWNtOXRUMkpxWldOMEtHOWlhaXdnYjNCMGN5QTlJSHQ5S1NCN1hHNGdJQ0FnYjJKcUlEMGdiMkpxSUh4OElIdDlPMXh1SUNBZ0lHTnZibk4wSUhwdmJtVlViMVZ6WlNBOUlHNXZjbTFoYkdsNlpWcHZibVVvYjNCMGN5NTZiMjVsTENCVFpYUjBhVzVuY3k1a1pXWmhkV3gwV205dVpTazdYRzRnSUNBZ2FXWWdLQ0Y2YjI1bFZHOVZjMlV1YVhOV1lXeHBaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRVJoZEdWVWFXMWxMbWx1ZG1Gc2FXUW9kVzV6ZFhCd2IzSjBaV1JhYjI1bEtIcHZibVZVYjFWelpTa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhSelRtOTNJRDBnVTJWMGRHbHVaM011Ym05M0tDa3NYRzRnSUNBZ0lDQnZabVp6WlhSUWNtOTJhWE1nUFNBaGFYTlZibVJsWm1sdVpXUW9iM0IwY3k1emNHVmphV1pwWTA5bVpuTmxkQ2xjYmlBZ0lDQWdJQ0FnUHlCdmNIUnpMbk53WldOcFptbGpUMlptYzJWMFhHNGdJQ0FnSUNBZ0lEb2dlbTl1WlZSdlZYTmxMbTltWm5ObGRDaDBjMDV2ZHlrc1hHNGdJQ0FnSUNCdWIzSnRZV3hwZW1Wa0lEMGdibTl5YldGc2FYcGxUMkpxWldOMEtHOWlhaXdnYm05eWJXRnNhWHBsVlc1cGRDa3NYRzRnSUNBZ0lDQmpiMjUwWVdsdWMwOXlaR2x1WVd3Z1BTQWhhWE5WYm1SbFptbHVaV1FvYm05eWJXRnNhWHBsWkM1dmNtUnBibUZzS1N4Y2JpQWdJQ0FnSUdOdmJuUmhhVzV6UjNKbFoyOXlXV1ZoY2lBOUlDRnBjMVZ1WkdWbWFXNWxaQ2h1YjNKdFlXeHBlbVZrTG5sbFlYSXBMRnh1SUNBZ0lDQWdZMjl1ZEdGcGJuTkhjbVZuYjNKTlJDQTlJQ0ZwYzFWdVpHVm1hVzVsWkNodWIzSnRZV3hwZW1Wa0xtMXZiblJvS1NCOGZDQWhhWE5WYm1SbFptbHVaV1FvYm05eWJXRnNhWHBsWkM1a1lYa3BMRnh1SUNBZ0lDQWdZMjl1ZEdGcGJuTkhjbVZuYjNJZ1BTQmpiMjUwWVdsdWMwZHlaV2R2Y2xsbFlYSWdmSHdnWTI5dWRHRnBibk5IY21WbmIzSk5SQ3hjYmlBZ0lDQWdJR1JsWm1sdWFYUmxWMlZsYTBSbFppQTlJRzV2Y20xaGJHbDZaV1F1ZDJWbGExbGxZWElnZkh3Z2JtOXliV0ZzYVhwbFpDNTNaV1ZyVG5WdFltVnlMRnh1SUNBZ0lDQWdiRzlqSUQwZ1RHOWpZV3hsTG1aeWIyMVBZbXBsWTNRb2IzQjBjeWs3WEc1Y2JpQWdJQ0F2THlCallYTmxjenBjYmlBZ0lDQXZMeUJxZFhOMElHRWdkMlZsYTJSaGVTQXRQaUIwYUdseklIZGxaV3NuY3lCcGJuTjBZVzVqWlNCdlppQjBhR0YwSUhkbFpXdGtZWGtzSUc1dklIZHZjbkpwWlhOY2JpQWdJQ0F2THlBb1ozSmxaMjl5YVdGdUlHUmhkR0VnYjNJZ2IzSmthVzVoYkNrZ0t5QW9kMlZsYTFsbFlYSWdiM0lnZDJWbGEwNTFiV0psY2lrZ0xUNGdaWEp5YjNKY2JpQWdJQ0F2THlBb1ozSmxaMjl5YVdGdUlHMXZiblJvSUc5eUlHUmhlU2tnS3lCdmNtUnBibUZzSUMwK0lHVnljbTl5WEc0Z0lDQWdMeThnYjNSb1pYSjNhWE5sSUdwMWMzUWdkWE5sSUhkbFpXdHpJRzl5SUc5eVpHbHVZV3h6SUc5eUlHZHlaV2R2Y21saGJpd2daR1Z3Wlc1a2FXNW5JRzl1SUhkb1lYUW5jeUJ6Y0dWamFXWnBaV1JjYmx4dUlDQWdJR2xtSUNnb1kyOXVkR0ZwYm5OSGNtVm5iM0lnZkh3Z1kyOXVkR0ZwYm5OUGNtUnBibUZzS1NBbUppQmtaV1pwYm1sMFpWZGxaV3RFWldZcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkRiMjVtYkdsamRHbHVaMU53WldOcFptbGpZWFJwYjI1RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENKRFlXNG5kQ0J0YVhnZ2QyVmxhMWxsWVhJdmQyVmxhMDUxYldKbGNpQjFibWwwY3lCM2FYUm9JSGxsWVhJdmJXOXVkR2d2WkdGNUlHOXlJRzl5WkdsdVlXeHpYQ0pjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOdmJuUmhhVzV6UjNKbFoyOXlUVVFnSmlZZ1kyOXVkR0ZwYm5OUGNtUnBibUZzS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1EyOXVabXhwWTNScGJtZFRjR1ZqYVdacFkyRjBhVzl1UlhKeWIzSW9YQ0pEWVc0bmRDQnRhWGdnYjNKa2FXNWhiQ0JrWVhSbGN5QjNhWFJvSUcxdmJuUm9MMlJoZVZ3aUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0IxYzJWWFpXVnJSR0YwWVNBOUlHUmxabWx1YVhSbFYyVmxhMFJsWmlCOGZDQW9ibTl5YldGc2FYcGxaQzUzWldWclpHRjVJQ1ltSUNGamIyNTBZV2x1YzBkeVpXZHZjaWs3WEc1Y2JpQWdJQ0F2THlCamIyNW1hV2QxY21VZ2IzVnljMlZzZG1WeklIUnZJR1JsWVd3Z2QybDBhQ0JuY21WbmIzSnBZVzRnWkdGMFpYTWdiM0lnZDJWbGF5QnpkSFZtWmx4dUlDQWdJR3hsZENCMWJtbDBjeXhjYmlBZ0lDQWdJR1JsWm1GMWJIUldZV3gxWlhNc1hHNGdJQ0FnSUNCdlltcE9iM2NnUFNCMGMxUnZUMkpxS0hSelRtOTNMQ0J2Wm1aelpYUlFjbTkyYVhNcE8xeHVJQ0FnSUdsbUlDaDFjMlZYWldWclJHRjBZU2tnZTF4dUlDQWdJQ0FnZFc1cGRITWdQU0J2Y21SbGNtVmtWMlZsYTFWdWFYUnpPMXh1SUNBZ0lDQWdaR1ZtWVhWc2RGWmhiSFZsY3lBOUlHUmxabUYxYkhSWFpXVnJWVzVwZEZaaGJIVmxjenRjYmlBZ0lDQWdJRzlpYWs1dmR5QTlJR2R5WldkdmNtbGhibFJ2VjJWbGF5aHZZbXBPYjNjcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1kyOXVkR0ZwYm5OUGNtUnBibUZzS1NCN1hHNGdJQ0FnSUNCMWJtbDBjeUE5SUc5eVpHVnlaV1JQY21ScGJtRnNWVzVwZEhNN1hHNGdJQ0FnSUNCa1pXWmhkV3gwVm1Gc2RXVnpJRDBnWkdWbVlYVnNkRTl5WkdsdVlXeFZibWwwVm1Gc2RXVnpPMXh1SUNBZ0lDQWdiMkpxVG05M0lEMGdaM0psWjI5eWFXRnVWRzlQY21ScGJtRnNLRzlpYWs1dmR5azdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhWdWFYUnpJRDBnYjNKa1pYSmxaRlZ1YVhSek8xeHVJQ0FnSUNBZ1pHVm1ZWFZzZEZaaGJIVmxjeUE5SUdSbFptRjFiSFJWYm1sMFZtRnNkV1Z6TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUhObGRDQmtaV1poZFd4MElIWmhiSFZsY3lCbWIzSWdiV2x6YzJsdVp5QnpkSFZtWmx4dUlDQWdJR3hsZENCbWIzVnVaRVpwY25OMElEMGdabUZzYzJVN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCMUlHOW1JSFZ1YVhSektTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMklEMGdibTl5YldGc2FYcGxaRnQxWFR0Y2JpQWdJQ0FnSUdsbUlDZ2hhWE5WYm1SbFptbHVaV1FvZGlrcElIdGNiaUFnSUNBZ0lDQWdabTkxYm1SR2FYSnpkQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR1p2ZFc1a1JtbHljM1FwSUh0Y2JpQWdJQ0FnSUNBZ2JtOXliV0ZzYVhwbFpGdDFYU0E5SUdSbFptRjFiSFJXWVd4MVpYTmJkVjA3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0J1YjNKdFlXeHBlbVZrVzNWZElEMGdiMkpxVG05M1czVmRPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRzFoYTJVZ2MzVnlaU0IwYUdVZ2RtRnNkV1Z6SUhkbElHaGhkbVVnWVhKbElHbHVJSEpoYm1kbFhHNGdJQ0FnWTI5dWMzUWdhR2xuYUdWeVQzSmtaWEpKYm5aaGJHbGtJRDBnZFhObFYyVmxhMFJoZEdGY2JpQWdJQ0FnSUNBZ1B5Qm9ZWE5KYm5aaGJHbGtWMlZsYTBSaGRHRW9ibTl5YldGc2FYcGxaQ2xjYmlBZ0lDQWdJQ0FnT2lCamIyNTBZV2x1YzA5eVpHbHVZV3hjYmlBZ0lDQWdJQ0FnUHlCb1lYTkpiblpoYkdsa1QzSmthVzVoYkVSaGRHRW9ibTl5YldGc2FYcGxaQ2xjYmlBZ0lDQWdJQ0FnT2lCb1lYTkpiblpoYkdsa1IzSmxaMjl5YVdGdVJHRjBZU2h1YjNKdFlXeHBlbVZrS1N4Y2JpQWdJQ0FnSUdsdWRtRnNhV1FnUFNCb2FXZG9aWEpQY21SbGNrbHVkbUZzYVdRZ2ZId2dhR0Z6U1c1MllXeHBaRlJwYldWRVlYUmhLRzV2Y20xaGJHbDZaV1FwTzF4dVhHNGdJQ0FnYVdZZ0tHbHVkbUZzYVdRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCRVlYUmxWR2x0WlM1cGJuWmhiR2xrS0dsdWRtRnNhV1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdOdmJYQjFkR1VnZEdobElHRmpkSFZoYkNCMGFXMWxYRzRnSUNBZ1kyOXVjM1FnWjNKbFoyOXlhV0Z1SUQwZ2RYTmxWMlZsYTBSaGRHRmNiaUFnSUNBZ0lDQWdQeUIzWldWclZHOUhjbVZuYjNKcFlXNG9ibTl5YldGc2FYcGxaQ2xjYmlBZ0lDQWdJQ0FnT2lCamIyNTBZV2x1YzA5eVpHbHVZV3hjYmlBZ0lDQWdJQ0FnUHlCdmNtUnBibUZzVkc5SGNtVm5iM0pwWVc0b2JtOXliV0ZzYVhwbFpDbGNiaUFnSUNBZ0lDQWdPaUJ1YjNKdFlXeHBlbVZrTEZ4dUlDQWdJQ0FnVzNSelJtbHVZV3dzSUc5bVpuTmxkRVpwYm1Gc1hTQTlJRzlpYWxSdlZGTW9aM0psWjI5eWFXRnVMQ0J2Wm1aelpYUlFjbTkyYVhNc0lIcHZibVZVYjFWelpTa3NYRzRnSUNBZ0lDQnBibk4wSUQwZ2JtVjNJRVJoZEdWVWFXMWxLSHRjYmlBZ0lDQWdJQ0FnZEhNNklIUnpSbWx1WVd3c1hHNGdJQ0FnSUNBZ0lIcHZibVU2SUhwdmJtVlViMVZ6WlN4Y2JpQWdJQ0FnSUNBZ2J6b2diMlptYzJWMFJtbHVZV3dzWEc0Z0lDQWdJQ0FnSUd4dll5eGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdMeThnWjNKbFoyOXlhV0Z1SUdSaGRHRWdLeUIzWldWclpHRjVJSE5sY25abGN5QnZibXg1SUhSdklIWmhiR2xrWVhSbFhHNGdJQ0FnYVdZZ0tHNXZjbTFoYkdsNlpXUXVkMlZsYTJSaGVTQW1KaUJqYjI1MFlXbHVjMGR5WldkdmNpQW1KaUJ2WW1vdWQyVmxhMlJoZVNBaFBUMGdhVzV6ZEM1M1pXVnJaR0Y1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUkdGMFpWUnBiV1V1YVc1MllXeHBaQ2hjYmlBZ0lDQWdJQ0FnWENKdGFYTnRZWFJqYUdWa0lIZGxaV3RrWVhsY0lpeGNiaUFnSUNBZ0lDQWdZSGx2ZFNCallXNG5kQ0J6Y0dWamFXWjVJR0p2ZEdnZ1lTQjNaV1ZyWkdGNUlHOW1JQ1I3Ym05eWJXRnNhWHBsWkM1M1pXVnJaR0Y1ZlNCaGJtUWdZU0JrWVhSbElHOW1JQ1I3YVc1emRDNTBiMGxUVHlncGZXQmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdsdWMzUTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0VnUkdGMFpWUnBiV1VnWm5KdmJTQmhiaUJKVTA4Z09EWXdNU0J6ZEhKcGJtZGNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhSbGVIUWdMU0IwYUdVZ1NWTlBJSE4wY21sdVoxeHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGN5QXRJRzl3ZEdsdmJuTWdkRzhnWVdabVpXTjBJSFJvWlNCamNtVmhkR2x2Ymx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozeGFiMjVsZlNCYmIzQjBjeTU2YjI1bFBTZHNiMk5oYkNkZElDMGdkWE5sSUhSb2FYTWdlbTl1WlNCcFppQnVieUJ2Wm1aelpYUWdhWE1nYzNCbFkybG1hV1ZrSUdsdUlIUm9aU0JwYm5CMWRDQnpkSEpwYm1jZ2FYUnpaV3htTGlCWGFXeHNJR0ZzYzI4Z1kyOXVkbVZ5ZENCMGFHVWdkR2x0WlNCMGJ5QjBhR2x6SUhwdmJtVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmIzQjBjeTV6WlhSYWIyNWxQV1poYkhObFhTQXRJRzkyWlhKeWFXUmxJSFJvWlNCNmIyNWxJSGRwZEdnZ1lTQm1hWGhsWkMxdlptWnpaWFFnZW05dVpTQnpjR1ZqYVdacFpXUWdhVzRnZEdobElITjBjbWx1WnlCcGRITmxiR1lzSUdsbUlHbDBJSE53WldOcFptbGxjeUJ2Ym1WY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hSekxteHZZMkZzWlQwbmMzbHpkR1Z0SjNNZ2JHOWpZV3hsSjEwZ0xTQmhJR3h2WTJGc1pTQjBieUJ6WlhRZ2IyNGdkR2hsSUhKbGMzVnNkR2x1WnlCRVlYUmxWR2x0WlNCcGJuTjBZVzVqWlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMjl3ZEhNdWIzVjBjSFYwUTJGc1pXNWtZWEpkSUMwZ2RHaGxJRzkxZEhCMWRDQmpZV3hsYm1SaGNpQjBieUJ6WlhRZ2IyNGdkR2hsSUhKbGMzVnNkR2x1WnlCRVlYUmxWR2x0WlNCcGJuTjBZVzVqWlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMjl3ZEhNdWJuVnRZbVZ5YVc1blUzbHpkR1Z0WFNBdElIUm9aU0J1ZFcxaVpYSnBibWNnYzNsemRHVnRJSFJ2SUhObGRDQnZiaUIwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbElHbHVjM1JoYm1ObFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG1aeWIyMUpVMDhvSnpJd01UWXRNRFV0TWpWVU1EazZNRGc2TXpRdU1USXpKeWxjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVabkp2YlVsVFR5Z25NakF4Tmkwd05TMHlOVlF3T1Rvd09Eb3pOQzR4TWpNck1EWTZNREFuS1Z4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVtY205dFNWTlBLQ2N5TURFMkxUQTFMVEkxVkRBNU9qQTRPak0wTGpFeU15c3dOam93TUNjc0lIdHpaWFJhYjI1bE9pQjBjblZsZlNsY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Wm5KdmJVbFRUeWduTWpBeE5pMHdOUzB5TlZRd09Ub3dPRG96TkM0eE1qTW5MQ0I3ZW05dVpUb2dKM1YwWXlkOUtWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1bWNtOXRTVk5QS0NjeU1ERTJMVmN3TlMwMEp5bGNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1puSnZiVWxUVHloMFpYaDBMQ0J2Y0hSeklEMGdlMzBwSUh0Y2JpQWdJQ0JqYjI1emRDQmJkbUZzY3l3Z2NHRnljMlZrV205dVpWMGdQU0J3WVhKelpVbFRUMFJoZEdVb2RHVjRkQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIQmhjbk5sUkdGMFlWUnZSR0YwWlZScGJXVW9kbUZzY3l3Z2NHRnljMlZrV205dVpTd2diM0IwY3l3Z1hDSkpVMDhnT0RZd01Wd2lMQ0IwWlhoMEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVWdZU0JFWVhSbFZHbHRaU0JtY205dElHRnVJRkpHUXlBeU9ESXlJSE4wY21sdVoxeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnZEdWNGRDQXRJSFJvWlNCU1JrTWdNamd5TWlCemRISnBibWRjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkSE1nTFNCdmNIUnBiMjV6SUhSdklHRm1abVZqZENCMGFHVWdZM0psWVhScGIyNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ4V205dVpYMGdXMjl3ZEhNdWVtOXVaVDBuYkc5allXd25YU0F0SUdOdmJuWmxjblFnZEdobElIUnBiV1VnZEc4Z2RHaHBjeUI2YjI1bExpQlRhVzVqWlNCMGFHVWdiMlptYzJWMElHbHpJR0ZzZDJGNWN5QnpjR1ZqYVdacFpXUWdhVzRnZEdobElITjBjbWx1WnlCcGRITmxiR1lzSUhSb2FYTWdhR0Z6SUc1dklHVm1abVZqZENCdmJpQjBhR1VnYVc1MFpYSndjbVYwWVhScGIyNGdiMllnYzNSeWFXNW5MQ0J0WlhKbGJIa2dkR2hsSUhwdmJtVWdkR2hsSUhKbGMzVnNkR2x1WnlCRVlYUmxWR2x0WlNCcGN5QmxlSEJ5WlhOelpXUWdhVzR1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMjl3ZEhNdWMyVjBXbTl1WlQxbVlXeHpaVjBnTFNCdmRtVnljbWxrWlNCMGFHVWdlbTl1WlNCM2FYUm9JR0VnWm1sNFpXUXRiMlptYzJWMElIcHZibVVnYzNCbFkybG1hV1ZrSUdsdUlIUm9aU0J6ZEhKcGJtY2dhWFJ6Wld4bUxDQnBaaUJwZENCemNHVmphV1pwWlhNZ2IyNWxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVzYjJOaGJHVTlKM041YzNSbGJTZHpJR3h2WTJGc1pTZGRJQzBnWVNCc2IyTmhiR1VnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RITXViM1YwY0hWMFEyRnNaVzVrWVhJZ0xTQjBhR1VnYjNWMGNIVjBJR05oYkdWdVpHRnlJSFJ2SUhObGRDQnZiaUIwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbElHbHVjM1JoYm1ObFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J2Y0hSekxtNTFiV0psY21sdVoxTjVjM1JsYlNBdElIUm9aU0J1ZFcxaVpYSnBibWNnYzNsemRHVnRJSFJ2SUhObGRDQnZiaUIwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbElHbHVjM1JoYm1ObFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG1aeWIyMVNSa015T0RJeUtDY3lOU0JPYjNZZ01qQXhOaUF4TXpveU16b3hNaUJIVFZRbktWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1bWNtOXRVa1pETWpneU1pZ25SbkpwTENBeU5TQk9iM1lnTWpBeE5pQXhNem95TXpveE1pQXJNRFl3TUNjcFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG1aeWIyMVNSa015T0RJeUtDY3lOU0JPYjNZZ01qQXhOaUF4TXpveU15QmFKeWxjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlZScGJXVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabkp2YlZKR1F6STRNaklvZEdWNGRDd2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ1czWmhiSE1zSUhCaGNuTmxaRnB2Ym1WZElEMGdjR0Z5YzJWU1JrTXlPREl5UkdGMFpTaDBaWGgwS1R0Y2JpQWdJQ0J5WlhSMWNtNGdjR0Z5YzJWRVlYUmhWRzlFWVhSbFZHbHRaU2gyWVd4ekxDQndZWEp6WldSYWIyNWxMQ0J2Y0hSekxDQmNJbEpHUXlBeU9ESXlYQ0lzSUhSbGVIUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaU0JoSUVSaGRHVlVhVzFsSUdaeWIyMGdZVzRnU0ZSVVVDQm9aV0ZrWlhJZ1pHRjBaVnh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk5UWNtOTBiMk52YkhNdmNtWmpNall4Tmk5eVptTXlOakUyTFhObFl6TXVhSFJ0YkNOelpXTXpMak11TVZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkR1Y0ZENBdElIUm9aU0JJVkZSUUlHaGxZV1JsY2lCa1lYUmxYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnpJQzBnYjNCMGFXOXVjeUIwYnlCaFptWmxZM1FnZEdobElHTnlaV0YwYVc5dVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mRnB2Ym1WOUlGdHZjSFJ6TG5wdmJtVTlKMnh2WTJGc0oxMGdMU0JqYjI1MlpYSjBJSFJvWlNCMGFXMWxJSFJ2SUhSb2FYTWdlbTl1WlM0Z1UybHVZMlVnU0ZSVVVDQmtZWFJsY3lCaGNtVWdZV3gzWVhseklHbHVJRlZVUXl3Z2RHaHBjeUJvWVhNZ2JtOGdaV1ptWldOMElHOXVJSFJvWlNCcGJuUmxjbkJ5WlhSaGRHbHZiaUJ2WmlCemRISnBibWNzSUcxbGNtVnNlU0IwYUdVZ2VtOXVaU0IwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbElHbHpJR1Y0Y0hKbGMzTmxaQ0JwYmk1Y2JpQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0JiYjNCMGN5NXpaWFJhYjI1bFBXWmhiSE5sWFNBdElHOTJaWEp5YVdSbElIUm9aU0I2YjI1bElIZHBkR2dnZEdobElHWnBlR1ZrTFc5bVpuTmxkQ0I2YjI1bElITndaV05wWm1sbFpDQnBiaUIwYUdVZ2MzUnlhVzVuTGlCR2IzSWdTRlJVVUNCa1lYUmxjeXdnZEdocGN5QnBjeUJoYkhkaGVYTWdWVlJETENCemJ5QjBhR2x6SUc5d2RHbHZiaUJwY3lCbGNYVnBkbUZzWlc1MElIUnZJSE5sZEhScGJtY2dkR2hsSUdCNmIyNWxZQ0J2Y0hScGIyNGdkRzhnSjNWMFl5Y3NJR0oxZENCMGFHbHpJRzl3ZEdsdmJpQnBjeUJwYm1Oc2RXUmxaQ0JtYjNJZ1kyOXVjMmx6ZEdWdVkza2dkMmwwYUNCemFXMXBiR0Z5SUcxbGRHaHZaSE11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1c2IyTmhiR1U5SjNONWMzUmxiU2R6SUd4dlkyRnNaU2RkSUMwZ1lTQnNiMk5oYkdVZ2RHOGdjMlYwSUc5dUlIUm9aU0J5WlhOMWJIUnBibWNnUkdGMFpWUnBiV1VnYVc1emRHRnVZMlZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHOXdkSE11YjNWMGNIVjBRMkZzWlc1a1lYSWdMU0IwYUdVZ2IzVjBjSFYwSUdOaGJHVnVaR0Z5SUhSdklITmxkQ0J2YmlCMGFHVWdjbVZ6ZFd4MGFXNW5JRVJoZEdWVWFXMWxJR2x1YzNSaGJtTmxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCdmNIUnpMbTUxYldKbGNtbHVaMU41YzNSbGJTQXRJSFJvWlNCdWRXMWlaWEpwYm1jZ2MzbHpkR1Z0SUhSdklITmxkQ0J2YmlCMGFHVWdjbVZ6ZFd4MGFXNW5JRVJoZEdWVWFXMWxJR2x1YzNSaGJtTmxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtWnliMjFJVkZSUUtDZFRkVzRzSURBMklFNXZkaUF4T1RrMElEQTRPalE1T2pNM0lFZE5WQ2NwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxSVZGUlFLQ2RUZFc1a1lYa3NJREEyTFU1dmRpMDVOQ0F3T0RvME9Ub3pOeUJIVFZRbktWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1bWNtOXRTRlJVVUNnblUzVnVJRTV2ZGlBZ05pQXdPRG8wT1Rvek55QXhPVGswSnlsY2JpQWdJQ29nUUhKbGRIVnliaUI3UkdGMFpWUnBiV1Y5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nWm5KdmJVaFVWRkFvZEdWNGRDd2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ1czWmhiSE1zSUhCaGNuTmxaRnB2Ym1WZElEMGdjR0Z5YzJWSVZGUlFSR0YwWlNoMFpYaDBLVHRjYmlBZ0lDQnlaWFIxY200Z2NHRnljMlZFWVhSaFZHOUVZWFJsVkdsdFpTaDJZV3h6TENCd1lYSnpaV1JhYjI1bExDQnZjSFJ6TENCY0lraFVWRkJjSWl3Z2IzQjBjeWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ1JHRjBaVlJwYldVZ1puSnZiU0JoYmlCcGJuQjFkQ0J6ZEhKcGJtY2dZVzVrSUdadmNtMWhkQ0J6ZEhKcGJtY3VYRzRnSUNBcUlFUmxabUYxYkhSeklIUnZJR1Z1TFZWVElHbG1JRzV2SUd4dlkyRnNaU0JvWVhNZ1ltVmxiaUJ6Y0dWamFXWnBaV1FzSUhKbFoyRnlaR3hsYzNNZ2IyWWdkR2hsSUhONWMzUmxiU2R6SUd4dlkyRnNaUzRnUm05eUlHRWdkR0ZpYkdVZ2IyWWdkRzlyWlc1eklHRnVaQ0IwYUdWcGNpQnBiblJsY25CeVpYUmhkR2x2Ym5Nc0lITmxaU0JiYUdWeVpWMG9hSFIwY0hNNkx5OXRiMjFsYm5RdVoybDBhSFZpTG1sdkwyeDFlRzl1THlNdmNHRnljMmx1Wno5cFpEMTBZV0pzWlMxdlppMTBiMnRsYm5NcExseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnZEdWNGRDQXRJSFJvWlNCemRISnBibWNnZEc4Z2NHRnljMlZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHWnRkQ0F0SUhSb1pTQm1iM0p0WVhRZ2RHaGxJSE4wY21sdVp5QnBjeUJsZUhCbFkzUmxaQ0IwYnlCaVpTQnBiaUFvYzJWbElIUm9aU0JzYVc1cklHSmxiRzkzSUdadmNpQjBhR1VnWm05eWJXRjBjeWxjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkSE1nTFNCdmNIUnBiMjV6SUhSdklHRm1abVZqZENCMGFHVWdZM0psWVhScGIyNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ4V205dVpYMGdXMjl3ZEhNdWVtOXVaVDBuYkc5allXd25YU0F0SUhWelpTQjBhR2x6SUhwdmJtVWdhV1lnYm04Z2IyWm1jMlYwSUdseklITndaV05wWm1sbFpDQnBiaUIwYUdVZ2FXNXdkWFFnYzNSeWFXNW5JR2wwYzJWc1ppNGdWMmxzYkNCaGJITnZJR052Ym5abGNuUWdkR2hsSUVSaGRHVlVhVzFsSUhSdklIUm9hWE1nZW05dVpWeHVJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzU5SUZ0dmNIUnpMbk5sZEZwdmJtVTlabUZzYzJWZElDMGdiM1psY25KcFpHVWdkR2hsSUhwdmJtVWdkMmwwYUNCaElIcHZibVVnYzNCbFkybG1hV1ZrSUdsdUlIUm9aU0J6ZEhKcGJtY2dhWFJ6Wld4bUxDQnBaaUJwZENCemNHVmphV1pwWlhNZ2IyNWxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVzYjJOaGJHVTlKMlZ1TFZWVEoxMGdMU0JoSUd4dlkyRnNaU0J6ZEhKcGJtY2dkRzhnZFhObElIZG9aVzRnY0dGeWMybHVaeTRnVjJsc2JDQmhiSE52SUhObGRDQjBhR1VnUkdGMFpWUnBiV1VnZEc4Z2RHaHBjeUJzYjJOaGJHVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RITXViblZ0WW1WeWFXNW5VM2x6ZEdWdElDMGdkR2hsSUc1MWJXSmxjbWx1WnlCemVYTjBaVzBnZEc4Z2RYTmxJSGRvWlc0Z2NHRnljMmx1Wnk0Z1YybHNiQ0JoYkhOdklITmxkQ0IwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbElIUnZJSFJvYVhNZ2JuVnRZbVZ5YVc1bklITjVjM1JsYlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdiM0IwY3k1dmRYUndkWFJEWVd4bGJtUmhjaUF0SUhSb1pTQnZkWFJ3ZFhRZ1kyRnNaVzVrWVhJZ2RHOGdjMlYwSUc5dUlIUm9aU0J5WlhOMWJIUnBibWNnUkdGMFpWUnBiV1VnYVc1emRHRnVZMlZjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlZScGJXVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabkp2YlVadmNtMWhkQ2gwWlhoMExDQm1iWFFzSUc5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUdsbUlDaHBjMVZ1WkdWbWFXNWxaQ2gwWlhoMEtTQjhmQ0JwYzFWdVpHVm1hVzVsWkNobWJYUXBLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MllXeHBaRUZ5WjNWdFpXNTBSWEp5YjNJb1hDSm1jbTl0Um05eWJXRjBJSEpsY1hWcGNtVnpJR0Z1SUdsdWNIVjBJSE4wY21sdVp5QmhibVFnWVNCbWIzSnRZWFJjSWlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdleUJzYjJOaGJHVWdQU0J1ZFd4c0xDQnVkVzFpWlhKcGJtZFRlWE4wWlcwZ1BTQnVkV3hzSUgwZ1BTQnZjSFJ6TEZ4dUlDQWdJQ0FnYkc5allXeGxWRzlWYzJVZ1BTQk1iMk5oYkdVdVpuSnZiVTl3ZEhNb2UxeHVJQ0FnSUNBZ0lDQnNiMk5oYkdVc1hHNGdJQ0FnSUNBZ0lHNTFiV0psY21sdVoxTjVjM1JsYlN4Y2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZEZSdlJVNDZJSFJ5ZFdVc1hHNGdJQ0FnSUNCOUtTeGNiaUFnSUNBZ0lGdDJZV3h6TENCd1lYSnpaV1JhYjI1bExDQnpjR1ZqYVdacFkwOW1abk5sZEN3Z2FXNTJZV3hwWkYwZ1BTQndZWEp6WlVaeWIyMVViMnRsYm5Nb2JHOWpZV3hsVkc5VmMyVXNJSFJsZUhRc0lHWnRkQ2s3WEc0Z0lDQWdhV1lnS0dsdWRtRnNhV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJFWVhSbFZHbHRaUzVwYm5aaGJHbGtLR2x1ZG1Gc2FXUXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY0dGeWMyVkVZWFJoVkc5RVlYUmxWR2x0WlNoMllXeHpMQ0J3WVhKelpXUmFiMjVsTENCdmNIUnpMQ0JnWm05eWJXRjBJQ1I3Wm0xMGZXQXNJSFJsZUhRc0lITndaV05wWm1salQyWm1jMlYwS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjSEpsWTJGMFpXUWdkWE5sSUdaeWIyMUdiM0p0WVhRZ2FXNXpkR1ZoWkZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdaeWIyMVRkSEpwYm1jb2RHVjRkQ3dnWm0xMExDQnZjSFJ6SUQwZ2UzMHBJSHRjYmlBZ0lDQnlaWFIxY200Z1JHRjBaVlJwYldVdVpuSnZiVVp2Y20xaGRDaDBaWGgwTENCbWJYUXNJRzl3ZEhNcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhJRVJoZEdWVWFXMWxJR1p5YjIwZ1lTQlRVVXdnWkdGMFpTd2dkR2x0WlN3Z2IzSWdaR0YwWlhScGJXVmNiaUFnSUNvZ1JHVm1ZWFZzZEhNZ2RHOGdaVzR0VlZNZ2FXWWdibThnYkc5allXeGxJR2hoY3lCaVpXVnVJSE53WldOcFptbGxaQ3dnY21WbllYSmtiR1Z6Y3lCdlppQjBhR1VnYzNsemRHVnRKM01nYkc5allXeGxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCMFpYaDBJQzBnZEdobElITjBjbWx1WnlCMGJ5QndZWEp6WlZ4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwY3lBdElHOXdkR2x2Ym5NZ2RHOGdZV1ptWldOMElIUm9aU0JqY21WaGRHbHZibHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjN4YWIyNWxmU0JiYjNCMGN5NTZiMjVsUFNkc2IyTmhiQ2RkSUMwZ2RYTmxJSFJvYVhNZ2VtOXVaU0JwWmlCdWJ5QnZabVp6WlhRZ2FYTWdjM0JsWTJsbWFXVmtJR2x1SUhSb1pTQnBibkIxZENCemRISnBibWNnYVhSelpXeG1MaUJYYVd4c0lHRnNjMjhnWTI5dWRtVnlkQ0IwYUdVZ1JHRjBaVlJwYldVZ2RHOGdkR2hwY3lCNmIyNWxYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YzJWMFdtOXVaVDFtWVd4elpWMGdMU0J2ZG1WeWNtbGtaU0IwYUdVZ2VtOXVaU0IzYVhSb0lHRWdlbTl1WlNCemNHVmphV1pwWldRZ2FXNGdkR2hsSUhOMGNtbHVaeUJwZEhObGJHWXNJR2xtSUdsMElITndaV05wWm1sbGN5QnZibVZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJ6TG14dlkyRnNaVDBuWlc0dFZWTW5YU0F0SUdFZ2JHOWpZV3hsSUhOMGNtbHVaeUIwYnlCMWMyVWdkMmhsYmlCd1lYSnphVzVuTGlCWGFXeHNJR0ZzYzI4Z2MyVjBJSFJvWlNCRVlYUmxWR2x0WlNCMGJ5QjBhR2x6SUd4dlkyRnNaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2IzQjBjeTV1ZFcxaVpYSnBibWRUZVhOMFpXMGdMU0IwYUdVZ2JuVnRZbVZ5YVc1bklITjVjM1JsYlNCMGJ5QjFjMlVnZDJobGJpQndZWEp6YVc1bkxpQlhhV3hzSUdGc2MyOGdjMlYwSUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdkRzhnZEdocGN5QnVkVzFpWlhKcGJtY2djM2x6ZEdWdFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J2Y0hSekxtOTFkSEIxZEVOaGJHVnVaR0Z5SUMwZ2RHaGxJRzkxZEhCMWRDQmpZV3hsYm1SaGNpQjBieUJ6WlhRZ2IyNGdkR2hsSUhKbGMzVnNkR2x1WnlCRVlYUmxWR2x0WlNCcGJuTjBZVzVqWlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVtY205dFUxRk1LQ2N5TURFM0xUQTFMVEUxSnlsY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Wm5KdmJWTlJUQ2duTWpBeE55MHdOUzB4TlNBd09Ub3hNam96TkNjcFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG1aeWIyMVRVVXdvSnpJd01UY3RNRFV0TVRVZ01EazZNVEk2TXpRdU16UXlKeWxjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVabkp2YlZOUlRDZ25NakF4Tnkwd05TMHhOU0F3T1RveE1qb3pOQzR6TkRJck1EWTZNREFuS1Z4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVtY205dFUxRk1LQ2N5TURFM0xUQTFMVEUxSURBNU9qRXlPak0wTGpNME1pQkJiV1Z5YVdOaEwweHZjMTlCYm1kbGJHVnpKeWxjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVabkp2YlZOUlRDZ25NakF4Tnkwd05TMHhOU0F3T1RveE1qb3pOQzR6TkRJZ1FXMWxjbWxqWVM5TWIzTmZRVzVuWld4bGN5Y3NJSHNnYzJWMFdtOXVaVG9nZEhKMVpTQjlLVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNW1jbTl0VTFGTUtDY3lNREUzTFRBMUxURTFJREE1T2pFeU9qTTBMak0wTWljc0lIc2dlbTl1WlRvZ0owRnRaWEpwWTJFdlRHOXpYMEZ1WjJWc1pYTW5JSDBwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxVFVVd29KekE1T2pFeU9qTTBMak0wTWljcFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBSaGRHVlVhVzFsZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdaeWIyMVRVVXdvZEdWNGRDd2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ1czWmhiSE1zSUhCaGNuTmxaRnB2Ym1WZElEMGdjR0Z5YzJWVFVVd29kR1Y0ZENrN1hHNGdJQ0FnY21WMGRYSnVJSEJoY25ObFJHRjBZVlJ2UkdGMFpWUnBiV1VvZG1Gc2N5d2djR0Z5YzJWa1dtOXVaU3dnYjNCMGN5d2dYQ0pUVVV4Y0lpd2dkR1Y0ZENrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRnVJR2x1ZG1Gc2FXUWdSR0YwWlZScGJXVXVYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCeVpXRnpiMjRnTFNCemFXMXdiR1VnYzNSeWFXNW5JRzltSUhkb2VTQjBhR2x6SUVSaGRHVlVhVzFsSUdseklHbHVkbUZzYVdRdUlGTm9iM1ZzWkNCdWIzUWdZMjl1ZEdGcGJpQndZWEpoYldWMFpYSnpJRzl5SUdGdWVYUm9hVzVuSUdWc2MyVWdaR0YwWVMxa1pYQmxibVJsYm5SY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnRsZUhCc1lXNWhkR2x2YmoxdWRXeHNYU0F0SUd4dmJtZGxjaUJsZUhCc1lXNWhkR2x2Yml3Z2JXRjVJR2x1WTJ4MVpHVWdjR0Z5WVcxbGRHVnljeUJoYm1RZ2IzUm9aWElnZFhObFpuVnNJR1JsWW5WbloybHVaeUJwYm1admNtMWhkR2x2Ymx4dUlDQWdLaUJBY21WMGRYSnVJSHRFWVhSbFZHbHRaWDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJwYm5aaGJHbGtLSEpsWVhOdmJpd2daWGh3YkdGdVlYUnBiMjRnUFNCdWRXeHNLU0I3WEc0Z0lDQWdhV1lnS0NGeVpXRnpiMjRwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuWmhiR2xrUVhKbmRXMWxiblJGY25KdmNpaGNJbTVsWldRZ2RHOGdjM0JsWTJsbWVTQmhJSEpsWVhOdmJpQjBhR1VnUkdGMFpWUnBiV1VnYVhNZ2FXNTJZV3hwWkZ3aUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JwYm5aaGJHbGtJRDBnY21WaGMyOXVJR2x1YzNSaGJtTmxiMllnU1c1MllXeHBaQ0EvSUhKbFlYTnZiaUE2SUc1bGR5QkpiblpoYkdsa0tISmxZWE52Yml3Z1pYaHdiR0Z1WVhScGIyNHBPMXh1WEc0Z0lDQWdhV1lnS0ZObGRIUnBibWR6TG5Sb2NtOTNUMjVKYm5aaGJHbGtLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MllXeHBaRVJoZEdWVWFXMWxSWEp5YjNJb2FXNTJZV3hwWkNrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUkdGMFpWUnBiV1VvZXlCcGJuWmhiR2xrSUgwcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRhR1ZqYXlCcFppQmhiaUJ2WW1wbFkzUWdhWE1nWVc0Z2FXNXpkR0Z1WTJVZ2IyWWdSR0YwWlZScGJXVXVJRmR2Y210eklHRmpjbTl6Y3lCamIyNTBaWGgwSUdKdmRXNWtZWEpwWlhOY2JpQWdJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjlJRzljYmlBZ0lDb2dRSEpsZEhWeWJpQjdZbTl2YkdWaGJuMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnBjMFJoZEdWVWFXMWxLRzhwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRzhnSmlZZ2J5NXBjMHgxZUc5dVJHRjBaVlJwYldVcElIeDhJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdMeThnU1U1R1QxeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUhaaGJIVmxJRzltSUhWdWFYUXVYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCMWJtbDBJQzBnWVNCMWJtbDBJSE4xWTJnZ1lYTWdKMjFwYm5WMFpTY2diM0lnSjJSaGVTZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dOeXdnTkNrdVoyVjBLQ2R0YjI1MGFDY3BPeUF2THowK0lEZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dOeXdnTkNrdVoyVjBLQ2RrWVhrbktUc2dMeTg5UGlBMFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTI1MWJXSmxjbjFjYmlBZ0lDb3ZYRzRnSUdkbGRDaDFibWwwS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhOYmRXNXBkRjA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCM2FHVjBhR1Z5SUhSb1pTQkVZWFJsVkdsdFpTQnBjeUIyWVd4cFpDNGdTVzUyWVd4cFpDQkVZWFJsVkdsdFpYTWdiMk5qZFhJZ2QyaGxianBjYmlBZ0lDb2dLaUJVYUdVZ1JHRjBaVlJwYldVZ2QyRnpJR055WldGMFpXUWdabkp2YlNCcGJuWmhiR2xrSUdOaGJHVnVaR0Z5SUdsdVptOXliV0YwYVc5dUxDQnpkV05vSUdGeklIUm9aU0F4TTNSb0lHMXZiblJvSUc5eUlFWmxZbkoxWVhKNUlETXdYRzRnSUNBcUlDb2dWR2hsSUVSaGRHVlVhVzFsSUhkaGN5QmpjbVZoZEdWa0lHSjVJR0Z1SUc5d1pYSmhkR2x2YmlCdmJpQmhibTkwYUdWeUlHbHVkbUZzYVdRZ1pHRjBaVnh1SUNBZ0tpQkFkSGx3WlNCN1ltOXZiR1ZoYm4xY2JpQWdJQ292WEc0Z0lHZGxkQ0JwYzFaaGJHbGtLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdWRtRnNhV1FnUFQwOUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaGJpQmxjbkp2Y2lCamIyUmxJR2xtSUhSb2FYTWdSR0YwWlZScGJXVWdhWE1nYVc1MllXeHBaQ3dnYjNJZ2JuVnNiQ0JwWmlCMGFHVWdSR0YwWlZScGJXVWdhWE1nZG1Gc2FXUmNiaUFnSUNvZ1FIUjVjR1VnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUdkbGRDQnBiblpoYkdsa1VtVmhjMjl1S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHVkbUZzYVdRZ1B5QjBhR2x6TG1sdWRtRnNhV1F1Y21WaGMyOXVJRG9nYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0Z1SUdWNGNHeGhibUYwYVc5dUlHOW1JSGRvZVNCMGFHbHpJRVJoZEdWVWFXMWxJR0psWTJGdFpTQnBiblpoYkdsa0xDQnZjaUJ1ZFd4c0lHbG1JSFJvWlNCRVlYUmxWR2x0WlNCcGN5QjJZV3hwWkZ4dUlDQWdLaUJBZEhsd1pTQjdjM1J5YVc1bmZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUdsdWRtRnNhV1JGZUhCc1lXNWhkR2x2YmlncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiblpoYkdsa0lEOGdkR2hwY3k1cGJuWmhiR2xrTG1WNGNHeGhibUYwYVc5dUlEb2diblZzYkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnZEdobElHeHZZMkZzWlNCdlppQmhJRVJoZEdWVWFXMWxMQ0J6ZFdOb0lDZGxiaTFIUWljdUlGUm9aU0JzYjJOaGJHVWdhWE1nZFhObFpDQjNhR1Z1SUdadmNtMWhkSFJwYm1jZ2RHaGxJRVJoZEdWVWFXMWxYRzRnSUNBcVhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2JHOWpZV3hsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG14dll5NXNiMk5oYkdVZ09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2JuVnRZbVZ5YVc1bklITjVjM1JsYlNCdlppQmhJRVJoZEdWVWFXMWxMQ0J6ZFdOb0lDZGlaVzVuSnk0Z1ZHaGxJRzUxYldKbGNtbHVaeUJ6ZVhOMFpXMGdhWE1nZFhObFpDQjNhR1Z1SUdadmNtMWhkSFJwYm1jZ2RHaGxJRVJoZEdWVWFXMWxYRzRnSUNBcVhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2JuVnRZbVZ5YVc1blUzbHpkR1Z0S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG14dll5NXVkVzFpWlhKcGJtZFRlWE4wWlcwZ09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2IzVjBjSFYwSUdOaGJHVnVaR0Z5SUc5bUlHRWdSR0YwWlZScGJXVXNJSE4xWTJnZ0oybHpiR0Z0YVdNbkxpQlVhR1VnYjNWMGNIVjBJR05oYkdWdVpHRnlJR2x6SUhWelpXUWdkMmhsYmlCbWIzSnRZWFIwYVc1bklIUm9aU0JFWVhSbFZHbHRaVnh1SUNBZ0tseHVJQ0FnS2lCQWRIbHdaU0I3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnWjJWMElHOTFkSEIxZEVOaGJHVnVaR0Z5S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG14dll5NXZkWFJ3ZFhSRFlXeGxibVJoY2lBNklHNTFiR3c3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCMGFXMWxJSHB2Ym1VZ1lYTnpiMk5wWVhSbFpDQjNhWFJvSUhSb2FYTWdSR0YwWlZScGJXVXVYRzRnSUNBcUlFQjBlWEJsSUh0YWIyNWxmVnh1SUNBZ0tpOWNiaUFnWjJWMElIcHZibVVvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzcHZibVU3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCdVlXMWxJRzltSUhSb1pTQjBhVzFsSUhwdmJtVXVYRzRnSUNBcUlFQjBlWEJsSUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCblpYUWdlbTl1WlU1aGJXVW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhOV1lXeHBaQ0EvSUhSb2FYTXVlbTl1WlM1dVlXMWxJRG9nYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJSGxsWVhKY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tnl3Z05Td2dNalVwTG5sbFlYSWdMeTg5UGlBeU1ERTNYRzRnSUNBcUlFQjBlWEJsSUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUWdlV1ZoY2lncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBjMVpoYkdsa0lEOGdkR2hwY3k1akxubGxZWElnT2lCT1lVNDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElIUm9aU0J4ZFdGeWRHVnlYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UY3NJRFVzSURJMUtTNXhkV0Z5ZEdWeUlDOHZQVDRnTWx4dUlDQWdLaUJBZEhsd1pTQjdiblZ0WW1WeWZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUhGMVlYSjBaWElvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lFMWhkR2d1WTJWcGJDaDBhR2x6TG1NdWJXOXVkR2dnTHlBektTQTZJRTVoVGp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnZEdobElHMXZiblJvSUNneExURXlLUzVjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTlN3Z01qVXBMbTF2Ym5Sb0lDOHZQVDRnTlZ4dUlDQWdLaUJBZEhsd1pTQjdiblZ0WW1WeWZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUcxdmJuUm9LQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbU11Ylc5dWRHZ2dPaUJPWVU0N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUhSb1pTQmtZWGtnYjJZZ2RHaGxJRzF2Ym5Sb0lDZ3hMVE13YVhOb0tTNWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dOU3dnTWpVcExtUmhlU0F2THowK0lESTFYRzRnSUNBcUlFQjBlWEJsSUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUWdaR0Y1S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG1NdVpHRjVJRG9nVG1GT08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCMGFHVWdhRzkxY2lCdlppQjBhR1VnWkdGNUlDZ3dMVEl6S1M1Y2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tnl3Z05Td2dNalVzSURrcExtaHZkWElnTHk4OVBpQTVYRzRnSUNBcUlFQjBlWEJsSUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUWdhRzkxY2lncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBjMVpoYkdsa0lEOGdkR2hwY3k1akxtaHZkWElnT2lCT1lVNDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElIUm9aU0J0YVc1MWRHVWdiMllnZEdobElHaHZkWElnS0RBdE5Ua3BMbHh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTNMQ0ExTENBeU5Td2dPU3dnTXpBcExtMXBiblYwWlNBdkx6MCtJRE13WEc0Z0lDQXFJRUIwZVhCbElIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYldsdWRYUmxLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbU11YldsdWRYUmxJRG9nVG1GT08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCMGFHVWdjMlZqYjI1a0lHOW1JSFJvWlNCdGFXNTFkR1VnS0RBdE5Ua3BMbHh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTNMQ0ExTENBeU5Td2dPU3dnTXpBc0lEVXlLUzV6WldOdmJtUWdMeTg5UGlBMU1seHVJQ0FnS2lCQWRIbHdaU0I3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnWjJWMElITmxZMjl1WkNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBjMVpoYkdsa0lEOGdkR2hwY3k1akxuTmxZMjl1WkNBNklFNWhUanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUcxcGJHeHBjMlZqYjI1a0lHOW1JSFJvWlNCelpXTnZibVFnS0RBdE9UazVLUzVjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTlN3Z01qVXNJRGtzSURNd0xDQTFNaXdnTmpVMEtTNXRhV3hzYVhObFkyOXVaQ0F2THowK0lEWTFORnh1SUNBZ0tpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJRzFwYkd4cGMyVmpiMjVrS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG1NdWJXbHNiR2x6WldOdmJtUWdPaUJPWVU0N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUhSb1pTQjNaV1ZySUhsbFlYSmNiaUFnSUNvZ1FITmxaU0JvZEhSd2N6b3ZMMlZ1TG5kcGEybHdaV1JwWVM1dmNtY3ZkMmxyYVM5SlUwOWZkMlZsYTE5a1lYUmxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJREV5TENBek1Ta3VkMlZsYTFsbFlYSWdMeTg5UGlBeU1ERTFYRzRnSUNBcUlFQjBlWEJsSUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUWdkMlZsYTFsbFlYSW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhOV1lXeHBaQ0EvSUhCdmMzTnBZbXg1UTJGamFHVmtWMlZsYTBSaGRHRW9kR2hwY3lrdWQyVmxhMWxsWVhJZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCM1pXVnJJRzUxYldKbGNpQnZaaUIwYUdVZ2QyVmxheUI1WldGeUlDZ3hMVFV5YVhOb0tTNWNiaUFnSUNvZ1FITmxaU0JvZEhSd2N6b3ZMMlZ1TG5kcGEybHdaV1JwWVM1dmNtY3ZkMmxyYVM5SlUwOWZkMlZsYTE5a1lYUmxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UY3NJRFVzSURJMUtTNTNaV1ZyVG5WdFltVnlJQzh2UFQ0Z01qRmNiaUFnSUNvZ1FIUjVjR1VnZTI1MWJXSmxjbjFjYmlBZ0lDb3ZYRzRnSUdkbGRDQjNaV1ZyVG5WdFltVnlLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCd2IzTnphV0pzZVVOaFkyaGxaRmRsWld0RVlYUmhLSFJvYVhNcExuZGxaV3RPZFcxaVpYSWdPaUJPWVU0N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUhSb1pTQmtZWGtnYjJZZ2RHaGxJSGRsWldzdVhHNGdJQ0FxSURFZ2FYTWdUVzl1WkdGNUlHRnVaQ0EzSUdseklGTjFibVJoZVZ4dUlDQWdLaUJBYzJWbElHaDBkSEJ6T2k4dlpXNHVkMmxyYVhCbFpHbGhMbTl5Wnk5M2FXdHBMMGxUVDE5M1pXVnJYMlJoZEdWY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4TkN3Z01URXNJRE14S1M1M1pXVnJaR0Y1SUM4dlBUNGdORnh1SUNBZ0tpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJSGRsWld0a1lYa29LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhOV1lXeHBaQ0EvSUhCdmMzTnBZbXg1UTJGamFHVmtWMlZsYTBSaGRHRW9kR2hwY3lrdWQyVmxhMlJoZVNBNklFNWhUanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUc5eVpHbHVZV3dnS0cxbFlXNXBibWNnZEdobElHUmhlU0J2WmlCMGFHVWdlV1ZoY2lsY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tnl3Z05Td2dNalVwTG05eVpHbHVZV3dnTHk4OVBpQXhORFZjYmlBZ0lDb2dRSFI1Y0dVZ2UyNTFiV0psY254RVlYUmxWR2x0WlgxY2JpQWdJQ292WEc0Z0lHZGxkQ0J2Y21ScGJtRnNLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCbmNtVm5iM0pwWVc1VWIwOXlaR2x1WVd3b2RHaHBjeTVqS1M1dmNtUnBibUZzSURvZ1RtRk9PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYUhWdFlXNGdjbVZoWkdGaWJHVWdjMmh2Y25RZ2JXOXVkR2dnYm1GdFpTd2djM1ZqYUNCaGN5QW5UMk4wSnk1Y2JpQWdJQ29nUkdWbVlYVnNkSE1nZEc4Z2RHaGxJSE41YzNSbGJTZHpJR3h2WTJGc1pTQnBaaUJ1YnlCc2IyTmhiR1VnYUdGeklHSmxaVzRnYzNCbFkybG1hV1ZrWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVGNzSURFd0xDQXpNQ2t1Ylc5dWRHaFRhRzl5ZENBdkx6MCtJRTlqZEZ4dUlDQWdLaUJBZEhsd1pTQjdjM1J5YVc1bmZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUcxdmJuUm9VMmh2Y25Rb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JRWx1Wm04dWJXOXVkR2h6S0Z3aWMyaHZjblJjSWl3Z2V5QnNiMk5QWW1vNklIUm9hWE11Ykc5aklIMHBXM1JvYVhNdWJXOXVkR2dnTFNBeFhTQTZJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUhSb1pTQm9kVzFoYmlCeVpXRmtZV0pzWlNCc2IyNW5JRzF2Ym5Sb0lHNWhiV1VzSUhOMVkyZ2dZWE1nSjA5amRHOWlaWEluTGx4dUlDQWdLaUJFWldaaGRXeDBjeUIwYnlCMGFHVWdjM2x6ZEdWdEozTWdiRzlqWVd4bElHbG1JRzV2SUd4dlkyRnNaU0JvWVhNZ1ltVmxiaUJ6Y0dWamFXWnBaV1JjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTVRBc0lETXdLUzV0YjI1MGFFeHZibWNnTHk4OVBpQlBZM1J2WW1WeVhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2JXOXVkR2hNYjI1bktDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUJKYm1adkxtMXZiblJvY3loY0lteHZibWRjSWl3Z2V5QnNiMk5QWW1vNklIUm9hWE11Ykc5aklIMHBXM1JvYVhNdWJXOXVkR2dnTFNBeFhTQTZJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUhSb1pTQm9kVzFoYmlCeVpXRmtZV0pzWlNCemFHOXlkQ0IzWldWclpHRjVMQ0J6ZFdOb0lHRnpJQ2ROYjI0bkxseHVJQ0FnS2lCRVpXWmhkV3gwY3lCMGJ5QjBhR1VnYzNsemRHVnRKM01nYkc5allXeGxJR2xtSUc1dklHeHZZMkZzWlNCb1lYTWdZbVZsYmlCemNHVmphV1pwWldSY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tnl3Z01UQXNJRE13S1M1M1pXVnJaR0Y1VTJodmNuUWdMeTg5UGlCTmIyNWNiaUFnSUNvZ1FIUjVjR1VnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUdkbGRDQjNaV1ZyWkdGNVUyaHZjblFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lFbHVabTh1ZDJWbGEyUmhlWE1vWENKemFHOXlkRndpTENCN0lHeHZZMDlpYWpvZ2RHaHBjeTVzYjJNZ2ZTbGJkR2hwY3k1M1pXVnJaR0Y1SUMwZ01WMGdPaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCMGFHVWdhSFZ0WVc0Z2NtVmhaR0ZpYkdVZ2JHOXVaeUIzWldWclpHRjVMQ0J6ZFdOb0lHRnpJQ2ROYjI1a1lYa25MbHh1SUNBZ0tpQkVaV1poZFd4MGN5QjBieUIwYUdVZ2MzbHpkR1Z0SjNNZ2JHOWpZV3hsSUdsbUlHNXZJR3h2WTJGc1pTQm9ZWE1nWW1WbGJpQnpjR1ZqYVdacFpXUmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dNVEFzSURNd0tTNTNaV1ZyWkdGNVRHOXVaeUF2THowK0lFMXZibVJoZVZ4dUlDQWdLaUJBZEhsd1pTQjdjM1J5YVc1bmZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUhkbFpXdGtZWGxNYjI1bktDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUJKYm1adkxuZGxaV3RrWVhsektGd2liRzl1WjF3aUxDQjdJR3h2WTA5aWFqb2dkR2hwY3k1c2IyTWdmU2xiZEdocGN5NTNaV1ZyWkdGNUlDMGdNVjBnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnVlZSRElHOW1abk5sZENCdlppQjBhR2x6SUVSaGRHVlVhVzFsSUdsdUlHMXBiblYwWlhOY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3ViMlptYzJWMElDOHZQVDRnTFRJME1GeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9LUzV2Wm1aelpYUWdMeTg5UGlBd1hHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2IyWm1jMlYwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QXJkR2hwY3k1dklEb2dUbUZPTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2MyaHZjblFnYUhWdFlXNGdibUZ0WlNCbWIzSWdkR2hsSUhwdmJtVW5jeUJqZFhKeVpXNTBJRzltWm5ObGRDd2dabTl5SUdWNFlXMXdiR1VnWENKRlUxUmNJaUJ2Y2lCY0lrVkVWRndpTGx4dUlDQWdLaUJFWldaaGRXeDBjeUIwYnlCMGFHVWdjM2x6ZEdWdEozTWdiRzlqWVd4bElHbG1JRzV2SUd4dlkyRnNaU0JvWVhNZ1ltVmxiaUJ6Y0dWamFXWnBaV1JjYmlBZ0lDb2dRSFI1Y0dVZ2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lHZGxkQ0J2Wm1aelpYUk9ZVzFsVTJodmNuUW9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVhWE5XWVd4cFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZW05dVpTNXZabVp6WlhST1lXMWxLSFJvYVhNdWRITXNJSHRjYmlBZ0lDQWdJQ0FnWm05eWJXRjBPaUJjSW5Ob2IzSjBYQ0lzWEc0Z0lDQWdJQ0FnSUd4dlkyRnNaVG9nZEdocGN5NXNiMk5oYkdVc1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2JHOXVaeUJvZFcxaGJpQnVZVzFsSUdadmNpQjBhR1VnZW05dVpTZHpJR04xY25KbGJuUWdiMlptYzJWMExDQm1iM0lnWlhoaGJYQnNaU0JjSWtWaGMzUmxjbTRnVTNSaGJtUmhjbVFnVkdsdFpWd2lJRzl5SUZ3aVJXRnpkR1Z5YmlCRVlYbHNhV2RvZENCVWFXMWxYQ0l1WEc0Z0lDQXFJRVJsWm1GMWJIUnpJSFJ2SUhSb1pTQnplWE4wWlcwbmN5QnNiMk5oYkdVZ2FXWWdibThnYkc5allXeGxJR2hoY3lCaVpXVnVJSE53WldOcFptbGxaRnh1SUNBZ0tpQkFkSGx3WlNCN2MzUnlhVzVuZlZ4dUlDQWdLaTljYmlBZ1oyVjBJRzltWm5ObGRFNWhiV1ZNYjI1bktDa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpWbUZzYVdRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbnB2Ym1VdWIyWm1jMlYwVG1GdFpTaDBhR2x6TG5SekxDQjdYRzRnSUNBZ0lDQWdJR1p2Y20xaGREb2dYQ0pzYjI1blhDSXNYRzRnSUNBZ0lDQWdJR3h2WTJGc1pUb2dkR2hwY3k1c2IyTmhiR1VzWEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjNhR1YwYUdWeUlIUm9hWE1nZW05dVpTZHpJRzltWm5ObGRDQmxkbVZ5SUdOb1lXNW5aWE1zSUdGeklHbHVJR0VnUkZOVUxseHVJQ0FnS2lCQWRIbHdaU0I3WW05dmJHVmhibjFjYmlBZ0lDb3ZYRzRnSUdkbGRDQnBjMDltWm5ObGRFWnBlR1ZrS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG5wdmJtVXVhWE5WYm1sMlpYSnpZV3dnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjNhR1YwYUdWeUlIUm9aU0JFWVhSbFZHbHRaU0JwY3lCcGJpQmhJRVJUVkM1Y2JpQWdJQ29nUUhSNWNHVWdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2FYTkpia1JUVkNncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1cGMwOW1abk5sZEVacGVHVmtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQWdJSFJvYVhNdWIyWm1jMlYwSUQ0Z2RHaHBjeTV6WlhRb2V5QnRiMjUwYURvZ01Td2daR0Y1T2lBeElIMHBMbTltWm5ObGRDQjhmRnh1SUNBZ0lDQWdJQ0IwYUdsekxtOW1abk5sZENBK0lIUm9hWE11YzJWMEtIc2diVzl1ZEdnNklEVWdmU2t1YjJabWMyVjBYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSFJ5ZFdVZ2FXWWdkR2hwY3lCRVlYUmxWR2x0WlNCcGN5QnBiaUJoSUd4bFlYQWdlV1ZoY2l3Z1ptRnNjMlVnYjNSb1pYSjNhWE5sWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVFlwTG1selNXNU1aV0Z3V1dWaGNpQXZMejArSUhSeWRXVmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE15a3VhWE5KYmt4bFlYQlpaV0Z5SUM4dlBUNGdabUZzYzJWY2JpQWdJQ29nUUhSNWNHVWdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2FYTkpia3hsWVhCWlpXRnlLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnBjMHhsWVhCWlpXRnlLSFJvYVhNdWVXVmhjaWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCMGFHVWdiblZ0WW1WeUlHOW1JR1JoZVhNZ2FXNGdkR2hwY3lCRVlYUmxWR2x0WlNkeklHMXZiblJvWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVFlzSURJcExtUmhlWE5KYmsxdmJuUm9JQzh2UFQ0Z01qbGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE5pd2dNeWt1WkdGNWMwbHVUVzl1ZEdnZ0x5ODlQaUF6TVZ4dUlDQWdLaUJBZEhsd1pTQjdiblZ0WW1WeWZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUdSaGVYTkpiazF2Ym5Sb0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCa1lYbHpTVzVOYjI1MGFDaDBhR2x6TG5sbFlYSXNJSFJvYVhNdWJXOXVkR2dwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ2RHaGxJRzUxYldKbGNpQnZaaUJrWVhseklHbHVJSFJvYVhNZ1JHRjBaVlJwYldVbmN5QjVaV0Z5WEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVFlwTG1SaGVYTkpibGxsWVhJZ0x5ODlQaUF6TmpaY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4TXlrdVpHRjVjMGx1V1dWaGNpQXZMejArSURNMk5WeHVJQ0FnS2lCQWRIbHdaU0I3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnWjJWMElHUmhlWE5KYmxsbFlYSW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhOV1lXeHBaQ0EvSUdSaGVYTkpibGxsWVhJb2RHaHBjeTU1WldGeUtTQTZJRTVoVGp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIUm9aU0J1ZFcxaVpYSWdiMllnZDJWbGEzTWdhVzRnZEdocGN5QkVZWFJsVkdsdFpTZHpJSGxsWVhKY2JpQWdJQ29nUUhObFpTQm9kSFJ3Y3pvdkwyVnVMbmRwYTJsd1pXUnBZUzV2Y21jdmQybHJhUzlKVTA5ZmQyVmxhMTlrWVhSbFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TURRcExuZGxaV3R6U1c1WFpXVnJXV1ZoY2lBdkx6MCtJRFV6WEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVE1wTG5kbFpXdHpTVzVYWldWcldXVmhjaUF2THowK0lEVXlYRzRnSUNBcUlFQjBlWEJsSUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUWdkMlZsYTNOSmJsZGxaV3RaWldGeUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUIzWldWcmMwbHVWMlZsYTFsbFlYSW9kR2hwY3k1M1pXVnJXV1ZoY2lrZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCMGFHVWdjbVZ6YjJ4MlpXUWdTVzUwYkNCdmNIUnBiMjV6SUdadmNpQjBhR2x6SUVSaGRHVlVhVzFsTGx4dUlDQWdLaUJVYUdseklHbHpJSFZ6WldaMWJDQnBiaUIxYm1SbGNuTjBZVzVrYVc1bklIUm9aU0JpWldoaGRtbHZjaUJ2WmlCbWIzSnRZWFIwYVc1bklHMWxkR2h2WkhOY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEhNZ0xTQjBhR1VnYzJGdFpTQnZjSFJwYjI1eklHRnpJSFJ2VEc5allXeGxVM1J5YVc1blhHNGdJQ0FxSUVCeVpYUjFjbTRnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhKbGMyOXNkbVZrVEc5allXeGxUM0IwYVc5dWN5aHZjSFJ6SUQwZ2UzMHBJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHeHZZMkZzWlN3Z2JuVnRZbVZ5YVc1blUzbHpkR1Z0TENCallXeGxibVJoY2lCOUlEMGdSbTl5YldGMGRHVnlMbU55WldGMFpTaGNiaUFnSUNBZ0lIUm9hWE11Ykc5akxtTnNiMjVsS0c5d2RITXBMRnh1SUNBZ0lDQWdiM0IwYzF4dUlDQWdJQ2t1Y21WemIyeDJaV1JQY0hScGIyNXpLSFJvYVhNcE8xeHVJQ0FnSUhKbGRIVnliaUI3SUd4dlkyRnNaU3dnYm5WdFltVnlhVzVuVTNsemRHVnRMQ0J2ZFhSd2RYUkRZV3hsYm1SaGNqb2dZMkZzWlc1a1lYSWdmVHRjYmlBZ2ZWeHVYRzRnSUM4dklGUlNRVTVUUms5U1RWeHVYRzRnSUM4cUtseHVJQ0FnS2lCY0lsTmxkRndpSUhSb1pTQkVZWFJsVkdsdFpTZHpJSHB2Ym1VZ2RHOGdWVlJETGlCU1pYUjFjbTV6SUdFZ2JtVjNiSGt0WTI5dWMzUnlkV04wWldRZ1JHRjBaVlJwYldVdVhHNGdJQ0FxWEc0Z0lDQXFJRVZ4ZFdsMllXeGxiblFnZEc4Z2UwQnNhVzVySUVSaGRHVlVhVzFsSTNObGRGcHZibVY5S0NkMWRHTW5LVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1cyOW1abk5sZEQwd1hTQXRJRzl3ZEdsdmJtRnNiSGtzSUdGdUlHOW1abk5sZENCbWNtOXRJRlZVUXlCcGJpQnRhVzUxZEdWelhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0JiYjNCMGN6MTdmVjBnTFNCdmNIUnBiMjV6SUhSdklIQmhjM01nZEc4Z1lITmxkRnB2Ym1Vb0tXQmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQjBiMVZVUXlodlptWnpaWFFnUFNBd0xDQnZjSFJ6SUQwZ2UzMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6WlhSYWIyNWxLRVpwZUdWa1QyWm1jMlYwV205dVpTNXBibk4wWVc1alpTaHZabVp6WlhRcExDQnZjSFJ6S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQmNJbE5sZEZ3aUlIUm9aU0JFWVhSbFZHbHRaU2R6SUhwdmJtVWdkRzhnZEdobElHaHZjM1FuY3lCc2IyTmhiQ0I2YjI1bExpQlNaWFIxY201eklHRWdibVYzYkhrdFkyOXVjM1J5ZFdOMFpXUWdSR0YwWlZScGJXVXVYRzRnSUNBcVhHNGdJQ0FxSUVWeGRXbDJZV3hsYm5RZ2RHOGdZSE5sZEZwdmJtVW9KMnh2WTJGc0p5bGdYRzRnSUNBcUlFQnlaWFIxY200Z2UwUmhkR1ZVYVcxbGZWeHVJQ0FnS2k5Y2JpQWdkRzlNYjJOaGJDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6WlhSYWIyNWxLRk5sZEhScGJtZHpMbVJsWm1GMWJIUmFiMjVsS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQmNJbE5sZEZ3aUlIUm9aU0JFWVhSbFZHbHRaU2R6SUhwdmJtVWdkRzhnYzNCbFkybG1hV1ZrSUhwdmJtVXVJRkpsZEhWeWJuTWdZU0J1Wlhkc2VTMWpiMjV6ZEhKMVkzUmxaQ0JFWVhSbFZHbHRaUzVjYmlBZ0lDcGNiaUFnSUNvZ1Fua2daR1ZtWVhWc2RDd2dkR2hsSUhObGRIUmxjaUJyWldWd2N5QjBhR1VnZFc1a1pYSnNlV2x1WnlCMGFXMWxJSFJvWlNCellXMWxJQ2hoY3lCcGJpd2dkR2hsSUhOaGJXVWdkR2x0WlhOMFlXMXdLU3dnWW5WMElIUm9aU0J1WlhjZ2FXNXpkR0Z1WTJVZ2QybHNiQ0J5WlhCdmNuUWdaR2xtWm1WeVpXNTBJR3h2WTJGc0lIUnBiV1Z6SUdGdVpDQmpiMjV6YVdSbGNpQkVVMVJ6SUhkb1pXNGdiV0ZyYVc1bklHTnZiWEIxZEdGMGFXOXVjeXdnWVhNZ2QybDBhQ0I3UUd4cGJtc2dSR0YwWlZScGJXVWpjR3gxYzMwdUlGbHZkU0J0WVhrZ2QybHphQ0IwYnlCMWMyVWdlMEJzYVc1cklFUmhkR1ZVYVcxbEkzUnZURzlqWVd4OUlHRnVaQ0I3UUd4cGJtc2dSR0YwWlZScGJXVWpkRzlWVkVOOUlIZG9hV05vSUhCeWIzWnBaR1VnYzJsdGNHeGxJR052Ym5abGJtbGxibU5sSUhkeVlYQndaWEp6SUdadmNpQmpiMjF0YjI1c2VTQjFjMlZrSUhwdmJtVnpMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjN4YWIyNWxmU0JiZW05dVpUMG5iRzlqWVd3blhTQXRJR0VnZW05dVpTQnBaR1Z1ZEdsbWFXVnlMaUJCY3lCaElITjBjbWx1Wnl3Z2RHaGhkQ0JqWVc0Z1ltVWdZVzU1SUVsQlRrRWdlbTl1WlNCemRYQndiM0owWldRZ1lua2dkR2hsSUdodmMzUWdaVzUyYVhKdmJtMWxiblFzSUc5eUlHRWdabWw0WldRdGIyWm1jMlYwSUc1aGJXVWdiMllnZEdobElHWnZjbTBnSjFWVVF5c3pKeXdnYjNJZ2RHaGxJSE4wY21sdVozTWdKMnh2WTJGc0p5QnZjaUFuZFhSakp5NGdXVzkxSUcxaGVTQmhiSE52SUhOMWNIQnNlU0JoYmlCcGJuTjBZVzVqWlNCdlppQmhJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTmFiMjVsZlNCamJHRnpjeTVjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkSE1nTFNCdmNIUnBiMjV6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMjl3ZEhNdWEyVmxjRXh2WTJGc1ZHbHRaVDFtWVd4elpWMGdMU0JKWmlCMGNuVmxMQ0JoWkdwMWMzUWdkR2hsSUhWdVpHVnliSGxwYm1jZ2RHbHRaU0J6YnlCMGFHRjBJSFJvWlNCc2IyTmhiQ0IwYVcxbElITjBZWGx6SUhSb1pTQnpZVzFsTENCaWRYUWdhVzRnZEdobElIUmhjbWRsZENCNmIyNWxMaUJaYjNVZ2MyaHZkV3hrSUhKaGNtVnNlU0J1WldWa0lIUm9hWE11WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMFJoZEdWVWFXMWxmVnh1SUNBZ0tpOWNiaUFnYzJWMFdtOXVaU2g2YjI1bExDQjdJR3RsWlhCTWIyTmhiRlJwYldVZ1BTQm1ZV3h6WlN3Z2EyVmxjRU5oYkdWdVpHRnlWR2x0WlNBOUlHWmhiSE5sSUgwZ1BTQjdmU2tnZTF4dUlDQWdJSHB2Ym1VZ1BTQnViM0p0WVd4cGVtVmFiMjVsS0hwdmJtVXNJRk5sZEhScGJtZHpMbVJsWm1GMWJIUmFiMjVsS1R0Y2JpQWdJQ0JwWmlBb2VtOXVaUzVsY1hWaGJITW9kR2hwY3k1NmIyNWxLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNnaGVtOXVaUzVwYzFaaGJHbGtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSR0YwWlZScGJXVXVhVzUyWVd4cFpDaDFibk4xY0hCdmNuUmxaRnB2Ym1Vb2VtOXVaU2twTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnNaWFFnYm1WM1ZGTWdQU0IwYUdsekxuUnpPMXh1SUNBZ0lDQWdhV1lnS0d0bFpYQk1iMk5oYkZScGJXVWdmSHdnYTJWbGNFTmhiR1Z1WkdGeVZHbHRaU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J2Wm1aelpYUkhkV1Z6Y3lBOUlIcHZibVV1YjJabWMyVjBLSFJvYVhNdWRITXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmhjMDlpYWlBOUlIUm9hWE11ZEc5UFltcGxZM1FvS1R0Y2JpQWdJQ0FnSUNBZ1cyNWxkMVJUWFNBOUlHOWlhbFJ2VkZNb1lYTlBZbW9zSUc5bVpuTmxkRWQxWlhOekxDQjZiMjVsS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJqYkc5dVpTaDBhR2x6TENCN0lIUnpPaUJ1WlhkVVV5d2dlbTl1WlNCOUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dYQ0pUWlhSY0lpQjBhR1VnYkc5allXeGxMQ0J1ZFcxaVpYSnBibWRUZVhOMFpXMHNJRzl5SUc5MWRIQjFkRU5oYkdWdVpHRnlMaUJTWlhSMWNtNXpJR0VnYm1WM2JIa3RZMjl1YzNSeWRXTjBaV1FnUkdGMFpWUnBiV1V1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQndjbTl3WlhKMGFXVnpJQzBnZEdobElIQnliM0JsY25ScFpYTWdkRzhnYzJWMFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRjc0lEVXNJREkxS1M1eVpXTnZibVpwWjNWeVpTaDdJR3h2WTJGc1pUb2dKMlZ1TFVkQ0p5QjlLVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVZWFJsVkdsdFpYMWNiaUFnSUNvdlhHNGdJSEpsWTI5dVptbG5kWEpsS0hzZ2JHOWpZV3hsTENCdWRXMWlaWEpwYm1kVGVYTjBaVzBzSUc5MWRIQjFkRU5oYkdWdVpHRnlJSDBnUFNCN2ZTa2dlMXh1SUNBZ0lHTnZibk4wSUd4dll5QTlJSFJvYVhNdWJHOWpMbU5zYjI1bEtIc2diRzlqWVd4bExDQnVkVzFpWlhKcGJtZFRlWE4wWlcwc0lHOTFkSEIxZEVOaGJHVnVaR0Z5SUgwcE8xeHVJQ0FnSUhKbGRIVnliaUJqYkc5dVpTaDBhR2x6TENCN0lHeHZZeUI5S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQmNJbE5sZEZ3aUlIUm9aU0JzYjJOaGJHVXVJRkpsZEhWeWJuTWdZU0J1Wlhkc2VTMWpiMjV6ZEhKMVkzUmxaQ0JFWVhSbFZHbHRaUzVjYmlBZ0lDb2dTblZ6ZENCaElHTnZiblpsYm1sbGJuUWdZV3hwWVhNZ1ptOXlJSEpsWTI5dVptbG5kWEpsS0hzZ2JHOWpZV3hsSUgwcFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRjc0lEVXNJREkxS1M1elpYUk1iMk5oYkdVb0oyVnVMVWRDSnlsY2JpQWdJQ29nUUhKbGRIVnliaUI3UkdGMFpWUnBiV1Y5WEc0Z0lDQXFMMXh1SUNCelpYUk1iMk5oYkdVb2JHOWpZV3hsS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmpiMjVtYVdkMWNtVW9leUJzYjJOaGJHVWdmU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1hDSlRaWFJjSWlCMGFHVWdkbUZzZFdWeklHOW1JSE53WldOcFptbGxaQ0IxYm1sMGN5NGdVbVYwZFhKdWN5QmhJRzVsZDJ4NUxXTnZibk4wY25WamRHVmtJRVJoZEdWVWFXMWxMbHh1SUNBZ0tpQlpiM1VnWTJGdUlHOXViSGtnYzJWMElIVnVhWFJ6SUhkcGRHZ2dkR2hwY3lCdFpYUm9iMlE3SUdadmNpQmNJbk5sZEhScGJtZGNJaUJ0WlhSaFpHRjBZU3dnYzJWbElIdEFiR2x1YXlCRVlYUmxWR2x0WlNOeVpXTnZibVpwWjNWeVpYMGdZVzVrSUh0QWJHbHVheUJFWVhSbFZHbHRaU056WlhSYWIyNWxmUzVjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiSFZsY3lBdElHRWdiV0Z3Y0dsdVp5QnZaaUIxYm1sMGN5QjBieUJ1ZFcxaVpYSnpYRzRnSUNBcUlFQmxlR0Z0Y0d4bElHUjBMbk5sZENoN0lIbGxZWEk2SURJd01UY2dmU2xjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdaSFF1YzJWMEtIc2dhRzkxY2pvZ09Dd2diV2x1ZFhSbE9pQXpNQ0I5S1Z4dUlDQWdLaUJBWlhoaGJYQnNaU0JrZEM1elpYUW9leUIzWldWclpHRjVPaUExSUgwcFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUdSMExuTmxkQ2g3SUhsbFlYSTZJREl3TURVc0lHOXlaR2x1WVd3NklESXpOQ0I5S1Z4dUlDQWdLaUJBY21WMGRYSnVJSHRFWVhSbFZHbHRaWDFjYmlBZ0lDb3ZYRzRnSUhObGRDaDJZV3gxWlhNcElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTldZV3hwWkNrZ2NtVjBkWEp1SUhSb2FYTTdYRzVjYmlBZ0lDQmpiMjV6ZENCdWIzSnRZV3hwZW1Wa0lEMGdibTl5YldGc2FYcGxUMkpxWldOMEtIWmhiSFZsY3l3Z2JtOXliV0ZzYVhwbFZXNXBkQ2tzWEc0Z0lDQWdJQ0J6WlhSMGFXNW5WMlZsYTFOMGRXWm1JRDFjYmlBZ0lDQWdJQ0FnSVdselZXNWtaV1pwYm1Wa0tHNXZjbTFoYkdsNlpXUXVkMlZsYTFsbFlYSXBJSHg4WEc0Z0lDQWdJQ0FnSUNGcGMxVnVaR1ZtYVc1bFpDaHViM0p0WVd4cGVtVmtMbmRsWld0T2RXMWlaWElwSUh4OFhHNGdJQ0FnSUNBZ0lDRnBjMVZ1WkdWbWFXNWxaQ2h1YjNKdFlXeHBlbVZrTG5kbFpXdGtZWGtwTEZ4dUlDQWdJQ0FnWTI5dWRHRnBibk5QY21ScGJtRnNJRDBnSVdselZXNWtaV1pwYm1Wa0tHNXZjbTFoYkdsNlpXUXViM0prYVc1aGJDa3NYRzRnSUNBZ0lDQmpiMjUwWVdsdWMwZHlaV2R2Y2xsbFlYSWdQU0FoYVhOVmJtUmxabWx1WldRb2JtOXliV0ZzYVhwbFpDNTVaV0Z5S1N4Y2JpQWdJQ0FnSUdOdmJuUmhhVzV6UjNKbFoyOXlUVVFnUFNBaGFYTlZibVJsWm1sdVpXUW9ibTl5YldGc2FYcGxaQzV0YjI1MGFDa2dmSHdnSVdselZXNWtaV1pwYm1Wa0tHNXZjbTFoYkdsNlpXUXVaR0Y1S1N4Y2JpQWdJQ0FnSUdOdmJuUmhhVzV6UjNKbFoyOXlJRDBnWTI5dWRHRnBibk5IY21WbmIzSlpaV0Z5SUh4OElHTnZiblJoYVc1elIzSmxaMjl5VFVRc1hHNGdJQ0FnSUNCa1pXWnBibWwwWlZkbFpXdEVaV1lnUFNCdWIzSnRZV3hwZW1Wa0xuZGxaV3RaWldGeUlIeDhJRzV2Y20xaGJHbDZaV1F1ZDJWbGEwNTFiV0psY2p0Y2JseHVJQ0FnSUdsbUlDZ29ZMjl1ZEdGcGJuTkhjbVZuYjNJZ2ZId2dZMjl1ZEdGcGJuTlBjbVJwYm1Gc0tTQW1KaUJrWldacGJtbDBaVmRsWld0RVpXWXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJEYjI1bWJHbGpkR2x1WjFOd1pXTnBabWxqWVhScGIyNUZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1hDSkRZVzRuZENCdGFYZ2dkMlZsYTFsbFlYSXZkMlZsYTA1MWJXSmxjaUIxYm1sMGN5QjNhWFJvSUhsbFlYSXZiVzl1ZEdndlpHRjVJRzl5SUc5eVpHbHVZV3h6WENKY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHTnZiblJoYVc1elIzSmxaMjl5VFVRZ0ppWWdZMjl1ZEdGcGJuTlBjbVJwYm1Gc0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dRMjl1Wm14cFkzUnBibWRUY0dWamFXWnBZMkYwYVc5dVJYSnliM0lvWENKRFlXNG5kQ0J0YVhnZ2IzSmthVzVoYkNCa1lYUmxjeUIzYVhSb0lHMXZiblJvTDJSaGVWd2lLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnNaWFFnYldsNFpXUTdYRzRnSUNBZ2FXWWdLSE5sZEhScGJtZFhaV1ZyVTNSMVptWXBJSHRjYmlBZ0lDQWdJRzFwZUdWa0lEMGdkMlZsYTFSdlIzSmxaMjl5YVdGdUtIc2dMaTR1WjNKbFoyOXlhV0Z1Vkc5WFpXVnJLSFJvYVhNdVl5a3NJQzR1TG01dmNtMWhiR2w2WldRZ2ZTazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDZ2hhWE5WYm1SbFptbHVaV1FvYm05eWJXRnNhWHBsWkM1dmNtUnBibUZzS1NrZ2UxeHVJQ0FnSUNBZ2JXbDRaV1FnUFNCdmNtUnBibUZzVkc5SGNtVm5iM0pwWVc0b2V5QXVMaTVuY21WbmIzSnBZVzVVYjA5eVpHbHVZV3dvZEdocGN5NWpLU3dnTGk0dWJtOXliV0ZzYVhwbFpDQjlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2JXbDRaV1FnUFNCN0lDNHVMblJvYVhNdWRHOVBZbXBsWTNRb0tTd2dMaTR1Ym05eWJXRnNhWHBsWkNCOU8xeHVYRzRnSUNBZ0lDQXZMeUJwWmlCM1pTQmthV1J1SjNRZ2MyVjBJSFJvWlNCa1lYa2dZblYwSUhkbElHVnVaR1ZrSUhWd0lHOXVJR0Z1SUc5MlpYSm1iRzkzSUdSaGRHVXNYRzRnSUNBZ0lDQXZMeUIxYzJVZ2RHaGxJR3hoYzNRZ1pHRjVJRzltSUhSb1pTQnlhV2RvZENCdGIyNTBhRnh1SUNBZ0lDQWdhV1lnS0dselZXNWtaV1pwYm1Wa0tHNXZjbTFoYkdsNlpXUXVaR0Y1S1NrZ2UxeHVJQ0FnSUNBZ0lDQnRhWGhsWkM1a1lYa2dQU0JOWVhSb0xtMXBiaWhrWVhselNXNU5iMjUwYUNodGFYaGxaQzU1WldGeUxDQnRhWGhsWkM1dGIyNTBhQ2tzSUcxcGVHVmtMbVJoZVNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdXM1J6TENCdlhTQTlJRzlpYWxSdlZGTW9iV2w0WldRc0lIUm9hWE11Ynl3Z2RHaHBjeTU2YjI1bEtUdGNiaUFnSUNCeVpYUjFjbTRnWTJ4dmJtVW9kR2hwY3l3Z2V5QjBjeXdnYnlCOUtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJCWkdRZ1lTQndaWEpwYjJRZ2IyWWdkR2x0WlNCMGJ5QjBhR2x6SUVSaGRHVlVhVzFsSUdGdVpDQnlaWFIxY200Z2RHaGxJSEpsYzNWc2RHbHVaeUJFWVhSbFZHbHRaVnh1SUNBZ0tseHVJQ0FnS2lCQlpHUnBibWNnYUc5MWNuTXNJRzFwYm5WMFpYTXNJSE5sWTI5dVpITXNJRzl5SUcxcGJHeHBjMlZqYjI1a2N5QnBibU55WldGelpYTWdkR2hsSUhScGJXVnpkR0Z0Y0NCaWVTQjBhR1VnY21sbmFIUWdiblZ0WW1WeUlHOW1JRzFwYkd4cGMyVmpiMjVrY3k0Z1FXUmthVzVuSUdSaGVYTXNJRzF2Ym5Sb2N5d2diM0lnZVdWaGNuTWdjMmhwWm5SeklIUm9aU0JqWVd4bGJtUmhjaXdnWVdOamIzVnVkR2x1WnlCbWIzSWdSRk5VY3lCaGJtUWdiR1ZoY0NCNVpXRnljeUJoYkc5dVp5QjBhR1VnZDJGNUxpQlVhSFZ6TENCZ1pIUXVjR3gxY3loN0lHaHZkWEp6T2lBeU5DQjlLV0FnYldGNUlISmxjM1ZzZENCcGJpQmhJR1JwWm1abGNtVnVkQ0IwYVcxbElIUm9ZVzRnWUdSMExuQnNkWE1vZXlCa1lYbHpPaUF4SUgwcFlDQnBaaUIwYUdWeVpTZHpJR0VnUkZOVUlITm9hV1owSUdsdUlHSmxkSGRsWlc0dVhHNGdJQ0FxSUVCd1lYSmhiU0I3UkhWeVlYUnBiMjU4VDJKcVpXTjBmRzUxYldKbGNuMGdaSFZ5WVhScGIyNGdMU0JVYUdVZ1lXMXZkVzUwSUhSdklHRmtaQzRnUldsMGFHVnlJR0VnVEhWNGIyNGdSSFZ5WVhScGIyNHNJR0VnYm5WdFltVnlJRzltSUcxcGJHeHBjMlZqYjI1a2N5d2dkR2hsSUc5aWFtVmpkQ0JoY21kMWJXVnVkQ0IwYnlCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtDbGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1Y0d4MWN5Z3hNak1wSUM4dmZqNGdhVzRnTVRJeklHMXBiR3hwYzJWamIyNWtjMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1d2JIVnpLSHNnYldsdWRYUmxjem9nTVRVZ2ZTa2dMeTkrUGlCcGJpQXhOU0J0YVc1MWRHVnpYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtNXZkeWdwTG5Cc2RYTW9leUJrWVhsek9pQXhJSDBwSUM4dmZqNGdkR2hwY3lCMGFXMWxJSFJ2Ylc5eWNtOTNYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtNXZkeWdwTG5Cc2RYTW9leUJrWVhsek9pQXRNU0I5S1NBdkwzNCtJSFJvYVhNZ2RHbHRaU0I1WlhOMFpYSmtZWGxjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWNHeDFjeWg3SUdodmRYSnpPaUF6TENCdGFXNTFkR1Z6T2lBeE15QjlLU0F2TDM0K0lHbHVJRE1nYUhJc0lERXpJRzFwYmx4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNXdiSFZ6S0VSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5Qm9iM1Z5Y3pvZ015d2diV2x1ZFhSbGN6b2dNVE1nZlNrcElDOHZmajRnYVc0Z015Qm9jaXdnTVRNZ2JXbHVYRzRnSUNBcUlFQnlaWFIxY200Z2UwUmhkR1ZVYVcxbGZWeHVJQ0FnS2k5Y2JpQWdjR3gxY3loa2RYSmhkR2x2YmlrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCamIyNXpkQ0JrZFhJZ1BTQkVkWEpoZEdsdmJpNW1jbTl0UkhWeVlYUnBiMjVNYVd0bEtHUjFjbUYwYVc5dUtUdGNiaUFnSUNCeVpYUjFjbTRnWTJ4dmJtVW9kR2hwY3l3Z1lXUnFkWE4wVkdsdFpTaDBhR2x6TENCa2RYSXBLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVGRXSjBjbUZqZENCaElIQmxjbWx2WkNCdlppQjBhVzFsSUhSdklIUm9hWE1nUkdGMFpWUnBiV1VnWVc1a0lISmxkSFZ5YmlCMGFHVWdjbVZ6ZFd4MGFXNW5JRVJoZEdWVWFXMWxYRzRnSUNBcUlGTmxaU0I3UUd4cGJtc2dSR0YwWlZScGJXVWpjR3gxYzMxY2JpQWdJQ29nUUhCaGNtRnRJSHRFZFhKaGRHbHZibnhQWW1wbFkzUjhiblZ0WW1WeWZTQmtkWEpoZEdsdmJpQXRJRlJvWlNCaGJXOTFiblFnZEc4Z2MzVmlkSEpoWTNRdUlFVnBkR2hsY2lCaElFeDFlRzl1SUVSMWNtRjBhVzl1TENCaElHNTFiV0psY2lCdlppQnRhV3hzYVhObFkyOXVaSE1zSUhSb1pTQnZZbXBsWTNRZ1lYSm5kVzFsYm5RZ2RHOGdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2dwWEc0Z0lDQkFjbVYwZFhKdUlIdEVZWFJsVkdsdFpYMWNiaUFnSUNvdlhHNGdJRzFwYm5WektHUjFjbUYwYVc5dUtTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lHTnZibk4wSUdSMWNpQTlJRVIxY21GMGFXOXVMbVp5YjIxRWRYSmhkR2x2Ymt4cGEyVW9aSFZ5WVhScGIyNHBMbTVsWjJGMFpTZ3BPMXh1SUNBZ0lISmxkSFZ5YmlCamJHOXVaU2gwYUdsekxDQmhaR3AxYzNSVWFXMWxLSFJvYVhNc0lHUjFjaWtwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGd2lVMlYwWENJZ2RHaHBjeUJFWVhSbFZHbHRaU0IwYnlCMGFHVWdZbVZuYVc1dWFXNW5JRzltSUdFZ2RXNXBkQ0J2WmlCMGFXMWxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RXNXBkQ0F0SUZSb1pTQjFibWwwSUhSdklHZHZJSFJ2SUhSb1pTQmlaV2RwYm01cGJtY2diMll1SUVOaGJpQmlaU0FuZVdWaGNpY3NJQ2R4ZFdGeWRHVnlKeXdnSjIxdmJuUm9KeXdnSjNkbFpXc25MQ0FuWkdGNUp5d2dKMmh2ZFhJbkxDQW5iV2x1ZFhSbEp5d2dKM05sWTI5dVpDY3NJRzl5SUNkdGFXeHNhWE5sWTI5dVpDY3VYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJRE1zSURNcExuTjBZWEowVDJZb0oyMXZiblJvSnlrdWRHOUpVMDlFWVhSbEtDazdJQzh2UFQ0Z0p6SXdNVFF0TURNdE1ERW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJRE1zSURNcExuTjBZWEowVDJZb0ozbGxZWEluS1M1MGIwbFRUMFJoZEdVb0tUc2dMeTg5UGlBbk1qQXhOQzB3TVMwd01TZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE5Dd2dNeXdnTXlrdWMzUmhjblJQWmlnbmQyVmxheWNwTG5SdlNWTlBSR0YwWlNncE95QXZMejArSUNjeU1ERTBMVEF6TFRBekp5d2dkMlZsYTNNZ1lXeDNZWGx6SUhOMFlYSjBJRzl1SUUxdmJtUmhlWE5jYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOQ3dnTXl3Z015d2dOU3dnTXpBcExuTjBZWEowVDJZb0oyUmhlU2NwTG5SdlNWTlBWR2x0WlNncE95QXZMejArSUNjd01Eb3dNQzR3TURBdE1EVTZNREFuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVFFzSURNc0lETXNJRFVzSURNd0tTNXpkR0Z5ZEU5bUtDZG9iM1Z5SnlrdWRHOUpVMDlVYVcxbEtDazdJQzh2UFQ0Z0p6QTFPakF3T2pBd0xqQXdNQzB3TlRvd01DZGNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQnpkR0Z5ZEU5bUtIVnVhWFFwSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11YVhOV1lXeHBaQ2tnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnWTI5dWMzUWdieUE5SUh0OUxGeHVJQ0FnSUNBZ2JtOXliV0ZzYVhwbFpGVnVhWFFnUFNCRWRYSmhkR2x2Ymk1dWIzSnRZV3hwZW1WVmJtbDBLSFZ1YVhRcE8xeHVJQ0FnSUhOM2FYUmphQ0FvYm05eWJXRnNhWHBsWkZWdWFYUXBJSHRjYmlBZ0lDQWdJR05oYzJVZ1hDSjVaV0Z5YzF3aU9seHVJQ0FnSUNBZ0lDQnZMbTF2Ym5Sb0lEMGdNVHRjYmlBZ0lDQWdJQzh2SUdaaGJHeHpJSFJvY205MVoyaGNiaUFnSUNBZ0lHTmhjMlVnWENKeGRXRnlkR1Z5YzF3aU9seHVJQ0FnSUNBZ1kyRnpaU0JjSW0xdmJuUm9jMXdpT2x4dUlDQWdJQ0FnSUNCdkxtUmhlU0E5SURFN1hHNGdJQ0FnSUNBdkx5Qm1ZV3hzY3lCMGFISnZkV2RvWEc0Z0lDQWdJQ0JqWVhObElGd2lkMlZsYTNOY0lqcGNiaUFnSUNBZ0lHTmhjMlVnWENKa1lYbHpYQ0k2WEc0Z0lDQWdJQ0FnSUc4dWFHOTFjaUE5SURBN1hHNGdJQ0FnSUNBdkx5Qm1ZV3hzY3lCMGFISnZkV2RvWEc0Z0lDQWdJQ0JqWVhObElGd2lhRzkxY25OY0lqcGNiaUFnSUNBZ0lDQWdieTV0YVc1MWRHVWdQU0F3TzF4dUlDQWdJQ0FnTHk4Z1ptRnNiSE1nZEdoeWIzVm5hRnh1SUNBZ0lDQWdZMkZ6WlNCY0ltMXBiblYwWlhOY0lqcGNiaUFnSUNBZ0lDQWdieTV6WldOdmJtUWdQU0F3TzF4dUlDQWdJQ0FnTHk4Z1ptRnNiSE1nZEdoeWIzVm5hRnh1SUNBZ0lDQWdZMkZ6WlNCY0luTmxZMjl1WkhOY0lqcGNiaUFnSUNBZ0lDQWdieTV0YVd4c2FYTmxZMjl1WkNBOUlEQTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ1kyRnpaU0JjSW0xcGJHeHBjMlZqYjI1a2Mxd2lPbHh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDOHZJRzV2SUdSbFptRjFiSFFzSUdsdWRtRnNhV1FnZFc1cGRITWdkR2h5YjNjZ2FXNGdibTl5YldGc2FYcGxWVzVwZENncFhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHNXZjbTFoYkdsNlpXUlZibWwwSUQwOVBTQmNJbmRsWld0elhDSXBJSHRjYmlBZ0lDQWdJRzh1ZDJWbGEyUmhlU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHNXZjbTFoYkdsNlpXUlZibWwwSUQwOVBTQmNJbkYxWVhKMFpYSnpYQ0lwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSEVnUFNCTllYUm9MbU5sYVd3b2RHaHBjeTV0YjI1MGFDQXZJRE1wTzF4dUlDQWdJQ0FnYnk1dGIyNTBhQ0E5SUNoeElDMGdNU2tnS2lBeklDc2dNVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6WlhRb2J5azdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nWENKVFpYUmNJaUIwYUdseklFUmhkR1ZVYVcxbElIUnZJSFJvWlNCbGJtUWdLRzFsWVc1cGJtY2dkR2hsSUd4aGMzUWdiV2xzYkdselpXTnZibVFwSUc5bUlHRWdkVzVwZENCdlppQjBhVzFsWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQjFibWwwSUMwZ1ZHaGxJSFZ1YVhRZ2RHOGdaMjhnZEc4Z2RHaGxJR1Z1WkNCdlppNGdRMkZ1SUdKbElDZDVaV0Z5Snl3Z0ozRjFZWEowWlhJbkxDQW5iVzl1ZEdnbkxDQW5kMlZsYXljc0lDZGtZWGtuTENBbmFHOTFjaWNzSUNkdGFXNTFkR1VuTENBbmMyVmpiMjVrSnl3Z2IzSWdKMjFwYkd4cGMyVmpiMjVrSnk1Y2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4TkN3Z015d2dNeWt1Wlc1a1QyWW9KMjF2Ym5Sb0p5a3VkRzlKVTA4b0tUc2dMeTg5UGlBbk1qQXhOQzB3TXkwek1WUXlNem8xT1RvMU9TNDVPVGt0TURVNk1EQW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJRE1zSURNcExtVnVaRTltS0NkNVpXRnlKeWt1ZEc5SlUwOG9LVHNnTHk4OVBpQW5NakF4TkMweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrdE1EVTZNREFuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVFFzSURNc0lETXBMbVZ1WkU5bUtDZDNaV1ZySnlrdWRHOUpVMDhvS1RzZ0x5OGdQVDRnSnpJd01UUXRNRE10TURsVU1qTTZOVGs2TlRrdU9UazVMVEExT2pBd0p5d2dkMlZsYTNNZ2MzUmhjblFnYjI0Z1RXOXVaR0Y1YzF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVzYjJOaGJDZ3lNREUwTENBekxDQXpMQ0ExTENBek1Da3VaVzVrVDJZb0oyUmhlU2NwTG5SdlNWTlBLQ2s3SUM4dlBUNGdKekl3TVRRdE1ETXRNRE5VTWpNNk5UazZOVGt1T1RrNUxUQTFPakF3SjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVzYjJOaGJDZ3lNREUwTENBekxDQXpMQ0ExTENBek1Da3VaVzVrVDJZb0oyaHZkWEluS1M1MGIwbFRUeWdwT3lBdkx6MCtJQ2N5TURFMExUQXpMVEF6VkRBMU9qVTVPalU1TGprNU9TMHdOVG93TUNkY2JpQWdJQ29nUUhKbGRIVnliaUI3UkdGMFpWUnBiV1Y5WEc0Z0lDQXFMMXh1SUNCbGJtUlBaaWgxYm1sMEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpGeHVJQ0FnSUNBZ1B5QjBhR2x6TG5Cc2RYTW9leUJiZFc1cGRGMDZJREVnZlNsY2JpQWdJQ0FnSUNBZ0lDQXVjM1JoY25SUFppaDFibWwwS1Z4dUlDQWdJQ0FnSUNBZ0lDNXRhVzUxY3lneEtWeHVJQ0FnSUNBZ09pQjBhR2x6TzF4dUlDQjlYRzVjYmlBZ0x5OGdUMVZVVUZWVVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWVNCemRISnBibWNnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdocGN5QkVZWFJsVkdsdFpTQm1iM0p0WVhSMFpXUWdZV05qYjNKa2FXNW5JSFJ2SUhSb1pTQnpjR1ZqYVdacFpXUWdabTl5YldGMElITjBjbWx1Wnk1Y2JpQWdJQ29nS2lwWmIzVWdiV0Y1SUc1dmRDQjNZVzUwSUhSb2FYTXVLaW9nVTJWbElIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIweHZZMkZzWlZOMGNtbHVaMzBnWm05eUlHRWdiVzl5WlNCbWJHVjRhV0pzWlNCbWIzSnRZWFIwYVc1bklIUnZiMnd1SUVadmNpQmhJSFJoWW14bElHOW1JSFJ2YTJWdWN5QmhibVFnZEdobGFYSWdhVzUwWlhKd2NtVjBZWFJwYjI1ekxDQnpaV1VnVzJobGNtVmRLR2gwZEhCek9pOHZiVzl0Wlc1MExtZHBkR2gxWWk1cGJ5OXNkWGh2Ymk4akwyWnZjbTFoZEhScGJtYy9hV1E5ZEdGaWJHVXRiMll0ZEc5clpXNXpLUzVjYmlBZ0lDb2dSR1ZtWVhWc2RITWdkRzhnWlc0dFZWTWdhV1lnYm04Z2JHOWpZV3hsSUdoaGN5QmlaV1Z1SUhOd1pXTnBabWxsWkN3Z2NtVm5ZWEprYkdWemN5QnZaaUIwYUdVZ2MzbHpkR1Z0SjNNZ2JHOWpZV3hsTGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdabTEwSUMwZ2RHaGxJR1p2Y20xaGRDQnpkSEpwYm1kY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEhNZ0xTQnZjSFJ6SUhSdklHOTJaWEp5YVdSbElIUm9aU0JqYjI1bWFXZDFjbUYwYVc5dUlHOXdkR2x2Ym5NZ2IyNGdkR2hwY3lCRVlYUmxWR2x0WlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNTBiMFp2Y20xaGRDZ25lWGw1ZVNCTVRFd2daR1FuS1NBdkx6MCtJQ2N5TURFM0lFRndjaUF5TWlkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3VjMlYwVEc5allXeGxLQ2RtY2ljcExuUnZSbTl5YldGMEtDZDVlWGw1SUV4TVRDQmtaQ2NwSUM4dlBUNGdKekl3TVRjZ1lYWnlMaUF5TWlkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3VkRzlHYjNKdFlYUW9KM2w1ZVhrZ1RFeE1JR1JrSnl3Z2V5QnNiMk5oYkdVNklGd2labkpjSWlCOUtTQXZMejArSUNjeU1ERTNJR0YyY2k0Z01qSW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtNXZkeWdwTG5SdlJtOXliV0YwS0Z3aVNFZ2dKMmh2ZFhKeklHRnVaQ2NnYlcwZ0oyMXBiblYwWlhNblhDSXBJQzh2UFQ0Z0p6SXdJR2h2ZFhKeklHRnVaQ0ExTlNCdGFXNTFkR1Z6SjF4dUlDQWdLaUJBY21WMGRYSnVJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0IwYjBadmNtMWhkQ2htYlhRc0lHOXdkSE1nUFNCN2ZTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUmNiaUFnSUNBZ0lEOGdSbTl5YldGMGRHVnlMbU55WldGMFpTaDBhR2x6TG14dll5NXlaV1JsWm1GMWJIUlViMFZPS0c5d2RITXBLUzVtYjNKdFlYUkVZWFJsVkdsdFpVWnliMjFUZEhKcGJtY29kR2hwY3l3Z1ptMTBLVnh1SUNBZ0lDQWdPaUJKVGxaQlRFbEVPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWVNCc2IyTmhiR2w2WldRZ2MzUnlhVzVuSUhKbGNISmxjMlZ1ZEdsdVp5QjBhR2x6SUdSaGRHVXVJRUZqWTJWd2RITWdkR2hsSUhOaGJXVWdiM0IwYVc5dWN5QmhjeUIwYUdVZ1NXNTBiQzVFWVhSbFZHbHRaVVp2Y20xaGRDQmpiMjV6ZEhKMVkzUnZjaUJoYm1RZ1lXNTVJSEJ5WlhObGRITWdaR1ZtYVc1bFpDQmllU0JNZFhodmJpd2djM1ZqYUNCaGN5QmdSR0YwWlZScGJXVXVSRUZVUlY5R1ZVeE1ZQ0J2Y2lCZ1JHRjBaVlJwYldVdVZFbE5SVjlUU1UxUVRFVmdMbHh1SUNBZ0tpQlVhR1VnWlhoaFkzUWdZbVZvWVhacGIzSWdiMllnZEdocGN5QnRaWFJvYjJRZ2FYTWdZbkp2ZDNObGNpMXpjR1ZqYVdacFl5d2dZblYwSUdsdUlHZGxibVZ5WVd3Z2FYUWdkMmxzYkNCeVpYUjFjbTRnWVc0Z1lYQndjbTl3Y21saGRHVWdjbVZ3Y21WelpXNTBZWFJwYjI1Y2JpQWdJQ29nYjJZZ2RHaGxJRVJoZEdWVWFXMWxJR2x1SUhSb1pTQmhjM05wWjI1bFpDQnNiMk5oYkdVdVhHNGdJQ0FxSUVSbFptRjFiSFJ6SUhSdklIUm9aU0J6ZVhOMFpXMG5jeUJzYjJOaGJHVWdhV1lnYm04Z2JHOWpZV3hsSUdoaGN5QmlaV1Z1SUhOd1pXTnBabWxsWkZ4dUlDQWdLaUJBYzJWbElHaDBkSEJ6T2k4dlpHVjJaV3h2Y0dWeUxtMXZlbWxzYkdFdWIzSm5MMlZ1TFZWVEwyUnZZM012VjJWaUwwcGhkbUZUWTNKcGNIUXZVbVZtWlhKbGJtTmxMMGRzYjJKaGJGOVBZbXBsWTNSekwwUmhkR1ZVYVcxbFJtOXliV0YwWEc0Z0lDQXFJRUJ3WVhKaGJTQm1iM0p0WVhSUGNIUnpJSHRQWW1wbFkzUjlJQzBnU1c1MGJDNUVZWFJsVkdsdFpVWnZjbTFoZENCamIyNXpkSEoxWTNSdmNpQnZjSFJwYjI1eklHRnVaQ0JqYjI1bWFXZDFjbUYwYVc5dUlHOXdkR2x2Ym5OY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEhNZ0xTQnZjSFJ6SUhSdklHOTJaWEp5YVdSbElIUm9aU0JqYjI1bWFXZDFjbUYwYVc5dUlHOXdkR2x2Ym5NZ2IyNGdkR2hwY3lCRVlYUmxWR2x0WlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNTBiMHh2WTJGc1pWTjBjbWx1WnlncE95QXZMejArSURRdk1qQXZNakF4TjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNXpaWFJNYjJOaGJHVW9KMlZ1TFdkaUp5a3VkRzlNYjJOaGJHVlRkSEpwYm1jb0tUc2dMeTg5UGlBbk1qQXZNRFF2TWpBeE55ZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1ZEc5TWIyTmhiR1ZUZEhKcGJtY29leUJzYjJOaGJHVTZJQ2RsYmkxbllpY2dmU2s3SUM4dlBUNGdKekl3THpBMEx6SXdNVGNuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbTV2ZHlncExuUnZURzlqWVd4bFUzUnlhVzVuS0VSaGRHVlVhVzFsTGtSQlZFVmZSbFZNVENrN0lDOHZQVDRnSjBGd2NtbHNJREl3TENBeU1ERTNKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIweHZZMkZzWlZOMGNtbHVaeWhFWVhSbFZHbHRaUzVVU1UxRlgxTkpUVkJNUlNrN0lDOHZQVDRnSnpFeE9qTXlJRUZOSjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNTBiMHh2WTJGc1pWTjBjbWx1WnloRVlYUmxWR2x0WlM1RVFWUkZWRWxOUlY5VFNFOVNWQ2s3SUM4dlBUNGdKelF2TWpBdk1qQXhOeXdnTVRFNk16SWdRVTBuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbTV2ZHlncExuUnZURzlqWVd4bFUzUnlhVzVuS0hzZ2QyVmxhMlJoZVRvZ0oyeHZibWNuTENCdGIyNTBhRG9nSjJ4dmJtY25MQ0JrWVhrNklDY3lMV1JwWjJsMEp5QjlLVHNnTHk4OVBpQW5WR2gxY25Oa1lYa3NJRUZ3Y21sc0lESXdKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIweHZZMkZzWlZOMGNtbHVaeWg3SUhkbFpXdGtZWGs2SUNkemFHOXlkQ2NzSUcxdmJuUm9PaUFuYzJodmNuUW5MQ0JrWVhrNklDY3lMV1JwWjJsMEp5d2dhRzkxY2pvZ0p6SXRaR2xuYVhRbkxDQnRhVzUxZEdVNklDY3lMV1JwWjJsMEp5QjlLVHNnTHk4OVBpQW5WR2gxTENCQmNISWdNakFzSURFeE9qSTNJRUZOSjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNTBiMHh2WTJGc1pWTjBjbWx1WnloN0lHaHZkWEk2SUNjeUxXUnBaMmwwSnl3Z2JXbHVkWFJsT2lBbk1pMWthV2RwZENjc0lHaHZkWEpEZVdOc1pUb2dKMmd5TXljZ2ZTazdJQzh2UFQ0Z0p6RXhPak15SjF4dUlDQWdLaUJBY21WMGRYSnVJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0IwYjB4dlkyRnNaVk4wY21sdVp5aG1iM0p0WVhSUGNIUnpJRDBnUm05eWJXRjBjeTVFUVZSRlgxTklUMUpVTENCdmNIUnpJRDBnZTMwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBjMVpoYkdsa1hHNGdJQ0FnSUNBL0lFWnZjbTFoZEhSbGNpNWpjbVZoZEdVb2RHaHBjeTVzYjJNdVkyeHZibVVvYjNCMGN5a3NJR1p2Y20xaGRFOXdkSE1wTG1admNtMWhkRVJoZEdWVWFXMWxLSFJvYVhNcFhHNGdJQ0FnSUNBNklFbE9Wa0ZNU1VRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QmhiaUJoY25KaGVTQnZaaUJtYjNKdFlYUWdYQ0p3WVhKMGMxd2lMQ0J0WldGdWFXNW5JR2x1WkdsMmFXUjFZV3dnZEc5clpXNXpJR0ZzYjI1bklIZHBkR2dnYldWMFlXUmhkR0V1SUZSb2FYTWdhWE1nWVd4c2IzZHpJR05oYkd4bGNuTWdkRzhnY0c5emRDMXdjbTlqWlhOeklHbHVaR2wyYVdSMVlXd2djMlZqZEdsdmJuTWdiMllnZEdobElHWnZjbTFoZEhSbFpDQnZkWFJ3ZFhRdVhHNGdJQ0FxSUVSbFptRjFiSFJ6SUhSdklIUm9aU0J6ZVhOMFpXMG5jeUJzYjJOaGJHVWdhV1lnYm04Z2JHOWpZV3hsSUdoaGN5QmlaV1Z1SUhOd1pXTnBabWxsWkZ4dUlDQWdLaUJBYzJWbElHaDBkSEJ6T2k4dlpHVjJaV3h2Y0dWeUxtMXZlbWxzYkdFdWIzSm5MMlZ1TFZWVEwyUnZZM012VjJWaUwwcGhkbUZUWTNKcGNIUXZVbVZtWlhKbGJtTmxMMGRzYjJKaGJGOVBZbXBsWTNSekwwUmhkR1ZVYVcxbFJtOXliV0YwTDJadmNtMWhkRlJ2VUdGeWRITmNiaUFnSUNvZ1FIQmhjbUZ0SUc5d2RITWdlMDlpYW1WamRIMGdMU0JKYm5Sc0xrUmhkR1ZVYVcxbFJtOXliV0YwSUdOdmJuTjBjblZqZEc5eUlHOXdkR2x2Ym5Nc0lITmhiV1VnWVhNZ1lIUnZURzlqWVd4bFUzUnlhVzVuWUM1Y2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3VkRzlNYjJOaGJHVlFZWEowY3lncE95QXZMejArSUZ0Y2JpQWdJQ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2UFQ0Z0lDQjdJSFI1Y0dVNklDZGtZWGtuTENCMllXeDFaVG9nSnpJMUp5QjlMRnh1SUNBZ0tpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5ODlQaUFnSUhzZ2RIbHdaVG9nSjJ4cGRHVnlZV3duTENCMllXeDFaVG9nSnk4bklIMHNYRzRnSUNBcUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx6MCtJQ0FnZXlCMGVYQmxPaUFuYlc5dWRHZ25MQ0IyWVd4MVpUb2dKekExSnlCOUxGeHVJQ0FnS2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4OVBpQWdJSHNnZEhsd1pUb2dKMnhwZEdWeVlXd25MQ0IyWVd4MVpUb2dKeThuSUgwc1hHNGdJQ0FxSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THowK0lDQWdleUIwZVhCbE9pQW5lV1ZoY2ljc0lIWmhiSFZsT2lBbk1UazRNaWNnZlZ4dUlDQWdLaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeTg5UGlCZFhHNGdJQ0FxTDF4dUlDQjBiMHh2WTJGc1pWQmhjblJ6S0c5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdSY2JpQWdJQ0FnSUQ4Z1JtOXliV0YwZEdWeUxtTnlaV0YwWlNoMGFHbHpMbXh2WXk1amJHOXVaU2h2Y0hSektTd2diM0IwY3lrdVptOXliV0YwUkdGMFpWUnBiV1ZRWVhKMGN5aDBhR2x6S1Z4dUlDQWdJQ0FnT2lCYlhUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0Z1SUVsVFR5QTROakF4TFdOdmJYQnNhV0Z1ZENCemRISnBibWNnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdocGN5QkVZWFJsVkdsdFpWeHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGN5QXRJRzl3ZEdsdmJuTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmIzQjBjeTV6ZFhCd2NtVnpjMDFwYkd4cGMyVmpiMjVrY3oxbVlXeHpaVjBnTFNCbGVHTnNkV1JsSUcxcGJHeHBjMlZqYjI1a2N5Qm1jbTl0SUhSb1pTQm1iM0p0WVhRZ2FXWWdkR2hsZVNkeVpTQXdYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YzNWd2NISmxjM05UWldOdmJtUnpQV1poYkhObFhTQXRJR1Y0WTJ4MVpHVWdjMlZqYjI1a2N5Qm1jbTl0SUhSb1pTQm1iM0p0WVhRZ2FXWWdkR2hsZVNkeVpTQXdYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YVc1amJIVmtaVTltWm5ObGREMTBjblZsWFNBdElHbHVZMngxWkdVZ2RHaGxJRzltWm5ObGRDd2djM1ZqYUNCaGN5QW5XaWNnYjNJZ0p5MHdORG93TUNkY2JpQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0JiYjNCMGN5NWxlSFJsYm1SbFpGcHZibVU5ZEhKMVpWMGdMU0JoWkdRZ2RHaGxJSFJwYldVZ2VtOXVaU0JtYjNKdFlYUWdaWGgwWlc1emFXOXVYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVtYjNKdFlYUTlKMlY0ZEdWdVpHVmtKMTBnTFNCamFHOXZjMlVnWW1WMGQyVmxiaUIwYUdVZ1ltRnphV01nWVc1a0lHVjRkR1Z1WkdWa0lHWnZjbTFoZEZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzUxZEdNb01UazRNeXdnTlN3Z01qVXBMblJ2U1ZOUEtDa2dMeTg5UGlBbk1UazRNaTB3TlMweU5WUXdNRG93TURvd01DNHdNREJhSjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNTBiMGxUVHlncElDOHZQVDRnSnpJd01UY3RNRFF0TWpKVU1qQTZORGM2TURVdU16TTFMVEEwT2pBd0oxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzUwYjBsVFR5aDdJR2x1WTJ4MVpHVlBabVp6WlhRNklHWmhiSE5sSUgwcElDOHZQVDRnSnpJd01UY3RNRFF0TWpKVU1qQTZORGM2TURVdU16TTFKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIwbFRUeWg3SUdadmNtMWhkRG9nSjJKaGMybGpKeUI5S1NBdkx6MCtJQ2N5TURFM01EUXlNbFF5TURRM01EVXVNek0xTFRBME1EQW5YRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZTVk5QS0h0Y2JpQWdJQ0JtYjNKdFlYUWdQU0JjSW1WNGRHVnVaR1ZrWENJc1hHNGdJQ0FnYzNWd2NISmxjM05UWldOdmJtUnpJRDBnWm1Gc2MyVXNYRzRnSUNBZ2MzVndjSEpsYzNOTmFXeHNhWE5sWTI5dVpITWdQU0JtWVd4elpTeGNiaUFnSUNCcGJtTnNkV1JsVDJabWMyVjBJRDBnZEhKMVpTeGNiaUFnSUNCbGVIUmxibVJsWkZwdmJtVWdQU0JtWVd4elpTeGNiaUFnZlNBOUlIdDlLU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHVjRkQ0E5SUdadmNtMWhkQ0E5UFQwZ1hDSmxlSFJsYm1SbFpGd2lPMXh1WEc0Z0lDQWdiR1YwSUdNZ1BTQjBiMGxUVDBSaGRHVW9kR2hwY3l3Z1pYaDBLVHRjYmlBZ0lDQmpJQ3M5SUZ3aVZGd2lPMXh1SUNBZ0lHTWdLejBnZEc5SlUwOVVhVzFsS0hSb2FYTXNJR1Y0ZEN3Z2MzVndjSEpsYzNOVFpXTnZibVJ6TENCemRYQndjbVZ6YzAxcGJHeHBjMlZqYjI1a2N5d2dhVzVqYkhWa1pVOW1abk5sZEN3Z1pYaDBaVzVrWldSYWIyNWxLVHRjYmlBZ0lDQnlaWFIxY200Z1l6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0Z1SUVsVFR5QTROakF4TFdOdmJYQnNhV0Z1ZENCemRISnBibWNnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdocGN5QkVZWFJsVkdsdFpTZHpJR1JoZEdVZ1kyOXRjRzl1Wlc1MFhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2Y0hSeklDMGdiM0IwYVc5dWMxeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXVabTl5YldGMFBTZGxlSFJsYm1SbFpDZGRJQzBnWTJodmIzTmxJR0psZEhkbFpXNGdkR2hsSUdKaGMybGpJR0Z1WkNCbGVIUmxibVJsWkNCbWIzSnRZWFJjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVkWFJqS0RFNU9ESXNJRFVzSURJMUtTNTBiMGxUVDBSaGRHVW9LU0F2THowK0lDY3hPVGd5TFRBMUxUSTFKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNTFkR01vTVRrNE1pd2dOU3dnTWpVcExuUnZTVk5QUkdGMFpTaDdJR1p2Y20xaGREb2dKMkpoYzJsakp5QjlLU0F2THowK0lDY3hPVGd5TURVeU5TZGNiaUFnSUNvZ1FISmxkSFZ5YmlCN2MzUnlhVzVuZlZ4dUlDQWdLaTljYmlBZ2RHOUpVMDlFWVhSbEtIc2dabTl5YldGMElEMGdYQ0psZUhSbGJtUmxaRndpSUgwZ1BTQjdmU2tnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkRzlKVTA5RVlYUmxLSFJvYVhNc0lHWnZjbTFoZENBOVBUMGdYQ0psZUhSbGJtUmxaRndpS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhMV052YlhCc2FXRnVkQ0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCRVlYUmxWR2x0WlNkeklIZGxaV3NnWkdGMFpWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9NVGs0TWl3Z05Td2dNalVwTG5SdlNWTlBWMlZsYTBSaGRHVW9LU0F2THowK0lDY3hPVGd5TFZjeU1TMHlKMXh1SUNBZ0tpQkFjbVYwZFhKdUlIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQjBiMGxUVDFkbFpXdEVZWFJsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYjFSbFkyaEdiM0p0WVhRb2RHaHBjeXdnWENKcmEydHJMU2RYSjFkWExXTmNJaWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaGJpQkpVMDhnT0RZd01TMWpiMjF3YkdsaGJuUWdjM1J5YVc1bklISmxjSEpsYzJWdWRHRjBhVzl1SUc5bUlIUm9hWE1nUkdGMFpWUnBiV1VuY3lCMGFXMWxJR052YlhCdmJtVnVkRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUc5d2RHbHZibk5jYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJiM0IwY3k1emRYQndjbVZ6YzAxcGJHeHBjMlZqYjI1a2N6MW1ZV3h6WlYwZ0xTQmxlR05zZFdSbElHMXBiR3hwYzJWamIyNWtjeUJtY205dElIUm9aU0JtYjNKdFlYUWdhV1lnZEdobGVTZHlaU0F3WEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMjl3ZEhNdWMzVndjSEpsYzNOVFpXTnZibVJ6UFdaaGJITmxYU0F0SUdWNFkyeDFaR1VnYzJWamIyNWtjeUJtY205dElIUm9aU0JtYjNKdFlYUWdhV1lnZEdobGVTZHlaU0F3WEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMjl3ZEhNdWFXNWpiSFZrWlU5bVpuTmxkRDEwY25WbFhTQXRJR2x1WTJ4MVpHVWdkR2hsSUc5bVpuTmxkQ3dnYzNWamFDQmhjeUFuV2ljZ2IzSWdKeTB3TkRvd01DZGNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmIzQjBjeTVsZUhSbGJtUmxaRnB2Ym1VOWRISjFaVjBnTFNCaFpHUWdkR2hsSUhScGJXVWdlbTl1WlNCbWIzSnRZWFFnWlhoMFpXNXphVzl1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMjl3ZEhNdWFXNWpiSFZrWlZCeVpXWnBlRDFtWVd4elpWMGdMU0JwYm1Oc2RXUmxJSFJvWlNCZ1ZHQWdjSEpsWm1sNFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NW1iM0p0WVhROUoyVjRkR1Z1WkdWa0oxMGdMU0JqYUc5dmMyVWdZbVYwZDJWbGJpQjBhR1VnWW1GemFXTWdZVzVrSUdWNGRHVnVaR1ZrSUdadmNtMWhkRnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNTFkR01vS1M1elpYUW9leUJvYjNWeU9pQTNMQ0J0YVc1MWRHVTZJRE0wSUgwcExuUnZTVk5QVkdsdFpTZ3BJQzh2UFQ0Z0p6QTNPak0wT2pFNUxqTTJNVm9uWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMblYwWXlncExuTmxkQ2g3SUdodmRYSTZJRGNzSUcxcGJuVjBaVG9nTXpRc0lITmxZMjl1WkhNNklEQXNJRzFwYkd4cGMyVmpiMjVrY3pvZ01DQjlLUzUwYjBsVFQxUnBiV1VvZXlCemRYQndjbVZ6YzFObFkyOXVaSE02SUhSeWRXVWdmU2tnTHk4OVBpQW5NRGM2TXpSYUoxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9LUzV6WlhRb2V5Qm9iM1Z5T2lBM0xDQnRhVzUxZEdVNklETTBJSDBwTG5SdlNWTlBWR2x0WlNoN0lHWnZjbTFoZERvZ0oySmhjMmxqSnlCOUtTQXZMejArSUNjd056TTBNVGt1TXpZeFdpZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWRYUmpLQ2t1YzJWMEtIc2dhRzkxY2pvZ055d2diV2x1ZFhSbE9pQXpOQ0I5S1M1MGIwbFRUMVJwYldVb2V5QnBibU5zZFdSbFVISmxabWw0T2lCMGNuVmxJSDBwSUM4dlBUNGdKMVF3Tnpvek5Eb3hPUzR6TmpGYUoxeHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCMGIwbFRUMVJwYldVb2UxeHVJQ0FnSUhOMWNIQnlaWE56VFdsc2JHbHpaV052Ym1SeklEMGdabUZzYzJVc1hHNGdJQ0FnYzNWd2NISmxjM05UWldOdmJtUnpJRDBnWm1Gc2MyVXNYRzRnSUNBZ2FXNWpiSFZrWlU5bVpuTmxkQ0E5SUhSeWRXVXNYRzRnSUNBZ2FXNWpiSFZrWlZCeVpXWnBlQ0E5SUdaaGJITmxMRnh1SUNBZ0lHVjRkR1Z1WkdWa1dtOXVaU0E5SUdaaGJITmxMRnh1SUNBZ0lHWnZjbTFoZENBOUlGd2laWGgwWlc1a1pXUmNJaXhjYmlBZ2ZTQTlJSHQ5S1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUd4bGRDQmpJRDBnYVc1amJIVmtaVkJ5WldacGVDQS9JRndpVkZ3aUlEb2dYQ0pjSWp0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdZeUFyWEc0Z0lDQWdJQ0IwYjBsVFQxUnBiV1VvWEc0Z0lDQWdJQ0FnSUhSb2FYTXNYRzRnSUNBZ0lDQWdJR1p2Y20xaGRDQTlQVDBnWENKbGVIUmxibVJsWkZ3aUxGeHVJQ0FnSUNBZ0lDQnpkWEJ3Y21WemMxTmxZMjl1WkhNc1hHNGdJQ0FnSUNBZ0lITjFjSEJ5WlhOelRXbHNiR2x6WldOdmJtUnpMRnh1SUNBZ0lDQWdJQ0JwYm1Oc2RXUmxUMlptYzJWMExGeHVJQ0FnSUNBZ0lDQmxlSFJsYm1SbFpGcHZibVZjYmlBZ0lDQWdJQ2xjYmlBZ0lDQXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWVc0Z1VrWkRJREk0TWpJdFkyOXRjR0YwYVdKc1pTQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaHBjeUJFWVhSbFZHbHRaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNTFkR01vTWpBeE5Dd2dOeXdnTVRNcExuUnZVa1pETWpneU1pZ3BJQzh2UFQ0Z0oxTjFiaXdnTVRNZ1NuVnNJREl3TVRRZ01EQTZNREE2TURBZ0t6QXdNREFuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVFFzSURjc0lERXpLUzUwYjFKR1F6STRNaklvS1NBdkx6MCtJQ2RUZFc0c0lERXpJRXAxYkNBeU1ERTBJREF3T2pBd09qQXdJQzB3TkRBd0oxeHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCMGIxSkdRekk0TWpJb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSdlZHVmphRVp2Y20xaGRDaDBhR2x6TENCY0lrVkZSU3dnWkdRZ1RFeE1JSGw1ZVhrZ1NFZzZiVzA2YzNNZ1dscGFYQ0lzSUdaaGJITmxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdFZ2MzUnlhVzVuSUhKbGNISmxjMlZ1ZEdGMGFXOXVJRzltSUhSb2FYTWdSR0YwWlZScGJXVWdZWEJ3Y205d2NtbGhkR1VnWm05eUlIVnpaU0JwYmlCSVZGUlFJR2hsWVdSbGNuTXVJRlJvWlNCdmRYUndkWFFnYVhNZ1lXeDNZWGx6SUdWNGNISmxjM05sWkNCcGJpQkhUVlF1WEc0Z0lDQXFJRk53WldOcFptbGpZV3hzZVN3Z2RHaGxJSE4wY21sdVp5QmpiMjVtYjNKdGN5QjBieUJTUmtNZ01URXlNeTVjYmlBZ0lDb2dRSE5sWlNCb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdlVISnZkRzlqYjJ4ekwzSm1ZekkyTVRZdmNtWmpNall4TmkxelpXTXpMbWgwYld3amMyVmpNeTR6TGpGY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1ZFhSaktESXdNVFFzSURjc0lERXpLUzUwYjBoVVZGQW9LU0F2THowK0lDZFRkVzRzSURFeklFcDFiQ0F5TURFMElEQXdPakF3T2pBd0lFZE5WQ2RjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVkWFJqS0RJd01UUXNJRGNzSURFekxDQXhPU2t1ZEc5SVZGUlFLQ2tnTHk4OVBpQW5VM1Z1TENBeE15QktkV3dnTWpBeE5DQXhPVG93TURvd01DQkhUVlFuWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSFJ2U0ZSVVVDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHOVVaV05vUm05eWJXRjBLSFJvYVhNdWRHOVZWRU1vS1N3Z1hDSkZSVVVzSUdSa0lFeE1UQ0I1ZVhsNUlFaElPbTF0T25OeklDZEhUVlFuWENJcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZU0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCRVlYUmxWR2x0WlNCaGNIQnliM0J5YVdGMFpTQm1iM0lnZFhObElHbHVJRk5SVENCRVlYUmxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExuVjBZeWd5TURFMExDQTNMQ0F4TXlrdWRHOVRVVXhFWVhSbEtDa2dMeTg5UGlBbk1qQXhOQzB3TnkweE15ZGNiaUFnSUNvZ1FISmxkSFZ5YmlCN2MzUnlhVzVuZlZ4dUlDQWdLaTljYmlBZ2RHOVRVVXhFWVhSbEtDa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSdlNWTlBSR0YwWlNoMGFHbHpMQ0IwY25WbEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnYzNSeWFXNW5JSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JSFJvYVhNZ1JHRjBaVlJwYldVZ1lYQndjbTl3Y21saGRHVWdabTl5SUhWelpTQnBiaUJUVVV3Z1ZHbHRaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUc5d2RHbHZibk5jYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJiM0IwY3k1cGJtTnNkV1JsV205dVpUMW1ZV3h6WlYwZ0xTQnBibU5zZFdSbElIUm9aU0I2YjI1bExDQnpkV05vSUdGeklDZEJiV1Z5YVdOaEwwNWxkMTlaYjNKckp5NGdUM1psY25KcFpHVnpJR2x1WTJ4MVpHVlBabVp6WlhRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzI5d2RITXVhVzVqYkhWa1pVOW1abk5sZEQxMGNuVmxYU0F0SUdsdVkyeDFaR1VnZEdobElHOW1abk5sZEN3Z2MzVmphQ0JoY3lBbldpY2diM0lnSnkwd05Eb3dNQ2RjYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJiM0IwY3k1cGJtTnNkV1JsVDJabWMyVjBVM0JoWTJVOWRISjFaVjBnTFNCcGJtTnNkV1JsSUhSb1pTQnpjR0ZqWlNCaVpYUjNaV1Z1SUhSb1pTQjBhVzFsSUdGdVpDQjBhR1VnYjJabWMyVjBMQ0J6ZFdOb0lHRnpJQ2N3TlRveE5Ub3hOaTR6TkRVZ0xUQTBPakF3SjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzUxZEdNb0tTNTBiMU5SVENncElDOHZQVDRnSnpBMU9qRTFPakUyTGpNME5TZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1ZEc5VFVVd29LU0F2THowK0lDY3dOVG94TlRveE5pNHpORFVnTFRBME9qQXdKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIxTlJUQ2g3SUdsdVkyeDFaR1ZQWm1aelpYUTZJR1poYkhObElIMHBJQzh2UFQ0Z0p6QTFPakUxT2pFMkxqTTBOU2RjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWRHOVRVVXdvZXlCcGJtTnNkV1JsV205dVpUb2dabUZzYzJVZ2ZTa2dMeTg5UGlBbk1EVTZNVFU2TVRZdU16UTFJRUZ0WlhKcFkyRXZUbVYzWDFsdmNtc25YRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZVMUZNVkdsdFpTaDdJR2x1WTJ4MVpHVlBabVp6WlhRZ1BTQjBjblZsTENCcGJtTnNkV1JsV205dVpTQTlJR1poYkhObExDQnBibU5zZFdSbFQyWm1jMlYwVTNCaFkyVWdQU0IwY25WbElIMGdQU0I3ZlNrZ2UxeHVJQ0FnSUd4bGRDQm1iWFFnUFNCY0lraElPbTF0T25OekxsTlRVMXdpTzF4dVhHNGdJQ0FnYVdZZ0tHbHVZMngxWkdWYWIyNWxJSHg4SUdsdVkyeDFaR1ZQWm1aelpYUXBJSHRjYmlBZ0lDQWdJR2xtSUNocGJtTnNkV1JsVDJabWMyVjBVM0JoWTJVcElIdGNiaUFnSUNBZ0lDQWdabTEwSUNzOUlGd2lJRndpTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tHbHVZMngxWkdWYWIyNWxLU0I3WEc0Z0lDQWdJQ0FnSUdadGRDQXJQU0JjSW5wY0lqdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9hVzVqYkhWa1pVOW1abk5sZENrZ2UxeHVJQ0FnSUNBZ0lDQm1iWFFnS3owZ1hDSmFXbHdpTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBiMVJsWTJoR2IzSnRZWFFvZEdocGN5d2dabTEwTENCMGNuVmxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdFZ2MzUnlhVzVuSUhKbGNISmxjMlZ1ZEdGMGFXOXVJRzltSUhSb2FYTWdSR0YwWlZScGJXVWdZWEJ3Y205d2NtbGhkR1VnWm05eUlIVnpaU0JwYmlCVFVVd2dSR0YwWlZScGJXVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RITWdMU0J2Y0hScGIyNXpYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YVc1amJIVmtaVnB2Ym1VOVptRnNjMlZkSUMwZ2FXNWpiSFZrWlNCMGFHVWdlbTl1WlN3Z2MzVmphQ0JoY3lBblFXMWxjbWxqWVM5T1pYZGZXVzl5YXljdUlFOTJaWEp5YVdSbGN5QnBibU5zZFdSbFQyWm1jMlYwTGx4dUlDQWdLaUJBY0dGeVlXMGdlMkp2YjJ4bFlXNTlJRnR2Y0hSekxtbHVZMngxWkdWUFptWnpaWFE5ZEhKMVpWMGdMU0JwYm1Oc2RXUmxJSFJvWlNCdlptWnpaWFFzSUhOMVkyZ2dZWE1nSjFvbklHOXlJQ2N0TURRNk1EQW5YRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YVc1amJIVmtaVTltWm5ObGRGTndZV05sUFhSeWRXVmRJQzBnYVc1amJIVmtaU0IwYUdVZ2MzQmhZMlVnWW1WMGQyVmxiaUIwYUdVZ2RHbHRaU0JoYm1RZ2RHaGxJRzltWm5ObGRDd2djM1ZqYUNCaGN5QW5NRFU2TVRVNk1UWXVNelExSUMwd05Eb3dNQ2RjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVkWFJqS0RJd01UUXNJRGNzSURFektTNTBiMU5SVENncElDOHZQVDRnSnpJd01UUXRNRGN0TVRNZ01EQTZNREE2TURBdU1EQXdJRm9uWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVFFzSURjc0lERXpLUzUwYjFOUlRDZ3BJQzh2UFQ0Z0p6SXdNVFF0TURjdE1UTWdNREE2TURBNk1EQXVNREF3SUMwd05Eb3dNQ2RjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOQ3dnTnl3Z01UTXBMblJ2VTFGTUtIc2dhVzVqYkhWa1pVOW1abk5sZERvZ1ptRnNjMlVnZlNrZ0x5ODlQaUFuTWpBeE5DMHdOeTB4TXlBd01Eb3dNRG93TUM0d01EQW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJRGNzSURFektTNTBiMU5SVENoN0lHbHVZMngxWkdWYWIyNWxPaUIwY25WbElIMHBJQzh2UFQ0Z0p6SXdNVFF0TURjdE1UTWdNREE2TURBNk1EQXVNREF3SUVGdFpYSnBZMkV2VG1WM1gxbHZjbXNuWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSFJ2VTFGTUtHOXdkSE1nUFNCN2ZTa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1lDUjdkR2hwY3k1MGIxTlJURVJoZEdVb0tYMGdKSHQwYUdsekxuUnZVMUZNVkdsdFpTaHZjSFJ6S1gxZ08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZU0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCRVlYUmxWR2x0WlNCaGNIQnliM0J5YVdGMFpTQm1iM0lnWkdWaWRXZG5hVzVuWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSFJ2VTNSeWFXNW5LQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMblJ2U1ZOUEtDa2dPaUJKVGxaQlRFbEVPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nZEdobElHVndiMk5vSUcxcGJHeHBjMlZqYjI1a2N5QnZaaUIwYUdseklFUmhkR1ZVYVcxbExpQkJiR2xoY3lCdlppQjdRR3hwYm1zZ1JHRjBaVlJwYldVamRHOU5hV3hzYVhOOVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTI1MWJXSmxjbjFjYmlBZ0lDb3ZYRzRnSUhaaGJIVmxUMllvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOU5hV3hzYVhNb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSFJvWlNCbGNHOWphQ0J0YVd4c2FYTmxZMjl1WkhNZ2IyWWdkR2hwY3lCRVlYUmxWR2x0WlM1Y2JpQWdJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnZEc5TmFXeHNhWE1vS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lIUm9hWE11ZEhNZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCMGFHVWdaWEJ2WTJnZ2MyVmpiMjVrY3lCdlppQjBhR2x6SUVSaGRHVlVhVzFsTGx4dUlDQWdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0IwYjFObFkyOXVaSE1vS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lIUm9hWE11ZEhNZ0x5QXhNREF3SURvZ1RtRk9PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nZEdobElHVndiMk5vSUhObFkyOXVaSE1nS0dGeklHRWdkMmh2YkdVZ2JuVnRZbVZ5S1NCdlppQjBhR2x6SUVSaGRHVlVhVzFsTGx4dUlDQWdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0IwYjFWdWFYaEpiblJsWjJWeUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUJOWVhSb0xtWnNiMjl5S0hSb2FYTXVkSE1nTHlBeE1EQXdLU0E2SUU1aFRqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0Z1SUVsVFR5QTROakF4SUhKbGNISmxjMlZ1ZEdGMGFXOXVJRzltSUhSb2FYTWdSR0YwWlZScGJXVWdZWEJ3Y205d2NtbGhkR1VnWm05eUlIVnpaU0JwYmlCS1UwOU9MbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQjBiMHBUVDA0b0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkRzlKVTA4b0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnUWxOUFRpQnpaWEpwWVd4cGVtRmliR1VnWlhGMWFYWmhiR1Z1ZENCMGJ5QjBhR2x6SUVSaGRHVlVhVzFsTGx4dUlDQWdLaUJBY21WMGRYSnVJSHRFWVhSbGZWeHVJQ0FnS2k5Y2JpQWdkRzlDVTA5T0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblJ2U2xORVlYUmxLQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaElFcGhkbUZUWTNKcGNIUWdiMkpxWldOMElIZHBkR2dnZEdocGN5QkVZWFJsVkdsdFpTZHpJSGxsWVhJc0lHMXZiblJvTENCa1lYa3NJR0Z1WkNCemJ5QnZiaTVjYmlBZ0lDb2dRSEJoY21GdElHOXdkSE1nTFNCdmNIUnBiMjV6SUdadmNpQm5aVzVsY21GMGFXNW5JSFJvWlNCdlltcGxZM1JjYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJiM0IwY3k1cGJtTnNkV1JsUTI5dVptbG5QV1poYkhObFhTQXRJR2x1WTJ4MVpHVWdZMjl1Wm1sbmRYSmhkR2x2YmlCaGRIUnlhV0oxZEdWeklHbHVJSFJvWlNCdmRYUndkWFJjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWRHOVBZbXBsWTNRb0tTQXZMejArSUhzZ2VXVmhjam9nTWpBeE55d2diVzl1ZEdnNklEUXNJR1JoZVRvZ01qSXNJR2h2ZFhJNklESXdMQ0J0YVc1MWRHVTZJRFE1TENCelpXTnZibVE2SURReUxDQnRhV3hzYVhObFkyOXVaRG9nTWpZNElIMWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1QySnFaV04wZlZ4dUlDQWdLaTljYmlBZ2RHOVBZbXBsWTNRb2IzQjBjeUE5SUh0OUtTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCN2ZUdGNibHh1SUNBZ0lHTnZibk4wSUdKaGMyVWdQU0I3SUM0dUxuUm9hWE11WXlCOU8xeHVYRzRnSUNBZ2FXWWdLRzl3ZEhNdWFXNWpiSFZrWlVOdmJtWnBaeWtnZTF4dUlDQWdJQ0FnWW1GelpTNXZkWFJ3ZFhSRFlXeGxibVJoY2lBOUlIUm9hWE11YjNWMGNIVjBRMkZzWlc1a1lYSTdYRzRnSUNBZ0lDQmlZWE5sTG01MWJXSmxjbWx1WjFONWMzUmxiU0E5SUhSb2FYTXViRzlqTG01MWJXSmxjbWx1WjFONWMzUmxiVHRjYmlBZ0lDQWdJR0poYzJVdWJHOWpZV3hsSUQwZ2RHaHBjeTVzYjJNdWJHOWpZV3hsTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1ltRnpaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdFZ1NtRjJZVk5qY21sd2RDQkVZWFJsSUdWeGRXbDJZV3hsYm5RZ2RHOGdkR2hwY3lCRVlYUmxWR2x0WlM1Y2JpQWdJQ29nUUhKbGRIVnliaUI3UkdGMFpYMWNiaUFnSUNvdlhHNGdJSFJ2U2xORVlYUmxLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVaWGNnUkdGMFpTaDBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMblJ6SURvZ1RtRk9LVHRjYmlBZ2ZWeHVYRzRnSUM4dklFTlBUVkJCVWtWY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJSFJvWlNCa2FXWm1aWEpsYm1ObElHSmxkSGRsWlc0Z2RIZHZJRVJoZEdWVWFXMWxjeUJoY3lCaElFUjFjbUYwYVc5dUxseHVJQ0FnS2lCQWNHRnlZVzBnZTBSaGRHVlVhVzFsZlNCdmRHaGxja1JoZEdWVWFXMWxJQzBnZEdobElFUmhkR1ZVYVcxbElIUnZJR052YlhCaGNtVWdkR2hwY3lCdmJtVWdkRzljYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOGMzUnlhVzVuVzExOUlGdDFibWwwUFZzbmJXbHNiR2x6WldOdmJtUnpKMTFkSUMwZ2RHaGxJSFZ1YVhRZ2IzSWdZWEp5WVhrZ2IyWWdkVzVwZEhNZ0tITjFZMmdnWVhNZ0oyaHZkWEp6SnlCdmNpQW5aR0Y1Y3ljcElIUnZJR2x1WTJ4MVpHVWdhVzRnZEdobElHUjFjbUYwYVc5dUxseHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGN5QXRJRzl3ZEdsdmJuTWdkR2hoZENCaFptWmxZM1FnZEdobElHTnlaV0YwYVc5dUlHOW1JSFJvWlNCRWRYSmhkR2x2Ymx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMjl3ZEhNdVkyOXVkbVZ5YzJsdmJrRmpZM1Z5WVdONVBTZGpZWE4xWVd3blhTQXRJSFJvWlNCamIyNTJaWEp6YVc5dUlITjVjM1JsYlNCMGJ5QjFjMlZjYmlBZ0lDb2dRR1Y0WVcxd2JHVmNiaUFnSUNvZ2RtRnlJR2t4SUQwZ1JHRjBaVlJwYldVdVpuSnZiVWxUVHlnbk1UazRNaTB3TlMweU5WUXdPVG8wTlNjcExGeHVJQ0FnS2lBZ0lDQWdhVElnUFNCRVlYUmxWR2x0WlM1bWNtOXRTVk5QS0NjeE9UZ3pMVEV3TFRFMFZERXdPak13SnlrN1hHNGdJQ0FxSUdreUxtUnBabVlvYVRFcExuUnZUMkpxWldOMEtDa2dMeTg5UGlCN0lHMXBiR3hwYzJWamIyNWtjem9nTkRNNE1EYzFNREF3TURBZ2ZWeHVJQ0FnS2lCcE1pNWthV1ptS0dreExDQW5hRzkxY25NbktTNTBiMDlpYW1WamRDZ3BJQzh2UFQ0Z2V5Qm9iM1Z5Y3pvZ01USXhOamd1TnpVZ2ZWeHVJQ0FnS2lCcE1pNWthV1ptS0dreExDQmJKMjF2Ym5Sb2N5Y3NJQ2RrWVhsekoxMHBMblJ2VDJKcVpXTjBLQ2tnTHk4OVBpQjdJRzF2Ym5Sb2N6b2dNVFlzSUdSaGVYTTZJREU1TGpBek1USTFJSDFjYmlBZ0lDb2dhVEl1WkdsbVppaHBNU3dnV3lkdGIyNTBhSE1uTENBblpHRjVjeWNzSUNkb2IzVnljeWRkS1M1MGIwOWlhbVZqZENncElDOHZQVDRnZXlCdGIyNTBhSE02SURFMkxDQmtZWGx6T2lBeE9Td2dhRzkxY25NNklEQXVOelVnZlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRFZFhKaGRHbHZibjFjYmlBZ0lDb3ZYRzRnSUdScFptWW9iM1JvWlhKRVlYUmxWR2x0WlN3Z2RXNXBkQ0E5SUZ3aWJXbHNiR2x6WldOdmJtUnpYQ0lzSUc5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrSUh4OElDRnZkR2hsY2tSaGRHVlVhVzFsTG1selZtRnNhV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJFZFhKaGRHbHZiaTVwYm5aaGJHbGtLRndpWTNKbFlYUmxaQ0JpZVNCa2FXWm1hVzVuSUdGdUlHbHVkbUZzYVdRZ1JHRjBaVlJwYldWY0lpazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnWkhWeVQzQjBjeUE5SUhzZ2JHOWpZV3hsT2lCMGFHbHpMbXh2WTJGc1pTd2diblZ0WW1WeWFXNW5VM2x6ZEdWdE9pQjBhR2x6TG01MWJXSmxjbWx1WjFONWMzUmxiU3dnTGk0dWIzQjBjeUI5TzF4dVhHNGdJQ0FnWTI5dWMzUWdkVzVwZEhNZ1BTQnRZWGxpWlVGeWNtRjVLSFZ1YVhRcExtMWhjQ2hFZFhKaGRHbHZiaTV1YjNKdFlXeHBlbVZWYm1sMEtTeGNiaUFnSUNBZ0lHOTBhR1Z5U1hOTVlYUmxjaUE5SUc5MGFHVnlSR0YwWlZScGJXVXVkbUZzZFdWUFppZ3BJRDRnZEdocGN5NTJZV3gxWlU5bUtDa3NYRzRnSUNBZ0lDQmxZWEpzYVdWeUlEMGdiM1JvWlhKSmMweGhkR1Z5SUQ4Z2RHaHBjeUE2SUc5MGFHVnlSR0YwWlZScGJXVXNYRzRnSUNBZ0lDQnNZWFJsY2lBOUlHOTBhR1Z5U1hOTVlYUmxjaUEvSUc5MGFHVnlSR0YwWlZScGJXVWdPaUIwYUdsekxGeHVJQ0FnSUNBZ1pHbG1abVZrSUQwZ1pHbG1aaWhsWVhKc2FXVnlMQ0JzWVhSbGNpd2dkVzVwZEhNc0lHUjFjazl3ZEhNcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUc5MGFHVnlTWE5NWVhSbGNpQS9JR1JwWm1abFpDNXVaV2RoZEdVb0tTQTZJR1JwWm1abFpEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUdScFptWmxjbVZ1WTJVZ1ltVjBkMlZsYmlCMGFHbHpJRVJoZEdWVWFXMWxJR0Z1WkNCeWFXZG9kQ0J1YjNjdVhHNGdJQ0FxSUZObFpTQjdRR3hwYm1zZ1JHRjBaVlJwYldValpHbG1abjFjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOGMzUnlhVzVuVzExOUlGdDFibWwwUFZzbmJXbHNiR2x6WldOdmJtUnpKMTFkSUMwZ2RHaGxJSFZ1YVhRZ2IzSWdkVzVwZEhNZ2RXNXBkSE1nS0hOMVkyZ2dZWE1nSjJodmRYSnpKeUJ2Y2lBblpHRjVjeWNwSUhSdklHbHVZMngxWkdVZ2FXNGdkR2hsSUdSMWNtRjBhVzl1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJ6SUMwZ2IzQjBhVzl1Y3lCMGFHRjBJR0ZtWm1WamRDQjBhR1VnWTNKbFlYUnBiMjRnYjJZZ2RHaGxJRVIxY21GMGFXOXVYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVqYjI1MlpYSnphVzl1UVdOamRYSmhZM2s5SjJOaGMzVmhiQ2RkSUMwZ2RHaGxJR052Ym5abGNuTnBiMjRnYzNsemRHVnRJSFJ2SUhWelpWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0RWRYSmhkR2x2Ym4xY2JpQWdJQ292WEc0Z0lHUnBabVpPYjNjb2RXNXBkQ0E5SUZ3aWJXbHNiR2x6WldOdmJtUnpYQ0lzSUc5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtUnBabVlvUkdGMFpWUnBiV1V1Ym05M0tDa3NJSFZ1YVhRc0lHOXdkSE1wTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5YmlCaGJpQkpiblJsY25aaGJDQnpjR0Z1Ym1sdVp5QmlaWFIzWldWdUlIUm9hWE1nUkdGMFpWUnBiV1VnWVc1a0lHRnViM1JvWlhJZ1JHRjBaVlJwYldWY2JpQWdJQ29nUUhCaGNtRnRJSHRFWVhSbFZHbHRaWDBnYjNSb1pYSkVZWFJsVkdsdFpTQXRJSFJvWlNCdmRHaGxjaUJsYm1RZ2NHOXBiblFnYjJZZ2RHaGxJRWx1ZEdWeWRtRnNYRzRnSUNBcUlFQnlaWFIxY200Z2UwbHVkR1Z5ZG1Gc2ZWeHVJQ0FnS2k5Y2JpQWdkVzUwYVd3b2IzUm9aWEpFWVhSbFZHbHRaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCSmJuUmxjblpoYkM1bWNtOXRSR0YwWlZScGJXVnpLSFJvYVhNc0lHOTBhR1Z5UkdGMFpWUnBiV1VwSURvZ2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnZDJobGRHaGxjaUIwYUdseklFUmhkR1ZVYVcxbElHbHpJR2x1SUhSb1pTQnpZVzFsSUhWdWFYUWdiMllnZEdsdFpTQmhjeUJoYm05MGFHVnlJRVJoZEdWVWFXMWxMbHh1SUNBZ0tpQklhV2RvWlhJdGIzSmtaWElnZFc1cGRITWdiWFZ6ZENCaGJITnZJR0psSUdsa1pXNTBhV05oYkNCbWIzSWdkR2hwY3lCbWRXNWpkR2x2YmlCMGJ5QnlaWFIxY200Z1lIUnlkV1ZnTGx4dUlDQWdLaUJPYjNSbElIUm9ZWFFnZEdsdFpTQjZiMjVsY3lCaGNtVWdLaXBwWjI1dmNtVmtLaW9nYVc0Z2RHaHBjeUJqYjIxd1lYSnBjMjl1TENCM2FHbGphQ0JqYjIxd1lYSmxjeUIwYUdVZ0tpcHNiMk5oYkNvcUlHTmhiR1Z1WkdGeUlIUnBiV1V1SUZWelpTQjdRR3hwYm1zZ1JHRjBaVlJwYldVamMyVjBXbTl1WlgwZ2RHOGdZMjl1ZG1WeWRDQnZibVVnYjJZZ2RHaGxJR1JoZEdWeklHbG1JRzVsWldSbFpDNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0RVlYUmxWR2x0WlgwZ2IzUm9aWEpFWVhSbFZHbHRaU0F0SUhSb1pTQnZkR2hsY2lCRVlYUmxWR2x0WlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkVzVwZENBdElIUm9aU0IxYm1sMElHOW1JSFJwYldVZ2RHOGdZMmhsWTJzZ2MyRnRaVzVsYzNNZ2IyNWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1YUdGelUyRnRaU2h2ZEdobGNrUlVMQ0FuWkdGNUp5azdJQzh2Zmo0Z2RISjFaU0JwWmlCdmRHaGxja1JVSUdseklHbHVJSFJvWlNCellXMWxJR04xY25KbGJuUWdZMkZzWlc1a1lYSWdaR0Y1WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0JvWVhOVFlXMWxLRzkwYUdWeVJHRjBaVlJwYldVc0lIVnVhWFFwSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11YVhOV1lXeHBaQ2tnY21WMGRYSnVJR1poYkhObE8xeHVYRzRnSUNBZ1kyOXVjM1FnYVc1d2RYUk5jeUE5SUc5MGFHVnlSR0YwWlZScGJXVXVkbUZzZFdWUFppZ3BPMXh1SUNBZ0lHTnZibk4wSUdGa2FuVnpkR1ZrVkc5YWIyNWxJRDBnZEdocGN5NXpaWFJhYjI1bEtHOTBhR1Z5UkdGMFpWUnBiV1V1ZW05dVpTd2dleUJyWldWd1RHOWpZV3hVYVcxbE9pQjBjblZsSUgwcE8xeHVJQ0FnSUhKbGRIVnliaUJoWkdwMWMzUmxaRlJ2V205dVpTNXpkR0Z5ZEU5bUtIVnVhWFFwSUR3OUlHbHVjSFYwVFhNZ0ppWWdhVzV3ZFhSTmN5QThQU0JoWkdwMWMzUmxaRlJ2V205dVpTNWxibVJQWmloMWJtbDBLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRmNYVmhiR2wwZVNCamFHVmphMXh1SUNBZ0tpQlVkMjhnUkdGMFpWUnBiV1Z6SUdGeVpTQmxjWFZoYkNCcFptWWdkR2hsZVNCeVpYQnlaWE5sYm5RZ2RHaGxJSE5oYldVZ2JXbHNiR2x6WldOdmJtUXNJR2hoZG1VZ2RHaGxJSE5oYldVZ2VtOXVaU0JoYm1RZ2JHOWpZWFJwYjI0c0lHRnVaQ0JoY21VZ1ltOTBhQ0IyWVd4cFpDNWNiaUFnSUNvZ1ZHOGdZMjl0Y0dGeVpTQnFkWE4wSUhSb1pTQnRhV3hzYVhObFkyOXVaQ0IyWVd4MVpYTXNJSFZ6WlNCZ0syUjBNU0E5UFQwZ0syUjBNbUF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdSR0YwWlZScGJXVjlJRzkwYUdWeUlDMGdkR2hsSUc5MGFHVnlJRVJoZEdWVWFXMWxYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQmxjWFZoYkhNb2IzUm9aWElwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdkR2hwY3k1cGMxWmhiR2xrSUNZbVhHNGdJQ0FnSUNCdmRHaGxjaTVwYzFaaGJHbGtJQ1ltWEc0Z0lDQWdJQ0IwYUdsekxuWmhiSFZsVDJZb0tTQTlQVDBnYjNSb1pYSXVkbUZzZFdWUFppZ3BJQ1ltWEc0Z0lDQWdJQ0IwYUdsekxucHZibVV1WlhGMVlXeHpLRzkwYUdWeUxucHZibVVwSUNZbVhHNGdJQ0FnSUNCMGFHbHpMbXh2WXk1bGNYVmhiSE1vYjNSb1pYSXViRzlqS1Z4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaElITjBjbWx1WnlCeVpYQnlaWE5sYm5SaGRHbHZiaUJ2WmlCaElIUm9hWE1nZEdsdFpTQnlaV3hoZEdsMlpTQjBieUJ1YjNjc0lITjFZMmdnWVhNZ1hDSnBiaUIwZDI4Z1pHRjVjMXdpTGlCRFlXNGdiMjVzZVNCcGJuUmxjbTVoZEdsdmJtRnNhWHBsSUdsbUlIbHZkWEpjYmlBZ0lDb2djR3hoZEdadmNtMGdjM1Z3Y0c5eWRITWdTVzUwYkM1U1pXeGhkR2wyWlZScGJXVkdiM0p0WVhRdUlGSnZkVzVrY3lCa2IzZHVJR0o1SUdSbFptRjFiSFF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJwYjI1eklDMGdiM0IwYVc5dWN5QjBhR0YwSUdGbVptVmpkQ0IwYUdVZ2IzVjBjSFYwWEc0Z0lDQXFJRUJ3WVhKaGJTQjdSR0YwWlZScGJXVjlJRnR2Y0hScGIyNXpMbUpoYzJVOVJHRjBaVlJwYldVdWJtOTNLQ2xkSUMwZ2RHaGxJRVJoZEdWVWFXMWxJSFJ2SUhWelpTQmhjeUIwYUdVZ1ltRnphWE1nZEc4Z2QyaHBZMmdnZEdocGN5QjBhVzFsSUdseklHTnZiWEJoY21Wa0xpQkVaV1poZFd4MGN5QjBieUJ1YjNjdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGFXOXVjeTV6ZEhsc1pUMWNJbXh2Ym1kY0lsMGdMU0IwYUdVZ2MzUjViR1VnYjJZZ2RXNXBkSE1zSUcxMWMzUWdZbVVnWENKc2IyNW5YQ0lzSUZ3aWMyaHZjblJjSWl3Z2IzSWdYQ0p1WVhKeWIzZGNJbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjN4emRISnBibWRiWFgwZ2IzQjBhVzl1Y3k1MWJtbDBJQzBnZFhObElHRWdjM0JsWTJsbWFXTWdkVzVwZENCdmNpQmhjbkpoZVNCdlppQjFibWwwY3pzZ2FXWWdiMjFwZEhSbFpDd2diM0lnWVc0Z1lYSnlZWGtzSUhSb1pTQnRaWFJvYjJRZ2QybHNiQ0J3YVdOcklIUm9aU0JpWlhOMElIVnVhWFF1SUZWelpTQmhiaUJoY25KaGVTQnZjaUJ2Ym1VZ2IyWWdYQ0o1WldGeWMxd2lMQ0JjSW5GMVlYSjBaWEp6WENJc0lGd2liVzl1ZEdoelhDSXNJRndpZDJWbGEzTmNJaXdnWENKa1lYbHpYQ0lzSUZ3aWFHOTFjbk5jSWl3Z1hDSnRhVzUxZEdWelhDSXNJRzl5SUZ3aWMyVmpiMjVrYzF3aVhHNGdJQ0FxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzI5d2RHbHZibk11Y205MWJtUTlkSEoxWlYwZ0xTQjNhR1YwYUdWeUlIUnZJSEp2ZFc1a0lIUm9aU0J1ZFcxaVpYSnpJR2x1SUhSb1pTQnZkWFJ3ZFhRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiYjNCMGFXOXVjeTV3WVdSa2FXNW5QVEJkSUMwZ2NHRmtaR2x1WnlCcGJpQnRhV3hzYVhObFkyOXVaSE11SUZSb2FYTWdZV3hzYjNkeklIbHZkU0IwYnlCeWIzVnVaQ0IxY0NCMGFHVWdjbVZ6ZFd4MElHbG1JR2wwSUdacGRITWdhVzV6YVdSbElIUm9aU0IwYUhKbGMyaHZiR1F1SUVSdmJpZDBJSFZ6WlNCcGJpQmpiMjFpYVc1aGRHbHZiaUIzYVhSb0lIdHliM1Z1WkRvZ1ptRnNjMlY5SUdKbFkyRjFjMlVnZEdobElHUmxZMmx0WVd3Z2IzVjBjSFYwSUhkcGJHd2dhVzVqYkhWa1pTQjBhR1VnY0dGa1pHbHVaeTVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHOXdkR2x2Ym5NdWJHOWpZV3hsSUMwZ2IzWmxjbkpwWkdVZ2RHaGxJR3h2WTJGc1pTQnZaaUIwYUdseklFUmhkR1ZVYVcxbFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J2Y0hScGIyNXpMbTUxYldKbGNtbHVaMU41YzNSbGJTQXRJRzkyWlhKeWFXUmxJSFJvWlNCdWRXMWlaWEpwYm1kVGVYTjBaVzBnYjJZZ2RHaHBjeUJFWVhSbFZHbHRaUzRnVkdobElFbHVkR3dnYzNsemRHVnRJRzFoZVNCamFHOXZjMlVnYm05MElIUnZJR2h2Ym05eUlIUm9hWE5jYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWNHeDFjeWg3SUdSaGVYTTZJREVnZlNrdWRHOVNaV3hoZEdsMlpTZ3BJQzh2UFQ0Z1hDSnBiaUF4SUdSaGVWd2lYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtNXZkeWdwTG5ObGRFeHZZMkZzWlNoY0ltVnpYQ0lwTG5SdlVtVnNZWFJwZG1Vb2V5QmtZWGx6T2lBeElIMHBJQzh2UFQ0Z1hDSmtaVzUwY204Z1pHVWdNU0JrWEhVd01FVkVZVndpWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbTV2ZHlncExuQnNkWE1vZXlCa1lYbHpPaUF4SUgwcExuUnZVbVZzWVhScGRtVW9leUJzYjJOaGJHVTZJRndpWm5KY0lpQjlLU0F2THowK0lGd2laR0Z1Y3lBeU15Qm9aWFZ5WlhOY0lseHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzV0YVc1MWN5aDdJR1JoZVhNNklESWdmU2t1ZEc5U1pXeGhkR2wyWlNncElDOHZQVDRnWENJeUlHUmhlWE1nWVdkdlhDSmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1YldsdWRYTW9leUJrWVhsek9pQXlJSDBwTG5SdlVtVnNZWFJwZG1Vb2V5QjFibWwwT2lCY0ltaHZkWEp6WENJZ2ZTa2dMeTg5UGlCY0lqUTRJR2h2ZFhKeklHRm5iMXdpWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbTV2ZHlncExtMXBiblZ6S0hzZ2FHOTFjbk02SURNMklIMHBMblJ2VW1Wc1lYUnBkbVVvZXlCeWIzVnVaRG9nWm1Gc2MyVWdmU2tnTHk4OVBpQmNJakV1TlNCa1lYbHpJR0ZuYjF3aVhHNGdJQ0FxTDF4dUlDQjBiMUpsYkdGMGFYWmxLRzl3ZEdsdmJuTWdQU0I3ZlNrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCamIyNXpkQ0JpWVhObElEMGdiM0IwYVc5dWN5NWlZWE5sSUh4OElFUmhkR1ZVYVcxbExtWnliMjFQWW1wbFkzUW9lMzBzSUhzZ2VtOXVaVG9nZEdocGN5NTZiMjVsSUgwcExGeHVJQ0FnSUNBZ2NHRmtaR2x1WnlBOUlHOXdkR2x2Ym5NdWNHRmtaR2x1WnlBL0lDaDBhR2x6SUR3Z1ltRnpaU0EvSUMxdmNIUnBiMjV6TG5CaFpHUnBibWNnT2lCdmNIUnBiMjV6TG5CaFpHUnBibWNwSURvZ01EdGNiaUFnSUNCc1pYUWdkVzVwZEhNZ1BTQmJYQ0o1WldGeWMxd2lMQ0JjSW0xdmJuUm9jMXdpTENCY0ltUmhlWE5jSWl3Z1hDSm9iM1Z5YzF3aUxDQmNJbTFwYm5WMFpYTmNJaXdnWENKelpXTnZibVJ6WENKZE8xeHVJQ0FnSUd4bGRDQjFibWwwSUQwZ2IzQjBhVzl1Y3k1MWJtbDBPMXh1SUNBZ0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtHOXdkR2x2Ym5NdWRXNXBkQ2twSUh0Y2JpQWdJQ0FnSUhWdWFYUnpJRDBnYjNCMGFXOXVjeTUxYm1sME8xeHVJQ0FnSUNBZ2RXNXBkQ0E5SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHUnBabVpTWld4aGRHbDJaU2hpWVhObExDQjBhR2x6TG5Cc2RYTW9jR0ZrWkdsdVp5a3NJSHRjYmlBZ0lDQWdJQzR1TG05d2RHbHZibk1zWEc0Z0lDQWdJQ0J1ZFcxbGNtbGpPaUJjSW1Gc2QyRjVjMXdpTEZ4dUlDQWdJQ0FnZFc1cGRITXNYRzRnSUNBZ0lDQjFibWwwTEZ4dUlDQWdJSDBwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ1lTQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaHBjeUJrWVhSbElISmxiR0YwYVhabElIUnZJSFJ2WkdGNUxDQnpkV05vSUdGeklGd2llV1Z6ZEdWeVpHRjVYQ0lnYjNJZ1hDSnVaWGgwSUcxdmJuUm9YQ0l1WEc0Z0lDQXFJRTl1YkhrZ2FXNTBaWEp1WVhScGIyNWhiR2w2WlhNZ2IyNGdjR3hoZEdadmNtMXpJSFJvWVhRZ2MzVndjRzl5ZEhNZ1NXNTBiQzVTWld4aGRHbDJaVlJwYldWR2IzSnRZWFF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJwYjI1eklDMGdiM0IwYVc5dWN5QjBhR0YwSUdGbVptVmpkQ0IwYUdVZ2IzVjBjSFYwWEc0Z0lDQXFJRUJ3WVhKaGJTQjdSR0YwWlZScGJXVjlJRnR2Y0hScGIyNXpMbUpoYzJVOVJHRjBaVlJwYldVdWJtOTNLQ2xkSUMwZ2RHaGxJRVJoZEdWVWFXMWxJSFJ2SUhWelpTQmhjeUIwYUdVZ1ltRnphWE1nZEc4Z2QyaHBZMmdnZEdocGN5QjBhVzFsSUdseklHTnZiWEJoY21Wa0xpQkVaV1poZFd4MGN5QjBieUJ1YjNjdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J2Y0hScGIyNXpMbXh2WTJGc1pTQXRJRzkyWlhKeWFXUmxJSFJvWlNCc2IyTmhiR1VnYjJZZ2RHaHBjeUJFWVhSbFZHbHRaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2IzQjBhVzl1Y3k1MWJtbDBJQzBnZFhObElHRWdjM0JsWTJsbWFXTWdkVzVwZERzZ2FXWWdiMjFwZEhSbFpDd2dkR2hsSUcxbGRHaHZaQ0IzYVd4c0lIQnBZMnNnZEdobElIVnVhWFF1SUZWelpTQnZibVVnYjJZZ1hDSjVaV0Z5YzF3aUxDQmNJbkYxWVhKMFpYSnpYQ0lzSUZ3aWJXOXVkR2h6WENJc0lGd2lkMlZsYTNOY0lpd2diM0lnWENKa1lYbHpYQ0pjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHOXdkR2x2Ym5NdWJuVnRZbVZ5YVc1blUzbHpkR1Z0SUMwZ2IzWmxjbkpwWkdVZ2RHaGxJRzUxYldKbGNtbHVaMU41YzNSbGJTQnZaaUIwYUdseklFUmhkR1ZVYVcxbExpQlVhR1VnU1c1MGJDQnplWE4wWlcwZ2JXRjVJR05vYjI5elpTQnViM1FnZEc4Z2FHOXViM0lnZEdocGMxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzV3YkhWektIc2daR0Y1Y3pvZ01TQjlLUzUwYjFKbGJHRjBhWFpsUTJGc1pXNWtZWElvS1NBdkx6MCtJRndpZEc5dGIzSnliM2RjSWx4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNXpaWFJNYjJOaGJHVW9YQ0psYzF3aUtTNXdiSFZ6S0hzZ1pHRjVjem9nTVNCOUtTNTBiMUpsYkdGMGFYWmxLQ2tnTHk4OVBpQmNJbHdpYldGY2RUQXdSakZoYm1GY0lseHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzV3YkhWektIc2daR0Y1Y3pvZ01TQjlLUzUwYjFKbGJHRjBhWFpsUTJGc1pXNWtZWElvZXlCc2IyTmhiR1U2SUZ3aVpuSmNJaUI5S1NBdkx6MCtJRndpWkdWdFlXbHVYQ0pjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWJXbHVkWE1vZXlCa1lYbHpPaUF5SUgwcExuUnZVbVZzWVhScGRtVkRZV3hsYm1SaGNpZ3BJQzh2UFQ0Z1hDSXlJR1JoZVhNZ1lXZHZYQ0pjYmlBZ0lDb3ZYRzRnSUhSdlVtVnNZWFJwZG1WRFlXeGxibVJoY2lodmNIUnBiMjV6SUQwZ2UzMHBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdaR2xtWmxKbGJHRjBhWFpsS0c5d2RHbHZibk11WW1GelpTQjhmQ0JFWVhSbFZHbHRaUzVtY205dFQySnFaV04wS0h0OUxDQjdJSHB2Ym1VNklIUm9hWE11ZW05dVpTQjlLU3dnZEdocGN5d2dlMXh1SUNBZ0lDQWdMaTR1YjNCMGFXOXVjeXhjYmlBZ0lDQWdJRzUxYldWeWFXTTZJRndpWVhWMGIxd2lMRnh1SUNBZ0lDQWdkVzVwZEhNNklGdGNJbmxsWVhKelhDSXNJRndpYlc5dWRHaHpYQ0lzSUZ3aVpHRjVjMXdpWFN4Y2JpQWdJQ0FnSUdOaGJHVnVaR0Z5ZVRvZ2RISjFaU3hjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnZEdobElHMXBiaUJ2WmlCelpYWmxjbUZzSUdSaGRHVWdkR2x0WlhOY2JpQWdJQ29nUUhCaGNtRnRJSHN1TGk1RVlYUmxWR2x0WlgwZ1pHRjBaVlJwYldWeklDMGdkR2hsSUVSaGRHVlVhVzFsY3lCbWNtOXRJSGRvYVdOb0lIUnZJR05vYjI5elpTQjBhR1VnYldsdWFXMTFiVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVZWFJsVkdsdFpYMGdkR2hsSUcxcGJpQkVZWFJsVkdsdFpTd2diM0lnZFc1a1pXWnBibVZrSUdsbUlHTmhiR3hsWkNCM2FYUm9JRzV2SUdGeVozVnRaVzUwWEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYldsdUtDNHVMbVJoZEdWVWFXMWxjeWtnZTF4dUlDQWdJR2xtSUNnaFpHRjBaVlJwYldWekxtVjJaWEo1S0VSaGRHVlVhVzFsTG1selJHRjBaVlJwYldVcEtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUyWVd4cFpFRnlaM1Z0Wlc1MFJYSnliM0lvWENKdGFXNGdjbVZ4ZFdseVpYTWdZV3hzSUdGeVozVnRaVzUwY3lCaVpTQkVZWFJsVkdsdFpYTmNJaWs3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCaVpYTjBRbmtvWkdGMFpWUnBiV1Z6TENBb2FTa2dQVDRnYVM1MllXeDFaVTltS0Nrc0lFMWhkR2d1YldsdUtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUcxaGVDQnZaaUJ6WlhabGNtRnNJR1JoZEdVZ2RHbHRaWE5jYmlBZ0lDb2dRSEJoY21GdElIc3VMaTVFWVhSbFZHbHRaWDBnWkdGMFpWUnBiV1Z6SUMwZ2RHaGxJRVJoZEdWVWFXMWxjeUJtY205dElIZG9hV05vSUhSdklHTm9iMjl6WlNCMGFHVWdiV0Y0YVcxMWJWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0RVlYUmxWR2x0WlgwZ2RHaGxJRzFoZUNCRVlYUmxWR2x0WlN3Z2IzSWdkVzVrWldacGJtVmtJR2xtSUdOaGJHeGxaQ0IzYVhSb0lHNXZJR0Z5WjNWdFpXNTBYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdiV0Y0S0M0dUxtUmhkR1ZVYVcxbGN5a2dlMXh1SUNBZ0lHbG1JQ2doWkdGMFpWUnBiV1Z6TG1WMlpYSjVLRVJoZEdWVWFXMWxMbWx6UkdGMFpWUnBiV1VwS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTJZV3hwWkVGeVozVnRaVzUwUlhKeWIzSW9YQ0p0WVhnZ2NtVnhkV2x5WlhNZ1lXeHNJR0Z5WjNWdFpXNTBjeUJpWlNCRVlYUmxWR2x0WlhOY0lpazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJpWlhOMFFua29aR0YwWlZScGJXVnpMQ0FvYVNrZ1BUNGdhUzUyWVd4MVpVOW1LQ2tzSUUxaGRHZ3ViV0Y0S1R0Y2JpQWdmVnh1WEc0Z0lDOHZJRTFKVTBOY2JseHVJQ0F2S2lwY2JpQWdJQ29nUlhod2JHRnBiaUJvYjNjZ1lTQnpkSEpwYm1jZ2QyOTFiR1FnWW1VZ2NHRnljMlZrSUdKNUlHWnliMjFHYjNKdFlYUW9LVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RHVjRkQ0F0SUhSb1pTQnpkSEpwYm1jZ2RHOGdjR0Z5YzJWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJR1p0ZENBdElIUm9aU0JtYjNKdFlYUWdkR2hsSUhOMGNtbHVaeUJwY3lCbGVIQmxZM1JsWkNCMGJ5QmlaU0JwYmlBb2MyVmxJR1JsYzJOeWFYQjBhVzl1S1Z4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwYVc5dWN5QXRJRzl3ZEdsdmJuTWdkR0ZyWlc0Z1lua2dabkp2YlVadmNtMWhkQ2dwWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMDlpYW1WamRIMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm1jbTl0Um05eWJXRjBSWGh3YkdGcGJpaDBaWGgwTENCbWJYUXNJRzl3ZEdsdmJuTWdQU0I3ZlNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkc5allXeGxJRDBnYm5Wc2JDd2diblZ0WW1WeWFXNW5VM2x6ZEdWdElEMGdiblZzYkNCOUlEMGdiM0IwYVc5dWN5eGNiaUFnSUNBZ0lHeHZZMkZzWlZSdlZYTmxJRDBnVEc5allXeGxMbVp5YjIxUGNIUnpLSHRjYmlBZ0lDQWdJQ0FnYkc5allXeGxMRnh1SUNBZ0lDQWdJQ0J1ZFcxaVpYSnBibWRUZVhOMFpXMHNYRzRnSUNBZ0lDQWdJR1JsWm1GMWJIUlViMFZPT2lCMGNuVmxMRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdjbVYwZFhKdUlHVjRjR3hoYVc1R2NtOXRWRzlyWlc1ektHeHZZMkZzWlZSdlZYTmxMQ0IwWlhoMExDQm1iWFFwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWEJ5WldOaGRHVmtJSFZ6WlNCbWNtOXRSbTl5YldGMFJYaHdiR0ZwYmlCcGJuTjBaV0ZrWEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nWm5KdmJWTjBjbWx1WjBWNGNHeGhhVzRvZEdWNGRDd2dabTEwTENCdmNIUnBiMjV6SUQwZ2UzMHBJSHRjYmlBZ0lDQnlaWFIxY200Z1JHRjBaVlJwYldVdVpuSnZiVVp2Y20xaGRFVjRjR3hoYVc0b2RHVjRkQ3dnWm0xMExDQnZjSFJwYjI1ektUdGNiaUFnZlZ4dVhHNGdJQzh2SUVaUFVrMUJWQ0JRVWtWVFJWUlRYRzVjYmlBZ0x5b3FYRzRnSUNBcUlIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIweHZZMkZzWlZOMGNtbHVaMzBnWm05eWJXRjBJR3hwYTJVZ01UQXZNVFF2TVRrNE0xeHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCRVFWUkZYMU5JVDFKVUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCR2IzSnRZWFJ6TGtSQlZFVmZVMGhQVWxRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkzUnZURzlqWVd4bFUzUnlhVzVuZlNCbWIzSnRZWFFnYkdsclpTQW5UMk4wSURFMExDQXhPVGd6SjF4dUlDQWdLaUJBZEhsd1pTQjdUMkpxWldOMGZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHZGxkQ0JFUVZSRlgwMUZSQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdSbTl5YldGMGN5NUVRVlJGWDAxRlJEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUI3UUd4cGJtc2dSR0YwWlZScGJXVWpkRzlNYjJOaGJHVlRkSEpwYm1kOUlHWnZjbTFoZENCc2FXdGxJQ2RHY21rc0lFOWpkQ0F4TkN3Z01UazRNeWRjYmlBZ0lDb2dRSFI1Y0dVZ2UwOWlhbVZqZEgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdSRUZVUlY5TlJVUmZWMGxVU0Y5WFJVVkxSRUZaS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJHYjNKdFlYUnpMa1JCVkVWZlRVVkVYMWRKVkVoZlYwVkZTMFJCV1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQjdRR3hwYm1zZ1JHRjBaVlJwYldVamRHOU1iMk5oYkdWVGRISnBibWQ5SUdadmNtMWhkQ0JzYVd0bElDZFBZM1J2WW1WeUlERTBMQ0F4T1RnekoxeHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCRVFWUkZYMFpWVEV3b0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUVadmNtMWhkSE11UkVGVVJWOUdWVXhNTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIweHZZMkZzWlZOMGNtbHVaMzBnWm05eWJXRjBJR3hwYTJVZ0oxUjFaWE5rWVhrc0lFOWpkRzlpWlhJZ01UUXNJREU1T0RNblhHNGdJQ0FxSUVCMGVYQmxJSHRQWW1wbFkzUjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaMlYwSUVSQlZFVmZTRlZIUlNncElIdGNiaUFnSUNCeVpYUjFjbTRnUm05eWJXRjBjeTVFUVZSRlgwaFZSMFU3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTNSdlRHOWpZV3hsVTNSeWFXNW5mU0JtYjNKdFlYUWdiR2xyWlNBbk1EazZNekFnUVUwbkxpQlBibXg1SURFeUxXaHZkWElnYVdZZ2RHaGxJR3h2WTJGc1pTQnBjeTVjYmlBZ0lDb2dRSFI1Y0dVZ2UwOWlhbVZqZEgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdWRWxOUlY5VFNVMVFURVVvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRVp2Y20xaGRITXVWRWxOUlY5VFNVMVFURVU3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTNSdlRHOWpZV3hsVTNSeWFXNW5mU0JtYjNKdFlYUWdiR2xyWlNBbk1EazZNekE2TWpNZ1FVMG5MaUJQYm14NUlERXlMV2h2ZFhJZ2FXWWdkR2hsSUd4dlkyRnNaU0JwY3k1Y2JpQWdJQ29nUUhSNWNHVWdlMDlpYW1WamRIMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnVkVsTlJWOVhTVlJJWDFORlEwOU9SRk1vS1NCN1hHNGdJQ0FnY21WMGRYSnVJRVp2Y20xaGRITXVWRWxOUlY5WFNWUklYMU5GUTA5T1JGTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nZTBCc2FXNXJJRVJoZEdWVWFXMWxJM1J2VEc5allXeGxVM1J5YVc1bmZTQm1iM0p0WVhRZ2JHbHJaU0FuTURrNk16QTZNak1nUVUwZ1JVUlVKeTRnVDI1c2VTQXhNaTFvYjNWeUlHbG1JSFJvWlNCc2IyTmhiR1VnYVhNdVhHNGdJQ0FxSUVCMGVYQmxJSHRQWW1wbFkzUjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaMlYwSUZSSlRVVmZWMGxVU0Y5VFNFOVNWRjlQUmtaVFJWUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFWnZjbTFoZEhNdVZFbE5SVjlYU1ZSSVgxTklUMUpVWDA5R1JsTkZWRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCN1FHeHBibXNnUkdGMFpWUnBiV1VqZEc5TWIyTmhiR1ZUZEhKcGJtZDlJR1p2Y20xaGRDQnNhV3RsSUNjd09Ub3pNRG95TXlCQlRTQkZZWE4wWlhKdUlFUmhlV3hwWjJoMElGUnBiV1VuTGlCUGJteDVJREV5TFdodmRYSWdhV1lnZEdobElHeHZZMkZzWlNCcGN5NWNiaUFnSUNvZ1FIUjVjR1VnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1ZFbE5SVjlYU1ZSSVgweFBUa2RmVDBaR1UwVlVLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQkdiM0p0WVhSekxsUkpUVVZmVjBsVVNGOU1UMDVIWDA5R1JsTkZWRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCN1FHeHBibXNnUkdGMFpWUnBiV1VqZEc5TWIyTmhiR1ZUZEhKcGJtZDlJR1p2Y20xaGRDQnNhV3RsSUNjd09Ub3pNQ2NzSUdGc2QyRjVjeUF5TkMxb2IzVnlMbHh1SUNBZ0tpQkFkSGx3WlNCN1QySnFaV04wZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdkbGRDQlVTVTFGWHpJMFgxTkpUVkJNUlNncElIdGNiaUFnSUNCeVpYUjFjbTRnUm05eWJXRjBjeTVVU1UxRlh6STBYMU5KVFZCTVJUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUI3UUd4cGJtc2dSR0YwWlZScGJXVWpkRzlNYjJOaGJHVlRkSEpwYm1kOUlHWnZjbTFoZENCc2FXdGxJQ2N3T1Rvek1Eb3lNeWNzSUdGc2QyRjVjeUF5TkMxb2IzVnlMbHh1SUNBZ0tpQkFkSGx3WlNCN1QySnFaV04wZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdkbGRDQlVTVTFGWHpJMFgxZEpWRWhmVTBWRFQwNUVVeWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdSbTl5YldGMGN5NVVTVTFGWHpJMFgxZEpWRWhmVTBWRFQwNUVVenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCN1FHeHBibXNnUkdGMFpWUnBiV1VqZEc5TWIyTmhiR1ZUZEhKcGJtZDlJR1p2Y20xaGRDQnNhV3RsSUNjd09Ub3pNRG95TXlCRlJGUW5MQ0JoYkhkaGVYTWdNalF0YUc5MWNpNWNiaUFnSUNvZ1FIUjVjR1VnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1ZFbE5SVjh5TkY5WFNWUklYMU5JVDFKVVgwOUdSbE5GVkNncElIdGNiaUFnSUNCeVpYUjFjbTRnUm05eWJXRjBjeTVVU1UxRlh6STBYMWRKVkVoZlUwaFBVbFJmVDBaR1UwVlVPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNaVk4wY21sdVozMGdabTl5YldGMElHeHBhMlVnSnpBNU9qTXdPakl6SUVWaGMzUmxjbTRnUkdGNWJHbG5hSFFnVkdsdFpTY3NJR0ZzZDJGNWN5QXlOQzFvYjNWeUxseHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCVVNVMUZYekkwWDFkSlZFaGZURTlPUjE5UFJrWlRSVlFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRVp2Y20xaGRITXVWRWxOUlY4eU5GOVhTVlJJWDB4UFRrZGZUMFpHVTBWVU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHh2WTJGc1pWTjBjbWx1WjMwZ1ptOXliV0YwSUd4cGEyVWdKekV3THpFMEx6RTVPRE1zSURrNk16QWdRVTBuTGlCUGJteDVJREV5TFdodmRYSWdhV1lnZEdobElHeHZZMkZzWlNCcGN5NWNiaUFnSUNvZ1FIUjVjR1VnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1JFRlVSVlJKVFVWZlUwaFBVbFFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRVp2Y20xaGRITXVSRUZVUlZSSlRVVmZVMGhQVWxRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkzUnZURzlqWVd4bFUzUnlhVzVuZlNCbWIzSnRZWFFnYkdsclpTQW5NVEF2TVRRdk1UazRNeXdnT1Rvek1Eb3pNeUJCVFNjdUlFOXViSGtnTVRJdGFHOTFjaUJwWmlCMGFHVWdiRzlqWVd4bElHbHpMbHh1SUNBZ0tpQkFkSGx3WlNCN1QySnFaV04wZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdkbGRDQkVRVlJGVkVsTlJWOVRTRTlTVkY5WFNWUklYMU5GUTA5T1JGTW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlUwaFBVbFJmVjBsVVNGOVRSVU5QVGtSVE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHh2WTJGc1pWTjBjbWx1WjMwZ1ptOXliV0YwSUd4cGEyVWdKMDlqZENBeE5Dd2dNVGs0TXl3Z09Ub3pNQ0JCVFNjdUlFOXViSGtnTVRJdGFHOTFjaUJwWmlCMGFHVWdiRzlqWVd4bElHbHpMbHh1SUNBZ0tpQkFkSGx3WlNCN1QySnFaV04wZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdkbGRDQkVRVlJGVkVsTlJWOU5SVVFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRVp2Y20xaGRITXVSRUZVUlZSSlRVVmZUVVZFTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIweHZZMkZzWlZOMGNtbHVaMzBnWm05eWJXRjBJR3hwYTJVZ0owOWpkQ0F4TkN3Z01UazRNeXdnT1Rvek1Eb3pNeUJCVFNjdUlFOXViSGtnTVRJdGFHOTFjaUJwWmlCMGFHVWdiRzlqWVd4bElHbHpMbHh1SUNBZ0tpQkFkSGx3WlNCN1QySnFaV04wZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdkbGRDQkVRVlJGVkVsTlJWOU5SVVJmVjBsVVNGOVRSVU5QVGtSVEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCR2IzSnRZWFJ6TGtSQlZFVlVTVTFGWDAxRlJGOVhTVlJJWDFORlEwOU9SRk03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTNSdlRHOWpZV3hsVTNSeWFXNW5mU0JtYjNKdFlYUWdiR2xyWlNBblJuSnBMQ0F4TkNCUFkzUWdNVGs0TXl3Z09Ub3pNQ0JCVFNjdUlFOXViSGtnTVRJdGFHOTFjaUJwWmlCMGFHVWdiRzlqWVd4bElHbHpMbHh1SUNBZ0tpQkFkSGx3WlNCN1QySnFaV04wZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdkbGRDQkVRVlJGVkVsTlJWOU5SVVJmVjBsVVNGOVhSVVZMUkVGWktDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCR2IzSnRZWFJ6TGtSQlZFVlVTVTFGWDAxRlJGOVhTVlJJWDFkRlJVdEVRVms3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTNSdlRHOWpZV3hsVTNSeWFXNW5mU0JtYjNKdFlYUWdiR2xyWlNBblQyTjBiMkpsY2lBeE5Dd2dNVGs0TXl3Z09Ub3pNQ0JCVFNCRlJGUW5MaUJQYm14NUlERXlMV2h2ZFhJZ2FXWWdkR2hsSUd4dlkyRnNaU0JwY3k1Y2JpQWdJQ29nUUhSNWNHVWdlMDlpYW1WamRIMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnUkVGVVJWUkpUVVZmUmxWTVRDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1JtOXliV0YwY3k1RVFWUkZWRWxOUlY5R1ZVeE1PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNaVk4wY21sdVozMGdabTl5YldGMElHeHBhMlVnSjA5amRHOWlaWElnTVRRc0lERTVPRE1zSURrNk16QTZNek1nUVUwZ1JVUlVKeTRnVDI1c2VTQXhNaTFvYjNWeUlHbG1JSFJvWlNCc2IyTmhiR1VnYVhNdVhHNGdJQ0FxSUVCMGVYQmxJSHRQWW1wbFkzUjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaMlYwSUVSQlZFVlVTVTFGWDBaVlRFeGZWMGxVU0Y5VFJVTlBUa1JUS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJHYjNKdFlYUnpMa1JCVkVWVVNVMUZYMFpWVEV4ZlYwbFVTRjlUUlVOUFRrUlRPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNaVk4wY21sdVozMGdabTl5YldGMElHeHBhMlVnSjBaeWFXUmhlU3dnVDJOMGIySmxjaUF4TkN3Z01UazRNeXdnT1Rvek1DQkJUU0JGWVhOMFpYSnVJRVJoZVd4cFoyaDBJRlJwYldVbkxpQlBibXg1SURFeUxXaHZkWElnYVdZZ2RHaGxJR3h2WTJGc1pTQnBjeTVjYmlBZ0lDb2dRSFI1Y0dVZ2UwOWlhbVZqZEgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdSRUZVUlZSSlRVVmZTRlZIUlNncElIdGNiaUFnSUNCeVpYUjFjbTRnUm05eWJXRjBjeTVFUVZSRlZFbE5SVjlJVlVkRk8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHh2WTJGc1pWTjBjbWx1WjMwZ1ptOXliV0YwSUd4cGEyVWdKMFp5YVdSaGVTd2dUMk4wYjJKbGNpQXhOQ3dnTVRrNE15d2dPVG96TURvek15QkJUU0JGWVhOMFpYSnVJRVJoZVd4cFoyaDBJRlJwYldVbkxpQlBibXg1SURFeUxXaHZkWElnYVdZZ2RHaGxJR3h2WTJGc1pTQnBjeTVjYmlBZ0lDb2dRSFI1Y0dVZ2UwOWlhbVZqZEgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdSRUZVUlZSSlRVVmZTRlZIUlY5WFNWUklYMU5GUTA5T1JGTW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlNGVkhSVjlYU1ZSSVgxTkZRMDlPUkZNN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWm5KcFpXNWtiSGxFWVhSbFZHbHRaU2hrWVhSbFZHbHRaV2x6YUNrZ2UxeHVJQ0JwWmlBb1JHRjBaVlJwYldVdWFYTkVZWFJsVkdsdFpTaGtZWFJsVkdsdFpXbHphQ2twSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaR0YwWlZScGJXVnBjMmc3WEc0Z0lIMGdaV3h6WlNCcFppQW9aR0YwWlZScGJXVnBjMmdnSmlZZ1pHRjBaVlJwYldWcGMyZ3VkbUZzZFdWUFppQW1KaUJwYzA1MWJXSmxjaWhrWVhSbFZHbHRaV2x6YUM1MllXeDFaVTltS0NrcEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUVSaGRHVlVhVzFsTG1aeWIyMUtVMFJoZEdVb1pHRjBaVlJwYldWcGMyZ3BPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHUmhkR1ZVYVcxbGFYTm9JQ1ltSUhSNWNHVnZaaUJrWVhSbFZHbHRaV2x6YUNBOVBUMGdYQ0p2WW1wbFkzUmNJaWtnZTF4dUlDQWdJSEpsZEhWeWJpQkVZWFJsVkdsdFpTNW1jbTl0VDJKcVpXTjBLR1JoZEdWVWFXMWxhWE5vS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1NXNTJZV3hwWkVGeVozVnRaVzUwUlhKeWIzSW9YRzRnSUNBZ0lDQmdWVzVyYm05M2JpQmtZWFJsZEdsdFpTQmhjbWQxYldWdWREb2dKSHRrWVhSbFZHbHRaV2x6YUgwc0lHOW1JSFI1Y0dVZ0pIdDBlWEJsYjJZZ1pHRjBaVlJwYldWcGMyaDlZRnh1SUNBZ0lDazdYRzRnSUgxY2JuMWNiaUlzSUNKcGJYQnZjblFnZXlCRVlYUmxWR2x0WlN3Z1JIVnlZWFJwYjI0Z2ZTQm1jbTl0SUZ3aWJIVjRiMjVjSWp0Y2JtbHRjRzl5ZENBcUlHRnpJRkFnWm5KdmJTQmNJbkJoY25OcGJXMXZibHdpTzF4dWFXMXdiM0owSUdWdGIycHBVbVZuWlhnZ1puSnZiU0JjSW1WdGIycHBMWEpsWjJWNFhDSTdYRzVwYlhCdmNuUWdleUJNYVc1cklIMGdabkp2YlNCY0ltVjRjSEpsYzNOcGIyNHZiR2x1YTF3aU8xeHVYRzR2S2lvZ1ZHVnpkQzFsYm5acGNtOXViV1Z1ZEMxbWNtbGxibVJzZVNCbWRXNWpkR2x2YmlCM2FHbGphQ0JtWlhSamFHVnpJSFJvWlNCamRYSnlaVzUwSUhONWMzUmxiU0JzYjJOaGJHVXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTNWeWNtVnVkRXh2WTJGc1pTZ3BPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdkMmx1Wkc5M0lEMDlQU0JjSW5WdVpHVm1hVzVsWkZ3aUtTQnlaWFIxY200Z1hDSmxiaTFWVTF3aU8xeHVJQ0FnSUhKbGRIVnliaUIzYVc1a2IzY3VibUYyYVdkaGRHOXlMbXhoYm1kMVlXZGxPMXh1ZlZ4dVhHNHZMeUJFWVhSbEwxUnBiV1VnVW1WdVpHVnlhVzVuWEc1Y2JpOHFLaUJPYjNKdFlXeHBlbVVnWVNCa2RYSmhkR2x2YmlCMGJ5QmhiR3dnYjJZZ2RHaGxJSEJ5YjNCbGNpQjFibWwwY3k0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVkVkWEpoZEdsdmJpaGtkWEk2SUVSMWNtRjBhVzl1S1NCN1hHNGdJQ0FnYVdZZ0tHUjFjaUE5UFQwZ2RXNWtaV1pwYm1Wa0lIeDhJR1IxY2lBOVBUMGdiblZzYkNrZ2NtVjBkWEp1SUdSMWNqdGNibHh1SUNBZ0lISmxkSFZ5YmlCa2RYSXVjMmhwWm5SVWJ5aGNJbmxsWVhKelhDSXNJRndpYlc5dWRHaHpYQ0lzSUZ3aWQyVmxhM05jSWl3Z1hDSmtZWGx6WENJc0lGd2lhRzkxY25OY0lpd2dYQ0p0YVc1MWRHVnpYQ0lzSUZ3aWMyVmpiMjVrYzF3aUxDQmNJbTFwYkd4cGMyVmpiMjVrYzF3aUtTNXViM0p0WVd4cGVtVW9LVHRjYm4xY2JseHVMeW9xSUZOMGNtbHdJSFJvWlNCMGFXMWxJR052YlhCdmJtVnVkSE1nYjJZZ1lTQmtZWFJsSUhScGJXVWdiMkpxWldOMExpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE4wY21sd1ZHbHRaU2hrZERvZ1JHRjBaVlJwYldVcE9pQkVZWFJsVkdsdFpTQjdYRzRnSUNBZ2FXWWdLR1IwSUQwOVBTQnVkV3hzSUh4OElHUjBJRDA5UFNCMWJtUmxabWx1WldRcElISmxkSFZ5YmlCa2REdGNibHh1SUNBZ0lISmxkSFZ5YmlCRVlYUmxWR2x0WlM1bWNtOXRUMkpxWldOMEtIdGNiaUFnSUNBZ0lDQWdlV1ZoY2pvZ1pIUXVlV1ZoY2l4Y2JpQWdJQ0FnSUNBZ2JXOXVkR2c2SUdSMExtMXZiblJvTEZ4dUlDQWdJQ0FnSUNCa1lYazZJR1IwTG1SaGVTeGNiaUFnSUNCOUtUdGNibjFjYmx4dUx5b3FJRlJ5ZVNCMGJ5QmxlSFJ5WVdOMElHRWdXVmxaV1UxTlJFUWdaR0YwWlNCbWNtOXRJR0VnYzNSeWFXNW5MaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWNGRISmhZM1JFWVhSbEtITjBjam9nYzNSeWFXNW5LVG9nUkdGMFpWUnBiV1VnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUd4bGRDQmtZWFJsVFdGMFkyZ2dQU0F2S0Z4Y1pIczBmU2t0S0Z4Y1pIc3lmU2t0S0Z4Y1pIc3lmU2t2TG1WNFpXTW9jM1J5S1R0Y2JpQWdJQ0JwWmlBb0lXUmhkR1ZOWVhSamFDa2daR0YwWlUxaGRHTm9JRDBnTHloY1hHUjdOSDBwS0Z4Y1pIc3lmU2tvWEZ4a2V6SjlLUzh1WlhobFl5aHpkSElwTzF4dUlDQWdJR2xtSUNoa1lYUmxUV0YwWTJncElIdGNiaUFnSUNBZ0lDQWdiR1YwSUhsbFlYSWdQU0JPZFcxaVpYSXVjR0Z5YzJWSmJuUW9aR0YwWlUxaGRHTm9XekZkS1R0Y2JpQWdJQ0FnSUNBZ2JHVjBJRzF2Ym5Sb0lEMGdUblZ0WW1WeUxuQmhjbk5sU1c1MEtHUmhkR1ZOWVhSamFGc3lYU2s3WEc0Z0lDQWdJQ0FnSUd4bGRDQmtZWGtnUFNCT2RXMWlaWEl1Y0dGeWMyVkpiblFvWkdGMFpVMWhkR05vV3pOZEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFUmhkR1ZVYVcxbExtWnliMjFQWW1wbFkzUW9leUI1WldGeUxDQnRiMjUwYUN3Z1pHRjVJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzU5WEc1Y2JpOHFLaUJTWlc1a1pYSWdZU0JFWVhSbFZHbHRaU0JwYmlCaElHMXBibWx0WVd3Z1ptOXliV0YwSUhSdklITmhkbVVnYzNCaFkyVXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY21WdVpHVnlUV2x1YVcxaGJFUmhkR1VvZEdsdFpUb2dSR0YwWlZScGJXVXNJR1JoZEdWR2IzSnRZWFE2SUhOMGNtbHVaeXdnWkdGMFpWUnBiV1ZHYjNKdFlYUTZJSE4wY21sdVp5d2diRzlqWVd4bFB6b2djM1J5YVc1bktUb2djM1J5YVc1bklIdGNiaUFnSUNBdkx5QkpaaUIwYUdWeVpTQnBjeUJ1YnlCeVpXeGxkbUZ1ZENCMGFXMWxJSE53WldOcFptbGxaQ3dnWm1Gc2JDQmlZV05ySUhSdklHcDFjM1FnY21WdVpHVnlhVzVuSUhSb1pTQmtZWFJsTGx4dUlDQWdJR2xtSUNoMGFXMWxMbk5sWTI5dVpDQTlQU0F3SUNZbUlIUnBiV1V1YldsdWRYUmxJRDA5SURBZ0ppWWdkR2x0WlM1b2IzVnlJRDA5SURBcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUnBiV1V1ZEc5TWIyTmhiQ2dwTG5SdlJtOXliV0YwS0dSaGRHVkdiM0p0WVhRc0lIc2diRzlqWVd4bElIMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFXMWxMblJ2VEc5allXd29LUzUwYjBadmNtMWhkQ2hrWVhSbFZHbHRaVVp2Y20xaGRDd2dleUJzYjJOaGJHVWdmU2s3WEc1OVhHNWNiaThxS2lCU1pXNWtaWElnWVNCa2RYSmhkR2x2YmlCcGJpQmhJRzFwYm1sdFlXd2dabTl5YldGMElIUnZJSE5oZG1VZ2MzQmhZMlV1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtVnVaR1Z5VFdsdWFXMWhiRVIxY21GMGFXOXVLR1IxY2pvZ1JIVnlZWFJwYjI0cE9pQnpkSEpwYm1jZ2UxeHVJQ0FnSUdSMWNpQTlJRzV2Y20xaGJHbDZaVVIxY21GMGFXOXVLR1IxY2lrN1hHNWNiaUFnSUNBdkx5QlVUMFJQT2lCTWRYaHZiaUJrYjJWeklHNXZkQ0JvWVhabElHMTFiSFJwTFd4cGJtZDFZV3d2Ykc5allXeGxMV0YzWVhKbElHUjFjbUYwYVc5dUlISmxibVJsY21sdVp5NWNiaUFnSUNCc1pYUWdjbVZ6ZFd4MElEMGdYQ0pjSWp0Y2JpQWdJQ0JwWmlBb1pIVnlMbmxsWVhKektTQnlaWE4xYkhRZ0t6MGdZQ1I3WkhWeUxubGxZWEp6ZlNCNVpXRnljeXdnWUR0Y2JpQWdJQ0JwWmlBb1pIVnlMbTF2Ym5Sb2N5a2djbVZ6ZFd4MElDczlJR0FrZTJSMWNpNXRiMjUwYUhOOUlHMXZiblJvY3l3Z1lEdGNiaUFnSUNCcFppQW9aSFZ5TG5kbFpXdHpLU0J5WlhOMWJIUWdLejBnWUNSN1pIVnlMbmRsWld0emZTQjNaV1ZyY3l3Z1lEdGNiaUFnSUNCcFppQW9aSFZ5TG1SaGVYTXBJSEpsYzNWc2RDQXJQU0JnSkh0a2RYSXVaR0Y1YzMwZ1pHRjVjeXdnWUR0Y2JpQWdJQ0JwWmlBb1pIVnlMbWh2ZFhKektTQnlaWE4xYkhRZ0t6MGdZQ1I3WkhWeUxtaHZkWEp6ZlNCb2IzVnljeXdnWUR0Y2JpQWdJQ0JwWmlBb1pIVnlMbTFwYm5WMFpYTXBJSEpsYzNWc2RDQXJQU0JnSkh0a2RYSXViV2x1ZFhSbGMzMGdiV2x1ZFhSbGN5d2dZRHRjYmlBZ0lDQnBaaUFvWkhWeUxuTmxZMjl1WkhNcElISmxjM1ZzZENBclBTQmdKSHROWVhSb0xuSnZkVzVrS0dSMWNpNXpaV052Ym1SektYMGdjMlZqYjI1a2N5d2dZRHRjYmlBZ0lDQnBaaUFvWkhWeUxtMXBiR3hwYzJWamIyNWtjeWtnY21WemRXeDBJQ3M5SUdBa2UwMWhkR2d1Y205MWJtUW9aSFZ5TG0xcGJHeHBjMlZqYjI1a2N5bDlJRzF6TENCZ08xeHVYRzRnSUNBZ2FXWWdLSEpsYzNWc2RDNWxibVJ6VjJsMGFDaGNJaXdnWENJcEtTQnlaWE4xYkhRZ1BTQnlaWE4xYkhRdWMzVmljM1J5YVc1bktEQXNJSEpsYzNWc2RDNXNaVzVuZEdnZ0xTQXlLVHRjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dWZWeHVYRzR2THlCUVlYUm9JSFYwYVd4cGRHbGxjeTVjYmx4dUx5b3FJRWRsZENCMGFHVWdabTlzWkdWeUlHTnZiblJoYVc1cGJtY2dkR2hsSUdkcGRtVnVJSEJoZEdnZ0tHa3VaUzRzSUd4cGEyVWdZMjl0Y0hWMGFXNW5JQ2R3WVhSb0x5NHVKeWt1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1oyVjBVR0Z5Wlc1MFJtOXNaR1Z5S0hCaGRHZzZJSE4wY21sdVp5azZJSE4wY21sdVp5QjdYRzRnSUNBZ2NtVjBkWEp1SUhCaGRHZ3VjM0JzYVhRb1hDSXZYQ0lwTG5Oc2FXTmxLREFzSUMweEtTNXFiMmx1S0Z3aUwxd2lLVHRjYm4xY2JseHVMeW9xSUVkbGRDQjBhR1VnWm1sc1pTQnVZVzFsSUdadmNpQjBhR1VnWm1sc1pTQnlaV1psY21WdVkyVmtJR2x1SUhSb1pTQm5hWFpsYmlCd1lYUm9MQ0JpZVNCemRISnBjSEJwYm1jZ2RHaGxJSEJoY21WdWRDQm1iMnhrWlhKekxpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVacGJHVk9ZVzFsS0hCaGRHZzZJSE4wY21sdVp5azZJSE4wY21sdVp5QjdYRzRnSUNBZ2NtVjBkWEp1SUhCaGRHZ3VhVzVqYkhWa1pYTW9YQ0l2WENJcElEOGdjR0YwYUM1emRXSnpkSEpwYm1jb2NHRjBhQzVzWVhOMFNXNWtaWGhQWmloY0lpOWNJaWtnS3lBeEtTQTZJSEJoZEdnN1hHNTlYRzVjYmk4cUtpQkhaWFFnZEdobElGd2lkR2wwYkdWY0lpQm1iM0lnWVNCbWFXeGxMQ0JpZVNCemRISnBjSEJwYm1jZ2IzUm9aWElnY0dGeWRITWdiMllnZEdobElIQmhkR2dnWVhNZ2QyVnNiQ0JoY3lCMGFHVWdaWGgwWlc1emFXOXVMaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRFWnBiR1ZVYVhSc1pTaHdZWFJvT2lCemRISnBibWNwT2lCemRISnBibWNnZTF4dUlDQWdJR2xtSUNod1lYUm9MbWx1WTJ4MVpHVnpLRndpTDF3aUtTa2djR0YwYUNBOUlIQmhkR2d1YzNWaWMzUnlhVzVuS0hCaGRHZ3ViR0Z6ZEVsdVpHVjRUMllvWENJdlhDSXBJQ3NnTVNrN1hHNGdJQ0FnYVdZZ0tIQmhkR2d1Wlc1a2MxZHBkR2dvWENJdWJXUmNJaWtwSUhCaGRHZ2dQU0J3WVhSb0xuTjFZbk4wY21sdVp5Z3dMQ0J3WVhSb0xteGxibWQwYUNBdElETXBPMXh1SUNBZ0lISmxkSFZ5YmlCd1lYUm9PMXh1ZlZ4dVhHNHZLaW9nUjJWMElIUm9aU0JsZUhSbGJuTnBiMjRnYjJZZ1lTQm1hV3hsSUdaeWIyMGdkR2hsSUdacGJHVWdjR0YwYUM0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5aWFJGZUhSbGJuTnBiMjRvY0dGMGFEb2djM1J5YVc1bktUb2djM1J5YVc1bklIdGNiaUFnSUNCcFppQW9JWEJoZEdndWFXNWpiSFZrWlhNb1hDSXVYQ0lwS1NCeVpYUjFjbTRnWENKY0lqdGNiaUFnSUNCeVpYUjFjbTRnY0dGMGFDNXpkV0p6ZEhKcGJtY29jR0YwYUM1c1lYTjBTVzVrWlhoUFppaGNJaTVjSWlrZ0t5QXhLVHRjYm4xY2JseHVMeThnVkdGbklHVjRkSEpoWTNScGIyNHVYRzVjYmk4cUtpQlFZWEp6WlNCaGJHd2djM1ZpZEdGbmN5QnZkWFFnYjJZZ2RHaGxJR2RwZG1WdUlIUmhaeTRnU1M1bExpd2dJMmhsYkd4dkwya3ZZVzBnZDI5MWJHUWdlV2xsYkdRZ1d5Tm9aV3hzYnk5cEwyRnRMQ0FqYUdWc2JHOHZhU3dnSTJobGJHeHZYUzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbGVIUnlZV04wVTNWaWRHRm5jeWgwWVdkek9pQnpkSEpwYm1jZ2ZDQkpkR1Z5WVdKc1pUeHpkSEpwYm1jK0tUb2djM1J5YVc1blcxMGdlMXh1SUNBZ0lHeGxkQ0J5WlhOMWJIUWdQU0JiWFR0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0IwWVdjZ2IyWWdkSGx3Wlc5bUlIUmhaM01nUFQwOUlGd2ljM1J5YVc1blhDSWdQeUJiZEdGbmMxMGdPaUIwWVdkektTQjdYRzRnSUNBZ0lDQWdJSEpsYzNWc2RDNXdkWE5vS0hSaFp5azdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaDBZV2N1YVc1amJIVmtaWE1vWENJdlhDSXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBZV2NnUFNCMFlXY3VjM1ZpYzNSeWFXNW5LREFzSUhSaFp5NXNZWE4wU1c1a1pYaFBaaWhjSWk5Y0lpa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5CMWMyZ29kR0ZuS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzU5WEc1Y2JpOHFLaUJUY0d4cGRDQmxZV05vSUdKc2IyTnJJR0Z1WkNCelpXTjBhVzl1SUd4cGJtc2dhVzUwYnlCMGFHVWdiM0pwWjJsdVlXd2diR2x1YXlCaGJtUWdZU0JqYjNKeVpYTndiMjVrYVc1bklHWnBiR1VnYkdsdWF5NGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsZUhSeVlXTjBSbWxzWlV4cGJtdHpLR1ZzYVc1cmN6b2dUR2x1YTF0ZEtUb2dUR2x1YTF0ZElIdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUTZJRXhwYm10YlhTQTlJRnRkTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnYkdsdWF5QnZaaUJsYkdsdWEzTXBJSHRjYmlBZ0lDQWdJQ0FnY21WemRXeDBMbkIxYzJnb2JHbHVheWs3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWm1sc1pVeHBibXNnUFNCc2FXNXJMblJ2Um1sc1pTZ3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2JHbHVheTUwZVhCbElDRTlJRndpWm1sc1pWd2lJQ1ltSUNGeVpYTjFiSFF1Wm1sdVpDZ29aWGhwYzNScGJtY3BJRDArSUdWNGFYTjBhVzVuTG1WeGRXRnNjeWhtYVd4bFRHbHVheWtwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVjSFZ6YUNobWFXeGxUR2x1YXlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dVhHNHZMeUJUZEhKcGJtY2daWE5qWVhCcGJtY2dZVzVrSUdOaGJtOXVhV05oYkdsNllYUnBiMjR1WEc1Y2JpOHFLbHh1SUNvZ1JYTmpZWEJsSUhKbFoyVjRJR05vWVhKaFkzUmxjbk1nYVc0Z1lTQnpkSEpwYm1jdVhHNGdLaUJUWldVZ2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlNtRjJZVk5qY21sd2RDOUhkV2xrWlM5U1pXZDFiR0Z5WDBWNGNISmxjM05wYjI1ekxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWlhOallYQmxVbVZuWlhnb2MzUnlPaUJ6ZEhKcGJtY3BJSHRjYmlBZ0lDQnlaWFIxY200Z2MzUnlMbkpsY0d4aFkyVW9MMXN1S2lzL1hpUjdmU2dwZkZ0Y1hGMWNYRnhjWFM5bkxDQmNJbHhjWEZ3a0psd2lLVHRjYm4xY2JseHVZMjl1YzNRZ1NFVkJSRVZTWDBOQlRrOU9TVU5CVEVsYVJWSTZJRkF1VUdGeWMyVnlQSE4wY21sdVp6NGdQU0JRTG1Gc2RDaGNiaUFnSUNCUUxuSmxaMlY0S0c1bGR5QlNaV2RGZUhBb1pXMXZhbWxTWldkbGVDZ3BMQ0JjSWx3aUtTa3NYRzRnSUNBZ1VDNXlaV2RsZUNndld6QXRPVnhjY0h0TVpYUjBaWEo5WHkxZEt5OTFLU3hjYmlBZ0lDQlFMbmRvYVhSbGMzQmhZMlV1YldGd0tDaGZLU0E5UGlCY0lpQmNJaWtzWEc0Z0lDQWdVQzVoYm5rdWJXRndLQ2hmS1NBOVBpQmNJaUJjSWlsY2JpbGNiaUFnSUNBdWJXRnVlU2dwWEc0Z0lDQWdMbTFoY0Nnb2NtVnpkV3gwS1NBOVBpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRdWFtOXBiaWhjSWx3aUtTNXpjR3hwZENndlhGeHpLeThwTG1wdmFXNG9YQ0lnWENJcExuUnlhVzBvS1R0Y2JpQWdJQ0I5S1R0Y2JseHVMeW9xWEc0Z0tpQk9iM0p0WVd4cGVtVnpJSFJvWlNCMFpYaDBJR2x1SUdFZ2FHVmhaR1Z5SUhSdklHSmxJSE52YldWMGFHbHVaeUIwYUdGMElHbHpJR0ZqZEhWaGJHeDVJR3hwYm10aFlteGxJSFJ2TGlCVWFHbHpJRzFwYldsamMxeHVJQ29nYUc5M0lFOWljMmxrYVdGdUlHUnZaWE1nYVhRbmN5QnViM0p0WVd4cGVtRjBhVzl1TENCamIyeHNZWEJ6YVc1bklISmxjR1ZoZEdWa0lITndZV05sY3lCaGJtUWdjM1J5YVhCd2FXNW5JRzkxZENCamIyNTBjbTlzSUdOb1lYSmhZM1JsY25NdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVZJWldGa1pYSkdiM0pNYVc1cktHaGxZV1JsY2pvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0J5WlhSMWNtNGdTRVZCUkVWU1gwTkJUazlPU1VOQlRFbGFSVkl1ZEhKNVVHRnljMlVvYUdWaFpHVnlLVHRjYm4xY2JseHVMeThnUm1GemRDQmxlSFJ5WVdOMGFXOXVJRzltSUd4cGJtVWdjbUZ1WjJWeklHWnliMjBnYkdGeVoyVWdjR2xsWTJWeklHOW1JSFJsZUhRdVhHNWNiaThxS2lCVmNHUmhkR1VnZEdobElHeHBibVVnY21GdVoyVWdabkp2YlNCYmMzUmhjblFzSUdWdVpDa2dkMmwwYUNCMGFHVWdaMmwyWlc0Z1puVnVZM1JwYjI0dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiR2x1WlZKbGNHeGhZMlVvZEdWNGREb2djM1J5YVc1bkxDQnpkR0Z5ZERvZ2JuVnRZbVZ5TENCbGJtUTZJRzUxYldKbGNpd2dablZ1WXpvZ0tHeHBibVU2SUhOMGNtbHVaeWtnUFQ0Z2MzUnlhVzVuS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0JqYjI1emRDQmJaR0YwWVN3Z2IyWm1jMlYwWFNBOUlHeHBibVZUY0dGdUtIUmxlSFFzSUhOMFlYSjBMQ0JsYm1RcE8xeHVJQ0FnSUdsbUlDZ2hiMlptYzJWMEtTQnlaWFIxY200Z2RHVjRkRHRjYmx4dUlDQWdJSEpsZEhWeWJpQW9YRzRnSUNBZ0lDQWdJR1JoZEdFdWMzVmljM1J5YVc1bktEQXNJRzltWm5ObGRDNXpkR0Z5ZENrZ0t5Qm1kVzVqS0dSaGRHRXVjM1ZpYzNSeWFXNW5LRzltWm5ObGRDNXpkR0Z5ZEN3Z2IyWm1jMlYwTG1WdVpDa3BJQ3NnWkdGMFlTNXpkV0p6ZEhKcGJtY29iMlptYzJWMExtVnVaQ2xjYmlBZ0lDQXBPMXh1ZlZ4dVhHNHZLaW9nUlhoMGNtRmpkQ0IwYUdVZ2JHbHVaWE1nYVc0Z2RHaGxJSEpoYm1kbElGdHpkR0Z5ZEN3Z1pXNWtLU3dnWVhNZ2QyVnNiQ0JoY3lCMGFHVWdZV04wZFdGc0lHOW1abk5sZEhNZ2IyWWdkR2hsSUhOMFlYSjBJR0Z1WkNCbGJtUXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYkdsdVpWTndZVzRvWEc0Z0lDQWdkR1Y0ZERvZ2MzUnlhVzVuTEZ4dUlDQWdJSE4wWVhKME9pQnVkVzFpWlhJc1hHNGdJQ0FnWlc1a09pQnVkVzFpWlhKY2JpazZJRnR6ZEhKcGJtY3NJSHNnYzNSaGNuUTZJRzUxYldKbGNqc2daVzVrT2lCdWRXMWlaWElnZlNCOElIVnVaR1ZtYVc1bFpGMGdlMXh1SUNBZ0lITjBZWEowSUQwZ1RXRjBhQzV0WVhnb2MzUmhjblFzSURBcE8xeHVJQ0FnSUdWdVpDQTlJRTFoZEdndWJXRjRLR1Z1WkN3Z01DazdYRzVjYmlBZ0lDQnBaaUFvYzNSaGNuUWdQajBnWlc1a0tTQnlaWFIxY200Z1cxd2lYQ0lzSUhWdVpHVm1hVzVsWkYwN1hHNWNiaUFnSUNBdkx5QlRkR0Z5ZENCaWVTQm1hVzVrYVc1bklIUm9aU0J6ZEdGeWRHbHVaeUJzYVc1bElHOW1abk5sZEM1Y2JpQWdJQ0JqYjI1emRDQnpkR0Z5ZEU5bVpuTmxkQ0E5SUhOcmFYQk9aWGRzYVc1bGN5aDBaWGgwTENBd0xDQnpkR0Z5ZENrN1hHNGdJQ0FnYVdZZ0tITjBZWEowVDJabWMyVjBJRDA5SUMweEtTQnlaWFIxY200Z1cxd2lYQ0lzSUhWdVpHVm1hVzVsWkYwN1hHNWNiaUFnSUNCamIyNXpkQ0JsYm1SUFptWnpaWFFnUFNCemEybHdUbVYzYkdsdVpYTW9kR1Y0ZEN3Z2MzUmhjblJQWm1aelpYUXNJR1Z1WkNBdElITjBZWEowS1R0Y2JpQWdJQ0JwWmlBb1pXNWtUMlptYzJWMElEMDlJQzB4S1NCeVpYUjFjbTRnVzNSbGVIUXVjM1ZpYzNSeWFXNW5LSE4wWVhKMFQyWm1jMlYwS1N3Z2V5QnpkR0Z5ZERvZ2MzUmhjblJQWm1aelpYUXNJR1Z1WkRvZ2RHVjRkQzVzWlc1bmRHZ2dmVjA3WEc0Z0lDQWdaV3h6WlNCeVpYUjFjbTRnVzNSbGVIUXVjM1ZpYzNSeWFXNW5LSE4wWVhKMFQyWm1jMlYwTENCbGJtUlBabVp6WlhRZ0xTQXhLU3dnZXlCemRHRnlkRG9nYzNSaGNuUlBabVp6WlhRc0lHVnVaRG9nWlc1a1QyWm1jMlYwSUMwZ01TQjlYVHRjYm4xY2JseHVMeW9xSUVWNGRISmhZM1FnZEdobElHeHBibVZ6SUdsdUlIUm9aU0J5WVc1blpTQmJjM1JoY25Rc0lHVnVaQ2t1SUZOMFlYSjBJR2x6SUdsdVkyeDFjMmwyWlN3Z1pXNWtJR2x6SUdWNFkyeDFjMmwyWlM0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnNhVzVsVW1GdVoyVW9kR1Y0ZERvZ2MzUnlhVzVuTENCemRHRnlkRG9nYm5WdFltVnlMQ0JsYm1RNklHNTFiV0psY2lrNklITjBjbWx1WnlCN1hHNGdJQ0FnY21WMGRYSnVJR3hwYm1WVGNHRnVLSFJsZUhRc0lITjBZWEowTENCbGJtUXBXekJkTzF4dWZWeHVYRzR2S2lvZ1UydHBjQ0I3WTI5MWJuUjlJSFJ2ZEdGc0lHNWxkMnhwYm1WekxDQnlaWFIxY201cGJtY2dkR2hsSUhOMFlYSjBJRzltSUhSb1pTQnNhVzVsSUh0amIzVnVkSDBnYkdsdVpYTWdZV1owWlhJZ2RHaGxJR04xY25KbGJuUWdiR2x1WlM0Z1NXWWdZMjkxYm5RZ2FYTWdNQ3dnZEdobElHbHVhWFJwWVd3Z2IyWm1jMlYwSUdseklISmxkSFZ5Ym1Wa0xpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE5yYVhCT1pYZHNhVzVsY3loMFpYaDBPaUJ6ZEhKcGJtY3NJSE4wWVhKME9pQnVkVzFpWlhJc0lHTnZkVzUwT2lCdWRXMWlaWElwT2lCdWRXMWlaWElnZTF4dUlDQWdJR2xtSUNoamIzVnVkQ0E5UFNBd0tTQnlaWFIxY200Z2MzUmhjblE3WEc1Y2JpQWdJQ0JzWlhRZ2NHOXphWFJwYjI0Z1BTQnpkR0Z5ZER0Y2JpQWdJQ0IzYUdsc1pTQW9ZMjkxYm5RZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhCdmMybDBhVzl1SUQwZ2RHVjRkQzVwYm1SbGVFOW1LRndpWEZ4dVhDSXNJSEJ2YzJsMGFXOXVLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIQnZjMmwwYVc5dUlEMDlJQzB4S1NCeVpYUjFjbTRnTFRFN1hHNWNiaUFnSUNBZ0lDQWdZMjkxYm5RdExUdGNiaUFnSUNBZ0lDQWdjRzl6YVhScGIyNGdLejBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjRzl6YVhScGIyNDdYRzU5WEc0aUxDQWlaWGh3YjNKMElHUmxabUYxYkhRZ0tDa2dQVDRnZTF4dVhIUXZMeUJvZEhSd2N6b3ZMMjEwYUhNdVltVXZaVzF2YW1sY2JseDBjbVYwZFhKdUlDOWJJeW93TFRsZFhGeDFSa1V3Umo5Y1hIVXlNRVV6ZkZ0Y1hIaEJPVnhjZUVGRlhGeDFNakF6UTF4Y2RUSXdORGxjWEhVeU1USXlYRngxTWpFek9WeGNkVEl4T1RRdFhGeDFNakU1T1Z4Y2RUSXhRVGxjWEhVeU1VRkJYRngxTWpNeFFWeGNkVEl6TVVKY1hIVXlNekk0WEZ4MU1qTkRSbHhjZFRJelJVUXRYRngxTWpORlJseGNkVEl6UmpGY1hIVXlNMFl5WEZ4MU1qTkdPQzFjWEhVeU0wWkJYRngxTWpSRE1seGNkVEkxUVVGY1hIVXlOVUZDWEZ4MU1qVkNObHhjZFRJMVF6QmNYSFV5TlVaQ1hGeDFNalZHUTF4Y2RUSTFSa1ZjWEhVeU5qQXdMVnhjZFRJMk1EUmNYSFV5TmpCRlhGeDFNall4TVZ4Y2RUSTJNVFJjWEhVeU5qRTFYRngxTWpZeE9GeGNkVEkyTWpCY1hIVXlOakl5WEZ4MU1qWXlNMXhjZFRJMk1qWmNYSFV5TmpKQlhGeDFNall5UlZ4Y2RUSTJNa1pjWEhVeU5qTTRMVnhjZFRJMk0wRmNYSFV5TmpRd1hGeDFNalkwTWx4Y2RUSTJORGd0WEZ4MU1qWTFNMXhjZFRJMk5VWmNYSFV5TmpZd1hGeDFNalkyTTF4Y2RUSTJOalZjWEhVeU5qWTJYRngxTWpZMk9GeGNkVEkyTjBKY1hIVXlOamRGWEZ4MU1qWTNSbHhjZFRJMk9USmNYSFV5TmprMExWeGNkVEkyT1RkY1hIVXlOams1WEZ4MU1qWTVRbHhjZFRJMk9VTmNYSFV5TmtFd1hGeDFNalpCTjF4Y2RUSTJRVUZjWEhVeU5rSXdYRngxTWpaQ01WeGNkVEkyUWtSY1hIVXlOa0pGWEZ4MU1qWkRORnhjZFRJMlF6aGNYSFV5TmtOR1hGeDFNalpFTVZ4Y2RUSTJSVGxjWEhVeU5rWXdMVnhjZFRJMlJqVmNYSFV5TmtZM1hGeDFNalpHT0Z4Y2RUSTJSa0ZjWEhVeU56QXlYRngxTWpjd09GeGNkVEkzTURsY1hIVXlOekJHWEZ4MU1qY3hNbHhjZFRJM01UUmNYSFV5TnpFMlhGeDFNamN4UkZ4Y2RUSTNNakZjWEhVeU56TXpYRngxTWpjek5GeGNkVEkzTkRSY1hIVXlOelEzWEZ4MU1qYzFOMXhjZFRJM05qTmNYSFV5TjBFeFhGeDFNamt6TkZ4Y2RUSTVNelZjWEhVeVFqQTFMVnhjZFRKQ01EZGNYSFV5UWpGQ1hGeDFNa0l4UTF4Y2RUSkNOVFZjWEhVek1ETXdYRngxTXpBelJGeGNkVE15T1RkY1hIVXpNams1WFZ4Y2RVWkZNRVkvZkZ0Y1hIVXlOakZFWEZ4MU1qY3dRMXhjZFRJM01FUmRLRDg2WEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrWmRmRnhjZFVaRk1FWXBQM3hiWEZ4MU1qY3dRVnhjZFRJM01FSmRLRDg2WEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrWmRLVDk4VzF4Y2RUSXpSVGt0WEZ4MU1qTkZRMXhjZFRJelJqQmNYSFV5TTBZelhGeDFNalZHUkZ4Y2RUSTJPVE5jWEhVeU5rRXhYRngxTWpaQlFseGNkVEkyUXpWY1hIVXlOa05GWEZ4MU1qWkVORnhjZFRJMlJVRmNYSFV5TmtaRVhGeDFNamN3TlZ4Y2RUSTNNamhjWEhVeU56UkRYRngxTWpjMFJWeGNkVEkzTlRNdFhGeDFNamMxTlZ4Y2RUSTNPVFV0WEZ4MU1qYzVOMXhjZFRJM1FqQmNYSFV5TjBKR1hGeDFNa0kxTUYxOFhGeDFNalpFTTF4Y2RVWkZNRVkvS0Q4NlhGeDFNakF3UkZ4Y2RVUTRNMFJjWEhWRVEwRTFLVDk4WEZ4MU1qWkdPU2cvT2x4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkdYWHhjWEhWR1JUQkdLVDhvUHpwY1hIVXlNREJFVzF4Y2RUSTJOREJjWEhVeU5qUXlYVnhjZFVaRk1FWS9LVDk4WEZ4MU1qYzJORnhjZFVaRk1FWS9LRDg2WEZ4MU1qQXdSQ2cvT2x4Y2RVUTRNMFJjWEhWRVJESTFmRnhjZFVRNE0wVmNYSFZFUlRjNUtTay9mRnhjZFVRNE0wTW9QenBiWEZ4MVJFTXdORnhjZFVSRU56QmNYSFZFUkRjeFhGeDFSRVEzUlZ4Y2RVUkVOMFpjWEhWRVJUQXlYRngxUkVVek4xeGNkVVJHTWpGY1hIVkVSakkwTFZ4Y2RVUkdNa05jWEhWRVJqTTJYRngxUkVZM1JGeGNkVVJHT1RaY1hIVkVSamszWEZ4MVJFWTVPUzFjWEhWRVJqbENYRngxUkVZNVJWeGNkVVJHT1VaY1hIVkVSa05FWEZ4MVJFWkRSVnhjZFVSR1JEUXRYRngxUkVaRVJseGNkVVJHUmpWY1hIVkVSa1kzWFZ4Y2RVWkZNRVkvZkZ0Y1hIVkVSamcxWEZ4MVJFWkRNbHhjZFVSR1F6ZGRLRDg2WEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrWmRLVDk4VzF4Y2RVUkdRelJjWEhWRVJrTkJYU2cvT2x4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkdYU2svS0Q4NlhGeDFNakF3UkZ0Y1hIVXlOalF3WEZ4MU1qWTBNbDFjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVSa05DWEZ4MVJFWkRRMTBvUHpwY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSbDE4WEZ4MVJrVXdSaWsvS0Q4NlhGeDFNakF3UkZ0Y1hIVXlOalF3WEZ4MU1qWTBNbDFjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVRME5HWEZ4MVJFUTRSVnhjZFVSRU9URXRYRngxUkVRNVFWeGNkVVJGTURGY1hIVkVSVEZCWEZ4MVJFVXlSbHhjZFVSRk16SXRYRngxUkVVek5seGNkVVJGTXpndFhGeDFSRVV6UVZ4Y2RVUkZOVEJjWEhWRVJUVXhYRngxUkVZd01DMWNYSFZFUmpJd1hGeDFSRVl5UkMxY1hIVkVSak0xWEZ4MVJFWXpOeTFjWEhWRVJqUXpYRngxUkVZME5TMWNYSFZFUmpSQlhGeDFSRVkwUXkxY1hIVkVSamREWEZ4MVJFWTNSUzFjWEhWRVJqZzBYRngxUkVZNE5pMWNYSFZFUmprelhGeDFSRVpCTUMxY1hIVkVSa014WEZ4MVJFWkROVnhjZFVSR1F6WmNYSFZFUmtNNFhGeDFSRVpET1Z4Y2RVUkdRMFl0WEZ4MVJFWkVNMXhjZFVSR1JUQXRYRngxUkVaR01GeGNkVVJHUmpndFhGeDFSRVpHUmwxOFhGeDFSRVJGTmx4Y2RVUTRNME5iWEZ4MVJFUkZPQzFjWEhWRVJFVkRYRngxUkVSRlJWeGNkVVJFUmpGY1hIVkVSRVl5WEZ4MVJFUkdORnhjZFVSRVJqWXRYRngxUkVSR1FWeGNkVVJFUmtOY1hIVkVSRVpFWEZ4MVJFUkdSbDE4WEZ4MVJFUkZOMXhjZFVRNE0wTmJYRngxUkVSRk5seGNkVVJFUlRkY1hIVkVSRVU1TFZ4Y2RVUkVSVVpjWEhWRVJFWXhMVnhjZFVSRVJqUmNYSFZFUkVZMkxWeGNkVVJFUmpsY1hIVkVSRVpDWEZ4MVJFUkdRMXhjZFVSRVJrVmNYSFZFUkVaR1hYeGNYSFZFUkVVNFhGeDFSRGd6UTF0Y1hIVkVSRVUyWEZ4MVJFUkZPRnhjZFVSRVJUbGNYSFZFUkVWQ0xWeGNkVVJFUlVWY1hIVkVSRVl3TFZ4Y2RVUkVSamRjWEhWRVJFWkJMVnhjZFVSRVJrWmRmRnhjZFVSRVJUbGNYSFZFT0RORFcxeGNkVVJFUlVGY1hIVkVSRVZEWEZ4MVJFUkZSbHhjZFVSRVJqQmNYSFZFUkVZeVhGeDFSRVJHTkZ4Y2RVUkVSa1pkZkZ4Y2RVUkVSVUZjWEhWRU9ETkRXMXhjZFVSRVJUWmNYSFZFUkVVNFhGeDFSRVJGUVZ4Y2RVUkVSVU5jWEhWRVJFVkVYRngxUkVSR055MWNYSFZFUkVaQlhYeGNYSFZFUkVWQ1hGeDFSRGd6UTF0Y1hIVkVSRVZGTFZ4Y2RVUkVSakJjWEhWRVJFWXlYRngxUkVSR05GeGNkVVJFUmpkZGZGeGNkVVJFUlVOY1hIVkVPRE5EVzF4Y2RVUkVSVFpjWEhWRVJFVTNYRngxUkVSRk9TMWNYSFZFUkVWRlhGeDFSRVJHTVMxY1hIVkVSRVl6WEZ4MVJFUkdOUzFjWEhWRVJFWkJYRngxUkVSR1ExeGNkVVJFUmtWZGZGeGNkVVJFUlVSY1hIVkVPRE5EVzF4Y2RVUkVSakJjWEhWRVJFWXlYRngxUkVSR00xeGNkVVJFUmpkY1hIVkVSRVk1WEZ4MVJFUkdRVjE4WEZ4MVJFUkZSVnhjZFVRNE0wTmJYRngxUkVSRk9DMWNYSFZFUkVWQlhGeDFSRVJHTVMxY1hIVkVSRVkwWEZ4MVJFUkdOaTFjWEhWRVJFWTVYWHhjWEhWRVJFVkdYRngxUkRnelExdGNYSFZFUkVWQlhGeDFSRVJHTWx4Y2RVUkVSalJjWEhWRVJFWTFYWHhjWEhWRVJFWXdYRngxUkRnelExdGNYSFZFUkVWQlhGeDFSRVJGUXkxY1hIVkVSRVZGWEZ4MVJFUkdNbHhjZFVSRVJqTmNYSFZFUkVZMVhGeDFSRVJHTjF4Y2RVUkVSa05jWEhWRVJFWkZYRngxUkVSR1JsMThYRngxUkVSR01WeGNkVVE0TTBOYlhGeDFSRVJGTmkxY1hIVkVSRVU0WEZ4MVJFUkZSVnhjZFVSRVJqQmNYSFZFUkVZM0xWeGNkVVJFUmtKY1hIVkVSRVpGWFh4Y1hIVkVSRVl5WEZ4MVJEZ3pRMXRjWEhWRVJFVTJYRngxUkVSRk9DMWNYSFZFUkVWRVhGeDFSRVJHTUMxY1hIVkVSRVpHWFh4Y1hIVkVSRVl6WEZ4MVJEZ3pRMXRjWEhWRVJFVTJYRngxUkVSRk9GeGNkVVJFUlVFdFhGeDFSRVJGUTF4Y2RVUkVSVVZjWEhWRVJFWXhYRngxUkVSR05GeGNkVVJFUmpWY1hIVkVSRVkzWEZ4MVJFUkdRVnhjZFVSRVJrWmRmRnhjZFVSRVJqUmNYSFZFT0RORFhGeDFSRVJHTW54Y1hIVkVSRVkxWEZ4MVJEZ3pRMXRjWEhWRVJFVTJYRngxUkVSRlFTMWNYSFZFUkVWRVhGeDFSRVJHTUMxY1hIVkVSRVl6WEZ4MVJFUkdOeTFjWEhWRVJFWTVYRngxUkVSR1ExeGNkVVJFUmtWZGZGeGNkVVJFUmpaY1hIVkVPRE5EWEZ4MVJFUkZObnhjWEhWRVJFWTNYRngxUkRnelExdGNYSFZFUkVWQlhGeDFSRVJHTkZ4Y2RVUkVSamhjWEhWRVJFWkJYRngxUkVSR1ExMThYRngxUkVSR09GeGNkVVE0TTBOYlhGeDFSRVJGTmkxY1hIVkVSRVZCWEZ4MVJFUkZReTFjWEhWRVJFWTBYRngxUkVSR055MWNYSFZFUkVZNVhGeDFSRVJHUWx4Y2RVUkVSa1F0WEZ4MVJFUkdSbDE4WEZ4MVJFUkdPVnhjZFVRNE0wTmJYRngxUkVSRk5seGNkVVJFUlRoY1hIVkVSRVU1WEZ4MVJFUkZRaTFjWEhWRVJFVkVYRngxUkVSRlJpMWNYSFZFUkVZMFhGeDFSRVJHTjF4Y2RVUkVSamxjWEhWRVJFWkNYRngxUkVSR1ExeGNkVVJFUmtaZGZGeGNkVVJFUmtGY1hIVkVPRE5EVzF4Y2RVUkVSVFpjWEhWRVJFVkRYRngxUkVSR01seGNkVVJFUmpOY1hIVkVSRVk0WEZ4MVJFUkdSVnhjZFVSRVJrWmRmRnhjZFVSRVJrSmNYSFZFT0RORFcxeGNkVVJFUlRaY1hIVkVSRVU0WEZ4MVJFUkZRVnhjZFVSRVJVTmNYSFZFUkVWRlhGeDFSRVJHTTF4Y2RVUkVSa0ZkZkZ4Y2RVUkVSa05jWEhWRU9ETkRXMXhjZFVSRVJVSmNYSFZFUkVZNFhYeGNYSFZFUkVaRVhGeDFSRGd6UTF4Y2RVUkVSakI4WEZ4MVJFUkdSVnhjZFVRNE0wTmJYRngxUkVSRlFWeGNkVVJFUmpsZGZGeGNkVVJFUmtaY1hIVkVPRE5EVzF4Y2RVUkVSVFpjWEhWRVJFWXlYRngxUkVSR1ExMThYRngxUkVZME5DZy9PbHhjZFRJd01FUmNYSFZFT0RORVhGeDFSRVpGUWlrL2ZGeGNkVVJHTkVJb1B6cGNYSFV5TURCRVhGeDFSRGd6UkZ4Y2RVUkdSVGtwUDN4Y1hIVkVSa016S0Q4NlhGeDFSRGd6UTF0Y1hIVkVSa1pDTFZ4Y2RVUkdSa1pkS1Q4b1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk5EQmNYSFV5TmpReVhWeGNkVVpGTUVZL0tEODZYRngxTWpBd1JGeGNkVEkzUVRGY1hIVkdSVEJHUHlrL2ZGeGNkVEkzUVRGY1hIVkdSVEJHUHlrcFAzeGNYSFZFUmtZelhGeDFSa1V3Umo4b1B6cGNYSFV5TURCRUtEODZYRngxTWpaQk4xeGNkVVpGTUVZL2ZGeGNkVVE0TTBOY1hIVkVSakE0S1NrL2ZGeGNkVVJHUmpRb1B6cGNYSFV5TURCRVhGeDFNall5TUZ4Y2RVWkZNRVkvZkZ4Y2RVUkNOREJjWEhWRVF6WTNYRngxUkVJME1GeGNkVVJETmpKY1hIVkVRalF3S0Q4NlhGeDFSRU0yTlZ4Y2RVUkNOREJjWEhWRVF6WkZYRngxUkVJME1GeGNkVVJETmpkOFhGeDFSRU0zTTF4Y2RVUkNOREJjWEhWRVF6WXpYRngxUkVJME1GeGNkVVJETnpSOFhGeDFSRU0zTjF4Y2RVUkNOREJjWEhWRVF6WkRYRngxUkVJME1GeGNkVVJETnpNcFhGeDFSRUkwTUZ4Y2RVUkROMFlwUHlsOFhGeDFSRGd6UkNnL09sdGNYSFZFUXpOR1hGeDFSRU5HUkZ4Y2RVUkVORGxjWEhWRVJEUkJYRngxUkVRMlJseGNkVVJFTnpCY1hIVkVSRGN6WEZ4MVJFUTNOaTFjWEhWRVJEYzVYRngxUkVRNE4xeGNkVVJFT0VFdFhGeDFSRVE0UkZ4Y2RVUkVRVFZjWEhWRVJFRTRYRngxUkVSQ01WeGNkVVJFUWpKY1hIVkVSRUpEWEZ4MVJFUkRNaTFjWEhWRVJFTTBYRngxUkVSRU1TMWNYSFZFUkVRelhGeDFSRVJFUXkxY1hIVkVSRVJGWEZ4MVJFUkZNVnhjZFVSRVJUTmNYSFZFUkVVNFhGeDFSRVJGUmx4Y2RVUkVSak5jWEhWRVJFWkJYRngxUkVWRFFseGNkVVJGUTBRdFhGeDFSRVZEUmx4Y2RVUkZSVEF0WEZ4MVJFVkZOVnhjZFVSRlJUbGNYSFZFUlVZd1hGeDFSRVZHTTExY1hIVkdSVEJHUDN4YlhGeDFSRU0wTWx4Y2RVUkRORE5jWEhWRVF6UTJMVnhjZFVSRE5UQmNYSFZFUXpZMlhGeDFSRU0yTjF4Y2RVUkROa0l0WEZ4MVJFTTJSRnhjZFVSRE56SmNYSFZFUXpjMExWeGNkVVJETnpaY1hIVkVRemM0WEZ4MVJFTTNRMXhjZFVSRE9ETmNYSFZFUXpnMVhGeDFSRU00Umx4Y2RVUkRPVEZjWEhWRVEwRkJYRngxUkVRM1FWeGNkVVJFT1RWY1hIVkVSRGsyWEZ4MVJFVTBRMXhjZFVSRk5FWmNYSFZFUlVNd1hGeDFSRVZEUTEwb1B6cGNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUmwwcFAzeGJYRngxUkVNMlJWeGNkVVJETnpCY1hIVkVRemN4WEZ4MVJFTTNNMXhjZFVSRE56ZGNYSFZFUXpneFhGeDFSRU00TWx4Y2RVUkRPRFpjWEhWRVF6ZzNYRngxUkVVME5TMWNYSFZFUlRRM1hGeDFSRVUwUWx4Y2RVUkZORVJjWEhWRVJUUkZYRngxUkVWQk0xeGNkVVJGUWpSY1hIVkVSVUkxWFNnL09seGNkVVE0TTBOYlhGeDFSRVpHUWkxY1hIVkVSa1pHWFNrL0tEODZYRngxTWpBd1JGdGNYSFV5TmpRd1hGeDFNalkwTWwxY1hIVkdSVEJHUHlrL2ZGdGNYSFZFUkRjMFhGeDFSRVE1TUYwb1B6cGNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUmwxOFhGeDFSa1V3UmlrL2ZGdGNYSFZFUXpBd0xWeGNkVVJETURkY1hIVkVRekE1TFZ4Y2RVUkRNVFJjWEhWRVF6RTJMVnhjZFVSRE1qVmNYSFZFUXpJM0xWeGNkVVJETTBGY1hIVkVRek5ETFZ4Y2RVUkRNMFZjWEhWRVF6UXdYRngxUkVNME5GeGNkVVJETkRWY1hIVkVRelV4TFZ4Y2RVUkROalZjWEhWRVF6WkJYRngxUkVNM09TMWNYSFZFUXpkQ1hGeDFSRU0zUkMxY1hIVkVRemd3WEZ4MVJFTTRORnhjZFVSRE9EZ3RYRngxUkVNNFJWeGNkVVJET1RCY1hIVkVRemt5TFZ4Y2RVUkRRVGxjWEhWRVEwRkNMVnhjZFVSRFJrTmNYSFZFUTBaR0xWeGNkVVJFTTBSY1hIVkVSRFJDTFZ4Y2RVUkVORVZjWEhWRVJEVXdMVnhjZFVSRU5qZGNYSFZFUkVFMFhGeDFSRVJHUWkxY1hIVkVSVEpFWEZ4MVJFVXlSaTFjWEhWRVJUTTBYRngxUkVVek55MWNYSFZFUlRReFhGeDFSRVUwTTF4Y2RVUkZORFJjWEhWRVJUUTRMVnhjZFVSRk5FRmNYSFZFUlRnd0xWeGNkVVJGUVRKY1hIVkVSVUUwTFZ4Y2RVUkZRak5jWEhWRVJVSTNMVnhjZFVSRlFrWmNYSFZFUlVNeExWeGNkVVJGUXpWY1hIVkVSVVF3TFZ4Y2RVUkZSREpjWEhWRVJVUTFMVnhjZFVSRlJEZGNYSFZFUlVSRExWeGNkVVJGUkVaY1hIVkVSVVZDWEZ4MVJFVkZRMXhjZFVSRlJqUXRYRngxUkVWR1ExeGNkVVJHUlRBdFhGeDFSRVpGUWx4Y2RVUkdSakJkZkZ4Y2RVUkRNRGdvUHpwY1hIVXlNREJFWEZ4MU1rSXhRaWsvZkZ4Y2RVUkRNVFVvUHpwY1hIVXlNREJFWEZ4MVJEZ3pSVnhjZFVSRVFrRXBQM3hjWEhWRVF6STJLRDg2WEZ4MU1qQXdSQ2cvT2x4Y2RUSkNNVUo4WEZ4MVJEZ3pSRnhjZFVSRU1qVXBLVDk4WEZ4MVJFTXpRaWcvT2x4Y2RUSXdNRVJjWEhVeU56UTBYRngxUmtVd1JqOHBQM3hjWEhWRVF6UXhYRngxUmtVd1JqOG9QenBjWEhVeU1EQkVYRngxUkRnelJGeGNkVVJFUlRoY1hIVkdSVEJHUHlrL2ZGeGNkVVJETmpnb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVYRngxUkRnelJDZy9PbHhjZFVSRE9FSmNYSFV5TURCRVhGeDFSRGd6UkNrL1hGeDFSRU0yT0h4Y1hIVkVPRE5EVzF4Y2RVUkdNMFZjWEhWRVJqY3pYRngxUkVZM1ExeGNkVVJHT1ROY1hIVkVSa0UwWEZ4MVJFWkJPRnhjZFVSR1JVSmNYSFZFUmtWRVhYeGNYSFZFT0RORUtEODZXMXhjZFVSRE5qaGNYSFZFUXpZNVhWeGNkVEl3TUVSY1hIVkVPRE5FS0Q4NlhGeDFSRU0yTmlnL09seGNkVEl3TUVSY1hIVkVPRE5FWEZ4MVJFTTJOaWsvZkZ4Y2RVUkROamNvUHpwY1hIVXlNREJFWEZ4MVJEZ3pSRnRjWEhWRVF6WTJYRngxUkVNMk4xMHBQeWw4VzF4Y2RVUkRRa0pjWEhWRVEwSkRYRngxUkVReU4xeGNkVVJFTWtOY1hIVkVSVGd3WEZ4MVJFVTVNbDE4WEZ4MVJFTTJOaWcvT2x4Y2RUSXdNRVJjWEhWRU9ETkVYRngxUkVNMk5pay9mRnhjZFVSRE5qY29QenBjWEhVeU1EQkVYRngxUkRnelJGdGNYSFZFUXpZMlhGeDFSRU0yTjEwcFB5bDhYRngxUkRnelJTZy9PbHRjWEhWRVJFRkdYRngxUkVSQ1ExeGNkVVJFUWtSZEtEODZYRngxTWpBd1JGeGNkVEkzUVRGY1hIVkdSVEJHUHlrL2ZGdGNYSFZFUkVJd0xWeGNkVVJFUWpOZEtTbDhYRngxUkRnelF5Zy9PbHhjZFVSR1JrSW9QenBjWEhVeU1EQkVLRDg2VzF4Y2RUSTJPVFZjWEhVeU5qazJYRngxTWpjd09GMWNYSFZHUlRCR1AzeGNYSFV5TnpZMFhGeDFSa1V3Umo5Y1hIVXlNREJFWEZ4MVJEZ3pSQ2cvT2x4Y2RVUkRPRUpjWEhVeU1EQkVYRngxUkRnelJDay9YRngxUkVNMk9GeGNkVVE0TTBOYlhGeDFSRVpHUWkxY1hIVkVSa1pHWFh4Y1hIVkVPRE5EVzF4Y2RVUkdNMFZjWEhWRVJqY3pYRngxUkVZM1ExeGNkVVJHT1ROY1hIVkVSa0UwWEZ4MVJFWkJPRnhjZFVSR1JVSmNYSFZFUmtWRVhYeGNYSFZFT0RORVcxeGNkVVJEUWtKY1hIVkVRMEpEWEZ4MVJFUXlOMXhjZFVSRU1rTmNYSFZFUlRnd1hGeDFSRVU1TWwxOFhGeDFSRGd6UlNnL09sdGNYSFZFUkVGR1hGeDFSRVJDUTF4Y2RVUkVRa1JkS0Q4NlhGeDFNakF3UkZ4Y2RUSTNRVEZjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVSRUl3TFZ4Y2RVUkVRak5kZkZ4Y2RVUkVNVVJjWEhVeU1EQkVYRngxUkRnelJGeGNkVVJETmpoY1hIVkVPRE5EVzF4Y2RVUkdSa010WEZ4MVJFWkdSbDBwS1NrL2ZGeGNkVVJHUmtNb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVYRngxUkRnelJDZy9PbHhjZFVSRE9FSmNYSFV5TURCRVhGeDFSRGd6UkNrL1hGeDFSRU0yT0Z4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkdYWHhjWEhWRU9ETkRXMXhjZFVSR00wVmNYSFZFUmpjelhGeDFSRVkzUTF4Y2RVUkdPVE5jWEhWRVJrRTBYRngxUkVaQk9GeGNkVVJHUlVKY1hIVkVSa1ZFWFh4Y1hIVkVPRE5FVzF4Y2RVUkRRa0pjWEhWRVEwSkRYRngxUkVReU4xeGNkVVJFTWtOY1hIVkVSVGd3WEZ4MVJFVTVNbDE4WEZ4MVJEZ3pSU2cvT2x0Y1hIVkVSRUZHWEZ4MVJFUkNRMXhjZFVSRVFrUmRLRDg2WEZ4MU1qQXdSRnhjZFRJM1FURmNYSFZHUlRCR1B5ay9mRnRjWEhWRVJFSXdMVnhjZFVSRVFqTmRmRnhjZFVSRU1VUmNYSFV5TURCRVhGeDFSRGd6UkZ4Y2RVUkROamhjWEhWRU9ETkRXMXhjZFVSR1JrSmNYSFZFUmtaRUxWeGNkVVJHUmtaZEtTa3BQM3hjWEhWRVJrWkVLRDg2WEZ4MU1qQXdSQ2cvT2x0Y1hIVXlOamsxWEZ4MU1qWTVObHhjZFRJM01EaGRYRngxUmtVd1JqOThYRngxTWpjMk5GeGNkVVpGTUVZL1hGeDFNakF3UkZ4Y2RVUTRNMFFvUHpwY1hIVkVRemhDWEZ4MU1qQXdSRnhjZFVRNE0wUXBQMXhjZFVSRE5qaGNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUmwxOFhGeDFSRGd6UTF0Y1hIVkVSak5GWEZ4MVJFWTNNMXhjZFVSR04wTmNYSFZFUmprelhGeDFSRVpCTkZ4Y2RVUkdRVGhjWEhWRVJrVkNYRngxUkVaRlJGMThYRngxUkRnelJGdGNYSFZFUTBKQ1hGeDFSRU5DUTF4Y2RVUkVNamRjWEhWRVJESkRYRngxUkVVNE1GeGNkVVJGT1RKZGZGeGNkVVE0TTBVb1B6cGJYRngxUkVSQlJseGNkVVJFUWtOY1hIVkVSRUpFWFNnL09seGNkVEl3TUVSY1hIVXlOMEV4WEZ4MVJrVXdSajhwUDN4YlhGeDFSRVJDTUMxY1hIVkVSRUl6WFh4Y1hIVkVSREZFWEZ4MU1qQXdSRnhjZFVRNE0wUmNYSFZFUXpZNFhGeDFSRGd6UTF0Y1hIVkVSa1pDWEZ4MVJFWkdRMXhjZFVSR1JrVmNYSFZFUmtaR1hTa3BLVDk4WEZ4MVJFWkdSU2cvT2x4Y2RUSXdNRVFvUHpwYlhGeDFNalk1TlZ4Y2RUSTJPVFpjWEhVeU56QTRYVnhjZFVaRk1FWS9mRnhjZFRJM05qUmNYSFZHUlRCR1AxeGNkVEl3TUVSY1hIVkVPRE5FS0Q4NlhGeDFSRU00UWx4Y2RUSXdNRVJjWEhWRU9ETkVLVDljWEhWRVF6WTRYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZGZGeGNkVVE0TTBOYlhGeDFSRVl6UlZ4Y2RVUkdOek5jWEhWRVJqZERYRngxUkVZNU0xeGNkVVJHUVRSY1hIVkVSa0U0WEZ4MVJFWkZRbHhjZFVSR1JVUmRmRnhjZFVRNE0wUmJYRngxUkVOQ1FseGNkVVJEUWtOY1hIVkVSREkzWEZ4MVJFUXlRMXhjZFVSRk9EQmNYSFZFUlRreVhYeGNYSFZFT0RORktEODZXMXhjZFVSRVFVWmNYSFZFUkVKRFhGeDFSRVJDUkYwb1B6cGNYSFV5TURCRVhGeDFNamRCTVZ4Y2RVWkZNRVkvS1Q5OFcxeGNkVVJFUWpBdFhGeDFSRVJDTTExOFhGeDFSRVF4UkZ4Y2RUSXdNRVJjWEhWRU9ETkVYRngxUkVNMk9GeGNkVVE0TTBOYlhGeDFSRVpHUWkxY1hIVkVSa1pFWEZ4MVJFWkdSbDBwS1NrL2ZGeGNkVVJHUmtZb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVYRngxUkRnelJDZy9PbHhjZFVSRE9FSmNYSFV5TURCRVhGeDFSRGd6UkNrL1hGeDFSRU0yT0Z4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkdYWHhjWEhWRU9ETkRXMXhjZFVSR00wVmNYSFZFUmpjelhGeDFSRVkzUTF4Y2RVUkdPVE5jWEhWRVJrRTBYRngxUkVaQk9GeGNkVVJHUlVKY1hIVkVSa1ZFWFh4Y1hIVkVPRE5FVzF4Y2RVUkRRa0pjWEhWRVEwSkRYRngxUkVReU4xeGNkVVJFTWtOY1hIVkVSVGd3WEZ4MVJFVTVNbDE4WEZ4MVJEZ3pSU2cvT2x0Y1hIVkVSRUZHWEZ4MVJFUkNRMXhjZFVSRVFrUmRLRDg2WEZ4MU1qQXdSRnhjZFRJM1FURmNYSFZHUlRCR1B5ay9mRnRjWEhWRVJFSXdMVnhjZFVSRVFqTmRmRnhjZFVSRU1VUmNYSFV5TURCRVhGeDFSRGd6UkZ4Y2RVUkROamhjWEhWRU9ETkRXMXhjZFVSR1JrSXRYRngxUkVaR1JWMHBLU2svS1NrL2ZGeGNkVVJETmprb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVYRngxUkRnelJDZy9PbHhjZFVSRE9FSmNYSFV5TURCRVhGeDFSRGd6UkNrL1cxeGNkVVJETmpoY1hIVkVRelk1WFh4Y1hIVkVPRE5EVzF4Y2RVUkdNMFZjWEhWRVJqY3pYRngxUkVZM1ExeGNkVVJHT1ROY1hIVkVSa0UwWEZ4MVJFWkJPRnhjZFVSR1JVSmNYSFZFUmtWRVhYeGNYSFZFT0RORUtEODZXMXhjZFVSRFFrSmNYSFZFUTBKRFhGeDFSRVF5TjF4Y2RVUkVNa05jWEhWRVJUZ3dYRngxUkVVNU1sMThYRngxUkVNMk5pZy9PbHhjZFRJd01FUmNYSFZFT0RORVhGeDFSRU0yTmlrL2ZGeGNkVVJETmpjb1B6cGNYSFV5TURCRVhGeDFSRGd6UkZ0Y1hIVkVRelkyWEZ4MVJFTTJOMTBwUDN4Y1hIVkVRelk1WEZ4MU1qQXdSRnhjZFVRNE0wUW9QenBjWEhWRVF6WTJLRDg2WEZ4MU1qQXdSRnhjZFVRNE0wUmNYSFZFUXpZMktUOThYRngxUkVNMk55Zy9PbHhjZFRJd01FUmNYSFZFT0RORVcxeGNkVVJETmpaY1hIVkVRelkzWFNrL0tTbDhYRngxUkRnelJTZy9PbHRjWEhWRVJFRkdYRngxUkVSQ1ExeGNkVVJFUWtSZEtEODZYRngxTWpBd1JGeGNkVEkzUVRGY1hIVkdSVEJHUHlrL2ZGdGNYSFZFUkVJd0xWeGNkVVJFUWpOZEtTbDhYRngxUkRnelF5Zy9PbHhjZFVSR1JrSW9QenBjWEhVeU1EQkVLRDg2VzF4Y2RUSTJPVFZjWEhVeU5qazJYRngxTWpjd09GMWNYSFZHUlRCR1AzeGNYSFV5TnpZMFhGeDFSa1V3Umo5Y1hIVXlNREJFWEZ4MVJEZ3pSQ2cvT2x0Y1hIVkVRelk0WEZ4MVJFTTJPVjE4WEZ4MVJFTTRRbHhjZFRJd01FUmNYSFZFT0RORVcxeGNkVVJETmpoY1hIVkVRelk1WFNsY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSbDE4WEZ4MVJEZ3pRMXRjWEhWRVJqTkZYRngxUkVZM00xeGNkVVJHTjBOY1hIVkVSamt6WEZ4MVJFWkJORnhjZFVSR1FUaGNYSFZFUmtWQ1hGeDFSRVpGUkYxOFhGeDFSRGd6UkZ0Y1hIVkVRMEpDWEZ4MVJFTkNRMXhjZFVSRU1qZGNYSFZFUkRKRFhGeDFSRVU0TUZ4Y2RVUkZPVEpkZkZ4Y2RVUTRNMFVvUHpwYlhGeDFSRVJCUmx4Y2RVUkVRa05jWEhWRVJFSkVYU2cvT2x4Y2RUSXdNRVJjWEhVeU4wRXhYRngxUmtVd1JqOHBQM3hiWEZ4MVJFUkNNQzFjWEhWRVJFSXpYWHhjWEhWRVJERkVYRngxTWpBd1JGeGNkVVE0TTBSYlhGeDFSRU0yT0Z4Y2RVUkROamxkWEZ4MVJEZ3pRMXRjWEhWRVJrWkRMVnhjZFVSR1JrWmRLU2twUDN4Y1hIVkVSa1pES0Q4NlhGeDFNakF3UkNnL09sdGNYSFV5TmprMVhGeDFNalk1Tmx4Y2RUSTNNRGhkWEZ4MVJrVXdSajk4WEZ4MU1qYzJORnhjZFVaRk1FWS9YRngxTWpBd1JGeGNkVVE0TTBRb1B6cGJYRngxUkVNMk9GeGNkVVJETmpsZGZGeGNkVVJET0VKY1hIVXlNREJFWEZ4MVJEZ3pSRnRjWEhWRVF6WTRYRngxUkVNMk9WMHBYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZGZGeGNkVVE0TTBOYlhGeDFSRVl6UlZ4Y2RVUkdOek5jWEhWRVJqZERYRngxUkVZNU0xeGNkVVJHUVRSY1hIVkVSa0U0WEZ4MVJFWkZRbHhjZFVSR1JVUmRmRnhjZFVRNE0wUmJYRngxUkVOQ1FseGNkVVJEUWtOY1hIVkVSREkzWEZ4MVJFUXlRMXhjZFVSRk9EQmNYSFZFUlRreVhYeGNYSFZFT0RORktEODZXMXhjZFVSRVFVWmNYSFZFUkVKRFhGeDFSRVJDUkYwb1B6cGNYSFV5TURCRVhGeDFNamRCTVZ4Y2RVWkZNRVkvS1Q5OFcxeGNkVVJFUWpBdFhGeDFSRVJDTTExOFhGeDFSRVF4UkZ4Y2RUSXdNRVJjWEhWRU9ETkVXMXhjZFVSRE5qaGNYSFZFUXpZNVhWeGNkVVE0TTBOYlhGeDFSRVpHUWx4Y2RVUkdSa1F0WEZ4MVJFWkdSbDBwS1NrL2ZGeGNkVVJHUmtRb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVYRngxUkRnelJDZy9PbHRjWEhWRVF6WTRYRngxUkVNMk9WMThYRngxUkVNNFFseGNkVEl3TUVSY1hIVkVPRE5FVzF4Y2RVUkROamhjWEhWRVF6WTVYU2xjWEhWRU9ETkRXMXhjZFVSR1JrSXRYRngxUkVaR1JsMThYRngxUkRnelExdGNYSFZFUmpORlhGeDFSRVkzTTF4Y2RVUkdOME5jWEhWRVJqa3pYRngxUkVaQk5GeGNkVVJHUVRoY1hIVkVSa1ZDWEZ4MVJFWkZSRjE4WEZ4MVJEZ3pSRnRjWEhWRVEwSkNYRngxUkVOQ1ExeGNkVVJFTWpkY1hIVkVSREpEWEZ4MVJFVTRNRnhjZFVSRk9USmRmRnhjZFVRNE0wVW9QenBiWEZ4MVJFUkJSbHhjZFVSRVFrTmNYSFZFUkVKRVhTZy9PbHhjZFRJd01FUmNYSFV5TjBFeFhGeDFSa1V3Umo4cFAzeGJYRngxUkVSQ01DMWNYSFZFUkVJelhYeGNYSFZFUkRGRVhGeDFNakF3UkZ4Y2RVUTRNMFJiWEZ4MVJFTTJPRnhjZFVSRE5qbGRYRngxUkRnelExdGNYSFZFUmtaQ1hGeDFSRVpHUTF4Y2RVUkdSa1ZjWEhWRVJrWkdYU2twS1Q5OFhGeDFSRVpHUlNnL09seGNkVEl3TUVRb1B6cGJYRngxTWpZNU5WeGNkVEkyT1RaY1hIVXlOekE0WFZ4Y2RVWkZNRVkvZkZ4Y2RUSTNOalJjWEhWR1JUQkdQMXhjZFRJd01FUmNYSFZFT0RORUtEODZXMXhjZFVSRE5qaGNYSFZFUXpZNVhYeGNYSFZFUXpoQ1hGeDFNakF3UkZ4Y2RVUTRNMFJiWEZ4MVJFTTJPRnhjZFVSRE5qbGRLVnhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaR1hYeGNYSFZFT0RORFcxeGNkVVJHTTBWY1hIVkVSamN6WEZ4MVJFWTNRMXhjZFVSR09UTmNYSFZFUmtFMFhGeDFSRVpCT0Z4Y2RVUkdSVUpjWEhWRVJrVkVYWHhjWEhWRU9ETkVXMXhjZFVSRFFrSmNYSFZFUTBKRFhGeDFSRVF5TjF4Y2RVUkVNa05jWEhWRVJUZ3dYRngxUkVVNU1sMThYRngxUkRnelJTZy9PbHRjWEhWRVJFRkdYRngxUkVSQ1ExeGNkVVJFUWtSZEtEODZYRngxTWpBd1JGeGNkVEkzUVRGY1hIVkdSVEJHUHlrL2ZGdGNYSFZFUkVJd0xWeGNkVVJFUWpOZGZGeGNkVVJFTVVSY1hIVXlNREJFWEZ4MVJEZ3pSRnRjWEhWRVF6WTRYRngxUkVNMk9WMWNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUkZ4Y2RVUkdSa1pkS1NrcFAzeGNYSFZFUmtaR0tEODZYRngxTWpBd1JDZy9PbHRjWEhVeU5qazFYRngxTWpZNU5seGNkVEkzTURoZFhGeDFSa1V3Umo5OFhGeDFNamMyTkZ4Y2RVWkZNRVkvWEZ4MU1qQXdSRnhjZFVRNE0wUW9QenBiWEZ4MVJFTTJPRnhjZFVSRE5qbGRmRnhjZFVSRE9FSmNYSFV5TURCRVhGeDFSRGd6UkZ0Y1hIVkVRelk0WEZ4MVJFTTJPVjBwWEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrWmRmRnhjZFVRNE0wTmJYRngxUkVZelJWeGNkVVJHTnpOY1hIVkVSamREWEZ4MVJFWTVNMXhjZFVSR1FUUmNYSFZFUmtFNFhGeDFSRVpGUWx4Y2RVUkdSVVJkZkZ4Y2RVUTRNMFJiWEZ4MVJFTkNRbHhjZFVSRFFrTmNYSFZFUkRJM1hGeDFSRVF5UTF4Y2RVUkZPREJjWEhWRVJUa3lYWHhjWEhWRU9ETkZLRDg2VzF4Y2RVUkVRVVpjWEhWRVJFSkRYRngxUkVSQ1JGMG9QenBjWEhVeU1EQkVYRngxTWpkQk1WeGNkVVpGTUVZL0tUOThXMXhjZFVSRVFqQXRYRngxUkVSQ00xMThYRngxUkVReFJGeGNkVEl3TUVSY1hIVkVPRE5FVzF4Y2RVUkROamhjWEhWRVF6WTVYVnhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaRlhTa3BLVDhwS1Q5OFhGeDFSRU0yUmlnL09seGNkVEl3TUVSYlhGeDFNalkwTUZ4Y2RUSTJOREpkWEZ4MVJrVXdSajhwUDN4Y1hIVkVSRGMxS0Q4NlhGeDFSRGd6UTF0Y1hIVkVSa1pDTFZ4Y2RVUkdSa1pkZkZ4Y2RVWkZNRVlwUHlnL09seGNkVEl3TUVSYlhGeDFNalkwTUZ4Y2RUSTJOREpkWEZ4MVJrVXdSajhwUDN4Y1hIVkVSVEpGS0Q4NlhGeDFNakF3UkZ4Y2RVUTRNMFJjWEhWRVEwRTRLVDk4WEZ4MVJFVXpOU2cvT2x4Y2RUSXdNRVJjWEhWRU9ETkVYRngxUkVOQlFpay9mRnhjZFVSRk16WW9QenBjWEhVeU1EQkVYRngxUkRnelExeGNkVVJHTWtKY1hIVkdSVEJHUHlrL2ZGeGNkVVJGTkRJb1B6cGNYSFV5TURCRVcxeGNkVEl4T1RSY1hIVXlNVGsxWFZ4Y2RVWkZNRVkvS1Q5OFhGeDFSRVZDTmlnL09seGNkVVE0TTBOYlhGeDFSRVpHUWkxY1hIVkVSa1pHWFNrL0tEODZYRngxTWpBd1JDZy9PbHRjWEhVeU5qUXdYRngxTWpZME1sMWNYSFZHUlRCR1B5Zy9PbHhjZFRJd01FUmNYSFV5TjBFeFhGeDFSa1V3Umo4cFAzeGNYSFV5TjBFeFhGeDFSa1V3Umo4cEtUOHBmRnhjZFVRNE0wVW9QenBiWEZ4MVJFUXdRMXhjZFVSRU1FWmNYSFZFUkRFNExWeGNkVVJFTVVaY1hIVkVSRE13TFZ4Y2RVUkVNelJjWEhWRVJETTJYRngxUkVRM04xeGNkVVJFUWpWY1hIVkVSRUkyWEZ4MVJFUkNRbHhjZFVSRVJESmNYSFZFUkVRelhGeDFSRVJFTlZ4Y2RVUkZRek10WEZ4MVJFVkROVnhjZFVSRlJqQmNYSFZFUlVZeUxWeGNkVVJGUmpoZEtEODZYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZEtUOThXMXhjZFVSRU1qWmNYSFZFUkRNMVhGeDFSRVF6TnkxY1hIVkVSRE01WEZ4MVJFUXpSRnhjZFVSRU0wVmNYSFZFUkVJNFhGeDFSRVJDT1Z4Y2RVUkVRMFJjWEhWRVJFTkdYRngxUkVSRU5GeGNkVVJFUkRZdFhGeDFSRVJFUkYwb1B6cGNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUmwwcFB5Zy9PbHhjZFRJd01FUmJYRngxTWpZME1GeGNkVEkyTkRKZFhGeDFSa1V3Umo4cFAzeGJYRngxUkVSRVJWeGNkVVJFUkVaZEtEODZYRngxTWpBd1JGdGNYSFV5TmpRd1hGeDFNalkwTWwxY1hIVkdSVEJHUHlrL2ZGdGNYSFZFUkRCRVhGeDFSRVF3UlZ4Y2RVUkVNVEF0WEZ4MVJFUXhOMXhjZFVSRU1qQXRYRngxUkVReU5WeGNkVVJFTWpjdFhGeDFSRVF5Umx4Y2RVUkVNMEZjWEhWRVJETkdMVnhjZFVSRU5EVmNYSFZFUkRRM0xWeGNkVVJFTnpaY1hIVkVSRGM0TFZ4Y2RVUkVRalJjWEhWRVJFSTNYRngxUkVSQ1FWeGNkVVJFUWtNdFhGeDFSRVJEUTF4Y2RVUkVSREJjWEhWRVJFVXdMVnhjZFVSRVJrWmNYSFZFUlRjd0xWeGNkVVJGTjBOY1hIVkVSVGd3TFZ4Y2RVUkZPRGxjWEhWRVJUaEdMVnhjZFVSRlF6SmNYSFZFUlVNMlhGeDFSRVZEUlMxY1hIVkVSVVJEWEZ4MVJFVkVSaTFjWEhWRVJVVTVYWHhjWEhWRVJETkRLRDg2WEZ4MU1qQXdSRnRjWEhVeU5qUXdYRngxTWpZME1sMWNYSFZHUlRCR1AzeGNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUmwwcFAzeGNYSFZFUkVORktEODZYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZEtUOG9QenBjWEhVeU1EQkVLRDg2VzF4Y2RUSTJOREJjWEhVeU5qUXlYVnhjZFVaRk1FWS9LRDg2WEZ4MU1qQXdSRnhjZFRJM1FURmNYSFZHUlRCR1B5ay9mRnhjZFRJM1FURmNYSFZHUlRCR1B5a3BQM3hjWEhWRVJFUXhLRDg2WEZ4MU1qQXdSQ2cvT2x0Y1hIVXlOamsxWEZ4MU1qWTVObHhjZFRJM01EaGRYRngxUmtVd1JqOThYRngxUkRnelExdGNYSFZFUmpORlhGeDFSRVkzTTF4Y2RVUkdOME5jWEhWRVJqZzBYRngxUkVZNU0xeGNkVVJHUVRSY1hIVkVSa0U0WEZ4MVJFWkZRbHhjZFVSR1JVUmRmRnhjZFVRNE0wUmJYRngxUkVOQ1FseGNkVVJEUWtOY1hIVkVSREkzWEZ4MVJFUXlRMXhjZFVSRk9EQmNYSFZFUlRreVhYeGNYSFZFT0RORktEODZXMXhjZFVSRVFVWmNYSFZFUkVKRFhGeDFSRVJDUkYwb1B6cGNYSFV5TURCRVhGeDFNamRCTVZ4Y2RVWkZNRVkvS1Q5OFcxeGNkVVJFUWpBdFhGeDFSRVJDTTExOFhGeDFSRVF4UkZ4Y2RUSXdNRVJjWEhWRU9ETkZYRngxUkVSRU1YeGNYSFZFUkVReFhGeDFNakF3UkZ4Y2RVUTRNMFZjWEhWRVJFUXlLRDg2WEZ4MU1qQXdSRnhjZFVRNE0wVmNYSFZFUkVReUtUOThYRngxUkVSRU1pZy9PbHhjZFRJd01FUmNYSFZFT0RORlhGeDFSRVJFTWlrL0tTbDhYRngxUkRnelF5Zy9PbHhjZFVSR1JrSW9QenBjWEhVeU1EQkVLRDg2VzF4Y2RUSTJPVFZjWEhVeU5qazJYRngxTWpjd09GMWNYSFZHUlRCR1AzeGNYSFV5TnpZMFhGeDFSa1V3Umo5Y1hIVXlNREJFS0Q4NlhGeDFSRGd6UkZ4Y2RVUkRPRUpjWEhVeU1EQkVLVDljWEhWRU9ETkZYRngxUkVSRU1WeGNkVVE0TTBOYlhGeDFSRVpHUXkxY1hIVkVSa1pHWFh4Y1hIVkVPRE5EVzF4Y2RVUkdNMFZjWEhWRVJqY3pYRngxUkVZM1ExeGNkVVJHT0RSY1hIVkVSamt6WEZ4MVJFWkJORnhjZFVSR1FUaGNYSFZFUmtWQ1hGeDFSRVpGUkYxOFhGeDFSRGd6UkZ0Y1hIVkVRMEpDWEZ4MVJFTkNRMXhjZFVSRU1qZGNYSFZFUkRKRFhGeDFSRVU0TUZ4Y2RVUkZPVEpkZkZ4Y2RVUTRNMFVvUHpwYlhGeDFSRVJCUmx4Y2RVUkVRa05jWEhWRVJFSkVYU2cvT2x4Y2RUSXdNRVJjWEhVeU4wRXhYRngxUmtVd1JqOHBQM3hiWEZ4MVJFUkNNQzFjWEhWRVJFSXpYWHhjWEhWRVJERkVYRngxTWpBd1JGeGNkVVE0TTBWY1hIVkVSRVF4WEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrWmRLU2twUDN4Y1hIVkVSa1pES0Q4NlhGeDFNakF3UkNnL09sdGNYSFV5TmprMVhGeDFNalk1Tmx4Y2RUSTNNRGhkWEZ4MVJrVXdSajk4WEZ4MU1qYzJORnhjZFVaRk1FWS9YRngxTWpBd1JDZy9PbHhjZFVRNE0wUmNYSFZFUXpoQ1hGeDFNakF3UkNrL1hGeDFSRGd6UlZ4Y2RVUkVSREZjWEhWRU9ETkRXMXhjZFVSR1JrSmNYSFZFUmtaRUxWeGNkVVJHUmtaZGZGeGNkVVE0TTBOYlhGeDFSRVl6UlZ4Y2RVUkdOek5jWEhWRVJqZERYRngxUkVZNE5GeGNkVVJHT1ROY1hIVkVSa0UwWEZ4MVJFWkJPRnhjZFVSR1JVSmNYSFZFUmtWRVhYeGNYSFZFT0RORVcxeGNkVVJEUWtKY1hIVkVRMEpEWEZ4MVJFUXlOMXhjZFVSRU1rTmNYSFZFUlRnd1hGeDFSRVU1TWwxOFhGeDFSRGd6UlNnL09sdGNYSFZFUkVGR1hGeDFSRVJDUTF4Y2RVUkVRa1JkS0Q4NlhGeDFNakF3UkZ4Y2RUSTNRVEZjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVSRUl3TFZ4Y2RVUkVRak5kZkZ4Y2RVUkVNVVJjWEhVeU1EQkVYRngxUkRnelJWeGNkVVJFUkRGY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSbDBwS1NrL2ZGeGNkVVJHUmtRb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVLRDg2WEZ4MVJEZ3pSRnhjZFVSRE9FSmNYSFV5TURCRUtUOWNYSFZFT0RORlhGeDFSRVJFTVZ4Y2RVUTRNME5iWEZ4MVJFWkdRbHhjZFVSR1JrTmNYSFZFUmtaRlhGeDFSRVpHUmwxOFhGeDFSRGd6UTF0Y1hIVkVSak5GWEZ4MVJFWTNNMXhjZFVSR04wTmNYSFZFUmpnMFhGeDFSRVk1TTF4Y2RVUkdRVFJjWEhWRVJrRTRYRngxUkVaRlFseGNkVVJHUlVSZGZGeGNkVVE0TTBSYlhGeDFSRU5DUWx4Y2RVUkRRa05jWEhWRVJESTNYRngxUkVReVExeGNkVVJGT0RCY1hIVkVSVGt5WFh4Y1hIVkVPRE5GS0Q4NlcxeGNkVVJFUVVaY1hIVkVSRUpEWEZ4MVJFUkNSRjBvUHpwY1hIVXlNREJFWEZ4MU1qZEJNVnhjZFVaRk1FWS9LVDk4VzF4Y2RVUkVRakF0WEZ4MVJFUkNNMTE4WEZ4MVJFUXhSRnhjZFRJd01FUmNYSFZFT0RORlhGeDFSRVJFTVZ4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkdYU2twS1Q5OFhGeDFSRVpHUlNnL09seGNkVEl3TUVRb1B6cGJYRngxTWpZNU5WeGNkVEkyT1RaY1hIVXlOekE0WFZ4Y2RVWkZNRVkvZkZ4Y2RUSTNOalJjWEhWR1JUQkdQMXhjZFRJd01FUW9QenBjWEhWRU9ETkVYRngxUkVNNFFseGNkVEl3TUVRcFAxeGNkVVE0TTBWY1hIVkVSRVF4WEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrUmNYSFZFUmtaR1hYeGNYSFZFT0RORFcxeGNkVVJHTTBWY1hIVkVSamN6WEZ4MVJFWTNRMXhjZFVSR09EUmNYSFZFUmprelhGeDFSRVpCTkZ4Y2RVUkdRVGhjWEhWRVJrVkNYRngxUkVaRlJGMThYRngxUkRnelJGdGNYSFZFUTBKQ1hGeDFSRU5DUTF4Y2RVUkVNamRjWEhWRVJESkRYRngxUkVVNE1GeGNkVVJGT1RKZGZGeGNkVVE0TTBVb1B6cGJYRngxUkVSQlJseGNkVVJFUWtOY1hIVkVSRUpFWFNnL09seGNkVEl3TUVSY1hIVXlOMEV4WEZ4MVJrVXdSajhwUDN4YlhGeDFSRVJDTUMxY1hIVkVSRUl6WFh4Y1hIVkVSREZFWEZ4MU1qQXdSRnhjZFVRNE0wVmNYSFZFUkVReFhGeDFSRGd6UTF0Y1hIVkVSa1pDTFZ4Y2RVUkdSa1pkS1NrcFAzeGNYSFZFUmtaR0tEODZYRngxTWpBd1JDZy9PbHRjWEhVeU5qazFYRngxTWpZNU5seGNkVEkzTURoZFhGeDFSa1V3Umo5OFhGeDFNamMyTkZ4Y2RVWkZNRVkvWEZ4MU1qQXdSQ2cvT2x4Y2RVUTRNMFJjWEhWRVF6aENYRngxTWpBd1JDay9YRngxUkRnelJWeGNkVVJFUkRGY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSVjE4WEZ4MVJEZ3pRMXRjWEhWRVJqTkZYRngxUkVZM00xeGNkVVJHTjBOY1hIVkVSamcwWEZ4MVJFWTVNMXhjZFVSR1FUUmNYSFZFUmtFNFhGeDFSRVpGUWx4Y2RVUkdSVVJkZkZ4Y2RVUTRNMFJiWEZ4MVJFTkNRbHhjZFVSRFFrTmNYSFZFUkRJM1hGeDFSRVF5UTF4Y2RVUkZPREJjWEhWRVJUa3lYWHhjWEhWRU9ETkZLRDg2VzF4Y2RVUkVRVVpjWEhWRVJFSkRYRngxUkVSQ1JGMG9QenBjWEhVeU1EQkVYRngxTWpkQk1WeGNkVVpGTUVZL0tUOThXMXhjZFVSRVFqQXRYRngxUkVSQ00xMThYRngxUkVReFJGeGNkVEl3TUVSY1hIVkVPRE5GWEZ4MVJFUkVNVnhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaR1hTa3BLVDhwS1Q5OFhGeDFSRVZHTVNnL09seGNkVVE0TTBNb1B6cGNYSFZFUmtaQ0tEODZYRngxTWpBd1JGeGNkVVE0TTBWY1hIVkVSVVl5WEZ4MVJEZ3pRMXRjWEhWRVJrWkRMVnhjZFVSR1JrWmRLVDk4WEZ4MVJFWkdReWcvT2x4Y2RUSXdNRVJjWEhWRU9ETkZYRngxUkVWR01seGNkVVE0TTBOYlhGeDFSRVpHUWx4Y2RVUkdSa1F0WEZ4MVJFWkdSbDBwUDN4Y1hIVkVSa1pFS0Q4NlhGeDFNakF3UkZ4Y2RVUTRNMFZjWEhWRVJVWXlYRngxUkRnelExdGNYSFZFUmtaQ1hGeDFSRVpHUTF4Y2RVUkdSa1ZjWEhWRVJrWkdYU2svZkZ4Y2RVUkdSa1VvUHpwY1hIVXlNREJFWEZ4MVJEZ3pSVnhjZFVSRlJqSmNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUkZ4Y2RVUkdSa1pkS1Q5OFhGeDFSRVpHUmlnL09seGNkVEl3TUVSY1hIVkVPRE5GWEZ4MVJFVkdNbHhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaRlhTay9LU2svS1M5bk8xeHVmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5Qm5aWFJHYVd4bFZHbDBiR1VzSUc1dmNtMWhiR2w2WlVobFlXUmxja1p2Y2t4cGJtc2dmU0JtY205dElGd2lkWFJwYkhNdmJtOXliV0ZzYVhwbGNuTmNJanRjYmx4dUx5b3FJRlJvWlNCUFluTnBaR2xoYmlBbmJHbHVheWNzSUhWelpXUWdabTl5SUhWdWFYRjFaV3g1SUdSbGMyTnlhV0pwYm1jZ1lTQm1hV3hsTENCb1pXRmtaWElzSUc5eUlHSnNiMk5yTGx4dUlDb2dRR2R5YjNWd0lFTnZiVzF2YmlCVWVYQmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVEdsdWF5QjdYRzRnSUNBZ0x5b3FJRlJvWlNCbWFXeGxJSEJoZEdnZ2RHaHBjeUJzYVc1cklIQnZhVzUwY3lCMGJ5NGdLaTljYmlBZ0lDQndkV0pzYVdNZ2NHRjBhRG9nYzNSeWFXNW5PMXh1SUNBZ0lDOHFLaUJVYUdVZ1pHbHpjR3hoZVNCdVlXMWxJR0Z6YzI5amFXRjBaV1FnZDJsMGFDQjBhR1VnYkdsdWF5NGdLaTljYmlBZ0lDQndkV0pzYVdNZ1pHbHpjR3hoZVQ4NklITjBjbWx1Wnp0Y2JpQWdJQ0F2S2lvZ1ZHaGxJR0pzYjJOcklFbEVJRzl5SUdobFlXUmxjaUIwYUdseklHeHBibXNnY0c5cGJuUnpJSFJ2SUhkcGRHaHBiaUJoSUdacGJHVXNJR2xtSUhKbGJHVjJZVzUwTGlBcUwxeHVJQ0FnSUhCMVlteHBZeUJ6ZFdKd1lYUm9Qem9nYzNSeWFXNW5PMXh1SUNBZ0lDOHFLaUJKY3lCMGFHbHpJR3hwYm1zZ1lXNGdaVzFpWldSa1pXUWdiR2x1YXlBb2IyWWdabTl5YlNBbklWdGJhR1ZzYkc5ZFhTY3BQeUFxTDF4dUlDQWdJSEIxWW14cFl5QmxiV0psWkRvZ1ltOXZiR1ZoYmp0Y2JpQWdJQ0F2S2lvZ1ZHaGxJSFI1Y0dVZ2IyWWdkR2hwY3lCc2FXNXJMQ0IzYUdsamFDQmtaWFJsY20xcGJtVnpJSGRvWVhRZ0ozTjFZbkJoZEdnbklISmxabVZ5Y3lCMGJ5d2dhV1lnWVc1NWRHaHBibWN1SUNvdlhHNGdJQ0FnY0hWaWJHbGpJSFI1Y0dVNklGd2labWxzWlZ3aUlId2dYQ0pvWldGa1pYSmNJaUI4SUZ3aVlteHZZMnRjSWp0Y2JseHVJQ0FnSUM4cUtpQkRjbVZoZEdVZ1lTQnNhVzVySUhSdklHRWdjM0JsWTJsbWFXTWdabWxzWlM0Z0tpOWNiaUFnSUNCd2RXSnNhV01nYzNSaGRHbGpJR1pwYkdVb2NHRjBhRG9nYzNSeWFXNW5MQ0JsYldKbFpEb2dZbTl2YkdWaGJpQTlJR1poYkhObExDQmthWE53YkdGNVB6b2djM1J5YVc1bktUb2dUR2x1YXlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dUR2x1YXloN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3WVhSb0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnWlcxaVpXUXNYRzRnSUNBZ0lDQWdJQ0FnSUNCa2FYTndiR0Y1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1ZpY0dGMGFEb2dkVzVrWldacGJtVmtMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nWENKbWFXeGxYQ0lzWEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQkpibVpsY2lCMGFHVWdkSGx3WlNCdlppQjBhR1VnYkdsdWF5Qm1jbTl0SUhSb1pTQm1kV3hzSUdsdWRHVnlibUZzSUd4cGJtc2djR0YwYUM0Z0tpOWNiaUFnSUNCd2RXSnNhV01nYzNSaGRHbGpJR2x1Wm1WeUtHeHBibXR3WVhSb09pQnpkSEpwYm1jc0lHVnRZbVZrT2lCaWIyOXNaV0Z1SUQwZ1ptRnNjMlVzSUdScGMzQnNZWGsvT2lCemRISnBibWNwT2lCTWFXNXJJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHeHBibXR3WVhSb0xtbHVZMngxWkdWektGd2lJMTVjSWlrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnpjR3hwZENBOUlHeHBibXR3WVhSb0xuTndiR2wwS0Z3aUkxNWNJaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1RHbHVheTVpYkc5amF5aHpjR3hwZEZzd1hTd2djM0JzYVhSYk1WMHNJR1Z0WW1Wa0xDQmthWE53YkdGNUtUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hzYVc1cmNHRjBhQzVwYm1Oc2RXUmxjeWhjSWlOY0lpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J6Y0d4cGRDQTlJR3hwYm10d1lYUm9Mbk53YkdsMEtGd2lJMXdpS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQk1hVzVyTG1obFlXUmxjaWh6Y0d4cGRGc3dYU3dnYzNCc2FYUmJNVjBzSUdWdFltVmtMQ0JrYVhOd2JHRjVLVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSEpsZEhWeWJpQk1hVzVyTG1acGJHVW9iR2x1YTNCaGRHZ3NJR1Z0WW1Wa0xDQmthWE53YkdGNUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRM0psWVhSbElHRWdiR2x1YXlCMGJ5QmhJSE53WldOcFptbGpJR1pwYkdVZ1lXNWtJR2hsWVdSbGNpQnBiaUIwYUdGMElHWnBiR1V1SUNvdlhHNGdJQ0FnY0hWaWJHbGpJSE4wWVhScFl5Qm9aV0ZrWlhJb2NHRjBhRG9nYzNSeWFXNW5MQ0JvWldGa1pYSTZJSE4wY21sdVp5d2daVzFpWldRL09pQmliMjlzWldGdUxDQmthWE53YkdGNVB6b2djM1J5YVc1bktUb2dUR2x1YXlCN1hHNGdJQ0FnSUNBZ0lDOHZJRWhsWVdSbGNuTWdibVZsWkNCMGJ5QmlaU0J1YjNKdFlXeHBlbVZrSUhSdklHRnNjR2hoTFc1MWJXVnlhV01nSmlCM2FYUm9JR1Y0ZEhKaElITndZV05wYm1jZ2NtVnRiM1psWkM1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5Qk1hVzVyS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJoZEdnc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYldKbFpDeGNiaUFnSUNBZ0lDQWdJQ0FnSUdScGMzQnNZWGtzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkV0p3WVhSb09pQnViM0p0WVd4cGVtVklaV0ZrWlhKR2IzSk1hVzVyS0dobFlXUmxjaWtzWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBlWEJsT2lCY0ltaGxZV1JsY2x3aUxGeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUTNKbFlYUmxJR0VnYkdsdWF5QjBieUJoSUhOd1pXTnBabWxqSUdacGJHVWdZVzVrSUdKc2IyTnJJR2x1SUhSb1lYUWdabWxzWlM0Z0tpOWNiaUFnSUNCd2RXSnNhV01nYzNSaGRHbGpJR0pzYjJOcktIQmhkR2c2SUhOMGNtbHVaeXdnWW14dlkydEpaRG9nYzNSeWFXNW5MQ0JsYldKbFpEODZJR0p2YjJ4bFlXNHNJR1JwYzNCc1lYay9PaUJ6ZEhKcGJtY3BPaUJNYVc1cklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJNYVc1cktIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhCaGRHZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJXSmxaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHUnBjM0JzWVhrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZFdKd1lYUm9PaUJpYkc5amEwbGtMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nWENKaWJHOWphMXdpTEZ4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dURzloWkNCaElHeHBibXNnWm5KdmJTQnBkQ2R6SUhKaGR5QktVMDlPSUhKbGNISmxjMlZ1ZEdGMGFXOXVMaUFxTDF4dUlDQWdJSEIxWW14cFl5QnpkR0YwYVdNZ1puSnZiVTlpYW1WamRDaHZZbXBsWTNRNklFcHpiMjVNYVc1cktUb2dUR2x1YXlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dUR2x1YXlodlltcGxZM1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRGNtVmhkR1VnWVNCc2FXNXJJR0o1SUhCaGNuTnBibWNnYVhRbmN5QnBiblJsY21sdmNpQndZWEowSUNocGJuTnBaR1VnYjJZZ2RHaGxJQ2RiVzExZEp5a3VJQ292WEc0Z0lDQWdjSFZpYkdsaklITjBZWFJwWXlCd1lYSnpaVWx1Ym1WeUtISmhkMnhwYm1zNklITjBjbWx1WnlrNklFeHBibXNnZTF4dUlDQWdJQ0FnSUNCc1pYUWdXMnhwYm1zc0lHUnBjM0JzWVhsZElEMGdjM0JzYVhSUGJsVnVaWE5qWVhCbFpGQnBjR1VvY21GM2JHbHVheWs3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJNYVc1ckxtbHVabVZ5S0d4cGJtc3NJR1poYkhObExDQmthWE53YkdGNUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2NtbDJZWFJsSUdOdmJuTjBjblZqZEc5eUtHWnBaV3hrY3pvZ1VHRnlkR2xoYkR4TWFXNXJQaWtnZTF4dUlDQWdJQ0FnSUNCUFltcGxZM1F1WVhOemFXZHVLSFJvYVhNc0lHWnBaV3hrY3lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHlvcUlGVndaR0YwWlNCMGFHbHpJR3hwYm1zZ2QybDBhQ0JoSUc1bGR5QndZWFJvTGlBcUwxeHVJQ0FnSUhCMVlteHBZeUIzYVhSb1VHRjBhQ2h3WVhSb09pQnpkSEpwYm1jcE9pQk1hVzVySUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5Qk1hVzVyS0U5aWFtVmpkQzVoYzNOcFoyNG9lMzBzSUhSb2FYTXNJSHNnY0dGMGFDQjlLU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUZKbGRIVnliaUJoSUc1bGR5QnNhVzVySUhkb2FXTm9JSEJ2YVc1MGN5QjBieUIwYUdVZ2MyRnRaU0JzYjJOaGRHbHZiaUJpZFhRZ2QybDBhQ0JoSUc1bGR5QmthWE53YkdGNUlIWmhiSFZsTGlBcUwxeHVJQ0FnSUhCMVlteHBZeUIzYVhSb1JHbHpjR3hoZVNoa2FYTndiR0Y1UHpvZ2MzUnlhVzVuS1RvZ1RHbHVheUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1RHbHVheWhQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0IwYUdsekxDQjdJR1JwYzNCc1lYa2dmU2twTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCU1pYUjFjbTRnWVNCdVpYY2diR2x1YXlCM2FHbGphQ0JvWVhNZ2RHaGxJR2RwZG1WdUlHVnRZbVZrWkdWa0lITjBZWFIxY3k0Z0tpOWNiaUFnSUNCd2RXSnNhV01nZDJsMGFFVnRZbVZrS0dWdFltVmtPaUJpYjI5c1pXRnVLVG9nVEdsdWF5QjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbVZ0WW1Wa0lEMDlJR1Z0WW1Wa0tTQnlaWFIxY200Z2RHaHBjenRjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFeHBibXNvVDJKcVpXTjBMbUZ6YzJsbmJpaDdmU3dnZEdocGN5d2dleUJsYldKbFpDQjlLU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVOdmJuWmxjblFnWVNCbWFXeGxJR3hwYm1zZ2FXNTBieUJoSUd4cGJtc2dkRzhnWVNCemNHVmphV1pwWXlCb1pXRmtaWEl1SUNvdlhHNGdJQ0FnY0hWaWJHbGpJSGRwZEdoSVpXRmtaWElvYUdWaFpHVnlPaUJ6ZEhKcGJtY3BPaUJNYVc1cklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFeHBibXN1YUdWaFpHVnlLSFJvYVhNdWNHRjBhQ3dnYUdWaFpHVnlMQ0IwYUdsekxtVnRZbVZrTENCMGFHbHpMbVJwYzNCc1lYa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJEYjI1MlpYSjBJR0VnWm1sc1pTQnNhVzVySUdsdWRHOGdZU0JzYVc1cklIUnZJR0VnYzNCbFkybG1hV05pSUd4dlkyc3VJQ292WEc0Z0lDQWdjSFZpYkdsaklIZHBkR2hDYkc5amF5aGliRzlqYXpvZ2MzUnlhVzVuS1RvZ1RHbHVheUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJNYVc1ckxtSnNiMk5yS0hSb2FYTXVjR0YwYUN3Z1lteHZZMnNzSUhSb2FYTXVaVzFpWldRc0lIUm9hWE11WkdsemNHeGhlU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVOb1pXTnJjeUJtYjNJZ2JHbHVheUJsY1hWaGJHbDBlU0FvYVM1bExpd2dkR2hoZENCMGFHVWdiR2x1YTNNZ1lYSmxJSEJ2YVc1MGFXNW5JSFJ2SUhSb1pTQnpZVzFsSUdWNFlXTjBJR3h2WTJGMGFXOXVLUzRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdaWEYxWVd4ektHOTBhR1Z5T2lCTWFXNXJLVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZkR2hsY2lBOVBTQjFibVJsWm1sdVpXUWdmSHdnYjNSb1pYSWdQVDBnYm5Wc2JDa2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkJoZEdnZ1BUMGdiM1JvWlhJdWNHRjBhQ0FtSmlCMGFHbHpMblI1Y0dVZ1BUMGdiM1JvWlhJdWRIbHdaU0FtSmlCMGFHbHpMbk4xWW5CaGRHZ2dQVDBnYjNSb1pYSXVjM1ZpY0dGMGFEdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRMjl1ZG1WeWRDQjBhR2x6SUd4cGJtc2dkRzhnYVhRbmN5QnRZWEpyWkc5M2JpQnlaWEJ5WlhObGJuUmhkR2x2Ymk0Z0tpOWNiaUFnSUNCd2RXSnNhV01nZEc5VGRISnBibWNvS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViV0Z5YTJSdmQyNG9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUTI5dWRtVnlkQ0IwYUdseklHeHBibXNnZEc4Z1lTQnlZWGNnYjJKcVpXTjBJSGRvYVdOb0lHbHpJSE5sY21saGJHbDZZWFJwYjI0dFpuSnBaVzVrYkhrdUlDb3ZYRzRnSUNBZ2NIVmliR2xqSUhSdlQySnFaV04wS0NrNklFcHpiMjVNYVc1cklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhCaGRHZzZJSFJvYVhNdWNHRjBhQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUhSb2FYTXVkSGx3WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4xWW5CaGRHZzZJSFJvYVhNdWMzVmljR0YwYUN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1JwYzNCc1lYazZJSFJvYVhNdVpHbHpjR3hoZVN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z0WW1Wa09pQjBhR2x6TG1WdFltVmtMRnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRGIyNTJaWEowSUdGdWVTQnNhVzVySUdsdWRHOGdZU0JzYVc1cklIUnZJR2wwY3lCbWFXeGxMaUFxTDF4dUlDQWdJSEIxWW14cFl5QjBiMFpwYkdVb0tUb2dUR2x1YXlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTWFXNXJMbVpwYkdVb2RHaHBjeTV3WVhSb0xDQjBhR2x6TG1WdFltVmtMQ0IwYUdsekxtUnBjM0JzWVhrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQkRiMjUyWlhKMElIUm9hWE1nYkdsdWF5QnBiblJ2SUdGdUlHVnRZbVZrWkdWa0lHeHBibXN1SUNvdlhHNGdJQ0FnY0hWaWJHbGpJSFJ2UlcxaVpXUW9LVG9nVEdsdWF5QjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5kcGRHaEZiV0psWkNoMGNuVmxLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUTI5dWRtVnlkQ0IwYUdseklHeHBibXNnYVc1MGJ5QmhJRzV2YmkxbGJXSmxaR1JsWkNCc2FXNXJMaUFxTDF4dUlDQWdJSEIxWW14cFl5Qm1jbTl0UlcxaVpXUW9LVG9nVEdsdWF5QjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5kcGRHaEZiV0psWkNobVlXeHpaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVOdmJuWmxjblFnZEdocGN5QnNhVzVySUhSdklHMWhjbXRrYjNkdUlITnZJR2wwSUdOaGJpQmlaU0J5Wlc1a1pYSmxaQzRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdiV0Z5YTJSdmQyNG9LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQWdJQ0FnYkdWMElISmxjM1ZzZENBOUlDaDBhR2x6TG1WdFltVmtJRDhnWENJaFhDSWdPaUJjSWx3aUtTQXJJRndpVzF0Y0lpQXJJSFJvYVhNdWIySnphV1JwWVc1TWFXNXJLQ2s3WEc0Z0lDQWdJQ0FnSUhKbGMzVnNkQ0FyUFNCY0lueGNJanRjYmlBZ0lDQWdJQ0FnY21WemRXeDBJQ3M5SUhSb2FYTXVaR2x6Y0d4aGVVOXlSR1ZtWVhWc2RDZ3BPMXh1SUNBZ0lDQWdJQ0J5WlhOMWJIUWdLejBnWENKZFhWd2lPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQlBZblJoYVc0Z2RHaGxJR1JwYzNCc1lYa2dabTl5SUhSb2FYTWdiR2x1YXlCcFppQndjbVZ6Wlc1MExDQnZjaUJ5WlhSMWNtNGdZU0J6YVcxd2JHVWdaR1ZtWVhWc2RDQmthWE53YkdGNUxpQXFMMXh1SUNBZ0lIQjFZbXhwWXlCa2FYTndiR0Y1VDNKRVpXWmhkV3gwS0NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NWthWE53YkdGNUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWthWE53YkdGNU8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElISmxjM1ZzZENBOUlHZGxkRVpwYkdWVWFYUnNaU2gwYUdsekxuQmhkR2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSb2FYTXVkSGx3WlNBOVBTQmNJbWhsWVdSbGNsd2lJSHg4SUhSb2FYTXVkSGx3WlNBOVBTQmNJbUpzYjJOclhDSXBJSEpsYzNWc2RDQXJQU0JjSWlBK0lGd2lJQ3NnZEdocGN5NXpkV0p3WVhSb08xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVOdmJuWmxjblFnZEdobElHbHVibVZ5SUhCaGNuUWdiMllnZEdobElHeHBibXNnZEc4Z2MyOXRaWFJvYVc1bklIUm9ZWFFnVDJKemFXUnBZVzRnWTJGdUlHOXdaVzRnTHlCMWJtUmxjbk4wWVc1a0xpQXFMMXh1SUNBZ0lIQjFZbXhwWXlCdlluTnBaR2xoYmt4cGJtc29LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaWE5qWVhCbFpDQTlJSFJvYVhNdWNHRjBhQzV5WlhCc1lXTmxLRndpZkZ3aUxDQmNJbHhjWEZ4OFhDSXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTUwZVhCbElEMDlJRndpYUdWaFpHVnlYQ0lwSUhKbGRIVnliaUJsYzJOaGNHVmtJQ3NnWENJalhDSWdLeUIwYUdsekxuTjFZbkJoZEdnL0xuSmxjR3hoWTJVb1hDSjhYQ0lzSUZ3aVhGeGNYSHhjSWlrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuUjVjR1VnUFQwZ1hDSmliRzlqYTF3aUtTQnlaWFIxY200Z1pYTmpZWEJsWkNBcklGd2lJMTVjSWlBcklIUm9hWE11YzNWaWNHRjBhRDh1Y21Wd2JHRmpaU2hjSW54Y0lpd2dYQ0pjWEZ4Y2ZGd2lLVHRjYmlBZ0lDQWdJQ0FnWld4elpTQnlaWFIxY200Z1pYTmpZWEJsWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1ZHaGxJSE4wY21sd2NHVmtJRzVoYldVZ2IyWWdkR2hsSUdacGJHVWdkR2hwY3lCc2FXNXJJSEJ2YVc1MGN5QjBieTRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdabWxzWlU1aGJXVW9LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR2RsZEVacGJHVlVhWFJzWlNoMGFHbHpMbkJoZEdncE8xeHVJQ0FnSUgxY2JuMWNibHh1THlvcUlGTmxjbWxoYkdsNlpXUWdabTl5YlNCdlppQmhJR3hwYm1zdVhHNGdLaUJBYUdsa1pHVnVYRzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1NuTnZia3hwYm1zZ2UxeHVJQ0FnSUM4cUtpQlVhR1VnWm1sc1pTQndZWFJvSUhSb2FYTWdiR2x1YXlCd2IybHVkSE1nZEc4dUlDb3ZYRzRnSUNBZ2NHRjBhRG9nYzNSeWFXNW5PMXh1SUNBZ0lDOHFLaUJVYUdVZ1pHbHpjR3hoZVNCdVlXMWxJR0Z6YzI5amFXRjBaV1FnZDJsMGFDQjBhR1VnYkdsdWF5NGdLaTljYmlBZ0lDQmthWE53YkdGNVB6b2djM1J5YVc1bk8xeHVJQ0FnSUM4cUtpQlVhR1VnWW14dlkyc2dTVVFnYjNJZ2FHVmhaR1Z5SUhSb2FYTWdiR2x1YXlCd2IybHVkSE1nZEc4Z2QybDBhR2x1SUdFZ1ptbHNaU3dnYVdZZ2NtVnNaWFpoYm5RdUlDb3ZYRzRnSUNBZ2MzVmljR0YwYUQ4NklITjBjbWx1Wnp0Y2JpQWdJQ0F2S2lvZ1NYTWdkR2hwY3lCc2FXNXJJR0Z1SUdWdFltVmtaR1ZrSUd4cGJtc2dLRzltSUdadmNtMGdKeUZiVzJobGJHeHZYVjBuS1Q4Z0tpOWNiaUFnSUNCbGJXSmxaRG9nWW05dmJHVmhianRjYmlBZ0lDQXZLaW9nVkdobElIUjVjR1VnYjJZZ2RHaHBjeUJzYVc1ckxDQjNhR2xqYUNCa1pYUmxjbTFwYm1WeklIZG9ZWFFnSjNOMVluQmhkR2duSUhKbFptVnljeUIwYnl3Z2FXWWdZVzU1ZEdocGJtY3VJQ292WEc0Z0lDQWdkSGx3WlRvZ1hDSm1hV3hsWENJZ2ZDQmNJbWhsWVdSbGNsd2lJSHdnWENKaWJHOWphMXdpTzF4dWZWeHVYRzR2S2lvZ1UzQnNhWFFnYjI0Z2RXNWxjMk5oY0dWa0lIQnBjR1Z6SUdsdUlHRnVJR2x1Ym1WeUlHeHBibXN1WEc0Z0tpQkFhR2xrWkdWdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ6Y0d4cGRFOXVWVzVsYzJOaGNHVmtVR2x3WlNoc2FXNXJPaUJ6ZEhKcGJtY3BPaUJiYzNSeWFXNW5MQ0J6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1JkSUh0Y2JpQWdJQ0JzWlhRZ2NHbHdaU0E5SUMweE8xeHVJQ0FnSUhkb2FXeGxJQ2dvY0dsd1pTQTlJR3hwYm1zdWFXNWtaWGhQWmloY0lueGNJaXdnY0dsd1pTQXJJREVwS1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdhWEJsSUQ0Z01DQW1KaUJzYVc1clczQnBjR1VnTFNBeFhTQTlQU0JjSWx4Y1hGeGNJaWtnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJiYkdsdWF5NXpkV0p6ZEhKcGJtY29NQ3dnY0dsd1pTa3VjbVZ3YkdGalpTZ3ZYRnhjWEZ4Y2ZDOW5MQ0JjSW54Y0lpa3NJR3hwYm1zdWMzVmljM1J5YVc1bktIQnBjR1VnS3lBeEtWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUZ0c2FXNXJMbkpsY0d4aFkyVW9MMXhjWEZ4Y1hId3ZaeXdnWENKOFhDSXBMQ0IxYm1SbFptbHVaV1JkTzF4dWZWeHVJaXdnSW1OdmJuTjBJRUZNU1VGVElEMGdVM2x0WW05c0xtWnZjaWduZVdGdGJDNWhiR2xoY3ljcE8xeHVZMjl1YzNRZ1JFOURJRDBnVTNsdFltOXNMbVp2Y2lnbmVXRnRiQzVrYjJOMWJXVnVkQ2NwTzF4dVkyOXVjM1FnVFVGUUlEMGdVM2x0WW05c0xtWnZjaWduZVdGdGJDNXRZWEFuS1R0Y2JtTnZibk4wSUZCQlNWSWdQU0JUZVcxaWIyd3VabTl5S0NkNVlXMXNMbkJoYVhJbktUdGNibU52Ym5OMElGTkRRVXhCVWlBOUlGTjViV0p2YkM1bWIzSW9KM2xoYld3dWMyTmhiR0Z5SnlrN1hHNWpiMjV6ZENCVFJWRWdQU0JUZVcxaWIyd3VabTl5S0NkNVlXMXNMbk5sY1NjcE8xeHVZMjl1YzNRZ1RrOUVSVjlVV1ZCRklEMGdVM2x0WW05c0xtWnZjaWduZVdGdGJDNXViMlJsTG5SNWNHVW5LVHRjYm1OdmJuTjBJR2x6UVd4cFlYTWdQU0FvYm05a1pTa2dQVDRnSVNGdWIyUmxJQ1ltSUhSNWNHVnZaaUJ1YjJSbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCdWIyUmxXMDVQUkVWZlZGbFFSVjBnUFQwOUlFRk1TVUZUTzF4dVkyOXVjM1FnYVhORWIyTjFiV1Z1ZENBOUlDaHViMlJsS1NBOVBpQWhJVzV2WkdVZ0ppWWdkSGx3Wlc5bUlHNXZaR1VnUFQwOUlDZHZZbXBsWTNRbklDWW1JRzV2WkdWYlRrOUVSVjlVV1ZCRlhTQTlQVDBnUkU5RE8xeHVZMjl1YzNRZ2FYTk5ZWEFnUFNBb2JtOWtaU2tnUFQ0Z0lTRnViMlJsSUNZbUlIUjVjR1Z2WmlCdWIyUmxJRDA5UFNBbmIySnFaV04wSnlBbUppQnViMlJsVzA1UFJFVmZWRmxRUlYwZ1BUMDlJRTFCVUR0Y2JtTnZibk4wSUdselVHRnBjaUE5SUNodWIyUmxLU0E5UGlBaElXNXZaR1VnSmlZZ2RIbHdaVzltSUc1dlpHVWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHNXZaR1ZiVGs5RVJWOVVXVkJGWFNBOVBUMGdVRUZKVWp0Y2JtTnZibk4wSUdselUyTmhiR0Z5SUQwZ0tHNXZaR1VwSUQwK0lDRWhibTlrWlNBbUppQjBlWEJsYjJZZ2JtOWtaU0E5UFQwZ0oyOWlhbVZqZENjZ0ppWWdibTlrWlZ0T1QwUkZYMVJaVUVWZElEMDlQU0JUUTBGTVFWSTdYRzVqYjI1emRDQnBjMU5sY1NBOUlDaHViMlJsS1NBOVBpQWhJVzV2WkdVZ0ppWWdkSGx3Wlc5bUlHNXZaR1VnUFQwOUlDZHZZbXBsWTNRbklDWW1JRzV2WkdWYlRrOUVSVjlVV1ZCRlhTQTlQVDBnVTBWUk8xeHVablZ1WTNScGIyNGdhWE5EYjJ4c1pXTjBhVzl1S0c1dlpHVXBJSHRjYmlBZ0lDQnBaaUFvYm05a1pTQW1KaUIwZVhCbGIyWWdibTlrWlNBOVBUMGdKMjlpYW1WamRDY3BYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9ibTlrWlZ0T1QwUkZYMVJaVUVWZEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRTFCVURwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1UwVlJPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVmVnh1Wm5WdVkzUnBiMjRnYVhOT2IyUmxLRzV2WkdVcElIdGNiaUFnSUNCcFppQW9ibTlrWlNBbUppQjBlWEJsYjJZZ2JtOWtaU0E5UFQwZ0oyOWlhbVZqZENjcFhHNGdJQ0FnSUNBZ0lITjNhWFJqYUNBb2JtOWtaVnRPVDBSRlgxUlpVRVZkS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElFRk1TVUZUT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCTlFWQTZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRk5EUVV4QlVqcGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdVMFZST2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1ZlZ4dVkyOXVjM1FnYUdGelFXNWphRzl5SUQwZ0tHNXZaR1VwSUQwK0lDaHBjMU5qWVd4aGNpaHViMlJsS1NCOGZDQnBjME52Ykd4bFkzUnBiMjRvYm05a1pTa3BJQ1ltSUNFaGJtOWtaUzVoYm1Ob2IzSTdYRzVjYm1WNGNHOXlkQ0I3SUVGTVNVRlRMQ0JFVDBNc0lFMUJVQ3dnVGs5RVJWOVVXVkJGTENCUVFVbFNMQ0JUUTBGTVFWSXNJRk5GVVN3Z2FHRnpRVzVqYUc5eUxDQnBjMEZzYVdGekxDQnBjME52Ykd4bFkzUnBiMjRzSUdselJHOWpkVzFsYm5Rc0lHbHpUV0Z3TENCcGMwNXZaR1VzSUdselVHRnBjaXdnYVhOVFkyRnNZWElzSUdselUyVnhJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dhWE5FYjJOMWJXVnVkQ3dnYVhOT2IyUmxMQ0JwYzFCaGFYSXNJR2x6UTI5c2JHVmpkR2x2Yml3Z2FYTk5ZWEFzSUdselUyVnhMQ0JwYzFOallXeGhjaXdnYVhOQmJHbGhjeUI5SUdaeWIyMGdKeTR2Ym05a1pYTXZhV1JsYm5ScGRIa3Vhbk1uTzF4dVhHNWpiMjV6ZENCQ1VrVkJTeUE5SUZONWJXSnZiQ2duWW5KbFlXc2dkbWx6YVhRbktUdGNibU52Ym5OMElGTkxTVkFnUFNCVGVXMWliMndvSjNOcmFYQWdZMmhwYkdSeVpXNG5LVHRjYm1OdmJuTjBJRkpGVFU5V1JTQTlJRk41YldKdmJDZ25jbVZ0YjNabElHNXZaR1VuS1R0Y2JpOHFLbHh1SUNvZ1FYQndiSGtnWVNCMmFYTnBkRzl5SUhSdklHRnVJRUZUVkNCdWIyUmxJRzl5SUdSdlkzVnRaVzUwTGx4dUlDcGNiaUFxSUZkaGJHdHpJSFJvY205MVoyZ2dkR2hsSUhSeVpXVWdLR1JsY0hSb0xXWnBjbk4wS1NCemRHRnlkR2x1WnlCbWNtOXRJR0J1YjJSbFlDd2dZMkZzYkdsdVp5QmhYRzRnS2lCZ2RtbHphWFJ2Y21BZ1puVnVZM1JwYjI0Z2QybDBhQ0IwYUhKbFpTQmhjbWQxYldWdWRITTZYRzRnS2lBZ0lDMGdZR3RsZVdBNklFWnZjaUJ6WlhGMVpXNWpaU0IyWVd4MVpYTWdZVzVrSUcxaGNDQmdVR0ZwY21Bc0lIUm9aU0J1YjJSbEozTWdhVzVrWlhnZ2FXNGdkR2hsWEc0Z0tpQWdJQ0FnWTI5c2JHVmpkR2x2Ymk0Z1YybDBhR2x1SUdFZ1lGQmhhWEpnTENCZ0oydGxlU2RnSUc5eUlHQW5kbUZzZFdVbllDd2dZMjl5Y21WemNHOXVaR2x1WjJ4NUxseHVJQ29nSUNBZ0lHQnVkV3hzWUNCbWIzSWdkR2hsSUhKdmIzUWdibTlrWlM1Y2JpQXFJQ0FnTFNCZ2JtOWtaV0E2SUZSb1pTQmpkWEp5Wlc1MElHNXZaR1V1WEc0Z0tpQWdJQzBnWUhCaGRHaGdPaUJVYUdVZ1lXNWpaWE4wY25rZ2IyWWdkR2hsSUdOMWNuSmxiblFnYm05a1pTNWNiaUFxWEc0Z0tpQlVhR1VnY21WMGRYSnVJSFpoYkhWbElHOW1JSFJvWlNCMmFYTnBkRzl5SUcxaGVTQmlaU0IxYzJWa0lIUnZJR052Ym5SeWIyd2dkR2hsSUhSeVlYWmxjbk5oYkRwY2JpQXFJQ0FnTFNCZ2RXNWtaV1pwYm1Wa1lDQW9aR1ZtWVhWc2RDazZJRVJ2SUc1dmRHaHBibWNnWVc1a0lHTnZiblJwYm5WbFhHNGdLaUFnSUMwZ1lIWnBjMmwwTGxOTFNWQmdPaUJFYnlCdWIzUWdkbWx6YVhRZ2RHaGxJR05vYVd4a2NtVnVJRzltSUhSb2FYTWdibTlrWlN3Z1kyOXVkR2x1ZFdVZ2QybDBhQ0J1WlhoMFhHNGdLaUFnSUNBZ2MybGliR2x1WjF4dUlDb2dJQ0F0SUdCMmFYTnBkQzVDVWtWQlMyQTZJRlJsY20xcGJtRjBaU0IwY21GMlpYSnpZV3dnWTI5dGNHeGxkR1ZzZVZ4dUlDb2dJQ0F0SUdCMmFYTnBkQzVTUlUxUFZrVmdPaUJTWlcxdmRtVWdkR2hsSUdOMWNuSmxiblFnYm05a1pTd2dkR2hsYmlCamIyNTBhVzUxWlNCM2FYUm9JSFJvWlNCdVpYaDBJRzl1WlZ4dUlDb2dJQ0F0SUdCT2IyUmxZRG9nVW1Wd2JHRmpaU0IwYUdVZ1kzVnljbVZ1ZENCdWIyUmxMQ0IwYUdWdUlHTnZiblJwYm5WbElHSjVJSFpwYzJsMGFXNW5JR2wwWEc0Z0tpQWdJQzBnWUc1MWJXSmxjbUE2SUZkb2FXeGxJR2wwWlhKaGRHbHVaeUIwYUdVZ2FYUmxiWE1nYjJZZ1lTQnpaWEYxWlc1alpTQnZjaUJ0WVhBc0lITmxkQ0IwYUdVZ2FXNWtaWGhjYmlBcUlDQWdJQ0J2WmlCMGFHVWdibVY0ZENCemRHVndMaUJVYUdseklHbHpJSFZ6WldaMWJDQmxjM0JsWTJsaGJHeDVJR2xtSUhSb1pTQnBibVJsZUNCdlppQjBhR1VnWTNWeWNtVnVkRnh1SUNvZ0lDQWdJRzV2WkdVZ2FHRnpJR05vWVc1blpXUXVYRzRnS2x4dUlDb2dTV1lnWUhacGMybDBiM0pnSUdseklHRWdjMmx1WjJ4bElHWjFibU4wYVc5dUxDQnBkQ0IzYVd4c0lHSmxJR05oYkd4bFpDQjNhWFJvSUdGc2JDQjJZV3gxWlhOY2JpQXFJR1Z1WTI5MWJuUmxjbVZrSUdsdUlIUm9aU0IwY21WbExDQnBibU5zZFdScGJtY2daUzVuTGlCZ2JuVnNiR0FnZG1Gc2RXVnpMaUJCYkhSbGNtNWhkR2wyWld4NUxGeHVJQ29nYzJWd1lYSmhkR1VnZG1semFYUnZjaUJtZFc1amRHbHZibk1nYldGNUlHSmxJR1JsWm1sdVpXUWdabTl5SUdWaFkyZ2dZRTFoY0dBc0lHQlFZV2x5WUN3Z1lGTmxjV0FzWEc0Z0tpQmdRV3hwWVhOZ0lHRnVaQ0JnVTJOaGJHRnlZQ0J1YjJSbExpQlVieUJrWldacGJtVWdkR2hsSUhOaGJXVWdkbWx6YVhSdmNpQm1kVzVqZEdsdmJpQm1iM0lnYlc5eVpTQjBhR0Z1WEc0Z0tpQnZibVVnYm05a1pTQjBlWEJsTENCMWMyVWdkR2hsSUdCRGIyeHNaV04wYVc5dVlDQW9iV0Z3SUdGdVpDQnpaWEVwTENCZ1ZtRnNkV1ZnSUNodFlYQXNJSE5sY1NBbUlITmpZV3hoY2lsY2JpQXFJR0Z1WkNCZ1RtOWtaV0FnS0dGc2FXRnpMQ0J0WVhBc0lITmxjU0FtSUhOallXeGhjaWtnZEdGeVoyVjBjeTRnVDJZZ1lXeHNJSFJvWlhObExDQnZibXg1SUhSb1pTQnRiM04wWEc0Z0tpQnpjR1ZqYVdacFl5QmtaV1pwYm1Wa0lHOXVaU0IzYVd4c0lHSmxJSFZ6WldRZ1ptOXlJR1ZoWTJnZ2JtOWtaUzVjYmlBcUwxeHVablZ1WTNScGIyNGdkbWx6YVhRb2JtOWtaU3dnZG1semFYUnZjaWtnZTF4dUlDQWdJR052Ym5OMElIWnBjMmwwYjNKZklEMGdhVzVwZEZacGMybDBiM0lvZG1semFYUnZjaWs3WEc0Z0lDQWdhV1lnS0dselJHOWpkVzFsYm5Rb2JtOWtaU2twSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTJRZ1BTQjJhWE5wZEY4b2JuVnNiQ3dnYm05a1pTNWpiMjUwWlc1MGN5d2dkbWx6YVhSdmNsOHNJRTlpYW1WamRDNW1jbVZsZW1Vb1cyNXZaR1ZkS1NrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqWkNBOVBUMGdVa1ZOVDFaRktWeHVJQ0FnSUNBZ0lDQWdJQ0FnYm05a1pTNWpiMjUwWlc1MGN5QTlJRzUxYkd3N1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ2RtbHphWFJmS0c1MWJHd3NJRzV2WkdVc0lIWnBjMmwwYjNKZkxDQlBZbXBsWTNRdVpuSmxaWHBsS0Z0ZEtTazdYRzU5WEc0dkx5QlhhWFJvYjNWMElIUm9aU0JnWVhNZ2MzbHRZbTlzWUNCallYTjBjeXdnVkZNZ1pHVmpiR0Z5WlhNZ2RHaGxjMlVnYVc0Z2RHaGxJR0IyYVhOcGRHQmNiaTh2SUc1aGJXVnpjR0ZqWlNCMWMybHVaeUJnZG1GeVlDd2dZblYwSUhSb1pXNGdZMjl0Y0d4aGFXNXpJR0ZpYjNWMElIUm9ZWFFnWW1WallYVnpaVnh1THk4Z1lIVnVhWEYxWlNCemVXMWliMnhnSUcxMWMzUWdZbVVnWUdOdmJuTjBZQzVjYmk4cUtpQlVaWEp0YVc1aGRHVWdkbWx6YVhRZ2RISmhkbVZ5YzJGc0lHTnZiWEJzWlhSbGJIa2dLaTljYm5acGMybDBMa0pTUlVGTElEMGdRbEpGUVVzN1hHNHZLaW9nUkc4Z2JtOTBJSFpwYzJsMElIUm9aU0JqYUdsc1pISmxiaUJ2WmlCMGFHVWdZM1Z5Y21WdWRDQnViMlJsSUNvdlhHNTJhWE5wZEM1VFMwbFFJRDBnVTB0SlVEdGNiaThxS2lCU1pXMXZkbVVnZEdobElHTjFjbkpsYm5RZ2JtOWtaU0FxTDF4dWRtbHphWFF1VWtWTlQxWkZJRDBnVWtWTlQxWkZPMXh1Wm5WdVkzUnBiMjRnZG1semFYUmZLR3RsZVN3Z2JtOWtaU3dnZG1semFYUnZjaXdnY0dGMGFDa2dlMXh1SUNBZ0lHTnZibk4wSUdOMGNtd2dQU0JqWVd4c1ZtbHphWFJ2Y2loclpYa3NJRzV2WkdVc0lIWnBjMmwwYjNJc0lIQmhkR2dwTzF4dUlDQWdJR2xtSUNocGMwNXZaR1VvWTNSeWJDa2dmSHdnYVhOUVlXbHlLR04wY213cEtTQjdYRzRnSUNBZ0lDQWdJSEpsY0d4aFkyVk9iMlJsS0d0bGVTd2djR0YwYUN3Z1kzUnliQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyYVhOcGRGOG9hMlY1TENCamRISnNMQ0IyYVhOcGRHOXlMQ0J3WVhSb0tUdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamRISnNJQ0U5UFNBbmMzbHRZbTlzSnlrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhORGIyeHNaV04wYVc5dUtHNXZaR1VwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3WVhSb0lEMGdUMkpxWldOMExtWnlaV1Y2WlNod1lYUm9MbU52Ym1OaGRDaHViMlJsS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1dlpHVXVhWFJsYlhNdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmphU0E5SUhacGMybDBYeWhwTENCdWIyUmxMbWwwWlcxelcybGRMQ0IyYVhOcGRHOXlMQ0J3WVhSb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR05wSUQwOVBTQW5iblZ0WW1WeUp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBOUlHTnBJQzBnTVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoamFTQTlQVDBnUWxKRlFVc3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJDVWtWQlN6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGphU0E5UFQwZ1VrVk5UMVpGS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzV2WkdVdWFYUmxiWE11YzNCc2FXTmxLR2tzSURFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwSUMwOUlERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR2x6VUdGcGNpaHViMlJsS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY0dGMGFDQTlJRTlpYW1WamRDNW1jbVZsZW1Vb2NHRjBhQzVqYjI1allYUW9ibTlrWlNrcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZMnNnUFNCMmFYTnBkRjhvSjJ0bGVTY3NJRzV2WkdVdWEyVjVMQ0IyYVhOcGRHOXlMQ0J3WVhSb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpheUE5UFQwZ1FsSkZRVXNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRUpTUlVGTE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWTJzZ1BUMDlJRkpGVFU5V1JTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViMlJsTG10bGVTQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmpkaUE5SUhacGMybDBYeWduZG1Gc2RXVW5MQ0J1YjJSbExuWmhiSFZsTENCMmFYTnBkRzl5TENCd1lYUm9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqZGlBOVBUMGdRbEpGUVVzcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVKU1JVRkxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1kzWWdQVDA5SUZKRlRVOVdSU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YjJSbExuWmhiSFZsSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1kzUnliRHRjYm4xY2JpOHFLbHh1SUNvZ1FYQndiSGtnWVc0Z1lYTjVibU1nZG1semFYUnZjaUIwYnlCaGJpQkJVMVFnYm05a1pTQnZjaUJrYjJOMWJXVnVkQzVjYmlBcVhHNGdLaUJYWVd4cmN5QjBhSEp2ZFdkb0lIUm9aU0IwY21WbElDaGtaWEIwYUMxbWFYSnpkQ2tnYzNSaGNuUnBibWNnWm5KdmJTQmdibTlrWldBc0lHTmhiR3hwYm1jZ1lWeHVJQ29nWUhacGMybDBiM0pnSUdaMWJtTjBhVzl1SUhkcGRHZ2dkR2h5WldVZ1lYSm5kVzFsYm5Sek9seHVJQ29nSUNBdElHQnJaWGxnT2lCR2IzSWdjMlZ4ZFdWdVkyVWdkbUZzZFdWeklHRnVaQ0J0WVhBZ1lGQmhhWEpnTENCMGFHVWdibTlrWlNkeklHbHVaR1Y0SUdsdUlIUm9aVnh1SUNvZ0lDQWdJR052Ykd4bFkzUnBiMjR1SUZkcGRHaHBiaUJoSUdCUVlXbHlZQ3dnWUNkclpYa25ZQ0J2Y2lCZ0ozWmhiSFZsSjJBc0lHTnZjbkpsYzNCdmJtUnBibWRzZVM1Y2JpQXFJQ0FnSUNCZ2JuVnNiR0FnWm05eUlIUm9aU0J5YjI5MElHNXZaR1V1WEc0Z0tpQWdJQzBnWUc1dlpHVmdPaUJVYUdVZ1kzVnljbVZ1ZENCdWIyUmxMbHh1SUNvZ0lDQXRJR0J3WVhSb1lEb2dWR2hsSUdGdVkyVnpkSEo1SUc5bUlIUm9aU0JqZFhKeVpXNTBJRzV2WkdVdVhHNGdLbHh1SUNvZ1ZHaGxJSEpsZEhWeWJpQjJZV3gxWlNCdlppQjBhR1VnZG1semFYUnZjaUJ0WVhrZ1ltVWdkWE5sWkNCMGJ5QmpiMjUwY205c0lIUm9aU0IwY21GMlpYSnpZV3c2WEc0Z0tpQWdJQzBnWUZCeWIyMXBjMlZnT2lCTmRYTjBJSEpsYzI5c2RtVWdkRzhnYjI1bElHOW1JSFJvWlNCbWIyeHNiM2RwYm1jZ2RtRnNkV1Z6WEc0Z0tpQWdJQzBnWUhWdVpHVm1hVzVsWkdBZ0tHUmxabUYxYkhRcE9pQkVieUJ1YjNSb2FXNW5JR0Z1WkNCamIyNTBhVzUxWlZ4dUlDb2dJQ0F0SUdCMmFYTnBkQzVUUzBsUVlEb2dSRzhnYm05MElIWnBjMmwwSUhSb1pTQmphR2xzWkhKbGJpQnZaaUIwYUdseklHNXZaR1VzSUdOdmJuUnBiblZsSUhkcGRHZ2dibVY0ZEZ4dUlDb2dJQ0FnSUhOcFlteHBibWRjYmlBcUlDQWdMU0JnZG1semFYUXVRbEpGUVV0Z09pQlVaWEp0YVc1aGRHVWdkSEpoZG1WeWMyRnNJR052YlhCc1pYUmxiSGxjYmlBcUlDQWdMU0JnZG1semFYUXVVa1ZOVDFaRllEb2dVbVZ0YjNabElIUm9aU0JqZFhKeVpXNTBJRzV2WkdVc0lIUm9aVzRnWTI5dWRHbHVkV1VnZDJsMGFDQjBhR1VnYm1WNGRDQnZibVZjYmlBcUlDQWdMU0JnVG05a1pXQTZJRkpsY0d4aFkyVWdkR2hsSUdOMWNuSmxiblFnYm05a1pTd2dkR2hsYmlCamIyNTBhVzUxWlNCaWVTQjJhWE5wZEdsdVp5QnBkRnh1SUNvZ0lDQXRJR0J1ZFcxaVpYSmdPaUJYYUdsc1pTQnBkR1Z5WVhScGJtY2dkR2hsSUdsMFpXMXpJRzltSUdFZ2MyVnhkV1Z1WTJVZ2IzSWdiV0Z3TENCelpYUWdkR2hsSUdsdVpHVjRYRzRnS2lBZ0lDQWdiMllnZEdobElHNWxlSFFnYzNSbGNDNGdWR2hwY3lCcGN5QjFjMlZtZFd3Z1pYTndaV05wWVd4c2VTQnBaaUIwYUdVZ2FXNWtaWGdnYjJZZ2RHaGxJR04xY25KbGJuUmNiaUFxSUNBZ0lDQnViMlJsSUdoaGN5QmphR0Z1WjJWa0xseHVJQ3BjYmlBcUlFbG1JR0IyYVhOcGRHOXlZQ0JwY3lCaElITnBibWRzWlNCbWRXNWpkR2x2Yml3Z2FYUWdkMmxzYkNCaVpTQmpZV3hzWldRZ2QybDBhQ0JoYkd3Z2RtRnNkV1Z6WEc0Z0tpQmxibU52ZFc1MFpYSmxaQ0JwYmlCMGFHVWdkSEpsWlN3Z2FXNWpiSFZrYVc1bklHVXVaeTRnWUc1MWJHeGdJSFpoYkhWbGN5NGdRV3gwWlhKdVlYUnBkbVZzZVN4Y2JpQXFJSE5sY0dGeVlYUmxJSFpwYzJsMGIzSWdablZ1WTNScGIyNXpJRzFoZVNCaVpTQmtaV1pwYm1Wa0lHWnZjaUJsWVdOb0lHQk5ZWEJnTENCZ1VHRnBjbUFzSUdCVFpYRmdMRnh1SUNvZ1lFRnNhV0Z6WUNCaGJtUWdZRk5qWVd4aGNtQWdibTlrWlM0Z1ZHOGdaR1ZtYVc1bElIUm9aU0J6WVcxbElIWnBjMmwwYjNJZ1puVnVZM1JwYjI0Z1ptOXlJRzF2Y21VZ2RHaGhibHh1SUNvZ2IyNWxJRzV2WkdVZ2RIbHdaU3dnZFhObElIUm9aU0JnUTI5c2JHVmpkR2x2Ym1BZ0tHMWhjQ0JoYm1RZ2MyVnhLU3dnWUZaaGJIVmxZQ0FvYldGd0xDQnpaWEVnSmlCelkyRnNZWElwWEc0Z0tpQmhibVFnWUU1dlpHVmdJQ2hoYkdsaGN5d2diV0Z3TENCelpYRWdKaUJ6WTJGc1lYSXBJSFJoY21kbGRITXVJRTltSUdGc2JDQjBhR1Z6WlN3Z2IyNXNlU0IwYUdVZ2JXOXpkRnh1SUNvZ2MzQmxZMmxtYVdNZ1pHVm1hVzVsWkNCdmJtVWdkMmxzYkNCaVpTQjFjMlZrSUdadmNpQmxZV05vSUc1dlpHVXVYRzRnS2k5Y2JtRnplVzVqSUdaMWJtTjBhVzl1SUhacGMybDBRWE41Ym1Nb2JtOWtaU3dnZG1semFYUnZjaWtnZTF4dUlDQWdJR052Ym5OMElIWnBjMmwwYjNKZklEMGdhVzVwZEZacGMybDBiM0lvZG1semFYUnZjaWs3WEc0Z0lDQWdhV1lnS0dselJHOWpkVzFsYm5Rb2JtOWtaU2twSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTJRZ1BTQmhkMkZwZENCMmFYTnBkRUZ6ZVc1alh5aHVkV3hzTENCdWIyUmxMbU52Ym5SbGJuUnpMQ0IyYVhOcGRHOXlYeXdnVDJKcVpXTjBMbVp5WldWNlpTaGJibTlrWlYwcEtUdGNiaUFnSUNBZ0lDQWdhV1lnS0dOa0lEMDlQU0JTUlUxUFZrVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxMbU52Ym5SbGJuUnpJRDBnYm5Wc2JEdGNiaUFnSUNCOVhHNGdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQmhkMkZwZENCMmFYTnBkRUZ6ZVc1alh5aHVkV3hzTENCdWIyUmxMQ0IyYVhOcGRHOXlYeXdnVDJKcVpXTjBMbVp5WldWNlpTaGJYU2twTzF4dWZWeHVMeThnVjJsMGFHOTFkQ0IwYUdVZ1lHRnpJSE41YldKdmJHQWdZMkZ6ZEhNc0lGUlRJR1JsWTJ4aGNtVnpJSFJvWlhObElHbHVJSFJvWlNCZ2RtbHphWFJnWEc0dkx5QnVZVzFsYzNCaFkyVWdkWE5wYm1jZ1lIWmhjbUFzSUdKMWRDQjBhR1Z1SUdOdmJYQnNZV2x1Y3lCaFltOTFkQ0IwYUdGMElHSmxZMkYxYzJWY2JpOHZJR0IxYm1seGRXVWdjM2x0WW05c1lDQnRkWE4wSUdKbElHQmpiMjV6ZEdBdVhHNHZLaW9nVkdWeWJXbHVZWFJsSUhacGMybDBJSFJ5WVhabGNuTmhiQ0JqYjIxd2JHVjBaV3g1SUNvdlhHNTJhWE5wZEVGemVXNWpMa0pTUlVGTElEMGdRbEpGUVVzN1hHNHZLaW9nUkc4Z2JtOTBJSFpwYzJsMElIUm9aU0JqYUdsc1pISmxiaUJ2WmlCMGFHVWdZM1Z5Y21WdWRDQnViMlJsSUNvdlhHNTJhWE5wZEVGemVXNWpMbE5MU1ZBZ1BTQlRTMGxRTzF4dUx5b3FJRkpsYlc5MlpTQjBhR1VnWTNWeWNtVnVkQ0J1YjJSbElDb3ZYRzUyYVhOcGRFRnplVzVqTGxKRlRVOVdSU0E5SUZKRlRVOVdSVHRjYm1GemVXNWpJR1oxYm1OMGFXOXVJSFpwYzJsMFFYTjVibU5mS0d0bGVTd2dibTlrWlN3Z2RtbHphWFJ2Y2l3Z2NHRjBhQ2tnZTF4dUlDQWdJR052Ym5OMElHTjBjbXdnUFNCaGQyRnBkQ0JqWVd4c1ZtbHphWFJ2Y2loclpYa3NJRzV2WkdVc0lIWnBjMmwwYjNJc0lIQmhkR2dwTzF4dUlDQWdJR2xtSUNocGMwNXZaR1VvWTNSeWJDa2dmSHdnYVhOUVlXbHlLR04wY213cEtTQjdYRzRnSUNBZ0lDQWdJSEpsY0d4aFkyVk9iMlJsS0d0bGVTd2djR0YwYUN3Z1kzUnliQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyYVhOcGRFRnplVzVqWHloclpYa3NJR04wY213c0lIWnBjMmwwYjNJc0lIQmhkR2dwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR04wY213Z0lUMDlJQ2R6ZVcxaWIyd25LU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBjME52Ykd4bFkzUnBiMjRvYm05a1pTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhkR2dnUFNCUFltcGxZM1F1Wm5KbFpYcGxLSEJoZEdndVkyOXVZMkYwS0c1dlpHVXBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dibTlrWlM1cGRHVnRjeTVzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOcElEMGdZWGRoYVhRZ2RtbHphWFJCYzNsdVkxOG9hU3dnYm05a1pTNXBkR1Z0YzF0cFhTd2dkbWx6YVhSdmNpd2djR0YwYUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQmphU0E5UFQwZ0oyNTFiV0psY2ljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2tnUFNCamFTQXRJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWTJrZ1BUMDlJRUpTUlVGTEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdRbEpGUVVzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1kya2dQVDA5SUZKRlRVOVdSU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViMlJsTG1sMFpXMXpMbk53YkdsalpTaHBMQ0F4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0F0UFNBeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHBjMUJoYVhJb2JtOWtaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJoZEdnZ1BTQlBZbXBsWTNRdVpuSmxaWHBsS0hCaGRHZ3VZMjl1WTJGMEtHNXZaR1VwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTnJJRDBnWVhkaGFYUWdkbWx6YVhSQmMzbHVZMThvSjJ0bGVTY3NJRzV2WkdVdWEyVjVMQ0IyYVhOcGRHOXlMQ0J3WVhSb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpheUE5UFQwZ1FsSkZRVXNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRUpTUlVGTE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWTJzZ1BUMDlJRkpGVFU5V1JTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViMlJsTG10bGVTQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmpkaUE5SUdGM1lXbDBJSFpwYzJsMFFYTjVibU5mS0NkMllXeDFaU2NzSUc1dlpHVXVkbUZzZFdVc0lIWnBjMmwwYjNJc0lIQmhkR2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOMklEMDlQU0JDVWtWQlN5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1FsSkZRVXM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGpkaUE5UFQwZ1VrVk5UMVpGS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc1dlpHVXVkbUZzZFdVZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmpkSEpzTzF4dWZWeHVablZ1WTNScGIyNGdhVzVwZEZacGMybDBiM0lvZG1semFYUnZjaWtnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnZG1semFYUnZjaUE5UFQwZ0oyOWlhbVZqZENjZ0ppWmNiaUFnSUNBZ0lDQWdLSFpwYzJsMGIzSXVRMjlzYkdWamRHbHZiaUI4ZkNCMmFYTnBkRzl5TGs1dlpHVWdmSHdnZG1semFYUnZjaTVXWVd4MVpTa3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRTlpYW1WamRDNWhjM05wWjI0b2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnUVd4cFlYTTZJSFpwYzJsMGIzSXVUbTlrWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRTFoY0RvZ2RtbHphWFJ2Y2k1T2IyUmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1UyTmhiR0Z5T2lCMmFYTnBkRzl5TGs1dlpHVXNYRzRnSUNBZ0lDQWdJQ0FnSUNCVFpYRTZJSFpwYzJsMGIzSXVUbTlrWlZ4dUlDQWdJQ0FnSUNCOUxDQjJhWE5wZEc5eUxsWmhiSFZsSUNZbUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUUxaGNEb2dkbWx6YVhSdmNpNVdZV3gxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRk5qWVd4aGNqb2dkbWx6YVhSdmNpNVdZV3gxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRk5sY1RvZ2RtbHphWFJ2Y2k1V1lXeDFaVnh1SUNBZ0lDQWdJQ0I5TENCMmFYTnBkRzl5TGtOdmJHeGxZM1JwYjI0Z0ppWWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1RXRndPaUIyYVhOcGRHOXlMa052Ykd4bFkzUnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ0lDQlRaWEU2SUhacGMybDBiM0l1UTI5c2JHVmpkR2x2Ymx4dUlDQWdJQ0FnSUNCOUxDQjJhWE5wZEc5eUtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFpwYzJsMGIzSTdYRzU5WEc1bWRXNWpkR2x2YmlCallXeHNWbWx6YVhSdmNpaHJaWGtzSUc1dlpHVXNJSFpwYzJsMGIzSXNJSEJoZEdncElIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlIWnBjMmwwYjNJZ1BUMDlJQ2RtZFc1amRHbHZiaWNwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyYVhOcGRHOXlLR3RsZVN3Z2JtOWtaU3dnY0dGMGFDazdYRzRnSUNBZ2FXWWdLR2x6VFdGd0tHNXZaR1VwS1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZG1semFYUnZjaTVOWVhBL0xpaHJaWGtzSUc1dlpHVXNJSEJoZEdncE8xeHVJQ0FnSUdsbUlDaHBjMU5sY1NodWIyUmxLU2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFpwYzJsMGIzSXVVMlZ4UHk0b2EyVjVMQ0J1YjJSbExDQndZWFJvS1R0Y2JpQWdJQ0JwWmlBb2FYTlFZV2x5S0c1dlpHVXBLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkbWx6YVhSdmNpNVFZV2x5UHk0b2EyVjVMQ0J1YjJSbExDQndZWFJvS1R0Y2JpQWdJQ0JwWmlBb2FYTlRZMkZzWVhJb2JtOWtaU2twWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyYVhOcGRHOXlMbE5qWVd4aGNqOHVLR3RsZVN3Z2JtOWtaU3dnY0dGMGFDazdYRzRnSUNBZ2FXWWdLR2x6UVd4cFlYTW9ibTlrWlNrcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMmFYTnBkRzl5TGtGc2FXRnpQeTRvYTJWNUxDQnViMlJsTENCd1lYUm9LVHRjYmlBZ0lDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVmVnh1Wm5WdVkzUnBiMjRnY21Wd2JHRmpaVTV2WkdVb2EyVjVMQ0J3WVhSb0xDQnViMlJsS1NCN1hHNGdJQ0FnWTI5dWMzUWdjR0Z5Wlc1MElEMGdjR0YwYUZ0d1lYUm9MbXhsYm1kMGFDQXRJREZkTzF4dUlDQWdJR2xtSUNocGMwTnZiR3hsWTNScGIyNG9jR0Z5Wlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0J3WVhKbGJuUXVhWFJsYlhOYmEyVjVYU0E5SUc1dlpHVTdYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdhV1lnS0dselVHRnBjaWh3WVhKbGJuUXBLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHJaWGtnUFQwOUlDZHJaWGtuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjR0Z5Wlc1MExtdGxlU0E5SUc1dlpHVTdYRzRnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJSEJoY21WdWRDNTJZV3gxWlNBOUlHNXZaR1U3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnYVdZZ0tHbHpSRzlqZFcxbGJuUW9jR0Z5Wlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0J3WVhKbGJuUXVZMjl1ZEdWdWRITWdQU0J1YjJSbE8xeHVJQ0FnSUgxY2JpQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NIUWdQU0JwYzBGc2FXRnpLSEJoY21WdWRDa2dQeUFuWVd4cFlYTW5JRG9nSjNOallXeGhjaWM3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhnUTJGdWJtOTBJSEpsY0d4aFkyVWdibTlrWlNCM2FYUm9JQ1I3Y0hSOUlIQmhjbVZ1ZEdBcE8xeHVJQ0FnSUgxY2JuMWNibHh1Wlhod2IzSjBJSHNnZG1semFYUXNJSFpwYzJsMFFYTjVibU1nZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJwYzA1dlpHVWdmU0JtY205dElDY3VMaTl1YjJSbGN5OXBaR1Z1ZEdsMGVTNXFjeWM3WEc1cGJYQnZjblFnZXlCMmFYTnBkQ0I5SUdaeWIyMGdKeTR1TDNacGMybDBMbXB6Snp0Y2JseHVZMjl1YzNRZ1pYTmpZWEJsUTJoaGNuTWdQU0I3WEc0Z0lDQWdKeUVuT2lBbkpUSXhKeXhjYmlBZ0lDQW5MQ2M2SUNjbE1rTW5MRnh1SUNBZ0lDZGJKem9nSnlVMVFpY3NYRzRnSUNBZ0oxMG5PaUFuSlRWRUp5eGNiaUFnSUNBbmV5YzZJQ2NsTjBJbkxGeHVJQ0FnSUNkOUp6b2dKeVUzUkNkY2JuMDdYRzVqYjI1emRDQmxjMk5oY0dWVVlXZE9ZVzFsSUQwZ0tIUnVLU0E5UGlCMGJpNXlaWEJzWVdObEtDOWJJU3hiWEZ4ZGUzMWRMMmNzSUdOb0lEMCtJR1Z6WTJGd1pVTm9ZWEp6VzJOb1hTazdYRzVqYkdGemN5QkVhWEpsWTNScGRtVnpJSHRjYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWg1WVcxc0xDQjBZV2R6S1NCN1hHNGdJQ0FnSUNBZ0lDOHFLbHh1SUNBZ0lDQWdJQ0FnS2lCVWFHVWdaR2x5WldOMGFYWmxjeTFsYm1RdlpHOWpMWE4wWVhKMElHMWhjbXRsY2lCZ0xTMHRZQzRnU1dZZ1lHNTFiR3hnTENCaElHMWhjbXRsY2lCdFlYa2djM1JwYkd3Z1ltVmNiaUFnSUNBZ0lDQWdJQ29nYVc1amJIVmtaV1FnYVc0Z2RHaGxJR1J2WTNWdFpXNTBKM01nYzNSeWFXNW5hV1pwWldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjR1WEc0Z0lDQWdJQ0FnSUNBcUwxeHVJQ0FnSUNBZ0lDQjBhR2x6TG1SdlkxTjBZWEowSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnTHlvcUlGUm9aU0JrYjJNdFpXNWtJRzFoY210bGNpQmdMaTR1WUM0Z0lDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdVpHOWpSVzVrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlV0Z0YkNBOUlFOWlhbVZqZEM1aGMzTnBaMjRvZTMwc0lFUnBjbVZqZEdsMlpYTXVaR1ZtWVhWc2RGbGhiV3dzSUhsaGJXd3BPMXh1SUNBZ0lDQWdJQ0IwYUdsekxuUmhaM01nUFNCUFltcGxZM1F1WVhOemFXZHVLSHQ5TENCRWFYSmxZM1JwZG1WekxtUmxabUYxYkhSVVlXZHpMQ0IwWVdkektUdGNiaUFnSUNCOVhHNGdJQ0FnWTJ4dmJtVW9LU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR052Y0hrZ1BTQnVaWGNnUkdseVpXTjBhWFpsY3loMGFHbHpMbmxoYld3c0lIUm9hWE11ZEdGbmN5azdYRzRnSUNBZ0lDQWdJR052Y0hrdVpHOWpVM1JoY25RZ1BTQjBhR2x6TG1SdlkxTjBZWEowTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTI5d2VUdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1JIVnlhVzVuSUhCaGNuTnBibWNzSUdkbGRDQmhJRVJwY21WamRHbDJaWE1nYVc1emRHRnVZMlVnWm05eUlIUm9aU0JqZFhKeVpXNTBJR1J2WTNWdFpXNTBJR0Z1WkZ4dUlDQWdJQ0FxSUhWd1pHRjBaU0IwYUdVZ2MzUnlaV0Z0SUhOMFlYUmxJR0ZqWTI5eVpHbHVaeUIwYnlCMGFHVWdZM1Z5Y21WdWRDQjJaWEp6YVc5dUozTWdjM0JsWXk1Y2JpQWdJQ0FnS2k5Y2JpQWdJQ0JoZEVSdlkzVnRaVzUwS0NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTWdQU0J1WlhjZ1JHbHlaV04wYVhabGN5aDBhR2x6TG5saGJXd3NJSFJvYVhNdWRHRm5jeWs3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvZEdocGN5NTVZVzFzTG5abGNuTnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p6RXVNU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWhkRTVsZUhSRWIyTjFiV1Z1ZENBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2N4TGpJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WVhST1pYaDBSRzlqZFcxbGJuUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5saGJXd2dQU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjRjR3hwWTJsME9pQkVhWEpsWTNScGRtVnpMbVJsWm1GMWJIUlpZVzFzTG1WNGNHeHBZMmwwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJaWEp6YVc5dU9pQW5NUzR5SjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUwWVdkeklEMGdUMkpxWldOMExtRnpjMmxuYmloN2ZTd2dSR2x5WldOMGFYWmxjeTVrWldaaGRXeDBWR0ZuY3lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUc5dVJYSnliM0lnTFNCTllYa2dZbVVnWTJGc2JHVmtJR1YyWlc0Z2FXWWdkR2hsSUdGamRHbHZiaUIzWVhNZ2MzVmpZMlZ6YzJaMWJGeHVJQ0FnSUNBcUlFQnlaWFIxY201eklHQjBjblZsWUNCdmJpQnpkV05qWlhOelhHNGdJQ0FnSUNvdlhHNGdJQ0FnWVdSa0tHeHBibVVzSUc5dVJYSnliM0lwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdVlYUk9aWGgwUkc5amRXMWxiblFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWVXRnRiQ0E5SUhzZ1pYaHdiR2xqYVhRNklFUnBjbVZqZEdsMlpYTXVaR1ZtWVhWc2RGbGhiV3d1Wlhod2JHbGphWFFzSUhabGNuTnBiMjQ2SUNjeExqRW5JSDA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5SaFozTWdQU0JQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0JFYVhKbFkzUnBkbVZ6TG1SbFptRjFiSFJVWVdkektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVZWFJPWlhoMFJHOWpkVzFsYm5RZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd1lYSjBjeUE5SUd4cGJtVXVkSEpwYlNncExuTndiR2wwS0M5YklGeGNkRjByTHlrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc1aGJXVWdQU0J3WVhKMGN5NXphR2xtZENncE8xeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tHNWhiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p5VlVRVWNuT2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEJoY25SekxteGxibWQwYUNBaFBUMGdNaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtEQXNJQ2NsVkVGSElHUnBjbVZqZEdsMlpTQnphRzkxYkdRZ1kyOXVkR0ZwYmlCbGVHRmpkR3g1SUhSM2J5QndZWEowY3ljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NHRnlkSE11YkdWdVozUm9JRHdnTWlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1cyaGhibVJzWlN3Z2NISmxabWw0WFNBOUlIQmhjblJ6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkR0ZuYzF0b1lXNWtiR1ZkSUQwZ2NISmxabWw0TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbkpWbEJUVXduT2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTU1WVcxc0xtVjRjR3hwWTJsMElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jR0Z5ZEhNdWJHVnVaM1JvSUNFOVBTQXhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb01Dd2dKeVZaUVUxTUlHUnBjbVZqZEdsMlpTQnphRzkxYkdRZ1kyOXVkR0ZwYmlCbGVHRmpkR3g1SUc5dVpTQndZWEowSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnVzNabGNuTnBiMjVkSUQwZ2NHRnlkSE03WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWmxjbk5wYjI0Z1BUMDlJQ2N4TGpFbklIeDhJSFpsY25OcGIyNGdQVDA5SUNjeExqSW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZVdGdGJDNTJaWEp6YVc5dUlEMGdkbVZ5YzJsdmJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcGMxWmhiR2xrSUQwZ0wxNWNYR1FyWEZ3dVhGeGtLeVF2TG5SbGMzUW9kbVZ5YzJsdmJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvTml3Z1lGVnVjM1Z3Y0c5eWRHVmtJRmxCVFV3Z2RtVnljMmx2YmlBa2UzWmxjbk5wYjI1OVlDd2dhWE5XWVd4cFpDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9NQ3dnWUZWdWEyNXZkMjRnWkdseVpXTjBhWFpsSUNSN2JtRnRaWDFnTENCMGNuVmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1VtVnpiMngyWlhNZ1lTQjBZV2NzSUcxaGRHTm9hVzVuSUdoaGJtUnNaWE1nZEc4Z2RHaHZjMlVnWkdWbWFXNWxaQ0JwYmlBbFZFRkhJR1JwY21WamRHbDJaWE11WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUJTWlhOdmJIWmxaQ0IwWVdjc0lIZG9hV05vSUcxaGVTQmhiSE52SUdKbElIUm9aU0J1YjI0dGMzQmxZMmxtYVdNZ2RHRm5JR0FuSVNkZ0lHOXlJR0ZjYmlBZ0lDQWdLaUFnSUdBbklXeHZZMkZzSjJBZ2RHRm5MQ0J2Y2lCZ2JuVnNiR0FnYVdZZ2RXNXlaWE52YkhaaFlteGxMbHh1SUNBZ0lDQXFMMXh1SUNBZ0lIUmhaMDVoYldVb2MyOTFjbU5sTENCdmJrVnljbTl5S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h6YjNWeVkyVWdQVDA5SUNjaEp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuSVNjN0lDOHZJRzV2YmkxemNHVmphV1pwWXlCMFlXZGNiaUFnSUNBZ0lDQWdhV1lnS0hOdmRYSmpaVnN3WFNBaFBUMGdKeUVuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLR0JPYjNRZ1lTQjJZV3hwWkNCMFlXYzZJQ1I3YzI5MWNtTmxmV0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSE52ZFhKalpWc3hYU0E5UFQwZ0p6d25LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCMlpYSmlZWFJwYlNBOUlITnZkWEpqWlM1emJHbGpaU2d5TENBdE1TazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kbVZ5WW1GMGFXMGdQVDA5SUNjaEp5QjhmQ0IyWlhKaVlYUnBiU0E5UFQwZ0p5RWhKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvWUZabGNtSmhkR2x0SUhSaFozTWdZWEpsYmlkMElISmxjMjlzZG1Wa0xDQnpieUFrZTNOdmRYSmpaWDBnYVhNZ2FXNTJZV3hwWkM1Z0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHpiM1Z5WTJWYmMyOTFjbU5sTG14bGJtZDBhQ0F0SURGZElDRTlQU0FuUGljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2lnblZtVnlZbUYwYVcwZ2RHRm5jeUJ0ZFhOMElHVnVaQ0IzYVhSb0lHRWdQaWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIWmxjbUpoZEdsdE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR052Ym5OMElGc3NJR2hoYm1Sc1pTd2djM1ZtWm1sNFhTQTlJSE52ZFhKalpTNXRZWFJqYUNndlhpZ3VLaUVwS0Z0ZUlWMHFLU1F2Y3lrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doYzNWbVptbDRLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loZ1ZHaGxJQ1I3YzI5MWNtTmxmU0IwWVdjZ2FHRnpJRzV2SUhOMVptWnBlR0FwTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J3Y21WbWFYZ2dQU0IwYUdsekxuUmhaM05iYUdGdVpHeGxYVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIQnlaV1pwZUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NISmxabWw0SUNzZ1pHVmpiMlJsVlZKSlEyOXRjRzl1Wlc1MEtITjFabVpwZUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0ZOMGNtbHVaeWhsY25KdmNpa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaG9ZVzVrYkdVZ1BUMDlJQ2NoSnlsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnpiM1Z5WTJVN0lDOHZJR3h2WTJGc0lIUmhaMXh1SUNBZ0lDQWdJQ0J2YmtWeWNtOXlLR0JEYjNWc1pDQnViM1FnY21WemIyeDJaU0IwWVdjNklDUjdjMjkxY21ObGZXQXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUjJsMlpXNGdZU0JtZFd4c2VTQnlaWE52YkhabFpDQjBZV2NzSUhKbGRIVnlibk1nYVhSeklIQnlhVzUwWVdKc1pTQnpkSEpwYm1jZ1ptOXliU3hjYmlBZ0lDQWdLaUIwWVd0cGJtY2dhVzUwYnlCaFkyTnZkVzUwSUdOMWNuSmxiblFnZEdGbklIQnlaV1pwZUdWeklHRnVaQ0JrWldaaGRXeDBjeTVjYmlBZ0lDQWdLaTljYmlBZ0lDQjBZV2RUZEhKcGJtY29kR0ZuS1NCN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdXMmhoYm1Sc1pTd2djSEpsWm1sNFhTQnZaaUJQWW1wbFkzUXVaVzUwY21sbGN5aDBhR2x6TG5SaFozTXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEdGbkxuTjBZWEowYzFkcGRHZ29jSEpsWm1sNEtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FHRnVaR3hsSUNzZ1pYTmpZWEJsVkdGblRtRnRaU2gwWVdjdWMzVmljM1J5YVc1bktIQnlaV1pwZUM1c1pXNW5kR2dwS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHRm5XekJkSUQwOVBTQW5JU2NnUHlCMFlXY2dPaUJnSVR3a2UzUmhaMzArWUR0Y2JpQWdJQ0I5WEc0Z0lDQWdkRzlUZEhKcGJtY29aRzlqS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUd4cGJtVnpJRDBnZEdocGN5NTVZVzFzTG1WNGNHeHBZMmwwWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JRnRnSlZsQlRVd2dKSHQwYUdsekxubGhiV3d1ZG1WeWMybHZiaUI4ZkNBbk1TNHlKMzFnWFZ4dUlDQWdJQ0FnSUNBZ0lDQWdPaUJiWFR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZEdGblJXNTBjbWxsY3lBOUlFOWlhbVZqZEM1bGJuUnlhV1Z6S0hSb2FYTXVkR0ZuY3lrN1hHNGdJQ0FnSUNBZ0lHeGxkQ0IwWVdkT1lXMWxjenRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUnZZeUFtSmlCMFlXZEZiblJ5YVdWekxteGxibWQwYUNBK0lEQWdKaVlnYVhOT2IyUmxLR1J2WXk1amIyNTBaVzUwY3lrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSFJoWjNNZ1BTQjdmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWnBjMmwwS0dSdll5NWpiMjUwWlc1MGN5d2dLRjlyWlhrc0lHNXZaR1VwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhOT2IyUmxLRzV2WkdVcElDWW1JRzV2WkdVdWRHRm5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMFlXZHpXMjV2WkdVdWRHRm5YU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSaFowNWhiV1Z6SUQwZ1QySnFaV04wTG10bGVYTW9kR0ZuY3lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdkR0ZuVG1GdFpYTWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQmJhR0Z1Wkd4bExDQndjbVZtYVhoZElHOW1JSFJoWjBWdWRISnBaWE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNob1lXNWtiR1VnUFQwOUlDY2hJU2NnSmlZZ2NISmxabWw0SUQwOVBTQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doWkc5aklIeDhJSFJoWjA1aGJXVnpMbk52YldVb2RHNGdQVDRnZEc0dWMzUmhjblJ6VjJsMGFDaHdjbVZtYVhncEtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNhVzVsY3k1d2RYTm9LR0FsVkVGSElDUjdhR0Z1Wkd4bGZTQWtlM0J5WldacGVIMWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYkdsdVpYTXVhbTlwYmlnblhGeHVKeWs3WEc0Z0lDQWdmVnh1ZlZ4dVJHbHlaV04wYVhabGN5NWtaV1poZFd4MFdXRnRiQ0E5SUhzZ1pYaHdiR2xqYVhRNklHWmhiSE5sTENCMlpYSnphVzl1T2lBbk1TNHlKeUI5TzF4dVJHbHlaV04wYVhabGN5NWtaV1poZFd4MFZHRm5jeUE5SUhzZ0p5RWhKem9nSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T2ljZ2ZUdGNibHh1Wlhod2IzSjBJSHNnUkdseVpXTjBhWFpsY3lCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdselUyTmhiR0Z5TENCcGMwTnZiR3hsWTNScGIyNGdmU0JtY205dElDY3VMaTl1YjJSbGN5OXBaR1Z1ZEdsMGVTNXFjeWM3WEc1cGJYQnZjblFnZXlCMmFYTnBkQ0I5SUdaeWIyMGdKeTR1TDNacGMybDBMbXB6Snp0Y2JseHVMeW9xWEc0Z0tpQldaWEpwWm5rZ2RHaGhkQ0IwYUdVZ2FXNXdkWFFnYzNSeWFXNW5JR2x6SUdFZ2RtRnNhV1FnWVc1amFHOXlMbHh1SUNwY2JpQXFJRmRwYkd3Z2RHaHliM2NnYjI0Z1pYSnliM0p6TGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJoYm1Ob2IzSkpjMVpoYkdsa0tHRnVZMmh2Y2lrZ2UxeHVJQ0FnSUdsbUlDZ3ZXMXhjZURBd0xWeGNlREU1WEZ4ekxGdGNYRjE3ZlYwdkxuUmxjM1FvWVc1amFHOXlLU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J6WVNBOUlFcFRUMDR1YzNSeWFXNW5hV1o1S0dGdVkyaHZjaWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzF6WnlBOUlHQkJibU5vYjNJZ2JYVnpkQ0J1YjNRZ1kyOXVkR0ZwYmlCM2FHbDBaWE53WVdObElHOXlJR052Ym5SeWIyd2dZMmhoY21GamRHVnljem9nSkh0ellYMWdPMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9iWE5uS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc1OVhHNW1kVzVqZEdsdmJpQmhibU5vYjNKT1lXMWxjeWh5YjI5MEtTQjdYRzRnSUNBZ1kyOXVjM1FnWVc1amFHOXljeUE5SUc1bGR5QlRaWFFvS1R0Y2JpQWdJQ0IyYVhOcGRDaHliMjkwTENCN1hHNGdJQ0FnSUNBZ0lGWmhiSFZsS0Y5clpYa3NJRzV2WkdVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHViMlJsTG1GdVkyaHZjaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoYm1Ob2IzSnpMbUZrWkNodWIyUmxMbUZ1WTJodmNpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaWFIxY200Z1lXNWphRzl5Y3p0Y2JuMWNiaThxS2lCR2FXNWtJR0VnYm1WM0lHRnVZMmh2Y2lCdVlXMWxJSGRwZEdnZ2RHaGxJR2RwZG1WdUlHQndjbVZtYVhoZ0lHRnVaQ0JoSUc5dVpTMXBibVJsZUdWa0lITjFabVpwZUM0Z0tpOWNibVoxYm1OMGFXOXVJR1pwYm1ST1pYZEJibU5vYjNJb2NISmxabWw0TENCbGVHTnNkV1JsS1NCN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlERTdJSFJ5ZFdVN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J1WVcxbElEMGdZQ1I3Y0hKbFptbDRmU1I3YVgxZ08xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdWNFkyeDFaR1V1YUdGektHNWhiV1VwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWhiV1U3WEc0Z0lDQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsVG05a1pVRnVZMmh2Y25Nb1pHOWpMQ0J3Y21WbWFYZ3BJSHRjYmlBZ0lDQmpiMjV6ZENCaGJHbGhjMDlpYW1WamRITWdQU0JiWFR0Y2JpQWdJQ0JqYjI1emRDQnpiM1Z5WTJWUFltcGxZM1J6SUQwZ2JtVjNJRTFoY0NncE8xeHVJQ0FnSUd4bGRDQndjbVYyUVc1amFHOXljeUE5SUc1MWJHdzdYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ2IyNUJibU5vYjNJNklDaHpiM1Z5WTJVcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnNhV0Z6VDJKcVpXTjBjeTV3ZFhOb0tITnZkWEpqWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lYQnlaWFpCYm1Ob2IzSnpLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEJ5WlhaQmJtTm9iM0p6SUQwZ1lXNWphRzl5VG1GdFpYTW9aRzlqS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHRnVZMmh2Y2lBOUlHWnBibVJPWlhkQmJtTm9iM0lvY0hKbFptbDRMQ0J3Y21WMlFXNWphRzl5Y3lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y21WMlFXNWphRzl5Y3k1aFpHUW9ZVzVqYUc5eUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJoYm1Ob2IzSTdYRzRnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUM4cUtseHVJQ0FnSUNBZ0lDQWdLaUJYYVhSb0lHTnBjbU4xYkdGeUlISmxabVZ5Wlc1alpYTXNJSFJvWlNCemIzVnlZMlVnYm05a1pTQnBjeUJ2Ym14NUlISmxjMjlzZG1Wa0lHRm1kR1Z5SUdGc2JGeHVJQ0FnSUNBZ0lDQWdLaUJ2WmlCcGRITWdZMmhwYkdRZ2JtOWtaWE1nWVhKbExpQlVhR2x6SUdseklIZG9lU0JoYm1Ob2IzSnpJR0Z5WlNCelpYUWdiMjVzZVNCaFpuUmxjaUJoYkd3Z2IyWmNiaUFnSUNBZ0lDQWdJQ29nZEdobElHNXZaR1Z6SUdoaGRtVWdZbVZsYmlCamNtVmhkR1ZrTGx4dUlDQWdJQ0FnSUNBZ0tpOWNiaUFnSUNBZ0lDQWdjMlYwUVc1amFHOXljem9nS0NrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQnpiM1Z5WTJVZ2IyWWdZV3hwWVhOUFltcGxZM1J6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY21WbUlEMGdjMjkxY21ObFQySnFaV04wY3k1blpYUW9jMjkxY21ObEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSEpsWmlBOVBUMGdKMjlpYW1WamRDY2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVm1MbUZ1WTJodmNpQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2FYTlRZMkZzWVhJb2NtVm1MbTV2WkdVcElIeDhJR2x6UTI5c2JHVmpkR2x2YmloeVpXWXVibTlrWlNrcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbFppNXViMlJsTG1GdVkyaHZjaUE5SUhKbFppNWhibU5vYjNJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbGNuSnZjaUE5SUc1bGR5QkZjbkp2Y2lnblJtRnBiR1ZrSUhSdklISmxjMjlzZG1VZ2NtVndaV0YwWldRZ2IySnFaV04wSUNoMGFHbHpJSE5vYjNWc1pDQnViM1FnYUdGd2NHVnVLU2NwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxjbkp2Y2k1emIzVnlZMlVnUFNCemIzVnlZMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9jbTkzSUdWeWNtOXlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnYzI5MWNtTmxUMkpxWldOMGMxeHVJQ0FnSUgwN1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUdGdVkyaHZja2x6Vm1Gc2FXUXNJR0Z1WTJodmNrNWhiV1Z6TENCamNtVmhkR1ZPYjJSbFFXNWphRzl5Y3l3Z1ptbHVaRTVsZDBGdVkyaHZjaUI5TzF4dUlpd2dJaThxS2x4dUlDb2dRWEJ3YkdsbGN5QjBhR1VnU2xOUFRpNXdZWEp6WlNCeVpYWnBkbVZ5SUdGc1oyOXlhWFJvYlNCaGN5QmtaV1pwYm1Wa0lHbHVJSFJvWlNCRlEwMUJMVEkyTWlCemNHVmpMRnh1SUNvZ2FXNGdjMlZqZEdsdmJpQXlOQzQxTGpFdU1TQmNJbEoxYm5ScGJXVWdVMlZ0WVc1MGFXTnpPaUJKYm5SbGNtNWhiR2w2WlVwVFQwNVFjbTl3WlhKMGVWd2lJRzltSUhSb1pWeHVJQ29nTWpBeU1TQmxaR2wwYVc5dU9pQm9kSFJ3Y3pvdkwzUmpNemt1WlhNdlpXTnRZVEkyTWk4amMyVmpMV3B6YjI0dWNHRnljMlZjYmlBcVhHNGdLaUJKYm1Oc2RXUmxjeUJsZUhSbGJuTnBiMjV6SUdadmNpQm9ZVzVrYkdsdVp5Qk5ZWEFnWVc1a0lGTmxkQ0J2WW1wbFkzUnpMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQmhjSEJzZVZKbGRtbDJaWElvY21WMmFYWmxjaXdnYjJKcUxDQnJaWGtzSUhaaGJDa2dlMXh1SUNBZ0lHbG1JQ2gyWVd3Z0ppWWdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0oyOWlhbVZqZENjcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29kbUZzS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQXNJR3hsYmlBOUlIWmhiQzVzWlc1bmRHZzdJR2tnUENCc1pXNDdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhZd0lEMGdkbUZzVzJsZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhZeElEMGdZWEJ3YkhsU1pYWnBkbVZ5S0hKbGRtbDJaWElzSUhaaGJDd2dVM1J5YVc1bktHa3BMQ0IyTUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTFoY25KaGVTMWtaV3hsZEdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kakVnUFQwOUlIVnVaR1ZtYVc1bFpDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWc1pYUmxJSFpoYkZ0cFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaDJNU0FoUFQwZ2RqQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJGdHBYU0E5SUhZeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tIWmhiQ0JwYm5OMFlXNWpaVzltSUUxaGNDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQnJJRzltSUVGeWNtRjVMbVp5YjIwb2RtRnNMbXRsZVhNb0tTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQjJNQ0E5SUhaaGJDNW5aWFFvYXlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZGpFZ1BTQmhjSEJzZVZKbGRtbDJaWElvY21WMmFYWmxjaXdnZG1Gc0xDQnJMQ0IyTUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFl4SUQwOVBTQjFibVJsWm1sdVpXUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJDNWtaV3hsZEdVb2F5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9kakVnSVQwOUlIWXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllXd3VjMlYwS0dzc0lIWXhLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2gyWVd3Z2FXNXpkR0Z1WTJWdlppQlRaWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnZGpBZ2IyWWdRWEp5WVhrdVpuSnZiU2gyWVd3cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2RqRWdQU0JoY0hCc2VWSmxkbWwyWlhJb2NtVjJhWFpsY2l3Z2RtRnNMQ0IyTUN3Z2RqQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMk1TQTlQVDBnZFc1a1pXWnBibVZrS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZV3d1WkdWc1pYUmxLSFl3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoMk1TQWhQVDBnZGpBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc0xtUmxiR1YwWlNoMk1DazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJDNWhaR1FvZGpFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnVzJzc0lIWXdYU0J2WmlCUFltcGxZM1F1Wlc1MGNtbGxjeWgyWVd3cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2RqRWdQU0JoY0hCc2VWSmxkbWwyWlhJb2NtVjJhWFpsY2l3Z2RtRnNMQ0JyTENCMk1DazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hZeElEMDlQU0IxYm1SbFptbHVaV1FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxiR1YwWlNCMllXeGJhMTA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvZGpFZ0lUMDlJSFl3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZV3hiYTEwZ1BTQjJNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21WMmFYWmxjaTVqWVd4c0tHOWlhaXdnYTJWNUxDQjJZV3dwTzF4dWZWeHVYRzVsZUhCdmNuUWdleUJoY0hCc2VWSmxkbWwyWlhJZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCb1lYTkJibU5vYjNJZ2ZTQm1jbTl0SUNjdUwybGtaVzUwYVhSNUxtcHpKenRjYmx4dUx5b3FYRzRnS2lCU1pXTjFjbk5wZG1Wc2VTQmpiMjUyWlhKMElHRnVlU0J1YjJSbElHOXlJR2wwY3lCamIyNTBaVzUwY3lCMGJ5QnVZWFJwZG1VZ1NtRjJZVk5qY21sd2RGeHVJQ3BjYmlBcUlFQndZWEpoYlNCMllXeDFaU0F0SUZSb1pTQnBibkIxZENCMllXeDFaVnh1SUNvZ1FIQmhjbUZ0SUdGeVp5QXRJRWxtSUdCMllXeDFaV0FnWkdWbWFXNWxjeUJoSUdCMGIwcFRUMDRvS1dBZ2JXVjBhRzlrTENCMWMyVWdkR2hwYzF4dUlDb2dJQ0JoY3lCcGRITWdabWx5YzNRZ1lYSm5kVzFsYm5SY2JpQXFJRUJ3WVhKaGJTQmpkSGdnTFNCRGIyNTJaWEp6YVc5dUlHTnZiblJsZUhRc0lHOXlhV2RwYm1Gc2JIa2djMlYwSUdsdUlFUnZZM1Z0Wlc1MEkzUnZTbE1vS1M0Z1NXWmNiaUFxSUNBZ1lIc2dhMlZsY0RvZ2RISjFaU0I5WUNCcGN5QnViM1FnYzJWMExDQnZkWFJ3ZFhRZ2MyaHZkV3hrSUdKbElITjFhWFJoWW14bElHWnZjaUJLVTA5T1hHNGdLaUFnSUhOMGNtbHVaMmxtYVdOaGRHbHZiaTVjYmlBcUwxeHVablZ1WTNScGIyNGdkRzlLVXloMllXeDFaU3dnWVhKbkxDQmpkSGdwSUh0Y2JpQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYVnVjMkZtWlMxeVpYUjFjbTVjYmlBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaDJZV3gxWlNrcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaUzV0WVhBb0tIWXNJR2twSUQwK0lIUnZTbE1vZGl3Z1UzUnlhVzVuS0drcExDQmpkSGdwS1R0Y2JpQWdJQ0JwWmlBb2RtRnNkV1VnSmlZZ2RIbHdaVzltSUhaaGJIVmxMblJ2U2xOUFRpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjV2TFhWdWMyRm1aUzFqWVd4c1hHNGdJQ0FnSUNBZ0lHbG1JQ2doWTNSNElIeDhJQ0ZvWVhOQmJtTm9iM0lvZG1Gc2RXVXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhaaGJIVmxMblJ2U2xOUFRpaGhjbWNzSUdOMGVDazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHUmhkR0VnUFNCN0lHRnNhV0Z6UTI5MWJuUTZJREFzSUdOdmRXNTBPaUF4TENCeVpYTTZJSFZ1WkdWbWFXNWxaQ0I5TzF4dUlDQWdJQ0FnSUNCamRIZ3VZVzVqYUc5eWN5NXpaWFFvZG1Gc2RXVXNJR1JoZEdFcE8xeHVJQ0FnSUNBZ0lDQmpkSGd1YjI1RGNtVmhkR1VnUFNCeVpYTWdQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaR0YwWVM1eVpYTWdQU0J5WlhNN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVWdZM1I0TG05dVEzSmxZWFJsTzF4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTWdQU0IyWVd4MVpTNTBiMHBUVDA0b1lYSm5MQ0JqZEhncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNSNExtOXVRM0psWVhSbEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnWTNSNExtOXVRM0psWVhSbEtISmxjeWs3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkaWFXZHBiblFuSUNZbUlDRmpkSGcvTG10bFpYQXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQk9kVzFpWlhJb2RtRnNkV1VwTzF4dUlDQWdJSEpsZEhWeWJpQjJZV3gxWlR0Y2JuMWNibHh1Wlhod2IzSjBJSHNnZEc5S1V5QjlPMXh1SWl3Z0ltbHRjRzl5ZENCN0lHRndjR3g1VW1WMmFYWmxjaUI5SUdaeWIyMGdKeTR1TDJSdll5OWhjSEJzZVZKbGRtbDJaWEl1YW5Nbk8xeHVhVzF3YjNKMElIc2dUazlFUlY5VVdWQkZMQ0JwYzBSdlkzVnRaVzUwSUgwZ1puSnZiU0FuTGk5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUIwYjBwVElIMGdabkp2YlNBbkxpOTBiMHBUTG1wekp6dGNibHh1WTJ4aGMzTWdUbTlrWlVKaGMyVWdlMXh1SUNBZ0lHTnZibk4wY25WamRHOXlLSFI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hSb2FYTXNJRTVQUkVWZlZGbFFSU3dnZXlCMllXeDFaVG9nZEhsd1pTQjlLVHRjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FJRU55WldGMFpTQmhJR052Y0hrZ2IyWWdkR2hwY3lCdWIyUmxMaUFnS2k5Y2JpQWdJQ0JqYkc5dVpTZ3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMjl3ZVNBOUlFOWlhbVZqZEM1amNtVmhkR1VvVDJKcVpXTjBMbWRsZEZCeWIzUnZkSGx3WlU5bUtIUm9hWE1wTENCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXljeWgwYUdsektTazdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbkpoYm1kbEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5d2VTNXlZVzVuWlNBOUlIUm9hWE11Y21GdVoyVXVjMnhwWTJVb0tUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHTnZjSGs3WEc0Z0lDQWdmVnh1SUNBZ0lDOHFLaUJCSUhCc1lXbHVJRXBoZG1GVFkzSnBjSFFnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdocGN5QnViMlJsTGlBcUwxeHVJQ0FnSUhSdlNsTW9aRzlqTENCN0lHMWhjRUZ6VFdGd0xDQnRZWGhCYkdsaGMwTnZkVzUwTENCdmJrRnVZMmh2Y2l3Z2NtVjJhWFpsY2lCOUlEMGdlMzBwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZwYzBSdlkzVnRaVzUwS0dSdll5a3BYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZEJJR1J2WTNWdFpXNTBJR0Z5WjNWdFpXNTBJR2x6SUhKbGNYVnBjbVZrSnlrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdOMGVDQTlJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnVZMmh2Y25NNklHNWxkeUJOWVhBb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdSdll5eGNiaUFnSUNBZ0lDQWdJQ0FnSUd0bFpYQTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J0WVhCQmMwMWhjRG9nYldGd1FYTk5ZWEFnUFQwOUlIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRZWEJMWlhsWFlYSnVaV1E2SUdaaGJITmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JXRjRRV3hwWVhORGIzVnVkRG9nZEhsd1pXOW1JRzFoZUVGc2FXRnpRMjkxYm5RZ1BUMDlJQ2R1ZFcxaVpYSW5JRDhnYldGNFFXeHBZWE5EYjNWdWRDQTZJREV3TUZ4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTWdQU0IwYjBwVEtIUm9hWE1zSUNjbkxDQmpkSGdwTzF4dUlDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHOXVRVzVqYUc5eUlEMDlQU0FuWm5WdVkzUnBiMjRuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0I3SUdOdmRXNTBMQ0J5WlhNZ2ZTQnZaaUJqZEhndVlXNWphRzl5Y3k1MllXeDFaWE1vS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrRnVZMmh2Y2loeVpYTXNJR052ZFc1MEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCeVpYWnBkbVZ5SUQwOVBTQW5ablZ1WTNScGIyNG5YRzRnSUNBZ0lDQWdJQ0FnSUNBL0lHRndjR3g1VW1WMmFYWmxjaWh5WlhacGRtVnlMQ0I3SUNjbk9pQnlaWE1nZlN3Z0p5Y3NJSEpsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nY21Wek8xeHVJQ0FnSUgxY2JuMWNibHh1Wlhod2IzSjBJSHNnVG05a1pVSmhjMlVnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJoYm1Ob2IzSkpjMVpoYkdsa0lIMGdabkp2YlNBbkxpNHZaRzlqTDJGdVkyaHZjbk11YW5Nbk8xeHVhVzF3YjNKMElIc2dkbWx6YVhRZ2ZTQm1jbTl0SUNjdUxpOTJhWE5wZEM1cWN5YzdYRzVwYlhCdmNuUWdleUJCVEVsQlV5d2dhWE5CYkdsaGN5d2dhWE5EYjJ4c1pXTjBhVzl1TENCcGMxQmhhWElnZlNCbWNtOXRJQ2N1TDJsa1pXNTBhWFI1TG1wekp6dGNibWx0Y0c5eWRDQjdJRTV2WkdWQ1lYTmxJSDBnWm5KdmJTQW5MaTlPYjJSbExtcHpKenRjYm1sdGNHOXlkQ0I3SUhSdlNsTWdmU0JtY205dElDY3VMM1J2U2xNdWFuTW5PMXh1WEc1amJHRnpjeUJCYkdsaGN5QmxlSFJsYm1SeklFNXZaR1ZDWVhObElIdGNiaUFnSUNCamIyNXpkSEoxWTNSdmNpaHpiM1Z5WTJVcElIdGNiaUFnSUNBZ0lDQWdjM1Z3WlhJb1FVeEpRVk1wTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbk52ZFhKalpTQTlJSE52ZFhKalpUdGNiaUFnSUNBZ0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hSb2FYTXNJQ2QwWVdjbkxDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCelpYUW9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RCYkdsaGN5QnViMlJsY3lCallXNXViM1FnYUdGMlpTQjBZV2R6SnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCU1pYTnZiSFpsSUhSb1pTQjJZV3gxWlNCdlppQjBhR2x6SUdGc2FXRnpJSGRwZEdocGJpQmdaRzlqWUN3Z1ptbHVaR2x1WnlCMGFHVWdiR0Z6ZEZ4dUlDQWdJQ0FxSUdsdWMzUmhibU5sSUc5bUlIUm9aU0JnYzI5MWNtTmxZQ0JoYm1Ob2IzSWdZbVZtYjNKbElIUm9hWE1nYm05a1pTNWNiaUFnSUNBZ0tpOWNiaUFnSUNCeVpYTnZiSFpsS0dSdll5a2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ1ptOTFibVFnUFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNBZ0lIWnBjMmwwS0dSdll5d2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1RtOWtaVG9nS0Y5clpYa3NJRzV2WkdVcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JtOWtaU0E5UFQwZ2RHaHBjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhacGMybDBMa0pTUlVGTE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h1YjJSbExtRnVZMmh2Y2lBOVBUMGdkR2hwY3k1emIzVnlZMlVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnZkVzVrSUQwZ2JtOWtaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtYjNWdVpEdGNiaUFnSUNCOVhHNGdJQ0FnZEc5S1UwOU9LRjloY21jc0lHTjBlQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9JV04wZUNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJSE52ZFhKalpUb2dkR2hwY3k1emIzVnlZMlVnZlR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZXlCaGJtTm9iM0p6TENCa2IyTXNJRzFoZUVGc2FXRnpRMjkxYm5RZ2ZTQTlJR04wZUR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYzI5MWNtTmxJRDBnZEdocGN5NXlaWE52YkhabEtHUnZZeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hjMjkxY21ObEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0YzJjZ1BTQmdWVzV5WlhOdmJIWmxaQ0JoYkdsaGN5QW9kR2hsSUdGdVkyaHZjaUJ0ZFhOMElHSmxJSE5sZENCaVpXWnZjbVVnZEdobElHRnNhV0Z6S1RvZ0pIdDBhR2x6TG5OdmRYSmpaWDFnTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRkpsWm1WeVpXNWpaVVZ5Y205eUtHMXpaeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2JHVjBJR1JoZEdFZ1BTQmhibU5vYjNKekxtZGxkQ2h6YjNWeVkyVXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmhkR0VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZKbGMyOXNkbVVnWVc1amFHOXljeUJtYjNJZ1RtOWtaUzV3Y205MGIzUjVjR1V1ZEc5S1V5Z3BYRzRnSUNBZ0lDQWdJQ0FnSUNCMGIwcFRLSE52ZFhKalpTd2diblZzYkN3Z1kzUjRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmhkR0VnUFNCaGJtTm9iM0p6TG1kbGRDaHpiM1Z5WTJVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQzhxSUdsemRHRnVZblZzSUdsbmJtOXlaU0JwWmlBcUwxeHVJQ0FnSUNBZ0lDQnBaaUFvSVdSaGRHRWdmSHdnWkdGMFlTNXlaWE1nUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYlhObklEMGdKMVJvYVhNZ2MyaHZkV3hrSUc1dmRDQm9ZWEJ3Wlc0NklFRnNhV0Z6SUdGdVkyaHZjaUIzWVhNZ2JtOTBJSEpsYzI5c2RtVmtQeWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dVbVZtWlhKbGJtTmxSWEp5YjNJb2JYTm5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCcFppQW9iV0Y0UVd4cFlYTkRiM1Z1ZENBK1BTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWFJoTG1OdmRXNTBJQ3M5SURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pHRjBZUzVoYkdsaGMwTnZkVzUwSUQwOVBTQXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JoZEdFdVlXeHBZWE5EYjNWdWRDQTlJR2RsZEVGc2FXRnpRMjkxYm5Rb1pHOWpMQ0J6YjNWeVkyVXNJR0Z1WTJodmNuTXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1JoZEdFdVkyOTFiblFnS2lCa1lYUmhMbUZzYVdGelEyOTFiblFnUGlCdFlYaEJiR2xoYzBOdmRXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiWE5uSUQwZ0owVjRZMlZ6YzJsMlpTQmhiR2xoY3lCamIzVnVkQ0JwYm1ScFkyRjBaWE1nWVNCeVpYTnZkWEpqWlNCbGVHaGhkWE4wYVc5dUlHRjBkR0ZqYXljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGSmxabVZ5Wlc1alpVVnljbTl5S0cxelp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmhkR0V1Y21Wek8xeHVJQ0FnSUgxY2JpQWdJQ0IwYjFOMGNtbHVaeWhqZEhnc0lGOXZia052YlcxbGJuUXNJRjl2YmtOb2IyMXdTMlZsY0NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemNtTWdQU0JnS2lSN2RHaHBjeTV6YjNWeVkyVjlZRHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHTjBlQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZVzVqYUc5eVNYTldZV3hwWkNoMGFHbHpMbk52ZFhKalpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZM1I0TG05d2RHbHZibk11ZG1WeWFXWjVRV3hwWVhOUGNtUmxjaUFtSmlBaFkzUjRMbUZ1WTJodmNuTXVhR0Z6S0hSb2FYTXVjMjkxY21ObEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMXpaeUE5SUdCVmJuSmxjMjlzZG1Wa0lHRnNhV0Z6SUNoMGFHVWdZVzVqYUc5eUlHMTFjM1FnWW1VZ2MyVjBJR0psWm05eVpTQjBhR1VnWVd4cFlYTXBPaUFrZTNSb2FYTXVjMjkxY21ObGZXQTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMXpaeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZM1I0TG1sdGNHeHBZMmwwUzJWNUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCZ0pIdHpjbU45SUdBN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITnlZenRjYmlBZ0lDQjlYRzU5WEc1bWRXNWpkR2x2YmlCblpYUkJiR2xoYzBOdmRXNTBLR1J2WXl3Z2JtOWtaU3dnWVc1amFHOXljeWtnZTF4dUlDQWdJR2xtSUNocGMwRnNhV0Z6S0c1dlpHVXBLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE52ZFhKalpTQTlJRzV2WkdVdWNtVnpiMngyWlNoa2IyTXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmhibU5vYjNJZ1BTQmhibU5vYjNKeklDWW1JSE52ZFhKalpTQW1KaUJoYm1Ob2IzSnpMbWRsZENoemIzVnlZMlVwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWVc1amFHOXlJRDhnWVc1amFHOXlMbU52ZFc1MElDb2dZVzVqYUc5eUxtRnNhV0Z6UTI5MWJuUWdPaUF3TzF4dUlDQWdJSDFjYmlBZ0lDQmxiSE5sSUdsbUlDaHBjME52Ykd4bFkzUnBiMjRvYm05a1pTa3BJSHRjYmlBZ0lDQWdJQ0FnYkdWMElHTnZkVzUwSUQwZ01EdGNiaUFnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0JwZEdWdElHOW1JRzV2WkdVdWFYUmxiWE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTWdQU0JuWlhSQmJHbGhjME52ZFc1MEtHUnZZeXdnYVhSbGJTd2dZVzVqYUc5eWN5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZeUErSUdOdmRXNTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052ZFc1MElEMGdZenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTI5MWJuUTdYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdhV1lnS0dselVHRnBjaWh1YjJSbEtTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnJZeUE5SUdkbGRFRnNhV0Z6UTI5MWJuUW9aRzlqTENCdWIyUmxMbXRsZVN3Z1lXNWphRzl5Y3lrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhaaklEMGdaMlYwUVd4cFlYTkRiM1Z1ZENoa2IyTXNJRzV2WkdVdWRtRnNkV1VzSUdGdVkyaHZjbk1wTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXRZWGdvYTJNc0lIWmpLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SURFN1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUVGc2FXRnpJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dVME5CVEVGU0lIMGdabkp2YlNBbkxpOXBaR1Z1ZEdsMGVTNXFjeWM3WEc1cGJYQnZjblFnZXlCT2IyUmxRbUZ6WlNCOUlHWnliMjBnSnk0dlRtOWtaUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QjBiMHBUSUgwZ1puSnZiU0FuTGk5MGIwcFRMbXB6Snp0Y2JseHVZMjl1YzNRZ2FYTlRZMkZzWVhKV1lXeDFaU0E5SUNoMllXeDFaU2tnUFQ0Z0lYWmhiSFZsSUh4OElDaDBlWEJsYjJZZ2RtRnNkV1VnSVQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZEhsd1pXOW1JSFpoYkhWbElDRTlQU0FuYjJKcVpXTjBKeWs3WEc1amJHRnpjeUJUWTJGc1lYSWdaWGgwWlc1a2N5Qk9iMlJsUW1GelpTQjdYRzRnSUNBZ1kyOXVjM1J5ZFdOMGIzSW9kbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdjM1Z3WlhJb1UwTkJURUZTS1R0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0FnSUgxY2JpQWdJQ0IwYjBwVFQwNG9ZWEpuTENCamRIZ3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR04wZUQ4dWEyVmxjQ0EvSUhSb2FYTXVkbUZzZFdVZ09pQjBiMHBUS0hSb2FYTXVkbUZzZFdVc0lHRnlaeXdnWTNSNEtUdGNiaUFnSUNCOVhHNGdJQ0FnZEc5VGRISnBibWNvS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCVGRISnBibWNvZEdocGN5NTJZV3gxWlNrN1hHNGdJQ0FnZlZ4dWZWeHVVMk5oYkdGeUxrSk1UME5MWDBaUFRFUkZSQ0E5SUNkQ1RFOURTMTlHVDB4RVJVUW5PMXh1VTJOaGJHRnlMa0pNVDBOTFgweEpWRVZTUVV3Z1BTQW5Ra3hQUTB0ZlRFbFVSVkpCVENjN1hHNVRZMkZzWVhJdVVFeEJTVTRnUFNBblVFeEJTVTRuTzF4dVUyTmhiR0Z5TGxGVlQxUkZYMFJQVlVKTVJTQTlJQ2RSVlU5VVJWOUVUMVZDVEVVbk8xeHVVMk5oYkdGeUxsRlZUMVJGWDFOSlRrZE1SU0E5SUNkUlZVOVVSVjlUU1U1SFRFVW5PMXh1WEc1bGVIQnZjblFnZXlCVFkyRnNZWElzSUdselUyTmhiR0Z5Vm1Gc2RXVWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QkJiR2xoY3lCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDBGc2FXRnpMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHbHpUbTlrWlN3Z2FYTlFZV2x5TENCTlFWQXNJRk5GVVN3Z2FYTkViMk4xYldWdWRDQjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwybGtaVzUwYVhSNUxtcHpKenRjYm1sdGNHOXlkQ0I3SUZOallXeGhjaUI5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMU5qWVd4aGNpNXFjeWM3WEc1Y2JtTnZibk4wSUdSbFptRjFiSFJVWVdkUWNtVm1hWGdnUFNBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNkp6dGNibVoxYm1OMGFXOXVJR1pwYm1SVVlXZFBZbXBsWTNRb2RtRnNkV1VzSUhSaFowNWhiV1VzSUhSaFozTXBJSHRjYmlBZ0lDQnBaaUFvZEdGblRtRnRaU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSamFDQTlJSFJoWjNNdVptbHNkR1Z5S0hRZ1BUNGdkQzUwWVdjZ1BUMDlJSFJoWjA1aGJXVXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjBZV2RQWW1vZ1BTQnRZWFJqYUM1bWFXNWtLSFFnUFQ0Z0lYUXVabTl5YldGMEtTQS9QeUJ0WVhSamFGc3dYVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRjBZV2RQWW1vcFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRlJoWnlBa2UzUmhaMDVoYldWOUlHNXZkQ0JtYjNWdVpHQXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR0ZuVDJKcU8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR0ZuY3k1bWFXNWtLSFFnUFQ0Z2RDNXBaR1Z1ZEdsbWVUOHVLSFpoYkhWbEtTQW1KaUFoZEM1bWIzSnRZWFFwTzF4dWZWeHVablZ1WTNScGIyNGdZM0psWVhSbFRtOWtaU2gyWVd4MVpTd2dkR0ZuVG1GdFpTd2dZM1I0S1NCN1hHNGdJQ0FnYVdZZ0tHbHpSRzlqZFcxbGJuUW9kbUZzZFdVcEtWeHVJQ0FnSUNBZ0lDQjJZV3gxWlNBOUlIWmhiSFZsTG1OdmJuUmxiblJ6TzF4dUlDQWdJR2xtSUNocGMwNXZaR1VvZG1Gc2RXVXBLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkbUZzZFdVN1hHNGdJQ0FnYVdZZ0tHbHpVR0ZwY2loMllXeDFaU2twSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYldGd0lEMGdZM1I0TG5OamFHVnRZVnROUVZCZExtTnlaV0YwWlU1dlpHVS9MaWhqZEhndWMyTm9aVzFoTENCdWRXeHNMQ0JqZEhncE8xeHVJQ0FnSUNBZ0lDQnRZWEF1YVhSbGJYTXVjSFZ6YUNoMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ0WVhBN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoMllXeDFaU0JwYm5OMFlXNWpaVzltSUZOMGNtbHVaeUI4ZkZ4dUlDQWdJQ0FnSUNCMllXeDFaU0JwYm5OMFlXNWpaVzltSUU1MWJXSmxjaUI4ZkZ4dUlDQWdJQ0FnSUNCMllXeDFaU0JwYm5OMFlXNWpaVzltSUVKdmIyeGxZVzRnZkh4Y2JpQWdJQ0FnSUNBZ0tIUjVjR1Z2WmlCQ2FXZEpiblFnSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUhaaGJIVmxJR2x1YzNSaGJtTmxiMllnUW1sblNXNTBLU0F2THlCdWIzUWdjM1Z3Y0c5eWRHVmtJR1YyWlhKNWQyaGxjbVZjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z2FIUjBjSE02THk5MFl6TTVMbVZ6TDJWamJXRXlOakl2STNObFl5MXpaWEpwWVd4cGVtVnFjMjl1Y0hKdmNHVnlkSGxjYmlBZ0lDQWdJQ0FnZG1Gc2RXVWdQU0IyWVd4MVpTNTJZV3gxWlU5bUtDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBJSHNnWVd4cFlYTkVkWEJzYVdOaGRHVlBZbXBsWTNSekxDQnZia0Z1WTJodmNpd2diMjVVWVdkUFltb3NJSE5qYUdWdFlTd2djMjkxY21ObFQySnFaV04wY3lCOUlEMGdZM1I0TzF4dUlDQWdJQzh2SUVSbGRHVmpkQ0JrZFhCc2FXTmhkR1VnY21WbVpYSmxibU5sY3lCMGJ5QjBhR1VnYzJGdFpTQnZZbXBsWTNRZ0ppQjFjMlVnUVd4cFlYTWdibTlrWlhNZ1ptOXlJR0ZzYkZ4dUlDQWdJQzh2SUdGbWRHVnlJR1pwY25OMExpQlVhR1VnWUhKbFptQWdkM0poY0hCbGNpQmhiR3h2ZDNNZ1ptOXlJR05wY21OMWJHRnlJSEpsWm1WeVpXNWpaWE1nZEc4Z2NtVnpiMngyWlM1Y2JpQWdJQ0JzWlhRZ2NtVm1JRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJR2xtSUNoaGJHbGhjMFIxY0d4cFkyRjBaVTlpYW1WamRITWdKaVlnZG1Gc2RXVWdKaVlnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnSUNCeVpXWWdQU0J6YjNWeVkyVlBZbXBsWTNSekxtZGxkQ2gyWVd4MVpTazdYRzRnSUNBZ0lDQWdJR2xtSUNoeVpXWXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doY21WbUxtRnVZMmh2Y2lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpXWXVZVzVqYUc5eUlEMGdiMjVCYm1Ob2IzSW9kbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCQmJHbGhjeWh5WldZdVlXNWphRzl5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsWmlBOUlIc2dZVzVqYUc5eU9pQnVkV3hzTENCdWIyUmxPaUJ1ZFd4c0lIMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCemIzVnlZMlZQWW1wbFkzUnpMbk5sZENoMllXeDFaU3dnY21WbUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9kR0ZuVG1GdFpUOHVjM1JoY25SelYybDBhQ2duSVNFbktTbGNiaUFnSUNBZ0lDQWdkR0ZuVG1GdFpTQTlJR1JsWm1GMWJIUlVZV2RRY21WbWFYZ2dLeUIwWVdkT1lXMWxMbk5zYVdObEtESXBPMXh1SUNBZ0lHeGxkQ0IwWVdkUFltb2dQU0JtYVc1a1ZHRm5UMkpxWldOMEtIWmhiSFZsTENCMFlXZE9ZVzFsTENCelkyaGxiV0V1ZEdGbmN5azdYRzRnSUNBZ2FXWWdLQ0YwWVdkUFltb3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsSUNZbUlIUjVjR1Z2WmlCMllXeDFaUzUwYjBwVFQwNGdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtOHRkVzV6WVdabExXTmhiR3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2RtRnNkV1V1ZEc5S1UwOU9LQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLQ0YyWVd4MVpTQjhmQ0IwZVhCbGIyWWdkbUZzZFdVZ0lUMDlJQ2R2WW1wbFkzUW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnYm1WM0lGTmpZV3hoY2loMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY21WbUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxaaTV1YjJSbElEMGdibTlrWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnViMlJsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIUmhaMDlpYWlBOVhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpTQnBibk4wWVc1alpXOW1JRTFoY0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z2MyTm9aVzFoVzAxQlVGMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJRk41YldKdmJDNXBkR1Z5WVhSdmNpQnBiaUJQWW1wbFkzUW9kbUZzZFdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnYzJOb1pXMWhXMU5GVVYxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUJ6WTJobGJXRmJUVUZRWFR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0c5dVZHRm5UMkpxS1NCN1hHNGdJQ0FnSUNBZ0lHOXVWR0ZuVDJKcUtIUmhaMDlpYWlrN1hHNGdJQ0FnSUNBZ0lHUmxiR1YwWlNCamRIZ3ViMjVVWVdkUFltbzdYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBJRzV2WkdVZ1BTQjBZV2RQWW1vL0xtTnlaV0YwWlU1dlpHVmNiaUFnSUNBZ0lDQWdQeUIwWVdkUFltb3VZM0psWVhSbFRtOWtaU2hqZEhndWMyTm9aVzFoTENCMllXeDFaU3dnWTNSNEtWeHVJQ0FnSUNBZ0lDQTZJSFI1Y0dWdlppQjBZV2RQWW1vL0xtNXZaR1ZEYkdGemN6OHVabkp2YlNBOVBUMGdKMloxYm1OMGFXOXVKMXh1SUNBZ0lDQWdJQ0FnSUNBZ1B5QjBZV2RQWW1vdWJtOWtaVU5zWVhOekxtWnliMjBvWTNSNExuTmphR1Z0WVN3Z2RtRnNkV1VzSUdOMGVDbGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ2JtVjNJRk5qWVd4aGNpaDJZV3gxWlNrN1hHNGdJQ0FnYVdZZ0tIUmhaMDVoYldVcFhHNGdJQ0FnSUNBZ0lHNXZaR1V1ZEdGbklEMGdkR0ZuVG1GdFpUdGNiaUFnSUNCbGJITmxJR2xtSUNnaGRHRm5UMkpxTG1SbFptRjFiSFFwWEc0Z0lDQWdJQ0FnSUc1dlpHVXVkR0ZuSUQwZ2RHRm5UMkpxTG5SaFp6dGNiaUFnSUNCcFppQW9jbVZtS1Z4dUlDQWdJQ0FnSUNCeVpXWXVibTlrWlNBOUlHNXZaR1U3WEc0Z0lDQWdjbVYwZFhKdUlHNXZaR1U3WEc1OVhHNWNibVY0Y0c5eWRDQjdJR055WldGMFpVNXZaR1VnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJqY21WaGRHVk9iMlJsSUgwZ1puSnZiU0FuTGk0dlpHOWpMMk55WldGMFpVNXZaR1V1YW5Nbk8xeHVhVzF3YjNKMElIc2dhWE5PYjJSbExDQnBjMUJoYVhJc0lHbHpRMjlzYkdWamRHbHZiaXdnYVhOVFkyRnNZWElnZlNCbWNtOXRJQ2N1TDJsa1pXNTBhWFI1TG1wekp6dGNibWx0Y0c5eWRDQjdJRTV2WkdWQ1lYTmxJSDBnWm5KdmJTQW5MaTlPYjJSbExtcHpKenRjYmx4dVpuVnVZM1JwYjI0Z1kyOXNiR1ZqZEdsdmJrWnliMjFRWVhSb0tITmphR1Z0WVN3Z2NHRjBhQ3dnZG1Gc2RXVXBJSHRjYmlBZ0lDQnNaWFFnZGlBOUlIWmhiSFZsTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNCd1lYUm9MbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnTFMxcEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHc2dQU0J3WVhSb1cybGRPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUdzZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUU1MWJXSmxjaTVwYzBsdWRHVm5aWElvYXlrZ0ppWWdheUErUFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JoSUQwZ1cxMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCaFcydGRJRDBnZGp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFlnUFNCaE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZGlBOUlHNWxkeUJOWVhBb1cxdHJMQ0IyWFYwcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJqY21WaGRHVk9iMlJsS0hZc0lIVnVaR1ZtYVc1bFpDd2dlMXh1SUNBZ0lDQWdJQ0JoYkdsaGMwUjFjR3hwWTJGMFpVOWlhbVZqZEhNNklHWmhiSE5sTEZ4dUlDQWdJQ0FnSUNCclpXVndWVzVrWldacGJtVmtPaUJtWVd4elpTeGNiaUFnSUNBZ0lDQWdiMjVCYm1Ob2IzSTZJQ2dwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVkdocGN5QnphRzkxYkdRZ2JtOTBJR2hoY0hCbGJpd2djR3hsWVhObElISmxjRzl5ZENCaElHSjFaeTRuS1R0Y2JpQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdjMk5vWlcxaExGeHVJQ0FnSUNBZ0lDQnpiM1Z5WTJWUFltcGxZM1J6T2lCdVpYY2dUV0Z3S0NsY2JpQWdJQ0I5S1R0Y2JuMWNiaTh2SUZSNWNHVWdaM1ZoY21RZ2FYTWdhVzUwWlc1MGFXOXVZV3hzZVNCaElHeHBkSFJzWlNCM2NtOXVaeUJ6YnlCaGN5QjBieUJpWlNCdGIzSmxJSFZ6WldaMWJDeGNiaTh2SUdGeklHbDBJR1J2WlhNZ2JtOTBJR052ZG1WeUlIVnVkSGx3WVdKc1pTQmxiWEIwZVNCdWIyNHRjM1J5YVc1bklHbDBaWEpoWW14bGN5QW9aUzVuTGlCYlhTa3VYRzVqYjI1emRDQnBjMFZ0Y0hSNVVHRjBhQ0E5SUNod1lYUm9LU0E5UGlCd1lYUm9JRDA5SUc1MWJHd2dmSHhjYmlBZ0lDQW9kSGx3Wlc5bUlIQmhkR2dnUFQwOUlDZHZZbXBsWTNRbklDWW1JQ0VoY0dGMGFGdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZEtDa3VibVY0ZENncExtUnZibVVwTzF4dVkyeGhjM01nUTI5c2JHVmpkR2x2YmlCbGVIUmxibVJ6SUU1dlpHVkNZWE5sSUh0Y2JpQWdJQ0JqYjI1emRISjFZM1J2Y2loMGVYQmxMQ0J6WTJobGJXRXBJSHRjYmlBZ0lDQWdJQ0FnYzNWd1pYSW9kSGx3WlNrN1hHNGdJQ0FnSUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gwYUdsekxDQW5jMk5vWlcxaEp5d2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUhOamFHVnRZU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdWY2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZWeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTnlaV0YwWlNCaElHTnZjSGtnYjJZZ2RHaHBjeUJqYjJ4c1pXTjBhVzl1TGx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSE5qYUdWdFlTQXRJRWxtSUdSbFptbHVaV1FzSUc5MlpYSjNjbWwwWlhNZ2RHaGxJRzl5YVdkcGJtRnNKM01nYzJOb1pXMWhYRzRnSUNBZ0lDb3ZYRzRnSUNBZ1kyeHZibVVvYzJOb1pXMWhLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR052Y0hrZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0U5aWFtVmpkQzVuWlhSUWNtOTBiM1I1Y0dWUFppaDBhR2x6S1N3Z1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjbk1vZEdocGN5a3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2MyTm9aVzFoS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl3ZVM1elkyaGxiV0VnUFNCelkyaGxiV0U3WEc0Z0lDQWdJQ0FnSUdOdmNIa3VhWFJsYlhNZ1BTQmpiM0I1TG1sMFpXMXpMbTFoY0NocGRDQTlQaUJwYzA1dlpHVW9hWFFwSUh4OElHbHpVR0ZwY2locGRDa2dQeUJwZEM1amJHOXVaU2h6WTJobGJXRXBJRG9nYVhRcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NXlZVzVuWlNsY2JpQWdJQ0FnSUNBZ0lDQWdJR052Y0hrdWNtRnVaMlVnUFNCMGFHbHpMbkpoYm1kbExuTnNhV05sS0NrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCamIzQjVPMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkJaR1J6SUdFZ2RtRnNkV1VnZEc4Z2RHaGxJR052Ykd4bFkzUnBiMjR1SUVadmNpQmdJU0Z0WVhCZ0lHRnVaQ0JnSVNGdmJXRndZQ0IwYUdVZ2RtRnNkV1VnYlhWemRGeHVJQ0FnSUNBcUlHSmxJR0VnVUdGcGNpQnBibk4wWVc1alpTQnZjaUJoSUdCN0lHdGxlU3dnZG1Gc2RXVWdmV0FnYjJKcVpXTjBMQ0IzYUdsamFDQnRZWGtnYm05MElHaGhkbVVnWVNCclpYbGNiaUFnSUNBZ0tpQjBhR0YwSUdGc2NtVmhaSGtnWlhocGMzUnpJR2x1SUhSb1pTQnRZWEF1WEc0Z0lDQWdJQ292WEc0Z0lDQWdZV1JrU1c0b2NHRjBhQ3dnZG1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpSVzF3ZEhsUVlYUm9LSEJoZEdncEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWhaR1FvZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRnRyWlhrc0lDNHVMbkpsYzNSZElEMGdjR0YwYUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHNXZaR1VnUFNCMGFHbHpMbWRsZENoclpYa3NJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbHpRMjlzYkdWamRHbHZiaWh1YjJSbEtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViMlJsTG1Ga1pFbHVLSEpsYzNRc0lIWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLRzV2WkdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCMGFHbHpMbk5qYUdWdFlTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5ObGRDaHJaWGtzSUdOdmJHeGxZM1JwYjI1R2NtOXRVR0YwYUNoMGFHbHpMbk5qYUdWdFlTd2djbVZ6ZEN3Z2RtRnNkV1VwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWUVWNGNHVmpkR1ZrSUZsQlRVd2dZMjlzYkdWamRHbHZiaUJoZENBa2UydGxlWDB1SUZKbGJXRnBibWx1WnlCd1lYUm9PaUFrZTNKbGMzUjlZQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nVW1WdGIzWmxjeUJoSUhaaGJIVmxJR1p5YjIwZ2RHaGxJR052Ykd4bFkzUnBiMjR1WEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nWUhSeWRXVmdJR2xtSUhSb1pTQnBkR1Z0SUhkaGN5Qm1iM1Z1WkNCaGJtUWdjbVZ0YjNabFpDNWNiaUFnSUNBZ0tpOWNiaUFnSUNCa1pXeGxkR1ZKYmlod1lYUm9LU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRnRyWlhrc0lDNHVMbkpsYzNSZElEMGdjR0YwYUR0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNRdWJHVnVaM1JvSUQwOVBTQXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR1ZzWlhSbEtHdGxlU2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzV2WkdVZ1BTQjBhR2x6TG1kbGRDaHJaWGtzSUhSeWRXVXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2FYTkRiMnhzWldOMGFXOXVLRzV2WkdVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzV2WkdVdVpHVnNaWFJsU1c0b2NtVnpkQ2s3WEc0Z0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhnUlhod1pXTjBaV1FnV1VGTlRDQmpiMnhzWldOMGFXOXVJR0YwSUNSN2EyVjVmUzRnVW1WdFlXbHVhVzVuSUhCaGRHZzZJQ1I3Y21WemRIMWdLVHRjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dVbVYwZFhKdWN5QnBkR1Z0SUdGMElHQnJaWGxnTENCdmNpQmdkVzVrWldacGJtVmtZQ0JwWmlCdWIzUWdabTkxYm1RdUlFSjVJR1JsWm1GMWJIUWdkVzUzY21Gd2MxeHVJQ0FnSUNBcUlITmpZV3hoY2lCMllXeDFaWE1nWm5KdmJTQjBhR1ZwY2lCemRYSnliM1Z1WkdsdVp5QnViMlJsT3lCMGJ5QmthWE5oWW14bElITmxkQ0JnYTJWbGNGTmpZV3hoY21BZ2RHOWNiaUFnSUNBZ0tpQmdkSEoxWldBZ0tHTnZiR3hsWTNScGIyNXpJR0Z5WlNCaGJIZGhlWE1nY21WMGRYSnVaV1FnYVc1MFlXTjBLUzVjYmlBZ0lDQWdLaTljYmlBZ0lDQm5aWFJKYmlod1lYUm9MQ0JyWldWd1UyTmhiR0Z5S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUZ0clpYa3NJQzR1TG5KbGMzUmRJRDBnY0dGMGFEdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JtOWtaU0E5SUhSb2FYTXVaMlYwS0d0bGVTd2dkSEoxWlNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMExteGxibWQwYUNBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBaGEyVmxjRk5qWVd4aGNpQW1KaUJwYzFOallXeGhjaWh1YjJSbEtTQS9JRzV2WkdVdWRtRnNkV1VnT2lCdWIyUmxPMXh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhWE5EYjJ4c1pXTjBhVzl1S0c1dlpHVXBJRDhnYm05a1pTNW5aWFJKYmloeVpYTjBMQ0JyWldWd1UyTmhiR0Z5S1NBNklIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCOVhHNGdJQ0FnYUdGelFXeHNUblZzYkZaaGJIVmxjeWhoYkd4dmQxTmpZV3hoY2lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZEdWdGN5NWxkbVZ5ZVNodWIyUmxJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaGFYTlFZV2x5S0c1dlpHVXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHNGdQU0J1YjJSbExuWmhiSFZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDaHVJRDA5SUc1MWJHd2dmSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FvWVd4c2IzZFRZMkZzWVhJZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhOVFkyRnNZWElvYmlrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYmk1MllXeDFaU0E5UFNCdWRXeHNJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDRnVMbU52YlcxbGJuUkNaV1p2Y21VZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSVc0dVkyOXRiV1Z1ZENBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FoYmk1MFlXY3BLVHRjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUVOb1pXTnJjeUJwWmlCMGFHVWdZMjlzYkdWamRHbHZiaUJwYm1Oc2RXUmxjeUJoSUhaaGJIVmxJSGRwZEdnZ2RHaGxJR3RsZVNCZ2EyVjVZQzVjYmlBZ0lDQWdLaTljYmlBZ0lDQm9ZWE5KYmlod1lYUm9LU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRnRyWlhrc0lDNHVMbkpsYzNSZElEMGdjR0YwYUR0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNRdWJHVnVaM1JvSUQwOVBTQXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhR0Z6S0d0bGVTazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHNXZaR1VnUFNCMGFHbHpMbWRsZENoclpYa3NJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYTkRiMnhzWldOMGFXOXVLRzV2WkdVcElEOGdibTlrWlM1b1lYTkpiaWh5WlhOMEtTQTZJR1poYkhObE8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCVFpYUnpJR0VnZG1Gc2RXVWdhVzRnZEdocGN5QmpiMnhzWldOMGFXOXVMaUJHYjNJZ1lDRWhjMlYwWUN3Z1lIWmhiSFZsWUNCdVpXVmtjeUIwYnlCaVpTQmhYRzRnSUNBZ0lDb2dZbTl2YkdWaGJpQjBieUJoWkdRdmNtVnRiM1psSUhSb1pTQnBkR1Z0SUdaeWIyMGdkR2hsSUhObGRDNWNiaUFnSUNBZ0tpOWNiaUFnSUNCelpYUkpiaWh3WVhSb0xDQjJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCYmEyVjVMQ0F1TGk1eVpYTjBYU0E5SUhCaGRHZzdYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTjBMbXhsYm1kMGFDQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpaWFFvYTJWNUxDQjJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnViMlJsSUQwZ2RHaHBjeTVuWlhRb2EyVjVMQ0IwY25WbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBjME52Ykd4bFkzUnBiMjRvYm05a1pTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibTlrWlM1elpYUkpiaWh5WlhOMExDQjJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2h1YjJSbElEMDlQU0IxYm1SbFptbHVaV1FnSmlZZ2RHaHBjeTV6WTJobGJXRXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1elpYUW9hMlY1TENCamIyeHNaV04wYVc5dVJuSnZiVkJoZEdnb2RHaHBjeTV6WTJobGJXRXNJSEpsYzNRc0lIWmhiSFZsS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dCRmVIQmxZM1JsWkNCWlFVMU1JR052Ykd4bFkzUnBiMjRnWVhRZ0pIdHJaWGw5TGlCU1pXMWhhVzVwYm1jZ2NHRjBhRG9nSkh0eVpYTjBmV0FwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dWZWeHVYRzVsZUhCdmNuUWdleUJEYjJ4c1pXTjBhVzl1TENCamIyeHNaV04wYVc5dVJuSnZiVkJoZEdnc0lHbHpSVzF3ZEhsUVlYUm9JSDA3WEc0aUxDQWlMeW9xWEc0Z0tpQlRkSEpwYm1kcFptbGxjeUJoSUdOdmJXMWxiblF1WEc0Z0tseHVJQ29nUlcxd2RIa2dZMjl0YldWdWRDQnNhVzVsY3lCaGNtVWdiR1ZtZENCbGJYQjBlU3hjYmlBcUlHeHBibVZ6SUdOdmJuTnBjM1JwYm1jZ2IyWWdZU0J6YVc1bmJHVWdjM0JoWTJVZ1lYSmxJSEpsY0d4aFkyVmtJR0o1SUdBallDeGNiaUFxSUdGdVpDQmhiR3dnYjNSb1pYSWdiR2x1WlhNZ1lYSmxJSEJ5WldacGVHVmtJSGRwZEdnZ1lTQmdJMkF1WEc0Z0tpOWNibU52Ym5OMElITjBjbWx1WjJsbWVVTnZiVzFsYm5RZ1BTQW9jM1J5S1NBOVBpQnpkSEl1Y21Wd2JHRmpaU2d2WGlnL0lTUXBLRDg2SUNRcFB5OW5iU3dnSnlNbktUdGNibVoxYm1OMGFXOXVJR2x1WkdWdWRFTnZiVzFsYm5Rb1kyOXRiV1Z1ZEN3Z2FXNWtaVzUwS1NCN1hHNGdJQ0FnYVdZZ0tDOWVYRnh1S3lRdkxuUmxjM1FvWTI5dGJXVnVkQ2twWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJqYjIxdFpXNTBMbk4xWW5OMGNtbHVaeWd4S1R0Y2JpQWdJQ0J5WlhSMWNtNGdhVzVrWlc1MElEOGdZMjl0YldWdWRDNXlaWEJzWVdObEtDOWVLRDhoSUNva0tTOW5iU3dnYVc1a1pXNTBLU0E2SUdOdmJXMWxiblE3WEc1OVhHNWpiMjV6ZENCc2FXNWxRMjl0YldWdWRDQTlJQ2h6ZEhJc0lHbHVaR1Z1ZEN3Z1kyOXRiV1Z1ZENrZ1BUNGdjM1J5TG1WdVpITlhhWFJvS0NkY1hHNG5LVnh1SUNBZ0lEOGdhVzVrWlc1MFEyOXRiV1Z1ZENoamIyMXRaVzUwTENCcGJtUmxiblFwWEc0Z0lDQWdPaUJqYjIxdFpXNTBMbWx1WTJ4MVpHVnpLQ2RjWEc0bktWeHVJQ0FnSUNBZ0lDQS9JQ2RjWEc0bklDc2dhVzVrWlc1MFEyOXRiV1Z1ZENoamIyMXRaVzUwTENCcGJtUmxiblFwWEc0Z0lDQWdJQ0FnSURvZ0tITjBjaTVsYm1SelYybDBhQ2duSUNjcElEOGdKeWNnT2lBbklDY3BJQ3NnWTI5dGJXVnVkRHRjYmx4dVpYaHdiM0owSUhzZ2FXNWtaVzUwUTI5dGJXVnVkQ3dnYkdsdVpVTnZiVzFsYm5Rc0lITjBjbWx1WjJsbWVVTnZiVzFsYm5RZ2ZUdGNiaUlzSUNKamIyNXpkQ0JHVDB4RVgwWk1UMWNnUFNBblpteHZkeWM3WEc1amIyNXpkQ0JHVDB4RVgwSk1UME5MSUQwZ0oySnNiMk5ySnp0Y2JtTnZibk4wSUVaUFRFUmZVVlZQVkVWRUlEMGdKM0YxYjNSbFpDYzdYRzR2S2lwY2JpQXFJRlJ5YVdWeklIUnZJR3RsWlhBZ2FXNXdkWFFnWVhRZ2RYQWdkRzhnWUd4cGJtVlhhV1IwYUdBZ1kyaGhjbUZqZEdWeWN5d2djM0JzYVhSMGFXNW5JRzl1YkhrZ2IyNGdjM0JoWTJWelhHNGdLaUJ1YjNRZ1ptOXNiRzkzWldRZ1lua2dibVYzYkdsdVpYTWdiM0lnYzNCaFkyVnpJSFZ1YkdWemN5QmdiVzlrWldBZ2FYTWdZQ2R4ZFc5MFpXUW5ZQzRnVEdsdVpYTWdZWEpsWEc0Z0tpQjBaWEp0YVc1aGRHVmtJSGRwZEdnZ1lGeGNibUFnWVc1a0lITjBZWEowWldRZ2QybDBhQ0JnYVc1a1pXNTBZQzVjYmlBcUwxeHVablZ1WTNScGIyNGdabTlzWkVac2IzZE1hVzVsY3loMFpYaDBMQ0JwYm1SbGJuUXNJRzF2WkdVZ1BTQW5abXh2ZHljc0lIc2dhVzVrWlc1MFFYUlRkR0Z5ZEN3Z2JHbHVaVmRwWkhSb0lEMGdPREFzSUcxcGJrTnZiblJsYm5SWGFXUjBhQ0E5SURJd0xDQnZia1p2YkdRc0lHOXVUM1psY21ac2IzY2dmU0E5SUh0OUtTQjdYRzRnSUNBZ2FXWWdLQ0ZzYVc1bFYybGtkR2dnZkh3Z2JHbHVaVmRwWkhSb0lEd2dNQ2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJsZUhRN1hHNGdJQ0FnYVdZZ0tHeHBibVZYYVdSMGFDQThJRzFwYmtOdmJuUmxiblJYYVdSMGFDbGNiaUFnSUNBZ0lDQWdiV2x1UTI5dWRHVnVkRmRwWkhSb0lEMGdNRHRjYmlBZ0lDQmpiMjV6ZENCbGJtUlRkR1Z3SUQwZ1RXRjBhQzV0WVhnb01TQXJJRzFwYmtOdmJuUmxiblJYYVdSMGFDd2dNU0FySUd4cGJtVlhhV1IwYUNBdElHbHVaR1Z1ZEM1c1pXNW5kR2dwTzF4dUlDQWdJR2xtSUNoMFpYaDBMbXhsYm1kMGFDQThQU0JsYm1SVGRHVndLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR1Y0ZER0Y2JpQWdJQ0JqYjI1emRDQm1iMnhrY3lBOUlGdGRPMXh1SUNBZ0lHTnZibk4wSUdWelkyRndaV1JHYjJ4a2N5QTlJSHQ5TzF4dUlDQWdJR3hsZENCbGJtUWdQU0JzYVc1bFYybGtkR2dnTFNCcGJtUmxiblF1YkdWdVozUm9PMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdhVzVrWlc1MFFYUlRkR0Z5ZENBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHVaR1Z1ZEVGMFUzUmhjblFnUGlCc2FXNWxWMmxrZEdnZ0xTQk5ZWFJvTG0xaGVDZ3lMQ0J0YVc1RGIyNTBaVzUwVjJsa2RHZ3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXNaSE11Y0hWemFDZ3dLVHRjYmlBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnWlc1a0lEMGdiR2x1WlZkcFpIUm9JQzBnYVc1a1pXNTBRWFJUZEdGeWREdGNiaUFnSUNCOVhHNGdJQ0FnYkdWMElITndiR2wwSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUd4bGRDQndjbVYySUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUd4bGRDQnZkbVZ5Wm14dmR5QTlJR1poYkhObE8xeHVJQ0FnSUd4bGRDQnBJRDBnTFRFN1hHNGdJQ0FnYkdWMElHVnpZMU4wWVhKMElEMGdMVEU3WEc0Z0lDQWdiR1YwSUdWelkwVnVaQ0E5SUMweE8xeHVJQ0FnSUdsbUlDaHRiMlJsSUQwOVBTQkdUMHhFWDBKTVQwTkxLU0I3WEc0Z0lDQWdJQ0FnSUdrZ1BTQmpiMjV6ZFcxbFRXOXlaVWx1WkdWdWRHVmtUR2x1WlhNb2RHVjRkQ3dnYVN3Z2FXNWtaVzUwTG14bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBJQ0U5UFNBdE1TbGNiaUFnSUNBZ0lDQWdJQ0FnSUdWdVpDQTlJR2tnS3lCbGJtUlRkR1Z3TzF4dUlDQWdJSDFjYmlBZ0lDQm1iM0lnS0d4bGRDQmphRHNnS0dOb0lEMGdkR1Y0ZEZzb2FTQXJQU0F4S1YwcE95a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2JXOWtaU0E5UFQwZ1JrOU1SRjlSVlU5VVJVUWdKaVlnWTJnZ1BUMDlJQ2RjWEZ4Y0p5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pYTmpVM1JoY25RZ1BTQnBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNoMFpYaDBXMmtnS3lBeFhTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozZ25PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcElDczlJRE03WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM1VuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBJQ3M5SURVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjFVbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwSUNzOUlEazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdrZ0t6MGdNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdWelkwVnVaQ0E5SUdrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0dOb0lEMDlQU0FuWEZ4dUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzF2WkdVZ1BUMDlJRVpQVEVSZlFreFBRMHNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBOUlHTnZibk4xYldWTmIzSmxTVzVrWlc1MFpXUk1hVzVsY3loMFpYaDBMQ0JwTENCcGJtUmxiblF1YkdWdVozUm9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnVaQ0E5SUdrZ0t5QnBibVJsYm5RdWJHVnVaM1JvSUNzZ1pXNWtVM1JsY0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE53YkdsMElEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR05vSUQwOVBTQW5JQ2NnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2NtVjJJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKbGRpQWhQVDBnSnlBbklDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEpsZGlBaFBUMGdKMXhjYmljZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQndjbVYySUNFOVBTQW5YRngwSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSE53WVdObElITjFjbkp2ZFc1a1pXUWdZbmtnYm05dUxYTndZV05sSUdOaGJpQmlaU0J5WlhCc1lXTmxaQ0IzYVhSb0lHNWxkMnhwYm1VZ0t5QnBibVJsYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J1WlhoMElEMGdkR1Y0ZEZ0cElDc2dNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNWxlSFFnSmlZZ2JtVjRkQ0FoUFQwZ0p5QW5JQ1ltSUc1bGVIUWdJVDA5SUNkY1hHNG5JQ1ltSUc1bGVIUWdJVDA5SUNkY1hIUW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemNHeHBkQ0E5SUdrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVNBK1BTQmxibVFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jM0JzYVhRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm05c1pITXVjSFZ6YUNoemNHeHBkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnVaQ0E5SUhOd2JHbDBJQ3NnWlc1a1UzUmxjRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzQnNhWFFnUFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHMXZaR1VnUFQwOUlFWlBURVJmVVZWUFZFVkVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSGRvYVhSbExYTndZV05sSUdOdmJHeGxZM1JsWkNCaGRDQmxibVFnYldGNUlITjBjbVYwWTJnZ2NHRnpkQ0JzYVc1bFYybGtkR2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QyaHBiR1VnS0hCeVpYWWdQVDA5SUNjZ0p5QjhmQ0J3Y21WMklEMDlQU0FuWEZ4MEp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEpsZGlBOUlHTm9PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMmdnUFNCMFpYaDBXeWhwSUNzOUlERXBYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzkyWlhKbWJHOTNJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJCWTJOdmRXNTBJR1p2Y2lCdVpYZHNhVzVsSUdWelkyRndaU3dnWW5WMElHUnZiaWQwSUdKeVpXRnJJSEJ5WldObFpHbHVaeUJsYzJOaGNHVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdhaUE5SUdrZ1BpQmxjMk5GYm1RZ0t5QXhJRDhnYVNBdElESWdPaUJsYzJOVGRHRnlkQ0F0SURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUVKaGFXd2diM1YwSUdsbUlHeHBibVZYYVdSMGFDQW1JRzFwYmtOdmJuUmxiblJYYVdSMGFDQmhjbVVnYzJodmNuUmxjaUIwYUdGdUlHRnVJR1Z6WTJGd1pTQnpkSEpwYm1kY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dWelkyRndaV1JHYjJ4a2MxdHFYU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBaWGgwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm1iMnhrY3k1d2RYTm9LR29wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxjMk5oY0dWa1JtOXNaSE5iYWwwZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxibVFnUFNCcUlDc2daVzVrVTNSbGNEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNCc2FYUWdQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmRtVnlabXh2ZHlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhCeVpYWWdQU0JqYUR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0c5MlpYSm1iRzkzSUNZbUlHOXVUM1psY21ac2IzY3BYRzRnSUNBZ0lDQWdJRzl1VDNabGNtWnNiM2NvS1R0Y2JpQWdJQ0JwWmlBb1ptOXNaSE11YkdWdVozUm9JRDA5UFNBd0tWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHVjRkRHRjYmlBZ0lDQnBaaUFvYjI1R2IyeGtLVnh1SUNBZ0lDQWdJQ0J2YmtadmJHUW9LVHRjYmlBZ0lDQnNaWFFnY21WeklEMGdkR1Y0ZEM1emJHbGpaU2d3TENCbWIyeGtjMXN3WFNrN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCbWIyeGtjeTVzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCbWIyeGtJRDBnWm05c1pITmJhVjA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1Z1WkNBOUlHWnZiR1J6VzJrZ0t5QXhYU0I4ZkNCMFpYaDBMbXhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdhV1lnS0dadmJHUWdQVDA5SURBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhNZ1BTQmdYRnh1Skh0cGJtUmxiblI5Skh0MFpYaDBMbk5zYVdObEtEQXNJR1Z1WkNsOVlEdGNiaUFnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JXOWtaU0E5UFQwZ1JrOU1SRjlSVlU5VVJVUWdKaVlnWlhOallYQmxaRVp2YkdSelcyWnZiR1JkS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGN5QXJQU0JnSkh0MFpYaDBXMlp2YkdSZGZWeGNYRnhnTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ6SUNzOUlHQmNYRzRrZTJsdVpHVnVkSDBrZTNSbGVIUXVjMnhwWTJVb1ptOXNaQ0FySURFc0lHVnVaQ2w5WUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dWZWeHVMeW9xWEc0Z0tpQlFjbVZ6ZFcxbGN5QmdhU0FySURGZ0lHbHpJR0YwSUhSb1pTQnpkR0Z5ZENCdlppQmhJR3hwYm1WY2JpQXFJRUJ5WlhSMWNtNXpJR2x1WkdWNElHOW1JR3hoYzNRZ2JtVjNiR2x1WlNCcGJpQnRiM0psTFdsdVpHVnVkR1ZrSUdKc2IyTnJYRzRnS2k5Y2JtWjFibU4wYVc5dUlHTnZibk4xYldWTmIzSmxTVzVrWlc1MFpXUk1hVzVsY3loMFpYaDBMQ0JwTENCcGJtUmxiblFwSUh0Y2JpQWdJQ0JzWlhRZ1pXNWtJRDBnYVR0Y2JpQWdJQ0JzWlhRZ2MzUmhjblFnUFNCcElDc2dNVHRjYmlBZ0lDQnNaWFFnWTJnZ1BTQjBaWGgwVzNOMFlYSjBYVHRjYmlBZ0lDQjNhR2xzWlNBb1kyZ2dQVDA5SUNjZ0p5QjhmQ0JqYUNBOVBUMGdKMXhjZENjcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0drZ1BDQnpkR0Z5ZENBcklHbHVaR1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJnZ1BTQjBaWGgwV3lzcmFWMDdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCa2J5QjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMmdnUFNCMFpYaDBXeXNyYVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUhkb2FXeGxJQ2hqYUNBbUppQmphQ0FoUFQwZ0oxeGNiaWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaVzVrSUQwZ2FUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMFlYSjBJRDBnYVNBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNCamFDQTlJSFJsZUhSYmMzUmhjblJkTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmxibVE3WEc1OVhHNWNibVY0Y0c5eWRDQjdJRVpQVEVSZlFreFBRMHNzSUVaUFRFUmZSa3hQVnl3Z1JrOU1SRjlSVlU5VVJVUXNJR1p2YkdSR2JHOTNUR2x1WlhNZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCVFkyRnNZWElnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlUWTJGc1lYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ1ptOXNaRVpzYjNkTWFXNWxjeXdnUms5TVJGOVJWVTlVUlVRc0lFWlBURVJmUmt4UFZ5d2dSazlNUkY5Q1RFOURTeUI5SUdaeWIyMGdKeTR2Wm05c1pFWnNiM2RNYVc1bGN5NXFjeWM3WEc1Y2JtTnZibk4wSUdkbGRFWnZiR1JQY0hScGIyNXpJRDBnS0dOMGVDd2dhWE5DYkc5amF5a2dQVDRnS0h0Y2JpQWdJQ0JwYm1SbGJuUkJkRk4wWVhKME9pQnBjMEpzYjJOcklEOGdZM1I0TG1sdVpHVnVkQzVzWlc1bmRHZ2dPaUJqZEhndWFXNWtaVzUwUVhSVGRHRnlkQ3hjYmlBZ0lDQnNhVzVsVjJsa2RHZzZJR04wZUM1dmNIUnBiMjV6TG14cGJtVlhhV1IwYUN4Y2JpQWdJQ0J0YVc1RGIyNTBaVzUwVjJsa2RHZzZJR04wZUM1dmNIUnBiMjV6TG0xcGJrTnZiblJsYm5SWGFXUjBhRnh1ZlNrN1hHNHZMeUJCYkhOdklHTm9aV05yY3lCbWIzSWdiR2x1WlhNZ2MzUmhjblJwYm1jZ2QybDBhQ0FsTENCaGN5QndZWEp6YVc1bklIUm9aU0J2ZFhSd2RYUWdZWE1nV1VGTlRDQXhMakVnZDJsc2JGeHVMeThnY0hKbGMzVnRaU0IwYUdGMEozTWdjM1JoY25ScGJtY2dZU0J1WlhjZ1pHOWpkVzFsYm5RdVhHNWpiMjV6ZENCamIyNTBZV2x1YzBSdlkzVnRaVzUwVFdGeWEyVnlJRDBnS0hOMGNpa2dQVDRnTDE0b0pYd3RMUzE4WEZ3dVhGd3VYRnd1S1M5dExuUmxjM1FvYzNSeUtUdGNibVoxYm1OMGFXOXVJR3hwYm1WTVpXNW5kR2hQZG1WeVRHbHRhWFFvYzNSeUxDQnNhVzVsVjJsa2RHZ3NJR2x1WkdWdWRFeGxibWQwYUNrZ2UxeHVJQ0FnSUdsbUlDZ2hiR2x1WlZkcFpIUm9JSHg4SUd4cGJtVlhhV1IwYUNBOElEQXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0JqYjI1emRDQnNhVzFwZENBOUlHeHBibVZYYVdSMGFDQXRJR2x1WkdWdWRFeGxibWQwYUR0Y2JpQWdJQ0JqYjI1emRDQnpkSEpNWlc0Z1BTQnpkSEl1YkdWdVozUm9PMXh1SUNBZ0lHbG1JQ2h6ZEhKTVpXNGdQRDBnYkdsdGFYUXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Dd2djM1JoY25RZ1BTQXdPeUJwSUR3Z2MzUnlUR1Z1T3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITjBjbHRwWFNBOVBUMGdKMXhjYmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBJQzBnYzNSaGNuUWdQaUJzYVcxcGRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBZWEowSUQwZ2FTQXJJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYzNSeVRHVnVJQzBnYzNSaGNuUWdQRDBnYkdsdGFYUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBjblZsTzF4dWZWeHVablZ1WTNScGIyNGdaRzkxWW14bFVYVnZkR1ZrVTNSeWFXNW5LSFpoYkhWbExDQmpkSGdwSUh0Y2JpQWdJQ0JqYjI1emRDQnFjMjl1SUQwZ1NsTlBUaTV6ZEhKcGJtZHBabmtvZG1Gc2RXVXBPMXh1SUNBZ0lHbG1JQ2hqZEhndWIzQjBhVzl1Y3k1a2IzVmliR1ZSZFc5MFpXUkJjMHBUVDA0cFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCcWMyOXVPMXh1SUNBZ0lHTnZibk4wSUhzZ2FXMXdiR2xqYVhSTFpYa2dmU0E5SUdOMGVEdGNiaUFnSUNCamIyNXpkQ0J0YVc1TmRXeDBhVXhwYm1WTVpXNW5kR2dnUFNCamRIZ3ViM0IwYVc5dWN5NWtiM1ZpYkdWUmRXOTBaV1JOYVc1TmRXeDBhVXhwYm1WTVpXNW5kR2c3WEc0Z0lDQWdZMjl1YzNRZ2FXNWtaVzUwSUQwZ1kzUjRMbWx1WkdWdWRDQjhmQ0FvWTI5dWRHRnBibk5FYjJOMWJXVnVkRTFoY210bGNpaDJZV3gxWlNrZ1B5QW5JQ0FuSURvZ0p5Y3BPMXh1SUNBZ0lHeGxkQ0J6ZEhJZ1BTQW5KenRjYmlBZ0lDQnNaWFFnYzNSaGNuUWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd0xDQmphQ0E5SUdwemIyNWJhVjA3SUdOb095QmphQ0E5SUdwemIyNWJLeXRwWFNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWTJnZ1BUMDlJQ2NnSnlBbUppQnFjMjl1VzJrZ0t5QXhYU0E5UFQwZ0oxeGNYRnduSUNZbUlHcHpiMjViYVNBcklESmRJRDA5UFNBbmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJSE53WVdObElHSmxabTl5WlNCdVpYZHNhVzVsSUc1bFpXUnpJSFJ2SUdKbElHVnpZMkZ3WldRZ2RHOGdibTkwSUdKbElHWnZiR1JsWkZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1J5SUNzOUlHcHpiMjR1YzJ4cFkyVW9jM1JoY25Rc0lHa3BJQ3NnSjF4Y1hGd2dKenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHa2dLejBnTVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMElEMGdhVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTm9JRDBnSjF4Y1hGd25PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaGphQ0E5UFQwZ0oxeGNYRnduS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjM2RwZEdOb0lDaHFjMjl1VzJrZ0t5QXhYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM1VuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkSElnS3owZ2FuTnZiaTV6YkdsalpTaHpkR0Z5ZEN3Z2FTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamIyUmxJRDBnYW5OdmJpNXpkV0p6ZEhJb2FTQXJJRElzSURRcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNoamIyUmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuTURBd01DYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBjaUFyUFNBblhGeGNYREFuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDY3dNREEzSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlDczlJQ2RjWEZ4Y1lTYzdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSnpBd01HSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkSElnS3owZ0oxeGNYRngySnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5NREF4WWljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGNpQXJQU0FuWEZ4Y1hHVW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNjd01EZzFKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM1J5SUNzOUlDZGNYRnhjVGljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKekF3WVRBbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRISWdLejBnSjF4Y1hGeGZKenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbk1qQXlPQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wY2lBclBTQW5YRnhjWEV3bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2N5TURJNUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJQ3M5SUNkY1hGeGNVQ2M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqYjJSbExuTjFZbk4wY2lnd0xDQXlLU0E5UFQwZ0p6QXdKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGNpQXJQU0FuWEZ4Y1hIZ25JQ3NnWTI5a1pTNXpkV0p6ZEhJb01pazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGNpQXJQU0JxYzI5dUxuTjFZbk4wY2locExDQTJLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2tnS3owZ05UdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBZWEowSUQwZ2FTQXJJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmJpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBiWEJzYVdOcGRFdGxlU0I4ZkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYW5OdmJsdHBJQ3NnTWwwZ1BUMDlJQ2RjSWljZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHcHpiMjR1YkdWdVozUm9JRHdnYldsdVRYVnNkR2xNYVc1bFRHVnVaM1JvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcElDczlJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJtYjJ4a2FXNW5JSGRwYkd3Z1pXRjBJR1pwY25OMElHNWxkMnhwYm1WY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGNpQXJQU0JxYzI5dUxuTnNhV05sS0hOMFlYSjBMQ0JwS1NBcklDZGNYRzVjWEc0bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QyaHBiR1VnS0dwemIyNWJhU0FySURKZElEMDlQU0FuWEZ4Y1hDY2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcWMyOXVXMmtnS3lBelhTQTlQVDBnSjI0bklDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYW5OdmJsdHBJQ3NnTkYwZ0lUMDlJQ2RjSWljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEhJZ0t6MGdKMXhjYmljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0FyUFNBeU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJQ3M5SUdsdVpHVnVkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhOd1lXTmxJR0ZtZEdWeUlHNWxkMnhwYm1VZ2JtVmxaSE1nZEc4Z1ltVWdaWE5qWVhCbFpDQjBieUJ1YjNRZ1ltVWdabTlzWkdWa1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hbk52Ymx0cElDc2dNbDBnUFQwOUlDY2dKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRISWdLejBnSjF4Y1hGd25PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0FyUFNBeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblFnUFNCcElDc2dNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwSUNzOUlERTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSE4wY2lBOUlITjBZWEowSUQ4Z2MzUnlJQ3NnYW5OdmJpNXpiR2xqWlNoemRHRnlkQ2tnT2lCcWMyOXVPMXh1SUNBZ0lISmxkSFZ5YmlCcGJYQnNhV05wZEV0bGVWeHVJQ0FnSUNBZ0lDQS9JSE4wY2x4dUlDQWdJQ0FnSUNBNklHWnZiR1JHYkc5M1RHbHVaWE1vYzNSeUxDQnBibVJsYm5Rc0lFWlBURVJmVVZWUFZFVkVMQ0JuWlhSR2IyeGtUM0IwYVc5dWN5aGpkSGdzSUdaaGJITmxLU2s3WEc1OVhHNW1kVzVqZEdsdmJpQnphVzVuYkdWUmRXOTBaV1JUZEhKcGJtY29kbUZzZFdVc0lHTjBlQ2tnZTF4dUlDQWdJR2xtSUNoamRIZ3ViM0IwYVc5dWN5NXphVzVuYkdWUmRXOTBaU0E5UFQwZ1ptRnNjMlVnZkh4Y2JpQWdJQ0FnSUNBZ0tHTjBlQzVwYlhCc2FXTnBkRXRsZVNBbUppQjJZV3gxWlM1cGJtTnNkV1JsY3lnblhGeHVKeWtwSUh4OFhHNGdJQ0FnSUNBZ0lDOWJJRnhjZEYxY1hHNThYRnh1V3lCY1hIUmRMeTUwWlhOMEtIWmhiSFZsS1NBdkx5QnphVzVuYkdVZ2NYVnZkR1ZrSUhOMGNtbHVaeUJqWVc0bmRDQm9ZWFpsSUd4bFlXUnBibWNnYjNJZ2RISmhhV3hwYm1jZ2QyaHBkR1Z6Y0dGalpTQmhjbTkxYm1RZ2JtVjNiR2x1WlZ4dUlDQWdJQ2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1J2ZFdKc1pWRjFiM1JsWkZOMGNtbHVaeWgyWVd4MVpTd2dZM1I0S1R0Y2JpQWdJQ0JqYjI1emRDQnBibVJsYm5RZ1BTQmpkSGd1YVc1a1pXNTBJSHg4SUNoamIyNTBZV2x1YzBSdlkzVnRaVzUwVFdGeWEyVnlLSFpoYkhWbEtTQS9JQ2NnSUNjZ09pQW5KeWs3WEc0Z0lDQWdZMjl1YzNRZ2NtVnpJRDBnWENJblhDSWdLeUIyWVd4MVpTNXlaWEJzWVdObEtDOG5MMmNzSUZ3aUp5ZGNJaWt1Y21Wd2JHRmpaU2d2WEZ4dUt5OW5MQ0JnSkNaY1hHNGtlMmx1WkdWdWRIMWdLU0FySUZ3aUoxd2lPMXh1SUNBZ0lISmxkSFZ5YmlCamRIZ3VhVzF3YkdsamFYUkxaWGxjYmlBZ0lDQWdJQ0FnUHlCeVpYTmNiaUFnSUNBZ0lDQWdPaUJtYjJ4a1JteHZkMHhwYm1WektISmxjeXdnYVc1a1pXNTBMQ0JHVDB4RVgwWk1UMWNzSUdkbGRFWnZiR1JQY0hScGIyNXpLR04wZUN3Z1ptRnNjMlVwS1R0Y2JuMWNibVoxYm1OMGFXOXVJSEYxYjNSbFpGTjBjbWx1WnloMllXeDFaU3dnWTNSNEtTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCemFXNW5iR1ZSZFc5MFpTQjlJRDBnWTNSNExtOXdkR2x2Ym5NN1hHNGdJQ0FnYkdWMElIRnpPMXh1SUNBZ0lHbG1JQ2h6YVc1bmJHVlJkVzkwWlNBOVBUMGdabUZzYzJVcFhHNGdJQ0FnSUNBZ0lIRnpJRDBnWkc5MVlteGxVWFZ2ZEdWa1UzUnlhVzVuTzF4dUlDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCb1lYTkViM1ZpYkdVZ1BTQjJZV3gxWlM1cGJtTnNkV1JsY3lnblhDSW5LVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhR0Z6VTJsdVoyeGxJRDBnZG1Gc2RXVXVhVzVqYkhWa1pYTW9YQ0luWENJcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYUdGelJHOTFZbXhsSUNZbUlDRm9ZWE5UYVc1bmJHVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCeGN5QTlJSE5wYm1kc1pWRjFiM1JsWkZOMGNtbHVaenRjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYUdGelUybHVaMnhsSUNZbUlDRm9ZWE5FYjNWaWJHVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCeGN5QTlJR1J2ZFdKc1pWRjFiM1JsWkZOMGNtbHVaenRjYmlBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnY1hNZ1BTQnphVzVuYkdWUmRXOTBaU0EvSUhOcGJtZHNaVkYxYjNSbFpGTjBjbWx1WnlBNklHUnZkV0pzWlZGMWIzUmxaRk4wY21sdVp6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEZ6S0haaGJIVmxMQ0JqZEhncE8xeHVmVnh1THk4Z1ZHaGxJRzVsWjJGMGFYWmxJR3h2YjJ0aVpXaHBibVFnWVhadmFXUnpJR0VnY0c5c2VXNXZiV2xoYkNCelpXRnlZMmdzWEc0dkx5QmlkWFFnYVhOdUozUWdjM1Z3Y0c5eWRHVmtJSGxsZENCdmJpQlRZV1poY21rNklHaDBkSEJ6T2k4dlkyRnVhWFZ6WlM1amIyMHZhbk10Y21WblpYaHdMV3h2YjJ0aVpXaHBibVJjYm14bGRDQmliRzlqYTBWdVpFNWxkMnhwYm1Wek8xeHVkSEo1SUh0Y2JpQWdJQ0JpYkc5amEwVnVaRTVsZDJ4cGJtVnpJRDBnYm1WM0lGSmxaMFY0Y0NnbktGNThLRDg4SVZ4Y2Jpa3BYRnh1S3lnL0lWeGNibndrS1Njc0lDZG5KeWs3WEc1OVhHNWpZWFJqYUNCN1hHNGdJQ0FnWW14dlkydEZibVJPWlhkc2FXNWxjeUE5SUM5Y1hHNHJLRDhoWEZ4dWZDUXBMMmM3WEc1OVhHNW1kVzVqZEdsdmJpQmliRzlqYTFOMGNtbHVaeWg3SUdOdmJXMWxiblFzSUhSNWNHVXNJSFpoYkhWbElIMHNJR04wZUN3Z2IyNURiMjF0Wlc1MExDQnZia05vYjIxd1MyVmxjQ2tnZTF4dUlDQWdJR052Ym5OMElIc2dZbXh2WTJ0UmRXOTBaU3dnWTI5dGJXVnVkRk4wY21sdVp5d2diR2x1WlZkcFpIUm9JSDBnUFNCamRIZ3ViM0IwYVc5dWN6dGNiaUFnSUNBdkx5QXhMaUJDYkc5amF5QmpZVzRuZENCbGJtUWdhVzRnZDJocGRHVnpjR0ZqWlNCMWJteGxjM01nZEdobElHeGhjM1FnYkdsdVpTQnBjeUJ1YjI0dFpXMXdkSGt1WEc0Z0lDQWdMeThnTWk0Z1UzUnlhVzVuY3lCamIyNXphWE4wYVc1bklHOW1JRzl1YkhrZ2QyaHBkR1Z6Y0dGalpTQmhjbVVnWW1WemRDQnlaVzVrWlhKbFpDQmxlSEJzYVdOcGRHeDVMbHh1SUNBZ0lHbG1JQ2doWW14dlkydFJkVzkwWlNCOGZDQXZYRnh1VzF4Y2RDQmRLeVF2TG5SbGMzUW9kbUZzZFdVcElIeDhJQzllWEZ4ektpUXZMblJsYzNRb2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCeGRXOTBaV1JUZEhKcGJtY29kbUZzZFdVc0lHTjBlQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUdsdVpHVnVkQ0E5SUdOMGVDNXBibVJsYm5RZ2ZIeGNiaUFnSUNBZ0lDQWdLR04wZUM1bWIzSmpaVUpzYjJOclNXNWtaVzUwSUh4OElHTnZiblJoYVc1elJHOWpkVzFsYm5STllYSnJaWElvZG1Gc2RXVXBJRDhnSnlBZ0p5QTZJQ2NuS1R0Y2JpQWdJQ0JqYjI1emRDQnNhWFJsY21Gc0lEMGdZbXh2WTJ0UmRXOTBaU0E5UFQwZ0oyeHBkR1Z5WVd3blhHNGdJQ0FnSUNBZ0lEOGdkSEoxWlZ4dUlDQWdJQ0FnSUNBNklHSnNiMk5yVVhWdmRHVWdQVDA5SUNkbWIyeGtaV1FuSUh4OElIUjVjR1VnUFQwOUlGTmpZV3hoY2k1Q1RFOURTMTlHVDB4RVJVUmNiaUFnSUNBZ0lDQWdJQ0FnSUQ4Z1ptRnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dkSGx3WlNBOVBUMGdVMk5oYkdGeUxrSk1UME5MWDB4SlZFVlNRVXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUhSeWRXVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJQ0ZzYVc1bFRHVnVaM1JvVDNabGNreHBiV2wwS0haaGJIVmxMQ0JzYVc1bFYybGtkR2dzSUdsdVpHVnVkQzVzWlc1bmRHZ3BPMXh1SUNBZ0lHbG1JQ2doZG1Gc2RXVXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnNhWFJsY21Gc0lEOGdKM3hjWEc0bklEb2dKejVjWEc0bk8xeHVJQ0FnSUM4dklHUmxkR1Z5YldsdVpTQmphRzl0Y0dsdVp5Qm1jbTl0SUhkb2FYUmxjM0JoWTJVZ1lYUWdkbUZzZFdVZ1pXNWtYRzRnSUNBZ2JHVjBJR05vYjIxd08xeHVJQ0FnSUd4bGRDQmxibVJUZEdGeWREdGNiaUFnSUNCbWIzSWdLR1Z1WkZOMFlYSjBJRDBnZG1Gc2RXVXViR1Z1WjNSb095QmxibVJUZEdGeWRDQStJREE3SUMwdFpXNWtVM1JoY25RcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kyZ2dQU0IyWVd4MVpWdGxibVJUZEdGeWRDQXRJREZkTzF4dUlDQWdJQ0FnSUNCcFppQW9ZMmdnSVQwOUlDZGNYRzRuSUNZbUlHTm9JQ0U5UFNBblhGeDBKeUFtSmlCamFDQWhQVDBnSnlBbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ2ZWeHVJQ0FnSUd4bGRDQmxibVFnUFNCMllXeDFaUzV6ZFdKemRISnBibWNvWlc1a1UzUmhjblFwTzF4dUlDQWdJR052Ym5OMElHVnVaRTVzVUc5eklEMGdaVzVrTG1sdVpHVjRUMllvSjF4Y2JpY3BPMXh1SUNBZ0lHbG1JQ2hsYm1ST2JGQnZjeUE5UFQwZ0xURXBJSHRjYmlBZ0lDQWdJQ0FnWTJodmJYQWdQU0FuTFNjN0lDOHZJSE4wY21sd1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJVZ2FXWWdLSFpoYkhWbElEMDlQU0JsYm1RZ2ZId2daVzVrVG14UWIzTWdJVDA5SUdWdVpDNXNaVzVuZEdnZ0xTQXhLU0I3WEc0Z0lDQWdJQ0FnSUdOb2IyMXdJRDBnSnlzbk95QXZMeUJyWldWd1hHNGdJQ0FnSUNBZ0lHbG1JQ2h2YmtOb2IyMXdTMlZsY0NsY2JpQWdJQ0FnSUNBZ0lDQWdJRzl1UTJodmJYQkxaV1Z3S0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmphRzl0Y0NBOUlDY25PeUF2THlCamJHbHdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGxibVFwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnNkV1VnUFNCMllXeDFaUzV6YkdsalpTZ3dMQ0F0Wlc1a0xteGxibWQwYUNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hsYm1SYlpXNWtMbXhsYm1kMGFDQXRJREZkSUQwOVBTQW5YRnh1SnlsY2JpQWdJQ0FnSUNBZ0lDQWdJR1Z1WkNBOUlHVnVaQzV6YkdsalpTZ3dMQ0F0TVNrN1hHNGdJQ0FnSUNBZ0lHVnVaQ0E5SUdWdVpDNXlaWEJzWVdObEtHSnNiMk5yUlc1a1RtVjNiR2x1WlhNc0lHQWtKaVI3YVc1a1pXNTBmV0FwTzF4dUlDQWdJSDFjYmlBZ0lDQXZMeUJrWlhSbGNtMXBibVVnYVc1a1pXNTBJR2x1WkdsallYUnZjaUJtY205dElIZG9hWFJsYzNCaFkyVWdZWFFnZG1Gc2RXVWdjM1JoY25SY2JpQWdJQ0JzWlhRZ2MzUmhjblJYYVhSb1UzQmhZMlVnUFNCbVlXeHpaVHRjYmlBZ0lDQnNaWFFnYzNSaGNuUkZibVE3WEc0Z0lDQWdiR1YwSUhOMFlYSjBUbXhRYjNNZ1BTQXRNVHRjYmlBZ0lDQm1iM0lnS0hOMFlYSjBSVzVrSUQwZ01Ec2djM1JoY25SRmJtUWdQQ0IyWVd4MVpTNXNaVzVuZEdnN0lDc3JjM1JoY25SRmJtUXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMmdnUFNCMllXeDFaVnR6ZEdGeWRFVnVaRjA3WEc0Z0lDQWdJQ0FnSUdsbUlDaGphQ0E5UFQwZ0p5QW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblJYYVhSb1UzQmhZMlVnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hqYUNBOVBUMGdKMXhjYmljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZEdGeWRFNXNVRzl6SUQwZ2MzUmhjblJGYm1RN1hHNGdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJSDFjYmlBZ0lDQnNaWFFnYzNSaGNuUWdQU0IyWVd4MVpTNXpkV0p6ZEhKcGJtY29NQ3dnYzNSaGNuUk9iRkJ2Y3lBOElITjBZWEowUlc1a0lEOGdjM1JoY25ST2JGQnZjeUFySURFZ09pQnpkR0Z5ZEVWdVpDazdYRzRnSUNBZ2FXWWdLSE4wWVhKMEtTQjdYRzRnSUNBZ0lDQWdJSFpoYkhWbElEMGdkbUZzZFdVdWMzVmljM1J5YVc1bktITjBZWEowTG14bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUhOMFlYSjBJRDBnYzNSaGNuUXVjbVZ3YkdGalpTZ3ZYRnh1S3k5bkxDQmdKQ1lrZTJsdVpHVnVkSDFnS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2FXNWtaVzUwVTJsNlpTQTlJR2x1WkdWdWRDQS9JQ2N5SnlBNklDY3hKenNnTHk4Z2NtOXZkQ0JwY3lCaGRDQXRNVnh1SUNBZ0lHeGxkQ0JvWldGa1pYSWdQU0FvYkdsMFpYSmhiQ0EvSUNkOEp5QTZJQ2MrSnlrZ0t5QW9jM1JoY25SWGFYUm9VM0JoWTJVZ1B5QnBibVJsYm5SVGFYcGxJRG9nSnljcElDc2dZMmh2YlhBN1hHNGdJQ0FnYVdZZ0tHTnZiVzFsYm5RcElIdGNiaUFnSUNBZ0lDQWdhR1ZoWkdWeUlDczlJQ2NnSnlBcklHTnZiVzFsYm5SVGRISnBibWNvWTI5dGJXVnVkQzV5WlhCc1lXTmxLQzhnUDF0Y1hISmNYRzVkS3k5bkxDQW5JQ2NwS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzl1UTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXVRMjl0YldWdWRDZ3BPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9iR2wwWlhKaGJDa2dlMXh1SUNBZ0lDQWdJQ0IyWVd4MVpTQTlJSFpoYkhWbExuSmxjR3hoWTJVb0wxeGNiaXN2Wnl3Z1lDUW1KSHRwYm1SbGJuUjlZQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJnSkh0b1pXRmtaWEo5WEZ4dUpIdHBibVJsYm5SOUpIdHpkR0Z5ZEgwa2UzWmhiSFZsZlNSN1pXNWtmV0E3WEc0Z0lDQWdmVnh1SUNBZ0lIWmhiSFZsSUQwZ2RtRnNkV1ZjYmlBZ0lDQWdJQ0FnTG5KbGNHeGhZMlVvTDF4Y2Jpc3ZaeXdnSjF4Y2JpUW1KeWxjYmlBZ0lDQWdJQ0FnTG5KbGNHeGhZMlVvTHlnL09sNThYRnh1S1NoYlhGeDBJRjB1S2lrb1B6b29XMXhjYmx4Y2RDQmRLaWxjWEc0b1B5RmJYRnh1WEZ4MElGMHBLVDh2Wnl3Z0p5UXhKREluS1NBdkx5QnRiM0psTFdsdVpHVnVkR1ZrSUd4cGJtVnpJR0Z5Wlc0bmRDQm1iMnhrWldSY2JpQWdJQ0FnSUNBZ0x5OGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1hpQnRiM0psTFdsdVpDNGdYaUJsYlhCMGVTQWdJQ0FnWGlCallYQjBkWEpsSUc1bGVIUWdaVzF3ZEhrZ2JHbHVaWE1nYjI1c2VTQmhkQ0JsYm1RZ2IyWWdhVzVrWlc1MFhHNGdJQ0FnSUNBZ0lDNXlaWEJzWVdObEtDOWNYRzRyTDJjc0lHQWtKaVI3YVc1a1pXNTBmV0FwTzF4dUlDQWdJR052Ym5OMElHSnZaSGtnUFNCbWIyeGtSbXh2ZDB4cGJtVnpLR0FrZTNOMFlYSjBmU1I3ZG1Gc2RXVjlKSHRsYm1SOVlDd2dhVzVrWlc1MExDQkdUMHhFWDBKTVQwTkxMQ0JuWlhSR2IyeGtUM0IwYVc5dWN5aGpkSGdzSUhSeWRXVXBLVHRjYmlBZ0lDQnlaWFIxY200Z1lDUjdhR1ZoWkdWeWZWeGNiaVI3YVc1a1pXNTBmU1I3WW05a2VYMWdPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NHeGhhVzVUZEhKcGJtY29hWFJsYlN3Z1kzUjRMQ0J2YmtOdmJXMWxiblFzSUc5dVEyaHZiWEJMWldWd0tTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCMGVYQmxMQ0IyWVd4MVpTQjlJRDBnYVhSbGJUdGNiaUFnSUNCamIyNXpkQ0I3SUdGamRIVmhiRk4wY21sdVp5d2dhVzF3YkdsamFYUkxaWGtzSUdsdVpHVnVkQ3dnYVc1a1pXNTBVM1JsY0N3Z2FXNUdiRzkzSUgwZ1BTQmpkSGc3WEc0Z0lDQWdhV1lnS0NocGJYQnNhV05wZEV0bGVTQW1KaUIyWVd4MVpTNXBibU5zZFdSbGN5Z25YRnh1SnlrcElIeDhYRzRnSUNBZ0lDQWdJQ2hwYmtac2IzY2dKaVlnTDF0YlhGeGRlMzBzWFM4dWRHVnpkQ2gyWVd4MVpTa3BLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ4ZFc5MFpXUlRkSEpwYm1jb2RtRnNkV1VzSUdOMGVDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ2hkbUZzZFdVZ2ZIeGNiaUFnSUNBZ0lDQWdMMTViWEZ4dVhGeDBJQ3hiWEZ4ZGUzMGpKaW9oZkQ0blhDSWxRR0JkZkY1YlB5MWRKSHhlV3o4dFhWc2dYRngwWFh4YlhGeHVPbDFiSUZ4Y2RGMThXeUJjWEhSZFhGeHVmRnRjWEc1Y1hIUWdYU044VzF4Y2JseGNkQ0E2WFNRdkxuUmxjM1FvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0FnSUM4dklHNXZkQ0JoYkd4dmQyVmtPbHh1SUNBZ0lDQWdJQ0F2THlBdElHVnRjSFI1SUhOMGNtbHVaeXdnSnkwbklHOXlJQ2MvSjF4dUlDQWdJQ0FnSUNBdkx5QXRJSE4wWVhKMElIZHBkR2dnWVc0Z2FXNWthV05oZEc5eUlHTm9ZWEpoWTNSbGNpQW9aWGhqWlhCMElGcy9PaTFkS1NCdmNpQXZXejh0WFNBdlhHNGdJQ0FnSUNBZ0lDOHZJQzBnSjF4Y2JpQW5MQ0FuT2lBbklHOXlJQ2NnWEZ4dUp5QmhibmwzYUdWeVpWeHVJQ0FnSUNBZ0lDQXZMeUF0SUNjakp5QnViM1FnY0hKbFkyVmtaV1FnWW5rZ1lTQnViMjR0YzNCaFkyVWdZMmhoY2x4dUlDQWdJQ0FnSUNBdkx5QXRJR1Z1WkNCM2FYUm9JQ2NnSnlCdmNpQW5PaWRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR2x0Y0d4cFkybDBTMlY1SUh4OElHbHVSbXh2ZHlCOGZDQWhkbUZzZFdVdWFXNWpiSFZrWlhNb0oxeGNiaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JSEYxYjNSbFpGTjBjbWx1WnloMllXeDFaU3dnWTNSNEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnT2lCaWJHOWphMU4wY21sdVp5aHBkR1Z0TENCamRIZ3NJRzl1UTI5dGJXVnVkQ3dnYjI1RGFHOXRjRXRsWlhBcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0lXbHRjR3hwWTJsMFMyVjVJQ1ltWEc0Z0lDQWdJQ0FnSUNGcGJrWnNiM2NnSmlaY2JpQWdJQ0FnSUNBZ2RIbHdaU0FoUFQwZ1UyTmhiR0Z5TGxCTVFVbE9JQ1ltWEc0Z0lDQWdJQ0FnSUhaaGJIVmxMbWx1WTJ4MVpHVnpLQ2RjWEc0bktTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCWGFHVnlaU0JoYkd4dmQyVmtJQ1lnZEhsd1pTQnViM1FnYzJWMElHVjRjR3hwWTJsMGJIa3NJSEJ5WldabGNpQmliRzlqYXlCemRIbHNaU0JtYjNJZ2JYVnNkR2xzYVc1bElITjBjbWx1WjNOY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdKc2IyTnJVM1J5YVc1bktHbDBaVzBzSUdOMGVDd2diMjVEYjIxdFpXNTBMQ0J2YmtOb2IyMXdTMlZsY0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoamIyNTBZV2x1YzBSdlkzVnRaVzUwVFdGeWEyVnlLSFpoYkhWbEtTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2FXNWtaVzUwSUQwOVBTQW5KeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZM1I0TG1admNtTmxRbXh2WTJ0SmJtUmxiblFnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdKc2IyTnJVM1J5YVc1bktHbDBaVzBzSUdOMGVDd2diMjVEYjIxdFpXNTBMQ0J2YmtOb2IyMXdTMlZsY0NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9hVzF3YkdsamFYUkxaWGtnSmlZZ2FXNWtaVzUwSUQwOVBTQnBibVJsYm5SVGRHVndLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NYVnZkR1ZrVTNSeWFXNW5LSFpoYkhWbExDQmpkSGdwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElITjBjaUE5SUhaaGJIVmxMbkpsY0d4aFkyVW9MMXhjYmlzdlp5d2dZQ1FtWEZ4dUpIdHBibVJsYm5SOVlDazdYRzRnSUNBZ0x5OGdWbVZ5YVdaNUlIUm9ZWFFnYjNWMGNIVjBJSGRwYkd3Z1ltVWdjR0Z5YzJWa0lHRnpJR0VnYzNSeWFXNW5MQ0JoY3lCbExtY3VJSEJzWVdsdUlHNTFiV0psY25NZ1lXNWtYRzRnSUNBZ0x5OGdZbTl2YkdWaGJuTWdaMlYwSUhCaGNuTmxaQ0IzYVhSb0lIUm9iM05sSUhSNWNHVnpJR2x1SUhZeExqSWdLR1V1Wnk0Z0p6UXlKeXdnSjNSeWRXVW5JQ1lnSnpBdU9XVXRNeWNwTEZ4dUlDQWdJQzh2SUdGdVpDQnZkR2hsY25NZ2FXNGdkakV1TVM1Y2JpQWdJQ0JwWmlBb1lXTjBkV0ZzVTNSeWFXNW5LU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSFJsYzNRZ1BTQW9kR0ZuS1NBOVBpQjBZV2N1WkdWbVlYVnNkQ0FtSmlCMFlXY3VkR0ZuSUNFOVBTQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZjM1J5SnlBbUppQjBZV2N1ZEdWemREOHVkR1Z6ZENoemRISXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjdJR052YlhCaGRDd2dkR0ZuY3lCOUlEMGdZM1I0TG1Sdll5NXpZMmhsYldFN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwWVdkekxuTnZiV1VvZEdWemRDa2dmSHdnWTI5dGNHRjBQeTV6YjIxbEtIUmxjM1FwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIRjFiM1JsWkZOMGNtbHVaeWgyWVd4MVpTd2dZM1I0S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHbHRjR3hwWTJsMFMyVjVYRzRnSUNBZ0lDQWdJRDhnYzNSeVhHNGdJQ0FnSUNBZ0lEb2dabTlzWkVac2IzZE1hVzVsY3loemRISXNJR2x1WkdWdWRDd2dSazlNUkY5R1RFOVhMQ0JuWlhSR2IyeGtUM0IwYVc5dWN5aGpkSGdzSUdaaGJITmxLU2s3WEc1OVhHNW1kVzVqZEdsdmJpQnpkSEpwYm1kcFpubFRkSEpwYm1jb2FYUmxiU3dnWTNSNExDQnZia052YlcxbGJuUXNJRzl1UTJodmJYQkxaV1Z3S1NCN1hHNGdJQ0FnWTI5dWMzUWdleUJwYlhCc2FXTnBkRXRsZVN3Z2FXNUdiRzkzSUgwZ1BTQmpkSGc3WEc0Z0lDQWdZMjl1YzNRZ2MzTWdQU0IwZVhCbGIyWWdhWFJsYlM1MllXeDFaU0E5UFQwZ0ozTjBjbWx1WnlkY2JpQWdJQ0FnSUNBZ1B5QnBkR1Z0WEc0Z0lDQWdJQ0FnSURvZ1QySnFaV04wTG1GemMybG5iaWg3ZlN3Z2FYUmxiU3dnZXlCMllXeDFaVG9nVTNSeWFXNW5LR2wwWlcwdWRtRnNkV1VwSUgwcE8xeHVJQ0FnSUd4bGRDQjdJSFI1Y0dVZ2ZTQTlJR2wwWlcwN1hHNGdJQ0FnYVdZZ0tIUjVjR1VnSVQwOUlGTmpZV3hoY2k1UlZVOVVSVjlFVDFWQ1RFVXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1ptOXlZMlVnWkc5MVlteGxJSEYxYjNSbGN5QnZiaUJqYjI1MGNtOXNJR05vWVhKaFkzUmxjbk1nSmlCMWJuQmhhWEpsWkNCemRYSnliMmRoZEdWelhHNGdJQ0FnSUNBZ0lHbG1JQ2d2VzF4Y2VEQXdMVnhjZURBNFhGeDRNR0l0WEZ4NE1XWmNYSGczWmkxY1hIZzVabHhjZFh0RU9EQXdmUzFjWEhWN1JFWkdSbjFkTDNVdWRHVnpkQ2h6Y3k1MllXeDFaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBlWEJsSUQwZ1UyTmhiR0Z5TGxGVlQxUkZYMFJQVlVKTVJUdGNiaUFnSUNCOVhHNGdJQ0FnWTI5dWMzUWdYM04wY21sdVoybG1lU0E5SUNoZmRIbHdaU2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tGOTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGTmpZV3hoY2k1Q1RFOURTMTlHVDB4RVJVUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRk5qWVd4aGNpNUNURTlEUzE5TVNWUkZVa0ZNT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwYlhCc2FXTnBkRXRsZVNCOGZDQnBia1pzYjNkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQeUJ4ZFc5MFpXUlRkSEpwYm1jb2MzTXVkbUZzZFdVc0lHTjBlQ2tnTHk4Z1lteHZZMnR6SUdGeVpTQnViM1FnZG1Gc2FXUWdhVzV6YVdSbElHWnNiM2NnWTI5dWRHRnBibVZ5YzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJR0pzYjJOclUzUnlhVzVuS0hOekxDQmpkSGdzSUc5dVEyOXRiV1Z1ZEN3Z2IyNURhRzl0Y0V0bFpYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JUWTJGc1lYSXVVVlZQVkVWZlJFOVZRa3hGT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrYjNWaWJHVlJkVzkwWldSVGRISnBibWNvYzNNdWRtRnNkV1VzSUdOMGVDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRk5qWVd4aGNpNVJWVTlVUlY5VFNVNUhURVU2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE5wYm1kc1pWRjFiM1JsWkZOMGNtbHVaeWh6Y3k1MllXeDFaU3dnWTNSNEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdVMk5oYkdGeUxsQk1RVWxPT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ3YkdGcGJsTjBjbWx1WnloemN5d2dZM1I0TENCdmJrTnZiVzFsYm5Rc0lHOXVRMmh2YlhCTFpXVndLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlPMXh1SUNBZ0lHeGxkQ0J5WlhNZ1BTQmZjM1J5YVc1bmFXWjVLSFI1Y0dVcE8xeHVJQ0FnSUdsbUlDaHlaWE1nUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZXlCa1pXWmhkV3gwUzJWNVZIbHdaU3dnWkdWbVlYVnNkRk4wY21sdVoxUjVjR1VnZlNBOUlHTjBlQzV2Y0hScGIyNXpPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjBJRDBnS0dsdGNHeHBZMmwwUzJWNUlDWW1JR1JsWm1GMWJIUkxaWGxVZVhCbEtTQjhmQ0JrWldaaGRXeDBVM1J5YVc1blZIbHdaVHRjYmlBZ0lDQWdJQ0FnY21WeklEMGdYM04wY21sdVoybG1lU2gwS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEpsY3lBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdWVzV6ZFhCd2IzSjBaV1FnWkdWbVlYVnNkQ0J6ZEhKcGJtY2dkSGx3WlNBa2UzUjlZQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lITjBjbWx1WjJsbWVWTjBjbWx1WnlCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdGdVkyaHZja2x6Vm1Gc2FXUWdmU0JtY205dElDY3VMaTlrYjJNdllXNWphRzl5Y3k1cWN5YzdYRzVwYlhCdmNuUWdleUJwYzFCaGFYSXNJR2x6UVd4cFlYTXNJR2x6VG05a1pTd2dhWE5UWTJGc1lYSXNJR2x6UTI5c2JHVmpkR2x2YmlCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDJsa1pXNTBhWFI1TG1wekp6dGNibWx0Y0c5eWRDQjdJSE4wY21sdVoybG1lVU52YlcxbGJuUWdmU0JtY205dElDY3VMM04wY21sdVoybG1lVU52YlcxbGJuUXVhbk1uTzF4dWFXMXdiM0owSUhzZ2MzUnlhVzVuYVdaNVUzUnlhVzVuSUgwZ1puSnZiU0FuTGk5emRISnBibWRwWm5sVGRISnBibWN1YW5Nbk8xeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVlRkSEpwYm1kcFpubERiMjUwWlhoMEtHUnZZeXdnYjNCMGFXOXVjeWtnZTF4dUlDQWdJR052Ym5OMElHOXdkQ0E5SUU5aWFtVmpkQzVoYzNOcFoyNG9lMXh1SUNBZ0lDQWdJQ0JpYkc5amExRjFiM1JsT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0JqYjIxdFpXNTBVM1J5YVc1bk9pQnpkSEpwYm1kcFpubERiMjF0Wlc1MExGeHVJQ0FnSUNBZ0lDQmtaV1poZFd4MFMyVjVWSGx3WlRvZ2JuVnNiQ3hjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRk4wY21sdVoxUjVjR1U2SUNkUVRFRkpUaWNzWEc0Z0lDQWdJQ0FnSUdScGNtVmpkR2wyWlhNNklHNTFiR3dzWEc0Z0lDQWdJQ0FnSUdSdmRXSnNaVkYxYjNSbFpFRnpTbE5QVGpvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0FnSUdSdmRXSnNaVkYxYjNSbFpFMXBiazExYkhScFRHbHVaVXhsYm1kMGFEb2dOREFzWEc0Z0lDQWdJQ0FnSUdaaGJITmxVM1J5T2lBblptRnNjMlVuTEZ4dUlDQWdJQ0FnSUNCbWJHOTNRMjlzYkdWamRHbHZibEJoWkdScGJtYzZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lHbHVaR1Z1ZEZObGNUb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ2JHbHVaVmRwWkhSb09pQTRNQ3hjYmlBZ0lDQWdJQ0FnYldsdVEyOXVkR1Z1ZEZkcFpIUm9PaUF5TUN4Y2JpQWdJQ0FnSUNBZ2JuVnNiRk4wY2pvZ0oyNTFiR3duTEZ4dUlDQWdJQ0FnSUNCemFXMXdiR1ZMWlhsek9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ2MybHVaMnhsVVhWdmRHVTZJRzUxYkd3c1hHNGdJQ0FnSUNBZ0lIUnlkV1ZUZEhJNklDZDBjblZsSnl4Y2JpQWdJQ0FnSUNBZ2RtVnlhV1o1UVd4cFlYTlBjbVJsY2pvZ2RISjFaVnh1SUNBZ0lIMHNJR1J2WXk1elkyaGxiV0V1ZEc5VGRISnBibWRQY0hScGIyNXpMQ0J2Y0hScGIyNXpLVHRjYmlBZ0lDQnNaWFFnYVc1R2JHOTNPMXh1SUNBZ0lITjNhWFJqYUNBb2IzQjBMbU52Ykd4bFkzUnBiMjVUZEhsc1pTa2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElDZGliRzlqYXljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JwYmtac2IzY2dQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0JqWVhObElDZG1iRzkzSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR2x1Um14dmR5QTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0FnSUdsdVJteHZkeUE5SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdGdVkyaHZjbk02SUc1bGR5QlRaWFFvS1N4Y2JpQWdJQ0FnSUNBZ1pHOWpMRnh1SUNBZ0lDQWdJQ0JtYkc5M1EyOXNiR1ZqZEdsdmJsQmhaR1JwYm1jNklHOXdkQzVtYkc5M1EyOXNiR1ZqZEdsdmJsQmhaR1JwYm1jZ1B5QW5JQ2NnT2lBbkp5eGNiaUFnSUNBZ0lDQWdhVzVrWlc1ME9pQW5KeXhjYmlBZ0lDQWdJQ0FnYVc1a1pXNTBVM1JsY0RvZ2RIbHdaVzltSUc5d2RDNXBibVJsYm5RZ1BUMDlJQ2R1ZFcxaVpYSW5JRDhnSnlBbkxuSmxjR1ZoZENodmNIUXVhVzVrWlc1MEtTQTZJQ2NnSUNjc1hHNGdJQ0FnSUNBZ0lHbHVSbXh2ZHl4Y2JpQWdJQ0FnSUNBZ2IzQjBhVzl1Y3pvZ2IzQjBYRzRnSUNBZ2ZUdGNibjFjYm1aMWJtTjBhVzl1SUdkbGRGUmhaMDlpYW1WamRDaDBZV2R6TENCcGRHVnRLU0I3WEc0Z0lDQWdhV1lnS0dsMFpXMHVkR0ZuS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxaGRHTm9JRDBnZEdGbmN5NW1hV3gwWlhJb2RDQTlQaUIwTG5SaFp5QTlQVDBnYVhSbGJTNTBZV2NwTzF4dUlDQWdJQ0FnSUNCcFppQW9iV0YwWTJndWJHVnVaM1JvSUQ0Z01DbGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ0WVhSamFDNW1hVzVrS0hRZ1BUNGdkQzVtYjNKdFlYUWdQVDA5SUdsMFpXMHVabTl5YldGMEtTQS9QeUJ0WVhSamFGc3dYVHRjYmlBZ0lDQjlYRzRnSUNBZ2JHVjBJSFJoWjA5aWFpQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQnNaWFFnYjJKcU8xeHVJQ0FnSUdsbUlDaHBjMU5qWVd4aGNpaHBkR1Z0S1NrZ2UxeHVJQ0FnSUNBZ0lDQnZZbW9nUFNCcGRHVnRMblpoYkhWbE8xeHVJQ0FnSUNBZ0lDQnNaWFFnYldGMFkyZ2dQU0IwWVdkekxtWnBiSFJsY2loMElEMCtJSFF1YVdSbGJuUnBabmsvTGlodlltb3BLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHMWhkR05vTG14bGJtZDBhQ0ErSURFcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSFJsYzNSTllYUmphQ0E5SUcxaGRHTm9MbVpwYkhSbGNpaDBJRDArSUhRdWRHVnpkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEdWemRFMWhkR05vTG14bGJtZDBhQ0ErSURBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JXRjBZMmdnUFNCMFpYTjBUV0YwWTJnN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdkR0ZuVDJKcUlEMWNiaUFnSUNBZ0lDQWdJQ0FnSUcxaGRHTm9MbVpwYm1Rb2RDQTlQaUIwTG1admNtMWhkQ0E5UFQwZ2FYUmxiUzVtYjNKdFlYUXBJRDgvSUcxaGRHTm9MbVpwYm1Rb2RDQTlQaUFoZEM1bWIzSnRZWFFwTzF4dUlDQWdJSDFjYmlBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2IySnFJRDBnYVhSbGJUdGNiaUFnSUNBZ0lDQWdkR0ZuVDJKcUlEMGdkR0ZuY3k1bWFXNWtLSFFnUFQ0Z2RDNXViMlJsUTJ4aGMzTWdKaVlnYjJKcUlHbHVjM1JoYm1ObGIyWWdkQzV1YjJSbFEyeGhjM01wTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvSVhSaFowOWlhaWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J1WVcxbElEMGdiMkpxUHk1amIyNXpkSEoxWTNSdmNqOHVibUZ0WlNBL1B5QjBlWEJsYjJZZ2IySnFPMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRlJoWnlCdWIzUWdjbVZ6YjJ4MlpXUWdabTl5SUNSN2JtRnRaWDBnZG1Gc2RXVmdLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSaFowOWlhanRjYm4xY2JpOHZJRzVsWldSeklIUnZJR0psSUdOaGJHeGxaQ0JpWldadmNtVWdkbUZzZFdVZ2MzUnlhVzVuYVdacFpYSWdkRzhnWVd4c2IzY2dabTl5SUdOcGNtTjFiR0Z5SUdGdVkyaHZjaUJ5WldaelhHNW1kVzVqZEdsdmJpQnpkSEpwYm1kcFpubFFjbTl3Y3lodWIyUmxMQ0IwWVdkUFltb3NJSHNnWVc1amFHOXljeXdnWkc5aklIMHBJSHRjYmlBZ0lDQnBaaUFvSVdSdll5NWthWEpsWTNScGRtVnpLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdKeWM3WEc0Z0lDQWdZMjl1YzNRZ2NISnZjSE1nUFNCYlhUdGNiaUFnSUNCamIyNXpkQ0JoYm1Ob2IzSWdQU0FvYVhOVFkyRnNZWElvYm05a1pTa2dmSHdnYVhORGIyeHNaV04wYVc5dUtHNXZaR1VwS1NBbUppQnViMlJsTG1GdVkyaHZjanRjYmlBZ0lDQnBaaUFvWVc1amFHOXlJQ1ltSUdGdVkyaHZja2x6Vm1Gc2FXUW9ZVzVqYUc5eUtTa2dlMXh1SUNBZ0lDQWdJQ0JoYm1Ob2IzSnpMbUZrWkNoaGJtTm9iM0lwTzF4dUlDQWdJQ0FnSUNCd2NtOXdjeTV3ZFhOb0tHQW1KSHRoYm1Ob2IzSjlZQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUhSaFp5QTlJRzV2WkdVdWRHRm5JRDhnYm05a1pTNTBZV2NnT2lCMFlXZFBZbW91WkdWbVlYVnNkQ0EvSUc1MWJHd2dPaUIwWVdkUFltb3VkR0ZuTzF4dUlDQWdJR2xtSUNoMFlXY3BYRzRnSUNBZ0lDQWdJSEJ5YjNCekxuQjFjMmdvWkc5akxtUnBjbVZqZEdsMlpYTXVkR0ZuVTNSeWFXNW5LSFJoWnlrcE8xeHVJQ0FnSUhKbGRIVnliaUJ3Y205d2N5NXFiMmx1S0NjZ0p5azdYRzU5WEc1bWRXNWpkR2x2YmlCemRISnBibWRwWm5rb2FYUmxiU3dnWTNSNExDQnZia052YlcxbGJuUXNJRzl1UTJodmJYQkxaV1Z3S1NCN1hHNGdJQ0FnYVdZZ0tHbHpVR0ZwY2locGRHVnRLU2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR2wwWlcwdWRHOVRkSEpwYm1jb1kzUjRMQ0J2YmtOdmJXMWxiblFzSUc5dVEyaHZiWEJMWldWd0tUdGNiaUFnSUNCcFppQW9hWE5CYkdsaGN5aHBkR1Z0S1NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWTNSNExtUnZZeTVrYVhKbFkzUnBkbVZ6S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHbDBaVzB1ZEc5VGRISnBibWNvWTNSNEtUdGNiaUFnSUNBZ0lDQWdhV1lnS0dOMGVDNXlaWE52YkhabFpFRnNhV0Z6WlhNL0xtaGhjeWhwZEdWdEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGdRMkZ1Ym05MElITjBjbWx1WjJsbWVTQmphWEpqZFd4aGNpQnpkSEoxWTNSMWNtVWdkMmwwYUc5MWRDQmhiR2xoY3lCdWIyUmxjMkFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOMGVDNXlaWE52YkhabFpFRnNhV0Z6WlhNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzUjRMbkpsYzI5c2RtVmtRV3hwWVhObGN5NWhaR1FvYVhSbGJTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZM1I0TG5KbGMyOXNkbVZrUVd4cFlYTmxjeUE5SUc1bGR5QlRaWFFvVzJsMFpXMWRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBaVzBnUFNCcGRHVnRMbkpsYzI5c2RtVW9ZM1I0TG1Sdll5azdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2JHVjBJSFJoWjA5aWFpQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnYVhOT2IyUmxLR2wwWlcwcFhHNGdJQ0FnSUNBZ0lEOGdhWFJsYlZ4dUlDQWdJQ0FnSUNBNklHTjBlQzVrYjJNdVkzSmxZWFJsVG05a1pTaHBkR1Z0TENCN0lHOXVWR0ZuVDJKcU9pQnZJRDArSUNoMFlXZFBZbW9nUFNCdktTQjlLVHRjYmlBZ0lDQnBaaUFvSVhSaFowOWlhaWxjYmlBZ0lDQWdJQ0FnZEdGblQySnFJRDBnWjJWMFZHRm5UMkpxWldOMEtHTjBlQzVrYjJNdWMyTm9aVzFoTG5SaFozTXNJRzV2WkdVcE8xeHVJQ0FnSUdOdmJuTjBJSEJ5YjNCeklEMGdjM1J5YVc1bmFXWjVVSEp2Y0hNb2JtOWtaU3dnZEdGblQySnFMQ0JqZEhncE8xeHVJQ0FnSUdsbUlDaHdjbTl3Y3k1c1pXNW5kR2dnUGlBd0tWeHVJQ0FnSUNBZ0lDQmpkSGd1YVc1a1pXNTBRWFJUZEdGeWRDQTlJQ2hqZEhndWFXNWtaVzUwUVhSVGRHRnlkQ0EvUHlBd0tTQXJJSEJ5YjNCekxteGxibWQwYUNBcklERTdYRzRnSUNBZ1kyOXVjM1FnYzNSeUlEMGdkSGx3Wlc5bUlIUmhaMDlpYWk1emRISnBibWRwWm5rZ1BUMDlJQ2RtZFc1amRHbHZiaWRjYmlBZ0lDQWdJQ0FnUHlCMFlXZFBZbW91YzNSeWFXNW5hV1o1S0c1dlpHVXNJR04wZUN3Z2IyNURiMjF0Wlc1MExDQnZia05vYjIxd1MyVmxjQ2xjYmlBZ0lDQWdJQ0FnT2lCcGMxTmpZV3hoY2lodWIyUmxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ1B5QnpkSEpwYm1kcFpubFRkSEpwYm1jb2JtOWtaU3dnWTNSNExDQnZia052YlcxbGJuUXNJRzl1UTJodmJYQkxaV1Z3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdPaUJ1YjJSbExuUnZVM1J5YVc1bktHTjBlQ3dnYjI1RGIyMXRaVzUwTENCdmJrTm9iMjF3UzJWbGNDazdYRzRnSUNBZ2FXWWdLQ0Z3Y205d2N5bGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITjBjanRjYmlBZ0lDQnlaWFIxY200Z2FYTlRZMkZzWVhJb2JtOWtaU2tnZkh3Z2MzUnlXekJkSUQwOVBTQW5leWNnZkh3Z2MzUnlXekJkSUQwOVBTQW5XeWRjYmlBZ0lDQWdJQ0FnUHlCZ0pIdHdjbTl3YzMwZ0pIdHpkSEo5WUZ4dUlDQWdJQ0FnSUNBNklHQWtlM0J5YjNCemZWeGNiaVI3WTNSNExtbHVaR1Z1ZEgwa2UzTjBjbjFnTzF4dWZWeHVYRzVsZUhCdmNuUWdleUJqY21WaGRHVlRkSEpwYm1kcFpubERiMjUwWlhoMExDQnpkSEpwYm1kcFpua2dmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QnBjME52Ykd4bFkzUnBiMjRzSUdselRtOWtaU3dnYVhOVFkyRnNZWElzSUdselUyVnhJSDBnWm5KdmJTQW5MaTR2Ym05a1pYTXZhV1JsYm5ScGRIa3Vhbk1uTzF4dWFXMXdiM0owSUhzZ1UyTmhiR0Z5SUgwZ1puSnZiU0FuTGk0dmJtOWtaWE12VTJOaGJHRnlMbXB6Snp0Y2JtbHRjRzl5ZENCN0lITjBjbWx1WjJsbWVTQjlJR1p5YjIwZ0p5NHZjM1J5YVc1bmFXWjVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHeHBibVZEYjIxdFpXNTBMQ0JwYm1SbGJuUkRiMjF0Wlc1MElIMGdabkp2YlNBbkxpOXpkSEpwYm1kcFpubERiMjF0Wlc1MExtcHpKenRjYmx4dVpuVnVZM1JwYjI0Z2MzUnlhVzVuYVdaNVVHRnBjaWg3SUd0bGVTd2dkbUZzZFdVZ2ZTd2dZM1I0TENCdmJrTnZiVzFsYm5Rc0lHOXVRMmh2YlhCTFpXVndLU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QmhiR3hPZFd4c1ZtRnNkV1Z6TENCa2IyTXNJR2x1WkdWdWRDd2dhVzVrWlc1MFUzUmxjQ3dnYjNCMGFXOXVjem9nZXlCamIyMXRaVzUwVTNSeWFXNW5MQ0JwYm1SbGJuUlRaWEVzSUhOcGJYQnNaVXRsZVhNZ2ZTQjlJRDBnWTNSNE8xeHVJQ0FnSUd4bGRDQnJaWGxEYjIxdFpXNTBJRDBnS0dselRtOWtaU2hyWlhrcElDWW1JR3RsZVM1amIyMXRaVzUwS1NCOGZDQnVkV3hzTzF4dUlDQWdJR2xtSUNoemFXMXdiR1ZMWlhsektTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoclpYbERiMjF0Wlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFkcGRHZ2djMmx0Y0d4bElHdGxlWE1zSUd0bGVTQnViMlJsY3lCallXNXViM1FnYUdGMlpTQmpiMjF0Wlc1MGN5Y3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaHBjME52Ykd4bFkzUnBiMjRvYTJWNUtTQjhmQ0FvSVdselRtOWtaU2hyWlhrcElDWW1JSFI1Y0dWdlppQnJaWGtnUFQwOUlDZHZZbXBsWTNRbktTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYlhObklEMGdKMWRwZEdnZ2MybHRjR3hsSUd0bGVYTXNJR052Ykd4bFkzUnBiMjRnWTJGdWJtOTBJR0psSUhWelpXUWdZWE1nWVNCclpYa2dkbUZzZFdVbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRzF6WnlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYkdWMElHVjRjR3hwWTJsMFMyVjVJRDBnSVhOcGJYQnNaVXRsZVhNZ0ppWmNiaUFnSUNBZ0lDQWdLQ0ZyWlhrZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNoclpYbERiMjF0Wlc1MElDWW1JSFpoYkhWbElEMDlJRzUxYkd3Z0ppWWdJV04wZUM1cGJrWnNiM2NwSUh4OFhHNGdJQ0FnSUNBZ0lDQWdJQ0JwYzBOdmJHeGxZM1JwYjI0b2EyVjVLU0I4ZkZ4dUlDQWdJQ0FnSUNBZ0lDQWdLR2x6VTJOaGJHRnlLR3RsZVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lHdGxlUzUwZVhCbElEMDlQU0JUWTJGc1lYSXVRa3hQUTB0ZlJrOU1SRVZFSUh4OElHdGxlUzUwZVhCbElEMDlQU0JUWTJGc1lYSXVRa3hQUTB0ZlRFbFVSVkpCVEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURvZ2RIbHdaVzltSUd0bGVTQTlQVDBnSjI5aWFtVmpkQ2NwS1R0Y2JpQWdJQ0JqZEhnZ1BTQlBZbXBsWTNRdVlYTnphV2R1S0h0OUxDQmpkSGdzSUh0Y2JpQWdJQ0FnSUNBZ1lXeHNUblZzYkZaaGJIVmxjem9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJR2x0Y0d4cFkybDBTMlY1T2lBaFpYaHdiR2xqYVhSTFpYa2dKaVlnS0hOcGJYQnNaVXRsZVhNZ2ZId2dJV0ZzYkU1MWJHeFdZV3gxWlhNcExGeHVJQ0FnSUNBZ0lDQnBibVJsYm5RNklHbHVaR1Z1ZENBcklHbHVaR1Z1ZEZOMFpYQmNiaUFnSUNCOUtUdGNiaUFnSUNCc1pYUWdhMlY1UTI5dGJXVnVkRVJ2Ym1VZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JzWlhRZ1kyaHZiWEJMWldWd0lEMGdabUZzYzJVN1hHNGdJQ0FnYkdWMElITjBjaUE5SUhOMGNtbHVaMmxtZVNoclpYa3NJR04wZUN3Z0tDa2dQVDRnS0d0bGVVTnZiVzFsYm5SRWIyNWxJRDBnZEhKMVpTa3NJQ2dwSUQwK0lDaGphRzl0Y0V0bFpYQWdQU0IwY25WbEtTazdYRzRnSUNBZ2FXWWdLQ0ZsZUhCc2FXTnBkRXRsZVNBbUppQWhZM1I0TG1sdVJteHZkeUFtSmlCemRISXViR1Z1WjNSb0lENGdNVEF5TkNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzJsdGNHeGxTMlY1Y3lsY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WMmwwYUNCemFXMXdiR1VnYTJWNWN5d2djMmx1WjJ4bElHeHBibVVnYzJOaGJHRnlJRzExYzNRZ2JtOTBJSE53WVc0Z2JXOXlaU0IwYUdGdUlERXdNalFnWTJoaGNtRmpkR1Z5Y3ljcE8xeHVJQ0FnSUNBZ0lDQmxlSEJzYVdOcGRFdGxlU0E5SUhSeWRXVTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpkSGd1YVc1R2JHOTNLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaGhiR3hPZFd4c1ZtRnNkV1Z6SUh4OElIWmhiSFZsSUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYbERiMjF0Wlc1MFJHOXVaU0FtSmlCdmJrTnZiVzFsYm5RcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNURiMjF0Wlc1MEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYzNSeUlEMDlQU0FuSnlBL0lDYy9KeUE2SUdWNGNHeHBZMmwwUzJWNUlEOGdZRDhnSkh0emRISjlZQ0E2SUhOMGNqdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCbGJITmxJR2xtSUNnb1lXeHNUblZzYkZaaGJIVmxjeUFtSmlBaGMybHRjR3hsUzJWNWN5a2dmSHdnS0haaGJIVmxJRDA5SUc1MWJHd2dKaVlnWlhod2JHbGphWFJMWlhrcEtTQjdYRzRnSUNBZ0lDQWdJSE4wY2lBOUlHQS9JQ1I3YzNSeWZXQTdYRzRnSUNBZ0lDQWdJR2xtSUNoclpYbERiMjF0Wlc1MElDWW1JQ0ZyWlhsRGIyMXRaVzUwUkc5dVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJQ3M5SUd4cGJtVkRiMjF0Wlc1MEtITjBjaXdnWTNSNExtbHVaR1Z1ZEN3Z1kyOXRiV1Z1ZEZOMGNtbHVaeWhyWlhsRGIyMXRaVzUwS1NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZMmh2YlhCTFpXVndJQ1ltSUc5dVEyaHZiWEJMWldWd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnYjI1RGFHOXRjRXRsWlhBb0tUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITjBjanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR3RsZVVOdmJXMWxiblJFYjI1bEtWeHVJQ0FnSUNBZ0lDQnJaWGxEYjIxdFpXNTBJRDBnYm5Wc2JEdGNiaUFnSUNCcFppQW9aWGh3YkdsamFYUkxaWGtwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR3RsZVVOdmJXMWxiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkSElnS3owZ2JHbHVaVU52YlcxbGJuUW9jM1J5TENCamRIZ3VhVzVrWlc1MExDQmpiMjF0Wlc1MFUzUnlhVzVuS0d0bGVVTnZiVzFsYm5RcEtUdGNiaUFnSUNBZ0lDQWdjM1J5SUQwZ1lEOGdKSHR6ZEhKOVhGeHVKSHRwYm1SbGJuUjlPbUE3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCemRISWdQU0JnSkh0emRISjlPbUE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHJaWGxEYjIxdFpXNTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJQ3M5SUd4cGJtVkRiMjF0Wlc1MEtITjBjaXdnWTNSNExtbHVaR1Z1ZEN3Z1kyOXRiV1Z1ZEZOMGNtbHVaeWhyWlhsRGIyMXRaVzUwS1NrN1hHNGdJQ0FnZlZ4dUlDQWdJR3hsZENCMmMySXNJSFpqWWl3Z2RtRnNkV1ZEYjIxdFpXNTBPMXh1SUNBZ0lHbG1JQ2hwYzA1dlpHVW9kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQWdJSFp6WWlBOUlDRWhkbUZzZFdVdWMzQmhZMlZDWldadmNtVTdYRzRnSUNBZ0lDQWdJSFpqWWlBOUlIWmhiSFZsTG1OdmJXMWxiblJDWldadmNtVTdYRzRnSUNBZ0lDQWdJSFpoYkhWbFEyOXRiV1Z1ZENBOUlIWmhiSFZsTG1OdmJXMWxiblE3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMmMySWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdkbU5pSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZG1Gc2RXVkRiMjF0Wlc1MElEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElDWW1JSFI1Y0dWdlppQjJZV3gxWlNBOVBUMGdKMjlpYW1WamRDY3BYRzRnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaU0E5SUdSdll5NWpjbVZoZEdWT2IyUmxLSFpoYkhWbEtUdGNiaUFnSUNCOVhHNGdJQ0FnWTNSNExtbHRjR3hwWTJsMFMyVjVJRDBnWm1Gc2MyVTdYRzRnSUNBZ2FXWWdLQ0ZsZUhCc2FXTnBkRXRsZVNBbUppQWhhMlY1UTI5dGJXVnVkQ0FtSmlCcGMxTmpZV3hoY2loMllXeDFaU2twWEc0Z0lDQWdJQ0FnSUdOMGVDNXBibVJsYm5SQmRGTjBZWEowSUQwZ2MzUnlMbXhsYm1kMGFDQXJJREU3WEc0Z0lDQWdZMmh2YlhCTFpXVndJRDBnWm1Gc2MyVTdYRzRnSUNBZ2FXWWdLQ0ZwYm1SbGJuUlRaWEVnSmlaY2JpQWdJQ0FnSUNBZ2FXNWtaVzUwVTNSbGNDNXNaVzVuZEdnZ1BqMGdNaUFtSmx4dUlDQWdJQ0FnSUNBaFkzUjRMbWx1Um14dmR5QW1KbHh1SUNBZ0lDQWdJQ0FoWlhod2JHbGphWFJMWlhrZ0ppWmNiaUFnSUNBZ0lDQWdhWE5UWlhFb2RtRnNkV1VwSUNZbVhHNGdJQ0FnSUNBZ0lDRjJZV3gxWlM1bWJHOTNJQ1ltWEc0Z0lDQWdJQ0FnSUNGMllXeDFaUzUwWVdjZ0ppWmNiaUFnSUNBZ0lDQWdJWFpoYkhWbExtRnVZMmh2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJKWmlCcGJtUmxiblJUWlhFZ1BUMDlJR1poYkhObExDQmpiMjV6YVdSbGNpQW5MU0FuSUdGeklIQmhjblFnYjJZZ2FXNWtaVzUwWVhScGIyNGdkMmhsY21VZ2NHOXpjMmxpYkdWY2JpQWdJQ0FnSUNBZ1kzUjRMbWx1WkdWdWRDQTlJR04wZUM1cGJtUmxiblF1YzNWaWMzUnlhVzVuS0RJcE8xeHVJQ0FnSUgxY2JpQWdJQ0JzWlhRZ2RtRnNkV1ZEYjIxdFpXNTBSRzl1WlNBOUlHWmhiSE5sTzF4dUlDQWdJR052Ym5OMElIWmhiSFZsVTNSeUlEMGdjM1J5YVc1bmFXWjVLSFpoYkhWbExDQmpkSGdzSUNncElEMCtJQ2gyWVd4MVpVTnZiVzFsYm5SRWIyNWxJRDBnZEhKMVpTa3NJQ2dwSUQwK0lDaGphRzl0Y0V0bFpYQWdQU0IwY25WbEtTazdYRzRnSUNBZ2JHVjBJSGR6SUQwZ0p5QW5PMXh1SUNBZ0lHbG1JQ2hyWlhsRGIyMXRaVzUwSUh4OElIWnpZaUI4ZkNCMlkySXBJSHRjYmlBZ0lDQWdJQ0FnZDNNZ1BTQjJjMklnUHlBblhGeHVKeUE2SUNjbk8xeHVJQ0FnSUNBZ0lDQnBaaUFvZG1OaUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqY3lBOUlHTnZiVzFsYm5SVGRISnBibWNvZG1OaUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhkeklDczlJR0JjWEc0a2UybHVaR1Z1ZEVOdmJXMWxiblFvWTNNc0lHTjBlQzVwYm1SbGJuUXBmV0E3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbFUzUnlJRDA5UFNBbkp5QW1KaUFoWTNSNExtbHVSbXh2ZHlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIZHpJRDA5UFNBblhGeHVKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IzY3lBOUlDZGNYRzVjWEc0bk8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZDNNZ0t6MGdZRnhjYmlSN1kzUjRMbWx1WkdWdWRIMWdPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnYVdZZ0tDRmxlSEJzYVdOcGRFdGxlU0FtSmlCcGMwTnZiR3hsWTNScGIyNG9kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElIWnpNQ0E5SUhaaGJIVmxVM1J5V3pCZE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdWJEQWdQU0IyWVd4MVpWTjBjaTVwYm1SbGVFOW1LQ2RjWEc0bktUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FHRnpUbVYzYkdsdVpTQTlJRzVzTUNBaFBUMGdMVEU3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1pzYjNjZ1BTQmpkSGd1YVc1R2JHOTNJRDgvSUhaaGJIVmxMbVpzYjNjZ1B6OGdkbUZzZFdVdWFYUmxiWE11YkdWdVozUm9JRDA5UFNBd08xeHVJQ0FnSUNBZ0lDQnBaaUFvYUdGelRtVjNiR2x1WlNCOGZDQWhabXh2ZHlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHaGhjMUJ5YjNCelRHbHVaU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2hoYzA1bGQyeHBibVVnSmlZZ0tIWnpNQ0E5UFQwZ0p5WW5JSHg4SUhaek1DQTlQVDBnSnlFbktTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hsZENCemNEQWdQU0IyWVd4MVpWTjBjaTVwYm1SbGVFOW1LQ2NnSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFp6TUNBOVBUMGdKeVluSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE53TUNBaFBUMGdMVEVnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM0F3SUR3Z2Jtd3dJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsVTNSeVczTndNQ0FySURGZElEMDlQU0FuSVNjcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNBd0lEMGdkbUZzZFdWVGRISXVhVzVrWlhoUFppZ25JQ2NzSUhOd01DQXJJREVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jM0F3SUQwOVBTQXRNU0I4ZkNCdWJEQWdQQ0J6Y0RBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2hoYzFCeWIzQnpUR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV2hoYzFCeWIzQnpUR2x1WlNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCM2N5QTlJR0JjWEc0a2UyTjBlQzVwYm1SbGJuUjlZRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQmxiSE5sSUdsbUlDaDJZV3gxWlZOMGNpQTlQVDBnSnljZ2ZId2dkbUZzZFdWVGRISmJNRjBnUFQwOUlDZGNYRzRuS1NCN1hHNGdJQ0FnSUNBZ0lIZHpJRDBnSnljN1hHNGdJQ0FnZlZ4dUlDQWdJSE4wY2lBclBTQjNjeUFySUhaaGJIVmxVM1J5TzF4dUlDQWdJR2xtSUNoamRIZ3VhVzVHYkc5M0tTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMllXeDFaVU52YlcxbGJuUkViMjVsSUNZbUlHOXVRMjl0YldWdWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVEyOXRiV1Z1ZENncE8xeHVJQ0FnSUgxY2JpQWdJQ0JsYkhObElHbG1JQ2gyWVd4MVpVTnZiVzFsYm5RZ0ppWWdJWFpoYkhWbFEyOXRiV1Z1ZEVSdmJtVXBJSHRjYmlBZ0lDQWdJQ0FnYzNSeUlDczlJR3hwYm1WRGIyMXRaVzUwS0hOMGNpd2dZM1I0TG1sdVpHVnVkQ3dnWTI5dGJXVnVkRk4wY21sdVp5aDJZV3gxWlVOdmJXMWxiblFwS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdaV3h6WlNCcFppQW9ZMmh2YlhCTFpXVndJQ1ltSUc5dVEyaHZiWEJMWldWd0tTQjdYRzRnSUNBZ0lDQWdJRzl1UTJodmJYQkxaV1Z3S0NrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnpkSEk3WEc1OVhHNWNibVY0Y0c5eWRDQjdJSE4wY21sdVoybG1lVkJoYVhJZ2ZUdGNiaUlzSUNKbWRXNWpkR2x2YmlCa1pXSjFaeWhzYjJkTVpYWmxiQ3dnTGk0dWJXVnpjMkZuWlhNcElIdGNiaUFnSUNCcFppQW9iRzluVEdWMlpXd2dQVDA5SUNka1pXSjFaeWNwWEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1V1Ykc5bktDNHVMbTFsYzNOaFoyVnpLVHRjYm4xY2JtWjFibU4wYVc5dUlIZGhjbTRvYkc5blRHVjJaV3dzSUhkaGNtNXBibWNwSUh0Y2JpQWdJQ0JwWmlBb2JHOW5UR1YyWld3Z1BUMDlJQ2RrWldKMVp5Y2dmSHdnYkc5blRHVjJaV3dnUFQwOUlDZDNZWEp1SnlrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSEJ5YjJObGMzTWdJVDA5SUNkMWJtUmxabWx1WldRbklDWW1JSEJ5YjJObGMzTXVaVzFwZEZkaGNtNXBibWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbTlqWlhOekxtVnRhWFJYWVhKdWFXNW5LSGRoY201cGJtY3BPMXh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b2QyRnlibWx1WnlrN1hHNGdJQ0FnZlZ4dWZWeHVYRzVsZUhCdmNuUWdleUJrWldKMVp5d2dkMkZ5YmlCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdselUyTmhiR0Z5TENCcGMwRnNhV0Z6TENCcGMxTmxjU3dnYVhOTllYQWdmU0JtY205dElDY3VMaTh1TGk5dWIyUmxjeTlwWkdWdWRHbDBlUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QlRZMkZzWVhJZ2ZTQm1jbTl0SUNjdUxpOHVMaTl1YjJSbGN5OVRZMkZzWVhJdWFuTW5PMXh1WEc0dkx5QkpaaUIwYUdVZ2RtRnNkV1VnWVhOemIyTnBZWFJsWkNCM2FYUm9JR0VnYldWeVoyVWdhMlY1SUdseklHRWdjMmx1WjJ4bElHMWhjSEJwYm1jZ2JtOWtaU3dnWldGamFDQnZabHh1THk4Z2FYUnpJR3RsZVM5MllXeDFaU0J3WVdseWN5QnBjeUJwYm5ObGNuUmxaQ0JwYm5SdklIUm9aU0JqZFhKeVpXNTBJRzFoY0hCcGJtY3NJSFZ1YkdWemN5QjBhR1VnYTJWNVhHNHZMeUJoYkhKbFlXUjVJR1Y0YVhOMGN5QnBiaUJwZEM0Z1NXWWdkR2hsSUhaaGJIVmxJR0Z6YzI5amFXRjBaV1FnZDJsMGFDQjBhR1VnYldWeVoyVWdhMlY1SUdseklHRmNiaTh2SUhObGNYVmxibU5sTENCMGFHVnVJSFJvYVhNZ2MyVnhkV1Z1WTJVZ2FYTWdaWGh3WldOMFpXUWdkRzhnWTI5dWRHRnBiaUJ0WVhCd2FXNW5JRzV2WkdWeklHRnVaQ0JsWVdOb1hHNHZMeUJ2WmlCMGFHVnpaU0J1YjJSbGN5QnBjeUJ0WlhKblpXUWdhVzRnZEhWeWJpQmhZMk52Y21ScGJtY2dkRzhnYVhSeklHOXlaR1Z5SUdsdUlIUm9aU0J6WlhGMVpXNWpaUzVjYmk4dklFdGxlWE1nYVc0Z2JXRndjR2x1WnlCdWIyUmxjeUJsWVhKc2FXVnlJR2x1SUhSb1pTQnpaWEYxWlc1alpTQnZkbVZ5Y21sa1pTQnJaWGx6SUhOd1pXTnBabWxsWkNCcGJseHVMeThnYkdGMFpYSWdiV0Z3Y0dsdVp5QnViMlJsY3k0Z0xTMGdhSFIwY0RvdkwzbGhiV3d1YjNKbkwzUjVjR1V2YldWeVoyVXVhSFJ0YkZ4dVkyOXVjM1FnVFVWU1IwVmZTMFZaSUQwZ0p6dzhKenRjYm1OdmJuTjBJRzFsY21kbElEMGdlMXh1SUNBZ0lHbGtaVzUwYVdaNU9pQjJZV3gxWlNBOVBpQjJZV3gxWlNBOVBUMGdUVVZTUjBWZlMwVlpJSHg4WEc0Z0lDQWdJQ0FnSUNoMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkemVXMWliMnduSUNZbUlIWmhiSFZsTG1SbGMyTnlhWEIwYVc5dUlEMDlQU0JOUlZKSFJWOUxSVmtwTEZ4dUlDQWdJR1JsWm1GMWJIUTZJQ2RyWlhrbkxGeHVJQ0FnSUhSaFp6b2dKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPbTFsY21kbEp5eGNiaUFnSUNCMFpYTjBPaUF2WGp3OEpDOHNYRzRnSUNBZ2NtVnpiMngyWlRvZ0tDa2dQVDRnVDJKcVpXTjBMbUZ6YzJsbmJpaHVaWGNnVTJOaGJHRnlLRk41YldKdmJDaE5SVkpIUlY5TFJWa3BLU3dnZTF4dUlDQWdJQ0FnSUNCaFpHUlViMHBUVFdGd09pQmhaR1JOWlhKblpWUnZTbE5OWVhCY2JpQWdJQ0I5S1N4Y2JpQWdJQ0J6ZEhKcGJtZHBabms2SUNncElEMCtJRTFGVWtkRlgwdEZXVnh1ZlR0Y2JtTnZibk4wSUdselRXVnlaMlZMWlhrZ1BTQW9ZM1I0TENCclpYa3BJRDArSUNodFpYSm5aUzVwWkdWdWRHbG1lU2hyWlhrcElIeDhYRzRnSUNBZ0tHbHpVMk5oYkdGeUtHdGxlU2tnSmlaY2JpQWdJQ0FnSUNBZ0tDRnJaWGt1ZEhsd1pTQjhmQ0JyWlhrdWRIbHdaU0E5UFQwZ1UyTmhiR0Z5TGxCTVFVbE9LU0FtSmx4dUlDQWdJQ0FnSUNCdFpYSm5aUzVwWkdWdWRHbG1lU2hyWlhrdWRtRnNkV1VwS1NrZ0ppWmNiaUFnSUNCamRIZy9MbVJ2WXk1elkyaGxiV0V1ZEdGbmN5NXpiMjFsS0hSaFp5QTlQaUIwWVdjdWRHRm5JRDA5UFNCdFpYSm5aUzUwWVdjZ0ppWWdkR0ZuTG1SbFptRjFiSFFwTzF4dVpuVnVZM1JwYjI0Z1lXUmtUV1Z5WjJWVWIwcFRUV0Z3S0dOMGVDd2diV0Z3TENCMllXeDFaU2tnZTF4dUlDQWdJSFpoYkhWbElEMGdZM1I0SUNZbUlHbHpRV3hwWVhNb2RtRnNkV1VwSUQ4Z2RtRnNkV1V1Y21WemIyeDJaU2hqZEhndVpHOWpLU0E2SUhaaGJIVmxPMXh1SUNBZ0lHbG1JQ2hwYzFObGNTaDJZV3gxWlNrcFhHNGdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdhWFFnYjJZZ2RtRnNkV1V1YVhSbGJYTXBYRzRnSUNBZ0lDQWdJQ0FnSUNCdFpYSm5aVlpoYkhWbEtHTjBlQ3dnYldGd0xDQnBkQ2s3WEc0Z0lDQWdaV3h6WlNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoMllXeDFaU2twWEc0Z0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2FYUWdiMllnZG1Gc2RXVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCdFpYSm5aVlpoYkhWbEtHTjBlQ3dnYldGd0xDQnBkQ2s3WEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNCdFpYSm5aVlpoYkhWbEtHTjBlQ3dnYldGd0xDQjJZV3gxWlNrN1hHNTlYRzVtZFc1amRHbHZiaUJ0WlhKblpWWmhiSFZsS0dOMGVDd2diV0Z3TENCMllXeDFaU2tnZTF4dUlDQWdJR052Ym5OMElITnZkWEpqWlNBOUlHTjBlQ0FtSmlCcGMwRnNhV0Z6S0haaGJIVmxLU0EvSUhaaGJIVmxMbkpsYzI5c2RtVW9ZM1I0TG1Sdll5a2dPaUIyWVd4MVpUdGNiaUFnSUNCcFppQW9JV2x6VFdGd0tITnZkWEpqWlNrcFhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRXVnlaMlVnYzI5MWNtTmxjeUJ0ZFhOMElHSmxJRzFoY0hNZ2IzSWdiV0Z3SUdGc2FXRnpaWE1uS1R0Y2JpQWdJQ0JqYjI1emRDQnpjbU5OWVhBZ1BTQnpiM1Z5WTJVdWRHOUtVMDlPS0c1MWJHd3NJR04wZUN3Z1RXRndLVHRjYmlBZ0lDQm1iM0lnS0dOdmJuTjBJRnRyWlhrc0lIWmhiSFZsWFNCdlppQnpjbU5OWVhBcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0cxaGNDQnBibk4wWVc1alpXOW1JRTFoY0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnRZWEF1YUdGektHdGxlU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYldGd0xuTmxkQ2hyWlhrc0lIWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHRZWEFnYVc1emRHRnVZMlZ2WmlCVFpYUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWhjQzVoWkdRb2EyVjVLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNnaFQySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHMWhjQ3dnYTJWNUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRzFoY0N3Z2EyVjVMQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnRZWEE3WEc1OVhHNWNibVY0Y0c5eWRDQjdJR0ZrWkUxbGNtZGxWRzlLVTAxaGNDd2dhWE5OWlhKblpVdGxlU3dnYldWeVoyVWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QjNZWEp1SUgwZ1puSnZiU0FuTGk0dmJHOW5MbXB6Snp0Y2JtbHRjRzl5ZENCN0lHbHpUV1Z5WjJWTFpYa3NJR0ZrWkUxbGNtZGxWRzlLVTAxaGNDQjlJR1p5YjIwZ0p5NHVMM05qYUdWdFlTOTVZVzFzTFRFdU1TOXRaWEpuWlM1cWN5YzdYRzVwYlhCdmNuUWdleUJqY21WaGRHVlRkSEpwYm1kcFpubERiMjUwWlhoMElIMGdabkp2YlNBbkxpNHZjM1J5YVc1bmFXWjVMM04wY21sdVoybG1lUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnBjMDV2WkdVZ2ZTQm1jbTl0SUNjdUwybGtaVzUwYVhSNUxtcHpKenRjYm1sdGNHOXlkQ0I3SUhSdlNsTWdmU0JtY205dElDY3VMM1J2U2xNdWFuTW5PMXh1WEc1bWRXNWpkR2x2YmlCaFpHUlFZV2x5Vkc5S1UwMWhjQ2hqZEhnc0lHMWhjQ3dnZXlCclpYa3NJSFpoYkhWbElIMHBJSHRjYmlBZ0lDQnBaaUFvYVhOT2IyUmxLR3RsZVNrZ0ppWWdhMlY1TG1Ga1pGUnZTbE5OWVhBcFhHNGdJQ0FnSUNBZ0lHdGxlUzVoWkdSVWIwcFRUV0Z3S0dOMGVDd2diV0Z3TENCMllXeDFaU2s3WEc0Z0lDQWdMeThnVkU5RVR6b2dVMmh2ZFd4a0lHUnliM0FnZEdocGN5QnpjR1ZqYVdGc0lHTmhjMlVnWm05eUlHSmhjbVVnUER3Z2FHRnVaR3hwYm1kY2JpQWdJQ0JsYkhObElHbG1JQ2hwYzAxbGNtZGxTMlY1S0dOMGVDd2dhMlY1S1NsY2JpQWdJQ0FnSUNBZ1lXUmtUV1Z5WjJWVWIwcFRUV0Z3S0dOMGVDd2diV0Z3TENCMllXeDFaU2s3WEc0Z0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdwelMyVjVJRDBnZEc5S1V5aHJaWGtzSUNjbkxDQmpkSGdwTzF4dUlDQWdJQ0FnSUNCcFppQW9iV0Z3SUdsdWMzUmhibU5sYjJZZ1RXRndLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnRZWEF1YzJWMEtHcHpTMlY1TENCMGIwcFRLSFpoYkhWbExDQnFjMHRsZVN3Z1kzUjRLU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2JXRndJR2x1YzNSaGJtTmxiMllnVTJWMEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCdFlYQXVZV1JrS0dwelMyVjVLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMGNtbHVaMHRsZVNBOUlITjBjbWx1WjJsbWVVdGxlU2hyWlhrc0lHcHpTMlY1TENCamRIZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYW5OV1lXeDFaU0E5SUhSdlNsTW9kbUZzZFdVc0lITjBjbWx1WjB0bGVTd2dZM1I0S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoemRISnBibWRMWlhrZ2FXNGdiV0Z3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaHRZWEFzSUhOMGNtbHVaMHRsZVN3Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpUb2dhbk5XWVd4MVpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDNKcGRHRmliR1U2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoY0Z0emRISnBibWRMWlhsZElEMGdhbk5XWVd4MVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYldGd08xeHVmVnh1Wm5WdVkzUnBiMjRnYzNSeWFXNW5hV1o1UzJWNUtHdGxlU3dnYW5OTFpYa3NJR04wZUNrZ2UxeHVJQ0FnSUdsbUlDaHFjMHRsZVNBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNjbk8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FuTkxaWGtnSVQwOUlDZHZZbXBsWTNRbktWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1UzUnlhVzVuS0dwelMyVjVLVHRjYmlBZ0lDQnBaaUFvYVhOT2IyUmxLR3RsZVNrZ0ppWWdZM1I0UHk1a2IyTXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjM1J5UTNSNElEMGdZM0psWVhSbFUzUnlhVzVuYVdaNVEyOXVkR1Y0ZENoamRIZ3VaRzlqTENCN2ZTazdYRzRnSUNBZ0lDQWdJSE4wY2tOMGVDNWhibU5vYjNKeklEMGdibVYzSUZObGRDZ3BPMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUc1dlpHVWdiMllnWTNSNExtRnVZMmh2Y25NdWEyVjVjeWdwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjM1J5UTNSNExtRnVZMmh2Y25NdVlXUmtLRzV2WkdVdVlXNWphRzl5S1R0Y2JpQWdJQ0FnSUNBZ2MzUnlRM1I0TG1sdVJteHZkeUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJSE4wY2tOMGVDNXBibE4wY21sdVoybG1lVXRsZVNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE4wY2t0bGVTQTlJR3RsZVM1MGIxTjBjbWx1WnloemRISkRkSGdwTzF4dUlDQWdJQ0FnSUNCcFppQW9JV04wZUM1dFlYQkxaWGxYWVhKdVpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0JxYzI5dVUzUnlJRDBnU2xOUFRpNXpkSEpwYm1kcFpua29jM1J5UzJWNUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHFjMjl1VTNSeUxteGxibWQwYUNBK0lEUXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3B6YjI1VGRISWdQU0JxYzI5dVUzUnlMbk4xWW5OMGNtbHVaeWd3TENBek5pa2dLeUFuTGk0dVhDSW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ2QyRnliaWhqZEhndVpHOWpMbTl3ZEdsdmJuTXViRzluVEdWMlpXd3NJR0JMWlhseklIZHBkR2dnWTI5c2JHVmpkR2x2YmlCMllXeDFaWE1nZDJsc2JDQmlaU0J6ZEhKcGJtZHBabWxsWkNCa2RXVWdkRzhnU2xNZ1QySnFaV04wSUhKbGMzUnlhV04wYVc5dWN6b2dKSHRxYzI5dVUzUnlmUzRnVTJWMElHMWhjRUZ6VFdGd09pQjBjblZsSUhSdklIVnpaU0J2WW1wbFkzUWdhMlY1Y3k1Z0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOMGVDNXRZWEJMWlhsWFlYSnVaV1FnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6ZEhKTFpYazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJLVTA5T0xuTjBjbWx1WjJsbWVTaHFjMHRsZVNrN1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUdGa1pGQmhhWEpVYjBwVFRXRndJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dZM0psWVhSbFRtOWtaU0I5SUdaeWIyMGdKeTR1TDJSdll5OWpjbVZoZEdWT2IyUmxMbXB6Snp0Y2JtbHRjRzl5ZENCN0lITjBjbWx1WjJsbWVWQmhhWElnZlNCbWNtOXRJQ2N1TGk5emRISnBibWRwWm5rdmMzUnlhVzVuYVdaNVVHRnBjaTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QmhaR1JRWVdseVZHOUtVMDFoY0NCOUlHWnliMjBnSnk0dllXUmtVR0ZwY2xSdlNsTk5ZWEF1YW5Nbk8xeHVhVzF3YjNKMElIc2dUazlFUlY5VVdWQkZMQ0JRUVVsU0xDQnBjMDV2WkdVZ2ZTQm1jbTl0SUNjdUwybGtaVzUwYVhSNUxtcHpKenRjYmx4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsVUdGcGNpaHJaWGtzSUhaaGJIVmxMQ0JqZEhncElIdGNiaUFnSUNCamIyNXpkQ0JySUQwZ1kzSmxZWFJsVG05a1pTaHJaWGtzSUhWdVpHVm1hVzVsWkN3Z1kzUjRLVHRjYmlBZ0lDQmpiMjV6ZENCMklEMGdZM0psWVhSbFRtOWtaU2gyWVd4MVpTd2dkVzVrWldacGJtVmtMQ0JqZEhncE8xeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VHRnBjaWhyTENCMktUdGNibjFjYm1Oc1lYTnpJRkJoYVhJZ2UxeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtHdGxlU3dnZG1Gc2RXVWdQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMGFHbHpMQ0JPVDBSRlgxUlpVRVVzSUhzZ2RtRnNkV1U2SUZCQlNWSWdmU2s3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVhMlY1SUQwZ2EyVjVPMXh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lDQWdmVnh1SUNBZ0lHTnNiMjVsS0hOamFHVnRZU2tnZTF4dUlDQWdJQ0FnSUNCc1pYUWdleUJyWlhrc0lIWmhiSFZsSUgwZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnSUNCcFppQW9hWE5PYjJSbEtHdGxlU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQnJaWGtnUFNCclpYa3VZMnh2Ym1Vb2MyTm9aVzFoS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x6VG05a1pTaDJZV3gxWlNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpTQTlJSFpoYkhWbExtTnNiMjVsS0hOamFHVnRZU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VHRnBjaWhyWlhrc0lIWmhiSFZsS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdkRzlLVTA5T0tGOHNJR04wZUNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd1lXbHlJRDBnWTNSNFB5NXRZWEJCYzAxaGNDQS9JRzVsZHlCTllYQW9LU0E2SUh0OU8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1lXUmtVR0ZwY2xSdlNsTk5ZWEFvWTNSNExDQndZV2x5TENCMGFHbHpLVHRjYmlBZ0lDQjlYRzRnSUNBZ2RHOVRkSEpwYm1jb1kzUjRMQ0J2YmtOdmJXMWxiblFzSUc5dVEyaHZiWEJMWldWd0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmpkSGcvTG1SdlkxeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlCemRISnBibWRwWm5sUVlXbHlLSFJvYVhNc0lHTjBlQ3dnYjI1RGIyMXRaVzUwTENCdmJrTm9iMjF3UzJWbGNDbGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ1NsTlBUaTV6ZEhKcGJtZHBabmtvZEdocGN5azdYRzRnSUNBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnZXlCUVlXbHlMQ0JqY21WaGRHVlFZV2x5SUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnYVhOT2IyUmxMQ0JwYzFCaGFYSWdmU0JtY205dElDY3VMaTl1YjJSbGN5OXBaR1Z1ZEdsMGVTNXFjeWM3WEc1cGJYQnZjblFnZXlCemRISnBibWRwWm5rZ2ZTQm1jbTl0SUNjdUwzTjBjbWx1WjJsbWVTNXFjeWM3WEc1cGJYQnZjblFnZXlCc2FXNWxRMjl0YldWdWRDd2dhVzVrWlc1MFEyOXRiV1Z1ZENCOUlHWnliMjBnSnk0dmMzUnlhVzVuYVdaNVEyOXRiV1Z1ZEM1cWN5YzdYRzVjYm1aMWJtTjBhVzl1SUhOMGNtbHVaMmxtZVVOdmJHeGxZM1JwYjI0b1kyOXNiR1ZqZEdsdmJpd2dZM1I0TENCdmNIUnBiMjV6S1NCN1hHNGdJQ0FnWTI5dWMzUWdabXh2ZHlBOUlHTjBlQzVwYmtac2IzY2dQejhnWTI5c2JHVmpkR2x2Ymk1bWJHOTNPMXh1SUNBZ0lHTnZibk4wSUhOMGNtbHVaMmxtZVNBOUlHWnNiM2NnUHlCemRISnBibWRwWm5sR2JHOTNRMjlzYkdWamRHbHZiaUE2SUhOMGNtbHVaMmxtZVVKc2IyTnJRMjlzYkdWamRHbHZianRjYmlBZ0lDQnlaWFIxY200Z2MzUnlhVzVuYVdaNUtHTnZiR3hsWTNScGIyNHNJR04wZUN3Z2IzQjBhVzl1Y3lrN1hHNTlYRzVtZFc1amRHbHZiaUJ6ZEhKcGJtZHBabmxDYkc5amEwTnZiR3hsWTNScGIyNG9leUJqYjIxdFpXNTBMQ0JwZEdWdGN5QjlMQ0JqZEhnc0lIc2dZbXh2WTJ0SmRHVnRVSEpsWm1sNExDQm1iRzkzUTJoaGNuTXNJR2wwWlcxSmJtUmxiblFzSUc5dVEyaHZiWEJMWldWd0xDQnZia052YlcxbGJuUWdmU2tnZTF4dUlDQWdJR052Ym5OMElIc2dhVzVrWlc1MExDQnZjSFJwYjI1ek9pQjdJR052YlcxbGJuUlRkSEpwYm1jZ2ZTQjlJRDBnWTNSNE8xeHVJQ0FnSUdOdmJuTjBJR2wwWlcxRGRIZ2dQU0JQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0JqZEhnc0lIc2dhVzVrWlc1ME9pQnBkR1Z0U1c1a1pXNTBMQ0IwZVhCbE9pQnVkV3hzSUgwcE8xeHVJQ0FnSUd4bGRDQmphRzl0Y0V0bFpYQWdQU0JtWVd4elpUc2dMeThnWm14aFp5Qm1iM0lnZEdobElIQnlaV05sWkdsdVp5QnViMlJsSjNNZ2MzUmhkSFZ6WEc0Z0lDQWdZMjl1YzNRZ2JHbHVaWE1nUFNCYlhUdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHbDBaVzF6TG14bGJtZDBhRHNnS3l0cEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHbDBaVzBnUFNCcGRHVnRjMXRwWFR0Y2JpQWdJQ0FnSUNBZ2JHVjBJR052YlcxbGJuUWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOT2IyUmxLR2wwWlcwcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV05vYjIxd1MyVmxjQ0FtSmlCcGRHVnRMbk53WVdObFFtVm1iM0psS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4cGJtVnpMbkIxYzJnb0p5Y3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1lXUmtRMjl0YldWdWRFSmxabTl5WlNoamRIZ3NJR3hwYm1WekxDQnBkR1Z0TG1OdmJXMWxiblJDWldadmNtVXNJR05vYjIxd1MyVmxjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhSbGJTNWpiMjF0Wlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiVzFsYm5RZ1BTQnBkR1Z0TG1OdmJXMWxiblE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FYTlFZV2x5S0dsMFpXMHBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcGF5QTlJR2x6VG05a1pTaHBkR1Z0TG10bGVTa2dQeUJwZEdWdExtdGxlU0E2SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hV3NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV05vYjIxd1MyVmxjQ0FtSmlCcGF5NXpjR0ZqWlVKbFptOXlaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHbHVaWE11Y0hWemFDZ25KeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWVdSa1EyOXRiV1Z1ZEVKbFptOXlaU2hqZEhnc0lHeHBibVZ6TENCcGF5NWpiMjF0Wlc1MFFtVm1iM0psTENCamFHOXRjRXRsWlhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHTm9iMjF3UzJWbGNDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQnNaWFFnYzNSeUlEMGdjM1J5YVc1bmFXWjVLR2wwWlcwc0lHbDBaVzFEZEhnc0lDZ3BJRDArSUNoamIyMXRaVzUwSUQwZ2JuVnNiQ2tzSUNncElEMCtJQ2hqYUc5dGNFdGxaWEFnUFNCMGNuVmxLU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpiMjF0Wlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlDczlJR3hwYm1WRGIyMXRaVzUwS0hOMGNpd2dhWFJsYlVsdVpHVnVkQ3dnWTI5dGJXVnVkRk4wY21sdVp5aGpiMjF0Wlc1MEtTazdYRzRnSUNBZ0lDQWdJR2xtSUNoamFHOXRjRXRsWlhBZ0ppWWdZMjl0YldWdWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUdOb2IyMXdTMlZsY0NBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNCc2FXNWxjeTV3ZFhOb0tHSnNiMk5yU1hSbGJWQnlaV1pwZUNBcklITjBjaWs3WEc0Z0lDQWdmVnh1SUNBZ0lHeGxkQ0J6ZEhJN1hHNGdJQ0FnYVdZZ0tHeHBibVZ6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J6ZEhJZ1BTQm1iRzkzUTJoaGNuTXVjM1JoY25RZ0t5Qm1iRzkzUTJoaGNuTXVaVzVrTzF4dUlDQWdJSDFjYmlBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2MzUnlJRDBnYkdsdVpYTmJNRjA3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXhPeUJwSUR3Z2JHbHVaWE11YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3hwYm1VZ1BTQnNhVzVsYzF0cFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMGNpQXJQU0JzYVc1bElEOGdZRnhjYmlSN2FXNWtaVzUwZlNSN2JHbHVaWDFnSURvZ0oxeGNiaWM3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOdmJXMWxiblFwSUh0Y2JpQWdJQ0FnSUNBZ2MzUnlJQ3M5SUNkY1hHNG5JQ3NnYVc1a1pXNTBRMjl0YldWdWRDaGpiMjF0Wlc1MFUzUnlhVzVuS0dOdmJXMWxiblFwTENCcGJtUmxiblFwTzF4dUlDQWdJQ0FnSUNCcFppQW9iMjVEYjIxdFpXNTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNURiMjF0Wlc1MEtDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdhV1lnS0dOb2IyMXdTMlZsY0NBbUppQnZia05vYjIxd1MyVmxjQ2xjYmlBZ0lDQWdJQ0FnYjI1RGFHOXRjRXRsWlhBb0tUdGNiaUFnSUNCeVpYUjFjbTRnYzNSeU8xeHVmVnh1Wm5WdVkzUnBiMjRnYzNSeWFXNW5hV1o1Um14dmQwTnZiR3hsWTNScGIyNG9leUJwZEdWdGN5QjlMQ0JqZEhnc0lIc2dabXh2ZDBOb1lYSnpMQ0JwZEdWdFNXNWtaVzUwSUgwcElIdGNiaUFnSUNCamIyNXpkQ0I3SUdsdVpHVnVkQ3dnYVc1a1pXNTBVM1JsY0N3Z1pteHZkME52Ykd4bFkzUnBiMjVRWVdSa2FXNW5PaUJtWTFCaFpHUnBibWNzSUc5d2RHbHZibk02SUhzZ1kyOXRiV1Z1ZEZOMGNtbHVaeUI5SUgwZ1BTQmpkSGc3WEc0Z0lDQWdhWFJsYlVsdVpHVnVkQ0FyUFNCcGJtUmxiblJUZEdWd08xeHVJQ0FnSUdOdmJuTjBJR2wwWlcxRGRIZ2dQU0JQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0JqZEhnc0lIdGNiaUFnSUNBZ0lDQWdhVzVrWlc1ME9pQnBkR1Z0U1c1a1pXNTBMRnh1SUNBZ0lDQWdJQ0JwYmtac2IzYzZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lIUjVjR1U2SUc1MWJHeGNiaUFnSUNCOUtUdGNiaUFnSUNCc1pYUWdjbVZ4VG1WM2JHbHVaU0E5SUdaaGJITmxPMXh1SUNBZ0lHeGxkQ0JzYVc1bGMwRjBWbUZzZFdVZ1BTQXdPMXh1SUNBZ0lHTnZibk4wSUd4cGJtVnpJRDBnVzEwN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCcGRHVnRjeTVzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcGRHVnRJRDBnYVhSbGJYTmJhVjA3WEc0Z0lDQWdJQ0FnSUd4bGRDQmpiMjF0Wlc1MElEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x6VG05a1pTaHBkR1Z0S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbDBaVzB1YzNCaFkyVkNaV1p2Y21VcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHbHVaWE11Y0hWemFDZ25KeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhaR1JEYjIxdFpXNTBRbVZtYjNKbEtHTjBlQ3dnYkdsdVpYTXNJR2wwWlcwdVkyOXRiV1Z1ZEVKbFptOXlaU3dnWm1Gc2MyVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2wwWlcwdVkyOXRiV1Z1ZENsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyMXRaVzUwSUQwZ2FYUmxiUzVqYjIxdFpXNTBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dselVHRnBjaWhwZEdWdEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYVdzZ1BTQnBjMDV2WkdVb2FYUmxiUzVyWlhrcElEOGdhWFJsYlM1clpYa2dPaUJ1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbHJLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbHJMbk53WVdObFFtVm1iM0psS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNhVzVsY3k1d2RYTm9LQ2NuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaFpHUkRiMjF0Wlc1MFFtVm1iM0psS0dOMGVDd2diR2x1WlhNc0lHbHJMbU52YlcxbGJuUkNaV1p2Y21Vc0lHWmhiSE5sS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hV3N1WTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnhUbVYzYkdsdVpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcGRpQTlJR2x6VG05a1pTaHBkR1Z0TG5aaGJIVmxLU0EvSUdsMFpXMHVkbUZzZFdVZ09pQnVkV3hzTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsMktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsMkxtTnZiVzFsYm5RcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052YlcxbGJuUWdQU0JwZGk1amIyMXRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBkaTVqYjIxdFpXNTBRbVZtYjNKbEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhGT1pYZHNhVzVsSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsMFpXMHVkbUZzZFdVZ1BUMGdiblZzYkNBbUppQnBhejh1WTI5dGJXVnVkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJXMWxiblFnUFNCcGF5NWpiMjF0Wlc1ME8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqYjIxdFpXNTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnhUbVYzYkdsdVpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lHeGxkQ0J6ZEhJZ1BTQnpkSEpwYm1kcFpua29hWFJsYlN3Z2FYUmxiVU4wZUN3Z0tDa2dQVDRnS0dOdmJXMWxiblFnUFNCdWRXeHNLU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBJRHdnYVhSbGJYTXViR1Z1WjNSb0lDMGdNU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBjaUFyUFNBbkxDYzdYRzRnSUNBZ0lDQWdJR2xtSUNoamIyMXRaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjM1J5SUNzOUlHeHBibVZEYjIxdFpXNTBLSE4wY2l3Z2FYUmxiVWx1WkdWdWRDd2dZMjl0YldWdWRGTjBjbWx1WnloamIyMXRaVzUwS1NrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doY21WeFRtVjNiR2x1WlNBbUppQW9iR2x1WlhNdWJHVnVaM1JvSUQ0Z2JHbHVaWE5CZEZaaGJIVmxJSHg4SUhOMGNpNXBibU5zZFdSbGN5Z25YRnh1SnlrcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WeFRtVjNiR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUd4cGJtVnpMbkIxYzJnb2MzUnlLVHRjYmlBZ0lDQWdJQ0FnYkdsdVpYTkJkRlpoYkhWbElEMGdiR2x1WlhNdWJHVnVaM1JvTzF4dUlDQWdJSDFjYmlBZ0lDQmpiMjV6ZENCN0lITjBZWEowTENCbGJtUWdmU0E5SUdac2IzZERhR0Z5Y3p0Y2JpQWdJQ0JwWmlBb2JHbHVaWE11YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpkR0Z5ZENBcklHVnVaRHRjYmlBZ0lDQjlYRzRnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hjbVZ4VG1WM2JHbHVaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JHVnVJRDBnYkdsdVpYTXVjbVZrZFdObEtDaHpkVzBzSUd4cGJtVXBJRDArSUhOMWJTQXJJR3hwYm1VdWJHVnVaM1JvSUNzZ01pd2dNaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWEZPWlhkc2FXNWxJRDBnWTNSNExtOXdkR2x2Ym5NdWJHbHVaVmRwWkhSb0lENGdNQ0FtSmlCc1pXNGdQaUJqZEhndWIzQjBhVzl1Y3k1c2FXNWxWMmxrZEdnN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0hKbGNVNWxkMnhwYm1VcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnpkSElnUFNCemRHRnlkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdiR2x1WlNCdlppQnNhVzVsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRISWdLejBnYkdsdVpTQS9JR0JjWEc0a2UybHVaR1Z1ZEZOMFpYQjlKSHRwYm1SbGJuUjlKSHRzYVc1bGZXQWdPaUFuWEZ4dUp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJnSkh0emRISjlYRnh1Skh0cGJtUmxiblI5Skh0bGJtUjlZRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCZ0pIdHpkR0Z5ZEgwa2UyWmpVR0ZrWkdsdVozMGtlMnhwYm1WekxtcHZhVzRvSnlBbktYMGtlMlpqVUdGa1pHbHVaMzBrZTJWdVpIMWdPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1lXUmtRMjl0YldWdWRFSmxabTl5WlNoN0lHbHVaR1Z1ZEN3Z2IzQjBhVzl1Y3pvZ2V5QmpiMjF0Wlc1MFUzUnlhVzVuSUgwZ2ZTd2diR2x1WlhNc0lHTnZiVzFsYm5Rc0lHTm9iMjF3UzJWbGNDa2dlMXh1SUNBZ0lHbG1JQ2hqYjIxdFpXNTBJQ1ltSUdOb2IyMXdTMlZsY0NsY2JpQWdJQ0FnSUNBZ1kyOXRiV1Z1ZENBOUlHTnZiVzFsYm5RdWNtVndiR0ZqWlNndlhseGNiaXN2TENBbkp5azdYRzRnSUNBZ2FXWWdLR052YlcxbGJuUXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhV01nUFNCcGJtUmxiblJEYjIxdFpXNTBLR052YlcxbGJuUlRkSEpwYm1jb1kyOXRiV1Z1ZENrc0lHbHVaR1Z1ZENrN1hHNGdJQ0FnSUNBZ0lHeHBibVZ6TG5CMWMyZ29hV011ZEhKcGJWTjBZWEowS0NrcE95QXZMeUJCZG05cFpDQmtiM1ZpYkdVZ2FXNWtaVzUwSUc5dUlHWnBjbk4wSUd4cGJtVmNiaUFnSUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0I3SUhOMGNtbHVaMmxtZVVOdmJHeGxZM1JwYjI0Z2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCemRISnBibWRwWm5sRGIyeHNaV04wYVc5dUlIMGdabkp2YlNBbkxpNHZjM1J5YVc1bmFXWjVMM04wY21sdVoybG1lVU52Ykd4bFkzUnBiMjR1YW5Nbk8xeHVhVzF3YjNKMElIc2dZV1JrVUdGcGNsUnZTbE5OWVhBZ2ZTQm1jbTl0SUNjdUwyRmtaRkJoYVhKVWIwcFRUV0Z3TG1wekp6dGNibWx0Y0c5eWRDQjdJRU52Ykd4bFkzUnBiMjRnZlNCbWNtOXRJQ2N1TDBOdmJHeGxZM1JwYjI0dWFuTW5PMXh1YVcxd2IzSjBJSHNnYVhOUVlXbHlMQ0JwYzFOallXeGhjaXdnVFVGUUlIMGdabkp2YlNBbkxpOXBaR1Z1ZEdsMGVTNXFjeWM3WEc1cGJYQnZjblFnZXlCUVlXbHlMQ0JqY21WaGRHVlFZV2x5SUgwZ1puSnZiU0FuTGk5UVlXbHlMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHbHpVMk5oYkdGeVZtRnNkV1VnZlNCbWNtOXRJQ2N1TDFOallXeGhjaTVxY3ljN1hHNWNibVoxYm1OMGFXOXVJR1pwYm1SUVlXbHlLR2wwWlcxekxDQnJaWGtwSUh0Y2JpQWdJQ0JqYjI1emRDQnJJRDBnYVhOVFkyRnNZWElvYTJWNUtTQS9JR3RsZVM1MllXeDFaU0E2SUd0bGVUdGNiaUFnSUNCbWIzSWdLR052Ym5OMElHbDBJRzltSUdsMFpXMXpLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBjMUJoYVhJb2FYUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhRdWEyVjVJRDA5UFNCclpYa2dmSHdnYVhRdWEyVjVJRDA5UFNCcktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGREdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBjMU5qWVd4aGNpaHBkQzVyWlhrcElDWW1JR2wwTG10bGVTNTJZV3gxWlNBOVBUMGdheWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhWFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNibjFjYm1Oc1lYTnpJRmxCVFV4TllYQWdaWGgwWlc1a2N5QkRiMnhzWldOMGFXOXVJSHRjYmlBZ0lDQnpkR0YwYVdNZ1oyVjBJSFJoWjA1aGJXVW9LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2YldGd0p6dGNiaUFnSUNCOVhHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb2MyTm9aVzFoS1NCN1hHNGdJQ0FnSUNBZ0lITjFjR1Z5S0UxQlVDd2djMk5vWlcxaEtUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1cGRHVnRjeUE5SUZ0ZE8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQklHZGxibVZ5YVdNZ1kyOXNiR1ZqZEdsdmJpQndZWEp6YVc1bklHMWxkR2h2WkNCMGFHRjBJR05oYmlCaVpTQmxlSFJsYm1SbFpGeHVJQ0FnSUNBcUlIUnZJRzkwYUdWeUlHNXZaR1VnWTJ4aGMzTmxjeUIwYUdGMElHbHVhR1Z5YVhRZ1puSnZiU0JaUVUxTVRXRndYRzRnSUNBZ0lDb3ZYRzRnSUNBZ2MzUmhkR2xqSUdaeWIyMG9jMk5vWlcxaExDQnZZbW9zSUdOMGVDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjdJR3RsWlhCVmJtUmxabWx1WldRc0lISmxjR3hoWTJWeUlIMGdQU0JqZEhnN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxaGNDQTlJRzVsZHlCMGFHbHpLSE5qYUdWdFlTazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHRmtaQ0E5SUNoclpYa3NJSFpoYkhWbEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSEpsY0d4aFkyVnlJRDA5UFNBblpuVnVZM1JwYjI0bktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2NtVndiR0ZqWlhJdVkyRnNiQ2h2WW1vc0lHdGxlU3dnZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2h5WlhCc1lXTmxjaWtnSmlZZ0lYSmxjR3hoWTJWeUxtbHVZMngxWkdWektHdGxlU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElDRTlQU0IxYm1SbFptbHVaV1FnZkh3Z2EyVmxjRlZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhBdWFYUmxiWE11Y0hWemFDaGpjbVZoZEdWUVlXbHlLR3RsZVN3Z2RtRnNkV1VzSUdOMGVDa3BPMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNCcFppQW9iMkpxSUdsdWMzUmhibU5sYjJZZ1RXRndLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJRnRyWlhrc0lIWmhiSFZsWFNCdlppQnZZbW9wWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWVdSa0tHdGxlU3dnZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0c5aWFpQW1KaUIwZVhCbGIyWWdiMkpxSUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQnJaWGtnYjJZZ1QySnFaV04wTG10bGVYTW9iMkpxS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaFpHUW9hMlY1TENCdlltcGJhMlY1WFNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ6WTJobGJXRXVjMjl5ZEUxaGNFVnVkSEpwWlhNZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzFoY0M1cGRHVnRjeTV6YjNKMEtITmphR1Z0WVM1emIzSjBUV0Z3Ulc1MGNtbGxjeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGNEdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FXUmtjeUJoSUhaaGJIVmxJSFJ2SUhSb1pTQmpiMnhzWldOMGFXOXVMbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEJoY21GdElHOTJaWEozY21sMFpTQXRJRWxtSUc1dmRDQnpaWFFnWUhSeWRXVmdMQ0IxYzJsdVp5QmhJR3RsZVNCMGFHRjBJR2x6SUdGc2NtVmhaSGtnYVc0Z2RHaGxYRzRnSUNBZ0lDb2dJQ0JqYjJ4c1pXTjBhVzl1SUhkcGJHd2dkR2h5YjNjdUlFOTBhR1Z5ZDJselpTd2diM1psY25keWFYUmxjeUIwYUdVZ2NISmxkbWx2ZFhNZ2RtRnNkV1V1WEc0Z0lDQWdJQ292WEc0Z0lDQWdZV1JrS0hCaGFYSXNJRzkyWlhKM2NtbDBaU2tnZTF4dUlDQWdJQ0FnSUNCc1pYUWdYM0JoYVhJN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzFCaGFYSW9jR0ZwY2lrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JmY0dGcGNpQTlJSEJoYVhJN1hHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tDRndZV2x5SUh4OElIUjVjR1Z2WmlCd1lXbHlJQ0U5UFNBbmIySnFaV04wSnlCOGZDQWhLQ2RyWlhrbklHbHVJSEJoYVhJcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QkpiaUJVZVhCbFUyTnlhWEIwTENCMGFHbHpJRzVsZG1WeUlHaGhjSEJsYm5NdVhHNGdJQ0FnSUNBZ0lDQWdJQ0JmY0dGcGNpQTlJRzVsZHlCUVlXbHlLSEJoYVhJc0lIQmhhWEkvTG5aaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNCZmNHRnBjaUE5SUc1bGR5QlFZV2x5S0hCaGFYSXVhMlY1TENCd1lXbHlMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NISmxkaUE5SUdacGJtUlFZV2x5S0hSb2FYTXVhWFJsYlhNc0lGOXdZV2x5TG10bGVTazdYRzRnSUNBZ0lDQWdJR052Ym5OMElITnZjblJGYm5SeWFXVnpJRDBnZEdocGN5NXpZMmhsYldFL0xuTnZjblJOWVhCRmJuUnlhV1Z6TzF4dUlDQWdJQ0FnSUNCcFppQW9jSEpsZGlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnZkbVZ5ZDNKcGRHVXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQkxaWGtnSkh0ZmNHRnBjaTVyWlhsOUlHRnNjbVZoWkhrZ2MyVjBZQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJHYjNJZ2MyTmhiR0Z5Y3l3Z2EyVmxjQ0IwYUdVZ2IyeGtJRzV2WkdVZ0ppQnBkSE1nWTI5dGJXVnVkSE1nWVc1a0lHRnVZMmh2Y25OY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGMxTmpZV3hoY2lod2NtVjJMblpoYkhWbEtTQW1KaUJwYzFOallXeGhjbFpoYkhWbEtGOXdZV2x5TG5aaGJIVmxLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y21WMkxuWmhiSFZsTG5aaGJIVmxJRDBnWDNCaGFYSXVkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NISmxkaTUyWVd4MVpTQTlJRjl3WVdseUxuWmhiSFZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tITnZjblJGYm5SeWFXVnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcElEMGdkR2hwY3k1cGRHVnRjeTVtYVc1a1NXNWtaWGdvYVhSbGJTQTlQaUJ6YjNKMFJXNTBjbWxsY3loZmNHRnBjaXdnYVhSbGJTa2dQQ0F3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocElEMDlQU0F0TVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbWwwWlcxekxuQjFjMmdvWDNCaGFYSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFYUmxiWE11YzNCc2FXTmxLR2tzSURBc0lGOXdZV2x5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFYUmxiWE11Y0hWemFDaGZjR0ZwY2lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnWkdWc1pYUmxLR3RsZVNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcGRDQTlJR1pwYm1SUVlXbHlLSFJvYVhNdWFYUmxiWE1zSUd0bGVTazdYRzRnSUNBZ0lDQWdJR2xtSUNnaGFYUXBYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJR052Ym5OMElHUmxiQ0E5SUhSb2FYTXVhWFJsYlhNdWMzQnNhV05sS0hSb2FYTXVhWFJsYlhNdWFXNWtaWGhQWmlocGRDa3NJREVwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWc0xteGxibWQwYUNBK0lEQTdYRzRnSUNBZ2ZWeHVJQ0FnSUdkbGRDaHJaWGtzSUd0bFpYQlRZMkZzWVhJcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FYUWdQU0JtYVc1a1VHRnBjaWgwYUdsekxtbDBaVzF6TENCclpYa3BPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnViMlJsSUQwZ2FYUS9MblpoYkhWbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0tDRnJaV1Z3VTJOaGJHRnlJQ1ltSUdselUyTmhiR0Z5S0c1dlpHVXBJRDhnYm05a1pTNTJZV3gxWlNBNklHNXZaR1VwSUQ4L0lIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCOVhHNGdJQ0FnYUdGektHdGxlU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnSVNGbWFXNWtVR0ZwY2loMGFHbHpMbWwwWlcxekxDQnJaWGtwTzF4dUlDQWdJSDFjYmlBZ0lDQnpaWFFvYTJWNUxDQjJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG1Ga1pDaHVaWGNnVUdGcGNpaHJaWGtzSUhaaGJIVmxLU3dnZEhKMVpTazdYRzRnSUNBZ2ZWeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFQndZWEpoYlNCamRIZ2dMU0JEYjI1MlpYSnphVzl1SUdOdmJuUmxlSFFzSUc5eWFXZHBibUZzYkhrZ2MyVjBJR2x1SUVSdlkzVnRaVzUwSTNSdlNsTW9LVnh1SUNBZ0lDQXFJRUJ3WVhKaGJTQjdRMnhoYzNOOUlGUjVjR1VnTFNCSlppQnpaWFFzSUdadmNtTmxjeUIwYUdVZ2NtVjBkWEp1WldRZ1kyOXNiR1ZqZEdsdmJpQjBlWEJsWEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nU1c1emRHRnVZMlVnYjJZZ1ZIbHdaU3dnVFdGd0xDQnZjaUJQWW1wbFkzUmNiaUFnSUNBZ0tpOWNiaUFnSUNCMGIwcFRUMDRvWHl3Z1kzUjRMQ0JVZVhCbEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHMWhjQ0E5SUZSNWNHVWdQeUJ1WlhjZ1ZIbHdaU2dwSURvZ1kzUjRQeTV0WVhCQmMwMWhjQ0EvSUc1bGR5Qk5ZWEFvS1NBNklIdDlPMXh1SUNBZ0lDQWdJQ0JwWmlBb1kzUjRQeTV2YmtOeVpXRjBaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHTjBlQzV2YmtOeVpXRjBaU2h0WVhBcE8xeHVJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJR2wwWlcwZ2IyWWdkR2hwY3k1cGRHVnRjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lHRmtaRkJoYVhKVWIwcFRUV0Z3S0dOMGVDd2diV0Z3TENCcGRHVnRLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoY0R0Y2JpQWdJQ0I5WEc0Z0lDQWdkRzlUZEhKcGJtY29ZM1I0TENCdmJrTnZiVzFsYm5Rc0lHOXVRMmh2YlhCTFpXVndLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hZM1I0S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0hSb2FYTXBPMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdsMFpXMGdiMllnZEdocGN5NXBkR1Z0Y3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnBjMUJoYVhJb2FYUmxiU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0JOWVhBZ2FYUmxiWE1nYlhWemRDQmhiR3dnWW1VZ2NHRnBjbk03SUdadmRXNWtJQ1I3U2xOUFRpNXpkSEpwYm1kcFpua29hWFJsYlNsOUlHbHVjM1JsWVdSZ0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JwWmlBb0lXTjBlQzVoYkd4T2RXeHNWbUZzZFdWeklDWW1JSFJvYVhNdWFHRnpRV3hzVG5Wc2JGWmhiSFZsY3lobVlXeHpaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQmpkSGdnUFNCUFltcGxZM1F1WVhOemFXZHVLSHQ5TENCamRIZ3NJSHNnWVd4c1RuVnNiRlpoYkhWbGN6b2dkSEoxWlNCOUtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITjBjbWx1WjJsbWVVTnZiR3hsWTNScGIyNG9kR2hwY3l3Z1kzUjRMQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmliRzlqYTBsMFpXMVFjbVZtYVhnNklDY25MRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pteHZkME5vWVhKek9pQjdJSE4wWVhKME9pQW5leWNzSUdWdVpEb2dKMzBuSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwZEdWdFNXNWtaVzUwT2lCamRIZ3VhVzVrWlc1MElIeDhJQ2NuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiMjVEYUc5dGNFdGxaWEFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZia052YlcxbGJuUmNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QlpRVTFNVFdGd0xDQm1hVzVrVUdGcGNpQjlPMXh1SWl3Z0ltbHRjRzl5ZENCN0lHbHpUV0Z3SUgwZ1puSnZiU0FuTGk0dkxpNHZibTlrWlhNdmFXUmxiblJwZEhrdWFuTW5PMXh1YVcxd2IzSjBJSHNnV1VGTlRFMWhjQ0I5SUdaeWIyMGdKeTR1THk0dUwyNXZaR1Z6TDFsQlRVeE5ZWEF1YW5Nbk8xeHVYRzVqYjI1emRDQnRZWEFnUFNCN1hHNGdJQ0FnWTI5c2JHVmpkR2x2YmpvZ0oyMWhjQ2NzWEc0Z0lDQWdaR1ZtWVhWc2REb2dkSEoxWlN4Y2JpQWdJQ0J1YjJSbFEyeGhjM002SUZsQlRVeE5ZWEFzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNmJXRndKeXhjYmlBZ0lDQnlaWE52YkhabEtHMWhjQ3dnYjI1RmNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9JV2x6VFdGd0tHMWhjQ2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtDZEZlSEJsWTNSbFpDQmhJRzFoY0hCcGJtY2dabTl5SUhSb2FYTWdkR0ZuSnlrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYQTdYRzRnSUNBZ2ZTeGNiaUFnSUNCamNtVmhkR1ZPYjJSbE9pQW9jMk5vWlcxaExDQnZZbW9zSUdOMGVDa2dQVDRnV1VGTlRFMWhjQzVtY205dEtITmphR1Z0WVN3Z2IySnFMQ0JqZEhncFhHNTlPMXh1WEc1bGVIQnZjblFnZXlCdFlYQWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QmpjbVZoZEdWT2IyUmxJSDBnWm5KdmJTQW5MaTR2Wkc5akwyTnlaV0YwWlU1dlpHVXVhbk1uTzF4dWFXMXdiM0owSUhzZ2MzUnlhVzVuYVdaNVEyOXNiR1ZqZEdsdmJpQjlJR1p5YjIwZ0p5NHVMM04wY21sdVoybG1lUzl6ZEhKcGJtZHBabmxEYjJ4c1pXTjBhVzl1TG1wekp6dGNibWx0Y0c5eWRDQjdJRU52Ykd4bFkzUnBiMjRnZlNCbWNtOXRJQ2N1TDBOdmJHeGxZM1JwYjI0dWFuTW5PMXh1YVcxd2IzSjBJSHNnVTBWUkxDQnBjMU5qWVd4aGNpQjlJR1p5YjIwZ0p5NHZhV1JsYm5ScGRIa3Vhbk1uTzF4dWFXMXdiM0owSUhzZ2FYTlRZMkZzWVhKV1lXeDFaU0I5SUdaeWIyMGdKeTR2VTJOaGJHRnlMbXB6Snp0Y2JtbHRjRzl5ZENCN0lIUnZTbE1nZlNCbWNtOXRJQ2N1TDNSdlNsTXVhbk1uTzF4dVhHNWpiR0Z6Y3lCWlFVMU1VMlZ4SUdWNGRHVnVaSE1nUTI5c2JHVmpkR2x2YmlCN1hHNGdJQ0FnYzNSaGRHbGpJR2RsZENCMFlXZE9ZVzFsS0NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9uTmxjU2M3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wY25WamRHOXlLSE5qYUdWdFlTa2dlMXh1SUNBZ0lDQWdJQ0J6ZFhCbGNpaFRSVkVzSUhOamFHVnRZU2s3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVhWFJsYlhNZ1BTQmJYVHRjYmlBZ0lDQjlYRzRnSUNBZ1lXUmtLSFpoYkhWbEtTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWFYUmxiWE11Y0hWemFDaDJZV3gxWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUZKbGJXOTJaWE1nWVNCMllXeDFaU0JtY205dElIUm9aU0JqYjJ4c1pXTjBhVzl1TGx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nWUd0bGVXQWdiWFZ6ZENCamIyNTBZV2x1SUdFZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lXNGdhVzUwWldkbGNpQm1iM0lnZEdocGN5QjBieUJ6ZFdOalpXVmtMbHh1SUNBZ0lDQXFJRWwwSUcxaGVTQmlaU0IzY21Gd2NHVmtJR2x1SUdFZ1lGTmpZV3hoY21BdVhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCZ2RISjFaV0FnYVdZZ2RHaGxJR2wwWlcwZ2QyRnpJR1p2ZFc1a0lHRnVaQ0J5WlcxdmRtVmtMbHh1SUNBZ0lDQXFMMXh1SUNBZ0lHUmxiR1YwWlNoclpYa3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhV1I0SUQwZ1lYTkpkR1Z0U1c1a1pYZ29hMlY1S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnBaSGdnSVQwOUlDZHVkVzFpWlhJbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCa1pXd2dQU0IwYUdsekxtbDBaVzF6TG5Od2JHbGpaU2hwWkhnc0lERXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1ZzTG14bGJtZDBhQ0ErSURBN1hHNGdJQ0FnZlZ4dUlDQWdJR2RsZENoclpYa3NJR3RsWlhCVFkyRnNZWElwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVdSNElEMGdZWE5KZEdWdFNXNWtaWGdvYTJWNUtUdGNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJwWkhnZ0lUMDlJQ2R1ZFcxaVpYSW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVhRZ1BTQjBhR2x6TG1sMFpXMXpXMmxrZUYwN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBaGEyVmxjRk5qWVd4aGNpQW1KaUJwYzFOallXeGhjaWhwZENrZ1B5QnBkQzUyWVd4MVpTQTZJR2wwTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEYUdWamEzTWdhV1lnZEdobElHTnZiR3hsWTNScGIyNGdhVzVqYkhWa1pYTWdZU0IyWVd4MVpTQjNhWFJvSUhSb1pTQnJaWGtnWUd0bGVXQXVYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQmdhMlY1WUNCdGRYTjBJR052Ym5SaGFXNGdZU0J5WlhCeVpYTmxiblJoZEdsdmJpQnZaaUJoYmlCcGJuUmxaMlZ5SUdadmNpQjBhR2x6SUhSdklITjFZMk5sWldRdVhHNGdJQ0FnSUNvZ1NYUWdiV0Y1SUdKbElIZHlZWEJ3WldRZ2FXNGdZU0JnVTJOaGJHRnlZQzVjYmlBZ0lDQWdLaTljYmlBZ0lDQm9ZWE1vYTJWNUtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHbGtlQ0E5SUdGelNYUmxiVWx1WkdWNEtHdGxlU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwZVhCbGIyWWdhV1I0SUQwOVBTQW5iblZ0WW1WeUp5QW1KaUJwWkhnZ1BDQjBhR2x6TG1sMFpXMXpMbXhsYm1kMGFEdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1UyVjBjeUJoSUhaaGJIVmxJR2x1SUhSb2FYTWdZMjlzYkdWamRHbHZiaTRnUm05eUlHQWhJWE5sZEdBc0lHQjJZV3gxWldBZ2JtVmxaSE1nZEc4Z1ltVWdZVnh1SUNBZ0lDQXFJR0p2YjJ4bFlXNGdkRzhnWVdSa0wzSmxiVzkyWlNCMGFHVWdhWFJsYlNCbWNtOXRJSFJvWlNCelpYUXVYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQkpaaUJnYTJWNVlDQmtiMlZ6SUc1dmRDQmpiMjUwWVdsdUlHRWdjbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdZVzRnYVc1MFpXZGxjaXdnZEdocGN5QjNhV3hzSUhSb2NtOTNMbHh1SUNBZ0lDQXFJRWwwSUcxaGVTQmlaU0IzY21Gd2NHVmtJR2x1SUdFZ1lGTmpZV3hoY21BdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnYzJWMEtHdGxlU3dnZG1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhV1I0SUQwZ1lYTkpkR1Z0U1c1a1pYZ29hMlY1S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnBaSGdnSVQwOUlDZHVkVzFpWlhJbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0JGZUhCbFkzUmxaQ0JoSUhaaGJHbGtJR2x1WkdWNExDQnViM1FnSkh0clpYbDlMbUFwTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J3Y21WMklEMGdkR2hwY3k1cGRHVnRjMXRwWkhoZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOVFkyRnNZWElvY0hKbGRpa2dKaVlnYVhOVFkyRnNZWEpXWVd4MVpTaDJZV3gxWlNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y21WMkxuWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVhWFJsYlhOYmFXUjRYU0E5SUhaaGJIVmxPMXh1SUNBZ0lIMWNiaUFnSUNCMGIwcFRUMDRvWHl3Z1kzUjRLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5sY1NBOUlGdGRPMXh1SUNBZ0lDQWdJQ0JwWmlBb1kzUjRQeTV2YmtOeVpXRjBaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHTjBlQzV2YmtOeVpXRjBaU2h6WlhFcE8xeHVJQ0FnSUNBZ0lDQnNaWFFnYVNBOUlEQTdYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnYVhSbGJTQnZaaUIwYUdsekxtbDBaVzF6S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjMlZ4TG5CMWMyZ29kRzlLVXlocGRHVnRMQ0JUZEhKcGJtY29hU3NyS1N3Z1kzUjRLU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6WlhFN1hHNGdJQ0FnZlZ4dUlDQWdJSFJ2VTNSeWFXNW5LR04wZUN3Z2IyNURiMjF0Wlc1MExDQnZia05vYjIxd1MyVmxjQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9JV04wZUNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQktVMDlPTG5OMGNtbHVaMmxtZVNoMGFHbHpLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSE4wY21sdVoybG1lVU52Ykd4bFkzUnBiMjRvZEdocGN5d2dZM1I0TENCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpYkc5amEwbDBaVzFRY21WbWFYZzZJQ2N0SUNjc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYkc5M1EyaGhjbk02SUhzZ2MzUmhjblE2SUNkYkp5d2daVzVrT2lBblhTY2dmU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBaVzFKYm1SbGJuUTZJQ2hqZEhndWFXNWtaVzUwSUh4OElDY25LU0FySUNjZ0lDY3NYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJrTm9iMjF3UzJWbGNDeGNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVEyOXRiV1Z1ZEZ4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNGdJQ0FnYzNSaGRHbGpJR1p5YjIwb2MyTm9aVzFoTENCdlltb3NJR04wZUNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lISmxjR3hoWTJWeUlIMGdQU0JqZEhnN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhObGNTQTlJRzVsZHlCMGFHbHpLSE5qYUdWdFlTazdYRzRnSUNBZ0lDQWdJR2xtSUNodlltb2dKaVlnVTNsdFltOXNMbWwwWlhKaGRHOXlJR2x1SUU5aWFtVmpkQ2h2WW1vcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdhU0E5SURBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwZENCdlppQnZZbW9wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlISmxjR3hoWTJWeUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHdGxlU0E5SUc5aWFpQnBibk4wWVc1alpXOW1JRk5sZENBL0lHbDBJRG9nVTNSeWFXNW5LR2tyS3lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwSUQwZ2NtVndiR0ZqWlhJdVkyRnNiQ2h2WW1vc0lHdGxlU3dnYVhRcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpaWEV1YVhSbGJYTXVjSFZ6YUNoamNtVmhkR1ZPYjJSbEtHbDBMQ0IxYm1SbFptbHVaV1FzSUdOMGVDa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpaWEU3WEc0Z0lDQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1lYTkpkR1Z0U1c1a1pYZ29hMlY1S1NCN1hHNGdJQ0FnYkdWMElHbGtlQ0E5SUdselUyTmhiR0Z5S0d0bGVTa2dQeUJyWlhrdWRtRnNkV1VnT2lCclpYazdYRzRnSUNBZ2FXWWdLR2xrZUNBbUppQjBlWEJsYjJZZ2FXUjRJRDA5UFNBbmMzUnlhVzVuSnlsY2JpQWdJQ0FnSUNBZ2FXUjRJRDBnVG5WdFltVnlLR2xrZUNrN1hHNGdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQnBaSGdnUFQwOUlDZHVkVzFpWlhJbklDWW1JRTUxYldKbGNpNXBjMGx1ZEdWblpYSW9hV1I0S1NBbUppQnBaSGdnUGowZ01GeHVJQ0FnSUNBZ0lDQS9JR2xrZUZ4dUlDQWdJQ0FnSUNBNklHNTFiR3c3WEc1OVhHNWNibVY0Y0c5eWRDQjdJRmxCVFV4VFpYRWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QnBjMU5sY1NCOUlHWnliMjBnSnk0dUx5NHVMMjV2WkdWekwybGtaVzUwYVhSNUxtcHpKenRjYm1sdGNHOXlkQ0I3SUZsQlRVeFRaWEVnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5WlFVMU1VMlZ4TG1wekp6dGNibHh1WTI5dWMzUWdjMlZ4SUQwZ2UxeHVJQ0FnSUdOdmJHeGxZM1JwYjI0NklDZHpaWEVuTEZ4dUlDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnYm05a1pVTnNZWE56T2lCWlFVMU1VMlZ4TEZ4dUlDQWdJSFJoWnpvZ0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9uTmxjU2NzWEc0Z0lDQWdjbVZ6YjJ4MlpTaHpaWEVzSUc5dVJYSnliM0lwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZwYzFObGNTaHpaWEVwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpZ25SWGh3WldOMFpXUWdZU0J6WlhGMVpXNWpaU0JtYjNJZ2RHaHBjeUIwWVdjbktUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITmxjVHRjYmlBZ0lDQjlMRnh1SUNBZ0lHTnlaV0YwWlU1dlpHVTZJQ2h6WTJobGJXRXNJRzlpYWl3Z1kzUjRLU0E5UGlCWlFVMU1VMlZ4TG1aeWIyMG9jMk5vWlcxaExDQnZZbW9zSUdOMGVDbGNibjA3WEc1Y2JtVjRjRzl5ZENCN0lITmxjU0I5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJSE4wY21sdVoybG1lVk4wY21sdVp5QjlJR1p5YjIwZ0p5NHVMeTR1TDNOMGNtbHVaMmxtZVM5emRISnBibWRwWm5sVGRISnBibWN1YW5Nbk8xeHVYRzVqYjI1emRDQnpkSEpwYm1jZ1BTQjdYRzRnSUNBZ2FXUmxiblJwWm5rNklIWmhiSFZsSUQwK0lIUjVjR1Z2WmlCMllXeDFaU0E5UFQwZ0ozTjBjbWx1Wnljc1hHNGdJQ0FnWkdWbVlYVnNkRG9nZEhKMVpTeGNiaUFnSUNCMFlXYzZJQ2QwWVdjNmVXRnRiQzV2Y21jc01qQXdNanB6ZEhJbkxGeHVJQ0FnSUhKbGMyOXNkbVU2SUhOMGNpQTlQaUJ6ZEhJc1hHNGdJQ0FnYzNSeWFXNW5hV1o1S0dsMFpXMHNJR04wZUN3Z2IyNURiMjF0Wlc1MExDQnZia05vYjIxd1MyVmxjQ2tnZTF4dUlDQWdJQ0FnSUNCamRIZ2dQU0JQWW1wbFkzUXVZWE56YVdkdUtIc2dZV04wZFdGc1UzUnlhVzVuT2lCMGNuVmxJSDBzSUdOMGVDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpkSEpwYm1kcFpubFRkSEpwYm1jb2FYUmxiU3dnWTNSNExDQnZia052YlcxbGJuUXNJRzl1UTJodmJYQkxaV1Z3S1R0Y2JpQWdJQ0I5WEc1OU8xeHVYRzVsZUhCdmNuUWdleUJ6ZEhKcGJtY2dmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QlRZMkZzWVhJZ2ZTQm1jbTl0SUNjdUxpOHVMaTl1YjJSbGN5OVRZMkZzWVhJdWFuTW5PMXh1WEc1amIyNXpkQ0J1ZFd4c1ZHRm5JRDBnZTF4dUlDQWdJR2xrWlc1MGFXWjVPaUIyWVd4MVpTQTlQaUIyWVd4MVpTQTlQU0J1ZFd4c0xGeHVJQ0FnSUdOeVpXRjBaVTV2WkdVNklDZ3BJRDArSUc1bGR5QlRZMkZzWVhJb2JuVnNiQ2tzWEc0Z0lDQWdaR1ZtWVhWc2REb2dkSEoxWlN4Y2JpQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHVkV3hzSnl4Y2JpQWdJQ0IwWlhOME9pQXZYaWcvT241OFcwNXVYWFZzYkh4T1ZVeE1LVDhrTHl4Y2JpQWdJQ0J5WlhOdmJIWmxPaUFvS1NBOVBpQnVaWGNnVTJOaGJHRnlLRzUxYkd3cExGeHVJQ0FnSUhOMGNtbHVaMmxtZVRvZ0tIc2djMjkxY21ObElIMHNJR04wZUNrZ1BUNGdkSGx3Wlc5bUlITnZkWEpqWlNBOVBUMGdKM04wY21sdVp5Y2dKaVlnYm5Wc2JGUmhaeTUwWlhOMExuUmxjM1FvYzI5MWNtTmxLVnh1SUNBZ0lDQWdJQ0EvSUhOdmRYSmpaVnh1SUNBZ0lDQWdJQ0E2SUdOMGVDNXZjSFJwYjI1ekxtNTFiR3hUZEhKY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUc1MWJHeFVZV2NnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJUWTJGc1lYSWdmU0JtY205dElDY3VMaTh1TGk5dWIyUmxjeTlUWTJGc1lYSXVhbk1uTzF4dVhHNWpiMjV6ZENCaWIyOXNWR0ZuSUQwZ2UxeHVJQ0FnSUdsa1pXNTBhV1o1T2lCMllXeDFaU0E5UGlCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkaWIyOXNaV0Z1Snl4Y2JpQWdJQ0JrWldaaGRXeDBPaUIwY25WbExGeHVJQ0FnSUhSaFp6b2dKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPbUp2YjJ3bkxGeHVJQ0FnSUhSbGMzUTZJQzllS0Q4NlcxUjBYWEoxWlh4VVVsVkZmRnRHWmwxaGJITmxmRVpCVEZORktTUXZMRnh1SUNBZ0lISmxjMjlzZG1VNklITjBjaUE5UGlCdVpYY2dVMk5oYkdGeUtITjBjbHN3WFNBOVBUMGdKM1FuSUh4OElITjBjbHN3WFNBOVBUMGdKMVFuS1N4Y2JpQWdJQ0J6ZEhKcGJtZHBabmtvZXlCemIzVnlZMlVzSUhaaGJIVmxJSDBzSUdOMGVDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2MyOTFjbU5sSUNZbUlHSnZiMnhVWVdjdWRHVnpkQzUwWlhOMEtITnZkWEpqWlNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE4ySUQwZ2MyOTFjbU5sV3pCZElEMDlQU0FuZENjZ2ZId2djMjkxY21ObFd6QmRJRDA5UFNBblZDYzdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kbUZzZFdVZ1BUMDlJSE4yS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ6YjNWeVkyVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFpoYkhWbElEOGdZM1I0TG05d2RHbHZibk11ZEhKMVpWTjBjaUE2SUdOMGVDNXZjSFJwYjI1ekxtWmhiSE5sVTNSeU8xeHVJQ0FnSUgxY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUdKdmIyeFVZV2NnZlR0Y2JpSXNJQ0ptZFc1amRHbHZiaUJ6ZEhKcGJtZHBabmxPZFcxaVpYSW9leUJtYjNKdFlYUXNJRzFwYmtaeVlXTjBhVzl1UkdsbmFYUnpMQ0IwWVdjc0lIWmhiSFZsSUgwcElIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlIWmhiSFZsSUQwOVBTQW5ZbWxuYVc1MEp5bGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGTjBjbWx1WnloMllXeDFaU2s3WEc0Z0lDQWdZMjl1YzNRZ2JuVnRJRDBnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYm5WdFltVnlKeUEvSUhaaGJIVmxJRG9nVG5WdFltVnlLSFpoYkhWbEtUdGNiaUFnSUNCcFppQW9JV2x6Um1sdWFYUmxLRzUxYlNrcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGMwNWhUaWh1ZFcwcElEOGdKeTV1WVc0bklEb2diblZ0SUR3Z01DQS9JQ2N0TG1sdVppY2dPaUFuTG1sdVppYzdYRzRnSUNBZ2JHVjBJRzRnUFNCS1UwOU9Mbk4wY21sdVoybG1lU2gyWVd4MVpTazdYRzRnSUNBZ2FXWWdLQ0ZtYjNKdFlYUWdKaVpjYmlBZ0lDQWdJQ0FnYldsdVJuSmhZM1JwYjI1RWFXZHBkSE1nSmlaY2JpQWdJQ0FnSUNBZ0tDRjBZV2NnZkh3Z2RHRm5JRDA5UFNBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNlpteHZZWFFuS1NBbUpseHVJQ0FnSUNBZ0lDQXZYbHhjWkM4dWRHVnpkQ2h1S1NrZ2UxeHVJQ0FnSUNBZ0lDQnNaWFFnYVNBOUlHNHVhVzVrWlhoUFppZ25MaWNwTzF4dUlDQWdJQ0FnSUNCcFppQW9hU0E4SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdrZ1BTQnVMbXhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdJQ0FnSUc0Z0t6MGdKeTRuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHeGxkQ0JrSUQwZ2JXbHVSbkpoWTNScGIyNUVhV2RwZEhNZ0xTQW9iaTVzWlc1bmRHZ2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaGtMUzBnUGlBd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnYmlBclBTQW5NQ2M3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdU8xeHVmVnh1WEc1bGVIQnZjblFnZXlCemRISnBibWRwWm5sT2RXMWlaWElnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJUWTJGc1lYSWdmU0JtY205dElDY3VMaTh1TGk5dWIyUmxjeTlUWTJGc1lYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ2MzUnlhVzVuYVdaNVRuVnRZbVZ5SUgwZ1puSnZiU0FuTGk0dkxpNHZjM1J5YVc1bmFXWjVMM04wY21sdVoybG1lVTUxYldKbGNpNXFjeWM3WEc1Y2JtTnZibk4wSUdac2IyRjBUbUZPSUQwZ2UxeHVJQ0FnSUdsa1pXNTBhV1o1T2lCMllXeDFaU0E5UGlCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkdWRXMWlaWEluTEZ4dUlDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnZEdGbk9pQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZabXh2WVhRbkxGeHVJQ0FnSUhSbGMzUTZJQzllS0Q4Nld5MHJYVDljWEM0b1B6cHBibVo4U1c1bWZFbE9SaWw4WEZ3dWJtRnVmRnhjTGs1aFRueGNYQzVPUVU0cEpDOHNYRzRnSUNBZ2NtVnpiMngyWlRvZ2MzUnlJRDArSUhOMGNpNXpiR2xqWlNndE15a3VkRzlNYjNkbGNrTmhjMlVvS1NBOVBUMGdKMjVoYmlkY2JpQWdJQ0FnSUNBZ1B5Qk9ZVTVjYmlBZ0lDQWdJQ0FnT2lCemRISmJNRjBnUFQwOUlDY3RKMXh1SUNBZ0lDQWdJQ0FnSUNBZ1B5Qk9kVzFpWlhJdVRrVkhRVlJKVmtWZlNVNUdTVTVKVkZsY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nVG5WdFltVnlMbEJQVTBsVVNWWkZYMGxPUmtsT1NWUlpMRnh1SUNBZ0lITjBjbWx1WjJsbWVUb2djM1J5YVc1bmFXWjVUblZ0WW1WeVhHNTlPMXh1WTI5dWMzUWdabXh2WVhSRmVIQWdQU0I3WEc0Z0lDQWdhV1JsYm5ScFpuazZJSFpoYkhWbElEMCtJSFI1Y0dWdlppQjJZV3gxWlNBOVBUMGdKMjUxYldKbGNpY3NYRzRnSUNBZ1pHVm1ZWFZzZERvZ2RISjFaU3hjYmlBZ0lDQjBZV2M2SUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwbWJHOWhkQ2NzWEc0Z0lDQWdabTl5YldGME9pQW5SVmhRSnl4Y2JpQWdJQ0IwWlhOME9pQXZYbHN0SzEwL0tEODZYRnd1V3pBdE9WMHJmRnN3TFRsZEt5Zy9PbHhjTGxzd0xUbGRLaWsvS1Z0bFJWMWJMU3RkUDFzd0xUbGRLeVF2TEZ4dUlDQWdJSEpsYzI5c2RtVTZJSE4wY2lBOVBpQndZWEp6WlVac2IyRjBLSE4wY2lrc1hHNGdJQ0FnYzNSeWFXNW5hV1o1S0c1dlpHVXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiblZ0SUQwZ1RuVnRZbVZ5S0c1dlpHVXVkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYTkdhVzVwZEdVb2JuVnRLU0EvSUc1MWJTNTBiMFY0Y0c5dVpXNTBhV0ZzS0NrZ09pQnpkSEpwYm1kcFpubE9kVzFpWlhJb2JtOWtaU2s3WEc0Z0lDQWdmVnh1ZlR0Y2JtTnZibk4wSUdac2IyRjBJRDBnZTF4dUlDQWdJR2xrWlc1MGFXWjVPaUIyWVd4MVpTQTlQaUIwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2R1ZFcxaVpYSW5MRnh1SUNBZ0lHUmxabUYxYkhRNklIUnlkV1VzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNlpteHZZWFFuTEZ4dUlDQWdJSFJsYzNRNklDOWVXeTByWFQ4b1B6cGNYQzViTUMwNVhTdDhXekF0T1YwclhGd3VXekF0T1YwcUtTUXZMRnh1SUNBZ0lISmxjMjlzZG1Vb2MzUnlLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzV2WkdVZ1BTQnVaWGNnVTJOaGJHRnlLSEJoY25ObFJteHZZWFFvYzNSeUtTazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHUnZkQ0E5SUhOMGNpNXBibVJsZUU5bUtDY3VKeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaGtiM1FnSVQwOUlDMHhJQ1ltSUhOMGNsdHpkSEl1YkdWdVozUm9JQzBnTVYwZ1BUMDlJQ2N3SnlsY2JpQWdJQ0FnSUNBZ0lDQWdJRzV2WkdVdWJXbHVSbkpoWTNScGIyNUVhV2RwZEhNZ1BTQnpkSEl1YkdWdVozUm9JQzBnWkc5MElDMGdNVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzV2WkdVN1hHNGdJQ0FnZlN4Y2JpQWdJQ0J6ZEhKcGJtZHBabms2SUhOMGNtbHVaMmxtZVU1MWJXSmxjbHh1ZlR0Y2JseHVaWGh3YjNKMElIc2dabXh2WVhRc0lHWnNiMkYwUlhod0xDQm1iRzloZEU1aFRpQjlPMXh1SWl3Z0ltbHRjRzl5ZENCN0lITjBjbWx1WjJsbWVVNTFiV0psY2lCOUlHWnliMjBnSnk0dUx5NHVMM04wY21sdVoybG1lUzl6ZEhKcGJtZHBabmxPZFcxaVpYSXVhbk1uTzF4dVhHNWpiMjV6ZENCcGJuUkpaR1Z1ZEdsbWVTQTlJQ2gyWVd4MVpTa2dQVDRnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuWW1sbmFXNTBKeUI4ZkNCT2RXMWlaWEl1YVhOSmJuUmxaMlZ5S0haaGJIVmxLVHRjYm1OdmJuTjBJR2x1ZEZKbGMyOXNkbVVnUFNBb2MzUnlMQ0J2Wm1aelpYUXNJSEpoWkdsNExDQjdJR2x1ZEVGelFtbG5TVzUwSUgwcElEMCtJQ2hwYm5SQmMwSnBaMGx1ZENBL0lFSnBaMGx1ZENoemRISXBJRG9nY0dGeWMyVkpiblFvYzNSeUxuTjFZbk4wY21sdVp5aHZabVp6WlhRcExDQnlZV1JwZUNrcE8xeHVablZ1WTNScGIyNGdhVzUwVTNSeWFXNW5hV1o1S0c1dlpHVXNJSEpoWkdsNExDQndjbVZtYVhncElIdGNiaUFnSUNCamIyNXpkQ0I3SUhaaGJIVmxJSDBnUFNCdWIyUmxPMXh1SUNBZ0lHbG1JQ2hwYm5SSlpHVnVkR2xtZVNoMllXeDFaU2tnSmlZZ2RtRnNkV1VnUGowZ01DbGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIQnlaV1pwZUNBcklIWmhiSFZsTG5SdlUzUnlhVzVuS0hKaFpHbDRLVHRjYmlBZ0lDQnlaWFIxY200Z2MzUnlhVzVuYVdaNVRuVnRZbVZ5S0c1dlpHVXBPMXh1ZlZ4dVkyOXVjM1FnYVc1MFQyTjBJRDBnZTF4dUlDQWdJR2xrWlc1MGFXWjVPaUIyWVd4MVpTQTlQaUJwYm5SSlpHVnVkR2xtZVNoMllXeDFaU2tnSmlZZ2RtRnNkV1VnUGowZ01DeGNiaUFnSUNCa1pXWmhkV3gwT2lCMGNuVmxMRnh1SUNBZ0lIUmhaem9nSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T21sdWRDY3NYRzRnSUNBZ1ptOXliV0YwT2lBblQwTlVKeXhjYmlBZ0lDQjBaWE4wT2lBdlhqQnZXekF0TjEwckpDOHNYRzRnSUNBZ2NtVnpiMngyWlRvZ0tITjBjaXdnWDI5dVJYSnliM0lzSUc5d2RDa2dQVDRnYVc1MFVtVnpiMngyWlNoemRISXNJRElzSURnc0lHOXdkQ2tzWEc0Z0lDQWdjM1J5YVc1bmFXWjVPaUJ1YjJSbElEMCtJR2x1ZEZOMGNtbHVaMmxtZVNodWIyUmxMQ0E0TENBbk1HOG5LVnh1ZlR0Y2JtTnZibk4wSUdsdWRDQTlJSHRjYmlBZ0lDQnBaR1Z1ZEdsbWVUb2dhVzUwU1dSbGJuUnBabmtzWEc0Z0lDQWdaR1ZtWVhWc2REb2dkSEoxWlN4Y2JpQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHBiblFuTEZ4dUlDQWdJSFJsYzNRNklDOWVXeTByWFQ5Yk1DMDVYU3NrTHl4Y2JpQWdJQ0J5WlhOdmJIWmxPaUFvYzNSeUxDQmZiMjVGY25KdmNpd2diM0IwS1NBOVBpQnBiblJTWlhOdmJIWmxLSE4wY2l3Z01Dd2dNVEFzSUc5d2RDa3NYRzRnSUNBZ2MzUnlhVzVuYVdaNU9pQnpkSEpwYm1kcFpubE9kVzFpWlhKY2JuMDdYRzVqYjI1emRDQnBiblJJWlhnZ1BTQjdYRzRnSUNBZ2FXUmxiblJwWm5rNklIWmhiSFZsSUQwK0lHbHVkRWxrWlc1MGFXWjVLSFpoYkhWbEtTQW1KaUIyWVd4MVpTQStQU0F3TEZ4dUlDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnZEdGbk9pQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZhVzUwSnl4Y2JpQWdJQ0JtYjNKdFlYUTZJQ2RJUlZnbkxGeHVJQ0FnSUhSbGMzUTZJQzllTUhoYk1DMDVZUzFtUVMxR1hTc2tMeXhjYmlBZ0lDQnlaWE52YkhabE9pQW9jM1J5TENCZmIyNUZjbkp2Y2l3Z2IzQjBLU0E5UGlCcGJuUlNaWE52YkhabEtITjBjaXdnTWl3Z01UWXNJRzl3ZENrc1hHNGdJQ0FnYzNSeWFXNW5hV1o1T2lCdWIyUmxJRDArSUdsdWRGTjBjbWx1WjJsbWVTaHViMlJsTENBeE5pd2dKekI0SnlsY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUdsdWRDd2dhVzUwU0dWNExDQnBiblJQWTNRZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCdFlYQWdmU0JtY205dElDY3VMaTlqYjIxdGIyNHZiV0Z3TG1wekp6dGNibWx0Y0c5eWRDQjdJRzUxYkd4VVlXY2dmU0JtY205dElDY3VMaTlqYjIxdGIyNHZiblZzYkM1cWN5YzdYRzVwYlhCdmNuUWdleUJ6WlhFZ2ZTQm1jbTl0SUNjdUxpOWpiMjF0YjI0dmMyVnhMbXB6Snp0Y2JtbHRjRzl5ZENCN0lITjBjbWx1WnlCOUlHWnliMjBnSnk0dUwyTnZiVzF2Ymk5emRISnBibWN1YW5Nbk8xeHVhVzF3YjNKMElIc2dZbTl2YkZSaFp5QjlJR1p5YjIwZ0p5NHZZbTl2YkM1cWN5YzdYRzVwYlhCdmNuUWdleUJtYkc5aGRFNWhUaXdnWm14dllYUkZlSEFzSUdac2IyRjBJSDBnWm5KdmJTQW5MaTltYkc5aGRDNXFjeWM3WEc1cGJYQnZjblFnZXlCcGJuUlBZM1FzSUdsdWRDd2dhVzUwU0dWNElIMGdabkp2YlNBbkxpOXBiblF1YW5Nbk8xeHVYRzVqYjI1emRDQnpZMmhsYldFZ1BTQmJYRzRnSUNBZ2JXRndMRnh1SUNBZ0lITmxjU3hjYmlBZ0lDQnpkSEpwYm1jc1hHNGdJQ0FnYm5Wc2JGUmhaeXhjYmlBZ0lDQmliMjlzVkdGbkxGeHVJQ0FnSUdsdWRFOWpkQ3hjYmlBZ0lDQnBiblFzWEc0Z0lDQWdhVzUwU0dWNExGeHVJQ0FnSUdac2IyRjBUbUZPTEZ4dUlDQWdJR1pzYjJGMFJYaHdMRnh1SUNBZ0lHWnNiMkYwWEc1ZE8xeHVYRzVsZUhCdmNuUWdleUJ6WTJobGJXRWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QlRZMkZzWVhJZ2ZTQm1jbTl0SUNjdUxpOHVMaTl1YjJSbGN5OVRZMkZzWVhJdWFuTW5PMXh1YVcxd2IzSjBJSHNnYldGd0lIMGdabkp2YlNBbkxpNHZZMjl0Ylc5dUwyMWhjQzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnpaWEVnZlNCbWNtOXRJQ2N1TGk5amIyMXRiMjR2YzJWeExtcHpKenRjYmx4dVpuVnVZM1JwYjI0Z2FXNTBTV1JsYm5ScFpua29kbUZzZFdVcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuWW1sbmFXNTBKeUI4ZkNCT2RXMWlaWEl1YVhOSmJuUmxaMlZ5S0haaGJIVmxLVHRjYm4xY2JtTnZibk4wSUhOMGNtbHVaMmxtZVVwVFQwNGdQU0FvZXlCMllXeDFaU0I5S1NBOVBpQktVMDlPTG5OMGNtbHVaMmxtZVNoMllXeDFaU2s3WEc1amIyNXpkQ0JxYzI5dVUyTmhiR0Z5Y3lBOUlGdGNiaUFnSUNCN1hHNGdJQ0FnSUNBZ0lHbGtaVzUwYVdaNU9pQjJZV3gxWlNBOVBpQjBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZHpkSEpwYm1jbkxGeHVJQ0FnSUNBZ0lDQmtaV1poZFd4ME9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNCMFlXYzZJQ2QwWVdjNmVXRnRiQzV2Y21jc01qQXdNanB6ZEhJbkxGeHVJQ0FnSUNBZ0lDQnlaWE52YkhabE9pQnpkSElnUFQ0Z2MzUnlMRnh1SUNBZ0lDQWdJQ0J6ZEhKcGJtZHBabms2SUhOMGNtbHVaMmxtZVVwVFQwNWNiaUFnSUNCOUxGeHVJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2FXUmxiblJwWm5rNklIWmhiSFZsSUQwK0lIWmhiSFZsSUQwOUlHNTFiR3dzWEc0Z0lDQWdJQ0FnSUdOeVpXRjBaVTV2WkdVNklDZ3BJRDArSUc1bGR5QlRZMkZzWVhJb2JuVnNiQ2tzWEc0Z0lDQWdJQ0FnSUdSbFptRjFiSFE2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJSFJoWnpvZ0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9tNTFiR3duTEZ4dUlDQWdJQ0FnSUNCMFpYTjBPaUF2WG01MWJHd2tMeXhjYmlBZ0lDQWdJQ0FnY21WemIyeDJaVG9nS0NrZ1BUNGdiblZzYkN4Y2JpQWdJQ0FnSUNBZ2MzUnlhVzVuYVdaNU9pQnpkSEpwYm1kcFpubEtVMDlPWEc0Z0lDQWdmU3hjYmlBZ0lDQjdYRzRnSUNBZ0lDQWdJR2xrWlc1MGFXWjVPaUIyWVd4MVpTQTlQaUIwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2RpYjI5c1pXRnVKeXhjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNlltOXZiQ2NzWEc0Z0lDQWdJQ0FnSUhSbGMzUTZJQzllZEhKMVpYeG1ZV3h6WlNRdkxGeHVJQ0FnSUNBZ0lDQnlaWE52YkhabE9pQnpkSElnUFQ0Z2MzUnlJRDA5UFNBbmRISjFaU2NzWEc0Z0lDQWdJQ0FnSUhOMGNtbHVaMmxtZVRvZ2MzUnlhVzVuYVdaNVNsTlBUbHh1SUNBZ0lIMHNYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnBaR1Z1ZEdsbWVUb2dhVzUwU1dSbGJuUnBabmtzWEc0Z0lDQWdJQ0FnSUdSbFptRjFiSFE2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJSFJoWnpvZ0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9tbHVkQ2NzWEc0Z0lDQWdJQ0FnSUhSbGMzUTZJQzllTFQ4b1B6b3dmRnN4TFRsZFd6QXRPVjBxS1NRdkxGeHVJQ0FnSUNBZ0lDQnlaWE52YkhabE9pQW9jM1J5TENCZmIyNUZjbkp2Y2l3Z2V5QnBiblJCYzBKcFowbHVkQ0I5S1NBOVBpQnBiblJCYzBKcFowbHVkQ0EvSUVKcFowbHVkQ2h6ZEhJcElEb2djR0Z5YzJWSmJuUW9jM1J5TENBeE1Da3NYRzRnSUNBZ0lDQWdJSE4wY21sdVoybG1lVG9nS0hzZ2RtRnNkV1VnZlNrZ1BUNGdhVzUwU1dSbGJuUnBabmtvZG1Gc2RXVXBJRDhnZG1Gc2RXVXVkRzlUZEhKcGJtY29LU0E2SUVwVFQwNHVjM1J5YVc1bmFXWjVLSFpoYkhWbEtWeHVJQ0FnSUgwc1hHNGdJQ0FnZTF4dUlDQWdJQ0FnSUNCcFpHVnVkR2xtZVRvZ2RtRnNkV1VnUFQ0Z2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBbmJuVnRZbVZ5Snl4Y2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZERvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnZEdGbk9pQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZabXh2WVhRbkxGeHVJQ0FnSUNBZ0lDQjBaWE4wT2lBdlhpMC9LRDg2TUh4Yk1TMDVYVnN3TFRsZEtpa29QenBjWEM1Yk1DMDVYU29wUHlnL09sdGxSVjFiTFN0ZFAxc3dMVGxkS3lrL0pDOHNYRzRnSUNBZ0lDQWdJSEpsYzI5c2RtVTZJSE4wY2lBOVBpQndZWEp6WlVac2IyRjBLSE4wY2lrc1hHNGdJQ0FnSUNBZ0lITjBjbWx1WjJsbWVUb2djM1J5YVc1bmFXWjVTbE5QVGx4dUlDQWdJSDFjYmwwN1hHNWpiMjV6ZENCcWMyOXVSWEp5YjNJZ1BTQjdYRzRnSUNBZ1pHVm1ZWFZzZERvZ2RISjFaU3hjYmlBZ0lDQjBZV2M2SUNjbkxGeHVJQ0FnSUhSbGMzUTZJQzllTHl4Y2JpQWdJQ0J5WlhOdmJIWmxLSE4wY2l3Z2IyNUZjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHQlZibkpsYzI5c2RtVmtJSEJzWVdsdUlITmpZV3hoY2lBa2UwcFRUMDR1YzNSeWFXNW5hV1o1S0hOMGNpbDlZQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6ZEhJN1hHNGdJQ0FnZlZ4dWZUdGNibU52Ym5OMElITmphR1Z0WVNBOUlGdHRZWEFzSUhObGNWMHVZMjl1WTJGMEtHcHpiMjVUWTJGc1lYSnpMQ0JxYzI5dVJYSnliM0lwTzF4dVhHNWxlSEJ2Y25RZ2V5QnpZMmhsYldFZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCVFkyRnNZWElnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5VFkyRnNZWEl1YW5Nbk8xeHVhVzF3YjNKMElIc2djM1J5YVc1bmFXWjVVM1J5YVc1bklIMGdabkp2YlNBbkxpNHZMaTR2YzNSeWFXNW5hV1o1TDNOMGNtbHVaMmxtZVZOMGNtbHVaeTVxY3ljN1hHNWNibU52Ym5OMElHSnBibUZ5ZVNBOUlIdGNiaUFnSUNCcFpHVnVkR2xtZVRvZ2RtRnNkV1VnUFQ0Z2RtRnNkV1VnYVc1emRHRnVZMlZ2WmlCVmFXNTBPRUZ5Y21GNUxDQXZMeUJDZFdabVpYSWdhVzVvWlhKcGRITWdabkp2YlNCVmFXNTBPRUZ5Y21GNVhHNGdJQ0FnWkdWbVlYVnNkRG9nWm1Gc2MyVXNYRzRnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2WW1sdVlYSjVKeXhjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJTWlhSMWNtNXpJR0VnUW5WbVptVnlJR2x1SUc1dlpHVWdZVzVrSUdGdUlGVnBiblE0UVhKeVlYa2dhVzRnWW5KdmQzTmxjbk5jYmlBZ0lDQWdLbHh1SUNBZ0lDQXFJRlJ2SUhWelpTQjBhR1VnY21WemRXeDBhVzVuSUdKMVptWmxjaUJoY3lCaGJpQnBiV0ZuWlN3Z2VXOTFKMnhzSUhkaGJuUWdkRzhnWkc4Z2MyOXRaWFJvYVc1bklHeHBhMlU2WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUFnSUdOdmJuTjBJR0pzYjJJZ1BTQnVaWGNnUW14dllpaGJZblZtWm1WeVhTd2dleUIwZVhCbE9pQW5hVzFoWjJVdmFuQmxaeWNnZlNsY2JpQWdJQ0FnS2lBZ0lHUnZZM1Z0Wlc1MExuRjFaWEo1VTJWc1pXTjBiM0lvSnlOd2FHOTBieWNwTG5OeVl5QTlJRlZTVEM1amNtVmhkR1ZQWW1wbFkzUlZVa3dvWW14dllpbGNiaUFnSUNBZ0tpOWNiaUFnSUNCeVpYTnZiSFpsS0hOeVl5d2diMjVGY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUVKMVptWmxjaUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVKMVptWmxjaTVtY205dEtITnlZeXdnSjJKaGMyVTJOQ2NwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCaGRHOWlJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QlBiaUJKUlNBeE1Td2dZWFJ2WWlncElHTmhiaWQwSUdoaGJtUnNaU0J1Wlhkc2FXNWxjMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYzNSeUlEMGdZWFJ2WWloemNtTXVjbVZ3YkdGalpTZ3ZXMXhjYmx4Y2NsMHZaeXdnSnljcEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR0oxWm1abGNpQTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtITjBjaTVzWlc1bmRHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnpkSEl1YkdWdVozUm9PeUFySzJrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luVm1abVZ5VzJsZElEMGdjM1J5TG1Ob1lYSkRiMlJsUVhRb2FTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWW5WbVptVnlPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2lnblZHaHBjeUJsYm5acGNtOXViV1Z1ZENCa2IyVnpJRzV2ZENCemRYQndiM0owSUhKbFlXUnBibWNnWW1sdVlYSjVJSFJoWjNNN0lHVnBkR2hsY2lCQ2RXWm1aWElnYjNJZ1lYUnZZaUJwY3lCeVpYRjFhWEpsWkNjcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE55WXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc1hHNGdJQ0FnYzNSeWFXNW5hV1o1S0hzZ1kyOXRiV1Z1ZEN3Z2RIbHdaU3dnZG1Gc2RXVWdmU3dnWTNSNExDQnZia052YlcxbGJuUXNJRzl1UTJodmJYQkxaV1Z3S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdKMVppQTlJSFpoYkhWbE95QXZMeUJqYUdWamEyVmtJR1ZoY214cFpYSWdZbmtnWW1sdVlYSjVMbWxrWlc1MGFXWjVLQ2xjYmlBZ0lDQWdJQ0FnYkdWMElITjBjanRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCQ2RXWm1aWElnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBjaUE5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5WbUlHbHVjM1JoYm1ObGIyWWdRblZtWm1WeVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnWW5WbUxuUnZVM1J5YVc1bktDZGlZWE5sTmpRbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SUVKMVptWmxjaTVtY205dEtHSjFaaTVpZFdabVpYSXBMblJ2VTNSeWFXNW5LQ2RpWVhObE5qUW5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoMGVYQmxiMllnWW5SdllTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElITWdQU0FuSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWW5WbUxteGxibWQwYURzZ0t5dHBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE1nS3owZ1UzUnlhVzVuTG1aeWIyMURhR0Z5UTI5a1pTaGlkV1piYVYwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlEMGdZblJ2WVNoektUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVkdocGN5QmxiblpwY205dWJXVnVkQ0JrYjJWeklHNXZkQ0J6ZFhCd2IzSjBJSGR5YVhScGJtY2dZbWx1WVhKNUlIUmhaM003SUdWcGRHaGxjaUJDZFdabVpYSWdiM0lnWW5SdllTQnBjeUJ5WlhGMWFYSmxaQ2NwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHbG1JQ2doZEhsd1pTbGNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVWdQU0JUWTJGc1lYSXVRa3hQUTB0ZlRFbFVSVkpCVER0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dVZ0lUMDlJRk5qWVd4aGNpNVJWVTlVUlY5RVQxVkNURVVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeHBibVZYYVdSMGFDQTlJRTFoZEdndWJXRjRLR04wZUM1dmNIUnBiMjV6TG14cGJtVlhhV1IwYUNBdElHTjBlQzVwYm1SbGJuUXViR1Z1WjNSb0xDQmpkSGd1YjNCMGFXOXVjeTV0YVc1RGIyNTBaVzUwVjJsa2RHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYmlBOUlFMWhkR2d1WTJWcGJDaHpkSEl1YkdWdVozUm9JQzhnYkdsdVpWZHBaSFJvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeHBibVZ6SUQwZ2JtVjNJRUZ5Y21GNUtHNHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREFzSUc4Z1BTQXdPeUJwSUR3Z2Jqc2dLeXRwTENCdklDczlJR3hwYm1WWGFXUjBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4cGJtVnpXMmxkSUQwZ2MzUnlMbk4xWW5OMGNpaHZMQ0JzYVc1bFYybGtkR2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJRDBnYkdsdVpYTXVhbTlwYmloMGVYQmxJRDA5UFNCVFkyRnNZWEl1UWt4UFEwdGZURWxVUlZKQlRDQS9JQ2RjWEc0bklEb2dKeUFuS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2MzUnlhVzVuYVdaNVUzUnlhVzVuS0hzZ1kyOXRiV1Z1ZEN3Z2RIbHdaU3dnZG1Gc2RXVTZJSE4wY2lCOUxDQmpkSGdzSUc5dVEyOXRiV1Z1ZEN3Z2IyNURhRzl0Y0V0bFpYQXBPMXh1SUNBZ0lIMWNibjA3WEc1Y2JtVjRjRzl5ZENCN0lHSnBibUZ5ZVNCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdselUyVnhMQ0JwYzFCaGFYSXNJR2x6VFdGd0lIMGdabkp2YlNBbkxpNHZMaTR2Ym05a1pYTXZhV1JsYm5ScGRIa3Vhbk1uTzF4dWFXMXdiM0owSUhzZ1VHRnBjaXdnWTNKbFlYUmxVR0ZwY2lCOUlHWnliMjBnSnk0dUx5NHVMMjV2WkdWekwxQmhhWEl1YW5Nbk8xeHVhVzF3YjNKMElIc2dVMk5oYkdGeUlIMGdabkp2YlNBbkxpNHZMaTR2Ym05a1pYTXZVMk5oYkdGeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUZsQlRVeFRaWEVnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5WlFVMU1VMlZ4TG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnY21WemIyeDJaVkJoYVhKektITmxjU3dnYjI1RmNuSnZjaWtnZTF4dUlDQWdJR2xtSUNocGMxTmxjU2h6WlhFcEtTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYzJWeExtbDBaVzF6TG14bGJtZDBhRHNnS3l0cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdhWFJsYlNBOUlITmxjUzVwZEdWdGMxdHBYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYzFCaGFYSW9hWFJsYlNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hwYzAxaGNDaHBkR1Z0S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwZEdWdExtbDBaVzF6TG14bGJtZDBhQ0ErSURFcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9KMFZoWTJnZ2NHRnBjaUJ0ZFhOMElHaGhkbVVnYVhSeklHOTNiaUJ6WlhGMVpXNWpaU0JwYm1ScFkyRjBiM0luS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J3WVdseUlEMGdhWFJsYlM1cGRHVnRjMXN3WFNCOGZDQnVaWGNnVUdGcGNpaHVaWGNnVTJOaGJHRnlLRzUxYkd3cEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhSbGJTNWpiMjF0Wlc1MFFtVm1iM0psS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQndZV2x5TG10bGVTNWpiMjF0Wlc1MFFtVm1iM0psSUQwZ2NHRnBjaTVyWlhrdVkyOXRiV1Z1ZEVKbFptOXlaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQeUJnSkh0cGRHVnRMbU52YlcxbGJuUkNaV1p2Y21WOVhGeHVKSHR3WVdseUxtdGxlUzVqYjIxdFpXNTBRbVZtYjNKbGZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2dhWFJsYlM1amIyMXRaVzUwUW1WbWIzSmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGRHVnRMbU52YlcxbGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWTI0Z1BTQndZV2x5TG5aaGJIVmxJRDgvSUhCaGFYSXVhMlY1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiaTVqYjIxdFpXNTBJRDBnWTI0dVkyOXRiV1Z1ZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUHlCZ0pIdHBkR1Z0TG1OdmJXMWxiblI5WEZ4dUpIdGpiaTVqYjIxdFpXNTBmV0JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nYVhSbGJTNWpiMjF0Wlc1ME8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkR1Z0SUQwZ2NHRnBjanRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUhObGNTNXBkR1Z0YzF0cFhTQTlJR2x6VUdGcGNpaHBkR1Z0S1NBL0lHbDBaVzBnT2lCdVpYY2dVR0ZwY2locGRHVnRLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUc5dVJYSnliM0lvSjBWNGNHVmpkR1ZrSUdFZ2MyVnhkV1Z1WTJVZ1ptOXlJSFJvYVhNZ2RHRm5KeWs3WEc0Z0lDQWdjbVYwZFhKdUlITmxjVHRjYm4xY2JtWjFibU4wYVc5dUlHTnlaV0YwWlZCaGFYSnpLSE5qYUdWdFlTd2dhWFJsY21GaWJHVXNJR04wZUNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnY21Wd2JHRmpaWElnZlNBOUlHTjBlRHRjYmlBZ0lDQmpiMjV6ZENCd1lXbHljeUE5SUc1bGR5QlpRVTFNVTJWeEtITmphR1Z0WVNrN1hHNGdJQ0FnY0dGcGNuTXVkR0ZuSUQwZ0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9uQmhhWEp6Snp0Y2JpQWdJQ0JzWlhRZ2FTQTlJREE3WEc0Z0lDQWdhV1lnS0dsMFpYSmhZbXhsSUNZbUlGTjViV0p2YkM1cGRHVnlZWFJ2Y2lCcGJpQlBZbXBsWTNRb2FYUmxjbUZpYkdVcEtWeHVJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnBkQ0J2WmlCcGRHVnlZV0pzWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCeVpYQnNZV05sY2lBOVBUMGdKMloxYm1OMGFXOXVKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZENBOUlISmxjR3hoWTJWeUxtTmhiR3dvYVhSbGNtRmliR1VzSUZOMGNtbHVaeWhwS3lzcExDQnBkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnNaWFFnYTJWNUxDQjJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLR2wwS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwZEM1c1pXNW5kR2dnUFQwOUlESXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2EyVjVJRDBnYVhSYk1GMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxJRDBnYVhSYk1WMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhnUlhod1pXTjBaV1FnVzJ0bGVTd2dkbUZzZFdWZElIUjFjR3hsT2lBa2UybDBmV0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FYUWdKaVlnYVhRZ2FXNXpkR0Z1WTJWdlppQlBZbXBsWTNRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb2FYUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYbHpMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JyWlhrZ1BTQnJaWGx6V3pCZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpTQTlJR2wwVzJ0bGVWMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0dCRmVIQmxZM1JsWkNCMGRYQnNaU0IzYVhSb0lHOXVaU0JyWlhrc0lHNXZkQ0FrZTJ0bGVYTXViR1Z1WjNSb2ZTQnJaWGx6WUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2EyVjVJRDBnYVhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQndZV2x5Y3k1cGRHVnRjeTV3ZFhOb0tHTnlaV0YwWlZCaGFYSW9hMlY1TENCMllXeDFaU3dnWTNSNEtTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NHRnBjbk03WEc1OVhHNWpiMjV6ZENCd1lXbHljeUE5SUh0Y2JpQWdJQ0JqYjJ4c1pXTjBhVzl1T2lBbmMyVnhKeXhjYmlBZ0lDQmtaV1poZFd4ME9pQm1ZV3h6WlN4Y2JpQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHdZV2x5Y3ljc1hHNGdJQ0FnY21WemIyeDJaVG9nY21WemIyeDJaVkJoYVhKekxGeHVJQ0FnSUdOeVpXRjBaVTV2WkdVNklHTnlaV0YwWlZCaGFYSnpYRzU5TzF4dVhHNWxlSEJ2Y25RZ2V5QmpjbVZoZEdWUVlXbHljeXdnY0dGcGNuTXNJSEpsYzI5c2RtVlFZV2x5Y3lCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdselUyTmhiR0Z5TENCcGMxQmhhWElnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUIwYjBwVElIMGdabkp2YlNBbkxpNHZMaTR2Ym05a1pYTXZkRzlLVXk1cWN5YzdYRzVwYlhCdmNuUWdleUJaUVUxTVRXRndJSDBnWm5KdmJTQW5MaTR2TGk0dmJtOWtaWE12V1VGTlRFMWhjQzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QlpRVTFNVTJWeElIMGdabkp2YlNBbkxpNHZMaTR2Ym05a1pYTXZXVUZOVEZObGNTNXFjeWM3WEc1cGJYQnZjblFnZXlCeVpYTnZiSFpsVUdGcGNuTXNJR055WldGMFpWQmhhWEp6SUgwZ1puSnZiU0FuTGk5d1lXbHljeTVxY3ljN1hHNWNibU5zWVhOeklGbEJUVXhQVFdGd0lHVjRkR1Z1WkhNZ1dVRk5URk5sY1NCN1hHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb0tTQjdYRzRnSUNBZ0lDQWdJSE4xY0dWeUtDazdYRzRnSUNBZ0lDQWdJSFJvYVhNdVlXUmtJRDBnV1VGTlRFMWhjQzV3Y205MGIzUjVjR1V1WVdSa0xtSnBibVFvZEdocGN5azdYRzRnSUNBZ0lDQWdJSFJvYVhNdVpHVnNaWFJsSUQwZ1dVRk5URTFoY0M1d2NtOTBiM1I1Y0dVdVpHVnNaWFJsTG1KcGJtUW9kR2hwY3lrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WjJWMElEMGdXVUZOVEUxaGNDNXdjbTkwYjNSNWNHVXVaMlYwTG1KcGJtUW9kR2hwY3lrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YUdGeklEMGdXVUZOVEUxaGNDNXdjbTkwYjNSNWNHVXVhR0Z6TG1KcGJtUW9kR2hwY3lrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YzJWMElEMGdXVUZOVEUxaGNDNXdjbTkwYjNSNWNHVXVjMlYwTG1KcGJtUW9kR2hwY3lrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZEdGbklEMGdXVUZOVEU5TllYQXVkR0ZuTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJKWmlCZ1kzUjRZQ0JwY3lCbmFYWmxiaXdnZEdobElISmxkSFZ5YmlCMGVYQmxJR2x6SUdGamRIVmhiR3g1SUdCTllYQThkVzVyYm05M2Jpd2dkVzVyYm05M2JqNWdMRnh1SUNBZ0lDQXFJR0oxZENCVWVYQmxVMk55YVhCMElIZHZiaWQwSUdGc2JHOTNJSGRwWkdWdWFXNW5JSFJvWlNCemFXZHVZWFIxY21VZ2IyWWdZU0JqYUdsc1pDQnRaWFJvYjJRdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnZEc5S1UwOU9LRjhzSUdOMGVDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXTjBlQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCemRYQmxjaTUwYjBwVFQwNG9YeWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFoY0NBOUlHNWxkeUJOWVhBb0tUdGNiaUFnSUNBZ0lDQWdhV1lnS0dOMGVEOHViMjVEY21WaGRHVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCamRIZ3ViMjVEY21WaGRHVW9iV0Z3S1R0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQndZV2x5SUc5bUlIUm9hWE11YVhSbGJYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0JyWlhrc0lIWmhiSFZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dselVHRnBjaWh3WVdseUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3RsZVNBOUlIUnZTbE1vY0dGcGNpNXJaWGtzSUNjbkxDQmpkSGdwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxJRDBnZEc5S1V5aHdZV2x5TG5aaGJIVmxMQ0JyWlhrc0lHTjBlQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JyWlhrZ1BTQjBiMHBUS0hCaGFYSXNJQ2NuTENCamRIZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHMWhjQzVvWVhNb2EyVjVLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMDl5WkdWeVpXUWdiV0Z3Y3lCdGRYTjBJRzV2ZENCcGJtTnNkV1JsSUdSMWNHeHBZMkYwWlNCclpYbHpKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnRZWEF1YzJWMEtHdGxlU3dnZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ0WVhBN1hHNGdJQ0FnZlZ4dUlDQWdJSE4wWVhScFl5Qm1jbTl0S0hOamFHVnRZU3dnYVhSbGNtRmliR1VzSUdOMGVDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQndZV2x5Y3lBOUlHTnlaV0YwWlZCaGFYSnpLSE5qYUdWdFlTd2dhWFJsY21GaWJHVXNJR04wZUNrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc5dFlYQWdQU0J1WlhjZ2RHaHBjeWdwTzF4dUlDQWdJQ0FnSUNCdmJXRndMbWwwWlcxeklEMGdjR0ZwY25NdWFYUmxiWE03WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ2YldGd08xeHVJQ0FnSUgxY2JuMWNibGxCVFV4UFRXRndMblJoWnlBOUlDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHZiV0Z3Snp0Y2JtTnZibk4wSUc5dFlYQWdQU0I3WEc0Z0lDQWdZMjlzYkdWamRHbHZiam9nSjNObGNTY3NYRzRnSUNBZ2FXUmxiblJwWm5rNklIWmhiSFZsSUQwK0lIWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1RXRndMRnh1SUNBZ0lHNXZaR1ZEYkdGemN6b2dXVUZOVEU5TllYQXNYRzRnSUNBZ1pHVm1ZWFZzZERvZ1ptRnNjMlVzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNmIyMWhjQ2NzWEc0Z0lDQWdjbVZ6YjJ4MlpTaHpaWEVzSUc5dVJYSnliM0lwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY0dGcGNuTWdQU0J5WlhOdmJIWmxVR0ZwY25Nb2MyVnhMQ0J2YmtWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjMlZsYmt0bGVYTWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQjdJR3RsZVNCOUlHOW1JSEJoYVhKekxtbDBaVzF6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FYTlRZMkZzWVhJb2EyVjVLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHpaV1Z1UzJWNWN5NXBibU5zZFdSbGN5aHJaWGt1ZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb1lFOXlaR1Z5WldRZ2JXRndjeUJ0ZFhOMElHNXZkQ0JwYm1Oc2RXUmxJR1IxY0d4cFkyRjBaU0JyWlhsek9pQWtlMnRsZVM1MllXeDFaWDFnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITmxaVzVMWlhsekxuQjFjMmdvYTJWNUxuWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUU5aWFtVmpkQzVoYzNOcFoyNG9ibVYzSUZsQlRVeFBUV0Z3S0Nrc0lIQmhhWEp6S1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJR055WldGMFpVNXZaR1U2SUNoelkyaGxiV0VzSUdsMFpYSmhZbXhsTENCamRIZ3BJRDArSUZsQlRVeFBUV0Z3TG1aeWIyMG9jMk5vWlcxaExDQnBkR1Z5WVdKc1pTd2dZM1I0S1Z4dWZUdGNibHh1Wlhod2IzSjBJSHNnV1VGTlRFOU5ZWEFzSUc5dFlYQWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QlRZMkZzWVhJZ2ZTQm1jbTl0SUNjdUxpOHVMaTl1YjJSbGN5OVRZMkZzWVhJdWFuTW5PMXh1WEc1bWRXNWpkR2x2YmlCaWIyOXNVM1J5YVc1bmFXWjVLSHNnZG1Gc2RXVXNJSE52ZFhKalpTQjlMQ0JqZEhncElIdGNiaUFnSUNCamIyNXpkQ0JpYjI5c1QySnFJRDBnZG1Gc2RXVWdQeUIwY25WbFZHRm5JRG9nWm1Gc2MyVlVZV2M3WEc0Z0lDQWdhV1lnS0hOdmRYSmpaU0FtSmlCaWIyOXNUMkpxTG5SbGMzUXVkR1Z6ZENoemIzVnlZMlVwS1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYzI5MWNtTmxPMXh1SUNBZ0lISmxkSFZ5YmlCMllXeDFaU0EvSUdOMGVDNXZjSFJwYjI1ekxuUnlkV1ZUZEhJZ09pQmpkSGd1YjNCMGFXOXVjeTVtWVd4elpWTjBjanRjYm4xY2JtTnZibk4wSUhSeWRXVlVZV2NnUFNCN1hHNGdJQ0FnYVdSbGJuUnBabms2SUhaaGJIVmxJRDArSUhaaGJIVmxJRDA5UFNCMGNuVmxMRnh1SUNBZ0lHUmxabUYxYkhRNklIUnlkV1VzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNlltOXZiQ2NzWEc0Z0lDQWdkR1Z6ZERvZ0wxNG9QenBaZkhsOFcxbDVYV1Z6ZkZsRlUzeGJWSFJkY25WbGZGUlNWVVY4VzA5dlhXNThUMDRwSkM4c1hHNGdJQ0FnY21WemIyeDJaVG9nS0NrZ1BUNGdibVYzSUZOallXeGhjaWgwY25WbEtTeGNiaUFnSUNCemRISnBibWRwWm5rNklHSnZiMnhUZEhKcGJtZHBabmxjYm4wN1hHNWpiMjV6ZENCbVlXeHpaVlJoWnlBOUlIdGNiaUFnSUNCcFpHVnVkR2xtZVRvZ2RtRnNkV1VnUFQ0Z2RtRnNkV1VnUFQwOUlHWmhiSE5sTEZ4dUlDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnZEdGbk9pQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZZbTl2YkNjc1hHNGdJQ0FnZEdWemREb2dMMTRvUHpwT2ZHNThXMDV1WFc5OFRrOThXMFptWFdGc2MyVjhSa0ZNVTBWOFcwOXZYV1ptZkU5R1Jpa2tMeXhjYmlBZ0lDQnlaWE52YkhabE9pQW9LU0E5UGlCdVpYY2dVMk5oYkdGeUtHWmhiSE5sS1N4Y2JpQWdJQ0J6ZEhKcGJtZHBabms2SUdKdmIyeFRkSEpwYm1kcFpubGNibjA3WEc1Y2JtVjRjRzl5ZENCN0lHWmhiSE5sVkdGbkxDQjBjblZsVkdGbklIMDdYRzRpTENBaWFXMXdiM0owSUhzZ1UyTmhiR0Z5SUgwZ1puSnZiU0FuTGk0dkxpNHZibTlrWlhNdlUyTmhiR0Z5TG1wekp6dGNibWx0Y0c5eWRDQjdJSE4wY21sdVoybG1lVTUxYldKbGNpQjlJR1p5YjIwZ0p5NHVMeTR1TDNOMGNtbHVaMmxtZVM5emRISnBibWRwWm5sT2RXMWlaWEl1YW5Nbk8xeHVYRzVqYjI1emRDQm1iRzloZEU1aFRpQTlJSHRjYmlBZ0lDQnBaR1Z1ZEdsbWVUb2dkbUZzZFdVZ1BUNGdkSGx3Wlc5bUlIWmhiSFZsSUQwOVBTQW5iblZ0WW1WeUp5eGNiaUFnSUNCa1pXWmhkV3gwT2lCMGNuVmxMRnh1SUNBZ0lIUmhaem9nSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T21ac2IyRjBKeXhjYmlBZ0lDQjBaWE4wT2lBdlhpZy9PbHN0SzEwL1hGd3VLRDg2YVc1bWZFbHVabnhKVGtZcGZGeGNMbTVoYm54Y1hDNU9ZVTU4WEZ3dVRrRk9LU1F2TEZ4dUlDQWdJSEpsYzI5c2RtVTZJQ2h6ZEhJcElEMCtJSE4wY2k1emJHbGpaU2d0TXlrdWRHOU1iM2RsY2tOaGMyVW9LU0E5UFQwZ0oyNWhiaWRjYmlBZ0lDQWdJQ0FnUHlCT1lVNWNiaUFnSUNBZ0lDQWdPaUJ6ZEhKYk1GMGdQVDA5SUNjdEoxeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlCT2RXMWlaWEl1VGtWSFFWUkpWa1ZmU1U1R1NVNUpWRmxjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dUblZ0WW1WeUxsQlBVMGxVU1ZaRlgwbE9Sa2xPU1ZSWkxGeHVJQ0FnSUhOMGNtbHVaMmxtZVRvZ2MzUnlhVzVuYVdaNVRuVnRZbVZ5WEc1OU8xeHVZMjl1YzNRZ1pteHZZWFJGZUhBZ1BTQjdYRzRnSUNBZ2FXUmxiblJwWm5rNklIWmhiSFZsSUQwK0lIUjVjR1Z2WmlCMllXeDFaU0E5UFQwZ0oyNTFiV0psY2ljc1hHNGdJQ0FnWkdWbVlYVnNkRG9nZEhKMVpTeGNiaUFnSUNCMFlXYzZJQ2QwWVdjNmVXRnRiQzV2Y21jc01qQXdNanBtYkc5aGRDY3NYRzRnSUNBZ1ptOXliV0YwT2lBblJWaFFKeXhjYmlBZ0lDQjBaWE4wT2lBdlhsc3RLMTAvS0Q4Nld6QXRPVjFiTUMwNVgxMHFLVDhvUHpwY1hDNWJNQzA1WDEwcUtUOWJaVVZkV3kwclhUOWJNQzA1WFNza0x5eGNiaUFnSUNCeVpYTnZiSFpsT2lBb2MzUnlLU0E5UGlCd1lYSnpaVVpzYjJGMEtITjBjaTV5WlhCc1lXTmxLQzlmTDJjc0lDY25LU2tzWEc0Z0lDQWdjM1J5YVc1bmFXWjVLRzV2WkdVcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JuVnRJRDBnVG5WdFltVnlLRzV2WkdVdWRtRnNkV1VwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhOR2FXNXBkR1VvYm5WdEtTQS9JRzUxYlM1MGIwVjRjRzl1Wlc1MGFXRnNLQ2tnT2lCemRISnBibWRwWm5sT2RXMWlaWElvYm05a1pTazdYRzRnSUNBZ2ZWeHVmVHRjYm1OdmJuTjBJR1pzYjJGMElEMGdlMXh1SUNBZ0lHbGtaVzUwYVdaNU9pQjJZV3gxWlNBOVBpQjBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZHVkVzFpWlhJbkxGeHVJQ0FnSUdSbFptRjFiSFE2SUhSeWRXVXNYRzRnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2Wm14dllYUW5MRnh1SUNBZ0lIUmxjM1E2SUM5ZVd5MHJYVDhvUHpwYk1DMDVYVnN3TFRsZlhTb3BQMXhjTGxzd0xUbGZYU29rTHl4Y2JpQWdJQ0J5WlhOdmJIWmxLSE4wY2lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnYm1WM0lGTmpZV3hoY2lod1lYSnpaVVpzYjJGMEtITjBjaTV5WlhCc1lXTmxLQzlmTDJjc0lDY25LU2twTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrYjNRZ1BTQnpkSEl1YVc1a1pYaFBaaWduTGljcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWkc5MElDRTlQU0F0TVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaaUE5SUhOMGNpNXpkV0p6ZEhKcGJtY29aRzkwSUNzZ01Ta3VjbVZ3YkdGalpTZ3ZYeTluTENBbkp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9abHRtTG14bGJtZDBhQ0F0SURGZElEMDlQU0FuTUNjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JtOWtaUzV0YVc1R2NtRmpkR2x2YmtScFoybDBjeUE5SUdZdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWIyUmxPMXh1SUNBZ0lIMHNYRzRnSUNBZ2MzUnlhVzVuYVdaNU9pQnpkSEpwYm1kcFpubE9kVzFpWlhKY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUdac2IyRjBMQ0JtYkc5aGRFVjRjQ3dnWm14dllYUk9ZVTRnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJ6ZEhKcGJtZHBabmxPZFcxaVpYSWdmU0JtY205dElDY3VMaTh1TGk5emRISnBibWRwWm5rdmMzUnlhVzVuYVdaNVRuVnRZbVZ5TG1wekp6dGNibHh1WTI5dWMzUWdhVzUwU1dSbGJuUnBabmtnUFNBb2RtRnNkV1VwSUQwK0lIUjVjR1Z2WmlCMllXeDFaU0E5UFQwZ0oySnBaMmx1ZENjZ2ZId2dUblZ0WW1WeUxtbHpTVzUwWldkbGNpaDJZV3gxWlNrN1hHNW1kVzVqZEdsdmJpQnBiblJTWlhOdmJIWmxLSE4wY2l3Z2IyWm1jMlYwTENCeVlXUnBlQ3dnZXlCcGJuUkJjMEpwWjBsdWRDQjlLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MybG5iaUE5SUhOMGNsc3dYVHRjYmlBZ0lDQnBaaUFvYzJsbmJpQTlQVDBnSnkwbklIeDhJSE5wWjI0Z1BUMDlJQ2NySnlsY2JpQWdJQ0FnSUNBZ2IyWm1jMlYwSUNzOUlERTdYRzRnSUNBZ2MzUnlJRDBnYzNSeUxuTjFZbk4wY21sdVp5aHZabVp6WlhRcExuSmxjR3hoWTJVb0wxOHZaeXdnSnljcE8xeHVJQ0FnSUdsbUlDaHBiblJCYzBKcFowbHVkQ2tnZTF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hKaFpHbDRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJRDBnWURCaUpIdHpkSEo5WUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnT0RwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRISWdQU0JnTUc4a2UzTjBjbjFnTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F4TmpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRISWdQU0JnTUhna2UzTjBjbjFnTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzRnUFNCQ2FXZEpiblFvYzNSeUtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITnBaMjRnUFQwOUlDY3RKeUEvSUVKcFowbHVkQ2d0TVNrZ0tpQnVJRG9nYmp0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2JpQTlJSEJoY25ObFNXNTBLSE4wY2l3Z2NtRmthWGdwTzF4dUlDQWdJSEpsZEhWeWJpQnphV2R1SUQwOVBTQW5MU2NnUHlBdE1TQXFJRzRnT2lCdU8xeHVmVnh1Wm5WdVkzUnBiMjRnYVc1MFUzUnlhVzVuYVdaNUtHNXZaR1VzSUhKaFpHbDRMQ0J3Y21WbWFYZ3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lIWmhiSFZsSUgwZ1BTQnViMlJsTzF4dUlDQWdJR2xtSUNocGJuUkpaR1Z1ZEdsbWVTaDJZV3gxWlNrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MzUnlJRDBnZG1Gc2RXVXVkRzlUZEhKcGJtY29jbUZrYVhncE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RtRnNkV1VnUENBd0lEOGdKeTBuSUNzZ2NISmxabWw0SUNzZ2MzUnlMbk4xWW5OMGNpZ3hLU0E2SUhCeVpXWnBlQ0FySUhOMGNqdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSE4wY21sdVoybG1lVTUxYldKbGNpaHViMlJsS1R0Y2JuMWNibU52Ym5OMElHbHVkRUpwYmlBOUlIdGNiaUFnSUNCcFpHVnVkR2xtZVRvZ2FXNTBTV1JsYm5ScFpua3NYRzRnSUNBZ1pHVm1ZWFZzZERvZ2RISjFaU3hjYmlBZ0lDQjBZV2M2SUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwcGJuUW5MRnh1SUNBZ0lHWnZjbTFoZERvZ0owSkpUaWNzWEc0Z0lDQWdkR1Z6ZERvZ0wxNWJMU3RkUHpCaVd6QXRNVjlkS3lRdkxGeHVJQ0FnSUhKbGMyOXNkbVU2SUNoemRISXNJRjl2YmtWeWNtOXlMQ0J2Y0hRcElEMCtJR2x1ZEZKbGMyOXNkbVVvYzNSeUxDQXlMQ0F5TENCdmNIUXBMRnh1SUNBZ0lITjBjbWx1WjJsbWVUb2dibTlrWlNBOVBpQnBiblJUZEhKcGJtZHBabmtvYm05a1pTd2dNaXdnSnpCaUp5bGNibjA3WEc1amIyNXpkQ0JwYm5SUFkzUWdQU0I3WEc0Z0lDQWdhV1JsYm5ScFpuazZJR2x1ZEVsa1pXNTBhV1o1TEZ4dUlDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnZEdGbk9pQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZhVzUwSnl4Y2JpQWdJQ0JtYjNKdFlYUTZJQ2RQUTFRbkxGeHVJQ0FnSUhSbGMzUTZJQzllV3kwclhUOHdXekF0TjE5ZEt5UXZMRnh1SUNBZ0lISmxjMjlzZG1VNklDaHpkSElzSUY5dmJrVnljbTl5TENCdmNIUXBJRDArSUdsdWRGSmxjMjlzZG1Vb2MzUnlMQ0F4TENBNExDQnZjSFFwTEZ4dUlDQWdJSE4wY21sdVoybG1lVG9nYm05a1pTQTlQaUJwYm5SVGRISnBibWRwWm5rb2JtOWtaU3dnT0N3Z0p6QW5LVnh1ZlR0Y2JtTnZibk4wSUdsdWRDQTlJSHRjYmlBZ0lDQnBaR1Z1ZEdsbWVUb2dhVzUwU1dSbGJuUnBabmtzWEc0Z0lDQWdaR1ZtWVhWc2REb2dkSEoxWlN4Y2JpQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHBiblFuTEZ4dUlDQWdJSFJsYzNRNklDOWVXeTByWFQ5Yk1DMDVYVnN3TFRsZlhTb2tMeXhjYmlBZ0lDQnlaWE52YkhabE9pQW9jM1J5TENCZmIyNUZjbkp2Y2l3Z2IzQjBLU0E5UGlCcGJuUlNaWE52YkhabEtITjBjaXdnTUN3Z01UQXNJRzl3ZENrc1hHNGdJQ0FnYzNSeWFXNW5hV1o1T2lCemRISnBibWRwWm5sT2RXMWlaWEpjYm4wN1hHNWpiMjV6ZENCcGJuUklaWGdnUFNCN1hHNGdJQ0FnYVdSbGJuUnBabms2SUdsdWRFbGtaVzUwYVdaNUxGeHVJQ0FnSUdSbFptRjFiSFE2SUhSeWRXVXNYRzRnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2YVc1MEp5eGNiaUFnSUNCbWIzSnRZWFE2SUNkSVJWZ25MRnh1SUNBZ0lIUmxjM1E2SUM5ZVd5MHJYVDh3ZUZzd0xUbGhMV1pCTFVaZlhTc2tMeXhjYmlBZ0lDQnlaWE52YkhabE9pQW9jM1J5TENCZmIyNUZjbkp2Y2l3Z2IzQjBLU0E5UGlCcGJuUlNaWE52YkhabEtITjBjaXdnTWl3Z01UWXNJRzl3ZENrc1hHNGdJQ0FnYzNSeWFXNW5hV1o1T2lCdWIyUmxJRDArSUdsdWRGTjBjbWx1WjJsbWVTaHViMlJsTENBeE5pd2dKekI0SnlsY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUdsdWRDd2dhVzUwUW1sdUxDQnBiblJJWlhnc0lHbHVkRTlqZENCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdselRXRndMQ0JwYzFCaGFYSXNJR2x6VTJOaGJHRnlJSDBnWm5KdmJTQW5MaTR2TGk0dmJtOWtaWE12YVdSbGJuUnBkSGt1YW5Nbk8xeHVhVzF3YjNKMElIc2dVR0ZwY2l3Z1kzSmxZWFJsVUdGcGNpQjlJR1p5YjIwZ0p5NHVMeTR1TDI1dlpHVnpMMUJoYVhJdWFuTW5PMXh1YVcxd2IzSjBJSHNnV1VGTlRFMWhjQ3dnWm1sdVpGQmhhWElnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5WlFVMU1UV0Z3TG1wekp6dGNibHh1WTJ4aGMzTWdXVUZOVEZObGRDQmxlSFJsYm1SeklGbEJUVXhOWVhBZ2UxeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtITmphR1Z0WVNrZ2UxeHVJQ0FnSUNBZ0lDQnpkWEJsY2loelkyaGxiV0VwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMblJoWnlBOUlGbEJUVXhUWlhRdWRHRm5PMXh1SUNBZ0lIMWNiaUFnSUNCaFpHUW9hMlY1S1NCN1hHNGdJQ0FnSUNBZ0lHeGxkQ0J3WVdseU8xeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOUVlXbHlLR3RsZVNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J3WVdseUlEMGdhMlY1TzF4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoclpYa2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1Z2WmlCclpYa2dQVDA5SUNkdlltcGxZM1FuSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FuYTJWNUp5QnBiaUJyWlhrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNkMllXeDFaU2NnYVc0Z2EyVjVJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQnJaWGt1ZG1Gc2RXVWdQVDA5SUc1MWJHd3BYRzRnSUNBZ0lDQWdJQ0FnSUNCd1lXbHlJRDBnYm1WM0lGQmhhWElvYTJWNUxtdGxlU3dnYm5Wc2JDazdYRzRnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJSEJoYVhJZ1BTQnVaWGNnVUdGcGNpaHJaWGtzSUc1MWJHd3BPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQndjbVYySUQwZ1ptbHVaRkJoYVhJb2RHaHBjeTVwZEdWdGN5d2djR0ZwY2k1clpYa3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb0lYQnlaWFlwWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1sMFpXMXpMbkIxYzJnb2NHRnBjaWs3WEc0Z0lDQWdmVnh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRWxtSUdCclpXVndVR0ZwY21BZ2FYTWdZSFJ5ZFdWZ0xDQnlaWFIxY201eklIUm9aU0JRWVdseUlHMWhkR05vYVc1bklHQnJaWGxnTGx4dUlDQWdJQ0FxSUU5MGFHVnlkMmx6WlN3Z2NtVjBkWEp1Y3lCMGFHVWdkbUZzZFdVZ2IyWWdkR2hoZENCUVlXbHlKM01nYTJWNUxseHVJQ0FnSUNBcUwxeHVJQ0FnSUdkbGRDaHJaWGtzSUd0bFpYQlFZV2x5S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhCaGFYSWdQU0JtYVc1a1VHRnBjaWgwYUdsekxtbDBaVzF6TENCclpYa3BPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdJV3RsWlhCUVlXbHlJQ1ltSUdselVHRnBjaWh3WVdseUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlCcGMxTmpZV3hoY2lod1lXbHlMbXRsZVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lIQmhhWEl1YTJWNUxuWmhiSFZsWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCd1lXbHlMbXRsZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdPaUJ3WVdseU8xeHVJQ0FnSUgxY2JpQWdJQ0J6WlhRb2EyVjVMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhaaGJIVmxJQ0U5UFNBblltOXZiR1ZoYmljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRVY0Y0dWamRHVmtJR0p2YjJ4bFlXNGdkbUZzZFdVZ1ptOXlJSE5sZENoclpYa3NJSFpoYkhWbEtTQnBiaUJoSUZsQlRVd2djMlYwTENCdWIzUWdKSHQwZVhCbGIyWWdkbUZzZFdWOVlDazdYRzRnSUNBZ0lDQWdJR052Ym5OMElIQnlaWFlnUFNCbWFXNWtVR0ZwY2loMGFHbHpMbWwwWlcxekxDQnJaWGtwTzF4dUlDQWdJQ0FnSUNCcFppQW9jSEpsZGlBbUppQWhkbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVhWFJsYlhNdWMzQnNhV05sS0hSb2FYTXVhWFJsYlhNdWFXNWtaWGhQWmlod2NtVjJLU3dnTVNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9JWEJ5WlhZZ0ppWWdkbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVhWFJsYlhNdWNIVnphQ2h1WlhjZ1VHRnBjaWhyWlhrcEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCMGIwcFRUMDRvWHl3Z1kzUjRLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6ZFhCbGNpNTBiMHBUVDA0b1h5d2dZM1I0TENCVFpYUXBPMXh1SUNBZ0lIMWNiaUFnSUNCMGIxTjBjbWx1WnloamRIZ3NJRzl1UTI5dGJXVnVkQ3dnYjI1RGFHOXRjRXRsWlhBcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0NGamRIZ3BYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnU2xOUFRpNXpkSEpwYm1kcFpua29kR2hwY3lrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtaGhjMEZzYkU1MWJHeFdZV3gxWlhNb2RISjFaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2MzVndaWEl1ZEc5VGRISnBibWNvVDJKcVpXTjBMbUZ6YzJsbmJpaDdmU3dnWTNSNExDQjdJR0ZzYkU1MWJHeFdZV3gxWlhNNklIUnlkV1VnZlNrc0lHOXVRMjl0YldWdWRDd2diMjVEYUc5dGNFdGxaWEFwTzF4dUlDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFObGRDQnBkR1Z0Y3lCdGRYTjBJR0ZzYkNCb1lYWmxJRzUxYkd3Z2RtRnNkV1Z6SnlrN1hHNGdJQ0FnZlZ4dUlDQWdJSE4wWVhScFl5Qm1jbTl0S0hOamFHVnRZU3dnYVhSbGNtRmliR1VzSUdOMGVDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjdJSEpsY0d4aFkyVnlJSDBnUFNCamRIZzdYRzRnSUNBZ0lDQWdJR052Ym5OMElITmxkQ0E5SUc1bGR5QjBhR2x6S0hOamFHVnRZU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBkR1Z5WVdKc1pTQW1KaUJUZVcxaWIyd3VhWFJsY21GMGIzSWdhVzRnVDJKcVpXTjBLR2wwWlhKaFlteGxLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElIWmhiSFZsSUc5bUlHbDBaWEpoWW14bEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhCc1lXTmxjaUE5UFQwZ0oyWjFibU4wYVc5dUp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVWdQU0J5WlhCc1lXTmxjaTVqWVd4c0tHbDBaWEpoWW14bExDQjJZV3gxWlN3Z2RtRnNkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhObGRDNXBkR1Z0Y3k1d2RYTm9LR055WldGMFpWQmhhWElvZG1Gc2RXVXNJRzUxYkd3c0lHTjBlQ2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjMlYwTzF4dUlDQWdJSDFjYm4xY2JsbEJUVXhUWlhRdWRHRm5JRDBnSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T25ObGRDYzdYRzVqYjI1emRDQnpaWFFnUFNCN1hHNGdJQ0FnWTI5c2JHVmpkR2x2YmpvZ0oyMWhjQ2NzWEc0Z0lDQWdhV1JsYm5ScFpuazZJSFpoYkhWbElEMCtJSFpoYkhWbElHbHVjM1JoYm1ObGIyWWdVMlYwTEZ4dUlDQWdJRzV2WkdWRGJHRnpjem9nV1VGTlRGTmxkQ3hjYmlBZ0lDQmtaV1poZFd4ME9pQm1ZV3h6WlN4Y2JpQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHpaWFFuTEZ4dUlDQWdJR055WldGMFpVNXZaR1U2SUNoelkyaGxiV0VzSUdsMFpYSmhZbXhsTENCamRIZ3BJRDArSUZsQlRVeFRaWFF1Wm5KdmJTaHpZMmhsYldFc0lHbDBaWEpoWW14bExDQmpkSGdwTEZ4dUlDQWdJSEpsYzI5c2RtVW9iV0Z3TENCdmJrVnljbTl5S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzAxaGNDaHRZWEFwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JXRndMbWhoYzBGc2JFNTFiR3hXWVd4MVpYTW9kSEoxWlNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUU5aWFtVmpkQzVoYzNOcFoyNG9ibVYzSUZsQlRVeFRaWFFvS1N3Z2JXRndLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLQ2RUWlhRZ2FYUmxiWE1nYlhWemRDQmhiR3dnYUdGMlpTQnVkV3hzSUhaaGJIVmxjeWNwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb0owVjRjR1ZqZEdWa0lHRWdiV0Z3Y0dsdVp5Qm1iM0lnZEdocGN5QjBZV2NuS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGNEdGNiaUFnSUNCOVhHNTlPMXh1WEc1bGVIQnZjblFnZXlCWlFVMU1VMlYwTENCelpYUWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QnpkSEpwYm1kcFpubE9kVzFpWlhJZ2ZTQm1jbTl0SUNjdUxpOHVMaTl6ZEhKcGJtZHBabmt2YzNSeWFXNW5hV1o1VG5WdFltVnlMbXB6Snp0Y2JseHVMeW9xSUVsdWRHVnlibUZzSUhSNWNHVnpJR2hoYm1Sc1pTQmlhV2RwYm5RZ1lYTWdiblZ0WW1WeUxDQmlaV05oZFhObElGUlRJR05oYmlkMElHWnBaM1Z5WlNCcGRDQnZkWFF1SUNvdlhHNW1kVzVqZEdsdmJpQndZWEp6WlZObGVHRm5aWE5wYldGc0tITjBjaXdnWVhOQ2FXZEpiblFwSUh0Y2JpQWdJQ0JqYjI1emRDQnphV2R1SUQwZ2MzUnlXekJkTzF4dUlDQWdJR052Ym5OMElIQmhjblJ6SUQwZ2MybG5iaUE5UFQwZ0p5MG5JSHg4SUhOcFoyNGdQVDA5SUNjckp5QS9JSE4wY2k1emRXSnpkSEpwYm1jb01Ta2dPaUJ6ZEhJN1hHNGdJQ0FnWTI5dWMzUWdiblZ0SUQwZ0tHNHBJRDArSUdGelFtbG5TVzUwSUQ4Z1FtbG5TVzUwS0c0cElEb2dUblZ0WW1WeUtHNHBPMXh1SUNBZ0lHTnZibk4wSUhKbGN5QTlJSEJoY25SelhHNGdJQ0FnSUNBZ0lDNXlaWEJzWVdObEtDOWZMMmNzSUNjbktWeHVJQ0FnSUNBZ0lDQXVjM0JzYVhRb0p6b25LVnh1SUNBZ0lDQWdJQ0F1Y21Wa2RXTmxLQ2h5WlhNc0lIQXBJRDArSUhKbGN5QXFJRzUxYlNnMk1Da2dLeUJ1ZFcwb2NDa3NJRzUxYlNnd0tTazdYRzRnSUNBZ2NtVjBkWEp1SUNoemFXZHVJRDA5UFNBbkxTY2dQeUJ1ZFcwb0xURXBJQ29nY21WeklEb2djbVZ6S1R0Y2JuMWNiaThxS2x4dUlDb2dhR2hvYURwdGJUcHpjeTV6YzNOY2JpQXFYRzRnS2lCSmJuUmxjbTVoYkNCMGVYQmxjeUJvWVc1a2JHVWdZbWxuYVc1MElHRnpJRzUxYldKbGNpd2dZbVZqWVhWelpTQlVVeUJqWVc0bmRDQm1hV2QxY21VZ2FYUWdiM1YwTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJ6ZEhKcGJtZHBabmxUWlhoaFoyVnphVzFoYkNodWIyUmxLU0I3WEc0Z0lDQWdiR1YwSUhzZ2RtRnNkV1VnZlNBOUlHNXZaR1U3WEc0Z0lDQWdiR1YwSUc1MWJTQTlJQ2h1S1NBOVBpQnVPMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2RpYVdkcGJuUW5LVnh1SUNBZ0lDQWdJQ0J1ZFcwZ1BTQnVJRDArSUVKcFowbHVkQ2h1S1R0Y2JpQWdJQ0JsYkhObElHbG1JQ2hwYzA1aFRpaDJZV3gxWlNrZ2ZId2dJV2x6Um1sdWFYUmxLSFpoYkhWbEtTbGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITjBjbWx1WjJsbWVVNTFiV0psY2lodWIyUmxLVHRjYmlBZ0lDQnNaWFFnYzJsbmJpQTlJQ2NuTzF4dUlDQWdJR2xtSUNoMllXeDFaU0E4SURBcElIdGNiaUFnSUNBZ0lDQWdjMmxuYmlBOUlDY3RKenRjYmlBZ0lDQWdJQ0FnZG1Gc2RXVWdLajBnYm5WdEtDMHhLVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnWHpZd0lEMGdiblZ0S0RZd0tUdGNiaUFnSUNCamIyNXpkQ0J3WVhKMGN5QTlJRnQyWVd4MVpTQWxJRjgyTUYwN0lDOHZJSE5sWTI5dVpITXNJR2x1WTJ4MVpHbHVaeUJ0YzF4dUlDQWdJR2xtSUNoMllXeDFaU0E4SURZd0tTQjdYRzRnSUNBZ0lDQWdJSEJoY25SekxuVnVjMmhwWm5Rb01DazdJQzh2SUdGMElHeGxZWE4wSUc5dVpTQTZJR2x6SUhKbGNYVnBjbVZrWEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMllXeDFaU0E5SUNoMllXeDFaU0F0SUhCaGNuUnpXekJkS1NBdklGODJNRHRjYmlBZ0lDQWdJQ0FnY0dGeWRITXVkVzV6YUdsbWRDaDJZV3gxWlNBbElGODJNQ2s3SUM4dklHMXBiblYwWlhOY2JpQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElENDlJRFl3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpTQTlJQ2gyWVd4MVpTQXRJSEJoY25Seld6QmRLU0F2SUY4Mk1EdGNiaUFnSUNBZ0lDQWdJQ0FnSUhCaGNuUnpMblZ1YzJocFpuUW9kbUZzZFdVcE95QXZMeUJvYjNWeWMxeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUFvYzJsbmJpQXJYRzRnSUNBZ0lDQWdJSEJoY25SelhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tHNGdQVDRnVTNSeWFXNW5LRzRwTG5CaFpGTjBZWEowS0RJc0lDY3dKeWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVhbTlwYmlnbk9pY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBdWNtVndiR0ZqWlNndk1EQXdNREF3WEZ4a0tpUXZMQ0FuSnlrZ0x5OGdKU0EyTUNCdFlYa2dhVzUwY205a2RXTmxJR1Z5Y205eVhHNGdJQ0FnS1R0Y2JuMWNibU52Ym5OMElHbHVkRlJwYldVZ1BTQjdYRzRnSUNBZ2FXUmxiblJwWm5rNklIWmhiSFZsSUQwK0lIUjVjR1Z2WmlCMllXeDFaU0E5UFQwZ0oySnBaMmx1ZENjZ2ZId2dUblZ0WW1WeUxtbHpTVzUwWldkbGNpaDJZV3gxWlNrc1hHNGdJQ0FnWkdWbVlYVnNkRG9nZEhKMVpTeGNiaUFnSUNCMFlXYzZJQ2QwWVdjNmVXRnRiQzV2Y21jc01qQXdNanBwYm5RbkxGeHVJQ0FnSUdadmNtMWhkRG9nSjFSSlRVVW5MRnh1SUNBZ0lIUmxjM1E2SUM5ZVd5MHJYVDliTUMwNVhWc3dMVGxmWFNvb1B6bzZXekF0TlYwL1d6QXRPVjBwS3lRdkxGeHVJQ0FnSUhKbGMyOXNkbVU2SUNoemRISXNJRjl2YmtWeWNtOXlMQ0I3SUdsdWRFRnpRbWxuU1c1MElIMHBJRDArSUhCaGNuTmxVMlY0WVdkbGMybHRZV3dvYzNSeUxDQnBiblJCYzBKcFowbHVkQ2tzWEc0Z0lDQWdjM1J5YVc1bmFXWjVPaUJ6ZEhKcGJtZHBabmxUWlhoaFoyVnphVzFoYkZ4dWZUdGNibU52Ym5OMElHWnNiMkYwVkdsdFpTQTlJSHRjYmlBZ0lDQnBaR1Z1ZEdsbWVUb2dkbUZzZFdVZ1BUNGdkSGx3Wlc5bUlIWmhiSFZsSUQwOVBTQW5iblZ0WW1WeUp5eGNiaUFnSUNCa1pXWmhkV3gwT2lCMGNuVmxMRnh1SUNBZ0lIUmhaem9nSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T21ac2IyRjBKeXhjYmlBZ0lDQm1iM0p0WVhRNklDZFVTVTFGSnl4Y2JpQWdJQ0IwWlhOME9pQXZYbHN0SzEwL1d6QXRPVjFiTUMwNVgxMHFLRDg2T2xzd0xUVmRQMXN3TFRsZEtTdGNYQzViTUMwNVgxMHFKQzhzWEc0Z0lDQWdjbVZ6YjJ4MlpUb2djM1J5SUQwK0lIQmhjbk5sVTJWNFlXZGxjMmx0WVd3b2MzUnlMQ0JtWVd4elpTa3NYRzRnSUNBZ2MzUnlhVzVuYVdaNU9pQnpkSEpwYm1kcFpubFRaWGhoWjJWemFXMWhiRnh1ZlR0Y2JtTnZibk4wSUhScGJXVnpkR0Z0Y0NBOUlIdGNiaUFnSUNCcFpHVnVkR2xtZVRvZ2RtRnNkV1VnUFQ0Z2RtRnNkV1VnYVc1emRHRnVZMlZ2WmlCRVlYUmxMRnh1SUNBZ0lHUmxabUYxYkhRNklIUnlkV1VzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNmRHbHRaWE4wWVcxd0p5eGNiaUFnSUNBdkx5QkpaaUIwYUdVZ2RHbHRaU0I2YjI1bElHbHpJRzl0YVhSMFpXUXNJSFJvWlNCMGFXMWxjM1JoYlhBZ2FYTWdZWE56ZFcxbFpDQjBieUJpWlNCemNHVmphV1pwWldRZ2FXNGdWVlJETGlCVWFHVWdkR2x0WlNCd1lYSjBYRzRnSUNBZ0x5OGdiV0Y1SUdKbElHOXRhWFIwWldRZ1lXeDBiMmRsZEdobGNpd2djbVZ6ZFd4MGFXNW5JR2x1SUdFZ1pHRjBaU0JtYjNKdFlYUXVJRWx1SUhOMVkyZ2dZU0JqWVhObExDQjBhR1VnZEdsdFpTQndZWEowSUdselhHNGdJQ0FnTHk4Z1lYTnpkVzFsWkNCMGJ5QmlaU0F3TURvd01Eb3dNRm9nS0hOMFlYSjBJRzltSUdSaGVTd2dWVlJES1M1Y2JpQWdJQ0IwWlhOME9pQlNaV2RGZUhBb0oxNG9XekF0T1YxN05IMHBMU2hiTUMwNVhYc3hMREo5S1Mwb1d6QXRPVjE3TVN3eWZTa25JQ3NnTHk4Z1dWbFpXUzFOYlMxRVpGeHVJQ0FnSUNBZ0lDQW5LRDg2SnlBcklDOHZJSFJwYldVZ2FYTWdiM0IwYVc5dVlXeGNiaUFnSUNBZ0lDQWdKeWcvT25SOFZIeGJJRnhjWEZ4MFhTc3BKeUFySUM4dklIUWdmQ0JVSUh3Z2QyaHBkR1Z6Y0dGalpWeHVJQ0FnSUNBZ0lDQW5LRnN3TFRsZGV6RXNNbjBwT2loYk1DMDVYWHN4TERKOUtUb29XekF0T1YxN01Td3lmU2hjWEZ4Y0xsc3dMVGxkS3lrL0tTY2dLeUF2THlCSWFEcE5iVHBUY3lndWMzTXBQMXh1SUNBZ0lDQWdJQ0FuS0Q4Nld5QmNYRnhjZEYwcUtGcDhXeTByWFZzd01USmRQMXN3TFRsZEtEODZPbHN3TFRsZGV6SjlLVDhwS1Q4bklDc2dMeThnV2lCOElDczFJSHdnTFRBek9qTXdYRzRnSUNBZ0lDQWdJQ2NwUHlRbktTeGNiaUFnSUNCeVpYTnZiSFpsS0hOMGNpa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRZWFJqYUNBOUlITjBjaTV0WVhSamFDaDBhVzFsYzNSaGJYQXVkR1Z6ZENrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doYldGMFkyZ3BYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSnlFaGRHbHRaWE4wWVcxd0lHVjRjR1ZqZEhNZ1lTQmtZWFJsTENCemRHRnlkR2x1WnlCM2FYUm9JSGw1ZVhrdGJXMHRaR1FuS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnV3l3Z2VXVmhjaXdnYlc5dWRHZ3NJR1JoZVN3Z2FHOTFjaXdnYldsdWRYUmxMQ0J6WldOdmJtUmRJRDBnYldGMFkyZ3ViV0Z3S0U1MWJXSmxjaWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFwYkd4cGMyVmpJRDBnYldGMFkyaGJOMTBnUHlCT2RXMWlaWElvS0cxaGRHTm9XemRkSUNzZ0p6QXdKeWt1YzNWaWMzUnlLREVzSURNcEtTQTZJREE3WEc0Z0lDQWdJQ0FnSUd4bGRDQmtZWFJsSUQwZ1JHRjBaUzVWVkVNb2VXVmhjaXdnYlc5dWRHZ2dMU0F4TENCa1lYa3NJR2h2ZFhJZ2ZId2dNQ3dnYldsdWRYUmxJSHg4SURBc0lITmxZMjl1WkNCOGZDQXdMQ0J0YVd4c2FYTmxZeWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSFI2SUQwZ2JXRjBZMmhiT0YwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwZWlBbUppQjBlaUFoUFQwZ0oxb25LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnNaWFFnWkNBOUlIQmhjbk5sVTJWNFlXZGxjMmx0WVd3b2RIb3NJR1poYkhObEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aGtLU0E4SURNd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUWdLajBnTmpBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSbElDMDlJRFl3TURBd0lDb2daRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFUmhkR1VvWkdGMFpTazdYRzRnSUNBZ2ZTeGNiaUFnSUNCemRISnBibWRwWm5rNklDaDdJSFpoYkhWbElIMHBJRDArSUhaaGJIVmxMblJ2U1ZOUFUzUnlhVzVuS0NrdWNtVndiR0ZqWlNndktDaFVNREE2TURBcFB6b3dNQ2svWEZ3dU1EQXdXaVF2TENBbkp5bGNibjA3WEc1Y2JtVjRjRzl5ZENCN0lHWnNiMkYwVkdsdFpTd2dhVzUwVkdsdFpTd2dkR2x0WlhOMFlXMXdJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2diV0Z3SUgwZ1puSnZiU0FuTGk0dlkyOXRiVzl1TDIxaGNDNXFjeWM3WEc1cGJYQnZjblFnZXlCdWRXeHNWR0ZuSUgwZ1puSnZiU0FuTGk0dlkyOXRiVzl1TDI1MWJHd3Vhbk1uTzF4dWFXMXdiM0owSUhzZ2MyVnhJSDBnWm5KdmJTQW5MaTR2WTI5dGJXOXVMM05sY1M1cWN5YzdYRzVwYlhCdmNuUWdleUJ6ZEhKcGJtY2dmU0JtY205dElDY3VMaTlqYjIxdGIyNHZjM1J5YVc1bkxtcHpKenRjYm1sdGNHOXlkQ0I3SUdKcGJtRnllU0I5SUdaeWIyMGdKeTR2WW1sdVlYSjVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lIUnlkV1ZVWVdjc0lHWmhiSE5sVkdGbklIMGdabkp2YlNBbkxpOWliMjlzTG1wekp6dGNibWx0Y0c5eWRDQjdJR1pzYjJGMFRtRk9MQ0JtYkc5aGRFVjRjQ3dnWm14dllYUWdmU0JtY205dElDY3VMMlpzYjJGMExtcHpKenRjYm1sdGNHOXlkQ0I3SUdsdWRFSnBiaXdnYVc1MFQyTjBMQ0JwYm5Rc0lHbHVkRWhsZUNCOUlHWnliMjBnSnk0dmFXNTBMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHMWxjbWRsSUgwZ1puSnZiU0FuTGk5dFpYSm5aUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnZiV0Z3SUgwZ1puSnZiU0FuTGk5dmJXRndMbXB6Snp0Y2JtbHRjRzl5ZENCN0lIQmhhWEp6SUgwZ1puSnZiU0FuTGk5d1lXbHljeTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnpaWFFnZlNCbWNtOXRJQ2N1TDNObGRDNXFjeWM3WEc1cGJYQnZjblFnZXlCcGJuUlVhVzFsTENCbWJHOWhkRlJwYldVc0lIUnBiV1Z6ZEdGdGNDQjlJR1p5YjIwZ0p5NHZkR2x0WlhOMFlXMXdMbXB6Snp0Y2JseHVZMjl1YzNRZ2MyTm9aVzFoSUQwZ1cxeHVJQ0FnSUcxaGNDeGNiaUFnSUNCelpYRXNYRzRnSUNBZ2MzUnlhVzVuTEZ4dUlDQWdJRzUxYkd4VVlXY3NYRzRnSUNBZ2RISjFaVlJoWnl4Y2JpQWdJQ0JtWVd4elpWUmhaeXhjYmlBZ0lDQnBiblJDYVc0c1hHNGdJQ0FnYVc1MFQyTjBMRnh1SUNBZ0lHbHVkQ3hjYmlBZ0lDQnBiblJJWlhnc1hHNGdJQ0FnWm14dllYUk9ZVTRzWEc0Z0lDQWdabXh2WVhSRmVIQXNYRzRnSUNBZ1pteHZZWFFzWEc0Z0lDQWdZbWx1WVhKNUxGeHVJQ0FnSUcxbGNtZGxMRnh1SUNBZ0lHOXRZWEFzWEc0Z0lDQWdjR0ZwY25Nc1hHNGdJQ0FnYzJWMExGeHVJQ0FnSUdsdWRGUnBiV1VzWEc0Z0lDQWdabXh2WVhSVWFXMWxMRnh1SUNBZ0lIUnBiV1Z6ZEdGdGNGeHVYVHRjYmx4dVpYaHdiM0owSUhzZ2MyTm9aVzFoSUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnYldGd0lIMGdabkp2YlNBbkxpOWpiMjF0YjI0dmJXRndMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHNTFiR3hVWVdjZ2ZTQm1jbTl0SUNjdUwyTnZiVzF2Ymk5dWRXeHNMbXB6Snp0Y2JtbHRjRzl5ZENCN0lITmxjU0I5SUdaeWIyMGdKeTR2WTI5dGJXOXVMM05sY1M1cWN5YzdYRzVwYlhCdmNuUWdleUJ6ZEhKcGJtY2dmU0JtY205dElDY3VMMk52YlcxdmJpOXpkSEpwYm1jdWFuTW5PMXh1YVcxd2IzSjBJSHNnWW05dmJGUmhaeUI5SUdaeWIyMGdKeTR2WTI5eVpTOWliMjlzTG1wekp6dGNibWx0Y0c5eWRDQjdJR1pzYjJGMExDQm1iRzloZEVWNGNDd2dabXh2WVhST1lVNGdmU0JtY205dElDY3VMMk52Y21VdlpteHZZWFF1YW5Nbk8xeHVhVzF3YjNKMElIc2dhVzUwTENCcGJuUklaWGdzSUdsdWRFOWpkQ0I5SUdaeWIyMGdKeTR2WTI5eVpTOXBiblF1YW5Nbk8xeHVhVzF3YjNKMElIc2djMk5vWlcxaElIMGdabkp2YlNBbkxpOWpiM0psTDNOamFHVnRZUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnpZMmhsYldFZ1lYTWdjMk5vWlcxaEpERWdmU0JtY205dElDY3VMMnB6YjI0dmMyTm9aVzFoTG1wekp6dGNibWx0Y0c5eWRDQjdJR0pwYm1GeWVTQjlJR1p5YjIwZ0p5NHZlV0Z0YkMweExqRXZZbWx1WVhKNUxtcHpKenRjYm1sdGNHOXlkQ0I3SUcxbGNtZGxJSDBnWm5KdmJTQW5MaTk1WVcxc0xURXVNUzl0WlhKblpTNXFjeWM3WEc1cGJYQnZjblFnZXlCdmJXRndJSDBnWm5KdmJTQW5MaTk1WVcxc0xURXVNUzl2YldGd0xtcHpKenRjYm1sdGNHOXlkQ0I3SUhCaGFYSnpJSDBnWm5KdmJTQW5MaTk1WVcxc0xURXVNUzl3WVdseWN5NXFjeWM3WEc1cGJYQnZjblFnZXlCelkyaGxiV0VnWVhNZ2MyTm9aVzFoSkRJZ2ZTQm1jbTl0SUNjdUwzbGhiV3d0TVM0eEwzTmphR1Z0WVM1cWN5YzdYRzVwYlhCdmNuUWdleUJ6WlhRZ2ZTQm1jbTl0SUNjdUwzbGhiV3d0TVM0eEwzTmxkQzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QjBhVzFsYzNSaGJYQXNJR1pzYjJGMFZHbHRaU3dnYVc1MFZHbHRaU0I5SUdaeWIyMGdKeTR2ZVdGdGJDMHhMakV2ZEdsdFpYTjBZVzF3TG1wekp6dGNibHh1WTI5dWMzUWdjMk5vWlcxaGN5QTlJRzVsZHlCTllYQW9XMXh1SUNBZ0lGc25ZMjl5WlNjc0lITmphR1Z0WVYwc1hHNGdJQ0FnV3lkbVlXbHNjMkZtWlNjc0lGdHRZWEFzSUhObGNTd2djM1J5YVc1blhWMHNYRzRnSUNBZ1d5ZHFjMjl1Snl3Z2MyTm9aVzFoSkRGZExGeHVJQ0FnSUZzbmVXRnRiREV4Snl3Z2MyTm9aVzFoSkRKZExGeHVJQ0FnSUZzbmVXRnRiQzB4TGpFbkxDQnpZMmhsYldFa01sMWNibDBwTzF4dVkyOXVjM1FnZEdGbmMwSjVUbUZ0WlNBOUlIdGNiaUFnSUNCaWFXNWhjbmtzWEc0Z0lDQWdZbTl2YkRvZ1ltOXZiRlJoWnl4Y2JpQWdJQ0JtYkc5aGRDeGNiaUFnSUNCbWJHOWhkRVY0Y0N4Y2JpQWdJQ0JtYkc5aGRFNWhUaXhjYmlBZ0lDQm1iRzloZEZScGJXVXNYRzRnSUNBZ2FXNTBMRnh1SUNBZ0lHbHVkRWhsZUN4Y2JpQWdJQ0JwYm5SUFkzUXNYRzRnSUNBZ2FXNTBWR2x0WlN4Y2JpQWdJQ0J0WVhBc1hHNGdJQ0FnYldWeVoyVXNYRzRnSUNBZ2JuVnNiRG9nYm5Wc2JGUmhaeXhjYmlBZ0lDQnZiV0Z3TEZ4dUlDQWdJSEJoYVhKekxGeHVJQ0FnSUhObGNTeGNiaUFnSUNCelpYUXNYRzRnSUNBZ2RHbHRaWE4wWVcxd1hHNTlPMXh1WTI5dWMzUWdZMjl5WlV0dWIzZHVWR0ZuY3lBOUlIdGNiaUFnSUNBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNlltbHVZWEo1SnpvZ1ltbHVZWEo1TEZ4dUlDQWdJQ2QwWVdjNmVXRnRiQzV2Y21jc01qQXdNanB0WlhKblpTYzZJRzFsY21kbExGeHVJQ0FnSUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwdmJXRndKem9nYjIxaGNDeGNiaUFnSUNBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNmNHRnBjbk1uT2lCd1lXbHljeXhjYmlBZ0lDQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZjMlYwSnpvZ2MyVjBMRnh1SUNBZ0lDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcDBhVzFsYzNSaGJYQW5PaUIwYVcxbGMzUmhiWEJjYm4wN1hHNW1kVzVqZEdsdmJpQm5aWFJVWVdkektHTjFjM1J2YlZSaFozTXNJSE5qYUdWdFlVNWhiV1VzSUdGa1pFMWxjbWRsVkdGbktTQjdYRzRnSUNBZ1kyOXVjM1FnYzJOb1pXMWhWR0ZuY3lBOUlITmphR1Z0WVhNdVoyVjBLSE5qYUdWdFlVNWhiV1VwTzF4dUlDQWdJR2xtSUNoelkyaGxiV0ZVWVdkeklDWW1JQ0ZqZFhOMGIyMVVZV2R6S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaFpHUk5aWEpuWlZSaFp5QW1KaUFoYzJOb1pXMWhWR0ZuY3k1cGJtTnNkV1JsY3lodFpYSm5aU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lEOGdjMk5vWlcxaFZHRm5jeTVqYjI1allYUW9iV1Z5WjJVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUhOamFHVnRZVlJoWjNNdWMyeHBZMlVvS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdiR1YwSUhSaFozTWdQU0J6WTJobGJXRlVZV2R6TzF4dUlDQWdJR2xtSUNnaGRHRm5jeWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoamRYTjBiMjFVWVdkektTbGNiaUFnSUNBZ0lDQWdJQ0FnSUhSaFozTWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCclpYbHpJRDBnUVhKeVlYa3Vabkp2YlNoelkyaGxiV0Z6TG10bGVYTW9LU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1Wm1sc2RHVnlLR3RsZVNBOVBpQnJaWGtnSVQwOUlDZDVZVzFzTVRFbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNXRZWEFvYTJWNUlEMCtJRXBUVDA0dWMzUnlhVzVuYVdaNUtHdGxlU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1wdmFXNG9KeXdnSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRlZ1YTI1dmQyNGdjMk5vWlcxaElGd2lKSHR6WTJobGJXRk9ZVzFsZlZ3aU95QjFjMlVnYjI1bElHOW1JQ1I3YTJWNWMzMGdiM0lnWkdWbWFXNWxJR04xYzNSdmJWUmhaM01nWVhKeVlYbGdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaGpkWE4wYjIxVVlXZHpLU2tnZTF4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElIUmhaeUJ2WmlCamRYTjBiMjFVWVdkektWeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdGbmN5QTlJSFJoWjNNdVkyOXVZMkYwS0hSaFp5azdYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdhV1lnS0hSNWNHVnZaaUJqZFhOMGIyMVVZV2R6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUhSaFozTWdQU0JqZFhOMGIyMVVZV2R6S0hSaFozTXVjMnhwWTJVb0tTazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGhaR1JOWlhKblpWUmhaeWxjYmlBZ0lDQWdJQ0FnZEdGbmN5QTlJSFJoWjNNdVkyOXVZMkYwS0cxbGNtZGxLVHRjYmlBZ0lDQnlaWFIxY200Z2RHRm5jeTV5WldSMVkyVW9LSFJoWjNNc0lIUmhaeWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMFlXZFBZbW9nUFNCMGVYQmxiMllnZEdGbklEMDlQU0FuYzNSeWFXNW5KeUEvSUhSaFozTkNlVTVoYldWYmRHRm5YU0E2SUhSaFp6dGNiaUFnSUNBZ0lDQWdhV1lnS0NGMFlXZFBZbW9wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIUmhaMDVoYldVZ1BTQktVMDlPTG5OMGNtbHVaMmxtZVNoMFlXY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYTJWNWN5QTlJRTlpYW1WamRDNXJaWGx6S0hSaFozTkNlVTVoYldVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2hyWlhrZ1BUNGdTbE5QVGk1emRISnBibWRwWm5rb2EyVjVLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1YW05cGJpZ25MQ0FuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdWVzVyYm05M2JpQmpkWE4wYjIwZ2RHRm5JQ1I3ZEdGblRtRnRaWDA3SUhWelpTQnZibVVnYjJZZ0pIdHJaWGx6ZldBcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNnaGRHRm5jeTVwYm1Oc2RXUmxjeWgwWVdkUFltb3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHRm5jeTV3ZFhOb0tIUmhaMDlpYWlrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFlXZHpPMXh1SUNBZ0lIMHNJRnRkS1R0Y2JuMWNibHh1Wlhod2IzSjBJSHNnWTI5eVpVdHViM2R1VkdGbmN5d2daMlYwVkdGbmN5QjlPMXh1SWl3Z0ltbHRjRzl5ZENCN0lFMUJVQ3dnVTBOQlRFRlNMQ0JUUlZFZ2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUJ0WVhBZ2ZTQm1jbTl0SUNjdUwyTnZiVzF2Ymk5dFlYQXVhbk1uTzF4dWFXMXdiM0owSUhzZ2MyVnhJSDBnWm5KdmJTQW5MaTlqYjIxdGIyNHZjMlZ4TG1wekp6dGNibWx0Y0c5eWRDQjdJSE4wY21sdVp5QjlJR1p5YjIwZ0p5NHZZMjl0Ylc5dUwzTjBjbWx1Wnk1cWN5YzdYRzVwYlhCdmNuUWdleUJuWlhSVVlXZHpMQ0JqYjNKbFMyNXZkMjVVWVdkeklIMGdabkp2YlNBbkxpOTBZV2R6TG1wekp6dGNibHh1WTI5dWMzUWdjMjl5ZEUxaGNFVnVkSEpwWlhOQ2VVdGxlU0E5SUNoaExDQmlLU0E5UGlCaExtdGxlU0E4SUdJdWEyVjVJRDhnTFRFZ09pQmhMbXRsZVNBK0lHSXVhMlY1SUQ4Z01TQTZJREE3WEc1amJHRnpjeUJUWTJobGJXRWdlMXh1SUNBZ0lHTnZibk4wY25WamRHOXlLSHNnWTI5dGNHRjBMQ0JqZFhOMGIyMVVZV2R6TENCdFpYSm5aU3dnY21WemIyeDJaVXR1YjNkdVZHRm5jeXdnYzJOb1pXMWhMQ0J6YjNKMFRXRndSVzUwY21sbGN5d2dkRzlUZEhKcGJtZEVaV1poZFd4MGN5QjlLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVZMjl0Y0dGMElEMGdRWEp5WVhrdWFYTkJjbkpoZVNoamIyMXdZWFFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JR2RsZEZSaFozTW9ZMjl0Y0dGMExDQW5ZMjl0Y0dGMEp5bGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ1kyOXRjR0YwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUHlCblpYUlVZV2R6S0c1MWJHd3NJR052YlhCaGRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1GdFpTQTlJQ2gwZVhCbGIyWWdjMk5vWlcxaElEMDlQU0FuYzNSeWFXNW5KeUFtSmlCelkyaGxiV0VwSUh4OElDZGpiM0psSnp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVyYm05M2JsUmhaM01nUFNCeVpYTnZiSFpsUzI1dmQyNVVZV2R6SUQ4Z1kyOXlaVXR1YjNkdVZHRm5jeUE2SUh0OU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5SaFozTWdQU0JuWlhSVVlXZHpLR04xYzNSdmJWUmhaM01zSUhSb2FYTXVibUZ0WlN3Z2JXVnlaMlVwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMblJ2VTNSeWFXNW5UM0IwYVc5dWN5QTlJSFJ2VTNSeWFXNW5SR1ZtWVhWc2RITWdQejhnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hSb2FYTXNJRTFCVUN3Z2V5QjJZV3gxWlRvZ2JXRndJSDBwTzF4dUlDQWdJQ0FnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kR2hwY3l3Z1UwTkJURUZTTENCN0lIWmhiSFZsT2lCemRISnBibWNnZlNrN1hHNGdJQ0FnSUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gwYUdsekxDQlRSVkVzSUhzZ2RtRnNkV1U2SUhObGNTQjlLVHRjYmlBZ0lDQWdJQ0FnTHk4Z1ZYTmxaQ0JpZVNCamNtVmhkR1ZOWVhBb0tWeHVJQ0FnSUNBZ0lDQjBhR2x6TG5OdmNuUk5ZWEJGYm5SeWFXVnpJRDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1Z2WmlCemIzSjBUV0Z3Ulc1MGNtbGxjeUE5UFQwZ0oyWjFibU4wYVc5dUoxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdjMjl5ZEUxaGNFVnVkSEpwWlhOY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklITnZjblJOWVhCRmJuUnlhV1Z6SUQwOVBTQjBjblZsWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdjMjl5ZEUxaGNFVnVkSEpwWlhOQ2VVdGxlVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklHNTFiR3c3WEc0Z0lDQWdmVnh1SUNBZ0lHTnNiMjVsS0NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCamIzQjVJRDBnVDJKcVpXTjBMbU55WldGMFpTaFRZMmhsYldFdWNISnZkRzkwZVhCbExDQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5Y3loMGFHbHpLU2s3WEc0Z0lDQWdJQ0FnSUdOdmNIa3VkR0ZuY3lBOUlIUm9hWE11ZEdGbmN5NXpiR2xqWlNncE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyOXdlVHRjYmlBZ0lDQjlYRzU5WEc1Y2JtVjRjRzl5ZENCN0lGTmphR1Z0WVNCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdselRtOWtaU0I5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMmxrWlc1MGFYUjVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHTnlaV0YwWlZOMGNtbHVaMmxtZVVOdmJuUmxlSFFzSUhOMGNtbHVaMmxtZVNCOUlHWnliMjBnSnk0dmMzUnlhVzVuYVdaNUxtcHpKenRjYm1sdGNHOXlkQ0I3SUdsdVpHVnVkRU52YlcxbGJuUXNJR3hwYm1WRGIyMXRaVzUwSUgwZ1puSnZiU0FuTGk5emRISnBibWRwWm5sRGIyMXRaVzUwTG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnYzNSeWFXNW5hV1o1Ukc5amRXMWxiblFvWkc5akxDQnZjSFJwYjI1ektTQjdYRzRnSUNBZ1kyOXVjM1FnYkdsdVpYTWdQU0JiWFR0Y2JpQWdJQ0JzWlhRZ2FHRnpSR2x5WldOMGFYWmxjeUE5SUc5d2RHbHZibk11WkdseVpXTjBhWFpsY3lBOVBUMGdkSEoxWlR0Y2JpQWdJQ0JwWmlBb2IzQjBhVzl1Y3k1a2FYSmxZM1JwZG1WeklDRTlQU0JtWVd4elpTQW1KaUJrYjJNdVpHbHlaV04wYVhabGN5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmthWElnUFNCa2IyTXVaR2x5WldOMGFYWmxjeTUwYjFOMGNtbHVaeWhrYjJNcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWkdseUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc2FXNWxjeTV3ZFhOb0tHUnBjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm9ZWE5FYVhKbFkzUnBkbVZ6SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoa2IyTXVaR2x5WldOMGFYWmxjeTVrYjJOVGRHRnlkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHaGhjMFJwY21WamRHbDJaWE1nUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9hR0Z6UkdseVpXTjBhWFpsY3lsY2JpQWdJQ0FnSUNBZ2JHbHVaWE11Y0hWemFDZ25MUzB0SnlrN1hHNGdJQ0FnWTI5dWMzUWdZM1I0SUQwZ1kzSmxZWFJsVTNSeWFXNW5hV1o1UTI5dWRHVjRkQ2hrYjJNc0lHOXdkR2x2Ym5NcE8xeHVJQ0FnSUdOdmJuTjBJSHNnWTI5dGJXVnVkRk4wY21sdVp5QjlJRDBnWTNSNExtOXdkR2x2Ym5NN1hHNGdJQ0FnYVdZZ0tHUnZZeTVqYjIxdFpXNTBRbVZtYjNKbEtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoc2FXNWxjeTVzWlc1bmRHZ2dJVDA5SURFcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JzYVc1bGN5NTFibk5vYVdaMEtDY25LVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZM01nUFNCamIyMXRaVzUwVTNSeWFXNW5LR1J2WXk1amIyMXRaVzUwUW1WbWIzSmxLVHRjYmlBZ0lDQWdJQ0FnYkdsdVpYTXVkVzV6YUdsbWRDaHBibVJsYm5SRGIyMXRaVzUwS0dOekxDQW5KeWtwTzF4dUlDQWdJSDFjYmlBZ0lDQnNaWFFnWTJodmJYQkxaV1Z3SUQwZ1ptRnNjMlU3WEc0Z0lDQWdiR1YwSUdOdmJuUmxiblJEYjIxdFpXNTBJRDBnYm5Wc2JEdGNiaUFnSUNCcFppQW9aRzlqTG1OdmJuUmxiblJ6S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzA1dlpHVW9aRzlqTG1OdmJuUmxiblJ6S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHUnZZeTVqYjI1MFpXNTBjeTV6Y0dGalpVSmxabTl5WlNBbUppQm9ZWE5FYVhKbFkzUnBkbVZ6S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4cGJtVnpMbkIxYzJnb0p5Y3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1J2WXk1amIyNTBaVzUwY3k1amIyMXRaVzUwUW1WbWIzSmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZM01nUFNCamIyMXRaVzUwVTNSeWFXNW5LR1J2WXk1amIyNTBaVzUwY3k1amIyMXRaVzUwUW1WbWIzSmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzYVc1bGN5NXdkWE5vS0dsdVpHVnVkRU52YlcxbGJuUW9ZM01zSUNjbktTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCMGIzQXRiR1YyWld3Z1lteHZZMnNnYzJOaGJHRnljeUJ1WldWa0lIUnZJR0psSUdsdVpHVnVkR1ZrSUdsbUlHWnZiR3h2ZDJWa0lHSjVJR0VnWTI5dGJXVnVkRnh1SUNBZ0lDQWdJQ0FnSUNBZ1kzUjRMbVp2Y21ObFFteHZZMnRKYm1SbGJuUWdQU0FoSVdSdll5NWpiMjF0Wlc1ME8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHVnVkRU52YlcxbGJuUWdQU0JrYjJNdVkyOXVkR1Z1ZEhNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdmJrTm9iMjF3UzJWbGNDQTlJR052Ym5SbGJuUkRiMjF0Wlc1MElEOGdkVzVrWldacGJtVmtJRG9nS0NrZ1BUNGdLR05vYjIxd1MyVmxjQ0E5SUhSeWRXVXBPMXh1SUNBZ0lDQWdJQ0JzWlhRZ1ltOWtlU0E5SUhOMGNtbHVaMmxtZVNoa2IyTXVZMjl1ZEdWdWRITXNJR04wZUN3Z0tDa2dQVDRnS0dOdmJuUmxiblJEYjIxdFpXNTBJRDBnYm5Wc2JDa3NJRzl1UTJodmJYQkxaV1Z3S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR052Ym5SbGJuUkRiMjF0Wlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnWW05a2VTQXJQU0JzYVc1bFEyOXRiV1Z1ZENoaWIyUjVMQ0FuSnl3Z1kyOXRiV1Z1ZEZOMGNtbHVaeWhqYjI1MFpXNTBRMjl0YldWdWRDa3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb0tHSnZaSGxiTUYwZ1BUMDlJQ2Q4SnlCOGZDQmliMlI1V3pCZElEMDlQU0FuUGljcElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNCc2FXNWxjMXRzYVc1bGN5NXNaVzVuZEdnZ0xTQXhYU0E5UFQwZ0p5MHRMU2NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZSdmNDMXNaWFpsYkNCaWJHOWpheUJ6WTJGc1lYSnpJSGRwZEdnZ1lTQndjbVZqWldScGJtY2daRzlqSUcxaGNtdGxjaUJ2ZFdkb2RDQjBieUIxYzJVZ2RHaGxYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnpZVzFsSUd4cGJtVWdabTl5SUhSb1pXbHlJR2hsWVdSbGNpNWNiaUFnSUNBZ0lDQWdJQ0FnSUd4cGJtVnpXMnhwYm1WekxteGxibWQwYUNBdElERmRJRDBnWUMwdExTQWtlMkp2WkhsOVlEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0JzYVc1bGN5NXdkWE5vS0dKdlpIa3BPMXh1SUNBZ0lIMWNiaUFnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnYkdsdVpYTXVjSFZ6YUNoemRISnBibWRwWm5rb1pHOWpMbU52Ym5SbGJuUnpMQ0JqZEhncEtUdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHUnZZeTVrYVhKbFkzUnBkbVZ6UHk1a2IyTkZibVFwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR1J2WXk1amIyMXRaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmpjeUE5SUdOdmJXMWxiblJUZEhKcGJtY29aRzlqTG1OdmJXMWxiblFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOekxtbHVZMngxWkdWektDZGNYRzRuS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeHBibVZ6TG5CMWMyZ29KeTR1TGljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeHBibVZ6TG5CMWMyZ29hVzVrWlc1MFEyOXRiV1Z1ZENoamN5d2dKeWNwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4cGJtVnpMbkIxYzJnb1lDNHVMaUFrZTJOemZXQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdsdVpYTXVjSFZ6YUNnbkxpNHVKeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JrWXlBOUlHUnZZeTVqYjIxdFpXNTBPMXh1SUNBZ0lDQWdJQ0JwWmlBb1pHTWdKaVlnWTJodmJYQkxaV1Z3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdaR01nUFNCa1l5NXlaWEJzWVdObEtDOWVYRnh1S3k4c0lDY25LVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUmpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvS0NGamFHOXRjRXRsWlhBZ2ZId2dZMjl1ZEdWdWRFTnZiVzFsYm5RcElDWW1JR3hwYm1WelcyeHBibVZ6TG14bGJtZDBhQ0F0SURGZElDRTlQU0FuSnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2FXNWxjeTV3ZFhOb0tDY25LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeHBibVZ6TG5CMWMyZ29hVzVrWlc1MFEyOXRiV1Z1ZENoamIyMXRaVzUwVTNSeWFXNW5LR1JqS1N3Z0p5Y3BLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2JHbHVaWE11YW05cGJpZ25YRnh1SnlrZ0t5QW5YRnh1Snp0Y2JuMWNibHh1Wlhod2IzSjBJSHNnYzNSeWFXNW5hV1o1Ukc5amRXMWxiblFnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJCYkdsaGN5QjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwwRnNhV0Z6TG1wekp6dGNibWx0Y0c5eWRDQjdJR2x6Ulcxd2RIbFFZWFJvTENCamIyeHNaV04wYVc5dVJuSnZiVkJoZEdnZ2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5RGIyeHNaV04wYVc5dUxtcHpKenRjYm1sdGNHOXlkQ0I3SUU1UFJFVmZWRmxRUlN3Z1JFOURMQ0JwYzA1dlpHVXNJR2x6UTI5c2JHVmpkR2x2Yml3Z2FYTlRZMkZzWVhJZ2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUJRWVdseUlIMGdabkp2YlNBbkxpNHZibTlrWlhNdlVHRnBjaTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QjBiMHBUSUgwZ1puSnZiU0FuTGk0dmJtOWtaWE12ZEc5S1V5NXFjeWM3WEc1cGJYQnZjblFnZXlCVFkyaGxiV0VnZlNCbWNtOXRJQ2N1TGk5elkyaGxiV0V2VTJOb1pXMWhMbXB6Snp0Y2JtbHRjRzl5ZENCN0lITjBjbWx1WjJsbWVVUnZZM1Z0Wlc1MElIMGdabkp2YlNBbkxpNHZjM1J5YVc1bmFXWjVMM04wY21sdVoybG1lVVJ2WTNWdFpXNTBMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHRnVZMmh2Y2s1aGJXVnpMQ0JtYVc1a1RtVjNRVzVqYUc5eUxDQmpjbVZoZEdWT2IyUmxRVzVqYUc5eWN5QjlJR1p5YjIwZ0p5NHZZVzVqYUc5eWN5NXFjeWM3WEc1cGJYQnZjblFnZXlCaGNIQnNlVkpsZG1sMlpYSWdmU0JtY205dElDY3VMMkZ3Y0d4NVVtVjJhWFpsY2k1cWN5YzdYRzVwYlhCdmNuUWdleUJqY21WaGRHVk9iMlJsSUgwZ1puSnZiU0FuTGk5amNtVmhkR1ZPYjJSbExtcHpKenRjYm1sdGNHOXlkQ0I3SUVScGNtVmpkR2wyWlhNZ2ZTQm1jbTl0SUNjdUwyUnBjbVZqZEdsMlpYTXVhbk1uTzF4dVhHNWpiR0Z6Y3lCRWIyTjFiV1Z1ZENCN1hHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb2RtRnNkV1VzSUhKbGNHeGhZMlZ5TENCdmNIUnBiMjV6S1NCN1hHNGdJQ0FnSUNBZ0lDOHFLaUJCSUdOdmJXMWxiblFnWW1WbWIzSmxJSFJvYVhNZ1JHOWpkVzFsYm5RZ0tpOWNiaUFnSUNBZ0lDQWdkR2hwY3k1amIyMXRaVzUwUW1WbWIzSmxJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdMeW9xSUVFZ1kyOXRiV1Z1ZENCcGJXMWxaR2xoZEdWc2VTQmhablJsY2lCMGFHbHpJRVJ2WTNWdFpXNTBJQ292WEc0Z0lDQWdJQ0FnSUhSb2FYTXVZMjl0YldWdWRDQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDOHFLaUJGY25KdmNuTWdaVzVqYjNWdWRHVnlaV1FnWkhWeWFXNW5JSEJoY25OcGJtY3VJQ292WEc0Z0lDQWdJQ0FnSUhSb2FYTXVaWEp5YjNKeklEMGdXMTA3WEc0Z0lDQWdJQ0FnSUM4cUtpQlhZWEp1YVc1bmN5QmxibU52ZFc1MFpYSmxaQ0JrZFhKcGJtY2djR0Z5YzJsdVp5NGdLaTljYmlBZ0lDQWdJQ0FnZEdocGN5NTNZWEp1YVc1bmN5QTlJRnRkTzF4dUlDQWdJQ0FnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kR2hwY3l3Z1RrOUVSVjlVV1ZCRkxDQjdJSFpoYkhWbE9pQkVUME1nZlNrN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JmY21Wd2JHRmpaWElnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhKbGNHeGhZMlZ5SUQwOVBTQW5ablZ1WTNScGIyNG5JSHg4SUVGeWNtRjVMbWx6UVhKeVlYa29jbVZ3YkdGalpYSXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmZjbVZ3YkdGalpYSWdQU0J5WlhCc1lXTmxjanRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNodmNIUnBiMjV6SUQwOVBTQjFibVJsWm1sdVpXUWdKaVlnY21Wd2JHRmpaWElwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzl3ZEdsdmJuTWdQU0J5WlhCc1lXTmxjanRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjR3hoWTJWeUlEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzl3ZENBOUlFOWlhbVZqZEM1aGMzTnBaMjRvZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhVzUwUVhOQ2FXZEpiblE2SUdaaGJITmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2EyVmxjRk52ZFhKalpWUnZhMlZ1Y3pvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnNiMmRNWlhabGJEb2dKM2RoY200bkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnY0hKbGRIUjVSWEp5YjNKek9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1J5YVdOME9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1J5YVc1blMyVjVjem9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJQ0FnSUNCMWJtbHhkV1ZMWlhsek9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdkbVZ5YzJsdmJqb2dKekV1TWlkY2JpQWdJQ0FnSUNBZ2ZTd2diM0IwYVc5dWN5azdYRzRnSUNBZ0lDQWdJSFJvYVhNdWIzQjBhVzl1Y3lBOUlHOXdkRHRjYmlBZ0lDQWdJQ0FnYkdWMElIc2dkbVZ5YzJsdmJpQjlJRDBnYjNCME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjNCMGFXOXVjejh1WDJScGNtVmpkR2wyWlhNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaR2x5WldOMGFYWmxjeUE5SUc5d2RHbHZibk11WDJScGNtVmpkR2wyWlhNdVlYUkViMk4xYldWdWRDZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdVpHbHlaV04wYVhabGN5NTVZVzFzTG1WNGNHeHBZMmwwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhabGNuTnBiMjRnUFNCMGFHbHpMbVJwY21WamRHbDJaWE11ZVdGdGJDNTJaWEp6YVc5dU8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpHbHlaV04wYVhabGN5QTlJRzVsZHlCRWFYSmxZM1JwZG1WektIc2dkbVZ5YzJsdmJpQjlLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXpaWFJUWTJobGJXRW9kbVZ5YzJsdmJpd2diM0IwYVc5dWN5azdYRzRnSUNBZ0lDQWdJQzh2SUVCMGN5MWxlSEJsWTNRdFpYSnliM0lnVjJVZ1kyRnVKM1FnY21WaGJHeDVJR3R1YjNjZ2RHaGhkQ0IwYUdseklHMWhkR05vWlhNZ1EyOXVkR1Z1ZEhNdVhHNGdJQ0FnSUNBZ0lIUm9hWE11WTI5dWRHVnVkSE1nUFZ4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUc1MWJHd2dPaUIwYUdsekxtTnlaV0YwWlU1dlpHVW9kbUZzZFdVc0lGOXlaWEJzWVdObGNpd2diM0IwYVc5dWN5azdYRzRnSUNBZ2ZWeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTnlaV0YwWlNCaElHUmxaWEFnWTI5d2VTQnZaaUIwYUdseklFUnZZM1Z0Wlc1MElHRnVaQ0JwZEhNZ1kyOXVkR1Z1ZEhNdVhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCRGRYTjBiMjBnVG05a1pTQjJZV3gxWlhNZ2RHaGhkQ0JwYm1obGNtbDBJR1p5YjIwZ1lFOWlhbVZqZEdBZ2MzUnBiR3dnY21WbVpYSWdkRzhnZEdobGFYSWdiM0pwWjJsdVlXd2dhVzV6ZEdGdVkyVnpMbHh1SUNBZ0lDQXFMMXh1SUNBZ0lHTnNiMjVsS0NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCamIzQjVJRDBnVDJKcVpXTjBMbU55WldGMFpTaEViMk4xYldWdWRDNXdjbTkwYjNSNWNHVXNJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lGdE9UMFJGWDFSWlVFVmRPaUI3SUhaaGJIVmxPaUJFVDBNZ2ZWeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnWTI5d2VTNWpiMjF0Wlc1MFFtVm1iM0psSUQwZ2RHaHBjeTVqYjIxdFpXNTBRbVZtYjNKbE8xeHVJQ0FnSUNBZ0lDQmpiM0I1TG1OdmJXMWxiblFnUFNCMGFHbHpMbU52YlcxbGJuUTdYRzRnSUNBZ0lDQWdJR052Y0hrdVpYSnliM0p6SUQwZ2RHaHBjeTVsY25KdmNuTXVjMnhwWTJVb0tUdGNiaUFnSUNBZ0lDQWdZMjl3ZVM1M1lYSnVhVzVuY3lBOUlIUm9hWE11ZDJGeWJtbHVaM011YzJ4cFkyVW9LVHRjYmlBZ0lDQWdJQ0FnWTI5d2VTNXZjSFJwYjI1eklEMGdUMkpxWldOMExtRnpjMmxuYmloN2ZTd2dkR2hwY3k1dmNIUnBiMjV6S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdVpHbHlaV04wYVhabGN5bGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmNIa3VaR2x5WldOMGFYWmxjeUE5SUhSb2FYTXVaR2x5WldOMGFYWmxjeTVqYkc5dVpTZ3BPMXh1SUNBZ0lDQWdJQ0JqYjNCNUxuTmphR1Z0WVNBOUlIUm9hWE11YzJOb1pXMWhMbU5zYjI1bEtDazdYRzRnSUNBZ0lDQWdJQzh2SUVCMGN5MWxlSEJsWTNRdFpYSnliM0lnVjJVZ1kyRnVKM1FnY21WaGJHeDVJR3R1YjNjZ2RHaGhkQ0IwYUdseklHMWhkR05vWlhNZ1EyOXVkR1Z1ZEhNdVhHNGdJQ0FnSUNBZ0lHTnZjSGt1WTI5dWRHVnVkSE1nUFNCcGMwNXZaR1VvZEdocGN5NWpiMjUwWlc1MGN5bGNiaUFnSUNBZ0lDQWdJQ0FnSUQ4Z2RHaHBjeTVqYjI1MFpXNTBjeTVqYkc5dVpTaGpiM0I1TG5OamFHVnRZU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dkR2hwY3k1amIyNTBaVzUwY3p0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWNtRnVaMlVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiM0I1TG5KaGJtZGxJRDBnZEdocGN5NXlZVzVuWlM1emJHbGpaU2dwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTI5d2VUdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcUlFRmtaSE1nWVNCMllXeDFaU0IwYnlCMGFHVWdaRzlqZFcxbGJuUXVJQ292WEc0Z0lDQWdZV1JrS0haaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaGhjM05sY25SRGIyeHNaV04wYVc5dUtIUm9hWE11WTI5dWRHVnVkSE1wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1amIyNTBaVzUwY3k1aFpHUW9kbUZzZFdVcE8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lvZ1FXUmtjeUJoSUhaaGJIVmxJSFJ2SUhSb1pTQmtiMk4xYldWdWRDNGdLaTljYmlBZ0lDQmhaR1JKYmlod1lYUm9MQ0IyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb1lYTnpaWEowUTI5c2JHVmpkR2x2YmloMGFHbHpMbU52Ym5SbGJuUnpLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WTI5dWRHVnVkSE11WVdSa1NXNG9jR0YwYUN3Z2RtRnNkV1VwTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEY21WaGRHVWdZU0J1WlhjZ1lFRnNhV0Z6WUNCdWIyUmxMQ0JsYm5OMWNtbHVaeUIwYUdGMElIUm9aU0IwWVhKblpYUWdZRzV2WkdWZ0lHaGhjeUIwYUdVZ2NtVnhkV2x5WldRZ1lXNWphRzl5TGx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nU1dZZ1lHNXZaR1ZnSUdGc2NtVmhaSGtnYUdGeklHRnVJR0Z1WTJodmNpd2dZRzVoYldWZ0lHbHpJR2xuYm05eVpXUXVYRzRnSUNBZ0lDb2dUM1JvWlhKM2FYTmxMQ0IwYUdVZ1lHNXZaR1V1WVc1amFHOXlZQ0IyWVd4MVpTQjNhV3hzSUdKbElITmxkQ0IwYnlCZ2JtRnRaV0FzWEc0Z0lDQWdJQ29nYjNJZ2FXWWdZVzRnWVc1amFHOXlJSGRwZEdnZ2RHaGhkQ0J1WVcxbElHbHpJR0ZzY21WaFpIa2djSEpsYzJWdWRDQnBiaUIwYUdVZ1pHOWpkVzFsYm5Rc1hHNGdJQ0FnSUNvZ1lHNWhiV1ZnSUhkcGJHd2dZbVVnZFhObFpDQmhjeUJoSUhCeVpXWnBlQ0JtYjNJZ1lTQnVaWGNnZFc1cGNYVmxJR0Z1WTJodmNpNWNiaUFnSUNBZ0tpQkpaaUJnYm1GdFpXQWdhWE1nZFc1a1pXWnBibVZrTENCMGFHVWdaMlZ1WlhKaGRHVmtJR0Z1WTJodmNpQjNhV3hzSUhWelpTQW5ZU2NnWVhNZ1lTQndjbVZtYVhndVhHNGdJQ0FnSUNvdlhHNGdJQ0FnWTNKbFlYUmxRV3hwWVhNb2JtOWtaU3dnYm1GdFpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXNXZaR1V1WVc1amFHOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCd2NtVjJJRDBnWVc1amFHOXlUbUZ0WlhNb2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnViMlJsTG1GdVkyaHZjaUE5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5d2NtVm1aWEl0Ym5Wc2JHbHphQzFqYjJGc1pYTmphVzVuWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSVc1aGJXVWdmSHdnY0hKbGRpNW9ZWE1vYm1GdFpTa2dQeUJtYVc1a1RtVjNRVzVqYUc5eUtHNWhiV1VnZkh3Z0oyRW5MQ0J3Y21WMktTQTZJRzVoYldVN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJCYkdsaGN5aHViMlJsTG1GdVkyaHZjaWs3WEc0Z0lDQWdmVnh1SUNBZ0lHTnlaV0YwWlU1dlpHVW9kbUZzZFdVc0lISmxjR3hoWTJWeUxDQnZjSFJwYjI1ektTQjdYRzRnSUNBZ0lDQWdJR3hsZENCZmNtVndiR0ZqWlhJZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnY21Wd2JHRmpaWElnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2NtVndiR0ZqWlhJdVkyRnNiQ2g3SUNjbk9pQjJZV3gxWlNCOUxDQW5KeXdnZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1gzSmxjR3hoWTJWeUlEMGdjbVZ3YkdGalpYSTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHlaWEJzWVdObGNpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUd0bGVWUnZVM1J5SUQwZ0tIWXBJRDArSUhSNWNHVnZaaUIySUQwOVBTQW5iblZ0WW1WeUp5QjhmQ0IySUdsdWMzUmhibU5sYjJZZ1UzUnlhVzVuSUh4OElIWWdhVzV6ZEdGdVkyVnZaaUJPZFcxaVpYSTdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JoYzFOMGNpQTlJSEpsY0d4aFkyVnlMbVpwYkhSbGNpaHJaWGxVYjFOMGNpa3ViV0Z3S0ZOMGNtbHVaeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWVhOVGRISXViR1Z1WjNSb0lENGdNQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhCc1lXTmxjaUE5SUhKbGNHeGhZMlZ5TG1OdmJtTmhkQ2hoYzFOMGNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCZmNtVndiR0ZqWlhJZ1BTQnlaWEJzWVdObGNqdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2h2Y0hScGIyNXpJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdjbVZ3YkdGalpYSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXdkR2x2Ym5NZ1BTQnlaWEJzWVdObGNqdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGNHeGhZMlZ5SUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR052Ym5OMElIc2dZV3hwWVhORWRYQnNhV05oZEdWUFltcGxZM1J6TENCaGJtTm9iM0pRY21WbWFYZ3NJR1pzYjNjc0lHdGxaWEJWYm1SbFptbHVaV1FzSUc5dVZHRm5UMkpxTENCMFlXY2dmU0E5SUc5d2RHbHZibk1nUHo4Z2UzMDdYRzRnSUNBZ0lDQWdJR052Ym5OMElIc2diMjVCYm1Ob2IzSXNJSE5sZEVGdVkyaHZjbk1zSUhOdmRYSmpaVTlpYW1WamRITWdmU0E5SUdOeVpXRjBaVTV2WkdWQmJtTm9iM0p6S0hSb2FYTXNJRnh1SUNBZ0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDNCeVpXWmxjaTF1ZFd4c2FYTm9MV052WVd4bGMyTnBibWRjYmlBZ0lDQWdJQ0FnWVc1amFHOXlVSEpsWm1sNElIeDhJQ2RoSnlrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdOMGVDQTlJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnNhV0Z6UkhWd2JHbGpZWFJsVDJKcVpXTjBjem9nWVd4cFlYTkVkWEJzYVdOaGRHVlBZbXBsWTNSeklEOC9JSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JyWldWd1ZXNWtaV1pwYm1Wa09pQnJaV1Z3Vlc1a1pXWnBibVZrSUQ4L0lHWmhiSE5sTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiMjVCYm1Ob2IzSXNYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJsUmhaMDlpYWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsY0d4aFkyVnlPaUJmY21Wd2JHRmpaWElzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpZMmhsYldFNklIUm9hWE11YzJOb1pXMWhMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MyOTFjbU5sVDJKcVpXTjBjMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J1YjJSbElEMGdZM0psWVhSbFRtOWtaU2gyWVd4MVpTd2dkR0ZuTENCamRIZ3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb1pteHZkeUFtSmlCcGMwTnZiR3hsWTNScGIyNG9ibTlrWlNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J1YjJSbExtWnNiM2NnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0J6WlhSQmJtTm9iM0p6S0NrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWIyUmxPMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRiMjUyWlhKMElHRWdhMlY1SUdGdVpDQmhJSFpoYkhWbElHbHVkRzhnWVNCZ1VHRnBjbUFnZFhOcGJtY2dkR2hsSUdOMWNuSmxiblFnYzJOb1pXMWhMRnh1SUNBZ0lDQXFJSEpsWTNWeWMybDJaV3g1SUhkeVlYQndhVzVuSUdGc2JDQjJZV3gxWlhNZ1lYTWdZRk5qWVd4aGNtQWdiM0lnWUVOdmJHeGxZM1JwYjI1Z0lHNXZaR1Z6TGx4dUlDQWdJQ0FxTDF4dUlDQWdJR055WldGMFpWQmhhWElvYTJWNUxDQjJZV3gxWlN3Z2IzQjBhVzl1Y3lBOUlIdDlLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR3NnUFNCMGFHbHpMbU55WldGMFpVNXZaR1VvYTJWNUxDQnVkV3hzTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZGlBOUlIUm9hWE11WTNKbFlYUmxUbTlrWlNoMllXeDFaU3dnYm5Wc2JDd2diM0IwYVc5dWN5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVUdGcGNpaHJMQ0IyS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nVW1WdGIzWmxjeUJoSUhaaGJIVmxJR1p5YjIwZ2RHaGxJR1J2WTNWdFpXNTBMbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJR0IwY25WbFlDQnBaaUIwYUdVZ2FYUmxiU0IzWVhNZ1ptOTFibVFnWVc1a0lISmxiVzkyWldRdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnWkdWc1pYUmxLR3RsZVNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1lYTnpaWEowUTI5c2JHVmpkR2x2YmloMGFHbHpMbU52Ym5SbGJuUnpLU0EvSUhSb2FYTXVZMjl1ZEdWdWRITXVaR1ZzWlhSbEtHdGxlU2tnT2lCbVlXeHpaVHRjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dVbVZ0YjNabGN5QmhJSFpoYkhWbElHWnliMjBnZEdobElHUnZZM1Z0Wlc1MExseHVJQ0FnSUNBcUlFQnlaWFIxY201eklHQjBjblZsWUNCcFppQjBhR1VnYVhSbGJTQjNZWE1nWm05MWJtUWdZVzVrSUhKbGJXOTJaV1F1WEc0Z0lDQWdJQ292WEc0Z0lDQWdaR1ZzWlhSbFNXNG9jR0YwYUNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhORmJYQjBlVkJoZEdnb2NHRjBhQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbU52Ym5SbGJuUnpJRDA5SUc1MWJHd3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnUUhSekxXVjRjR1ZqZEMxbGNuSnZjaUJRY21WemRXMWxaQ0JwYlhCdmMzTnBZbXhsSUdsbUlGTjBjbWxqZENCbGVIUmxibVJ6SUdaaGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbU52Ym5SbGJuUnpJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmhjM05sY25SRGIyeHNaV04wYVc5dUtIUm9hWE11WTI5dWRHVnVkSE1wWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JSFJvYVhNdVkyOXVkR1Z1ZEhNdVpHVnNaWFJsU1c0b2NHRjBhQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUZKbGRIVnlibk1nYVhSbGJTQmhkQ0JnYTJWNVlDd2diM0lnWUhWdVpHVm1hVzVsWkdBZ2FXWWdibTkwSUdadmRXNWtMaUJDZVNCa1pXWmhkV3gwSUhWdWQzSmhjSE5jYmlBZ0lDQWdLaUJ6WTJGc1lYSWdkbUZzZFdWeklHWnliMjBnZEdobGFYSWdjM1Z5Y205MWJtUnBibWNnYm05a1pUc2dkRzhnWkdsellXSnNaU0J6WlhRZ1lHdGxaWEJUWTJGc1lYSmdJSFJ2WEc0Z0lDQWdJQ29nWUhSeWRXVmdJQ2hqYjJ4c1pXTjBhVzl1Y3lCaGNtVWdZV3gzWVhseklISmxkSFZ5Ym1Wa0lHbHVkR0ZqZENrdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnWjJWMEtHdGxlU3dnYTJWbGNGTmpZV3hoY2lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYTkRiMnhzWldOMGFXOXVLSFJvYVhNdVkyOXVkR1Z1ZEhNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0EvSUhSb2FYTXVZMjl1ZEdWdWRITXVaMlYwS0d0bGVTd2dhMlZsY0ZOallXeGhjaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dkVzVrWldacGJtVmtPMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlNaWFIxY201eklHbDBaVzBnWVhRZ1lIQmhkR2hnTENCdmNpQmdkVzVrWldacGJtVmtZQ0JwWmlCdWIzUWdabTkxYm1RdUlFSjVJR1JsWm1GMWJIUWdkVzUzY21Gd2MxeHVJQ0FnSUNBcUlITmpZV3hoY2lCMllXeDFaWE1nWm5KdmJTQjBhR1ZwY2lCemRYSnliM1Z1WkdsdVp5QnViMlJsT3lCMGJ5QmthWE5oWW14bElITmxkQ0JnYTJWbGNGTmpZV3hoY21BZ2RHOWNiaUFnSUNBZ0tpQmdkSEoxWldBZ0tHTnZiR3hsWTNScGIyNXpJR0Z5WlNCaGJIZGhlWE1nY21WMGRYSnVaV1FnYVc1MFlXTjBLUzVjYmlBZ0lDQWdLaTljYmlBZ0lDQm5aWFJKYmlod1lYUm9MQ0JyWldWd1UyTmhiR0Z5S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzBWdGNIUjVVR0YwYUNod1lYUm9LU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBaGEyVmxjRk5qWVd4aGNpQW1KaUJwYzFOallXeGhjaWgwYUdsekxtTnZiblJsYm5SektWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdkR2hwY3k1amIyNTBaVzUwY3k1MllXeDFaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nZEdocGN5NWpiMjUwWlc1MGN6dGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHbHpRMjlzYkdWamRHbHZiaWgwYUdsekxtTnZiblJsYm5SektWeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlCMGFHbHpMbU52Ym5SbGJuUnpMbWRsZEVsdUtIQmhkR2dzSUd0bFpYQlRZMkZzWVhJcFhHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUTJobFkydHpJR2xtSUhSb1pTQmtiMk4xYldWdWRDQnBibU5zZFdSbGN5QmhJSFpoYkhWbElIZHBkR2dnZEdobElHdGxlU0JnYTJWNVlDNWNiaUFnSUNBZ0tpOWNiaUFnSUNCb1lYTW9hMlY1S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGMwTnZiR3hsWTNScGIyNG9kR2hwY3k1amIyNTBaVzUwY3lrZ1B5QjBhR2x6TG1OdmJuUmxiblJ6TG1oaGN5aHJaWGtwSURvZ1ptRnNjMlU3WEc0Z0lDQWdmVnh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRU5vWldOcmN5QnBaaUIwYUdVZ1pHOWpkVzFsYm5RZ2FXNWpiSFZrWlhNZ1lTQjJZV3gxWlNCaGRDQmdjR0YwYUdBdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnYUdGelNXNG9jR0YwYUNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhORmJYQjBlVkJoZEdnb2NHRjBhQ2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYjI1MFpXNTBjeUFoUFQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYTkRiMnhzWldOMGFXOXVLSFJvYVhNdVkyOXVkR1Z1ZEhNcElEOGdkR2hwY3k1amIyNTBaVzUwY3k1b1lYTkpiaWh3WVhSb0tTQTZJR1poYkhObE8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCVFpYUnpJR0VnZG1Gc2RXVWdhVzRnZEdocGN5QmtiMk4xYldWdWRDNGdSbTl5SUdBaElYTmxkR0FzSUdCMllXeDFaV0FnYm1WbFpITWdkRzhnWW1VZ1lWeHVJQ0FnSUNBcUlHSnZiMnhsWVc0Z2RHOGdZV1JrTDNKbGJXOTJaU0IwYUdVZ2FYUmxiU0JtY205dElIUm9aU0J6WlhRdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnYzJWMEtHdGxlU3dnZG1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WTI5dWRHVnVkSE1nUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnUUhSekxXVjRjR1ZqZEMxbGNuSnZjaUJYWlNCallXNG5kQ0J5WldGc2JIa2dhMjV2ZHlCMGFHRjBJSFJvYVhNZ2JXRjBZMmhsY3lCRGIyNTBaVzUwY3k1Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVkyOXVkR1Z1ZEhNZ1BTQmpiMnhzWldOMGFXOXVSbkp2YlZCaGRHZ29kR2hwY3k1elkyaGxiV0VzSUZ0clpYbGRMQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWVhOelpYSjBRMjlzYkdWamRHbHZiaWgwYUdsekxtTnZiblJsYm5SektTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVqYjI1MFpXNTBjeTV6WlhRb2EyVjVMQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dVMlYwY3lCaElIWmhiSFZsSUdsdUlIUm9hWE1nWkc5amRXMWxiblF1SUVadmNpQmdJU0Z6WlhSZ0xDQmdkbUZzZFdWZ0lHNWxaV1J6SUhSdklHSmxJR0ZjYmlBZ0lDQWdLaUJpYjI5c1pXRnVJSFJ2SUdGa1pDOXlaVzF2ZG1VZ2RHaGxJR2wwWlcwZ1puSnZiU0IwYUdVZ2MyVjBMbHh1SUNBZ0lDQXFMMXh1SUNBZ0lITmxkRWx1S0hCaGRHZ3NJSFpoYkhWbEtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNocGMwVnRjSFI1VUdGMGFDaHdZWFJvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1FIUnpMV1Y0Y0dWamRDMWxjbkp2Y2lCWFpTQmpZVzRuZENCeVpXRnNiSGtnYTI1dmR5QjBhR0YwSUhSb2FYTWdiV0YwWTJobGN5QkRiMjUwWlc1MGN5NWNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVZMjl1ZEdWdWRITWdQU0IyWVd4MVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2gwYUdsekxtTnZiblJsYm5SeklEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFQjBjeTFsZUhCbFkzUXRaWEp5YjNJZ1YyVWdZMkZ1SjNRZ2NtVmhiR3g1SUd0dWIzY2dkR2hoZENCMGFHbHpJRzFoZEdOb1pYTWdRMjl1ZEdWdWRITXVYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbU52Ym5SbGJuUnpJRDBnWTI5c2JHVmpkR2x2YmtaeWIyMVFZWFJvS0hSb2FYTXVjMk5vWlcxaExDQkJjbkpoZVM1bWNtOXRLSEJoZEdncExDQjJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZWE56WlhKMFEyOXNiR1ZqZEdsdmJpaDBhR2x6TG1OdmJuUmxiblJ6S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWpiMjUwWlc1MGN5NXpaWFJKYmlod1lYUm9MQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dRMmhoYm1kbElIUm9aU0JaUVUxTUlIWmxjbk5wYjI0Z1lXNWtJSE5qYUdWdFlTQjFjMlZrSUdKNUlIUm9aU0JrYjJOMWJXVnVkQzVjYmlBZ0lDQWdLaUJCSUdCdWRXeHNZQ0IyWlhKemFXOXVJR1JwYzJGaWJHVnpJSE4xY0hCdmNuUWdabTl5SUdScGNtVmpkR2wyWlhNc0lHVjRjR3hwWTJsMElIUmhaM01zSUdGdVkyaHZjbk1zSUdGdVpDQmhiR2xoYzJWekxseHVJQ0FnSUNBcUlFbDBJR0ZzYzI4Z2NtVnhkV2x5WlhNZ2RHaGxJR0J6WTJobGJXRmdJRzl3ZEdsdmJpQjBieUJpWlNCbmFYWmxiaUJoY3lCaElHQlRZMmhsYldGZ0lHbHVjM1JoYm1ObElIWmhiSFZsTGx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nVDNabGNuSnBaR1Z6SUdGc2JDQndjbVYyYVc5MWMyeDVJSE5sZENCelkyaGxiV0VnYjNCMGFXOXVjeTVjYmlBZ0lDQWdLaTljYmlBZ0lDQnpaWFJUWTJobGJXRW9kbVZ5YzJsdmJpd2diM0IwYVc5dWN5QTlJSHQ5S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdkbVZ5YzJsdmJpQTlQVDBnSjI1MWJXSmxjaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQjJaWEp6YVc5dUlEMGdVM1J5YVc1bktIWmxjbk5wYjI0cE8xeHVJQ0FnSUNBZ0lDQnNaWFFnYjNCME8xeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIWmxjbk5wYjI0cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKekV1TVNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdVpHbHlaV04wYVhabGN5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWthWEpsWTNScGRtVnpMbmxoYld3dWRtVnljMmx2YmlBOUlDY3hMakVuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWthWEpsWTNScGRtVnpJRDBnYm1WM0lFUnBjbVZqZEdsMlpYTW9leUIyWlhKemFXOXVPaUFuTVM0eEp5QjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2Y0hRZ1BTQjdJSEpsYzI5c2RtVkxibTkzYmxSaFozTTZJR1poYkhObExDQnpZMmhsYldFNklDZDVZVzFzTFRFdU1TY2dmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKekV1TWljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHVaWGgwSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1a2FYSmxZM1JwZG1WektWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtUnBjbVZqZEdsMlpYTXVlV0Z0YkM1MlpYSnphVzl1SUQwZ2RtVnljMmx2Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaR2x5WldOMGFYWmxjeUE5SUc1bGR5QkVhWEpsWTNScGRtVnpLSHNnZG1WeWMybHZiaUI5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmNIUWdQU0I3SUhKbGMyOXNkbVZMYm05M2JsUmhaM002SUhSeWRXVXNJSE5qYUdWdFlUb2dKMk52Y21VbklIMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElHNTFiR3c2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WkdseVpXTjBhWFpsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWlhSbElIUm9hWE11WkdseVpXTjBhWFpsY3p0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmNIUWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REb2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjJJRDBnU2xOUFRpNXpkSEpwYm1kcFpua29kbVZ5YzJsdmJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQkZlSEJsWTNSbFpDQW5NUzR4Snl3Z0p6RXVNaWNnYjNJZ2JuVnNiQ0JoY3lCbWFYSnpkQ0JoY21kMWJXVnVkQ3dnWW5WMElHWnZkVzVrT2lBa2UzTjJmV0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUM4dklFNXZkQ0IxYzJsdVp5QmdhVzV6ZEdGdVkyVnZaaUJUWTJobGJXRmdJSFJ2SUdGc2JHOTNJR1p2Y2lCa2RXTnJJSFI1Y0dsdVoxeHVJQ0FnSUNBZ0lDQnBaaUFvYjNCMGFXOXVjeTV6WTJobGJXRWdhVzV6ZEdGdVkyVnZaaUJQWW1wbFkzUXBYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk5qYUdWdFlTQTlJRzl3ZEdsdmJuTXVjMk5vWlcxaE8xeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHZjSFFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5OamFHVnRZU0E5SUc1bGR5QlRZMmhsYldFb1QySnFaV04wTG1GemMybG5iaWh2Y0hRc0lHOXdkR2x2Ym5NcEtUdGNiaUFnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQlhhWFJvSUdFZ2JuVnNiQ0JaUVUxTUlIWmxjbk5wYjI0c0lIUm9aU0I3SUhOamFHVnRZVG9nVTJOb1pXMWhJSDBnYjNCMGFXOXVJR2x6SUhKbGNYVnBjbVZrWUNrN1hHNGdJQ0FnZlZ4dUlDQWdJQzh2SUdwemIyNGdKaUJxYzI5dVFYSm5JR0Z5WlNCdmJteDVJSFZ6WldRZ1puSnZiU0IwYjBwVFQwNG9LVnh1SUNBZ0lIUnZTbE1vZXlCcWMyOXVMQ0JxYzI5dVFYSm5MQ0J0WVhCQmMwMWhjQ3dnYldGNFFXeHBZWE5EYjNWdWRDd2diMjVCYm1Ob2IzSXNJSEpsZG1sMlpYSWdmU0E5SUh0OUtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTjBlQ0E5SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0Z1WTJodmNuTTZJRzVsZHlCTllYQW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHUnZZem9nZEdocGN5eGNiaUFnSUNBZ0lDQWdJQ0FnSUd0bFpYQTZJQ0ZxYzI5dUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYldGd1FYTk5ZWEE2SUcxaGNFRnpUV0Z3SUQwOVBTQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiV0Z3UzJWNVYyRnlibVZrT2lCbVlXeHpaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWhlRUZzYVdGelEyOTFiblE2SUhSNWNHVnZaaUJ0WVhoQmJHbGhjME52ZFc1MElEMDlQU0FuYm5WdFltVnlKeUEvSUcxaGVFRnNhV0Z6UTI5MWJuUWdPaUF4TURCY2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NtVnpJRDBnZEc5S1V5aDBhR2x6TG1OdmJuUmxiblJ6TENCcWMyOXVRWEpuSUQ4L0lDY25MQ0JqZEhncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JRzl1UVc1amFHOXlJRDA5UFNBblpuVnVZM1JwYjI0bktWeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCN0lHTnZkVzUwTENCeVpYTWdmU0J2WmlCamRIZ3VZVzVqYUc5eWN5NTJZV3gxWlhNb0tTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia0Z1WTJodmNpaHlaWE1zSUdOdmRXNTBLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQnlaWFpwZG1WeUlEMDlQU0FuWm5WdVkzUnBiMjRuWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JR0Z3Y0d4NVVtVjJhWFpsY2loeVpYWnBkbVZ5TENCN0lDY25PaUJ5WlhNZ2ZTd2dKeWNzSUhKbGN5bGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ2NtVnpPMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkJJRXBUVDA0Z2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaGxJR1J2WTNWdFpXNTBJR0JqYjI1MFpXNTBjMkF1WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY0dGeVlXMGdhbk52YmtGeVp5QlZjMlZrSUdKNUlHQktVMDlPTG5OMGNtbHVaMmxtZVdBZ2RHOGdhVzVrYVdOaGRHVWdkR2hsSUdGeWNtRjVJR2x1WkdWNElHOXlYRzRnSUNBZ0lDb2dJQ0J3Y205d1pYSjBlU0J1WVcxbExseHVJQ0FnSUNBcUwxeHVJQ0FnSUhSdlNsTlBUaWhxYzI5dVFYSm5MQ0J2YmtGdVkyaHZjaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTBiMHBUS0hzZ2FuTnZiam9nZEhKMVpTd2dhbk52YmtGeVp5d2diV0Z3UVhOTllYQTZJR1poYkhObExDQnZia0Z1WTJodmNpQjlLVHRjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FJRUVnV1VGTlRDQnlaWEJ5WlhObGJuUmhkR2x2YmlCdlppQjBhR1VnWkc5amRXMWxiblF1SUNvdlhHNGdJQ0FnZEc5VGRISnBibWNvYjNCMGFXOXVjeUE5SUh0OUtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbVZ5Y205eWN5NXNaVzVuZEdnZ1BpQXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkRWIyTjFiV1Z1ZENCM2FYUm9JR1Z5Y205eWN5QmpZVzV1YjNRZ1ltVWdjM1J5YVc1bmFXWnBaV1FuS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ2RwYm1SbGJuUW5JR2x1SUc5d2RHbHZibk1nSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ2doVG5WdFltVnlMbWx6U1c1MFpXZGxjaWh2Y0hScGIyNXpMbWx1WkdWdWRDa2dmSHdnVG5WdFltVnlLRzl3ZEdsdmJuTXVhVzVrWlc1MEtTQThQU0F3S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjeUE5SUVwVFQwNHVjM1J5YVc1bmFXWjVLRzl3ZEdsdmJuTXVhVzVrWlc1MEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhnWENKcGJtUmxiblJjSWlCdmNIUnBiMjRnYlhWemRDQmlaU0JoSUhCdmMybDBhWFpsSUdsdWRHVm5aWElzSUc1dmRDQWtlM045WUNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITjBjbWx1WjJsbWVVUnZZM1Z0Wlc1MEtIUm9hWE1zSUc5d2RHbHZibk1wTzF4dUlDQWdJSDFjYm4xY2JtWjFibU4wYVc5dUlHRnpjMlZ5ZEVOdmJHeGxZM1JwYjI0b1kyOXVkR1Z1ZEhNcElIdGNiaUFnSUNCcFppQW9hWE5EYjJ4c1pXTjBhVzl1S0dOdmJuUmxiblJ6S1NsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkRmVIQmxZM1JsWkNCaElGbEJUVXdnWTI5c2JHVmpkR2x2YmlCaGN5QmtiMk4xYldWdWRDQmpiMjUwWlc1MGN5Y3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QkViMk4xYldWdWRDQjlPMXh1SWl3Z0ltTnNZWE56SUZsQlRVeEZjbkp2Y2lCbGVIUmxibVJ6SUVWeWNtOXlJSHRjYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWh1WVcxbExDQndiM01zSUdOdlpHVXNJRzFsYzNOaFoyVXBJSHRjYmlBZ0lDQWdJQ0FnYzNWd1pYSW9LVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXVZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NWpiMlJsSUQwZ1kyOWtaVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXRaWE56WVdkbElEMGdiV1Z6YzJGblpUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1d2IzTWdQU0J3YjNNN1hHNGdJQ0FnZlZ4dWZWeHVZMnhoYzNNZ1dVRk5URkJoY25ObFJYSnliM0lnWlhoMFpXNWtjeUJaUVUxTVJYSnliM0lnZTF4dUlDQWdJR052Ym5OMGNuVmpkRzl5S0hCdmN5d2dZMjlrWlN3Z2JXVnpjMkZuWlNrZ2UxeHVJQ0FnSUNBZ0lDQnpkWEJsY2lnbldVRk5URkJoY25ObFJYSnliM0luTENCd2IzTXNJR052WkdVc0lHMWxjM05oWjJVcE8xeHVJQ0FnSUgxY2JuMWNibU5zWVhOeklGbEJUVXhYWVhKdWFXNW5JR1Y0ZEdWdVpITWdXVUZOVEVWeWNtOXlJSHRjYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWh3YjNNc0lHTnZaR1VzSUcxbGMzTmhaMlVwSUh0Y2JpQWdJQ0FnSUNBZ2MzVndaWElvSjFsQlRVeFhZWEp1YVc1bkp5d2djRzl6TENCamIyUmxMQ0J0WlhOellXZGxLVHRjYmlBZ0lDQjlYRzU5WEc1amIyNXpkQ0J3Y21WMGRHbG1lVVZ5Y205eUlEMGdLSE55WXl3Z2JHTXBJRDArSUNobGNuSnZjaWtnUFQ0Z2UxeHVJQ0FnSUdsbUlDaGxjbkp2Y2k1d2IzTmJNRjBnUFQwOUlDMHhLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ1pYSnliM0l1YkdsdVpWQnZjeUE5SUdWeWNtOXlMbkJ2Y3k1dFlYQW9jRzl6SUQwK0lHeGpMbXhwYm1WUWIzTW9jRzl6S1NrN1hHNGdJQ0FnWTI5dWMzUWdleUJzYVc1bExDQmpiMndnZlNBOUlHVnljbTl5TG14cGJtVlFiM05iTUYwN1hHNGdJQ0FnWlhKeWIzSXViV1Z6YzJGblpTQXJQU0JnSUdGMElHeHBibVVnSkh0c2FXNWxmU3dnWTI5c2RXMXVJQ1I3WTI5c2ZXQTdYRzRnSUNBZ2JHVjBJR05wSUQwZ1kyOXNJQzBnTVR0Y2JpQWdJQ0JzWlhRZ2JHbHVaVk4wY2lBOUlITnlZMXh1SUNBZ0lDQWdJQ0F1YzNWaWMzUnlhVzVuS0d4akxteHBibVZUZEdGeWRITmJiR2x1WlNBdElERmRMQ0JzWXk1c2FXNWxVM1JoY25SelcyeHBibVZkS1Z4dUlDQWdJQ0FnSUNBdWNtVndiR0ZqWlNndlcxeGNibHhjY2wwckpDOHNJQ2NuS1R0Y2JpQWdJQ0F2THlCVWNtbHRJSFJ2SUcxaGVDQTRNQ0JqYUdGeWN5d2dhMlZsY0dsdVp5QmpiMndnY0c5emFYUnBiMjRnYm1WaGNpQjBhR1VnYldsa1pHeGxYRzRnSUNBZ2FXWWdLR05wSUQ0OUlEWXdJQ1ltSUd4cGJtVlRkSEl1YkdWdVozUm9JRDRnT0RBcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2RISnBiVk4wWVhKMElEMGdUV0YwYUM1dGFXNG9ZMmtnTFNBek9Td2diR2x1WlZOMGNpNXNaVzVuZEdnZ0xTQTNPU2s3WEc0Z0lDQWdJQ0FnSUd4cGJtVlRkSElnUFNBblhIVXlNREkySnlBcklHeHBibVZUZEhJdWMzVmljM1J5YVc1bktIUnlhVzFUZEdGeWRDazdYRzRnSUNBZ0lDQWdJR05wSUMwOUlIUnlhVzFUZEdGeWRDQXRJREU3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hzYVc1bFUzUnlMbXhsYm1kMGFDQStJRGd3S1Z4dUlDQWdJQ0FnSUNCc2FXNWxVM1J5SUQwZ2JHbHVaVk4wY2k1emRXSnpkSEpwYm1jb01Dd2dOemtwSUNzZ0oxeDFNakF5TmljN1hHNGdJQ0FnTHk4Z1NXNWpiSFZrWlNCd2NtVjJhVzkxY3lCc2FXNWxJR2x1SUdOdmJuUmxlSFFnYVdZZ2NHOXBiblJwYm1jZ1lYUWdiR2x1WlNCemRHRnlkRnh1SUNBZ0lHbG1JQ2hzYVc1bElENGdNU0FtSmlBdlhpQXFKQzh1ZEdWemRDaHNhVzVsVTNSeUxuTjFZbk4wY21sdVp5Z3dMQ0JqYVNrcEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUZKbFoyVjRjQ0IzYjI0bmRDQnRZWFJqYUNCcFppQnpkR0Z5ZENCcGN5QjBjbWx0YldWa1hHNGdJQ0FnSUNBZ0lHeGxkQ0J3Y21WMklEMGdjM0pqTG5OMVluTjBjbWx1Wnloc1l5NXNhVzVsVTNSaGNuUnpXMnhwYm1VZ0xTQXlYU3dnYkdNdWJHbHVaVk4wWVhKMGMxdHNhVzVsSUMwZ01WMHBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NISmxkaTVzWlc1bmRHZ2dQaUE0TUNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEJ5WlhZZ1BTQndjbVYyTG5OMVluTjBjbWx1Wnlnd0xDQTNPU2tnS3lBblhIVXlNREkyWEZ4dUp6dGNiaUFnSUNBZ0lDQWdiR2x1WlZOMGNpQTlJSEJ5WlhZZ0t5QnNhVzVsVTNSeU8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0wxdGVJRjB2TG5SbGMzUW9iR2x1WlZOMGNpa3BJSHRjYmlBZ0lDQWdJQ0FnYkdWMElHTnZkVzUwSUQwZ01UdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pXNWtJRDBnWlhKeWIzSXViR2x1WlZCdmMxc3hYVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHVnVaQ0FtSmlCbGJtUXViR2x1WlNBOVBUMGdiR2x1WlNBbUppQmxibVF1WTI5c0lENGdZMjlzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjNWdWRDQTlJRTFoZEdndWJXRjRLREVzSUUxaGRHZ3ViV2x1S0dWdVpDNWpiMndnTFNCamIyd3NJRGd3SUMwZ1kya3BLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCamIyNXpkQ0J3YjJsdWRHVnlJRDBnSnlBbkxuSmxjR1ZoZENoamFTa2dLeUFuWGljdWNtVndaV0YwS0dOdmRXNTBLVHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSXViV1Z6YzJGblpTQXJQU0JnT2x4Y2JseGNiaVI3YkdsdVpWTjBjbjFjWEc0a2UzQnZhVzUwWlhKOVhGeHVZRHRjYmlBZ0lDQjlYRzU5TzF4dVhHNWxlSEJ2Y25RZ2V5QlpRVTFNUlhKeWIzSXNJRmxCVFV4UVlYSnpaVVZ5Y205eUxDQlpRVTFNVjJGeWJtbHVaeXdnY0hKbGRIUnBabmxGY25KdmNpQjlPMXh1SWl3Z0ltWjFibU4wYVc5dUlISmxjMjlzZG1WUWNtOXdjeWgwYjJ0bGJuTXNJSHNnWm14dmR5d2dhVzVrYVdOaGRHOXlMQ0J1WlhoMExDQnZabVp6WlhRc0lHOXVSWEp5YjNJc0lIQmhjbVZ1ZEVsdVpHVnVkQ3dnYzNSaGNuUlBiazVsZDJ4cGJtVWdmU2tnZTF4dUlDQWdJR3hsZENCemNHRmpaVUpsWm05eVpTQTlJR1poYkhObE8xeHVJQ0FnSUd4bGRDQmhkRTVsZDJ4cGJtVWdQU0J6ZEdGeWRFOXVUbVYzYkdsdVpUdGNiaUFnSUNCc1pYUWdhR0Z6VTNCaFkyVWdQU0J6ZEdGeWRFOXVUbVYzYkdsdVpUdGNiaUFnSUNCc1pYUWdZMjl0YldWdWRDQTlJQ2NuTzF4dUlDQWdJR3hsZENCamIyMXRaVzUwVTJWd0lEMGdKeWM3WEc0Z0lDQWdiR1YwSUdoaGMwNWxkMnhwYm1VZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JzWlhRZ2NtVnhVM0JoWTJVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JzWlhRZ2RHRmlJRDBnYm5Wc2JEdGNiaUFnSUNCc1pYUWdZVzVqYUc5eUlEMGdiblZzYkR0Y2JpQWdJQ0JzWlhRZ2RHRm5JRDBnYm5Wc2JEdGNiaUFnSUNCc1pYUWdibVYzYkdsdVpVRm1kR1Z5VUhKdmNDQTlJRzUxYkd3N1hHNGdJQ0FnYkdWMElHTnZiVzFoSUQwZ2JuVnNiRHRjYmlBZ0lDQnNaWFFnWm05MWJtUWdQU0J1ZFd4c08xeHVJQ0FnSUd4bGRDQnpkR0Z5ZENBOUlHNTFiR3c3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0IwYjJ0bGJpQnZaaUIwYjJ0bGJuTXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjVk53WVdObEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kRzlyWlc0dWRIbHdaU0FoUFQwZ0ozTndZV05sSnlBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnZhMlZ1TG5SNWNHVWdJVDA5SUNkdVpYZHNhVzVsSnlBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnZhMlZ1TG5SNWNHVWdJVDA5SUNkamIyMXRZU2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWgwYjJ0bGJpNXZabVp6WlhRc0lDZE5TVk5UU1U1SFgwTklRVkluTENBblZHRm5jeUJoYm1RZ1lXNWphRzl5Y3lCdGRYTjBJR0psSUhObGNHRnlZWFJsWkNCbWNtOXRJSFJvWlNCdVpYaDBJSFJ2YTJWdUlHSjVJSGRvYVhSbElITndZV05sSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhGVGNHRmpaU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBZV0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoaGRFNWxkMnhwYm1VZ0ppWWdkRzlyWlc0dWRIbHdaU0FoUFQwZ0oyTnZiVzFsYm5RbklDWW1JSFJ2YTJWdUxuUjVjR1VnSVQwOUlDZHVaWGRzYVc1bEp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9kR0ZpTENBblZFRkNYMEZUWDBsT1JFVk9WQ2NzSUNkVVlXSnpJR0Z5WlNCdWIzUWdZV3hzYjNkbFpDQmhjeUJwYm1SbGJuUmhkR2x2YmljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdkR0ZpSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hSdmEyVnVMblI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM053WVdObEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJCZENCMGFHVWdaRzlqSUd4bGRtVnNMQ0IwWVdKeklHRjBJR3hwYm1VZ2MzUmhjblFnYldGNUlHSmxJSEJoY25ObFpGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJR0Z6SUd4bFlXUnBibWNnZDJocGRHVWdjM0JoWTJVZ2NtRjBhR1Z5SUhSb1lXNGdhVzVrWlc1MFlYUnBiMjR1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXNGdZU0JtYkc5M0lHTnZiR3hsWTNScGIyNHNJRzl1YkhrZ2RHaGxJSEJoY25ObGNpQm9ZVzVrYkdWeklHbHVaR1Z1ZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV1pzYjNjZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS0dsdVpHbGpZWFJ2Y2lBaFBUMGdKMlJ2WXkxemRHRnlkQ2NnZkh3Z2JtVjRkRDh1ZEhsd1pTQWhQVDBnSjJac2IzY3RZMjlzYkdWamRHbHZiaWNwSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJ2YTJWdUxuTnZkWEpqWlM1cGJtTnNkV1JsY3lnblhGeDBKeWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR0ZpSUQwZ2RHOXJaVzQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdoaGMxTndZV05sSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMk52YlcxbGJuUW5PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRm9ZWE5UY0dGalpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWgwYjJ0bGJpd2dKMDFKVTFOSlRrZGZRMGhCVWljc0lDZERiMjF0Wlc1MGN5QnRkWE4wSUdKbElITmxjR0Z5WVhSbFpDQm1jbTl0SUc5MGFHVnlJSFJ2YTJWdWN5QmllU0IzYUdsMFpTQnpjR0ZqWlNCamFHRnlZV04wWlhKekp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kySWdQU0IwYjJ0bGJpNXpiM1Z5WTJVdWMzVmljM1J5YVc1bktERXBJSHg4SUNjZ0p6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdOdmJXMWxiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiVzFsYm5RZ1BTQmpZanRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052YlcxbGJuUWdLejBnWTI5dGJXVnVkRk5sY0NBcklHTmlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052YlcxbGJuUlRaWEFnUFNBbkp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkRTVsZDJ4cGJtVWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjI1bGQyeHBibVVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGhkRTVsZDJ4cGJtVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR052YlcxbGJuUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjF0Wlc1MElDczlJSFJ2YTJWdUxuTnZkWEpqWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNCaFkyVkNaV1p2Y21VZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJXMWxiblJUWlhBZ0t6MGdkRzlyWlc0dWMyOTFjbU5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdGMFRtVjNiR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYUdGelRtVjNiR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHRnVZMmh2Y2lCOGZDQjBZV2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNWxkMnhwYm1WQlpuUmxjbEJ5YjNBZ1BTQjBiMnRsYmp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCb1lYTlRjR0ZqWlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RoYm1Ob2IzSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoaGJtTm9iM0lwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2RHOXJaVzRzSUNkTlZVeFVTVkJNUlY5QlRrTklUMUpUSnl3Z0owRWdibTlrWlNCallXNGdhR0YyWlNCaGRDQnRiM04wSUc5dVpTQmhibU5vYjNJbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEc5clpXNHVjMjkxY21ObExtVnVaSE5YYVhSb0tDYzZKeWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2RHOXJaVzR1YjJabWMyVjBJQ3NnZEc5clpXNHVjMjkxY21ObExteGxibWQwYUNBdElERXNJQ2RDUVVSZlFVeEpRVk1uTENBblFXNWphRzl5SUdWdVpHbHVaeUJwYmlBNklHbHpJR0Z0WW1sbmRXOTFjeWNzSUhSeWRXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0Z1WTJodmNpQTlJSFJ2YTJWdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h6ZEdGeWRDQTlQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGNuUWdQU0IwYjJ0bGJpNXZabVp6WlhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lYUk9aWGRzYVc1bElEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FHRnpVM0JoWTJVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYRlRjR0ZqWlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2QwWVdjbk9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSaFp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWgwYjJ0bGJpd2dKMDFWVEZSSlVFeEZYMVJCUjFNbkxDQW5RU0J1YjJSbElHTmhiaUJvWVhabElHRjBJRzF2YzNRZ2IyNWxJSFJoWnljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUmhaeUE5SUhSdmEyVnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoemRHRnlkQ0E5UFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblFnUFNCMGIydGxiaTV2Wm1aelpYUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZWFJPWlhkc2FXNWxJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhR0Z6VTNCaFkyVWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWEZUY0dGalpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJR2x1WkdsallYUnZjanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCRGIzVnNaQ0JvWlhKbElHaGhibVJzWlNCd2NtVmpaV1JwYm1jZ1kyOXRiV1Z1ZEhNZ1pHbG1abVZ5Wlc1MGJIbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWVc1amFHOXlJSHg4SUhSaFp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWgwYjJ0bGJpd2dKMEpCUkY5UVVrOVFYMDlTUkVWU0p5d2dZRUZ1WTJodmNuTWdZVzVrSUhSaFozTWdiWFZ6ZENCaVpTQmhablJsY2lCMGFHVWdKSHQwYjJ0bGJpNXpiM1Z5WTJWOUlHbHVaR2xqWVhSdmNtQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobWIzVnVaQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loMGIydGxiaXdnSjFWT1JWaFFSVU5VUlVSZlZFOUxSVTRuTENCZ1ZXNWxlSEJsWTNSbFpDQWtlM1J2YTJWdUxuTnZkWEpqWlgwZ2FXNGdKSHRtYkc5M0lEOC9JQ2RqYjJ4c1pXTjBhVzl1SjMxZ0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm1iM1Z1WkNBOUlIUnZhMlZ1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdGMFRtVjNiR2x1WlNBOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2x1WkdsallYUnZjaUE5UFQwZ0ozTmxjUzFwZEdWdExXbHVaQ2NnZkh3Z2FXNWthV05oZEc5eUlEMDlQU0FuWlhod2JHbGphWFF0YTJWNUxXbHVaQ2M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYUdGelUzQmhZMlVnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMk52YlcxaEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWm14dmR5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMjl0YldFcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0hSdmEyVnVMQ0FuVlU1RldGQkZRMVJGUkY5VVQwdEZUaWNzSUdCVmJtVjRjR1ZqZEdWa0lDd2dhVzRnSkh0bWJHOTNmV0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjF0WVNBOUlIUnZhMlZ1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkRTVsZDJ4cGJtVWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYUdGelUzQmhZMlVnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnWld4elpTQm1ZV3hzZEdoeWIzVm5hRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0hSdmEyVnVMQ0FuVlU1RldGQkZRMVJGUkY5VVQwdEZUaWNzSUdCVmJtVjRjR1ZqZEdWa0lDUjdkRzlyWlc0dWRIbHdaWDBnZEc5clpXNWdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoZEU1bGQyeHBibVVnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JvWVhOVGNHRmpaU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUd4aGMzUWdQU0IwYjJ0bGJuTmJkRzlyWlc1ekxteGxibWQwYUNBdElERmRPMXh1SUNBZ0lHTnZibk4wSUdWdVpDQTlJR3hoYzNRZ1B5QnNZWE4wTG05bVpuTmxkQ0FySUd4aGMzUXVjMjkxY21ObExteGxibWQwYUNBNklHOW1abk5sZER0Y2JpQWdJQ0JwWmlBb2NtVnhVM0JoWTJVZ0ppWmNiaUFnSUNBZ0lDQWdibVY0ZENBbUpseHVJQ0FnSUNBZ0lDQnVaWGgwTG5SNWNHVWdJVDA5SUNkemNHRmpaU2NnSmlaY2JpQWdJQ0FnSUNBZ2JtVjRkQzUwZVhCbElDRTlQU0FuYm1WM2JHbHVaU2NnSmlaY2JpQWdJQ0FnSUNBZ2JtVjRkQzUwZVhCbElDRTlQU0FuWTI5dGJXRW5JQ1ltWEc0Z0lDQWdJQ0FnSUNodVpYaDBMblI1Y0dVZ0lUMDlJQ2R6WTJGc1lYSW5JSHg4SUc1bGVIUXVjMjkxY21ObElDRTlQU0FuSnlrcElIdGNiaUFnSUNBZ0lDQWdiMjVGY25KdmNpaHVaWGgwTG05bVpuTmxkQ3dnSjAxSlUxTkpUa2RmUTBoQlVpY3NJQ2RVWVdkeklHRnVaQ0JoYm1Ob2IzSnpJRzExYzNRZ1ltVWdjMlZ3WVhKaGRHVmtJR1p5YjIwZ2RHaGxJRzVsZUhRZ2RHOXJaVzRnWW5rZ2QyaHBkR1VnYzNCaFkyVW5LVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSFJoWWlBbUpseHVJQ0FnSUNBZ0lDQW9LR0YwVG1WM2JHbHVaU0FtSmlCMFlXSXVhVzVrWlc1MElEdzlJSEJoY21WdWRFbHVaR1Z1ZENrZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUc1bGVIUS9MblI1Y0dVZ1BUMDlJQ2RpYkc5amF5MXRZWEFuSUh4OFhHNGdJQ0FnSUNBZ0lDQWdJQ0J1WlhoMFB5NTBlWEJsSUQwOVBTQW5ZbXh2WTJzdGMyVnhKeWtwWEc0Z0lDQWdJQ0FnSUc5dVJYSnliM0lvZEdGaUxDQW5WRUZDWDBGVFgwbE9SRVZPVkNjc0lDZFVZV0p6SUdGeVpTQnViM1FnWVd4c2IzZGxaQ0JoY3lCcGJtUmxiblJoZEdsdmJpY3BPMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHTnZiVzFoTEZ4dUlDQWdJQ0FnSUNCbWIzVnVaQ3hjYmlBZ0lDQWdJQ0FnYzNCaFkyVkNaV1p2Y21Vc1hHNGdJQ0FnSUNBZ0lHTnZiVzFsYm5Rc1hHNGdJQ0FnSUNBZ0lHaGhjMDVsZDJ4cGJtVXNYRzRnSUNBZ0lDQWdJR0Z1WTJodmNpeGNiaUFnSUNBZ0lDQWdkR0ZuTEZ4dUlDQWdJQ0FnSUNCdVpYZHNhVzVsUVdaMFpYSlFjbTl3TEZ4dUlDQWdJQ0FnSUNCbGJtUXNYRzRnSUNBZ0lDQWdJSE4wWVhKME9pQnpkR0Z5ZENBL1B5QmxibVJjYmlBZ0lDQjlPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QnlaWE52YkhabFVISnZjSE1nZlR0Y2JpSXNJQ0ptZFc1amRHbHZiaUJqYjI1MFlXbHVjMDVsZDJ4cGJtVW9hMlY1S1NCN1hHNGdJQ0FnYVdZZ0tDRnJaWGtwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUhOM2FYUmphQ0FvYTJWNUxuUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWVd4cFlYTW5PbHh1SUNBZ0lDQWdJQ0JqWVhObElDZHpZMkZzWVhJbk9seHVJQ0FnSUNBZ0lDQmpZWE5sSUNka2IzVmliR1V0Y1hWdmRHVmtMWE5qWVd4aGNpYzZYRzRnSUNBZ0lDQWdJR05oYzJVZ0ozTnBibWRzWlMxeGRXOTBaV1F0YzJOaGJHRnlKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyWlhrdWMyOTFjbU5sTG1sdVkyeDFaR1Z6S0NkY1hHNG5LU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYa3VaVzVrS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2MzUWdiMllnYTJWNUxtVnVaQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSE4wTG5SNWNHVWdQVDA5SUNkdVpYZHNhVzVsSnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNkbWJHOTNMV052Ykd4bFkzUnBiMjRuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0JwZENCdlppQnJaWGt1YVhSbGJYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUhOMElHOW1JR2wwTG5OMFlYSjBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jM1F1ZEhsd1pTQTlQVDBnSjI1bGQyeHBibVVuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2wwTG5ObGNDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCemRDQnZaaUJwZEM1elpYQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYzNRdWRIbHdaU0E5UFQwZ0oyNWxkMnhwYm1VbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpiMjUwWVdsdWMwNWxkMnhwYm1Vb2FYUXVhMlY1S1NCOGZDQmpiMjUwWVdsdWMwNWxkMnhwYm1Vb2FYUXVkbUZzZFdVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibjFjYmx4dVpYaHdiM0owSUhzZ1kyOXVkR0ZwYm5OT1pYZHNhVzVsSUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnWTI5dWRHRnBibk5PWlhkc2FXNWxJSDBnWm5KdmJTQW5MaTkxZEdsc0xXTnZiblJoYVc1ekxXNWxkMnhwYm1VdWFuTW5PMXh1WEc1bWRXNWpkR2x2YmlCbWJHOTNTVzVrWlc1MFEyaGxZMnNvYVc1a1pXNTBMQ0JtWXl3Z2IyNUZjbkp2Y2lrZ2UxeHVJQ0FnSUdsbUlDaG1Zejh1ZEhsd1pTQTlQVDBnSjJac2IzY3RZMjlzYkdWamRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWlc1a0lEMGdabU11Wlc1a1d6QmRPMXh1SUNBZ0lDQWdJQ0JwWmlBb1pXNWtMbWx1WkdWdWRDQTlQVDBnYVc1a1pXNTBJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQW9aVzVrTG5OdmRYSmpaU0E5UFQwZ0oxMG5JSHg4SUdWdVpDNXpiM1Z5WTJVZ1BUMDlJQ2Q5SnlrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuUmhhVzV6VG1WM2JHbHVaU2htWXlrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzF6WnlBOUlDZEdiRzkzSUdWdVpDQnBibVJwWTJGMGIzSWdjMmh2ZFd4a0lHSmxJRzF2Y21VZ2FXNWtaVzUwWldRZ2RHaGhiaUJ3WVhKbGJuUW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2lobGJtUXNJQ2RDUVVSZlNVNUVSVTVVSnl3Z2JYTm5MQ0IwY25WbEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNibjFjYmx4dVpYaHdiM0owSUhzZ1pteHZkMGx1WkdWdWRFTm9aV05ySUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnYVhOVFkyRnNZWElnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlwWkdWdWRHbDBlUzVxY3ljN1hHNWNibVoxYm1OMGFXOXVJRzFoY0VsdVkyeDFaR1Z6S0dOMGVDd2dhWFJsYlhNc0lITmxZWEpqYUNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnZFc1cGNYVmxTMlY1Y3lCOUlEMGdZM1I0TG05d2RHbHZibk03WEc0Z0lDQWdhV1lnS0hWdWFYRjFaVXRsZVhNZ1BUMDlJR1poYkhObEtWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdZMjl1YzNRZ2FYTkZjWFZoYkNBOUlIUjVjR1Z2WmlCMWJtbHhkV1ZMWlhseklEMDlQU0FuWm5WdVkzUnBiMjRuWEc0Z0lDQWdJQ0FnSUQ4Z2RXNXBjWFZsUzJWNWMxeHVJQ0FnSUNBZ0lDQTZJQ2hoTENCaUtTQTlQaUJoSUQwOVBTQmlJSHg4SUNocGMxTmpZV3hoY2loaEtTQW1KaUJwYzFOallXeGhjaWhpS1NBbUppQmhMblpoYkhWbElEMDlQU0JpTG5aaGJIVmxLVHRjYmlBZ0lDQnlaWFIxY200Z2FYUmxiWE11YzI5dFpTaHdZV2x5SUQwK0lHbHpSWEYxWVd3b2NHRnBjaTVyWlhrc0lITmxZWEpqYUNrcE8xeHVmVnh1WEc1bGVIQnZjblFnZXlCdFlYQkpibU5zZFdSbGN5QjlPMXh1SWl3Z0ltbHRjRzl5ZENCN0lGQmhhWElnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlRWVdseUxtcHpKenRjYm1sdGNHOXlkQ0I3SUZsQlRVeE5ZWEFnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlaUVUxTVRXRndMbXB6Snp0Y2JtbHRjRzl5ZENCN0lISmxjMjlzZG1WUWNtOXdjeUI5SUdaeWIyMGdKeTR2Y21WemIyeDJaUzF3Y205d2N5NXFjeWM3WEc1cGJYQnZjblFnZXlCamIyNTBZV2x1YzA1bGQyeHBibVVnZlNCbWNtOXRJQ2N1TDNWMGFXd3RZMjl1ZEdGcGJuTXRibVYzYkdsdVpTNXFjeWM3WEc1cGJYQnZjblFnZXlCbWJHOTNTVzVrWlc1MFEyaGxZMnNnZlNCbWNtOXRJQ2N1TDNWMGFXd3RabXh2ZHkxcGJtUmxiblF0WTJobFkyc3Vhbk1uTzF4dWFXMXdiM0owSUhzZ2JXRndTVzVqYkhWa1pYTWdmU0JtY205dElDY3VMM1YwYVd3dGJXRndMV2x1WTJ4MVpHVnpMbXB6Snp0Y2JseHVZMjl1YzNRZ2MzUmhjblJEYjJ4TmMyY2dQU0FuUVd4c0lHMWhjSEJwYm1jZ2FYUmxiWE1nYlhWemRDQnpkR0Z5ZENCaGRDQjBhR1VnYzJGdFpTQmpiMngxYlc0bk8xeHVablZ1WTNScGIyNGdjbVZ6YjJ4MlpVSnNiMk5yVFdGd0tIc2dZMjl0Y0c5elpVNXZaR1VzSUdOdmJYQnZjMlZGYlhCMGVVNXZaR1VnZlN3Z1kzUjRMQ0JpYlN3Z2IyNUZjbkp2Y2l3Z2RHRm5LU0I3WEc0Z0lDQWdZMjl1YzNRZ1RtOWtaVU5zWVhOeklEMGdkR0ZuUHk1dWIyUmxRMnhoYzNNZ1B6OGdXVUZOVEUxaGNEdGNiaUFnSUNCamIyNXpkQ0J0WVhBZ1BTQnVaWGNnVG05a1pVTnNZWE56S0dOMGVDNXpZMmhsYldFcE8xeHVJQ0FnSUdsbUlDaGpkSGd1WVhSU2IyOTBLVnh1SUNBZ0lDQWdJQ0JqZEhndVlYUlNiMjkwSUQwZ1ptRnNjMlU3WEc0Z0lDQWdiR1YwSUc5bVpuTmxkQ0E5SUdKdExtOW1abk5sZER0Y2JpQWdJQ0JzWlhRZ1kyOXRiV1Z1ZEVWdVpDQTlJRzUxYkd3N1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCamIyeHNTWFJsYlNCdlppQmliUzVwZEdWdGN5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjdJSE4wWVhKMExDQnJaWGtzSUhObGNDd2dkbUZzZFdVZ2ZTQTlJR052Ykd4SmRHVnRPMXh1SUNBZ0lDQWdJQ0F2THlCclpYa2djSEp2Y0dWeWRHbGxjMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnJaWGxRY205d2N5QTlJSEpsYzI5c2RtVlFjbTl3Y3loemRHRnlkQ3dnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhVzVrYVdOaGRHOXlPaUFuWlhod2JHbGphWFF0YTJWNUxXbHVaQ2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnVaWGgwT2lCclpYa2dQejhnYzJWd1B5NWJNRjBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRnlaVzUwU1c1a1pXNTBPaUJpYlM1cGJtUmxiblFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkR0Z5ZEU5dVRtVjNiR2x1WlRvZ2RISjFaVnh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVcxd2JHbGphWFJMWlhrZ1BTQWhhMlY1VUhKdmNITXVabTkxYm1RN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYlhCc2FXTnBkRXRsZVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHdGxlU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHJaWGt1ZEhsd1pTQTlQVDBnSjJKc2IyTnJMWE5sY1NjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9iMlptYzJWMExDQW5Ra3hQUTB0ZlFWTmZTVTFRVEVsRFNWUmZTMFZaSnl3Z0owRWdZbXh2WTJzZ2MyVnhkV1Z1WTJVZ2JXRjVJRzV2ZENCaVpTQjFjMlZrSUdGeklHRnVJR2x0Y0d4cFkybDBJRzFoY0NCclpYa25LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2duYVc1a1pXNTBKeUJwYmlCclpYa2dKaVlnYTJWNUxtbHVaR1Z1ZENBaFBUMGdZbTB1YVc1a1pXNTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0c5bVpuTmxkQ3dnSjBKQlJGOUpUa1JGVGxRbkxDQnpkR0Z5ZEVOdmJFMXpaeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV3RsZVZCeWIzQnpMbUZ1WTJodmNpQW1KaUFoYTJWNVVISnZjSE11ZEdGbklDWW1JQ0Z6WlhBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjF0Wlc1MFJXNWtJRDBnYTJWNVVISnZjSE11Wlc1a08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyWlhsUWNtOXdjeTVqYjIxdFpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h0WVhBdVkyOXRiV1Z1ZENsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGNDNWpiMjF0Wlc1MElDczlJQ2RjWEc0bklDc2dhMlY1VUhKdmNITXVZMjl0YldWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JXRndMbU52YlcxbGJuUWdQU0JyWlhsUWNtOXdjeTVqYjIxdFpXNTBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHJaWGxRY205d2N5NXVaWGRzYVc1bFFXWjBaWEpRY205d0lIeDhJR052Ym5SaGFXNXpUbVYzYkdsdVpTaHJaWGtwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loclpYa2dQejhnYzNSaGNuUmJjM1JoY25RdWJHVnVaM1JvSUMwZ01WMHNJQ2ROVlV4VVNVeEpUa1ZmU1UxUVRFbERTVlJmUzBWWkp5d2dKMGx0Y0d4cFkybDBJR3RsZVhNZ2JtVmxaQ0IwYnlCaVpTQnZiaUJoSUhOcGJtZHNaU0JzYVc1bEp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9hMlY1VUhKdmNITXVabTkxYm1RL0xtbHVaR1Z1ZENBaFBUMGdZbTB1YVc1a1pXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHOW1abk5sZEN3Z0owSkJSRjlKVGtSRlRsUW5MQ0J6ZEdGeWRFTnZiRTF6WnlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdMeThnYTJWNUlIWmhiSFZsWEc0Z0lDQWdJQ0FnSUdOMGVDNWhkRXRsZVNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR3RsZVZOMFlYSjBJRDBnYTJWNVVISnZjSE11Wlc1a08xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCclpYbE9iMlJsSUQwZ2EyVjVYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lHTnZiWEJ2YzJWT2IyUmxLR04wZUN3Z2EyVjVMQ0JyWlhsUWNtOXdjeXdnYjI1RmNuSnZjaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dZMjl0Y0c5elpVVnRjSFI1VG05a1pTaGpkSGdzSUd0bGVWTjBZWEowTENCemRHRnlkQ3dnYm5Wc2JDd2dhMlY1VUhKdmNITXNJRzl1UlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb1kzUjRMbk5qYUdWdFlTNWpiMjF3WVhRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JtYkc5M1NXNWtaVzUwUTJobFkyc29ZbTB1YVc1a1pXNTBMQ0JyWlhrc0lHOXVSWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQmpkSGd1WVhSTFpYa2dQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdhV1lnS0cxaGNFbHVZMngxWkdWektHTjBlQ3dnYldGd0xtbDBaVzF6TENCclpYbE9iMlJsS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9hMlY1VTNSaGNuUXNJQ2RFVlZCTVNVTkJWRVZmUzBWWkp5d2dKMDFoY0NCclpYbHpJRzExYzNRZ1ltVWdkVzVwY1hWbEp5azdYRzRnSUNBZ0lDQWdJQzh2SUhaaGJIVmxJSEJ5YjNCbGNuUnBaWE5jYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkbUZzZFdWUWNtOXdjeUE5SUhKbGMyOXNkbVZRY205d2N5aHpaWEFnUHo4Z1cxMHNJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVaR2xqWVhSdmNqb2dKMjFoY0MxMllXeDFaUzFwYm1RbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYm1WNGREb2dkbUZzZFdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J2Wm1aelpYUTZJR3RsZVU1dlpHVXVjbUZ1WjJWYk1sMHNYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjR0Z5Wlc1MFNXNWtaVzUwT2lCaWJTNXBibVJsYm5Rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZEdGeWRFOXVUbVYzYkdsdVpUb2dJV3RsZVNCOGZDQnJaWGt1ZEhsd1pTQTlQVDBnSjJKc2IyTnJMWE5qWVd4aGNpZGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUc5bVpuTmxkQ0E5SUhaaGJIVmxVSEp2Y0hNdVpXNWtPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1ZRY205d2N5NW1iM1Z1WkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbHRjR3hwWTJsMFMyVjVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsUHk1MGVYQmxJRDA5UFNBbllteHZZMnN0YldGd0p5QW1KaUFoZG1Gc2RXVlFjbTl3Y3k1b1lYTk9aWGRzYVc1bEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLRzltWm5ObGRDd2dKMEpNVDBOTFgwRlRYMGxOVUV4SlEwbFVYMHRGV1Njc0lDZE9aWE4wWldRZ2JXRndjR2x1WjNNZ1lYSmxJRzV2ZENCaGJHeHZkMlZrSUdsdUlHTnZiWEJoWTNRZ2JXRndjR2x1WjNNbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTNSNExtOXdkR2x2Ym5NdWMzUnlhV04wSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3RsZVZCeWIzQnpMbk4wWVhKMElEd2dkbUZzZFdWUWNtOXdjeTVtYjNWdVpDNXZabVp6WlhRZ0xTQXhNREkwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHdGxlVTV2WkdVdWNtRnVaMlVzSUNkTFJWbGZUMVpGVWw4eE1ESTBYME5JUVZKVEp5d2dKMVJvWlNBNklHbHVaR2xqWVhSdmNpQnRkWE4wSUdKbElHRjBJRzF2YzNRZ01UQXlOQ0JqYUdGeWN5QmhablJsY2lCMGFHVWdjM1JoY25RZ2IyWWdZVzRnYVcxd2JHbGphWFFnWW14dlkyc2diV0Z3Y0dsdVp5QnJaWGtuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJSFpoYkhWbElIWmhiSFZsWEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCMllXeDFaVTV2WkdVZ1BTQjJZV3gxWlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z1kyOXRjRzl6WlU1dlpHVW9ZM1I0TENCMllXeDFaU3dnZG1Gc2RXVlFjbTl3Y3l3Z2IyNUZjbkp2Y2lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklHTnZiWEJ2YzJWRmJYQjBlVTV2WkdVb1kzUjRMQ0J2Wm1aelpYUXNJSE5sY0N3Z2JuVnNiQ3dnZG1Gc2RXVlFjbTl3Y3l3Z2IyNUZjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kzUjRMbk5qYUdWdFlTNWpiMjF3WVhRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pteHZkMGx1WkdWdWRFTm9aV05yS0dKdExtbHVaR1Z1ZEN3Z2RtRnNkV1VzSUc5dVJYSnliM0lwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdiMlptYzJWMElEMGdkbUZzZFdWT2IyUmxMbkpoYm1kbFd6SmRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY0dGcGNpQTlJRzVsZHlCUVlXbHlLR3RsZVU1dlpHVXNJSFpoYkhWbFRtOWtaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTNSNExtOXdkR2x2Ym5NdWEyVmxjRk52ZFhKalpWUnZhMlZ1Y3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lXbHlMbk55WTFSdmEyVnVJRDBnWTI5c2JFbDBaVzA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnRZWEF1YVhSbGJYTXVjSFZ6YUNod1lXbHlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3RsZVNCM2FYUm9JRzV2SUhaaGJIVmxYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hVzF3YkdsamFYUkxaWGtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWhyWlhsT2IyUmxMbkpoYm1kbExDQW5UVWxUVTBsT1IxOURTRUZTSnl3Z0owbHRjR3hwWTJsMElHMWhjQ0JyWlhseklHNWxaV1FnZEc4Z1ltVWdabTlzYkc5M1pXUWdZbmtnYldGd0lIWmhiSFZsY3ljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsVUhKdmNITXVZMjl0YldWdWRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYbE9iMlJsTG1OdmJXMWxiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHdGxlVTV2WkdVdVkyOXRiV1Z1ZENBclBTQW5YRnh1SnlBcklIWmhiSFZsVUhKdmNITXVZMjl0YldWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHdGxlVTV2WkdVdVkyOXRiV1Z1ZENBOUlIWmhiSFZsVUhKdmNITXVZMjl0YldWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIQmhhWElnUFNCdVpYY2dVR0ZwY2loclpYbE9iMlJsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamRIZ3ViM0IwYVc5dWN5NXJaV1Z3VTI5MWNtTmxWRzlyWlc1ektWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIQmhhWEl1YzNKalZHOXJaVzRnUFNCamIyeHNTWFJsYlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzFoY0M1cGRHVnRjeTV3ZFhOb0tIQmhhWElwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoamIyMXRaVzUwUlc1a0lDWW1JR052YlcxbGJuUkZibVFnUENCdlptWnpaWFFwWEc0Z0lDQWdJQ0FnSUc5dVJYSnliM0lvWTI5dGJXVnVkRVZ1WkN3Z0owbE5VRTlUVTBsQ1RFVW5MQ0FuVFdGd0lHTnZiVzFsYm5RZ2QybDBhQ0IwY21GcGJHbHVaeUJqYjI1MFpXNTBKeWs3WEc0Z0lDQWdiV0Z3TG5KaGJtZGxJRDBnVzJKdExtOW1abk5sZEN3Z2IyWm1jMlYwTENCamIyMXRaVzUwUlc1a0lEOC9JRzltWm5ObGRGMDdYRzRnSUNBZ2NtVjBkWEp1SUcxaGNEdGNibjFjYmx4dVpYaHdiM0owSUhzZ2NtVnpiMngyWlVKc2IyTnJUV0Z3SUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnV1VGTlRGTmxjU0I5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMWxCVFV4VFpYRXVhbk1uTzF4dWFXMXdiM0owSUhzZ2NtVnpiMngyWlZCeWIzQnpJSDBnWm5KdmJTQW5MaTl5WlhOdmJIWmxMWEJ5YjNCekxtcHpKenRjYm1sdGNHOXlkQ0I3SUdac2IzZEpibVJsYm5SRGFHVmpheUI5SUdaeWIyMGdKeTR2ZFhScGJDMW1iRzkzTFdsdVpHVnVkQzFqYUdWamF5NXFjeWM3WEc1Y2JtWjFibU4wYVc5dUlISmxjMjlzZG1WQ2JHOWphMU5sY1NoN0lHTnZiWEJ2YzJWT2IyUmxMQ0JqYjIxd2IzTmxSVzF3ZEhsT2IyUmxJSDBzSUdOMGVDd2dZbk1zSUc5dVJYSnliM0lzSUhSaFp5a2dlMXh1SUNBZ0lHTnZibk4wSUU1dlpHVkRiR0Z6Y3lBOUlIUmhaejh1Ym05a1pVTnNZWE56SUQ4L0lGbEJUVXhUWlhFN1hHNGdJQ0FnWTI5dWMzUWdjMlZ4SUQwZ2JtVjNJRTV2WkdWRGJHRnpjeWhqZEhndWMyTm9aVzFoS1R0Y2JpQWdJQ0JwWmlBb1kzUjRMbUYwVW05dmRDbGNiaUFnSUNBZ0lDQWdZM1I0TG1GMFVtOXZkQ0E5SUdaaGJITmxPMXh1SUNBZ0lHbG1JQ2hqZEhndVlYUkxaWGtwWEc0Z0lDQWdJQ0FnSUdOMGVDNWhkRXRsZVNBOUlHWmhiSE5sTzF4dUlDQWdJR3hsZENCdlptWnpaWFFnUFNCaWN5NXZabVp6WlhRN1hHNGdJQ0FnYkdWMElHTnZiVzFsYm5SRmJtUWdQU0J1ZFd4c08xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2V5QnpkR0Z5ZEN3Z2RtRnNkV1VnZlNCdlppQmljeTVwZEdWdGN5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQndjbTl3Y3lBOUlISmxjMjlzZG1WUWNtOXdjeWh6ZEdGeWRDd2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNWthV05oZEc5eU9pQW5jMlZ4TFdsMFpXMHRhVzVrSnl4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsZUhRNklIWmhiSFZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiMlptYzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhjbVZ1ZEVsdVpHVnVkRG9nWW5NdWFXNWtaVzUwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1JoY25SUGJrNWxkMnhwYm1VNklIUnlkV1ZjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doY0hKdmNITXVabTkxYm1RcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHdjbTl3Y3k1aGJtTm9iM0lnZkh3Z2NISnZjSE11ZEdGbklIeDhJSFpoYkhWbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0haaGJIVmxJQ1ltSUhaaGJIVmxMblI1Y0dVZ1BUMDlJQ2RpYkc5amF5MXpaWEVuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtIQnliM0J6TG1WdVpDd2dKMEpCUkY5SlRrUkZUbFFuTENBblFXeHNJSE5sY1hWbGJtTmxJR2wwWlcxeklHMTFjM1FnYzNSaGNuUWdZWFFnZEdobElITmhiV1VnWTI5c2RXMXVKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLRzltWm5ObGRDd2dKMDFKVTFOSlRrZGZRMGhCVWljc0lDZFRaWEYxWlc1alpTQnBkR1Z0SUhkcGRHaHZkWFFnTFNCcGJtUnBZMkYwYjNJbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiVzFsYm5SRmJtUWdQU0J3Y205d2N5NWxibVE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIQnliM0J6TG1OdmJXMWxiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITmxjUzVqYjIxdFpXNTBJRDBnY0hKdmNITXVZMjl0YldWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnZG1Gc2RXVmNiaUFnSUNBZ0lDQWdJQ0FnSUQ4Z1kyOXRjRzl6WlU1dlpHVW9ZM1I0TENCMllXeDFaU3dnY0hKdmNITXNJRzl1UlhKeWIzSXBYRzRnSUNBZ0lDQWdJQ0FnSUNBNklHTnZiWEJ2YzJWRmJYQjBlVTV2WkdVb1kzUjRMQ0J3Y205d2N5NWxibVFzSUhOMFlYSjBMQ0J1ZFd4c0xDQndjbTl3Y3l3Z2IyNUZjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqZEhndWMyTm9aVzFoTG1OdmJYQmhkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnNiM2RKYm1SbGJuUkRhR1ZqYXloaWN5NXBibVJsYm5Rc0lIWmhiSFZsTENCdmJrVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ2IyWm1jMlYwSUQwZ2JtOWtaUzV5WVc1blpWc3lYVHRjYmlBZ0lDQWdJQ0FnYzJWeExtbDBaVzF6TG5CMWMyZ29ibTlrWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSE5sY1M1eVlXNW5aU0E5SUZ0aWN5NXZabVp6WlhRc0lHOW1abk5sZEN3Z1kyOXRiV1Z1ZEVWdVpDQS9QeUJ2Wm1aelpYUmRPMXh1SUNBZ0lISmxkSFZ5YmlCelpYRTdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lISmxjMjlzZG1WQ2JHOWphMU5sY1NCOU8xeHVJaXdnSW1aMWJtTjBhVzl1SUhKbGMyOXNkbVZGYm1Rb1pXNWtMQ0J2Wm1aelpYUXNJSEpsY1ZOd1lXTmxMQ0J2YmtWeWNtOXlLU0I3WEc0Z0lDQWdiR1YwSUdOdmJXMWxiblFnUFNBbkp6dGNiaUFnSUNCcFppQW9aVzVrS1NCN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JvWVhOVGNHRmpaU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0JzWlhRZ2MyVndJRDBnSnljN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdkRzlyWlc0Z2IyWWdaVzVrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQjdJSE52ZFhKalpTd2dkSGx3WlNCOUlEMGdkRzlyWlc0N1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSFI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkemNHRmpaU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaGhjMU53WVdObElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWTI5dGJXVnVkQ2M2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGNWTndZV05sSUNZbUlDRm9ZWE5UY0dGalpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2RHOXJaVzRzSUNkTlNWTlRTVTVIWDBOSVFWSW5MQ0FuUTI5dGJXVnVkSE1nYlhWemRDQmlaU0J6WlhCaGNtRjBaV1FnWm5KdmJTQnZkR2hsY2lCMGIydGxibk1nWW5rZ2QyaHBkR1VnYzNCaFkyVWdZMmhoY21GamRHVnljeWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCallpQTlJSE52ZFhKalpTNXpkV0p6ZEhKcGJtY29NU2tnZkh3Z0p5QW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV052YlcxbGJuUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjF0Wlc1MElEMGdZMkk3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052YlcxbGJuUWdLejBnYzJWd0lDc2dZMkk3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITmxjQ0E5SUNjbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmJtVjNiR2x1WlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamIyMXRaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzJWd0lDczlJSE52ZFhKalpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYUdGelUzQmhZMlVnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0hSdmEyVnVMQ0FuVlU1RldGQkZRMVJGUkY5VVQwdEZUaWNzSUdCVmJtVjRjR1ZqZEdWa0lDUjdkSGx3WlgwZ1lYUWdibTlrWlNCbGJtUmdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkQ0FyUFNCemIzVnlZMlV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCN0lHTnZiVzFsYm5Rc0lHOW1abk5sZENCOU8xeHVmVnh1WEc1bGVIQnZjblFnZXlCeVpYTnZiSFpsUlc1a0lIMDdYRzRpTENBaWFXMXdiM0owSUhzZ2FYTlFZV2x5SUgwZ1puSnZiU0FuTGk0dmJtOWtaWE12YVdSbGJuUnBkSGt1YW5Nbk8xeHVhVzF3YjNKMElIc2dVR0ZwY2lCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDFCaGFYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ1dVRk5URTFoY0NCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDFsQlRVeE5ZWEF1YW5Nbk8xeHVhVzF3YjNKMElIc2dXVUZOVEZObGNTQjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwxbEJUVXhUWlhFdWFuTW5PMXh1YVcxd2IzSjBJSHNnY21WemIyeDJaVVZ1WkNCOUlHWnliMjBnSnk0dmNtVnpiMngyWlMxbGJtUXVhbk1uTzF4dWFXMXdiM0owSUhzZ2NtVnpiMngyWlZCeWIzQnpJSDBnWm5KdmJTQW5MaTl5WlhOdmJIWmxMWEJ5YjNCekxtcHpKenRjYm1sdGNHOXlkQ0I3SUdOdmJuUmhhVzV6VG1WM2JHbHVaU0I5SUdaeWIyMGdKeTR2ZFhScGJDMWpiMjUwWVdsdWN5MXVaWGRzYVc1bExtcHpKenRjYm1sdGNHOXlkQ0I3SUcxaGNFbHVZMngxWkdWeklIMGdabkp2YlNBbkxpOTFkR2xzTFcxaGNDMXBibU5zZFdSbGN5NXFjeWM3WEc1Y2JtTnZibk4wSUdKc2IyTnJUWE5uSUQwZ0owSnNiMk5ySUdOdmJHeGxZM1JwYjI1eklHRnlaU0J1YjNRZ1lXeHNiM2RsWkNCM2FYUm9hVzRnWm14dmR5QmpiMnhzWldOMGFXOXVjeWM3WEc1amIyNXpkQ0JwYzBKc2IyTnJJRDBnS0hSdmEyVnVLU0E5UGlCMGIydGxiaUFtSmlBb2RHOXJaVzR1ZEhsd1pTQTlQVDBnSjJKc2IyTnJMVzFoY0NjZ2ZId2dkRzlyWlc0dWRIbHdaU0E5UFQwZ0oySnNiMk5yTFhObGNTY3BPMXh1Wm5WdVkzUnBiMjRnY21WemIyeDJaVVpzYjNkRGIyeHNaV04wYVc5dUtIc2dZMjl0Y0c5elpVNXZaR1VzSUdOdmJYQnZjMlZGYlhCMGVVNXZaR1VnZlN3Z1kzUjRMQ0JtWXl3Z2IyNUZjbkp2Y2l3Z2RHRm5LU0I3WEc0Z0lDQWdZMjl1YzNRZ2FYTk5ZWEFnUFNCbVl5NXpkR0Z5ZEM1emIzVnlZMlVnUFQwOUlDZDdKenRjYmlBZ0lDQmpiMjV6ZENCbVkwNWhiV1VnUFNCcGMwMWhjQ0EvSUNkbWJHOTNJRzFoY0NjZ09pQW5abXh2ZHlCelpYRjFaVzVqWlNjN1hHNGdJQ0FnWTI5dWMzUWdUbTlrWlVOc1lYTnpJRDBnS0hSaFp6OHVibTlrWlVOc1lYTnpJRDgvSUNocGMwMWhjQ0EvSUZsQlRVeE5ZWEFnT2lCWlFVMU1VMlZ4S1NrN1hHNGdJQ0FnWTI5dWMzUWdZMjlzYkNBOUlHNWxkeUJPYjJSbFEyeGhjM01vWTNSNExuTmphR1Z0WVNrN1hHNGdJQ0FnWTI5c2JDNW1iRzkzSUQwZ2RISjFaVHRjYmlBZ0lDQmpiMjV6ZENCaGRGSnZiM1FnUFNCamRIZ3VZWFJTYjI5ME8xeHVJQ0FnSUdsbUlDaGhkRkp2YjNRcFhHNGdJQ0FnSUNBZ0lHTjBlQzVoZEZKdmIzUWdQU0JtWVd4elpUdGNiaUFnSUNCcFppQW9ZM1I0TG1GMFMyVjVLVnh1SUNBZ0lDQWdJQ0JqZEhndVlYUkxaWGtnUFNCbVlXeHpaVHRjYmlBZ0lDQnNaWFFnYjJabWMyVjBJRDBnWm1NdWIyWm1jMlYwSUNzZ1ptTXVjM1JoY25RdWMyOTFjbU5sTG14bGJtZDBhRHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1pqTG1sMFpXMXpMbXhsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdOdmJHeEpkR1Z0SUQwZ1ptTXVhWFJsYlhOYmFWMDdYRzRnSUNBZ0lDQWdJR052Ym5OMElIc2djM1JoY25Rc0lHdGxlU3dnYzJWd0xDQjJZV3gxWlNCOUlEMGdZMjlzYkVsMFpXMDdYRzRnSUNBZ0lDQWdJR052Ym5OMElIQnliM0J6SUQwZ2NtVnpiMngyWlZCeWIzQnpLSE4wWVhKMExDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCbWJHOTNPaUJtWTA1aGJXVXNYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJtUnBZMkYwYjNJNklDZGxlSEJzYVdOcGRDMXJaWGt0YVc1a0p5eGNiaUFnSUNBZ0lDQWdJQ0FnSUc1bGVIUTZJR3RsZVNBL1B5QnpaWEEvTGxzd1hTeGNiaUFnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3WVhKbGJuUkpibVJsYm5RNklHWmpMbWx1WkdWdWRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMFlYSjBUMjVPWlhkc2FXNWxPaUJtWVd4elpWeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRndjbTl3Y3k1bWIzVnVaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGd2NtOXdjeTVoYm1Ob2IzSWdKaVlnSVhCeWIzQnpMblJoWnlBbUppQWhjMlZ3SUNZbUlDRjJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwSUQwOVBTQXdJQ1ltSUhCeWIzQnpMbU52YlcxaEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSEJ5YjNCekxtTnZiVzFoTENBblZVNUZXRkJGUTFSRlJGOVVUMHRGVGljc0lHQlZibVY0Y0dWamRHVmtJQ3dnYVc0Z0pIdG1ZMDVoYldWOVlDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9hU0E4SUdaakxtbDBaVzF6TG14bGJtZDBhQ0F0SURFcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9jSEp2Y0hNdWMzUmhjblFzSUNkVlRrVllVRVZEVkVWRVgxUlBTMFZPSnl3Z1lGVnVaWGh3WldOMFpXUWdaVzF3ZEhrZ2FYUmxiU0JwYmlBa2UyWmpUbUZ0WlgxZ0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY0hKdmNITXVZMjl0YldWdWRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMjlzYkM1amIyMXRaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JDNWpiMjF0Wlc1MElDczlJQ2RjWEc0bklDc2djSEp2Y0hNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JDNWpiMjF0Wlc1MElEMGdjSEp2Y0hNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyWm1jMlYwSUQwZ2NISnZjSE11Wlc1a08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGcGMwMWhjQ0FtSmlCamRIZ3ViM0IwYVc5dWN5NXpkSEpwWTNRZ0ppWWdZMjl1ZEdGcGJuTk9aWGRzYVc1bEtHdGxlU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWhyWlhrc0lDOHZJR05vWldOclpXUWdZbmtnWTI5dWRHRnBibk5PWlhkc2FXNWxLQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FuVFZWTVZFbE1TVTVGWDBsTlVFeEpRMGxVWDB0RldTY3NJQ2RKYlhCc2FXTnBkQ0JyWlhseklHOW1JR1pzYjNjZ2MyVnhkV1Z1WTJVZ2NHRnBjbk1nYm1WbFpDQjBieUJpWlNCdmJpQmhJSE5wYm1kc1pTQnNhVzVsSnlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0drZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNod2NtOXdjeTVqYjIxdFlTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtIQnliM0J6TG1OdmJXMWhMQ0FuVlU1RldGQkZRMVJGUkY5VVQwdEZUaWNzSUdCVmJtVjRjR1ZqZEdWa0lDd2dhVzRnSkh0bVkwNWhiV1Y5WUNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lYQnliM0J6TG1OdmJXMWhLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9jSEp2Y0hNdWMzUmhjblFzSUNkTlNWTlRTVTVIWDBOSVFWSW5MQ0JnVFdsemMybHVaeUFzSUdKbGRIZGxaVzRnSkh0bVkwNWhiV1Y5SUdsMFpXMXpZQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY0hKdmNITXVZMjl0YldWdWRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hsZENCd2NtVjJTWFJsYlVOdmJXMWxiblFnUFNBbkp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNiMjl3T2lCbWIzSWdLR052Ym5OMElITjBJRzltSUhOMFlYSjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjNhWFJqYUNBb2MzUXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWTI5dGJXRW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmMzQmhZMlVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZMjl0YldWdWRDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKbGRrbDBaVzFEYjIxdFpXNTBJRDBnYzNRdWMyOTFjbU5sTG5OMVluTjBjbWx1WnlneEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF5QnNiMjl3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhheUJzYjI5d08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHdjbVYyU1hSbGJVTnZiVzFsYm5RcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElIQnlaWFlnUFNCamIyeHNMbWwwWlcxelcyTnZiR3d1YVhSbGJYTXViR1Z1WjNSb0lDMGdNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYzFCaGFYSW9jSEpsZGlrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2NtVjJJRDBnY0hKbGRpNTJZV3gxWlNBL1B5QndjbVYyTG10bGVUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIQnlaWFl1WTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEJ5WlhZdVkyOXRiV1Z1ZENBclBTQW5YRnh1SnlBcklIQnlaWFpKZEdWdFEyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKbGRpNWpiMjF0Wlc1MElEMGdjSEpsZGtsMFpXMURiMjF0Wlc1ME8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y205d2N5NWpiMjF0Wlc1MElEMGdjSEp2Y0hNdVkyOXRiV1Z1ZEM1emRXSnpkSEpwYm1jb2NISmxka2wwWlcxRGIyMXRaVzUwTG14bGJtZDBhQ0FySURFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvSVdselRXRndJQ1ltSUNGelpYQWdKaVlnSVhCeWIzQnpMbVp2ZFc1a0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBkR1Z0SUdseklHRWdkbUZzZFdVZ2FXNGdZU0J6WlhGY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZ4MU1qRTVNaUJyWlhrZ0ppQnpaWEFnWVhKbElHVnRjSFI1TENCemRHRnlkQ0JrYjJWeklHNXZkQ0JwYm1Oc2RXUmxJRDhnYjNJZ09seHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdkbUZzZFdWT2IyUmxJRDBnZG1Gc2RXVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JR052YlhCdmMyVk9iMlJsS0dOMGVDd2dkbUZzZFdVc0lIQnliM0J6TENCdmJrVnljbTl5S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURvZ1kyOXRjRzl6WlVWdGNIUjVUbTlrWlNoamRIZ3NJSEJ5YjNCekxtVnVaQ3dnYzJWd0xDQnVkV3hzTENCd2NtOXdjeXdnYjI1RmNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMnhzTG1sMFpXMXpMbkIxYzJnb2RtRnNkV1ZPYjJSbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkQ0E5SUhaaGJIVmxUbTlrWlM1eVlXNW5aVnN5WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGMwSnNiMk5yS0haaGJIVmxLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSFpoYkhWbFRtOWtaUzV5WVc1blpTd2dKMEpNVDBOTFgwbE9YMFpNVDFjbkxDQmliRzlqYTAxelp5azdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBkR1Z0SUdseklHRWdhMlY1SzNaaGJIVmxJSEJoYVhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUd0bGVTQjJZV3gxWlZ4dUlDQWdJQ0FnSUNBZ0lDQWdZM1I0TG1GMFMyVjVJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3RsZVZOMFlYSjBJRDBnY0hKdmNITXVaVzVrTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2EyVjVUbTlrWlNBOUlHdGxlVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnWTI5dGNHOXpaVTV2WkdVb1kzUjRMQ0JyWlhrc0lIQnliM0J6TENCdmJrVnljbTl5S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURvZ1kyOXRjRzl6WlVWdGNIUjVUbTlrWlNoamRIZ3NJR3RsZVZOMFlYSjBMQ0J6ZEdGeWRDd2diblZzYkN3Z2NISnZjSE1zSUc5dVJYSnliM0lwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dselFteHZZMnNvYTJWNUtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHdGxlVTV2WkdVdWNtRnVaMlVzSUNkQ1RFOURTMTlKVGw5R1RFOVhKeXdnWW14dlkydE5jMmNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZM1I0TG1GMFMyVjVJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjJZV3gxWlNCd2NtOXdaWEowYVdWelhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQjJZV3gxWlZCeWIzQnpJRDBnY21WemIyeDJaVkJ5YjNCektITmxjQ0EvUHlCYlhTd2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1pzYjNjNklHWmpUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGJtUnBZMkYwYjNJNklDZHRZWEF0ZG1Gc2RXVXRhVzVrSnl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdVpYaDBPaUIyWVd4MVpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklHdGxlVTV2WkdVdWNtRnVaMlZiTWwwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lYSmxiblJKYm1SbGJuUTZJR1pqTG1sdVpHVnVkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEdGeWRFOXVUbVYzYkdsdVpUb2dabUZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0haaGJIVmxVSEp2Y0hNdVptOTFibVFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV2x6VFdGd0lDWW1JQ0Z3Y205d2N5NW1iM1Z1WkNBbUppQmpkSGd1YjNCMGFXOXVjeTV6ZEhKcFkzUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSE5sY0NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2MzUWdiMllnYzJWd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tITjBJRDA5UFNCMllXeDFaVkJ5YjNCekxtWnZkVzVrS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MzUXVkSGx3WlNBOVBUMGdKMjVsZDJ4cGJtVW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9jM1FzSUNkTlZVeFVTVXhKVGtWZlNVMVFURWxEU1ZSZlMwVlpKeXdnSjBsdGNHeHBZMmwwSUd0bGVYTWdiMllnWm14dmR5QnpaWEYxWlc1alpTQndZV2x5Y3lCdVpXVmtJSFJ2SUdKbElHOXVJR0VnYzJsdVoyeGxJR3hwYm1VbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NISnZjSE11YzNSaGNuUWdQQ0IyWVd4MVpWQnliM0J6TG1admRXNWtMbTltWm5ObGRDQXRJREV3TWpRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0haaGJIVmxVSEp2Y0hNdVptOTFibVFzSUNkTFJWbGZUMVpGVWw4eE1ESTBYME5JUVZKVEp5d2dKMVJvWlNBNklHbHVaR2xqWVhSdmNpQnRkWE4wSUdKbElHRjBJRzF2YzNRZ01UQXlOQ0JqYUdGeWN5QmhablJsY2lCMGFHVWdjM1JoY25RZ2IyWWdZVzRnYVcxd2JHbGphWFFnWm14dmR5QnpaWEYxWlc1alpTQnJaWGtuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaDJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2duYzI5MWNtTmxKeUJwYmlCMllXeDFaU0FtSmlCMllXeDFaUzV6YjNWeVkyVWdKaVlnZG1Gc2RXVXVjMjkxY21ObFd6QmRJRDA5UFNBbk9pY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvZG1Gc2RXVXNJQ2ROU1ZOVFNVNUhYME5JUVZJbkxDQmdUV2x6YzJsdVp5QnpjR0ZqWlNCaFpuUmxjaUE2SUdsdUlDUjdabU5PWVcxbGZXQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaDJZV3gxWlZCeWIzQnpMbk4wWVhKMExDQW5UVWxUVTBsT1IxOURTRUZTSnl3Z1lFMXBjM05wYm1jZ0xDQnZjaUE2SUdKbGRIZGxaVzRnSkh0bVkwNWhiV1Y5SUdsMFpXMXpZQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjJZV3gxWlNCMllXeDFaVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZG1Gc2RXVk9iMlJsSUQwZ2RtRnNkV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUdOdmJYQnZjMlZPYjJSbEtHTjBlQ3dnZG1Gc2RXVXNJSFpoYkhWbFVISnZjSE1zSUc5dVJYSnliM0lwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCMllXeDFaVkJ5YjNCekxtWnZkVzVrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdZMjl0Y0c5elpVVnRjSFI1VG05a1pTaGpkSGdzSUhaaGJIVmxVSEp2Y0hNdVpXNWtMQ0J6WlhBc0lHNTFiR3dzSUhaaGJIVmxVSEp2Y0hNc0lHOXVSWEp5YjNJcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDJZV3gxWlU1dlpHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FYTkNiRzlqYXloMllXeDFaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2RtRnNkV1ZPYjJSbExuSmhibWRsTENBblFreFBRMHRmU1U1ZlJreFBWeWNzSUdKc2IyTnJUWE5uS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tIWmhiSFZsVUhKdmNITXVZMjl0YldWdWRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYbE9iMlJsTG1OdmJXMWxiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHdGxlVTV2WkdVdVkyOXRiV1Z1ZENBclBTQW5YRnh1SnlBcklIWmhiSFZsVUhKdmNITXVZMjl0YldWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHdGxlVTV2WkdVdVkyOXRiV1Z1ZENBOUlIWmhiSFZsVUhKdmNITXVZMjl0YldWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIQmhhWElnUFNCdVpYY2dVR0ZwY2loclpYbE9iMlJsTENCMllXeDFaVTV2WkdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTjBlQzV2Y0hScGIyNXpMbXRsWlhCVGIzVnlZMlZVYjJ0bGJuTXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjR0ZwY2k1emNtTlViMnRsYmlBOUlHTnZiR3hKZEdWdE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbHpUV0Z3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYldGd0lEMGdZMjlzYkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iV0Z3U1c1amJIVmtaWE1vWTNSNExDQnRZWEF1YVhSbGJYTXNJR3RsZVU1dlpHVXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0d0bGVWTjBZWEowTENBblJGVlFURWxEUVZSRlgwdEZXU2NzSUNkTllYQWdhMlY1Y3lCdGRYTjBJR0psSUhWdWFYRjFaU2NwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGNDNXBkR1Z0Y3k1d2RYTm9LSEJoYVhJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYldGd0lEMGdibVYzSUZsQlRVeE5ZWEFvWTNSNExuTmphR1Z0WVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JXRndMbVpzYjNjZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGNDNXBkR1Z0Y3k1d2RYTm9LSEJoYVhJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdWdVpGSmhibWRsSUQwZ0tIWmhiSFZsVG05a1pTQS9QeUJyWlhsT2IyUmxLUzV5WVc1blpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnRZWEF1Y21GdVoyVWdQU0JiYTJWNVRtOWtaUzV5WVc1blpWc3dYU3dnWlc1a1VtRnVaMlZiTVYwc0lHVnVaRkpoYm1kbFd6SmRYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjJ4c0xtbDBaVzF6TG5CMWMyZ29iV0Z3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHOW1abk5sZENBOUlIWmhiSFZsVG05a1pTQS9JSFpoYkhWbFRtOWtaUzV5WVc1blpWc3lYU0E2SUhaaGJIVmxVSEp2Y0hNdVpXNWtPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUdWNGNHVmpkR1ZrUlc1a0lEMGdhWE5OWVhBZ1B5QW5mU2NnT2lBblhTYzdYRzRnSUNBZ1kyOXVjM1FnVzJObExDQXVMaTVsWlYwZ1BTQm1ZeTVsYm1RN1hHNGdJQ0FnYkdWMElHTmxVRzl6SUQwZ2IyWm1jMlYwTzF4dUlDQWdJR2xtSUNoalpTQW1KaUJqWlM1emIzVnlZMlVnUFQwOUlHVjRjR1ZqZEdWa1JXNWtLVnh1SUNBZ0lDQWdJQ0JqWlZCdmN5QTlJR05sTG05bVpuTmxkQ0FySUdObExuTnZkWEpqWlM1c1pXNW5kR2c3WEc0Z0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc1aGJXVWdQU0JtWTA1aGJXVmJNRjB1ZEc5VmNIQmxja05oYzJVb0tTQXJJR1pqVG1GdFpTNXpkV0p6ZEhKcGJtY29NU2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzF6WnlBOUlHRjBVbTl2ZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdQeUJnSkh0dVlXMWxmU0J0ZFhOMElHVnVaQ0IzYVhSb0lHRWdKSHRsZUhCbFkzUmxaRVZ1WkgxZ1hHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUdBa2UyNWhiV1Y5SUdsdUlHSnNiMk5ySUdOdmJHeGxZM1JwYjI0Z2JYVnpkQ0JpWlNCemRXWm1hV05wWlc1MGJIa2dhVzVrWlc1MFpXUWdZVzVrSUdWdVpDQjNhWFJvSUdFZ0pIdGxlSEJsWTNSbFpFVnVaSDFnTzF4dUlDQWdJQ0FnSUNCdmJrVnljbTl5S0c5bVpuTmxkQ3dnWVhSU2IyOTBJRDhnSjAxSlUxTkpUa2RmUTBoQlVpY2dPaUFuUWtGRVgwbE9SRVZPVkNjc0lHMXpaeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpaU0FtSmlCalpTNXpiM1Z5WTJVdWJHVnVaM1JvSUNFOVBTQXhLVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pXVXVkVzV6YUdsbWRDaGpaU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hsWlM1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHVnVaQ0E5SUhKbGMyOXNkbVZGYm1Rb1pXVXNJR05sVUc5ekxDQmpkSGd1YjNCMGFXOXVjeTV6ZEhKcFkzUXNJRzl1UlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb1pXNWtMbU52YlcxbGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqYjJ4c0xtTnZiVzFsYm5RcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiQzVqYjIxdFpXNTBJQ3M5SUNkY1hHNG5JQ3NnWlc1a0xtTnZiVzFsYm5RN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiQzVqYjIxdFpXNTBJRDBnWlc1a0xtTnZiVzFsYm5RN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjlzYkM1eVlXNW5aU0E5SUZ0bVl5NXZabVp6WlhRc0lHTmxVRzl6TENCbGJtUXViMlptYzJWMFhUdGNiaUFnSUNCOVhHNGdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJR052Ykd3dWNtRnVaMlVnUFNCYlptTXViMlptYzJWMExDQmpaVkJ2Y3l3Z1kyVlFiM05kTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1kyOXNiRHRjYm4xY2JseHVaWGh3YjNKMElIc2djbVZ6YjJ4MlpVWnNiM2REYjJ4c1pXTjBhVzl1SUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnYVhOT2IyUmxJSDBnWm5KdmJTQW5MaTR2Ym05a1pYTXZhV1JsYm5ScGRIa3Vhbk1uTzF4dWFXMXdiM0owSUhzZ1UyTmhiR0Z5SUgwZ1puSnZiU0FuTGk0dmJtOWtaWE12VTJOaGJHRnlMbXB6Snp0Y2JtbHRjRzl5ZENCN0lGbEJUVXhOWVhBZ2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5WlFVMU1UV0Z3TG1wekp6dGNibWx0Y0c5eWRDQjdJRmxCVFV4VFpYRWdmU0JtY205dElDY3VMaTl1YjJSbGN5OVpRVTFNVTJWeExtcHpKenRjYm1sdGNHOXlkQ0I3SUhKbGMyOXNkbVZDYkc5amEwMWhjQ0I5SUdaeWIyMGdKeTR2Y21WemIyeDJaUzFpYkc5amF5MXRZWEF1YW5Nbk8xeHVhVzF3YjNKMElIc2djbVZ6YjJ4MlpVSnNiMk5yVTJWeElIMGdabkp2YlNBbkxpOXlaWE52YkhabExXSnNiMk5yTFhObGNTNXFjeWM3WEc1cGJYQnZjblFnZXlCeVpYTnZiSFpsUm14dmQwTnZiR3hsWTNScGIyNGdmU0JtY205dElDY3VMM0psYzI5c2RtVXRabXh2ZHkxamIyeHNaV04wYVc5dUxtcHpKenRjYmx4dVpuVnVZM1JwYjI0Z2NtVnpiMngyWlVOdmJHeGxZM1JwYjI0b1EwNHNJR04wZUN3Z2RHOXJaVzRzSUc5dVJYSnliM0lzSUhSaFowNWhiV1VzSUhSaFp5a2dlMXh1SUNBZ0lHTnZibk4wSUdOdmJHd2dQU0IwYjJ0bGJpNTBlWEJsSUQwOVBTQW5ZbXh2WTJzdGJXRndKMXh1SUNBZ0lDQWdJQ0EvSUhKbGMyOXNkbVZDYkc5amEwMWhjQ2hEVGl3Z1kzUjRMQ0IwYjJ0bGJpd2diMjVGY25KdmNpd2dkR0ZuS1Z4dUlDQWdJQ0FnSUNBNklIUnZhMlZ1TG5SNWNHVWdQVDA5SUNkaWJHOWpheTF6WlhFblhHNGdJQ0FnSUNBZ0lDQWdJQ0EvSUhKbGMyOXNkbVZDYkc5amExTmxjU2hEVGl3Z1kzUjRMQ0IwYjJ0bGJpd2diMjVGY25KdmNpd2dkR0ZuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdPaUJ5WlhOdmJIWmxSbXh2ZDBOdmJHeGxZM1JwYjI0b1EwNHNJR04wZUN3Z2RHOXJaVzRzSUc5dVJYSnliM0lzSUhSaFp5azdYRzRnSUNBZ1kyOXVjM1FnUTI5c2JDQTlJR052Ykd3dVkyOXVjM1J5ZFdOMGIzSTdYRzRnSUNBZ0x5OGdTV1lnZDJVZ1oyOTBJR0VnZEdGblRtRnRaU0J0WVhSamFHbHVaeUIwYUdVZ1kyeGhjM01zSUc5eUlIUm9aU0IwWVdjZ2JtRnRaU0JwY3lBbklTY3NYRzRnSUNBZ0x5OGdkR2hsYmlCMWMyVWdkR2hsSUhSaFowNWhiV1VnWm5KdmJTQjBhR1VnYm05a1pTQmpiR0Z6Y3lCMWMyVmtJSFJ2SUdOeVpXRjBaU0JwZEM1Y2JpQWdJQ0JwWmlBb2RHRm5UbUZ0WlNBOVBUMGdKeUVuSUh4OElIUmhaMDVoYldVZ1BUMDlJRU52Ykd3dWRHRm5UbUZ0WlNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMnhzTG5SaFp5QTlJRU52Ykd3dWRHRm5UbUZ0WlR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOdmJHdzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBZV2RPWVcxbEtWeHVJQ0FnSUNBZ0lDQmpiMnhzTG5SaFp5QTlJSFJoWjA1aGJXVTdYRzRnSUNBZ2NtVjBkWEp1SUdOdmJHdzdYRzU5WEc1bWRXNWpkR2x2YmlCamIyMXdiM05sUTI5c2JHVmpkR2x2YmloRFRpd2dZM1I0TENCMGIydGxiaXdnY0hKdmNITXNJRzl1UlhKeWIzSXBJSHRjYmlBZ0lDQmpiMjV6ZENCMFlXZFViMnRsYmlBOUlIQnliM0J6TG5SaFp6dGNiaUFnSUNCamIyNXpkQ0IwWVdkT1lXMWxJRDBnSVhSaFoxUnZhMlZ1WEc0Z0lDQWdJQ0FnSUQ4Z2JuVnNiRnh1SUNBZ0lDQWdJQ0E2SUdOMGVDNWthWEpsWTNScGRtVnpMblJoWjA1aGJXVW9kR0ZuVkc5clpXNHVjMjkxY21ObExDQnRjMmNnUFQ0Z2IyNUZjbkp2Y2loMFlXZFViMnRsYml3Z0oxUkJSMTlTUlZOUFRGWkZYMFpCU1V4RlJDY3NJRzF6WnlrcE8xeHVJQ0FnSUdsbUlDaDBiMnRsYmk1MGVYQmxJRDA5UFNBbllteHZZMnN0YzJWeEp5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjdJR0Z1WTJodmNpd2dibVYzYkdsdVpVRm1kR1Z5VUhKdmNEb2dibXdnZlNBOUlIQnliM0J6TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JzWVhOMFVISnZjQ0E5SUdGdVkyaHZjaUFtSmlCMFlXZFViMnRsYmx4dUlDQWdJQ0FnSUNBZ0lDQWdQeUJoYm1Ob2IzSXViMlptYzJWMElENGdkR0ZuVkc5clpXNHViMlptYzJWMFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1B5QmhibU5vYjNKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklIUmhaMVJ2YTJWdVhHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUNoaGJtTm9iM0lnUHo4Z2RHRm5WRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYkdGemRGQnliM0FnSmlZZ0tDRnViQ0I4ZkNCdWJDNXZabVp6WlhRZ1BDQnNZWE4wVUhKdmNDNXZabVp6WlhRcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnSjAxcGMzTnBibWNnYm1WM2JHbHVaU0JoWm5SbGNpQmliRzlqYXlCelpYRjFaVzVqWlNCd2NtOXdjeWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHeGhjM1JRY205d0xDQW5UVWxUVTBsT1IxOURTRUZTSnl3Z2JXVnpjMkZuWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnWTI5dWMzUWdaWGh3Vkhsd1pTQTlJSFJ2YTJWdUxuUjVjR1VnUFQwOUlDZGliRzlqYXkxdFlYQW5YRzRnSUNBZ0lDQWdJRDhnSjIxaGNDZGNiaUFnSUNBZ0lDQWdPaUIwYjJ0bGJpNTBlWEJsSUQwOVBTQW5ZbXh2WTJzdGMyVnhKMXh1SUNBZ0lDQWdJQ0FnSUNBZ1B5QW5jMlZ4SjF4dUlDQWdJQ0FnSUNBZ0lDQWdPaUIwYjJ0bGJpNXpkR0Z5ZEM1emIzVnlZMlVnUFQwOUlDZDdKMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnSjIxaGNDZGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJQ2R6WlhFbk8xeHVJQ0FnSUM4dklITm9iM0owWTNWME9pQmphR1ZqYXlCcFppQnBkQ2R6SUdFZ1oyVnVaWEpwWXlCWlFVMU1UV0Z3SUc5eUlGbEJUVXhUWlhGY2JpQWdJQ0F2THlCaVpXWnZjbVVnYW5WdGNHbHVaeUJwYm5SdklIUm9aU0JqZFhOMGIyMGdkR0ZuSUd4dloybGpMbHh1SUNBZ0lHbG1JQ2doZEdGblZHOXJaVzRnZkh4Y2JpQWdJQ0FnSUNBZ0lYUmhaMDVoYldVZ2ZIeGNiaUFnSUNBZ0lDQWdkR0ZuVG1GdFpTQTlQVDBnSnlFbklIeDhYRzRnSUNBZ0lDQWdJQ2gwWVdkT1lXMWxJRDA5UFNCWlFVMU1UV0Z3TG5SaFowNWhiV1VnSmlZZ1pYaHdWSGx3WlNBOVBUMGdKMjFoY0NjcElIeDhYRzRnSUNBZ0lDQWdJQ2gwWVdkT1lXMWxJRDA5UFNCWlFVMU1VMlZ4TG5SaFowNWhiV1VnSmlZZ1pYaHdWSGx3WlNBOVBUMGdKM05sY1NjcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE52YkhabFEyOXNiR1ZqZEdsdmJpaERUaXdnWTNSNExDQjBiMnRsYml3Z2IyNUZjbkp2Y2l3Z2RHRm5UbUZ0WlNrN1hHNGdJQ0FnZlZ4dUlDQWdJR3hsZENCMFlXY2dQU0JqZEhndWMyTm9aVzFoTG5SaFozTXVabWx1WkNoMElEMCtJSFF1ZEdGbklEMDlQU0IwWVdkT1lXMWxJQ1ltSUhRdVkyOXNiR1ZqZEdsdmJpQTlQVDBnWlhod1ZIbHdaU2s3WEc0Z0lDQWdhV1lnS0NGMFlXY3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhM1FnUFNCamRIZ3VjMk5vWlcxaExtdHViM2R1VkdGbmMxdDBZV2RPWVcxbFhUdGNiaUFnSUNBZ0lDQWdhV1lnS0d0MElDWW1JR3QwTG1OdmJHeGxZM1JwYjI0Z1BUMDlJR1Y0Y0ZSNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTjBlQzV6WTJobGJXRXVkR0ZuY3k1d2RYTm9LRTlpYW1WamRDNWhjM05wWjI0b2UzMHNJR3QwTENCN0lHUmxabUYxYkhRNklHWmhiSE5sSUgwcEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSaFp5QTlJR3QwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d0MFB5NWpiMnhzWldOMGFXOXVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWgwWVdkVWIydGxiaXdnSjBKQlJGOURUMHhNUlVOVVNVOU9YMVJaVUVVbkxDQmdKSHRyZEM1MFlXZDlJSFZ6WldRZ1ptOXlJQ1I3Wlhod1ZIbHdaWDBnWTI5c2JHVmpkR2x2Yml3Z1luVjBJR1Y0Y0dWamRITWdKSHRyZEM1amIyeHNaV04wYVc5dWZXQXNJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loMFlXZFViMnRsYml3Z0oxUkJSMTlTUlZOUFRGWkZYMFpCU1V4RlJDY3NJR0JWYm5KbGMyOXNkbVZrSUhSaFp6b2dKSHQwWVdkT1lXMWxmV0FzSUhSeWRXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzI5c2RtVkRiMnhzWldOMGFXOXVLRU5PTENCamRIZ3NJSFJ2YTJWdUxDQnZia1Z5Y205eUxDQjBZV2RPWVcxbEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0JqYjJ4c0lEMGdjbVZ6YjJ4MlpVTnZiR3hsWTNScGIyNG9RMDRzSUdOMGVDd2dkRzlyWlc0c0lHOXVSWEp5YjNJc0lIUmhaMDVoYldVc0lIUmhaeWs3WEc0Z0lDQWdZMjl1YzNRZ2NtVnpJRDBnZEdGbkxuSmxjMjlzZG1VL0xpaGpiMnhzTENCdGMyY2dQVDRnYjI1RmNuSnZjaWgwWVdkVWIydGxiaXdnSjFSQlIxOVNSVk5QVEZaRlgwWkJTVXhGUkNjc0lHMXpaeWtzSUdOMGVDNXZjSFJwYjI1ektTQS9QeUJqYjJ4c08xeHVJQ0FnSUdOdmJuTjBJRzV2WkdVZ1BTQnBjMDV2WkdVb2NtVnpLVnh1SUNBZ0lDQWdJQ0EvSUhKbGMxeHVJQ0FnSUNBZ0lDQTZJRzVsZHlCVFkyRnNZWElvY21WektUdGNiaUFnSUNCdWIyUmxMbkpoYm1kbElEMGdZMjlzYkM1eVlXNW5aVHRjYmlBZ0lDQnViMlJsTG5SaFp5QTlJSFJoWjA1aGJXVTdYRzRnSUNBZ2FXWWdLSFJoWno4dVptOXliV0YwS1Z4dUlDQWdJQ0FnSUNCdWIyUmxMbVp2Y20xaGRDQTlJSFJoWnk1bWIzSnRZWFE3WEc0Z0lDQWdjbVYwZFhKdUlHNXZaR1U3WEc1OVhHNWNibVY0Y0c5eWRDQjdJR052YlhCdmMyVkRiMnhzWldOMGFXOXVJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dVMk5oYkdGeUlIMGdabkp2YlNBbkxpNHZibTlrWlhNdlUyTmhiR0Z5TG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnY21WemIyeDJaVUpzYjJOclUyTmhiR0Z5S0dOMGVDd2djMk5oYkdGeUxDQnZia1Z5Y205eUtTQjdYRzRnSUNBZ1kyOXVjM1FnYzNSaGNuUWdQU0J6WTJGc1lYSXViMlptYzJWME8xeHVJQ0FnSUdOdmJuTjBJR2hsWVdSbGNpQTlJSEJoY25ObFFteHZZMnRUWTJGc1lYSklaV0ZrWlhJb2MyTmhiR0Z5TENCamRIZ3ViM0IwYVc5dWN5NXpkSEpwWTNRc0lHOXVSWEp5YjNJcE8xeHVJQ0FnSUdsbUlDZ2hhR1ZoWkdWeUtWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjJZV3gxWlRvZ0p5Y3NJSFI1Y0dVNklHNTFiR3dzSUdOdmJXMWxiblE2SUNjbkxDQnlZVzVuWlRvZ1czTjBZWEowTENCemRHRnlkQ3dnYzNSaGNuUmRJSDA3WEc0Z0lDQWdZMjl1YzNRZ2RIbHdaU0E5SUdobFlXUmxjaTV0YjJSbElEMDlQU0FuUGljZ1B5QlRZMkZzWVhJdVFreFBRMHRmUms5TVJFVkVJRG9nVTJOaGJHRnlMa0pNVDBOTFgweEpWRVZTUVV3N1hHNGdJQ0FnWTI5dWMzUWdiR2x1WlhNZ1BTQnpZMkZzWVhJdWMyOTFjbU5sSUQ4Z2MzQnNhWFJNYVc1bGN5aHpZMkZzWVhJdWMyOTFjbU5sS1NBNklGdGRPMXh1SUNBZ0lDOHZJR1JsZEdWeWJXbHVaU0IwYUdVZ1pXNWtJRzltSUdOdmJuUmxiblFnSmlCemRHRnlkQ0J2WmlCamFHOXRjR2x1WjF4dUlDQWdJR3hsZENCamFHOXRjRk4wWVhKMElEMGdiR2x1WlhNdWJHVnVaM1JvTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNCc2FXNWxjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUMwdGFTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmpiMjUwWlc1MElEMGdiR2x1WlhOYmFWMWJNVjA3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpiMjUwWlc1MElEMDlQU0FuSnlCOGZDQmpiMjUwWlc1MElEMDlQU0FuWEZ4eUp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUdOb2IyMXdVM1JoY25RZ1BTQnBPMXh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNGdJQ0FnTHk4Z2MyaHZjblJqZFhRZ1ptOXlJR1Z0Y0hSNUlHTnZiblJsYm5SelhHNGdJQ0FnYVdZZ0tHTm9iMjF3VTNSaGNuUWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2RtRnNkV1VnUFNCb1pXRmtaWEl1WTJodmJYQWdQVDA5SUNjckp5QW1KaUJzYVc1bGN5NXNaVzVuZEdnZ1BpQXdYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lDZGNYRzRuTG5KbGNHVmhkQ2hOWVhSb0xtMWhlQ2d4TENCc2FXNWxjeTVzWlc1bmRHZ2dMU0F4S1NsY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nSnljN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JsYm1RZ1BTQnpkR0Z5ZENBcklHaGxZV1JsY2k1c1pXNW5kR2c3WEc0Z0lDQWdJQ0FnSUdsbUlDaHpZMkZzWVhJdWMyOTFjbU5sS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdaVzVrSUNzOUlITmpZV3hoY2k1emIzVnlZMlV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdleUIyWVd4MVpTd2dkSGx3WlN3Z1kyOXRiV1Z1ZERvZ2FHVmhaR1Z5TG1OdmJXMWxiblFzSUhKaGJtZGxPaUJiYzNSaGNuUXNJR1Z1WkN3Z1pXNWtYU0I5TzF4dUlDQWdJSDFjYmlBZ0lDQXZMeUJtYVc1a0lIUm9aU0JwYm1SbGJuUmhkR2x2YmlCc1pYWmxiQ0IwYnlCMGNtbHRJR1p5YjIwZ2MzUmhjblJjYmlBZ0lDQnNaWFFnZEhKcGJVbHVaR1Z1ZENBOUlITmpZV3hoY2k1cGJtUmxiblFnS3lCb1pXRmtaWEl1YVc1a1pXNTBPMXh1SUNBZ0lHeGxkQ0J2Wm1aelpYUWdQU0J6WTJGc1lYSXViMlptYzJWMElDc2dhR1ZoWkdWeUxteGxibWQwYUR0Y2JpQWdJQ0JzWlhRZ1kyOXVkR1Z1ZEZOMFlYSjBJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdOb2IyMXdVM1JoY25RN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JiYVc1a1pXNTBMQ0JqYjI1MFpXNTBYU0E5SUd4cGJtVnpXMmxkTzF4dUlDQWdJQ0FnSUNCcFppQW9ZMjl1ZEdWdWRDQTlQVDBnSnljZ2ZId2dZMjl1ZEdWdWRDQTlQVDBnSjF4Y2NpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hvWldGa1pYSXVhVzVrWlc1MElEMDlQU0F3SUNZbUlHbHVaR1Z1ZEM1c1pXNW5kR2dnUGlCMGNtbHRTVzVrWlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnlhVzFKYm1SbGJuUWdQU0JwYm1SbGJuUXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbHVaR1Z1ZEM1c1pXNW5kR2dnUENCMGNtbHRTVzVrWlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXVnpjMkZuWlNBOUlDZENiRzlqYXlCelkyRnNZWEp6SUhkcGRHZ2diVzl5WlMxcGJtUmxiblJsWkNCc1pXRmthVzVuSUdWdGNIUjVJR3hwYm1WeklHMTFjM1FnZFhObElHRnVJR1Y0Y0d4cFkybDBJR2x1WkdWdWRHRjBhVzl1SUdsdVpHbGpZWFJ2Y2ljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2lodlptWnpaWFFnS3lCcGJtUmxiblF1YkdWdVozUm9MQ0FuVFVsVFUwbE9SMTlEU0VGU0p5d2diV1Z6YzJGblpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FHVmhaR1Z5TG1sdVpHVnVkQ0E5UFQwZ01DbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBjbWx0U1c1a1pXNTBJRDBnYVc1a1pXNTBMbXhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuUmxiblJUZEdGeWRDQTlJR2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEhKcGJVbHVaR1Z1ZENBOVBUMGdNQ0FtSmlBaFkzUjRMbUYwVW05dmRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMWxjM05oWjJVZ1BTQW5RbXh2WTJzZ2MyTmhiR0Z5SUhaaGJIVmxjeUJwYmlCamIyeHNaV04wYVc5dWN5QnRkWE4wSUdKbElHbHVaR1Z1ZEdWa0p6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHOW1abk5sZEN3Z0owSkJSRjlKVGtSRlRsUW5MQ0J0WlhOellXZGxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUc5bVpuTmxkQ0FyUFNCcGJtUmxiblF1YkdWdVozUm9JQ3NnWTI5dWRHVnVkQzVzWlc1bmRHZ2dLeUF4TzF4dUlDQWdJSDFjYmlBZ0lDQXZMeUJwYm1Oc2RXUmxJSFJ5WVdsc2FXNW5JRzF2Y21VdGFXNWtaVzUwWldRZ1pXMXdkSGtnYkdsdVpYTWdhVzRnWTI5dWRHVnVkRnh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0JzYVc1bGN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlHTm9iMjF3VTNSaGNuUTdJQzB0YVNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYkdsdVpYTmJhVjFiTUYwdWJHVnVaM1JvSUQ0Z2RISnBiVWx1WkdWdWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUdOb2IyMXdVM1JoY25RZ1BTQnBJQ3NnTVR0Y2JpQWdJQ0I5WEc0Z0lDQWdiR1YwSUhaaGJIVmxJRDBnSnljN1hHNGdJQ0FnYkdWMElITmxjQ0E5SUNjbk8xeHVJQ0FnSUd4bGRDQndjbVYyVFc5eVpVbHVaR1Z1ZEdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnTHk4Z2JHVmhaR2x1WnlCM2FHbDBaWE53WVdObElHbHpJR3RsY0hRZ2FXNTBZV04wWEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JqYjI1MFpXNTBVM1JoY25RN0lDc3JhU2xjYmlBZ0lDQWdJQ0FnZG1Gc2RXVWdLejBnYkdsdVpYTmJhVjFiTUYwdWMyeHBZMlVvZEhKcGJVbHVaR1Z1ZENrZ0t5QW5YRnh1Snp0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ1kyOXVkR1Z1ZEZOMFlYSjBPeUJwSUR3Z1kyaHZiWEJUZEdGeWREc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JiYVc1a1pXNTBMQ0JqYjI1MFpXNTBYU0E5SUd4cGJtVnpXMmxkTzF4dUlDQWdJQ0FnSUNCdlptWnpaWFFnS3owZ2FXNWtaVzUwTG14bGJtZDBhQ0FySUdOdmJuUmxiblF1YkdWdVozUm9JQ3NnTVR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTNKc1ppQTlJR052Ym5SbGJuUmJZMjl1ZEdWdWRDNXNaVzVuZEdnZ0xTQXhYU0E5UFQwZ0oxeGNjaWM3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpjbXhtS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdWdWRDQTlJR052Ym5SbGJuUXVjMnhwWTJVb01Dd2dMVEVwTzF4dUlDQWdJQ0FnSUNBdktpQnBjM1JoYm1KMWJDQnBaMjV2Y21VZ2FXWWdZV3h5WldGa2VTQmpZWFZuYUhRZ2FXNGdiR1Y0WlhJZ0tpOWNiaUFnSUNBZ0lDQWdhV1lnS0dOdmJuUmxiblFnSmlZZ2FXNWtaVzUwTG14bGJtZDBhQ0E4SUhSeWFXMUpibVJsYm5RcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE55WXlBOUlHaGxZV1JsY2k1cGJtUmxiblJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUNkbGVIQnNhV05wZENCcGJtUmxiblJoZEdsdmJpQnBibVJwWTJGMGIzSW5YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUFuWm1seWMzUWdiR2x1WlNjN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdZRUpzYjJOcklITmpZV3hoY2lCc2FXNWxjeUJ0ZFhOMElHNXZkQ0JpWlNCc1pYTnpJR2x1WkdWdWRHVmtJSFJvWVc0Z2RHaGxhWElnSkh0emNtTjlZRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2IyWm1jMlYwSUMwZ1kyOXVkR1Z1ZEM1c1pXNW5kR2dnTFNBb1kzSnNaaUEvSURJZ09pQXhLU3dnSjBKQlJGOUpUa1JGVGxRbkxDQnRaWE56WVdkbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsdVpHVnVkQ0E5SUNjbk8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNoMGVYQmxJRDA5UFNCVFkyRnNZWEl1UWt4UFEwdGZURWxVUlZKQlRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1VnS3owZ2MyVndJQ3NnYVc1a1pXNTBMbk5zYVdObEtIUnlhVzFKYm1SbGJuUXBJQ3NnWTI5dWRHVnVkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITmxjQ0E5SUNkY1hHNG5PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsdVpHVnVkQzVzWlc1bmRHZ2dQaUIwY21sdFNXNWtaVzUwSUh4OElHTnZiblJsYm5SYk1GMGdQVDA5SUNkY1hIUW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJ0YjNKbExXbHVaR1Z1ZEdWa0lHTnZiblJsYm5RZ2QybDBhR2x1SUdFZ1ptOXNaR1ZrSUdKc2IyTnJYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jMlZ3SUQwOVBTQW5JQ2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzJWd0lEMGdKMXhjYmljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2doY0hKbGRrMXZjbVZKYm1SbGJuUmxaQ0FtSmlCelpYQWdQVDA5SUNkY1hHNG5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5sY0NBOUlDZGNYRzVjWEc0bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVWdLejBnYzJWd0lDc2dhVzVrWlc1MExuTnNhV05sS0hSeWFXMUpibVJsYm5RcElDc2dZMjl1ZEdWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUhObGNDQTlJQ2RjWEc0bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY0hKbGRrMXZjbVZKYm1SbGJuUmxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWTI5dWRHVnVkQ0E5UFQwZ0p5Y3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR1Z0Y0hSNUlHeHBibVZjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h6WlhBZ1BUMDlJQ2RjWEc0bktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsSUNzOUlDZGNYRzRuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhObGNDQTlJQ2RjWEc0bk8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVWdLejBnYzJWd0lDc2dZMjl1ZEdWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUhObGNDQTlJQ2NnSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJ5WlhaTmIzSmxTVzVrWlc1MFpXUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCemQybDBZMmdnS0dobFlXUmxjaTVqYUc5dGNDa2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElDY3RKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2NySnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNCamFHOXRjRk4wWVhKME95QnBJRHdnYkdsdVpYTXViR1Z1WjNSb095QXJLMmtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVWdLejBnSjF4Y2JpY2dLeUJzYVc1bGMxdHBYVnN3WFM1emJHbGpaU2gwY21sdFNXNWtaVzUwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMllXeDFaVnQyWVd4MVpTNXNaVzVuZEdnZ0xTQXhYU0FoUFQwZ0oxeGNiaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVWdLejBnSjF4Y2JpYzdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsSUNzOUlDZGNYRzRuTzF4dUlDQWdJSDFjYmlBZ0lDQmpiMjV6ZENCbGJtUWdQU0J6ZEdGeWRDQXJJR2hsWVdSbGNpNXNaVzVuZEdnZ0t5QnpZMkZzWVhJdWMyOTFjbU5sTG14bGJtZDBhRHRjYmlBZ0lDQnlaWFIxY200Z2V5QjJZV3gxWlN3Z2RIbHdaU3dnWTI5dGJXVnVkRG9nYUdWaFpHVnlMbU52YlcxbGJuUXNJSEpoYm1kbE9pQmJjM1JoY25Rc0lHVnVaQ3dnWlc1a1hTQjlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NHRnljMlZDYkc5amExTmpZV3hoY2tobFlXUmxjaWg3SUc5bVpuTmxkQ3dnY0hKdmNITWdmU3dnYzNSeWFXTjBMQ0J2YmtWeWNtOXlLU0I3WEc0Z0lDQWdMeW9nYVhOMFlXNWlkV3dnYVdkdWIzSmxJR2xtSUhOb2IzVnNaQ0J1YjNRZ2FHRndjR1Z1SUNvdlhHNGdJQ0FnYVdZZ0tIQnliM0J6V3pCZExuUjVjR1VnSVQwOUlDZGliRzlqYXkxelkyRnNZWEl0YUdWaFpHVnlKeWtnZTF4dUlDQWdJQ0FnSUNCdmJrVnljbTl5S0hCeWIzQnpXekJkTENBblNVMVFUMU5UU1VKTVJTY3NJQ2RDYkc5amF5QnpZMkZzWVhJZ2FHVmhaR1Z5SUc1dmRDQm1iM1Z1WkNjcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnZXlCemIzVnlZMlVnZlNBOUlIQnliM0J6V3pCZE8xeHVJQ0FnSUdOdmJuTjBJRzF2WkdVZ1BTQnpiM1Z5WTJWYk1GMDdYRzRnSUNBZ2JHVjBJR2x1WkdWdWRDQTlJREE3WEc0Z0lDQWdiR1YwSUdOb2IyMXdJRDBnSnljN1hHNGdJQ0FnYkdWMElHVnljbTl5SUQwZ0xURTdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREU3SUdrZ1BDQnpiM1Z5WTJVdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMmdnUFNCemIzVnlZMlZiYVYwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doWTJodmJYQWdKaVlnS0dOb0lEMDlQU0FuTFNjZ2ZId2dZMmdnUFQwOUlDY3JKeWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQmphRzl0Y0NBOUlHTm9PMXh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzRnUFNCT2RXMWlaWElvWTJncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnBibVJsYm5RZ0ppWWdiaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYm1SbGJuUWdQU0J1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9aWEp5YjNJZ1BUMDlJQzB4S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWeWNtOXlJRDBnYjJabWMyVjBJQ3NnYVR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1pYSnliM0lnSVQwOUlDMHhLVnh1SUNBZ0lDQWdJQ0J2YmtWeWNtOXlLR1Z5Y205eUxDQW5WVTVGV0ZCRlExUkZSRjlVVDB0RlRpY3NJR0JDYkc5amF5QnpZMkZzWVhJZ2FHVmhaR1Z5SUdsdVkyeDFaR1Z6SUdWNGRISmhJR05vWVhKaFkzUmxjbk02SUNSN2MyOTFjbU5sZldBcE8xeHVJQ0FnSUd4bGRDQm9ZWE5UY0dGalpTQTlJR1poYkhObE8xeHVJQ0FnSUd4bGRDQmpiMjF0Wlc1MElEMGdKeWM3WEc0Z0lDQWdiR1YwSUd4bGJtZDBhQ0E5SUhOdmRYSmpaUzVzWlc1bmRHZzdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREU3SUdrZ1BDQndjbTl3Y3k1c1pXNW5kR2c3SUNzcmFTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjBiMnRsYmlBOUlIQnliM0J6VzJsZE8xeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIUnZhMlZ1TG5SNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjNOd1lXTmxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JvWVhOVGNHRmpaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5Qm1ZV3hzZEdoeWIzVm5hRnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYm1WM2JHbHVaU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWdVozUm9JQ3M5SUhSdmEyVnVMbk52ZFhKalpTNXNaVzVuZEdnN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkamIyMXRaVzUwSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jM1J5YVdOMElDWW1JQ0ZvWVhOVGNHRmpaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdFpYTnpZV2RsSUQwZ0owTnZiVzFsYm5SeklHMTFjM1FnWW1VZ2MyVndZWEpoZEdWa0lHWnliMjBnYjNSb1pYSWdkRzlyWlc1eklHSjVJSGRvYVhSbElITndZV05sSUdOb1lYSmhZM1JsY25Nbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSFJ2YTJWdUxDQW5UVWxUVTBsT1IxOURTRUZTSnl3Z2JXVnpjMkZuWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxibWQwYUNBclBTQjBiMnRsYmk1emIzVnlZMlV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052YlcxbGJuUWdQU0IwYjJ0bGJpNXpiM1Z5WTJVdWMzVmljM1J5YVc1bktERXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aWEp5YjNJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2RHOXJaVzRzSUNkVlRrVllVRVZEVkVWRVgxUlBTMFZPSnl3Z2RHOXJaVzR1YldWemMyRm5aU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWdVozUm9JQ3M5SUhSdmEyVnVMbk52ZFhKalpTNXNaVzVuZEdnN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZLaUJwYzNSaGJtSjFiQ0JwWjI1dmNtVWdibVY0ZENCemFHOTFiR1FnYm05MElHaGhjSEJsYmlBcUwxeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRG9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzFsYzNOaFoyVWdQU0JnVlc1bGVIQmxZM1JsWkNCMGIydGxiaUJwYmlCaWJHOWpheUJ6WTJGc1lYSWdhR1ZoWkdWeU9pQWtlM1J2YTJWdUxuUjVjR1Y5WUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0hSdmEyVnVMQ0FuVlU1RldGQkZRMVJGUkY5VVQwdEZUaWNzSUcxbGMzTmhaMlVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSFJ6SUQwZ2RHOXJaVzR1YzI5MWNtTmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGN5QW1KaUIwZVhCbGIyWWdkSE1nUFQwOUlDZHpkSEpwYm1jbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWlc1bmRHZ2dLejBnZEhNdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCN0lHMXZaR1VzSUdsdVpHVnVkQ3dnWTJodmJYQXNJR052YlcxbGJuUXNJR3hsYm1kMGFDQjlPMXh1ZlZ4dUx5b3FJRUJ5WlhSMWNtNXpJRUZ5Y21GNUlHOW1JR3hwYm1WeklITndiR2wwSUhWd0lHRnpJR0JiYVc1a1pXNTBMQ0JqYjI1MFpXNTBYV0FnS2k5Y2JtWjFibU4wYVc5dUlITndiR2wwVEdsdVpYTW9jMjkxY21ObEtTQjdYRzRnSUNBZ1kyOXVjM1FnYzNCc2FYUWdQU0J6YjNWeVkyVXVjM0JzYVhRb0wxeGNiaWdnS2lrdktUdGNiaUFnSUNCamIyNXpkQ0JtYVhKemRDQTlJSE53YkdsMFd6QmRPMXh1SUNBZ0lHTnZibk4wSUcwZ1BTQm1hWEp6ZEM1dFlYUmphQ2d2WGlnZ0tpa3ZLVHRjYmlBZ0lDQmpiMjV6ZENCc2FXNWxNQ0E5SUcwL0xsc3hYVnh1SUNBZ0lDQWdJQ0EvSUZ0dFd6RmRMQ0JtYVhKemRDNXpiR2xqWlNodFd6RmRMbXhsYm1kMGFDbGRYRzRnSUNBZ0lDQWdJRG9nV3ljbkxDQm1hWEp6ZEYwN1hHNGdJQ0FnWTI5dWMzUWdiR2x1WlhNZ1BTQmJiR2x1WlRCZE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXhPeUJwSUR3Z2MzQnNhWFF1YkdWdVozUm9PeUJwSUNzOUlESXBYRzRnSUNBZ0lDQWdJR3hwYm1WekxuQjFjMmdvVzNOd2JHbDBXMmxkTENCemNHeHBkRnRwSUNzZ01WMWRLVHRjYmlBZ0lDQnlaWFIxY200Z2JHbHVaWE03WEc1OVhHNWNibVY0Y0c5eWRDQjdJSEpsYzI5c2RtVkNiRzlqYTFOallXeGhjaUI5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJRk5qWVd4aGNpQjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwxTmpZV3hoY2k1cWN5YzdYRzVwYlhCdmNuUWdleUJ5WlhOdmJIWmxSVzVrSUgwZ1puSnZiU0FuTGk5eVpYTnZiSFpsTFdWdVpDNXFjeWM3WEc1Y2JtWjFibU4wYVc5dUlISmxjMjlzZG1WR2JHOTNVMk5oYkdGeUtITmpZV3hoY2l3Z2MzUnlhV04wTENCdmJrVnljbTl5S1NCN1hHNGdJQ0FnWTI5dWMzUWdleUJ2Wm1aelpYUXNJSFI1Y0dVc0lITnZkWEpqWlN3Z1pXNWtJSDBnUFNCelkyRnNZWEk3WEc0Z0lDQWdiR1YwSUY5MGVYQmxPMXh1SUNBZ0lHeGxkQ0IyWVd4MVpUdGNiaUFnSUNCamIyNXpkQ0JmYjI1RmNuSnZjaUE5SUNoeVpXd3NJR052WkdVc0lHMXpaeWtnUFQ0Z2IyNUZjbkp2Y2lodlptWnpaWFFnS3lCeVpXd3NJR052WkdVc0lHMXpaeWs3WEc0Z0lDQWdjM2RwZEdOb0lDaDBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSjNOallXeGhjaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmZkSGx3WlNBOUlGTmpZV3hoY2k1UVRFRkpUanRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2NHeGhhVzVXWVd4MVpTaHpiM1Z5WTJVc0lGOXZia1Z5Y205eUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0JqWVhObElDZHphVzVuYkdVdGNYVnZkR1ZrTFhOallXeGhjaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmZkSGx3WlNBOUlGTmpZV3hoY2k1UlZVOVVSVjlUU1U1SFRFVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaU0E5SUhOcGJtZHNaVkYxYjNSbFpGWmhiSFZsS0hOdmRYSmpaU3dnWDI5dVJYSnliM0lwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSjJSdmRXSnNaUzF4ZFc5MFpXUXRjMk5oYkdGeUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUY5MGVYQmxJRDBnVTJOaGJHRnlMbEZWVDFSRlgwUlBWVUpNUlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoYkhWbElEMGdaRzkxWW14bFVYVnZkR1ZrVm1Gc2RXVW9jMjkxY21ObExDQmZiMjVGY25KdmNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnTHlvZ2FYTjBZVzVpZFd3Z2FXZHViM0psSUc1bGVIUWdjMmh2ZFd4a0lHNXZkQ0JvWVhCd1pXNGdLaTljYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2MyTmhiR0Z5TENBblZVNUZXRkJGUTFSRlJGOVVUMHRGVGljc0lHQkZlSEJsWTNSbFpDQmhJR1pzYjNjZ2MyTmhiR0Z5SUhaaGJIVmxMQ0JpZFhRZ1ptOTFibVE2SUNSN2RIbHdaWDFnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVNklDY25MRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklHNTFiR3dzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dGJXVnVkRG9nSnljc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtRnVaMlU2SUZ0dlptWnpaWFFzSUc5bVpuTmxkQ0FySUhOdmRYSmpaUzVzWlc1bmRHZ3NJRzltWm5ObGRDQXJJSE52ZFhKalpTNXNaVzVuZEdoZFhHNGdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmlBZ0lDQmpiMjV6ZENCMllXeDFaVVZ1WkNBOUlHOW1abk5sZENBcklITnZkWEpqWlM1c1pXNW5kR2c3WEc0Z0lDQWdZMjl1YzNRZ2NtVWdQU0J5WlhOdmJIWmxSVzVrS0dWdVpDd2dkbUZzZFdWRmJtUXNJSE4wY21samRDd2diMjVGY25KdmNpazdYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ2RtRnNkV1VzWEc0Z0lDQWdJQ0FnSUhSNWNHVTZJRjkwZVhCbExGeHVJQ0FnSUNBZ0lDQmpiMjF0Wlc1ME9pQnlaUzVqYjIxdFpXNTBMRnh1SUNBZ0lDQWdJQ0J5WVc1blpUb2dXMjltWm5ObGRDd2dkbUZzZFdWRmJtUXNJSEpsTG05bVpuTmxkRjFjYmlBZ0lDQjlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NHeGhhVzVXWVd4MVpTaHpiM1Z5WTJVc0lHOXVSWEp5YjNJcElIdGNiaUFnSUNCc1pYUWdZbUZrUTJoaGNpQTlJQ2NuTzF4dUlDQWdJSE4zYVhSamFDQW9jMjkxY21ObFd6QmRLU0I3WEc0Z0lDQWdJQ0FnSUM4cUlHbHpkR0Z1WW5Wc0lHbG5ibTl5WlNCdVpYaDBJSE5vYjNWc1pDQnViM1FnYUdGd2NHVnVJQ292WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMXhjZENjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JpWVdSRGFHRnlJRDBnSjJFZ2RHRmlJR05vWVhKaFkzUmxjaWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0FuTENjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JpWVdSRGFHRnlJRDBnSjJac2IzY2dhVzVrYVdOaGRHOXlJR05vWVhKaFkzUmxjaUFzSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNjbEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdKaFpFTm9ZWElnUFNBblpHbHlaV04wYVhabElHbHVaR2xqWVhSdmNpQmphR0Z5WVdOMFpYSWdKU2M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0FuZkNjNlhHNGdJQ0FnSUNBZ0lHTmhjMlVnSno0bk9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCaVlXUkRhR0Z5SUQwZ1lHSnNiMk5ySUhOallXeGhjaUJwYm1ScFkyRjBiM0lnSkh0emIzVnlZMlZiTUYxOVlEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMEFuT2x4dUlDQWdJQ0FnSUNCallYTmxJQ2RnSnpvZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWW1Ga1EyaGhjaUE5SUdCeVpYTmxjblpsWkNCamFHRnlZV04wWlhJZ0pIdHpiM1Z5WTJWYk1GMTlZRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoaVlXUkRhR0Z5S1Z4dUlDQWdJQ0FnSUNCdmJrVnljbTl5S0RBc0lDZENRVVJmVTBOQlRFRlNYMU5VUVZKVUp5d2dZRkJzWVdsdUlIWmhiSFZsSUdOaGJtNXZkQ0J6ZEdGeWRDQjNhWFJvSUNSN1ltRmtRMmhoY24xZ0tUdGNiaUFnSUNCeVpYUjFjbTRnWm05c1pFeHBibVZ6S0hOdmRYSmpaU2s3WEc1OVhHNW1kVzVqZEdsdmJpQnphVzVuYkdWUmRXOTBaV1JXWVd4MVpTaHpiM1Z5WTJVc0lHOXVSWEp5YjNJcElIdGNiaUFnSUNCcFppQW9jMjkxY21ObFczTnZkWEpqWlM1c1pXNW5kR2dnTFNBeFhTQWhQVDBnWENJblhDSWdmSHdnYzI5MWNtTmxMbXhsYm1kMGFDQTlQVDBnTVNsY2JpQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loemIzVnlZMlV1YkdWdVozUm9MQ0FuVFVsVFUwbE9SMTlEU0VGU0p5d2dYQ0pOYVhOemFXNW5JR05zYjNOcGJtY2dKM0YxYjNSbFhDSXBPMXh1SUNBZ0lISmxkSFZ5YmlCbWIyeGtUR2x1WlhNb2MyOTFjbU5sTG5Oc2FXTmxLREVzSUMweEtTa3VjbVZ3YkdGalpTZ3ZKeWN2Wnl3Z1hDSW5YQ0lwTzF4dWZWeHVablZ1WTNScGIyNGdabTlzWkV4cGJtVnpLSE52ZFhKalpTa2dlMXh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRlJvWlNCdVpXZGhkR2wyWlNCc2IyOXJZbVZvYVc1a0lHaGxjbVVnWVc1a0lHbHVJSFJvWlNCZ2NtVmdJRkpsWjBWNGNDQnBjeUIwYjF4dUlDQWdJQ0FxSUhCeVpYWmxiblFnWTJGMWMybHVaeUJoSUhCdmJIbHViMjFwWVd3Z2MyVmhjbU5vSUhScGJXVWdhVzRnWTJWeWRHRnBiaUJqWVhObGN5NWNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlGUm9aU0IwY25rdFkyRjBZMmdnYVhNZ1ptOXlJRk5oWm1GeWFTd2dkMmhwWTJnZ1pHOWxjMjRuZENCemRYQndiM0owSUhSb2FYTWdlV1YwT2x4dUlDQWdJQ0FxSUdoMGRIQnpPaTh2WTJGdWFYVnpaUzVqYjIwdmFuTXRjbVZuWlhod0xXeHZiMnRpWldocGJtUmNiaUFnSUNBZ0tpOWNiaUFnSUNCc1pYUWdabWx5YzNRc0lHeHBibVU3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ1ptbHljM1FnUFNCdVpYY2dVbVZuUlhod0tDY29MaW8vS1NnL1BDRmJJRnhjZEYwcFd5QmNYSFJkS2x4Y2NqOWNYRzRuTENBbmMza25LVHRjYmlBZ0lDQWdJQ0FnYkdsdVpTQTlJRzVsZHlCU1pXZEZlSEFvSjFzZ1hGeDBYU29vTGlvL0tTZy9PaWcvUENGYklGeGNkRjBwV3lCY1hIUmRLaWsvWEZ4eVAxeGNiaWNzSUNkemVTY3BPMXh1SUNBZ0lIMWNiaUFnSUNCallYUmphQ0I3WEc0Z0lDQWdJQ0FnSUdacGNuTjBJRDBnTHlndUtqOHBXeUJjWEhSZEtseGNjajljWEc0dmMzazdYRzRnSUNBZ0lDQWdJR3hwYm1VZ1BTQXZXeUJjWEhSZEtpZ3VLajhwV3lCY1hIUmRLbHhjY2o5Y1hHNHZjM2s3WEc0Z0lDQWdmVnh1SUNBZ0lHeGxkQ0J0WVhSamFDQTlJR1pwY25OMExtVjRaV01vYzI5MWNtTmxLVHRjYmlBZ0lDQnBaaUFvSVcxaGRHTm9LVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjMjkxY21ObE8xeHVJQ0FnSUd4bGRDQnlaWE1nUFNCdFlYUmphRnN4WFR0Y2JpQWdJQ0JzWlhRZ2MyVndJRDBnSnlBbk8xeHVJQ0FnSUd4bGRDQndiM01nUFNCbWFYSnpkQzVzWVhOMFNXNWtaWGc3WEc0Z0lDQWdiR2x1WlM1c1lYTjBTVzVrWlhnZ1BTQndiM003WEc0Z0lDQWdkMmhwYkdVZ0tDaHRZWFJqYUNBOUlHeHBibVV1WlhobFl5aHpiM1Z5WTJVcEtTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2JXRjBZMmhiTVYwZ1BUMDlJQ2NuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MyVndJRDA5UFNBblhGeHVKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhNZ0t6MGdjMlZ3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhObGNDQTlJQ2RjWEc0bk8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WeklDczlJSE5sY0NBcklHMWhkR05vV3pGZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYzJWd0lEMGdKeUFuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIQnZjeUE5SUd4cGJtVXViR0Z6ZEVsdVpHVjRPMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0JzWVhOMElEMGdMMXNnWEZ4MFhTb29MaW9wTDNONU8xeHVJQ0FnSUd4aGMzUXViR0Z6ZEVsdVpHVjRJRDBnY0c5ek8xeHVJQ0FnSUcxaGRHTm9JRDBnYkdGemRDNWxlR1ZqS0hOdmRYSmpaU2s3WEc0Z0lDQWdjbVYwZFhKdUlISmxjeUFySUhObGNDQXJJQ2h0WVhSamFEOHVXekZkSUQ4L0lDY25LVHRjYm4xY2JtWjFibU4wYVc5dUlHUnZkV0pzWlZGMWIzUmxaRlpoYkhWbEtITnZkWEpqWlN3Z2IyNUZjbkp2Y2lrZ2UxeHVJQ0FnSUd4bGRDQnlaWE1nUFNBbkp6dGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNVHNnYVNBOElITnZkWEpqWlM1c1pXNW5kR2dnTFNBeE95QXJLMmtwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTJnZ1BTQnpiM1Z5WTJWYmFWMDdYRzRnSUNBZ0lDQWdJR2xtSUNoamFDQTlQVDBnSjF4Y2NpY2dKaVlnYzI5MWNtTmxXMmtnS3lBeFhTQTlQVDBnSjF4Y2JpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05vSUQwOVBTQW5YRnh1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdleUJtYjJ4a0xDQnZabVp6WlhRZ2ZTQTlJR1p2YkdST1pYZHNhVzVsS0hOdmRYSmpaU3dnYVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhNZ0t6MGdabTlzWkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2tnUFNCdlptWnpaWFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1kyZ2dQVDA5SUNkY1hGeGNKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUc1bGVIUWdQU0J6YjNWeVkyVmJLeXRwWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTmpJRDBnWlhOallYQmxRMjlrWlhOYmJtVjRkRjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTJNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpJQ3M5SUdOak8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYm1WNGRDQTlQVDBnSjF4Y2JpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCemEybHdJR1Z6WTJGd1pXUWdibVYzYkdsdVpYTXNJR0oxZENCemRHbHNiQ0IwY21sdElIUm9aU0JtYjJ4c2IzZHBibWNnYkdsdVpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNWxlSFFnUFNCemIzVnlZMlZiYVNBcklERmRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGRvYVd4bElDaHVaWGgwSUQwOVBTQW5JQ2NnZkh3Z2JtVjRkQ0E5UFQwZ0oxeGNkQ2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNWxlSFFnUFNCemIzVnlZMlZiS3l0cElDc2dNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNodVpYaDBJRDA5UFNBblhGeHlKeUFtSmlCemIzVnlZMlZiYVNBcklERmRJRDA5UFNBblhGeHVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklITnJhWEFnWlhOallYQmxaQ0JEVWt4R0lHNWxkMnhwYm1WekxDQmlkWFFnYzNScGJHd2dkSEpwYlNCMGFHVWdabTlzYkc5M2FXNW5JR3hwYm1WY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdVpYaDBJRDBnYzI5MWNtTmxXeXNyYVNBcklERmRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGRvYVd4bElDaHVaWGgwSUQwOVBTQW5JQ2NnZkh3Z2JtVjRkQ0E5UFQwZ0oxeGNkQ2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNWxlSFFnUFNCemIzVnlZMlZiS3l0cElDc2dNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNodVpYaDBJRDA5UFNBbmVDY2dmSHdnYm1WNGRDQTlQVDBnSjNVbklIeDhJRzVsZUhRZ1BUMDlJQ2RWSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUd4bGJtZDBhQ0E5SUhzZ2VEb2dNaXdnZFRvZ05Dd2dWVG9nT0NCOVcyNWxlSFJkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGN5QXJQU0J3WVhKelpVTm9ZWEpEYjJSbEtITnZkWEpqWlN3Z2FTQXJJREVzSUd4bGJtZDBhQ3dnYjI1RmNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBclBTQnNaVzVuZEdnN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J5WVhjZ1BTQnpiM1Z5WTJVdWMzVmljM1J5S0drZ0xTQXhMQ0F5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0drZ0xTQXhMQ0FuUWtGRVgwUlJYMFZUUTBGUVJTY3NJR0JKYm5aaGJHbGtJR1Z6WTJGd1pTQnpaWEYxWlc1alpTQWtlM0poZDMxZ0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE1nS3owZ2NtRjNPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR05vSUQwOVBTQW5JQ2NnZkh3Z1kyZ2dQVDA5SUNkY1hIUW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUIwY21sdElIUnlZV2xzYVc1bklIZG9hWFJsYzNCaFkyVmNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSGR6VTNSaGNuUWdQU0JwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUc1bGVIUWdQU0J6YjNWeVkyVmJhU0FySURGZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZDJocGJHVWdLRzVsZUhRZ1BUMDlJQ2NnSnlCOGZDQnVaWGgwSUQwOVBTQW5YRngwSnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdVpYaDBJRDBnYzI5MWNtTmxXeXNyYVNBcklERmRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzVsZUhRZ0lUMDlJQ2RjWEc0bklDWW1JQ0VvYm1WNGRDQTlQVDBnSjF4Y2NpY2dKaVlnYzI5MWNtTmxXMmtnS3lBeVhTQTlQVDBnSjF4Y2JpY3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsY3lBclBTQnBJRDRnZDNOVGRHRnlkQ0EvSUhOdmRYSmpaUzV6YkdsalpTaDNjMU4wWVhKMExDQnBJQ3NnTVNrZ09pQmphRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjeUFyUFNCamFEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9jMjkxY21ObFczTnZkWEpqWlM1c1pXNW5kR2dnTFNBeFhTQWhQVDBnSjF3aUp5QjhmQ0J6YjNWeVkyVXViR1Z1WjNSb0lEMDlQU0F4S1Z4dUlDQWdJQ0FnSUNCdmJrVnljbTl5S0hOdmRYSmpaUzVzWlc1bmRHZ3NJQ2ROU1ZOVFNVNUhYME5JUVZJbkxDQW5UV2x6YzJsdVp5QmpiRzl6YVc1bklGd2ljWFZ2ZEdVbktUdGNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVmVnh1THlvcVhHNGdLaUJHYjJ4a0lHRWdjMmx1WjJ4bElHNWxkMnhwYm1VZ2FXNTBieUJoSUhOd1lXTmxMQ0J0ZFd4MGFYQnNaU0J1Wlhkc2FXNWxjeUIwYnlCT0lDMGdNU0J1Wlhkc2FXNWxjeTVjYmlBcUlGQnlaWE4xYldWeklHQnpiM1Z5WTJWYmIyWm1jMlYwWFNBOVBUMGdKMXhjYmlkZ1hHNGdLaTljYm1aMWJtTjBhVzl1SUdadmJHUk9aWGRzYVc1bEtITnZkWEpqWlN3Z2IyWm1jMlYwS1NCN1hHNGdJQ0FnYkdWMElHWnZiR1FnUFNBbkp6dGNiaUFnSUNCc1pYUWdZMmdnUFNCemIzVnlZMlZiYjJabWMyVjBJQ3NnTVYwN1hHNGdJQ0FnZDJocGJHVWdLR05vSUQwOVBTQW5JQ2NnZkh3Z1kyZ2dQVDA5SUNkY1hIUW5JSHg4SUdOb0lEMDlQU0FuWEZ4dUp5QjhmQ0JqYUNBOVBUMGdKMXhjY2ljcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dOb0lEMDlQU0FuWEZ4eUp5QW1KaUJ6YjNWeVkyVmJiMlptYzJWMElDc2dNbDBnSVQwOUlDZGNYRzRuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqYUNBOVBUMGdKMXhjYmljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjJ4a0lDczlJQ2RjWEc0bk8xeHVJQ0FnSUNBZ0lDQnZabVp6WlhRZ0t6MGdNVHRjYmlBZ0lDQWdJQ0FnWTJnZ1BTQnpiM1Z5WTJWYmIyWm1jMlYwSUNzZ01WMDdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ2habTlzWkNsY2JpQWdJQ0FnSUNBZ1ptOXNaQ0E5SUNjZ0p6dGNiaUFnSUNCeVpYUjFjbTRnZXlCbWIyeGtMQ0J2Wm1aelpYUWdmVHRjYm4xY2JtTnZibk4wSUdWelkyRndaVU52WkdWeklEMGdlMXh1SUNBZ0lDY3dKem9nSjF4Y01DY3NJQzh2SUc1MWJHd2dZMmhoY21GamRHVnlYRzRnSUNBZ1lUb2dKMXhjZURBM0p5d2dMeThnWW1Wc2JDQmphR0Z5WVdOMFpYSmNiaUFnSUNCaU9pQW5YRnhpSnl3Z0x5OGdZbUZqYTNOd1lXTmxYRzRnSUNBZ1pUb2dKMXhjZURGaUp5d2dMeThnWlhOallYQmxJR05vWVhKaFkzUmxjbHh1SUNBZ0lHWTZJQ2RjWEdZbkxDQXZMeUJtYjNKdElHWmxaV1JjYmlBZ0lDQnVPaUFuWEZ4dUp5d2dMeThnYkdsdVpTQm1aV1ZrWEc0Z0lDQWdjam9nSjF4Y2NpY3NJQzh2SUdOaGNuSnBZV2RsSUhKbGRIVnlibHh1SUNBZ0lIUTZJQ2RjWEhRbkxDQXZMeUJvYjNKcGVtOXVkR0ZzSUhSaFlseHVJQ0FnSUhZNklDZGNYSFluTENBdkx5QjJaWEowYVdOaGJDQjBZV0pjYmlBZ0lDQk9PaUFuWEZ4MU1EQTROU2NzSUM4dklGVnVhV052WkdVZ2JtVjRkQ0JzYVc1bFhHNGdJQ0FnWHpvZ0oxeGNkVEF3WVRBbkxDQXZMeUJWYm1samIyUmxJRzV2YmkxaWNtVmhhMmx1WnlCemNHRmpaVnh1SUNBZ0lFdzZJQ2RjWEhVeU1ESTRKeXdnTHk4Z1ZXNXBZMjlrWlNCc2FXNWxJSE5sY0dGeVlYUnZjbHh1SUNBZ0lGQTZJQ2RjWEhVeU1ESTVKeXdnTHk4Z1ZXNXBZMjlrWlNCd1lYSmhaM0poY0dnZ2MyVndZWEpoZEc5eVhHNGdJQ0FnSnlBbk9pQW5JQ2NzWEc0Z0lDQWdKMXdpSnpvZ0oxd2lKeXhjYmlBZ0lDQW5MeWM2SUNjdkp5eGNiaUFnSUNBblhGeGNYQ2M2SUNkY1hGeGNKeXhjYmlBZ0lDQW5YRngwSnpvZ0oxeGNkQ2RjYm4wN1hHNW1kVzVqZEdsdmJpQndZWEp6WlVOb1lYSkRiMlJsS0hOdmRYSmpaU3dnYjJabWMyVjBMQ0JzWlc1bmRHZ3NJRzl1UlhKeWIzSXBJSHRjYmlBZ0lDQmpiMjV6ZENCall5QTlJSE52ZFhKalpTNXpkV0p6ZEhJb2IyWm1jMlYwTENCc1pXNW5kR2dwTzF4dUlDQWdJR052Ym5OMElHOXJJRDBnWTJNdWJHVnVaM1JvSUQwOVBTQnNaVzVuZEdnZ0ppWWdMMTViTUMwNVlTMW1RUzFHWFNza0x5NTBaWE4wS0dOaktUdGNiaUFnSUNCamIyNXpkQ0JqYjJSbElEMGdiMnNnUHlCd1lYSnpaVWx1ZENoall5d2dNVFlwSURvZ1RtRk9PMXh1SUNBZ0lHbG1JQ2hwYzA1aFRpaGpiMlJsS1NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVlYY2dQU0J6YjNWeVkyVXVjM1ZpYzNSeUtHOW1abk5sZENBdElESXNJR3hsYm1kMGFDQXJJRElwTzF4dUlDQWdJQ0FnSUNCdmJrVnljbTl5S0c5bVpuTmxkQ0F0SURJc0lDZENRVVJmUkZGZlJWTkRRVkJGSnl3Z1lFbHVkbUZzYVdRZ1pYTmpZWEJsSUhObGNYVmxibU5sSUNSN2NtRjNmV0FwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY21GM08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdVM1J5YVc1bkxtWnliMjFEYjJSbFVHOXBiblFvWTI5a1pTazdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lISmxjMjlzZG1WR2JHOTNVMk5oYkdGeUlIMDdYRzRpTENBaWFXMXdiM0owSUhzZ2FYTlRZMkZzWVhJc0lGTkRRVXhCVWlCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDJsa1pXNTBhWFI1TG1wekp6dGNibWx0Y0c5eWRDQjdJRk5qWVd4aGNpQjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwxTmpZV3hoY2k1cWN5YzdYRzVwYlhCdmNuUWdleUJ5WlhOdmJIWmxRbXh2WTJ0VFkyRnNZWElnZlNCbWNtOXRJQ2N1TDNKbGMyOXNkbVV0WW14dlkyc3RjMk5oYkdGeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUhKbGMyOXNkbVZHYkc5M1UyTmhiR0Z5SUgwZ1puSnZiU0FuTGk5eVpYTnZiSFpsTFdac2IzY3RjMk5oYkdGeUxtcHpKenRjYmx4dVpuVnVZM1JwYjI0Z1kyOXRjRzl6WlZOallXeGhjaWhqZEhnc0lIUnZhMlZ1TENCMFlXZFViMnRsYml3Z2IyNUZjbkp2Y2lrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnZG1Gc2RXVXNJSFI1Y0dVc0lHTnZiVzFsYm5Rc0lISmhibWRsSUgwZ1BTQjBiMnRsYmk1MGVYQmxJRDA5UFNBbllteHZZMnN0YzJOaGJHRnlKMXh1SUNBZ0lDQWdJQ0EvSUhKbGMyOXNkbVZDYkc5amExTmpZV3hoY2loamRIZ3NJSFJ2YTJWdUxDQnZia1Z5Y205eUtWeHVJQ0FnSUNBZ0lDQTZJSEpsYzI5c2RtVkdiRzkzVTJOaGJHRnlLSFJ2YTJWdUxDQmpkSGd1YjNCMGFXOXVjeTV6ZEhKcFkzUXNJRzl1UlhKeWIzSXBPMXh1SUNBZ0lHTnZibk4wSUhSaFowNWhiV1VnUFNCMFlXZFViMnRsYmx4dUlDQWdJQ0FnSUNBL0lHTjBlQzVrYVhKbFkzUnBkbVZ6TG5SaFowNWhiV1VvZEdGblZHOXJaVzR1YzI5MWNtTmxMQ0J0YzJjZ1BUNGdiMjVGY25KdmNpaDBZV2RVYjJ0bGJpd2dKMVJCUjE5U1JWTlBURlpGWDBaQlNVeEZSQ2NzSUcxelp5a3BYRzRnSUNBZ0lDQWdJRG9nYm5Wc2JEdGNiaUFnSUNCc1pYUWdkR0ZuTzF4dUlDQWdJR2xtSUNoamRIZ3ViM0IwYVc5dWN5NXpkSEpwYm1kTFpYbHpJQ1ltSUdOMGVDNWhkRXRsZVNrZ2UxeHVJQ0FnSUNBZ0lDQjBZV2NnUFNCamRIZ3VjMk5vWlcxaFcxTkRRVXhCVWwwN1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJVZ2FXWWdLSFJoWjA1aGJXVXBYRzRnSUNBZ0lDQWdJSFJoWnlBOUlHWnBibVJUWTJGc1lYSlVZV2RDZVU1aGJXVW9ZM1I0TG5OamFHVnRZU3dnZG1Gc2RXVXNJSFJoWjA1aGJXVXNJSFJoWjFSdmEyVnVMQ0J2YmtWeWNtOXlLVHRjYmlBZ0lDQmxiSE5sSUdsbUlDaDBiMnRsYmk1MGVYQmxJRDA5UFNBbmMyTmhiR0Z5SnlsY2JpQWdJQ0FnSUNBZ2RHRm5JRDBnWm1sdVpGTmpZV3hoY2xSaFowSjVWR1Z6ZENoamRIZ3NJSFpoYkhWbExDQjBiMnRsYml3Z2IyNUZjbkp2Y2lrN1hHNGdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQjBZV2NnUFNCamRIZ3VjMk5vWlcxaFcxTkRRVXhCVWwwN1hHNGdJQ0FnYkdWMElITmpZV3hoY2p0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTWdQU0IwWVdjdWNtVnpiMngyWlNoMllXeDFaU3dnYlhObklEMCtJRzl1UlhKeWIzSW9kR0ZuVkc5clpXNGdQejhnZEc5clpXNHNJQ2RVUVVkZlVrVlRUMHhXUlY5R1FVbE1SVVFuTENCdGMyY3BMQ0JqZEhndWIzQjBhVzl1Y3lrN1hHNGdJQ0FnSUNBZ0lITmpZV3hoY2lBOUlHbHpVMk5oYkdGeUtISmxjeWtnUHlCeVpYTWdPaUJ1WlhjZ1UyTmhiR0Z5S0hKbGN5azdYRzRnSUNBZ2ZWeHVJQ0FnSUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRjMmNnUFNCbGNuSnZjaUJwYm5OMFlXNWpaVzltSUVWeWNtOXlJRDhnWlhKeWIzSXViV1Z6YzJGblpTQTZJRk4wY21sdVp5aGxjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2RHRm5WRzlyWlc0Z1B6OGdkRzlyWlc0c0lDZFVRVWRmVWtWVFQweFdSVjlHUVVsTVJVUW5MQ0J0YzJjcE8xeHVJQ0FnSUNBZ0lDQnpZMkZzWVhJZ1BTQnVaWGNnVTJOaGJHRnlLSFpoYkhWbEtUdGNiaUFnSUNCOVhHNGdJQ0FnYzJOaGJHRnlMbkpoYm1kbElEMGdjbUZ1WjJVN1hHNGdJQ0FnYzJOaGJHRnlMbk52ZFhKalpTQTlJSFpoYkhWbE8xeHVJQ0FnSUdsbUlDaDBlWEJsS1Z4dUlDQWdJQ0FnSUNCelkyRnNZWEl1ZEhsd1pTQTlJSFI1Y0dVN1hHNGdJQ0FnYVdZZ0tIUmhaMDVoYldVcFhHNGdJQ0FnSUNBZ0lITmpZV3hoY2k1MFlXY2dQU0IwWVdkT1lXMWxPMXh1SUNBZ0lHbG1JQ2gwWVdjdVptOXliV0YwS1Z4dUlDQWdJQ0FnSUNCelkyRnNZWEl1Wm05eWJXRjBJRDBnZEdGbkxtWnZjbTFoZER0Y2JpQWdJQ0JwWmlBb1kyOXRiV1Z1ZENsY2JpQWdJQ0FnSUNBZ2MyTmhiR0Z5TG1OdmJXMWxiblFnUFNCamIyMXRaVzUwTzF4dUlDQWdJSEpsZEhWeWJpQnpZMkZzWVhJN1hHNTlYRzVtZFc1amRHbHZiaUJtYVc1a1UyTmhiR0Z5VkdGblFubE9ZVzFsS0hOamFHVnRZU3dnZG1Gc2RXVXNJSFJoWjA1aGJXVXNJSFJoWjFSdmEyVnVMQ0J2YmtWeWNtOXlLU0I3WEc0Z0lDQWdhV1lnS0hSaFowNWhiV1VnUFQwOUlDY2hKeWxjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSE5qYUdWdFlWdFRRMEZNUVZKZE95QXZMeUJ1YjI0dGMzQmxZMmxtYVdNZ2RHRm5YRzRnSUNBZ1kyOXVjM1FnYldGMFkyaFhhWFJvVkdWemRDQTlJRnRkTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnZEdGbklHOW1JSE5qYUdWdFlTNTBZV2R6S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doZEdGbkxtTnZiR3hsWTNScGIyNGdKaVlnZEdGbkxuUmhaeUE5UFQwZ2RHRm5UbUZ0WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUmhaeTVrWldaaGRXeDBJQ1ltSUhSaFp5NTBaWE4wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGRHTm9WMmwwYUZSbGMzUXVjSFZ6YUNoMFlXY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZV2M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0IwWVdjZ2IyWWdiV0YwWTJoWGFYUm9WR1Z6ZENsY2JpQWdJQ0FnSUNBZ2FXWWdLSFJoWnk1MFpYTjBQeTUwWlhOMEtIWmhiSFZsS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZV2M3WEc0Z0lDQWdZMjl1YzNRZ2EzUWdQU0J6WTJobGJXRXVhMjV2ZDI1VVlXZHpXM1JoWjA1aGJXVmRPMXh1SUNBZ0lHbG1JQ2hyZENBbUppQWhhM1F1WTI5c2JHVmpkR2x2YmlrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJGYm5OMWNtVWdkR2hoZENCMGFHVWdhMjV2ZDI0Z2RHRm5JR2x6SUdGMllXbHNZV0pzWlNCbWIzSWdjM1J5YVc1bmFXWjVhVzVuTEZ4dUlDQWdJQ0FnSUNBdkx5QmlkWFFnWkc5bGN5QnViM1FnWjJWMElIVnpaV1FnWW5rZ1pHVm1ZWFZzZEM1Y2JpQWdJQ0FnSUNBZ2MyTm9aVzFoTG5SaFozTXVjSFZ6YUNoUFltcGxZM1F1WVhOemFXZHVLSHQ5TENCcmRDd2dleUJrWldaaGRXeDBPaUJtWVd4elpTd2dkR1Z6ZERvZ2RXNWtaV1pwYm1Wa0lIMHBLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR3QwTzF4dUlDQWdJSDFjYmlBZ0lDQnZia1Z5Y205eUtIUmhaMVJ2YTJWdUxDQW5WRUZIWDFKRlUwOU1Wa1ZmUmtGSlRFVkVKeXdnWUZWdWNtVnpiMngyWldRZ2RHRm5PaUFrZTNSaFowNWhiV1Y5WUN3Z2RHRm5UbUZ0WlNBaFBUMGdKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPbk4wY2ljcE8xeHVJQ0FnSUhKbGRIVnliaUJ6WTJobGJXRmJVME5CVEVGU1hUdGNibjFjYm1aMWJtTjBhVzl1SUdacGJtUlRZMkZzWVhKVVlXZENlVlJsYzNRb2V5QmhkRXRsZVN3Z1pHbHlaV04wYVhabGN5d2djMk5vWlcxaElIMHNJSFpoYkhWbExDQjBiMnRsYml3Z2IyNUZjbkp2Y2lrZ2UxeHVJQ0FnSUdOdmJuTjBJSFJoWnlBOUlITmphR1Z0WVM1MFlXZHpMbVpwYm1Rb2RHRm5JRDArSUNoMFlXY3VaR1ZtWVhWc2RDQTlQVDBnZEhKMVpTQjhmQ0FvWVhSTFpYa2dKaVlnZEdGbkxtUmxabUYxYkhRZ1BUMDlJQ2RyWlhrbktTa2dKaVpjYmlBZ0lDQWdJQ0FnZEdGbkxuUmxjM1EvTG5SbGMzUW9kbUZzZFdVcEtTQjhmQ0J6WTJobGJXRmJVME5CVEVGU1hUdGNiaUFnSUNCcFppQW9jMk5vWlcxaExtTnZiWEJoZENrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCamIyMXdZWFFnUFNCelkyaGxiV0V1WTI5dGNHRjBMbVpwYm1Rb2RHRm5JRDArSUhSaFp5NWtaV1poZFd4MElDWW1JSFJoWnk1MFpYTjBQeTUwWlhOMEtIWmhiSFZsS1NrZ1B6OWNiaUFnSUNBZ0lDQWdJQ0FnSUhOamFHVnRZVnRUUTBGTVFWSmRPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RHRm5MblJoWnlBaFBUMGdZMjl0Y0dGMExuUmhaeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2RITWdQU0JrYVhKbFkzUnBkbVZ6TG5SaFoxTjBjbWx1WnloMFlXY3VkR0ZuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTnpJRDBnWkdseVpXTjBhWFpsY3k1MFlXZFRkSEpwYm1jb1kyOXRjR0YwTG5SaFp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0YzJjZ1BTQmdWbUZzZFdVZ2JXRjVJR0psSUhCaGNuTmxaQ0JoY3lCbGFYUm9aWElnSkh0MGMzMGdiM0lnSkh0amMzMWdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loMGIydGxiaXdnSjFSQlIxOVNSVk5QVEZaRlgwWkJTVXhGUkNjc0lHMXpaeXdnZEhKMVpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSaFp6dGNibjFjYmx4dVpYaHdiM0owSUhzZ1kyOXRjRzl6WlZOallXeGhjaUI5TzF4dUlpd2dJbVoxYm1OMGFXOXVJR1Z0Y0hSNVUyTmhiR0Z5VUc5emFYUnBiMjRvYjJabWMyVjBMQ0JpWldadmNtVXNJSEJ2Y3lrZ2UxeHVJQ0FnSUdsbUlDaGlaV1p2Y21VcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hCdmN5QTlQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lDQWdJQ0FnSUhCdmN5QTlJR0psWm05eVpTNXNaVzVuZEdnN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0J3YjNNZ0xTQXhPeUJwSUQ0OUlEQTdJQzB0YVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElITjBJRDBnWW1WbWIzSmxXMmxkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjM2RwZEdOb0lDaHpkQzUwZVhCbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmMzQmhZMlVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMk52YlcxbGJuUW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyNWxkMnhwYm1Vbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2Wm1aelpYUWdMVDBnYzNRdWMyOTFjbU5sTG14bGJtZDBhRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJVWldOb2JtbGpZV3hzZVN3Z1lXNGdaVzF3ZEhrZ2MyTmhiR0Z5SUdseklHbHRiV1ZrYVdGMFpXeDVJR0ZtZEdWeUlIUm9aU0JzWVhOMElHNXZiaTFsYlhCMGVWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JtOWtaU3dnWW5WMElHbDBKM01nYlc5eVpTQjFjMlZtZFd3Z2RHOGdjR3hoWTJVZ2FYUWdZV1owWlhJZ1lXNTVJSGRvYVhSbGMzQmhZMlV1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkQ0E5SUdKbFptOXlaVnNySzJsZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZDJocGJHVWdLSE4wUHk1MGVYQmxJRDA5UFNBbmMzQmhZMlVuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyWm1jMlYwSUNzOUlITjBMbk52ZFhKalpTNXNaVzVuZEdnN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUWdQU0JpWldadmNtVmJLeXRwWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnZabVp6WlhRN1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUdWdGNIUjVVMk5oYkdGeVVHOXphWFJwYjI0Z2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCQmJHbGhjeUI5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMEZzYVdGekxtcHpKenRjYm1sdGNHOXlkQ0I3SUdselUyTmhiR0Z5SUgwZ1puSnZiU0FuTGk0dmJtOWtaWE12YVdSbGJuUnBkSGt1YW5Nbk8xeHVhVzF3YjNKMElIc2dZMjl0Y0c5elpVTnZiR3hsWTNScGIyNGdmU0JtY205dElDY3VMMk52YlhCdmMyVXRZMjlzYkdWamRHbHZiaTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF3YjNObFUyTmhiR0Z5SUgwZ1puSnZiU0FuTGk5amIyMXdiM05sTFhOallXeGhjaTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnlaWE52YkhabFJXNWtJSDBnWm5KdmJTQW5MaTl5WlhOdmJIWmxMV1Z1WkM1cWN5YzdYRzVwYlhCdmNuUWdleUJsYlhCMGVWTmpZV3hoY2xCdmMybDBhVzl1SUgwZ1puSnZiU0FuTGk5MWRHbHNMV1Z0Y0hSNUxYTmpZV3hoY2kxd2IzTnBkR2x2Ymk1cWN5YzdYRzVjYm1OdmJuTjBJRU5PSUQwZ2V5QmpiMjF3YjNObFRtOWtaU3dnWTI5dGNHOXpaVVZ0Y0hSNVRtOWtaU0I5TzF4dVpuVnVZM1JwYjI0Z1kyOXRjRzl6WlU1dlpHVW9ZM1I0TENCMGIydGxiaXdnY0hKdmNITXNJRzl1UlhKeWIzSXBJSHRjYmlBZ0lDQmpiMjV6ZENCaGRFdGxlU0E5SUdOMGVDNWhkRXRsZVR0Y2JpQWdJQ0JqYjI1emRDQjdJSE53WVdObFFtVm1iM0psTENCamIyMXRaVzUwTENCaGJtTm9iM0lzSUhSaFp5QjlJRDBnY0hKdmNITTdYRzRnSUNBZ2JHVjBJRzV2WkdVN1hHNGdJQ0FnYkdWMElHbHpVM0pqVkc5clpXNGdQU0IwY25WbE8xeHVJQ0FnSUhOM2FYUmphQ0FvZEc5clpXNHVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUNkaGJHbGhjeWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnViMlJsSUQwZ1kyOXRjRzl6WlVGc2FXRnpLR04wZUN3Z2RHOXJaVzRzSUc5dVJYSnliM0lwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dGdVkyaHZjaUI4ZkNCMFlXY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaDBiMnRsYml3Z0owRk1TVUZUWDFCU1QxQlRKeXdnSjBGdUlHRnNhV0Z6SUc1dlpHVWdiWFZ6ZENCdWIzUWdjM0JsWTJsbWVTQmhibmtnY0hKdmNHVnlkR2xsY3ljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJR05oYzJVZ0ozTmpZV3hoY2ljNlhHNGdJQ0FnSUNBZ0lHTmhjMlVnSjNOcGJtZHNaUzF4ZFc5MFpXUXRjMk5oYkdGeUp6cGNiaUFnSUNBZ0lDQWdZMkZ6WlNBblpHOTFZbXhsTFhGMWIzUmxaQzF6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0JqWVhObElDZGliRzlqYXkxelkyRnNZWEluT2x4dUlDQWdJQ0FnSUNBZ0lDQWdibTlrWlNBOUlHTnZiWEJ2YzJWVFkyRnNZWElvWTNSNExDQjBiMnRsYml3Z2RHRm5MQ0J2YmtWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hoYm1Ob2IzSXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibTlrWlM1aGJtTm9iM0lnUFNCaGJtTm9iM0l1YzI5MWNtTmxMbk4xWW5OMGNtbHVaeWd4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNkaWJHOWpheTF0WVhBbk9seHVJQ0FnSUNBZ0lDQmpZWE5sSUNkaWJHOWpheTF6WlhFbk9seHVJQ0FnSUNBZ0lDQmpZWE5sSUNkbWJHOTNMV052Ykd4bFkzUnBiMjRuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdibTlrWlNBOUlHTnZiWEJ2YzJWRGIyeHNaV04wYVc5dUtFTk9MQ0JqZEhnc0lIUnZhMlZ1TENCd2NtOXdjeXdnYjI1RmNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWVc1amFHOXlLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzV2WkdVdVlXNWphRzl5SUQwZ1lXNWphRzl5TG5OdmRYSmpaUzV6ZFdKemRISnBibWNvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REb2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYldWemMyRm5aU0E5SUhSdmEyVnVMblI1Y0dVZ1BUMDlJQ2RsY25KdmNpZGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JSFJ2YTJWdUxtMWxjM05oWjJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklHQlZibk4xY0hCdmNuUmxaQ0IwYjJ0bGJpQW9kSGx3WlRvZ0pIdDBiMnRsYmk1MGVYQmxmU2xnTzF4dUlDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaDBiMnRsYml3Z0oxVk9SVmhRUlVOVVJVUmZWRTlMUlU0bkxDQnRaWE56WVdkbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUc1dlpHVWdQU0JqYjIxd2IzTmxSVzF3ZEhsT2IyUmxLR04wZUN3Z2RHOXJaVzR1YjJabWMyVjBMQ0IxYm1SbFptbHVaV1FzSUc1MWJHd3NJSEJ5YjNCekxDQnZia1Z5Y205eUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdselUzSmpWRzlyWlc0Z1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1lXNWphRzl5SUNZbUlHNXZaR1V1WVc1amFHOXlJRDA5UFNBbkp5bGNiaUFnSUNBZ0lDQWdiMjVGY25KdmNpaGhibU5vYjNJc0lDZENRVVJmUVV4SlFWTW5MQ0FuUVc1amFHOXlJR05oYm01dmRDQmlaU0JoYmlCbGJYQjBlU0J6ZEhKcGJtY25LVHRjYmlBZ0lDQnBaaUFvWVhSTFpYa2dKaVpjYmlBZ0lDQWdJQ0FnWTNSNExtOXdkR2x2Ym5NdWMzUnlhVzVuUzJWNWN5QW1KbHh1SUNBZ0lDQWdJQ0FvSVdselUyTmhiR0Z5S0c1dlpHVXBJSHg4WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBlWEJsYjJZZ2JtOWtaUzUyWVd4MVpTQWhQVDBnSjNOMGNtbHVaeWNnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2h1YjJSbExuUmhaeUFtSmlCdWIyUmxMblJoWnlBaFBUMGdKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPbk4wY2ljcEtTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRjMmNnUFNBblYybDBhQ0J6ZEhKcGJtZExaWGx6TENCaGJHd2dhMlY1Y3lCdGRYTjBJR0psSUhOMGNtbHVaM01uTzF4dUlDQWdJQ0FnSUNCdmJrVnljbTl5S0hSaFp5QS9QeUIwYjJ0bGJpd2dKMDVQVGw5VFZGSkpUa2RmUzBWWkp5d2diWE5uS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hOd1lXTmxRbVZtYjNKbEtWeHVJQ0FnSUNBZ0lDQnViMlJsTG5Od1lXTmxRbVZtYjNKbElEMGdkSEoxWlR0Y2JpQWdJQ0JwWmlBb1kyOXRiV1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZEc5clpXNHVkSGx3WlNBOVBUMGdKM05qWVd4aGNpY2dKaVlnZEc5clpXNHVjMjkxY21ObElEMDlQU0FuSnlsY2JpQWdJQ0FnSUNBZ0lDQWdJRzV2WkdVdVkyOXRiV1Z1ZENBOUlHTnZiVzFsYm5RN1hHNGdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lHNXZaR1V1WTI5dGJXVnVkRUpsWm05eVpTQTlJR052YlcxbGJuUTdYRzRnSUNBZ2ZWeHVJQ0FnSUM4dklFQjBjeTFsZUhCbFkzUXRaWEp5YjNJZ1ZIbHdaU0JqYUdWamEybHVaeUJ0YVhOelpYTWdiV1ZoYm1sdVp5QnZaaUJwYzFOeVkxUnZhMlZ1WEc0Z0lDQWdhV1lnS0dOMGVDNXZjSFJwYjI1ekxtdGxaWEJUYjNWeVkyVlViMnRsYm5NZ0ppWWdhWE5UY21OVWIydGxiaWxjYmlBZ0lDQWdJQ0FnYm05a1pTNXpjbU5VYjJ0bGJpQTlJSFJ2YTJWdU8xeHVJQ0FnSUhKbGRIVnliaUJ1YjJSbE8xeHVmVnh1Wm5WdVkzUnBiMjRnWTI5dGNHOXpaVVZ0Y0hSNVRtOWtaU2hqZEhnc0lHOW1abk5sZEN3Z1ltVm1iM0psTENCd2IzTXNJSHNnYzNCaFkyVkNaV1p2Y21Vc0lHTnZiVzFsYm5Rc0lHRnVZMmh2Y2l3Z2RHRm5MQ0JsYm1RZ2ZTd2diMjVGY25KdmNpa2dlMXh1SUNBZ0lHTnZibk4wSUhSdmEyVnVJRDBnZTF4dUlDQWdJQ0FnSUNCMGVYQmxPaUFuYzJOaGJHRnlKeXhjYmlBZ0lDQWdJQ0FnYjJabWMyVjBPaUJsYlhCMGVWTmpZV3hoY2xCdmMybDBhVzl1S0c5bVpuTmxkQ3dnWW1WbWIzSmxMQ0J3YjNNcExGeHVJQ0FnSUNBZ0lDQnBibVJsYm5RNklDMHhMRnh1SUNBZ0lDQWdJQ0J6YjNWeVkyVTZJQ2NuWEc0Z0lDQWdmVHRjYmlBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnWTI5dGNHOXpaVk5qWVd4aGNpaGpkSGdzSUhSdmEyVnVMQ0IwWVdjc0lHOXVSWEp5YjNJcE8xeHVJQ0FnSUdsbUlDaGhibU5vYjNJcElIdGNiaUFnSUNBZ0lDQWdibTlrWlM1aGJtTm9iM0lnUFNCaGJtTm9iM0l1YzI5MWNtTmxMbk4xWW5OMGNtbHVaeWd4S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzV2WkdVdVlXNWphRzl5SUQwOVBTQW5KeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb1lXNWphRzl5TENBblFrRkVYMEZNU1VGVEp5d2dKMEZ1WTJodmNpQmpZVzV1YjNRZ1ltVWdZVzRnWlcxd2RIa2djM1J5YVc1bkp5azdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHpjR0ZqWlVKbFptOXlaU2xjYmlBZ0lDQWdJQ0FnYm05a1pTNXpjR0ZqWlVKbFptOXlaU0E5SUhSeWRXVTdYRzRnSUNBZ2FXWWdLR052YlcxbGJuUXBJSHRjYmlBZ0lDQWdJQ0FnYm05a1pTNWpiMjF0Wlc1MElEMGdZMjl0YldWdWREdGNiaUFnSUNBZ0lDQWdibTlrWlM1eVlXNW5aVnN5WFNBOUlHVnVaRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc1dlpHVTdYRzU5WEc1bWRXNWpkR2x2YmlCamIyMXdiM05sUVd4cFlYTW9leUJ2Y0hScGIyNXpJSDBzSUhzZ2IyWm1jMlYwTENCemIzVnlZMlVzSUdWdVpDQjlMQ0J2YmtWeWNtOXlLU0I3WEc0Z0lDQWdZMjl1YzNRZ1lXeHBZWE1nUFNCdVpYY2dRV3hwWVhNb2MyOTFjbU5sTG5OMVluTjBjbWx1WnlneEtTazdYRzRnSUNBZ2FXWWdLR0ZzYVdGekxuTnZkWEpqWlNBOVBUMGdKeWNwWEc0Z0lDQWdJQ0FnSUc5dVJYSnliM0lvYjJabWMyVjBMQ0FuUWtGRVgwRk1TVUZUSnl3Z0owRnNhV0Z6SUdOaGJtNXZkQ0JpWlNCaGJpQmxiWEIwZVNCemRISnBibWNuS1R0Y2JpQWdJQ0JwWmlBb1lXeHBZWE11YzI5MWNtTmxMbVZ1WkhOWGFYUm9LQ2M2SnlrcFhHNGdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2IyWm1jMlYwSUNzZ2MyOTFjbU5sTG14bGJtZDBhQ0F0SURFc0lDZENRVVJmUVV4SlFWTW5MQ0FuUVd4cFlYTWdaVzVrYVc1bklHbHVJRG9nYVhNZ1lXMWlhV2QxYjNWekp5d2dkSEoxWlNrN1hHNGdJQ0FnWTI5dWMzUWdkbUZzZFdWRmJtUWdQU0J2Wm1aelpYUWdLeUJ6YjNWeVkyVXViR1Z1WjNSb08xeHVJQ0FnSUdOdmJuTjBJSEpsSUQwZ2NtVnpiMngyWlVWdVpDaGxibVFzSUhaaGJIVmxSVzVrTENCdmNIUnBiMjV6TG5OMGNtbGpkQ3dnYjI1RmNuSnZjaWs3WEc0Z0lDQWdZV3hwWVhNdWNtRnVaMlVnUFNCYmIyWm1jMlYwTENCMllXeDFaVVZ1WkN3Z2NtVXViMlptYzJWMFhUdGNiaUFnSUNCcFppQW9jbVV1WTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnWVd4cFlYTXVZMjl0YldWdWRDQTlJSEpsTG1OdmJXMWxiblE3WEc0Z0lDQWdjbVYwZFhKdUlHRnNhV0Z6TzF4dWZWeHVYRzVsZUhCdmNuUWdleUJqYjIxd2IzTmxSVzF3ZEhsT2IyUmxMQ0JqYjIxd2IzTmxUbTlrWlNCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUVSdlkzVnRaVzUwSUgwZ1puSnZiU0FuTGk0dlpHOWpMMFJ2WTNWdFpXNTBMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHTnZiWEJ2YzJWT2IyUmxMQ0JqYjIxd2IzTmxSVzF3ZEhsT2IyUmxJSDBnWm5KdmJTQW5MaTlqYjIxd2IzTmxMVzV2WkdVdWFuTW5PMXh1YVcxd2IzSjBJSHNnY21WemIyeDJaVVZ1WkNCOUlHWnliMjBnSnk0dmNtVnpiMngyWlMxbGJtUXVhbk1uTzF4dWFXMXdiM0owSUhzZ2NtVnpiMngyWlZCeWIzQnpJSDBnWm5KdmJTQW5MaTl5WlhOdmJIWmxMWEJ5YjNCekxtcHpKenRjYmx4dVpuVnVZM1JwYjI0Z1kyOXRjRzl6WlVSdll5aHZjSFJwYjI1ekxDQmthWEpsWTNScGRtVnpMQ0I3SUc5bVpuTmxkQ3dnYzNSaGNuUXNJSFpoYkhWbExDQmxibVFnZlN3Z2IyNUZjbkp2Y2lrZ2UxeHVJQ0FnSUdOdmJuTjBJRzl3ZEhNZ1BTQlBZbXBsWTNRdVlYTnphV2R1S0hzZ1gyUnBjbVZqZEdsMlpYTTZJR1JwY21WamRHbDJaWE1nZlN3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnWTI5dWMzUWdaRzlqSUQwZ2JtVjNJRVJ2WTNWdFpXNTBLSFZ1WkdWbWFXNWxaQ3dnYjNCMGN5azdYRzRnSUNBZ1kyOXVjM1FnWTNSNElEMGdlMXh1SUNBZ0lDQWdJQ0JoZEV0bGVUb2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lHRjBVbTl2ZERvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnWkdseVpXTjBhWFpsY3pvZ1pHOWpMbVJwY21WamRHbDJaWE1zWEc0Z0lDQWdJQ0FnSUc5d2RHbHZibk02SUdSdll5NXZjSFJwYjI1ekxGeHVJQ0FnSUNBZ0lDQnpZMmhsYldFNklHUnZZeTV6WTJobGJXRmNiaUFnSUNCOU8xeHVJQ0FnSUdOdmJuTjBJSEJ5YjNCeklEMGdjbVZ6YjJ4MlpWQnliM0J6S0hOMFlYSjBMQ0I3WEc0Z0lDQWdJQ0FnSUdsdVpHbGpZWFJ2Y2pvZ0oyUnZZeTF6ZEdGeWRDY3NYRzRnSUNBZ0lDQWdJRzVsZUhRNklIWmhiSFZsSUQ4L0lHVnVaRDh1V3pCZExGeHVJQ0FnSUNBZ0lDQnZabVp6WlhRc1hHNGdJQ0FnSUNBZ0lHOXVSWEp5YjNJc1hHNGdJQ0FnSUNBZ0lIQmhjbVZ1ZEVsdVpHVnVkRG9nTUN4Y2JpQWdJQ0FnSUNBZ2MzUmhjblJQYms1bGQyeHBibVU2SUhSeWRXVmNiaUFnSUNCOUtUdGNiaUFnSUNCcFppQW9jSEp2Y0hNdVptOTFibVFwSUh0Y2JpQWdJQ0FnSUNBZ1pHOWpMbVJwY21WamRHbDJaWE11Wkc5alUzUmhjblFnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1VnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ2gyWVd4MVpTNTBlWEJsSUQwOVBTQW5ZbXh2WTJzdGJXRndKeUI4ZkNCMllXeDFaUzUwZVhCbElEMDlQU0FuWW14dlkyc3RjMlZ4SnlrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNGd2NtOXdjeTVvWVhOT1pYZHNhVzVsS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaHdjbTl3Y3k1bGJtUXNJQ2ROU1ZOVFNVNUhYME5JUVZJbkxDQW5RbXh2WTJzZ1kyOXNiR1ZqZEdsdmJpQmpZVzV1YjNRZ2MzUmhjblFnYjI0Z2MyRnRaU0JzYVc1bElIZHBkR2dnWkdseVpXTjBhWFpsY3kxbGJtUWdiV0Z5YTJWeUp5azdYRzRnSUNBZ2ZWeHVJQ0FnSUM4dklFQjBjeTFsZUhCbFkzUXRaWEp5YjNJZ1NXWWdRMjl1ZEdWdWRITWdhWE1nYzJWMExDQnNaWFFuY3lCMGNuVnpkQ0IwYUdVZ2RYTmxjbHh1SUNBZ0lHUnZZeTVqYjI1MFpXNTBjeUE5SUhaaGJIVmxYRzRnSUNBZ0lDQWdJRDhnWTI5dGNHOXpaVTV2WkdVb1kzUjRMQ0IyWVd4MVpTd2djSEp2Y0hNc0lHOXVSWEp5YjNJcFhHNGdJQ0FnSUNBZ0lEb2dZMjl0Y0c5elpVVnRjSFI1VG05a1pTaGpkSGdzSUhCeWIzQnpMbVZ1WkN3Z2MzUmhjblFzSUc1MWJHd3NJSEJ5YjNCekxDQnZia1Z5Y205eUtUdGNiaUFnSUNCamIyNXpkQ0JqYjI1MFpXNTBSVzVrSUQwZ1pHOWpMbU52Ym5SbGJuUnpMbkpoYm1kbFd6SmRPMXh1SUNBZ0lHTnZibk4wSUhKbElEMGdjbVZ6YjJ4MlpVVnVaQ2hsYm1Rc0lHTnZiblJsYm5SRmJtUXNJR1poYkhObExDQnZia1Z5Y205eUtUdGNiaUFnSUNCcFppQW9jbVV1WTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnWkc5akxtTnZiVzFsYm5RZ1BTQnlaUzVqYjIxdFpXNTBPMXh1SUNBZ0lHUnZZeTV5WVc1blpTQTlJRnR2Wm1aelpYUXNJR052Ym5SbGJuUkZibVFzSUhKbExtOW1abk5sZEYwN1hHNGdJQ0FnY21WMGRYSnVJR1J2WXp0Y2JuMWNibHh1Wlhod2IzSjBJSHNnWTI5dGNHOXpaVVJ2WXlCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUVScGNtVmpkR2wyWlhNZ2ZTQm1jbTl0SUNjdUxpOWtiMk12WkdseVpXTjBhWFpsY3k1cWN5YzdYRzVwYlhCdmNuUWdleUJFYjJOMWJXVnVkQ0I5SUdaeWIyMGdKeTR1TDJSdll5OUViMk4xYldWdWRDNXFjeWM3WEc1cGJYQnZjblFnZXlCWlFVMU1WMkZ5Ym1sdVp5d2dXVUZOVEZCaGNuTmxSWEp5YjNJZ2ZTQm1jbTl0SUNjdUxpOWxjbkp2Y25NdWFuTW5PMXh1YVcxd2IzSjBJSHNnYVhORGIyeHNaV04wYVc5dUxDQnBjMUJoYVhJZ2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUJqYjIxd2IzTmxSRzlqSUgwZ1puSnZiU0FuTGk5amIyMXdiM05sTFdSdll5NXFjeWM3WEc1cGJYQnZjblFnZXlCeVpYTnZiSFpsUlc1a0lIMGdabkp2YlNBbkxpOXlaWE52YkhabExXVnVaQzVxY3ljN1hHNWNibVoxYm1OMGFXOXVJR2RsZEVWeWNtOXlVRzl6S0hOeVl5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdjM0pqSUQwOVBTQW5iblZ0WW1WeUp5bGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGdHpjbU1zSUhOeVl5QXJJREZkTzF4dUlDQWdJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLSE55WXlrcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCemNtTXViR1Z1WjNSb0lEMDlQU0F5SUQ4Z2MzSmpJRG9nVzNOeVkxc3dYU3dnYzNKald6RmRYVHRjYmlBZ0lDQmpiMjV6ZENCN0lHOW1abk5sZEN3Z2MyOTFjbU5sSUgwZ1BTQnpjbU03WEc0Z0lDQWdjbVYwZFhKdUlGdHZabVp6WlhRc0lHOW1abk5sZENBcklDaDBlWEJsYjJZZ2MyOTFjbU5sSUQwOVBTQW5jM1J5YVc1bkp5QS9JSE52ZFhKalpTNXNaVzVuZEdnZ09pQXhLVjA3WEc1OVhHNW1kVzVqZEdsdmJpQndZWEp6WlZCeVpXeDFaR1VvY0hKbGJIVmtaU2tnZTF4dUlDQWdJR3hsZENCamIyMXRaVzUwSUQwZ0p5YzdYRzRnSUNBZ2JHVjBJR0YwUTI5dGJXVnVkQ0E5SUdaaGJITmxPMXh1SUNBZ0lHeGxkQ0JoWm5SbGNrVnRjSFI1VEdsdVpTQTlJR1poYkhObE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2NISmxiSFZrWlM1c1pXNW5kR2c3SUNzcmFTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpiM1Z5WTJVZ1BTQndjbVZzZFdSbFcybGRPMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSE52ZFhKalpWc3dYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbkl5YzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl0YldWdWRDQXJQVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb1kyOXRiV1Z1ZENBOVBUMGdKeWNnUHlBbkp5QTZJR0ZtZEdWeVJXMXdkSGxNYVc1bElEOGdKMXhjYmx4Y2JpY2dPaUFuWEZ4dUp5a2dLMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLSE52ZFhKalpTNXpkV0p6ZEhKcGJtY29NU2tnZkh3Z0p5QW5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoZEVOdmJXMWxiblFnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0ZtZEdWeVJXMXdkSGxNYVc1bElEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNjbEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY0hKbGJIVmtaVnRwSUNzZ01WMC9MbHN3WFNBaFBUMGdKeU1uS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBJQ3M5SURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lYUkRiMjF0Wlc1MElEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvYVhNZ2JXRjVJR0psSUhkeWIyNW5JR0ZtZEdWeUlHUnZZeTFsYm1Rc0lHSjFkQ0JwYmlCMGFHRjBJR05oYzJVZ2FYUWdaRzlsYzI0bmRDQnRZWFIwWlhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV0YwUTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lXWjBaWEpGYlhCMGVVeHBibVVnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0YwUTI5dGJXVnVkQ0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCN0lHTnZiVzFsYm5Rc0lHRm1kR1Z5Ulcxd2RIbE1hVzVsSUgwN1hHNTlYRzR2S2lwY2JpQXFJRU52YlhCdmMyVWdZU0J6ZEhKbFlXMGdiMllnUTFOVUlHNXZaR1Z6SUdsdWRHOGdZU0J6ZEhKbFlXMGdiMllnV1VGTlRDQkViMk4xYldWdWRITXVYRzRnS2x4dUlDb2dZR0JnZEhOY2JpQXFJR2x0Y0c5eWRDQjdJRU52YlhCdmMyVnlMQ0JRWVhKelpYSWdmU0JtY205dElDZDVZVzFzSjF4dUlDcGNiaUFxSUdOdmJuTjBJSE55WXpvZ2MzUnlhVzVuSUQwZ0xpNHVYRzRnS2lCamIyNXpkQ0IwYjJ0bGJuTWdQU0J1WlhjZ1VHRnljMlZ5S0NrdWNHRnljMlVvYzNKaktWeHVJQ29nWTI5dWMzUWdaRzlqY3lBOUlHNWxkeUJEYjIxd2IzTmxjaWdwTG1OdmJYQnZjMlVvZEc5clpXNXpLVnh1SUNvZ1lHQmdYRzRnS2k5Y2JtTnNZWE56SUVOdmJYQnZjMlZ5SUh0Y2JpQWdJQ0JqYjI1emRISjFZM1J2Y2lodmNIUnBiMjV6SUQwZ2UzMHBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NWtiMk1nUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0IwYUdsekxtRjBSR2x5WldOMGFYWmxjeUE5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0IwYUdsekxuQnlaV3gxWkdVZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NWxjbkp2Y25NZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNZWEp1YVc1bmN5QTlJRnRkTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTl1UlhKeWIzSWdQU0FvYzI5MWNtTmxMQ0JqYjJSbExDQnRaWE56WVdkbExDQjNZWEp1YVc1bktTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCd2IzTWdQU0JuWlhSRmNuSnZjbEJ2Y3loemIzVnlZMlVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hkaGNtNXBibWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTNZWEp1YVc1bmN5NXdkWE5vS0c1bGR5QlpRVTFNVjJGeWJtbHVaeWh3YjNNc0lHTnZaR1VzSUcxbGMzTmhaMlVwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVZ5Y205eWN5NXdkWE5vS0c1bGR5QlpRVTFNVUdGeWMyVkZjbkp2Y2lod2IzTXNJR052WkdVc0lHMWxjM05oWjJVcEtUdGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5d2NtVm1aWEl0Ym5Wc2JHbHphQzFqYjJGc1pYTmphVzVuWEc0Z0lDQWdJQ0FnSUhSb2FYTXVaR2x5WldOMGFYWmxjeUE5SUc1bGR5QkVhWEpsWTNScGRtVnpLSHNnZG1WeWMybHZiam9nYjNCMGFXOXVjeTUyWlhKemFXOXVJSHg4SUNjeExqSW5JSDBwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTl3ZEdsdmJuTWdQU0J2Y0hScGIyNXpPMXh1SUNBZ0lIMWNiaUFnSUNCa1pXTnZjbUYwWlNoa2IyTXNJR0ZtZEdWeVJHOWpLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSHNnWTI5dGJXVnVkQ3dnWVdaMFpYSkZiWEIwZVV4cGJtVWdmU0E5SUhCaGNuTmxVSEpsYkhWa1pTaDBhR2x6TG5CeVpXeDFaR1VwTzF4dUlDQWdJQ0FnSUNBdkwyTnZibk52YkdVdWJHOW5LSHNnWkdNNklHUnZZeTVqYjIxdFpXNTBMQ0J3Y21Wc2RXUmxMQ0JqYjIxdFpXNTBJSDBwWEc0Z0lDQWdJQ0FnSUdsbUlDaGpiMjF0Wlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JrWXlBOUlHUnZZeTVqYjI1MFpXNTBjenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hoWm5SbGNrUnZZeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSdll5NWpiMjF0Wlc1MElEMGdaRzlqTG1OdmJXMWxiblFnUHlCZ0pIdGtiMk11WTI5dGJXVnVkSDFjWEc0a2UyTnZiVzFsYm5SOVlDQTZJR052YlcxbGJuUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hoWm5SbGNrVnRjSFI1VEdsdVpTQjhmQ0JrYjJNdVpHbHlaV04wYVhabGN5NWtiMk5UZEdGeWRDQjhmQ0FoWkdNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtiMk11WTI5dGJXVnVkRUpsWm05eVpTQTlJR052YlcxbGJuUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hwYzBOdmJHeGxZM1JwYjI0b1pHTXBJQ1ltSUNGa1l5NW1iRzkzSUNZbUlHUmpMbWwwWlcxekxteGxibWQwYUNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2FYUWdQU0JrWXk1cGRHVnRjMXN3WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWE5RWVdseUtHbDBLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUWdQU0JwZEM1clpYazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kySWdQU0JwZEM1amIyMXRaVzUwUW1WbWIzSmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG1OdmJXMWxiblJDWldadmNtVWdQU0JqWWlBL0lHQWtlMk52YlcxbGJuUjlYRnh1Skh0alluMWdJRG9nWTI5dGJXVnVkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTmlJRDBnWkdNdVkyOXRiV1Z1ZEVKbFptOXlaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWXk1amIyMXRaVzUwUW1WbWIzSmxJRDBnWTJJZ1B5QmdKSHRqYjIxdFpXNTBmVnhjYmlSN1kySjlZQ0E2SUdOdmJXMWxiblE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tHRm1kR1Z5Ukc5aktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCQmNuSmhlUzV3Y205MGIzUjVjR1V1Y0hWemFDNWhjSEJzZVNoa2IyTXVaWEp5YjNKekxDQjBhR2x6TG1WeWNtOXljeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdWNIVnphQzVoY0hCc2VTaGtiMk11ZDJGeWJtbHVaM01zSUhSb2FYTXVkMkZ5Ym1sdVozTXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHOWpMbVZ5Y205eWN5QTlJSFJvYVhNdVpYSnliM0p6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdaRzlqTG5kaGNtNXBibWR6SUQwZ2RHaHBjeTUzWVhKdWFXNW5jenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCMGFHbHpMbkJ5Wld4MVpHVWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVsY25KdmNuTWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzWVhKdWFXNW5jeUE5SUZ0ZE8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCRGRYSnlaVzUwSUhOMGNtVmhiU0J6ZEdGMGRYTWdhVzVtYjNKdFlYUnBiMjR1WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJOYjNOMGJIa2dkWE5sWm5Wc0lHRjBJSFJvWlNCbGJtUWdiMllnYVc1d2RYUWdabTl5SUdGdUlHVnRjSFI1SUhOMGNtVmhiUzVjYmlBZ0lDQWdLaTljYmlBZ0lDQnpkSEpsWVcxSmJtWnZLQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl0YldWdWREb2djR0Z5YzJWUWNtVnNkV1JsS0hSb2FYTXVjSEpsYkhWa1pTa3VZMjl0YldWdWRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUdScGNtVmpkR2wyWlhNNklIUm9hWE11WkdseVpXTjBhWFpsY3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eWN6b2dkR2hwY3k1bGNuSnZjbk1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQjNZWEp1YVc1bmN6b2dkR2hwY3k1M1lYSnVhVzVuYzF4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCRGIyMXdiM05sSUhSdmEyVnVjeUJwYm5SdklHUnZZM1Z0Wlc1MGN5NWNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlFQndZWEpoYlNCbWIzSmpaVVJ2WXlBdElFbG1JSFJvWlNCemRISmxZVzBnWTI5dWRHRnBibk1nYm04Z1pHOWpkVzFsYm5Rc0lITjBhV3hzSUdWdGFYUWdZU0JtYVc1aGJDQmtiMk4xYldWdWRDQnBibU5zZFdScGJtY2dZVzU1SUdOdmJXMWxiblJ6SUdGdVpDQmthWEpsWTNScGRtVnpJSFJvWVhRZ2QyOTFiR1FnWW1VZ1lYQndiR2xsWkNCMGJ5QmhJSE4xWW5ObGNYVmxiblFnWkc5amRXMWxiblF1WEc0Z0lDQWdJQ29nUUhCaGNtRnRJR1Z1WkU5bVpuTmxkQ0F0SUZOb2IzVnNaQ0JpWlNCelpYUWdhV1lnWUdadmNtTmxSRzlqWUNCcGN5QmhiSE52SUhObGRDd2dkRzhnYzJWMElIUm9aU0JrYjJOMWJXVnVkQ0J5WVc1blpTQmxibVFnWVc1a0lIUnZJR2x1WkdsallYUmxJR1Z5Y205eWN5QmpiM0p5WldOMGJIa3VYRzRnSUNBZ0lDb3ZYRzRnSUNBZ0ttTnZiWEJ2YzJVb2RHOXJaVzV6TENCbWIzSmpaVVJ2WXlBOUlHWmhiSE5sTENCbGJtUlBabVp6WlhRZ1BTQXRNU2tnZTF4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElIUnZhMlZ1SUc5bUlIUnZhMlZ1Y3lsY2JpQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG01bGVIUW9kRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTVsYm1Rb1ptOXlZMlZFYjJNc0lHVnVaRTltWm5ObGRDazdYRzRnSUNBZ2ZWeHVJQ0FnSUM4cUtpQkJaSFpoYm1ObElIUm9aU0JqYjIxd2IzTmxjaUJpZVNCdmJtVWdRMU5VSUhSdmEyVnVMaUFxTDF4dUlDQWdJQ3B1WlhoMEtIUnZhMlZ1S1NCN1hHNGdJQ0FnSUNBZ0lITjNhWFJqYUNBb2RHOXJaVzR1ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWkdseVpXTjBhWFpsSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJwY21WamRHbDJaWE11WVdSa0tIUnZhMlZ1TG5OdmRYSmpaU3dnS0c5bVpuTmxkQ3dnYldWemMyRm5aU3dnZDJGeWJtbHVaeWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQndiM01nUFNCblpYUkZjbkp2Y2xCdmN5aDBiMnRsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEJ2YzFzd1hTQXJQU0J2Wm1aelpYUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXViMjVGY25KdmNpaHdiM01zSUNkQ1FVUmZSRWxTUlVOVVNWWkZKeXdnYldWemMyRm5aU3dnZDJGeWJtbHVaeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV3Y21Wc2RXUmxMbkIxYzJnb2RHOXJaVzR1YzI5MWNtTmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtRjBSR2x5WldOMGFYWmxjeUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGtiMk4xYldWdWRDYzZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmtiMk1nUFNCamIyMXdiM05sUkc5aktIUm9hWE11YjNCMGFXOXVjeXdnZEdocGN5NWthWEpsWTNScGRtVnpMQ0IwYjJ0bGJpd2dkR2hwY3k1dmJrVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1aGRFUnBjbVZqZEdsMlpYTWdKaVlnSVdSdll5NWthWEpsWTNScGRtVnpMbVJ2WTFOMFlYSjBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbTl1UlhKeWIzSW9kRzlyWlc0c0lDZE5TVk5UU1U1SFgwTklRVkluTENBblRXbHpjMmx1WnlCa2FYSmxZM1JwZG1WekxXVnVaQzlrYjJNdGMzUmhjblFnYVc1a2FXTmhkRzl5SUd4cGJtVW5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtUmxZMjl5WVhSbEtHUnZZeXdnWm1Gc2MyVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbVJ2WXlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRZ2RHaHBjeTVrYjJNN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVrYjJNZ1BTQmtiMk03WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWhkRVJwY21WamRHbDJaWE1nUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oySjVkR1V0YjNKa1pYSXRiV0Z5YXljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHpjR0ZqWlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkamIyMXRaVzUwSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyNWxkMnhwYm1Vbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Y0hKbGJIVmtaUzV3ZFhOb0tIUnZhMlZ1TG5OdmRYSmpaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RsY25KdmNpYzZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRjMmNnUFNCMGIydGxiaTV6YjNWeVkyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUHlCZ0pIdDBiMnRsYmk1dFpYTnpZV2RsZlRvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNoMGIydGxiaTV6YjNWeVkyVXBmV0JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQjBiMnRsYmk1dFpYTnpZV2RsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR1Z5Y205eUlEMGdibVYzSUZsQlRVeFFZWEp6WlVWeWNtOXlLR2RsZEVWeWNtOXlVRzl6S0hSdmEyVnVLU3dnSjFWT1JWaFFSVU5VUlVSZlZFOUxSVTRuTENCdGMyY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbUYwUkdseVpXTjBhWFpsY3lCOGZDQWhkR2hwY3k1a2IyTXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaWEp5YjNKekxuQjFjMmdvWlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1a2IyTXVaWEp5YjNKekxuQjFjMmdvWlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblpHOWpMV1Z1WkNjNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhSb2FYTXVaRzlqS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMXpaeUE5SUNkVmJtVjRjR1ZqZEdWa0lHUnZZeTFsYm1RZ2QybDBhRzkxZENCd2NtVmpaV1JwYm1jZ1pHOWpkVzFsYm5Rbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtVnljbTl5Y3k1d2RYTm9LRzVsZHlCWlFVMU1VR0Z5YzJWRmNuSnZjaWhuWlhSRmNuSnZjbEJ2Y3loMGIydGxiaWtzSUNkVlRrVllVRVZEVkVWRVgxUlBTMFZPSnl3Z2JYTm5LU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJ2WXk1a2FYSmxZM1JwZG1WekxtUnZZMFZ1WkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaVzVrSUQwZ2NtVnpiMngyWlVWdVpDaDBiMnRsYmk1bGJtUXNJSFJ2YTJWdUxtOW1abk5sZENBcklIUnZhMlZ1TG5OdmRYSmpaUzVzWlc1bmRHZ3NJSFJvYVhNdVpHOWpMbTl3ZEdsdmJuTXVjM1J5YVdOMExDQjBhR2x6TG05dVJYSnliM0lwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaR1ZqYjNKaGRHVW9kR2hwY3k1a2IyTXNJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsYm1RdVkyOXRiV1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmtZeUE5SUhSb2FYTXVaRzlqTG1OdmJXMWxiblE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Wkc5akxtTnZiVzFsYm5RZ1BTQmtZeUEvSUdBa2UyUmpmVnhjYmlSN1pXNWtMbU52YlcxbGJuUjlZQ0E2SUdWdVpDNWpiMjF0Wlc1ME8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1Sdll5NXlZVzVuWlZzeVhTQTlJR1Z1WkM1dlptWnpaWFE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpYSnliM0p6TG5CMWMyZ29ibVYzSUZsQlRVeFFZWEp6WlVWeWNtOXlLR2RsZEVWeWNtOXlVRzl6S0hSdmEyVnVLU3dnSjFWT1JWaFFSVU5VUlVSZlZFOUxSVTRuTENCZ1ZXNXpkWEJ3YjNKMFpXUWdkRzlyWlc0Z0pIdDBiMnRsYmk1MGVYQmxmV0FwS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCRFlXeHNJR0YwSUdWdVpDQnZaaUJwYm5CMWRDQjBieUI1YVdWc1pDQmhibmtnY21WdFlXbHVhVzVuSUdSdlkzVnRaVzUwTGx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhCaGNtRnRJR1p2Y21ObFJHOWpJQzBnU1dZZ2RHaGxJSE4wY21WaGJTQmpiMjUwWVdsdWN5QnVieUJrYjJOMWJXVnVkQ3dnYzNScGJHd2daVzFwZENCaElHWnBibUZzSUdSdlkzVnRaVzUwSUdsdVkyeDFaR2x1WnlCaGJua2dZMjl0YldWdWRITWdZVzVrSUdScGNtVmpkR2wyWlhNZ2RHaGhkQ0IzYjNWc1pDQmlaU0JoY0hCc2FXVmtJSFJ2SUdFZ2MzVmljMlZ4ZFdWdWRDQmtiMk4xYldWdWRDNWNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ1pXNWtUMlptYzJWMElDMGdVMmh2ZFd4a0lHSmxJSE5sZENCcFppQmdabTl5WTJWRWIyTmdJR2x6SUdGc2MyOGdjMlYwTENCMGJ5QnpaWFFnZEdobElHUnZZM1Z0Wlc1MElISmhibWRsSUdWdVpDQmhibVFnZEc4Z2FXNWthV05oZEdVZ1pYSnliM0p6SUdOdmNuSmxZM1JzZVM1Y2JpQWdJQ0FnS2k5Y2JpQWdJQ0FxWlc1a0tHWnZjbU5sUkc5aklEMGdabUZzYzJVc0lHVnVaRTltWm5ObGRDQTlJQzB4S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtUnZZeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1a1pXTnZjbUYwWlNoMGFHbHpMbVJ2WXl3Z2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNCMGFHbHpMbVJ2WXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpHOWpJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2htYjNKalpVUnZZeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2IzQjBjeUE5SUU5aWFtVmpkQzVoYzNOcFoyNG9leUJmWkdseVpXTjBhWFpsY3pvZ2RHaHBjeTVrYVhKbFkzUnBkbVZ6SUgwc0lIUm9hWE11YjNCMGFXOXVjeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCa2IyTWdQU0J1WlhjZ1JHOWpkVzFsYm5Rb2RXNWtaV1pwYm1Wa0xDQnZjSFJ6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbUYwUkdseVpXTjBhWFpsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbTl1UlhKeWIzSW9aVzVrVDJabWMyVjBMQ0FuVFVsVFUwbE9SMTlEU0VGU0p5d2dKMDFwYzNOcGJtY2daR2x5WldOMGFYWmxjeTFsYm1RZ2FXNWthV05oZEc5eUlHeHBibVVuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1J2WXk1eVlXNW5aU0E5SUZzd0xDQmxibVJQWm1aelpYUXNJR1Z1WkU5bVpuTmxkRjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1SbFkyOXlZWFJsS0dSdll5d2dabUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUWdaRzlqTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dWZWeHVYRzVsZUhCdmNuUWdleUJEYjIxd2IzTmxjaUI5TzF4dUlpd2dJbU52Ym5OMElFSlNSVUZMSUQwZ1UzbHRZbTlzS0NkaWNtVmhheUIyYVhOcGRDY3BPMXh1WTI5dWMzUWdVMHRKVUNBOUlGTjViV0p2YkNnbmMydHBjQ0JqYUdsc1pISmxiaWNwTzF4dVkyOXVjM1FnVWtWTlQxWkZJRDBnVTNsdFltOXNLQ2R5WlcxdmRtVWdhWFJsYlNjcE8xeHVMeW9xWEc0Z0tpQkJjSEJzZVNCaElIWnBjMmwwYjNJZ2RHOGdZU0JEVTFRZ1pHOWpkVzFsYm5RZ2IzSWdhWFJsYlM1Y2JpQXFYRzRnS2lCWFlXeHJjeUIwYUhKdmRXZG9JSFJvWlNCMGNtVmxJQ2hrWlhCMGFDMW1hWEp6ZENrZ2MzUmhjblJwYm1jZ1puSnZiU0IwYUdVZ2NtOXZkQ3dnWTJGc2JHbHVaeUJoWEc0Z0tpQmdkbWx6YVhSdmNtQWdablZ1WTNScGIyNGdkMmwwYUNCMGQyOGdZWEpuZFcxbGJuUnpJSGRvWlc0Z1pXNTBaWEpwYm1jZ1pXRmphQ0JwZEdWdE9seHVJQ29nSUNBdElHQnBkR1Z0WURvZ1ZHaGxJR04xY25KbGJuUWdhWFJsYlN3Z2QyaHBZMmdnYVc1amJIVmtaV1FnZEdobElHWnZiR3h2ZDJsdVp5QnRaVzFpWlhKek9seHVJQ29nSUNBZ0lDMGdZSE4wWVhKME9pQlRiM1Z5WTJWVWIydGxibHRkWUNCY2RUSXdNVE1nVTI5MWNtTmxJSFJ2YTJWdWN5QmlaV1p2Y21VZ2RHaGxJR3RsZVNCdmNpQjJZV3gxWlN4Y2JpQXFJQ0FnSUNBZ0lIQnZjM05wWW14NUlHbHVZMngxWkdsdVp5QnBkSE1nWVc1amFHOXlJRzl5SUhSaFp5NWNiaUFxSUNBZ0lDQXRJR0JyWlhrL09pQlViMnRsYmlCOElHNTFiR3hnSUZ4MU1qQXhNeUJUWlhRZ1ptOXlJSEJoYVhJZ2RtRnNkV1Z6TGlCTllYa2dkR2hsYmlCaVpTQmdiblZzYkdBc0lHbG1YRzRnS2lBZ0lDQWdJQ0IwYUdVZ2EyVjVJR0psWm05eVpTQjBhR1VnWURwZ0lITmxjR0Z5WVhSdmNpQnBjeUJsYlhCMGVTNWNiaUFxSUNBZ0lDQXRJR0J6WlhBL09pQlRiM1Z5WTJWVWIydGxibHRkWUNCY2RUSXdNVE1nVTI5MWNtTmxJSFJ2YTJWdWN5QmlaWFIzWldWdUlIUm9aU0JyWlhrZ1lXNWtJSFJvWlNCMllXeDFaU3hjYmlBcUlDQWdJQ0FnSUhkb2FXTm9JSE5vYjNWc1pDQnBibU5zZFdSbElIUm9aU0JnT21BZ2JXRndJSFpoYkhWbElHbHVaR2xqWVhSdmNpQnBaaUJnZG1Gc2RXVmdJR2x6SUhObGRDNWNiaUFxSUNBZ0lDQXRJR0IyWVd4MVpUODZJRlJ2YTJWdVlDQmNkVEl3TVRNZ1ZHaGxJSFpoYkhWbElHOW1JR0VnYzJWeGRXVnVZMlVnYVhSbGJTd2diM0lnYjJZZ1lTQnRZWEFnY0dGcGNpNWNiaUFxSUNBZ0xTQmdjR0YwYUdBNklGUm9aU0J6ZEdWd2N5Qm1jbTl0SUhSb1pTQnliMjkwSUhSdklIUm9aU0JqZFhKeVpXNTBJRzV2WkdVc0lHRnpJR0Z1SUdGeWNtRjVJRzltWEc0Z0tpQWdJQ0FnWUZzbmEyVjVKeUI4SUNkMllXeDFaU2NzSUc1MWJXSmxjbDFnSUhSMWNHeGxjeTVjYmlBcVhHNGdLaUJVYUdVZ2NtVjBkWEp1SUhaaGJIVmxJRzltSUhSb1pTQjJhWE5wZEc5eUlHMWhlU0JpWlNCMWMyVmtJSFJ2SUdOdmJuUnliMndnZEdobElIUnlZWFpsY25OaGJEcGNiaUFxSUNBZ0xTQmdkVzVrWldacGJtVmtZQ0FvWkdWbVlYVnNkQ2s2SUVSdklHNXZkR2hwYm1jZ1lXNWtJR052Ym5ScGJuVmxYRzRnS2lBZ0lDMGdZSFpwYzJsMExsTkxTVkJnT2lCRWJ5QnViM1FnZG1semFYUWdkR2hsSUdOb2FXeGtjbVZ1SUc5bUlIUm9hWE1nZEc5clpXNHNJR052Ym5ScGJuVmxJSGRwZEdoY2JpQXFJQ0FnSUNBZ2JtVjRkQ0J6YVdKc2FXNW5YRzRnS2lBZ0lDMGdZSFpwYzJsMExrSlNSVUZMWURvZ1ZHVnliV2x1WVhSbElIUnlZWFpsY25OaGJDQmpiMjF3YkdWMFpXeDVYRzRnS2lBZ0lDMGdZSFpwYzJsMExsSkZUVTlXUldBNklGSmxiVzkyWlNCMGFHVWdZM1Z5Y21WdWRDQnBkR1Z0TENCMGFHVnVJR052Ym5ScGJuVmxJSGRwZEdnZ2RHaGxJRzVsZUhRZ2IyNWxYRzRnS2lBZ0lDMGdZRzUxYldKbGNtQTZJRk5sZENCMGFHVWdhVzVrWlhnZ2IyWWdkR2hsSUc1bGVIUWdjM1JsY0M0Z1ZHaHBjeUJwY3lCMWMyVm1kV3dnWlhOd1pXTnBZV3hzZVNCcFpseHVJQ29nSUNBZ0lIUm9aU0JwYm1SbGVDQnZaaUIwYUdVZ1kzVnljbVZ1ZENCMGIydGxiaUJvWVhNZ1kyaGhibWRsWkM1Y2JpQXFJQ0FnTFNCZ1puVnVZM1JwYjI1Z09pQkVaV1pwYm1VZ2RHaGxJRzVsZUhRZ2RtbHphWFJ2Y2lCbWIzSWdkR2hwY3lCcGRHVnRMaUJCWm5SbGNpQjBhR1VnYjNKcFoybHVZV3hjYmlBcUlDQWdJQ0IyYVhOcGRHOXlJR2x6SUdOaGJHeGxaQ0J2YmlCcGRHVnRJR1Z1ZEhKNUxDQnVaWGgwSUhacGMybDBiM0p6SUdGeVpTQmpZV3hzWldRZ1lXWjBaWElnYUdGdVpHeHBibWRjYmlBcUlDQWdJQ0JoSUc1dmJpMWxiWEIwZVNCZ2EyVjVZQ0JoYm1RZ2QyaGxiaUJsZUdsMGFXNW5JSFJvWlNCcGRHVnRMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQjJhWE5wZENoamMzUXNJSFpwYzJsMGIzSXBJSHRjYmlBZ0lDQnBaaUFvSjNSNWNHVW5JR2x1SUdOemRDQW1KaUJqYzNRdWRIbHdaU0E5UFQwZ0oyUnZZM1Z0Wlc1MEp5bGNiaUFnSUNBZ0lDQWdZM04wSUQwZ2V5QnpkR0Z5ZERvZ1kzTjBMbk4wWVhKMExDQjJZV3gxWlRvZ1kzTjBMblpoYkhWbElIMDdYRzRnSUNBZ1gzWnBjMmwwS0U5aWFtVmpkQzVtY21WbGVtVW9XMTBwTENCamMzUXNJSFpwYzJsMGIzSXBPMXh1ZlZ4dUx5OGdWMmwwYUc5MWRDQjBhR1VnWUdGeklITjViV0p2YkdBZ1kyRnpkSE1zSUZSVElHUmxZMnhoY21WeklIUm9aWE5sSUdsdUlIUm9aU0JnZG1semFYUmdYRzR2THlCdVlXMWxjM0JoWTJVZ2RYTnBibWNnWUhaaGNtQXNJR0oxZENCMGFHVnVJR052YlhCc1lXbHVjeUJoWW05MWRDQjBhR0YwSUdKbFkyRjFjMlZjYmk4dklHQjFibWx4ZFdVZ2MzbHRZbTlzWUNCdGRYTjBJR0psSUdCamIyNXpkR0F1WEc0dktpb2dWR1Z5YldsdVlYUmxJSFpwYzJsMElIUnlZWFpsY25OaGJDQmpiMjF3YkdWMFpXeDVJQ292WEc1MmFYTnBkQzVDVWtWQlN5QTlJRUpTUlVGTE8xeHVMeW9xSUVSdklHNXZkQ0IyYVhOcGRDQjBhR1VnWTJocGJHUnlaVzRnYjJZZ2RHaGxJR04xY25KbGJuUWdhWFJsYlNBcUwxeHVkbWx6YVhRdVUwdEpVQ0E5SUZOTFNWQTdYRzR2S2lvZ1VtVnRiM1psSUhSb1pTQmpkWEp5Wlc1MElHbDBaVzBnS2k5Y2JuWnBjMmwwTGxKRlRVOVdSU0E5SUZKRlRVOVdSVHRjYmk4cUtpQkdhVzVrSUhSb1pTQnBkR1Z0SUdGMElHQndZWFJvWUNCbWNtOXRJR0JqYzNSZ0lHRnpJSFJvWlNCeWIyOTBJQ292WEc1MmFYTnBkQzVwZEdWdFFYUlFZWFJvSUQwZ0tHTnpkQ3dnY0dGMGFDa2dQVDRnZTF4dUlDQWdJR3hsZENCcGRHVnRJRDBnWTNOME8xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1cyWnBaV3hrTENCcGJtUmxlRjBnYjJZZ2NHRjBhQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IwYjJzZ1BTQnBkR1Z0UHk1YlptbGxiR1JkTzF4dUlDQWdJQ0FnSUNCcFppQW9kRzlySUNZbUlDZHBkR1Z0Y3ljZ2FXNGdkRzlyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwZEdWdElEMGdkRzlyTG1sMFpXMXpXMmx1WkdWNFhUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYVhSbGJUdGNibjA3WEc0dktpcGNiaUFxSUVkbGRDQjBhR1VnYVcxdFpXUnBZWFJsSUhCaGNtVnVkQ0JqYjJ4c1pXTjBhVzl1SUc5bUlIUm9aU0JwZEdWdElHRjBJR0J3WVhSb1lDQm1jbTl0SUdCamMzUmdJR0Z6SUhSb1pTQnliMjkwTGx4dUlDcGNiaUFxSUZSb2NtOTNjeUJoYmlCbGNuSnZjaUJwWmlCMGFHVWdZMjlzYkdWamRHbHZiaUJwY3lCdWIzUWdabTkxYm1Rc0lIZG9hV05vSUhOb2IzVnNaQ0J1WlhabGNpQm9ZWEJ3Wlc0Z2FXWWdkR2hsSUdsMFpXMGdhWFJ6Wld4bUlHVjRhWE4wY3k1Y2JpQXFMMXh1ZG1semFYUXVjR0Z5Wlc1MFEyOXNiR1ZqZEdsdmJpQTlJQ2hqYzNRc0lIQmhkR2dwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0J3WVhKbGJuUWdQU0IyYVhOcGRDNXBkR1Z0UVhSUVlYUm9LR056ZEN3Z2NHRjBhQzV6YkdsalpTZ3dMQ0F0TVNrcE8xeHVJQ0FnSUdOdmJuTjBJR1pwWld4a0lEMGdjR0YwYUZ0d1lYUm9MbXhsYm1kMGFDQXRJREZkV3pCZE8xeHVJQ0FnSUdOdmJuTjBJR052Ykd3Z1BTQndZWEpsYm5RL0xsdG1hV1ZzWkYwN1hHNGdJQ0FnYVdZZ0tHTnZiR3dnSmlZZ0oybDBaVzF6SnlCcGJpQmpiMnhzS1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTI5c2JEdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFCaGNtVnVkQ0JqYjJ4c1pXTjBhVzl1SUc1dmRDQm1iM1Z1WkNjcE8xeHVmVHRjYm1aMWJtTjBhVzl1SUY5MmFYTnBkQ2h3WVhSb0xDQnBkR1Z0TENCMmFYTnBkRzl5S1NCN1hHNGdJQ0FnYkdWMElHTjBjbXdnUFNCMmFYTnBkRzl5S0dsMFpXMHNJSEJoZEdncE8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kzUnliQ0E5UFQwZ0ozTjViV0p2YkNjcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCamRISnNPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdabWxsYkdRZ2IyWWdXeWRyWlhrbkxDQW5kbUZzZFdVblhTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjBiMnRsYmlBOUlHbDBaVzFiWm1sbGJHUmRPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RHOXJaVzRnSmlZZ0oybDBaVzF6SnlCcGJpQjBiMnRsYmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMGIydGxiaTVwZEdWdGN5NXNaVzVuZEdnN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05wSUQwZ1gzWnBjMmwwS0U5aWFtVmpkQzVtY21WbGVtVW9jR0YwYUM1amIyNWpZWFFvVzF0bWFXVnNaQ3dnYVYxZEtTa3NJSFJ2YTJWdUxtbDBaVzF6VzJsZExDQjJhWE5wZEc5eUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR05wSUQwOVBTQW5iblZ0WW1WeUp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBOUlHTnBJQzBnTVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoamFTQTlQVDBnUWxKRlFVc3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJDVWtWQlN6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGphU0E5UFQwZ1VrVk5UMVpGS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJ2YTJWdUxtbDBaVzF6TG5Od2JHbGpaU2hwTENBeEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBdFBTQXhPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kzUnliQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUJtYVdWc1pDQTlQVDBnSjJ0bGVTY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZM1J5YkNBOUlHTjBjbXdvYVhSbGJTd2djR0YwYUNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQmpkSEpzSUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnWTNSeWJDaHBkR1Z0TENCd1lYUm9LU0E2SUdOMGNtdzdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lIWnBjMmwwSUgwN1hHNGlMQ0FpWlhod2IzSjBJSHNnWTNKbFlYUmxVMk5oYkdGeVZHOXJaVzRzSUhKbGMyOXNkbVZCYzFOallXeGhjaXdnYzJWMFUyTmhiR0Z5Vm1Gc2RXVWdmU0JtY205dElDY3VMMk56ZEMxelkyRnNZWEl1YW5Nbk8xeHVaWGh3YjNKMElIc2djM1J5YVc1bmFXWjVJSDBnWm5KdmJTQW5MaTlqYzNRdGMzUnlhVzVuYVdaNUxtcHpKenRjYm1WNGNHOXlkQ0I3SUhacGMybDBJSDBnWm5KdmJTQW5MaTlqYzNRdGRtbHphWFF1YW5Nbk8xeHVYRzR2S2lvZ1ZHaGxJR0o1ZEdVZ2IzSmtaWElnYldGeWF5QXFMMXh1WTI5dWMzUWdRazlOSUQwZ0oxeGNkWHRHUlVaR2ZTYzdYRzR2S2lvZ1UzUmhjblFnYjJZZ1pHOWpMVzF2WkdVZ0tpOWNibU52Ym5OMElFUlBRMVZOUlU1VUlEMGdKMXhjZURBeUp6c2dMeThnUXpBNklGTjBZWEowSUc5bUlGUmxlSFJjYmk4cUtpQlZibVY0Y0dWamRHVmtJR1Z1WkNCdlppQm1iRzkzTFcxdlpHVWdLaTljYm1OdmJuTjBJRVpNVDFkZlJVNUVJRDBnSjF4Y2VERTRKenNnTHk4Z1F6QTZJRU5oYm1ObGJGeHVMeW9xSUU1bGVIUWdkRzlyWlc0Z2FYTWdZU0J6WTJGc1lYSWdkbUZzZFdVZ0tpOWNibU52Ym5OMElGTkRRVXhCVWlBOUlDZGNYSGd4WmljN0lDOHZJRU13T2lCVmJtbDBJRk5sY0dGeVlYUnZjbHh1THlvcUlFQnlaWFIxY201eklHQjBjblZsWUNCcFppQmdkRzlyWlc1Z0lHbHpJR0VnWm14dmR5QnZjaUJpYkc5amF5QmpiMnhzWldOMGFXOXVJQ292WEc1amIyNXpkQ0JwYzBOdmJHeGxZM1JwYjI0Z1BTQW9kRzlyWlc0cElEMCtJQ0VoZEc5clpXNGdKaVlnSjJsMFpXMXpKeUJwYmlCMGIydGxianRjYmk4cUtpQkFjbVYwZFhKdWN5QmdkSEoxWldBZ2FXWWdZSFJ2YTJWdVlDQnBjeUJoSUdac2IzY2diM0lnWW14dlkyc2djMk5oYkdGeU95QnViM1FnWVc0Z1lXeHBZWE1nS2k5Y2JtTnZibk4wSUdselUyTmhiR0Z5SUQwZ0tIUnZhMlZ1S1NBOVBpQWhJWFJ2YTJWdUlDWW1YRzRnSUNBZ0tIUnZhMlZ1TG5SNWNHVWdQVDA5SUNkelkyRnNZWEluSUh4OFhHNGdJQ0FnSUNBZ0lIUnZhMlZ1TG5SNWNHVWdQVDA5SUNkemFXNW5iR1V0Y1hWdmRHVmtMWE5qWVd4aGNpY2dmSHhjYmlBZ0lDQWdJQ0FnZEc5clpXNHVkSGx3WlNBOVBUMGdKMlJ2ZFdKc1pTMXhkVzkwWldRdGMyTmhiR0Z5SnlCOGZGeHVJQ0FnSUNBZ0lDQjBiMnRsYmk1MGVYQmxJRDA5UFNBbllteHZZMnN0YzJOaGJHRnlKeWs3WEc0dktpQnBjM1JoYm1KMWJDQnBaMjV2Y21VZ2JtVjRkQ0FxTDF4dUx5b3FJRWRsZENCaElIQnlhVzUwWVdKc1pTQnlaWEJ5WlhObGJuUmhkR2x2YmlCdlppQmhJR3hsZUdWeUlIUnZhMlZ1SUNvdlhHNW1kVzVqZEdsdmJpQndjbVYwZEhsVWIydGxiaWgwYjJ0bGJpa2dlMXh1SUNBZ0lITjNhWFJqYUNBb2RHOXJaVzRwSUh0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JDVDAwNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKenhDVDAwK0p6dGNiaUFnSUNBZ0lDQWdZMkZ6WlNCRVQwTlZUVVZPVkRwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW5QRVJQUXo0bk8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUVaTVQxZGZSVTVFT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDYzhSa3hQVjE5RlRrUStKenRjYmlBZ0lDQWdJQ0FnWTJGelpTQlRRMEZNUVZJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKenhUUTBGTVFWSStKenRjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCS1UwOU9Mbk4wY21sdVoybG1lU2gwYjJ0bGJpazdYRzRnSUNBZ2ZWeHVmVnh1THlvcUlFbGtaVzUwYVdaNUlIUm9aU0IwZVhCbElHOW1JR0VnYkdWNFpYSWdkRzlyWlc0dUlFMWhlU0J5WlhSMWNtNGdZRzUxYkd4Z0lHWnZjaUIxYm10dWIzZHVJSFJ2YTJWdWN5NGdLaTljYm1aMWJtTjBhVzl1SUhSdmEyVnVWSGx3WlNoemIzVnlZMlVwSUh0Y2JpQWdJQ0J6ZDJsMFkyZ2dLSE52ZFhKalpTa2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElFSlBUVHBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBbllubDBaUzF2Y21SbGNpMXRZWEpySnp0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JFVDBOVlRVVk9WRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBblpHOWpMVzF2WkdVbk8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUVaTVQxZGZSVTVFT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZG1iRzkzTFdWeWNtOXlMV1Z1WkNjN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnVTBOQlRFRlNPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkelkyRnNZWEluTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2N0TFMwbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RrYjJNdGMzUmhjblFuTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2N1TGk0bk9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RrYjJNdFpXNWtKenRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5KenBjYmlBZ0lDQWdJQ0FnWTJGelpTQW5YRnh1SnpwY2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWEZ4eVhGeHVKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBbmJtVjNiR2x1WlNjN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSnkwbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2R6WlhFdGFYUmxiUzFwYm1Rbk8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNjL0p6cGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuWlhod2JHbGphWFF0YTJWNUxXbHVaQ2M3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKem9uT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZHRZWEF0ZG1Gc2RXVXRhVzVrSnp0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0FuZXljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMlpzYjNjdGJXRndMWE4wWVhKMEp6dGNiaUFnSUNBZ0lDQWdZMkZ6WlNBbmZTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnSjJac2IzY3RiV0Z3TFdWdVpDYzdYRzRnSUNBZ0lDQWdJR05oYzJVZ0oxc25PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkbWJHOTNMWE5sY1MxemRHRnlkQ2M3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMTBuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZG1iRzkzTFhObGNTMWxibVFuTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2NzSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW5ZMjl0YldFbk8xeHVJQ0FnSUgxY2JpQWdJQ0J6ZDJsMFkyZ2dLSE52ZFhKalpWc3dYU2tnZTF4dUlDQWdJQ0FnSUNCallYTmxJQ2NnSnpwY2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWEZ4MEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuYzNCaFkyVW5PMXh1SUNBZ0lDQWdJQ0JqWVhObElDY2pKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBblkyOXRiV1Z1ZENjN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSnlVbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RrYVhKbFkzUnBkbVV0YkdsdVpTYzdYRzRnSUNBZ0lDQWdJR05oYzJVZ0p5b25PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkaGJHbGhjeWM3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKeVluT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZGhibU5vYjNJbk8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNjaEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuZEdGbkp6dGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lpZGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBbmMybHVaMnhsTFhGMWIzUmxaQzF6WTJGc1lYSW5PMXh1SUNBZ0lDQWdJQ0JqWVhObElDZGNJaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0oyUnZkV0pzWlMxeGRXOTBaV1F0YzJOaGJHRnlKenRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5mQ2M2WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKejRuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZGliRzlqYXkxelkyRnNZWEl0YUdWaFpHVnlKenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lFSlBUU3dnUkU5RFZVMUZUbFFzSUVaTVQxZGZSVTVFTENCVFEwRk1RVklzSUdselEyOXNiR1ZqZEdsdmJpd2dhWE5UWTJGc1lYSXNJSEJ5WlhSMGVWUnZhMlZ1TENCMGIydGxibFI1Y0dVZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCQ1QwMHNJRVJQUTFWTlJVNVVMQ0JHVEU5WFgwVk9SQ3dnVTBOQlRFRlNJSDBnWm5KdmJTQW5MaTlqYzNRdWFuTW5PMXh1WEc0dktseHVVMVJCVWxRZ0xUNGdjM1J5WldGdFhHNWNibk4wY21WaGJWeHVJQ0JrYVhKbFkzUnBkbVVnTFQ0Z2JHbHVaUzFsYm1RZ0xUNGdjM1J5WldGdFhHNGdJR2x1WkdWdWRDQXJJR3hwYm1VdFpXNWtJQzArSUhOMGNtVmhiVnh1SUNCYlpXeHpaVjBnTFQ0Z2JHbHVaUzF6ZEdGeWRGeHVYRzVzYVc1bExXVnVaRnh1SUNCamIyMXRaVzUwSUMwK0lHeHBibVV0Wlc1a1hHNGdJRzVsZDJ4cGJtVWdMVDRnTGx4dUlDQnBibkIxZEMxbGJtUWdMVDRnUlU1RVhHNWNibXhwYm1VdGMzUmhjblJjYmlBZ1pHOWpMWE4wWVhKMElDMCtJR1J2WTF4dUlDQmtiMk10Wlc1a0lDMCtJSE4wY21WaGJWeHVJQ0JiWld4elpWMGdMVDRnYVc1a1pXNTBJQzArSUdKc2IyTnJMWE4wWVhKMFhHNWNibUpzYjJOckxYTjBZWEowWEc0Z0lITmxjUzFwZEdWdExYTjBZWEowSUMwK0lHSnNiMk5yTFhOMFlYSjBYRzRnSUdWNGNHeHBZMmwwTFd0bGVTMXpkR0Z5ZENBdFBpQmliRzlqYXkxemRHRnlkRnh1SUNCdFlYQXRkbUZzZFdVdGMzUmhjblFnTFQ0Z1lteHZZMnN0YzNSaGNuUmNiaUFnVzJWc2MyVmRJQzArSUdSdlkxeHVYRzVrYjJOY2JpQWdiR2x1WlMxbGJtUWdMVDRnYkdsdVpTMXpkR0Z5ZEZ4dUlDQnpjR0ZqWlhNZ0xUNGdaRzlqWEc0Z0lHRnVZMmh2Y2lBdFBpQmtiMk5jYmlBZ2RHRm5JQzArSUdSdlkxeHVJQ0JtYkc5M0xYTjBZWEowSUMwK0lHWnNiM2NnTFQ0Z1pHOWpYRzRnSUdac2IzY3RaVzVrSUMwK0lHVnljbTl5SUMwK0lHUnZZMXh1SUNCelpYRXRhWFJsYlMxemRHRnlkQ0F0UGlCbGNuSnZjaUF0UGlCa2IyTmNiaUFnWlhod2JHbGphWFF0YTJWNUxYTjBZWEowSUMwK0lHVnljbTl5SUMwK0lHUnZZMXh1SUNCdFlYQXRkbUZzZFdVdGMzUmhjblFnTFQ0Z1pHOWpYRzRnSUdGc2FXRnpJQzArSUdSdlkxeHVJQ0J4ZFc5MFpTMXpkR0Z5ZENBdFBpQnhkVzkwWldRdGMyTmhiR0Z5SUMwK0lHUnZZMXh1SUNCaWJHOWpheTF6WTJGc1lYSXRhR1ZoWkdWeUlDMCtJR3hwYm1VdFpXNWtJQzArSUdKc2IyTnJMWE5qWVd4aGNpaHRhVzRwSUMwK0lHeHBibVV0YzNSaGNuUmNiaUFnVzJWc2MyVmRJQzArSUhCc1lXbHVMWE5qWVd4aGNpaG1ZV3h6WlN3Z2JXbHVLU0F0UGlCa2IyTmNibHh1Wm14dmQxeHVJQ0JzYVc1bExXVnVaQ0F0UGlCbWJHOTNYRzRnSUhOd1lXTmxjeUF0UGlCbWJHOTNYRzRnSUdGdVkyaHZjaUF0UGlCbWJHOTNYRzRnSUhSaFp5QXRQaUJtYkc5M1hHNGdJR1pzYjNjdGMzUmhjblFnTFQ0Z1pteHZkeUF0UGlCbWJHOTNYRzRnSUdac2IzY3RaVzVrSUMwK0lDNWNiaUFnYzJWeExXbDBaVzB0YzNSaGNuUWdMVDRnWlhKeWIzSWdMVDRnWm14dmQxeHVJQ0JsZUhCc2FXTnBkQzFyWlhrdGMzUmhjblFnTFQ0Z1pteHZkMXh1SUNCdFlYQXRkbUZzZFdVdGMzUmhjblFnTFQ0Z1pteHZkMXh1SUNCaGJHbGhjeUF0UGlCbWJHOTNYRzRnSUhGMWIzUmxMWE4wWVhKMElDMCtJSEYxYjNSbFpDMXpZMkZzWVhJZ0xUNGdabXh2ZDF4dUlDQmpiMjF0WVNBdFBpQm1iRzkzWEc0Z0lGdGxiSE5sWFNBdFBpQndiR0ZwYmkxelkyRnNZWElvZEhKMVpTd2dNQ2tnTFQ0Z1pteHZkMXh1WEc1eGRXOTBaV1F0YzJOaGJHRnlYRzRnSUhGMWIzUmxMV1Z1WkNBdFBpQXVYRzRnSUZ0bGJITmxYU0F0UGlCeGRXOTBaV1F0YzJOaGJHRnlYRzVjYm1Kc2IyTnJMWE5qWVd4aGNpaHRhVzRwWEc0Z0lHNWxkMnhwYm1VZ0t5QndaV1ZyS0dsdVpHVnVkQ0E4SUcxcGJpa2dMVDRnTGx4dUlDQmJaV3h6WlYwZ0xUNGdZbXh2WTJzdGMyTmhiR0Z5S0cxcGJpbGNibHh1Y0d4aGFXNHRjMk5oYkdGeUtHbHpMV1pzYjNjc0lHMXBiaWxjYmlBZ2MyTmhiR0Z5TFdWdVpDaHBjeTFtYkc5M0tTQXRQaUF1WEc0Z0lIQmxaV3NvYm1WM2JHbHVaU0FySUNocGJtUmxiblFnUENCdGFXNHBLU0F0UGlBdVhHNGdJRnRsYkhObFhTQXRQaUJ3YkdGcGJpMXpZMkZzWVhJb2JXbHVLVnh1S2k5Y2JtWjFibU4wYVc5dUlHbHpSVzF3ZEhrb1kyZ3BJSHRjYmlBZ0lDQnpkMmwwWTJnZ0tHTm9LU0I3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdkVzVrWldacGJtVmtPbHh1SUNBZ0lDQWdJQ0JqWVhObElDY2dKenBjYmlBZ0lDQWdJQ0FnWTJGelpTQW5YRnh1SnpwY2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWEZ4eUp6cGNiaUFnSUNBZ0lDQWdZMkZ6WlNBblhGeDBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNibjFjYm1OdmJuTjBJR2hsZUVScFoybDBjeUE5SUc1bGR5QlRaWFFvSnpBeE1qTTBOVFkzT0RsQlFrTkVSVVpoWW1Oa1pXWW5LVHRjYm1OdmJuTjBJSFJoWjBOb1lYSnpJRDBnYm1WM0lGTmxkQ2hjSWpBeE1qTTBOVFkzT0RsQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV21GaVkyUmxabWRvYVdwcmJHMXViM0J4Y25OMGRYWjNlSGw2TFNNN0x6ODZRQ1k5S3lSZkxpRitLaWNvS1Z3aUtUdGNibU52Ym5OMElHWnNiM2RKYm1ScFkyRjBiM0pEYUdGeWN5QTlJRzVsZHlCVFpYUW9KeXhiWFh0OUp5azdYRzVqYjI1emRDQnBiblpoYkdsa1FXNWphRzl5UTJoaGNuTWdQU0J1WlhjZ1UyVjBLQ2NnTEZ0ZGUzMWNYRzVjWEhKY1hIUW5LVHRjYm1OdmJuTjBJR2x6VG05MFFXNWphRzl5UTJoaGNpQTlJQ2hqYUNrZ1BUNGdJV05vSUh4OElHbHVkbUZzYVdSQmJtTm9iM0pEYUdGeWN5NW9ZWE1vWTJncE8xeHVMeW9xWEc0Z0tpQlRjR3hwZEhNZ1lXNGdhVzV3ZFhRZ2MzUnlhVzVuSUdsdWRHOGdiR1Y0YVdOaGJDQjBiMnRsYm5Nc0lHa3VaUzRnYzIxaGJHeGxjaUJ6ZEhKcGJtZHpJSFJvWVhRZ1lYSmxYRzRnS2lCbFlYTnBiSGtnYVdSbGJuUnBabWxoWW14bElHSjVJR0IwYjJ0bGJuTXVkRzlyWlc1VWVYQmxLQ2xnTGx4dUlDcGNiaUFxSUV4bGVHbHVaeUJ6ZEdGeWRITWdZV3gzWVhseklHbHVJR0VnWENKemRISmxZVzFjSWlCamIyNTBaWGgwTGlCSmJtTnZiWEJzWlhSbElHbHVjSFYwSUcxaGVTQmlaU0JpZFdabVpYSmxaRnh1SUNvZ2RXNTBhV3dnWVNCamIyMXdiR1YwWlNCMGIydGxiaUJqWVc0Z1ltVWdaVzFwZEhSbFpDNWNiaUFxWEc0Z0tpQkpiaUJoWkdScGRHbHZiaUIwYnlCemJHbGpaWE1nYjJZZ2RHaGxJRzl5YVdkcGJtRnNJR2x1Y0hWMExDQjBhR1VnWm05c2JHOTNhVzVuSUdOdmJuUnliMndnWTJoaGNtRmpkR1Z5YzF4dUlDb2diV0Y1SUdGc2MyOGdZbVVnWlcxcGRIUmxaRHBjYmlBcVhHNGdLaUF0SUdCY1hIZ3dNbUFnS0ZOMFlYSjBJRzltSUZSbGVIUXBPaUJCSUdSdlkzVnRaVzUwSUhOMFlYSjBjeUIzYVhSb0lIUm9aU0J1WlhoMElIUnZhMlZ1WEc0Z0tpQXRJR0JjWEhneE9HQWdLRU5oYm1ObGJDazZJRlZ1Wlhod1pXTjBaV1FnWlc1a0lHOW1JR1pzYjNjdGJXOWtaU0FvYVc1a2FXTmhkR1Z6SUdGdUlHVnljbTl5S1Z4dUlDb2dMU0JnWEZ4NE1XWmdJQ2hWYm1sMElGTmxjR0Z5WVhSdmNpazZJRTVsZUhRZ2RHOXJaVzRnYVhNZ1lTQnpZMkZzWVhJZ2RtRnNkV1ZjYmlBcUlDMGdZRnhjZFh0R1JVWkdmV0FnS0VKNWRHVWdiM0prWlhJZ2JXRnlheWs2SUVWdGFYUjBaV1FnYzJWd1lYSmhkR1ZzZVNCdmRYUnphV1JsSUdSdlkzVnRaVzUwYzF4dUlDb3ZYRzVqYkdGemN5Qk1aWGhsY2lCN1hHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb0tTQjdYRzRnSUNBZ0lDQWdJQzhxS2x4dUlDQWdJQ0FnSUNBZ0tpQkdiR0ZuSUdsdVpHbGpZWFJwYm1jZ2QyaGxkR2hsY2lCMGFHVWdaVzVrSUc5bUlIUm9aU0JqZFhKeVpXNTBJR0oxWm1abGNpQnRZWEpyY3lCMGFHVWdaVzVrSUc5bVhHNGdJQ0FnSUNBZ0lDQXFJR0ZzYkNCcGJuQjFkRnh1SUNBZ0lDQWdJQ0FnS2k5Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVoZEVWdVpDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQXZLaXBjYmlBZ0lDQWdJQ0FnSUNvZ1JYaHdiR2xqYVhRZ2FXNWtaVzUwSUhObGRDQnBiaUJpYkc5amF5QnpZMkZzWVhJZ2FHVmhaR1Z5TENCaGN5QmhiaUJ2Wm1aelpYUWdabkp2YlNCMGFHVWdZM1Z5Y21WdWRGeHVJQ0FnSUNBZ0lDQWdLaUJ0YVc1cGJYVnRJR2x1WkdWdWRDd2djMjhnWlM1bkxpQnpaWFFnZEc4Z01TQm1jbTl0SUdFZ2FHVmhaR1Z5SUdCOE1pdGdMaUJUWlhRZ2RHOGdMVEVnYVdZZ2JtOTBYRzRnSUNBZ0lDQWdJQ0FxSUdWNGNHeHBZMmwwYkhrZ2MyVjBMbHh1SUNBZ0lDQWdJQ0FnS2k5Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVpYkc5amExTmpZV3hoY2tsdVpHVnVkQ0E5SUMweE8xeHVJQ0FnSUNBZ0lDQXZLaXBjYmlBZ0lDQWdJQ0FnSUNvZ1FteHZZMnNnYzJOaGJHRnljeUIwYUdGMElHbHVZMngxWkdVZ1lTQXJJQ2hyWldWd0tTQmphRzl0Y0dsdVp5QnBibVJwWTJGMGIzSWdhVzRnZEdobGFYSWdhR1ZoWkdWeVhHNGdJQ0FnSUNBZ0lDQXFJR2x1WTJ4MVpHVWdkSEpoYVd4cGJtY2daVzF3ZEhrZ2JHbHVaWE1zSUhkb2FXTm9JR0Z5WlNCdmRHaGxjbmRwYzJVZ1pYaGpiSFZrWldRZ1puSnZiU0IwYUdWY2JpQWdJQ0FnSUNBZ0lDb2djMk5oYkdGeUozTWdZMjl1ZEdWdWRITXVYRzRnSUNBZ0lDQWdJQ0FxTDF4dUlDQWdJQ0FnSUNCMGFHbHpMbUpzYjJOclUyTmhiR0Z5UzJWbGNDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQXZLaW9nUTNWeWNtVnVkQ0JwYm5CMWRDQXFMMXh1SUNBZ0lDQWdJQ0IwYUdsekxtSjFabVpsY2lBOUlDY25PMXh1SUNBZ0lDQWdJQ0F2S2lwY2JpQWdJQ0FnSUNBZ0lDb2dSbXhoWnlCdWIzUnBibWNnZDJobGRHaGxjaUIwYUdVZ2JXRndJSFpoYkhWbElHbHVaR2xqWVhSdmNpQTZJR05oYmlCcGJXMWxaR2xoZEdWc2VTQm1iMnhzYjNjZ2RHaHBjMXh1SUNBZ0lDQWdJQ0FnS2lCdWIyUmxJSGRwZEdocGJpQmhJR1pzYjNjZ1kyOXVkR1Y0ZEM1Y2JpQWdJQ0FnSUNBZ0lDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdVpteHZkMHRsZVNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBdktpb2dRMjkxYm5RZ2IyWWdjM1Z5Y205MWJtUnBibWNnWm14dmR5QmpiMnhzWldOMGFXOXVJR3hsZG1Wc2N5NGdLaTljYmlBZ0lDQWdJQ0FnZEdocGN5NW1iRzkzVEdWMlpXd2dQU0F3TzF4dUlDQWdJQ0FnSUNBdktpcGNiaUFnSUNBZ0lDQWdJQ29nVFdsdWFXMTFiU0JzWlhabGJDQnZaaUJwYm1SbGJuUmhkR2x2YmlCeVpYRjFhWEpsWkNCbWIzSWdibVY0ZENCc2FXNWxjeUIwYnlCaVpTQndZWEp6WldRZ1lYTWdZVnh1SUNBZ0lDQWdJQ0FnS2lCd1lYSjBJRzltSUhSb1pTQmpkWEp5Wlc1MElITmpZV3hoY2lCMllXeDFaUzVjYmlBZ0lDQWdJQ0FnSUNvdlhHNGdJQ0FnSUNBZ0lIUm9hWE11YVc1a1pXNTBUbVY0ZENBOUlEQTdYRzRnSUNBZ0lDQWdJQzhxS2lCSmJtUmxiblJoZEdsdmJpQnNaWFpsYkNCdlppQjBhR1VnWTNWeWNtVnVkQ0JzYVc1bExpQXFMMXh1SUNBZ0lDQWdJQ0IwYUdsekxtbHVaR1Z1ZEZaaGJIVmxJRDBnTUR0Y2JpQWdJQ0FnSUNBZ0x5b3FJRkJ2YzJsMGFXOXVJRzltSUhSb1pTQnVaWGgwSUZ4Y2JpQmphR0Z5WVdOMFpYSXVJQ292WEc0Z0lDQWdJQ0FnSUhSb2FYTXViR2x1WlVWdVpGQnZjeUE5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQzhxS2lCVGRHOXlaWE1nZEdobElITjBZWFJsSUc5bUlIUm9aU0JzWlhobGNpQnBaaUJ5WldGamFHbHVaeUIwYUdVZ1pXNWtJRzltSUdsdVkzQnZiWEJzWlhSbElHbHVjSFYwSUNvdlhHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1WNGRDQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDOHFLaUJCSUhCdmFXNTBaWElnZEc4Z1lHSjFabVpsY21BN0lIUm9aU0JqZFhKeVpXNTBJSEJ2YzJsMGFXOXVJRzltSUhSb1pTQnNaWGhsY2k0Z0tpOWNiaUFnSUNBZ0lDQWdkR2hwY3k1d2IzTWdQU0F3TzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJIWlc1bGNtRjBaU0JaUVUxTUlIUnZhMlZ1Y3lCbWNtOXRJSFJvWlNCZ2MyOTFjbU5sWUNCemRISnBibWN1SUVsbUlHQnBibU52YlhCc1pYUmxZQ3hjYmlBZ0lDQWdLaUJoSUhCaGNuUWdiMllnZEdobElHeGhjM1FnYkdsdVpTQnRZWGtnWW1VZ2JHVm1kQ0JoY3lCaElHSjFabVpsY2lCbWIzSWdkR2hsSUc1bGVIUWdZMkZzYkM1Y2JpQWdJQ0FnS2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUVFZ1oyVnVaWEpoZEc5eUlHOW1JR3hsZUdsallXd2dkRzlyWlc1elhHNGdJQ0FnSUNvdlhHNGdJQ0FnS214bGVDaHpiM1Z5WTJVc0lHbHVZMjl0Y0d4bGRHVWdQU0JtWVd4elpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2MyOTFjbU5sS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhOdmRYSmpaU0FoUFQwZ0ozTjBjbWx1WnljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnVkhsd1pVVnljbTl5S0NkemIzVnlZMlVnYVhNZ2JtOTBJR0VnYzNSeWFXNW5KeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1KMVptWmxjaUE5SUhSb2FYTXVZblZtWm1WeUlEOGdkR2hwY3k1aWRXWm1aWElnS3lCemIzVnlZMlVnT2lCemIzVnlZMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG14cGJtVkZibVJRYjNNZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIUm9hWE11WVhSRmJtUWdQU0FoYVc1amIyMXdiR1YwWlR0Y2JpQWdJQ0FnSUNBZ2JHVjBJRzVsZUhRZ1BTQjBhR2x6TG01bGVIUWdQejhnSjNOMGNtVmhiU2M3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2h1WlhoMElDWW1JQ2hwYm1OdmJYQnNaWFJsSUh4OElIUm9hWE11YUdGelEyaGhjbk1vTVNrcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnYm1WNGRDQTlJSGxwWld4a0tpQjBhR2x6TG5CaGNuTmxUbVY0ZENodVpYaDBLVHRjYmlBZ0lDQjlYRzRnSUNBZ1lYUk1hVzVsUlc1a0tDa2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ2FTQTlJSFJvYVhNdWNHOXpPMXh1SUNBZ0lDQWdJQ0JzWlhRZ1kyZ2dQU0IwYUdsekxtSjFabVpsY2x0cFhUdGNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHTm9JRDA5UFNBbklDY2dmSHdnWTJnZ1BUMDlJQ2RjWEhRbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJnZ1BTQjBhR2x6TG1KMVptWmxjbHNySzJsZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdOb0lIeDhJR05vSUQwOVBTQW5JeWNnZkh3Z1kyZ2dQVDA5SUNkY1hHNG5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR2xtSUNoamFDQTlQVDBnSjF4Y2NpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWlkV1ptWlhKYmFTQXJJREZkSUQwOVBTQW5YRnh1Snp0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnSUNCamFHRnlRWFFvYmlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVpZFdabVpYSmJkR2hwY3k1d2IzTWdLeUJ1WFR0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1ZEdsdWRXVlRZMkZzWVhJb2IyWm1jMlYwS1NCN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JqYUNBOUlIUm9hWE11WW5WbVptVnlXMjltWm5ObGRGMDdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbWx1WkdWdWRFNWxlSFFnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdhVzVrWlc1MElEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNoamFDQTlQVDBnSnlBbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTm9JRDBnZEdocGN5NWlkV1ptWlhKYkt5dHBibVJsYm5RZ0t5QnZabVp6WlhSZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTm9JRDA5UFNBblhGeHlKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzVsZUhRZ1BTQjBhR2x6TG1KMVptWmxjbHRwYm1SbGJuUWdLeUJ2Wm1aelpYUWdLeUF4WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ibVY0ZENBOVBUMGdKMXhjYmljZ2ZId2dLQ0Z1WlhoMElDWW1JQ0YwYUdsekxtRjBSVzVrS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHOW1abk5sZENBcklHbHVaR1Z1ZENBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMmdnUFQwOUlDZGNYRzRuSUh4OElHbHVaR1Z1ZENBK1BTQjBhR2x6TG1sdVpHVnVkRTVsZUhRZ2ZId2dLQ0ZqYUNBbUppQWhkR2hwY3k1aGRFVnVaQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUc5bVpuTmxkQ0FySUdsdVpHVnVkRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nTFRFN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0dOb0lEMDlQU0FuTFNjZ2ZId2dZMmdnUFQwOUlDY3VKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pIUWdQU0IwYUdsekxtSjFabVpsY2k1emRXSnpkSElvYjJabWMyVjBMQ0F6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnb1pIUWdQVDA5SUNjdExTMG5JSHg4SUdSMElEMDlQU0FuTGk0dUp5a2dKaVlnYVhORmJYQjBlU2gwYUdsekxtSjFabVpsY2x0dlptWnpaWFFnS3lBelhTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDMHhPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ2Wm1aelpYUTdYRzRnSUNBZ2ZWeHVJQ0FnSUdkbGRFeHBibVVvS1NCN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JsYm1RZ1BTQjBhR2x6TG14cGJtVkZibVJRYjNNN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdaVzVrSUNFOVBTQW5iblZ0WW1WeUp5QjhmQ0FvWlc1a0lDRTlQU0F0TVNBbUppQmxibVFnUENCMGFHbHpMbkJ2Y3lrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdWdVpDQTlJSFJvYVhNdVluVm1abVZ5TG1sdVpHVjRUMllvSjF4Y2JpY3NJSFJvYVhNdWNHOXpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YkdsdVpVVnVaRkJ2Y3lBOUlHVnVaRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCcFppQW9aVzVrSUQwOVBTQXRNU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbUYwUlc1a0lEOGdkR2hwY3k1aWRXWm1aWEl1YzNWaWMzUnlhVzVuS0hSb2FYTXVjRzl6S1NBNklHNTFiR3c3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1KMVptWmxjbHRsYm1RZ0xTQXhYU0E5UFQwZ0oxeGNjaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQmxibVFnTFQwZ01UdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WW5WbVptVnlMbk4xWW5OMGNtbHVaeWgwYUdsekxuQnZjeXdnWlc1a0tUdGNiaUFnSUNCOVhHNGdJQ0FnYUdGelEyaGhjbk1vYmlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV3YjNNZ0t5QnVJRHc5SUhSb2FYTXVZblZtWm1WeUxteGxibWQwYUR0Y2JpQWdJQ0I5WEc0Z0lDQWdjMlYwVG1WNGRDaHpkR0YwWlNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG1KMVptWmxjaUE5SUhSb2FYTXVZblZtWm1WeUxuTjFZbk4wY21sdVp5aDBhR2x6TG5CdmN5azdYRzRnSUNBZ0lDQWdJSFJvYVhNdWNHOXpJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVzYVc1bFJXNWtVRzl6SUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXVaWGgwSUQwZ2MzUmhkR1U3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JpQWdJQ0J3WldWcktHNHBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVluVm1abVZ5TG5OMVluTjBjaWgwYUdsekxuQnZjeXdnYmlrN1hHNGdJQ0FnZlZ4dUlDQWdJQ3B3WVhKelpVNWxlSFFvYm1WNGRDa2dlMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLRzVsZUhRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM04wY21WaGJTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIbHBaV3hrS2lCMGFHbHpMbkJoY25ObFUzUnlaV0Z0S0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHNhVzVsTFhOMFlYSjBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Y0dGeWMyVk1hVzVsVTNSaGNuUW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJKc2IyTnJMWE4wWVhKMEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjR0Z5YzJWQ2JHOWphMU4wWVhKMEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RrYjJNbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NXdZWEp6WlVSdlkzVnRaVzUwS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZG1iRzkzSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdWNHRnljMlZHYkc5M1EyOXNiR1ZqZEdsdmJpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuY1hWdmRHVmtMWE5qWVd4aGNpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIbHBaV3hrS2lCMGFHbHpMbkJoY25ObFVYVnZkR1ZrVTJOaGJHRnlLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkaWJHOWpheTF6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjVhV1ZzWkNvZ2RHaHBjeTV3WVhKelpVSnNiMk5yVTJOaGJHRnlLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkd2JHRnBiaTF6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjVhV1ZzWkNvZ2RHaHBjeTV3WVhKelpWQnNZV2x1VTJOaGJHRnlLQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdLbkJoY25ObFUzUnlaV0Z0S0NrZ2UxeHVJQ0FnSUNBZ0lDQnNaWFFnYkdsdVpTQTlJSFJvYVhNdVoyVjBUR2x1WlNncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYkdsdVpTQTlQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuTmxkRTVsZUhRb0ozTjBjbVZoYlNjcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYkdsdVpWc3dYU0E5UFQwZ1FrOU5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1EyOTFiblFvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzYVc1bElEMGdiR2x1WlM1emRXSnpkSEpwYm1jb01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tHeHBibVZiTUYwZ1BUMDlJQ2NsSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHUnBja1Z1WkNBOUlHeHBibVV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJR056SUQwZ2JHbHVaUzVwYm1SbGVFOW1LQ2NqSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9ZM01nSVQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZMmdnUFNCc2FXNWxXMk56SUMwZ01WMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOb0lEMDlQU0FuSUNjZ2ZId2dZMmdnUFQwOUlDZGNYSFFuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JwY2tWdVpDQTlJR056SUMwZ01UdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqY3lBOUlHeHBibVV1YVc1a1pYaFBaaWduSXljc0lHTnpJQ3NnTVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdkMmhwYkdVZ0tIUnlkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYUNBOUlHeHBibVZiWkdseVJXNWtJQzBnTVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR05vSUQwOVBTQW5JQ2NnZkh3Z1kyZ2dQVDA5SUNkY1hIUW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2FYSkZibVFnTFQwZ01UdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYmlBOUlDaDVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1EyOTFiblFvWkdseVJXNWtLU2tnS3lBb2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUZOd1lXTmxjeWgwY25WbEtTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdkWE5vUTI5MWJuUW9iR2x1WlM1c1pXNW5kR2dnTFNCdUtUc2dMeThnY0c5emMybGliR1VnWTI5dGJXVnVkRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV3ZFhOb1RtVjNiR2x1WlNncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2R6ZEhKbFlXMG5PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1GMFRHbHVaVVZ1WkNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6Y0NBOUlIbHBaV3hrS2lCMGFHbHpMbkIxYzJoVGNHRmpaWE1vZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdkWE5vUTI5MWJuUW9iR2x1WlM1c1pXNW5kR2dnTFNCemNDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdkWE5vVG1WM2JHbHVaU2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZHpkSEpsWVcwbk8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSGxwWld4a0lFUlBRMVZOUlU1VU8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjR0Z5YzJWTWFXNWxVM1JoY25Rb0tUdGNiaUFnSUNCOVhHNGdJQ0FnS25CaGNuTmxUR2x1WlZOMFlYSjBLQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JqYUNBOUlIUm9hWE11WTJoaGNrRjBLREFwTzF4dUlDQWdJQ0FnSUNCcFppQW9JV05vSUNZbUlDRjBhR2x6TG1GMFJXNWtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjMlYwVG1WNGRDZ25iR2x1WlMxemRHRnlkQ2NwTzF4dUlDQWdJQ0FnSUNCcFppQW9ZMmdnUFQwOUlDY3RKeUI4ZkNCamFDQTlQVDBnSnk0bktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JWFJvYVhNdVlYUkZibVFnSmlZZ0lYUm9hWE11YUdGelEyaGhjbk1vTkNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjMlYwVG1WNGRDZ25iR2x1WlMxemRHRnlkQ2NwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2N5QTlJSFJvYVhNdWNHVmxheWd6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnb2N5QTlQVDBnSnkwdExTY2dmSHdnY3lBOVBUMGdKeTR1TGljcElDWW1JR2x6Ulcxd2RIa29kR2hwY3k1amFHRnlRWFFvTXlrcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0hWemFFTnZkVzUwS0RNcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YVc1a1pXNTBWbUZzZFdVZ1BTQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNWtaVzUwVG1WNGRDQTlJREE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE1nUFQwOUlDY3RMUzBuSUQ4Z0oyUnZZeWNnT2lBbmMzUnlaV0Z0Snp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCMGFHbHpMbWx1WkdWdWRGWmhiSFZsSUQwZ2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUZOd1lXTmxjeWhtWVd4elpTazdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbWx1WkdWdWRFNWxlSFFnUGlCMGFHbHpMbWx1WkdWdWRGWmhiSFZsSUNZbUlDRnBjMFZ0Y0hSNUtIUm9hWE11WTJoaGNrRjBLREVwS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNWtaVzUwVG1WNGRDQTlJSFJvYVhNdWFXNWtaVzUwVm1Gc2RXVTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjVhV1ZzWkNvZ2RHaHBjeTV3WVhKelpVSnNiMk5yVTNSaGNuUW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ0tuQmhjbk5sUW14dlkydFRkR0Z5ZENncElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1cyTm9NQ3dnWTJneFhTQTlJSFJvYVhNdWNHVmxheWd5S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZqYURFZ0ppWWdJWFJvYVhNdVlYUkZibVFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV6WlhST1pYaDBLQ2RpYkc5amF5MXpkR0Z5ZENjcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvS0dOb01DQTlQVDBnSnkwbklIeDhJR05vTUNBOVBUMGdKejhuSUh4OElHTm9NQ0E5UFQwZ0p6b25LU0FtSmlCcGMwVnRjSFI1S0dOb01Ta3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUc0Z1BTQW9lV2xsYkdRcUlIUm9hWE11Y0hWemFFTnZkVzUwS0RFcEtTQXJJQ2g1YVdWc1pDb2dkR2hwY3k1d2RYTm9VM0JoWTJWektIUnlkV1VwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNWtaVzUwVG1WNGRDQTlJSFJvYVhNdWFXNWtaVzUwVm1Gc2RXVWdLeUF4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtUmxiblJXWVd4MVpTQXJQU0J1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIbHBaV3hrS2lCMGFHbHpMbkJoY25ObFFteHZZMnRUZEdGeWRDZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFuWkc5akp6dGNiaUFnSUNCOVhHNGdJQ0FnS25CaGNuTmxSRzlqZFcxbGJuUW9LU0I3WEc0Z0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxuQjFjMmhUY0dGalpYTW9kSEoxWlNrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUd4cGJtVWdQU0IwYUdsekxtZGxkRXhwYm1Vb0tUdGNiaUFnSUNBZ0lDQWdhV1lnS0d4cGJtVWdQVDA5SUc1MWJHd3BYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXpaWFJPWlhoMEtDZGtiMk1uS1R0Y2JpQWdJQ0FnSUNBZ2JHVjBJRzRnUFNCNWFXVnNaQ29nZEdocGN5NXdkWE5vU1c1a2FXTmhkRzl5Y3lncE8xeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tHeHBibVZiYmwwcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKeU1uT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxuQjFjMmhEYjNWdWRDaHNhVzVsTG14bGJtZDBhQ0F0SUc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ptRnNiSFJvY205MVoyaGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdkVzVrWldacGJtVmtPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CMWMyaE9aWGRzYVc1bEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIbHBaV3hrS2lCMGFHbHpMbkJoY25ObFRHbHVaVk4wWVhKMEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2Q3SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oxc25PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CMWMyaERiM1Z1ZENneEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1ac2IzZExaWGtnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtWnNiM2RNWlhabGJDQTlJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RtYkc5M0p6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMzBuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblhTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEdocGN5QnBjeUJoYmlCbGNuSnZjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CMWMyaERiM1Z1ZENneEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0oyUnZZeWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNjcUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1ZXNTBhV3dvYVhOT2IzUkJibU5vYjNKRGFHRnlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMlJ2WXljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGNJaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aUoxd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjVhV1ZzWkNvZ2RHaHBjeTV3WVhKelpWRjFiM1JsWkZOallXeGhjaWdwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmZDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2MrSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdUlDczlJSGxwWld4a0tpQjBhR2x6TG5CaGNuTmxRbXh2WTJ0VFkyRnNZWEpJWldGa1pYSW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1SUNzOUlIbHBaV3hrS2lCMGFHbHpMbkIxYzJoVGNHRmpaWE1vZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0hWemFFTnZkVzUwS0d4cGJtVXViR1Z1WjNSb0lDMGdiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUXFJSFJvYVhNdWNIVnphRTVsZDJ4cGJtVW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Y0dGeWMyVkNiRzlqYTFOallXeGhjaWdwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjR0Z5YzJWUWJHRnBibE5qWVd4aGNpZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lDcHdZWEp6WlVac2IzZERiMnhzWldOMGFXOXVLQ2tnZTF4dUlDQWdJQ0FnSUNCc1pYUWdibXdzSUhOd08xeHVJQ0FnSUNBZ0lDQnNaWFFnYVc1a1pXNTBJRDBnTFRFN1hHNGdJQ0FnSUNBZ0lHUnZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHNXNJRDBnZVdsbGJHUXFJSFJvYVhNdWNIVnphRTVsZDJ4cGJtVW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h1YkNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6Y0NBOUlIbHBaV3hrS2lCMGFHbHpMbkIxYzJoVGNHRmpaWE1vWm1Gc2MyVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNWtaVzUwVm1Gc2RXVWdQU0JwYm1SbGJuUWdQU0J6Y0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOd0lEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUhOd0lDczlJSGxwWld4a0tpQjBhR2x6TG5CMWMyaFRjR0ZqWlhNb2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUgwZ2QyaHBiR1VnS0c1c0lDc2djM0FnUGlBd0tUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JHbHVaU0E5SUhSb2FYTXVaMlYwVEdsdVpTZ3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2JHbHVaU0E5UFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk5sZEU1bGVIUW9KMlpzYjNjbktUdGNiaUFnSUNBZ0lDQWdhV1lnS0NocGJtUmxiblFnSVQwOUlDMHhJQ1ltSUdsdVpHVnVkQ0E4SUhSb2FYTXVhVzVrWlc1MFRtVjRkQ0FtSmlCc2FXNWxXekJkSUNFOVBTQW5JeWNwSUh4OFhHNGdJQ0FnSUNBZ0lDQWdJQ0FvYVc1a1pXNTBJRDA5UFNBd0lDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLR3hwYm1VdWMzUmhjblJ6VjJsMGFDZ25MUzB0SnlrZ2ZId2diR2x1WlM1emRHRnlkSE5YYVhSb0tDY3VMaTRuS1NrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjMFZ0Y0hSNUtHeHBibVZiTTEwcEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdRV3hzYjNkcGJtY2dabTl5SUhSb1pTQjBaWEp0YVc1aGJDQmRJRzl5SUgwZ1lYUWdkR2hsSUhOaGJXVWdLSEpoZEdobGNpQjBhR0Z1SUdkeVpXRjBaWElwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJwYm1SbGJuUWdiR1YyWld3Z1lYTWdkR2hsSUdsdWFYUnBZV3dnV3lCdmNpQjdJR2x6SUhSbFkyaHVhV05oYkd4NUlHbHVkbUZzYVdRc0lHSjFkRnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdabUZwYkdsdVp5Qm9aWEpsSUhkdmRXeGtJR0psSUhOMWNuQnlhWE5wYm1jZ2RHOGdkWE5sY25NdVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmhkRVpzYjNkRmJtUk5ZWEpyWlhJZ1BTQnBibVJsYm5RZ1BUMDlJSFJvYVhNdWFXNWtaVzUwVG1WNGRDQXRJREVnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVpzYjNkTVpYWmxiQ0E5UFQwZ01TQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2hzYVc1bFd6QmRJRDA5UFNBblhTY2dmSHdnYkdsdVpWc3dYU0E5UFQwZ0ozMG5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doWVhSR2JHOTNSVzVrVFdGeWEyVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHaHBjeUJwY3lCaGJpQmxjbkp2Y2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVabXh2ZDB4bGRtVnNJRDBnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ0JHVEU5WFgwVk9SRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Y0dGeWMyVk1hVzVsVTNSaGNuUW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JzWlhRZ2JpQTlJREE3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2hzYVc1bFcyNWRJRDA5UFNBbkxDY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHNGdLejBnZVdsbGJHUXFJSFJvYVhNdWNIVnphRU52ZFc1MEtERXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JpQXJQU0I1YVdWc1pDb2dkR2hwY3k1d2RYTm9VM0JoWTJWektIUnlkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1bWJHOTNTMlY1SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2JpQXJQU0I1YVdWc1pDb2dkR2hwY3k1d2RYTm9TVzVrYVdOaGRHOXljeWdwTzF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0d4cGJtVmJibDBwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ2RXNWtaV1pwYm1Wa09seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBblpteHZkeWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNjakp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1EyOTFiblFvYkdsdVpTNXNaVzVuZEdnZ0xTQnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMlpzYjNjbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5leWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkYkp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1EyOTFiblFvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVtYkc5M1MyVjVJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1bWJHOTNUR1YyWld3Z0t6MGdNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMlpzYjNjbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5mU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkZEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1EyOTFiblFvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVtYkc5M1MyVjVJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1ac2IzZE1aWFpsYkNBdFBTQXhPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1ac2IzZE1aWFpsYkNBL0lDZG1iRzkzSnlBNklDZGtiMk1uTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbktpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0hWemFGVnVkR2xzS0dselRtOTBRVzVqYUc5eVEyaGhjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RtYkc5M0p6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMXdpSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSW5YQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NW1iRzkzUzJWNUlEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdWNHRnljMlZSZFc5MFpXUlRZMkZzWVhJb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKem9uT2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYm1WNGRDQTlJSFJvYVhNdVkyaGhja0YwS0RFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtWnNiM2RMWlhrZ2ZId2dhWE5GYlhCMGVTaHVaWGgwS1NCOGZDQnVaWGgwSUQwOVBTQW5MQ2NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1bWJHOTNTMlY1SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIbHBaV3hrS2lCMGFHbHpMbkIxYzJoRGIzVnVkQ2d4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0hWemFGTndZV05sY3loMGNuVmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkbWJHOTNKenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5Qm1ZV3hzZEdoeWIzVm5hRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVpzYjNkTFpYa2dQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjR0Z5YzJWUWJHRnBibE5qWVd4aGNpZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lDcHdZWEp6WlZGMWIzUmxaRk5qWVd4aGNpZ3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjWFZ2ZEdVZ1BTQjBhR2x6TG1Ob1lYSkJkQ2d3S1R0Y2JpQWdJQ0FnSUNBZ2JHVjBJR1Z1WkNBOUlIUm9hWE11WW5WbVptVnlMbWx1WkdWNFQyWW9jWFZ2ZEdVc0lIUm9hWE11Y0c5eklDc2dNU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHhkVzkwWlNBOVBUMGdYQ0luWENJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhkb2FXeGxJQ2hsYm1RZ0lUMDlJQzB4SUNZbUlIUm9hWE11WW5WbVptVnlXMlZ1WkNBcklERmRJRDA5UFNCY0lpZGNJaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYm1RZ1BTQjBhR2x6TG1KMVptWmxjaTVwYm1SbGVFOW1LRndpSjF3aUxDQmxibVFnS3lBeUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHUnZkV0pzWlMxeGRXOTBaVnh1SUNBZ0lDQWdJQ0FnSUNBZ2QyaHBiR1VnS0dWdVpDQWhQVDBnTFRFcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNaWFFnYmlBOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkMmhwYkdVZ0tIUm9hWE11WW5WbVptVnlXMlZ1WkNBdElERWdMU0J1WFNBOVBUMGdKMXhjWEZ3bktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1SUNzOUlERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c0Z0pTQXlJRDA5UFNBd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxibVFnUFNCMGFHbHpMbUoxWm1abGNpNXBibVJsZUU5bUtDZGNJaWNzSUdWdVpDQXJJREVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUM4dklFOXViSGtnYkc5dmEybHVaeUJtYjNJZ2JtVjNiR2x1WlhNZ2QybDBhR2x1SUhSb1pTQnhkVzkwWlhOY2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY1dJZ1BTQjBhR2x6TG1KMVptWmxjaTV6ZFdKemRISnBibWNvTUN3Z1pXNWtLVHRjYmlBZ0lDQWdJQ0FnYkdWMElHNXNJRDBnY1dJdWFXNWtaWGhQWmlnblhGeHVKeXdnZEdocGN5NXdiM01wTzF4dUlDQWdJQ0FnSUNCcFppQW9ibXdnSVQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb2Jtd2dJVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kzTWdQU0IwYUdsekxtTnZiblJwYm5WbFUyTmhiR0Z5S0c1c0lDc2dNU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTnpJRDA5UFNBdE1TbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibXdnUFNCeFlpNXBibVJsZUU5bUtDZGNYRzRuTENCamN5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2Jtd2dJVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEdocGN5QnBjeUJoYmlCbGNuSnZjaUJqWVhWelpXUWdZbmtnWVc0Z2RXNWxlSEJsWTNSbFpDQjFibWx1WkdWdWRGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnVaQ0E5SUc1c0lDMGdLSEZpVzI1c0lDMGdNVjBnUFQwOUlDZGNYSEluSUQ4Z01pQTZJREVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaGxibVFnUFQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhSb2FYTXVZWFJGYm1RcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjMlYwVG1WNGRDZ25jWFZ2ZEdWa0xYTmpZV3hoY2ljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWlc1a0lEMGdkR2hwY3k1aWRXWm1aWEl1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxuQjFjMmhVYjBsdVpHVjRLR1Z1WkNBcklERXNJR1poYkhObEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Wm14dmQweGxkbVZzSUQ4Z0oyWnNiM2NuSURvZ0oyUnZZeWM3WEc0Z0lDQWdmVnh1SUNBZ0lDcHdZWEp6WlVKc2IyTnJVMk5oYkdGeVNHVmhaR1Z5S0NrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG1Kc2IyTnJVMk5oYkdGeVNXNWtaVzUwSUQwZ0xURTdYRzRnSUNBZ0lDQWdJSFJvYVhNdVlteHZZMnRUWTJGc1lYSkxaV1Z3SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUd4bGRDQnBJRDBnZEdocGN5NXdiM003WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2gwY25WbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYUNBOUlIUm9hWE11WW5WbVptVnlXeXNyYVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kyZ2dQVDA5SUNjckp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1Kc2IyTnJVMk5oYkdGeVMyVmxjQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoamFDQStJQ2N3SnlBbUppQmphQ0E4UFNBbk9TY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1aWJHOWphMU5qWVd4aGNrbHVaR1Z1ZENBOUlFNTFiV0psY2loamFDa2dMU0F4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZMmdnSVQwOUlDY3RKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Y0hWemFGVnVkR2xzS0dOb0lEMCtJR2x6Ulcxd2RIa29ZMmdwSUh4OElHTm9JRDA5UFNBbkl5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNBcWNHRnljMlZDYkc5amExTmpZV3hoY2lncElIdGNiaUFnSUNBZ0lDQWdiR1YwSUc1c0lEMGdkR2hwY3k1d2IzTWdMU0F4T3lBdkx5QnRZWGtnWW1VZ0xURWdhV1lnZEdocGN5NXdiM01nUFQwOUlEQmNiaUFnSUNBZ0lDQWdiR1YwSUdsdVpHVnVkQ0E5SURBN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JqYUR0Y2JpQWdJQ0FnSUNBZ2JHOXZjRG9nWm05eUlDaHNaWFFnYVNBOUlIUm9hWE11Y0c5ek95QW9ZMmdnUFNCMGFHbHpMbUoxWm1abGNsdHBYU2s3SUNzcmFTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNoamFDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p5QW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxiblFnS3owZ01UdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblhGeHVKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2Jtd2dQU0JwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibVJsYm5RZ1BTQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGNYSEluT2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHNWxlSFFnUFNCMGFHbHpMbUoxWm1abGNsdHBJQ3NnTVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaGJtVjRkQ0FtSmlBaGRHaHBjeTVoZEVWdVpDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk5sZEU1bGVIUW9KMkpzYjJOckxYTmpZV3hoY2ljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JtVjRkQ0E5UFQwZ0oxeGNiaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlJQzh2SUdaaGJHeDBhSEp2ZFdkb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzZ2JHOXZjRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JwWmlBb0lXTm9JQ1ltSUNGMGFHbHpMbUYwUlc1a0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMyVjBUbVY0ZENnbllteHZZMnN0YzJOaGJHRnlKeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBibVJsYm5RZ1BqMGdkR2hwY3k1cGJtUmxiblJPWlhoMEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1aWJHOWphMU5qWVd4aGNrbHVaR1Z1ZENBOVBUMGdMVEVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXBibVJsYm5ST1pYaDBJRDBnYVc1a1pXNTBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXBibVJsYm5ST1pYaDBJRDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVpYkc5amExTmpZV3hoY2tsdVpHVnVkQ0FySUNoMGFHbHpMbWx1WkdWdWRFNWxlSFFnUFQwOUlEQWdQeUF4SURvZ2RHaHBjeTVwYm1SbGJuUk9aWGgwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHUnZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmpjeUE5SUhSb2FYTXVZMjl1ZEdsdWRXVlRZMkZzWVhJb2Jtd2dLeUF4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZM01nUFQwOUlDMHhLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YkNBOUlIUm9hWE11WW5WbVptVnlMbWx1WkdWNFQyWW9KMXhjYmljc0lHTnpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdkMmhwYkdVZ0tHNXNJQ0U5UFNBdE1TazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ibXdnUFQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRjBhR2x6TG1GMFJXNWtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXpaWFJPWlhoMEtDZGliRzlqYXkxelkyRnNZWEluS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWJDQTlJSFJvYVhNdVluVm1abVZ5TG14bGJtZDBhRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0F2THlCVWNtRnBiR2x1WnlCcGJuTjFabVpwWTJsbGJuUnNlU0JwYm1SbGJuUmxaQ0IwWVdKeklHRnlaU0JwYm5aaGJHbGtMbHh1SUNBZ0lDQWdJQ0F2THlCVWJ5QmpZWFJqYUNCMGFHRjBJR1IxY21sdVp5QndZWEp6YVc1bkxDQjNaU0JwYm1Oc2RXUmxJSFJvWlcwZ2FXNGdkR2hsSUdKc2IyTnJJSE5qWVd4aGNpQjJZV3gxWlM1Y2JpQWdJQ0FnSUNBZ2JHVjBJR2tnUFNCdWJDQXJJREU3WEc0Z0lDQWdJQ0FnSUdOb0lEMGdkR2hwY3k1aWRXWm1aWEpiYVYwN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNoamFDQTlQVDBnSnlBbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJnZ1BTQjBhR2x6TG1KMVptWmxjbHNySzJsZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTJnZ1BUMDlJQ2RjWEhRbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCM2FHbHNaU0FvWTJnZ1BUMDlJQ2RjWEhRbklIeDhJR05vSUQwOVBTQW5JQ2NnZkh3Z1kyZ2dQVDA5SUNkY1hISW5JSHg4SUdOb0lEMDlQU0FuWEZ4dUp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmphQ0E5SUhSb2FYTXVZblZtWm1WeVd5c3JhVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnViQ0E5SUdrZ0xTQXhPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0NGMGFHbHpMbUpzYjJOclUyTmhiR0Z5UzJWbGNDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHOGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hsZENCcElEMGdibXdnTFNBeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0JqYUNBOUlIUm9hWE11WW5WbVptVnlXMmxkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGphQ0E5UFQwZ0oxeGNjaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTm9JRDBnZEdocGN5NWlkV1ptWlhKYkxTMXBYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnNZWE4wUTJoaGNpQTlJR2s3SUM4dklFUnliM0FnZEdobElHeHBibVVnYVdZZ2JHRnpkQ0JqYUdGeUlHNXZkQ0J0YjNKbElHbHVaR1Z1ZEdWa1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QyaHBiR1VnS0dOb0lEMDlQU0FuSUNjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05vSUQwZ2RHaHBjeTVpZFdabVpYSmJMUzFwWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMmdnUFQwOUlDZGNYRzRuSUNZbUlHa2dQajBnZEdocGN5NXdiM01nSmlZZ2FTQXJJREVnS3lCcGJtUmxiblFnUGlCc1lYTjBRMmhoY2lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibXdnUFNCcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJSGRvYVd4bElDaDBjblZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjVhV1ZzWkNCVFEwRk1RVkk3WEc0Z0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxuQjFjMmhVYjBsdVpHVjRLRzVzSUNzZ01Td2dkSEoxWlNrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NXdZWEp6WlV4cGJtVlRkR0Z5ZENncE8xeHVJQ0FnSUgxY2JpQWdJQ0FxY0dGeWMyVlFiR0ZwYmxOallXeGhjaWdwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVc1R2JHOTNJRDBnZEdocGN5NW1iRzkzVEdWMlpXd2dQaUF3TzF4dUlDQWdJQ0FnSUNCc1pYUWdaVzVrSUQwZ2RHaHBjeTV3YjNNZ0xTQXhPMXh1SUNBZ0lDQWdJQ0JzWlhRZ2FTQTlJSFJvYVhNdWNHOXpJQzBnTVR0Y2JpQWdJQ0FnSUNBZ2JHVjBJR05vTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvS0dOb0lEMGdkR2hwY3k1aWRXWm1aWEpiS3l0cFhTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqYUNBOVBUMGdKem9uS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYm1WNGRDQTlJSFJvYVhNdVluVm1abVZ5VzJrZ0t5QXhYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FYTkZiWEIwZVNodVpYaDBLU0I4ZkNBb2FXNUdiRzkzSUNZbUlHWnNiM2RKYm1ScFkyRjBiM0pEYUdGeWN5NW9ZWE1vYm1WNGRDa3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYm1RZ1BTQnBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhORmJYQjBlU2hqYUNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNaWFFnYm1WNGRDQTlJSFJvYVhNdVluVm1abVZ5VzJrZ0t5QXhYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kyZ2dQVDA5SUNkY1hISW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h1WlhoMElEMDlQU0FuWEZ4dUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0FyUFNBeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyZ2dQU0FuWEZ4dUp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNWxlSFFnUFNCMGFHbHpMbUoxWm1abGNsdHBJQ3NnTVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaVzVrSUQwZ2FUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c1bGVIUWdQVDA5SUNjakp5QjhmQ0FvYVc1R2JHOTNJQ1ltSUdac2IzZEpibVJwWTJGMGIzSkRhR0Z5Y3k1b1lYTW9ibVY0ZENrcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTJnZ1BUMDlJQ2RjWEc0bktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR056SUQwZ2RHaHBjeTVqYjI1MGFXNTFaVk5qWVd4aGNpaHBJQ3NnTVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamN5QTlQVDBnTFRFcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQTlJRTFoZEdndWJXRjRLR2tzSUdOeklDMGdNaWs3SUM4dklIUnZJR0ZrZG1GdVkyVXNJR0oxZENCemRHbHNiQ0JoWTJOdmRXNTBJR1p2Y2lBbklDTW5YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsdVJteHZkeUFtSmlCbWJHOTNTVzVrYVdOaGRHOXlRMmhoY25NdWFHRnpLR05vS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXNWtJRDBnYVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCcFppQW9JV05vSUNZbUlDRjBhR2x6TG1GMFJXNWtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjMlYwVG1WNGRDZ25jR3hoYVc0dGMyTmhiR0Z5SnlrN1hHNGdJQ0FnSUNBZ0lIbHBaV3hrSUZORFFVeEJVanRjYmlBZ0lDQWdJQ0FnZVdsbGJHUXFJSFJvYVhNdWNIVnphRlJ2U1c1a1pYZ29aVzVrSUNzZ01Td2dkSEoxWlNrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJrWnNiM2NnUHlBblpteHZkeWNnT2lBblpHOWpKenRjYmlBZ0lDQjlYRzRnSUNBZ0tuQjFjMmhEYjNWdWRDaHVLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHVJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUWdkR2hwY3k1aWRXWm1aWEl1YzNWaWMzUnlLSFJvYVhNdWNHOXpMQ0J1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWNHOXpJQ3M5SUc0N1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdianRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnTUR0Y2JpQWdJQ0I5WEc0Z0lDQWdLbkIxYzJoVWIwbHVaR1Y0S0drc0lHRnNiRzkzUlcxd2RIa3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjeUE5SUhSb2FYTXVZblZtWm1WeUxuTnNhV05sS0hSb2FYTXVjRzl6TENCcEtUdGNiaUFnSUNBZ0lDQWdhV1lnS0hNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhscFpXeGtJSE03WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5CdmN5QXJQU0J6TG14bGJtZDBhRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCekxteGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGhiR3h2ZDBWdGNIUjVLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FnSnljN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBd08xeHVJQ0FnSUgxY2JpQWdJQ0FxY0hWemFFbHVaR2xqWVhSdmNuTW9LU0I3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvZEdocGN5NWphR0Z5UVhRb01Da3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSnlFbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBb0tIbHBaV3hrS2lCMGFHbHpMbkIxYzJoVVlXY29LU2tnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9lV2xsYkdRcUlIUm9hWE11Y0hWemFGTndZV05sY3loMGNuVmxLU2tnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9lV2xsYkdRcUlIUm9hWE11Y0hWemFFbHVaR2xqWVhSdmNuTW9LU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbkppYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZ29lV2xsYkdRcUlIUm9hWE11Y0hWemFGVnVkR2xzS0dselRtOTBRVzVqYUc5eVEyaGhjaWtwSUN0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLSGxwWld4a0tpQjBhR2x6TG5CMWMyaFRjR0ZqWlhNb2RISjFaU2twSUN0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLSGxwWld4a0tpQjBhR2x6TG5CMWMyaEpibVJwWTJGMGIzSnpLQ2twS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p5MG5PaUF2THlCMGFHbHpJR2x6SUdGdUlHVnljbTl5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNjL0p6b2dMeThnZEdocGN5QnBjeUJoYmlCbGNuSnZjaUJ2ZFhSemFXUmxJR1pzYjNjZ1kyOXNiR1ZqZEdsdmJuTmNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKem9uT2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYVc1R2JHOTNJRDBnZEdocGN5NW1iRzkzVEdWMlpXd2dQaUF3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05vTVNBOUlIUm9hWE11WTJoaGNrRjBLREVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBjMFZ0Y0hSNUtHTm9NU2tnZkh3Z0tHbHVSbXh2ZHlBbUppQm1iRzkzU1c1a2FXTmhkRzl5UTJoaGNuTXVhR0Z6S0dOb01Ta3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYVc1R2JHOTNLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtUmxiblJPWlhoMElEMGdkR2hwY3k1cGJtUmxiblJXWVd4MVpTQXJJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tIUm9hWE11Wm14dmQwdGxlU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpteHZkMHRsZVNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0tDaDVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1EyOTFiblFvTVNrcElDdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDaDVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1UzQmhZMlZ6S0hSeWRXVXBLU0FyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FvZVdsbGJHUXFJSFJvYVhNdWNIVnphRWx1WkdsallYUnZjbk1vS1NrcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z01EdGNiaUFnSUNCOVhHNGdJQ0FnS25CMWMyaFVZV2NvS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtTm9ZWEpCZENneEtTQTlQVDBnSnp3bktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdhU0E5SUhSb2FYTXVjRzl6SUNzZ01qdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQmphQ0E5SUhSb2FYTXVZblZtWm1WeVcybGRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2QyaHBiR1VnS0NGcGMwVnRjSFI1S0dOb0tTQW1KaUJqYUNBaFBUMGdKejRuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOb0lEMGdkR2hwY3k1aWRXWm1aWEpiS3l0cFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI1YVdWc1pDb2dkR2hwY3k1d2RYTm9WRzlKYm1SbGVDaGphQ0E5UFQwZ0p6NG5JRDhnYVNBcklERWdPaUJwTENCbVlXeHpaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnNaWFFnYVNBOUlIUm9hWE11Y0c5eklDc2dNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0JqYUNBOUlIUm9hWE11WW5WbVptVnlXMmxkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkMmhwYkdVZ0tHTm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUmhaME5vWVhKekxtaGhjeWhqYUNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05vSUQwZ2RHaHBjeTVpZFdabVpYSmJLeXRwWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoamFDQTlQVDBnSnlVbklDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdobGVFUnBaMmwwY3k1b1lYTW9kR2hwY3k1aWRXWm1aWEpiYVNBcklERmRLU0FtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm9aWGhFYVdkcGRITXVhR0Z6S0hSb2FYTXVZblZtWm1WeVcya2dLeUF5WFNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJnZ1BTQjBhR2x6TG1KMVptWmxjbHNvYVNBclBTQXpLVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Y0hWemFGUnZTVzVrWlhnb2FTd2dabUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUNwd2RYTm9UbVYzYkdsdVpTZ3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMmdnUFNCMGFHbHpMbUoxWm1abGNsdDBhR2x6TG5CdmMxMDdYRzRnSUNBZ0lDQWdJR2xtSUNoamFDQTlQVDBnSjF4Y2JpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdWNIVnphRU52ZFc1MEtERXBPMXh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hqYUNBOVBUMGdKMXhjY2ljZ0ppWWdkR2hwY3k1amFHRnlRWFFvTVNrZ1BUMDlJQ2RjWEc0bktWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGxwWld4a0tpQjBhR2x6TG5CMWMyaERiM1Z1ZENneUtUdGNiaUFnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlEQTdYRzRnSUNBZ2ZWeHVJQ0FnSUNwd2RYTm9VM0JoWTJWektHRnNiRzkzVkdGaWN5a2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ2FTQTlJSFJvYVhNdWNHOXpJQzBnTVR0Y2JpQWdJQ0FnSUNBZ2JHVjBJR05vTzF4dUlDQWdJQ0FnSUNCa2J5QjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamFDQTlJSFJvYVhNdVluVm1abVZ5V3lzcmFWMDdYRzRnSUNBZ0lDQWdJSDBnZDJocGJHVWdLR05vSUQwOVBTQW5JQ2NnZkh3Z0tHRnNiRzkzVkdGaWN5QW1KaUJqYUNBOVBUMGdKMXhjZENjcEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JpQTlJR2tnTFNCMGFHbHpMbkJ2Y3p0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzRnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ0IwYUdsekxtSjFabVpsY2k1emRXSnpkSElvZEdocGN5NXdiM01zSUc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXdiM01nUFNCcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVPMXh1SUNBZ0lIMWNiaUFnSUNBcWNIVnphRlZ1ZEdsc0tIUmxjM1FwSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJR2tnUFNCMGFHbHpMbkJ2Y3p0Y2JpQWdJQ0FnSUNBZ2JHVjBJR05vSUQwZ2RHaHBjeTVpZFdabVpYSmJhVjA3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2doZEdWemRDaGphQ2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQmphQ0E5SUhSb2FYTXVZblZtWm1WeVd5c3JhVjA3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUI1YVdWc1pDb2dkR2hwY3k1d2RYTm9WRzlKYm1SbGVDaHBMQ0JtWVd4elpTazdYRzRnSUNBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnZXlCTVpYaGxjaUI5TzF4dUlpd2dJaThxS2x4dUlDb2dWSEpoWTJ0eklHNWxkMnhwYm1WeklHUjFjbWx1WnlCd1lYSnphVzVuSUdsdUlHOXlaR1Z5SUhSdklIQnliM1pwWkdVZ1lXNGdaV1ptYVdOcFpXNTBJRUZRU1NCbWIzSmNiaUFxSUdSbGRHVnliV2x1YVc1bklIUm9aU0J2Ym1VdGFXNWtaWGhsWkNCZ2V5QnNhVzVsTENCamIyd2dmV0FnY0c5emFYUnBiMjRnWm05eUlHRnVlU0J2Wm1aelpYUmNiaUFxSUhkcGRHaHBiaUIwYUdVZ2FXNXdkWFF1WEc0Z0tpOWNibU5zWVhOeklFeHBibVZEYjNWdWRHVnlJSHRjYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWdwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVzYVc1bFUzUmhjblJ6SUQwZ1cxMDdYRzRnSUNBZ0lDQWdJQzhxS2x4dUlDQWdJQ0FnSUNBZ0tpQlRhRzkxYkdRZ1ltVWdZMkZzYkdWa0lHbHVJR0Z6WTJWdVpHbHVaeUJ2Y21SbGNpNGdUM1JvWlhKM2FYTmxMQ0JqWVd4c1hHNGdJQ0FnSUNBZ0lDQXFJR0JzYVc1bFEyOTFiblJsY2k1c2FXNWxVM1JoY25SekxuTnZjblFvS1dBZ1ltVm1iM0psSUdOaGJHeHBibWNnWUd4cGJtVlFiM01vS1dBdVhHNGdJQ0FnSUNBZ0lDQXFMMXh1SUNBZ0lDQWdJQ0IwYUdsekxtRmtaRTVsZDB4cGJtVWdQU0FvYjJabWMyVjBLU0E5UGlCMGFHbHpMbXhwYm1WVGRHRnlkSE11Y0hWemFDaHZabVp6WlhRcE8xeHVJQ0FnSUNBZ0lDQXZLaXBjYmlBZ0lDQWdJQ0FnSUNvZ1VHVnlabTl5YlhNZ1lTQmlhVzVoY25rZ2MyVmhjbU5vSUdGdVpDQnlaWFIxY201eklIUm9aU0F4TFdsdVpHVjRaV1FnZXlCc2FXNWxMQ0JqYjJ3Z2ZWeHVJQ0FnSUNBZ0lDQWdLaUJ3YjNOcGRHbHZiaUJ2WmlCZ2IyWm1jMlYwWUM0Z1NXWWdZR3hwYm1VZ1BUMDlJREJnTENCZ1lXUmtUbVYzVEdsdVpXQWdhR0Z6SUc1bGRtVnlJR0psWlc1Y2JpQWdJQ0FnSUNBZ0lDb2dZMkZzYkdWa0lHOXlJR0J2Wm1aelpYUmdJR2x6SUdKbFptOXlaU0IwYUdVZ1ptbHljM1FnYTI1dmQyNGdibVYzYkdsdVpTNWNiaUFnSUNBZ0lDQWdJQ292WEc0Z0lDQWdJQ0FnSUhSb2FYTXViR2x1WlZCdmN5QTlJQ2h2Wm1aelpYUXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3hsZENCc2IzY2dQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUdocFoyZ2dQU0IwYUdsekxteHBibVZUZEdGeWRITXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZDJocGJHVWdLR3h2ZHlBOElHaHBaMmdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0YVdRZ1BTQW9iRzkzSUNzZ2FHbG5hQ2tnUGo0Z01Uc2dMeThnVFdGMGFDNW1iRzl2Y2lnb2JHOTNJQ3NnYUdsbmFDa2dMeUF5S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG14cGJtVlRkR0Z5ZEhOYmJXbGtYU0E4SUc5bVpuTmxkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHOTNJRDBnYldsa0lDc2dNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2hwWjJnZ1BTQnRhV1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1c2FXNWxVM1JoY25SelcyeHZkMTBnUFQwOUlHOW1abk5sZENsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCc2FXNWxPaUJzYjNjZ0t5QXhMQ0JqYjJ3NklERWdmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hzYjNjZ1BUMDlJREFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnYkdsdVpUb2dNQ3dnWTI5c09pQnZabVp6WlhRZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE4wWVhKMElEMGdkR2hwY3k1c2FXNWxVM1JoY25SelcyeHZkeUF0SURGZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnYkdsdVpUb2diRzkzTENCamIydzZJRzltWm5ObGRDQXRJSE4wWVhKMElDc2dNU0I5TzF4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JuMWNibHh1Wlhod2IzSjBJSHNnVEdsdVpVTnZkVzUwWlhJZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCMGIydGxibFI1Y0dVZ2ZTQm1jbTl0SUNjdUwyTnpkQzVxY3ljN1hHNXBiWEJ2Y25RZ2V5Qk1aWGhsY2lCOUlHWnliMjBnSnk0dmJHVjRaWEl1YW5Nbk8xeHVYRzVtZFc1amRHbHZiaUJwYm1Oc2RXUmxjMVJ2YTJWdUtHeHBjM1FzSUhSNWNHVXBJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR3hwYzNRdWJHVnVaM1JvT3lBcksya3BYRzRnSUNBZ0lDQWdJR2xtSUNoc2FYTjBXMmxkTG5SNWNHVWdQVDA5SUhSNWNHVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzU5WEc1bWRXNWpkR2x2YmlCbWFXNWtUbTl1Ulcxd2RIbEpibVJsZUNoc2FYTjBLU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JzYVhOMExteGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvYkdsemRGdHBYUzUwZVhCbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R6Y0dGalpTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RqYjIxdFpXNTBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjI1bGQyeHBibVVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdMVEU3WEc1OVhHNW1kVzVqZEdsdmJpQnBjMFpzYjNkVWIydGxiaWgwYjJ0bGJpa2dlMXh1SUNBZ0lITjNhWFJqYUNBb2RHOXJaVzQvTG5SNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5ZV3hwWVhNbk9seHVJQ0FnSUNBZ0lDQmpZWE5sSUNkelkyRnNZWEluT2x4dUlDQWdJQ0FnSUNCallYTmxJQ2R6YVc1bmJHVXRjWFZ2ZEdWa0xYTmpZV3hoY2ljNlhHNGdJQ0FnSUNBZ0lHTmhjMlVnSjJSdmRXSnNaUzF4ZFc5MFpXUXRjMk5oYkdGeUp6cGNiaUFnSUNBZ0lDQWdZMkZ6WlNBblpteHZkeTFqYjJ4c1pXTjBhVzl1SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYm4xY2JtWjFibU4wYVc5dUlHZGxkRkJ5WlhaUWNtOXdjeWh3WVhKbGJuUXBJSHRjYmlBZ0lDQnpkMmwwWTJnZ0tIQmhjbVZ1ZEM1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMlJ2WTNWdFpXNTBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCd1lYSmxiblF1YzNSaGNuUTdYRzRnSUNBZ0lDQWdJR05oYzJVZ0oySnNiMk5yTFcxaGNDYzZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdsMElEMGdjR0Z5Wlc1MExtbDBaVzF6VzNCaGNtVnVkQzVwZEdWdGN5NXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGRDNXpaWEFnUHo4Z2FYUXVjM1JoY25RN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMkZ6WlNBbllteHZZMnN0YzJWeEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ3WVhKbGJuUXVhWFJsYlhOYmNHRnlaVzUwTG1sMFpXMXpMbXhsYm1kMGFDQXRJREZkTG5OMFlYSjBPMXh1SUNBZ0lDQWdJQ0F2S2lCcGMzUmhibUoxYkNCcFoyNXZjbVVnYm1WNGRDQnphRzkxYkdRZ2JtOTBJR2hoY0hCbGJpQXFMMXh1SUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0ZE8xeHVJQ0FnSUgxY2JuMWNiaThxS2lCT2IzUmxPaUJOWVhrZ2JXOWthV1o1SUdsdWNIVjBJR0Z5Y21GNUlDb3ZYRzVtZFc1amRHbHZiaUJuWlhSR2FYSnpkRXRsZVZOMFlYSjBVSEp2Y0hNb2NISmxkaWtnZTF4dUlDQWdJR2xtSUNod2NtVjJMbXhsYm1kMGFDQTlQVDBnTUNsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0ZE8xeHVJQ0FnSUd4bGRDQnBJRDBnY0hKbGRpNXNaVzVuZEdnN1hHNGdJQ0FnYkc5dmNEb2dkMmhwYkdVZ0tDMHRhU0ErUFNBd0tTQjdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9jSEpsZGx0cFhTNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGtiMk10YzNSaGNuUW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWlhod2JHbGphWFF0YTJWNUxXbHVaQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkdFlYQXRkbUZzZFdVdGFXNWtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjNObGNTMXBkR1Z0TFdsdVpDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R1Wlhkc2FXNWxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF5QnNiMjl3TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSGRvYVd4bElDaHdjbVYyV3lzcmFWMC9MblI1Y0dVZ1BUMDlJQ2R6Y0dGalpTY3BJSHRjYmlBZ0lDQWdJQ0FnTHlvZ2JHOXZjQ0FxTDF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NISmxkaTV6Y0d4cFkyVW9hU3dnY0hKbGRpNXNaVzVuZEdncE8xeHVmVnh1Wm5WdVkzUnBiMjRnWm1sNFJteHZkMU5sY1VsMFpXMXpLR1pqS1NCN1hHNGdJQ0FnYVdZZ0tHWmpMbk4wWVhKMExuUjVjR1VnUFQwOUlDZG1iRzkzTFhObGNTMXpkR0Z5ZENjcElIdGNiaUFnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0JwZENCdlppQm1ZeTVwZEdWdGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2wwTG5ObGNDQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0ZwZEM1MllXeDFaU0FtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNGcGJtTnNkV1JsYzFSdmEyVnVLR2wwTG5OMFlYSjBMQ0FuWlhod2JHbGphWFF0YTJWNUxXbHVaQ2NwSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lXbHVZMngxWkdWelZHOXJaVzRvYVhRdWMyVndMQ0FuYldGd0xYWmhiSFZsTFdsdVpDY3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbDBMbXRsZVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWFF1ZG1Gc2RXVWdQU0JwZEM1clpYazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWlhSbElHbDBMbXRsZVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWE5HYkc5M1ZHOXJaVzRvYVhRdWRtRnNkV1VwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGRDNTJZV3gxWlM1bGJtUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdWNIVnphQzVoY0hCc2VTaHBkQzUyWVd4MVpTNWxibVFzSUdsMExuTmxjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG5aaGJIVmxMbVZ1WkNBOUlHbDBMbk5sY0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCQmNuSmhlUzV3Y205MGIzUjVjR1V1Y0hWemFDNWhjSEJzZVNocGRDNXpkR0Z5ZEN3Z2FYUXVjMlZ3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXeGxkR1VnYVhRdWMyVndPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVmVnh1THlvcVhHNGdLaUJCSUZsQlRVd2dZMjl1WTNKbGRHVWdjM2x1ZEdGNElIUnlaV1VnS0VOVFZDa2djR0Z5YzJWeVhHNGdLbHh1SUNvZ1lHQmdkSE5jYmlBcUlHTnZibk4wSUhOeVl6b2djM1J5YVc1bklEMGdMaTR1WEc0Z0tpQm1iM0lnS0dOdmJuTjBJSFJ2YTJWdUlHOW1JRzVsZHlCUVlYSnpaWElvS1M1d1lYSnpaU2h6Y21NcEtTQjdYRzRnS2lBZ0lDOHZJSFJ2YTJWdU9pQlViMnRsYmx4dUlDb2dmVnh1SUNvZ1lHQmdYRzRnS2x4dUlDb2dWRzhnZFhObElIUm9aU0J3WVhKelpYSWdkMmwwYUNCaElIVnpaWEl0Y0hKdmRtbGtaV1FnYkdWNFpYSTZYRzRnS2x4dUlDb2dZR0JnZEhOY2JpQXFJR1oxYm1OMGFXOXVLaUJ3WVhKelpTaHpiM1Z5WTJVNklITjBjbWx1Wnl3Z2JHVjRaWEk2SUV4bGVHVnlLU0I3WEc0Z0tpQWdJR052Ym5OMElIQmhjbk5sY2lBOUlHNWxkeUJRWVhKelpYSW9LVnh1SUNvZ0lDQm1iM0lnS0dOdmJuTjBJR3hsZUdWdFpTQnZaaUJzWlhobGNpNXNaWGdvYzI5MWNtTmxLU2xjYmlBcUlDQWdJQ0I1YVdWc1pDb2djR0Z5YzJWeUxtNWxlSFFvYkdWNFpXMWxLVnh1SUNvZ0lDQjVhV1ZzWkNvZ2NHRnljMlZ5TG1WdVpDZ3BYRzRnS2lCOVhHNGdLbHh1SUNvZ1kyOXVjM1FnYzNKak9pQnpkSEpwYm1jZ1BTQXVMaTVjYmlBcUlHTnZibk4wSUd4bGVHVnlJRDBnYm1WM0lFeGxlR1Z5S0NsY2JpQXFJR1p2Y2lBb1kyOXVjM1FnZEc5clpXNGdiMllnY0dGeWMyVW9jM0pqTENCc1pYaGxjaWtwSUh0Y2JpQXFJQ0FnTHk4Z2RHOXJaVzQ2SUZSdmEyVnVYRzRnS2lCOVhHNGdLaUJnWUdCY2JpQXFMMXh1WTJ4aGMzTWdVR0Z5YzJWeUlIdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2IyNU9aWGRNYVc1bElDMGdTV1lnWkdWbWFXNWxaQ3dnWTJGc2JHVmtJSE5sY0dGeVlYUmxiSGtnZDJsMGFDQjBhR1VnYzNSaGNuUWdjRzl6YVhScGIyNGdiMlpjYmlBZ0lDQWdLaUFnSUdWaFkyZ2dibVYzSUd4cGJtVWdLR2x1SUdCd1lYSnpaU2dwWUN3Z2FXNWpiSFZrYVc1bklIUm9aU0J6ZEdGeWRDQnZaaUJwYm5CMWRDa3VYRzRnSUNBZ0lDb3ZYRzRnSUNBZ1kyOXVjM1J5ZFdOMGIzSW9iMjVPWlhkTWFXNWxLU0I3WEc0Z0lDQWdJQ0FnSUM4cUtpQkpaaUIwY25WbExDQnpjR0ZqWlNCaGJtUWdjMlZ4ZFdWdVkyVWdhVzVrYVdOaGRHOXljeUJqYjNWdWRDQmhjeUJwYm1SbGJuUmhkR2x2YmlBcUwxeHVJQ0FnSUNBZ0lDQjBhR2x6TG1GMFRtVjNUR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUM4cUtpQkpaaUIwY25WbExDQnVaWGgwSUhSdmEyVnVJR2x6SUdFZ2MyTmhiR0Z5SUhaaGJIVmxJQ292WEc0Z0lDQWdJQ0FnSUhSb2FYTXVZWFJUWTJGc1lYSWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdMeW9xSUVOMWNuSmxiblFnYVc1a1pXNTBZWFJwYjI0Z2JHVjJaV3dnS2k5Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVwYm1SbGJuUWdQU0F3TzF4dUlDQWdJQ0FnSUNBdktpb2dRM1Z5Y21WdWRDQnZabVp6WlhRZ2MybHVZMlVnZEdobElITjBZWEowSUc5bUlIQmhjbk5wYm1jZ0tpOWNiaUFnSUNBZ0lDQWdkR2hwY3k1dlptWnpaWFFnUFNBd08xeHVJQ0FnSUNBZ0lDQXZLaW9nVDI0Z2RHaGxJSE5oYldVZ2JHbHVaU0IzYVhSb0lHRWdZbXh2WTJzZ2JXRndJR3RsZVNBcUwxeHVJQ0FnSUNBZ0lDQjBhR2x6TG05dVMyVjVUR2x1WlNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBdktpb2dWRzl3SUdsdVpHbGpZWFJsY3lCMGFHVWdibTlrWlNCMGFHRjBKM01nWTNWeWNtVnVkR3g1SUdKbGFXNW5JR0oxYVd4MElDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdWMzUmhZMnNnUFNCYlhUdGNiaUFnSUNBZ0lDQWdMeW9xSUZSb1pTQnpiM1Z5WTJVZ2IyWWdkR2hsSUdOMWNuSmxiblFnZEc5clpXNHNJSE5sZENCcGJpQndZWEp6WlNncElDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdWMyOTFjbU5sSUQwZ0p5YzdYRzRnSUNBZ0lDQWdJQzhxS2lCVWFHVWdkSGx3WlNCdlppQjBhR1VnWTNWeWNtVnVkQ0IwYjJ0bGJpd2djMlYwSUdsdUlIQmhjbk5sS0NrZ0tpOWNiaUFnSUNBZ0lDQWdkR2hwY3k1MGVYQmxJRDBnSnljN1hHNGdJQ0FnSUNBZ0lDOHZJRTExYzNRZ1ltVWdaR1ZtYVc1bFpDQmhablJsY2lCZ2JtVjRkQ2dwWUZ4dUlDQWdJQ0FnSUNCMGFHbHpMbXhsZUdWeUlEMGdibVYzSUV4bGVHVnlLQ2s3WEc0Z0lDQWdJQ0FnSUhSb2FYTXViMjVPWlhkTWFXNWxJRDBnYjI1T1pYZE1hVzVsTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJRWVhKelpTQmdjMjkxY21ObFlDQmhjeUJoSUZsQlRVd2djM1J5WldGdExseHVJQ0FnSUNBcUlFbG1JR0JwYm1OdmJYQnNaWFJsWUN3Z1lTQndZWEowSUc5bUlIUm9aU0JzWVhOMElHeHBibVVnYldGNUlHSmxJR3hsWm5RZ1lYTWdZU0JpZFdabVpYSWdabTl5SUhSb1pTQnVaWGgwSUdOaGJHd3VYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQkZjbkp2Y25NZ1lYSmxJRzV2ZENCMGFISnZkMjRzSUdKMWRDQjVhV1ZzWkdWa0lHRnpJR0I3SUhSNWNHVTZJQ2RsY25KdmNpY3NJRzFsYzNOaFoyVWdmV0FnZEc5clpXNXpMbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdRU0JuWlc1bGNtRjBiM0lnYjJZZ2RHOXJaVzV6SUhKbGNISmxjMlZ1ZEdsdVp5QmxZV05vSUdScGNtVmpkR2wyWlN3Z1pHOWpkVzFsYm5Rc0lHRnVaQ0J2ZEdobGNpQnpkSEoxWTNSMWNtVXVYRzRnSUNBZ0lDb3ZYRzRnSUNBZ0tuQmhjbk5sS0hOdmRYSmpaU3dnYVc1amIyMXdiR1YwWlNBOUlHWmhiSE5sS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtOXVUbVYzVEdsdVpTQW1KaUIwYUdsekxtOW1abk5sZENBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YjI1T1pYZE1hVzVsS0RBcE8xeHVJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJR3hsZUdWdFpTQnZaaUIwYUdsekxteGxlR1Z5TG14bGVDaHpiM1Z5WTJVc0lHbHVZMjl0Y0d4bGRHVXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVibVY0ZENoc1pYaGxiV1VwTzF4dUlDQWdJQ0FnSUNCcFppQW9JV2x1WTI5dGNHeGxkR1VwWEc0Z0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTVsYm1Rb0tUdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FXUjJZVzVqWlNCMGFHVWdjR0Z5YzJWeUlHSjVJSFJvWlNCZ2MyOTFjbU5sWUNCdlppQnZibVVnYkdWNGFXTmhiQ0IwYjJ0bGJpNWNiaUFnSUNBZ0tpOWNiaUFnSUNBcWJtVjRkQ2h6YjNWeVkyVXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXpiM1Z5WTJVZ1BTQnpiM1Z5WTJVN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtRjBVMk5oYkdGeUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbUYwVTJOaGJHRnlJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXpkR1Z3S0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOW1abk5sZENBclBTQnpiM1Z5WTJVdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR052Ym5OMElIUjVjR1VnUFNCMGIydGxibFI1Y0dVb2MyOTFjbU5sS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0YwZVhCbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnWUU1dmRDQmhJRmxCVFV3Z2RHOXJaVzQ2SUNSN2MyOTFjbU5sZldBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2IzQW9leUIwZVhCbE9pQW5aWEp5YjNJbkxDQnZabVp6WlhRNklIUm9hWE11YjJabWMyVjBMQ0J0WlhOellXZGxMQ0J6YjNWeVkyVWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05bVpuTmxkQ0FyUFNCemIzVnlZMlV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hSNWNHVWdQVDA5SUNkelkyRnNZWEluS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtRjBUbVYzVEdsdVpTQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWhkRk5qWVd4aGNpQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuUjVjR1VnUFNBbmMyTmhiR0Z5Snp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRIbHdaU0E5SUhSNWNHVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXpkR1Z3S0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSFI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkdVpYZHNhVzVsSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1aGRFNWxkMHhwYm1VZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1sdVpHVnVkQ0E5SURBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbTl1VG1WM1RHbHVaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWIyNU9aWGRNYVc1bEtIUm9hWE11YjJabWMyVjBJQ3NnYzI5MWNtTmxMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozTndZV05sSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSb2FYTXVZWFJPWlhkTWFXNWxJQ1ltSUhOdmRYSmpaVnN3WFNBOVBUMGdKeUFuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXBibVJsYm5RZ0t6MGdjMjkxY21ObExteGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWlhod2JHbGphWFF0YTJWNUxXbHVaQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5iV0Z3TFhaaGJIVmxMV2x1WkNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYzJWeExXbDBaVzB0YVc1a0p6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WVhST1pYZE1hVzVsS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXBibVJsYm5RZ0t6MGdjMjkxY21ObExteGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWkc5akxXMXZaR1VuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMlpzYjNjdFpYSnliM0l0Wlc1a0p6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVZWFJPWlhkTWFXNWxJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOW1abk5sZENBclBTQnpiM1Z5WTJVdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJQzhxS2lCRFlXeHNJR0YwSUdWdVpDQnZaaUJwYm5CMWRDQjBieUJ3ZFhOb0lHOTFkQ0JoYm5rZ2NtVnRZV2x1YVc1bklHTnZibk4wY25WamRHbHZibk1nS2k5Y2JpQWdJQ0FxWlc1a0tDa2dlMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9kR2hwY3k1emRHRmpheTVzWlc1bmRHZ2dQaUF3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0c5d0tDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdkbGRDQnpiM1Z5WTJWVWIydGxiaWdwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYzNRZ1BTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxPaUIwYUdsekxuUjVjR1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklIUm9hWE11YjJabWMyVjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNWtaVzUwT2lCMGFHbHpMbWx1WkdWdWRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUhOdmRYSmpaVG9nZEdocGN5NXpiM1Z5WTJWY2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITjBPMXh1SUNBZ0lIMWNiaUFnSUNBcWMzUmxjQ2dwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZEc5d0lEMGdkR2hwY3k1d1pXVnJLREVwTzF4dUlDQWdJQ0FnSUNCcFppQW9kR2hwY3k1MGVYQmxJRDA5UFNBblpHOWpMV1Z1WkNjZ0ppWWdLQ0YwYjNBZ2ZId2dkRzl3TG5SNWNHVWdJVDA5SUNka2IyTXRaVzVrSnlrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhkb2FXeGxJQ2gwYUdsekxuTjBZV05yTG14bGJtZDBhQ0ErSURBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjRzl3S0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuTjBZV05yTG5CMWMyZ29lMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklDZGtiMk10Wlc1a0p5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklIUm9hWE11YjJabWMyVjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE52ZFhKalpUb2dkR2hwY3k1emIzVnlZMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHbG1JQ2doZEc5d0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGxwWld4a0tpQjBhR2x6TG5OMGNtVmhiU2dwTzF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hSdmNDNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGtiMk4xYldWdWRDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIbHBaV3hrS2lCMGFHbHpMbVJ2WTNWdFpXNTBLSFJ2Y0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGhiR2xoY3ljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHpZMkZzWVhJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5jMmx1WjJ4bExYRjFiM1JsWkMxelkyRnNZWEluT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblpHOTFZbXhsTFhGMWIzUmxaQzF6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjVhV1ZzWkNvZ2RHaHBjeTV6WTJGc1lYSW9kRzl3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oySnNiMk5yTFhOallXeGhjaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGxwWld4a0tpQjBhR2x6TG1Kc2IyTnJVMk5oYkdGeUtIUnZjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkaWJHOWpheTF0WVhBbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NWliRzlqYTAxaGNDaDBiM0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbllteHZZMnN0YzJWeEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVZbXh2WTJ0VFpYRjFaVzVqWlNoMGIzQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWm14dmR5MWpiMnhzWldOMGFXOXVKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Wm14dmQwTnZiR3hsWTNScGIyNG9kRzl3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyUnZZeTFsYm1Rbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NWtiMk4xYldWdWRFVnVaQ2gwYjNBcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQzhxSUdsemRHRnVZblZzSUdsbmJtOXlaU0J1WlhoMElITm9iM1ZzWkNCdWIzUWdhR0Z3Y0dWdUlDb3ZYRzRnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CdmNDZ3BPMXh1SUNBZ0lIMWNiaUFnSUNCd1pXVnJLRzRwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1JoWTJ0YmRHaHBjeTV6ZEdGamF5NXNaVzVuZEdnZ0xTQnVYVHRjYmlBZ0lDQjlYRzRnSUNBZ0tuQnZjQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjBiMnRsYmlBOUlHVnljbTl5SUQ4L0lIUm9hWE11YzNSaFkyc3VjRzl3S0NrN1hHNGdJQ0FnSUNBZ0lDOHFJR2x6ZEdGdVluVnNJR2xuYm05eVpTQnBaaUJ6YUc5MWJHUWdibTkwSUdoaGNIQmxiaUFxTDF4dUlDQWdJQ0FnSUNCcFppQW9JWFJ2YTJWdUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnSjFSeWFXVmtJSFJ2SUhCdmNDQmhiaUJsYlhCMGVTQnpkR0ZqYXljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDQjdJSFI1Y0dVNklDZGxjbkp2Y2ljc0lHOW1abk5sZERvZ2RHaHBjeTV2Wm1aelpYUXNJSE52ZFhKalpUb2dKeWNzSUcxbGMzTmhaMlVnZlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaDBhR2x6TG5OMFlXTnJMbXhsYm1kMGFDQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUWdkRzlyWlc0N1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQjBiM0FnUFNCMGFHbHpMbkJsWldzb01TazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kRzlyWlc0dWRIbHdaU0E5UFQwZ0oySnNiMk5yTFhOallXeGhjaWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QkNiRzlqYXlCelkyRnNZWEp6SUhWelpTQjBhR1ZwY2lCd1lYSmxiblFnY21GMGFHVnlJSFJvWVc0Z2FHVmhaR1Z5SUdsdVpHVnVkRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJ2YTJWdUxtbHVaR1Z1ZENBOUlDZHBibVJsYm5RbklHbHVJSFJ2Y0NBL0lIUnZjQzVwYm1SbGJuUWdPaUF3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2RHOXJaVzR1ZEhsd1pTQTlQVDBnSjJac2IzY3RZMjlzYkdWamRHbHZiaWNnSmlZZ2RHOXdMblI1Y0dVZ1BUMDlJQ2RrYjJOMWJXVnVkQ2NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QkpaMjV2Y21VZ1lXeHNJR2x1WkdWdWRDQm1iM0lnZEc5d0xXeGxkbVZzSUdac2IzY2dZMjlzYkdWamRHbHZibk5jYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYjJ0bGJpNXBibVJsYm5RZ1BTQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUnZhMlZ1TG5SNWNHVWdQVDA5SUNkbWJHOTNMV052Ykd4bFkzUnBiMjRuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdacGVFWnNiM2RUWlhGSmRHVnRjeWgwYjJ0bGJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCemQybDBZMmdnS0hSdmNDNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWkc5amRXMWxiblFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBiM0F1ZG1Gc2RXVWdQU0IwYjJ0bGJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbllteHZZMnN0YzJOaGJHRnlKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHOXdMbkJ5YjNCekxuQjFjMmdvZEc5clpXNHBPeUF2THlCbGNuSnZjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGliRzlqYXkxdFlYQW5PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdsMElEMGdkRzl3TG1sMFpXMXpXM1J2Y0M1cGRHVnRjeTVzWlc1bmRHZ2dMU0F4WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsMExuWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGIzQXVhWFJsYlhNdWNIVnphQ2g3SUhOMFlYSjBPaUJiWFN3Z2EyVjVPaUIwYjJ0bGJpd2djMlZ3T2lCYlhTQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWIyNUxaWGxNYVc1bElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hwZEM1elpYQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG5aaGJIVmxJRDBnZEc5clpXNDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCUFltcGxZM1F1WVhOemFXZHVLR2wwTENCN0lHdGxlVG9nZEc5clpXNHNJSE5sY0RvZ1cxMGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOXVTMlY1VEdsdVpTQTlJQ0ZwZEM1bGVIQnNhV05wZEV0bGVUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZbXh2WTJzdGMyVnhKem9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCcGRDQTlJSFJ2Y0M1cGRHVnRjMXQwYjNBdWFYUmxiWE11YkdWdVozUm9JQzBnTVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGRDNTJZV3gxWlNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSdmNDNXBkR1Z0Y3k1d2RYTm9LSHNnYzNSaGNuUTZJRnRkTENCMllXeDFaVG9nZEc5clpXNGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG5aaGJIVmxJRDBnZEc5clpXNDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZG1iRzkzTFdOdmJHeGxZM1JwYjI0bk9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR2wwSUQwZ2RHOXdMbWwwWlcxelczUnZjQzVwZEdWdGN5NXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZwZENCOGZDQnBkQzUyWVd4MVpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnZjQzVwZEdWdGN5NXdkWE5vS0hzZ2MzUmhjblE2SUZ0ZExDQnJaWGs2SUhSdmEyVnVMQ0J6WlhBNklGdGRJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHBkQzV6WlhBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRDNTJZV3gxWlNBOUlIUnZhMlZ1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JQWW1wbFkzUXVZWE56YVdkdUtHbDBMQ0I3SUd0bGVUb2dkRzlyWlc0c0lITmxjRG9nVzEwZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHlvZ2FYTjBZVzVpZFd3Z2FXZHViM0psSUc1bGVIUWdjMmh2ZFd4a0lHNXZkQ0JvWVhCd1pXNGdLaTljYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdiM0FvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0c5d0tIUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2dvZEc5d0xuUjVjR1VnUFQwOUlDZGtiMk4xYldWdWRDY2dmSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYjNBdWRIbHdaU0E5UFQwZ0oySnNiMk5yTFcxaGNDY2dmSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYjNBdWRIbHdaU0E5UFQwZ0oySnNiMk5yTFhObGNTY3BJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS0hSdmEyVnVMblI1Y0dVZ1BUMDlJQ2RpYkc5amF5MXRZWEFuSUh4OElIUnZhMlZ1TG5SNWNHVWdQVDA5SUNkaWJHOWpheTF6WlhFbktTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeGhjM1FnUFNCMGIydGxiaTVwZEdWdGMxdDBiMnRsYmk1cGRHVnRjeTVzWlc1bmRHZ2dMU0F4WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iR0Z6ZENBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FoYkdGemRDNXpaWEFnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJV3hoYzNRdWRtRnNkV1VnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR0Z6ZEM1emRHRnlkQzVzWlc1bmRHZ2dQaUF3SUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1pwYm1ST2IyNUZiWEIwZVVsdVpHVjRLR3hoYzNRdWMzUmhjblFwSUQwOVBTQXRNU0FtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9kRzlyWlc0dWFXNWtaVzUwSUQwOVBTQXdJSHg4WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWVhOMExuTjBZWEowTG1WMlpYSjVLSE4wSUQwK0lITjBMblI1Y0dVZ0lUMDlJQ2RqYjIxdFpXNTBKeUI4ZkNCemRDNXBibVJsYm5RZ1BDQjBiMnRsYmk1cGJtUmxiblFwS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RHOXdMblI1Y0dVZ1BUMDlJQ2RrYjJOMWJXVnVkQ2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYjNBdVpXNWtJRDBnYkdGemRDNXpkR0Z5ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEc5d0xtbDBaVzF6TG5CMWMyZ29leUJ6ZEdGeWREb2diR0Z6ZEM1emRHRnlkQ0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkRzlyWlc0dWFYUmxiWE11YzNCc2FXTmxLQzB4TENBeEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnS25OMGNtVmhiU2dwSUh0Y2JpQWdJQ0FnSUNBZ2MzZHBkR05vSUNoMGFHbHpMblI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMlJwY21WamRHbDJaUzFzYVc1bEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNCN0lIUjVjR1U2SUNka2FYSmxZM1JwZG1VbkxDQnZabVp6WlhRNklIUm9hWE11YjJabWMyVjBMQ0J6YjNWeVkyVTZJSFJvYVhNdWMyOTFjbU5sSUgwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbllubDBaUzF2Y21SbGNpMXRZWEpySnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozTndZV05sSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyTnZiVzFsYm5Rbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ibVYzYkdsdVpTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRZ2RHaHBjeTV6YjNWeVkyVlViMnRsYmp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNka2IyTXRiVzlrWlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGtiMk10YzNSaGNuUW5PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaRzlqSUQwZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQW5aRzlqZFcxbGJuUW5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFE2SUhSb2FYTXViMlptYzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEdGeWREb2dXMTFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG5SNWNHVWdQVDA5SUNka2IyTXRjM1JoY25RbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrYjJNdWMzUmhjblF1Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5OMFlXTnJMbkIxYzJnb1pHOWpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdlV2xsYkdRZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUb2dKMlZ5Y205eUp5eGNiaUFnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkRG9nZEdocGN5NXZabVp6WlhRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J0WlhOellXZGxPaUJnVlc1bGVIQmxZM1JsWkNBa2UzUm9hWE11ZEhsd1pYMGdkRzlyWlc0Z2FXNGdXVUZOVENCemRISmxZVzFnTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjMjkxY21ObE9pQjBhR2x6TG5OdmRYSmpaVnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmlBZ0lDQXFaRzlqZFcxbGJuUW9aRzlqS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hrYjJNdWRtRnNkV1VwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXViR2x1WlVWdVpDaGtiMk1wTzF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hSb2FYTXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aRzlqTFhOMFlYSjBKem9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaG1hVzVrVG05dVJXMXdkSGxKYm1SbGVDaGtiMk11YzNSaGNuUXBJQ0U5UFNBdE1Ta2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdiM0FvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11YzNSbGNDZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1J2WXk1emRHRnlkQzV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJGdVkyaHZjaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkMFlXY25PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYzNCaFkyVW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWTI5dGJXVnVkQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkdVpYZHNhVzVsSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2IyTXVjM1JoY25RdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZbllnUFNCMGFHbHpMbk4wWVhKMFFteHZZMnRXWVd4MVpTaGtiMk1wTzF4dUlDQWdJQ0FnSUNCcFppQW9ZbllwWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5OMFlXTnJMbkIxYzJnb1luWXBPMXh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhscFpXeGtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQW5aWEp5YjNJbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOW1abk5sZERvZ2RHaHBjeTV2Wm1aelpYUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiV1Z6YzJGblpUb2dZRlZ1Wlhod1pXTjBaV1FnSkh0MGFHbHpMblI1Y0dWOUlIUnZhMlZ1SUdsdUlGbEJUVXdnWkc5amRXMWxiblJnTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOdmRYSmpaVG9nZEdocGN5NXpiM1Z5WTJWY2JpQWdJQ0FnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdLbk5qWVd4aGNpaHpZMkZzWVhJcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSb2FYTXVkSGx3WlNBOVBUMGdKMjFoY0MxMllXeDFaUzFwYm1RbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J3Y21WMklEMGdaMlYwVUhKbGRsQnliM0J6S0hSb2FYTXVjR1ZsYXlneUtTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6ZEdGeWRDQTlJR2RsZEVacGNuTjBTMlY1VTNSaGNuUlFjbTl3Y3lod2NtVjJLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J6WlhBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MyTmhiR0Z5TG1WdVpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5sY0NBOUlITmpZV3hoY2k1bGJtUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMlZ3TG5CMWMyZ29kR2hwY3k1emIzVnlZMlZVYjJ0bGJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWlhSbElITmpZV3hoY2k1bGJtUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MyVndJRDBnVzNSb2FYTXVjMjkxY21ObFZHOXJaVzVkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXRndJRDBnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSNWNHVTZJQ2RpYkc5amF5MXRZWEFuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkRG9nYzJOaGJHRnlMbTltWm5ObGRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibVJsYm5RNklITmpZV3hoY2k1cGJtUmxiblFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhSbGJYTTZJRnQ3SUhOMFlYSjBMQ0JyWlhrNklITmpZV3hoY2l3Z2MyVndJSDFkWEc0Z0lDQWdJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV2Ymt0bGVVeHBibVVnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV6ZEdGamExdDBhR2x6TG5OMFlXTnJMbXhsYm1kMGFDQXRJREZkSUQwZ2JXRndPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxteHBibVZGYm1Rb2MyTmhiR0Z5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdLbUpzYjJOclUyTmhiR0Z5S0hOallXeGhjaWtnZTF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hSb2FYTXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5jM0JoWTJVbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZMjl0YldWdWRDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R1Wlhkc2FXNWxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6WTJGc1lYSXVjSEp2Y0hNdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5qWVd4aGNpNXpiM1Z5WTJVZ1BTQjBhR2x6TG5OdmRYSmpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCaWJHOWpheTF6WTJGc1lYSWdjMjkxY21ObElHbHVZMngxWkdWeklIUnlZV2xzYVc1bklHNWxkMnhwYm1WY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbUYwVG1WM1RHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtUmxiblFnUFNBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtOXVUbVYzVEdsdVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdibXdnUFNCMGFHbHpMbk52ZFhKalpTNXBibVJsZUU5bUtDZGNYRzRuS1NBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhkb2FXeGxJQ2h1YkNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXZiazVsZDB4cGJtVW9kR2hwY3k1dlptWnpaWFFnS3lCdWJDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViQ0E5SUhSb2FYTXVjMjkxY21ObExtbHVaR1Y0VDJZb0oxeGNiaWNzSUc1c0tTQXJJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0c5d0tDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2S2lCcGMzUmhibUoxYkNCcFoyNXZjbVVnYm1WNGRDQnphRzkxYkdRZ2JtOTBJR2hoY0hCbGJpQXFMMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdiM0FvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXpkR1Z3S0NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnS21Kc2IyTnJUV0Z3S0cxaGNDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnBkQ0E5SUcxaGNDNXBkR1Z0YzF0dFlYQXVhWFJsYlhNdWJHVnVaM1JvSUMwZ01WMDdYRzRnSUNBZ0lDQWdJQzh2SUdsMExuTmxjQ0JwY3lCMGNuVmxMV2x6YUNCcFppQndZV2x5SUdGc2NtVmhaSGtnYUdGeklHdGxlU0J2Y2lBNklITmxjR0Z5WVhSdmNseHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIUm9hWE11ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYm1WM2JHbHVaU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXZia3RsZVV4cGJtVWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhRdWRtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pXNWtJRDBnSjJWdVpDY2dhVzRnYVhRdWRtRnNkV1VnUHlCcGRDNTJZV3gxWlM1bGJtUWdPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUd4aGMzUWdQU0JCY25KaGVTNXBjMEZ5Y21GNUtHVnVaQ2tnUHlCbGJtUmJaVzVrTG14bGJtZDBhQ0F0SURGZElEb2dkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iR0Z6ZEQ4dWRIbHdaU0E5UFQwZ0oyTnZiVzFsYm5RbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXNWtQeTV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdFlYQXVhWFJsYlhNdWNIVnphQ2g3SUhOMFlYSjBPaUJiZEdocGN5NXpiM1Z5WTJWVWIydGxibDBnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHbDBMbk5sY0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEM1elpYQXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBMbk4wWVhKMExuQjFjMmdvZEdocGN5NXpiM1Z5WTJWVWIydGxiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjNOd1lXTmxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJOdmJXMWxiblFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBkQzUyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdFlYQXVhWFJsYlhNdWNIVnphQ2g3SUhOMFlYSjBPaUJiZEdocGN5NXpiM1Z5WTJWVWIydGxibDBnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHbDBMbk5sY0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEM1elpYQXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtRjBTVzVrWlc1MFpXUkRiMjF0Wlc1MEtHbDBMbk4wWVhKMExDQnRZWEF1YVc1a1pXNTBLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjSEpsZGlBOUlHMWhjQzVwZEdWdGMxdHRZWEF1YVhSbGJYTXViR1Z1WjNSb0lDMGdNbDA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmxibVFnUFNCd2NtVjJQeTUyWVd4MVpUOHVaVzVrTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tFRnljbUY1TG1selFYSnlZWGtvWlc1a0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzV3ZFhOb0xtRndjR3g1S0dWdVpDd2dhWFF1YzNSaGNuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWdVpDNXdkWE5vS0hSb2FYTXVjMjkxY21ObFZHOXJaVzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhjQzVwZEdWdGN5NXdiM0FvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUXVjM1JoY25RdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1sdVpHVnVkQ0ErUFNCdFlYQXVhVzVrWlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JoZEUxaGNFbHVaR1Z1ZENBOUlDRjBhR2x6TG05dVMyVjVUR2x1WlNBbUppQjBhR2x6TG1sdVpHVnVkQ0E5UFQwZ2JXRndMbWx1WkdWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR0YwVG1WNGRFbDBaVzBnUFNCaGRFMWhjRWx1WkdWdWRDQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2hwZEM1elpYQWdmSHdnYVhRdVpYaHdiR2xqYVhSTFpYa3BJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTBlWEJsSUNFOVBTQW5jMlZ4TFdsMFpXMHRhVzVrSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVadmNpQmxiWEIwZVNCdWIyUmxjeXdnWVhOemFXZHVJRzVsZDJ4cGJtVXRjMlZ3WVhKaGRHVmtJRzV2ZENCcGJtUmxiblJsWkNCbGJYQjBlU0IwYjJ0bGJuTWdkRzhnWm05c2JHOTNhVzVuSUc1dlpHVmNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnpkR0Z5ZENBOUlGdGRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR0YwVG1WNGRFbDBaVzBnSmlZZ2FYUXVjMlZ3SUNZbUlDRnBkQzUyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHNXNJRDBnVzEwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnBkQzV6WlhBdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYzNRZ1BTQnBkQzV6WlhCYmFWMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOM2FYUmphQ0FvYzNRdWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ibVYzYkdsdVpTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm13dWNIVnphQ2hwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM053WVdObEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJOdmJXMWxiblFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h6ZEM1cGJtUmxiblFnUGlCdFlYQXVhVzVrWlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWJDNXNaVzVuZEdnZ1BTQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YkM1c1pXNW5kR2dnUFNBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHViQzVzWlc1bmRHZ2dQajBnTWlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM1JoY25RZ1BTQnBkQzV6WlhBdWMzQnNhV05sS0c1c1d6RmRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUhOM2FYUmphQ0FvZEdocGN5NTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWVc1amFHOXlKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZDBZV2NuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWVhST1pYaDBTWFJsYlNCOGZDQnBkQzUyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM1JoY25RdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoY0M1cGRHVnRjeTV3ZFhOb0tIc2djM1JoY25RZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05dVMyVjVUR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhRdWMyVndLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEM1elpYQXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG5OMFlYSjBMbkIxYzJnb2RHaHBjeTV6YjNWeVkyVlViMnRsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMlY0Y0d4cFkybDBMV3RsZVMxcGJtUW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV2wwTG5ObGNDQW1KaUFoYVhRdVpYaHdiR2xqYVhSTFpYa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG5OMFlYSjBMbkIxYzJnb2RHaHBjeTV6YjNWeVkyVlViMnRsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRDNWxlSEJzYVdOcGRFdGxlU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZWFJPWlhoMFNYUmxiU0I4ZkNCcGRDNTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblF1Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhjQzVwZEdWdGN5NXdkWE5vS0hzZ2MzUmhjblFzSUdWNGNHeHBZMmwwUzJWNU9pQjBjblZsSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkR0ZqYXk1d2RYTm9LSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxPaUFuWW14dlkyc3RiV0Z3Snl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklIUm9hWE11YjJabWMyVjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsdVpHVnVkRG9nZEdocGN5NXBibVJsYm5Rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWFJsYlhNNklGdDdJSE4wWVhKME9pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMHNJR1Y0Y0d4cFkybDBTMlY1T2lCMGNuVmxJSDFkWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbTl1UzJWNVRHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHRZWEF0ZG1Gc2RXVXRhVzVrSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsMExtVjRjR3hwWTJsMFMyVjVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXbDBMbk5sY0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGJtTnNkV1JsYzFSdmEyVnVLR2wwTG5OMFlYSjBMQ0FuYm1WM2JHbHVaU2NwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUU5aWFtVmpkQzVoYzNOcFoyNG9hWFFzSUhzZ2EyVjVPaUJ1ZFd4c0xDQnpaWEE2SUZ0MGFHbHpMbk52ZFhKalpWUnZhMlZ1WFNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjBZWEowSUQwZ1oyVjBSbWx5YzNSTFpYbFRkR0Z5ZEZCeWIzQnpLR2wwTG5OMFlYSjBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1emRHRmpheTV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklDZGliRzlqYXkxdFlYQW5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjJabWMyVjBPaUIwYUdsekxtOW1abk5sZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Z1ZERvZ2RHaHBjeTVwYm1SbGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEdWdGN6b2dXM3NnYzNSaGNuUXNJR3RsZVRvZ2JuVnNiQ3dnYzJWd09pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmVjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FYUXVkbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhBdWFYUmxiWE11Y0hWemFDaDdJSE4wWVhKME9pQmJYU3dnYTJWNU9pQnVkV3hzTENCelpYQTZJRnQwYUdsekxuTnZkWEpqWlZSdmEyVnVYU0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsdVkyeDFaR1Z6Vkc5clpXNG9hWFF1YzJWd0xDQW5iV0Z3TFhaaGJIVmxMV2x1WkNjcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkR0ZqYXk1d2RYTm9LSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ0oySnNiMk5yTFcxaGNDY3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOW1abk5sZERvZ2RHaHBjeTV2Wm1aelpYUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Z1ZERvZ2RHaHBjeTVwYm1SbGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBaVzF6T2lCYmV5QnpkR0Z5ZEN3Z2EyVjVPaUJ1ZFd4c0xDQnpaWEE2SUZ0MGFHbHpMbk52ZFhKalpWUnZhMlZ1WFNCOVhWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhOR2JHOTNWRzlyWlc0b2FYUXVhMlY1S1NBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0ZwYm1Oc2RXUmxjMVJ2YTJWdUtHbDBMbk5sY0N3Z0oyNWxkMnhwYm1VbktTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE4wWVhKMElEMGdaMlYwUm1seWMzUkxaWGxUZEdGeWRGQnliM0J6S0dsMExuTjBZWEowS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCclpYa2dQU0JwZEM1clpYazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjMlZ3SUQwZ2FYUXVjMlZ3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITmxjQzV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUVCMGN5MWxlSEJsWTNRdFpYSnliM0lnZEhsd1pTQm5kV0Z5WkNCcGN5QjNjbTl1WnlCb1pYSmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWc1pYUmxJR2wwTG10bGVUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCQWRITXRaWGh3WldOMExXVnljbTl5SUhSNWNHVWdaM1ZoY21RZ2FYTWdkM0p2Ym1jZ2FHVnlaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSbGJHVjBaU0JwZEM1elpYQTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkR0ZqYXk1d2RYTm9LSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ0oySnNiMk5yTFcxaGNDY3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOW1abk5sZERvZ2RHaHBjeTV2Wm1aelpYUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Z1ZERvZ2RHaHBjeTVwYm1SbGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBaVzF6T2lCYmV5QnpkR0Z5ZEN3Z2EyVjVMQ0J6WlhBZ2ZWMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hOMFlYSjBMbXhsYm1kMGFDQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJPYjNRZ1lXTjBkV0ZzYkhrZ1lYUWdibVY0ZENCcGRHVnRYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhRdWMyVndJRDBnYVhRdWMyVndMbU52Ym1OaGRDaHpkR0Z5ZEN3Z2RHaHBjeTV6YjNWeVkyVlViMnRsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRDNXpaWEF1Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hhWFF1YzJWd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnVDJKcVpXTjBMbUZ6YzJsbmJpaHBkQ3dnZXlCclpYazZJRzUxYkd3c0lITmxjRG9nVzNSb2FYTXVjMjkxY21ObFZHOXJaVzVkSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FYUXVkbUZzZFdVZ2ZId2dZWFJPWlhoMFNYUmxiU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhjQzVwZEdWdGN5NXdkWE5vS0hzZ2MzUmhjblFzSUd0bGVUb2diblZzYkN3Z2MyVndPaUJiZEdocGN5NXpiM1Z5WTJWVWIydGxibDBnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNocGJtTnNkV1JsYzFSdmEyVnVLR2wwTG5ObGNDd2dKMjFoY0MxMllXeDFaUzFwYm1RbktTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVjM1JoWTJzdWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklDZGliRzlqYXkxdFlYQW5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklIUm9hWE11YjJabWMyVjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibVJsYm5RNklIUm9hWE11YVc1a1pXNTBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkR1Z0Y3pvZ1czc2djM1JoY25RNklGdGRMQ0JyWlhrNklHNTFiR3dzSUhObGNEb2dXM1JvYVhNdWMyOTFjbU5sVkc5clpXNWRJSDFkWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkQzV6WlhBdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOXVTMlY1VEdsdVpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkaGJHbGhjeWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5jMk5oYkdGeUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkemFXNW5iR1V0Y1hWdmRHVmtMWE5qWVd4aGNpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblpHOTFZbXhsTFhGMWIzUmxaQzF6WTJGc1lYSW5PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdaeklEMGdkR2hwY3k1bWJHOTNVMk5oYkdGeUtIUm9hWE11ZEhsd1pTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGhkRTVsZUhSSmRHVnRJSHg4SUdsMExuWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdFlYQXVhWFJsYlhNdWNIVnphQ2g3SUhOMFlYSjBMQ0JyWlhrNklHWnpMQ0J6WlhBNklGdGRJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXZia3RsZVV4cGJtVWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHbDBMbk5sY0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV6ZEdGamF5NXdkWE5vS0daektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUU5aWFtVmpkQzVoYzNOcFoyNG9hWFFzSUhzZ2EyVjVPaUJtY3l3Z2MyVndPaUJiWFNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YjI1TFpYbE1hVzVsSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWW5ZZ1BTQjBhR2x6TG5OMFlYSjBRbXh2WTJ0V1lXeDFaU2h0WVhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1luWXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoaGRFMWhjRWx1WkdWdWRDQW1KaUJpZGk1MGVYQmxJQ0U5UFNBbllteHZZMnN0YzJWeEp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGNDNXBkR1Z0Y3k1d2RYTm9LSHNnYzNSaGNuUWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuTjBZV05yTG5CMWMyZ29ZbllwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIbHBaV3hrS2lCMGFHbHpMbkJ2Y0NncE8xeHVJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV6ZEdWd0tDazdYRzRnSUNBZ2ZWeHVJQ0FnSUNwaWJHOWphMU5sY1hWbGJtTmxLSE5sY1NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcGRDQTlJSE5sY1M1cGRHVnRjMXR6WlhFdWFYUmxiWE11YkdWdVozUm9JQzBnTVYwN1hHNGdJQ0FnSUNBZ0lITjNhWFJqYUNBb2RHaHBjeTUwZVhCbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R1Wlhkc2FXNWxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FYUXVkbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaVzVrSUQwZ0oyVnVaQ2NnYVc0Z2FYUXVkbUZzZFdVZ1B5QnBkQzUyWVd4MVpTNWxibVFnT2lCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeGhjM1FnUFNCQmNuSmhlUzVwYzBGeWNtRjVLR1Z1WkNrZ1B5QmxibVJiWlc1a0xteGxibWQwYUNBdElERmRJRG9nZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYkdGemREOHVkSGx3WlNBOVBUMGdKMk52YlcxbGJuUW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaVzVrUHk1d2RYTm9LSFJvYVhNdWMyOTFjbU5sVkc5clpXNHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpaWEV1YVhSbGJYTXVjSFZ6YUNoN0lITjBZWEowT2lCYmRHaHBjeTV6YjNWeVkyVlViMnRsYmwwZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWFF1YzNSaGNuUXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkemNHRmpaU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkamIyMXRaVzUwSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWFF1ZG1Gc2RXVXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhObGNTNXBkR1Z0Y3k1d2RYTm9LSHNnYzNSaGNuUTZJRnQwYUdsekxuTnZkWEpqWlZSdmEyVnVYU0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdVlYUkpibVJsYm5SbFpFTnZiVzFsYm5Rb2FYUXVjM1JoY25Rc0lITmxjUzVwYm1SbGJuUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQndjbVYySUQwZ2MyVnhMbWwwWlcxelczTmxjUzVwZEdWdGN5NXNaVzVuZEdnZ0xTQXlYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHVnVaQ0E5SUhCeVpYWS9MblpoYkhWbFB5NWxibVE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hsYm1RcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUVhKeVlYa3VjSEp2ZEc5MGVYQmxMbkIxYzJndVlYQndiSGtvWlc1a0xDQnBkQzV6ZEdGeWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWlc1a0xuQjFjMmdvZEdocGN5NXpiM1Z5WTJWVWIydGxiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MyVnhMbWwwWlcxekxuQnZjQ2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRDNXpkR0Z5ZEM1d2RYTm9LSFJvYVhNdWMyOTFjbU5sVkc5clpXNHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RoYm1Ob2IzSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuZEdGbkp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhRdWRtRnNkV1VnZkh3Z2RHaHBjeTVwYm1SbGJuUWdQRDBnYzJWeExtbHVaR1Z1ZENsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUXVjM1JoY25RdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R6WlhFdGFYUmxiUzFwYm1Rbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtbHVaR1Z1ZENBaFBUMGdjMlZ4TG1sdVpHVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbDBMblpoYkhWbElIeDhJR2x1WTJ4MVpHVnpWRzlyWlc0b2FYUXVjM1JoY25Rc0lDZHpaWEV0YVhSbGJTMXBibVFuS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMlZ4TG1sMFpXMXpMbkIxYzJnb2V5QnpkR0Z5ZERvZ1czUm9hWE11YzI5MWNtTmxWRzlyWlc1ZElIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWFF1YzNSaGNuUXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWFXNWtaVzUwSUQ0Z2MyVnhMbWx1WkdWdWRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWW5ZZ1BTQjBhR2x6TG5OMFlYSjBRbXh2WTJ0V1lXeDFaU2h6WlhFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHSjJLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkR0ZqYXk1d2RYTm9LR0oyS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZVdsbGJHUXFJSFJvYVhNdWNHOXdLQ2s3WEc0Z0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxuTjBaWEFvS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdLbVpzYjNkRGIyeHNaV04wYVc5dUtHWmpLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR2wwSUQwZ1ptTXVhWFJsYlhOYlptTXVhWFJsYlhNdWJHVnVaM1JvSUMwZ01WMDdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMblI1Y0dVZ1BUMDlJQ2RtYkc5M0xXVnljbTl5TFdWdVpDY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0IwYjNBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrYnlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjRzl3S0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHOXdJRDBnZEdocGN5NXdaV1ZyS0RFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCM2FHbHNaU0FvZEc5d0lDWW1JSFJ2Y0M1MGVYQmxJRDA5UFNBblpteHZkeTFqYjJ4c1pXTjBhVzl1SnlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9abU11Wlc1a0xteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM2RwZEdOb0lDaDBhR2x6TG5SNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGpiMjF0WVNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWlhod2JHbGphWFF0YTJWNUxXbHVaQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYVhRZ2ZId2dhWFF1YzJWd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptTXVhWFJsYlhNdWNIVnphQ2g3SUhOMFlYSjBPaUJiZEdocGN5NXpiM1Z5WTJWVWIydGxibDBnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsMExuTjBZWEowTG5CMWMyZ29kR2hwY3k1emIzVnlZMlZVYjJ0bGJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHRZWEF0ZG1Gc2RXVXRhVzVrSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGcGRDQjhmQ0JwZEM1MllXeDFaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1pqTG1sMFpXMXpMbkIxYzJnb2V5QnpkR0Z5ZERvZ1cxMHNJR3RsZVRvZ2JuVnNiQ3dnYzJWd09pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHbDBMbk5sY0NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsMExuTmxjQzV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCUFltcGxZM1F1WVhOemFXZHVLR2wwTENCN0lHdGxlVG9nYm5Wc2JDd2djMlZ3T2lCYmRHaHBjeTV6YjNWeVkyVlViMnRsYmwwZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHpjR0ZqWlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWTI5dGJXVnVkQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ibVYzYkdsdVpTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbllXNWphRzl5SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2QwWVdjbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXbDBJSHg4SUdsMExuWmhiSFZsS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm1NdWFYUmxiWE11Y0hWemFDaDdJSE4wWVhKME9pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHbDBMbk5sY0NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsMExuTmxjQzV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRDNXpkR0Z5ZEM1d2RYTm9LSFJvYVhNdWMyOTFjbU5sVkc5clpXNHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZV3hwWVhNbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjNOallXeGhjaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5jMmx1WjJ4bExYRjFiM1JsWkMxelkyRnNZWEluT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMlJ2ZFdKc1pTMXhkVzkwWldRdGMyTmhiR0Z5SnpvZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQm1jeUE5SUhSb2FYTXVabXh2ZDFOallXeGhjaWgwYUdsekxuUjVjR1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdsMElIeDhJR2wwTG5aaGJIVmxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabU11YVhSbGJYTXVjSFZ6YUNoN0lITjBZWEowT2lCYlhTd2dhMlY1T2lCbWN5d2djMlZ3T2lCYlhTQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FYUXVjMlZ3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkR0ZqYXk1d2RYTm9LR1p6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnVDJKcVpXTjBMbUZ6YzJsbmJpaHBkQ3dnZXlCclpYazZJR1p6TENCelpYQTZJRnRkSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyWnNiM2N0YldGd0xXVnVaQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5abXh2ZHkxelpYRXRaVzVrSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabU11Wlc1a0xuQjFjMmdvZEdocGN5NXpiM1Z5WTJWVWIydGxiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdKMklEMGdkR2hwY3k1emRHRnlkRUpzYjJOclZtRnNkV1VvWm1NcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnTHlvZ2FYTjBZVzVpZFd3Z2FXZHViM0psSUdWc2MyVWdjMmh2ZFd4a0lHNXZkQ0JvWVhCd1pXNGdLaTljYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hpZGlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk4wWVdOckxuQjFjMmdvWW5ZcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0c5d0tDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11YzNSbGNDZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjR0Z5Wlc1MElEMGdkR2hwY3k1d1pXVnJLRElwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hCaGNtVnVkQzUwZVhCbElEMDlQU0FuWW14dlkyc3RiV0Z3SnlBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDZ29kR2hwY3k1MGVYQmxJRDA5UFNBbmJXRndMWFpoYkhWbExXbHVaQ2NnSmlZZ2NHRnlaVzUwTG1sdVpHVnVkQ0E5UFQwZ1ptTXVhVzVrWlc1MEtTQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2RHaHBjeTUwZVhCbElEMDlQU0FuYm1WM2JHbHVaU2NnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNGd1lYSmxiblF1YVhSbGJYTmJjR0Z5Wlc1MExtbDBaVzF6TG14bGJtZDBhQ0F0SURGZExuTmxjQ2twS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjRzl3S0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjM1JsY0NncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9kR2hwY3k1MGVYQmxJRDA5UFNBbmJXRndMWFpoYkhWbExXbHVaQ2NnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lYSmxiblF1ZEhsd1pTQWhQVDBnSjJac2IzY3RZMjlzYkdWamRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J3Y21WMklEMGdaMlYwVUhKbGRsQnliM0J6S0hCaGNtVnVkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjM1JoY25RZ1BTQm5aWFJHYVhKemRFdGxlVk4wWVhKMFVISnZjSE1vY0hKbGRpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabWw0Um14dmQxTmxjVWwwWlcxektHWmpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnpaWEFnUFNCbVl5NWxibVF1YzNCc2FXTmxLREVzSUdaakxtVnVaQzVzWlc1bmRHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5sY0M1d2RYTm9LSFJvYVhNdWMyOTFjbU5sVkc5clpXNHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMWhjQ0E5SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ0oySnNiMk5yTFcxaGNDY3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkRG9nWm1NdWIyWm1jMlYwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibVJsYm5RNklHWmpMbWx1WkdWdWRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhSbGJYTTZJRnQ3SUhOMFlYSjBMQ0JyWlhrNklHWmpMQ0J6WlhBZ2ZWMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWIyNUxaWGxNYVc1bElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk4wWVdOclczUm9hWE11YzNSaFkyc3ViR1Z1WjNSb0lDMGdNVjBnUFNCdFlYQTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTVzYVc1bFJXNWtLR1pqS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQm1iRzkzVTJOaGJHRnlLSFI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSb2FYTXViMjVPWlhkTWFXNWxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnNaWFFnYm13Z1BTQjBhR2x6TG5OdmRYSmpaUzVwYm1SbGVFOW1LQ2RjWEc0bktTQXJJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb2Jtd2dJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05dVRtVjNUR2x1WlNoMGFHbHpMbTltWm5ObGRDQXJJRzVzS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWJDQTlJSFJvYVhNdWMyOTFjbU5sTG1sdVpHVjRUMllvSjF4Y2JpY3NJRzVzS1NBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVXNYRzRnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFE2SUhSb2FYTXViMlptYzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1a1pXNTBPaUIwYUdsekxtbHVaR1Z1ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSE52ZFhKalpUb2dkR2hwY3k1emIzVnlZMlZjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc0Z0lDQWdjM1JoY25SQ2JHOWphMVpoYkhWbEtIQmhjbVZ1ZENrZ2UxeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIUm9hWE11ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWVd4cFlYTW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYzJOaGJHRnlKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjNOcGJtZHNaUzF4ZFc5MFpXUXRjMk5oYkdGeUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMlJ2ZFdKc1pTMXhkVzkwWldRdGMyTmhiR0Z5SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NW1iRzkzVTJOaGJHRnlLSFJvYVhNdWRIbHdaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkaWJHOWpheTF6WTJGc1lYSXRhR1ZoWkdWeUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQW5ZbXh2WTJzdGMyTmhiR0Z5Snl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMlptYzJWME9pQjBhR2x6TG05bVpuTmxkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXNWtaVzUwT2lCMGFHbHpMbWx1WkdWdWRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKdmNITTZJRnQwYUdsekxuTnZkWEpqWlZSdmEyVnVYU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MyOTFjbU5sT2lBbkoxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RtYkc5M0xXMWhjQzF6ZEdGeWRDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RtYkc5M0xYTmxjUzF6ZEdGeWRDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUb2dKMlpzYjNjdFkyOXNiR1ZqZEdsdmJpY3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkRG9nZEdocGN5NXZabVp6WlhRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2x1WkdWdWREb2dkR2hwY3k1cGJtUmxiblFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBZWEowT2lCMGFHbHpMbk52ZFhKalpWUnZhMlZ1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkR1Z0Y3pvZ1cxMHNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWdVpEb2dXMTFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmMyVnhMV2wwWlcwdGFXNWtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxPaUFuWW14dlkyc3RjMlZ4Snl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMlptYzJWME9pQjBhR2x6TG05bVpuTmxkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXNWtaVzUwT2lCMGFHbHpMbWx1WkdWdWRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhSbGJYTTZJRnQ3SUhOMFlYSjBPaUJiZEdocGN5NXpiM1Z5WTJWVWIydGxibDBnZlYxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aWGh3YkdsamFYUXRhMlY1TFdsdVpDYzZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOXVTMlY1VEdsdVpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY0hKbGRpQTlJR2RsZEZCeVpYWlFjbTl3Y3lod1lYSmxiblFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE4wWVhKMElEMGdaMlYwUm1seWMzUkxaWGxUZEdGeWRGQnliM0J6S0hCeVpYWXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMExuQjFjMmdvZEdocGN5NXpiM1Z5WTJWVWIydGxiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nSjJKc2IyTnJMVzFoY0Njc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGREb2dkR2hwY3k1dlptWnpaWFFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Z1ZERvZ2RHaHBjeTVwYm1SbGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsMFpXMXpPaUJiZXlCemRHRnlkQ3dnWlhod2JHbGphWFJMWlhrNklIUnlkV1VnZlYxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmJXRndMWFpoYkhWbExXbHVaQ2M2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbTl1UzJWNVRHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2NISmxkaUE5SUdkbGRGQnlaWFpRY205d2N5aHdZWEpsYm5RcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBJRDBnWjJWMFJtbHljM1JMWlhsVGRHRnlkRkJ5YjNCektIQnlaWFlwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUNkaWJHOWpheTF0WVhBbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2Wm1aelpYUTZJSFJvYVhNdWIyWm1jMlYwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibVJsYm5RNklIUm9hWE11YVc1a1pXNTBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRHVnRjem9nVzNzZ2MzUmhjblFzSUd0bGVUb2diblZzYkN3Z2MyVndPaUJiZEdocGN5NXpiM1Z5WTJWVWIydGxibDBnZlYxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNiaUFnSUNCaGRFbHVaR1Z1ZEdWa1EyOXRiV1Z1ZENoemRHRnlkQ3dnYVc1a1pXNTBLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG5SNWNHVWdJVDA5SUNkamIyMXRaVzUwSnlsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWFXNWtaVzUwSUR3OUlHbHVaR1Z1ZENsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOMFlYSjBMbVYyWlhKNUtITjBJRDArSUhOMExuUjVjR1VnUFQwOUlDZHVaWGRzYVc1bEp5QjhmQ0J6ZEM1MGVYQmxJRDA5UFNBbmMzQmhZMlVuS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdLbVJ2WTNWdFpXNTBSVzVrS0dSdlkwVnVaQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9kR2hwY3k1MGVYQmxJQ0U5UFNBblpHOWpMVzF2WkdVbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aRzlqUlc1a0xtVnVaQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrYjJORmJtUXVaVzVrTG5CMWMyZ29kR2hwY3k1emIzVnlZMlZVYjJ0bGJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaRzlqUlc1a0xtVnVaQ0E5SUZ0MGFHbHpMbk52ZFhKalpWUnZhMlZ1WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMblI1Y0dVZ1BUMDlJQ2R1Wlhkc2FXNWxKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2IzQW9LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQXFiR2x1WlVWdVpDaDBiMnRsYmlrZ2UxeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIUm9hWE11ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWTI5dGJXRW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWkc5akxYTjBZWEowSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyUnZZeTFsYm1Rbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5abXh2ZHkxelpYRXRaVzVrSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyWnNiM2N0YldGd0xXVnVaQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkdFlYQXRkbUZzZFdVdGFXNWtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2IzQW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1emRHVndLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R1Wlhkc2FXNWxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOXVTMlY1VEdsdVpTQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ptRnNiSFJvY205MVoyaGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM053WVdObEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMk52YlcxbGJuUW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QmhiR3dnYjNSb1pYSWdkbUZzZFdWeklHRnlaU0JsY25KdmNuTmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEc5clpXNHVaVzVrS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBiMnRsYmk1bGJtUXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSdmEyVnVMbVZ1WkNBOUlGdDBhR2x6TG5OdmRYSmpaVlJ2YTJWdVhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NTBlWEJsSUQwOVBTQW5ibVYzYkdsdVpTY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxuQnZjQ2dwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dWZWeHVYRzVsZUhCdmNuUWdleUJRWVhKelpYSWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QkRiMjF3YjNObGNpQjlJR1p5YjIwZ0p5NHZZMjl0Y0c5elpTOWpiMjF3YjNObGNpNXFjeWM3WEc1cGJYQnZjblFnZXlCRWIyTjFiV1Z1ZENCOUlHWnliMjBnSnk0dlpHOWpMMFJ2WTNWdFpXNTBMbXB6Snp0Y2JtbHRjRzl5ZENCN0lIQnlaWFIwYVdaNVJYSnliM0lzSUZsQlRVeFFZWEp6WlVWeWNtOXlJSDBnWm5KdmJTQW5MaTlsY25KdmNuTXVhbk1uTzF4dWFXMXdiM0owSUhzZ2QyRnliaUI5SUdaeWIyMGdKeTR2Ykc5bkxtcHpKenRjYm1sdGNHOXlkQ0I3SUdselJHOWpkVzFsYm5RZ2ZTQm1jbTl0SUNjdUwyNXZaR1Z6TDJsa1pXNTBhWFI1TG1wekp6dGNibWx0Y0c5eWRDQjdJRXhwYm1WRGIzVnVkR1Z5SUgwZ1puSnZiU0FuTGk5d1lYSnpaUzlzYVc1bExXTnZkVzUwWlhJdWFuTW5PMXh1YVcxd2IzSjBJSHNnVUdGeWMyVnlJSDBnWm5KdmJTQW5MaTl3WVhKelpTOXdZWEp6WlhJdWFuTW5PMXh1WEc1bWRXNWpkR2x2YmlCd1lYSnpaVTl3ZEdsdmJuTW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHTnZibk4wSUhCeVpYUjBlVVZ5Y205eWN5QTlJRzl3ZEdsdmJuTXVjSEpsZEhSNVJYSnliM0p6SUNFOVBTQm1ZV3h6WlR0Y2JpQWdJQ0JqYjI1emRDQnNhVzVsUTI5MWJuUmxjaUE5SUc5d2RHbHZibk11YkdsdVpVTnZkVzUwWlhJZ2ZId2dLSEJ5WlhSMGVVVnljbTl5Y3lBbUppQnVaWGNnVEdsdVpVTnZkVzUwWlhJb0tTa2dmSHdnYm5Wc2JEdGNiaUFnSUNCeVpYUjFjbTRnZXlCc2FXNWxRMjkxYm5SbGNpd2djSEpsZEhSNVJYSnliM0p6SUgwN1hHNTlYRzR2S2lwY2JpQXFJRkJoY25ObElIUm9aU0JwYm5CMWRDQmhjeUJoSUhOMGNtVmhiU0J2WmlCWlFVMU1JR1J2WTNWdFpXNTBjeTVjYmlBcVhHNGdLaUJFYjJOMWJXVnVkSE1nYzJodmRXeGtJR0psSUhObGNHRnlZWFJsWkNCbWNtOXRJR1ZoWTJnZ2IzUm9aWElnWW5rZ1lDNHVMbUFnYjNJZ1lDMHRMV0FnYldGeWEyVnlJR3hwYm1WekxseHVJQ3BjYmlBcUlFQnlaWFIxY201eklFbG1JR0Z1SUdWdGNIUjVJR0JrYjJOellDQmhjbkpoZVNCcGN5QnlaWFIxY201bFpDd2dhWFFnZDJsc2JDQmlaU0J2WmlCMGVYQmxYRzRnS2lBZ0lFVnRjSFI1VTNSeVpXRnRJR0Z1WkNCamIyNTBZV2x1SUdGa1pHbDBhVzl1WVd3Z2MzUnlaV0Z0SUdsdVptOXliV0YwYVc5dUxpQkpibHh1SUNvZ0lDQlVlWEJsVTJOeWFYQjBMQ0I1YjNVZ2MyaHZkV3hrSUhWelpTQmdKMlZ0Y0hSNUp5QnBiaUJrYjJOellDQmhjeUJoSUhSNWNHVWdaM1ZoY21RZ1ptOXlJR2wwTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJ3WVhKelpVRnNiRVJ2WTNWdFpXNTBjeWh6YjNWeVkyVXNJRzl3ZEdsdmJuTWdQU0I3ZlNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkdsdVpVTnZkVzUwWlhJc0lIQnlaWFIwZVVWeWNtOXljeUI5SUQwZ2NHRnljMlZQY0hScGIyNXpLRzl3ZEdsdmJuTXBPMXh1SUNBZ0lHTnZibk4wSUhCaGNuTmxjaUE5SUc1bGR5QlFZWEp6WlhJb2JHbHVaVU52ZFc1MFpYSS9MbUZrWkU1bGQweHBibVVwTzF4dUlDQWdJR052Ym5OMElHTnZiWEJ2YzJWeUlEMGdibVYzSUVOdmJYQnZjMlZ5S0c5d2RHbHZibk1wTzF4dUlDQWdJR052Ym5OMElHUnZZM01nUFNCQmNuSmhlUzVtY205dEtHTnZiWEJ2YzJWeUxtTnZiWEJ2YzJVb2NHRnljMlZ5TG5CaGNuTmxLSE52ZFhKalpTa3BLVHRjYmlBZ0lDQnBaaUFvY0hKbGRIUjVSWEp5YjNKeklDWW1JR3hwYm1WRGIzVnVkR1Z5S1Z4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHUnZZeUJ2WmlCa2IyTnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtiMk11WlhKeWIzSnpMbVp2Y2tWaFkyZ29jSEpsZEhScFpubEZjbkp2Y2loemIzVnlZMlVzSUd4cGJtVkRiM1Z1ZEdWeUtTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCa2IyTXVkMkZ5Ym1sdVozTXVabTl5UldGamFDaHdjbVYwZEdsbWVVVnljbTl5S0hOdmRYSmpaU3dnYkdsdVpVTnZkVzUwWlhJcEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lHbG1JQ2hrYjJOekxteGxibWQwYUNBK0lEQXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtiMk56TzF4dUlDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdVlYTnphV2R1S0Z0ZExDQjdJR1Z0Y0hSNU9pQjBjblZsSUgwc0lHTnZiWEJ2YzJWeUxuTjBjbVZoYlVsdVptOG9LU2s3WEc1OVhHNHZLaW9nVUdGeWMyVWdZVzRnYVc1d2RYUWdjM1J5YVc1bklHbHVkRzhnWVNCemFXNW5iR1VnV1VGTlRDNUViMk4xYldWdWRDQXFMMXh1Wm5WdVkzUnBiMjRnY0dGeWMyVkViMk4xYldWdWRDaHpiM1Z5WTJVc0lHOXdkR2x2Ym5NZ1BTQjdmU2tnZTF4dUlDQWdJR052Ym5OMElIc2diR2x1WlVOdmRXNTBaWElzSUhCeVpYUjBlVVZ5Y205eWN5QjlJRDBnY0dGeWMyVlBjSFJwYjI1ektHOXdkR2x2Ym5NcE8xeHVJQ0FnSUdOdmJuTjBJSEJoY25ObGNpQTlJRzVsZHlCUVlYSnpaWElvYkdsdVpVTnZkVzUwWlhJL0xtRmtaRTVsZDB4cGJtVXBPMXh1SUNBZ0lHTnZibk4wSUdOdmJYQnZjMlZ5SUQwZ2JtVjNJRU52YlhCdmMyVnlLRzl3ZEdsdmJuTXBPMXh1SUNBZ0lDOHZJR0JrYjJOZ0lHbHpJR0ZzZDJGNWN5QnpaWFFnWW5rZ1kyOXRjRzl6WlM1bGJtUW9kSEoxWlNrZ1lYUWdkR2hsSUhabGNua2diR0YwWlhOMFhHNGdJQ0FnYkdWMElHUnZZeUE5SUc1MWJHdzdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQmZaRzlqSUc5bUlHTnZiWEJ2YzJWeUxtTnZiWEJ2YzJVb2NHRnljMlZ5TG5CaGNuTmxLSE52ZFhKalpTa3NJSFJ5ZFdVc0lITnZkWEpqWlM1c1pXNW5kR2dwS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doWkc5aktWeHVJQ0FnSUNBZ0lDQWdJQ0FnWkc5aklEMGdYMlJ2WXp0Y2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1pHOWpMbTl3ZEdsdmJuTXViRzluVEdWMlpXd2dJVDA5SUNkemFXeGxiblFuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrYjJNdVpYSnliM0p6TG5CMWMyZ29ibVYzSUZsQlRVeFFZWEp6WlVWeWNtOXlLRjlrYjJNdWNtRnVaMlV1YzJ4cFkyVW9NQ3dnTWlrc0lDZE5WVXhVU1ZCTVJWOUVUME5USnl3Z0oxTnZkWEpqWlNCamIyNTBZV2x1Y3lCdGRXeDBhWEJzWlNCa2IyTjFiV1Z1ZEhNN0lIQnNaV0Z6WlNCMWMyVWdXVUZOVEM1d1lYSnpaVUZzYkVSdlkzVnRaVzUwY3lncEp5a3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hCeVpYUjBlVVZ5Y205eWN5QW1KaUJzYVc1bFEyOTFiblJsY2lrZ2UxeHVJQ0FnSUNBZ0lDQmtiMk11WlhKeWIzSnpMbVp2Y2tWaFkyZ29jSEpsZEhScFpubEZjbkp2Y2loemIzVnlZMlVzSUd4cGJtVkRiM1Z1ZEdWeUtTazdYRzRnSUNBZ0lDQWdJR1J2WXk1M1lYSnVhVzVuY3k1bWIzSkZZV05vS0hCeVpYUjBhV1o1UlhKeWIzSW9jMjkxY21ObExDQnNhVzVsUTI5MWJuUmxjaWtwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1pHOWpPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NHRnljMlVvYzNKakxDQnlaWFpwZG1WeUxDQnZjSFJwYjI1ektTQjdYRzRnSUNBZ2JHVjBJRjl5WlhacGRtVnlJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnY21WMmFYWmxjaUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0JmY21WMmFYWmxjaUE5SUhKbGRtbDJaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnYVdZZ0tHOXdkR2x2Ym5NZ1BUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCeVpYWnBkbVZ5SUNZbUlIUjVjR1Z2WmlCeVpYWnBkbVZ5SUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdJQ0J2Y0hScGIyNXpJRDBnY21WMmFYWmxjanRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnWkc5aklEMGdjR0Z5YzJWRWIyTjFiV1Z1ZENoemNtTXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lHbG1JQ2doWkc5aktWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQmtiMk11ZDJGeWJtbHVaM011Wm05eVJXRmphQ2gzWVhKdWFXNW5JRDArSUhkaGNtNG9aRzlqTG05d2RHbHZibk11Ykc5blRHVjJaV3dzSUhkaGNtNXBibWNwS1R0Y2JpQWdJQ0JwWmlBb1pHOWpMbVZ5Y205eWN5NXNaVzVuZEdnZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaGtiMk11YjNCMGFXOXVjeTVzYjJkTVpYWmxiQ0FoUFQwZ0ozTnBiR1Z1ZENjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QmtiMk11WlhKeWIzSnpXekJkTzF4dUlDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNCa2IyTXVaWEp5YjNKeklEMGdXMTA3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCa2IyTXVkRzlLVXloUFltcGxZM1F1WVhOemFXZHVLSHNnY21WMmFYWmxjam9nWDNKbGRtbDJaWElnZlN3Z2IzQjBhVzl1Y3lrcE8xeHVmVnh1Wm5WdVkzUnBiMjRnYzNSeWFXNW5hV1o1S0haaGJIVmxMQ0J5WlhCc1lXTmxjaXdnYjNCMGFXOXVjeWtnZTF4dUlDQWdJR3hsZENCZmNtVndiR0ZqWlhJZ1BTQnVkV3hzTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnY21Wd2JHRmpaWElnUFQwOUlDZG1kVzVqZEdsdmJpY2dmSHdnUVhKeVlYa3VhWE5CY25KaGVTaHlaWEJzWVdObGNpa3BJSHRjYmlBZ0lDQWdJQ0FnWDNKbGNHeGhZMlZ5SUQwZ2NtVndiR0ZqWlhJN1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJVZ2FXWWdLRzl3ZEdsdmJuTWdQVDA5SUhWdVpHVm1hVzVsWkNBbUppQnlaWEJzWVdObGNpa2dlMXh1SUNBZ0lDQWdJQ0J2Y0hScGIyNXpJRDBnY21Wd2JHRmpaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5QTlQVDBnSjNOMGNtbHVaeWNwWEc0Z0lDQWdJQ0FnSUc5d2RHbHZibk1nUFNCdmNIUnBiMjV6TG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdsdVpHVnVkQ0E5SUUxaGRHZ3VjbTkxYm1Rb2IzQjBhVzl1Y3lrN1hHNGdJQ0FnSUNBZ0lHOXdkR2x2Ym5NZ1BTQnBibVJsYm5RZ1BDQXhJRDhnZFc1a1pXWnBibVZrSURvZ2FXNWtaVzUwSUQ0Z09DQS9JSHNnYVc1a1pXNTBPaUE0SUgwZ09pQjdJR2x1WkdWdWRDQjlPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9kbUZzZFdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0I3SUd0bFpYQlZibVJsWm1sdVpXUWdmU0E5SUc5d2RHbHZibk1nUHo4Z2NtVndiR0ZqWlhJZ1B6OGdlMzA3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hhMlZsY0ZWdVpHVm1hVzVsWkNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHBjMFJ2WTNWdFpXNTBLSFpoYkhWbEtTQW1KaUFoWDNKbGNHeGhZMlZ5S1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVXVkRzlUZEhKcGJtY29iM0IwYVc5dWN5azdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QkViMk4xYldWdWRDaDJZV3gxWlN3Z1gzSmxjR3hoWTJWeUxDQnZjSFJwYjI1ektTNTBiMU4wY21sdVp5aHZjSFJwYjI1ektUdGNibjFjYmx4dVpYaHdiM0owSUhzZ2NHRnljMlVzSUhCaGNuTmxRV3hzUkc5amRXMWxiblJ6TENCd1lYSnpaVVJ2WTNWdFpXNTBMQ0J6ZEhKcGJtZHBabmtnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJLYzI5dVRHbHVheXdnVEdsdWF5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMMnhwYm10Y0lqdGNibWx0Y0c5eWRDQjdJR2RsZEVWNGRHVnVjMmx2Yml3Z1oyVjBSbWxzWlZScGRHeGxJSDBnWm5KdmJTQmNJblYwYVd4ekwyNXZjbTFoYkdsNlpYSnpYQ0k3WEc1cGJYQnZjblFnZXlCRFlXTm9aV1JOWlhSaFpHRjBZU3dnUm1sc1pWTjBZWFJ6TENCR2NtOXVkRTFoZEhSbGNrTmhZMmhsSUgwZ1puSnZiU0JjSW05aWMybGthV0Z1WENJN1hHNXBiWEJ2Y25RZ2V5QndZWEp6WlNCaGN5QndZWEp6WlZsaGJXd2dmU0JtY205dElGd2llV0Z0YkZ3aU8xeHVhVzF3YjNKMElFSlVjbVZsSUdaeWIyMGdYQ0p6YjNKMFpXUXRZblJ5WldWY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUNBZ1NXNXNhVzVsUm1sbGJHUXNYRzRnSUNBZ1NuTnZia2x1YkdsdVpVWnBaV3hrTEZ4dUlDQWdJR0Z6U1c1c2FXNWxSbWxsYkdRc1hHNGdJQ0FnWlhoMGNtRmpkRVoxYkd4TWFXNWxSbWxsYkdRc1hHNGdJQ0FnWlhoMGNtRmpkRWx1YkdsdVpVWnBaV3hrY3l4Y2JpQWdJQ0JxYzI5dVNXNXNhVzVsUm1sbGJHUXNYRzU5SUdaeWIyMGdYQ0l1TDJsdWJHbHVaUzFtYVdWc1pGd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ0lDQktjMjl1VFdGeWEyUnZkMjVDYkc5amF5eGNiaUFnSUNCS2MyOXVUV0Z5YTJSdmQyNU1hWE4wUW14dlkyc3NYRzRnSUNBZ1NuTnZiazFoY210a2IzZHVUR2x6ZEVsMFpXMHNYRzRnSUNBZ1NuTnZiazFoY210a2IzZHVVR0ZuWlN4Y2JpQWdJQ0JLYzI5dVRXRnlhMlJ2ZDI1VFpXTjBhVzl1TEZ4dUlDQWdJRXB6YjI1TllYSnJaRzkzYmxSaGMydEpkR1Z0TEZ4dUlDQWdJRXB6YjI1TllYSnJaRzkzYmtSaGRHRmliRzlqYXl4Y2JpQWdJQ0JLYzI5dVRXRnlhMlJ2ZDI1RGIyUmxZbXh2WTJzc1hHNGdJQ0FnU25OdmJrWnliMjUwYldGMGRHVnlSVzUwY25rc1hHNTlJR1p5YjIwZ1hDSnBibVJsZUM5MGVYQmxjeTlxYzI5dUwyMWhjbXRrYjNkdVhDSTdYRzVwYlhCdmNuUWdleUJLYzI5dVEyOXVkbVZ5YzJsdmJpQjlJR1p5YjIwZ1hDSnBibVJsZUM5MGVYQmxjeTlxYzI5dUwyTnZiVzF2Ymx3aU8xeHVhVzF3YjNKMElIc2dXV0Z0YkVOdmJuWmxjbk5wYjI0Z2ZTQm1jbTl0SUZ3aWFXNWtaWGd2ZEhsd1pYTXZlV0Z0YkZ3aU8xeHVhVzF3YjNKMElIc2diV0Z3VDJKcVpXTjBWbUZzZFdWeklIMGdabkp2YlNCY0luVjBhV3h6TDJSaGRHRmNJanRjYmx4dUx5b3FJRTFoZEdOb1pYTWdlV0Z0YkNCa1lYUmhZbXh2WTJ0ekxDQjNhR2xqYUNCemFHOTNJSFZ3SUdGeklHbHVaR1Z3Wlc1a1pXNTBJRzlpYW1WamRITWdhVzRnZEdobElHUmhkR0ZqYjNKbElHbHVaR1Y0TGlBcUwxeHVZMjl1YzNRZ1dVRk5URjlFUVZSQlgxSkZSMFZZSUQwZ0wyQmdZSGxoYld3NlpHRjBZUzlwTzF4dUx5b3FJRTFoZEdOb1pYTWdkR2hsSUhOMFlYSjBJRzltSUdGdWVTQmpiMlJsWW14dlkyc2dabVZ1WTJVdUlDb3ZYRzVqYjI1emRDQkRUMFJGUWt4UFEwdGZSa1ZPUTBWZlVrVkhSVmdnUFNBdlhpZy9PbUJnWUh4K2ZuNHBLQzRxS1NRdmFXMDdYRzR2S2lvZ1RXRjBZMmhsY3lCc2FYTjBJR2wwWlcxeklDaHBibU5zZFdScGJtY2dhVzV6YVdSbElIUmxlSFFnWW14dlkydHpLUzRnS2k5Y2JtTnZibk4wSUV4SlUxUmZTVlJGVFY5U1JVZEZXQ0E5SUM5ZVcxeGNjejVkS2loY1hHUXJYRnd1ZkZ4Y1pDdGNYQ2w4WEZ3cWZDMThYRndyS1Z4Y2N5b29YRnhiTG5zd0xERjlYRnhkS1Q5Y1hITXFLQzRxS1M5dGMzVTdYRzVjYmk4cUtseHVJQ29nUjJsMlpXNGdkR2hsSUhKaGR5QnpiM1Z5WTJVZ1lXNWtJRTlpYzJsa2FXRnVJRzFsZEdGa1lYUmhJR1p2Y2lCaElHZHBkbVZ1SUcxaGNtdGtiM2R1SUdacGJHVXNYRzRnS2lCeVpYUjFjbTRnWm5Wc2JDQnRZWEpyWkc5M2JpQm1hV3hsSUcxbGRHRmtZWFJoTGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV0Z5YTJSdmQyNUpiWEJ2Y25Rb1hHNGdJQ0FnY0dGMGFEb2djM1J5YVc1bkxGeHVJQ0FnSUcxaGNtdGtiM2R1T2lCemRISnBibWNzWEc0Z0lDQWdiV1YwWVdSaGRHRTZJRU5oWTJobFpFMWxkR0ZrWVhSaExGeHVJQ0FnSUhOMFlYUnpPaUJHYVd4bFUzUmhkSE5jYmlrNklFcHpiMjVOWVhKclpHOTNibEJoWjJVZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkdsdVpYTXNJRzFsZEdGa1lYUmhPaUJ3WVdkbFRXVjBZV1JoZEdFc0lHWnliMjUwYldGMGRHVnlMQ0J6WldOMGFXOXVjeUI5SUQwZ2JXRnlhMlJ2ZDI1VGIzVnlZMlZKYlhCdmNuUW9jR0YwYUN3Z2JXRnlhMlJ2ZDI0c0lHMWxkR0ZrWVhSaEtUdGNiaUFnSUNCamIyNXpkQ0J3WVdkbElEMGdibVYzSUZCaFoyVkVZWFJoS0hCaGRHZ3NJSE4wWVhSekxDQnNhVzVsY3k1c1pXNW5kR2dzSUhCaFoyVk5aWFJoWkdGMFlTd2djMlZqZEdsdmJuTXNJR1p5YjI1MGJXRjBkR1Z5S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ3WVdkbExtSjFhV3hrS0NrN1hHNTlYRzVjYmk4cUtpQkpiWEJ2Y25RZ2JXRnlhMlJ2ZDI0Z1ptbHNaU0J0WlhSaFpHRjBZU3dnY0hKdlpIVmphVzVuSUdGc2JDQnlaV3hsZG1GdWRDQnRZWEpyWkc5M2JpQmtZWFJoTGlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMWhjbXRrYjNkdVUyOTFjbU5sU1cxd2IzSjBLRnh1SUNBZ0lIQmhkR2c2SUhOMGNtbHVaeXhjYmlBZ0lDQnRZWEpyWkc5M2Jqb2djM1J5YVc1bkxGeHVJQ0FnSUcxbGRHRmtZWFJoT2lCRFlXTm9aV1JOWlhSaFpHRjBZVnh1S1RvZ2UxeHVJQ0FnSUd4cGJtVnpPaUJ6ZEhKcGJtZGJYVHRjYmlBZ0lDQnRaWFJoWkdGMFlUb2dUV1YwWVdSaGRHRTdYRzRnSUNBZ1puSnZiblJ0WVhSMFpYSS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQktjMjl1Um5KdmJuUnRZWFIwWlhKRmJuUnllVDQ3WEc0Z0lDQWdjMlZqZEdsdmJuTTZJRk5sWTNScGIyNUVZWFJoVzEwN1hHNTlJSHRjYmlBZ0lDQmpiMjV6ZENCbWNtOXVkRzFoZEhSbGNqb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1NuTnZia1p5YjI1MGJXRjBkR1Z5Ulc1MGNuaytJSHdnZFc1a1pXWnBibVZrSUQwZ2JXVjBZV1JoZEdFL0xtWnliMjUwYldGMGRHVnlYRzRnSUNBZ0lDQWdJRDhnY0dGeWMyVkdjbTl1ZEcxaGRIUmxja0pzYjJOcktHMWxkR0ZrWVhSaExtWnliMjUwYldGMGRHVnlLVnh1SUNBZ0lDQWdJQ0E2SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JqYjI1emRDQnNhVzVsY3lBOUlHMWhjbXRrYjNkdUxuTndiR2wwS0M5Y1hISmNYRzU4WEZ4eWZGeGNiaThwTzF4dUlDQWdJR052Ym5OMElHMWhjbXRrYjNkdVRXVjBZV1JoZEdFZ1BTQnVaWGNnVFdWMFlXUmhkR0VvS1R0Y2JpQWdJQ0JqYjI1emRDQnpaV04wYVc5dVFYSnlZWGs2SUZObFkzUnBiMjVFWVhSaFcxMGdQU0JiWFR0Y2JpQWdJQ0F2THk4dkx5OHZMeTh2THk4dkwxeHVJQ0FnSUM4dklGTmxZM1JwYjI1eklDOHZYRzRnSUNBZ0x5OHZMeTh2THk4dkx5OHZMeTljYmx4dUlDQWdJR052Ym5OMElHMWxkR0ZvWldGa2FXNW5jeUE5SUcxbGRHRmtZWFJoUHk1b1pXRmthVzVuY3lBL1B5QmJYVHRjYmlBZ0lDQnRaWFJoYUdWaFpHbHVaM011YzI5eWRDZ29ZU3dnWWlrZ1BUNGdZUzV3YjNOcGRHbHZiaTV6ZEdGeWRDNXNhVzVsSUMwZ1lpNXdiM05wZEdsdmJpNXpkR0Z5ZEM1c2FXNWxLVHRjYmx4dUlDQWdJR052Ym5OMElITmxZM1JwYjI1eklEMGdibVYzSUVKVWNtVmxQRzUxYldKbGNpd2dVMlZqZEdsdmJrUmhkR0UrS0hWdVpHVm1hVzVsWkN3Z0tHRXNJR0lwSUQwK0lHRWdMU0JpS1R0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwYm1SbGVDQTlJREE3SUdsdVpHVjRJRHdnYldWMFlXaGxZV1JwYm1kekxteGxibWQwYURzZ2FXNWtaWGdyS3lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJuUnllU0E5SUcxbGRHRm9aV0ZrYVc1bmMxdHBibVJsZUYwN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBJRDBnWlc1MGNua3VjRzl6YVhScGIyNHVjM1JoY25RdWJHbHVaVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaVzVrSUQwZ2FXNWtaWGdnUFQwZ2JXVjBZV2hsWVdScGJtZHpMbXhsYm1kMGFDQXRJREVnUHlCc2FXNWxjeTVzWlc1bmRHZ2dPaUJ0WlhSaGFHVmhaR2x1WjNOYmFXNWtaWGdnS3lBeFhTNXdiM05wZEdsdmJpNXpkR0Z5ZEM1c2FXNWxPMXh1WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5sWTNScGIyNGdQU0J1WlhjZ1UyVmpkR2x2YmtSaGRHRW9jM1JoY25Rc0lHVnVaQ3dnWlc1MGNua3VhR1ZoWkdsdVp5d2daVzUwY25rdWJHVjJaV3dzSUdsdVpHVjRJQ3NnTVNrN1hHNGdJQ0FnSUNBZ0lITmxZM1JwYjI1ekxuTmxkQ2h6ZEdGeWRDd2djMlZqZEdsdmJpazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdGdUlHbHRjR3hwWTJsMElITmxZM1JwYjI0Z1ptOXlJSFJvWlNCY0ltaGxZV1JwYm1kY0lpQnpaV04wYVc5dUlHOW1JSFJvWlNCd1lXZGxJR2xtSUhSb1pYSmxJR2x6SUc1dmRDQmhiaUJwYlcxbFpHbGhkR1VnYUdWaFpHVnlJR0oxZENCMGFHVnlaU0JwYzF4dUlDQWdJQzh2SUhOdmJXVWdZMjl1ZEdWdWRDQnBiaUIwYUdVZ1ptbHNaUzRnU1dZZ2RHaGxjbVVnWVhKbElHOTBhR1Z5SUhObFkzUnBiMjV6TENCMGFHVnVJR2R2SUhWd0lIUnZJSFJvWVhRc0lHOTBhR1Z5ZDJselpTd2daMjhnWm05eUlIUm9aU0JsYm5ScGNtVWdabWxzWlM1Y2JpQWdJQ0JwWmlBb2MyVmpkR2x2Ym5NdWMybDZaU0E5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJR2xtSUNnaFpXMXdkSGxzYVc1bGN5aHNhVzVsY3l3Z01Dd2diR2x1WlhNdWJHVnVaM1JvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjMlZqZEdsdmJpQTlJRzVsZHlCVFpXTjBhVzl1UkdGMFlTZ3dMQ0JzYVc1bGN5NXNaVzVuZEdnc0lHZGxkRVpwYkdWVWFYUnNaU2h3WVhSb0tTd2dNU3dnTUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6WldOMGFXOXVjeTV6WlhRb01Dd2djMlZqZEdsdmJpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJHYVc1a0lIUm9aU0J6ZEdGeWRDQnZaaUIwYUdVZ1ptbHljM1FnYzJWamRHbHZiaTVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdabWx5YzNRZ1BTQnpaV04wYVc5dWN5NW5aWFJRWVdseVQzSk9aWGgwU0dsbmFHVnlLREFwUHk1Yk1WMGhJVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9abWx5YzNRdWMzUmhjblFnUGlBd0lDWW1JQ0ZsYlhCMGVXeHBibVZ6S0d4cGJtVnpMQ0F3TENCbWFYSnpkQzV6ZEdGeWRDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhObFkzUnBiMjRnUFNCdVpYY2dVMlZqZEdsdmJrUmhkR0VvTUN3Z1ptbHljM1F1YzNSaGNuUXNJR2RsZEVacGJHVlVhWFJzWlNod1lYUm9LU3dnTVN3Z01DazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lITmxZM1JwYjI1ekxuTmxkQ2d3TENCelpXTjBhVzl1S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dkx5OHZMeTh2THk4dkwxeHVJQ0FnSUM4dklFSnNiMk5yY3lBdkwxeHVJQ0FnSUM4dkx5OHZMeTh2THk4dkwxeHVYRzRnSUNBZ0x5OGdRV3hzSUdKc2IyTnJjenNnZDJVZ2QybHNiQ0JoYzNOcFoyNGdkR0ZuY3lCaGJtUWdiM1JvWlhJZ2JXVjBZV1JoZEdFZ2RHOGdZbXh2WTJ0eklHRnpJSGRsSUdWdVkyOTFiblJsY2lCMGFHVnRMaUJCZENCMGFHVWdaVzVrTENCdmJteDVJR0pzYjJOcmN5QjBhR0YwWEc0Z0lDQWdMeThnYUdGMlpTQmhZM1IxWVd3Z2JXVjBZV1JoZEdFZ2QybHNiQ0JpWlNCemRHOXlaV1FnZEc4Z2MyRjJaU0J2YmlCdFpXMXZjbmtnY0hKbGMzTjFjbVV1WEc0Z0lDQWdZMjl1YzNRZ1lteHZZMnR6SUQwZ2JtVjNJRUpVY21WbFBHNTFiV0psY2l3Z1FteHZZMnRFWVhSaFBpaDFibVJsWm1sdVpXUXNJQ2hoTENCaUtTQTlQaUJoSUMwZ1lpazdYRzRnSUNBZ2JHVjBJR0pzYjJOclQzSmthVzVoYkNBOUlERTdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQmliRzlqYXlCdlppQnRaWFJoWkdGMFlUOHVjMlZqZEdsdmJuTWdmSHdnVzEwcElIdGNiaUFnSUNBZ0lDQWdMeThnVTJ0cGNDQm9aV0ZrYVc1bmN5QmliRzlqYTNNc0lIZGxJR2hoYm1Sc1pTQjBhR1Z0SUhOd1pXTnBZV3hzZVNCaGN5QnpaV04wYVc5dWN5NWNiaUFnSUNBZ0lDQWdhV1lnS0dKc2IyTnJMblI1Y0dVZ1BUMDlJRndpYUdWaFpHbHVaMXdpS1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemRHRnlkQ0E5SUdKc2IyTnJMbkJ2YzJsMGFXOXVMbk4wWVhKMExteHBibVU3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1Z1WkNBOUlHSnNiMk5yTG5CdmMybDBhVzl1TG1WdVpDNXNhVzVsSUNzZ01UdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MzUmhjblJNYVc1bElEMGdiR2x1WlhOYmMzUmhjblJkT3lBdkx5QjBieUIxYzJVZ2RHOGdZMmhsWTJzZ2RHaGxJR052WkdWaWJHOWpheUIwZVhCbFhHNWNiaUFnSUNBZ0lDQWdhV1lnS0dKc2IyTnJMblI1Y0dVZ1BUMDlJRndpYkdsemRGd2lLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmliRzlqYTNNdWMyVjBLSE4wWVhKMExDQnVaWGNnVEdsemRFSnNiMk5yUkdGMFlTaHpkR0Z5ZEN3Z1pXNWtMQ0JpYkc5amEwOXlaR2x1WVd3ckt5d2dZbXh2WTJzdWFXUXBLVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaWJHOWpheTUwZVhCbElEMDlJRndpWTI5a1pWd2lJQ1ltSUZsQlRVeGZSRUZVUVY5U1JVZEZXQzUwWlhOMEtITjBZWEowVEdsdVpTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhsaGJXdzZJSE4wY21sdVp5QTlJR3hwYm1WelhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0xuTnNhV05sS0hOMFlYSjBJQ3NnTVN3Z1pXNWtJQzBnTVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdWFtOXBiaWhjSWx4Y2Jsd2lLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzV5WlhCc1lXTmxLQzljWEhRdloyMHNJRndpSUNCY0lpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6Y0d4cGREb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1NuTnZia1p5YjI1MGJXRjBkR1Z5Ulc1MGNuaytJRDBnY0dGeWMyVkdjbTl1ZEcxaGRIUmxja0pzYjJOcktIQmhjbk5sV1dGdGJDaDVZVzFzS1NrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdKc2IyTnJjeTV6WlhRb2MzUmhjblFzSUc1bGR5QkVZWFJoWW14dlkydEVZWFJoS0hOMFlYSjBMQ0JsYm1Rc0lHSnNiMk5yVDNKa2FXNWhiQ3NyTENCemNHeHBkQ3dnWW14dlkyc3VhV1FwS1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGliRzlqYXk1MGVYQmxJRDA5UFNCY0ltTnZaR1ZjSWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1EyaGxZMnNnYVdZZ2RHaGxJR0pzYjJOcklHbHpJR1psYm1ObFpDNWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzFoZEdOb0lEMGdjM1JoY25STWFXNWxMbTFoZEdOb0tFTlBSRVZDVEU5RFMxOUdSVTVEUlY5U1JVZEZXQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVcxaGRHTm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaGJpQnBibVJsYm5SbFpDMXpkSGxzWlNCamIyUmxZbXh2WTJzdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lteHZZMnR6TG5ObGRDaHpkR0Z5ZEN3Z2JtVjNJRU52WkdWaWJHOWphMFJoZEdFb2MzUmhjblFzSUdWdVpDd2dZbXh2WTJ0UGNtUnBibUZzS3lzc0lGdGRMQ0JjSW1sdVpHVnVkRndpTENCemRHRnlkQ3dnWlc1a0xDQmliRzlqYXk1cFpDa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JzWVc1bmRXRm5aWE1nUFNCdFlYUmphQzVzWlc1bmRHZ2dQaUF4SUNZbUlHMWhkR05vV3pGZElEOGdiV0YwWTJoYk1WMHVjM0JzYVhRb1hDSXNYQ0lwSURvZ1cxMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbXh2WTJ0ekxuTmxkQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNWxkeUJEYjJSbFlteHZZMnRFWVhSaEtITjBZWEowTENCbGJtUXNJR0pzYjJOclQzSmthVzVoYkNzckxDQnNZVzVuZFdGblpYTXNJRndpWm1WdVkyVmtYQ0lzSUhOMFlYSjBJQ3NnTVN3Z1pXNWtJQzBnTVN3Z1lteHZZMnN1YVdRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0pzYjJOcmN5NXpaWFFvYzNSaGNuUXNJRzVsZHlCQ1lYTmxRbXh2WTJ0RVlYUmhLSE4wWVhKMExDQmxibVFzSUdKc2IyTnJUM0prYVc1aGJDc3JMQ0JpYkc5amF5NTBlWEJsTENCaWJHOWpheTVwWkNrcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdKc2IyTnJjeUIwYnlCelpXTjBhVzl1Y3k1Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUdKc2IyTnJJRzltSUdKc2IyTnJjeTUyWVd4MVpYTW9LU2tnZTF4dUlDQWdJQ0FnSUNCc2IyOXJkWEFvWW14dlkyc3VjM1JoY25Rc0lITmxZM1JwYjI1ektUOHVZbXh2WTJzb1lteHZZMnNwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2THk4dkx5OHZMeTh2WEc0Z0lDQWdMeThnVEdsemRITWdMeTljYmlBZ0lDQXZMeTh2THk4dkx5OHZMMXh1WEc0Z0lDQWdMeThnUVd4c0lHeHBjM1FnYVhSbGJYTWdhVzRnYkdsemRITXVJRk4wWVhKMElIZHBkR2dnWVNCemFXMXdiR1VnZEhKcGRtbGhiQ0J3WVhOekxseHVJQ0FnSUdOdmJuTjBJR052Ym5SbGJuUlNaV2RsZUNBOUlDOWVXMXhjZEZ4Y1pseGNkaUJkS2x0Y1hDMHJYRndxWFZ4Y2N5aGNYRnN1WEZ4ZFhGeHpLVDh2TzF4dUlDQWdJR052Ym5OMElHMWhjbXRsY2xKbFoyVjRJRDBnTDE0b1BqOWNYSE0vS1Nvb1hGeDBmRnhjY3lrcUwyYzdYRzRnSUNBZ1kyOXVjM1FnYkdsemRFbDBaVzF6SUQwZ2JtVjNJRUpVY21WbFBHNTFiV0psY2l3Z1RHbHpkRWwwWlcxRVlYUmhQaWgxYm1SbFptbHVaV1FzSUNoaExDQmlLU0E5UGlCaElDMGdZaWs3WEc1Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUd4cGMzUWdiMllnYldWMFlXUmhkR0UvTG14cGMzUkpkR1Z0Y3lCOGZDQmJYU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JzYVc1bElEMGdiR2x1WlhNdWMyeHBZMlVvYkdsemRDNXdiM05wZEdsdmJpNXpkR0Z5ZEM1c2FXNWxMQ0JzYVhOMExuQnZjMmwwYVc5dUxtVnVaQzVzYVc1bElDc2dNU2t1YW05cGJpaGNJbHhjYmx3aUtUdGNibHh1SUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJKYlhCc1pXMWxiblFnWm14aFp5QjNhR2xqYUNCemEybHdjeUJwYm1SbGVHbHVaeUJzYVhOMElHbDBaVzF6TGx4dUlDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSamFDQTlJR3hwYm1VdWJXRjBZMmdvVEVsVFZGOUpWRVZOWDFKRlIwVllLVHRjYmlBZ0lDQWdJQ0FnYkdWMElITjViV0p2YkNBOUlIVnVaR1ZtYVc1bFpDeGNiaUFnSUNBZ0lDQWdJQ0FnSUhSbGVIUWdQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRZWFJqYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNsdFltOXNJRDBnYldGMFkyaGJNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBaWGgwSUQwZ2JXRjBZMmhiTTEwN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnBkR1Z0SUQwZ2JtVjNJRXhwYzNSSmRHVnRSR0YwWVNoY2JpQWdJQ0FnSUNBZ0lDQWdJR3hwYzNRdWNHOXphWFJwYjI0dWMzUmhjblF1YkdsdVpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUd4cGMzUXVjRzl6YVhScGIyNHVaVzVrTG14cGJtVWdLeUF4TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiR2x6ZEM1d1lYSmxiblFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnplVzFpYjJ3c1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzYVhOMExtbGtMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JHbHpkQzUwWVhOckxGeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdWNGRGeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0JzYVhOMFNYUmxiWE11YzJWMEtHbDBaVzB1YzNSaGNuUXNJR2wwWlcwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFbHVJSFJvWlNCelpXTnZibVFnYkdsemRDQndZWE56TENCaFkzUjFZV3hzZVNCamIyNXpkSEoxWTNRZ2RHaGxJR3hwYzNRZ2FHVnBjbUZ5WTJoNUxseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2FYUmxiU0J2WmlCc2FYTjBTWFJsYlhNdWRtRnNkV1Z6S0NrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dsMFpXMHVjR0Z5Wlc1MFRHbHVaU0E4SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3hwYzNSQ2JHOWpheUE5SUdKc2IyTnJjeTVuWlhRb0xXbDBaVzB1Y0dGeVpXNTBUR2x1WlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXeHBjM1JDYkc5amF5QjhmQ0FoS0d4cGMzUkNiRzlqYXk1MGVYQmxJRDA5UFNCY0lteHBjM1JjSWlrcElHTnZiblJwYm5WbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBb2JHbHpkRUpzYjJOcklHRnpJRXhwYzNSQ2JHOWphMFJoZEdFcExtbDBaVzF6TG5CMWMyZ29hWFJsYlNrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzYVhOMFNYUmxiWE11WjJWMEtHbDBaVzB1Y0dGeVpXNTBUR2x1WlNrL0xtVnNaVzFsYm5SekxuQjFjMmdvYVhSbGJTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeTh2THk4dkx5OHZYRzRnSUNBZ0x5OGdWR0ZuY3lBdkwxeHVJQ0FnSUM4dkx5OHZMeTh2THk5Y2JseHVJQ0FnSUM4dklFWnZjaUJsWVdOb0lIUmhaeXdnWVhOemFXZHVJR2wwSUhSdklIUm9aU0JoY0hCeWIzQnlhV0YwWlNCelpXTjBhVzl1SUdGdVpDQmliRzlqYXlCMGFHRjBJR2wwSUdseklHRWdjR0Z5ZENCdlppNWNiaUFnSUNCbWIzSWdLR052Ym5OMElIUmhaMlJsWmlCdlppQnRaWFJoWkdGMFlUOHVkR0ZuY3lBL1B5QmJYU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IwWVdjZ1BTQjBZV2RrWldZdWRHRm5Mbk4wWVhKMGMxZHBkR2dvWENJalhDSXBJRDhnZEdGblpHVm1MblJoWnlBNklGd2lJMXdpSUNzZ2RHRm5aR1ZtTG5SaFp6dGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JHbHVaU0E5SUhSaFoyUmxaaTV3YjNOcGRHbHZiaTV6ZEdGeWRDNXNhVzVsTzF4dUlDQWdJQ0FnSUNCdFlYSnJaRzkzYmsxbGRHRmtZWFJoTG5SaFp5aDBZV2NwTzF4dVhHNGdJQ0FnSUNBZ0lHeHZiMnQxY0Noc2FXNWxMQ0J6WldOMGFXOXVjeWsvTG0xbGRHRmtZWFJoTG5SaFp5aDBZV2NwTzF4dUlDQWdJQ0FnSUNCc2IyOXJkWEFvYkdsdVpTd2dZbXh2WTJ0ektUOHViV1YwWVdSaGRHRXVkR0ZuS0hSaFp5azdYRzRnSUNBZ0lDQWdJR3h2YjJ0MWNDaHNhVzVsTENCc2FYTjBTWFJsYlhNcFB5NXRaWFJoWkdGMFlTNTBZV2NvZEdGbktUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJaR1FnWm5KdmJuUnRZWFIwWlhJZ2RHRm5jeTVjYmlBZ0lDQnBaaUFvYldWMFlXUmhkR0UvTG1aeWIyNTBiV0YwZEdWeUtTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnY21GM2RHRm5JRzltSUdWNGRISmhZM1JVWVdkektHMWxkR0ZrWVhSaExtWnliMjUwYldGMGRHVnlLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2RHRm5JRDBnY21GM2RHRm5Mbk4wWVhKMGMxZHBkR2dvWENJalhDSXBJRDhnY21GM2RHRm5JRG9nWENJalhDSWdLeUJ5WVhkMFlXYzdYRzRnSUNBZ0lDQWdJQ0FnSUNCdFlYSnJaRzkzYmsxbGRHRmtZWFJoTG5SaFp5aDBZV2NwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4dkx5OHZMeTh2THk5Y2JpQWdJQ0F2THlCTWFXNXJjeUF2TDF4dUlDQWdJQzh2THk4dkx5OHZMeTh2WEc1Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JzYVc1clpHVm1JRzltSUcxbGRHRmtZWFJoUHk1c2FXNXJjeUEvUHlCYlhTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnNhVzVySUQwZ1RHbHVheTVwYm1abGNpaHNhVzVyWkdWbUxteHBibXNwTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JzYVc1bElEMGdiR2x1YTJSbFppNXdiM05wZEdsdmJpNXpkR0Z5ZEM1c2FXNWxPMXh1SUNBZ0lDQWdJQ0J0WVhKclpHOTNiazFsZEdGa1lYUmhMbXhwYm1zb2JHbHVheWs3WEc1Y2JpQWdJQ0FnSUNBZ2JHOXZhM1Z3S0d4cGJtVXNJSE5sWTNScGIyNXpLVDh1YldWMFlXUmhkR0V1YkdsdWF5aHNhVzVyS1R0Y2JpQWdJQ0FnSUNBZ2JHOXZhM1Z3S0d4cGJtVXNJR0pzYjJOcmN5ay9MbTFsZEdGa1lYUmhMbXhwYm1zb2JHbHVheWs3WEc0Z0lDQWdJQ0FnSUd4dmIydDFjQ2hzYVc1bExDQnNhWE4wU1hSbGJYTXBQeTV0WlhSaFpHRjBZUzVzYVc1cktHeHBibXNwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhHNGdJQ0FnTHk4Z1JuSnZiblJ0WVhSMFpYSWdUR2x1YTNNZ0x5OWNiaUFnSUNBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh1WEc0Z0lDQWdMeThnUm5KdmJuUnRZWFIwWlhJZ2JHbHVhM01nWVhKbElHOXViSGtnWVhOemFXZHVaV1FnZEc4Z2RHaGxJSEJoWjJVdVhHNGdJQ0FnWm05eUlDaGpiMjV6ZENCc2FXNXJaR1ZtSUc5bUlHMWxkR0ZrWVhSaFB5NW1jbTl1ZEcxaGRIUmxja3hwYm10eklEOC9JRnRkS1NCN1hHNGdJQ0FnSUNBZ0lHMWhjbXRrYjNkdVRXVjBZV1JoZEdFdWJHbHVheWhNYVc1ckxtbHVabVZ5S0d4cGJtdGtaV1l1YkdsdWF5d2dabUZzYzJVc0lHeHBibXRrWldZdVpHbHpjR3hoZVZSbGVIUXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZYRzRnSUNBZ0x5OGdTVzVzYVc1bElFWnBaV3hrY3lBdkwxeHVJQ0FnSUM4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk5Y2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1ptbGxiR1FnYjJZZ2FYUmxjbUYwWlVsdWJHbHVaVVpwWld4a2N5aHNhVzVsY3lrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JHbHVaU0E5SUdacFpXeGtMbkJ2YzJsMGFXOXVMbXhwYm1VN1hHNGdJQ0FnSUNBZ0lHMWhjbXRrYjNkdVRXVjBZV1JoZEdFdWFXNXNhVzVsUm1sbGJHUW9abWxsYkdRcE8xeHVYRzRnSUNBZ0lDQWdJR3h2YjJ0MWNDaHNhVzVsTENCelpXTjBhVzl1Y3lrL0xtMWxkR0ZrWVhSaExtbHViR2x1WlVacFpXeGtLR1pwWld4a0tUdGNiaUFnSUNBZ0lDQWdiRzl2YTNWd0tHeHBibVVzSUdKc2IyTnJjeWsvTG0xbGRHRmtZWFJoTG1sdWJHbHVaVVpwWld4a0tHWnBaV3hrS1R0Y2JpQWdJQ0FnSUNBZ2JHOXZhM1Z3S0d4cGJtVXNJR3hwYzNSSmRHVnRjeWsvTG0xbGRHRmtZWFJoTG1sdWJHbHVaVVpwWld4a0tHWnBaV3hrS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjMlZqZEdsdmJrRnljbUY1TG5CMWMyZ29MaTR1YzJWamRHbHZibk11ZG1Gc2RXVnpLQ2twTzF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR3hwYm1WekxGeHVJQ0FnSUNBZ0lDQm1jbTl1ZEcxaGRIUmxjaXhjYmlBZ0lDQWdJQ0FnYldWMFlXUmhkR0U2SUcxaGNtdGtiM2R1VFdWMFlXUmhkR0VzWEc0Z0lDQWdJQ0FnSUhObFkzUnBiMjV6T2lCelpXTjBhVzl1UVhKeVlYa3NYRzRnSUNBZ2ZUdGNibjFjYmk4dkx5OHZMeTh2THk4dkx5OHZMeTh2TDF4dUx5OGdVR0Z5YzJsdVp5QkJhV1J6SUM4dlhHNHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNibHh1THlvcUlFTm9aV05ySUdsbUlIUm9aU0JuYVhabGJpQnNhVzVsSUhKaGJtZGxJR2x6SUdGc2JDQmxiWEIwZVM0Z1UzUmhjblFnYVhNZ2FXNWpiSFZ6YVhabExDQmxibVFnWlhoamJIVnphWFpsTGlBcUwxeHVablZ1WTNScGIyNGdaVzF3ZEhsc2FXNWxjeWhzYVc1bGN6b2djM1J5YVc1blcxMHNJSE4wWVhKME9pQnVkVzFpWlhJc0lHVnVaRG9nYm5WdFltVnlLVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdabTl5SUNoc1pYUWdhVzVrWlhnZ1BTQnpkR0Z5ZERzZ2FXNWtaWGdnUENCbGJtUTdJR2x1WkdWNEt5c3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHeHBibVZ6VzJsdVpHVjRYUzUwY21sdEtDa2dJVDA5SUZ3aVhDSXBJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JuMWNibHh1THlvcVhHNGdLaUJaYVdWc1pITWdZV3hzSUdsdWJHbHVaU0JtYVdWc1pITWdabTkxYm1RZ2FXNGdkR2hsSUdSdlkzVnRaVzUwSUdKNUlIUnlZWFpsY25OcGJtY2diR2x1WlNCaWVTQnNhVzVsSUhSb2NtOTFaMmdnZEdobElHUnZZM1Z0Wlc1MExpQlFaWEptYjNKdGN5QnpiMjFsSUc5d2RHbHRhWHBoZEdsdmJuTmNiaUFxSUhSdklITnJhWEFnWlhoMGNtRXRiR0Z5WjJVZ2JHbHVaWE1zSUdGdVpDQmpZVzRnWW1VZ1pHbHpZV0pzWldRdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaW9nYVhSbGNtRjBaVWx1YkdsdVpVWnBaV3hrY3loamIyNTBaVzUwT2lCemRISnBibWRiWFNrNklFZGxibVZ5WVhSdmNqeEpibXhwYm1WR2FXVnNaRDRnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR3hwYm1WdWJ5QTlJREE3SUd4cGJtVnVieUE4SUdOdmJuUmxiblF1YkdWdVozUm9PeUJzYVc1bGJtOHJLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JzYVc1bElEMGdZMjl1ZEdWdWRGdHNhVzVsYm05ZE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUVaaGMzUXRZbUZwYkc5MWRDQm1iM0lnYkdsdVpYTWdkR2hoZENCaGNtVWdkRzl2SUd4dmJtY2diM0lnWkc4Z2JtOTBJR052Ym5SaGFXNGdKem82Snk1Y2JpQWdJQ0FnSUNBZ2FXWWdLR3hwYm1VdWJHVnVaM1JvSUQ0Z016STNOamdnZkh3Z0lXeHBibVV1YVc1amJIVmtaWE1vWENJNk9sd2lLU2tnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1VtVXRZV1JrSUhOMWNIQnZjblFnWm05eUlIUm9iM05sSUdOMWMzUnZiU0JsYlc5cWFTQm1hV1ZzWkhNZ2IyNGdkR0Z6YTNNZ1lXNWtJSE5wYldsc1lYSXVYRzRnSUNBZ0lDQWdJR3hsZENCcGJteHBibVZHYVdWc1pITWdQU0JsZUhSeVlXTjBTVzVzYVc1bFJtbGxiR1J6S0d4cGJtVXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2FXNXNhVzVsUm1sbGJHUnpMbXhsYm1kMGFDQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2xtYVdWc1pDQnZaaUJwYm14cGJtVkdhV1ZzWkhNcElIbHBaV3hrSUdGelNXNXNhVzVsUm1sbGJHUW9hV1pwWld4a0xDQnNhVzVsYm04cE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHWjFiR3hNYVc1bElEMGdaWGgwY21GamRFWjFiR3hNYVc1bFJtbGxiR1FvYkdsdVpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ablZzYkV4cGJtVXBJSGxwWld4a0lHRnpTVzVzYVc1bFJtbGxiR1FvWm5Wc2JFeHBibVVzSUd4cGJtVnVieWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1OVhHNWNiaThxS2lCVWIzQXRiR1YyWld3Z1puVnVZM1JwYjI0Z2QyaHBZMmdnYldGd2N5QmhJRmxCVFV3Z1lteHZZMnNnTFNCcGJtTnNkV1JwYm1jZ1puSnZiblJ0WVhSMFpYSWdMU0JwYm5SdklHWnliMjUwYldGMGRHVnlJR1Z1ZEhKcFpYTXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY0dGeWMyVkdjbTl1ZEcxaGRIUmxja0pzYjJOcktHSnNiMk5yT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK0tUb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1NuTnZia1p5YjI1MGJXRjBkR1Z5Ulc1MGNuaytJSHRjYmlBZ0lDQmpiMjV6ZENCeVpYTjFiSFE2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRXB6YjI1R2NtOXVkRzFoZEhSbGNrVnVkSEo1UGlBOUlIdDlPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdhMlY1SUc5bUlFOWlhbVZqZEM1clpYbHpLR0pzYjJOcktTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjJZV3gxWlNBOUlHSnNiMk5yVzJ0bGVWMDdYRzVjYmlBZ0lDQWdJQ0FnY21WemRXeDBXMnRsZVM1MGIweHZkMlZ5UTJGelpTZ3BYU0E5SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3RsZVRvZ2EyVjVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUVwemIyNURiMjUyWlhKemFXOXVMbXB6YjI0b1dXRnRiRU52Ym5abGNuTnBiMjR1YkdsMFpYSmhiQ2gyWVd4MVpTa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtRjNPaUIyWVd4MVpTeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dWZWeHVYRzR2S2lvZ1JtbHVaSE1nWVc0Z1pXeGxiV1Z1ZENCM2FHbGphQ0JqYjI1MFlXbHVjeUIwYUdVZ1oybDJaVzRnYkdsdVpTNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJzYjI5cmRYQThWQ0JsZUhSbGJtUnpJSHNnYzNSaGNuUTZJRzUxYldKbGNqc2daVzVrT2lCdWRXMWlaWElnZlQ0b2JHbHVaVG9nYm5WdFltVnlMQ0IwY21WbE9pQkNWSEpsWlR4dWRXMWlaWElzSUZRK0tUb2dWQ0I4SUhWdVpHVm1hVzVsWkNCN1hHNGdJQ0FnWTI5dWMzUWdkR0Z5WjJWMElEMGdkSEpsWlM1blpYUlFZV2x5VDNKT1pYaDBURzkzWlhJb2JHbHVaU2svTGxzeFhUdGNiaUFnSUNCcFppQW9kR0Z5WjJWMElDWW1JSFJoY21kbGRDNWxibVFnUGowZ2JHbHVaU2tnY21WMGRYSnVJSFJoY21kbGREdGNibHh1SUNBZ0lISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hHNTlYRzVjYmk4cUtpQkZlSFJ5WVdOMElIUmhaM01nYVc1MFpXeHNhV2RsYm5Sc2VTQm1jbTl0SUdaeWIyNTBiV0YwZEdWeUxpQklZVzVrYkdWeklHRnljbUY1Y3l3Z2JuVnRZbVZ5Y3l3Z1lXNWtJSE4wY21sdVozTXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWlhoMGNtRmpkRlJoWjNNb2JXVjBZV1JoZEdFNklFWnliMjUwVFdGMGRHVnlRMkZqYUdVcE9pQnpkSEpwYm1kYlhTQjdYRzRnSUNBZ2JHVjBJSFJoWjB0bGVYTWdQU0JQWW1wbFkzUXVhMlY1Y3lodFpYUmhaR0YwWVNrdVptbHNkR1Z5S0NoMEtTQTlQaUIwTG5SdlRHOTNaWEpEWVhObEtDa2dQVDBnWENKMFlXZHpYQ0lnZkh3Z2RDNTBiMHh2ZDJWeVEyRnpaU2dwSUQwOUlGd2lkR0ZuWENJcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSaFowdGxlWE5jYmlBZ0lDQWdJQ0FnTG0xaGNDZ29heWtnUFQ0Z2MzQnNhWFJHY205dWRHMWhkSFJsY2xSaFowOXlRV3hwWVhNb2JXVjBZV1JoZEdGYmExMHNJQzliTEZ4Y2MxMHJMeWtwWEc0Z0lDQWdJQ0FnSUM1eVpXUjFZMlVvS0hBc0lHTXBJRDArSUhBdVkyOXVZMkYwS0dNcExDQmJYU2xjYmlBZ0lDQWdJQ0FnTG0xaGNDZ29jM1J5S1NBOVBpQW9jM1J5TG5OMFlYSjBjMWRwZEdnb1hDSWpYQ0lwSUQ4Z2MzUnlJRG9nWENJalhDSWdLeUJ6ZEhJcEtUdGNibjFjYmx4dUx5b3FJRk53YkdsMElHRWdabkp2Ym5SdFlYUjBaWElnYkdsemRDQnBiblJ2SUhObGNHRnlZWFJsSUdWc1pXMWxiblJ6T3lCb1lXNWtiR1Z6SUdGamRIVmhiQ0JzYVhOMGN5d2dZMjl0YldFZ2MyVndZWEpoZEdWa0lHeHBjM1J6TENCaGJtUWdjMmx1WjJ4bElHVnNaVzFsYm5SekxpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE53YkdsMFJuSnZiblJ0WVhSMFpYSlVZV2RQY2tGc2FXRnpLR1JoZEdFNklHRnVlU3dnYjI0NklGSmxaMFY0Y0NrNklITjBjbWx1WjF0ZElIdGNiaUFnSUNCcFppQW9aR0YwWVNBOVBTQnVkV3hzSUh4OElHUmhkR0VnUFQwZ2RXNWtaV1pwYm1Wa0tTQnlaWFIxY200Z1cxMDdYRzRnSUNBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb1pHRjBZU2twSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSaGRHRmNiaUFnSUNBZ0lDQWdJQ0FnSUM1bWFXeDBaWElvS0hNcElEMCtJQ0VoY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tITXBJRDArSUhOd2JHbDBSbkp2Ym5SdFlYUjBaWEpVWVdkUGNrRnNhV0Z6S0hNc0lHOXVLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXlaV1IxWTJVb0tIQXNJR01wSUQwK0lIQXVZMjl1WTJGMEtHTXBMQ0JiWFNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1JtOXlZMlVnZEc4Z1lTQnpkSEpwYm1jZ2RHOGdhR0Z1Wkd4bElHNTFiV0psY25NZ1lXNWtJSE52SUc5dUxseHVJQ0FnSUhKbGRIVnliaUFvWENKY0lpQXJJR1JoZEdFcFhHNGdJQ0FnSUNBZ0lDNXpjR3hwZENodmJpbGNiaUFnSUNBZ0lDQWdMbVpwYkhSbGNpZ29kQ2tnUFQ0Z0lTRjBLVnh1SUNBZ0lDQWdJQ0F1YldGd0tDaDBLU0E5UGlCMExuUnlhVzBvS1NsY2JpQWdJQ0FnSUNBZ0xtWnBiSFJsY2lnb2RDa2dQVDRnZEM1c1pXNW5kR2dnUGlBd0tUdGNibjFjYmx4dUx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljYmk4dklFSjFhV3hrWlhJZ1ZYUnBiR2wwYVdWeklDOHZYRzR2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHVYRzR2S2lvZ1EyOXVkbWxsYm1WdWRDQnphR0Z5WldRZ2RYUnBiR2wwZVNCbWIzSWdkSEpoWTJ0cGJtY2diV1YwWVdSaGRHRWdMU0JzYVc1cmN5d2dkR0ZuY3l3Z1lXNWtJSE52SUc5dUxpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFMWxkR0ZrWVhSaElIdGNiaUFnSUNCd2RXSnNhV01nZEdGbmN6b2dVMlYwUEhOMGNtbHVaejRnUFNCdVpYY2dVMlYwS0NrN1hHNGdJQ0FnY0hWaWJHbGpJR3hwYm10ek9pQk1hVzVyVzEwZ1BTQmJYVHRjYmlBZ0lDQndkV0pzYVdNZ2FXNXNhVzVsUm1sbGJHUnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQkpibXhwYm1WR2FXVnNaRDRnUFNCN2ZUdGNibHh1SUNBZ0lDOHFLaUJCWkdRZ1lTQjBZV2NnZEc4Z2RHaGxJRzFsZEdGa1lYUmhMaUFxTDF4dUlDQWdJSEIxWW14cFl5QjBZV2NvZEdGbk9pQnpkSEpwYm1jcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1MFlXZHpMbUZrWkNoMFlXY3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJCWkdRZ1lTQnNhVzVySUhSdklIUm9aU0J0WlhSaFpHRjBZUzRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdiR2x1YXloc2FXNXJPaUJNYVc1cktTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbXhwYm10ekxtWnBibVFvS0hZcElEMCtJSFl1WlhGMVlXeHpLR3hwYm1zcEtTa2djbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG14cGJtdHpMbkIxYzJnb2JHbHVheWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVGa1pDQmhiaUJwYm14cGJtVWdabWxsYkdRZ2RHOGdkR2hsSUcxbGRHRmtZWFJoTGlBcUwxeHVJQ0FnSUhCMVlteHBZeUJwYm14cGJtVkdhV1ZzWkNobWFXVnNaRG9nU1c1c2FXNWxSbWxsYkdRcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JHOTNaWElnUFNCbWFXVnNaQzVyWlhrdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tFOWlhbVZqZEM1clpYbHpLSFJvYVhNdWFXNXNhVzVsUm1sbGJHUnpLUzV6YjIxbEtDaHJaWGtwSUQwK0lHdGxlUzUwYjB4dmQyVnlRMkZ6WlNncElEMDlJR3h2ZDJWeUtTa2djbVYwZFhKdU8xeHVYRzRnSUNBZ0lDQWdJSFJvYVhNdWFXNXNhVzVsUm1sbGJHUnpXMnh2ZDJWeVhTQTlJR1pwWld4a08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQlNaWFIxY200Z1lTQnNhWE4wSUc5bUlIVnVhWEYxWlNCaFpHUmxaQ0IwWVdkekxpQXFMMXh1SUNBZ0lIQjFZbXhwWXlCbWFXNXBjMmhVWVdkektDazZJSE4wY21sdVoxdGRJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRUZ5Y21GNUxtWnliMjBvZEdocGN5NTBZV2R6S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1VtVjBkWEp1SUdFZ2JHbHpkQ0J2WmlCS1UwOU9MWE5sY21saGJHbDZaV1FnYkdsdWEzTXVJQ292WEc0Z0lDQWdjSFZpYkdsaklHWnBibWx6YUV4cGJtdHpLQ2s2SUVwemIyNU1hVzVyVzEwZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVzYVc1cmN5NXRZWEFvS0d4cGJtc3BJRDArSUd4cGJtc3VkRzlQWW1wbFkzUW9LU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUZKbGRIVnliaUJoSUd4cGMzUWdiMllnU2xOUFRpMXpaWEpwWVd4cGVtVmtJR2x1YkdsdVpTQm1hV1ZzWkhNdUlDb3ZYRzRnSUNBZ2NIVmliR2xqSUdacGJtbHphRWx1YkdsdVpVWnBaV3hrY3lncE9pQlNaV052Y21ROGMzUnlhVzVuTENCS2MyOXVTVzVzYVc1bFJtbGxiR1ErSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGNFOWlhbVZqZEZaaGJIVmxjeWgwYUdsekxtbHViR2x1WlVacFpXeGtjeXdnYW5OdmJrbHViR2x1WlVacFpXeGtLVHRjYmlBZ0lDQjlYRzU5WEc1Y2JpOHFLaUJEYjI1MmFXVnVaVzUwSUhWMGFXeHBkSGtnWm05eUlHTnZibk4wY25WamRHbHVaeUJ3WVdkbElHOWlhbVZqZEhNdUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1VHRm5aVVJoZEdFZ2UxeHVJQ0FnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2loY2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUhCaGRHZzZJSE4wY21sdVp5eGNiaUFnSUNBZ0lDQWdjSFZpYkdsaklITjBZWFJ6T2lCR2FXeGxVM1JoZEhNc1hHNGdJQ0FnSUNBZ0lIQjFZbXhwWXlCc1pXNW5kR2c2SUc1MWJXSmxjaXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJRzFsZEdGa1lYUmhPaUJOWlhSaFpHRjBZU3hjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJSE5sWTNScGIyNXpPaUJUWldOMGFXOXVSR0YwWVZ0ZExGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1puSnZiblJ0WVhSMFpYSS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQktjMjl1Um5KdmJuUnRZWFIwWlhKRmJuUnllVDVjYmlBZ0lDQXBJSHQ5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZblZwYkdRb0tUb2dTbk52YmsxaGNtdGtiM2R1VUdGblpTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBa2NHRjBhRG9nZEdocGN5NXdZWFJvTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKR04wYVcxbE9pQjBhR2x6TG5OMFlYUnpMbU4wYVcxbExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkcxMGFXMWxPaUIwYUdsekxuTjBZWFJ6TG0xMGFXMWxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0pITnBlbVU2SUhSb2FYTXVjM1JoZEhNdWMybDZaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUmxlSFJsYm5OcGIyNDZJR2RsZEVWNGRHVnVjMmx2YmloMGFHbHpMbkJoZEdncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN0lITjBZWEowT2lBd0xDQmxibVE2SUhSb2FYTXViR1Z1WjNSb0lIMHNYRzRnSUNBZ0lDQWdJQ0FnSUNBa2RHRm5jem9nZEdocGN5NXRaWFJoWkdGMFlTNW1hVzVwYzJoVVlXZHpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiR2x1YTNNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9UR2x1YTNNb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNScGJtWnBaV3hrY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaEpibXhwYm1WR2FXVnNaSE1vS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1J6WldOMGFXOXVjem9nZEdocGN5NXpaV04wYVc5dWN5NXRZWEFvS0hncElEMCtJSGd1WW5WcGJHUW9LU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtabkp2Ym5SdFlYUjBaWEk2SUhSb2FYTXVabkp2Ym5SdFlYUjBaWElzWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dWZWeHVYRzR2S2lvZ1EyOXVkbWxsYm1WdWRDQjFkR2xzYVhSNUlHWnZjaUJqYjI1emRISjFZM1JwYm1jZ2JXRnlhMlJ2ZDI0Z2MyVmpkR2x2Ym5NdUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1UyVmpkR2x2YmtSaGRHRWdlMXh1SUNBZ0lIQjFZbXhwWXlCaWJHOWphM002SUVKc2IyTnJSR0YwWVZ0ZElEMGdXMTA3WEc0Z0lDQWdjSFZpYkdsaklHMWxkR0ZrWVhSaE9pQk5aWFJoWkdGMFlTQTlJRzVsZHlCTlpYUmhaR0YwWVNncE8xeHVYRzRnSUNBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ2MzUmhjblE2SUc1MWJXSmxjaXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJR1Z1WkRvZ2JuVnRZbVZ5TEZ4dUlDQWdJQ0FnSUNCd2RXSnNhV01nZEdsMGJHVTZJSE4wY21sdVp5eGNiaUFnSUNBZ0lDQWdjSFZpYkdsaklHeGxkbVZzT2lCdWRXMWlaWElzWEc0Z0lDQWdJQ0FnSUhCMVlteHBZeUJ2Y21ScGJtRnNPaUJ1ZFcxaVpYSmNiaUFnSUNBcElIdDlYRzVjYmlBZ0lDQndkV0pzYVdNZ1lteHZZMnNvWW14dlkyczZJRUpzYjJOclJHRjBZU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbUpzYjJOcmN5NXdkWE5vS0dKc2IyTnJLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ1luVnBiR1FvS1RvZ1NuTnZiazFoY210a2IzZHVVMlZqZEdsdmJpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBa2RHbDBiR1U2SUhSb2FYTXVkR2wwYkdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYjNKa2FXNWhiRG9nZEdocGN5NXZjbVJwYm1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkd4bGRtVnNPaUIwYUdsekxteGxkbVZzTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKSFJoWjNNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9WR0ZuY3lncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkdsdVptbGxiR1J6T2lCMGFHbHpMbTFsZEdGa1lYUmhMbVpwYm1semFFbHViR2x1WlVacFpXeGtjeWdwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKR3hwYm10ek9pQjBhR2x6TG0xbGRHRmtZWFJoTG1acGJtbHphRXhwYm10ektDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBa2NHOXphWFJwYjI0NklIc2djM1JoY25RNklIUm9hWE11YzNSaGNuUXNJR1Z1WkRvZ2RHaHBjeTVsYm1RZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNSaWJHOWphM002SUhSb2FYTXVZbXh2WTJ0ekxtMWhjQ2dvWW14dlkyc3BJRDArSUdKc2IyTnJMbUoxYVd4a0tDa3BMRnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYm4xY2JseHVMeW9xSUVOdmJuTjBjblZqZEhNZ2JXRnlhMlJ2ZDI0Z2JHbHpkQ0JpYkc5amEzTWdjM0JsWTJsbWFXTmhiR3g1TGlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUV4cGMzUkNiRzlqYTBSaGRHRWdlMXh1SUNBZ0lIQjFZbXhwWXlCMGVYQmxPaUJ6ZEhKcGJtY2dQU0JjSW14cGMzUmNJanRjYmlBZ0lDQndkV0pzYVdNZ2JXVjBZV1JoZEdFNklFMWxkR0ZrWVhSaElEMGdibVYzSUUxbGRHRmtZWFJoS0NrN1hHNGdJQ0FnY0hWaWJHbGpJR2wwWlcxek9pQk1hWE4wU1hSbGJVUmhkR0ZiWFNBOUlGdGRPMXh1WEc0Z0lDQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLSEIxWW14cFl5QnpkR0Z5ZERvZ2JuVnRZbVZ5TENCd2RXSnNhV01nWlc1a09pQnVkVzFpWlhJc0lIQjFZbXhwWXlCdmNtUnBibUZzT2lCdWRXMWlaWElzSUhCMVlteHBZeUJpYkc5amEwbGtQem9nYzNSeWFXNW5LU0I3ZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0oxYVd4a0tDazZJRXB6YjI1TllYSnJaRzkzYmt4cGMzUkNiRzlqYXlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYjNKa2FXNWhiRG9nZEdocGN5NXZjbVJwYm1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN0lITjBZWEowT2lCMGFHbHpMbk4wWVhKMExDQmxibVE2SUhSb2FYTXVaVzVrSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYVc1bWFXVnNaSE02SUhSb2FYTXViV1YwWVdSaGRHRXVabWx1YVhOb1NXNXNhVzVsUm1sbGJHUnpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtkR0ZuY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaFVZV2R6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYkdsdWEzTTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vVEdsdWEzTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUjBlWEJsT2lCY0lteHBjM1JjSWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1JpYkc5amEwbGtPaUIwYUdsekxtSnNiMk5yU1dRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrWld4bGJXVnVkSE02SUhSb2FYTXVhWFJsYlhNdWJXRndLQ2hwZEdWdEtTQTlQaUJwZEdWdExtSjFhV3hrS0NrcExGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibjFjYmx4dUx5b3FJRU52Ym5OMGNuVmpkSE1nYldGeWEyUnZkMjRnWTI5a1pXSnNiMk5yY3lCemNHVmphV1pwWTJGc2JIa3VJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdRMjlrWldKc2IyTnJSR0YwWVNCN1hHNGdJQ0FnY0hWaWJHbGpJSFI1Y0dVNklITjBjbWx1WnlBOUlGd2lZMjlrWldKc2IyTnJYQ0k3WEc0Z0lDQWdjSFZpYkdsaklHMWxkR0ZrWVhSaE9pQk5aWFJoWkdGMFlTQTlJRzVsZHlCTlpYUmhaR0YwWVNncE8xeHVYRzRnSUNBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ2MzUmhjblE2SUc1MWJXSmxjaXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJR1Z1WkRvZ2JuVnRZbVZ5TEZ4dUlDQWdJQ0FnSUNCd2RXSnNhV01nYjNKa2FXNWhiRG9nYm5WdFltVnlMRnh1SUNBZ0lDQWdJQ0J3ZFdKc2FXTWdiR0Z1WjNWaFoyVnpPaUJ6ZEhKcGJtZGJYU3hjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJSE4wZVd4bE9pQmNJbWx1WkdWdWRGd2lJSHdnWENKbVpXNWpaV1JjSWl4Y2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUdOdmJuUmxiblJUZEdGeWREb2diblZ0WW1WeUxGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1kyOXVkR1Z1ZEVWdVpEb2diblZ0WW1WeUxGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1lteHZZMnRKWkQ4NklITjBjbWx1WjF4dUlDQWdJQ2tnZTMxY2JseHVJQ0FnSUhCMVlteHBZeUJpZFdsc1pDZ3BPaUJLYzI5dVRXRnlhMlJ2ZDI1RGIyUmxZbXh2WTJzZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhSNWNHVTZJRndpWTI5a1pXSnNiMk5yWENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYjNKa2FXNWhiRG9nZEdocGN5NXZjbVJwYm1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN0lITjBZWEowT2lCMGFHbHpMbk4wWVhKMExDQmxibVE2SUhSb2FYTXVaVzVrSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYVc1bWFXVnNaSE02SUhSb2FYTXViV1YwWVdSaGRHRXVabWx1YVhOb1NXNXNhVzVsUm1sbGJHUnpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtkR0ZuY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaFVZV2R6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYkdsdWEzTTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vVEdsdWEzTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUmliRzlqYTBsa09pQjBhR2x6TG1Kc2IyTnJTV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiR0Z1WjNWaFoyVnpPaUIwYUdsekxteGhibWQxWVdkbGN5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNSemRIbHNaVG9nZEdocGN5NXpkSGxzWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1JqYjI1MFpXNTBVRzl6YVhScGIyNDZJSHNnYzNSaGNuUTZJSFJvYVhNdVkyOXVkR1Z1ZEZOMFlYSjBMQ0JsYm1RNklIUm9hWE11WTI5dWRHVnVkRVZ1WkNCOUxGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibjFjYmx4dUx5b3FJRU52Ym5OMGNuVmpkSE1nYldGeWEyUnZkMjRnWkdGMFlXSnNiMk5yY3lCemNHVmphV1pwWTJGc2JIa3VJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdSR0YwWVdKc2IyTnJSR0YwWVNCN1hHNGdJQ0FnY0hWaWJHbGpJSFI1Y0dVNklITjBjbWx1WnlBOUlGd2laR0YwWVdKc2IyTnJYQ0k3WEc0Z0lDQWdjSFZpYkdsaklHMWxkR0ZrWVhSaE9pQk5aWFJoWkdGMFlTQTlJRzVsZHlCTlpYUmhaR0YwWVNncE8xeHVYRzRnSUNBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ2MzUmhjblE2SUc1MWJXSmxjaXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJR1Z1WkRvZ2JuVnRZbVZ5TEZ4dUlDQWdJQ0FnSUNCd2RXSnNhV01nYjNKa2FXNWhiRG9nYm5WdFltVnlMRnh1SUNBZ0lDQWdJQ0J3ZFdKc2FXTWdaR0YwWVRvZ1VtVmpiM0prUEhOMGNtbHVaeXdnU25OdmJrWnliMjUwYldGMGRHVnlSVzUwY25rK0xGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1lteHZZMnRKWkQ4NklITjBjbWx1WjF4dUlDQWdJQ2tnZTMxY2JseHVJQ0FnSUhCMVlteHBZeUJpZFdsc1pDZ3BPaUJLYzI5dVRXRnlhMlJ2ZDI1RVlYUmhZbXh2WTJzZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhSNWNHVTZJRndpWkdGMFlXSnNiMk5yWENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYjNKa2FXNWhiRG9nZEdocGN5NXZjbVJwYm1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN0lITjBZWEowT2lCMGFHbHpMbk4wWVhKMExDQmxibVE2SUhSb2FYTXVaVzVrSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYVc1bWFXVnNaSE02SUhSb2FYTXViV1YwWVdSaGRHRXVabWx1YVhOb1NXNXNhVzVsUm1sbGJHUnpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtkR0ZuY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaFVZV2R6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYkdsdWEzTTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vVEdsdWEzTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUmliRzlqYTBsa09pQjBhR2x6TG1Kc2IyTnJTV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtaR0YwWVRvZ2RHaHBjeTVrWVhSaExGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibjFjYmx4dUx5b3FJRUpoYzJVZ1lteHZZMnNnYldWMFlXUmhkR0VnZFhObFpDQm1iM0lnYm05dUxYTndaV05wWm1saklHSnNiMk5yY3k0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCQ1lYTmxRbXh2WTJ0RVlYUmhJSHRjYmlBZ0lDQndkV0pzYVdNZ2JXVjBZV1JoZEdFNklFMWxkR0ZrWVhSaElEMGdibVYzSUUxbGRHRmtZWFJoS0NrN1hHNWNiaUFnSUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb1hHNGdJQ0FnSUNBZ0lIQjFZbXhwWXlCemRHRnlkRG9nYm5WdFltVnlMRnh1SUNBZ0lDQWdJQ0J3ZFdKc2FXTWdaVzVrT2lCdWRXMWlaWElzWEc0Z0lDQWdJQ0FnSUhCMVlteHBZeUJ2Y21ScGJtRnNPaUJ1ZFcxaVpYSXNYRzRnSUNBZ0lDQWdJSEIxWW14cFl5QjBlWEJsT2lCemRISnBibWNzWEc0Z0lDQWdJQ0FnSUhCMVlteHBZeUJpYkc5amEwbGtQem9nYzNSeWFXNW5YRzRnSUNBZ0tTQjdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHSjFhV3hrS0NrNklFcHpiMjVOWVhKclpHOTNia0pzYjJOcklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNSMGVYQmxPaUIwYUdsekxuUjVjR1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiM0prYVc1aGJEb2dkR2hwY3k1dmNtUnBibUZzTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKSEJ2YzJsMGFXOXVPaUI3SUhOMFlYSjBPaUIwYUdsekxuTjBZWEowTENCbGJtUTZJSFJvYVhNdVpXNWtJSDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWthVzVtYVdWc1pITTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vU1c1c2FXNWxSbWxsYkdSektDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBa2RHRm5jem9nZEdocGN5NXRaWFJoWkdGMFlTNW1hVzVwYzJoVVlXZHpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiR2x1YTNNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9UR2x1YTNNb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNSaWJHOWphMGxrT2lCMGFHbHpMbUpzYjJOclNXUXNYRzRnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JDYkc5amEwUmhkR0VnUFNCTWFYTjBRbXh2WTJ0RVlYUmhJSHdnUTI5a1pXSnNiMk5yUkdGMFlTQjhJRVJoZEdGaWJHOWphMFJoZEdFZ2ZDQkNZWE5sUW14dlkydEVZWFJoTzF4dVhHNHZLaW9nVlhScGJHbDBlU0JtYjNJZ1kyOXVjM1J5ZFdOMGFXNW5JRzFoY210a2IzZHVJR3hwYzNRZ2FYUmxiWE11SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVEdsemRFbDBaVzFFWVhSaElIdGNiaUFnSUNCd2RXSnNhV01nYldWMFlXUmhkR0U2SUUxbGRHRmtZWFJoSUQwZ2JtVjNJRTFsZEdGa1lYUmhLQ2s3WEc0Z0lDQWdjSFZpYkdsaklHVnNaVzFsYm5Sek9pQk1hWE4wU1hSbGJVUmhkR0ZiWFNBOUlGdGRPMXh1SUNBZ0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaGNiaUFnSUNBZ0lDQWdjSFZpYkdsaklITjBZWEowT2lCdWRXMWlaWElzWEc0Z0lDQWdJQ0FnSUhCMVlteHBZeUJsYm1RNklHNTFiV0psY2l4Y2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUhCaGNtVnVkRXhwYm1VNklHNTFiV0psY2l4Y2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUhONWJXSnZiRDg2SUhOMGNtbHVaeXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJR0pzYjJOclNXUS9PaUJ6ZEhKcGJtY3NYRzRnSUNBZ0lDQWdJSEIxWW14cFl5QnpkR0YwZFhNL09pQnpkSEpwYm1jc1hHNGdJQ0FnSUNBZ0lIQjFZbXhwWXlCMFpYaDBQem9nYzNSeWFXNW5YRzRnSUNBZ0tTQjdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHSjFhV3hrS0NrNklFcHpiMjVOWVhKclpHOTNia3hwYzNSSmRHVnRJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDUndZWEpsYm5STWFXNWxPaUIwYUdsekxuQmhjbVZ1ZEV4cGJtVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBa2NHOXphWFJwYjI0NklIc2djM1JoY25RNklIUm9hWE11YzNSaGNuUXNJR1Z1WkRvZ2RHaHBjeTVsYm1RZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNSaWJHOWphMGxrT2lCMGFHbHpMbUpzYjJOclNXUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBa1pXeGxiV1Z1ZEhNNklIUm9hWE11Wld4bGJXVnVkSE11YldGd0tDaGxiR1Z0Wlc1MEtTQTlQaUJsYkdWdFpXNTBMbUoxYVd4a0tDa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0pIUjVjR1U2SUhSb2FYTXVjM1JoZEhWeklEOGdYQ0owWVhOclhDSWdPaUJjSW14cGMzUmNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDUnBibVpwWld4a2N6b2dkR2hwY3k1dFpYUmhaR0YwWVM1bWFXNXBjMmhKYm14cGJtVkdhV1ZzWkhNb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNSMFlXZHpPaUIwYUdsekxtMWxkR0ZrWVhSaExtWnBibWx6YUZSaFozTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUnNhVzVyY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaE1hVzVyY3lncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhOMFlYUjFjem9nZEdocGN5NXpkR0YwZFhNc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYzNsdFltOXNPaUIwYUdsekxuTjViV0p2YkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1IwWlhoME9pQjBhR2x6TG5SbGVIUXNYRzRnSUNBZ0lDQWdJSDBnWVhNZ1NuTnZiazFoY210a2IzZHVWR0Z6YTBsMFpXMDdYRzRnSUNBZ2ZWeHVmVnh1SWl3Z0ltbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJRndpWlhod2NtVnpjMmx2Ymk5c2FXNXJYQ0k3WEc1cGJYQnZjblFnZXlCRVlYUmxWR2x0WlN3Z1JIVnlZWFJwYjI0Z2ZTQm1jbTl0SUZ3aWJIVjRiMjVjSWp0Y2JtbHRjRzl5ZENBcUlHRnpJRkFnWm5KdmJTQmNJbkJoY25OcGJXMXZibHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdJQ0JDYVc1aGNubFBjQ3hjYmlBZ0lDQkZlSEJ5WlhOemFXOXVMRnh1SUNBZ0lFVjRjSEpsYzNOcGIyNXpMRnh1SUNBZ0lFeGhiV0prWVVWNGNISmxjM05wYjI0c1hHNGdJQ0FnVEdsemRFVjRjSEpsYzNOcGIyNHNYRzRnSUNBZ1RHbDBaWEpoYkVWNGNISmxjM05wYjI0c1hHNGdJQ0FnVDJKcVpXTjBSWGh3Y21WemMybHZiaXhjYmlBZ0lDQldZWEpwWVdKc1pVVjRjSEpsYzNOcGIyNHNYRzU5SUdaeWIyMGdYQ0l1TDJWNGNISmxjM05wYjI1Y0lqdGNibWx0Y0c5eWRDQmxiVzlxYVZKbFoyVjRJR1p5YjIwZ1hDSmxiVzlxYVMxeVpXZGxlRndpTzF4dWFXMXdiM0owSUh0Y2JpQWdJQ0JKYm1SbGVFTm9hV3hrVDJZc1hHNGdJQ0FnU1c1a1pYaFFZWFJvTEZ4dUlDQWdJRWx1WkdWNFNXUXNYRzRnSUNBZ1NXNWtaWGhPYjNRc1hHNGdJQ0FnU1c1a1pYaFFZWEpsYm5SUFppeGNiaUFnSUNCSmJtUmxlRkYxWlhKNUxGeHVJQ0FnSUVsdVpHVjRWR0ZuWjJWa0xGeHVJQ0FnSUVsdVpHVjRWSGx3WldRc1hHNGdJQ0FnU1c1a1pYaE1hVzVyWldRc1hHNGdJQ0FnU1c1a1pYaEdhV1ZzWkN4Y2JpQWdJQ0JKYm1SbGVFVjRjSEpsYzNOcGIyNHNYRzU5SUdaeWIyMGdYQ0pwYm1SbGVDOTBlWEJsY3k5cGJtUmxlQzF4ZFdWeWVWd2lPMXh1YVcxd2IzSjBJSHNnYm05eWJXRnNhWHBsUkhWeVlYUnBiMjRnZlNCbWNtOXRJRndpZFhScGJITXZibTl5YldGc2FYcGxjbk5jSWp0Y2JtbHRjRzl5ZENCN0lFeHBkR1Z5WVd3Z2ZTQm1jbTl0SUZ3aVpYaHdjbVZ6YzJsdmJpOXNhWFJsY21Gc1hDSTdYRzVjYmk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh1THk4Z1VHRnljMmx1WnlCUWNtbHRhWFJwZG1WeklDOHZYRzR2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNibHh1THlvcUlGQnlhVzFwZEdsMlpTQndZWEp6YVc1bklHWnZjaUJqYjIxdGIyNXNlU0J6WldWdUlIUjVjR1Z6TGlBcUwxeHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlFjbWx0YVhScGRtVnpUR0Z1WjNWaFoyVWdlMXh1SUNBZ0lHNTFiV0psY2pvZ2JuVnRZbVZ5TzF4dUlDQWdJSE4wY21sdVp6b2djM1J5YVc1bk8xeHVJQ0FnSUdWelkyRndaVU5vWVhKaFkzUmxjam9nYzNSeWFXNW5PMXh1SUNBZ0lHSnZiMnc2SUdKdmIyeGxZVzQ3WEc0Z0lDQWdkR0ZuT2lCemRISnBibWM3WEc0Z0lDQWdhV1JsYm5ScFptbGxjam9nYzNSeWFXNW5PMXh1SUNBZ0lHeHBibXM2SUV4cGJtczdYRzRnSUNBZ1pXMWlaV1JNYVc1ck9pQk1hVzVyTzF4dUlDQWdJSEp2YjNSRVlYUmxPaUJFWVhSbFZHbHRaVHRjYmlBZ0lDQmtZWFJsVTJodmNuUm9ZVzVrT2lCclpYbHZaaUIwZVhCbGIyWWdSRUZVUlY5VFNFOVNWRWhCVGtSVE8xeHVJQ0FnSUdSaGRHVTZJRVJoZEdWVWFXMWxPMXh1SUNBZ0lHUmhkR1ZRYkhWek9pQkVZWFJsVkdsdFpUdGNiaUFnSUNCa2RYSmhkR2x2YmxSNWNHVTZJR3RsZVc5bUlIUjVjR1Z2WmlCRVZWSkJWRWxQVGw5VVdWQkZVenRjYmlBZ0lDQmtkWEpoZEdsdmJqb2dSSFZ5WVhScGIyNDdYRzRnSUNBZ2NtRjNUblZzYkRvZ2MzUnlhVzVuTzF4dVhHNGdJQ0FnWW1sdVlYSjVVR3gxYzAxcGJuVnpPaUJDYVc1aGNubFBjRHRjYmlBZ0lDQmlhVzVoY25sTmRXeEVhWFk2SUVKcGJtRnllVTl3TzF4dUlDQWdJR0pwYm1GeWVVTnZiWEJoY21WUGNEb2dRbWx1WVhKNVQzQTdYRzRnSUNBZ1ltbHVZWEo1UVc1a1QzQTZJRUpwYm1GeWVVOXdPMXh1SUNBZ0lHSnBibUZ5ZVU5eVQzQTZJRUpwYm1GeWVVOXdPMXh1WEc0Z0lDQWdMeThnVEdsMFpYSmhiQ0JtYVdWc1pDQndZWEp6YVc1bklHWnZjaUJwYm1kbGMzUnBibWNnYVc1c2FXNWxJR1pwWld4a2N5QmhibVFnWm5KdmJuUnRZWFIwWlhJdVhHNGdJQ0FnWVhSdmJVbHViR2x1WlVacFpXeGtPaUJNYVhSbGNtRnNPMXh1SUNBZ0lHbHViR2x1WlVacFpXeGtUR2x6ZERvZ1RHbDBaWEpoYkZ0ZE8xeHVJQ0FnSUdsdWJHbHVaVVpwWld4a09pQk1hWFJsY21Gc08xeHVmVnh1WEc0dktpb2dTVzF3YkdWdFpXNTBZWFJwYjI1eklHWnZjaUJ0WVc1NUlIQnlhVzFwZEdsMlpYTXVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdVRkpKVFVsVVNWWkZVeUE5SUZBdVkzSmxZWFJsVEdGdVozVmhaMlU4VUhKcGJXbDBhWFpsYzB4aGJtZDFZV2RsUGloN1hHNGdJQ0FnYm5WdFltVnlPaUFvWHlrZ1BUNWNiaUFnSUNBZ0lDQWdVQzV5WldkbGVIQW9MeTAvV3pBdE9WMHJLRnhjTGxzd0xUbGRLeWsvTHlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tITjBjaWtnUFQ0Z1RuVnRZbVZ5TG5CaGNuTmxSbXh2WVhRb2MzUnlLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNWtaWE5qS0Z3aWJuVnRZbVZ5WENJcExGeHVYRzRnSUNBZ0x5OGdRU0J4ZFc5MFpTMXpkWEp5YjNWdVpHVmtJSE4wY21sdVp5QjNhR2xqYUNCemRYQndiM0owY3lCbGMyTmhjR1VnWTJoaGNtRmpkR1Z5Y3lBb0oxeGNKeWt1WEc0Z0lDQWdjM1J5YVc1bk9pQW9jU2tnUFQ1Y2JpQWdJQ0FnSUNBZ1VDNXpkSEpwYm1jb0oxd2lKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDNTBhR1Z1S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZBdVlXeDBLSEV1WlhOallYQmxRMmhoY21GamRHVnlMQ0JRTG01dmJtVlBaaWduWENKY1hGeGNKeWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNWhkRXhsWVhOMEtEQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM1dFlYQW9LR05vWVhKektTQTlQaUJqYUdGeWN5NXFiMmx1S0Z3aVhDSXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG5OcmFYQW9VQzV6ZEhKcGJtY29KMXdpSnlrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1WkdWell5aGNJbk4wY21sdVoxd2lLU3hjYmx4dUlDQWdJR1Z6WTJGd1pVTm9ZWEpoWTNSbGNqb2dLRjhwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVjM1J5YVc1bktGd2lYRnhjWEZ3aUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG5Sb1pXNG9VQzVoYm5rcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tDaGxjMk5oY0dWa0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdkMlVnWVhKbElHVnpZMkZ3YVc1bklHRWdZbUZqYTNOc1lYTm9JRzl5SUdFZ2NYVnZkR1VzSUhCaGMzTWdhVzRnYjI0Z2FXNGdaWE5qWVhCbFpDQm1iM0p0WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVnpZMkZ3WldRZ1BUMDlJQ2RjSWljcElISmxkSFZ5YmlBblhDSW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobGMyTmhjR1ZrSUQwOVBTQmNJbHhjWEZ4Y0lpa2djbVYwZFhKdUlGd2lYRnhjWEZ3aU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnY21WMGRYSnVJRndpWEZ4Y1hGd2lJQ3NnWlhOallYQmxaRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBMRnh1WEc0Z0lDQWdMeThnUVNCaWIyOXNaV0Z1SUhSeWRXVXZabUZzYzJVZ2RtRnNkV1V1WEc0Z0lDQWdZbTl2YkRvZ0tGOHBJRDArWEc0Z0lDQWdJQ0FnSUZBdWNtVm5aWGh3S0M5MGNuVmxmR1poYkhObGZGUnlkV1Y4Um1Gc2MyVXZLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvYzNSeUtTQTlQaUJ6ZEhJdWRHOU1iM2RsY2tOaGMyVW9LU0E5UFNCY0luUnlkV1ZjSWlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzVrWlhOaktGd2lZbTl2YkdWaGJsd2lLU3hjYmx4dUlDQWdJQzh2SUVFZ2RHRm5JRzltSUhSb1pTQm1iM0p0SUNjamMzUjFabVl2YUdWc2JHOHRkR2hsY21VbkxseHVJQ0FnSUhSaFp6b2dLRjhwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVjMlZ4VFdGd0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnVUM1emRISnBibWNvWENJalhDSXBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1VDNWhiSFFvVUM1eVpXZGxlSEFvTDF0ZVhGeDFNakF3TUMxY1hIVXlNRFpHWEZ4MU1rVXdNQzFjWEhVeVJUZEdKeUZjSWlNa0pTWW9LU29yTEM0Nk96dzlQajlBWG1CN2ZIMStYRnhiWEZ4ZFhGeGNYRnhjYzEwdktTNWtaWE5qS0Z3aWRHVjRkRndpS1NrdWJXRnVlU2dwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLSE4wWVhKMExDQnlaWE4wS1NBOVBpQnpkR0Z5ZENBcklISmxjM1F1YW05cGJpaGNJbHdpS1Z4dUlDQWdJQ0FnSUNBcExtUmxjMk1vWENKMFlXZGNJaWtzWEc1Y2JpQWdJQ0F2THlCQklIWmhjbWxoWW14bElHbGtaVzUwYVdacFpYSXNJSGRvYVdOb0lHbHpJR0ZzY0doaGJuVnRaWEpwWXlCaGJtUWdiWFZ6ZENCemRHRnlkQ0IzYVhSb0lHRWdiR1YwZEdWeUlHOXlMaTR1SUdWdGIycHBMbHh1SUNBZ0lHbGtaVzUwYVdacFpYSTZJQ2hmS1NBOVBseHVJQ0FnSUNBZ0lDQlFMbk5sY1UxaGNDaGNiaUFnSUNBZ0lDQWdJQ0FnSUZBdVlXeDBLRkF1Y21WblpYaHdLQzliWEZ4d2UweGxkSFJsY24wa1hTOTFLU3dnVUM1eVpXZGxlSEFvUlUxUFNrbGZVa1ZIUlZncExtUmxjMk1vWENKMFpYaDBYQ0lwS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJRkF1WVd4MEtGQXVjbVZuWlhod0tDOWJNQzA1WEZ4d2UweGxkSFJsY24wa1h5MWRMM1VwTENCUUxuSmxaMlY0Y0NoRlRVOUtTVjlTUlVkRldDa3VaR1Z6WXloY0luUmxlSFJjSWlrcExtMWhibmtvS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2htYVhKemRDd2djbVZ6ZENrZ1BUNGdabWx5YzNRZ0t5QnlaWE4wTG1wdmFXNG9YQ0pjSWlsY2JpQWdJQ0FnSUNBZ0tTNWtaWE5qS0Z3aWRtRnlhV0ZpYkdWY0lpa3NYRzVjYmlBZ0lDQXZMeUJCYmlCUFluTnBaR2xoYmlCc2FXNXJJRzltSUhSb1pTQm1iM0p0SUZ0YlBHeHBibXMrWFYwdVhHNGdJQ0FnYkdsdWF6b2dLRjhwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVjbVZuWlhod0tDOWNYRnRjWEZzb1cxNWNYRnRjWEYxZEtqOHBYRnhkWEZ4ZEwzVXNJREVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXViV0Z3S0Noc2FXNXJTVzV1WlhJcElEMCtJRXhwYm1zdWNHRnljMlZKYm01bGNpaHNhVzVyU1c1dVpYSXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtUmxjMk1vWENKbWFXeGxJR3hwYm10Y0lpa3NYRzVjYmlBZ0lDQXZMeUJCYmlCbGJXSmxaR1JoWW14bElHeHBibXNnZDJocFkyZ2dZMkZ1SUhOMFlYSjBJSGRwZEdnZ0p5RW5MaUJVYUdseklHOTJaWEpzWVhCeklIZHBkR2dnZEdobElHNXZjbTFoYkNCdVpXZGhkR2x2YmlCdmNHVnlZWFJ2Y2l3Z2MyOGdhWFFnYVhNZ2IyNXNlVnh1SUNBZ0lDOHZJSEJ5YjNacFpHVmtJR1p2Y2lCdFpYUmhaR0YwWVNCd1lYSnphVzVuTGx4dUlDQWdJR1Z0WW1Wa1RHbHVhem9nS0hFcElEMCtYRzRnSUNBZ0lDQWdJRkF1YzJWeFRXRndLRkF1YzNSeWFXNW5LRndpSVZ3aUtTNWhkRTF2YzNRb01Ta3NJSEV1YkdsdWF5d2dLSEFzSUd3cElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3TG14bGJtZDBhQ0ErSURBcElHd3VaVzFpWldRZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHdzdYRzRnSUNBZ0lDQWdJSDBwTG1SbGMyTW9YQ0ptYVd4bElHeHBibXRjSWlrc1hHNWNiaUFnSUNBdkx5QkNhVzVoY25rZ2NHeDFjeUJ2Y2lCdGFXNTFjeUJ2Y0dWeVlYUnZjaTVjYmlBZ0lDQmlhVzVoY25sUWJIVnpUV2x1ZFhNNklDaGZLU0E5UGx4dUlDQWdJQ0FnSUNCUUxuSmxaMlY0Y0NndlhGd3JmQzB2S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb2MzUnlLU0E5UGlCemRISWdZWE1nUW1sdVlYSjVUM0FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVaR1Z6WXloY0lpY3JKeUJ2Y2lBbkxTZGNJaWtzWEc1Y2JpQWdJQ0F2THlCQ2FXNWhjbmtnZEdsdFpYTWdiM0lnWkdsMmFXUmxJRzl3WlhKaGRHOXlMbHh1SUNBZ0lHSnBibUZ5ZVUxMWJFUnBkam9nS0Y4cElEMCtYRzRnSUNBZ0lDQWdJRkF1Y21WblpYaHdLQzljWENwOFhGd3ZmQ1V2S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb2MzUnlLU0E5UGlCemRISWdZWE1nUW1sdVlYSjVUM0FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVaR1Z6WXloY0lpY3FKeUJ2Y2lBbkx5Y2diM0lnSnlVblhDSXBMRnh1WEc0Z0lDQWdMeThnUW1sdVlYSjVJR052YlhCaGNtbHpiMjRnYjNCbGNtRjBiM0l1WEc0Z0lDQWdZbWx1WVhKNVEyOXRjR0Z5WlU5d09pQW9YeWtnUFQ1Y2JpQWdJQ0FnSUNBZ1VDNXlaV2RsZUhBb0x6NDlmRHc5ZkNFOWZENThQSHc5THlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tITjBjaWtnUFQ0Z2MzUnlJR0Z6SUVKcGJtRnllVTl3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbVJsYzJNb1hDSW5QajBuSUc5eUlDYzhQU2NnYjNJZ0p5RTlKeUJ2Y2lBblBTY2diM0lnSno0bklHOXlJQ2M4SjF3aUtTeGNibHh1SUNBZ0lDOHZJRUpwYm1GeWVTQmliMjlzWldGdUlHTnZiV0pwYm1GMGFXOXVJRzl3WlhKaGRHOXlMbHh1SUNBZ0lHSnBibUZ5ZVVGdVpFOXdPaUFvWHlrZ1BUNWNiaUFnSUNBZ0lDQWdVQzV5WldkbGVIQW9MMkZ1Wkh3bUwya3BYRzRnSUNBZ0lDQWdJQ0FnSUNBdWJXRndLQ2hmYzNSeUtTQTlQaUJjSWlaY0lpQmhjeUJDYVc1aGNubFBjQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNWtaWE5qS0Z3aUoyRnVaQ2RjSWlrc1hHNGdJQ0FnWW1sdVlYSjVUM0pQY0RvZ0tGOHBJRDArWEc0Z0lDQWdJQ0FnSUZBdWNtVm5aWGh3S0M5dmNueGNYSHd2YVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tGOXpkSElwSUQwK0lGd2lmRndpSUdGeklFSnBibUZ5ZVU5d0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG1SbGMyTW9YQ0luYjNJblhDSXBMRnh1WEc0Z0lDQWdMeThnUVNCa1lYUmxJSGRvYVdOb0lHTmhiaUJpWlNCWldWbFpMVTFOV3kxRVJGUklTRHB0YlRwemMxMHVYRzRnSUNBZ2NtOXZkRVJoZEdVNklDaGZLU0E5UGx4dUlDQWdJQ0FnSUNCUUxuTmxjVTFoY0NoUUxuSmxaMlY0Y0NndlhGeGtlelI5THlrc0lGQXVjM1J5YVc1bktGd2lMVndpS1N3Z1VDNXlaV2RsZUhBb0wxeGNaSHN5ZlM4cExDQW9lV1ZoY2l3Z1h5d2diVzl1ZEdncElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCRVlYUmxWR2x0WlM1bWNtOXRUMkpxWldOMEtIc2dlV1ZoY2pvZ1RuVnRZbVZ5TG5CaGNuTmxTVzUwS0hsbFlYSXBMQ0J0YjI1MGFEb2dUblZ0WW1WeUxuQmhjbk5sU1c1MEtHMXZiblJvS1NCOUtUdGNiaUFnSUNBZ0lDQWdmU2t1WkdWell5aGNJbVJoZEdVZ2FXNGdabTl5YldGMElGbFpXVmt0VFUxYkxVUkVWRWhJTFUxTkxWTlRMazFUWFZ3aUtTeGNiaUFnSUNCa1lYUmxVMmh2Y25Sb1lXNWtPaUFvWHlrZ1BUNWNiaUFnSUNBZ0lDQWdVQzVoYkhRb1hHNGdJQ0FnSUNBZ0lDQWdJQ0F1TGk1UFltcGxZM1F1YTJWNWN5aEVRVlJGWDFOSVQxSlVTRUZPUkZNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0xuTnZjblFvS0dFc0lHSXBJRDArSUdJdWJHVnVaM1JvSUMwZ1lTNXNaVzVuZEdncFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2hRTG5OMGNtbHVaeWxjYmlBZ0lDQWdJQ0FnS1NCaGN5QlFMbEJoY25ObGNqeHJaWGx2WmlCMGVYQmxiMllnUkVGVVJWOVRTRTlTVkVoQlRrUlRQaXhjYmlBZ0lDQmtZWFJsT2lBb2NTa2dQVDVjYmlBZ0lDQWdJQ0FnWTJoaGFXNVBjSFE4UkdGMFpWUnBiV1UrS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdjUzV5YjI5MFJHRjBaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaDViVG9nUkdGMFpWUnBiV1VwSUQwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1VDNXpaWEZOWVhBb1VDNXpkSEpwYm1jb1hDSXRYQ0lwTENCUUxuSmxaMlY0Y0NndlhGeGtleko5THlrc0lDaGZMQ0JrWVhrcElEMCtJSGx0TG5ObGRDaDdJR1JoZVRvZ1RuVnRZbVZ5TG5CaGNuTmxTVzUwS0dSaGVTa2dmU2twTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLSGx0WkRvZ1JHRjBaVlJwYldVcElEMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdVQzV6WlhGTllYQW9VQzV6ZEhKcGJtY29YQ0pVWENJcExDQlFMbkpsWjJWNGNDZ3ZYRnhrZXpKOUx5a3NJQ2hmTENCb2IzVnlLU0E5UGlCNWJXUXVjMlYwS0hzZ2FHOTFjam9nVG5WdFltVnlMbkJoY25ObFNXNTBLR2h2ZFhJcElIMHBLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaDViV1JvT2lCRVlYUmxWR2x0WlNrZ1BUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQlFMbk5sY1UxaGNDaFFMbk4wY21sdVp5aGNJanBjSWlrc0lGQXVjbVZuWlhod0tDOWNYR1I3TW4wdktTd2dLRjhzSUcxcGJuVjBaU2tnUFQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlVzFrYUM1elpYUW9leUJ0YVc1MWRHVTZJRTUxYldKbGNpNXdZWEp6WlVsdWRDaHRhVzUxZEdVcElIMHBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaDViV1JvYlRvZ1JHRjBaVlJwYldVcElEMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdVQzV6WlhGTllYQW9VQzV6ZEhKcGJtY29YQ0k2WENJcExDQlFMbkpsWjJWNGNDZ3ZYRnhrZXpKOUx5a3NJQ2hmTENCelpXTnZibVFwSUQwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGx0WkdodExuTmxkQ2g3SUhObFkyOXVaRG9nVG5WdFltVnlMbkJoY25ObFNXNTBLSE5sWTI5dVpDa2dmU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLSGx0WkdodGN6b2dSR0YwWlZScGJXVXBJRDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnVUM1aGJIUW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZBdWMyVnhUV0Z3S0ZBdWMzUnlhVzVuS0Z3aUxsd2lLU3dnVUM1eVpXZGxlSEFvTDF4Y1pIc3pmUzhwTENBb1h5d2diV2xzYkdselpXTnZibVFwSUQwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWJXUm9iWE11YzJWMEtIc2diV2xzYkdselpXTnZibVE2SUU1MWJXSmxjaTV3WVhKelpVbHVkQ2h0YVd4c2FYTmxZMjl1WkNrZ2ZTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdVQzV6ZFdOalpXVmtLSGx0WkdodGN5a2dMeThnY0dGemMxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBb1pIUTZJRVJoZEdWVWFXMWxLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZBdVlXeDBLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCUUxuTmxjVTFoY0NoUUxuTjBjbWx1WnloY0lpdGNJaWt1YjNJb1VDNXpkSEpwYm1jb1hDSXRYQ0lwS1N3Z1VDNXlaV2RsZUhBb0wxeGNaSHN4TERKOUtEcGNYR1I3TW4wcFB5OHBMQ0FvY0cwc0lHaHlLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkhRdWMyVjBXbTl1WlNoY0lsVlVRMXdpSUNzZ2NHMGdLeUJvY2l3Z2V5QnJaV1Z3VEc5allXeFVhVzFsT2lCMGNuVmxJSDBwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZBdWMyVnhUV0Z3S0ZBdWMzUnlhVzVuS0Z3aVdsd2lLU3dnS0NrZ1BUNGdaSFF1YzJWMFdtOXVaU2hjSW5WMFkxd2lMQ0I3SUd0bFpYQk1iMk5oYkZScGJXVTZJSFJ5ZFdVZ2ZTa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCUUxuTmxjVTFoY0NoUUxuTjBjbWx1WnloY0lsdGNJaWtzSUZBdWNtVm5aWGh3S0M5Yk1DMDVRUzFhWVMxNkt5MWNYQzlkS3k5MUtTd2dVQzV6ZEhKcGJtY29YQ0pkWENJcExDQW9YMkVzSUhwdmJtVXNJRjlpS1NBOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pIUXVjMlYwV205dVpTaDZiMjVsTENCN0lHdGxaWEJNYjJOaGJGUnBiV1U2SUhSeWRXVWdmU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDbGNiaUFnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtRnpjMlZ5ZENnb1pIUTZJRVJoZEdWVWFXMWxLU0E5UGlCa2RDNXBjMVpoYkdsa0xDQmNJblpoYkdsa0lHUmhkR1ZjSWlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzVrWlhOaktGd2laR0YwWlNCcGJpQm1iM0p0WVhRZ1dWbFpXUzFOVFZzdFJFUlVTRWd0VFUwdFUxTXVUVk5kWENJcExGeHVYRzRnSUNBZ0x5OGdRU0JrWVhSbExDQndiSFZ6SUhaaGNtbHZkWE1nYzJodmNuUm9ZVzVrSUhScGJXVnpJRzltSUdSaGVTQnBkQ0JqYjNWc1pDQmlaUzVjYmlBZ0lDQmtZWFJsVUd4MWN6b2dLSEVwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVZV3gwUEVSaGRHVlVhVzFsUGloY2JpQWdJQ0FnSUNBZ0lDQWdJSEV1WkdGMFpWTm9iM0owYUdGdVpDNXRZWEFvS0dRcElEMCtJRVJCVkVWZlUwaFBVbFJJUVU1RVUxdGtYU2dwS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1WkdGMFpWeHVJQ0FnSUNBZ0lDQXBMbVJsYzJNb1hDSmtZWFJsSUdsdUlHWnZjbTFoZENCWldWbFpMVTFOV3kxRVJGUklTQzFOVFMxVFV5NU5VMTBnYjNJZ2FXNGdjMmh2Y25Sb1lXNWtYQ0lwTEZ4dVhHNGdJQ0FnTHk4Z1FTQmtkWEpoZEdsdmJpQnZaaUIwYVcxbExseHVJQ0FnSUdSMWNtRjBhVzl1Vkhsd1pUb2dLRjhwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVZV3gwS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdMaTR1VDJKcVpXTjBMbXRsZVhNb1JGVlNRVlJKVDA1ZlZGbFFSVk1wWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTG5OdmNuUW9LR0VzSUdJcElEMCtJR0l1YkdWdVozUm9JQzBnWVM1c1pXNW5kR2dwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTG0xaGNDaFFMbk4wY21sdVp5bGNiaUFnSUNBZ0lDQWdLU0JoY3lCUUxsQmhjbk5sY2p4clpYbHZaaUIwZVhCbGIyWWdSRlZTUVZSSlQwNWZWRmxRUlZNK0xGeHVJQ0FnSUdSMWNtRjBhVzl1T2lBb2NTa2dQVDVjYmlBZ0lDQWdJQ0FnVUM1elpYRk5ZWEFvY1M1dWRXMWlaWElzSUZBdWIzQjBWMmhwZEdWemNHRmpaU3dnY1M1a2RYSmhkR2x2YmxSNWNHVXNJQ2hqYjNWdWRDd2dYeXdnZENrZ1BUNWNiaUFnSUNBZ0lDQWdJQ0FnSUVSVlVrRlVTVTlPWDFSWlVFVlRXM1JkTG0xaGNGVnVhWFJ6S0NoNEtTQTlQaUI0SUNvZ1kyOTFiblFwWEc0Z0lDQWdJQ0FnSUNsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV6WlhCQ2VURW9VQzV6ZEhKcGJtY29YQ0lzWENJcExuUnlhVzBvVUM1dmNIUlhhR2wwWlhOd1lXTmxLUzV2Y2loUUxtOXdkRmRvYVhSbGMzQmhZMlVwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb1pIVnlZWFJwYjI1ektTQTlQaUJrZFhKaGRHbHZibk11Y21Wa2RXTmxLQ2h3TENCaktTQTlQaUJ3TG5Cc2RYTW9ZeWtwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbVJsYzJNb1hDSmtkWEpoZEdsdmJpQnNhV3RsSURSb2NqSnRhVzVjSWlrc1hHNWNiaUFnSUNBdkx5QkJJSEpoZHlCdWRXeHNJSFpoYkhWbExseHVJQ0FnSUhKaGQwNTFiR3c2SUNoZktTQTlQaUJRTG5OMGNtbHVaeWhjSW01MWJHeGNJaWtzWEc1Y2JpQWdJQ0F2THlCSmJteHBibVVnWm1sbGJHUWdkbUZzZFdVZ2NHRnljMmx1Wnk1Y2JpQWdJQ0JoZEc5dFNXNXNhVzVsUm1sbGJHUTZJQ2h4S1NBOVBseHVJQ0FnSUNBZ0lDQlFMbUZzZENoY2JpQWdJQ0FnSUNBZ0lDQWdJSEV1WkdGMFpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdVpIVnlZWFJwYjI0dWJXRndLQ2hrS1NBOVBpQnViM0p0WVd4cGVtVkVkWEpoZEdsdmJpaGtLU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbk4wY21sdVp5eGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdWRHRm5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNWxiV0psWkV4cGJtc3NYRzRnSUNBZ0lDQWdJQ0FnSUNCeExtSnZiMndzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbTUxYldKbGNpeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdWNtRjNUblZzYkZ4dUlDQWdJQ0FnSUNBcExGeHVJQ0FnSUdsdWJHbHVaVVpwWld4a1RHbHpkRG9nS0hFcElEMCtJSEV1WVhSdmJVbHViR2x1WlVacFpXeGtMbk5sY0VKNUtGQXVjM1J5YVc1bktGd2lMRndpS1M1MGNtbHRLRkF1YjNCMFYyaHBkR1Z6Y0dGalpTa3ViRzl2YTJGb1pXRmtLSEV1WVhSdmJVbHViR2x1WlVacFpXeGtLU2tzWEc0Z0lDQWdhVzVzYVc1bFJtbGxiR1E2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JRTG1Gc2RDaGNiaUFnSUNBZ0lDQWdJQ0FnSUZBdWMyVnhUV0Z3S0hFdVlYUnZiVWx1YkdsdVpVWnBaV3hrTENCUUxuTjBjbWx1WnloY0lpeGNJaWt1ZEhKcGJTaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcExDQnhMbWx1YkdsdVpVWnBaV3hrVEdsemRDd2dLR1lzSUY5ekxDQnNLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZ0bVhTNWpiMjVqWVhRb2JDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG1GMGIyMUpibXhwYm1WR2FXVnNaRnh1SUNBZ0lDQWdJQ0FwTEZ4dWZTazdYRzVjYmk4cUtpQkZiVzlxYVNCeVpXZGxlQ3dnYzNSeWNIQnBibWNnWVc1NUlISmxaMlY0SUdac1lXZHpJR2wwSUdoaGN5NGdLaTljYm1OdmJuTjBJRVZOVDBwSlgxSkZSMFZZSUQwZ2JtVjNJRkpsWjBWNGNDaGxiVzlxYVZKbFoyVjRLQ2tzSUZ3aVhDSXBPMXh1WEc0dktpb2dVSEp2ZG1sa1pYTWdZU0JzYjI5cmRYQWdkR0ZpYkdVZ1ptOXlJSFZ1YVhRZ1pIVnlZWFJwYjI1eklHOW1JSFJvWlNCbmFYWmxiaUIwZVhCbExpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElFUlZVa0ZVU1U5T1gxUlpVRVZUSUQwZ2UxeHVJQ0FnSUhsbFlYSTZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCNVpXRnljem9nTVNCOUtTeGNiaUFnSUNCNVpXRnljem9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lIbGxZWEp6T2lBeElIMHBMRnh1SUNBZ0lIbHlPaUJFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2VXVmhjbk02SURFZ2ZTa3NYRzRnSUNBZ2VYSnpPaUJFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2VXVmhjbk02SURFZ2ZTa3NYRzVjYmlBZ0lDQnRiMjUwYURvZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJRzF2Ym5Sb2N6b2dNU0I5S1N4Y2JpQWdJQ0J0YjI1MGFITTZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCdGIyNTBhSE02SURFZ2ZTa3NYRzRnSUNBZ2JXODZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCdGIyNTBhSE02SURFZ2ZTa3NYRzRnSUNBZ2JXOXpPaUJFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2JXOXVkR2h6T2lBeElIMHBMRnh1WEc0Z0lDQWdkMlZsYXpvZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJSGRsWld0ek9pQXhJSDBwTEZ4dUlDQWdJSGRsWld0ek9pQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHNnZDJWbGEzTTZJREVnZlNrc1hHNGdJQ0FnZDJzNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUIzWldWcmN6b2dNU0I5S1N4Y2JpQWdJQ0IzYTNNNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUIzWldWcmN6b2dNU0I5S1N4Y2JpQWdJQ0IzT2lCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIc2dkMlZsYTNNNklERWdmU2tzWEc1Y2JpQWdJQ0JrWVhrNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJrWVhsek9pQXhJSDBwTEZ4dUlDQWdJR1JoZVhNNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJrWVhsek9pQXhJSDBwTEZ4dUlDQWdJR1E2SUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5QmtZWGx6T2lBeElIMHBMRnh1WEc0Z0lDQWdhRzkxY2pvZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJR2h2ZFhKek9pQXhJSDBwTEZ4dUlDQWdJR2h2ZFhKek9pQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHNnYUc5MWNuTTZJREVnZlNrc1hHNGdJQ0FnYUhJNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJvYjNWeWN6b2dNU0I5S1N4Y2JpQWdJQ0JvY25NNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJvYjNWeWN6b2dNU0I5S1N4Y2JpQWdJQ0JvT2lCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIc2dhRzkxY25NNklERWdmU2tzWEc1Y2JpQWdJQ0J0YVc1MWRHVTZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCdGFXNTFkR1Z6T2lBeElIMHBMRnh1SUNBZ0lHMXBiblYwWlhNNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJ0YVc1MWRHVnpPaUF4SUgwcExGeHVJQ0FnSUcxcGJqb2dSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUcxcGJuVjBaWE02SURFZ2ZTa3NYRzRnSUNBZ2JXbHVjem9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHMXBiblYwWlhNNklERWdmU2tzWEc0Z0lDQWdiVG9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHMXBiblYwWlhNNklERWdmU2tzWEc1Y2JpQWdJQ0J6WldOdmJtUTZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCelpXTnZibVJ6T2lBeElIMHBMRnh1SUNBZ0lITmxZMjl1WkhNNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJ6WldOdmJtUnpPaUF4SUgwcExGeHVJQ0FnSUhObFl6b2dSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUhObFkyOXVaSE02SURFZ2ZTa3NYRzRnSUNBZ2MyVmpjem9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lITmxZMjl1WkhNNklERWdmU2tzWEc0Z0lDQWdjem9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lITmxZMjl1WkhNNklERWdmU2tzWEc1OU8xeHVYRzR2S2lvZ1UyaHZjblJvWVc1a0lHWnZjaUJqYjIxdGIyNGdaR0YwWlhNZ0tISmxiR0YwYVhabElIUnZJSEpwWjJoMElHNXZkeWt1SUNvdlhHNWxlSEJ2Y25RZ1kyOXVjM1FnUkVGVVJWOVRTRTlTVkVoQlRrUlRJRDBnZTF4dUlDQWdJRzV2ZHpvZ0tDa2dQVDRnUkdGMFpWUnBiV1V1Ykc5allXd29LU3hjYmlBZ0lDQjBiMlJoZVRvZ0tDa2dQVDRnUkdGMFpWUnBiV1V1Ykc5allXd29LUzV6ZEdGeWRFOW1LRndpWkdGNVhDSXBMRnh1SUNBZ0lIbGxjM1JsY21SaGVUb2dLQ2tnUFQ1Y2JpQWdJQ0FnSUNBZ1JHRjBaVlJwYldVdWJHOWpZV3dvS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbk4wWVhKMFQyWW9YQ0prWVhsY0lpbGNiaUFnSUNBZ0lDQWdJQ0FnSUM1dGFXNTFjeWhFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ1pHRjVjem9nTVNCOUtTa3NYRzRnSUNBZ2RHOXRiM0p5YjNjNklDZ3BJRDArWEc0Z0lDQWdJQ0FnSUVSaGRHVlVhVzFsTG14dlkyRnNLQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXpkR0Z5ZEU5bUtGd2laR0Y1WENJcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1Y0d4MWN5aEVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHNnWkdGNWN6b2dNU0I5S1Nrc1hHNGdJQ0FnYzI5M09pQW9LU0E5UGlCRVlYUmxWR2x0WlM1c2IyTmhiQ2dwTG5OMFlYSjBUMllvWENKM1pXVnJYQ0lwTEZ4dUlDQWdJRndpYzNSaGNuUXRiMll0ZDJWbGExd2lPaUFvS1NBOVBpQkVZWFJsVkdsdFpTNXNiMk5oYkNncExuTjBZWEowVDJZb1hDSjNaV1ZyWENJcExGeHVJQ0FnSUdWdmR6b2dLQ2tnUFQ0Z1JHRjBaVlJwYldVdWJHOWpZV3dvS1M1bGJtUlBaaWhjSW5kbFpXdGNJaWtzWEc0Z0lDQWdYQ0psYm1RdGIyWXRkMlZsYTF3aU9pQW9LU0E5UGlCRVlYUmxWR2x0WlM1c2IyTmhiQ2dwTG1WdVpFOW1LRndpZDJWbGExd2lLU3hjYmlBZ0lDQnpiM2s2SUNncElEMCtJRVJoZEdWVWFXMWxMbXh2WTJGc0tDa3VjM1JoY25SUFppaGNJbmxsWVhKY0lpa3NYRzRnSUNBZ1hDSnpkR0Z5ZEMxdlppMTVaV0Z5WENJNklDZ3BJRDArSUVSaGRHVlVhVzFsTG14dlkyRnNLQ2t1YzNSaGNuUlBaaWhjSW5sbFlYSmNJaWtzWEc0Z0lDQWdaVzk1T2lBb0tTQTlQaUJFWVhSbFZHbHRaUzVzYjJOaGJDZ3BMbVZ1WkU5bUtGd2llV1ZoY2x3aUtTeGNiaUFnSUNCY0ltVnVaQzF2WmkxNVpXRnlYQ0k2SUNncElEMCtJRVJoZEdWVWFXMWxMbXh2WTJGc0tDa3VaVzVrVDJZb1hDSjVaV0Z5WENJcExGeHVJQ0FnSUhOdmJUb2dLQ2tnUFQ0Z1JHRjBaVlJwYldVdWJHOWpZV3dvS1M1emRHRnlkRTltS0Z3aWJXOXVkR2hjSWlrc1hHNGdJQ0FnWENKemRHRnlkQzF2WmkxdGIyNTBhRndpT2lBb0tTQTlQaUJFWVhSbFZHbHRaUzVzYjJOaGJDZ3BMbk4wWVhKMFQyWW9YQ0p0YjI1MGFGd2lLU3hjYmlBZ0lDQmxiMjA2SUNncElEMCtJRVJoZEdWVWFXMWxMbXh2WTJGc0tDa3VaVzVrVDJZb1hDSnRiMjUwYUZ3aUtTeGNiaUFnSUNCY0ltVnVaQzF2WmkxdGIyNTBhRndpT2lBb0tTQTlQaUJFWVhSbFZHbHRaUzVzYjJOaGJDZ3BMbVZ1WkU5bUtGd2liVzl1ZEdoY0lpa3NYRzU5TzF4dVhHNHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhHNHZMeUJGZUhCeVpYTnphVzl1SUV4aGJtZDFZV2RsSUM4dlhHNHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhHNWNibVY0Y0c5eWRDQjBlWEJsSUZCdmMzUm1hWGhHY21GbmJXVnVkQ0E5WEc0Z0lDQWdmQ0I3SUhSNWNHVTZJRndpWkc5MFhDSTdJR1Y0Y0hJNklITjBjbWx1WnlCOVhHNGdJQ0FnZkNCN0lIUjVjR1U2SUZ3aWFXNWtaWGhjSWpzZ1pYaHdjam9nUlhod2NtVnpjMmx2YmlCOVhHNGdJQ0FnZkNCN0lIUjVjR1U2SUZ3aVpuVnVZM1JwYjI1Y0lqc2daWGh3Y25NNklFVjRjSEpsYzNOcGIyNWJYU0I5TzF4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFVjRjSEpsYzNOcGIyNU1ZVzVuZFdGblpTQjdYRzRnSUNBZ2RtRnlhV0ZpYkdVNklGWmhjbWxoWW14bFJYaHdjbVZ6YzJsdmJqdGNiaUFnSUNCdWRXMWlaWEk2SUV4cGRHVnlZV3hGZUhCeVpYTnphVzl1TzF4dUlDQWdJR0p2YjJ3NklFeHBkR1Z5WVd4RmVIQnlaWE56YVc5dU8xeHVJQ0FnSUhOMGNtbHVaem9nVEdsMFpYSmhiRVY0Y0hKbGMzTnBiMjQ3WEc0Z0lDQWdaR0YwWlRvZ1RHbDBaWEpoYkVWNGNISmxjM05wYjI0N1hHNGdJQ0FnWkhWeVlYUnBiMjQ2SUV4cGRHVnlZV3hGZUhCeVpYTnphVzl1TzF4dUlDQWdJR3hwYm1zNklFeHBkR1Z5WVd4RmVIQnlaWE56YVc5dU8xeHVJQ0FnSUc1MWJHdzZJRXhwZEdWeVlXeEZlSEJ5WlhOemFXOXVPMXh1WEc0Z0lDQWdiR2x6ZERvZ1RHbHpkRVY0Y0hKbGMzTnBiMjQ3WEc0Z0lDQWdiMkpxWldOME9pQlBZbXBsWTNSRmVIQnlaWE56YVc5dU8xeHVYRzRnSUNBZ2JtVm5ZWFJsWkRvZ1JYaHdjbVZ6YzJsdmJqdGNiaUFnSUNCaGRHOXRPaUJGZUhCeVpYTnphVzl1TzF4dUlDQWdJR2x1WkdWNE9pQkZlSEJ5WlhOemFXOXVPMXh1SUNBZ0lHeGhiV0prWVRvZ1RHRnRZbVJoUlhod2NtVnpjMmx2Ymp0Y2JseHVJQ0FnSUM4dklGQnZjM1JtYVhnZ2NHRnljMlZ5Y3lCbWIzSWdablZ1WTNScGIyNGdZMkZzYkhNZ0ppQjBhR1VnYkdsclpTNWNiaUFnSUNCa2IzUlFiM04wWm1sNE9pQlFiM04wWm1sNFJuSmhaMjFsYm5RN1hHNGdJQ0FnYVc1a1pYaFFiM04wWm1sNE9pQlFiM04wWm1sNFJuSmhaMjFsYm5RN1hHNGdJQ0FnWm5WdVkzUnBiMjVRYjNOMFptbDRPaUJRYjNOMFptbDRSbkpoWjIxbGJuUTdYRzVjYmlBZ0lDQXZMeUJDYVc1aGNua2diM0FnY0dGeWMyVnljeTVjYmlBZ0lDQmlhVzVoY25sTmRXeEVhWFk2SUVWNGNISmxjM05wYjI0N1hHNGdJQ0FnWW1sdVlYSjVVR3gxYzAxcGJuVnpPaUJGZUhCeVpYTnphVzl1TzF4dUlDQWdJR0pwYm1GeWVVTnZiWEJoY21VNklFVjRjSEpsYzNOcGIyNDdYRzRnSUNBZ1ltbHVZWEo1UW05dmJHVmhiam9nUlhod2NtVnpjMmx2Ymp0Y2JpQWdJQ0JpYVc1aGNubFBjRG9nUlhod2NtVnpjMmx2Ymp0Y2JpQWdJQ0J3WVhKbGJuTTZJRVY0Y0hKbGMzTnBiMjQ3WEc0Z0lDQWdaWGh3Y21WemMybHZiam9nUlhod2NtVnpjMmx2Ymp0Y2JuMWNibHh1THlvcVhHNGdLaUJRWVhKelpTQm1iM0lnZEdobElHUmhkR0ZqYjNKbElHVjRjSEpsYzNOcGIyNGdiR0Z1WjNWaFoyVXNJSGRvYVdOb0lIQnliM1pwWkdWeklITnBiWEJzWlNCaGJtUWdkbUZuZFdWc2VTQktVeTFzYjI5cmFXNW5JR052YlhCMWRHRjBhVzl1TGx4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ1JWaFFVa1ZUVTBsUFRpQTlJRkF1WTNKbFlYUmxUR0Z1WjNWaFoyVThSWGh3Y21WemMybHZia3hoYm1kMVlXZGxQaWg3WEc0Z0lDQWdMeThnUm1sbGJHUWdjR0Z5YzJsdVp5NWNiaUFnSUNCMllYSnBZV0pzWlRvZ0tGOHBJRDArSUZCU1NVMUpWRWxXUlZNdWFXUmxiblJwWm1sbGNpNXRZWEFvUlhod2NtVnpjMmx2Ym5NdWRtRnlhV0ZpYkdVcExtUmxjMk1vWENKMllYSnBZV0pzWlZ3aUtTeGNiaUFnSUNCdWRXMWlaWEk2SUNoZktTQTlQaUJRVWtsTlNWUkpWa1ZUTG01MWJXSmxjaTV0WVhBb1JYaHdjbVZ6YzJsdmJuTXViR2wwWlhKaGJDa3VaR1Z6WXloY0ltNTFiV0psY2x3aUtTeGNiaUFnSUNCemRISnBibWM2SUNoZktTQTlQaUJRVWtsTlNWUkpWa1ZUTG5OMGNtbHVaeTV0WVhBb1JYaHdjbVZ6YzJsdmJuTXViR2wwWlhKaGJDa3VaR1Z6WXloY0luTjBjbWx1WjF3aUtTeGNiaUFnSUNCaWIyOXNPaUFvWHlrZ1BUNGdVRkpKVFVsVVNWWkZVeTVpYjI5c0xtMWhjQ2hGZUhCeVpYTnphVzl1Y3k1c2FYUmxjbUZzS1M1a1pYTmpLRndpWW05dmJHVmhibHdpS1N4Y2JpQWdJQ0JrWVhSbE9pQW9YeWtnUFQ1Y2JpQWdJQ0FnSUNBZ1kzSmxZWFJsUm5WdVkzUnBiMjRvWENKa1lYUmxYQ0lzSUZCU1NVMUpWRWxXUlZNdVpHRjBaVkJzZFhNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tDaGJYMloxYm1Nc0lHUmhkR1ZkS1NBOVBpQkZlSEJ5WlhOemFXOXVjeTVzYVhSbGNtRnNLR1JoZEdVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG1SbGMyTW9YQ0prWVhSbFhDSXBMRnh1SUNBZ0lHUjFjbUYwYVc5dU9pQW9YeWtnUFQ1Y2JpQWdJQ0FnSUNBZ1kzSmxZWFJsUm5WdVkzUnBiMjRvWENKa2RYSmNJaXdnVUZKSlRVbFVTVlpGVXk1a2RYSmhkR2x2YmlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tGdGZablZ1WXl3Z1pIVnlYU2tnUFQ0Z1JYaHdjbVZ6YzJsdmJuTXViR2wwWlhKaGJDaGtkWElwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbVJsYzJNb1hDSmtkWEpoZEdsdmJsd2lLU3hjYmlBZ0lDQnVkV3hzT2lBb1h5a2dQVDRnVUZKSlRVbFVTVlpGVXk1eVlYZE9kV3hzTG0xaGNDZ29YeWtnUFQ0Z1JYaHdjbVZ6YzJsdmJuTXVUbFZNVENrc1hHNGdJQ0FnYkdsdWF6b2dLRjhwSUQwK0lGQlNTVTFKVkVsV1JWTXViR2x1YXk1dFlYQW9SWGh3Y21WemMybHZibk11YkdsMFpYSmhiQ2tzWEc0Z0lDQWdiR2x6ZERvZ0tIRXBJRDArWEc0Z0lDQWdJQ0FnSUhFdVpYaHdjbVZ6YzJsdmJseHVJQ0FnSUNBZ0lDQWdJQ0FnTG5ObGNFSjVLRkF1YzNSeWFXNW5LRndpTEZ3aUtTNTBjbWx0S0ZBdWIzQjBWMmhwZEdWemNHRmpaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVkM0poY0NoUUxuTjBjbWx1WnloY0lsdGNJaWt1YzJ0cGNDaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcExDQlFMbTl3ZEZkb2FYUmxjM0JoWTJVdWRHaGxiaWhRTG5OMGNtbHVaeWhjSWwxY0lpa3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvYkNrZ1BUNGdSWGh3Y21WemMybHZibk11YkdsemRDaHNLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNWtaWE5qS0Z3aWJHbHpkRndpS1N4Y2JpQWdJQ0J2WW1wbFkzUTZJQ2h4S1NBOVBseHVJQ0FnSUNBZ0lDQlFMbk5sY1UxaGNDaGNiaUFnSUNBZ0lDQWdJQ0FnSUZCU1NVMUpWRWxXUlZNdWFXUmxiblJwWm1sbGNpNXZjaWhRVWtsTlNWUkpWa1ZUTG5OMGNtbHVaeWtzWEc0Z0lDQWdJQ0FnSUNBZ0lDQlFMbk4wY21sdVp5aGNJanBjSWlrdWRISnBiU2hRTG05d2RGZG9hWFJsYzNCaFkyVXBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNWxlSEJ5WlhOemFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0tHNWhiV1VzSUY5elpYQXNJSFpoYkhWbEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnYm1GdFpTd2dkbUZzZFdVZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG5ObGNFSjVLRkF1YzNSeWFXNW5LRndpTEZ3aUtTNTBjbWx0S0ZBdWIzQjBWMmhwZEdWemNHRmpaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVkM0poY0NoUUxuTjBjbWx1WnloY0ludGNJaWt1YzJ0cGNDaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcExDQlFMbTl3ZEZkb2FYUmxjM0JoWTJVdWRHaGxiaWhRTG5OMGNtbHVaeWhjSW4xY0lpa3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvZG1Gc2N5a2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQnlaWE02SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRVY0Y0hKbGMzTnBiMjQrSUQwZ2UzMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdaVzUwY25rZ2IyWWdkbUZzY3lrZ2NtVnpXMlZ1ZEhKNUxtNWhiV1ZkSUQwZ1pXNTBjbmt1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFVjRjSEpsYzNOcGIyNXpMbTlpYW1WamRDaHlaWE1wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNWtaWE5qS0Z3aWIySnFaV04wSUNnbmV5QmhPaUF4TENCaU9pQXlJSDBuS1Z3aUtTeGNibHh1SUNBZ0lHRjBiMjA2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JRTG1Gc2RDaGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGQnNZV05sSUdWdFltVmtJR3hwYm10eklHRmliM1psSUc1bFoyRjBaV1FnWm1sbGJHUnpJR0Z6SUhSb1pYa2dZWEpsSUhSb1pTQnpjR1ZqYVdGc0lIQmhjbk5sY2lCallYTmxJQ2NoVzF0MGFHbHVaMTFkSnlCaGJtUWdZWEpsSUdkbGJtVnlZV3hzZVNCMWJtRnRZbWxuYVc5MWN5NWNiaUFnSUNBZ0lDQWdJQ0FnSUZCU1NVMUpWRWxXUlZNdVpXMWlaV1JNYVc1ckxtMWhjQ2dvYkNrZ1BUNGdSWGh3Y21WemMybHZibk11YkdsMFpYSmhiQ2hzS1Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG01bFoyRjBaV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbXhwYm1zc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG14cGMzUXNYRzRnSUNBZ0lDQWdJQ0FnSUNCeExtOWlhbVZqZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1YkdGdFltUmhMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNXdZWEpsYm5Nc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG1KdmIyd3NYRzRnSUNBZ0lDQWdJQ0FnSUNCeExtNTFiV0psY2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1YzNSeWFXNW5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNWtZWFJsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjUzVrZFhKaGRHbHZiaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXViblZzYkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1ZG1GeWFXRmliR1ZjYmlBZ0lDQWdJQ0FnS1N4Y2JpQWdJQ0JwYm1SbGVEb2dLSEVwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVjMlZ4VFdGd0tIRXVZWFJ2YlN3Z1VDNWhiSFFvY1M1a2IzUlFiM04wWm1sNExDQnhMbWx1WkdWNFVHOXpkR1pwZUN3Z2NTNW1kVzVqZEdsdmJsQnZjM1JtYVhncExtMWhibmtvS1N3Z0tHOWlhaXdnY0c5emRHWnBlR1Z6S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdjbVZ6ZFd4MElEMGdiMkpxTzF4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdjRzl6ZENCdlppQndiM04wWm1sNFpYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSEJ2YzNRdWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVpHOTBYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdQU0JGZUhCeVpYTnphVzl1Y3k1cGJtUmxlQ2h5WlhOMWJIUXNJRVY0Y0hKbGMzTnBiMjV6TG14cGRHVnlZV3dvY0c5emRDNWxlSEJ5S1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1sdVpHVjRYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdQU0JGZUhCeVpYTnphVzl1Y3k1cGJtUmxlQ2h5WlhOMWJIUXNJSEJ2YzNRdVpYaHdjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVoxYm1OMGFXOXVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdQU0JGZUhCeVpYTnphVzl1Y3k1bWRXNWpLSEpsYzNWc2RDd2djRzl6ZEM1bGVIQnljeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzRnSUNBZ0lDQWdJSDBwTEZ4dUlDQWdJRzVsWjJGMFpXUTZJQ2h4S1NBOVBpQlFMbk5sY1UxaGNDaFFMbk4wY21sdVp5aGNJaUZjSWlrc0lIRXVhVzVrWlhnc0lDaGZMQ0JtYVdWc1pDa2dQVDRnUlhod2NtVnpjMmx2Ym5NdWJtVm5ZWFJsS0dacFpXeGtLU2t1WkdWell5aGNJbTVsWjJGMFpXUWdabWxsYkdSY0lpa3NYRzRnSUNBZ2NHRnlaVzV6T2lBb2NTa2dQVDRnY1M1bGVIQnlaWE56YVc5dUxuUnlhVzBvVUM1dmNIUlhhR2wwWlhOd1lXTmxLUzUzY21Gd0tGQXVjM1J5YVc1bktGd2lLRndpS1N3Z1VDNXpkSEpwYm1jb1hDSXBYQ0lwS1N4Y2JpQWdJQ0JzWVcxaVpHRTZJQ2h4S1NBOVBseHVJQ0FnSUNBZ0lDQlFMbk5sY1UxaGNDaGNiaUFnSUNBZ0lDQWdJQ0FnSUZCU1NVMUpWRWxXUlZNdWFXUmxiblJwWm1sbGNseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNXpaWEJDZVNoUUxuTjBjbWx1WnloY0lpeGNJaWt1ZEhKcGJTaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNTNjbUZ3S0ZBdWMzUnlhVzVuS0Z3aUtGd2lLUzUwY21sdEtGQXViM0IwVjJocGRHVnpjR0ZqWlNrc0lGQXVjM1J5YVc1bktGd2lLVndpS1M1MGNtbHRLRkF1YjNCMFYyaHBkR1Z6Y0dGalpTa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1VDNXpkSEpwYm1jb1hDSTlQbHdpS1M1MGNtbHRLRkF1YjNCMFYyaHBkR1Z6Y0dGalpTa3NYRzRnSUNBZ0lDQWdJQ0FnSUNCeExtVjRjSEpsYzNOcGIyNHNYRzRnSUNBZ0lDQWdJQ0FnSUNBb2FXUmxiblFzSUY5cFoyNXZjbVVzSUhaaGJIVmxLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ2RIbHdaVG9nWENKc1lXMWlaR0ZjSWl3Z1lYSm5kVzFsYm5Sek9pQnBaR1Z1ZEN3Z2RtRnNkV1VnZlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnS1N4Y2JseHVJQ0FnSUdSdmRGQnZjM1JtYVhnNklDaHhLU0E5UGlCUUxuTmxjVTFoY0NoUUxuTjBjbWx1WnloY0lpNWNJaWtzSUZCU1NVMUpWRWxXUlZNdWFXUmxiblJwWm1sbGNpd2dLRjhzSUdWNGNISXBJRDArSUNoN0lIUjVjR1U2SUZ3aVpHOTBYQ0lzSUdWNGNISWdmU2twTEZ4dUlDQWdJR2x1WkdWNFVHOXpkR1pwZURvZ0tIRXBJRDArWEc0Z0lDQWdJQ0FnSUZBdWMyVnhUV0Z3S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdVQzV6ZEhKcGJtY29YQ0piWENJcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnVUM1dmNIUlhhR2wwWlhOd1lXTmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNWxlSEJ5WlhOemFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1VDNXZjSFJYYUdsMFpYTndZV05sTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdVQzV6ZEhKcGJtY29YQ0pkWENJcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnS0Y4c0lGOHlMQ0JsZUhCeUxDQmZNeXdnWHpRcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdleUIwZVhCbE9pQmNJbWx1WkdWNFhDSXNJR1Y0Y0hJZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0tTeGNiaUFnSUNCbWRXNWpkR2x2YmxCdmMzUm1hWGc2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JRTG5ObGNVMWhjQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lGQXVjM1J5YVc1bktGd2lLRndpS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJRkF1YjNCMFYyaHBkR1Z6Y0dGalpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdVpYaHdjbVZ6YzJsdmJpNXpaWEJDZVNoUUxuTjBjbWx1WnloY0lpeGNJaWt1ZEhKcGJTaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcEtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUZBdWIzQjBWMmhwZEdWemNHRmpaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lGQXVjM1J5YVc1bktGd2lLVndpS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2hmTENCZk1Td2daWGh3Y25Nc0lGOHlMQ0JmTXlrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJSFI1Y0dVNklGd2lablZ1WTNScGIyNWNJaXdnWlhod2NuTWdmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdLU3hjYmx4dUlDQWdJQzh2SUZSb1pTQndjbVZqWldSbGJtTmxJR2hwWlhKaGNtTm9lU0J2WmlCdmNHVnlZWFJ2Y25NZ0xTQnRkV3gwYVhCc2VTOWthWFpwWkdVc0lHRmtaQzl6ZFdKMGNtRmpkQ3dnWTI5dGNHRnlaU3dnWVc1a0lIUm9aVzRnWW05dmJHVmhiaUJ2Y0dWeVlYUnBiMjV6TGx4dUlDQWdJR0pwYm1GeWVVMTFiRVJwZGpvZ0tIRXBJRDArSUdOeVpXRjBaVUpwYm1GeWVWQmhjbk5sY2loeExtbHVaR1Y0TENCUVVrbE5TVlJKVmtWVExtSnBibUZ5ZVUxMWJFUnBkaXdnUlhod2NtVnpjMmx2Ym5NdVltbHVZWEo1VDNBcExGeHVJQ0FnSUdKcGJtRnllVkJzZFhOTmFXNTFjem9nS0hFcElEMCtJR055WldGMFpVSnBibUZ5ZVZCaGNuTmxjaWh4TG1KcGJtRnllVTExYkVScGRpd2dVRkpKVFVsVVNWWkZVeTVpYVc1aGNubFFiSFZ6VFdsdWRYTXNJRVY0Y0hKbGMzTnBiMjV6TG1KcGJtRnllVTl3S1N4Y2JpQWdJQ0JpYVc1aGNubERiMjF3WVhKbE9pQW9jU2tnUFQ0Z1kzSmxZWFJsUW1sdVlYSjVVR0Z5YzJWeUtIRXVZbWx1WVhKNVVHeDFjMDFwYm5WekxDQlFVa2xOU1ZSSlZrVlRMbUpwYm1GeWVVTnZiWEJoY21WUGNDd2dSWGh3Y21WemMybHZibk11WW1sdVlYSjVUM0FwTEZ4dUlDQWdJR0pwYm1GeWVVSnZiMnhsWVc0NklDaHhLU0E5UGx4dUlDQWdJQ0FnSUNCamNtVmhkR1ZDYVc1aGNubFFZWEp6WlhJb2NTNWlhVzVoY25sRGIyMXdZWEpsTENCUVVrbE5TVlJKVmtWVExtSnBibUZ5ZVVGdVpFOXdMbTl5S0ZCU1NVMUpWRWxXUlZNdVltbHVZWEo1VDNKUGNDa3NJRVY0Y0hKbGMzTnBiMjV6TG1KcGJtRnllVTl3S1N4Y2JpQWdJQ0JpYVc1aGNubFBjRG9nS0hFcElEMCtJSEV1WW1sdVlYSjVRbTl2YkdWaGJpeGNibHh1SUNBZ0lHVjRjSEpsYzNOcGIyNDZJQ2h4S1NBOVBpQnhMbUpwYm1GeWVVOXdMRnh1ZlNrN1hHNWNiaTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2WEc0dkx5QlJkV1Z5ZVNCTVlXNW5kV0ZuWlNBdkwxeHVMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljYmx4dUx5b3FJRk4xY0hCdmNuUmxaQ0IwZVhCbGN5QnBiaUIwYUdVZ1ozSmhiVzFoY2lCbWIzSWdhVzVrWlhnZ2NYVmxjbWxsY3k0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdVWFZsY25sTVlXNW5kV0ZuWlNCN1hHNGdJQ0FnY1hWbGNubFVZV2M2SUVsdVpHVjRWR0ZuWjJWa08xeHVJQ0FnSUhGMVpYSjVTV1E2SUVsdVpHVjRTV1E3WEc0Z0lDQWdjWFZsY25sVWVYQmxPaUJKYm1SbGVGUjVjR1ZrTzF4dUlDQWdJSEYxWlhKNVVHRjBhRG9nU1c1a1pYaFFZWFJvTzF4dUlDQWdJSEYxWlhKNVVHRnlaVzUwVDJZNklFbHVaR1Y0VUdGeVpXNTBUMlk3WEc0Z0lDQWdjWFZsY25sRGFHbHNaRTltT2lCSmJtUmxlRU5vYVd4a1QyWTdYRzRnSUNBZ2NYVmxjbmxUYVcxd2JHVk1hVzVyWldRNklFbHVaR1Y0VEdsdWEyVmtPMXh1SUNBZ0lIRjFaWEo1VEdsdWEyVmtPaUJKYm1SbGVFeHBibXRsWkR0Y2JpQWdJQ0J4ZFdWeWVVVjRhWE4wY3pvZ1NXNWtaWGhHYVdWc1pEdGNiaUFnSUNCeGRXVnllVkYxYjNSbFpFVjRjSEpsYzNOcGIyNDZJRWx1WkdWNFJYaHdjbVZ6YzJsdmJqdGNiaUFnSUNCeGRXVnllVkpoZDBWNGNISmxjM05wYjI0NklFbHVaR1Y0Ulhod2NtVnpjMmx2Ymp0Y2JpQWdJQ0J4ZFdWeWVVNWxaMkYwWlRvZ1NXNWtaWGhPYjNRN1hHNGdJQ0FnY1hWbGNubFFZWEpsYm5NNklFbHVaR1Y0VVhWbGNuazdYRzRnSUNBZ2NYVmxjbmxCZEc5dE9pQkpibVJsZUZGMVpYSjVPMXh1SUNBZ0lIRjFaWEo1UVc1a2N6b2dTVzVrWlhoUmRXVnllVHRjYmlBZ0lDQnhkV1Z5ZVU5eWN6b2dTVzVrWlhoUmRXVnllVHRjYmlBZ0lDQnhkV1Z5ZVRvZ1NXNWtaWGhSZFdWeWVUdGNibjFjYmx4dUx5b3FYRzRnS2lCUVlYSnpaWElnWm05eUlIUm9aU0J4ZFdWeWVTQnNZVzVuZFdGblpTNGdSR2xrSUVrZ2NtVmhiR3g1SUc1bFpXUWdZU0J4ZFdWeWVTQnNZVzVuZFdGblpTQnBibk4wWldGa0lHOW1JR3AxYzNRZ1lTQmlaWFIwWlhJZ1ZVay9JRkJ5YjJKaFlteDVJRzV2ZEM1Y2JpQXFJRUoxZENCeGRXVnllU0JzWVc1bmRXRm5aWE1nWVhKbElHWjFiaUJtYjNJZ2RHaGxJSGRvYjJ4bElHWmhiV2xzZVNCaGJtUWdZWFFnYzI5dFpTQndiMmx1ZENCNWIzVWdaMlYwSUhOdklIVnpaV1FnZEc4Z2QzSnBkR2x1WnlCMGFHVnRJSFJvWVhSY2JpQXFJSGx2ZFNCa2IyNG5kQ0J6ZEc5d0lIUnZJSFJvYVc1cklHbG1JSGx2ZFNBcWJtVmxaQ29nZEc4Z2QzSnBkR1VnZEdobGJTQmhibmx0YjNKbExpQkpkQ2R6SUdkdmIyUWdkSGx3YVc1bklIQnlZV04wYVdObElHWnZjaUJsZG1WeWVXOXVaUzVjYmlBcUwxeHVaWGh3YjNKMElHTnZibk4wSUZGVlJWSlpJRDBnVUM1amNtVmhkR1ZNWVc1bmRXRm5aVHhSZFdWeWVVeGhibWQxWVdkbFBpaDdYRzRnSUNBZ2NYVmxjbmxVWVdjNklDaGZLU0E5UGlCUVVrbE5TVlJKVmtWVExuUmhaeTV0WVhBb0tIWmhiSFZsS1NBOVBpQW9leUIwZVhCbE9pQmNJblJoWjJkbFpGd2lMQ0IyWVd4MVpTQjlLU2tzWEc0Z0lDQWdjWFZsY25sSlpEb2dLRjhwSUQwK0lHTnlaV0YwWlVaMWJtTjBhVzl1S0Z3aWFXUmNJaXdnVUZKSlRVbFVTVlpGVXk1emRISnBibWNwTG0xaGNDZ29XMThzSUdsa1hTa2dQVDRnS0hzZ2RIbHdaVG9nWENKcFpGd2lMQ0IyWVd4MVpUb2dhV1FnZlNrcExGeHVJQ0FnSUhGMVpYSjVWSGx3WlRvZ0tGOHBJRDArWEc0Z0lDQWdJQ0FnSUZBdWMzUnlhVzVuS0Z3aVFGd2lLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xuUm9aVzRvVUZKSlRVbFVTVlpGVXk1cFpHVnVkR2xtYVdWeUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG0xaGNDZ29kbUZzZFdVcElEMCtJQ2g3SUhSNWNHVTZJRndpZEhsd1pXUmNJaXdnZG1Gc2RXVTZJSFpoYkhWbElIMHBLU3hjYmx4dUlDQWdJSEYxWlhKNVVHRjBhRG9nS0Y4cElEMCtYRzRnSUNBZ0lDQWdJR055WldGMFpVWjFibU4wYVc5dUtGQXVjbVZuWlhod0tDOWxQM0JoZEdndmFTa3VaR1Z6WXloY0lsdGxYWEJoZEdoY0lpa3NJRkJTU1UxSlZFbFdSVk11YzNSeWFXNW5LUzV0WVhBb0tGdG1kVzVqTENCd1lYUm9YU2tnUFQ0Z0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVTZJRndpY0dGMGFGd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUhCaGRHZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNCbGVHRmpkRG9nWm5WdVl5NTBiMHh2ZDJWeVEyRnpaU2dwSUQwOVBTQmNJbVZ3WVhSb1hDSXNYRzRnSUNBZ0lDQWdJSDBwS1N4Y2JseHVJQ0FnSUhGMVpYSjVVR0Z5Wlc1MFQyWTZJQ2h4S1NBOVBseHVJQ0FnSUNBZ0lDQmpjbVZoZEdWR2RXNWpkR2x2YmloUUxuSmxaMlY0Y0NndmNHRnlaVzUwYjJaOGMzVndaWEowY21WbEwya3BMbVJsYzJNb1hDSndZWEpsYm5Sdlpsd2lLU3dnY1M1eGRXVnllU2t1YldGd0tDaGJablZ1WXl3Z1kyaHBiR1J5Wlc1ZEtTQTlQaUFvZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ1hDSndZWEpsYm5RdGIyWmNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHTm9hV3hrY21WdUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1amJIVnphWFpsT2lCbWRXNWpMblJ2VEc5M1pYSkRZWE5sS0NrZ1BUMDlJRndpYzNWd1pYSjBjbVZsWENJc1hHNGdJQ0FnSUNBZ0lIMHBLU3hjYmlBZ0lDQnhkV1Z5ZVVOb2FXeGtUMlk2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JqY21WaGRHVkdkVzVqZEdsdmJpaFFMbkpsWjJWNGNDZ3ZZMmhwYkdSdlpueHpkV0owY21WbEwya3BMbVJsYzJNb1hDSmphR2xzWkc5bVhDSXBMQ0J4TG5GMVpYSjVLUzV0WVhBb0tGdG1kVzVqTENCd1lYSmxiblJ6WFNrZ1BUNGdLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUZ3aVkyaHBiR1F0YjJaY0lpeGNiaUFnSUNBZ0lDQWdJQ0FnSUhCaGNtVnVkSE1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibU5zZFhOcGRtVTZJR1oxYm1NdWRHOU1iM2RsY2tOaGMyVW9LU0E5UFQwZ1hDSnpkV0owY21WbFhDSXNYRzRnSUNBZ0lDQWdJSDBwS1N4Y2JpQWdJQ0J4ZFdWeWVWTnBiWEJzWlV4cGJtdGxaRG9nS0Y4cElEMCtYRzRnSUNBZ0lDQWdJRkJTU1UxSlZFbFdSVk11YkdsdWF5NXRZWEFvS0d4cGJtc3BJRDArSUNoN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQmNJbXhwYm10bFpGd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MyOTFjbU5sT2lCN0lIUjVjR1U2SUZ3aWJHbHVhMXdpTENCMllXeDFaVG9nYkdsdWF5QjlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHbHlaV04wYVc5dU9pQmNJbWx1WTI5dGFXNW5YQ0lzWEc0Z0lDQWdJQ0FnSUgwcEtTeGNiaUFnSUNCeGRXVnllVXhwYm10bFpEb2dLSEVwSUQwK1hHNGdJQ0FnSUNBZ0lHTnlaV0YwWlVaMWJtTjBhVzl1S0ZBdWNtVm5aWGh3S0M5c2FXNXJjM1J2Zkd4cGJtdGxaR1p5YjIxOFkyOXVibVZqZEdWa0wya3BMbVJsYzJNb1hDSmpiMjV1WldOMFpXUmNJaWtzSUhFdWNYVmxjbmtwTG0xaGNDZ29XMloxYm1Nc0lITnZkWEpqWlYwcElEMCtJQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBlWEJsT2lCY0lteHBibXRsWkZ3aUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYzI5MWNtTmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHbHlaV04wYVc5dU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWjFibU11ZEc5TWIzZGxja05oYzJVb0tTQTlQU0JjSW14cGJtdHpkRzljSWlBL0lGd2lhVzVqYjIxcGJtZGNJaUE2SUdaMWJtTXVkRzlNYjNkbGNrTmhjMlVvS1NBOVBTQmNJbXhwYm10bFpHWnliMjFjSWlBL0lGd2liM1YwWjI5cGJtZGNJaUE2SUZ3aVltOTBhRndpTEZ4dUlDQWdJQ0FnSUNCOUtTa3NYRzRnSUNBZ2NYVmxjbmxGZUdsemRITTZJQ2hmS1NBOVBseHVJQ0FnSUNBZ0lDQmpjbVZoZEdWR2RXNWpkR2x2YmloUUxuSmxaMlY0Y0NndlpYaHBjM1J6TDJrcExtUmxjMk1vWENKbGVHbHpkSE5jSWlrc0lGQlNTVTFKVkVsV1JWTXVhV1JsYm5ScFptbGxjaTV2Y2loUVVrbE5TVlJKVmtWVExuTjBjbWx1WnlrcExtMWhjQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaGJYMloxYm1Nc0lHbGtaVzUwWFNrZ1BUNGdLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQmNJbVpwWld4a1hDSXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVNklHbGtaVzUwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU2xjYmlBZ0lDQWdJQ0FnS1N4Y2JpQWdJQ0J4ZFdWeWVWRjFiM1JsWkVWNGNISmxjM05wYjI0NklDaHhLU0E5UGx4dUlDQWdJQ0FnSUNCamNtVmhkR1ZHZFc1amRHbHZiaWhRTG5KbFoyVjRjQ2d2Wlhod2NpOXBLUzVrWlhOaktGd2laWGh3Y2x3aUtTd2dSVmhRVWtWVFUwbFBUaTVsZUhCeVpYTnphVzl1S1M1dFlYQW9LRnRmTENCbGVIQnlYU2tnUFQ0Z0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVTZJRndpWlhod2NtVnpjMmx2Ymx3aUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnWlhod2NtVnpjMmx2YmpvZ1pYaHdjaXhjYmlBZ0lDQWdJQ0FnZlNrcExGeHVJQ0FnSUhGMVpYSjVVbUYzUlhod2NtVnpjMmx2YmpvZ0tIRXBJRDArSUVWWVVGSkZVMU5KVDA0dVltbHVZWEo1UTI5dGNHRnlaUzV0WVhBb0tHVjRjSElwSUQwK0lDaDdJSFI1Y0dVNklGd2laWGh3Y21WemMybHZibHdpTENCbGVIQnlaWE56YVc5dU9pQmxlSEJ5SUgwcEtTeGNibHh1SUNBZ0lIRjFaWEo1VUdGeVpXNXpPaUFvY1NrZ1BUNGdjUzV4ZFdWeWVTNTBjbWx0S0ZBdWIzQjBWMmhwZEdWemNHRmpaU2t1ZDNKaGNDaFFMbk4wY21sdVp5aGNJaWhjSWlrc0lGQXVjM1J5YVc1bktGd2lLVndpS1Nrc1hHNGdJQ0FnY1hWbGNubE9aV2RoZEdVNklDaHhLU0E5UGx4dUlDQWdJQ0FnSUNCUUxuTjBjbWx1WnloY0lpRmNJaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXphMmx3S0ZBdWIzQjBWMmhwZEdWemNHRmpaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNTBhR1Z1S0hFdWNYVmxjbmxCZEc5dEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG0xaGNDZ29kbUZzZFdVcElEMCtJQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUb2dYQ0p1YjNSY0lpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiR1Z0Wlc1ME9pQjJZV3gxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwS1N4Y2JpQWdJQ0J4ZFdWeWVVRjBiMjA2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JRTG1Gc2REeEpibVJsZUZGMVpYSjVQaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXVjWFZsY25sUVlYSmxibk1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbkYxWlhKNVRtVm5ZWFJsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjUzV4ZFdWeWVWTnBiWEJzWlV4cGJtdGxaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXVjWFZsY25sVVlXY3NYRzRnSUNBZ0lDQWdJQ0FnSUNCeExuRjFaWEo1Vkhsd1pTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdWNYVmxjbmxKWkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1Y1hWbGNubEZlR2x6ZEhNc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG5GMVpYSjVRMmhwYkdSUFppeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdWNYVmxjbmxRWVhKbGJuUlBaaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXVjWFZsY25sTWFXNXJaV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbkYxWlhKNVVHRjBhQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXVjWFZsY25sUmRXOTBaV1JGZUhCeVpYTnphVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnUlhod2NtVnpjMmx2Ym5NZ1lYSmxJR1Z6YzJWdWRHbGhiR3g1SUhSb1pTQmNJbU5oZEdOb0xXRnNiRndpSUc5bUlHOTBhR1Z5ZDJselpTQjFibkJoY25ObFlXSnNaU0IwWlhKdGN5d2djMjhnZEdobGVTQnphRzkxYkdRZ1oyOGdZV0p6YjJ4MWRHVWdiR0Z6ZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1Y1hWbGNubFNZWGRGZUhCeVpYTnphVzl1WEc0Z0lDQWdJQ0FnSUNrc1hHNGdJQ0FnY1hWbGNubEJibVJ6T2lBb2NTa2dQVDVjYmlBZ0lDQWdJQ0FnWTNKbFlYUmxRbWx1WVhKNVVHRnljMlZ5S0hFdWNYVmxjbmxCZEc5dExDQlFVa2xOU1ZSSlZrVlRMbUpwYm1GeWVVRnVaRTl3TENBb2JHVm1kQ3dnWDI5d0xDQnlhV2RvZENrZ1BUNGdLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUZ3aVlXNWtYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiR1Z0Wlc1MGN6b2dXMnhsWm5Rc0lISnBaMmgwWFN4Y2JpQWdJQ0FnSUNBZ2ZTa3BMRnh1SUNBZ0lIRjFaWEo1VDNKek9pQW9jU2tnUFQ1Y2JpQWdJQ0FnSUNBZ1kzSmxZWFJsUW1sdVlYSjVVR0Z5YzJWeUtIRXVjWFZsY25sQmJtUnpMQ0JRVWtsTlNWUkpWa1ZUTG1KcGJtRnllVTl5VDNBc0lDaHNaV1owTENCZmIzQXNJSEpwWjJoMEtTQTlQaUFvZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ1hDSnZjbHdpTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaV3hsYldWdWRITTZJRnRzWldaMExDQnlhV2RvZEYwc1hHNGdJQ0FnSUNBZ0lIMHBLU3hjYmlBZ0lDQnhkV1Z5ZVRvZ0tIRXBJRDArSUhFdWNYVmxjbmxQY25NdWRISnBiU2hRTG05d2RGZG9hWFJsYzNCaFkyVXBMRnh1ZlNrN1hHNWNiaThxS2lCU1pYUjFjbTRnWVNCdVpYY2djR0Z5YzJWeUlIZG9hV05vSUdWNFpXTjFkR1Z6SUhSb1pTQjFibVJsY214NWFXNW5JSEJoY25ObGNpQmhibVFnY21WMGRYSnVjeUJwZENkeklISmhkeUJ6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZ3ZEhWeVpWSmhkenhVUGloaVlYTmxPaUJRTGxCaGNuTmxjanhVUGlrNklGQXVVR0Z5YzJWeVBGdFVMQ0J6ZEhKcGJtZGRQaUI3WEc0Z0lDQWdjbVYwZFhKdUlGQXVZM1Z6ZEc5dEtDaGZjM1ZqWTJWemN5d2dYMlpoYVd4MWNtVXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNocGJuQjFkQ3dnYVNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJSEpsYzNWc2RDQTlJQ2hpWVhObElHRnpJR0Z1ZVNrdVh5aHBibkIxZEN3Z2FTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JWEpsYzNWc2RDNXpkR0YwZFhNcElISmxkSFZ5YmlCeVpYTjFiSFE3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdVlYTnphV2R1S0h0OUxDQnlaWE4xYkhRc0lIc2dkbUZzZFdVNklGdHlaWE4xYkhRdWRtRnNkV1VzSUdsdWNIVjBMbk4xWW5OMGNtbHVaeWhwTENCeVpYTjFiSFF1YVc1a1pYZ3BYU0I5S1R0Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNCOUtUdGNibjFjYmx4dUx5b3FJRU55WldGMFpTQmhJR3hsWm5RdFlYTnpiMk5wWVhScGRtVWdZbWx1WVhKNUlIQmhjbk5sY2lCM2FHbGphQ0J3WVhKelpYTWdkR2hsSUdkcGRtVnVJSE4xWWkxbGJHVnRaVzUwSUdGdVpDQnpaWEJoY21GMGIzSXVJRWhoYm1Sc1pYTWdkMmhwZEdWemNHRmpaUzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCamNtVmhkR1ZDYVc1aGNubFFZWEp6WlhJOFZDd2dWVDRvWEc0Z0lDQWdZMmhwYkdRNklGQXVVR0Z5YzJWeVBGUStMRnh1SUNBZ0lITmxjRG9nVUM1UVlYSnpaWEk4VlQ0c1hHNGdJQ0FnWTI5dFltbHVaVG9nS0dFNklGUXNJR0k2SUZVc0lHTTZJRlFwSUQwK0lGUmNiaWs2SUZBdVVHRnljMlZ5UEZRK0lIdGNiaUFnSUNCeVpYUjFjbTRnVUM1elpYRk5ZWEFvWTJocGJHUXNJRkF1YzJWeEtGQXViM0IwVjJocGRHVnpjR0ZqWlN3Z2MyVndMQ0JRTG05d2RGZG9hWFJsYzNCaFkyVXNJR05vYVd4a0tTNXRZVzU1S0Nrc0lDaG1hWEp6ZEN3Z2NtVnpkQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRDNXNaVzVuZEdnZ1BUMGdNQ2tnY21WMGRYSnVJR1pwY25OME8xeHVYRzRnSUNBZ0lDQWdJR3hsZENCdWIyUmxJRDBnWTI5dFltbHVaU2htYVhKemRDd2djbVZ6ZEZzd1hWc3hYU3dnY21WemRGc3dYVnN6WFNrN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHbHVaR1Y0SUQwZ01Uc2dhVzVrWlhnZ1BDQnlaWE4wTG14bGJtZDBhRHNnYVc1a1pYZ3JLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdibTlrWlNBOUlHTnZiV0pwYm1Vb2JtOWtaU3dnY21WemRGdHBibVJsZUYxYk1WMHNJSEpsYzNSYmFXNWtaWGhkV3pOZEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdibTlrWlR0Y2JpQWdJQ0I5S1R0Y2JuMWNibHh1THlvcVhHNGdLaUJEY21WaGRHVWdZU0J3WVhKelpYSWdkMmhwWTJnZ2NHRnljMlZ6SUZ4Y1BHWjFibU4wYVc5dVhGdytLRnhjUEdGeVozTmNYRDRwTGx4dUlDb2dLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJqY21WaGRHVkdkVzVqZEdsdmJqeFVQaWhtZFc1ak9pQnpkSEpwYm1jZ2ZDQlFMbEJoY25ObGNqeHpkSEpwYm1jK0xDQmhjbWR6T2lCUUxsQmhjbk5sY2p4VVBpazZJRkF1VUdGeWMyVnlQRnR6ZEhKcGJtY3NJRlJkUGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVZoYkVaMWJtTWdQU0IwZVhCbGIyWWdablZ1WXlBOVBUMGdYQ0p6ZEhKcGJtZGNJaUEvSUZBdWMzUnlhVzVuS0daMWJtTXBJRG9nWm5WdVl6dGNiaUFnSUNCeVpYUjFjbTRnVUM1elpYRk5ZWEFvWEc0Z0lDQWdJQ0FnSUhKbFlXeEdkVzVqTG5OcmFYQW9VQzV2Y0hSWGFHbDBaWE53WVdObEtTeGNiaUFnSUNBZ0lDQWdZWEpuY3k1MGNtbHRLRkF1YjNCMFYyaHBkR1Z6Y0dGalpTa3VkM0poY0NoUUxuTjBjbWx1WnloY0lpaGNJaWtzSUZBdWMzUnlhVzVuS0Z3aUtWd2lLU2tzWEc0Z0lDQWdJQ0FnSUNobUxDQmhLU0E5UGlCYlppd2dZVjFjYmlBZ0lDQXBPMXh1ZlZ4dVhHNHZLaW9nUTJoaGFXNXpJR0VnYkdsemRDQnZaaUJ3WVhKelpYSnpPeUIwYUdVZ1ptbHljM1FnYjI1bElHMTFjM1FnYzNWalkyVmxaQ3dnWW5WMElHWnZiR3h2ZDJsdVp5QnZibVZ6SUcxaGVTQm1ZV2xzSUhkcGRHaHZkWFFnWm1GcGJHbHVaeUIwYUdVZ2IzWmxjbUZzYkNCd1lYSnpaUzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCamFHRnBiazl3ZER4VVBpaGlZWE5sT2lCUUxsQmhjbk5sY2p4VVBpd2dMaTR1Wm5WdVkzTTZJQ2dvY2pvZ1ZDa2dQVDRnVUM1UVlYSnpaWEk4VkQ0cFcxMHBPaUJRTGxCaGNuTmxjanhVUGlCN1hHNGdJQ0FnY21WMGRYSnVJRkF1WTNWemRHOXRLQ2hmYzNWalkyVnpjeXdnWDJaaGFXeDFjbVVwSUQwK0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDaHBibkIxZEN3Z2FTa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUhKbGMzVnNkQ0E5SUNoaVlYTmxJR0Z6SUdGdWVTa3VYeWhwYm5CMWRDd2dhU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhKbGMzVnNkQzV6ZEdGMGRYTXBJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdaMWJtTWdiMllnWm5WdVkzTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2JtVjRkQ0E5SUNobWRXNWpLSEpsYzNWc2RDNTJZV3gxWlNCaGN5QlVLU0JoY3lCaGJua3BMbDhvYVc1d2RYUXNJSEpsYzNWc2RDNXBibVJsZUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0Z1WlhoMExuTjBZWFIxY3lrZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQ0E5SUc1bGVIUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzRnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdmU2s3WEc1OVhHNGlMQ0FpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR1Y0Y0hKbGMzTnBiMjV6WEc0Z0tpOWNibWx0Y0c5eWRDQjdJRVJoZEdWVWFXMWxMQ0JFZFhKaGRHbHZiaUI5SUdaeWIyMGdYQ0pzZFhodmJsd2lPMXh1YVcxd2IzSjBJSHNnVEdsdWF5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMMnhwYm10Y0lqdGNibWx0Y0c5eWRDQjdJSEpsYm1SbGNrMXBibWx0WVd4RVlYUmxMQ0J5Wlc1a1pYSk5hVzVwYldGc1JIVnlZWFJwYjI0Z2ZTQm1jbTl0SUZ3aWRYUnBiSE12Ym05eWJXRnNhWHBsY25OY0lqdGNibHh1THk4Z1VtVXRaWGh3YjNKMGN5QnZaaUIxYzJWbWRXd2daMlZ1WlhKcFl5QjBlWEJsY3k1Y2JtVjRjRzl5ZENCN0lFeHBibXNnZlR0Y2JseHVMeW9xSUZOb2IzSjBhR0Z1WkNCbWIzSWdZU0J0WVhCd2FXNW5JR1p5YjIwZ2EyVjVjeUIwYnlCMllXeDFaWE11SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JFWVhSaFQySnFaV04wSUQwZ1VtVmpiM0prUEhOMGNtbHVaeXdnWVc1NVBqdGNiaThxS2lCVWFHVWdiR2wwWlhKaGJDQjBlWEJsY3lCemRYQndiM0owWldRZ1lua2dkR2hsSUhGMVpYSjVJR1Z1WjJsdVpTNGdLaTljYm1WNGNHOXlkQ0IwZVhCbElFeHBkR1Z5WVd4VWVYQmxJRDFjYmlBZ0lDQjhJRndpWW05dmJHVmhibHdpWEc0Z0lDQWdmQ0JjSW01MWJXSmxjbHdpWEc0Z0lDQWdmQ0JjSW5OMGNtbHVaMXdpWEc0Z0lDQWdmQ0JjSW1SaGRHVmNJbHh1SUNBZ0lId2dYQ0prZFhKaGRHbHZibHdpWEc0Z0lDQWdmQ0JjSW14cGJtdGNJbHh1SUNBZ0lId2dYQ0poY25KaGVWd2lYRzRnSUNBZ2ZDQmNJbTlpYW1WamRGd2lYRzRnSUNBZ2ZDQmNJbVoxYm1OMGFXOXVYQ0pjYmlBZ0lDQjhJRndpYm5Wc2JGd2lPMXh1THlvcUlGUm9aU0J5WVhjZ2RtRnNkV1Z6SUhSb1lYUWdZU0JzYVhSbGNtRnNJR05oYmlCMFlXdGxJRzl1TGlBcUwxeHVaWGh3YjNKMElIUjVjR1VnVEdsMFpYSmhiQ0E5WEc0Z0lDQWdmQ0JpYjI5c1pXRnVYRzRnSUNBZ2ZDQnVkVzFpWlhKY2JpQWdJQ0I4SUhOMGNtbHVaMXh1SUNBZ0lId2dSR0YwWlZScGJXVmNiaUFnSUNCOElFUjFjbUYwYVc5dVhHNGdJQ0FnZkNCTWFXNXJYRzRnSUNBZ2ZDQkJjbkpoZVR4TWFYUmxjbUZzUGx4dUlDQWdJSHdnUkdGMFlVOWlhbVZqZEZ4dUlDQWdJSHdnUm5WdVkzUnBiMjVjYmlBZ0lDQjhJRzUxYkd3N1hHNWNiaThxS2lCTllYQnpJSFJvWlNCemRISnBibWNnZEhsd1pTQjBieUJwZENkeklHVjRkR1Z5Ym1Gc0xDQkJVRWt0Wm1GamFXNW5JSEpsY0hKbGMyVnVkR0YwYVc5dUxpQXFMMXh1Wlhod2IzSjBJSFI1Y0dVZ1RHbDBaWEpoYkZKbGNISThWQ0JsZUhSbGJtUnpJRXhwZEdWeVlXeFVlWEJsUGlBOUlGUWdaWGgwWlc1a2N5QmNJbUp2YjJ4bFlXNWNJbHh1SUNBZ0lEOGdZbTl2YkdWaGJseHVJQ0FnSURvZ1ZDQmxlSFJsYm1SeklGd2liblZ0WW1WeVhDSmNiaUFnSUNBL0lHNTFiV0psY2x4dUlDQWdJRG9nVkNCbGVIUmxibVJ6SUZ3aWMzUnlhVzVuWENKY2JpQWdJQ0EvSUhOMGNtbHVaMXh1SUNBZ0lEb2dWQ0JsZUhSbGJtUnpJRndpWkhWeVlYUnBiMjVjSWx4dUlDQWdJRDhnUkhWeVlYUnBiMjVjYmlBZ0lDQTZJRlFnWlhoMFpXNWtjeUJjSW1SaGRHVmNJbHh1SUNBZ0lEOGdSR0YwWlZScGJXVmNiaUFnSUNBNklGUWdaWGgwWlc1a2N5QmNJbTUxYkd4Y0lseHVJQ0FnSUQ4Z2JuVnNiRnh1SUNBZ0lEb2dWQ0JsZUhSbGJtUnpJRndpYkdsdWExd2lYRzRnSUNBZ1B5Qk1hVzVyWEc0Z0lDQWdPaUJVSUdWNGRHVnVaSE1nWENKaGNuSmhlVndpWEc0Z0lDQWdQeUJCY25KaGVUeE1hWFJsY21Gc1BseHVJQ0FnSURvZ1ZDQmxlSFJsYm1SeklGd2liMkpxWldOMFhDSmNiaUFnSUNBL0lFUmhkR0ZQWW1wbFkzUmNiaUFnSUNBNklGUWdaWGgwWlc1a2N5QmNJbVoxYm1OMGFXOXVYQ0pjYmlBZ0lDQS9JRVoxYm1OMGFXOXVYRzRnSUNBZ09pQmhibms3WEc1Y2JpOHFLaUJCSUhkeVlYQndaV1FnYkdsMFpYSmhiQ0IyWVd4MVpTQjNhR2xqYUNCallXNGdZbVVnYzNkcGRHTm9aV1FnYjI0dUlDb3ZYRzVsZUhCdmNuUWdkSGx3WlNCWGNtRndjR1ZrVEdsMFpYSmhiQ0E5WEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbk4wY21sdVoxd2lQbHh1SUNBZ0lId2dUR2wwWlhKaGJGZHlZWEJ3WlhJOFhDSnVkVzFpWlhKY0lqNWNiaUFnSUNCOElFeHBkR1Z5WVd4WGNtRndjR1Z5UEZ3aVltOXZiR1ZoYmx3aVBseHVJQ0FnSUh3Z1RHbDBaWEpoYkZkeVlYQndaWEk4WENKa1lYUmxYQ0krWEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbVIxY21GMGFXOXVYQ0krWEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbXhwYm10Y0lqNWNiaUFnSUNCOElFeHBkR1Z5WVd4WGNtRndjR1Z5UEZ3aVlYSnlZWGxjSWo1Y2JpQWdJQ0I4SUV4cGRHVnlZV3hYY21Gd2NHVnlQRndpYjJKcVpXTjBYQ0krWEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbVoxYm1OMGFXOXVYQ0krWEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbTUxYkd4Y0lqNDdYRzVjYmk4cUtpQkRiMjFpYVc1bGN5QmhJSFJsZUhSMVlXd2dkSGx3WlNCaGJtUWdkbUZzZFdVN0lIQnlhVzFoY21sc2VTQjFjMlZtZFd3Z1ptOXlJSE4zYVhSamFHbHVaeUJ2Ymk1Y2JpQXFJRUJvYVdSa1pXNWNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTWFYUmxjbUZzVjNKaGNIQmxjanhVSUdWNGRHVnVaSE1nVEdsMFpYSmhiRlI1Y0dVK0lIdGNiaUFnSUNCMGVYQmxPaUJVTzF4dUlDQWdJSFpoYkhWbE9pQk1hWFJsY21Gc1VtVndjanhVUGp0Y2JuMWNibHh1THlvcVhHNGdLaUJBYUdsa1pHVnVYRzRnS2lBZ1ZYUnBiR2wwZVNCc2FXSnlZWEo1SUdadmNpQm9ZVzVrYkdsdVp5QnNhWFJsY21Gc0lIWmhiSFZsY3k0Z0tpOWNibVY0Y0c5eWRDQnVZVzFsYzNCaFkyVWdUR2wwWlhKaGJITWdlMXh1SUNBZ0lDOHFLaUJUWlhSMGFXNW5jeUIxYzJWa0lIZG9aVzRnWm05eWJXRjBkR2x1WnlCc2FYUmxjbUZzSUhaaGJIVmxjeUIwYnlCMFpYaDBMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQnBiblJsY21aaFkyVWdWRzlUZEhKcGJtZFRaWFIwYVc1bmN5QjdYRzRnSUNBZ0lDQWdJQzhxS2lCWGFHRjBJR0VnYm5Wc2JDQjNhV3hzSUhKbGJtUmxjaUJoY3k0Z0tpOWNiaUFnSUNBZ0lDQWdiblZzYkZKbGNISmxjMlZ1ZEdGMGFXOXVPaUJ6ZEhKcGJtYzdYRzVjYmlBZ0lDQWdJQ0FnTHlvcUlFUmhkR1VnWm05eWJXRjBMaUFxTDF4dUlDQWdJQ0FnSUNCa1lYUmxSbTl5YldGME9pQnpkSEpwYm1jN1hHNWNiaUFnSUNBZ0lDQWdMeW9xSUVSaGRHVXRkR2x0WlNCbWIzSnRZWFF1SUNvdlhHNGdJQ0FnSUNBZ0lHUmhkR1ZVYVcxbFJtOXliV0YwT2lCemRISnBibWM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUZOaGJtVXNJRVZ1WjJ4cGMyZ3RZbUZ6WldRZ1pHVm1ZWFZzZEhNZ1ptOXlJR1JoZEdVZ1ptOXliV0YwY3k0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWTI5dWMzUWdSRVZHUVZWTVZGOVVUMTlUVkZKSlRrYzZJRlJ2VTNSeWFXNW5VMlYwZEdsdVozTWdQU0I3WEc0Z0lDQWdJQ0FnSUc1MWJHeFNaWEJ5WlhObGJuUmhkR2x2YmpvZ1hDSXRYQ0lzWEc1Y2JpQWdJQ0FnSUNBZ1pHRjBaVVp2Y20xaGREb2dYQ0pOVFUxTklHUmtMQ0I1ZVhsNVhDSXNYRzRnSUNBZ0lDQWdJR1JoZEdWVWFXMWxSbTl5YldGME9pQmNJbWc2YlcwZ1lTQXRJRTFOVFUwZ1pHUXNJSGw1ZVhsY0lpeGNiaUFnSUNCOU8xeHVYRzRnSUNBZ0x5b3FJRU52Ym5abGNuUWdZVzRnWVhKaWFYUnlZWEo1SUhaaGJIVmxJR2x1ZEc4Z1lTQnlaV0Z6YjI1aFlteGxMQ0JOWVhKclpHOTNiaTFtY21sbGJtUnNlU0J6ZEhKcGJtY2dhV1lnY0c5emMybGliR1V1SUNvdlhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJSFJ2VTNSeWFXNW5LRnh1SUNBZ0lDQWdJQ0JtYVdWc1pEb2dZVzU1TEZ4dUlDQWdJQ0FnSUNCelpYUjBhVzVuT2lCVWIxTjBjbWx1WjFObGRIUnBibWR6SUQwZ1JFVkdRVlZNVkY5VVQxOVRWRkpKVGtjc1hHNGdJQ0FnSUNBZ0lISmxZM1Z5YzJsMlpUb2dZbTl2YkdWaGJpQTlJR1poYkhObFhHNGdJQ0FnS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJSGR5WVhCd1pXUWdQU0IzY21Gd1ZtRnNkV1VvWm1sbGJHUXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb0lYZHlZWEJ3WldRcElISmxkSFZ5YmlCelpYUjBhVzVuTG01MWJHeFNaWEJ5WlhObGJuUmhkR2x2Ymp0Y2JseHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIZHlZWEJ3WldRdWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltNTFiR3hjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYzJWMGRHbHVaeTV1ZFd4c1VtVndjbVZ6Wlc1MFlYUnBiMjQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWMzUnlhVzVuWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhkeVlYQndaV1F1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpYm5WdFltVnlYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVltOXZiR1ZoYmx3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCY0lsd2lJQ3NnZDNKaGNIQmxaQzUyWVd4MVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVc1clhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIZHlZWEJ3WldRdWRtRnNkV1V1YldGeWEyUnZkMjRvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSm1kVzVqZEdsdmJsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmNJanhtZFc1amRHbHZiajVjSWp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmhjbkpoZVZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J5WlhOMWJIUWdQU0JjSWx3aU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5WldOMWNuTnBkbVVwSUhKbGMzVnNkQ0FyUFNCY0lsdGNJanRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdLejBnZDNKaGNIQmxaQzUyWVd4MVpTNXRZWEFvS0dZcElEMCtJSFJ2VTNSeWFXNW5LR1lzSUhObGRIUnBibWNzSUhSeWRXVXBLUzVxYjJsdUtGd2lMQ0JjSWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsWTNWeWMybDJaU2tnY21WemRXeDBJQ3M5SUZ3aVhWd2lPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liMkpxWldOMFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENKN0lGd2lJQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1WdWRISnBaWE1vZDNKaGNIQmxaQzUyWVd4MVpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNXRZWEFvS0dVcElEMCtJR1ZiTUYwZ0t5QmNJam9nWENJZ0t5QjBiMU4wY21sdVp5aGxXekZkTENCelpYUjBhVzVuTENCMGNuVmxLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzVxYjJsdUtGd2lMQ0JjSWlrZ0sxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JjSWlCOVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1SaGRHVmNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ1WkdWeVRXbHVhVzFoYkVSaGRHVW9kM0poY0hCbFpDNTJZV3gxWlN3Z2MyVjBkR2x1Wnk1a1lYUmxSbTl5YldGMExDQnpaWFIwYVc1bkxtUmhkR1ZVYVcxbFJtOXliV0YwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmtkWEpoZEdsdmJsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaVzVrWlhKTmFXNXBiV0ZzUkhWeVlYUnBiMjRvZDNKaGNIQmxaQzUyWVd4MVpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nVjNKaGNDQmhJR3hwZEdWeVlXd2dkbUZzZFdVZ2MyOGdlVzkxSUdOaGJpQnpkMmwwWTJnZ2IyNGdhWFFnWldGemFXeDVMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQjNjbUZ3Vm1Gc2RXVW9kbUZzT2lCTWFYUmxjbUZzS1RvZ1YzSmhjSEJsWkV4cGRHVnlZV3dnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOT2RXeHNLSFpoYkNrcElISmxkSFZ5YmlCN0lIUjVjR1U2SUZ3aWJuVnNiRndpTENCMllXeDFaVG9nZG1Gc0lIMDdYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR2x6VG5WdFltVnlLSFpoYkNrcElISmxkSFZ5YmlCN0lIUjVjR1U2SUZ3aWJuVnRZbVZ5WENJc0lIWmhiSFZsT2lCMllXd2dmVHRjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhOVGRISnBibWNvZG1Gc0tTa2djbVYwZFhKdUlIc2dkSGx3WlRvZ1hDSnpkSEpwYm1kY0lpd2dkbUZzZFdVNklIWmhiQ0I5TzF4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNocGMwSnZiMnhsWVc0b2RtRnNLU2tnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0ppYjI5c1pXRnVYQ0lzSUhaaGJIVmxPaUIyWVd3Z2ZUdGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9hWE5FZFhKaGRHbHZiaWgyWVd3cEtTQnlaWFIxY200Z2V5QjBlWEJsT2lCY0ltUjFjbUYwYVc5dVhDSXNJSFpoYkhWbE9pQjJZV3dnZlR0Y2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FYTkVZWFJsS0haaGJDa3BJSEpsZEhWeWJpQjdJSFI1Y0dVNklGd2laR0YwWlZ3aUxDQjJZV3gxWlRvZ2RtRnNJSDA3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dselFYSnlZWGtvZG1Gc0tTa2djbVYwZFhKdUlIc2dkSGx3WlRvZ1hDSmhjbkpoZVZ3aUxDQjJZV3gxWlRvZ2RtRnNJSDA3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dselRHbHVheWgyWVd3cEtTQnlaWFIxY200Z2V5QjBlWEJsT2lCY0lteHBibXRjSWl3Z2RtRnNkV1U2SUhaaGJDQjlPMXh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hwYzBaMWJtTjBhVzl1S0haaGJDa3BJSEpsZEhWeWJpQjdJSFI1Y0dVNklGd2lablZ1WTNScGIyNWNJaXdnZG1Gc2RXVTZJSFpoYkNCOU8xeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHBjMDlpYW1WamRDaDJZV3dwS1NCeVpYUjFjbTRnZXlCMGVYQmxPaUJjSW05aWFtVmpkRndpTENCMllXeDFaVG9nZG1Gc0lIMDdYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1VtVmpkWEp6YVhabGJIa2diV0Z3SUdOdmJYQnNaWGdnYjJKcVpXTjBjeUJoZENCMGFHVWdiR1ZoZG1WekxpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlYQk1aV0YyWlhNb2RtRnNPaUJNYVhSbGNtRnNMQ0JtZFc1ak9pQW9kRG9nVEdsMFpYSmhiQ2tnUFQ0Z1RHbDBaWEpoYkNrNklFeHBkR1Z5WVd3Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOUFltcGxZM1FvZG1Gc0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJSEpsYzNWc2REb2dSR0YwWVU5aWFtVmpkQ0E5SUh0OU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnVzJ0bGVTd2dkbUZzZFdWZElHOW1JRTlpYW1WamRDNWxiblJ5YVdWektIWmhiQ2twSUhKbGMzVnNkRnRyWlhsZElEMGdiV0Z3VEdWaGRtVnpLSFpoYkhWbExDQm1kVzVqS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9hWE5CY25KaGVTaDJZV3dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2NtVnpkV3gwT2lCTWFYUmxjbUZzVzEwZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElIWmhiSFZsSUc5bUlIWmhiQ2tnY21WemRXeDBMbkIxYzJnb2JXRndUR1ZoZG1WektIWmhiSFZsTENCbWRXNWpLU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWjFibU1vZG1Gc0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJEYUdWamF5QnBaaUIwZDI4Z1lYSmlhWFJ5WVhKNUlHeHBkR1Z5WVd4eklHRnlaU0JsY1hWaGJDNGdLaTljYmlBZ0lDQmxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pYRjFZV3h6S0dacGNuTjBPaUJNYVhSbGNtRnNJSHdnZFc1a1pXWnBibVZrTENCelpXTnZibVE2SUV4cGRHVnlZV3dnZkNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHTnZiWEJoY21Vb1ptbHljM1FzSUhObFkyOXVaQ2tnUFQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRMjl0Y0dGeVpTQjBkMjhnWVhKaWFYUnlZWEo1SUVwaGRtRlRZM0pwY0hRZ2RtRnNkV1Z6TGlCUWNtOWtkV05sY3lCaElIUnZkR0ZzSUc5eVpHVnlhVzVuSUc5MlpYSWdRVTVaSUhCdmMzTnBZbXhsSUdSaGRHRmpiM0psSUhaaGJIVmxMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQmpiMjF3WVhKbEtGeHVJQ0FnSUNBZ0lDQjJZV3d4T2lCTWFYUmxjbUZzSUh3Z2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQjJZV3d5T2lCTWFYUmxjbUZzSUh3Z2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQnNhVzVyVG05eWJXRnNhWHBsY2o4NklDaHNhVzVyT2lCemRISnBibWNwSUQwK0lITjBjbWx1WjF4dUlDQWdJQ2s2SUc1MWJXSmxjaUI3WEc0Z0lDQWdJQ0FnSUM4dklGSmxabVZ5Wlc1alpTQmxjWFZoYkdsMGVTQXRJSE5vYjNKMElHTnBjbU4xYVhRdVhHNGdJQ0FnSUNBZ0lHbG1JQ2gyWVd3eElEMDlQU0IyWVd3eUtTQnlaWFIxY200Z01EdGNibHh1SUNBZ0lDQWdJQ0F2THlCSVlXNWtiR1VnZFc1a1pXWnBibVZrTDI1MWJHeHpJR1pwY25OMExseHVJQ0FnSUNBZ0lDQnBaaUFvZG1Gc01TQTlQVDBnZFc1a1pXWnBibVZrS1NCMllXd3hJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdhV1lnS0haaGJESWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2RtRnNNaUE5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJR2xtSUNoMllXd3hJRDA5UFNCdWRXeHNJQ1ltSUhaaGJESWdQVDA5SUc1MWJHd3BJSEpsZEhWeWJpQXdPMXh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2gyWVd3eElEMDlQU0J1ZFd4c0tTQnlaWFIxY200Z0xURTdYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLSFpoYkRJZ1BUMDlJRzUxYkd3cElISmxkSFZ5YmlBeE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUVFZ2JtOXVMVzUxYkd3Z2RtRnNkV1VnYm05M0lIZG9hV05vSUhkbElHTmhiaUIzY21Gd0lDWWdZMjl0Y0dGeVpTQnZiaTVjYmlBZ0lDQWdJQ0FnYkdWMElIZHlZWEF4SUQwZ2QzSmhjRlpoYkhWbEtIWmhiREVwTzF4dUlDQWdJQ0FnSUNCc1pYUWdkM0poY0RJZ1BTQjNjbUZ3Vm1Gc2RXVW9kbUZzTWlrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0hkeVlYQXhJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdkM0poY0RJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnY21WMGRYSnVJREE3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hkeVlYQXhJRDA5UFNCMWJtUmxabWx1WldRcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9kM0poY0RJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnY21WMGRYSnVJREU3WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdVMmh2Y25RdFkybHlZM1ZwZENCdmJpQmthV1ptWlhKbGJuUWdkSGx3WlhNZ2IzSWdiMjRnY21WbVpYSmxibU5sSUdWeGRXRnNhWFI1TGx4dUlDQWdJQ0FnSUNCcFppQW9kM0poY0RFdWRIbHdaU0FoUFNCM2NtRndNaTUwZVhCbEtTQnlaWFIxY200Z2QzSmhjREV1ZEhsd1pTNXNiMk5oYkdWRGIyMXdZWEpsS0hkeVlYQXlMblI1Y0dVcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZDNKaGNERXVkbUZzZFdVZ1BUMDlJSGR5WVhBeUxuWmhiSFZsS1NCeVpYUjFjbTRnTUR0Y2JseHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIZHlZWEF4TG5SNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKemRISnBibWRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNERXVkbUZzZFdVdWJHOWpZV3hsUTI5dGNHRnlaU2gzY21Gd01pNTJZV3gxWlNCaGN5QnpkSEpwYm1jcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbTUxYldKbGNsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoM2NtRndNUzUyWVd4MVpTQThJQ2gzY21Gd01pNTJZV3gxWlNCaGN5QnVkVzFpWlhJcEtTQnlaWFIxY200Z0xURTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9kM0poY0RFdWRtRnNkV1VnUFQwZ0tIZHlZWEF5TG5aaGJIVmxJR0Z6SUc1MWJXSmxjaWtwSUhKbGRIVnliaUF3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUF4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltNTFiR3hjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmliMjlzWldGdVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hkeVlYQXhMblpoYkhWbElEMDlJSGR5WVhBeUxuWmhiSFZsS1NCeVpYUjFjbTRnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSEpsZEhWeWJpQjNjbUZ3TVM1MllXeDFaU0EvSURFZ09pQXRNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKc2FXNXJYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHeHBibXN4SUQwZ2QzSmhjREV1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YwSUd4cGJtc3lJRDBnZDNKaGNESXVkbUZzZFdVZ1lYTWdUR2x1YXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdibTl5YldGc2FYcGxJRDBnYkdsdWEwNXZjbTFoYkdsNlpYSWdQejhnS0NoNE9pQnpkSEpwYm1jcElEMCtJSGdwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWMlVnWTJGdUozUWdZMjl0Y0dGeVpTQmllU0JtYVd4bElHNWhiV1VnYjNJZ1pHbHpjR3hoZVN3Z2MybHVZMlVnZEdoaGRDQjNiM1ZzWkNCaWNtVmhheUJzYVc1cklHVnhkV0ZzYVhSNUxpQkRiMjF3WVhKbElHSjVJSEJoZEdndVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJSEJoZEdoRGIyMXdZWEpsSUQwZ2JtOXliV0ZzYVhwbEtHeHBibXN4TG5CaGRHZ3BMbXh2WTJGc1pVTnZiWEJoY21Vb2JtOXliV0ZzYVhwbEtHeHBibXN5TG5CaGRHZ3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NHRjBhRU52YlhCaGNtVWdJVDBnTUNrZ2NtVjBkWEp1SUhCaGRHaERiMjF3WVhKbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVkdobGJpQmpiMjF3WVhKbElHSjVJSFI1Y0dVdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJSFI1Y0dWRGIyMXdZWEpsSUQwZ2JHbHVhekV1ZEhsd1pTNXNiMk5oYkdWRGIyMXdZWEpsS0d4cGJtc3lMblI1Y0dVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbFEyOXRjR0Z5WlNBaFBTQXdLU0J5WlhSMWNtNGdkSGx3WlVOdmJYQmhjbVU3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVhR1Z1SUdOdmJYQmhjbVVnWW5rZ2MzVmljR0YwYUNCbGVHbHpkR1Z1WTJVdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3hwYm1zeExuTjFZbkJoZEdnZ0ppWWdJV3hwYm1zeUxuTjFZbkJoZEdncElISmxkSFZ5YmlBeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYkdsdWF6RXVjM1ZpY0dGMGFDQW1KaUJzYVc1ck1pNXpkV0p3WVhSb0tTQnlaWFIxY200Z0xURTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGc2FXNXJNUzV6ZFdKd1lYUm9JQ1ltSUNGc2FXNXJNaTV6ZFdKd1lYUm9LU0J5WlhSMWNtNGdNRHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGTnBibU5sSUdKdmRHZ2dhR0YyWlNCaElITjFZbkJoZEdnc0lHTnZiWEJoY21VZ1lua2djM1ZpY0dGMGFDNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0tHeHBibXN4TG5OMVluQmhkR2dnUHo4Z1hDSmNJaWt1Ykc5allXeGxRMjl0Y0dGeVpTaHNhVzVyTWk1emRXSndZWFJvSUQ4L0lGd2lYQ0lwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltUmhkR1ZjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNERXVkbUZzZFdVZ1BDQW9kM0poY0RJdWRtRnNkV1VnWVhNZ1JHRjBaVlJwYldVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnTFRGY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUIzY21Gd01TNTJZV3gxWlM1bGNYVmhiSE1vZDNKaGNESXVkbUZzZFdVZ1lYTWdSR0YwWlZScGJXVXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z01GeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2laSFZ5WVhScGIyNWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkM0poY0RFdWRtRnNkV1VnUENBb2QzSmhjREl1ZG1Gc2RXVWdZWE1nUkhWeVlYUnBiMjRwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdMVEZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQjNjbUZ3TVM1MllXeDFaUzVsY1hWaGJITW9kM0poY0RJdWRtRnNkV1VnWVhNZ1JIVnlZWFJwYjI0cFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnTUZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVlYSnlZWGxjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdaakVnUFNCM2NtRndNUzUyWVd4MVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNaWFFnWmpJZ1BTQjNjbUZ3TWk1MllXeDFaU0JoY3lCaGJubGJYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwYm1SbGVDQTlJREE3SUdsdVpHVjRJRHdnVFdGMGFDNXRhVzRvWmpFdWJHVnVaM1JvTENCbU1pNXNaVzVuZEdncE95QnBibVJsZUNzcktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQmpiMjF3SUQwZ1kyOXRjR0Z5WlNobU1WdHBibVJsZUYwc0lHWXlXMmx1WkdWNFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpiMjF3SUNFOUlEQXBJSEpsZEhWeWJpQmpiMjF3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWmpFdWJHVnVaM1JvSUMwZ1pqSXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbTlpYW1WamRGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hsZENCdk1TQTlJSGR5WVhBeExuWmhiSFZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQnZNaUE5SUhkeVlYQXlMblpoYkhWbElHRnpJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHc3hJRDBnUVhKeVlYa3Vabkp2YlNoUFltcGxZM1F1YTJWNWN5aHZNU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQnJNaUE5SUVGeWNtRjVMbVp5YjIwb1QySnFaV04wTG10bGVYTW9ieklwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCck1TNXpiM0owS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2F6SXVjMjl5ZENncE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YwSUd0bGVVTnZiWEJoY21VZ1BTQmpiMjF3WVhKbEtHc3hMQ0JyTWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3RsZVVOdmJYQmhjbVVnSVQwZ01Da2djbVYwZFhKdUlHdGxlVU52YlhCaGNtVTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JyWlhrZ2IyWWdhekVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YwSUdOdmJYQWdQU0JqYjIxd1lYSmxLRzh4VzJ0bGVWMHNJRzh5VzJ0bGVWMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMjl0Y0NBaFBTQXdLU0J5WlhSMWNtNGdZMjl0Y0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z01EdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0ptZFc1amRHbHZibHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHlvcUlFWnBibVFnZEdobElHTnZjbkpsYzNCdmJtUnBibWNnWkdGMFlXTnZjbVVnZEhsd1pTQm1iM0lnWVc0Z1lYSmlhWFJ5WVhKNUlIWmhiSFZsTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUIwZVhCbFQyWW9kbUZzT2lCaGJua3BPaUJNYVhSbGNtRnNWSGx3WlNCOElIVnVaR1ZtYVc1bFpDQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjNjbUZ3Vm1Gc2RXVW9kbUZzS1Q4dWRIbHdaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUkdWMFpYSnRhVzVsSUdsbUlIUm9aU0JuYVhabGJpQjJZV3gxWlNCcGN5QmNJblJ5ZFhSb2VWd2lJQ2hwTG1VdUxDQnBjeUJ1YjI0dGJuVnNiQ0JoYm1RZ2FHRnpJR1JoZEdFZ2FXNGdhWFFwTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJwYzFSeWRYUm9lU2htYVdWc1pEb2dUR2wwWlhKaGJDazZJR0p2YjJ4bFlXNGdlMXh1SUNBZ0lDQWdJQ0JzWlhRZ2QzSmhjSEJsWkNBOUlIZHlZWEJXWVd4MVpTaG1hV1ZzWkNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doZDNKaGNIQmxaQ2tnY21WMGRYSnVJR1poYkhObE8xeHVYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9kM0poY0hCbFpDNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liblZ0WW1WeVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIZHlZWEJ3WldRdWRtRnNkV1VnSVQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0p6ZEhKcGJtZGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkM0poY0hCbFpDNTJZV3gxWlM1c1pXNW5kR2dnUGlBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbUp2YjJ4bFlXNWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkM0poY0hCbFpDNTJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnNhVzVyWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNFaGQzSmhjSEJsWkM1MllXeDFaUzV3WVhSb08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVJoZEdWY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2QzSmhjSEJsWkM1MllXeDFaUzUwYjAxcGJHeHBjeWdwSUNFOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpWkhWeVlYUnBiMjVjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNIQmxaQzUyWVd4MVpTNWhjeWhjSW5ObFkyOXVaSE5jSWlrZ0lUMGdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdlltcGxZM1JjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb2QzSmhjSEJsWkM1MllXeDFaU2t1YkdWdVozUm9JRDRnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmhjbkpoZVZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCM2NtRndjR1ZrTG5aaGJIVmxMbXhsYm1kMGFDQStJREE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWJuVnNiRndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0ptZFc1amRHbHZibHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRVJsWlhBZ1kyOXdlU0JoSUdacFpXeGtMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQmtaV1Z3UTI5d2VUeFVJR1Y0ZEdWdVpITWdUR2wwWlhKaGJENG9abWxsYkdRNklGUXBPaUJVSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR1pwWld4a0lEMDlQU0J1ZFd4c0lIeDhJR1pwWld4a0lEMDlQU0IxYm1SbFptbHVaV1FwSUhKbGRIVnliaUJtYVdWc1pEdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1RHbDBaWEpoYkhNdWFYTkJjbkpoZVNobWFXVnNaQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW9XMTBnWVhNZ1RHbDBaWEpoYkZ0ZEtTNWpiMjVqWVhRb1ptbGxiR1F1YldGd0tDaDJLU0E5UGlCa1pXVndRMjl3ZVNoMktTa3BJR0Z6SUZRN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9UR2wwWlhKaGJITXVhWE5QWW1wbFkzUW9abWxsYkdRcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdjbVZ6ZFd4ME9pQlNaV052Y21ROGMzUnlhVzVuTENCTWFYUmxjbUZzUGlBOUlIdDlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ1cydGxlU3dnZG1Gc2RXVmRJRzltSUU5aWFtVmpkQzVsYm5SeWFXVnpLR1pwWld4a0tTa2djbVZ6ZFd4MFcydGxlVjBnUFNCa1pXVndRMjl3ZVNoMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwSUdGeklGUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWm1sbGJHUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUkdWMFpYSnRhVzVsSUdsbUlIUm9aU0IyWVd4MVpTQnBjeUJoSUhOMGNtbHVaeTRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5UZEhKcGJtY29kbUZzT2lCaGJua3BPaUIyWVd3Z2FYTWdjM1J5YVc1bklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCMllXd2dQVDBnWENKemRISnBibWRjSWp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1JHVjBaWEp0YVc1bElHbG1JSFJvWlNCMllXeDFaU0JwY3lCaElHNTFiV0psY2k0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOT2RXMWlaWElvZG1Gc09pQmhibmtwT2lCMllXd2dhWE1nYm5WdFltVnlJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQjJZV3dnUFQwZ1hDSnVkVzFpWlhKY0lqdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dSR1YwWlhKdGFXNWxJR2xtSUhSb1pTQjJZV3gxWlNCcGN5QmhJR1JoZEdVdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUdselJHRjBaU2gyWVd3NklHRnVlU2s2SUhaaGJDQnBjeUJFWVhSbFZHbHRaU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd3Z2FXNXpkR0Z1WTJWdlppQkVZWFJsVkdsdFpUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dSR1YwWlhKdGFXNWxJR2xtSUhSb1pTQjJZV3gxWlNCcGN5QmhJR1IxY21GMGFXOXVMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMFIxY21GMGFXOXVLSFpoYkRvZ1lXNTVLVG9nZG1Gc0lHbHpJRVIxY21GMGFXOXVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFpoYkNCcGJuTjBZVzVqWlc5bUlFUjFjbUYwYVc5dU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQkVaWFJsY20xcGJtVWdhV1lnZEdobElIWmhiSFZsSUdseklHNTFiR3dnYjNJZ2RXNWtaV1pwYm1Wa0xpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMwNTFiR3dvZG1Gc09pQmhibmtwT2lCMllXd2dhWE1nYm5Wc2JDQjhJSFZ1WkdWbWFXNWxaQ0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd3Z1BUMDlJRzUxYkd3Z2ZId2dkbUZzSUQwOVBTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRVJsZEdWeWJXbHVaU0JwWmlCMGFHVWdkbUZzZFdVZ2FYTWdZVzRnWVhKeVlYa3VJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpRWEp5WVhrb2RtRnNPaUJoYm5rcE9pQjJZV3dnYVhNZ1lXNTVXMTBnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnUVhKeVlYa3VhWE5CY25KaGVTaDJZV3dwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRVpYUmxjbTFwYm1VZ2FXWWdkR2hsSUhaaGJIVmxJR2x6SUdFZ1ltOXZiR1ZoYmk0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOQ2IyOXNaV0Z1S0haaGJEb2dZVzU1S1RvZ2RtRnNJR2x6SUdKdmIyeGxZVzRnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhsd1pXOW1JSFpoYkNBOVBUMGdYQ0ppYjI5c1pXRnVYQ0k3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlNCcFppQjBhR1VnZG1Gc2RXVWdhWE1nWVNCc2FXNXJMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMHhwYm1zb2RtRnNPaUJoYm5rcE9pQjJZV3dnYVhNZ1RHbHVheUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd3Z2FXNXpkR0Z1WTJWdlppQk1hVzVyTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRGFHVmphM01nYVdZZ2RHaGxJR2RwZG1WdUlIWmhiSFZsSUdseklHRnVJRzlpYW1WamRDQW9ZVzVrSUc1dmRDQmhibmtnYjNSb1pYSWdaR0YwWVdOdmNtVXRjbVZqYjJkdWFYcGxaQ0J2WW1wbFkzUXRiR2xyWlNCMGVYQmxLUzRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5QWW1wbFkzUW9kbUZzT2lCaGJua3BPaUIyWVd3Z2FYTWdVbVZqYjNKa1BITjBjbWx1Wnl3Z1lXNTVQaUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZV3dnSVQwOUlIVnVaR1ZtYVc1bFpDQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVzltSUhaaGJDQTlQU0JjSW05aWFtVmpkRndpSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FoYVhOQmNuSmhlU2gyWVd3cElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBaGFYTkVkWEpoZEdsdmJpaDJZV3dwSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FoYVhORVlYUmxLSFpoYkNrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNGcGMweHBibXNvZG1Gc0tTQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lXbHpUblZzYkNoMllXd3BYRzRnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlhNZ2FXWWdkR2hsSUdkcGRtVnVJSFpoYkhWbElHbHpJR0VnYW1GMllYTmpjbWx3ZENCbWRXNWpkR2x2Ymk0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOR2RXNWpkR2x2YmloMllXdzZJR0Z1ZVNrNklIWmhiQ0JwY3lCR2RXNWpkR2x2YmlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGVYQmxiMllnZG1Gc0lEMDlJRndpWm5WdVkzUnBiMjVjSWp0Y2JpQWdJQ0I5WEc1OVhHNWNiaThxS2lCQklHZHliM1Z3YVc1bklHOXVJR0VnZEhsd1pTQjNhR2xqYUNCemRYQndiM0owY3lCeVpXTjFjbk5wZG1Wc2VTMXVaWE4wWldRZ1ozSnZkWEJ6TGx4dUlDb2dRR2R5YjNWd0lFTnZiVzF2YmlCVWVYQmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JIY205MWNFVnNaVzFsYm5ROFZENGdQU0I3SUd0bGVUb2dUR2wwWlhKaGJEc2djbTkzY3pvZ1IzSnZkWEJwYm1jOFZENGdmVHRjYmk4cUtseHVJQ29nUVNCbmNtOTFjR2x1Wnl3Z2QyaHBZMmdnWTJGdUlHSmxJR1ZwZEdobGNqcGNiaUFxSUMwZ1lXNGdZWEp5WVhrZ2IyWWdaV3hsYldWdWRITWdiMllnZEhsd1pTQmdWR0FzSUc5eVhHNGdLaUF0SUdGdUlHRnljbUY1SUc5bUlIdEFiR2x1YXlCSGNtOTFjR1ZzWlcxbGJuUjljMXh1SUNwY2JpQXFJRUJuY205MWNDQkRiMjF0YjI0Z1ZIbHdaWE5jYmlBcUwxeHVaWGh3YjNKMElIUjVjR1VnUjNKdmRYQnBibWM4VkQ0Z1BTQlVXMTBnZkNCSGNtOTFjRVZzWlcxbGJuUThWRDViWFR0Y2JpOHFLbHh1SUNvZ1FHaHBaR1JsYmx4dUlDb3ZYRzVsZUhCdmNuUWdibUZ0WlhOd1lXTmxJRWR5YjNWd2FXNW5jeUI3WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlhNZ2FXWWdkR2hsSUdkcGRtVnVJR2R5YjNWd0lHVnVkSEo1SUdseklHRWdjM1JoYm1SaGJHOXVaU0IyWVd4MVpTd2diM0lnWVNCbmNtOTFjR2x1WnlCdlppQnpkV0l0Wlc1MGNtbGxjeTRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5GYkdWdFpXNTBSM0p2ZFhBOFZENG9aVzUwY25rNklHRnVlU2s2SUdWdWRISjVJR2x6SUVkeWIzVndSV3hsYldWdWREeFVQaUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJNYVhSbGNtRnNjeTVwYzA5aWFtVmpkQ2hsYm5SeWVTa2dKaVlnVDJKcVpXTjBMbXRsZVhNb1pXNTBjbmtwTG14bGJtZDBhQ0E5UFNBeUlDWW1JRndpYTJWNVhDSWdhVzRnWlc1MGNua2dKaVlnWENKeWIzZHpYQ0lnYVc0Z1pXNTBjbms3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlhNZ2FXWWdkR2hsSUdkcGRtVnVJR0Z5Y21GNUlHbHpJR0VnWjNKdmRYQnBibWNnWVhKeVlYa3VJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpSM0p2ZFhCcGJtYzhWRDRvWlc1MGNuazZJRWR5YjNWd2FXNW5QRlErS1RvZ1pXNTBjbmtnYVhNZ1IzSnZkWEJGYkdWdFpXNTBQRlErVzEwZ2UxeHVJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQmxiR1Z0Wlc1MElHOW1JR1Z1ZEhKNUtTQnBaaUFvSVdselJXeGxiV1Z1ZEVkeWIzVndLR1ZzWlcxbGJuUXBLU0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlhNZ2FXWWdkR2hsSUdkcGRtVnVJR0Z5Y21GNUlHbHpJR0VnYkdWaFppQmhibVFnYUdGeklHNXZJSE4xWW1keWIzVndhVzVuY3k0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOTVpXRm1QRlErS0dWdWRISjVPaUJIY205MWNHbHVaenhVUGlrNklHVnVkSEo1SUdseklGUmJYU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdWc1pXMWxiblFnYjJZZ1pXNTBjbmtwSUdsbUlDaHBjMFZzWlcxbGJuUkhjbTkxY0NobGJHVnRaVzUwS1NrZ2NtVjBkWEp1SUdaaGJITmxPMXh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQkRiM1Z1ZENCMGFHVWdkRzkwWVd3Z2JuVnRZbVZ5SUc5bUlHVnNaVzFsYm5SeklHbHVJR0VnY21WamRYSnphWFpsSUdkeWIzVndhVzVuTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJqYjNWdWREeFVQaWhsYkdWdFpXNTBjem9nUjNKdmRYQnBibWM4VkQ0Z2ZDQkhjbTkxY0VWc1pXMWxiblE4VkQ0cE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhORmJHVnRaVzUwUjNKdmRYQW9aV3hsYldWdWRITXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyOTFiblFvWld4bGJXVnVkSE11Y205M2N5azdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvYVhOSGNtOTFjR2x1WnlobGJHVnRaVzUwY3lrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnlaWE4xYkhRZ1BTQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2MzVmlaM0p2ZFhBZ2IyWWdaV3hsYldWdWRITXBJSEpsYzNWc2RDQXJQU0JqYjNWdWRDaHpkV0puY205MWNDNXliM2R6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdaV3hsYldWdWRITXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRkpsWTNWeWMybDJaV3g1SUhOc2FXTmxJR0VnWjNKdmRYQnBibWNzSUhCeVpYTmxjblpwYm1jZ2RHaGxJR2R5YjNWd0lITjBjblZqZEhWeVpTQjBhR0YwSUdOdmJuUmhhVzV6SUdWc1pXMWxiblJ6SUZ0emRHRnlkQzR1TG1WdVpDa3VJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlITnNhV05sUEZRK0tHVnNaVzFsYm5Sek9pQkhjbTkxY0dsdVp6eFVQaXdnYzNSaGNuUTZJRzUxYldKbGNpd2daVzVrT2lCdWRXMWlaWElwT2lCSGNtOTFjR2x1Wnp4VVBpQjdYRzRnSUNBZ0lDQWdJR2xtSUNobGJtUWdQRDBnYzNSaGNuUXBJSEpsZEhWeWJpQmJYVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpUR1ZoWmlobGJHVnRaVzUwY3lrcElISmxkSFZ5YmlCbGJHVnRaVzUwY3k1emJHbGpaU2h6ZEdGeWRDd2daVzVrS1R0Y2JseHVJQ0FnSUNBZ0lDQXZMeUJHYVc1a0lIUm9aU0JtYVhKemRDQm5jbTkxY0NCMGFHRjBJR052Ym5SaGFXNXpJR2x1WkdWNElHQnpkR0Z5ZEdBdVhHNGdJQ0FnSUNBZ0lHeGxkQ0JwYm1SbGVDQTlJREFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaV1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHbHVaR1Y0SUR3Z1pXeGxiV1Z1ZEhNdWJHVnVaM1JvSUNZbUlITmxaVzRnS3lCamIzVnVkQ2hsYkdWdFpXNTBjMXRwYm1SbGVGMHBJRHc5SUhOMFlYSjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaV1Z1SUNzOUlHTnZkVzUwS0dWc1pXMWxiblJ6VzJsdVpHVjRYU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibVJsZUNzck8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnTHk4Z2MzUmhjblFnZDJGeklHZHlaV0YwWlhJZ2RHaGhiaUIwYUdVZ1pXNTBhWEpsSUd4bGJtZDBhQ0J2WmlCMGFHVWdaM0p2ZFhCcGJtZHpMbHh1SUNBZ0lDQWdJQ0JwWmlBb2FXNWtaWGdnUGowZ1pXeGxiV1Z1ZEhNdWJHVnVaM1JvS1NCeVpYUjFjbTRnVzEwN1hHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NtVnpkV3gwT2lCN0lHdGxlVG9nVEdsMFpYSmhiRHNnY205M2N6b2dSM0p2ZFhCcGJtYzhWRDRnZlZ0ZElEMGdXMTA3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2hwYm1SbGVDQThJR1ZzWlcxbGJuUnpMbXhsYm1kMGFDQW1KaUJ6WldWdUlEd2daVzVrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQm5jbTkxY0NBOUlHVnNaVzFsYm5SelcybHVaR1Y0WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHZHliM1Z3VTJsNlpTQTlJR052ZFc1MEtHZHliM1Z3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHZHliM1Z3VTNSaGNuUWdQU0JOWVhSb0xtMWhlQ2h6WldWdUxDQnpkR0Z5ZENrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQm5jbTkxY0VWdVpDQTlJRTFoZEdndWJXbHVLR2R5YjNWd1UybDZaU0FySUhObFpXNHNJR1Z1WkNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnJaWGs2SUdkeWIzVndMbXRsZVN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeWIzZHpPaUJ6YkdsalpTaG5jbTkxY0M1eWIzZHpMQ0JuY205MWNGTjBZWEowSUMwZ2MyVmxiaXdnWjNKdmRYQkZibVFnTFNCelpXVnVLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaV1Z1SUNzOUlHZHliM1Z3VTJsNlpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsdVpHVjRLeXM3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQWdJSDFjYm4xY2JpSXNJQ0l2S2lwY2JpQXFJRUJ0YjJSMWJHVWdZWEJwWEc0Z0tpOWNiaThxS2x4dUlDb2dJRVoxYm1OMGFXOXVZV3dnY21WMGRYSnVJSFI1Y0dVZ1ptOXlJR1Z5Y205eUlHaGhibVJzYVc1bkxseHVJQ29nUUdocFpHUmxibHh1SUNvZ0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCVGRXTmpaWE56UEZRc0lFVStJSHRjYmlBZ0lDQndkV0pzYVdNZ2MzVmpZMlZ6YzJaMWJEb2dkSEoxWlR0Y2JseHVJQ0FnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2lod2RXSnNhV01nZG1Gc2RXVTZJRlFwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV6ZFdOalpYTnpablZzSUQwZ2RISjFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ2JXRndQRlUrS0dZNklDaGhPaUJVS1NBOVBpQlZLVG9nVW1WemRXeDBQRlVzSUVVK0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJUZFdOalpYTnpLR1lvZEdocGN5NTJZV3gxWlNrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCMVlteHBZeUJtYkdGMFRXRndQRlUrS0dZNklDaGhPaUJVS1NBOVBpQlNaWE4xYkhROFZTd2dSVDRwT2lCU1pYTjFiSFE4VlN3Z1JUNGdlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaaWgwYUdsekxuWmhiSFZsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdiV0Z3UlhKeVBGVStLR1k2SUNobE9pQkZLU0E5UGlCVktUb2dVbVZ6ZFd4MFBGUXNJRlUrSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTWdZWE1nWVc1NUlHRnpJRkpsYzNWc2REeFVMQ0JWUGp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZbWx0WVhBOFZESXNJRVV5UGloemRXTmpPaUFvWVRvZ1ZDa2dQVDRnVkRJc0lGOW1ZV2xzT2lBb1lqb2dSU2tnUFQ0Z1JUSXBPaUJTWlhOMWJIUThWRElzSUVVeVBpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG0xaGNDaHpkV05qS1NCaGN5Qmhibms3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHOXlSV3h6WlNoZmRtRnNkV1U2SUZRcE9pQlVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHTmhjM1E4VlQ0b0tUb2dVbVZ6ZFd4MFBGVXNJRVUrSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTWdZWE1nWVc1NU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCMVlteHBZeUJ2Y2tWc2MyVlVhSEp2ZHloZmJXVnpjMkZuWlQ4NklDaGxPaUJGS1NBOVBpQnpkSEpwYm1jcE9pQlVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1U3WEc0Z0lDQWdmVnh1ZlZ4dVhHNHZLaW9nUm5WdVkzUnBiMjVoYkNCeVpYUjFjbTRnZEhsd1pTQm1iM0lnWlhKeWIzSWdhR0Z1Wkd4cGJtY3VYRzRnS2lCQWFHbGtaR1Z1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCR1lXbHNkWEpsUEZRc0lFVStJSHRjYmlBZ0lDQndkV0pzYVdNZ2MzVmpZMlZ6YzJaMWJEb2dabUZzYzJVN1hHNWNiaUFnSUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NIVmliR2xqSUdWeWNtOXlPaUJGS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YzNWalkyVnpjMloxYkNBOUlHWmhiSE5sTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEIxWW14cFl5QnRZWEE4VlQ0b1gyWTZJQ2hoT2lCVUtTQTlQaUJWS1RvZ1VtVnpkV3gwUEZVc0lFVStJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNZ1lYTWdZVzU1SUdGeklFWmhhV3gxY21VOFZTd2dSVDQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHWnNZWFJOWVhBOFZUNG9YMlk2SUNoaE9pQlVLU0E5UGlCU1pYTjFiSFE4VlN3Z1JUNHBPaUJTWlhOMWJIUThWU3dnUlQ0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeUJoY3lCaGJua2dZWE1nUm1GcGJIVnlaVHhWTENCRlBqdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2RXSnNhV01nYldGd1JYSnlQRlUrS0dZNklDaGxPaUJGS1NBOVBpQlZLVG9nVW1WemRXeDBQRlFzSUZVK0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJHWVdsc2RYSmxLR1lvZEdocGN5NWxjbkp2Y2lrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCMVlteHBZeUJpYVcxaGNEeFVNaXdnUlRJK0tGOXpkV05qT2lBb1lUb2dWQ2tnUFQ0Z1ZESXNJR1poYVd3NklDaGlPaUJGS1NBOVBpQkZNaWs2SUZKbGMzVnNkRHhVTWl3Z1JUSStJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWJXRndSWEp5S0daaGFXd3BJR0Z6SUdGdWVUdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2RXSnNhV01nYjNKRmJITmxLSFpoYkhWbE9pQlVLVG9nVkNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ1kyRnpkRHhWUGlncE9pQlNaWE4xYkhROFZTd2dSVDRnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5QmhjeUJoYm5rN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJRzl5Uld4elpWUm9jbTkzS0cxbGMzTmhaMlUvT2lBb1pUb2dSU2tnUFQ0Z2MzUnlhVzVuS1RvZ1ZDQjdYRzRnSUNBZ0lDQWdJR2xtSUNodFpYTnpZV2RsS1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvYldWemMyRm5aU2gwYUdsekxtVnljbTl5S1NrN1hHNGdJQ0FnSUNBZ0lHVnNjMlVnZEdoeWIzY2dibVYzSUVWeWNtOXlLRndpWENJZ0t5QjBhR2x6TG1WeWNtOXlLVHRjYmlBZ0lDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FTQnRiMjVoWkdsaklISmxjM1ZzZENCMGVYQmxJSGRvYVdOb0lITjBiM0psY3lCbGFYUm9aWElnWENKemRXTmpaWE56WENJZ2IzSWdYQ0ptWVdsc2RYSmxYQ0l1SUVGdUlHRnNkR1Z5Ym1GMGFYWmxJR2hoYm1Sc2FXNW5JR1Y0WTJWd2RHbHZibUZzSUdKbGFHRjJhVzl5WEc0Z0tpQmllU0IxYzJsdVp5QjBhR1VnY21WMGRYSnVJSFpoYkhWbElHbHVjM1JsWVdRZ2IyWWdZVzRnWlhoalpYQjBhVzl1TGx4dUlDb3ZYRzVsZUhCdmNuUWdkSGx3WlNCU1pYTjFiSFE4VkN3Z1JUNGdQU0JUZFdOalpYTnpQRlFzSUVVK0lId2dSbUZwYkhWeVpUeFVMQ0JGUGp0Y2JseHVMeW9xWEc0Z0tpQkFhR2xrWkdWdVhHNGdLaUJOYjI1aFpHbGpJQ2RTWlhOMWJIUW5JSFI1Y0dVZ2QyaHBZMmdnWlc1allYQnpkV3hoZEdWeklIZG9aWFJvWlhJZ1lTQndjbTlqWldSMWNtVWdjM1ZqWTJWbFpHVmtJRzl5SUdaaGFXeGxaQ3dnWVhNZ2QyVnNiQ0JoY3lCcGRDZHpJSEpsZEhWeWJpQjJZV3gxWlM1Y2JpQXFMMXh1Wlhod2IzSjBJRzVoYldWemNHRmpaU0JTWlhOMWJIUWdlMXh1SUNBZ0lDOHFLaUJEYjI1emRISjFZM1FnWVNCdVpYY2djM1ZqWTJWemN5QnlaWE4xYkhRZ2QzSmhjSEJwYm1jZ2RHaGxJR2RwZG1WdUlIWmhiSFZsTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJ6ZFdOalpYTnpQRlFzSUVVK0tIWmhiSFZsT2lCVUtUb2dVbVZ6ZFd4MFBGUXNJRVUrSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlRkV05qWlhOektIWmhiSFZsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1EyOXVjM1J5ZFdOMElHRWdibVYzSUdaaGFXeDFjbVVnZG1Gc2RXVWdkM0poY0hCcGJtY2dkR2hsSUdkcGRtVnVJR1Z5Y205eUxpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCbVlXbHNkWEpsUEZRc0lFVStLR1Z5Y205eU9pQkZLVG9nVW1WemRXeDBQRlFzSUVVK0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJHWVdsc2RYSmxLR1Z5Y205eUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dTbTlwYmlCMGQyOGdjbVZ6ZFd4MGN5QjNhWFJvSUdFZ1lta3RablZ1WTNScGIyNGdZVzVrSUhKbGRIVnliaUJoSUc1bGR5QnlaWE4xYkhRdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUdac1lYUk5ZWEF5UEZReExDQlVNaXdnVHl3Z1JUNG9YRzRnSUNBZ0lDQWdJR1pwY25OME9pQlNaWE4xYkhROFZERXNJRVUrTEZ4dUlDQWdJQ0FnSUNCelpXTnZibVE2SUZKbGMzVnNkRHhVTWl3Z1JUNHNYRzRnSUNBZ0lDQWdJR1k2SUNoaE9pQlVNU3dnWWpvZ1ZESXBJRDArSUZKbGMzVnNkRHhQTENCRlBseHVJQ0FnSUNrNklGSmxjM1ZzZER4UExDQkZQaUI3WEc0Z0lDQWdJQ0FnSUdsbUlDaG1hWEp6ZEM1emRXTmpaWE56Wm5Wc0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jMlZqYjI1a0xuTjFZMk5sYzNObWRXd3BJSEpsZEhWeWJpQm1LR1pwY25OMExuWmhiSFZsTENCelpXTnZibVF1ZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0J5WlhSMWNtNGdabUZwYkhWeVpTaHpaV052Ym1RdVpYSnliM0lwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhhV3gxY21Vb1ptbHljM1F1WlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVwdmFXNGdkSGR2SUhKbGMzVnNkSE1nZDJsMGFDQmhJR0pwTFdaMWJtTjBhVzl1SUdGdVpDQnlaWFIxY200Z1lTQnVaWGNnY21WemRXeDBMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZWEF5UEZReExDQlVNaXdnVHl3Z1JUNG9YRzRnSUNBZ0lDQWdJR1pwY25OME9pQlNaWE4xYkhROFZERXNJRVUrTEZ4dUlDQWdJQ0FnSUNCelpXTnZibVE2SUZKbGMzVnNkRHhVTWl3Z1JUNHNYRzRnSUNBZ0lDQWdJR1k2SUNoaE9pQlVNU3dnWWpvZ1ZESXBJRDArSUU5Y2JpQWdJQ0FwT2lCU1pYTjFiSFE4VHl3Z1JUNGdlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdabXhoZEUxaGNESW9abWx5YzNRc0lITmxZMjl1WkN3Z0tHRXNJR0lwSUQwK0lITjFZMk5sYzNNb1ppaGhMQ0JpS1NrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQk5ZWEFnWVNCbVlXbHNZV0pzWlNCbWRXNWpkR2x2YmlCdmRtVnlJR0ZzYkNCbGJHVnRaVzUwY3lCcGJpQjBhR1VnYkdsemRDd2djbVYwZFhKdWFXNW5JR1ZoY214NUlHOXVJR1poYVd4MWNtVXVJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHMWhjRUZzYkR4VUxDQlBMQ0JGUGlocGJuQjFkRG9nU1hSbGNtRmliR1U4VkQ0c0lHWjFibU02SUNocGJuQjFkRG9nVkNrZ1BUNGdVbVZ6ZFd4MFBFOHNJRVUrS1RvZ1VtVnpkV3gwUEU5YlhTd2dSVDRnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhOMWJIUTZJRTliWFNBOUlGdGRPMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdWc1pXMWxiblFnYjJZZ2FXNXdkWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHOTFkSEIxZENBOUlHWjFibU1vWld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVc5MWRIQjFkQzV6ZFdOalpYTnpablZzS1NCeVpYUjFjbTRnYjNWMGNIVjBMbU5oYzNRb0tUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5CMWMyZ29iM1YwY0hWMExuWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQlNaWE4xYkhRdWMzVmpZMlZ6Y3loeVpYTjFiSFFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRFlYUmphQ0JoYm5rZ1pYSnliM0p6SUdsdUlHRWdZMkZzYkN3Z2NtVjBkWEp1YVc1bklHRWdjbVZ6ZFd4MElHbHVjM1JsWVdRdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUhSeWVXbHVaenhVUGloallXeHNPaUFvS1NBOVBpQlVLVG9nVW1WemRXeDBQRlFzSUVWeWNtOXlQaUI3WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVW1WemRXeDBMbk4xWTJObGMzTW9ZMkZzYkNncEtUdGNiaUFnSUNBZ0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJTWlhOMWJIUXVabUZwYkhWeVpTaGxjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRMjl1ZG1WeWRDQmhJSEJ5YjIxcGMyVWdkMmhwWTJnZ2JXRjVJSFJvY205M0lHbHVkRzhnWVNCd2NtOXRhWE5sSUhkb2FXTm9JSEpsZEhWeWJuTWdZU0J5WlhOMWJIUWdiMllnZEdobElITjFZMk5sYzNObWRXd2dkbUZzZFdVZ2IzSWdZVzRnWlhKeWIzSXVJQ292WEc0Z0lDQWdaWGh3YjNKMElHRnplVzVqSUdaMWJtTjBhVzl1SUdGemVXNWpQRlErS0hCeWIyMXBjMlU2SUZCeWIyMXBjMlU4VkQ0cE9pQlFjbTl0YVhObFBGSmxjM1ZzZER4VUxDQkZjbkp2Y2o0K0lIdGNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQlNaWE4xYkhRdWMzVmpZMlZ6Y3loaGQyRnBkQ0J3Y205dGFYTmxLVHRjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCU1pYTjFiSFF1Wm1GcGJIVnlaU2hsY25KdmNpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzU5WEc0aUxDQWlhVzF3YjNKMElIc2dVbVZ6ZFd4MElIMGdabkp2YlNCY0ltRndhUzl5WlhOMWJIUmNJanRjYmx4dUx5b3FJRk4wWVhScFl5QnpaWFFnWld4bGJXVnVkQ0IzYUdsamFDQnRZWFJqYUdWeklHVjJaWEo1ZEdocGJtY3VJQ292WEc1bGVIQnZjblFnZEhsd1pTQkZkbVZ5ZVhSb2FXNW5JRDBnZXlCMGVYQmxPaUJjSW1WMlpYSjVkR2hwYm1kY0lpQjlPMXh1THlvcUlGTjBZWFJwWXlCelpYUWdaV3hsYldWdWRDQjNhR2xqYUNCdFlYUmphR1Z6SUc1dmRHaHBibWN1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JPYjNSb2FXNW5JRDBnZXlCMGVYQmxPaUJjSW01dmRHaHBibWRjSWlCOU8xeHVMeW9xSUZObGRDQjNhR2xqYUNCdFlYUmphR1Z6SUhSb1pTQnVaV2RoZEdsdmJpQnZaaUJoSUhObGRDNGdLaTljYm1WNGNHOXlkQ0IwZVhCbElFNWxaMkYwWldROFZENGdQU0I3SUhSNWNHVTZJRndpYm1WbllYUmxaRndpT3lCMllXeDFaVG9nVTJWMFBGUStJSDA3WEc0dktpb2dVMlYwSUhkb2FXTm9JRzFoZEdOb1pYTWdZVzRnWVdOMGRXRnNJSE5sZENCdlppQjJZV3gxWlhNdUlDQXFMMXh1Wlhod2IzSjBJSFI1Y0dVZ1FYUnZiVHhVUGlBOUlIc2dkSGx3WlRvZ1hDSmhkRzl0WENJN0lIWmhiSFZsT2lCVFpYUThWRDRnZlR0Y2JseHVMeW9xSUVGaWMzUnlZV04wSUdacGJIUmxjaUIwZVhCbElIZG9hV05vSUhKbGNISmxjMlZ1ZEhNZ2RHaGxJSEpsYzNWc2RITWdiMllnWVhCd2JIbHBibWNnWm1sc2RHVnlJRzl3WlhKaGRHbHZibk1nZEc4Z2RHaGxJR1JoZEdFZ2MzUnZjbVV1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JHYVd4MFpYSThWRDRnUFNCRmRtVnllWFJvYVc1bklId2dUbTkwYUdsdVp5QjhJRUYwYjIwOFZENGdmQ0JPWldkaGRHVmtQRlErTzF4dVhHNHZLaW9nVlhScGJHbDBlU0JtZFc1amRHbHZibk1nWm05eUlHVm1abWxqYVdWdWRHeDVJRzl3WlhKaGRHbHVaeUJ2YmlCbWFXeDBaWEp6TGlBcUwxeHVaWGh3YjNKMElHNWhiV1Z6Y0dGalpTQkdhV3gwWlhKeklIdGNiaUFnSUNBdktpb2dVM1JoZEdsaklHWnBiSFJsY2lCM2FHbGphQ0J0WVhSamFHVnpJR1YyWlhKNWRHaHBibWN1SUNvdlhHNGdJQ0FnWlhod2IzSjBJR052Ym5OMElFVldSVkpaVkVoSlRrYzZJRVYyWlhKNWRHaHBibWNnUFNCN0lIUjVjR1U2SUZ3aVpYWmxjbmwwYUdsdVoxd2lJSDA3WEc0Z0lDQWdMeW9xSUZOMFlYUnBZeUJtYVd4MFpYSWdkMmhwWTJnZ2JXRjBZMmhsY3lCdWIzUm9hVzVuTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JqYjI1emRDQk9UMVJJU1U1SE9pQk9iM1JvYVc1bklEMGdleUIwZVhCbE9pQmNJbTV2ZEdocGJtZGNJaUI5TzF4dUlDQWdJQzhxS2lCRmJYQjBlU0J6WlhRZ1kyOXVjM1JoYm5RdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdOdmJuTjBJRVZOVUZSWlgxTkZWRG9nVTJWMFBHRnVlVDRnUFNCdVpYY2dVMlYwS0NrN1hHNWNiaUFnSUNBdktpb2dRMjl1YzNSeWRXTjBJR0VnYm1WM0lHRjBiMjBnWm1sc2RHVnlMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQmhkRzl0UEZRK0tITmxkRG9nVTJWMFBGUStLVG9nUm1sc2RHVnlQRlErSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSE5sZEM1emFYcGxJRDA5SURBcElISmxkSFZ5YmlCT1QxUklTVTVITzF4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lIUjVjR1U2SUZ3aVlYUnZiVndpTENCMllXeDFaVG9nYzJWMElIMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRU52Ym5OMGNuVmpkQ0JoSUdacGJIUmxjaUIwYUdGMElHMWhkR05vWlhNZ1pYWmxjbmwwYUdsdVp5QnZjaUJ1YjNSb2FXNW5MaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQmpiMjV6ZEdGdWREeFVQaWgyWVd4MVpUb2dZbTl2YkdWaGJpazZJRVpwYkhSbGNqeFVQaUI3WEc0Z0lDQWdJQ0FnSUdsbUlDaDJZV3gxWlNrZ2NtVjBkWEp1SUVWV1JWSlpWRWhKVGtjN1hHNGdJQ0FnSUNBZ0lHVnNjMlVnY21WMGRYSnVJRTVQVkVoSlRrYzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRU52Ym5OMGNuVmpkQ0JoSUc1bGR5QmhkRzl0SUdacGJIUmxjaUIzYUdsamFDQnBjeUJPVDFSSVNVNUhJR2xtSUhObGRDQnBjeUIxYm1SbFptbHVaV1F1SUNvdlhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJRzUxYkd4aFlteGxRWFJ2YlR4VVBpaHpaWFE2SUZObGREeFVQaUI4SUhWdVpHVm1hVzVsWkNrNklFWnBiSFJsY2p4VVBpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpaWFFnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JR0YwYjIwb2MyVjBLU0E2SUU1UFZFaEpUa2M3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVOdmJuTjBjblZqZENCaElHNWxaMkYwWldRZ1lYUnZiU0JtYVd4MFpYSXVJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHNWxaMkYwWldROFZENG9jMlYwT2lCVFpYUThWRDRwT2lCR2FXeDBaWEk4VkQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzJWMExuTnBlbVVnUFQwZ01Da2djbVYwZFhKdUlFVldSVkpaVkVoSlRrYzdYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0p1WldkaGRHVmtYQ0lzSUhaaGJIVmxPaUJ6WlhRZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dVSEp2WkhWalpYTWdkR2hsSUc1bFoyRjBhVzl1SUc5bUlHRWdabWxzZEdWeUxpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCdVpXZGhkR1U4VkQ0b1ptbHNkR1Z5T2lCR2FXeDBaWEk4VkQ0cE9pQkdhV3gwWlhJOFZENGdlMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLR1pwYkhSbGNpNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2laWFpsY25sMGFHbHVaMXdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJPVDFSSVNVNUhPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW01dmRHaHBibWRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnUlZaRlVsbFVTRWxPUnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmhkRzl0WENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bFoyRjBaV1FvWm1sc2RHVnlMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0p1WldkaGRHVmtYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0YwYjIwb1ptbHNkR1Z5TG5aaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRVpYUmxjbTFwYm1VZ2FXWWdkR2hsSUdkcGRtVnVJR1pwYkhSbGNpQnBjeUJrWldacGJtbDBhWFpsYkhrZ1kzVnljbVZ1ZEd4NUlHVnRjSFI1TGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJsYlhCMGVUeFVQaWhtYVd4MFpYSTZJRVpwYkhSbGNqeFVQaWs2SUdKdmIyeGxZVzRnZTF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0dacGJIUmxjaTUwZVhCbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpWlhabGNubDBhR2x1WjF3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdVpXZGhkR1ZrWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1GMGIyMWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabWxzZEdWeUxuWmhiSFZsTG5OcGVtVWdQVDBnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnViM1JvYVc1blhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1VtVnpiMngyWlNCaElIUnZjQzFzWlhabGJDQm1hV3gwWlhJZ2QybDBhQ0IwYUdVZ2MyVjBJRzltSUdGc2JDQmhkbUZwYkdGaWJHVWdiMkpxWldOMGN5NGdLaTljYmlBZ0lDQmxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtVnpiMngyWlR4VVBpaG1hV3gwWlhJNklFWnBiSFJsY2p4VVBpd2daWFpsY25sMGFHbHVaem9nVTJWMFBGUStLVG9nVTJWMFBGUStJSHRjYmlBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2htYVd4MFpYSXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVYyWlhKNWRHaHBibWRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWlhabGNubDBhR2x1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnViM1JvYVc1blhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFVk5VRlJaWDFORlZEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0poZEc5dFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWnBiSFJsY2k1MllXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdVpXZGhkR1ZrWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhObGRFbHVkR1Z5YzJWamRFNWxaMkYwYVc5dUtHVjJaWEo1ZEdocGJtY3NJR1pwYkhSbGNpNTJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dTVzUwWlhKelpXTjBJR0Z1SUdsMFpYSmhZbXhsSUc5bUlHWnBiSFJsY25NdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUdsdWRHVnljMlZqZER4VVBpaGxiR1Z0Wlc1MGN6b2dTWFJsY21GaWJHVThSbWxzZEdWeVBGUStQaWs2SUVacGJIUmxjanhVUGlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCc1lYcDVTVzUwWlhKelpXTjBLR1ZzWlcxbGJuUnpMQ0FvZUNrZ1BUNGdlQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVsdWRHVnljMlZqZENCbWFXeDBaWEp6SUd4aGVtbHNlU3dnYzJodmNuUXRZMmx5WTNWcGRHbHVaeUJwWmlCMGFHVWdhVzUwWlhKelpXTjBhVzl1SUhkdmRXeGtJSEJ5YjJSMVkyVWdUazlVU0VsT1J5NGdLaTljYmlBZ0lDQmxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JHRjZlVWx1ZEdWeWMyVmpkRHhKTENCVVBpaGNiaUFnSUNBZ0lDQWdaV3hsYldWdWRITTZJRWwwWlhKaFlteGxQRWsrTEZ4dUlDQWdJQ0FnSUNCd2NtOWtkV05sT2lBb2FXNXdkWFE2SUVrcElEMCtJRVpwYkhSbGNqeFVQaUI4SUhWdVpHVm1hVzVsWkZ4dUlDQWdJQ2s2SUVacGJIUmxjanhVUGlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCc1lYcDVSbUZwYkdGaWJHVkpiblJsY25ObFkzUnBiMjRvWld4bGJXVnVkSE1zSUNoNEtTQTlQaUJTWlhOMWJIUXVjM1ZqWTJWemN5aHdjbTlrZFdObEtIZ3BLU2t1YjNKRmJITmxWR2h5YjNjb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dTVzUwWlhKelpXTjBJR1pwYkhSbGNuTWdiR0Y2YVd4NUxDQnphRzl5ZEMxamFYSmpkV2wwYVc1bklHbG1JSFJvWlNCcGJuUmxjbk5sWTNScGIyNGdkMjkxYkdRZ2NISnZaSFZqWlNCT1QxUklTVTVITGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJzWVhwNVJtRnBiR0ZpYkdWSmJuUmxjbk5sWTNScGIyNDhTU3dnVkN3Z1JUNG9YRzRnSUNBZ0lDQWdJR1ZzWlcxbGJuUnpPaUJKZEdWeVlXSnNaVHhKUGl4Y2JpQWdJQ0FnSUNBZ2NISnZaSFZqWlRvZ0tHbHVjSFYwT2lCSktTQTlQaUJTWlhOMWJIUThSbWxzZEdWeVBGUStJSHdnZFc1a1pXWnBibVZrTENCRlBseHVJQ0FnSUNrNklGSmxjM1ZzZER4R2FXeDBaWEk4VkQ0c0lFVStJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZWFJ2YlhNNklGTmxkRHhVUGx0ZElEMGdXMTA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzVsWjJGMGFXOXVjem9nVTJWMFBGUStXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdaV3hsYldWdWRDQnZaaUJsYkdWdFpXNTBjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXRjVZbVZHYVd4MFpYSWdQU0J3Y205a2RXTmxLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0Z0WVhsaVpVWnBiSFJsY2k1emRXTmpaWE56Wm5Wc0tTQnlaWFIxY200Z2JXRjVZbVZHYVd4MFpYSXVZMkZ6ZENncE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JtYVd4MFpYSWdQU0J0WVhsaVpVWnBiSFJsY2k1MllXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htYVd4MFpYSWdQVDA5SUhWdVpHVm1hVzVsWkNrZ1kyOXVkR2x1ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFVnRjSFI1SUdacGJIUmxjbk1nZDJsc2JDQndjbTlrZFdObElHRnVJR1Z0Y0hSNUlHbHVkR1Z5YzJWamRHbHZiaTVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsYlhCMGVTaG1hV3gwWlhJcEtTQnlaWFIxY200Z1VtVnpkV3gwTG5OMVkyTmxjM01vVGs5VVNFbE9SeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJGVmtWU1dWUklTVTVISUdacGJIUmxjbk1nWVhKbElISmxaSFZ1WkdGdWRDQnBiaUJCVGtSekxDQnphMmx3SUhSb1pXMHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9abWxzZEdWeUxuUjVjR1VnUFQwOUlGd2laWFpsY25sMGFHbHVaMXdpS1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YybHNiQ0J2Ym14NUlHSmxJR3hsWm5RZ2QybDBhQ0JoZEc5dGN5QnZjaUJ1WldkaGRHbHZibk11WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWm1sc2RHVnlMblI1Y0dVZ1BUMGdYQ0poZEc5dFhDSXBJR0YwYjIxekxuQjFjMmdvWm1sc2RHVnlMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dacGJIUmxjaTUwZVhCbElEMDlJRndpYm1WbllYUmxaRndpS1NCdVpXZGhkR2x2Ym5NdWNIVnphQ2htYVd4MFpYSXVkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnTHk4Z1YyVWdjM1JoY25RZ2QybDBhQ0J6YjIxbGRHaHBibWNnYjJZZ2RHaGxJR1p2Y20wZ1lTQW1KaUJpSUNZbUlDRmpJQ1ltSUNGa0xseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCdWJ5QjBaWEp0Y3l3Z2RHaGxiaUJsZG1WeWVYUm9hVzVuSUhkaGN5QkZWa1ZTV1ZSSVNVNUhJSE52SUhKbGRIVnliaUIwYUdGMExseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCdmJteDVJR0YwYjIxekxDQnFkWE4wSUdsdWRHVnljMlZqZENCMGFHVnRJQ2hoSUNZbUlHSXBMbHh1SUNBZ0lDQWdJQ0F2THlCSlppQnZibXg1SUc1bFoyRjBhVzl1Y3l3Z2RHaGxiaUJ5WlhkeWFYUmxJQ0ZqSUNZbUlDRmtJRDArSUNFb1l5QjhmQ0JrS1NCaGJtUWdjbVYwZFhKdUlHNWxaMkYwWldRb1l5QjhmQ0JrS1M1Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnWW05MGFDd2dZMjl0Y0hWMFpTQjRJRDBnS0dFZ0ppWWdZaWtnWVc1a0lIa2dQU0FvWXlCOGZDQmtLU3dnWVc1a0lIUm9aVzRnWTI5dGNIVjBaU0I0SUNZbUlDRjVMbHh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGhkRzl0Y3k1c1pXNW5kR2dnUFQwZ01DQW1KaUJ1WldkaGRHbHZibk11YkdWdVozUm9JRDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJTWlhOMWJIUXVjM1ZqWTJWemN5aEZWa1ZTV1ZSSVNVNUhLVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaGRHOXRjeTVzWlc1bmRHZ2dQaUF3SUNZbUlHNWxaMkYwYVc5dWN5NXNaVzVuZEdnZ1BUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGSmxjM1ZzZEM1emRXTmpaWE56S0dGMGIyMG9jMlYwU1c1MFpYSnpaV04wS0dGMGIyMXpLU2twTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHRjBiMjF6TG14bGJtZDBhQ0E5UFNBd0lDWW1JRzVsWjJGMGFXOXVjeTVzWlc1bmRHZ2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdVbVZ6ZFd4MExuTjFZMk5sYzNNb2JtVm5ZWFJsWkNoelpYUlZibWx2YmlodVpXZGhkR2x2Ym5NcEtTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVW1WemRXeDBMbk4xWTJObGMzTW9SbWxzZEdWeWN5NWhkRzl0S0hObGRFbHVkR1Z5YzJWamRFNWxaMkYwYVc5dUtITmxkRWx1ZEdWeWMyVmpkQ2hoZEc5dGN5a3NJSE5sZEZWdWFXOXVLRzVsWjJGMGFXOXVjeWtwS1NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dWVzVwYjI0Z1ptbHNkR1Z5Y3l3Z2NISnZaSFZqYVc1bklHRWdjMmx1WjJ4bElISmxjM1ZzZENCbWFXeDBaWEl1SUNvdlhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJSFZ1YVc5dVBGUStLR1pwYkhSbGNuTTZJRWwwWlhKaFlteGxQRVpwYkhSbGNqeFVQajRwT2lCR2FXeDBaWEk4VkQ0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JHRjZlVlZ1YVc5dUtHWnBiSFJsY25Nc0lDaDRLU0E5UGlCNEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dWVzVwYjI0Z1ptbHNkR1Z5Y3lCc1lYcHBiSGtzSUhOb2IzSjBMV05wY21OMWFYUnBibWNnYVdZZ2RHaGxJSFZ1YVc5dUlIZHZkV3hrSUhCeWIyUjFZMlVnUlZaRlVsbFVTRWxPUnk0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYkdGNmVWVnVhVzl1UEVrc0lGUStLR1ZzWlcxbGJuUnpPaUJKZEdWeVlXSnNaVHhKUGl3Z2NISnZaSFZqWlRvZ0tHbHVjSFYwT2lCSktTQTlQaUJHYVd4MFpYSThWRDRnZkNCMWJtUmxabWx1WldRcE9pQkdhV3gwWlhJOFZENGdlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiR0Y2ZVVaaGFXeGhZbXhsVlc1cGIyNG9aV3hsYldWdWRITXNJQ2g0S1NBOVBpQlNaWE4xYkhRdWMzVmpZMlZ6Y3lod2NtOWtkV05sS0hncEtTa3ViM0pGYkhObFZHaHliM2NvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1ZXNXBiMjRnWm1sc2RHVnljeUJzWVhwcGJIa3NJSE5vYjNKMExXTnBjbU4xYVhScGJtY2dhV1lnZEdobElIVnVhVzl1SUhkdmRXeGtJSEJ5YjJSMVkyVWdSVlpGVWxsVVNFbE9SeTRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdiR0Y2ZVVaaGFXeGhZbXhsVlc1cGIyNDhTU3dnVkN3Z1JUNG9YRzRnSUNBZ0lDQWdJR1ZzWlcxbGJuUnpPaUJKZEdWeVlXSnNaVHhKUGl4Y2JpQWdJQ0FnSUNBZ2NISnZaSFZqWlRvZ0tHbHVjSFYwT2lCSktTQTlQaUJTWlhOMWJIUThSbWxzZEdWeVBGUStJSHdnZFc1a1pXWnBibVZrTENCRlBseHVJQ0FnSUNrNklGSmxjM1ZzZER4R2FXeDBaWEk4VkQ0c0lFVStJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZWFJ2YlhNNklGTmxkRHhVUGx0ZElEMGdXMTA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzVsWjJGMGFXOXVjem9nVTJWMFBGUStXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdaV3hsYldWdWRDQnZaaUJsYkdWdFpXNTBjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXRjVZbVZHYVd4MFpYSWdQU0J3Y205a2RXTmxLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0Z0WVhsaVpVWnBiSFJsY2k1emRXTmpaWE56Wm5Wc0tTQnlaWFIxY200Z2JXRjVZbVZHYVd4MFpYSXVZMkZ6ZENncE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JtYVd4MFpYSWdQU0J0WVhsaVpVWnBiSFJsY2k1MllXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htYVd4MFpYSWdQVDA5SUhWdVpHVm1hVzVsWkNrZ1kyOXVkR2x1ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFVldSVkpaVkVoSlRrY2dabWxzZEdWeWN5QjNhV3hzSUhCeWIyUjFZMlVnWlhabGNubDBhR2x1WnlCaGJIZGhlWE11WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWm1sc2RHVnlMblI1Y0dVZ1BUMDlJRndpWlhabGNubDBhR2x1WjF3aUtTQnlaWFIxY200Z1VtVnpkV3gwTG5OMVkyTmxjM01vUlZaRlVsbFVTRWxPUnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCRmJYQjBlU0JtYVd4MFpYSnpJR0Z5WlNCeVpXUjFibVJoYm5RdVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pXMXdkSGtvWm1sc2RHVnlLU2tnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkcGJHd2diMjVzZVNCaVpTQnNaV1owSUhkcGRHZ2dZWFJ2YlhNZ2IzSWdibVZuWVhScGIyNXpMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1pwYkhSbGNpNTBlWEJsSUQwOUlGd2lZWFJ2YlZ3aUtTQmhkRzl0Y3k1d2RYTm9LR1pwYkhSbGNpNTJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2htYVd4MFpYSXVkSGx3WlNBOVBTQmNJbTVsWjJGMFpXUmNJaWtnYm1WbllYUnBiMjV6TG5CMWMyZ29abWxzZEdWeUxuWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQzh2SUU5eUlHbHpJR0VnWW1sMElHaGhjbVJsY2lCMGFHRnVJRUZPUkNCemFXNWpaU0I1YjNVZ1kyRnVJR1Z1WkNCMWNDQjNhWFJvSUhOalpXNWhjbWx2Y3lCc2FXdGxJR0VnZkh3Z0lXSXNJSGRvYVdOb0lHRnlaVnh1SUNBZ0lDQWdJQ0F2THlCdWIzUWdZMjl0Y0hWMFlXSnNaU0JrYVhKbFkzUnNlUzRnU0c5M1pYWmxjaXdnZDJVZ1kyRnVJR1J2SUdKdmIyeGxZVzRnYkc5bmFXTWdkRzhnWVd4M1lYbHpJSEJ5YjJSMVkyVWdZU0J6YVc1bmJHVmNiaUFnSUNBZ0lDQWdMeThnYzJWMExseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCdWIzUm9hVzVuSUQwK0lHNXZkR2hwYm1jc0lHNXZJRzV2YmkxbGJYQjBlU0JtYVd4MFpYSnpMbHh1SUNBZ0lDQWdJQ0F2THlCSlppQmhkRzl0Y3lCaWRYUWdibThnYm1WbllYUnBiMjV6SUNoaElIeDhJR0lnZkh3Z1l5a2dQVDRnWTI5dGNIVjBaU0IxYm1sdmJpNWNiaUFnSUNBZ0lDQWdMeThnU1dZZ2JtVm5ZWFJwYjI1eklHSjFkQ0J1YnlCaGRHOXRjeUFvSVdFZ2ZId2dJV0lnZkh3Z0lXTXBJRDArSUhKbGQzSnBkR1VnWVhNZ0lTaGhJQ1ltSUdJZ0ppWWdZeWt1WEc0Z0lDQWdJQ0FnSUM4dklFbG1JR0p2ZEdnNklDaGhJSHg4SUdJZ2ZId2dJV01nZkh3Z0lXUXBJRDArSUdOdmJXSnBibVVnWldGamFDQndZWEowSUdsdWRHOGdLR0VnZkh3Z1lpa2dmSHdnS0NGaklIeDhJQ0ZrS1NBOVBpQW9ZU0I4ZkNCaUtTQjhmQ0FoS0dNZ0ppWWdaQ2tnUFQ0Z1pTQjhmQ0FoWmlBOVBpQWhLQ0ZsSUNZbUlHWXBJSGRvYVdOb1hHNGdJQ0FnSUNBZ0lDOHZJR05oYmlCaVpTQmpiMjF3ZFhSbFpDQjFjMmx1WnlCcGJuUmxjbk5sWTNScGIyNGdiRzluYVdNdVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0dGMGIyMXpMbXhsYm1kMGFDQTlQU0F3SUNZbUlHNWxaMkYwYVc5dWN5NXNaVzVuZEdnZ1BUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGSmxjM1ZzZEM1emRXTmpaWE56S0U1UFZFaEpUa2NwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHRjBiMjF6TG14bGJtZDBhQ0ErSURBZ0ppWWdibVZuWVhScGIyNXpMbXhsYm1kMGFDQTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdVbVZ6ZFd4MExuTjFZMk5sYzNNb1JtbHNkR1Z5Y3k1aGRHOXRLSE5sZEZWdWFXOXVLR0YwYjIxektTa3BPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dGMGIyMXpMbXhsYm1kMGFDQTlQU0F3SUNZbUlHNWxaMkYwYVc5dWN5NXNaVzVuZEdnZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1VtVnpkV3gwTG5OMVkyTmxjM01vUm1sc2RHVnljeTV1WldkaGRHVmtLSE5sZEVsdWRHVnljMlZqZENodVpXZGhkR2x2Ym5NcEtTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVW1WemRXeDBMbk4xWTJObGMzTW9ibVZuWVhSbFpDaHpaWFJKYm5SbGNuTmxZM1JPWldkaGRHbHZiaWh6WlhSSmJuUmxjbk5sWTNRb2JtVm5ZWFJwYjI1ektTd2djMlYwVlc1cGIyNG9ZWFJ2YlhNcEtTa3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVWbVptbGphV1Z1ZEd4NUlHTnZiWEIxZEdVZ2RHaGxJR2x1ZEdWeWMyVmpkR2x2YmlCdlppQnpaWFJ6TGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJ6WlhSSmJuUmxjbk5sWTNROFZENG9jMlYwY3pvZ1UyVjBQRlErVzEwcE9pQlRaWFE4VkQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzJWMGN5NXNaVzVuZEdnZ1BUMGdNQ2tnY21WMGRYSnVJRzVsZHlCVFpYUW9LVHRjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYzJWMGN5NXNaVzVuZEdnZ1BUMGdNU2tnY21WMGRYSnVJSE5sZEhOYk1GMDdYRzVjYmlBZ0lDQWdJQ0FnTHk4Z1UyOXlkQ0JpZVNCemFYcGxJR0Z1WkNCamIyMWlhVzVsSUhOdFlXeHNaWE4wSUdGdVpDQnNZWEpuWlhOMElITmxkQ0J5WlhCbFlYUmxaR3g1TGx4dUlDQWdJQ0FnSUNCc1pYUWdjMjl5ZEdWa0lEMGdLRnRkSUdGeklGTmxkRHhVUGx0ZEtTNWpiMjVqWVhRb2MyVjBjeWt1YzI5eWRDZ29ZU3dnWWlrZ1BUNGdZUzV6YVhwbElDMGdZaTV6YVhwbEtUdGNibHh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9jMjl5ZEdWa0xteGxibWQwYUNBK0lERXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhKbGMzVnNkQ0E5SUc1bGR5QlRaWFE4VkQ0b0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3hoY21kbGMzUWdQU0J6YjNKMFpXUXVjRzl3S0NraE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLR3hsZENCbGJHVnRaVzUwSUc5bUlITnZjblJsWkZzd1hTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoc1lYSm5aWE4wTG1oaGN5aGxiR1Z0Wlc1MEtTa2djbVZ6ZFd4MExtRmtaQ2hsYkdWdFpXNTBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2MyOXlkR1ZrV3pCZElEMGdjbVZ6ZFd4ME8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSE52Y25SbFpGc3dYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUldabWFXTnBaVzUwYkhrZ1kyOXRjSFYwWlNCMGFHVWdkVzVwYjI0Z2IyWWdjMlYwY3k0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYzJWMFZXNXBiMjQ4VkQ0b2MyVjBjem9nVTJWMFBGUStXMTBwT2lCVFpYUThWRDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9jMlYwY3k1c1pXNW5kR2dnUFQwZ01Da2djbVYwZFhKdUlHNWxkeUJUWlhRb0tUdGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9jMlYwY3k1c1pXNW5kR2dnUFQwZ01Ta2djbVYwZFhKdUlITmxkSE5iTUYwN1hHNWNiaUFnSUNBZ0lDQWdMeThnU1NkdElHNXZkQ0J6ZFhKbElHbG1JSFJvWlhKbElHbHpJR0Z1ZVNCMWMyVm1kV3dnYjNCMGFXMXBlbUYwYVc5dUlHWnZjaUJ6WlhRZ2RXNXBiMjV6TENCemJ5QnFkWE4wSUdGa1pDQjBhR1Z0SUdGc2JDQkpJR2QxWlhOekxseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFFnUFNCdVpYY2dVMlYwUEZRK0tDazdYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnYzJWMElHOW1JSE5sZEhNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ1pXeGxiV1Z1ZENCdlppQnpaWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1WVdSa0tHVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1JXWm1hV05wWlc1MGJIa2dZMjl0Y0hWMFpTQmhkRzl0SUNZbUlDRnVaV2RoZEdWa0xpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCelpYUkpiblJsY25ObFkzUk9aV2RoZEdsdmJqeFVQaWhoZEc5dE9pQlRaWFE4VkQ0c0lHNWxaMkYwWldRNklGTmxkRHhVUGlrNklGTmxkRHhVUGlCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hoZEc5dExuTnBlbVVnUGlCdVpXZGhkR1ZrTG5OcGVtVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJQUkU4NklGZHZkV3hrSUdKbElHNXBZMlVnZEc4Z1lYWnZhV1FnZEdobElHTnZjSGtzSUhOcGJtTmxJRWtuYlNCdWIzUWdjM1Z5WlNCcGRDZHpJR0Z1ZVNCbVlYTjBaWElnZDJsMGFDQjBhR1VnWTI5d2VTNWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEpsYzNWc2RDQTlJRzVsZHlCVFpYUW9ZWFJ2YlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JsYkdWdFpXNTBJRzltSUc1bFoyRjBaV1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1WkdWc1pYUmxLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1SUNBZ0lDQWdJQ0I5SUM4cUlHRjBiMjB1YzJsNlpTQThJRzVsWjJGMGFXOXVMbk5wZW1VZ0tpOGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnlaWE4xYkhRZ1BTQnVaWGNnVTJWMFBGUStLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQmxiR1Z0Wlc1MElHOW1JR0YwYjIwcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYm1WbllYUmxaQzVvWVhNb1pXeGxiV1Z1ZENrcElHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1aFpHUW9aV3hsYldWdWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzU5WEc0aUxDQWlhVzF3YjNKMElIc2dUR2wwWlhKaGJDd2dUR2wwWlhKaGJITWdmU0JtY205dElGd2laWGh3Y21WemMybHZiaTlzYVhSbGNtRnNYQ0k3WEc1cGJYQnZjblFnZXlCR2FXeDBaWEp6SUgwZ1puSnZiU0JjSWk0dlptbHNkR1Z5YzF3aU8xeHVYRzR2S2lvZ1EyOXRjR0Z5YVhOdmJpQnZjR1Z5WVhSdmNuTWdkMmhwWTJnZ2VXbGxiR1FnZEhKMVpTOW1ZV3h6WlM0Z0tpOWNibVY0Y0c5eWRDQjBlWEJsSUVOdmJYQmhjbVZQY0NBOUlGd2lQbHdpSUh3Z1hDSStQVndpSUh3Z1hDSThQVndpSUh3Z1hDSThYQ0lnZkNCY0lqMWNJaUI4SUZ3aUlUMWNJanRjYmk4cUtpQkJjbWwwYUcxbGRHbGpJRzl3WlhKaGRHOXljeUIzYUdsamFDQjVhV1ZzWkNCdWRXMWlaWEp6SUdGdVpDQnZkR2hsY2lCMllXeDFaWE11SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JCY21sMGFHMWxkR2xqVDNBZ1BTQmNJaXRjSWlCOElGd2lMVndpSUh3Z1hDSXFYQ0lnZkNCY0lpOWNJaUI4SUZ3aUpWd2lJSHdnWENJbVhDSWdmQ0JjSW54Y0lqdGNiaThxS2lCSmJtUmxlQ0JoSUhaaGJIVmxJR2x1ZEc4Z1lXNXZkR2hsY2lCMllXeDFaUzRnS2k5Y2JtVjRjRzl5ZENCMGVYQmxJRXh2WjJsallXeFBjQ0E5SUZ3aWFXNWtaWGhjSWp0Y2JpOHFLaUJCYkd3Z2RtRnNhV1FnWW1sdVlYSjVJRzl3WlhKaGRHOXljeTRnS2k5Y2JtVjRjRzl5ZENCMGVYQmxJRUpwYm1GeWVVOXdJRDBnUTI5dGNHRnlaVTl3SUh3Z1FYSnBkR2h0WlhScFkwOXdJSHdnVEc5bmFXTmhiRTl3TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JGZUhCeVpYTnphVzl1SUQxY2JpQWdJQ0I4SUV4cGRHVnlZV3hGZUhCeVpYTnphVzl1WEc0Z0lDQWdmQ0JXWVhKcFlXSnNaVVY0Y0hKbGMzTnBiMjVjYmlBZ0lDQjhJRXhwYzNSRmVIQnlaWE56YVc5dVhHNGdJQ0FnZkNCUFltcGxZM1JGZUhCeVpYTnphVzl1WEc0Z0lDQWdmQ0JDYVc1aGNubFBjRVY0Y0hKbGMzTnBiMjVjYmlBZ0lDQjhJRVoxYm1OMGFXOXVSWGh3Y21WemMybHZibHh1SUNBZ0lId2dUR0Z0WW1SaFJYaHdjbVZ6YzJsdmJseHVJQ0FnSUh3Z1RtVm5ZWFJsWkVWNGNISmxjM05wYjI0N1hHNWNiaThxS2lCTWFYUmxjbUZzSUhKbGNISmxjMlZ1ZEdGMGFXOXVJRzltSUhOdmJXVWdabWxsYkdRZ2RIbHdaUzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RHbDBaWEpoYkVWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUhSNWNHVTZJRndpYkdsMFpYSmhiRndpTzF4dUlDQWdJSFpoYkhWbE9pQk1hWFJsY21Gc08xeHVmVnh1WEc0dktpb2dRU0IyWVhKcFlXSnNaU0JtYVdWc1pDQm1iM0lnWVNCMllYSnBZV0pzWlNCM2FYUm9JR0VnWjJsMlpXNGdibUZ0WlM0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdWbUZ5YVdGaWJHVkZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQjBlWEJsT2lCY0luWmhjbWxoWW14bFhDSTdYRzRnSUNBZ2JtRnRaVG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNHZLaW9nUVNCc2FYTjBJR3hwZEdWeVlXd3NJSGRvYVdOb0lHbHpJR0Z1SUc5eVpHVnlaV1FnWTI5c2JHVmpkR2x2YmlCdlppQm1hV1ZzWkhNdUlDb3ZYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRXhwYzNSRmVIQnlaWE56YVc5dUlIdGNiaUFnSUNCMGVYQmxPaUJjSW14cGMzUmNJanRjYmlBZ0lDQjJZV3gxWlhNNklFVjRjSEpsYzNOcGIyNWJYVHRjYm4xY2JseHVMeW9xSUVGdUlHOWlhbVZqZENCc2FYUmxjbUZzTENCM2FHbGphQ0JwY3lCaElHMWhjSEJwYm1jZ2IyWWdibUZ0WlNCMGJ5Qm1hV1ZzWkM0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUMkpxWldOMFJYaHdjbVZ6YzJsdmJpQjdYRzRnSUNBZ2RIbHdaVG9nWENKdlltcGxZM1JjSWp0Y2JpQWdJQ0IyWVd4MVpYTTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lFVjRjSEpsYzNOcGIyNCtPMXh1ZlZ4dVhHNHZLaW9nUVNCaWFXNWhjbmtnYjNCbGNtRjBiM0lnWlhod2NtVnpjMmx2YmlCM2FHbGphQ0JqYjIxaWFXNWxjeUIwZDI4Z2MzVmlibTlrWlhNZ2MyOXRaV2h2ZHk0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRbWx1WVhKNVQzQkZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQjBlWEJsT2lCY0ltSnBibUZ5ZVc5d1hDSTdYRzRnSUNBZ2JHVm1kRG9nUlhod2NtVnpjMmx2Ymp0Y2JpQWdJQ0J5YVdkb2REb2dSWGh3Y21WemMybHZianRjYmlBZ0lDQnZjRG9nUW1sdVlYSjVUM0E3WEc1OVhHNWNiaThxS2lCQklHWjFibU4wYVc5dUlHVjRjSEpsYzNOcGIyNGdkMmhwWTJnZ1kyRnNiSE1nWVNCbWRXNWpkR2x2YmlCdmJpQXdJRzl5SUcxdmNtVWdZWEpuZFcxbGJuUnpMaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCR2RXNWpkR2x2YmtWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUhSNWNHVTZJRndpWm5WdVkzUnBiMjVjSWp0Y2JpQWdJQ0F2S2lvZ1JXbDBhR1Z5SUhSb1pTQnVZVzFsSUc5bUlIUm9aU0JtZFc1amRHbHZiaUJpWldsdVp5QmpZV3hzWldRZ2IzSWdZU0JHZFc1amRHbHZiaUJ2WW1wbFkzUXVJQ292WEc0Z0lDQWdablZ1WXpvZ1JYaHdjbVZ6YzJsdmJqdGNiaUFnSUNBdktpb2dWR2hsSUd4cGMzUWdiMllnWVhKbmRXMWxiblJ6SUdKbGFXNW5JSEJoYzNObFpDQjBieUIwYUdVZ1puVnVZM1JwYjI0dUlDb3ZYRzRnSUNBZ1lYSm5kVzFsYm5Sek9pQkZlSEJ5WlhOemFXOXVXMTA3WEc1OVhHNWNiaThxS2lCQmJpQnBibXhwYm1VZ1puVnVZM1JwYjI0Z1lXTmpaWEIwYVc1bklHOXVaU0J2Y2lCdGIzSmxJR0Z5WjNWdFpXNTBjeUJoYm1RZ2NISnZaSFZqYVc1bklHRWdkbUZzZFdVdUlDb3ZYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRXhoYldKa1lVVjRjSEpsYzNOcGIyNGdlMXh1SUNBZ0lIUjVjR1U2SUZ3aWJHRnRZbVJoWENJN1hHNGdJQ0FnTHlvcUlFRnVJRzl5WkdWeVpXUWdiR2x6ZENCdlppQnVZVzFsWkNCaGNtZDFiV1Z1ZEhNdUlDb3ZYRzRnSUNBZ1lYSm5kVzFsYm5Sek9pQnpkSEpwYm1kYlhUdGNiaUFnSUNBdktpb2dWR2hsSUdacFpXeGtJSGRvYVdOb0lIZHBiR3dnWW1VZ1pYWmhiSFZoZEdWa0lIVnphVzVuSUhSb1pTQmhjbWQxYldWdWRITWdhVzRnWTI5dWRHVjRkQzRnS2k5Y2JpQWdJQ0IyWVd4MVpUb2dSWGh3Y21WemMybHZianRjYm4xY2JseHVMeW9xSUVGdUlHVjRjSEpsYzNOcGIyNGdkMmhwWTJnZ2JtVm5ZWFJsY3lCMGFHVWdkbUZzZFdVZ2IyWWdkR2hsSUc5eWFXZHBibUZzSUdacFpXeGtMaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCT1pXZGhkR1ZrUlhod2NtVnpjMmx2YmlCN1hHNGdJQ0FnZEhsd1pUb2dYQ0p1WldkaGRHVmtYQ0k3WEc1Y2JpQWdJQ0F2S2lvZ1ZHaGxJR05vYVd4a0lHWnBaV3hrSUhSdklHNWxaMkYwWlM0Z0tpOWNiaUFnSUNCamFHbHNaRG9nUlhod2NtVnpjMmx2Ymp0Y2JuMWNibHh1Wlhod2IzSjBJRzVoYldWemNHRmpaU0JGZUhCeVpYTnphVzl1Y3lCN1hHNGdJQ0FnTHlvcUlGUm9aU0JwYlhCc2FXTnBkQ0JtYVdWc1pDQnlaV1psY21WdVkybHVaeUIwYUdVZ1kzVnljbVZ1ZENCbWFXVnNaQzRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdZMjl1YzNRZ1VrOVhPaUJ6ZEhKcGJtY2dQU0JjSWlSeWIzZGNJanRjYmx4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQjJZWEpwWVdKc1pTaHVZVzFsT2lCemRISnBibWNwT2lCV1lYSnBZV0pzWlVWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjBlWEJsT2lCY0luWmhjbWxoWW14bFhDSXNJRzVoYldVZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYkdsMFpYSmhiQ2gyWVd4MVpUb2dUR2wwWlhKaGJDazZJRXhwZEdWeVlXeEZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0pzYVhSbGNtRnNYQ0lzSUhaaGJIVmxJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHSnBibUZ5ZVU5d0tHeGxablE2SUVWNGNISmxjM05wYjI0c0lHOXdPaUJDYVc1aGNubFBjQ3dnY21sbmFIUTZJRVY0Y0hKbGMzTnBiMjRwT2lCRmVIQnlaWE56YVc5dUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIc2dkSGx3WlRvZ1hDSmlhVzVoY25sdmNGd2lMQ0JzWldaMExDQnZjQ3dnY21sbmFIUWdmU0JoY3lCQ2FXNWhjbmxQY0VWNGNISmxjM05wYjI0N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJR2x1WkdWNEtHOWlham9nUlhod2NtVnpjMmx2Yml3Z2FXNWtaWGc2SUVWNGNISmxjM05wYjI0cE9pQkZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0ppYVc1aGNubHZjRndpTENCc1pXWjBPaUJ2WW1vc0lISnBaMmgwT2lCcGJtUmxlQ3dnYjNBNklGd2lhVzVrWlhoY0lpQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJEYjI1MlpYSjBjeUJoSUhOMGNtbHVaeUJwYmlCa2IzUXRibTkwWVhScGIyNHRabTl5YldGMElHbHVkRzhnWVNCMllYSnBZV0pzWlNCM2FHbGphQ0JwYm1SbGVHVnpMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnBibVJsZUZaaGNtbGhZbXhsS0c1aGJXVTZJSE4wY21sdVp5azZJRVY0Y0hKbGMzTnBiMjRnZTF4dUlDQWdJQ0FnSUNCc1pYUWdjR0Z5ZEhNZ1BTQnVZVzFsTG5Od2JHbDBLRndpTGx3aUtUdGNiaUFnSUNBZ0lDQWdiR1YwSUhKbGMzVnNkRG9nUlhod2NtVnpjMmx2YmlBOUlFVjRjSEpsYzNOcGIyNXpMblpoY21saFlteGxLSEJoY25Seld6QmRLVHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVc1a1pYZ2dQU0F4T3lCcGJtUmxlQ0E4SUhCaGNuUnpMbXhsYm1kMGFEc2dhVzVrWlhnckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwSUQwZ1JYaHdjbVZ6YzJsdmJuTXVhVzVrWlhnb2NtVnpkV3gwTENCRmVIQnlaWE56YVc5dWN5NXNhWFJsY21Gc0tIQmhjblJ6VzJsdVpHVjRYU2twTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdiR0Z0WW1SaEtHRnlaM002SUhOMGNtbHVaMXRkTENCMllXeDFaVG9nUlhod2NtVnpjMmx2YmlrNklFeGhiV0prWVVWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjBlWEJsT2lCY0lteGhiV0prWVZ3aUxDQmhjbWQxYldWdWRITTZJR0Z5WjNNc0lIWmhiSFZsSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJR1oxYm1Nb1puVnVZem9nUlhod2NtVnpjMmx2Yml3Z1lYSm5jem9nUlhod2NtVnpjMmx2Ymx0ZEtUb2dSblZ1WTNScGIyNUZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0ptZFc1amRHbHZibHdpTENCbWRXNWpMQ0JoY21kMWJXVnVkSE02SUdGeVozTWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JHbHpkQ2gyWVd4MVpYTTZJRVY0Y0hKbGMzTnBiMjViWFNrNklFeHBjM1JGZUhCeVpYTnphVzl1SUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ2RIbHdaVG9nWENKc2FYTjBYQ0lzSUhaaGJIVmxjeUI5TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnZZbXBsWTNRb2RtRnNkV1Z6T2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JGZUhCeVpYTnphVzl1UGlrNklFOWlhbVZqZEVWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjBlWEJsT2lCY0ltOWlhbVZqZEZ3aUxDQjJZV3gxWlhNZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYm1WbllYUmxLR05vYVd4a09pQkZlSEJ5WlhOemFXOXVLVG9nVG1WbllYUmxaRVY0Y0hKbGMzTnBiMjRnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCMGVYQmxPaUJjSW01bFoyRjBaV1JjSWl3Z1kyaHBiR1FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5EYjIxd1lYSmxUM0FvYjNBNklFSnBibUZ5ZVU5d0tUb2diM0FnYVhNZ1EyOXRjR0Z5WlU5d0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHOXdJRDA5SUZ3aVBEMWNJaUI4ZkNCdmNDQTlQU0JjSWp4Y0lpQjhmQ0J2Y0NBOVBTQmNJajVjSWlCOGZDQnZjQ0E5UFNCY0lqNDlYQ0lnZkh3Z2IzQWdQVDBnWENJaFBWd2lJSHg4SUc5d0lEMDlJRndpUFZ3aU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQlNaWFIxY201eklHRWdjMlYwSUc5bUlHRnNiQ0IxYm1KdmRXNWtJSFpoY21saFlteGxjeUFvYVM1bExpd2dkbUZ5YVdGaWJHVnpJRzV2ZENCd2NtOTJhV1JsWkNCaWVTQmdjbTkzWUN3Z2JHRnRZbVJoY3l3Z2IzSWdjMmx0YVd4aGNpNHBJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlIVnVZbTkxYm1SV1lYSnBZV0pzWlhNb1pYaHdjam9nUlhod2NtVnpjMmx2Yml3Z1ltOTFibVE2SUZObGREeHpkSEpwYm1jK0lEMGdibVYzSUZObGRDaGJVazlYWFNrcE9pQlRaWFE4YzNSeWFXNW5QaUI3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvWlhod2NpNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2lZbWx1WVhKNWIzQmNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCVGNHVmphV0ZzSUdOaGMyVWdZSEp2ZDF0Y0lpNHVMaTVjSWwxZ0xseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYaHdjaTV2Y0NBOVBUMGdYQ0pwYm1SbGVGd2lJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjRjSEl1YkdWbWRDNTBlWEJsSUQwOUlGd2lkbUZ5YVdGaWJHVmNJaUFtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxlSEJ5TG14bFpuUXVibUZ0WlNBOVBTQlNUMWNnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaWGh3Y2k1eWFXZG9kQzUwZVhCbElEMDlJRndpYkdsMFpYSmhiRndpSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRXhwZEdWeVlXeHpMbWx6VTNSeWFXNW5LR1Y0Y0hJdWNtbG5hSFF1ZG1Gc2RXVXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hpYjNWdVpDNW9ZWE1vWlhod2NpNXlhV2RvZEM1MllXeDFaU2twSUhKbGRIVnliaUJ1WlhjZ1UyVjBLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnY21WMGRYSnVJRzVsZHlCVFpYUW9XMlY0Y0hJdWNtbG5hSFF1ZG1Gc2RXVmRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlBkR2hsY25kcGMyVWdhblZ6ZENCamFHVmpheUJzWldaMElHRnVaQ0J5YVdkb2RDNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1JtbHNkR1Z5Y3k1elpYUlZibWx2YmloYmRXNWliM1Z1WkZaaGNtbGhZbXhsY3lobGVIQnlMbXhsWm5Rc0lHSnZkVzVrS1N3Z2RXNWliM1Z1WkZaaGNtbGhZbXhsY3lobGVIQnlMbkpwWjJoMExDQmliM1Z1WkNsZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0ptZFc1amRHbHZibHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJHYVd4MFpYSnpMbk5sZEZWdWFXOXVLR1Y0Y0hJdVlYSm5kVzFsYm5SekxtMWhjQ2dvWVNrZ1BUNGdkVzVpYjNWdVpGWmhjbWxoWW14bGN5aGhMQ0JpYjNWdVpDa3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKc1lXMWlaR0ZjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J1WlhkQ2IzVnVaQ0E5SUdKdmRXNWtJRDgvSUc1bGR5QlRaWFFvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHRnlaeUJ2WmlCbGVIQnlMbUZ5WjNWdFpXNTBjeWtnYm1WM1FtOTFibVF1WVdSa0tHRnlaeWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZFc1aWIzVnVaRlpoY21saFlteGxjeWhsZUhCeUxuWmhiSFZsTENCdVpYZENiM1Z1WkNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liR2x6ZEZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCR2FXeDBaWEp6TG5ObGRGVnVhVzl1S0dWNGNISXVkbUZzZFdWekxtMWhjQ2dvZGlrZ1BUNGdkVzVpYjNWdVpGWmhjbWxoWW14bGN5aDJMQ0JpYjNWdVpDa3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdVpXZGhkR1ZrWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWdVltOTFibVJXWVhKcFlXSnNaWE1vWlhod2NpNWphR2xzWkN3Z1ltOTFibVFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltOWlhbVZqZEZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCR2FXeDBaWEp6TG5ObGRGVnVhVzl1S0U5aWFtVmpkQzUyWVd4MVpYTW9aWGh3Y2k1MllXeDFaWE1wTG0xaGNDZ29kaWtnUFQ0Z2RXNWliM1Z1WkZaaGNtbGhZbXhsY3loMkxDQmliM1Z1WkNrcEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0oyWVhKcFlXSnNaVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGliM1Z1WkNBbUppQmliM1Z1WkM1b1lYTW9aWGh3Y2k1dVlXMWxLU2tnY21WMGRYSnVJRzVsZHlCVFpYUW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElISmxkSFZ5YmlCdVpYY2dVMlYwS0Z0bGVIQnlMbTVoYldWZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVhSbGNtRnNYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCVFpYUW9LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCU1pXNWtaWElnWVc0Z1pYaHdjbVZ6YzJsdmJpQmhjeUJoSUhOMGNtbHVaeTRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdkRzlUZEhKcGJtY29aWGh3Y2pvZ1JYaHdjbVZ6YzJsdmJpazZJSE4wY21sdVp5QjdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9aWGh3Y2k1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVltbHVZWEo1YjNCY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWlhod2NpNXZjQ0E5UFQwZ1hDSnBibVJsZUZ3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJnSkh0MGIxTjBjbWx1WnlobGVIQnlMbXhsWm5RcGZWc2tlM1J2VTNSeWFXNW5LR1Y0Y0hJdWNtbG5hSFFwZlYxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmdKSHQwYjFOMGNtbHVaeWhsZUhCeUxteGxablFwZlNBa2UyVjRjSEl1YjNCOUlDUjdkRzlUZEhKcGJtY29aWGh3Y2k1eWFXZG9kQ2w5WUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSm1kVzVqZEdsdmJsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmdKSHQwYjFOMGNtbHVaeWhsZUhCeUxtWjFibU1wZlNna2UyVjRjSEl1WVhKbmRXMWxiblJ6TG0xaGNDaDBiMU4wY21sdVp5a3VhbTlwYmloY0lpd2dYQ0lwZlNsZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbXhoYldKa1lWd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmdLQ1I3Wlhod2NpNWhjbWQxYldWdWRITXVhbTlwYmloY0lpd2dYQ0lwZlNrZ1BUNGdKSHQwYjFOMGNtbHVaeWhsZUhCeUxuWmhiSFZsS1gxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbXhwYzNSY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1lGc2tlMlY0Y0hJdWRtRnNkV1Z6TG0xaGNDaDBiMU4wY21sdVp5a3VhbTlwYmloY0lpd2dYQ0lwZlYxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbTVsWjJGMFpXUmNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZQ0VrZTNSdlUzUnlhVzVuS0dWNGNISXVZMmhwYkdRcGZXQTdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpYjJKcVpXTjBYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0I3Skh0UFltcGxZM1F1Wlc1MGNtbGxjeWhsZUhCeUxuWmhiSFZsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb1cyc3NJSFpkS1NBOVBpQmdKSHRyZlRvZ0pIdDBiMU4wY21sdVp5aDJLWDFnS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVhbTlwYmloY0lpd2dYQ0lwZlgxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJblpoY21saFlteGxYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1Y0Y0hJdWJtRnRaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKc2FYUmxjbUZzWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZDNKaGNIQmxaQ0E5SUV4cGRHVnlZV3h6TG5keVlYQldZV3gxWlNobGVIQnlMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhkeVlYQndaV1FwSUhKbGRIVnliaUJjSW01MWJHeGNJanRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSGR5WVhCd1pXUXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2ljM1J5YVc1blhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1lGd2lKSHQzY21Gd2NHVmtMblpoYkhWbGZWd2lZRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJNYVhSbGNtRnNjeTUwYjFOMGNtbHVaeWgzY21Gd2NHVmtMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQmxlSEJ2Y25RZ1kyOXVjM1FnVGxWTVRDQTlJRVY0Y0hKbGMzTnBiMjV6TG14cGRHVnlZV3dvYm5Wc2JDazdYRzU5WEc0aUxDQWlMeW9xSUZCaGNuTmxJR2x1YkdsdVpTQm1hV1ZzWkhNZ1lXNWtJRzkwYUdWeUlHVnRZbVZrWkdWa0lHMWxkR0ZrWVhSaElHbHVJR0VnYkdsdVpTNGdLaTljYmx4dWFXMXdiM0owSUhzZ1VGSkpUVWxVU1ZaRlV5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMM0JoY25ObGNsd2lPMXh1YVcxd2IzSjBJSHNnVEdsMFpYSmhiQ0I5SUdaeWIyMGdYQ0psZUhCeVpYTnphVzl1TDJ4cGRHVnlZV3hjSWp0Y2JtbHRjRzl5ZENBcUlHRnpJRkFnWm5KdmJTQmNJbkJoY25OcGJXMXZibHdpTzF4dWFXMXdiM0owSUdWdGIycHBVbVZuWlhnZ1puSnZiU0JjSW1WdGIycHBMWEpsWjJWNFhDSTdYRzVwYlhCdmNuUWdleUJLYzI5dVEyOXVkbVZ5YzJsdmJpd2dTbk52Ymt4cGRHVnlZV3dnZlNCbWNtOXRJRndpYVc1a1pYZ3ZkSGx3WlhNdmFuTnZiaTlqYjIxdGIyNWNJanRjYmx4dUx5b3FJRUVnY0dGeWMyVmtJR2x1YkdsdVpTQm1hV1ZzWkNCbWNtOXRJR0VnYzNCbFkybG1hV01nYkdsdVpTNGdLaTljYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVEc5allXeEpibXhwYm1WR2FXVnNaQ0I3WEc0Z0lDQWdMeW9xSUZSb1pTQnlZWGNnY0dGeWMyVmtJR3RsZVM0Z0tpOWNiaUFnSUNCclpYazZJSE4wY21sdVp6dGNiaUFnSUNBdktpb2dWR2hsSUhKaGR5QjJZV3gxWlNCdlppQjBhR1VnWm1sbGJHUXVJQ292WEc0Z0lDQWdkbUZzZFdVNklITjBjbWx1Wnp0Y2JpQWdJQ0F2S2lvZ1ZHaGxJSE4wWVhKMElHTnZiSFZ0YmlCdlppQjBhR1VnWm1sbGJHUXVJQ292WEc0Z0lDQWdjM1JoY25RNklHNTFiV0psY2p0Y2JpQWdJQ0F2S2lvZ1ZHaGxJSE4wWVhKMElHTnZiSFZ0YmlCdlppQjBhR1VnS25aaGJIVmxLaUJtYjNJZ2RHaGxJR1pwWld4a0xpQXFMMXh1SUNBZ0lITjBZWEowVm1Gc2RXVTZJRzUxYldKbGNqdGNiaUFnSUNBdktpb2dWR2hsSUdWdVpDQmpiMngxYlc0Z2IyWWdkR2hsSUdacFpXeGtMaUFxTDF4dUlDQWdJR1Z1WkRvZ2JuVnRZbVZ5TzF4dUlDQWdJQzhxS2lCSlppQjBhR2x6SUdsdWJHbHVaU0JtYVdWc1pDQjNZWE1nWkdWbWFXNWxaQ0IyYVdFZ1lTQjNjbUZ3Y0dsdVp5QW9KMXNuSUc5eUlDY29KeUJ2Y2lBbmJHbHVheWNwTENCMGFHVnVJSFJvWlNCM2NtRndjR2x1WnlCMGFHRjBJSGRoY3lCMWMyVmtMaUFxTDF4dUlDQWdJSGR5WVhCd2FXNW5Qem9nYzNSeWFXNW5PMXh1ZlZ4dVhHNHZLaW9nUm5Wc2JDQnBibXhwYm1VZ1ptbGxiR1FnYldWMFlXUmhkR0VnWm05eUlHRnVJRzlpYW1WamRDNGdLaTljYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnU1c1c2FXNWxSbWxsYkdRZ2UxeHVJQ0FnSUM4cUtpQlVhR1VnWVdOMGRXRnNJR3RsZVNCa1pYTmpjbWxpYVc1bklIUm9aU0JwYm14cGJtVWdabWxsYkdRdUlDb3ZYRzRnSUNBZ2EyVjVPaUJ6ZEhKcGJtYzdYRzRnSUNBZ0x5b3FJRlJvWlNCeVlYY2dkbUZzZFdVZ2IyWWdkR2hsSUdsdWJHbHVaU0JtYVdWc1pDNGdLaTljYmlBZ0lDQnlZWGM2SUhOMGNtbHVaenRjYmlBZ0lDQXZLaW9nVkdobElIQmhjbk5sWkNCMllXeDFaUzRnS2k5Y2JpQWdJQ0IyWVd4MVpUb2dUR2wwWlhKaGJEdGNiaUFnSUNBdktpb2dSblZzYkNCd2IzTnBkR2x2YmlCcGJtWnZjbTFoZEdsdmJpQm1iM0lnZDJobGNtVWdkR2hsSUdsdWJHbHVaU0JtYVdWc1pDQnBjeUJzYjJOaGRHVmtJR2x1SUhSb1pTQmtiMk4xYldWdWRDNGdLaTljYmlBZ0lDQndiM05wZEdsdmJqb2dlMXh1SUNBZ0lDQWdJQ0F2S2lvZ1ZHaGxJR3hwYm1VZ2JuVnRZbVZ5SUhSb1pTQnBibXhwYm1VZ1ptbGxiR1FnWVhCd1pXRnljeUJ2Ymk0Z0tpOWNiaUFnSUNBZ0lDQWdiR2x1WlRvZ2JuVnRZbVZ5TzF4dUlDQWdJQ0FnSUNBdktpb2dWR2hsSUhOMFlYSjBJR052YkhWdGJpQnZaaUIwYUdVZ1ptbGxiR1F1SUNvdlhHNGdJQ0FnSUNBZ0lITjBZWEowT2lCdWRXMWlaWEk3WEc0Z0lDQWdJQ0FnSUM4cUtpQlVhR1VnYzNSaGNuUWdZMjlzZFcxdUlHOW1JSFJvWlNBcWRtRnNkV1VxSUdadmNpQjBhR1VnWm1sbGJHUXVJRWx0YldWa2FXRjBaV3g1SUdGbWRHVnlJSFJvWlNBbk9qb25MaUFxTDF4dUlDQWdJQ0FnSUNCemRHRnlkRlpoYkhWbE9pQnVkVzFpWlhJN1hHNGdJQ0FnSUNBZ0lDOHFLaUJVYUdVZ1pXNWtJR052YkhWdGJpQnZaaUIwYUdVZ1ptbGxiR1F1SUNvdlhHNGdJQ0FnSUNBZ0lHVnVaRG9nYm5WdFltVnlPMXh1SUNBZ0lIMDdYRzRnSUNBZ0x5b3FJRWxtSUhSb2FYTWdhVzVzYVc1bElHWnBaV3hrSUhkaGN5QmtaV1pwYm1Wa0lIWnBZU0JoSUhkeVlYQndhVzVuSUNnbld5Y2diM0lnSnlnbklHOXlJQ2RzYVc1ckp5a3NJSFJvWlc0Z2RHaGxJSGR5WVhCd2FXNW5JSFJvWVhRZ2QyRnpJSFZ6WldRdUlDb3ZYRzRnSUNBZ2QzSmhjSEJwYm1jL09pQnpkSEpwYm1jN1hHNTlYRzVjYmk4cUtpQktVMDlPTENCelpYSnBZV3hwZW1GaWJHVWdjbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdZVzRnYVc1c2FXNWxJR1pwWld4a0xpQXFMMXh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JLYzI5dVNXNXNhVzVsUm1sbGJHUWdlMXh1SUNBZ0lDOHFLaUJVYUdVZ1lXTjBkV0ZzSUd0bGVTQmtaWE5qY21saWFXNW5JSFJvWlNCcGJteHBibVVnWm1sbGJHUXVJQ292WEc0Z0lDQWdhMlY1T2lCemRISnBibWM3WEc0Z0lDQWdMeW9xSUZSb1pTQnlZWGNnZG1Gc2RXVWdiMllnZEdobElHbHViR2x1WlNCbWFXVnNaQzRnS2k5Y2JpQWdJQ0J5WVhjNklITjBjbWx1Wnp0Y2JpQWdJQ0F2S2lvZ1ZHaGxJSEJoY25ObFpDQjJZV3gxWlM0Z0tpOWNiaUFnSUNCMllXeDFaVG9nU25OdmJreHBkR1Z5WVd3N1hHNGdJQ0FnTHlvcUlFWjFiR3dnY0c5emFYUnBiMjRnYVc1bWIzSnRZWFJwYjI0Z1ptOXlJSGRvWlhKbElIUm9aU0JwYm14cGJtVWdabWxsYkdRZ2FYTWdiRzlqWVhSbFpDQnBiaUIwYUdVZ1pHOWpkVzFsYm5RdUlDb3ZYRzRnSUNBZ2NHOXphWFJwYjI0NklIdGNiaUFnSUNBZ0lDQWdMeW9xSUZSb1pTQnNhVzVsSUc1MWJXSmxjaUIwYUdVZ2FXNXNhVzVsSUdacFpXeGtJR0Z3Y0dWaGNuTWdiMjR1SUNvdlhHNGdJQ0FnSUNBZ0lHeHBibVU2SUc1MWJXSmxjanRjYmlBZ0lDQWdJQ0FnTHlvcUlGUm9aU0J6ZEdGeWRDQmpiMngxYlc0Z2IyWWdkR2hsSUdacFpXeGtMaUFxTDF4dUlDQWdJQ0FnSUNCemRHRnlkRG9nYm5WdFltVnlPMXh1SUNBZ0lDQWdJQ0F2S2lvZ1ZHaGxJSE4wWVhKMElHTnZiSFZ0YmlCdlppQjBhR1VnS25aaGJIVmxLaUJtYjNJZ2RHaGxJR1pwWld4a0xpQkpiVzFsWkdsaGRHVnNlU0JoWm5SbGNpQjBhR1VnSnpvNkp5NGdLaTljYmlBZ0lDQWdJQ0FnYzNSaGNuUldZV3gxWlRvZ2JuVnRZbVZ5TzF4dUlDQWdJQ0FnSUNBdktpb2dWR2hsSUdWdVpDQmpiMngxYlc0Z2IyWWdkR2hsSUdacFpXeGtMaUFxTDF4dUlDQWdJQ0FnSUNCbGJtUTZJRzUxYldKbGNqdGNiaUFnSUNCOU8xeHVJQ0FnSUM4cUtpQkpaaUIwYUdseklHbHViR2x1WlNCbWFXVnNaQ0IzWVhNZ1pHVm1hVzVsWkNCMmFXRWdZU0IzY21Gd2NHbHVaeUFvSjFzbklHOXlJQ2NvSnlCdmNpQW5iR2x1YXljcExDQjBhR1Z1SUhSb1pTQjNjbUZ3Y0dsdVp5QjBhR0YwSUhkaGN5QjFjMlZrTGlBcUwxeHVJQ0FnSUhkeVlYQndhVzVuUHpvZ2MzUnlhVzVuTzF4dWZWeHVYRzR2S2lvZ1EyOXVkbVZ5ZENCaGJpQnBibXhwYm1VZ1ptbGxiR1FnZEc4Z1lTQktVMDlPSUdadmNtMWhkQzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcWMyOXVTVzVzYVc1bFJtbGxiR1FvWm1sbGJHUTZJRWx1YkdsdVpVWnBaV3hrS1RvZ1NuTnZia2x1YkdsdVpVWnBaV3hrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdUMkpxWldOMExtRnpjMmxuYmloN2ZTd2dabWxsYkdRc0lIc2dkbUZzZFdVNklFcHpiMjVEYjI1MlpYSnphVzl1TG1wemIyNG9abWxsYkdRdWRtRnNkV1VwSUgwcE8xeHVmVnh1WEc0dktpb2dRMjl1ZG1WeWRDQmhJRXBUVDA0Z2FXNXNhVzVsSUdacFpXeGtJR0poWTJzZ2RHOGdZU0J5WldkMWJHRnlJR1pwWld4a0xpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFpoYkhWbFNXNXNhVzVsUm1sbGJHUW9abWxsYkdRNklFcHpiMjVKYm14cGJtVkdhV1ZzWkNrNklFbHViR2x1WlVacFpXeGtJSHRjYmlBZ0lDQnlaWFIxY200Z1QySnFaV04wTG1GemMybG5iaWg3ZlN3Z1ptbGxiR1FzSUhzZ2RtRnNkV1U2SUVwemIyNURiMjUyWlhKemFXOXVMblpoYkhWbEtHWnBaV3hrTG5aaGJIVmxLU0I5S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z6U1c1c2FXNWxSbWxsYkdRb2JHOWpZV3c2SUV4dlkyRnNTVzVzYVc1bFJtbGxiR1FzSUd4cGJtVnViem9nYm5WdFltVnlLVG9nU1c1c2FXNWxSbWxsYkdRN1hHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lYTkpibXhwYm1WR2FXVnNaQ2hzYjJOaGJEb2dURzlqWVd4SmJteHBibVZHYVdWc1pGdGRMQ0JzYVc1bGJtODZJRzUxYldKbGNpazZJRWx1YkdsdVpVWnBaV3hrVzEwN1hHNHZLaW9nUTI5dWRtVnlkQ0JoSUd4dlkyRnNJR2x1YkdsdVpTQm1hV1ZzWkNCcGJuUnZJR0VnWm5Wc2JDQnBibXhwYm1VZ1ptbGxiR1FnWW5rZ2NHVnlabTl5YldsdVp5QndZWEp6YVc1bklHRnVaQ0JoWkdScGJtY2dkR2hsSUdOdmNuSmxZM1FnYkdsdVpTQnVkVzFpWlhJdUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZWE5KYm14cGJtVkdhV1ZzWkNoY2JpQWdJQ0JzYjJOaGJEb2dURzlqWVd4SmJteHBibVZHYVdWc1pDQjhJRXh2WTJGc1NXNXNhVzVsUm1sbGJHUmJYU3hjYmlBZ0lDQnNhVzVsYm04NklHNTFiV0psY2x4dUtUb2dTVzVzYVc1bFJtbGxiR1FnZkNCSmJteHBibVZHYVdWc1pGdGRJSHRjYmlBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHNiMk5oYkNrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHeHZZMkZzTG0xaGNDZ29aaWtnUFQ0Z1lYTkpibXhwYm1WR2FXVnNaQ2htTENCc2FXNWxibThwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JyWlhrNklHeHZZMkZzTG10bGVTeGNiaUFnSUNBZ0lDQWdjbUYzT2lCc2IyTmhiQzUyWVd4MVpTeGNiaUFnSUNBZ0lDQWdkbUZzZFdVNklIQmhjbk5sU1c1c2FXNWxWbUZzZFdVb2JHOWpZV3d1ZG1Gc2RXVXBMRnh1SUNBZ0lDQWdJQ0J3YjNOcGRHbHZiam9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR2x1WlRvZ2JHbHVaVzV2TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1JoY25RNklHeHZZMkZzTG5OMFlYSjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblJXWVd4MVpUb2diRzlqWVd3dWMzUmhjblJXWVd4MVpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdWdVpEb2diRzlqWVd3dVpXNWtMRnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNCM2NtRndjR2x1WnpvZ2JHOWpZV3d1ZDNKaGNIQnBibWNzWEc0Z0lDQWdmVHRjYm4xY2JseHVMeW9xSUZSb1pTQjNjbUZ3Y0dWeUlHTm9ZWEpoWTNSbGNuTWdkR2hoZENCallXNGdZbVVnZFhObFpDQjBieUJrWldacGJtVWdZVzRnYVc1c2FXNWxJR1pwWld4a0xpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElFbE9URWxPUlY5R1NVVk1SRjlYVWtGUVVFVlNVem9nVW1WaFpHOXViSGs4VW1WamIzSmtQSE4wY21sdVp5d2djM1J5YVc1blBqNGdQU0JQWW1wbFkzUXVabkpsWlhwbEtIdGNiaUFnSUNCY0lsdGNJam9nWENKZFhDSXNYRzRnSUNBZ1hDSW9YQ0k2SUZ3aUtWd2lMRnh1ZlNrN1hHNWNiaThxS2x4dUlDb2dSbWx1WkNCaElHMWhkR05vYVc1bklHTnNiM05wYm1jZ1luSmhZMnRsZENCMGFHRjBJRzlqWTNWeWN5QmhkQ0J2Y2lCaFpuUmxjaUJnYzNSaGNuUmdMQ0J5WlhOd1pXTjBhVzVuSUc1bGMzUnBibWNnWVc1a0lHVnpZMkZ3WlhNdUlFbG1JR1p2ZFc1a0xGeHVJQ29nY21WMGRYSnVjeUIwYUdVZ2RtRnNkV1VnWTI5dWRHRnBibVZrSUhkcGRHaHBiaUJoYm1RZ2RHaGxJSE4wY21sdVp5QnBibVJsZUNCaFpuUmxjaUIwYUdVZ1pXNWtJRzltSUhSb1pTQjJZV3gxWlM1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnWm1sdVpFTnNiM05wYm1jb1hHNGdJQ0FnYkdsdVpUb2djM1J5YVc1bkxGeHVJQ0FnSUhOMFlYSjBPaUJ1ZFcxaVpYSXNYRzRnSUNBZ2IzQmxiam9nYzNSeWFXNW5MRnh1SUNBZ0lHTnNiM05sT2lCemRISnBibWRjYmlrNklIc2dkbUZzZFdVNklITjBjbWx1WnpzZ1pXNWtTVzVrWlhnNklHNTFiV0psY2lCOUlId2dkVzVrWldacGJtVmtJSHRjYmlBZ0lDQnNaWFFnYm1WemRHbHVaeUE5SURBN1hHNGdJQ0FnYkdWMElHVnpZMkZ3WldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwYm1SbGVDQTlJSE4wWVhKME95QnBibVJsZUNBOElHeHBibVV1YkdWdVozUm9PeUJwYm1SbGVDc3JLU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQmphR0Z5SUQwZ2JHbHVaUzVqYUdGeVFYUW9hVzVrWlhncE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUVGc2JHOTNjeUJtYjNJZ1pHOTFZbXhsSUdWelkyRndaWE1nYkdsclpTQW5YRnhjWENjZ2RHOGdZbVVnY21WdVpHVnlaV1FnYm05eWJXRnNiSGt1WEc0Z0lDQWdJQ0FnSUdsbUlDaGphR0Z5SUQwOUlGd2lYRnhjWEZ3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCbGMyTmhjR1ZrSUQwZ0lXVnpZMkZ3WldRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDOHZJRWxtSUdWelkyRndaV1FzSUdsbmJtOXlaU0IwYUdVZ2JtVjRkQ0JqYUdGeVlXTjBaWElnWm05eUlHTnZiWEIxZEdsdVp5QnVaWE4wYVc1bkxDQnlaV2RoY21Sc1pYTnpJRzltSUhkb1lYUWdhWFFnYVhNdVhHNGdJQ0FnSUNBZ0lHbG1JQ2hsYzJOaGNHVmtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxjMk5oY0dWa0lEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqYUdGeUlEMDlJRzl3Wlc0cElHNWxjM1JwYm1jckt6dGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZMmhoY2lBOVBTQmpiRzl6WlNrZ2JtVnpkR2x1WnkwdE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUU5dWJIa2diMk5qZFhKeklHbG1JSGRsSUdGeVpTQnZiaUJoSUdOc2IzTmxJR05vWVhKaFkzUmxjaUJoYm1RZ2RISm9aWEpsSUdseklHNXZJRzF2Y21VZ2JtVnpkR2x1Wnk1Y2JpQWdJQ0FnSUNBZ2FXWWdLRzVsYzNScGJtY2dQQ0F3S1NCeVpYUjFjbTRnZXlCMllXeDFaVG9nYkdsdVpTNXpkV0p6ZEhKcGJtY29jM1JoY25Rc0lHbHVaR1Y0S1M1MGNtbHRLQ2tzSUdWdVpFbHVaR1Y0T2lCcGJtUmxlQ0FySURFZ2ZUdGNibHh1SUNBZ0lDQWdJQ0JsYzJOaGNHVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JuMWNibHh1THlvcUlFWnBibVFnZEdobElDYzZPaWNnYzJWd1lYSmhkRzl5SUdsdUlHRnVJR2x1YkdsdVpTQm1hV1ZzWkM0Z0tpOWNibVoxYm1OMGFXOXVJR1pwYm1SVFpYQmhjbUYwYjNJb2JHbHVaVG9nYzNSeWFXNW5MQ0J6ZEdGeWREb2diblZ0WW1WeUtUb2dleUJyWlhrNklITjBjbWx1WnpzZ2RtRnNkV1ZKYm1SbGVEb2diblZ0WW1WeUlIMGdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJR3hsZENCelpYQWdQU0JzYVc1bExtbHVaR1Y0VDJZb1hDSTZPbHdpTENCemRHRnlkQ2s3WEc0Z0lDQWdhV1lnS0hObGNDQThJREFwSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdleUJyWlhrNklHeHBibVV1YzNWaWMzUnlhVzVuS0hOMFlYSjBMQ0J6WlhBcExuUnlhVzBvS1N3Z2RtRnNkV1ZKYm1SbGVEb2djMlZ3SUNzZ01pQjlPMXh1ZlZ4dVhHNHZLaW9nVkhKNUlIUnZJR052YlhCc1pYUmxiSGtnY0dGeWMyVWdZVzRnYVc1c2FXNWxJR1pwWld4a0lITjBZWEowYVc1bklHRjBJSFJvWlNCbmFYWmxiaUJ3YjNOcGRHbHZiaTRnUVhOemRXMWxjeUJnYzNSaGNuUmdJR2x6SUc5dUlHRWdkM0poY0hCcGJtY2dZMmhoY21GamRHVnlMaUFxTDF4dVpuVnVZM1JwYjI0Z1ptbHVaRk53WldOcFptbGpTVzVzYVc1bFJtbGxiR1FvYkdsdVpUb2djM1J5YVc1bkxDQnpkR0Z5ZERvZ2JuVnRZbVZ5S1RvZ1RHOWpZV3hKYm14cGJtVkdhV1ZzWkNCOElIVnVaR1ZtYVc1bFpDQjdYRzRnSUNBZ2JHVjBJRzl3Wlc0Z1BTQnNhVzVsTG1Ob1lYSkJkQ2h6ZEdGeWRDazdYRzVjYmlBZ0lDQnNaWFFnYTJWNUlEMGdabWx1WkZObGNHRnlZWFJ2Y2loc2FXNWxMQ0J6ZEdGeWRDQXJJREVwTzF4dUlDQWdJR2xtSUNoclpYa2dQVDA5SUhWdVpHVm1hVzVsWkNrZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUM4dklFWmhhV3dnZEdobElHMWhkR05vSUdsbUlIZGxJR1pwYm1RZ1lXNTVJSE5sY0dGeVlYUnZjaUJqYUdGeVlXTjBaWEp6SUNodWIzUWdZV3hzYjNkbFpDQnBiaUJyWlhsektTNWNiaUFnSUNCbWIzSWdLR3hsZENCelpYQWdiMllnVDJKcVpXTjBMbXRsZVhNb1NVNU1TVTVGWDBaSlJVeEVYMWRTUVZCUVJWSlRLUzVqYjI1allYUW9UMkpxWldOMExuWmhiSFZsY3loSlRreEpUa1ZmUmtsRlRFUmZWMUpCVUZCRlVsTXBLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9hMlY1TG10bGVTNXBibU5zZFdSbGN5aHpaWEFwS1NCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dUlDQWdJSDFjYmx4dUlDQWdJR3hsZENCMllXeDFaU0E5SUdacGJtUkRiRzl6YVc1bktHeHBibVVzSUd0bGVTNTJZV3gxWlVsdVpHVjRMQ0J2Y0dWdUxDQkpUa3hKVGtWZlJrbEZURVJmVjFKQlVGQkZVbE5iYjNCbGJsMHBPMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQTlQVDBnZFc1a1pXWnBibVZrS1NCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnYTJWNU9pQnJaWGt1YTJWNUxGeHVJQ0FnSUNBZ0lDQjJZV3gxWlRvZ2RtRnNkV1V1ZG1Gc2RXVXNYRzRnSUNBZ0lDQWdJSE4wWVhKME9pQnpkR0Z5ZEN4Y2JpQWdJQ0FnSUNBZ2MzUmhjblJXWVd4MVpUb2dhMlY1TG5aaGJIVmxTVzVrWlhnc1hHNGdJQ0FnSUNBZ0lHVnVaRG9nZG1Gc2RXVXVaVzVrU1c1a1pYZ3NYRzRnSUNBZ0lDQWdJSGR5WVhCd2FXNW5PaUJ2Y0dWdUxGeHVJQ0FnSUgwN1hHNTlYRzVjYmk4cUtpQlFZWEp6WlNCaElIUmxlSFIxWVd3Z2FXNXNhVzVsSUdacFpXeGtJSFpoYkhWbElHbHVkRzhnYzI5dFpYUm9hVzVuSUhkbElHTmhiaUIzYjNKcklIZHBkR2d1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHRnljMlZKYm14cGJtVldZV3gxWlNoMllXeDFaVG9nYzNSeWFXNW5LVG9nVEdsMFpYSmhiQ0I3WEc0Z0lDQWdMeThnUlcxd2RIa2dhVzVzYVc1bElIWmhiSFZsY3lBb2FTNWxMaXdnYm04Z2RHVjRkQ2tnYzJodmRXeGtJRzFoY0NCMGJ5QnVkV3hzSUhSdklHMWhkR05vSUd4dmJtY3RkR1Z5YlNCRVlYUmhkbWxsZHlCelpXMWhiblJwWTNNdVhHNGdJQ0FnTHk4Z1RuVnNiQ0JwY3lCaGJITnZJR0VnYlc5eVpTQjFibWwyWlhKellXd2dkSGx3WlNCMGJ5QmtaV0ZzSUhkcGRHZ2dkR2hoYmlCemRISnBibWR6TENCemFXNWpaU0JoYkd3Z1puVnVZM1JwYjI1eklHRmpZMlZ3ZENCdWRXeHNjeTVjYmlBZ0lDQnBaaUFvZG1Gc2RXVXVkSEpwYlNncElEMDlJRndpWENJcElISmxkSFZ5YmlCdWRXeHNPMXh1WEc0Z0lDQWdMeThnVkdobElITjBjbWx3Y0dWa0lHeHBkR1Z5WVd3Z1ptbGxiR1FnY0dGeWMyVnlJSFZ1WkdWeWMzUmhibVJ6SUdGc2JDQnZaaUIwYUdVZ2JtOXVMV0Z5Y21GNUwyNXZiaTF2WW1wbFkzUWdabWxsYkdSeklHRnVaQ0JqWVc0Z2NHRnljMlVnZEdobGJTQm1iM0lnZFhNdVhHNGdJQ0FnTHk4Z1NXNXNhVzVsSUdacFpXeGtJRzlpYW1WamRITWdZWEpsSUc1dmRDQmpkWEp5Wlc1MGJIa2djM1Z3Y0c5eWRHVmtPeUJwYm14cGJtVWdZWEp5WVhrZ2IySnFaV04wY3lCb1lYWmxJSFJ2SUdKbElHaGhibVJzWldRZ1lua2dkR2hsSUhCaGNuTmxjbHh1SUNBZ0lDOHZJSE5sY0dGeVlYUmxiSGt1WEc0Z0lDQWdiR1YwSUdsdWJHbHVaU0E5SUZCU1NVMUpWRWxXUlZNdWFXNXNhVzVsUm1sbGJHUXVjR0Z5YzJVb2RtRnNkV1VwTzF4dUlDQWdJR2xtSUNocGJteHBibVV1YzNSaGRIVnpLU0J5WlhSMWNtNGdhVzVzYVc1bExuWmhiSFZsTzF4dUlDQWdJR1ZzYzJVZ2NtVjBkWEp1SUhaaGJIVmxPMXh1ZlZ4dVhHNHZLaW9nUlhoMGNtRmpkSE1nYVc1c2FXNWxJR1pwWld4a2N5QnZaaUIwYUdVZ1ptOXliU0FuVzJ0bGVUbzZJSFpoYkhWbFhTY2dabkp2YlNCaElHeHBibVVnYjJZZ2RHVjRkQzRnVkdocGN5QnBjeUJrYjI1bElHbHVJR0VnY21Wc1lYUnBkbVZzZVZ4dUlDb2dYQ0p5YjJKMWMzUmNJaUIzWVhrZ2RHOGdZWFp2YVdRZ1ptRnBiR2x1WnlCa2RXVWdkRzhnWW1Ga0lHNWxjM1JwYm1jZ2IzSWdiM1JvWlhJZ2FXNTBaWEptWlhKcGJtY2dUV0Z5YTJSdmQyNGdjM2x0WW05c2N6cGNiaUFxWEc0Z0tpQXRJRXh2YjJzZ1ptOXlJR0Z1ZVNCM2NtRndjR1Z5Y3lBb0oxc25JR0Z1WkNBbktDY3BJR2x1SUhSb1pTQnNhVzVsTENCMGNubHBibWNnZEc4Z2NHRnljMlVnZDJoaGRHVjJaWElnWTI5dFpYTWdZV1owWlhJZ2FYUWdZWE1nWVc0Z2FXNXNhVzVsSUd0bGVUbzZMbHh1SUNvZ0xTQkpaaUJ6ZFdOalpYTnpablZzTENCelkyRnVJSFZ1ZEdsc0lIbHZkU0JtYVc1a0lHRWdiV0YwWTJocGJtY2daVzVrSUdKeVlXTnJaWFFzSUdGdVpDQndZWEp6WlNCM2FHRjBaWFpsY2lCeVpXMWhhVzV6SUdGeklHRnVJR2x1YkdsdVpTQjJZV3gxWlM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1Y0ZEhKaFkzUkpibXhwYm1WR2FXVnNaSE1vYkdsdVpUb2djM1J5YVc1bkxDQnBibU5zZFdSbFZHRnphMFpwWld4a2N6b2dZbTl2YkdWaGJpQTlJR1poYkhObEtUb2dURzlqWVd4SmJteHBibVZHYVdWc1pGdGRJSHRjYmlBZ0lDQnNaWFFnWm1sbGJHUnpPaUJNYjJOaGJFbHViR2x1WlVacFpXeGtXMTBnUFNCYlhUdGNiaUFnSUNCbWIzSWdLR3hsZENCM2NtRndjR1Z5SUc5bUlFOWlhbVZqZEM1clpYbHpLRWxPVEVsT1JWOUdTVVZNUkY5WFVrRlFVRVZTVXlrcElIdGNiaUFnSUNBZ0lDQWdiR1YwSUdadmRXNWtTVzVrWlhnZ1BTQnNhVzVsTG1sdVpHVjRUMllvZDNKaGNIQmxjaWs3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2htYjNWdVpFbHVaR1Y0SUQ0OUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J3WVhKelpXUkdhV1ZzWkNBOUlHWnBibVJUY0dWamFXWnBZMGx1YkdsdVpVWnBaV3hrS0d4cGJtVXNJR1p2ZFc1a1NXNWtaWGdwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGd1lYSnpaV1JHYVdWc1pDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1p2ZFc1a1NXNWtaWGdnUFNCc2FXNWxMbWx1WkdWNFQyWW9kM0poY0hCbGNpd2dabTkxYm1SSmJtUmxlQ0FySURFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JtYVdWc1pITXVjSFZ6YUNod1lYSnpaV1JHYVdWc1pDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzVnVaRWx1WkdWNElEMGdiR2x1WlM1cGJtUmxlRTltS0hkeVlYQndaWElzSUhCaGNuTmxaRVpwWld4a0xtVnVaQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2FXNWpiSFZrWlZSaGMydEdhV1ZzWkhNcElHWnBaV3hrY3lBOUlHWnBaV3hrY3k1amIyNWpZWFFvWlhoMGNtRmpkRk53WldOcFlXeFVZWE5yUm1sbGJHUnpLR3hwYm1VcEtUdGNibHh1SUNBZ0lHWnBaV3hrY3k1emIzSjBLQ2hoTENCaUtTQTlQaUJoTG5OMFlYSjBJQzBnWWk1emRHRnlkQ2s3WEc1Y2JpQWdJQ0JzWlhRZ1ptbHNkR1Z5WldSR2FXVnNaSE02SUV4dlkyRnNTVzVzYVc1bFJtbGxiR1JiWFNBOUlGdGRPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dabWxsYkdSekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBJRDA5SURBZ2ZId2dabWxzZEdWeVpXUkdhV1ZzWkhOYlptbHNkR1Z5WldSR2FXVnNaSE11YkdWdVozUm9JQzBnTVYwdVpXNWtJRHdnWm1sbGJHUnpXMmxkTG5OMFlYSjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1hV3gwWlhKbFpFWnBaV3hrY3k1d2RYTm9LR1pwWld4a2MxdHBYU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHWnBiSFJsY21Wa1JtbGxiR1J6TzF4dWZWeHVYRzR2S2lvZ1ZtRnNhV1JoZEdWeklIUm9ZWFFnWVNCeVlYY2dabWxsYkdRZ2JtRnRaU0JvWVhNZ1lTQjJZV3hwWkNCbWIzSnRMaUFxTDF4dVkyOXVjM1FnUmxWTVRGOU1TVTVGWDB0RldWOVFRVkpVT2lCUUxsQmhjbk5sY2p4emRISnBibWMrSUQwZ1VDNWhiSFFvWEc0Z0lDQWdVQzV5WldkbGVIQW9ibVYzSUZKbFowVjRjQ2hsYlc5cWFWSmxaMlY0S0Nrc0lGd2lkVndpS1Nrc1hHNGdJQ0FnVUM1eVpXZGxlSEFvTDFzd0xUbGNYSEI3VEdWMGRHVnlmVnhjZDF4Y2MxOHZMVjByTDNVcFhHNHBYRzRnSUNBZ0xtMWhibmtvS1Z4dUlDQWdJQzV0WVhBb0tIQmhjblJ6S1NBOVBpQndZWEowY3k1cWIybHVLRndpWENJcEtUdGNibHh1WTI5dWMzUWdSbFZNVEY5TVNVNUZYMHRGV1Y5UVFWSlRSVkk2SUZBdVVHRnljMlZ5UEhOMGNtbHVaejRnUFNCUUxuSmxaMlY0Y0NndlcxNHdMVGxjWEhkY1hIQjdUR1YwZEdWeWZWMHFMM1VwWEc0Z0lDQWdMblJvWlc0b1JsVk1URjlNU1U1RlgwdEZXVjlRUVZKVUtWeHVJQ0FnSUM1emEybHdLRkF1Y21WblpYaHdLQzliWDF4Y0tuNWdYU292ZFNrcE8xeHVYRzR2S2lvZ1FYUjBaVzF3ZENCMGJ5QmxlSFJ5WVdOMElHRWdablZzYkMxc2FXNWxJR1pwWld4a0lDaExaWGs2T2lCV1lXeDFaU0JqYjI1emRXMXBibWNnZEdobElHVnVkR2x5WlNCamIyNTBaVzUwSUd4cGJtVXBMaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWNGRISmhZM1JHZFd4c1RHbHVaVVpwWld4a0tIUmxlSFE2SUhOMGNtbHVaeWs2SUV4dlkyRnNTVzVzYVc1bFJtbGxiR1FnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUd4bGRDQnpaWEFnUFNCbWFXNWtVMlZ3WVhKaGRHOXlLSFJsZUhRc0lEQXBPMXh1SUNBZ0lHbG1JQ2doYzJWd0tTQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVYRzRnSUNBZ0x5OGdWMlVnYm1WbFpDQjBieUJ3YjNOMExYQnliMk5sYzNNZ2RHaGxJR3RsZVNCMGJ5QmtjbTl3SUhWdWJtVmpaWE56WVhKNUlHOXdaVzVwYm1jZ1lXNXViM1JoZEdsdmJuTWdZWE1nZDJWc2JDQmhjMXh1SUNBZ0lDOHZJR1J5YjNBZ2MzVnljbTkxYm1ScGJtY2dUV0Z5YTJSdmQyNHVYRzRnSUNBZ2JHVjBJSEpsWVd4TFpYa2dQU0JHVlV4TVgweEpUa1ZmUzBWWlgxQkJVbE5GVWk1d1lYSnpaU2h6WlhBdWEyVjVLVHRjYmlBZ0lDQnBaaUFvSVhKbFlXeExaWGt1YzNSaGRIVnpLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdhMlY1T2lCeVpXRnNTMlY1TG5aaGJIVmxMRnh1SUNBZ0lDQWdJQ0IyWVd4MVpUb2dkR1Y0ZEM1emRXSnpkSEpwYm1jb2MyVndMblpoYkhWbFNXNWtaWGdwTG5SeWFXMG9LU3hjYmlBZ0lDQWdJQ0FnYzNSaGNuUTZJREFzWEc0Z0lDQWdJQ0FnSUhOMFlYSjBWbUZzZFdVNklITmxjQzUyWVd4MVpVbHVaR1Y0TEZ4dUlDQWdJQ0FnSUNCbGJtUTZJSFJsZUhRdWJHVnVaM1JvTEZ4dUlDQWdJSDA3WEc1OVhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRFVrVkJWRVZFWDBSQlZFVmZVa1ZIUlZnZ1BTQXZYRngxZXpJM09UVjlYRnh6S2loY1hHUjdOSDB0WEZ4a2V6SjlMVnhjWkhzeWZTa3ZkVHRjYm1WNGNHOXlkQ0JqYjI1emRDQkVWVVZmUkVGVVJWOVNSVWRGV0NBOUlDOG9QenBjWEhWN01VWTBRelY5ZkZ4Y2RYc3hSalJETm4xOFhGeDFlekZHTlVRemZWeGNkWHRHUlRCR2ZUOHBYRnh6S2loY1hHUjdOSDB0WEZ4a2V6SjlMVnhjWkhzeWZTa3ZkVHRjYm1WNGNHOXlkQ0JqYjI1emRDQkVUMDVGWDBSQlZFVmZVa1ZIUlZnZ1BTQXZYRngxZXpJM01EVjlYRnh6S2loY1hHUjdOSDB0WEZ4a2V6SjlMVnhjWkhzeWZTa3ZkVHRjYm1WNGNHOXlkQ0JqYjI1emRDQlRRMGhGUkZWTVJVUmZSRUZVUlY5U1JVZEZXQ0E5SUM5YlhGeDFlekl6UmpOOVhGeDFlekl6TVVKOVhWeGNjeW9vWEZ4a2V6UjlMVnhjWkhzeWZTMWNYR1I3TW4wcEwzVTdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UxUkJVbFJmUkVGVVJWOVNSVWRGV0NBOUlDOWNYSFY3TVVZMlJVSjlYRnh6S2loY1hHUjdOSDB0WEZ4a2V6SjlMVnhjWkhzeWZTa3ZkVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVZOVDBwSlgxSkZSMFZZUlZNZ1BTQmJYRzRnSUNBZ2V5QnlaV2RsZURvZ1ExSkZRVlJGUkY5RVFWUkZYMUpGUjBWWUxDQnJaWGs2SUZ3aVkzSmxZWFJsWkZ3aUlIMHNYRzRnSUNBZ2V5QnlaV2RsZURvZ1UxUkJVbFJmUkVGVVJWOVNSVWRGV0N3Z2EyVjVPaUJjSW5OMFlYSjBYQ0lnZlN4Y2JpQWdJQ0I3SUhKbFoyVjRPaUJUUTBoRlJGVk1SVVJmUkVGVVJWOVNSVWRGV0N3Z2EyVjVPaUJjSW5OamFHVmtkV3hsWkZ3aUlIMHNYRzRnSUNBZ2V5QnlaV2RsZURvZ1JGVkZYMFJCVkVWZlVrVkhSVmdzSUd0bGVUb2dYQ0prZFdWY0lpQjlMRnh1SUNBZ0lIc2djbVZuWlhnNklFUlBUa1ZmUkVGVVJWOVNSVWRGV0N3Z2EyVjVPaUJjSW1OdmJYQnNaWFJwYjI1Y0lpQjlMRnh1WFR0Y2JseHVMeW9xSUZCaGNuTmxJSE53WldOcFlXd2dZMjl0Y0d4bGRHVmtMMlIxWlM5a2IyNWxJSFJoYzJzZ1ptbGxiR1J6SUhkb2FXTm9JR0Z5WlNCdFlYSnJaV1FnZG1saElHVnRiMnBwTGlBcUwxeHVablZ1WTNScGIyNGdaWGgwY21GamRGTndaV05wWVd4VVlYTnJSbWxsYkdSektHeHBibVU2SUhOMGNtbHVaeWs2SUV4dlkyRnNTVzVzYVc1bFJtbGxiR1JiWFNCN1hHNGdJQ0FnYkdWMElISmxjM1ZzZEhNNklFeHZZMkZzU1c1c2FXNWxSbWxsYkdSYlhTQTlJRnRkTzF4dVhHNGdJQ0FnWm05eUlDaHNaWFFnZXlCeVpXZGxlQ3dnYTJWNUlIMGdiMllnUlUxUFNrbGZVa1ZIUlZoRlV5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRZWFJqYUNBOUlISmxaMlY0TG1WNFpXTW9iR2x1WlNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doYldGMFkyZ3BJR052Ym5ScGJuVmxPMXh1WEc0Z0lDQWdJQ0FnSUhKbGMzVnNkSE11Y0hWemFDaDdYRzRnSUNBZ0lDQWdJQ0FnSUNCclpYa3NYRzRnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaVG9nYldGMFkyaGJNVjBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkR0Z5ZERvZ2JXRjBZMmd1YVc1a1pYZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNCemRHRnlkRlpoYkhWbE9pQnRZWFJqYUM1cGJtUmxlQ0FySURFc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYm1RNklHMWhkR05vTG1sdVpHVjRJQ3NnYldGMFkyaGJNRjB1YkdWdVozUm9MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2QzSmhjSEJwYm1jNklGd2laVzF2YW1rdGMyaHZjblJvWVc1a1hDSXNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhSek8xeHVmVnh1WEc0dktpb2dVMlYwY3lCdmNpQnlaWEJzWVdObGN5QjBhR1VnZG1Gc2RXVWdiMllnWVc0Z2FXNXNhVzVsSUdacFpXeGtPeUJwWmlCMGFHVWdkbUZzZFdVZ2FYTWdKM1Z1WkdWbWFXNWxaQ2NzSUdSbGJHVjBaWE1nZEdobElHdGxlUzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCelpYUkpibXhwYm1WR2FXVnNaQ2h6YjNWeVkyVTZJSE4wY21sdVp5d2dhMlY1T2lCemRISnBibWNzSUhaaGJIVmxQem9nYzNSeWFXNW5LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQnNaWFFnWlhocGMzUnBibWNnUFNCbGVIUnlZV04wU1c1c2FXNWxSbWxsYkdSektITnZkWEpqWlNrN1hHNGdJQ0FnYkdWMElHVjRhWE4wYVc1blMyVjVjeUE5SUdWNGFYTjBhVzVuTG1acGJIUmxjaWdvWmlrZ1BUNGdaaTVyWlhrZ1BUMGdhMlY1S1R0Y2JseHVJQ0FnSUM4dklFUnZiaWQwSUdSdklHRnVlWFJvYVc1bklHbG1JSFJvWlhKbElHRnlaU0JrZFhCc2FXTmhkR1VnYTJWNWN5QlBVaUIwYUdVZ2EyVjVJR0ZzY21WaFpIa2daRzlsYzI0bmRDQmxlR2x6ZEM1Y2JpQWdJQ0JwWmlBb1pYaHBjM1JwYm1kTFpYbHpMbXhsYm1kMGFDQStJRElnZkh3Z0tHVjRhWE4wYVc1blMyVjVjeTVzWlc1bmRHZ2dQVDBnTUNBbUppQWhkbUZzZFdVcEtTQnlaWFIxY200Z2MyOTFjbU5sTzF4dUlDQWdJR3hsZENCbGVHbHpkR2x1WjB0bGVTQTlJR1Y0YVhOMGFXNW5TMlY1YzFzd1hUdGNibHh1SUNBZ0lHeGxkQ0JoYm01dmRHRjBhVzl1SUQwZ2RtRnNkV1VnUHlCZ1d5UjdhMlY1ZlRvNklDUjdkbUZzZFdWOVhXQWdPaUJjSWx3aU8xeHVJQ0FnSUdsbUlDaGxlR2x6ZEdsdVowdGxlU2tnZTF4dUlDQWdJQ0FnSUNCc1pYUWdjSEpsWm1sNElEMGdjMjkxY21ObExuTjFZbk4wY21sdVp5Z3dMQ0JsZUdsemRHbHVaMHRsZVM1emRHRnlkQ2s3WEc0Z0lDQWdJQ0FnSUd4bGRDQnpkV1ptYVhnZ1BTQnpiM1Z5WTJVdWMzVmljM1J5YVc1bktHVjRhWE4wYVc1blMyVjVMbVZ1WkNrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0dGdWJtOTBZWFJwYjI0cElISmxkSFZ5YmlCZ0pIdHdjbVZtYVhoOUpIdGhibTV2ZEdGMGFXOXVmU1I3YzNWbVptbDRmV0E3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdjbVYwZFhKdUlHQWtlM0J5WldacGVIMGtlM04xWm1acGVDNTBjbWx0VTNSaGNuUW9LWDFnTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWVc1dWIzUmhkR2x2YmlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1lDUjdjMjkxY21ObExuUnlhVzFGYm1Rb0tYMGdKSHRoYm01dmRHRjBhVzl1ZldBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE52ZFhKalpUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhObGRFVnRiMnBwVTJodmNuUm9ZVzVrUTI5dGNHeGxkR2x2YmtacFpXeGtLSE52ZFhKalpUb2djM1J5YVc1bkxDQjJZV3gxWlQ4NklITjBjbWx1WnlrNklITjBjbWx1WnlCN1hHNGdJQ0FnWTI5dWMzUWdaWGhwYzNScGJtY2dQU0JsZUhSeVlXTjBTVzVzYVc1bFJtbGxiR1J6S0hOdmRYSmpaU3dnZEhKMVpTazdYRzRnSUNBZ1kyOXVjM1FnWlhocGMzUnBibWRMWlhseklEMGdaWGhwYzNScGJtY3VabWxzZEdWeUtDaG1LU0E5UGlCbUxtdGxlU0E5UFQwZ1hDSmpiMjF3YkdWMGFXOXVYQ0lnSmlZZ1ppNTNjbUZ3Y0dsdVp5QTlQVDBnWENKbGJXOXFhUzF6YUc5eWRHaGhibVJjSWlrN1hHNWNiaUFnSUNBdkx5QkViMjRuZENCa2J5QmhibmwwYUdsdVp5QnBaaUIwYUdWeVpTQmhjbVVnWkhWd2JHbGpZWFJsSUd0bGVYTWdUMUlnZEdobElHdGxlU0JoYkhKbFlXUjVJR1J2WlhOdUozUWdaWGhwYzNRdVhHNGdJQ0FnYVdZZ0tHVjRhWE4wYVc1blMyVjVjeTVzWlc1bmRHZ2dQaUF5SUh4OElDaGxlR2x6ZEdsdVowdGxlWE11YkdWdVozUm9JRDA5SURBZ0ppWWdJWFpoYkhWbEtTa2djbVYwZFhKdUlITnZkWEpqWlR0Y2JseHVJQ0FnSUM4cUlFNXZJSGR5WVhCd1pYSXNJR0ZrWkNCdmQyNGdjM0JoWTJsdVp5QmhkQ0J6ZEdGeWRDQXFMMXh1SUNBZ0lHTnZibk4wSUdGdWJtOTBZWFJwYjI0Z1BTQjJZV3gxWlNBL0lHQWdYSFV5TnpBMUlDUjdkbUZzZFdWOVlDQTZJRndpWENJN1hHNGdJQ0FnYkdWMElHVjRhWE4wYVc1blMyVjVJRDBnWlhocGMzUnBibWRMWlhseld6QmRPMXh1SUNBZ0lHbG1JQ2hsZUdsemRHbHVaMHRsZVNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd2NtVm1hWGdnUFNCemIzVnlZMlV1YzNWaWMzUnlhVzVuS0RBc0lHVjRhWE4wYVc1blMyVjVMbk4wWVhKMEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MzVm1abWw0SUQwZ2MyOTFjbU5sTG5OMVluTjBjbWx1WnlobGVHbHpkR2x1WjB0bGVTNWxibVFwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWUNSN2NISmxabWw0TG5SeWFXMUZibVFvS1gwa2UyRnVibTkwWVhScGIyNTlKSHR6ZFdabWFYaDlZRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1lDUjdjMjkxY21ObExuUnlhVzFGYm1Rb0tYMGtlMkZ1Ym05MFlYUnBiMjU5WUR0Y2JpQWdJQ0I5WEc1OVhHNGlMQ0FpTHlvcUlFMWhjQ0IwYUdVZ2RtRnNkV1Z6SUc5bUlHRnVJRzlpYW1WamRDd2djbVYwZFhKdWFXNW5JR0VnYm1WM0lHOWlhbVZqZEM0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZWEJQWW1wbFkzUldZV3gxWlhNOFZpd2dWVDRvYjJKcVpXTjBPaUJTWldOdmNtUThjM1J5YVc1bkxDQldQaXdnWm5WdVl6b2dLSGc2SUZZcElEMCtJRlVwT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JWUGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVZ6ZFd4ME9pQlNaV052Y21ROGMzUnlhVzVuTENCVlBpQTlJSHQ5TzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnVzJ0bGVTd2dkbUZzZFdWZElHOW1JRTlpYW1WamRDNWxiblJ5YVdWektHOWlhbVZqZENrcElIdGNiaUFnSUNBZ0lDQWdjbVZ6ZFd4MFcydGxlVjBnUFNCbWRXNWpLSFpoYkhWbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dUlpd2dJbWx0Y0c5eWRDQjdJRXhwYm1zc0lFcHpiMjVNYVc1cklIMGdabkp2YlNCY0ltVjRjSEpsYzNOcGIyNHZiR2x1YTF3aU8xeHVhVzF3YjNKMElIc2dUR2wwWlhKaGJDd2dUR2wwWlhKaGJITWdmU0JtY205dElGd2laWGh3Y21WemMybHZiaTlzYVhSbGNtRnNYQ0k3WEc1cGJYQnZjblFnZXlCRVlYUmxWR2x0WlN3Z1JIVnlZWFJwYjI0Z2ZTQm1jbTl0SUZ3aWJIVjRiMjVjSWp0Y2JtbHRjRzl5ZENCN0lHMWhjRTlpYW1WamRGWmhiSFZsY3lCOUlHWnliMjBnWENKMWRHbHNjeTlrWVhSaFhDSTdYRzVjYmk4cUtpQktVMDlPTFhObGNtbGhiR2w2WldRZ1pYRjFhWFpoYkdWdWRITWdabTl5SUd4cGRHVnlZV3h6TGlBcUwxeHVaWGh3YjNKMElIUjVjR1VnU25OdmJreHBkR1Z5WVd3Z1BWeHVJQ0FnSUh3Z1ltOXZiR1ZoYmx4dUlDQWdJSHdnYm5WdFltVnlYRzRnSUNBZ2ZDQnpkSEpwYm1kY2JpQWdJQ0I4SUhzZ0pGOTBlWEJsT2lCY0ltUmhkR1ZjSWpzZ2RtRnNkV1U2SUhOMGNtbHVaeUI5WEc0Z0lDQWdmQ0I3SUNSZmRIbHdaVG9nWENKa2RYSmhkR2x2Ymx3aU95QjJZV3gxWlRvZ2MzUnlhVzVuSUgxY2JpQWdJQ0I4SUhzZ0pGOTBlWEJsT2lCY0lteHBibXRjSWpzZ2RtRnNkV1U2SUVwemIyNU1hVzVySUgxY2JpQWdJQ0I4SUVGeWNtRjVQRXB6YjI1TWFYUmxjbUZzUGx4dUlDQWdJSHdnVW1WamIzSmtQSE4wY21sdVp5d2dZVzU1UGx4dUlDQWdJSHdnYm5Wc2JEdGNibHh1Wlhod2IzSjBJRzVoYldWemNHRmpaU0JLYzI5dVEyOXVkbVZ5YzJsdmJpQjdYRzRnSUNBZ1pYaHdiM0owSUdOdmJuTjBJRTVQVDFCZlRrOVNUVUZNU1ZwRlVqb2dLR2x1Y0hWME9pQk1hWFJsY21Gc0tTQTlQaUJNYVhSbGNtRnNJRDBnS0dsdWNIVjBLU0E5UGlCcGJuQjFkRHRjYmx4dUlDQWdJQzhxS2lCRGIyNTJaWEowSUdFZ2JHbDBaWEpoYkNCMllXeDFaU0IwYnlCaElITmhabVVzSUhCbGNuTnBjM1JsYm5RZ1NsTlBUaUJsY1hWcGRtRnNaVzUwTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJxYzI5dUtHeHBkR1Z5WVd3NklFeHBkR1Z5WVd3cE9pQktjMjl1VEdsMFpYSmhiQ0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSGR5WVhCd1pXUWdQU0JNYVhSbGNtRnNjeTUzY21Gd1ZtRnNkV1VvYkdsMFpYSmhiQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkM0poY0hCbFpDa2djbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUNBZ2MzZHBkR05vSUNoM2NtRndjR1ZrUHk1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVlYSnlZWGxjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNIQmxaQzUyWVd4MVpTNXRZWEFvU25OdmJrTnZiblpsY25OcGIyNHVhbk52YmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liMkpxWldOMFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHMWhjRTlpYW1WamRGWmhiSFZsY3loM2NtRndjR1ZrTG5aaGJIVmxMQ0JLYzI5dVEyOXVkbVZ5YzJsdmJpNXFjMjl1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmtZWFJsWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ0pGOTBlWEJsT2lCY0ltUmhkR1ZjSWl3Z2RtRnNkV1U2SUhkeVlYQndaV1F1ZG1Gc2RXVXVkRzlKVTA4b2V5QmxlSFJsYm1SbFpGcHZibVU2SUhSeWRXVXNJR2x1WTJ4MVpHVlBabVp6WlhRNklIUnlkV1VnZlNrZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVc1clhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIc2dKRjkwZVhCbE9pQmNJbXhwYm10Y0lpd2dkbUZzZFdVNklIZHlZWEJ3WldRdWRtRnNkV1V1ZEc5UFltcGxZM1FvS1NCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVIxY21GMGFXOXVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnSkY5MGVYQmxPaUJjSW1SMWNtRjBhVzl1WENJc0lIWmhiSFZsT2lCM2NtRndjR1ZrTG5aaGJIVmxMblJ2U1ZOUEtDa2dmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKaWIyOXNaV0Z1WENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liblZ0WW1WeVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpYzNSeWFXNW5YQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGR5WVhCd1pXUXVkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2lablZ1WTNScGIyNWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdWRXeHNYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRiMjUyWlhKMElHRWdTbE5QVGlCc2FYUmxjbUZzSUhSdklHbDBKM01nWTI5eWNtVnpjRzl1WkdsdVp5Qm9lV1J5WVhSbFpDQjJZV3gxWlN3Z2IzQjBhVzl1WVd4c2VTQmhjSEJzZVdsdVoxeHVJQ0FnSUNBcUlHRWdibTl5YldGc2FYcGhkR2x2YmlCemRHVndJSFJ2SUhSb1pTQnlaWE4xYkhScGJtY2dkbUZzZFdVZ1lXNWtJR0Z1ZVNCc2FYUmxjbUZzY3lCamIyNTBZV2x1WldRZ2QybDBhR2x1SUdsMFhHNGdJQ0FnSUNvZ0tITjFZMmdnWVhNZ2FXWWdkR2hsSUd4cGRHVnlZV3dnYVhNZ1lTQnNhWE4wSUc5eUlHOWlhbVZqZENrdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJSFpoYkhWbEtHcHpiMjQ2SUVwemIyNU1hWFJsY21Gc0xDQnViM0p0WVd4cGVtVnlPaUFvYVc1d2RYUTZJRXhwZEdWeVlXd3BJRDArSUV4cGRHVnlZV3dnUFNCT1QwOVFYMDVQVWsxQlRFbGFSVklwT2lCTWFYUmxjbUZzSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR3B6YjI0Z1BUMDlJRzUxYkd3Z2ZId2dhbk52YmlBOVBUMGdkVzVrWldacGJtVmtLU0J5WlhSMWNtNGdiblZzYkR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHFjMjl1S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzV2Y20xaGJHbDZaWElvYW5OdmJpNXRZWEFvS0dsdWNIVjBLU0E5UGlCS2MyOXVRMjl1ZG1WeWMybHZiaTUyWVd4MVpTaHBibkIxZEN3Z2JtOXliV0ZzYVhwbGNpa3BLVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnYW5OdmJpQTlQVDBnWENKdlltcGxZM1JjSWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRW9YQ0lrWDNSNWNHVmNJaUJwYmlCcWMyOXVLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiV0Z3VDJKcVpXTjBWbUZzZFdWektHcHpiMjRzSUNoMktTQTlQaUJLYzI5dVEyOXVkbVZ5YzJsdmJpNTJZV3gxWlNoMklHRnpJRXB6YjI1TWFYUmxjbUZzTENCdWIzSnRZV3hwZW1WeUtTazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhSNWNHVWdQU0JxYzI5dVcxd2lKRjkwZVhCbFhDSmRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNoMGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVJoZEdWY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzV2Y20xaGJHbDZaWElvUkdGMFpWUnBiV1V1Wm5KdmJVbFRUeWhxYzI5dUxuWmhiSFZsS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1SMWNtRjBhVzl1WENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnViM0p0WVd4cGVtVnlLRVIxY21GMGFXOXVMbVp5YjIxSlUwOG9hbk52Ymk1MllXeDFaU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVc1clhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1YjNKdFlXeHBlbVZ5S0V4cGJtc3Vabkp2YlU5aWFtVmpkQ2hxYzI5dUxuWmhiSFZsS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQlZibkpsWTI5bmJtbDZaV1FnYzJWeWFXRnNhWHBsWkNCMGVYQmxJQ2NrZTNSNWNHVjlKeUZnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDOHZJRkJ5YVcxcGRHbDJaU0IwZVhCbExDQnlaWFIxY200Z1lYTWdhWE11WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1YjNKdFlXeHBlbVZ5S0dwemIyNGdZWE1nVEdsMFpYSmhiQ2s3WEc0Z0lDQWdmVnh1ZlZ4dUlpd2dJaThxS2x4dUlDb2dRRzF2WkhWc1pTQnBibVJsZUdGaWJHVnpYRzRnS2k5Y2JpOHFLaUJWZEdsc2FYUnBaWE1nWm05eUlHTnZiblpsY25ScGJtY2diR2wwWlhKaGJDQjBlWEJsY3lCMGJ5QmhibVFnWm5KdmJTQjBhR1ZwY2lCWlFVMU1JR1p5YjI1MGJXRjBkR1Z5SUhKbGNISmxjMlZ1ZEdGMGFXOXVMaUFxTDF4dVhHNXBiWEJ2Y25RZ2V5Qk1hWFJsY21Gc0xDQk1hWFJsY21Gc2N5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMMnhwZEdWeVlXeGNJanRjYm1sdGNHOXlkQ0I3SUZCU1NVMUpWRWxXUlZNZ2ZTQm1jbTl0SUZ3aVpYaHdjbVZ6YzJsdmJpOXdZWEp6WlhKY0lqdGNibWx0Y0c5eWRDQjdJRVJoZEdWVWFXMWxJSDBnWm5KdmJTQmNJbXgxZUc5dVhDSTdYRzVwYlhCdmNuUWdleUJ0WVhCUFltcGxZM1JXWVd4MVpYTWdmU0JtY205dElGd2lkWFJwYkhNdlpHRjBZVndpTzF4dVhHNHZLaW9nV1VGTlRDMW1jbWxsYm1Sc2VTQnlaWEJ5WlhObGJuUmhkR2x2YmlCbWIzSWdZU0JzYVhSbGNtRnNMaUFxTDF4dVpYaHdiM0owSUhSNWNHVWdXV0Z0YkV4cGRHVnlZV3dnUFNCemRISnBibWNnZkNCdWRXMWlaWElnZkNCaWIyOXNaV0Z1SUh3Z2JuVnNiQ0I4SUZKbFkyOXlaRHh6ZEhKcGJtY3NJR0Z1ZVQ0Z2ZDQkJjbkpoZVR4WllXMXNUR2wwWlhKaGJENDdYRzR2S2lwY2JpQXFJRUJwYm5SbGNtNWhiRnh1SUNvdlhHNWxlSEJ2Y25RZ2JtRnRaWE53WVdObElGbGhiV3hEYjI1MlpYSnphVzl1SUh0Y2JpQWdJQ0F2S2lvZ1EyOXVkbVZ5ZENCaElHeHBkR1Z5WVd3Z2FXNTBieUJoSUhsaGJXd2dabkpwWlc1a2JIa2djbVZ3Y21WelpXNTBZWFJwYjI0dUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUhsaGJXd29kbUZzZFdVNklFeHBkR1Z5WVd3cE9pQlpZVzFzVEdsMFpYSmhiQ0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSGR5WVhCd1pXUWdQU0JNYVhSbGNtRnNjeTUzY21Gd1ZtRnNkV1VvYkdsMFpYSmhiQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkM0poY0hCbFpDa2djbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUNBZ2MzZHBkR05vSUNoM2NtRndjR1ZrTG5SNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKemRISnBibWRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmliMjlzWldGdVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpYm5Wc2JGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW01MWJXSmxjbHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIzY21Gd2NHVmtMblpoYkhWbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbUZ5Y21GNVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIZHlZWEJ3WldRdWRtRnNkV1V1YldGd0tIbGhiV3dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltUmhkR1ZjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNIQmxaQzUyWVd4MVpTNTBiMGxUVHlncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVIxY21GMGFXOXVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGR5WVhCd1pXUXVkbUZzZFdVdWRHOUlkVzFoYmlncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVoxYm1OMGFXOXVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liR2x1YTF3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCM2NtRndjR1ZrTG5aaGJIVmxMbTFoY210a2IzZHVLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWIySnFaV04wWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGNFOWlhbVZqZEZaaGJIVmxjeWgzY21Gd2NHVmtMblpoYkhWbExDQjVZVzFzS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQlNaV04xY25OcGRtVnNlU0JqYjI1MlpYSjBJR0VnV1VGTlRDQnNhWFJsY21Gc0lHbHVkRzhnWVNCeVpXZDFiR0Z5SUd4cGRHVnlZV3dnZG1Gc2RXVXVJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHeHBkR1Z5WVd3b2RtRnNkV1U2SUZsaGJXeE1hWFJsY21Gc0tUb2dUR2wwWlhKaGJDQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMllXeDFaU0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUZ3aWIySnFaV04wWENJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0haaGJIVmxLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQnlaWE4xYkhRZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JqYUdsc1pDQnZaaUIyWVd4MVpTQmhjeUJCY25KaGVUeGhibmsrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNXdkWE5vS0d4cGRHVnlZV3dvWTJocGJHUXBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaDJZV3gxWlNCcGJuTjBZVzVqWlc5bUlFUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdaR0YwWlZCaGNuTmxJRDBnUkdGMFpWUnBiV1V1Wm5KdmJVcFRSR0YwWlNoMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1JoZEdWUVlYSnpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJRzlpYW1WamRDQTlJSFpoYkhWbElHRnpJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElISmxjM1ZzZERvZ1VtVmpiM0prUEhOMGNtbHVaeXdnVEdsMFpYSmhiRDRnUFNCN2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnJaWGtnYVc0Z2IySnFaV04wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RGdHJaWGxkSUQwZ2JHbDBaWEpoYkNodlltcGxZM1JiYTJWNVhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlGd2liblZ0WW1WeVhDSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUZ3aVltOXZiR1ZoYmx3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElEMDlQU0JjSW5OMGNtbHVaMXdpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ1pHRjBaVkJoY25ObElEMGdVRkpKVFVsVVNWWkZVeTVrWVhSbExuQmhjbk5sS0haaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hrWVhSbFVHRnljMlV1YzNSaGRIVnpLU0J5WlhSMWNtNGdaR0YwWlZCaGNuTmxMblpoYkhWbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdaSFZ5WVhScGIyNVFZWEp6WlNBOUlGQlNTVTFKVkVsV1JWTXVaSFZ5WVhScGIyNHVjR0Z5YzJVb2RtRnNkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dSMWNtRjBhVzl1VUdGeWMyVXVjM1JoZEhWektTQnlaWFIxY200Z1pIVnlZWFJwYjI1UVlYSnpaUzUyWVd4MVpUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJR3hwYm10UVlYSnpaU0E5SUZCU1NVMUpWRWxXUlZNdWJHbHVheTV3WVhKelpTaDJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JHbHVhMUJoY25ObExuTjBZWFIxY3lrZ2NtVjBkWEp1SUd4cGJtdFFZWEp6WlM1MllXeDFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdMeThnUW1GamEzVndJR2xtSUhkbElHUnZiaWQwSUhWdVpHVnljM1JoYm1RZ2RHaGxJSFI1Y0dVdVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibjFjYmlJc0lDSnBiWEJ2Y25RZ2V5QkdhV3hsVTNSaGRITWdmU0JtY205dElGd2liMkp6YVdScFlXNWNJanRjYm1sdGNHOXlkQ0I3SUdsMFpYSmhkR1ZKYm14cGJtVkdhV1ZzWkhNc0lHMWhjbXRrYjNkdVUyOTFjbU5sU1cxd2IzSjBMQ0JOWlhSaFpHRjBZU3dnVTJWamRHbHZia1JoZEdFZ2ZTQm1jbTl0SUZ3aUxpOXRZWEpyWkc5M2Jsd2lPMXh1YVcxd2IzSjBJSHNnU25OdmJrWnliMjUwYldGMGRHVnlSVzUwY25rZ2ZTQm1jbTl0SUZ3aWFXNWtaWGd2ZEhsd1pYTXZhbk52Ymk5dFlYSnJaRzkzYmx3aU8xeHVhVzF3YjNKMElIdGNiaUFnSUNCRFlXNTJZWE5OWlhSaFpHRjBZVWx1WkdWNExGeHVJQ0FnSUVwemIyNUNZWE5sUTJGdWRtRnpRMkZ5WkN4Y2JpQWdJQ0JLYzI5dVEyRnVkbUZ6TEZ4dUlDQWdJRXB6YjI1RFlXNTJZWE5EWVhKa0xGeHVJQ0FnSUVwemIyNURZVzUyWVhOR2FXeGxRMkZ5WkN4Y2JpQWdJQ0JLYzI5dVEyRnVkbUZ6VkdWNGRFTmhjbVFzWEc0Z0lDQWdTbk52YmtOaGJuWmhjMWRsWWtOaGNtUXNYRzU5SUdaeWIyMGdYQ0pwYm1SbGVDOTBlWEJsY3k5cWMyOXVMMk5oYm5aaGMxd2lPMXh1YVcxd2IzSjBJSHNnUTJGdWRtRnpSbWxzWlVSaGRHRXNJRU5oYm5aaGMweHBibXRFWVhSaExDQkRZVzUyWVhOVVpYaDBSR0YwWVN3Z1EyRnVkbUZ6UkdGMFlTQmhjeUJKUTJGdWRtRnpJSDBnWm5KdmJTQmNJbTlpYzJsa2FXRnVMMk5oYm5aaGMxd2lPMXh1YVcxd2IzSjBJSHNnVEdsdWF5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMMnhwYm10Y0lqdGNibHh1THlvcUlFbHRjRzl5ZENCaElHTmhiblpoY3lCbWFXeGxJSFZ6YVc1bklIUm9aU0JqWVc1MllYTWdiV1YwWVdSaGRHRXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTJGdWRtRnpTVzF3YjNKMEtGeHVJQ0FnSUhCaGRHZzZJSE4wY21sdVp5eGNiaUFnSUNCemIzVnlZMlU2SUhOMGNtbHVaeXhjYmlBZ0lDQnBibVJsZURvZ1EyRnVkbUZ6VFdWMFlXUmhkR0ZKYm1SbGVGdGNJbk4wY21sdVoxd2lYU3hjYmlBZ0lDQnpkR0YwY3pvZ1JtbHNaVk4wWVhSelhHNHBPaUJLYzI5dVEyRnVkbUZ6SUh0Y2JpQWdJQ0JqYjI1emRDQmpZVzUyWVhNZ1BTQnVaWGNnUTJGdWRtRnpSR0YwWVNod1lYUm9MQ0J6ZEdGMGN5azdYRzRnSUNBZ1kyOXVjM1FnY0dGeWMyVmtJRDBnU2xOUFRpNXdZWEp6WlNoemIzVnlZMlVwSUdGeklFbERZVzUyWVhNN1hHNWNiaUFnSUNCbWIzSWdLR052Ym5OMElHTWdiMllnY0dGeWMyVmtMbTV2WkdWektTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoakxuUjVjR1VnUFQwZ1hDSm5jbTkxY0Z3aUtTQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdhV1lnS0dNdWRIbHdaU0E5UFNCY0luUmxlSFJjSWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdleUJtY205dWRHMWhkSFJsY2l3Z2JXVjBZV1JoZEdFc0lHeHBibVZ6TENCelpXTjBhVzl1Y3lCOUlEMGdiV0Z5YTJSdmQyNVRiM1Z5WTJWSmJYQnZjblFvY0dGMGFDd2dZeTUwWlhoMExDQnBibVJsZUQ4dVkyRmphR1Z6VzJNdWFXUmRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOaGNtUWdQU0J1WlhjZ1EyRnVkbUZ6UTJGeVpFUmhkR0VvY0dGMGFDd2dZeTVwWkN3Z1l5d2dabkp2Ym5SdFlYUjBaWElwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjMlZqZEdsdmJuTXVabTl5UldGamFDZ29hU2tnUFQ0Z1kyRnlaQzV6WldOMGFXOXVLR2twS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYm5aaGN5NWpZWEprS0dOaGNtUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQjBZV2NnYVc0Z2JXVjBZV1JoZEdFdWRHRm5jeWtnWTJGdWRtRnpMbTFsZEdGa1lYUmhMblJoWnloMFlXY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQnNhVzVySUc5bUlHMWxkR0ZrWVhSaExteHBibXR6SUQ4L0lGdGRLU0JqWVc1MllYTXViV1YwWVdSaGRHRXViR2x1YXloc2FXNXJLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdabWxsYkdRZ2IyWWdhWFJsY21GMFpVbHViR2x1WlVacFpXeGtjeWhzYVc1bGN5a3BJR05oYm5aaGN5NXRaWFJoWkdGMFlTNXBibXhwYm1WR2FXVnNaQ2htYVdWc1pDazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqWVhKa0lEMGdibVYzSUVOaGJuWmhjME5oY21SRVlYUmhLSEJoZEdnc0lHTXVhV1FzSUdNcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGdWRtRnpMbU5oY21Rb1kyRnlaQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZMkZ1ZG1GekxtSjFhV3hrS0NrN1hHNTlYRzVjYmk4cUtpQk5aWFJoWkdGMFlTQm1iM0lnWVNCemNHVmphV1pwWXlCallXNTJZWE1nWTJGeVpDNGdLaTljYm1GaWMzUnlZV04wSUdOc1lYTnpJRUZpYzNSeVlXTjBRMkZ1ZG1GelEyRnlaRVJoZEdFZ2UxeHVJQ0FnSUhCMVlteHBZeUJ0WlhSaFpHRjBZVG9nVFdWMFlXUmhkR0VnUFNCdVpYY2dUV1YwWVdSaGRHRW9LVHRjYmx4dUlDQWdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJSEJoZEdnNklITjBjbWx1Wnl4Y2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUdsa09pQnpkSEpwYm1jc1hHNGdJQ0FnSUNBZ0lIQnliM1JsWTNSbFpDQnViMlJsU25OdmJqb2dRMkZ1ZG1GelZHVjRkRVJoZEdFZ2ZDQkRZVzUyWVhOTWFXNXJSR0YwWVNCOElFTmhiblpoYzBacGJHVkVZWFJoWEc0Z0lDQWdLU0I3ZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0oxYVd4a0tDazZJRXB6YjI1Q1lYTmxRMkZ1ZG1GelEyRnlaQ0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWtabWxzWlRvZ2RHaHBjeTV3WVhSb0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkdsa09pQjBhR2x6TG1sa0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VEb2dkR2hwY3k1dWIyUmxTbk52Ymk1NExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIazZJSFJvYVhNdWJtOWtaVXB6YjI0dWVTeGNiaUFnSUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrWkdsdFpXNXphVzl1Y3pvZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIZHBaSFJvT2lCMGFHbHpMbTV2WkdWS2MyOXVMbmRwWkhSb0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaGxhV2RvZERvZ2RHaHBjeTV1YjJSbFNuTnZiaTVvWldsbmFIUXNYRzRnSUNBZ0lDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkdOdmJHOXlPaUIwYUdsekxtNXZaR1ZLYzI5dUxtTnZiRzl5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKR3hwYm1zNklFeHBibXN1Wm1sc1pTaDBhR2x6TG5CaGRHZ3BMbmRwZEdoQ2JHOWpheWgwYUdsekxtbGtLUzUwYjA5aWFtVmpkQ2dwTEZ4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JuMWNibHh1THlvcUlFMWxkR0ZrWVhSaElHWnZjaUJoSUhOd1pXTnBabWxqSUdOaGNtUWdhVzRnWVNCallXNTJZWE1nZG1sbGR5NGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QkRZVzUyWVhORFlYSmtSR0YwWVNCbGVIUmxibVJ6SUVGaWMzUnlZV04wUTJGdWRtRnpRMkZ5WkVSaGRHRWdlMXh1SUNBZ0lIQjFZbXhwWXlCelpXTjBhVzl1Y3pvZ1UyVmpkR2x2YmtSaGRHRmJYU0E5SUZ0ZE8xeHVJQ0FnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2loY2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUhCaGRHZzZJSE4wY21sdVp5eGNiaUFnSUNBZ0lDQWdjSFZpYkdsaklHbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ0lDQWdJSEJ5YjNSbFkzUmxaQ0J1YjJSbFNuTnZiam9nUTJGdWRtRnpWR1Y0ZEVSaGRHRWdmQ0JEWVc1MllYTk1hVzVyUkdGMFlTQjhJRU5oYm5aaGMwWnBiR1ZFWVhSaExGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1puSnZiblJ0WVhSMFpYSS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQktjMjl1Um5KdmJuUnRZWFIwWlhKRmJuUnllVDVjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnYzNWd1pYSW9jR0YwYUN3Z2FXUXNJRzV2WkdWS2MyOXVLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ2MyVmpkR2x2YmloelpXTjBhVzl1T2lCVFpXTjBhVzl1UkdGMFlTazZJRk5sWTNScGIyNUVZWFJoSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV6WldOMGFXOXVjeTV3ZFhOb0tITmxZM1JwYjI0cE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2MyVmpkR2x2Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZblZwYkdRb0tUb2dTbk52YmtOaGJuWmhjME5oY21RZ2UxeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIUm9hWE11Ym05a1pVcHpiMjR1ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW5SbGVIUmNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdUxpNG9jM1Z3WlhJdVluVnBiR1FvS1NCaGN5QktjMjl1UW1GelpVTmhiblpoYzBOaGNtUXBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBa2FXNW1hV1ZzWkhNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9TVzVzYVc1bFJtbGxiR1J6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ1JtY205dWRHMWhkSFJsY2pvZ2RHaHBjeTVtY205dWRHMWhkSFJsY2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKSE5sWTNScGIyNXpPaUIwYUdsekxuTmxZM1JwYjI1ekxtMWhjQ2dvZUNrZ1BUNGdlQzVpZFdsc1pDZ3BLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0pIUmhaM002SUhSb2FYTXViV1YwWVdSaGRHRXVabWx1YVhOb1ZHRm5jeWdwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWtiR2x1YTNNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9UR2x1YTNNb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSkhSNWNHVTZJRndpZEdWNGRDMWpZWEprWENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ1JqYjJ4dmNqb2dkR2hwY3k1dWIyUmxTbk52Ymk1amIyeHZjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5SUdGeklFcHpiMjVEWVc1MllYTlVaWGgwUTJGeVpEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0ptYVd4bFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTGk0dWMzVndaWEl1WW5WcGJHUW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0pHeHBibXRsWkVacGJHVTZJSFJvYVhNdWJtOWtaVXB6YjI0dVptbHNaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5SUdGeklFcHpiMjVEWVc1MllYTkdhV3hsUTJGeVpEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVc1clhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTGk0dWMzVndaWEl1WW5WcGJHUW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0pIVnliRG9nZEdocGN5NXViMlJsU25OdmJpNTFjbXdzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlNCaGN5QktjMjl1UTJGdWRtRnpWMlZpUTJGeVpEdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklISmxkSFZ5YmlCdVpYZGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNibjFjYmx4dUx5b3FJRTFsZEdGa1lYUmhJR1p2Y2lCMGFHVWdkMmh2YkdVZ1kyRnVkbUZ6SUhCaFoyVWdZWE1nWVNCM2FHOXNaUzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJEWVc1MllYTkVZWFJoSUh0Y2JpQWdJQ0J3ZFdKc2FXTWdZMkZ5WkhNNklFTmhiblpoYzBOaGNtUkVZWFJoVzEwZ1BTQmJYVHRjYmlBZ0lDQndkV0pzYVdNZ2JXVjBZV1JoZEdFNklFMWxkR0ZrWVhSaElEMGdibVYzSUUxbGRHRmtZWFJoS0NrN1hHNWNiaUFnSUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NIVmliR2xqSUhCaGRHZzZJSE4wY21sdVp5d2djSFZpYkdsaklITjBZWFJ6T2lCR2FXeGxVM1JoZEhNcElIdDlYRzVjYmlBZ0lDQndkV0pzYVdNZ1kyRnlaQ2hrT2lCRFlXNTJZWE5EWVhKa1JHRjBZU2s2SUVOaGJuWmhjME5oY21SRVlYUmhJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NWpZWEprY3k1d2RYTm9LR1FwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZblZwYkdRb0tUb2dTbk52YmtOaGJuWmhjeUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWtZMkZ5WkhNNklIUm9hWE11WTJGeVpITXViV0Z3S0NoNEtTQTlQaUI0TG1KMWFXeGtLQ2twTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKR04wYVcxbE9pQjBhR2x6TG5OMFlYUnpMbU4wYVcxbExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkcxMGFXMWxPaUIwYUdsekxuTjBZWFJ6TG0xMGFXMWxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0pHbHVabWxsYkdSek9pQjBhR2x6TG0xbGRHRmtZWFJoTG1acGJtbHphRWx1YkdsdVpVWnBaV3hrY3lncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkd4cGJtdHpPaUIwYUdsekxtMWxkR0ZrWVhSaExtWnBibWx6YUV4cGJtdHpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtkR0ZuY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaFVZV2R6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrY0dGMGFEb2dkR2hwY3k1d1lYUm9MRnh1SUNBZ0lDQWdJQ0FnSUNBZ0pITnBlbVU2SUhSb2FYTXVjM1JoZEhNdWMybDZaU3hjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1OVhHNGlMQ0FpYVcxd2IzSjBJSHNnWTJGdWRtRnpTVzF3YjNKMElIMGdabkp2YlNCY0ltbHVaR1Y0TDJsdGNHOXlkQzlqWVc1MllYTmNJanRjYm1sdGNHOXlkQ0I3SUcxaGNtdGtiM2R1U1cxd2IzSjBJSDBnWm5KdmJTQmNJbWx1WkdWNEwybHRjRzl5ZEM5dFlYSnJaRzkzYmx3aU8xeHVhVzF3YjNKMElIc2dRMkZ1ZG1GelNXMXdiM0owVW1WemRXeDBMQ0JKYlhCdmNuUkRiMjF0WVc1a0xDQk5ZWEpyWkc5M2JrbHRjRzl5ZEZKbGMzVnNkQ0I5SUdaeWIyMGdYQ0pwYm1SbGVDOTNaV0l0ZDI5eWEyVnlMMjFsYzNOaFoyVmNJanRjYmx4dUx5b3FJRmRsWWlCM2IzSnJaWElnWlc1MGNua2djRzlwYm5RZ1ptOXlJR2x0Y0c5eWRHbHVaeTRnS2k5Y2JtOXViV1Z6YzJGblpTQTlJR0Z6ZVc1aklDaGxkbVZ1ZENrZ1BUNGdlMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFsYzNOaFoyVWdQU0JsZG1WdWRDNWtZWFJoSUdGeklFbHRjRzl5ZEVOdmJXMWhibVE3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLRzFsYzNOaFoyVXVkSGx3WlNBOVBUMGdYQ0p0WVhKclpHOTNibHdpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRZWEpyWkc5M2JpQTlJRzFoY210a2IzZHVTVzF3YjNKMEtHMWxjM05oWjJVdWNHRjBhQ3dnYldWemMyRm5aUzVqYjI1MFpXNTBjeXdnYldWemMyRm5aUzV0WlhSaFpHRjBZU3dnYldWemMyRm5aUzV6ZEdGMEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2NHOXpkRTFsYzNOaFoyVW9lMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklGd2liV0Z5YTJSdmQyNWNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUTZJRzFoY210a2IzZHVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmhjeUJOWVhKclpHOTNia2x0Y0c5eWRGSmxjM1ZzZENrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9iV1Z6YzJGblpTNTBlWEJsSUQwOVBTQmNJbU5oYm5aaGMxd2lLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCallXNTJZWE1nUFNCallXNTJZWE5KYlhCdmNuUW9iV1Z6YzJGblpTNXdZWFJvTENCdFpYTnpZV2RsTG1OdmJuUmxiblJ6TENCdFpYTnpZV2RsTG1sdVpHVjRMQ0J0WlhOellXZGxMbk4wWVhRcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCd2IzTjBUV1Z6YzJGblpTaDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ1hDSmpZVzUyWVhOY0lpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRNklHTmhiblpoY3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWVhNZ1EyRnVkbUZ6U1cxd2IzSjBVbVZ6ZFd4MEtUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhCdmMzUk5aWE56WVdkbEtIc2dKR1Z5Y205eU9pQmNJbFZ1YzNWd2NHOXlkR1ZrSUdsdGNHOXlkQ0J0WlhSb2IyUXVYQ0lnZlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpiMnhsTG1WeWNtOXlLR0JFWVhSaFkyOXlaU0JKYm1SbGVHVnlJR1poYVd4bFpDQjBieUJwYm1SbGVDQWtlMlYyWlc1MExtUmhkR0V1Y0dGMGFIMDZJQ1I3WlhKeWIzSjlZQ2s3WEc0Z0lDQWdJQ0FnSUhCdmMzUk5aWE56WVdkbEtIc2dKR1Z5Y205eU9pQmxjbkp2Y2k1dFpYTnpZV2RsSUgwcE8xeHVJQ0FnSUgxY2JuMDdYRzRpWFN3S0lDQWliV0Z3Y0dsdVozTWlPaUFpTUdwRVFVRkJMRWxCUVVGQkxFZEJRVUZETEVkQlFVRXNRMEZCUVVNc1IwRkJRVU1zUzBGQlFTeEZRVUZETEZOQlFWTXNSVUZCUlVNc1JVRkJSU3hEUVVGWExFOUJRVTlHTEVsQlFXcENMRlZCUVc5RExFOUJRVTlETEVsQlFXcENMRk5CUVhkQ1FTeEhRVUZQTEZGQlFWRkRMRVZCUVVVc1JVRkJZeXhQUVVGUExGRkJRVzVDTEZsQlFUSkNMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVU1zUlVGQlJVRXNRMEZCUXl4RlFVRlpMRTlCUVU5R0xFbEJRV3BDTEZOQlFYbENRU3hIUVVGUkxGVkJRVlZGTEVWQlFVVXNSVUZCUlN4RlFVRkZMRlZCUVZWQkxFVkJRVVVzUTBGQlF5eEhRVUZsTEU5QlFVOHNUVUZCY0VJc1dVRkJlVUlzUzBGQlMwWXNSMEZCU3l4VlFVRlZMRU5CUVVNc1QwRkJUeXhUUVVGVExFVkJRVVVzUTBGQlF5eEpRVUZKUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hUUVVGVFF5eEZRVUZGUXl4RlFVRkZMRU5CUVVNc1IwRkJSMFlzUlVGQlJVVXNRMEZCUXl4RlFVRkZMRTlCUVU5R0xFVkJRVVZGTEVOQlFVTXNSVUZCUlN4UlFVRlJMRWxCUVVsRExFVkJRVVZJTEVWQlFVVkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVZCTEVWQlFVVXNSVUZCUlN4SFFVRkhMRkZCUVZFc1EwRkJReXhEUVVGRExFVkJRVVVzVDBGQlR5eEZRVUZGUVN4RFFVRkRMRVZCUVVVc1MwRkJTME1zUlVGQlJTeFJRVUZSUVN4RlFVRkZRU3hGUVVGRkxGRkJRVkZHTEVOQlFVTXNSVUZCUlVVc1JVRkJSU3hGUVVGRkxFZEJRVWRCTEVWQlFVVXNUMEZCVHl4RFFVRkRMRTlCUVU5R0xFVkJRVVVzUlVGQlJTeEZRVUZGUVN4RlFVRkZMRVZCUVVWRUxFVkJRVVZETEVWQlFVVXNSVUZCUlN4VFFVRlRSeXhGUVVGRlNpeEZRVUZGUlN4RlFVRkZMRU5CUVVORUxFVkJRVVVzUlVGQlJVY3NSVUZCUlVvc1EwRkJReXhIUVVGSExFOUJRVThzWlVGQlpVa3NSVUZCUlVvc1JVRkJSU3hEUVVGRExHRkJRV0VzUjBGQlJ5eFhRVUZYTEVkQlFVY3NTVUZCU1VVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJVUXNSVUZCUlN4RlFVRkZMRk5CUVZOSExFVkJRVVVzUTBGQlF5eFBRVUZQTEdWQlFXVkJMRVZCUVVVc1lVRkJZU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlVnc1JVRkJSU3hGUVVGRkxGTkJRVk5ITEVWQlFVVXNRMEZCUXl4SlFVRkpTaXhGUVVGRlNTeEhRVUZIUVN4RlFVRkZMRmRCUVZjc1ZVRkJWU3hEUVVGRExFOUJRVTlCTEVWQlFVVXNUMEZCVHl4RlFVRkZMRlZCUVZVc1EwRkJReXhQUVVGUFFTeERRVUZETEVWQlFVVXNUMEZCVDBnc1JVRkJSU3hGUVVGRlJDeEZRVUZGTEVsQlFVbEJMRU5CUVVNc1JVRkJSVUVzUTBGQlF5eEZRVUZGUXl4RlFVRkZMRVZCUVVVc1UwRkJVMGNzUlVGQlJVb3NSVUZCUlN4RFFVRkRMRTlCUVU4c1QwRkJUeXhWUVVGVkxHVkJRV1VzUzBGQlMwa3NSVUZCUlVvc1EwRkJReXhEUVVGRExFVkJRVVZETEVWQlFVVXNSVUZCUlN4SFFVRkhRU3hGUVVGRlFTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhUUVVGVExFVkJRVVZFTEVWQlFVVkRMRVZCUVVVc1EwRkJReXhoUVVGaExGTkJRVk5ETEVWQlFVVkZMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVVzWjBKQlFXZENSaXhIUVVGSExFOUJRVThzU1VGQlNVRXNSVUZCUlVVc1EwRkJReXhGUVVGRkxFdEJRVXNzUlVGQlJVRXNRMEZCUXl4RFFVRkRMRWxCUVVsRUxFVkJRVVZFTEVWQlFVVXNWVUZCVlN4VFFVRlRSeXhGUVVGRlJDeEZRVUZGU2l4RlFVRkZMRU5CUVVNc1VVRkJVVU1zUlVGQlJTeEZRVUZGUVN4RlFVRkZSeXhGUVVGRlNDeEpRVUZKUkN4RlFVRkZReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUU3l4RlFVRkZSaXhGUVVGRlNpeEZRVUZGUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhUUVVGVFJ5eEZRVUZGU2l4RlFVRkZMRU5CUVVOTExFVkJRVVZNTEVWQlFVVXNUMEZCVHl4VFFVRlRReXhGUVVGRkxFTkJRVU5ITEVWQlFVVktMRVZCUVVWRExFTkJRVU1zUlVGQlJVRXNSVUZCUlVRc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEZOQlFWTkRMRVZCUVVWRExFVkJRVVZETEVWQlFVVXNRMEZCUTBnc1JVRkJSVWtzUlVGQlJVb3NSVUZCUlVNc1JVRkJSVU1zUlVGQlJVTXNRMEZCUXl4RFFVRkRMRVZCUVVWR0xFTkJRVU1zUlVGQlJVUXNRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSVWtzUlVGQlJVb3NSVUZCUlN4RFFVRkRMRTlCUVU5TkxFVkJRVVVzVTBGQlUwNHNSVUZCUlVNc1JVRkJSVU1zUlVGQlJVTXNSVUZCUlN4RFFVRkRMRTlCUVU5SUxFVkJRVVVzVDBGQlR5eERRVUZEU1N4RlFVRkZTQ3hGUVVGRlF5eEZRVUZGUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGU0N4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVFR5eEZRVUZGU0N4RlFVRkZTaXhGUVVGRkxFTkJRVU1zU1VGQlNVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hKUVVGSlJDeERRVUZETEVWQlFVVXNUMEZCVDBzc1JVRkJSVVFzUlVGQlJTeFZRVUZWTEVOQlFVTXNTVUZCU1VFc1JVRkJSVWdzUlVGQlJTeERRVUZETEVWQlFVVkJMRVZCUVVVc1IwRkJSeXhIUVVGSFJ5eEZRVUZGU0N4RlFVRkZMRWxCUVVsSExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NTVUZCU1N4VFFVRlRRU3hGUVVGRkxFTkJRVU1zU1VGQlNVb3NSVUZCUlUwc1JVRkJSU3hUUVVGVFJpeEZRVUZGU2l4RlFVRkZReXhIUVVGRlF5eEhRVUZGTEVOQlFVTXNUMEZCVDBVc1JVRkJSU3hQUVVGUFNDeExRVUZKUXl4SFFVRkZMRTlCUVU4c1JVRkJSU3hQUVVGUExFdEJRVXNzUTBGQlEwWXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hoUVVGaExFTkJRVU1zUlVGQlJVVXNSMEZCUlN4aFFVRmhSQ3hGUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlVjc1EwRkJReXhGUVVGRkxFOUJRVThzVDBGQlR5eExRVUZMTEVWQlFVVXNVMEZCVTBFc1JVRkJSU3hEUVVGRExFOUJRVTlCTEVkQlFVY3NSVUZCUlN4UlFVRlJMRU5CUVVNc1JVRkJSVW9zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlVNc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVkJMRU5CUVVNc1EwRkJReXhUUVVGVFR5eEhRVUZITEVOQlFVTXNUMEZCYlVJc1QwRkJUeXhSUVVGd1FpeFhRVUV3UWl4RFFVRkRMRk5CUVZORExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTkVMRVZCUVVVc1JVRkJSU3hOUVVGTkxFbEJRVWtzVFVGQlRTd3JSa0ZCSzBZc1EwRkJReXhEUVVGRExGTkJRVk5GTEVWQlFVVk9MRVZCUVVVc1EwRkJRMHNzUlVGQlJTeEZRVUZGTEVsQlFVbFVMRVZCUVVWTkxFVkJRVVVzVTBGQlUwWXNSVUZCUlVvc1JVRkJSU3hEUVVGRExFOUJRVTlKTEVWQlFVVktMRU5CUVVNc1JVRkJSU3hGUVVGRlNTeERRVUZETEVWQlFVVXNSMEZCUjBvc1JVRkJSU3hIUVVGSExFVkJRVVVzVFVGQlRTeEpRVUZKTEUxQlFVMHNZVUZCWVVrc1JVRkJSU3hMUVVGTExFbEJRVWtzUlVGQlJTeGxRVUZsU2l4RlFVRkZMREpGUVVFeVJTeEZRVUZGTEVsQlFVbERMRVZCUVVWRkxFVkJRVVZJTEVWQlFVVXNSVUZCUlVzc1IwRkJSMG9zUlVGQlJTeFRRVUZUUnl4RlFVRkZMRU5CUVVNc1QwRkJUMEVzUlVGQlJTeEZRVUZGTEVWQlFVVkZMRVZCUVVVc1UwRkJVMFlzUlVGQlJVb3NSVUZCUlN4RFFVRkRMRTlCUVU5SkxFbEJRVWxJTEVWQlFVVkVMRU5CUVVNc1JVRkJSVUVzUlVGQlJVa3NSVUZCUlN4RlFVRkZMRXRCUVV0QkxFTkJRVU1zUjBGQlJ5eEhRVUZIUXl4RlFVRkZMRTFCUVUwc1NVRkJTU3hOUVVGTlFTeEZRVUZGTERCRVFVRXdSQ3hGUVVGRkxFOUJRVThzU1VGQlNVZ3NSVUZCUlN4VFFVRlRSaXhGUVVGRlF5eEZRVUZGTEVOQlFVTXNTVUZCU1VNc1JVRkJSVU1zUlVGQlJVWXNSVUZCUlN4UFFVRlBReXhGUVVGRlJpeEZRVUZGTEU5QlFVOVhMRVZCUVVWV0xFVkJRVVZGTEVWQlFVVXNVMEZCVXl4RlFVRkZMRkZCUVZFc1JVRkJSVk1zUlVGQlJWWXNSVUZCUlVrc1JVRkJSU3hUUVVGVFJpeEhRVUZGU2l4SFFVRkZMRU5CUVVNc1NVRkJTVU1zUjBGQlJVMHNSVUZCUlZBc1IwRkJSVWtzUjBGQlJTeEhRVUZITEVWQlFVVXNUVUZCVFN4RFFVRkRMRXRCUVV0QkxFZEJRVVVzUzBGQlN5eFBRVUZQU0N4SFFVRkZMRU5CUVVNc1JVRkJSU3hKUVVGSlFTeEhRVUZGTEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzU1VGQlNVUXNSVUZCUlN4TlFVRk5ReXhGUVVGRlF5eERRVUZETEVOQlFVTXNSVUZCUlVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRVeXhGUVVGRlZDeEZRVUZGU2l4RlFVRkZMRU5CUVVNc1QwRkJUeXhKUVVGSlJTeEZRVUZGTEZOQlFWTkVMRVZCUVVWRExFVkJRVVVzUTBGQlF5eFBRVUZQVHl4RlFVRkZMRVZCUVVWUUxFVkJRVVZHTEVWQlFVVkRMRVZCUVVVc1QwRkJUMVVzUlVGQlJWUXNSVUZCUlVZc1JVRkJSU3hqUVVGalNTeERRVUZETEVWQlFVVlJMRVZCUVVWV0xFVkJRVVZHTEVWQlFVVkRMRVZCUVVVc1RVRkJUVU1zUlVGQlJVRXNSVUZCUlVZc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVTJNc1JVRkJSVllzUlVGQlJVb3NSVUZCUlN4RFFVRkRMRWRCUVdFc1QwRkJUME1zUlVGQlJVUXNTVUZCYmtJc1ZVRkJkVUlzUzBGQlN5eE5RVUZOUXl4RFFVRkRMRWxCUVVsQkxFZEJRVWRFTEVWQlFVVXNSMEZCUjBFc1JVRkJSU3hGUVVGRkxFMUJRVTBzU1VGQlNTeE5RVUZOU1N4RlFVRkZMREpEUVVFeVF5eEZRVUZGTEVsQlFVbElMRU5CUVVNc1EwRkJReXhUUVVGVFl5eEZRVUZGV0N4RlFVRkZMRU5CUVVNc1QwRkJUMVVzUlVGQlJTeFRRVUZUVml4RFFVRkRMRVZCUVVWVExFVkJRVVVzVlVGQlZWUXNSVUZCUlN4SlFVRkpRU3hEUVVGRExFVkJRVVVzU1VGQlNTeFRRVUZUU2l4RlFVRkZMRU5CUVVNc1QwRkJUMEVzUlVGQlJTeFhRVUZYTEVWQlFVVkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUV1N4RlFVRkZXaXhGUVVGRkxFTkJRVU1zVDBGQlQxVXNSVUZCUlN4VFFVRlRWaXhEUVVGRExFVkJRVVZUTEVWQlFVVXNWVUZCVlZRc1JVRkJSU3hKUVVGSlFTeERRVUZETEVWQlFVVXNTVUZCU1N4VFFVRlRTaXhGUVVGRkxFTkJRVU1zVDBGQlQwRXNSVUZCUlN4WFFVRlhMRVZCUVVWSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRZU3hGUVVGRllpeEZRVUZGTEVOQlFVTXNUMEZCVDFVc1JVRkJSU3hSUVVGUlZpeERRVUZETEVWQlFVVlRMRVZCUVVVc1UwRkJVMVFzUlVGQlJTeEpRVUZKUVN4RFFVRkRMRVZCUVVVc1NVRkJTU3hUUVVGVFNpeEZRVUZGTEVOQlFVTXNUMEZCVDBFc1JVRkJSU3hWUVVGVkxFVkJRVVZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVFl5eEZRVUZGWkN4RlFVRkZMRU5CUVVNc1QwRkJUMVVzUlVGQlJTeFJRVUZSVml4RFFVRkRMRVZCUVVWVExFVkJRVVVzVTBGQlUxUXNSVUZCUlN4SlFVRkpRU3hEUVVGRExFVkJRVVVzU1VGQlNTeFRRVUZUU2l4RlFVRkZMRU5CUVVNc1QwRkJUMEVzUlVGQlJTeFZRVUZWTEVWQlFVVkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUWlN4RlFVRkZaaXhGUVVGRkxFTkJRVU1zVDBGQlQwRXNZVUZCWVVZc1EwRkJReXhEUVVGRExGTkJRVk5yUWl4RlFVRkZhRUlzUlVGQlJTeERRVUZETEUxQlFYbENMRU5CUVVNc1JVRkJSU3hUUVVGVExFdEJRVXRCTEVOQlFVTXNTVUZCY2tNc1owSkJRWE5ETEVOQlFVTXNVMEZCVTJsQ0xFVkJRVVZxUWl4RlFVRkZMRU5CUVVNc1QwRkJUMGtzUlVGQlJTeEhRVUZITEU5QlFVOHNVMEZCVTBvc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlUxRXNSVUZCUlZJc1JVRkJSVW9zUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXl4UFFVRlBMRWRCUVVjc1RVRkJUVWtzUlVGQlJTeE5RVUZOU2l4RlFVRkZMRk5CUVZNc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVTFjc1JVRkJSVkFzUlVGQlJVb3NSVUZCUlN4RFFVRkRMRTlCUVU5dlFpeEZRVUZGY0VJc1EwRkJReXhKUVVGSlFTeEZRVUZGTEVOQlFVTkJMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUjBGQlJ5eE5RVUZOTEVkQlFVY3NUVUZCVFN4TFFVRkxMRk5CUVZOSkxFVkJRVVVzVTBGQlUwb3NRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVM05DTEVWQlFVVnNRaXhGUVVGRlNpeEZRVUZGTEVOQlFXZENMRWRCUVZvc1EwRkJRMEVzUjBGQlkwa3NSVUZCUlN4VFFVRlRTaXhGUVVGRkxGTkJRVk1zVDBGQlQwa3NSVUZCUlN4SlFVRkpTQ3hGUVVGRlJ5eEZRVUZGTEZkQlFWZEtMRVZCUVVVc1UwRkJVeXhUUVVGVFNTeEZRVUZGU2l4RlFVRkZMRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zUjBGQldVVXNSVUZCUlN4bFFVRllMRTlCUVhkQ0xFOUJRVTlCTEVWQlFVVXNZVUZCWVN4SlFVRkpSU3hIUVVGbExFOUJRVThzUzBGQmNFSXNXVUZCZDBJc1QwRkJUMFlzUlVGQlJTeGhRVUZoUlN4SFFVRkZRU3hGUVVGRExFVkJRVVVzUjBGQlJ5eE5RVUZOTEV0QlFVc3NRMEZCUXl4UlFVRlJTQ3hGUVVGRkxFbEJRVWtzU1VGQlNVY3NRMEZCUXl4RlFVRkZSQ3hGUVVGRkxFVkJRVVZCTEVWQlFVVklMRVZCUVVVc1QwRkJUMGNzU1VGQlNVWXNSVUZCUlN4SlFVRkpSQ3hGUVVGRlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpSU3hGUVVGRkxFMUJRVTBzUzBGQlMwb3NRMEZCUXl4RlFVRkZMRTlCUVU5SkxFVkJRVVVzUzBGQlN5eEZRVUZGUVN4RFFVRkRMRU5CUVVNc1VVRkJVVU1zUjBGQlJTeERRVUZETEVWQlFVVnBRaXhIUVVGRkxFVkJRVVZCTEVkQlFVVnVRaXhGUVVGRkxFOUJRVTl0UWl4TFFVRkpha0lzUjBGQlJVWXNSVUZCUlcxQ0xFVkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NVVUZCVVdoQ0xFZEJRVVVzUlVGQlJVRXNSMEZCUlZBc1JVRkJSU3hQUVVGUFR5eExRVUZKUkN4SFFVRkZUaXhGUVVGRlR5eEZRVUZETEVOQlFVTXNSVUZCUlN4SFFVRkhMRWxCUVVsRExFZEJRVVVzUTBGQlF5eEZRVUZGTEZGQlFWRkRMRTFCUVV0SUxFbEJRVWNzUTBGQlF5eEhRVUZITEdWQlFXVXNTMEZCUzBFc1IwRkJSVWNzUlVGQlF5eEhRVUZIUkN4SFFVRkZMRXRCUVV0RExFVkJRVU1zUlVGQlJTeFBRVUZQUkN4SFFVRkZMRXRCUVVzc1JVRkJSVUVzUlVGQlF5eEZRVUZGU2l4RlFVRkZMRk5CUVZOS0xFVkJRVVVzVVVGQlVTeEZRVUZGUVN4RlFVRkZMRk5CUVZNc1RVRkJUU3hEUVVGRExFOUJRVTlKTEVWQlFVVXNUMEZCVHl4TlFVRk5RU3hGUVVGRkxFMUJRVTBzVFVGQlRVRXNSVUZCUlN4TlFVRk5MRk5CUVZOS0xFVkJRVVVzVTBGQlV5eFRRVUZUUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSmRVSXNSVUZCUlN4RFFVRkRMRVZCUVVVc1UwRkJVME1zUlVGQlJYSkNMRVZCUVVWS0xFVkJRVVVzUTBGQlF5eEhRVUZIY1VJc1JVRkJSV3BDTEVOQlFVTXNSVUZCUlN4TlFVRk5MRU5CUVVNc1QwRkJUMG9zUlVGQlJTeExRVUZMTEVkQlFVY3NUMEZCVHl4RlFVRkZMRVZCUVVWSkxFdEJRVXR2UWl4SlFVRkpRU3hGUVVGRmNFSXNRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhSUVVGUlNDeEZRVUZGZFVJc1JVRkJSWEJDTEVOQlFVTXNSVUZCUlVZc1JVRkJSU3hGUVVGRlF5eEZRVUZGTEVWQlFVVkZMRVZCUVVVc1JVRkJSVU1zUlVGQlJVNHNSVUZCUlUwc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlIwRXNTMEZCUzB3c1JVRkJSU3hEUVVGRFF5eEZRVUZGUkN4RlFVRkZTeXhEUVVGRExFVkJRVVVzUzBGQlUwUXNTVUZCU2l4SlFVRlJRU3hGUVVGRlNpeEZRVUZGU3l4RFFVRkRMRVZCUVVVc1YwRkJWeXhMUVVGTExFVkJRVk5HTEVWQlFVVXNUMEZCVDBVc1EwRkJReXhKUVVGcVFqdEJRVUZCTEVkQlFUSkNSaXhGUVVGRkxFOUJRVTlGTEVOQlFVTXNTVUZCYWtJc1RVRkJNa0pHTEVWQlFVVXNUMEZCVDBVc1JVRkJSU3hEUVVGRExFbEJRVzVDTzBGQlFVRXNTMEZCZDBKSUxFbEJRVkZGTEVsQlFVb3NTVUZCVVVFc1JVRkJSVU1zUlVGQlJTeEpRVUZKUVN4SFFVRkhMRU5CUVVNc1NVRkJTV2xDTEVWQlFVVnlRaXhGUVVGRlF5eEZRVUZGU1N4SFFVRkZVQ3hGUVVGRlN5eEZRVUZGTEU5QlFVOUtMRVZCUVVWRUxFTkJRVU1zUlVGQlJTeERRVUZETEV0QlFVdDFRaXhGUVVGRkxGVkJRVlZzUWl4RFFVRkRMRVZCUVVVc1EwRkJReXhQUVVGUFRDeEZRVUZGTEV0QlFVdDFRaXhGUVVGRkxFVkJRVVVzVDBGQlQyaENMRWRCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlUyMUNMRVZCUVVWMFFpeEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRaU3hGUVVGRlppeERRVUZETEVWQlFVVXNUVUZCVFN4SlFVRkpMRTFCUVUwc2FVSkJRV2xDUVN4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVGRVSXNSVUZCUlhaQ0xFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRm5RaXhQUVVGUFNTeEhRVUZxUWl4VFFVRnRRa0VzUlVGQlJTeFBRVUZQU2l4RFFVRkRMRVZCUVVWSkxFVkJRVVZLTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNMFFpeEhRVUZGZUVJc1JVRkJSU3hEUVVGRExFZEJRV0VzVDBGQlQwRXNSMEZCYWtJc1UwRkJiVUlzVFVGQlRTeEpRVUZKTEUxQlFVMHNhVUpCUVdsQ1FTeERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRlVUlzUjBGQlJYcENMRVZCUVVVc1EwRkJReXhIUVVGbExFOUJRVTlCTEVkQlFXNUNMRmRCUVhGQ0xFMUJRVTBzU1VGQlNTeE5RVUZOTEcxQ1FVRnRRa0VzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXpCQ0xFVkJRVVV4UWl4RlFVRkZMRU5CUVVNc1IwRkJZU3hQUVVGUFFTeEhRVUZxUWl4VFFVRnRRaXhOUVVGTkxFbEJRVWtzVFVGQlRTeHBRa0ZCYVVKQkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3lRaXhGUVVGRkxFVkJRVVZETEVWQlFVVXNSVUZCUlVNc1IwRkJSU3hGUVVGRlF5eEhRVUZGTEVWQlFVVkVMRWRCUVVWRkxFZEJRVVVzUlVGQlJVWXNSMEZCUlVjc1IwRkJSU3hMUVVGTExGTkJRVk5ETEVkQlFVVnFReXhGUVVGRlNpeEZRVUZGTEVOQlFVTXNUMEZCVHl4SlFVRkpMRTFCUVUxQkxFVkJRVVVzUTBGQlF5eEZRVUZGTEV0QlFVdEpMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk5yUXl4SFFVRkZiRU1zUlVGQlJVb3NSVUZCUlVNc1JVRkJSU3hEUVVGRExFbEJRVWxETEVWQlFVVkdMRVZCUVVWSkxFVkJRVVVzVDBGQlR5eFBRVUZQUml4SFFVRkhMRVZCUVVWRkxFVkJRVVZwUXl4SFFVRkZjRU1zUlVGQlJVTXNRMEZCUXl4RlFVRkZSU3hEUVVGRExFTkJRVU1zVTBGQlUyMURMRWRCUVVWdVF5eEZRVUZGU2l4RlFVRkZReXhGUVVGRlF5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVV0RkxFVkJRVVZLTEVWQlFVVXNSVUZCUlVrc1JVRkJSVW9zUlVGQlJTeEZRVUZGTEVkQlFVZEpMRVZCUVVWSUxFVkJRVVZETEVWQlFVVkJMRVZCUVVWRkxFVkJRVVZJTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZOMVF5eEhRVUZGY0VNc1JVRkJSVW9zUlVGQlJTeERRVUZETEVsQlFVbERMRVZCUVVWRExFVkJRVVZETEVWQlFVVkZMRVZCUVVWRkxFVkJRVVZETEVWQlFVVlNMRVZCUVVVc1RVRkJUVk1zUjBGQlJVUXNSVUZCUlN4UFFVRlBSU3hIUVVGRkxFVkJRVVVzUjBGQlIwUXNTMEZCU1V3c1JVRkJSU3hQUVVGUExFMUJRVTBzTWtKQlFUSkNMRWRCUVVkcFFpeEZRVUZGYWtJc1EwRkJReXhGUVVGRkxFTkJRVU1zU1VGQlNWTXNSMEZCUlVvc1IwRkJSVUVzUjBGQlJYZENMRWRCUVVWdVFpeEhRVUZGVEN4SFFVRkZTU3hIUVVGRlJTeEhRVUZGZDBJc1IwRkJSVEZDTEVkQlFVVnhRaXhIUVVGRlF5eEhRVUZGUml4SFFVRkZOMElzUlVGQlJTeE5RVUZOTEVWQlFVVlpMRWRCUVVVc1JVRkJSU3hUUVVGVFdpeEhRVUZGTEVOQlFVTXNUMEZCVHl4RlFVRkZMRk5CUVZOQkxFZEJRVVVzUTBGQlF5eFBRVUZQYTBNc1IwRkJSV3hETEVkQlFVVXNVMEZCVXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJVRXNSVUZCUXl4RFFVRkRMRVZCUVVVc1UwRkJVMEVzUjBGQlJVb3NSMEZCUlN4RFFVRkRMRWxCUVVsRExFZEJRVVZITEVkQlFVVXNUMEZCVDBZc1IwRkJSU3hEUVVGRExFVkJRVVZETEVkQlFVVXNSVUZCUlN4SFFVRkhSaXhKUVVGSFJDeEhRVUZGTEUxQlFVMHNRMEZCUTBrc1IwRkJSU3hOUVVGTkxFTkJRVU1zUlVGQlJTeFJRVUZSUXl4SFFVRkZMRVZCUVVWQkxFZEJRVVZLTEVkQlFVVkpMRXRCUVVsSUxFZEJRVVZETEVWQlFVTXNSMEZCUjBRc1IwRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF5eEZRVUZGUVN4SFFVRkZReXhGUVVGRExFVkJRVVVzUzBGQlMwTXNSMEZCUlVNc1JVRkJReXhEUVVGRExFZEJRVWRCTEVkQlFVVXNSMEZCUjB3c1NVRkJSeXhIUVVGSFJ5eExRVUZKTEU5QlFVOUVMRVZCUVVNc1JVRkJSVVVzUlVGQlJTeE5RVUZOVnl4SFFVRkZMRXRCUVV0QkxFZEJRVVVzUlVGQlJTeEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxhMElzUlVGQlF5eERRVUZETEVWQlFVVTFRaXhGUVVGRkxGTkJRVk5FTEVkQlFVVXNRMEZCUXl4UFFVRlhRU3hIUVVGRkxFOUJRVTRzUjBGQlowSkJMRWRCUVVVc1MwRkJUaXhGUVVGVExFTkJRVU1zUzBGQlMwRXNSMEZCUlN4TFFVRkxMRWRCUVVkQkxFZEJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNTMEZCUzBFc1IwRkJSU3hMUVVGTE5rSXNSMEZCUlN4SFFVRkhMRXRCUVVzc1RVRkJUVGRDTEVkQlFVVXNSMEZCUnpaQ0xFVkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVnNRaXhGUVVGRExFVkJRVVZpTEVWQlFVVlhMRWRCUVVWdlFpeEhRVUZGYUVNc1JVRkJSU3hGUVVGRllTeEhRVUZGUVN4SlFVRkhMRWxCUVVsaUxFZEJRVWNzUjBGQlIxTXNSMEZCUlN4RlFVRkZVQ3hGUVVGRkxFVkJRVVVzVTBGQlUwTXNSMEZCUlN4RFFVRkRMRTlCUVU5QkxFZEJRVVVzVVVGQlVTeEZRVUZGUVN4SFFVRkZMRXRCUVVzc1IwRkJSeXhGUVVGRlFTeEhRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1MwRkJTeXhIUVVGSExFVkJRVVVzUzBGQlMwRXNSMEZCUlN4TlFVRk5MRU5CUVVNc1JVRkJSU3hMUVVGTExFZEJRVWNzUTBGQlF5eEZRVUZGV1N4RlFVRkRMRWRCUVVkVUxFZEJRVWNzUjBGQlIwWXNSVUZCUlN4SFFVRkhMRVZCUVVWQkxFVkJRVVVzUjBGQlJ5eEZRVUZGUVN4RlFVRkZMRXRCUVVzc1UwRkJVeXhGUVVGRkxFVkJRVVVzVVVGQlVTeEpRVUZKUlN4RlFVRkZMRVZCUVVVc1MwRkJTeXhEUVVGRExFbEJRVWxWTEVkQlFVVmlMRVZCUVVVc1RVRkJUU3g1UWtGQmVVSXNSVUZCUlVnc1JVRkJSVThzUlVGQlJTeFBRVUZQTEVWQlFVVk9MRVZCUVVWTkxFVkJRVVVzUzBGQlN5eEZRVUZGU0N4RlFVRkZhME1zUjBGQlJYSkRMRVZCUVVVMlFpeEZRVUZGUXl4RlFVRkZaaXhIUVVGRkxFMUJRVTBzUlVGQlJXUXNSVUZCUldNc1IwRkJSU3hOUVVGTldpeEZRVUZGTEV0QlFVdEJMRVZCUVVVc1JVRkJSU3hGUVVGRlJTeEZRVUZGUml4RlFVRkZMRWRCUVVjc1UwRkJVeXhGUVVGRkxFMUJRVTBzUTBGQlF5eEpRVUZKWVN4SFFVRkZhRUlzUlVGQlJVY3NSVUZCUlN4TFFVRkxMRTlCUVU5blFpeEZRVUZGYWtJc1EwRkJReXhKUVVGSlJ5eEhRVUZITEVkQlFVZEdMRVZCUVVVc1IwRkJSeXhGUVVGRlFTeEZRVUZGTEVkQlFVY3NSVUZCUlVFc1JVRkJSU3hMUVVGTExGTkJRVk1zUlVGQlJTeEZRVUZGTEZGQlFWRXNTVUZCU1VVc1JVRkJSU3hIUVVGSFJDeEZRVUZGTEZOQlFWTk9MRWRCUVVWRkxFZEJRVVZETEVkQlFVVXNRMEZCUXl4SlFVRkpSeXhIUVVGRmFVSXNSMEZCUlhCQ0xFdEJRVWxsTEVkQlFVVldMRWRCUVVWbExFZEJRVVVzUzBGQlMyRXNSMEZCUlN4UFFVRlBPVUlzUjBGQlJXVXNSVUZCUldwQ0xFTkJRVU1zUlVGQlJXdERMRWxCUVVjc1IwRkJSMnBETEVWQlFVVXNTMEZCUzBZc1MwRkJTU3hUUVVGVExFVkJRVVVzUlVGQlJVa3NSVUZCUlN4SFFVRkhMRVZCUVVVclFpeEpRVUZIYWtNc1JVRkJSU3hMUVVGTFJpeEhRVUZGTEVkQlFVY3NVMEZCVXl4RlFVRkZTU3hGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNUMEZCVDFBc1IwRkJSU3hEUVVGRFVTeEhRVUZGUml4SFFVRkZMRTFCUVUxS0xFVkJRVU1zUlVGQlJYRkNMRWRCUVVVc1EwRkJRMkVzUjBGQlJVTXNSMEZCUlN4SlFVRkpPVUlzUTBGQlF5eEZRVUZGTEUxQlFVMHJRaXhIUVVGRkxFZEJRVWR5UXl4RlFVRkZMRWRCUVVjc1JVRkJSVzlETEVkQlFVVXNTVUZCU1ROQ0xFVkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRlVDeERRVUZETEVWQlFVVXNTMEZCU3p0QlFVRkJMRU5CUVVrc1EwRkJReXhEUVVGRExGTkJRVk56UXl4SFFVRkZja01zUlVGQlJVb3NSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJRenRCUVVGQkxFVkJRVXNzY1VKQlFYRkNjVU1zUjBGQlJTeEpRVUZKTEVWQlFVVXNSVUZCUlR0QlFVRkJPMEZCUVVFc1JVRkJUMGNzUjBGQlJYQkRMRVZCUVVWS0xFTkJRVU1zUlVGQlJUdEJRVUZCTzBGQlFVRXNSMEZCVVVNc1JVRkJSVVFzUlVGQlJTeFRRVUZoUXl4RlFVRkZMRk5CUVU0c1JVRkJZVHRCUVVGQk8wRkJRVUVzUlVGQlowSkJMRVZCUVVVc1EwRkJReXhGUVVGRk8wRkJRVUU3UVVGQlFTeEZRVUZ6UTBFc1JVRkJSU3hMUVVGTExFbEJRVWtzUjBGQlJ6dEJRVUZCTEVOQlFVa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1JVRkJSU3hKUVVGSlFTeERRVUZETEVOQlFVTXNVMEZCVTNsRExFZEJRVVYwUXl4RlFVRkZMRU5CUVVNc1QwRkJaMEpCTEVWQlFVVXNVVUZCV0N4UFFVRnBRa0VzUlVGQlJTeE5RVUZOTEVOQlFVTkJMRVZCUVVVc1QwRkJUeXhKUVVGSkxFZEJRVWRCTEVWQlFVVXNWMEZCVnl4SlFVRkpMRWRCUVVkQkxFVkJRVVVzVlVGQlZTeEpRVUZKTEVkQlFVZEJMRVZCUVVVc1VVRkJVU3hKUVVGSkxFZEJRVWRCTEVWQlFVVXNUMEZCVHl4SlFVRkpMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZETEZOQlFWTjFReXhKUVVGSExFTkJRVU1zVVVGQlVYWkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFMUJRVTBzUzBGQlN5eFRRVUZUTEVWQlFVVktMRVZCUVVWSkxFVkJRVVVzVDBGQlQwZ3NSVUZCUlN4RlFVRkZRU3hGUVVGRlJDeEZRVUZGUXl4SFFVRkhMRVZCUVVWNVFpeEZRVUZGZEVJc1JVRkJSVWdzUTBGQlF5eERRVUZETEVWQlFVVXNUMEZCVDBNc1JVRkJSU3hUUVVGVFJDeEZRVUZGUXl4RlFVRkZMRU5CUVVNc1VVRkJVVU1zUlVGQlJVVXNSVUZCUlN4SlFVRkpMRTFCUVUxTUxFTkJRVU1zUlVGQlJVMHNSVUZCUlN4RlFVRkZRU3hGUVVGRlRpeEZRVUZGVFN4SFFVRkhMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVZJTEVWQlFVVnRRaXhGUVVGRmJFSXNSVUZCUlVVc1EwRkJReXhGUVVGRkxFVkJRVVZNTEVWQlFVVkRMRU5CUVVNc1JVRkJSVU1zUTBGQlF5eEhRVUZITEU5QlFVOHNUMEZCVDBFc1JVRkJSVVVzUlVGQlJVTXNRMEZCUXl4RlFVRkZTQ3hGUVVGRkxFMUJRVTFFTEVWQlFVVkRMRVZCUVVVc1MwRkJTeXhEUVVGRExFOUJRVTl0UWl4RlFVRkZWaXhGUVVGRlZpeEZRVUZGUnl4RFFVRkRMRVZCUVVWR0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRlVU1zU1VGQlJ5eERRVUZETEVsQlFVbDRReXhGUVVGRkxFTkJRVU1zUlVGQlJTeE5RVUZOTEV0QlFVc3NVMEZCVXl4RlFVRkZMRWRCUVU5QkxFVkJRVVVzVTBGQlRpeEZRVUZoTEUxQlFVMHNTVUZCU1N4TlFVRk5MRzlEUVVGdlF5eEZRVUZGTEVsQlFVbEtMRVZCUVVWSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEU5QlFVOTVRaXhIUVVGRk4wSXNRMEZCUXl4RlFVRkZNa01zUjBGQlJTeE5RVUZOTEV0QlFVdDJReXhEUVVGRExFVkJRVVVzU1VGQlNTeFRRVUZUUVN4RlFVRkZMRU5CUVVNc1QwRkJUMG9zUlVGQlJTeE5RVUZOTEV0QlFVdEpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUZVVNc1NVRkJSeXhEUVVGRExFbEJRVWw2UXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hOUVVGTkxFdEJRVXNzVTBGQlV5eEZRVUZGU2l4RlFVRkZTU3hGUVVGRkxFOUJRVThzUjBGQlQwb3NTVUZCU2l4RlFVRk5MRTlCUVU4NFF5eEhRVUZGTEdsQ1FVRnBRaXhGUVVGRkxGRkJRVkUzUXl4RlFVRkZMRVZCUVVWQkxFVkJRVVZFTEVWQlFVVkRMRWRCUVVjc1JVRkJSWGxDTEVWQlFVVjBRaXhGUVVGRlNDeERRVUZETEVOQlFVTXNSVUZCUlN4UFFVRlBReXhGUVVGRkxGTkJRVk5HTEVWQlFVVkRMRVZCUVVVc1EwRkJReXhSUVVGUlF5eEZRVUZGUXl4RlFVRkZMRVZCUVVWQkxFVkJRVVZETEVWQlFVVXNUMEZCVDBRc1IwRkJSeXhGUVVGRkxFbEJRVWxFTEVWQlFVVnZRaXhGUVVGRmJFSXNSVUZCUlVRc1EwRkJReXhGUVVGRkxFVkJRVVZJTEVWQlFVVkRMRU5CUVVNc1JVRkJSVU1zUTBGQlF5eEhRVUZITEU5QlFVOHNUMEZCVDBFc1JVRkJSU3hQUVVGUFFTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNMlF5eEhRVUZGTTBNc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFVOW5SQ3hIUVVGRk5VTXNSVUZCUlVvc1EwRkJReXhGUVVGRkxFZEJRVWRwUkN4SFFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUUkN4SFFVRkZOVU1zUlVGQlJVb3NSVUZCUlN4RFFVRkRMRTlCUVU4d1FpeEZRVUZGZEVJc1EwRkJReXhGUVVGRmMwSXNSVUZCUlRGQ0xFTkJRVU1zUlVGQlJUUkRMRWRCUVVWNFF5eEZRVUZGU2l4RlFVRkZMRXRCUVV0SkxFTkJRVU1zUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVTBFc1JVRkJSVW9zUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUTBrc1EwRkJReXhGUVVGRkxFOUJRVTlLTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVGEwUXNSMEZCUlRsRExFVkJRVVVzUTBGQlF6QkNMRVZCUVVVeFFpeERRVUZETEVWQlFVVXNTVUZCU1Vvc1JVRkJSU3hKUVVGSlNTeEZRVUZGTEVsQlFVa3NUMEZCVDBZc1JVRkJSU3hUUVVGVFJDeEZRVUZGUXl4RlFVRkZMRU5CUVVNc1NVRkJTVU1zUlVGQlJVUXNSVUZCUlVVc1JVRkJSU3hQUVVGUFF5eEZRVUZGU2l4RlFVRkZMRTFCUVUxRExFVkJRVVZETEVOQlFVTXNSVUZCUlN4UFFVRlBSU3hKUVVGSlJDeEZRVUZGVVN4RlFVRkZWQ3hGUVVGRlJTeERRVUZETEVWQlFVVk5MRVZCUVVWVUxFVkJRVVZHTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVGJVUXNSMEZCUlM5RExFVkJRVVZLTEVWQlFVVXNSVUZCUlN4VFFVRlRTU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eEZRVUZGUVN4aFFVRmhMRkZCUVZFc1RVRkJUU3hKUVVGSkxFMUJRVTBzYVVKQlFXbENRU3hEUVVGRExFVkJRVVVzVVVGQlVVb3NSVUZCUlRCRExFZEJRVVYwUXl4RFFVRkRMRVZCUVVWSUxFVkJRVVVzUlVGQlJVRXNSVUZCUlVRc1JVRkJSU3hQUVVGUFF5eEpRVUZKTEVOQlFVTXNTVUZCU1VNc1JVRkJSVVlzUlVGQlJTeFBRVUZQUXl4RFFVRkRMRVZCUVVVc1IwRkJVME1zU1VGQlRpeExRVUZsUVN4SlFVRk9MRXRCUVdWQkxFbEJRVTRzUzBGQlpVRXNTVUZCVGl4SlFVRlJMRTFCUVUwc1NVRkJTU3hOUVVGTkxEUkNRVUUwUWtFc1JVRkJSU3hOUVVGTlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkZRU3hEUVVGRExFVkJRVVVzVlVGQlZTeFJRVUZSTEVWQlFVVjNRaXhIUVVGRk5VSXNRMEZCUXl4RlFVRkZRU3hGUVVGRkxFVkJRVVVzU1VGQlNVTXNSVUZCUlN4VFFVRlRSeXhGUVVGRkxFTkJRVU1zVDBGQlR5eFBRVUZQTEU5QlFVOUJMRVZCUVVVc1QwRkJUeXhKUVVGSmMwTXNSMEZCUlhSRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVkJMRU5CUVVNc1JVRkJSVVFzUlVGQlJTeEhRVUZIUXl4RlFVRkZMRTlCUVU5R0xFVkJRVVVzVTBGQlUwVXNSVUZCUlVZc1JVRkJSU3hEUVVGRExFbEJRVWxITEVWQlFVVktMRVZCUVVVc1MwRkJTMGNzUlVGQlJTeE5RVUZOUml4RFFVRkRMRU5CUVVNc1JVRkJSU3hIUVVGSFJ5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhUQ3hIUVVGSFFTeEhRVUZIU3l4RlFVRkZMRTlCUVU4c1EwRkJReXhKUVVGSlF5eEZRVUZGUkN4RlFVRkZMRU5CUVVNc1JVRkJSV3RDTEVkQlFVVnNRaXhGUVVGRlRDeERRVUZETEVWQlFVVXNUMEZCVDFrc1JVRkJSVllzUlVGQlJVa3NSVUZCUlN4UFFVRlBhVUlzUlVGQlF5eERRVUZETEVOQlFVTXNUMEZCVDFvc1JVRkJSVlFzUlVGQlJTd3lRa0ZCTWtKSExFVkJRVVVzVDBGQlR5eFJRVUZSUml4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUFVTeEZRVUZGVkN4RlFVRkZReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXpoRExFZEJRVVUzUXl4RlFVRkZMRU5CUVVNc1QwRkJUMFlzUlVGQlJTeFRRVUZUUml4RlFVRkZReXhGUVVGRkxFTkJRVU1zVDBGQlQxY3NSVUZCUlZnc1JVRkJSVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNd1F5eEhRVUZGTVVNc1JVRkJSU3hEUVVGRExFOUJRVTlHTEVWQlFVVXNVMEZCVTBZc1JVRkJSVU1zUlVGQlJTeERRVUZETEU5QlFVOVZMRVZCUVVWV0xFVkJRVVZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVFowUXNSMEZCUldoRUxFVkJRVVVzUTBGQlF5eEhRVUZIWlN4RlFVRkZaaXhEUVVGRExFVkJRVVVzVDBGQlQwWXNSVUZCUlN4VFFVRlRSaXhGUVVGRlF5eEZRVUZGTEVOQlFVTXNTVUZCU1VNc1JVRkJSVVVzUlVGQlJTeEZRVUZGU2l4RlFVRkZReXhEUVVGRExFVkJRVVVzVDBGQlQwTXNSVUZCUlN4TlFVRk5SQ3hGUVVGRlF5eEZRVUZGTEUxQlFVMHNSMEZCUjBFc1EwRkJReXhEUVVGRExFVkJRVVVzUjBGQllTeFBRVUZQUlN4SFFVRnFRaXhUUVVGdFFpeFBRVUZQWjBRc1IwRkJSVVlzUjBGQlJUbERMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWRCTEdGQlFXRXNUMEZCVHl4UFFVRlBaMFFzUjBGQlJVUXNSMEZCUlM5RExFTkJRVU1zUTBGQlF5eEZRVUZGTEUxQlFVMHNTVUZCU1N4TlFVRk5MRzlEUVVGdlEwRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVMmxFTEVkQlFVVnFSQ3hGUVVGRkxFTkJRVU1zVDBGQlQzTkNMRVZCUVVWMFFpeERRVUZETEVWQlFVVkdMRVZCUVVVc1UwRkJVMFlzUlVGQlJVTXNSVUZCUlN4RFFVRkRMRWxCUVVsRExFVkJRVVZGTEVWQlFVVXNSVUZCUlVvc1JVRkJSVU1zUTBGQlF5eEZRVUZGUlN4RlFVRkZTQ3hGUVVGRkxFMUJRVTFETEVWQlFVVkRMRVZCUVVVc1MwRkJTeXhGUVVGRkxFOUJRVTlCTEVWQlFVVXNUMEZCVDFNc1JVRkJSVllzUlVGQlJTeFJRVUZSUlN4RlFVRkZMRWRCUVVjc1JVRkJSVk1zUlVGQlJWZ3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlUzRkVMRWRCUVVkc1JDeEZRVUZGTEVOQlFVTXNUMEZCVDNsQ0xFZEJRVVY2UWl4RFFVRkRMRVZCUVVWR0xFVkJRVVVzVTBGQlUwWXNSVUZCUlVNc1JVRkJSU3hEUVVGRExFbEJRVWxETEVWQlFVVjVRaXhGUVVGRk0wSXNSVUZCUlVNc1EwRkJReXhGUVVGRkxFOUJRVTlCTEVWQlFVVkVMRVZCUVVVc1VVRkJVVWtzUlVGQlJVWXNRMEZCUXl4RlFVRkZWU3hGUVVGRldDeEZRVUZGTEVWQlFVVkRMRU5CUVVNc1JVRkJSVk1zUlVGQlJWWXNSVUZCUlN3MlFrRkJOa0pITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVGJVUXNSMEZCUjI1RUxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4VlFVRlZMRTlCUVU4c1NVRkJTVUVzUlVGQlJVa3NSVUZCUlVFc1JVRkJSU3hSUVVGUkxFbEJRVWxJTEVWQlFVVkRMRVZCUVVVc1UwRkJVMFVzUlVGQlJVWXNSVUZCUlN4RFFVRkRMRTlCUVU5RUxFVkJRVVVzUlVGQlJVUXNSVUZCUlN4RlFVRkZMRVZCUVVWRExFVkJRVVVzUlVGQlJVY3NSVUZCUlVZc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFBRVUZQUlN4RlFVRkZTQ3hGUVVGRkxFdEJRVXRITEVOQlFVTXNSVUZCUlVnc1EwRkJReXhEUVVGRExGTkJRVk4xUkN4SlFVRkpMRU5CUVVNc1QwRkJUMVlzUjBGQlJTeHZRa0ZCYjBJc1EwRkJReXhEUVVGRE0wTXNSVUZCUlN4TlFVRk5MRk5CUVZORExFVkJRVVVzUTBGQlF5eEhRVUZoTEU5QlFVOUJMRWRCUVdwQ0xGVkJRVzlDTEVOQlFVTnBRaXhGUVVGRmFrSXNRMEZCUXl4RlFVRkZMRTFCUVUwc1NVRkJTU3hOUVVGTkxDdEVRVUVyUkN4RlFVRkZMRWxCUVVsS0xFVkJRVVZETEVWQlFVVXNTMEZCU3l4TFFVRkxkMFFzUlVGQlJTeEZRVUZGTEVWQlFVVnlSQ3hGUVVGRkxFTkJRVU1zUlVGQlJTeFBRVUZQU2l4RlFVRkZReXhGUVVGRkxFOUJRVThzUTBGQlF5eFBRVUZQTEVkQlFVY3NUVUZCVFVFc1JVRkJSU3hMUVVGTExFVkJRVVVzUTBGQlF5eFBRVUZQTEVkQlFVY3NUVUZCVFhkQ0xFVkJRVVZ5UWl4RlFVRkZTQ3hGUVVGRkxGRkJRVkVzUlVGQlJTeFRRVUZUUVN4RlFVRkZMRkZCUVZFc1JVRkJSU3hQUVVGUGRVSXNSVUZCUlhCQ0xFTkJRVU1zUlVGQlJVb3NRMEZCUXl4RlFVRkZSeXhGUVVGRkxGTkJRVk1zVTBGQlUwTXNSVUZCUlN4RFFVRkRMRWxCUVVsS0xFVkJRVVVzUzBGQlN5eE5RVUZOU1N4RFFVRkRMRVZCUVVVc1IwRkJSMG9zUlVGQlJTeFBRVUZQTEU5QlFVOUJMRVZCUVVVc1RVRkJUU3hKUVVGSlF5eEZRVUZGZDBNc1IwRkJSWEpETEVWQlFVVktMRU5CUVVNc1JVRkJSVVVzUlVGQlJTeEpRVUZKTEUxQlFVMUVMRU5CUVVNc1JVRkJSU3hOUVVGTlF5eEZRVUZGTEV0QlFVc3NhVUpCUVdsQ1FTeEZRVUZGTEU5QlFVOUdMRVZCUVVWRkxFTkJRVU1zUlVGQlJVTXNSVUZCUlN4UFFVRlBMRk5CUVZORExFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRlBMRXRCUVVzc1RVRkJUU3hUUVVGVFF5eEZRVUZGTEVOQlFVTXNUMEZCVDBjc1JVRkJSVWdzUTBGQlF5eEZRVUZGWjBRc1IwRkJSV2hFTEVOQlFVTXNSVUZCUlRaRExFZEJRVVU1UXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVZITEVWQlFVVXNSMEZCUnl4VFFVRlRReXhGUVVGRkxFTkJRVU1zVDBGQlQzbERMRWRCUVVVc1MwRkJTM3BETEVOQlFVTXNRMEZCUXl4RlFVRkZSQ3hGUVVGRkxFdEJRVXNzVTBGQlUwTXNSVUZCUlN4RFFVRkRMRTlCUVU4c1MwRkJTeXhMUVVGTFFTeEZRVUZGUVN4RFFVRkRMRU5CUVVNc1JVRkJSVVFzUlVGQlJTeExRVUZMTEZOQlFWTkRMRVZCUVVWS0xFVkJRVVVzUTBGQlF5eFBRVUZQTkVNc1IwRkJSWGhETEVWQlFVVXNTMEZCUzBvc1JVRkJSU3hUUVVGVFNTeEZRVUZGU2l4RlFVRkZMRU5CUVVNc1QwRkJUMEVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlVjc1JVRkJSU3hMUVVGTExGTkJRVk5ETEVWQlFVVXNRMEZCUXl4UFFVRlBRU3hGUVVGRkxFbEJRVWtzUTBGQlF5eEZRVUZGUkN4RlFVRkZMRXRCUVVzc1UwRkJVME1zUlVGQlJTeERRVUZETEU5QlFVOXpRaXhGUVVGRmRFSXNRMEZCUXl4RlFVRkZkVU1zUjBGQlJTeExRVUZMZGtNc1EwRkJReXhGUVVGRkxFbEJRVWtzVTBGQlUwRXNSVUZCUlN4RFFVRkRMRTlCUVU5QkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZSQ3hGUVVGRkxFdEJRVXNzVlVGQlZTeERRVUZETEVsQlFVbERMRVZCUVVVc1MwRkJTeXhQUVVGUFJpeEZRVUZGTEZOQlFWTkdMRVZCUVVWRExFVkJRVVVzUTBGQlF5eFJRVUZSUXl4RlFVRkZMRU5CUVVNc1JVRkJSVU1zUlVGQlJTeFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZRU3hGUVVGRmJVSXNSVUZCUld4Q0xFVkJRVVVzUlVGQlJVb3NSVUZCUlVNc1EwRkJReXhGUVVGRlJTeERRVUZETEVkQlFVY3NUMEZCVHl4UFFVRlBiVUlzUlVGQlJWWXNSVUZCUlZnc1JVRkJSVU1zUTBGQlF5eEZRVUZGUXl4RFFVRkRMRVZCUVVVc1IwRkJSMFlzU1VGQlNVVXNSVUZCUlN4TlFVRk5MRTFCUVUwc1NVRkJTU3hOUVVGTkxHZEpRVUZuU1N4RlFVRkZSaXhGUVVGRlJTeEZRVUZGTEUxQlFVMUVMRVZCUVVVc1MwRkJTME1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVUVzUlVGQlJTeFJRVUZSTEZOQlFWTkRMRVZCUVVVc1EwRkJReXhQUVVGUE1FSXNSVUZCUlRGQ0xFTkJRVU1zUlVGQlJTeExRVUZMTEVsQlFVa3NVMEZCVTBvc1JVRkJSU3hEUVVGRExFZEJRVWNzVTBGQlUwa3NSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJRMmRDTEVWQlFVVm9RaXhEUVVGRExFVkJRVVVzVFVGQlRTeEpRVUZKTEUxQlFVMHNhVUpCUVdsQ1FTeERRVUZETEVOQlFVTXNSVUZCUlVvc1EwRkJReXhGUVVGRlFTeEZRVUZGTEU5QlFVOHNRMEZCUXpoQ0xFVkJRVVU1UWl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxGRkJRVkZETEVWQlFVVkVMRVZCUVVVc1EwRkJReXhGUVVGRlJTeEZRVUZGTEVWQlFVVkJMRVZCUVVWR0xFVkJRVVVzVDBGQlQwVXNTVUZCU1RSQ0xFVkJRVVU1UWl4RlFVRkZSU3hEUVVGRExFTkJRVU1zUlVGQlJVUXNSMEZCUjBjc1JVRkJSVW9zUlVGQlJVVXNRMEZCUXl4RlFVRkZMRTlCUVU5RUxFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVWRkxFVkJRVVVzU1VGQlNTeFZRVUZWTEVOQlFVTXNUMEZCVHl4TFFVRkxMRkZCUVZFc1JVRkJSU3hEUVVGRExFVkJRVVZCTEVWQlFVVXNUVUZCVFN4VFFVRlRReXhGUVVGRlNpeEZRVUZGTEVOQlFVTXNTVUZCU1VNc1JVRkJSU3hMUVVGTExFOUJRVThzVlVGQlZTeFBRVUZQTEVsQlFVbEVMRVZCUVVWSkxFZEJRVWQzUWl4SFFVRkZlRUlzUTBGQlF5eEZRVUZGZDBJc1IwRkJSVFZDTEVOQlFVTXNSVUZCUlVVc1JVRkJSU3hUUVVGVFFTeEZRVUZGUXl4RlFVRkZMRU5CUVVNc1VVRkJVVVVzUlVGQlJTeERRVUZETEVWQlFVVkRMRVZCUVVVc1QwRkJUMmxDTEVWQlFVVXNUMEZCVDJoQ0xFZEJRVVVzUlVGQlJVRXNSMEZCUlVnc1JVRkJSVWNzU1VGQlJ5eEZRVUZGTEVOQlFVTXNSMEZCUjJkQ0xFVkJRVVZFTEVWQlFVVm9RaXhGUVVGRlRDeEZRVUZGTEVWQlFVVkRMRVZCUVVWRExFTkJRVU1zUlVGQlJXOUNMRU5CUVVNc1JVRkJSU3hEUVVGRGFrSXNSVUZCUlN4UFFVRlBMRTlCUVU5cFFpeEZRVUZGY0VJc1JVRkJSVWNzUlVGQlJTeE5RVUZOUkN4RlFVRkZMRXRCUVV0RExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTXNTMEZCUzBNc1IwRkJSVkFzU1VGQlNYVkNMRVZCUVVWRUxFVkJRVVZvUWl4RlFVRkZUQ3hGUVVGRkxFVkJRVVZETEVWQlFVVkRMRU5CUVVNc1JVRkJSVzlDTEVOQlFVTXNSVUZCUldwQ0xFVkJRVVVzVVVGQlVVTXNTVUZCUnl4RlFVRkZTaXhGUVVGRlJ5eEZRVUZGTEUxQlFVMUVMRVZCUVVVc1MwRkJTME1zUlVGQlJTeExRVUZMTEVWQlFVVXNUMEZCVDJkQ0xFVkJRVVZXTEVWQlFVVlVMRVZCUVVWRkxFTkJRVU1zUlVGQlJXdENMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJYQkNMRVZCUVVVc1QwRkJUeXhUUVVGVFF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4TFFVRkxMRWxCUVVrc1ZVRkJWU3hEUVVGRExFOUJRVTlCTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVWRUxFVkJRVVVzVDBGQlR5eFRRVUZUUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhMUVVGTExFMUJRVTBzUlVGQlJVRXNRMEZCUXl4RFFVRkRMRVZCUVVWRUxFVkJRVVVzVVVGQlVTeFRRVUZUUXl4RlFVRkZMRU5CUVVNc1QwRkJUM2RETEVkQlFVVXNTMEZCU3l4TlFVRk5lRU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NTMEZCU3l4RlFVRkZMRk5CUVZOQkxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRlBTU3hGUVVGRkxFOUJRVTlLTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVWNzUlVGQlJTeEpRVUZKTEZOQlFWTkRMRVZCUVVVc1EwRkJRM2xDTEVkQlFVVjZRaXhEUVVGRExFVkJRVVVzU1VGQlNVb3NSVUZCUlN4TFFVRkxMRTlCUVU5RkxFVkJRVVVzVTBGQlUwUXNSVUZCUlVNc1JVRkJSU3hEUVVGRExFbEJRVWxETEVWQlFVVklMRVZCUVVVc1JVRkJSVU1zUlVGQlJVTXNRMEZCUXl4RlFVRkZMRTlCUVU5RExFVkJRVVVzVDBGQlQyMUNMRVZCUVVWV0xFVkJRVVZVTEVWQlFVVXNUVUZCVFVNc1JVRkJSVVFzUlVGQlJTeExRVUZMTEVOQlFVTXNSVUZCUlVFc1EwRkJReXhGUVVGRlFTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZRU3hGUVVGRkxGVkJRVlVzVTBGQlUwTXNSVUZCUlN4RFFVRkRlVUlzUjBGQlJYcENMRU5CUVVNc1JVRkJSU3hKUVVGSlNpeEZRVUZGTEV0QlFVc3NUMEZCVDBVc1JVRkJSU3hUUVVGVFJDeEZRVUZGUXl4RlFVRkZMRU5CUVVNc1NVRkJTVU1zUlVGQlJVZ3NSVUZCUlN4TlFVRk5TU3hGUVVGRlNDeEZRVUZGTEUxQlFVMURMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVDBGQlQwTXNSVUZCUlN4UFFVRlBVeXhGUVVGRlZpeEZRVUZGUkN4RlFVRkZMRTlCUVU5RkxFVkJRVVVzUzBGQlN5eEZRVUZGUVN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRlFTeEZRVUZGTEU5QlFVOHNVMEZCVTBNc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFVODJRaXhIUVVGRmVrSXNRMEZCUXl4RlFVRkZlVUlzUjBGQlJUZENMRU5CUVVNc1JVRkJSU3hMUVVGTExGVkJRVlZKTEVOQlFVTXNSVUZCUlN4SlFVRkpTaXhEUVVGRExFTkJRVU1zUlVGQlJVY3NSVUZCUlN4TFFVRkxMRk5CUVZORExFVkJRVVVzUTBGQlF5eFBRVUZQZFVNc1IwRkJSU3hMUVVGTGRrTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1UwRkJVMEVzUlVGQlJTeERRVUZETEU5QlFVOUJMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGUkN4RlFVRkZMRXRCUVVzc1ZVRkJWU3hEUVVGRExFOUJRVTk1UXl4SFFVRkZZeXhIUVVGSExFdEJRVXRCTEVkQlFVY3NVMEZCVTNSRUxFVkJRVVZLTEVWQlFVVkRMRVZCUVVVc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRVY3NSVUZCUlN4TlFVRk5TaXhGUVVGRkxFbEJRVWxETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVVVzUlVGQlJTeExRVUZMTEZOQlFWTkRMRVZCUVVVc1EwRkJReXhQUVVGUGQwTXNSMEZCUldNc1IwRkJSeXhMUVVGTFFTeEhRVUZITEZOQlFWTXhSQ3hGUVVGRlF5eEZRVUZGUXl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRExFdEJRVXRGTEVWQlFVVXNUVUZCVFVnc1JVRkJSU3hOUVVGTlJDeEZRVUZGTEVsQlFVbEZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJVTXNSVUZCUlN4TlFVRk5MRk5CUVZORExFVkJRVVVzUTBGQlF5eFBRVUZQTWtNc1IwRkJSU3hMUVVGTE0wTXNRMEZCUXl4RFFVRkRMRVZCUVVWRUxFVkJRVVVzVDBGQlR5eFRRVUZUUXl4RlFVRkZMRU5CUVVNc1QwRkJUelJETEVkQlFVVXNTMEZCU3pWRExFTkJRVU1zUTBGQlF5eEZRVUZGUkN4RlFVRkZMRlZCUVZVc1UwRkJVME1zUlVGQlJTeERRVUZETEU5QlFVOHNTMEZCU3l4TFFVRkxaMFFzUjBGQlJXaEVMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVZFTEVWQlFVVXNZMEZCWXl4VFFVRlRReXhGUVVGRkxFTkJRVU1zVDBGQlR5eExRVUZMTEV0QlFVdHBSQ3hIUVVGRmFrUXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVVFzUlVGQlJTeExRVUZMTEZOQlFWTkRMRVZCUVVVc1EwRkJRMmRDTEVWQlFVVm9RaXhEUVVGRExFbEJRVWxCTEVWQlFVVXNRMEZCUTBFc1EwRkJReXhIUVVGSExFbEJRVWxLTEVWQlFVVXNTMEZCU3l4UFFVRlBSU3hGUVVGRkxGTkJRVk5FTEVWQlFVVkRMRVZCUVVVc1EwRkJReXhKUVVGSlF5eEZRVUZGU0N4RlFVRkZMRVZCUVVWRExFVkJRVVZETEVOQlFVTXNSVUZCUlN4UFFVRlBReXhGUVVGRkxGTkJRVk5CTEVWQlFVVXNVMEZCVTBNc1IwRkJSMFFzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlVFc1JVRkJSU3hUUVVGVExGTkJRVk5ETEVWQlFVVXNRMEZCUXl4UFFVRlBMRXRCUVVzc1IwRkJSelpETEVkQlFVVTNReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGUkN4RlFVRkZMRWRCUVVjc1UwRkJVME1zUlVGQlJTeERRVUZETEU5QlFVOTNReXhIUVVGRmVFTXNSVUZCUlN4TFFVRkxMRk5CUVZOQkxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRlBTU3hGUVVGRlNpeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVWSExFVkJRVVVzVFVGQlRTeFRRVUZUUXl4RlFVRkZMRU5CUVVNc1NVRkJTVW9zUlVGQlJTeExRVUZMTEU5QlFVOUZMRVZCUVVVc1UwRkJVMFFzUlVGQlJVTXNSVUZCUlN4RFFVRkRMRWxCUVVsRExFVkJRVVZJTEVWQlFVVXNSVUZCUlVNc1JVRkJSVU1zUTBGQlF5eEZRVUZGTEU5QlFVOURMRVZCUVVVc1QwRkJUMjFDTEVWQlFVVnNRaXhGUVVGRlJDeEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZSaXhGUVVGRlJTeEZRVUZGTEV0QlFVc3NSVUZCUlVFc1EwRkJReXhGUVVGRlFTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZRU3hGUVVGRkxFOUJRVTlCTEVWQlFVVXNSMEZCUjBFc1JVRkJSU3hOUVVGTmNVUXNSMEZCUjNKRUxFVkJRVVVzUjBGQlJ6aERMRWRCUVVVNVF5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRlFTeEZRVUZGTEVkQlFVZEJMRVZCUVVVc2IwSkJRVzlDTEVWQlFVVkJMRVZCUVVVc1RVRkJUVUVzUlVGQlJTeHhRa0ZCY1VJc1JVRkJSVUVzUlVGQlJTeFBRVUZQUVN4RlFVRkZMRzlDUVVGdlFpeEZRVUZGUVN4RlFVRkZMRTFCUVUxQkxFVkJRVVVzYVVKQlFXbENMRVZCUVVWQkxFVkJRVVVzUjBGQlIwRXNSVUZCUlN4clFrRkJhMElzUlVGQlJVRXNSVUZCUlN4SlFVRkpMRWxCUVVsMVJDeEhRVUZIZUVRc1JVRkJSU3hUUVVGVFJTeEZRVUZGU2l4RlFVRkZMRU5CUVVNc1QwRkJUMWtzUlVGQlJWb3NSVUZCUlhsQ0xFVkJRVVZ5UWl4RlFVRkZTaXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXlSQ3hIUVVGSGVrUXNSVUZCUlN4VFFVRlRSU3hGUVVGRlNpeEZRVUZGTEVOQlFVTXNUMEZCVDBFc1IwRkJSMGtzUlVGQlJTeFBRVUZQVHl4RlFVRkZXQ3hGUVVGRkxHOUNRVUZ2UWl4RlFVRkZXU3hGUVVGRldpeEZRVUZGTEVWQlFVVXlRaXhGUVVGRmRrSXNSVUZCUlVvc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTkVRc1IwRkJSekZFTEVWQlFVVXNVMEZCVTBVc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFVOVpMRVZCUVVWU0xFVkJRVVVzVDBGQlQwRXNSVUZCUlN4TlFVRk5TaXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVjVSQ3hIUVVGSGRrUXNSVUZCUlN4VFFVRlRSU3hGUVVGRlNpeEZRVUZGTEVOQlFVTXNUMEZCVDBFc1JVRkJSVWtzUlVGQlJTeFBRVUZQVHl4RlFVRkZXQ3hGUVVGRkxFdEJRVXNzUlVGQlJWa3NSVUZCUlZvc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGTmtRc1IwRkJSMVlzUjBGQlJTeFBRVUZQTEVWQlFVVXNTMEZCU3l4VFFVRlRMRVZCUVVWWExFZEJRVWRZTEVkQlFVVXNVVUZCVVN4RlFVRkZMRXRCUVVzc2FVSkJRV2xDTEVWQlFVVlpMRWRCUVVkYUxFZEJRVVVzVVVGQlVTeEZRVUZGTEV0QlFVc3NWVUZCVlN4RlFVRkZZU3hIUVVGSFlpeEhRVUZGTEZOQlFWTXNSVUZCUlN4TFFVRkxMR3RDUVVGclFpeEZRVUZGWXl4SFFVRkhaQ3hIUVVGRkxFdEJRVXNzUlVGQlJTeExRVUZMTEhGQ1FVRnhRaXhGUVVGRlpTeEhRVUZIWml4SFFVRkZMRXRCUVVzc1JVRkJSU3hMUVVGTExGbEJRVmtzUlVGQlJXZENMRWRCUVVkcVFpeEhRVUZGTEVsQlFVa3NSVUZCUld0Q0xFZEJRVWRzUWl4SFFVRkZPMEZCUVVFc1EwRkJTU3hGUVVGRmJVSXNSMEZCUjI1Q0xFZEJRVVU3UVVGQlFTeERRVUZOTEVWQlFVVnZRaXhIUVVGSGVrSXNSMEZCUlhkQ0xFZEJRVWRFTEVkQlFVZEVMRVZCUVVVc1JVRkJSU3hMUVVGTExGTkJRVk1zUlVGQlJVa3NSMEZCUnpGQ0xFZEJRVVY1UWl4SFFVRkhZaXhGUVVGRkxFVkJRVVYyUkN4RlFVRkZMRWxCUVVrd1JDeEhRVUZITVVRc1JVRkJSU3hKUVVGSk1rTXNSMEZCUlRORExFVkJRVVVzU1VGQlNYbEVMRWRCUVVkNlJDeEZRVUZGTEVkQlFVZHBSU3hIUVVGSGFrVXNSVUZCUlN4bFFVRmxMRk5CUVZORkxFVkJRVVVzUTBGQlF5eEpRVUZKU2l4RlFVRkZMRU5CUVVNc1JVRkJSU3hSUVVGUlF5eExRVUZMUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhsUVVGbExFdEJRVXRCTEVWQlFVVklMRU5CUVVNc1IwRkJSeXhUUVVGVFFTeEZRVUZGTEVOQlFVTkVMRVZCUVVWRExFTkJRVU1zUlVGQlJYTkVMRWRCUVVjc1ZVRkJWU3hEUVVGRExFOUJRVTl1UkN4RlFVRkZTQ3hEUVVGRExFVkJRVVZFTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVU1zUTBGQlF5eEZRVUZGTEU5QlFVOUVMRU5CUVVNc1JVRkJSVVVzUlVGQlJTeExRVUZMYlVVc1IwRkJSMjVGTEVWQlFVVXNUMEZCVHl4VFFVRlRSU3hGUVVGRkxFTkJRVU1zVDBGQlQwWXNSVUZCUlVVc1JVRkJSVkVzUlVGQlJVUXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVlFzUlVGQlJTeE5RVUZOTWtRc1IwRkJSek5FTEVWQlFVVXNUMEZCVHpSRUxFZEJRVWMxUkN4RlFVRkZMRTFCUVUxelJDeEhRVUZIZEVRc1JVRkJSU3hKUVVGSmNVVXNSMEZCUjNKRkxFVkJRVVVzU1VGQlNYVkVMRWRCUVVkMlJDeEZRVUZGTEV0QlFVczBReXhIUVVGRk5VTXNSVUZCUlN4WlFVRlpkVU1zUjBGQlJYWkRMRVZCUVVVc1RVRkJUWGRFTEVkQlFVZDRSQ3hGUVVGRkxGTkJRVk5wUWl4RlFVRkZha0lzUlVGQlJTeExRVUZMY1VRc1IwRkJSM0pFTEVWQlFVVXNUMEZCVHpaRUxFZEJRVWMzUkN4RlFVRkZMRkZCUVZFNFJDeEhRVUZIT1VRc1JVRkJSU3hIUVVGSGEwVXNSMEZCUjJ4RkxFVkJRVVVzVlVGQlZXdEVMRWRCUVVWc1JDeEZRVUZGTEZsQlFWbFRMRVZCUVVWVUxFVkJRVVVzV1VGQldWVXNSVUZCUlZZc1JVRkJSU3hSUVVGUmIwVXNSMEZCUjNCRkxFVkJRVVVzVDBGQlR5eFRRVUZUUlN4RlFVRkZMRU5CUVVNc1QwRkJUMnRFTEVkQlFVY3NVMEZCVTNSRUxFVkJRVVVzUTBGQlF5eFBRVUZQU1N4RlFVRkZMRkZCUVZGS0xFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4TFFVRkxMRmxCUVZsSkxFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVkdMRVZCUVVVc1kwRkJZMjFFTEVkQlFVVnVSQ3hGUVVGRkxFZEJRVWNyUXl4SFFVRkZMME1zUlVGQlJTeE5RVUZOTEZOQlFWTkZMRVZCUVVVc1EwRkJReXhSUVVGUlNpeEZRVUZGU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hGUVVGRlNDeEZRVUZGTEVWQlFVVkJMRVZCUVVWRUxFVkJRVVVzVDBGQlQwTXNTVUZCU1VRc1JVRkJSVU1zUTBGQlF5eEZRVUZGTEVsQlFVbEVMRVZCUVVWRExFTkJRVU1zUlVGQlJTeEpRVUZKTEU5QlFVOXhSQ3hIUVVGSExGTkJRVk4wUkN4RlFVRkZMRU5CUVVNc1QwRkJUMGtzUlVGQlJTeFJRVUZSU2l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFVkJRVVVzUzBGQlMwRXNRMEZCUXl4RFFVRkRMRVZCUVVWRkxFVkJRVVVzWTBGQll5dEVMRWRCUVVjdlJDeEZRVUZGTEU5QlFVOUJMRVZCUVVWQkxFVkJRVVVzVFVGQlRTeFRRVUZUUlN4RlFVRkZTaXhGUVVGRkxFTkJRVU1zVDBGQlQzTkVMRWRCUVVjc1UwRkJVM0pFTEVWQlFVVXNRMEZCUXl4UFFVRlBSeXhIUVVGSFNDeEhRVUZIUVN4SFFVRkhSQ3hEUVVGRExFTkJRVU1zUlVGQlJTeExRVUZMU1N4RlFVRkZMRWxCUVVsS0xFTkJRVU1zUTBGQlF5eEZRVUZGUlN4RlFVRkZMRTFCUVUxcFJDeEhRVUZGYWtRc1JVRkJSU3hQUVVGUGFVUXNSMEZCUldwRUxFVkJRVVVzVFVGQlRUWkRMRWRCUVVVM1F5eEZRVUZGTEU5QlFVODRReXhIUVVGRk9VTXNSVUZCUlN4SlFVRkplVU1zUjBGQlJYcERMRVZCUVVVc1QwRkJUekJETEVkQlFVVXhReXhGUVVGRkxFOUJRVThzVlVGQlZTeERRVUZETEZGQlFWRkZMRVZCUVVWS0xFVkJRVVVzUTBGQlF5eEZRVUZGUXl4RlFVRkZMRVZCUVVWRkxFZEJRVWRETEVWQlFVVXNWVUZCVlN4TlFVRk5MRlZCUVZVc1RVRkJUU3hMUVVGTFFTeERRVUZETEVkQlFVZERMRVZCUVVWR0xFVkJRVVVzVDBGQlQwY3NSVUZCUlN4RlFVRkZRU3hGUVVGRlJDeEZRVUZGUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhKUVVGSmFVSXNSVUZCUlhCQ0xFVkJRVVZITEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVOaExFVkJRVVZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVkSUxFVkJRVVZITEVOQlFVTXNSMEZCVDBFc1JVRkJSU3hUUVVGT0xFZEJRWGRDTEU5QlFVOUJMRVZCUVVVc1EwRkJReXhIUVVGd1FpeFZRVUYxUWtvc1JVRkJSVWtzUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRWxCUVVsb1FpeEZRVUZGWjBJc1JVRkJSU3hEUVVGRExFVkJRVVVzUjBGQlJ5eFBRVUZQTEZWQlFWVXNaVUZCWlN4TFFVRkxka0lzUlVGQlJVOHNRMEZCUXl4RlFVRkZMRTFCUVUwc1NVRkJTU3hOUVVGTkxIbENRVUY1UWtFc1EwRkJReXhGUVVGRlVDeEZRVUZGVHl4RFFVRkRMRVZCUVVVc1IwRkJSMDRzU1VGQlNTeFJRVUZSTEVOQlFVTXNUVUZCVFN4SlFVRkpMRTFCUVUwc2JVVkJRVzFGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVU5QkxFbEJRVW9zUlVGQlRTeE5RVUZOTEVsQlFVa3NUVUZCVFN4elJFRkJjMFFzUlVGQlJTeFBRVUZQUXl4RlFVRkZMRk5CUVZORkxFZEJRVVZLTEVkQlFVVXNRMEZCUXl4UlFVRlJReXhIUVVGRlF5eEhRVUZGTEVOQlFVTXNSVUZCUlVrc1IwRkJSU3hGUVVGRlFTeEhRVUZGUkN4RlFVRkZReXhKUVVGSExFVkJRVVVzUTBGQlF5eEpRVUZKYVVJc1IwRkJSV2hDTEVkQlFVVXNSMEZCUjJFc1JVRkJSV3BDTEVWQlFVVkhMRVZCUVVNc1EwRkJReXhIUVVGSGFVSXNSMEZCUlhCQ0xFVkJRVVZITEVWQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVWRExFZEJRVVZLTEVWQlFVVkhMRVZCUVVNc1JVRkJSU3hEUVVGRExFbEJRVWxwUWl4SFFVRkZMRXRCUVV0b1FpeEhRVUZGU2l4RlFVRkZSeXhGUVVGRExFZEJRVWNzUlVGQlJVd3NSMEZCUlhGQ0xFVkJRVVZtTEVkQlFVVXNSVUZCUlVnc1IwRkJSVW9zUlVGQlF5eEZRVUZGUXl4RlFVRkRMRWRCUVVjc1QwRkJUeXhQUVVGUFFTeEhRVUZGYzBJc1MwRkJTWEpDTEVkQlFVVnhRaXhGUVVGRExFVkJRVVYwUWl4SFFVRkZMRTlCUVU5RUxFZEJRVVZETEVkQlFVVXNTMEZCU3l4RFFVRkRMRTlCUVU5eFFpeEZRVUZGVml4RlFVRkZXaXhIUVVGRlJTeEZRVUZETEVWQlFVVkVMRVZCUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJVTXNSVUZCUlN4UFFVRlBaMFFzUjBGQlJXaEVMRVZCUVVVc1VVRkJVU3RETEVkQlFVVXZReXhGUVVGRkxGVkJRVlVzVTBGQlUwVXNSVUZCUlN4RFFVRkRMRTlCUVU5NVFpeEhRVUZGZWtJc1EwRkJReXhGUVVGRlJpeEZRVUZGTEZOQlFWTkdMRVZCUVVWRExFVkJRVVVzUTBGQlF5eFJRVUZSUXl4RlFVRkZSQ3hGUVVGRlF5eEZRVUZGUml4RlFVRkZMRkZCUVZGSkxFVkJRVVYxUWl4RlFVRkZNMElzUlVGQlJVVXNRMEZCUXl4RFFVRkRMRWRCUVVkQkxFbEJRVWtzVDBGQlQxVXNSVUZCUlZZc1JVRkJSVVlzUlVGQlJTeE5RVUZOUXl4RlFVRkZReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlVFc1JVRkJSU3hMUVVGTGIwUXNSMEZCUjNCRUxFVkJRVVVzVjBGQlYyZEZMRWRCUVVkb1JTeEZRVUZGTEc5Q1FVRnZRaXhGUVVGRmMwUXNSMEZCUjNSRUxFVkJRVVVzYVVKQlFXbENMRVZCUVVVclF5eEhRVUZGTDBNc1JVRkJSU3hQUVVGUExFTkJRVU1zVDBGQlQxRXNSVUZCUlN4VlFVRlZMRk5CUVZOT0xFVkJRVVVzUTBGQlEwc3NSVUZCUlN4RlFVRkZMRWxCUVVsVUxFVkJRVVVzUTBGQlF5eEZRVUZGUXl4RlFVRkZMRVZCUVVWRExFVkJRVVVzUlVGQlJTeFRRVUZUUlN4RlFVRkZMRU5CUVVNc1IwRkJSMmRDTEVWQlFVVm9RaXhEUVVGRExFVkJRVVVzUTBGQlF5eEpRVUZKUml4RlFVRkZSU3hGUVVGRkxFZEJRVTlHTEVWQlFVVXNVMEZCVGl4RlFVRmhMRTFCUVUwc1NVRkJTU3hOUVVGTkxFbEJRVWxCTEVWQlFVVXNTMEZCU3l4SlFVRkpMRVZCUVVVc2IwTkJRVzlEUVN4RlFVRkZMRTFCUVUwc1JVRkJSU3hIUVVGSE5FSXNSVUZCUlRWQ0xFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXdRaXhIUVVGRk1VSXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hQUVVGUExGVkJRVlVzWlVGQlpTeExRVUZMUml4RlFVRkZSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEUxQlFVMHNTVUZCU1N4TlFVRk5MQ3RDUVVFclFrRXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hQUVVGUFJpeEZRVUZGUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWRFTEVsQlFVbERMRU5CUVVNc1EwRkJReXhQUVVGUE1FSXNSMEZCUlhoQ0xFTkJRVU1zUlVGQlJTeERRVUZETEV0QlFVdEJMRU5CUVVNc1EwRkJReXhGUVVGRlFTeERRVUZETEVWQlFVVXNSMEZCUjBnc1JVRkJSU3hGUVVGRkxFMUJRVTBzU1VGQlNTeE5RVUZOTEcxRVFVRnRSRWNzUlVGQlJTeExRVUZMTEVsQlFVa3NSVUZCUlN4SFFVRkhMRVZCUVVVc1NVRkJTVVFzUlVGQlJTeEZRVUZGTEZOQlFWTkRMRVZCUVVVc1EwRkJReXhQUVVGUFFTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZSaXhEUVVGRExFVkJRVVVzVDBGQlQxRXNSVUZCUlN4RlFVRkZMRk5CUVZOT0xFVkJRVVVzUTBGQlF5eFBRVUZQUVN4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRlJpeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRk5CUVZORkxFVkJRVVVzUTBGQlF5eFBRVUZQUlN4RlFVRkZMRk5CUVZOR0xFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRmpRU3hGUVVGRkxFTkJRVU1zU1VGQlZpeFBRVUZqU1N4RlFVRkZTaXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGUVN4RlFVRkZMRU5CUVVNc1IwRkJSMGtzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRk5CUVZOS0xFVkJRVVZETEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVORUxFVkJRVVZKTEVWQlFVVklMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFdEJRVXNzVTBGQlUwTXNSVUZCUlN4RFFVRkRMRWRCUVVkTExFVkJRVVVzUlVGQlJXMUNMRWRCUVVWNFFpeERRVUZETEVWQlFVVkJMRVZCUVVVc1NVRkJTU3hOUVVGTkxFbEJRVWtzVFVGQlRTeDNRMEZCZDBOQkxFVkJRVVVzVFVGQlRVRXNSVUZCUlN4VFFVRlRMRVZCUVVVc1JVRkJSU3d3UTBGQk1FTXNSVUZCUlN4SlFVRkpTaXhIUVVGSFNTeEZRVUZGTEVkQlFVY3NTMEZCU3l4UFFVRlBRU3hGUVVGRkxGTkJRVk1zUlVGQlJTeEZRVUZGTEU5QlFVOUdMRVZCUVVVc1UwRkJVMFFzUlVGQlJVTXNSVUZCUlN4RFFVRkRMRWxCUVVsRExFVkJRVVYzUWl4RlFVRkZNVUlzUlVGQlJVTXNRMEZCUXl4RlFVRkZMRTlCUVU5RExFbEJRVWxETEVWQlFVVlJMRVZCUVVWV0xFVkJRVVVzUlVGQlJVTXNRMEZCUXl4RlFVRkZVU3hGUVVGRlZDeEZRVUZGUml4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVDBGQlR5eFRRVUZUU1N4RlFVRkZMRU5CUVVNc1QwRkJUMU1zUlVGQlJTeFRRVUZUVkN4RFFVRkRMRVZCUVVVc1NVRkJTU3hUUVVGVFFTeEZRVUZGTEVOQlFVTXNUMEZCVHl4UFFVRlBMRXRCUVV0QkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4alFVRmpMRk5CUVZOQkxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRlBZU3hGUVVGRkxGTkJRVk5pTEVOQlFVTXNSVUZCUlN4SlFVRkpMRk5CUVZOQkxFVkJRVVVzUTBGQlF5eFBRVUZQUVN4RlFVRkZMRk5CUVZOSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4UFFVRlBWeXhGUVVGRkxGRkJRVkZCTEVWQlFVVXNRMEZCUXl4RlFVRkZMRk5CUVZOQkxFVkJRVVVzUTBGQlF5eEZRVUZGTEZOQlFWTkJMRVZCUVVVc1EwRkJReXhGUVVGRkxFOUJRVTlETEVWQlFVVXNVVUZCVVVFc1JVRkJSU3hEUVVGRExFVkJRVVVzVTBGQlUwRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1UwRkJVMEVzUlVGQlJTeERRVUZETEVWQlFVVXNUVUZCVFVNc1JVRkJSU3hQUVVGUFFTeEZRVUZGTEVOQlFVTXNSVUZCUlN4UlFVRlJRU3hGUVVGRkxFTkJRVU1zUlVGQlJTeFJRVUZSUVN4RlFVRkZMRU5CUVVNc1JVRkJSU3hOUVVGTlF5eEZRVUZGTEU5QlFVOUJMRVZCUVVVc1EwRkJReXhGUVVGRkxGRkJRVkZCTEVWQlFVVXNRMEZCUXl4RlFVRkZMRkZCUVZGQkxFVkJRVVVzUTBGQlF5eEZRVUZGTEZGQlFWRk1MRVZCUVVVc1ZVRkJWU3hEUVVGRExFVkJRVVVzU1VGQlNTeFRRVUZUVkN4RlFVRkZMRU5CUVVNc1QwRkJUMEVzUlVGQlJTeFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1VVRkJVVk1zUlVGQlJTeFZRVUZWTEVOQlFVTXNSVUZCUlN4SlFVRkpMRk5CUVZOVUxFVkJRVVVzUTBGQlF5eFBRVUZQUVN4RlFVRkZMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFRRVUZUVXl4RlFVRkZMRmRCUVZjc1EwRkJReXhGUVVGRkxFbEJRVWtzVTBGQlUxUXNSVUZCUlN4RFFVRkRMRTlCUVU5QkxFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRk5CUVZOVExFVkJRVVVzVjBGQlZ5eERRVUZETEVWQlFVVXNTVUZCU1N4VFFVRlRWQ3hGUVVGRkxFTkJRVU1zVDBGQlQwRXNSVUZCUlN4aFFVRmhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEZGQlFWRkdMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRMEV6TW1Rc1NVRkJRWE5GTEVkQlFVRkRMRWRCUVVGRExFbEJRVUVzWTBGRFFTeEpRVUZKUXl4SFFVRmhSQ3hKUVVGUlFTeEhRVUZMTEZkQlFXVXNWVUZCV1N4RFFVTnlSQ3hKUVVGSlJTeEZRVUZuUWl4VFFVRlZReXhGUVVGSFF5eEZRVUZITEVOQlEyaERMRTlCUVVGR0xFVkJRV2RDTEU5QlFVOHNaMEpCUTJ4Q0xFTkJRVVVzVlVGQlZ5eERRVUZETEVOQlFVVXNXVUZCWVN4UFFVRlRMRk5CUVZWRExFVkJRVWRETEVWQlFVY3NRMEZCUlVRc1JVRkJSU3hWUVVGWlF5eERRVUZITEVkQlF6RkZMRk5CUVZWRUxFVkJRVWRETEVWQlFVY3NRMEZCUlN4UlFVRlRReXhMUVVGTFJDeEZRVUZQTEU5QlFVOHNWVUZCVlN4bFFVRmxMRXRCUVV0QkxFVkJRVWRETEVOQlFVTXNTVUZCUjBZc1JVRkJSVVVzUTBGQlF5eEZRVUZKUkN4RlFVRkZReXhEUVVGRExFVkJRVWNzUlVGRE4wWklMRVZCUVdORExFVkJRVWRETEVOQlFVTXNRMEZETjBJc1JVRkRRU3hQUVVGUExGTkJRVlZFTEVWQlFVZERMRVZCUVVjc1EwRkRia0lzUjBGQlNTeFBRVUZQUVN4SFFVRk5MRmxCUVdOQkxFbEJRVTBzUzBGRGFrTXNUVUZCVFN4SlFVRkpMRlZCUVZVc2RVSkJRWGxDTEU5QlFVOUJMRU5CUVVNc1JVRkJTU3dyUWtGQkswSXNSVUZETlVaR0xFVkJRV05ETEVWQlFVZERMRU5CUVVNc1JVRkRiRUlzVTBGQlUwVXNSMEZCU3l4RFFVRkZMRXRCUVVzc1dVRkJZMGdzUTBGQlJ5eERRVU4wUTBFc1JVRkJSU3hWUVVGWlF5eEpRVUZOTEV0QlFVOHNUMEZCVHl4UFFVRlBRU3hEUVVGRExFZEJRVXRGTEVWQlFVY3NWVUZCV1VZc1JVRkJSU3hWUVVGWExFbEJRVWxGTEVWQlEyNUdMRU5CUTBvc1JVRkJSeXhGUVVOSUxFOUJRVThzWlVGQlpVNHNSMEZCVXl4aFFVRmpMRU5CUVVVc1RVRkJUeXhGUVVGTExFTkJRVU1zUlVGRE5VUkJMRWRCUVZFc1YwRkJZVUVzUjBGQlVTeE5RVUZSUVN4SFFVRlJMR2xDUVVGdFFrRXNSMEZCVVN4clFrRkJiMElzVDBGWk5VWXNVMEZCVTA4c1IwRkJhMEpETEVWQlFVZEtMRVZCUVVjc1EwRkxOMElzUjBGQlNTeFBRVUZQTEZOQlFWTkpMRU5CUVVNc1IwRkJTeXhQUVVGUExGTkJRVk5LTEVOQlFVTXNSVUZEZGtNc1QwRkJUMGtzUlVGQlNVb3NSVUZKWml4SlFVRkpTeXhGUVVGTExFOUJRVTlFTEVWQlExcEZMRVZCUVVzc1QwRkJUMDRzUlVGRGFFSXNSMEZCU1Vzc1NVRkJUME1zUlVGRFVDeFBRVUZQUkN4RlFVRkxReXhGUVVGTExFZEJRVXNzUlVGRk1VSXNSMEZCU1VRc1NVRkJUeXhUUVVGVkxFTkJSV3BDTEVkQlFVbEVMRWxCUVUwc1MwRkRUaXhQUVVGUFNpeEpRVUZOTEV0QlFVOHNSVUZCU1N4SFFVTjJRaXhIUVVGSlFTeEpRVUZOTEV0QlExZ3NUVUZCVHl4SFFVMVlMRWRCVEVGSkxFVkJRVWxCTEVWQlFVVXNVVUZCVVN4RlFVTmtTaXhGUVVGSlFTeEZRVUZGTEZGQlFWRXNSVUZEWkVzc1JVRkJTeXhQUVVGUFJDeEZRVU5hUlN4RlFVRkxMRTlCUVU5T0xFVkJSVkpMTEVsQlFVOURMRVZCUTFBc1QwRkJUMFFzUlVGQlMwTXNSVUZCU3l4SFFVRkxMRU5CUlRsQ0xFTkJSMEVzVDBGQlNVWXNSVUZCU1Vvc1JVRkRSeXhIUVVOUVNTeEZRVUZKU2l4RlFVTkhMRVZCUTFCSkxFbEJRVTFLTEVWQlEwTXNSVUZGVUN4UFFVRlBMRTFCUVUxSkxFTkJRVU1zUlVGRFVDeFBRVUZQTEUxQlFVMUtMRU5CUVVNc1JVRkJTU3hGUVVGSkxFZEJRM2hDTEU5QlFVOHNUVUZCVFVFc1EwRkJReXhGUVVOYUxFVkJSVW9zVFVGQlRTeFJRVUZSU1N4RFFVRkRMRVZCUVVrc1JVRkJTU3hQUVVGUExFZEJRM3BETEVOQlEwRlNMRWRCUVZFc2EwSkJRVzlDVHl4SFFVVTFRaXhUUVVGVFNTeEhRVUZwUWtnc1JVRkJSMG9zUlVGQlJ5eERRVU0xUWl4UFFVRlBTU3hGUVVGSlNpeEZRVUZKTEVWQlFVbEpMRVZCUVVsS0xFVkJRVWtzUjBGQlN5eERRVU53UXl4RFFVTkJTaXhIUVVGUkxHbENRVUZ0UWxjc1IwRnJSVE5DTEVsQlFVbERMRWRCUVhWQ0xGVkJRVmtzUTBGVGJrTXNVMEZCVTBFc1JVRkJUVU1zUlVGQlUwTXNSVUZCVTBNc1JVRkJZU3hEUVVNeFF5eExRVUZMTEUxQlFWRkRMRWRCUTJJc1MwRkJTeXhOUVVGUkxFVkJRMklzUzBGQlN5eGhRVUZsUkN4SFFVRmxMRVZCUVVrc1MwRkJTeXhKUVVGSlFTeEZRVUZoTEVkQlFVY3NSVUZCU1N4SFFVTndSU3hMUVVGTExGTkJRVmRFTEVkQlFWZFFMRWRCUTNaQ1RTeEhRVU5CTEV0QlFVc3NVMEZCVTBFc1EwRkJUeXhEUVVNM1FpeERRVU5CTEdOQlFVOHNaVUZCWlVRc1JVRkJUU3hWUVVGWExFOUJRVkVzUTBGSk0wTXNTVUZCU3l4VlFVRlpMRU5CUVVVc1QwRkJUeXhMUVVGTExFdEJRVThzUlVGRGRFTXNWMEZCV1N4SFFVTmFMR0ZCUVdNc1JVRkRiRUlzUTBGQlF5eEZRVU5FTEU5QlFVOHNaVUZCWlVFc1JVRkJUU3hWUVVGWExGTkJRVlVzUTBGRk4wTXNTVUZCU3l4VlFVRlpMRU5CUVVVc1QwRkJUeXhMUVVGTExFdEJRVThzUlVGRGRFTXNWMEZCV1N4SFFVTmFMR0ZCUVdNc1JVRkRiRUlzUTBGQlF5eEZRVU5FTEU5QlFVOHNaVUZCWlVFc1JVRkJUU3hWUVVGWExGVkJRVmNzUTBGRk9VTXNTVUZCU3l4VlFVRlpMRU5CUVVVc1QwRkJUeXhMUVVGTExGRkJRVlVzUTBGQlJ5eEZRVU0xUXl4WFFVRlpMRWRCUTFvc1lVRkJZeXhGUVVOc1FpeERRVUZETEVWQlJVUkJMRVZCUVUwc1ZVRkJWU3hOUVVGUkxGVkJRVmtzUTBGRGFFTXNTMEZCU3l4TlFVRlJTU3hIUVVOaUxFdEJRVXNzVFVGQlVTeERRVU5xUWl4RlFWTkJTaXhGUVVGTkxGVkJRVlVzVVVGQlZTeFRRVUZWU3l4RlFVRlZReXhGUVVGVExFTkJRMjVFTEVsQlFVbERMRVZCUVZFc1MwRkRXaXhQUVVGSlJDeEpRVUZaTEZOQlExcEVMRVZCUVZkQkxFVkJRVk1zUzBGQlMwTXNRMEZCVHl4SFFVTTNRaXhMUVVGTExGbEJRVmtzVTBGQlZVVXNSVUZCUjBNc1JVRkJSeXhEUVVGRkxFOUJRVTlLTEVWQlFWTkpMRVZCUVVkRUxFVkJRVWRFTEVOQlFVc3NRMEZCUnl4RFFVRkRMRU5CUXpkRkxFVkJaVUZRTEVWQlFVMHNWVUZCVlN4WlFVRmpMRk5CUVZWTExFVkJRVlZMTEVWQlFXZENMRU5CUXpsRUxFbEJRVWxETEVWQlFVMHNTMEZCU3l4UFFVRlBMRVZCUVVkRExFVkJRVThzUzBGQlN5eFBRVUZQTEVWQlF6VkRMRTlCUVU4c1MwRkJTeXhUUVVGVFJDeEZRVUZMUXl4RlFVRk5MRWRCUVUxUUxFVkJRVlZMTEVOQlFXTXNRMEZEYkVVc1JVRlBRVllzUlVGQlRTeFZRVUZWTEVsQlFVMHNVMEZCVldFc1JVRkJTME1zUlVGQll5eERRVU12UXl4UFFVRlBMRXRCUVVzc1RVRkJUU3hKUVVGSlJDeEZRVUZMUXl4RlFVRmpMRWxCUVVrc1EwRkRha1FzUlVGbFFXUXNSVUZCVFN4VlFVRlZMRWxCUVUwc1UwRkJWV0VzUlVGQlMwVXNSVUZCVDBNc1JVRkJWeXhEUVVNdlF5eExRVUZMTEUxQlFVMHNWMEZEV0N4TFFVRkxMRTFCUVZFc1MwRkJTeXhOUVVGTkxFMUJRVTBzUjBGRGJFTXNTVUZCU1VNc1JVRkJVeXhMUVVGTExFMUJRVTBzU1VGQlNVb3NSVUZCUzBVc1JVRkJUME1zUlVGQlZ5eEpRVUZKTEVWQlEzWkVMRTlCUVVsRExFbEJRVmNzU1VGQlVVRXNTVUZCVnl4SFFVTjJRa0VzUjBGRldDeExRVUZMTEUxQlFWRXNTVUZCU1VNc1IwRkJZeXhEUVVGRExFdEJRVXNzVFVGQlQwUXNRMEZCVFN4RFFVRkRMRVZCUXpWRExFZEJRMWdzUlVGUlFXcENMRVZCUVUwc1ZVRkJWU3hKUVVGTkxGTkJRVlZoTEVWQlFVc3NRMEZEYWtNc1QwRkJUeXhMUVVGTExGTkJRVk5CTEVWQlFVdEJMRVZCUVVzc1IwRkJUU3hOUVVGVExFbEJRVTBzUTBGRGVFUXNSVUZQUVdJc1JVRkJUU3hWUVVGVkxFOUJRVk1zVTBGQlZXRXNSVUZCU3l4RFFVTndReXhQUVVGUExFdEJRVXNzVlVGQlZVRXNSVUZCUzBFc1JVRkJTeXhIUVVGTlRTeEZRVUZYTEVsQlFVMHNRMEZETTBRc1JVRkRRVzVDTEVWQlFVMHNWVUZCVlN4TFFVRlBMRk5CUVZWaExFVkJRVXRGTEVWQlFVOURMRVZCUVZjc1EwRkRjRVFzU1VGQlNVa3NSVUZCU3l4TFFVRkxMRTFCUVUwc1JVRkRjRUlzVDBGQlQwRXNSVUZCUnl4SlFVRkpVQ3hGUVVGTFJTeEZRVUZQUXl4RFFVRlRMRWRCUVV0QkxFVkJRVmxKTEVWQlFVc3NTVUZETjBRc1JVRkZRWEJDTEVWQlFVMHNWVUZCVlN4VlFVRlpMRk5CUVZWeFFpeEZRVUZQVEN4RlFVRlhMRU5CUTNCRUxFbEJRVWxKTEVWQlFVc3NTMEZCU3l4TlFVRk5MRVZCUTNCQ0xFOUJRVTlCTEVWQlFVY3NVMEZCVTBNc1JVRkJUMHdzUTBGQlV5eEpRVUZOTEVkQlFVdEJMRVZCUVZsSkxFVkJRVXNzU1VGRGJrVXNSVUZUUVhCQ0xFVkJRVTBzVlVGQlZTeFRRVUZYTEZOQlFWVnpRaXhGUVVGTlF5eEZRVUYxUWl4RFFVVTVSQ3hSUVVSSlNDeEZRVUZMTEV0QlFVc3NUVUZCVFN4RlFVRkhTU3hGUVVGVkxFZEJRM2hDTEVWQlFVa3NSVUZCUnl4RlFVRkpSaXhGUVVGTExFOUJRVkVzU1VGRE4wSkZMRVZCUVZWS0xFVkJRVWNzU1VGQlNVVXNSVUZCU3l4RFFVRkRMRVZCUVVjc1QwRkJWeXhGUVVGTExFZEJRVXRGTEVWQlEyNUVMRTlCUVU5RUxFZEJRWGxDTEVOQlFVTkRMRVZCUVZVc1MwRkJUMG9zUTBGRGRFUXNSVUZQUVhCQ0xFVkJRVTBzVlVGQlZTeFJRVUZWTEZOQlFWVmhMRVZCUVV0VkxFVkJRWFZDTEVOQlF6VkVMRTlCUVU4c1MwRkJTeXhoUVVGaFZpeEZRVUZMUVN4RlFVRkxMRWRCUVUxVkxFTkJRWEZDTEVOQlEyeEZMRVZCVDBGMlFpeEZRVUZOTEZWQlFWVXNXVUZCWXl4VFFVRlZjMElzUlVGQlRVTXNSVUZCZFVJc1EwRkRha1VzU1VGQlNVZ3NSVUZCU3l4TFFVRkxMRTFCUVUwc1JVRkRjRUlzVDBGQlQwRXNSVUZCUnl4WFFVRlhSU3hEUVVGSkxFZEJRVXNzUTBGQlEwTXNSVUZCZDBKSUxFVkJRVXNzU1VGRGFFVXNSVUZGUVhCQ0xFVkJRVTBzVlVGQlZTeGhRVUZsTEZOQlFWVlhMRVZCUVV0RExFVkJRVTFoTEVWQlFXRkdMRVZCUVhWQ0xFTkJRM0JHTEVsQlFVbElMRVZCUVVzc1MwRkJTeXhOUVVGTkxFVkJRM0JDTEU5QlFVbEJMRVZCUVVjc1dVRkJXVlFzUlVGQlMwTXNSVUZCVFdFc1EwRkJWeXhKUVVGTkxFZEJRVXRHTEVWQlEzcERMRXRCUTBwSUxFTkJRMWdzUlVGSFFYQkNMRVZCUVUwc1ZVRkJWU3hQUVVGVExGTkJRVlZMTEVWQlFWVnJRaXhGUVVGMVFpeERRVU5vUlN4SlFVRkpTQ3hGUVVGTExFdEJRVXNzV1VGQldTeEZRVU4wUWswc1JVRkxTaXhQUVVwQlRpeEZRVUZITEZGQlFWRXNVMEZCVlZvc1JVRkJSME1zUlVGQlIydENMRVZCUVVjc1EwRkRNVUlzUjBGQlNTeERRVUZEZEVJc1JVRkJVMGNzUlVGQlIwTXNSVUZCUjJ0Q0xFTkJRVU1zUlVGRGFrSXNUMEZCVDBRc1JVRkJUVVVzUlVGRGNrSXNRMEZCUXl4RlFVTkhMRU5CUVVOR0xFZEJRVTlJTEVWQlEwUXNTMEZEU2tnc1EwRkRXQ3hGUVVWQmNFSXNSVUZCVFN4VlFVRlZMRlZCUVZrc1UwRkJWVXNzUlVGQlZTeERRVU0xUXl4SlFVRkpkMElzUlVGQlRTeERRVUZETEVWQlExQlVMRVZCUVVzc1MwRkJTeXhaUVVGWkxFVkJRekZDTEU5QlFVRkJMRVZCUVVjc1VVRkJVU3hUUVVGVldpeEZRVUZIUXl4RlFVRkhhMElzUlVGQlJ5eERRVU14UWl4UFFVRlBSU3hGUVVGSkxFMUJRVkY0UWl4RlFVRlRTU3hGUVVGSFJDeEZRVUZIYlVJc1EwRkJReXhGUVVGSFJTeERRVU14UXl4RFFVRkRMRVZCUTAxVUxFTkJRMWdzUlVGRFFYQkNMRVZCUVUwc1ZVRkJWU3hQUVVGVExGTkJRVlZMTEVWQlFWVjVRaXhGUVVGakxFTkJSM1pFTEZGQlJrbElMRVZCUVVrc1JVRkJSMnhETEVWQlFVbHhReXhGUVVOWVF5eEZRVUZMTEV0QlFVc3NVVUZCVVN4TFFVRkxMRTlCUVU4c1JVRkJSME1zUlVGQlZ5eEZRVUZIUXl4RlFVTTFReXhGUVVGRlFTeEZRVUZQUml4RlFVRkhMRXRCUVVzc1IwRkJSeXhOUVVOMlFuUkRMRVZCUVVsWkxFVkJRVk5hTEVWQlFVZDNReXhGUVVGTExFMUJRVTlPTEVsQlFVc3NTVUZCU1N4RlFVTjZReXhQUVVGUGJFTXNRMEZEV0N4RlFWZEJUeXhGUVVGTkxGVkJRVlVzVVVGQlZTeFRRVUZWYTBNc1JVRkJWME1zUlVGQllTeERRVU40UkN4SlFVRkpReXhGUVVGUExFdEJRVXNzVTBGQlUwWXNRMEZCVXl4RlFVTnNReXhIUVVGSlJTeEpRVUZUTEU5QlExUXNUMEZCVDBNc1IwRkJVeXhGUVVOd1FpeEpRVUZKUXl4RlFVRlpSaXhGUVVGTExGVkJRVmRITEVWQlFWbElMRVZCUVVzc1ZVRkJWMGtzUlVGQlQwb3NSVUZCU3l4TFFVTndSVXNzUlVGQlVVNHNTVUZCWjBJc1QwRkJXU3hGUVVGSkxFVkJRM2hEVWl4RlFVRkxUeXhKUVVGakxFOUJRVmtzUjBGQlMwMHNSVUZCU3l4UlFVRlJUaXhGUVVGWExFVkJRVWNzUzBGQlN5eFJRVUZSTEVWQlFVa3NSVUZEY0VZc1QwRkJUMGNzUjBGQlV5eFZRVUZaTEVOQlEzaENTeXhGUVVGTkxFOUJRMFlzVDBGQlVVUXNSVUZCVHl4RFFVTllMRWxCUVVzc1IwRkRSQ3hIUVVGSkxFVkJRVVZrTEVWQlFVbGhMRVZCUVVzc1MwRkJTeXhQUVVOb1FpeE5RVUZQTEVOQlFVVXNTMEZCVFN4SFFVRlBMRTFCUVU4c1EwRkJRMEVzUlVGQlN5eExRVUZMWWl4RFFVRkRMRVZCUVVkaExFVkJRVXNzVDBGQlQySXNRMEZCUXl4RFFVRkRMRU5CUVVVc1JVRkRhRVZqTEVWQlFWRXNSVUZEVWl4VFFVTktMRWxCUVVzc1IwRkRSQ3hIUVVGSkxFVkJRVVZrTEVWQlFVbGhMRVZCUVVzc1MwRkJTeXhQUVVOb1FpeFBRVUZCVEN4RlFVRlpMRU5CUVVNc1JVRkJTVXNzUlVGQlN5eExRVUZMWWl4RFFVRkRMRVZCUVVkUkxFVkJRVmtzUTBGQlF5eEZRVUZKU3l4RlFVRkxMRTlCUVU5aUxFTkJRVU1zUlVGRGRFUXNRMEZCUlN4TFFVRk5MRWRCUVU4c1RVRkJUMUVzUTBGQldTeEZRVVUzUTAwc1JVRkJVU3hGUVVOYUxFbEJRVXNzUjBGRlJDeFJRVUZUUlN4RlFVRlJMRXRCUVUwc1EwRkRia0lzUjBGQlNTeEZRVUZGUVN4SFFVRlRUQ3hGUVVGVkxFOUJRVkVzUTBGRE4wSkhMRVZCUVZFc1JVRkRVaXhUUVVGVFF5eERRVU5pTEVOQlEwRXNSMEZCU1N4RlFVRkZTQ3hGUVVGVlNTeERRVUZMTEVWQlFVbE1MRVZCUVZWTExFTkJRVXNzUlVGQlJTeFBRVU4wUXl4TFFVTlNMRU5CUTBFc1MwRkJUMEVzUlVGQlVTeEZRVUZIUVN4SlFVTmtUQ3hGUVVGVlN5eEZRVUZSTEVOQlFVTXNSVUZCU1V3c1JVRkJWVXNzUTBGQlN5eEZRVUZGU2l4RlFVRlZTU3hEUVVGTExFTkJRVU1zUlVGQlJTeFRRVU14UkVvc1JVRkJWVWtzUlVGQlVTeERRVUZETEVWQlFVa3NSVUZGTTBKSUxFVkJRVTlHTEVWQlFWVXNRMEZCUXl4RlFVRkZReXhGUVVGVkxFTkJRVU1zUTBGQlF5eEZRVU5vUTFvc1JVRkJTU3hIUVVOS1l5eEZRVUZSVGl4SlFVRm5RaXhQUVVGWkxFVkJRVWtzUlVGRGVFTXNVMEZEU2l4SlFVRkxMRWRCUTBRc1RVRkJUeXhEUVVGRkxFdEJRVTBzUjBGQlRTeE5RVUZQTEUxQlFWVXNRMEZET1VNc1EwRkZVaXhEUVVGRExFTkJRMHdzUlVGVlFXNURMRVZCUVUwc1ZVRkJWU3huUWtGQmEwSXNVMEZCVlRSRExFVkJRVmxVTEVWQlFXRlZMRVZCUVdFc1EwRkRPVVVzUjBGQlNVUXNTVUZCWlN4VFFVTm1RU3hGUVVGaExFdEJRVXNzVDBGQlR5eEZRVU42UWtNc1JVRkJZeXhQUVVOV1JDeEpRVUZsTEZGQlEyWXNUMEZCVDFBc1IwRkJVeXhGUVVWNFFpeEpRVUZKVXl4RlFVRkxMRXRCUVVzc1UwRkJVMFlzUTBGQlZTeEhRVUZMTEV0QlFVc3NVMEZCVXl4TFFVRkxMRTlCUVU4c1EwRkJReXhGUVVGSFRpeEZRVUZaVVN4RlFVRkhMRlZCUVZkUUxFVkJRVmxQTEVWQlFVY3NWVUZCVjA0c1JVRkJUMDBzUlVGQlJ5eExRVU5zU1VNc1IwRkJUU3hEUVVGRFZDeEZRVUZWTEVOQlFVTXNSMEZCUzBVc1NVRkJVMFlzUlVGQlZTeERRVUZETEVWQlFVVkRMRVZCUVZVc1EwRkJReXhEUVVGRExFVkJRVWNzVFVGQlRTeEZRVU5zUlN4SlFVRkpXaXhGUVVGSllTeEZRVUZMTEZGQlFWRkpMRVZCUVZrc1JVRkJSeXhMUVVGTExGRkJRVkVzUlVGRE4wTXNRMEZCUTBNc1IwRkJaV3hDTEVWQlFVbGhMRVZCUVVzc1MwRkJTeXhSUVVGVkxFdEJRVXNzVTBGQlUwRXNSVUZCU3l4TFFVRkxZaXhEUVVGRExFVkJRVWRwUWl4RFFVRlZMRWRCUVVzc1IwRkRia1pxUWl4SlFVTktMRWxCUVVsakxFVkJRVkZPTEVsQlFXZENMRTlCUVZrc1JVRkJTU3hGUVVNMVF5eFBRVUZQUlN4SFFVRlRMRlZCUVZrc1EwRkRlRUpMTEVWQlFVMHNUMEZEUml4UFFVRlJSQ3hGUVVGUExFTkJRMWdzU1VGQlN5eEhRVU5FTEVkQlFVa3NSVUZCUldRc1IwRkJTeXhGUVVOUUxFMUJRVThzUTBGQlJTeExRVUZOTEVkQlFVOHNUVUZCVHl4RFFVRkRZU3hGUVVGTExFdEJRVXRpTEVOQlFVTXNSVUZCUjJFc1JVRkJTeXhQUVVGUFlpeERRVUZETEVOQlFVTXNRMEZCUlN4RlFVTm9SV01zUlVGQlVTeEZRVU5TTEZOQlEwb3NTVUZCU3l4SFFVTkVMRWRCUVVrc1JVRkJSV1FzUjBGQlN5eEZRVU5RTEU5QlFVRlJMRVZCUVZrc1EwRkJReXhGUVVGSlN5eEZRVUZMTEV0QlFVdGlMRU5CUVVNc1JVRkJSMUVzUlVGQldTeERRVUZETEVWQlFVbExMRVZCUVVzc1QwRkJUMklzUTBGQlF5eEZRVU4wUkN4RFFVRkZMRXRCUVUwc1IwRkJUeXhOUVVGUFVTeERRVUZaTEVWQlJUZERUU3hGUVVGUkxFVkJRMW9zU1VGQlN5eEhRVVZFTEZGQlFWTkZMRVZCUVZFc1MwRkJUU3hEUVVOdVFpeEhRVUZKTEVWQlFVVkJMRWRCUVZOTUxFVkJRVlVzVDBGQlVTeERRVU0zUWtjc1JVRkJVU3hGUVVOU0xGTkJRVk5ETEVOQlEySXNRMEZEUVN4SFFVRkpMRVZCUVVWSUxFVkJRVlZKTEVOQlFVc3NSMEZCU3l4RlFVTjBRaXhMUVVOU0xFTkJRMEVzUzBGQlQwRXNSVUZCVVN4RlFVRkhRU3hKUVVOa1RDeEZRVUZWU3l4RlFVRlJMRU5CUVVNc1JVRkJTVXdzUlVGQlZVc3NRMEZCU3l4RlFVRkZTaXhGUVVGVlNTeERRVUZMTEVOQlFVTXNSVUZCUlN4VFFVTXhSRW9zUlVGQlZVa3NSVUZCVVN4RFFVRkRMRVZCUVVsTUxFVkJRVlZMTEVWQlFWRXNRMEZCUXl4RlFVRkZMRTlCUVZNc1JVRkZla1JJTEVWQlFVOUdMRVZCUVZVc1EwRkJReXhGUVVGRlF5eEZRVUZWTEVOQlFVTXNRMEZCUXl4RlFVTm9RMW9zUlVGQlNXRXNSVUZCU3l4TFFVRkxMRTlCUTJSRExFVkJRVkZPTEVsQlFXZENMRTlCUVZrc1JVRkJTU3hGUVVONFF5eFRRVU5LTEVsQlFVc3NSMEZEUkN4TlFVRlBMRU5CUVVVc1MwRkJUU3hIUVVGTkxFMUJRVThzVFVGQlZTeERRVU01UXl4RFFVVlNMRU5CUVVNc1EwRkRUQ3hGUVZWQmJrTXNSVUZCVFN4VlFVRlZMRk5CUVZjc1UwRkJWV0VzUlVGQlN5eERRVU4wUXl4SlFVRkpiVU1zUlVGQlZ5eExRVUZMTEUxQlEyaENWaXhGUVVGWFF5eEZRVU5tTEVkQlFVbFRMRVZCUVZNc1QwRkRWRllzUlVGQldWY3NSMEZCV1ZZc1JVRkJXVlVzVDBGRmJrTXNRMEZEUkZnc1JVRkJXU3hEUVVGRExFVkJRVWRETEVWQlFWa3NRMEZCUXl4RlFVTTNRaXhSUVVGVGFFUXNSVUZCU1N4RlFVRkhMRU5CUVVONVJDeEZRVUZUTEU5QlFWRjZSQ3hKUVVGTExFTkJSMjVETEVkQlJrRXJReXhGUVVGVkwwTXNRMEZCUXl4RlFVRkplVVFzUlVGQlV5eFRRVU40UWxRc1JVRkJWV2hFTEVOQlFVTXNSVUZCU1hOQ0xFbEJRVkVzVDBGQldTeEZRVUZKYlVNc1JVRkJVeXhSUVVGUmJrTXNSVUZCU3l4RlFVRkhMRXRCUVVzc1VVRkJVU3hGUVVONlJUQkNMRVZCUVZWb1JDeERRVUZETEVkQlFVc3JReXhGUVVGVkwwTXNRMEZCUXl4RlFVRkZMRTlCUXpkQ0xFOUJRMHA1UkN4RlFVRlhWaXhGUVVGVkwwTXNRMEZCUXl4RlFVRkZaMFFzUlVGQlZXaEVMRU5CUVVNc1EwRkJReXhEUVVONFF5eERRVU5CSzBNc1JVRkJWU3hSUVVGUkxFVkJRMnhDUXl4RlFVRlZMRkZCUVZFc1EwRkRkRUlzUTBGRFFTeE5RVUZQTEVOQlFVVXNWVUZCVjBRc1JVRkJWeXhWUVVGWFF5eEZRVUZYTEV0QlFVMVRMRU5CUVZNc1EwRkRlRVVzUlVGalFXaEVMRVZCUVUwc1ZVRkJWU3haUVVGakxGTkJRVlZyUkN4RlFVRlBReXhGUVVGVlF5eEZRVUZYUXl4RlFVRlhMRU5CUXpORkxFZEJRVWxJTEVWQlFVMHNWMEZCWVN4TFFVRkxMRk5CUTNoQ0xFMUJRVTBzU1VGQlNTeE5RVUZOTEc5RFFVRnZReXhGUVVWNFJDeEhRVUZKTEV0QlFVc3NVMEZCVjBFc1JVRkJUU3hSUVVOMFFpeFBRVUZKTEV0QlFVc3NVMEZCVjBFc1JVRkJUU3hSUVVOMFFpeFBRVVZCTEV0QlFVc3NVVUZEUlVVc1NVRkJZeXhQUVVGWkxFOUJRVmx3UkN4RlFVRk5MRlZCUVZWQkxFVkJRVTBzWlVGQlpXdEVMRU5CUVVzc1JVRkJSMFVzUTBGQlV5eEZRVU5vUjBRc1NVRkJZU3hQUVVGWkxFOUJRVmx1UkN4RlFVRk5MRlZCUVZWQkxFVkJRVTBzWlVGQlpTeEpRVUZKTEVWQlFVZHRSQ3hEUVVGUkxFVkJNRUp3Unl4UlFVNUpSeXhGUVVGWExFdEJRVXNzVTBGRGFFSkRMRVZCUVdGMlJDeEZRVUZOTEdWQlFXVXNTVUZCU1N4RlFVTjBRM2RFTEVWQlFXTjRSQ3hGUVVGTkxHVkJRV1ZyUkN4RFFVRkxMRVZCUjNoRFR5eEZRVUZqTEVkQlFVMURMRVZCUVdVc1IwRkJUVU1zUlVGQmEwSXpSQ3hGUVVGTkxGRkJRVkYxUkN4RlFVRlpReXhGUVVGaFJpeERRVUZSTEVWQlEzWkhSeXhIUVVGbFF5eEhRVUZqTEVOQlEyaERMRWxCUVVsRkxFVkJRV00xUkN4RlFVRk5MRkZCUVZGMVJDeEZRVUZaUXl4RlFVRmhSaXhEUVVGUkxFVkJRemRFVHl4RlFVRlhUaXhGUVVGWExFdEJRVTFQTEVWQlFXOUNVQ3hGUVVGWExHTkJRV1ZSTEVWQlFXMUNVaXhGUVVGWExHRkJRM2hIVXl4RlFVRlpVaXhGUVVGWkxFdEJRVTFUTEVWQlFYRkNWQ3hGUVVGWkxHTkJRV1ZWTEVWQlFXOUNWaXhGUVVGWkxHRkJRMnhJTEVkQlFVbExMRWRCUVZsSExFZEJSVm9zUjBGQlNVd3NTVUZCYjBJc1IwRkRjRUlzUjBGQlNVTXNTVUZCWjBJc1IwRkRhRUlzUjBGQlNVTXNSMEZCV1Vjc1IwRkJZVmdzUlVGQlZ5eERRVVZ3UXl4SlFVRkpZeXhGUVVGVlRpeEZRVUZUTEU5QlFVOUZMRVZCUVdsQ1FTeEZRVUZwUWl4UFFVRlRMRU5CUVVNc1EwRkJReXhGUVVOMlJVc3NSVUZCVjBvc1JVRkJWU3hQUVVGUFJTeEZRVUZyUWtFc1JVRkJhMElzVDBGQlV5eERRVUZETEVOQlFVTXNSVUZETDBVc1IwRkJTU3hEUVVGRExFOUJRVThzUjBGQlIwTXNSVUZCVTBNc1EwRkJVU3hGUVVGSExFTkJReTlDTEVsQlFVbHVSQ3hGUVVGVGIwTXNSVUZCVlVVc1JVRkJWeXhYUVVGWldTeEZRVUZUUXl4RFFVRlJMRVZCUXk5RUxFZEJRVWx1UkN4SFFVRlZRU3hGUVVGUExFMUJRMnBDTEU5QlFVOUJMRVZCUVU4c1MwRkRkRUlzUTBGRFNpeFZRVVZMTWtNc1JVRkJZeXhIUVV0dVFpeEhRVUZKU1N4SFFVRmhXaXhGUVVGWExFTkJRM2hDTEVsQlFVbHBRaXhGUVVGWFRDeEZRVUZWTEU5QlFVOUZMRVZCUVd0Q1FTeEZRVUZyUWl4UFFVRlRMRU5CUVVNc1EwRkJReXhGUVVNelJXcEVMRVZCUVZOdFF5eEZRVUZWU1N4RlFVRlpMRmRCUVZsaExFTkJRVkVzUlVGRGRrUXNSMEZCU1hCRUxFZEJRVlZCTEVWQlFVOHNUVUZEYWtJc1QwRkJUMEVzUlVGQlR5eExRVU4wUWl4VlFVVkxhME1zUjBGRFJGVXNSMEZCV1VZc1NVRkJiMElzUlVGQlJ5eERRVU51UXl4SlFVRkpVU3hGUVVGVlRpeEZRVUZUTEU5QlFVOUZMRVZCUVdsQ1FTeEZRVUZwUWl4UFFVRlRMRU5CUVVNc1EwRkJReXhGUVVOMlJUbERMRVZCUVZOclF5eEZRVUZUU1N4RlFVRlhMRmRCUVZsWkxFTkJRVThzUlVGRGNFUXNSMEZCU1d4RUxFZEJRVlZCTEVWQlFVOHNUVUZEYWtJc1QwRkJUMEVzUlVGQlR5eExRVU4wUWl4WFFVbElMRU5CUVVNMFF5eEhRVUZaTEVOQlFVTkhMRWRCUVdGS0xFbEJRV2RDTEVWQlFVY3NRMEZEYmtRc1NVRkJTVlVzUlVGQlYxSXNSVUZCYTBJc1QwRkJVeXhGUVVOMFExTXNSVUZCV1U0c1JVRkJiVUlzVDBGQlV5eEZRVU40UTA4c1JVRkJWMVlzUlVGQmEwSlJMRU5CUVZFc1JVRkJSVkFzUlVGQmFVSlBMRU5CUVZFc1EwRkJReXhGUVVOcVJVY3NSVUZCV1ZJc1JVRkJiVUpOTEVOQlFWTXNSVUZCUlV3c1JVRkJhMEpMTEVOQlFWTXNRMEZCUXl4RlFVTXhSU3hIUVVGSlJTeEpRVUZqUkN4RlFVRlZMRU5CUTNoQ1lpeEZRVUZyUWl4RlFVTnNRa1lzUlVGQlkzcEVMRVZCUVUwc1MwRkJTM1ZFTEVWQlFWa3NSVUZCU1N4RlFVTjZRMGNzUlVGQlpURkVMRVZCUVUwc1MwRkJTM2RFTEVWQlFXRXNSVUZCU1N4RlFVTXpReXhSUVVOS0xFTkJRMG9zUTBGRFFVY3NSVUZCYTBKRExFVkJRMlJCTEVWQlFXTXNSVUZEWkVnc1JVRkJZM3BFTEVWQlFVMHNTMEZCUzNWRUxFTkJRVlVzUlVGSGJrTkhMRVZCUVdVeFJDeEZRVUZOTEV0QlFVdDNSQ3hEUVVGWExFTkJSVGRETEVOQlEwRXNSMEZCU1VNc1IwRkJaVTRzUlVGRFppeFBRVUZQYmtRc1JVRkJUU3hwUWtGQmFVSjFSQ3hGUVVGWlF5eEZRVUZoUml4RlFVRlZTQ3hEUVVGUkxFVkJRemRGTEVkQlFVbFBMRWRCUVdkQ1RpeEZRVU5vUWl4UFFVRlBjRVFzUlVGQlRTeHBRa0ZCYVVKM1JDeEZRVUZoUkN4RlFVRlpSQ3hGUVVGVlJpeERRVUZUTEVOQlEyeEdMRVZCUjBGd1JDeEZRVUZOTEdsQ1FVRnRRaXhUUVVGVk1FVXNSVUZCVVVNc1JVRkJaMEpETEVWQlFXRjJSU3hGUVVGVkxFTkJRemxGTEVsQlFVbDNSU3hGUVVGWE4wVXNSVUZCVFN4UlFVRlJNRVVzUlVGQlVVTXNSVUZCWjBKRExFTkJRVmNzUlVGRGFFVXNSMEZCU1VNc1NVRkJZU3hIUVVOaUxFZEJRVWtzUTBGQlF6ZEZMRVZCUVUwc1MwRkJTekJGTEVOQlFVMHNSVUZEYkVJc1dVRkZRMGNzUlVGQlZ5eEhRVU5vUWpsQ0xFZEJRVTBzUjBGQlR5dzRRa0ZCT0VJc1JVRkZMME1zVDBGQlR5OURMRVZCUVUwc1ZVRkJWVEJGTEVWQlFWRnlSU3hEUVVGUkxFTkJRek5ETEVWQlEwRk1MRVZCUVUwc1ZVRkJXU3hUUVVGVk1FVXNSVUZCVVhKRkxFVkJRVlVzUTBGRk1VTXNVVUZFU1hsRkxFVkJRVlVzUjBGRFVFRXNSMEZCVXl4RFFVTmFMRWxCUVVsMFF5eEZRVUZQYTBNc1JVRkJUeXhMUVVGTlN5eEZRVUZsVEN4RlFVRlBMR0ZCUVdOTkxFVkJRV0ZPTEVWQlFVOHNWMEZEYUVZc1IwRkJTV3hETEVWQlFVMHNRMEZEVGl4SlFVRkpla0lzUlVGQlVYbENMRVZCUVVzc1QwRkJUM1ZETEVWQlFXRkJMRVZCUVdFc1QwRkJVeXhEUVVGRExFTkJRVU1zUlVGRGVrUTVSQ3hGUVVGVFdpeEZRVUZUTWtVc1JVRkJXV3BGTEVOQlFVc3NSVUZEZGtNc1IwRkJTVVVzUjBGQlZVRXNSVUZCVHl4TlFVTnFRaXhQUVVGUFFTeEZRVUZQTEV0QlEzUkNMRU5CUTBFMlJDeEZRVUZWT1VVc1JVRkJUU3hMUVVGTE1FVXNRMEZCVFN4RFFVTXZRaXhEUVVWS0xFVkJRMEV4UlN4RlFVRk5MR1ZCUVdsQ0xGTkJRVlZwUml4RlFVRk5MRU5CUTI1RExFbEJRVWxETEVWQlFWRkVMRVZCUVVzc1RVRkJUMFVzUlVGQlUwWXNSVUZCU3l4UFFVTjBReXhOUVVGUExFTkJRVVVzVDBGQlVVVXNSVUZCVVN4alFVRmxMRU5CUVVNc1EwRkJRMFFzUTBGQlN5eERRVUZETEVWQlFVY3NZVUZCWXl4RFFVRkRMRU5CUVVNc1JVRkJSeXhMUVVGTkxFOUJRVmNzVjBGQldVRXNSVUZCVFN4UFFVRlBMRU5CUVVVc1EwRkRkRWdzUlVGUlFXeEdMRVZCUVUwc1MwRkJUeXhUUVVGVk1FVXNSVUZCVVZVc1JVRkJXU3hEUVVOMlF5eEpRVUZKUXl4RlFVRm5RbGdzUlVGQlR5eGpRVUZsU3l4RlFVRmxUQ3hGUVVGUExHRkJRV05zUXl4RlFVRlBhME1zUlVGQlR5eExRVU0xUml4SFFVRkpWU3hKUVVGbExFbEJRVkUxUXl4RlFVRk5MRU5CUXpkQ0xFbEJRVWs0UXl4RlFVRmxVQ3hGUVVGaExFOUJTV2hETEVkQlFVbExMRWxCUVdVc1NVRkJVVXdzUlVGQllVOHNSVUZCWlN4RFFVRkRMRWxCUVUwc1JVRkJSeXhEUVVNM1JDeEpRVUZKUXl4RlFVRmpSaXhGUVVGakxFOUJSV2hETEVkQlFVbEZMRWxCUVdkQ0xFVkJRMmhDTEUxQlFVOHNSMEZKV0N4UlFVWkpReXhGUVVGcFFrUXNSVUZCWXl4RlFVTXZRa1VzUlVGQmNVSkVMRVZCUTJ4Q1F5eEhRVUZ6UWl4SFFVRkhMRU5CUXpWQ0xFZEJRVWxXTEVWQlFXRlZMRU5CUVd0Q0xFVkJRVWtzUlVGRGJrTXNUMEZCU1VFc1JVRkJjVUpJTEVWQlFXVXNTVUZGY0VOYUxFVkJRVThzUzBGQlR5eFBRVU5rU3l4RlFVRmhMRWxCUVVrc1IwRkhha0pWTEVWQlFYRkNSQ3hKUVVOeVFtUXNSVUZCVHl4alFVRm5RbGNzUlVGQll5eE5RVUZOTEVWQlFVZEpMRVZCUVhGQ0xFTkJRVU1zUjBGRmVFVm1MRVZCUVU4c1YwRkJZVmNzUlVGQlkwa3NRMEZCYTBJc1JVRkJSU3hGUVVGRlZpeEZRVUZoVlN4RFFVRnJRaXhEUVVGRExFVkJRVVVzVDBGQlR5eEZRVU14Uml4SFFVVllRU3hIUVVOS0xFTkJSVUVzVFVGQlR5eEZRVU5ZTEV0QlEwc3NRMEZGUkN4SlFVRkpReXhGUVVGaExFVkJRVVZZTEVWQlFXRlBMRVZCUVdVc1EwRkJReXhGUVVOb1JDeFBRVUZCV2l4RlFVRlBMRmRCUVdGc1F5eEZRVUZMTEV0QlFVdHJSQ3hEUVVGVkxFVkJRMnBETEVWQlExZ3NRMEZEU2l4TFFVTkxMRU5CUTBRc1NVRkJTVU1zUlVGQldVNHNSVUZCWXl4UFFVTXhRazhzUlVGQlpVUXNSVUZCV1N4RlFVTXpRa1VzUlVGQlQxSXNSVUZCWTA4c1EwRkJXU3hGUVVGRllpeEZRVUZoWVN4RFFVRlpMRU5CUVVNc1JVRkRha1VzUjBGQlNVTXNSVUZCU3l4UFFVRlJMRU5CUldKdVFpeEZRVUZQTEV0QlFVOXRRaXhGUVVOa0xFbEJRVWxJTEVWQlFXRllMRVZCUVdGWkxFTkJRVk1zUlVGQlNVVXNSVUZCU3l4UFFVRlBMRTlCUVZNc1JVRkRhRVZ1UWl4RlFVRlBMRmRCUVdGdFFpeEZRVUZMTEV0QlFVdElMRU5CUVZVc1EwRkROVU1zUzBGRFN5eERRVU5FTEVsQlFVbEpMRVZCUVZkRUxFVkJRVXNzVTBGRGNFSlNMRVZCUVdOTkxFTkJRVk1zUlVGQlNVY3NSVUZETTBJc1NVRkJTVU1zUlVGQllVUXNSVUZCVXl4UFFVRlRMRVZCUTI1RFppeEZRVUZoV1N4RFFVRlRMRVZCUVVsSkxFVkJRekZDY2tJc1JVRkJUeXhYUVVGaGIwSXNSVUZCVTBNc1EwRkJWU3hGUVVGRkxFOUJRVThzUTBGRGNFUXNRMEZEUVN4TlFVRlBMRVZCUTFnc1EwRkRTaXhGUVV0QkwwWXNSVUZCVFN4UlFVRlZMRk5CUVZWblJ5eEZRVUZUUXl4RlFVRlRja0lzUlVGQllTeERRVU55UkN4SlFVRkpjMElzUlVGQlZVWXNSVUZCVVN4UFFVRlJSeXhGUVVGalNDeEZRVUZSTEZkQlFWbEpMRVZCUVdkQ1NpeEZRVUZSTEdGQlEzQkdTeXhGUVVGVlNpeEZRVUZSTEU5QlFWRkxMRVZCUVdOTUxFVkJRVkVzVjBGQldVMHNSVUZCWjBKT0xFVkJRVkVzWVVGRmNFWlBMRVZCUVdkQ05VSXNSVUZCV1RCQ0xFVkJRV0ZJTEVOQlFWY3NSVUZEZUVRc1IwRkJTVXNzU1VGQmEwSXNSVUZEYkVJc1QwRkJUMEVzUlVGUFdDeEpRVUZKUXl4RlFVRlpVQ3hGUVVGVlJ5eEZRVUZWU0N4RlFVRlZSeXhGUVVNeFEwc3NSVUZCYlVKT0xFVkJRV01zVVVGQlZVWXNSVUZCVlU4c1IwRkRja1JGTEVWQlFXMUNTaXhGUVVGakxGRkJRVlZHTEVWQlFWVkpMRWRCUTNwRUxFOUJRVTlETEVWQlFXMUNReXhEUVVNNVFpeEZRVXRCTTBjc1JVRkJUU3hWUVVGVkxFdEJRVThzVTBGQlZUUkhMRVZCUVZVc1EwRkRka01zU1VGQlNUZEZMRVZCUVVzc1MwRkJTeXhSUVVGUk5rVXNSVUZCVlRWRkxFVkJRVmNzUlVGRE0wTXNUMEZCVDBzc1IwRkJVeXhWUVVGWkxFTkJRM2hDTEVsQlFVbDNSU3hGUVVGSk9VVXNSVUZCUnl4TFFVRkxMRVZCUTJoQ0xFOUJRVWs0UlN4RlFVRkZMRkZCUTBaQkxFVkJRVVVzVFVGQlVVRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1IwRkRhRUpCTEVOQlExZ3NRMEZCUXl4RFFVTk1MRVZCUjBFM1J5eEZRVUZOTEZWQlFWVXNUMEZCVXl4VFFVRlZORWNzUlVGQlZTeERRVU42UXl4SlFVRkpOMFVzUlVGQlN5eExRVUZMTEZGQlFWRTJSU3hGUVVGVk5VVXNSVUZCVnl4RlFVTXpReXhQUVVGUFN5eEhRVUZUTEZWQlFWa3NRMEZEZUVJc1NVRkJTWGRGTEVWQlFVazVSU3hGUVVGSExFdEJRVXNzUlVGRGFFSXNUMEZCU1RoRkxFVkJRVVVzVVVGRFJrRXNSVUZCUlN4TlFVRlJRU3hGUVVGRkxFMUJRVTBzUTBGQlF5eEhRVU5vUWtFc1EwRkRXQ3hEUVVGRExFTkJRMHdzUlVGRFFTeFBRVUZQTEdWQlFXVTNSeXhGUVVGTkxGVkJRVmNzWTBGQlpTeERRVWxzUkN4SlFVRkxMRlZCUVZrc1EwRkRZaXhQUVVGUExFdEJRVXNzV1VGRGFFSXNSVUZEUVN4WFFVRlpMRWRCUTFvc1lVRkJZeXhGUVVOc1FpeERRVUZETEVWQlJVUkJMRVZCUVUwc1ZVRkJWU3hQUVVGVExGVkJRVmtzUTBGQlJTeFBRVUZQTEV0QlFVc3NUVUZCVFN4UFFVRlBMRU5CUVVjc1JVRkZia1ZCTEVWQlFVMHNWVUZCVlN4UFFVRlRMRlZCUVZrc1EwRkJSU3hQUVVGUExFdEJRVXNzVFVGQlRTeFBRVUZQTEVOQlFVY3NSVUZOYmtWQkxFVkJRVTBzVlVGQlZTeE5RVUZSTEZWQlFWa3NRMEZEYUVNc1MwRkJTeXhOUVVGTkxGTkJRVmNzUjBGRGRFSXNTVUZCU1dsQ0xFVkJRVk1zU1VGQlNXcENMRVZCUVUwc1QwRkJWeXhMUVVGTExGTkJRVlVzUzBGQlN5eFpRVUZaTEVWQlEyeEZMRTlCUVVGcFFpeEZRVUZQTEUxQlFWRXNTMEZCU3l4TlFVTndRa0VzUlVGQlR5eE5RVUZSTEV0QlFVc3NUVUZEWWtFc1EwRkRXQ3hGUVUxQmFrSXNSVUZCVFN4VlFVRlZMRmxCUVdNc1UwRkJWVGhITEVWQlFVOHNRMEZETTBNc1NVRkJTVGRHTEVWQlFWTXNTVUZCU1dwQ0xFVkJRVTBzVDBGQlZ5eExRVUZMTEZOQlFWVXNTMEZCU3l4WlFVRlpMRVZCUTJ4RkxFOUJRVUZwUWl4RlFVRlBMRTFCUVZFc1MwRkJTeXhOUVVGTkxGbEJRVmsyUml4RFFVRkxMRVZCUXpORE4wWXNSVUZCVHl4TlFVRlJMRXRCUVVzc1RVRkRZa0VzUTBGRFdDeEZRVVZCYWtJc1JVRkJUU3hWUVVGVkxGRkJRVlVzVTBGQlZTdEhMRVZCUVZjc1EwRkRka05CTEVsQlFXTXNVMEZCVlVFc1JVRkJXU3haUVVONFF5eEpRVUZKUXl4RlFVRk5MRXRCUVVzc1QwRkJUeXhGUVVGSFF5eEZRVUZOTEV0QlFVc3NUMEZCVHl4RlFVTXpReXhQUVVGSlJDeEpRVUZSTEU5QlEwUXNTMEZCU3l4VFFVRlRRU3hGUVVGTFF5eEZRVUZMTEVkQlFVMUdMRU5CUVZNc1JVRkRNME1zUTBGQlF5eERRVU5hTEVWQlJVRXZSeXhGUVVGTkxGVkJRVlVzVlVGQldTeFZRVUZaTEVOQlEzQkRMRWxCUVVsclNDeEZRVUZWTEVOQlFVTXNSVUZEWml4WlFVRkxMRTFCUVUwc1UwRkJVeXhMUVVGTExFOUJRVThzUlVGQlJ5eExRVUZMTEU5QlFVOHNSVUZCUnl4SFFVRk5MRWRCUVU4c1MwRkJUU3hGUVVGSExGTkJRVlV4Unl4RlFVRkhReXhGUVVGSExFTkJRVVY1Unl4RlFVRlJMRXRCUVVzeFJ5eERRVUZETEVOQlFVY3NRMEZCUXl4RlFVTnlSekJITEVOQlExZ3NSVUZGUVd4SUxFVkJRVTBzVlVGQlZTeFpRVUZqTEZWQlFWa3NRMEZEZEVNc1NVRkJTV3RJTEVWQlFWVXNRMEZCUXl4RlFVTm1MRmxCUVVzc1RVRkJUU3hUUVVGVExFdEJRVXNzVDBGQlR5eEZRVUZITEV0QlFVc3NUMEZCVHl4RlFVRkhMRWRCUVUwc1IwRkJUeXhMUVVGTkxFVkJRVWNzVTBGQlZURkhMRVZCUVVkRExFVkJRVWNzUTBGQlJYbEhMRVZCUVZFc1MwRkJTM3BITEVOQlFVTXNRMEZCUnl4RFFVRkRMRVZCUTNKSGVVY3NRMEZEV0N4RlFVVkJiRWdzUlVGQlRTeFZRVUZWTEZOQlFWY3NWVUZCV1N4RFFVTnVReXhQUVVGUExFdEJRVXNzVVVGQlVTeEZRVUZGTEZOQlFWTXNRMEZEYmtNc1JVRkpRVUVzUlVGQlRTeFZRVUZWTEdkQ1FVRnJRaXhUUVVGVllTeEZRVUZMUlN4RlFVRlBMRU5CUTNCRUxFOUJRVThzUzBGQlN5eEpRVUZKUml4RlFVRkxSU3hGUVVGUExFVkJRVXNzUTBGRGNrTXNSVUZQUVdZc1JVRkJUU3hWUVVGVkxHVkJRV2xDTEZOQlFWVmhMRVZCUVV0elFpeEZRVUZoTEVOQlJYcEVMRTlCUkVGQkxFVkJRV05CTEVkQlFXVXNRMEZCUXl4RlFVTXhRblJDTEVsQlFWRXNUMEZEUkN4TFFVRkxMRTFCUVUwc1VVRkJVWE5DTEVOQlFWY3NSVUZGYkVNc1MwRkJTeXhOUVVGTkxHOUNRVUZ2UW5SQ0xFVkJRVXNzUzBGQlN5eFRRVUZWTEVkQlFVOXpRaXhEUVVGWExFTkJRMmhHTEVWQlNVRnVReXhGUVVGTkxGVkJRVlVzWTBGQlowSXNVMEZCVldFc1JVRkJTeXhEUVVNelF5eEpRVUZKY0VJc1JVRkJTU3hMUVVGTExHVkJRV1Z2UWl4RlFVRkxiVUlzUlVGQlZ5eEZRVU0xUXl4UFFVRlBka01zUjBGQlMwRXNSVUZCUlN4RFFVRkRMRU5CUTI1Q0xFVkJUMEZQTEVWQlFVMHNWVUZCVlN4alFVRm5RaXhUUVVGVllTeEZRVUZMYzBJc1JVRkJZU3hEUVVWNFJDeFBRVVJCUVN4RlFVRmpRU3hIUVVGbExFTkJRVU1zUlVGRE1VSjBRaXhKUVVGUkxFOUJRMFFzUzBGQlN5eE5RVUZOTEZGQlFWRnpRaXhEUVVGWExFVkJSV3hETEV0QlFVc3NUVUZCVFN4dFFrRkJiVUowUWl4RlFVRkxMRXRCUVVzc1UwRkJWU3hIUVVGUGMwSXNRMEZCVnl4RFFVTXZSU3hGUVVsQmJrTXNSVUZCVFN4VlFVRlZMR0ZCUVdVc1UwRkJWV0VzUlVGQlN5eERRVU14UXl4SlFVRkpjRUlzUlVGQlNTeExRVUZMTEdOQlFXTnZRaXhGUVVGTGJVSXNSVUZCVnl4RlFVTXpReXhQUVVGUGRrTXNSMEZCUzBFc1JVRkJSU3hEUVVGRExFTkJRMjVDTEVWQlVVRlBMRVZCUVUwc1ZVRkJWU3h0UWtGQmNVSXNVMEZCVldFc1JVRkJTM05DTEVWQlFXRXNRMEZETjBRc1QwRkJUeXhMUVVGTExFMUJRVTBzYlVKQlFXMUNkRUlzUlVGQlN5eExRVUZMTEZOQlFWVXNSMEZCVFhOQ0xFZEJRV1VzUTBGQlF5eERRVUZETEVOQlEzQkdMRVZCVVVGdVF5eEZRVUZOTEZWQlFWVXNiMEpCUVhOQ0xGTkJRVlZoTEVWQlFVdHpRaXhGUVVGaExFTkJRemxFTEU5QlFVOHNTMEZCU3l4TlFVRk5MRzlDUVVGdlFuUkNMRVZCUVVzc1MwRkJTeXhUUVVGVkxFZEJRVTF6UWl4SFFVRmxMRU5CUVVNc1EwRkJReXhEUVVOeVJpeEZRVWxCYmtNc1JVRkJUU3hWUVVGVkxHZENRVUZyUWl4VFFVRlZZU3hGUVVGTFJTeEZRVUZQTEVOQlEzQkVMRTlCUVU4c1MwRkJTeXhWUVVGVlJpeEZRVUZMUVN4RlFVRkxMRWRCUVUwc1UwRkJWVXdzUlVGQlIwTXNSVUZCUnl4RFFVRkZMRTFCUVZFc1EwRkJSU3hOUVVGUFRTeERRVUZOTEVOQlFVa3NRMEZCUXl4SlFVRk5MRU5CUXpsR0xFVkJZVUZtTEVWQlFVMHNWVUZCVlN4VFFVRlhMRk5CUVZWWExFVkJRVXRETEVWQlFVMWhMRVZCUVdGelJpeEZRVUZYTEVOQlEyaEZRU3hKUVVGakxGTkJRVlZCTEVWQlFWa3NWVUZEZUVNc1NVRkJTVWNzUlVGQlZTeERRVUZETEVWQlEyWXNXVUZCU3l4TlFVRk5MRk5CUVZOMlJ5eEZRVUZMUXl4RlFVRk5ZU3hGUVVGaExFZEJRVThzUzBGQlRTeEZRVUZITEZOQlFWVnFRaXhGUVVGSFF5eEZRVUZITEVOQlEzaEZMRTlCUVVGNVJ5eEZRVUZSTEV0QlFVc3NRMEZCUXpGSExFVkJRVWRETEVOQlFVTXNRMEZCUXl4RlFVTmFlVWNzUlVGQlVTeFBRVUZUU0N4RlFVRlpTU3hIUVVGUkxFMUJRMmhFTEVOQlFVTXNSVUZEVFVRc1EwRkRXQ3hGUVZWQmJFZ3NSVUZCVFN4VlFVRlZMRk5CUVZjc1UwRkJWWEZDTEVWQlFVOU1MRVZCUVZjc1EwRkZia1FzVVVGRVNXOUhMRVZCUVZFc1JVRkRTSHBHTEVWQlFVa3NSVUZCUjBFc1JVRkJTVTRzUlVGQlRTeFBRVUZSVFN4SlFVTXhRaXhMUVVGTExFbEJRVWxPTEVWQlFVMU5MRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVWRPTEVWQlFVMU5MRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVWRZTEVOQlFWTXNSMEZETlVOdlJ5eEpRVU5TTEU5QlFVOUJMRU5CUTFnc1JVRnJRa0Z3U0N4RlFVRk5MRlZCUVZVc1UwRkJWeXhUUVVGVlZ5eEZRVUZMUXl4RlFVRk5ZU3hGUVVGaE5FWXNSVUZCVXpOSExFVkJRV2RDTEVOQlEyeEdMRWxCUVVrMFJ5eEZRVUZKTEV0QlFVc3NUVUZCVFN4VFFVRlRNMGNzUlVGQlMwTXNSVUZCVFdFc1JVRkJZU3hIUVVGUExFdEJRVTFtTEVkQlFXdENMRVZCUVVjeVJ5eERRVUZQTEVWQlF6ZEdMRTlCUVU4c1QwRkJUME1zUjBGQlRTeFRRVUZYUVN4RlFVRkpRU3hGUVVGRkxFdEJRM3BETEVWQk9FSkJkRWdzUlVGQlRTeFZRVUZWTEZWQlFWa3NVMEZCVlZjc1JVRkJTME1zUlVGQlRXRXNSVUZCWVRSR0xFVkJRVk16Unl4RlFVRm5RaXhEUVVOdVJpeEpRVUZKTmtjc1JVRkJUeXhMUVVGTExFMUJRMXBCTEVWQlFVc3NWMEZEVEN4TFFVRkxMRTFCUVZGQkxFVkJRVTlCTEVWQlFVc3NUVUZCVFN4SFFVTnVReXhIUVVGSkxFTkJRMEVzU1VGQlNVUXNSVUZCU1VNc1JVRkJTeXhUUVVGVE5VY3NSVUZCUzBNc1JVRkJUV0VzUlVGQllTeEhRVUZOTEV0QlFVMW1MRWRCUVd0Q0xFVkJRVWN5Unl4RFFVRlBMRVZCUTNSR0xFOUJRVThzVDBGQlQwTXNSMEZCVFN4VFFVRlhRU3hGUVVGSlFTeEZRVUZGTEV0QlEzcERMRkZCUTBFc1EwRkZTU3hSUVVSSlJTeEZRVUZYTEU5QlExSkVMRVZCUVVzc1MwRkJTeXhSUVVGVkxFZEJRVXNzUTBGQlEwRXNSVUZCU3l4UlFVTnNRME1zU1VGQllVRXNSVUZCVjBRc1JVRkJTeXhWUVVNM1FpeExRVUZMTEUxQlFWRkJMRVZCUVU5QkxFVkJRVXNzUzBGQlN5eFRRVUZYTEVWQlFVbHVTQ3hIUVVONlEyMUlMRVZCUVVzc1UwRkJVeXhEUVVGRExFVkJSMjVDUXl4SlFVTkJSQ3hGUVVGTExGTkJRVmNzUjBGRmVFSXNRMEZEU2l4RlFVVkJka2dzUlVGQlRTeFZRVUZWTEZGQlFWVXNVMEZCVlhGSUxFVkJRVk16Unl4RlFVRm5RaXhEUVVONlJDeFBRVUZQTEV0QlFVc3NWVUZCVlN4TFFVRkxMRTlCUVU4c1JVRkJSeXhMUVVGTExFOUJRVThzUlVGQlJ5eEhRVUZOTWtjc1JVRkJVek5ITEVOQlFXTXNRMEZEY2tZc1JVRlRRVllzUlVGQlRTeFZRVUZWTEZsQlFXTXNVMEZCVlZjc1JVRkJTME1zUlVGQlRXRXNSVUZCWVN4RFFVTTFSQ3hQUVVGUExFdEJRVXNzVlVGQlZXUXNSVUZCUzBNc1JVRkJUV0VzUlVGQllVNHNSVUZCVnl4RFFVTTNSQ3hGUVVWQmJrSXNSVUZCVFN4VlFVRlZMRmRCUVdFc1UwRkJWWE5DTEVWQlFVMHNRMEZEZWtNc1VVRkJVMHNzUlVGQlNTeEZRVUZITEVWQlFVa3NSVUZCUjBFc1JVRkJTVXdzUlVGQlN5eFBRVUZSU3l4SlFVTm9ReXhMUVVGTExFOUJRVTlNTEVWQlFVdExMRU5CUVVNc1EwRkJReXhIUVVOdVFpeEpRVU5TTEU5QlFVOHNRMEZEV0N4RlFVTkJMRTlCUVU4c1pVRkJaVE5DTEVWQlFVMHNWVUZCVnl4VFFVRlZMRU5CUnpkRExFbEJRVXNzVlVGQldTeERRVWRpTEZGQlJrazJSaXhGUVVGUExFdEJRVXNzVFVGRFdsWXNSVUZCVXl4SFFVTk9WU3hIUVVOSVZpeEpRVU5CVlN4RlFVRlBRU3hGUVVGTExFOUJRVk1zVDBGQldVRXNSVUZCU3l4VFFVRlRMRU5CUVVNc1JVRkZjRVFzVDBGQlQxWXNRMEZEV0N4RlFVTkJMRmRCUVZrc1IwRkRXaXhoUVVGakxFVkJRMnhDTEVOQlFVTXNSVUZQUkc1R0xFVkJRVTBzVlVGQlZTeFBRVUZUTEZWQlFWa3NRMEZEYWtNc1NVRkJTWGxJTEVWQlFVa3NTMEZIVWtFc1JVRkJSU3hOUVVGUlFTeEZRVUZGTEVsQlFVMUJMRVZCUVVVc1ZVRkJXU3hWUVVGWkxFTkJRM2hETEUxQlFVMHNTVUZCU1N4TlFVRk5MRzlEUVVGdlF5eERRVU40UkN4RFFVTktMRVZCUlVGNlNDeEZRVUZOTEZWQlFWVXNVMEZCVnl4VlFVRlpMRU5CUjI1RExFOUJRVThzUzBGQlN5eE5RVVZhTEU5QlFVOHNTMEZCU3l4SlFVVmFMRTlCUVU4c1MwRkJTeXhUUVVOb1FpeEZRVU5CTEU5QlFVOHNaVUZCWlVFc1JVRkJUU3hWUVVGWExGZEJRVmtzUTBGRkwwTXNTVUZCU3l4VlFVRlpMRU5CUTJJc1QwRkJUeXhMUVVGTExHVkJRV1VzVjBGQlZ5eERRVU14UXl4RlFVTkJMRmRCUVZrc1IwRkRXaXhoUVVGakxFVkJRMnhDTEVOQlFVTXNSVUZOUkVFc1JVRkJUU3hWUVVGVkxGZEJRV0VzVlVGQldTeERRVU55UXl4SlFVRkpNRWdzUlVGQlR5eExRVUZMTEUxQlFVMHNWMEZCVnl4RlFVRkhMRXRCUVUwc1EwRkJReXhGUVVNelF6TkZMRWRCUVUweVJTeEpRVUZUTEV0QlFVc3NTMEZCVFN3d1FrRkJNa0pCTEVWQlFVMHNZVUZCWXl4TFFVRkxMRWxCUVVrc1EwRkRkRVlzUlVGRFR6RklMRU5CUTFnc1JVRkJSU3hGUVVOR1dpeEhRVUZSTEZGQlFWVlpMRWRCVFd4Q0xGTkJRVk15U0N4SFFVRk5ReXhGUVVGUExFTkJRMnhDTEU5QlFVOUJMRU5CUTFnc1EwRkRRWGhKTEVkQlFWRXNUVUZCVVhWSkxFZEJRMW9zVVVGQlZTeFBRVUZQTEZkQlEycENNMGdzUjBGQlRTeFZRVUZWTEU5QlFVOHNVVUZCVVN4RlFVRkpRU3hIUVVGTkxGVkJRVlVzVTBGRGRrUkJMRWRCUVUwc1ZVRkJWU3hOUVVGUlFTeEhRVUZOTEZWQlFWVXNUMEZEZUVOQkxFZEJRVTBzVlVGQlZTeFRRVUZYUVN4SFFVRk5MRlZCUVZVc1UwRkRNME5CTEVkQlFVMHNWVUZCVlN4SlFVRk5RU3hIUVVGTkxGVkJRVlVzU1VGRGRFTXNVMEZCVTNGRExFZEJRVk5LTEVWQlFVMHNRMEZEYUVKQkxFbEJRVk1zVTBGQlZVRXNSVUZCVVN4VlFVRlpMRU5CUVVVc1RVRkJVU3hEUVVGRkxFdEJRVTBzUjBGQlRTeE5RVUZQTEUxQlFWVXNRMEZCU1N4SFFVTjRSaXhKUVVGSmFFSXNSVUZCVXl4RFFVRkZMRXRCUVUxblFpeERRVUZMTEVWQlF6RkNMRTlCUVVrc1VVRkJWU3hQUVVGUExGZEJRMnBDYUVJc1JVRkJUeXhQUVVGUExGRkJRVkVzUlVGQlNTeFZRVUZaTEVOQlFVVXNUMEZCVHl4SlFVRk5MRWRCUTJ4RVFTeERRVU5ZTEVOQlJVRXNTVUZCU1RSSExFZEJRWFZDTEZWQlFWa3NRMEZEYmtNc1UwRkJVMEVzUlVGQlRYWkhMRVZCUVUxM1J5eEZRVUZSTEVOQlEzSkNlRWNzU1VGQlV5eFRRVUZWUVN4RlFVRlBMRU5CUVVNc1IwRkRMMElzUzBGQlN5eExRVUZQUVN4RlFVTmFMRXRCUVVzc1QwRkJVM2RITEVkQlFWVkRMRWRCUTNoQ0xFdEJRVXNzVTBGQlZ5eE5RVU53UWl4RFFVTkJMR05CUVU4c1pVRkJaVVlzUlVGQlRTeFZRVUZYTEZOQlFWVXNRMEZETjBNc1NVRkJTeXhWUVVGWkxFTkJRVVVzVDBGQlR5eExRVUZMTEZkQlFXRXNUVUZCVnl4RlFVTjJSQ3hYUVVGWkxFZEJRMW9zWVVGQll5eEZRVU5zUWl4RFFVRkRMRVZCUjBSQkxFVkJRVTBzVlVGQlZTeFBRVUZUTEZWQlFWa3NRMEZEYWtNc1QwRkJUeXhMUVVGTExFdEJRVXNzUzBGQlN5eExRVUZMTEU5QlFWTXNRMEZCUXl4RFFVTjZReXhGUVVkQlFTeEZRVUZOTEZWQlFWVXNVVUZCVlN4VFFVRlZhRWdzUlVGQlMyMUlMRVZCUVZORExFVkJRVXNzUTBGSGJrUXNVVUZHU1ROSExFVkJRVThzUzBGQlN5eExRVU5hTkVjc1JVRkJTeXhGUVVGSFF5eEZRVUZMTjBjc1JVRkJTeXhQUVVGUk9FY3NSVUZCVFVRc1IwRkJUU3hGUVVOdVEwUXNSVUZCUzBNc1IwRkJTU3hEUVVOYUxFbEJRVWxGTEVWQlFVbEtMRVZCUVVrelJ5eEZRVUZMT0Vjc1EwRkJSeXhGUVVGSGRrZ3NRMEZCUnl4RlFVTXhRaXhIUVVGSmQwZ3NSVUZCU1N4RlFVTktTQ3hGUVVGTFJTeEZRVUZOTEZWQlEwNURMRVZCUVVrc1JVRkRWRVlzUlVGQlMwTXNUVUZEU2l4SlFVRkpReXhKUVVGTkxFVkJRMWdzVDBGQlQwUXNSVUZIVUN4SFFVRkpka2dzU1VGQlVVRXNSVUZEVWl4UFFVRlBVeXhGUVVGTExFOUJSVm9zVFVGQlRTeEpRVUZKTEUxQlFVMHNPRUpCUVRoQ0xFVkJSWFJFT0Vjc1JVRkJUMFlzUlVGQlMwTXNSMEZCVHl4RFFVTjJRaXhEUVVOQkxFOUJRVTlETEVWQlFVMUtMRU5CTmtOcVFpeEZRVWRCU0N4RlFVRk5MRlZCUVZVc1QwRkJVeXhWUVVGWkxFTkJRMnBETEU5QlFVOHNTMEZCU3l4TFFVRkxMRU5CUVVNc1EwRkRkRUlzUlVGRFFVRXNSVUZCVFN4VlFVRlZMRkZCUVZVc1UwRkJWVEZHTEVWQlFXRXNRMEZETjBNc1IwRkJTU3hMUVVGTExFdEJRVXNzVTBGQlZ5eEZRVVY2UWl4UFFVRkJRU3hGUVVGWkxFTkJRVU1zUlVGQlNTeExRVUZMTEV0QlFVc3NRMEZCUXl4RlFVTTFRa0VzUlVGQldTeERRVUZETEVWQlFVa3NTMEZCU3l4UFFVRlBMRU5CUVVNc1JVRkRka0pCTEVOQlExZ3NSVUZEUVRCR0xFVkJRVTBzVlVGQlZTeFJRVUZWTEZOQlFWVXhSaXhGUVVGaExFTkJRemRETEVkQlFVa3NTMEZCU3l4TFFVRkxMRk5CUVZjc1JVRkZla0lzUzBGQlNXMUhMRVZCUVZrc1MwRkJTeXhMUVVGTExFOUJRVk1zUlVGRGJrTXNUMEZCUVc1SExFVkJRVmtzUTBGQlF5eEZRVUZKTEV0QlFVc3NTMEZCUzIxSExFTkJRVk1zUlVGRGNFTnVSeXhGUVVGWkxFTkJRVU1zUlVGQlNTeExRVUZMTEU5QlFVOXRSeXhEUVVGVExFVkJReTlDYmtjc1JVRkRXQ3hGUVVOQk1FWXNSVUZCVFN4VlFVRlZMRTFCUVZFc1ZVRkJXU3hEUVVOb1F5eEpRVUZKY0Vnc1JVRkJTU3hMUVVGTExFOUJRMklzVDBGQlR5eEpRVUZKYjBnc1JVRkJUU3hMUVVGTExFdEJRVXNzVFVGQlRTeERRVUZETEVWQlFVZHdTQ3hKUVVGTmMwZ3NSMEZCV1hSSUxFVkJRVWxCTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkRla1VzUlVGRFFXOUlMRVZCUVUwc1ZVRkJWU3haUVVGakxGTkJRVlZtTEVWQlFVOHNRMEZETTBNc1QwRkJUeXhMUVVGTExGVkJRVmtzUTBGQlEwRXNSVUZCVVN4TFFVRlBMRXRCUVVzc1RVRkJUU3hEUVVOMlJDeEZRVU5CWlN4RlFVRk5MRlZCUVZVc1NVRkJUU3hUUVVGVmFFZ3NSVUZCUzBNc1JVRkJZMjFGTEVWQlFVMHNRMEZEY2tRc1NVRkJTWFJFTEVWQlFVa3NTMEZCU3l4UlFVRlJaQ3hGUVVGTExFZEJRVWx2UlN4RlFVRkxMRkZCUVZFc1JVRkRNME1zVDBGQlQzUkVMRVZCUVVrc1JVRkJTV0lzUlVGQlpTeExRVUZMTEU5QlFVOWhMRU5CUVVNc1EwRkRMME1zUlVGRFFXdEhMRVZCUVUwc1ZVRkJWU3h0UWtGQmNVSXNVMEZCVldoSUxFVkJRVXRZTEVWQlFWTnhTU3hGUVVGWGNFY3NSVUZCWVN4RFFVTnFSaXhKUVVGSkxFVkJRVWtzUzBGQlN5eFJRVUZSZEVJc1JVRkJTeXhIUVVGSldDeERRVUZQTEVWQlEycERjMGtzUlVGQlpTeEZRVUZKTEVWQlFVa3NRMEZCUXl4RlFVRkpMRVZCUVV0RUxFVkJRVmtzUlVGQlNTeEZRVUZKTEVWQlEzcEVMRWRCUVVsRExFZEJRV2RDTEVWQlEyaENMRTlCUVVGeVJ5eEZRVUZaTEVOQlFVTXNSVUZCU1N4TFFVRkxMRXRCUVV0eFJ5eERRVUZaTEVWQlEzWkRja2NzUlVGQldTeERRVUZETEVWQlFVa3NTMEZCU3l4UFFVRlBjVWNzUTBGQldTeEZRVU5zUTNKSExFTkJSMllzUlVGRFFUQkdMRVZCUVUwc1ZVRkJWU3h2UWtGQmMwSXNVMEZCVldoSUxFVkJRVXRZTEVWQlFWTnhTU3hGUVVGWGNFY3NSVUZCWVN4RFFVTnNSaXhKUVVGSkxFVkJRVWtzUzBGQlN5eFJRVUZSZEVJc1JVRkJTeXhIUVVGSldDeERRVUZQTEVWQlEycERjMGtzUlVGQlpTeEZRVUZKTEVWQlFVa3NRMEZCUXl4RlFVRkxSQ3hGUVVGWkxFVkJRVWtzUlVGQlNTeEZRVU5xUkdwSUxFVkJRVThzUzBGQlN5eExRVU5vUWl4SFFVRkphMGdzUlVGQlpXeElMRVZCUVVzc1QwRkRjRUlzVDBGQlFXRXNSVUZCV1N4RFFVRkRMRVZCUVVsaUxFVkJRVXRyU0N4RFFVRlpMRVZCUTJ4RGNrY3NSVUZCV1N4RFFVRkRMRVZCUVVrc1MwRkJTeXhQUVVGUGNVY3NRMEZCV1N4RlFVTnNRM0pITEVOQlIyWXNSVUZEUVRCR0xFVkJRVTBzVlVGQlZTeFhRVUZoTEZOQlFWVlpMRVZCUVU5NFJDeEZRVUZOZVVRc1JVRkJWeXhEUVVNelJDeEpRVUZKUXl4RlFVRkxMRXRCUVVzc1MwRkJTeXhQUVVGUlF5eEZRVUZMTEV0QlFVc3NUMEZCVHl4UFFVTTFReXhQUVVGQk4wWXNSMEZCVFN4TFFVRkxMRk5CUVZkblJpeEhRVUZaV1N4SFFVRk5ReXhGUVVGTFJDeEpRVUZQUXl4RlFVRkpMSEZEUVVGelEwZ3NSVUZCVHl4bFFVRm5Ra1VzUlVGQlNVTXNSVUZCU1N4blFrRkJhVUpHTEVOQlFWTXNSVUZOZGtvelJpeEhRVUZOTUVZc1IwRkJVeXhIUVVGTFJTeEZRVUZMTEVWQlFVY3NjMEpCUVhWQ1JpeEZRVUZQTEdkQ1FVRnBRa01zUTBGQlV5eEZRVU0zUlVNc1EwRkRXQ3hGUVVkQlpDeEZRVUZOTEZWQlFWVXNTVUZCVFN4VFFVRlZhRWdzUlVGQlMwVXNSVUZCVDBNc1JVRkJWMmxGTEVWQlFVMHNRMEZEZWtRc1NVRkJTU3hGUVVGSkxFdEJRVXNzVVVGQlVYQkZMRVZCUVVzc1IwRkJTVzlGTEVWQlFVc3NVVUZCVVN4RlFVTXpReXhIUVVGSkxFVkJRVWtzUlVGQlJ5eERRVWxRTEVkQlJrRXNSVUZCU1N4RFFVRkRMRVZCUTB4QkxFVkJRVXNzVVVGRFJDeExRVUZMTEV0QlFVc3NUMEZCVTBFc1JVRkJTeXhoUVVONFFpeFBRVUZQTEV0QlFVc3NZVUZCWVN4RlFVRkhjRVVzUlVGQlMwVXNSVUZCVDJ0RkxFTkJRVWtzUlVGSk5VTXNTVUZCU1RSRUxFVkJRV3RDTEV0QlFVc3NhMEpCUVd0Q0xFVkJRVWRETEVWQlFWTXNTMEZEZWtRc1QwRkJTU3hGUVVGSkxFdEJRVXNzUzBGQlN5eFRRVU5rTEVkQlFVc3NTMEZCU3l4TFFVRkxMRTlCUTJaQkxFVkJRVk5FTEVkQlJXSkRMRVZCUVU4c1lVRkJZU3hGUVVGSGFra3NSVUZCUzBVc1JVRkJUMnRGTEVOQlFVa3NSVUZEYUVNMFJDeERRVVZtTEV0QlIwa3NVVUZCU1RkSUxFbEJRV01zUzBGRFZrUXNTVUZCVlN4UlFVTldMRXRCUVVzc1dVRkJXU3hGUVVWeVFpeExRVUZMTEV0QlFVc3NRMEZCUXl4RlFVRkpSaXhGUVVObUxFdEJRVXNzVDBGQlR5eERRVUZETEVWQlFVbEZMRWRCUldRc1JVRkZaaXhGUVVOQk9FY3NSVUZCVFN4VlFVRlZMRmxCUVdNc1ZVRkJXU3hEUVVOMFF5eFBRVUZKTEV0QlFVc3NVMEZCVjBVc1IwRkRWQ3hMUVVGTExFOUJRVk1zUzBGQlN5eFBRVUZQTEUxQlFVMHNSVUZCUnl4TFFVRkxMRXRCUVVzc1RVRkJUU3hGUVVOMlJDeExRVUZMTEUxQlEyaENMRVZCUTBGR0xFVkJRVTBzVlVGQlZTeGhRVUZsTEZOQlFWVnNSeXhGUVVGSFpDeEZRVUZMUlN4RlFVRlBhMFVzUlVGQlRTeERRVVV4UkN4SFFVUkJMRXRCUVVzc1MwRkJTeXhQUVVGUGRFUXNSVUZCUnl4RlFVRkhaQ3hEUVVGSExFVkJRM1JDTEV0QlFVc3NVMEZCVjJ0SUxFZEJRVmNzUTBGRE0wSXNTMEZCVDBFc1IwRkJWU3hQUVVGVE9VTXNSVUZCU3l4alFVTXpRamhETEVkQlFWVXNTMEZCU3l4TlFVRlRMRVZCUXpWQ0xFZEJRVWxvU0N4SlFVRlZMRTlCUTFZc1RVRkJUeXhIUVVkUUxFdEJRVXNzVDBGQlUyZElMRWRCUVZVc1RVRkJUU3hGUVVGSExFdEJRVXNzUzBGQlN5eFBRVUZUTEVOQlFVTXNRMEZGTjBRc1EwRkRRU3haUVVGTExFOUJRVThzVDBGQlQzQkhMRVZCUVVjc1JVRkJSMW9zUTBGQlN5eEZRVU4yUWl4RlFVTllMRVZCUTBFNFJ5eEZRVUZOTEZWQlFWVXNZMEZCWjBJc1UwRkJWV3RDTEVWQlFVc3NRMEZKTTBNc1NVRkJTWFJKTEVWQlFVa3NTMEZCU3l4UFFVTlVjMGtzUlVGQlNTeFRRVUZYYUVJc1IwRkRXSFJJTEVsQlFVMXpTQ3hKUVVOT2RFZ3NSVUZCUlN4TFFVRkxMRTFCUVZNc1IwRkhjRUpCTEVWQlFVa3NTMEZCU3l4WlFVRlpMRVZCUTNKQ1FTeEZRVUZGTEV0QlFVdHpTU3hGUVVGSkxFOUJRVThzVFVGQlRTeERRVUZETEVkQlJUZENMRXRCUVVzc1MwRkJTeXhMUVVGTFFTeEZRVUZKTEV0QlFVc3NUVUZCVFN4RFFVRkRMRU5CUTI1RExFVkJRMEZzUWl4RlFVRk5MRlZCUVZVc1lVRkJaU3hUUVVGVmJVSXNSVUZCU3l4RFFVa3hReXhKUVVGSmRra3NSVUZCU1N4TFFVRkxMRTlCUTFSMVNTeEZRVUZKTEZOQlFWZHFRaXhIUVVOWWRFZ3NTVUZCVFhOSUxFbEJRMDUwU0N4RlFVRkZMRkZCUVZFc1RVRkJVeXhIUVVkMlFrRXNSVUZCU1N4TFFVRkxMRmxCUVZrc1JVRkRja0pCTEVWQlFVVXNVVUZCVVhWSkxFVkJRVWtzVDBGQlR5eEpRVUZKTEVOQlFVTXNSMEZGT1VJc1MwRkJTeXhMUVVGTExGRkJRVkZCTEVWQlFVa3NTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkRjRU1zUlVGRFFXNUNMRVZCUVUwc1ZVRkJWU3hyUWtGQmIwSXNWVUZCV1N4RFFVVTFReXhKUVVGSmIwSXNSVUZCVHl4TFFVRkxMRXRCUVVzc1VVRkJWU3hGUVVGSE0wZ3NSVUZCVHl4TFFVRkxMRXRCUVVzc1QwRkJUekpJTEVOQlFVa3NSVUZETVVSdVFpeEZRVUZUTEV0QlFVc3NVMEZCVjBNc1IwRkJXVUVzUjBGQldTeExRVUZMTEU5QlFVOHNUMEZCVDJ0Q0xFTkJRVWtzUlVGRE5VVXNUMEZCVHl4SlFVRkpjRUlzUlVGQlRYWkhMRVZCUVUxM1J5eERRVUZOTEVOQlEycERMRVZCUjBGRUxFVkJRVTBzVlVGQlZTeFRRVUZYTEZOQlFWVnNTQ3hGUVVGTFF5eEZRVUZOWVN4RlFVRmhlVWdzUlVGQlZXcEZMRVZCUVUxclJTeEZRVUZQT1VJc1JVRkJVeXhEUVVONlJpeEpRVUZKV1N4RlFVRk5hRVFzUlVGQlN5eFRRVU5ZYlVVc1JVRkJUVU1zUlVGRFZpeEhRVUZKZWtrc1NVRkJVMFFzUjBGSlZDeEhRVWhKTEVOQlFVTmpMRWxCUlV3MFNDeEhRVUZUUkN4RlFVRlBMRXRCUVVzc1VVRkJVWHBKTEVWQlFVc3NSMEZCU1hOSUxFTkJRVWNzUjBGQlN5eEZRVU14UTIxQ0xFVkJRVThzUjBGRFVDeFBRVUZQUkN4UFFVZFlReXhGUVVGUExFdEJRVXNzVVVGQlVYcEpMRVZCUVVzc1JVRkJSM05JTEVOQlFVY3NSVUZETDBKdlFpeEZRVUZSTEV0QlFVc3NVVUZCVVhwSkxFVkJRVTBzUjBGQlNYRklMRU5CUVVjc1JVRkRPVUp2UWl4RlFVRlJMRVZCUTFKQkxFVkJRVkVzUTBGQlEwRXNSVUZEU2pWSUxFbEJRV2RDTEVsQlEzSkNORWdzU1VGRlVpeEpRVUZKTDBnc1JVRkJUeXhMUVVGTExFdEJRVTEzUnl4RlFVRlRMRXRCUVVzc1QwRkRjRU1zUjBGQlNWUXNTVUZCV1N4UFFVTmFMRkZCUVZNeFJpeEZRVUZKZVVnc1JVRkJUWHBJTEVWQlFVa3dTQ3hGUVVGUE1VZ3NTVUZCU3l4RFFVTXZRaXhKUVVGSlpDeEZRVUZOVXl4RlFVRkxTeXhEUVVGRExFVkJRMXBXTEVWQlFWTnZSeXhGUVVGUmVFY3NSVUZCUzJsSUxFVkJRVTl1Unl4RFFVRkRMRVZCUVVkM1NDeEhRVUZQTEVWQlF6VkRMRWRCUVVsc1NTeEpRVUZYTEU5QlFWY3NRMEZEZEVJc1IwRkJTV2xKTEVsQlFXRXNSMEZCVFN4RFFVTnVRaXhIUVVGSmNra3NTVUZCVVZNc1JVRkJTMHNzUTBGQlF5eEhRVUZMTEV0QlFVc3NWMEZCWVN4SFFVTnlReXhOUVVGTkxFbEJRVWtzVFVGQlRTeG5SRUZCWjBRc1JVRkRhRVZXTEVWQlFVOHNVVUZEVUN4TFFVRkxMRXRCUVVzc1QwRkJUMVVzUlVGQlJ5eERRVUZETEVWQlEycENMRXRCUVVzc1UwRkJWMjlITEVsQlEyaENMRXRCUVVzc1QwRkJUeXhQUVVGUGNFY3NSVUZCUnl4RFFVRkRMRVZCUXpOQ2MwUXNSVUZCU3l4UlFVTk1kRVFzU1VGRFFUQklMRXRCUlV0d1NTeEZRVUZQTEdWQlFXVXNUMEZCVHl4SlFVTnNRelpITEVWQlFVOXVSeXhEUVVGRExFVkJRVWxXTEVWQlFVOHNUVUZGTTBJc1EwRkRRU3hIUVVGSlFTeEZRVUZQTEZGQlFWVXNUMEZEYWtJc1QwRkJUMEVzUTBGRFppeERRVU5LTEUxQlIwRnJTU3hIUVVGVFJTeEZRVUZSUkN4RlFVTnlRaXhQUVVGUFJDeERRVU5ZTEVWQlJVRjBRaXhGUVVGTkxGVkJRVlVzWVVGQlpTeFRRVUZWYTBJc1JVRkJTMDhzUlVGQlJ5eERRVVUzUXl4SFFVUkJMRXRCUVVzc1MwRkJTeXhMUVVGTExFMUJRVTBzUzBGQlN5eExRVUZOVUN4RlFVRkpMRWxCUVVrc1JVRkRjRU1zUzBGQlN5eFRRVUZYYUVJc1IwRkJWeXhEUVVNelFpeEhRVUZKWjBJc1JVRkJTU3hUUVVGWGFFSXNSMEZEWml4UFFVTktMRXRCUVVzc1QwRkJVeXhMUVVGTExFOUJRVThzVFVGQlRTeEZRVUZITEV0QlFVc3NTMEZCU3l4TlFVRk5MRU5CUTNaRUxFTkJRMEVzUzBGQlN5eFBRVUZQTEV0QlFVc3NUVUZCVFN4TFFVRkxMRTlCUVZGblFpeEZRVUZKTEZsQlFWa3NRMEZCUXl4RFFVTjZSQ3hGUVVOUGJFSXNRMEZEV0N4RlFVRkZMRVZCUlVVelJ5eEhRVUVyUWl4VFFVRlZjVWtzUlVGQlVTeERRVU5xUkd4TExFZEJRVlUyUWl4RlFVRmxjVWtzUTBGQlRTeEZRVXN2UWl4VFFVRlRja2tzUlVGQll6UkZMRVZCUVZWNFJTeEZRVUZOTEVOQlEyNURMRWxCUVVsbUxFVkJRVkVzUzBGRFdpeEhRVUZKTEVOQlFVTmxMRVZCUVUwc1EwRkRVRUVzUlVGQlR5eERRVUZETEVWQlExSXNVVUZCVXl4RlFVRkpMRVZCUVVjc1JVRkJTWGRGTEVWQlFWTXNUMEZCVVN4SlFVTnFRM2hGTEVWQlFVc3NRMEZCUXl4RlFVRkpkMFVzUlVGQlV5eERRVUZETEVWQlFVVXNUMEZCVHl4RFFVTnlReXhEUVVOQkxFOUJRVUYyUml4RlFVRlJaMG9zUlVGQlR5eExRVUZMTEV0QlFVMXFTU3hEUVVGSkxFZEJRVXNzUzBGRGJrTm1MRVZCUVUwc1UwRkJWM1ZHTEVWQlExWjJSaXhEUVVOWUxFTkJRMEVzVDBGQlFWY3NSVUZCWXl4VlFVRlZMRTFCUVZFc1ZVRkJXU3hEUVVWNFF5eFJRVVJKTkVVc1JVRkJWeXhMUVVGTExGTkJRVk1zVFVGQlRTeERRVUZETEVWQlF6TkNia1VzUlVGQlNTeEZRVUZIUVN4RlFVRkpiVVVzUlVGQlV5eFBRVUZSYmtVc1NVRkRha050UlN4RlFVRlRia1VzUTBGQlF5eEZRVUZGTEZOQlFWY3NSMEZETTBJc1QwRkJUeXhKUVVGSlZDeEZRVUZqTkVVc1JVRkJWU3hMUVVGTExFdEJRVXNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZEZWtRc1JVRkRRVFZGTEVWQlFXTXNWVUZCVlN4WlFVRmpMRk5CUVZVMFJpeEZRVUZQTEVOQlEyNUVMRWRCUVVrc1MwRkJTeXhWUVVGWkxFTkJRVU5CTEVWQlEyeENMRTlCUVU4c1MwRkZXQ3hSUVVSSk1VWXNSVUZCU3l4SlFVRkpSaXhGUVVGakxFdEJRVXNzVTBGQlV5eE5RVUZOTEVOQlFVTXNSVUZCUnl4TFFVRkxMRXRCUVVzc1RVRkJUU3hEUVVGRExFTkJRVU1zUlVGRE5VUlRMRVZCUVVrc1JVRkJSMEVzUlVGQlNWQXNSVUZCUnl4VFFVRlRMRTlCUVZGUExFbEJRM0JEVUN4RlFVRkhMRk5CUVZOUExFTkJRVU1zUlVGQlNWQXNSVUZCUnl4VFFVRlRUeXhEUVVGRExFVkJRVVVzV1VGQldXMUdMRU5CUVVzc1JVRkRja1FzVDBGQlR6RkdMRU5CUTFnc1JVRkRRVVlzUlVGQll5eFZRVUZWTEU5QlFWTXNWVUZCV1N4RFFVTjZReXhQUVVGUExFdEJRVXNzVTBGQlV5eERRVUZETEVWQlFVVXNUMEZCVHl4RFFVTnVReXhGUVVOQlFTeEZRVUZqTEZWQlFWVXNVVUZCVlN4VFFVRlZhVUlzUlVGQllTeERRVU55UkN4UFFVRlBMRXRCUVVzc1UwRkJVeXhEUVVGRExFVkJRVVVzVVVGQlVVRXNRMEZCVnl4RFFVTXZReXhGUVVOQmFrSXNSVUZCWXl4VlFVRlZMRkZCUVZVc1UwRkJWV2xDTEVWQlFXRXNRMEZEY2tRc1QwRkJUeXhMUVVGTExGTkJRVk1zUzBGQlN5eFRRVUZUTEU5QlFWTXNRMEZCUXl4RlFVRkZMRkZCUVZGQkxFTkJRVmNzUTBGRGRFVXNSVUZEUVdwQ0xFVkJRV01zVlVGQlZTeEpRVUZOTEZOQlFWVk1MRVZCUVV0RExFVkJRV050UlN4RlFVRk5MRU5CUXpkRUxFbEJRVWtzUlVGQlNTeExRVUZMTEZGQlFWRndSU3hGUVVGTExFVkJRVWR2UlN4RlFVRkxMRkZCUVZFc1JVRkJSMkVzUlVGQlZ5eExRVUZMTEZOQlF6ZEVMRTlCUVU4c1JVRkJTVUVzUlVGQlV5eFBRVUZUUVN4RlFVRlRMRU5CUVVNc1JVRkJSU3hKUVVGSmFrWXNSVUZCUzBNc1JVRkJZMjFGTEVOQlFVa3NSVUZCU1N4TlFVTTFSU3hGUVVOQkwwUXNSVUZCWXl4VlFVRlZMRzFDUVVGeFFpeFRRVUZWVEN4RlFVRkxXQ3hGUVVGVGNVa3NSVUZCVjNCSExFVkJRV0VzUTBGRGVrWXNTVUZCU1ZJc1JVRkJTU3hMUVVGTExGRkJRVkZrTEVWQlFVc3NSVUZCUjFnc1EwRkJUeXhGUVVGSE5FWXNSVUZCVnl4TFFVRkxMRk5CUTNaRUxFZEJRVWx1UlN4SFFVRkxiVVVzUlVGQlV5eFBRVU5rTEU5QlFVOHNTMEZCU3l4UlFVRlJNMFFzUTBGQlZ5eEZRVU51UXl4SlFVRkpiRUlzUlVGQlV6WkZMRVZCUVZOdVJTeERRVUZETEVWQlFVVXNiVUpCUVcxQ1pDeEZRVUZMV0N4RlFVRlRjVWtzUlVGQlYzQkhMRU5CUVZjc1JVRkRhRVlzVDBGQlNXeENMRWxCUVZjc1VVRkJZVlVzUlVGQlNTeEZRVU55UW0xRkxFVkJRVk51UlN4RlFVRkpMRU5CUVVNc1JVRkJSU3hSUVVGUlVTeERRVUZYTEVWQlJYWkRiRUlzUTBGRFdDeEZRVU5CUXl4RlFVRmpMRlZCUVZVc2IwSkJRWE5DTEZOQlFWVk1MRVZCUVV0WUxFVkJRVk54U1N4RlFVRlhjRWNzUlVGQllTeERRVU14Uml4SlFVRkpVaXhGUVVGSkxFdEJRVXNzVVVGQlVXUXNSVUZCU3l4RlFVRkhXQ3hEUVVGUExFVkJRVWMwUml4RlFVRlhMRXRCUVVzc1UwRkJWVEJFTEVWQlFWTXhSQ3hGUVVGVExFOUJRMjVHTEVkQlFVa3NSVUZCUVc1RkxFZEJRVXMyU0N4SFFVVlVMRXRCUVVsMlNTeEZRVUZUTmtVc1JVRkJVMjVGTEVOQlFVTXNSVUZCUlN4dlFrRkJiMEprTEVWQlFVdFlMRVZCUVZOeFNTeEZRVUZYY0Vjc1EwRkJWeXhGUVVOcVJpeFBRVUZKYkVJc1NVRkJWeXhSUVVGaFZTeEZRVUZKTmtnc1JVRkJVeXhGUVVNNVFqRkVMRVZCUVZOdVJTeEZRVUZKTEVOQlFVTXNSVUZCUlN4UlFVRlJVU3hEUVVGWExFVkJSWFpEYkVJc1JVRkRXQ3hGUVVOQlF5eEZRVUZqTEZWQlFWVXNWMEZCWVN4VFFVRlZkVWdzUlVGQlQzaEVMRVZCUVUxNVJDeEZRVUZYTEVOQlEyNUZMRWxCUVVsRExFVkJRVXNzUzBGQlN5eExRVUZMTEU5QlFWRmpMRVZCUVVzc1MwRkJTeXhUUVVGVExFOUJRemxETVVjc1IwRkJUVFJHTEVsQlFVOWpMRVZCUVVrc2RVTkJRWGREYUVJc1JVRkJUeXhWUVVGWFJTeEZRVUZKWXl4RlFVRkpMRmxCUVdGbUxFTkJRVk1zUlVGRGVrY3pSaXhIUVVGTk5FWXNSVUZCU3l4SFFVRkxSaXhGUVVGUkxFVkJRVWNzTWtKQlFUUkNSU3hGUVVGSkxGZEJRVmxHTEVWQlFVOHNXVUZCWVVNc1EwRkJVeXhGUVVWd1J5eFJRVVJKYUVJc1JVRkJUeXhGUVVGSFZ5eEZRVUZKTEV0QlFVc3NVMEZCVlRkSUxFVkJRVWtzUzBGQlN5eExRVUZOYTBvc1JVRkJXU3hGUVVOdVJDOUlMRVZCUVVrc1JVRkJSMEVzUlVGQlNUaElMRVZCUVVrNVNDeEpRVU53UWl0R0xFZEJRVkZYTEVWQlFVVXhSeXhEUVVGRExFVkJRVVVzVjBGQlZ6aEhMRVZCUVZFc1JVRkJSM2hFTEVWQlFVMTVSQ3hGUVVGWmFFSXNRMEZCU1N4RlFVTjZSR2RETEVkQlFXRnlRaXhGUVVGRk1VY3NRMEZCUXl4RlFVRkZMRXRCUVVzc1QwRkRka0p2UWl4SFFVRk5Na1VzUjBGQlVXZERMRVZCUVZjc1RVRkJUMmhDTEVOQlFWTXNSVUZEZWtNelJpeEhRVUZOY0VJc1NVRkJUU3hIUVVGTE1FY3NSVUZCUlRGSExFVkJRVWtzUTBGQlF5eEZRVUZGTEdOQlFXZENNRWNzUlVGQlJURkhMRU5CUVVNc1JVRkJSU3haUVVGaExEUkNRVUUyUWl0SExFTkJRVk1zUlVGRE9VWk1MRVZCUVVVeFJ5eERRVUZETEVWQlFVVXNUMEZCVHl4SFFVRkxia0lzUlVGQlJXMUNMRU5CUVVNc1IwRkRjRUp2UWl4SFFVRk5MRWRCUVU4c1VVRkJVM0JDTEVWQlFVY3NUVUZCVDI1Q0xFVkJRVVZ0UWl4RFFVRkRMRVZCUVVjc2RVSkJRWGRDTUVjc1JVRkJSVEZITEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVjc1YwRkJXVGhITEVWQlFVOHNXVUZCWVVNc1EwRkJVeXhGUVVOd1NDOUhMRWxCUVUwc1IwRkJTM05FTEVWQlFVc3NVMEZCVTNwRkxFVkJRVVZ0UWl4RlFVRkpMRU5CUVVNc1JVRkJSMjVDTEVWQlFVVnRRaXhEUVVGRExFTkJRVU1zUlVGQlNTeEhRVU0zUTI5Q0xFZEJRVTBzUjBGQlR5d3dRa0ZCTWtJd1JpeEZRVUZQTEZGQlFWTTVSeXhGUVVGSExFOUJRVkZ1UWl4RlFVRkZiVUlzUlVGQlNTeERRVUZETEVWQlFVZHVRaXhGUVVGRmJVSXNRMEZCUXl4RFFVRkRMRVZCU1hwR0xFbEJRVWxuU1N4RlFVRlRSQ3hKUVVGakxFVkJRek5DTEU5QlFVbERMRWRCUVZWRUxFVkJRVmw2UlN4RlFVRkxMRmxCUVdOM1JTeEpRVU42UXpGSExFZEJRVTBzUjBGQlR6UkhMRVZCUVZNc1ZVRkJXU3hYUVVGWkxHRkJRV05FTEVWQlFWZG9ReXhGUVVGTkxHRkJRV05sTEVWQlFVOHNaVUZCWjBKNFJDeEZRVUZMTEZsQlFXRXNiVUpCUVc5Q2QwVXNSVUZCU1N4aFFVRmpaaXhEUVVGVExFVkJRMmhNYUVJc1EwRkRXQ3hGUVVkQmVFY3NSVUZCWXl4VlFVRlZMRWxCUVUwc1UwRkJWVXdzUlVGQlMwVXNSVUZCVDBNc1JVRkJWMmxGTEVWQlFVMHNRMEZEYWtVc1NVRkJTVzlFTEVWQlFVa3NTMEZCU3l4VFFVRlZjRUlzUlVGQlRXaERMRVZCUVVzc1lVRkJZMmRFTEVWQlFVMW9SQ3hGUVVGTExGTkJRM1pFZEVRc1JVRkJTU3hMUVVGTExFbEJRVWtzUzBGQlN5eFJRVUZSWkN4RlFVRkxMRVZCUVVkdlNDeERRVUZITEVWQlFVZEpMRVZCUVVVc1QwRkJVeXhEUVVGRExFVkJRVWQxUWl4RlFVRlJka0lzUlVGQlJURkhMRU5CUVVNc1JVRkhkRVVzUjBGR1NXbEpMRVZCUVUwc1YwRkRUblpDTEVWQlFVVXhSeXhEUVVGRExFVkJRVWxwU1N4RlFVRlJRU3hGUVVGTkxFMUJRVTBzUjBGRE0wSkJMRVZCUVUwc1MwRkJTeXhSUVVGVk0wTXNSVUZCU3l4RFFVc3hRaXhKUVVGSkwwUXNSVUZEUVhaQ0xFVkJRVWtzU1VGQlRYVkNMRVZCUVZGdFJpeEZRVUZGTVVjc1JVRkJTU3hEUVVGRExFZEJRVWNzUzBGQlN5eFBRVUZUYzBZc1IwRkJUMmRDTEVWQlFVa3lRaXhGUVVGTkxFdEJRVXNzUTBGQlF5eEZRVUZITDBrc1EwRkJSeXhGUVVGSkxFZEJRM1pGY1VNc1JVRkJUU3hYUVVOT2JVWXNSVUZCUlRGSExFVkJRVWtzUTBGQlF5eEZRVUZKZFVJc1JVRkJVVUVzUlVGQlRTeE5RVUZOTEVkQlEyNURRU3hGUVVGTkxHTkJRV013Unl4RFFVRkxMRVZCUTNwQ0xFdEJRVXNzUzBGQlMycEpMRVZCUVVrc1EwRkJReXhGUVVGSmRVSXNSVUZCVFN4UFFVRlBMRWxCUlRGQ1FTeEZRVUZSYlVZc1JVRkJSVEZITEVWQlFVa3NRMEZCUXl4TFFVRlBMRkZCUVdGMVFpeEZRVUZOTEV0QlFVc3NUMEZCVXl0RUxFZEJRVTluUWl4RlFVRkpNa0lzUlVGQlRTeFBRVUZQTEVWQlFVY3ZTU3hEUVVGSExFVkJRVWtzU1VGRE0wWnhReXhGUVVGTkxGZEJRMDV0Uml4RlFVRkZNVWNzUlVGQlNTeERRVUZETEVWQlFVbDFRaXhGUVVGUlFTeEZRVUZOTEUxQlFVMHNSMEZEYmtOQkxFVkJRVTBzWVVGQllUQkhMRU5CUVVzc1JVRkRlRUlzUzBGQlN5eExRVUZMYWtrc1EwRkJReXhGUVVGSk1FY3NSVUZCUlRGSExFTkJRVU1zUlVGQlJTeFBRVUZQTEVWQlJXNURMRU5CUTBFc1NVRkJTVllzUlVGQlV6SkpMRVZCUVUwc1NVRkJTUzlKTEVWQlFVdEZMRVZCUVU5RExFVkJRVmRwUlN4RFFVRkpMRVZCUTJ4RUxFZEJRVWxvUlN4SlFVRlhMRWRCUTFnc1RVRkJUeXhIUVVWWUxFZEJSRUVzUzBGQlN5eExRVUZMVlN4RFFVRkRMRVZCUVVscFNTeEZRVUZOTEU5QlFVOHNSVUZEZUVJelNTeEpRVUZYTEVkQlExZ3NUVUZCVHl4SFFVVllMRWRCUVVrc1MwRkJTeXhMUVVGTExFOUJRVk5uUnl4RlFVTnVRaXhaUVVGTExFOUJRVTkwUml4RlFVRkpMRVZCUVVkV0xFTkJRVTBzUlVGRGJFSXNSMEZIVUN4SlFVRkpORWdzUlVGQmEwSXNTMEZCU3l4clFrRkJhMElzUlVGQlIwTXNSVUZCVXl4TFFVTjZSQ3hQUVVGSllpeEZRVUZKYUVnc1JVRkJUeXhQUVVGUExFVkJRVWNzUzBGQlN5eFBRVUZQTEVOQlFVTXNSVUZCU1N4SlFVTjBRelpJTEVWQlFWTkVMRVZCUTFSc1NDeEhRVUZMTEV0QlFVc3NTMEZCU3l4UlFVVnVRbTFJTEVWQlFVOHNUMEZCVDI1SUxFVkJRVWtzUlVGQlIxWXNRMEZCVFN4RlFVTndRalJJTEVOQlJXWXNSVUZOUVROSUxFVkJRV01zVlVGQlZTeFBRVUZUTEZOQlFWVlRMRVZCUVVkcFNTeEZRVUZQTEVOQlEycEVMRXRCUVVzc1UwRkJVeXhQUVVGUGFra3NSVUZCUnl4RlFVRkhhVWtzUTBGQlN5eEZRVU5vUXl4TFFVRkxMRXRCUVVzc1QwRkJUMnBKTEVWQlFVY3NSVUZCUjJsSkxFVkJRVTBzVDBGQlR5eERRVUZETEVOQlEzcERMRVZCUzBFeFNTeEZRVUZqTEZWQlFWVXNhMEpCUVc5Q0xGVkJRVmtzUTBGRmNFUXNTVUZCU1N0SUxFVkJRVThzUzBGQlN5eFRRVUZUTEZGQlFWVXNSVUZEYmtNc1QwRkJUeXhKUVVGSkwwZ3NSVUZCWXl4TFFVRkxMRk5CUVZNc1QwRkJUeXRJTEVOQlFVa3NSVUZCUnl4TFFVRkxMRXRCUVVzc1QwRkJUMEVzUTBGQlNTeERRVUZETEVOQlF5OUZMRVZCUTBFdlNDeEZRVUZqTEZWQlFWVXNZMEZCWjBJc1UwRkJWVFpJTEVWQlFVc3NRMEZKYmtRc1MwRkJTeXhMUVVGTExFdEJRVXRCTEVWQlFVa3NTMEZCU3l4TlFVRk5MRU5CUVVNc1JVRkRMMElzUzBGQlN5eFRRVUZUTEV0QlFVdEJMRVZCUVVrc1UwRkJVeXhOUVVGTkxFTkJRVU1zUTBGRE0wTXNSVUZEUVRkSUxFVkJRV01zVlVGQlZTeGhRVUZsTEZOQlFWVTRTQ3hGUVVGTExFTkJTV3hFTEV0QlFVc3NTMEZCU3l4UlFVRlJRU3hGUVVGSkxFdEJRVXNzU1VGQlNTeERRVUZETEVWQlEyaERMRXRCUVVzc1UwRkJVeXhSUVVGUlFTeEZRVUZKTEZOQlFWTXNTVUZCU1N4RFFVRkRMRU5CUXpWRExFVkJUVUU1U0N4RlFVRmpMRlZCUVZVc1UwRkJWeXhUUVVGVlVDeEZRVUZMUXl4RlFVRk5ZU3hGUVVGaGVVZ3NSVUZCVldwRkxFVkJRVTFyUlN4RlFVRlBPVUlzUlVGQlV5eERRVU5xUnl4SlFVRkpXU3hGUVVGTmFFUXNSVUZCU3l4VFFVTllNMFFzUlVGQlR5eExRVUZMTEV0QlFVMTNSU3hGUVVGWExFdEJRVXNzVTBGRGJFTnpSQ3hGUVVGUExFdEJRVXNzVVVGQlVYcEpMRVZCUVVzc1JVRkJSM05JTEVOQlFVY3NSVUZCUjNSSExFVkJRVWw1U0N4RlFVTjBRME1zUlVGQlVTeExRVUZMTEVsQlFVbDZTU3hKUVVGVFJDeEZRVUZOZVVrc1JVRkJUeXhMUVVGTExGRkJRVkY0U1N4RlFVRk5MRVZCUVVkeFNDeERRVUZITEVWQlFVY3pSeXhGUVVGTExFOUJRVk1zUTBGQlF5eEZRVU4wUml4SFFVRkxORWdzUjBGVFFTeEhRVUZKZGtnc1IwRkJTekJJTEVWQlExWXNSMEZCU1N4RFFVTkJMRXRCUVU4eFNDeEhRVUZMTUVnc1JVRkJUekZJTEVsQlFVc3NRMEZEYUVKdFJTeEZRVUZUYmtVc1EwRkJReXhGUVVGRkxGZEJRMXB0UlN4RlFVRlRia1VzUTBGQlF5eEZRVUZKYlVVc1JVRkJVMjVGTEVOQlFVTXNSVUZCUlN4TlFVRk5MRWRCUTNCRExFbEJRVWxXTEVWQlFWTTJSU3hGUVVGVGJrVXNRMEZCUXl4RlFVRkZMRk5CUVZOb1FpeEZRVUZMUXl4RlFVRk5ZU3hGUVVGaGVVZ3NSVUZCVldwRkxFVkJRVTFyUlN4RlFVRlBPVUlzUTBGQlR5eEZRVWw0Uml4SFFVUkJMMFlzUlVGQlMwc3NRMEZCUXl4RlFVRkpiVVVzUlVGQlUyNUZMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRM3BDTEU5QlFVOVdMRWRCUVZjc1UwRkRiRUlzVDBGQlQwRXNSVUZEV0d0SkxFVkJRVkZzU1N4RFFVTmFMRU5CUTBvc1VVRkRRU3hEUVVWSkxFbEJRVWxuU1N4RlFVRlBhRVVzUlVGQlN5eGpRVUZuUWl4RlFVZG9ReXhKUVVaSmJVVXNSVUZCVHl4SFFVTlFRU3hKUVVORGVrZ3NSVUZCU1RCSUxFVkJRVTh4U0N4SFFVRkxlVWdzUlVGQlRYcElMRWxCUTI1Q2JVVXNSVUZCVTI1RkxFTkJRVU1zUlVGQlJTeExRVUZMTEZGQlFWVnpTQ3hKUVVOMlFtNUVMRVZCUVZOdVJTeERRVUZETEVWQlFVVXNTMEZCU3l4VFFVRlhMRVZCUXpWQ0xFdEJRVXNzVTBGQlUwRXNSVUZCUjNORUxFVkJRVXNzV1VGQldTeEhRVWRzUXpORUxFVkJRVXNzVDBGQlQwc3NSVUZCUnl4RFFVRkRMRVZCUTJoQ2JVVXNSVUZCVXl4UFFVRlBia1VzUlVGQlJ5eERRVUZETEVsQlNUVkNiVVVzUlVGQlV5eFRRVUZYTEVkQlFVdEJMRVZCUVZNc1EwRkJReXhGUVVGRkxFdEJRVXNzVTBGQlZ5eEhRVU55UkM5RExFZEJRVTBzUjBGQlR5eGxRVUZsTEVOQlEzQkRMRTFCZGtOQkxFMUJRVTl3UWl4SFFVRkxNRWdzUlVGQlR6RklMRWxCUVVzc1EwRkRjRUlzU1VGQlNWWXNSVUZCVXpaRkxFVkJRVk51UlN4RFFVRkRMRVZCUVVVc1UwRkJVMmhDTEVWQlFVdERMRVZCUVUxaExFVkJRV0Y1U0N4RlFVRlZha1VzUlVGQlRXdEZMRVZCUVU4NVFpeERRVUZQTEVWQlEzaEdMRWRCUVVrc1QwRkJUM0JITEVkQlFWY3NVMEZEYkVJc1QwRkJUMEVzUlVGRFdHdEpMRVZCUVZGc1NTeERRVU5hTEVOQmIwTktMRTlCUVU5clNTeERRVU5ZTEVWQlJVRnFTU3hGUVVGakxGVkJRVlVzVTBGQlZ5eFRRVUZWVXl4RlFVRkhhMGtzUlVGQlV5eERRVU55UkN4SlFVRkpMMFFzUlVGQlZ5eExRVUZMTEZOQlEzQkNMRTlCUVVsdVJTeEhRVUZMTEVkQlFVdEJMRVZCUVVrc1JVRkJTVzFGTEVWQlFWTXNVVUZEZGtKQkxFVkJRVk51UlN4RFFVRkRMRVZCUVVVc1MwRkJTeXhQUVVGVGJVVXNSVUZCVTI1RkxFVkJRVWtzUTBGQlF5eEZRVUZGTEV0QlFVc3NVVUZCVld0SkxFZEJRM0pFTDBRc1JVRkJVMjVGTEVOQlFVTXNSVUZCUlN4WFFVTmFiVVVzUlVGQlUyNUZMRU5CUVVNc1JVRkJTVzFGTEVWQlFWTnVSU3hEUVVGRExFVkJRVVVzVFVGQlRTeEhRVU53UTIxRkxFVkJRVk51UlN4RFFVRkRMRVZCUVVVc1lVRkJZVzFGTEVWQlFWTnVSU3hGUVVGSkxFTkJRVU1zUlVGQlIydEpMRU5CUVU4c1JVRkRha1F2UkN4RlFVRlRMRTlCUVU5dVJTeEZRVUZKTEVWQlFVY3NRMEZCUXl4RlFVTjRRaXhMUVVGTExFdEJRVXNzVDBGQlQwRXNSVUZCU1N4RlFVRkhMRU5CUVVNc1JVRkRla0lzUzBGQlN5eExRVUZMUVN4RFFVRkRMRVZCUVVsdFJTeEZRVUZUYmtVc1EwRkJReXhGUVVGRkxFOUJRVThzUlVGRE0wSXNTVUZIVWl4RlFVTllMRVZCVFVGVUxFVkJRV01zVlVGQlZTeGhRVUZsTEZOQlFWVTJTQ3hGUVVGTE5Va3NSVUZCWVN4RFFVVXZSQ3hKUVVGSk1rb3NSVUZCV1N4TFFVRkxMRXRCUVVzc1QwRkRNVUlzUzBGQlN5eExRVUZMTEV0QlFVc3NUVUZCVFN4TFFVRkxMRXRCUVUxbUxFVkJRVWtzU1VGQlNTeEZRVU40UXl4SlFVRkpaMElzUlVGQlkyaENMRVZCUVVrc1UwRkZkRUlzUjBGRVFTeExRVUZMTEZOQlFWTXNTMEZCU3l4TlFVRk5MRXRCUVVzc1UwRkJWV2RDTEVOQlFWY3NSVUZETDBOb1FpeEZRVUZKTEZWQlFWa3NRMEZCUXl4TFFVRkxMRk5CUjNSQ0xGRkJRVk53U0N4RlFVRkpMRVZCUVVkQkxFVkJRVWx2U1N4RlFVRlpMRTlCUVZGd1NTeEpRVU53UTI5SkxFVkJRVmx3U1N4RFFVRkRMRVZCUVVVc1UwRkJWeXhIUVV0c1F5eExRVUZMTEZOQlFWTnRTU3hGUVVGWkxFVkJRVWN6U2l4RFFVRlhMRU5CUXpWRExFVkJRMDlsTEVOQlExZ3NSVUZCUlRKSExFVkJRVXNzUlVGWlNFVXNSMEZCV1N4RFFVRkRMRVZCUTJKdVJ5eEhRVUZUTEVOQlFVVXNUMEZCVVN4RlFVRkxMRVZCUVVkVUxFZEJRV01zVlVGQldTeERRVUZGTEU5QlFVOVRMRVZCUVZFc1JVRkRkRVYxUml4SFFVRlJMRU5CUVVVc1RVRkJUeXhGUVVGTExFVkJRM1JDTDBjc1IwRkJZU3hWUVVGWkxFTkJRM3BDTEVsQlFVa3NSVUZCU1N4SlFVRkplVWdzUjBGRFdpeFRRVUZGTEZOQlFWY3NSMEZEVGl4RFFVTllMRVZCUVVjc1JVRkRRelZGTEVkQlFXRXNRMEZCUXl4RlFVTmtha0lzUjBGQll5eERRVUZETEVWQlEyNUNMRk5CUVZObExFZEJRVTFwU0N4RlFVRk5MRU5CUldwQ0xGRkJSRWxETEVWQlFVOHNRMEZCUXl4RlFVTklReXhGUVVGTExFVkJRVWRCTEVWQlFVc3NWVUZCVlN4UFFVRlJRU3hKUVVOd1EwUXNSVUZCUzBNc1JVRkJTeXhEUVVGRExFVkJRVWtzVlVGQlZVRXNRMEZCUlN4RlFVVXZRaXhIUVVGSkxFTkJRVU5HTEVWQlEwUXNUVUZCUVVNc1JVRkJTeXhSUVVGUkxGTkJRVk1zUlVGRGFFSXNTVUZCU1N4TlFVRk5RU3hGUVVGTExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlJYUkRMRU5CUlVFM1N5eEhRVUZSTEZkQlFXTXNWVUZCV1N4RFFVRkZMRWxCUVVseFNTeEZRVUZKTEVsQlFVbDZTQ3hIUVVGVExFOUJRVUY1U0N4RlFVRkZMRTlCUVU4c1JVRkJWVUVzUTBGQlJ5eEZRVUZITEVsRGRIQkViRVlzU1VGQlRUQkRMRWRCUVU0c1kwRkJlVUlzUzBGQlRTeERRVUZETEVWQlMyNUNReXhIUVVGT0xHTkJRVzFEUkN4RlFVRlhMRU5CUTI1RUxGbEJRVmxGTEVWQlFWRXNRMEZEYkVJc1RVRkJUU3h4UWtGQmNVSkJMRVZCUVU4c1ZVRkJWU3hEUVVGRExFVkJRVVVzUTBGRGFrUXNRMEZEUml4RlFVdGhReXhIUVVGT0xHTkJRVzFEU0N4RlFVRlhMRU5CUTI1RUxGbEJRVmxGTEVWQlFWRXNRMEZEYkVJc1RVRkJUU3h4UWtGQmNVSkJMRVZCUVU4c1ZVRkJWU3hEUVVGRExFVkJRVVVzUTBGRGFrUXNRMEZEUml4RlFVdGhSU3hIUVVGT0xHTkJRVzFEU2l4RlFVRlhMRU5CUTI1RUxGbEJRVmxGTEVWQlFWRXNRMEZEYkVJc1RVRkJUU3h4UWtGQmNVSkJMRVZCUVU4c1ZVRkJWU3hEUVVGRExFVkJRVVVzUTBGRGFrUXNRMEZEUml4RlFVdGhSeXhIUVVGT0xHTkJRVFJEVEN4RlFVRlhMRU5CUVVNc1JVRkxiRVJOTEVkQlFVNHNZMEZCSzBKT0xFVkJRVmNzUTBGREwwTXNXVUZCV1U4c1JVRkJUU3hEUVVOb1FpeE5RVUZOTEdkQ1FVRm5Ra0VzUTBGQlNTeEZRVUZGTEVOQlF6bENMRU5CUTBZc1JVRkxZVU1zUjBGQlRpeGpRVUZ0UTFJc1JVRkJWeXhEUVVGRExFVkJTM3BEVXl4SFFVRk9MR05CUVd0RFZDeEZRVUZYTEVOQlEyeEVMR0ZCUVdNc1EwRkRXaXhOUVVGTkxESkNRVUV5UWl4RFFVTnVReXhEUVVOR0xFVkRlRVJCTEVsQlFVMVZMRVZCUVVrc1ZVRkRVa01zUjBGQlNTeFJRVU5LUXl4SFFVRkpMRTlCUlU5RExFZEJRV0VzUTBGRGVFSXNTMEZCVFVnc1JVRkRUaXhOUVVGUFFTeEZRVU5RTEVsQlFVdEJMRU5CUTFBc1JVRkZZVWtzUjBGQlZ5eERRVU4wUWl4TFFVRk5TaXhGUVVOT0xFMUJRVTlETEVkQlExQXNTVUZCUzBRc1EwRkRVQ3hGUVVWaFN5eEhRVUYzUWl4RFFVTnVReXhMUVVGTlRDeEZRVU5PTEUxQlFVOURMRWRCUTFBc1NVRkJTMFFzUlVGRFRDeFJRVUZUUXl4RlFVTllMRVZCUldGTExFZEJRVmtzUTBGRGRrSXNTMEZCVFU0c1JVRkRUaXhOUVVGUFJTeEhRVU5RTEVsQlFVdEdMRU5CUTFBc1JVRkZZVThzUjBGQldTeERRVU4yUWl4TFFVRk5VQ3hGUVVOT0xFMUJRVTlGTEVkQlExQXNTVUZCUzBZc1JVRkRUQ3hSUVVGVFJTeEZRVU5ZTEVWQlJXRk5MRWRCUVdNc1EwRkRla0lzUzBGQlRWSXNSVUZEVGl4UFFVRlJRU3hEUVVOV0xFVkJSV0ZUTEVkQlFXOUNMRU5CUXk5Q0xFdEJRVTFVTEVWQlEwNHNUMEZCVVVFc1JVRkRVaXhQUVVGUlFTeERRVU5XTEVWQlJXRlZMRWRCUVhsQ0xFTkJRM0JETEV0QlFVMVdMRVZCUTA0c1QwRkJVVUVzUlVGRFVpeFBRVUZSUVN4RlFVTlNMR0ZCUVdORExFVkJRMmhDTEVWQlJXRlZMRWRCUVhkQ0xFTkJRMjVETEV0QlFVMVlMRVZCUTA0c1QwRkJVVUVzUlVGRFVpeFBRVUZSUVN4RlFVTlNMR0ZCUVdORkxFVkJRMmhDTEVWQlJXRlZMRWRCUVdsQ0xFTkJRelZDTEV0QlFVMWFMRVZCUTA0c1QwRkJVVUVzUlVGRFVpeFZRVUZYTEV0QlEySXNSVUZGWVdFc1IwRkJkVUlzUTBGRGJFTXNTMEZCVFdJc1JVRkRUaXhQUVVGUlFTeEZRVU5TTEU5QlFWRkJMRVZCUTFJc1ZVRkJWeXhMUVVOaUxFVkJSV0ZqTEVkQlFUUkNMRU5CUTNaRExFdEJRVTFrTEVWQlEwNHNUMEZCVVVFc1JVRkRVaXhQUVVGUlFTeEZRVU5TTEZWQlFWY3NUVUZEV0N4aFFVRmpReXhGUVVOb1FpeEZRVVZoWXl4SFFVRXlRaXhEUVVOMFF5eExRVUZOWml4RlFVTk9MRTlCUVZGQkxFVkJRMUlzVDBGQlVVRXNSVUZEVWl4VlFVRlhMRTFCUTFnc1lVRkJZMFVzUlVGRGFFSXNSVUZGWVdNc1IwRkJhVUlzUTBGRE5VSXNTMEZCVFdoQ0xFVkJRMDRzVFVGQlQwRXNSVUZEVUN4SlFVRkxRU3hGUVVOTUxFdEJRVTFCTEVWQlEwNHNUMEZCVVVFc1EwRkRWaXhGUVVWaGFVSXNSMEZCT0VJc1EwRkRla01zUzBGQlRXcENMRVZCUTA0c1RVRkJUMEVzUlVGRFVDeEpRVUZMUVN4RlFVTk1MRXRCUVUxQkxFVkJRMDRzVDBGQlVVRXNSVUZEVWl4UFFVRlJRU3hEUVVOV0xFVkJSV0ZyUWl4SFFVRmxMRU5CUXpGQ0xFdEJRVTFzUWl4RlFVTk9MRTFCUVU5RExFZEJRMUFzU1VGQlMwUXNSVUZEVEN4TFFVRk5RU3hGUVVOT0xFOUJRVkZCTEVOQlExWXNSVUZGWVcxQ0xFZEJRVFJDTEVOQlEzWkRMRXRCUVUxdVFpeEZRVU5PTEUxQlFVOURMRWRCUTFBc1NVRkJTMFFzUlVGRFRDeExRVUZOUVN4RlFVTk9MRTlCUVZGQkxFVkJRMUlzVDBGQlVVRXNRMEZEVml4RlFVVmhiMElzUjBGQk5FSXNRMEZEZGtNc1MwRkJUWEJDTEVWQlEwNHNUVUZCVDBNc1IwRkRVQ3hKUVVGTFJDeEZRVU5NTEZGQlFWTkRMRWRCUTFRc1MwRkJUVVFzUlVGRFRpeFBRVUZSUVN4RFFVTldMRVZCUldGeFFpeEhRVUZuUWl4RFFVTXpRaXhMUVVGTmNrSXNSVUZEVGl4TlFVRlBSU3hIUVVOUUxFbEJRVXRHTEVWQlEwd3NTMEZCVFVFc1JVRkRUaXhQUVVGUlFTeEZRVU5TTEdGQlFXTkRMRVZCUTJoQ0xFVkJSV0Z4UWl4SFFVRTJRaXhEUVVONFF5eExRVUZOZEVJc1JVRkRUaXhOUVVGUFJTeEhRVU5RTEVsQlFVdEdMRVZCUTB3c1MwRkJUVUVzUlVGRFRpeFBRVUZSUVN4RlFVTlNMRTlCUVZGQkxFVkJRMUlzWVVGQlkwTXNSVUZEYUVJc1JVRkZZWE5DTEVkQlFXZENMRU5CUXpOQ0xFdEJRVTEyUWl4RlFVTk9MRTFCUVU5RkxFZEJRMUFzU1VGQlMwWXNSVUZEVEN4UlFVRlRSU3hIUVVOVUxFdEJRVTFHTEVWQlEwNHNUMEZCVVVFc1JVRkRVaXhoUVVGalJTeEZRVU5vUWl4RlFVVmhjMElzUjBGQk5rSXNRMEZEZUVNc1MwRkJUWGhDTEVWQlEwNHNUVUZCVDBVc1IwRkRVQ3hKUVVGTFJpeEZRVU5NTEZGQlFWTkZMRWRCUTFRc1MwRkJUVVlzUlVGRFRpeFBRVUZSUVN4RlFVTlNMRTlCUVZGQkxFVkJRMUlzWVVGQlkwVXNSVUZEYUVJc1JVTnFTMDhzVTBGQlUzVkNMRVZCUVZsRExFVkJRVWNzUTBGRE4wSXNUMEZCVHl4UFFVRlBRU3hIUVVGTkxGZEJRM1JDTEVOQlJVOHNVMEZCVTBNc1IwRkJVMFFzUlVGQlJ5eERRVU14UWl4UFFVRlBMRTlCUVU5QkxFZEJRVTBzVVVGRGRFSXNRMEZGVHl4VFFVRlRSU3hIUVVGVlJpeEZRVUZITEVOQlF6TkNMRTlCUVU4c1QwRkJUMEVzUjBGQlRTeFZRVUZaUVN4RlFVRkpMRWxCUVUwc1EwRkROVU1zUTBGRlR5eFRRVUZUUnl4SFFVRlRTQ3hGUVVGSExFTkJRekZDTEU5QlFVOHNUMEZCVDBFc1IwRkJUU3hSUVVOMFFpeERRVVZQTEZOQlFWTkpMRWRCUVU5S0xFVkJRVWNzUTBGRGVFSXNUMEZCVHl4UFFVRlBMRlZCUVZVc1UwRkJVeXhMUVVGTFFTeERRVUZETEVsQlFVMHNaVUZETDBNc1EwRkpUeXhUUVVGVFN5eEpRVUZqTEVOQlF6VkNMRWRCUVVrc1EwRkRSaXhQUVVGUExFOUJRVThzVFVGQlV5eGhRVUZsTEVOQlFVTXNRMEZCUXl4TFFVRkxMR3RDUVVNdlF5eFBRVUZUUXl4RlFVRkhMRU5CUTFZc1RVRkJUeXhGUVVOVUxFTkJRMFlzUTBGSlR5eFRRVUZUUXl4SFFVRlhReXhGUVVGUExFTkJRMmhETEU5QlFVOHNUVUZCVFN4UlFVRlJRU3hEUVVGTExFVkJRVWxCTEVWQlFWRXNRMEZCUTBFc1EwRkJTeXhEUVVNNVF5eERRVVZQTEZOQlFWTkRMRWRCUVU5RExFVkJRVXRETEVWQlFVbERMRVZCUVZNc1EwRkRka01zUjBGQlNVWXNSVUZCU1N4VFFVRlhMRVZCUjI1Q0xFOUJRVTlCTEVWQlFVa3NUMEZCVHl4RFFVRkRSeXhGUVVGTlF5eEpRVUZUTEVOQlEyaERMRWxCUVUxRExFVkJRVThzUTBGQlEwb3NSVUZCUjBjc1EwRkJTU3hGUVVGSFFTeERRVUZKTEVWQlF6VkNMRTlCUVV0RUxFZEJSVTFFTEVWQlFWRkRMRVZCUVVzc1EwRkJReXhGUVVGSFJTeEZRVUZMTEVOQlFVTXNRMEZCUXl4SlFVRk5SaXhGUVVGTExFTkJRVU1zUlVGRGRFTkJMRVZCUmtGRkxFTkJUVmdzUlVGQlJ5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVTmFMRU5CUlU4c1UwRkJVME1zUjBGQlMwTXNSVUZCUzBNc1JVRkJUU3hEUVVNNVFpeFBRVUZQUVN4RlFVRkxMRTlCUVU4c1EwRkJRME1zUlVGQlIwTXNTMEZEY2tKRUxFVkJRVVZETEVOQlFVTXNSVUZCU1Vnc1JVRkJTVWNzUTBGQlF5eEZRVU5NUkN4SFFVTk9MRU5CUVVNc1EwRkJReXhEUVVOUUxFTkJSVThzVTBGQlUwVXNSMEZCWlVvc1JVRkJTMHNzUlVGQlRTeERRVU40UXl4UFFVRlBMRTlCUVU4c1ZVRkJWU3hsUVVGbExFdEJRVXRNTEVWQlFVdExMRU5CUVVrc1EwRkRka1FzUTBGSlR5eFRRVUZUUXl4SFFVRmxaaXhGUVVGUFowSXNSVUZCVVVNc1JVRkJTeXhEUVVOcVJDeFBRVUZQZGtJc1IwRkJWVTBzUTBGQlN5eEhRVUZMUVN4SFFVRlRaMElzUjBGQlZXaENMRWRCUVZOcFFpeERRVU42UkN4RFFVZFBMRk5CUVZORExFZEJRVk5ETEVWQlFVZERMRVZCUVVjc1EwRkROMElzVDBGQlQwUXNSVUZCU1VNc1JVRkJTU3hMUVVGTExFMUJRVTFFTEVWQlFVbERMRU5CUVVNc1EwRkRha01zUTBGRlR5eFRRVUZUUXl4SFFVRlRReXhGUVVGUFJpeEZRVUZKTEVWQlFVY3NRMEZEY2tNc1NVRkJUVWNzUlVGQlVVUXNSVUZCVVN4RlFVTnNRa1VzUlVGRFNpeFBRVUZKUkN4RlFVTkdReXhGUVVGVExFdEJRVThzUjBGQlN5eERRVUZEUml4SFFVRlBMRk5CUVZOR0xFVkJRVWNzUjBGQlJ5eEZRVVUxUTBrc1IwRkJWU3hIUVVGTFJpeEhRVUZQTEZOQlFWTkdMRVZCUVVjc1IwRkJSeXhGUVVWb1Ewa3NRMEZEVkN4RFFVVlBMRk5CUVZORExFZEJRV0ZETEVWQlFWRXNRMEZEYmtNc1IwRkJTU3hGUVVGQmJrTXNSVUZCV1cxRExFTkJRVTBzUjBGQlMwRXNTVUZCVnl4TlFVRlJRU3hKUVVGWExFbEJSM1pFTEU5QlFVOHNVMEZCVTBFc1JVRkJVU3hGUVVGRkxFTkJSVGxDTEVOQlJVOHNVMEZCVTBNc1IwRkJZMFFzUlVGQlVTeERRVU53UXl4SFFVRkpMRVZCUVVGdVF5eEZRVUZaYlVNc1EwRkJUU3hIUVVGTFFTeEpRVUZYTEUxQlFWRkJMRWxCUVZjc1NVRkhka1FzVDBGQlR5eFhRVUZYUVN4RFFVRk5MRU5CUlRWQ0xFTkJSVThzVTBGQlUwVXNSMEZCV1VNc1JVRkJWU3hEUVVWd1F5eEhRVUZKTEVWQlFVRjBReXhGUVVGWmMwTXNRMEZCVVN4SFFVRkxRU3hKUVVGaExFMUJRVkZCTEVsQlFXRXNTVUZGZUVRc1EwRkRUQ3hKUVVGTlF5eEZRVUZKTEZkQlFWY3NTMEZCVDBRc1EwRkJVU3hGUVVGSkxFbEJRM2hETEU5QlFVOHNTMEZCU3l4TlFVRk5ReXhEUVVGRExFTkJRM0pDTEVOQlEwWXNRMEZGVHl4VFFVRlRReXhIUVVGUlF5eEZRVUZSUXl4RlFVRlJReXhGUVVGaExFZEJRVThzUTBGRE1VUXNTVUZCVFVNc1JVRkJVeXhKUVVGTlJpeEZRVVZ5UWl4UFFVUlpReXhGUVVGaExFdEJRVXNzVFVGQlVTeExRVUZMTEU5QlF6VkNSaXhGUVVGVFJ5eERRVUZOTEVWQlFVbEJMRU5CUTNCRExFTkJTVThzVTBGQlUwTXNSMEZCVjBNc1JVRkJUU3hEUVVNdlFpeFBRVUZQUVN4RlFVRlBMRWxCUVUwc1NVRkJUVUVzUlVGQlR5eE5RVUZSTEVkQlFVdEJMRVZCUVU4c1RVRkJVU3hGUVVNdlJDeERRVVZQTEZOQlFWTkRMRWRCUVZkRUxFVkJRVTBzUTBGREwwSXNUMEZCVDBRc1IwRkJWME1zUTBGQlNTeEZRVUZKTEVsQlFVMHNSMEZEYkVNc1EwRkZUeXhUUVVGVFJTeEhRVUZaUml4RlFVRk5SeXhGUVVGUExFTkJRM1pETEVsQlFVMURMRVZCUVZkMlFpeEhRVUZUYzBJc1JVRkJVU3hGUVVGSExFVkJRVVVzUlVGQlNTeEZRVU42UTBVc1JVRkJWVXdzUjBGQlVVY3NSVUZCVVVNc1IwRkJXU3hIUVVWNFF5eFBRVUZKUVN4SlFVRmhMRVZCUTFKTUxFZEJRVmROTEVOQlFVOHNSVUZCU1N4SFFVRkxMRWRCUlROQ0xFTkJRVU1zUjBGQlNTeExRVUZOTEVkQlFVa3NSMEZCU1N4SFFVRkpMRWRCUVVrc1IwRkJTU3hIUVVGSkxFZEJRVWtzUjBGQlNTeEhRVUZKTEVWQlFVVXNSVUZCUlVRc1JVRkJWeXhEUVVGRExFTkJSVEZGTEVOQlIwOHNVMEZCVTBVc1IwRkJZV3hETEVWQlFVc3NRMEZEYUVNc1NVRkJTVzFETEVWQlFVa3NTMEZCU3l4SlFVTllia01zUlVGQlNTeExRVU5LUVN4RlFVRkpMRTFCUVZFc1JVRkRXa0VzUlVGQlNTeEpRVU5LUVN4RlFVRkpMRXRCUTBwQkxFVkJRVWtzVDBGRFNrRXNSVUZCU1N4UFFVTktRU3hGUVVGSkxGZEJRMDRzUlVGSFFTeFBRVUZKUVN4RlFVRkpMRXRCUVU4c1MwRkJUMEVzUlVGQlNTeE5RVUZSTEVsQlEyaERiVU1zUlVGQlNTeEpRVUZKTEV0QlFVdEJMRU5CUVVNc1JVRkRaRUVzUlVGQlJTeGxRVUZsUVN4RlFVRkZMR1ZCUVdVc1JVRkJTU3hKUVVGSkxFZEJSWEpETEVOQlFVTkJMRU5CUTFZc1EwRkZUeXhUUVVGVFF5eEhRVUZuUWtNc1JVRkJWU3hEUVVONFF5eEpRVUZOUXl4SFFVTkVSQ3hGUVVORExFdEJRVXNzVFVGQlRVRXNSVUZCVnl4RFFVRkRMRVZCUTNaQ0xFdEJRVXNzVFVGQlRVRXNSVUZCVnl4SFFVRkhMRVZCUTNwQ0xFdEJRVXNzVFVGQlRVRXNSVUZCVnl4SFFVRkhMRWRCUXpOQ0xFVkJRMFpGTEVWQlFVOUdMRVZCUVZjc1JVRkRiRUpITEVkQlFVMUVMRVZCUVU4c1MwRkJTeXhOUVVGTlFTeEZRVUZQTEVOQlFVTXNSVUZCU1N4TFFVRkxMRTFCUVUxQkxFVkJRVThzUjBGQlJ5eEZRVUZKTEV0QlFVc3NUVUZCVFVFc1JVRkJUeXhIUVVGSExFZEJRVXNzUlVGRGVrWXNUMEZCVDBRc1NVRkJUeXhIUVVGTFJTeEpRVUZQTEVWQlFVa3NSMEZCU3l4RlFVTnlReXhEUVVWUExGTkJRVk5ETEVkQlFXVmlMRVZCUVUwc1EwRkRia01zVDBGQlNVRXNSVUZCVHl4SFFVTkdRU3hGUVVOTFFTeEZRVUZQTEVkQlFVc3NTMEZCVDBFc1JVRkJUeXhKUVVGUFFTeERRVU5xUkN4RFFVbFBMRk5CUVZOakxFZEJRV05ETEVWQlFVbERMRVZCUVdORExFVkJRVkZETEVWQlFWY3NTMEZCVFN4RFFVTjJSU3hKUVVGTlF5eEZRVUZQTEVsQlFVa3NTMEZCUzBvc1EwRkJSU3hGUVVOMFFrc3NSVUZCVnl4RFFVTlVMRlZCUVZjc1RVRkRXQ3hMUVVGTkxGVkJRMDRzVFVGQlR5eFZRVU5RTEVsQlFVc3NWVUZEVEN4TFFVRk5MRlZCUTA0c1QwRkJVU3hUUVVOV0xFVkJSVVZHTEVsQlEwWkZMRVZCUVZNc1UwRkJWMFlzUjBGSGRFSXNTVUZCVFVjc1JVRkJWME1zUlVGQlFTeERRVUZGTEdGQlFXTk9MRWRCUVdsQ1NTeEhRVVUxUTBjc1JVRkJVeXhKUVVGSkxFdEJRVXNzWlVGQlpVNHNSVUZCVVVrc1EwRkJVU3hGUVVOd1JDeGpRVUZqUml4RFFVRkpMRVZCUTJ4Q0xFdEJRVTFMTEVkQlFVMUJMRVZCUVVVc1MwRkJTeXhaUVVGWkxFbEJRVTBzWTBGQll5eEZRVU4wUkN4UFFVRlBSQ3hGUVVGVFFTeEZRVUZQTEUxQlFWRXNTVUZEYWtNc1EwRkhUeXhUUVVGVFJTeEhRVUZoUXl4RlFVRlpReXhGUVVGakxFTkJRM0pFTEVsQlFVbERMRVZCUVZVc1UwRkJVMFlzUlVGQldTeEZRVUZGTEVWQlIycERMRTlCUVU4c1RVRkJUVVVzUTBGQlR5eEpRVU4wUWtFc1JVRkJWU3hIUVVkYUxFbEJRVTFETEVWQlFWTXNVMEZCVTBZc1JVRkJZeXhGUVVGRkxFZEJRVXNzUlVGRE0wTkhMRVZCUVdWR0xFVkJRVlVzUjBGQlN5eFBRVUZQTEVkQlFVZEJMRVZCUVZNc1JVRkJSU3hGUVVGSkxFTkJRVU5ETEVWQlFWTkJMRVZCUTI1RkxFOUJRVTlFTEVWQlFWVXNSMEZCUzBVc1EwRkRlRUlzUTBGSlR5eFRRVUZUUXl4SFFVRlRReXhGUVVGUExFTkJRemxDTEVsQlFVMURMRVZCUVdVc1QwRkJUMFFzUTBGQlN5eEZRVU5xUXl4SFFVRkpMRTlCUVU5QkxFZEJRVlVzVjBGQllVRXNTVUZCVlN4SlFVRk5MRTlCUVU4c1RVRkJUVU1zUTBGQldTeEZRVU42UlN4TlFVRk5MRWxCUVVsRExFZEJRWEZDTEhOQ1FVRnpRa1lzUTBGQlN5eEZRVUZGTEVWQlF6bEVMRTlCUVU5RExFTkJRMVFzUTBGRlR5eFRRVUZUUlN4SFFVRm5RaTlFTEVWQlFVdG5SU3hGUVVGWkxFTkJReTlETEVsQlFVMURMRVZCUVdFc1EwRkJReXhGUVVOd1FpeFJRVUZYUXl4TFFVRkxiRVVzUlVGRFpDeEhRVUZKU1N4SFFVRmxTaXhGUVVGTGEwVXNRMEZCUXl4RlFVRkhMRU5CUXpGQ0xFbEJRVTFETEVWQlFVbHVSU3hGUVVGSmEwVXNRMEZCUXl4RlFVTm1MRWRCUVhWQ1F5eEhRVUZOTEV0QlFVMHNVMEZEYmtOR0xFVkJRVmRFTEVWQlFWZEZMRU5CUVVNc1EwRkJReXhGUVVGSlVDeEhRVUZUVVN4RFFVRkRMRU5CUTNoRExFTkJSVVlzVDBGQlQwWXNRMEZEVkN4RFFVVlBMRk5CUVZOSExFZEJRV0ZETEVWQlFWRkRMRVZCUVZFc1EwRkRNME1zU1VGQlRVTXNSVUZCVVN4TFFVRkxMRTFCUVUwc1MwRkJTeXhKUVVGSlJpeEZRVUZUTEVWQlFVVXNRMEZCUXl4RlFVTTFRMGNzUlVGQlZTeExRVUZMTEUxQlFVMHNTMEZCU3l4SlFVRkpTQ3hGUVVGVExFVkJRVVVzUTBGQlF5eEZRVU14UTBrc1JVRkJUMG9zUjBGQlZTeEZRVUZKTEVsQlFVMHNTVUZGTjBJc1QwRkJVVU1zUlVGQlVTeERRVU5rTEVsQlFVc3NVVUZEU0N4TlFVRlBMRWRCUVVkSExFTkJRVWtzUjBGQlJ6ZEVMRWRCUVZNeVJDeEZRVUZQTEVOQlFVTXNRMEZCUXl4SlFVRkpNMFFzUjBGQlV6UkVMRVZCUVZNc1EwRkJReXhEUVVGRExFZEJRemRFTEVsQlFVc3NVMEZEU0N4TlFVRlBMRWRCUVVkRExFTkJRVWtzUjBGQlIwWXNRMEZCU3l4SFFVRkhReXhGUVVGVkxFVkJRVWtzU1VGQlNVRXNRMEZCVHl4SFFVRkxMRVZCUVVVc1IwRkRNMFFzU1VGQlN5eFRRVU5JTEUxQlFVOHNSMEZCUjBNc1EwRkJTU3hIUVVGSE4wUXNSMEZCVXpKRUxFVkJRVThzUTBGQlF5eERRVUZETEVkQlFVY3pSQ3hIUVVGVE5FUXNSVUZCVXl4RFFVRkRMRU5CUVVNc1IwRkROVVFzVVVGRFJTeE5RVUZOTEVsQlFVa3NWMEZCVnl4blFrRkJaMEpHTEVOQlFVMHNjME5CUVhORExFTkJRM0pHTEVOQlEwWXNRMEZGVHl4VFFVRlRTU3hIUVVGWE1VVXNSVUZCU3l4RFFVTTVRaXhQUVVGUFJDeEhRVUZMUXl4RlFVRkxMRU5CUVVNc1QwRkJVU3hUUVVGVkxGTkJRVlVzWVVGQllTeERRVUZETEVOQlF6bEVMRU5CUlU4c1NVRkJUVEpGTEVkQlExZ3NLMFZEY2xGTExFbEJRVTFETEVkQlFXRXNRMEZEZUVJc1ZVRkRRU3hYUVVOQkxGRkJRMEVzVVVGRFFTeE5RVU5CTEU5QlEwRXNUMEZEUVN4VFFVTkJMRmxCUTBFc1ZVRkRRU3hYUVVOQkxGVkJRMFlzUlVGRllVTXNSMEZCWXl4RFFVTjZRaXhOUVVOQkxFMUJRMEVzVFVGRFFTeE5RVU5CTEUxQlEwRXNUVUZEUVN4TlFVTkJMRTFCUTBFc1RVRkRRU3hOUVVOQkxFMUJRMEVzUzBGRFJpeEZRVVZoUXl4SFFVRmxMRU5CUVVNc1NVRkJTeXhKUVVGTExFbEJRVXNzU1VGQlN5eEpRVUZMTEVsQlFVc3NTVUZCU3l4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFZEJRVWNzUlVGRmFFWXNVMEZCVTBNc1IwRkJUME1zUlVGQlVTeERRVU0zUWl4UFFVRlJRU3hGUVVGUkxFTkJRMlFzU1VGQlN5eFRRVU5JTEUxQlFVOHNRMEZCUXl4SFFVRkhSaXhGUVVGWkxFVkJRM3BDTEVsQlFVc3NVVUZEU0N4TlFVRlBMRU5CUVVNc1IwRkJSMFFzUlVGQlZ5eEZRVU40UWl4SlFVRkxMRTlCUTBnc1RVRkJUeXhEUVVGRExFZEJRVWRFTEVWQlFWVXNSVUZEZGtJc1NVRkJTeXhWUVVOSUxFMUJRVThzUTBGQlF5eEpRVUZMTEVsQlFVc3NTVUZCU3l4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzU1VGQlN5eExRVUZOTEV0QlFVMHNTVUZCU1N4RlFVTjJSU3hKUVVGTExGVkJRMGdzVFVGQlR5eERRVUZETEV0QlFVMHNTMEZCVFN4TFFVRk5MRXRCUVUwc1MwRkJUU3hMUVVGTkxFdEJRVTBzUzBGQlRTeExRVUZOTEV0QlFVMHNTMEZCVFN4SlFVRkpMRVZCUTJoR0xGRkJRMFVzVDBGQlR5eEpRVU5ZTEVOQlEwWXNRMEZGVHl4SlFVRk5TeXhIUVVGbExFTkJRekZDTEZOQlEwRXNWVUZEUVN4WlFVTkJMRmRCUTBFc1UwRkRRU3hYUVVOQkxGRkJRMFlzUlVGRllVTXNSMEZCWjBJc1EwRkJReXhOUVVGUExFMUJRVThzVFVGQlR5eE5RVUZQTEUxQlFVOHNUVUZCVHl4TFFVRkxMRVZCUldoRlF5eEhRVUZwUWl4RFFVRkRMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzU1VGQlN5eEpRVUZMTEVkQlFVY3NSVUZGZWtRc1UwRkJVME1zUjBGQlUwb3NSVUZCVVN4RFFVTXZRaXhQUVVGUlFTeEZRVUZSTEVOQlEyUXNTVUZCU3l4VFFVTklMRTFCUVU4c1EwRkJReXhIUVVGSFJ5eEZRVUZqTEVWQlF6TkNMRWxCUVVzc1VVRkRTQ3hOUVVGUExFTkJRVU1zUjBGQlIwUXNSVUZCWVN4RlFVTXhRaXhKUVVGTExFOUJRMGdzVFVGQlR5eERRVUZETEVkQlFVZEVMRVZCUVZrc1JVRkRla0lzU1VGQlN5eFZRVU5JTEUxQlFVOHNRMEZCUXl4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzU1VGQlN5eEhRVUZITEVWQlF6TkRMRkZCUTBVc1QwRkJUeXhKUVVOWUxFTkJRMFlzUTBGRlR5eEpRVUZOU1N4SFFVRlpMRU5CUVVNc1MwRkJUU3hKUVVGSkxFVkJSWFpDUXl4SFFVRlhMRU5CUVVNc1owSkJRV2xDTEdGQlFXRXNSVUZGTVVORExFZEJRVmtzUTBGQlF5eExRVUZOTEVsQlFVa3NSVUZGZGtKRExFZEJRV0VzUTBGQlF5eEpRVUZMTEVkQlFVY3NSVUZGTlVJc1UwRkJVME1zUjBGQlMxUXNSVUZCVVN4RFFVTXpRaXhQUVVGUlFTeEZRVUZSTEVOQlEyUXNTVUZCU3l4VFFVTklMRTFCUVU4c1EwRkJReXhIUVVGSFVTeEZRVUZWTEVWQlEzWkNMRWxCUVVzc1VVRkRTQ3hOUVVGUExFTkJRVU1zUjBGQlIwUXNSVUZCVXl4RlFVTjBRaXhKUVVGTExFOUJRMGdzVFVGQlR5eERRVUZETEVkQlFVZEVMRVZCUVZFc1JVRkRja0lzVVVGRFJTeFBRVUZQTEVsQlExZ3NRMEZEUml4RFFVVlBMRk5CUVZOSkxFZEJRVzlDUXl4RlFVRkpMRU5CUTNSRExFOUJRVTlPTEVkQlFWVk5MRVZCUVVjc1MwRkJUeXhIUVVGTExFVkJRVWtzUTBGQlF5eERRVU4yUXl4RFFVVlBMRk5CUVZORExFZEJRVzFDUkN4RlFVRkpXQ3hGUVVGUkxFTkJRemRETEU5QlFVOUpMRWRCUVZOS0xFTkJRVTBzUlVGQlJWY3NSVUZCUnl4UlFVRlZMRU5CUVVNc1EwRkRlRU1zUTBGRlR5eFRRVUZUUlN4SFFVRnBRa1lzUlVGQlNWZ3NSVUZCVVN4RFFVTXpReXhQUVVGUFJDeEhRVUZQUXl4RFFVRk5MRVZCUVVWWExFVkJRVWNzVFVGQlVTeERRVUZETEVOQlEzQkRMRU5CUlU4c1UwRkJVMGNzUjBGQlpVZ3NSVUZCU1Znc1JVRkJVU3hEUVVONlF5eFBRVUZQVXl4SFFVRkxWQ3hEUVVGTkxFVkJRVVZYTEVWQlFVY3NTMEZCVHl4RlFVRkpMRVZCUVVrc1EwRkJReXhEUVVONlF5eERRVVZQTEZOQlFWTkpMRWRCUVcxQ1F5eEZRVUZOUXl4RlFVRlBReXhGUVVGVkxGTkJRVlZETEVWQlFWTXNSMEZCVHl4RFFVTnNSaXhKUVVGTlF5eEZRVUZSTEVOQlExb3NUVUZCVHl4RFFVRkRMRTlCUVZFc1MwRkJTeXhGUVVOeVFpeFRRVUZWTEVOQlFVTXNWVUZCVnl4TlFVRk5MRVZCUXpWQ0xFOUJRVkVzUTBGQlF5eFJRVUZUTEV0QlFVc3NSVUZEZGtJc1RVRkJUeXhEUVVGRExFOUJRVkVzUzBGQlN5eEZRVU55UWl4TFFVRk5MRU5CUVVNc1RVRkJUeXhOUVVGUExFMUJRVTBzUlVGRE0wSXNUVUZCVHl4RFFVRkRMRTlCUVZFc1MwRkJTeXhGUVVOeVFpeFJRVUZUTEVOQlFVTXNVMEZCVlN4TlFVRk5MRVZCUXpGQ0xGRkJRVk1zUTBGQlF5eFRRVUZWTEUxQlFVMHNRMEZETlVJc1JVRkZUVU1zUlVGQlZ5eERRVUZETEZGQlFWTXNWVUZCVnl4VFFVRlRMRVZCUVVVc1VVRkJVVXdzUTBGQlNTeEpRVUZOTEVkQlJXNUZMRWRCUVVsRkxFbEJRVmtzVVVGQlZVY3NSVUZCVlN4RFFVTnNReXhKUVVGTlF5eEZRVUZSVGl4SlFVRlRMRTlCUTNaQ0xFOUJRVkZETEVWQlFVOHNRMEZEWWl4SlFVRkxMRWRCUTBnc1QwRkJUMHNzUlVGQlVTeFhRVUZoTEZGQlFWRkdMRVZCUVUxS0xFTkJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZEY0VRc1NVRkJTeXhIUVVOSUxFOUJRVTlOTEVWQlFWRXNXVUZCWXl4UlFVRlJSaXhGUVVGTlNpeERRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUTNKRUxFbEJRVXNzUjBGRFNDeFBRVUZQVFN4RlFVRlJMRkZCUVZVc1VVRkJVVVlzUlVGQlRVb3NRMEZCU1N4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVOcVJDeFJRVU5HTEVOQlEwWXNRMEZGUVN4SlFVRk5UeXhGUVVGWExFOUJRVThzUjBGQlIwNHNSVUZCVHl4RlFVRkZMRWRCUVV0QkxFVkJRVkVzUlVGREwwTlBMRVZCUVZjc1MwRkJTeXhKUVVGSlVDeERRVUZMTEVWQlEzcENVU3hGUVVGWFJDeEpRVUZoTEVWQlEzaENSU3hGUVVGWFRpeEZRVUZOU2l4RFFVRkpMRVZCUTNKQ1Z5eEZRVUZWVWl4RlFVTk9UU3hGUVVORlF5eEZRVUZUTEVOQlFVTXNSVUZEVmtFc1JVRkJVeXhEUVVGRExFZEJRVXRCTEVWQlFWTXNRMEZCUXl4RlFVTXpRa1FzUlVGRFFVd3NSVUZCVFVvc1EwRkJTU3hGUVVGRkxFTkJRVU1zUlVGRFlrRXNSVUZEVGl4UFFVRlBUeXhGUVVGWExFZEJRVWRETEVOQlFWRXNTVUZCU1Vjc1EwRkJUeXhQUVVGVExFMUJRVTFJTEVOQlFWRXNTVUZCU1Vjc1EwRkJUeXhGUVVNMVJTeERRMnBMUVN4VFFVRlRReXhIUVVGblFrTXNSVUZCVVVNc1JVRkJaU3hEUVVNNVF5eEpRVUZKUXl4RlFVRkpMRWRCUTFJc1VVRkJWME1zUzBGQlUwZ3NSVUZEWkVjc1JVRkJUU3hSUVVOU1JDeEhRVUZMUXl4RlFVRk5MRWxCUlZoRUxFZEJRVXRFTEVWQlFXTkZMRVZCUVUwc1IwRkJSeXhGUVVkb1F5eFBRVUZQUkN4RFFVTlVMRU5CUlVFc1NVRkJUVVVzUjBGQmVVSXNRMEZETjBJc1JVRkJWME1zUjBGRFdDeEhRVUZaUXl4SFFVTmFMRWxCUVdGRExFZEJRMklzUzBGQlkwTXNSMEZEWkN4RlFVRlhReXhIUVVOWUxFZEJRVmxETEVkQlExb3NTVUZCWVVNc1IwRkRZaXhMUVVGalF5eEhRVU5rTEVWQlFWZERMRWRCUTFnc1IwRkJXVU1zUjBGRFdpeEpRVUZoUXl4SFFVTmlMRXRCUVdORExFZEJRMlFzUlVGQlYwTXNSMEZEV0N4SFFVRlpReXhIUVVOYUxFbEJRV0ZETEVkQlEySXNTMEZCWTBNc1IwRkRaQ3hGUVVGWFF5eEhRVU5ZTEVkQlFWbERMRWRCUTFvc1NVRkJZVU1zUjBGRFlpeExRVUZqUXl4RlFVTm9RaXhGUVUxeFFrTXNSMEZCY2tJc1RVRkJjVUpETEVOQlFWVXNRMEZETjBJc1QwRkJUeXhQUVVGUFF5eEZRVUZSUXl4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVNdlFpeFBRVUZQTEVsQlFVbEdMRVZCUVZWRExFVkJRVkZETEVOQlFVa3NRMEZEYmtNc1EwRkZRU3hQUVVGUExGbEJRVmxETEVWQlFVc3NRMEZEZEVJc1NVRkJTVU1zUlVGQlZTeExRVU5hUXl4RlFVRmpMRWRCUTJSRExFVkJRVmtzUjBGRFVtaERMRVZCUVZNc1EwRkJReXhGUVVOb1FpeFJRVUZUYVVNc1JVRkJTU3hGUVVGSFFTeEZRVUZKU2l4RlFVRkpMRTlCUVZGSkxFbEJRVXNzUTBGRGJrTXNTVUZCVFVNc1JVRkJTVXdzUlVGQlNTeFBRVUZQU1N4RFFVRkRMRVZCUTJ4Q1F5eEpRVUZOTEV0QlEwcElMRVZCUVZrc1QwRkJVeXhIUVVOMlFpOUNMRVZCUVU4c1MwRkJTeXhEUVVGRkxGRkJRVk5uUXl4RlFVRlhMRWxCUVV0RUxFTkJRVmtzUTBGQlF5eEZRVVYwUkVRc1JVRkJWU3hMUVVOV1F5eEZRVUZqTEVkQlEyUkRMRVZCUVZrc1EwRkJRMEVzUjBGRFNrRXNSMEZGUVVVc1NVRkJUVW9zUlVGRVprTXNSMEZCWlVjc1IwRkpXRWdzUlVGQldTeFBRVUZUTEVkQlEzWkNMMElzUlVGQlR5eExRVUZMTEVOQlFVVXNVVUZCVXl4SFFVRlBMRWxCUVVzclFpeERRVUZaTEVOQlFVTXNSVUZGYkVSQkxFVkJRV05ITEVWQlEyUktMRVZCUVZWSkxFVkJSV1FzUTBGRlFTeFBRVUZKU0N4RlFVRlpMRTlCUVZNc1IwRkRka0l2UWl4RlFVRlBMRXRCUVVzc1EwRkJSU3hSUVVGVFowTXNSVUZCVnl4SlFVRkxSQ3hEUVVGWkxFTkJRVU1zUlVGSEwwTXZRaXhEUVVOVUxFTkJSVUVzVDBGQlR5eDFRa0ZCZFVKSExFVkJRVThzUTBGRGJrTXNUMEZCVDBNc1IwRkJkVUpFTEVOQlFVc3NRMEZEY2tNc1EwRkZRU3haUVVGWmQwSXNSVUZCVVZFc1JVRkJXU3hEUVVNNVFpeExRVUZMTEV0QlFVOUJMRVZCUTFvc1MwRkJTeXhKUVVGTlVpeEZRVU5ZTEV0QlFVc3NWVUZCV1N4SlFVTnVRaXhEUVVWQkxIZENRVUYzUWxNc1JVRkJTVklzUlVGQlRTeERRVU5vUXl4UFFVRkpMRXRCUVVzc1dVRkJZeXhQUVVOeVFpeExRVUZMTEZWQlFWa3NTMEZCU3l4SlFVRkpMR3RDUVVGclFpeEhRVVZ1UXl4TFFVRkxMRlZCUVZVc1dVRkJXVkVzUlVGQlNVTXNTVUZCUVN4SFFVRkxMRXRCUVVzc1RVRkJVMVFzUlVGQlRTeEZRVU42UkN4UFFVRlBMRU5CUTI1Q0xFTkJSVUVzWlVGQlpWRXNSVUZCU1ZJc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGRk5VSXNUMEZFVnl4TFFVRkxMRWxCUVVrc1dVRkJXVkVzUlVGQlNVTXNTVUZCUVN4SFFVRkxMRXRCUVVzc1RVRkJVMVFzUlVGQlRTeEZRVU51UkN4UFFVRlBMRU5CUTI1Q0xFTkJSVUVzYjBKQlFXOUNVU3hGUVVGSlVpeEZRVUZQTEVOQlFVTXNSVUZCUnl4RFFVVnFReXhQUVVSWExFdEJRVXNzU1VGQlNTeFpRVUZaVVN4RlFVRkpReXhKUVVGQkxFZEJRVXNzUzBGQlN5eE5RVUZUVkN4RlFVRk5MRVZCUTI1RUxHTkJRV01zUTBGRE1VSXNRMEZGUVN4blFrRkJaMEpSTEVWQlFVbFNMRVZCUVU4c1EwRkJReXhGUVVGSExFTkJSVGRDTEU5QlJGY3NTMEZCU3l4SlFVRkpMRmxCUVZsUkxFVkJRVWxETEVsQlFVRXNSMEZCU3l4TFFVRkxMRTFCUVZOVUxFVkJRVTBzUlVGRGJrUXNaMEpCUVdkQ0xFTkJRelZDTEVOQlJVRXNTVUZCU1ZVc1JVRkJSME1zUlVGQlNTeEZRVUZITEVOQlJWb3NSMEZCU1N4TFFVRkxMRXRCUVVzc1dVRkRXaXhQUVVGUFF5eEhRVUZUUml4RlFVRkhReXhEUVVGRExFVkJSM1JDTEVsQlFVMVlMRVZCUVU5VExFVkJRVUVzUjBGQlN5eExRVUZMTEUxQlJYWkNMRTlCUVVsRkxFVkJRVWtzU1VGRFRsZ3NSVUZCU3l4TlFVRlJWeXhIUVVkU0xFdEJRVXNzU1VGQlNTeG5Ra0ZCWjBKWUxFTkJRVWtzUlVGQlJTeFBRVUZQVlN4RFFVRkRMRU5CUTJoRUxFTkJSVUVzZVVKQlFYbENSaXhGUVVGSlVDeEZRVUZMTEVOQlEyaERMRWxCUVUxWkxFVkJRV1VzUzBGQlN5eEpRVUZKTEZsQlFWa3NTVUZCVFN4TFFVTTVRME1zUlVGQmRVSXNTMEZCU3l4SlFVRkpMR2RDUVVGclFpeExRVUZMTEVsQlFVa3NhVUpCUVcxQ0xGVkJRemxGUXl4RlFVRlRMRU5CUVVObUxFVkJRVTFuUWl4SlFVRlpMRXRCUVVzc1NVRkJTU3hSUVVGUlVpeEZRVUZKVWl4RlFVRk5aMElzUTBGQlR5eEZRVU01UkVNc1JVRkJaMEpxUWl4SFFVTldVU3hGUVVGSExHVkJRV2xDUVN4RlFVRkhMRk5CUVZjc1IwRkJTMUlzUlVGQlN5eFBRVU4yUXl4SlFVZEdVU3hGUVVGSExGRkJRVlZCTEVWQlFVY3NTMEZCU3l4aFFVRmhRU3hGUVVGSExFZEJRVWxTTEVWQlFVc3NUVUZCVFN4RlFVRkpMRWRCUldwRmEwSXNSVUZCVnl4SlFVTlVUQ3hGUVVOWlRTeEhRVUZ2UWxnc1EwRkJSU3hGUVVNNVFrOHNSVUZCVHl4RFFVRkZMRXRCUVUwc1ZVRkJWeXhWUVVGWExFdEJRVTBzUlVGQlJ5eFhRVUZYTEVWQlF5OUVTeXhGUVVGUkxFTkJRVU5ETEVWQlFWRkRMRWxCUTJaVUxFVkJRMWxWTEVkQlFXbENaaXhGUVVGSllTeERRVUZOTEVWQlEyNURUaXhGUVVGUFR5eEZRVUZoTEVOQlFVVXNUVUZCVDBRc1EwRkJUeXhGUVVGSkxFTkJRVVVzVFVGQlQwRXNSVUZCVVN4SlFVRkxMRk5CUVZVc1JVRkJSeXhQUVVGUExFVkJRM2hHUnl4RlFVRlZMRU5CUVVOSUxFVkJRVkZETEVsQlEycENWQ3hGUVVOWldTeEhRVUZ0UW1wQ0xFVkJRVWxoTEVOQlFVMHNSVUZEY2tOT0xFVkJRMFZQTEVWQlFXRXNRMEZCUlN4UlFVRlRSQ3hEUVVGUExFVkJRVWtzUTBGQlJTeFJRVUZUUVN4RlFVRlJMRTFCUVU4c1QwRkJVU3hKUVVGTExGTkJRVlVzUlVGRGNFWXNVMEZEUml4RlFVTk9TeXhGUVVGamJrUXNSMEZCVlN4RFFVTjBRaXhKUVVGTlowTXNSVUZCWVZRc1JVRkJWU3gxUWtGQmRVSjJRaXhEUVVGTExFVkJRM3BFTEU5QlFVbG5ReXhGUVVOTExFdEJRVXNzZDBKQlFYZENReXhGUVVGSlJDeERRVUZWTEVWQlJUTkRhRU1zUTBGRldDeEZRVU5CYjBRc1JVRkJUMDRzUjBGRFRGSXNSVUZCZFVKbExFZEJRV1Z3UWl4RlFVRkpZU3hEUVVGTkxFVkJRVWxPTEVWQlFVOHNRMEZCUlN4SlFVRkxUU3hEUVVGUExFVkJRVWNzUzBGQlN5eEZRVU51Um1oRUxFVkJRV2xDUlN4SFFVRlZMRU5CUlhwQ0xFOUJRVkZCTEVWQlFVOHNRMEZGWWl4SlFVRkxMRWxCUTBnc1QwRkJUeXhMUVVGTExFbEJRVWxwUXl4RlFVRkhMRmRCUVZjc1JVRkRhRU1zU1VGQlN5eEpRVVZNTEVsQlFVc3NUVUZEU0N4UFFVRlBMRXRCUVVzc1NVRkJTVUVzUlVGQlJ5eFpRVUZoTEVOQlFVTXNSVUZGYmtNc1NVRkJTeXhKUVVOSUxFOUJRVThzUzBGQlN5eEpRVUZKUVN4RlFVRkhMRTFCUVUwc1JVRkRNMElzU1VGQlN5eExRVU5JTEU5QlFVOHNTMEZCU3l4SlFVRkpRU3hGUVVGSExFOUJRVkVzUTBGQlF5eEZRVVU1UWl4SlFVRkxMRXRCUTBnc1QwRkJUeXhMUVVGTExFbEJRVWtzUzBGQlN5eE5RVUZOUVN4RlFVRkhMRmxCUVdNc1JVRkJSU3hGUVVGSExFTkJRVU1zUlVGRGNFUXNTVUZCU3l4TlFVTklMRTlCUVU4c1MwRkJTeXhKUVVGSkxFdEJRVXNzVFVGQlRVRXNSVUZCUnl4WlFVRmpMRWRCUVVjc1EwRkJReXhGUVVWc1JDeEpRVUZMTEVsQlEwZ3NUMEZCVHl4TFFVRkxMRWxCUVVsQkxFVkJRVWNzVFVGQlRTeEZRVU16UWl4SlFVRkxMRXRCUTBnc1QwRkJUeXhMUVVGTExFbEJRVWxCTEVWQlFVY3NUMEZCVVN4RFFVRkRMRVZCUlRsQ0xFbEJRVXNzU1VGRFNDeFBRVUZQTEV0QlFVc3NTVUZCU1VFc1JVRkJSeXhMUVVGUExFdEJRVThzUlVGQlNTeEhRVUZMUVN4RlFVRkhMRXRCUVU4c1JVRkJSU3hGUVVONFJDeEpRVUZMTEV0QlEwZ3NUMEZCVHl4TFFVRkxMRWxCUVVsQkxFVkJRVWNzUzBGQlR5eExRVUZQTEVWQlFVa3NSMEZCUzBFc1JVRkJSeXhMUVVGUExFZEJRVWtzUTBGQlF5eEZRVU16UkN4SlFVRkxMRWxCUTBnc1QwRkJUeXhMUVVGTExFbEJRVWxCTEVWQlFVY3NTVUZCU1N4RlFVTjZRaXhKUVVGTExFdEJRMGdzVDBGQlR5eExRVUZMTEVsQlFVbEJMRVZCUVVjc1MwRkJUU3hEUVVGRExFVkJSVFZDTEVsQlFVc3NTVUZGU0N4UFFVRlBVeXhGUVVGaExFTkJRVVVzVDBGQlVTeFRRVUZWTEU5QlFWRXNTMEZCU3l4TFFVRkxMRTFCUVU4c1EwRkJReXhGUVVOd1JTeEpRVUZMTEV0QlJVZ3NUMEZCVDBFc1JVRkJZU3hEUVVGRkxFOUJRVkVzVVVGQlV5eFBRVUZSTEV0QlFVc3NTMEZCU3l4TlFVRlBMRU5CUVVNc1JVRkRia1VzU1VGQlN5eE5RVVZJTEU5QlFVOUJMRVZCUVdFc1EwRkJSU3hQUVVGUkxGTkJRVlVzVDBGQlVTeExRVUZMTEV0QlFVc3NUVUZCVHl4RFFVRkRMRVZCUTNCRkxFbEJRVXNzVDBGRlNDeFBRVUZQVkN4RlFVRkhMRXRCUVVzc1YwRkJWMEVzUlVGQlJ5eEhRVUZKTEVOQlFVVXNUMEZCVVN4UlFVRlRMRTlCUVZFc1MwRkJTeXhKUVVGSkxFMUJRVThzUTBGQlF5eEZRVU12UlN4SlFVRkxMRkZCUlVnc1QwRkJUMEVzUlVGQlJ5eExRVUZMTEZkQlFWZEJMRVZCUVVjc1IwRkJTU3hEUVVGRkxFOUJRVkVzVDBGQlVTeFBRVUZSTEV0QlFVc3NTVUZCU1N4TlFVRlBMRU5CUVVNc1JVRkZPVVVzU1VGQlN5eEpRVVZJTEU5QlFVOUJMRVZCUVVjc1UwRkZXaXhKUVVGTExFbEJRMGdzVDBGQlQxVXNSVUZCVXl4RlFVVnNRaXhKUVVGTExFbEJRMGdzVDBGQlQwb3NSVUZCZFVKRExFVkJRVThzUTBGQlJTeEpRVUZMTEZOQlFWVXNSVUZCUnl4TFFVRkxMRVZCUVVrc1MwRkJTeXhKUVVGSlVDeEZRVUZITEVkQlFVY3NSVUZEYmtZc1NVRkJTeXhMUVVOSUxFOUJRVTlOTEVWQlFYVkNReXhGUVVGUExFTkJRVVVzU1VGQlN5eFRRVUZWTEVWQlFVY3NTMEZCU3l4RlFVRkpMRXRCUVVzc1NVRkJTVkFzUlVGQlJ5eEpRVUZMTEVOQlFVTXNSVUZGZEVZc1NVRkJTeXhKUVVWSUxFOUJRVThzUzBGQlN5eEpRVUZKUVN4RlFVRkhMRTlCUVU4c1JVRkROVUlzU1VGQlN5eE5RVVZJTEU5QlFVOW5RaXhGUVVGUkxGRkJRVk1zUlVGQlNTeEZRVU01UWl4SlFVRkxMRTlCUlVnc1QwRkJUMEVzUlVGQlVTeFBRVUZSTEVWQlFVa3NSVUZETjBJc1NVRkJTeXhSUVVWSUxFOUJRVTlCTEVWQlFWRXNVMEZCVlN4RlFVRkpMRVZCUlM5Q0xFbEJRVXNzU1VGRlNDeFBRVUZQTEV0QlFVc3NTVUZCU1doQ0xFVkJRVWNzVDBGQlR5eEZRVU0xUWl4SlFVRkxMRTFCUlVnc1QwRkJUMmRDTEVWQlFWRXNVVUZCVXl4RlFVRkxMRVZCUXk5Q0xFbEJRVXNzVDBGRlNDeFBRVUZQUVN4RlFVRlJMRTlCUVZFc1JVRkJTeXhGUVVNNVFpeEpRVUZMTEZGQlJVZ3NUMEZCVDBFc1JVRkJVU3hUUVVGVkxFVkJRVXNzUlVGRmFFTXNTVUZCU3l4SlFVVklMRTlCUVU5V0xFVkJRMGhETEVWQlFVOHNRMEZCUlN4TlFVRlBMRlZCUVZjc1NVRkJTeXhUUVVGVkxFVkJRVWNzVDBGQlR5eEZRVU53UkN4TFFVRkxMRWxCUVVsUUxFVkJRVWNzUzBGQlN5eEZRVU4yUWl4SlFVRkxMRXRCUlVnc1QwRkJUMDBzUlVGRFNFTXNSVUZCVHl4RFFVRkZMRTFCUVU4c1ZVRkJWeXhKUVVGTExGTkJRVlVzUlVGQlJ5eFBRVUZQTEVWQlEzQkVMRXRCUVVzc1NVRkJTVkFzUlVGQlJ5eE5RVUZQTEVOQlFVTXNSVUZETVVJc1NVRkJTeXhOUVVWSUxFOUJRVTlaTEVWQlFVMHNVVUZCVXl4RlFVRkpMRVZCUXpWQ0xFbEJRVXNzVDBGRlNDeFBRVUZQUVN4RlFVRk5MRTlCUVZFc1JVRkJTU3hGUVVNelFpeEpRVUZMTEZGQlJVZ3NUMEZCVDBFc1JVRkJUU3hUUVVGVkxFVkJRVWtzUlVGRk4wSXNTVUZCU3l4SlFVVklMRTlCUVU5T0xFVkJRMGhETEVWQlFVOHNRMEZCUlN4TlFVRlBMRk5CUVZVc1JVRkJSeXhQUVVGUExFVkJRM0JETEV0QlFVc3NTVUZCU1ZBc1JVRkJSeXhMUVVGTExFVkJRM1pDTEVsQlFVc3NTMEZGU0N4UFFVRlBUU3hGUVVOSVF5eEZRVUZQTEVOQlFVVXNUVUZCVHl4VFFVRlZMRVZCUVVjc1QwRkJUeXhGUVVOd1F5eExRVUZMTEVsQlFVbFFMRVZCUVVjc1RVRkJUeXhEUVVGRExFVkJRekZDTEVsQlFVc3NUVUZGU0N4UFFVRlBXU3hGUVVGTkxGRkJRVk1zUlVGQlN5eEZRVU0zUWl4SlFVRkxMRTlCUlVnc1QwRkJUMEVzUlVGQlRTeFBRVUZSTEVWQlFVc3NSVUZETlVJc1NVRkJTeXhSUVVWSUxFOUJRVTlCTEVWQlFVMHNVMEZCVlN4RlFVRkxMRVZCUlRsQ0xFbEJRVXNzU1VGRlNDeFBRVUZQVGl4RlFVRjFRa01zUlVGQlR5eERRVUZGTEV0QlFVMHNVMEZCVlN4RlFVRkhMRTFCUVUwc1JVRkJTU3hMUVVGTExFbEJRVWxRTEVWQlFVY3NTVUZCU1N4RlFVTjBSaXhKUVVGTExFdEJSVWdzVDBGQlQwMHNSVUZEU0VNc1JVRkJUeXhEUVVGRkxFdEJRVTBzVTBGQlZTeEZRVUZITEUxQlFVMHNSVUZEYkVNc1MwRkJTeXhKUVVGSlVDeEZRVUZITEV0QlFVc3NVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hGUVVGSExFTkJRVU1zUlVGRE9VTXNTVUZCU3l4UFFVVklMRTlCUVU5TkxFVkJRMGhETEVWQlFVOHNRMEZCUlN4TFFVRk5MRk5CUVZVc1JVRkJSeXhOUVVGTkxFVkJRMnhETEV0QlFVc3NTVUZCU1ZBc1JVRkJSeXhMUVVGTkxFTkJRVU1zUlVGRGVrSXNTVUZCU3l4VFFVVklMRTlCUVU5TkxFVkJRMGhETEVWQlFVOHNRMEZCUlN4TFFVRk5MRk5CUVZVc1JVRkJSeXhOUVVGTkxFVkJRMnhETEV0QlFVc3NTVUZCU1ZBc1JVRkJSeXhMUVVGTkxFTkJRVU1zUlVGRmVrSXNTVUZCU3l4SlFVVklMRTlCUVU5dFFpeEZRVUZKTEU5QlFVOHNSVUZEY0VJc1NVRkJTeXhMUVVWSUxFOUJRVTlCTEVWQlFVa3NUVUZCVFN4RlFVTnVRaXhKUVVGTExGRkJRMGdzVDBGQlQwRXNSVUZCU1N4UlFVRlJMRVZCUTNKQ0xFbEJRVXNzUzBGRFNDeFBRVUZQTEV0QlFVc3NTVUZCU1c1Q0xFVkJRVWNzVTBGQlV5eFRRVUZUTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVjc1EwRkJReXhGUVVOeVJDeEpRVUZMTEU5QlEwZ3NUMEZCVHl4TFFVRkxMRWxCUVVsQkxFVkJRVWNzVTBGQlZTeERRVUZETEVWQlEyaERMRWxCUVVzc1NVRkRTQ3hQUVVGUExFdEJRVXNzU1VGQlNVRXNSVUZCUnl4VlFVRlZMRVZCUXk5Q0xFbEJRVXNzUzBGRFNDeFBRVUZQTEV0QlFVc3NTVUZCU1VFc1JVRkJSeXhYUVVGWkxFTkJRVU1zUlVGRGJFTXNTVUZCU3l4SlFVTklMRTlCUVU4c1MwRkJTeXhKUVVGSlFTeEZRVUZITEU5QlFVOHNSVUZETlVJc1NVRkJTeXhOUVVOSUxFOUJRVThzUzBGQlN5eEpRVUZKUVN4RlFVRkhMRkZCUVZNc1EwRkJReXhGUVVNdlFpeEpRVUZMTEVsQlJVZ3NUMEZCVHl4TFFVRkxMRWxCUVVsQkxFVkJRVWNzVDBGQlR5eEZRVU0xUWl4SlFVRkxMRXRCUlVnc1QwRkJUeXhMUVVGTExFbEJRVWxCTEVWQlFVY3NVVUZCVXl4RFFVRkRMRVZCUXk5Q0xFbEJRVXNzU1VGRFNDeFBRVUZQTEV0QlFVc3NTVUZCU1N4TFFVRkxMRTFCUVUxQkxFVkJRVWNzUjBGQlN5eEhRVUZKTEVOQlFVTXNSVUZETVVNc1NVRkJTeXhKUVVOSUxFOUJRVThzUzBGQlN5eEpRVUZKUVN4RlFVRkhMRVZCUVVVc1JVRkRka0lzVVVGRFJTeFBRVUZQYTBJc1JVRkJWMjVFTEVOQlFVc3NRMEZETTBJc1EwRkRSaXhGUVVWR0xFOUJRVTlLTEVkQlFXZENNa0lzUlVGQlZTeFpRVUZaUnl4RFFVRkhMRVZCUVVjMVFpeERRVUZoTEVOQlEyeEZMRU5CUlVFc2VVSkJRWGxDZDBRc1JVRkJTelZDTEVWQlFVc3NRMEZEYWtNc1NVRkJUVFpDTEVWQlFXZENka1FzUjBGQlZTeERRVU0xUWl4UFFVRlJRU3hGUVVGTkxFTkJRVU1zUlVGQlJ5eERRVU5vUWl4SlFVRkxMRWxCUTBnc1RVRkJUeXhqUVVOVUxFbEJRVXNzU1VGRFNDeE5RVUZQTEZOQlExUXNTVUZCU3l4SlFVTklMRTFCUVU4c1UwRkRWQ3hKUVVGTExFbEJRMGdzVFVGQlR5eFBRVU5VTEVsQlFVc3NTVUZEU0N4TlFVRlBMRTFCUTFRc1NVRkJTeXhKUVVOSUxFMUJRVThzVDBGRFZDeEpRVUZMTEVsQlEwZ3NUVUZCVHl4UlFVTlVMRWxCUVVzc1NVRkRTQ3hOUVVGUExFOUJRMVFzVVVGRFJTeFBRVUZQTEVsQlExZ3NRMEZEUml4RlFVTkJSaXhGUVVGcFFqQkVMRWRCUVZsNFJDeEhRVUZWTEVOQlEzSkRMRWxCUVUxNVJDeEZRVUZUUml4RlFVRmhka1FzUTBGQlN5eEZRVU5xUXl4UFFVRkplVVFzUlVGRFN5eExRVUZMTEVsQlFVbEVMRVZCUVU4c1NVRkJTVU1zUTBGQlRTeEZRVUZIZWtRc1JVRkJUU3hOUVVGTkxFVkJSWHBEUVN4RFFVVllMRVZCUTBFd1JDeEZRVUZUYmtNc1JVRkJWU3haUVVGWlJ5eERRVUZITEVWQlEyeERhVU1zUlVGQllVUXNSVUZCVHl4UFFVTnNRaXhEUVVGRFJTeEZRVUZQTEVOQlFVVXNVVUZCUVVNc1JVRkJVeXhKUVVGQlF5eERRVUZKTEVsQlFVOUVMRVZCUVZWRUxFVkJRVkZCTEVWQlFVMHNUMEZCVDBVc1EwRkJSeXhGUVVOb1JTeERRVUZETEVOQlEwZ3NSVUZEUVVNc1JVRkJXVlFzUlVGQlNTeFJRVUZSTEVkQlFVZExMRVZCUVZjc1NVRkJTVW9zUTBGQldTeEZRVUZGTEU5QlFWRlRMRWRCUVUxQkxFTkJRVU1zUTBGQlF5eEZRVU14UlN4UFFVRlBjRVVzUjBGQlowSTRSQ3hGUVVGUk5VUXNSVUZCWTJsRkxFTkJRVk1zUTBGQlF5eERRVU42UkN4RFFVTkdMRVZEZGxsQkxFbEJRWEZDUlN4SFFVRnlRaXhMUVVFMlFpeERRVU16UWl4WlFVRlpReXhGUVVGUlF5eEZRVUZoTEVOQlF5OUNMRXRCUVVzc1QwRkJVMFFzUlVGRFpDeExRVUZMTEZsQlFXTkRMRU5CUTNKQ0xFTkJSVUVzVjBGQldTeERRVU5XTEU5QlFVa3NTMEZCU3l4WlFVTkJMRWRCUVVjc1MwRkJTeXhOUVVGTkxFdEJRVXNzUzBGQlN5eFhRVUZYTEVkQlJXNURMRXRCUVVzc1RVRkZhRUlzUTBGRFJpeEZRMUpCTEVsQlFYRkNReXhIUVVGeVFpeExRVUV3UWl4RFFVMTRRaXhKUVVGSkxFMUJRVThzUTBGRFZDeE5RVUZOTEVsQlFVbERMRVZCUTFvc1EwRlBRU3hKUVVGSkxFMUJRVThzUTBGRFZDeE5RVUZOTEVsQlFVbEJMRVZCUTFvc1EwRkZRU3hKUVVGSkxGVkJRVmNzUTBGRFlpeFBRVUZQTEV0QlFVc3NTVUZEWkN4RFFVOUJMRWxCUVVrc1lVRkJZeXhEUVVOb1FpeE5RVUZOTEVsQlFVbEJMRVZCUTFvc1EwRlhRU3hYUVVGWFF5eEZRVUZKUXl4RlFVRk5MRU5CUTI1Q0xFMUJRVTBzU1VGQlNVWXNSVUZEV2l4RFFWVkJMR0ZCUVdGRExFVkJRVWxGTEVWQlFWRXNRMEZEZGtJc1RVRkJUU3hKUVVGSlNDeEZRVU5hTEVOQlVVRXNUMEZCVDBNc1JVRkJTU3hEUVVOVUxFMUJRVTBzU1VGQlNVUXNSVUZEV2l4RFFWRkJMRTlCUVU5SkxFVkJRVmNzUTBGRGFFSXNUVUZCVFN4SlFVRkpTaXhGUVVOYUxFTkJUMEVzU1VGQlNTeFRRVUZWTEVOQlExb3NUVUZCVFN4SlFVRkpRU3hGUVVOYUxFTkJRMFlzUlVOMlJrRXNTVUZCU1Vzc1IwRkJXU3hMUVUxTFF5eEhRVUZ5UWl4TlFVRnhRa01zVlVGQmJVSkRMRVZCUVVzc1EwRkxNME1zVjBGQlZ5eFZRVUZYTEVOQlEzQkNMRTlCUVVsSUxFdEJRV01zVDBGRGFFSkJMRWRCUVZrc1NVRkJTVVVzUjBGRldFWXNSVUZEVkN4RFFVZEJMRWxCUVVrc1RVRkJUeXhEUVVOVUxFMUJRVThzVVVGRFZDeERRVWRCTEVsQlFVa3NUVUZCVHl4RFFVTlVMRTlCUVU4c1NVRkJTU3hMUVVGTExHVkJRV1VzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hSUVVOeVJDeERRVWRCTEVsQlFVa3NZVUZCWXl4RFFVTm9RaXhOUVVGUExFVkJRMVFzUTBGSFFTeFhRVUZYU1N4RlFVRkpMRU5CUVVVc1QwRkJRVU1zUlVGQlVTeFBRVUZCUXl4RFFVRlBMRVZCUVVjc1EwRkRha01zVDBGQlQwTXNSMEZCWTBnc1JVRkJTVU1zUlVGQlVVTXNRMEZCVFN4RFFVTjZReXhEUVVkQkxHRkJRV0ZHTEVWQlFVbERMRVZCUVZFc1EwRkRka0lzVDBGQlQwY3NSMEZCWVN4TFFVRkxMRTlCUVU5S0xFTkJRVVVzUlVGQlIwTXNRMEZCVFN4RFFVTTNReXhEUVVkQkxFOUJRVTlFTEVWQlFVa3NRMEZEVkN4TlFVRlBMRU5CUVVNc1NVRkJTU3hMUVVGTFFTeERRVUZGTEVWQlFVVXNhMEpCUVd0Q0xFTkJRM3BETEVOQlIwRXNUMEZCVDBzc1JVRkJWeXhEUVVOb1FpeFBRVUZQUVN4RlFVRlZMRTlCUVZNc1VVRkROVUlzUTBGSFFTeEpRVUZKTEZOQlFWVXNRMEZEV2l4TlFVRlBMRVZCUTFRc1EwRkRSaXhGUTNwRVFTeEpRVUZKUXl4SFFVRlhMRU5CUVVNc1JVRkRhRUlzVTBGQlUwTXNSMEZCVVVNc1JVRkJUU3hEUVVOeVFpeFBRVUZMUml4SFFVRlRSU3hEUVVGSkxFbEJRMmhDUml4SFFVRlRSU3hEUVVGSkxFVkJRVWtzU1VGQlNTeExRVUZMTEdWQlFXVXNVVUZCVXl4RFFVTm9SQ3hQUVVGUkxFZEJRMUlzVTBGQlZVRXNSVUZEVml4TFFVRk5MRlZCUTA0c1RVRkJUeXhWUVVOUUxFbEJRVXNzVlVGRFRDeExRVUZOTEZWQlEwNHNUMEZCVVN4VlFVTlNMRTlCUVZFc1ZVRkRVaXhKUVVGTExFOUJRMUFzUTBGQlF5eEhRVVZKUml4SFFVRlRSU3hEUVVGSkxFTkJRM1JDTEVOQlJVRXNTVUZCVFVNc1IwRkJXU3hEUVVOb1FpeExRVUZOTEVWQlEwNHNUVUZCVHl4RlFVTlFMRWxCUVVzc1JVRkRUQ3hKUVVGTExFVkJRMHdzUzBGQlRTeEZRVU5PTEU5QlFWRXNSVUZEVWl4UFFVRlJMRU5CUTFZc1JVRkZRU3hUUVVGVFF5eEhRVUZaUXl4RlFVRkxReXhGUVVGTkxFTkJRemxDTEVsQlFVMURMRVZCUVZsR0xFVkJRVWtzVDBGQlQwTXNRMEZCU1N4RlFVRkZMRkZCUVZFc1ZVRkJWeXhGUVVGRkxFVkJRM1JFUlN4RlFVRlRMR3RFUVVGclJDeExRVUZMUkN4RFFVRlRMRVZCUTNwRkxFTkJRVU1zUTBGQlJVVXNSVUZCVVVNc1JVRkJUVU1zUlVGQlQwTXNSVUZCVTBNc1JVRkJUME1zUlVGQlUwTXNRMEZCVHl4RlFVRkpVQ3hGUVVNNVJDeE5RVUZQTEVOQlFVTkhMRVZCUVU5R0xFVkJRVkZETEVWQlFVMUZMRVZCUVZORExFVkJRVTlETEVWQlFWTkRMRU5CUVU4c1EwRkRMMFFzUTBGRlFTeFRRVUZUUXl4SFFVRlpXQ3hGUVVGTFF5eEZRVUZOTEVOQlF6bENMRWxCUVUxRExFVkJRVmxHTEVWQlFVa3NZMEZCWTBNc1EwRkJTU3hGUVVOc1ExY3NSVUZCVXl4RFFVRkRMRVZCUTJoQ0xGRkJRVk5ETEVWQlFVa3NSVUZCUjBFc1JVRkJTVmdzUlVGQlZTeFBRVUZSVnl4SlFVRkxMRU5CUTNwRExFZEJRVTBzUTBGQlJTeExRVUZCUXl4RlFVRk5MRTFCUVVGRExFTkJRVTBzUlVGQlNXSXNSVUZCVlZjc1EwRkJReXhGUVVNM1FrY3NSVUZCVFd4Q0xFZEJRVlZuUWl4RFFVRkpMRVZCUlhSQ1FTeEpRVUZUTEUxQlExaEdMRVZCUVU5SkxFTkJRVWNzUlVGQlNVUXNSVUZEU2tVc1JVRkJXVVFzUTBGQlJ5eEpRVU42UWtvc1JVRkJUMGtzUTBGQlJ5eEZRVUZKTEZOQlFWTkVMRVZCUVU4c1JVRkJSU3hGUVVWd1F5eERRVU5CTEU5QlFVOUlMRU5CUTFRc1EwRkZRU3hKUVVGSlRTeEhRVUZuUWl4RFFVRkRMRVZCUzBGRExFZEJRWEpDTEUxQlFYRkNReXhWUVVGcFFrTXNSVUZCU3l4RFFVdDZReXhQUVVGUExFOUJRVTlETEVWQlFVMHNRMEZEYkVJc1QwRkJTMG9zUjBGQlkwa3NRMEZCU1N4SlFVTnlRa29zUjBGQlkwa3NRMEZCU1N4RlFVRkpMRWxCUVVsR0xFVkJRVk5GTEVOQlFVa3NSMEZGYkVOS0xFZEJRV05KTEVOQlFVa3NRMEZETTBJc1EwRk5RU3hQUVVGUExGbEJRV0VzUTBGRGJFSktMRWRCUVdkQ0xFTkJRVU1zUlVGRGFrSjJRaXhIUVVGWExFTkJRVU1zUTBGRFpDeERRVlZCTEU5QlFVOHNhVUpCUVdsQ05FSXNSVUZCUnl4RFFVTjZRaXhQUVVGUExFdEJRVXNzV1VGQldVRXNRMEZCUXl4RFFVTXpRaXhEUVZWQkxFOUJRVThzV1VGQldURkNMRVZCUVUwc1EwRkRka0lzUjBGQlNTeERRVUZEUVN4RlFVTklMRTFCUVU4c1IwRkZWQ3hIUVVGSkxFTkJRMFlzVjBGQlNTeExRVUZMTEdWQlFXVXNVVUZCVXl4RFFVRkZMRk5CUVZWQkxFTkJRVXNzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZEY2tRc1JVRkRWQ3hQUVVGVE1rSXNSVUZCUnl4RFFVTldMRTFCUVU4c1JVRkRWQ3hEUVVOR0xFTkJSVUVzV1VGQldVWXNSVUZCVFN4RFFVTm9RaXhOUVVGTkxFVkJSVTRzUzBGQlN5eFRRVUZYUVN4RlFVVm9RaXhMUVVGTExFMUJRVkZHTEVWQlFWTXNXVUZCV1VVc1EwRkJTU3hEUVVONFF5eERRVWRCTEVsQlFVa3NUVUZCVHl4RFFVTlVMRTFCUVU4c1RVRkRWQ3hEUVVkQkxFbEJRVWtzVFVGQlR5eERRVU5VTEU5QlFVOHNTMEZCU3l4UlFVTmtMRU5CUjBFc1NVRkJTU3hoUVVGakxFTkJRMmhDTEUxQlFVOHNSVUZEVkN4RFFVZEJMRmRCUVZkSExFVkJRVWtzUTBGQlJTeFBRVUZCUXl4RlFVRlJMRTlCUVVGRExFTkJRVThzUlVGQlJ5eERRVU5xUXl4UFFVRlBReXhIUVVGalNDeEZRVUZKUXl4RlFVRlJReXhGUVVGUkxFdEJRVXNzU1VGQlNTeERRVU53UkN4RFFVZEJMR0ZCUVdGR0xFVkJRVWxETEVWQlFWRXNRMEZEZGtJc1QwRkJUMGNzUjBGQllTeExRVUZMTEU5QlFVOUtMRU5CUVVVc1JVRkJSME1zUTBGQlRTeERRVU0zUXl4RFFVZEJMRTlCUVU5RUxFVkJRVWtzUTBGRFZDeEpRVUZOZUVJc1JVRkJUeXhKUVVGSkxFdEJRVXQzUWl4RFFVRkZMRVZCUlhoQ0xFZEJRVWtzVFVGQlRYaENMRU5CUVVrc1JVRkJSeXhOUVVGUExFdEJSWGhDTEVsQlFVMUVMRVZCUVUxS0xFZEJRVkVzUzBGQlN5eEpRVUZKTEVWQlEzcENMRU5CUVVOclF5eEZRVUZOUXl4RlFVRlBReXhGUVVGTFF5eEZRVUZSUXl4RlFVRk5ReXhGUVVGUlF5eERRVUZOTEVWQlFVbHdReXhGUVVGSkxHTkJRM1pFVnl4SFFVRlpXQ3hGUVVGTFF5eERRVUZKTEVWQlEzSkNSaXhIUVVGWlF5eEZRVUZMUXl4RFFVRkpMRVZCUlhKQ1owTXNTVUZCVnl4UFFVTmlTQ3hGUVVGUExFTkJRVU1zUzBGQlN5eEpRVUZKUVN4RFFVRkpMRVZCUVVrc1IwRk5NMElzU1VGQlRVOHNSVUZCVVVNc1IwRkJZU3hEUVVONlFpeExRVUZCVWl4RlFVTkJMRTFCUVVGRExFVkJRMEVzU1VGQlFVTXNSVUZEUVN4TFFVNXRRa1VzU1VGQlV5eEhRVUZMTEVWQlFVbEJMRVZCVDNKRExFOUJRVUZETEVWQlEwRXNUMEZCUVVNc1JVRkRRU3haUVVGaExFTkJRMllzUTBGQlF5eEZRVVZIUnl4RlFVRlBMRU5CUVVOMFF5eEZRVU5PZFVNc1JVRkJUMFFzUlVGQlR5eEpRVU53UWl4UFFVRkJRU3hIUVVGUlF5eEhRVUZSTEVWQlFVbEJMRVZCUVU4c1NVRkJUMEVzUjBGRE1VSklMRVZCUVZGRkxFbEJRVk1zUjBGQlN5eEpRVU5vUXl4RFFVZEJMRTlCUVU5RkxFVkJRVmNzUTBGRGFFSXNUMEZCVDBFc1JVRkJWU3hQUVVGVExGRkJRVlZCTEVWQlFWVXNUMEZCVXl4TFFVRkxMRWxCUXpsRUxFTkJSMEVzU1VGQlNTeFRRVUZWTEVOQlExb3NUMEZCVHl4TFFVRkxMRXRCUTJRc1EwRkRSaXhGUTNwTVFTeEpRVUZKUXl4SFFVRlpMRXRCVFV0RExFZEJRWEpDTEUxQlFYRkNReXhWUVVGM1FrTXNSVUZCU3l4RFFVdG9SQ3hYUVVGWExHRkJRV01zUTBGRGRrSXNUMEZCU1Vnc1MwRkJZeXhQUVVOb1FrRXNSMEZCV1N4SlFVRkpSU3hGUVVGblFpeERRVUZETEVkQlJUVkNSaXhGUVVOVUxFTkJUMEVzVDBGQlR5eFRRVUZUU1N4RlFVRlJMRU5CUTNSQ0xFOUJRVTlCTEVsQlFWY3NSVUZCU1VZc1JVRkJaMElzV1VGQll5eEpRVUZKUVN4RlFVRm5Ra1VzUTBGQlRTeERRVU5vUml4RFFWVkJMRTlCUVU4c1pVRkJaVU1zUlVGQlJ5eERRVU4yUWl4SFFVRkpRU3hGUVVGSExFTkJRMHdzU1VGQlRVTXNSVUZCU1VRc1JVRkJSU3hOUVVGTkxIVkRRVUYxUXl4RlFVTjZSQ3hIUVVGSlF5eEZRVU5HTEU5QlFVOHNTVUZCU1Vvc1JVRkJaMEpMTEVkQlFXRkVMRVZCUVVVc1EwRkJReXhGUVVGSFFTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUlhaRUxFTkJRMEVzVDBGQlR5eEpRVU5VTEVOQlJVRXNXVUZCV1VZc1JVRkJVU3hEUVVOc1FpeE5RVUZOTEVWQlJVNHNTMEZCU3l4TlFVRlJRU3hEUVVObUxFTkJSMEVzU1VGQlNTeE5RVUZQTEVOQlExUXNUVUZCVHl4UFFVTlVMRU5CUjBFc1NVRkJTU3hOUVVGUExFTkJRMVFzVDBGQlR5eExRVUZMTEZGQlFWVXNSVUZCU1N4TlFVRlJMRTFCUVUxSkxFZEJRV0VzUzBGQlN5eE5RVUZQTEZGQlFWRXNRMEZCUXl4RlFVTTFSU3hEUVVWQkxFbEJRVWtzVlVGQlZ5eERRVU5pTEU5QlFVa3NTMEZCU3l4UlFVRlZMRVZCUTFZc1ZVRkZRU3hWUVVGVlFTeEhRVUZoTEVOQlFVTXNTMEZCU3l4TlFVRlBMRkZCUVZFc1EwRkJReXhGUVVWNFJDeERRVWRCTEZsQlFXRXNRMEZEV0N4UFFVRlBMRXRCUVVzc1NVRkRaQ3hEUVVkQkxHRkJRV0ZETEVWQlFVbERMRVZCUVZFc1EwRkRka0lzVDBGQlQwWXNSMEZCWVN4TFFVRkxMRTFCUVU5RkxFTkJRVTBzUTBGRGVFTXNRMEZIUVN4SlFVRkpMR0ZCUVdNc1EwRkRhRUlzVFVGQlR5eEZRVU5VTEVOQlIwRXNVVUZCVXl4RFFVTlFMRTlCUVU4c1MwRkJTeXhMUVVOa0xFTkJSMEVzVDBGQlQwTXNSVUZCVnl4RFFVTm9RaXhQUVVGUFFTeEZRVUZWTEU5QlFWTXNVMEZCVjBFc1JVRkJWU3hSUVVGVkxFdEJRVXNzUzBGRGFFVXNRMEZIUVN4SlFVRkpMRk5CUVZVc1EwRkRXaXhOUVVGUExFVkJRMVFzUTBGRFJpeEZReTlHUVN4SlFVRnhRa01zUjBGQmNrSXNZMEZCZVVORExFVkJRVXNzUTBGRE5VTXNXVUZCV1VNc1JVRkJWU3hEUVVOd1FpeE5RVUZOTEVWQlJVNHNTMEZCU3l4VFFVRlhRU3hEUVVOc1FpeERRVWRCTEVsQlFVa3NUVUZCVHl4RFFVTlVMRTFCUVU4c1UwRkRWQ3hEUVVkQkxFbEJRVWtzVFVGQlR5eERRVU5VTEU5QlFVOHNTMEZCU3l4UlFVTmtMRU5CUjBFc1NVRkJTU3hoUVVGakxFTkJRMmhDTEUxQlFVOHNSVUZEVkN4RFFVZEJMRmxCUVdFc1EwRkRXQ3hQUVVGUExFbEJRMVFzUTBGSFFTeGpRVUZsTEVOQlEySXNUVUZCVHl4RlFVTlVMRU5CUjBFc1VVRkJVeXhEUVVOUUxFMUJRVThzU1VGRFZDeERRVWRCTEZGQlFWTXNRMEZEVUN4TlFVRlBMRVZCUTFRc1EwRkhRU3hKUVVGSkxGTkJRVlVzUTBGRFdpeE5RVUZQTEVWQlExUXNRMEZEUml4RlEzcERUeXhUUVVGVFF5eEhRVUZqUXl4RlFVRlBReXhGUVVGaExFTkJRMmhFTEVsQlFVbERMRVZCUTBvc1IwRkJTVU1zUlVGQldVZ3NRMEZCU3l4SFFVRkxRU3hKUVVGVkxFdEJRMnhETEU5QlFVOURMRVZCUTBZc1IwRkJTVVFzWVVGQmFVSkpMRWRCUXpGQ0xFOUJRVTlLTEVWQlEwWXNSMEZCU1Vzc1IwRkJVMHdzUTBGQlN5eEZRVUZITEVOQlF6RkNMRWxCUVUxTkxFVkJRVlZPTEVWQlFVMHNXVUZCV1N4RlFVTnNReXhQUVVGSlRTeEpRVUZaTEZOQlFWZEJMRWxCUVZrc1UwRkJhVUpNTEVWQlF5OURTeXhKUVVGWkxFOUJRVk5CTEVsQlFWa3NUVUZCWTBNc1IwRkJaMElzV1VGRE5VUkJMRWRCUVdkQ0xHVkJRV1ZFTEVOQlFVOHNSMEZCUzBVc1IwRkJVeXhQUVVGUFVpeERRVUZMTEVOQlF6bEZMRXRCUVU4c1VVRkJTVk1zUjBGQlUxUXNRMEZCU3l4RlFVTm9RazhzUjBGQlowSXNVMEZCVTFBc1EwRkJTeXhGUVVNMVFpeFBRVUZQUVN4SFFVRlZMRlZCUVZsQkxFVkJRVTBzVVVGQlZTeFBRVUZQUVN4RlFVRk5MRkZCUVZjc1UwRkhka1ZCTEVWQlJVRXNTVUZCU1ZVc1IwRkJXVllzUTBGQlN5eERRVVZvUXl4RFEzcENRU3hKUVVGSlZ5eEhRVUZOTEVsQlFVMHNTMEZCU3l4SlFVRkpMRVZCUTNaQ1F5eEhRVUZqTEZOQlEyUkRMRWRCUVdkQ0xFdEJRMmhDUXl4SFFVRjVRaXhMUVVONlFrTXNSMEZCZDBJc1MwRkRlRUpETEVkQlMyMUNReXhGUVVGeVFpeExRVUU0UWl4RFFVczFRaXhYUVVGWExFdEJRVTBzUTBGRFppeFBRVUZQVGl4RlFVTlVMRU5CVTBFc1YwRkJWeXhKUVVGSlR5eEZRVUZITEVOQlEyaENVQ3hIUVVGTlR5eERRVU5TTEVOQlQwRXNWMEZCVnl4WlFVRlpReXhGUVVGTkxFTkJRek5DVUN4SFFVRmpUeXhEUVVOb1FpeERRVTlCTEZkQlFWY3NZVUZCWXl4RFFVTjJRaXhQUVVGUFF5eEhRVUZqVWl4SFFVRmhVeXhIUVVGWExGRkJRVkVzUTBGRGRrUXNRMEZOUVN4WFFVRlhMR1ZCUVdkQ0xFTkJRM3BDTEU5QlFVOVNMRVZCUTFRc1EwRk5RU3hYUVVGWExHTkJRV05UTEVWQlFWRXNRMEZETDBKVUxFZEJRV2RDVXl4RFFVTnNRaXhEUVUxQkxGZEJRVmNzZDBKQlFYbENMRU5CUTJ4RExFOUJRVTlTTEVWQlExUXNRMEZOUVN4WFFVRlhMSFZDUVVGMVFsTXNSVUZCYVVJc1EwRkRha1JVTEVkQlFYbENVeXhEUVVNelFpeERRVTFCTEZkQlFWY3NkVUpCUVhkQ0xFTkJRMnBETEU5QlFVOVNMRVZCUTFRc1EwRk5RU3hYUVVGWExITkNRVUZ6UWxNc1JVRkJaMElzUTBGREwwTlVMRWRCUVhkQ1V5eERRVU14UWl4RFFVMUJMRmRCUVZjc1owSkJRV2xDTEVOQlF6RkNMRTlCUVU5U0xFVkJRMVFzUTBGTlFTeFhRVUZYTEdWQlFXVlRMRVZCUVVjc1EwRkRNMEpVTEVkQlFXbENVeXhEUVVOdVFpeERRVTFCTEU5QlFVOHNZVUZCWXl4RFFVTnVRa01zUjBGQlR5eFhRVUZYTEVWQlEyeENReXhIUVVGVExGZEJRVmNzUTBGRGRFSXNRMEZEUml4RlEzUklRU3hKUVVGSlF5eEhRVUZqTEVOQlFVTXNSVUZEYmtJc1UwRkJVME1zUjBGQldVTXNSVUZCVjBNc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGRGVrTXNTVUZCVFVNc1JVRkJUU3hMUVVGTExGVkJRVlVzUTBGQlEwWXNSVUZCVjBNc1EwRkJTU3hEUVVGRExFVkJRM2hEUlN4RlFVRk5UQ3hIUVVGWlNTeERRVUZITEVWQlEzcENMRTlCUVV0RExFbEJRMGhCTEVWQlFVMHNTVUZCU1N4TFFVRkxMRmRCUVZkSUxFVkJRVmRETEVOQlFVa3NSVUZEZWtOSUxFZEJRVmxKTEVOQlFVY3NSVUZCU1VNc1IwRkZaRUVzUTBGRFZDeERRVVZCTEVsQlFVbERMRWRCUVdNc1EwRkJReXhGUVVOdVFpeFRRVUZUUXl4SFFVRmhUQ3hGUVVGWFF5eEZRVUZQTEVOQlFVTXNSVUZCUnl4RFFVTXhReXhKUVVGTlF5eEZRVUZOTEV0QlFVc3NWVUZCVlN4RFFVRkRSaXhGUVVGWFF5eERRVUZKTEVOQlFVTXNSVUZEZUVORkxFVkJRVTFETEVkQlFWbEdMRU5CUVVjc1JVRkRla0lzVDBGQlMwTXNTVUZEU0VFc1JVRkJUU3hKUVVGSkxFdEJRVXNzWlVGQlpVZ3NSVUZCVjBNc1EwRkJTU3hGUVVNM1EwY3NSMEZCV1VZc1EwRkJSeXhGUVVGSlF5eEhRVVZrUVN4RFFVTlVMRU5CUlVFc1NVRkJTVWNzUjBGQlpTeERRVUZETEVWQlEzQkNMRk5CUVZORExFZEJRV0ZRTEVWQlFWZERMRVZCUVU4c1EwRkJReXhGUVVGSExFTkJRekZETEVsQlFVMURMRVZCUVUwc1MwRkJTeXhWUVVGVkxFTkJRVU5HTEVWQlFWZERMRU5CUVVrc1EwRkJReXhGUVVONFEwOHNSVUZCVFVZc1IwRkJZVW9zUTBGQlJ5eEZRVU14UWl4UFFVRkxUU3hKUVVOSVFTeEZRVUZOTEVsQlFVa3NTMEZCU3l4aFFVRmhVaXhGUVVGWFF5eERRVUZKTEVWQlF6TkRTeXhIUVVGaFNpeERRVUZITEVWQlFVbE5MRWRCUldaQkxFTkJRMVFzUTBGRlFTeEpRVUZKUXl4SFFVRmxMRU5CUVVNc1JVRkRjRUlzVTBGQlUwTXNSMEZCWVZZc1JVRkJWME1zUlVGQlR5eERRVUZETEVWQlFVY3NRMEZETVVNc1NVRkJhME5WTEVWQlFVRldMRVZCUVRGQ0xFMUJRVUZYTEVOQk0wTldMRVZCTWtOdlEwUXNSVUZCYWtKRkxFVkJRVUZETEVkQlFXbENTQ3hGUVVGcVFpeERRVUZVTEZOQlEwWlVMRVZCUVUwc1MwRkJTeXhWUVVGVkxFTkJRVU5HTEVWQlFWZGhMRU5CUVZrc1EwRkJReXhGUVVOb1JFd3NSVUZCVFVNc1IwRkJZVkFzUTBGQlJ5eEZRVU14UWl4UFFVRkxUU3hKUVVOSVFTeEZRVUZOTEVsQlFVa3NTMEZCU3l4dFFrRkJiVUpTTEVWQlFWZERMRU5CUVVrc1JVRkRha1JSTEVkQlFXRlFMRU5CUVVjc1JVRkJTVTBzUjBGRlprRXNRMEZEVkN4RFFVVkJMRWxCUVVsUExFZEJRV2xDTEV0QlEzSkNMRk5CUVZORExFbEJRV1VzUTBGRGRFSXNUMEZCU1VRc1MwRkhSa0VzUjBGQmFVSXNTVUZCU1N4TFFVRkxMR1ZCUVdVc1JVRkJSU3huUWtGQlowSXNSVUZCUlN4UFFVTjBSRUVzUjBGRldDeERRVVZCTEZOQlFWTkZMRWRCUVd0Q1F5eEZRVUZYTEVOQlUzQkRMRWxCUVUxRExFVkJRVk5FTEVWQlFWVXNVVUZCVVN4TFFVRkxMRVZCUTNSRExFZEJRVWxETEVsQlFWY3NSMEZEWWl4TlFVRlBMRU5CUVVORUxFTkJRVk1zUlVGRFdpeERRVU5NTEVsQlFVbEZMRVZCUTBWRExFVkJRVlZJTEVWQlFWVXNWVUZCVlN4RlFVRkhReXhEUVVGTkxFVkJRemRETEVkQlFVa3NRMEZEUmtNc1JVRkJWV1lzUjBGQllXRXNRMEZCVXl4RlFVRkZMR2RDUVVGblFpeERRVU53UkN4UFFVRlRTU3hGUVVGSExFTkJRMVpHTEVWQlFWVm1MRWRCUVdGblFpeERRVUZQTEVWQlFVVXNaMEpCUVdkQ0xFTkJRMnhFTEVOQlJVRXNSMEZCVFN4RFFVRkZMR2RDUVVGQlJTeEZRVUZwUWl4VFFVRkJReXhEUVVGVExFVkJRVWxLTEVWQlJYUkRMRTFCUVU4c1EwRkJRME1zUlVGQlUwVXNSVUZCYVVKRExFTkJRVkVzUTBGRE5VTXNRMEZEUml4RFFVVkJMRk5CUVZORExFZEJRV2xDVUN4RlFVRlhTeXhGUVVGcFFrY3NSVUZCWjBJc1EwRkRjRVVzVDBGQlNVRXNSMEZCYTBKSUxFdEJRM0JDVEN4SFFVRmhMRXRCUlZSUkxFbEJRMFpTTEVkQlFXRXNUMEZCVDFFc1EwRkJZeXhKUVVkb1EwZ3NTVUZEUmt3c1IwRkJZU3hQUVVGUFN5eERRVUZsTEV0QlJUbENUQ3hEUVVsWUxFTkJSVUVzVTBGQlUxTXNSMEZCVlVNc1JVRkJSeXhEUVVOd1FpeEpRVUZOUXl4RlFVRkxMRU5CUVVNc1JVRkRXaXhSUVVGVFF5eEZRVUZKTEVWQlFVZEJMRWRCUVVzc1IwRkJTVUVzU1VGQlN5eERRVU0xUWl4SlFVRk5ReXhGUVVGTFF5eEZRVUZUTEVsQlFVa3NTMEZCVFVZc1JVRkJSeXhEUVVGRExFVkJRMnhEUkN4RlFVRkhMRXRCUVV0RUxFVkJRVVZITEVOQlFVVXNRMEZCUXl4RFFVTm1MRU5CUTBFc1QwRkJUMFlzUTBGRFZDeERRVVZCTEZOQlFWTkpMRWRCUVZsTUxFVkJRVWNzUTBGRGRFSXNTVUZCVFVNc1JVRkJTeXhEUVVGRExFVkJRMW9zVVVGQlUwTXNSVUZCU1N4RlFVRkhRU3hIUVVGTExFVkJRVWRCTEVsQlFVc3NRMEZETTBJc1NVRkJUVU1zUlVGQlMwTXNSVUZCVXl4SlFVRkpMRXRCUVUwc1IwRkJTU3hIUVVGTFJpeERRVUZETEVWQlEzaERSQ3hGUVVGSExFdEJRVXRFTEVWQlFVVkhMRU5CUVVVc1EwRkJReXhEUVVObUxFTkJRMEVzVDBGQlQwWXNRMEZEVkN4RFFVVkJMRk5CUVZOTExFZEJRVlZETEVWQlFVdERMRVZCUVZGRExFVkJRVmRETEVWQlFWZERMRVZCUVZFc1EwRkROVVFzU1VGQlRVTXNSVUZCVDB3c1JVRkJTU3haUVVGWlJTeERRVUZUTEVWQlJYUkRMRTlCUVVsSExFbEJRVk1zVVVGRFNpeExRVU5GUVN4SlFVRlRMRXRCUTFoR0xFVkJRVlZHTEVOQlFVMHNSVUZGYUVKSExFVkJRVTlJTEVOQlFVMHNRMEZGZUVJc1EwRkZRU3hUUVVGVFN5eEhRVUZ2UWs0c1JVRkJTeXhEUVVOb1F5eFBRVUZKUVN4RlFVRkpMR2xDUVVGdFFrRXNSVUZCU1N4clFrRkJiMElzVDBGRE1VTXNSMEZIVEVFc1JVRkJTU3hyUWtGQmIwSXNVVUZEZUVJc1EwRkJRMEVzUlVGQlNTeFJRVU5NUVN4RlFVRkpMRTlCUVU4c1YwRkJWeXhKUVVGSkxFZEJRekZDTEVsQlFVa3NTMEZCU3l4bFFVRmxRU3hGUVVGSkxFbEJRVWtzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hyUWtGQmIwSXNUVUZIT1VVc1EwRk5RU3hKUVVGTlR5eEhRVUZPTEV0QlFUQkNMRU5CUTNoQ0xGbEJRVmxETEVWQlFVMURMRVZCUVdFelF5eEZRVUZOTEVOQlEyNURMRXRCUVVzc1RVRkJVVUVzUlVGQlN5eFBRVUZUTEVWQlF6TkNMRXRCUVVzc1RVRkJVVUVzUlVGQlN5eFBRVUZUTEVkQlJUTkNMRWxCUVhWRFZTeEZRVUZCVml4RlFVRXZRaXhQUVVGQk5FTXNSVUZCVHl4TlFVRkJReXhEUVM5S2JrSXNSVUVyU2pKRGJrTXNSVUZCWkc5RExFVkJRVUZxUXl4SFFVRmpTQ3hGUVVGa0xFTkJRV3BDTEZGQlFVOHNWVUZGWml4SFFVRkpMRU5CUVVOcFF5eEhRVUZsTEU5QlFVOHNTMEZCUzBjc1EwRkJVeXhGUVVGRkxFOUJRVk1zUlVGQlJ5eERRVU55UkN4SlFVRk5ReXhGUVVGWFF5eEZRVUZCTEVOQlFVVXNXVUZCWVN4SlFVRlZhRVFzUjBGRGRFTkJMRVZCUVVzc1RVRkJVU3hKUVVGSEswTXNSVUZCVXl4eFFrRkJkVUl2UXl4RlFVRkxMRTlCUTNwRUxFdEJRVXNzU1VGQlRVMHNSMEZCWVc5RExFVkJRVTFMTEVOQlFWRXNRMEZEZUVNc1EwRkRSaXhEUVVWQkxFOUJRVTlzUWl4RlFVRkhMRU5CUTFJc1IwRkJTU3hMUVVGTExFbEJRVXNzUTBGRFdpeEpRVUZOYjBJc1JVRkJVU3hMUVVGTExFMUJRVkVzUzBGQlN5eE5RVUZOY0VJc1EwRkJReXhGUVVGSlFTeEZRVU16UXl4UFFVRlBMRXRCUVVzc1NVRkJTU3hQUVVGUGIwSXNRMEZCU3l4RFFVTTVRaXhMUVVGUExFTkJSVXdzU1VGQlRVRXNSVUZCVVN4TFFVRkxMRTFCUVZFc1MwRkJTeXhOUVVGTmNFSXNRMEZCUXl4RlFVRkpjVUlzUjBGQlVYSkNMRVZCUVVjc1EwRkJReXhGUVVOMlJDeFBRVUZQYzBJc1IwRkJVMFlzUlVGQlR5eExRVUZMTEV0QlFVc3NRMEZEYmtNc1EwRkRSaXhEUVVOR0xFVkJUVTFITEVkQlFVNHNTMEZCZDBJc1EwRkRkRUlzV1VGQldYUkNMRVZCUVVsWkxFVkJRVTB4UXl4RlFVRk5MRU5CUXpGQ0xFdEJRVXNzUzBGQlQwRXNSVUZGV2l4SlFVRkpjVVFzUlVGRFNpeEhRVUZKZGtJc1JVRkJSeXhMUVVGTExGbEJRV0VzUTBGUGRrSXNTVUZCVFhkQ0xFVkJRVmtzU1VGQlRYaENMRVZCUVVjc1QwRkJVeXhKUVVNNVFubENMRVZCUVZWRUxFZEJRV0VzUlVGQlNTeFhRVUZYUVN4RFFVRlRMRWRCUVVzc1ZVRkJWVUVzUTBGQlV5eEhRVU42UlhoQ0xFVkJRVWNzVTBGQlZ5eEhRVUZMTUVJc1IwRkJVeXhQUVVGUFJDeERRVUZQTEVWQlFVVXNUMEZET1VOR0xFVkJRVWxGTEVWQlEwb3NTMEZCU3l4SFFVRkxla0lzU1VGVFZuVkNMRVZCUVVrc1RVRkRRWEpFTEVWQlFVc3NZVUZEVUN4TFFVRkxMRWRCUVVzNFFpeEZRVVZXTEV0QlFVc3NSMEZCUzBFc1JVRkJSeXhUUVVGWExFVkJRVWxCTEVWQlFVdERMRVZCUVZNc1YwRkJWMFFzUlVGQlJ5eEhRVUZMUVN4RlFVRkhMRTlCUVZNc1IwRkJTeXhIUVVGSkxFVkJSM2hHTEUxQlFWZEJMRVZCUVVjc1MwRkJTeXhQUVVGVExGTkJRekZDTEV0QlFVc3NSMEZCUzBFc1IwRkZWaXhMUVVGTExFZEJRVXRCTEVWQlExWjFRaXhGUVVGSmRrSXNSVUZCUnl4TFFVRkxMRTFCUjJRc1NVRkJUV2xDTEVWQlFWZERMRVZCUVVFc1IwRkJTeXhMUVVGTExFMUJRM1pDU3l4SlFVTkdUaXhGUVVGVExGTkJRVmROTEVkQlJYUkNMRXRCUVVzc1NVRkJUV3BFTEVkQlFXRnpReXhGUVVGTlN5eERRVUZSTEVOQlEzaERMRU5CUlVFc1VVRkJVeXhEUVVOUUxFOUJRVThzUzBGQlN5eEpRVUZKTEU5QlFVOHNTMEZCU3l4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVNelF5eERRVVZCTEdWQlFXZENMRU5CUTJRc1QwRkJUeXhMUVVGTExFbEJRVWtzWTBGQll5eExRVUZMTEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUTJ4RUxFTkJSVUVzYVVKQlFXdENMRU5CUTJoQ0xFOUJRVThzUzBGQlN5eEpRVUZKTEdkQ1FVRm5RaXhEUVVOc1F5eERRVU5HTEVWQlMwMVZMRWRCUVU0c1MwRkJkVUlzUTBGRGNrSXNXVUZCV1dZc1JVRkJUV2RDTEVWQlFWY3hSQ3hGUVVGTkxFTkJRMnBETEV0QlFVc3NTMEZCVDJkRUxFVkJRVUVzUTBGQlJTeE5RVUZQTEZGQlFWZG9SQ3hIUVVNMVFpeERRVUZETUVRc1IwRkJZVU1zUjBGQldTeEpRVU0xUWl4TFFVRkxMRWxCUVUxc1JDeEhRVUZoYVVNc1JVRkJUVEZETEVOQlFVa3NSVUZGZEVNc1EwRkZRU3hQUVVGUE5FUXNSVUZCVDBNc1JVRkJUU3hEUVVOc1FpeFBRVUZKTEV0QlFVc3NTVUZEUVN4TFFVRkxMRWxCUVVrc1QwRkJUMFFzUlVGQlQwTXNRMEZCU1N4RlFVVnVRa01zUjBGQmJVSkVMRVZCUVUxRUxFVkJRVThzUzBGQlN5eExRVUZMTEZGQlFWTXNTMEZCU3l4TFFVRkxMRkZCUVZVc1RVRkJUU3hEUVVWb1J5eERRVVZCTEdOQlFXTkJMRVZCUVU5RExFVkJRVTBzUTBGRGVrSXNUMEZCU1N4TFFVRkxMRWxCUTBFc1MwRkJTeXhKUVVGSkxHTkJRV05FTEVWQlFVOURMRU5CUVVrc1JVRkZiRU1zUTBGQlF5eERRVVZhTEVOQlEwWXNSVUZOY1VKRkxFZEJRWEpDTEUxQlFYRkNReXhEUVVGUExFTkJRekZDTEU5QlFVOHNVMEZCVTJoRkxFVkJRVTBzUTBGRGNFSXNUMEZCVDJkRkxFVkJRVThzVDBGQlQyaEZMRVZCUVVzc1QwRkJVVUVzUlVGQlN5eG5Ra0ZCYVVKQkxFVkJRVXNzWlVGQlowSkJMRVZCUVVzc1YwRkJWeXhEUVVNdlJpeERRVVZCTEU5QlFVOHNUMEZCVDJsRkxFVkJRVkV6UXl4RlFVRnBRa2NzUlVGQlowSjVReXhGUVVGakxFZEJRVThzUTBGRE1VVXNTVUZCVFVNc1JVRkJhMEpHTEVkQlFWVkhMRVZCUVZNc1kwRkZja05ETEVWQlFWVkdMRWxCUVc5Q1JDeEZRVUZqTEZGQlFWVnVSQ3hIUVVGaExFZEJRMjVGZFVRc1JVRkJiVUpvUkN4SFFVRnRRamhETEVWQlFWTXNkVUpCUXk5RFJ5eEZRVUZyUWpsRExFZEJRV3RDTWtNc1JVRkJVeXh6UWtGRGJrUXNUMEZCVHl4SlFVRkpTaXhGUVVGUFN5eEZRVUZUUXl4RlFVRnJRa01zUlVGQmFVSktMRU5CUVdVc1EwRkRMMFVzUTBGRlFTeFBRVUZQTEZsQlFXRXNRMEZEYkVKeVJDeEhRVUZwUWl4TFFVTnFRbGdzUjBGQll5eERRVUZETEVWQlEyWkZMRWRCUVdVc1EwRkJReXhGUVVOb1FrY3NSMEZCWlN4RFFVRkRMRU5CUTJ4Q0xFTkJSVUVzVDBGQlR5eFhRVUZYTEVOQlFVVXNUMEZCUVhsRUxFVkJRVkVzWjBKQlFVRXpReXhGUVVGcFFpeGxRVUZCUnl4RFFVRmxMRVZCUVVrc1EwRkJReXhGUVVGSExFTkJRMnhGTEU5QlFVOTFReXhGUVVGUExFOUJRVTlETEVWQlFWRXpReXhGUVVGcFFrY3NRMEZCWXl4RFFVTTVSQ3hEUVVWQkxGbEJRVmwzUXl4RlFVRlJUeXhGUVVGWEwwTXNSVUZCWjBJd1F5eEZRVUZwUWl4RFFVTTVSQ3hIUVVGTkxFTkJRVU5OTEVWQlFXTkRMRVZCUVhWQ1F5eERRVUZ2UWl4RlFVRkpNMFFzUjBGQmEwSnBSQ3hEUVVGTkxFVkJSVFZHTEV0QlFVc3NUMEZCVTFFc1JVRkRaQ3hMUVVGTExHZENRVUZyUWtRc1IwRkJZVVVzUjBGQmVVSXNTMEZETjBRc1MwRkJTeXhsUVVGcFFtcEVMRWRCUVd0Q2EwUXNSMEZCZDBJc1MwRkRhRVVzUzBGQlN5eExRVUZQYmtRc1IwRkJhVUlzUzBGQlN5eFBRVUZSTEV0QlFVc3NaMEpCUVdsQ0xFdEJRVXNzWTBGQll5eEZRVVZ1Uml4TFFVRkxMR05CUVdkQ0xFTkJRVVVzVDBGQlVTeERRVUZETEVWQlFVY3NWMEZCV1N4RFFVRkRMRU5CUVVVc1JVRkRiRVFzUzBGQlN5eFpRVUZqTEVOQlFVVXNUMEZCVVN4RFFVRkRMRVZCUVVjc1YwRkJXU3hEUVVGRExFTkJRVVVzUlVGRGFFUXNTMEZCU3l4alFVRm5RaXhMUVVOeVFpeExRVUZMTEZOQlFWY3NRMEZCUXl4RlFVVnFRaXhMUVVGTExHZENRVUZyUWpKRExFVkJRM1pDTEV0QlFVc3NhMEpCUVc5Q0xFbEJRek5DTEVOQlJVRXNTVUZCU1N4aFFVRmpMRU5CUTJoQ0xFOUJRVWtzUzBGQlN5eHRRa0ZCY1VJc1QwRkROVUlzUzBGQlN5eHJRa0ZCYjBJelFpeEhRVUZ2UWl4SlFVRkpMRWRCUnpWRExFdEJRVXNzYVVKQlEyUXNRMEZGUVN4aFFVRmpMRU5CUTFvc1NVRkJUVzlETEVWQlFXVXNTMEZCU3l4VlFVRlZMRVZCUXpsQ1F5eEhRVU5JTEV0QlFVc3NhMEpCUVc5Q0xFMUJRVkVzUzBGQlN5eHJRa0ZCYjBJc1ZVRkRNVVFzUzBGQlN5eHBRa0ZCYlVJc1RVRkJVU3hMUVVGTExHbENRVUZ0UWl4WFFVTXpSQ3hQUVVGUFJDeEhRVUZuUWtNc1JVRkJhVUlzUzBGQlR5eE5RVU5xUkN4RFFVVkJMRTFCUVUxRExFVkJRVTBzUTBGRFZpeE5RVUZKTEVOQlFVTkJMRWRCUVZFc1QwRkJUeXh2UWtGQmIwSkJMRU5CUVVrc1JVRkJSU3hUUVVGWExFVkJRMmhFTEV0QlJVRmtMRVZCUVU4c1QwRkRXbU1zUlVGQlN5eFJRVUZWTEV0QlFVc3NaMEpCUTNCQ1FTeEZRVUZMTEdsQ1FVRnRRaXhMUVVGTExHZENRVU0zUWtFc1JVRkJTeXhuUWtGQmEwSXNTMEZCU3l4bFFVTTFRa0VzUlVGQlN5eGhRVUZsTEVWQlEzUkNMRU5CUlVvc1EwRkZRU3hqUVVGalFTeEZRVUZQTEVOQlFVTXNSVUZCUnl4RFFVTjJRaXhQUVVGUExFdEJRVXNzVFVGQlRVTXNSMEZCUVM5Q0xFVkJRVUVzUjBGQlN6aENMRWRCUVV3c1EwRkJWeXhaUVVGaExFVkJRVXNzUlVGQlF5eERRVU5zUkN4RFFVVkJMR3RDUVVGclFrRXNSVUZCVHl4RFFVRkRMRVZCUVVjc1EwRkRNMElzVDBGQlR5eExRVUZMTEUxQlFVMURMRWRCUVVFdlFpeEZRVUZCTEVkQlFVczRRaXhIUVVGTUxFTkJRVmNzV1VGQllTeEZRVUZOTEVWQlFVTXNRMEZEYmtRc1EwRkZRU3hQUVVGUE0wTXNSVUZCVVRaRExFVkJRVk1zUjBGQlR6VkRMRVZCUVZrc1IwRkJUU3hEUVVNdlF5eFBRVUZQU0N4SFFVRlZMRXRCUVUxRkxFVkJRVkZETEVWQlFXMUNOa01zUjBGQlVTeEpRVUZOTEVOQlF6bEVMRWxCUVUxMlF5eEZRVUZQYzBNc1JVRkJVeXhEUVVGRkxFMUJRVTgzUXl4RlFVRlJMRWxCUVVzc1UwRkJWU3hGUVVGSkxFTkJRVVVzVFVGQlQwRXNRMEZCVHl4RlFVTjRSU3RETEVWQlFWbEdMRVZCUVZNc1UwRkJWeXhoUVVOc1F5eFBRVUZMTEV0QlFVc3NXVUZCV1VVc1EwRkJVeXhGUVVGRkwwTXNRMEZCVFN4SlFVTnlReXhMUVVGTExGbEJRVmtyUXl4RFFVRlRMRVZCUVVVdlF5eERRVUZOTEVWQlFVbFVMRWRCUVZkSkxFZEJRVThzUzBGQlN5eFJRVUZSUVN4RlFVRkpXU3hGUVVGTkxFOUJRVThzUTBGQlF5eEhRVVZzUml4TFFVRkxMRmxCUVZsM1F5eERRVUZUTEVWQlFVVXZReXhEUVVGTkxFTkJRek5ETEVOQlFVTXNRMEZEU0N4RFFVVkJMRk5CUVZOQkxFVkJRVkUyUXl4RlFVRlRMRWRCUVU4MVF5eEZRVUZaTEVkQlFVMHNRMEZEYWtRc1QwRkJUMGdzUjBGQlZTeExRVUZOUlN4RlFVRlJReXhGUVVGdFFpdERMRWRCUVZVc1NVRkJUU3hEUVVOb1JTeEpRVUZOZWtNc1JVRkJUM05ETEVWQlExQXNRMEZCUlN4UlFVRlROME1zUlVGQlVTeExRVUZOTEZWQlFWY3NUVUZCVHl4UFFVRlJMRWxCUVVzc1UwRkJWU3hGUVVOc1JTeERRVUZGTEZGQlFWTkJMRU5CUVU4c1JVRkRkRUlyUXl4RlFVRlpSaXhGUVVGVExGTkJRVmNzWVVGRGJFTXNUMEZCU3l4TFFVRkxMR05CUVdORkxFTkJRVk1zUlVGQlJTOURMRU5CUVUwc1NVRkRka01zUzBGQlN5eGpRVUZqSzBNc1EwRkJVeXhGUVVGRkwwTXNRMEZCVFN4RlFVRkpTQ3hIUVVGaFJpeEhRVU51UkN4TFFVRkxMRkZCUVZGQkxFVkJRVWxaTEVWQlFVMHNVMEZCVXl4RFFVTnNReXhIUVVWTExFdEJRVXNzWTBGQlkzZERMRU5CUVZNc1JVRkJSUzlETEVOQlFVMHNRMEZETjBNc1EwRkJReXhEUVVOSUxFTkJSVUVzVlVGQlZVTXNSVUZCV1N4SFFVRk5MRU5CUXpGQ0xFOUJRVTlJTEVkQlEwd3NTMEZEUVN4UFFVTkJSeXhGUVVOQkxFbEJRV05uUkN4SFFVTmtMRWxCUVUwc1EwRkhTaXhIUVVGSkxFTkJRVU1zUzBGQlN5eGpRVUZsTEVOQlEzWkNMRWxCUVUweFF5eEZRVUZQTEVOQlFVVXNTMEZCVFN4VlFVRlhMRlZCUVZjc1MwRkJUU3hGUVVOcVJDeExRVUZMTEdOQlFXZENMRU5CUVVOWUxFVkJRVk1zU1VGQlNTeExRVUZOTEVkQlFVa3NSMEZCU1N4RFFVRkRMRVZCUVVkQkxFVkJRVk1zU1VGQlNTeExRVUZOTEVkQlFVa3NSMEZCU1N4RlFVRkZMRU5CUVVNc1JVRkJSU3hKUVVOc1JrUXNSMEZCVHl4TFFVRkxMRkZCUVZGQkxFVkJRVWxaTEVWQlFVMHNWMEZCVnl4RFFVTTFReXhEUVVOR0xFTkJSVUVzVDBGQlR5eExRVUZMTEdGQlEyUXNRMEZEUml4RFFVTkdMRU5CUlVFc1MwRkJTMUFzUlVGQlVVTXNSVUZCV1N4SFFVRk5MRU5CUXpkQ0xFOUJRVTlJTEVkQlFWVXNTMEZCVFVVc1JVRkJVVU1zUlVGQmJVSnBSQ3hIUVVGTkxFbEJRVTBzUTBGRE5VUXNTVUZCVFRORExFVkJRVThzUTBGQlJTeEpRVUZMVUN4RFFVRlBMRVZCU1ROQ0xFOUJRVXNzUzBGQlN5eFRRVUZUUVN4RFFVRk5MRWxCUTNaQ0xFdEJRVXNzVTBGQlUwRXNRMEZCVFN4RlFVRkpMRU5CUVVOS0xFVkJRVk1zU1VGQlNTeEpRVUZMTEVWQlFVY3NRMEZCUXl4RlFVRkhRU3hGUVVGVExFbEJRVWtzUzBGQlRTeEZRVUZITEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVV0RUxFZEJReTlGTEV0QlFVc3NVVUZCVVVFc1JVRkJTVmtzUlVGQlRTeExRVUZMTEVOQlF6bENMRWRCUjBzc1MwRkJTeXhUUVVGVFVDeERRVUZOTEVOQlF6ZENMRU5CUVVNc1EwRkRTQ3hEUVVWQkxGRkJRVkZNTEVWQlFVbHBRaXhGUVVGVmRVTXNSVUZCVHl4RFFVTXpRaXhKUVVGTlF5eEZRVUZMTEV0QlFVc3NXVUZCV1hwRUxFVkJRVWxwUWl4RFFVRlJMRVZCUTNSRGVVTXNSVUZCVlVRc1JVRkJSeXhqUVVGakxFVkJRek5DUlN4RlFVRlhSQ3hGUVVGUkxFdEJRVTFGTEVkQlFVMUJMRVZCUVVVc1MwRkJTeXhaUVVGWkxFbEJRVTFLTEVOQlFVc3NSVUZETDBRc1QwRkJUMGNzUlVGQlYwRXNSVUZCVXl4TlFVRlJMRWxCUTNKRExFTkJSVUVzWjBKQlFXZENla1lzUlVGQlR5eERRVUZETEVWQlFVY3NRMEZIZWtJc1QwRkJUeXhKUVVGSmVVTXNSMEZCYjBJc1MwRkJTeXhMUVVGTmVrTXNSVUZCU3l4aFFVRmxMRXRCUVVzc1dVRkJZVUVzUTBGQlNTeERRVU4wUml4RFFVVkJMRmxCUVZrNFFpeEZRVUZKYVVJc1JVRkJWeXhEUVVGRExFVkJRVWNzUTBGRE4wSXNUMEZCVHl4SlFVRkpTeXhIUVVGclFuUkNMRVZCUVVrc1MwRkJTeXhMUVVGTmFVSXNRMEZCVVN4RFFVTjBSQ3hEUVVWQkxHRkJRV0V2UXl4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVOMFFpeFBRVUZQTEVsQlFVbDVSQ3hIUVVGcFFpeExRVUZMTEV0QlFVMHNTMEZCU3l4VlFVRlZMRVZCUVVkNlJDeERRVUZKTEVOQlF5OUVMRU5CUlVFc1kwRkJZMEVzUlVGQlR5eERRVUZETEVWQlFVY3NRMEZEZGtJc1QwRkJUMFlzUjBGQldTeExRVUZMTEV0QlFVMUZMRU5CUVVrc1EwRkRjRU1zUTBGRlFTeFhRVUZaTEVOQlExWXNUMEZEUlN4TFFVRkxMRk5CUVZjc1RVRkRhRUlzUzBGQlN5eFBRVUZQTEZsQlFWa3NTVUZCVFN4VFFVTTVRaXhKUVVGSkxFdEJRVXNzWlVGQlpTeExRVUZMTEVsQlFVa3NSVUZCUlN4blFrRkJaMElzUlVGQlJTeFBRVUZQTEZkQlFWY3NUMEZCVHl4RFFVVnNSaXhEUVVWQkxFOUJRVTh5Uml4RlFVRlBMRU5CUTFvc1QwRkRSU3hMUVVGTExGTkJRVmRCTEVWQlFVMHNVVUZEZEVJc1MwRkJTeXhyUWtGQmIwSkJMRVZCUVUwc2FVSkJReTlDTEV0QlFVc3NhVUpCUVcxQ1FTeEZRVUZOTEdOQlJXeERMRU5CUTBZc1JVTnNZa0VzVTBGQlUwTXNUVUZCYTBKRExFVkJRVk1zUTBGRGJFTXNTVUZCVFVNc1JVRkJUMFFzUlVGQlVTeFBRVUZQTEVOQlFVTkZMRVZCUVVjc1NVRkJUVUVzUlVGQlNTeEZRVUZGTEU5QlFWRXNSVUZCUlN4RlFVTjBSQ3hQUVVGUExFOUJRVThzU1VGQlNVUXNRMEZCU1N4SFFVRkhMRU5CUXpOQ0xFTkJSVUVzVTBGQlUwVXNUVUZCY1VKRExFVkJRVmtzUTBGRGVFTXNUMEZCVDBNc1IwRkRURVFzUlVGRFJ5eFBRVU5ETEVOQlFVTXNRMEZCUTBVc1JVRkJXVU1zUlVGQldVTXNRMEZCVFN4RlFVRkhReXhKUVVGUExFTkJRM2hETEVkQlFVMHNRMEZCUTBNc1JVRkJTME1zUlVGQlRVTXNRMEZCU1N4RlFVRkpTQ3hGUVVGSFNpeEZRVUZIUnl4RFFVRk5MRVZCUTNSRExFMUJRVThzUTBGQlEwc3NTVUZCUVN4SFFVRkxVQ3hIUVVGbFNTeEhRVUZQUXl4SFFVRlJTaXhGUVVGWlN5eERRVUZKTEVOQlF6ZEVMRVZCUTBFc1EwRkJReXhEUVVGRExFVkJRVWNzUzBGQlRTeERRVUZETEVOQlEyUXNSVUZEUXl4TlFVRk5MRVZCUVVjc1EwRkJReXhEUVVOcVFpeERRVVZCTEZOQlFWTkZMRWRCUVUxRExFdEJRVTFETEVWQlFWVXNRMEZETjBJc1IwRkJTVVFzUjBGQlN5eExRVU5RTEUxQlFVOHNRMEZCUXl4TFFVRk5MRWxCUVVrc1JVRkhjRUlzVDBGQlZ5eERRVUZEUlN4RlFVRlBReXhEUVVGVExFbEJRVXRHTEVWQlFWVXNRMEZEZWtNc1NVRkJUVmdzUlVGQlNWa3NSVUZCVFN4TFFVRkxSaXhEUVVGRExFVkJRM1JDTEVkQlFVbFdMRVZCUTBZc1QwRkJUMkVzUlVGQlZXSXNRMEZCUXl4RFFVVjBRaXhEUVVOQkxFMUJRVThzUTBGQlF5eExRVUZOTEVsQlFVa3NRMEZEY0VJc1EwRkZRU3hUUVVGVFl5eE5RVUZsUXl4RlFVRk5MRU5CUXpWQ0xFMUJRVThzUTBGQlEwTXNSVUZCVDJJc1NVRkJWeXhEUVVONFFpeEpRVUZOWXl4RlFVRk5MRU5CUVVNc1JVRkRWRU1zUlVGRlNpeEpRVUZMUVN4RlFVRkpMRVZCUVVkQkxFVkJRVWxJTEVWQlFVc3NUMEZCVVVjc1NVRkRNMEpFTEVWQlFVbEdMRVZCUVV0SExFTkJRVU1zUTBGQlF5eEZRVUZKUXl4SFFVRmhTQ3hGUVVGTllpeEZRVUZUWlN4RFFVRkRMRU5CUVVNc1JVRkZMME1zVFVGQlR5eERRVUZEUkN4RlFVRkxMRXRCUVUxa0xFVkJRVk5sTEVOQlFVTXNRMEZETDBJc1EwRkRSaXhEUVVkQkxFbEJRVTFGTEVkQlFXTXNhME5CUTJSRExFZEJRV3RDTEUxQlFVMUVMRWRCUVZrc1RVRkJUU3hYUVVGWFJTeEhRVUZWTEUxQlFVMHNWMEZEY2tWRExFZEJRVzFDTEhORVFVTnVRa01zUjBGQlpTeFBRVUZQTEVkQlFVZEVMRWRCUVdsQ0xFMUJRVTBzUjBGQlIwWXNSVUZCWlN4RlFVRkZMRVZCUTNCRlNTeEhRVUYzUWl4UFFVRlBMRTlCUVU5RUxFZEJRV0VzVFVGQlRTeEpRVUZKTEVWQlF6ZEVSU3hIUVVGakxEaERRVU5rUXl4SFFVRmxMRGhDUVVObVF5eEhRVUZyUWl4dFFrRkRiRUpETEVkQlFYRkNaaXhIUVVGWkxGZEJRVmtzWVVGQll5eFRRVUZUTEVWQlEzQkZaMElzUjBGQmQwSm9RaXhIUVVGWkxFOUJRVkVzVTBGQlV5eEZRVU55UkdsQ0xFZEJRV01zZDBKQlEyUkRMRWRCUVdVc1QwRkRia0lzUjBGQlIxUXNSMEZCYVVJc1RVRkJUU3hSUVVGUlNDeEhRVUZaTEUxQlFVMHNTMEZCUzBVc1IwRkJWU3hOUVVGTkxFdEJRek5GTEVWQlEwMVhMRWRCUVhkQ0xFOUJRVThzVDBGQlQwUXNSMEZCWVN4TlFVRk5MRWxCUVVrc1JVRkZia1VzVTBGQlUwVXNSMEZCU1d4Q0xFVkJRVTl0UWl4RlFVRkxReXhGUVVGVkxFTkJRMnBETEVsQlFVMXdReXhGUVVGSlowSXNSVUZCVFcxQ0xFTkJRVWNzUlVGRGJrSXNUMEZCVDBVc1JVRkJXWEpETEVOQlFVTXNSVUZCU1c5RExFVkJRVmRxUWl4SFFVRmhia0lzUTBGQlF5eERRVU51UkN4RFFVVkJMRk5CUVZOelF5eEhRVUZqZEVJc1JVRkJUMklzUlVGQlVTeERRVTl3UXl4TlFVRlBMRU5CVGswc1EwRkRXQ3hMUVVGTkswSXNSMEZCU1d4Q0xFVkJRVTlpTEVOQlFVMHNSVUZEZGtJc1RVRkJUeXRDTEVkQlFVbHNRaXhGUVVGUFlpeEZRVUZUTEVWQlFVY3NRMEZCUXl4RlFVTXZRaXhKUVVGTEswSXNSMEZCU1d4Q0xFVkJRVTlpTEVWQlFWTXNSVUZCUnl4RFFVRkRMRU5CUXk5Q0xFVkJSV01zUzBGQlRVRXNSVUZCVXl4RFFVRkRMRU5CUTJoRExFTkJSVUVzVTBGQlUyOURMRWRCUVdWMlFpeEZRVUZQWWl4RlFVRlJMRU5CVVhKRExFMUJRVThzUTBGUVRTeERRVU5ZTEUxQlFVOHJRaXhIUVVGSmJFSXNSVUZCVDJJc1JVRkJVU3hEUVVGRExFVkJRek5DTEZGQlFWTXJRaXhIUVVGSmJFSXNSVUZCVDJJc1JVRkJVeXhGUVVGSExFTkJRVU1zUlVGRGFrTXNVVUZCVXl0Q0xFZEJRVWxzUWl4RlFVRlBZaXhGUVVGVExFVkJRVWNzUTBGQlF5eEZRVU5xUXl4aFFVRmpjVU1zUjBGQldYaENMRVZCUVUxaUxFVkJRVk1zUTBGQlF5eERRVUZETEVOQlF6ZERMRVZCUldNc1MwRkJUVUVzUlVGQlV5eERRVUZETEVOQlEyaERMRU5CUlVFc1UwRkJVM05ETEVkQlFXbENla0lzUlVGQlQySXNSVUZCVVN4RFFVTjJReXhKUVVGTmRVTXNSVUZCVVN4RFFVRkRNVUlzUlVGQlRXSXNRMEZCVFN4SFFVRkxMRU5CUVVOaExFVkJRVTFpTEVWQlFWTXNRMEZCUXl4RlFVTXZRM2RETEVWQlFXRkRMRWRCUVdFMVFpeEZRVUZOWWl4RlFVRlRMRU5CUVVNc1JVRkJSMkVzUlVGQlRXSXNSVUZCVXl4RFFVRkRMRU5CUVVNc1JVRkRPVVJITEVWQlFVOXZReXhGUVVGUkxFdEJRVTlITEVkQlFXZENMRk5CUVZOR0xFTkJRVlVzUlVGRE0wUXNUVUZCVHl4RFFVRkRMRU5CUVVNc1JVRkJSM0pETEVWQlFVMUlMRVZCUVZNc1EwRkJReXhEUVVNNVFpeERRVVZCTEZOQlFWTXlReXhIUVVGblFqbENMRVZCUVU5aUxFVkJRVkVzUTBGRGRFTXNTVUZCVFVjc1JVRkJUMVVzUlVGQlRXSXNRMEZCVFN4RlFVRkpORU1zUjBGQlV5eFBRVUZQTDBJc1JVRkJUV0lzUTBGQlRTeERRVUZETEVWQlFVa3NTMEZET1VRc1RVRkJUeXhEUVVGRExFTkJRVU1zUlVGQlIwY3NSVUZCVFVnc1JVRkJVeXhEUVVGRExFTkJRemxDTEVOQlNVRXNTVUZCVFRaRExFZEJRV01zVDBGQlR5eE5RVUZOZWtJc1IwRkJhVUlzVFVGQlRTeEhRVUZITEVWQlNYSkVNRUlzUjBGQll5d3JVRUZGY0VJc1UwRkJVME1zUjBGQmJVSnNReXhGUVVGUExFTkJRMnBETEVkQlFVMHNRMEZEU2s0c1JVRkRRWGxETEVWQlEwRkRMRVZCUTBGRExFVkJRMEZETEVWQlEwRkRMRVZCUTBGRExFVkJRMEZETEVWQlEwRkRMRU5CUTBZc1JVRkJTVEZETEVWQlJVVXlReXhGUVVGdlFtcEVMRVZCUVVVc1EwRkJReXhKUVVGTkxFbEJRemRDYTBRc1JVRkJhMEpJTEVkQlFXRkJMRVZCUVZVc1EwRkJReXhKUVVGTkxFbEJSV2hFU1N4RlFVRmpMRU5CUVVORExFVkJRVXRETEVWQlFWRXNTMEZEYUVORUxFbEJRVkVzVTBGQlkwTXNSMEZCVlVRc1IwRkJUMGdzUjBGQmMwSXNRMEZCUTBjc1JVRkJUVUVzUlVGRmRFVXNUVUZCVHl4RFFVTk1MRU5CUTBVc1RVRkJUMFFzUlVGQldVY3NSMEZCWTJJc1EwRkJUeXhEUVVGRExFVkJRM3BETEU5QlFWRlZMRVZCUVZsSExFZEJRV05hTEVOQlFWRXNRMEZCUXl4RlFVTXpReXhOUVVGUFV5eEZRVUZaUnl4SFFVRmpXQ3hEUVVGUExFTkJRVU1zUlVGRGVrTXNTMEZCVFZFc1JVRkJXVWNzUjBGQlkxWXNRMEZCVFN4RFFVRkRMRVZCUTNaRExFMUJRVTlQTEVWQlFWbEhMRWRCUVdOVUxFTkJRVThzUTBGQlF5eEZRVU42UXl4UlFVRlRUU3hGUVVGWlJ5eEhRVUZqVWl4RFFVRlRMRU5CUVVNc1JVRkROME1zVVVGQlUwc3NSVUZCV1Vjc1IwRkJZMUFzUTBGQlV5eEZRVUZIUVN4SlFVRmpMRWxCUVVrc1JVRkRha1VzWVVGQlkwa3NSVUZCV1hKQ0xFZEJRVmxyUWl4RFFVRmxMRVZCUVVkRkxFTkJRV1VzUTBGRGVrVXNRMEZEUml4RFFVTkdMRU5CUzBFc1NVRkJUVXNzUjBGQllTeERRVU5xUWl4SlFVRkxMRVZCUTB3c1NVRkJTeXhIUVVGTExFZEJRMVlzU1VGQlN5eEhRVUZMTEVkQlExWXNTVUZCU3l4SFFVRkxMRWRCUTFZc1NVRkJTeXhIUVVGTExFZEJRMVlzU1VGQlN5eEhRVUZMTEVkQlExWXNTVUZCU3l4SFFVRkxMRWRCUTFZc1NVRkJTeXhIUVVGTExFZEJRMVlzU1VGQlN5eEhRVUZMTEVWQlExb3NSVUZGUVN4VFFVRlRReXhIUVVGWlF5eEZRVUZaYUVJc1JVRkJVME1zUlVGQlZVVXNSVUZCVVVNc1JVRkJVME1zUlVGQlYwTXNSVUZCVnl4RFFVTjZSaXhKUVVGTlZ5eEZRVUZUTEVOQlEySXNTMEZCVFdwQ0xFVkJRVkVzVTBGQlZ5eEZRVUZKYTBJc1IwRkJaV3hFTEVkQlFXRm5ReXhEUVVGUExFTkJRVU1zUlVGQlNXaERMRWRCUVdGblF5eERRVUZQTEVWQlEzcEdMRTFCUVdWdFFpeEhRVUZaTEZGQlFWRnNRaXhEUVVGUkxFVkJRVWtzUlVGREwwTXNTVUZCUzJwRExFZEJRV0Z0UXl4RFFVRk5MRVZCUTNoQ0xFdEJRVTF1UXl4SFFVRmhiME1zUTBGQlR5eEZRVU14UWl4UFFVRlJjRU1zUjBGQllYRkRMRU5CUVZNc1EwRkRhRU1zUlVGRlFTeFBRVUZKUXl4SlFVRlhWeXhGUVVGUExFOUJRVk5xUkN4SFFVRmhjME1zUTBGQlV5eEhRVU5xUkZVc1NVRkRSa01zUlVGQlR5eFJRVU5NUkN4RlFVRlhMRTlCUVZNc1JVRkRVa2tzUjBGQllTeFJRVUZSU2l4RFFVRlZMRVZCUVVrc1JVRkRia05MTEVkQlFXTXNVVUZCVVV3c1EwRkJWU3hGUVVGSkxFZEJSemREUXl4RFFVTlVMRU5CUjBFc1NVRkJUVXNzUjBGQlZTeHJUVUZGYUVJc1UwRkJVME1zUjBGQlpURkVMRVZCUVU4c1EwRkROMElzUjBGQlRTeERRVU5HTEVOQlEwRnRSQ3hGUVVOQllpeEZRVU5CUml4RlFVTkJSQ3hGUVVOQlNTeEZRVU5CUXl4RlFVTkJReXhGUVVOQmEwSXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNRMEZEUml4RlFVRkpPVVFzUlVGRFNtOUVMRVZCUVZOR0xFZEJRVmxETEVWQlFWbG9RaXhGUVVGVFF5eEZRVUZWUlN4RlFVRlJReXhGUVVGVFF5eEZRVUZYUXl4RFFVRlRMRVZCUlhaR2MwSXNSVUZEU2l4UFFVRkpTaXhGUVVOR1NTeEZRVUZUWkN4SFFVRlhWU3hEUVVGVExFVkJRM0JDUXl4RlFVTlVSeXhGUVVGVExFVkJSVlJCTEVWQlFWTnVReXhIUVVGaGFVTXNSVUZCV1VNc1EwRkJXU3hGUVVkNlF5eERRVUZEVml4RlFVRlJMRWxCUVVsMlFpeEhRVUZuUW10RExFTkJRVTBzUTBGQlF5eERRVU0zUXl4RFFVVkJMRk5CUVZORExFZEJRV3RDZEVVc1JVRkJSeXhEUVVVMVFpeFBRVUZQUVN4RlFVTktMRkZCUVZFc2NVSkJRWE5DTEVkQlFVY3NSVUZEYWtNc1VVRkJVU3hYUVVGWkxFZEJRVWNzUlVGRGRrSXNTMEZCU3l4RFFVTldMRU5CU1VFc1NVRkJUWFZGTEVkQlFWVXNOa2hCUTJSRExFZEJRVk1zZVVwQlExUkRMRWRCUVZFc05FaEJSVllzVTBGQlUwTXNSMEZCYjBKd1JTeEZRVUZQTEVOQlEyeERMRWRCUVUwc1EwRkJReXhEUVVGRmJVUXNSVUZCV1dJc1JVRkJVVVlzUlVGQlZVUXNSVUZCVTBrc1JVRkJVME1zUlVGQlYwTXNRMEZCVXl4RlFVRkpla01zUlVGRmFrWXNUVUZCVHl4RFFVUkphMFFzUjBGQldVTXNSVUZCV1doQ0xFVkJRVk5ETEVWQlFWVkZMRVZCUVZGRExFVkJRVk5ETEVWQlFWZERMRU5CUVZNc1JVRkRNMFZhTEVkQlFXZENMRmRCUVZjc1EwRkROME1zUTBGRlFTeFRRVUZUZDBNc1IwRkJZWEpGTEVWQlFVOHNRMEZETTBJc1IwRkJUU3hEUVVGRExFTkJRVVZ0UkN4RlFVRlpaaXhGUVVGVlJTeEZRVUZSUXl4RlFVRlRReXhGUVVGWFF5eEZRVUZYVGl4RFFVRlBMRVZCUVVsdVF5eEZRVVZxUml4TlFVRlBMRU5CUkVsclJDeEhRVUZaUXl4RlFVRlphRUlzUlVGQlUwTXNSVUZCVlVVc1JVRkJVVU1zUlVGQlUwTXNSVUZCVjBNc1EwRkJVeXhGUVVNelJWb3NSMEZCWjBJc1YwRkJWeXhEUVVNM1F5eERRVVZCTEVsQlFVMTVReXhIUVVFclFqVkdMRWRCUVdWblF5eEhRVUZoUkN4RlFVRnhRaXhGUVVOb1JqaEVMRWRCUVdkRE4wWXNSMEZCWldsRExFZEJRV05HTEVWQlFYRkNMRVZCUTJ4R0swUXNSMEZCYlVNNVJpeEhRVUZsYTBNc1IwRkJhVUpJTEVWQlFYRkNMRVZCUTNoR1owVXNSMEZCZFVJdlJpeEhRVUZsT0VJc1JVRkJXU3hGUVVWc1JHdEZMRWRCUVRaQ05VWXNSMEZEYWtOM1F5eEhRVU5CUXl4SFFVTkJSU3hIUVVOQlN5eEZRVU5HTEVWQlEwMDJReXhIUVVFNFFqZEdMRWRCUTJ4REswSXNSMEZEUVZVc1IwRkRRVVVzUjBGRFFVc3NSVUZEUml4RlFVTk5PRU1zUjBGQkswSTVSaXhIUVVOdVEyZERMRWRCUTBGVExFZEJRMEZGTEVkQlEwRkxMRVZCUTBZc1JVRkRUU3RETEVkQlFUQkNMMFlzUjBGRE9VSjVReXhIUVVOQlJTeEhRVU5CU3l4RlFVTkdMRVZCVFU4c1UwRkJVMmRFTEVkQlFXRndSaXhGUVVGSExFTkJRemxDTEU5QlFVOUVMRWRCUTB4RExFVkJRMEVzUTBGQlF6UkZMRWRCUVRoQ1NTeEZRVUV3UWl4RlFVTjZSQ3hEUVVGRFNDeEhRVUVyUWtrc1JVRkJNa0lzUlVGRE0wUXNRMEZCUTBnc1IwRkJhME5KTEVWQlFUUkNMRVZCUXk5RUxFTkJRVU5JTEVkQlFYTkNTU3hGUVVGMVFpeERRVU5vUkN4RFFVTkdMRU5CUlU4c1UwRkJVMFVzUjBGQmFVSnlSaXhGUVVGSExFTkJRMnhETEU5QlFVOUVMRWRCUVUxMVJTeEhRVUZyUW5SRkxFTkJRVU1zUlVGQlJ5eERRVUZESzBRc1IwRkJVME1zUlVGQll5eERRVUZETEVOQlF6bEVMRU5CUlU4c1UwRkJVM05DTEVkQlFXTjBSaXhGUVVGSExFTkJReTlDTEU5QlFVOUVMRWRCUTB4RExFVkJRMEVzUTBGQlEzVkZMRWRCUVZOSExFVkJRVzFDTEVWQlF6ZENMRU5CUVVOR0xFZEJRVkZGTEVWQlFXMUNMRVZCUXpWQ0xFTkJRVU5FTEVkQlFVOUZMRVZCUVZrc1EwRkRkRUlzUTBGRFJpeERRVVZQTEZOQlFWTlpMRWRCUVdsQ2RrWXNSVUZCUnl4RFFVTnNReXhQUVVGUFJDeEhRVUZOUXl4RlFVRkhMRU5CUVVOMVF5eEhRVUZoUXl4RlFVRnJRaXhEUVVGRExFTkJRMjVFTEVOQlJVRXNTVUZCVFdkRUxFZEJRWEZDY0Vjc1IwRkJhMEo1UXl4RlFVRmpMRVZCUlhCRUxGTkJRVk0wUkN4SFFVRnBRbnBHTEVWQlFVY3NRMEZEYkVNc1QwRkJUMFFzUjBGQlRVTXNSVUZCUnl4RFFVRkRjME1zUjBGQllXdEVMRVZCUVd0Q0xFTkJRVU1zUTBGRGJrUXNRMEZGUVN4SlFVRk5SU3hIUVVFclFqRkhMRWRCUVdWeFF5eEhRVUZoUlN4RlFVRnhRaXhGUVVOb1JtOUZMRWRCUVhWQ00wY3NSMEZCWlhORExFVkJRVmtzUlVGRmJFUnpSU3hIUVVGclEzaEhMRWRCUTNSRGVVTXNSMEZEUVVVc1IwRkRRVXNzUlVGRFJpeEZRVVZQTEZOQlFWTjVSQ3hIUVVGVE4wWXNSVUZCUnl4RFFVTXhRaXhQUVVGUFJDeEhRVU5NUXl4RlFVTkJMRU5CUVVNd1JpeEhRVUU0UWxZc1JVRkJNRUlzUlVGRGVrUXNRMEZCUTFjc1IwRkJjMEpETEVWQlFTdENMRU5CUTNoRUxFTkJRMFlzUTBOc1ZVRXNTVUZCVFVVc1IwRkJWU3h0UWtGSFNFTXNSMEZCYVVJc1EwRkRNVUlzVFVGQlR5eERRVU5NTEV0QlFVMHNSVUZEVGl4TlFVRlBMRVZCUVVrc1IwRkRXQ3hSUVVGVExFVkJRVWtzUjBGQlN5eEhRVU5zUWl4UlFVRlRMRVZCUVVrc1IwRkJTeXhIUVVGTExFZEJRM1pDTEdGQlFXTXNSVUZCU1N4SFFVRkxMRWRCUVVzc1IwRkJTeXhIUVVOdVF5eEZRVU5CTEV0QlFVMHNRMEZEU2l4TlFVRlBMRWRCUTFBc1VVRkJVeXhIUVVGTExFZEJRMlFzVVVGQlV5eEhRVUZMTEVkQlFVc3NSMEZEYmtJc1lVRkJZeXhIUVVGTExFZEJRVXNzUjBGQlN5eEhRVU12UWl4RlFVTkJMRTFCUVU4c1EwRkJSU3hSUVVGVExFZEJRVWtzVVVGQlV5eEhRVUZMTEVkQlFVa3NZVUZCWXl4SFFVRkxMRWRCUVVzc1IwRkJTeXhGUVVOeVJTeFJRVUZUTEVOQlFVVXNVVUZCVXl4SFFVRkpMR0ZCUVdNc1IwRkJTeXhIUVVGTExFVkJRMmhFTEZGQlFWTXNRMEZCUlN4aFFVRmpMRWRCUVVzc1EwRkRhRU1zUlVGRFFVTXNSMEZCWlVNc1JVRkJRU3hEUVVOaUxFMUJRVThzUTBGRFRDeFRRVUZWTEVWQlExWXNUMEZCVVN4SFFVTlNMRTFCUVU4c1IwRkRVQ3hMUVVGTkxFbEJRMDRzVFVGQlR5eEpRVUZOTEVkQlEySXNVVUZCVXl4SlFVRk5MRWRCUVVzc1IwRkRjRUlzVVVGQlV5eEpRVUZOTEVkQlFVc3NSMEZCU3l4SFFVTjZRaXhoUVVGakxFbEJRVTBzUjBGQlN5eEhRVUZMTEVkQlFVc3NSMEZEY2tNc1JVRkRRU3hUUVVGVkxFTkJRMUlzVDBGQlVTeEZRVU5TTEUxQlFVOHNSMEZEVUN4TFFVRk5MRWRCUTA0c1RVRkJUeXhIUVVGTExFZEJRMW9zVVVGQlV5eEhRVUZMTEVkQlFVc3NSMEZEYmtJc1VVRkJVeXhIUVVGTExFZEJRVXNzUjBGQlN5eEhRVU40UWl4aFFVRmpMRWRCUVVzc1IwRkJTeXhIUVVGTExFZEJRVXNzUjBGRGNFTXNSVUZEUVN4UFFVRlJMRU5CUTA0c1RVRkJUeXhGUVVOUUxFdEJRVTBzUjBGRFRpeE5RVUZQTEVkQlFVc3NSMEZEV2l4UlFVRlRMRWRCUVVzc1IwRkJTeXhIUVVOdVFpeFJRVUZUTEVkQlFVc3NSMEZCU3l4SFFVRkxMRWRCUTNoQ0xHRkJRV01zUjBGQlN5eEhRVUZMTEVkQlFVc3NSMEZCU3l4SFFVTndReXhIUVVWSFJpeEpRVVZNUnl4SFFVRnhRaXhQUVVGWExFbEJRMmhEUXl4SFFVRnpRaXhQUVVGWExFdEJRMnBEUXl4SFFVRnBRa2dzUlVGQlFTeERRVU5tTEUxQlFVOHNRMEZEVEN4VFFVRlZMRVZCUTFZc1QwRkJVU3hIUVVOU0xFMUJRVTlETEVkQlFYRkNMRVZCUXpWQ0xFdEJRVTFCTEVkQlEwNHNUVUZCVDBFc1IwRkJjVUlzUjBGRE5VSXNVVUZCVTBFc1IwRkJjVUlzUjBGQlN5eEhRVU51UXl4UlFVRlRRU3hIUVVGeFFpeEhRVUZMTEVkQlFVc3NSMEZEZUVNc1lVRkJZMEVzUjBGQmNVSXNSMEZCU3l4SFFVRkxMRWRCUVVzc1IwRkRjRVFzUlVGRFFTeFRRVUZWTEVOQlExSXNUMEZCVVN4RlFVTlNMRTFCUVU5QkxFZEJRWEZDTEVkQlF6VkNMRXRCUVUxQkxFZEJRWEZDTEVWQlF6TkNMRTFCUVZGQkxFZEJRWEZDTEVkQlFVMHNSVUZEYmtNc1VVRkJWVUVzUjBGQmNVSXNSMEZCU3l4SFFVRk5MRVZCUXpGRExGRkJRVlZCTEVkQlFYRkNMRWRCUVVzc1IwRkJTeXhIUVVGTkxFVkJReTlETEdGQlFXVkJMRWRCUVhGQ0xFZEJRVXNzUjBGQlN5eEhRVUZMTEVsQlFWRXNRMEZETjBRc1JVRkRRU3hQUVVGUkxFTkJRMDRzVFVGQlQwTXNSMEZCYzBJc1JVRkROMElzUzBGQlRVRXNSMEZEVGl4TlFVRlBRU3hIUVVGelFpeEhRVU0zUWl4UlFVRlRRU3hIUVVGelFpeEhRVUZMTEVkQlEzQkRMRkZCUVZOQkxFZEJRWE5DTEVkQlFVc3NSMEZCU3l4SFFVTjZReXhoUVVGalFTeEhRVUZ6UWl4SFFVRkxMRWRCUVVzc1IwRkJTeXhIUVVOeVJDeEhRVU5IU2l4SlFVbEVUU3hIUVVGbExFTkJRMjVDTEZGQlEwRXNWMEZEUVN4VFFVTkJMRkZCUTBFc1QwRkRRU3hSUVVOQkxGVkJRMEVzVlVGRFFTeGpRVU5HTEVWQlJVMURMRWRCUVdWRUxFZEJRV0VzVFVGQlRTeERRVUZETEVWQlFVVXNVVUZCVVN4RlFVZHVSQ3hUUVVGVFJTeEhRVUZOUXl4RlFVRkxReXhGUVVGTlF5eEZRVUZSTEVkQlFVOHNRMEZGZGtNc1NVRkJUVU1zUlVGQlR5eERRVU5ZTEU5QlFWRkVMRVZCUVZGRUxFVkJRVXNzVDBGQlUxSXNTVUZCUVN4SFFVRkxUeXhGUVVGSkxGRkJRVmxETEVWQlFVc3NVVUZCVlN4RFFVRkRMRWRCUTI1RkxFbEJRVXRFTEVWQlFVa3NTVUZCU1N4TlFVRk5ReXhGUVVGTExFZEJRVWNzUlVGRE0wSXNiVUpCUVc5Q1FTeEZRVUZMTEc5Q1FVRnpRa1FzUlVGQlNTeHJRa0ZEY2tRc1JVRkRRU3hQUVVGUExFbEJRVWxKTEVWQlFWTkVMRU5CUVVrc1EwRkRNVUlzUTBGRlFTeFRRVUZUUlN4SFFVRlZMRVZCUVVjc1EwRkRjRUlzVDBGQlR5eEZRVUZKTEVWQlFVa3NTMEZCU3l4TlFVRk5MRU5CUVVNc1JVRkJTU3hMUVVGTExFdEJRVXNzUTBGQlF5eERRVU0xUXl4RFFVZEJMRk5CUVZORExFZEJRVkZETEVWQlFWRkRMRVZCUVZORExFVkJRVlZETEVWQlFVOURMRVZCUVZFc1EwRkRla1FzU1VGQlRVTXNSVUZCVDB3c1JVRkJUMGtzUTBGQlRTeEZRVUZGUml4RFFVRlJMRVZCUTJ4RFNTeEZRVUZOVEN4RlFVRlJReXhEUVVGUkxFVkJRVWxITEVWQlF6RkNSU3hGUVVGWExFdEJRVXNzUzBGQlMwUXNRMEZCUnl4SlFVRk5MRXRCUVVzc1MwRkJTMGdzUlVGQlRVTXNRMEZCVFN4RFFVRkRMRVZCUlhKRVNTeEZRVU5GTEVOQlFVTkVMRWRCUVZsS0xFVkJRVTFETEVOQlFVMHNTVUZCVFN4SFFVRkxMRXRCUVVzc1NVRkJTVVVzUTBGQlJ5eEhRVUZMTEVWQlFVbFNMRWRCUVZWUkxFTkJRVWNzUlVGQlNTeExRVUZMTEUxQlFVMUJMRU5CUVVjc1JVRkROVVpJTEVWQlFVMURMRU5CUVUwc1IwRkJTMGtzUlVGRGFrSlFMRVZCUVZGRExFTkJRVkVzUjBGQlMwMHNSVUZCVVVnc1EwRkRMMElzUTBGSFFTeFRRVUZUU1N4SFFVRm5RbFFzUlVGQlVWVXNSVUZCVFN4RFFVTnlRMjVDTEVkQlFXRXNUMEZCVHl4RFFVRkRiMElzUlVGQlZVTXNTVUZEZUVKRExFVkJRVmxJTEVWQlFVdEZMRU5CUVU4c1EwRkJReXhGUVUxeVFrUXNSMEZNU0VFc1IwRkRSbG9zUjBGQlVVTXNSVUZCVVZVc1JVRkJUVU1zUlVGQlZVUXNSVUZCVFVVc1EwRkJUeXhGUVVWNFEwRXNSMEZKVWl4SlFVRkpMRU5CUTFRc1EwRmxRU3hKUVVGeFFtWXNSVUZCY2tJc1RVRkJjVUpwUWl4RFFVRlRMRU5CU1RWQ0xGbEJRVmxETEVWQlFWRXNRMEZEYkVJc1NVRkJUVU1zUlVGQlYwUXNSVUZCVHl4eFFrRkJkVUlzV1VGQll5eEhRVWszUkN4TFFVRkxMRTlCUVZOQkxFVkJRVThzVDBGSmNrSXNTMEZCU3l4SlFVRk5RU3hGUVVGUExFdEJRVTlGTEVkQlFVOHNUMEZCVHl4RlFVbDJReXhMUVVGTExHMUNRVUZ4UWtRc1JVRkJWeXhYUVVGaExGTkJTV3hFTEV0QlFVc3NVVUZCVlVRc1JVRkJUeXhUUVVGWExFdEJTV3BETEV0QlFVc3NUMEZCVTBNc1JVRkJWek5DTEVkQlFXbENTaXhIUVVreFF5eExRVUZMTEdkQ1FVRnJRaXhGUVVONlFpeERRVmRCTEU5QlFVOHNWMEZCVjJsRExFVkJRVTlETEVWQlFVMHNRMEZETjBJc1QwRkJUMHdzUlVGQlV5eFhRVUZYTEVOQlFVVXNZVUZCWTBrc1EwRkJUU3hGUVVGSFF5eERRVUZKTEVOQlF6RkVMRU5CY1VKQkxFOUJRVThzVjBGQlYwTXNSVUZCUzBRc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGRGFFTXNSMEZCU1VNc1IwRkJUeXhOUVVGUkxFOUJRVTlCTEVkQlFWRXNVMEZEYUVNc1RVRkJUU3hKUVVGSlF5eEhRVU5TTEN0RVFVTkZSQ3hKUVVGUkxFdEJRVThzVDBGQlV5eFBRVUZQUVN4RFFVTnFReXhGUVVOR0xFVkJSMFlzVDBGQlR5eEpRVUZKVGl4RlFVRlRMRU5CUTJ4Q0xFOUJRVkZSTEVkQlFXZENSaXhGUVVGTFRpeEZRVUZUTEdGQlFXRXNSVUZEYmtRc1NVRkJTMGNzUjBGQlR5eFhRVUZYUlN4RFFVRkpMRVZCUXpOQ0xHMUNRVUZ2UWtFc1JVRkJTeXhyUWtGRE0wSXNRMEZCUXl4RFFVTklMRU5CV1VFc1QwRkJUeXhwUWtGQmFVSkpMRVZCUVdNc1EwRkRjRU1zUjBGQlNVTXNSMEZCVTBRc1EwRkJXU3hGUVVOMlFpeFBRVUZQVkN4RlFVRlRMRmRCUVZkVExFTkJRVmtzUlVGRGJFTXNSMEZCU1ZRc1JVRkJVeXhYUVVGWFV5eERRVUZaTEVWQlEzcERMRTlCUVU5QkxFVkJRMFlzUjBGQlNTeFBRVUZQUVN4SFFVRnBRaXhUUVVOcVF5eFBRVUZQVkN4RlFVRlRMRmRCUVZkVExFTkJRVmtzUlVGRmRrTXNUVUZCVFN4SlFVRkpSaXhIUVVOU0xEWkNRVUUyUWtVc1EwRkJXU3haUVVGWkxFOUJRVTlCTEVOQlFWa3NSVUZETVVVc1EwRkZTaXhEUVdWQkxFOUJRVThzVVVGQlVVVXNSVUZCVFU0c1JVRkJUU3hEUVVONlFpeEhRVUZOTEVOQlFVTlBMRU5CUVUwc1JVRkJTVU1zUjBGQmFVSkdMRU5CUVVrc1JVRkRkRU1zVDBGQlNVTXNSVUZEUzFvc1JVRkJVeXhYUVVGWFdTeEZRVUZSVUN4RFFVRkpMRVZCUldoRFRDeEZRVUZUTEZGQlFWRXNZVUZCWXl4alFVRmpWeXhEUVVGSkxDdENRVUVyUWl4RFFVVXpSaXhEUVdsQ1FTeFBRVUZQTEZsQlFWbEJMRVZCUVUxT0xFVkJRVTBzUTBGRE4wSXNSMEZCVFN4RFFVRkRUeXhEUVVGTkxFVkJRVWxGTEVkQlFXbENTQ3hEUVVGSkxFVkJRM1JETEU5QlFVbERMRVZCUTB0YUxFVkJRVk1zVjBGQlYxa3NSVUZCVVZBc1EwRkJTU3hGUVVWb1Ewd3NSVUZCVXl4UlFVRlJMR0ZCUVdNc1kwRkJZMWNzUTBGQlNTd3JRa0ZCSzBJc1EwRkZNMFlzUTBGUlFTeFBRVUZQTEZGQlFWRkpMRVZCUVZGRExFVkJRV01zUzBGQlRTeERRVU42UXl4SFFVRkpMRU5CUVVORUxFVkJRMGdzVFVGQlRTeEpRVUZKVWl4SFFVRnhRaXhyUkVGQmEwUXNSVUZIYmtZc1NVRkJUVlVzUlVGQlZVWXNZVUZCYTBKSExFZEJRVlZJTEVWQlFWTXNTVUZCU1Vjc1IwRkJVVWdzUlVGQlVVTXNRMEZCVnl4RlFVVndSaXhIUVVGSlJ5eEZRVUZUTEdWQlExZ3NUVUZCVFN4SlFVRkpReXhIUVVGeFFrZ3NRMEZCVHl4RlFVVjBReXhQUVVGUExFbEJRVWxxUWl4RlFVRlRMRU5CUVVVc1VVRkJRV2xDTEVOQlFWRXNRMEZCUXl4RFFVVnVReXhEUVV0QkxFOUJRVThzWTBGQlkwa3NSVUZCVFN4RFFVTjZRaXhKUVVGTlF5eEZRVUZoTEVOQlEycENMRXRCUVUwc1VVRkRUaXhOUVVGUExGRkJRMUFzVVVGQlV5eFhRVU5VTEZOQlFWVXNWMEZEVml4TlFVRlBMRk5CUTFBc1QwRkJVU3hUUVVOU0xFdEJRVTBzVVVGRFRpeE5RVUZQTEZGQlExQXNTVUZCU3l4UFFVTk1MRXRCUVUwc1QwRkRUaXhMUVVGTkxGRkJRMDRzVFVGQlR5eFJRVU5RTEU5QlFWRXNWVUZEVWl4UlFVRlRMRlZCUTFRc1QwRkJVU3hWUVVOU0xGRkJRVk1zVlVGRFZDeFpRVUZoTEdWQlEySXNZVUZCWXl4alFVTm9RaXhGUVVGRlJDeEhRVUZQUVN4RlFVRkxMRmxCUVZrc1EwRkJVU3hGUVVWc1F5eEhRVUZKTEVOQlFVTkRMRVZCUVZrc1RVRkJUU3hKUVVGSlF5eEhRVUZwUWtZc1EwRkJTU3hGUVVWb1JDeFBRVUZQUXl4RFFVTlVMRU5CVDBFc1QwRkJUeXhYUVVGWFJTeEZRVUZITEVOQlEyNUNMRTlCUVZGQkxFZEJRVXRCTEVWQlFVVXNhVUpCUVc5Q0xFVkJRM0pETEVOQlRVRXNTVUZCU1N4UlFVRlRMRU5CUTFnc1QwRkJUeXhMUVVGTExGRkJRVlVzUzBGQlN5eEpRVUZKTEU5QlFWTXNTVUZETVVNc1EwRlBRU3hKUVVGSkxHbENRVUZyUWl4RFFVTndRaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEVsQlFVa3NaMEpCUVd0Q0xFbEJRMjVFTEVOQmQwSkJMRk5CUVZORExFVkJRVXR3UWl4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVWMlFpeEpRVUZOY1VJc1JVRkJWVU1zUjBGQlFYWkVMRVZCUVVFc1IwRkRXR2xETEVkQlJGY3NRMEZGWkN4TlFVRlBRU3hGUVVGTExGRkJRVlVzU1VGQlUwRXNSVUZCU3l4UlFVRlZMRVZCUTJoRUxFZEJRMEVzVDBGQlR5eExRVUZMTEZGQlExSjFRaXhIUVVGVkxFOUJRVThzUzBGQlN5eEpRVUZMUml4RFFVRlBMRVZCUVVVc2VVSkJRWGxDTEV0QlFVMUVMRU5CUVVjc1JVRkRkRVY0UkN4RlFVTk9MRU5CWlVFc1VVRkJVVzlETEVWQlFVOHNRMEZCUXl4RlFVRkhMRU5CUTJwQ0xFbEJRVTEzUWl4RlFVRkpja1FzUjBGRFVDeEpRVUZMTmtNc1IwRkJVeXhEUVVOaUxFbEJRVTFUTEVWQlFVMHNTMEZCU3l4UFFVRlBWQ3hEUVVGSkxFVkJRelZDTEU5QlFVbDBRaXhGUVVGWkswSXNRMEZCUnl4RlFVTldMRXRCUlVZc1MwRkJTeXhKUVVOVUxHZENRVUZuUWtnc1IwRkJRWFpFTEVWQlFVRXNRMEZCUlN4TlFVRlBMRTlCUVZFc1dVRkJZU3hSUVVGWGFVTXNSMEZCZWtNc1EwRkJLME1zUzBGQlRXZENMRVZCUVVzc1RVRkJUU3hGUVVGSExFVkJRVVVzUTBGQlJTeEZRVUZETEVWQlEzaEdMRTlCUVU5VExFTkJRVWNzUTBGRFppeERRVUZETEVWQlEwRXNUMEZCVVVNc1IwRkJUVUVzUTBGQlF5eEZRVVZzUWl4UFFVRlBMRXRCUVVzc1NVRkRWQ3hqUVVGak0wUXNSVUZCUVN4RFFVRkZMRXRCUVUwc1kwRkJaU3hOUVVGUGFVTXNSVUZCU3l4WFFVRmhMRlZCUVdGQkxFVkJRVTBzUlVGRGFrWXNUMEZCVDNkQ0xFTkJRVU1zUTBGRFlpeERRVTlCTEZWQlFWY3NRMEZEVkN4UFFVRkxMRXRCUVVzc1VVRkRTSHBFTEVWQlFVRXNSMEZCU3l4TFFVRkxMRkZCUkZNc1EwRkJReXhEUVVVM1FpeERRVmxCTEU5QlFWRXNRMEZGVGl4SFFVRkpMRU5CUVVNc1MwRkJTeXhSUVVGVExFOUJRVThzUzBGRk1VSXNTVUZCU1RSRUxFVkJRVWtzU1VGRFVpeFBRVUZKTEV0QlFVc3NVVUZCVlN4SlFVRkhRU3hIUVVGTExFdEJRVXNzVFVGQlVTeE5RVU53UXl4TFFVRkxMRk5CUVZjc1IwRkJTeXhMUVVGTExGZEJRV0VzUzBGQlIwRXNSMEZCU3l4TFFVRkxMRTlCUVZNc1MwRkJTeXhUUVVGWExFVkJRVWtzUzBGRGFrWXNTMEZCU3l4UlFVRlZMRWxCUVVkQkxFZEJRVXNzUzBGQlN5eE5RVUZSTEV0QlEzQkRMRXRCUVVzc1QwRkJVeXhKUVVGSFFTeEhRVUZMTEV0QlFVc3NTMEZCVHl4TlFVTnNReXhMUVVGTExGRkJRVlVzUjBGQlN5eExRVUZMTEZWQlFWa3NSMEZCU3l4TFFVRkxMRlZCUVZrc1IwRkJTeXhMUVVGTExHVkJRV2xDTEV0QlEzaEdRU3hIUVVGTExFdEJRMGdzUzBGQlN5eFJRVUZWTEVsQlFVZEJMRWRCUVVzc1MwRkJTeXhOUVVGUkxFdEJRM0JETEV0QlFVc3NWVUZCV1N4SlFVRkhRU3hIUVVGTExFdEJRVXNzVVVGQlZTeE5RVU40UXl4TFFVRkxMRlZCUVZrc1IwRkJTeXhMUVVGTExHVkJRV2xDTEV0QlJ6bERRU3hIUVVGTFF5eEhRVUZSTEV0QlFVc3NVVUZCVlN4TFFVRkxMR0ZCUVdVc1NVRkJUU3hEUVVGRExFVkJRVWtzUzBGRGVrUkVMRWxCUVUwc1RVRkJTMEVzUjBGQlN5eFBRVU5pUVN4RFFVTlVMRU5CYTBKQkxGVkJRVlV6UWl4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVOdVFpeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVRlRMRTlCUVU4c1MwRkZNVUlzU1VGQlRUWkNMRVZCUVZNc1MwRkJTeXhUUVVGVExFVkJRemRDTEVkQlFVbEJMRVZCUVZNc1IwRkJTMEVzUjBGQlZTeE5RVUZWTEU5QlFVOHNTMEZGTjBNM1FpeEZRVUZQYWtNc1JVRkJRU3hEUVVOTUxIRkNRVUZ6UWl4SFFVTjBRaXhuUWtGQmFVSXNSMEZEYWtJc1kwRkJaU3hIUVVObUxFOUJRVkVzV1VGRFRHbERMRWRCUjB3c1NVRkJUVGhDTEVWQlFWRXNTMEZCU3l4UlFVRlJMRkZCUVZNc1ZVRkJWeXhWUVVGWExHTkJRV01zUlVGRmNFVldMRVZCUVUxd1FpeEZRVUZMTEZOQlFWY3NVVUZCVlN4UFFVRlRMRk5CUlhwRExFTkJRVU5CTEVWQlFVc3NhVUpCUVcxQ09FSXNSVUZCVFN4VlFVRlpMRWRCUVV0QkxFVkJRVTBzWlVGQmFVSXNTMEZEZWtWV0xFZEJRVTl3UWl4RlFVRkxMRk5CUVZjc1VVRkJWU3hMUVVGUExFOUJRM0JETEVOQlFVTkJMRVZCUVVzc2MwSkJRWGRDT0VJc1JVRkJUU3hsUVVGcFFpeExRVU4yUkZZc1IwRkJUeXhUUVVsWUxFbEJRVWxYTEVWQlFVMUVMRVZCUVUwc1UwRkJVMVlzUTBGQlJ5eEZRVVUxUWl4UFFVRkpjRUlzUlVGQlN5eG5Ra0ZEVUN0Q0xFVkJRVTBzU1VGQlRVRXNSMEZIVUVFc1EwRkRWQ3hEUVUxQkxGRkJRVk1zUTBGRFVDeFBRVUZQTEV0QlFVc3NUVUZCVFN4RFFVTndRaXhEUVUxQkxGVkJRVmNzUTBGRFZDeFBRVUZQTEV0QlFVc3NUVUZCVFN4RFFVTndRaXhEUVUxQkxGVkJRVmNzUTBGRFZDeFBRVUZQTEV0QlFVc3NSMEZCUnl4alFVRmpMRU5CUXk5Q0xFTkJUVUVzVTBGQlZTeERRVU5TTEU5QlFVOHNTMEZCU3l4VFFVRlRMRU5CUTNaQ0xFTkJUMEVzUzBGQlMwTXNSVUZCVlN4RFFVTmlMRWRCUVVrc1EwRkJReXhMUVVGTExGRkJRVk1zVDBGQlR5eExRVVV4UWl4SlFVRk5NVVFzUlVGQlRYRkNMRVZCUVZNc2FVSkJRV2xDY1VNc1EwRkJVU3hGUVVNMVEwTXNSVUZCVXl4RFFVRkRMRVZCUlZvc1VVRkJWME1zUzBGQlN5OUVMRWxCUTFablJTeEhRVUZsTjBRc1JVRkJTU3hQUVVGUk5FUXNRMEZCUXl4SFFVRkxReXhIUVVGbExFdEJRVXNzVDBGQlVVUXNRMEZCUXl4TFFVTm9SVVFzUlVGQlQwTXNRMEZCUXl4RlFVRkpOVVFzUlVGQlNTeEpRVUZKTkVRc1EwRkJReXhGUVVGSkxFdEJRVXNzU1VGQlNVRXNRMEZCUXl4SFFVbDJReXhQUVVGUE4wUXNSMEZCVFN4TFFVRk5MRU5CUVVVc1QwRkJVVFJFTEVOQlFVOHNSVUZCUnl4RlFVRkpMRU5CUXpkRExFTkJUMEVzVFVGQlRVUXNSVUZCVlN4RFFVTmtMRWRCUVVrc1EwRkJReXhMUVVGTExGRkJRVk1zVDBGQlR5eExRVVV4UWl4SlFVRk5NVVFzUlVGQlRYRkNMRVZCUVZNc2FVSkJRV2xDY1VNc1EwRkJVU3hGUVVNNVF5eFBRVUZQTEV0QlFVc3NTMEZCU3pGRUxFVkJRVWtzVDBGQlR5eERRVUZETEVOQlF5OUNMRU5CVTBFc1UwRkJVemhFTEVWQlFVa3NRMEZEV0N4SFFVRkpMRU5CUVVNc1MwRkJTeXhSUVVGVExFOUJRVThzUzBGRE1VSXNTVUZCVFVnc1JVRkJVeXhEUVVGRExFVkJRMmhDTEZGQlFWZERMRXRCUVVzc1QwRkJUeXhMUVVGTExFdEJRVXNzVFVGQlRTeEZRVU55UTBRc1JVRkJUME1zUTBGQlF5eEZRVUZKUnl4SFFVRlRSQ3hGUVVGSExFdEJRVXNzVDBGQlQwWXNRMEZCUXl4RlFVRkhRU3hEUVVGRExFTkJRVU1zUlVGRk5VTXNUMEZCVHpkRUxFZEJRVTBzUzBGQlRTeERRVUZGTEU5QlFWRTBSQ3hEUVVGUExFVkJRVWNzUlVGQlNTeERRVU0zUXl4RFFWVkJMRWxCUVVscVFpeEZRVUZOTEVOQlExSXNUMEZCVHl4TFFVRkxja0lzUlVGQlV5eGpRVUZqY1VJc1EwRkJTU3hEUVVGRExFTkJRekZETEVOQlUwRXNTVUZCU1hOQ0xFVkJRVkVzUTBGRFZpeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVRlRMRTlCUVU4c1MwRkZNVUlzU1VGQlRVTXNSVUZCVVhoRkxFbEJRVUVzUjBGQlN5eExRVUZMTEZGQlFWZHZReXhIUVVGblFtMURMRVZCUVZFelF5eEZRVUZUTEdGQlFXRXNSMEZEYWtZc1QwRkJUM1JDTEVkQlFVMHNTMEZCVFN4RFFVRkZMRTlCUVZGclJTeERRVUZOTEVOQlFVTXNRMEZEZEVNc1EwRlBRU3haUVVGWkxFTkJRVVVzVDBGQlFVTXNSVUZCVVN4blFrRkJRVU1zUlVGQmFVSXNiVUpCUVVGRExFTkJRVzFDTEVWQlFVa3NRMEZCUXl4RlFVRkhMRU5CUTJoRkxFbEJRVTFETEVWQlFVMHNTMEZCU3l4SlFVRkpMRTFCUVUwc1EwRkJSU3hQUVVGQlNDeEZRVUZSTEdkQ1FVRkJReXhEUVVGblFpeERRVUZETEVWQlEzQkVla01zUlVGQlR5eERRVUZGTEVsQlFVRXlReXhEUVVGSkxFVkJSV1lzVDBGQlNVUXNTVUZEUmpGRExFVkJRVXNzYlVKQlFYRkNNRU1zUjBGSGNrSnlSU3hIUVVGTkxFdEJRVTB5UWl4RFFVRkpMRU5CUTNwQ0xFTkJWVUVzUjBGQlIyZENMRVZCUVUwc1EwRkRVQ3hQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEZGQlFWRkJMRU5CUVVrc1JVRkJSU3hKUVVGSlFTeERRVUZKTEVWQlFVa3NSMEZEZGtRc1EwRlJRU3hYUVVGWkxFTkJRMVlzUjBGQlNTeERRVUZETEV0QlFVc3NVVUZCVXl4UFFVRlBMRXRCUXpGQ0xFbEJRVTE2UWl4RlFVRlBMRXRCUVVzc1UwRkJVeXhGUVVNelFpeFBRVUZCUkN4SFFVRm5RaXhMUVVGTExFOUJRVkZETEVOQlFVa3NSVUZETVVKc1FpeEhRVUZOTEV0QlFVMHNRMEZCUlN4UFFVRlJhMElzUTBGQlN5eEZRVUZITEVWQlFVa3NRMEZETTBNc1EwRlBRU3hYUVVGWGNVUXNSVUZCVHl4RFFVTm9RaXhIUVVGSkxFTkJRVU1zUzBGQlN5eFJRVUZUTEU5QlFVOHNTMEZGTVVJc1IwRkJTVUVzUlVGQlRTeFRRVUZYTEVWQlEyNUNMRTlCUVU4c1MwRkhWRUVzUlVGQlVVRXNSVUZCVFN4SlFVRkxReXhIUVVGTmJFUXNSVUZCVXl4alFVRmphMFFzUTBGQlF5eERRVUZETEVWQlJXeEVMRWxCUVUxRExFVkJRVkVzUTBGQlF5eEZRVU5pUXl4RlFVRmpMRU5CUVVNc1JVRkRabmhFTEVWQlFVOHNTMEZCU3l4VFFVRlRMRVZCUTI1Q2VVUXNSVUZGU2l4UlFVRlhaQ3hMUVVGTEwwUXNSMEZEWkN4SFFVRkplVVVzUlVGQlRTeFJRVUZSVml4RFFVRkRMRWRCUVVzc1JVRkJSeXhEUVVONlFtTXNSVUZCVjJRc1JVRkZXQ3hKUVVGSlpTeEZRVUZOTEVWQlIxWXNVVUZCVjBNc1MwRkJUVWdzUlVGRFprVXNSMEZCVHl4TFFVRkxMRTlCUVU5RExFTkJRVVVzUlVGQlJXaENMRU5CUVVNc1JVRkJTV0VzUlVGQldVY3NRMEZCUlN4RlFVTXhRMGdzUlVGQldVY3NRMEZCUlN4RlFVRkpMRVZCU1doQ04wTXNSMEZCVTJRc1JVRkJTekpETEVOQlFVTXNRMEZCUXl4SlFVTnNRbVVzUjBGQlR6RkVMRVZCUVVzeVF5eERRVUZETEVkQlIyWXNTVUZCVFdsQ0xFVkJRVWtzUzBGQlN5eE5RVUZOUml4RFFVRkhMRVZCUTNoQ1NDeEZRVUZOV2l4RFFVRkRMRVZCUVVscFFpeEZRVU5ZU2l4RlFVRlpZaXhEUVVGRExFZEJRVXRsTEVWQlFVMHNTVUZCVDBVc1JVRkJTU3hMUVVGUkxFbEJSek5ETEZGQlFWZERMRXRCUVZFM1JDeEZRVU5pY0VJc1IwRkJZU3hSUVVGUmFVWXNRMEZCU1N4RlFVRkpha1lzUjBGQllTeFJRVUZSSzBRc1EwRkJReXhIUVVOeVJIUkVMRWRCUVZFc1MwRkJTeXhQUVVGUlZ5eEZRVUZOTmtRc1JVRkJUVTRzUlVGQlQxb3NRMEZCUXl4RFFVa3ZReXhOUVVGWE4wSXNSMEZCVTJRc1JVRkJTekpETEVOQlFVTXNRMEZCUXl4SlFVTjZRbUVzUlVGQldXSXNRMEZCUXl4RlFVRkpNME1zUlVGQlN6SkRMRU5CUVVNc1IwRk5NMElzVVVGQlYyMUNMRXRCUVU5T0xFVkJRMXBCTEVWQlFWbE5MRU5CUVVjc1NVRkJUU3hKUVVOMlFsQXNSVUZCVFVVc1EwRkJVU3hIUVVOYVN5eEpRVUZSVEN4RlFVRlhSQ3hGUVVGWlRTeERRVUZITEVWQlFVbE9MRVZCUVZsTkxFTkJRVWNzUlVGQlNTeExRVUZMTEU5QlFVOU1MRU5CUVZFc1JVRkJSVXNzUTBGQlJ5eEhRVWw0Uml4UFFVRlBhRVlzUjBGQlRTeExRVUZOTEVOQlFVVXNUMEZCVVhsRkxFTkJRVTBzUlVGQlJ5eEZRVUZKTEVWQlFVVXNWVUZCVlN4RFFVTjRSQ3hEUVU5QkxGRkJRVk1zUTBGRFVDeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVRlRMRTlCUVU4c1MwRkRNVUlzU1VGQlRWRXNSVUZCVlN4RFFVRkRMRVZCUTJwQ0xGRkJRVmR3UWl4TFFVRkxMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzUlVGRGNrTnZRaXhGUVVGUmNFSXNRMEZCUXl4RlFVRkpMRXRCUVVzc1QwRkJUMEVzUTBGQlF5eEpRVUZOTEVWQlFVa3NSVUZCU1N4RFFVRkRMRXRCUVVzc1QwRkJUMEVzUTBGQlF5eEZRVVY0UkN4UFFVRlBOMFFzUjBGQlRTeExRVUZOTEVOQlFVVXNUMEZCVVdsR0xFTkJRVkVzUlVGQlJ5eEZRVUZKTEVOQlF6bERMRU5CVFVFc1NVRkJTU3hQUVVGUkxFTkJRMVlzVDBGQlR5eExRVUZMTEZGQlFWVXNTMEZCU3l4UFFVRlBMRTlCUVZNc1JVRkJTU3hIUVVOcVJDeERRVTFCTEVsQlFVa3NWVUZCVnl4RFFVTmlMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzVDBGQlR5eFZRVUZaTEVWQlFVa3NSMEZEY0VRc1EwRk5RU3hKUVVGSkxGRkJRVk1zUTBGRFdDeFBRVUZQTEV0QlFVc3NVVUZCVlN4TFFVRkxMRTlCUVU4c1VVRkJWU3hGUVVGSkxFZEJRMnhFTEVOQlRVRXNTVUZCU1N4UFFVRlJMRU5CUTFZc1QwRkJUeXhMUVVGTExGRkJRVlVzUzBGQlN5eFBRVUZQTEU5QlFWTXNSVUZCU1N4SFFVTnFSQ3hEUVUxQkxFbEJRVWtzVFVGQlR5eERRVU5VTEU5QlFVOHNTMEZCU3l4UlFVRlZMRXRCUVVzc1QwRkJUeXhOUVVGUkxFVkJRVWtzUjBGRGFFUXNRMEZOUVN4SlFVRkpMRTlCUVZFc1EwRkRWaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEU5QlFVOHNUMEZCVXl4RlFVRkpMRWRCUTJwRUxFTkJUVUVzU1VGQlNTeFRRVUZWTEVOQlExb3NUMEZCVHl4TFFVRkxMRkZCUVZVc1MwRkJTeXhQUVVGUExGTkJRVmNzUlVGQlNTeEhRVU51UkN4RFFVMUJMRWxCUVVrc1UwRkJWU3hEUVVOYUxFOUJRVThzUzBGQlN5eFJRVUZWTEV0QlFVc3NUMEZCVHl4VFFVRlhMRVZCUVVrc1IwRkRia1FzUTBGTlFTeEpRVUZKTEdOQlFXVXNRMEZEYWtJc1QwRkJUeXhMUVVGTExGRkJRVlVzUzBGQlN5eFBRVUZQTEdOQlFXZENMRVZCUVVrc1IwRkRlRVFzUTBGUFFTeEpRVUZKTEZOQlFWVXNRMEZEV2l4UFFVRlBMRXRCUVVzc1ZVRkJXU3hKUVVNeFFpeERRVTFCTEVsQlFVa3NaVUZCWjBJc1EwRkRiRUlzVDBGQlR5eExRVUZMTEZGQlFWVXNTMEZCU3l4UlFVRlJMRTlCUVZNc1NVRkRPVU1zUTBGTlFTeEpRVUZKTEc5Q1FVRnhRaXhEUVVOMlFpeFBRVUZQTEV0QlFVc3NVVUZCVlN4TFFVRkxMRkZCUVZFc1dVRkJZeXhKUVVOdVJDeERRVkZCTEU5QlFVOURMRVZCUVU4c1EwRkxXaXhIUVVwSkxFTkJRVU1zUzBGQlN5eFRRVUZYTEVOQlFVTkJMRVZCUVUwc1UwRkplRUlzUTBGQlF5eExRVUZMTEVsQlFVa3NUMEZCVDBFc1JVRkJUU3hIUVVGSExFVkJRelZDTEUxQlFVOHNSMEZIVkN4VFFVRlRReXhGUVVGSFF5eEZRVUZKUXl4RlFVRkpMRU5CUld4Q0xFOUJRVWxFTEVsQlFVOHNVVUZCWVVFc1NVRkJUeXhGUVVGVlF5eEpRVUZQTEZGQlFXRkJMRWxCUVU4c1JVRkROMFJFTEVsQlFVOURMRU5CUTJoQ0xFTkJSVUVzVVVGQlYySXNTMEZCU3pGRkxFZEJRMlFzUjBGQlNTeERRVUZEY1VZc1JVRkJSeXhMUVVGTExFOUJRVTlZTEVOQlFVTXNSVUZCUjFVc1JVRkJUU3hQUVVGUFZpeERRVUZETEVOQlFVTXNSVUZEY2tNc1RVRkJUeXhIUVVkWUxFMUJRVThzUlVGRFZDeERRVU5HTEVWRE9UTkNRU3hKUVVGTll5eEhRVUZWTEcxQ1FVZG9RaXhUUVVGVFF5eEhRVUZwUWtNc1JVRkJUME1zUlVGQlN5eERRVU53UXl4TlFVRkpMRU5CUVVORUxFZEJRVk1zUTBGQlEwRXNSVUZCVFN4UlFVTmFSU3hIUVVGVExGRkJRVkVzTUVKQlFUQkNMRVZCUTNwRExFTkJRVU5FTEVkQlFVOHNRMEZCUTBFc1JVRkJTU3hSUVVObVF5eEhRVUZUTEZGQlFWRXNkMEpCUVhkQ0xFVkJRM1pEUkN4RlFVRk5SQ3hGUVVOU1JTeEhRVUZUTEZGQlEyUXNiVUpCUTBFc2NVVkJRWEZGUml4RlFVRk5MRTFCUVUwc1EwRkJReXhaUVVGWlF5eEZRVUZKTEUxQlFVMHNRMEZCUXl4RlFVTXpSeXhGUVVWUExFbEJSVmdzUTBGalFTeEpRVUZ4UWtNc1IwRkJja0lzVFVGQmNVSkRMRU5CUVZNc1EwRkpOVUlzV1VGQldVTXNSVUZCVVN4RFFVbHNRaXhMUVVGTExFVkJRVWxCTEVWQlFVOHNUVUZKYUVJc1MwRkJTeXhGUVVGSlFTeEZRVUZQTEVsQlNXaENMRXRCUVVzc1VVRkJWVUVzUlVGQlR5eFRRVUZYTEV0QlNXcERMRXRCUVVzc1owSkJRV3RDTEVWQlEzcENMRU5CVVVFc1QwRkJUeXhSUVVGUlF5eEZRVUZSUXl4RlFVRmpMRXRCUVUwc1EwRkRla01zUjBGQlNTeERRVUZEUkN4RlFVTklMRTFCUVUwc1NVRkJTVVVzUjBGQmNVSXNhMFJCUVd0RUxFVkJSMjVHTEVsQlFVMURMRVZCUVZWSUxHRkJRV3RDU1N4SFFVRlZTaXhGUVVGVExFbEJRVWxKTEVkQlFWRktMRVZCUVZGRExFTkJRVmNzUlVGRmNFWXNSMEZCU1Vrc1JVRkJVeXhsUVVOWUxFMUJRVTBzU1VGQlNVTXNSMEZCY1VKSUxFTkJRVThzUlVGRmRFTXNUMEZCVHl4SlFVRkpUQ3hGUVVGVExFTkJRVVVzVVVGQlFVc3NRMEZCVVN4RFFVRkRMRU5CUlc1RExFTkJVVUVzVDBGQlR5eGpRVUZqVWl4RlFVRlBReXhGUVVGTExFTkJReTlDTEVsQlFVMVhMRVZCUVdGRExFZEJRV2xDWWl4RFFVRkxMRVZCUTNaRFl5eEZRVUZYUkN4SFFVRnBRbG9zUTBGQlJ5eEZRVVV6UW1Nc1JVRkJaMEpvUWl4SFFVRnBRbUVzUlVGQldVVXNRMEZCVVN4RlFVVXpSQ3hQUVVGSlF5eEhRVUZwUWl4TFFVTmFMRWxCUVVsYUxFVkJRVk1zUTBGRGJFSXNUVUZCVDFNc1JVRkRVQ3hKUVVGTFJTeERRVU5RTEVOQlFVTXNSVUZGVFVNc1EwRkZXQ3hEUVZGQkxFOUJRVThzVFVGQlRXWXNSVUZCVDJkQ0xFVkJRVlVzUTBGRE5VSXNTVUZCVFVNc1JVRkJUVU1zUlVGQlV5eHBRa0ZCYVVKR0xFTkJRVkVzUlVGRE5VTkhMRVZCUVV0T0xFZEJRV2xDWWl4RFFVRkxMRVZCUXpkQ0xFOUJRVTlITEVWQlFWTXNZMEZCWTJkQ0xFVkJRVWxCTEVWQlFVY3NTMEZCUzBZc1EwRkJSeXhEUVVGRExFTkJRMmhFTEVOQlVVRXNUMEZCVHl4UFFVRlBhRUlzUlVGQlMyVXNSVUZCVlN4RFFVTXpRaXhKUVVGTlF5eEZRVUZOUXl4RlFVRlRMR2xDUVVGcFFrWXNRMEZCVVN4RlFVTTFRMGNzUlVGQlMwNHNSMEZCYVVKYUxFTkJRVWNzUlVGRE0wSXNUMEZCVDBVc1JVRkJVeXhqUVVGalowSXNSVUZCUnl4TlFVRk5SaXhEUVVGSExFVkJRVWRGTEVOQlFVVXNRMEZEYWtRc1EwRlZRU3hQUVVGUExGRkJRVkZETEVWQlFVMURMRVZCUVUwc1EwRkRla0lzUjBGQlRTeERRVUZEUXl4RlFVRkhReXhEUVVGRExFZEJRVXRJTEVkQlFWRXNTVUZCU1N4TlFVRk5MRWxCUVVzc1EwRkJReXhGUVVONFF5eEhRVUZKUlN4SFFVRkxReXhGUVVGSExFTkJRMVlzU1VGQlNYWkNMRVZCUVU5M1FpeEZRVU5ZTEVkQlFVa3NRMEZEUm5oQ0xFVkJRVkY1UWl4RlFVRlRMRkZCUVZGSUxFVkJRVWRFTEVOQlFVa3NSVUZEYUVOSExFVkJRV1Y0UWl4RlFVRk5MRTlCUTNaQ0xFOUJRVk4xUWl4RlFVRkhMRU5CUTFaRExFVkJRV1VzUlVGRGFrSXNRMEZGUVN4SlFVRkpka0lzUlVGQlMzbENMRVZCUTFRc1IwRkJTU3hEUVVOR2VrSXNSVUZCVFhkQ0xFVkJRVk1zVVVGQlVVWXNSVUZCUjBZc1EwRkJTU3hGUVVNNVFrc3NSVUZCWVhwQ0xFVkJRVWtzVDBGRGJrSXNUMEZCVTNOQ0xFVkJRVWNzUTBGRFZrY3NSVUZCWVN4RlFVTm1MRU5CUlVFc1IwRkJTVVlzUjBGQlowSkZMRVZCUTJ4Q0xFOUJRVTkyUWl4RlFVRlRMR05CUVdOSUxFVkJRVTlETEVOQlFVY3NSVUZITVVNc1IwRkJTWFZDTEVWQlFXTXNRMEZEYUVJc1NVRkJUVkFzUlVGQlRVTXNSVUZCVXl4UlFVRlJTeXhGUVVGSFJpeERRVUZKTEVWQlEzQkRMRWRCUVVsS0xFVkJRVWtzVVVGRFRpeFBRVUZQWkN4RlFVRlRMRTFCUVUxSUxFVkJRVTlwUWl4RFFVRkhMRU5CUlhCRExGTkJRVmRUTEVWQlFWa3NRMEZEY2tJc1NVRkJUVlFzUlVGQlRVTXNSVUZCVXl4UlFVRlJTU3hGUVVGSFJDeERRVUZKTEVWQlEzQkRMRWRCUVVsS0xFVkJRVWtzVVVGRFRpeFBRVUZQWkN4RlFVRlRMRTlCUVU5R0xFVkJRVXRuUWl4RFFVRkhMRU5CUlc1RExFTkJRMFlzUTBGRFFTeFBRVUZQWkN4RlFVRlRMRkZCUVZFc1lVRkJZeXhqUVVGamFVSXNRMEZCU1N3clFrRkJLMElzUTBGRGVrWXNRMEZQUVN4UFFVRlBMRmRCUVZkUExFVkJRVWNzUTBGRGJrSXNUMEZCVVVFc1IwRkJTMEVzUlVGQlJTeHBRa0ZCYjBJc1JVRkRja01zUTBGTlFTeEpRVUZKTEU5QlFWRXNRMEZEVml4UFFVRlBMRXRCUVVzc1VVRkJWU3hMUVVGTExFVkJRVWtzU1VGRGFrTXNRMEZOUVN4SlFVRkpMRXRCUVUwc1EwRkRVaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEVWQlFVa3NTVUZEYWtNc1EwRk5RU3hKUVVGSkxGTkJRVlVzUTBGRFdpeFBRVUZQTEV0QlFVc3NaMEpCUVd0Q0xFbEJRMmhETEVOQlRVRXNTVUZCU1N4bFFVRm5RaXhEUVVOc1FpeFBRVUZQTEV0QlFVc3NVVUZCVlN4TFFVRkxMRkZCUVZFc1QwRkJVeXhKUVVNNVF5eERRVTFCTEVsQlFVa3NiMEpCUVhGQ0xFTkJRM1pDTEU5QlFVOHNTMEZCU3l4UlFVRlZMRXRCUVVzc1VVRkJVU3haUVVGakxFbEJRMjVFTEVOQlQwRXNUMEZCVDBNc1JVRkJUeXhsUVVGblFpeERRVU0xUWl4UFFVRlBMRXRCUVVzc1VVRkJWU3hMUVVGTExGZEJRV1ZCTEVOQlFVc3NSVUZCUlN4SlFVRkpRU3hEUVVGSkxFVkJRVWtzUjBGREwwUXNRMEZUUVN4TlFVRk5RU3hGUVVGUExHVkJRV2RDTEVOQlF6TkNMRWRCUVVrc1EwRkJReXhMUVVGTExGRkJRVk1zVFVGQlR5eExRVU14UWl4SlFVRk5OVUlzUlVGQlVTeExRVUZMTEUxQlFVMHNVVUZCVVRSQ0xFTkJRVWtzUlVGRGJrTXpRaXhGUVVGTkxFdEJRVXNzU1VGQlNTeFJRVUZSTWtJc1EwRkJTU3hGUVVNM1FpeFBRVUZQTEV0QlFVc3NUVUZCVFROQ0xFVkJRVWtzUzBGQlMwUXNSVUZCVHpSQ0xFTkJRVWtzUlVGQlJTeEpRVUZKUVN4RFFVRkpMRU5CUVVNc1JVRkJTU3hEUVVOMlJDeERRVTlCTEZGQlFWRkJMRVZCUVUwc1EwRkRXaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEZGQlFWRXNSMEZCU3l4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRExFVkJRVVVzVVVGQlVTeExRVUZMTEVWQlFVZEJMRU5CUVVrc1JVRkJTU3hGUVVOc1JpeERRVTFCTEZOQlFWVXNRMEZEVWl4UFFVRlBMRXRCUVVzc1JVRkJSU3hSUVVGUkxFbEJRVTBzUzBGQlN5eEZRVUZGTEZGQlFWRXNRMEZETjBNc1EwRlBRU3hSUVVGUlF5eEZRVUZWTEVOQlEyaENMRTlCUVVzc1MwRkJTeXhSUVVOSUxFdEJRVXNzUlVGQlNVRXNSVUZFVlN4RlFVVTFRaXhEUVU5QkxGTkJRVk5CTEVWQlFWVXNRMEZEYWtJc1QwRkJTeXhMUVVGTExGRkJRMGdzUzBGQlN5eEhRVUZMUVN4RlFVUlRMRVZCUlRWQ0xFTkJUMEVzVTBGQlUwRXNSVUZCVlN4RFFVTnFRaXhQUVVGTExFdEJRVXNzVVVGRFNDeExRVUZMTEVkQlFVdEJMRWRCUVZrc1MwRkJTeXhGUVVGSlFTeEZRVVJhTEVWQlJUVkNMRU5CVTBFc1NVRkJTU3hEUVVGRkxFMUJRVUUzUWl4RlFVRlBMRWxCUVVGRExFTkJRVWtzUlVGQlNTeERRVUZETEVWQlFVY3NRMEZEZGtJc1QwRkJTeXhMUVVGTExGRkJRMGhGTEVWQlFWTXNZMEZCWTBnc1IwRkJVeXhMUVVGTExFVkJRVWRETEVkQlFVOHNTMEZCU3l4RFFVRkRMRVZCUkd4RExFbEJSVFZDTEVOQlQwRXNWMEZCVnpaQ0xFVkJRVmNzUTBGRGNFSXNSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkJVeXhOUVVGUExFTkJRVU1zUlVGRE0wSXNTVUZCVFVNc1JVRkJVMFFzUlVGRFZpeEpRVUZKYWtJc1JVRkJaMElzUlVGRGNFSXNUMEZCVVcxQ0xFZEJRVTBzUzBGQlN5eFRRVUZUUVN4RFFVRkRMRU5CUVVNc1JVRkRPVUlzUzBGQlN5eEZRVU5TUXl4RlFVRlZMRU5CUVVNc1JVRkRWQ3hEUVVGRkxFTkJRVVVzUlVGQlNTeExRVU5XTEVWQlFVa3NSVUZGVGl4TFFVRlBMRVZCUVVrc1MwRkJTeXhIUVVGSExFTkJRMnBDTEVsQlFVMURMRVZCUVZGSUxFVkJRVThzUTBGQlF5eEhRVUZMTEV0QlFVc3NSVUZET1VKSkxFVkJRVThzUTBGQlEwUXNSVUZCVVN4RFFVRkRMRXRCUVVzc1JVRkJTU3hMUVVGTExFVkJRVWxCTEVWQlEzSkRSQ3hGUVVGUkxFdEJRVXM1UWl4RlFVRlRMR05CUVdNc1JVRkJSMmRETEVOQlFVa3NRMEZCUXl4RlFVTTFReXhGUVVGSlFTeEZRVU5LTEVkQlFVc3NRMEZEVUN4RFFVVkJMRTlCUVU5R0xFTkJRMVFzUTBGUlFTeFJRVUZSYWtJc1JVRkJWU3hEUVVOb1FpeEpRVUZOUXl4RlFVRk5ReXhGUVVGVExHbENRVUZwUWtZc1EwRkJVU3hGUVVVNVF5eEhRVUZKTEVOQlFVTXNTMEZCU3l4VFFVRlhMRU5CUVVORExFVkJRVWtzVTBGQlYwRXNSVUZCU1N4SFFVRkhMR05CUVdNc1NVRkJUU3hGUVVNNVJDeE5RVUZQTEVOQlFVTXNSVUZIVml4SFFVRkpMRU5CUVVVc1JVRkJRVXNzUTBGQlJTeEZRVUZKTEV0QlExWmpMRVZCUVUwc1JVRkRUa1FzUlVGRlNVWXNSVUZCVlN4RFFVRkRMRVZCUTJwQ0xFdEJRVTlZTEVWQlFVa3NTMEZCU3l4SFFVRkhMRU5CUTJwQ0xFbEJRVTFaTEVWQlFWRXNTMEZCU3l4TlFVRk5MRXRCUVV0cVFpeEZRVUZKTEZOQlFWVnZRaXhIUVVGTlFTeEZRVUZKUkN4RFFVRkhMRU5CUVVNc1JVRkRNVVJFTEVWQlFVOHNRMEZCUTBRc1JVRkJVU3hEUVVGRExFdEJRVXNzUlVGQlNTeExRVUZMTEVWQlFVbEJMRVZCUTI1RFJDeEZRVUZSTEV0QlFVczVRaXhGUVVGVExHTkJRV050UWl4RlFVRkhZU3hEUVVGSkxFTkJRVU1zUlVGRE5VTmlMRVZCUVVsaExFVkJRMHBETEVkQlFVOHNRMEZEVkN4RFFVVkJMRTlCUVU5SUxFTkJRMVFzUTBGUFFTeGpRVUZqU3l4RlFVRmxMRU5CUXpOQ0xFOUJRVXNzUzBGQlN5eFJRVU5JTEV0QlFVc3NVVUZCVVN4TFFVRkxMRTlCUVU4c1JVRkJTVUVzUTBGQllTeEZRVUZGTEUxQlFVMHNSVUZCUjBFc1EwRkJZU3hGUVVRdlF5eERRVUZETEVOQlJUZENMRU5CVDBFc1UwRkJVME1zUlVGQlR5eERRVU5rTEU5QlFVOHNTMEZCU3l4RlFVRkpRU3hGUVVGTkxFZEJRVXNzUzBGQlN5eEZRVUZKUVN4RlFVRk5MRU5CUXpWRExFTkJUMEVzVjBGQlYwRXNSVUZCVHl4RFFVTm9RaXhQUVVGTExFdEJRVXNzVVVGRFNDeERRVUZETEV0QlFVc3NSMEZCVFN4RFFVRkRRU3hGUVVGTkxFVkJSRUVzUlVGRk5VSXNRMEZQUVN4VFFVRlRRU3hGUVVGUExFTkJRMlFzVDBGQlN5eExRVUZMTEZGQlEwZ3NRMEZCUTBFc1JVRkJUU3hIUVVGTkxFTkJRVU1zUzBGQlN5eEZRVVJCTEVWQlJUVkNMRU5CVDBFc1VVRkJVVUVzUlVGQlR5eERRVU5pTEU5QlFVc3NTMEZCU3l4UlFVTklMRXRCUVVzc1IwRkJTMEVzUlVGQlRTeEhRVUZMTEV0QlFVc3NSMEZCUzBFc1JVRkJUU3hGUVVSc1FpeEZRVVUxUWl4RFFVOUJMRTlCUVU5QkxFVkJRVThzUTBGRFdpeE5RVUZKTEVOQlFVTXNTMEZCU3l4VFFVRlhMRU5CUVVOQkxFVkJRVTBzVVVGRGJrSXNSMEZIUml4TFFVRkxMRVZCUVVVc1QwRkJUMEVzUlVGQlRTeERRVUZETEVkQlFVc3NTMEZCU3l4RlFVRkZMRTlCUVU5QkxFVkJRVTBzUTBGQlF5eERRVU40UkN4RFFWTkJMR0ZCUVdGQkxFVkJRVThzUTBGRGJFSXNSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkJVeXhQUVVGUExFdEJRekZDTEVsQlFVMXFRaXhGUVVGSkxFdEJRVXNzUlVGQlNXbENMRVZCUVUwc1JVRkJTU3hMUVVGTExFVkJRVWxCTEVWQlFVMHNSVUZETVVOb1FpeEZRVUZKTEV0QlFVc3NSVUZCU1dkQ0xFVkJRVTBzUlVGQlNTeExRVUZMTEVWQlFVbEJMRVZCUVUwc1JVRkZlRU1zVDBGQlNXcENMRWRCUVV0RExFVkJRMEVzUzBGRlFYQkNMRVZCUVZNc1kwRkJZMjFDTEVWQlFVZERMRU5CUVVNc1EwRkZkRU1zUTBGUlFTeE5RVUZOWjBJc1JVRkJUeXhEUVVOWUxFZEJRVWtzUTBGQlF5eExRVUZMTEZGQlFWTXNUMEZCVHl4TFFVTXhRaXhKUVVGTmFrSXNSVUZCU1N4TFFVRkxMRVZCUVVscFFpeEZRVUZOTEVWQlFVa3NTMEZCU3l4RlFVRkpRU3hGUVVGTkxFVkJRekZEYUVJc1JVRkJTU3hMUVVGTExFVkJRVWxuUWl4RlFVRk5MRVZCUVVrc1MwRkJTeXhGUVVGSlFTeEZRVUZOTEVWQlEzaERMRTlCUVU5d1F5eEZRVUZUTEdOQlFXTnRRaXhGUVVGSFF5eERRVUZETEVOQlEzQkRMRU5CVVVFc1QwRkJUeXhOUVVGTmFVSXNSVUZCVnl4RFFVTjBRaXhIUVVGTkxFTkJRVU5ETEVWQlFVOURMRU5CUVVzc1JVRkJTVVlzUlVGRGNFSXNTMEZCU3l4RFFVRkRSeXhGUVVGSFF5eEpRVUZOUkN4RlFVRkZMRVZCUVVsRExFVkJRVVVzUTBGQlF5eEZRVU40UWl4UFFVTkRMRU5CUVVNc1EwRkJRME1zUlVGQlQwTXNRMEZCVHl4RlFVRkhReXhKUVVOYVJDeEZRVVZOUVN4RlFVRlJMRk5CUVZORExFTkJRVWtzUjBGQlMwUXNSVUZCVVN4WFFVRlhReXhEUVVGSkxFVkJRMjVFTEVOQlFVTkdMRVZCUVU5RExFVkJRVkVzVFVGQlRVTXNRMEZCU1N4RFFVRkRMRVZCUlROQ0xFTkJRVU5HTEVWQlFVMHNUMEZCVHl4RFFVRkRReXhEUVVGUExFTkJRVU1zUlVGQlIwTXNRMEZCU1N4RlFVbzVRaXhEUVVGRFJpeEZRVUZQUlN4RFFVRkpMRVZCVDNaQ0xFTkJRVU1zUTBGQlF5eEZRVUZITEVsQlFVa3NRMEZEV0N4RlFVTkdMRTlCUVVsTUxFZEJRMFpFTEVWQlFVMHNTMEZCUzBNc1EwRkJTeXhGUVVWWVJDeERRVU5VTEVOQlQwRXNUMEZCVHl4SlFVRkpSQ3hGUVVGWExFTkJRM0JDTEVsQlFVbDRReXhGUVVGUkxFdEJRMVpuUkN4RlFVRmxMRVZCUTFobUxFVkJRVlVzUTBGQlF5eEZRVU5tWjBJc1JVRkJUMVFzUlVGQlZTeEpRVUZMVlN4SFFVRk5MRU5CUXpGQ0xFTkJRVVVzUzBGQlRVRXNSVUZCUlN4RlFVRkhMRXRCUVUwc1IwRkJTU3hGUVVOMlFpeERRVUZGTEV0QlFVMUJMRVZCUVVVc1JVRkJSeXhMUVVGTkxFZEJRVWtzUTBGRGVrSXNRMEZCUXl4RlFVTkVReXhGUVVGWkxFMUJRVTBzVlVGQlZTeFBRVUZQTEVkQlFVZEdMRU5CUVVrc1JVRkRNVU5ITEVWQlFVMUVMRVZCUVZVc1MwRkJTeXhEUVVGRFVpeEZRVUZIUXl4SlFVRk5SQ3hGUVVGRkxFdEJRVTlETEVWQlFVVXNTVUZCU1N4RlFVVm9SQ3hSUVVGWFRTeExRVUZMUlN4RlFVTmtTaXhIUVVGblFrVXNSVUZCUlN4UFFVRlRMRWxCUVUwc1JVRkJTU3hIUVVWcVEwWXNTVUZCYVVJc1JVRkRia0pvUkN4RlFVRlJhMFFzUlVGQlJTeE5RVVZPYkVRc1IwRkJVeXhEUVVGRFFTeEhRVUZWTEVOQlFVTnJSQ3hGUVVGRkxFMUJRM3BDYWtJc1JVRkJVU3hMUVVGTE9VSXNSVUZCVXl4alFVRmpTQ3hGUVVGUGEwUXNSVUZCUlN4SlFVRkpMRU5CUVVNc1JVRkhjRVJzUkN4RlFVRlJMRTFCU1Zvc1QwRkJUMGNzUlVGQlV5eE5RVUZOT0VJc1EwRkJUeXhEUVVNdlFpeERRVTlCTEdOQlFXTlBMRVZCUVZjc1EwRkRka0lzVDBGQlQzSkRMRVZCUVZNc1NVRkJTU3hEUVVGRExFbEJRVWtzUlVGQlJTeFBRVUZQY1VNc1EwRkJVeXhEUVVGRExFVkJRM3BETEVsQlFVdFZMRWRCUVUwc1MwRkJTeXhoUVVGaFFTeERRVUZETEVOQlFVTXNSVUZETDBJc1QwRkJVVUVzUjBGQlRVRXNSMEZCU3l4RFFVRkRRU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVU53UXl4RFFVMUJMRlZCUVZjc1EwRkRWQ3hQUVVGTExFdEJRVXNzVVVGRFNDeEpRVUZKTEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1YwRkJUU3hMUVVGTExFVkJRVVVzVFVGQlRTeERRVUZETEVsQlJHNUNjRVFzUlVGRk5VSXNRMEZSUVN4TlFVRk5kVUlzUlVGQlRTeERRVU5XTEU5QlFVc3NTMEZCU3l4UlFVTklMRWRCUVVjc1MwRkJTeXhGUVVGRkxFMUJRVTFCTEVOQlFVa3NRMEZCUXl4SlFVRkpMRXRCUVVzc1JVRkJSU3hOUVVGTlFTeERRVUZKTEVOQlFVTXNSMEZFZUVKMlFpeEZRVVUxUWl4RFFWRkJMRmRCUVZrc1EwRkRWaXhQUVVGTExFdEJRVXNzVVVGRFNDeEhRVUZITEV0QlFVc3NSVUZCUlN4VlFVRlZMRU5CUVVNc1NVRkJTU3hMUVVGTExFVkJRVVVzVlVGQlZTeERRVUZETEVkQlJIaENRU3hGUVVVMVFpeERRVk5CTEZWQlFWVjFRaXhGUVVGTkxFTkJRMlFzVDBGQlN5eExRVUZMTEZGQlEwZ3NSMEZCUnl4TFFVRkxMRVZCUVVVc1ZVRkJWVUVzUTBGQlNTeERRVUZETEVsQlFVa3NTMEZCU3l4RlFVRkZMRlZCUVZWQkxFTkJRVWtzUTBGQlF5eEhRVVJvUTNaQ0xFVkJSVFZDTEVOQlUwRXNVMEZCVTNWRUxFVkJRVmtzUTBGQlJTeFZRVUZCUXl4RlFVRlpMRlZCUVUwc1JVRkJTU3hEUVVGRExFVkJRVWNzUTBGREwwTXNUMEZCU3l4TFFVRkxMRkZCUTBnc1IwRkJSeXhMUVVGTExFVkJRVVVzVTBGQlUwUXNRMEZCVlN4RFFVRkRMRWRCUVVkRExFTkJRVk1zUjBGQlJ5eExRVUZMTEVWQlFVVXNVMEZCVTBRc1EwRkJWU3hEUVVGRExFZEJSSEpFZGtRc1JVRkZOVUlzUTBGalFTeFhRVUZYT0VJc1JVRkJUVkFzUlVGQlRTeERRVU55UWl4UFFVRkxMRXRCUVVzc1VVRkhTQ3hMUVVGTExFVkJRVVVzUzBGQlN5eExRVUZMTEVWQlFVZFBMRVZCUVUxUUxFTkJRVWtzUlVGR05VSklMRVZCUVZNc1VVRkJVU3hMUVVGTExHRkJRV0VzUTBGSE9VTXNRMEZUUVN4aFFVRmhjVU1zUlVGQlR5eERRVU5zUWl4UFFVRlBjRVFzUlVGQlV5eGpRVUZqYjBRc1JVRkJUU3hMUVVGTExFTkJRVU1zUlVGQlIwRXNSVUZCVFN4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVNMVJDeERRVU5HTEVWRGJteENRU3hKUVVGeFFrTXNSMEZCY2tJc1MwRkJNRUlzUTBGTmVFSXNUMEZCVHl4UFFVRlBReXhGUVVGUFF5eEZRVUZUTEZsQlFXRXNRMEZEZWtNc1NVRkJUVU1zUlVGQlVVTXNSVUZCVXl4SlFVRkpMRVZCUVVVc1VVRkJVVWdzUTBGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUlN4TlFVRlBMRVZCUVVjc1EwRkJReXhGUVVVMVJDeE5RVUZQTEVOQlFVTkJMRVZCUVVzc1lVRkJaVVVzUlVGQlRTeFRRVUZYUVN4RlFVRk5MRWxCUVVrc1EwRkJSU3hOUVVGUExFTkJRVVVzUTBGQlF5eEZRVUZGTEUxQlEzWkZMRU5CVDBFc1QwRkJUeXhuUWtGQlowSkdMRVZCUVUwc1EwRkRNMElzVDBGQlQwa3NSMEZCVXl4WlFVRlpTaXhEUVVGSkxFTkJRMnhETEVOQlowSkJMRTlCUVU4c1kwRkJZMHNzUlVGQlR5eERRVU14UWl4UFFVRlBReXhIUVVGalJDeEZRVUZQU2l4RlFVRlRMRmRCUVZjc1EwRkRiRVFzUTBGdFFrRXNUMEZCVHl4UFFVTk1UU3hGUVVGVExFOUJRMVFzUTBGQlJTeFBRVUZCUXl4RlFVRlRMRXRCUVUwc1owSkJRVUZETEVWQlFXdENMRXRCUVUwc1QwRkJRVU1zUlVGQlV5eExRVUZOTEdWQlFVRkRMRVZCUVdsQ0xGTkJRVlVzUlVGQlNTeERRVUZETEVWQlEzaEdMRU5CUTBFc1QwRkJVVVFzUjBGQlZVVXNSMEZCVHl4UFFVRlBTaXhGUVVGUlF5eEZRVUZwUWtVc1EwRkJZeXhIUVVGSExFOUJRVTlLTEVOQlFVMHNRMEZEZWtZc1EwRmxRU3hQUVVGUExHRkJRMHhCTEVWQlFWTXNUMEZEVkN4RFFVRkZMRTlCUVVGRExFVkJRVk1zUzBGQlRTeG5Ra0ZCUVVNc1JVRkJhMElzUzBGQlRTeFBRVUZCUXl4RlFVRlRMRXRCUVUwc1pVRkJRVU1zUlVGQmFVSXNVMEZCVlN4RlFVRkpMRU5CUVVNc1JVRkRlRVlzUTBGRFFTeFBRVUZSUkN4SFFVRlZSU3hIUVVGUExFOUJRVTlLTEVWQlFWRkRMRVZCUVdsQ1JTeERRVUZqTEVkQlFVY3NUMEZCVDBvc1JVRkJVU3hGUVVGSkxFTkJReTlHTEVOQlowSkJMRTlCUVU4c1UwRkJVMEVzUlVGQlV5eFBRVUZSTEVOQlFVVXNUMEZCUVVNc1JVRkJVeXhMUVVGTkxHZENRVUZCUXl4RlFVRnJRaXhMUVVGTkxFOUJRVUZETEVWQlFWTXNTVUZCU3l4RlFVRkpMRU5CUVVNc1JVRkJSeXhEUVVNNVJpeFBRVUZSUVN4SFFVRlZSU3hIUVVGUExFOUJRVTlLTEVWQlFWRkRMRVZCUVdsQ0xFbEJRVWtzUjBGQlJ5eFRRVUZUUml4RFFVRk5MRU5CUTJwR0xFTkJZMEVzVDBGQlR5eGxRVU5NUVN4RlFVRlRMRTlCUTFRc1EwRkJSU3hQUVVGQlF5eEZRVUZUTEV0QlFVMHNaMEpCUVVGRExFVkJRV3RDTEV0QlFVMHNUMEZCUVVNc1JVRkJVeXhKUVVGTExFVkJRVWtzUTBGQlF5eEZRVU0xUkN4RFFVTkJMRTlCUVZGQkxFZEJRVlZGTEVkQlFVOHNUMEZCVDBvc1JVRkJVVU1zUlVGQmFVSXNTVUZCU1N4SFFVRkhMRk5CUVZOR0xFVkJRVkVzUlVGQlNTeERRVU4yUml4RFFWVkJMRTlCUVU4c1ZVRkJWU3hEUVVGRkxFOUJRVUZETEVWQlFWTXNTVUZCU3l4RlFVRkpMRU5CUVVNc1JVRkJSeXhEUVVOMlF5eFBRVUZQU1N4SFFVRlBMRTlCUVU5S0xFTkJRVTBzUlVGQlJTeFZRVUZWTEVOQlEzcERMRU5CV1VFc1QwRkJUeXhMUVVGTFJDeEZRVUZUTEZGQlFWTXNRMEZCUlN4UFFVRkJReXhGUVVGVExFbEJRVXNzUlVGQlNTeERRVUZETEVWQlFVY3NRMEZEY0VRc1QwRkJUMGtzUjBGQlR5eFBRVUZQU2l4RlFVRlJMRXRCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXRFTEVOQlFVMHNRMEZETTBRc1EwRlZRU3hQUVVGUExGVkJRVmNzUTBGRGFFSXNUVUZCVHl4RFFVRkZMRk5CUVZWTkxFZEJRVmtzUTBGQlJTeERRVU51UXl4RFFVTkdMRVZEZEV0QkxGTkJRVk5ETEVkQlFWRkRMRVZCUVZORExFVkJRVThzUTBGREwwSXNTVUZCVFVNc1JVRkJaVU1zUjBGQlQwRXNSVUZCUnl4TlFVRk5MRVZCUVVjc1EwRkJSU3hqUVVGbExFVkJRVXNzUTBGQlF5eEZRVUZGTEZGQlFWRXNTMEZCU3l4RlFVRkZMRkZCUVZFc1JVRkRkRVpETEVWQlFVdEdMRVZCUVZsRUxFTkJRVXNzUlVGQlNVTXNSVUZCV1VZc1EwRkJUeXhGUVVNdlF5eFBRVUZQTEV0QlFVc3NUVUZCVFVzc1JVRkJVeXhYUVVGWFJDeERRVUZGTEVWQlFVVXNSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkRkRVFzUTBGRlFTeFRRVUZUUlN4SFFVRmxReXhGUVVGUlRpeEZRVUZQVHl4RlFVRlBMRU5CUXpWRExFbEJRVTFETEVWQlFWVXNRMEZEWkN4RFFVRkRMRkZCUVZNc1EwRkJReXhGUVVGSFF5eEpRVUZOUVN4RlFVRkZMRXRCUVU4c1JVRkJSU3hKUVVGSkxFVkJRMjVETEVOQlFVTXNWMEZCV1N4RFFVRkRMRVZCUVVkQkxFbEJRVTFCTEVWQlFVVXNVVUZCVlN4RlFVRkZMRTlCUVU4c1JVRkROVU1zUTBGQlF5eFRRVUZWTEVOQlFVTXNSVUZCUjBFc1NVRkJUVUVzUlVGQlJTeE5RVUZSTEVWQlFVVXNUMEZCVTBFc1JVRkJSU3hMUVVGUExFVkJRVVVzVFVGQlVTeEZRVUZGTEVWQlF5OUVMRU5CUTBVc1VVRkRRU3hEUVVGRExFVkJRVWRCTEVsQlFVMHNRMEZEVWl4SlFVRk5ReXhGUVVGUFdpeEhRVUZSTEVWQlFVZFhMRU5CUVVNc1JVRkRla0lzVDBGQlVVTXNSVUZCVVVFc1JVRkJUeXhIUVVGTkxFTkJReTlDTEVOQlEwWXNSVUZEUVN4RFFVRkRMRTlCUVZGYUxFVkJRVThzUTBGRGJFSXNSVUZGVFdFc1JVRkJWU3hEUVVGRExFVkJRMkpETEVWQlFXRkRMRVZCUldwQ0xFOUJRVmNzUTBGQlEwTXNSVUZCVFVNc1EwRkJUU3hKUVVGTFVDeEZRVU16UWl4SFFVRkpSQ3hGUVVGTkxGRkJRVkZQTEVOQlFVa3NSMEZCU3l4RlFVRkhMRU5CUXpWQ1JpeEZRVUZqUlN4RlFVVmtMRWxCUVVsRkxFVkJRVkZFTEVWQlFVOVVMRVZCUVZGT0xFTkJRVXNzUlVGRGFFTmhMRVZCUVZsUUxFVkJRVThzUzBGQlN5eERRVUZGTEVOQlFVTlJMRU5CUVVrc1JVRkJSMFVzUTBGQlRTeERRVUZETEVWQlJYSkRTQ3hGUVVGWllpeEhRVU5rVFN4RlFVRlRRU3hGUVVGUExFdEJRVXNzUTBGQlJTeERRVUZEVVN4RFFVRkpMRVZCUVVkRkxFVkJRVkVzUTBGQlJTeERRVUZETEVWQlF6RkRRU3hIUVVGVExFZEJSVlJXTEVWQlFWTlBMRVZCUjFoR0xFVkJRVkZITEVOQlFVa3NSVUZCU1VVc1EwRkRiRUlzUTBGSFJpeE5RVUZQTEVOQlFVTldMRVZCUVZGTExFVkJRVk5GTEVWQlFWZEVMRU5CUVZjc1EwRkRha1FzUTBGRlpTeFRRVUZTU3l4SFFVRnJRbXhDTEVWQlFWTkRMRVZCUVU5UExFVkJRVTlYTEVWQlFVMHNRMEZEY0VRc1IwRkJTU3hEUVVGRFdpeEZRVUZSU3l4RlFVRlRSU3hGUVVGWFJDeERRVUZYTEVWQlFVbFFMRWRCUVdWT0xFVkJRVk5ETEVWQlFVOVBMRU5CUVVzc1JVRkZPVVZaTEVWQlFXdENia0lzUlVGQlVVMHNSVUZGTVVKakxFVkJRV3RDWWl4RlFVRk5MRTlCUXpOQ1l5eEhRVUZOTEVOQlFVTXNVVUZCVXl4VlFVRlhMRlZCUVZjc1kwRkJZeXhGUVVGRkxGRkJRVkZCTEVOQlFVTXNSMEZCU3l4RFFVTjJSU3hGUVVWSlJDeEZRVUZuUWl4VFFVRlhMRWxCUTNwQ1VDeEZRVUZaWWl4SlFVTmtZU3hGUVVGWlVDeEZRVUZQTEV0QlFVc3NRMEZCUlN4RFFVRkRUU3hEUVVGWExFVkJRVWNzUTBGQlJTeERRVUZETEVkQlJ6RkRReXhKUVVGalVDeEpRVU5vUWtzc1JVRkJVVU1zUTBGQlZ5eEhRVUZMUkN4RlFVRlJReXhEUVVGWExFZEJRVXNzUjBGQlMwOHNSMEZCYlVKT0xFVkJRVmxRTEV0QlNYaEdMRWxCUVUxblFpeEZRVUZYYkVJc1JVRkJVeXhYUVVGWFR5eEZRVUZUVHl4RFFVRkpMRVZCUld4RUxFOUJRVWxGTEVWQlFXZENMRTlCUVZNc1JVRkRjRUpvUWl4RlFVRlRMRmRCUVZkbExFVkJRV2xDUkN4RFFVRkpMRVZCUXpkRExGRkJRVkVzUjBGQlIwVXNRMEZCWlN4RlFVTXhRaXhMUVVGTFJTeERRVUZSTEVWQlJWUkJMRU5CUlZnc1EwTXpSVUVzU1VGQlRVTXNSMEZCYlVJc1EwRkRka0lzUzBGQlRTeHJRa0ZEVGl4UlFVRlRMR3RDUVVOVUxFdEJRVTBzYTBKQlEwNHNTMEZCVFN4clFrRkRUaXhMUVVGTkxHdENRVU5PTEZOQlFWVXNhMEpCUTFZc1MwRkJUU3hyUWtGRFRpeFJRVUZUTERCRlFVTlVMRXRCUVUwc2EwSkJRMDRzUzBGQlRTeHJRa0ZEVGl4TFFVRk5MR3RDUVVOT0xFdEJRVTBzYTBKQlEwNHNTMEZCVFN4clFrRkRUaXhMUVVGTkxHdENRVU5PTEV0QlFVMHNhMEpCUTA0c1MwRkJUU3hyUWtGRFRpeFJRVUZUTEd0Q1FVTlVMRXRCUVUwc2EwSkJRMDRzUzBGQlRTeHJRa0ZEVGl4TFFVRk5MR3RDUVVOT0xFdEJRVTBzUzBGRFVpeEZRVVZOUXl4SFFVRjNRaXhEUVVNMVFpeExRVUZOTEVOQlFVTXNTMEZCVFN4SlFVRkpMRVZCUTJwQ0xGRkJRVk1zUTBGQlF5eExRVUZOTEVsQlFVa3NSVUZEY0VJc1MwRkJUU3hEUVVGRExFdEJRVTBzU1VGQlNTeEZRVU5xUWl4TFFVRk5MRU5CUVVNc1MwRkJUU3hKUVVGSkxFVkJRMnBDTEV0QlFVMHNRMEZCUXl4TFFVRk5MRWxCUVVrc1JVRkRha0lzVTBGQlZTeERRVUZETEUxQlFVOHNTMEZCU3l4RlFVTjJRaXhMUVVGTkxFTkJRVU1zUzBGQlRTeEpRVUZKTEVWQlEycENMRXRCUVUwc1EwRkJReXhMUVVGTkxFbEJRVWtzUlVGRGFrSXNTMEZCVFN4RFFVRkRMRXRCUVUwc1NVRkJTU3hGUVVOcVFpeExRVUZOTEVOQlFVTXNTMEZCVFN4SlFVRkpMRVZCUTJwQ0xFdEJRVTBzUTBGQlF5eExRVUZOTEVsQlFVa3NSVUZEYWtJc1MwRkJUU3hEUVVGRExFdEJRVTBzU1VGQlNTeEZRVU5xUWl4TFFVRk5MRU5CUVVNc1MwRkJUU3hKUVVGSkxFVkJRMnBDTEV0QlFVMHNRMEZCUXl4TFFVRk5MRWxCUVVrc1JVRkRha0lzUzBGQlRTeERRVUZETEV0QlFVMHNTVUZCU1N4RlFVTnFRaXhSUVVGVExFTkJRVU1zUzBGQlRTeEpRVUZKTEVWQlEzQkNMRXRCUVUwc1EwRkJReXhMUVVGTkxFbEJRVWtzUlVGRGFrSXNTMEZCVFN4RFFVRkRMRXRCUVUwc1NVRkJTU3hGUVVOcVFpeExRVUZOTEVOQlFVTXNTMEZCVFN4SlFVRkpMRU5CUTI1Q0xFVkJSVTFETEVkQlFXVkdMRWRCUVdsQ0xGRkJRVkVzVVVGQlVTeFhRVUZaTEVWQlFVVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1JVRkZka1VzVTBGQlUwY3NSMEZCV1VNc1JVRkJTeXhEUVVNdlFpeEpRVUZKUXl4RlFVRlJMRk5CUVZORUxFVkJRVXNzUlVGQlJTeEZRVU0xUWl4SFFVRkpMRTFCUVUxRExFTkJRVXNzUlVGQlJ5eERRVU5vUWtFc1JVRkJVU3hIUVVOU0xGRkJRVk5ETEVWQlFVa3NSVUZCUjBFc1JVRkJTVVlzUlVGQlNTeFBRVUZSUlN4SlFVRkxMRU5CUTI1RExFbEJRVTFETEVWQlFVOUlMRVZCUVVrc1YwRkJWMFVzUTBGQlF5eEZRVVUzUWl4SFFVRkpSaXhGUVVGSlJTeERRVUZETEVWQlFVVXNUMEZCVDA0c1IwRkJhVUlzVDBGQlR5eEpRVUZOTEVkQlF6bERTeXhIUVVGVFNDeEhRVUZoTEZGQlFWRkZMRVZCUVVsRkxFTkJRVU1zUTBGQlF5eE5RVVZ3UXl4VFFVRlhSU3hMUVVGUFVDeEhRVUYxUWl4RFFVTjJReXhIUVVGTkxFTkJRVU5STEVWQlFVdERMRU5CUVVjc1JVRkJTVlFzUjBGQmMwSlBMRU5CUVVjc1JVRkRlRU5FTEVkQlFWRkZMRWRCUVU5R0xFZEJRVkZITEVsQlEzcENUQ3hIUVVGVFJTeEZRVUZQUlN4RlFVVndRaXhEUVVWS0xFTkJRMEVzVDBGQlR5eFRRVUZUU2l4RlFVRlBMRVZCUVVVc1EwRkRNMElzUzBGRFJTeFJRVUZQUVN4RFFVVllMRU5CUlU4c1UwRkJVMDBzUjBGQlZ5eERRVUZGTEdkQ1FVRkJReXhEUVVGblFpeEZRVUZIUXl4RlFVRlRMRWRCUVVrc1EwRkRNMFFzVDBGQlR5eEpRVUZKTEU5QlFVOHNSMEZCUjJJc1IwRkJhVUpaTEVkQlFXMUNMRTFCUVUwc1EwRkJReXhIUVVGSFF5eERRVUZOTEVWQlFVVXNRMEZETjBVc1EwTnNSVUVzU1VGQlRVTXNSMEZCWXl4dlJFRkZjRUlzVTBGQlUwTXNSVUZCVVVNc1JVRkJUME1zUlVGQlVVTXNSMEZCVFVFc1JVRkJSeXhEUVVOMlF5eE5RVUZQTEVOQlFVVXNUVUZCUVVZc1JVRkJUeXhOUVVGUExFTkJRVU1zUTBGQlEwY3NRMEZCUXl4SlFVRk5SaXhGUVVGTFJ5eEhRVUZaUkN4RFFVRkRMRU5CUVVNc1EwRkJSU3hEUVVOMlJDeERRVVZCTEVsQlFVMUZMRWRCUVU4c1QwRkRVRU1zUjBGQll5eExRVUZMUkN4RlFVRkpMRWxCUTNaQ1JTeEhRVUZ2UWl4SlFVRkpMRTlCUVU5RUxFZEJRV0VzUjBGQlJ5eEZRVVZ5UkN4VFFVRlRSU3hIUVVGaFRDeEZRVUZITEVOQlIzWkNMRTlCUVU5QkxFVkJRVVVzVVVGQlVTeE5RVUZQTEUxQlFVMHNSVUZCUlN4UlFVRlJTU3hIUVVGdFFrUXNSVUZCVnl4RFFVTjRSU3hEUVVWQkxGTkJRVk5ITEVkQlFYRkNUaXhGUVVGSExFTkJReTlDTEU5QlFVOUJMRVZCUTBvc1VVRkJVU3hOUVVGUExFVkJRVVVzUlVGRGFrSXNVVUZCVVVrc1IwRkJiVUlzUjBGQlJ5eEZRVU01UWl4WlFVRlpMRU5CUTJwQ0xFTkJSVUVzVTBGQlUwY3NSMEZCVFVNc1JVRkJVME1zUlVGQldTeERRVU5zUXl4UFFVRkpSQ3hKUVVGWkxFdEJRMUFzUzBGRlFTeERRVU5NTEUxQlFVOHNUMEZCVDBFc1JVRkJVU3hKUVVGSlNDeEZRVUZaTEVWQlFVVXNTMEZCU3l4SFFVRkhMRU5CUVVNc1JVRkRha1FzVFVGQlR5eERRVUZETEVOQlFVTk1MRU5CUVVNc1NVRkRVbEVzUlVGQlVTeFZRVUZYVkN4SFFVRk5UeXhIUVVGeFFrNHNRMEZCUXl4SlFVRk5UU3hIUVVGeFFsQXNRMEZCUXl4RFFVRkRMRVZCUVVsVkxFTkJRM0JHTEVOQlJVb3NRMEZGUVN4VFFVRlRReXhIUVVGUFlpeEZRVUZQWXl4RlFVRlJMRU5CUXpkQ0xFMUJRVThzUTBGQlJTeE5RVUZCWkN4RlFVRlBMRTFCUVU4c1EwRkJReXhEUVVGRExFTkJRVVZsTEVWQlFVZERMRU5CUVVNc1NVRkJUVU1zUjBGQllVWXNSVUZCUjBNc1EwRkJReXhGUVVGSExFOUJRVUZHTEVOQlFVOHNRMEZEYkVVc1EwRkZRU3hUUVVGVFNTeEhRVUZQYkVJc1JVRkJUeXhEUVVOeVFpeE5RVUZQTEVOQlFVVXNUVUZCUVVFc1JVRkJUeXhOUVVGUExFTkJRVU1zUTBGQlEwY3NRMEZCUXl4SlFVRk5RU3hEUVVGRkxFTkJRM0JETEVOQlJVRXNVMEZCVTJkQ0xFZEJRVmxETEVWQlFVOHNRMEZETVVJc1QwRkJUMEVzUlVGQlRTeFJRVUZSTERoQ1FVRXJRaXhOUVVGTkxFTkJRelZFTEVOQlJVRXNVMEZCVTBNc1IwRkJZVU1zUlVGQlQwTXNSVUZCU3l4RFFVTm9ReXhKUVVGTlF5eEZRVUZOUXl4SFFVRlhSaXhEUVVGSExFVkJRM2hDUnl4RlFVRk5SQ3hIUVVGWFJpeEZRVUZMTEV0QlFVc3NSVUZETTBKSkxFVkJRVkZHTEVkQlFWZEdMRVZCUVVzc1MwRkJTeXhGUVVNM1Frc3NSVUZCVDBnc1IwRkJWMFlzUlVGQlN5eExRVUZMTEVWQlF6VkNUU3hGUVVGTlNpeEhRVUZYUml4RlFVRkxMRXRCUVVzc1JVRkRNMEpQTEVWQlFWZE1MRWRCUVZkR0xFVkJRVXNzVDBGQlR5eEZRVU5zUTFFc1JVRkJZVTRzUjBGQlYwWXNSVUZCU3l4UFFVRlBMRVZCUTNCRFV5eEZRVUZYVUN4SFFVRlhSaXhGUVVGTExFOUJRVThzUlVGRGJFTlZMRVZCUVZsU0xFZEJRVmRHTEVWQlFVc3NUMEZCVHl4RlFVTnVRMWNzUlVGQldWUXNSMEZCVjBZc1JVRkJTeXhQUVVGUExFVkJRMjVEV1N4RlFVRlpWaXhIUVVGWFJpeEZRVUZMTEU5QlFVOHNSVUZEYmtOaExFVkJRVmRETEVsQlFVOHNRMEZCUlN4TlFVRlBMRTlCUVU5c1FpeEhRVUZaYTBJc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJ5eE5RVUZQTEVOQlFVTXNRMEZCUTJ4RExFTkJRVU1zU1VGQlRVRXNSVUZCUnl4UlFVRlRMRVZCUVVzc1IwRjNTSEJHYlVNc1IwRjJTRTlFTEVkQlFVMHNRMEZEWml4SFFVRkpaaXhGUVVGTkxGRkJRMUlzVDBGQlQyTXNSVUZCVVVNc1EwRkJReXhGUVVWc1FpeFBRVUZSUVN4RlFVRkZMRWxCUVVzc1EwRkZZaXhKUVVGTExFbEJRMGdzVDBGQlR6TkNMRWRCUVUxaExFVkJRVWtzUzBGQlN5eFJRVUZUTEVWQlFVc3NSVUZCUnl4RFFVRkRMRVZCUXpGRExFbEJRVXNzUzBGRFNDeFBRVUZQWWl4SFFVRk5ZU3hGUVVGSkxFdEJRVXNzVDBGQlVTeEZRVUZMTEVWQlFVY3NRMEZCUXl4RlFVVjZReXhKUVVGTExFbEJRMGdzVDBGQlQzaENMRVZCUVZGcFF5eERRVUZSTEVWQlEzcENMRWxCUVVzc1MwRkRTQ3hQUVVGUGFrTXNSVUZCVVcxRExFVkJRVmRMTEVWQlFXTXNSVUZETVVNc1NVRkJTeXhQUVVOSUxFOUJRVTk0UXl4RlFVRlJOa0lzUTBGQlNTeEZRVU55UWl4SlFVRkxMRkZCUTBnc1QwRkJUemRDTEVWQlFWRnZReXhEUVVGVExFVkJRekZDTEVsQlFVc3NVMEZEU0N4UFFVRlBjRU1zUlVGQlVUaENMRU5CUVVjc1JVRkZjRUlzU1VGQlN5eEpRVU5JTEU5QlFVODVRaXhGUVVGUkswSXNRMEZCVVN4RlFVTjZRaXhKUVVGTExFdEJRMGdzVDBGQlR5OUNMRVZCUVZFeVFpeERRVUZITEVWQlEzQkNMRWxCUVVzc1RVRkRTQ3hQUVVGUGFFSXNSMEZCVFdFc1JVRkJTU3hQUVVGUExGRkJRVk1zUjBGQlRTeEZRVUZMTEVWQlFVY3NRMEZCUXl4RlFVTnNSQ3hKUVVGTExFOUJRMGdzVDBGQlQySXNSMEZCVFdFc1JVRkJTU3hQUVVGUExFOUJRVkVzUjBGQlRTeEZRVUZMTEVWQlFVY3NRMEZCUXl4RlFVTnFSQ3hKUVVGTExFbEJRMGdzVDBGQlQzaENMRVZCUVZFclFpeERRVUZSTEVWQlEzcENMRWxCUVVzc1MwRkRTQ3hQUVVGUEwwSXNSVUZCVVRKQ0xFTkJRVWNzUlVGRGNFSXNTVUZCU3l4TlFVTklMRTlCUVU5b1FpeEhRVUZOWVN4RlFVRkpMRTlCUVU4c1VVRkJVeXhIUVVGUExFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlEyNUVMRWxCUVVzc1QwRkRTQ3hQUVVGUFlpeEhRVUZOWVN4RlFVRkpMRTlCUVU4c1QwRkJVU3hIUVVGUExFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlJXeEVMRWxCUVVzc1NVRkRTQ3hQUVVGUGVFSXNSVUZCVVN0Q0xFTkJRVkVzUlVGRGVrSXNTVUZCU3l4TFFVTklMRTlCUVU4dlFpeEZRVUZSTWtJc1EwRkJSeXhGUVVWd1FpeEpRVUZMTEVsQlEwZ3NUMEZCVHpOQ0xFVkJRVkZuUXl4RFFVRlZMRVZCUXpOQ0xFbEJRVXNzVFVGRFNDeFBRVUZQYUVNc1JVRkJVVFJDTEVOQlFVc3NSVUZGZEVJc1NVRkJTeXhMUVVOSUxFOUJRVTgxUWl4RlFVRlJNa0lzUTBGQlJ5eEZRVU53UWl4SlFVRkxMRWxCUTBnc1QwRkJUek5DTEVWQlFWRXJRaXhEUVVGUkxFVkJRM3BDTEVsQlFVc3NTMEZEU0N4UFFVRlBMMElzUlVGQlVUSkNMRU5CUVVjc1JVRkRjRUlzU1VGQlN5eEpRVU5JTEU5QlFVOHpRaXhGUVVGUkswSXNRMEZCVVN4RlFVTjZRaXhKUVVGTExFdEJRMGdzVDBGQlR5OUNMRVZCUVZFeVFpeERRVUZITEVWQlEzQkNMRWxCUVVzc1NVRkRTQ3hQUVVGUE0wSXNSVUZCVVN0Q0xFTkJRVkVzUlVGRGVrSXNTVUZCU3l4SlFVTklMRTlCUVU4dlFpeEZRVUZSSzBJc1EwRkJVU3hGUVVONlFpeEpRVUZMTEV0QlEwZ3NUMEZCVHk5Q0xFVkJRVkV5UWl4RFFVRkhMRVZCUTNCQ0xFbEJRVXNzU1VGRFNDeFBRVUZQTTBJc1JVRkJVU3RDTEVOQlFWRXNSVUZEZWtJc1NVRkJTeXhMUVVOSUxFOUJRVTh2UWl4RlFVRlJNa0lzUTBGQlJ5eEZRVU53UWl4SlFVRkxMRWxCUTBnc1QwRkJUek5DTEVWQlFWRm5ReXhEUVVGVkxFVkJRek5DTEVsQlFVc3NUVUZEU0N4UFFVRlBhRU1zUlVGQlVUUkNMRU5CUVVzc1JVRkRkRUlzU1VGQlN5eEpRVU5JTEU5QlFVOVVMRWRCUVU5bExFTkJRVk1zUlVGRGVrSXNTVUZCU3l4TFFVTklMRTlCUVU5bUxFZEJRVTlaTEVOQlFWRXNSVUZEZUVJc1NVRkJTeXhOUVVOSUxFOUJRVTh2UWl4RlFVRlJlVUlzUTBGQlJ5eEZRVVZ3UWl4SlFVRkxMRWxCUTBnc1QwRkJUMlFzUjBGQlRXRXNSVUZCU1N4VlFVRlZMRVZCUVVjc1EwRkJReXhGUVVWcVF5eEpRVUZMTEU5QlEwZ3NUMEZCVDNoQ0xFVkJRVkUyUWl4RFFVRkpMRVZCUTNKQ0xFbEJRVXNzUzBGRFNDeFBRVUZQTjBJc1JVRkJVVzFETEVWQlFWZExMRVZCUVdNc1JVRkZNVU1zU1VGQlN5eEpRVU5JTEU5QlFVOTRReXhGUVVGUkswSXNRMEZCVVN4RlFVTjZRaXhKUVVGTExFdEJRMGdzVDBGQlR5OUNMRVZCUVZFeVFpeERRVUZITEVWQlJYQkNMRWxCUVVzc1NVRkRUQ3hKUVVGTExFbEJRMGdzVDBGQlR6TkNMRVZCUVZGNVFpeERRVUZITEVWQlEzQkNMRWxCUVVzc1RVRkRTQ3hQUVVGUFpDeEhRVUZOWVN4RlFVRkpMRk5CUVZNc1VVRkJVeXhIUVVGUExFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlEzSkVMRWxCUVVzc1QwRkRTQ3hQUVVGUFlpeEhRVUZOWVN4RlFVRkpMRk5CUVZNc1QwRkJVU3hIUVVGUExFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlEzQkVMRWxCUVVzc1RVRkRTQ3hQUVVGUFlpeEhRVUZOWVN4RlFVRkpMRk5CUVZNc1VVRkJVeXhIUVVGTkxFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlEzQkVMRWxCUVVzc1QwRkRTQ3hQUVVGUFlpeEhRVUZOWVN4RlFVRkpMRk5CUVZNc1QwRkJVU3hIUVVGTkxFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlJXNUVMRWxCUVVzc1NVRkRUQ3hKUVVGTExFdEJRMGdzVDBGQlQxWXNSMEZCVHl4SlFVRkpMRTlCUVU4c1VVRkJVV2xDTEVWQlFWTXNUVUZCVFN4VFFVRlRTaXhGUVVGSkxFMUJRVTBzUzBGQlN5eEZRVUZITEVOQlFVTXNSVUZET1VVc1NVRkJTeXhOUVVOSUxFOUJRVTlpTEVkQlFVOHNTVUZCU1N4UFFVRlBMRkZCUVZGcFFpeEZRVUZUTEUxQlFVMHNTMEZCUzBvc1JVRkJTU3hOUVVGTkxFbEJRVWtzUlVGQlJ5eERRVUZETEVWQlIzcEZMRWxCUVVzc1NVRkRTQ3hQUVVGUFVpeEhRVUZQTEc5Q1FVRnZRaXhGUVVOd1F5eFJRVU5GTEU5QlFVOXJRaXhGUVVGUlF5eERRVUZETEVOQlEzQkNMRU5CUTBZc1IwRkZiVUptTEVOQlFVc3NSMEZCU3l4RFFVTTNRaXhqUVVGbGVFSXNSVUZEYWtJc1JVRkZRU3hQUVVGQmQwTXNSVUZCU3l4TlFVRlJhRUlzUlVGRlRtZENMRU5CUTFRc1EwRkZRU3hKUVVGTlJTeEhRVUV3UWl4RFFVTTVRaXhMUVVGTkxFTkJRMG9zVlVGQlZ5eExRVU5ZTEZGQlFWTXNUMEZEV0N4RlFVTkJMRTFCUVU4c1EwRkRUQ3hSUVVGVExFbEJRMVFzVlVGQlZ5eExRVU5ZTEUxQlFVOHNUVUZEVUN4TFFVRk5MRTFCUTFJc1JVRkRRU3hKUVVGTExFTkJRMGdzVVVGQlV5eEpRVU5VTEZWQlFWY3NTVUZEWWl4RlFVTkJMRkZCUVZNc1EwRkRVQ3hOUVVGUExFMUJRMUFzUzBGQlRTeE5RVU5TTEVWQlEwRXNWVUZCVnl4SlFVTllMRlZCUVZjc1NVRkRXQ3hMUVVGTkxFTkJRMG9zVVVGQlV5eEpRVU5VTEZWQlFWY3NTVUZEWWl4RlFVTkJMRTlCUVZFc1EwRkRUaXhSUVVGVExFbEJRMVFzVlVGQlZ5eEpRVU5pTEVWQlEwRXNUMEZCVVN4RFFVTk9MRkZCUVZNc1NVRkRWQ3hWUVVGWExFbEJRMklzUTBGRFJpeEZRVVZCTEZOQlFWTkRMRWRCUVdGRExFVkJRVTFETEVWQlFWRkRMRVZCUVZrc1EwRkRPVU1zUjBGQlRTeERRVUZGTEV0QlFVRkRMRVZCUVUwc1RVRkJRWHBDTEVOQlFVMHNSVUZCU1hOQ0xFVkJSWGhDTEVkQlFVbEhMRWxCUVZNc1ZVRkRXQ3hOUVVGUExFTkJRMHdzVVVGQlV5eEhRVU5VTEVsQlFVdDZRaXhEUVVOUUxFVkJSMFlzU1VGQlRUQkNMRVZCUVZGR0xFVkJRVmRETEVOQlFVa3NSVUZGZWtKRkxFVkJRVTFRTEVkQlFYZENTeXhEUVVGSkxFVkJTM1JETEVkQlNra3NUMEZCVDBVc1IwRkJVU3hYUVVOcVFrRXNSVUZCVFVFc1JVRkJTVVFzUTBGQlN5eEhRVWRpUXl4RlFVTkdMRTFCUVU4c1EwRkRUQ3hSUVVGVExFZEJRMVFzU1VGQlFVRXNRMEZEUml4RFFVbEtMRU5CUlVFc1UwRkJVME1zUjBGQlYwTXNSVUZCVHl4RFFVVjZRaXhOUVVGUExFTkJRVU1zU1VGRVIwRXNSVUZCVFN4SlFVRkxReXhIUVVGTlFTeEZRVUZGTEV0QlFVc3NSVUZCUlN4UFFVRlBMRU5CUVVORExFVkJRVWNzU1VGQlRTeEhRVUZIUVN4RFFVRkRMRWxCUVVrc1JVRkJSU3hOUVVGTkxFbEJRVXNzUlVGQlJTeERRVU12UkN4SlFVRkxSaXhEUVVGTExFTkJRekZDTEVOQlJVRXNVMEZCVTBjc1IwRkJUVU1zUlVGQlQzSkVMRVZCUVU5elJDeEZRVUZWTEVOQlEzSkRMRWxCUVUxRExFVkJRVlZHTEVWQlFVMHNUVUZCVFhKRUxFTkJRVXNzUlVGRmFrTXNSMEZCU1hWRUxFVkJRVk1zUTBGRFdDeEpRVUZOUXl4RlFVRk5MRU5CUVVNc1JVRkRWRU1zUlVGQllTeEZRVU5xUWl4UlFVRlhka1FzUzBGQlMyOUVMRVZCUTJRc1IwRkJTVWtzUjBGQlpVb3NSVUZCVlhCRUxFTkJRVU1zUlVGQlJ5eERRVU12UWl4SlFVRk5ZU3hGUVVGSmRVTXNSVUZCVTNCRUxFTkJRVU1zUlVGRGJFSlpMRVZCUVZORExFVkJRVVVzVDBGQlUwRXNSVUZCUlN4UFFVRlRMRVZCUVVrc1JVRkRha01zUTBGQlEwRXNSVUZCUlN4VFFVRlhRU3hGUVVGRkxGRkJRMnhDZVVNc1JVRkJTWHBETEVWQlFVVXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhGUVVGSlFTeEZRVUZGTEUxQlFVMTNReXhGUVVGUkxFMUJRVTFGTEVWQlFWbEJMRVZCUVdFelF5eERRVUZOTEVOQlFVTXNSMEZGT1VVeVF5eEhRVUZqTTBNc1EwRkRhRUlzUTBGRlJpeE5RVUZQTEVOQlFVTjVReXhGUVVGVFF5eERRVUZITEVOQlEzUkNMRXRCUTBVc1QwRkJUeXhEUVVGRFJDeEZRVUZUTEVOQlFVTXNRMEZCUXl4RFFVVjJRaXhEUVVWQkxGTkJRVk5KTEVkQlFXOUNTaXhGUVVGVExFTkJRM0JETEVsQlFVMUxMRVZCUVZkMFF5eEhRVUZWTEVOQlEzcENMRTlCUVZGQkxFVkJRVThzUTBGRFlpeEpRVUZMTEVsQlEwZ3NUVUZCVHl4alFVTlVMRWxCUVVzc1NVRkRTQ3hOUVVGUExGTkJRMVFzU1VGQlN5eEpRVU5JTEUxQlFVOHNVMEZEVkN4SlFVRkxMRWxCUTB3c1NVRkJTeXhKUVVOSUxFMUJRVThzVDBGRFZDeEpRVUZMTEVsQlEwZ3NUVUZCVHl4TlFVTlVMRWxCUVVzc1NVRkRTQ3hOUVVGUExGVkJRMVFzU1VGQlN5eEpRVU5NTEVsQlFVc3NTVUZEU0N4TlFVRlBMRkZCUTFRc1NVRkJTeXhKUVVOSUxFMUJRVThzVDBGRFZDeEpRVUZMTEVsQlEwd3NTVUZCU3l4SlFVTklMRTFCUVU4c1ZVRkRWQ3hKUVVGTExFbEJRMGdzVFVGQlR5eGhRVU5VTEVsQlFVc3NTVUZEU0N4TlFVRlBMRmRCUTFRc1NVRkJTeXhKUVVOSUxFMUJRVThzVlVGRFZDeFJRVU5GTEU5QlFVOHNTVUZEV0N4RFFVTkdMRVZCUlVsMVF5eEZRVUZQTEV0QlExQkRMRVZCUTBvc1QwRkJTME1zUlVGQldWSXNSVUZCVVN4RFFVRkRMRWxCUTNoQ1RTeEZRVUZQUnl4SFFVRlRMRTlCUVU5VUxFVkJRVkVzUTBGQlF5eEhRVWMzUWxFc1JVRkJXVklzUlVGQlVTeERRVUZETEVsQlEyNUNUU3hKUVVOSVFTeEZRVUZQTEVsQlFVbEpMRWRCUVdkQ1ZpeEZRVUZSTEVOQlFVTXNSMEZGZEVOUExFVkJRV2xDVUN4RlFVRlJMRWRCUjNSQ1VTeEZRVUZaVWl4RlFVRlJMRU5CUVVNc1NVRkRlRUpCTEVWQlFWRXNSMEZCUzBFc1JVRkJVU3hGUVVGSkxFZEJRVXNzUlVGQlNTeEhRVWN2UWxFc1JVRkJXVklzUlVGQlVTeERRVUZETEVsQlEzQkNRU3hGUVVGUkxFVkJRVWtzU1VGQlRVRXNSVUZCVVN4SlFVRk5MRVZCUTJ4RFFTeEZRVUZSTEVkQlFVc3NSMEZEU2tFc1JVRkJVU3hKUVVGTkxFbEJRVTFCTEVWQlFWRXNTVUZCVFN4SlFVTXpRMEVzUlVGQlVTeEZRVUZKTEVsQlNWcEJMRVZCUVZFc1NVRkJUU3hIUVVGTFFTeEZRVUZSTEVsQlF6ZENRU3hGUVVGUkxFVkJRVWtzUTBGQlEwRXNSVUZCVVN4SFFVZHNRbEVzUlVGQldWSXNSVUZCVVN4RFFVRkRMRWxCUTNoQ1FTeEZRVUZSTEVWQlFVbFhMRWRCUVZsWUxFVkJRVkVzUTBGQlF5eEhRVmsxUWl4RFFWUk5MRTlCUVU4c1MwRkJTMEVzUTBGQlR5eEZRVUZGTEU5QlFVOHNRMEZCUTFrc1JVRkJSME1zU1VGQlRTeERRVU5xUkN4SlFVRk5ha0lzUlVGQlNWTXNSVUZCVVZFc1EwRkJReXhGUVVOdVFpeFBRVUZKYWtJc1NVRkRSbWRDTEVWQlFVVm9RaXhEUVVGRExFVkJRVWxKTEVWQlFWRmhMRU5CUVVNc1IwRkhXRVFzUTBGRFZDeEZRVUZITEVOQlFVTXNRMEZCUXl4RlFVVlRUaXhGUVVGTlF5eERRVUZqTEVOQlEzQkRMRU5CUlVFc1NVRkJTVThzUjBGQmNVSXNTMEZGZWtJc1UwRkJVME1zU1VGQmJVSXNRMEZETVVJc1QwRkJTMFFzUzBGRFNFRXNSMEZCY1VKRkxFVkJRVk1zVjBGQlZ5eGhRVUZoTEVkQlIycEVSaXhGUVVOVUxFTkJSVUVzVTBGQlUwY3NSMEZCYzBKc1JDeEZRVUZQY1VJc1JVRkJVU3hEUVVNMVF5eEhRVUZKY2tJc1JVRkJUU3hSUVVOU0xFOUJRVTlCTEVWQlIxUXNTVUZCVFhOQ0xFVkJRV0UyUWl4SFFVRlZMSFZDUVVGMVFtNUVMRVZCUVUwc1IwRkJSeXhGUVVVM1JDeEhRVUZKTEVOQlFVTnpRaXhGUVVOSUxFOUJRVTkwUWl4RlFVMVVMRWxCUVUxdlJDeEZRVWhaUkN4SFFVRlZMRTlCUVU4NVFpeEZRVUZSUXl4RFFVRlZMRVZCUXpkQ0xHOUNRVUZ2UWpCQ0xFZEJRV2xDTEVOQlFVTXNSVUZGZWtNc1NVRkJTMHNzUjBGQlRXeERMRWRCUVdGclF5eEZRVUZIYUVNc1JVRkJVVU1zUTBGQlZTeERRVUZETEVWQlJXNUZMRTlCUVVrNFFpeEZRVUZQTEZOQlFWTXNUVUZCVXl4RlFVTndRbkJFTEVWQlIwWnZSQ3hEUVVOVUxFTkJSVUVzVTBGQlUwVXNSMEZCYTBKR0xFVkJRVkV2UWl4RlFVRlJMRU5CUTNwRExFOUJRVThzVFVGQlRTeFZRVUZWTEU5QlFVOHNSMEZCUnl0Q0xFVkJRVThzU1VGQlN5eEhRVUZOUml4SFFVRnpRaXhGUVVGSE4wSXNRMEZCVFN4RFFVRkRMRU5CUVVNc1EwRkRkRVlzUTBGTlR5eFRRVUZUYTBNc1IwRkJhMEpzUXl4RlFVRlJWU3hGUVVGUGVVSXNSVUZCVVN4RFFVTjJSQ3hKUVVGTlNpeEZRVUZUUlN4SFFVRnJRa2dzUjBGQlZTeFpRVUZaU3l4RFFVRk5MRVZCUVVkdVF5eERRVUZOTEVWQlEzQkZUU3hGUVVGUmVVSXNSVUZCVHl4SlFVRkxja01zUjBGQlRXaENMRWRCUVdGblFpeEZRVUZIVFN4RFFVRk5MRU5CUVVNc1JVRkRha1J2UXl4RlFVRnZRamxDTEVWQlFVMHNTMEZCVFZvc1IwRkJUVUVzUlVGQlJTeGhRVUZoTEVWQlJYWkVMRWRCUVVrd1F5eEZRVU5HTEUxQlFVOHNRMEZCUlN4TlFVRkJNVUlzUlVGQlR5eFBRVUZCY1VJc1JVRkJVU3hqUVVGbFN5eEZRVUZyUWl4aFFVRmpMRVZCUTJ4RkxFTkJRMHdzUjBGQlRTeERRVUZEUXl4RlFVRmhNVUlzUTBGQlVTeEZRVUZKVGl4SFFVRlhReXhEUVVGTExFVkJRemxEYWtRc1JVRkJVU3hQUVVGUFowWXNSVUZCWVN4SFFVRkhMRVZCUXk5Q0xFTkJRVU5ETEVWQlFWa3hRaXhEUVVGUExFVkJRVWxJTEVkQlFVMURMRVZCUVU5eVJDeEZRVUZQYzBRc1EwRkJVU3hGUVVOd1JDeERRVUZETkVJc1JVRkJVWEpDTEVWQlFVMURMRU5CUVdNc1JVRkJTVkFzUlVGRE4wSkpMRWRCUVc5Q1NpeERRVUZQTEVWQlF6TkNMRU5CUVVNc1MwRkJUU3hMUVVGTkxFMUJRVk1zUlVGRE5VSXNSMEZCU1Vjc1IwRkJaVWdzUlVGQlV5eEhRVUZITEVkQlFVdEhMRWRCUVdWSUxFVkJRVk1zUjBGQlJ5eEZRVU0zUkN4TlFVRk5MRWxCUVVrMFFpeEhRVU5TTEhWRVFVTkdMRVZCUlVZc1RVRkJUeXhEUVVGRkxFMUJRVUU1UWl4RlFVRlBMRTlCUVVGeFFpeEZRVUZSTEUxQlFVRXhSU3hGUVVGUExGZEJRVUZwUml4RlFVRlpMRkZCUVVFeFFpeEZRVUZUTEU5QlFVRXlRaXhGUVVGUkxFdEJRVUZ5UWl4RlFVRk5MR1ZCUVVGRExFTkJRV1VzUTBGRGJrWXNRMEZEUml4RFFVVlBMRk5CUVZOelFpeEhRVUZuUW5wRExFVkJRVkZWTEVWQlFVOTVRaXhGUVVGUkxFTkJRM0pFTEVkQlFVMHNRMEZCUlN4UFFVRkJTU3hGUVVGUkxFdEJRVUZ5UWl4RlFVRk5MR1ZCUVVGRExFVkJRV2RDTEdOQlFVRjFRaXhEUVVGakxFVkJRVWxTTEVkQlFXdENiRU1zUlVGQlVWVXNSVUZCVDNsQ0xFTkJRVTBzUlVGREwwWXNUVUZCVHl4RFFVRkRTU3hGUVVGUmNrSXNSVUZCVFVNc1JVRkJaMEoxUWl4RFFVRmhMRU5CUTNKRUxFTkRjbUZCTEVsQlFVMURMRWRCUVdkQ0xFTkJRVU1zUlVGQlJ5eEhRVUZKTEVkQlFVa3NSMEZCU1N4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzU1VGQlN5eEpRVUZMTEVkQlFVY3NSVUZETVVWRExFZEJRV0VzUTBGQlF5eEZRVUZITEVkQlFVa3NSMEZCU1N4SFFVRkpMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzU1VGQlN5eEpRVUZMTEVsQlFVc3NSMEZCUnl4RlFVVnlSU3hUUVVGVFF5eEhRVUZsUXl4RlFVRk5ReXhGUVVGUExFTkJRMjVETEU5QlFVOHNTVUZCU1VNc1IwRkRWQ3h2UWtGRFFTeHBRa0ZCYVVKRUxFTkJRVXNzWVVGQllTeFBRVUZQUVN4RFFVRkxMRlZCUVZWRUxFTkJRVWtzYjBKQlF5OUVMRU5CUTBZc1EwRkZRU3hUUVVGVFJ5eEhRVUZWUXl4RlFVRk5ReXhGUVVGUFF5eEZRVUZMTEVOQlEyNURMRWxCUVUxRExFVkJRVWtzU1VGQlNTeExRVUZMTEV0QlFVc3NTVUZCU1Vnc1JVRkJUVU1zUlVGQlVTeEZRVUZIUXl4RFFVRkhMRU5CUVVNc1JVRkZOME5HTEVWQlFVOHNTMEZCVDBFc1IwRkJVU3hIUVVONFFrY3NSVUZCUlN4bFFVRmxRU3hGUVVGRkxHVkJRV1VzUlVGQlNTeEpRVUZKTEVWQlJ6VkRMRWxCUVUxRExFVkJRVXRFTEVWQlFVVXNWVUZCVlN4RlFVVjJRaXhQUVVGUFF5eEpRVUZQTEVWQlFVa3NSVUZCU1VFc1EwRkRlRUlzUTBGRlFTeFRRVUZUUXl4SFFVRmxUQ3hGUVVGTlF5eEZRVUZQUXl4RlFVRkxMRU5CUTNoRExFOUJRVTlCTEVkQlFVOUpMRWRCUVZkT0xFTkJRVWtzUlVGQlNVNHNSMEZCWVVRc1NVRkJaVkVzUlVGQlVTeERRVUZETEVOQlEzaEZMRU5CUlVFc1UwRkJVMDBzUjBGQmFVSlFMRVZCUVUxUkxFVkJRVk1zUTBGRGRrTXNTVUZCVFVNc1JVRkJVVWdzUjBGQlYwNHNRMEZCU1N4RlFVRkpUaXhIUVVGaFJDeEhRVU0xUTJsQ0xFVkJRVk5FTEVWQlFVMHNWVUZCVnl4SFFVRk5MRVZCUVVsRUxFTkJRVThzUlVGRE0wTk9MRVZCUVUxTkxFVkJRVlZETEVWQlFVMURMRU5CUVUwc1JVRkRPVUlzVFVGQlR5eERRVUZGTEUxQlFVOUJMRVZCUVZNc1JVRkJSeXhKUVVGQlVpeERRVUZKTEVOQlEyeERMRU5CVFU4c1UwRkJVMU1zUjBGQlowSkRMRVZCUVZNc1EwRkRka01zUjBGQlRTeERRVUZGTEV0QlFVRmFMRVZCUVUwc1RVRkJRVU1zUlVGQlR5eEpRVUZCUXl4RFFVRkpMRVZCUVVsVkxFVkJRek5DU2l4RlFVRlZTQ3hIUVVGbFRDeEZRVUZOUXl4RlFVRlBReXhEUVVGSExFVkJRM3BEVnl4RlFVRlZaQ3hIUVVGVlF5eEZRVUZOUXl4RlFVRlBReXhEUVVGSExFVkJSV3hEV1N4RlFVRmhMRXRCUVVzc1QwRkJUMDRzUlVGQlZVc3NSVUZCVlN4SlFVRk5MRU5CUVVNc1JVRkRkRVJGTEVWQlJVWXNUMEZCU1VRc1JVRkJZU3hIUVVObVF5eEZRVUZYWml4RlFVRlBMRVZCUTJ4Q1l5eEZRVUZoUlN4SFFVRm5Ra1FzUTBGQlVTeEhRVU0xUWtRc1JVRkJZVVVzUjBGQlowSm9RaXhEUVVGSkxFZEJRekZEWlN4RlFVRlhaaXhGUVVGUExFVkJRMnhDWXl4RlFVRmhMRWRCUldKRExFVkJRVmRtTEVWQlIwNXBRaXhGUVVGQkxFTkJRVVVzVTBGQlFVWXNSVUZCVlN4WFFVRkJSQ3hGUVVGWkxGRkJRVUZFTEVkQlFWbExMRWRCUVZkT0xFTkJRVThzUlVGREwwUXNRMEZGVHl4VFFVRlRUeXhIUVVGblFrTXNSVUZCVlN4RFFVTjRReXhIUVVGTkxFTkJRVVVzVTBGQlFVd3NSVUZCVlN4WFFVRkJSQ3hGUVVGWkxGRkJRVUZFTEVOQlFWRXNSVUZCU1U4c1JVRkRlRU5ETEVWQlFXZENkRUlzUjBGQlZXZENMRVZCUVZVc1JVRkJSeXhEUVVGRExFVkJRM2hEVHl4RlFVRmhReXhIUVVGWFVpeERRVUZSTEVWQlJUbENVQ3hGUVVGVlRTeEZRVUZoTEVWQlFVbEVMRVZCUVZWUkxFVkJRV2RDTEVWQlEzWkVja0lzUlVGRlJWRXNSVUZCVlN4SFFVTmFVaXhGUVVGUFpTeEZRVUZYTEVWQlEyeENVQ3hIUVVGWFpTeEhRVUZYZGtJc1EwRkJTU3hIUVVOcVFsRXNSVUZCVldNc1IwRkRia0owUWl4RlFVRlBaU3hGUVVGWExFVkJRMnhDVUN4SFFVRlhaU3hIUVVGWFVpeERRVUZSTEVkQlJUbENaaXhGUVVGUFpTeEZRVWRVTEVkQlFVMHNRMEZCUlN4TlFVRkJaQ3hGUVVGUExFbEJRVUZETEVOQlFVa3NSVUZCU1Vzc1IwRkJhVUpRTEVWQlFVMVJMRU5CUVU4c1JVRkRja1FzVDBGQlQxTXNSVUZCUVN4RFFVRkZMRXRCUVVGcVFpeEZRVUZOTEUxQlFVRkRMRVZCUVU4c1NVRkJRVU1zUjBGQlVXZENMRWRCUVZkRkxFTkJRVkVzUlVGRGJrUXNRMEZGVHl4VFFVRlRTU3hIUVVGdFFrTXNSVUZCVlN4RFFVTXpReXhIUVVGTkxFTkJRVVVzUzBGQlFYcENMRVZCUVUwc1RVRkJRVU1zUlVGQlR5eEpRVUZCUXl4RFFVRkpMRVZCUVVsMVFpeEZRVU4yUW1wQ0xFVkJRVlZJTEVkQlFXVk1MRVZCUVUxRExFVkJRVTlETEVOQlFVY3NSVUZETDBNc1QwRkJUMlVzUlVGQlFTeERRVUZGTEV0QlFVRnFRaXhGUVVGTkxGRkJRVUZSTEVkQlFWbFZMRWRCUVZkUExFTkJRVkVzUlVGRGFFUXNRMEZGVHl4VFFVRlRReXhIUVVGdFFrTXNSVUZCWVN4RFFVTTVReXhIUVVGTkxFTkJRVVVzUzBGQlFUTkNMRVZCUVUwc1VVRkJRVkVzUTBGQlVTeEZRVUZKYlVJc1JVRkRjRUlzUTBGQlJTeE5RVUZCTVVJc1JVRkJUeXhKUVVGQlF5eERRVUZKTEVWQlFVbExMRWRCUVdsQ1VDeEZRVUZOVVN4RFFVRlBMRVZCUTNKRUxFOUJRVTlUTEVWQlFVRXNRMEZCUlN4TFFVRkJha0lzUlVGQlRTeE5RVUZCUXl4RlFVRlBMRWxCUVVGRExFZEJRVkZuUWl4SFFVRlhVeXhEUVVGWExFVkJRM1JFTEVOQlJVOHNVMEZCVTBNc1IwRkJiVUpETEVWQlFVc3NRMEZEZEVNc1NVRkJUVU1zUlVGQldVTXNSMEZCVlVZc1JVRkJTU3hSUVVGUkxFVkJRM1JEUnl4RlFVRlpReXhIUVVGbFNpeEZRVUZKTEZkQlFWa3NSVUZCUjJJc1IwRkJaMEpoTEVWQlFVa3NVVUZCVVN4RFFVRkRMRVZCUXpORlN5eEZRVUZsUkN4SFFVRmxTaXhGUVVGSkxGRkJRVk1zUlVGQlJ5eERRVUZETEVWQlJXcEVMRTlCUVV0RExFVkJSVTlGTEVWQlJVRkZMRVZCUlVVc1IwRkVUSFpETEVkQlFXVXNWVUZCVjJ0RExFVkJRVWtzVDBGQlR5eEZRVVp5UTJ4RExFZEJRV1VzVDBGQlVXdERMRVZCUVVrc1NVRkJTU3hGUVVZdlFteERMRWRCUVdVc1YwRkJXV3RETEVWQlFVa3NVVUZCVVN4RFFVMXNSQ3hEUVVWUExGTkJRVk5OTEVkQlFYTkNUaXhGUVVGTExFTkJRM3BETEVsQlFVMURMRVZCUVZsRExFZEJRVlZHTEVWQlFVa3NTVUZCU1N4RlFVTnNRMDhzUlVGQlpVZ3NSMEZCWlVvc1JVRkJTU3hSUVVGVExFVkJRVWRPTEVkQlFWZE5MRVZCUVVrc1NVRkJTU3hEUVVGRExFVkJSWEJGTEU5QlFVdERMRVZCUlU5TkxFVkJSVVVzUjBGRVRIcERMRWRCUVdVc1ZVRkJWMnRETEVWQlFVa3NUMEZCVHl4RlFVWnlRMnhETEVkQlFXVXNUMEZCVVd0RExFVkJRVWtzU1VGQlNTeERRVWt4UXl4RFFVVlBMRk5CUVZOUkxFZEJRWGRDVWl4RlFVRkxMRU5CUXpORExFbEJRVTFETEVWQlFWbERMRWRCUVZWR0xFVkJRVWtzU1VGQlNTeEZRVU5zUTFNc1JVRkJZVXdzUjBGQlpVb3NSVUZCU1N4TlFVRlBMRVZCUVVjc1JVRkJSU3hGUVVNMVExVXNSVUZCVjA0c1IwRkJaVW9zUlVGQlNTeEpRVUZMTEVWQlFVZFhMRWRCUVZsWUxFVkJRVWtzUzBGQlRVRXNSVUZCU1N4TFFVRkxMRU5CUVVNc1JVRkZlRVVzVDBGQlMwTXNSVUZGVDFFc1JVRkZRVU1zUlVGRlJTeEhRVVJNTlVNc1IwRkJaU3hOUVVGUGEwTXNSVUZCU1N4SFFVRkhMRVZCUmpkQ2JFTXNSMEZCWlN4UlFVRlRhME1zUlVGQlNTeExRVUZMTEVWQlJtcERiRU1zUjBGQlpTeFBRVUZSYTBNc1JVRkJTU3hKUVVGSkxFTkJUVEZETEVOQlJVOHNVMEZCVTFrc1IwRkJiVUphTEVWQlFVc3NRMEZEZEVNc1IwRkJUU3hEUVVGRkxFdEJRVUZoTEVWQlFVMHNUMEZCUVVNc1JVRkJVU3hQUVVGQlF5eEZRVUZSTEZsQlFVRkRMRU5CUVZrc1JVRkJTV2hDTEVWQlEzaERhVUlzUlVGRFJtSXNSMEZCWlZNc1JVRkJUU3hGUVVGSExFVkJRVVVzUjBGRGVrSkJMRWxCUVZNc1NVRkJUVU1zU1VGQlZ5eEhRVUZMUXl4SlFVRlhMRWRCUVV0RExFbEJRV2RDTEVWQlEyeEZSU3hGUVVGalpDeEhRVUZsVlN4RlFVRlJMRVZCUVVjc1JVRkJSU3hGUVVNeFEwc3NSVUZCWTJZc1IwRkJaVmNzUlVGQlVTeEZRVUZITEVWQlFVVXNSVUZETVVOTExFVkJRVzFDYUVJc1IwRkJaVmtzUlVGQllTeEZRVUZITEVkQlFVY3NSVUZGZGtRc1QwRkJTME1zUlVGRlQwTXNSVUZGUVVNc1JVRkZRVU1zUlVGRlJTeEhRVVJNZEVRc1IwRkJaU3hqUVVGbGEwUXNRMEZCVnl4RlFVWjZRMnhFTEVkQlFXVXNVMEZCVldsRUxFTkJRVTBzUlVGR0wwSnFSQ3hIUVVGbExGTkJRVlZuUkN4RFFVRk5MRVZCUmk5Q2FFUXNSMEZCWlN4UFFVRlJLME1zUTBGQlNTeERRVkYwUXl4RFEyNUlRU3hKUVVGTlVTeEhRVUZWTEcxQ1FVTldReXhIUVVGWExFOUJSV3BDTEZOQlFWTkRMRWRCUVdkQ1F5eEZRVUZOTEVOQlF6ZENMRTlCUVU4c1NVRkJTVU1zUjBGQlVTeHRRa0ZCYjBJc1lVRkJZVVFzUlVGQlN5eEpRVUZKTEc5Q1FVRnZRaXhEUVVOdVJpeERRVWRCTEZOQlFWTkZMRWRCUVhWQ1F5eEZRVUZKTEVOQlEyeERMRTlCUVVsQkxFVkJRVWNzVjBGQllTeFBRVU5zUWtFc1JVRkJSeXhUUVVGWFF5eEhRVUZuUWtRc1JVRkJSeXhEUVVGRExFZEJSVGRDUVN4RlFVRkhMRkZCUTFvc1EwRkpRU3hUUVVGVFJTeEhRVUZOUXl4RlFVRk5ReXhGUVVGTkxFTkJRM3BDTEVsQlFVMURMRVZCUVZVc1EwRkRaQ3hIUVVGSlJpeEZRVUZMTEVkQlExUXNTMEZCVFVFc1JVRkJTeXhMUVVOWUxFVkJRVWRCTEVWQlFVc3NSVUZEVWl4RlFVRkhRU3hGUVVGTExFVkJRMUlzU1VGQlMwRXNSVUZCU3l4SlFVTldMRkZCUVZOQkxFVkJRVXNzVDBGRGFFSXNSVUZEUVN4UFFVRlBMRWxCUVVsSExFVkJRVk5ETEVkQlFVRkRMRWxCUVVFc1IwRkJTMGdzUjBGQldVUXNSMEZCYWtJc1EwRkJkVUlzU1VGQlMwTXNRMEZCVVN4RlFVRkRMRU5CUXpORUxFTkJTVUVzVTBGQlUwa3NSMEZCVlVNc1JVRkJVME1zUlVGQlIwTXNSVUZCU1N4RFFVVnFReXhKUVVGSlF5eEZRVUZYU0N4RlFVRlZReXhGUVVGSkxFZEJRVXNzU1VGSE5VSkhMRVZCUVV0R0xFVkJRVWNzVDBGQlQwTXNRMEZCVVN4RlFVYzNRaXhIUVVGSlJpeEpRVUZOUnl4RlFVTlNMRTFCUVU4c1EwRkJRMFFzUlVGQlZVWXNRMEZCUXl4RlFVbHlRa1VzU1VGQllVTXNSVUZCUzBnc1IwRkJTeXhIUVVGTExFbEJSelZDTEVsQlFVMUpMRVZCUVV0SUxFVkJRVWNzVDBGQlQwTXNRMEZCVVN4RlFVTTNRaXhQUVVGSlF5eEpRVUZQUXl4RlFVTkdMRU5CUVVOR0xFVkJRVlZETEVOQlFVVXNSVUZKWml4RFFVRkRTaXhGUVVGVkxFdEJRVXNzU1VGQlNVa3NSVUZCU1VNc1EwRkJSU3hGUVVGSkxFZEJRVXNzU1VGQlRTeExRVUZMTEVsQlFVbEVMRVZCUVVsRExFTkJRVVVzUTBGQlF5eERRVU5zUlN4RFFVZEJMRk5CUVZORExFZEJRVkZETEVWQlFVbERMRVZCUVZFc1EwRkRNMEpFTEVkQlFVMURMRVZCUVZNc1IwRkJTeXhKUVVWd1FpeEpRVUZOUXl4RlFVRkpMRWxCUVVrc1MwRkJTMFlzUTBGQlJTeEZRVVZ5UWl4TlFVRlBMRU5CUTB3c1MwRkJUVVVzUlVGQlJTeGxRVUZsTEVWQlEzWkNMRTFCUVU5QkxFVkJRVVVzV1VGQldTeEZRVUZKTEVWQlEzcENMRWxCUVV0QkxFVkJRVVVzVjBGQlZ5eEZRVU5zUWl4TFFVRk5RU3hGUVVGRkxGbEJRVmtzUlVGRGNFSXNUMEZCVVVFc1JVRkJSU3hqUVVGakxFVkJRM2hDTEU5QlFWRkJMRVZCUVVVc1kwRkJZeXhGUVVONFFpeFpRVUZoUVN4RlFVRkZMRzFDUVVGdFFpeERRVU53UXl4RFFVTkdMRU5CUjBFc1UwRkJVME1zUjBGQlVVTXNSVUZCUzBnc1JVRkJVWEpDTEVWQlFVMHNRMEZEYkVNc1QwRkJUMWtzUjBGQlZXRXNSMEZCWVVRc1EwRkJSeXhGUVVGSFNDeEZRVUZSY2tJc1EwRkJTU3hEUVVOc1JDeERRVWRCTEZOQlFWTXdRaXhIUVVGWGNFSXNSVUZCVFhGQ0xFVkJRVXNzUTBGRE4wSXNTVUZCVFVNc1JVRkJUM1JDTEVWQlFVc3NSVUZEYUVKMVFpeEZRVUZQZGtJc1JVRkJTeXhGUVVGRkxFdEJRVThzUzBGQlN5eE5RVUZOY1VJc1JVRkJTU3hMUVVGTExFVkJRM3BEUnl4RlFVRlJlRUlzUlVGQlN5eEZRVUZGTEUxQlFWRXNTMEZCU3l4TlFVRk5jVUlzUlVGQlNTeE5RVUZOTEVWQlFVa3NTMEZCU3l4TlFVRk5RU3hGUVVGSkxGRkJRVkVzUlVGQlNTeEZRVU16UlVrc1JVRkJTWEpDTEVkQlFVRkRMRVZCUVVFc1IwRkRRMHdzUlVGQlN5eEhRVVJPTEVOQlJVWXNTMEZCUVhWQ0xFVkJRMEVzVFVGQlFVTXNSVUZEUVN4SlFVTkZMRXRCUVVzc1NVRkJTWGhDTEVWQlFVc3NSVUZCUlN4SlFVRkxNRUlzUjBGQldVZ3NSVUZCVFVNc1EwRkJTeXhEUVVGRExFVkJRemRETEV0QlFVc3NUVUZCVFVnc1JVRkJTU3hKUVVGSkxFVkJRMjVDTEV0QlFVc3NUVUZCVFVFc1JVRkJTU3hMUVVGTExFVkJRVWtzUTBGRE5VSXNSMEZEUVUwc1JVRkJZME1zUlVGQlV5eFhRVUZYTEVOQlEyaERMRTFCUVU5UUxFVkJRVWtzVFVGQlVTeExRVUZMTEUxQlFVMUJMRVZCUVVrc1MwRkJTeXhGUVVOMlF5eFRRVUZWUVN4RlFVRkpMRk5CUVZjc1MwRkJTeXhOUVVGTlFTeEZRVUZKTEZGQlFWRXNSVUZEYUVRc1QwRkJVVUVzUlVGQlNTeFBRVUZUTEV0QlFVc3NUVUZCVFVFc1JVRkJTU3hOUVVGTkxFVkJRekZETEUxQlFVOUJMRVZCUVVrc1RVRkJVU3hMUVVGTExFMUJRVTFCTEVWQlFVa3NTMEZCU3l4RlFVTjJReXhMUVVGTlFTeEZRVUZKTEV0QlFVOHNTMEZCU3l4TlFVRk5RU3hGUVVGSkxFbEJRVWtzUlVGRGNFTXNUVUZCVDBFc1JVRkJTU3hOUVVOWUxGRkJRVk5CTEVWQlFVa3NVVUZEWWl4UlFVRlRRU3hGUVVGSkxGRkJRMklzWVVGQlkwRXNSVUZCU1N4WlFVTndRaXhEUVVGRExFVkJRVVVzUjBGQlJ5eGpRVUZqTEVWQlEzQkNaQ3hGUVVGVldTeEhRVUZoVFN4RFFVRkRMRVZCUlhSQ0xFTkJRVU5ZTEVWQlFVbE9MRU5CUVVNc1JVRkJTVVlzUjBGQlZVTXNSVUZCVTJVc1JVRkJUWFJDTEVWQlFVc3NTVUZCU1N4RlFVVm9SQ3hQUVVGSk1rSXNTVUZCWjBJc1NVRkRiRUppTEVkQlFVMWhMRVZCUlU1dVFpeEZRVUZKVWl4RlFVRkxMRXRCUVVzc1QwRkJUMk1zUTBGQlJTeEhRVWRzUWl4RFFVRkZMRWRCUVVGQkxFVkJRVWtzUlVGQlFVNHNRMEZCUlN4RFFVTnFRaXhEUVVsQkxGTkJRVk54UWl4SFFVRnZRa01zUlVGQlVVTXNSVUZCV1VNc1JVRkJUVU1zUlVGQlVVTXNSVUZCVFVNc1JVRkJaMElzUTBGRGJrWXNSMEZCVFN4RFFVRkZMRkZCUVVGRExFVkJRVk1zUzBGQlFURkRMRU5CUVVzc1JVRkJTWE5ETEVWQlF6RkNMRWRCUVVsR0xFZEJRVlVzVDBGQlR5eExRVUZMUVN4RFFVRk5MRVZCUVVVc1UwRkJWeXhGUVVGSExFTkJRemxETEVsQlFVMVBMRVZCUVhGQ1RpeEhRVUZqY2tNc1JVRkRka05OTEVWQlFVOUhMRVZCUVZNc1YwRkJWekpDTEVWQlFWRXhRaXhIUVVGQlF5eEZRVUZCTEVkQlF6bENNa0lzUjBGRU9FSXNRMEZGYWtNc1MwRkJUVXNzUlVGRFRpeGxRVUZCUml4RFFVTkdMRVZCUVVNc1JVRkRTQ3hQUVVGUFF5eEZRVUZWY0VNc1JVRkJUMEVzUlVGQlN5eFJRVUZSVGl4RFFVRkpMRU5CUXpORExFdEJRMFVzVVVGQlQxTXNSVUZCVXl4UlFVTmtMRWxCUVVsU0xFZEJRVkVzWVVGQll5eGpRVUZqZFVNc1EwRkJTU3gzUWtGQmQwSkVMRU5CUVUwc1JVRkJSU3hEUVVNNVJTeERRVVZLTEVOQlNVRXNVMEZCVTBzc1IwRkJZWHBETEVWQlFVbHZReXhGUVVGUlRTeEZRVUZUTEVkQlFVMHNRMEZETDBNc1QwRkJUekZETEVWQlFVY3NVVUZEVGpKRExFZEJRVlVzVDBGQlQwTXNSMEZCVHl4UFFVRlBMRTlCUVU4c1JVRkJSeXhEUVVOMlF5eFBRVUZCUml4RlFVTkJMRmxCUVdFc1JVRkRaaXhEUVVGRExFVkJRVVVzZVVKQlFYbENNVU1zUlVGQlNXOURMRU5CUVUwc1JVRkRkRU1zU1VGRFRpeERRVVZCTEZOQlFWTlRMRWRCUVZWc1F5eEZRVUZIYlVNc1JVRkJWU3hEUVVNNVFpeEpRVUZOUXl4RlFVRmhjRU1zUlVGQlJTeEZRVUZGTEV0QlFVOHNUVUZCVVVFc1JVRkJSU3hGUVVGRkxFdEJRVThzUlVGRE4wTnBRaXhGUVVGSkxFZEJRMUlzVDBGQlNXMUNMRWRCUVdOd1F5eEZRVUZGTEVWQlFVVXNUVUZCVVN4SlFVRkhhVUlzUjBGQlN5eExRVU4wUTBFc1IwRkJTMjlDTEVkQlFWTnlReXhGUVVGRkxFVkJRVVVzUzBGQlRXOURMRVZCUVdFc1JVRkJTU3hEUVVGRExFVkJSWFJEUkN4SFFVTkdiRUlzUjBGQlN5eEpRVU5NUVN4SFFVRkxiMElzUjBGQlUzSkRMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRM1pDYVVJc1IwRkJTeXhKUVVOTVFTeEhRVUZMYjBJc1IwRkJVM0pETEVWQlFVVXNSVUZCUlN4SFFVRkhMRWxCUlhKQ2FVSXNSMEZCUzI5Q0xFZEJRVk55UXl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVOMlFtbENMRWRCUVV0dlFpeEhRVUZUY2tNc1JVRkJSU3hGUVVGRkxFZEJRVWNzUjBGRmFFSnBRaXhEUVVOVUxFTkJSVUVzVTBGQlUzRkNMRWRCUTFCMFF5eEZRVU5CYlVNc1JVRkRRVWtzUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFTeERRVU5CTEVsQlFVbDZRaXhGUVVGSmIwSXNSMEZCVTNKRExFVkJRVVVzUlVGQlJTeEpRVUZKTEVWQlEzcENMRTlCUVVsdFF5eEhRVU5HYkVJc1IwRkJTeXhKUVVOTVFTeEhRVUZMYjBJc1IwRkJVM0pETEVWQlFVVXNSVUZCUlN4TlFVRk5MRWRCUTNCQ1FTeEZRVUZGTEVWQlFVVXNVMEZCVnl4SFFVRkxMRU5CUVVOMVF5eExRVU4yUW5SQ0xFZEJRVXNzVFVGSFVFRXNSMEZCUzI5Q0xFZEJRVk55UXl4RlFVRkZMRVZCUVVVc1RVRkJUU3hIUVVkMFFrRXNSVUZCUlN4RlFVRkZMRk5CUVZjc1IwRkJTeXhEUVVGRGRVTXNTMEZEZGtKMFFpeEhRVUZMYjBJc1IwRkJVM0pETEVWQlFVVXNSVUZCUlN4TlFVRk5MRWRCUlhCQ1FTeEZRVUZGTEVWQlFVVXNZMEZCWjBJc1IwRkJTeXhEUVVGRGQwTXNTMEZETlVKMlFpeEhRVUZMTEVsQlEweEJMRWRCUVV0dlFpeEhRVUZUY2tNc1JVRkJSU3hGUVVGRkxGbEJRV0VzUTBGQlF5eEpRVWxvUTNsRExFbEJRMFY2UXl4RlFVRkZMR1ZCUVdsQ1FTeEZRVUZGTEZOQlFWY3NSMEZCU3l4RFFVRkRNRU1zUlVGRGVFTjZRaXhIUVVGTExFbEJRMGxxUWl4RlFVRkZMRVZCUVVrc1IwRkRabWxDTEVkQlFVc3NTVUZEVEVFc1IwRkJTMjlDTEVkQlFWTXNTMEZCU3l4TlFVRk5MRU5CUVVOeVF5eEZRVUZGTEVWQlFVa3NSVUZCUlN4RFFVRkRMRVZCUTI1RGFVSXNSMEZCU3l4SlFVTk1RU3hIUVVGTGIwSXNSMEZCVXl4TFFVRkxMRTFCUVUwc1EwRkJRM0pETEVWQlFVVXNSVUZCU1N4RlFVRkZMRU5CUVVNc1NVRkZia05wUWl4SFFVRkxMRWxCUTB4QkxFZEJRVXR2UWl4SFFVRlRMRXRCUVVzc1RVRkJUWEpETEVWQlFVVXNSVUZCU1N4RlFVRkZMRU5CUVVNc1JVRkRiRU5wUWl4SFFVRkxMRWxCUTB4QkxFZEJRVXR2UWl4SFFVRlRMRXRCUVVzc1RVRkJUWEpETEVWQlFVVXNSVUZCU1N4RlFVRkZMRU5CUVVNc1NVRkpiRU13UXl4SlFVTkdla0lzUjBGQlN5eEpRVUZOYWtJc1JVRkJSU3hMUVVGTExGTkJRVmNzUzBGRmVFSnBRaXhEUVVOVUxFTkJSMEVzU1VGQlRUQkNMRWRCUVc5Q0xFTkJRM1JDTEUxQlFVOHNSVUZEVUN4SlFVRkxMRVZCUTB3c1MwRkJUU3hGUVVOT0xFOUJRVkVzUlVGRFVpeFBRVUZSTEVWQlExSXNXVUZCWVN4RFFVTm1MRVZCUTBGRExFZEJRWGRDTEVOQlEzUkNMRmRCUVZrc1JVRkRXaXhSUVVGVExFVkJRMVFzUzBGQlRTeEZRVU5PTEU5QlFWRXNSVUZEVWl4UFFVRlJMRVZCUTFJc1dVRkJZU3hEUVVObUxFVkJRMEZETEVkQlFUSkNMRU5CUTNwQ0xGRkJRVk1zUlVGRFZDeExRVUZOTEVWQlEwNHNUMEZCVVN4RlFVTlNMRTlCUVZFc1JVRkRVaXhaUVVGaExFTkJRMllzUlVGSFNVTXNSMEZCWlN4RFFVRkRMRTlCUVZFc1VVRkJVeXhOUVVGUExFOUJRVkVzVTBGQlZTeFRRVUZWTEdGQlFXRXNSVUZEY2taRExFZEJRVzFDTEVOQlEycENMRmRCUTBFc1lVRkRRU3hWUVVOQkxFOUJRMEVzVTBGRFFTeFRRVU5CTEdGQlEwWXNSVUZEUVVNc1IwRkJjMElzUTBGQlF5eFBRVUZSTEZWQlFWY3NUMEZCVVN4VFFVRlZMRk5CUVZVc1lVRkJZU3hGUVVkeVJpeFRRVUZUUXl4SFFVRmpReXhGUVVGTkxFTkJRek5DTEVsQlFVMURMRVZCUVdFc1EwRkRha0lzUzBGQlRTeFBRVU5PTEUxQlFVOHNUMEZEVUN4TlFVRlBMRkZCUTFBc1QwRkJVU3hSUVVOU0xFbEJRVXNzVFVGRFRDeExRVUZOTEUxQlEwNHNTMEZCVFN4UFFVTk9MRTFCUVU4c1QwRkRVQ3hQUVVGUkxGTkJRMUlzVVVGQlV5eFRRVU5VTEZGQlFWTXNWVUZEVkN4VFFVRlZMRlZCUTFZc1QwRkJVU3hUUVVOU0xGRkJRVk1zVTBGRFZDeFpRVUZoTEdOQlEySXNZVUZCWXl4alFVTmtMRkZCUVZNc1ZVRkRWQ3hUUVVGVkxGVkJRMVlzVjBGQldTeGhRVU5hTEZsQlFXRXNZVUZEWWl4WlFVRmhMR0ZCUTJJc1UwRkJWU3hYUVVOV0xGVkJRVmNzVjBGRFdDeFJRVUZUTEZOQlExZ3NSVUZCUlVRc1JVRkJTeXhaUVVGWkxFTkJRVU1zUlVGRmNFSXNSMEZCU1N4RFFVRkRReXhGUVVGWkxFMUJRVTBzU1VGQlNVTXNSMEZCYVVKR0xFTkJRVWtzUlVGRmFFUXNUMEZCVDBNc1EwRkRWQ3hEUVV0QkxGTkJRVk5GTEVkQlFWRXpReXhGUVVGTFl5eEZRVUZOTEVOQlF6RkNMRWxCUVUxMFF5eEZRVUZQYjBVc1IwRkJZemxDTEVWQlFVc3NTMEZCVFN0Q0xFVkJRVk1zVjBGQlZ5eEZRVU40UkVNc1JVRkJUWFpDTEVkQlFVOHNWMEZCVjFRc1EwRkJTU3hGUVVNMVFtbERMRVZCUVZGR0xFVkJRVk1zU1VGQlNTeEZRVVZ1UW1wRUxFVkJRVWtzUlVGSFVpeEhRVUZMYjBRc1JVRkJXV2hFTEVWQlFVa3NTVUZCU1N4RlFXVjJRa29zUlVGQlMyMUVMRTFCWm5GQ0xFTkJRekZDTEZGQlFWZEZMRXRCUVV0aUxFZEJRMVpaTEVWQlFWbG9SQ3hGUVVGSmFVUXNRMEZCUXl4RFFVRkRMRWxCUTNCQ2FrUXNSVUZCU1dsRUxFTkJRVU1zUlVGQlNXaENMRWRCUVd0Q1owSXNRMEZCUXl4SFFVbG9ReXhKUVVGTlF5eEZRVUZWUXl4SFFVRjNRbTVFTEVOQlFVY3NSMEZCUzI5RUxFZEJRVzFDY0VRc1EwRkJSeXhGUVVOMFJTeEhRVUZKYTBRc1JVRkRSaXhQUVVGUGFrVXNSVUZCVXl4UlFVRlJhVVVzUTBGQlR5eEZRVWRxUXl4SlFVRk5SeXhGUVVGbE4wVXNSVUZCU3l4UFFVRlBkVVVzUTBGQlN5eEZRVU4wUXl4RFFVRkRia1FzUlVGQlNTeERRVUZETEVWQlFVbEhMRWRCUVZGRExFVkJRVXR4UkN4RlFVRmpOMFVzUTBGQlNTeERRVU16UXl4RFFVbEJMRTlCUVU4c1NVRkJTVk1zUlVGQlV5eERRVUZGTEVkQlFVRlhMRVZCUVVrc1MwRkJRWEJDTEVWQlFVMHNTVUZCUVhORkxFVkJRVXNzUTBGQlJTeERRVUZETEVOQlF6RkRMRU5CUlVFc1UwRkJVMUVzUjBGQllVTXNSVUZCVDBNc1JVRkJTekZETEVWQlFVMHNRMEZEZEVNc1NVRkJUVEpETEVWQlFWRlVMRVZCUVZsc1F5eEZRVUZMTEV0QlFVc3NSVUZCU1N4SFFVRlBRU3hGUVVGTExFMUJRMnhFUXl4RlFVRlRMRU5CUVVOU0xFVkJRVWRwUXl4TFFVTllha01zUlVGQlNXMUVMRWRCUVZGdVJDeEZRVUZIYTBRc1IwRkJVek5ETEVWQlFVc3NWVUZCV1N4RlFVRkpMRVZCUVVjc1JVRkJTU3hGUVVOc1F6QkRMRVZCUVVrc1NVRkJTU3hOUVVGTk1VTXNRMEZCU1N4RlFVRkZMR0ZCUVdGQkxFTkJRVWtzUlVGRGRFTXNUMEZCVDFBc1JVRkJSMmxETEVOQlFVa3NSMEZGYWtOdFFpeEZRVUZWYmtJc1IwRkRTakZDTEVWQlFVc3NWVUZEUmpCRExFVkJRVWtzVVVGQlVVUXNSVUZCVDJZc1EwRkJTU3hGUVVWa0xFVkJSRXhuUWl4RlFVRkpMRkZCUVZGb1FpeERRVUZKTEVWQlFVVXNTMEZCUzJVc1JVRkJUU3hSUVVGUlppeERRVUZKTEVWQlFVZEJMRU5CUVVrc1JVRkJSU3hKUVVGSlFTeERRVUZKTEVWQlJ6VkVaMElzUlVGQlNTeExRVUZMUkN4RlFVRlBaaXhEUVVGSkxFVkJRVVVzU1VGQlNVRXNRMEZCU1N4RlFVa3pReXhIUVVGSk1VSXNSVUZCU3l4TFFVTlFMRTlCUVU5RExFVkJRVTgwUXl4RlFVRlBOME1zUlVGQlN5eEpRVUZKTEVWQlFVZEJMRVZCUVVzc1NVRkJTU3hGUVVjMVF5eFJRVUZYTUVJc1MwRkJVVEZDTEVWQlFVc3NUVUZCVHl4RFFVTTNRaXhKUVVGTk9FTXNSVUZCVVVRc1JVRkJUMjVDTEVOQlFVa3NSVUZEZWtJc1IwRkJTU3hMUVVGTExFbEJRVWx2UWl4RFFVRkxMRWRCUVVzc1JVRkRja0lzVDBGQlR6ZERMRVZCUVU4MlF5eEZRVUZQY0VJc1EwRkJTU3hEUVVVM1FpeERRVU5CTEU5QlFVOTZRaXhGUVVGUGQwTXNSVUZCVVVNc1JVRkJUU3hIUVVGTExFVkJRVWN4UXl4RlFVRkxMRTFCUVUxQkxFVkJRVXNzVFVGQlRTeFBRVUZUTEVOQlFVTXNRMEZCUXl4RFFVTjJSU3hEUVVWQkxGTkJRVk1yUXl4SFFVRlRReXhGUVVGVExFTkJRM3BDTEVsQlFVbG9SQ3hGUVVGUExFTkJRVU1zUlVGRFZtbEVMRVZCUTBZc1QwRkJTVVFzUlVGQlVTeFBRVUZUTEVkQlFVc3NUMEZCVDBFc1JVRkJVVUVzUlVGQlVTeFBRVUZUTEVOQlFVTXNSMEZCVFN4VlFVTXZSR2hFTEVWQlFVOW5SQ3hGUVVGUlFTeEZRVUZSTEU5QlFWTXNRMEZCUXl4RlFVTnFRME1zUlVGQlR5eE5RVUZOTEV0QlFVdEVMRU5CUVU4c1JVRkJSU3hOUVVGTkxFVkJRVWRCTEVWQlFWRXNUMEZCVXl4RFFVRkRMRWRCUlhSRVF5eEZRVUZQTEUxQlFVMHNTMEZCUzBRc1EwRkJUeXhGUVVWd1FpeERRVUZEYUVRc1JVRkJUV2xFTEVOQlFVa3NRMEZEY0VJc1EwRnpRa0VzU1VGQmNVSTVSU3hGUVVGeVFpeE5RVUZ4UWl0RkxFTkJRVk1zUTBGSk5VSXNXVUZCV1VNc1JVRkJVU3hEUVVOc1FpeEpRVUZOZWtZc1JVRkJUM2xHTEVWQlFVOHNUVUZCVVhCQ0xFVkJRVk1zV1VGRmFrTkxMRVZCUTBabExFVkJRVThzVlVGRFRpeFBRVUZQTEUxQlFVMUJMRVZCUVU4c1JVRkJSU3hGUVVGSkxFbEJRVWw0Uml4SFFVRlJMR1ZCUVdVc1JVRkJTU3hSUVVONFJFUXNSVUZCU3l4UlFVRnJReXhMUVVGNFFrUXNSMEZCWjBKRExFTkJRVWtzUjBGSmRrTXNTMEZCU3l4SFFVRkxkMFVzUlVGQldXbENMRVZCUVU4c1JVRkJSU3hGUVVGSmNFSXNSVUZCVXl4SlFVRkpMRVZCUVVsdlFpeEZRVUZQTEVkQlJUTkVMRWxCUVVreFJDeEZRVUZKTEV0QlEwNXFRaXhGUVVGSkxFdEJRMDRzUjBGQlNTeERRVUZETkVRc1JVRkhTQ3hIUVVaclFtVXNSVUZCVHl4TFFVRlBRU3hGUVVGUExFbEJRVWtzUzBGQlR5eExRVUZMTEVsQlFVMUJMRVZCUVU4c1NVRkJTU3hMUVVGTExFOUJRVTk2Uml4RFFVRkpMRVZCUjNSR0xFTkJRVU1yUWl4RlFVRkhha0lzUTBGQlF5eEZRVUZKTEVOQlFVTXlSU3hGUVVGUExFbEJRVWtzUlVGQlIwRXNSVUZCVHl4SlFVRkpMRU5CUVVNc1RVRkRMMElzUTBGRFRDeEpRVUZOUXl4RlFVRkxNVVlzUlVGQlN5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RlFVTTVRaXRDTEVWQlFVbGFMRWRCUVZFc1MwRkJTeXhIUVVGSmRVVXNRMEZCUlN4RlFVTjJRbWhDTEVWQlFWVXNUMEZCVHl4TlFVRk5NME1zUlVGQlJTeEpRVUZKTEVWQlFVa3NTVUZCU1RsQ0xFZEJRVkVzWlVGQlpTeEZRVUZKTEV0QlEyaEZPRUlzUlVGQlNUSkRMRVZCUVZVc1MwRkJUek5ETEVWQlEzSkNha0lzUlVGQlNUUkVMRVZCUVZVc1MwRkJUMmRDTEVOQlEzWkNMRU5CVFVZc1MwRkJTeXhOUVVGUk1VWXNSVUZKWWl4TFFVRkxMRWxCUVUxNVJpeEZRVUZQTEV0QlFVOHhReXhIUVVGUExFOUJRVThzUlVGSmRrTXNTMEZCU3l4UlFVRlZNa0lzUlVGSlppeExRVUZMTEZOQlFWY3NTMEZKYUVJc1MwRkJTeXhGUVVGSk0wTXNSVUZKVkN4TFFVRkxMRVZCUVVscVFpeEZRVWxVTEV0QlFVc3NaMEpCUVd0Q0xFVkJRM3BDTEVOQlYwRXNUMEZCVHl4TFFVRk5MRU5CUTFnc1QwRkJUeXhKUVVGSk1FVXNSVUZCVXl4RFFVRkRMRU5CUVVNc1EwRkRlRUlzUTBGMVFrRXNUMEZCVHl4UFFVRlJMRU5CUTJJc1IwRkJUU3hEUVVGRGJFUXNSVUZCVFdsRUxFTkJRVWtzUlVGQlNVWXNSMEZCVXl4VFFVRlRMRVZCUTNKRExFTkJRVU40UkN4RlFVRk5ReXhGUVVGUE5rUXNSVUZCUzBNc1JVRkJUVU1zUlVGQlVVTXNSVUZCVVVNc1EwRkJWeXhGUVVGSlVpeEZRVU14UkN4UFFVRlBjRUlzUjBGQlVTeERRVUZGTEV0QlFVRjBReXhGUVVGTkxFMUJRVUZETEVWQlFVOHNTVUZCUVRaRUxFVkJRVXNzUzBGQlFVTXNSVUZCVFN4UFFVRkJReXhGUVVGUkxFOUJRVUZETEVWQlFWRXNXVUZCUVVNc1EwRkJXU3hGUVVGSGVrUXNRMEZCU1N4RFFVTTVSU3hEUVRCQ1FTeFBRVUZQTEV0QlFVMHNRMEZEV0N4SFFVRk5MRU5CUVVOQkxFVkJRVTFwUkN4RFFVRkpMRVZCUVVsR0xFZEJRVk1zVTBGQlV5eEZRVU55UXl4RFFVRkRlRVFzUlVGQlRVTXNSVUZCVHpaRUxFVkJRVXRETEVWQlFVMURMRVZCUVZGRExFVkJRVkZETEVOQlFWY3NSVUZCU1ZJc1JVRkZNVVFzVDBGQlFXcEVMRVZCUVVzc1MwRkJUekJFTEVkQlFXZENMRmxCUTNKQ04wSXNSMEZCVVN4RFFVRkZMRXRCUVVGMFF5eEZRVUZOTEUxQlFVRkRMRVZCUVU4c1NVRkJRVFpFTEVWQlFVc3NTMEZCUVVNc1JVRkJUU3hQUVVGQlF5eEZRVUZSTEU5QlFVRkRMRVZCUVZFc1dVRkJRVU1zUTBGQldTeEZRVUZIZWtRc1EwRkJTU3hEUVVNNVJTeERRVk5CTEU5QlFVOHNWMEZCVnpKRUxFVkJRVTFETEVWQlFWVXNRMEZCUXl4RlFVRkhMRU5CUTNCRExFbEJRVTA1UlN4RlFVRkxLMFVzUjBGQlQwWXNRMEZCU1N4RlFVRkpRU3hGUVVGTExGRkJRVkVzUlVGQlNTeEpRVU16UXl4SFFVRkpMRTlCUVU4c1RVRkJUVGRGTEVOQlFVVXNSVUZEYWtJc1QwRkJUMjlGTEVWQlFWTXNVVUZCVVN4bFFVRmxMRVZCUjNwRExFbEJRVTFaTEVWQlFWbG9ReXhIUVVGak9FSXNSVUZCVVN4TFFVRk5OMElzUlVGQlV5eFhRVUZYTEVWQlEyeEZMRTlCUVVzclFpeEZRVUZWTEZGQlNWSXNTVUZCU1Zvc1JVRkJVeXhEUVVOc1FpeEhRVUZKY0VVc1JVRkRTaXhMUVVGTlowWXNSVUZEVGl4SlFVRkxja1FzUjBGQlR5eFhRVUZYYlVRc1EwRkJUeXhEUVVOb1F5eERRVUZETEVWQlVGRldMRVZCUVZNc1VVRkJVWHBHTEVkQlFXZENjVWNzUTBGQlV5eERRVUZETEVOQlVYUkVMRU5CV1VFc1QwRkJUeXhYUVVGWFF5eEZRVUZqU0N4RlFVRlZMRU5CUVVNc1JVRkJSeXhEUVVNMVF5eEhRVUZMU1N4SFFVRlRSQ3hEUVVGWkxFVkJTVzVDTEU5QlFVbEJMRVZCUVdVc1EwRkJRM1pITEVsQlFWbDFSeXhGUVVGbGRrY3NSMEZGTjBNd1JpeEZRVUZUTEZGQlFWRXNkMEpCUVhkQ0xFVkJSWHBETEVsQlFVbEJMRVZCUVZNc1EwRkRiRUlzUjBGQlNXRXNSVUZEU2l4TFFVRk5ha01zUjBGQll6aENMRVZCUVZFc1MwRkJUVGRDTEVWQlFWTXNWMEZCVnl4RlFVTjBSQ3hKUVVGTGRFSXNSMEZCVHl4WFFVRlhiVVFzUTBGQlR5eERRVU5vUXl4RFFVRkRMRVZCV0VRc1RVRkJUU3hKUVVGSlN5eEhRVU5TTEhsRVFVRjVSQ3hQUVVGUFJpeERRVUZaTEdWQlFXVkJMRU5CUVZrc1JVRkRla2NzUTBGWFNpeERRVmxCTEU5QlFVOHNXVUZCV1Vjc1JVRkJVMDRzUlVGQlZTeERRVUZETEVWQlFVY3NRMEZEZUVNc1IwRkJTMGtzUjBGQlUwVXNRMEZCVHl4RlFVZHVRaXhQUVVGUExFbEJRVWxvUWl4RlFVRlRMRU5CUTJ4Q0xFZEJRVWxuUWl4RlFVRlZMRWxCUTJRc1MwRkJUWEJETEVkQlFXTTRRaXhGUVVGUkxFdEJRVTAzUWl4RlFVRlRMRmRCUVZjc1JVRkRkRVFzU1VGQlMzUkNMRWRCUVU4c1YwRkJWMjFFTEVOQlFVOHNRMEZEYUVNc1EwRkJReXhGUVU1RUxFMUJRVTBzU1VGQlNVc3NSMEZCY1VJc2QwTkJRWGRETEVOQlVUTkZMRU5CT0VKQkxFOUJRVThzVjBGQlZ5OUZMRVZCUVV0akxFVkJRVThzUTBGQlF5eEZRVUZITEVOQlEyaERaQ3hGUVVGTlFTeEhRVUZQTEVOQlFVTXNSVUZEWkN4SlFVRk5ORVVzUlVGQldXaERMRWRCUVdNNVFpeEZRVUZMTEV0QlFVMHJRaXhGUVVGVExGZEJRVmNzUlVGREwwUXNSMEZCU1N4RFFVRkRLMElzUlVGQlZTeFJRVU5pTEU5QlFVOWFMRVZCUVZNc1VVRkJVWHBHTEVkQlFXZENjVWNzUTBGQlV5eERRVUZETEVWQlIzQkVMRWxCUVUwM1FpeEZRVUZSUml4RlFVRlRMRWxCUVVrc1JVRkRla0pSTEVWQlFXZENUQ3hGUVVGWmJFTXNSVUZCU3l4alFVRmpMRVZCUlRORE9FUXNSVUZCVlN4UFFVRlBOMElzUTBGQlN5eEZRVVIwUW1wRExFVkJRVXNzWlVGRlZESkNMRVZCUVdGM1F5eEhRVUZuUW1wR0xFVkJRVXQxUXl4RlFVRmhMRVZCUXk5RE1rTXNSVUZCYTBJc1EwRkJRMnhETEVWQlFWbFFMRVZCUVZjc1QwRkJUeXhGUVVOcVJEQkRMRVZCUVhGQ0xFTkJRVU51UXl4RlFVRlpVQ3hGUVVGWExFbEJRVWtzUlVGRGFrUXlReXhGUVVGdFFpeERRVUZEY0VNc1JVRkJXVkFzUlVGQlZ5eExRVUZMTEVkQlFVc3NRMEZCUTA4c1JVRkJXVkFzUlVGQlZ5eEhRVUZITEVWQlEyaEdORU1zUlVGQmFVSkdMRWRCUVhOQ1F5eEZRVU4yUTBVc1JVRkJhMEkzUXl4RlFVRlhMRlZCUVZsQkxFVkJRVmNzVjBGRGNFUkxMRVZCUVUxMlFpeEhRVUZQTEZkQlFWZFVMRU5CUVVrc1JVRlJPVUlzU1VGQlMzVkZMRWRCUVd0Q1NDeEpRVUZ2UWtrc1JVRkRla01zVFVGQlRTeEpRVUZKUXl4SFFVTlNMSEZGUVVOR0xFVkJSMFlzUjBGQlNVZ3NSMEZCYjBKR0xFVkJRM1JDTEUxQlFVMHNTVUZCU1Vzc1IwRkJPRUlzZDBOQlFYZERMRVZCUjJ4R0xFbEJRVTFETEVWQlFXTkdMRWRCUVc5Q04wTXNSVUZCVnl4VFFVRlhMRU5CUVVNMFF5eEZRVWN6UkVrc1JVRkRSa01zUlVGRFFVTXNSVUZCVTJoSExFZEJRVkZ2UkN4RlFVRlBUU3hEUVVGWkxFVkJRMnhEYlVNc1IwRkRSa01zUlVGQlVYQkVMRWRCUTFKeFJDeEZRVUZuUW5oRUxFZEJRMmhDZVVRc1JVRkJVeTlITEVkQlFXZENLMGNzUTBGQlRTeEhRVU4wUWxRc1IwRkRWRThzUlVGQlVXNUVMRWRCUTFKdlJDeEZRVUZuUW5aRUxFZEJRMmhDZDBRc1JVRkJVME1zUjBGQmJVSkVMRU5CUVUwc1NVRkZiRU5HTEVWQlFWRnlSQ3hIUVVOU2MwUXNSVUZCWjBKNlJDeEpRVWxzUWl4SlFVRkpORVFzUlVGQllTeEhRVU5xUWl4UlFVRlhOVU1zUzBGQlMzZERMRVZCUVU4c1EwRkRja0lzU1VGQlRVc3NSVUZCU1hKRUxFVkJRVmRSTEVOQlFVTXNSVUZEYWtKRUxFVkJRVms0UXl4RFFVRkRMRVZCUlZCRUxFVkJRMVJ3UkN4RlFVRlhVU3hEUVVGRExFVkJRVWw1UXl4RlFVRmpla01zUTBGQlF5eEZRVVV2UWxJc1JVRkJWMUVzUTBGQlF5eEZRVUZKTUVNc1JVRkJUekZETEVOQlFVTXNSVUZLZUVJMFF5eEZRVUZoTEVWQlRXcENMRU5CUjBFc1NVRkJUVVVzUlVGQmNVSlFMRVZCUTNKQ1VTeEhRVUZ0UW5aRUxFTkJRVlVzUlVGRE4wSjVReXhGUVVOQlpTeEhRVUZ6UW5oRUxFTkJRVlVzUlVGRGFFTlZMRWRCUVhkQ1ZpeERRVUZWTEVWQlEzUkRVeXhGUVVGVk5rTXNSMEZCYzBJelF5eEhRVUZ0UWxnc1EwRkJWU3hGUVVVdlJDeEhRVUZKVXl4RlFVTkdMRTlCUVU5akxFVkJRVk1zVVVGQlVXUXNRMEZCVHl4RlFVbHFReXhKUVVGTlowUXNSVUZCV1ZZc1JVRkRXbGNzUjBGQlowSXhSQ3hEUVVGVkxFVkJRekZDZVVNc1JVRkRRV3RDTEVkQlFXMUNNMFFzUTBGQlZTeEZRVU0zUWtFc1JVRkRTaXhEUVVGRE5FUXNSVUZCVTBNc1EwRkJWeXhGUVVGSmRrY3NSMEZCVVcxSExFVkJRVmMzUXl4RlFVRmpkVUlzUTBGQlV5eEZRVU51UlRsR0xFVkJRVThzU1VGQlNXdEdMRVZCUVZNc1EwRkRiRUlzUjBGQlNYRkRMRVZCUTBvc1MwRkJUWHBDTEVWQlEwNHNSVUZCUnpCQ0xFVkJRMGdzU1VGQlFYaEVMRU5CUTBZc1EwRkJReXhGUVVkSUxFOUJRVWxNTEVWQlFWY3NVMEZCVnpSRExFZEJRV3RDY2tZc1JVRkJTU3hWUVVGWmJFSXNSVUZCU3l4UlFVTjRSR3RHTEVWQlFWTXNVVUZEWkN4eFFrRkRRU3gxUTBGQmRVTjJRaXhGUVVGWExFOUJRVThzYTBKQlFXdENNMFFzUlVGQlN5eE5RVUZOTEVOQlFVTXNSVUZEZWtZc1JVRkhTMEVzUTBGRFZDeERRV3RDUVN4UFFVRlBMRkZCUVZGclF5eEZRVUZOUml4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVNNVFpeEhRVUZOTEVOQlFVTjVSaXhGUVVGTk1VWXNRMEZCVlN4RlFVRkpNa1lzUjBGQllYaEdMRU5CUVVrc1JVRkROVU1zVDBGQlQwd3NSMEZCYjBJMFJpeEZRVUZOTVVZc1JVRkJXVU1zUlVGQlRTeFhRVUZaUlN4RFFVRkpMRU5CUTNKRkxFTkJaMEpCTEU5QlFVOHNXVUZCV1VFc1JVRkJUVVlzUlVGQlR5eERRVUZETEVWQlFVY3NRMEZEYkVNc1IwRkJUU3hEUVVGRGVVWXNSVUZCVFRGR0xFTkJRVlVzUlVGQlNUUkdMRWRCUVdsQ2VrWXNRMEZCU1N4RlFVTm9SQ3hQUVVGUFRDeEhRVUZ2UWpSR0xFVkJRVTB4Uml4RlFVRlpReXhGUVVGTkxGZEJRVmxGTEVOQlFVa3NRMEZEY2tVc1EwRnBRa0VzVDBGQlR5eFRRVUZUUVN4RlFVRk5SaXhGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU12UWl4SFFVRk5MRU5CUVVONVJpeEZRVUZOTVVZc1EwRkJWU3hGUVVGSk5rWXNSMEZCWXpGR0xFTkJRVWtzUlVGRE4wTXNUMEZCVDB3c1IwRkJiMEkwUml4RlFVRk5NVVlzUlVGQldVTXNSVUZCVFN4UFFVRlJRU3hEUVVGSkxFTkJRMnBGTEVOQlpVRXNUMEZCVHl4WFFVRlhSU3hGUVVGTk1rWXNSVUZCU3pkR0xFVkJRVThzUTBGQlF5eEZRVUZITEVOQlEzUkRMRWRCUVVsclF5eEZRVUZaYUVNc1EwRkJTU3hIUVVGTFowTXNSVUZCV1RKRUxFTkJRVWNzUlVGRGRFTXNUVUZCVFN4SlFVRkpOVUlzUjBGQmNVSXNhMFJCUVd0RUxFVkJSMjVHTEVkQlFVMHNRMEZCUlN4UFFVRkJOa0lzUlVGQlV5eExRVUZOTEdkQ1FVRkJReXhGUVVGclFpeEpRVUZMTEVWQlFVa3ZSaXhGUVVOb1JHZEhMRVZCUVdOMlJpeEhRVUZQTEZOQlFWTXNRMEZETlVJc1QwRkJRWEZHTEVWQlEwRXNaMEpCUVVGRExFVkJRMEVzV1VGQllTeEZRVU5tTEVOQlFVTXNSVUZEUkN4RFFVRkRUaXhGUVVGTk1VWXNSVUZCV1Vrc1JVRkJaMEpwUXl4RFFVRlBMRVZCUVVrMlJDeEhRVUZuUWtRc1JVRkJZVGxHTEVWQlFVMHlSaXhEUVVGSExFVkJRM1JHTEU5QlFVbDZSQ3hGUVVOTFl5eEZRVUZUTEZGQlFWRmtMRU5CUVU4c1JVRkZlRUoyUXl4SFFVRnZRalJHTEVWQlFVMHhSaXhGUVVGWlF5eEZRVUZOTEZWQlFWVTJSaXhEUVVGSExFZEJRVWt6Uml4RlFVRk5ReXhEUVVGakxFTkJSVFZHTEVOQlMwRXNUMEZCVHl4WFFVRlhSQ3hGUVVGTk1rWXNSVUZCU3pkR0xFVkJRVThzUTBGQlF5eEZRVUZITEVOQlEzUkRMRTlCUVU5clJDeEZRVUZUTEZkQlFWZG9SQ3hGUVVGTk1rWXNSVUZCU3pkR0xFTkJRVWtzUTBGRE5VTXNRMEZ6UWtFc1QwRkJUeXhSUVVGUlJTeEZRVUZOUml4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVNNVFpeEhRVUZOTEVOQlFVTjVSaXhGUVVGTk1VWXNRMEZCVlN4RlFVRkpiVWNzUjBGQlUyaEhMRU5CUVVrc1JVRkRlRU1zVDBGQlQwd3NSMEZCYjBJMFJpeEZRVUZOTVVZc1JVRkJXVU1zUlVGQlRTeE5RVUZQUlN4RFFVRkpMRU5CUTJoRkxFTkJVVUVzVDBGQlR5eFJRVUZSYVVjc1JVRkJVVU1zUlVGQll5eExRVUZOTEVOQlEzcERMRWRCUVVrc1EwRkJRMFFzUlVGRFNDeE5RVUZOTEVsQlFVbHNReXhIUVVGeFFpeHJSRUZCYTBRc1JVRkhia1lzU1VGQlRUZENMRVZCUVZVclJDeGhRVUZyUW5oSkxFZEJRVlYzU1N4RlFVRlRMRWxCUVVsNFNTeEhRVUZSZDBrc1JVRkJVVU1zUTBGQlZ5eEZRVVZ3Uml4SFFVRkpja1VzUlVGQlV5eGxRVU5ZTEUxQlFVMHNTVUZCU1hORkxFZEJRWEZDYWtVc1EwRkJUeXhGUVVWMFF5eFBRVUZQTEVsQlFVbGpMRVZCUVZNc1EwRkJSU3hSUVVGQlpDeERRVUZSTEVOQlFVTXNRMEZGYmtNc1EwRlBRU3hQUVVGUExGZEJRVmMxUkN4RlFVRkhMRU5CUTI1Q0xFOUJRVkZCTEVkQlFVdEJMRVZCUVVVc2FVSkJRVzlDTEVWQlEzSkRMRU5CVjBFc1NVRkJTV3RFTEVWQlFVMHNRMEZEVWl4UFFVRlBMRXRCUVV0QkxFTkJRVWtzUTBGRGJFSXNRMEZSUVN4SlFVRkpMRk5CUVZVc1EwRkRXaXhQUVVGUExFdEJRVXNzVlVGQldTeEpRVU14UWl4RFFVMUJMRWxCUVVrc1pVRkJaMElzUTBGRGJFSXNUMEZCVHl4TFFVRkxMRkZCUVZVc1MwRkJTeXhSUVVGUkxFOUJRVk1zU1VGRE9VTXNRMEZOUVN4SlFVRkpMRzlDUVVGeFFpeERRVU4yUWl4UFFVRlBMRXRCUVVzc1VVRkJWU3hMUVVGTExGRkJRVkVzV1VGQll5eEpRVU51UkN4RFFVOUJMRWxCUVVrc1VVRkJVeXhEUVVOWUxFOUJRVThzUzBGQlN5eFJRVUZWTEV0QlFVc3NTVUZCU1N4UFFVRlRMRWxCUXpGRExFTkJUMEVzU1VGQlNTeHBRa0ZCYTBJc1EwRkRjRUlzVDBGQlR5eExRVUZMTEZGQlFWVXNTMEZCU3l4SlFVRkpMR2RDUVVGclFpeEpRVU51UkN4RFFVOUJMRWxCUVVrc1owSkJRV2xDTEVOQlEyNUNMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzU1VGQlNTeGxRVUZwUWl4SlFVTnNSQ3hEUVUxQkxFbEJRVWtzVFVGQlR5eERRVU5VTEU5QlFVOHNTMEZCU3l4TFFVTmtMRU5CVFVFc1NVRkJTU3hWUVVGWExFTkJRMklzVDBGQlR5eExRVUZMTEZGQlFWVXNTMEZCU3l4TFFVRkxMRXRCUVU4c1NVRkRla01zUTBGUFFTeEpRVUZKTEUxQlFVOHNRMEZEVkN4UFFVRlBMRXRCUVVzc1VVRkJWU3hMUVVGTExFVkJRVVVzUzBGQlR5eEhRVU4wUXl4RFFVOUJMRWxCUVVrc1UwRkJWU3hEUVVOYUxFOUJRVThzUzBGQlN5eFJRVUZWTEV0QlFVc3NTMEZCU3l4TFFVRkxMRVZCUVVVc1RVRkJVU3hEUVVGRExFVkJRVWtzUjBGRGRFUXNRMEZQUVN4SlFVRkpMRTlCUVZFc1EwRkRWaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEVWQlFVVXNUVUZCVVN4SFFVTjJReXhEUVU5QkxFbEJRVWtzUzBGQlRTeERRVU5TTEU5QlFVOHNTMEZCU3l4UlFVRlZMRXRCUVVzc1JVRkJSU3hKUVVGTkxFZEJRM0pETEVOQlQwRXNTVUZCU1N4TlFVRlBMRU5CUTFRc1QwRkJUeXhMUVVGTExGRkJRVlVzUzBGQlN5eEZRVUZGTEV0QlFVOHNSMEZEZEVNc1EwRlBRU3hKUVVGSkxGRkJRVk1zUTBGRFdDeFBRVUZQTEV0QlFVc3NVVUZCVlN4TFFVRkxMRVZCUVVVc1QwRkJVeXhIUVVONFF5eERRVTlCTEVsQlFVa3NVVUZCVXl4RFFVTllMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzUlVGQlJTeFBRVUZUTEVkQlEzaERMRU5CVDBFc1NVRkJTU3hoUVVGakxFTkJRMmhDTEU5QlFVOHNTMEZCU3l4UlFVRlZMRXRCUVVzc1JVRkJSU3haUVVGakxFZEJRemRETEVOQlVVRXNTVUZCU1N4VlFVRlhMRU5CUTJJc1QwRkJUeXhMUVVGTExGRkJRVlU1UkN4SFFVRjFRaXhKUVVGSkxFVkJRVVVzVTBGQlZ5eEhRVU5vUlN4RFFWRkJMRWxCUVVrc1dVRkJZU3hEUVVObUxFOUJRVThzUzBGQlN5eFJRVUZWUVN4SFFVRjFRaXhKUVVGSkxFVkJRVVVzVjBGQllTeEhRVU5zUlN4RFFWTkJMRWxCUVVrc1UwRkJWU3hEUVVOYUxFOUJRVThzUzBGQlN5eFJRVUZWUVN4SFFVRjFRaXhKUVVGSkxFVkJRVVVzVVVGQlZTeEhRVU12UkN4RFFVOUJMRWxCUVVrc1UwRkJWU3hEUVVOYUxFOUJRVThzUzBGQlN5eFJRVUZWYTBnc1IwRkJiVUlzUzBGQlN5eERRVUZETEVWQlFVVXNVVUZCVlN4SFFVTTNSQ3hEUVZGQkxFbEJRVWtzV1VGQllTeERRVU5tTEU5QlFVOHNTMEZCU3l4UlFVRlZkMElzUjBGQlN5eFBRVUZQTEZGQlFWTXNRMEZCUlN4UFFVRlJMRXRCUVVzc1IwRkJTU3hEUVVGRExFVkJRVVVzUzBGQlN5eE5RVUZSTEVOQlFVTXNSVUZCU1N4SlFVTnlSaXhEUVZGQkxFbEJRVWtzVjBGQldTeERRVU5rTEU5QlFVOHNTMEZCU3l4UlFVRlZRU3hIUVVGTExFOUJRVThzVDBGQlVTeERRVUZGTEU5QlFWRXNTMEZCU3l4SFFVRkpMRU5CUVVNc1JVRkJSU3hMUVVGTExFMUJRVkVzUTBGQlF5eEZRVUZKTEVsQlEzQkdMRU5CVVVFc1NVRkJTU3hqUVVGbExFTkJRMnBDTEU5QlFVOHNTMEZCU3l4UlFVRlZRU3hIUVVGTExGTkJRVk1zVVVGQlV5eERRVUZGTEU5QlFWRXNTMEZCU3l4SFFVRkpMRU5CUVVNc1JVRkJSU3hMUVVGTExGRkJRVlVzUTBGQlF5eEZRVUZKTEVsQlEzcEdMRU5CVVVFc1NVRkJTU3hoUVVGakxFTkJRMmhDTEU5QlFVOHNTMEZCU3l4UlFVRlZRU3hIUVVGTExGTkJRVk1zVDBGQlVTeERRVUZGTEU5QlFWRXNTMEZCU3l4SFFVRkpMRU5CUVVNc1JVRkJSU3hMUVVGTExGRkJRVlVzUTBGQlF5eEZRVUZKTEVsQlEzaEdMRU5CVVVFc1NVRkJTU3hSUVVGVExFTkJRMWdzVDBGQlR5eExRVUZMTEZGQlFWVXNRMEZCUXl4TFFVRkxMRVZCUVVrc1IwRkRiRU1zUTBGUFFTeEpRVUZKTEdsQ1FVRnJRaXhEUVVOd1FpeFBRVUZKTEV0QlFVc3NVVUZEUVN4TFFVRkxMRXRCUVVzc1YwRkJWeXhMUVVGTExFZEJRVWtzUTBGRGJrTXNUMEZCVVN4UlFVTlNMRTlCUVZFc1MwRkJTeXhOUVVObUxFTkJRVU1zUlVGRlRTeEpRVVZZTEVOQlQwRXNTVUZCU1N4blFrRkJhVUlzUTBGRGJrSXNUMEZCU1N4TFFVRkxMRkZCUTBFc1MwRkJTeXhMUVVGTExGZEJRVmNzUzBGQlN5eEhRVUZKTEVOQlEyNURMRTlCUVZFc1QwRkRVaXhQUVVGUkxFdEJRVXNzVFVGRFppeERRVUZETEVWQlJVMHNTVUZGV0N4RFFVMUJMRWxCUVVrc1pVRkJaMElzUTBGRGJFSXNUMEZCVHl4TFFVRkxMRkZCUVZVc1MwRkJTeXhMUVVGTExGbEJRV01zU1VGRGFFUXNRMEZOUVN4SlFVRkpMRk5CUVZVc1EwRkRXaXhQUVVGSkxFdEJRVXNzWTBGRFFTeEhRVWRNTEV0QlFVc3NUMEZCVXl4TFFVRkxMRWxCUVVrc1EwRkJSU3hOUVVGUExFVkJRVWNzU1VGQlN5eERRVUZGTEVOQlFVTXNSVUZCUlN4UlFVTTNReXhMUVVGTExFOUJRVk1zUzBGQlN5eEpRVUZKTEVOQlFVVXNUVUZCVHl4RFFVRkZMRU5CUVVNc1JVRkJSU3hOUVVjelF5eERRVkZCTEVsQlFVa3NZMEZCWlN4RFFVTnFRaXhQUVVGUFF5eEhRVUZYTEV0QlFVc3NTVUZCU1N4RFFVTTNRaXhEUVZGQkxFbEJRVWtzWVVGQll5eERRVU5vUWl4UFFVRlBOMGNzUjBGQldTeExRVUZMTEV0QlFVMHNTMEZCU3l4TFFVRkxMRU5CUXpGRExFTkJVVUVzU1VGQlNTeFpRVUZoTEVOQlEyWXNUMEZCVHl4TFFVRkxMRkZCUVZVNFJ5eEhRVUZYTEV0QlFVc3NTVUZCU1N4RlFVRkpMRWRCUTJoRUxFTkJVMEVzU1VGQlNTeHBRa0ZCYTBJc1EwRkRjRUlzVDBGQlR5eExRVUZMTEZGQlFWVkRMRWRCUVdkQ0xFdEJRVXNzVVVGQlVTeEZRVUZKTEVkQlEzcEVMRU5CVVVFc2MwSkJRWE5DZWtjc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGREwwSXNSMEZCVFN4RFFVRkZMRTlCUVVFNFJpeEZRVUZSTEdkQ1FVRkJReXhGUVVGcFFpeFRRVUZCVnl4RFFVRlRMRVZCUVVsc1J5eEhRVUZWTEU5QlEzUkVMRXRCUVVzc1NVRkJTU3hOUVVGTlVpeERRVUZKTEVWQlEyNUNRU3hEUVVOR0xFVkJRVVVzWjBKQlFXZENMRWxCUVVrc1JVRkRkRUlzVFVGQlR5eERRVUZGTEU5QlFVRTRSaXhGUVVGUkxHZENRVUZCUXl4RlFVRnBRaXhsUVVGblFsY3NRMEZCVXl4RFFVTTNSQ3hEUVZsQkxFMUJRVTB6U0N4RlFVRlRMRVZCUVVkcFFpeEZRVUZQTEVOQlFVTXNSVUZCUnl4RFFVTXpRaXhQUVVGUExFdEJRVXNzVVVGQlVUQkVMRWRCUVdkQ0xGTkJRVk16UlN4RFFVRk5MRVZCUVVkcFFpeERRVUZKTEVOQlF6VkVMRU5CVVVFc1UwRkJWU3hEUVVOU0xFOUJRVThzUzBGQlN5eFJRVUZSSzBJc1JVRkJVeXhYUVVGWExFTkJRekZETEVOQlYwRXNVVUZCVVhKRkxFVkJRVTBzUTBGQlJTeGpRVUZCYVVvc1JVRkJaMElzUjBGQlR5eHBRa0ZCUVVNc1JVRkJiVUlzUlVGQlRTeEZRVUZKTEVOQlFVTXNSVUZCUnl4RFFVVjBSU3hIUVVSQmJFb3NSVUZCVDI5RkxFZEJRV053UlN4RlFVRk5jVVVzUlVGQlV5eFhRVUZYTEVWQlF6TkRja1VzUlVGQlN5eFBRVUZQTEV0QlFVc3NTVUZCU1N4RlFVTjJRaXhQUVVGUExFdEJRMFlzUjBGQlMwRXNSVUZCU3l4UlFVVldMRU5CUTB3c1NVRkJTVzFLTEVWQlFWRXNTMEZCU3l4SFFVTnFRaXhIUVVGSlJpeEhRVUZwUWtNc1JVRkJhMElzUTBGRGNrTXNTVUZCVFVVc1JVRkJZM0JLTEVWQlFVc3NUMEZCVHl4TFFVRkxMRVZCUVVVc1JVRkRha054U2l4RlFVRlJMRXRCUVVzc1UwRkJVeXhGUVVNMVFpeERRVUZEUml4RFFVRkxMRVZCUVVrMVNDeEhRVUZST0Vnc1JVRkJUMFFzUlVGQllYQktMRU5CUVVrc1EwRkROVU1zUTBGRFFTeFBRVUZQU3l4SFFVRk5MRXRCUVUwc1EwRkJSU3hIUVVGSk9Fa3NSVUZCVHl4TFFVRkJia29zUTBGQlN5eERRVUZETEVOQlEzaERMRXRCVkVVc1VVRkJUM2RHTEVWQlFWTXNVVUZCVVhwR0xFZEJRV2RDUXl4RFFVRkpMRU5CUVVNc1EwRlZha1FzUTBGUlFTeFpRVUZaTEVOQlFVVXNUMEZCUVc5SkxFVkJRVkVzWjBKQlFVRkRMRVZCUVdsQ0xHVkJRVUZwUWl4RFFVRmxMRVZCUVVrc1EwRkJReXhGUVVGSExFTkJRelZFTEVsQlFVMW9SaXhGUVVGTkxFdEJRVXNzU1VGQlNTeE5RVUZOTEVOQlFVVXNUMEZCUVRoRUxFVkJRVkVzWjBKQlFVRkRMRVZCUVdsQ0xHVkJRVUZwUWl4RFFVRmxMRU5CUVVNc1JVRkRkRVVzVDBGQlQycEtMRWRCUVUwc1MwRkJUU3hEUVVGRkxFbEJRVUZwUlN4RFFVRkpMRU5CUVVNc1EwRkROVUlzUTBGUlFTeFZRVUZWT0VRc1JVRkJVU3hEUVVOb1FpeFBRVUZQTEV0QlFVc3NXVUZCV1N4RFFVRkZMRTlCUVVGQkxFTkJRVThzUTBGQlF5eERRVU53UXl4RFFWbEJMRWxCUVVsdFFpeEZRVUZSTEVOQlExWXNSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkJVeXhQUVVGUExFdEJSVEZDTEVsQlFVMTBSaXhGUVVGaGQwTXNSMEZCWjBJNFF5eEZRVUZSZUVZc1JVRkJZU3hGUVVOMFJIbEdMRVZCUTBVc1EwRkJRMmhHTEVWQlFWbFFMRVZCUVZjc1VVRkJVU3hIUVVOb1F5eERRVUZEVHl4RlFVRlpVQ3hGUVVGWExGVkJRVlVzUjBGRGJFTXNRMEZCUTA4c1JVRkJXVkFzUlVGQlZ5eFBRVUZQTEVWQlEycERlVU1zUlVGQmEwSXNRMEZCUTJ4RExFVkJRVmxRTEVWQlFWY3NUMEZCVHl4RlFVTnFSREJETEVWQlFYRkNMRU5CUVVOdVF5eEZRVUZaVUN4RlFVRlhMRWxCUVVrc1JVRkRha1F5UXl4RlFVRnRRaXhEUVVGRGNFTXNSVUZCV1ZBc1JVRkJWeXhMUVVGTExFZEJRVXNzUTBGQlEwOHNSVUZCV1ZBc1JVRkJWeXhIUVVGSExFVkJRMmhHTkVNc1JVRkJhVUpHTEVkQlFYTkNReXhGUVVOMlEwVXNSVUZCYTBJM1F5eEZRVUZYTEZWQlFWbEJMRVZCUVZjc1YwRkZkRVFzU1VGQlN6UkRMRWRCUVd0Q1NDeEpRVUZ2UWtrc1JVRkRla01zVFVGQlRTeEpRVUZKUXl4SFFVTlNMSEZGUVVOR0xFVkJSMFlzUjBGQlNVZ3NSMEZCYjBKR0xFVkJRM1JDTEUxQlFVMHNTVUZCU1Vzc1IwRkJPRUlzZDBOQlFYZERMRVZCUjJ4R0xFbEJRVWt3UXl4RlFVTkJSQ3hGUVVOR1F5eEZRVUZST1VJc1IwRkJaMEpvU0N4SlFVRkJMRWRCUVV0UUxFZEJRV2RDTEV0QlFVc3NRMEZCUXl4SFFVRk5Oa1FzUlVGQldTeEZRVU16UkU4c1JVRkJXVkFzUlVGQlZ5eFBRVUZQTEVkQlIzaERkMFlzUlVGQlVUbEpMRWxCUVVFc1IwRkJTeXhMUVVGTExGTkJRVk1zUjBGQlRYTkVMRWRCU1RkQ1R5eEZRVUZaVUN4RlFVRlhMRWRCUVVjc1NVRkROVUozUml4RlFVRk5MRWxCUVUwc1MwRkJTeXhKUVVGSmVrZ3NSMEZCV1hsSUxFVkJRVTBzUzBGQlRVRXNSVUZCVFN4TFFVRkxMRVZCUVVkQkxFVkJRVTBzUjBGQlJ5eEpRVkIwUlVFc1JVRkJVVGRDTEVkQlFXMUNha2dzU1VGQlFTeEhRVUZMZVVjc1IwRkJiVUlzUzBGQlN5eERRVUZETEVkQlFVMXVSQ3hGUVVGWkxFVkJWemRGTEVkQlFVMHNRMEZCUXpkRExFVkJRVWxPTEVOQlFVTXNSVUZCU1ZNc1IwRkJVV3RKTEVWQlFVOHNTMEZCU3l4RlFVRkhMRXRCUVVzc1NVRkJTU3hGUVVOb1JDeFBRVUZQY0Vvc1IwRkJUU3hMUVVGTkxFTkJRVVVzUjBGQlFXVXNSVUZCU1N4RlFVRkJUaXhEUVVGRkxFTkJRVU1zUTBGRE9VSXNRMEZsUVN4TFFVRkxORWtzUlVGQlZTeERRVU5pTEVkQlFVa3NRMEZCUXl4TFFVRkxMRkZCUVZNc1QwRkJUeXhMUVVNeFFpeEpRVUZOTDBnc1JVRkJUVThzUlVGQlV5eHBRa0ZCYVVKM1NDeERRVUZSTEVWQlF6bERMRTlCUVU5eVNpeEhRVUZOTEV0QlFVMXhRaXhIUVVGWExFdEJRVTFETEVOQlFVY3NRMEZCUXl4RFFVTXhReXhEUVZGQkxFMUJRVTByU0N4RlFVRlZMRU5CUTJRc1IwRkJTU3hEUVVGRExFdEJRVXNzVVVGQlV5eFBRVUZQTEV0QlF6RkNMRWxCUVUwdlNDeEZRVUZOVHl4RlFVRlRMR2xDUVVGcFFuZElMRU5CUVZFc1JVRkJSU3hQUVVGUExFVkJRM1pFTEU5QlFVOXlTaXhIUVVGTkxFdEJRVTF4UWl4SFFVRlhMRXRCUVUxRExFTkJRVWNzUTBGQlF5eERRVU14UXl4RFFWbEJMRkZCUVZGeFF5eEZRVUZOTEVOQlExb3NSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkJVeXhQUVVGUExFdEJRekZDTEVsQlFVMXNSQ3hGUVVGSkxFTkJRVU1zUlVGRFZEWkpMRVZCUVdsQ2VrZ3NSVUZCVXl4alFVRmpPRUlzUTBGQlNTeEZRVU01UXl4UFFVRlJNa1lzUlVGQlowSXNRMEZEZEVJc1NVRkJTeXhSUVVOSU4wa3NSVUZCUlN4TlFVRlJMRVZCUlZvc1NVRkJTeXhYUVVOTUxFbEJRVXNzVTBGRFNFRXNSVUZCUlN4SlFVRk5MRVZCUlZZc1NVRkJTeXhSUVVOTUxFbEJRVXNzVDBGRFNFRXNSVUZCUlN4TFFVRlBMRVZCUlZnc1NVRkJTeXhSUVVOSVFTeEZRVUZGTEU5QlFWTXNSVUZGWWl4SlFVRkxMRlZCUTBoQkxFVkJRVVVzVDBGQlV5eEZRVVZpTEVsQlFVc3NWVUZEU0VFc1JVRkJSU3haUVVGakxFVkJRMmhDTEUxQlEwWXNTVUZCU3l4bFFVTklMRXRCUlVvc1EwRk5RU3hIUVVwSk5ra3NTVUZCYlVJc1ZVRkRja0kzU1N4RlFVRkZMRkZCUVZVc1IwRkhWalpKTEVsQlFXMUNMRmRCUVZrc1EwRkRha01zU1VGQlRVTXNSVUZCU1N4TFFVRkxMRXRCUVVzc1MwRkJTeXhOUVVGUkxFTkJRVU1zUlVGRGJFTTVTU3hGUVVGRkxFOUJRVk00U1N4RlFVRkpMRWRCUVVzc1JVRkJTU3hEUVVNeFFpeERRVVZCTEU5QlFVOHNTMEZCU3l4SlFVRkpPVWtzUTBGQlF5eERRVU51UWl4RFFWbEJMRTFCUVUxclJDeEZRVUZOTEVOQlExWXNUMEZCVHl4TFFVRkxMRkZCUTFJc1MwRkJTeXhMUVVGTExFTkJRVVVzUTBGQlEwRXNRMEZCU1N4RlFVRkhMRU5CUVVVc1EwRkJReXhGUVVOd1FpeFJRVUZSUVN4RFFVRkpMRVZCUTFvc1RVRkJUU3hEUVVGRExFVkJRMVlzU1VGRFRpeERRV2RDUVN4VFFVRlRiVVVzUlVGQlN6ZEdMRVZCUVU4c1EwRkJReXhGUVVGSExFTkJRM1pDTEU5QlFVOHNTMEZCU3l4UlFVTlNVU3hIUVVGVkxFOUJRVThzUzBGQlN5eEpRVUZKTEdOQlFXTlNMRU5CUVVrc1EwRkJReXhGUVVGRkxIbENRVUY1UWl4TFFVRk5Oa1lzUTBGQlJ5eEZRVU5xUm5SSkxFVkJRMDRzUTBGeFFrRXNaVUZCWldkTExFVkJRWEZDUXl4SFFVRlplRWdzUlVGQlR5eERRVUZETEVWQlFVY3NRMEZEZWtRc1QwRkJUeXhMUVVGTExGRkJRMUpSTEVkQlFWVXNUMEZCVHl4TFFVRkxMRWxCUVVrc1RVRkJUVklzUTBGQlNTeEZRVUZIZFVnc1EwRkJWU3hGUVVGRkxHVkJRV1VzU1VGQlNTeEZRVU4wUldoTExFVkJRMDRzUTBGbFFTeGpRVUZqZVVNc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGRGRrSXNUMEZCVHl4TFFVRkxMRkZCUTFKUkxFZEJRVlVzVDBGQlR5eExRVUZMTEVsQlFVa3NUVUZCVFZJc1EwRkJTU3hGUVVGSFFTeERRVUZKTEVWQlFVVXNiMEpCUVc5Q0xFbEJRVWtzUlVGRGNrVXNRMEZCUXl4RFFVTlFMRU5CWjBKQkxFMUJRVTBzUTBGRFNpeFBRVUZCUXl4RlFVRlRMRmRCUTFRc1owSkJRVUZqTEVWQlFXdENMRWRCUTJ4Q0xIRkNRVUZCUXl4RlFVRjFRaXhIUVVOMlFpeGpRVUZCUXl4RlFVRm5RaXhIUVVOb1FpeGhRVUZCUXl4RlFVRmxMRVZCUTJwQ0xFVkJRVWtzUTBGQlF5eEZRVUZITEVOQlEwNHNSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkRVaXhQUVVGUExFdEJSMVFzU1VGQlRYVkhMRVZCUVUxNFNDeEpRVUZYTEZkQlJXNUNVaXhGUVVGSmFVSXNSMEZCVlN4TFFVRk5LMGNzUTBGQlJ5eEZRVU16UWl4UFFVRkJhRWtzUjBGQlN5eEpRVU5NUVN4SFFVRkxjVUlzUjBGQlZTeExRVUZOTWtjc1JVRkJTekZITEVWQlFXbENReXhGUVVGelFrTXNSVUZCWlVNc1EwRkJXU3hGUVVOeVJucENMRU5CUTFRc1EwRlZRU3hWUVVGVkxFTkJRVVVzVDBGQlFWRXNSVUZCVXl4VlFVRlhMRVZCUVVrc1EwRkJReXhGUVVGSExFTkJRM1JETEU5QlFVc3NTMEZCU3l4UlFVbElVeXhIUVVGVkxFdEJRVTFVTEVsQlFWY3NWVUZCVlN4RlFVaHVReXhKUVVsWUxFTkJUMEVzWlVGQlowSXNRMEZEWkN4UFFVRlBTeXhIUVVGaExFdEJRVTBzWTBGQll5eERRVU14UXl4RFFXbENRU3hWUVVGVkxFTkJRMUlzY1VKQlFVRlZMRVZCUVhWQ0xFZEJRM1pDTEdkQ1FVRkJSQ3hGUVVGclFpeEhRVU5zUWl4alFVRkJSU3hGUVVGblFpeEhRVU5vUWl4alFVRkJlVWNzUlVGQlowSXNSMEZEYUVJc1lVRkJRWGhITEVWQlFXVXNSMEZEWml4UFFVRkJha0lzUlVGQlV5eFZRVU5ZTEVWQlFVa3NRMEZCUXl4RlFVRkhMRU5CUTA0c1QwRkJTeXhMUVVGTExGTkJTVVo1U0N4RlFVRm5RaXhKUVVGTkxFbEJSelZDTlVjc1IwRkRSU3hMUVVOQllpeEpRVUZYTEZkQlExaGpMRVZCUTBGRExFVkJRMEZETEVWQlEwRkRMRU5CUTBZc1JVRmlUeXhKUVdWWUxFTkJVVUVzVjBGQldTeERRVU5XTEU5QlFVOWFMRWRCUVdFc1MwRkJUU3huUTBGQmFVTXNSVUZCU3l4RFFVTnNSU3hEUVZWQkxGRkJRVk1zUTBGRFVDeFBRVUZQUVN4SFFVRmhMRXRCUVVzc1RVRkJUU3hGUVVGSExHbERRVUZwUXl4RFFVTnlSU3hEUVU5QkxGZEJRVmtzUTBGRFZpeFBRVUZMTEV0QlFVc3NVVUZIU0Vrc1IwRkJWU3hMUVVGTkxFVkJRVWtzUlVGR2JFSXNTVUZIV0N4RFFXTkJMRlZCUVZVc1EwRkJSU3hqUVVGQlR5eEZRVUZuUWl4SFFVRk5MRmxCUVVFd1J5eEZRVUZqTEVkQlFVOHNiVUpCUVVGRExFVkJRWEZDTEVWQlFVc3NSVUZCU1N4RFFVRkRMRVZCUVVjc1EwRkRka1lzU1VGQlNTOUNMRVZCUVUwc1pVRkZWaXhQUVVGSk9FSXNSMEZCWlRGSExFdEJRMkl5Unl4SlFVTkdMMElzUjBGQlR5eExRVVZNT0VJc1JVRkRSamxDTEVkQlFVOHNTVUZEUlRWRkxFbEJRMVEwUlN4SFFVRlBMRTlCU1VwMlJpeEhRVUZoTEV0QlFVMTFSaXhGUVVGTExFVkJRVWtzUTBGRGNrTXNRMEZqUVN4TlFVRk5OMFlzUlVGQlR5eERRVUZETEVWQlFVY3NRMEZEWml4UFFVRkxMRXRCUVVzc1VVRkpTQ3hIUVVGSExFdEJRVXNzVlVGQlZTeERRVUZETEVsQlFVa3NTMEZCU3l4VlFVRlZRU3hEUVVGSkxFTkJRVU1zUjBGSWVrTXNTVUZKV0N4RFFVMUJMRlZCUVZjc1EwRkRWQ3hQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEUxQlFVMHNSVUZCU1hwRExFVkJRM1pETEVOQlRVRXNVMEZCVlN4RFFVTlNMRTlCUVU4c1MwRkJTeXhUUVVGVExFTkJRM1pDTEVOQlRVRXNWVUZCVnl4RFFVTlVMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzUjBGQlN5eEhRVU5zUXl4RFFVMUJMRmRCUVZrc1EwRkRWaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEVkQlFVc3NTVUZCVHl4SFFVTjZReXhEUVUxQkxHVkJRV2RDTEVOQlEyUXNUMEZCVHl4TFFVRkxMRkZCUVZVc1MwRkJTeXhOUVVGTkxFdEJRVXNzUjBGQlN5eEhRVUZKTEVWQlFVa3NSMEZEY2tRc1EwRk5RU3hSUVVGVExFTkJRMUFzVDBGQlR5eExRVUZMTEUxQlFVMHNRMEZEY0VJc1EwRk5RU3hSUVVGVExFTkJRMUFzVDBGQlR5eExRVUZMTEZOQlFWTXNRMEZEZGtJc1EwRlRRU3hUUVVGVGVVTXNSVUZCVHl4RFFVRkRMRVZCUVVjc1EwRkRiRUlzUjBGQlNTeERRVUZETEV0QlFVc3NVVUZCVXl4TlFVRlBMRU5CUVVNc1JVRkZNMElzU1VGQlRUWklMRVZCUVU5NFNpeEZRVUZCTEVkQlFVc3NTMEZCU3l4SFFVVjJRaXhQUVVGSk1rSXNSVUZCU3l4blFrRkRVRFpJTEVWQlFVc3NaVUZCYVVJc1MwRkJTeXhsUVVNelFrRXNSVUZCU3l4blFrRkJhMElzUzBGQlN5eEpRVUZKTEdkQ1FVTm9RMEVzUlVGQlN5eFBRVUZUTEV0QlFVc3NTVUZCU1N4UlFVVnNRa0VzUTBGRFZDeERRVTFCTEZWQlFWY3NRMEZEVkN4UFFVRlBMRWxCUVVrc1MwRkJTeXhMUVVGTExGRkJRVlVzUzBGQlN5eEhRVUZMTEVkQlFVY3NRMEZET1VNc1EwRnRRa0VzUzBGQlMwTXNSVUZCWlhCSExFVkJRVThzWlVGQlowSXhRaXhGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU53UkN4SFFVRkpMRU5CUVVNc1MwRkJTeXhUUVVGWExFTkJRVU00U0N4RlFVRmpMRkZCUTJ4RExFOUJRVTlzU1N4RlFVRlRMRkZCUVZFc2QwTkJRWGRETEVWQlIyeEZMRWxCUVUxdFNTeEZRVUZWTVVvc1JVRkJRU3hEUVVGRkxFOUJRVkVzUzBGQlN5eFBRVUZSTEdkQ1FVRnBRaXhMUVVGTExHbENRVUZ2UWpKQ0xFZEJSVE5GTWtVc1JVRkJVWEZFTEVkQlFWZDBSeXhEUVVGSkxFVkJRVVVzU1VGQlNUbENMRVZCUVZNc1lVRkJZU3hGUVVOMlJIRkpMRVZCUVdWSUxFVkJRV01zVVVGQlVTeEZRVUZKTEV0QlFVc3NVVUZCVVN4RlFVTjBSRWtzUlVGQlZVUXNSVUZCWlN4TFFVRlBTQ3hGUVVOb1Ewc3NSVUZCVVVZc1JVRkJaVWdzUlVGQlowSXNTMEZEZGtOTkxFVkJRVk5ETEVkQlFVdElMRVZCUVZORExFVkJRVTk0UkN4RlFVRlBiMFFzUTBGQlR5eEZRVVU1UXl4UFFVRlBSU3hGUVVGbFJ5eEZRVUZQTEU5QlFVOHNSVUZCU1VFc1EwRkRNVU1zUTBGVlFTeFJRVUZSTVVjc1JVRkJUeXhsUVVGblFqRkNMRVZCUVU4c1EwRkJReXhGUVVGSExFTkJRM2hETEU5QlFVOHNTMEZCU3l4TFFVRkxhMFFzUlVGQlV5eEpRVUZKTEVWQlFVZDRRaXhGUVVGTk1VSXNRMEZCU1N4RFFVTTNReXhEUVU5QkxFMUJRVTA0U0N4RlFVRmxMRU5CUTI1Q0xFOUJRVThzUzBGQlN5eFJRVUZWVVN4SFFVRlRMR05CUVdNc1MwRkJUVklzUTBGQllTeEZRVUZKTEVsQlEzUkZMRU5CVjBFc1VVRkJVVUVzUlVGQlpYQkhMRVZCUVUwc1EwRkRNMElzUjBGQlNTeERRVUZETEV0QlFVc3NVVUZCVXl4TlFVRlBMRWRCUlRGQ0xFbEJRVTAyUnl4RlFVRlZWQ3hGUVVGakxGRkJRVkVzUlVGRGFFTlZMRVZCUVdsQ0xFdEJRVXNzVVVGQlVWWXNSVUZCWXl4TFFVRk5MRU5CUVVVc1kwRkJaU3hGUVVGTExFTkJRVU1zUlVGREwwVXNUMEZCVDFVc1JVRkJaU3hSUVVGUk9VY3NRMEZCU1N4SFFVRkxOa2NzUjBGQlYwRXNSMEZCVjBNc1JVRkJaU3hOUVVGTk9VY3NRMEZCU1N4RFFVTjRSaXhEUVZOQkxFOUJRVThyUnl4RlFVRlBMRU5CUTFvc1QwRkRSU3hMUVVGTExGTkJRMHhCTEVWQlFVMHNVMEZEVGl4TFFVRkxMRkZCUVZFc1NVRkJUVUVzUlVGQlRTeFJRVUZSTEVkQlEycERMRXRCUVVzc1MwRkJTeXhQUVVGUFFTeEZRVUZOTEVsQlFVa3NSMEZETTBJc1MwRkJTeXhKUVVGSkxFOUJRVTlCTEVWQlFVMHNSMEZCUnl4RFFVVTNRaXhEUVc5Q1FTeFhRVUZYTjBVc1JVRkJWU3hEUVVGRExFVkJRVWNzUTBGRGRrSXNSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkJVeXhQUVVGUExFdEJRekZDTEVsQlFVMXBSU3hGUVVGUGFrVXNSVUZCVVN4TlFVRlJWaXhGUVVGVExGZEJRVmNzUTBGQlF5eEZRVUZITEVOQlFVVXNTMEZCVFN4TFFVRkxMRWxCUVVzc1EwRkJReXhGUVVOMFJYZEdMRVZCUVZVNVJTeEZRVUZSTEZGQlFWY3NTMEZCVDJsRkxFVkJRVThzUTBGQlEycEZMRVZCUVZFc1VVRkJWVUVzUlVGQlVTeFJRVUZYTEVWQlF5OUZaU3hGUVVGUkxFTkJRVU1zVVVGQlV5eFRRVUZWTEU5QlFWRXNVVUZCVXl4VlFVRlhMRk5CUVZNc1JVRkRha1ZxUkN4RlFVRlBhME1zUlVGQlVTeExRVU51UWl4UFFVRkpMRTFCUVUwc1VVRkJVVUVzUlVGQlVTeEpRVUZKTEVsQlF6VkNaU3hGUVVGUlppeEZRVUZSTEV0QlEyaENiRU1zUlVGQlR5eFJRVVZHWXl4SFFVRmhjVVlzUlVGQlRTeExRVUZMTEV0QlFVdGhMRU5CUVU4c1JVRkJSM1JMTEVkQlFVRkRMRVZCUVVFc1IwRkRla04xUml4SFFVUjVReXhEUVVVMVF5eFJRVUZUTEZOQlExUXNUVUZCUVdVc1JVRkRRU3hMUVVGQmFrUXNRMEZEUml4RlFVRkRMRU5CUTBnc1EwRmxRU3h0UWtGQmJVSnJReXhGUVVGVkxFTkJRVU1zUlVGQlJ5eERRVU12UWl4UFFVRkxMRXRCUVVzc1VVRkZTSEJDTEVkQlFXRnZRaXhGUVVGUkxFMUJRVkZXTEVWQlFWTXNWMEZCVnl4RFFVRkRMRVZCUVVjc1EwRkJSU3hMUVVGTkxFdEJRVXNzU1VGQlN5eERRVUZETEVWQlFVY3NTMEZCVFRsRkxFZEJRVUZETEVWQlFVRXNSMEZEYmtaMVJpeEhRVVJ0Uml4RFFVVjBSaXhSUVVGVExFOUJRMVFzVFVGQlR5eERRVUZETEZGQlFWTXNVMEZCVlN4TlFVRk5MRVZCUTJwRExGVkJRVmNzUlVGRFlpeEZRVUZETEVWQlVIbENMRWxCVVRWQ0xFTkJUMEVzVDBGQlR5eFBRVUZQSzBVc1JVRkJWeXhEUVVOMlFpeEhRVUZKTEVOQlFVTkJMRVZCUVZVc1RVRkJUWHBHTEVWQlFWTXNWVUZCVlN4RlFVTjBReXhOUVVGTkxFbEJRVWxsTEVkQlFYRkNMSGxEUVVGNVF5eEZRVVV4UlN4UFFVRlBNa1VzUjBGQlQwUXNSVUZCV1VVc1IwRkJUVUVzUlVGQlJTeFJRVUZSTEVWQlFVY3NTMEZCU3l4SFFVRkhMRU5CUTNaRUxFTkJUMEVzVDBGQlR5eFBRVUZQUml4RlFVRlhMRU5CUTNaQ0xFZEJRVWtzUTBGQlEwRXNSVUZCVlN4TlFVRk5la1lzUlVGQlV5eFZRVUZWTEVWQlEzUkRMRTFCUVUwc1NVRkJTV1VzUjBGQmNVSXNlVU5CUVhsRExFVkJSVEZGTEU5QlFVOHlSU3hIUVVGUFJDeEZRVUZaUlN4SFFVRk5RU3hGUVVGRkxGRkJRVkVzUlVGQlJ5eExRVUZMTEVkQlFVY3NRMEZEZGtRc1EwRlhRU3hQUVVGUExHdENRVUZyUWpOSkxFVkJRVTB5Uml4RlFVRkxha01zUlVGQlZTeERRVUZETEVWQlFVY3NRMEZEYUVRc1IwRkJUU3hEUVVGRkxFOUJRVUZyUXl4RlFVRlRMRXRCUVUwc1owSkJRVUZETEVWQlFXdENMRWxCUVVzc1JVRkJTVzVETEVWQlEyaEViME1zUlVGQlkzWkdMRWRCUVU4c1UwRkJVeXhEUVVNMVFpeFBRVUZCY1VZc1JVRkRRU3huUWtGQlFVTXNSVUZEUVN4WlFVRmhMRVZCUTJZc1EwRkJReXhGUVVOSUxFOUJRVThyUXl4SFFVRnJRamxETEVWQlFXRTVSaXhGUVVGTk1rWXNRMEZCUnl4RFFVTnFSQ3hEUVV0QkxFOUJRVThzYTBKQlFXdENNMFlzUlVGQlRUSkdMRVZCUVV0cVF5eEZRVUZWTEVOQlFVTXNSVUZCUnl4RFFVTm9SQ3hQUVVGUFZpeEZRVUZUTEd0Q1FVRnJRbWhFTEVWQlFVMHlSaXhGUVVGTGFrTXNRMEZCVHl4RFFVTjBSQ3hEUVZGQkxGZEJRVmNzV1VGQllTeERRVU4wUWl4UFFVRmxORVFzUlVGRGFrSXNRMEZOUVN4WFFVRlhMRlZCUVZjc1EwRkRjRUlzVDBGQlpYVkNMRVZCUTJwQ0xFTkJUVUVzVjBGQlZ5eDFRa0ZCZDBJc1EwRkRha01zVDBGQlpVTXNSVUZEYWtJc1EwRk5RU3hYUVVGWExGZEJRVmtzUTBGRGNrSXNUMEZCWlVNc1JVRkRha0lzUTBGTlFTeFhRVUZYTEZkQlFWa3NRMEZEY2tJc1QwRkJaVU1zUlVGRGFrSXNRMEZOUVN4WFFVRlhMR0ZCUVdNc1EwRkRka0lzVDBGQlpVTXNSVUZEYWtJc1EwRk5RU3hYUVVGWExHMUNRVUZ2UWl4RFFVTTNRaXhQUVVGbFF5eEZRVU5xUWl4RFFVMUJMRmRCUVZjc2QwSkJRWGxDTEVOQlEyeERMRTlCUVdWRExFVkJRMnBDTEVOQlRVRXNWMEZCVnl4MVFrRkJkMElzUTBGRGFrTXNUMEZCWlVNc1JVRkRha0lzUTBGTlFTeFhRVUZYTEdkQ1FVRnBRaXhEUVVNeFFpeFBRVUZsUXl4RlFVTnFRaXhEUVUxQkxGZEJRVmNzYzBKQlFYVkNMRU5CUTJoRExFOUJRV1ZETEVWQlEycENMRU5CVFVFc1YwRkJWeXd5UWtGQk5FSXNRMEZEY2tNc1QwRkJaVU1zUlVGRGFrSXNRMEZOUVN4WFFVRlhMREJDUVVFeVFpeERRVU53UXl4UFFVRmxReXhGUVVOcVFpeERRVTFCTEZkQlFWY3NaMEpCUVdsQ0xFTkJRekZDTEU5QlFXVkRMRVZCUTJwQ0xFTkJUVUVzVjBGQlZ5dzJRa0ZCT0VJc1EwRkRka01zVDBGQlpVTXNSVUZEYWtJc1EwRk5RU3hYUVVGWExHTkJRV1VzUTBGRGVFSXNUMEZCWlVNc1JVRkRha0lzUTBGTlFTeFhRVUZYTERKQ1FVRTBRaXhEUVVOeVF5eFBRVUZsUXl4RlFVTnFRaXhEUVUxQkxGZEJRVmNzTWtKQlFUUkNMRU5CUTNKRExFOUJRV1ZETEVWQlEycENMRU5CVFVFc1YwRkJWeXhsUVVGblFpeERRVU42UWl4UFFVRmxReXhGUVVOcVFpeERRVTFCTEZkQlFWY3NORUpCUVRaQ0xFTkJRM1JETEU5QlFXVkRMRVZCUTJwQ0xFTkJUVUVzVjBGQlZ5eGxRVUZuUWl4RFFVTjZRaXhQUVVGbFF5eEZRVU5xUWl4RFFVMUJMRmRCUVZjc05FSkJRVFpDTEVOQlEzUkRMRTlCUVdWRExFVkJRMnBDTEVOQlEwWXNSVUZMVHl4VFFVRlRReXhIUVVGcFFrTXNSVUZCWVN4RFFVTTFReXhIUVVGSmJFMHNSVUZCVXl4WFFVRlhhMDBzUTBGQlZ5eEZRVU5xUXl4UFFVRlBRU3hGUVVOR0xFZEJRVWxCTEVkQlFXVkJMRVZCUVZrc1UwRkJWM0pITEVkQlFWTnhSeXhGUVVGWkxGRkJRVkVzUTBGQlF5eEZRVU0zUlN4UFFVRlBiRTBzUlVGQlV5eFhRVUZYYTAwc1EwRkJWeXhGUVVOcVF5eEhRVUZKUVN4SFFVRmxMRTlCUVU5QkxFZEJRV2RDTEZOQlF5OURMRTlCUVU5c1RTeEZRVUZUTEZkQlFWZHJUU3hEUVVGWExFVkJSWFJETEUxQlFVMHNTVUZCU1hCSExFZEJRMUlzT0VKQlFUaENiMGNzUTBGQlZ5eGhRVUZoTEU5QlFVOUJMRU5CUVZjc1JVRkRNVVVzUTBGRlNpeERRekZ4UlVFc1NVRkJRVU1zUjBGQmJVSXNVME5FYmtJc1NVRkJUME1zUjBGQlVTeEpRVVZRTERKbldrUlpSQ3hUUVVGVFF5eEhRVUZyUWtNc1JVRkJaU3hEUVVNM1F5eFBRVUY1UWtFc1IwRkJVU3hMUVVGaFFTeEZRVVYyUTBFc1JVRkJTU3hSUVVGUkxGRkJRVk1zVTBGQlZTeFJRVUZUTEU5QlFWRXNVVUZCVXl4VlFVRlhMRlZCUVZjc1kwRkJZeXhGUVVGRkxGVkJRVlVzUTBGRGNFZ3NRMEUwUWs4c1UwRkJVME1zUjBGQmEwSkRMRVZCUVdkQ1F5eEZRVUZ2UWtNc1JVRkJkMEpETEVWQlFYbENMRU5CUlc1SUxFOUJRVWxJTEVWQlFVc3NVVUZCVlN4SFFVRkxRU3hGUVVGTExGRkJRVlVzUjBGQlMwRXNSVUZCU3l4TlFVRlJMRVZCUXpsRFFTeEZRVUZMTEZGQlFWRXNSVUZCUlN4VFFVRlRReXhGUVVGWkxFTkJRVVVzVDBGQlFVVXNRMEZCVHl4RFFVRkRMRVZCUjJ4RVNDeEZRVUZMTEZGQlFWRXNSVUZCUlN4VFFVRlRSU3hGUVVGblFpeERRVUZGTEU5QlFVRkRMRU5CUVU4c1EwRkJReXhEUVVNM1JDeERRVWRQTEZOQlFWTkRMRWRCUVhOQ1F5eEZRVUYxUWl4RFFVTjZSRUVzUlVGQlRVTXNSMEZCYTBKRUxFTkJRVWNzUlVGSE0wSXNTVUZCU1VVc1JVRkJVeXhIUVVOaUxFOUJRVWxHTEVWQlFVa3NVVUZCVDBVc1IwRkJWU3hIUVVGSFJpeEZRVUZKTEV0QlFVc3NXVUZEYWtOQkxFVkJRVWtzVTBGQlVVVXNSMEZCVlN4SFFVRkhSaXhGUVVGSkxFMUJRVTBzWVVGRGJrTkJMRVZCUVVrc1VVRkJUMFVzUjBGQlZTeEhRVUZIUml4RlFVRkpMRXRCUVVzc1dVRkRha05CTEVWQlFVa3NUMEZCVFVVc1IwRkJWU3hIUVVGSFJpeEZRVUZKTEVsQlFVa3NWMEZETDBKQkxFVkJRVWtzVVVGQlQwVXNSMEZCVlN4SFFVRkhSaXhGUVVGSkxFdEJRVXNzV1VGRGFrTkJMRVZCUVVrc1ZVRkJVMFVzUjBGQlZTeEhRVUZIUml4RlFVRkpMRTlCUVU4c1kwRkRja05CTEVWQlFVa3NWVUZCVTBVc1IwRkJWU3hIUVVGSExFdEJRVXNzVFVGQlRVWXNSVUZCU1N4UFFVRlBMRU5CUVVNc1kwRkRha1JCTEVWQlFVa3NaVUZCWTBVc1IwRkJWU3hIUVVGSExFdEJRVXNzVFVGQlRVWXNSVUZCU1N4WlFVRlpMRU5CUVVNc1UwRkZNMFJGTEVWQlFVOHNVMEZCVXl4SlFVRkpMRWxCUVVkQkxFVkJRVk5CTEVWQlFVOHNWVUZCVlN4RlFVRkhRU3hGUVVGUExFOUJRVk1zUTBGQlF5eEhRVU5zUlVFc1EwRkRXQ3hEUVdWUExGTkJRVk5ETEVkQlFXRkRMRVZCUVhOQ0xFTkJReTlETEU5QlFVbEJMRVZCUVVzc1UwRkJVeXhIUVVGSExFbEJRVWRCTEVWQlFVOUJMRVZCUVVzc1ZVRkJWVUVzUlVGQlN5eFpRVUZaTEVkQlFVY3NSVUZCU1N4RFFVRkRMRWRCUTI1RlFTeEZRVUZMTEZOQlFWTXNTMEZCU3l4SlFVRkhRU3hGUVVGUFFTeEZRVUZMTEZWQlFWVXNSVUZCUjBFc1JVRkJTeXhQUVVGVExFTkJRVU1zUjBGRE0wUkJMRU5CUTFnc1EwRkhUeXhUUVVGVFF5eEhRVUZoUkN4RlFVRnpRaXhEUVVNdlF5eFBRVUZMUVN4RlFVRkxMRk5CUVZNc1IwRkJSeXhGUVVObVFTeEZRVUZMTEZWQlFWVkJMRVZCUVVzc1dVRkJXU3hIUVVGSExFVkJRVWtzUTBGQlF5eEZRVVJtTEVWQlJYQkRMRU5CTWtOQkxFbEJRVTFGTEVkQlFUSkRMRTlCUXpORExGTkJRVTBzU1VGQlNTeFBRVUZQUXl4SFFVRlhMRVZCUVVjc1JVRkJSU3hEUVVGRExFVkJRMnhETEZOQlFVMHNjVUpCUVhGQ0xFVkJRek5DTEdOQlFWY3NTVUZCUzBNc1IwRkJUU3hIUVVGSExFVkJRM3BDTEU5QlFVa3NTVUZCUzBFc1IwRkJUU3hIUVVGSExFTkJRM2hDTEVWQlEwc3NTMEZCU3l4RlFVTk1MRWxCUVV0RExFZEJRMHRCTEVWQlFVOHNTMEZCU3l4RlFVRkZMRVZCUVVVc1RVRkJUU3hMUVVGTExFVkJRVVVzUzBGQlN5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVTjBSQ3hGUVUxRkxGTkJRVk5ETEVkQlFYVkNReXhGUVVGM1FpeERRVU16UkN4UFFVRlBUQ3hIUVVGeFFpeFRRVUZUU3l4RFFVRk5MRU5CUXk5RExFTkZlRXBQTEVsQlFVMURMRWRCUVU0c1RVRkJUVU1zUTBGQlN5eERRV0ZrTEU5QlFXTXNTMEZCUzBNc1JVRkJZME1zUlVGQmFVSXNSMEZCVDBNc1JVRkJkMElzUTBGRE4wVXNUMEZCVHl4SlFVRkpTQ3hGUVVGTExFTkJRMW9zUzBGQlFVTXNSVUZEUVN4TlFVRkJReXhGUVVOQkxGRkJRVUZETEVWQlEwRXNVVUZCVXl4UFFVTlVMRXRCUVUwc1RVRkRWaXhEUVVGRExFTkJRMHdzUTBGSFFTeFBRVUZqTEUxQlFVMURMRVZCUVd0Q1JpeEZRVUZwUWl4SFFVRlBReXhGUVVGM1FpeERRVU5zUml4SFFVRkpReXhGUVVGVExGTkJRVk1zU1VGQlNTeEZRVUZITEVOQlEzcENMRWxCUVVsRExFVkJRVkZFTEVWQlFWTXNUVUZCVFN4SlFVRkpMRVZCUXk5Q0xFOUJRVTlLTEVWQlFVc3NUVUZCVFVzc1JVRkJUU3hEUVVGRExFVkJRVWRCTEVWQlFVMHNRMEZCUXl4RlFVRkhTQ3hGUVVGUFF5eERRVUZQTEVOQlEzaEVMRk5CUVZkRExFVkJRVk1zVTBGQlV5eEhRVUZITEVWQlFVY3NRMEZETDBJc1NVRkJTVU1zUlVGQlVVUXNSVUZCVXl4TlFVRk5MRWRCUVVjc1JVRkRPVUlzVDBGQlQwb3NSVUZCU3l4UFFVRlBTeXhGUVVGTkxFTkJRVU1zUlVGQlIwRXNSVUZCVFN4RFFVRkRMRVZCUVVkSUxFVkJRVTlETEVOQlFVOHNRMEZEZWtRc1MwRkJUeXhSUVVGUFNDeEZRVUZMTEV0QlFVdEpMRVZCUVZWR0xFVkJRVTlETEVOQlFVOHNRMEZEY0VRc1EwRkhRU3hQUVVGakxFOUJRVTlHTEVWQlFXTkxMRVZCUVdkQ1NpeEZRVUZwUWtNc1JVRkJkMElzUTBGRmVFWXNUMEZCVHl4SlFVRkpTQ3hGUVVGTExFTkJRMW9zUzBGQlFVTXNSVUZEUVN4TlFVRkJReXhGUVVOQkxGRkJRVUZETEVWQlEwRXNVVUZCVTBrc1IwRkJkVUpFTEVOQlFVMHNSVUZEZEVNc1MwRkJUU3hSUVVOV0xFTkJRVU1zUTBGRFRDeERRVWRCTEU5QlFXTXNUVUZCVFV3c1JVRkJZMDhzUlVGQmFVSk9MRVZCUVdsQ1F5eEZRVUYzUWl4RFFVTjRSaXhQUVVGUExFbEJRVWxJTEVWQlFVc3NRMEZEV2l4TFFVRkJReXhGUVVOQkxFMUJRVUZETEVWQlEwRXNVVUZCUVVNc1JVRkRRU3hSUVVGVFN5eEZRVU5VTEV0QlFVMHNUMEZEVml4RFFVRkRMRU5CUTB3c1EwRkhRU3hQUVVGakxGZEJRVmRETEVWQlFYZENMRU5CUXpkRExFOUJRVThzU1VGQlNWUXNSVUZCUzFNc1EwRkJUU3hEUVVNeFFpeERRVWRCTEU5QlFXTXNWMEZCVjBNc1JVRkJkVUlzUTBGRE5VTXNSMEZCU1N4RFFVRkRReXhGUVVGTlVpeERRVUZQTEVWQlFVbFRMRWRCUVhGQ1JpeERRVUZQTEVWQlEyeEVMRTlCUVU5V0xFVkJRVXNzVFVGQlRWY3NSVUZCVFN4SFFVRlBVaXhEUVVGUExFTkJRekZETEVOQlJWRXNXVUZCV1ZVc1JVRkJkVUlzUTBGRGRrTXNUMEZCVHl4UFFVRlBMRXRCUVUxQkxFTkJRVTBzUTBGRE9VSXNRMEZIVHl4VFFVRlRXaXhGUVVGdlFpeERRVU5vUXl4UFFVRlBMRWxCUVVsRUxFVkJRVXNzVDBGQlR5eFBRVUZQTEVOQlFVTXNSVUZCUnl4TFFVRk5MRU5CUVVVc1MwRkJRVU1zUTBGQlN5eERRVUZETEVOQlFVTXNRMEZEY2tRc1EwRkhUeXhaUVVGWlJTeEZRVUYzUWl4RFFVTjJReXhQUVVGUExFbEJRVWxJTEVWQlFVc3NUMEZCVHl4UFFVRlBMRU5CUVVNc1JVRkJSeXhMUVVGTkxFTkJRVVVzVVVGQlFVY3NRMEZCVVN4RFFVRkRMRU5CUVVNc1EwRkRlRVFzUTBGSFR5eFZRVUZWUkN4RlFVRnpRaXhEUVVOdVF5eFBRVUZKTEV0QlFVc3NUMEZCVTBFc1JVRkJZeXhMUVVWNlFpeEpRVUZKUml4RlFVRkxMRTlCUVU4c1QwRkJUeXhEUVVGRExFVkJRVWNzUzBGQlRTeERRVUZGTEUxQlFVRkZMRU5CUVUwc1EwRkJReXhEUVVGRExFTkJRM1JFTEVOQlIwOHNWMEZCVjBrc1JVRkJjMElzUTBGRGNFTXNUMEZCVDA0c1JVRkJTeXhQUVVGUExFdEJRVXNzUzBGQlRVMHNSVUZCVVN4TFFVRkxMRTFCUVU4c1MwRkJTeXhQUVVGUExFTkJRMnhGTEVOQlIwOHNWVUZCVlZFc1JVRkJjVUlzUTBGRGJFTXNUMEZCVDJRc1JVRkJTeXhOUVVGTkxFdEJRVXNzUzBGQlRXTXNSVUZCVHl4TFFVRkxMRTFCUVU4c1MwRkJTeXhQUVVGUExFTkJRMmhGTEVOQlIwOHNUMEZCVDBNc1JVRkJjMElzUTBGRGFFTXNUMEZCU1VFc1IwRkJVeXhOUVVGaFFTeEhRVUZUTEV0QlFXRXNSMEZGZWtNc1MwRkJTeXhOUVVGUlFTeEZRVUZOTEUxQlFWRXNTMEZCU3l4TlFVRlJRU3hGUVVGTkxFMUJRVkVzUzBGQlN5eFRRVUZYUVN4RlFVRk5MRTlCUTNaR0xFTkJSMDhzVlVGQmJVSXNRMEZEZEVJc1QwRkJUeXhMUVVGTExGTkJRVk1zUTBGRGVrSXNRMEZIVHl4VlFVRnhRaXhEUVVONFFpeE5RVUZQTEVOQlEwZ3NTMEZCVFN4TFFVRkxMRXRCUTFnc1MwRkJUU3hMUVVGTExFdEJRMWdzVVVGQlV5eExRVUZMTEZGQlEyUXNVVUZCVXl4TFFVRkxMRkZCUTJRc1RVRkJUeXhMUVVGTExFdEJRMmhDTEVOQlEwb3NRMEZIVHl4UlFVRmxMRU5CUTJ4Q0xFOUJRVTltTEVWQlFVc3NTMEZCU3l4TFFVRkxMRXRCUVUwc1MwRkJTeXhOUVVGUExFdEJRVXNzVDBGQlR5eERRVU40UkN4RFFVZFBMRk5CUVdkQ0xFTkJRMjVDTEU5QlFVOHNTMEZCU3l4VlFVRlZMRVZCUVVrc1EwRkRPVUlzUTBGSFR5eFhRVUZyUWl4RFFVTnlRaXhQUVVGUExFdEJRVXNzVlVGQlZTeEZRVUZMTEVOQlF5OUNMRU5CUjA4c1ZVRkJiVUlzUTBGRGRFSXNTVUZCU1dkQ0xFZEJRVlVzUzBGQlN5eE5RVUZSTEVsQlFVMHNTVUZCVFN4TFFVRlBMRXRCUVVzc1lVRkJZU3hGUVVOb1JTeFBRVUZCUVN4SFFVRlZMRWxCUTFaQkxFZEJRVlVzUzBGQlN5eHBRa0ZCYVVJc1JVRkRhRU5CTEVkQlFWVXNTMEZEU0VFc1EwRkRXQ3hEUVVkUExHdENRVUZ0UWl4RFFVTjBRaXhIUVVGSkxFdEJRVXNzVVVGRFRDeFBRVUZQTEV0QlFVc3NVVUZEVkN4RFFVTklMRWxCUVVsQkxFVkJRVk5ETEVkQlFXRXNTMEZCU3l4SlFVRkpMRVZCUTI1RExFOUJRVWtzUzBGQlN5eE5RVUZSTEZWQlFWa3NTMEZCU3l4TlFVRlJMRmRCUVZORUxFZEJRVlVzVFVGQlVTeExRVUZMTEZOQlJXNUZRU3hEUVVOWUxFTkJRMG9zUTBGSFR5eGpRVUYxUWl4RFFYQkxiRU1zU1VGQlFVVXNSVUZCUVVNc1JVRnhTMUVzU1VGQlRVTXNSVUZCVlN4TFFVRkxMRXRCUVVzc1VVRkJVU3hKUVVGTExFdEJRVXNzUlVGRE5VTXNUMEZCU1N4TFFVRkxMRTFCUVZFc1UwRkJhVUpCTEVWQlFWVXNUVUZCVFVZc1JVRkJRU3hMUVVGTExGVkJRVXdzV1VGQlFVRXNSVUZCWXl4UlFVRlJMRWxCUVVzc1VVRkRla1VzUzBGQlN5eE5RVUZSTEZGQlFXZENSU3hGUVVGVkxFOUJRVTlFTEVWQlFVRXNTMEZCU3l4VlFVRk1MRmxCUVVGQkxFVkJRV01zVVVGQlVTeEpRVUZMTEZGQlEycEZReXhEUVVOb1FpeERRVWRQTEZWQlFXMUNMRU5CUTNSQ0xFOUJRVTlJTEVkQlFXRXNTMEZCU3l4SlFVRkpMRU5CUTJwRExFTkJRMG9zUlVGeFFrOHNVMEZCVTB3c1IwRkJjVUpFTEVWQlFUUkRMRU5CUXpkRkxFbEJRVWxWTEVWQlFVOHNSMEZEV0N4TlFVRlJRU3hGUVVGUFZpeEZRVUZMTEZGQlFWRXNTVUZCUzFVc1JVRkJUeXhEUVVGRExFbEJRVTBzUjBGRE0wTXNSMEZCU1N4RlFVRkJRU3hGUVVGUExFZEJRVXRXTEVWQlFVdFZMRVZCUVU4c1EwRkJReXhIUVVGTExFMUJRMnhETEUxQlFVOHNRMEZCUTFZc1JVRkJTeXhWUVVGVkxFVkJRVWRWTEVOQlFVa3NSVUZCUlN4UlFVRlJMRkZCUVZNc1IwRkJSeXhGUVVGSFZpeEZRVUZMTEZWQlFWVlZMRVZCUVU4c1EwRkJReXhEUVVGRExFVkJSMjVHTEUxQlFVOHNRMEZCUTFZc1JVRkJTeXhSUVVGUkxGRkJRVk1zUjBGQlJ5eEZRVUZITEUxQlFWTXNRMEZEYWtRc1EwTTFUVUVzU1VGQlRWY3NSMEZCVVN4UFFVRlBMRWxCUVVrc1dVRkJXU3hGUVVNdlFrTXNSMEZCVFN4UFFVRlBMRWxCUVVrc1pVRkJaU3hGUVVOb1EwTXNSMEZCVFN4UFFVRlBMRWxCUVVrc1ZVRkJWU3hGUVVNelFrTXNSMEZCVHl4UFFVRlBMRWxCUVVrc1YwRkJWeXhGUVVNM1FrTXNSMEZCVXl4UFFVRlBMRWxCUVVrc1lVRkJZU3hGUVVOcVEwTXNSMEZCVFN4UFFVRlBMRWxCUVVrc1ZVRkJWU3hGUVVNelFrTXNSMEZCV1N4UFFVRlBMRWxCUVVrc1owSkJRV2RDTEVWQlEzWkRReXhIUVVGWFF5eEhRVUZUTEVOQlFVTXNRMEZCUTBFc1IwRkJVU3hQUVVGUFFTeEhRVUZUTEZWQlFWbEJMRVZCUVV0R0xFVkJRVk1zU1VGQlRVNHNSMEZET1VWVExFZEJRV05FTEVkQlFWTXNRMEZCUXl4RFFVRkRRU3hIUVVGUkxFOUJRVTlCTEVkQlFWTXNWVUZCV1VFc1JVRkJTMFlzUlVGQlV5eEpRVUZOVEN4SFFVTnFSbE1zUjBGQlUwWXNSMEZCVXl4RFFVRkRMRU5CUVVOQkxFZEJRVkVzVDBGQlQwRXNSMEZCVXl4VlFVRlpRU3hGUVVGTFJpeEZRVUZUTEVsQlFVMUtMRWRCUXpWRlV5eEZRVUZWU0N4SFFVRlRMRU5CUVVNc1EwRkJRMEVzUjBGQlVTeFBRVUZQUVN4SFFVRlRMRlZCUVZsQkxFVkJRVXRHTEVWQlFWTXNTVUZCVFVnc1IwRkROMFZUTEVWQlFWbEtMRWRCUVZNc1EwRkJReXhEUVVGRFFTeEhRVUZSTEU5QlFVOUJMRWRCUVZNc1ZVRkJXVUVzUlVGQlMwWXNSVUZCVXl4SlFVRk5SaXhIUVVNdlJWTXNSMEZCVTB3c1IwRkJVeXhEUVVGRExFTkJRVU5CTEVkQlFWRXNUMEZCVDBFc1IwRkJVeXhWUVVGWlFTeEZRVUZMUml4RlFVRlRMRWxCUVUxRUxFZEJRMnhHTEZOQlFWTlRMRVZCUVdGT0xFVkJRVTBzUTBGRGVFSXNSMEZCU1VFc1IwRkJVU3hQUVVGUFFTeEhRVUZUTEZOQlEzaENMRTlCUVZGQkxFVkJRVXRHTEVWQlFWTXNSVUZCUnl4RFFVTnlRaXhMUVVGTFNpeEhRVU5NTEV0QlFVdEhMRWRCUTBRc1RVRkJUeXhGUVVObUxFTkJRMG9zVFVGQlR5eEZRVU5ZTEVOQlEwRXNVMEZCVTFVc1JVRkJUMUFzUlVGQlRTeERRVU5zUWl4SFFVRkpRU3hIUVVGUkxFOUJRVTlCTEVkQlFWTXNVMEZEZUVJc1QwRkJVVUVzUlVGQlMwWXNSVUZCVXl4RlFVRkhMRU5CUTNKQ0xFdEJRVXRPTEVkQlEwd3NTMEZCUzBVc1IwRkRUQ3hMUVVGTFJTeEhRVU5NTEV0QlFVdERMRWRCUTBRc1RVRkJUeXhGUVVObUxFTkJRMG9zVFVGQlR5eEZRVU5ZTEVOQlEwRXNTVUZCVFZjc1IwRkJZVklzU1VGQlZVa3NSVUZCVTBvc1EwRkJTU3hIUVVGTFRTeEZRVUZoVGl4RFFVRkpMRWxCUVUwc1EwRkJReXhEUVVGRFFTeEZRVUZMTEU5REwwSTNSU3hKUVVGTlV5eEhRVUZSTEU5QlFVOHNZVUZCWVN4RlFVTTFRa01zUjBGQlR5eFBRVUZQTEdWQlFXVXNSVUZETjBKRExFZEJRVk1zVDBGQlR5eGhRVUZoTEVWQkswSnVReXhUUVVGVFF5eEhRVUZOUXl4RlFVRk5ReXhGUVVGVExFTkJRekZDTEVsQlFVMURMRVZCUVZkRExFZEJRVmxHTEVOQlFVOHNSVUZEYUVOSExFZEJRVmRLTEVOQlFVa3NSVUZEU2tzc1IwRkJUeXhMUVVGTlRDeEZRVUZMTEZOQlFWVkZMRVZCUVZVc1QwRkJUeXhQUVVGUExFTkJRVU5HTEVOQlFVa3NRMEZCUXl4RFFVRkRMRWxCUXpORVJpeExRVU5RUlN4RlFVRkxMRk5CUVZjc1RVRkhjRUpMTEVkQlFVOHNTMEZCVFV3c1JVRkJUVVVzUlVGQlZTeFBRVUZQTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkRkRVFzUTBGTFFVZ3NSMEZCVFN4TlFVRlJTQ3hIUVVWa1J5eEhRVUZOTEV0QlFVOUdMRWRCUldKRkxFZEJRVTBzVDBGQlUwUXNSMEZEWml4VFFVRlRUeXhIUVVGUFF5eEZRVUZMVGl4RlFVRk5ReXhGUVVGVFRTeEZRVUZOTEVOQlEzUkRMRWxCUVUxRExFVkJRVTlETEVkQlFWbElMRVZCUVV0T0xFVkJRVTFETEVWQlFWTk5MRU5CUVVrc1JVRkRha1FzUjBGQlNVY3NSVUZCVDBZc1EwRkJTU3hIUVVGTFJ5eEZRVUZQU0N4RFFVRkpMRVZCUXpOQ0xFOUJRVUZKTEVkQlFWbE9MRVZCUVV0RExFVkJRVTFETEVOQlFVa3NSVUZEY0VKSUxFZEJRVTlETEVWQlFVdEZMRVZCUVUxUUxFVkJRVk5OTEVOQlFVa3NSVUZGTVVNc1IwRkJTU3hQUVVGUFF5eEhRVUZUTEZWQlEyaENMRWRCUVVsTExFVkJRV0ZpTEVOQlFVa3NSVUZCUnl4RFFVTndRazhzUlVGQlR5eFBRVUZQTEU5QlFVOUJMRVZCUVVzc1QwRkJUMUFzUTBGQlNTeERRVUZETEVWQlEzUkRMRkZCUVZNc1JVRkJTU3hGUVVGSExFVkJRVWxCTEVWQlFVc3NUVUZCVFN4UFFVRlJMRVZCUVVVc1JVRkJSeXhEUVVONFF5eEpRVUZOWXl4RlFVRkxWQ3hIUVVGUExFVkJRVWRNTEVWQlFVc3NUVUZCVFN4RFFVRkRMRVZCUVVkRExFVkJRVk5OTEVOQlFVa3NSVUZEYWtRc1IwRkJTU3hQUVVGUFR5eEhRVUZQTEZOQlEyUXNSVUZCU1VFc1JVRkJTeXhOUVVOU0xFbEJRVWxCTEVsQlFVOXNRaXhIUVVOYUxFOUJRVTlCTEVkQlEwWnJRaXhKUVVGUGFFSXNTMEZEV2tVc1JVRkJTeXhOUVVGTkxFOUJRVThzUlVGQlJ5eERRVUZETEVWQlEzUkNMRWRCUVVzc1IwRkZZaXhEUVVOS0xGTkJRMU5YTEVWQlFVOVlMRU5CUVVrc1JVRkJSeXhEUVVOdVFrOHNSVUZCVHl4UFFVRlBMRTlCUVU5QkxFVkJRVXNzVDBGQlQxQXNRMEZCU1N4RFFVRkRMRVZCUTNSRExFbEJRVTFsTEVWQlFVdFdMRWRCUVU4c1RVRkJUMHdzUlVGQlN5eEpRVUZMUXl4RlFVRlRUU3hEUVVGSkxFVkJRMmhFTEVkQlFVbFJMRWxCUVU5dVFpeEhRVU5RTEU5QlFVOUJMRWRCUTBadFFpeEpRVUZQYWtJc1MwRkRXa1VzUlVGQlN5eEpRVUZOTEUxQlEyWXNTVUZCVFdkQ0xFVkJRVXRZTEVkQlFVOHNVVUZCVTB3c1JVRkJTeXhOUVVGUFF5eEZRVUZUVFN4RFFVRkpMRVZCUTNCRUxFZEJRVWxUTEVsQlFVOXdRaXhIUVVOUUxFOUJRVTlCTEVkQlEwWnZRaXhKUVVGUGJFSXNTMEZEV2tVc1JVRkJTeXhOUVVGUkxFdEJRM0pDTEVWQlJVb3NUMEZCVDFFc1EwRkRXQ3hEUVdkRFFTeGxRVUZsVXl4SFFVRlhha0lzUlVGQlRVTXNSVUZCVXl4RFFVTnlReXhKUVVGTlF5eEZRVUZYUXl4SFFVRlpSaXhEUVVGUExFVkJRMmhEUnl4SFFVRlhTaXhEUVVGSkxFVkJRMG9zVFVGQlRXdENMRWRCUVZrc1MwRkJUV3hDTEVWQlFVc3NVMEZCVlVVc1JVRkJWU3hQUVVGUExFOUJRVThzUTBGQlEwWXNRMEZCU1N4RFFVRkRMRU5CUVVNc1NVRkRkRVZHTEV0QlExQkZMRVZCUVVzc1UwRkJWeXhOUVVkd1FpeE5RVUZOYTBJc1IwRkJXU3hMUVVGTmJFSXNSVUZCVFVVc1JVRkJWU3hQUVVGUExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZEYWtVc1EwRkxRV1VzUjBGQlZ5eE5RVUZSY2tJc1IwRkZia0p4UWl4SFFVRlhMRXRCUVU5d1FpeEhRVVZzUW05Q0xFZEJRVmNzVDBGQlUyNUNMRWRCUTNCQ0xHVkJRV1Z2UWl4SFFVRlpXaXhGUVVGTFRpeEZRVUZOUXl4RlFVRlRUU3hGUVVGTkxFTkJRMnBFTEVsQlFVMURMRVZCUVU4c1RVRkJUVU1zUjBGQldVZ3NSVUZCUzA0c1JVRkJUVU1zUlVGQlUwMHNRMEZCU1N4RlFVTjJSQ3hIUVVGSlJ5eEZRVUZQUml4RFFVRkpMRWRCUVV0SExFVkJRVTlJTEVOQlFVa3NSVUZETTBJc1QwRkJRVWtzUjBGQldVNHNSVUZCUzBNc1JVRkJUVU1zUTBGQlNTeEZRVU53UWxVc1IwRkJXVm9zUlVGQlMwVXNSVUZCVFZBc1JVRkJVMDBzUTBGQlNTeEZRVVV2UXl4SFFVRkpMRTlCUVU5RExFZEJRVk1zVlVGRGFFSXNSMEZCU1Vzc1JVRkJZV0lzUTBGQlNTeEZRVUZITEVOQlEzQkNUeXhGUVVGUExFOUJRVThzVDBGQlQwRXNSVUZCU3l4UFFVRlBVQ3hEUVVGSkxFTkJRVU1zUlVGRGRFTXNVVUZCVXl4RlFVRkpMRVZCUVVjc1JVRkJTVUVzUlVGQlN5eE5RVUZOTEU5QlFWRXNSVUZCUlN4RlFVRkhMRU5CUTNoRExFbEJRVTFqTEVWQlFVc3NUVUZCVFVrc1IwRkJXU3hGUVVGSGJFSXNSVUZCU3l4TlFVRk5MRU5CUVVNc1JVRkJSME1zUlVGQlUwMHNRMEZCU1N4RlFVTTFSQ3hIUVVGSkxFOUJRVTlQTEVkQlFVOHNVMEZEWkN4RlFVRkpRU3hGUVVGTExFMUJRMUlzU1VGQlNVRXNTVUZCVDJ4Q0xFZEJRMW9zVDBGQlQwRXNSMEZEUm10Q0xFbEJRVTlvUWl4TFFVTmFSU3hGUVVGTExFMUJRVTBzVDBGQlR5eEZRVUZITEVOQlFVTXNSVUZEZEVJc1IwRkJTeXhIUVVWaUxFTkJRMG9zVTBGRFUxY3NSVUZCVDFnc1EwRkJTU3hGUVVGSExFTkJRMjVDVHl4RlFVRlBMRTlCUVU4c1QwRkJUMEVzUlVGQlN5eFBRVUZQVUN4RFFVRkpMRU5CUVVNc1JVRkRkRU1zU1VGQlRXVXNSVUZCU3l4TlFVRk5SeXhIUVVGWkxFMUJRVTlzUWl4RlFVRkxMRWxCUVV0RExFVkJRVk5OTEVOQlFVa3NSVUZETTBRc1IwRkJTVkVzU1VGQlQyNUNMRWRCUTFBc1QwRkJUMEVzUjBGRFJtMUNMRWxCUVU5cVFpeExRVU5hUlN4RlFVRkxMRWxCUVUwc1RVRkRaaXhKUVVGTlowSXNSVUZCU3l4TlFVRk5SU3hIUVVGWkxGRkJRVk5zUWl4RlFVRkxMRTFCUVU5RExFVkJRVk5OTEVOQlFVa3NSVUZETDBRc1IwRkJTVk1zU1VGQlQzQkNMRWRCUTFBc1QwRkJUMEVzUjBGRFJtOUNMRWxCUVU5c1FpeExRVU5hUlN4RlFVRkxMRTFCUVZFc1MwRkRja0lzUlVGRlNpeFBRVUZQVVN4RFFVTllMRU5CUTBFc1UwRkJVMHdzUjBGQldVWXNSVUZCVXl4RFFVTXhRaXhQUVVGSkxFOUJRVTlCTEVkQlFWa3NWMEZEYkVKQkxFVkJRVkVzV1VGQlkwRXNSVUZCVVN4TlFVRlJRU3hGUVVGUkxFOUJRM2hETEU5QlFVOHNUMEZCVHl4RFFVTnFRaXhOUVVGUFFTeEZRVUZSTEV0QlEyWXNTVUZCUzBFc1JVRkJVU3hMUVVOaUxFOUJRVkZCTEVWQlFWRXNTMEZEYUVJc1NVRkJTMEVzUlVGQlVTeEpRVU5xUWl4RlFVRkhRU3hGUVVGUkxFOUJRVk1zUTBGRGFFSXNTVUZCUzBFc1JVRkJVU3hOUVVOaUxFOUJRVkZCTEVWQlFWRXNUVUZEYUVJc1NVRkJTMEVzUlVGQlVTeExRVU5xUWl4RlFVRkhRU3hGUVVGUkxGbEJRV01zUTBGRGNrSXNTVUZCUzBFc1JVRkJVU3hYUVVOaUxFbEJRVXRCTEVWQlFWRXNWVUZEYWtJc1JVRkJSMEVzUTBGQlR5eEZRVVZRUVN4RFFVTllMRU5CUTBFc1UwRkJVMUVzUjBGQldVZ3NSVUZCUzA0c1JVRkJUVU1zUlVGQlUwMHNSVUZCVFN4RFFYSk5MME1zU1VGQlFWa3NSVUZCUVVNc1JVRkJRVU1zUlVGQlFVTXNSVUZCUVVNc1JVRnpUVWtzUjBGQlNTeFBRVUZQZEVJc1IwRkJXU3hYUVVOdVFpeFBRVUZQUVN4RlFVRlJTeXhGUVVGTFRpeEZRVUZOVHl4RFFVRkpMRVZCUTJ4RExFZEJRVWxwUWl4SFFVRk5lRUlzUTBGQlNTeEZRVU5XTEU5QlFVOXRRaXhGUVVGQmJFSXNSVUZCVVN4TlFVRlNMRmxCUVVGclFpeEZRVUZCTEV0QlFVRnNRaXhGUVVGalN5eEZRVUZMVGl4RlFVRk5UeXhIUVVOd1F5eEhRVUZKYTBJc1IwRkJUWHBDTEVOQlFVa3NSVUZEVml4UFFVRlBiMElzUlVGQlFXNUNMRVZCUVZFc1RVRkJVaXhaUVVGQmJVSXNSVUZCUVN4TFFVRkJia0lzUlVGQlkwc3NSVUZCUzA0c1JVRkJUVThzUjBGRGNFTXNSMEZCU1Vrc1JVRkJUMWdzUTBGQlNTeEZRVU5ZTEU5QlFVOXhRaXhGUVVGQmNFSXNSVUZCVVN4UFFVRlNMRmxCUVVGdlFpeEZRVUZCTEV0QlFVRndRaXhGUVVGbFN5eEZRVUZMVGl4RlFVRk5UeXhIUVVOeVF5eEhRVUZKYlVJc1JVRkJVekZDTEVOQlFVa3NSVUZEWWl4UFFVRlBjMElzUlVGQlFYSkNMRVZCUVZFc1UwRkJVaXhaUVVGQmNVSXNSVUZCUVN4TFFVRkJja0lzUlVGQmFVSkxMRVZCUVV0T0xFVkJRVTFQTEVkQlEzWkRMRWRCUVVsdlFpeEhRVUZSTTBJc1EwRkJTU3hGUVVOYUxFOUJRVTkxUWl4RlFVRkJkRUlzUlVGQlVTeFJRVUZTTEZsQlFVRnpRaXhGUVVGQkxFdEJRVUYwUWl4RlFVRm5Ra3NzUlVGQlMwNHNSVUZCVFU4c1JVRkZNVU1zUTBGRFFTeFRRVUZUU3l4SFFVRlpUaXhGUVVGTFF5eEZRVUZOVUN4RlFVRk5MRU5CUTJ4RExFbEJRVTAwUWl4RlFVRlRja0lzUlVGQlMwRXNSVUZCU3l4UFFVRlRMRU5CUVVNc1JVRkRia01zUjBGQlNVMHNSVUZCWVdVc1EwRkJUU3hGUVVOdVFrRXNSVUZCVHl4TlFVRk5kRUlzUTBGQlJ5eEZRVUZKVGl4VlFVVm1WeXhGUVVGUGFVSXNRMEZCVFN4RlFVTmtkRUlzU1VGQlVTeE5RVU5TYzBJc1JVRkJUeXhKUVVGTk5VSXNSVUZGWWpSQ0xFVkJRVThzVFVGQlVUVkNMRlZCUldSSkxFZEJRVmQzUWl4RFFVRk5MRVZCUTNSQ1FTeEZRVUZQTEZOQlFWYzFRaXhOUVVWcVFpeERRVU5FTEVsQlFVMDJRaXhGUVVGTFJpeEhRVUZSUXl4RFFVRk5MRVZCUVVrc1VVRkJWU3hUUVVOMlF5eE5RVUZOTEVsQlFVa3NUVUZCVFN3MFFrRkJORUpETEVOQlFVVXNVMEZCVXl4RFFVTXpSQ3hEUVVOS0xFTkRiazlCTEVsQlFVMURMRWRCUVdNc1EwRkRhRUlzU1VGQlN5eE5RVU5NTEVsQlFVc3NUVUZEVEN4SlFVRkxMRTFCUTB3c1NVRkJTeXhOUVVOTUxFbEJRVXNzVFVGRFRDeEpRVUZMTEV0QlExUXNSVUZEVFVNc1IwRkJhVUpETEVkQlFVOUJMRVZCUVVjc1VVRkJVU3hoUVVGalF5eEhRVUZOU0N4SFFVRlpSeXhEUVVGRkxFTkJRVU1zUlVGRGRFVkRMRWRCUVU0c1RVRkJUVU1zUTBGQlZ5eERRVU5pTEZsQlFWbERMRVZCUVUxRExFVkJRVTBzUTBGTGNFSXNTMEZCU3l4VFFVRlhMRXRCUldoQ0xFdEJRVXNzVDBGQlV5eEhRVU5rTEV0QlFVc3NTMEZCVHl4UFFVRlBMRTlCUVU4c1EwRkJReXhGUVVGSFJpeEZRVUZYTEZsQlFXRkRMRU5CUVVrc1JVRkRNVVFzUzBGQlN5eExRVUZQTEU5QlFVOHNUMEZCVHl4RFFVRkRMRVZCUVVkRUxFVkJRVmNzV1VGQllVVXNRMEZCU1N4RFFVTTVSQ3hEUVVOQkxFOUJRVkVzUTBGRFNpeEpRVUZOUXl4RlFVRlBMRWxCUVVsSUxFVkJRVmNzUzBGQlN5eExRVUZOTEV0QlFVc3NTVUZCU1N4RlFVTm9SQ3hQUVVGQlJ5eEZRVUZMTEZOQlFWY3NTMEZCU3l4VFFVTmtRU3hEUVVOWUxFTkJTMEVzV1VGQllTeERRVU5VTEVsQlFVMURMRVZCUVUwc1NVRkJTVW9zUlVGQlZ5eExRVUZMTEV0QlFVMHNTMEZCU3l4SlFVRkpMRVZCUXk5RExFOUJRVkVzUzBGQlN5eExRVUZMTEZGQlFWTXNRMEZEZGtJc1NVRkJTeXhOUVVORUxFdEJRVXNzWlVGQmFVSXNSMEZEZEVJc1RVRkRTaXhKUVVGTExFMUJRMFFzUzBGQlN5eGxRVUZwUWl4SFFVTjBRaXhMUVVGTExFdEJRVThzUTBGRFVpeFRRVUZWUVN4RlFVRlhMRmxCUVZrc1UwRkRha01zVVVGQlV5eExRVU5pTEVWQlEwRXNTMEZCU3l4TFFVRlBMRTlCUVU4c1QwRkJUeXhEUVVGRExFVkJRVWRCTEVWQlFWY3NWMEZCVnl4RlFVTndSQ3hMUVVOU0xFTkJRMEVzVDBGQlQwa3NRMEZEV0N4RFFVdEJMRWxCUVVsRExFVkJRVTFETEVWQlFWTXNRMEZEV0N4TFFVRkxMR2xDUVVOTUxFdEJRVXNzUzBGQlR5eERRVUZGTEZOQlFWVk9MRVZCUVZjc1dVRkJXU3hUUVVGVkxGRkJRVk1zUzBGQlRTeEZRVU40UlN4TFFVRkxMRXRCUVU4c1QwRkJUeXhQUVVGUExFTkJRVU1zUlVGQlIwRXNSVUZCVnl4WFFVRlhMRVZCUTNCRUxFdEJRVXNzWlVGQmFVSXNTVUZGTVVJc1NVRkJUVThzUlVGQlVVWXNSVUZCU3l4TFFVRkxMRVZCUVVVc1RVRkJUU3hSUVVGUkxFVkJRMnhEUnl4RlFVRlBSQ3hGUVVGTkxFMUJRVTBzUlVGRGVrSXNUMEZCVVVNc1JVRkJUU3hEUVVOV0xFbEJRVXNzVDBGQlVTeERRVU5VTEVkQlFVbEVMRVZCUVUwc1UwRkJWeXhKUVVOcVFrUXNSVUZCVVN4RlFVRkhMR2xFUVVGcFJDeEZRVU40UkVNc1JVRkJUU3hQUVVGVExFZEJRMllzVFVGQlR5eEhRVVZtTEVkQlFVMHNRMEZCUTBVc1JVRkJVVU1zUTBGQlRTeEZRVUZKU0N4RlFVTjZRaXhaUVVGTExFdEJRVXRGTEVOQlFVMHNSVUZCU1VNc1JVRkRZaXhGUVVOWUxFTkJRMEVzU1VGQlN5eFJRVUZUTEVOQlJWWXNSMEZFUVN4TFFVRkxMRXRCUVVzc1UwRkJWeXhIUVVOcVFrZ3NSVUZCVFN4VFFVRlhMRVZCUTJwQ0xFOUJRVUZFTEVWQlFWRXNSVUZCUnl4cFJFRkJhVVFzUlVGRGNrUXNSMEZGV0N4SFFVRk5MRU5CUVVOTExFTkJRVThzUlVGQlNVb3NSVUZEYkVJc1IwRkJTVWtzU1VGQldTeFBRVUZUUVN4SlFVRlpMRTFCUTJwRExGbEJRVXNzUzBGQlN5eFJRVUZWUVN4RlFVTmlMRWRCUlU0c1EwRkRSQ3hKUVVGTlF5eEZRVUZWTEdGQlFXRXNTMEZCUzBRc1EwRkJUeXhGUVVONlF5eFBRVUZCVEN4RlFVRlJMRVZCUVVjc05FSkJRVFJDU3l4RFFVRlBMRWRCUVVsRExFTkJRVThzUlVGRGJFUXNSVUZEV0N4RFFVTktMRU5CUTBFc1VVRkRTU3hQUVVGQlRpeEZRVUZSTEVWQlFVY3NjVUpCUVhGQ1JTeERRVUZKTEVkQlFVa3NSVUZCU1N4RlFVTnlReXhGUVVObUxFTkJRMG9zUTBGUFFTeFJRVUZSU3l4RlFVRlJVQ3hGUVVGVExFTkJRM0pDTEVkQlFVbFBMRWxCUVZjc1NVRkRXQ3hOUVVGUExFbEJRMWdzUjBGQlNVRXNSVUZCVHl4RFFVRkRMRWxCUVUwc1NVRkRaQ3hQUVVGQlVDeEZRVUZSTEc5Q1FVRnZRazhzUTBGQlRTeEZRVUZGTEVWQlF6ZENMRXRCUlZnc1IwRkJTVUVzUlVGQlR5eERRVUZETEVsQlFVMHNTVUZCU3l4RFFVTnVRaXhKUVVGTlF5eEZRVUZYUkN4RlFVRlBMRTFCUVUwc1JVRkJSeXhGUVVGRkxFVkJRMjVETEU5QlFVbERMRWxCUVdFc1MwRkJUMEVzU1VGQllTeE5RVU5xUTFJc1JVRkJVU3h4UTBGQmNVTlBMRU5CUVUwc1kwRkJZeXhGUVVNeFJDeFBRVVZRUVN4RlFVRlBRU3hGUVVGUExFOUJRVk1zUTBGQlF5eEpRVUZOTEV0QlF6bENVQ3hGUVVGUkxHbERRVUZwUXl4RlFVTjBRMUVzUlVGRFdDeERRVU5CTEVkQlFVMHNRMEZCUXl4RFFVRkZUQ3hGUVVGUlRTeERRVUZOTEVWQlFVbEdMRVZCUVU4c1RVRkJUU3hYUVVGRExHbENRVUZsTEVkQlFVTXNSMEZEY0VSRkxFZEJRMFJVTEVWQlFWRXNUMEZCVDA4c1EwRkJUU3h2UWtGQmIwSXNSVUZETjBNc1NVRkJUVWdzUlVGQlV5eExRVUZMTEV0QlFVdEVMRU5CUVUwc1JVRkRMMElzUjBGQlNVTXNSVUZEUVN4SFFVRkpMRU5CUTBFc1QwRkJUMEVzUlVGQlV5eHRRa0ZCYlVKTExFTkJRVTBzUTBGRE4wTXNUMEZEVDBNc1JVRkJUeXhEUVVOV0xFOUJRVUZXTEVWQlFWRXNUMEZCVDFVc1EwRkJTeXhEUVVGRExFVkJRMlFzU1VGRFdDeERRVVZLTEU5QlFVbFFMRWxCUVZjc1NVRkRTa2tzUjBGRFdGQXNSVUZCVVN3d1FrRkJNRUpQTEVOQlFVMHNSVUZCUlN4RlFVTnVReXhMUVVOWUxFTkJTMEVzVlVGQlZVa3NSVUZCU3l4RFFVTllMRTlCUVZjc1EwRkJRMUlzUlVGQlVVTXNRMEZCVFN4SlFVRkxMRTlCUVU4c1VVRkJVU3hMUVVGTExFbEJRVWtzUlVGRGJrUXNSMEZCU1U4c1JVRkJTU3hYUVVGWFVDeERRVUZOTEVWQlEzSkNMRTlCUVU5RUxFVkJRVk5pTEVkQlFXTnhRaXhGUVVGSkxGVkJRVlZRTEVWQlFVOHNUVUZCVFN4RFFVRkRMRVZCUld4RkxFOUJRVTlQTEVWQlFVa3NRMEZCUXl4SlFVRk5MRWxCUVUxQkxFVkJRVTBzUzBGQlMwRXNRMEZCUnl4SFFVTXhReXhEUVVOQkxGTkJRVk5ETEVWQlFVc3NRMEZEVml4SlFVRk5ReXhGUVVGUkxFdEJRVXNzUzBGQlN5eFRRVU5zUWl4RFFVRkRMRk5CUVZNc1MwRkJTeXhMUVVGTExGTkJRVmNzUzBGQlN5eEZRVUZGTEVWQlEzUkRMRU5CUVVNc1JVRkRSRU1zUlVGQllTeFBRVUZQTEZGQlFWRXNTMEZCU3l4SlFVRkpMRVZCUTNaRFF5eEZRVU5LTEVkQlFVbElMRWRCUVU5RkxFVkJRVmNzVDBGQlV5eEhRVUZMUlN4RlFVRlBTaXhGUVVGSkxGRkJRVkVzUlVGQlJ5eERRVU4wUkN4SlFVRk5hRUlzUlVGQlR5eERRVUZETEVWQlEyUnhRaXhIUVVGTlRDeEZRVUZKTEZOQlFWVXNRMEZCUTAwc1JVRkJUVU1zU1VGQlV5eERRVU0xUWtnc1JVRkJUMGNzUTBGQlNTeEhRVUZMUVN4RlFVRkxMRTFCUTNKQ2RrSXNSVUZCUzNWQ0xFVkJRVXNzUjBGQlJ5eEZRVUZKTEVkQlEzcENMRU5CUVVNc1JVRkRSRW9zUlVGQlZ5eFBRVUZQTEV0QlFVdHVRaXhEUVVGSkxFTkJReTlDTEUxQlJVbHRRaXhGUVVGWExFTkJRVU1zUlVGRGFFSXNUMEZCVnl4RFFVRkRXaXhGUVVGUlF5eERRVUZOTEVsQlFVdFZMRVZCUTNaQ1dDeEpRVUZYTEUxQlFWRkRMRWxCUVZjc2RVSkJSVGxDTEVOQlFVTlJMRWRCUVU5SExFVkJRVk1zUzBGQlMzaENMRWRCUVUxQkxFVkJRVWNzVjBGQlYyRXNRMEZCVFN4RFFVRkRMRWxCUTJwRVV5eEZRVUZOTEV0QlFVc3NVVUZCVVZZc1EwRkJUU3hKUVVGSlF5eERRVUZOTEVWQlFVVXNSVUZGTjBNc1QwRkJUMU1zUlVGQlRTeExRVUZMTzBGQlFVRXNRMEZCU1N4RFFVTXhRaXhEUVVOS0xFVkJRMEZ3UWl4SFFVRlhMRmxCUVdNc1EwRkJSU3hUUVVGVkxFZEJRVThzVVVGQlV5eExRVUZOTEVWQlF6TkVRU3hIUVVGWExGbEJRV01zUTBGQlJTeExRVUZOTEc5Q1FVRnhRaXhGUTNKTGRFUXNVMEZCVXpKQ0xFZEJRV05ETEVWQlFWRXNRMEZETTBJc1IwRkJTU3h6UWtGQmMwSXNTMEZCUzBFc1EwRkJUU3hGUVVGSExFTkJSWEJETEVsQlFVMURMRVZCUVUwc05rUkJSRVFzUzBGQlN5eFZRVUZWUkN4RFFVRk5MRU5CUXpKRExFZEJRek5GTEUxQlFVMHNTVUZCU1N4TlFVRk5ReXhEUVVGSExFTkJRM1pDTEVOQlEwRXNUVUZCVHl4RlFVTllMRU5CUTBFc1UwRkJVME1zUjBGQldVTXNSVUZCVFN4RFFVTjJRaXhKUVVGTlF5eEZRVUZWTEVsQlFVa3NTVUZEY0VJc1QwRkJRVU1zUjBGQlRVWXNSVUZCVFN4RFFVTlNMRTFCUVUxSExFVkJRVTFETEVWQlFVMHNRMEZEVmtFc1JVRkJTeXhSUVVOTVNDeEZRVUZSTEVsQlFVbEhMRVZCUVVzc1RVRkJUU3hEUVVNdlFpeERRVU5LTEVOQlFVTXNSVUZEVFVnc1EwRkRXQ3hEUVVWQkxGTkJRVk5KTEVkQlFXTkRMRVZCUVZGRExFVkJRVk1zUTBGRGNFTXNVVUZCVTBNc1JVRkJTU3hIUVVGVExFVkJRVVZCTEVWQlFVY3NRMEZEZGtJc1NVRkJUVU1zUlVGQlR5eEhRVUZIU0N4RFFVRk5MRWRCUVVkRkxFTkJRVU1zUjBGRE1VSXNSMEZCU1N4RFFVRkRSQ3hGUVVGUkxFbEJRVWxGTEVOQlFVa3NSVUZEYWtJc1QwRkJUMEVzUTBGRFppeERRVU5LTEVOQlEwRXNVMEZCVTBNc1IwRkJhMEpETEVWQlFVdE1MRVZCUVZFc1EwRkRjRU1zU1VGQlRVMHNSVUZCWlN4RFFVRkRMRVZCUTJoQ1F5eEZRVUZuUWl4SlFVRkpMRWxCUTNSQ1F5eEZRVUZqTEV0QlEyeENMRTFCUVU4c1EwRkRTQ3hUUVVGWFF5eEhRVUZYTEVOQlEyeENTQ3hGUVVGaExFdEJRVXRITEVOQlFVMHNSVUZEYmtKRUxFbEJRMFJCTEVWQlFXTm1MRWRCUVZsWkxFTkJRVWNzUjBGRGFrTXNTVUZCVFdRc1JVRkJVMUVzUjBGQlkwTXNSVUZCVVZFc1EwRkJWeXhGUVVOb1JDeFBRVUZCUVN4RlFVRlpMRWxCUVVscVFpeERRVUZOTEVWQlEyWkJMRU5CUTFnc1JVRk5RU3hYUVVGWkxFbEJRVTBzUTBGRFpDeFJRVUZYYTBJc1MwRkJWVWdzUlVGQll5eERRVU12UWl4SlFVRk5TU3hGUVVGTlNDeEZRVUZqTEVsQlFVbEZMRU5CUVUwc1JVRkRjRU1zUjBGQlNTeFBRVUZQUXl4SFFVRlJMRlZCUTJaQkxFVkJRVWtzVTBGRFNFTXNSVUZCVTBRc1JVRkJTU3hKUVVGSkxFZEJRVXRGTEVWQlFXRkdMRVZCUVVrc1NVRkJTU3hIUVVNMVEwRXNSVUZCU1N4TFFVRkxMRTlCUVZOQkxFVkJRVWtzVjBGRmNrSXNRMEZEUkN4SlFVRk5SeXhGUVVGUkxFbEJRVWtzVFVGQlRTdzBSRUZCTkVRc1JVRkRjRVlzVFVGQlFVRXNSVUZCVFN4UFFVRlRTaXhGUVVOVVNTeERRVU5XTEVOQlEwb3NRMEZEU2l4RlFVTkJMR05CUVVGT0xFTkJRMG9zUTBGRFNpeERRemxFUVN4VFFVRlRUeXhIUVVGaFF5eEZRVUZUUXl4RlFVRkxReXhGUVVGTFF5eEZRVUZMTEVOQlF6RkRMRWRCUVVsQkxFZEJRVThzVDBGQlQwRXNSMEZCVVN4VFFVTjBRaXhIUVVGSkxFMUJRVTBzVVVGQlVVRXNRMEZCUnl4RlFVTnFRaXhSUVVGVFF5eEZRVUZKTEVWQlFVZERMRVZCUVUxR0xFVkJRVWtzVDBGQlVVTXNSVUZCU1VNc1JVRkJTeXhGUVVGRlJDeEZRVUZITEVOQlF6VkRMRWxCUVUxRkxFVkJRVXRJTEVWQlFVbERMRU5CUVVNc1JVRkRWa2NzUlVGQlMxSXNSMEZCWVVNc1JVRkJVMGNzUlVGQlN5eFBRVUZQUXl4RFFVRkRMRVZCUVVkRkxFTkJRVVVzUlVGRkwwTkRMRWxCUVU4c1QwRkRVQ3hQUVVGUFNpeEZRVUZKUXl4RFFVRkRMRVZCUTFCSExFbEJRVTlFTEVsQlExcElMRVZCUVVsRExFTkJRVU1zUlVGQlNVY3NSVUZEYWtJc1UwRkZTMG9zWVVGQlpTeEpRVU53UWl4UlFVRlhTeXhMUVVGTExFMUJRVTBzUzBGQlMwd3NSVUZCU1N4TFFVRkxMRU5CUVVNc1JVRkJSeXhEUVVOd1F5eEpRVUZOUnl4RlFVRkxTQ3hGUVVGSkxFbEJRVWxMTEVOQlFVTXNSVUZEWkVRc1JVRkJTMUlzUjBGQllVTXNSVUZCVTBjc1JVRkJTMHNzUlVGQlIwWXNRMEZCUlN4RlFVTjJRME1zU1VGQlR5eFBRVU5RU2l4RlFVRkpMRTlCUVU5TExFTkJRVU1zUlVGRFVFUXNTVUZCVDBRc1IwRkRXa2dzUlVGQlNTeEpRVUZKU3l4RlFVRkhSQ3hEUVVGRkxFTkJRM0pDTEZOQlJVdEtMR0ZCUVdVc1NVRkRjRUlzVVVGQlYwY3NTMEZCVFN4TlFVRk5MRXRCUVV0SUxFTkJRVWNzUlVGQlJ5eERRVU01UWl4SlFVRk5TU3hGUVVGTFVpeEhRVUZoUXl4RlFVRlRSeXhGUVVGTFJ5eEZRVUZKUVN4RFFVRkZMRVZCUTNoRFF5eEpRVUZQTEU5QlExQktMRVZCUVVrc1QwRkJUMGNzUTBGQlJTeEZRVU5TUXl4SlFVRlBSQ3hKUVVOYVNDeEZRVUZKTEU5QlFVOUhMRU5CUVVVc1JVRkRZa2dzUlVGQlNTeEpRVUZKU1N4RFFVRkZMRVZCUld4Q0xFdEJSMEVzVVVGQlZ5eERRVUZEUXl4RlFVRkhSaXhEUVVGRkxFbEJRVXNzVDBGQlR5eFJRVUZSU0N4RFFVRkhMRVZCUVVjc1EwRkRka01zU1VGQlRVa3NSVUZCUzFJc1IwRkJZVU1zUlVGQlUwY3NSVUZCUzBzc1JVRkJSMFlzUTBGQlJTeEZRVU4yUTBNc1NVRkJUeXhQUVVOUUxFOUJRVTlLTEVWQlFVbExMRU5CUVVNc1JVRkRVRVFzU1VGQlQwUXNTVUZEV2tnc1JVRkJTVXNzUTBGQlF5eEZRVUZKUkN4RlFVTnFRaXhEUVVkU0xFOUJRVTlRTEVWQlFWRXNTMEZCUzBNc1JVRkJTME1zUlVGQlMwTXNRMEZCUnl4RFFVTnlReXhEUTNoRFFTeFRRVUZUVFN4SFFVRkxReXhGUVVGUFF5eEZRVUZMUXl4RlFVRkxMRU5CUlROQ0xFZEJRVWtzVFVGQlRTeFJRVUZSUml4RFFVRkxMRVZCUTI1Q0xFOUJRVTlCTEVWQlFVMHNTVUZCU1N4RFFVRkRSeXhGUVVGSFF5eEpRVUZOVEN4SFFVRkxTU3hGUVVGSExFOUJRVTlETEVOQlFVTXNSVUZCUjBZc1EwRkJSeXhEUVVGRExFVkJRM1JFTEVkQlFVbEdMRWRCUVZNc1QwRkJUMEVzUlVGQlRTeFJRVUZYTEZkQlFWa3NRMEZGTjBNc1IwRkJTU3hEUVVGRFJTeEhRVUZQTEVOQlFVTkhMRWRCUVZWTUxFTkJRVXNzUlVGRGVFSXNUMEZCVDBFc1JVRkJUU3hQUVVGUFF5eEZRVUZMUXl4RFFVRkhMRVZCUTJoRExFbEJRVTFKTEVWQlFVOHNRMEZCUlN4WFFVRlpMRVZCUVVjc1RVRkJUeXhGUVVGSExFbEJRVXNzVFVGQlZTeEZRVU4yUkVvc1JVRkJTU3hSUVVGUkxFbEJRVWxHTEVWQlFVOU5MRU5CUVVrc1JVRkRNMEpLTEVWQlFVa3NVMEZCVjBzc1IwRkJUeXhEUVVOc1FrUXNSVUZCU3l4SlFVRk5ReXhGUVVOWUxFOUJRVTlNTEVWQlFVa3NVVUZEWml4RlFVTkJMRWxCUVUxTExFVkJRVTFRTEVWQlFVMHNUMEZCVDBNc1JVRkJTME1zUTBGQlJ5eEZRVU5xUXl4UFFVRkpRU3hGUVVGSkxGVkJRMHBCTEVWQlFVa3NVMEZCVTBzc1EwRkJSeXhGUVVOaVFTeERRVU5ZTEVOQlEwRXNUMEZCU1N4UFFVRlBVQ3hIUVVGVkxGVkJRVmtzUlVGQlEwVXNSMEZCUVN4TlFVRkJRU3hGUVVGTExFMUJRelZDTEU5QlFVOUdMRU5CUVVzc1JVRkRhRUpCTEVOQlExZ3NRME01UWtFc1NVRkJUVkVzUjBGQlRpeExRVUZsTEVOQlExZ3NXVUZCV1VNc1JVRkJUU3hEUVVOa0xFOUJRVThzWlVGQlpTeExRVUZOUXl4SFFVRlhMRU5CUVVVc1RVRkJUMFFzUTBGQlN5eERRVUZETEVOQlF6RkVMRU5CUlVFc1QwRkJVU3hEUVVOS0xFbEJRVTFGTEVWQlFVOHNUMEZCVHl4UFFVRlBMRTlCUVU4c1pVRkJaU3hKUVVGSkxFVkJRVWNzVDBGQlR5d3dRa0ZCTUVJc1NVRkJTU3hEUVVGRExFVkJRemxHTEU5QlFVa3NTMEZCU3l4UlFVTk1RU3hGUVVGTExFMUJRVkVzUzBGQlN5eE5RVUZOTEUxQlFVMHNSMEZETTBKQkxFTkJRMWdzUTBGRlFTeExRVUZMUXl4RlFVRkxMRU5CUVVVc1UwRkJRVU1zUlVGQlZTeGpRVUZCUXl4RlFVRmxMRk5CUVVGRExFVkJRVlVzVVVGQlFVTXNRMEZCVVN4RlFVRkpMRU5CUVVNc1JVRkJSeXhEUVVNelJDeEhRVUZKTEVOQlFVTkRMRWRCUVZkTUxFTkJRVWNzUlVGRFppeE5RVUZOTEVsQlFVa3NWVUZCVlN4cFEwRkJhVU1zUlVGRGVrUXNTVUZCVFUwc1JVRkJUU3hEUVVOU0xGRkJRVk1zU1VGQlNTeEpRVU5pTEVsQlFVRk9MRVZCUTBFc1MwRkJUU3hIUVVOT0xGTkJRVlZETEVsQlFXRXNSMEZEZGtJc1lVRkJZeXhIUVVOa0xHTkJRV1VzVDBGQlQwTXNSMEZCYTBJc1UwRkJWMEVzUlVGQlowSXNSMEZEZGtVc1JVRkRUVXNzUlVGQlRVTXNSMEZCU3l4TFFVRk5MRWRCUVVsR0xFTkJRVWNzUlVGRE9VSXNSMEZCU1N4UFFVRlBTQ3hIUVVGaExGZEJRM0JDTEU5QlFWY3NRMEZCUlN4TlFVRkJUU3hGUVVGUExFbEJRVUZHTEVOQlFVa3NTVUZCUzBRc1JVRkJTU3hSUVVGUkxFOUJRVThzUlVGRE5VTklMRVZCUVZOSkxFVkJRVXRGTEVOQlFVc3NSVUZETTBJc1QwRkJUeXhQUVVGUFRDeEhRVUZaTEZkQlEzQkNUU3hIUVVGaFRpeEZRVUZUTEVOQlFVVXNSMEZCU1Vjc1EwRkJTU3hGUVVGSExFZEJRVWxCTEVOQlFVY3NSVUZETVVOQkxFTkJRMVlzUTBGRFNpeEZRemRDUVN4SlFVRk5TU3hIUVVGT0xHTkJRVzlDUXl4RlFVRlRMRU5CUTNwQ0xGbEJRVmxETEVWQlFWRXNRMEZEYUVJc1RVRkJUVU1zUlVGQlN5eEZRVU5ZTEV0QlFVc3NUMEZCVTBRc1JVRkRaQ3hQUVVGUExHVkJRV1VzUzBGQlRTeE5RVUZQTEVOQlF5OUNMRXRCUVUwc1EwRkRSaXhOUVVGTkxFbEJRVWtzVFVGQlRTdzRRa0ZCT0VJc1EwRkRiRVFzUTBGRFNpeERRVUZETEVOQlEwd3NRMEZMUVN4UlFVRlJSU3hGUVVGTExFTkJRMVFzU1VGQlNVTXNSVUZEU2l4UFFVRkJReXhIUVVGTlJpeEZRVUZMTEVOQlExQXNTMEZCVFN4RFFVRkRSeXhGUVVGTlF5eEpRVUZUTEVOQlEyeENMRWRCUVVsQkxFbEJRVk1zUzBGRFZDeFBRVUZQUml4SFFVRk5MRTFCUTJKRkxFVkJRVXNzVTBGQlZ5eExRVUZMTEZOQlEzSkNTQ3hGUVVGUlJ5eEZRVU5vUWl4RFFVTktMRU5CUVVNc1JVRkRUVWdzUTBGRFdDeERRVU5CTEU5QlFVOUpMRVZCUVUxRExFVkJRVXNzUTBGRFpDeEhRVUZKTEVOQlFVTkJMRVZCUTBRc1RVRkJUeXhEUVVGRkxFOUJRVkVzUzBGQlN5eE5RVUZQTEVWQlEycERMRWRCUVUwc1EwRkJSU3hSUVVGQlF5eEZRVUZUTEVsQlFVRlFMRVZCUVVzc1kwRkJRVkVzUTBGQll5eEZRVUZKUml4RlFVTnNRMUlzUlVGQlV5eExRVUZMTEZGQlFWRkZMRU5CUVVjc1JVRkRMMElzUjBGQlNTeERRVUZEUml4RlFVRlJMRU5CUTFRc1NVRkJUVmNzUlVGQlRTd3JSRUZCSzBRc1MwRkJTeXhOUVVGTkxFZEJRM1JHTEUxQlFVMHNTVUZCU1N4bFFVRmxRU3hEUVVGSExFTkJRMmhETEVOQlEwRXNTVUZCU1VNc1JVRkJUMGdzUlVGQlVTeEpRVUZKVkN4RFFVRk5MRVZCVHpkQ0xFZEJUa3RaTEVsQlJVUkRMRWRCUVV0aUxFVkJRVkVzUzBGQlRWRXNRMEZCUnl4RlFVTjBRa2tzUlVGQlQwZ3NSVUZCVVN4SlFVRkpWQ3hEUVVGTkxFZEJSM3BDTEVOQlFVTlpMRWRCUVZGQkxFVkJRVXNzVFVGQlVTeFBRVUZYTEVOQlEycERMRWxCUVUxRUxFVkJRVTBzZVVSQlExb3NUVUZCVFN4SlFVRkpMR1ZCUVdWQkxFTkJRVWNzUTBGRGFFTXNRMEZEUVN4SFFVRkpSQ3hIUVVGcFFpeEpRVU5xUWtVc1JVRkJTeXhQUVVGVExFVkJRMVpCTEVWQlFVc3NZVUZCWlN4SlFVTndRa0VzUlVGQlN5eFhRVUZoUlN4SFFVRmpXaXhGUVVGTFJpeEZRVUZSVXl4RFFVRlBMRWRCUTNCRVJ5eEZRVUZMTEUxQlFWRkJMRVZCUVVzc1YwRkJZVVlzUjBGQlpTeERRVU01UXl4SlFVRk5ReXhGUVVGTkxDdEVRVU5hTEUxQlFVMHNTVUZCU1N4bFFVRmxRU3hEUVVGSExFTkJRMmhETEVOQlJVb3NUMEZCVDBNc1JVRkJTeXhIUVVOb1FpeERRVU5CTEZOQlFWTktMRVZCUVV0UExFVkJRVmxETEVWQlFXTXNRMEZEY0VNc1NVRkJUVU1zUlVGQlRTeEpRVUZKTEV0QlFVc3NUVUZCVFN4SFFVTXpRaXhIUVVGSlZDeEZRVUZMTEVOQlJVd3NSMEZFUVZVc1IwRkJZeXhMUVVGTExFMUJRVTBzUlVGRGNrSldMRVZCUVVrc1VVRkJVU3hyUWtGQmIwSXNRMEZCUTBFc1JVRkJTU3hSUVVGUkxFbEJRVWtzUzBGQlN5eE5RVUZOTEVWQlFVY3NRMEZETDBRc1NVRkJUVWNzUlVGQlRTd3JSRUZCSzBRc1MwRkJTeXhOUVVGTkxFZEJRM1JHTEUxQlFVMHNTVUZCU1N4TlFVRk5RU3hEUVVGSExFTkJRM1pDTEVOQlEwRXNSMEZCU1Vnc1JVRkJTU3haUVVOS0xFMUJRVThzUjBGQlIxTXNRMEZCUnl4SFFVTnlRaXhEUVVOQkxFOUJRVTlCTEVOQlExZ3NRMEZEU2l4RlFVTkJMRk5CUVZOSUxFZEJRV05hTEVWQlFVdEpMRVZCUVUxSExFVkJRVk1zUTBGRGRrTXNSMEZCU1ZVc1IwRkJVV0lzUTBGQlNTeEZRVUZITEVOQlEyWXNTVUZCVFU0c1JVRkJVMDBzUlVGQlN5eFJRVUZSU2l4RFFVRkhMRVZCUTNwQ2EwSXNSVUZCVTFnc1IwRkJWMVFzUjBGQlZWTXNSVUZCVVN4SlFVRkpWQ3hEUVVGTkxFVkJRM1JFTEU5QlFVOXZRaXhGUVVGVFFTeEZRVUZQTEUxQlFWRkJMRVZCUVU4c1YwRkJZU3hEUVVOMlJDeFRRVU5UUXl4RlFVRmhaaXhEUVVGSkxFVkJRVWNzUTBGRGVrSXNTVUZCU1dkQ0xFVkJRVkVzUlVGRFdpeFJRVUZYUXl4TFFVRlJha0lzUlVGQlN5eE5RVUZQTEVOQlF6TkNMRWxCUVUxclFpeEZRVUZKVml4SFFVRmpXaXhGUVVGTGNVSXNSVUZCVFdRc1EwRkJUeXhGUVVOMFEyVXNSVUZCU1VZc1NVRkRTa0VzUlVGQlVVVXNSVUZEYUVJc1EwRkRRU3hQUVVGUFJpeERRVU5ZTEZOQlExTkhMRVZCUVU5dVFpeERRVUZKTEVWQlFVY3NRMEZEYmtJc1NVRkJUVzlDTEVWQlFVdGFMRWRCUVdOYUxFVkJRVXRKTEVWQlFVc3NTVUZCUzBjc1EwRkJUeXhGUVVONlEydENMRVZCUVV0aUxFZEJRV05hTEVWQlFVdEpMRVZCUVVzc1RVRkJUMGNzUTBGQlR5eEZRVU5xUkN4UFFVRlBMRXRCUVVzc1NVRkJTV2xDTEVWQlFVbERMRU5CUVVVc1EwRkRNVUlzUTBGRFFTeE5RVUZQTEVWQlExZ3NRME01UmtFc1NVRkJUVU1zUjBGQmFVSkRMRWRCUVZVc1EwRkJRMEVzUjBGQlZTeFBRVUZQUVN4SFFVRlZMRmxCUVdNc1QwRkJUMEVzUjBGQlZTeFRRVU4wUmtNc1JVRkJUaXhqUVVGeFFrTXNSVUZCVXl4RFFVTXhRaXhaUVVGWlJpeEZRVUZQTEVOQlEyWXNUVUZCVFVjc1JVRkJUU3hGUVVOYUxFdEJRVXNzVFVGQlVVZ3NRMEZEYWtJc1EwRkRRU3hQUVVGUFNTeEZRVUZMUXl4RlFVRkxMRU5CUTJJc1QwRkJUMEVzUjBGQlFTeE5RVUZCUVN4RlFVRkxMRXRCUVU4c1MwRkJTeXhOUVVGUlF5eEhRVUZMTEV0QlFVc3NUVUZCVDBZc1JVRkJTME1zUTBGQlJ5eERRVU0zUkN4RFFVTkJMRlZCUVZjc1EwRkRVQ3hQUVVGUExFOUJRVThzUzBGQlN5eExRVUZMTEVOQlF6VkNMRU5CUTBvc1JVRkRRVW9zUlVGQlR5eGhRVUZsTEdWQlEzUkNRU3hGUVVGUExHTkJRV2RDTEdkQ1FVTjJRa0VzUlVGQlR5eE5RVUZSTEZGQlEyWkJMRVZCUVU4c1lVRkJaU3hsUVVOMFFrRXNSVUZCVHl4aFFVRmxMR1ZEYWtKMFFpeEpRVUZOVFN4SFFVRnRRaXh4UWtGRGVrSXNVMEZCVTBNc1IwRkJZME1zUlVGQlQwTXNSVUZCVTBNc1JVRkJUU3hEUVV3M1F5eEpRVUZCUXl4RlFVMUpMRWRCUVVsR0xFVkJRVk1zUTBGRFZDeEpRVUZOUnl4RlFVRlJSaXhGUVVGTExFOUJRVTlITEVkQlFVdEJMRVZCUVVVc1RVRkJVVW9zUTBGQlR5eEZRVU14UTBzc1IwRkJVMGdzUlVGQlFVTXNSVUZCVFN4TFFVRkxReXhIUVVGTExFTkJRVU5CTEVWQlFVVXNUVUZCVFN4SlFVRjZRaXhMUVVGQlJpeEZRVUU0UWtNc1JVRkJUU3hEUVVGRExFVkJRM0JFTEVkQlFVa3NRMEZCUTBVc1JVRkRSQ3hOUVVGTkxFbEJRVWtzVFVGQlRTeFBRVUZQVEN4RFFVRlBMRmxCUVZrc1JVRkRPVU1zVDBGQlQwc3NRMEZEV0N4RFFVTkJMRTlCUVU5S0xFVkJRVXNzUzBGQlMwY3NSMEZCUlN4RFFXSjJRaXhKUVVGQlJpeEZRV0V3UWl4UlFVRkJRU3hGUVVGQlJTeEZRVUZGTEZkQlFVWXNXVUZCUVVZc1JVRkJRU3hMUVVGQlJTeEZRVUZoVEN4TFFVRlZMRU5CUVVOTExFVkJRVVVzVDBGQlRTeERRVU14UkN4RFFVTkJMRk5CUVZORkxFZEJRVmRRTEVWQlFVOURMRVZCUVZOUExFVkJRVXNzUTBGbWVrTXNTVUZCUVV3c1JVRkJRVTBzUlVGQlFVTXNSVUZyUWtrc1IwRkdTVU1zUjBGQlYxZ3NRMEZCU3l4SlFVTm9Ra0VzUlVGQlVVRXNSVUZCVFN4VlFVTmtXU3hGUVVGUFdpeERRVUZMTEVWQlExb3NUMEZCVDBFc1JVRkRXQ3hIUVVGSllTeEZRVUZQWWl4RFFVRkxMRVZCUVVjc1EwRkRaaXhKUVVGTll5eEhRVUZOVEN4SFFVRkJUaXhGUVVGQlN5eEZRVUZKTEU5QlFVOVBMRVZCUVVjc1IwRkJSU3hoUVVGb1FpeFpRVUZCVGl4RlFVRkJMRXRCUVVGT0xFVkJRVFpDU3l4RlFVRkpMRTlCUVZFc1MwRkJUVUVzUjBGRE0wUXNUMEZCUVUwc1JVRkJTU3hOUVVGTkxFdEJRVXRrTEVOQlFVc3NSVUZEWW1Nc1EwRkRXQ3hGUVVOSlpDeGhRVUZwUWl4UlFVTnFRa0VzWVVGQmFVSXNVVUZEYWtKQkxHRkJRV2xDTEZOQlEyaENMRTlCUVU4c1VVRkJWeXhoUVVGbFFTeGhRVUZwUWl4VlFVZHVSRUVzUlVGQlVVRXNSVUZCVFN4UlFVRlJMRWRCUlRGQ0xFZEJRVTBzUTBGQlJTeHpRa0ZCUVdkQ0xFVkJRWFZDTEZOQlFVRkRMRVZCUVZVc1UwRkJRVU1zUlVGQlZTeFBRVUZCUXl4RlFVRlJMR05CUVVGRExFTkJRV01zUlVGQlNWb3NSVUZIZWtWaExFVkJRMG9zUjBGQlNVd3NSMEZCZVVKb1FpeEhRVUZUTEU5QlFVOUJMRWRCUVZVc1UwRkJWU3hEUVVVM1JDeEhRVVJCY1VJc1JVRkJUVVFzUlVGQll5eEpRVUZKY0VJc1EwRkJTeXhGUVVONlFuRkNMRVZCUTBFc1QwRkJTMEVzUlVGQlNTeFRRVU5NUVN4RlFVRkpMRTlCUVZOS0xFVkJRVk5xUWl4RFFVRkxMRWRCUTNoQ0xFbEJRVWx6UWl4SFFVRk5SQ3hGUVVGSkxFMUJRVTBzUlVGSE0wSkJMRVZCUVUwc1EwRkJSU3hQUVVGUkxFdEJRVTBzUzBGQlRTeEpRVUZMTEVWQlEycERSQ3hGUVVGakxFbEJRVWx3UWl4RlFVRlBjVUlzUTBGQlJ5eERRVVZ3UXl4RFFVTkpjRUlzUjBGQlFTeE5RVUZCUVN4RlFVRlRMRmRCUVZjc1VVRkRjRUpCTEVWQlFWVklMRWRCUVcxQ1J5eEZRVUZSTEUxQlFVMHNRMEZCUXl4SFFVTm9SQ3hKUVVGSlN5eEZRVUZUVUN4SFFVRmpReXhGUVVGUFF5eEZRVUZUYTBJc1JVRkJUeXhKUVVGSkxFVkJRM1JFTEVkQlFVa3NRMEZCUTJJc1JVRkJVU3hEUVV0VUxFZEJTa2xPTEVkQlFWTXNUMEZCVDBFc1JVRkJUU3hSUVVGWExHRkJSV3BEUVN4RlFVRlJRU3hGUVVGTkxFOUJRVThzUjBGRmNrSXNRMEZCUTBFc1IwRkJVeXhQUVVGUFFTeEhRVUZWTEZOQlFWVXNRMEZEY2tNc1NVRkJUWFZDTEVWQlFVOHNTVUZCU1VNc1JVRkJUM2hDTEVOQlFVc3NSVUZETjBJc1QwRkJTWEZDTEVsQlEwRkJMRVZCUVVrc1MwRkJUMFVzUjBGRFVrRXNRMEZEV0N4RFFVTkJha0lzUlVGRFNVNHNZVUZCYVVJc1NVRkRXRzFDTEVWQlFVOUtMRVZCUVVjc1JVRkRWaXhQUVVGUExGbEJRVmtzVDBGQlQyWXNRMEZCU3l4RlFVTXpRbTFDTEVWQlFVOU5MRVZCUVVjc1JVRkRWazRzUlVGQlQwb3NSVUZCUnl4RFFVTTFRaXhEUVVOSlJ5eEpRVU5CUVN4RlFVRlRXaXhEUVVGTkxFVkJRMllzVDBGQlQwVXNSVUZCU1N4VlFVVm1MRWxCUVUxbExFVkJRVTlxUWl4SFFVRkJMRTFCUVVGQkxFVkJRVkVzVjBGRFprRXNSVUZCVHl4WFFVRlhSU3hGUVVGSkxFOUJRVkZTTEVWQlFVOVJMRU5CUVVjc1JVRkRlRU1zVVVGQlQwVXNSVUZCUVVvc1IwRkJRU3haUVVGQlFTeEZRVUZSTEZsQlFWSXNXVUZCUVVrc1JVRkJiVUlzVDBGQlV5eFhRVU12UWtvc1JVRkJUeXhWUVVGVkxFdEJRVXRGTEVWQlFVa3NUMEZCVVZJc1JVRkJUMUVzUTBGQlJ5eEZRVU0xUXl4SlFVRkpaMElzUlVGQlQzaENMRU5CUVVzc1JVRkRNVUlzVDBGQlNVTXNSVUZEUVhOQ0xFVkJRVXNzU1VGQlRYUkNMRVZCUTB4TExFVkJRVThzVlVGRFltbENMRVZCUVVzc1NVRkJUV3BDTEVWQlFVOHNTMEZEYkVKbExFbEJRMEZCTEVWQlFVa3NTMEZCVDBVc1IwRkRVa0VzUTBGRFdDeERRMnhHUVN4VFFVRlRSeXhIUVVGdFFrTXNSVUZCVVVNc1JVRkJUVU1zUlVGQlR5eERRVU0zUXl4SlFVRkpReXhGUVVGSlJDeEZRVU5TTEZGQlFWTkZMRVZCUVVsSUxFVkJRVXNzVDBGQlV5eEZRVUZIUnl4SFFVRkxMRVZCUVVjc1JVRkJSVUVzUlVGQlJ5eERRVU4yUXl4SlFVRk5ReXhGUVVGSlNpeEZRVUZMUnl4RFFVRkRMRVZCUTJoQ0xFZEJRVWtzVDBGQlQwTXNSMEZCVFN4VlFVRlpMRTlCUVU4c1ZVRkJWVUVzUTBGQlF5eEhRVUZMUVN4SFFVRkxMRVZCUVVjc1EwRkRlRVFzU1VGQlRVTXNSVUZCU1N4RFFVRkRMRVZCUTFoQkxFVkJRVVZFTEVOQlFVTXNSVUZCU1VZc1JVRkRVRUVzUlVGQlNVY3NRMEZEVWl4TlFVVkpTQ3hGUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTkZMRVZCUVVkR0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlJUVkNMRU5CUTBFc1QwRkJUMGtzUjBGQlYwb3NSVUZCUnl4UFFVRlhMRU5CUXpWQ0xITkNRVUYxUWl4SFFVTjJRaXhqUVVGbExFZEJRMllzVTBGQlZTeEpRVUZOTEVOQlExb3NUVUZCVFN4SlFVRkpMRTFCUVUwc09FTkJRVGhETEVOQlEyeEZMRVZCUTBFc1QwRkJRVWdzUlVGRFFTeGpRVUZsTEVsQlFVa3NSMEZEZGtJc1EwRkJReXhEUVVOTUxFTkJSMEVzU1VGQlRWRXNSMEZCWlZBc1IwRkJVMEVzUjBGQlVTeE5RVU5xUXl4UFFVRlBRU3hIUVVGVExGVkJRVmtzUTBGQlF5eERRVUZEUVN4RlFVRkxMRTlCUVU4c1VVRkJVU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEV0QlF6VkVVU3hIUVVGT0xHTkJRWGxDUXl4RlFVRlRMRU5CUXpsQ0xGbEJRVmxETEVWQlFVMVlMRVZCUVZFc1EwRkRkRUlzVFVGQlRWY3NRMEZCU1N4RlFVTldMRTlCUVU4c1pVRkJaU3hMUVVGTkxGTkJRVlVzUTBGRGJFTXNUVUZCVDFnc1JVRkRVQ3hoUVVGakxFZEJRMlFzVjBGQldTeEhRVU5hTEZOQlFWVXNSVUZEWkN4RFFVRkRMRU5CUTB3c1EwRk5RU3hOUVVGTlFTeEZRVUZSTEVOQlExWXNTVUZCVFZrc1JVRkJUeXhQUVVGUExFOUJRVThzVDBGQlR5eGxRVUZsTEVsQlFVa3NSVUZCUnl4UFFVRlBMREJDUVVFd1FpeEpRVUZKTEVOQlFVTXNSVUZET1VZc1QwRkJTVm9zU1VGRFFWa3NSVUZCU3l4UFFVRlRXaXhIUVVOc1Fsa3NSVUZCU3l4TlFVRlJRU3hGUVVGTExFMUJRVTBzU1VGQlNVTXNSMEZCVFVNc1JVRkJUMFFzUTBGQlJTeEhRVUZMUlN4RlFVRlBSaXhEUVVGRkxFVkJRVWxCTEVWQlFVY3NUVUZCVFdJc1EwRkJUU3hGUVVGSllTeERRVUZGTEVWQlF6bEZMRXRCUVVzc1VVRkRURVFzUlVGQlN5eE5RVUZSTEV0QlFVc3NUVUZCVFN4TlFVRk5MRWRCUXpOQ1FTeERRVU5ZTEVOQlRVRXNUVUZCVFZnc1JVRkJUVU1zUlVGQlR5eERRVU5tTEVkQlFVbE5MRWRCUVZsUUxFTkJRVWtzUlVGRGFFSXNTMEZCU3l4SlFVRkpReXhEUVVGTExFMUJRMklzUTBGRFJDeEhRVUZOTEVOQlFVTmpMRVZCUVVzc1IwRkJSME1zUTBGQlNTeEZRVUZKYUVJc1JVRkRha0pwUWl4RlFVRlBMRXRCUVVzc1NVRkJTVVlzUlVGQlN5eEZRVUZKTEVWQlF5OUNMRWRCUVVsSExFVkJRV0ZFTEVOQlFVa3NSVUZEYWtKQkxFVkJRVXNzVFVGQlRVUXNSVUZCVFdZc1EwRkJTeXhWUVVOcVFtZENMRWxCUVZNc1VVRkJZU3hMUVVGTExFOUJRMmhETEV0QlFVc3NTVUZCU1VZc1JVRkJTMnBDTEVkQlFXMUNMRXRCUVVzc1QwRkJVV3RDTEVWQlFVMW1MRU5CUVVzc1EwRkJReXhOUVVVeFJDeFBRVUZOTEVsQlFVa3NUVUZCVFN3clFrRkJLMEpqTEVOQlFVY3NjVUpCUVhGQ1F5eERRVUZKTEVWQlFVVXNRMEZEY2tZc1EwRkRTaXhEUVV0QkxGTkJRVk5vUWl4RlFVRk5MRU5CUTFnc1IwRkJUU3hEUVVGRFpTeEZRVUZMTEVkQlFVZERMRU5CUVVrc1JVRkJTV2hDTEVWQlEzWkNMRWRCUVVsblFpeEZRVUZMTEZOQlFWY3NSVUZEYUVJc1QwRkJUeXhMUVVGTExFOUJRVTlFTEVOQlFVY3NSVUZETVVJc1NVRkJUVVVzUlVGQlR5eExRVUZMTEVsQlFVbEdMRVZCUVVzc1JVRkJTU3hGUVVNdlFpeEhRVUZKUnl4RlFVRmhSQ3hEUVVGSkxFVkJRMnBDTEU5QlFVOUJMRVZCUVVzc1UwRkJVMFFzUTBGQlNTeEZRVVY2UWl4TlFVRk5MRWxCUVVrc1RVRkJUU3dyUWtGQkswSkVMRU5CUVVjc2NVSkJRWEZDUXl4RFFVRkpMRVZCUVVVc1EwRkRja1lzUTBGTlFTeE5RVUZOYUVJc1JVRkJUVzFDTEVWQlFWa3NRMEZEY0VJc1IwRkJUU3hEUVVGRFNpeEZRVUZMTEVkQlFVZERMRU5CUVVrc1JVRkJTV2hDTEVWQlEycENhVUlzUlVGQlR5eExRVUZMTEVsQlFVbEdMRVZCUVVzc1JVRkJTU3hGUVVNdlFpeFBRVUZKUXl4RlFVRkxMRk5CUVZjc1JVRkRWQ3hEUVVGRFJ5eEhRVUZqUXl4RlFVRlRTQ3hEUVVGSkxFVkJRVWxCTEVWQlFVc3NUVUZCVVVFc1JVRkZOME5ETEVWQlFXRkVMRU5CUVVrc1JVRkJTVUVzUlVGQlN5eE5RVUZOUkN4RlFVRk5SeXhEUVVGVkxFVkJRVWtzVFVGRGJrVXNRMEZEUVN4cFFrRkJhVUpGTEVWQlFXRXNRMEZETVVJc1QwRkJUeXhMUVVGTExFMUJRVTBzVFVGQlRVb3NSMEZCVVN4RFFVTTFRaXhIUVVGSkxFTkJRVU5JTEVWQlFVOUhMRU5CUVVrc1JVRkRXaXhOUVVGUExFZEJRMWdzU1VGQlRVc3NSVUZCU1V3c1JVRkJTeXhOUVVObUxFOUJRVkZMTEVkQlFVc3NUVUZEVWtRc1IwRkRSMFFzUlVGQlUwVXNRMEZCUXl4SFFVTldRU3hGUVVGRkxFOUJRVk1zVFVGRFdDeERRVUZEUVN4RlFVRkZMR1ZCUTBnc1EwRkJRMEVzUlVGQlJTeFRRVU5JTEVOQlFVTkJMRVZCUVVVc1IwRkRaaXhEUVVGRExFTkJRMHdzUTBGSlFTeE5RVUZOZEVJc1JVRkJUU3hEUVVOU0xFZEJRVTBzUTBGQlEyVXNSVUZCU3l4SFFVRkhReXhEUVVGSkxFVkJRVWxvUWl4RlFVTjJRaXhIUVVGSlowSXNSVUZCU3l4VFFVRlhMRVZCUTJoQ0xFOUJRVThzUzBGQlN5eEpRVUZKUkN4RFFVRkhMRVZCUTNaQ0xFbEJRVTFGTEVWQlFVOHNTMEZCU3l4SlFVRkpSaXhGUVVGTExFVkJRVWtzUlVGREwwSXNUMEZCVDBjc1JVRkJZVVFzUTBGQlNTeEZRVUZKUVN4RlFVRkxMRTFCUVUxRUxFTkJRVWtzUlVGQlNTeEZRVU51UkN4RFFVdEJMRTFCUVUxb1FpeEZRVUZOUXl4RlFVRlBMRU5CUTJZc1IwRkJUU3hEUVVGRFl5eEZRVUZMTEVkQlFVZERMRU5CUVVrc1JVRkJTV2hDTEVWQlEzWkNMRWRCUVVsblFpeEZRVUZMTEZOQlFWY3NSVUZEYUVJc1MwRkJTeXhKUVVGSlJDeEZRVUZMWkN4RFFVRkxMRTFCUld4Q0xFTkJRMFFzU1VGQlRXZENMRVZCUVU4c1MwRkJTeXhKUVVGSlJpeEZRVUZMTEVWQlFVa3NSVUZETDBJc1IwRkJTVWNzUlVGQllVUXNRMEZCU1N4RlFVTnFRa0VzUlVGQlN5eE5RVUZOUkN4RlFVRk5aaXhEUVVGTExGVkJRMnBDWjBJc1NVRkJVeXhSUVVGaExFdEJRVXNzVDBGRGFFTXNTMEZCU3l4SlFVRkpSaXhGUVVGTGFrSXNSMEZCYlVJc1MwRkJTeXhQUVVGUmEwSXNSVUZCVFdZc1EwRkJTeXhEUVVGRExFMUJSVEZFTEU5QlFVMHNTVUZCU1N4TlFVRk5MQ3RDUVVFclFtTXNRMEZCUnl4eFFrRkJjVUpETEVOQlFVa3NSVUZCUlN4RFFVTnlSaXhEUVVOS0xFTkJRMG9zUlVONlNVRXNTVUZCVFU4c1IwRkJiMEpETEVkQlFWRkJMRVZCUVVrc1VVRkJVU3hyUWtGQmJVSXNSMEZCUnl4RlFVTndSU3hUUVVGVFF5eEhRVUZqUXl4RlFVRlRReXhGUVVGUkxFTkJRM0JETEUxQlFVa3NVVUZCVVN4TFFVRkxSQ3hEUVVGUExFVkJRMkpCTEVWQlFWRXNWVUZCVlN4RFFVRkRMRVZCUTNaQ1F5eEZRVUZUUkN4RlFVRlJMRkZCUVZFc1lVRkJZME1zUTBGQlRTeEZRVUZKUkN4RFFVTTFSQ3hEUVVOQkxFbEJRVTFGTEVkQlFXTXNRMEZCUTBvc1JVRkJTMGNzUlVGQlVVUXNTVUZCV1VZc1JVRkJTU3hUUVVGVE8wRkJRVUVzUTBGQlNTeEZRVU42UkVNc1IwRkJZME1zUlVGQlUwTXNRMEZCVFN4RlFVTTNRa1FzUlVGQlVTeFRRVUZUTzBGQlFVRXNRMEZCU1N4RlFVTnFRanRCUVVGQkxFVkJRVTlFTEVkQlFXTkRMRVZCUVZORExFTkJRVTBzUjBGRGJrTklMRVZCUVVrc1UwRkJVeXhIUVVGSExFVkJRVWtzUjBGQlN5eExRVUZQUlN4RlEycENNME1zU1VGQlRVY3NSMEZCV1N4UFFVTmFReXhIUVVGaExGRkJRMkpETEVkQlFXTXNVMEZOY0VJc1UwRkJVME1zUjBGQlkwTXNSVUZCVFVNc1JVRkJVVU1zUlVGQlR5eFBRVUZSTEVOQlFVVXNZMEZCUVVNc1JVRkJaU3hWUVVGQlF5eEZRVUZaTEVkQlFVa3NaMEpCUVVGRExFVkJRV3RDTEVkQlFVa3NUMEZCUVVNc1JVRkJVU3hYUVVGQlF5eERRVUZYTEVWQlFVa3NRMEZCUXl4RlFVRkhMRU5CUTJ4SkxFZEJRVWtzUTBGQlEwZ3NSMEZCWVVFc1JVRkJXU3hGUVVNeFFpeFBRVUZQU2l4RlFVTlFTU3hGUVVGWlF5eEpRVU5hUVN4RlFVRnJRaXhIUVVOMFFpeEpRVUZOUnl4RlFVRlZMRXRCUVVzc1NVRkJTU3hGUVVGSlNDeEZRVUZwUWl4RlFVRkpSQ3hGUVVGWlNDeEZRVUZQTEUxQlFVMHNSVUZETTBVc1IwRkJTVVFzUlVGQlN5eFJRVUZWVVN4RlFVTm1MRTlCUVU5U0xFVkJRMWdzU1VGQlRWTXNSVUZCVVN4RFFVRkRMRVZCUTFSRExFVkJRV1VzUTBGQlF5eEZRVU5zUWtNc1JVRkJUVkFzUlVGQldVZ3NSVUZCVHl4UFFVTjZRaXhQUVVGUFJTeEhRVUZyUWl4WFFVTnlRa0VzUlVGQlowSkRMRVZCUVZrc1MwRkJTeXhKUVVGSkxFVkJRVWRETEVOQlFXVXNSVUZEZGtSSkxFVkJRVTBzUzBGQlN5eERRVUZETEVWQlJWcEZMRVZCUVUxUUxFVkJRVmxFTEVkQlJURkNMRWxCUVVsVExFVkJRMEZETEVWQlEwRkRMRVZCUVZjc1IwRkRXRU1zUlVGQlNTeEhRVU5LUXl4RlFVRlhMRWRCUTFoRExFVkJRVk1zUjBGRFZHWXNTVUZCVTB3c1MwRkRWR3RDTEVWQlFVbEhMRWRCUVhsQ2JFSXNSVUZCVFdVc1JVRkJSMlFzUlVGQlR5eE5RVUZOTEVWQlF5OURZeXhKUVVGTkxFdEJRMDVLTEVWQlFVMUpMRVZCUVVsUUxFbEJSV3hDTEZGQlFWTlhMRVZCUVV0QkxFVkJRVXR1UWl4RlFVRk5aU3hIUVVGTExFTkJRVVVzUjBGQlN5eERRVU5xUXl4SFFVRkpZaXhKUVVGVFNpeEpRVUZsY1VJc1NVRkJUeXhMUVVGTkxFTkJSWEpETEU5QlJFRklMRVZCUVZkRUxFVkJRMGhtTEVWQlFVdGxMRVZCUVVrc1EwRkJReXhGUVVGSExFTkJRMnBDTEVsQlFVc3NTVUZEUkVFc1IwRkJTeXhGUVVOTUxFMUJRMG9zU1VGQlN5eEpRVU5FUVN4SFFVRkxMRVZCUTB3c1RVRkRTaXhKUVVGTExFbEJRMFJCTEVkQlFVc3NSVUZEVEN4TlFVTktMRkZCUTBsQkxFZEJRVXNzUTBGRFlpeERRVU5CUlN4RlFVRlRSaXhEUVVOaUxFTkJRMEVzUjBGQlNVa3NTVUZCVHp0QlFVRkJMRVZCUTBocVFpeEpRVUZUVEN4TFFVTlVhMElzUlVGQlNVY3NSMEZCZVVKc1FpeEZRVUZOWlN4RlFVRkhaQ3hGUVVGUExFMUJRVTBzUjBGRGRrUlZMRVZCUVUxSkxFVkJRVWxrTEVWQlFVOHNUMEZCVTA4c1JVRkRNVUpKTEVWQlFWRXNWMEZGVUN4RFFVTkVMRWRCUVVsUExFbEJRVThzUzBGRFVFNHNSMEZEUVVFc1NVRkJVeXhMUVVOVVFTeEpRVUZUTzBGQlFVRXNSMEZEVkVFc1NVRkJVeXhKUVVGTkxFTkJSV1lzU1VGQlRVOHNSVUZCVDNCQ0xFVkJRVXRsTEVWQlFVa3NRMEZCUXl4RlFVTnVRa3NzUjBGQlVVRXNTVUZCVXl4TFFVRlBRU3hKUVVGVE8wRkJRVUVzUjBGQlVVRXNTVUZCVXl4TlFVTnNSRklzUlVGQlVVY3NSVUZEYUVJc1EwRkRRU3hIUVVGSlFTeEhRVUZMU2l4RlFVTk1MRWRCUVVsRExFVkJRMEZJTEVWQlFVMHNTMEZCUzBjc1EwRkJTeXhGUVVOb1FrUXNSVUZCVFVNc1JVRkJVVW9zUlVGRFpFa3NSVUZCVVN4bFFVVklWaXhKUVVGVFNpeEhRVUZoTEVOQlJUTkNMRXRCUVU5bExFbEJRVk1zUzBGQlQwRXNTVUZCVXl4TFFVTTFRa0VzUlVGQlQwMHNSVUZEVUVFc1JVRkJTMjVDTEVWQlFVMWxMRWRCUVVzc1EwRkJSU3hGUVVOc1FrUXNSVUZCVnl4SFFVZG1MRWxCUVUxUExFVkJRVWxPTEVWQlFVbEZMRVZCUVZNc1JVRkJTVVlzUlVGQlNTeEZRVUZKUXl4RlFVRlhMRVZCUlRsRExFZEJRVWxPTEVWQlFXRlhMRU5CUVVNc1JVRkRaQ3hQUVVGUGNrSXNSVUZEV0ZNc1JVRkJUU3hMUVVGTFdTeERRVUZETEVWQlExcFlMRVZCUVdGWExFTkJRVU1zUlVGQlNTeEhRVU5zUWxZc1JVRkJUVlVzUlVGQlNXSXNSVUZEVmtrc1JVRkJVU3hOUVVOYUxFMUJSVWxGTEVWQlFWY3NSVUZIZGtJc1EwRkRRVVFzUlVGQlQwMHNRMEZEV0N4RFFVZEJMRWRCUmtsTUxFZEJRVmxRTEVkQlExcEJMRVZCUVZjc1JVRkRXRVVzUlVGQlRTeFRRVUZYTEVWQlEycENMRTlCUVU5VUxFVkJRMUJOTEVkQlEwRkJMRVZCUVU4c1JVRkRXQ3hKUVVGSlowSXNSVUZCVFhSQ0xFVkJRVXNzVFVGQlRTeEZRVUZIVXl4RlFVRk5MRU5CUVVNc1EwRkJReXhGUVVOb1F5eFJRVUZUVFN4RlFVRkpMRVZCUVVkQkxFVkJRVWxPTEVWQlFVMHNUMEZCVVN4RlFVRkZUU3hGUVVGSExFTkJRMjVETEVsQlFVMVJMRVZCUVU5a0xFVkJRVTFOTEVOQlFVTXNSVUZEWkVvc1JVRkJUVVlzUlVGQlRVMHNSVUZCU1N4RFFVRkRMRWRCUVV0bUxFVkJRVXNzVDBGRE4wSjFRaXhKUVVGVExFVkJRMVJFTEVWQlFVMDdRVUZCUVN4RlFVRkxja0lzUTBGQlRTeEhRVUZIUkN4RlFVRkxMRTFCUVUwc1JVRkJSMWNzUTBGQlJ5eERRVUZETEVsQlJXeERWQ3hKUVVGVFNpeEpRVUZsV1N4RlFVRmhZU3hEUVVGSkxFbEJRM3BEUkN4SFFVRlBMRWRCUVVkMFFpeEZRVUZMZFVJc1EwRkJTU3hEUVVGRExFMUJRM2hDUkN4SFFVRlBPMEZCUVVFc1JVRkJTM0pDTEVOQlFVMHNSMEZCUjBRc1JVRkJTeXhOUVVGTmRVSXNSVUZCVHl4RlFVRkhXaXhEUVVGSExFTkJRVU1zUjBGRmRFUXNRMEZEUVN4UFFVRlBWeXhEUVVOWUxFTkJTMEVzVTBGQlUwb3NSMEZCZVVKc1FpeEZRVUZOWlN4RlFVRkhaQ3hGUVVGUkxFTkJReTlETEVsQlFVbFZMRVZCUVUxSkxFVkJRMDVUTEVWQlFWRlVMRVZCUVVrc1JVRkRXa2tzUlVGQlMyNUNMRVZCUVV0M1FpeERRVUZMTEVWQlEyNUNMRXRCUVU5TUxFbEJRVThzUzBGQlQwRXNTVUZCVHl4TFFVTjRRaXhIUVVGSlNpeEZRVUZKVXl4RlFVRlJka0lzUlVGRFdtdENMRVZCUVV0dVFpeEZRVUZMTEVWQlFVVmxMRU5CUVVNc1RVRkZXaXhEUVVORUxFZEJRMGxKTEVWQlFVdHVRaXhGUVVGTExFVkJRVVZsTEVOQlFVTXNVVUZEVWtrc1IwRkJUVUVzU1VGQlR6dEJRVUZCTEVkQlEzUkNVaXhGUVVGTlNTeEZRVU5PVXl4RlFVRlJWQ3hGUVVGSkxFVkJRMXBKTEVWQlFVdHVRaXhGUVVGTGQwSXNRMEZCU3l4RFFVTnVRaXhEUVVWS0xFOUJRVTlpTEVOQlExZ3NRME0xU1VFc1NVRkJUV01zUjBGQmFVSXNRMEZCUTBNc1JVRkJTME1zUzBGQllTeERRVU4wUXl4alFVRmxRU3hGUVVGVlJDeEZRVUZKTEU5QlFVOHNUMEZCVTBFc1JVRkJTU3hqUVVOcVJDeFZRVUZYUVN4RlFVRkpMRkZCUVZFc1ZVRkRka0lzWjBKQlFXbENRU3hGUVVGSkxGRkJRVkVzWlVGRGFrTXNSMEZIVFVVc1IwRkJNRUpETEVkQlFWRXNiVUpCUVcxQ0xFdEJRVXRCTEVOQlFVY3NSVUZEYmtVc1UwRkJVME1zUjBGQmIwSkVMRVZCUVV0RkxFVkJRVmRETEVWQlFXTXNRMEZEZGtRc1IwRkJTU3hEUVVGRFJDeEhRVUZoUVN4RlFVRlpMRVZCUXpGQ0xFMUJRVThzUjBGRFdDeEpRVUZOUlN4RlFVRlJSaXhGUVVGWlF5eEZRVU53UWtVc1JVRkJVMHdzUlVGQlNTeFBRVU51UWl4SFFVRkpTeXhIUVVGVlJDeEZRVU5XTEUxQlFVOHNSMEZEV0N4UlFVRlRMRVZCUVVrc1JVRkJSMFVzUlVGQlVTeEZRVUZITEVWQlFVbEVMRVZCUVZFc1JVRkJSU3hGUVVOeVF5eEhRVUZKVEN4RlFVRkpMRU5CUVVNc1NVRkJUVHRCUVVGQkxFVkJRVTBzUTBGRGFrSXNSMEZCU1N4RlFVRkpUU3hGUVVGUlJpeEZRVU5hTEUxQlFVOHNSMEZGV0N4SFFVUkJSU3hGUVVGUkxFVkJRVWtzUlVGRFVrUXNSVUZCVTBNc1IwRkJVMFlzUlVGRGJFSXNUVUZCVHl4RlFVTm1MRU5CUlVvc1RVRkJUeXhGUVVOWUxFTkJRMEVzVTBGQlUwY3NSMEZCYlVKRExFVkJRVTlZTEVWQlFVc3NRMEZEY0VNc1NVRkJUVmtzUlVGQlR5eExRVUZMTEZWQlFWVkVMRU5CUVVzc1JVRkRha01zUjBGQlNWZ3NSVUZCU1N4UlFVRlJMRzFDUVVOYUxFOUJRVTlaTEVWQlExZ3NSMEZCVFN4RFFVRkZMRmxCUVVGRExFTkJRVmtzUlVGQlNXSXNSVUZEYkVKakxFVkJRWEZDWkN4RlFVRkpMRkZCUVZFc0swSkJRMnBEWlN4RlFVRlRaaXhGUVVGSkxGTkJRVmRGTEVkQlFYVkNVeXhEUVVGTExFVkJRVWtzUzBGQlR5eEpRVU5xUlZJc1JVRkJUU3hIUVVOT1RTeEZRVUZSTEVWQlExb3NVVUZCVTA4c1JVRkJTU3hGUVVGSFF5eEZRVUZMVEN4RlFVRkxTU3hEUVVGRExFVkJRVWRETEVWQlFVbEJMRVZCUVV0TUxFVkJRVXNzUlVGQlJVa3NRMEZCUXl4RlFWRXpReXhIUVZCSlF5eEpRVUZQTEV0QlFVOU1MRVZCUVV0SkxFVkJRVWtzUTBGQlF5eEpRVUZOTEUxQlFWRktMRVZCUVV0SkxFVkJRVWtzUTBGQlF5eEpRVUZOTEUxQlJYUkVZaXhIUVVGUFV5eEZRVUZMTEUxQlFVMUlMRVZCUVU5UExFTkJRVU1zUlVGQlNTeE5RVU01UWtFc1IwRkJTeXhGUVVOTVVDeEZRVUZSVHl4RlFVTlNReXhGUVVGTExFMUJSVXhCTEVsQlFVOHNTMEZEVUN4UFFVRlJUQ3hGUVVGTFNTeEZRVUZKTEVOQlFVTXNSVUZCUnl4RFFVTnFRaXhKUVVGTExFbEJRMFFzUTBGRFNXSXNSMEZCVDFNc1JVRkJTeXhOUVVGTlNDeEZRVUZQVHl4RFFVRkRMRVZCUXpGQ0xFbEJRVTFGTEVWQlFVOU9MRVZCUVVzc1QwRkJUMGtzUlVGQlNTeEZRVUZITEVOQlFVTXNSVUZEYWtNc1QwRkJVVVVzUlVGQlRTeERRVU5XTEVsQlFVc3NUMEZEUkdZc1IwRkJUeXhOUVVOUUxFMUJRMG9zU1VGQlN5eFBRVU5FUVN4SFFVRlBMRTFCUTFBc1RVRkRTaXhKUVVGTExFOUJRMFJCTEVkQlFVOHNUVUZEVUN4TlFVTktMRWxCUVVzc1QwRkRSRUVzUjBGQlR5eE5RVU5RTEUxQlEwb3NTVUZCU3l4UFFVTkVRU3hIUVVGUExFMUJRMUFzVFVGRFNpeEpRVUZMTEU5QlEwUkJMRWRCUVU4c1RVRkRVQ3hOUVVOS0xFbEJRVXNzVDBGRFJFRXNSMEZCVHl4TlFVTlFMRTFCUTBvc1NVRkJTeXhQUVVORVFTeEhRVUZQTEUxQlExQXNUVUZEU2l4UlFVTlJaU3hGUVVGTExFOUJRVThzUlVGQlJ5eERRVUZETEVsQlFVMHNTMEZEZEVKbUxFZEJRVThzVFVGQlVXVXNSVUZCU3l4UFFVRlBMRU5CUVVNc1JVRkZOVUptTEVkQlFVOVRMRVZCUVVzc1QwRkJUMGtzUlVGQlJ5eERRVUZETEVOQlEyNURMRU5CUTBGQkxFZEJRVXNzUlVGRFRGQXNSVUZCVVU4c1JVRkJTU3hEUVVOb1FpeERRVU5CTEUxQlEwb3NTVUZCU3l4SlFVTkVMRWRCUVVsSUxFZEJRMEZFTEVWQlFVdEpMRVZCUVVrc1EwRkJReXhKUVVGTkxFdEJRMmhDU2l4RlFVRkxMRTlCUVZORkxFVkJRMlJGTEVkQlFVc3NUVUZGU2l4RFFVZEVMRWxCUkVGaUxFZEJRVTlUTEVWQlFVc3NUVUZCVFVnc1JVRkJUMDhzUTBGQlF5eEZRVUZKTzBGQlFVRTdRVUZCUVN4RlFVTjJRa29zUlVGQlMwa3NSVUZCU1N4RFFVRkRMRWxCUVUwc1RVRkRia0pLTEVWQlFVdEpMRVZCUVVrc1EwRkJReXhKUVVGTkxFdEJRMmhDU2l4RlFVRkxTU3hGUVVGSkxFTkJRVU1zU1VGQlRTeExRVU5vUW1Jc1IwRkJUenRCUVVGQkxFVkJRMUJoTEVkQlFVc3NSVUZGVkdJc1IwRkJUMWtzUlVGRlNFZ3NSVUZCUzBrc1JVRkJTU3hEUVVGRExFbEJRVTBzVFVGRGFFSmlMRWRCUVU4c1RVRkRXR0VzUjBGQlN5eEZRVU5NVUN4RlFVRlJUeXhGUVVGSkxFTkJRMmhDTEVOQlEwRXNUVUZEU2l4UlFVTkpRU3hIUVVGTExFTkJRMklzUTBGRlVpeFBRVUZCWWl4RlFVRk5UU3hGUVVGUlRpeEZRVUZOVXl4RlFVRkxMRTFCUVUxSUxFTkJRVXNzUlVGQlNVY3NSVUZEYWtORExFVkJRMFJXTEVWQlEwRm5RaXhIUVVGamFFSXNSVUZCUzFrc1JVRkJVVXNzUjBGQllYSkNMRWRCUVdWRExFVkJRVXNzUlVGQlN5eERRVUZETEVOQlF6VkZMRU5CUTBFc1UwRkJVM0ZDTEVkQlFXMUNWaXhGUVVGUFdDeEZRVUZMTEVOQlEzQkRMRWRCUVVsQkxFVkJRVWtzVVVGQlVTeGpRVUZuUWl4SlFVTXpRa0VzUlVGQlNTeGhRVUZsVnl4RlFVRk5MRk5CUVZNN1FVRkJRU3hEUVVGSkxFZEJRM1pETEd0Q1FVRnJRaXhMUVVGTFFTeERRVUZMTEVWQlJUVkNMRTlCUVU5RUxFZEJRVzFDUXl4RlFVRlBXQ3hEUVVGSExFVkJRM2hETEVsQlFVMWxMRVZCUVZObUxFVkJRVWtzVTBGQlYwVXNSMEZCZFVKVExFTkJRVXNzUlVGQlNTeExRVUZQTEVsQlF5OUVWeXhGUVVGTkxFbEJRVTFZTEVWQlFVMHNVVUZCVVN4TFFVRk5MRWxCUVVrc1JVRkJSU3hSUVVGUkxFOUJRVkU3UVVGQlFTeEZRVUZQU1N4RFFVRk5MRVZCUVVVc1JVRkJTU3hKUVVNdlJTeFBRVUZQWml4RlFVRkpMRmxCUTB4elFpeEZRVU5CU0N4SFFVRmpSeXhGUVVGTFVDeEZRVUZSVVN4SFFVRlhlRUlzUjBGQlpVTXNSVUZCU3l4RlFVRkxMRU5CUVVNc1EwRkRNVVVzUTBGRFFTeFRRVUZUZDBJc1IwRkJZV0lzUlVGQlQxZ3NSVUZCU3l4RFFVTTVRaXhIUVVGTkxFTkJRVVVzV1VGQlFYbENMRU5CUVZrc1JVRkJTWHBDTEVWQlFVa3NVVUZEZUVJd1FpeEZRVU5LTEVkQlFVbEVMRWxCUVdkQ0xFZEJRMmhDUXl4RlFVRkxhRUlzVDBGRFNpeERRVU5FTEVsQlFVMXBRaXhGUVVGWmFFSXNSVUZCVFN4VFFVRlRMRWRCUVVjc1JVRkRPVUpwUWl4RlFVRlpha0lzUlVGQlRTeFRRVUZUTEVkQlFVY3NSVUZEYUVOblFpeEhRVUZoTEVOQlFVTkRMRVZCUTJSR0xFVkJRVXRNTEVkQlEwRlBMRWRCUVdFc1EwRkJRMFFzUlVGRGJrSkVMRVZCUVV0b1FpeEhRVVZNWjBJc1JVRkJTMFFzUlVGQlkwb3NSMEZCY1VKWUxFVkJRMmhFTEVOQlEwRXNUMEZCVDJkQ0xFVkJRVWRtTEVWQlFVOVlMRU5CUVVjc1EwRkRlRUlzUTBGSFFTeEpRVUZKTmtJc1IwRkRTaXhIUVVGSkxFTkJRMEZCTEVkQlFXMUNMRWxCUVVrc1QwRkJUenRCUVVGQk8wRkJRVUU3UVVGQlFTeExRVUV3UWl4SFFVRkhMRU5CUXk5RUxFOUJRMDFETEVWQlFVRXNRMEZEUmtRc1IwRkJiVUlzWTBGRGRrSXNRMEZEUVN4VFFVRlRSU3hIUVVGWkxFTkJRVVVzVVVGQlFVTXNSVUZCVXl4TFFVRkJReXhGUVVGTkxFMUJRVUYwUWl4RFFVRk5MRVZCUVVkWUxFVkJRVXRyUXl4RlFVRlhReXhGUVVGaExFTkJRM2hGTEVkQlFVMHNRMEZCUlN4WFFVRkJReXhGUVVGWkxHTkJRVUZETEVWQlFXVXNWVUZCUVdoRExFTkJRVlVzUlVGQlNVd3NSVUZCU1N4UlFVZHlSQ3hIUVVGSkxFTkJRVU52UXl4SFFVRmpMRmxCUVZrc1MwRkJTM3BDTEVOQlFVc3NSMEZCU3l4UlFVRlJMRXRCUVV0QkxFTkJRVXNzUlVGRE5VUXNUMEZCVDJFc1IwRkJZV0lzUlVGQlQxZ3NRMEZCUnl4RlFVVnNReXhKUVVGTlpTeEZRVUZUWml4RlFVRkpMRk5CUTJSQkxFVkJRVWtzYTBKQlFXOUNSU3hIUVVGMVFsTXNRMEZCU3l4RlFVRkpMRXRCUVU4c1NVRkRPVVF5UWl4RlFVRlZSaXhKUVVGbExGVkJRM3BDTEVkQlEwRkJMRWxCUVdVc1ZVRkJXVWdzU1VGQlUwMHNSVUZCVHl4aFFVTjJReXhIUVVOQlRpeEpRVUZUVFN4RlFVRlBMR05CUTFvc1IwRkRRU3hEUVVGRGJrTXNSMEZCYjBKUExFVkJRVTlPTEVWQlFWZFZMRVZCUVU4c1RVRkJUU3hGUVVOc1JTeEhRVUZKTEVOQlFVTktMRVZCUTBRc1QwRkJUekpDTEVWQlFWVTdRVUZCUVN4RlFVRlJPMEZCUVVFc1JVRkZOMElzU1VGQlNVVXNSVUZEUVVNc1JVRkRTaXhKUVVGTFFTeEZRVUZYT1VJc1JVRkJUU3hQUVVGUk9FSXNSVUZCVnl4RlFVRkhMRVZCUVVWQkxFVkJRVlVzUTBGRGNFUXNTVUZCVFhoQ0xFVkJRVXRPTEVWQlFVMDRRaXhGUVVGWExFTkJRVU1zUlVGRE4wSXNSMEZCU1hoQ0xFbEJRVTg3UVVGQlFTeEhRVUZSUVN4SlFVRlBMRXRCUVZGQkxFbEJRVThzU1VGRGNrTXNTMEZEVWl4RFFVTkJMRWxCUVVsNVFpeEZRVUZOTDBJc1JVRkJUU3hWUVVGVk9FSXNRMEZCVVN4RlFVTTFRa1VzUlVGQlYwUXNSVUZCU1N4UlFVRlJPMEZCUVVFc1EwRkJTU3hGUVVNM1FrTXNTVUZCWVN4SFFVTmlTQ3hGUVVGUkxFbEJSVWczUWl4SlFVRlZLMElzUjBGQlQwTXNTVUZCWVVRc1JVRkJTU3hQUVVGVExFZEJRMmhFUml4RlFVRlJMRWxCUTBwTUxFZEJRMEZCTEVWQlFWa3NSMEZIYUVKTExFVkJRVkVzUjBGRlVrVXNTVUZEUVM5Q0xFVkJRVkZCTEVWQlFVMHNUVUZCVFN4RlFVRkhMRU5CUVVNclFpeEZRVUZKTEUxQlFVMHNSVUZET1VKQkxFVkJRVWxCTEVWQlFVa3NUMEZCVXl4RFFVRkRMRWxCUVUwN1FVRkJRU3hKUVVONFFrRXNSVUZCVFVFc1JVRkJTU3hOUVVGTkxFVkJRVWNzUlVGQlJTeEhRVU42UWtFc1JVRkJUVUVzUlVGQlNTeFJRVUZSWWl4SFFVRnJRaXhMUVVGTFpDeERRVUZOTEVWQlFVVXNSMEZIY2tRc1NVRkJTVFpDTEVWQlFXbENMRWRCUTJwQ1F5eEZRVU5CUXl4RlFVRmhMRWRCUTJwQ0xFbEJRVXRFTEVWQlFWY3NSVUZCUjBFc1JVRkJWMnhETEVWQlFVMHNUMEZCVVN4RlFVRkZhME1zUlVGQlZTeERRVU53UkN4SlFVRk5OVUlzUlVGQlMwNHNSVUZCVFd0RExFTkJRVkVzUlVGRGVrSXNSMEZCU1RWQ0xFbEJRVThzU1VGRFVESkNMRVZCUVdsQ0xGZEJRMW96UWl4SlFVRlBPMEZCUVVFc1JVRkRXalpDTEVWQlFXRkVMRTFCUldJc1RVRkRVaXhEUVVOQkxFbEJRVWx3UXl4RlFVRlJSU3hGUVVGTkxGVkJRVlVzUlVGQlIyMURMRVZCUVdGRUxFVkJRVmRETEVWQlFXRXNSVUZCU1VRc1EwRkJVU3hGUVVNMVJYQkRMRWxCUTBGRkxFVkJRVkZCTEVWQlFVMHNWVUZCVlVZc1JVRkJUU3hOUVVGTkxFVkJRM0JEUVN4RlFVRlJRU3hGUVVGTkxGRkJRVkVzVDBGQlVTeExRVUZMVFN4RFFVRk5MRVZCUVVVc1IwRkhMME1zU1VGQlNXZERMRWRCUVZWVUxFVkJRVlVzU1VGQlRTeE5RVUZSVFN4RlFVUnVRamRDTEVWQlFWTXNTVUZCVFN4SlFVTnJReXhKUVVGTmVVSXNSVUZOTVVVc1IwRk1TVklzU1VGRFFXVXNSMEZCVlN4SlFVRk5WaXhGUVVGalRDeEZRVUZSTEZGQlFWRXNZVUZCWXl4SFFVRkhMRU5CUVVNc1JVRkROVVJGTEVkQlEwRkJMRVZCUVZVc1IwRkZaRWtzUlVGRFFTeFBRVUZCTTBJc1JVRkJVVUVzUlVGQlRTeFJRVUZSTEU5QlFWRXNTMEZCUzBrc1EwRkJUU3hGUVVGRkxFVkJRM0JETEVkQlFVZG5ReXhEUVVGTk8wRkJRVUVzUlVGQlMyaERMRU5CUVUwc1IwRkJSMDRzUTBGQlN5eEhRVUZIUlN4RFFVRkxMRWRCUVVjclFpeERRVUZITEVkQlJYSkVMMElzUlVGQlVVRXNSVUZEU0N4UlFVRlJMRTlCUVZFN1FVRkJRU3hIUVVGTkxFVkJRM1JDTEZGQlFWRXNhVVJCUVd0RUxFMUJRVTBzUlVGRmFFVXNVVUZCVVN4UFFVRlJMRXRCUVV0SkxFTkJRVTBzUlVGQlJTeEZRVU5zUXl4SlFVRk5hVU1zUlVGQlR6ZENMRWRCUVdNc1IwRkJSMVlzUTBGQlN5eEhRVUZIUlN4RFFVRkxMRWRCUVVjclFpeERRVUZITEVkQlFVa3pRaXhGUVVGUmEwTXNSMEZCV1d4RUxFZEJRV1ZETEVWQlFVc3NSVUZCU1N4RFFVRkRMRVZCUTJ4SExFMUJRVThzUjBGQlJ5dERMRU5CUVUwN1FVRkJRU3hGUVVGTGFFTXNRMEZCVFN4SFFVRkhhVU1zUTBGQlNTeEZRVU4wUXl4RFFVTkJMRk5CUVZORkxFZEJRVmxETEVWQlFVMXVSQ3hGUVVGTGEwTXNSVUZCVjBNc1JVRkJZU3hEUVVOd1JDeEhRVUZOTEVOQlFVVXNTMEZCUVVZc1JVRkJUU3hOUVVGQmRFSXNRMEZCVFN4RlFVRkpkME1zUlVGRGJFSXNRMEZCUlN4aFFVRkJReXhGUVVGakxGbEJRVUYyUXl4RlFVRmhMRTlCUVVGRkxFVkJRVkVzVjBGQlFYTkRMRVZCUVZrc1QwRkJRVU1zUTBGQlR5eEZRVUZKZEVRc1JVRkRiRVVzUjBGQlMyRXNSMEZCWlVZc1JVRkJUU3hUUVVGVE8wRkJRVUVzUTBGQlNTeEhRVU5zUXpKRExFZEJRVlVzVjBGQlZ5eExRVUZMTTBNc1EwRkJTeXhGUVVOb1F5eFBRVUZQWVN4SFFVRmhZaXhGUVVGUFdDeERRVUZITEVWQlJXeERMRWRCUVVrc1EwRkJRMWNzUjBGRFJDeHZSa0ZCYjBZc1MwRkJTMEVzUTBGQlN5eEZRVTg1Uml4UFFVRlBSU3hIUVVGbGVVTXNSMEZCVlN4RFFVRkRNME1zUlVGQlRTeFRRVUZUTzBGQlFVRXNRMEZCU1N4RlFVTTVRMkVzUjBGQllXSXNSVUZCVDFnc1EwRkJSeXhGUVVOMlFpdENMRWRCUVZsdlFpeEZRVUZOYmtRc1JVRkJTMnRETEVWQlFWZERMRU5CUVZjc1JVRkZka1FzUjBGQlNTeERRVUZEZEVJc1IwRkRSQ3hEUVVGRGVVTXNSMEZEUkhKQ0xFbEJRVk5OTEVWQlFVOHNUMEZEYUVJMVFpeEZRVUZOTEZOQlFWTTdRVUZCUVN4RFFVRkpMRVZCUlc1Q0xFOUJRVTl2UWl4SFFVRlpiMElzUlVGQlRXNUVMRVZCUVV0clF5eEZRVUZYUXl4RFFVRlhMRVZCUlhoRUxFZEJRVWxxUXl4SFFVRjFRbE1zUTBGQlN5eEZRVUZITEVOQlF5OUNMRWRCUVVsSkxFbEJRVmNzUjBGRFdDeFBRVUZCWml4RlFVRkpMR2xDUVVGdFFpeEhRVU5vUWl0Q0xFZEJRVmx2UWl4RlFVRk5ia1FzUlVGQlMydERMRVZCUVZkRExFTkJRVmNzUlVGRmJrUXNSMEZCU1hSQ0xFZEJRV1ZGTEVsQlFWZHpReXhGUVVNdlFpeFBRVUZQTjBJc1IwRkJZV0lzUlVGQlQxZ3NRMEZCUnl4RFFVVjBReXhEUVVOQkxFbEJRVTFITEVWQlFVMVJMRVZCUVUwc1VVRkJVU3hQUVVGUk8wRkJRVUVzUlVGQlQwa3NRMEZCVFN4RlFVRkZMRVZCU1dwRUxFZEJRVWx4UXl4RlFVRmpMRU5CUTJRc1NVRkJUVWNzUlVGQlVVTXNSMEZCU3l4RFFYWlNNMElzU1VGQlFVTXNSVUYxVWpoQ0xFOUJRVUZFTEVWQlFVa3NVMEZCVjBFc1JVRkJTU3hOUVVGUkxESkNRVUV5UWtNc1JVRkJRVVFzUlVGQlNTeFBRVUZLTEZsQlFVRkRMRVZCUVZVc1MwRkJTM1JFTEV0QlEzSkdMRU5CUVVVc1QwRkJRWFZFTEVWQlFWRXNTMEZCUVVNc1EwRkJTeXhGUVVGSk0wUXNSVUZCU1N4SlFVRkpMRTlCUTJwRExFZEJRVWt5UkN4RlFVRkxMRXRCUVV0S0xFTkJRVWtzUjBGQlMwY3NSMEZCUVN4TlFVRkJRU3hGUVVGUkxFdEJRVXRJTEVkQlEyaERMRTlCUVU4dlFpeEhRVUZoWWl4RlFVRlBXQ3hEUVVGSExFTkJRM1JETEVOQlEwRXNUMEZCVDJFc1JVRkRSRllzUlVGRFFXZENMRWRCUVdOb1FpeEZRVUZMV1N4RlFVRlJVU3hIUVVGWGVFSXNSMEZCWlVNc1JVRkJTeXhGUVVGTExFTkJRVU1zUTBGRE1VVXNRMEZEUVN4VFFVRlRORVFzUjBGQlowSlVMRVZCUVUxdVJDeEZRVUZMYTBNc1JVRkJWME1zUlVGQllTeERRVU40UkN4SFFVRk5MRU5CUVVVc1dVRkJRWFJDTEVWQlFXRXNUMEZCUVhsRExFTkJRVThzUlVGQlNYUkVMRVZCUXpGQ05rUXNSVUZCU3l4UFFVRlBWaXhGUVVGTExFOUJRVlVzVTBGRE0wSkJMRVZCUTBFc1QwRkJUeXhQUVVGUExFTkJRVU1zUlVGQlIwRXNSVUZCVFN4RFFVRkZMRTFCUVU4c1QwRkJUMEVzUlVGQlN5eExRVUZMTEVOQlFVVXNRMEZCUXl4RlFVTjJSQ3hEUVVGRkxFdEJRVUZzUWl4RFFVRkxMRVZCUVVsclFpeEZRVU5ZYkVJc1NVRkJVMDBzUlVGQlR5eGpRVVZhTEd0RVFVRnJSQ3hMUVVGTGMwSXNSVUZCUnl4TFFVRkxMRWxCUXk5RU5VSXNSVUZCVDAwc1JVRkJUeXhqUVVWMFFpeEpRVUZOZFVJc1JVRkJZME1zUjBGQlZTeERRVU14UWl4UFFVRlJRU3hGUVVGUExFTkJRMWdzUzBGQlMzaENMRVZCUVU4c1lVRkRXaXhMUVVGTFFTeEZRVUZQTEdOQlExSXNUMEZCVHpGQ0xFZEJRV1Y1UXl4RlFVTm9RamxDTEVkQlFXRnhReXhGUVVGSExFMUJRVTgzUkN4RFFVRkhMRVZCUXpGQ0swSXNSMEZCV1RoQ0xFVkJRVWszUkN4RlFVRkxhME1zUlVGQlYwTXNRMEZCVnl4RlFVTnlSQ3hMUVVGTFNTeEZRVUZQTEdGQlExSXNUMEZCVHpkQ0xFZEJRVzFDYlVRc1JVRkJSeXhOUVVGUE4wUXNRMEZCUnl4RlFVTXpReXhMUVVGTGRVTXNSVUZCVHl4aFFVTlNMRTlCUVU5c1FpeEhRVUZ0UW5kRExFVkJRVWNzVFVGQlR6ZEVMRU5CUVVjc1JVRkRNME1zUzBGQlMzVkRMRVZCUVU4c1RVRkRVaXhQUVVGUFZ5eEhRVUZaVnl4RlFVRkpOMFFzUlVGQlMydERMRVZCUVZkRExFTkJRVmNzUlVGRGRFUXNVVUZEU1N4UFFVRlBMRWxCUTJZc1EwRkRTaXhGUVVOSllpeEZRVUZOZDBNc1JVRkJWemRDTEVOQlFVa3NSVUZEZWtJc1IwRkJTVmdzU1VGQlVTeExRVUZOTEVOQlEyUXNSMEZCVFN4RFFVRkZMR1ZCUVVFd1F5eEZRVUZuUWl4clFrRkJRVU1zUTBGQmEwSXNSVUZCU1dwRkxFVkJRVWtzVVVGRE5VTnJSU3hGUVVGTGNrUXNSMEZCWlcxRUxFZEJRVzFDUXl4RlFVVTNReXhIUVVSQk0wTXNSVUZCVFhkRExFVkJRVmRKTEVOQlFVTXNSVUZEWkRWRExFbEJRVkVzUzBGRFVpeE5RVUZOTEVsQlFVa3NUVUZCVFN4dFEwRkJiVU0wUXl4RFFVRkRMRVZCUVVVc1EwRkRPVVFzUTBGRFFTeFBRVUZQTlVNc1EwRkRXQ3hEUTJoVlFTeFRRVUZUTmtNc1IwRkJkVUpETEVWQlFVdERMRVZCUVZNc1EwRkRNVU1zU1VGQlRVTXNSVUZCVFN4UFFVRlBMRTlCUVU4c1EwRkRkRUlzVjBGQldTeEhRVU5hTEdOQlFXVkRMRWRCUTJZc1pVRkJaMElzUzBGRGFFSXNhMEpCUVcxQ0xGRkJRMjVDTEZkQlFWa3NTMEZEV2l4dFFrRkJiMElzUjBGRGNFSXNLMEpCUVdkRExFZEJRMmhETEZOQlFWVXNVVUZEVml4elFrRkJkVUlzUjBGRGRrSXNWVUZCVnl4SFFVTllMRlZCUVZjc1IwRkRXQ3huUWtGQmFVSXNSMEZEYWtJc1VVRkJVeXhQUVVOVUxGZEJRVmtzUjBGRFdpeFpRVUZoTEV0QlEySXNVVUZCVXl4UFFVTlVMR2xDUVVGclFpeEZRVU4wUWl4RlFVRkhTQ3hGUVVGSkxFOUJRVThzWjBKQlFXbENReXhEUVVGUExFVkJRMnhEUnl4RlFVTktMRTlCUVZGR0xFVkJRVWtzWjBKQlFXbENMRU5CUTNwQ0xFbEJRVXNzVVVGRFJFVXNSVUZCVXl4SFFVTlVMRTFCUTBvc1NVRkJTeXhQUVVORVFTeEZRVUZUTEVkQlExUXNUVUZEU2l4UlFVTkpRU3hGUVVGVExFbEJRMnBDTEVOQlEwRXNUVUZCVHl4RFFVTklMRkZCUVZNc1NVRkJTU3hKUVVOaUxFbEJRVUZLTEVWQlEwRXNjMEpCUVhWQ1JTeEZRVUZKTEhOQ1FVRjNRaXhKUVVGTkxFZEJRM3BFTEU5QlFWRXNSMEZEVWl4WFFVRlpMRTlCUVU5QkxFVkJRVWtzVVVGQlZ5eFRRVUZYTEVsQlFVa3NUMEZCVDBFc1JVRkJTU3hOUVVGTkxFVkJRVWtzUzBGRGRFVXNUMEZCUVVVc1JVRkRRU3hSUVVGVFJpeERRVU5pTEVOQlEwb3NRMEZEUVN4VFFVRlRSeXhIUVVGaFF5eEZRVUZOUXl4RlFVRk5MRU5CT1VOc1F5eEpRVUZCUXl4RlFVRkJReXhGUVVGQlF5eEZRVUZCUXl4RlFTdERTU3hIUVVGSlNpeEZRVUZMTEVsQlFVc3NRMEZEVml4SlFVRk5TeXhGUVVGUlRpeEZRVUZMTEU5QlFVOVBMRWRCUVV0QkxFVkJRVVVzVFVGQlVVNHNSVUZCU3l4SFFVRkhMRVZCUTJwRUxFZEJRVWxMTEVWQlFVMHNUMEZCVXl4RlFVTm1MRTlCUVU5S0xFVkJRVUZKTEVWQlFVMHNTMEZCUzBNc1IwRkJTMEVzUlVGQlJTeFRRVUZYVGl4RlFVRkxMRTFCUVUwc1NVRkJlRU1zUzBGQlFVTXNSVUZCTmtOSkxFVkJRVTBzUTBGQlF5eERRVU51UlN4RFFVTkJMRWxCUVVsRkxFVkJRMEZETEVWQlEwb3NSMEZCU1VNc1JVRkJVMVFzUTBGQlNTeEZRVUZITEVOQlEyaENVU3hGUVVGTlVpeEZRVUZMTEUxQlExZ3NTVUZCU1Vzc1JVRkJVVTRzUlVGQlN5eFBRVUZQVHl4SFFVRkZMRU5CZUVSc1F5eEpRVUZCVEN4RlFYZEVjVU1zVDBGQlFVRXNSVUZCUVVzc1JVRkJSU3hYUVVGR0xGbEJRVUZNTEVWQlFVRXNTMEZCUVVzc1JVRkJZVVVzUjBGQlNTeEZRVU01UXl4SFFVRkpTQ3hGUVVGTkxFOUJRVk1zUlVGQlJ5eERRVU5zUWl4SlFVRk5TeXhGUVVGWlRDeEZRVUZOTEU5QlFVOURMRWRCUVV0QkxFVkJRVVVzU1VGQlNTeEZRVU4wUTBrc1JVRkJWU3hQUVVGVExFbEJRMjVDVEN4RlFVRlJTeXhGUVVOb1FpeERRVU5CU0N4SFFVTkpUQ3hGUVVGQlJ5eEZRVUZOTEV0QlFVdERMRWRCUVV0QkxFVkJRVVVzVTBGQlYwNHNSVUZCU3l4TlFVRk5MRWxCUVhoRExFdEJRVUZGTEVWQlFUWkRSeXhGUVVGTkxFdEJRVXRETEVkQlFVc3NRMEZCUTBFc1JVRkJSU3hOUVVGTkxFTkJRemxGTEUxQlJVbEZMRVZCUVUxU0xFVkJRMDVQTEVWQlFWTlNMRVZCUVVzc1MwRkJTMDhzUjBGQlMwRXNSVUZCUlN4WFFVRmhSU3hoUVVGbFJpeEZRVUZGTEZOQlFWTXNSVUZGY2tVc1IwRkJTU3hEUVVGRFF5eEZRVUZSTEVOQlExUXNTVUZCVFVrc1IwRkJUMUFzUjBGQlFVUXNSVUZCUVVzc1IwRkJRU3haUVVGQlFTeEZRVUZMTEdOQlFVd3NXVUZCUVV3c1JVRkJhMElzVDBGQmJFSXNTMEZCUVVNc1JVRkJNRUlzVDBGQlQwa3NSVUZET1VNc1RVRkJUU3hKUVVGSkxFMUJRVTBzZDBKQlFYZENSeXhEUVVGSkxGRkJRVkVzUTBGRGVFUXNRMEZEUVN4UFFVRlBTaXhEUVVOWUxFTkJSVUVzVTBGQlUwc3NSMEZCWlVNc1JVRkJUVTRzUlVGQlVTeERRVUZGTEZGQlFVRlBMRVZCUVZNc1NVRkJRWEpDTEVOQlFVa3NSVUZCUnl4RFFVTndSQ3hIUVVGSkxFTkJRVU5CTEVWQlFVa3NWMEZEVEN4TlFVRlBMRWRCUTFnc1NVRkJUWE5DTEVWQlFWRXNRMEZCUXl4RlFVTlVReXhIUVVGVlVDeEZRVUZUU1N4RFFVRkpMRWRCUVV0SkxFVkJRV0ZLTEVOQlFVa3NTVUZCVFVFc1JVRkJTeXhQUVVNeFJFY3NSMEZCVlVVc1IwRkJZMFlzUTBGQlRTeEpRVU01UWtZc1JVRkJVU3hKUVVGSlJTeERRVUZOTEVWQlEyeENSQ3hGUVVGTkxFdEJRVXNzU1VGQlNVTXNRMEZCVFN4RlFVRkZMRWRCUlROQ0xFbEJRVTFITEVWQlFVMU9MRVZCUVVzc1NVRkJUVUVzUlVGQlN5eEpRVUZOVGl4RlFVRlBMRkZCUVZVc1MwRkJUMEVzUlVGQlR5eEpRVU5xUlN4UFFVRkpXU3hIUVVOQlNpeEZRVUZOTEV0QlFVdDBRaXhGUVVGSkxGZEJRVmNzVlVGQlZUQkNMRU5CUVVjc1EwRkJReXhGUVVOeVEwb3NSVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkRla0lzUTBGRFFTeFRRVUZUU3l4SFFVRlZjRUlzUlVGQlRYRkNMRVZCUVV0RExFVkJRVmRETEVWQlFXRXNRMEV4Um5SRUxFbEJRVUYwUWl4RlFVRkJReXhGUVRKR1NTeEhRVUZKYzBJc1JVRkJUM2hDTEVOQlFVa3NSVUZEV0N4UFFVRlBRU3hGUVVGTExGTkJRVk54UWl4RlFVRkxReXhGUVVGWFF5eERRVUZYTEVWQlEzQkVMRWRCUVVsRkxFZEJRVkY2UWl4RFFVRkpMRVZCUVVjc1EwRkRaaXhIUVVGSmNVSXNSVUZCU1N4SlFVRkpMRmRCUTFJc1QwRkJUM0pDTEVWQlFVc3NVMEZCVTNGQ0xFTkJRVWNzUlVGRE5VSXNTVUZCU1hCQ0xFVkJRVUZ2UWl4RlFVRkpMR3RDUVVGS0xFMUJRVUZ3UWl4RlFVRnhRaXhKUVVGSlJDeEhRVU42UWl4TlFVRk5MRWxCUVVrc1ZVRkJWU3g1UkVGQmVVUXNSVUZIZWtWeFFpeEZRVUZKTEdkQ1FVTktRU3hGUVVGSkxHZENRVUZuUWl4SlFVRkpja0lzUTBGQlNTeEZRVVUxUW5GQ0xFVkJRVWtzWjBKQlFXdENMRWxCUVVrc1NVRkJTU3hEUVVGRGNrSXNRMEZCU1N4RFFVRkRMRVZCUTNoRFFTeEZRVUZQUVN4RlFVRkxMRkZCUVZGeFFpeEZRVUZKTEVkQlFVY3NRMEZGYmtNc1EwRkRRU3hKUVVGSlpDeEZRVU5GVFN4RlFVRlBZU3hGUVVGUE1VSXNRMEZCU1N4RlFVTnNRa0VzUlVGRFFYRkNMRVZCUVVrc1NVRkJTU3hYUVVGWGNrSXNSVUZCVFN4RFFVRkZMRk5CUVZVeVFpeEhRVUZOY0VJc1JVRkJVMjlDTEVOQlFVY3NRMEZCUXl4RlFVTjZSSEJDTEVsQlEwUkJMRVZCUVZOVUxFZEJRV0YxUWl4RlFVRkpMRWxCUVVrc1QwRkJUeXhMUVVGTlVpeERRVUZKTEVkQlEyNUVMRWxCUVUxRkxFVkJRVkZJTEVkQlFXVkRMRVZCUVUxT0xFVkJRVkZqTEVOQlFVY3NSVUZETVVOT0xFVkJRVTBzVDBGQlV5eEpRVU5tVFN4RlFVRkpMR2RDUVVGcFFtNUNMRVZCUVVGdFFpeEZRVUZKTEdkQ1FVRktMRXRCUVVGdVFpeEZRVUZ4UWl4SFFVRkxZU3hGUVVGTkxFOUJRVk1zUjBGRGJFVXNTVUZCVFdFc1JVRkJUU3hQUVVGUGNrSXNSVUZCVHl4WFFVRmpMRmRCUTJ4RFFTeEZRVUZQTEZWQlFWVk5MRVZCUVUxUkxFVkJRVXRETEVWQlFWZERMRU5CUVZjc1JVRkRiRVJrTEVWQlFWTkpMRU5CUVVrc1JVRkRWR2RDTEVkQlFXZENhRUlzUlVGQlRWRXNSVUZCUzBNc1JVRkJWME1zUTBGQlZ5eEZRVU5xUkZZc1JVRkJTeXhUUVVGVFVTeEZRVUZMUXl4RlFVRlhReXhEUVVGWExFVkJRMjVFTEU5QlFVdFNMRVZCUlVWT0xFVkJRVk5KTEVOQlFVa3NSMEZCUzJVc1JVRkJTU3hEUVVGRExFbEJRVTBzUzBGQlQwRXNSVUZCU1N4RFFVRkRMRWxCUVUwc1NVRkRhRVFzUjBGQlIySXNRMEZCU3l4SlFVRkpZU3hEUVVGSExFZEJRMllzUjBGQlIySXNRMEZCU3p0QlFVRkJMRVZCUVV0TkxFVkJRVWtzVFVGQlRTeEhRVUZIVHl4RFFVRkhMRWRCU0hoQ1FTeERRVWxtTEVORGVraEJMRk5CUVZORkxFZEJRV01zUTBGQlJTeEpRVUZCUXl4RlFVRkxMRTFCUVVGRExFTkJRVTBzUlVGQlIwTXNSVUZCUzBNc1JVRkJWME1zUlVGQllTeERRVXh3UlN4SlFVRkJReXhGUVVGQlF5eEZRVTFKTEVkQlFVMHNRMEZCUlN4alFVRkJReXhGUVVGbExFbEJRVUZETEVWQlFVc3NUMEZCUVVNc1JVRkJVU3hYUVVGQlF5eEZRVUZaTEZGQlFWTXNRMEZCUlN4alFVRkJReXhGUVVGbExGVkJRVUZETEVWQlFWY3NWMEZCUVVNc1EwRkJWeXhEUVVGRkxFVkJRVWxZTEVWQlEyeEhXU3hGUVVGalF5eEZRVUZQWml4RFFVRkhMRWRCUVV0QkxFVkJRVWtzVTBGQldTeExRVU5xUkN4SFFVRkpZU3hGUVVGWkxFTkJRMW9zUjBGQlNVTXNSVUZEUVN4TlFVRk5MRWxCUVVrc1RVRkJUU3hyUkVGQmEwUXNSVUZGZEVVc1IwRkJTVVVzUlVGQllXaENMRU5CUVVjc1IwRkJUU3hEUVVGRFpTeEZRVUZQWml4RFFVRkhMRWRCUVVzc1QwRkJUMEVzUjBGQlVTeFRRVUZYTEVOQlEyaEZMRWxCUVUxcFFpeEZRVUZOTERaRVFVTmFMRTFCUVUwc1NVRkJTU3hOUVVGTlFTeERRVUZITEVOQlEzWkNMRU5CUTBvc1EwRkRRU3hKUVVGSlF5eEZRVUZqTEVOQlFVTk1MRWxCUTJRc1EwRkJRMklzUjBGRFIyTXNSMEZCWTJJc1IwRkJVeXhOUVVGUkxFTkJRVU5ETEVWQlFVa3NVVUZEY2tOakxFVkJRV0ZvUWl4RFFVRkhMRWxCUTJadFFpeEZRVUZUYmtJc1EwRkJSeXhGUVVOUVFTeEZRVUZKTEU5QlFWTnZRaXhGUVVGUExHTkJRV2RDY0VJc1JVRkJTU3hQUVVGVGIwSXNSVUZCVHl4alFVTjRSQ3hQUVVGUGNFSXNSMEZCVVN4WFFVTTNRa1VzUlVGQlRTeFBRVUZQTEU5QlFVOHNRMEZCUXl4RlFVRkhRU3hGUVVGTExFTkJRM3BDTEdOQlFXVXNSMEZEWml4WlFVRmhMRU5CUVVOblFpeEpRVUZuUWt3c1IwRkJZeXhEUVVGRFRpeEhRVU0zUXl4UFFVRlJSU3hGUVVGVFF5eERRVU55UWl4RFFVRkRMRVZCUTBRc1NVRkJTVmNzUlVGQmFVSXNSMEZEYWtKRExFVkJRVmtzUjBGRFdrTXNSVUZCVFVNc1IwRkJWWGhDTEVWQlFVdEZMRVZCUVVzc1NVRkJUMjFDTEVWQlFXbENMRWRCUVU4c1NVRkJUME1zUlVGQldTeEZRVUZMTEVWQlEzSkdMRWRCUVVrc1EwRkJRMG9zUjBGQlpTeERRVUZEYUVJc1JVRkJTU3hSUVVGVmNVSXNSVUZCU1N4UFFVRlRMRXRCUVUwc1EwRkRiRVFzUjBGQlNWWXNSVUZEUVN4TlFVRk5MRWxCUVVrc1RVRkJUU3c0UlVGQk9FVXNSVUZEYkVkTExFVkJRV01zUlVGRGJFSXNRMEZEUVN4SFFVRkphRUlzUlVGQlNTeFJRVU5LTEVkQlFVbExMRWRCUVdsQ1RpeEhRVUZUTEV0QlF6RkNMRTlCUVVsdlFpeEhRVUZyUW14Q0xFZEJRMnhDUVN4RlFVRlZMRVZCUTFCdlFpeEpRVUZSTEVkQlFVc3NTVUZCVFV3c1JVRkJZeXhMUVVGTFN5eERRVUZITEVkQlFVdEJMRlZCUjI1RWFFSXNSMEZCYVVJc1EwRkJRMDBzUjBGQlowSmFMRWRCUVZNc1RVRkJVV2xDTEVWQlEzcEVMRTlCUVVGTExFVkJRVTBzUzBGQlMwRXNRMEZCUnl4SFFVTldWQ3hIUVVGakxFTkJRVU5QTEVWQlEyWkZMRWRCUVU5RkxFZEJRVmxHTEVWQlFVdHlRaXhGUVVGSkxFOUJRVkZUTEVWQlFXTkhMRU5CUVZVc1EwRkJReXhGUVVWNFJGRXNSMEZCWVd4Q0xFZEJRMnhDUVN4RlFVRlpMRVZCUTFSdFFpeEZRVVZRUml4SlFVTkJVQ3hGUVVGaExFMUJRMkpKTEVkQlEwbEtMRWxCUTBGVExFZEJRVTlGTEVkQlFWbEdMRVZCUVV0eVFpeEZRVUZKTEU5QlFWRlRMRVZCUVdOSExFTkJRVlVzUTBGQlF5eEhRVU5xUlZNc1JVRkJUU3hMUVVGTFFTeERRVUZITzBGQlFVRXNSVUZCUzJRc1EwRkJUU3hOUVVkNlFtTXNSVUZCVFN4SFFVRkhRU3hEUVVGSExFbEJRMUpVTEVsQlEwRlRMRWRCUVU5RkxFZEJRVmxHTEVWQlFVdHlRaXhGUVVGSkxFOUJRVkZUTEVWQlFXTkhMRU5CUVZVc1EwRkJReXhKUVVWeVJTeEpRVUZKV1N4RlFVRkxReXhGUVVGTFF5eEZRVU5XWWl4RlFVRlBaQ3hEUVVGTExFZEJRMXA1UWl4RlFVRk5MRU5CUVVNc1EwRkJRM3BDTEVWQlFVMHNXVUZEWkRCQ0xFVkJRVTB4UWl4RlFVRk5MR05CUTFveVFpeEZRVUZsTTBJc1JVRkJUU3hWUVVkeVFubENMRVZCUVUwc1IwRkRUa01zUlVGQlRTeExRVU5PUXl4RlFVRmxMRXRCUTFnelFpeEhRVUZUTEU5QlFVOUJMRWRCUVZVc1YwRkRNVUpCTEVWQlFWRlBMRVZCUVVrc1YwRkJWMUFzUTBGQlN5eEpRVVZ3UTBNc1JVRkJTU3haUVVGakxFZEJRMlFzUTBGQlEyZENMRWRCUVdVc1EwRkJRMG9zUjBGQlkwc3NSVUZCVTJ4Q0xFTkJRVXNzU1VGRE4wTkRMRVZCUVVrc1kwRkJaMEp4UWl4RlFVRkpMRTlCUVZNc1IwRkRja05FTEVWQlFWa3NSMEZEVWl4RFFVRkRWaXhIUVVORVJpeEZRVUZYTEZGQlFWVXNSMEZEY2tJc1EwRkJRMUlzUlVGQlNTeFJRVU5NTEVOQlFVTm5RaXhIUVVORVZ5eEhRVUZOTlVJc1EwRkJTeXhIUVVOWUxFTkJRVU5CTEVWQlFVMHNUVUZEVUN4RFFVRkRRU3hGUVVGTkxFdEJRMUFzUTBGQlEwRXNSVUZCVFN4VFFVVlFReXhGUVVGSkxFOUJRVk5CTEVWQlFVa3NUMEZCVHl4VlFVRlZMRU5CUVVNc1IwRkZka01zU1VGQlNUUkNMRVZCUVcxQ0xFZEJRMnBDUXl4RlFVRlhVQ3hIUVVGVmRrSXNSVUZCVDBNc1JVRkJTeXhKUVVGUE5FSXNSVUZCYlVJc1IwRkJUeXhKUVVGUFVpeEZRVUZaTEVWQlFVc3NSVUZETlVaVkxFVkJRVXNzU1VGRFZDeEhRVUZKYkVJc1IwRkJZMWtzUjBGQlQwTXNSVUZCU3l4RFFVVXhRaXhIUVVSQlN5eEZRVUZMVGl4RlFVRk5PMEZCUVVFc1JVRkJUeXhIUVVOa1F5eEZRVUZMTEVOQlEwd3NTVUZCVFUwc1JVRkJTM1JDTEVWQlFXTm5RaXhEUVVGSExFVkJRelZDU3l4SFFVRk5PMEZCUVVFc1JVRkJTMFVzUjBGQlkwUXNSVUZCU1M5Q0xFVkJRVWtzVFVGQlRTeERRVUZETEVWQlF6VkRMRU5CUTBrMlFpeEpRVUZoTEVsQlFVMHNRMEZCUXpkQ0xFVkJRVWtzVDBGRGNFSTRRaXhKUVVGUE8wRkJRVUVzU1VGRFVFRXNSVUZCU3p0QlFVRkJPMEZCUVVFc1IwRkhWRUVzUjBGQlRUdEJRVUZCTEVWQlFVczVRaXhGUVVGSkxFMUJRVTBzUlVGRk4wSXNVMEZEVXl4RFFVRkRaMElzUjBGQlpVWXNSVUZCWVdZc1EwRkJTeXhGUVVGSExFTkJRekZETEVsQlFVMXJReXhGUVVGTlNpeEZRVUZUTEVOQlFVTXNSVUZEYUVKTExFVkJRVTFNTEVWQlFWTXNVVUZCVVR0QlFVRkJMRU5CUVVrc1JVRkRNMEpOTEVWQlFXRkVMRWxCUVZFc1IwRkRja0pGTEVsQlFVOW9ReXhIUVVGQlJDeEZRVUZCU0N4RlFVRkpMRk5CUVVvc1MwRkJRVWNzUlVGQlkwb3NSVUZCVFN4UFFVRndRaXhMUVVGQlN5eEZRVUUwUWt3c1JVRkJUU3hOUVVGTkxGTkJRVmNzUlVGRGFFVXNSMEZCU1c5RExFZEJRV01zUTBGQlEwTXNSMEZCVFN4RFFVTnlRaXhKUVVGSlF5eEhRVUZsTEVkQlEyNUNMRWRCUVVsR0xFbEJRV1ZHTEVsQlFWRXNTMEZCVDBFc1NVRkJVU3hMUVVGTkxFTkJRelZETEVsQlFVbExMRVZCUVUxVUxFVkJRVk1zVVVGQlVTeEhRVUZITEVWQlF6RkNTU3hKUVVGUkxFdEJRMUpMTEVsQlFWRXNTVUZEVWtFc1JVRkJUVW9zUjBGRFRrd3NSVUZCVTFNc1JVRkJUU3hEUVVGRExFbEJRVTBzVFVGRGRFSkJMRVZCUVUxVUxFVkJRVk1zVVVGQlVTeEpRVUZMVXl4RlFVRk5MRU5CUVVNc1NVRkZia05CTEVsQlFWRXNTVUZCVFVvc1JVRkJUVWtzUzBGRGNFSkVMRWRCUVdVc1IwRkRka0lzUTBGRFMwRXNTMEZEUkZBc1JVRkJTenRCUVVGQkxFVkJRVXM1UWl4RlFVRkpMRTFCUVUwc1IwRkROVUlzUTBGRFNpeE5RVU5UTmtJc1NVRkJZU3hKUVVGTlFTeEZRVUZUTEVOQlFVTXNTVUZCVFR0QlFVRkJMRXRCUTNoRFF5eEZRVUZMTEVsQlJWUXNUMEZCUVZRc1IwRkJUMU1zUlVGQlMwUXNSVUZEVWpkQ0xFVkJRVWtzVDBGRFFUUkNMRWRCUVc5Q00wSXNSMEZEY0VKQkxFVkJRVlVzUlVGRlZIbENMRWRCUVdkQ0xFTkJRVU5GTEVWQlEzUkNVQ3hIUVVGUFJTeEhRVUZaUml4RlFVRkxja0lzUlVGQlNTeFBRVUZSVXl4RlFVRmphVUlzUTBGQldTeERRVUZETEVWQlJURkVUaXhIUVVGaGJFSXNSMEZEYkVKQkxFVkJRVmtzUlVGRlZHMUNMRU5CUTFnc1EwTXZTVUVzVTBGQlUydENMRWRCUVV0RExFVkJRVlZETEVWQlFWTXNSVUZEZWtKRUxFbEJRV0VzVTBGQlYwRXNTVUZCWVN4VlFVTnFReXhQUVVGUExGTkJRVmtzWVVGQlpTeFJRVUZSTEZsQlF6RkRMRkZCUVZFc1dVRkJXVU1zUTBGQlR5eEZRVVV6UWl4UlFVRlJMRXRCUVV0QkxFTkJRVThzUlVGRmFFTXNRME5FUVN4SlFVRk5ReXhIUVVGWkxFdEJRMXBETEVkQlFWRXNRMEZEVml4VFFVRlZReXhIUVVGVFFTeEpRVUZWUml4SlFVTjRRaXhQUVVGUFJTeEhRVUZWTEZWQlFWbEJMRVZCUVUwc1kwRkJaMEpHTEVkQlEzaEVMRkZCUVZNc1RVRkRWQ3hKUVVGTExEQkNRVU5NTEV0QlFVMHNUMEZEVGl4UlFVRlRMRWxCUVUwc1QwRkJUeXhQUVVGUExFbEJRVWxITEVWQlFVOHNUMEZCVDBnc1JVRkJVeXhEUVVGRExFVkJRVWNzUTBGRGVFUXNWMEZCV1Vrc1JVRkRhRUlzUTBGQlF5eEZRVU5FTEZWQlFWY3NTVUZCVFVvc1JVRkRja0lzUlVGRFRVc3NSMEZCWVN4RFFVRkRReXhGUVVGTFF5eExRVUZUVGl4SFFVRk5MRk5CUVZOTkxFTkJRVWNzUjBGREwwTkRMRVZCUVZORUxFTkJRVWNzU1VGRFVpeERRVUZEUVN4RlFVRkpMRTFCUVZGQkxFVkJRVWtzVDBGQlUwb3NSVUZCVHl4UlFVTnNRMFlzUjBGQlRTeFRRVUZUVFN4RlFVRkpMRXRCUVVzc1MwRkROVUpFTEVkQlFVRXNXVUZCUVVFc1JVRkJTeXhKUVVGSkxFOUJRVThzUzBGQlN5eExRVUZMUnl4SFFVRlBRU3hGUVVGSkxFMUJRVkZTTEVkQlFVMHNTMEZCVDFFc1JVRkJTU3hWUVVOc1JTeFRRVUZUVEN4SFFVRm5Ra1VzUlVGQlMwa3NSVUZCUzFJc1JVRkJUeXhEUVVWMFF5eEhRVVJCUVN4RlFVRlJTU3hIUVVGUFN5eEhRVUZSVkN4RFFVRkxMRVZCUVVsQkxFVkJRVTBzVVVGQlVVa3NSVUZCU1N4SFFVRkhMRVZCUVVsS0xFVkJRM0pFVlN4SFFVRk5WaXhEUVVGTExFVkJRMWdzVVVGQlYxY3NTMEZCVFZnc1JVRkJUU3hOUVVOdVFsa3NSMEZCVjFJc1JVRkJTMGtzUlVGQlMwY3NRMEZCUlN4VlFVTjBRaXhOUVVGTkxGRkJRVkZZTEVOQlFVc3NSVUZEZUVJc1VVRkJWMWNzUzBGQlRWZ3NSVUZEWWxrc1IwRkJWMUlzUlVGQlMwa3NSVUZCUzBjc1EwRkJSU3hQUVVVelFrTXNSMEZCVjFJc1JVRkJTMGtzUlVGQlMxSXNRMEZCU3l4RFFVTnNReXhEUVVOQkxGTkJRVk5aTEVkQlFWZFNMRVZCUVV0SkxFVkJRVXRTTEVWQlFVOHNRMEZEYWtNc1NVRkJUV0VzUlVGQlUxUXNSMEZCVDBzc1IwRkJVVlFzUTBGQlN5eEZRVUZKUVN4RlFVRk5MRkZCUVZGSkxFVkJRVWtzUjBGQlJ5eEZRVUZKU2l4RlFVTm9SU3hIUVVGSkxFTkJRVU5qTEVkQlFVMUVMRU5CUVUwc1JVRkRZaXhOUVVGTkxFbEJRVWtzVFVGQlRTd3lRMEZCTWtNc1JVRkRMMFFzU1VGQlRVVXNSVUZCVTBZc1JVRkJUeXhQUVVGUExFdEJRVTFVTEVWQlFVc3NSMEZCUnl4RlFVTXpReXhQUVVGWExFTkJRVU5ETEVWQlFVdE1MRU5CUVVzc1NVRkJTMlVzUlVGRGJrSlFMR0ZCUVdVc1NVRkRWa0VzUlVGQlNTeEpRVUZKU0N4RFFVRkhMRWRCUTFwSExFVkJRVWtzU1VGQlNVZ3NSVUZCUzB3c1EwRkJTeXhGUVVWcVFsRXNZVUZCWlN4SlFVTndRa0VzUlVGQlNTeEpRVUZKU0N4RFFVRkhMRVZCUlV3c1QwRkJUeXhWUVVGVkxHVkJRV1VzUzBGQlMwY3NSVUZCUzBnc1EwRkJSeXhIUVVOdVJDeFBRVUZQTEdWQlFXVkhMRVZCUVV0SUxFVkJRVXNzUTBGRE5VSXNUVUZCUVV3c1JVRkRRU3hUUVVGVkxFZEJRMVlzVjBGQldTeEhRVU5hTEdGQlFXTXNSVUZEYkVJc1EwRkJReXhGUVVkVUxFOUJRVTlSTEVOQlExZ3NRME4yUkVFc1UwRkJVMUVzUjBGQlpVTXNSVUZCUzBNc1JVRkJTeXhEUVVGRkxFbEJRVUZETEVWQlFVc3NUVUZCUVVNc1EwRkJUU3hGUVVGSExFTkJRemxETEVkQlFVbERMRVZCUVU5R0xFTkJRVWNzUjBGQlMwRXNSVUZCU1N4WFFVTnVRa0VzUlVGQlNTeFhRVUZYUml4RlFVRkxReXhGUVVGTFJTeERRVUZMTEZWQlJYcENSU3hIUVVGWFRDeEZRVUZMUlN4RFFVRkhMRVZCUTNoQ1NTeEhRVUZuUWs0c1JVRkJTME1zUlVGQlMwVXNRMEZCU3l4TlFVTTVRaXhEUVVORUxFbEJRVTFKTEVWQlFWRkRMRWRCUVV0T0xFVkJRVXNzUjBGQlNVWXNRMEZCUnl4RlFVTXZRaXhIUVVGSlF5eGhRVUZsTEVsQlEyWkJMRVZCUVVrc1NVRkJTVTBzUlVGQlQwTXNSMEZCUzB3c1JVRkJUMGtzUlVGQlQxQXNRMEZCUnl4RFFVRkRMRlZCUldwRFF5eGhRVUZsTEVsQlEzQkNRU3hGUVVGSkxFbEJRVWxOTEVOQlFVc3NUVUZGV2l4RFFVTkVMRWxCUVUxRkxFVkJRVmxETEVkQlFXRlNMRVZCUVV0TExFVkJRVTlRTEVOQlFVY3NSVUZEZUVOWExFVkJRVlZJTEVkQlFVdE1MRVZCUVU5TkxFVkJRVmRVTEVOQlFVY3NSVUZEZEVOVExFdEJRV0ZTTEVWQlEySXNUMEZCVHl4bFFVRmxRU3hGUVVGTFVTeEZRVUZYTEVOQlEyeERMRTFCUVU5RkxFVkJRMUFzVTBGQlZTeEhRVU5XTEZkQlFWa3NSMEZEV2l4aFFVRmpMRVZCUTJ4Q0xFTkJRVU1zUlVGRlJGWXNSVUZCU1ZFc1EwRkJVeXhGUVVGSlJTeERRVU42UWl4RFFVTktMRU5CUTBFc1QwRkJUMVlzUTBGRFdDeERRVU5CTEZOQlFWTlRMRWRCUVdGU0xFVkJRVXRMTEVWQlFVOVFMRVZCUVVzc1EwRkRia01zUjBGQlNVOHNTVUZCVlN4TFFVTldMRTFCUVU4c1IwRkRXQ3hIUVVGSkxFOUJRVTlCTEVkQlFWVXNVMEZEYWtJc1QwRkJUeXhQUVVGUFFTeERRVUZMTEVWQlEzWkNMRWRCUVVsSUxFVkJRVTlHTEVOQlFVY3NTVUZCUzBZc1IwRkJRU3hOUVVGQlFTeEZRVUZMTEV0QlFVc3NRMEZEZWtJc1NVRkJUVmtzUlVGQlUwTXNSMEZCZFVKaUxFVkJRVWtzU1VGQlN5eERRVUZETEVOQlFVTXNSVUZEYWtSWkxFVkJRVThzVVVGQlZTeEpRVUZKTEVsQlEzSkNMRkZCUVZkRkxFdEJRVkZrTEVWQlFVa3NVVUZCVVN4TFFVRkxMRVZCUTJoRFdTeEZRVUZQTEZGQlFWRXNTVUZCU1VVc1JVRkJTeXhOUVVGTkxFVkJRMnhEUml4RlFVRlBMRTlCUVZNc1IwRkRhRUpCTEVWQlFVOHNaVUZCYVVJc1IwRkRlRUlzU1VGQlRVY3NSVUZCVTJJc1JVRkJTU3hUUVVGVFZTeERRVUZOTEVWQlEyeERMRWRCUVVrc1EwRkJRMW9zUlVGQlNTeGhRVUZqTEVOQlEyNUNMRWxCUVVsblFpeEZRVUZWTEV0QlFVc3NWVUZCVlVRc1EwRkJUU3hGUVVNdlFrTXNSVUZCVVN4UFFVRlRMRXRCUTJwQ1FTeEZRVUZWUVN4RlFVRlJMRlZCUVZVc1JVRkJSeXhGUVVGRkxFVkJRVWtzVVVGRGVrTkRMRWRCUVV0cVFpeEZRVUZKTEVsQlFVa3NVVUZCVVN4VFFVRlZMR3RHUVVGclJtZENMRU5CUVU4c01FTkJRVEJETEVWQlEyeExhRUlzUlVGQlNTeGhRVUZsTEVWQlEzWkNMRU5CUTBFc1QwRkJUMlVzUTBGRFdDeERRVU5CTEU5QlFVOHNTMEZCU3l4VlFVRlZVaXhEUVVGTExFTkJReTlDTEVORGRFUkJMRk5CUVZOWExFZEJRVmRETEVWQlFVdERMRVZCUVU5RExFVkJRVXNzUTBGRGFrTXNTVUZCVFVNc1JVRkJTVU1zUjBGQlYwb3NSVUZCU3l4UFFVRlhSU3hEUVVGSExFVkJRMnhEUnl4RlFVRkpSQ3hIUVVGWFNDeEZRVUZQTEU5QlFWZERMRU5CUVVjc1JVRkRNVU1zVDBGQlR5eEpRVUZKU1N4SFFVRkxTQ3hGUVVGSFJTeERRVUZETEVOQlEzaENMRU5CUTBFc1NVRkJUVU1zUjBGQlRpeE5RVUZOUXl4RFFVRkxMRU5CUTFBc1dVRkJXVkFzUlVGQlMwTXNSVUZCVVN4TFFVRk5MRU5CUXpOQ0xFOUJRVThzWlVGQlpTeExRVUZOVHl4SFFVRlhMRU5CUVVVc1RVRkJUME1zUlVGQlN5eERRVUZETEVWQlEzUkVMRXRCUVVzc1NVRkJUVlFzUlVGRFdDeExRVUZMTEUxQlFWRkRMRU5CUTJwQ0xFTkJRMEVzVFVGQlRWTXNSVUZCVVN4RFFVTldMRWRCUVVrc1EwRkJSU3hKUVVGQlZpeEZRVUZMTEUxQlFVRkRMRU5CUVUwc1JVRkJTU3hMUVVOeVFpeFBRVUZKVlN4RlFVRlBXQ3hEUVVGSExFbEJRMVpCTEVWQlFVMUJMRVZCUVVrc1RVRkJUVlVzUTBGQlRTeEhRVU4wUWtNc1JVRkJUMVlzUTBGQlN5eEpRVU5hUVN4RlFVRlJRU3hGUVVGTkxFMUJRVTFUTEVOQlFVMHNSMEZEZGtJc1NVRkJTVWdzUlVGQlMxQXNSVUZCUzBNc1EwRkJTeXhEUVVNNVFpeERRVU5CTEU5QlFVOVhMRVZCUVVkV0xFVkJRVXNzUTBGRFdDeEpRVUZOVnl4RlFVRlBXQ3hIUVVGQkxFMUJRVUZCTEVWQlFVc3NVMEZCVnl4SlFVRkpMRWxCUVZFc1EwRkJReXhGUVVNeFF5eFBRVUZQV1N4SFFVRmxXaXhGUVVGTFZ5eEZRVUZOTEVsQlFVa3NRMEZEZWtNc1EwRkRRU3hUUVVGVFdDeEZRVUZMWVN4RlFVRlhReXhGUVVGaExFTkJRMnhETEU5QlFVOWtMRWRCUVVFc1RVRkJRVUVzUlVGQlN5eEpRVU5PWlN4SFFVRmpMRXRCUVUxbUxFVkJRVXRoTEVWQlFWZERMRU5CUVZjc1JVRkRMME1zUzBGQlN5eFZRVUZWTEVsQlFVa3NRMEZETjBJc1EwRkRTaXhGUXpkQ1FTeFRRVUZUUlN4SFFVRnZRa01zUlVGQldVTXNSVUZCUzBNc1JVRkJVeXhEUVVwMlJDeEpRVUZCUXl4RlFVOUpMRk5CUm1GQkxFVkJRVUZHTEVWQlFVa3NVMEZCU2l4TFFVRkJSU3hGUVVGalNDeEZRVUZYTEUxQlEySkpMRWRCUVRCQ1F5eEpRVU5zUTB3c1JVRkJXVU1zUlVGQlMwTXNRMEZCVHl4RFFVTTNReXhEUVVOQkxGTkJRVk5ITEVkQlFYbENMRU5CUVVVc1VVRkJRVU1zUlVGQlV5eE5RVUZCUXl4RFFVRk5MRVZCUVVkT0xFVkJRVXNzUTBGQlJTeG5Ra0ZCUVU4c1JVRkJhVUlzVlVGQlFVTXNSVUZCVnl4WFFVRkJReXhGUVVGWkxGbEJRVUZETEVWQlFXRXNWVUZCUVVNc1EwRkJWU3hGUVVGSExFTkJRek5JTEVkQlFVMHNRMEZCUlN4UFFVRkJReXhGUVVGUkxGRkJRVk1zUTBGQlJTeGpRVUZCUXl4RFFVRmpMRU5CUVVVc1JVRkJTV0lzUlVGRGVrTmpMRVZCUVZVc1QwRkJUeXhQUVVGUExFTkJRVU1zUlVGQlIyUXNSVUZCU3l4RFFVRkZMRTlCUVZGVExFVkJRVmtzUzBGQlRTeEpRVUZMTEVOQlFVTXNSVUZEY2tWTkxFVkJRVmtzUjBGRFZrTXNSVUZCVVN4RFFVRkRMRVZCUTJZc1VVRkJVME1zUlVGQlNTeEZRVUZIUVN4RlFVRkpXQ3hGUVVGTkxFOUJRVkVzUlVGQlJWY3NSVUZCUnl4RFFVTnVReXhKUVVGTlF5eEZRVUZQV2l4RlFVRk5WeXhEUVVGRExFVkJRMmhDV2l4RlFVRlZMRXRCUTJRc1IwRkJTV01zUlVGQlQwUXNRMEZCU1N4RlFVTlFMRU5CUVVOSUxFZEJRV0ZITEVWQlFVc3NZVUZEYmtKR0xFVkJRVTBzUzBGQlN5eEZRVUZGTEVWQlEycENTU3hIUVVGcFFuQkNMRVZCUVV0blFpeEZRVUZQUlN4RlFVRkxMR05CUVdWSUxFTkJRVk1zUlVGRGRFUkhMRVZCUVVzc1ZVRkRUR0lzUlVGQlZXRXNSVUZCU3l4cFFrRkZaRWNzUlVGQlQwZ3NRMEZCU1N4RlFVRkhMRU5CUTI1Q0xFbEJRVTFKTEVWQlFVdElMRVZCUVU5RUxFVkJRVXNzUjBGQlJ5eEZRVUZKUVN4RlFVRkxMRWxCUVUwc1MwRkRja05KTEVsQlEwa3NRMEZCUTFBc1IwRkJZVThzUlVGQlJ5eGhRVU5xUWs0c1JVRkJUU3hMUVVGTExFVkJRVVVzUlVGRGFrSkpMRWRCUVdsQ2NFSXNSVUZCUzJkQ0xFVkJRVTlOTEVWQlFVY3NZMEZCWlZBc1EwRkJVeXhGUVVWb1JTeERRVU5CUVN4RlFVRlpMRWRCUTFvc1NVRkJTVkVzUlVGQlRVTXNSMEZCVlU0c1JVRkJUVW9zUlVGQlV5eEpRVUZQVkN4RlFVRlZMRXRCUVU4c1NVRkJUMVVzUlVGQldTeEZRVUZMTEVWQlF5OUZWaXhKUVVOQmEwSXNSMEZCVDBVc1IwRkJXVVlzUlVGQlMyUXNSVUZCV1Vrc1JVRkJZMUlzUTBGQlR5eERRVUZETEVkQlF6RkVWU3hIUVVGaFZpeEpRVU5pVlN4RlFVRlpMRWxCUTJoQ1F5eEZRVUZOTEV0QlFVdFVMRVZCUVd0Q1owSXNRMEZCUnl4RFFVTndReXhEUVVOQkxFbEJRVWxCTEVWQlEwb3NSMEZCU1ZBc1JVRkJUU3hUUVVGWExFVkJRMnBDVHl4RlFVRk5aaXhGUVVGVkxFMUJRVkZCTEVWQlFWVXNVVUZGYWtNc1EwRkRSR1VzUlVGQlRWQXNSVUZCVFN4RFFVRkRMRVZCUTJJc1VVRkJVME1zUlVGQlNTeEZRVUZIUVN4RlFVRkpSQ3hGUVVGTkxFOUJRVkVzUlVGQlJVTXNSVUZCUnl4RFFVTnVReXhKUVVGTlV5eEZRVUZQVml4RlFVRk5ReXhEUVVGRExFVkJRM0JDVFN4SFFVRlBSeXhGUVVGUE8wRkJRVUVzUlVGQlMyUXNRMEZCVFN4SFFVRkhZeXhEUVVGSkxFZEJRVXM3UVVGQlFTeERRVU42UXl4RFFVTktMRU5CUTBFc1QwRkJTWEpDTEVkQlEwRnJRaXhIUVVGUE8wRkJRVUVzUlVGQlQwa3NSMEZCWTJRc1JVRkJZMUlzUTBGQlR5eEZRVUZIVHl4RFFVRk5MRVZCUTNSRVJDeEhRVU5CUVN4RlFVRlZMRWRCUlZSSkxFZEJRV0ZNTEVkQlEyeENRU3hGUVVGWkxFVkJRMVJoTEVOQlExZ3NRMEZEUVN4VFFVRlRjRUlzUjBGQmQwSXNRMEZCUlN4TlFVRkJSeXhEUVVGTkxFVkJRVWRPTEVWQlFVc3NRMEZCUlN4VlFVRkJVU3hGUVVGWExGZEJRVUZETEVOQlFWY3NSVUZCUnl4RFFVTjRSU3hIUVVGTkxFTkJRVVVzVDBGQlFVY3NSVUZCVVN4WFFVRkJaMElzUlVGQldTeHpRa0ZCZFVKRExFVkJRVmNzVVVGQlV5eERRVUZGTEdOQlFVRm9RaXhEUVVGakxFTkJRVVVzUlVGQlNXSXNSVUZETjBaVExFZEJRV050UWl4RlFVTmtMRWxCUVUxa0xFVkJRVlVzVDBGQlR5eFBRVUZQTEVOQlFVTXNSVUZCUjJRc1JVRkJTeXhEUVVOdVF5eFBRVUZSVXl4RlFVTlNMRTlCUVZFc1IwRkRVaXhMUVVGTkxFbEJRMVlzUTBGQlF5eEZRVU5IY1VJc1JVRkJZU3hIUVVOaVF5eEZRVUZsTEVWQlEySm1MRVZCUVZFc1EwRkJReXhGUVVObUxGRkJRVk5ETEVWQlFVa3NSVUZCUjBFc1JVRkJTVmdzUlVGQlRTeFBRVUZSTEVWQlFVVlhMRVZCUVVjc1EwRkRia01zU1VGQlRVTXNSVUZCVDFvc1JVRkJUVmNzUTBGQlF5eEZRVU5vUWxvc1JVRkJWU3hMUVVOa0xFZEJRVWxqTEVWQlFVOUVMRU5CUVVrc1JVRkRVRUVzUlVGQlN5eGhRVU5NUml4RlFVRk5MRXRCUVVzc1JVRkJSU3hGUVVOcVFra3NSMEZCYVVKd1FpeEZRVUZMWjBJc1JVRkJUMFVzUlVGQlN5eGpRVUZsTEVWQlFVc3NSVUZEYkVSQkxFVkJRVXNzVlVGRFRHSXNSVUZCVldFc1JVRkJTeXhwUWtGRlpFY3NSVUZCVDBnc1EwRkJTU3hGUVVGSExFTkJRMjVDTEVsQlFVMUpMRVZCUVV0SUxFVkJRVTlFTEVWQlFVc3NSMEZCUnl4RlFVRkpRU3hGUVVGTExFbEJRVTBzUzBGRGNrTkpMRWxCUTBsQkxFVkJRVWNzWVVGRFNFNHNSVUZCVFN4TFFVRkxMRVZCUVVVc1JVRkRha0pKTEVkQlFXbENjRUlzUlVGQlMyZENMRVZCUVU5TkxFVkJRVWNzWTBGQlpTeEZRVUZMTEVWQlEyaEVRU3hGUVVGSExGVkJRMGhSTEVWQlFXRXNTMEZGY2tJc1NVRkJUVVVzUlVGQlMySXNSVUZCVDBRc1JVRkJTeXhMUVVGTExFVkJRVWxCTEVWQlFVc3NUVUZCVVN4TFFVTjZRMk1zUjBGRFNVRXNSVUZCUnl4VlFVTklNMElzUlVGQlZUSkNMRVZCUVVjc1UwRkRZa0VzUlVGQlJ5eG5Ra0ZEU0VZc1JVRkJZU3hMUVVWYVdpeEZRVUZMTEU5QlFWTXNUMEZCVVVrc1IwRkJRU3hOUVVGQlFTeEZRVUZKTEZkQlF5OUNha0lzUlVGQlZXbENMRVZCUVVjc1VVRkZja0lzUTBGRFNXcENMRWxCUTBGNVFpeEZRVUZoTEVsQlEycENMRWxCUVVsUUxFVkJRVTFETEVkQlFWVk9MRVZCUVUxS0xFVkJRVk1zU1VGQlQxUXNSVUZCVlN4SlFVRkxMRVZCUTNKRVdTeEZRVUZKV0N4RlFVRk5MRTlCUVZNc1NVRkRia0pwUWl4SFFVRlBMRXRCUTFCc1FpeEpRVU5CYTBJc1IwRkJUMFVzUjBGQldVWXNSVUZCUzJRc1JVRkJXVWtzUlVGQlkxSXNRMEZCVHl4RFFVRkRMRWRCUXpGRUxFTkJRVU41UWl4SlFVRmxaQ3hGUVVGTkxFOUJRVk5sTEVkQlFXZENVaXhGUVVGSkxGTkJRVk03UVVGQlFTeERRVUZKTEV0QlEyaEZUeXhGUVVGaExFbEJRMnBDWkN4RlFVRk5MRXRCUVV0UExFTkJRVWNzUlVGRFpGRXNSVUZCWldZc1JVRkJUU3hOUVVONlFpeERRVU5CTEVkQlFVMHNRMEZCUlN4TlFVRkJhVUlzUlVGQlR5eEpRVUZCUXl4RFFVRkpMRVZCUVVreFFpeEZRVU4yUWl4SFFVRkpVU3hGUVVGTkxGTkJRVmNzUlVGRGFrSXNUMEZCVDJsQ0xFVkJRVkZETEVWQlIyWXNSMEZCU1N4RFFVRkRTaXhGUVVGWkxFTkJRMklzU1VGQlRVc3NSVUZCVFc1Q0xFVkJRVTBzVDBGQlR5eERRVUZEYjBJc1JVRkJTMVlzU1VGQlUxVXNSVUZCVFZZc1JVRkJTeXhQUVVGVExFVkJRVWNzUTBGQlF5eEZRVU5vUlVrc1JVRkJZVGxDTEVWQlFVa3NVVUZCVVN4VlFVRlpMRWRCUVV0dFF5eEZRVUZOYmtNc1JVRkJTU3hSUVVGUkxGTkJRMmhGTEVOQlEwRXNSMEZCU1RoQ0xFVkJRVmtzUTBGRFdpeEpRVUZKVUN4RlFVRk5WU3hGUVVOV0xGRkJRVmRRTEV0QlFWRldMRVZCUTJaUExFZEJRVTlITEVWQlFVODdRVUZCUVN4RlFVRkxSU3hEUVVGVkxFZEJRVWRvUWl4RFFVRk5MRWRCUVVkakxFTkJRVWtzUjBGQlN6dEJRVUZCTEVWQlEzUkVMRTFCUVU4c1IwRkJSMGdzUTBGQlJ6dEJRVUZCTEVWQlFVdFlMRU5CUVUwc1IwRkJSM05DTEVOQlFVY3NSVUZEYkVNc1MwRkZTU3hQUVVGUExFZEJRVWRFTEVOQlFVc3NSMEZCUjBvc1EwRkJVeXhIUVVGSFlpeEZRVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRWRCUVVkaExFTkJRVk1zUjBGQlIwc3NRMEZCUnl4RlFVY3pSU3hEUVVOQkxGTkJRVk5rTEVkQlFXbENMRU5CUVVVc1QwRkJRVklzUlVGQlVTeFJRVUZUTEVOQlFVVXNZMEZCUVVNc1EwRkJZeXhEUVVGRkxFVkJRVWRITEVWQlFVOVlMRVZCUVZOVkxFVkJRVmNzUTBGSGVrWXNSMEZHU1ZZc1IwRkJWMVVzU1VGRFdGWXNSVUZCVlVFc1JVRkJVU3hSUVVGUkxFOUJRVkVzUlVGQlJTeEhRVU53UTBFc1JVRkJVeXhEUVVOVUxFbEJRVTFuUXl4RlFVRkxWaXhIUVVGalpDeEZRVUZqVWl4RFFVRlBMRVZCUVVkUExFTkJRVTBzUlVGRGRrUkpMRVZCUVUwc1MwRkJTM0ZDTEVWQlFVY3NWVUZCVlN4RFFVRkRMRU5CUXpkQ0xFTkJRMG9zUTBOeVNVRXNVMEZCVTBNc1IwRkJVME1zUlVGQlQwTXNSVUZCU3l4RFFVTXhRaXhKUVVGTlF5eEZRVUZKUXl4RlFVRlRSaXhEUVVGSExFVkJRVWxCTEVWQlFVa3NUVUZCVVVFc1JVRkRkRU1zVVVGQlYwY3NTMEZCVFVvc1JVRkRZaXhIUVVGSlN5eEZRVUZQUkN4RFFVRkZMRWxCUTB4QkxFVkJRVWNzVFVGQlVVZ3NSMEZCVDBjc1JVRkJSeXhOUVVGUlJpeEhRVVUzUWtNc1JVRkJVME1zUlVGQlJ5eEhRVUZITEVkQlFVdEJMRVZCUVVjc1NVRkJTU3hSUVVGVlJpeEhRVU55UXl4UFFVRlBSU3hEUVVsMlFpeERRVU5CTEVsQlFVMUZMRWRCUVU0c1kwRkJjMEpETEVWQlFWY3NRMEZETjBJc1YwRkJWeXhUUVVGVkxFTkJRMnBDTEUxQlFVOHNkVUpCUTFnc1EwRkRRU3haUVVGWlF5eEZRVUZSTEVOQlEyaENMRTFCUVUxRExFZEJRVXRFTEVOQlFVMHNSVUZEYWtJc1MwRkJTeXhOUVVGUkxFTkJRVU1zUTBGRGJFSXNRMEZMUVN4UFFVRlBMRXRCUVV0QkxFVkJRVkZGTEVWQlFVdERMRVZCUVVzc1EwRkRNVUlzUjBGQlRTeERRVUZGTEdOQlFVRkRMRVZCUVdVc1UwRkJRVU1zUTBGQlV5eEZRVUZKUml4RlFVTTVRa2NzUlVGQlRTeEpRVUZKTEV0QlFVdE9MRU5CUVUwc1JVRkRja0pQTEVWQlFVMHNRMEZCUTJRc1JVRkJTMlVzU1VGQlZTeERRVU40UWl4SFFVRkpMRTlCUVU5SUxFZEJRV0VzVjBGRGNFSkhMRVZCUVZGSUxFVkJRVk1zUzBGQlMwZ3NSVUZCUzFRc1JVRkJTMlVzUTBGQlN5eFZRVU5vUXl4TlFVRk5MRkZCUVZGSUxFTkJRVkVzUjBGQlN5eERRVUZEUVN4RlFVRlRMRk5CUVZOYUxFTkJRVWNzUlVGRGRFUXNVVUZEUVdVc1NVRkJWU3hSUVVGaFNpeEpRVU4yUWtVc1JVRkJTU3hOUVVGTkxFdEJRVXRITEVkQlFWZG9RaXhGUVVGTFpTeEZRVUZQVEN4RFFVRkhMRU5CUVVNc1EwRkRiRVFzUlVGRFFTeEhRVUZKUkN4aFFVRmxMRWxCUTJZc1QwRkJWeXhEUVVGRFZDeEZRVUZMWlN4RFFVRkxMRWxCUVV0T0xFVkJRM1pDU3l4RlFVRkpaQ3hGUVVGTFpTeERRVUZMTEZWQlJXSk9MRWRCUVU4c1QwRkJUMEVzUjBGQlVTeFRRVU16UWl4UlFVRlhWQ3hMUVVGUExFOUJRVThzUzBGQlMxTXNRMEZCUnl4RlFVTTNRa3NzUlVGQlNXUXNSVUZCUzFNc1JVRkJTVlFzUTBGQlJ5eERRVUZETEVWQlJYcENMRTlCUVVrc1QwRkJUMDhzUlVGQlR5eG5Ra0ZCYlVJc1dVRkRha05OTEVWQlFVa3NUVUZCVFN4TFFVRkxUaXhGUVVGUExHTkJRV01zUlVGRmFrTk5MRU5CUTFnc1EwRlBRU3hKUVVGSlNTeEZRVUZOUXl4RlFVRlhMRU5CTjBSNlFpeEpRVUZCUXl4RlFUaEVVU3hKUVVGSlF5eEZRVU5CYUVJc1JVRkJUMkVzUTBGQlNTeEZRVU5ZUnl4RlFVRlJTQ3hGUVVOSUxFTkJRVU5CTEVkQlFWRXNUMEZCVDBFc1IwRkJVeXhWUVVGWkxFVkJRVVVzVVVGQlUwRXNSMEZGY2tSSExFVkJRVkVzU1VGQlNVTXNSMEZCUzBvc1JVRkJUVUVzUjBGQlFTeFpRVUZCUVN4RlFVRk5MRXRCUVVzc1JVRkhiRU5ITEVWQlFWRXNTVUZCU1VNc1IwRkJTMG9zUlVGQlN5eEpRVUZMUVN4RlFVRkxMRXRCUVVzc1JVRkRla01zU1VGQlRVc3NSVUZCVDNoQ0xFZEJRVk1zUzBGQlN5eE5RVUZQYzBJc1JVRkJUU3hIUVVGSExFVkJRM0pEUnl4SFFVRmpTaXhGUVVGQkxFdEJRVXNzVTBGQlRDeFpRVUZCUVN4RlFVRmhMR1ZCUTJwRExFZEJRVWxITEVWQlFVMHNRMEZEVGl4SFFVRkpMRU5CUVVOS0xFVkJRMFFzVFVGQlRTeEpRVUZKTEUxQlFVMHNUMEZCVDBVc1JVRkJUU3hIUVVGSExHTkJRV01zUlVGRk9VTnNRaXhGUVVGVGIwSXNSVUZCU3l4TFFVRkxMRWRCUVV0RkxFZEJRV05LTEVWQlFVMHNTMEZCU3l4RlFVTnFSRVVzUlVGQlN5eE5RVUZOTEUxQlFWRkdMRVZCUVUwc1RVRkZla0pGTEVWQlFVc3NUVUZCVVVZc1JVRkJUU3hMUVVNelFpeFRRVU5UUnl4RlFVRmhMRU5CUTJ4Q0xFbEJRVTFGTEVWQlFVa3NTMEZCU3l4TlFVRk5MRlZCUVZWRExFZEJRVkZJTEVWQlFWbElMRVZCUVU5TkxFTkJRVWtzUlVGQlNTeERRVUZETEVWQlF5OUVSQ3hKUVVGTkxFZEJRMDRzUzBGQlN5eE5RVUZOTEV0QlFVdE1MRU5CUVVzc1JVRkZja0lzUzBGQlN5eE5RVUZOTEU5QlFVOUxMRVZCUVVjc1JVRkJSMHdzUTBGQlN5eERRVU55UXl4TlFVVkpMRXRCUVVzc1RVRkJUU3hMUVVGTFFTeERRVUZMTEVOQlJUZENMRU5CUTBFc1QwRkJUM0JDTEVWQlFVc3NRMEZEVWl4SlFVRk5SeXhGUVVGTFRDeEhRVUZUTEV0QlFVc3NUVUZCVDBVc1EwRkJSeXhGUVVOdVF5eFBRVUZMUnl4RlFVVlBMRXRCUVVzc1RVRkJUU3hQUVVGUExFdEJRVXNzVFVGQlRTeFJRVUZSUVN4RFFVRkZMRVZCUVVjc1EwRkJReXhGUVVNMVF5eFBRVUZUTEVWQlJsUXNSVUZIWml4RFFVTkJMRWxCUVVsSUxFVkJRVXN5UWl4RlFVRlpMRU5CY0VkNlFpeEpRVUZCVWl4RlFYRkhVU3hKUVVGTmFFSXNSVUZCUzB3c1IwRkJVeXhMUVVGTExFMUJRVTlGTEVOQlFVY3NSVUZETjBJMFFpeEZRVUZQZWtJc1IwRkJRU3haUVVGQlFTeEZRVUZKTEUxQlEycENMRTlCUVZGblFpeEZRVUZCTEVOQlFVTlJMRWRCUVdONlFpeEZRVUZUTUVJc1EwRkJTU3hGUVVGSlFTeEZRVUZMTEUxQlFWRkJMRWxCUVRkRExFdEJRVUZVTEVWQlFYTkVMRTFCUTJ4RkxFTkJRMEVzU1VGQlNXNUNMRVZCUVVzc1EwRkRUQ3hOUVVGUExFTkJRVU1zUTBGQlEwWXNSMEZCVXl4TFFVRkxMRTFCUVU5RkxFTkJRVWNzUTBGRGNrTXNRMEZEUVN4SlFVRkpRU3hGUVVGTFpTeEZRVUZQTEVOQlExb3NTMEZCU3l4SlFVRkpMRWxCUVVsTkxFZEJRVXR5UWl4RlFVRkxaU3hEUVVGTExFVkJRVWNzUlVGQlNTeERRVU4yUXl4RFFVMUJMRTlCUVU5akxFVkJRVWR1UWl4RlFVRkxiMElzUlVGQlRTeERRVU5xUWl4SlFVRk5ha0lzUlVGQlRXbENMRVZCUVU4c1NVRkJTVUVzUlVGQlUzQkNMRWRCUVVFc1RVRkJRVUVzUlVGQlN5eFRRVUZYTEVsQlFVa3NTVUZCVVN4RFFVRkRMRVZCUTNwRVFTeEhRVUZCTEUxQlFVRkJMRVZCUVVzc1ZVRkRURUVzUlVGQlNTeFRRVUZUUnl4RFFVRkhMRVZCUTNCQ0xGRkJRVmRoTEV0QlFWRXNTMEZCU3l4TlFVTndRa3NzUjBGQlpYSkNMRVZCUVV0SExFVkJRVXRoTEVOQlFVa3NSVUZEYWtNc1QwRkJUMklzUTBGRFdDeERRVU5CTEZOQlFWTklMRVZCUVV0elFpeEZRVUZYUXl4RlFVRmhMRU5CUTJ4RExFZEJRVWtzUTBGQlEzWkNMRVZCUTBRc1QwRkJUeXhMUVVGTExGVkJRVlVzU1VGQlNTeEZRVU01UWl4UlFVRlhaMElzUzBGQlVTeExRVUZMTEUxQlEzQkNMRWRCUVVrc1EwRkJRM1JDTEVWQlFVOXpRaXhEUVVGSkxFVkJRMW9zVFVGQlRTeEpRVUZKTEUxQlFVMHNjME5CUVhORExFdEJRVXNzVlVGQlZVRXNRMEZCU1N4RFFVRkRMRlZCUVZVc1JVRkZOVVlzVFVGQlNTeERRVUZEYUVJc1JVRkJTU3hsUVVGcFFpeExRVUZMTEdsQ1FVRnBRaXhGUVVGTExFbEJRMnBFUVN4RlFVRk5MRTlCUVU4c1QwRkJUeXhEUVVGRExFVkJRVWRCTEVWQlFVc3NRMEZCUlN4alFVRmxMRVZCUVVzc1EwRkJReXhIUVVOcVJIZENMRWRCUVc5Q0xFdEJRVTE0UWl4RlFVRkxMRU5CUTJ4RExHZENRVUZwUWl4SFFVTnFRaXhWUVVGWExFTkJRVVVzVFVGQlR5eEpRVUZMTEVsQlFVc3NSMEZCU1N4RlFVTnNReXhYUVVGWlFTeEZRVUZKTEZGQlFWVXNSMEZETVVJc1dVRkJRWFZDTEVWQlEwRXNWVUZCUVVRc1EwRkRTaXhEUVVGRExFTkJRMHdzUTBGRFNpeEZRekZKUVN4SlFVRk5SeXhIUVVGTkxFTkJRMUlzVjBGQldTeE5RVU5hTEZGQlFWTXNSMEZEVkN4VlFVRlhReXhIUVVOWUxFbEJRVXNzZDBKQlEwd3NVVUZCVVVRc1JVRkJTMFVzUlVGQlV5eERRVU5zUWl4UFFVRkxReXhIUVVGTlNDeERRVUZITEVkQlExWkZMRVZCUVZFc2FVTkJRV2xETEVWQlEzUkRSaXhEUVVOWUxFVkJRMEVzVjBGQldTeERRVUZEU1N4RlFVRlJReXhGUVVGTFF5eEpRVUZSVEN4SFFVRlJMRXRCUVV0SExFVkJRVkZETEVWQlFVdERMRU5CUVVjc1EwRkRia1VzUlVOUVFTeEpRVUZOUXl4SFFVRk9MR05CUVhOQ1F5eEZRVUZYTEVOQlF6ZENMRmRCUVZjc1UwRkJWU3hEUVVOcVFpeE5RVUZQTEhWQ1FVTllMRU5CUTBFc1dVRkJXVU1zUlVGQlVTeERRVU5vUWl4TlFVRk5ReXhIUVVGTFJDeERRVUZOTEVWQlEycENMRXRCUVVzc1RVRkJVU3hEUVVGRExFTkJRMnhDTEVOQlEwRXNTVUZCU1VVc1JVRkJUeXhEUVVOUUxFdEJRVXNzVFVGQlRTeExRVUZMUVN4RFFVRkxMRU5CUTNwQ0xFTkJVMEVzVDBGQlQwTXNSVUZCU3l4RFFVTlNMRWxCUVUxRExFVkJRVTFETEVkQlFWbEdMRU5CUVVjc1JVRkRNMElzVDBGQlNTeFBRVUZQUXl4SFFVRlJMRk5CUTFJc1IwRkRReXhMUVVGTExFMUJRVTBzVDBGQlQwRXNSVUZCU3l4RFFVRkRMRVZCUTNwQ0xFOUJRVk1zUTBGRGVFSXNRMEZEUVN4SlFVRkpSQ3hGUVVGTFJ5eEZRVUZaTEVOQlEycENMRWxCUVUxR0xFVkJRVTFETEVkQlFWbEdMRU5CUVVjc1JVRkRNMElzUjBGQlNTeFBRVUZQUXl4SFFVRlJMRk5CUTJZc1QwRkRTaXhKUVVGTlJ5eEZRVUZMTEV0QlFVc3NUVUZCVFVnc1EwRkJSeXhGUVVONlFpeE5RVUZQTEVOQlFVTkZMRWRCUVdORkxFVkJRVk5FTEVOQlFVVXNSVUZCU1VFc1JVRkJSeXhOUVVGUlFTeERRVU53UkN4RFFVOUJMRWxCUVVsS0xFVkJRVXNzUTBGRFRDeEpRVUZOUXl4RlFVRk5ReXhIUVVGWlJpeERRVUZITEVWQlF6TkNMRTlCUVU4c1QwRkJUME1zUjBGQlVTeFZRVUZaUVN4RlFVRk5MRXRCUVVzc1RVRkJUU3hOUVVOMlJDeERRVkZCTEVsQlFVbEVMRVZCUVV0RUxFVkJRVThzUTBGRFdpeEpRVUZOUlN4RlFVRk5ReXhIUVVGWlJpeERRVUZITEVWQlF6TkNMRWRCUVVrc1QwRkJUME1zUjBGQlVTeFRRVU5tTEUxQlFVMHNTVUZCU1N4TlFVRk5MQ3RDUVVFclFrUXNRMEZCUnl4SFFVRkhMRVZCUTNwRUxFbEJRVTFOTEVWQlFVOHNTMEZCU3l4TlFVRk5UQ3hEUVVGSExFVkJRM1pDU1N4RlFVRlRReXhEUVVGSkxFZEJRVXRETEVkQlFXTlNMRU5CUVVzc1JVRkRja05QTEVWQlFVc3NUVUZCVVZBc1JVRkZZaXhMUVVGTExFMUJRVTFGTEVOQlFVY3NSVUZCU1VZc1EwRkRNVUlzUTBGRFFTeFBRVUZQVXl4RlFVRkhReXhGUVVGTExFTkJRMWdzU1VGQlRVTXNSVUZCVFN4RFFVRkRMRVZCUTFSRUxFZEJRVUVzVFVGQlFVRXNSVUZCU3l4VlFVTk1RU3hGUVVGSkxGTkJRVk5ETEVOQlFVY3NSVUZEY0VJc1NVRkJTVU1zUlVGQlNTeEZRVU5TTEZGQlFWZERMRXRCUVZFc1MwRkJTeXhOUVVOd1FrWXNSVUZCU1N4TFFVRkxSeXhIUVVGTFJDeEZRVUZOTEU5QlFVOUVMRWRCUVVjc1JVRkJSMFlzUTBGQlJ5eERRVUZETEVWQlEzcERMRTlCUVU5RExFTkJRMWdzUTBGRFFTeFRRVUZUUkN4RlFVRkxTeXhGUVVGWFF5eEZRVUZoTEVOQlEyeERMRTlCUVV0T0xFVkJSVVZQTEVkQlFXOUNMRXRCUVUxUUxFVkJRVXNzUTBGRGJFTXNaMEpCUVdsQ0xFdEJRMnBDTEZWQlFWY3NRMEZCUlN4TlFVRlBMRWxCUVVzc1NVRkJTeXhIUVVGSkxFVkJRMnhETEZsQlFXRkJMRVZCUVVrc1VVRkJWU3hKUVVGTkxFdEJRMnBETEZsQlFVRk5MRVZCUTBFc1ZVRkJRVVFzUTBGRFNpeERRVUZETEVWQlVGVXNTMEZCU3l4VlFVRlZMRWxCUVVrc1EwRlJiRU1zUTBGRFFTeFBRVUZQTEV0QlFVdHFRaXhGUVVGUmIwSXNSVUZCUzFJc1JVRkJTeXhEUVVNeFFpeEhRVUZOTEVOQlFVVXNVMEZCUVZNc1EwRkJVeXhGUVVGSlZDeEZRVU5tUXl4RlFVRk5MRWxCUVVrc1MwRkJTMklzUTBGQlRTeEZRVU16UWl4SFFVRkpiMElzUjBGQlR5eFBRVUZQTEZsQlFWa3NUMEZCVDBFc1EwRkJSeXhGUVVGSExFTkJRM1pETEVsQlFVbE9MRVZCUVVrc1JVRkRVaXhSUVVGVFVDeExRVUZOWVN4RlFVRkxMRU5CUTJoQ0xFZEJRVWtzVDBGQlQwTXNSMEZCWVN4WFFVRlpMRU5CUTJoRExFbEJRVTFzUWl4RlFVRk5hVUlzWVVGQlpTeEpRVUZOWWl4RlFVRkxMRTlCUVU5UExFZEJRVWNzUlVGRGFFUlFMRVZCUVV0akxFVkJRVk1zUzBGQlMwUXNSVUZCUzJwQ0xFVkJRVXRKTEVOQlFVVXNRMEZEYmtNc1EwRkRRVTBzUlVGQlNTeE5RVUZOTEV0QlFVdFRMRWRCUVZkbUxFVkJRVWtzVDBGQlYwc3NRMEZCUnl4RFFVRkRMRU5CUTJwRUxFTkJRMG9zUTBGRFFTeFBRVUZQUXl4RFFVTllMRU5CUTBvc1JVRkRRU3hUUVVGVFVpeEhRVUZaUml4RlFVRkxMRU5CUTNSQ0xFbEJRVWxETEVWQlFVMUpMRVZCUVZOTUxFTkJRVWNzUlVGQlNVRXNSVUZCU1N4TlFVRlJRU3hGUVVOMFF5eFBRVUZKUXl4SFFVRlBMRTlCUVU5QkxFZEJRVkVzVjBGRGRFSkJMRVZCUVUwc1QwRkJUMEVzUTBGQlJ5eEhRVU5pTEU5QlFVOUJMRWRCUVZFc1ZVRkJXU3hQUVVGUExGVkJRVlZCTEVOQlFVY3NSMEZCUzBFc1IwRkJUeXhGUVVNMVJFRXNSVUZEUVN4SlFVTldMRU5ETTBkQkxFbEJRVTF0UWl4SFFVRk5MRU5CUTFJc1YwRkJXU3hOUVVOYUxGRkJRVk1zUjBGRFZDeFZRVUZYUXl4SFFVTllMRWxCUVVzc2QwSkJRMHdzVVVGQlVVUXNSVUZCUzBVc1JVRkJVeXhEUVVOc1FpeFBRVUZMUXl4SFFVRk5TQ3hEUVVGSExFZEJRMVpGTEVWQlFWRXNhME5CUVd0RExFVkJRM1pEUml4RFFVTllMRVZCUTBFc1YwRkJXU3hEUVVGRFNTeEZRVUZSUXl4RlFVRkxReXhKUVVGUlRDeEhRVUZSTEV0QlFVdEhMRVZCUVZGRExFVkJRVXRETEVOQlFVY3NRMEZEYmtVc1JVTmFRU3hKUVVGTlF5eEhRVUZUTEVOQlExZ3NVMEZCVlVNc1IwRkJVeXhQUVVGUFFTeEhRVUZWTEZOQlEzQkRMRkZCUVZNc1IwRkRWQ3hKUVVGTExIZENRVU5NTEZGQlFWTkRMRWRCUVU5QkxFVkJRMmhDTEZWQlFWVkRMRVZCUVUxRExFVkJRVXRETEVWQlFWZERMRVZCUVdFc1EwRkRla01zVDBGQlFVWXNSVUZCVFN4UFFVRlBMRTlCUVU4c1EwRkJSU3hoUVVGakxFVkJRVXNzUlVGQlIwRXNRMEZCUnl4RlFVTjRRMGNzUjBGQlowSktMRVZCUVUxRExFVkJRVXRETEVWQlFWZERMRU5CUVZjc1EwRkROVVFzUTBGRFNpeEZRMVJCTEVsQlFVMUZMRWRCUVZVc1EwRkRXaXhUUVVGVlF5eEhRVUZUUVN4SFFVRlRMRXRCUXpWQ0xGZEJRVmtzU1VGQlRTeEpRVUZKUXl4RlFVRlBMRWxCUVVrc1JVRkRha01zVVVGQlV5eEhRVU5VTEVsQlFVc3NlVUpCUTB3c1MwRkJUU3gzUWtGRFRpeFJRVUZUTEVsQlFVMHNTVUZCU1VFc1JVRkJUeXhKUVVGSkxFVkJRemxDTEZWQlFWY3NRMEZCUXl4RFFVRkZMRTlCUVVGRExFTkJRVThzUlVGQlIwTXNTVUZCVVN4UFFVRlBSQ3hIUVVGWExGVkJRVmxJTEVkQlFWRXNTMEZCU3l4TFFVRkxSeXhEUVVGTkxFVkJRMmhHUVN4RlFVTkJReXhGUVVGSkxGRkJRVkVzVDBGRGRFSXNSVU5XUVN4SlFVRk5ReXhIUVVGVkxFTkJRMW9zVTBGQlZVTXNSMEZCVXl4UFFVRlBRU3hIUVVGVkxGVkJRM0JETEZGQlFWTXNSMEZEVkN4SlFVRkxMSGxDUVVOTUxFdEJRVTBzYjBOQlEwNHNVVUZCVTBNc1IwRkJUeXhKUVVGSlF5eEZRVUZQUkN4RlFVRkpMRU5CUVVNc1NVRkJUU3hMUVVGUFFTeEZRVUZKTEVOQlFVTXNTVUZCVFN4SFFVRkhMRVZCUXpORUxGVkJRVlVzUTBGQlJTeFBRVUZCUlN4RlFVRlJMRTFCUVVGSUxFTkJRVTBzUlVGQlIwa3NSVUZCU3l4RFFVTTVRaXhIUVVGSlJDeEhRVUZWU2l4SFFVRlJMRXRCUVVzc1MwRkJTMGtzUTBGQlRTeEZRVUZITEVOQlEzSkRMRWxCUVUxRkxFVkJRVXRHTEVWQlFVOHNRMEZCUXl4SlFVRk5MRXRCUVU5QkxFVkJRVThzUTBGQlF5eEpRVUZOTEVsQlF6bERMRWRCUVVsSUxFbEJRVlZMTEVWQlExWXNUMEZCVDBZc1EwRkRaaXhEUVVOQkxFOUJRVTlJTEVWQlFWRkpMRVZCUVVrc1VVRkJVU3hSUVVGVlFTeEZRVUZKTEZGQlFWRXNVVUZEY2tRc1EwRkRTaXhGUTJoQ1FTeFRRVUZUUlN4SFFVRm5RaXhEUVVGRkxFOUJRVUZETEVWQlFWRXNhMEpCUVVGRExFVkJRVzFDTEVsQlFVRkRMRVZCUVVzc1RVRkJRVU1zUTBGQlRTeEZRVUZITEVOQlEyaEZMRWRCUVVrc1QwRkJUMEVzUjBGQlZTeFRRVU5xUWl4UFFVRlBMRTlCUVU5QkxFTkJRVXNzUlVGRGRrSXNTVUZCVFVNc1JVRkJUU3hQUVVGUFJDeEhRVUZWTEZOQlFWZEJMRVZCUVZFc1QwRkJUMEVzUTBGQlN5eEZRVU0xUkN4SFFVRkpMRU5CUVVNc1UwRkJVME1zUTBGQlJ5eEZRVU5pTEU5QlFVOHNUVUZCVFVFc1EwRkJSeXhGUVVGSkxFOUJRVk5CTEVWQlFVMHNSVUZCU1N4UlFVRlZMRTlCUTNKRUxFbEJRVWxETEVWQlFVa3NTMEZCU3l4VlFVRlZSaXhEUVVGTExFVkJRelZDTEVkQlFVa3NRMEZCUTBnc1IwRkRSRU1zU1VGRFF5eERRVUZEUXl4SFFVRlBRU3hKUVVGUkxEUkNRVU5xUWl4TlFVRk5MRXRCUVV0SExFTkJRVU1zUlVGQlJ5eERRVU5tTEVsQlFVbERMRVZCUVVsRUxFVkJRVVVzVVVGQlVTeEhRVUZITEVWQlEycENReXhGUVVGSkxFbEJRMHBCTEVWQlFVbEVMRVZCUVVVc1QwRkRUa0VzUjBGQlN5eExRVVZVTEVsQlFVbEZMRVZCUVVsT0xFZEJRWEZDU1N4RlFVRkZMRTlCUVZORExFVkJRVWtzUjBGRE5VTXNTMEZCVDBNc1MwRkJUU3hIUVVOVVJpeEhRVUZMTEVkQlEySXNRMEZEUVN4UFFVRlBRU3hEUVVOWUxFTkRiRUpCTEVsQlFVMUhMRWRCUVZjc1EwRkRZaXhUUVVGVlF5eEhRVUZUTEU5QlFVOUJMRWRCUVZVc1UwRkRjRU1zVVVGQlV5eEhRVU5VTEVsQlFVc3NNRUpCUTB3c1MwRkJUU3hwUkVGRFRpeFJRVUZUUXl4SFFVRlBRU3hGUVVGSkxFMUJRVTBzUlVGQlJTeEZRVUZGTEZsQlFWa3NTVUZCVFN4TlFVTXhReXhKUVVOQlFTeEZRVUZKTEVOQlFVTXNTVUZCVFN4SlFVTlFMRTlCUVU4c2EwSkJRMUFzVDBGQlR5eHJRa0ZEYWtJc1ZVRkJWME1zUlVGRFppeEZRVU5OUXl4SFFVRlhMRU5CUTJJc1UwRkJWVWdzUjBGQlV5eFBRVUZQUVN4SFFVRlZMRk5CUTNCRExGRkJRVk1zUjBGRFZDeEpRVUZMTERCQ1FVTk1MRTlCUVZFc1RVRkRVaXhMUVVGTkxIbEVRVU5PTEZGQlFWTkRMRWRCUVU4c1YwRkJWMEVzUTBGQlJ5eEZRVU01UWl4VlFVRlZSeXhGUVVGTkxFTkJRMW9zU1VGQlRVTXNSVUZCVFN4UFFVRlBSQ3hGUVVGTExFdEJRVXNzUlVGRE4wSXNUMEZCVHl4VFFVRlRReXhEUVVGSExFVkJRVWxCTEVWQlFVa3NZMEZCWXl4RlFVRkpTQ3hIUVVGblFrVXNRMEZCU1N4RFFVTnlSU3hEUVVOS0xFVkJRMDFGTEVkQlFWRXNRMEZEVml4VFFVRlZUaXhIUVVGVExFOUJRVTlCTEVkQlFWVXNVMEZEY0VNc1VVRkJVeXhIUVVOVUxFbEJRVXNzTUVKQlEwd3NTMEZCVFN4eFEwRkRUaXhSUVVGUlF5eEZRVUZMTEVOQlExUXNTVUZCVFVjc1JVRkJUeXhKUVVGSlJ5eEZRVUZQTEZkQlFWZE9MRU5CUVVjc1EwRkJReXhGUVVOcVEwOHNSVUZCVFZBc1JVRkJTU3hSUVVGUkxFZEJRVWNzUlVGRE0wSXNUMEZCU1U4c1NVRkJVU3hKUVVGTlVDeEZRVUZKUVN4RlFVRkpMRTlCUVZNc1EwRkJReXhKUVVGTkxFMUJRM1JEUnl4RlFVRkxMR3RDUVVGdlFrZ3NSVUZCU1N4UFFVRlRUeXhGUVVGTkxFZEJRM3BEU2l4RFFVTllMRVZCUTBFc1ZVRkJWMFlzUlVGRFppeEZRM1JEUVN4SlFVRk5UeXhIUVVGbFF5eEhRVUZWTEU5QlFVOUJMRWRCUVZVc1ZVRkJXU3hQUVVGUExGVkJRVlZCTEVOQlFVc3NSVUZETlVWRExFZEJRV0VzUTBGQlEwTXNSVUZCUzBNc1JVRkJVVU1zUlVGQlR5eERRVUZGTEZsQlFVRkRMRU5CUVZrc1NVRkJUMEVzUlVGQll5eFBRVUZQU0N4RFFVRkhMRVZCUVVrc1UwRkJVMEVzUlVGQlNTeFZRVUZWUXl4RFFVRk5MRVZCUVVkRExFTkJRVXNzUlVGRE9VZ3NVMEZCVTBVc1IwRkJZVU1zUlVGQlRVZ3NSVUZCVDBrc1JVRkJVU3hEUVVOMlF5eEhRVUZOTEVOQlFVVXNUVUZCUVZJc1EwRkJUU3hGUVVGSlR5eEZRVU5zUWl4UFFVRkpVaXhIUVVGWlF5eERRVUZMTEVkQlFVdEJMRWRCUVZNc1JVRkRlRUpSTEVWQlFWTlNMRVZCUVUwc1UwRkJVMGtzUTBGQlN5eEZRVU5xUTBzc1IwRkJaMEpHTEVOQlFVa3NRMEZETDBJc1EwRkRRU3hKUVVGTlJ5eEhRVUZUTEVOQlExZ3NVMEZCVlZZc1IwRkJVMFFzUjBGQldVTXNRMEZCU3l4SFFVRkxRU3hIUVVGVExFVkJRMnhFTEZGQlFWTXNSMEZEVkN4SlFVRkxMSGRDUVVOTUxFOUJRVkVzVFVGRFVpeExRVUZOTEdGQlEwNHNVVUZCVXl4RFFVRkRSU3hGUVVGTFV5eEZRVUZWUXl4SlFVRlJXQ3hIUVVGWFF5eEZRVUZMTEVWQlFVY3NSVUZCUjFVc1EwRkJSeXhGUVVNeFJDeFZRVUZYVEN4SFFVRlJSQ3hIUVVGaFF5eEZRVUZOTEVWQlFVY3NTVUZCU1N4RFFVTnFSQ3hGUVVOTlRTeEhRVUZOTEVOQlExSXNVMEZCVldRc1IwRkRWaXhSUVVGVExFZEJRMVFzU1VGQlN5eDNRa0ZEVEN4TFFVRk5MR2RDUVVOT0xGRkJRVk1zUTBGQlEwY3NSVUZCUzFNc1JVRkJWVU1zU1VGQlVWZ3NSMEZCVjBNc1JVRkJTeXhGUVVGSExFZEJRVWxWTEVOQlFVY3NSVUZETTBRc1ZVRkJWMGdzUlVGRFppeEZRVU5OU3l4SFFVRlRMRU5CUTFnc1UwRkJWV1FzUjBGQlUwUXNSMEZCV1VNc1EwRkJTeXhIUVVGTFFTeEhRVUZUTEVWQlEyeEVMRkZCUVZNc1IwRkRWQ3hKUVVGTExIZENRVU5NTEU5QlFWRXNUVUZEVWl4TFFVRk5MRzFDUVVOT0xGRkJRVk1zUTBGQlEwVXNSVUZCUzFNc1JVRkJWVU1zU1VGQlVWZ3NSMEZCVjBNc1JVRkJTeXhGUVVGSExFZEJRVWxWTEVOQlFVY3NSVUZETTBRc1ZVRkJWMHdzUjBGQlVVUXNSMEZCWVVNc1JVRkJUU3hIUVVGSkxFbEJRVWtzUTBGRGJFUXNSVU16UWtFc1NVRkJUVkVzUjBGQlV5eERRVU5ZUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhGUVVOS0xFVkRhRUpCTEZOQlFWTkRMRWRCUVZsRExFVkJRVThzUTBGRGVFSXNUMEZCVHl4UFFVRlBRU3hIUVVGVkxGVkJRVmtzVDBGQlR5eFZRVUZWUVN4RFFVRkxMRU5CUXpsRUxFTkJRMEVzU1VGQlRVTXNSMEZCWjBJc1EwRkJReXhEUVVGRkxFMUJRVUZFTEVOQlFVMHNTVUZCVFN4TFFVRkxMRlZCUVZWQkxFTkJRVXNzUlVGRGJrUkZMRWRCUVdNc1EwRkRhRUlzUTBGRFNTeFRRVUZWUml4SFFVRlRMRTlCUVU5QkxFZEJRVlVzVTBGRGNFTXNVVUZCVXl4SFFVTlVMRWxCUVVzc2QwSkJRMHdzVVVGQlUwY3NSMEZCVDBFc1JVRkRhRUlzVlVGQlYwWXNSVUZEWml4RlFVTkJMRU5CUTBrc1UwRkJWVVFzUjBGQlUwRXNSMEZCVXl4TFFVTTFRaXhYUVVGWkxFbEJRVTBzU1VGQlNVa3NSVUZCVHl4SlFVRkpMRVZCUTJwRExGRkJRVk1zUjBGRFZDeEpRVUZMTEhsQ1FVTk1MRXRCUVUwc1UwRkRUaXhSUVVGVExFbEJRVTBzUzBGRFppeFZRVUZYU0N4RlFVTm1MRVZCUTBFc1EwRkRTU3hUUVVGVlJDeEhRVUZUTEU5QlFVOUJMRWRCUVZVc1ZVRkRjRU1zVVVGQlV5eEhRVU5VTEVsQlFVc3NlVUpCUTB3c1MwRkJUU3hsUVVOT0xGRkJRVk5ITEVkQlFVOUJMRWxCUVZFc1QwRkRlRUlzVlVGQlYwWXNSVUZEWml4RlFVTkJMRU5CUTBrc1UwRkJWVVlzUjBGRFZpeFJRVUZUTEVkQlExUXNTVUZCU3l4M1FrRkRUQ3hMUVVGTkxIZENRVU5PTEZGQlFWTXNRMEZCUTBrc1JVRkJTMFVzUlVGQlZTeERRVUZGTEZsQlFVRkRMRU5CUVZrc1NVRkJUVUVzUlVGQll5eFBRVUZQU0N4RFFVRkhMRVZCUVVrc1UwRkJVMEVzUlVGQlN5eEZRVUZGTEVWQlEzcEdMRlZCUVZjc1EwRkJReXhEUVVGRkxFMUJRVUZJTEVOQlFVMHNTVUZCVFVRc1IwRkJXVU1zUTBGQlN5eEZRVUZKUVN4RlFVRk5MRk5CUVZNc1JVRkJTU3hMUVVGTExGVkJRVlZCTEVOQlFVc3NRMEZETVVZc1JVRkRRU3hEUVVOSkxGTkJRVlZCTEVkQlFWTXNUMEZCVDBFc1IwRkJWU3hUUVVOd1F5eFJRVUZUTEVkQlExUXNTVUZCU3l3d1FrRkRUQ3hMUVVGTkxIbEVRVU5PTEZGQlFWTkhMRWRCUVU4c1YwRkJWMEVzUTBGQlJ5eEZRVU01UWl4VlFVRlhSaXhGUVVObUxFTkJRMG9zUlVGRFRVMHNSMEZCV1N4RFFVTmtMRkZCUVZNc1IwRkRWQ3hKUVVGTExFZEJRMHdzUzBGQlRTeEpRVU5PTEZGQlFWRktMRVZCUVV0TExFVkJRVk1zUTBGRGJFSXNUMEZCUVVFc1JVRkJVU3d5UWtGQk1rSXNTMEZCU3l4VlFVRlZUQ3hEUVVGSExFTkJRVU1zUlVGQlJTeEZRVU5xUkVFc1EwRkRXQ3hEUVVOS0xFVkJRMDFOTEVkQlFWTXNRMEZCUTBNc1IwRkJTME1zUlVGQlJ5eEZRVUZGTEU5QlFVOVVMRWRCUVdGTExFVkJRVk1zUlVONFJIWkVMRWxCUVUxTExFZEJRVk1zUTBGRFdDeFRRVUZWUXl4SFFVRlRRU3hoUVVGcFFpeFhRVU53UXl4UlFVRlRMRWRCUTFRc1NVRkJTeXd5UWtGVFRDeFJRVUZSUXl4RlFVRkxReXhGUVVGVExFTkJRMnhDTEVkQlFVa3NUMEZCVHl4UlFVRlhMRmRCUTJ4Q0xFOUJRVThzVDBGQlR5eExRVUZMUkN4RlFVRkxMRkZCUVZFc1JVRkZMMElzUjBGQlNTeFBRVUZQTEUxQlFWTXNWMEZCV1N4RFFVVnFReXhKUVVGTlJTeEZRVUZOTEV0QlFVdEdMRVZCUVVrc1VVRkJVU3hWUVVGWExFVkJRVVVzUTBGQlF5eEZRVU55UTBjc1JVRkJVeXhKUVVGSkxGZEJRVmRFTEVWQlFVa3NUVUZCVFN4RlFVTjRReXhSUVVGVFJTeEZRVUZKTEVWQlFVZEJMRVZCUVVsR0xFVkJRVWtzVDBGQlVTeEZRVUZGUlN4RlFVTTVRa1FzUlVGQlQwTXNRMEZCUXl4RlFVRkpSaXhGUVVGSkxGZEJRVmRGTEVOQlFVTXNSVUZEYUVNc1QwRkJUMFFzUTBGRFdDeExRVVZKTEZGQlFVRkdMRVZCUVZFc01FWkJRVEJHTEVWQlF6TkdSQ3hEUVVWbUxFVkJRMEVzVlVGQlZTeERRVUZGTEZGQlFVRkxMRVZCUVZNc1MwRkJRVU1zUlVGQlRTeE5RVUZCVUN4RFFVRk5MRVZCUVVkUkxFVkJRVXRETEVWQlFWZERMRVZCUVdFc1EwRkROMFFzU1VGQlRVTXNSVUZCVFZnc1JVRkRVa2NzUlVGRFNpeEhRVUZKTEU5QlFVOHNVVUZCVnl4WFFVTnNRa0VzUlVGRFNWRXNZVUZCWlN4UFFVTlVRU3hGUVVGSkxGTkJRVk1zVVVGQlVTeEZRVU55UWl4UFFVRlBMRXRCUVV0QkxFVkJRVWtzVFVGQlRTeEZRVUZGTEZOQlFWTXNVVUZCVVN4VlFVVTVReXhQUVVGUExFMUJRVk1zVjBGQldTeERRVU5xUXl4SlFVRkpReXhGUVVGSkxFZEJRMUlzVVVGQlUxQXNSVUZCU1N4RlFVRkhRU3hGUVVGSlRTeEZRVUZKTEU5QlFWRXNSVUZCUlU0c1JVRkRPVUpQTEVkQlFVc3NUMEZCVHl4aFFVRmhSQ3hGUVVGSlRpeERRVUZETEVOQlFVTXNSVUZEYmtOR0xFVkJRVTBzUzBGQlMxTXNRMEZCUXl4RFFVTm9RaXhMUVVWSkxFOUJRVTBzU1VGQlNTeE5RVUZOTERCR1FVRXdSaXhGUVVrNVJ5eEhRVVpMVEN4SlFVTkVRU3hGUVVGUFRTeEZRVUZQTEdWQlEyUk9MRWxCUVZOTkxFVkJRVThzWVVGQll5eERRVU01UWl4SlFVRk5ReXhGUVVGWkxFdEJRVXNzU1VGQlNVNHNSVUZCU1N4UlFVRlJMRlZCUVZsQkxFVkJRVWtzVDBGQlR5eFBRVUZSUVN4RlFVRkpMRkZCUVZFc1pVRkJaU3hGUVVNelJrOHNSVUZCU1N4TFFVRkxMRXRCUVV0YUxFVkJRVWtzVDBGQlUxY3NRMEZCVXl4RlFVTndRMFVzUlVGQlVTeEpRVUZKTEUxQlFVMUVMRU5CUVVNc1JVRkRla0lzVVVGQlUxWXNSVUZCU1N4RlFVRkhXU3hGUVVGSkxFVkJRVWRhTEVWQlFVbFZMRVZCUVVjc1JVRkJSVllzUlVGQlIxa3NSMEZCUzBnc1JVRkRjRU5GTEVWQlFVMVlMRU5CUVVNc1JVRkJTVVlzUlVGQlNTeFBRVUZQWXl4RlFVRkhTQ3hEUVVGVExFVkJSWFJEV0N4RlFVRk5ZU3hGUVVGTkxFdEJRVXRVTEVsQlFWTk5MRVZCUVU4c1kwRkJaMEk3UVVGQlFTeEZRVUZQTEVkQlFVY3NRMEZETDBRc1EwRkRRU3hQUVVGUFN5eEhRVUZuUWl4RFFVRkZMRkZCUVVGYUxFVkJRVk1zUzBGQlFVTXNSVUZCVFN4TlFVRlBTaXhEUVVGSkxFVkJRVWRMTEVWQlFVdERMRVZCUVZkRExFTkJRVmNzUTBGRGNrWXNRMEZEU2l4RlF6RkVRU3hUUVVGVFV5eEhRVUZoUXl4RlFVRkxReXhGUVVGVExFTkJUSEJETEVsQlFVRkRMRVZCVFVrc1IwRkJTVU1zUjBGQlRVZ3NRMEZCUnl4RlFVTlVMRkZCUVZOSkxFVkJRVWtzUlVGQlIwRXNSVUZCU1Vvc1JVRkJTU3hOUVVGTkxFOUJRVkVzUlVGQlJVa3NSVUZCUnl4RFFVTjJReXhKUVVGSlF5eEZRVUZQVEN4RlFVRkpMRTFCUVUxSkxFTkJRVU1zUlVGRGRFSXNSMEZCU1N4RFFVRkJSU3hGUVVGUFJDeERRVUZKTEVWQlJWWXNTVUZCU1VVc1IwRkJUVVlzUTBGQlNTeEZRVUZITEVOQlEyUkJMRVZCUVVzc1RVRkJUU3hQUVVGVExFZEJRM0JDU2l4RlFVRlJMR2RFUVVGblJDeEZRVU0xUkN4SlFVRk5UeXhGUVVGUFNDeEZRVUZMTEUxQlFVMHNRMEZCUXl4SFFVRkxMRWxCUVVsSkxFZEJRVXNzU1VGQlNVTXNSVUZCVHl4SlFVRkpMRU5CUVVNc1JVRkxka1FzUjBGS1NVd3NSVUZCU3l4blFrRkRURWNzUlVGQlN5eEpRVUZKTEdOQlFXZENRU3hGUVVGTExFbEJRVWtzWTBGRE5VSXNSMEZCUjBnc1JVRkJTeXhoUVVGaE8wRkJRVUVzUlVGQlMwY3NSVUZCU3l4SlFVRkpMR0ZCUVdFc1IwRkRhRVJJTEVWQlFVc3NaVUZEV0VFc1JVRkJTeXhSUVVGVExFTkJRMlFzU1VGQlRVMHNSMEZCUzFRc1JVRkJRVTBzUlVGQlN5eFJRVUZNTEV0QlFVRk9MRVZCUVdOTkxFVkJRVXNzU1VGRE9VSkhMRVZCUVVjc1VVRkJWVUVzUlVGQlJ5eFJRVU5XTEVkQlFVZE9MRVZCUVVzc1QwRkJUenRCUVVGQkxFVkJRVXROTEVWQlFVY3NUMEZCVHl4SFFVTTVRazRzUlVGQlN5eFBRVU5tTEVOQlEwRkJMRVZCUVU5SExFTkJRMWdzUTBGRFFWSXNSVUZCU1N4TlFVRk5TU3hEUVVGRExFVkJRVWxGTEVWQlFVOUVMRU5CUVVrc1JVRkJTVUVzUlVGQlR5eEpRVUZKU1N4SFFVRkxTaXhEUVVGSkxFVkJRM1JFTEUxQlIwRktMRVZCUVZFc2EwTkJRV3RETEVWQlF6bERMRTlCUVU5RUxFTkJRMWdzUTBGRFFTeFRRVUZUV1N4SFFVRlpReXhGUVVGUlF5eEZRVUZWUXl4RlFVRkxMRU5CUTNoRExFZEJRVTBzUTBGQlJTeFRRVUZCUXl4RFFVRlRMRVZCUVVsRUxFVkJRMlpGTEVWQlFWRXNTVUZCU1VNc1IwRkJVVXdzUTBGQlRTeEZRVU5vUTBrc1JVRkJUU3hKUVVGTkxEQkNRVU5hTEVsQlFVa3NSVUZCU1N4RlFVTlNMRWRCUVVsSUxFZEJRVmtzVDBGQlR5eFpRVUZaTEU5QlFVOUJMRU5CUVZFc1JVRkRPVU1zVVVGQlUwc3NTMEZCVFV3c1JVRkJWU3hEUVVOcVFpeFBRVUZQUlN4SFFVRmhMR0ZCUTNCQ1J5eEZRVUZMU0N4RlFVRlRMRXRCUVV0R0xFVkJRVlVzVDBGQlR5eEhRVUZITEVWQlFVZExMRU5CUVVVc1IwRkRhRVFzU1VGQlNVTXNSVUZCUzBNc1JVRkRWQ3hIUVVGSkxFMUJRVTBzVVVGQlVVWXNRMEZCUlN4RlFVTm9RaXhIUVVGSlFTeEZRVUZITEZOQlFWY3NSVUZEWkVNc1JVRkJUVVFzUlVGQlJ5eERRVUZETEVWQlExWkZMRVZCUVZGR0xFVkJRVWNzUTBGQlF5eE5RVWRhTEU5QlFVMHNTVUZCU1N4VlFVRlZMR2REUVVGblEwRXNRMEZCUlN4RlFVRkZMRlZCUlhaRVFTeEhRVUZOUVN4aFFVRmpMRTlCUVZFc1EwRkRha01zU1VGQlRVY3NSVUZCVHl4UFFVRlBMRXRCUVV0SUxFTkJRVVVzUlVGRE0wSXNSMEZCU1Vjc1JVRkJTeXhUUVVGWExFVkJRMmhDUml4RlFVRk5SU3hGUVVGTExFTkJRVU1zUlVGRFdrUXNSVUZCVVVZc1JVRkJSME1zUTBGQlJ5eE5RVWRrTEU5QlFVMHNTVUZCU1N4VlFVRlZMRzlEUVVGdlEwVXNSVUZCU3l4TlFVRk5MRTlCUVU4c1EwRkZiRVlzVFVGRlNVWXNSVUZCVFVRc1JVRkZWa1lzUlVGQlRTeE5RVUZOTEV0QlFVdE5MRWRCUVZkSUxFVkJRVXRETEVWQlFVOU9MRU5CUVVjc1EwRkJReXhEUVVOb1JDeERRVU5LTEU5QlFVOUZMRU5CUTFnc1EwRkRRU3hKUVVGTlFTeEhRVUZSTEVOQlExWXNWMEZCV1N4TlFVTmFMRkZCUVZNc1IwRkRWQ3hKUVVGTExEQkNRVU5NTEZGQlFWTnNRaXhIUVVOVUxGZEJRVmxoTEVWQlEyaENMRVZEY2tWQkxFbEJRVTFaTEVkQlFVNHNUVUZCVFVNc1ZVRkJhVUpETEVWQlFWRXNRMEZETTBJc1lVRkJZeXhEUVVOV0xFMUJRVTBzUlVGRFRpeExRVUZMTEVsQlFVMURMRWRCUVZFc1ZVRkJWU3hKUVVGSkxFdEJRVXNzU1VGQlNTeEZRVU14UXl4TFFVRkxMRTlCUVZOQkxFZEJRVkVzVlVGQlZTeFBRVUZQTEV0QlFVc3NTVUZCU1N4RlFVTm9SQ3hMUVVGTExFbEJRVTFCTEVkQlFWRXNWVUZCVlN4SlFVRkpMRXRCUVVzc1NVRkJTU3hGUVVNeFF5eExRVUZMTEVsQlFVMUJMRWRCUVZFc1ZVRkJWU3hKUVVGSkxFdEJRVXNzU1VGQlNTeEZRVU14UXl4TFFVRkxMRWxCUVUxQkxFZEJRVkVzVlVGQlZTeEpRVUZKTEV0QlFVc3NTVUZCU1N4RlFVTXhReXhMUVVGTExFbEJRVTFHTEVWQlFWTXNSMEZEZUVJc1EwRkxRU3hQUVVGUFJ5eEZRVUZIUXl4RlFVRkxMRU5CUTFnc1IwRkJTU3hEUVVGRFFTeEZRVU5FTEU5QlFVOHNUVUZCVFN4UFFVRlBSQ3hEUVVGRExFVkJRM3BDTEVsQlFVMUZMRVZCUVUwc1NVRkJTU3hKUVVOYVJDeEhRVUZCTEUxQlFVRkJMRVZCUVVzc1ZVRkRURUVzUlVGQlNTeFRRVUZUUXl4RFFVRkhMRVZCUTNCQ0xGRkJRVmRETEV0QlFWRXNTMEZCU3l4TlFVRlBMRU5CUXpOQ0xFbEJRVWxETEVWQlFVdERMRVZCVVZRc1IwRlFTVU1zUlVGQlQwZ3NRMEZCU1N4SFFVTllReXhGUVVGTlJ5eEhRVUZMU2l4RlFVRkxMRWxCUVVzc1IwRkJTVVlzUTBGQlJ5eEZRVU0xUWtrc1JVRkJVVVVzUjBGQlMwb3NSVUZCU3l4TlFVRlBReXhGUVVGTFNDeERRVUZITEVkQlIycERSeXhGUVVGTlJ5eEhRVUZMU2l4RlFVRk5MRWRCUVVsR0xFTkJRVWNzUlVGRmVFSkRMRVZCUVVrc1NVRkJTVVVzUTBGQlJ5eEZRVU5ZTEUxQlFVMHNTVUZCU1N4TlFVRk5MRGhEUVVFNFF5eEZRVU5zUlVZc1JVRkJTU3hKUVVGSlJTeEZRVUZMUXl4RFFVRkxMRU5CUTNSQ0xFTkJRMEVzVDBGQlQwZ3NRMEZEV0N4RFFVTkJMRTlCUVU4c1MwRkJTMDBzUlVGQlVVTXNSVUZCVlZJc1JVRkJTeXhEUVVNdlFpeEpRVUZOVXl4RlFVRlJReXhIUVVGWlNDeEZRVUZSUXl4RlFVRlZVaXhEUVVGSExFVkJRM3BEVnl4RlFVRlBMRWxCUVVrc1MwRkRha0lzVDBGQlFVRXNSVUZCU3l4TlFVRlJSaXhGUVVGTkxFMUJRMXBGTEVOQlExZ3NRMEZEU2l4RlFVTkJhRUlzUjBGQlV5eEpRVUZOTEhsQ1FVTm1MRWxCUVUxblFpeEhRVUZQTEVOQlExUXNWMEZCV1N4TlFVTmFMRk5CUVZWUUxFZEJRVk5CTEdGQlFXbENMRWxCUTNCRExGVkJRVmRVTEVkQlExZ3NVVUZCVXl4SFFVTlVMRWxCUVVzc2VVSkJRMHdzVVVGQlVXbENMRVZCUVV0RExFVkJRVk1zUTBGRGJFSXNTVUZCVFVvc1JVRkJVVXNzUjBGQllVWXNSVUZCUzBNc1EwRkJUeXhGUVVOcVEwVXNSVUZCVnl4RFFVRkRMRVZCUTJ4Q0xFOUJRVmNzUTBGQlJTeEpRVUZCV2l4RFFVRkpMRWxCUVV0TkxFVkJRVTBzVFVGRGNFSlBMRVZCUVZOaUxFTkJRVWNzU1VGRFVsa3NSVUZCVXl4VFFVRlRXaXhGUVVGSkxFdEJRVXNzUlVGRE0wSlZMRVZCUVZFc2FVUkJRV2xFVml4RlFVRkpMRXRCUVVzc1JVRkJSU3hGUVVkd1JWa3NSVUZCVXl4TFFVRkxXaXhGUVVGSkxFdEJRVXNzUjBGSmJrTXNUMEZCVHl4UFFVRlBMRTlCUVU4c1NVRkJTVklzUjBGQldXTXNRMEZCU3l4RFFVTTVReXhGUVVOQkxGZEJRVmtzUTBGQlEwWXNSVUZCVVVNc1JVRkJWVklzU1VGQlVVd3NSMEZCVXl4TFFVRkxXU3hGUVVGUlF5eEZRVUZWVWl4RFFVRkhMRU5CUXpsRkxFVkRja1ZCTEZOQlFWTnBRaXhIUVVGakxFTkJRVVVzVFVGQlFVTXNSVUZCVHl4UFFVRkJReXhEUVVGUExFVkJRVWRETEVWQlFVc3NRMEZGTTBNc1QwRkJTVVFzU1VGRVdVUXNSVUZCVVVjc1IwRkJWVU1zU1VGRFdpeExRVUZMTEV0QlFVdElMRU5CUVUwc1JVRkRNMEpCTEVWQlEwcEVMRVZCUVZGRkxFVkJRVWtzVVVGQlVTeFJRVUZWUVN4RlFVRkpMRkZCUVZFc1VVRkRja1FzUTBGRFFTeEpRVUZOUXl4SFFVRlZMRU5CUTFvc1UwRkJWVWdzUjBGQlUwRXNTVUZCVlN4SFFVTTNRaXhSUVVGVExFZEJRMVFzU1VGQlN5eDVRa0ZEVEN4TFFVRk5MRFpEUVVOT0xGRkJRVk1zU1VGQlRTeEpRVUZKU3l4RlFVRlBMRVZCUVVrc1JVRkRPVUlzVlVGQlYwNHNSVUZEWml4RlFVTk5TeXhIUVVGWExFTkJRMklzVTBGQlZVb3NSMEZCVTBFc1NVRkJWU3hIUVVNM1FpeFJRVUZUTEVkQlExUXNTVUZCU3l4NVFrRkRUQ3hMUVVGTkxDdERRVU5PTEZGQlFWTXNTVUZCVFN4SlFVRkpTeXhGUVVGUExFVkJRVXNzUlVGREwwSXNWVUZCVjA0c1JVRkRaaXhGUTNCQ1FTeEpRVUZOVHl4SFFVRlhMRU5CUTJJc1UwRkJWVU1zUjBGQlV5eFBRVUZQUVN4SFFVRlZMRk5CUTNCRExGRkJRVk1zUjBGRFZDeEpRVUZMTERCQ1FVTk1MRXRCUVUwc2FVUkJRMDRzVVVGQlZVTXNSMEZCVVVFc1JVRkJTU3hOUVVGTkxFVkJRVVVzUlVGQlJTeFpRVUZaTEVsQlFVMHNUVUZETlVNc1NVRkRRVUVzUlVGQlNTeERRVUZETEVsQlFVMHNTVUZEVUN4UFFVRlBMR3RDUVVOUUxFOUJRVThzYTBKQlEycENMRlZCUVZkRExFVkJRMllzUlVGRFRVTXNSMEZCVnl4RFFVTmlMRk5CUVZWSUxFZEJRVk1zVDBGQlQwRXNSMEZCVlN4VFFVTndReXhSUVVGVExFZEJRMVFzU1VGQlN5d3dRa0ZEVEN4UFFVRlJMRTFCUTFJc1MwRkJUU3gzUkVGRFRpeFJRVUZWUXl4SFFVRlJMRmRCUVZkQkxFVkJRVWtzVVVGQlVTeExRVUZOTEVWQlFVVXNRMEZCUXl4RlFVTnNSQ3hWUVVGVlJ5eEZRVUZOTEVOQlExb3NTVUZCVFVNc1JVRkJUU3hQUVVGUFJDeEZRVUZMTEV0QlFVc3NSVUZETjBJc1QwRkJUeXhUUVVGVFF5eERRVUZITEVWQlFVbEJMRVZCUVVrc1kwRkJZeXhGUVVGSlNDeEhRVUZuUWtVc1EwRkJTU3hEUVVOeVJTeERRVU5LTEVWQlEwMUZMRWRCUVZFc1EwRkRWaXhUUVVGVlRpeEhRVUZUTEU5QlFVOUJMRWRCUVZVc1UwRkRjRU1zVVVGQlV5eEhRVU5VTEVsQlFVc3NNRUpCUTB3c1MwRkJUU3h2UTBGRFRpeFJRVUZSUXl4RlFVRkxMRU5CUTFRc1NVRkJUVWNzUlVGQlR5eEpRVUZKUnl4RlFVRlBMRmRCUVZkT0xFVkJRVWtzVVVGQlVTeExRVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUTI1RVR5eEZRVUZOVUN4RlFVRkpMRkZCUVZFc1IwRkJSeXhGUVVNelFpeEhRVUZKVHl4SlFVRlJMRWRCUVVrc1EwRkRXaXhKUVVGTlF5eEZRVUZKVWl4RlFVRkpMRlZCUVZWUExFVkJRVTBzUTBGQlF5eEZRVUZGTEZGQlFWRXNTMEZCVFN4RlFVRkZMRVZCUXpkRFF5eEZRVUZGUVN4RlFVRkZMRTlCUVZNc1EwRkJReXhKUVVGTkxFMUJRM0JDVEN4RlFVRkxMR3RDUVVGdlFrc3NSVUZCUlN4UFFVTnVReXhEUVVOQkxFOUJRVTlNTEVOQlExZ3NSVUZEUVN4VlFVRlhSaXhGUVVObUxFVkRla05CTEVsQlFVMVJMRWRCUVdWRExFZEJRVlVzVDBGQlQwRXNSMEZCVlN4VlFVRlpMRTlCUVU4c1ZVRkJWVUVzUTBGQlN5eEZRVU5zUml4VFFVRlRReXhIUVVGWFF5eEZRVUZMUXl4RlFVRlJReXhGUVVGUExFTkJRVVVzV1VGQlFVTXNRMEZCV1N4RlFVRkhMRU5CUTNKRUxFbEJRVTFETEVWQlFVOUtMRVZCUVVrc1EwRkJReXhGUVVsc1FpeEpRVWhKU1N4SlFVRlRMRXRCUVU5QkxFbEJRVk1zVDBGRGVrSklMRWRCUVZVc1IwRkRaRVFzUlVGQlRVRXNSVUZCU1N4VlFVRlZReXhEUVVGTkxFVkJRVVVzVVVGQlVTeExRVUZOTEVWQlFVVXNSVUZEZUVORkxFVkJRV0VzUTBGRFlpeFBRVUZSUkN4RlFVRlBMRU5CUTFnc1NVRkJTeXhIUVVORVJpeEZRVUZOTEV0QlFVdEJMRU5CUVVjc1IwRkRaQ3hOUVVOS0xFbEJRVXNzUjBGRFJFRXNSVUZCVFN4TFFVRkxRU3hEUVVGSExFZEJRMlFzVFVGRFNpeEpRVUZMTEVsQlEwUkJMRVZCUVUwc1MwRkJTMEVzUTBGQlJ5eEhRVU5rTEV0QlExSXNRMEZEUVN4SlFVRk5TeXhGUVVGSkxFOUJRVTlNTEVOQlFVY3NSVUZEY0VJc1QwRkJUMGtzU1VGQlV5eEpRVUZOTEU5QlFVOHNSVUZCUlN4RlFVRkpReXhGUVVGSlFTeERRVU16UXl4RFFVTkJMRWxCUVUxQkxFVkJRVWtzVTBGQlUwd3NSVUZCUzBVc1EwRkJTeXhGUVVNM1FpeFBRVUZQUlN4SlFVRlRMRWxCUVUwc1IwRkJTME1zUlVGQlNVRXNRMEZEYmtNc1EwRkRRU3hUUVVGVFF5eEhRVUZoUXl4RlFVRk5UQ3hGUVVGUFRTeEZRVUZSTEVOQlEzWkRMRWRCUVUwc1EwRkJSU3hOUVVGQlZpeERRVUZOTEVWQlFVbFRMRVZCUTJ4Q0xFZEJRVWxXTEVkQlFWbERMRU5CUVVzc1JVRkJSeXhEUVVOd1FpeEpRVUZOUlN4RlFVRk5SaXhGUVVGTkxGTkJRVk5KTEVOQlFVc3NSVUZEYUVNc1QwRkJUMG9zUlVGQlVTeEZRVUZKTEVsQlFVMVZMRVZCUVZOU0xFVkJRVWtzVDBGQlR5eERRVUZETEVWQlFVbFJMRVZCUVZOU0xFTkJReTlFTEVOQlEwRXNUMEZCVDFNc1IwRkJaMEpHTEVOQlFVa3NRMEZETDBJc1EwRkRRU3hKUVVGTlJ5eEhRVUZUTEVOQlExZ3NVMEZCVldJc1IwRkRWaXhSUVVGVExFZEJRMVFzU1VGQlN5eDNRa0ZEVEN4UFFVRlJMRTFCUTFJc1MwRkJUU3h0UWtGRFRpeFJRVUZUTEVOQlFVTkhMRVZCUVV0WExFVkJRVlZETEVsQlFWRmlMRWRCUVZkRExFVkJRVXNzUlVGQlJ5eEZRVUZIV1N4RFFVRkhMRVZCUXpGRUxGVkJRVmRNTEVkQlFWRkVMRWRCUVdGRExFVkJRVTBzUlVGQlJ5eEpRVUZKTEVOQlEycEVMRVZCUTAxTkxFZEJRVk1zUTBGRFdDeFRRVUZWYUVJc1IwRkRWaXhSUVVGVExFZEJRMVFzU1VGQlN5eDNRa0ZEVEN4UFFVRlJMRTFCUTFJc1MwRkJUU3hyUWtGRFRpeFJRVUZUTEVOQlFVTkhMRVZCUVV0WExFVkJRVlZETEVsQlFWRmlMRWRCUVZkRExFVkJRVXNzUlVGQlJ5eEZRVUZIV1N4RFFVRkhMRVZCUXpGRUxGVkJRVmRNTEVkQlFWRkVMRWRCUVdGRExFVkJRVTBzUlVGQlJ5eEhRVUZITEVOQlEyaEVMRVZCUTAxUExFZEJRVTBzUTBGRFVpeFRRVUZWYWtJc1IwRkRWaXhSUVVGVExFZEJRMVFzU1VGQlN5eDNRa0ZEVEN4TFFVRk5MSE5DUVVOT0xGRkJRVk1zUTBGQlEwY3NSVUZCUzFjc1JVRkJWVU1zU1VGQlVXSXNSMEZCVjBNc1JVRkJTeXhGUVVGSExFZEJRVWxaTEVOQlFVY3NSVUZETTBRc1ZVRkJWMGdzUlVGRFppeEZRVU5OVFN4SFFVRlRMRU5CUTFnc1UwRkJWV3hDTEVkQlExWXNVVUZCVXl4SFFVTlVMRWxCUVVzc2QwSkJRMHdzVDBGQlVTeE5RVU5TTEV0QlFVMHNlVUpCUTA0c1VVRkJVeXhEUVVGRFJ5eEZRVUZMVnl4RlFVRlZReXhKUVVGUllpeEhRVUZYUXl4RlFVRkxMRVZCUVVjc1IwRkJTVmtzUTBGQlJ5eEZRVU16UkN4VlFVRlhUQ3hIUVVGUlJDeEhRVUZoUXl4RlFVRk5MRWRCUVVrc1NVRkJTU3hEUVVOc1JDeEZRMmhGUVN4SlFVRk5VeXhIUVVGT0xFMUJRVTFETEZWQlFXZENReXhGUVVGUkxFTkJRekZDTEZsQlFWbERMRVZCUVZFc1EwRkRhRUlzVFVGQlRVRXNRMEZCVFN4RlFVTmFMRXRCUVVzc1NVRkJUVVlzUlVGQlVTeEhRVU4yUWl4RFFVTkJMRWxCUVVsSExFVkJRVXNzUTBGRFRDeEpRVUZKUXl4RlFVTkJReXhGUVVGUFJpeERRVUZITEVWQlExWkRMRVZCUVU5RUxFVkJRMFpCTEVkQlEwd3NUMEZCVDBFc1IwRkJVU3hWUVVObUxGRkJRVk5CTEVkQlExUXNWVUZCVjBFc1IwRkRXRUVzUlVGQlNTeFJRVUZWTEV0QlEyUkRMRVZCUVU4c1NVRkJTVVVzUjBGQlMwZ3NSVUZCU1N4SlFVRkxMRWxCUVVrc1JVRkZOMEpETEVWQlFVOHNTVUZCU1VVc1IwRkJTMGdzUlVGQlN5eEpRVUZKTEVWQlEyaENTU3hIUVVGVExFdEJRVXNzVFVGQlQwZ3NSVUZCU3l4SFFVRkhMRWRCUlhSRExFdEJRVXNzVFVGQlRTeExRVUZMUVN4RFFVRkpMRU5CUXpWQ0xFTkJTMEVzU1VGQlNVUXNSVUZCUzBzc1JVRkJWU3hEUVVObUxFbEJRVTFLTEVWQlFVOUhMRWRCUVZNc1MwRkJTeXhOUVVGUFNpeERRVUZITEVWQlEzSkRMRTFCUVU4c1EwRkJRMHNzUjBGQldVZ3NSVUZCVDBRc1EwRkJTU3hGUVVONlFrc3NSVUZCVTB3c1JVRkJTeXhIUVVGSExFVkJRMkpCTEVWQlFVc3NTVUZCU1N4TlFVTlVRU3hGUVVGTExFbEJRMVJCTEVOQlExWXNRMEZEUVN4SlFVRkpSQ3hGUVVGTFR5eEZRVUZQTEVOQlExb3NSMEZCU1N4UFFVRlBRU3hIUVVGVkxGVkJRMnBDTEUxQlFVMHNTVUZCU1N4TlFVRk5MR2xGUVVGcFJTeFBRVUZQUVN4RFFVRkxMRVZCUVVVc1JVRkRia2NzU1VGQlRVTXNSVUZCVDBvc1IwRkJVeXhMUVVGTExFMUJRVTlLTEVOQlFVY3NSVUZEYWtOUkxFZEJRVkVzUTBGQlEwUXNSVUZEVkN4TFFVRkxMRTFCUVUwc1QwRkJUeXhMUVVGTExFMUJRVTBzVVVGQlVVTXNRMEZCU1N4RlFVRkhMRU5CUVVNc1JVRkZlRU1zUTBGQlEwRXNSMEZCVVVRc1IwRkRaQ3hMUVVGTExFMUJRVTBzUzBGQlN5eEpRVUZKU2l4SFFVRkxTQ3hEUVVGSExFTkJRVU1zUTBGRmNrTXNRMEZEUVN4UFFVRlBVeXhGUVVGSFF5eEZRVUZMTEVOQlExZ3NUMEZCVHl4TlFVRk5MRTlCUVU5RUxFVkJRVWRETEVWQlFVc3NSMEZCUnl4RFFVTnVReXhEUVVOQkxGTkJRVk5CTEVWQlFVdERMRVZCUVZkRExFVkJRV0VzUTBGRGJFTXNSMEZCU1N4RFFVRkRSaXhGUVVORUxFOUJRVThzUzBGQlN5eFZRVUZWTEVsQlFVa3NSVUZET1VJc1IwRkJTU3hMUVVGTExHbENRVUZwUWl4RlFVRkpMRVZCUXpGQ0xFOUJRVThzVFVGQlRTeFRRVUZUTEU5QlFVOHNUMEZCVHl4RFFVRkRMRVZCUVVkQkxFVkJRVXNzUTBGQlJTeGpRVUZsTEVWQlFVc3NRMEZCUXl4RlFVRkhReXhGUVVGWFF5eERRVUZYTEVWQlJUZEdMRTFCUVUwc1NVRkJTU3hOUVVGTkxIRkRRVUZ4UXl4RFFVTTNSQ3hEUVVOQkxFOUJRVThzUzBGQlMySXNSVUZCVVdNc1JVRkJWVWdzUlVGQlN5eERRVU12UWl4SFFVRk5MRU5CUVVVc1UwRkJRVWtzUTBGQlV5eEZRVUZKU2l4RlFVTm1TeXhGUVVGTkxFbEJRVWtzUzBGQlMyaENMRU5CUVUwc1JVRkRNMElzUjBGQlNXTXNSMEZCV1N4UFFVRlBMRmxCUVZrc1QwRkJUMEVzUTBGQlVTeEZRVU01UXl4UlFVRlRUaXhMUVVGVFRTeEZRVU5XTEU5QlFVOURMRWRCUVdFc1lVRkRjRUpRTEVWQlFWRlBMRVZCUVZNc1MwRkJTMFFzUlVGQlZVNHNSVUZCVDBFc1EwRkJTeXhIUVVOb1JGRXNSVUZCU1N4TlFVRk5MRXRCUVV0RExFZEJRVmRVTEVWQlFVOHNTMEZCVFVjc1EwRkJSeXhEUVVGRExFVkJSVzVFTEU5QlFVOUxMRU5CUTFnc1EwRkRTaXhGUVVOQmJrSXNSMEZCVVN4SlFVRk5MSGRDUVVOa0xFbEJRVTF0UWl4SFFVRk5MRU5CUTFJc1YwRkJXU3hOUVVOYUxGTkJRVlZTTEVkQlFWTkJMR0ZCUVdsQ0xFbEJRM0JETEZWQlFWZFlMRWRCUTFnc1VVRkJVeXhIUVVOVUxFbEJRVXNzZDBKQlEwd3NWMEZCV1N4RFFVRkRSeXhGUVVGUll5eEZRVUZWU0N4SlFVRlJaQ3hIUVVGUkxFdEJRVXRITEVWQlFWRmpMRVZCUVZWSUxFTkJRVWNzUlVGRGVrVXNVVUZCVVU4c1JVRkJTME1zUlVGQlV5eERRVU5zUWl4SFFVRkpReXhIUVVGTlJpeERRVUZITEVWQlFVY3NRMEZEV2l4SFFVRkpRU3hGUVVGSkxHbENRVUZwUWl4RlFVRkpMRVZCUTNwQ0xFOUJRVThzVDBGQlR5eFBRVUZQTEVsQlFVbHlRaXhIUVVGWGNVSXNRMEZCUnl4RlFVVjJRME1zUlVGQlVTeHhRMEZCY1VNc1EwRkRja1FzVFVGRlNVRXNSVUZCVVN4cFEwRkJhVU1zUlVGRE4wTXNUMEZCVDBRc1EwRkRXQ3hEUVVOS0xFVkRka1pCTEZOQlFWTkhMRWRCUVdsQ1F5eEZRVUZMUXl4RlFVRlZMRU5CUTNKRExFbEJRVTFETEVWQlFVOUdMRVZCUVVrc1EwRkJReXhGUVVOYVJ5eEZRVUZSUkN4SlFVRlRMRXRCUVU5QkxFbEJRVk1zU1VGQlRVWXNSVUZCU1N4VlFVRlZMRU5CUVVNc1JVRkJTVUVzUlVGRE1VUkpMRVZCUVU5RExFZEJRVTFLTEVWQlFWY3NUMEZCVDBrc1EwRkJReXhGUVVGSkxFOUJRVTlCTEVOQlFVTXNSVUZETlVORExFVkJRVTFJTEVWQlExQXNVVUZCVVN4TFFVRk5MRVZCUVVVc1JVRkRhRUlzVFVGQlRTeEhRVUZITEVWQlExUXNUMEZCVHl4RFFVRkRSeXhGUVVGTFF5eEpRVUZOUkN4RlFVRk5SaXhGUVVGSkxFVkJRVVVzUlVGQlNVRXNSVUZCU1Vjc1EwRkJReXhGUVVGSFNDeEZRVUZKTEVOQlFVTXNRMEZCUXl4RlFVTjBSQ3hQUVVGUlJpeEpRVUZUTEVsQlFVMUZMRVZCUVVrc1JVRkJSU3hGUVVGSlJTeEZRVUZOUVN4RFFVTXpReXhEUVUxQkxGTkJRVk5GTEVkQlFYRkNReXhGUVVGTkxFTkJRMmhETEVkQlFVa3NRMEZCUlN4TlFVRkJReXhEUVVGTkxFVkJRVWxFTEVWQlExcE1MRVZCUVU5RExFZEJRVTFCTEVWQlEycENMRWRCUVVrc1QwRkJUMHNzUjBGQlZTeFRRVU5xUWs0c1JVRkJUVU1zUjBGQlN5eFBRVUZQUVN4RFFVRkRMRlZCUTJRc1RVRkJUVXNzUTBGQlN5eEhRVUZMTEVOQlFVTXNVMEZCVTBFc1EwRkJTeXhGUVVOd1F5eFBRVUZQUXl4SFFVRm5Ra1lzUTBGQlNTeEZRVU12UWl4SlFVRkpVQ3hGUVVGUExFZEJRMUJSTEVWQlFWRXNTVUZEVWxJc1JVRkJUeXhKUVVOUVVTeEhRVUZUVGl4RlFVRkpMRVZCUVVVc1IwRkZia0lzU1VGQlRWRXNSVUZCVFZJc1JVRkJTU3hGUVVGRkxFVkJRMXBFTEVWQlFWRXNRMEZCUTA4c1JVRkJVVVVzUTBGQlJ5eEZRVU14UWl4UFFVRkpSaXhGUVVGUkxFZEJRMUpRTEVWQlFVMHNVVUZCVVN4RFFVRkRMRWRCUjJaUExFZEJRVk5CTEVWQlFWRlFMRVZCUVUwc1EwRkJReXhIUVVGTFV5eEZRVU0zUWxRc1JVRkJUU3hSUVVGUlR5eEZRVUZSUlN4RFFVRkhMRVZCUTNKQ1JpeEhRVUZUTEV0QlExUkJMRWRCUVZOQkxFVkJRVkZRTEVWQlFVMHNRMEZCUXl4SFFVRkxVeXhGUVVNM1FsUXNSVUZCVFN4UlFVRlJUeXhEUVVGTExFbEJSMjVDVWl4RlFVTktReXhGUVVOTExFbEJRVWxGTEVkQlFVc3NUMEZCVDBFc1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJ5eEhRVUZITEVOQlFVTXNSVUZEYmtNc1MwRkJTeXhIUVVGSExFVkJRMUlzVVVGQlVTeGhRVUZqTEVWQlFVVXNRMEZGY2tNc1EwRkRRU3hKUVVGTlVTeEhRVUZWTEVOQlExb3NVMEZCVlVnc1IwRkJVeXhQUVVGUFFTeEhRVUZWTEZWQlFWa3NUMEZCVHl4VlFVRlZRU3hEUVVGTExFVkJRM1JGTEZGQlFWTXNSMEZEVkN4SlFVRkxMSGRDUVVOTUxFOUJRVkVzVDBGRFVpeExRVUZOTEhWRFFVTk9MRkZCUVZNc1EwRkJRMVlzUlVGQlMyTXNSVUZCVlN4RFFVRkZMRmxCUVVGRExFTkJRVmtzU1VGQlRXaENMRWRCUVdsQ1F5eEZRVUZMWlN4RFFVRlhMRVZCUXpsRkxGVkJRVmRRTEVWQlEyWXNSVUZEVFZFc1IwRkJXU3hEUVVOa0xGTkJRVlZPTEVkQlFWTXNUMEZCVDBFc1IwRkJWU3hUUVVOd1F5eFJRVUZUTEVkQlExUXNTVUZCU3l3d1FrRkRUQ3hQUVVGUkxFOUJRMUlzUzBGQlRTeG5SRUZEVGl4UlFVRlRWaXhIUVVGUFJDeEhRVUZwUWtNc1JVRkJTeXhGUVVGTExFVkJRek5ETEZWQlFWZFJMRVZCUTJZc1JVRkRUVk1zUjBGQldTeERRVU5rTEZOQlFWVlFMRWRCUVZOQkxHRkJRV2xDTEV0QlEzQkRMRkZCUVZNc1IwRkRWQ3hKUVVGTExEaENRVWxNTEV0QlFVMHNUMEZCVHl3eVNrRkxTaXhGUVVOVUxGRkJRVkZXTEVWQlFVc3NRMEZEVkN4SlFVRk5hMElzUlVGQlVXeENMRVZCUVVrc1RVRkJUV2xDTEVkQlFWVXNTVUZCU1N4RlFVTjBReXhIUVVGSkxFTkJRVU5ETEVWQlEwUXNUVUZCVFN4SlFVRkpMRTFCUVUwc2MwUkJRWE5FTEVWQlF6RkZMRWRCUVUwc1EwRkJReXhEUVVGRlF5eEZRVUZOUXl4RlFVRlBReXhGUVVGTFF5eEZRVUZOUXl4RlFVRlJReXhEUVVGTkxFVkJRVWxPTEVWQlFVMHNTVUZCU1N4TlFVRk5MRVZCUXpkRVR5eEZRVUZYVUN4RlFVRk5MRU5CUVVNc1JVRkJTU3hSUVVGUlFTeEZRVUZOTEVOQlFVTXNSVUZCU1N4TlFVRk5MRTlCUVU4c1JVRkJSeXhEUVVGRExFTkJRVU1zUlVGQlNTeEZRVU5xUlZFc1JVRkJUeXhMUVVGTExFbEJRVWxRTEVWQlFVMURMRVZCUVZFc1JVRkJSME1zUlVGQlMwTXNSMEZCVVN4RlFVRkhReXhIUVVGVkxFVkJRVWRETEVkQlFWVXNSVUZCUjBNc1EwRkJVU3hGUVVOcVJrVXNSVUZCUzFRc1JVRkJUU3hEUVVGRExFVkJRMnhDTEVkQlFVbFRMRWRCUVUxQkxFbEJRVThzU1VGQlN5eERRVU5zUWl4SlFVRkpMRVZCUVVrMVFpeEhRVUZwUWpSQ0xFVkJRVWtzUlVGQlN5eEZRVU01UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhGUVVGSkxFdEJRMlFzUjBGQlN5eEpRVU5VUkN4SFFVRlJMRWxCUVZFc1EwRkRjRUlzUTBGRFFTeFBRVUZQTEVsQlFVa3NTMEZCUzBFc1EwRkJTU3hEUVVONFFpeEZRVU5CTEZWQlFWY3NRMEZCUXl4RFFVRkZMRTFCUVVGb1FpeERRVUZOTEVsQlFVMUJMRVZCUVUwc1dVRkJXU3hGUVVGRkxGRkJRVkVzZVVKQlFUQkNMRVZCUVVVc1EwRkRkRVlzUlVOd1JrRXNTVUZCVFd0Q0xFZEJRVk1zUTBGRFdFTXNSMEZEUVVNc1IwRkRRVU1zUjBGRFFVTXNSMEZEUVVNc1IwRkRRVU1zUjBGRFFVTXNSMEZEUVVNc1IwRkRRVU1zUjBGRFFVTXNSMEZEUVVNc1IwRkRRVU1zUjBGRFFVTXNSMEZEUVVNc1IwRkRRVU1zUjBGRFFVTXNSMEZEUVVNc1IwRkRRVU1zUjBGRFFVTXNSMEZEUVVNc1IwRkRRVU1zUlVGRFNpeEZRMjVDUVN4SlFVRk5ReXhIUVVGVkxFbEJRVWtzU1VGQlNTeERRVU53UWl4RFFVRkRMRTlCUVZGRExFVkJRVTBzUlVGRFppeERRVUZETEZkQlFWa3NRMEZCUTBNc1IwRkJTME1zUjBGQlMwTXNSVUZCVFN4RFFVRkRMRVZCUXk5Q0xFTkJRVU1zVDBGQlVVZ3NSVUZCVVN4RlFVTnFRaXhEUVVGRExGTkJRVlZCTEVWQlFWRXNSVUZEYmtJc1EwRkJReXhYUVVGWlFTeEZRVUZSTEVOQlEzcENMRU5CUVVNc1JVRkRTMGtzUjBGQllTeERRVU5tTEU5QlFVRkRMRWRCUTBFc1MwRkJUVU1zUjBGRFRpeE5RVUZCUXl4SFFVTkJMRk5CUVVGRExFZEJRMEVzVTBGQlFVTXNSMEZEUVN4VlFVRkJReXhIUVVOQkxFbEJRVUZETEVkQlEwRXNUMEZCUVVNc1IwRkRRU3hQUVVGQlF5eEhRVU5CTEZGQlFVRkRMRWRCUTBFc1NVRkJRV0lzUjBGRFFTeE5RVUZCWXl4SFFVTkJMRXRCUVUxRExFZEJRMDRzUzBGQlFVTXNSMEZEUVN4TlFVRkJReXhIUVVOQkxFbEJRVUZvUWl4SFFVTkJMRWxCUVVGcFFpeEhRVU5CTEZWQlFVRkRMRVZCUTBvc1JVRkRUVU1zUjBGQlowSXNRMEZEYkVJc01rSkJRVFJDYUVJc1IwRkROVUlzTUVKQlFUSkNWU3hIUVVNelFpeDVRa0ZCTUVKRkxFZEJRekZDTERCQ1FVRXlRa01zUjBGRE0wSXNkMEpCUVhsQ1F5eEhRVU42UWl3NFFrRkJLMEpETEVWQlEyNURMRVZCUTBFc1UwRkJVMFVzUjBGQlVVTXNSVUZCV1VNc1JVRkJXVU1zUlVGQllTeERRVU5zUkN4SlFVRk5ReXhGUVVGaE0wSXNSMEZCVVN4SlFVRkplVUlzUTBGQlZTeEZRVU42UXl4SFFVRkpSU3hIUVVGakxFTkJRVU5JTEVWQlEyWXNUMEZCVDBVc1IwRkJaU3hEUVVGRFF5eEZRVUZYTEZOQlFWTllMRVZCUVVzc1JVRkRNVU5YTEVWQlFWY3NUMEZCVDFnc1JVRkJTeXhGUVVOMlFsY3NSVUZCVnl4TlFVRk5MRVZCUlROQ0xFbEJRVWxETEVWQlFVOUVMRVZCUTFnc1IwRkJTU3hEUVVGRFF5eEZRVU5FTEVkQlFVa3NUVUZCVFN4UlFVRlJTaXhEUVVGVkxFVkJRM2hDU1N4RlFVRlBMRU5CUVVNc1RVRkRVQ3hEUVVORUxFbEJRVTFETEVWQlFVOHNUVUZCVFN4TFFVRkxOMElzUjBGQlVTeExRVUZMTEVOQlFVTXNSVUZEYWtNc1QwRkJUemhDTEVkQlFVOUJMRWxCUVZFc1VVRkJVU3hGUVVNNVFpeEpRVUZKUVN4SFFVRlBMRXRCUVVzc1ZVRkJWVUVzUTBGQlJ5eERRVUZETEVWQlF6bENMRXRCUVVzc1NVRkJTU3hGUVVOa0xFMUJRVTBzU1VGQlNTeE5RVUZOTEcxQ1FVRnRRa3dzUTBGQlZTeHBRa0ZCYVVKSkxFTkJRVWtzTmtKQlFUWkNMRU5CUTI1SExFTkJSVW9zUjBGQlNTeE5RVUZOTEZGQlFWRk1MRU5CUVZVc1JVRkRlRUlzVVVGQlYwOHNTMEZCVDFBc1JVRkRaRWtzUlVGQlQwRXNSVUZCU3l4UFFVRlBSeXhEUVVGSExFOUJSWEpDTEU5QlFVOVFMRWRCUVdVc1lVRkRNMEpKTEVWQlFVOUtMRVZCUVZkSkxFVkJRVXNzVFVGQlRTeERRVUZETEVkQlJXeERMRTlCUVVsR0xFbEJRMEZGTEVWQlFVOUJMRVZCUVVzc1QwRkJUMW9zUlVGQlN5eEhRVU55UWxrc1JVRkJTeXhQUVVGUExFTkJRVU5CTEVWQlFVMUhMRWxCUVZFc1EwRkRPVUlzU1VGQlRVTXNSVUZCVXl4UFFVRlBSQ3hIUVVGUkxGTkJRVmN4UWl4SFFVRlhNRUlzUTBGQlJ5eEZRVUZKUVN4RlFVTXpSQ3hIUVVGSkxFTkJRVU5ETEVWQlFWRXNRMEZEVkN4SlFVRk5ReXhGUVVGVkxFdEJRVXNzVlVGQlZVWXNRMEZCUnl4RlFVTTFRa1lzUlVGQlR5eFBRVUZQTEV0QlFVdDRRaXhGUVVGVkxFVkJRemxDTEVsQlFVbDVRaXhIUVVGUExFdEJRVXNzVlVGQlZVRXNRMEZCUnl4RFFVRkRMRVZCUXpsQ0xFdEJRVXNzU1VGQlNTeEZRVU5rTEUxQlFVMHNTVUZCU1N4TlFVRk5MSE5DUVVGelFrY3NRMEZCVHl4blFrRkJaMEpLTEVOQlFVa3NSVUZCUlN4RFFVTjJSU3hEUVVOQkxFOUJRVXRFTEVWQlFVc3NVMEZCVTBrc1EwRkJUU3hIUVVOeVFrb3NSVUZCU3l4TFFVRkxTU3hEUVVGTkxFVkJRMkpLTEVOQlExZ3NSVUZCUnl4RFFVRkRMRU5CUVVNc1EwRkRWQ3hEUTNaR1FTeEpRVUZOVFN4SFFVRnpRaXhEUVVGRFF5eEZRVUZIUXl4SlFVRk5SQ3hGUVVGRkxFbEJRVTFETEVWQlFVVXNTVUZCVFN4SFFVRkxSQ3hGUVVGRkxFbEJRVTFETEVWQlFVVXNTVUZCVFN4RlFVRkpMRVZCUTNwRlF5eEhRVUZPTEUxQlFVMURMRU5CUVU4c1EwRkRWQ3haUVVGWkxFTkJRVVVzVDBGQlFVTXNSVUZCVVN4WFFVRkJReXhGUVVGWkxFMUJRVUZETEVWQlFVOHNhVUpCUVVGRExFVkJRV3RDTEU5QlFVRkRMRVZCUVZFc1pVRkJRVU1zUlVGQlowSXNhVUpCUVVGRExFTkJRV2xDTEVWQlFVY3NRMEZEYmtjc1MwRkJTeXhQUVVGVExFMUJRVTBzVVVGQlVVNHNRMEZCVFN4RlFVTTFRazhzUjBGQlVWQXNSVUZCVVN4UlFVRlJMRVZCUTNoQ1FTeEZRVU5KVHl4SFFVRlJMRXRCUVUxUUxFTkJRVTBzUlVGRGNFSXNTMEZEVml4TFFVRkxMRXRCUVZFc1QwRkJUMGtzUjBGQlZ5eFZRVUZaUVN4SFFVRlhMRTlCUTNSRUxFdEJRVXNzVlVGQldVUXNSVUZCYlVKTExFZEJRV2RDTEVOQlFVTXNSVUZEY2tRc1MwRkJTeXhMUVVGUFJDeEhRVUZSVGl4RlFVRlpMRXRCUVVzc1MwRkJUVU1zUTBGQlN5eEZRVU5vUkN4TFFVRkxMR2RDUVVGclFra3NSMEZCUVN4TFFVRkJRU3hGUVVGdlFpeExRVU16UXl4UFFVRlBMR1ZCUVdVc1MwRkJUVWNzUjBGQlN5eERRVUZGTEUxQlFVOURMRVZCUVVrc1EwRkJReXhGUVVNdlF5eFBRVUZQTEdWQlFXVXNTMEZCVFVNc1IwRkJVU3hEUVVGRkxFMUJRVTlETEVWQlFVOHNRMEZCUXl4RlFVTnlSQ3hQUVVGUExHVkJRV1VzUzBGQlRVTXNSMEZCU3l4RFFVRkZMRTFCUVU5RExFVkJRVWtzUTBGQlF5eEZRVVV2UXl4TFFVRkxMR1ZCUTBRc1QwRkJUMVFzUjBGQmJVSXNWMEZEY0VKQkxFVkJRMEZCTEVsQlFXMUNMRWRCUTJaV0xFZEJRMEVzU1VGRGJFSXNRMEZEUVN4UFFVRlJMRU5CUTBvc1NVRkJUVzlDTEVWQlFVOHNUMEZCVHl4UFFVRlBhRUlzUlVGQlR5eFZRVUZYTEU5QlFVOHNNRUpCUVRCQ0xFbEJRVWtzUTBGQlF5eEZRVU51Uml4UFFVRkJaMElzUlVGQlN5eExRVUZQTEV0QlFVc3NTMEZCU3l4TlFVRk5MRVZCUTNKQ1FTeERRVU5ZTEVOQlEwb3NSVU01UWtFc1UwRkJVME1zUjBGQmEwSkRMRVZCUVV0RExFVkJRVk1zUTBGS2VrTXNTVUZCUVVNc1JVRkxTU3hKUVVGTlF5eEZRVUZSTEVOQlFVTXNSVUZEV0VNc1JVRkJaMEpJTEVWQlFWRXNZVUZCWlN4SFFVTXpReXhIUVVGSlFTeEZRVUZSTEdGQlFXVXNTVUZCVTBRc1JVRkJTU3hYUVVGWkxFTkJRMmhFTEVsQlFVMUxMRVZCUVUxTUxFVkJRVWtzVjBGQlZ5eFRRVUZUUVN4RFFVRkhMRVZCUTI1RFN5eEhRVU5CUml4RlFVRk5MRXRCUVV0RkxFTkJRVWNzUlVGRFpFUXNSVUZCWjBJc1NVRkZXRW9zUlVGQlNTeFhRVUZYTEZkQlEzQkNTU3hGUVVGblFpeEhRVU40UWl4RFFVTkpRU3hIUVVOQlJDeEZRVUZOTEV0QlFVc3NTMEZCU3l4RlFVTndRaXhKUVVGTlJ5eEZRVUZOUXl4SFFVRjFRbEFzUlVGQlMwTXNRMEZCVHl4RlFVTjZReXhEUVVGRkxHTkJRVUZQTEVOQlFXTXNSVUZCU1VZc1JVRkJTU3hSUVVNNVFpeEhRVUZKVGl4RlFVRkpMR05CUVdVc1EwRkRaa2NzUlVGQlRTeFRRVUZYTEVkQlEycENRU3hGUVVGTkxGRkJRVkVzUlVGQlJTeEZRVU53UWl4SlFVRk5UU3hGUVVGTFJDeEZRVUZqVWl4RlFVRkpMR0ZCUVdFc1JVRkRNVU5ITEVWQlFVMHNVVUZCVVU4c1IwRkJZMFFzUlVGQlNTeEZRVUZGTEVOQlFVTXNRMEZEZGtNc1EwRkRRU3hKUVVGSlJTeEZRVUZaTEVkQlExcERMRVZCUVdsQ0xFdEJRM0pDTEVkQlFVbGFMRVZCUVVrc1UwRkJWU3hEUVVOa0xFZEJRVWxoTEVWQlFVOWlMRVZCUVVrc1VVRkJVU3hGUVVGSExFTkJSM1JDTEVkQlJrbEJMRVZCUVVrc1UwRkJVeXhoUVVGbFNTeEhRVU0xUWtRc1JVRkJUU3hMUVVGTExFVkJRVVVzUlVGRFlrZ3NSVUZCU1N4VFFVRlRMR05CUVdVc1EwRkROVUlzU1VGQlRWTXNSVUZCUzBRc1JVRkJZMUlzUlVGQlNTeFRRVUZUTEdGQlFXRXNSVUZEYmtSSExFVkJRVTBzUzBGQlMwOHNSMEZCWTBRc1JVRkJTU3hGUVVGRkxFTkJRVU1zUTBGRGNFTXNRMEZGUVVnc1JVRkJTU3hwUWtGQmJVSXNRMEZCUXl4RFFVRkRUaXhGUVVGSkxGRkJRemRDV1N4RlFVRnBRbG9zUlVGQlNTeFRRVUZUTEU5QlEyeERMRU5CUTBFc1NVRkJUV01zUlVGQlkwWXNSVUZCYVVJc1QwRkJXU3hKUVVGUFJDeEZRVUZaTEVkQlEyaEZTU3hGUVVGUFF5eEhRVUZWYUVJc1JVRkJTU3hUUVVGVlRTeEZRVUZMTEVsQlFVOU5MRVZCUVdsQ0xFdEJRVTlGTEVOQlFWY3NSVUZET1VWR0xFbEJRMEZITEVkQlFWRkZMRWRCUVZsR0xFVkJRVTBzUjBGQlNWQXNSVUZCWTBrc1EwRkJZeXhEUVVGRExFbEJRekZFUnl4RlFVRkxMRU5CUVVNc1NVRkJUU3hMUVVGUFFTeEZRVUZMTEVOQlFVTXNTVUZCVFN4TlFVTm9RMW9zUlVGQlRVRXNSVUZCVFN4UFFVRlRMRU5CUVVNc1NVRkJUU3hOUVVjMVFrRXNSVUZCVFVFc1JVRkJUU3hQUVVGVExFTkJRVU1zUlVGQlNTeFBRVUZQV1N4RFFVRkpMRWRCUjNKRFdpeEZRVUZOTEV0QlFVdFpMRU5CUVVrc1EwRkRka0lzVFVGRlNWb3NSVUZCVFN4TFFVRkxZU3hIUVVGVmFFSXNSVUZCU1N4VFFVRlZUU3hEUVVGSExFTkJRVU1zUlVGRk0wTXNTVUZCU1Vvc1JVRkJRVVlzUlVGQlNTeGhRVUZLTEUxQlFVRkZMRVZCUVdkQ0xFOUJRMmhDTEVkQlFVbEdMRVZCUVVrc1VVRkJVeXhEUVVOaUxFbEJRVTFUTEVWQlFVdEVMRVZCUVdOU0xFVkJRVWtzVDBGQlR5eEZRVU5vUTFNc1JVRkJSeXhUUVVGVE8wRkJRVUVzUTBGQlNTeEhRVU5vUWs0c1JVRkJUU3hMUVVGTExFdEJRVXNzUlVGRGFFSkJMRVZCUVUwc1MwRkJTMDhzUjBGQlkwUXNSVUZCU1N4RlFVRkZMRU5CUVVNc1IwRkhhRU5PTEVWQlFVMHNTMEZCU3l4UFFVRlBUU3hEUVVGRkxFVkJRVVVzUTBGRk9VSXNUVUZGU1U0c1JVRkJUU3hMUVVGTExFdEJRVXNzVFVGSGJrSXNRMEZEUkN4SlFVRkpaU3hGUVVGTGJFSXNSVUZCU1N4UlFVTlVhMElzUjBGQlRWQXNTVUZEVGs4c1JVRkJTMEVzUlVGQlJ5eFJRVUZSTEU5QlFWRXNSVUZCUlN4SFFVTXhRa0VzUzBGRFN5eERRVUZEVUN4SFFVRmhReXhKUVVGdFFsUXNSVUZCVFVFc1JVRkJUU3hQUVVGVExFTkJRVU1zU1VGQlRTeEpRVU01UkVFc1JVRkJUU3hMUVVGTExFVkJRVVVzUlVGRGFrSkJMRVZCUVUwc1MwRkJTMDhzUjBGQlkwWXNSVUZCWTFVc1EwRkJSU3hGUVVGSExFVkJRVVVzUTBGQlF5eEZRVVYyUkN4RFFVTkJMRTlCUVU5bUxFVkJRVTBzUzBGQlN6dEJRVUZCTEVOQlFVa3NSVUZCU1R0QlFVRkJMRU5CUXpsQ0xFTkRkRVZCTEVsQlFVMW5RaXhIUVVGT0xFMUJRVTFETEVOQlFWTXNRMEZEV0N4WlFVRlpReXhGUVVGUFF5eEZRVUZWUXl4RlFVRlRMRU5CUld4RExFdEJRVXNzWTBGQlowSXNTMEZGY2tJc1MwRkJTeXhSUVVGVkxFdEJSV1lzUzBGQlN5eFBRVUZUTEVOQlFVTXNSVUZGWml4TFFVRkxMRk5CUVZjc1EwRkJReXhGUVVOcVFpeFBRVUZQTEdWQlFXVXNTMEZCVFVNc1IwRkJWeXhEUVVGRkxFMUJRVTlETEVWQlFVa3NRMEZCUXl4RlFVTnlSQ3hKUVVGSlF5eEZRVUZaTEV0QlExb3NUMEZCVDBvc1IwRkJZU3haUVVGakxFMUJRVTBzVVVGQlVVRXNRMEZCVVN4RlFVTjRSRWtzUlVGQldVb3NSVUZGVUVNc1NVRkJXU3hSUVVGaFJDeEpRVU01UWtNc1JVRkJWVVFzUlVGRFZrRXNSVUZCVnl4UlFVVm1MRWxCUVUxTExFVkJRVTBzVDBGQlR5eFBRVUZQTEVOQlEzUkNMRmxCUVdFc1IwRkRZaXhwUWtGQmEwSXNSMEZEYkVJc1UwRkJWU3hQUVVOV0xHRkJRV01zUjBGRFpDeFBRVUZSTEVkQlExSXNWMEZCV1N4SFFVTmFMRmRCUVZrc1IwRkRXaXhSUVVGVExFdEJRMklzUlVGQlIwb3NRMEZCVHl4RlFVTldMRXRCUVVzc1VVRkJWVWtzUlVGRFppeEhRVUZKTEVOQlFVVXNVVUZCUVVNc1EwRkJVU3hGUVVGSlJDeEZRVU5rU2l4SFFVRkJMRTFCUVVGQkxFVkJRVk1zWVVGRFZDeExRVUZMTEZkQlFXRkJMRVZCUVZFc1dVRkJXU3hYUVVGWExFVkJRemRETEV0QlFVc3NWMEZCVnl4TFFVRkxMRmRCUTNKQ1N5eEZRVUZWTEV0QlFVc3NWMEZCVnl4TFFVRkxMRlZCUjI1RExFdEJRVXNzVjBGQllTeEpRVUZKUXl4SFFVRlhMRU5CUVVVc1VVRkJRVVFzUTBGQlVTeERRVUZETEVWQlEyaEVMRXRCUVVzc1ZVRkJWVUVzUlVGQlUwd3NRMEZCVHl4RlFVVXZRaXhMUVVGTExGTkJRMFJHTEVsQlFWVXNUMEZCV1N4TFFVRlBMRXRCUVVzc1YwRkJWMEVzUlVGQlQwc3NSVUZCVjBnc1EwRkJUeXhEUVVNNVJTeERRVTFCTEU5QlFWRXNRMEZEU2l4SlFVRk5UeXhGUVVGUExFOUJRVThzVDBGQlQxWXNSVUZCVXl4VlFVRlhMRU5CUXpORExFTkJRVU5KTEVWQlFWTXNSVUZCUnl4RFFVRkZMRTFCUVU5RExFVkJRVWtzUTBGRE9VSXNRMEZCUXl4RlFVTkVMRTlCUVVGTExFVkJRVXNzWTBGQlowSXNTMEZCU3l4alFVTXhRa0VzUlVGQlN5eFJRVUZWTEV0QlFVc3NVVUZEY0VKQkxFVkJRVXNzVDBGQlV5eExRVUZMTEU5QlFVOHNUVUZCVFN4RlFVTm9RMEVzUlVGQlN5eFRRVUZYTEV0QlFVc3NVMEZCVXl4TlFVRk5MRVZCUTNCRFFTeEZRVUZMTEZGQlFWVXNUMEZCVHl4UFFVRlBMRU5CUVVNc1JVRkJSeXhMUVVGTExFOUJRVThzUlVGRGVrTXNTMEZCU3l4aFFVTk1RU3hGUVVGTExGZEJRV0VzUzBGQlN5eFhRVUZYTEUxQlFVMHNSMEZETlVOQkxFVkJRVXNzVDBGQlV5eExRVUZMTEU5QlFVOHNUVUZCVFN4RlFVVm9RMEVzUlVGQlN5eFRRVUZYUXl4RlFVRlBMRXRCUVVzc1VVRkJVU3hGUVVNNVFpeExRVUZMTEZOQlFWTXNUVUZCVFVRc1JVRkJTeXhOUVVGTkxFVkJReTlDTEV0QlFVc3NVMEZEVUN4TFFVRkxMRkZCUTB4QkxFVkJRVXNzVFVGQlVTeExRVUZMTEUxQlFVMHNUVUZCVFN4SFFVTXpRa0VzUTBGRFdDeERRVVZCTEVsQlFVbFVMRVZCUVU4c1EwRkRTRmNzUjBGQmFVSXNTMEZCU3l4UlFVRlJMRWRCUXpsQ0xFdEJRVXNzVTBGQlV5eEpRVUZKV0N4RFFVRkxMRU5CUXk5Q0xFTkJSVUVzVFVGQlRWa3NSVUZCVFZvc1JVRkJUeXhEUVVOWVZ5eEhRVUZwUWl4TFFVRkxMRkZCUVZFc1IwRkRPVUlzUzBGQlN5eFRRVUZUTEUxQlFVMURMRVZCUVUxYUxFTkJRVXNzUTBGRGRrTXNRMEZWUVN4WlFVRlpZU3hGUVVGTlF5eEZRVUZOTEVOQlEzQkNMRWRCUVVrc1EwRkJRMFFzUlVGQlN5eFBRVUZSTEVOQlEyUXNTVUZCVFVVc1JVRkJUME1zUjBGQldTeEpRVUZKTEVWQlF6ZENTQ3hGUVVGTExFOUJSVVFzUTBGQlEwTXNSMEZCVVVNc1JVRkJTeXhKUVVGSlJDeERRVUZKTEVWQlFVbEhMRWRCUVdOSUxFZEJRVkVzU1VGQlMwTXNRMEZCU1N4RlFVRkpSQ3hEUVVOeVJTeERRVU5CTEU5QlFVOHNTVUZCU1Vrc1IwRkJUVXdzUlVGQlN5eE5RVUZOTEVOQlEyaERMRU5CUTBFc1YwRkJWMklzUlVGQlQwTXNSVUZCVlVNc1JVRkJVeXhEUVVOcVF5eEpRVUZKUnl4RlFVTktMRWRCUVVrc1QwRkJUMG9zUjBGQllTeFhRVU53UWtRc1JVRkJVVU1zUlVGQlV5eExRVUZMTEVOQlFVVXNSMEZCU1VRc1EwRkJUU3hGUVVGSExFZEJRVWxCTEVOQlFVc3NSVUZET1VOTExFVkJRVmxLTEZWQlJWQXNUVUZCVFN4UlFVRlJRU3hEUVVGUkxFVkJRVWNzUTBGRE9VSXNTVUZCVFd0Q0xFVkJRVmxETEVkQlFVMHNUMEZCVDBFc1IwRkJUU3hWUVVGWlFTeGhRVUZoTEZGQlFWVkJMR0ZCUVdFc1QwRkRMMFZETEVWQlFWRndRaXhGUVVGVExFOUJRVTlyUWl4RFFVRlJMRVZCUVVVc1NVRkJTU3hOUVVGTkxFVkJRemxEUlN4RlFVRk5MRTlCUVZNc1NVRkRabkJDTEVWQlFWZEJMRVZCUVZNc1QwRkJUMjlDTEVOQlFVc3NSMEZEY0VOb1FpeEZRVUZaU2l4RFFVTm9RaXhOUVVOVFF5eEpRVUZaTEZGQlFXRkVMRWxCUXpsQ1F5eEZRVUZWUkN4RlFVTldRU3hGUVVGWExGRkJSV1lzUjBGQlRTeERRVUZGTEhOQ1FVRkJjVUlzUlVGQmRVSXNZVUZCUVVNc1JVRkJZeXhMUVVGQlF5eEZRVUZOTEdOQlFVRkRMRVZCUVdVc1UwRkJRVU1zUlVGQlZTeEpRVUZCUXl4RFFVRkpMRVZCUVVsNlFpeEhRVUZCTEV0QlFVRkJMRVZCUVZjc1EwRkJReXhGUVVNeFJpeERRVUZGTEZOQlFVRXdRaXhGUVVGVkxGZEJRVUZETEVWQlFWa3NZMEZCUVVNc1EwRkJZeXhGUVVGSlF5eEhRVUZyUWl4TFFVVnNSVklzUjBGQlowSXNSMEZCUnl4RlFVTmlVeXhGUVVGTkxFTkJRMUlzYzBKQlFYVkNWaXhIUVVGQkxFdEJRVUZCTEVWQlFYbENMRWRCUTJoRUxHTkJRV1ZITEVkQlFVRXNTMEZCUVVFc1JVRkJhVUlzUjBGRGFFTXNVMEZCUVVjc1JVRkRRU3hUUVVGQlJpeEZRVU5CTEZOQlFWVnlRaXhGUVVOV0xFOUJRVkVzUzBGQlN5eFBRVU5pTEdOQlFVRjVRaXhEUVVOS0xFVkJRMDFxUWl4RlFVRlBiMElzUjBGQlYycERMRVZCUVU4eVFpeEZRVUZMU3l4RFFVRkhMRVZCUTNaRExFOUJRVWxTTEVkQlFWRlZMRVZCUVdGeVFpeERRVUZKTEVsQlEzcENRU3hGUVVGTExFdEJRVThzU1VGRGFFSm5RaXhGUVVGWExFVkJRMHBvUWl4RFFVTllMRU5CUzBFc1YwRkJWM05DTEVWQlFVdHVReXhGUVVGUFJTeEZRVUZWTEVOQlFVTXNSVUZCUnl4RFFVTnFReXhKUVVGTmEwTXNSVUZCU1N4TFFVRkxMRmRCUVZkRUxFVkJRVXNzUzBGQlRXcERMRU5CUVU4c1JVRkRkRU5yUWl4RlFVRkpMRXRCUVVzc1YwRkJWM0JDTEVWQlFVOHNTMEZCVFVVc1EwRkJUeXhGUVVNNVF5eFBRVUZQTEVsQlFVbHRReXhIUVVGTFJDeEZRVUZIYUVJc1EwRkJReXhEUVVONFFpeERRVXRCTEU5QlFVOWxMRVZCUVVzc1EwRkRVaXhQUVVGUGVFSXNSMEZCYVVJc1MwRkJTeXhSUVVGUkxFVkJRVWtzUzBGQlN5eFRRVUZUTEU5QlFVOTNRaXhEUVVGSExFVkJRVWtzUlVGRGVrVXNRMEZMUVN4VFFVRlRka0lzUlVGQlRTeERRVU5ZTEU5QlFVa3dRaXhIUVVGWk1VSXNRMEZCU1N4RlFVTmFMRXRCUVVzc1ZVRkJXU3hMUVVOV0xFbEJSVmdzUzBGQlN5eFRRVUZYTEV0QlExUXNTVUZGU2tRc1IwRkJhVUlzUzBGQlN5eFJRVUZSTEVWQlF5OUNMRXRCUVVzc1UwRkJVeXhUUVVGVFF5eERRVUZKTEVWQlF6TkNMRVZCUTFZc1EwRk5RU3hKUVVGSmRVSXNSVUZCUzBrc1JVRkJXU3hEUVVOcVFpeFBRVUZQVEN4RlFVRmhMRXRCUVVzc1VVRkJVU3hGUVVNelFpeExRVUZMTEZOQlFWTXNTVUZCU1VNc1JVRkJTMGtzUTBGQlZTeEZRVU5xUXl4TlFVTldMRU5CVFVFc1RVRkJUVE5DTEVWQlFVMHlRaXhGUVVGWkxFTkJRM0JDTEU5QlFVbEVMRWRCUVZreFFpeERRVUZKTEVWQlExUXNRMEZCUXpKQ0xFZEJRV05ETEVWQlFWTXNTMEZCU3l4UlFVRlJMRVZCUTNSRExFdEJRVXNzVTBGQlV5eE5RVU5rTEV0QlFVc3NVMEZEVWs0c1JVRkJZU3hMUVVGTExGRkJRVkVzUlVGRE0wSXNTMEZCU3l4VFFVRlRMRTFCUVUxMFFpeEZRVUZOTWtJc1EwRkJWU3hGUVVOd1F5eE5RVU5XTEVOQlNVRXNTVUZCU1Vvc1JVRkJTeXhEUVVOTUxFOUJRVTlFTEVWQlFXRXNTMEZCU3l4UlFVRlJMRVZCUVVrc1MwRkJTeXhUUVVGVExFbEJRVWxETEVOQlFVY3NSVUZCU1N4RlFVTnNSU3hEUVVsQkxFMUJRVTEyUWl4RlFVRk5MRU5CUTFJc1QwRkJTVEJDTEVkQlFWa3hRaXhEUVVGSkxFVkJRMVFzUzBGQlN5eFhRVUZoTEU5QlEzUkNjMElzUlVGQllTeExRVUZMTEZGQlFWRXNSVUZCU1N4TFFVRkxMRk5CUVZNc1RVRkJUWFJDTEVOQlFVa3NSVUZCU1N4RlFVTnlSU3hEUVV0QkxFbEJRVWwxUWl4RlFVRkxia01zUlVGQlR5eERRVU5TTEV0QlFVc3NWVUZCV1N4TFFVVnFRaXhMUVVGTExGTkJRVmQ1UXl4SFFVRnRRaXhMUVVGTExFOUJRVkVzUTBGQlEwNHNRMEZCUnl4RlFVRkhia01zUTBGQlN5eEZRVVYyUkZjc1IwRkJhVUlzUzBGQlN5eFJRVUZSTEVkQlEyNURMRXRCUVVzc1UwRkJVeXhKUVVGSmQwSXNSVUZCUzI1RExFTkJRVXNzUTBGRmNFTXNRMEZMUVN4TlFVRk5XU3hGUVVGTldpeEZRVUZQTEVOQlExaHpReXhIUVVGWk1VSXNRMEZCU1N4RlFVVm9RaXhMUVVGTExGTkJRVmRhTEVWQlJWZ3NTMEZCU3l4VlFVRlpMRXRCUlhSQ0xFdEJRVXNzVTBGQlYzbERMRWRCUVcxQ0xFdEJRVXNzVDBGQlVTeE5RVUZOTEV0QlFVczNRaXhEUVVGSkxFVkJRVWRhTEVOQlFVc3NSVUZGYkVWWExFZEJRV2xDTEV0QlFVc3NVVUZCVVN4SFFVTnVReXhMUVVGTExGTkJRVk1zVFVGQlRVTXNSVUZCVFZvc1EwRkJTeXhEUVVWMlF5eERRVkZCTEZWQlFWVlBMRVZCUVZOTUxFVkJRVlVzUTBGQlF5eEZRVUZITEVOQlEzcENMRTlCUVU5TExFZEJRVmtzVjBGRGJrSkJMRVZCUVZVc1QwRkJUMEVzUTBGQlR5eEhRVU0xUWl4SlFVRkpSQ3hGUVVOS0xFOUJRVkZETEVWQlFWTXNRMEZEWWl4SlFVRkxMRTFCUTBjc1MwRkJTeXhYUVVOTUxFdEJRVXNzVjBGQlZ5eExRVUZMTEZGQlFWVXNUVUZGTDBJc1MwRkJTeXhYUVVGaExFbEJRVWxETEVkQlFWY3NRMEZCUlN4UlFVRlRMRXRCUVUwc1EwRkJReXhGUVVOMlJFWXNSVUZCVFN4RFFVRkZMR2xDUVVGclFpeEhRVUZQTEU5QlFWRXNWVUZCVnl4RlFVTndSQ3hOUVVOS0xFbEJRVXNzVFVGRFRDeEpRVUZMTEU5QlEwY3NTMEZCU3l4WFFVTk1MRXRCUVVzc1YwRkJWeXhMUVVGTExGRkJRVlZETEVWQlJTOUNMRXRCUVVzc1YwRkJZU3hKUVVGSlF5eEhRVUZYTEVOQlFVVXNVVUZCUVVRc1EwRkJVU3hEUVVGRExFVkJRMmhFUkN4RlFVRk5MRU5CUVVVc2FVSkJRV3RDTEVkQlFVMHNUMEZCVVN4TlFVRlBMRVZCUXk5RExFMUJRMG9zUzBGQlN5eExRVU5ITEV0QlFVc3NXVUZEVEN4UFFVRlBMRXRCUVVzc1YwRkRhRUpCTEVWQlFVMHNTMEZEVGl4TlFVTktMRkZCUVZNc1EwRkRUQ3hKUVVGTmIwTXNSVUZCU3l4TFFVRkxMRlZCUVZWdVF5eERRVUZQTEVWQlEycERMRTFCUVUwc1NVRkJTU3hOUVVGTkxDdEVRVUVyUkcxRExFTkJRVVVzUlVGQlJTeERRVU4yUml4RFFVTktMRU5CUlVFc1IwRkJTWGhETEVWQlFWRXNhMEpCUVd0Q0xFOUJRekZDTEV0QlFVc3NUMEZCVTBFc1JVRkJVU3hsUVVOcVFra3NSVUZEVEN4TFFVRkxMRTlCUVZNc1NVRkJTWEZETEVkQlFVOHNUMEZCVHl4UFFVRlBja01zUlVGQlMwb3NRMEZCVHl4RFFVRkRMRTFCUlhCRUxFOUJRVTBzU1VGQlNTeE5RVUZOTEhGRlFVRnhSU3hEUVVNM1JpeERRVVZCTEV0QlFVc3NRMEZCUlN4TFFVRkJNRU1zUlVGQlRTeFJRVUZCUXl4RlFVRlRMRk5CUVVGRExFVkJRVlVzWTBGQlFVTXNSVUZCWlN4VFFVRkJia0lzUlVGQlZTeFJRVUZCYjBJc1EwRkJVU3hGUVVGSkxFTkJRVU1zUlVGQlJ5eERRVU55UlN4SlFVRk5hRUlzUlVGQlRTeERRVU5TTEZGQlFWTXNTVUZCU1N4SlFVTmlMRWxCUVVzc1MwRkRUQ3hMUVVGTkxFTkJRVU5aTEVWQlExQXNVMEZCVlVVc1NVRkJZU3hIUVVOMlFpeGhRVUZqTEVkQlEyUXNZMEZCWlN4UFFVRlBReXhIUVVGclFpeFRRVUZYUVN4RlFVRm5RaXhIUVVOMlJTeEZRVU5OUlN4RlFVRk5ReXhIUVVGTExFdEJRVXNzVTBGQlZVd3NSMEZCUVN4TFFVRkJRU3hGUVVGWExFZEJRVWxpTEVOQlFVY3NSVUZEYkVRc1IwRkJTU3hQUVVGUFNpeEhRVUZoTEZkQlEzQkNMRTlCUVZjc1EwRkJSU3hOUVVGQmRVSXNSVUZCVHl4SlFVRkJSaXhEUVVGSkxFbEJRVXRxUWl4RlFVRkpMRkZCUVZFc1QwRkJUeXhGUVVNMVEwb3NSVUZCVTNGQ0xFVkJRVXRGTEVOQlFVc3NSVUZETTBJc1QwRkJUeXhQUVVGUFNDeEhRVUZaTEZkQlEzQkNTU3hIUVVGaFNpeEZRVUZUTEVOQlFVVXNSMEZCU1VNc1EwRkJTU3hGUVVGSExFZEJRVWxCTEVOQlFVY3NSVUZETVVOQkxFTkJRMVlzUTBGUFFTeFBRVUZQU2l4RlFVRlRha0lzUlVGQlZTeERRVU4wUWl4UFFVRlBMRXRCUVVzc1MwRkJTeXhEUVVGRkxFdEJRVTBzUjBGQlRTeFJRVUZCYVVJc1JVRkJVeXhUUVVGVkxFZEJRVThzVTBGQlFXcENMRU5CUVZNc1EwRkJReXhEUVVOMlJTeERRVVZCTEZOQlFWTXhRaXhGUVVGVkxFTkJRVU1zUlVGQlJ5eERRVU51UWl4SFFVRkpMRXRCUVVzc1QwRkJUeXhQUVVGVExFVkJRM0pDTEUxQlFVMHNTVUZCU1N4TlFVRk5MRFJEUVVFMFF5eEZRVU5vUlN4SFFVRkpMRmRCUVZsQkxFbEJRMWdzUTBGQlF5eFBRVUZQTEZWQlFWVkJMRVZCUVZFc1RVRkJUU3hIUVVGTExFOUJRVTlCTEVWQlFWRXNUVUZCVFN4SFFVRkxMRWRCUVVrc1EwRkRjRVVzU1VGQlRXMUVMRVZCUVVrc1MwRkJTeXhWUVVGVmJrUXNSVUZCVVN4TlFVRk5MRVZCUTNaRExFMUJRVTBzU1VGQlNTeE5RVUZOTEcxRVFVRnRSRzFFTEVOQlFVTXNSVUZCUlN4RFFVTXhSU3hEUVVOQkxFOUJRVTlETEVkQlFXdENMRXRCUVUxd1JDeERRVUZQTEVOQlF6RkRMRU5CUTBvc1JVRkRRU3hUUVVGVFV5eEhRVUZwUWpSRExFVkJRVlVzUTBGRGFFTXNSMEZCU1hKQ0xFVkJRV0Z4UWl4RFFVRlJMRVZCUTNKQ0xFMUJRVThzUjBGRFdDeE5RVUZOTEVsQlFVa3NUVUZCVFN4cFJFRkJhVVFzUTBGRGNrVXNRME0xVlVFc1NVRkJUVU1zUjBGQlRpeGpRVUYzUWl4TFFVRk5MRU5CUXpGQ0xGbEJRVmxETEVWQlFVMURMRVZCUVV0RExFVkJRVTFETEVWQlFWTXNRMEZEYkVNc1RVRkJUU3hGUVVOT0xFdEJRVXNzUzBGQlQwZ3NSVUZEV2l4TFFVRkxMRXRCUVU5RkxFVkJRMW9zUzBGQlN5eFJRVUZWUXl4RlFVTm1MRXRCUVVzc1NVRkJUVVlzUTBGRFppeERRVU5LTEVWQlEwMUhMRWRCUVU0c1kwRkJOa0pNTEVWQlFWVXNRMEZEYmtNc1dVRkJXVVVzUlVGQlMwTXNSVUZCVFVNc1JVRkJVeXhEUVVNMVFpeE5RVUZOTEdsQ1FVRnJRa1lzUlVGQlMwTXNSVUZCVFVNc1EwRkJUeXhEUVVNNVF5eERRVU5LTEVWQlEwMUZMRWRCUVU0c1kwRkJNRUpPTEVWQlFWVXNRMEZEYUVNc1dVRkJXVVVzUlVGQlMwTXNSVUZCVFVNc1JVRkJVeXhEUVVNMVFpeE5RVUZOTEdOQlFXVkdMRVZCUVV0RExFVkJRVTFETEVOQlFVOHNRMEZETTBNc1EwRkRTaXhGUVVOTlJ5eEhRVUZuUWl4RFFVRkRReXhGUVVGTFF5eEpRVUZSUXl4SFFVRlZMRU5CUXpGRExFZEJRVWxCTEVWQlFVMHNTVUZCU1N4RFFVRkRMRWxCUVUwc1IwRkRha0lzVDBGRFNrRXNSVUZCVFN4UlFVRlZRU3hGUVVGTkxFbEJRVWtzU1VGQlNWSXNSMEZCVDA4c1JVRkJSeXhSUVVGUlVDeERRVUZITEVOQlFVTXNSVUZEY0VRc1IwRkJUU3hEUVVGRkxFdEJRVUZUTEVWQlFVMHNTVUZCUVVNc1EwRkJTU3hGUVVGSlJpeEZRVUZOTEZGQlFWRXNRMEZCUXl4RlFVTnlRMEVzUlVGQlRTeFRRVUZYTEZsQlFWbERMRU5CUVVrc1dVRkJXVU1zUTBGQlJ5eEhRVU5vUkN4SlFVRkpReXhGUVVGTFJDeEZRVUZOTEVWQlExaEZMRVZCUVZWT0xFVkJRMVFzVlVGQlZVTXNSVUZCUnl4WFFVRlhSU3hGUVVGUExFTkJRVU1zUlVGQlIwWXNSVUZCUnl4WFFVRlhSU3hEUVVGSkxFTkJRVU1zUlVGRGRFUXNVVUZCVVN4WFFVRlpMRVZCUVVVc1JVRkZNMElzUjBGQlNVVXNSMEZCVFN4SlFVRk5ReXhGUVVGUkxFOUJRVk1zUjBGQlNTeERRVU5xUXl4SlFVRk5ReXhGUVVGWkxFdEJRVXNzU1VGQlNVWXNSVUZCU3l4SFFVRkpReXhGUVVGUkxFOUJRVk1zUlVGQlJTeEZRVU4yUkVFc1JVRkJWU3hUUVVGTlFTeEZRVUZSTEZWQlFWVkRMRU5CUVZNc1JVRkRNME5HTEVkQlFVMUZMRVZCUVZrc1EwRkRkRUlzUTBGSlFTeEhRVWhKUkN4RlFVRlJMRTlCUVZNc1MwRkRha0pCTEVWQlFWVkJMRVZCUVZFc1ZVRkJWU3hGUVVGSExFVkJRVVVzUlVGQlNTeFZRVVZ5UTBnc1JVRkJUeXhIUVVGTExFOUJRVThzUzBGQlMwY3NSVUZCVVN4VlFVRlZMRVZCUVVkRUxFTkJRVVVzUTBGQlF5eEZRVUZITEVOQlJXNUVMRWxCUVVsSExFVkJRVTlTTEVWQlFVa3NWVUZCVlVNc1JVRkJSeXhYUVVGWFJTeEZRVUZQTEVOQlFVTXNSVUZCUjBZc1JVRkJSeXhYUVVGWFJTeEZRVUZQTEVOQlFVTXNRMEZCUXl4RlFVTnlSVXNzUlVGQlN5eFBRVUZUTEV0QlEyUkJMRVZCUVU5QkxFVkJRVXNzVlVGQlZTeEZRVUZITEVWQlFVVXNSVUZCU1R0QlFVRkJMRWRCUTI1RFJpeEZRVUZWUlN4RlFVRlBSaXhEUVVOeVFpeERRVU5CTEVkQlFVa3NUMEZCVHl4TFFVRkxRU3hEUVVGUExFVkJRVWNzUTBGRGRFSXNTVUZCU1Vjc1JVRkJVU3hGUVVOT1F5eEZRVUZOVWl4RlFVRk5MRkZCUVZFc1EwRkJReXhGUVVOMlFsRXNSMEZCVDBFc1JVRkJTU3hQUVVGVFVDeEhRVUZSVHl4RlFVRkpMRWxCUVUxT0xFbEJRM1JEU3l4RlFVRlJMRXRCUVVzc1NVRkJTU3hGUVVGSExFdEJRVXNzU1VGQlNVTXNSVUZCU1N4SlFVRk5UaXhGUVVGTExFZEJRVXRETEVOQlFVVXNRMEZCUXl4SFFVVjRSQ3hKUVVGTlRTeEZRVUZWTEVsQlFVa3NUMEZCVDA0c1EwRkJSU3hGUVVGSkxFbEJRVWtzVDBGQlQwa3NRMEZCU3l4RlFVTnFSRkFzUlVGQlRTeFRRVUZYTzBGQlFVRTdRVUZCUVN4RlFVRlJTU3hEUVVGUE8wRkJRVUVzUlVGQlMwc3NRMEZCVHp0QlFVRkJMRU5CUTJoRUxFTkJRMG9zUlVOMFJFRXNVMEZCVTBNc1IwRkJZVU1zUlVGQlVTeERRVUZGTEV0QlFVRkRMRVZCUVUwc1ZVRkJRVU1zUlVGQlZ5eExRVUZCUXl4RlFVRk5MRTlCUVVGRExFVkJRVkVzVVVGQlFVTXNSVUZCVXl4aFFVRkJReXhGUVVGakxHVkJRVUZETEVOQlFXVXNSVUZCUnl4RFFVTndSeXhKUVVGSlF5eEZRVUZqTEVkQlEyUkRMRVZCUVZsR0xFVkJRMXBITEVWQlFWZElMRVZCUTFoSkxFVkJRVlVzUjBGRFZrTXNSVUZCWVN4SFFVTmlReXhGUVVGaExFZEJRMkpETEVWQlFWY3NSMEZEV0VNc1JVRkJUU3hMUVVOT1F5eEZRVUZUTEV0QlExUkRMRVZCUVUwc1MwRkRUa01zUlVGQmJVSXNTMEZEYmtKRExFVkJRVkVzUzBGRFVrTXNSVUZCVVN4TFFVTlNReXhGUVVGUkxFdEJRMW9zVVVGQlYwTXNTMEZCVTNSQ0xFVkJZMmhDTEU5QllrbGpMRWxCUTBsUkxFVkJRVTBzVDBGQlV5eFRRVU5tUVN4RlFVRk5MRTlCUVZNc1YwRkRaa0VzUlVGQlRTeFBRVUZUTEZOQlEyWnFRaXhGUVVGUmFVSXNSVUZCVFN4UFFVRlJMR1ZCUVdkQ0xIVkZRVUYxUlN4RlFVTnFTRklzUlVGQlZ5eEpRVVZZUXl4SlFVTkpUaXhIUVVGaFlTeEZRVUZOTEU5QlFWTXNWMEZCWVVFc1JVRkJUU3hQUVVGVExGZEJRM2hFYWtJc1JVRkJVVlVzUlVGQlN5eG5Ra0ZCYVVJc2NVTkJRWEZETEVWQlJYWkZRU3hGUVVGTkxFMUJSVVpQTEVWQlFVMHNTMEZCVFN4RFFVTm9RaXhKUVVGTExGRkJTVWNzUTBGQlEzSkNMRWxCUTBGRExFbEJRV01zWTBGQlpVTXNSMEZCUVN4WlFVRkJRU3hGUVVGTkxGRkJRVk1zYjBKQlF6ZERiVUlzUlVGQlRTeFBRVUZQTEZOQlFWTXNSMEZCU1N4SlFVTXhRbEFzUlVGQlRVOHNSMEZGVmxvc1JVRkJWeXhIUVVOWUxFMUJRMG9zU1VGQlN5eFZRVUZYTEVOQlExQkJMRWRCUTBSTUxFVkJRVkZwUWl4RlFVRlBMR1ZCUVdkQ0xIZEZRVUYzUlN4RlFVTXpSeXhKUVVGTlF5eEZRVUZMUkN4RlFVRk5MRTlCUVU4c1ZVRkJWU3hEUVVGRExFZEJRVXNzU1VGRGJrTllMRVZCUjBSQkxFZEJRVmRETEVWQlFXRlhMRVZCUm5oQ1dpeEZRVUZWV1N4RlFVZGtXQ3hGUVVGaExFZEJRMkpJTEVWQlFWa3NSMEZEV2l4TFFVTktMRU5CUTBFc1NVRkJTeXhWUVVOSFFTeEZRVU5KUlN4RlFVTkJRU3hIUVVGWFZ5eEZRVUZOTEU5QlJXcENaQ3hGUVVGakxFZEJSMnhDU1N4SFFVRmpWU3hGUVVGTkxFOUJRM2hDWWl4RlFVRlpMRWRCUTFwSkxFVkJRV0VzU1VGRFZFY3NSMEZCVlVNc1MwRkRWa01zUlVGQmJVSkpMRWRCUTNaQ1dpeEZRVUZYTEVkQlExZ3NUVUZEU2l4SlFVRkxMRk5CUTBkTkxFZEJRMEZZTEVWQlFWRnBRaXhGUVVGUExHMUNRVUZ2UWl4dlEwRkJiME1zUlVGRGRrVkJMRVZCUVUwc1QwRkJUeXhUUVVGVExFZEJRVWNzUjBGRGVrSnFRaXhGUVVGUmFVSXNSVUZCVFN4UFFVRlRRU3hGUVVGTkxFOUJRVThzVDBGQlV5eEZRVUZITEZsQlFXRXNhME5CUVcxRExFVkJRVWtzUlVGRGVFZE9MRVZCUVZOTkxFVkJRMHhFTEVsQlFWVXNUMEZEVmtFc1JVRkJVVU1zUlVGQlRTeFJRVU5zUW1Jc1JVRkJXU3hIUVVOYVF5eEZRVUZYTEVkQlExaEpMRVZCUVZjc1IwRkRXQ3hOUVVOS0xFbEJRVXNzVFVGQlR5eERRVU5LUnl4SFFVTkJXaXhGUVVGUmFVSXNSVUZCVHl4blFrRkJhVUlzYVVOQlFXbERMRVZCUTNKRlRDeEZRVUZOU3l4RlFVTkdSQ3hKUVVGVkxFOUJRMVpCTEVWQlFWRkRMRVZCUVUwc1VVRkRiRUppTEVWQlFWa3NSMEZEV2tNc1JVRkJWeXhIUVVOWVNTeEZRVUZYTEVkQlExZ3NTMEZEU2l4RFFVTkJMRXRCUVV0YUxFZEJSVWRqTEVkQlFWVkRMRWxCUTFaYUxFVkJRVkZwUWl4RlFVRlBMR2xDUVVGclFpeHpRMEZCYzBOQkxFVkJRVTBzVFVGQlRTeFpRVUZaTEVWQlF5OUdSaXhIUVVOQlppeEZRVUZSYVVJc1JVRkJUeXh0UWtGQmIwSXNZMEZCWTBFc1JVRkJUU3hOUVVGTkxFOUJRVTl5UWl4SFFVRkJMRXRCUVVGQkxFVkJRVkVzV1VGQldTeEZRVUZGTEVWQlF6bEdiVUlzUlVGQlVVVXNSVUZEVW1Jc1JVRkRTVkFzU1VGQll5eG5Ra0ZCYTBKQkxFbEJRV01zYlVKQlEyeEVVU3hGUVVGWExFZEJRMWdzVFVGRFNpeEpRVUZMTEZGQlEwUXNSMEZCU1ZRc1JVRkJUU3hEUVVOR2EwSXNSMEZEUVdRc1JVRkJVV2xDTEVWQlFVOHNiVUpCUVc5Q0xHMUNRVUZ0UW5KQ0xFTkJRVWtzUlVGQlJTeEZRVU5vUld0Q0xFVkJRVkZITEVWQlExSmlMRVZCUVZrc1IwRkRXa01zUlVGQlZ5eEhRVU5ZTEV0QlEwb3NRMEZGU2l4UlFVTkpUQ3hGUVVGUmFVSXNSVUZCVHl4dFFrRkJiMElzWTBGQlkwRXNSVUZCVFN4SlFVRkpMRkZCUVZFc1JVRkRia1ZpTEVWQlFWa3NSMEZEV2tNc1JVRkJWeXhGUVVOdVFpeERRVVZLTEVsQlFVMWpMRVZCUVU5NFFpeEZRVUZQUVN4RlFVRlBMRTlCUVZNc1EwRkJReXhGUVVNdlFubENMRVZCUVUxRUxFVkJRVTlCTEVWQlFVc3NUMEZCVTBFc1JVRkJTeXhQUVVGUExFOUJRVk53UWl4RlFVTjBSQ3hQUVVGSlZTeEhRVU5CV0N4SFFVTkJRU3hGUVVGTExFOUJRVk1zVTBGRFpFRXNSVUZCU3l4UFFVRlRMRmRCUTJSQkxFVkJRVXNzVDBGQlV5eFZRVU5pUVN4RlFVRkxMRTlCUVZNc1ZVRkJXVUVzUlVGQlN5eFRRVUZYTEV0QlF6TkRSU3hGUVVGUlJpeEZRVUZMTEU5QlFWRXNaVUZCWjBJc2RVVkJRWFZGTEVWQlJUVkhXU3hKUVVORlRpeEhRVUZoVFN4RlFVRkpMRkZCUVZWVUxFbEJRM3BDU0N4SFFVRkJMRmxCUVVGQkxFVkJRVTBzVVVGQlV5eGpRVU5tUVN4SFFVRkJMRmxCUVVGQkxFVkJRVTBzVVVGQlV5eGpRVU51UWtVc1JVRkJVVlVzUlVGQlN5eG5Ra0ZCYVVJc2NVTkJRWEZETEVWQlEyaEZMRU5CUTBnc1RVRkJRVWtzUlVGRFFTeE5RVUZCUXl4RlFVTkJMRmxCUVVGYUxFVkJRMEVzVVVGQlFVY3NSVUZEUVN4WFFVRkJSU3hGUVVOQkxFOUJRVUZITEVWQlEwRXNTVUZCUVVNc1JVRkRRU3hwUWtGQlFVTXNSVUZEUVN4SlFVRkJUeXhGUVVOQkxFMUJRVTlLTEVkQlFVRXNTMEZCUVVFc1JVRkJVMGtzUTBGRGNFSXNRMEZEU2l4RFEycEtRU3hUUVVGVFF5eEhRVUZuUWtNc1JVRkJTeXhEUVVNeFFpeEhRVUZKTEVOQlFVTkJMRVZCUTBRc1QwRkJUeXhMUVVOWUxFOUJRVkZCTEVWQlFVa3NTMEZCVFN4RFFVTmtMRWxCUVVzc1VVRkRUQ3hKUVVGTExGTkJRMHdzU1VGQlN5eDFRa0ZEVEN4SlFVRkxMSFZDUVVORUxFZEJRVWxCTEVWQlFVa3NUMEZCVHl4VFFVRlRPMEZCUVVFc1EwRkJTU3hGUVVONFFpeE5RVUZQTEVkQlExZ3NSMEZCU1VFc1JVRkJTU3hMUVVOS0xGRkJRVmRETEV0QlFVMUVMRVZCUVVrc1NVRkRha0lzUjBGQlNVTXNSVUZCUnl4UFFVRlRMRlZCUTFvc1RVRkJUeXhIUVVOdVFpeE5RVUZQTEVkQlExZ3NTVUZCU3l4clFrRkRSQ3hSUVVGWFF5eExRVUZOUml4RlFVRkpMRTFCUVU4c1EwRkRlRUlzVVVGQlYwTXNTMEZCVFVNc1JVRkJSeXhOUVVOb1FpeEhRVUZKUkN4RlFVRkhMRTlCUVZNc1ZVRkRXaXhOUVVGUExFZEJRMllzUjBGQlNVTXNSVUZCUnl4TFFVTklMRkZCUVZkRUxFdEJRVTFETEVWQlFVY3NTVUZEYUVJc1IwRkJTVVFzUlVGQlJ5eFBRVUZUTEZWQlExb3NUVUZCVHl4SFFVTnVRaXhIUVVGSlJpeEhRVUZuUWtjc1JVRkJSeXhIUVVGSExFZEJRVXRJTEVkQlFXZENSeXhGUVVGSExFdEJRVXNzUlVGRGJrUXNUVUZCVHl4RlFVTm1MRU5CUTBFc1RVRkJUeXhIUVVOWUxGRkJRMGtzVFVGQlR5eEZRVU5tTEVOQlEwb3NRME0zUWtFc1UwRkJVME1zUjBGQlowSkRMRVZCUVZGRExFVkJRVWxETEVWQlFWTXNRMEZETVVNc1NVRkJTVVFzUjBGQlFTeFpRVUZCUVN4RlFVRkpMRkZCUVZNc2EwSkJRVzFDTEVOQlEyaERMRWxCUVUxRkxFVkJRVTFHTEVWQlFVY3NTVUZCU1N4RFFVRkRMRVZCUTJoQ1JTeEZRVUZKTEZOQlFWZElMRWxCUTJSSExFVkJRVWtzVTBGQlZ5eExRVUZQUVN4RlFVRkpMRk5CUVZjc1RVRkRkRU5ETEVkQlFXZENTQ3hEUVVGRkxFZEJSV3hDUXl4RlFVRlJReXhGUVVGTExHRkJSRVFzZVVSQlEyOUNMRVZCUVVrc1EwRkZOVU1zUTBGRFNpeERRMVpCTEZOQlFWTkZMRWRCUVZsRExFVkJRVXRETEVWQlFVOURMRVZCUVZFc1EwRkRja01zUjBGQlRTeERRVUZGTEZkQlFVRkRMRU5CUVZjc1JVRkJTVWdzUlVGQlNTeFJRVU16UWl4SFFVRkpSeXhKUVVGbExFZEJRMllzVFVGQlR5eEhRVU5ZTEVsQlFVMURMRVZCUVZVc1QwRkJUMFFzUjBGQlpTeFhRVU5vUTBFc1JVRkRRU3hEUVVGRFJTeEZRVUZIUXl4SlFVRk5SQ3hKUVVGTlF5eEhRVUZOUXl4RlFVRlRSaXhEUVVGRExFZEJRVXRGTEVWQlFWTkVMRU5CUVVNc1IwRkJTMFFzUlVGQlJTeFJRVUZWUXl4RlFVRkZMRTFCUTNoRkxFOUJRVTlNTEVWQlFVMHNTMEZCUzA4c1IwRkJVVW9zUlVGQlVVa3NSVUZCU3l4SlFVRkxUaXhEUVVGTkxFTkJRVU1zUTBGRGRrUXNRME5JUVN4SlFVRk5UeXhIUVVGakxHdEVRVU53UWl4VFFVRlRReXhIUVVGblFpeERRVUZGTEZsQlFVRkRMRVZCUVdFc2FVSkJRVUZETEVOQlFXbENMRVZCUVVkRExFVkJRVXRETEVWQlFVbERMRVZCUVZORExFVkJRVXNzUTBGU2JrWXNTVUZCUVVNc1JVRkJRVU1zUlVGVFNTeEpRVUZOUXl4SFFVRlpSaXhGUVVGQlJDeEhRVUZCTEZsQlFVRkJMRVZCUVVzc1dVRkJUQ3hMUVVGQlF5eEZRVUZyUWtjc1IwRkRPVUpETEVWQlFVMHNTVUZCU1VZc1JVRkJWVTRzUlVGQlNTeE5RVUZOTEVWQlEyaERRU3hGUVVGSkxGTkJRMHBCTEVWQlFVa3NUMEZCVXl4SlFVTnFRaXhKUVVGSlV5eEZRVUZUVWl4RlFVRkhMRTlCUTFwVExFVkJRV0VzUzBGRGFrSXNVVUZCVjBNc1MwRkJXVllzUlVGQlJ5eE5RVUZQTEVOQlF6ZENMRWRCUVUwc1EwRkJSU3hOUVVGQlZ5eEZRVUZQTEVsQlFVRkRMRVZCUVVzc1NVRkJRVU1zUlVGQlN5eE5RVUZCUXl4RFFVRk5MRVZCUVVsS0xFVkJSVGRDU3l4RlFVRlhReXhIUVVGaFRDeEZRVUZQTEVOQlEycERMRlZCUVZjc2JVSkJRMWdzUzBGQlRVTXNSMEZCUVN4TFFVRkJRU3hGUVVGUFF5eEhRVUZCTEZsQlFVRkJMRVZCUVUwc1IwRkRia0lzVDBGQlFVd3NSVUZEUVN4UlFVRkJVQ3hGUVVOQkxHRkJRV05FTEVWQlFVY3NUMEZEYWtJc1pVRkJaMElzUlVGRGNFSXNRMEZCUXl4RlFVTkxhVUlzUlVGQll5eERRVUZEUml4RlFVRlRMRTFCUXpsQ0xFZEJRVWxGTEVWQlFXRXNRMEZQWWl4SFFVNUpUQ3hKUVVOSlFTeEZRVUZKTEU5QlFWTXNXVUZEWWxnc1JVRkJVVThzUlVGQlVTeDNRa0ZCZVVJc2VVUkJRWGxFTEVWQlF6ZEdMRmRCUVZsSkxFZEJRVTlCTEVWQlFVa3NVMEZCVjFvc1JVRkJSeXhSUVVNeFEwTXNSVUZCVVU4c1JVRkJVU3hoUVVGallpeEZRVUZYTEVkQlJUZERMRU5CUVVOdlFpeEZRVUZUTEZGQlFWVXNRMEZCUTBFc1JVRkJVeXhMUVVGUExFTkJRVU5HTEVWQlFVc3NRMEZETTBOS0xFVkJRV0ZOTEVWQlFWTXNTVUZEYkVKQkxFVkJRVk1zVlVGRFRGSXNSVUZCU1N4UlFVTktRU3hGUVVGSkxGTkJRVmM3UVVGQlFTeEZRVUZQVVN4RlFVRlRMRkZCUlM5Q1VpeEZRVUZKTEZGQlFWVlJMRVZCUVZNc1UwRkZMMElzVVVGRFNpeEZRVU5KUVN4RlFVRlRMR3RDUVVGdlFrY3NSMEZCWjBKT0xFTkJRVWNzU1VGRGFFUllMRVZCUVZGWExFZEJRVUVzUzBGQlFVRXNSVUZCVDBRc1JVRkJUVUVzUlVGQlRTeFBRVUZUTEVOQlFVTXNSVUZCUnl4NVFrRkJNRUlzTWtOQlFUSkRMRU5CUlhKSUxFOUJRMU5RTEVWQlFVRlhMRVZCUVZNc1VVRkJWQ3haUVVGQldDeEZRVUZuUWl4VlFVRlhTaXhGUVVGSExGRkJRMjVEUXl4RlFVRlJUeXhGUVVGUkxHRkJRV05pTEVWQlFWY3NSVUZITjBOSkxFVkJRVWtzVFVGQlVTeEhRVU5hTEVsQlFVMXZRaXhGUVVGWFNpeEZRVUZUTEVsQlEzQkNTeXhGUVVGVlVpeEZRVU5XWml4RlFVRlpSU3hGUVVGTFlTeEZRVUZMUnl4RlFVRlZaQ3hEUVVGUExFVkJRM1pEU0N4RlFVRnBRa01zUlVGQlMyOUNMRVZCUVZWU0xFVkJRVThzUzBGQlRVa3NSVUZCVldRc1EwRkJUeXhGUVVOb1JVWXNSVUZCU1N4UFFVRlBMRkZCUTFoelFpeEhRVUZuUW5KQ0xFVkJRVWNzVDBGQlVWa3NSVUZCUzFnc1EwRkJUeXhGUVVNelEwWXNSVUZCU1N4TlFVRlJMRWRCUTFKMVFpeEhRVUZaZGtJc1JVRkJTMUVzUlVGQlNTeE5RVUZQWVN4RFFVRlBMRWRCUTI1RGJrSXNSVUZCVVd0Q0xFVkJRVlVzWjBKQlFXbENMSGxDUVVGNVFpeEZRVVZvUlN4SlFVRk5TU3hGUVVGaFVDeEhRVUZoU0N4SFFVRkJMRXRCUVVGQkxFVkJRVThzUTBGQlF5eEZRVUZITEVOQlEzWkRMRlZCUVZjc1owSkJRMWdzUzBGQlRVTXNSVUZEVGl4UFFVRlJUU3hGUVVGUkxFMUJRVTBzUTBGQlF5eEZRVU4yUWl4UlFVRkJia0lzUlVGRFFTeGhRVUZqUkN4RlFVRkhMRTlCUTJwQ0xHVkJRV2RDTEVOQlFVTlpMRWRCUVU5QkxFVkJRVWtzVDBGQlV5eGpRVU42UXl4RFFVRkRMRVZCUlVRc1IwRkVRVW9zUlVGQlUyVXNSVUZCVnl4SlFVTm9Ra0VzUlVGQlZ5eE5RVUZQTEVOQlEyUk9MRXRCUTBsSUxFZEJRVUVzV1VGQlFVRXNSVUZCVHl4UlFVRlRMR0ZCUVdVc1EwRkJRMU1zUlVGQlZ5eFpRVU16UTNSQ0xFVkJRVkZQTEVWQlFWRXNkMEpCUVhsQ0xIRkVRVUZ4UkN4RlFVTTVSbFFzUlVGQlNTeFJRVUZSTEZGQlExcG5RaXhGUVVGVExFMUJRVkZSTEVWQlFWY3NUVUZCVFN4UFFVRlRMRTFCUXpORGRFSXNSVUZCVVcxQ0xFVkJRVkVzVFVGQlR5eHpRa0ZCZFVJc05rWkJRVFpHTEVkQlIyNUtMRWxCUVUxSkxFVkJRVmxXTEVWQlExcHFRaXhGUVVGWlJTeEZRVUZMWlN4RlFVRlBVeXhGUVVGWmRFSXNRMEZCVHl4RlFVTXpRMGdzUlVGQmFVSkRMRVZCUVV0VExFVkJRVkZMTEVWQlFVc3NTMEZCVFZVc1JVRkJXWFJDTEVOQlFVOHNSVUZET1VSR0xFVkJRVWtzVDBGQlR5eFJRVU5ZYzBJc1IwRkJaMEp5UWl4RlFVRkhMRTlCUVZGakxFVkJRVTlpTEVOQlFVOHNSVUZETjBOUExFVkJRVk5uUWl4RlFVRlZMRTFCUVUwc1EwRkJReXhGUVVNeFFpeEpRVUZOUXl4RlFVRlBMRWxCUVVsRExFZEJRVXRPTEVWQlFWTkpMRU5CUVZNc1JVRkRjRU42UWl4RlFVRkpMRkZCUVZFc2JVSkJRMW93UWl4RlFVRkxMRk5CUVZkbUxFZEJRM0JDU0N4RlFVRkpMRTFCUVUwc1MwRkJTMnRDTEVOQlFVa3NRMEZEZGtJc1MwRkRTeXhEUVVWSFVpeEhRVU5CYUVJc1JVRkJVVzFDTEVWQlFWRXNUVUZCVHl4bFFVRm5RaXh4UkVGQmNVUXNSVUZETlVaSExFVkJRVmNzVlVGRFVFZ3NSVUZCVVN4UlFVTlNRU3hGUVVGUkxGTkJRVmM3UVVGQlFTeEZRVUZQUnl4RlFVRlhMRkZCUlhKRFNDeEZRVUZSTEZGQlFWVkhMRVZCUVZjc1UwRkZja01zU1VGQlRVVXNSVUZCVHl4SlFVRkpReXhIUVVGTFRpeERRVUZQTEVWQlEzcENja0lzUlVGQlNTeFJRVUZSTEcxQ1FVTmFNRUlzUlVGQlN5eFRRVUZYWml4SFFVTndRa2dzUlVGQlNTeE5RVUZOTEV0QlFVdHJRaXhEUVVGSkxFTkJRM1pDTEVOQlEwb3NRMEZEUVN4UFFVRkphRUlzUjBGQlkwRXNSVUZCWVVRc1IwRkRNMEpRTEVWQlFWRlJMRVZCUVZrc1lVRkJZeXh0UTBGQmJVTXNSVUZEZWtWR0xFVkJRVWtzVFVGQlVTeERRVUZEVUN4RlFVRkhMRTlCUVZGUkxFVkJRVkZETEVkQlFVRXNTMEZCUVVFc1JVRkJZMFFzUTBGQlRTeEZRVU0zUTBRc1EwRkRXQ3hEUXpWSFFTeFRRVUZUYjBJc1IwRkJaMElzUTBGQlJTeFpRVUZCUXl4RlFVRmhMR2xDUVVGQlF5eERRVUZwUWl4RlFVRkhReXhGUVVGTFF5eEZRVUZKUXl4RlFVRlRReXhGUVVGTExFTkJTbTVHTEVsQlFVRkRMRVZCUzBrc1NVRkJUVU1zUjBGQldVUXNSVUZCUVVRc1IwRkJRU3haUVVGQlFTeEZRVUZMTEZsQlFVd3NTMEZCUVVNc1JVRkJhMEpGTEVkQlF6bENReXhGUVVGTkxFbEJRVWxHTEVWQlFWVk1MRVZCUVVrc1RVRkJUU3hGUVVOb1EwRXNSVUZCU1N4VFFVTktRU3hGUVVGSkxFOUJRVk1zU1VGRFlrRXNSVUZCU1N4UlFVTktRU3hGUVVGSkxFMUJRVkVzU1VGRGFFSXNTVUZCU1ZFc1JVRkJVMUFzUlVGQlJ5eFBRVU5hVVN4RlFVRmhMRXRCUTJwQ0xFOUJRVmNzUTBGQlJTeE5RVUZCUXl4RlFVRlBMRTFCUVVGRExFTkJRVTBzU1VGQlMxWXNSVUZCUnl4TlFVRlBMRU5CUTNKRExFbEJRVTFYTEVWQlFWRkRMRWRCUVdGSUxFVkJRVThzUTBGRE9VSXNWVUZCVnl4bFFVTllMRXRCUVUxRExFVkJRMDRzVDBGQlFVZ3NSVUZEUVN4UlFVRkJUaXhGUVVOQkxHRkJRV05FTEVWQlFVY3NUMEZEYWtJc1pVRkJaMElzUlVGRGNFSXNRMEZCUXl4RlFVTkVMRWRCUVVrc1EwRkJRMWNzUlVGQlRTeE5RVU5RTEVkQlFVbEJMRVZCUVUwc1VVRkJWVUVzUlVGQlRTeExRVUZQUkN4RlFVTjZRa0VzUjBGQlUwRXNSVUZCVFN4UFFVRlRMRmxCUTNoQ1ZDeEZRVUZSVlN4RlFVRk5MRWxCUVVzc1lVRkJZeXhyUkVGQmEwUXNSVUZGYmtaV0xFVkJRVkZOTEVWQlFWRXNaVUZCWjBJc2JVTkJRVzFETEUxQlJYUkZMRU5CUTBSRExFVkJRV0ZITEVWQlFVMHNTVUZEWmtFc1JVRkJUU3hWUVVOT1RDeEZRVUZKTEZGQlFWVkxMRVZCUVUwc1UwRkRlRUlzVVVGRFNpeERRVVZLTEVsQlFVMUZMRVZCUVU5SUxFVkJRMUJpTEVWQlFWbEZMRVZCUVV0WExFVkJRVTlETEVWQlFVOVdMRU5CUVU4c1JVRkRkRU5JTEVWQlFXbENReXhGUVVGTFdTeEZRVUZOTEVsQlFVdEdMRVZCUVU4c1MwRkJUVVVzUlVGQlQxWXNRMEZCVHl4RlFVTTVSRVlzUlVGQlNTeFBRVUZQTEZGQlExaGxMRWRCUVdkQ1pDeEZRVUZITEU5QlFWRlZMRVZCUVU5VUxFTkJRVThzUlVGRE4wTk5MRVZCUVZOTkxFVkJRVXNzVFVGQlRTeERRVUZETEVWQlEzSkNVQ3hGUVVGSkxFMUJRVTBzUzBGQlMwOHNRMEZCU1N4RFFVTjJRaXhEUVVOQkxFOUJRVUZRTEVWQlFVa3NUVUZCVVN4RFFVRkRUaXhGUVVGSExFOUJRVkZQTEVWQlFWRkRMRWRCUVVFc1MwRkJRVUVzUlVGQlkwUXNRMEZCVFN4RlFVTTNRMFFzUTBGRFdDeERRemxEUVN4VFFVRlRVeXhIUVVGWFF5eEZRVUZMUXl4RlFVRlJReXhGUVVGVlF5eEZRVUZUTEVOQlEyaEVMRWxCUVVsRExFVkJRVlVzUjBGRFpDeEhRVUZKU2l4RlFVRkxMRU5CUTB3c1NVRkJTVXNzUlVGQlZ5eEhRVU5ZUXl4RlFVRk5MRWRCUTFZc1VVRkJWME1zUzBGQlUxQXNSVUZCU3l4RFFVTnlRaXhIUVVGTkxFTkJRVVVzVDBGQlFWRXNSVUZCVVN4TFFVRkJReXhEUVVGTExFVkJRVWxHTEVWQlEzcENMRTlCUVZGRkxFVkJRVTBzUTBGRFZpeEpRVUZMTEZGQlEwUktMRVZCUVZjc1IwRkRXQ3hOUVVOS0xFbEJRVXNzVlVGQlZ5eERRVU5TU0N4SFFVRlpMRU5CUVVOSExFZEJRMkpHTEVWQlFWRkpMRVZCUVU4c1pVRkJaMElzZDBWQlFYZEZMRVZCUXpOSExFbEJRVTFITEVWQlFVdEdMRVZCUVU4c1ZVRkJWU3hEUVVGRExFZEJRVXNzU1VGRE4wSktMRVZCUjBSQkxFZEJRVmRGTEVWQlFVMUpMRVZCUm1wQ1RpeEZRVUZWVFN4RlFVZGtTaXhGUVVGTkxFZEJRMDRzUzBGRFNpeERRVU5CTEVsQlFVc3NWVUZEUjBZc1NVRkRRVVVzUjBGQlQwVXNSMEZEV0Vnc1JVRkJWeXhIUVVOWUxFMUJRMG9zVVVGRFNVWXNSVUZCVVVrc1JVRkJUeXh0UWtGQmIwSXNZMEZCWTBVc1EwRkJTU3hqUVVGakxFTkJRek5GTEVOQlEwRlNMRWRCUVZWUExFVkJRVThzVFVGRGNrSXNRMEZEU2l4RFFVTkJMRTFCUVU4c1EwRkJSU3hSUVVGQlNpeEZRVUZUTEU5QlFVRklMRU5CUVU4c1EwRkROMElzUTBONlFrRXNTVUZCVFZVc1IwRkJWeXcwUkVGRFdFTXNSMEZCVjBNc1IwRkJWVUVzU1VGQlZVRXNSVUZCVFN4UFFVRlRMR0ZCUVdWQkxFVkJRVTBzVDBGQlV5eGhRVU5zUml4VFFVRlRReXhIUVVGelFpeERRVUZGTEZsQlFVRkRMRVZCUVdFc2FVSkJRVUZETEVOQlFXbENMRVZCUVVkRExFVkJRVXRETEVWQlFVbERMRVZCUVZORExFVkJRVXNzUTBGWWVrWXNTVUZCUVVNc1JVRkJRVU1zUlVGWlNTeEpRVUZOUXl4RlFVRlJUQ3hGUVVGSExFMUJRVTBzVTBGQlZ5eEpRVU0xUWswc1JVRkJVMFFzUlVGQlVTeFhRVUZoTEdkQ1FVTTVRa1VzUjBGQllVb3NSVUZCUVVRc1IwRkJRU3haUVVGQlFTeEZRVUZMTEZsQlFVd3NTMEZCUVVNc1JVRkJiVUpGTEVWQlFWRkhMRWRCUVZWRExFZEJRMnhFUXl4RlFVRlBMRWxCUVVsSUxFVkJRVlZTTEVWQlFVa3NUVUZCVFN4RlFVTnlRMWNzUlVGQlN5eExRVUZQTEVkQlExb3NTVUZCVFVNc1JVRkJVMW9zUlVGQlNTeFBRVU5tV1N4SlFVTkJXaXhGUVVGSkxFOUJRVk1zU1VGRFlrRXNSVUZCU1N4UlFVTktRU3hGUVVGSkxFMUJRVkVzU1VGRGFFSXNTVUZCU1dFc1JVRkJVMW9zUlVGQlJ5eFBRVUZUUVN4RlFVRkhMRTFCUVUwc1QwRkJUeXhQUVVONlF5eFJRVUZUWVN4RlFVRkpMRVZCUVVkQkxFVkJRVWxpTEVWQlFVY3NUVUZCVFN4UFFVRlJMRVZCUVVWaExFVkJRVWNzUTBGRGRFTXNTVUZCVFVNc1JVRkJWMlFzUlVGQlJ5eE5RVUZOWVN4RFFVRkRMRVZCUTNKQ0xFTkJRVVVzVFVGQlFVVXNSVUZCVHl4SlFVRkJReXhGUVVGTExFbEJRVUZETEVWQlFVc3NUVUZCUVVNc1EwRkJUU3hGUVVGSlNpeEZRVU0zUWtzc1JVRkJVVU1zUjBGQllVd3NSVUZCVHl4RFFVTTVRaXhMUVVGTlZDeEZRVU5PTEZWQlFWY3NiVUpCUTFnc1MwRkJUVlVzUjBGQlFTeExRVUZCUVN4RlFVRlBReXhIUVVGQkxGbEJRVUZCTEVWQlFVMHNSMEZEYmtJc1QwRkJRVXdzUlVGRFFTeFJRVUZCV0N4RlFVTkJMR0ZCUVdORUxFVkJRVWNzVDBGRGFrSXNaVUZCWjBJc1JVRkRjRUlzUTBGQlF5eEZRVU5FTEVkQlFVa3NRMEZCUTIxQ0xFVkJRVTBzVFVGQlR5eERRVU5rTEVkQlFVa3NRMEZCUTBFc1JVRkJUU3hSUVVGVkxFTkJRVU5CTEVWQlFVMHNTMEZCVHl4RFFVRkRSaXhIUVVGUExFTkJRVU5ETEVWQlFVOHNRMEZETTBOTUxFbEJRVTBzUjBGQlMwMHNSVUZCVFN4TlFVTnFRbXhDTEVWQlFWRnJRaXhGUVVGTkxFMUJRVThzYlVKQlFXOUNMRzFDUVVGdFFtSXNRMEZCVFN4RlFVRkZMRVZCUXk5RVR5eEZRVUZKWWl4RlFVRkhMRTFCUVUwc1QwRkJVeXhIUVVNelFrTXNSVUZCVVd0Q0xFVkJRVTBzVFVGQlR5eHRRa0ZCYjBJc05FSkJRVFJDWWl4RFFVRk5MRVZCUVVVc1JVRkROMFZoTEVWQlFVMHNWVUZEUmxRc1JVRkJTeXhSUVVOTVFTeEZRVUZMTEZOQlFWYzdRVUZCUVN4RlFVRlBVeXhGUVVGTkxGRkJSVGRDVkN4RlFVRkxMRkZCUVZWVExFVkJRVTBzVTBGRk4wSlFMRVZCUVZOUExFVkJRVTBzU1VGRFppeFJRVU5LTEVOQlEwa3NRMEZCUTJRc1IwRkJVMDRzUlVGQlNTeFJRVUZSTEZGQlFWVnpRaXhIUVVGblFrd3NRMEZCUnl4SFFVTnVSR1lzUlVGQlVXVXNSVUZEVWl4NVFrRkJNRUlzYTBWQlFXdEZMRU5CUTNCSExFTkJRMEVzUjBGQlNVZ3NTVUZCVFN4RlFVTkdUU3hGUVVGTkxFOUJRMDVzUWl4RlFVRlJhMElzUlVGQlRTeE5RVUZQTEcxQ1FVRnZRaXh0UWtGQmJVSmlMRU5CUVUwc1JVRkJSU3hWUVVkdVJXRXNSVUZCVFN4UFFVTlFiRUlzUlVGQlVXdENMRVZCUVUwc1RVRkJUeXhsUVVGblFpeHhRa0ZCY1VKaUxFTkJRVTBzVVVGQlVTeEZRVU40UldFc1JVRkJUU3hSUVVGVExFTkJRMllzU1VGQlNVY3NSVUZCYTBJc1IwRkRkRUpETEVWQlFVMHNVVUZCVjBNc1MwRkJUVlFzUlVGRGJrSXNUMEZCVVZNc1JVRkJSeXhMUVVGTkxFTkJRMklzU1VGQlN5eFJRVU5NTEVsQlFVc3NVVUZEUkN4TlFVTktMRWxCUVVzc1ZVRkRSRVlzUlVGQmEwSkZMRVZCUVVjc1QwRkJUeXhWUVVGVkxFTkJRVU1zUlVGRGRrTXNUVUZCVFVRc1JVRkRWaXhSUVVOSkxFMUJRVTFCTEVOQlEyUXNRMEZGU2l4SFFVRkpSQ3hGUVVGcFFpeERRVU5xUWl4SlFVRkpSeXhGUVVGUFppeEZRVUZMTEUxQlFVMUJMRVZCUVVzc1RVRkJUU3hQUVVGVExFTkJRVU1zUlVGRGRrTm5RaXhGUVVGUFJDeERRVUZKTEVsQlExaEJMRWRCUVU5eVFpeEZRVUZCY1VJc1JVRkJTeXhSUVVGTUxFdEJRVUZ5UWl4RlFVRmpjVUlzUlVGQlN5eExRVU14UWtFc1JVRkJTeXhSUVVOTVFTeEZRVUZMTEZOQlFWYzdRVUZCUVN4RlFVRlBTQ3hGUVVWMlFrY3NSVUZCU3l4UlFVRlZTQ3hGUVVOdVFrZ3NSVUZCVFN4UlFVRlZRU3hGUVVGTkxGRkJRVkVzVlVGQlZVY3NSVUZCWjBJc1QwRkJVeXhEUVVGRExFTkJRM1JGTEVOQlEwb3NRMEZGU2l4SFFVRkpMRU5CUVVOcVFpeEhRVUZUTEVOQlFVTlpMRWRCUVU4c1EwRkJRMFVzUlVGQlRTeE5RVUZQTEVOQlIyaERMRWxCUVUxUkxFVkJRVmxVTEVWQlExcHlRaXhGUVVGWlJTeEZRVUZMYlVJc1JVRkJUME1zUlVGQlQyeENMRU5CUVU4c1JVRkRkRU5JTEVWQlFXbENReXhGUVVGTGIwSXNSVUZCVFN4SlFVRkxSaXhGUVVGTExFdEJRVTFGTEVWQlFVOXNRaXhEUVVGUExFVkJRMmhGVXl4RlFVRkxMRTFCUVUwc1MwRkJTMmxDTEVOQlFWTXNSVUZEZWtKbUxFVkJRVk5sTEVWQlFWVXNUVUZCVFN4RFFVRkRMRVZCUTNSQ2FrTXNSMEZCVVhkQ0xFTkJRVXNzUjBGRFltcENMRVZCUVZFd1FpeEZRVUZWTEUxQlFVOHNaMEpCUVdsQ2JFTXNSVUZCVVN4RFFVTXhSQ3hMUVVOTExFTkJSMFJOTEVWQlFVa3NUVUZCVVN4SFFVTmFMRWxCUVUwMlFpeEZRVUZYVkN4RlFVRk5MRWxCUTJwQ1ZTeEZRVUZWWWl4RlFVTldia0lzUlVGQldVVXNSVUZCUzJsQ0xFVkJRVXRITEVWQlFVOXNRaXhEUVVGUExFVkJRM0JEU0N4RlFVRnBRa01zUlVGQlN6WkNMRVZCUVZWaUxFVkJRVThzUzBGQlRVa3NSVUZCVDJ4Q0xFTkJRVThzUlVGRE4wUlFMRWRCUVZGelFpeERRVUZITEVkQlExaG1MRVZCUVZFMFFpeEZRVUZSTEUxQlFVOHNaMEpCUVdsQ2NFTXNSVUZCVVN4RlFVTndSRTBzUlVGQlNTeE5RVUZSTEVkQlJWb3NTVUZCVFN0Q0xFVkJRV0ZXTEVkQlFXRklMRWRCUVVFc1MwRkJRVUVzUlVGQlR5eERRVUZETEVWQlFVY3NRMEZEZGtNc1MwRkJUVmdzUlVGRFRpeFZRVUZYTEdkQ1FVTllMRXRCUVUxWkxFVkJRMDRzVDBGQlVWY3NSVUZCVVN4TlFVRk5MRU5CUVVNc1JVRkRka0lzVVVGQlFUVkNMRVZCUTBFc1lVRkJZMFFzUlVGQlJ5eFBRVU5xUWl4bFFVRm5RaXhGUVVOd1FpeERRVUZETEVWQlEwUXNSMEZCU1RoQ0xFVkJRVmNzVDBGRFdDeEhRVUZKTEVOQlFVTjZRaXhIUVVGVExFTkJRVU5qTEVWQlFVMHNUMEZCVTNCQ0xFVkJRVWtzVVVGQlVTeFBRVUZSTEVOQlF6bERMRWRCUVVsclFpeEZRVU5CTEZGQlFWZFBMRXRCUVUxUUxFVkJRVXNzUTBGRGJFSXNSMEZCU1U4c1NVRkJUMDBzUlVGQlZ5eE5RVU5zUWl4TlFVTktMRWRCUVVsT0xFVkJRVWNzVDBGQlV5eFZRVUZYTEVOQlEzWkNka0lzUlVGQlVYVkNMRVZCUVVrc2VVSkJRVEJDTEd0RlFVRnJSU3hGUVVONFJ5eExRVU5LTEVOQlEwb3NRMEZEUVV3c1JVRkJUU3hOUVVGUlZ5eEZRVUZYTEUxQlFVMHNUMEZCVXl4TlFVTjRRemRDTEVWQlFWRTJRaXhGUVVGWExFMUJRVThzYzBKQlFYVkNMRFpHUVVFMlJpeERRVU4wU2l4UFFVVkxXaXhKUVVORUxGZEJRVmxCTEVkQlFWTkJMRVZCUVUwc1VVRkJWVUVzUlVGQlRTeFBRVUZQTEVOQlFVTXNTVUZCVFN4SlFVTjZSR3BDTEVWQlFWRnBRaXhGUVVGUExHVkJRV2RDTERSQ1FVRTBRbG9zUTBGQlRTeEZRVUZGTEVWQlJXNUZUQ3hGUVVGUk5rSXNSVUZCVnl4TlFVRlBMR1ZCUVdkQ0xEQkNRVUV3UW5oQ0xFTkJRVTBzVVVGQlVTeEhRVWN4Uml4SlFVRk5jVUlzUjBGQldWUXNSVUZEV25KQ0xFVkJRVmxGTEVWQlFVdHRRaXhGUVVGUFdTeEZRVUZaTjBJc1EwRkJUeXhGUVVNelF6WkNMRVZCUVZjc1RVRkRVR2hETEVWQlFXbENReXhGUVVGTEswSXNSVUZCVnl4SlFVRkxZaXhGUVVGTExFdEJRVTFoTEVWQlFWazNRaXhEUVVGUExFVkJRM0JGTEV0QlEwNHdRaXhIUVVOSmFrTXNSMEZCVVhkQ0xFTkJRVXNzUjBGRFltcENMRVZCUVZFd1FpeEhRVUZWTEUxQlFVOHNaMEpCUVdsQ2JFTXNSVUZCVVN4RlFVVnFSSEZETEVWQlFWY3NWVUZEV2tRc1JVRkJVU3hSUVVOU1FTeEZRVUZSTEZOQlFWYzdRVUZCUVN4RlFVRlBReXhGUVVGWExGRkJSWEpEUkN4RlFVRlJMRkZCUVZWRExFVkJRVmNzVTBGRmNrTXNTVUZCVFVNc1IwRkJUeXhKUVVGSlF5eEhRVUZMU0N4RlFVRlRSaXhGUVVGVExFVkJSM2hETEVkQlJrazFRaXhGUVVGSkxGRkJRVkVzYlVKQlExcG5ReXhIUVVGTExGTkJRVmRxUWl4SFFVTm9RbFFzUlVGQlR5eERRVU5RTEVsQlFVMDBRaXhGUVVGTmRrSXNSVUZEVW5kQ0xFZEJRVmx1UXl4RlFVRkxhME1zUlVGQlNTeE5RVUZQU2l4RFFVRlBMRWRCUTI1RE5VSXNSVUZCVVRKQ0xFVkJRVlVzWjBKQlFXbENMSGxDUVVGNVFpeEZRVU5vUlVzc1JVRkJTU3hOUVVGTkxFdEJRVXRHTEVWQlFVa3NRMEZEZGtJc1MwRkRTeXhEUVVORUxFbEJRVTFGTEVWQlFVMHNTVUZCU1hwQ0xFZEJRVkZVTEVWQlFVa3NUVUZCVFN4RlFVTnNRMnRETEVWQlFVa3NTMEZCVHl4SFFVTllRU3hGUVVGSkxFMUJRVTBzUzBGQlMwWXNSVUZCU1N4RlFVTnVRaXhKUVVGTlNTeEhRVUZaVWl4SlFVRkJMRXRCUVVGQkxFZEJRV0ZGTEVkQlFWTXNUVUZEZUVOSkxFVkJRVWtzVFVGQlVTeERRVUZEU2l4RlFVRlJMRTFCUVUwc1EwRkJReXhGUVVGSFRTeEZRVUZUTEVOQlFVTXNSVUZCUjBFc1JVRkJVeXhEUVVGRExFTkJRVU1zUlVGRGRrUjZRaXhGUVVGTExFMUJRVTBzUzBGQlMzVkNMRU5CUVVjc1EwRkRka0lzUTBGRFFYSkNMRVZCUVZObExFZEJRVmxCTEVkQlFWVXNUVUZCVFN4RFFVRkRMRVZCUVVsSExFVkJRVmNzUjBGRGVrUXNRMEZEU2l4RFFVTkJMRWxCUVUxTkxFVkJRV012UWl4RlFVRlJMRWxCUVUwc1NVRkROVUlzUTBGQlEyZERMRVZCUVVrc1IwRkJSME1zUTBGQlJTeEZRVUZKZEVNc1JVRkJSeXhKUVVOdVFuVkRMRVZCUVZFelFpeEZRVU5hTEVkQlFVbDVRaXhIUVVGTlFTeEZRVUZITEZOQlFWZEVMRVZCUTNCQ1J5eEZRVUZSUml4RlFVRkhMRTlCUVZOQkxFVkJRVWNzVDBGQlR5eFhRVU0zUWl4RFFVTkVMRWxCUVUxSExFVkJRVTlzUXl4RlFVRlBMRU5CUVVNc1JVRkJSU3haUVVGWkxFVkJRVWxCTEVWQlFVOHNWVUZCVlN4RFFVRkRMRVZCUTI1RWJVTXNSVUZCVFRsQ0xFVkJRMDRzUjBGQlJ6WkNMRU5CUVVrc2IwSkJRVzlDU2l4RFFVRlhMRWRCUTNSRExFZEJRVWRKTEVOQlFVa3NjVVZCUVhGRlNpeERRVUZYTEVkQlF6ZEdia01zUlVGQlVWY3NSVUZCVVVRc1JVRkJVeXhsUVVGcFFpeGhRVUZqT0VJc1EwRkJSeXhGUVVOMlJFb3NSMEZCVFVFc1JVRkJSeXhQUVVGUExGTkJRVmNzUjBGRE0wSkRMRVZCUVVjc1VVRkJVVVFzUTBGQlJTeERRVU55UWl4RFFVTkJMRWRCUVVsRExFVkJRVWNzVDBGQlV5eEZRVUZITEVOQlEyWXNTVUZCVFVrc1JVRkJUVU1zUjBGQlYwd3NSVUZCU1VNc1JVRkJUM2hETEVWQlFVa3NVVUZCVVN4UFFVRlJSU3hEUVVGUExFVkJRM3BFZVVNc1JVRkJTU3hWUVVOQmFFTXNSVUZCU3l4UlFVTk1RU3hGUVVGTExGTkJRVmM3UVVGQlFTeEZRVUZQWjBNc1JVRkJTU3hSUVVVelFtaERMRVZCUVVzc1VVRkJWV2RETEVWQlFVa3NVMEZGTTBKb1F5eEZRVUZMTEUxQlFWRXNRMEZCUTFZc1JVRkJSeXhQUVVGUmRVTXNSVUZCVDBjc1JVRkJTU3hOUVVGTkxFTkJRemxETEUxQlJVbG9ReXhGUVVGTExFMUJRVkVzUTBGQlExWXNSVUZCUnl4UFFVRlJkVU1zUlVGQlQwRXNRMEZCU3l4RlFVVjZReXhQUVVGUE4wSXNRMEZEV0N4RFEzQk5RU3hUUVVGVGEwTXNSMEZCYTBKRExFVkJRVWxETEVWQlFVdERMRVZCUVU5RExFVkJRVk5ETEVWQlFWTkRMRVZCUVVzc1EwRkRPVVFzU1VGQlRVTXNSVUZCVDBvc1JVRkJUU3hQUVVGVExGbEJRM1JDU3l4SFFVRm5RbEFzUlVGQlNVTXNSVUZCUzBNc1JVRkJUME1zUlVGQlUwVXNRMEZCUnl4RlFVTTFRMGdzUlVGQlRTeFBRVUZUTEZsQlExaE5MRWRCUVdkQ1VpeEZRVUZKUXl4RlFVRkxReXhGUVVGUFF5eEZRVUZUUlN4RFFVRkhMRVZCUXpWRFNTeEhRVUZ6UWxRc1JVRkJTVU1zUlVGQlMwTXNSVUZCVDBNc1JVRkJVMFVzUTBGQlJ5eEZRVU4wUkVzc1JVRkJUMG9zUlVGQlN5eFpRVWRzUWl4UFFVRkpSaXhKUVVGWkxFdEJRVTlCTEVsQlFWbE5MRVZCUVVzc1UwRkRjRU5LTEVWQlFVc3NTVUZCVFVrc1JVRkJTeXhSUVVOVVNpeEpRVVZRUml4SlFVTkJSU3hGUVVGTExFbEJRVTFHTEVkQlExSkZMRVZCUTFnc1EwRkRRU3hUUVVGVFN5eEhRVUZyUWxnc1JVRkJTVU1zUlVGQlMwTXNSVUZCVDFVc1JVRkJUMVFzUlVGQlV5eERRWHBDTTBRc1NVRkJRVlVzUlVGQlFVTXNSVUV3UWtrc1NVRkJUVU1zUlVGQlYwZ3NSVUZCVFN4SlFVTnFRbElzUlVGQlYxY3NSVUZGV0dRc1JVRkJTU3hYUVVGWExGRkJRVkZqTEVWQlFWTXNUMEZCVVVNc1IwRkJUMklzUlVGQlVWa3NSVUZCVlN4eFFrRkJjMEpETEVOQlFVY3NRMEZCUXl4RlFVUXpSaXhMUVVWT0xFZEJRVWxrTEVWQlFVMHNUMEZCVXl4WlFVRmhMRU5CUXpWQ0xFZEJRVTBzUTBGQlJTeFBRVUZCWlN4RlFVRlJMR2xDUVVGclFrTXNRMEZCUnl4RlFVRkpUaXhGUVVOdVEwOHNSVUZCVjBZc1IwRkJWVVlzUlVGRGNrSkZMRVZCUVU4c1QwRkJVMFlzUlVGQlV5eFBRVU55UWtVc1JVRkRRVVlzUlVGRFNFVXNSMEZCUVN4TFFVRkJRU3hGUVVGVlJpeEZRVU5pU1N4SlFVRmhMRU5CUVVORUxFZEJRVTFCTEVWQlFVY3NUMEZCVTBNc1JVRkJVeXhUUVVWNlEyaENMRVZCUVZGblFpeEZRVUZWTEdWQlJFWXNORU5CUTNsQ0xFTkJSV3BFTEVOQlEwRXNTVUZCVFVNc1JVRkJWV3hDTEVWQlFVMHNUMEZCVXl4WlFVTjZRaXhOUVVOQlFTeEZRVUZOTEU5QlFWTXNXVUZEV0N4TlFVTkJRU3hGUVVGTkxFMUJRVTBzVTBGQlZ5eEpRVU51UWl4TlFVTkJMRTFCUjJRc1IwRkJTU3hEUVVGRFlTeEhRVU5FTEVOQlFVTllMRWRCUTBSQkxFbEJRVmtzUzBGRFdFRXNTVUZCV1dsQ0xFZEJRVkVzVTBGQlYwUXNTVUZCV1N4UFFVTXpRMmhDTEVsQlFWbHJRaXhIUVVGUkxGTkJRVmRHTEVsQlFWa3NUVUZETlVNc1QwRkJUM0pDTEVkQlFXdENReXhGUVVGSlF5eEZRVUZMUXl4RlFVRlBReXhGUVVGVFF5eERRVUZQTEVWQlJUZEVMRWxCUVVsRExFVkJRVTFLTEVWQlFVa3NUMEZCVHl4TFFVRkxMRXRCUVV0elFpeEhRVUZMUVN4RlFVRkZMRTFCUVZGdVFpeEhRVUZYYlVJc1JVRkJSU3hoUVVGbFNDeERRVUZQTEVWQlEycEdMRWRCUVVrc1EwRkJRMllzUlVGQlN5eERRVU5PTEVsQlFVMXRRaXhGUVVGTGRrSXNSVUZCU1N4UFFVRlBMRlZCUVZWSExFTkJRVThzUlVGRGRrTXNSMEZCU1c5Q0xFZEJRVTFCTEVWQlFVY3NZVUZCWlVvc1JVRkRlRUp1UWl4RlFVRkpMRTlCUVU4c1MwRkJTeXhMUVVGTExFOUJRVThzVDBGQlR5eERRVUZETEVWQlFVZDFRaXhGUVVGSkxFTkJRVVVzVVVGQlV5eEZRVUZOTEVOQlFVTXNRMEZCUXl4RlFVTTVSRzVDTEVWQlFVMXRRaXhOUVVkT0xGRkJRVWxCTEVkQlFVRXNUVUZCUVVFc1JVRkJTU3hYUVVOS2NrSXNSVUZCVVZrc1JVRkJWU3h6UWtGQmRVSXNSMEZCUjFNc1JVRkJSeXhIUVVGSExHRkJRV0ZLTEVOQlFVOHNORUpCUVRSQ1NTeEZRVUZITEZWQlFWVXNSMEZCU1N4RlFVRkpMRVZCUjNaSWNrSXNSVUZCVVZrc1JVRkJWU3h4UWtGQmMwSXNiVUpCUVcxQ1dDeERRVUZQTEVkQlFVa3NSVUZCU1N4RlFVVjJSVXdzUjBGQmEwSkRMRVZCUVVsRExFVkJRVXRETEVWQlFVOURMRVZCUVZORExFTkJRVThzUTBGRmFrVXNRMEZEUVN4SlFVRk5SU3hGUVVGUFVDeEhRVUZyUWtNc1JVRkJTVU1zUlVGQlMwTXNSVUZCVDBNc1JVRkJVME1zUlVGQlUwTXNRMEZCUnl4RlFVTTVSRzlDTEVkQlFVMVlMRWRCUVVGRUxFVkJRVUZTTEVWQlFVa3NWVUZCU2l4WlFVRkJVU3hGUVVGQkxFdEJRVUZTTEVWQlFXTkRMRVZCUVUxVkxFZEJRVTlpTEVWQlFWRlpMRVZCUVZVc2NVSkJRWE5DUXl4RFFVRkhMRVZCUVVkbUxFVkJRVWtzVjBGQk4wVXNTMEZCUVdFc1JVRkJlVVpTTEVWQlF5OUdiMElzUlVGQlQwTXNSVUZCVDBZc1EwRkJSeXhGUVVOcVFrRXNSVUZEUVN4SlFVRkpSeXhGUVVGUFNDeERRVUZITEVWQlEzQkNMRTlCUVVGRExFVkJRVXNzVFVGQlVYQkNMRVZCUVVzc1RVRkRiRUp2UWl4RlFVRkxMRWxCUVUxMFFpeEZRVU5RUXl4SFFVRkJMRTFCUVVGQkxFVkJRVXNzVTBGRFRIRkNMRVZCUVVzc1QwRkJVM0pDTEVWQlFVa3NVVUZEWm5GQ0xFTkJRMWdzUTBOdVJrRXNVMEZCVTBjc1IwRkJiVUpETEVWQlFVdERMRVZCUVZGRExFVkJRVk1zUTBGRE9VTXNTVUZCVFVNc1JVRkJVVVlzUlVGQlR5eFBRVU5tUnl4RlFVRlRReXhIUVVGMVFrb3NSVUZCVVVRc1JVRkJTU3hSUVVGUkxFOUJRVkZGTEVOQlFVOHNSVUZEZWtVc1IwRkJTU3hEUVVGRFJTeEZRVU5FTEUxQlFVOHNRMEZCUlN4TlFVRlBMRWRCUVVrc1MwRkJUU3hMUVVGTkxGRkJRVk1zUjBGQlNTeE5RVUZQTEVOQlFVTkVMRVZCUVU5QkxFVkJRVTlCTEVOQlFVc3NRMEZCUlN4RlFVTTVSU3hKUVVGTlJ5eEZRVUZQUml4RlFVRlBMRTlCUVZNc1NVRkJUVWNzUlVGQlR5eGhRVUZsUVN4RlFVRlBMR05CUXpGRVF5eEZRVUZSVUN4RlFVRlBMRTlCUVZOUkxFZEJRVmRTTEVWQlFVOHNUVUZCVFN4RlFVRkpMRU5CUVVNc1JVRkZka1JUTEVWQlFXRkdMRVZCUVUwc1QwRkRka0lzVVVGQlUwY3NSVUZCU1Vnc1JVRkJUU3hQUVVGVExFVkJRVWRITEVkQlFVc3NSVUZCUnl4RlFVRkZRU3hGUVVGSExFTkJRM2hETEVsQlFVMURMRVZCUVZWS0xFVkJRVTFITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUXpGQ0xFZEJRVWxETEVsQlFWa3NTVUZCVFVFc1NVRkJXU3hMUVVNNVFrWXNSVUZCWVVNc1RVRkZZaXhOUVVOU0xFTkJSVUVzUjBGQlNVUXNTVUZCWlN4RlFVRkhMRU5CUTJ4Q0xFbEJRVTFITEVWQlFWRlVMRVZCUVU4c1VVRkJWU3hMUVVGUFNTeEZRVUZOTEU5QlFWTXNSVUZETDBNN1FVRkJRU3hGUVVGTExFOUJRVThzUzBGQlN5eEpRVUZKTEVWQlFVZEJMRVZCUVUwc1QwRkJVeXhEUVVGRExFTkJRVU1zUlVGRGVrTXNSMEZEUmswc1JVRkJUVmdzUlVGQlVVTXNSVUZCVHl4UFFVTjZRaXhQUVVGSlNDeEZRVUZQTEZOQlExQmhMRWRCUVU5aUxFVkJRVThzVDBGQlR5eFJRVU5zUWl4RFFVRkZMRTFCUVVGWkxFVkJRVThzUzBGQlFWQXNSVUZCVFN4UlFVRlRSaXhGUVVGUExGRkJRVk1zVFVGQlR5eERRVUZEUkN4RlFVRlBWeXhGUVVGTFFTeERRVUZITEVOQlFVVXNRMEZETlVVc1EwRkZRU3hKUVVGSlF5eEZRVUZoWkN4RlFVRlBMRTlCUVZOSExFVkJRVThzVDBGRGNFTlpMRVZCUVZObUxFVkJRVThzVDBGQlUwY3NSVUZCVHl4UFFVTm9RMkVzUlVGQlpTeEZRVU51UWl4UlFVRlRUaXhGUVVGSkxFVkJRVWRCTEVWQlFVbEVMRVZCUVZrc1JVRkJSVU1zUlVGQlJ5eERRVU5xUXl4SFFVRk5MRU5CUVVOUExFVkJRVkZPTEVOQlFVOHNSVUZCU1Vvc1JVRkJUVWNzUTBGQlF5eEZRVU5xUXl4SFFVRkpReXhKUVVGWkxFbEJRVTFCTEVsQlFWa3NTMEZETVVKU0xFVkJRVThzVTBGQlZ5eEhRVUZMWXl4RlFVRlBMRTlCUVZOSUxFbEJRM1pEUVN4RlFVRmhSeXhGUVVGUExGbEJSWFpDTEVOQlEwZEJMRVZCUVU4c1QwRkJVMGdzUjBGRmFFSmlMRVZCUVZGakxFVkJRVk5GTEVWQlFVOHNUMEZCVVN4bFFVUm9RaXhwUjBGRGRVTXNSVUZGZGtSa0xFVkJRVThzVTBGQlZ5eEpRVU5zUWxjc1JVRkJZVWNzUlVGQlR5eFJRVU40UWtRc1JVRkJaVTRzUlVGRFdFa3NTVUZCWlN4SFFVRkxMRU5CUVVObUxFVkJRVWtzVVVGRmVrSkZMRVZCUVZGakxFVkJRVkVzWVVGRVFTeHhSRUZEY1VJc1JVRkZla01zUzBGRFNpeERRVU5CUVN4SFFVRlZSU3hGUVVGUExFOUJRVk5PTEVWQlFWRXNUMEZCVXl4RFFVTXZReXhEUVVWQkxGRkJRVk5FTEVWQlFVbElMRVZCUVUwc1QwRkJVeXhGUVVGSFJ5eEhRVUZMUkN4RlFVRlpMRVZCUVVWRExFVkJRekZEU0N4RlFVRk5SeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFWTkpMRWxCUTNKQ1RDeEZRVUZoUXl4RlFVRkpMRWRCUlhwQ0xFbEJRVWxGTEVWQlFWRXNSMEZEVWswc1JVRkJUU3hIUVVOT1F5eEZRVUZ0UWl4SFFVVjJRaXhSUVVGVFZDeEZRVUZKTEVWQlFVZEJMRVZCUVVsTkxFVkJRV01zUlVGQlJVNHNSVUZEYUVORkxFZEJRVk5NTEVWQlFVMUhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRVa3NRMEZCVlN4RlFVRkpPMEZCUVVFc1JVRkROME1zVVVGQlUwb3NSVUZCU1Uwc1JVRkJZMDRzUlVGQlNVUXNSVUZCV1N4RlFVRkZReXhGUVVGSExFTkJRelZETEVkQlFVa3NRMEZCUTA4c1JVRkJVVTRzUTBGQlR5eEZRVUZKU2l4RlFVRk5SeXhEUVVGRExFVkJReTlDU3l4SFFVRlZSU3hGUVVGUExFOUJRVk5PTEVWQlFWRXNUMEZCVXl4RlFVTXpReXhKUVVGTlV5eEZRVUZQVkN4RlFVRlJRU3hGUVVGUkxFOUJRVk1zUTBGQlF5eEpRVUZOTEV0QlNUZERMRWRCU0VsVExFbEJRMEZVTEVWQlFWVkJMRVZCUVZFc1RVRkJUU3hGUVVGSExFVkJRVVVzUjBGRk4wSkJMRWRCUVZkTkxFVkJRVThzVDBGQlUwZ3NSVUZCV1N4RFFVbDJReXhKUVVGTlR5eEZRVUZWTERKRVFVaEtiRUlzUlVGQlR5eFBRVU5pTEdsRFFVTkJMRmxCUTNkRkxFZEJRemxGUml4RlFVRlJZeXhGUVVGVFNpeEZRVUZSTEZGQlFWVlRMRVZCUVU4c1JVRkJTU3hIUVVGSkxHRkJRV05ETEVOQlFVOHNSVUZEZGtWS0xFVkJRVk1zUlVGRFlpeERRVU5KV2l4SlFVRlRReXhGUVVGUExHVkJRMmhDVFN4SFFVRlRUU3hGUVVGTlJDeEZRVUZQTEUxQlFVMUlMRU5CUVZVc1JVRkJTVWdzUlVGRE1VTlBMRVZCUVUwN1FVRkJRU3hIUVVWRVJDeEZRVUZQTEU5QlFWTklMRWRCUVdOSUxFVkJRVkVzUTBGQlF5eEpRVUZOTEV0QlJUbERUeXhKUVVGUkxFbEJRMUpCTEVWQlFVMDdRVUZCUVN4RlFVTkVMRU5CUVVORExFZEJRVzlDUkN4SlFVRlJPMEZCUVVFc1NVRkRiRU5CTEVWQlFVMDdRVUZCUVR0QlFVRkJMRWRCUTFaT0xFZEJRVk5OTEVWQlFVMUVMRVZCUVU4c1RVRkJUVWdzUTBGQlZTeEZRVUZKU0N4RlFVTXhRMDhzUlVGQlRUdEJRVUZCTEVWQlEwNURMRVZCUVcxQ0xFbEJSV1JTTEVsQlFWa3NSMEZGWWs4c1NVRkJVVHRCUVVGQkxFVkJRMUpPTEVkQlFWTTdRVUZCUVN4RlFVVlVUU3hGUVVGTk8wRkJRVUVzUjBGSFZrNHNSMEZCVTAwc1JVRkJUVkFzUlVGRFprOHNSVUZCVFN4SlFVTk9ReXhGUVVGdFFpeEhRVVV6UWl4RFFVTkJMRTlCUVZGb1FpeEZRVUZQTEUxQlFVOHNRMEZEYkVJc1NVRkJTeXhKUVVORUxFMUJRMG9zU1VGQlN5eEpRVU5FTEZGQlFWTlBMRVZCUVVsRUxFVkJRVmxETEVWQlFVbElMRVZCUVUwc1QwRkJVU3hGUVVGRlJ5eEZRVU42UTBVc1IwRkJVenRCUVVGQkxFVkJRVTlNTEVWQlFVMUhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRVa3NRMEZCVlN4RlFVTTFRMFlzUlVGQlRVRXNSVUZCVFN4UFFVRlRMRU5CUVVNc1NVRkJUVHRCUVVGQkxFbEJRelZDUVN4SFFVRlRPMEZCUVVFc1IwRkRZaXhOUVVOS0xGRkJRMGxCTEVkQlFWTTdRVUZCUVN4RFFVTnFRaXhEUVVOQkxFbEJRVTFETEVWQlFVMVlMRVZCUVZGRExFVkJRVThzVDBGQlUwZ3NSVUZCVHl4UFFVRlBMRTlCUTJ4RUxFMUJRVThzUTBGQlJTeE5RVUZCV1N4RlFVRlBMRXRCUVVGUUxFVkJRVTBzVVVGQlUwWXNSVUZCVHl4UlFVRlRMRTFCUVU4c1EwRkJRMFFzUlVGQlQxY3NSVUZCUzBFc1EwRkJSeXhEUVVGRkxFTkJRelZGTEVOQlEwRXNVMEZCVTFRc1IwRkJkVUlzUTBGQlJTeFBRVUZCVnl4RlFVRlJMRTFCUVVGUExFTkJRVTBzUlVGQlIwTXNSVUZCVVhSQ0xFVkJRVk1zUTBGRmFFVXNSMEZCU1hGQ0xFVkJRVTBzUTBGQlF5eEZRVUZGTEU5QlFWTXNjMEpCUTJ4Q0xFOUJRVUZ5UWl4RlFVRlJjVUlzUlVGQlRTeERRVUZETEVWQlFVY3NZVUZCWXl3clFrRkJLMElzUlVGRGVFUXNTMEZGV0N4SFFVRk5MRU5CUVVVc1QwRkJRVVVzUTBGQlR5eEZRVUZKUml4RlFVRk5MRU5CUVVNc1JVRkRjRUpITEVWQlFVOUVMRVZCUVU4c1EwRkJReXhGUVVOcVFsQXNSVUZCVXl4RlFVTlVVeXhGUVVGUkxFZEJRMUpETEVWQlFWRXNSMEZEV2l4UlFVRlRha0lzUlVGQlNTeEZRVUZIUVN4RlFVRkpZeXhGUVVGUExFOUJRVkVzUlVGQlJXUXNSVUZCUnl4RFFVTndReXhKUVVGTmEwSXNSVUZCUzBvc1JVRkJUMlFzUTBGQlF5eEZRVU51UWl4SFFVRkpMRU5CUVVOblFpeEpRVUZWUlN4SlFVRlBMRXRCUVU5QkxFbEJRVThzUzBGRGFFTkdMRVZCUVZGRkxFMUJRMUFzUTBGRFJDeEpRVUZOUXl4RlFVRkpMRTlCUVU5RUxFTkJRVVVzUlVGRFppeERRVUZEV0N4SFFVRlZXU3hGUVVOWVdpeEZRVUZUV1N4RlFVTktSaXhKUVVGVkxFdEJRMlpCTEVWQlFWRmFMRVZCUVZOTUxFVkJRM3BDTEVOQlEwb3NRMEZEU1dsQ0xFbEJRVlVzU1VGRFZqRkNMRVZCUVZFd1FpeEZRVUZQTEcxQ1FVRnZRaXhyUkVGQmEwUklMRU5CUVUwc1JVRkJSU3hGUVVOcVJ5eEpRVUZKVFN4RlFVRlhMRWRCUTFoRExFVkJRVlVzUjBGRFZrTXNSVUZCVTFJc1JVRkJUeXhQUVVOd1FpeFJRVUZUWkN4RlFVRkpMRVZCUVVkQkxFVkJRVWxaTEVWQlFVMHNUMEZCVVN4RlFVRkZXaXhGUVVGSExFTkJRMjVETEVsQlFVMTFRaXhGUVVGUldDeEZRVUZOV2l4RFFVRkRMRVZCUTNKQ0xFOUJRVkYxUWl4RlFVRk5MRXRCUVUwc1EwRkRhRUlzU1VGQlN5eFJRVU5FU0N4RlFVRlhMRWRCUldZc1NVRkJTeXhWUVVORVJTeEhRVUZWUXl4RlFVRk5MRTlCUVU4c1QwRkRka0lzVFVGRFNpeEpRVUZMTEZWQlEwZFdMRWRCUVZVc1EwRkJRMDhzUjBGRldEZENMRVZCUVZGblF5eEZRVUZQTEdWQlJFTXNkMFZCUTNOQ0xFVkJSVEZEUkN4SFFVRlZReXhGUVVGTkxFOUJRVThzVDBGRGRrSkdMRVZCUVZWRkxFVkJRVTBzVDBGQlR5eFZRVUZWTEVOQlFVTXNSVUZEYkVNc1RVRkRTaXhKUVVGTExGRkJRMFJvUXl4RlFVRlJaME1zUlVGQlR5eHRRa0ZCYjBKQkxFVkJRVTBzVDBGQlR5eEZRVU5vUkVRc1IwRkJWVU1zUlVGQlRTeFBRVUZQTEU5QlEzWkNMRTFCUlVvc1VVRkJVeXhEUVVOTUxFbEJRVTFhTEVWQlFWVXNORU5CUVRSRFdTeEZRVUZOTEVsQlFVa3NSMEZEZEVWb1F5eEZRVUZSWjBNc1JVRkJUeXh0UWtGQmIwSmFMRU5CUVU4c1JVRkRNVU1zU1VGQlRXRXNSVUZCUzBRc1JVRkJUU3hQUVVOaVF5eEhRVUZOTEU5QlFVOUJMRWRCUVU4c1YwRkRjRUpHTEVkQlFWVkZMRVZCUVVjc1QwRkRja0lzUTBGRFNpeERRVU5LTEVOQlEwRXNUVUZCVHl4RFFVRkZMRXRCUVVGVUxFVkJRVTBzVDBGQlFWSXNSVUZCVVN4TlFVRkJVeXhGUVVGUExGRkJRVUZMTEVWQlFWTXNUMEZCUVVNc1EwRkJUeXhEUVVOc1JDeERRVVZCTEZOQlFWTjRRaXhIUVVGWFowSXNSVUZCVVN4RFFVTjRRaXhKUVVGTlZ5eEZRVUZSV0N4RlFVRlBMRTFCUVUwc1VVRkJVU3hGUVVNM1Fsa3NSVUZCVVVRc1JVRkJUU3hEUVVGRExFVkJRMlpGTEVWQlFVbEVMRVZCUVUwc1RVRkJUU3hQUVVGUExFVkJTWFpDTjBJc1JVRkJVU3hEUVVoQk9FSXNSMEZCUVN4TlFVRkJRU3hGUVVGSkxFZEJRMW9zUTBGQlEwRXNSVUZCUlN4RFFVRkRMRVZCUVVkRUxFVkJRVTBzVFVGQlRVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFVkJReTlDTEVOQlFVTXNSMEZCU1VRc1EwRkJTeXhEUVVOSkxFVkJRM0JDTEZGQlFWTXhRaXhGUVVGSkxFVkJRVWRCTEVWQlFVbDVRaXhGUVVGTkxFOUJRVkY2UWl4SFFVRkxMRVZCUTI1RFNDeEZRVUZOTEV0QlFVc3NRMEZCUXpSQ0xFVkJRVTE2UWl4RFFVRkRMRVZCUVVkNVFpeEZRVUZOZWtJc1JVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVU4yUXl4UFFVRlBTQ3hEUVVOWUxFTkRhRTFCTEZOQlFWTXJRaXhIUVVGclFrTXNSVUZCVVVNc1JVRkJVVU1zUlVGQlV5eERRVU5vUkN4SFFVRk5MRU5CUVVVc1QwRkJRVU1zUlVGQlVTeExRVUZCUXl4RlFVRk5MRTlCUVVGRExFVkJRVkVzU1VGQlFVTXNRMEZCU1N4RlFVRkpUaXhGUVVOc1EwOHNSVUZEUVVNc1JVRkRSVU1zUlVGQlZ5eERRVUZEUXl4RlFVRkxReXhGUVVGTlF5eEpRVUZSVml4RlFVRlJReXhGUVVGVFR5eEZRVUZMUXl4RlFVRk5ReXhEUVVGSExFVkJRM0JGTEU5QlFWRlNMRVZCUVUwc1EwRkRWaXhKUVVGTExGTkJRMFJITEVWQlFWRk5MRVZCUVU4c1RVRkRaa3dzUlVGQlVVMHNSMEZCVjFRc1JVRkJVVWtzUTBGQlVTeEZRVU51UXl4TlFVTktMRWxCUVVzc2RVSkJRMFJHTEVWQlFWRk5MRVZCUVU4c1lVRkRaa3dzUlVGQlVVOHNSMEZCYTBKV0xFVkJRVkZKTEVOQlFWRXNSVUZETVVNc1RVRkRTaXhKUVVGTExIVkNRVU5FUml4RlFVRlJUU3hGUVVGUExHRkJRMlpNTEVWQlFWRlJMRWRCUVd0Q1dDeEZRVUZSU1N4RFFVRlJMRVZCUXpGRExFMUJSVW9zVVVGRFNTeFBRVUZCVUN4RlFVRlJSaXhGUVVGUkxHMUNRVUZ2UWl3MFEwRkJORU5KTEVOQlFVa3NSVUZCUlN4RlFVTXZSU3hEUVVOSUxFMUJRVThzUjBGRFVDeExRVUZOTEV0QlEwNHNVVUZCVXl4SFFVTlVMRTFCUVU4c1EwRkJRMFFzUlVGQlVVRXNSVUZCVTBVc1JVRkJUeXhQUVVGUlJpeEZRVUZUUlN4RlFVRlBMRTFCUVUwc1EwRkRiRVVzUTBGRFVpeERRVU5CTEVsQlFVMVpMRVZCUVZka0xFVkJRVk5GTEVWQlFVOHNUMEZETTBKaExFVkJRVXRETEVkQlFWZGlMRVZCUVV0WExFVkJRVlZvUWl4RlFVRlJReXhEUVVGUExFVkJRM0JFTEUxQlFVOHNRMEZEU0N4TlFVRkJUU3hGUVVOQkxFdEJRVTFFTEVWQlEwNHNVVUZCVTFjc1JVRkJSeXhSUVVOYUxFMUJRVThzUTBGQlEyWXNSVUZCVVdNc1JVRkJWVU1zUlVGQlJ5eE5RVUZOTEVOQlEzWkRMRU5CUTBvc1EwRkRRU3hUUVVGVFNpeEhRVUZYVkN4RlFVRlJTQ3hGUVVGVExFTkJRMnBETEVsQlFVbHJRaXhGUVVGVkxFZEJRMlFzVDBGQlVXWXNSVUZCVHl4RFFVRkRMRVZCUVVjc1EwRkZaaXhKUVVGTExFbEJRMFJsTEVWQlFWVXNhMEpCUTFZc1RVRkRTaXhKUVVGTExFbEJRMFJCTEVWQlFWVXNOa0pCUTFZc1RVRkRTaXhKUVVGTExFbEJRMFJCTEVWQlFWVXNhME5CUTFZc1RVRkRTaXhKUVVGTExFbEJRMHdzU1VGQlN5eEpRVUZMTEVOQlEwNUJMRVZCUVZVc01FSkJRVEJDWml4RlFVRlBMRU5CUVVNc1EwRkJReXhIUVVNM1F5eExRVU5LTEVOQlEwRXNTVUZCU3l4SlFVTk1MRWxCUVVzc1NVRkJTeXhEUVVOT1pTeEZRVUZWTEhOQ1FVRnpRbVlzUlVGQlR5eERRVUZETEVOQlFVTXNSMEZEZWtNc1MwRkRTaXhEUVVOS0xFTkJRMEVzVDBGQlNXVXNSMEZEUVd4Q0xFVkJRVkVzUlVGQlJ5eHRRa0ZCYjBJc2FVTkJRV2xEYTBJc1EwRkJUeXhGUVVGRkxFVkJRM1JGUXl4SFFVRlZhRUlzUTBGQlRTeERRVU16UWl4RFFVTkJMRk5CUVZOVkxFZEJRV3RDVml4RlFVRlJTQ3hGUVVGVExFTkJRM2hETEU5QlFVbEhMRVZCUVU5QkxFVkJRVThzVDBGQlV5eERRVUZETEVsQlFVMHNTMEZCVDBFc1JVRkJUeXhUUVVGWExFbEJRM1pFU0N4RlFVRlJSeXhGUVVGUExFOUJRVkVzWlVGQlowSXNkMEpCUVhkQ0xFVkJRelZFWjBJc1IwRkJWV2hDTEVWQlFVOHNUVUZCVFN4RlFVRkhMRVZCUVVVc1EwRkJReXhGUVVGRkxGRkJRVkVzVFVGQlR5eEhRVUZITEVOQlF6VkVMRU5CUTBFc1UwRkJVMmRDTEVkQlFWVm9RaXhGUVVGUkxFTkJla1V6UWl4SlFVRkJhVUlzUlVGcFJra3NTVUZCU1VNc1JVRkJUME1zUlVGRFdDeEhRVUZKTEVOQlEwRkVMRVZCUVZFc1NVRkJTU3hQUVVGUE8wRkJRVUVzUlVGQk9FSXNTVUZCU1N4RlFVTnlSRU1zUlVGQlR5eEpRVUZKTEU5QlFVODdRVUZCUVN4RlFVRjVReXhKUVVGSkxFTkJRMjVGTEU5QlEwMURMRVZCUVVFc1EwRkRSa1lzUlVGQlVTeFhRVUZETEhOQ1FVRnBRaXhKUVVGRkxFVkJRelZDUXl4RlFVRlBMRmRCUVVNc05rSkJRWFZDTEVsQlFVVXNRMEZEY2tNc1EwRkRRU3hKUVVGSlJTeEZRVUZSU0N4RlFVRk5MRXRCUVV0c1FpeERRVUZOTEVWQlF6ZENMRWRCUVVrc1EwRkJRM0ZDTEVWQlEwUXNUMEZCVDNKQ0xFVkJRMWdzU1VGQlNYTkNMRVZCUVUxRUxFVkJRVTBzUTBGQlF5eEZRVU5pUlN4RlFVRk5MRWxCUTA1RExFVkJRVTFPTEVWQlFVMHNWVUZGYUVJc1NVRkVRVU1zUlVGQlN5eFZRVUZaU3l4RlFVTlVTQ3hGUVVGUlJpeEZRVUZMTEV0QlFVdHVRaXhEUVVGTkxFZEJRM2hDY1VJc1JVRkJUU3hEUVVGRExFbEJRVTBzUjBGRFZFVXNTVUZCVVR0QlFVRkJMRVZCUTFKRUxFZEJRVTlETEVWQlJWQkJMRVZCUVUwN1FVRkJRU3hIUVVkV1JDeEhRVUZQUXl4RlFVRk5SaXhGUVVGTkxFTkJRVU1zUlVGRGNFSkZMRVZCUVUwc1MwRkZWa01zUlVGQlRVd3NSVUZCU3l4VlFVVm1MRWxCUVUxTkxFVkJRVThzVjBGQlF5eGpRVUZYTEVsQlFVVXNSVUZETTBJc1QwRkJRVUVzUlVGQlN5eFZRVUZaUkN4RlFVTnFRa2dzUlVGQlVVa3NSVUZCU3l4TFFVRkxla0lzUTBGQlRTeEZRVU5xUW5OQ0xFVkJRVTFETEVsQlFVOU9MRVZCUVVGSkxFZEJRVUVzV1VGQlFVRXNSVUZCVVN4TFFVRlNMRXRCUVVGS0xFVkJRV01zUjBGRGRFTXNRMEZEUVN4VFFVRlRUaXhIUVVGclFsZ3NSVUZCVVVnc1JVRkJVeXhEUVVONFF5eEpRVUZKZVVJc1JVRkJUU3hIUVVOV0xGRkJRVk5KTEVWQlFVa3NSVUZCUjBFc1JVRkJTVEZDTEVWQlFVOHNUMEZCVXl4RlFVRkhMRVZCUVVVd1FpeEZRVUZITEVOQlEzaERMRWxCUVUxRExFVkJRVXN6UWl4RlFVRlBNRUlzUTBGQlF5eEZRVU51UWl4SFFVRkpMRVZCUVVGRExFbEJRVThzVFVGQlVUTkNMRVZCUVU4d1FpeEZRVUZKTEVOQlFVTXNTVUZCVFR0QlFVRkJMRWRCUlhKRExFZEJRVWxETEVsQlFVODdRVUZCUVN4RlFVRk5MRU5CUTJJc1IwRkJUU3hEUVVGRkxFdEJRVUZETEVWQlFVMHNUMEZCUVRsQ0xFTkJRVThzUlVGQlNTdENMRWRCUVZrM1FpeEZRVUZSTUVJc1EwRkJReXhGUVVNNVEwb3NSMEZCVDAwc1JVRkRVRVlzUlVGQlNUVkNMRU5CUTFJc1UwRkRVelpDTEVsQlFVOHNTMEZCVFN4RFFVTnNRaXhKUVVGSlJ5eEZRVUZQT1VJc1JVRkJUeXhGUVVGRk1FSXNRMEZCUXl4RlFVTm1TeXhGUVVGTFF5eEhRVUZaUml4RFFVRkpMRVZCUXpOQ0xFZEJRVWxETEVWQlEwRlVMRWRCUVU5VExGVkJRMFpFTEVsQlFWTTdRVUZCUVN4RlFVZGtMRWxCUkVGQkxFVkJRVTg1UWl4RlFVRlBNRUlzUlVGQlNTeERRVUZETEVWQlExcEpMRWxCUVZNc1MwRkJUMEVzU1VGQlV5eExRVU0xUWtFc1JVRkJUemxDTEVWQlFVOHNSVUZCUlRCQ0xFVkJRVWtzUTBGQlF5eFZRVVZ3UWtrc1NVRkJVeXhOUVVGUk9VSXNSVUZCVHpCQ0xFVkJRVWtzUTBGQlF5eEpRVUZOTzBGQlFVRXNSVUZIZUVNc1NVRkVRVWtzUlVGQlR6bENMRVZCUVU4c1JVRkJSVEJDTEVWQlFVa3NRMEZCUXl4RlFVTmtTU3hKUVVGVExFdEJRVTlCTEVsQlFWTXNTMEZETlVKQkxFVkJRVTg1UWl4RlFVRlBMRVZCUVVVd1FpeEZRVUZKTEVOQlFVTXNWVUZGY0VKSkxFbEJRVk1zUzBGQlQwRXNTVUZCVXl4TFFVRlBRU3hKUVVGVExFbEJRVXNzUTBGRGJrUXNTVUZCVFVjc1JVRkJVeXhEUVVGRkxFVkJRVWNzUlVGQlJ5eEZRVUZITEVWQlFVY3NSVUZCUnl4RFFVRkZMRVZCUVVWSUxFTkJRVWtzUlVGRGVFTlNMRWRCUVU5WkxFZEJRV05zUXl4RlFVRlJNRUlzUlVGQlNTeEZRVUZIVHl4RlFVRlJjRU1zUTBGQlR5eEZRVU51UkRaQ0xFZEJRVXRQTEVOQlExUXNTMEZEU3l4RFFVTkVMRWxCUVUxRkxFVkJRVTF1UXl4RlFVRlBMRTlCUVU4d1FpeEZRVUZKTEVWQlFVY3NRMEZCUXl4RlFVTnNRemRDTEVWQlFWRTJRaXhGUVVGSkxFVkJRVWNzWjBKQlFXbENMREpDUVVFeVFsTXNRMEZCUnl4RlFVRkZMRVZCUTJoRllpeEhRVUZQWVN4RFFVTllMRU5CUTBvc1UwRkRVMUlzU1VGQlR5eExRVUZQUVN4SlFVRlBMRWxCUVUwc1EwRkZhRU1zU1VGQlRWTXNSVUZCVlZZc1JVRkRXa2tzUlVGQlR6bENMRVZCUVU4d1FpeEZRVUZKTEVOQlFVTXNSVUZEZGtJc1MwRkJUMGtzU1VGQlV5eExRVUZQUVN4SlFVRlRMRXRCUXpWQ1FTeEZRVUZQT1VJc1JVRkJUeXhGUVVGRk1FSXNSVUZCU1N4RFFVRkRMRVZCUTNKQ1NTeEpRVUZUTzBGQlFVRXNSMEZCVVN4RlFVRkZRU3hKUVVGVExFMUJRVkU1UWl4RlFVRlBNRUlzUlVGQlNTeERRVUZETEVsQlFVMDdRVUZCUVN4TFFVTjBSRW9zUjBGQlQwa3NSVUZCU1ZVc1JVRkJWWEJETEVWQlFVOHNUVUZCVFc5RExFVkJRVk5XTEVWQlFVa3NRMEZCUXl4RlFVRkpReXhGUVVNMVJDeE5RVVZKVEN4SFFVRlBTeXhEUVVWbUxFTkJRMEVzVDBGQlNUTkNMRVZCUVU5QkxFVkJRVThzVDBGQlV5eERRVUZETEVsQlFVMHNTMEZCVDBFc1JVRkJUeXhUUVVGWExFbEJRM1pFU0N4RlFVRlJSeXhGUVVGUExFOUJRVkVzWlVGQlowSXNkMEpCUVhkQ0xFVkJRelZFYzBJc1EwRkRXQ3hEUVV0QkxGTkJRVk5QTEVkQlFWazNRaXhGUVVGUlJpeEZRVUZSTEVOQlEycERMRWxCUVVrNFFpeEZRVUZQTEVkQlExQkVMRVZCUVVzelFpeEZRVUZQUml4RlFVRlRMRU5CUVVNc1JVRkRNVUlzVFVGQlR6WkNMRWxCUVU4c1MwRkJUMEVzU1VGQlR5eExRVUZSUVN4SlFVRlBPMEZCUVVFc1IwRkJVVUVzU1VGQlR5eFBRVU5zUkN4RlFVRkJRU3hKUVVGUExFMUJRVkV6UWl4RlFVRlBSaXhGUVVGVExFTkJRVU1zU1VGQlRUdEJRVUZCTEVsQlJYUkROa0lzU1VGQlR6dEJRVUZCTEVsQlExQkRMRWRCUVZFN1FVRkJRU3hIUVVOYU9VSXNSMEZCVlN4RlFVTldOa0lzUlVGQlN6TkNMRVZCUVU5R0xFVkJRVk1zUTBGQlF5eEZRVVV4UWl4UFFVRkxPRUlzU1VGRFJFRXNSVUZCVHl4TFFVTktMRU5CUVVVc1MwRkJRVUVzUlVGQlRTeFBRVUZCT1VJc1EwRkJUeXhEUVVNeFFpeERRVU5CTEVsQlFVMXJReXhIUVVGakxFTkJRMmhDTEVWQlFVc3NTMEZEVEN4RlFVRkhMRTlCUTBnc1JVRkJSeXhMUVVOSUxFVkJRVWNzVDBGRFNDeEZRVUZITEV0QlEwZ3NSVUZCUnp0QlFVRkJMRVZCUTBnc1JVRkJSeXhMUVVOSUxFVkJRVWNzU1VGRFNDeEZRVUZITEV0QlEwZ3NSVUZCUnl4UFFVTklMRVZCUVVjc1QwRkRTQ3hGUVVGSExGTkJRMGdzUlVGQlJ5eFRRVU5JTEVsQlFVc3NTVUZEVEN4SlFVRkxMRWxCUTB3c1NVRkJTeXhKUVVOTUxFdEJRVTBzUzBGRFRpeEpRVUZOTEVkQlExWXNSVUZEUVN4VFFVRlRSU3hIUVVGamJFTXNSVUZCVVVZc1JVRkJVVzFETEVWQlFWRndReXhGUVVGVExFTkJRM0JFTEVsQlFVMXJReXhGUVVGTEwwSXNSVUZCVHl4UFFVRlBSaXhGUVVGUmJVTXNRMEZCVFN4RlFVVnFRek5DTEVWQlJFdDVRaXhGUVVGSExGTkJRVmRGTEVkQlFWVXNhVUpCUVdsQ0xFdEJRVXRHTEVOQlFVVXNSVUZEZWtNc1UwRkJVMEVzUlVGQlNTeEZRVUZGTEVWQlFVa3NTVUZEY2tNc1IwRkJTU3hOUVVGTmVrSXNRMEZCU1N4RlFVRkhMRU5CUTJJc1NVRkJUVFpDTEVWQlFVMXVReXhGUVVGUExFOUJRVTlHTEVWQlFWTXNSVUZCUjIxRExFVkJRVk1zUTBGQlF5eEZRVU5vUkN4UFFVRkJjRU1zUlVGQlVVTXNSVUZCVXl4RlFVRkhMR2RDUVVGcFFpd3lRa0ZCTWtKeFF5eERRVUZITEVWQlFVVXNSVUZET1VSQkxFTkJRMWdzUTBGRFFTeFBRVUZQTEU5QlFVOHNZMEZCWXpkQ0xFTkJRVWtzUTBGRGNFTXNRME4yVGtFc1UwRkJVeXRDTEVkQlFXTkRMRVZCUVV0RExFVkJRVTlETEVWQlFWVkRMRVZCUVZNc1EwRkRiRVFzUjBGQlRTeERRVUZGTEUxQlFVRkRMRVZCUVU4c1MwRkJRVU1zUlVGQlRTeFJRVUZCUXl4RlFVRlRMRTFCUVVGRExFTkJRVTBzUlVGQlNVNHNSVUZCVFN4UFFVRlRMR1ZCUTJwRVR5eEhRVUZ0UWxJc1JVRkJTME1zUlVGQlQwVXNRMEZCVHl4RlFVTjBRMDBzUjBGQmEwSlNMRVZCUVU5RUxFVkJRVWtzVVVGQlVTeFBRVUZSUnl4RFFVRlBMRVZCUTNCRVR5eEZRVUZWVWl4RlFVTldSaXhGUVVGSkxGZEJRVmNzVVVGQlVVVXNSVUZCVXl4UFFVRlJVeXhIUVVGUFVpeEZRVUZSUkN4RlFVRlZMSEZDUVVGelFsTXNRMEZCUnl4RFFVRkRMRVZCUXpOR0xFdEJRMFpETEVWQlEwRmFMRVZCUVVrc1VVRkJVU3haUVVGalFTeEZRVUZKTEUxQlF6bENXU3hGUVVGTldpeEZRVUZKTEU5QlFVOWhMRVZCUVUwc1JVRkZiRUpJTEVWQlEweEZMRVZCUVUxRkxFZEJRVzlDWkN4RlFVRkpMRTlCUVZGSkxFVkJRVTlOTEVWQlFWTlNMRVZCUVZWRExFTkJRVThzUlVGRGJFVkdMRVZCUVUwc1QwRkJVeXhUUVVOd1FsY3NSVUZCVFVjc1IwRkJiMEptTEVWQlFVdEpMRVZCUVU5SUxFVkJRVTlGTEVOQlFVOHNSVUZGY0VSVExFVkJRVTFhTEVWQlFVa3NUMEZCVDJFc1JVRkJUU3hGUVVNelFpeEpRVUZKUnl4RlFVTktMRWRCUVVrc1EwRkRRU3hKUVVGTlF5eEZRVUZOVEN4RlFVRkpMRkZCUVZGU0xFVkJRVTlQTEVkQlFVOVNMRVZCUVZGRUxFZEJRVUVzUzBGQlFVRXNSVUZCV1VRc1JVRkJUeXh4UWtGQmMwSlZMRU5CUVVjc1JVRkJSMWdzUlVGQlNTeFBRVUZQTEVWQlEzaEhaMElzUlVGQlUwVXNSVUZCVTBRc1EwRkJSeXhGUVVGSlFTeEZRVUZOTEVsQlFVbEZMRVZCUVU5R0xFTkJRVWNzUTBGRGFrUXNUMEZEVDBjc1JVRkJUeXhEUVVOV0xFbEJRVTFVTEVWQlFVMVRMR0ZCUVdsQ0xFMUJRVkZCTEVWQlFVMHNVVUZCVlN4UFFVRlBRU3hEUVVGTExFVkJRMnBGYWtJc1JVRkJVVVFzUjBGQlFTeExRVUZCUVN4RlFVRlpSQ3hGUVVGUExIRkNRVUZ6UWxVc1EwRkJSeXhGUVVOd1JFc3NSVUZCVXl4SlFVRkpSeXhGUVVGUFppeERRVUZMTEVOQlF6ZENMRU5CUTBFc1QwRkJRVmtzUlVGQlR5eE5RVUZSVkN4RlFVTm1VeXhGUVVGUExFOUJRVk5hTEVWQlExcERMRWxCUTBGWExFVkJRVThzUzBGQlQxZ3NSMEZEWkVzc1NVRkRRVTBzUlVGQlR5eEpRVUZOVGl4SFFVTmlSU3hGUVVGSkxGTkJRMHBKTEVWQlFVOHNUMEZCVTBvc1JVRkJTU3hSUVVOd1FrNHNTVUZEUVZVc1JVRkJUeXhSUVVGVlZpeEhRVU5rVlN4RFFVTllMRU5CUTBFc1UwRkJVMFlzUjBGQmIwSlBMRVZCUVZGcVFpeEZRVUZQVFN4RlFVRlRVaXhGUVVGVlF5eEZRVUZUTEVOQk5VTjRSU3hKUVVGQmJVSXNSVUUyUTBrc1IwRkJTVm9zU1VGQldTeEpRVU5hTEU5QlFVOVhMRVZCUVU5U0xFVkJRVTBzUlVGRGVFSXNTVUZCVFZVc1JVRkJaMElzUTBGQlF5eEZRVU4yUWl4UlFVRlhXQ3hMUVVGUFV5eEZRVUZQTEV0QlEzSkNMRWRCUVVrc1EwRkJRMVFzUlVGQlNTeFpRVUZqUVN4RlFVRkpMRTFCUVZGR0xFVkJReTlDTEVkQlFVbEZMRVZCUVVrc1UwRkJWMEVzUlVGQlNTeExRVU51UWxjc1JVRkJZeXhMUVVGTFdDeERRVUZITEUxQlJYUkNMRkZCUVU5QkxFVkJSMjVDTEZGQlFWZEJMRXRCUVU5WExFVkJRMlFzU1VGQlNVUXNSVUZCUVZZc1JVRkJTU3hQUVVGS0xFMUJRVUZWTEVWQlFWVXNTMEZCUzJ4Q0xFZEJRMllzVDBGQlQxRXNSVUZEWml4SlFVRk5XU3hGUVVGTFNDeEZRVUZQTEZWQlFWVllMRU5CUVU4c1JVRkRia01zVDBGQlNXTXNSMEZCVFN4RFFVRkRRU3hGUVVGSExGbEJSMVpJTEVWQlFVOHNTMEZCU3l4TFFVRkxMRTlCUVU4c1QwRkJUeXhEUVVGRExFVkJRVWRITEVWQlFVa3NRMEZCUlN4UlFVRlRMRWRCUVU4c1MwRkJUU3hOUVVGVkxFTkJRVU1zUTBGQlF5eEZRVU53UlVFc1NVRkZXSEpDTEVWQlFWRkVMRVZCUVZVc2NVSkJRWE5DTEcxQ1FVRnRRbEVzUTBGQlR5eEhRVUZKUVN4SlFVRlpMSFZDUVVGMVFpeEZRVU5zUjFjc1JVRkJUMUlzUlVGQlRTeEZRVU40UWl4RFFVTkJMRk5CUVZORkxFZEJRVzlDTEVOQlFVVXNUVUZCUVZVc1JVRkJUeXhYUVVGQlF5eEZRVUZaTEU5QlFVRk1MRU5CUVU4c1JVRkJSMnBDTEVWQlFVOUlMRVZCUVU5RkxFVkJRVk1zUTBGeVJXNUdMRWxCUVVGdFFpeEZRWE5GU1N4SlFVRk5WaXhGUVVGTlV5eEZRVUZQTEV0QlFVc3NTMEZCUzFRc1IwRkJTU3hEUVhSRmNrTXNTVUZCUVZVc1JVRnpSWGxETEU5QlFVRldMRVZCUVVrc1ZVRkJXU3hKUVVGVFlTeEhRVUZUWWl4RlFVRkpMRlZCUVZrc1ZVRkRia1pWTEVWQlFVRldMRVZCUVVrc1QwRkJTaXhaUVVGQlZTeEZRVUZWTEV0QlFVdHNRaXhKUVVGTkxFZEJRVXRwUWl4RlFVRlBVaXhGUVVGTkxFVkJRek5ETEVkQlFVbFJMRVZCUVU4c1QwRkJVU3hEUVVObUxFbEJRVTFOTEVkQlFWTk1MRVZCUVVGRUxFVkJRVThzVDBGQlR5eExRVUZMVkN4SFFVRkpMRU5CZWtVNVF5eEpRVUZCVlN4RlFYbEZhVVFzVDBGQlFWWXNSVUZCU1N4WFFVRlhWU3hGUVVGQlZpeEZRVUZKTEU5QlFVb3NXVUZCUVZVc1JVRkJWU3hMUVVGTGJFSXNTVUZCVFN4SlFVRTVSQ3hMUVVGQmEwSXNSVUZEV0VRc1JVRkJUMUlzUlVGQlRTeEZRVU5xUWl4SFFVRkpSQ3hGUVVGSkxFMUJRVkZsTEVWQlFVOHNTVUZCU3l4RFFVTjRRaXhKUVVGTlF5eEZRVUZMUml4RlFVRlhMRlZCUVZWa0xFVkJRVWtzUjBGQlJ5eEZRVU5xUTJsQ0xFVkJRVXRJTEVWQlFWY3NWVUZCVlVNc1JVRkJUeXhIUVVGSExFVkJRM0JEYUVJc1JVRkJUU3hwUTBGQmFVTnBRaXhEUVVGRkxFOUJRVTlETEVOQlFVVXNSMEZEZUVReFFpeEZRVUZSUml4RlFVRlBMSEZDUVVGelFsVXNSVUZCU3l4RlFVRkpMRU5CUTJ4RUxFTkJRMG9zUTBGRFFTeFBRVUZQUXl4RFFVTllMRU5EYmtaQkxGTkJRVk5yUWl4SFFVRnZRa01zUlVGQlVVTXNSVUZCVVVNc1JVRkJTeXhEUVVNNVF5eEhRVUZKUkN4RlFVRlJMRU5CUTBwRExFbEJRVkVzVDBGRFVrRXNSVUZCVFVRc1JVRkJUeXhSUVVOcVFpeFJRVUZUUlN4RlFVRkpSQ3hGUVVGTkxFVkJRVWRETEVkQlFVc3NSVUZCUnl4RlFVRkZRU3hGUVVGSExFTkJReTlDTEVsQlFVbERMRVZCUVV0SUxFVkJRVTlGTEVOQlFVTXNSVUZEYWtJc1QwRkJVVU1zUlVGQlJ5eExRVUZOTEVOQlEySXNTVUZCU3l4UlFVTk1MRWxCUVVzc1ZVRkRUQ3hKUVVGTExGVkJRMFJLTEVkQlFWVkpMRVZCUVVjc1QwRkJUeXhQUVVOd1FpeFJRVU5TTEVOQlNVRXNTVUZFUVVFc1JVRkJTMGdzUlVGQlR5eEZRVUZGUlN4RFFVRkRMRWRCUTFKRExFZEJRVUVzV1VGQlFVRXNSVUZCU1N4UlFVRlRMRk5CUTJoQ1NpeEhRVUZWU1N4RlFVRkhMRTlCUVU4c1QwRkRjRUpCTEVWQlFVdElMRVZCUVU4c1JVRkJSVVVzUTBGQlF5eEZRVVZ1UWl4TFFVTktMRU5CUTBvc1EwRkRRU3hQUVVGUFNDeERRVU5ZTEVORGFrSkJMRWxCUVUxTExFZEJRVXNzUTBGQlJTeFpRVUZCUXl4SFFVRmhMR2xDUVVGQlF5eEZRVUZwUWl4RlFVTXpReXhUUVVGVFJDeEhRVUZaUlN4RlFVRkxReXhGUVVGUFF5eEZRVUZQUXl4RlFVRlRMRU5CUXpkRExFbEJRVTFETEVWQlFWRktMRVZCUVVrc1RVRkRXaXhEUVVGRkxGbEJRVUZMTEVWQlFXRXNVVUZCUVVNc1JVRkJVeXhQUVVGQlF5eEZRVUZSTEVsQlFVRkRMRU5CUVVrc1JVRkJTVTRzUlVGRE1VTlBMRVZCUTBGRExFVkJRV0VzUjBGRGFrSXNUMEZCVVZRc1JVRkJUU3hMUVVGTkxFTkJRMmhDTEVsQlFVc3NVVUZEUkZFc1JVRkJUMFVzUjBGQllWZ3NSVUZCUzBNc1JVRkJUMFVzUTBGQlR5eEhRVU51UTBrc1IwRkJWVU1zU1VGRFZrd3NSVUZCVVVZc1JVRkJUeXhqUVVGbExDdERRVUVyUXl4RlFVTnFSaXhOUVVOS0xFbEJRVXNzVTBGRFRDeEpRVUZMTEhWQ1FVTk1MRWxCUVVzc2RVSkJRMHdzU1VGQlN5eGxRVU5FVVN4RlFVRlBSeXhIUVVGaldpeEZRVUZMUXl4RlFVRlBUeXhGUVVGTFRDeERRVUZQTEVWQlEzcERTU3hKUVVOQlJTeEZRVUZMTEU5QlFWTkdMRVZCUVU4c1QwRkJUeXhWUVVGVkxFTkJRVU1zUjBGRE0wTXNUVUZEU2l4SlFVRkxMRmxCUTB3c1NVRkJTeXhaUVVOTUxFbEJRVXNzYTBKQlEwUkZMRVZCUVU5SkxFZEJRV3RDYUVJc1IwRkJTVWNzUlVGQlMwTXNSVUZCVDBNc1JVRkJUME1zUTBGQlR5eEZRVU51UkVrc1NVRkRRVVVzUlVGQlN5eFBRVUZUUml4RlFVRlBMRTlCUVU4c1ZVRkJWU3hEUVVGRExFZEJRek5ETEUxQlEwb3NVVUZCVXl4RFFVTk1MRWxCUVUxUExFVkJRVlZpTEVWQlFVMHNUMEZCVXl4UlFVTjZRa0VzUlVGQlRTeFJRVU5PTERSQ1FVRTBRa0VzUlVGQlRTeEpRVUZKTEVsQlF6VkRSU3hGUVVGUlJpeEZRVUZQTEcxQ1FVRnZRbUVzUTBGQlR5eEZRVU14UTB3c1JVRkJUMVlzUjBGQmFVSkRMRVZCUVV0RExFVkJRVTBzVDBGQlVTeFBRVUZYTEV0QlFVMURMRVZCUVU5RExFTkJRVThzUlVGRE1VVlBMRVZCUVdFc1JVRkRha0lzUTBGRFNpeERRVU5CTEU5QlFVbElMRWRCUVZWRkxFVkJRVXNzVTBGQlZ5eEpRVU14UWs0c1JVRkJVVWtzUlVGQlVTeFpRVUZoTEd0RFFVRnJReXhGUVVNdlJFZ3NSMEZEUVVvc1JVRkJTU3hSUVVGUkxHRkJRMWdzUTBGQlEyVXNSVUZCVTA0c1EwRkJTU3hIUVVOWUxFOUJRVTlCTEVWQlFVc3NUMEZCVlN4VlFVTnlRa0VzUlVGQlN5eExRVUZQUVN4RlFVRkxMRTFCUVZFc01FSkJSVGxDVGl4RlFVRlJTeXhIUVVGQkxFdEJRVUZCTEVWQlFVOVFMRVZCUVU4c2FVSkJSRllzTWtOQlF5dENMRVZCUlRORFNTeEpRVU5CU1N4RlFVRkxMRmxCUVdNc1NVRkRia0pJTEVsQlEwbE1MRVZCUVUwc1QwRkJVeXhWUVVGWlFTeEZRVUZOTEZOQlFWY3NSMEZETlVOUkxFVkJRVXNzVVVGQlZVZ3NSVUZGWmtjc1JVRkJTeXhqUVVGblFrZ3NSMEZIZWtKT0xFVkJRVWtzVVVGQlVTeHJRa0ZCYjBKVkxFbEJRMmhEUkN4RlFVRkxMRk5CUVZkU0xFZEJRMkpSTEVOQlExZ3NRMEZEUVN4VFFVRlRWaXhIUVVGcFFrTXNSVUZCUzJkQ0xFVkJRVkZETEVWQlFWRkRMRVZCUVVzc1EwRkJSU3haUVVGQllpeEZRVUZoTEZGQlFVRkRMRVZCUVZNc1QwRkJRVU1zUlVGQlVTeEpRVUZCUXl4RlFVRkxMRWxCUVVGWExFTkJRVWtzUlVGQlIyaENMRVZCUVZNc1EwRkRja2NzU1VGQlRVWXNSVUZCVVN4RFFVTldMRXRCUVUwc1UwRkRUaXhQUVVGUmJVSXNSMEZCYjBKS0xFVkJRVkZETEVWQlFWRkRMRU5CUVVjc1JVRkRMME1zVDBGQlVTeEhRVU5TTEU5QlFWRXNSVUZEV2l4RlFVTk5WQ3hGUVVGUFJ5eEhRVUZqV2l4RlFVRkxReXhGUVVGUFR5eEZRVUZMVEN4RFFVRlBMRVZCUTI1RUxFOUJRVWxKTEVsQlEwRkZMRVZCUVVzc1QwRkJVMFlzUlVGQlR5eFBRVUZQTEZWQlFWVXNRMEZCUXl4RlFVTnVRMFVzUlVGQlN5eFRRVUZYTEVsQlEyaENUaXhGUVVGUlNTeEZRVUZSTEZsQlFXRXNhME5CUVd0RExFZEJSVzVGUml4SlFVTkJTU3hGUVVGTExGbEJRV01zU1VGRGJrSklMRWxCUTBGSExFVkJRVXNzVVVGQlZVZ3NSVUZEWmtjc1JVRkJTeXhOUVVGTkxFTkJRVU1zUlVGQlNWVXNSMEZGWWxZc1EwRkRXQ3hEUVVOQkxGTkJRVk5GTEVkQlFXRXNRMEZCUlN4UlFVRkJWU3hEUVVGUkxFVkJRVWNzUTBGQlJTeFBRVUZCVEN4RlFVRlJMRTlCUVVGTkxFVkJRVkVzU1VGQlFVZ3NRMEZCU1N4RlFVRkhhRUlzUlVGQlV5eERRVU5xUlN4SlFVRk5iMElzUlVGQlVTeEpRVUZKUXl4SFFVRk5SaXhGUVVGUExGVkJRVlVzUTBGQlF5eERRVUZETEVWQlEzWkRReXhGUVVGTkxGTkJRVmNzU1VGRGFrSndRaXhGUVVGUllTeEZRVUZSTEZsQlFXRXNhVU5CUVdsRExFVkJRemxFVHl4RlFVRk5MRTlCUVU4c1UwRkJVeXhIUVVGSExFZEJRM3BDY0VJc1JVRkJVV0VzUlVGQlUwMHNSVUZCVHl4UFFVRlRMRVZCUVVjc1dVRkJZU3hwUTBGQmEwTXNSVUZCU1N4RlFVTXpSaXhKUVVGTlJ5eEZRVUZYVkN4RlFVRlRUU3hGUVVGUExFOUJRek5DU1N4RlFVRkxReXhIUVVGWFVpeEZRVUZMVFN4RlFVRlZTaXhGUVVGUkxFOUJRVkZzUWl4RFFVRlBMRVZCUXpWRUxFOUJRVUZ2UWl4RlFVRk5MRTFCUVZFc1EwRkJRMUFzUlVGQlVWTXNSVUZCVlVNc1JVRkJSeXhOUVVGTkxFVkJRM1JEUVN4RlFVRkhMRlZCUTBoSUxFVkJRVTBzVVVGQlZVY3NSVUZCUnl4VFFVTm9Ra2dzUTBGRFdDeERRemxHUVN4VFFVRlRTeXhIUVVGWFF5eEZRVUZUUXl4RlFVRlpMRU5CUVVVc1QwRkJRVU1zUlVGQlVTeE5RVUZCUXl4RlFVRlBMRTFCUVVGRExFVkJRVThzU1VGQlFVTXNRMEZCU1N4RlFVRkhReXhGUVVGVExFTkJRemRGTEVsQlFVMURMRVZCUVU4c1QwRkJUeXhQUVVGUExFTkJRVVVzV1VGQllVNHNRMEZCVnl4RlFVRkhSQ3hEUVVGUExFVkJRM3BFVVN4RlFVRk5MRWxCUVVsRExFZEJRVk1zVDBGQlYwWXNRMEZCU1N4RlFVTnNRMGNzUlVGQlRTeERRVU5TTEUxQlFVOHNSMEZEVUN4UFFVRlJMRWRCUTFJc1YwRkJXVVlzUlVGQlNTeFhRVU5vUWl4UlFVRlRRU3hGUVVGSkxGRkJRMklzVDBGQlVVRXNSVUZCU1N4TlFVTm9RaXhGUVVOTlJ5eEZRVUZSUXl4SFFVRmhWQ3hGUVVGUExFTkJRemxDTEZWQlFWY3NXVUZEV0N4TFFVRk5ReXhIUVVGQkxFdEJRVUZCTEVWQlFWTkRMRWRCUVVFc1dVRkJRVUVzUlVGQlRTeEhRVU55UWl4UFFVRkJTQ3hGUVVOQkxGRkJRVUZKTEVWQlEwRXNZVUZCWXl4RlFVTmtMR1ZCUVdkQ0xFVkJRM0JDTEVOQlFVTXNSVUZEUjBzc1JVRkJUU3hSUVVOT1NDeEZRVUZKTEZkQlFWY3NVMEZCVnl4SFFVTjBRa29zU1VGRFEwRXNSVUZCVFN4UFFVRlRMR0ZCUVdWQkxFVkJRVTBzVDBGQlV5eGpRVU01UXl4RFFVRkRUeXhGUVVGTkxGbEJRMUJNTEVWQlFWRkxMRVZCUVUwc1NVRkJTeXhsUVVGblFpeDFSVUZCZFVVc1IwRkhiRWhJTEVWQlFVa3NVMEZCVjBvc1JVRkRWRk1zUjBGQldVZ3NSVUZCUzA0c1JVRkJUMDhzUlVGQlQwd3NRMEZCVHl4RlFVTjBRMUVzUjBGQmFVSktMRVZCUVV0RExFVkJRVTBzU1VGQlMxSXNSVUZCVHl4TFFVRk5VU3hGUVVGUFRDeERRVUZQTEVWQlEyeEZMRWxCUVUxVExFVkJRV0ZRTEVWQlFVa3NVMEZCVXl4TlFVRk5MRU5CUVVNc1JVRkRha05STEVWQlFVdERMRWRCUVZkYUxFVkJRVXRWTEVWQlFWa3NSMEZCVDFRc1EwRkJUeXhGUVVOeVJDeFBRVUZKVlN4RlFVRkhMRlZCUTBoU0xFVkJRVWtzVVVGQlZWRXNSVUZCUnl4VFFVTnlRbElzUlVGQlNTeE5RVUZSTEVOQlFVTk9MRVZCUVZGaExFVkJRVmxETEVWQlFVY3NUVUZCVFN4RlFVTnVRMUlzUTBGRFdDeERRMnBEUVN4VFFVRlRWU3hIUVVGWlF5eEZRVUZMTEVOQlEzUkNMRWRCUVVrc1QwRkJUMEVzUjBGQlVTeFRRVU5tTEUxQlFVOHNRMEZCUTBFc1JVRkJTMEVzUlVGQlRTeERRVUZETEVWQlEzaENMRWRCUVVrc1RVRkJUU3hSUVVGUlFTeERRVUZITEVWQlEycENMRTlCUVU5QkxFVkJRVWtzVTBGQlZ5eEZRVUZKUVN4RlFVRk5MRU5CUVVOQkxFVkJRVWtzUTBGQlF5eEZRVUZIUVN4RlFVRkpMRU5CUVVNc1EwRkJReXhGUVVOdVJDeEhRVUZOTEVOQlFVVXNUMEZCUVVNc1JVRkJVU3hQUVVGQlF5eERRVUZQTEVWQlFVbEdMRVZCUXpOQ0xFMUJRVThzUTBGQlEwTXNSVUZCVVVFc1IwRkJWU3hQUVVGUFF5eEhRVUZYTEZOQlFWZEJMRVZCUVU4c1QwRkJVeXhGUVVGRkxFTkJRemRGTEVOQlEwRXNVMEZCVTBNc1IwRkJZVU1zUlVGQlV5eERRV1l2UWl4SlFVRkJReXhGUVdkQ1NTeEpRVUZKUXl4RlFVRlZMRWRCUTFaRExFVkJRVmtzUjBGRFdrTXNSVUZCYVVJc1IwRkRja0lzVVVGQlV5eEZRVUZKTEVWQlFVY3NSVUZCU1Vvc1JVRkJVU3hQUVVGUkxFVkJRVVVzUlVGQlJ5eERRVU55UXl4SlFVRk5SaXhGUVVGVFJTeEZRVUZSTEVOQlFVTXNSVUZEZUVJc1QwRkJVVVlzUlVGQlR5eERRVUZETEVWQlFVY3NRMEZEWml4SlFVRkxMRWxCUTBSSkxFbEJRMHRCTEVsQlFWa3NSMEZCU3l4SFFVRkxSU3hGUVVGcFFqdEJRVUZCTzBGQlFVRXNSVUZCVXp0QlFVRkJMRWxCUXpWRFRpeEZRVUZQTEZWQlFWVXNRMEZCUXl4SFFVRkxMRXRCUTJoRFN5eEZRVUZaTEVkQlExcERMRVZCUVdsQ0xFZEJRMnBDTEUxQlEwb3NTVUZCU3l4TlFVTkhTQ3hGUVVGQlJDeEZRVUZSTEVWQlFVa3NRMEZCUXl4SlFVRmlMRmxCUVVGRExFVkJRV2xDTEUxQlFVOHNUVUZEZUVJc1IwRkJTeXhIUVVOVVJTeEZRVUZaTEVkQlExb3NUVUZEU2l4UlFVVlRRU3hKUVVORVF5eEZRVUZwUWl4SlFVTnlRa1FzUlVGQldTeEZRVU53UWl4RFFVTktMRU5CUTBFc1RVRkJUeXhEUVVGRkxGRkJRVUZFTEVWQlFWTXNaVUZCUVVVc1EwRkJaU3hEUVVOeVF5eERRVmxCTEVsQlFVMURMRWRCUVU0c1MwRkJaU3hEUVVOWUxGbEJRVmxETEVWQlFWVXNRMEZCUXl4RlFVRkhMRU5CUTNSQ0xFdEJRVXNzU1VGQlRTeExRVU5ZTEV0QlFVc3NZVUZCWlN4SFFVTndRaXhMUVVGTExGRkJRVlVzUTBGQlF5eEZRVU5vUWl4TFFVRkxMRTlCUVZNc1EwRkJReXhGUVVObUxFdEJRVXNzVTBGQlZ5eERRVUZETEVWQlEycENMRXRCUVVzc1VVRkJWU3hEUVVGRFVpeEZRVUZSVXl4RlFVRk5ReXhGUVVGVFF5eEpRVUZaTEVOQlF5OURMRWxCUVUxRExFVkJRVTFtTEVkQlFWbEhMRU5CUVUwc1JVRkRNVUpYTEVWQlEwRXNTMEZCU3l4VFFVRlRMRXRCUVVzc1NVRkJTVVVzUjBGQldVUXNSVUZCUzBnc1JVRkJUVU1zUTBGQlR5eERRVUZETEVWQlJYUkVMRXRCUVVzc1QwRkJUeXhMUVVGTExFbEJRVWxKTEVkQlFXVkdMRVZCUVV0SUxFVkJRVTFETEVOQlFVOHNRMEZCUXl4RFFVTXZSQ3hGUVVWQkxFdEJRVXNzVjBGQllTeEpRVUZKU3l4SFFVRlhMRU5CUVVVc1VVRkJVMUFzUlVGQlVTeFRRVUZYTEV0QlFVMHNRMEZCUXl4RlFVTjBSU3hMUVVGTExGRkJRVlZCTEVOQlEyNUNMRU5CUTBFc1UwRkJVMUVzUlVGQlMwTXNSVUZCVlN4RFFVTndRaXhIUVVGTkxFTkJRVVVzVVVGQlFXSXNSVUZCVXl4bFFVRkJSU3hEUVVGbExFVkJRVWxNTEVkQlFXRXNTMEZCU3l4UFFVRlBMRVZCUlRkRUxFZEJRVWxITEVWQlFWTXNRMEZEVkN4SlFVRk5ZeXhGUVVGTFJpeEZRVUZKTEZOQlEyWXNSMEZCU1VNc1JVRkRRVVFzUlVGQlNTeFJRVUZWUVN4RlFVRkpMRkZCUVZVc1IwRkJSMEVzUlVGQlNTeFBRVUZQTzBGQlFVRXNSVUZCUzFvc1EwRkJUeXhIUVVGTFFTeFZRVVYwUkVVc1IwRkJhMEpWTEVWQlFVa3NWMEZCVnl4VlFVRlpMRU5CUVVORkxFVkJRMjVFUml4RlFVRkpMR05CUVdkQ1dpeFZRVVZtWlN4RlFVRmhSQ3hEUVVGRkxFZEJRVXNzUTBGQlEwRXNSVUZCUnl4TlFVRlJRU3hGUVVGSExFMUJRVTBzVDBGQlV5eEZRVUZITEVOQlF6RkVMRWxCUVVsRkxFVkJRVXRHTEVWQlFVY3NUVUZCVFN4RFFVRkRMRVZCUTJaSExFVkJRVTlFTEVOQlFVVXNTVUZEVkVFc1JVRkJTMEVzUlVGQlJ5eExRVU5hTEVsQlFVMUZMRVZCUVV0R0xFVkJRVWNzWTBGRFpFRXNSVUZCUnl4alFVRm5Ra1VzUlVGQlN5eEhRVUZIYkVJc1EwRkJUenRCUVVGQkxFVkJRVXRyUWl4RFFVRkZMRWRCUVV0c1FpeERRVU5zUkN4TFFVTkxMRU5CUTBRc1NVRkJUV3RDTEVWQlFVdEtMRVZCUVVjc1kwRkRaRUVzUlVGQlJ5eGpRVUZuUWtrc1JVRkJTeXhIUVVGSGJFSXNRMEZCVHp0QlFVRkJMRVZCUVV0clFpeERRVUZGTEVkQlFVdHNRaXhEUVVOc1JDeERRVU5LTEVOQlEwbGhMRWRCUTBFc1RVRkJUU3hWUVVGVkxFdEJRVXNzVFVGQlRVUXNSVUZCU1N4UFFVRlJMRXRCUVVzc1RVRkJUU3hGUVVOc1JDeE5RVUZOTEZWQlFWVXNTMEZCU3l4TlFVRk5RU3hGUVVGSkxGTkJRVlVzUzBGQlN5eFJRVUZSTEVsQlIzUkVRU3hGUVVGSkxFOUJRVk1zUzBGQlN5eFBRVU5zUWtFc1JVRkJTU3hUUVVGWExFdEJRVXNzVlVGRmVFSXNTMEZCU3l4UlFVRlZMRU5CUVVNc1JVRkRhRUlzUzBGQlN5eFBRVUZUTEVOQlFVTXNSVUZEWml4TFFVRkxMRk5CUVZjc1EwRkJReXhEUVVOeVFpeERRVTFCTEZsQlFXRXNRMEZEVkN4TlFVRlBMRU5CUTBnc1VVRkJVMllzUjBGQllTeExRVUZMTEU5QlFVOHNSVUZCUlN4UlFVTndReXhYUVVGWkxFdEJRVXNzVjBGRGFrSXNUMEZCVVN4TFFVRkxMRTlCUTJJc1UwRkJWU3hMUVVGTExGRkJRMjVDTEVOQlEwb3NRMEZQUVN4RFFVRkRMRkZCUVZGelFpeEZRVUZSUXl4RlFVRlhMRWRCUVU5RExFVkJRVmtzUjBGQlNTeERRVU12UXl4UlFVRlhReXhMUVVGVFNDeEZRVU5vUWl4TlFVRkJTU3hGUVVGUExFdEJRVXNzUzBGQlMwUXNRMEZCU3l4SFFVTXhRaXhOUVVGQlF5eEZRVUZQTEV0QlFVc3NTVUZCU1Vnc1JVRkJWVU1zUTBGQlV5eEZRVU4yUXl4RFFVVkJMRU5CUVVNc1MwRkJTME1zUlVGQlR5eERRVU5VTEU5QlFWRkJMRVZCUVUwc1MwRkJUU3hEUVVOb1FpeEpRVUZMTEZsQlEwUXNTMEZCU3l4WFFVRlhMRWxCUVVsQkxFVkJRVTBzVDBGQlVTeERRVUZETTBJc1JVRkJVVmNzUlVGQlUwTXNTVUZCV1N4RFFVTTFSQ3hKUVVGTlF5eEZRVUZOWml4SFFVRlpOa0lzUTBGQlN5eEZRVU0zUW1Rc1JVRkJTU3hEUVVGRExFZEJRVXRpTEVWQlExWXNTMEZCU3l4UlFVRlJZU3hGUVVGTExHZENRVUZwUWtZc1JVRkJVME1zUTBGQlR5eERRVU4yUkN4RFFVRkRMRVZCUTBRc1MwRkJTeXhSUVVGUkxFdEJRVXRsTEVWQlFVMHNUVUZCVFN4RlFVTTVRaXhMUVVGTExHRkJRV1VzUjBGRGNFSXNUVUZEU2l4SlFVRkxMRmRCUVZrc1EwRkRZaXhKUVVGTlZpeEZRVUZOV1N4SFFVRlhMRXRCUVVzc1VVRkJVeXhMUVVGTExGZEJRVmxHTEVWQlFVOHNTMEZCU3l4UFFVRlBMRVZCUTNKRkxFdEJRVXNzWTBGQlowSXNRMEZCUTFZc1JVRkJTU3hYUVVGWExGVkJRM0pETEV0QlFVc3NVVUZCVVZVc1JVRkJUeXhsUVVGblFpeHBSRUZCYVVRc1JVRkRla1lzUzBGQlN5eFRRVUZUVml4RlFVRkxMRVZCUVVzc1JVRkRjRUlzUzBGQlN5eE5RVU5NTEUxQlFVMHNTMEZCU3l4TFFVTm1MRXRCUVVzc1NVRkJUVUVzUlVGRFdDeExRVUZMTEdGQlFXVXNSMEZEY0VJc1MwRkRTaXhEUVVOQkxFbEJRVXNzYTBKQlEwd3NTVUZCU3l4UlFVTkVMRTFCUTBvc1NVRkJTeXhWUVVOTUxFbEJRVXNzVlVGRFJDeExRVUZMTEZGQlFWRXNTMEZCUzFVc1JVRkJUU3hOUVVGTkxFVkJRemxDTEUxQlEwb3NTVUZCU3l4UlFVRlRMRU5CUTFZc1NVRkJUVWNzUlVGQlRVZ3NSVUZCVFN4UFFVTmFMRWRCUVVkQkxFVkJRVTBzVDBGQlR5eExRVUZMTEV0QlFVc3NWVUZCVlVFc1JVRkJUU3hOUVVGTkxFTkJRVU1zUjBGRGFrUkJMRVZCUVUwc1VVRkRUa2tzUlVGQlVTeEpRVUZKYUVJc1IwRkJaV3BDTEVkQlFWazJRaXhEUVVGTExFVkJRVWNzYlVKQlFXOUNSeXhEUVVGSExFVkJRM2hGTEV0QlFVc3NZMEZCWjBJc1EwRkJReXhMUVVGTExFbEJRek5DTEV0QlFVc3NUMEZCVHl4TFFVRkxReXhEUVVGTExFVkJSWFJDTEV0QlFVc3NTVUZCU1N4UFFVRlBMRXRCUVV0QkxFTkJRVXNzUlVGRE9VSXNTMEZEU2l4RFFVTkJMRWxCUVVzc1ZVRkJWeXhEUVVOYUxFZEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVc3NRMEZEV0N4SlFVRk5SQ3hGUVVGTkxHZEVRVU5hTEV0QlFVc3NUMEZCVHl4TFFVRkxMRWxCUVVsbUxFZEJRV1ZxUWl4SFFVRlpOa0lzUTBGQlN5eEZRVUZITEcxQ1FVRnZRa2NzUTBGQlJ5eERRVUZETEVWQlEyaEdMRXRCUTBvc1EwRkRRU3hMUVVGTExFbEJRVWtzVjBGQlZ5eFBRVUZUTEVkQlF6ZENMRWxCUVUxRkxFVkJRVTFETEVkQlFWZE9MRVZCUVUwc1NVRkJTMEVzUlVGQlRTeFBRVUZUUVN4RlFVRk5MRTlCUVU4c1QwRkJVU3hMUVVGTExFbEJRVWtzVVVGQlVTeFBRVUZSTEV0QlFVc3NUMEZCVHl4RlFVVXpSeXhIUVVSQkxFdEJRVXNzVTBGQlV5eExRVUZMTEVsQlFVc3NSVUZCU1N4RlFVTjRRa3NzUlVGQlNTeFJRVUZUTEVOQlEySXNTVUZCVFdJc1JVRkJTeXhMUVVGTExFbEJRVWtzVVVGRGNFSXNTMEZCU3l4SlFVRkpMRkZCUVZWQkxFVkJRVXNzUjBGQlIwRXNRMEZCUlR0QlFVRkJMRVZCUVV0aExFVkJRVWtzVDBGQlR5eEhRVUZMUVN4RlFVRkpMRTlCUXpGRUxFTkJRMEVzUzBGQlN5eEpRVUZKTEUxQlFVMHNRMEZCUXl4RlFVRkpRU3hGUVVGSkxFOUJRM2hDTEV0QlEwb3NRMEZEUVN4UlFVTkpMRXRCUVVzc1QwRkJUeXhMUVVGTExFbEJRVWxxUWl4SFFVRmxha0lzUjBGQldUWkNMRU5CUVVzc1JVRkJSeXh0UWtGQmIwSXNjVUpCUVhGQ1FTeEZRVUZOTEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUTNSSUxFTkJRMG9zUTBGUFFTeERRVUZETEVsQlFVbEdMRVZCUVZjc1IwRkJUME1zUlVGQldTeEhRVUZKTEVOQlEyNURMRWRCUVVrc1MwRkJTeXhKUVVOTUxFdEJRVXNzVTBGQlV5eExRVUZMTEVsQlFVc3NSVUZCU1N4RlFVTTFRaXhOUVVGTkxFdEJRVXNzU1VGRFdDeExRVUZMTEVsQlFVMHNZVUZGVGtRc1JVRkJWU3hEUVVObUxFbEJRVTFUTEVWQlFVOHNUMEZCVHl4UFFVRlBMRU5CUVVVc1dVRkJZU3hMUVVGTExGVkJRVmNzUlVGQlJ5eExRVUZMTEU5QlFVOHNSVUZEYmtWcVFpeEZRVUZOTEVsQlFVbHJRaXhIUVVGVExFOUJRVmRFTEVOQlFVa3NSVUZEY0VNc1MwRkJTeXhqUVVOTUxFdEJRVXNzVVVGQlVWSXNSVUZCVnl4bFFVRm5RaXgxUTBGQmRVTXNSVUZEYmtaVUxFVkJRVWtzVFVGQlVTeERRVUZETEVWQlFVZFRMRVZCUVZkQkxFTkJRVk1zUlVGRGNFTXNTMEZCU3l4VFFVRlRWQ3hGUVVGTExFVkJRVXNzUlVGRGVFSXNUVUZCVFVFc1EwRkRWaXhEUVVOS0xFTkJRMG9zUlVOMFRrRXNTVUZCVFcxQ0xFZEJRVkVzVDBGQlR5eGhRVUZoTEVWQlF6VkNReXhIUVVGUExFOUJRVThzWlVGQlpTeEZRVU0zUWtNc1IwRkJVeXhQUVVGUExHRkJRV0VzUlVFMlFtNURMRk5CUVZORExFZEJRVTFETEVWQlFVdERMRVZCUVZNc1EwRkRja0lzVTBGQlZVUXNSMEZCVDBFc1JVRkJTU3hQUVVGVExHRkJRemxDUVN4RlFVRk5MRU5CUVVVc1RVRkJUMEVzUlVGQlNTeE5RVUZQTEUxQlFVOUJMRVZCUVVrc1MwRkJUU3hIUVVNdlEwVXNSMEZCVHl4UFFVRlBMRTlCUVU4c1EwRkJReXhEUVVGRExFVkJRVWRHTEVWQlFVdERMRU5CUVU4c1EwRkRNVU1zUTBGTFFVWXNSMEZCVFN4TlFVRlJTQ3hIUVVWa1J5eEhRVUZOTEV0QlFVOUdMRWRCUldKRkxFZEJRVTBzVDBGQlUwUXNSMEZGWmtNc1IwRkJUU3hYUVVGaExFTkJRVU5ETEVWQlFVdEhMRWxCUVZNc1EwRkRPVUlzU1VGQlNVTXNSVUZCVDBvc1JVRkRXQ3hQUVVGWExFTkJRVU5MTEVWQlFVOURMRU5CUVVzc1NVRkJTMGdzUlVGQlRTeERRVU12UWl4SlFVRk5TU3hGUVVGTlNDeEhRVUZCTEZsQlFVRkJMRVZCUVU5RExFZEJRMjVDTEVkQlFVbEZMRWRCUVU4c1ZVRkJWMEVzUlVGRGJFSklMRVZCUVU5SExFVkJRVWtzVFVGQlRVUXNRMEZCU3l4TlFVZDBRaXhQUVVOU0xFTkJRMEVzVDBGQlQwWXNRMEZEV0N4RlFVMUJUQ3hIUVVGTkxHbENRVUZ0UWl4RFFVRkRReXhGUVVGTFJ5eEpRVUZUTEVOQlEzQkRMRWxCUVUxTExFVkJRVk5VTEVkQlFVMHNWMEZCVjBNc1JVRkJTMGNzUlVGQlN5eE5RVUZOTEVWQlFVY3NSVUZCUlN4RFFVRkRMRVZCUTJoRVJTeEZRVUZSUml4RlFVRkxRU3hGUVVGTExFOUJRVk1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZETDBKTkxFVkJRVTlFTEVkQlFVRXNXVUZCUVVFc1JVRkJVMGdzUjBGRGRFSXNSMEZCU1Vrc1IwRkJVU3hWUVVGWFFTeEZRVU51UWl4UFFVRlBRU3hGUVVOWUxFMUJRVTBzU1VGQlNTeE5RVUZOTERaQ1FVRTJRaXhEUVVOcVJDeEZRVU5CTEZOQlFWTlFMRWRCUVU5RExFVkJRVTFETEVWQlFVMUlMRVZCUVZNc1EwRkRha01zU1VGQlNWTXNSVUZCVDFRc1JVRkJVVWNzUlVGQlRVUXNRMEZCU1N4RlFVTTNRaXhIUVVGSkxFOUJRVTlQTEVkQlFWTXNVMEZEYUVJc1QwRkJUMEVzUlVGRFdDeFJRVUZYVEN4SlFVRlRMRU5CUVVNc1RVRkJUeXhQUVVGUExFVkJRVWNzUTBGRGJFTXNTVUZCVFUwc1JVRkJVVkFzUlVGQlMwTXNRMEZCU3l4RlFVTjRRaXhIUVVGSlRTeEhRVUZUTEZWQlFWZEJMRVZCUVU4c1EwRkRNMElzVVVGQlUwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSlJDeEZRVUZOTEUxQlFVMHNUMEZCVVN4RlFVRkZReXhGUVVGSExFTkJRM3BETEVsQlFVMURMRVZCUVV0WUxFZEJRVThzVDBGQlR5eFBRVUZQUXl4RlFVRkxMRTlCUVU4c1EwRkJReXhEUVVGRFJTeEZRVUZQVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVWRFTEVWQlFVMHNUVUZCVFVNc1EwRkJReXhGUVVGSFdDeERRVUZQTEVWQlEyNUdMRWRCUVVrc1QwRkJUMWtzUjBGQlR5eFRRVU5rUkN4RlFVRkpReXhGUVVGTExFMUJRMUlzU1VGQlNVRXNTVUZCVDJwQ0xFZEJRMW9zVDBGQlQwRXNSMEZEUm1sQ0xFbEJRVTltTEV0QlExcGhMRVZCUVUwc1RVRkJUU3hQUVVGUFF5eEZRVUZITEVOQlFVTXNSVUZEZGtKQkxFZEJRVXNzUjBGRllpeERRVU5KTEU5QlFVOUdMRWRCUVZNc1dVRkJZMHdzU1VGQlZTeFJRVU40UTBzc1JVRkJUMEVzUlVGQlMwNHNSVUZCVFVRc1EwRkJTU3hGUVVNNVFpeERRVU5LTEVOQlEwRXNUMEZCVHl4UFFVRlBUeXhIUVVGVExGZEJRV0ZCTEVWQlFVdE9MRVZCUVUxRUxFTkJRVWtzUlVGQlNVOHNRMEZETTBRc1EwTjZSa0VzU1VGQlRVa3NSMEZCVFN4VFFVVk9ReXhIUVVGWExFbEJSVmhETEVkQlFWY3NTVUZGV0VNc1IwRkJVeXhKUVRCQ1ppeFRRVUZUUXl4SFFVRlZReXhGUVVGUkxFTkJRM1pDTEU5QlFWRkJMRVZCUVZFc1EwRkRXaXhMUVVGTFF5eEhRVU5FTEUxQlFVOHNhMEpCUTFnc1MwRkJTME1zUjBGRFJDeE5RVUZQTEZkQlExZ3NTMEZCUzBNc1IwRkRSQ3hOUVVGUExHbENRVU5ZTEV0QlFVdERMRWRCUTBRc1RVRkJUeXhUUVVOWUxFbEJRVXNzVFVGRFJDeE5RVUZQTEZsQlExZ3NTVUZCU3l4TlFVTkVMRTFCUVU4c1ZVRkRXQ3hKUVVGTExFZEJRMHdzU1VGQlN6dEJRVUZCTEVWQlEwd3NTVUZCU3p0QlFVRkJMRVZCUTBRc1RVRkJUeXhWUVVOWUxFbEJRVXNzU1VGRFJDeE5RVUZQTEdWQlExZ3NTVUZCU3l4SlFVTkVMRTFCUVU4c2JVSkJRMWdzU1VGQlN5eEpRVU5FTEUxQlFVOHNaMEpCUTFnc1NVRkJTeXhKUVVORUxFMUJRVThzYVVKQlExZ3NTVUZCU3l4SlFVTkVMRTFCUVU4c1pVRkRXQ3hKUVVGTExFbEJRMFFzVFVGQlR5eHBRa0ZEV0N4SlFVRkxMRWxCUTBRc1RVRkJUeXhsUVVOWUxFbEJRVXNzU1VGRFJDeE5RVUZQTEU5QlEyWXNRMEZEUVN4UFFVRlJTaXhGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU5tTEVsQlFVc3NTVUZEVEN4SlFVRkxMRWxCUTBRc1RVRkJUeXhSUVVOWUxFbEJRVXNzU1VGRFJDeE5RVUZQTEZWQlExZ3NTVUZCU3l4SlFVTkVMRTFCUVU4c2FVSkJRMWdzU1VGQlN5eEpRVU5FTEUxQlFVOHNVVUZEV0N4SlFVRkxMRWxCUTBRc1RVRkJUeXhUUVVOWUxFbEJRVXNzU1VGRFJDeE5RVUZQTEUxQlExZ3NTVUZCU3l4SlFVTkVMRTFCUVU4c2RVSkJRMWdzU1VGQlN5eEpRVU5FTEUxQlFVOHNkVUpCUTFnc1NVRkJTeXhKUVVOTUxFbEJRVXNzU1VGRFJDeE5RVUZQTEhGQ1FVTm1MRU5CUTBFc1QwRkJUeXhKUVVOWUxFTkRNVUpCTEZOQlFWTkxMRWRCUVZGRExFVkJRVWtzUTBGRGFrSXNUMEZCVVVFc1JVRkJTU3hEUVVOU0xFdEJRVXNzVDBGRFRDeEpRVUZMTEVsQlEwd3NTVUZCU3p0QlFVRkJMRVZCUTB3c1NVRkJTeXhMUVVOTUxFbEJRVXNzU1VGRFJDeE5RVUZQTEVkQlExZ3NVVUZEU1N4TlFVRlBMRVZCUTJZc1EwRkRTaXhEUVVOQkxFbEJRVTFETEVkQlFWa3NTVUZCU1N4SlFVRkpMSGRDUVVGM1FpeEZRVU0xUTBNc1IwRkJWeXhKUVVGSkxFbEJRVWtzYlVaQlFXMUdMRVZCUTNSSFF5eEhRVUZ4UWl4SlFVRkpMRWxCUVVrc1QwRkJUeXhGUVVOd1EwTXNSMEZCY1VJc1NVRkJTU3hKUVVGSk8wRkJRVUVzU1VGQll5eEZRVU16UTBNc1IwRkJiVUpNTEVkQlFVOHNRMEZCUTBFc1IwRkJUVWtzUjBGQmJVSXNTVUZCU1Vvc1EwRkJSU3hGUVdkQ01VUk5MRWRCUVU0c1MwRkJXU3hEUVVOU0xHRkJRV01zUTBGTFZpeExRVUZMTEUxQlFWRXNSMEZOWWl4TFFVRkxMR3RDUVVGdlFpeEhRVTE2UWl4TFFVRkxMR2RDUVVGclFpeEhRVVYyUWl4TFFVRkxMRTlCUVZNc1IwRkxaQ3hMUVVGTExGRkJRVlVzUjBGRlppeExRVUZMTEZWQlFWa3NSVUZMYWtJc1MwRkJTeXhYUVVGaExFVkJSV3hDTEV0QlFVc3NXVUZCWXl4RlFVVnVRaXhMUVVGTExGZEJRV0VzUzBGRmJFSXNTMEZCU3l4TFFVRlBMRXRCUlZvc1MwRkJTeXhKUVVGTkxFTkJRMllzUTBGUFFTeERRVUZETEVsQlFVbERMRVZCUVZGRExFVkJRV0VzUjBGQlR5eERRWEpLY2tNc1NVRkJRVU1zUlVGelNsRXNSMEZCU1VZc1JVRkJVU3hEUVVOU0xFZEJRVWtzVDBGQlQwRXNSMEZCVnl4VFFVTnNRaXhOUVVGTkxGVkJRVlVzZDBKQlFYZENMRVZCUXpWRExFdEJRVXNzVDBGQlV5eExRVUZMTEU5QlFWTXNTMEZCU3l4UFFVRlRRU3hGUVVGVFFTeEZRVU51UkN4TFFVRkxMRmRCUVdFc1NVRkRkRUlzUTBGRFFTeExRVUZMTEUxQlFWRXNRMEZCUTBNc1JVRkRaQ3hKUVVGSlJTeEhRVUZQUkN4RlFVRkJMRXRCUVVzc1QwRkJUQ3hMUVVGQlFTeEZRVUZoTEZOQlEzaENMRXRCUVU5RExFbEJRVk5HTEVkQlFXTXNTMEZCU3l4VFFVRlRMRU5CUVVNc1NVRkRla05GTEVWQlFVOHNUVUZCUVVNc1JVRkJUeXhMUVVGTExGVkJRVlZFTEVOQlFVa3NSVUZEZWtNc1EwRkRRU3hYUVVGWkxFTkJRMUlzU1VGQlNVVXNSVUZCU1N4TFFVRkxMRWxCUTFSYUxFVkJRVXNzUzBGQlN5eFBRVUZQV1N4RFFVRkRMRVZCUTNSQ0xFdEJRVTlhTEVsQlFVOHNTMEZCVDBFc1NVRkJUeXhMUVVONFFrRXNSVUZCU3l4TFFVRkxMRTlCUVU4c1JVRkJSVmtzUTBGQlF5eEZRVU40UWl4TlFVRkpMRU5CUVVOYUxFZEJRVTFCTEVsQlFVOHNTMEZCVDBFc1NVRkJUenRCUVVGQkxFVkJRM0pDTEVkQlExQkJMRWxCUVU4c1MwRkRRU3hMUVVGTExFOUJRVTlaTEVWQlFVa3NRMEZCUXl4SlFVRk5PMEZCUVVFc1JVRkRNMElzUlVGRFdDeERRVU5CTEU5QlFVOURMRVZCUVVjc1EwRkRUaXhQUVVGUExFdEJRVXNzVDBGQlR5eExRVUZMTEVsQlFVMUJMRU5CUVVNc1EwRkRia01zUTBGRFFTeGxRVUZsUXl4RlFVRlJMRU5CUTI1Q0xFbEJRVWxrTEVWQlFVc3NTMEZCU3l4UFFVRlBZeXhEUVVGTkxFVkJRek5DTEVkQlFVa3NTMEZCU3l4WFFVRmhMRVZCUVVjc1EwRkRja0lzU1VGQlNVTXNSVUZCVXl4RlFVTmlMRXRCUVU5bUxFbEJRVThzUzBGRFZrRXNSVUZCU3l4TFFVRkxMRTlCUVU4c1JVRkJSV1VzUlVGQlUwUXNRMEZCVFN4RlFVTjBReXhIUVVGSlpDeEpRVUZQTEV0QlFVMHNRMEZEWWl4SlFVRk5WU3hGUVVGUExFdEJRVXNzVDBGQlQwc3NSVUZCVTBRc1JVRkJVeXhEUVVGRExFVkJRelZETEVkQlFVbEtMRWxCUVZNN1FVRkJRU3hIUVVGVExFTkJRVU5CTEVkQlFWRXNRMEZCUXl4TFFVRkxMRTFCUTJwRExFOUJRVTlKTEVWQlFWTkRMRVZCUVZNc1EwRkRha01zUTBGRFFTeFBRVUZQWml4SlFVRlBPMEZCUVVFc1IwRkJVV1VzUjBGQlZTeExRVUZMTEZsQlFXVXNRMEZCUTJZc1IwRkJUU3hEUVVGRExFdEJRVXNzVFVGRE0wUmpMRVZCUVZORExFVkJRMVFzUlVGRFZpeERRVU5CTEVkQlFVbG1MRWxCUVU4c1MwRkJUMEVzU1VGQlR5eEpRVUZMTEVOQlF6RkNMRWxCUVUxblFpeEZRVUZMTEV0QlFVc3NUMEZCVHl4UFFVRlBSaXhGUVVGUkxFTkJRVU1zUlVGRGRrTXNTVUZCUzBVc1NVRkJUeXhQUVVGVFFTeEpRVUZQTEZGQlFWVnFRaXhIUVVGUkxFdEJRVXNzVDBGQlQyVXNSVUZCVXl4RFFVRkRMRU5CUVVNc1JVRkRha1VzVFVGQlR5eEZRVU5tTEVOQlEwRXNUMEZCVDBFc1EwRkRXQ3hEUVVOQkxGTkJRVlVzUTBGRFRpeEpRVUZKUnl4RlFVRk5MRXRCUVVzc1YwRkxaaXhQUVVwSkxFOUJRVTlCTEVkQlFWRXNWVUZCWVVFc1NVRkJVU3hKUVVGTlFTeEZRVUZOTEV0QlFVc3NUMEZEY2tSQkxFVkJRVTBzUzBGQlN5eFBRVUZQTEZGQlFWRTdRVUZCUVN4RlFVRk5MRXRCUVVzc1IwRkJSeXhGUVVONFF5eExRVUZMTEZkQlFXRkJMRWRCUld4Q1FTeEpRVUZSTEVkQlEwUXNTMEZCU3l4TlFVRlJMRXRCUVVzc1QwRkJUeXhWUVVGVkxFdEJRVXNzUjBGQlJ5eEZRVUZKTEUxQlEzUkVMRXRCUVVzc1QwRkJUMEVzUlVGQlRTeERRVUZETEVsQlFVMHNUMEZEZWtKQkxFZEJRVThzUjBGRFNpeExRVUZMTEU5QlFVOHNWVUZCVlN4TFFVRkxMRWxCUVV0QkxFTkJRVWNzUlVGRE9VTXNRMEZEUVN4VFFVRlRTaXhGUVVGSExFTkJRMUlzVDBGQlR5eExRVUZMTEVsQlFVMUJMRWRCUVVzc1MwRkJTeXhQUVVGUExFMUJRM1pETEVOQlEwRXNVVUZCVVVzc1JVRkJUeXhEUVVOWUxGbEJRVXNzVDBGQlV5eExRVUZMTEU5QlFVOHNWVUZCVlN4TFFVRkxMRWRCUVVjc1JVRkROVU1zUzBGQlN5eEpRVUZOTEVWQlExZ3NTMEZCU3l4WFFVRmhMRXRCUTJ4Q0xFdEJRVXNzUzBGQlQwRXNSVUZEVEN4SlFVTllMRU5CUTBFc1MwRkJTMHdzUlVGQlJ5eERRVU5LTEU5QlFVOHNTMEZCU3l4UFFVRlBMRTlCUVU4c1MwRkJTeXhKUVVGTFFTeERRVUZETEVOQlEzcERMRU5CUTBFc1EwRkJReXhWUVVGVlNDeEZRVUZOTEVOQlEySXNUMEZCVVVFc1JVRkJUU3hEUVVOV0xFbEJRVXNzVTBGRFJDeFBRVUZQTEUxQlFVRkRMRVZCUVU4c1MwRkJTeXhaUVVGWkxFZEJRMjVETEVsQlFVc3NZVUZEUkN4UFFVRlBMRTFCUVVGQkxFVkJRVThzUzBGQlN5eGxRVUZsTEVkQlEzUkRMRWxCUVVzc1kwRkRSQ3hQUVVGUExFMUJRVUZCTEVWQlFVOHNTMEZCU3l4blFrRkJaMElzUjBGRGRrTXNTVUZCU3l4TlFVTkVMRTlCUVU4c1RVRkJRVUVzUlVGQlR5eExRVUZMTEdOQlFXTXNSMEZEY2tNc1NVRkJTeXhQUVVORUxFOUJRVThzVFVGQlFVRXNSVUZCVHl4TFFVRkxMRzlDUVVGdlFpeEhRVU16UXl4SlFVRkxMR2RDUVVORUxFOUJRVThzVFVGQlFVRXNSVUZCVHl4TFFVRkxMR3RDUVVGclFpeEhRVU42UXl4SlFVRkxMR1ZCUTBRc1QwRkJUeXhOUVVGQlFTeEZRVUZQTEV0QlFVc3NhVUpCUVdsQ0xFZEJRM2hETEVsQlFVc3NaVUZEUkN4UFFVRlBMRTFCUVVGQkxFVkJRVThzUzBGQlN5eHBRa0ZCYVVJc1JVRkROVU1zUTBGRFNpeERRVU5CTEVOQlFVTXNZVUZCWXl4RFFVTllMRWxCUVVsUkxFVkJRVThzUzBGQlN5eFJRVUZSTEVWQlEzaENMRWRCUVVsQkxFbEJRVk1zUzBGRFZDeFBRVUZQTEV0QlFVc3NVVUZCVVN4UlFVRlJMRVZCUzJoRExFZEJTa2xCTEVWQlFVc3NRMEZCUXl4SlFVRk5ReXhMUVVOYUxFMUJRVUZVTEVWQlFVOHNTMEZCU3l4VlFVRlZMRU5CUVVNc1IwRkRka0pSTEVWQlFVOUJMRVZCUVVzc1ZVRkJWU3hEUVVGRExFZEJSWFpDUVN4RlFVRkxMRU5CUVVNc1NVRkJUU3hKUVVGTExFTkJRMnBDTEVsQlFVbEZMRVZCUVZOR0xFVkJRVXNzVDBGRFpFY3NSVUZCUzBnc1JVRkJTeXhSUVVGUkxFZEJRVWNzUlVGRGVrSXNTMEZCVDBjc1NVRkJUeXhKUVVGSkxFTkJRMlFzU1VGQlRYUkNMRVZCUVV0dFFpeEZRVUZMUnl4RlFVRkxMRU5CUVVNc1JVRkRkRUlzUjBGQlNYUkNMRWxCUVU4c1MwRkJUMEVzU1VGQlR5eEpRVUZOTEVOQlF6TkNjVUlzUlVGQlUwTXNSVUZCU3l4RlFVTmtMRXRCUTBvc1RVRkZTVUVzUlVGQlMwZ3NSVUZCU3l4UlFVRlJMRWxCUVV0SExFVkJRVXNzUTBGQlF5eERRVVZ5UXl4RFFVTkJMRTlCUVdFc1EwRkRWQ3hKUVVGTmRFSXNSVUZCUzIxQ0xFVkJRVXRGTEVWQlFWTXNRMEZCUXl4RlFVTXhRaXhIUVVGSmNrSXNTVUZCVHl4TFFVRlBRU3hKUVVGUExFbEJRM0pDY1VJc1IwRkJWU3hOUVVWV0xFMUJRMUlzUTBGRFFTeEpRVUZOVWl4SFFVRkxMRTFCUVVGR0xFVkJRVThzUzBGQlN5eFZRVUZWVlN4RFFVRk5MRXRCUVUwc1RVRkJRVllzUlVGQlR5eExRVUZMTEZkQlFWY3NSVUZCU1N4SlFVTjRSU3hoUVVGQlFTeEZRVUZQTEV0QlFVc3NWVUZCVlZFc1JVRkJTeXhQUVVGVFRpeERRVUZETEVkQlEzSkRMRXRCUVVzc1dVRkJXU3hGUVVOV0xGRkJRMWdzUTBGRFFTeEhRVUZKTEV0QlFVc3NWVUZCVlN4RlFVRkhMRU5CUTJ4Q0xFbEJRVTFWTEVWQlFVc3NUVUZCUVZvc1JVRkJUeXhMUVVGTExGZEJRVmNzUlVGQlNTeEhRVU4wUXl4aFFVRkJRU3hGUVVGUExFdEJRVXNzVlVGQlZWRXNSVUZCU3l4UFFVRlRTU3hEUVVGRkxFZEJRM1JETEUxQlFVRmFMRVZCUVU4c1MwRkJTeXhaUVVGWkxFZEJRMnBDTEZGQlExZ3NRMEZEUVN4aFFVRk5ZU3hIUVVORExFMUJRVUZpTEVWQlFVOHNTMEZCU3l4bFFVRmxMRVZCUTNSRExFTkJRMEVzUTBGQlF5eG5Ra0ZCYVVJc1EwRkRaQ3hKUVVGTldDeEZRVUZMTEV0QlFVc3NUMEZCVHl4RFFVRkRMRVZCUTNoQ0xFZEJRVWtzUTBGQlEwRXNSMEZCVFN4RFFVRkRMRXRCUVVzc1RVRkRZaXhQUVVGUExFdEJRVXNzVVVGQlVTeFpRVUZaTEVWQlEzQkRMRWRCUVVsQkxFbEJRVThzUzBGQlQwRXNTVUZCVHl4SlFVRkxMRU5CUXpGQ0xFZEJRVWtzUTBGQlF5eExRVUZMTEU5QlFWTXNRMEZCUXl4TFFVRkxMRk5CUVZNc1EwRkJReXhGUVVNdlFpeFBRVUZQTEV0QlFVc3NVVUZCVVN4WlFVRlpMRVZCUTNCRExFbEJRVTE1UWl4RlFVRkpMRXRCUVVzc1MwRkJTeXhEUVVGRExFVkJRM0pDTEVsQlFVdEJMRWxCUVUwc1QwRkJVMEVzU1VGQlRTeFJRVUZWTVVJc1IwRkJVU3hMUVVGTExFOUJRVThzUTBGQlF5eERRVUZETEVWQlEzUkVMR0ZCUVVGWkxFVkJRVThzUzBGQlN5eFZRVUZWTEVOQlFVTXNSMEZEZGtJc1MwRkJTeXhaUVVGakxFVkJRMjVDTEV0QlFVc3NWMEZCWVN4RlFVTllZeXhKUVVGTkxFMUJRVkVzVFVGQlVTeFJRVVZ5UXl4RFFVTkJMRmxCUVVzc1dVRkJZeXhOUVVGQlpDeEZRVUZQTEV0QlFVc3NWMEZCVnl4RlFVRkxMRWRCUXpORExFdEJRVXNzVjBGQllTeExRVUZMTEdGQlFXVXNRMEZCUTFvc1IwRkJVU3hMUVVGTExFOUJRVThzUTBGQlF5eERRVUZETEVsQlF6ZEVMRXRCUVVzc1YwRkJZU3hMUVVGTExHRkJRM0JDTEUxQlFVRlpMRVZCUVU4c1MwRkJTeXhuUWtGQlowSXNSVUZEZGtNc1EwRkRRU3hEUVVGRExHbENRVUZyUWl4RFFVTm1MRWRCUVUwc1EwRkJRMlVzUlVGQlMwTXNRMEZCUnl4RlFVRkpMRXRCUVVzc1MwRkJTeXhEUVVGRExFVkJRemxDTEVkQlFVa3NRMEZCUTBFc1IwRkJUeXhEUVVGRExFdEJRVXNzVFVGRFpDeFBRVUZQTEV0QlFVc3NVVUZCVVN4aFFVRmhMRVZCUTNKRExFbEJRVXRFTEVsQlFWRXNTMEZCVDBFc1NVRkJVU3hMUVVGUFFTeEpRVUZSTEUxQlFWRXpRaXhIUVVGUk5FSXNRMEZCUnl4RlFVRkhMRU5CUXpkRUxFbEJRVTFrTEVkQlFVc3NUVUZCUVVZc1JVRkJUeXhMUVVGTExGVkJRVlVzUTBGQlF5eExRVUZOTEUxQlFVRkJMRVZCUVU4c1MwRkJTeXhYUVVGWExFVkJRVWtzU1VGRGJrVXNXVUZCU3l4WFFVRmhMRXRCUVVzc1dVRkJZeXhGUVVOeVF5eExRVUZMTEdGQlFXVkZMRVZCUTJJc1RVRkJRVVlzUlVGQlR5eExRVUZMTEdkQ1FVRm5RaXhGUVVOMlF5eERRVU5CTEUxQlFVOHNTMEZEV0N4RFFVTkJMRU5CUVVNc1pVRkJaMElzUTBGRFlpeE5RVUZCUVN4RlFVRlBMRXRCUVVzc1YwRkJWeXhGUVVGSkxFZEJRek5DTEVsQlFVMVJMRVZCUVU4c1MwRkJTeXhSUVVGUkxFVkJRekZDTEVkQlFVbEJMRWxCUVZNc1MwRkRWQ3hQUVVGUExFdEJRVXNzVVVGQlVTeExRVUZMTEVWQlF6ZENMRWxCUVVsT0xFVkJRVWtzVFVGQlFVWXNSVUZCVHl4TFFVRkxMR1ZCUVdVc1IwRkRia01zVDBGQlVWRXNSVUZCUzA0c1EwRkJReXhGUVVGSExFTkJRMklzU1VGQlN5eEpRVU5FTEUxQlFVRkdMRVZCUVU4c1MwRkJTeXhWUVVGVlVTeEZRVUZMTEU5QlFWTk9MRU5CUVVNc1IwRkZla01zUzBGQlN5eFBRVU5FTEdGQlFVRkdMRVZCUVU4c1MwRkJTeXhaUVVGWkxFZEJRMnBDTEUxQlFVRkJMRVZCUVU4c1MwRkJTeXhsUVVGbExFZEJRM1JETEVsQlFVc3NTVUZEVEN4SlFVRkxMRWxCUTBRc1lVRkJRVUVzUlVGQlR5eExRVUZMTEZWQlFWVXNRMEZCUXl4SFFVTjJRaXhMUVVGTExGRkJRVlVzUjBGRFppeExRVUZMTEZWQlFWa3NSVUZEVml4UFFVTllMRWxCUVVzc1NVRkRUQ3hKUVVGTExFbEJSVVFzWVVGQlFVRXNSVUZCVHl4TFFVRkxMRlZCUVZVc1EwRkJReXhIUVVOb1FpeE5RVU5ZTEVsQlFVc3NTVUZEUkN4aFFVRkJRU3hGUVVGUExFdEJRVXNzVlVGQlZVNHNSVUZCWlN4SFFVTTVRaXhOUVVOWUxFbEJRVXNzU1VGRFRDeEpRVUZMTEVsQlEwUXNUMEZCVHl4TlFVRkJUU3hGUVVGUExFdEJRVXNzYTBKQlFXdENMRWRCUTNwRExFbEJRVXNzU1VGRFRDeEpRVUZMTEVsQlEwUXNUMEZCUVVVc1IwRkJTeXhOUVVGQlJpeEZRVUZQTEV0QlFVc3NkVUpCUVhWQ0xFZEJRM2hEUlN4SFFVRkxMRTFCUVVGR0xFVkJRVThzUzBGQlN5eFhRVUZYTEVWQlFVa3NSMEZEYUVNc1RVRkJRVUVzUlVGQlR5eExRVUZMTEZWQlFWVlJMRVZCUVVzc1QwRkJVMDRzUTBGQlF5eEhRVU55UXl4TlFVRkJSaXhGUVVGUExFdEJRVXNzV1VGQldTeEhRVU5xUWl4TlFVRkJRU3hGUVVGUExFdEJRVXNzYVVKQlFXbENMRWRCUTNoRExGRkJRMGtzVDBGQlR5eE5RVUZCUVN4RlFVRlBMRXRCUVVzc2FVSkJRV2xDTEVWQlF6VkRMRU5CUTBvc1EwRkRRU3hEUVVGRExIRkNRVUZ6UWl4RFFVTnVRaXhKUVVGSmFVSXNSVUZCU1V3c1JVRkRTbElzUlVGQlV5eEhRVU5pTEVkQlEwbGhMRVZCUVVzc1RVRkJRV3BDTEVWQlFVOHNTMEZCU3l4WlFVRlpMRWRCUTNwQ2FVSXNSVUZCU3l4SFFVTk1UQ3hGUVVGTExFMUJRVUZhTEVWQlFVOHNTMEZCU3l4WFFVRlhMRVZCUVVzc1IwRkRha01zUzBGQlN5eFpRVUZqU1N4RlFVRlRVU3hIUVVjMVFrRXNSVUZCU3l4RlFVVlVRU3hIUVVGTkxFMUJRVUZhTEVWQlFVOHNTMEZCU3l4WFFVRlhMRVZCUVVrc1UwRkROVUpwUWl4RlFVRkxUQ3hGUVVGTExFZEJRMjVDTEVsQlFVMUtMRVZCUVU4c1MwRkJTeXhSUVVGUkxFVkJRekZDTEVkQlFVbEJMRWxCUVZNc1MwRkRWQ3hQUVVGUExFdEJRVXNzVVVGQlVTeE5RVUZOTEVWQlF6bENMRWxCUVV0S0xFbEJRVmNzU1VGQlRVRXNSVUZCVXl4TFFVRkxMRmxCUVdOSkxFVkJRVXNzUTBGQlF5eEpRVUZOTEV0QlEzcEVTaXhKUVVGWExFbEJRMUJKTEVWQlFVc3NWMEZCVnl4TFFVRkxMRWRCUVV0QkxFVkJRVXNzVjBGQlZ5eExRVUZMTEVsQlEyaEVjRUlzUjBGQlVXOUNMRVZCUVVzc1EwRkJReXhEUVVGRExFbEJUMllzUlVGSWIwSktMRWxCUVZjc1MwRkJTeXhYUVVGaExFZEJRMnBFTEV0QlFVc3NXVUZCWXl4SlFVTnNRa2tzUlVGQlN5eERRVUZETEVsQlFVMHNTMEZCVDBFc1JVRkJTeXhEUVVGRExFbEJRVTBzVFVGSGFFTXNXVUZCU3l4VlFVRlpMRVZCUTJwQ0xFMUJRVTFWTEVkQlEwTXNUVUZCUVd4Q0xFVkJRVThzUzBGQlN5eGxRVUZsTEVkQlJ6RkRMRWxCUVVsRkxFVkJRVWtzUlVGRFVpeExRVUZQVFN4RlFVRkxUaXhEUVVGRExFbEJRVTBzUzBGRFprRXNSMEZCU3l4TlFVRkJSaXhGUVVGUExFdEJRVXNzVlVGQlZTeERRVUZETEVkQlF6VkNSU3hIUVVGTExFMUJRVUZHTEVWQlFVOHNTMEZCU3l4WFFVRlhMRVZCUVVrc1IwRkRhRU1zUzBGQlN5eFJRVUZWTEVkQlIyNUNMRTlCUkVGRkxFZEJRVXNzVFVGQlFVWXNSVUZCVHl4TFFVRkxMR1ZCUVdVc1IwRkRlRUpSTEVWQlFVdE9MRU5CUVVNc1JVRkJSeXhEUVVOaUxFdEJRVXNzVDBGRFJDeE5RVUZQTEU5QlExZ3NTVUZCU3l4SlFVTkVMR0ZCUVVGR0xFVkJRVThzUzBGQlN5eFZRVUZWVVN4RlFVRkxMRTlCUVZOT0xFTkJRVU1zUjBGRE9VSXNUMEZEV0N4SlFVRkxMRWxCUTB3c1NVRkJTeXhKUVVORUxHRkJRVUZHTEVWQlFVOHNTMEZCU3l4VlFVRlZMRU5CUVVNc1IwRkRka0lzUzBGQlN5eFJRVUZWTEVkQlEyWXNTMEZCU3l4WFFVRmhMRVZCUTFnc1QwRkRXQ3hKUVVGTExFbEJRMHdzU1VGQlN5eEpRVU5FTEdGQlFVRkJMRVZCUVU4c1MwRkJTeXhWUVVGVkxFTkJRVU1zUjBGRGRrSXNTMEZCU3l4UlFVRlZMRWRCUTJZc1MwRkJTeXhYUVVGaExFVkJRMWdzUzBGQlN5eFZRVUZaTEU5QlFWTXNUVUZEY2tNc1NVRkJTeXhKUVVORUxHRkJRVUZCTEVWQlFVOHNTMEZCU3l4VlFVRlZUaXhGUVVGbExFZEJRemxDTEU5QlExZ3NTVUZCU3l4SlFVTk1MRWxCUVVzc1NVRkRSQ3haUVVGTExGRkJRVlVzUjBGRFVpeE5RVUZCVFN4RlFVRlBMRXRCUVVzc2EwSkJRV3RDTEVkQlEzcERMRWxCUVVzc1NVRkJTeXhEUVVOT0xFbEJRVTFFTEVWQlFVOHNTMEZCU3l4UFFVRlBMRU5CUVVNc1JVRkRNVUlzUjBGQlNTeExRVUZMTEZOQlFWZFlMRWRCUVZGWExFTkJRVWtzUjBGQlMwRXNTVUZCVXl4SlFVTXhReXhaUVVGTExGRkJRVlVzUjBGRFppeE5RVUZCUXl4RlFVRlBMRXRCUVVzc1ZVRkJWU3hEUVVGRExFZEJRM1pDTEUxQlFVRkJMRVZCUVU4c1MwRkJTeXhYUVVGWExFVkJRVWtzUjBGRGNFSXNUVUZGWml4RFFVVkJMRkZCUTBrc1dVRkJTeXhSUVVGVkxFZEJRMUlzVFVGQlFVRXNSVUZCVHl4TFFVRkxMR2xDUVVGcFFpeEZRVU0xUXl4RFFVTktMRU5CUTBFc1EwRkJReXh0UWtGQmIwSXNRMEZEYWtJc1NVRkJUVzFDTEVWQlFWRXNTMEZCU3l4UFFVRlBMRU5CUVVNc1JVRkRka0ppTEVWQlFVMHNTMEZCU3l4UFFVRlBMRkZCUVZGaExFVkJRVThzUzBGQlN5eEpRVUZOTEVOQlFVTXNSVUZEYWtRc1IwRkJTVUVzU1VGQlZTeEpRVU5XTEV0QlFVOWlMRWxCUVZFc1NVRkJUU3hMUVVGTExFOUJRVTlCTEVWQlFVMHNRMEZCUXl4SlFVRk5MRXRCUXpGRFFTeEZRVUZOTEV0QlFVc3NUMEZCVHl4UlFVRlJMRWxCUVV0QkxFVkJRVTBzUTBGQlF5eE5RVWt4UXl4TlFVRlBRU3hKUVVGUkxFbEJRVWtzUTBGRFppeEpRVUZKU2l4RlFVRkpMRVZCUTFJc1MwRkJUeXhMUVVGTExFOUJRVTlKTEVWQlFVMHNSVUZCU1Vvc1EwRkJReXhKUVVGTkxFMUJRMmhEUVN4SFFVRkxMRVZCUTFRc1IwRkJTVUVzUlVGQlNTeEpRVUZOTEVWQlExWXNUVUZEU2trc1JVRkJUU3hMUVVGTExFOUJRVThzVVVGQlVTeEpRVUZMUVN4RlFVRk5MRU5CUVVNc1EwRkRNVU1zUTBGSFNpeEpRVUZOWXl4RlFVRkxMRXRCUVVzc1QwRkJUeXhWUVVGVkxFVkJRVWRrTEVOQlFVY3NSVUZEYmtOWExFVkJRVXRITEVWQlFVY3NVVUZCVVR0QlFVRkJMRVZCUVUwc1MwRkJTeXhIUVVGSExFVkJRMnhETEVkQlFVbElMRWxCUVU4c1IwRkJTU3hEUVVOWUxFdEJRVTlCTEVsQlFVOHNTVUZCU1N4RFFVTmtMRWxCUVUxT0xFVkJRVXNzUzBGQlN5eGxRVUZsVFN4RlFVRkxMRU5CUVVNc1JVRkRja01zUjBGQlNVNHNTVUZCVHl4SFFVTlFMRTFCUTBwTkxFVkJRVXRITEVWQlFVY3NVVUZCVVR0QlFVRkJMRVZCUVUxVUxFTkJRVVVzUTBGRE5VSXNRMEZEU1Uwc1NVRkJUeXhMUVVWUVdDeEZRVUZOVnl4SFFVRk5SeXhGUVVGSFNDeEZRVUZMTEVOQlFVTXNTVUZCVFN4TFFVRlBMRVZCUVVrc1IwRkZPVU1zUTBGRFFTeEhRVUZKV0N4SlFVRlJMRWRCUVVrc1EwRkRXaXhIUVVGSkxFTkJRVU1zUzBGQlN5eE5RVU5PTEU5QlFVOHNTMEZCU3l4UlFVRlJMR1ZCUVdVc1JVRkRka05CTEVWQlFVMHNTMEZCU3l4UFFVRlBMRTFCUTNSQ0xFTkJRMEVzWVVGQlFVNHNSVUZCVHl4TFFVRkxMRmxCUVZsTkxFVkJRVTBzUlVGQlJ5eEZRVUZMTEVkQlF5OUNMRXRCUVVzc1ZVRkJXU3hQUVVGVExFdEJRM0pETEVOQlEwRXNRMEZCUXl4M1FrRkJlVUlzUTBGRGRFSXNTMEZCU3l4clFrRkJiMElzUjBGRGVrSXNTMEZCU3l4blFrRkJhMElzUjBGRGRrSXNTVUZCU1V3c1JVRkJTU3hMUVVGTExFbEJRMklzVDBGQllTeERRVU5VTEVsQlFVMWFMRVZCUVVzc1MwRkJTeXhQUVVGUExFVkJRVVZaTEVOQlFVTXNSVUZETVVJc1IwRkJTVm9zU1VGQlR5eEpRVU5RTEV0QlFVc3NaMEpCUVd0Q0xGZEJRMnhDUVN4RlFVRkxMRXRCUVU5QkxFZEJRVTBzU1VGRGRrSXNTMEZCU3l4clFrRkJiMElzVDBGQlQwRXNRMEZCUlN4RlFVRkpMRlZCUTJwRFFTeEpRVUZQTEVsQlExb3NTMEZEVWl4RFFVTkJMRTlCUVU4c1RVRkJRVmNzUlVGQlR5eExRVUZMTEZWQlFWVllMRWRCUVUxRUxFZEJRVkZETEVOQlFVVXNSMEZCUzBFc1NVRkJUeXhIUVVGSExFVkJRMmhGTEVOQlEwRXNRMEZCUXl4clFrRkJiVUlzUTBGRGFFSXNTVUZCU1RSQ0xFVkJRVXNzUzBGQlN5eEpRVUZOTEVWQlEyaENZaXhGUVVGVExFVkJRMVJtTEVWQlEwcG5ReXhGUVVGTkxGRkJRVk1zUlVGQlNTeExRVUZMTEVsQlFVMW9ReXhGUVVGTExFdEJRVXNzVDBGQlR5eERRVUZETEVWQlFVa3NSVUZCUlN4RlFVTnNSQ3hQUVVGUlFTeEZRVUZKTEVOQlExSXNTVUZCU3l4SlFVTkVaU3hIUVVGVkxFVkJRMVlzVFVGRFNpeEpRVUZMTzBGQlFVRXNSVUZEUkdFc1JVRkJTeXhGUVVOTVlpeEZRVUZUTEVWQlExUXNUVUZEU2l4SlFVRkxMRXRCUVUwc1EwRkRVQ3hKUVVGTlRDeEZRVUZQTEV0QlFVc3NUMEZCVHl4RlFVRkpMRU5CUVVNc1JVRkRPVUlzUjBGQlNTeERRVUZEUVN4SFFVRlJMRU5CUVVNc1MwRkJTeXhOUVVObUxFOUJRVThzUzBGQlN5eFJRVUZSTEdOQlFXTXNSVUZEZEVNc1IwRkJTVUVzU1VGQlV6dEJRVUZCTEVWQlExUXNTMEZEVWl4RFFVTkJMRkZCUTBrc1RVRkJUWE5DTEVOQlEyUXNRMEZGU2l4SFFVRkpMRU5CUVVOb1F5eEhRVUZOTEVOQlFVTXNTMEZCU3l4TlFVTmlMRTlCUVU4c1MwRkJTeXhSUVVGUkxHTkJRV01zUlVGRGRFTXNSMEZCU1dVc1IwRkJWU3hMUVVGTExGZEJRVmtzUTBGRGRrSXNTMEZCU3l4dlFrRkJjMElzUjBGRE0wSXNTMEZCU3l4WFFVRmhRU3hGUVVWc1FpeExRVUZMTEZkQlEwUXNTMEZCU3l4dFFrRkJjVUlzUzBGQlN5eGhRVUZsTEVWQlFVa3NSVUZCU1N4TFFVRkxMRmxCUlc1RkxFVkJRVWNzUTBGRFF5eEpRVUZOVHl4RlFVRkxMRXRCUVVzc1pVRkJaVTBzUlVGQlN5eERRVUZETEVWQlEzSkRMRWRCUVVsT0xFbEJRVThzUjBGRFVDeE5RVU5LVFN4RlFVRkxMRXRCUVVzc1QwRkJUeXhSUVVGUk8wRkJRVUVzUlVGQlRVNHNRMEZCUlN4RFFVTnlReXhQUVVGVFRTeEpRVUZQTEVsQlEyaENMRWRCUVVsQkxFbEJRVThzUjBGQlNTeERRVU5ZTEVkQlFVa3NRMEZCUXl4TFFVRkxMRTFCUTA0c1QwRkJUeXhMUVVGTExGRkJRVkVzWTBGQll5eEZRVU4wUTBFc1JVRkJTeXhMUVVGTExFOUJRVThzVFVGRGNrSXNRMEZEU2l4RFFVZEJMRWxCUVVsb1FpeEZRVUZKWjBJc1JVRkJTeXhGUVVWaUxFbEJSRUUxUWl4RlFVRkxMRXRCUVVzc1QwRkJUMWtzUTBGQlF5eEZRVU5ZV2l4SlFVRlBMRXRCUTFaQkxFVkJRVXNzUzBGQlN5eFBRVUZQTEVWQlFVVlpMRU5CUVVNc1JVRkRlRUlzUjBGQlNWb3NTVUZCVHl4SlFVRk5MRU5CUTJJc1MwRkJUMEVzU1VGQlR5eExRVUZSUVN4SlFVRlBMRXRCUVU5QkxFbEJRVThzVFVGQlVVRXNTVUZCVHp0QlFVRkJMRWRCUTNSRVFTeEZRVUZMTEV0QlFVc3NUMEZCVHl4RlFVRkZXU3hEUVVGRExFVkJRM2hDWjBJc1JVRkJTMmhDTEVWQlFVa3NRMEZEWWl4VFFVTlRMRU5CUVVNc1MwRkJTeXhuUWtGRFdDeEZRVUZITEVOQlEwTXNTVUZCU1N4RlFVRkpaMElzUlVGQlN5eEZRVU5VTlVJc1JVRkJTeXhMUVVGTExFOUJRVThzUTBGQlF5eEZRVU5zUWtFc1NVRkJUeXhQUVVOUVFTeEZRVUZMTEV0QlFVc3NUMEZCVHl4RlFVRkZMRU5CUVVNc1IwRkRlRUlzU1VGQlRXbERMRVZCUVZjc1JVRkRha0lzUzBGQlQycERMRWxCUVU4c1MwRkRWa0VzUlVGQlN5eExRVUZMTEU5QlFVOHNSVUZCUlN4RFFVRkRMRVZCUTNoQ0xFZEJRVWxCTEVsQlFVODdRVUZCUVN4SFFVRlJMRWRCUVVzc1MwRkJTeXhMUVVGUExFVkJRVWtzUlVGQlNXVXNSVUZCVTJ0Q0xFVkJRMnBFVEN4RlFVRkxMRTFCUlV3c1RVRkRVaXhQUVVGVExFbEJSV0lzWVVGQlRVMHNSMEZEVGl4TlFVRkJka0lzUlVGQlR5eExRVUZMTEZsQlFWbHBRaXhGUVVGTExFVkJRVWNzUlVGQlNTeEhRVU0zUWl4TlFVRkJha0lzUlVGQlR5eExRVUZMTEdWQlFXVXNSVUZEZEVNc1EwRkRRU3hEUVVGRExHdENRVUZ0UWl4RFFVTm9RaXhKUVVGTmQwSXNSVUZCVXl4TFFVRkxMRlZCUVZrc1JVRkROVUpzUWl4RlFVRk5MRXRCUVVzc1NVRkJUU3hGUVVOcVFrd3NSVUZCU1N4TFFVRkxMRWxCUVUwc1JVRkRabG9zUlVGRFNpeExRVUZSUVN4RlFVRkxMRXRCUVVzc1QwRkJUeXhGUVVGRldTeERRVUZETEVkQlEzaENMRWRCUVVsYUxFbEJRVThzU1VGQlN5eERRVU5hTEVsQlFVMVZMRVZCUVU4c1MwRkJTeXhQUVVGUFJTeEZRVUZKTEVOQlFVTXNSVUZET1VJc1IwRkJTV0lzUjBGQlVWY3NRMEZCU1N4SFFVRk5lVUlzUjBGQlZXaERMRWRCUVcxQ0xFbEJRVWxQTEVOQlFVa3NSVUZEZGtRc1RVRkRTazhzUlVGQlRVd3NRMEZEVml4VFFVTlRZaXhIUVVGUlF5eERRVUZGTEVWQlFVY3NRMEZEYkVJc1NVRkJTVlVzUlVGQlR5eExRVUZMTEU5QlFVOUZMRVZCUVVrc1EwRkJReXhGUVZVMVFpeEhRVlJKV2l4SlFVRlBMRTlCUTBoVkxFbEJRVk03UVVGQlFTeEhRVU5VUlN4SFFVRkxMRVZCUTB4YUxFVkJRVXM3UVVGQlFTeEZRVU5NVlN4RlFVRlBMRXRCUVVzc1QwRkJUMFVzUlVGQlNTeERRVUZETEVkQlIzaENTeXhGUVVGTlRDeEhRVVZXUml4SlFVRlRMRXRCUVZGNVFpeEhRVUZWYUVNc1IwRkJiVUlzU1VGQlNVOHNRMEZCU1N4RlFVTjBSQ3hOUVVOS0xFZEJRVWxXTEVsQlFVODdRVUZCUVN4RlFVRk5MRU5CUTJJc1NVRkJUWE5DTEVWQlFVc3NTMEZCU3l4bFFVRmxWaXhGUVVGSkxFTkJRVU1zUlVGRGNFTXNSMEZCU1ZVc1NVRkJUeXhIUVVOUUxFMUJRMHBXTEVWQlFVa3NTMEZCU3l4SlFVRkpRU3hGUVVGSFZTeEZRVUZMTEVOQlFVTXNRMEZETVVJc1EwRkRTaXhMUVVOTExFTkJRMFFzUjBGQlNXRXNSMEZCVldoRExFZEJRVzFDTEVsQlFVbElMRU5CUVVVc1JVRkRia01zVFVGRFNtbENMRVZCUVUxTUxFTkJRMVlzUTBGRlNpeE5RVUZKTEVOQlFVTmFMRWRCUVUwc1EwRkJReXhMUVVGTExFMUJRMDRzUzBGQlN5eFJRVUZSTEdOQlFXTXNSMEZEZEVNc1RVRkJUV3RETEVkQlEwNHNUVUZCUVhaQ0xFVkJRVThzUzBGQlN5eFpRVUZaVFN4RlFVRk5MRVZCUVVjc1JVRkJTU3hIUVVNNVFtdENMRVZCUVZNc1QwRkJVeXhOUVVNM1FpeERRVU5CTEVOQlFVTXNWVUZCVlhSQ0xFVkJRVWNzUTBGRFZpeFBRVUZKUVN4RlFVRkpMRWRCUTBvc1RVRkJUU3hMUVVGTExFOUJRVThzVDBGQlR5eExRVUZMTEVsQlFVdEJMRU5CUVVNc1JVRkRjRU1zUzBGQlN5eExRVUZQUVN4RlFVTk1RU3hIUVVWS0xFTkJRMWdzUTBGRFFTeERRVUZETEZsQlFWbEVMRVZCUVVkM1FpeEZRVUZaTEVOQlEzaENMRWxCUVUxWUxFVkJRVWtzUzBGQlN5eFBRVUZQTEUxQlFVMHNTMEZCU3l4SlFVRkxZaXhEUVVGRExFVkJRM1pETEU5QlFVbGhMRWRCUTBFc1RVRkJUVUVzUlVGRFRpeExRVUZMTEV0QlFVOUJMRVZCUVVVc1QwRkRVRUVzUlVGQlJTeFRRVVZLVnl4SlFVTk1MRXRCUVUwc1NVRkRTQ3hGUVVOWUxFTkJRMEVzUTBGQlF5eG5Ra0ZCYVVJc1EwRkRaQ3hQUVVGUkxFdEJRVXNzVDBGQlR5eERRVUZETEVWQlFVY3NRMEZEY0VJc1NVRkJTeXhKUVVORUxFOUJRVk1zVFVGQlFYcENMRVZCUVU4c1MwRkJTeXhSUVVGUkxFdEJRM2hDTEUxQlFVRkJMRVZCUVU4c1MwRkJTeXhYUVVGWExFVkJRVWtzUzBGRE0wSXNUVUZCUVVFc1JVRkJUeXhMUVVGTExHVkJRV1VzU1VGRGNFTXNTVUZCU3l4SlFVTkVMRTlCUVZNc1RVRkJRVUVzUlVGQlR5eExRVUZMTEZWQlFWVk9MRVZCUVdVc1MwRkRla01zVFVGQlFVMHNSVUZCVHl4TFFVRkxMRmRCUVZjc1JVRkJTU3hMUVVNelFpeE5RVUZCUVN4RlFVRlBMRXRCUVVzc1pVRkJaU3hKUVVOd1F5eEpRVUZMTEVsQlEwd3NTVUZCU3l4SlFVTk1MRWxCUVVzc1NVRkJTeXhEUVVOT0xFbEJRVTEzUWl4RlFVRlRMRXRCUVVzc1ZVRkJXU3hGUVVNeFFsSXNSVUZCVFN4TFFVRkxMRTlCUVU4c1EwRkJReXhGUVVONlFpeEhRVUZKTlVJc1IwRkJVVFJDTEVOQlFVY3NSMEZCVFZFc1IwRkJWV2hETEVkQlFXMUNMRWxCUVVsM1FpeERRVUZITEVWQlEzSkVMRTlCUVV0UkxFVkJSVWtzUzBGQlN5eFZRVU5XTEV0QlFVc3NVVUZCVlN4SlFVWm1MRXRCUVVzc1YwRkJZU3hMUVVGTExGbEJRV01zUjBGSGFFTXNUVUZCUVhoQ0xFVkJRVThzUzBGQlN5eFZRVUZWTEVOQlFVTXNTMEZETTBJc1RVRkJRVUVzUlVGQlR5eExRVUZMTEZkQlFWY3NSVUZCU1N4TFFVTXpRaXhOUVVGQlFTeEZRVUZQTEV0QlFVc3NaVUZCWlN4SFFVVjRReXhEUVVOS0xFTkJRMEVzVFVGQlR5eEZRVU5ZTEVOQlEwRXNRMEZCUXl4VFFVRlZMRU5CUTFBc1IwRkJTU3hMUVVGTExFOUJRVThzUTBGQlF5eEpRVUZOTEVsQlFVc3NRMEZEZUVJc1NVRkJTVU1zUlVGQlNTeExRVUZMTEVsQlFVMHNSVUZEWmxvc1JVRkJTeXhMUVVGTExFOUJRVTlaTEVOQlFVTXNSVUZEZEVJc1MwRkJUeXhEUVVGRFlpeEhRVUZSUXl4RFFVRkZMRWRCUVV0QkxFbEJRVThzUzBGRE1VSkJMRVZCUVVzc1MwRkJTeXhQUVVGUExFVkJRVVZaTEVOQlFVTXNSVUZEZUVJc1QwRkJUeXhOUVVGQlJDeEZRVUZQTEV0QlFVc3NXVUZCV1Znc1NVRkJUeXhKUVVGTldTeEZRVUZKTEVWQlFVbEJMRVZCUVVjc1JVRkJTeXhGUVVOb1JTeExRVU5MTEVOQlEwUXNTVUZCU1VFc1JVRkJTU3hMUVVGTExFbEJRVTBzUlVGRFpsb3NSVUZCU3l4TFFVRkxMRTlCUVU5WkxFTkJRVU1zUlVGRGRFSXNTMEZCVDFvc1IwRkRTQ3hIUVVGSlJTeEhRVUZUTEVsQlFVbEdMRU5CUVVVc1JVRkRaa0VzUlVGQlN5eExRVUZMTEU5QlFVOHNSVUZCUlZrc1EwRkJReXhWUVVObVdpeEpRVUZQTEV0QlExcERMRWRCUVZVc1NVRkJTU3hMUVVGTExFOUJRVTlYTEVWQlFVa3NRMEZCUXl4RFFVRkRMRWRCUTJoRFdDeEhRVUZWTEVsQlFVa3NTMEZCU3l4UFFVRlBWeXhGUVVGSkxFTkJRVU1zUTBGQlF5eEZRVU5vUTFvc1JVRkJTeXhMUVVGTExFOUJRVkZaTEVkQlFVc3NRMEZCUlN4TlFVZDZRaXhQUVVWU0xFOUJRVThzVFVGQlFVUXNSVUZCVHl4TFFVRkxMRmxCUVZsRExFVkJRVWNzUlVGQlN5eEZRVU16UXl4RFFVTktMRU5CUTBFc1EwRkJReXhoUVVGakxFTkJRMWdzU1VGQlRWb3NSVUZCU3l4TFFVRkxMRTlCUVU4c1MwRkJTeXhIUVVGSExFVkJReTlDTEU5QlFVbEJMRWxCUVU4N1FVRkJRU3hGUVVOQkxFMUJRVUZYTEVWQlFVOHNTMEZCU3l4VlFVRlZMRU5CUVVNc1IwRkRla0pZTEVsQlFVOHNUVUZCVVN4TFFVRkxMRTlCUVU4c1EwRkJReXhKUVVGTk8wRkJRVUVzUlVGRGFFTXNUVUZCUVZjc1JVRkJUeXhMUVVGTExGVkJRVlVzUTBGQlF5eEhRVVYyUWl4RFFVTm1MRU5CUTBFc1EwRkJReXhYUVVGWE1FSXNSVUZCVnl4RFFVTnVRaXhKUVVGSmVrSXNSVUZCU1N4TFFVRkxMRWxCUVUwc1JVRkRabG9zUlVGRFNpeEhRVU5KUVN4RlFVRkxMRXRCUVVzc1QwRkJUeXhGUVVGRldTeERRVUZETEZGQlEyWmFMRWxCUVU4c1MwRkJVWEZETEVkQlFXRnlReXhKUVVGUExFdEJRelZETEVsQlFVMWhMRVZCUVVsRUxFVkJRVWtzUzBGQlN5eEpRVU51UWl4UFFVRkpReXhGUVVGSkxFbEJRMG9zVFVGQlRTeExRVUZMTEU5QlFVOHNUMEZCVHl4TFFVRkxMRWxCUVV0QkxFTkJRVU1zUlVGRGNFTXNTMEZCU3l4SlFVRk5SQ3hIUVVWU1F5eERRVU5ZTEVOQlEwRXNRMEZCUXl4VlFVRlZlVUlzUlVGQlRTeERRVU5pTEVsQlFVa3hRaXhGUVVGSkxFdEJRVXNzU1VGRFZGb3NSVUZCU3l4TFFVRkxMRTlCUVU5WkxFTkJRVU1zUlVGRGRFSXNTMEZCVHl4RFFVRkRNRUlzUlVGQlMzUkRMRU5CUVVVc1IwRkRXRUVzUlVGQlN5eExRVUZMTEU5QlFVOHNSVUZCUlZrc1EwRkJReXhGUVVONFFpeFBRVUZQTEUxQlFVRkVMRVZCUVU4c1MwRkJTeXhaUVVGWlF5eEZRVUZITEVWQlFVc3NSVUZETTBNc1EwRkRTaXhGUTNKelFrRXNTVUZCVFRKQ0xFZEJRVTRzUzBGQmEwSXNRMEZEWkN4aFFVRmpMRU5CUTFZc1MwRkJTeXhYUVVGaExFTkJRVU1zUlVGTGJrSXNTMEZCU3l4WFFVRmpReXhIUVVGWExFdEJRVXNzVjBGQlZ5eExRVUZMUVN4RFFVRk5MRVZCVFhwRUxFdEJRVXNzVVVGQlYwRXNSMEZCVnl4RFFVTjJRaXhKUVVGSlF5eEZRVUZOTEVWQlEwNURMRVZCUVU4c1MwRkJTeXhYUVVGWExFOUJRek5DTEV0QlFVOUVMRVZCUVUxRExFZEJRVTBzUTBGRFppeEpRVUZOUXl4RlFVRlBSaXhGUVVGTlF5eEhRVUZUTEVWQlEzaENMRXRCUVVzc1YwRkJWME1zUTBGQlJ5eEZRVUZKU0N4RlFVTjJRa01zUlVGQlRVVXNSVUZCVFN4RlFVVmFSQ3hGUVVGUFF5eERRVU5tTEVOQlEwRXNSMEZCU1N4TFFVRkxMRmRCUVZkR0xFTkJRVWNzU1VGQlRVUXNSVUZEZWtJc1RVRkJUeXhEUVVGRkxFdEJRVTFETEVWQlFVMHNSVUZCUnl4SlFVRkxMRU5CUVVVc1JVRkRia01zUjBGQlNVRXNTVUZCVVN4RlFVTlNMRTFCUVU4c1EwRkJSU3hMUVVGTkxFVkJRVWNzU1VGQlMwUXNRMEZCVHl4RlFVTnNReXhKUVVGTlNTeEZRVUZSTEV0QlFVc3NWMEZCVjBnc1JVRkJUU3hEUVVGRExFVkJRM0pETEUxQlFVOHNRMEZCUlN4TFFVRk5RU3hGUVVGTExFbEJRVXRFTEVWQlFWTkpMRVZCUVZFc1EwRkJSU3hEUVVOb1JDeERRVU5LTEVOQlEwb3NSVU5xUTBFc1UwRkJVME1zUjBGQlkwTXNSVUZCVFVNc1JVRkJUU3hEUVVNdlFpeFJRVUZUUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxHTEVWQlFVc3NUMEZCVVN4RlFVRkZSU3hGUVVNdlFpeEhRVUZKUml4RlFVRkxSU3hEUVVGRExFVkJRVVVzVDBGQlUwUXNSVUZEYWtJc1RVRkJUeXhIUVVObUxFMUJRVThzUlVGRFdDeERRVU5CTEZOQlFWTkZMRWRCUVd0Q1NDeEZRVUZOTEVOQlF6ZENMRkZCUVZORkxFVkJRVWtzUlVGQlIwRXNSVUZCU1VZc1JVRkJTeXhQUVVGUkxFVkJRVVZGTEVWQlF5OUNMRTlCUVZGR0xFVkJRVXRGTEVOQlFVTXNSVUZCUlN4TFFVRk5MRU5CUTJ4Q0xFbEJRVXNzVVVGRFRDeEpRVUZMTEZWQlEwd3NTVUZCU3l4VlFVTkVMRTFCUTBvc1VVRkRTU3hQUVVGUFFTeERRVU5tTEVOQlJVb3NUVUZCVHl4RlFVTllMRU5CUTBFc1UwRkJVMFVzUjBGQldVTXNSVUZCVHl4RFFVTjRRaXhQUVVGUlFTeEhRVUZCTEZsQlFVRkJMRVZCUVU4c1MwRkJUU3hEUVVOcVFpeEpRVUZMTEZGQlEwd3NTVUZCU3l4VFFVTk1MRWxCUVVzc2RVSkJRMHdzU1VGQlN5eDFRa0ZEVEN4SlFVRkxMR3RDUVVORUxFMUJRVThzUjBGRFdDeFJRVU5KTEUxQlFVOHNSVUZEWml4RFFVTktMRU5CUTBFc1UwRkJVME1zUjBGQllVTXNSVUZCVVN4RFFXeERPVUlzU1VGQlFVTXNSVUZ0UTBrc1QwRkJVVVFzUlVGQlR5eExRVUZOTEVOQlEycENMRWxCUVVzc1YwRkRSQ3hQUVVGUFFTeEZRVUZQTEUxQlEyeENMRWxCUVVzc1dVRkJZU3hEUVVOa0xFbEJRVTFGTEVWQlFVdEdMRVZCUVU4c1RVRkJUVUVzUlVGQlR5eE5RVUZOTEU5QlFWTXNRMEZCUXl4RlFVTXZReXhQUVVGUFF5eEZRVUZCUXl4RlFVRkhMRTFCUVVnc1MwRkJRVVFzUlVGQlZVTXNSVUZCUnl4TFFVTjRRaXhEUVVOQkxFbEJRVXNzV1VGRFJDeFBRVUZQUml4RlFVRlBMRTFCUVUxQkxFVkJRVThzVFVGQlRTeFBRVUZUTEVOQlFVTXNSVUZCUlN4TlFVVnFSQ3hSUVVOSkxFMUJRVThzUTBGQlF5eERRVU5vUWl4RFFVTktMRU5CUlVFc1UwRkJVMGNzUjBGQmMwSkRMRVZCUVUwc1EwRnNSSEpETEVsQlFVRklMRVZCYlVSSkxFZEJRVWxITEVWQlFVc3NVMEZCVnl4RlFVTm9RaXhOUVVGUExFTkJRVU1zUlVGRFdpeEpRVUZKVkN4RlFVRkpVeXhGUVVGTExFOUJRMkpETEVWQlFVMHNTMEZCVHl4RlFVRkZWaXhIUVVGTExFZEJRMmhDTEU5QlFWRlRMRVZCUVV0VUxFTkJRVU1zUlVGQlJTeExRVUZOTEVOQlEyeENMRWxCUVVzc1dVRkRUQ3hKUVVGTExHMUNRVU5NTEVsQlFVc3NaMEpCUTB3c1NVRkJTeXhsUVVOTUxFbEJRVXNzVlVGRFJDeE5RVUZOVlN4RFFVTmtMRU5CUlVvc1QwRkJUMG9zUlVGQlFVY3NSVUZCU3l4RlFVRkZWQ3hEUVVGRExFbEJRVklzV1VGQlFVMHNSVUZCVnl4UlFVRlRMRk5CUVZNc1EwRkhjRU1zVDBGQlQwY3NSVUZCU3l4UFFVRlBWQ3hGUVVGSFV5eEZRVUZMTEUxQlFVMHNRMEZEY2tNc1EwRkRRU3hUUVVGVFJTeEhRVUZuUWtNc1JVRkJTU3hEUVVONlFpeEhRVUZKUVN4RlFVRkhMRTFCUVUwc1QwRkJVeXhwUWtGRGJFSXNVVUZCVjB3c1MwRkJUVXNzUlVGQlJ5eE5RVU5hVEN4RlFVRkhMRXRCUTBnc1EwRkJRMEVzUlVGQlJ5eFBRVU5LTEVOQlFVTldMRWRCUVdOVkxFVkJRVWNzVFVGQlR5eHJRa0ZCYTBJc1IwRkRNME1zUTBGQlExWXNSMEZCWTFVc1JVRkJSeXhKUVVGTExHVkJRV1VzU1VGRGJFTkJMRVZCUVVjc1RVRkRTRUVzUlVGQlJ5eE5RVUZSUVN4RlFVRkhMRXRCUTJ4Q0xFOUJRVTlCTEVWQlFVY3NTVUZEVGt3c1IwRkJXVXNzUlVGQlJ5eExRVUZMTEVWQlEyaENRU3hGUVVGSExFMUJRVTBzU1VGRFZDeE5RVUZOTEZWQlFWVXNTMEZCU3l4TlFVRk5RU3hGUVVGSExFMUJRVTBzU1VGQlMwRXNSVUZCUnl4SFFVRkhMRVZCUlM5RFFTeEZRVUZITEUxQlFVMHNTVUZCVFVFc1JVRkJSeXhKUVVkMFFpeE5RVUZOTEZWQlFWVXNTMEZCU3l4TlFVRk5RU3hGUVVGSExFMUJRVTlCTEVWQlFVY3NSMEZCUnl4RlFVTXZReXhQUVVGUFFTeEZRVUZITEVsQlNURkNMRU5CTkVKQkxFbEJRVTFOTEVkQlFVNHNTMEZCWVN4RFFVdFVMRmxCUVZsRExFVkJRVmNzUTBGRmJrSXNTMEZCU3l4VlFVRlpMRWRCUldwQ0xFdEJRVXNzVTBGQlZ5eEhRVVZvUWl4TFFVRkxMRTlCUVZNc1JVRkZaQ3hMUVVGTExFOUJRVk1zUlVGRlpDeExRVUZMTEZWQlFWa3NSMEZGYWtJc1MwRkJTeXhOUVVGUkxFTkJRVU1zUlVGRlpDeExRVUZMTEU5QlFWTXNSMEZGWkN4TFFVRkxMRXRCUVU4c1IwRkZXaXhMUVVGTExFMUJRVkVzU1VGQlNVTXNSMEZEYWtJc1MwRkJTeXhWUVVGWlJDeERRVU55UWl4RFFWTkJMRU5CUVVNc1RVRkJUVVVzUlVGQlVVTXNSVUZCWVN4SFFVRlBMRU5CUXpOQ0xFdEJRVXNzVjBGQllTeExRVUZMTEZOQlFWY3NSMEZEYkVNc1MwRkJTeXhWUVVGVkxFTkJRVU1zUlVGRGNFSXNVVUZCVjBNc1MwRkJWU3hMUVVGTExFMUJRVTBzU1VGQlNVWXNSVUZCVVVNc1EwRkJWU3hGUVVOc1JDeE5RVUZCUlN4RlFVRlBMRXRCUVVzc1MwRkJTMFFzUTBGQlRTeEhRVU4wUWtRc1NVRkRSQ3hOUVVGQlJTeEZRVUZQTEV0QlFVc3NTVUZCU1N4SFFVTjRRaXhEUVVsQkxFTkJRVU1zUzBGQlMwZ3NSVUZCVVN4RFFVVldMRWRCUkVFc1MwRkJTeXhQUVVGVFFTeEZRVU5XTEV0QlFVc3NVMEZCVlN4RFFVTm1MRXRCUVVzc1UwRkJWeXhIUVVOb1FpeE5RVUZCUnl4RlFVRlBMRXRCUVVzc1MwRkJTeXhIUVVOcVFpeExRVUZMTEZGQlFWVklMRVZCUVU4c1QwRkRkRUlzVFVGRFNpeERRVU5CTEVsQlFVMXFRaXhGUVVGUGNVSXNSMEZCVlVvc1EwRkJUU3hGUVVNM1FpeEhRVUZMYWtJc1JVRkxRU3hIUVVGSlFTeEpRVUZUTEZOQlEyUXNTMEZCU3l4VlFVRlpMRWRCUTJwQ0xFdEJRVXNzVTBGQlZ5eEhRVU5vUWl4TFFVRkxMRXRCUVU4c1lVRkZXQ3hEUVVkRUxFOUJSa0VzUzBGQlN5eExRVUZQUVN4RlFVTmFMRTFCUVVGdlFpeEZRVUZQTEV0QlFVc3NTMEZCU3l4SFFVTlVjRUlzUlVGQlRTeERRVU5XTEVsQlFVc3NWVUZEUkN4TFFVRkxMRlZCUVZrc1IwRkRha0lzUzBGQlN5eFBRVUZUTEVWQlExWXNTMEZCU3l4WFFVTk1MRXRCUVVzc1ZVRkJWU3hMUVVGTExFOUJRVk5wUWl4RlFVRlBMRTFCUVUwc1JVRkRPVU1zVFVGRFNpeEpRVUZMTEZGQlEwY3NTMEZCU3l4WFFVRmhRU3hGUVVGUExFTkJRVU1zU1VGQlRTeE5RVU5vUXl4TFFVRkxMRkZCUVZWQkxFVkJRVThzVVVGRE1VSXNUVUZEU2l4SlFVRkxMRzFDUVVOTUxFbEJRVXNzWjBKQlEwd3NTVUZCU3l4bFFVTkhMRXRCUVVzc1dVRkRUQ3hMUVVGTExGRkJRVlZCTEVWQlFVOHNVVUZETVVJc1RVRkRTaXhKUVVGTExGZEJRMHdzU1VGQlN5eHBRa0ZEUkN4UFFVTktMRkZCUTBrc1MwRkJTeXhWUVVGWkxFVkJRM3BDTEVOQlEwRXNTMEZCU3l4UlFVRlZRU3hGUVVGUExFMUJRekZDTEV0QmNrTlhMRU5CUTFBc1NVRkJUVXNzUlVGQlZTeHhRa0ZCY1VKTUxFTkJRVTBzUjBGRE0wTXNUVUZCUVVjc1JVRkJUeXhMUVVGTExFbEJRVWtzUTBGQlJTeExRVUZOTEZGQlFWTXNUMEZCVVN4TFFVRkxMRTlCUVZFc1VVRkJRVVVzUlVGQlV5eFBRVUZCVEN4RFFVRlBMRU5CUVVNc1IwRkRka1VzUzBGQlN5eFJRVUZWUVN4RlFVRlBMRTFCUXpGQ0xFTkJhME5LTEVOQlJVRXNRMEZCUXl4TFFVRk5MRU5CUTBnc1MwRkJUeXhMUVVGTExFMUJRVTBzVDBGQlV5eEhRVU4yUWl4TlFVRkJSeXhGUVVGUExFdEJRVXNzU1VGQlNTeEZRVU40UWl4RFFVTkJMRWxCUVVrc1lVRkJZeXhEUVU5a0xFMUJUbGNzUTBGRFVDeExRVUZOTEV0QlFVc3NTMEZEV0N4UFFVRlJMRXRCUVVzc1QwRkRZaXhQUVVGUkxFdEJRVXNzVDBGRFlpeFBRVUZSTEV0QlFVc3NUVUZEYWtJc1EwRkZTaXhEUVVOQkxFTkJRVU1zVFVGQlR5eERRVU5LTEVsQlFVMUhMRVZCUVUwc1MwRkJTeXhMUVVGTExFTkJRVU1zUlVGRGRrSXNSMEZCU1N4TFFVRkxMRTlCUVZNc1dVRkJZeXhEUVVGRFFTeEhRVUZQUVN4RlFVRkpMRTlCUVZNc1YwRkJXU3hEUVVNM1JDeExRVUZQTEV0QlFVc3NUVUZCVFN4UFFVRlRMRWRCUTNaQ0xFMUJRVUZJTEVWQlFVOHNTMEZCU3l4SlFVRkpMRWRCUTNCQ0xFdEJRVXNzVFVGQlRTeExRVUZMTEVOQlExb3NTMEZCVFN4VlFVTk9MRTlCUVZFc1MwRkJTeXhQUVVOaUxFOUJRVkVzUzBGQlN5eE5RVU5xUWl4RFFVRkRMRVZCUTBRc1RVRkRTaXhEUVVOQkxFZEJRVWtzUTBGQlEwY3NSVUZEUkN4UFFVRlBMRTFCUVVGSUxFVkJRVThzUzBGQlN5eFBRVUZQTEVkQlF6bENMRTlCUVZGSExFVkJRVWtzUzBGQlRTeERRVU5rTEVsQlFVc3NWMEZEUkN4UFFVRlBMRTFCUVVGSUxFVkJRVThzUzBGQlN5eFRRVUZUUnl4RFFVRkhMRWRCUTI1RExFbEJRVXNzVVVGRFRDeEpRVUZMTEZOQlEwd3NTVUZCU3l4MVFrRkRUQ3hKUVVGTExIVkNRVU5FTEU5QlFVOHNUVUZCUVVnc1JVRkJUeXhMUVVGTExFOUJRVTlITEVOQlFVY3NSMEZEYWtNc1NVRkJTeXhsUVVORUxFOUJRVThzVFVGQlFVZ3NSVUZCVHl4TFFVRkxMRmxCUVZsSExFTkJRVWNzUjBGRGRFTXNTVUZCU3l4WlFVTkVMRTlCUVU4c1RVRkJRVWdzUlVGQlR5eExRVUZMTEZOQlFWTkhMRU5CUVVjc1IwRkRia01zU1VGQlN5eFpRVU5FTEU5QlFVOHNUVUZCUVVnc1JVRkJUeXhMUVVGTExHTkJRV05ITEVOQlFVY3NSMEZEZUVNc1NVRkJTeXhyUWtGRFJDeFBRVUZQTEUxQlFVRklMRVZCUVU4c1MwRkJTeXhsUVVGbFJ5eERRVUZITEVkQlEzcERMRWxCUVVzc1ZVRkRSQ3hQUVVGUExFMUJRVUZJTEVWQlFVOHNTMEZCU3l4WlFVRlpSeXhEUVVGSExFVkJRekZETEVOQlJVRXNUVUZCUVVnc1JVRkJUeXhMUVVGTExFbEJRVWtzUlVGRGNFSXNRMEZEUVN4TFFVRkxTU3hGUVVGSExFTkJRMG9zVDBGQlR5eExRVUZMTEUxQlFVMHNTMEZCU3l4TlFVRk5MRTlCUVZOQkxFTkJRVU1zUTBGRE0wTXNRMEZEUVN4RFFVRkRMRWxCUVVsRExFVkJRVThzUTBGRFVpeEpRVUZOY2tJc1JVRkJVWEZDTEVkQlFVRXNTMEZCUVVFc1JVRkJVeXhMUVVGTExFMUJRVTBzU1VGQlNTeEZRVVYwUXl4SFFVRkpMRU5CUVVOeVFpeEZRVVZFTEV0QlFVMHNRMEZCUlN4TFFVRk5MRkZCUVZNc1QwRkJVU3hMUVVGTExFOUJRVkVzVDBGQlVTeEhRVUZKTEZGQlJIaERMRFpDUVVOblJDeFZRVVV6UkN4TFFVRkxMRTFCUVUwc1UwRkJWeXhGUVVNelFpeE5RVUZOUVN4TlFVVk1MRU5CUTBRc1NVRkJUVzFDTEVWQlFVMHNTMEZCU3l4TFFVRkxMRU5CUVVNc1JVRlhka0lzVDBGV1NXNUNMRVZCUVUwc1QwRkJVeXhsUVVWbVFTeEZRVUZOTEU5QlFWTXNWMEZCV1cxQ0xFVkJRVTFCTEVWQlFVa3NUMEZCVXl4RlFVVjZRMjVDTEVWQlFVMHNUMEZCVXl4dFFrRkJjVUp0UWl4RlFVRkpMRTlCUVZNc1lVRkZkRVJ1UWl4RlFVRk5MRTlCUVZNc1IwRkZaa0VzUlVGQlRTeFBRVUZUTEcxQ1FVTm1VU3hIUVVGblFsSXNRMEZCU3l4RlFVTnFRbTFDTEVWQlFVa3NTMEZCVFN4RFFVTmtMRWxCUVVzc1YwRkRSRUVzUlVGQlNTeE5RVUZSYmtJc1JVRkRXaXhOUVVOS0xFbEJRVXNzWlVGRFJHMUNMRVZCUVVrc1RVRkJUU3hMUVVGTGJrSXNRMEZCU3l4RlFVTndRaXhOUVVOS0xFbEJRVXNzV1VGQllTeERRVU5rTEVsQlFVMUpMRVZCUVV0bExFVkJRVWtzVFVGQlRVRXNSVUZCU1N4TlFVRk5MRTlCUVZNc1EwRkJReXhGUVVONlF5eEhRVUZKWml4RlFVRkhMRTFCUVU4c1EwRkRWbVVzUlVGQlNTeE5RVUZOTEV0QlFVc3NRMEZCUlN4TlFVRlBMRU5CUVVNc1JVRkJSeXhKUVVGTGJrSXNSVUZCVHl4SlFVRkxMRU5CUVVNc1EwRkJSU3hEUVVGRExFVkJRMnBFTEV0QlFVc3NWVUZCV1N4SFFVTnFRaXhOUVVOS0xGTkJRMU5KTEVWQlFVY3NTVUZEVWtFc1JVRkJSeXhOUVVGUlNpeE5RVVZXTEVOQlEwUXNUMEZCVHl4UFFVRlBTU3hGUVVGSkxFTkJRVVVzU1VGQlMwb3NSVUZCVHl4SlFVRkxMRU5CUVVNc1EwRkJSU3hEUVVGRExFVkJRM3BETEV0QlFVc3NWVUZCV1N4RFFVRkRTU3hGUVVGSExGbEJRM0pDTEUxQlEwb3NRMEZEUVN4TFFVTktMRU5CUTBFc1NVRkJTeXhaUVVGaExFTkJRMlFzU1VGQlRVRXNSVUZCUzJVc1JVRkJTU3hOUVVGTlFTeEZRVUZKTEUxQlFVMHNUMEZCVXl4RFFVRkRMRVZCUTNKRFppeEZRVUZITEUxQlEwaGxMRVZCUVVrc1RVRkJUU3hMUVVGTExFTkJRVVVzVFVGQlR5eERRVUZETEVWQlFVY3NUVUZCVDI1Q0xFTkJRVTBzUTBGQlF5eEZRVVV4UTBrc1JVRkJSeXhOUVVGUlNpeEZRVU5tTEV0QlEwb3NRMEZEUVN4SlFVRkxMR3RDUVVGdFFpeERRVU53UWl4SlFVRk5TU3hGUVVGTFpTeEZRVUZKTEUxQlFVMUJMRVZCUVVrc1RVRkJUU3hQUVVGVExFTkJRVU1zUlVGRGNrTXNRMEZCUTJZc1IwRkJUVUVzUlVGQlJ5eE5RVU5XWlN4RlFVRkpMRTFCUVUwc1MwRkJTeXhEUVVGRkxFMUJRVThzUTBGQlF5eEZRVUZITEVsQlFVdHVRaXhGUVVGUExFbEJRVXNzUTBGQlF5eERRVUZGTEVOQlFVTXNSVUZETlVOSkxFVkJRVWNzU1VGRFVrRXNSVUZCUnl4TlFVRlJTaXhGUVVWWUxFOUJRVThzVDBGQlQwa3NSVUZCU1N4RFFVRkZMRWxCUVV0S0xFVkJRVThzU1VGQlN5eERRVUZETEVOQlFVVXNRMEZCUXl4RlFVTTNReXhOUVVOS0xFTkJSVUVzVVVGRFNTeE5RVUZCWjBJc1JVRkJUeXhMUVVGTExFbEJRVWtzUjBGRGFFSXNUVUZCUVVFc1JVRkJUeXhMUVVGTExFbEJRVWxvUWl4RFFVRkxMRVZCUXpkQ0xFTkJRMEVzU1VGQlMyMUNMRVZCUVVrc1QwRkJVeXhaUVVOa1FTeEZRVUZKTEU5QlFWTXNZVUZEWWtFc1JVRkJTU3hQUVVGVExHVkJRMXB1UWl4RlFVRk5MRTlCUVZNc1lVRkJaVUVzUlVGQlRTeFBRVUZUTEdGQlFXTXNRMEZETlVRc1NVRkJUWE5DTEVWQlFVOTBRaXhGUVVGTkxFMUJRVTFCTEVWQlFVMHNUVUZCVFN4UFFVRlRMRU5CUVVNc1JVRkRNME56UWl4SFFVTkJMRU5CUVVOQkxFVkJRVXNzUzBGRFRpeERRVUZEUVN4RlFVRkxMRTlCUTA1QkxFVkJRVXNzVFVGQlRTeFBRVUZUTEVkQlEzQkNlRUlzUjBGQmEwSjNRaXhGUVVGTExFdEJRVXNzU1VGQlRTeExRVU5xUTNSQ0xFVkJRVTBzVTBGQlZ5eEhRVU5rYzBJc1JVRkJTeXhOUVVGTkxFMUJRVTFETEVkQlFVMUJMRVZCUVVjc1QwRkJVeXhYUVVGaFFTeEZRVUZITEU5QlFWTjJRaXhGUVVGTkxFMUJRVTBzUzBGRGVFVnRRaXhGUVVGSkxFOUJRVk1zVjBGRFlrRXNSVUZCU1N4SlFVRk5SeXhGUVVGTExFMUJSV1pJTEVWQlFVa3NUVUZCVFN4TFFVRkxMRU5CUVVVc1RVRkJUMGNzUlVGQlN5eExRVUZOTEVOQlFVTXNSVUZEZUVOMFFpeEZRVUZOTEUxQlFVMHNUMEZCVHl4SFFVRkpMRU5CUVVNc1JVRkZhRU1zUTBGRFNpeERRVU5LTEVOQlEwRXNRMEZCUXl4UlFVRlRMRU5CUTA0c1QwRkJVU3hMUVVGTExFdEJRVTBzUTBGRFppeEpRVUZMTEdsQ1FVTkVMRXRCUVUwc1EwRkJSU3hMUVVGTkxGbEJRV0VzVDBGQlVTeExRVUZMTEU5QlFWRXNUMEZCVVN4TFFVRkxMRTFCUVU4c1JVRkRjRVVzVDBGRFNpeEpRVUZMTEd0Q1FVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFZRVU5FTEUxQlFVMHNTMEZCU3l4WlFVTllMRTlCUTBvc1NVRkJTeXhYUVVOTUxFbEJRVXNzV1VGQllTeERRVU5rTEVsQlFVMTNRaXhGUVVGTkxFTkJRMUlzUzBGQlRTeFhRVU5PTEU5QlFWRXNTMEZCU3l4UFFVTmlMRTFCUVU4c1EwRkJReXhEUVVOYUxFVkJRMGtzUzBGQlN5eFBRVUZUTEdGQlEyUkJMRVZCUVVrc1RVRkJUU3hMUVVGTExFdEJRVXNzVjBGQlZ5eEZRVU51UXl4TFFVRkxMRTFCUVUwc1MwRkJTMEVzUTBGQlJ5eEZRVU51UWl4TlFVTktMRU5CUTBvc1EwRkRRU3hMUVVGTkxFTkJRMFlzUzBGQlRTeFJRVU5PTEU5QlFWRXNTMEZCU3l4UFFVTmlMRkZCUVZNc1kwRkJZeXhMUVVGTExFbEJRVWtzZDBKQlEyaERMRTlCUVZFc1MwRkJTeXhOUVVOcVFpeERRVU5LTEVOQlEwRXNRMEZCUXl4VFFVRlRRU3hGUVVGTExFTkJRMWdzUjBGQlNVRXNSVUZCU1N4TlFVTktMRTlCUVU4c1RVRkJRVklzUlVGQlR5eExRVUZMTEZGQlFWRlJMRU5CUVVjc1IwRkRiRU1zVDBGQlVTeExRVUZMTEV0QlFVMHNRMEZEWml4SlFVRkxMRmxCUVdFc1EwRkRWakZDTEVkQlFXdENNRUlzUlVGQlNTeExRVUZMTEVsQlFVMHNTVUZEYWtNc1RVRkJRVklzUlVGQlR5eExRVUZMTEVsQlFVa3NSMEZEYUVJc1RVRkJRVUVzUlVGQlR5eExRVUZMTEV0QlFVc3NTVUZIYWtKUkxFVkJRVWtzVFVGQlRTeExRVUZMTEV0QlFVc3NWMEZCVnl4RlFVTnVReXhOUVVOS0xFTkJRMEVzU1VGQlN5eFRRVU5NTEVsQlFVc3NUVUZEVEN4SlFVRkxMRkZCUTB3c1NVRkJTeXhWUVVOTUxFbEJRVXNzVlVGRFJFRXNSVUZCU1N4TlFVRk5MRXRCUVVzc1MwRkJTeXhYUVVGWExFVkJReTlDTEUxQlExSXNRMEZEUVN4SlFVRk5ReXhGUVVGTExFdEJRVXNzWjBKQlFXZENSQ3hEUVVGSExFVkJReTlDUXl4RlFVTkJMRXRCUVVzc1RVRkJUU3hMUVVGTFFTeERRVUZGTEVWQlJXeENMRXRCUVUwc1EwRkRSaXhMUVVGTkxGRkJRMDRzVDBGQlVTeExRVUZMTEU5QlEySXNVVUZCVXl4alFVRmpMRXRCUVVzc1NVRkJTU3d3UWtGRGFFTXNUMEZCVVN4TFFVRkxMRTFCUTJwQ0xFTkJSVklzUTBGRFFTeERRVUZETEU5QlFVOURMRVZCUVZFc1EwRkRXaXhIUVVGSkxFdEJRVXNzVDBGQlV5eG5Ra0ZCYVVJc1EwRkRMMElzU1VGQlRYQkNMRVZCUVU5TUxFZEJRV0VzUzBGQlN5eExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVTm9RekJDTEVWQlFWRjBRaXhIUVVGelFrTXNRMEZCU1N4RlFVTndRM05DTEVWQlEwRkdMRVZCUVU4c1MwRkRVRVVzUlVGQlRVWXNSVUZCVHl4SlFVTmlSU3hGUVVGSkxFdEJRVXNzUzBGQlN5eFhRVUZYTEVWQlEzcENMRTlCUVU5R0xFVkJRVThzUzBGSFpFVXNSVUZCVFN4RFFVRkRMRXRCUVVzc1YwRkJWeXhGUVVNelFpeEpRVUZOUXl4RlFVRk5MRU5CUTFJc1MwRkJUU3haUVVOT0xFOUJRVkZJTEVWQlFVOHNUMEZEWml4UFFVRlJRU3hGUVVGUExFOUJRMllzVFVGQlR5eERRVUZETEVOQlFVVXNUVUZCUVVNc1JVRkJUeXhKUVVGTFJDeEZRVUZSTEVsQlFVRkZMRU5CUVVrc1EwRkJReXhEUVVOMlF5eEZRVU5CTEV0QlFVc3NWVUZCV1N4SFFVTnFRaXhMUVVGTExFMUJRVTBzUzBGQlN5eE5RVUZOTEU5QlFWTXNRMEZCUXl4RlFVRkpReXhEUVVONFF5eE5RVVZKTEUxQlFVRmlMRVZCUVU4c1MwRkJTeXhSUVVGUlZTeERRVUZOTEVWQlEyeERMRU5CUTBFc1EwRkJReXhaUVVGWlFTeEZRVUZSTEVOQlEycENMRTlCUVZFc1MwRkJTeXhMUVVGTkxFTkJRMllzU1VGQlN5eFJRVU5NTEVsQlFVc3NWVUZEVEN4SlFVRkxMRlZCUTBSQkxFVkJRVThzVFVGQlRTeExRVUZMTEV0QlFVc3NWMEZCVnl4RlFVTnNReXhQUVVOS0xFbEJRVXNzVTBGTFJDeEhRVXBCUVN4RlFVRlBMRTlCUVZNc1MwRkJTeXhQUVVWeVFpeExRVUZMTEZWQlFWa3NSMEZEYWtJc1MwRkJTeXhQUVVGVExFVkJRMVlzUzBGQlN5eFZRVUZYTEVOQlEyaENMRWxCUVVsSkxFVkJRVXNzUzBGQlN5eFBRVUZQTEZGQlFWRTdRVUZCUVN4RFFVRkpMRVZCUVVrc1JVRkRja01zUzBGQlQwRXNTVUZCVHl4SFFVTldMRXRCUVVzc1ZVRkJWU3hMUVVGTExFOUJRVk5CTEVOQlFVVXNSVUZETDBKQkxFVkJRVXNzUzBGQlN5eFBRVUZQTEZGQlFWRTdRVUZCUVN4RlFVRk5RU3hEUVVGRkxFVkJRVWtzUTBGRk4wTXNRMEZEUVN4TlFVRkJaQ3hGUVVGUExFdEJRVXNzU1VGQlNTeEhRVU5vUWl4TlFVVktMRkZCUTBrc1RVRkJRVUVzUlVGQlR5eExRVUZMTEVsQlFVa3NSMEZEYUVJc1RVRkJRVUVzUlVGQlR5eExRVUZMTEV0QlFVc3NSVUZEZWtJc1EwRkRTaXhEUVVOQkxFTkJRVU1zVTBGQlUyRXNSVUZCU3l4RFFYUmtia0lzU1VGQlFURkNMRVZCZFdSUkxFbEJRVTFETEVWQlFVdDVRaXhGUVVGSkxFMUJRVTFCTEVWQlFVa3NUVUZCVFN4UFFVRlRMRU5CUVVNc1JVRkZla01zVDBGQlVTeExRVUZMTEV0QlFVMHNRMEZEWml4SlFVRkxMRlZCUlVRc1IwRkVRU3hMUVVGTExGVkJRVmtzUjBGRFlucENMRVZCUVVjc1RVRkJUeXhEUVVOV0xFbEJRVTB5UWl4RlFVRk5MRkZCUVZNelFpeEZRVUZITEUxQlFWRkJMRVZCUVVjc1RVRkJUU3hKUVVGTkxFOUJRM3BEYTBJc1JVRkJUeXhOUVVGTkxGRkJRVkZUTEVOQlFVY3NSVUZCU1VFc1JVRkJTVUVzUlVGQlNTeFBRVUZUTEVOQlFVTXNSVUZCU1N4UlFVTndSRlFzUjBGQlFTeFpRVUZCUVN4RlFVRk5MRkZCUVZNc1ZVRkRabE1zUjBGQlFTeE5RVUZCUVN4RlFVRkxMRXRCUVVzc1MwRkJTeXhoUVVWbVJpeEZRVUZKTEUxQlFVMHNTMEZCU3l4RFFVRkZMRTFCUVU4c1EwRkJReXhMUVVGTExGZEJRVmNzUTBGQlJTeERRVUZETEVOQlEzQkVMRTFCUTFONlFpeEZRVUZITEVsQlExSkJMRVZCUVVjc1NVRkJTU3hMUVVGTExFdEJRVXNzVjBGQlZ5eEZRVWMxUWtFc1JVRkJSeXhOUVVGTkxFdEJRVXNzUzBGQlN5eFhRVUZYTEVWQlJXeERMRTlCUTBvc1NVRkJTeXhSUVVOTUxFbEJRVXNzVlVGRFJDeEhRVUZKUVN4RlFVRkhMRTFCUTBoNVFpeEZRVUZKTEUxQlFVMHNTMEZCU3l4RFFVRkZMRTFCUVU4c1EwRkJReXhMUVVGTExGZEJRVmNzUTBGQlJTeERRVUZETEZWQlJYWkRla0lzUlVGQlJ5eEpRVU5TUVN4RlFVRkhMRWxCUVVrc1MwRkJTeXhMUVVGTExGZEJRVmNzVFVGRk0wSXNRMEZEUkN4SFFVRkpMRXRCUVVzc2EwSkJRV3RDUVN4RlFVRkhMRTFCUVU5NVFpeEZRVUZKTEUxQlFVMHNSVUZCUnl4RFFVTTVReXhKUVVGTmRrSXNSVUZCVDNWQ0xFVkJRVWtzVFVGQlRVRXNSVUZCU1N4TlFVRk5MRTlCUVZNc1EwRkJReXhGUVVOeVEwVXNSMEZCVFRWQ0xFVkJRVUZITEVkQlFVRXNXVUZCUVVFc1JVRkJUU3hSUVVGT0xGbEJRVUZJTEVWQlFXRXNTVUZEZWtJc1IwRkJTU3hOUVVGTkxGRkJRVkUwUWl4RFFVRkhMRVZCUVVjc1EwRkRjRUlzVFVGQlRTeFZRVUZWTEV0QlFVc3NUVUZCVFVFc1JVRkJTek5DTEVWQlFVY3NTMEZCU3l4RlFVTjRRekpDTEVWQlFVa3NTMEZCU3l4TFFVRkxMRmRCUVZjc1JVRkRla0pHTEVWQlFVa3NUVUZCVFN4SlFVRkpMRVZCUTJRc1RVRkRTaXhEUVVOS0xFTkJRMEY2UWl4RlFVRkhMRTFCUVUwc1MwRkJTeXhMUVVGTExGZEJRVmNzUTBGRGJFTXNRMEZEUVN4TlFVTlNMRU5CUTBFc1IwRkJTU3hMUVVGTExGRkJRVlY1UWl4RlFVRkpMRTlCUVZFc1EwRkRNMElzU1VGQlRVY3NSVUZCWXl4RFFVRkRMRXRCUVVzc1YwRkJZU3hMUVVGTExGTkJRVmRJTEVWQlFVa3NUMEZEY2tSSkxFVkJRV0ZFTEVsQlEyUTFRaXhGUVVGSExFdEJRVTlCTEVWQlFVY3NZMEZEWkN4TFFVRkxMRTlCUVZNc1pVRkZaSFZDTEVWQlFWRXNRMEZCUXl4RlFVTmlMRWRCUVVsTkxFZEJRV00zUWl4RlFVRkhMRXRCUVU4c1EwRkJRMEVzUlVGQlJ5eE5RVUZQTEVOQlEyNURMRWxCUVUwd1FpeEZRVUZMTEVOQlFVTXNSVUZEV2l4UlFVRlRha01zUlVGQlNTeEZRVUZIUVN4RlFVRkpUeXhGUVVGSExFbEJRVWtzVDBGQlVTeEZRVUZGVUN4RlFVRkhMRU5CUTNCRExFbEJRVTB3UWl4RlFVRkxia0lzUlVGQlJ5eEpRVUZKVUN4RFFVRkRMRVZCUTI1Q0xFOUJRVkV3UWl4RlFVRkhMRXRCUVUwc1EwRkRZaXhKUVVGTExGVkJRMFJQTEVWQlFVY3NTMEZCUzJwRExFTkJRVU1zUlVGRFZDeE5RVU5LTEVsQlFVc3NVVUZEUkN4TlFVTktMRWxCUVVzc1ZVRkRSekJDTEVWQlFVY3NUMEZCVTAwc1JVRkJTU3hUUVVOb1FrTXNSVUZCUnl4UFFVRlRMRWRCUTJoQ0xFMUJRMG9zVVVGRFNVRXNSVUZCUnl4UFFVRlRMRU5CUTNCQ0xFTkJRMG9zUTBGRFNVRXNSVUZCUnl4UlFVRlZMRWxCUTJKSUxFVkJRVkYyUWl4RlFVRkhMRWxCUVVrc1QwRkJUekJDTEVWQlFVY3NRMEZCUXl4RFFVRkRMRVZCUTI1RExFTkJRMEVzVDBGQlVTeExRVUZMTEV0QlFVMHNRMEZEWml4SlFVRkxMRk5CUTB3c1NVRkJTeXhOUVVOSFJ5eEhRVUZqTjBJc1JVRkJSeXhQUVVOcVFuVkNMRVZCUVUwc1MwRkJTeXhMUVVGTExGZEJRVmNzUlVGRE0wSkZMRVZCUVVrc1RVRkJUU3hMUVVGTExFTkJRVVVzVFVGQlFVWXNRMEZCVFN4RFFVRkRMRVZCUTNoQ0xFdEJRVXNzVlVGQldTeEpRVVZhZGtJc1JVRkJSeXhKUVVOU1FTeEZRVUZITEVsQlFVa3NTMEZCU3l4TFFVRkxMRmRCUVZjc1JVRkhOVUpCTEVWQlFVY3NUVUZCVFN4TFFVRkxMRXRCUVVzc1YwRkJWeXhGUVVWc1F5eFBRVU5LTEVsQlFVc3NiVUpCUTBjc1EwRkJRMEVzUlVGQlJ5eExRVUZQTEVOQlFVTkJMRVZCUVVjc1lVRkRaa0VzUlVGQlJ5eE5RVUZOTEV0QlFVc3NTMEZCU3l4WFFVRlhMRVZCUXpsQ1FTeEZRVUZITEZsQlFXTXNTVUZGV2paQ0xFZEJRV00zUWl4RlFVRkhMRTlCUTNSQ2RVSXNSVUZCVFN4TFFVRkxMRXRCUVVzc1YwRkJWeXhGUVVNelFrVXNSVUZCU1N4TlFVRk5MRXRCUVVzc1EwRkJSU3hOUVVGQlJpeEZRVUZQTEZsQlFXRXNSVUZCU3l4RFFVRkRMRWRCUnpORExFdEJRVXNzVFVGQlRTeExRVUZMTEVOQlExb3NTMEZCVFN4WlFVTk9MRTlCUVZFc1MwRkJTeXhQUVVOaUxFOUJRVkVzUzBGQlN5eFBRVU5pTEUxQlFVOHNRMEZCUXl4RFFVRkZMRTFCUVU4c1EwRkJReXhMUVVGTExGZEJRVmNzUlVGQlJ5eFpRVUZoTEVWQlFVc3NRMEZCUXl4RFFVTTFSQ3hEUVVGRExFVkJSVXdzUzBGQlN5eFZRVUZaTEVkQlEycENMRTlCUTBvc1NVRkJTeXhuUWtGRFJDeEhRVUZKZGtJc1JVRkJSeXhaUVVOSUxFZEJRVXRCTEVWQlFVY3NTVUZqU0N4SFFVRkpRU3hGUVVGSExFMUJRMUo1UWl4RlFVRkpMRTFCUVUwc1MwRkJTeXhEUVVGRkxFMUJRVThzUTBGQlF5eEZRVUZITEVsQlFVc3NTMEZCVFN4SlFVRkxMRU5CUVVNc1MwRkJTeXhYUVVGWExFTkJRVVVzUTBGQlF5eFZRVVV6Ukc1RExFZEJRV05WTEVWQlFVY3NTVUZCU3l4bFFVRmxMRVZCUXpGRExFdEJRVXNzVFVGQlRTeExRVUZMTEVOQlExb3NTMEZCVFN4WlFVTk9MRTlCUVZFc1MwRkJTeXhQUVVOaUxFOUJRVkVzUzBGQlN5eFBRVU5pTEUxQlFVOHNRMEZCUXl4RFFVRkZMRTFCUVVGMVFpeEZRVUZQTEVsQlFVc3NTMEZCVFN4SlFVRkxMRU5CUVVNc1MwRkJTeXhYUVVGWExFTkJRVVVzUTBGQlF5eERRVU42UkN4RFFVRkRMRlZCUlVrMVFpeEhRVUZaU3l4RlFVRkhMRWRCUVVjc1IwRkRka0lzUTBGQlExWXNSMEZCWTFVc1JVRkJSeXhKUVVGTExGTkJRVk1zUlVGQlJ5eERRVU51UXl4SlFVRk5kVUlzUlVGQlVYUkNMRWRCUVhOQ1JDeEZRVUZITEV0QlFVc3NSVUZEZEVNNFFpeEZRVUZOT1VJc1JVRkJSeXhKUVVOVWQwSXNSVUZCVFhoQ0xFVkJRVWNzU1VGRFpuZENMRVZCUVVrc1MwRkJTeXhMUVVGTExGZEJRVmNzUlVGRmVrSXNUMEZCVDNoQ0xFVkJRVWNzU1VGRlZpeFBRVUZQUVN4RlFVRkhMRWxCUTFZc1MwRkJTeXhOUVVGTkxFdEJRVXNzUTBGRFdpeExRVUZOTEZsQlEwNHNUMEZCVVN4TFFVRkxMRTlCUTJJc1QwRkJVU3hMUVVGTExFOUJRMklzVFVGQlR5eERRVUZETEVOQlFVVXNUVUZCUVhWQ0xFVkJRVThzU1VGQlFVOHNSVUZCU3l4SlFVRkJUaXhEUVVGSkxFTkJRVU1zUTBGREwwSXNRMEZCUXl4RFFVTk1MRTFCUTFORUxFVkJRVTBzVDBGQlV5eEZRVVZ3UW5aQ0xFVkJRVWNzU1VGQlRVRXNSVUZCUnl4SlFVRkpMRTlCUVU5MVFpeEZRVUZQTEV0QlFVc3NWMEZCVnl4RlFVYzVRM1pDTEVWQlFVY3NTVUZCU1N4TFFVRkxMRXRCUVVzc1YwRkJWeXhWUVRsRGVFSldMRWRCUVdOVkxFVkJRVWNzVFVGQlR5eFRRVUZUTEVWQlEycERMRTlCUVU4c1QwRkJUMEVzUlVGQlNTeERRVUZGTEVsQlFVc3NTMEZCVFN4SlFVRkxMRU5CUVVNc1MwRkJTeXhYUVVGWExFTkJRVVVzUTBGQlF5eE5RVVYyUkN4RFFVTkVMRWxCUVUxMVFpeEZRVUZSZEVJc1IwRkJjMEpFTEVWQlFVY3NTMEZCU3l4RlFVTTFReXhMUVVGTExFMUJRVTBzUzBGQlN5eERRVU5hTEV0QlFVMHNXVUZEVGl4UFFVRlJMRXRCUVVzc1QwRkRZaXhQUVVGUkxFdEJRVXNzVDBGRFlpeE5RVUZQTEVOQlFVTXNRMEZCUlN4TlFVRkJkVUlzUlVGQlR5eEpRVUZMTEV0QlFVMHNTVUZCU3l4RFFVRkRMRXRCUVVzc1YwRkJWeXhEUVVGRkxFTkJRVU1zUTBGRGVrUXNRMEZCUXl4RFFVTk1MRTFCZFVORGRrSXNSVUZCUnl4SlFVZERRU3hGUVVGSExFOUJRVk0yUWl4RlFVTnFRa29zUlVGQlNTeE5RVUZOTEV0QlFVc3NRMEZCUlN4TlFVRkJSaXhGUVVGUExFbEJRVXNzUzBGQlRTeEpRVUZMTEVOQlFVTXNTMEZCU3l4WFFVRlhMRU5CUVVVc1EwRkJReXhGUVVWMlJHcERMRWRCUVdOVkxFVkJRVWNzU1VGQlN5eGxRVUZsTEVWQlF6RkRMRXRCUVVzc1RVRkJUU3hMUVVGTExFTkJRMW9zUzBGQlRTeFpRVU5PTEU5QlFWRXNTMEZCU3l4UFFVTmlMRTlCUVZFc1MwRkJTeXhQUVVOaUxFMUJRVThzUTBGQlF5eERRVUZGTEUxQlFVOHNRMEZCUXl4RlFVRkhMRWxCUVVzc1MwRkJUU3hKUVVGTExFTkJRVU1zUzBGQlN5eFhRVUZYTEVOQlFVVXNRMEZCUXl4RFFVTTNSQ3hEUVVGRExFVkJSMFJCTEVWQlFVY3NTVUZCU1N4TFFVRkxMRXRCUVVzc1YwRkJWeXhGUVdRMVFpeFBRVUZQTEU5QlFVOUJMRVZCUVVrc1EwRkJSU3hKUVVGTExFdEJRVTBzU1VGQlN5eERRVUZETEV0QlFVc3NWMEZCVnl4RFFVRkZMRU5CUVVNc1JVRnBRbWhGTEV0QlFVc3NWVUZCV1N4SFFVTnFRaXhQUVVOS0xFbEJRVXNzVVVGRFRDeEpRVUZMTEZOQlEwd3NTVUZCU3l4MVFrRkRUQ3hKUVVGTExIVkNRVUYzUWl4RFFVTjZRaXhKUVVGTkswSXNSVUZCU3l4TFFVRkxMRmRCUVZjc1MwRkJTeXhKUVVGSkxFVkJRMmhEUml4SFFVRmpOMElzUlVGQlJ5eFBRVU5xUW5sQ0xFVkJRVWtzVFVGQlRTeExRVUZMTEVOQlFVVXNUVUZCUVVZc1JVRkJUeXhKUVVGTFVTeEZRVUZKTEVsQlFVc3NRMEZCUXl4RFFVRkZMRU5CUVVNc1JVRkRNVU1zUzBGQlN5eFZRVUZaTEVsQlJWb3ZRaXhGUVVGSExFbEJRMUlzUzBGQlN5eE5RVUZOTEV0QlFVc3JRaXhEUVVGRkxFZEJSMnhDTEU5QlFVOHNUMEZCVHk5Q0xFVkJRVWtzUTBGQlJTeEpRVUZMSzBJc1JVRkJTU3hKUVVGTExFTkJRVU1zUTBGQlJTeERRVUZETEVWQlEzUkRMRXRCUVVzc1ZVRkJXU3hKUVVWeVFpeE5RVU5LTEVOQlEwRXNVVUZCVXl4RFFVTk1MRWxCUVUxV0xFVkJRVXNzUzBGQlN5eG5Ra0ZCWjBKSkxFTkJRVWNzUlVGRGJrTXNSMEZCU1Vvc1JVRkJTU3hEUVVOQlR5eEhRVUZsVUN4RlFVRkhMRTlCUVZNc1lVRkRNMEpKTEVWQlFVa3NUVUZCVFN4TFFVRkxMRU5CUVVVc1RVRkJRVVlzUTBGQlRTeERRVUZETEVWQlJUVkNMRXRCUVVzc1RVRkJUU3hMUVVGTFJpeERRVUZGTEVWQlEyeENMRTFCUTBvc1EwRkRTaXhEUVVOS0xFTkJRMG9zUTBGRFFTeE5RVUZCVkN4RlFVRlBMRXRCUVVzc1NVRkJTU3hIUVVOb1FpeE5RVUZCUVN4RlFVRlBMRXRCUVVzc1MwRkJTeXhGUVVOeVFpeERRVU5CTEVOQlFVTXNZMEZCWTI5Q0xFVkJRVXNzUTBFeGNVSjRRaXhKUVVGQmFrTXNSVUV5Y1VKUkxFbEJRVTFETEVWQlFVdG5ReXhGUVVGSkxFMUJRVTFCTEVWQlFVa3NUVUZCVFN4UFFVRlRMRU5CUVVNc1JVRkRla01zVDBGQlVTeExRVUZMTEV0QlFVMHNRMEZEWml4SlFVRkxMRlZCUTBRc1IwRkJTV2hETEVWQlFVY3NUVUZCVHl4RFFVTldMRWxCUVUweVFpeEZRVUZOTEZGQlFWTXpRaXhGUVVGSExFMUJRVkZCTEVWQlFVY3NUVUZCVFN4SlFVRk5MRTlCUTNwRGEwSXNSVUZCVHl4TlFVRk5MRkZCUVZGVExFTkJRVWNzUlVGQlNVRXNSVUZCU1VFc1JVRkJTU3hQUVVGVExFTkJRVU1zUlVGQlNTeFJRVU53UkZRc1IwRkJRU3haUVVGQlFTeEZRVUZOTEZGQlFWTXNWVUZEWmxNc1IwRkJRU3hOUVVGQlFTeEZRVUZMTEV0QlFVc3NTMEZCU3l4aFFVVm1TeXhGUVVGSkxFMUJRVTBzUzBGQlN5eERRVUZGTEUxQlFVOHNRMEZCUXl4TFFVRkxMRmRCUVZjc1EwRkJSU3hEUVVGRExFTkJRM0JFTEUxQlJVbG9ReXhGUVVGSExFMUJRVTBzUzBGQlN5eExRVUZMTEZkQlFWY3NSVUZEYkVNc1QwRkRTaXhKUVVGTExGRkJRMHdzU1VGQlN5eFZRVU5FTEVkQlFVbEJMRVZCUVVjc1RVRkRTR2RETEVWQlFVa3NUVUZCVFN4TFFVRkxMRU5CUVVVc1RVRkJUeXhEUVVGRExFdEJRVXNzVjBGQlZ5eERRVUZGTEVOQlFVTXNUVUZETTBNc1EwRkRSQ3hIUVVGSkxFdEJRVXNzYTBKQlFXdENhRU1zUlVGQlJ5eE5RVUZQWjBNc1JVRkJTU3hOUVVGTkxFVkJRVWNzUTBGRE9VTXNTVUZCVFRsQ0xFVkJRVTg0UWl4RlFVRkpMRTFCUVUxQkxFVkJRVWtzVFVGQlRTeFBRVUZUTEVOQlFVTXNSVUZEY2tOTUxFZEJRVTAxUWl4RlFVRkJSeXhIUVVGQkxGbEJRVUZCTEVWQlFVMHNVVUZCVGl4WlFVRkJTQ3hGUVVGaExFbEJRM3BDTEVkQlFVa3NUVUZCVFN4UlFVRlJORUlzUTBGQlJ5eEZRVUZITEVOQlEzQkNMRTFCUVUwc1ZVRkJWU3hMUVVGTExFMUJRVTFCTEVWQlFVc3pRaXhGUVVGSExFdEJRVXNzUlVGRGVFTXlRaXhGUVVGSkxFdEJRVXNzUzBGQlN5eFhRVUZYTEVWQlEzcENTeXhGUVVGSkxFMUJRVTBzU1VGQlNTeEZRVU5rTEUxQlEwb3NRMEZEU2l4RFFVTkJhRU1zUlVGQlJ5eE5RVUZOTEV0QlFVc3NTMEZCU3l4WFFVRlhMRU5CUTJ4RExFTkJRMEVzVDBGRFNpeEpRVUZMTEZOQlEwd3NTVUZCU3l4TlFVTkVMRWRCUVVsQkxFVkJRVWNzVDBGQlV5eExRVUZMTEZGQlFWVm5ReXhGUVVGSkxFOUJReTlDTEUxQlEwcG9ReXhGUVVGSExFMUJRVTBzUzBGQlN5eExRVUZMTEZkQlFWY3NSVUZET1VJc1QwRkRTaXhKUVVGTExHVkJRMFFzUjBGQlNTeExRVUZMTEZOQlFWZG5ReXhGUVVGSkxFOUJRM0JDTEUxQlEwRm9ReXhGUVVGSExFOUJRVk5XTEVkQlFXTlZMRVZCUVVjc1RVRkJUeXhqUVVGakxFVkJRMnhFWjBNc1JVRkJTU3hOUVVGTkxFdEJRVXNzUTBGQlJTeE5RVUZQTEVOQlFVTXNTMEZCU3l4WFFVRlhMRU5CUVVVc1EwRkJReXhGUVVVMVEyaERMRVZCUVVjc1RVRkJUU3hMUVVGTExFdEJRVXNzVjBGQlZ5eEZRVU5zUXl4TlFVTlNMRU5CUTBFc1IwRkJTU3hMUVVGTExFOUJRVk5uUXl4RlFVRkpMRTlCUVZFc1EwRkRNVUlzU1VGQlRWZ3NSVUZCU3l4TFFVRkxMR2RDUVVGblFsY3NRMEZCUnl4RlFVTnVReXhIUVVGSldDeEZRVUZKTEVOQlEwb3NTMEZCU3l4TlFVRk5MRXRCUVV0QkxFTkJRVVVzUlVGRGJFSXNUVUZEU2l4RFFVTktMRU5CUTBFc1RVRkJRVlFzUlVGQlR5eExRVUZMTEVsQlFVa3NSMEZEYUVJc1RVRkJRVUVzUlVGQlR5eExRVUZMTEV0QlFVc3NSVUZEY2tJc1EwRkRRU3hEUVVGRExHVkJRV1ZRTEVWQlFVa3NRMEZEYUVJc1NVRkJUVXdzUlVGQlMwc3NSVUZCUnl4TlFVRk5RU3hGUVVGSExFMUJRVTBzVDBGQlV5eERRVUZETEVWQlEzWkRMRWRCUVVrc1MwRkJTeXhQUVVGVExHbENRVUZyUWl4RFFVTm9ReXhKUVVGSlZTeEZRVU5LTEVkQlEwa3NUVUZCUVVnc1JVRkJUeXhMUVVGTExFbEJRVWtzUjBGRGFFSkhMRVZCUVUwc1MwRkJTeXhMUVVGTExFTkJRVU1zVVVGRFdrRXNSMEZCVDBFc1JVRkJTU3hQUVVGVExHdENRVU5xUXl4VFFVTlRWaXhGUVVGSExFbEJRVWtzVTBGQlZ5eEZRVUZITEVOQlF6RkNMRTlCUVZFc1MwRkJTeXhMUVVGTkxFTkJRMllzU1VGQlN5eFJRVU5NTEVsQlFVc3NiVUpCUTBjc1EwRkJRMHdzUjBGQlRVRXNSVUZCUnl4SlFVTldTeXhGUVVGSExFMUJRVTBzUzBGQlN5eERRVUZGTEUxQlFVOHNRMEZCUXl4TFFVRkxMRmRCUVZjc1EwRkJSU3hEUVVGRExFVkJSVE5EVEN4RlFVRkhMRTFCUVUwc1MwRkJTeXhMUVVGTExGZEJRVmNzUlVGRGJFTXNUMEZEU2l4SlFVRkxMR2RDUVVOSExFTkJRVU5CTEVkQlFVMUJMRVZCUVVjc1RVRkRWa3NzUlVGQlJ5eE5RVUZOTEV0QlFVc3NRMEZCUlN4TlFVRlBMRU5CUVVNc1JVRkJSeXhKUVVGTExFdEJRVTBzU1VGQlN5eERRVUZETEV0QlFVc3NWMEZCVnl4RFFVRkZMRU5CUVVNc1JVRkRNVVJNTEVWQlFVY3NTVUZEVWtFc1JVRkJSeXhKUVVGSkxFdEJRVXNzUzBGQlN5eFhRVUZYTEVWQlJUVkNMRTlCUVU4c1QwRkJUMEVzUlVGQlNTeERRVUZGTEVsQlFVc3NTMEZCVFN4SlFVRkxMRU5CUVVNc1MwRkJTeXhYUVVGWExFTkJRVVVzUTBGQlF5eEZRVU0xUkN4UFFVTktMRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFZRVU5NTEVsQlFVc3NVMEZEVEN4SlFVRkxMRTFCUTBjc1EwRkJRMEVzUjBGQlRVRXNSVUZCUnl4TlFVTldTeXhGUVVGSExFMUJRVTBzUzBGQlN5eERRVUZGTEUxQlFVOHNRMEZCUXl4TFFVRkxMRmRCUVZjc1EwRkJSU3hEUVVGRExFVkJRM1JEVEN4RlFVRkhMRWxCUTFKQkxFVkJRVWNzU1VGQlNTeExRVUZMTEV0QlFVc3NWMEZCVnl4RlFVVTFRa0VzUlVGQlJ5eE5RVUZOTEV0QlFVc3NTMEZCU3l4WFFVRlhMRVZCUTJ4RExFOUJRMG9zU1VGQlN5eFJRVU5NTEVsQlFVc3NVMEZEVEN4SlFVRkxMSFZDUVVOTUxFbEJRVXNzZFVKQlFYZENMRU5CUTNwQ0xFbEJRVTByUWl4RlFVRkxMRXRCUVVzc1YwRkJWeXhMUVVGTExFbEJRVWtzUlVGRGFFTXNRMEZCUXk5Q0xFZEJRVTFCTEVWQlFVY3NUVUZEVmtzc1JVRkJSeXhOUVVGTkxFdEJRVXNzUTBGQlJTeE5RVUZQTEVOQlFVTXNSVUZCUnl4SlFVRkxNRUlzUlVGQlNTeEpRVUZMTEVOQlFVTXNRMEZCUlN4RFFVRkRMRVZCUTNoREwwSXNSVUZCUnl4SlFVTlNMRXRCUVVzc1RVRkJUU3hMUVVGTEswSXNRMEZCUlN4RlFVVnNRaXhQUVVGUExFOUJRVTh2UWl4RlFVRkpMRU5CUVVVc1NVRkJTeXRDTEVWQlFVa3NTVUZCU3l4RFFVRkRMRU5CUVVVc1EwRkJReXhGUVVNeFF5eE5RVU5LTEVOQlEwRXNTVUZCU3l4bFFVTk1MRWxCUVVzc1pVRkRSREZDTEVWQlFVY3NTVUZCU1N4TFFVRkxMRXRCUVVzc1YwRkJWeXhGUVVNMVFpeE5RVU5TTEVOQlEwRXNTVUZCVFdkQ0xFVkJRVXNzUzBGQlN5eG5Ra0ZCWjBKb1FpeERRVUZGTEVWQlJUbENaMElzUlVGRFFTeExRVUZMTEUxQlFVMHNTMEZCUzBFc1EwRkJSU3hIUVVWc1FpeE5RVUZCVkN4RlFVRlBMRXRCUVVzc1NVRkJTU3hIUVVOb1FpeE5RVUZCUVN4RlFVRlBMRXRCUVVzc1MwRkJTeXhIUVVWNlFpeExRVU5MTEVOQlEwUXNTVUZCVFdRc1JVRkJVeXhMUVVGTExFdEJRVXNzUTBGQlF5eEZRVU14UWl4SFFVRkpRU3hGUVVGUExFOUJRVk1zWTBGRFpDeExRVUZMTEU5QlFWTXNhVUpCUVcxQ1FTeEZRVUZQTEZOQlFWZFBMRVZCUVVjc1VVRkRia1FzUzBGQlN5eFBRVUZUTEZkQlExZ3NRMEZCUTFBc1JVRkJUeXhOUVVGTlFTeEZRVUZQTEUxQlFVMHNUMEZCVXl4RFFVRkRMRVZCUVVVc1MwRkRMME1zVFVGQlFXTXNSVUZCVHl4TFFVRkxMRWxCUVVrc1IwRkRhRUlzVFVGQlFVRXNSVUZCVHl4TFFVRkxMRXRCUVVzc1YwRkZXaXhMUVVGTExFOUJRVk1zYVVKQlEyNUNaQ3hGUVVGUExFOUJRVk1zYTBKQlFXMUNMRU5CUTI1RExFbEJRVTFKTEVWQlFVOU1MRWRCUVdGRExFTkJRVTBzUlVGRE1VSjVRaXhGUVVGUmRFSXNSMEZCYzBKRExFTkJRVWtzUlVGRGVFTkZMRWRCUVdkQ1F5eERRVUZGTEVWQlEyeENMRWxCUVUxdFFpeEZRVUZOYmtJc1JVRkJSeXhKUVVGSkxFOUJRVThzUlVGQlIwRXNSVUZCUnl4SlFVRkpMRTFCUVUwc1JVRkRNVU50UWl4RlFVRkpMRXRCUVVzc1MwRkJTeXhYUVVGWExFVkJRM3BDTEVsQlFVMURMRVZCUVUwc1EwRkRVaXhMUVVGTkxGbEJRMDRzVDBGQlVYQkNMRVZCUVVjc1QwRkRXQ3hQUVVGUlFTeEZRVUZITEU5QlExZ3NUVUZCVHl4RFFVRkRMRU5CUVVVc1RVRkJRV3RDTEVWQlFVOHNTVUZCUzJ4Q0xFVkJRVWtzU1VGQlFXMUNMRU5CUVVrc1EwRkJReXhEUVVOdVF5eEZRVU5CTEV0QlFVc3NWVUZCV1N4SFFVTnFRaXhMUVVGTExFMUJRVTBzUzBGQlN5eE5RVUZOTEU5QlFWTXNRMEZCUXl4RlFVRkpReXhEUVVONFF5eE5RVVZKTEUxQlFVRmlMRVZCUVU4c1MwRkJTeXhSUVVGUlVDeERRVUZGTEVWQlJUbENMRU5CUTBvc1EwRkRRU3hYUVVGWFlpeEZRVUZOTEVOQlEySXNSMEZCU1N4TFFVRkxMRlZCUVZjc1EwRkRhRUlzU1VGQlNXdERMRVZCUVVzc1MwRkJTeXhQUVVGUExGRkJRVkU3UVVGQlFTeERRVUZKTEVWQlFVa3NSVUZEY2tNc1MwRkJUMEVzU1VGQlR5eEhRVU5XTEV0QlFVc3NWVUZCVlN4TFFVRkxMRTlCUVZOQkxFTkJRVVVzUlVGREwwSkJMRVZCUVVzc1MwRkJTeXhQUVVGUExGRkJRVkU3UVVGQlFTeEZRVUZOUVN4RFFVRkZMRVZCUVVrc1EwRkZOME1zUTBGRFFTeE5RVUZQTEVOQlEwZ3NTMEZCUVd4RExFVkJRMEVzVDBGQlVTeExRVUZMTEU5QlEySXNUMEZCVVN4TFFVRkxMRTlCUTJJc1QwRkJVU3hMUVVGTExFMUJRMnBDTEVOQlEwb3NRMEZEUVN4blFrRkJaMEpOTEVWQlFWRXNRMEZEY0VJc1QwRkJVU3hMUVVGTExFdEJRVTBzUTBGRFppeEpRVUZMTEZGQlEwd3NTVUZCU3l4VFFVTk1MRWxCUVVzc2RVSkJRMHdzU1VGQlN5eDFRa0ZEUkN4UFFVRlBMRXRCUVVzc1YwRkJWeXhMUVVGTExFbEJRVWtzUlVGRGNFTXNTVUZCU3l4elFrRkRSQ3hOUVVGUExFTkJRMGdzUzBGQlRTeGxRVU5PTEU5QlFWRXNTMEZCU3l4UFFVTmlMRTlCUVZFc1MwRkJTeXhQUVVOaUxFMUJRVThzUTBGQlF5eExRVUZMTEZkQlFWY3NSVUZEZUVJc1QwRkJVU3hGUVVOYUxFVkJRMG9zU1VGQlN5eHBRa0ZEVEN4SlFVRkxMR2xDUVVORUxFMUJRVThzUTBGRFNDeExRVUZOTEd0Q1FVTk9MRTlCUVZFc1MwRkJTeXhQUVVOaUxFOUJRVkVzUzBGQlN5eFBRVU5pTEUxQlFVOHNTMEZCU3l4WlFVTmFMRTFCUVU4c1EwRkJReXhGUVVOU0xFbEJRVXNzUTBGQlF5eERRVU5XTEVWQlEwb3NTVUZCU3l4bFFVTkVMRTFCUVU4c1EwRkRTQ3hMUVVGTkxGbEJRMDRzVDBGQlVTeExRVUZMTEU5QlEySXNUMEZCVVN4TFFVRkxMRTlCUTJJc1RVRkJUeXhEUVVGRExFTkJRVVVzVFVGQlR5eERRVUZETEV0QlFVc3NWMEZCVnl4RFFVRkZMRU5CUVVNc1EwRkRla01zUlVGRFNpeEpRVUZMTEcxQ1FVRnZRaXhEUVVOeVFpeExRVUZMTEZWQlFWa3NSMEZEYWtJc1NVRkJUVWtzUlVGQlQwd3NSMEZCWVVNc1EwRkJUU3hGUVVNeFFubENMRVZCUVZGMFFpeEhRVUZ6UWtNc1EwRkJTU3hGUVVONFF5eFBRVUZCY1VJc1JVRkJUU3hMUVVGTExFdEJRVXNzVjBGQlZ5eEZRVU53UWl4RFFVTklMRXRCUVUwc1dVRkRUaXhQUVVGUkxFdEJRVXNzVDBGRFlpeFBRVUZSTEV0QlFVc3NUMEZEWWl4TlFVRlBMRU5CUVVNc1EwRkJSU3hOUVVGQlFTeEZRVUZQTEZsQlFXRXNSVUZCU3l4RFFVRkRMRU5CUTNoRExFTkJRMG9zUTBGRFFTeEpRVUZMTEdkQ1FVRnBRaXhEUVVOc1FpeExRVUZMTEZWQlFWa3NSMEZEYWtJc1NVRkJUWEpDTEVWQlFVOU1MRWRCUVdGRExFTkJRVTBzUlVGRE1VSjVRaXhGUVVGUmRFSXNSMEZCYzBKRExFTkJRVWtzUlVGRGVFTXNUVUZCVHl4RFFVTklMRXRCUVUwc1dVRkRUaXhQUVVGUkxFdEJRVXNzVDBGRFlpeFBRVUZSTEV0QlFVc3NUMEZEWWl4TlFVRlBMRU5CUVVNc1EwRkJSU3hOUVVGQmNVSXNSVUZCVHl4SlFVRkxMRXRCUVUwc1NVRkJTeXhEUVVGRExFdEJRVXNzVjBGQlZ5eERRVUZGTEVOQlFVTXNRMEZEZWtRc1EwRkRTaXhEUVVOS0xFTkJRMEVzVDBGQlR5eEpRVU5ZTEVOQlEwRXNhMEpCUVd0Q1FTeEZRVUZQVlN4RlFVRlJMRU5CUnpkQ0xFOUJSa2tzUzBGQlN5eFBRVUZUTEZkQlJXUXNTMEZCU3l4UlFVRlZRU3hGUVVOU0xFZEJRMHBXTEVWQlFVMHNUVUZCVFVvc1IwRkJUVUVzUlVGQlJ5eFBRVUZUTEZkQlFXRkJMRVZCUVVjc1QwRkJVeXhQUVVGUExFTkJRM3BGTEVOQlEwRXNRMEZCUXl4WlFVRlpaU3hGUVVGUkxFTkJRMklzUzBGQlN5eFBRVUZUTEdGQlExWkJMRVZCUVU4c1NVRkRVRUVzUlVGQlR5eEpRVUZKTEV0QlFVc3NTMEZCU3l4WFFVRlhMRVZCUldoRFFTeEZRVUZQTEVsQlFVMHNRMEZCUXl4TFFVRkxMRmRCUVZjc1JVRkRPVUlzUzBGQlN5eFBRVUZUTEZsQlEyUXNUVUZCUVhSQ0xFVkJRVThzUzBGQlN5eEpRVUZKTEVsQlJUVkNMRU5CUTBFc1EwRkJReXhSUVVGUmFFSXNSVUZCVHl4RFFVTmFMRTlCUVZFc1MwRkJTeXhMUVVGTkxFTkJRMllzU1VGQlN5eFJRVU5NTEVsQlFVc3NXVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhsUVVOTUxFbEJRVXNzWlVGRFRDeEpRVUZMTEdkQ1FVTkVMRTFCUVVGblFpeEZRVUZQTEV0QlFVc3NTVUZCU1N4SFFVTm9RaXhOUVVGQlFTeEZRVUZQTEV0QlFVc3NTMEZCU3l4SFFVTnFRaXhOUVVOS0xFbEJRVXNzVlVGRFJDeExRVUZMTEZWQlFWa3NSMEZGY2tJc1NVRkJTeXhSUVVOTUxFbEJRVXNzVlVGRFRDeFJRVVZSYUVJc1JVRkJUU3hKUVVOT1FTeEZRVUZOTEVsQlFVa3NTMEZCU3l4TFFVRkxMRmRCUVZjc1JVRkZMMEpCTEVWQlFVMHNTVUZCVFN4RFFVRkRMRXRCUVVzc1YwRkJWeXhGUVVNM1FpeExRVUZMTEU5QlFWTXNXVUZEWkN4TlFVRkJaMElzUlVGQlR5eExRVUZMTEVsQlFVa3NSMEZETlVJc1EwRkRTaXhEUVVOS0xFVkRMelpDUVN4VFFVRlRkVUlzUjBGQllVTXNSVUZCVXl4RFFVTXpRaXhKUVVGTlF5eEZRVUZsUkN4RlFVRlJMR1ZCUVdsQ0xFZEJSVGxETEUxQlFVOHNRMEZCUlN4WlFVUlhRU3hGUVVGUkxHRkJRV2RDUXl4SFFVRm5RaXhKUVVGSlF5eEpRVUZyUWl4TFFVTTFSQ3hoUVVGQlJDeERRVUZoTEVOQlEzWkRMRU5CZVVKQkxGTkJRVk5GTEVkQlFXTkRMRVZCUVZGRExFVkJRVlVzUTBGQlF5eEZRVUZITEVOQlEzcERMRWRCUVUwc1EwRkJSU3haUVVGQlF5eEZRVUZoTEdGQlFVRkRMRU5CUVdFc1JVRkJTVU1zUjBGQllVZ3NRMEZCVHl4RlFVTndSRWtzUlVGQlV5eEpRVUZKUXl4SFFVRlBTaXhIUVVGQkxGbEJRVUZCTEVWQlFXRXNWVUZCVlN4RlFVTXpRMHNzUlVGQlZ5eEpRVUZKUXl4SFFVRlRVQ3hEUVVGUExFVkJSV3BEVVN4RlFVRk5MRXRCUTFZc1VVRkJWME1zUzBGQlVVZ3NSVUZCVXl4UlFVRlJSaXhGUVVGUExFMUJRVTFNTEVOQlFVMHNSVUZCUnl4SFFVRk5RU3hGUVVGUExFMUJRVTBzUlVGRGVrVXNSMEZCU1N4RFFVRkRVeXhGUVVORVFTeEZRVUZOUXl4VlFVTkVSQ3hGUVVGSkxGRkJRVkVzVjBGQllTeFRRVUZWTEVOQlEzaERRU3hGUVVGSkxFOUJRVThzUzBGQlN5eEpRVUZKUlN4SFFVRmxSQ3hGUVVGTExFMUJRVTBzVFVGQlRTeEZRVUZITEVOQlFVTXNSVUZCUnl4blFrRkJhVUlzZVVWQlFYbEZMRU5CUVVNc1JVRkRkRW9zUzBGRFNpeERRVVZLTEU5QlFVbFFMRWRCUVdkQ1JDeEpRVU5vUWs4c1JVRkJTU3hQUVVGUExGRkJRVkZITEVkQlFXTmFMRVZCUVZGRkxFTkJRVmNzUTBGQlF5eEZRVU55UkU4c1JVRkJTU3hUUVVGVExGRkJRVkZITEVkQlFXTmFMRVZCUVZGRkxFTkJRVmNzUTBGQlF5eEhRVVZ3UkU4c1EwRkRXQ3hEUVVOQkxGTkJRVk5KTEVkQlFVMURMRVZCUVV0RExFVkJRVk5rTEVWQlFWTXNRMEZEYkVNc1NVRkJTV1VzUlVGRFFTeFBRVUZQUkN4SFFVRlpMRmRCUTI1Q1F5eEZRVUZYUkN4RlFVVk9aQ3hKUVVGWkxGRkJRV0ZqTEVkQlFWY3NUMEZCVDBFc1IwRkJXU3hYUVVNMVJHUXNSVUZCVldNc1IwRkZaQ3hKUVVGTlRpeEZRVUZOVml4SFFVRmpaU3hGUVVGTFlpeERRVUZQTEVWQlEzUkRMRWRCUVVrc1EwRkJRMUVzUlVGRFJDeFBRVUZQTEV0QlJWZ3NSMEZFUVVFc1JVRkJTU3hUUVVGVExGRkJRVkZSTEVkQlFWZERMRWRCUVV0VUxFVkJRVWtzVVVGQlVTeFRRVUZWVVN4RFFVRlBMRU5CUVVNc1JVRkRMMFJTTEVWQlFVa3NUMEZCVHl4UFFVRlRMRVZCUVVjc1EwRkRka0lzUjBGQlNVRXNSVUZCU1N4UlFVRlJMRmRCUVdFc1UwRkRla0lzVFVGQlRVRXNSVUZCU1N4UFFVRlBMRU5CUVVNc1JVRkZiRUpCTEVWQlFVa3NUMEZCVXl4RFFVRkRMRU5CUTNSQ0xFTkJRMEVzVDBGQlQwRXNSVUZCU1N4TFFVRkxMRTlCUVU4c1QwRkJUeXhEUVVGRkxGRkJRVk5QTEVOQlFWTXNSVUZCUjJZc1EwRkJUeXhEUVVGRExFTkJRMnBGTEVORGVFVkJMRWxCUVVGclFpeEhRVUZyUWl4VFEwWnNRaXhKUVVGQlF5eEZRVUZ0UWl4VFEydEdXaXhKUVVGVlF5eFBRVUZXTEVOQlkxVkJMRVZCUVVFc2EwSkJRWE5ETEVOQlF5OURMRzFDUVVGdlFpeEpRVVZ3UWl4WFFVRlpMR2RDUVVOYUxHVkJRV2RDTEhkQ1FVTndRaXhGUVVkUExGTkJRVk5ETEVWQlExcERMRVZCUTBGRExFVkJRVFJDU0N4RlFVRkJMR3RDUVVNMVFra3NSVUZCY1VJc1IwRkRaaXhEUVVOT0xFbEJRVWxETEVWQlFWVkRMRVZCUVZWS0xFTkJRVXNzUlVGRE4wSXNSMEZCU1N4RFFVRkRSeXhGUVVGVExFOUJRVTlHTEVWQlFWRXNiVUpCUlRkQ0xFOUJRVkZGTEVWQlFWRXNTMEZCVFN4RFFVTnNRaXhKUVVGTExFOUJRMFFzVDBGQlQwWXNSVUZCVVN4dFFrRkRia0lzU1VGQlN5eFRRVU5FTEU5QlFVOUZMRVZCUVZFc1RVRkRia0lzU1VGQlN5eFRRVU5NTEVsQlFVc3NWVUZEUkN4TlFVRlBMRWRCUVV0QkxFVkJRVkVzVFVGRGVFSXNTVUZCU3l4UFFVTkVMRTlCUVU5QkxFVkJRVkVzVFVGQlRTeFRRVUZUTEVWQlEyeERMRWxCUVVzc1YwRkRSQ3hOUVVGUExHRkJRMWdzU1VGQlN5eFJRVU5FTEVsQlFVbEZMRVZCUVZNc1IwRkRZaXhQUVVGSlNDeEpRVUZYUnl4SFFVRlZMRXRCUTNwQ1FTeEhRVUZWUml4RlFVRlJMRTFCUVUwc1NVRkJTMGNzUjBGQlRWQXNSVUZCVTA4c1JVRkJSMHdzUlVGQlV5eEZRVUZKTEVOQlFVTXNSVUZCUlN4TFFVRkxMRWxCUVVrc1JVRkRjRVZETEVsQlFWZEhMRWRCUVZVc1MwRkRiRUpCTEVWQlExZ3NTVUZCU3l4VFFVTkVMRTFCUTBrc1MwRkRRU3hQUVVGUExGRkJRVkZHTEVWQlFWRXNTMEZCU3l4RlFVTjJRaXhKUVVGTFNTeEhRVUZOUVN4RlFVRkZMRU5CUVVNc1JVRkJTU3hMUVVGUFVpeEZRVUZUVVN4RlFVRkZMRU5CUVVNc1JVRkJSMDRzUlVGQlV5eEZRVUZKTEVOQlFVTXNSVUZEZEVRc1MwRkJTeXhKUVVGSkxFVkJRMlFzUzBGRlVpeEpRVUZMTEU5QlEwUXNUMEZCVDA4c1IwRkJhMEpNTEVWQlFWRXNUVUZCVDBZc1JVRkJVU3hYUVVGWlFTeEZRVUZSTEdOQlFXTXNSVUZEZEVZc1NVRkJTeXhYUVVORUxFOUJRVTlSTEVkQlFYTkNUaXhGUVVGUkxFdEJRVXNzUTBGRGJFUXNRMEZEU2l4RFFYWkRUMHdzUlVGQlV5eFRRVUZCUXl4RlFUQkRWQ3hUUVVGVFN5eEZRVUZWVFN4RlFVRXdReXhEUVVOb1JTeFBRVUZKUXl4RlFVRlBSQ3hEUVVGSExFVkJRVlVzUTBGQlJTeExRVUZOTEU5QlFWRXNUVUZCVDBFc1EwRkJTU3hGUVVNeFEwVXNSVUZCVTBZc1EwRkJSeXhGUVVGVkxFTkJRVVVzUzBGQlRTeFRRVUZWTEUxQlFVOUJMRU5CUVVrc1JVRkRia1JITEVWQlFWTklMRU5CUVVjc1JVRkJWU3hEUVVGRkxFdEJRVTBzVTBGQlZTeE5RVUZQUVN4RFFVRkpMRVZCUTI1RVNTeEZRVUZWU2l4RFFVRkhMRVZCUVZVc1EwRkJSU3hMUVVGTkxGVkJRVmNzVFVGQlQwRXNRMEZCU1N4RlFVTnlSRXNzUlVGQlYwd3NRMEZCUnl4RlFVRlZMRU5CUVVVc1MwRkJUU3hYUVVGWkxFMUJRVTlCTEVOQlFVa3NSVUZEZGtSTkxFVkJRVTlPTEVOQlFVY3NSVUZCVlN4RFFVRkZMRXRCUVUwc1QwRkJVU3hOUVVGUFFTeERRVUZKTEVWQlF5OURUeXhGUVVGUlVDeERRVUZITEVWQlFWVXNRMEZCUlN4TFFVRk5MRkZCUVZNc1RVRkJUMEVzUTBGQlNTeEZRVU5xUkZFc1JVRkJUMUlzUTBGQlJ5eEZRVUZWTEVOQlFVVXNTMEZCVFN4UFFVRlJMRTFCUVU5QkxFTkJRVWtzUlVGREwwTlRMRVZCUVZkVUxFTkJRVWNzUlVGQlZTeERRVUZGTEV0QlFVMHNWMEZCV1N4TlFVRlBRU3hEUVVGSkxFVkJRM1pFVlN4RlFVRlRWaXhEUVVGSExFVkJRVlVzUTBGQlJTeExRVUZOTEZOQlFWVXNUVUZCVDBFc1EwRkJTU3hGUVVOMlJDeE5RVU5VTEVOQldrOWFMRVZCUVZNc1ZVRkJRVTBzUlVGbFZDeFRRVUZUYVVJc1JVRkJWVmdzUlVGQlkxa3NSVUZCZDBNc1EwRkROVVVzUjBGQlNVWXNSVUZCVTFZc1EwRkJSeXhGUVVGSExFTkJRMllzU1VGQlNVd3NSVUZCY1VJc1EwRkJReXhGUVVNeFFpeFBRVUZUTEVOQlFVTnJRaXhGUVVGTFF5eERRVUZMTEVsQlFVc3NUMEZCVHl4UlFVRlJaQ3hEUVVGSExFVkJRVWRNTEVWQlFVOXJRaXhEUVVGSExFVkJRVWxHTEVWQlFWVkhMRVZCUVU5R0xFTkJRVWtzUlVGRGFrWXNUMEZCVDJwQ0xFTkJRMWdzVTBGQlYxa3NSVUZCVVZBc1EwRkJSeXhGUVVGSExFTkJRM0pDTEVsQlFVbE1MRVZCUVc5Q0xFTkJRVU1zUlVGRGVrSXNVVUZCVTIxQ0xFdEJRVk5rTEVWQlFVdE1MRVZCUVU4c1MwRkJTMmRDTEVWQlFWVkhMRVZCUVU5R0xFTkJRVWtzUTBGQlF5eEZRVU42UkN4UFFVRlBha0lzUTBGRFdDeExRVU5KTEZGQlFVOXBRaXhGUVVGTFdpeERRVUZITEVOQlJYWkNMRU5CV2s5YUxFVkJRVk1zVlVGQlFYVkNMRVZCWlZRc1UwRkJVMGtzUlVGQlQwTXNSVUZCTkVKRExFVkJRVFpDTEVOQlF6VkZMRTlCUVU5RExFVkJRVkZHTEVWQlFVOURMRU5CUVUwc1IwRkJTeXhEUVVOeVF5eERRVVpQTjBJc1JVRkJVeXhQUVVGQk1rSXNSVUZMVkN4VFFVRlRSeXhGUVVOYVF5eEZRVU5CUXl4RlFVTkJReXhGUVVOTkxFTkJNMHhrTEVsQlFVRkRMRVZCUVVGRExFVkJhMDFSTEVkQlRFbEtMRWxCUVZORExFbEJSMVJFTEVsQlFWTXNVMEZCVjBFc1JVRkJUeXhOUVVNelFrTXNTVUZCVXl4VFFVRlhRU3hGUVVGUExFMUJRek5DUkN4SlFVRlRMRTFCUVZGRExFbEJRVk1zVFVGQlRTeE5RVUZQTEVkQlEzUkRMRWRCUVVsRUxFbEJRVk1zUzBGQlRTeE5RVUZQTEVkQlF6RkNMRWRCUVVsRExFbEJRVk1zUzBGQlRTeE5RVUZQTEVkQlJ5OUNMRWxCUVVsSkxFVkJRVkU1UWl4RlFVRlZlVUlzUTBGQlNTeEZRVU4wUWswc1JVRkJVUzlDTEVWQlFWVXdRaXhEUVVGSkxFVkJSVEZDTEVkQlFVbEpMRWxCUVZVc1VVRkJZVU1zU1VGQlZTeFBRVUZYTEUxQlFVOHNSMEZEYkVRc1IwRkJTVVFzU1VGQlZTeFBRVUZYTEUxQlFVOHNSMEZEYUVNc1IwRkJTVU1zU1VGQlZTeFBRVUZYTEUxQlFVOHNSMEZIY2tNc1IwRkJTVVFzUlVGQlRTeE5RVUZSUXl4RlFVRk5MRXRCUVUwc1QwRkJUMFFzUlVGQlRTeExRVUZMTEdOQlFXTkRMRVZCUVUwc1NVRkJTU3hGUVVONFJTeEhRVUZKUkN4RlFVRk5MRkZCUVZWRExFVkJRVTBzVFVGQlR5eE5RVUZQTEVkQlJYaERMRTlCUVZGRUxFVkJRVTBzUzBGQlRTeERRVU5vUWl4SlFVRkxMRk5CUTBRc1QwRkJUMEVzUlVGQlRTeE5RVUZOTEdOQlFXTkRMRVZCUVUwc1MwRkJaU3hGUVVNeFJDeEpRVUZMTEZOQlEwUXNUMEZCU1VRc1JVRkJUU3hOUVVGVFF5eEZRVUZOTEUxQlFYbENMRWRCUTNwRFJDeEZRVUZOTEU5QlFWVkRMRVZCUVUwc1RVRkJlVUlzUlVGRGFrUXNSVUZEV0N4SlFVRkxMRTlCUTBRc1RVRkJUeXhIUVVOWUxFbEJRVXNzVlVGRFJDeFBRVUZKUkN4RlFVRk5MRTlCUVZORExFVkJRVTBzVFVGQll5eEZRVU16UWtRc1JVRkJUU3hOUVVGUkxFVkJRVWtzUjBGRGJFTXNTVUZCU3l4UFFVTkVMRWxCUVVsRkxFVkJRVkZHTEVWQlFVMHNUVUZEWkVjc1IwRkJVVVlzUlVGQlRTeE5RVU5rUnl4SFFVRlpVQ3hIUVVGQkxFdEJRVUZCTEVWQlFXOUNVU3hKUVVGalFTeEhRVWM1UTBNc1JVRkJZMFlzUjBGQlZVWXNSVUZCVFN4SlFVRkpMRVZCUVVVc1kwRkJZMFVzUjBGQlZVUXNSMEZCVFN4SlFVRkpMRU5CUVVNc1JVRkRNMFVzUjBGQlNVY3NSMEZCWlN4RlFVRkhMRTlCUVU5QkxFVkJSemRDTEVsQlFVbERMRVZCUVdOTUxFVkJRVTBzUzBGQlN5eGpRVUZqUXl4SFFVRk5MRWxCUVVrc1JVRkRja1FzVDBGQlNVa3NSMEZCWlN4RlFVRlZRU3hGUVVkNlFrd3NSVUZCVFN4VFFVRlhMRU5CUVVORExFZEJRVTBzVVVGQlowSXNSVUZEZUVNc1EwRkJRMFFzUlVGQlRTeFRRVUZYUXl4SFFVRk5MRkZCUVdkQ0xFZEJRM2hETEVOQlFVTkVMRVZCUVUwc1UwRkJWeXhEUVVGRFF5eEhRVUZOTEZGQlFXZENMRWxCUjNKRFRDeEZRVUZCU1N4RlFVRk5MRlZCUVU0c1MwRkJRVW9zUlVGQmFVSXNTVUZCU1N4bFFVRmpReXhGUVVGQlNTeEhRVUZOTEZWQlFVNHNTMEZCUVVvc1JVRkJhVUlzUlVGQlJTeEZRVU5zUlN4SlFVRkxMRTlCUTBRc1QwRkJUME1zUlVGQlRTeE5RVUZUUXl4RlFVRk5MRTFCUTNSQ0xFZEJRMEZFTEVWQlFVMHNUVUZCVFN4UFFVRlBReXhGUVVGTkxFdEJRV2xDTEVWQlF6RkRMRVZCUTBFc1JVRkRWaXhKUVVGTExGZEJRMFFzVDBGQlQwUXNSVUZCVFN4TlFVRlRReXhGUVVGTkxFMUJRM1JDTEVkQlEwRkVMRVZCUVUwc1RVRkJUU3hQUVVGUFF5eEZRVUZOTEV0QlFXbENMRVZCUXpGRExFVkJRMEVzUlVGRFZpeEpRVUZMTEZGQlEwUXNTVUZCU1U4c1JVRkJTMUlzUlVGQlRTeE5RVU5ZVXl4SFFVRkxVaXhGUVVGTkxFMUJRMllzVVVGQlUxTXNSMEZCVVN4RlFVRkhRU3hIUVVGUkxFdEJRVXNzU1VGQlNVWXNSVUZCUnl4UFFVRlJReXhIUVVGSExFMUJRVTBzUlVGQlIwTXNTMEZCVXl4RFFVTnFSU3hKUVVGSlF5eEhRVUZQYWtJc1JVRkJVV01zUlVGQlIwVXNSVUZCU3l4RlFVRkhSQ3hIUVVGSFF5eEZRVUZMTEVOQlFVTXNSVUZEZGtNc1IwRkJTVU1zU1VGQlVTeEZRVUZITEU5QlFVOUJMRVZCUXpGQ0xFTkJRMEVzVDBGQlQwZ3NSVUZCUnl4UFFVRlRReXhIUVVGSExFOUJRekZDTEVsQlFVc3NVMEZEUkN4SlFVRkpSeXhIUVVGTFdpeEZRVUZOTEUxQlExaGhMRWRCUVV0YUxFVkJRVTBzVFVGRFdHRXNSMEZCU3l4TlFVRk5MRXRCUVVzc1QwRkJUeXhMUVVGTFJpeEZRVUZGTEVOQlFVTXNSVUZETDBKSExFZEJRVXNzVFVGQlRTeExRVUZMTEU5QlFVOHNTMEZCUzBZc1JVRkJSU3hEUVVGRExFVkJRMjVEUXl4SFFVRkhMRXRCUVVzc1JVRkRVa01zUjBGQlJ5eExRVUZMTEVWQlJWSXNTVUZCU1VNc1IwRkJZWFJDTEVWQlFWRnZRaXhIUVVGSlF5eEZRVUZGTEVWQlF5OUNMRWRCUVVsRExFbEJRV01zUlVGQlJ5eFBRVUZQUVN4SFFVVTFRaXhSUVVGVE0wSXNUVUZCVDNsQ0xFZEJRVWtzUTBGRGFFSXNTVUZCU1Vnc1IwRkJUMnBDTEVWQlFWRnJRaXhIUVVGSGRrSXNSVUZCUnl4RlFVRkhkMElzUjBGQlIzaENMRVZCUVVjc1EwRkJReXhGUVVOdVF5eEhRVUZKYzBJc1NVRkJVU3hGUVVGSExFOUJRVTlCTEVWQlF6RkNMRU5CUlVFc1RVRkJUeXhIUVVOWUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVWQlEyWXNRMEZEU2l4RFFXNUhUeTlETEVWQlFWTXNVVUZCUVRoQ0xFVkJjMGRVTEZOQlFWTjFRaXhGUVVGUGVrTXNSVUZCYlVNc1EwRTNVamxFTEVsQlFVRnpRaXhGUVRoU1VTeFBRVUZQUVN4RlFVRkJOVUlzUlVGQlZVMHNRMEZCUnl4SlFVRmlMRmxCUVVGelFpeEZRVUZuUWl4SlFVTXpRaXhEUVVaUGJFTXNSVUZCVXl4UFFVRkJjVVFzUlVGTFZDeFRRVUZUUXl4RlFVRlRjRVFzUlVGQmVVSXNRMEZET1VNc1NVRkJTVWNzUlVGQlZVTXNSVUZCVlVvc1EwRkJTeXhGUVVNM1FpeEhRVUZKTEVOQlFVTkhMRVZCUVZNc1RVRkJUeXhIUVVWeVFpeFBRVUZSUVN4RlFVRlJMRXRCUVUwc1EwRkRiRUlzU1VGQlN5eFRRVU5FTEU5QlFVOUJMRVZCUVZFc1QwRkJVeXhGUVVNMVFpeEpRVUZMTEZOQlEwUXNUMEZCVDBFc1JVRkJVU3hOUVVGTkxFOUJRVk1zUlVGRGJFTXNTVUZCU3l4VlFVTkVMRTlCUVU5QkxFVkJRVkVzVFVGRGJrSXNTVUZCU3l4UFFVTkVMRTFCUVU4c1EwRkJReXhEUVVGRFFTeEZRVUZSTEUxQlFVMHNTMEZETTBJc1NVRkJTeXhQUVVORUxFOUJRVTlCTEVWQlFWRXNUVUZCVFN4VFFVRlRMRWRCUVVzc1JVRkRka01zU1VGQlN5eFhRVU5FTEU5QlFVOUJMRVZCUVZFc1RVRkJUU3hIUVVGSExGTkJRVk1zUjBGQlN5eEZRVU14UXl4SlFVRkxMRk5CUTBRc1QwRkJUeXhQUVVGUExFdEJRVXRCTEVWQlFWRXNTMEZCU3l4RlFVRkZMRTlCUVZNc1JVRkRMME1zU1VGQlN5eFJRVU5FTEU5QlFVOUJMRVZCUVZFc1RVRkJUU3hQUVVGVExFVkJRMnhETEVsQlFVc3NUMEZEUkN4TlFVRlBMRWRCUTFnc1NVRkJTeXhYUVVORUxFMUJRVThzUlVGRFppeERRVU5LTEVOQk1VSlBUQ3hGUVVGVExGTkJRVUZ6UkN4RlFUWkNWQ3hUUVVGVFF5eEZRVUUwUW5KRUxFVkJRV0VzUTBGRGNrUXNSMEZCU1VFc1IwRkJWU3hMUVVFMlFpeFBRVUZQUVN4RlFVVnNSQ3hIUVVGSlJpeEZRVUZUTEZGQlFWRkZMRU5CUVVzc1JVRkRkRUlzVFVGQlVTeERRVUZETEVWQlFXZENMRTlCUVU5QkxFVkJRVTBzU1VGQlMzTkVMRWRCUVUxRUxFVkJRVk5ETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUXpGRUxFZEJRVWw0UkN4RlFVRlRMRk5CUVZORkxFTkJRVXNzUlVGQlJ5eERRVU5xUXl4SlFVRkpTeXhGUVVGclF5eERRVUZETEVWQlEzWkRMRTlCUVZNc1EwRkJRMnRDTEVWQlFVdERMRU5CUVVzc1NVRkJTeXhQUVVGUExGRkJRVkY0UWl4RFFVRkxMRVZCUVVkTExFVkJRVTlyUWl4RFFVRkhMRVZCUVVrNFFpeEZRVUZUTjBJc1EwRkJTeXhGUVVNMVJTeFBRVUZQYmtJc1EwRkRXQ3hMUVVOSkxGRkJRVTlNTEVOQlJXWXNRMEZhVDBZc1JVRkJVeXhUUVVGQmRVUXNSVUZsVkN4VFFVRlRlRU1zUlVGQlUwZ3NSVUZCZVVJc1EwRkRPVU1zVDBGQlR5eFBRVUZQUVN4SFFVRlBMRkZCUTNwQ0xFTkJSazlhTEVWQlFWTXNVMEZCUVdVc1JVRkxWQ3hUUVVGVFJDeEZRVUZUUml4RlFVRjVRaXhEUVVNNVF5eFBRVUZQTEU5QlFVOUJMRWRCUVU4c1VVRkRla0lzUTBGR1Qxb3NSVUZCVXl4VFFVRkJZeXhGUVV0VUxGTkJRVk5KTEVWQlFVOU9MRVZCUVRKQ0xFTkJRemxETEU5QlFVOUJMR0ZCUVdVMlF5eERRVU14UWl4RFFVWlBla1FzUlVGQlV5eFBRVUZCYTBJc1JVRkxWQ3hUUVVGVFJDeEZRVUZYVEN4RlFVRXlRaXhEUVVOc1JDeFBRVUZQUVN4aFFVRmxPRU1zUTBGRE1VSXNRMEZHVHpGRUxFVkJRVk1zVjBGQlFXbENMRVZCUzFRc1UwRkJVMG9zUlVGQlQwUXNSVUZCYlVNc1EwRkRkRVFzVDBGQlQwRXNSMEZCVVN4SlFVTnVRaXhEUVVaUFdpeEZRVUZUTEU5QlFVRmhMRVZCUzFRc1UwRkJVMDBzUlVGQlVWQXNSVUZCZDBJc1EwRkROVU1zVDBGQlR5eE5RVUZOTEZGQlFWRkJMRU5CUVVjc1EwRkROVUlzUTBGR1Qxb3NSVUZCVXl4UlFVRkJiVUlzUlVGTFZDeFRRVUZUU0N4RlFVRlZTaXhGUVVFd1FpeERRVU5vUkN4UFFVRlBMRTlCUVU5QkxFZEJRVkVzVTBGRE1VSXNRMEZHVDFvc1JVRkJVeXhWUVVGQlowSXNSVUZMVkN4VFFVRlRTU3hGUVVGUFVpeEZRVUYxUWl4RFFVTXhReXhQUVVGUFFTeGhRVUZsSzBNc1JVRkRNVUlzUTBGR1R6TkVMRVZCUVZNc1QwRkJRVzlDTEVWQlMxUXNVMEZCVTBVc1JVRkJVMVlzUlVGQmMwTXNRMEZETTBRc1QwRkRTVUVzU1VGQlVTeFJRVU5TTEU5QlFVOUJMRWRCUVU4c1ZVRkRaQ3hEUVVGRFR5eEZRVUZSVUN4RFFVRkhMRWRCUTFvc1EwRkJRMHNzUlVGQlYwd3NRMEZCUnl4SFFVTm1MRU5CUVVOTkxFVkJRVTlPTEVOQlFVY3NSMEZEV0N4RFFVRkRVU3hGUVVGUFVpeERRVUZITEVkQlExZ3NRMEZCUTBNc1JVRkJUMFFzUTBGQlJ5eERRVVZ1UWl4RFFWWlBXaXhGUVVGVExGTkJRVUZ6UWl4RlFXRlVMRk5CUVZORUxFVkJRVmRVTEVWQlFUSkNMRU5CUTJ4RUxFOUJRVThzVDBGQlQwRXNSMEZCVHl4VlFVTjZRaXhEUVVaUFdpeEZRVUZUTEZkQlFVRnhRaXhKUVM5VFNISkNMRkZCUVVFc1MwRnRWVllzU1VGQlZUUkVMRTlCUVZZc1EwRkZTU3hUUVVGVFF5eEZRVUZyUWtNc1JVRkJjME1zUTBGRGNFVXNUMEZCVHpsRUxFZEJRVk1zVTBGQlV6aEVMRU5CUVVzc1IwRkJTeXhQUVVGUExFdEJRVXRCTEVOQlFVc3NSVUZCUlN4UlFVRlZMRWRCUVVzc1VVRkJVMEVzUjBGQlV5eFRRVUZWUVN4RFFVTnlSeXhEUVVaUFJpeEZRVUZUTEdWQlFVRkRMRVZCUzFRc1UwRkJVMFVzUlVGQlkwUXNSVUZCWjBRc1EwRkRNVVVzVVVGQlUwVXNTMEZCVjBZc1JVRkJUeXhIUVVGSkxFTkJRVU5FTEVWQlFXVkhMRU5CUVU4c1JVRkJSeXhOUVVGUExFZEJSV2hGTEUxQlFVOHNSVUZEV0N4RFFVcFBTaXhGUVVGVExGZEJRVUZITEVWQlQxUXNVMEZCVTBVc1JVRkJWVWdzUlVGQmEwTXNRMEZEZUVRc1VVRkJVMFVzUzBGQlYwWXNSVUZCVHl4SFFVRkpSQ3hGUVVGbFJ5eERRVUZQTEVWQlFVY3NUVUZCVHl4SFFVVXZSQ3hOUVVGUExFVkJRMWdzUTBGS1Qwb3NSVUZCVXl4UFFVRkJTeXhGUVU5VUxGTkJRVk5ETEVWQlFWTkRMRVZCUVdsRUxFTkJRM1JGTEVkQlFVbE9MRVZCUVdWTkxFTkJRVkVzUlVGRGRrSXNUMEZCVDBRc1JVRkJUVU1zUlVGQlV5eEpRVUZKTEVWQlEzWkNMRWRCUVVsS0xFVkJRVmRKTEVOQlFWRXNSVUZCUnl4RFFVTTNRaXhKUVVGSk5VUXNSVUZCVXl4RlFVTmlMRkZCUVZNMlJDeExRVUZaUkN4RlFVRlZOVVFzUjBGQlZUSkVMRVZCUVUxRkxFVkJRVk1zU1VGQlNTeEZRVU0xUkN4UFFVRlBOMFFzUTBGRFdDeExRVU5KTEZGQlFVODBSQ3hGUVVGVExFMUJSWGhDTEVOQlZrOVFMRVZCUVZNc1RVRkJRVTBzUlVGaFZDeFRRVUZUUnl4RlFVRlRSaXhGUVVGMVFrY3NSVUZCWlVNc1JVRkJNRUlzUTBGRGNrWXNSMEZCU1VFc1IwRkJUMFFzUlVGQlR5eE5RVUZQTEVOQlFVTXNSVUZETVVJc1IwRkJTVXdzUlVGQlQwVXNRMEZCVVN4RlFVRkhMRTlCUVU5QkxFVkJRVk1zVFVGQlRVY3NSVUZCVDBNc1EwRkJSeXhGUVVkMFJDeEpRVUZKZWtJc1JVRkJVU3hGUVVOU01FSXNSVUZCVHl4RlFVTllMRXRCUVU4eFFpeEZRVUZSY1VJc1JVRkJVeXhSUVVGVlN5eEZRVUZQVGl4RlFVRk5ReXhGUVVGVGNrSXNRMEZCU3l4RFFVRkRMRWRCUVV0M1FpeEhRVU12UkVVc1IwRkJVVTRzUlVGQlRVTXNSVUZCVTNKQ0xFTkJRVXNzUTBGQlF5eEZRVU0zUWtFc1NVRkpTaXhIUVVGSlFTeEhRVUZUY1VJc1JVRkJVeXhQUVVGUkxFMUJRVThzUTBGQlF5eEZRVVYwUXl4SlFVRk5OVVFzUlVGQlowUXNRMEZCUXl4RlFVTjJSQ3hMUVVGUGRVTXNSVUZCVVhGQ0xFVkJRVk1zVVVGQlZVc3NSVUZCVDBRc1IwRkJTeXhEUVVNeFF5eEpRVUZOUlN4RlFVRlJUaXhGUVVGVGNrSXNRMEZCU3l4RlFVTjBRalJDTEVWQlFWbFNMRVZCUVUxUExFTkJRVXNzUlVGRGRrSkZMRVZCUVdFc1MwRkJTeXhKUVVGSlNDeEZRVUZOUml4RFFVRkxMRVZCUTJwRFRTeEZRVUZYTEV0QlFVc3NTVUZCU1VZc1JVRkJXVVlzUlVGQlRVUXNRMEZCUnl4RlFVVXZRMmhGTEVWQlFVOHNTMEZCU3l4RFFVTlNMRWxCUVV0clJTeEZRVUZOTEVsQlExZ3NTMEZCVFVvc1JVRkJUVWtzUlVGQlRTeExRVUZOUlN4RlFVRmhTQ3hGUVVGTlNTeEZRVUZYU2l4RFFVRkpMRU5CUXpsRUxFTkJRVU1zUlVGRlJFRXNSMEZCVVVVc1JVRkRValZDTEVkQlEwb3NRMEZGUVN4UFFVRlBka01zUTBGRFdDeERRV2hEVDNGRUxFVkJRVk1zVFVGQlFWTXNTVUZzUTBoVUxGRkJRVUVzUzBOb1dsWXNTVUZCVFdsQ0xFZEJRVTRzVFVGQlRVTXNRMEZCWXl4RFFVZG9RaXhaUVVGdFFrTXNSVUZCVlN4RFFVRldMRmRCUVVGQkxFVkJRM1JDTEV0QlFVc3NWMEZCWVN4RlFVTjBRaXhEUVVWUExFbEJRVTlETEVWQlFUaENMRU5CUTNoRExFOUJRVThzU1VGQlNVWXNSVUZCVVVVc1JVRkJSU3hMUVVGTExFdEJRVXNzUTBGQlF5eERRVU53UXl4RFFVVlBMRkZCUVZkQkxFVkJRWGxETEVOQlEzWkVMRTlCUVU5QkxFVkJRVVVzUzBGQlN5eExRVUZMTEVOQlEzWkNMRU5CUlU4c1QwRkJWVUVzUlVGQk9FSXNRMEZETTBNc1QwRkJUeXhKUVVOWUxFTkJSVThzVFVGQlkwTXNSVUZCYjBKRExFVkJRWEZETEVOQlF6RkZMRTlCUVU4c1MwRkJTeXhKUVVGSlJDeERRVUZKTEVOQlEzaENMRU5CUlU4c1QwRkJUMFVzUlVGQll5eERRVU40UWl4UFFVRlBMRXRCUVVzc1MwRkRhRUlzUTBGRlR5eE5RVUYzUWl4RFFVTXpRaXhQUVVGUExFbEJRMWdzUTBGRlR5eFpRVUZaUXl4RlFVRm5ReXhEUVVNdlF5eFBRVUZQTEV0QlFVc3NTMEZEYUVJc1EwRkRTaXhGUVV0aFF5eEhRVUZPTEUxQlFVMURMRU5CUVdNc1EwRkhhRUlzV1VGQmJVSkRMRVZCUVZVc1EwRkJWaXhYUVVGQlFTeEZRVU4wUWl4TFFVRkxMRmRCUVdFc1JVRkRkRUlzUTBGRlR5eEpRVUZQUXl4RlFVRXJRaXhEUVVONlF5eFBRVUZQTEVsQlExZ3NRMEZGVHl4UlFVRlhRU3hGUVVFd1F5eERRVU40UkN4UFFVRlBMRWxCUTFnc1EwRkZUeXhQUVVGVlVpeEZRVUU0UWl4RFFVTXpReXhQUVVGUExFbEJRVWxOTEVWQlFWRk9MRVZCUVVVc1MwRkJTeXhMUVVGTExFTkJRVU1zUTBGRGNFTXNRMEZGVHl4TlFVRmpVeXhGUVVGeFFrTXNSVUZCYjBNc1EwRkRNVVVzVDBGQlR5eExRVUZMTEU5QlFVOUJMRU5CUVVrc1EwRkRNMElzUTBGRlR5eFBRVUZQV0N4RlFVRmhMRU5CUTNaQ0xFOUJRVTlCTEVOQlExZ3NRMEZGVHl4TlFVRjNRaXhEUVVNelFpeFBRVUZQTEVsQlExZ3NRMEZGVHl4WlFVRlpXU3hGUVVFclFpeERRVU01UXl4TlFVRkpRU3hGUVVGbExFbEJRVWtzVFVGQlRVRXNSVUZCVVN4TFFVRkxMRXRCUVVzc1EwRkJReXhGUVVOeVF5eEpRVUZKTEUxQlFVMHNSMEZCU3l4TFFVRkxMRXRCUVVzc1EwRkRlRU1zUTBGRFNpeEZRVmxwUWtNc1QwRkJWaXhEUVVWSkxGTkJRVk5ETEVWQlFXTmtMRVZCUVhkQ0xFTkJRMnhFTEU5QlFVOHNTVUZCU1VZc1IwRkJVVVVzUTBGQlN5eERRVU0xUWl4RFFVWlBZU3hGUVVGVExGRkJRVUZETEVWQlMxUXNVMEZCVTBNc1JVRkJZMUFzUlVGQmQwSXNRMEZEYkVRc1QwRkJUeXhKUVVGSlJpeEhRVUZSUlN4RFFVRkxMRU5CUXpWQ0xFTkJSazlMTEVWQlFWTXNVVUZCUVVVc1JVRkxWQ3hUUVVGVFF5eEZRVU5hUXl4RlFVTkJReXhGUVVOQkxFVkJRMWtzUTBGRFdpeFBRVUZKUkN4RlFVRk5MRmRCUTBaRExFVkJRVThzVjBGQmJVSXNSVUZCUlVRc1JVRkJUU3hOUVVGUFF5eEZRVUZQTEV0QlFVc3NSVUZETjBOSUxFVkJRVkZITEVWQlFVOHNTMEZCU3l4RlFVVjZRa2dzUlVGQlVVVXNSVUZCVFN4TFFVRkxMRU5CUld4RExFTkJXRTlLTEVWQlFWTXNVMEZCUVVjc1JVRmpWQ3hUUVVGVFJ5eEZRVU5hUml4RlFVTkJReXhGUVVOQkxFVkJRMWtzUTBGRFdpeFBRVUZQUml4RlFVRlRReXhGUVVGUFF5eEZRVUZSTEVOQlFVTkZMRVZCUVVkRExFbEJRVTFRTEVWQlFWRXNSVUZCUlUwc1JVRkJSME1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZETjBRc1EwRk9UMUlzUlVGQlV5eExRVUZCVFN4RlFWTlVMRk5CUVZOSExFVkJRV2RDUXl4RlFVRnZRa01zUlVGQmEwUXNRMEZEYkVjc1NVRkJUVU1zUlVGQll5eERRVUZETEVWQlEzSkNMRkZCUVZkRExFdEJRVmRJTEVWQlFVOHNRMEZEZWtJc1NVRkJUVWtzUlVGQlUwZ3NSVUZCUzBVc1EwRkJUeXhGUVVNelFpeEhRVUZKTEVOQlFVTkRMRVZCUVU4c1YwRkJXU3hQUVVGUFFTeEZRVUZQTEV0QlFVc3NSVUZGTTBOR0xFVkJRVThzUzBGQlMwVXNSVUZCVHl4TFFVRkxMRU5CUXpWQ0xFTkJSVUVzVDBGQlQyUXNSVUZCVHl4UlFVRlJXU3hEUVVGTkxFTkJRMmhETEVOQlZrOWFMRVZCUVZNc1QwRkJRVk1zUlVGaFZDeFRRVUZUVFN4RlFVRlZReXhGUVVGcFF5eERRVU4yUkN4SFFVRkpMRU5CUTBFc1QwRkJUMmhDTEVWQlFVOHNVVUZCVVdkQ0xFVkJRVXNzUTBGQlF5eERRVU5vUXl4UFFVRlRja0lzUlVGQlR5eERRVU5hTEU5QlFVOUxMRVZCUVU4c1VVRkJVVXdzUTBGQlN5eERRVU12UWl4RFFVTktMRU5CVGs5TExFVkJRVk1zVDBGQlFXVXNSVUZUYUVJc1pVRkJjMEpGTEVWQlFWTkRMRVZCUVdkRUxFTkJRek5GTEVkQlFVa3NRMEZEUVN4UFFVRlBiRUlzUlVGQlR5eFJRVUZSTEUxQlFVMXJRaXhEUVVGUExFTkJRM1pETEU5QlFWTjJRaXhGUVVGUExFTkJRMW9zVDBGQlQwc3NSVUZCVHl4UlFVRlJUQ3hEUVVGTExFTkJReTlDTEVOQlEwb3NRMEZPUVVzc1JVRkJjMElzVFVGQlFXbENMRWxCZWtSVWFrSXNVVUZCUVN4TFF6bEZWaXhKUVVGVmJVSXNUMEZCVml4RFFVVlZRU3hGUVVGQkxGZEJRWGxDTEVOQlFVVXNTMEZCVFN4WlFVRmhMRVZCUlRsRFFTeEZRVUZCTEZGQlFXMUNMRU5CUVVVc1MwRkJUU3hUUVVGVkxFVkJSWEpEUVN4RlFVRkJMRlZCUVhOQ0xFbEJRVWtzU1VGSGFFTXNVMEZCVTBNc1JVRkJVVU1zUlVGQmQwSXNRMEZETlVNc1QwRkJTVUVzUlVGQlNTeE5RVUZSTEVWQlFWVkdMRVZCUVVFc1VVRkZia0lzUTBGQlJTeExRVUZOTEU5QlFWRXNUVUZCVDBVc1EwRkJTU3hEUVVOMFF5eERRVXBQUml4RlFVRlRMRXRCUVVGRExFVkJUMVFzVTBGQlUwVXNSVUZCV1VNc1JVRkJNa0lzUTBGRGJrUXNUMEZCU1VFc1JVRkJZMG9zUlVGQlFTeFhRVU5PUVN4RlFVRkJMRTlCUTJoQ0xFTkJTRTlCTEVWQlFWTXNVMEZCUVVjc1JVRk5WQ3hUUVVGVFJTeEZRVUZuUWtnc1JVRkJiME1zUTBGRGFFVXNUMEZCVDBFc1NVRkJVU3hQUVVGWlJDeEZRVUZMUXl4RFFVRkhMRVZCUVVsR0xFVkJRVUVzVDBGRE0wTXNRMEZHVDBFc1JVRkJVeXhoUVVGQlN5eEZRVXRVTEZOQlFWTkRMRVZCUVZkS0xFVkJRWGRDTEVOQlF5OURMRTlCUVVsQkxFVkJRVWtzVFVGQlVTeEZRVUZWUml4RlFVRkJMRmRCUlc1Q0xFTkJRVVVzUzBGQlRTeFZRVUZYTEUxQlFVOUZMRU5CUVVrc1EwRkRla01zUTBGS1QwWXNSVUZCVXl4UlFVRkJUU3hGUVU5VUxGTkJRVk5ETEVWQlFWVkRMRVZCUVRoQ0xFTkJRM0JFTEU5QlFWRkJMRVZCUVU4c1MwRkJUU3hEUVVOcVFpeEpRVUZMTEdGQlEwUXNUMEZCVDFJc1JVRkJRU3hSUVVOWUxFbEJRVXNzVlVGRFJDeFBRVUZQUVN4RlFVRkJMRmRCUTFnc1NVRkJTeXhQUVVORUxFOUJRVTlOTEVWQlFWRkZMRVZCUVU4c1MwRkJTeXhGUVVNdlFpeEpRVUZMTEZWQlEwUXNUMEZCVDFBc1JVRkJTMDhzUlVGQlR5eExRVUZMTEVOQlEyaERMRU5CUTBvc1EwRllUMUlzUlVGQlV5eFBRVUZCVHl4RlFXTlVMRk5CUVZORkxFVkJRVk5FTEVWQlFUUkNMRU5CUTJwRUxFOUJRVkZCTEVWQlFVOHNTMEZCVFN4RFFVTnFRaXhKUVVGTExHRkJRMFFzVFVGQlR5eEhRVU5ZTEVsQlFVc3NWVUZEUkN4TlFVRlBMRWRCUTFnc1NVRkJTeXhQUVVORUxFOUJRVTlCTEVWQlFVOHNUVUZCVFN4TlFVRlJMRVZCUTJoRExFbEJRVXNzVlVGRFJDeE5RVUZQTEVWQlEyWXNRMEZEU2l4RFFWaFBVaXhGUVVGVExFMUJRVUZUTEVWQlkxUXNVMEZCVTBNc1JVRkJWMFlzUlVGQmJVSkhMRVZCUVRSQ0xFTkJRM1JGTEU5QlFWRklMRVZCUVU4c1MwRkJUU3hEUVVOcVFpeEpRVUZMTEdGQlEwUXNUMEZCVDBjc1JVRkRXQ3hKUVVGTExGVkJRMFFzVDBGQlQxZ3NSVUZCUVN4VlFVTllMRWxCUVVzc1QwRkRSQ3hQUVVGUFVTeEZRVUZQTEUxQlEyeENMRWxCUVVzc1ZVRkRSQ3hQUVVGUFNTeEZRVUZ4UWtRc1JVRkJXVWdzUlVGQlR5eExRVUZMTEVOQlF6VkVMRU5CUTBvc1EwRllUMUlzUlVGQlV5eFJRVUZCVlN4RlFXTlVMRk5CUVZOSExFVkJRV0ZETEVWQlFUQkRMRU5CUTI1RkxFOUJRVTlETEVWQlFXTkVMRVZCUVZkRkxFZEJRVTFCTEVOQlFVTXNRMEZETTBNc1EwRkdUMmhDTEVWQlFWTXNWVUZCUVdFc1JVRkxWQ3hUUVVGVFJTeEZRVU5hUkN4RlFVTkJSeXhGUVVOVExFTkJRMVFzVDBGQlQwTXNSVUZCZVVKS0xFVkJRVmRGTEVkQlFVMUhMRWRCUVU4c1VVRkJVVVlzUlVGQlVVUXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3haUVVGWkxFTkJRemRHTEVOQlRFOW9RaXhGUVVGVExHTkJRVUZsTEVWQlVWUXNVMEZCVTBjc1JVRkRXa29zUlVGRFFVY3NSVUZEYjBJc1EwRkRjRUlzU1VGQlRVY3NSVUZCYTBJc1EwRkJReXhGUVVOdVFrTXNSVUZCYzBJc1EwRkJReXhGUVVNM1FpeFJRVUZUUXl4TFFVRlhVaXhGUVVGVkxFTkJRekZDTEVsQlFVMVRMRVZCUVdOT0xFVkJRVkZMTEVOQlFVOHNSVUZEYmtNc1IwRkJTU3hEUVVGRFF5eEZRVUZaTEZkQlFWa3NUMEZCVDBFc1JVRkJXU3hMUVVGTExFVkJSWEpFTEVsQlFVMW1MRVZCUVZObExFVkJRVmtzVFVGRE0wSXNSMEZCU1dZc1NVRkJWeXhQUVVkbUxFbEJRVWxETEVWQlFVMUVMRU5CUVUwc1JVRkJSeXhQUVVGUFZ5eEhRVUZQTEZGQlFWRnVRaXhGUVVGQkxFOUJRVThzUlVGRk5VTlJMRVZCUVU4c1QwRkJVeXhsUVVkb1FrRXNSVUZCVHl4TlFVRlJMRTlCUVZGWkxFVkJRVTBzUzBGQlMxb3NSVUZCVHl4TFFVRkxMRVZCUTNwRFFTeEZRVUZQTEUxQlFWRXNWMEZCVjJFc1JVRkJWU3hMUVVGTFlpeEZRVUZQTEV0QlFVc3NSMEZEYkVVc1EwRlJRU3hQUVVGSldTeEZRVUZOTEZGQlFWVXNSMEZCUzBNc1JVRkJWU3hSUVVGVkxFVkJRMnhEUml4SFFVRlBMRkZCUVZGdVFpeEZRVUZCTEZWQlFWVXNSVUZEZWtKdlFpeEZRVUZOTEU5QlFWTXNSMEZCUzBNc1JVRkJWU3hSUVVGVkxFVkJRM2hEUml4SFFVRlBMRkZCUVZGc1FpeEZRVUZMZFVJc1JVRkJZVW9zUTBGQlN5eERRVUZETEVOQlFVTXNSVUZEZUVOQkxFVkJRVTBzVVVGQlZTeEhRVUZMUXl4RlFVRlZMRTlCUVZNc1JVRkRlRU5HTEVkQlFVOHNVVUZCVVdJc1JVRkJVVzFDTEVWQlFWTktMRU5CUVZNc1EwRkJReXhEUVVGRExFVkJSVE5EUml4SFFVRlBMRkZCUVZGdVFpeEZRVUZSTEV0QlFVdFpMRVZCUVhGQ1dTeEZRVUZoU2l4RFFVRkxMRVZCUVVkTExFVkJRVk5LTEVOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkZNVWNzUTBGMFEwOXlRaXhGUVVGVExIbENRVUZCYTBJc1JVRjVRMVFzVTBGQlUxRXNSVUZCVTBNc1JVRkJlVU1zUTBGRE9VUXNUMEZCVDBNc1JVRkJWVVFzUlVGQlZWZ3NSMEZCVFVFc1EwRkJReXhEUVVOMFF5eERRVVpQYUVJc1JVRkJVeXhOUVVGQk1FSXNSVUZMVkN4VFFVRlRSU3hGUVVGblFtUXNSVUZCZFVKSExFVkJRWGxFTEVOQlF6VkhMRTlCUVU5WkxFVkJRV3RDWml4RlFVRlhSU3hIUVVGTlJ5eEhRVUZQTEZGQlFWRkdMRVZCUVZGRUxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNXVUZCV1N4RFFVTjBSaXhEUVVaUGFFSXNSVUZCVXl4VlFVRkJORUlzUlVGTFZDeFRRVUZUUXl4RlFVTmFaaXhGUVVOQlJ5eEZRVU52UWl4RFFVTndRaXhKUVVGTlJ5eEZRVUZyUWl4RFFVRkRMRVZCUTI1Q1F5eEZRVUZ6UWl4RFFVRkRMRVZCUXpkQ0xGRkJRVk5ETEV0QlFWZFNMRVZCUVZVc1EwRkRNVUlzU1VGQlRWTXNSVUZCWTA0c1JVRkJVVXNzUTBGQlR5eEZRVU51UXl4SFFVRkpMRU5CUVVORExFVkJRVmtzVjBGQldTeFBRVUZQUVN4RlFVRlpMRXRCUVVzc1JVRkZja1FzU1VGQlRXWXNSVUZCVTJVc1JVRkJXU3hOUVVNelFpeEhRVUZKWml4SlFVRlhMRTlCUjJZc1NVRkJTVUVzUlVGQlR5eFBRVUZUTEdGQlFXTXNUMEZCVDFjc1IwRkJUeXhSUVVGUmJrSXNSVUZCUVN4VlFVRlZMRVZCUlRsRVV5eEZRVUZOUkN4RFFVRk5MRWxCUjFwQkxFVkJRVThzVFVGQlVTeFBRVUZSV1N4RlFVRk5MRXRCUVV0YUxFVkJRVThzUzBGQlN5eEZRVU42UTBFc1JVRkJUeXhOUVVGUkxGZEJRVmRoTEVWQlFWVXNTMEZCUzJJc1JVRkJUeXhMUVVGTExFZEJRMnhGTEVOQlYwRXNUMEZCU1Zrc1JVRkJUU3hSUVVGVkxFZEJRVXRETEVWQlFWVXNVVUZCVlN4RlFVTnNRMFlzUjBGQlR5eFJRVUZSYmtJc1JVRkJRU3hQUVVGUExFVkJRM1JDYjBJc1JVRkJUU3hQUVVGVExFZEJRVXRETEVWQlFWVXNVVUZCVlN4RlFVTjRRMFlzUjBGQlR5eFJRVUZSYmtJc1JVRkJVU3hMUVVGTGVVSXNSVUZCVTB3c1EwRkJTeXhEUVVGRExFTkJRVU1zUlVGRE5VTkJMRVZCUVUwc1VVRkJWU3hIUVVGTFF5eEZRVUZWTEU5QlFWTXNSVUZEZUVOR0xFZEJRVThzVVVGQlVXNUNMRVZCUVZFc1VVRkJVWGRDTEVWQlFXRklMRU5CUVZNc1EwRkJReXhEUVVGRExFVkJSWFpFUml4SFFVRlBMRkZCUVZGaUxFVkJRVkZOTEVWQlFYRkNXU3hGUVVGaFNDeERRVUZUTEVWQlFVZEpMRVZCUVZOTUxFTkJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZGY2tjc1EwRjZRMDl3UWl4RlFVRlRMR3RDUVVGQk5rSXNSVUUwUTFRc1UwRkJVMHdzUlVGQlowSk5MRVZCUVhkQ0xFTkJRM0JFTEVkQlFVbEJMRVZCUVVzc1VVRkJWU3hGUVVGSExFOUJRVThzU1VGQlNTeEpRVU0xUWl4SFFVRkpRU3hGUVVGTExGRkJRVlVzUlVGQlJ5eFBRVUZQUVN4RlFVRkxMRU5CUVVNc1JVRkhlRU1zU1VGQlNVTXNSVUZCVlN4RFFVRkRMRVZCUVdVc1QwRkJUMFFzUTBGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUTBVc1JVRkJSME1zU1VGQlRVUXNSVUZCUlN4TFFVRlBReXhGUVVGRkxFbEJRVWtzUlVGRmVrVXNTMEZCVDBZc1JVRkJUeXhQUVVGVExFZEJRVWNzUTBGRGRFSXNTVUZCVFVjc1JVRkJVeXhKUVVGSkxFbEJRMkpETEVWQlFWVktMRVZCUVU4c1NVRkJTU3hGUVVVelFpeFJRVUZUVkN4TFFVRlhVeXhGUVVGUExFTkJRVU1zUlVGRGNFSkpMRVZCUVZFc1NVRkJTV0lzUTBGQlR5eEhRVUZIV1N4RlFVRlBMRWxCUVVsYUxFTkJRVThzUlVGSGFFUlRMRVZCUVU4c1EwRkJReXhGUVVGSlJ5eERRVU5vUWl4RFFVVkJMRTlCUVU5SUxFVkJRVThzUTBGQlF5eERRVU51UWl4RFFXNUNUeTlDTEVWQlFWTXNZVUZCUVhkQ0xFVkJjMEpVTEZOQlFWTkRMRVZCUVZsTExFVkJRWGRDTEVOQlEyaEVMRWRCUVVsQkxFVkJRVXNzVVVGQlZTeEZRVUZITEU5QlFVOHNTVUZCU1N4SlFVTTFRaXhIUVVGSlFTeEZRVUZMTEZGQlFWVXNSVUZCUnl4UFFVRlBRU3hGUVVGTExFTkJRVU1zUlVGSGVFTXNTVUZCVFVrc1JVRkJVeXhKUVVGSkxFbEJRMjVDTEZGQlFWZG9ReXhMUVVGUE5FSXNSVUZEWkN4UlFVRlhVaXhMUVVGWGNFSXNSVUZEYkVKblF5eEZRVUZQTEVsQlFVbGFMRU5CUVU4c1JVRkpNVUlzVDBGQlQxa3NRMEZEV0N4RFFXSlBiRU1zUlVGQlV5eFRRVUZCZVVJc1JVRm5RbFFzVTBGQlUySXNSVUZCZDBKWUxFVkJRV05MTEVWQlFYbENMRU5CUXpORkxFZEJRVWxNTEVWQlFVc3NTMEZCVDBzc1JVRkJVU3hMUVVGTkxFTkJSVEZDTEVsQlFVMDBRaXhGUVVGVExFbEJRVWtzU1VGQlNXcERMRU5CUVVrc1JVRkRNMElzVVVGQlUzRkNMRXRCUVZkb1FpeEZRVU5vUWpSQ0xFVkJRVThzVDBGQlQxb3NRMEZCVHl4RlFVZDZRaXhQUVVGUFdTeERRVU5ZTEV0QlFYVkRMRU5CUTI1RExFbEJRVTFCTEVWQlFWTXNTVUZCU1N4SlFVTnVRaXhSUVVGVFdpeExRVUZYY2tJc1JVRkRXa3NzUlVGQlVTeEpRVUZKWjBJc1EwRkJUeXhIUVVOMlFsa3NSVUZCVHl4SlFVRkpXaXhEUVVGUExFVkJSM1JDTEU5QlFVOVpMRU5CUTFnc1EwRkRTaXhEUVd4Q1QyeERMRVZCUVZNc2NVSkJRVUZaTEVsQk9VNUlXaXhSUVVGQkxFdERhVVZXTEVsQlFWVnZReXhQUVVGV0xFTkJSVlZCTEVWQlFVRXNTVUZCWXl4UFFVVndRaXhUUVVGVFF5eEZRVUZUUXl4RlFVRnJReXhEUVVOMlJDeE5RVUZQTEVOQlFVVXNTMEZCVFN4WFFVRlpMRXRCUVVGQkxFTkJRVXNzUTBGRGNFTXNRMEZHVDBZc1JVRkJVeXhUUVVGQlF5eEZRVWxVTEZOQlFWTkZMRVZCUVZGRExFVkJRVzFETEVOQlEzWkVMRTFCUVU4c1EwRkJSU3hMUVVGTkxGVkJRVmNzVFVGQlFVRXNRMEZCVFN4RFFVTndReXhEUVVaUFNpeEZRVUZUTEZGQlFVRkhMRVZCU1ZRc1UwRkJVMFVzUlVGQlUwTXNSVUZCYTBKRExFVkJRV05ETEVWQlFTdENMRU5CUTNCR0xFMUJRVThzUTBGQlJTeExRVUZOTEZkQlFWa3NTMEZCUVVZc1JVRkJUU3hIUVVGQlF5eEZRVUZKTEUxQlFVRkRMRU5CUVUwc1EwRkRMME1zUTBGR1QxSXNSVUZCVXl4VFFVRkJTeXhGUVVsVUxGTkJRVk5KTEVWQlFVMURMRVZCUVdsQ1JDeEZRVUVyUWl4RFFVTnNSU3hOUVVGUExFTkJRVVVzUzBGQlRTeFhRVUZaTEV0QlFVMURMRVZCUVVzc1RVRkJUMFFzUlVGQlR5eEhRVUZKTEU5QlFWRXNRMEZEY0VVc1EwRkdUMVFzUlVGQlV5eE5RVUZCVXl4RlFVdFVMRk5CUVZORkxFVkJRV05VTEVWQlFUQkNMRU5CUTNCRUxFbEJRVWxWTEVWQlFWRldMRVZCUVVzc1RVRkJUU3hIUVVGSExFVkJRM1JDVnl4RlFVRnhRbUlzUlVGQldTeFRRVUZUV1N4RlFVRk5MRU5CUVVNc1EwRkJReXhGUVVOMFJDeFJRVUZUU0N4RlFVRlJMRVZCUVVkQkxFVkJRVkZITEVWQlFVMHNUMEZCVVVnc1NVRkRkRU5KTEVWQlFWTmlMRVZCUVZrc1RVRkJUV0VzUlVGQlVXSXNSVUZCV1N4UlFVRlJXU3hGUVVGTlNDeERRVUZMTEVOQlFVTXNRMEZCUXl4RlFVZDRSU3hQUVVGUFNTeERRVU5ZTEVOQlVrOWlMRVZCUVZNc1kwRkJRVmNzUlVGVlZDeFRRVUZUUnl4RlFVRlBReXhGUVVGblFsZ3NSVUZCY1VNc1EwRkRlRVVzVFVGQlR5eERRVUZGTEV0QlFVMHNVMEZCVlN4VlFVRlhWeXhGUVVGTkxFMUJRVUZZTEVOQlFVMHNRMEZEY0VRc1EwRkdUMG9zUlVGQlV5eFBRVUZCWXl4RlFVbFVMRk5CUVZORkxFVkJRVXRCTEVWQlFXdENSQ3hGUVVGM1F5eERRVU16UlN4TlFVRlBMRU5CUVVVc1MwRkJUU3hYUVVGWkxFdEJRVUZETEVWQlFVMHNWVUZCVjBRc1EwRkJTeXhEUVVOeVJDeERRVVpQWml4RlFVRlRMRXRCUVVGblFpeEZRVWxVTEZOQlFWTkRMRVZCUVV0RExFVkJRWE5ETEVOQlEzWkVMRTFCUVU4c1EwRkJSU3hMUVVGTkxFOUJRVkVzVDBGQlFVRXNRMEZCVHl4RFFVTnNReXhEUVVaUGJFSXNSVUZCVXl4TFFVRkJhVUlzUlVGSlZDeFRRVUZUUlN4RlFVRlBSQ3hGUVVGelJDeERRVU42UlN4TlFVRlBMRU5CUVVVc1MwRkJUU3hUUVVGVkxFOUJRVUZCTEVOQlFVOHNRMEZEY0VNc1EwRkdUMnhDTEVWQlFWTXNUMEZCUVcxQ0xFVkJTVlFzVTBGQlUwTXNSVUZCVDBNc1JVRkJjME1zUTBGRGVrUXNUVUZCVHl4RFFVRkZMRXRCUVUwc1ZVRkJWeXhOUVVGQlFTeERRVUZOTEVOQlEzQkRMRU5CUms5eVFpeEZRVUZUTEU5QlFVRnZRaXhGUVVsVUxGTkJRVk5GTEVWQlFWbG1MRVZCUVN0Q0xFTkJRM1pFTEU5QlFVOUJMRWRCUVUwc1RVRkJVVUVzUjBGQlRTeExRVUZQUVN4SFFVRk5MRXRCUVU5QkxFZEJRVTBzVFVGQlVVRXNSMEZCVFN4TlFVRlJRU3hIUVVGTkxFZEJRM0pHTEVOQlJrOVFMRVZCUVZNc1dVRkJRWE5DTEVWQlMxUXNVMEZCVTBNc1JVRkJhVUpETEVWQlFXdENReXhGUVVGeFFpeEpRVUZKTEVsQlFVa3NRMEZCUTNwQ0xFVkJRVUVzUjBGQlJ5eERRVUZETEVWQlFXZENMRU5CUTJwSExFOUJRVkYzUWl4RlFVRkxMRXRCUVUwc1EwRkRaaXhKUVVGTExGZEJSVVFzVDBGRFNVRXNSVUZCU3l4TFFVRlBMRk5CUTFwQkxFVkJRVXNzUzBGQlN5eE5RVUZSTEZsQlEyeENRU3hGUVVGTExFdEJRVXNzVFVGQlVYaENMRVZCUVVFc1MwRkRiRUozUWl4RlFVRkxMRTFCUVUwc1RVRkJVU3hYUVVOdVFrVXNSMEZCVXl4VFFVRlRSaXhGUVVGTExFMUJRVTBzUzBGQlN5eEZRVVU1UWtNc1JVRkJUU3hKUVVGSlJDeEZRVUZMTEUxQlFVMHNTMEZCU3l4RlFVRlZMRWxCUVVrc1NVRkRhRU1zU1VGQlNTeEpRVUZKTEVOQlFVTkJMRVZCUVVzc1RVRkJUU3hMUVVGTExFTkJRVU1zUlVGSmJrTkhMRWRCUVZFc1UwRkJVeXhEUVVGRFNpeEZRVUZwUWtNc1JVRkJTeXhMUVVGTlF5eERRVUZMTEVWQlFVZEdMRVZCUVdsQ1F5eEZRVUZMTEUxQlFVOURMRU5CUVVzc1EwRkJReXhEUVVGRExFVkJRM0pITEVsQlFVc3NWMEZEUkN4UFFVRlBSU3hIUVVGUkxGTkJRVk5JTEVWQlFVc3NWVUZCVlN4SlFVRkxTU3hIUVVGTlRDeEZRVUZwUWtzc1JVRkJSMGdzUTBGQlN5eERRVUZETEVOQlFVTXNSVUZEYWtZc1NVRkJTeXhUUVVORUxFbEJRVTFKTEVWQlFWZEtMRWRCUVVFc1MwRkJRVUVzUlVGQlV5eEpRVUZKTEVsQlF6bENMRkZCUVZkTExFdEJRVTlPTEVWQlFVc3NWVUZCVjBzc1JVRkJVeXhKUVVGSlF5eERRVUZITEVWQlJXeEVMRTlCUVU5UUxFVkJRV2xDUXl4RlFVRkxMRTFCUVU5TExFTkJRVkVzUlVGRGFFUXNTVUZCU3l4UFFVTkVMRTlCUVU5R0xFZEJRVkVzVTBGQlUwZ3NSVUZCU3l4UFFVRlBMRWxCUVV0UExFZEJRVTFTTEVWQlFXbENVU3hGUVVGSFRpeERRVUZMTEVOQlFVTXNRMEZCUXl4RlFVTTVSU3hKUVVGTExGVkJRMFFzVDBGQlQwWXNSVUZCYVVKRExFVkJRVXNzVFVGQlQwTXNRMEZCU3l4RlFVTTNReXhKUVVGTExGTkJRMFFzVDBGQlQwVXNSMEZCVVN4VFFVRlRMRTlCUVU4c1QwRkJUMGdzUlVGQlN5eE5RVUZOTEVWQlFVVXNTVUZCUzA4c1IwRkJUVklzUlVGQmFVSlJMRVZCUVVkT0xFTkJRVXNzUTBGQlF5eERRVUZETEVWQlF6ZEdMRWxCUVVzc1YwRkRSQ3hQUVVGSlFTeEhRVUZUUVN4RlFVRk5MRWxCUVVsRUxFVkJRVXNzU1VGQlNTeEZRVUZWTEVsQlFVa3NTVUZEYkVNc1NVRkJTU3hKUVVGSkxFTkJRVU5CTEVWQlFVc3NTVUZCU1N4RFFVRkRMRVZCUTI1RExFbEJRVXNzVlVGRFJDeFBRVUZQTEVsQlFVa3NSMEZEYmtJc1EwRkRTaXhEUVhCRFQzaENMRVZCUVZNc2FVSkJRVUYxUWl4RlFYVkRWQ3hUUVVGVFV5eEZRVUZUVWl4RlFVRXdRaXhEUVVNdlF5eFBRVUZSUVN4RlFVRkxMRXRCUVUwc1EwRkRaaXhKUVVGTExGZEJRMFFzVDBGQlNVRXNSVUZCU3l4TFFVRlBMRkZCUTB3c1IwRkJSMUVzUlVGQlUxSXNSVUZCU3l4SlFVRkpMRU5CUVVNc1NVRkJTVkVzUlVGQlUxSXNSVUZCU3l4TFFVRkxMRU5CUVVNc1NVRkhiRVFzUjBGQlIxRXNSVUZCVTFJc1JVRkJTeXhKUVVGSkxFTkJRVU1zU1VGQlNVRXNSVUZCU3l4RlFVRkZMRWxCUVVsUkxFVkJRVk5TTEVWQlFVc3NTMEZCU3l4RFFVRkRMRWRCUTNCRkxFbEJRVXNzVjBGRFJDeE5RVUZQTEVkQlFVZFJMRVZCUVZOU0xFVkJRVXNzU1VGQlNTeERRVUZETEVsQlFVbEJMRVZCUVVzc1ZVRkJWU3hKUVVGSlVTeERRVUZSTEVWQlFVVXNTMEZCU3l4SlFVRkpMRU5CUVVNc1NVRkROVVVzU1VGQlN5eFRRVU5FTEUxQlFVOHNTVUZCU1ZJc1JVRkJTeXhWUVVGVkxFdEJRVXNzU1VGQlNTeERRVUZETEZGQlFWRlJMRVZCUVZOU0xFVkJRVXNzUzBGQlN5eERRVUZETEVkQlEzQkZMRWxCUVVzc1QwRkRSQ3hOUVVGUExFbEJRVWxCTEVWQlFVc3NUMEZCVHl4SlFVRkpVU3hEUVVGUkxFVkJRVVVzUzBGQlN5eEpRVUZKTEVOQlFVTXNTVUZEYmtRc1NVRkJTeXhWUVVORUxFMUJRVThzU1VGQlNVRXNSVUZCVTFJc1JVRkJTeXhMUVVGTExFTkJRVU1zUjBGRGJrTXNTVUZCU3l4VFFVTkVMRTFCUVU4c1NVRkJTU3hQUVVGUExGRkJRVkZCTEVWQlFVc3NUVUZCVFN4RlFVTm9ReXhKUVVGSkxFTkJRVU1zUTBGQlExTXNSVUZCUjBZc1EwRkJReXhKUVVGTkxFZEJRVWRGTEVOQlFVTXNTMEZCUzBRc1JVRkJVMFFzUTBGQlF5eERRVUZETEVWQlFVVXNSVUZEZEVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zU1VGRGJrSXNTVUZCU3l4WFFVTkVMRTlCUVU5UUxFVkJRVXNzUzBGRGFFSXNTVUZCU3l4VlFVTkVMRWxCUVUxVkxFVkJRVlZTTEVkQlFWTXNWVUZCVlVZc1JVRkJTeXhMUVVGTExFVkJRemRETEVkQlFVa3NRMEZCUTFVc1JVRkJVeXhOUVVGUExFOUJRM0pDTEU5QlFWRkJMRVZCUVZFc1MwRkJUU3hEUVVOc1FpeEpRVUZMTEZOQlEwUXNUVUZCVHl4SlFVRkpRU3hGUVVGUkxFdEJRVXNzU1VGRE5VSXNVVUZEU1N4UFFVRlBVaXhIUVVGVExGTkJRVk5STEVWQlFWRXNTMEZCU3l4RFFVTTVReXhEUVVOU0xFTkJRMG9zUTBGb1EwOXNReXhGUVVGVExGTkJRVUZuUXl4RlFXdERTR2hETEVWQlFVRXNTMEZCVDBFc1JVRkJXU3hSUVVGUkxFbEJRVWtzU1VGcVNTOUNRU3hSUVVGQkxFdEtabFlzU1VGQlRXMURMRVZCUVdVc2FVSkJRVzFETEVOQlF6TkVMRTlCUVZORExFZEJRMGdzVTBGQlR5eHhRa0ZCY1VJc1JVRkRla0lzU1VGQlMwTXNSMEZCVVN4UFFVRlBMRmRCUVZkQkxFTkJRVWNzUTBGQlF5eEZRVU51UXl4TFFVRkxMRkZCUVZFc1JVRkhkRUlzVDBGQlUwTXNSMEZEU0N4VFFVRlBMRWRCUVVjc1JVRkRVQ3hMUVVOTExFMUJRVWxCTEVWQlFVVXNaMEpCUVcxQ0xGTkJRVThzUzBGQlN5eERRVUZETEVWQlEyNURMRkZCUVZFc1EwRkJReXhGUVVOVUxFbEJRVXRETEVkQlFWVkJMRVZCUVUwc1MwRkJTeXhGUVVGRkxFTkJRVU1zUTBGRGRFTXNSVUZEUXl4TFFVRlBMRk5CUVU4c1IwRkJSeXhEUVVGRExFVkJRMnhDTEV0QlFVc3NVVUZCVVN4RlFVVjBRaXhuUWtGQmEwSklMRWRCUTFvc1UwRkJUeXhKUVVGSkxFVkJRMUlzUzBGQlR5eExRVUZITEVWQlExWXNTVUZCUzBrc1IwRkZSVUVzU1VGQldTeEpRVUZaTEVsQlEzaENRU3hKUVVGWkxFdEJRV0VzUzBGRGFrSXNTMEZCVDBFc1EwRkRkRUlzUlVGSFZDeExRVUZQU2l4SFFVTkVMRk5CUVU4c2RVSkJRWFZDTEVWQlF6TkNMRWxCUVV0RExFZEJRVkZCTEVWQlFVa3NXVUZCV1N4SFFVRkxMRTFCUVUwc1JVRkRlRU1zUzBGQlN5eFRRVUZUTEVWQlIzWkNMRWxCUVUxRUxFZEJRMEVzVTBGRFNTeFRRVUZQTEVkQlFVY3NSVUZEVml4TlFVRk5MRk5CUVU4c2FVVkJRV2xGTEVWQlFVVXNTMEZCU3l4TlFVRk5MRU5CUVVNc1JVRkJSU3hMUVVGTExFVkJRM0pITEVOQlFVTkxMRVZCUVU5RExFbEJRVk5FTEVWQlFWRkRMRVZCUVVzc1MwRkJTeXhGUVVGRkxFTkJRM3BETEVWQlFVVXNTMEZCU3l4TFFVRkxMRVZCUjJoQ0xGZEJRV0ZPTEVkQlExQXNVMEZEU1N4TlFVRk5MRk5CUVU4c1owSkJRV2RDTEVWQlFVc3NVMEZCVDA4c1JVRkJWeXhGUVVGRkxFdEJRVXNzVFVGQlRTeERRVUZETEVWQlEyeEZMRTFCUVUwc1UwRkJUeXh4UWtGQmNVSXNSVUZCU3l4VFFVRlBRU3hGUVVGWExFVkJRVVVzUzBGQlN5eE5RVUZOTEVOQlFVTXNSVUZCUlN4TFFVRkxMRVZCUTJoR0xFTkJRVU5ETEVWQlFVOUdMRWxCUVZORkxFVkJRVkZHTEVWQlFVc3NTMEZCU3l4RlFVRkZMRU5CUTNwRExFVkJRVVVzUzBGQlN5eFZRVUZWTEVWQlIzSkNMRXRCUVU5T0xFZEJRMFFzVTBGQlR5eDFRa0ZCZDBJc1EwRkJReXhGUVVNM1FpeEpRVUZMVXl4SFFVRmpReXhIUVVGTExGZEJRVmRFTEVOQlFWTXNRMEZCUXl4RlFVTTNReXhMUVVGTExGZEJRVmNzUlVGSmVrSXNWVUZCV1ZBc1IwRkRUaXhUUVVGVExGTkJRVThzUjBGQlJ5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RlFVRkhRU3hGUVVGRkxFdEJRVTBzUTBGQlExTXNSVUZCUjBNc1MwRkRkRU5FTEVWQlFVVXNUMEZCVXl4SlFVRkhReXhGUVVGRkxFMUJRVkVzU1VGRGNrSkJMRVZCUTFZc1JVRkJSU3hMUVVGTExGZEJRVmNzUlVGSGRrSXNaMEpCUVd0Q1dpeEhRVU5hTEZOQlFVOHNUVUZCVFN4RlFVTldMRWxCUVV0RExFZEJRVkZCTEVOQlFXVXNSVUZETlVJc1MwRkJTeXhaUVVGWkxFVkJSekZDTEdGQlFXVkVMRWRCUTFRc1UwRkJUeXhUUVVGVExFVkJRMklzU1VGQlMwTXNSMEZCVVVFc1EwRkJaU3hGUVVNMVFpeExRVUZMTEcxQ1FVRnRRaXhGUVVkcVF5eG5Ra0ZCYTBKRUxFZEJRMW9zVTBGQlR5eG5Ra0ZCWjBJc1JVRkRjRUlzU1VGQlMwTXNSMEZCVVVFc1EwRkJaU3hGUVVNMVFpeExRVUZMTERKRFFVRXlReXhGUVVkNlJDeFpRVUZqUkN4SFFVTlNMRk5CUVU4c1VVRkJVU3hGUVVOYUxFbEJRVXRoTEVkQlFWTXNSMEZCWlN4RlFVTTNRaXhMUVVGTExFOUJRVThzUlVGRGNrSXNWMEZCWVdJc1IwRkRVQ3hUUVVGUExGRkJRVkVzUlVGRFdpeEpRVUZMWVN4SFFVRlRMRWRCUVdVc1JVRkROMElzUzBGQlN5eE5RVUZOTEVWQlIzQkNMRk5CUVZkaUxFZEJRMHdzVTBGQlV5eFRRVUZQTEU5QlFVOHNSVUZCU3l4VFFVRlBMRWRCUVVjc1JVRkJTeXhUUVVGUExFOUJRVThzUlVGQlJ5eERRVUZEWXl4RlFVRk5aQ3hGUVVGSFpTeEpRVU0zUkVNc1JVRkJVeXhYUVVGWExFTkJRVVVzUzBGQlRTeFBRVUZQTEZOQlFWTkdMRU5CUVVrc1JVRkJSeXhOUVVGUExFOUJRVThzVTBGQlUwTXNRMEZCU3l4RFFVRkZMRU5CUVVNc1EwRkROVVlzUlVGQlJTeExRVUZMTEhsRFFVRjVReXhGUVVOeVJDeGpRVUZuUW1Zc1IwRkRWaXhOUVVORkxFZEJRVWNzVDBGQlR5eExRVUZMYVVJc1JVRkJaU3hGUVVONlFpeExRVUZMTEVOQlFVTkRMRVZCUVVkRExFbEJRVTFCTEVWQlFVVXNUMEZCVTBRc1JVRkJSU3hOUVVGTkxFVkJRMnhETEVsQlFVMHNVVUZCVFN4RFFVTnlRaXhGUVVOS0xFdEJRVTlvUWl4SFFVTklhMElzUjBGRFNXeENMRVZCUVVVc1UwRkRSRzFDTEVkQlEwc3NVMEZCVXl4VFFVRlBMRWRCUVVjc1JVRkJTeXhUUVVGUExFOUJRVThzUlVGQlJ5eERRVUZEY2tJc1JVRkJSM05DTEVsQlFWRkVMRVZCUVVjc1NVRkJTU3hEUVVGRkxFbEJRVXNzVDBGQlR5eFRRVUZUUXl4RFFVRkhMRU5CUVVVc1EwRkJReXhEUVVGRExFVkJReTlHUXl4SFFVTkxMRk5CUVZNc1UwRkJUeXhIUVVGSExFVkJRVXNzVTBGQlR5eFBRVUZQTEVWQlFVY3NRMEZCUTNaQ0xFVkJRVWQzUWl4SlFVRlRSQ3hGUVVGSkxFbEJRVWtzUTBGQlJTeExRVUZOTEU5QlFVOHNVMEZCVTBNc1EwRkJTU3hEUVVGRkxFTkJRVU1zUTBGQlF5eEZRVU51UjBNc1IwRkRTeXhUUVVGVExGTkJRVThzUjBGQlJ5eEZRVUZMTEZOQlFVOHNUMEZCVHl4RlFVRkhMRU5CUVVONlFpeEZRVUZITUVJc1NVRkRNME5FTEVWQlFVc3NTVUZCU1N4RFFVRkZMRTlCUVZFc1QwRkJUeXhUUVVGVFF5eERRVUZOTEVOQlFVVXNRMEZCUXl4RFFVTm9SQ3hGUVVOSVF5eEhRVU5MTEZOQlFWTXNVMEZCVHl4SFFVRkhMRVZCUVVzc1UwRkJUeXhQUVVGUExFVkJRVWNzUTBGQlF6TkNMRVZCUVVjMFFpeEpRVU16UTBRc1JVRkJUU3hKUVVGSkxFTkJRVVVzVDBGQlVTeFBRVUZQTEZOQlFWTkRMRU5CUVUwc1EwRkJSU3hEUVVGRExFTkJRMnBFTEVWQlEwaERMRWRCUTBzc1RVRkRTU3hUUVVGVExGTkJRVThzUjBGQlJ5eEZRVUZMTEZOQlFVOHNUMEZCVHl4RlFVRkhMRU5CUVVNM1FpeEZRVUZIT0VJc1NVRkRNME5FTEVWQlFVOHNTVUZCU1N4RFFVRkZMRmxCUVdFc1QwRkJUeXhUUVVGVFF5eERRVUZYTEVOQlFVVXNRMEZCUXl4RFFVTTFSQ3hGUVVORkxGVkJRVkZFTEVOQlFVMHNRMEZEY0VJc1JVRkRTRVVzUjBGRFN5eE5RVU5KTEZOQlFWTXNVMEZCVHl4SFFVRkhMRVZCUVVVc1IwRkJTeXhUUVVGUExFZEJRVWNzUTBGQlF5eEZRVUZMTEZOQlFVOHNhMEpCUVd0Q0xFVkJRVWNzUTBGQlEwTXNSVUZCU1VNc1NVRkRla1ZHTEVWQlFVY3NVVUZCVVN4TlFVRlJReXhGUVVGTFF5eEZRVUZKTEVOQlFVVXNZMEZCWlN4RlFVRkxMRU5CUVVNc1EwRkRka1FzUlVGRFJTeFRRVUZUTEZOQlFVOHNSMEZCUnl4RlFVRkhMRWxCUVUxR0xFVkJRVWNzVVVGQlVTeE5RVUZQTEVOQlFVVXNZMEZCWlN4RlFVRkxMRU5CUVVNc1EwRkJReXhGUVVOMFJTeFRRVUZUTEZOQlFVOHNSMEZCUnl4RlFVRkxMRk5CUVU4c2JVSkJRVzFDTEVWQlFVc3NVMEZCVHl4SFFVRkhMRVZCUVVjc1EwRkJRMGNzUlVGQlNVTXNSVUZCVFVNc1NVRkROMFZNTEVWQlFVY3NVVUZCVVVrc1JVRkJUU3hEUVVGRkxHTkJRV1VzUlVGQlN5eERRVUZETEVOQlF6VkRMRU5CUTBvc1EwRkRVaXhGUVVOTExFOUJRVkZLTEVkQlFXbENRU3hGUVVGSExGRkJRVk1zV1VGQldTeEZRVU5xUkN4TFFVRkxMSGxEUVVGNVF5eEZRVWQyUkN4VFFVRlhOMElzUjBGRFRDeE5RVU5GUVN4RlFVRkZMR05CUVdNc1NVRkJTMjFETEVkQlFVMXdRaXhIUVVGblFtOUNMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJReTlEYmtNc1JVRkJSU3hKUVVOT0xFVkJRVVVzUzBGQlN5eDVSRUZCZVVRc1JVRkhjRVVzWVVGQlpVWXNSMEZEVkN4TlFVTkZMRWRCUVVjc1QwRkJUeXhMUVVGTGMwTXNSVUZCWXl4RlFVTjRRaXhMUVVGTExFTkJRVU53UWl4RlFVRkhReXhKUVVGTlFTeEZRVUZGTEU5QlFWTkVMRVZCUVVVc1RVRkJUU3hGUVVOc1F5eEpRVUZOTEZGQlFVMHNRMEZEY2tJc1JVRkRTaXhUUVVGWGFFSXNSMEZEVEN4VFFVRlBRU3hGUVVGRkxFOUJRVlVzWjBKQlFXVkJMRVZCUVVVc1lVRkJZeXhEUVVGRGNVTXNSVUZCVDNaRExFVkJRVWQzUXl4SlFVTXpSRVlzUjBGQlpVVXNRMEZCUXl4RlFVRkZMRk5CUVZWRExFZEJRVTFCTEVWQlFVbEdMRU5CUVVzc1EwRkRMME1zUlVGRFN5eFBRVUZUTEZOQlFVOHNSMEZCUnl4RlFVRkZMRXRCUVU4c1pVRkJZU3hGUVVGRkxFZEJRVXNzWlVGQllTeERRVUZETEVWQlF6bEVMRWxCUVV0SExFZEJRV05CTEVWQlFWVXNUMEZCVHl4RFFVRkRMMElzUlVGQlIyZERMRWxCUVUxb1F5eEZRVUZGTEV0QlFVdG5ReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVU40UkN4TFFVRkxMSFZDUVVGMVFpeEZRVWR5UXl4UlFVRlZNME1zUjBGQlVTeFRRVUZQTEUxQlFVMHNSVUZITDBJc1owSkJRV3RDUlN4SFFVTmFMRTFCUTBWQkxFVkJRVVVzUzBGRFJrRXNSVUZCUlN4VFFVRlRMRWxCUVV0dFF5eEhRVUZOVHl4SFFVRnJRbEFzUTBGQlF5eERRVUZETEVWQlF6RkRia01zUlVGQlJTeFBRVU5HUVN4RlFVRkZMRWxCUTBaQkxFVkJRVVVzVlVGRFJrRXNSVUZCUlN4TFFVTkdRU3hGUVVGRkxFOUJRMFpCTEVWQlFVVXNUMEZEVGl4RlFVTktMR2RDUVVGclFrRXNSMEZCVFVFc1JVRkJSU3huUWtGQlowSXNUVUZCVVN4VFFVRlBMRWRCUVVjc1JVRkJSU3hMUVVGUExHVkJRV0VzUlVGQlJTeFZRVUZWUVN4RlFVRkZMR1ZCUVdVc1EwRkJReXhGUVVOb1NDeFpRVUZqUVN4SFFVTlNMRTFCUTBrc1UwRkJUMEVzUlVGQlJTeG5Ra0ZCYlVJc1UwRkJUeXhIUVVGSExFVkJRVVVzUzBGQlR5eGxRVUZoTEVWQlFVZEJMRVZCUVVVc1owSkJRV2xDTEVOQlFVTXlReXhGUVVGSFF5eEZRVUZKYkVNc1NVRkRlRVlzUTBGQlEybERMRU5CUVVNc1JVRkJSU3hQUVVGUGFrTXNRMEZCUXl4RFFVTm9RaXhGUVVOQlZpeEZRVUZGTEdWQlEwNHNRMEZEVWl4RFFVRkRMRVZCUjB0TExFZEJRV01zU1VGQlNTeFBRVUZQZDBNc1IwRkJWeXhGUVVGSExFVkJRVVVzUlVGSGJFTlVMRWRCUVdsQ0xFTkJRekZDTEV0QlFVMVZMRVZCUVZNc1YwRkJWeXhEUVVGRkxFMUJRVThzUTBGQlJTeERRVUZETEVWQlEzUkRMRTFCUVU5QkxFVkJRVk1zVjBGQlZ5eERRVUZGTEUxQlFVOHNRMEZCUlN4RFFVRkRMRVZCUTNaRExFZEJRVWxCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRTFCUVU4c1EwRkJSU3hEUVVGRExFVkJRM0JETEVsQlFVdEJMRVZCUVZNc1YwRkJWeXhEUVVGRkxFMUJRVThzUTBGQlJTeERRVUZETEVWQlJYSkRMRTFCUVU5QkxFVkJRVk1zVjBGQlZ5eERRVUZGTEU5QlFWRXNRMEZCUlN4RFFVRkRMRVZCUTNoRExFOUJRVkZCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRTlCUVZFc1EwRkJSU3hEUVVGRExFVkJRM3BETEVkQlFVbEJMRVZCUVZNc1YwRkJWeXhEUVVGRkxFOUJRVkVzUTBGQlJTeERRVUZETEVWQlEzSkRMRWxCUVV0QkxFVkJRVk1zVjBGQlZ5eERRVUZGTEU5QlFWRXNRMEZCUlN4RFFVRkRMRVZCUlhSRExFdEJRVTFCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRTFCUVU4c1EwRkJSU3hEUVVGRExFVkJRM1JETEUxQlFVOUJMRVZCUVZNc1YwRkJWeXhEUVVGRkxFMUJRVThzUTBGQlJTeERRVUZETEVWQlEzWkRMRWRCUVVsQkxFVkJRVk1zVjBGQlZ5eERRVUZGTEUxQlFVOHNRMEZCUlN4RFFVRkRMRVZCUTNCRExFbEJRVXRCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRTFCUVU4c1EwRkJSU3hEUVVGRExFVkJRM0pETEVWQlFVZEJMRVZCUVZNc1YwRkJWeXhEUVVGRkxFMUJRVThzUTBGQlJTeERRVUZETEVWQlJXNURMRWxCUVV0QkxFVkJRVk1zVjBGQlZ5eERRVUZGTEV0QlFVMHNRMEZCUlN4RFFVRkRMRVZCUTNCRExFdEJRVTFCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRXRCUVUwc1EwRkJSU3hEUVVGRExFVkJRM0pETEVWQlFVZEJMRVZCUVZNc1YwRkJWeXhEUVVGRkxFdEJRVTBzUTBGQlJTeERRVUZETEVWQlJXeERMRXRCUVUxQkxFVkJRVk1zVjBGQlZ5eERRVUZGTEUxQlFVOHNRMEZCUlN4RFFVRkRMRVZCUTNSRExFMUJRVTlCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRTFCUVU4c1EwRkJSU3hEUVVGRExFVkJRM1pETEVkQlFVbEJMRVZCUVZNc1YwRkJWeXhEUVVGRkxFMUJRVThzUTBGQlJTeERRVUZETEVWQlEzQkRMRWxCUVV0QkxFVkJRVk1zVjBGQlZ5eERRVUZGTEUxQlFVOHNRMEZCUlN4RFFVRkRMRVZCUTNKRExFVkJRVWRCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRTFCUVU4c1EwRkJSU3hEUVVGRExFVkJSVzVETEU5QlFWRkJMRVZCUVZNc1YwRkJWeXhEUVVGRkxGRkJRVk1zUTBGQlJTeERRVUZETEVWQlF6RkRMRkZCUVZOQkxFVkJRVk1zVjBGQlZ5eERRVUZGTEZGQlFWTXNRMEZCUlN4RFFVRkRMRVZCUXpORExFbEJRVXRCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRkZCUVZNc1EwRkJSU3hEUVVGRExFVkJRM1pETEV0QlFVMUJMRVZCUVZNc1YwRkJWeXhEUVVGRkxGRkJRVk1zUTBGQlJTeERRVUZETEVWQlEzaERMRVZCUVVkQkxFVkJRVk1zVjBGQlZ5eERRVUZGTEZGQlFWTXNRMEZCUlN4RFFVRkRMRVZCUlhKRExFOUJRVkZCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRkZCUVZNc1EwRkJSU3hEUVVGRExFVkJRekZETEZGQlFWTkJMRVZCUVZNc1YwRkJWeXhEUVVGRkxGRkJRVk1zUTBGQlJTeERRVUZETEVWQlF6TkRMRWxCUVV0QkxFVkJRVk1zVjBGQlZ5eERRVUZGTEZGQlFWTXNRMEZCUlN4RFFVRkRMRVZCUTNaRExFdEJRVTFCTEVWQlFWTXNWMEZCVnl4RFFVRkZMRkZCUVZNc1EwRkJSU3hEUVVGRExFVkJRM2hETEVWQlFVZEJMRVZCUVZNc1YwRkJWeXhEUVVGRkxGRkJRVk1zUTBGQlJTeERRVUZETEVOQlEzcERMRVZCUjJFdlFpeEhRVUZyUWl4RFFVTXpRaXhKUVVGTExFbEJRVTFFTEVWQlFWTXNUVUZCVFN4RlFVTXhRaXhOUVVGUExFbEJRVTFCTEVWQlFWTXNUVUZCVFN4RlFVRkZMRkZCUVZFc1MwRkJTeXhGUVVNelF5eFZRVUZYTEVsQlExQkJMRVZCUVZNc1RVRkJUU3hGUVVOV0xGRkJRVkVzUzBGQlN5eEZRVU5pTEUxQlFVMW5ReXhGUVVGVExGZEJRVmNzUTBGQlJTeExRVUZOTEVOQlFVVXNRMEZCUXl4RFFVRkRMRVZCUXk5RExGTkJRVlVzU1VGRFRtaERMRVZCUVZNc1RVRkJUU3hGUVVOV0xGRkJRVkVzUzBGQlN5eEZRVU5pTEV0QlFVdG5ReXhGUVVGVExGZEJRVmNzUTBGQlJTeExRVUZOTEVOQlFVVXNRMEZCUXl4RFFVRkRMRVZCUXpsRExFbEJRVXNzU1VGQlRXaERMRVZCUVZNc1RVRkJUU3hGUVVGRkxGRkJRVkVzVFVGQlRTeEZRVU14UXl4blFrRkJhVUlzU1VGQlRVRXNSVUZCVXl4TlFVRk5MRVZCUVVVc1VVRkJVU3hOUVVGTkxFVkJRM1JFTEVsQlFVc3NTVUZCVFVFc1JVRkJVeXhOUVVGTkxFVkJRVVVzVFVGQlRTeE5RVUZOTEVWQlEzaERMR05CUVdVc1NVRkJUVUVzUlVGQlV5eE5RVUZOTEVWQlFVVXNUVUZCVFN4TlFVRk5MRVZCUTJ4RUxFbEJRVXNzU1VGQlRVRXNSVUZCVXl4TlFVRk5MRVZCUVVVc1VVRkJVU3hOUVVGTkxFVkJRekZETEdkQ1FVRnBRaXhKUVVGTlFTeEZRVUZUTEUxQlFVMHNSVUZCUlN4UlFVRlJMRTFCUVUwc1JVRkRkRVFzU1VGQlN5eEpRVUZOUVN4RlFVRlRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFMUJRVTBzUlVGRGVFTXNZMEZCWlN4SlFVRk5RU3hGUVVGVExFMUJRVTBzUlVGQlJTeE5RVUZOTEUxQlFVMHNSVUZEYkVRc1NVRkJTeXhKUVVGTlFTeEZRVUZUTEUxQlFVMHNSVUZCUlN4UlFVRlJMRTlCUVU4c1JVRkRNME1zYVVKQlFXdENMRWxCUVUxQkxFVkJRVk1zVFVGQlRTeEZRVUZGTEZGQlFWRXNUMEZCVHl4RlFVTjRSQ3hKUVVGTExFbEJRVTFCTEVWQlFWTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1QwRkJUeXhGUVVONlF5eGxRVUZuUWl4SlFVRk5RU3hGUVVGVExFMUJRVTBzUlVGQlJTeE5RVUZOTEU5QlFVOHNRMEZEZUVRc1JVRXJRMkZwUXl4SFFVRmxMR2xDUVVGdFF5eERRVVV6UkN4VFFVRlhha1FzUjBGQlRVUXNSVUZCVnl4WFFVRlhMRWxCUVVsdFJDeEhRVUZaTEZGQlFWRXNSVUZCUlN4TFFVRkxMRlZCUVZVc1JVRkRhRVlzVDBGQlUyeEVMRWRCUVUxRUxFVkJRVmNzVDBGQlR5eEpRVUZKYlVRc1IwRkJXU3hQUVVGUExFVkJRVVVzUzBGQlN5eFJRVUZSTEVWQlEzWkZMRTlCUVZOc1JDeEhRVUZOUkN4RlFVRlhMRTlCUVU4c1NVRkJTVzFFTEVkQlFWa3NUMEZCVHl4RlFVRkZMRXRCUVVzc1VVRkJVU3hGUVVOMlJTeExRVUZQYkVRc1IwRkJUVVFzUlVGQlZ5eExRVUZMTEVsQlFVbHRSQ3hIUVVGWkxFOUJRVThzUlVGQlJTeExRVUZMTEZOQlFWTXNSVUZEY0VVc1MwRkJUMnhFTEVkQlEwaHRSQ3hIUVVGbExFOUJRVkZ3UkN4RlFVRlhMRkZCUVZFc1JVRkRja01zU1VGQlNTeERRVUZETEVOQlFVTnhSQ3hGUVVGUFF5eERRVUZKTEVsQlFVMUlMRWRCUVZrc1VVRkJVVWNzUTBGQlNTeERRVUZETEVWQlEyaEVMRXRCUVVzc1RVRkJUU3hGUVVOd1FpeFRRVUZYY2tRc1IwRkRVRzFFTEVkQlFXVXNUVUZCVDNCRUxFVkJRVmNzVVVGQlVTeEZRVU53UXl4SlFVRkpMRU5CUVVNc1EwRkJRM0ZFTEVWQlFVOUZMRU5CUVVjc1NVRkJUVW9zUjBGQldTeFJRVUZSU1N4RFFVRkhMRU5CUVVNc1JVRkRPVU1zUzBGQlN5eFZRVUZWTEVWQlEzaENMRXRCUVU5MFJDeEhRVUZOUkN4RlFVRlhMRkZCUVZFc1NVRkJTME1zUjBGQlRXdEVMRWRCUVZrc1NVRkJTU3hGUVVNelJDeExRVUZQYkVRc1IwRkJUVVFzUlVGQlZ5eExRVUZMTEVsQlFVbHRSQ3hIUVVGWkxFOUJRVThzUlVGRGNFUXNTMEZCVDJoRUxFZEJRMGhCTEVWQlFVVXNWMEZEUnl4TlFVRlJMRk5CUVU4c1IwRkJSeXhGUVVGRkxFdEJRVThzWlVGQllTeERRVUZETEVWQlEzcERMRXRCUVU4c1UwRkJUeXhIUVVGSExFVkJRVVVzUzBGQlR5eGxRVUZoTEVWQlFVc3NaMEpCUVdNc1MwRkJUeXhUUVVGUExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlF6ZEZMRWxCUVV0VkxFZEJRVTF6UXl4SFFVRlpMRXRCUVV0MFF5eERRVUZETEVOQlFVTXNSVUZET1VJc1MwRkJTeXhOUVVGTkxFVkJRM0JDTEU5QlFWTldMRWRCUTBnc1UwRkRSVWdzUlVGQlZ5eFhRVUZYTEVkQlFVZEJMRVZCUVZjc1RVRkJUU3hGUVVONFF5eFRRVUZQTEVkQlFVY3NSVUZCUlN4TFFVRlBMR1ZCUVdFc1JVRkRiRU5ITEVWQlFVVXNWMEZEUml4RFFVRkRjVVFzUlVGQlRVTXNSVUZCVFVNc1MwRkRSaXhEUVVGRkxFdEJRVUZHTEVWQlFVMHNUVUZCUVVVc1EwRkJUU3hGUVVVM1FpeEZRVU5MTEUxQlFWRXNVMEZCVHl4SFFVRkhMRVZCUVVVc1MwRkJUeXhsUVVGaExFTkJRVU1zUlVGRGVrTXNTMEZCVHl4VFFVRlBMRWRCUVVjc1JVRkJSU3hMUVVGUExHVkJRV0VzUlVGQlN5eG5Ra0ZCWXl4TFFVRlBMRk5CUVU4c1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGRE4wVXNTVUZCUzBNc1IwRkJVeXhEUVVOWUxFbEJRVWxETEVWQlFXdERMRU5CUVVNc1JVRkRka01zVVVGQlUwTXNTMEZCVTBZc1JVRkJUVU1zUlVGQlNVTXNSVUZCVFN4SlFVRkpMRVZCUVVsQkxFVkJRVTBzVFVGRGFFUXNUMEZCVDFZc1IwRkJXU3hQUVVGUFV5eERRVUZITEVOQlEycERMRU5CUVVNc1JVRkRRU3hMUVVGTExESkNRVUV5UWl4RlFVVjZReXhMUVVGUGVrUXNSMEZEUkN4TlFVVkZTQ3hGUVVGWExGVkJRVlVzU1VGQlMyRXNSMEZCVFhORExFZEJRVmtzVVVGQlVYUkRMRU5CUVVNc1EwRkJReXhGUVVOMFJGWXNSVUZCUlN4UlFVTkdRU3hGUVVGRkxFdEJRMFpCTEVWQlFVVXNTMEZEUmtFc1JVRkJSU3hQUVVOR1FTeEZRVUZGTEU5QlEwWkJMRVZCUVVVc1QwRkRSa0VzUlVGQlJTeExRVU5HUVN4RlFVRkZMRTlCUTBaQkxFVkJRVVVzVDBGRFJrRXNSVUZCUlN4TFFVTkdRU3hGUVVGRkxGTkJRMFpCTEVWQlFVVXNTMEZEUmtFc1JVRkJSU3hSUVVOT0xFVkJRMG9zVFVGQlVVRXNSMEZEUml4VFFVRlBRU3hGUVVGRkxFdEJRVkVzVFVGQlNVRXNSVUZCUlN4WFFVRlpRU3hGUVVGRkxHRkJRV05CTEVWQlFVVXNaVUZCWlN4RlFVRkZMRXRCUVVzc1JVRkJSeXhEUVVGRE1rUXNSVUZCUzBNc1NVRkJZeXhEUVVOb1J5eEpRVUZKUXl4RlFVRlRSaXhGUVVOaUxGRkJRVk5ITEV0QlFWRkdMRVZCUTJJc1QwRkJVVVVzUlVGQlN5eExRVUZOTEVOQlEyWXNTVUZCU3l4TlFVTkVSQ3hGUVVGVFlpeEhRVUZaTEUxQlFVMWhMRVZCUVZGaUxFZEJRVmtzVVVGQlVXTXNSVUZCU3l4SlFVRkpMRU5CUVVNc1JVRkRha1VzVFVGRFNpeEpRVUZMTEZGQlEwUkVMRVZCUVZOaUxFZEJRVmtzVFVGQlRXRXNSVUZCVVVNc1JVRkJTeXhKUVVGSkxFVkJRelZETEUxQlEwb3NTVUZCU3l4WFFVTkVSQ3hGUVVGVFlpeEhRVUZaTEV0QlFVdGhMRVZCUVZGRExFVkJRVXNzUzBGQlN5eEZRVU0xUXl4TFFVTlNMRU5CUjBvc1QwRkJUMFFzUTBGRFdDeERRVUZETEVWQlEwd3NVVUZCVlRkRUxFZEJRVkVzVTBGQlV5eFRRVUZQTEVkQlFVY3NSVUZCUjBFc1JVRkJSU3hOUVVGUExFTkJRVU5HTEVWQlFVZHBSU3hKUVVGVlppeEhRVUZaTEU5QlFVOWxMRU5CUVVzc1EwRkJReXhGUVVGRkxFdEJRVXNzWlVGQlpTeEZRVU01Unl4UFFVRlRMMFFzUjBGQlRVRXNSVUZCUlN4WFFVRlhMRXRCUVU4c1pVRkJZU3hGUVVGRkxFdEJRVThzVTBGQlR5eEhRVUZITEVWQlFVc3NVMEZCVHl4SFFVRkhMRU5CUVVNc1JVRkRia1lzVDBGQlUwRXNSMEZEU0N4VFFVTkZTQ3hGUVVGWExGZEJRMDRzVFVGQlVTeFRRVUZQTEVkQlFVY3NSVUZCUlN4TFFVRlBMR1ZCUVdFc1EwRkJReXhGUVVONlF5eExRVUZQTEZOQlFVOHNSMEZCUnl4RlFVRkZMRXRCUVU4c1pVRkJZU3hGUVVGTExGTkJRVThzUjBGQlJ5eEZRVUZGTEV0QlFVOHNaVUZCWVN4RFFVRkRMRVZCUTJoR0xGTkJRVThzU1VGQlNTeEZRVUZGTEV0QlFVOHNaVUZCWVN4RlFVTnVRMGNzUlVGQlJTeFhRVU5HTEVOQlFVTm5SU3hGUVVGUFF5eEZRVUZUVml4TFFVTk9MRU5CUVVVc1MwRkJUU3hUUVVGVkxGVkJRVmRUTEVWQlFVOHNUVUZCUVZRc1EwRkJUU3hGUVVWNlJDeEZRVVZLTEZkQlFXRjJSQ3hIUVVGUkxGTkJRVk1zVTBGQlR5eEhRVUZITEVWQlFVZElMRVZCUVZjc1YwRkJXU3hEUVVGRFF5eEZRVUZIYjBVc1MwRkJWU3hEUVVGRkxFdEJRVTBzVFVGQlR5eExRVUZCUVN4RFFVRkxMRVZCUVVVc1JVRkRkRWNzWVVGQlpXeEZMRWRCUTFRc1UwRkRTU3hUUVVGUExFZEJRVWNzUlVGRFZpeG5Ra0ZEUmtFc1JVRkJSU3hYUVVOQkxHZENRVU5CTEZOQlFVOHNSMEZCUnl4RlFVTmFMRU5CUVVOR0xFVkJRVWR4UlN4RlFVRkpSQ3hGUVVGTlJTeEZRVUZKUXl4TFFVTlFMRU5CUVVVc1MwRkJUU3hSUVVGVExFdEJRVUZJTEVOQlFVc3NSVUZGY2tNc1JVRkRTaXhuUWtGQmEwSnNSU3hIUVVOYUxGTkJRMGtzVTBGQlR5eEhRVUZITEVWQlExWXNaMEpCUTBaQkxFVkJRVVVzVjBGQlZ5eE5RVUZSTEZOQlFVOHNSMEZCUnl4RlFVRkZMRXRCUVU4c1pVRkJZU3hEUVVGRExFVkJRM0JFTEdkQ1FVTkJMRk5CUVU4c1IwRkJSeXhGUVVOYUxFTkJRVU5HTEVWQlFVZDNSU3hGUVVGSlF5eEZRVUZQU2l4RlFVRkpReXhMUVVOU0xFTkJRVVVzUzBGQlRTeFhRVUZaTEUxQlFVRkhMRU5CUVUwc1JVRkZla01zUlVGSFNpeGhRVUZsZGtVc1IwRkJUWGRGTEVkQlFXMUNlRVVzUlVGQlJTeE5RVUZQU0N4RlFVRlhMR0ZCUVdOdFJDeEhRVUZaTEZGQlFWRXNSVUZET1VZc1owSkJRV3RDYUVRc1IwRkJUWGRGTEVkQlFXMUNlRVVzUlVGQlJTeGhRVUZqU0N4RlFVRlhMR2RDUVVGcFFtMUVMRWRCUVZrc1VVRkJVU3hGUVVNelJ5eGpRVUZuUW1oRUxFZEJRVTEzUlN4SFFVRnRRbmhGTEVWQlFVVXNaMEpCUVdsQ1NDeEZRVUZYTEdkQ1FVRnBRbTFFTEVkQlFWa3NVVUZCVVN4RlFVTTFSeXhqUVVGblFtaEVMRWRCUTFwM1JTeEhRVUZ0UW5oRkxFVkJRVVVzWTBGQlpVZ3NSVUZCVnl4WlFVRlpMRWRCUVVkQkxFVkJRVmNzVlVGQlZTeEZRVUZIYlVRc1IwRkJXU3hSUVVGUkxFVkJRemxITEZOQlFWZG9SQ3hIUVVGTlFTeEZRVUZGTEdOQlJXNUNMRmRCUVdGQkxFZEJRVTFCTEVWQlFVVXNVVUZEZWtJc1EwRkJReXhGUVdkRFdYbEZMRWRCUVZVc2FVSkJRVGhDTEVOQlEycEVMRk5CUVZjelJTeEhRVUZOUkN4RlFVRlhMRWxCUVVrc1NVRkJTekJFTEVsQlFWY3NRMEZCUlN4TFFVRk5MRk5CUVZVc1RVRkJRVUVzUTBGQlRTeEZRVUZGTEVWQlF6RkZMRkZCUVZWNlJDeEhRVUZOYlVRc1IwRkJaU3hMUVVGTmNFUXNSVUZCVnl4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU5ETEVWQlFVYzBSU3hEUVVGRkxFdEJRVThzUTBGQlJTeExRVUZOTEV0QlFVMHNUVUZCVDBFc1EwRkJSeXhGUVVGRkxFVkJRM0JITEZWQlFWazFSU3hIUVVOT0xGTkJRVThzUjBGQlJ5eEZRVU5RTEV0QlFVdEVMRVZCUVZjc1ZVRkJWU3hGUVVNeFFpeEpRVUZMTUVRc1NVRkJWeXhEUVVGRkxFdEJRVTBzVVVGQlV5eE5RVUZQUVN4RFFVRk5MRVZCUVVVc1JVRkZla1FzVlVGQldYcEVMRWRCUTFKdFJDeEhRVUZwUWl4VFFVRlBMRk5CUVZNc1JVRkJSU3hMUVVGTExGTkJRVk1zUlVGQlIzQkVMRVZCUVZjc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZET0VVc1JVRkJUVU1zUTBGQlNTeExRVUZQTEVOQlF6RkdMRXRCUVUwc1QwRkRUaXhOUVVGUFFTeEZRVU5RTEUxQlFVOUVMRVZCUVVzc1dVRkJXU3hKUVVGTkxFOUJRMnhETEVWQlFVVXNSVUZGVGl4alFVRm5Rak5GTEVkQlExcHBSQ3hIUVVGcFFpeFRRVUZQTEhGQ1FVRnhRaXhGUVVGRkxFdEJRVXNzVlVGQlZTeEZRVUZIYWtRc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXlSU3hGUVVGTlJTeERRVUZSTEV0QlFVOHNRMEZEYWtjc1MwRkJUU3haUVVOT0xGTkJRVUZCTEVWQlEwRXNWVUZCVjBZc1JVRkJTeXhaUVVGWkxFbEJRVTBzVjBGRGRFTXNSVUZCUlN4RlFVTk9MR0ZCUVdVelJTeEhRVU5ZYVVRc1IwRkJhVUlzVTBGQlR5eHJRa0ZCYTBJc1JVRkJSU3hMUVVGTExGTkJRVk1zUlVGQlIycEVMRVZCUVVVc1MwRkJTeXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETWtVc1JVRkJUVWNzUTBGQlR5eExRVUZQTEVOQlF6VkdMRXRCUVUwc1YwRkRUaXhSUVVGQlFTeEZRVU5CTEZWQlFWZElMRVZCUVVzc1dVRkJXU3hKUVVGTkxGTkJRM1JETEVWQlFVVXNSVUZEVGl4clFrRkJiMEkzUlN4SFFVTm9Ra1FzUlVGQlZ5eExRVUZMTEVsQlFVdHJSaXhKUVVGVkxFTkJRek5DTEV0QlFVMHNVMEZEVGl4UFFVRlJMRU5CUVVVc1MwRkJUU3hQUVVGUkxFMUJRVTlCTEVOQlFVc3NSVUZEY0VNc1ZVRkJWeXhWUVVObUxFVkJRVVVzUlVGRFRpeFpRVUZqTDBVc1IwRkRWbWxFTEVkQlFXbENMRk5CUVU4c0swSkJRU3RDTEVWQlFVVXNTMEZCU3l4WFFVRlhMRVZCUVVkcVJDeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRekpGTEVWQlFVMUxMRU5CUVUwc1MwRkJUeXhEUVVNeFJ5eExRVUZOTEZOQlEwNHNUMEZCUVVFc1JVRkRRU3hWUVVOSlRDeEZRVUZMTEZsQlFWa3NSMEZCU3l4VlFVRlpMRmRCUVdGQkxFVkJRVXNzV1VGQldTeEhRVUZMTEdGQlFXVXNWMEZCWVN4TlFVTjZSeXhGUVVGRkxFVkJRMDRzV1VGQll6ZEZMRWRCUTFadFJDeEhRVUZwUWl4VFFVRlBMRk5CUVZNc1JVRkJSU3hMUVVGTExGRkJRVkVzUlVGQlIzQkVMRVZCUVZjc1YwRkJWeXhIUVVGSFFTeEZRVUZYTEUxQlFVMHNRMEZCUXl4RlFVRkZMRWxCUXpWR0xFTkJRVU1zUTBGQlEzRkVMRVZCUVU5akxFTkJRVXNzUzBGQlR5eERRVU5xUWl4TFFVRk5MRkZCUTA0c1RVRkJUMEVzUTBGRFdDeEZRVU5LTEVWQlEwb3NjMEpCUVhkQ2FFVXNSMEZEY0VKcFJDeEhRVUZwUWl4VFFVRlBMRTlCUVU4c1JVRkJSU3hMUVVGTExFMUJRVTBzUlVGQlIwWXNSMEZCVnl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU5xUkN4RlFVRkhiMFVzUTBGQlNTeExRVUZQTEVOQlEzUkdMRXRCUVUwc1lVRkRUaXhYUVVGWlFTeERRVU5vUWl4RlFVRkZMRVZCUTA0c2JVSkJRWEZDYkVVc1IwRkJUU3RETEVkQlFWY3NZMEZCWXl4SlFVRkxiVUlzU1VGQlZTeERRVUZGTEV0QlFVMHNZVUZCWXl4WFFVRlpRU3hEUVVGTExFVkJRVVVzUlVGRk5VY3NXVUZCWTJ4RkxFZEJRVTFCTEVWQlFVVXNUVUZCVFN4TFFVRlBMR1ZCUVdFc1JVRkJSU3hMUVVGUExGTkJRVThzUjBGQlJ5eEZRVUZMTEZOQlFVOHNSMEZCUnl4RFFVRkRMRVZCUTI1R0xGbEJRV05CTEVkQlExSXNVMEZCVHl4SFFVRkhMRVZCUTFBc1MwRkJUeXhsUVVGaExFVkJRM0JDTEV0QlFVdEJMRVZCUVVVc1UwRkJVeXhGUVVOb1FpeEpRVUZMZFVRc1NVRkJWeXhEUVVOaUxFdEJRVTBzVFVGRFRpeFJRVUZUUVN4RFFVTmlMRVZCUVVVc1JVRkRWaXhWUVVGWmRrUXNSMEZEVGl4TlFVTkZRU3hGUVVGRkxGbEJRMFpCTEVWQlFVVXNXVUZEUmtFc1JVRkJSU3hyUWtGRFJrRXNSVUZCUlN4VFFVTkdRU3hGUVVGRkxGVkJRMFpCTEVWQlFVVXNVVUZEUmtFc1JVRkJSU3haUVVOR1FTeEZRVUZGTEdGQlEwWkJMRVZCUVVVc1kwRkRSa0VzUlVGQlJTeFpRVU5HUVN4RlFVRkZMRlZCUTBaQkxFVkJRVVVzYzBKQlJVWkJMRVZCUVVVc2EwSkJRMDRzUlVGRFNpeFZRVUZaUVN4SFFVTlNkMFVzUjBGQmJVSjRSU3hGUVVGRkxGVkJRVmRJTEVWQlFWY3NXVUZCWVN4RFFVRkRiMFlzUlVGQlRVTXNSVUZCUzBNc1MwRkJWeXhEUVVNelJTeExRVUZOTEUxQlEwNHNVMEZCVlN4RFFVRkRSaXhGUVVGTlJTeERRVUZMTEVOQlF6RkNMRVZCUVVVc1JVRkRUaXhUUVVGWGJrWXNSMEZEVUhkRkxFZEJRVzFDZUVVc1JVRkJSU3hWUVVGWFNDeEZRVUZYTEZkQlFWa3NRMEZCUTI5R0xFVkJRVTFETEVWQlFVdERMRXRCUVZjc1EwRkRNVVVzUzBGQlRTeExRVU5PTEZOQlFWVXNRMEZCUTBZc1JVRkJUVVVzUTBGQlN5eERRVU14UWl4RlFVRkZMRVZCUTA0c1RVRkJVVzVHTEVkQlFVMUJMRVZCUVVVc1UwRkJVeXhMUVVGUExHVkJRV0VzUTBGRGFrUXNRMEZCUXl4RlFXVk5MRk5CUVZOdlJpeEhRVU5hUXl4RlFVTkJReXhGUVVOQlF5eEZRVU5YTEVOQlExZ3NUMEZCVXl4VFFVRlBSaXhGUVVGVExFMUJRVTBzWjBKQlFXVkRMRVZCUVU4c1owSkJRV1ZFTEVOQlFVc3NSVUZCUlN4TFFVRkxMRVZCUVVjc1EwRkJRMGNzUlVGQlQwTXNTVUZCVXl4RFFVTm9SeXhIUVVGSlFTeEZRVUZMTEZGQlFWVXNSVUZCUnl4UFFVRlBSQ3hGUVVVM1FpeEpRVUZKUlN4RlFVRlBTQ3hGUVVGUlF5eEZRVUZQUXl4RlFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVWRCTEVWQlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVOb1JDeFJRVUZUUlN4RlFVRlJMRVZCUVVkQkxFVkJRVkZHTEVWQlFVc3NUMEZCVVVVc1NVRkRja05FTEVWQlFVOUlMRVZCUVZGSExFVkJRVTFFTEVWQlFVdEZMRU5CUVVzc1JVRkJSU3hEUVVGRExFVkJRVWRHTEVWQlFVdEZMRU5CUVVzc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGRmRrUXNUMEZCVDBRc1EwRkRXQ3hEUVVGRExFTkJRMHdzUTBGTFR5eFRRVUZUUlN4SFFVRnJRa01zUlVGQmFVTkRMRVZCUVRCRExFTkJRM3BITEVsQlFVMURMRVZCUVZjc1QwRkJUMFlzUjBGQlV5eFRRVUZoTEZOQlFVOUJMRU5CUVVrc1JVRkJTVUVzUlVGRE4wUXNUMEZCVXl4VFFVTk1SU3hGUVVGVExFdEJRVThzWlVGQllTeEZRVU0zUWtRc1JVRkJTeXhMUVVGUExHVkJRV0VzUlVGQlJTeExRVUZQTEZOQlFVOHNSMEZCUnl4RlFVRkxMRk5CUVU4c1IwRkJSeXhEUVVGRExFVkJRelZFTEVOQlFVTkZMRVZCUVVkRExFbEJRVTBzUTBGQlEwUXNSVUZCUjBNc1EwRkJReXhEUVVOdVFpeERRVU5LTEVOQlIwOHNVMEZCVTBNc1IwRkJXVU1zUzBGQmMwSkRMRVZCUVN0RExFTkJRemRHTEU5QlFWTXNVMEZCVHl4RFFVRkRReXhGUVVGVlF5eEpRVU5vUWl4RFFVRkRReXhGUVVGUExFbEJRVTBzUTBGRGFrSXNTVUZCU1VNc1JVRkJWVXdzUlVGQllTeEZRVUZGU1N4RlFVRlBMRU5CUVVNc1JVRkRja01zUjBGQlNTeERRVUZEUXl4RlFVRlBMRTlCUVZFc1QwRkJUMEVzUlVGRk0wSXNVVUZCVTFnc1MwRkJVVThzUlVGQlR5eERRVU53UWl4SlFVRkpTeXhGUVVGUldpeEZRVUZMVnl4RlFVRlBMRXRCUVZVc1JVRkJWU3hGUVVGRlJDeEZRVUZQUXl4RlFVRlBMRXRCUVVzc1JVRkRha1VzUjBGQlNTeERRVUZEUXl4RlFVRkxMRTlCUVZFc1QwRkJUMFFzUlVGRmVrSkJMRVZCUVZORExFTkJRMklzUTBGRlFTeFBRVUZQUkN4RFFVTllMRU5CUTBnc1EwRkRUQ3hEU3pWd1FrRXNTVUZCUVVVc1IwRkJiVUlzVTBOSVdpeFRRVUZUUXl4SFFVRnpRa01zUlVGQk1rSkRMRVZCUVhORExFTkJRMjVITEVsQlFVMURMRVZCUVRSQ0xFTkJRVU1zUlVGRGJrTXNUMEZCVnl4RFFVRkRReXhGUVVGTFF5eERRVUZMTEVsQlFVc3NUMEZCVHl4UlFVRlJTaXhEUVVGTkxFVkJRelZEUlN4RlFVRlBReXhEUVVGSExFVkJRVWxHTEVWQlFVdEhMRU5CUVVzc1JVRkhOVUlzVDBGQlQwWXNRMEZEV0N4RFExTlBMRWxCUVZWSExFOUJRVllzUTBGRFZVRXNSVUZCUVN4blFrRkJaMFJETEVkQlFWVkJMRVZCUjJoRkxGTkJRVk5ETEVWQlFVdERMRVZCUVN0Q0xFTkJRMmhFTEVsQlFVMURMRVZCUVZWRExFZEJRVk1zVlVGQlZVWXNRMEZCVHl4RlFVTXhReXhIUVVGSkxFTkJRVU5ETEVWQlFWTXNUMEZCVHl4TFFVVnlRaXhQUVVGUlFTeEhRVUZCTEZsQlFVRkJMRVZCUVZNc1MwRkJUU3hEUVVOdVFpeEpRVUZMTEZGQlEwUXNUMEZCVDBFc1JVRkJVU3hOUVVGTkxFbEJRVWxLTEVWQlFXVXNTVUZCU1N4RlFVTm9SQ3hKUVVGTExGTkJRMFFzVDBGQlQwMHNSMEZCWjBKR0xFVkJRVkVzVFVGQlQwb3NSVUZCWlN4SlFVRkpMRVZCUXpkRUxFbEJRVXNzVDBGRFJDeE5RVUZQTEVOQlFVVXNUMEZCVVN4UFFVRlJMRTFCUVU5SkxFVkJRVkVzVFVGQlRTeE5RVUZOTEVOQlFVVXNZVUZCWXl4SFFVRk5MR05CUVdVc1JVRkJTeXhEUVVGRExFTkJRVVVzUlVGRGNrY3NTVUZCU3l4UFFVTkVMRTFCUVU4c1EwRkJSU3hQUVVGUkxFOUJRVkVzVFVGQlQwRXNSVUZCVVN4TlFVRk5MRk5CUVZNc1EwRkJSU3hGUVVNM1JDeEpRVUZMTEZkQlEwUXNUVUZCVHl4RFFVRkZMRTlCUVZFc1YwRkJXU3hOUVVGUFFTeEZRVUZSTEUxQlFVMHNUVUZCVFN4RFFVRkZMRVZCUXpsRUxFbEJRVXNzVlVGRFRDeEpRVUZMTEZOQlEwd3NTVUZCU3l4VFFVTkVMRTlCUVU5QkxFVkJRVkVzVFVGRGJrSXNTVUZCU3l4WFFVTk1MRWxCUVVzc1QwRkRSQ3hQUVVGUExFbEJRMllzUTBGRFNpeERRWFpDVDBvc1JVRkJVeXhMUVVGQlJTeEZRVGhDVkN4VFFVRlRTeXhGUVVGTlRDeEZRVUZ0UWswc1JVRkJNRU5TTEVWQlFVRXNaMEpCUVRCQ0xFTkJRM3BITEVkQlFVbEZMRWRCUVZNc1MwRkJORUlzVDBGQlR5eExRVVZvUkN4SFFVRkpMRTFCUVUwc1VVRkJVVUVzUTBGQlNTeEZRVU5zUWl4UFFVRlBUU3hGUVVGWFRpeEZRVUZMTEVsQlFVdEVMRWRCUVZWRUxFVkJRV1VzVFVGQlRVTXNSVUZCVDA4c1EwRkJWU3hEUVVGRExFTkJRVU1zUlVGRE0wVXNSMEZCU1N4UFFVRlBUaXhIUVVGVExGTkJRVlVzUTBGRGFrTXNSMEZCU1N4RlFVRkZMRmRCUVZsQkxFZEJRMlFzVDBGQlQwa3NSMEZCWjBKS0xFVkJRVTlQTEVkQlFVMVVMRVZCUVdVc1RVRkJUVk1zUlVGQmEwSkVMRU5CUVZVc1EwRkJReXhGUVVVeFJpeEpRVUZOUlN4RlFVRlBVaXhGUVVGTExFOUJRMnhDTEU5QlFWRlJMRVZCUVUwc1EwRkRWaXhKUVVGTExFOUJRMFFzVDBGQlQwWXNSVUZCVjBjc1JVRkJVeXhSUVVGUlZDeEZRVUZMTEV0QlFVc3NRMEZCUXl4RlFVTnNSQ3hKUVVGTExGZEJRMFFzVDBGQlQwMHNSVUZCVjBrc1JVRkJVeXhSUVVGUlZpeEZRVUZMTEV0QlFVc3NRMEZCUXl4RlFVTnNSQ3hKUVVGTExFOUJRMFFzVDBGQlQwMHNSVUZCVjBzc1IwRkJTeXhYUVVGWFdDeEZRVUZMTEV0QlFVc3NRMEZCUXl4RlFVTnFSQ3hSUVVOSkxFMUJRVTBzU1VGQlNTeE5RVUZOTEdsRFFVRnBRMUVzUTBGQlNTeEpRVUZKTEVOQlEycEZMRU5CUTBvc1EwRkhRU3hQUVVGUFJpeEZRVUZYVGl4RFFVRmxMRU5CUTNKRExFTkJlRUpQUml4RlFVRlRMRTFCUVVGUExFbEJiRU5JVUN4UlFVRkJMRXRHYzBSV0xGTkJRVk5qTEVkQlFXZENReXhGUVVGeFF5eERRVU5xUlN4UFFVRlBMRTlCUVU4c1QwRkJUeXhEUVVGRExFVkJRVWRCTEVWQlFVOHNRMEZCUlN4TlFVRlBReXhIUVVGbExFdEJRVXRFTEVWQlFVMHNTMEZCU3l4RFFVRkZMRU5CUVVNc1EwRkRMMFVzUTBGVlR5eFRRVUZUUlN4SFFVTmFReXhGUVVOQlF5eEZRVU15UWl4RFFVTXpRaXhQUVVGSkxFMUJRVTBzVVVGQlVVUXNRMEZCU3l4RlFVTmFRU3hGUVVGTkxFbEJRVXRGTEVkQlFVMUlMRWRCUVdOSExFVkJRVWRFTEVOQlFVMHNRMEZCUXl4RlFVYzNReXhEUVVOSUxFbEJRVXRFTEVWQlFVMHNTVUZEV0N4SlFVRkxRU3hGUVVGTkxFMUJRMWdzVFVGQlQwY3NSMEZCYVVKSUxFVkJRVTBzUzBGQlN5eEZRVU51UXl4VFFVRlZMRU5CUTA0c1MwRkJUVU1zUlVGRFRpeE5RVUZQUkN4RlFVRk5MRTFCUTJJc1YwRkJXVUVzUlVGQlRTeFhRVU5zUWl4SlFVRkxRU3hGUVVGTkxFZEJRMllzUlVGRFFTeFRRVUZWUVN4RlFVRk5MRkZCUTNCQ0xFTkJRMG9zUTBGSFR5eEpRVUZOU1N4SFFVRXdSQ3hQUVVGUExFOUJRVThzUTBGRGFrWXNTVUZCU3l4SlFVTk1MRWxCUVVzc1IwRkRWQ3hEUVVGRExFVkJUVVFzVTBGQlUwTXNSMEZEVEVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRLME1zUTBGREwwTXNTVUZCU1VNc1JVRkJWU3hGUVVOV1F5eEZRVUZWTEVkQlEyUXNVVUZCVTBNc1JVRkJVVXdzUlVGQlQwc3NSVUZCVVU0c1JVRkJTeXhQUVVGUlRTeEpRVUZUTEVOQlEyeEVMRWxCUVVsRExFVkJRVTlRTEVWQlFVc3NUMEZCVDAwc1EwRkJTeXhGUVVjMVFpeEhRVUZKUXl4SFFVRlJMRXRCUVUwc1EwRkRaRVlzUlVGQlZTeERRVUZEUVN4RlFVTllMRkZCUTBvc1EwRkhRU3hIUVVGSlFTeEZRVUZUTEVOQlExUkJMRVZCUVZVc1IwRkRWaXhSUVVOS0xFTkJUVUVzUjBGS1NVVXNSMEZCVVV3c1JVRkJUVVVzU1VGRFZFY3NSMEZCVVVvc1IwRkJUME1zU1VGSGNFSkJMRVZCUVZVc1JVRkJSeXhOUVVGUExFTkJRVVVzVFVGQlQwb3NSVUZCU3l4VlFVRlZReXhGUVVGUFN5eERRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkhMRk5CUVZWQkxFVkJRVkVzUTBGQlJTeEZRVVV4UmtRc1JVRkJWU3hGUVVOa0xFTkJSMG9zUTBGSFFTeFRRVUZUUnl4SFFVRmpVaXhGUVVGalF5eEZRVUZuUlN4RFFVTnFSeXhKUVVGSlVTeEZRVUZOVkN4RlFVRkxMRkZCUVZFc1MwRkJUVU1zUTBGQlN5eEZRVU5zUXl4SFFVRkpMRVZCUVVGUkxFVkJRVTBzUjBGRlZpeE5RVUZQTEVOQlFVVXNTVUZCUzFRc1JVRkJTeXhWUVVGVlF5eEZRVUZQVVN4RFFVRkhMRVZCUVVVc1MwRkJTeXhGUVVGSExGZEJRVmxCTEVWQlFVMHNRMEZCUlN4RFFVTjZSU3hEUVVkQkxGTkJRVk5ETEVkQlFYZENWaXhGUVVGalF5eEZRVUUyUXl4RFFVTjRSaXhKUVVGSlF5eEZRVUZQUml4RlFVRkxMRTlCUVU5RExFTkJRVXNzUlVGRmVFSlZMRVZCUVUxSUxFZEJRV05TTEVWQlFVMURMRVZCUVZFc1EwRkJReXhGUVVOMlF5eEhRVUZKVlN4SlFVRlJMRTlCUVZjc1QwRkhka0lzVVVGQlUwWXNTMEZCVHl4UFFVRlBMRXRCUVV0WUxFVkJRWEZDTEVWQlFVVXNUMEZCVHl4UFFVRlBMRTlCUVU5QkxFVkJRWEZDTEVOQlFVTXNSVUZETVVZc1IwRkJTV0VzUlVGQlNTeEpRVUZKTEZOQlFWTkdMRU5CUVVjc1JVRkJSeXhQUVVjdlFpeEpRVUZKUnl4RlFVRlJZaXhIUVVGWlF5eEZRVUZOVnl4RlFVRkpMRmRCUVZsVUxFVkJRVTFLTEVkQlFYTkNTU3hEUVVGSkxFTkJRVU1zUlVGREwwVXNSMEZCU1ZVc1NVRkJWU3hQUVVWa0xFMUJRVThzUTBGRFNDeEpRVUZMUkN4RlFVRkpMRWxCUTFRc1RVRkJUME1zUlVGQlRTeE5RVU5pTEUxQlFVOVlMRVZCUTFBc1YwRkJXVlVzUlVGQlNTeFhRVU5vUWl4SlFVRkxReXhGUVVGTkxGTkJRMWdzVTBGQlZWWXNRMEZEWkN4RFFVTktMRU5CUjA4c1UwRkJVMHdzUjBGQmFVSmxMRVZCUVhkQ0xFTkJSM0pFTEVkQlFVbEJMRVZCUVUwc1MwRkJTeXhIUVVGTExFZEJRVWtzVDBGQlR5eExRVXN2UWl4SlFVRkpReXhGUVVGVFF5eEZRVUZYTEZsQlFWa3NUVUZCVFVZc1EwRkJTeXhGUVVNdlF5eFBRVUZKUXl4RlFVRlBMRTlCUVdWQkxFVkJRVThzVFVGRGNrSkVMRU5CUTJoQ0xFTkJVVThzVTBGQlUwY3NSMEZCYjBKbUxFVkJRV05uUWl4RlFVRTJRaXhIUVVFeVFpeERRVU4wUnl4SlFVRkpReXhGUVVFMlFpeERRVUZETEVWQlEyeERMRkZCUVZORExFdEJRVmNzVDBGQlR5eExRVUZMY0VJc1JVRkJjVUlzUlVGQlJ5eERRVU53UkN4SlFVRkpjVUlzUlVGQllXNUNMRVZCUVVzc1VVRkJVV3RDTEVOQlFVOHNSVUZEY2tNc1MwRkJUME1zUjBGQll5eEhRVUZITEVOQlEzQkNMRWxCUVVsRExFVkJRV05XTEVkQlFYZENWaXhGUVVGTmJVSXNRMEZCVlN4RlFVTXhSQ3hIUVVGSkxFTkJRVU5ETEVWQlFXRXNRMEZEWkVRc1JVRkJZVzVDTEVWQlFVc3NVVUZCVVd0Q0xFVkJRVk5ETEVWQlFXRXNRMEZCUXl4RlFVTnFSQ3hSUVVOS0xFTkJSVUZHTEVWQlFVOHNTMEZCUzBjc1EwRkJWeXhGUVVOMlFrUXNSVUZCWVc1Q0xFVkJRVXNzVVVGQlVXdENMRVZCUVZORkxFVkJRVmtzUjBGQlJ5eERRVU4wUkN4RFFVTktMRU5CUlVsS0xFbEJRVzFDUXl4RlFVRlRRU3hGUVVGUExFOUJRVTlKTEVkQlFYbENja0lzUTBGQlNTeERRVUZETEVkQlJUVkZhVUlzUlVGQlR5eExRVUZMTEVOQlFVTkxMRVZCUVVkRExFbEJRVTFFTEVWQlFVVXNUVUZCVVVNc1JVRkJSU3hMUVVGTExFVkJSWFpETEVsQlFVbERMRVZCUVhGRExFTkJRVU1zUlVGRE1VTXNVVUZCVTBNc1JVRkJTU3hGUVVGSFFTeEZRVUZKVWl4RlFVRlBMRTlCUVZGUkxFdEJRek5DUVN4SFFVRkxMRWRCUVV0RUxFVkJRV1ZCTEVWQlFXVXNUMEZCVXl4RFFVRkRMRVZCUVVVc1NVRkJUVkFzUlVGQlQxRXNRMEZCUXl4RlFVRkZMRkZCUTNCRlJDeEZRVUZsTEV0QlFVdFFMRVZCUVU5UkxFTkJRVU1zUTBGQlF5eEZRVWR5UXl4UFFVRlBSQ3hEUVVOWUxFTkJSMEVzU1VGQlRVVXNSMEZCZVVNc1QwRkRla01zVlVGQlR5eEpRVUZKTEU5QlFVOURMRWRCUVZjc1JVRkJSeXhIUVVGSExFTkJRVU1zUlVGRGNFTXNWVUZCVHl3d1FrRkJNRUlzUTBGRGRrTXNSVUZEU3l4TFFVRkxMRVZCUTB3c1NVRkJTME1zUjBGQlZVRXNSVUZCVFN4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVVMVFrTXNSMEZCTWtNc1ZVRkJUeXh6UWtGQmMwSXNSVUZEZWtVc1MwRkJTMGdzUlVGQmEwSXNSVUZEZGtJc1MwRkJUeXhWUVVGUExGZEJRVmNzUTBGQlF5eEZRVWQ0UWl4VFFVRlRTU3hIUVVGeFFrTXNSVUZCTkVNc1EwRkROMFVzU1VGQlNYUkNMRVZCUVUxRUxFZEJRV04xUWl4RlFVRk5MRU5CUVVNc1JVRkRMMElzUjBGQlNTeERRVUZEZEVJc1JVRkJTeXhQUVVsV0xFbEJRVWwxUWl4RlFVRlZTQ3hIUVVGeFFpeE5RVUZOY0VJc1JVRkJTU3hIUVVGSExFVkJRMmhFTEVkQlFVdDFRaXhGUVVGUkxFOUJSV0lzVFVGQlR5eERRVU5JTEVsQlFVdEJMRVZCUVZFc1RVRkRZaXhOUVVGUFJDeEZRVUZMTEZWQlFWVjBRaXhGUVVGSkxGVkJRVlVzUlVGQlJTeExRVUZMTEVWQlF6TkRMRTFCUVU4c1JVRkRVQ3hYUVVGWlFTeEZRVUZKTEZkQlEyaENMRWxCUVV0elFpeEZRVUZMTEUxQlEyUXNRMEZEU2l4RFFVVlBMRWxCUVUxRkxFZEJRWEZDTEd0RFFVTnlRa01zUjBGQmFVSXNiMFZCUTJwQ1F5eEhRVUZyUWl4clEwRkRiRUpETEVkQlFYVkNMRFJEUVVOMlFrTXNSMEZCYlVJc2JVTkJSVzVDUXl4SFFVRm5RaXhEUVVONlFpeERRVUZGTEUxQlFVOU1MRWRCUVc5Q0xFbEJRVXNzVTBGQlZTeEZRVU0xUXl4RFFVRkZMRTFCUVU5SkxFZEJRV3RDTEVsQlFVc3NUMEZCVVN4RlFVTjRReXhEUVVGRkxFMUJRVTlFTEVkQlFYTkNMRWxCUVVzc1YwRkJXU3hGUVVOb1JDeERRVUZGTEUxQlFVOUdMRWRCUVdkQ0xFbEJRVXNzUzBGQlRTeEZRVU53UXl4RFFVRkZMRTFCUVU5RExFZEJRV2xDTEVsQlFVc3NXVUZCWVN4RFFVTm9SQ3hGUVVkQkxGTkJRVk5rTEVkQlFYbENja0lzUlVGQmEwTXNRMEZEYUVVc1NVRkJTWFZETEVWQlFUaENMRU5CUVVNc1JVRkZia01zVDBGQlV5eERRVUZGTEUxQlFVRkRMRVZCUVU4c1NVRkJRVGRDTEVOQlFVa3NTVUZCU3pKQ0xFZEJRV1VzUTBGRGRFTXNTVUZCVFVjc1JVRkJVVVFzUlVGQlRTeExRVUZMZUVNc1EwRkJTU3hGUVVONFFubERMRWRCUlV4R0xFVkJRVkVzUzBGQlN5eERRVU5VTEVsQlFVRTFRaXhGUVVOQkxFMUJRVTg0UWl4RlFVRk5MRU5CUVVNc1JVRkRaQ3hOUVVGUFFTeEZRVUZOTEUxQlEySXNWMEZCV1VFc1JVRkJUU3hOUVVGUkxFVkJRekZDTEVsQlFVdEJMRVZCUVUwc1RVRkJVVUVzUlVGQlRTeERRVUZETEVWQlFVVXNUMEZETlVJc1UwRkJWU3hwUWtGRFpDeERRVUZETEVOQlEwd3NRMEZGUVN4UFFVRlBSaXhEUVVOWUxFTkhlbEpQTEVsQlFWVkhMRTlCUVZZc1EwRkZTU3hUUVVGVFF5eEZRVUZMUXl4RlFVRTJRaXhEUVVNNVF5eEpRVUZOUXl4RlFVRlZReXhIUVVGVExGVkJRVlZETEVOQlFVOHNSVUZETVVNc1IwRkJTU3hEUVVGRFJpeEZRVUZUTEU5QlFVOHNTMEZGY2tJc1QwRkJVVUVzUlVGQlVTeExRVUZOTEVOQlEyeENMRWxCUVVzc1UwRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFBRVU5NTEVsQlFVc3NVMEZEUkN4UFFVRlBRU3hGUVVGUkxFMUJRMjVDTEVsQlFVc3NVVUZEUkN4UFFVRlBRU3hGUVVGUkxFMUJRVTBzU1VGQlNVWXNRMEZCU1N4RlFVTnFReXhKUVVGTExFOUJRMFFzVDBGQlQwVXNSVUZCVVN4TlFVRk5MRTFCUVUwc1JVRkRMMElzU1VGQlN5eFhRVU5FTEU5QlFVOUJMRVZCUVZFc1RVRkJUU3hSUVVGUkxFVkJRMnBETEVsQlFVc3NWMEZEUkN4UFFVRlBMRXRCUTFnc1NVRkJTeXhQUVVORUxFOUJRVTlCTEVWQlFWRXNUVUZCVFN4VFFVRlRMRVZCUTJ4RExFbEJRVXNzVTBGRFJDeFBRVUZQUnl4SFFVRm5Ra2dzUlVGQlVTeE5RVUZQUml4RFFVRkpMRU5CUTJ4RUxFTkJRMG9zUTBGMlFrOUVMRVZCUVZNc1MwRkJRVU1zUlVFd1FsUXNVMEZCVTBrc1JVRkJVVWdzUlVGQk5rSXNRMEZEYWtRc1IwRkJTVUVzUjBGQlV5eExRVU5VTEU5QlFVOHNTMEZEU2l4SFFVRkpMRTlCUVU5QkxFZEJRVlVzVTBGRGVFSXNSMEZCU1N4TlFVRk5MRkZCUVZGQkxFTkJRVXNzUlVGQlJ5eERRVU4wUWl4SlFVRkpTeXhGUVVGVExFTkJRVU1zUlVGRFpDeFJRVUZUUXl4TFFVRlRUaXhGUVVOa1N5eEZRVUZQTEV0QlFVdEdMRVZCUVZGSExFTkJRVXNzUTBGQlF5eEZRVWM1UWl4UFFVRlBSQ3hEUVVOWUxFdEJRVThzU1VGQlNVd3NZVUZCYVVJc1MwRkZlRUlzVDBGRVowSlBMRVZCUVZNc1YwRkJWMUFzUTBGQlN5eEZRVVYwUXl4RFFVTklMRWxCUVVsUkxFVkJRVk5TTEVWQlExUkxMRVZCUVd0RExFTkJRVU1zUlVGRGRrTXNVVUZCVTBrc1MwRkJUMFFzUlVGRFdrZ3NSVUZCVDBrc1EwRkJSeXhGUVVGSlRpeEZRVUZSU3l4RlFVRlBReXhEUVVGSExFTkJRVU1zUlVGSGNrTXNUMEZCVDBvc1EwRkRXQ3hOUVVOSExFbEJRVWtzVDBGQlQwd3NSMEZCVlN4VFFVTjRRaXhQUVVGUFFTeEZRVU5LTEVkQlFVa3NUMEZCVDBFc1IwRkJWU3hWUVVONFFpeFBRVUZQUVN4RlFVTktMRWRCUVVrc1QwRkJUMEVzUjBGQlZTeFRRVUZWTEVOQlEyeERMRWxCUVVsVkxFVkJRVmxETEVWQlFWY3NTMEZCU3l4TlFVRk5XQ3hEUVVGTExFVkJRek5ETEVkQlFVbFZMRVZCUVZVc1QwRkJVU3hQUVVGUFFTeEZRVUZWTEUxQlJYWkRMRWxCUVVsRkxFVkJRV2RDUkN4RlFVRlhMRk5CUVZNc1RVRkJUVmdzUTBGQlN5eEZRVU51UkN4SFFVRkpXU3hGUVVGakxFOUJRVkVzVDBGQlQwRXNSVUZCWXl4TlFVVXZReXhKUVVGSlF5eEZRVUZaUml4RlFVRlhMRXRCUVVzc1RVRkJUVmdzUTBGQlN5eEZRVU16UXl4UFFVRkpZU3hGUVVGVkxFOUJRV1ZCTEVWQlFWVXNUVUZGYUVOaUxFTkJRMWdzUlVGSFFTeFBRVUZQTEVsQlExZ3NRMEV4UTA5R0xFVkJRVk1zVVVGQlFVc3NTVUUxUWtoTUxGRkJRVUVzUzFSamFrSXNTVUZCVFdkQ0xFZEJRV3RDTEdkQ1FVVnNRa01zUjBGQmQwSXNjMEpCUlhoQ1F5eEhRVUZyUWl4WFFVRkRMR2xGUVVGdlJDeExRVUZITEVWQlRYcEZMRk5CUVZORExFZEJRMXBETEVWQlEwRkRMRVZCUTBGRExFVkJRMEZETEVWQlEyZENMRU5CUTJoQ0xFZEJRVTBzUTBGQlJTeE5RVUZCUXl4RlFVRlBMRk5CUVZWRExFVkJRV01zV1VGQlFVTXNSVUZCWVN4VFFVRkJReXhEUVVGVExFVkJRVWxETEVkQlFYRkNVaXhGUVVGTlF5eEZRVUZWUXl4RFFVRlJMRVZCUnpsSExFOUJSbUVzU1VGQlNVOHNSMEZCVTFRc1JVRkJUVWNzUlVGQlQwTXNSVUZCVFN4UFFVRlJReXhGUVVGalJTeEZRVUZWUkN4RFFVRlhMRVZCUlRWRkxFMUJRVTBzUTBGRGRFSXNRMEZIVHl4VFFVRlRSU3hIUVVOYVVpeEZRVU5CUXl4RlFVTkJReXhGUVUxR0xFTkJOMFJHTEVsQlFVRlJMRVZCUVVGRExFVkJRVUZETEVWQlFVRkRMRVZCUVVGRExFVkJRVUZETEVWQlFVRkRMRVZCUVVGRExFVkJRVUZETEVWQlFVRkRMRVZCUVVGRExFVkJRVUZETEVWQlFVRkRMRVZCUVVGRExFVkJRVUZETEVkQlFVRkRMRWRCT0VSSkxFbEJRVTF1UWl4RlFVRm5SVW9zUjBGQlFTeE5RVUZCUVN4RlFVRlZMRmxCUXpGRmQwSXNSMEZCYzBKNFFpeEZRVUZUTEZkQlFWY3NSVUZETVVNc1QwRkRRVVVzUlVGQlVVZ3NSVUZCVXl4TlFVRk5MRmxCUVZrc1JVRkRia013UWl4RlFVRnRRaXhKUVVGSlF5eEhRVU4yUWtNc1JVRkJPRUlzUTBGQlF5eEZRVXN2UWtNc1IwRkJaWEJDTEVWQlFVRlNMRWRCUVVFc1dVRkJRVUVzUlVGQlZTeFhRVUZXTEV0QlFVRlJMRVZCUVhOQ0xFTkJRVU1zUlVGRE5VTnZRaXhGUVVGaExFdEJRVXNzUTBGQlEwTXNSVUZCUjBNc1NVRkJUVVFzUlVGQlJTeFRRVUZUTEUxQlFVMHNTMEZCVDBNc1JVRkJSU3hUUVVGVExFMUJRVTBzU1VGQlNTeEZRVVY2UlN4SlFVRk5la0lzUlVGQlZ5eEpRVUZKTEVkQlFVRXdRaXhSUVVFeVFpeFBRVUZYTEVOQlFVTkdMRVZCUVVkRExFbEJRVTFFTEVWQlFVbERMRU5CUVVNc1JVRkRNVVVzVVVGQlUwVXNSVUZCVVN4RlFVRkhRU3hGUVVGUlNpeEZRVUZoTEU5QlFWRkpMRWxCUVZNc1EwRkRkRVFzU1VGQlRVTXNSVUZCVVV3c1JVRkJZVWtzUTBGQlN5eEZRVU14UWtVc1JVRkJVVVFzUlVGQlRTeFRRVUZUTEUxQlFVMHNTMEZETjBKRkxFZEJRVTFJTEVkQlFWTktMRVZCUVdFc1QwRkJVeXhGUVVGSk1VSXNSVUZCVFN4UFFVRlRNRUlzUlVGQllVa3NSVUZCVVN4RFFVRkRMRVZCUVVVc1UwRkJVeXhOUVVGTkxFdEJSUzlHU1N4SFFVRlZMRWxCUVVsRExFZEJRVmxJTEVWQlFVOURMRWRCUVV0R0xFVkJRVTBzVVVGQlUwRXNSVUZCVFN4TlFVRlBSQ3hGUVVGUkxFTkJRVU1zUlVGRGFrWXpRaXhGUVVGVExFbEJRVWsyUWl4RlFVRlBSU3hGUVVGUExFTkJReTlDTEVOQlNVRXNSMEZCU1M5Q0xFVkJRVk1zVFVGQlVTeEhRVU5xUWl4SFFVRkpMRU5CUVVOcFF5eEhRVUZYY0VNc1JVRkJUeXhGUVVGSFFTeEZRVUZOTEUxQlFVMHNSVUZCUnl4RFFVTnlReXhKUVVGTmEwTXNSVUZCVlN4SlFVRkpReXhIUVVGWkxFVkJRVWR1UXl4RlFVRk5MRTlCUVZGeFF5eEhRVUZoZWtNc1EwRkJTU3hGUVVGSExFVkJRVWNzUTBGQlF5eEZRVU42UlU4c1JVRkJVeXhKUVVGSkxFVkJRVWNyUWl4RFFVRlBMRU5CUXpOQ0xFMUJRMGNzUTBGRlNDeEpRVUZOU1N4SFFVRlJMMElzUlVGQlFVb3NSVUZCVXl4dlFrRkJiMElzUTBGQlF5eEpRVUU1UWl4WlFVRkJTU3hGUVVGclF5eEhRVVZvUkN4SFFVRkpLMElzUlVGQlRTeE5RVUZSTEVkQlFVc3NRMEZCUTBZc1IwRkJWM0JETEVWQlFVOHNSVUZCUjNORExFVkJRVTBzUzBGQlN5eEZRVUZITEVOQlEzWkVMRWxCUVUxS0xFVkJRVlVzU1VGQlNVTXNSMEZCV1N4RlFVRkhSeXhGUVVGTkxFMUJRVTlFTEVkQlFXRjZReXhEUVVGSkxFVkJRVWNzUlVGQlJ5eERRVUZETEVWQlJYaEZUeXhGUVVGVExFbEJRVWtzUlVGQlJ5dENMRU5CUVU4c1EwRkRNMElzUTBGRFNpeERRVkZCTEVsQlFVMUxMRVZCUVZNc1NVRkJTU3hIUVVGQlZpeFJRVUY1UWl4UFFVRlhMRU5CUVVOR0xFVkJRVWRETEVsQlFVMUVMRVZCUVVsRExFTkJRVU1zUlVGRGJFVlpMRVZCUVdVc1JVRkRia0lzVVVGQlYwTXNTMEZCVXpORExFZEJRVUVzV1VGQlFVRXNSVUZCVlN4WFFVRlpMRU5CUVVNc1JVRkJSeXhEUVVVeFF5eEhRVUZKTWtNc1JVRkJUU3hQUVVGVExGVkJRVmNzVTBGRk9VSXNTVUZCVFZRc1JVRkJVVk1zUlVGQlRTeFRRVUZUTEUxQlFVMHNTMEZETjBKU0xFVkJRVTFSTEVWQlFVMHNVMEZCVXl4SlFVRkpMRXRCUVU4c1JVRkRhRU5ETEVkQlFWa3hReXhGUVVGTlowTXNRMEZCU3l4RlFVVTNRaXhIUVVGSlV5eEZRVUZOTEU5QlFWTXNUMEZEWmtZc1JVRkJUeXhKUVVGSlVDeEZRVUZQTEVsQlFVbFhMRWRCUVdOWUxFVkJRVTlETEVWQlFVdFBMRWxCUVdkQ1F5eEZRVUZOTEVWQlFVVXNRMEZCUXl4VlFVTnNSVUVzUlVGQlRTeE5RVUZSTEZGQlFWVnFSQ3hIUVVGblFpeExRVUZMYTBRc1JVRkJVeXhGUVVGSExFTkJRMmhGTEVsQlFVMUZMRWRCUVdVMVF5eEZRVU5vUWl4TlFVRk5aME1zUlVGQlVTeEZRVUZIUXl4RlFVRk5MRU5CUVVNc1JVRkRlRUlzUzBGQlN6dEJRVUZCTEVOQlFVa3NSVUZEVkN4UlFVRlJMRTlCUVZFc1NVRkJTU3hGUVVOdVFsa3NSMEZCT0VOMlFpeEhRVUZ6UW5kQ0xFZEJRVlZHTEVWQlFVa3NRMEZCUXl4RlFVVjZSa3dzUlVGQlR5eEpRVUZKVUN4RlFVRlBMRWxCUVVsbExFZEJRV05tTEVWQlFVOURMRVZCUVV0UExFbEJRV2RDU3l4SFFVRlBTaXhGUVVGTkxFVkJRVVVzUTBGQlF5eERRVU53Uml4VFFVRlhRU3hGUVVGTkxFOUJRVk1zVDBGQlVTeERRVVU1UWl4SlFVRk5UeXhIUVVGUlRpeEhRVUZWTEUxQlFVMXFSQ3hGUVVGeFFpeEZRVU51UkN4SFFVRkpMRU5CUVVOMVJDeEhRVVZFVkN4RlFVRlBMRWxCUVVsUUxFVkJRVThzU1VGQlNXbENMRWRCUVdOcVFpeEZRVUZQUXl4RlFVRkxUeXhKUVVGblFpeERRVUZETEVWQlFVY3NVMEZCVlZJc1JVRkJUME1zUlVGQlMxRXNSVUZCVFN4RlFVRkZMRU5CUVVNc1RVRkRhRWNzUTBGRFNDeEpRVUZOVXl4SFFVRlpSaXhIUVVGTkxFOUJRVk1zUjBGQlMwRXNSMEZCVFN4RFFVRkRMRVZCUVVsQkxFZEJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSMEZCUnl4RlFVRkpMRU5CUVVNc1JVRkRlRVZVTEVWQlFVOHNTVUZEU0ZBc1JVRkRRU3hKUVVGSmFVSXNSMEZCWTJwQ0xFVkJRVTlETEVWQlFVdFBMRWxCUVdkQ1ZTeEhRVUZYTEZOQlFWVnNRaXhGUVVGUkxFVkJRVWRETEVWQlFVMHNSVUZCUjFFc1JVRkJUU3hGUVVGRkxFTkJRMjVITEVOQlEwb3NRMEZEU2l4TlFVTkpSaXhGUVVGUExFbEJRVWxRTEVWQlFVOHNTVUZCU1cxQ0xFZEJRV051UWl4RlFVRlBReXhGUVVGTFR5eEpRVUZuUWtNc1JVRkJUU3hMUVVGTlFTeEZRVUZOTEVWQlFVVXNRMEZCUXl4RFFVVTNSaXhEUVVkQkxGRkJRVmRCTEV0QlFWTkdMRVZCUVU4c1QwRkJUeXhIUVVNNVFpOUNMRVZCUVVFMFF5eEhRVUZQV0N4RlFVRk5MRTFCUVU5MFF5eERRVUZSTEVsQlFUVkNMRTFCUVVGTExFVkJRU3RDTEUxQlFVMXBReXhIUVZGNlF5eEpRVUZOV1N4RlFVRmxMR2xEUVVObVF5eEZRVUZqTEhGQ1FVTmtReXhGUVVGWkxFbEJRVWtzUjBGQlFURkNMRkZCUVRSQ0xFOUJRVmNzUTBGQlEwWXNSVUZCUjBNc1NVRkJUVVFzUlVGQlNVTXNRMEZCUXl4RlFVVTFSU3hSUVVGWE5FSXNTMEZCVVRGRUxFZEJRVUVzV1VGQlFVRXNSVUZCVlN4WlFVRmhMRU5CUVVNc1JVRkJSeXhEUVVreFF5eEpRVUZOYTBRc1JVRklUMmhFTEVWQlFVMHNUVUZCVFhkRUxFVkJRVXNzVTBGQlV5eE5RVUZOTEV0QlFVMUJMRVZCUVVzc1UwRkJVeXhKUVVGSkxFdEJRVThzUTBGQlF5eEZRVUZGTEV0QlFVczdRVUZCUVN4RFFVRkpMRVZCUjNKRkxFMUJRVTA1UkN4RlFVRmxMRVZCUTNCREswUXNSMEZEUVVNc1IwRkRRVllzU1VGRFFWTXNSMEZCVTFRc1JVRkJUU3hEUVVGRExFVkJRMmhDVlN4SFFVRlBWaXhGUVVGTkxFTkJRVU1zUjBGSGJFSXNTVUZCVFZjc1IwRkJUeXhKUVVGSlF5eEhRVU5pU2l4RlFVRkxMRk5CUVZNc1RVRkJUU3hMUVVOd1FrRXNSVUZCU3l4VFFVRlRMRWxCUVVrc1MwRkJUeXhGUVVONlFrRXNSVUZCU3l4UFFVTk1ReXhIUVVOQlJDeEZRVUZMTEVkQlEweEJMRVZCUVVzc1MwRkRURVVzUlVGRFNpeEZRVU5CU0N4RlFVRlZMRWxCUVVsSkxFZEJRVXNzVFVGQlQwRXNSVUZCU1N4RFFVTnNReXhEUVVkQkxGRkJRVmRCTEV0QlFWRktMRVZCUVZVc1QwRkJUeXhGUVVOb1F5eEhRVUZKU1N4RlFVRkxMRmRCUVdFc1JVRkJSeXhEUVVOeVFpeEpRVUZOUlN4RlFVRlpkRUlzUlVGQlR5eEpRVUZKTEVOQlFVTnZRaXhGUVVGTExGVkJRVlVzUlVGRE4wTXNSMEZCU1N4RFFVRkRSU3hIUVVGbFFTeEZRVUZWTEU5QlFWTXNUMEZCVXl4VFFVVXZRMEVzUlVGQk5FSXNUVUZCVFN4TFFVRkxSaXhEUVVGSkxFTkJRMmhFTEUxQlEwbHNSQ3hGUVVGQk9FTXNSVUZCVlN4SlFVRkpTU3hGUVVGTExGVkJRVlVzU1VGQk4wSXNUVUZCUVd4RUxFVkJRV2RETEZOQlFWTXNTMEZCUzJ0RUxFZEJVM1JFTEZGQlFWZEhMRXRCUVZWd1JDeEZRVUZCV2l4SFFVRkJMRmxCUVVGQkxFVkJRVlVzVDBGQlZpeExRVUZCV1N4RlFVRnJRaXhEUVVGRExFVkJRVWNzUTBGRGRrTXNTVUZCVFhGRUxFVkJRVTFFTEVWQlFVOHNTVUZCU1N4WFFVRlhMRWRCUVVjc1JVRkJTVUVzUlVGQlR5eEpRVUZOTEVsQlFVMUJMRVZCUVU4c1NVRkROMFJGTEVWQlFVOUdMRVZCUVU4c1UwRkJVeXhOUVVGTkxFdEJRMjVEZGtNc1JVRkJhVUlzU1VGQlNYZERMRU5CUVVjc1IwRkZlRUp3UkN4RlFVRkJlVU1zUjBGQlQxa3NSVUZCVFRkRUxFTkJRVkVzU1VGQmNrSXNUVUZCUVZFc1JVRkJkMElzVTBGQlV5eEpRVUZKYjBRc1NVRkRja051UkN4RlFVRkJkME1zUjBGQlQxa3NSVUZCVFhwQ0xFTkJRVTBzU1VGQmJrSXNUVUZCUVROQ0xFVkJRWE5DTEZOQlFWTXNTVUZCU1cxRUxFbEJRMjVEYkVRc1JVRkJRWFZETEVkQlFVOVpMRVZCUVUxVUxFTkJRVk1zU1VGQmRFSXNUVUZCUVRGRExFVkJRWGxDTEZOQlFWTXNTVUZCU1d0RUxFVkJRekZETEVOQlIwRXNSMEZCU1dwRkxFZEJRVUVzVFVGQlFVRXNSVUZCVlN4WlFVTldMRkZCUVZkdFJTeExRVUZWUXl4SFFVRlpjRVVzUlVGQlV5eFhRVUZYTEVWQlFVY3NRMEZEY0VRc1NVRkJUV2xGTEVWQlFVMUZMRVZCUVU4c1YwRkJWeXhIUVVGSExFVkJRVWxCTEVWQlFWTXNTVUZCVFVFc1JVRkRjRVF4UXl4RlFVRnBRaXhKUVVGSmQwTXNRMEZCUnl4RFFVTTFRaXhEUVU5S0xGRkJRVk5KTEV0QlFWZHlSQ3hGUVVGQmFFSXNSMEZCUVN4WlFVRkJRU3hGUVVGVkxGRkJRVllzUzBGQlFXZENMRVZCUVcxQ0xFTkJRVU1zUlVGQlJ5eERRVU4yUXl4SlFVRk5jMFFzUlVGQlQwTXNSMEZCU3l4TlFVRk5SaXhGUVVGUkxFbEJRVWtzUlVGRE9VSklMRVZCUVU5SExFVkJRVkVzVTBGQlV5eE5RVUZOTEV0QlEzQkROVU1zUlVGQmFVSXNTMEZCU3paRExFTkJRVWtzUjBGRk1VSnlSQ3hGUVVGQmNVTXNSMEZCVDFrc1JVRkJUVGRFTEVOQlFWRXNTVUZCY2tJc1RVRkJRVmtzUlVGQmQwSXNVMEZCVXl4TFFVRkxjVVFzU1VGRGRFTndSQ3hGUVVGQmIwTXNSMEZCVDFrc1JVRkJUWHBDTEVOQlFVMHNTVUZCYmtJc1RVRkJRWFpDTEVWQlFYTkNMRk5CUVZNc1MwRkJTMjlFTEVsQlEzQkRia1FzUlVGQlFXMURMRWRCUVU5WkxFVkJRVTFVTEVOQlFWTXNTVUZCZEVJc1RVRkJRWFJETEVWQlFYbENMRk5CUVZNc1MwRkJTMjFFTEVWQlF6TkRMRU5CVDBFc1VVRkJWMFFzUzBGQlYycEVMRVZCUVVGd1FpeEhRVUZCTEZsQlFVRkJMRVZCUVZVc2JVSkJRVllzUzBGQlFXOUNMRVZCUVRoQ0xFTkJRVU1zUlVGRGFrUkxMRVZCUVdsQ0xFdEJRVXM0UXl4SFFVRkxMRTFCUVUxR0xFVkJRVkVzUzBGQlRTeEhRVUZQUVN4RlFVRlJMRmRCUVZjc1EwRkJReXhGUVU4NVJTeFJRVUZYUnl4TFFVRlRReXhIUVVGdlFuWkZMRU5CUVVzc1JVRkJSeXhEUVVNMVF5eEpRVUZOWjBVc1JVRkJUMDBzUlVGQlRTeFRRVUZUTEV0QlF6VkNMME1zUlVGQmFVSXNXVUZCV1N0RExFTkJRVXNzUjBGRmJFTnVSQ3hGUVVGQmFVTXNSMEZCVDFrc1JVRkJUVGRFTEVOQlFWRXNTVUZCY2tJc1RVRkJRV2RDTEVWQlFYZENMRk5CUVZNc1dVRkJXVzFFTEVsQlF6ZERiRVFzUjBGQlFXZERMRWRCUVU5WkxFVkJRVTE2UWl4RFFVRk5MRWxCUVc1Q0xFMUJRVUZ1UWl4SFFVRnpRaXhUUVVGVExGbEJRVmxyUkN4SlFVTXpRMnBFTEVkQlFVRXJRaXhIUVVGUFdTeEZRVUZOVkN4RFFVRlRMRWxCUVhSQ0xFMUJRVUZzUXl4SFFVRjVRaXhUUVVGVExGbEJRVmxwUkN4RlFVTnNSQ3hEUVVOQkxFOUJRVUUzUXl4RlFVRmhMRXRCUVVzc1IwRkJSM1JDTEVWQlFWTXNUMEZCVHl4RFFVRkRMRVZCUXk5Q0xFTkJRMGdzVFVGQlFVZ3NSVUZEUVN4WlFVRkJSU3hGUVVOQkxGTkJRVlZ4UWl4RlFVTldMRk5CUVZWRkxFTkJRMlFzUTBGRFNpeERRVTFCTEZOQlFWTlhMRWRCUVZkd1F5eEZRVUZwUW1kRExFVkJRV1ZETEVWQlFYTkNMRU5CUTNSRkxGRkJRVk5JTEVWQlFWRkZMRVZCUVU5R0xFVkJRVkZITEVWQlFVdElMRWxCUTJwRExFZEJRVWs1UWl4RlFVRk5PRUlzUTBGQlN5eEZRVUZGTEV0QlFVc3NTVUZCVFN4SFFVRkpMRTFCUVU4c1IwRkhNME1zVFVGQlR5eEZRVU5ZTEVOQlRVOHNVMEZCVlhsRExFZEJRVzlDUXl4RlFVRXlReXhEUVVNMVJTeFJRVUZUUXl4RlFVRlRMRVZCUVVkQkxFVkJRVk5FTEVWQlFWRXNUMEZCVVVNc1NVRkJWU3hEUVVOd1JDeEpRVUZOVkN4RlFVRlBVU3hGUVVGUlF5eERRVUZOTEVWQlJ6TkNMRWRCUVVsVUxFVkJRVXNzVDBGQlV5eFBRVUZUTEVOQlFVTkJMRVZCUVVzc1UwRkJVeXhKUVVGSkxFVkJRVWNzVTBGSGFrUXNTVUZCU1ZVc1JVRkJaVU1zUjBGQmIwSllMRU5CUVVrc1JVRkRNME1zUjBGQlNWVXNSVUZCWVN4UFFVRlRMRVZCUTNSQ0xGRkJRVk5GTEV0QlFWVkdMRVZCUVdNc1RVRkJUVWNzUjBGQlkwUXNSVUZCVVVnc1EwRkJUU3hOUVVOb1JTeERRVU5JTEVsQlFVbExMRVZCUVZkRExFZEJRWEZDWml4RFFVRkpMRVZCUTNCRFl5eEpRVUZWTEUxQlFVMUVMRWRCUVdORExFVkJRVlZNTEVOQlFVMHNSVUZEZEVRc1EwRkRTaXhEUVVOS0xFTkJSMDhzVTBGQlUyNUVMRWRCUVhOQ2JVSXNSVUZCYTBVc1EwRkRjRWNzU1VGQlRYVkRMRVZCUVN0RExFTkJRVU1zUlVGRGRFUXNVVUZCVjBNc1MwRkJUeXhQUVVGUExFdEJRVXQ0UXl4RFFVRkxMRVZCUVVjc1EwRkRiRU1zU1VGQlRYbERMRVZCUVZGNlF5eEZRVUZOZDBNc1EwRkJSeXhGUVVWMlFrUXNSVUZCVDBNc1JVRkJTU3haUVVGWkxFTkJRVU1zUlVGQlNTeERRVU40UWl4SlFVRkxRU3hGUVVOTUxFMUJRVTlGTEVkQlFXVXNTMEZCUzBNc1IwRkJaU3hSUVVGUlJpeERRVUZMTEVOQlFVTXNSVUZEZUVRc1NVRkJTMEVzUTBGRFZDeERRVU5LTEVOQlJVRXNUMEZCVDBZc1EwRkRXQ3hEUVVkUExGTkJRVk0xUWl4SFFVRnBSRmtzUlVGQlkzRkNMRVZCUVhWRExFTkJNMVIwU0N4SlFVRkJMMFVzUlVFMFZFa3NTVUZCVFdkR0xFZEJRVk5vUml4RlFVRkJLMFVzUlVGQlN5eHRRa0ZCYlVKeVFpeERRVUZKTEVsQlFUVkNMRmxCUVVFeFJDeEZRVUZuUXl4SFFVTXZReXhIUVVGSlowWXNSMEZCVlVFc1JVRkJUeXhMUVVGUGRFSXNSVUZCVFN4UFFVRlBjMElzUTBGSE4wTXNRMEZIVHl4VFFVRlRjRUlzUjBGQldYQkZMRVZCUVhORExFTkJSemxFTEU5QlJtTXNUMEZCVHl4TFFVRkxRU3hEUVVGUkxFVkJRVVVzVDBGQlVTeEhRVUZOTEVWQlFVVXNXVUZCV1N4SFFVRkxMRkZCUVZVc1JVRkJSU3haUVVGWkxFZEJRVXNzUzBGQlN5eEZRVWRzUnl4SlFVRkxlVVlzUjBGQlRVTXNSMEZCTWtJeFJpeEZRVUZUZVVZc1EwRkJReXhGUVVGSExGRkJRVkVzUTBGQlF5eEZRVU0xUkN4UFFVRlBMRU5CUVVORkxFVkJRVWRETEVsQlFVMUVMRVZCUVVVc1QwRkJUME1zUTBGQlF5eEZRVUZITEVOQlFVTXNRMEZCUXl4RlFVTm9ReXhKUVVGTFF5eEhRVUZUUVN4RlFVRkpMRmRCUVZjc1IwRkJSeXhGUVVGSlFTeEZRVUZOTEVsQlFVMUJMRU5CUVVrc1EwRkROMFFzUTBGSFR5eFRRVUZUU0N4SFFVRXlRa2tzUlVGQlYwTXNSVUZCYzBJc1EwRkRlRVVzVDBGQlNVUXNSMEZCVVN4TlFVRlJRU3hIUVVGUkxFdEJRV3RDTEVOQlFVTXNSVUZETTBNc1RVRkJUU3hSUVVGUlFTeERRVUZKTEVWQlExaEJMRVZCUTBZc1QwRkJVVVVzUjBGQlRTeERRVUZETEVOQlFVTkJMRU5CUVVNc1JVRkRha0lzU1VGQlMwRXNSMEZCVFU0c1IwRkJNa0pOTEVWQlFVZEVMRU5CUVVVc1EwRkJReXhGUVVNMVF5eFBRVUZQTEVOQlFVTktMRVZCUVVkRExFbEJRVTFFTEVWQlFVVXNUMEZCVDBNc1EwRkJReXhGUVVGSExFTkJRVU1zUTBGQlF5eEhRVWxxUXl4SFFVRkxSU3hIUVVOU0xFMUJRVTFETEVOQlFVVXNSVUZEVWl4UFFVRlJMRWRCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGRGFrSXNTVUZCU3l4SFFVRk5MRVZCUVVVc1MwRkJTeXhEUVVGRExFVkJRMjVDTEU5QlFWRXNSMEZCVFN4RlFVRkZMRTlCUVZNc1EwRkJReXhEUVVOdVF5eERRVTlQTEVsQlFVMXlSU3hIUVVGT0xFdEJRV1VzUTBGQlppeGpRVU5JTEV0QlFVOHNTMEZCYjBJc1NVRkJTU3hKUVVNdlFpeExRVUZQTEUxQlFXZENMRU5CUVVNc1JVRkRlRUlzUzBGQlR5eGhRVUUwUXl4RFFVRkRMRVZCUnpkRExFbEJRVWwxUXl4RlFVRmhMRU5CUTNCQ0xFdEJRVXNzUzBGQlN5eEpRVUZKUVN4RFFVRkhMRU5CUTNKQ0xFTkJSMDhzUzBGQlMwc3NSVUZCV1N4RFFVTm9RaXhMUVVGTExFMUJRVTBzUzBGQlRUSkNMRWRCUVUxQkxFVkJRVVVzVDBGQlR6TkNMRU5CUVVrc1EwRkJReXhIUVVONlF5eExRVUZMTEUxQlFVMHNTMEZCUzBFc1EwRkJTU3hEUVVONFFpeERRVWRQTEZsQlFWbEZMRVZCUVc5Q0xFTkJRMjVETEVsQlFVMHdRaXhGUVVGUk1VSXNSVUZCVFN4SlFVRkpMRmxCUVZrc1JVRkRhRU1zVDBGQlR5eExRVUZMTEV0QlFVc3NXVUZCV1N4RlFVRkZMRXRCUVUxWExFZEJRVkZCTEVWQlFVa3NXVUZCV1N4SFFVRkxaU3hEUVVGTExFbEJSVE5GTEV0QlFVc3NZVUZCWVVFc1EwRkJTeXhGUVVGSk1VSXNSVUZETDBJc1EwRkhUeXhaUVVGMVFpeERRVU14UWl4UFFVRlBMRTFCUVUwc1MwRkJTeXhMUVVGTExFbEJRVWtzUTBGREwwSXNRMEZIVHl4aFFVRXdRaXhEUVVNM1FpeFBRVUZQTEV0QlFVc3NUVUZCVFN4SlFVRkxSaXhIUVVGVFFTeEZRVUZMTEZOQlFWTXNRMEZCUXl4RFFVTnVSQ3hEUVVkUExHOUNRVUZ6UkN4RFFVTjZSQ3hQUVVGUE5rSXNSMEZCWjBJc1MwRkJTeXhoUVVGalF5eEZRVUZsTEVOQlF6ZEVMRU5CUTBvc1JVRkhZVGRHTEVkQlFVNHNTMEZCWlN4RFFVTllMRmxCUTBsVUxFVkJRMEZITEVWQlEwRnZSeXhGUVVOQmNrY3NSVUZEUVVzc1JVRkRRVVFzUlVGRFZDeERRVTVUTEZWQlFVRk9MRVZCUTBFc1YwRkJRVWNzUlVGRFFTeFpRVUZCYjBjc1JVRkRRU3hqUVVGQmNrY3NSVUZEUVN4alFVRkJTeXhGUVVOQkxHbENRVUZCUkN4RFFVTlNMRU5CUlVrc1QwRkJNRUlzUTBGRE4wSXNUVUZCVHl4RFFVTklMRTFCUVU4c1MwRkJTeXhMUVVOYUxFOUJRVkVzUzBGQlN5eE5RVUZOTEUxQlEyNUNMRTlCUVZFc1MwRkJTeXhOUVVGTkxFMUJRMjVDTEUxQlFVOHNTMEZCU3l4TlFVRk5MRXRCUTJ4Q0xGZEJRVmxyUnl4SFFVRmhMRXRCUVVzc1NVRkJTU3hGUVVOc1F5eFZRVUZYTEVOQlFVVXNUVUZCVHl4RlFVRkhMRWxCUVVzc1MwRkJTeXhOUVVGUExFVkJRM2hETEUxQlFVOHNTMEZCU3l4VFFVRlRMRmRCUVZjc1JVRkRhRU1zVDBGQlVTeExRVUZMTEZOQlFWTXNXVUZCV1N4RlFVTnNReXhWUVVGWExFdEJRVXNzVTBGQlV5eHRRa0ZCYlVJc1JVRkROVU1zVlVGQlZ5eExRVUZMTEZOQlFWTXNTVUZCUzBNc1IwRkJUVUVzUlVGQlJTeE5RVUZOTEVOQlFVTXNSVUZETjBNc1lVRkJZeXhMUVVGTExGZEJRM1pDTEVOQlEwb3NRMEZEU2l4RlFVZGhiRVVzUjBGQlRpeExRVUZyUWl4RFFVbGtMRmxCUTBsSUxFVkJRMEZETEVWQlEwRnhSU3hGUVVOQlF5eEZRVU5CUXl4RlFVTlVMRU5CVEZNc1YwRkJRWGhGTEVWQlEwRXNVMEZCUVVNc1JVRkRRU3hYUVVGQmNVVXNSVUZEUVN4WFFVRkJReXhGUVVOQkxHRkJRVUZETEVWQlVsZ3NTMEZCVHl4UFFVRnpRaXhEUVVGRExFVkJRemxDTEV0QlFVOHNVMEZCY1VJc1NVRkJTV2hHTEVWQlVUZENMRU5CUlVrc1RVRkJUV2xDTEVWQlFXdENMRU5CUXpOQ0xFdEJRVXNzVDBGQlR5eExRVUZMUVN4RFFVRkxMRU5CUXpGQ0xFTkJSVThzVDBGQk5rSXNRMEZEYUVNc1RVRkJUeXhEUVVOSUxFOUJRVkVzUzBGQlN5eE5RVU5pTEZOQlFWVXNTMEZCU3l4UlFVTm1MRTlCUVZFc1MwRkJTeXhOUVVOaUxFMUJRVThzUzBGQlN5eFRRVUZUTEZkQlFWY3NSVUZEYUVNc1ZVRkJWeXhMUVVGTExGTkJRVk1zYlVKQlFXMUNMRVZCUXpWRExFOUJRVkVzUzBGQlN5eFRRVUZUTEZsQlFWa3NSVUZEYkVNc1ZVRkJWeXhEUVVGRkxFMUJRVThzUzBGQlN5eE5RVUZQTEVsQlFVc3NTMEZCU3l4SFFVRkpMRVZCUXpsRExGRkJRVk1zUzBGQlN5eFBRVUZQTEVsQlFVdEJMRWRCUVZWQkxFVkJRVTBzVFVGQlRTeERRVUZETEVOQlEzSkVMRU5CUTBvc1EwRkRTaXhGUVVkaFJTeEhRVUZPTEV0QlFXOUNMRU5CUzJoQ0xGbEJRVzFDV0N4RlFVRnpRa01zUlVGQmIwSjFSU3hGUVVGM1FrTXNSVUZCYTBJc1EwRkJjRVlzVjBGQlFYcEZMRVZCUVhOQ0xGTkJRVUZETEVWQlFXOUNMR0ZCUVVGMVJTeEZRVUYzUWl4aFFVRkJReXhGUVVvMVJpeExRVUZQTEV0QlFXVXNUMEZEZEVJc1MwRkJUeXhUUVVGeFFpeEpRVUZKYWtZc1IwRkRhRU1zUzBGQlR5eE5RVUYzUWl4RFFVRkRMRU5CUlN0RkxFTkJSWGhITEU5QlFTdENMRU5CUTJ4RExFMUJRVThzUTBGRFNDeFRRVUZWTEV0QlFVc3NVVUZEWml4VlFVRlhMRU5CUVVVc1RVRkJUeXhMUVVGTExFMUJRVThzU1VGQlN5eExRVUZMTEVkQlFVa3NSVUZET1VNc1ZVRkJWeXhMUVVGTExGTkJRVk1zYlVKQlFXMUNMRVZCUXpWRExFMUJRVThzUzBGQlN5eFRRVUZUTEZkQlFWY3NSVUZEYUVNc1QwRkJVU3hMUVVGTExGTkJRVk1zV1VGQldTeEZRVU5zUXl4TlFVRlBMRTlCUTFBc1UwRkJWU3hMUVVGTExGRkJRMllzVlVGQlZ5eExRVUZMTEUxQlFVMHNTVUZCUzIxRExFZEJRVk5CTEVWQlFVc3NUVUZCVFN4RFFVRkRMRU5CUTNCRUxFTkJRMG9zUTBGRFNpeEZRVWRoVml4SFFVRk9MRXRCUVc5Q0xFTkJTV2hDTEZsQlEwbHFRaXhGUVVOQlF5eEZRVU5CZFVVc1JVRkRRWFJFTEVWQlEwRjNSQ3hGUVVOQlF5eEZRVU5CUXl4RlFVTkJTQ3hGUVVOVUxFTkJVbE1zVjBGQlFYcEZMRVZCUTBFc1UwRkJRVU1zUlVGRFFTeGhRVUZCZFVVc1JVRkRRU3hsUVVGQmRFUXNSVUZEUVN4WFFVRkJkMFFzUlVGRFFTeHJRa0ZCUVVNc1JVRkRRU3huUWtGQlFVTXNSVUZEUVN4aFFVRkJTQ3hGUVZoWUxFdEJRVThzUzBGQlpTeFpRVU4wUWl4TFFVRlBMRk5CUVhGQ0xFbEJRVWxxUml4RlFWYzNRaXhEUVVWSkxFOUJRU3RDTEVOQlEyeERMRTFCUVU4c1EwRkRTQ3hOUVVGUExGbEJRMUFzVTBGQlZTeExRVUZMTEZGQlEyWXNWVUZCVnl4RFFVRkZMRTFCUVU4c1MwRkJTeXhOUVVGUExFbEJRVXNzUzBGQlN5eEhRVUZKTEVWQlF6bERMRlZCUVZjc1MwRkJTeXhUUVVGVExHMUNRVUZ0UWl4RlFVTTFReXhOUVVGUExFdEJRVXNzVTBGQlV5eFhRVUZYTEVWQlEyaERMRTlCUVZFc1MwRkJTeXhUUVVGVExGbEJRVmtzUlVGRGJFTXNVMEZCVlN4TFFVRkxMRkZCUTJZc1YwRkJXU3hMUVVGTExGVkJRMnBDTEU5QlFWRXNTMEZCU3l4TlFVTmlMR2xDUVVGclFpeERRVUZGTEUxQlFVOHNTMEZCU3l4aFFVRmpMRWxCUVVzc1MwRkJTeXhWUVVGWExFTkJRM1pGTEVOQlEwb3NRMEZEU2l4RlFVZGhkVUlzUjBGQlRpeExRVUZ2UWl4RFFVbG9RaXhaUVVOSlppeEZRVU5CUXl4RlFVTkJkVVVzUlVGRFFWb3NSVUZEUVdFc1JVRkRWQ3hEUVV4VExGZEJRVUY2UlN4RlFVTkJMRk5CUVVGRExFVkJRMEVzWVVGQlFYVkZMRVZCUTBFc1ZVRkJRVm9zUlVGRFFTeGhRVUZCWVN4RlFWSllMRXRCUVU4c1MwRkJaU3haUVVOMFFpeExRVUZQTEZOQlFYRkNMRWxCUVVscVJpeEZRVkUzUWl4RFFVVkpMRTlCUVN0Q0xFTkJRMnhETEUxQlFVOHNRMEZEU0N4TlFVRlBMRmxCUTFBc1UwRkJWU3hMUVVGTExGRkJRMllzVlVGQlZ5eERRVUZGTEUxQlFVOHNTMEZCU3l4TlFVRlBMRWxCUVVzc1MwRkJTeXhIUVVGSkxFVkJRemxETEZWQlFWY3NTMEZCU3l4VFFVRlRMRzFDUVVGdFFpeEZRVU0xUXl4TlFVRlBMRXRCUVVzc1UwRkJVeXhYUVVGWExFVkJRMmhETEU5QlFWRXNTMEZCU3l4VFFVRlRMRmxCUVZrc1JVRkRiRU1zVTBGQlZTeExRVUZMTEZGQlEyWXNUVUZCVHl4TFFVRkxMRWxCUTJoQ0xFTkJRMG9zUTBGRFNpeEZRVWRoTWtJc1IwRkJUaXhMUVVGdlFpeERRVWRvUWl4WlFVTkpia0lzUlVGRFFVTXNSVUZEUVhWRkxFVkJRMEZMTEVWQlEwRktMRVZCUTFRc1EwRk1VeXhYUVVGQmVrVXNSVUZEUVN4VFFVRkJReXhGUVVOQkxHRkJRVUYxUlN4RlFVTkJMRlZCUVVGTExFVkJRMEVzWVVGQlFVb3NSVUZRV0N4TFFVRlBMRk5CUVhGQ0xFbEJRVWxxUml4RlFWRTNRaXhEUVVWSkxFOUJRVEpDTEVOQlF6bENMRTFCUVU4c1EwRkRTQ3hOUVVGUExFdEJRVXNzUzBGRFdpeFRRVUZWTEV0QlFVc3NVVUZEWml4VlFVRlhMRU5CUVVVc1RVRkJUeXhMUVVGTExFMUJRVThzU1VGQlN5eExRVUZMTEVkQlFVa3NSVUZET1VNc1ZVRkJWeXhMUVVGTExGTkJRVk1zYlVKQlFXMUNMRVZCUXpWRExFMUJRVThzUzBGQlN5eFRRVUZUTEZkQlFWY3NSVUZEYUVNc1QwRkJVU3hMUVVGTExGTkJRVk1zV1VGQldTeEZRVU5zUXl4VFFVRlZMRXRCUVVzc1QwRkRia0lzUTBGRFNpeERRVU5LTEVWQlMyRnZReXhIUVVGT0xFdEJRVzFDTEVOQlIyWXNXVUZEU1RWQ0xFVkJRMEZETEVWQlEwRTJSU3hGUVVOQmNrUXNSVUZEUVdkRUxFVkJRMEZOTEVWQlEwRnlSQ3hGUVVOVUxFTkJVRk1zVjBGQlFURkNMRVZCUTBFc1UwRkJRVU1zUlVGRFFTeG5Ra0ZCUVRaRkxFVkJRMEVzV1VGQlFYSkVMRVZCUTBFc1lVRkJRV2RFTEVWQlEwRXNXVUZCUVUwc1JVRkRRU3hWUVVGQmNrUXNSVUZVV0N4TFFVRlBMRk5CUVhGQ0xFbEJRVWxzUXl4SFFVTm9ReXhMUVVGUExGTkJRVEpDTEVOQlFVTXNRMEZUYUVNc1EwRkZTU3hQUVVFNFFpeERRVU5xUXl4TlFVRlBMRU5CUTBnc1dVRkJZU3hMUVVGTExGZEJRMnhDTEZWQlFWY3NRMEZCUlN4TlFVRlBMRXRCUVVzc1RVRkJUeXhKUVVGTExFdEJRVXNzUjBGQlNTeEZRVU01UXl4VFFVRlZMRXRCUVVzc1VVRkRaaXhWUVVGWExFdEJRVXNzVTBGQlV5eEpRVUZMZDBZc1IwRkJXVUVzUlVGQlVTeE5RVUZOTEVOQlFVTXNSVUZEZWtRc1RVRkJUeXhMUVVGTExFOUJRVk1zVDBGQlV5eFBRVU01UWl4VlFVRlhMRXRCUVVzc1UwRkJVeXh0UWtGQmJVSXNSVUZETlVNc1RVRkJUeXhMUVVGTExGTkJRVk1zVjBGQlZ5eEZRVU5vUXl4UFFVRlJMRXRCUVVzc1UwRkJVeXhaUVVGWkxFVkJRMnhETEZGQlFWTXNTMEZCU3l4UFFVTmtMRkZCUVZNc1MwRkJTeXhQUVVOa0xFMUJRVThzUzBGQlN5eEpRVU5vUWl4RFFVTktMRU5CUTBvc1JWVXZha0pQTEZOQlFWTkRMRWRCUTFwRExFVkJRMEZETEVWQlEwRkRMRVZCUTBGRExFVkJRMVVzUTBGeVFtUXNTVUZCUVVNc1JVRnpRa2tzU1VGQlRVTXNSVUZCVXl4SlFVRkpReXhIUVVGWFRpeEZRVUZOUnl4RFFVRkxMRVZCUTI1RFNTeEZRVUZUTEV0QlFVc3NUVUZCVFU0c1EwRkJUU3hGUVVWb1F5eFJRVUZYVHl4TFFVRkxSQ3hGUVVGUExFMUJRMjVDTEVkQlFVbERMRVZCUVVVc1RVRkJVU3hSUVVOa0xFZEJRVWxCTEVWQlFVVXNUVUZCVVN4UFFVRlJMRU5CUTJ4Q0xFZEJRVTBzUTBGQlJTeFpRVUZCUXl4RlFVRmhMRk5CUVVGRExFVkJRVlVzVFVGQlFVTXNSVUZCVHl4VFFVRkJReXhEUVVGVExFVkJRVWxETEVkQlFYRkNZaXhGUVVGTlVTeEZRVUZGTEV0QlFVMU9MRWRCUVVFc1dVRkJRVUVzUlVGQlR5eFBRVUZQVFN4RlFVRkZMRWRCUVVjc1JVRkRia2ROTEVWQlFVOHNTVUZCU1VNc1IwRkJaV1lzUlVGQlRWRXNSVUZCUlN4SFFVRkpRU3hGUVVGSFF5eERRVUZYTEVWQlF6RkVSeXhGUVVGVExGRkJRVk5KTEVkQlFVMUdMRVZCUVVzc1VVRkJVVVVzUTBGQlF5eERRVUZETEVWQlEzWkRXQ3hGUVVGUExFdEJRVXRUTEVOQlFVa3NSVUZEYUVJc1VVRkJWMGNzUzBGQlQxQXNSVUZCVXl4TFFVRk5UQ3hGUVVGUExGTkJRVk1zU1VGQlNWa3NRMEZCUnl4RlFVTjRSQ3hSUVVGWFF5eExRVUZSWkN4RlFVRkJUU3hGUVVGVExGRkJRVlFzUzBGQlFVNHNSVUZCYTBJc1EwRkJReXhGUVVGSFF5eEZRVUZQTEZOQlFWTXNTMEZCUzJFc1EwRkJTU3hGUVVOc1JTeFJRVUZYUXl4TFFVRlRReXhIUVVGdlFsUXNRMEZCU3l4RlFVRkhUaXhGUVVGUExGTkJRVk1zV1VGQldXTXNRMEZCU3l4RFFVTnlSaXhMUVVGUExFTkJRMGdzU1VGQlRVd3NSVUZCVHl4SlFVRkpReXhIUVVGbFppeEZRVUZOVVN4RlFVRkZMRWRCUVVsQkxFTkJRVU1zUlVGRE4wTklMRVZCUVU4c1MwRkJTMU1zUTBGQlNTeERRVU53UWl4RFFVZEtMRTlCUVU5VUxFVkJRVThzVFVGQlRTeERRVU40UWl4RFFVZEJMRWxCUVdWblFpeEhRVUZtTEV0QlFYTkRMRU5CUnpOQ0xGbEJRMGx5UWl4RlFVTkJjMElzUlVGRFIwTXNSVUZEV2l4RFFVaFRMRlZCUVVGMlFpeEZRVU5CTEZGQlFVRnpRaXhGUVVOSExHTkJRVUZETEVWQlRHUXNTMEZCVHl4VFFVRnhRaXhKUVVGSlF5eEZRVTAzUWl4RFFVVkpMRTlCUVRSQ0xFTkJReTlDTEUxQlFVOHNRMEZEU0N4TlFVRlBMRXRCUVVzc1MwRkRXaXhKUVVGTExFdEJRVXNzUjBGRFZpeFZRVUZYTEVOQlExQXNSVUZCUnl4TFFVRkxMRk5CUVZNc1JVRkRha0lzUlVGQlJ5eExRVUZMTEZOQlFWTXNRMEZEY2tJc1JVRkRRU3haUVVGaExFTkJRMVFzVFVGQlR5eExRVUZMTEZOQlFWTXNUVUZEY2tJc1QwRkJVU3hMUVVGTExGTkJRVk1zVFVGRE1VSXNSVUZEUVN4UFFVRlJMRXRCUVVzc1UwRkJVeXhOUVVOMFFpeE5RVUZQUXl4SFFVRkxMRXRCUVVzc1MwRkJTeXhKUVVGSkxFVkJRVVVzVlVGQlZTeExRVUZMTEVWQlFVVXNSVUZCUlN4VFFVRlRMRU5CUXpWRUxFTkJRMG9zUTBGRFNpeEZRVWRoVml4SFFVRk9MR05CUVRaQ1RTeEZRVUYxUWl4RFFVVm9SQ3haUVVOSmNrSXNSVUZEUVhOQ0xFVkJRMGRETEVWQlEwaGtMRVZCUTFRc1EwRkRSU3hOUVVGTlZDeEZRVUZOYzBJc1JVRkJTVU1zUTBGQlVTeEZRVXhxUWl4VlFVRkJka0lzUlVGRFFTeFJRVUZCYzBJc1JVRkRSeXhqUVVGQlF5eEZRVU5JTEdsQ1FVRkJaQ3hGUVV4WUxFdEJRVThzVTBGQk1FSXNRMEZCUXl4RFFWRnNReXhEUVVWUExGRkJRVkZwUWl4RlFVRnRReXhEUVVNNVF5eFpRVUZMTEZOQlFWTXNTMEZCUzBFc1EwRkJUeXhGUVVOdVFrRXNRMEZEV0N4RFFVVlBMRTlCUVhkQ0xFTkJRek5DTEU5QlFWRXNTMEZCU3l4VFFVRlRMRXRCUVUwc1EwRkRlRUlzU1VGQlN5eFBRVU5FTEU5QlFVOURMRWRCUVVGRExFVkJRVUVzUjBGRFF5eE5RVUZOTEUxQlFVMHNSMEZFWWl4RFFVVklMRlZCUVZjc1MwRkJTeXhUUVVGVExHMUNRVUZ0UWl4RlFVTTFReXhoUVVGakxFdEJRVXNzV1VGRGJrSXNWVUZCVnl4TFFVRkxMRk5CUVZNc1NVRkJTME1zUjBGQlRVRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1JVRkROME1zVFVGQlR5eExRVUZMTEZOQlFWTXNWMEZCVnl4RlFVTm9ReXhQUVVGUkxFdEJRVXNzVTBGQlV5eFpRVUZaTEVWQlEyeERMRTFCUVU4c1dVRkRVQ3hQUVVGUkxFdEJRVXNzVTBGQlV5eExRVU14UWl4SFFVTktMRWxCUVVzc1QwRkRSQ3hQUVVGUFJpeEhRVUZCUXl4RlFVRkJMRWRCUTBFc1RVRkJUU3hOUVVGTkxFZEJSRm9zUTBGRlNDeFpRVUZoTEV0QlFVc3NVMEZCVXl4SlFVTXZRaXhIUVVOS0xFbEJRVXNzVDBGRFJDeFBRVUZQUkN4SFFVRkJReXhGUVVGQkxFZEJRMEVzVFVGQlRTeE5RVUZOTEVkQlJGb3NRMEZGU0N4TFFVRk5MRXRCUVVzc1UwRkJVeXhIUVVONFFpeEZRVVZTTEVOQlEwb3NRMEZEU2l4RlFVZGhkRUlzUjBGQlRpeExRVUZwUWl4RFFVbGlMRmxCUVcxQ1RpeEZRVUZ4UWtjc1JVRkJhMElzUTBGQmRrTXNWVUZCUVVnc1JVRkJjVUlzVjBGQlFVY3NSVUZJTDBNc1MwRkJUeXhOUVVFd1FpeERRVUZETEVWQlEyeERMRXRCUVU4c1UwRkJjVUlzU1VGQlNYRkNMRVZCUld0RExFTkJSVE5FTEV0QlFVdE5MRVZCUVcxRExFTkJRek5ETEZsQlFVc3NUVUZCVFN4TFFVRkxRU3hEUVVGRExFVkJRMVpCTEVOQlExZ3NRMEZGVHl4UFFVRnZRaXhEUVVOMlFpeE5RVUZQTEVOQlEwZ3NUMEZCVVN4TFFVRkxMRTFCUVUwc1NVRkJTMFFzUjBGQlRVRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1JVRkRka01zVDBGQlVTeExRVUZMTEUxQlFVMHNUVUZEYmtJc1QwRkJVU3hMUVVGTExFMUJRVTBzVFVGRGJrSXNWVUZCVnl4TFFVRkxMRk5CUVZNc2JVSkJRVzFDTEVWQlF6VkRMRTlCUVZFc1MwRkJTeXhUUVVGVExGbEJRVmtzUlVGRGJFTXNUVUZCVHl4TFFVRkxMRk5CUVZNc1YwRkJWeXhGUVVOb1F5eE5RVUZQTEV0QlFVc3NTMEZEV2l4TlFVRlBMRXRCUVVzc1RVRkJUU3hKUVVOMFFpeERRVU5LTEVOQlEwb3NSVU40U1VFc1ZVRkJXU3hOUVVGUFJTeEhRVUZWTEVOQlEzcENMRWRCUVVrc1EwRkRRU3hKUVVGTlF5eEZRVUZWUkN4RlFVRk5MRXRCUlhSQ0xFZEJRVWxETEVWQlFWRXNUMEZCVXl4WFFVRlpMRU5CUXpkQ0xFbEJRVTFETEVWQlFWZERMRWRCUVdWR0xFVkJRVkVzUzBGQlRVRXNSVUZCVVN4VFFVRlZRU3hGUVVGUkxGTkJRVlZCTEVWQlFWRXNTVUZCU1N4RlFVVTVSaXhaUVVGWkxFTkJRMUlzUzBGQlRTeFhRVU5PTEU5QlFWRkRMRU5CUTFvc1EwRkJlVUlzUTBGRE4wSXNVMEZCVjBRc1JVRkJVU3hQUVVGVExGTkJRVlVzUTBGRGJFTXNTVUZCVFVjc1JVRkJVME1zUjBGQllVb3NSVUZCVVN4TFFVRk5RU3hGUVVGUkxGTkJRVlZCTEVWQlFWRXNUVUZCVDBFc1JVRkJVU3hKUVVGSkxFVkJSWFpHTEZsQlFWa3NRMEZEVWl4TFFVRk5MRk5CUTA0c1QwRkJVVWNzUTBGRFdpeERRVUYxUWl4RFFVTXpRaXhOUVVOSkxGbEJRVmtzUTBGQlJTeFBRVUZSTERSQ1FVRTJRaXhEUVVGRExFTkJSVFZFTEU5QlFWTkZMRVZCUVU4c1EwRkRXaXhSUVVGUkxFMUJRVTBzYjBOQlFXOURUaXhGUVVGTkxFdEJRVXNzU1VGQlNTeExRVUZMVFN4RFFVRkxMRVZCUVVVc1JVRkROMFVzV1VGQldTeERRVUZGTEU5QlFWRkJMRVZCUVUwc1QwRkJVU3hEUVVGRExFTkJRM3BETEVOQlEwb2lMQW9nSUNKdVlXMWxjeUk2SUZzaWNtVnhkV2x5WlY5d1lYSnphVzF0YjI1ZmRXMWtYMjFwYmlJc0lDSmZYMk52YlcxdmJrcFRUV2x1SWl3Z0ltVjRjRzl5ZEhNaUxDQWliVzlrZFd4bElpd2dJblFpTENBaWNpSXNJQ0psSWl3Z0luVWlMQ0FpYmlJc0lDSnZJaXdnSW1raUxDQWlaaUlzSUNKaklpd2dJbk1pTENBaWJDSXNJQ0o0SWl3Z0ltSWlMQ0FpYUNJc0lDSndJaXdnSW1RaUxDQWlkaUlzSUNKbklpd2dJbTBpTENBaWVTSXNJQ0pGSWl3Z0luY2lMQ0FpUWlJc0lDSmhJaXdnSW1vaUxDQWlVeUlzSUNKZklpd2dJa3dpTENBaVR5SXNJQ0pySWl3Z0lsQWlMQ0FpY1NJc0lDSkJJaXdnSWtraUxDQWlSaUlzSUNKTklpd2dJbm9pTENBaVVpSXNJQ0pWSWl3Z0lsY2lMQ0FpUkNJc0lDSk9JaXdnSWtjaUxDQWlReUlzSUNKS0lpd2dJbFFpTENBaVdTSXNJQ0pXSWl3Z0lrZ2lMQ0FpV0NJc0lDSkxJaXdnSWxFaUxDQWlXaUlzSUNJa0lpd2dJbTV1SWl3Z0luUnVJaXdnSW5KdUlpd2dJbUZ1SWl3Z0ltVnVJaXdnSW5WdUlpd2dJbTl1SWl3Z0ltWnVJaXdnSW1OdUlpd2dJbk51SWl3Z0lteHVJaXdnSW1odUlpd2dJbkJ1SWl3Z0ltUnVJaXdnSW5adUlpd2dJbWR1SWl3Z0ltMXVJaXdnSW5sdUlpd2dJbkpsY1hWcGNtVmZZbDkwY21WbElpd2dJbDlmWTI5dGJXOXVTbE5OYVc0aUxDQWlaWGh3YjNKMGN5SXNJQ0pmWDJWNGRHVnVaSE1pTENBaVpYaDBaVzVrVTNSaGRHbGpjeUlzSUNKa0lpd2dJbUlpTENBaWNDSXNJQ0pmWHlJc0lDSmtaV1poZFd4MFEyOXRjR0Z5WVhSdmNpSXNJQ0poSWl3Z0luUmhJaXdnSW5SaUlpd2dJbk5wYlhCc1pVTnZiWEJoY21GMGIzSWlMQ0FpUWxSeVpXVWlMQ0FpWlc1MGNtbGxjeUlzSUNKamIyMXdZWEpsSWl3Z0ltMWhlRTV2WkdWVGFYcGxJaXdnSWtWdGNIUjVUR1ZoWmlJc0lDSmpZV3hzWW1GamF5SXNJQ0owYUdselFYSm5JaXdnSWw5MGFHbHpJaXdnSW1zaUxDQWlkaUlzSUNKcGJtbDBhV0ZzUTI5MWJuUmxjaUlzSUNKc2IzY2lMQ0FpYUdsbmFDSXNJQ0pyWlhraUxDQWlaR1ZtWVhWc2RGWmhiSFZsSWl3Z0luWmhiSFZsSWl3Z0ltOTJaWEozY21sMFpTSXNJQ0p5WlhOMWJIUWlMQ0FpUWs1dlpHVkpiblJsY201aGJDSXNJQ0pFWld4bGRHVlNZVzVuWlNJc0lDSnVkU0lzSUNKd1lXbHljeUlzSUNKclpYbHpJaXdnSW5KbGRIVnlibFJvYVhOSlpsVnVZMmhoYm1kbFpDSXNJQ0pqYUdGdVoyVmtJaXdnSW1sdVkyeDFaR1ZJYVdkb0lpd2dJbVJsYkNJc0lDSnBJaXdnSWtSbGJHVjBaU0lzSUNKMGJYQWlMQ0FpYVc1cGRHbGhiRlpoYkhWbElpd2dJbWwwSWl3Z0lsSmxkWE5sWkVGeWNtRjVJaXdnSW01bGVIUWlMQ0FpYkc5M1pYTjBTMlY1SWl3Z0luSmxkWE5sWkVGeWNtRjVJaXdnSW1sdVptOGlMQ0FpYVhSbGNtRjBiM0lpTENBaWJtOWtaWEYxWlhWbElpd2dJbTV2WkdWcGJtUmxlQ0lzSUNKc1pXRm1JaXdnSW5OMFlYUmxJaXdnSW1wMWJYQWlMQ0FpYkdWMlpXd2lMQ0FpYUdsbmFHVnpkRXRsZVNJc0lDSnphMmx3U0dsbmFHVnpkQ0lzSUNKZllTSXNJQ0pqYUdWamF5SXNJQ0p1WlhoMGJtOWtaU0lzSUNKRmJYQjBlVUZ5Y21GNUlpd2dJbTkwYUdWeUlpd2dJbTl1YkhsVWFHbHpJaXdnSW05dWJIbFBkR2hsY2lJc0lDSmthV1ptWlhKbGJuUWlMQ0FpWDJOdmJYQmhjbVVpTENBaWRHaHBjME4xY25OdmNpSXNJQ0p2ZEdobGNrTjFjbk52Y2lJc0lDSjBhR2x6VTNWalkyVnpjeUlzSUNKdmRHaGxjbE4xWTJObGMzTWlMQ0FpY0hKbGRrTjFjbk52Y2s5eVpHVnlJaXdnSW1OMWNuTnZjazl5WkdWeUlpd2dJblJvYVhOTVpXRm1JaXdnSW5Sb2FYTkpiblJsY201aGJGTndhVzVsSWl3Z0luUm9hWE5NWlhabGJFbHVaR2xqWlhNaUxDQWliM1JvWlhKTVpXRm1JaXdnSW05MGFHVnlTVzUwWlhKdVlXeFRjR2x1WlNJc0lDSnZkR2hsY2t4bGRtVnNTVzVrYVdObGN5SXNJQ0oyWVd4VWFHbHpJaXdnSW5aaGJFOTBhR1Z5SWl3Z0ltOTBhR1Z5Vm1Gc0lpd2dJbXhoYzNSVWFHbHpJaXdnSW14aGMzUlBkR2hsY2lJc0lDSnViMlJsVkdocGN5SXNJQ0p1YjJSbFQzUm9aWElpTENBaVkzVnljMjl5SWl3Z0ltTjFjbk52Y2tacGJtbHphR1ZrSWl3Z0ltTnZiWEJoY21WTFpYbHpJaXdnSW1OdmJYQmhjbVZrSWl3Z0ltTmhibE4wWlhBaUxDQWliR1YyWld4SmJtUnBZMlZ6SWl3Z0ltTjFjbkpsYm5STFpYa2lMQ0FpZEhKbFpTSXNJQ0pmY205dmRDSXNJQ0pvWldsbmFIUWlMQ0FpYzNSbGNGUnZUbTlrWlNJc0lDSnBiblJsY201aGJGTndhVzVsSWl3Z0lteGxkbVZzYzB4bGJtZDBhQ0lzSUNKemNHbHVaVXhsYm1kMGFDSXNJQ0p1YjJSbFRHVjJaV3hKYm1SbGVDSXNJQ0pzWlhabGJFbHVaR1Y0VjJGc2EwSmhZMnNpTENBaWRtRnNkV1ZKYm1SbGVDSXNJQ0p1WlhoMFRHVjJaV3dpTENBaVkzVnljbVZ1ZEV4bGRtVnNJaXdnSW01dlpHVWlMQ0FpWTJocGJHUnlaVzRpTENBaVkyaHBiR1JKYm1SbGVDSXNJQ0pqZFhKemIzSkJJaXdnSW1OMWNuTnZja0lpTENBaWFHVnBaMmgwUVNJc0lDSmpkWEp5Wlc1MFMyVjVRU0lzSUNKc1pYWmxiRWx1WkdsalpYTkJJaXdnSW1obGFXZG9kRUlpTENBaVkzVnljbVZ1ZEV0bGVVSWlMQ0FpYkdWMlpXeEpibVJwWTJWelFpSXNJQ0pyWlhsRGIyMXdZWEpwYzI5dUlpd2dJbWhsYVdkb2RFMXBiaUlzSUNKa1pYQjBhRUZPYjNKdFlXeHBlbVZrSWl3Z0ltUmxjSFJvUWs1dmNtMWhiR2w2WldRaUxDQWlabWx5YzNSTFpYa2lMQ0FpYmlJc0lDSm1iM0pqWlNJc0lDSnRZWGhNWlc1bmRHZ2lMQ0FpYldsdUlpd2dJbTFoZUNJc0lDSnlaWE4xYkhSeklpd2dJa0p5WldGcklpd2dJbUZrWkdWa0lpd2dJbTl1Um05MWJtUWlMQ0FpY2lJc0lDSnliMjkwSWl3Z0ltbHpVMmhoY21Wa0lpd2dJblFpTENBaWMybDZaU0lzSUNKaGMxTmxkQ0lzSUNKaWRISmxaU0lzSUNKQ1RtOWtaU0lzSUNKMllXeDFaWE1pTENBaWRXNWtaV1pXWVd4eklpd2dJbVpoYVd4WWIzSWlMQ0FpWTIxd0lpd2dJbXh2SWl3Z0ltaHBJaXdnSW0xcFpDSXNJQ0pqSWl3Z0lteGhjM1JKYm1SbGVDSXNJQ0pwYm1Oc2RYTnBkbVVpTENBaWFXNWtaWGhQY2t4dmQyVnlJaXdnSW1SbGNIUm9JaXdnSW1KaGMyVkpibVJsZUNJc0lDSnJUQ0lzSUNKMlRDSXNJQ0p1WlhkU2FXZG9kRk5wWW14cGJtY2lMQ0FpZEdGeVoyVjBJaXdnSW5Kb2N5SXNJQ0pzYUhNaUxDQWlhR0ZzWmlJc0lDSmxaR2wwVFc5a1pTSXNJQ0pqYjNWdWRDSXNJQ0pwVEc5M0lpd2dJbWxJYVdkb0lpd2dJbDhpTENBaVgzTjFjR1Z5SWl3Z0lteGxibWQwYUNJc0lDSmpUQ0lzSUNKamFHbHNaRk5wZW1VaUxDQWlkRzl2Wm1WM0lpd2dJbU5vYVd4a0lpd2dJbTFoZUZOcGVtVWlMQ0FpYjJ4a1RHVnVaM1JvSWl3Z0luSm9jME5vYVd4a2NtVnVJaXdnSW1aaFkzUWlMQ0FpWVhKbmN5SXNJQ0pmYVNJc0lDSk1kWGh2YmtWeWNtOXlJaXdnSWtsdWRtRnNhV1JFWVhSbFZHbHRaVVZ5Y205eUlpd2dJbkpsWVhOdmJpSXNJQ0pKYm5aaGJHbGtTVzUwWlhKMllXeEZjbkp2Y2lJc0lDSkpiblpoYkdsa1JIVnlZWFJwYjI1RmNuSnZjaUlzSUNKRGIyNW1iR2xqZEdsdVoxTndaV05wWm1sallYUnBiMjVGY25KdmNpSXNJQ0pKYm5aaGJHbGtWVzVwZEVWeWNtOXlJaXdnSW5WdWFYUWlMQ0FpU1c1MllXeHBaRUZ5WjNWdFpXNTBSWEp5YjNJaUxDQWlXbTl1WlVselFXSnpkSEpoWTNSRmNuSnZjaUlzSUNKdUlpd2dJbk1pTENBaWJDSXNJQ0pFUVZSRlgxTklUMUpVSWl3Z0lrUkJWRVZmVFVWRUlpd2dJa1JCVkVWZlRVVkVYMWRKVkVoZlYwVkZTMFJCV1NJc0lDSkVRVlJGWDBaVlRFd2lMQ0FpUkVGVVJWOUlWVWRGSWl3Z0lsUkpUVVZmVTBsTlVFeEZJaXdnSWxSSlRVVmZWMGxVU0Y5VFJVTlBUa1JUSWl3Z0lsUkpUVVZmVjBsVVNGOVRTRTlTVkY5UFJrWlRSVlFpTENBaVZFbE5SVjlYU1ZSSVgweFBUa2RmVDBaR1UwVlVJaXdnSWxSSlRVVmZNalJmVTBsTlVFeEZJaXdnSWxSSlRVVmZNalJmVjBsVVNGOVRSVU5QVGtSVElpd2dJbFJKVFVWZk1qUmZWMGxVU0Y5VFNFOVNWRjlQUmtaVFJWUWlMQ0FpVkVsTlJWOHlORjlYU1ZSSVgweFBUa2RmVDBaR1UwVlVJaXdnSWtSQlZFVlVTVTFGWDFOSVQxSlVJaXdnSWtSQlZFVlVTVTFGWDFOSVQxSlVYMWRKVkVoZlUwVkRUMDVFVXlJc0lDSkVRVlJGVkVsTlJWOU5SVVFpTENBaVJFRlVSVlJKVFVWZlRVVkVYMWRKVkVoZlUwVkRUMDVFVXlJc0lDSkVRVlJGVkVsTlJWOU5SVVJmVjBsVVNGOVhSVVZMUkVGWklpd2dJa1JCVkVWVVNVMUZYMFpWVEV3aUxDQWlSRUZVUlZSSlRVVmZSbFZNVEY5WFNWUklYMU5GUTA5T1JGTWlMQ0FpUkVGVVJWUkpUVVZmU0ZWSFJTSXNJQ0pFUVZSRlZFbE5SVjlJVlVkRlgxZEpWRWhmVTBWRFQwNUVVeUlzSUNKcGMxVnVaR1ZtYVc1bFpDSXNJQ0p2SWl3Z0ltbHpUblZ0WW1WeUlpd2dJbWx6U1c1MFpXZGxjaUlzSUNKcGMxTjBjbWx1WnlJc0lDSnBjMFJoZEdVaUxDQWlhR0Z6VW1Wc1lYUnBkbVVpTENBaVpTSXNJQ0p0WVhsaVpVRnljbUY1SWl3Z0luUm9hVzVuSWl3Z0ltSmxjM1JDZVNJc0lDSmhjbklpTENBaVlua2lMQ0FpWTI5dGNHRnlaU0lzSUNKaVpYTjBJaXdnSW01bGVIUWlMQ0FpY0dGcGNpSXNJQ0p3YVdOcklpd2dJbTlpYWlJc0lDSnJaWGx6SWl3Z0ltRWlMQ0FpYXlJc0lDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0lDSndjbTl3SWl3Z0ltbHVkR1ZuWlhKQ1pYUjNaV1Z1SWl3Z0ltSnZkSFJ2YlNJc0lDSjBiM0FpTENBaVpteHZiM0pOYjJRaUxDQWllQ0lzSUNKdUlpd2dJbkJoWkZOMFlYSjBJaXdnSW1sdWNIVjBJaXdnSW1selRtVm5JaXdnSW5CaFpHUmxaQ0lzSUNKd1lYSnpaVWx1ZEdWblpYSWlMQ0FpYzNSeWFXNW5JaXdnSW5CaGNuTmxSbXh2WVhScGJtY2lMQ0FpY0dGeWMyVk5hV3hzYVhNaUxDQWlabkpoWTNScGIyNGlMQ0FpWmlJc0lDSnliM1Z1WkZSdklpd2dJbTUxYldKbGNpSXNJQ0prYVdkcGRITWlMQ0FpZEc5M1lYSmtXbVZ5YnlJc0lDSm1ZV04wYjNJaUxDQWlhWE5NWldGd1dXVmhjaUlzSUNKNVpXRnlJaXdnSW1SaGVYTkpibGxsWVhJaUxDQWlaR0Y1YzBsdVRXOXVkR2dpTENBaWJXOXVkR2dpTENBaWJXOWtUVzl1ZEdnaUxDQWliVzlrV1dWaGNpSXNJQ0p2WW1wVWIweHZZMkZzVkZNaUxDQWlaQ0lzSUNKM1pXVnJjMGx1VjJWbGExbGxZWElpTENBaWQyVmxhMWxsWVhJaUxDQWljREVpTENBaWJHRnpkQ0lzSUNKd01pSXNJQ0oxYm5SeWRXNWpZWFJsV1dWaGNpSXNJQ0p3WVhKelpWcHZibVZKYm1adklpd2dJblJ6SWl3Z0ltOW1abk5sZEVadmNtMWhkQ0lzSUNKc2IyTmhiR1VpTENBaWRHbHRaVnB2Ym1VaUxDQWlaR0YwWlNJc0lDSnBiblJzVDNCMGN5SXNJQ0p0YjJScFptbGxaQ0lzSUNKZlgzTndjbVZoWkZaaGJIVmxjeUlzSUNKd1lYSnpaV1FpTENBaWJTSXNJQ0p6YVdkdVpXUlBabVp6WlhRaUxDQWliMlptU0c5MWNsTjBjaUlzSUNKdlptWk5hVzUxZEdWVGRISWlMQ0FpYjJabVNHOTFjaUlzSUNKdlptWk5hVzRpTENBaWIyWm1UV2x1VTJsbmJtVmtJaXdnSW1GelRuVnRZbVZ5SWl3Z0luWmhiSFZsSWl3Z0ltNTFiV1Z5YVdOV1lXeDFaU0lzSUNKSmJuWmhiR2xrUVhKbmRXMWxiblJGY25KdmNpSXNJQ0p1YjNKdFlXeHBlbVZQWW1wbFkzUWlMQ0FpYm05eWJXRnNhWHBsY2lJc0lDSnViM0p0WVd4cGVtVmtJaXdnSW5VaUxDQWlkaUlzSUNKbWIzSnRZWFJQWm1aelpYUWlMQ0FpYjJabWMyVjBJaXdnSW1admNtMWhkQ0lzSUNKb2IzVnljeUlzSUNKdGFXNTFkR1Z6SWl3Z0luTnBaMjRpTENBaWRHbHRaVTlpYW1WamRDSXNJQ0pwWVc1aFVtVm5aWGdpTENBaWJXOXVkR2h6VEc5dVp5SXNJQ0p0YjI1MGFITlRhRzl5ZENJc0lDSnRiMjUwYUhOT1lYSnliM2NpTENBaWJXOXVkR2h6SWl3Z0lteGxibWQwYUNJc0lDSjNaV1ZyWkdGNWMweHZibWNpTENBaWQyVmxhMlJoZVhOVGFHOXlkQ0lzSUNKM1pXVnJaR0Y1YzA1aGNuSnZkeUlzSUNKM1pXVnJaR0Y1Y3lJc0lDSnRaWEpwWkdsbGJYTWlMQ0FpWlhKaGMweHZibWNpTENBaVpYSmhjMU5vYjNKMElpd2dJbVZ5WVhOT1lYSnliM2NpTENBaVpYSmhjeUlzSUNKdFpYSnBaR2xsYlVadmNrUmhkR1ZVYVcxbElpd2dJbVIwSWl3Z0luZGxaV3RrWVhsR2IzSkVZWFJsVkdsdFpTSXNJQ0p0YjI1MGFFWnZja1JoZEdWVWFXMWxJaXdnSW1WeVlVWnZja1JoZEdWVWFXMWxJaXdnSW1admNtMWhkRkpsYkdGMGFYWmxWR2x0WlNJc0lDSjFibWwwSWl3Z0ltTnZkVzUwSWl3Z0ltNTFiV1Z5YVdNaUxDQWlibUZ5Y205M0lpd2dJblZ1YVhSeklpd2dJbXhoYzNSaFlteGxJaXdnSW1selJHRjVJaXdnSW1selNXNVFZWE4wSWl3Z0ltWnRkRlpoYkhWbElpd2dJbk5wYm1kMWJHRnlJaXdnSW14cGJGVnVhWFJ6SWl3Z0ltWnRkRlZ1YVhRaUxDQWljM1J5YVc1bmFXWjVWRzlyWlc1eklpd2dJbk53YkdsMGN5SXNJQ0owYjJ0bGJsUnZVM1J5YVc1bklpd2dJbk1pTENBaWRHOXJaVzRpTENBaWJXRmpjbTlVYjJ0bGJsUnZSbTl5YldGMFQzQjBjeUlzSUNKRVFWUkZYMU5JVDFKVUlpd2dJa1JCVkVWZlRVVkVJaXdnSWtSQlZFVmZSbFZNVENJc0lDSkVRVlJGWDBoVlIwVWlMQ0FpVkVsTlJWOVRTVTFRVEVVaUxDQWlWRWxOUlY5WFNWUklYMU5GUTA5T1JGTWlMQ0FpVkVsTlJWOVhTVlJJWDFOSVQxSlVYMDlHUmxORlZDSXNJQ0pVU1UxRlgxZEpWRWhmVEU5T1IxOVBSa1pUUlZRaUxDQWlWRWxOUlY4eU5GOVRTVTFRVEVVaUxDQWlWRWxOUlY4eU5GOVhTVlJJWDFORlEwOU9SRk1pTENBaVZFbE5SVjh5TkY5WFNWUklYMU5JVDFKVVgwOUdSbE5GVkNJc0lDSlVTVTFGWHpJMFgxZEpWRWhmVEU5T1IxOVBSa1pUUlZRaUxDQWlSRUZVUlZSSlRVVmZVMGhQVWxRaUxDQWlSRUZVUlZSSlRVVmZUVVZFSWl3Z0lrUkJWRVZVU1UxRlgwWlZURXdpTENBaVJFRlVSVlJKVFVWZlNGVkhSU0lzSUNKRVFWUkZWRWxOUlY5VFNFOVNWRjlYU1ZSSVgxTkZRMDlPUkZNaUxDQWlSRUZVUlZSSlRVVmZUVVZFWDFkSlZFaGZVMFZEVDA1RVV5SXNJQ0pFUVZSRlZFbE5SVjlHVlV4TVgxZEpWRWhmVTBWRFQwNUVVeUlzSUNKRVFWUkZWRWxOUlY5SVZVZEZYMWRKVkVoZlUwVkRUMDVFVXlJc0lDSkdiM0p0WVhSMFpYSWlMQ0FpWDBadmNtMWhkSFJsY2lJc0lDSnNiMk5oYkdVaUxDQWliM0IwY3lJc0lDSm1iWFFpTENBaVkzVnljbVZ1ZENJc0lDSmpkWEp5Wlc1MFJuVnNiQ0lzSUNKaWNtRmphMlYwWldRaUxDQWlhU0lzSUNKaklpd2dJbVp2Y20xaGRFOXdkSE1pTENBaVpIUWlMQ0FpWDE5emNISmxZV1JXWVd4MVpYTWlMQ0FpYmlJc0lDSndJaXdnSW5CaFpGTjBZWEowSWl3Z0ltdHViM2R1Ulc1bmJHbHphQ0lzSUNKMWMyVkVZWFJsVkdsdFpVWnZjbTFoZEhSbGNpSXNJQ0p6ZEhKcGJtY2lMQ0FpWlhoMGNtRmpkQ0lzSUNKbWIzSnRZWFJQWm1aelpYUWlMQ0FpYldWeWFXUnBaVzBpTENBaWJXVnlhV1JwWlcxR2IzSkVZWFJsVkdsdFpTSXNJQ0p0YjI1MGFDSXNJQ0pzWlc1bmRHZ2lMQ0FpYzNSaGJtUmhiRzl1WlNJc0lDSnRiMjUwYUVadmNrUmhkR1ZVYVcxbElpd2dJbmRsWld0a1lYa2lMQ0FpZDJWbGEyUmhlVVp2Y2tSaGRHVlVhVzFsSWl3Z0ltMWhlV0psVFdGamNtOGlMQ0FpWlhKaElpd2dJbVZ5WVVadmNrUmhkR1ZVYVcxbElpd2dJbVIxY2lJc0lDSjBiMnRsYmxSdlJtbGxiR1FpTENBaWJHbHNaSFZ5SWl3Z0ltMWhjSEJsWkNJc0lDSjBiMnRsYm5NaUxDQWljbVZoYkZSdmEyVnVjeUlzSUNKbWIzVnVaQ0lzSUNKc2FYUmxjbUZzSWl3Z0luWmhiQ0lzSUNKamIyeHNZWEJ6WldRaUxDQWlkQ0lzSUNKSmJuWmhiR2xrSWl3Z0luSmxZWE52YmlJc0lDSmxlSEJzWVc1aGRHbHZiaUlzSUNKYWIyNWxJaXdnSWxwdmJtVkpjMEZpYzNSeVlXTjBSWEp5YjNJaUxDQWlkSE1pTENBaWIzQjBjeUlzSUNKbWIzSnRZWFFpTENBaWIzUm9aWEphYjI1bElpd2dJbk5wYm1kc1pYUnZiaUlzSUNKVGVYTjBaVzFhYjI1bElpd2dJbDlUZVhOMFpXMWFiMjVsSWl3Z0lscHZibVVpTENBaWRITWlMQ0FpWm05eWJXRjBJaXdnSW14dlkyRnNaU0lzSUNKd1lYSnpaVnB2Ym1WSmJtWnZJaXdnSW1admNtMWhkRTltWm5ObGRDSXNJQ0p2ZEdobGNscHZibVVpTENBaVpIUm1RMkZqYUdVaUxDQWliV0ZyWlVSVVJpSXNJQ0o2YjI1bElpd2dJblI1Y0dWVWIxQnZjeUlzSUNKb1lXTnJlVTltWm5ObGRDSXNJQ0prZEdZaUxDQWlaR0YwWlNJc0lDSm1iM0p0WVhSMFpXUWlMQ0FpY0dGeWMyVmtJaXdnSW1aTmIyNTBhQ0lzSUNKbVJHRjVJaXdnSW1aWlpXRnlJaXdnSW1aaFpFOXlRbU1pTENBaVpraHZkWElpTENBaVprMXBiblYwWlNJc0lDSm1VMlZqYjI1a0lpd2dJbkJoY25SelQyWm1jMlYwSWl3Z0ltWnBiR3hsWkNJc0lDSnBJaXdnSW5SNWNHVWlMQ0FpZG1Gc2RXVWlMQ0FpY0c5eklpd2dJbWx6Vlc1a1pXWnBibVZrSWl3Z0ltbGhibUZhYjI1bFEyRmphR1VpTENBaVNVRk9RVnB2Ym1VaUxDQWlYMGxCVGtGYWIyNWxJaXdnSWxwdmJtVWlMQ0FpYm1GdFpTSXNJQ0p6SWl3Z0ltVWlMQ0FpZEhNaUxDQWlabTl5YldGMElpd2dJbXh2WTJGc1pTSXNJQ0p3WVhKelpWcHZibVZKYm1adklpd2dJbVp2Y20xaGRFOW1abk5sZENJc0lDSjVaV0Z5SWl3Z0ltMXZiblJvSWl3Z0ltUmhlU0lzSUNKaFpFOXlRbU1pTENBaWFHOTFjaUlzSUNKdGFXNTFkR1VpTENBaWMyVmpiMjVrSWl3Z0ltRnpWVlJESWl3Z0ltOWlhbFJ2VEc5allXeFVVeUlzSUNKaGMxUlRJaXdnSW05MlpYSWlMQ0FpYjNSb1pYSmFiMjVsSWl3Z0luTnBibWRzWlhSdmJpSXNJQ0pHYVhobFpFOW1abk5sZEZwdmJtVWlMQ0FpWDBacGVHVmtUMlptYzJWMFdtOXVaU0lzSUNKYWIyNWxJaXdnSW05bVpuTmxkQ0lzSUNKeklpd2dJbklpTENBaWMybG5ibVZrVDJabWMyVjBJaXdnSW1admNtMWhkRTltWm5ObGRDSXNJQ0owY3lJc0lDSm1iM0p0WVhRaUxDQWliM1JvWlhKYWIyNWxJaXdnSWtsdWRtRnNhV1JhYjI1bElpd2dJbHB2Ym1VaUxDQWllbTl1WlU1aGJXVWlMQ0FpYm05eWJXRnNhWHBsV205dVpTSXNJQ0pwYm5CMWRDSXNJQ0prWldaaGRXeDBXbTl1WlNJc0lDSnZabVp6WlhRaUxDQWlhWE5WYm1SbFptbHVaV1FpTENBaVdtOXVaU0lzSUNKcGMxTjBjbWx1WnlJc0lDSnNiM2RsY21Wa0lpd2dJa1pwZUdWa1QyWm1jMlYwV205dVpTSXNJQ0pKUVU1QldtOXVaU0lzSUNKcGMwNTFiV0psY2lJc0lDSkpiblpoYkdsa1dtOXVaU0lzSUNKdWIzY2lMQ0FpWkdWbVlYVnNkRnB2Ym1VaUxDQWlaR1ZtWVhWc2RFeHZZMkZzWlNJc0lDSmtaV1poZFd4MFRuVnRZbVZ5YVc1blUzbHpkR1Z0SWl3Z0ltUmxabUYxYkhSUGRYUndkWFJEWVd4bGJtUmhjaUlzSUNKMGFISnZkMDl1U1c1MllXeHBaQ0lzSUNKVFpYUjBhVzVuY3lJc0lDSnVJaXdnSW5wdmJtVWlMQ0FpYm05eWJXRnNhWHBsV205dVpTSXNJQ0pUZVhOMFpXMWFiMjVsSWl3Z0lteHZZMkZzWlNJc0lDSnVkVzFpWlhKcGJtZFRlWE4wWlcwaUxDQWliM1YwY0hWMFEyRnNaVzVrWVhJaUxDQWlkQ0lzSUNKTWIyTmhiR1VpTENBaVNVRk9RVnB2Ym1VaUxDQWlhVzUwYkV4R1EyRmphR1VpTENBaVoyVjBRMkZqYUdWa1RFWWlMQ0FpYkc5alUzUnlhVzVuSWl3Z0ltOXdkSE1pTENBaWEyVjVJaXdnSW1SMFppSXNJQ0pwYm5Sc1JGUkRZV05vWlNJc0lDSm5aWFJEWVdOb1pXUkVWRVlpTENBaWFXNTBiRTUxYlVOaFkyaGxJaXdnSW1kbGRFTmhZMmhsWkVsT1JpSXNJQ0pwYm1ZaUxDQWlhVzUwYkZKbGJFTmhZMmhsSWl3Z0ltZGxkRU5oWTJobFpGSlVSaUlzSUNKZllTSXNJQ0ppWVhObElpd2dJbU5oWTJobFMyVjVUM0IwY3lJc0lDSmZYMjlpYWxKbGMzUWlMQ0FpYzNselRHOWpZV3hsUTJGamFHVWlMQ0FpYzNsemRHVnRURzlqWVd4bElpd2dJbkJoY25ObFRHOWpZV3hsVTNSeWFXNW5JaXdnSW14dlkyRnNaVk4wY2lJc0lDSjFTVzVrWlhnaUxDQWliM0IwYVc5dWN5SXNJQ0p6YldGc2JHVnlJaXdnSW1VaUxDQWliblZ0WW1WeWFXNW5VM2x6ZEdWdElpd2dJbU5oYkdWdVpHRnlJaXdnSW1sdWRHeERiMjVtYVdkVGRISnBibWNpTENBaWIzVjBjSFYwUTJGc1pXNWtZWElpTENBaWJXRndUVzl1ZEdoeklpd2dJbVlpTENBaWJYTWlMQ0FpYVNJc0lDSmtkQ0lzSUNKRVlYUmxWR2x0WlNJc0lDSnRZWEJYWldWclpHRjVjeUlzSUNKc2FYTjBVM1IxWm1ZaUxDQWliRzlqSWl3Z0lteGxibWQwYUNJc0lDSmtaV1poZFd4MFQwc2lMQ0FpWlc1bmJHbHphRVp1SWl3Z0ltbHVkR3hHYmlJc0lDSnRiMlJsSWl3Z0luTjFjSEJ2Y25SelJtRnpkRTUxYldKbGNuTWlMQ0FpVUc5c2VVNTFiV0psY2tadmNtMWhkSFJsY2lJc0lDSnBiblJzSWl3Z0ltWnZjbU5sVTJsdGNHeGxJaXdnSW5CaFpGUnZJaXdnSW1ac2IyOXlJaXdnSW05MGFHVnlUM0IwY3lJc0lDSnBiblJzVDNCMGN5SXNJQ0pmWDNOd2NtVmhaRlpoYkhWbGN5SXNJQ0ptYVhobFpDSXNJQ0p5YjNWdVpGUnZJaXdnSW5CaFpGTjBZWEowSWl3Z0lsQnZiSGxFWVhSbFJtOXliV0YwZEdWeUlpd2dJbm9pTENBaVoyMTBUMlptYzJWMElpd2dJbTltWm5ObGRGb2lMQ0FpU1VGT1FWcHZibVVpTENBaVVHOXNlVkpsYkVadmNtMWhkSFJsY2lJc0lDSnBjMFZ1WjJ4cGMyZ2lMQ0FpYUdGelVtVnNZWFJwZG1VaUxDQWlZMjkxYm5RaUxDQWlkVzVwZENJc0lDSm1iM0p0WVhSU1pXeGhkR2wyWlZScGJXVWlMQ0FpVEc5allXeGxJaXdnSWw5TWIyTmhiR1VpTENBaWJHOWpZV3hsSWl3Z0ltUmxabUYxYkhSVWIwVk9JaXdnSW5Od1pXTnBabWxsWkV4dlkyRnNaU0lzSUNKVFpYUjBhVzVuY3lJc0lDSnNiMk5oYkdWU0lpd2dJbTUxYldKbGNtbHVaMU41YzNSbGJWSWlMQ0FpYjNWMGNIVjBRMkZzWlc1a1lYSlNJaXdnSW01MWJXSmxjbWx1WnlJc0lDSndZWEp6WldSTWIyTmhiR1VpTENBaWNHRnljMlZrVG5WdFltVnlhVzVuVTNsemRHVnRJaXdnSW5CaGNuTmxaRTkxZEhCMWRFTmhiR1Z1WkdGeUlpd2dJbWx6UVdOMGRXRnNiSGxGYmlJc0lDSm9ZWE5PYjFkbGFYSmtibVZ6Y3lJc0lDSmhiSFJ6SWl3Z0lsOWZjM0J5WldGa1VISnZjSE1pTENBaVptOXliV0YwSWl3Z0ltMXZiblJvY3lJc0lDSm1iM0p0WVhSVGRISWlMQ0FpZDJWbGEyUmhlWE1pTENBaWJXVnlhV1JwWlcxeklpd2dJbVZ5WVhNaUxDQWlabWxsYkdRaUxDQWlaR1lpTENBaWNtVnpkV3gwY3lJc0lDSnRZWFJqYUdsdVp5SXNJQ0p0SWl3Z0ltOTBhR1Z5SWl3Z0ltTnZiV0pwYm1WU1pXZGxlR1Z6SWl3Z0luSmxaMlY0WlhNaUxDQWlablZzYkNJc0lDSm1JaXdnSW1OdmJXSnBibVZGZUhSeVlXTjBiM0p6SWl3Z0ltVjRkSEpoWTNSdmNuTWlMQ0FpYlNJc0lDSnRaWEpuWldSV1lXeHpJaXdnSW0xbGNtZGxaRnB2Ym1VaUxDQWlZM1Z5YzI5eUlpd2dJbVY0SWl3Z0luWmhiQ0lzSUNKNmIyNWxJaXdnSW01bGVIUWlMQ0FpWDE5emNISmxZV1JXWVd4MVpYTWlMQ0FpY0dGeWMyVWlMQ0FpY3lJc0lDSndZWFIwWlhKdWN5SXNJQ0p5WldkbGVDSXNJQ0psZUhSeVlXTjBiM0lpTENBaWMybHRjR3hsVUdGeWMyVWlMQ0FpYTJWNWN5SXNJQ0p0WVhSamFDSXNJQ0p5WlhRaUxDQWlhU0lzSUNKd1lYSnpaVWx1ZEdWblpYSWlMQ0FpYjJabWMyVjBVbVZuWlhnaUxDQWlhWE52UlhoMFpXNWtaV1JhYjI1bElpd2dJbWxoYm1GU1pXZGxlQ0lzSUNKcGMyOVVhVzFsUW1GelpWSmxaMlY0SWl3Z0ltbHpiMVJwYldWU1pXZGxlQ0lzSUNKcGMyOVVhVzFsUlhoMFpXNXphVzl1VW1WblpYZ2lMQ0FpYVhOdldXMWtVbVZuWlhnaUxDQWlhWE52VjJWbGExSmxaMlY0SWl3Z0ltbHpiMDl5WkdsdVlXeFNaV2RsZUNJc0lDSmxlSFJ5WVdOMFNWTlBWMlZsYTBSaGRHRWlMQ0FpWlhoMGNtRmpkRWxUVDA5eVpHbHVZV3hFWVhSaElpd2dJbk54YkZsdFpGSmxaMlY0SWl3Z0luTnhiRlJwYldWU1pXZGxlQ0lzSUNKemNXeFVhVzFsUlhoMFpXNXphVzl1VW1WblpYZ2lMQ0FpYVc1MElpd2dJbkJ2Y3lJc0lDSm1ZV3hzWW1GamF5SXNJQ0pwYzFWdVpHVm1hVzVsWkNJc0lDSmxlSFJ5WVdOMFNWTlBXVzFrSWl3Z0ltVjRkSEpoWTNSSlUwOVVhVzFsSWl3Z0luQmhjbk5sVFdsc2JHbHpJaXdnSW1WNGRISmhZM1JKVTA5UFptWnpaWFFpTENBaWJHOWpZV3dpTENBaVpuVnNiRTltWm5ObGRDSXNJQ0p6YVdkdVpXUlBabVp6WlhRaUxDQWlSbWw0WldSUFptWnpaWFJhYjI1bElpd2dJbVY0ZEhKaFkzUkpRVTVCV205dVpTSXNJQ0pKUVU1QldtOXVaU0lzSUNKcGMyOVVhVzFsVDI1c2VTSXNJQ0pwYzI5RWRYSmhkR2x2YmlJc0lDSmxlSFJ5WVdOMFNWTlBSSFZ5WVhScGIyNGlMQ0FpZVdWaGNsTjBjaUlzSUNKdGIyNTBhRk4wY2lJc0lDSjNaV1ZyVTNSeUlpd2dJbVJoZVZOMGNpSXNJQ0pvYjNWeVUzUnlJaXdnSW0xcGJuVjBaVk4wY2lJc0lDSnpaV052Ym1SVGRISWlMQ0FpYldsc2JHbHpaV052Ym1SelUzUnlJaXdnSW1oaGMwNWxaMkYwYVhabFVISmxabWw0SWl3Z0ltNWxaMkYwYVhabFUyVmpiMjVrY3lJc0lDSnRZWGxpWlU1bFoyRjBaU0lzSUNKdWRXMGlMQ0FpWm05eVkyVWlMQ0FpY0dGeWMyVkdiRzloZEdsdVp5SXNJQ0p2WW5OUFptWnpaWFJ6SWl3Z0ltWnliMjFUZEhKcGJtZHpJaXdnSW5kbFpXdGtZWGxUZEhJaUxDQWljbVZ6ZFd4MElpd2dJblZ1ZEhKMWJtTmhkR1ZaWldGeUlpd2dJbTF2Ym5Sb2MxTm9iM0owSWl3Z0luZGxaV3RrWVhselRHOXVaeUlzSUNKM1pXVnJaR0Y1YzFOb2IzSjBJaXdnSW5KbVl6STRNaklpTENBaVpYaDBjbUZqZEZKR1F6STRNaklpTENBaWIySnpUMlptYzJWMElpd2dJbTFwYkU5bVpuTmxkQ0lzSUNKdlptWkliM1Z5VTNSeUlpd2dJbTltWmsxcGJuVjBaVk4wY2lJc0lDSnZabVp6WlhRaUxDQWljSEpsY0hKdlkyVnpjMUpHUXpJNE1qSWlMQ0FpY21aak1URXlNeUlzSUNKeVptTTROVEFpTENBaVlYTmphV2tpTENBaVpYaDBjbUZqZEZKR1F6RXhNak5QY2pnMU1DSXNJQ0psZUhSeVlXTjBRVk5EU1VraUxDQWlhWE52V1cxa1YybDBhRlJwYldWRmVIUmxibk5wYjI1U1pXZGxlQ0lzSUNKcGMyOVhaV1ZyVjJsMGFGUnBiV1ZGZUhSbGJuTnBiMjVTWldkbGVDSXNJQ0pwYzI5UGNtUnBibUZzVjJsMGFGUnBiV1ZGZUhSbGJuTnBiMjVTWldkbGVDSXNJQ0pwYzI5VWFXMWxRMjl0WW1sdVpXUlNaV2RsZUNJc0lDSmxlSFJ5WVdOMFNWTlBXVzFrVkdsdFpVRnVaRTltWm5ObGRDSXNJQ0psZUhSeVlXTjBTVk5QVjJWbGExUnBiV1ZCYm1SUFptWnpaWFFpTENBaVpYaDBjbUZqZEVsVFQwOXlaR2x1WVd4RVlYUmxRVzVrVkdsdFpTSXNJQ0psZUhSeVlXTjBTVk5QVkdsdFpVRnVaRTltWm5ObGRDSXNJQ0p3WVhKelpVbFRUMFJoZEdVaUxDQWljR0Z5YzJWU1JrTXlPREl5UkdGMFpTSXNJQ0p3WVhKelpVaFVWRkJFWVhSbElpd2dJbkJoY25ObFNWTlBSSFZ5WVhScGIyNGlMQ0FpWlhoMGNtRmpkRWxUVDFScGJXVlBibXg1SWl3Z0luQmhjbk5sU1ZOUFZHbHRaVTl1YkhraUxDQWljM0ZzV1cxa1YybDBhRlJwYldWRmVIUmxibk5wYjI1U1pXZGxlQ0lzSUNKemNXeFVhVzFsUTI5dFltbHVaV1JTWldkbGVDSXNJQ0psZUhSeVlXTjBTVk5QVkdsdFpVOW1abk5sZEVGdVpFbEJUa0ZhYjI1bElpd2dJbkJoY25ObFUxRk1JaXdnSWtsT1ZrRk1TVVFpTENBaWJHOTNUM0prWlhKTllYUnlhWGdpTENBaVkyRnpkV0ZzVFdGMGNtbDRJaXdnSWw5ZmMzQnlaV0ZrVm1Gc2RXVnpJaXdnSW1SaGVYTkpibGxsWVhKQlkyTjFjbUYwWlNJc0lDSmtZWGx6U1c1TmIyNTBhRUZqWTNWeVlYUmxJaXdnSW1GalkzVnlZWFJsVFdGMGNtbDRJaXdnSW05eVpHVnlaV1JWYm1sMGN5SXNJQ0p5WlhabGNuTmxWVzVwZEhNaUxDQWlZMnh2Ym1VaUxDQWlaSFZ5SWl3Z0ltRnNkSE1pTENBaVkyeGxZWElpTENBaVkyOXVaaUlzSUNKRWRYSmhkR2x2YmlJc0lDSmhiblJwVkhKMWJtTWlMQ0FpWTI5dWRtVnlkQ0lzSUNKdFlYUnlhWGdpTENBaVpuSnZiVTFoY0NJc0lDSm1jbTl0Vlc1cGRDSXNJQ0owYjAxaGNDSXNJQ0owYjFWdWFYUWlMQ0FpWTI5dWRpSXNJQ0p5WVhjaUxDQWljMkZ0WlZOcFoyNGlMQ0FpWVdSa1pXUWlMQ0FpYm05eWJXRnNhWHBsVm1Gc2RXVnpJaXdnSW5aaGJITWlMQ0FpY0hKbGRtbHZkWE1pTENBaVkzVnljbVZ1ZENJc0lDSnBjMVZ1WkdWbWFXNWxaQ0lzSUNKZlJIVnlZWFJwYjI0aUxDQWlZMjl1Wm1sbklpd2dJbUZqWTNWeVlYUmxJaXdnSWt4dlkyRnNaU0lzSUNKamIzVnVkQ0lzSUNKdmNIUnpJaXdnSW05aWFpSXNJQ0pKYm5aaGJHbGtRWEpuZFcxbGJuUkZjbkp2Y2lJc0lDSnViM0p0WVd4cGVtVlBZbXBsWTNRaUxDQWlaSFZ5WVhScGIyNU1hV3RsSWl3Z0ltbHpUblZ0WW1WeUlpd2dJblJsZUhRaUxDQWljR0Z5YzJWa0lpd2dJbkJoY25ObFNWTlBSSFZ5WVhScGIyNGlMQ0FpY0dGeWMyVkpVMDlVYVcxbFQyNXNlU0lzSUNKeVpXRnpiMjRpTENBaVpYaHdiR0Z1WVhScGIyNGlMQ0FpYVc1MllXeHBaQ0lzSUNKSmJuWmhiR2xrSWl3Z0lsTmxkSFJwYm1keklpd2dJa2x1ZG1Gc2FXUkVkWEpoZEdsdmJrVnljbTl5SWl3Z0luVnVhWFFpTENBaWJtOXliV0ZzYVhwbFpDSXNJQ0pKYm5aaGJHbGtWVzVwZEVWeWNtOXlJaXdnSW04aUxDQWlabTEwSWl3Z0ltWnRkRTl3ZEhNaUxDQWlYMTl6Y0hKbFlXUlFjbTl3Y3lJc0lDSkdiM0p0WVhSMFpYSWlMQ0FpYkNJc0lDSjJZV3dpTENBaWJpSXNJQ0p6SWl3Z0luSnZkVzVrVkc4aUxDQWliV2xzYkdseklpd2dJblpoYkhWbElpd2dJbk4wY2lJc0lDSmtkWEpoZEdsdmJpSXNJQ0p5WlhOMWJIUWlMQ0FpYXlJc0lDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0lDSm1iaUlzSUNKaGMwNTFiV0psY2lJc0lDSjJZV3gxWlhNaUxDQWliV2w0WldRaUxDQWliRzlqWVd4bElpd2dJbTUxYldKbGNtbHVaMU41YzNSbGJTSXNJQ0pqYjI1MlpYSnphVzl1UVdOamRYSmhZM2tpTENBaWJHOWpJaXdnSW5WdWFYUnpJaXdnSW5VaUxDQWlZblZwYkhRaUxDQWlZV05qZFcxMWJHRjBaV1FpTENBaWJHRnpkRlZ1YVhRaUxDQWliM2R1SWl3Z0ltRnJJaXdnSW1raUxDQWlaRzkzYmlJc0lDSnJaWGtpTENBaWJtVm5ZWFJsWkNJc0lDSnZkR2hsY2lJc0lDSmxjU0lzSUNKMk1TSXNJQ0oyTWlJc0lDSkpUbFpCVEVsRUlpd2dJblpoYkdsa1lYUmxVM1JoY25SRmJtUWlMQ0FpYzNSaGNuUWlMQ0FpWlc1a0lpd2dJa2x1ZEdWeWRtRnNJaXdnSWw5SmJuUmxjblpoYkNJc0lDSmpiMjVtYVdjaUxDQWljbVZoYzI5dUlpd2dJbVY0Y0d4aGJtRjBhVzl1SWl3Z0lrbHVkbUZzYVdSQmNtZDFiV1Z1ZEVWeWNtOXlJaXdnSW1sdWRtRnNhV1FpTENBaVNXNTJZV3hwWkNJc0lDSlRaWFIwYVc1bmN5SXNJQ0pKYm5aaGJHbGtTVzUwWlhKMllXeEZjbkp2Y2lJc0lDSmlkV2xzZEZOMFlYSjBJaXdnSW1aeWFXVnVaR3g1UkdGMFpWUnBiV1VpTENBaVluVnBiSFJGYm1RaUxDQWlkbUZzYVdSaGRHVkZjbkp2Y2lJc0lDSmtkWEpoZEdsdmJpSXNJQ0prZFhJaUxDQWlSSFZ5WVhScGIyNGlMQ0FpWkhRaUxDQWlkR1Y0ZENJc0lDSnZjSFJ6SWl3Z0luTWlMQ0FpWlNJc0lDSnpkR0Z5ZEVselZtRnNhV1FpTENBaVJHRjBaVlJwYldVaUxDQWlaVzVrU1hOV1lXeHBaQ0lzSUNKdklpd2dJblZ1YVhRaUxDQWlaR0YwWlZScGJXVWlMQ0FpWkdGMFpWUnBiV1Z6SWl3Z0luTnZjblJsWkNJc0lDSmtJaXdnSW5KbGMzVnNkSE1pTENBaVlXUmtaV1FpTENBaWJtVjRkQ0lzSUNKcFpIZ2lMQ0FpZUNJc0lDSnVkVzFpWlhKUFpsQmhjblJ6SWl3Z0ltOTBhR1Z5SWl3Z0ltbHVkR1Z5ZG1Gc2N5SXNJQ0ptYjNWdVpDSXNJQ0ptYVc1aGJDSXNJQ0poSWl3Z0ltSWlMQ0FpYzI5bVlYSWlMQ0FpWTNWeWNtVnVkQ0lzSUNKcGRHVnRJaXdnSW1OMWNuSmxiblJEYjNWdWRDSXNJQ0psYm1Seklpd2dJbWtpTENBaVpteGhkSFJsYm1Wa0lpd2dJbUZ5Y2lJc0lDSmtZWFJsUm05eWJXRjBJaXdnSW5ObGNHRnlZWFJ2Y2lJc0lDSnRZWEJHYmlJc0lDSkpibVp2SWl3Z0lucHZibVVpTENBaVUyVjBkR2x1WjNNaUxDQWljSEp2ZEc4aUxDQWlSR0YwWlZScGJXVWlMQ0FpU1VGT1FWcHZibVVpTENBaWFXNXdkWFFpTENBaWJtOXliV0ZzYVhwbFdtOXVaU0lzSUNKc1pXNW5kR2dpTENBaWJHOWpZV3hsSWl3Z0ltNTFiV0psY21sdVoxTjVjM1JsYlNJc0lDSnNiMk5QWW1vaUxDQWliM1YwY0hWMFEyRnNaVzVrWVhJaUxDQWlURzlqWVd4bElpd2dJbWhoYzFKbGJHRjBhWFpsSWl3Z0ltUmhlVVJwWm1ZaUxDQWlaV0Z5YkdsbGNpSXNJQ0pzWVhSbGNpSXNJQ0oxZEdORVlYbFRkR0Z5ZENJc0lDSmtkQ0lzSUNKdGN5SXNJQ0pFZFhKaGRHbHZiaUlzSUNKb2FXZG9UM0prWlhKRWFXWm1jeUlzSUNKamRYSnpiM0lpTENBaWRXNXBkSE1pTENBaVpHbG1abVZ5Y3lJc0lDSmlJaXdnSW1SaGVYTWlMQ0FpY21WemRXeDBjeUlzSUNKc2IzZGxjM1JQY21SbGNpSXNJQ0pvYVdkb1YyRjBaWElpTENBaWRXNXBkQ0lzSUNKa2FXWm1aWElpTENBaVpHVnNkR0VpTENBaVpHbG1abDlrWldaaGRXeDBJaXdnSW05d2RITWlMQ0FpY21WdFlXbHVhVzVuVFdsc2JHbHpJaXdnSW14dmQyVnlUM0prWlhKVmJtbDBjeUlzSUNKMUlpd2dJbVIxY21GMGFXOXVJaXdnSW01MWJXSmxjbWx1WjFONWMzUmxiWE1pTENBaWJuVnRZbVZ5YVc1blUzbHpkR1Z0YzFWVVJqRTJJaXdnSW1oaGJtbGtaV05EYUdGeWN5SXNJQ0p3WVhKelpVUnBaMmwwY3lJc0lDSnpkSElpTENBaWRtRnNkV1VpTENBaWFTSXNJQ0pqYjJSbElpd2dJbXRsZVNJc0lDSnRhVzRpTENBaWJXRjRJaXdnSW1ScFoybDBVbVZuWlhnaUxDQWliblZ0WW1WeWFXNW5VM2x6ZEdWdElpd2dJbUZ3Y0dWdVpDSXNJQ0pOU1ZOVFNVNUhYMFpVVUNJc0lDSnBiblJWYm1sMElpd2dJbkpsWjJWNElpd2dJbkJ2YzNRaUxDQWlhU0lzSUNKeklpd2dJbkJoY25ObFJHbG5hWFJ6SWl3Z0lrNUNVMUFpTENBaWMzQmhZMlZQY2s1Q1UxQWlMQ0FpYzNCaFkyVlBjazVDVTFCU1pXZEZlSEFpTENBaVptbDRUR2x6ZEZKbFoyVjRJaXdnSW5OMGNtbHdTVzV6Wlc1emFYUnBkbWwwYVdWeklpd2dJbTl1WlU5bUlpd2dJbk4wY21sdVozTWlMQ0FpYzNSaGNuUkpibVJsZUNJc0lDSnZabVp6WlhRaUxDQWlaM0p2ZFhCeklpd2dJbWdpTENBaWJTSXNJQ0p6YVdkdVpXUlBabVp6WlhRaUxDQWljMmx0Y0d4bElpd2dJbVZ6WTJGd1pWUnZhMlZ1SWl3Z0luWmhiSFZsSWl3Z0luVnVhWFJHYjNKVWIydGxiaUlzSUNKMGIydGxiaUlzSUNKc2IyTWlMQ0FpYjI1bElpd2dJbVJwWjJsMFVtVm5aWGdpTENBaWRIZHZJaXdnSW5Sb2NtVmxJaXdnSW1admRYSWlMQ0FpYzJsNElpd2dJbTl1WlU5eVZIZHZJaXdnSW05dVpWUnZWR2h5WldVaUxDQWliMjVsVkc5VGFYZ2lMQ0FpYjI1bFZHOU9hVzVsSWl3Z0luUjNiMVJ2Um05MWNpSXNJQ0ptYjNWeVZHOVRhWGdpTENBaWJHbDBaWEpoYkNJc0lDSjBJaXdnSW5WdWFYUWlMQ0FpZFc1MGNuVnVZMkYwWlZsbFlYSWlMQ0FpY0dGeWRGUjVjR1ZUZEhsc1pWUnZWRzlyWlc1V1lXd2lMQ0FpZEc5clpXNUdiM0pRWVhKMElpd2dJbkJoY25RaUxDQWliRzlqWVd4bElpd2dJbVp2Y20xaGRFOXdkSE1pTENBaWRIbHdaU0lzSUNKemRIbHNaU0lzSUNKMllXd2lMQ0FpWW5WcGJHUlNaV2RsZUNJc0lDSjFibWwwY3lJc0lDSjFJaXdnSW1ZaUxDQWliV0YwWTJnaUxDQWlhVzV3ZFhRaUxDQWlhR0Z1Wkd4bGNuTWlMQ0FpYldGMFkyaGxjeUlzSUNKaGJHd2lMQ0FpYldGMFkyaEpibVJsZUNJc0lDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0lDSmtZWFJsVkdsdFpVWnliMjFOWVhSamFHVnpJaXdnSW5SdlJtbGxiR1FpTENBaWVtOXVaU0lzSUNKemNHVmphV1pwWTA5bVpuTmxkQ0lzSUNKcGMxVnVaR1ZtYVc1bFpDSXNJQ0pKUVU1QldtOXVaU0lzSUNKR2FYaGxaRTltWm5ObGRGcHZibVVpTENBaWNHRnljMlZOYVd4c2FYTWlMQ0FpY2lJc0lDSnJJaXdnSW1SMWJXMTVSR0YwWlZScGJXVkRZV05vWlNJc0lDSm5aWFJFZFcxdGVVUmhkR1ZVYVcxbElpd2dJa1JoZEdWVWFXMWxJaXdnSW0xaGVXSmxSWGh3WVc1a1RXRmpjbTlVYjJ0bGJpSXNJQ0pHYjNKdFlYUjBaWElpTENBaWRHOXJaVzV6SWl3Z0luQWlMQ0FpWlhod1lXNWtUV0ZqY205VWIydGxibk1pTENBaVpYaHdiR0ZwYmtaeWIyMVViMnRsYm5NaUxDQWlabTl5YldGMElpd2dJbVJwYzNGMVlXeHBabmxwYm1kVmJtbDBJaXdnSW5KbFoyVjRVM1J5YVc1bklpd2dJbkpoZDAxaGRHTm9aWE1pTENBaWNtVnpkV3gwSWl3Z0lrTnZibVpzYVdOMGFXNW5VM0JsWTJsbWFXTmhkR2x2YmtWeWNtOXlJaXdnSW5CaGNuTmxSbkp2YlZSdmEyVnVjeUlzSUNKcGJuWmhiR2xrVW1WaGMyOXVJaXdnSW01dmJreGxZWEJNWVdSa1pYSWlMQ0FpYkdWaGNFeGhaR1JsY2lJc0lDSjFibWwwVDNWMFQyWlNZVzVuWlNJc0lDSjFibWwwSWl3Z0luWmhiSFZsSWl3Z0lrbHVkbUZzYVdRaUxDQWlaR0Y1VDJaWFpXVnJJaXdnSW5sbFlYSWlMQ0FpYlc5dWRHZ2lMQ0FpWkdGNUlpd2dJbVFpTENBaWFuTWlMQ0FpWTI5dGNIVjBaVTl5WkdsdVlXd2lMQ0FpYVhOTVpXRndXV1ZoY2lJc0lDSjFibU52YlhCMWRHVlBjbVJwYm1Gc0lpd2dJbTl5WkdsdVlXd2lMQ0FpZEdGaWJHVWlMQ0FpYlc5dWRHZ3dJaXdnSW1keVpXZHZjbWxoYmxSdlYyVmxheUlzSUNKbmNtVm5UMkpxSWl3Z0luZGxaV3RrWVhraUxDQWlkMlZsYTA1MWJXSmxjaUlzSUNKM1pXVnJXV1ZoY2lJc0lDSjNaV1ZyYzBsdVYyVmxhMWxsWVhJaUxDQWlYMTl6Y0hKbFlXUldZV3gxWlhNaUxDQWlkR2x0WlU5aWFtVmpkQ0lzSUNKM1pXVnJWRzlIY21WbmIzSnBZVzRpTENBaWQyVmxhMFJoZEdFaUxDQWlkMlZsYTJSaGVVOW1TbUZ1TkNJc0lDSjVaV0Z5U1c1RVlYbHpJaXdnSW1SaGVYTkpibGxsWVhJaUxDQWlaM0psWjI5eWFXRnVWRzlQY21ScGJtRnNJaXdnSW1keVpXZEVZWFJoSWl3Z0ltOXlaR2x1WVd4VWIwZHlaV2R2Y21saGJpSXNJQ0p2Y21ScGJtRnNSR0YwWVNJc0lDSm9ZWE5KYm5aaGJHbGtWMlZsYTBSaGRHRWlMQ0FpYjJKcUlpd2dJblpoYkdsa1dXVmhjaUlzSUNKcGMwbHVkR1ZuWlhJaUxDQWlkbUZzYVdSWFpXVnJJaXdnSW1sdWRHVm5aWEpDWlhSM1pXVnVJaXdnSW5aaGJHbGtWMlZsYTJSaGVTSXNJQ0pvWVhOSmJuWmhiR2xrVDNKa2FXNWhiRVJoZEdFaUxDQWlkbUZzYVdSUGNtUnBibUZzSWl3Z0ltaGhjMGx1ZG1Gc2FXUkhjbVZuYjNKcFlXNUVZWFJoSWl3Z0luWmhiR2xrVFc5dWRHZ2lMQ0FpZG1Gc2FXUkVZWGtpTENBaVpHRjVjMGx1VFc5dWRHZ2lMQ0FpYUdGelNXNTJZV3hwWkZScGJXVkVZWFJoSWl3Z0ltaHZkWElpTENBaWJXbHVkWFJsSWl3Z0luTmxZMjl1WkNJc0lDSnRhV3hzYVhObFkyOXVaQ0lzSUNKMllXeHBaRWh2ZFhJaUxDQWlkbUZzYVdSTmFXNTFkR1VpTENBaWRtRnNhV1JUWldOdmJtUWlMQ0FpZG1Gc2FXUk5hV3hzYVhObFkyOXVaQ0lzSUNKSlRsWkJURWxFSWl3Z0lrMUJXRjlFUVZSRklpd2dJblZ1YzNWd2NHOXlkR1ZrV205dVpTSXNJQ0o2YjI1bElpd2dJa2x1ZG1Gc2FXUWlMQ0FpY0c5emMybGliSGxEWVdOb1pXUlhaV1ZyUkdGMFlTSXNJQ0prZENJc0lDSm5jbVZuYjNKcFlXNVViMWRsWldzaUxDQWlZMnh2Ym1VaUxDQWlhVzV6ZENJc0lDSmhiSFJ6SWl3Z0ltTjFjbkpsYm5RaUxDQWlSR0YwWlZScGJXVWlMQ0FpWDE5emNISmxZV1JRY205d2N5SXNJQ0pmWDNOd2NtVmhaRlpoYkhWbGN5SXNJQ0ptYVhoUFptWnpaWFFpTENBaWJHOWpZV3hVVXlJc0lDSnZJaXdnSW5SNklpd2dJblYwWTBkMVpYTnpJaXdnSW04eUlpd2dJbTh6SWl3Z0luUnpWRzlQWW1vaUxDQWlkSE1pTENBaWIyWm1jMlYwSWl3Z0ltUWlMQ0FpYjJKcVZHOVVVeUlzSUNKdlltb2lMQ0FpYjJKcVZHOU1iMk5oYkZSVElpd2dJbUZrYW5WemRGUnBiV1VpTENBaVpIVnlJaXdnSW05UWNtVWlMQ0FpZVdWaGNpSXNJQ0p0YjI1MGFDSXNJQ0pqSWl3Z0ltUmhlWE5KYmsxdmJuUm9JaXdnSW0xcGJHeHBjMVJ2UVdSa0lpd2dJa1IxY21GMGFXOXVJaXdnSW5CaGNuTmxSR0YwWVZSdlJHRjBaVlJwYldVaUxDQWljR0Z5YzJWa0lpd2dJbkJoY25ObFpGcHZibVVpTENBaWIzQjBjeUlzSUNKbWIzSnRZWFFpTENBaWRHVjRkQ0lzSUNKemNHVmphV1pwWTA5bVpuTmxkQ0lzSUNKelpYUmFiMjVsSWl3Z0ltbHVkR1Z5Y0hKbGRHRjBhVzl1V205dVpTSXNJQ0owYjFSbFkyaEdiM0p0WVhRaUxDQWlZV3hzYjNkYUlpd2dJa1p2Y20xaGRIUmxjaUlzSUNKTWIyTmhiR1VpTENBaWRHOUpVMDlFWVhSbElpd2dJbVY0ZEdWdVpHVmtJaXdnSW14dmJtZEdiM0p0WVhRaUxDQWljR0ZrVTNSaGNuUWlMQ0FpZEc5SlUwOVVhVzFsSWl3Z0luTjFjSEJ5WlhOelUyVmpiMjVrY3lJc0lDSnpkWEJ3Y21WemMwMXBiR3hwYzJWamIyNWtjeUlzSUNKcGJtTnNkV1JsVDJabWMyVjBJaXdnSW1WNGRHVnVaR1ZrV205dVpTSXNJQ0prWldaaGRXeDBWVzVwZEZaaGJIVmxjeUlzSUNKa1pXWmhkV3gwVjJWbGExVnVhWFJXWVd4MVpYTWlMQ0FpWkdWbVlYVnNkRTl5WkdsdVlXeFZibWwwVm1Gc2RXVnpJaXdnSW05eVpHVnlaV1JWYm1sMGN5SXNJQ0p2Y21SbGNtVmtWMlZsYTFWdWFYUnpJaXdnSW05eVpHVnlaV1JQY21ScGJtRnNWVzVwZEhNaUxDQWlibTl5YldGc2FYcGxWVzVwZENJc0lDSjFibWwwSWl3Z0ltNXZjbTFoYkdsNlpXUWlMQ0FpU1c1MllXeHBaRlZ1YVhSRmNuSnZjaUlzSUNKeGRXbGphMFJVSWl3Z0ltNXZjbTFoYkdsNlpWcHZibVVpTENBaVUyVjBkR2x1WjNNaUxDQWliRzlqSWl3Z0luUnpUbTkzSWl3Z0ltbHpWVzVrWldacGJtVmtJaXdnSW5VaUxDQWlhVzUyWVd4cFpDSXNJQ0pvWVhOSmJuWmhiR2xrUjNKbFoyOXlhV0Z1UkdGMFlTSXNJQ0pvWVhOSmJuWmhiR2xrVkdsdFpVUmhkR0VpTENBaWIyWm1jMlYwVUhKdmRtbHpJaXdnSW1ScFptWlNaV3hoZEdsMlpTSXNJQ0p6ZEdGeWRDSXNJQ0psYm1RaUxDQWljbTkxYm1RaUxDQWljbTkxYm1SVWJ5SXNJQ0prYVdabVpYSWlMQ0FpWTI5MWJuUWlMQ0FpYkdGemRFOXdkSE1pTENBaVlYSm5UR2x6ZENJc0lDSmhjbWR6SWl3Z0lsOUVZWFJsVkdsdFpTSXNJQ0pqYjI1bWFXY2lMQ0FpYjNRaUxDQWlaR0Y1SWl3Z0ltaHZkWElpTENBaWJXbHVkWFJsSWl3Z0luTmxZMjl1WkNJc0lDSnRhV3hzYVhObFkyOXVaQ0lzSUNKR2FYaGxaRTltWm5ObGRGcHZibVVpTENBaVpHRjBaU0lzSUNKdmNIUnBiMjV6SWl3Z0ltbHpSR0YwWlNJc0lDSjZiMjVsVkc5VmMyVWlMQ0FpYldsc2JHbHpaV052Ym1Seklpd2dJbWx6VG5WdFltVnlJaXdnSWtsdWRtRnNhV1JCY21kMWJXVnVkRVZ5Y205eUlpd2dJbk5sWTI5dVpITWlMQ0FpYm05eWJXRnNhWHBsVDJKcVpXTjBJaXdnSW1OdmJuUmhhVzV6VDNKa2FXNWhiQ0lzSUNKamIyNTBZV2x1YzBkeVpXZHZjbGxsWVhJaUxDQWlZMjl1ZEdGcGJuTkhjbVZuYjNKTlJDSXNJQ0pqYjI1MFlXbHVjMGR5WldkdmNpSXNJQ0prWldacGJtbDBaVmRsWld0RVpXWWlMQ0FpUTI5dVpteHBZM1JwYm1kVGNHVmphV1pwWTJGMGFXOXVSWEp5YjNJaUxDQWlkWE5sVjJWbGEwUmhkR0VpTENBaWRXNXBkSE1pTENBaVpHVm1ZWFZzZEZaaGJIVmxjeUlzSUNKdlltcE9iM2NpTENBaVozSmxaMjl5YVdGdVZHOVBjbVJwYm1Gc0lpd2dJbVp2ZFc1a1JtbHljM1FpTENBaWRpSXNJQ0pvYVdkb1pYSlBjbVJsY2tsdWRtRnNhV1FpTENBaWFHRnpTVzUyWVd4cFpGZGxaV3RFWVhSaElpd2dJbWhoYzBsdWRtRnNhV1JQY21ScGJtRnNSR0YwWVNJc0lDSm5jbVZuYjNKcFlXNGlMQ0FpZDJWbGExUnZSM0psWjI5eWFXRnVJaXdnSW05eVpHbHVZV3hVYjBkeVpXZHZjbWxoYmlJc0lDSjBjMFpwYm1Gc0lpd2dJbTltWm5ObGRFWnBibUZzSWl3Z0luWmhiSE1pTENBaWNHRnljMlZKVTA5RVlYUmxJaXdnSW5CaGNuTmxVa1pETWpneU1rUmhkR1VpTENBaWNHRnljMlZJVkZSUVJHRjBaU0lzSUNKbWJYUWlMQ0FpYkc5allXeGxJaXdnSW01MWJXSmxjbWx1WjFONWMzUmxiU0lzSUNKc2IyTmhiR1ZVYjFWelpTSXNJQ0p3WVhKelpVWnliMjFVYjJ0bGJuTWlMQ0FpY0dGeWMyVlRVVXdpTENBaWNtVmhjMjl1SWl3Z0ltVjRjR3hoYm1GMGFXOXVJaXdnSWtsdWRtRnNhV1JFWVhSbFZHbHRaVVZ5Y205eUlpd2dJa2x1Wm04aUxDQWlhWE5NWldGd1dXVmhjaUlzSUNKa1lYbHpTVzVaWldGeUlpd2dJbmRsWld0elNXNVhaV1ZyV1dWaGNpSXNJQ0pqWVd4bGJtUmhjaUlzSUNKclpXVndURzlqWVd4VWFXMWxJaXdnSW10bFpYQkRZV3hsYm1SaGNsUnBiV1VpTENBaWJtVjNWRk1pTENBaWIyWm1jMlYwUjNWbGMzTWlMQ0FpWVhOUFltb2lMQ0FpYjNWMGNIVjBRMkZzWlc1a1lYSWlMQ0FpZG1Gc2RXVnpJaXdnSW5ObGRIUnBibWRYWldWclUzUjFabVlpTENBaWJXbDRaV1FpTENBaVpIVnlZWFJwYjI0aUxDQWlibTl5YldGc2FYcGxaRlZ1YVhRaUxDQWljU0lzSUNKbWIzSnRZWFJQY0hSeklpd2dJa1JCVkVWZlUwaFBVbFFpTENBaVpYaDBJaXdnSW1sdVkyeDFaR1ZRY21WbWFYZ2lMQ0FpYVc1amJIVmtaVnB2Ym1VaUxDQWlhVzVqYkhWa1pVOW1abk5sZEZOd1lXTmxJaXdnSW1KaGMyVWlMQ0FpYjNSb1pYSkVZWFJsVkdsdFpTSXNJQ0prZFhKUGNIUnpJaXdnSW0xaGVXSmxRWEp5WVhraUxDQWliM1JvWlhKSmMweGhkR1Z5SWl3Z0ltVmhjbXhwWlhJaUxDQWliR0YwWlhJaUxDQWlaR2xtWm1Wa0lpd2dJbVJwWm1aZlpHVm1ZWFZzZENJc0lDSkpiblJsY25aaGJDSXNJQ0pwYm5CMWRFMXpJaXdnSW1Ga2FuVnpkR1ZrVkc5YWIyNWxJaXdnSW05MGFHVnlJaXdnSW5CaFpHUnBibWNpTENBaVpHRjBaVlJwYldWeklpd2dJbUpsYzNSQ2VTSXNJQ0pwSWl3Z0ltVjRjR3hoYVc1R2NtOXRWRzlyWlc1eklpd2dJa1JCVkVWZlRVVkVJaXdnSWtSQlZFVmZUVVZFWDFkSlZFaGZWMFZGUzBSQldTSXNJQ0pFUVZSRlgwWlZURXdpTENBaVJFRlVSVjlJVlVkRklpd2dJbFJKVFVWZlUwbE5VRXhGSWl3Z0lsUkpUVVZmVjBsVVNGOVRSVU5QVGtSVElpd2dJbFJKVFVWZlYwbFVTRjlUU0U5U1ZGOVBSa1pUUlZRaUxDQWlWRWxOUlY5WFNWUklYMHhQVGtkZlQwWkdVMFZVSWl3Z0lsUkpUVVZmTWpSZlUwbE5VRXhGSWl3Z0lsUkpUVVZmTWpSZlYwbFVTRjlUUlVOUFRrUlRJaXdnSWxSSlRVVmZNalJmVjBsVVNGOVRTRTlTVkY5UFJrWlRSVlFpTENBaVZFbE5SVjh5TkY5WFNWUklYMHhQVGtkZlQwWkdVMFZVSWl3Z0lrUkJWRVZVU1UxRlgxTklUMUpVSWl3Z0lrUkJWRVZVU1UxRlgxTklUMUpVWDFkSlZFaGZVMFZEVDA1RVV5SXNJQ0pFUVZSRlZFbE5SVjlOUlVRaUxDQWlSRUZVUlZSSlRVVmZUVVZFWDFkSlZFaGZVMFZEVDA1RVV5SXNJQ0pFUVZSRlZFbE5SVjlOUlVSZlYwbFVTRjlYUlVWTFJFRlpJaXdnSWtSQlZFVlVTVTFGWDBaVlRFd2lMQ0FpUkVGVVJWUkpUVVZmUmxWTVRGOVhTVlJJWDFORlEwOU9SRk1pTENBaVJFRlVSVlJKVFVWZlNGVkhSU0lzSUNKRVFWUkZWRWxOUlY5SVZVZEZYMWRKVkVoZlUwVkRUMDVFVXlJc0lDSm1jbWxsYm1Sc2VVUmhkR1ZVYVcxbElpd2dJbVJoZEdWVWFXMWxhWE5vSWl3Z0lsQWlMQ0FpWlcxdmFtbGZjbVZuWlhoZlpHVm1ZWFZzZENJc0lDSnViM0p0WVd4cGVtVkVkWEpoZEdsdmJpSXNJQ0prZFhJaUxDQWljbVZ1WkdWeVRXbHVhVzFoYkVSaGRHVWlMQ0FpZEdsdFpTSXNJQ0prWVhSbFJtOXliV0YwSWl3Z0ltUmhkR1ZVYVcxbFJtOXliV0YwSWl3Z0lteHZZMkZzWlNJc0lDSnlaVzVrWlhKTmFXNXBiV0ZzUkhWeVlYUnBiMjRpTENBaVpIVnlJaXdnSW01dmNtMWhiR2w2WlVSMWNtRjBhVzl1SWl3Z0luSmxjM1ZzZENJc0lDSm5aWFJHYVd4bFZHbDBiR1VpTENBaWNHRjBhQ0lzSUNKblpYUkZlSFJsYm5OcGIyNGlMQ0FpU0VWQlJFVlNYME5CVGs5T1NVTkJURWxhUlZJaUxDQWlaVzF2YW1sZmNtVm5aWGhmWkdWbVlYVnNkQ0lzSUNKZklpd2dJbkpsYzNWc2RDSXNJQ0p1YjNKdFlXeHBlbVZJWldGa1pYSkdiM0pNYVc1cklpd2dJbWhsWVdSbGNpSXNJQ0pNYVc1cklpd2dJbDlNYVc1cklpd2dJbkJoZEdnaUxDQWlaVzFpWldRaUxDQWlaR2x6Y0d4aGVTSXNJQ0pzYVc1cmNHRjBhQ0lzSUNKemNHeHBkQ0lzSUNKb1pXRmtaWElpTENBaWJtOXliV0ZzYVhwbFNHVmhaR1Z5Um05eVRHbHVheUlzSUNKaWJHOWphMGxrSWl3Z0ltOWlhbVZqZENJc0lDSnlZWGRzYVc1cklpd2dJbXhwYm1zaUxDQWljM0JzYVhSUGJsVnVaWE5qWVhCbFpGQnBjR1VpTENBaVptbGxiR1J6SWl3Z0ltSnNiMk5ySWl3Z0ltOTBhR1Z5SWl3Z0luSmxjM1ZzZENJc0lDSm5aWFJHYVd4bFZHbDBiR1VpTENBaVgyRWlMQ0FpWDJJaUxDQWlaWE5qWVhCbFpDSXNJQ0p3YVhCbElpd2dJa0ZNU1VGVElpd2dJa1JQUXlJc0lDSk5RVkFpTENBaVVFRkpVaUlzSUNKVFEwRk1RVklpTENBaVUwVlJJaXdnSWs1UFJFVmZWRmxRUlNJc0lDSnBjMEZzYVdGeklpd2dJbTV2WkdVaUxDQWlhWE5FYjJOMWJXVnVkQ0lzSUNKcGMwMWhjQ0lzSUNKcGMxQmhhWElpTENBaWFYTlRZMkZzWVhJaUxDQWlhWE5UWlhFaUxDQWlhWE5EYjJ4c1pXTjBhVzl1SWl3Z0ltbHpUbTlrWlNJc0lDSm9ZWE5CYm1Ob2IzSWlMQ0FpUWxKRlFVc2lMQ0FpVTB0SlVDSXNJQ0pTUlUxUFZrVWlMQ0FpZG1semFYUWlMQ0FpYm05a1pTSXNJQ0oyYVhOcGRHOXlJaXdnSW5acGMybDBiM0pmSWl3Z0ltbHVhWFJXYVhOcGRHOXlJaXdnSW1selJHOWpkVzFsYm5RaUxDQWlkbWx6YVhSZklpd2dJbXRsZVNJc0lDSndZWFJvSWl3Z0ltTjBjbXdpTENBaVkyRnNiRlpwYzJsMGIzSWlMQ0FpYVhOT2IyUmxJaXdnSW1selVHRnBjaUlzSUNKeVpYQnNZV05sVG05a1pTSXNJQ0pwYzBOdmJHeGxZM1JwYjI0aUxDQWlZMmtpTENBaVkyc2lMQ0FpWTNZaUxDQWlkbWx6YVhSQmMzbHVZeUlzSUNKMmFYTnBkRUZ6ZVc1alh5SXNJQ0pmWVNJc0lDSmZZaUlzSUNKZll5SXNJQ0pmWkNJc0lDSmZaU0lzSUNKcGMwMWhjQ0lzSUNKcGMxTmxjU0lzSUNKcGMxTmpZV3hoY2lJc0lDSnBjMEZzYVdGeklpd2dJbkJoY21WdWRDSXNJQ0p3ZENJc0lDSmxjMk5oY0dWRGFHRnljeUlzSUNKbGMyTmhjR1ZVWVdkT1lXMWxJaXdnSW5SdUlpd2dJbU5vSWl3Z0lrUnBjbVZqZEdsMlpYTWlMQ0FpWDBScGNtVmpkR2wyWlhNaUxDQWllV0Z0YkNJc0lDSjBZV2R6SWl3Z0ltTnZjSGtpTENBaWNtVnpJaXdnSW14cGJtVWlMQ0FpYjI1RmNuSnZjaUlzSUNKd1lYSjBjeUlzSUNKdVlXMWxJaXdnSW1oaGJtUnNaU0lzSUNKd2NtVm1hWGdpTENBaWRtVnljMmx2YmlJc0lDSnBjMVpoYkdsa0lpd2dJbk52ZFhKalpTSXNJQ0oyWlhKaVlYUnBiU0lzSUNKemRXWm1hWGdpTENBaVpYSnliM0lpTENBaWRHRm5JaXdnSW1Sdll5SXNJQ0pzYVc1bGN5SXNJQ0owWVdkRmJuUnlhV1Z6SWl3Z0luUmhaMDVoYldWeklpd2dJbWx6VG05a1pTSXNJQ0oyYVhOcGRDSXNJQ0pmYTJWNUlpd2dJbTV2WkdVaUxDQWlZVzVqYUc5eVNYTldZV3hwWkNJc0lDSmhibU5vYjNJaUxDQWliWE5uSWl3Z0ltRnVZMmh2Y2s1aGJXVnpJaXdnSW5KdmIzUWlMQ0FpWVc1amFHOXljeUlzSUNKMmFYTnBkQ0lzSUNKZmEyVjVJaXdnSW01dlpHVWlMQ0FpWm1sdVpFNWxkMEZ1WTJodmNpSXNJQ0p3Y21WbWFYZ2lMQ0FpWlhoamJIVmtaU0lzSUNKcElpd2dJbTVoYldVaUxDQWlZM0psWVhSbFRtOWtaVUZ1WTJodmNuTWlMQ0FpWkc5aklpd2dJbUZzYVdGelQySnFaV04wY3lJc0lDSnpiM1Z5WTJWUFltcGxZM1J6SWl3Z0luQnlaWFpCYm1Ob2IzSnpJaXdnSW5OdmRYSmpaU0lzSUNKeVpXWWlMQ0FpYVhOVFkyRnNZWElpTENBaWFYTkRiMnhzWldOMGFXOXVJaXdnSW1WeWNtOXlJaXdnSW1Gd2NHeDVVbVYyYVhabGNpSXNJQ0p5WlhacGRtVnlJaXdnSW05aWFpSXNJQ0pyWlhraUxDQWlkbUZzSWl3Z0lta2lMQ0FpYkdWdUlpd2dJbll3SWl3Z0luWXhJaXdnSW1zaUxDQWlkRzlLVXlJc0lDSjJZV3gxWlNJc0lDSmhjbWNpTENBaVkzUjRJaXdnSW5ZaUxDQWlhU0lzSUNKb1lYTkJibU5vYjNJaUxDQWlaR0YwWVNJc0lDSnlaWE1pTENBaVRtOWtaVUpoYzJVaUxDQWlkSGx3WlNJc0lDSk9UMFJGWDFSWlVFVWlMQ0FpWTI5d2VTSXNJQ0prYjJNaUxDQWliV0Z3UVhOTllYQWlMQ0FpYldGNFFXeHBZWE5EYjNWdWRDSXNJQ0p2YmtGdVkyaHZjaUlzSUNKeVpYWnBkbVZ5SWl3Z0ltbHpSRzlqZFcxbGJuUWlMQ0FpWTNSNElpd2dJbkpsY3lJc0lDSjBiMHBUSWl3Z0ltTnZkVzUwSWl3Z0ltRndjR3g1VW1WMmFYWmxjaUlzSUNKQmJHbGhjeUlzSUNKT2IyUmxRbUZ6WlNJc0lDSnpiM1Z5WTJVaUxDQWlRVXhKUVZNaUxDQWlaRzlqSWl3Z0ltWnZkVzVrSWl3Z0luWnBjMmwwSWl3Z0lsOXJaWGtpTENBaWJtOWtaU0lzSUNKZllYSm5JaXdnSW1OMGVDSXNJQ0poYm1Ob2IzSnpJaXdnSW0xaGVFRnNhV0Z6UTI5MWJuUWlMQ0FpYlhObklpd2dJbVJoZEdFaUxDQWlkRzlLVXlJc0lDSm5aWFJCYkdsaGMwTnZkVzUwSWl3Z0lsOXZia052YlcxbGJuUWlMQ0FpWDI5dVEyaHZiWEJMWldWd0lpd2dJbk55WXlJc0lDSmhibU5vYjNKSmMxWmhiR2xrSWl3Z0ltbHpRV3hwWVhNaUxDQWlZVzVqYUc5eUlpd2dJbWx6UTI5c2JHVmpkR2x2YmlJc0lDSmpiM1Z1ZENJc0lDSnBkR1Z0SWl3Z0ltTWlMQ0FpYVhOUVlXbHlJaXdnSW10aklpd2dJblpqSWl3Z0ltbHpVMk5oYkdGeVZtRnNkV1VpTENBaWRtRnNkV1VpTENBaVUyTmhiR0Z5SWl3Z0lrNXZaR1ZDWVhObElpd2dJbE5EUVV4QlVpSXNJQ0poY21jaUxDQWlZM1I0SWl3Z0luUnZTbE1pTENBaVpHVm1ZWFZzZEZSaFoxQnlaV1pwZUNJc0lDSm1hVzVrVkdGblQySnFaV04wSWl3Z0luWmhiSFZsSWl3Z0luUmhaMDVoYldVaUxDQWlkR0ZuY3lJc0lDSmZZU0lzSUNKdFlYUmphQ0lzSUNKMElpd2dJblJoWjA5aWFpSXNJQ0pqY21WaGRHVk9iMlJsSWl3Z0ltTjBlQ0lzSUNKZllpSXNJQ0pmWXlJc0lDSnBjMFJ2WTNWdFpXNTBJaXdnSW1selRtOWtaU0lzSUNKcGMxQmhhWElpTENBaWJXRndJaXdnSWsxQlVDSXNJQ0poYkdsaGMwUjFjR3hwWTJGMFpVOWlhbVZqZEhNaUxDQWliMjVCYm1Ob2IzSWlMQ0FpYjI1VVlXZFBZbW9pTENBaWMyTm9aVzFoSWl3Z0luTnZkWEpqWlU5aWFtVmpkSE1pTENBaWNtVm1JaXdnSWtGc2FXRnpJaXdnSW01dlpHVWlMQ0FpVTJOaGJHRnlJaXdnSWxORlVTSXNJQ0pqYjJ4c1pXTjBhVzl1Um5KdmJWQmhkR2dpTENBaWMyTm9aVzFoSWl3Z0luQmhkR2dpTENBaWRtRnNkV1VpTENBaWRpSXNJQ0pwSWl3Z0ltc2lMQ0FpWVNJc0lDSmpjbVZoZEdWT2IyUmxJaXdnSW1selJXMXdkSGxRWVhSb0lpd2dJa052Ykd4bFkzUnBiMjRpTENBaVRtOWtaVUpoYzJVaUxDQWlkSGx3WlNJc0lDSmpiM0I1SWl3Z0ltbDBJaXdnSW1selRtOWtaU0lzSUNKcGMxQmhhWElpTENBaWEyVjVJaXdnSW5KbGMzUWlMQ0FpYm05a1pTSXNJQ0pwYzBOdmJHeGxZM1JwYjI0aUxDQWlhMlZsY0ZOallXeGhjaUlzSUNKcGMxTmpZV3hoY2lJc0lDSmhiR3h2ZDFOallXeGhjaUlzSUNKdUlpd2dJbk4wY21sdVoybG1lVU52YlcxbGJuUWlMQ0FpYzNSeUlpd2dJbWx1WkdWdWRFTnZiVzFsYm5RaUxDQWlZMjl0YldWdWRDSXNJQ0pwYm1SbGJuUWlMQ0FpYkdsdVpVTnZiVzFsYm5RaUxDQWlSazlNUkY5R1RFOVhJaXdnSWtaUFRFUmZRa3hQUTBzaUxDQWlSazlNUkY5UlZVOVVSVVFpTENBaVptOXNaRVpzYjNkTWFXNWxjeUlzSUNKMFpYaDBJaXdnSW1sdVpHVnVkQ0lzSUNKdGIyUmxJaXdnSW1sdVpHVnVkRUYwVTNSaGNuUWlMQ0FpYkdsdVpWZHBaSFJvSWl3Z0ltMXBia052Ym5SbGJuUlhhV1IwYUNJc0lDSnZia1p2YkdRaUxDQWliMjVQZG1WeVpteHZkeUlzSUNKbGJtUlRkR1Z3SWl3Z0ltWnZiR1J6SWl3Z0ltVnpZMkZ3WldSR2IyeGtjeUlzSUNKbGJtUWlMQ0FpYzNCc2FYUWlMQ0FpY0hKbGRpSXNJQ0p2ZG1WeVpteHZkeUlzSUNKcElpd2dJbVZ6WTFOMFlYSjBJaXdnSW1WelkwVnVaQ0lzSUNKamIyNXpkVzFsVFc5eVpVbHVaR1Z1ZEdWa1RHbHVaWE1pTENBaVkyZ2lMQ0FpYm1WNGRDSXNJQ0pxSWl3Z0luSmxjeUlzSUNKbWIyeGtJaXdnSW5OMFlYSjBJaXdnSW1kbGRFWnZiR1JQY0hScGIyNXpJaXdnSW1OMGVDSXNJQ0pwYzBKc2IyTnJJaXdnSW1OdmJuUmhhVzV6Ukc5amRXMWxiblJOWVhKclpYSWlMQ0FpYzNSeUlpd2dJbXhwYm1WTVpXNW5kR2hQZG1WeVRHbHRhWFFpTENBaWJHbHVaVmRwWkhSb0lpd2dJbWx1WkdWdWRFeGxibWQwYUNJc0lDSnNhVzFwZENJc0lDSnpkSEpNWlc0aUxDQWljM1JoY25RaUxDQWlaRzkxWW14bFVYVnZkR1ZrVTNSeWFXNW5JaXdnSW5aaGJIVmxJaXdnSW1wemIyNGlMQ0FpYVcxd2JHbGphWFJMWlhraUxDQWliV2x1VFhWc2RHbE1hVzVsVEdWdVozUm9JaXdnSW1sdVpHVnVkQ0lzSUNKcElpd2dJbU5vSWl3Z0ltTnZaR1VpTENBaVptOXNaRVpzYjNkTWFXNWxjeUlzSUNKR1QweEVYMUZWVDFSRlJDSXNJQ0p6YVc1bmJHVlJkVzkwWldSVGRISnBibWNpTENBaWNtVnpJaXdnSWtaUFRFUmZSa3hQVnlJc0lDSnhkVzkwWldSVGRISnBibWNpTENBaWMybHVaMnhsVVhWdmRHVWlMQ0FpY1hNaUxDQWlhR0Z6Ukc5MVlteGxJaXdnSW1oaGMxTnBibWRzWlNJc0lDSmliRzlqYTBWdVpFNWxkMnhwYm1Weklpd2dJbVVpTENBaVlteHZZMnRUZEhKcGJtY2lMQ0FpWTI5dGJXVnVkQ0lzSUNKMGVYQmxJaXdnSW05dVEyOXRiV1Z1ZENJc0lDSnZia05vYjIxd1MyVmxjQ0lzSUNKaWJHOWphMUYxYjNSbElpd2dJbU52YlcxbGJuUlRkSEpwYm1jaUxDQWliR2wwWlhKaGJDSXNJQ0pUWTJGc1lYSWlMQ0FpWTJodmJYQWlMQ0FpWlc1a1UzUmhjblFpTENBaVpXNWtJaXdnSW1WdVpFNXNVRzl6SWl3Z0luTjBZWEowVjJsMGFGTndZV05sSWl3Z0luTjBZWEowUlc1a0lpd2dJbk4wWVhKMFRteFFiM01pTENBaWFHVmhaR1Z5SWl3Z0ltSnZaSGtpTENBaVJrOU1SRjlDVEU5RFN5SXNJQ0p3YkdGcGJsTjBjbWx1WnlJc0lDSnBkR1Z0SWl3Z0ltRmpkSFZoYkZOMGNtbHVaeUlzSUNKcGJtUmxiblJUZEdWd0lpd2dJbWx1Um14dmR5SXNJQ0owWlhOMElpd2dJblJoWnlJc0lDSmZZU0lzSUNKamIyMXdZWFFpTENBaWRHRm5jeUlzSUNKemRISnBibWRwWm5sVGRISnBibWNpTENBaWMzTWlMQ0FpWDNOMGNtbHVaMmxtZVNJc0lDSmZkSGx3WlNJc0lDSmtaV1poZFd4MFMyVjVWSGx3WlNJc0lDSmtaV1poZFd4MFUzUnlhVzVuVkhsd1pTSXNJQ0owSWl3Z0ltTnlaV0YwWlZOMGNtbHVaMmxtZVVOdmJuUmxlSFFpTENBaVpHOWpJaXdnSW05d2RHbHZibk1pTENBaWIzQjBJaXdnSW5OMGNtbHVaMmxtZVVOdmJXMWxiblFpTENBaWFXNUdiRzkzSWl3Z0ltZGxkRlJoWjA5aWFtVmpkQ0lzSUNKMFlXZHpJaXdnSW1sMFpXMGlMQ0FpWDJFaUxDQWlYMklpTENBaVgyTWlMQ0FpWDJRaUxDQWliV0YwWTJnaUxDQWlkQ0lzSUNKMFlXZFBZbW9pTENBaWIySnFJaXdnSW1selUyTmhiR0Z5SWl3Z0luUmxjM1JOWVhSamFDSXNJQ0p1WVcxbElpd2dJbk4wY21sdVoybG1lVkJ5YjNCeklpd2dJbTV2WkdVaUxDQWlZVzVqYUc5eWN5SXNJQ0p3Y205d2N5SXNJQ0poYm1Ob2IzSWlMQ0FpYVhORGIyeHNaV04wYVc5dUlpd2dJbUZ1WTJodmNrbHpWbUZzYVdRaUxDQWlkR0ZuSWl3Z0luTjBjbWx1WjJsbWVTSXNJQ0pqZEhnaUxDQWliMjVEYjIxdFpXNTBJaXdnSW05dVEyaHZiWEJMWldWd0lpd2dJbWx6VUdGcGNpSXNJQ0pwYzBGc2FXRnpJaXdnSW1selRtOWtaU0lzSUNKdklpd2dJbk4wY2lJc0lDSnpkSEpwYm1kcFpubFRkSEpwYm1jaUxDQWljM1J5YVc1bmFXWjVVR0ZwY2lJc0lDSnJaWGtpTENBaWRtRnNkV1VpTENBaVkzUjRJaXdnSW05dVEyOXRiV1Z1ZENJc0lDSnZia05vYjIxd1MyVmxjQ0lzSUNKZllTSXNJQ0pmWWlJc0lDSmhiR3hPZFd4c1ZtRnNkV1Z6SWl3Z0ltUnZZeUlzSUNKcGJtUmxiblFpTENBaWFXNWtaVzUwVTNSbGNDSXNJQ0pqYjIxdFpXNTBVM1J5YVc1bklpd2dJbWx1WkdWdWRGTmxjU0lzSUNKemFXMXdiR1ZMWlhseklpd2dJbXRsZVVOdmJXMWxiblFpTENBaWFYTk9iMlJsSWl3Z0ltbHpRMjlzYkdWamRHbHZiaUlzSUNKdGMyY2lMQ0FpWlhod2JHbGphWFJMWlhraUxDQWlhWE5UWTJGc1lYSWlMQ0FpVTJOaGJHRnlJaXdnSW10bGVVTnZiVzFsYm5SRWIyNWxJaXdnSW1Ob2IyMXdTMlZsY0NJc0lDSnpkSElpTENBaWMzUnlhVzVuYVdaNUlpd2dJbXhwYm1WRGIyMXRaVzUwSWl3Z0luWnpZaUlzSUNKMlkySWlMQ0FpZG1Gc2RXVkRiMjF0Wlc1MElpd2dJbWx6VTJWeElpd2dJblpoYkhWbFEyOXRiV1Z1ZEVSdmJtVWlMQ0FpZG1Gc2RXVlRkSElpTENBaWQzTWlMQ0FpWTNNaUxDQWlhVzVrWlc1MFEyOXRiV1Z1ZENJc0lDSjJjekFpTENBaWJtd3dJaXdnSW1oaGMwNWxkMnhwYm1VaUxDQWlabXh2ZHlJc0lDSm9ZWE5RY205d2MweHBibVVpTENBaWMzQXdJaXdnSW5kaGNtNGlMQ0FpYkc5blRHVjJaV3dpTENBaWQyRnlibWx1WnlJc0lDSk5SVkpIUlY5TFJWa2lMQ0FpYldWeVoyVWlMQ0FpZG1Gc2RXVWlMQ0FpVTJOaGJHRnlJaXdnSW1Ga1pFMWxjbWRsVkc5S1UwMWhjQ0lzSUNKcGMwMWxjbWRsUzJWNUlpd2dJbU4wZUNJc0lDSnJaWGtpTENBaWFYTlRZMkZzWVhJaUxDQWlkR0ZuSWl3Z0ltMWhjQ0lzSUNKcGMwRnNhV0Z6SWl3Z0ltbHpVMlZ4SWl3Z0ltbDBJaXdnSW0xbGNtZGxWbUZzZFdVaUxDQWljMjkxY21ObElpd2dJbWx6VFdGd0lpd2dJbk55WTAxaGNDSXNJQ0poWkdSUVlXbHlWRzlLVTAxaGNDSXNJQ0pqZEhnaUxDQWliV0Z3SWl3Z0ltdGxlU0lzSUNKMllXeDFaU0lzSUNKcGMwNXZaR1VpTENBaWFYTk5aWEpuWlV0bGVTSXNJQ0poWkdSTlpYSm5aVlJ2U2xOTllYQWlMQ0FpYW5OTFpYa2lMQ0FpZEc5S1V5SXNJQ0p6ZEhKcGJtZExaWGtpTENBaWMzUnlhVzVuYVdaNVMyVjVJaXdnSW1welZtRnNkV1VpTENBaWMzUnlRM1I0SWl3Z0ltTnlaV0YwWlZOMGNtbHVaMmxtZVVOdmJuUmxlSFFpTENBaWJtOWtaU0lzSUNKemRISkxaWGtpTENBaWFuTnZibE4wY2lJc0lDSjNZWEp1SWl3Z0ltTnlaV0YwWlZCaGFYSWlMQ0FpYTJWNUlpd2dJblpoYkhWbElpd2dJbU4wZUNJc0lDSnJJaXdnSW1OeVpXRjBaVTV2WkdVaUxDQWlkaUlzSUNKUVlXbHlJaXdnSWw5UVlXbHlJaXdnSWs1UFJFVmZWRmxRUlNJc0lDSlFRVWxTSWl3Z0luTmphR1Z0WVNJc0lDSnBjMDV2WkdVaUxDQWlYeUlzSUNKd1lXbHlJaXdnSW1Ga1pGQmhhWEpVYjBwVFRXRndJaXdnSW05dVEyOXRiV1Z1ZENJc0lDSnZia05vYjIxd1MyVmxjQ0lzSUNKemRISnBibWRwWm5sUVlXbHlJaXdnSW5OMGNtbHVaMmxtZVVOdmJHeGxZM1JwYjI0aUxDQWlZMjlzYkdWamRHbHZiaUlzSUNKamRIZ2lMQ0FpYjNCMGFXOXVjeUlzSUNKZllTSXNJQ0p6ZEhKcGJtZHBabmxHYkc5M1EyOXNiR1ZqZEdsdmJpSXNJQ0p6ZEhKcGJtZHBabmxDYkc5amEwTnZiR3hsWTNScGIyNGlMQ0FpWTI5dGJXVnVkQ0lzSUNKcGRHVnRjeUlzSUNKaWJHOWphMGwwWlcxUWNtVm1hWGdpTENBaVpteHZkME5vWVhKeklpd2dJbWwwWlcxSmJtUmxiblFpTENBaWIyNURhRzl0Y0V0bFpYQWlMQ0FpYjI1RGIyMXRaVzUwSWl3Z0ltbHVaR1Z1ZENJc0lDSmpiMjF0Wlc1MFUzUnlhVzVuSWl3Z0ltbDBaVzFEZEhnaUxDQWlZMmh2YlhCTFpXVndJaXdnSW14cGJtVnpJaXdnSW1raUxDQWlhWFJsYlNJc0lDSnBjMDV2WkdVaUxDQWlZV1JrUTI5dGJXVnVkRUpsWm05eVpTSXNJQ0pwYzFCaGFYSWlMQ0FpYVdzaUxDQWljM1J5SWl3Z0luTjBjbWx1WjJsbWVTSXNJQ0pzYVc1bFEyOXRiV1Z1ZENJc0lDSnNhVzVsSWl3Z0ltbHVaR1Z1ZEVOdmJXMWxiblFpTENBaWFXNWtaVzUwVTNSbGNDSXNJQ0ptWTFCaFpHUnBibWNpTENBaWNtVnhUbVYzYkdsdVpTSXNJQ0pzYVc1bGMwRjBWbUZzZFdVaUxDQWlhWFlpTENBaWMzUmhjblFpTENBaVpXNWtJaXdnSW14bGJpSXNJQ0p6ZFcwaUxDQWlhV01pTENBaVptbHVaRkJoYVhJaUxDQWlhWFJsYlhNaUxDQWlhMlY1SWl3Z0ltc2lMQ0FpYVhOVFkyRnNZWElpTENBaWFYUWlMQ0FpYVhOUVlXbHlJaXdnSWxsQlRVeE5ZWEFpTENBaVEyOXNiR1ZqZEdsdmJpSXNJQ0p6WTJobGJXRWlMQ0FpVFVGUUlpd2dJbTlpYWlJc0lDSmpkSGdpTENBaWEyVmxjRlZ1WkdWbWFXNWxaQ0lzSUNKeVpYQnNZV05sY2lJc0lDSnRZWEFpTENBaVlXUmtJaXdnSW5aaGJIVmxJaXdnSW1OeVpXRjBaVkJoYVhJaUxDQWljR0ZwY2lJc0lDSnZkbVZ5ZDNKcGRHVWlMQ0FpWDJFaUxDQWlYM0JoYVhJaUxDQWlVR0ZwY2lJc0lDSndjbVYySWl3Z0luTnZjblJGYm5SeWFXVnpJaXdnSW1selUyTmhiR0Z5Vm1Gc2RXVWlMQ0FpYVNJc0lDSnBkR1Z0SWl3Z0ltdGxaWEJUWTJGc1lYSWlMQ0FpYm05a1pTSXNJQ0pmSWl3Z0lsUjVjR1VpTENBaVlXUmtVR0ZwY2xSdlNsTk5ZWEFpTENBaWIyNURiMjF0Wlc1MElpd2dJbTl1UTJodmJYQkxaV1Z3SWl3Z0luTjBjbWx1WjJsbWVVTnZiR3hsWTNScGIyNGlMQ0FpYldGd0lpd2dJbGxCVFV4TllYQWlMQ0FpYjI1RmNuSnZjaUlzSUNKcGMwMWhjQ0lzSUNKelkyaGxiV0VpTENBaWIySnFJaXdnSW1OMGVDSXNJQ0paUVUxTVUyVnhJaXdnSWtOdmJHeGxZM1JwYjI0aUxDQWljMk5vWlcxaElpd2dJbE5GVVNJc0lDSjJZV3gxWlNJc0lDSnJaWGtpTENBaWFXUjRJaXdnSW1GelNYUmxiVWx1WkdWNElpd2dJbXRsWlhCVFkyRnNZWElpTENBaWFYUWlMQ0FpYVhOVFkyRnNZWElpTENBaWNISmxkaUlzSUNKcGMxTmpZV3hoY2xaaGJIVmxJaXdnSWw4aUxDQWlZM1I0SWl3Z0luTmxjU0lzSUNKcElpd2dJbWwwWlcwaUxDQWlkRzlLVXlJc0lDSnZia052YlcxbGJuUWlMQ0FpYjI1RGFHOXRjRXRsWlhBaUxDQWljM1J5YVc1bmFXWjVRMjlzYkdWamRHbHZiaUlzSUNKdlltb2lMQ0FpY21Wd2JHRmpaWElpTENBaVkzSmxZWFJsVG05a1pTSXNJQ0p6WlhFaUxDQWlXVUZOVEZObGNTSXNJQ0p2YmtWeWNtOXlJaXdnSW1selUyVnhJaXdnSW5OamFHVnRZU0lzSUNKdlltb2lMQ0FpWTNSNElpd2dJbk4wY21sdVp5SXNJQ0oyWVd4MVpTSXNJQ0p6ZEhJaUxDQWlhWFJsYlNJc0lDSmpkSGdpTENBaWIyNURiMjF0Wlc1MElpd2dJbTl1UTJodmJYQkxaV1Z3SWl3Z0luTjBjbWx1WjJsbWVWTjBjbWx1WnlJc0lDSnVkV3hzVkdGbklpd2dJblpoYkhWbElpd2dJbE5qWVd4aGNpSXNJQ0p6YjNWeVkyVWlMQ0FpWTNSNElpd2dJbUp2YjJ4VVlXY2lMQ0FpZG1Gc2RXVWlMQ0FpYzNSeUlpd2dJbE5qWVd4aGNpSXNJQ0p6YjNWeVkyVWlMQ0FpWTNSNElpd2dJbk4ySWl3Z0luTjBjbWx1WjJsbWVVNTFiV0psY2lJc0lDSm1iM0p0WVhRaUxDQWliV2x1Um5KaFkzUnBiMjVFYVdkcGRITWlMQ0FpZEdGbklpd2dJblpoYkhWbElpd2dJbTUxYlNJc0lDSnVJaXdnSW1raUxDQWlaQ0lzSUNKbWJHOWhkRTVoVGlJc0lDSjJZV3gxWlNJc0lDSnpkSElpTENBaWMzUnlhVzVuYVdaNVRuVnRZbVZ5SWl3Z0ltWnNiMkYwUlhod0lpd2dJbTV2WkdVaUxDQWliblZ0SWl3Z0ltWnNiMkYwSWl3Z0lsTmpZV3hoY2lJc0lDSmtiM1FpTENBaWFXNTBTV1JsYm5ScFpua2lMQ0FpZG1Gc2RXVWlMQ0FpYVc1MFVtVnpiMngyWlNJc0lDSnpkSElpTENBaWIyWm1jMlYwSWl3Z0luSmhaR2w0SWl3Z0ltbHVkRUZ6UW1sblNXNTBJaXdnSW1sdWRGTjBjbWx1WjJsbWVTSXNJQ0p1YjJSbElpd2dJbkJ5WldacGVDSXNJQ0p6ZEhKcGJtZHBabmxPZFcxaVpYSWlMQ0FpYVc1MFQyTjBJaXdnSWw5dmJrVnljbTl5SWl3Z0ltOXdkQ0lzSUNKcGJuUWlMQ0FpYVc1MFNHVjRJaXdnSW5OamFHVnRZU0lzSUNKdFlYQWlMQ0FpYzJWeElpd2dJbk4wY21sdVp5SXNJQ0p1ZFd4c1ZHRm5JaXdnSW1KdmIyeFVZV2NpTENBaWFXNTBUMk4wSWl3Z0ltbHVkQ0lzSUNKcGJuUklaWGdpTENBaVpteHZZWFJPWVU0aUxDQWlabXh2WVhSRmVIQWlMQ0FpWm14dllYUWlMQ0FpYVc1MFNXUmxiblJwWm5raUxDQWlkbUZzZFdVaUxDQWljM1J5YVc1bmFXWjVTbE5QVGlJc0lDSnFjMjl1VTJOaGJHRnljeUlzSUNKemRISWlMQ0FpVTJOaGJHRnlJaXdnSWw5dmJrVnljbTl5SWl3Z0ltbHVkRUZ6UW1sblNXNTBJaXdnSW1wemIyNUZjbkp2Y2lJc0lDSnZia1Z5Y205eUlpd2dJbk5qYUdWdFlTSXNJQ0p0WVhBaUxDQWljMlZ4SWl3Z0ltSnBibUZ5ZVNJc0lDSjJZV3gxWlNJc0lDSnpjbU1pTENBaWIyNUZjbkp2Y2lJc0lDSnpkSElpTENBaVluVm1abVZ5SWl3Z0lta2lMQ0FpWTI5dGJXVnVkQ0lzSUNKMGVYQmxJaXdnSW1OMGVDSXNJQ0p2YmtOdmJXMWxiblFpTENBaWIyNURhRzl0Y0V0bFpYQWlMQ0FpWW5WbUlpd2dJbk1pTENBaVUyTmhiR0Z5SWl3Z0lteHBibVZYYVdSMGFDSXNJQ0p1SWl3Z0lteHBibVZ6SWl3Z0ltOGlMQ0FpYzNSeWFXNW5hV1o1VTNSeWFXNW5JaXdnSW5KbGMyOXNkbVZRWVdseWN5SXNJQ0p6WlhFaUxDQWliMjVGY25KdmNpSXNJQ0pmWVNJc0lDSnBjMU5sY1NJc0lDSnBJaXdnSW1sMFpXMGlMQ0FpYVhOUVlXbHlJaXdnSW1selRXRndJaXdnSW5CaGFYSWlMQ0FpVUdGcGNpSXNJQ0pUWTJGc1lYSWlMQ0FpWTI0aUxDQWlZM0psWVhSbFVHRnBjbk1pTENBaWMyTm9aVzFoSWl3Z0ltbDBaWEpoWW14bElpd2dJbU4wZUNJc0lDSnlaWEJzWVdObGNpSXNJQ0p3WVdseWN5SXNJQ0paUVUxTVUyVnhJaXdnSW1sMElpd2dJbXRsZVNJc0lDSjJZV3gxWlNJc0lDSnJaWGx6SWl3Z0ltTnlaV0YwWlZCaGFYSWlMQ0FpV1VGTlRFOU5ZWEFpTENBaVgxbEJUVXhQVFdGd0lpd2dJbGxCVFV4VFpYRWlMQ0FpV1VGTlRFMWhjQ0lzSUNKZklpd2dJbU4wZUNJc0lDSnRZWEFpTENBaWNHRnBjaUlzSUNKclpYa2lMQ0FpZG1Gc2RXVWlMQ0FpYVhOUVlXbHlJaXdnSW5SdlNsTWlMQ0FpYzJOb1pXMWhJaXdnSW1sMFpYSmhZbXhsSWl3Z0luQmhhWEp6SWl3Z0ltTnlaV0YwWlZCaGFYSnpJaXdnSW05dFlYQWlMQ0FpYzJWeElpd2dJbTl1UlhKeWIzSWlMQ0FpY21WemIyeDJaVkJoYVhKeklpd2dJbk5sWlc1TFpYbHpJaXdnSW1selUyTmhiR0Z5SWl3Z0ltSnZiMnhUZEhKcGJtZHBabmtpTENBaWRtRnNkV1VpTENBaWMyOTFjbU5sSWl3Z0ltTjBlQ0lzSUNKMGNuVmxWR0ZuSWl3Z0ltWmhiSE5sVkdGbklpd2dJbE5qWVd4aGNpSXNJQ0ptYkc5aGRFNWhUaUlzSUNKMllXeDFaU0lzSUNKemRISWlMQ0FpYzNSeWFXNW5hV1o1VG5WdFltVnlJaXdnSW1ac2IyRjBSWGh3SWl3Z0ltNXZaR1VpTENBaWJuVnRJaXdnSW1ac2IyRjBJaXdnSWxOallXeGhjaUlzSUNKa2IzUWlMQ0FpWmlJc0lDSnBiblJKWkdWdWRHbG1lU0lzSUNKMllXeDFaU0lzSUNKcGJuUlNaWE52YkhabElpd2dJbk4wY2lJc0lDSnZabVp6WlhRaUxDQWljbUZrYVhnaUxDQWlhVzUwUVhOQ2FXZEpiblFpTENBaWMybG5iaUlzSUNKdUlpd2dJbWx1ZEZOMGNtbHVaMmxtZVNJc0lDSnViMlJsSWl3Z0luQnlaV1pwZUNJc0lDSnpkSEpwYm1kcFpubE9kVzFpWlhJaUxDQWlhVzUwUW1sdUlpd2dJbDl2YmtWeWNtOXlJaXdnSW05d2RDSXNJQ0pwYm5SUFkzUWlMQ0FpYVc1MElpd2dJbWx1ZEVobGVDSXNJQ0paUVUxTVUyVjBJaXdnSWw5WlFVMU1VMlYwSWl3Z0lsbEJUVXhOWVhBaUxDQWljMk5vWlcxaElpd2dJbXRsZVNJc0lDSndZV2x5SWl3Z0ltbHpVR0ZwY2lJc0lDSlFZV2x5SWl3Z0ltWnBibVJRWVdseUlpd2dJbXRsWlhCUVlXbHlJaXdnSW1selUyTmhiR0Z5SWl3Z0luWmhiSFZsSWl3Z0luQnlaWFlpTENBaVh5SXNJQ0pqZEhnaUxDQWliMjVEYjIxdFpXNTBJaXdnSW05dVEyaHZiWEJMWldWd0lpd2dJbWwwWlhKaFlteGxJaXdnSW5KbGNHeGhZMlZ5SWl3Z0luTmxkQ0lzSUNKamNtVmhkR1ZRWVdseUlpd2dJbTFoY0NJc0lDSnZia1Z5Y205eUlpd2dJbWx6VFdGd0lpd2dJbkJoY25ObFUyVjRZV2RsYzJsdFlXd2lMQ0FpYzNSeUlpd2dJbUZ6UW1sblNXNTBJaXdnSW5OcFoyNGlMQ0FpY0dGeWRITWlMQ0FpYm5WdElpd2dJbTRpTENBaWNtVnpJaXdnSW5BaUxDQWljM1J5YVc1bmFXWjVVMlY0WVdkbGMybHRZV3dpTENBaWJtOWtaU0lzSUNKMllXeDFaU0lzSUNKemRISnBibWRwWm5sT2RXMWlaWElpTENBaVh6WXdJaXdnSW1sdWRGUnBiV1VpTENBaVgyOXVSWEp5YjNJaUxDQWlhVzUwUVhOQ2FXZEpiblFpTENBaVpteHZZWFJVYVcxbElpd2dJblJwYldWemRHRnRjQ0lzSUNKdFlYUmphQ0lzSUNKNVpXRnlJaXdnSW0xdmJuUm9JaXdnSW1SaGVTSXNJQ0pvYjNWeUlpd2dJbTFwYm5WMFpTSXNJQ0p6WldOdmJtUWlMQ0FpYldsc2JHbHpaV01pTENBaVpHRjBaU0lzSUNKMGVpSXNJQ0p6WTJobGJXRWlMQ0FpYldGd0lpd2dJbk5sY1NJc0lDSnpkSEpwYm1jaUxDQWliblZzYkZSaFp5SXNJQ0owY25WbFZHRm5JaXdnSW1aaGJITmxWR0ZuSWl3Z0ltbHVkRUpwYmlJc0lDSnBiblJQWTNRaUxDQWlhVzUwSWl3Z0ltbHVkRWhsZUNJc0lDSm1iRzloZEU1aFRpSXNJQ0ptYkc5aGRFVjRjQ0lzSUNKbWJHOWhkQ0lzSUNKaWFXNWhjbmtpTENBaWJXVnlaMlVpTENBaWIyMWhjQ0lzSUNKd1lXbHljeUlzSUNKelpYUWlMQ0FpYVc1MFZHbHRaU0lzSUNKbWJHOWhkRlJwYldVaUxDQWlkR2x0WlhOMFlXMXdJaXdnSW5OamFHVnRZWE1pTENBaWMyTm9aVzFoSWl3Z0ltMWhjQ0lzSUNKelpYRWlMQ0FpYzNSeWFXNW5JaXdnSW5SaFozTkNlVTVoYldVaUxDQWlZbWx1WVhKNUlpd2dJbUp2YjJ4VVlXY2lMQ0FpWm14dllYUWlMQ0FpWm14dllYUkZlSEFpTENBaVpteHZZWFJPWVU0aUxDQWlabXh2WVhSVWFXMWxJaXdnSW1sdWRDSXNJQ0pwYm5SSVpYZ2lMQ0FpYVc1MFQyTjBJaXdnSW1sdWRGUnBiV1VpTENBaWJXVnlaMlVpTENBaWJuVnNiRlJoWnlJc0lDSnZiV0Z3SWl3Z0luQmhhWEp6SWl3Z0luTmxkQ0lzSUNKMGFXMWxjM1JoYlhBaUxDQWlZMjl5WlV0dWIzZHVWR0ZuY3lJc0lDSm5aWFJVWVdkeklpd2dJbU4xYzNSdmJWUmhaM01pTENBaWMyTm9aVzFoVG1GdFpTSXNJQ0poWkdSTlpYSm5aVlJoWnlJc0lDSnpZMmhsYldGVVlXZHpJaXdnSW5SaFozTWlMQ0FpYTJWNWN5SXNJQ0pyWlhraUxDQWlkR0ZuSWl3Z0luUmhaMDlpYWlJc0lDSjBZV2RPWVcxbElpd2dJbk52Y25STllYQkZiblJ5YVdWelFubExaWGtpTENBaVlTSXNJQ0ppSWl3Z0lsTmphR1Z0WVNJc0lDSmZVMk5vWlcxaElpd2dJbU52YlhCaGRDSXNJQ0pqZFhOMGIyMVVZV2R6SWl3Z0ltMWxjbWRsSWl3Z0luSmxjMjlzZG1WTGJtOTNibFJoWjNNaUxDQWljMk5vWlcxaElpd2dJbk52Y25STllYQkZiblJ5YVdWeklpd2dJblJ2VTNSeWFXNW5SR1ZtWVhWc2RITWlMQ0FpWjJWMFZHRm5jeUlzSUNKamIzSmxTMjV2ZDI1VVlXZHpJaXdnSWsxQlVDSXNJQ0p0WVhBaUxDQWlVME5CVEVGU0lpd2dJbk4wY21sdVp5SXNJQ0pUUlZFaUxDQWljMlZ4SWl3Z0ltTnZjSGtpTENBaWMzUnlhVzVuYVdaNVJHOWpkVzFsYm5RaUxDQWlaRzlqSWl3Z0ltOXdkR2x2Ym5NaUxDQWlYMkVpTENBaWJHbHVaWE1pTENBaWFHRnpSR2x5WldOMGFYWmxjeUlzSUNKa2FYSWlMQ0FpWTNSNElpd2dJbU55WldGMFpWTjBjbWx1WjJsbWVVTnZiblJsZUhRaUxDQWlZMjl0YldWdWRGTjBjbWx1WnlJc0lDSmpjeUlzSUNKcGJtUmxiblJEYjIxdFpXNTBJaXdnSW1Ob2IyMXdTMlZsY0NJc0lDSmpiMjUwWlc1MFEyOXRiV1Z1ZENJc0lDSnBjMDV2WkdVaUxDQWliMjVEYUc5dGNFdGxaWEFpTENBaVltOWtlU0lzSUNKemRISnBibWRwWm5raUxDQWliR2x1WlVOdmJXMWxiblFpTENBaVpHTWlMQ0FpUkc5amRXMWxiblFpTENBaVgwUnZZM1Z0Wlc1MElpd2dJblpoYkhWbElpd2dJbkpsY0d4aFkyVnlJaXdnSW05d2RHbHZibk1pTENBaVRrOUVSVjlVV1ZCRklpd2dJa1JQUXlJc0lDSmZjbVZ3YkdGalpYSWlMQ0FpYjNCMElpd2dJblpsY25OcGIyNGlMQ0FpUkdseVpXTjBhWFpsY3lJc0lDSmpiM0I1SWl3Z0ltbHpUbTlrWlNJc0lDSmhjM05sY25SRGIyeHNaV04wYVc5dUlpd2dJbkJoZEdnaUxDQWlibTlrWlNJc0lDSnVZVzFsSWl3Z0luQnlaWFlpTENBaVlXNWphRzl5VG1GdFpYTWlMQ0FpWm1sdVpFNWxkMEZ1WTJodmNpSXNJQ0pCYkdsaGN5SXNJQ0pyWlhsVWIxTjBjaUlzSUNKMklpd2dJbUZ6VTNSeUlpd2dJbUZzYVdGelJIVndiR2xqWVhSbFQySnFaV04wY3lJc0lDSmhibU5vYjNKUWNtVm1hWGdpTENBaVpteHZkeUlzSUNKclpXVndWVzVrWldacGJtVmtJaXdnSW05dVZHRm5UMkpxSWl3Z0luUmhaeUlzSUNKdmJrRnVZMmh2Y2lJc0lDSnpaWFJCYm1Ob2IzSnpJaXdnSW5OdmRYSmpaVTlpYW1WamRITWlMQ0FpWTNKbFlYUmxUbTlrWlVGdVkyaHZjbk1pTENBaVkzUjRJaXdnSW1OeVpXRjBaVTV2WkdVaUxDQWlhWE5EYjJ4c1pXTjBhVzl1SWl3Z0ltdGxlU0lzSUNKcklpd2dJbEJoYVhJaUxDQWlhWE5GYlhCMGVWQmhkR2dpTENBaWEyVmxjRk5qWVd4aGNpSXNJQ0pwYzFOallXeGhjaUlzSUNKamIyeHNaV04wYVc5dVJuSnZiVkJoZEdnaUxDQWljM1lpTENBaVUyTm9aVzFoSWl3Z0ltcHpiMjRpTENBaWFuTnZia0Z5WnlJc0lDSnRZWEJCYzAxaGNDSXNJQ0p0WVhoQmJHbGhjME52ZFc1MElpd2dJbkpsZG1sMlpYSWlMQ0FpY21Weklpd2dJblJ2U2xNaUxDQWlZMjkxYm5RaUxDQWlZWEJ3YkhsU1pYWnBkbVZ5SWl3Z0luTWlMQ0FpYzNSeWFXNW5hV1o1Ukc5amRXMWxiblFpTENBaVkyOXVkR1Z1ZEhNaUxDQWlXVUZOVEVWeWNtOXlJaXdnSW01aGJXVWlMQ0FpY0c5eklpd2dJbU52WkdVaUxDQWliV1Z6YzJGblpTSXNJQ0paUVUxTVVHRnljMlZGY25KdmNpSXNJQ0paUVUxTVYyRnlibWx1WnlJc0lDSndjbVYwZEdsbWVVVnljbTl5SWl3Z0luTnlZeUlzSUNKc1l5SXNJQ0psY25KdmNpSXNJQ0pzYVc1bElpd2dJbU52YkNJc0lDSmphU0lzSUNKc2FXNWxVM1J5SWl3Z0luUnlhVzFUZEdGeWRDSXNJQ0p3Y21WMklpd2dJbU52ZFc1MElpd2dJbVZ1WkNJc0lDSndiMmx1ZEdWeUlpd2dJbkpsYzI5c2RtVlFjbTl3Y3lJc0lDSjBiMnRsYm5NaUxDQWlabXh2ZHlJc0lDSnBibVJwWTJGMGIzSWlMQ0FpYm1WNGRDSXNJQ0p2Wm1aelpYUWlMQ0FpYjI1RmNuSnZjaUlzSUNKd1lYSmxiblJKYm1SbGJuUWlMQ0FpYzNSaGNuUlBiazVsZDJ4cGJtVWlMQ0FpYzNCaFkyVkNaV1p2Y21VaUxDQWlZWFJPWlhkc2FXNWxJaXdnSW1oaGMxTndZV05sSWl3Z0ltTnZiVzFsYm5RaUxDQWlZMjl0YldWdWRGTmxjQ0lzSUNKb1lYTk9aWGRzYVc1bElpd2dJbkpsY1ZOd1lXTmxJaXdnSW5SaFlpSXNJQ0poYm1Ob2IzSWlMQ0FpZEdGbklpd2dJbTVsZDJ4cGJtVkJablJsY2xCeWIzQWlMQ0FpWTI5dGJXRWlMQ0FpWm05MWJtUWlMQ0FpYzNSaGNuUWlMQ0FpZEc5clpXNGlMQ0FpWTJJaUxDQWliR0Z6ZENJc0lDSmxibVFpTENBaVkyOXVkR0ZwYm5OT1pYZHNhVzVsSWl3Z0ltdGxlU0lzSUNKemRDSXNJQ0pwZENJc0lDSm1iRzkzU1c1a1pXNTBRMmhsWTJzaUxDQWlhVzVrWlc1MElpd2dJbVpqSWl3Z0ltOXVSWEp5YjNJaUxDQWlaVzVrSWl3Z0ltTnZiblJoYVc1elRtVjNiR2x1WlNJc0lDSnRZWEJKYm1Oc2RXUmxjeUlzSUNKamRIZ2lMQ0FpYVhSbGJYTWlMQ0FpYzJWaGNtTm9JaXdnSW5WdWFYRjFaVXRsZVhNaUxDQWlhWE5GY1hWaGJDSXNJQ0poSWl3Z0ltSWlMQ0FpYVhOVFkyRnNZWElpTENBaWNHRnBjaUlzSUNKemRHRnlkRU52YkUxelp5SXNJQ0p5WlhOdmJIWmxRbXh2WTJ0TllYQWlMQ0FpWTI5dGNHOXpaVTV2WkdVaUxDQWlZMjl0Y0c5elpVVnRjSFI1VG05a1pTSXNJQ0pqZEhnaUxDQWlZbTBpTENBaWIyNUZjbkp2Y2lJc0lDSjBZV2NpTENBaVgyRWlMQ0FpWDJJaUxDQWlUbTlrWlVOc1lYTnpJaXdnSWxsQlRVeE5ZWEFpTENBaWJXRndJaXdnSW05bVpuTmxkQ0lzSUNKamIyMXRaVzUwUlc1a0lpd2dJbU52Ykd4SmRHVnRJaXdnSW5OMFlYSjBJaXdnSW10bGVTSXNJQ0p6WlhBaUxDQWlkbUZzZFdVaUxDQWlhMlY1VUhKdmNITWlMQ0FpY21WemIyeDJaVkJ5YjNCeklpd2dJbWx0Y0d4cFkybDBTMlY1SWl3Z0ltTnZiblJoYVc1elRtVjNiR2x1WlNJc0lDSnJaWGxUZEdGeWRDSXNJQ0pyWlhsT2IyUmxJaXdnSW1ac2IzZEpibVJsYm5SRGFHVmpheUlzSUNKdFlYQkpibU5zZFdSbGN5SXNJQ0oyWVd4MVpWQnliM0J6SWl3Z0luWmhiSFZsVG05a1pTSXNJQ0p3WVdseUlpd2dJbEJoYVhJaUxDQWljbVZ6YjJ4MlpVSnNiMk5yVTJWeElpd2dJbU52YlhCdmMyVk9iMlJsSWl3Z0ltTnZiWEJ2YzJWRmJYQjBlVTV2WkdVaUxDQWlZM1I0SWl3Z0ltSnpJaXdnSW05dVJYSnliM0lpTENBaWRHRm5JaXdnSWw5aElpd2dJazV2WkdWRGJHRnpjeUlzSUNKWlFVMU1VMlZ4SWl3Z0luTmxjU0lzSUNKdlptWnpaWFFpTENBaVkyOXRiV1Z1ZEVWdVpDSXNJQ0p6ZEdGeWRDSXNJQ0oyWVd4MVpTSXNJQ0p3Y205d2N5SXNJQ0p5WlhOdmJIWmxVSEp2Y0hNaUxDQWlibTlrWlNJc0lDSm1iRzkzU1c1a1pXNTBRMmhsWTJzaUxDQWljbVZ6YjJ4MlpVVnVaQ0lzSUNKbGJtUWlMQ0FpYjJabWMyVjBJaXdnSW5KbGNWTndZV05sSWl3Z0ltOXVSWEp5YjNJaUxDQWlZMjl0YldWdWRDSXNJQ0pvWVhOVGNHRmpaU0lzSUNKelpYQWlMQ0FpZEc5clpXNGlMQ0FpYzI5MWNtTmxJaXdnSW5SNWNHVWlMQ0FpWTJJaUxDQWlZbXh2WTJ0TmMyY2lMQ0FpYVhOQ2JHOWpheUlzSUNKMGIydGxiaUlzSUNKeVpYTnZiSFpsUm14dmQwTnZiR3hsWTNScGIyNGlMQ0FpWTI5dGNHOXpaVTV2WkdVaUxDQWlZMjl0Y0c5elpVVnRjSFI1VG05a1pTSXNJQ0pqZEhnaUxDQWlabU1pTENBaWIyNUZjbkp2Y2lJc0lDSjBZV2NpTENBaVgyRWlMQ0FpWDJJaUxDQWlhWE5OWVhBaUxDQWlabU5PWVcxbElpd2dJazV2WkdWRGJHRnpjeUlzSUNKWlFVMU1UV0Z3SWl3Z0lsbEJUVXhUWlhFaUxDQWlZMjlzYkNJc0lDSmhkRkp2YjNRaUxDQWliMlptYzJWMElpd2dJbWtpTENBaVkyOXNiRWwwWlcwaUxDQWljM1JoY25RaUxDQWlhMlY1SWl3Z0luTmxjQ0lzSUNKMllXeDFaU0lzSUNKd2NtOXdjeUlzSUNKeVpYTnZiSFpsVUhKdmNITWlMQ0FpWTI5dWRHRnBibk5PWlhkc2FXNWxJaXdnSW5CeVpYWkpkR1Z0UTI5dGJXVnVkQ0lzSUNKc2IyOXdJaXdnSW5OMElpd2dJbkJ5WlhZaUxDQWlhWE5RWVdseUlpd2dJblpoYkhWbFRtOWtaU0lzSUNKclpYbFRkR0Z5ZENJc0lDSnJaWGxPYjJSbElpd2dJblpoYkhWbFVISnZjSE1pTENBaWNHRnBjaUlzSUNKUVlXbHlJaXdnSW0xaGNDSXNJQ0p0WVhCSmJtTnNkV1JsY3lJc0lDSmxibVJTWVc1blpTSXNJQ0psZUhCbFkzUmxaRVZ1WkNJc0lDSmpaU0lzSUNKbFpTSXNJQ0pqWlZCdmN5SXNJQ0p1WVcxbElpd2dJbTF6WnlJc0lDSmxibVFpTENBaWNtVnpiMngyWlVWdVpDSXNJQ0p5WlhOdmJIWmxRMjlzYkdWamRHbHZiaUlzSUNKRFRpSXNJQ0pqZEhnaUxDQWlkRzlyWlc0aUxDQWliMjVGY25KdmNpSXNJQ0owWVdkT1lXMWxJaXdnSW5SaFp5SXNJQ0pqYjJ4c0lpd2dJbkpsYzI5c2RtVkNiRzlqYTAxaGNDSXNJQ0p5WlhOdmJIWmxRbXh2WTJ0VFpYRWlMQ0FpY21WemIyeDJaVVpzYjNkRGIyeHNaV04wYVc5dUlpd2dJa052Ykd3aUxDQWlZMjl0Y0c5elpVTnZiR3hsWTNScGIyNGlMQ0FpY0hKdmNITWlMQ0FpWDJFaUxDQWlYMklpTENBaWRHRm5WRzlyWlc0aUxDQWliWE5uSWl3Z0ltRnVZMmh2Y2lJc0lDSnViQ0lzSUNKc1lYTjBVSEp2Y0NJc0lDSmxlSEJVZVhCbElpd2dJbGxCVFV4TllYQWlMQ0FpV1VGTlRGTmxjU0lzSUNKMElpd2dJbXQwSWl3Z0luSmxjeUlzSUNKdWIyUmxJaXdnSW1selRtOWtaU0lzSUNKVFkyRnNZWElpTENBaWNtVnpiMngyWlVKc2IyTnJVMk5oYkdGeUlpd2dJbU4wZUNJc0lDSnpZMkZzWVhJaUxDQWliMjVGY25KdmNpSXNJQ0p6ZEdGeWRDSXNJQ0pvWldGa1pYSWlMQ0FpY0dGeWMyVkNiRzlqYTFOallXeGhja2hsWVdSbGNpSXNJQ0owZVhCbElpd2dJbE5qWVd4aGNpSXNJQ0pzYVc1bGN5SXNJQ0p6Y0d4cGRFeHBibVZ6SWl3Z0ltTm9iMjF3VTNSaGNuUWlMQ0FpYVNJc0lDSmpiMjUwWlc1MElpd2dJblpoYkhWbElpd2dJbVZ1WkNJc0lDSjBjbWx0U1c1a1pXNTBJaXdnSW05bVpuTmxkQ0lzSUNKamIyNTBaVzUwVTNSaGNuUWlMQ0FpYVc1a1pXNTBJaXdnSW5ObGNDSXNJQ0p3Y21WMlRXOXlaVWx1WkdWdWRHVmtJaXdnSW1OeWJHWWlMQ0FpYldWemMyRm5aU0lzSUNKd2NtOXdjeUlzSUNKemRISnBZM1FpTENBaWMyOTFjbU5sSWl3Z0ltMXZaR1VpTENBaVkyaHZiWEFpTENBaVpYSnliM0lpTENBaVkyZ2lMQ0FpYmlJc0lDSm9ZWE5UY0dGalpTSXNJQ0pqYjIxdFpXNTBJaXdnSW14bGJtZDBhQ0lzSUNKMGIydGxiaUlzSUNKMGN5SXNJQ0p6Y0d4cGRDSXNJQ0ptYVhKemRDSXNJQ0p0SWl3Z0luSmxjMjlzZG1WR2JHOTNVMk5oYkdGeUlpd2dJbk5qWVd4aGNpSXNJQ0p6ZEhKcFkzUWlMQ0FpYjI1RmNuSnZjaUlzSUNKdlptWnpaWFFpTENBaWRIbHdaU0lzSUNKemIzVnlZMlVpTENBaVpXNWtJaXdnSWw5MGVYQmxJaXdnSW5aaGJIVmxJaXdnSWw5dmJrVnljbTl5SWl3Z0luSmxiQ0lzSUNKamIyUmxJaXdnSW0xelp5SXNJQ0pUWTJGc1lYSWlMQ0FpY0d4aGFXNVdZV3gxWlNJc0lDSnphVzVuYkdWUmRXOTBaV1JXWVd4MVpTSXNJQ0prYjNWaWJHVlJkVzkwWldSV1lXeDFaU0lzSUNKMllXeDFaVVZ1WkNJc0lDSnlaU0lzSUNKeVpYTnZiSFpsUlc1a0lpd2dJbUpoWkVOb1lYSWlMQ0FpWm05c1pFeHBibVZ6SWl3Z0lsOWhJaXdnSW1acGNuTjBJaXdnSW14cGJtVWlMQ0FpWlNJc0lDSnRZWFJqYUNJc0lDSnlaWE1pTENBaWMyVndJaXdnSW5CdmN5SXNJQ0pzWVhOMElpd2dJbWtpTENBaVkyZ2lMQ0FpWm05c1pDSXNJQ0ptYjJ4a1RtVjNiR2x1WlNJc0lDSnVaWGgwSWl3Z0ltTmpJaXdnSW1WelkyRndaVU52WkdWeklpd2dJbXhsYm1kMGFDSXNJQ0p3WVhKelpVTm9ZWEpEYjJSbElpd2dJbkpoZHlJc0lDSjNjMU4wWVhKMElpd2dJbU52YlhCdmMyVlRZMkZzWVhJaUxDQWlZM1I0SWl3Z0luUnZhMlZ1SWl3Z0luUmhaMVJ2YTJWdUlpd2dJbTl1UlhKeWIzSWlMQ0FpZG1Gc2RXVWlMQ0FpZEhsd1pTSXNJQ0pqYjIxdFpXNTBJaXdnSW5KaGJtZGxJaXdnSW5KbGMyOXNkbVZDYkc5amExTmpZV3hoY2lJc0lDSnlaWE52YkhabFJteHZkMU5qWVd4aGNpSXNJQ0owWVdkT1lXMWxJaXdnSW0xelp5SXNJQ0owWVdjaUxDQWlVME5CVEVGU0lpd2dJbVpwYm1SVFkyRnNZWEpVWVdkQ2VVNWhiV1VpTENBaVptbHVaRk5qWVd4aGNsUmhaMEo1VkdWemRDSXNJQ0p6WTJGc1lYSWlMQ0FpY21Weklpd2dJbWx6VTJOaGJHRnlJaXdnSWxOallXeGhjaUlzSUNKbGNuSnZjaUlzSUNKelkyaGxiV0VpTENBaVgyRWlMQ0FpYldGMFkyaFhhWFJvVkdWemRDSXNJQ0pyZENJc0lDSmhkRXRsZVNJc0lDSmthWEpsWTNScGRtVnpJaXdnSW1OdmJYQmhkQ0lzSUNKMGN5SXNJQ0pqY3lJc0lDSmxiWEIwZVZOallXeGhjbEJ2YzJsMGFXOXVJaXdnSW05bVpuTmxkQ0lzSUNKaVpXWnZjbVVpTENBaWNHOXpJaXdnSW1raUxDQWljM1FpTENBaVEwNGlMQ0FpWTI5dGNHOXpaVTV2WkdVaUxDQWlZMjl0Y0c5elpVVnRjSFI1VG05a1pTSXNJQ0pqZEhnaUxDQWlkRzlyWlc0aUxDQWljSEp2Y0hNaUxDQWliMjVGY25KdmNpSXNJQ0poZEV0bGVTSXNJQ0p6Y0dGalpVSmxabTl5WlNJc0lDSmpiMjF0Wlc1MElpd2dJbUZ1WTJodmNpSXNJQ0owWVdjaUxDQWlibTlrWlNJc0lDSnBjMU55WTFSdmEyVnVJaXdnSW1OdmJYQnZjMlZCYkdsaGN5SXNJQ0pqYjIxd2IzTmxVMk5oYkdGeUlpd2dJbU52YlhCdmMyVkRiMnhzWldOMGFXOXVJaXdnSW0xbGMzTmhaMlVpTENBaWFYTlRZMkZzWVhJaUxDQWliMlptYzJWMElpd2dJbUpsWm05eVpTSXNJQ0p3YjNNaUxDQWlaVzVrSWl3Z0ltVnRjSFI1VTJOaGJHRnlVRzl6YVhScGIyNGlMQ0FpYjNCMGFXOXVjeUlzSUNKemIzVnlZMlVpTENBaVlXeHBZWE1pTENBaVFXeHBZWE1pTENBaWRtRnNkV1ZGYm1RaUxDQWljbVVpTENBaWNtVnpiMngyWlVWdVpDSXNJQ0pqYjIxd2IzTmxSRzlqSWl3Z0ltOXdkR2x2Ym5NaUxDQWlaR2x5WldOMGFYWmxjeUlzSUNKdlptWnpaWFFpTENBaWMzUmhjblFpTENBaWRtRnNkV1VpTENBaVpXNWtJaXdnSW05dVJYSnliM0lpTENBaWIzQjBjeUlzSUNKa2IyTWlMQ0FpUkc5amRXMWxiblFpTENBaVkzUjRJaXdnSW5CeWIzQnpJaXdnSW5KbGMyOXNkbVZRY205d2N5SXNJQ0pqYjIxd2IzTmxUbTlrWlNJc0lDSmpiMjF3YjNObFJXMXdkSGxPYjJSbElpd2dJbU52Ym5SbGJuUkZibVFpTENBaWNtVWlMQ0FpY21WemIyeDJaVVZ1WkNJc0lDSm5aWFJGY25KdmNsQnZjeUlzSUNKemNtTWlMQ0FpYjJabWMyVjBJaXdnSW5OdmRYSmpaU0lzSUNKd1lYSnpaVkJ5Wld4MVpHVWlMQ0FpY0hKbGJIVmtaU0lzSUNKZllTSXNJQ0pqYjIxdFpXNTBJaXdnSW1GMFEyOXRiV1Z1ZENJc0lDSmhablJsY2tWdGNIUjVUR2x1WlNJc0lDSkRiMjF3YjNObGNpSXNJQ0p2Y0hScGIyNXpJaXdnSW1OdlpHVWlMQ0FpYldWemMyRm5aU0lzSUNKM1lYSnVhVzVuSWl3Z0luQnZjeUlzSUNKWlFVMU1WMkZ5Ym1sdVp5SXNJQ0paUVUxTVVHRnljMlZGY25KdmNpSXNJQ0pFYVhKbFkzUnBkbVZ6SWl3Z0ltUnZZeUlzSUNKaFpuUmxja1J2WXlJc0lDSmtZeUlzSUNKcGMwTnZiR3hsWTNScGIyNGlMQ0FpYVhRaUxDQWlhWE5RWVdseUlpd2dJbU5pSWl3Z0luUnZhMlZ1Y3lJc0lDSm1iM0pqWlVSdll5SXNJQ0psYm1SUFptWnpaWFFpTENBaWRHOXJaVzRpTENBaVgxOTVhV1ZzWkZOMFlYSWlMQ0FpWTI5dGNHOXpaVVJ2WXlJc0lDSnRjMmNpTENBaVpYSnliM0lpTENBaVpXNWtJaXdnSW5KbGMyOXNkbVZGYm1RaUxDQWliM0IwY3lJc0lDSkViMk4xYldWdWRDSXNJQ0pDVWtWQlN5SXNJQ0pUUzBsUUlpd2dJbEpGVFU5V1JTSXNJQ0oyYVhOcGRDSXNJQ0pqYzNRaUxDQWlkbWx6YVhSdmNpSXNJQ0pmZG1semFYUWlMQ0FpY0dGMGFDSXNJQ0pwZEdWdElpd2dJbVpwWld4a0lpd2dJbWx1WkdWNElpd2dJblJ2YXlJc0lDSndZWEpsYm5RaUxDQWlZMjlzYkNJc0lDSmpkSEpzSWl3Z0luUnZhMlZ1SWl3Z0lta2lMQ0FpWTJraUxDQWlRazlOSWl3Z0lrUlBRMVZOUlU1VUlpd2dJa1pNVDFkZlJVNUVJaXdnSWxORFFVeEJVaUlzSUNKMGIydGxibFI1Y0dVaUxDQWljMjkxY21ObElpd2dJa0pQVFNJc0lDSkVUME5WVFVWT1ZDSXNJQ0pHVEU5WFgwVk9SQ0lzSUNKVFEwRk1RVklpTENBaWFYTkZiWEIwZVNJc0lDSmphQ0lzSUNKb1pYaEVhV2RwZEhNaUxDQWlkR0ZuUTJoaGNuTWlMQ0FpWm14dmQwbHVaR2xqWVhSdmNrTm9ZWEp6SWl3Z0ltbHVkbUZzYVdSQmJtTm9iM0pEYUdGeWN5SXNJQ0pwYzA1dmRFRnVZMmh2Y2tOb1lYSWlMQ0FpVEdWNFpYSWlMQ0FpYzI5MWNtTmxJaXdnSW1sdVkyOXRjR3hsZEdVaUxDQWlYMkVpTENBaWJtVjRkQ0lzSUNKZlgzbHBaV3hrVTNSaGNpSXNJQ0pwSWl3Z0ltNGlMQ0FpYjJabWMyVjBJaXdnSW1sdVpHVnVkQ0lzSUNKa2RDSXNJQ0psYm1RaUxDQWljM1JoZEdVaUxDQWliR2x1WlNJc0lDSkNUMDBpTENBaVpHbHlSVzVrSWl3Z0ltTnpJaXdnSW5Od0lpd2dJa1JQUTFWTlJVNVVJaXdnSW5NaUxDQWlZMmd3SWl3Z0ltTm9NU0lzSUNKdWJDSXNJQ0pHVEU5WFgwVk9SQ0lzSUNKeGRXOTBaU0lzSUNKeFlpSXNJQ0pzYjI5d0lpd2dJbXhoYzNSRGFHRnlJaXdnSWxORFFVeEJVaUlzSUNKcGJrWnNiM2NpTENBaVlXeHNiM2RGYlhCMGVTSXNJQ0poYkd4dmQxUmhZbk1pTENBaWRHVnpkQ0lzSUNKTWFXNWxRMjkxYm5SbGNpSXNJQ0p2Wm1aelpYUWlMQ0FpYkc5M0lpd2dJbWhwWjJnaUxDQWliV2xrSWl3Z0luTjBZWEowSWl3Z0ltbHVZMngxWkdWelZHOXJaVzRpTENBaWJHbHpkQ0lzSUNKMGVYQmxJaXdnSW1raUxDQWlabWx1WkU1dmJrVnRjSFI1U1c1a1pYZ2lMQ0FpYVhOR2JHOTNWRzlyWlc0aUxDQWlkRzlyWlc0aUxDQWlaMlYwVUhKbGRsQnliM0J6SWl3Z0luQmhjbVZ1ZENJc0lDSmZZU0lzSUNKcGRDSXNJQ0puWlhSR2FYSnpkRXRsZVZOMFlYSjBVSEp2Y0hNaUxDQWljSEpsZGlJc0lDSnNiMjl3SWl3Z0ltWnBlRVpzYjNkVFpYRkpkR1Z0Y3lJc0lDSm1ZeUlzSUNKUVlYSnpaWElpTENBaWIyNU9aWGRNYVc1bElpd2dJa3hsZUdWeUlpd2dJbk52ZFhKalpTSXNJQ0pwYm1OdmJYQnNaWFJsSWl3Z0lteGxlR1Z0WlNJc0lDSmZYM2xwWld4a1UzUmhjaUlzSUNKMGIydGxibFI1Y0dVaUxDQWliV1Z6YzJGblpTSXNJQ0owYjNBaUxDQWliaUlzSUNKbGNuSnZjaUlzSUNKc1lYTjBJaXdnSW5OMElpd2dJbVJ2WXlJc0lDSmlkaUlzSUNKelkyRnNZWElpTENBaWMzUmhjblFpTENBaWMyVndJaXdnSW0xaGNDSXNJQ0p1YkNJc0lDSmxibVFpTENBaVlYUk5ZWEJKYm1SbGJuUWlMQ0FpWVhST1pYaDBTWFJsYlNJc0lDSnJaWGtpTENBaVpuTWlMQ0FpYzJWeElpd2dJbWx1WkdWdWRDSXNJQ0prYjJORmJtUWlMQ0FpY0dGeWMyVlBjSFJwYjI1eklpd2dJbTl3ZEdsdmJuTWlMQ0FpY0hKbGRIUjVSWEp5YjNKeklpd2dJa3hwYm1WRGIzVnVkR1Z5SWl3Z0luQmhjbk5sUkc5amRXMWxiblFpTENBaWMyOTFjbU5sSWl3Z0ltOXdkR2x2Ym5NaUxDQWliR2x1WlVOdmRXNTBaWElpTENBaWNISmxkSFI1UlhKeWIzSnpJaXdnSW5CaGNuTmxUM0IwYVc5dWN5SXNJQ0p3WVhKelpYSWlMQ0FpVUdGeWMyVnlJaXdnSW1OdmJYQnZjMlZ5SWl3Z0lrTnZiWEJ2YzJWeUlpd2dJbVJ2WXlJc0lDSmZaRzlqSWl3Z0lsbEJUVXhRWVhKelpVVnljbTl5SWl3Z0luQnlaWFIwYVdaNVJYSnliM0lpTENBaWNHRnljMlVpTENBaWMzSmpJaXdnSW5KbGRtbDJaWElpTENBaVgzSmxkbWwyWlhJaUxDQWlkMkZ5Ym1sdVp5SXNJQ0ozWVhKdUlpd2dJbWx0Y0c5eWRGOXpiM0owWldSZlluUnlaV1VpTENBaVVDSXNJQ0pNYVhSbGNtRnNjeUlzSUNKMGIxTjBjbWx1WnlJc0lDSm1hV1ZzWkNJc0lDSnpaWFIwYVc1bklpd2dJbkpsWTNWeWMybDJaU0lzSUNKM2NtRndjR1ZrSWl3Z0luZHlZWEJXWVd4MVpTSXNJQ0p5WlhOMWJIUWlMQ0FpWmlJc0lDSmxJaXdnSW5KbGJtUmxjazFwYm1sdFlXeEVZWFJsSWl3Z0luSmxibVJsY2sxcGJtbHRZV3hFZFhKaGRHbHZiaUlzSUNKMllXd2lMQ0FpYVhOT2RXeHNJaXdnSW1selRuVnRZbVZ5SWl3Z0ltbHpVM1J5YVc1bklpd2dJbWx6UW05dmJHVmhiaUlzSUNKcGMwUjFjbUYwYVc5dUlpd2dJbWx6UkdGMFpTSXNJQ0pwYzBGeWNtRjVJaXdnSW1selRHbHVheUlzSUNKcGMwWjFibU4wYVc5dUlpd2dJbWx6VDJKcVpXTjBJaXdnSW0xaGNFeGxZWFpsY3lJc0lDSm1kVzVqSWl3Z0ltdGxlU0lzSUNKMllXeDFaU0lzSUNKbGNYVmhiSE1pTENBaVptbHljM1FpTENBaWMyVmpiMjVrSWl3Z0ltTnZiWEJoY21VaUxDQWlkbUZzTVNJc0lDSjJZV3d5SWl3Z0lteHBibXRPYjNKdFlXeHBlbVZ5SWl3Z0lsOWhJaXdnSWw5aUlpd2dJbmR5WVhBeElpd2dJbmR5WVhBeUlpd2dJbXhwYm1zeElpd2dJbXhwYm1zeUlpd2dJbTV2Y20xaGJHbDZaU0lzSUNKNElpd2dJbkJoZEdoRGIyMXdZWEpsSWl3Z0luUjVjR1ZEYjIxd1lYSmxJaXdnSW1ZeElpd2dJbVl5SWl3Z0ltbHVaR1Y0SWl3Z0ltTnZiWEFpTENBaWJ6RWlMQ0FpYnpJaUxDQWlhekVpTENBaWF6SWlMQ0FpYTJWNVEyOXRjR0Z5WlNJc0lDSjBlWEJsVDJZaUxDQWlhWE5VY25WMGFIa2lMQ0FpWkdWbGNFTnZjSGtpTENBaWRpSXNJQ0pFWVhSbFZHbHRaU0lzSUNKRWRYSmhkR2x2YmlJc0lDSk1hVzVySWl3Z0lrZHliM1Z3YVc1bmN5SXNJQ0pwYzBWc1pXMWxiblJIY205MWNDSXNJQ0psYm5SeWVTSXNJQ0pwYzBkeWIzVndhVzVuSWl3Z0ltVnNaVzFsYm5RaUxDQWlhWE5NWldGbUlpd2dJbU52ZFc1MElpd2dJbVZzWlcxbGJuUnpJaXdnSW5OMVltZHliM1Z3SWl3Z0luTnNhV05sSWl3Z0luTjBZWEowSWl3Z0ltVnVaQ0lzSUNKelpXVnVJaXdnSW1keWIzVndJaXdnSW1keWIzVndVMmw2WlNJc0lDSm5jbTkxY0ZOMFlYSjBJaXdnSW1keWIzVndSVzVrSWl3Z0lsTjFZMk5sYzNNaUxDQWlYMU4xWTJObGMzTWlMQ0FpZG1Gc2RXVWlMQ0FpWmlJc0lDSnpkV05qSWl3Z0lsOW1ZV2xzSWl3Z0lsOTJZV3gxWlNJc0lDSmZiV1Z6YzJGblpTSXNJQ0pHWVdsc2RYSmxJaXdnSWw5R1lXbHNkWEpsSWl3Z0ltVnljbTl5SWl3Z0lsOW1JaXdnSWw5emRXTmpJaXdnSW1aaGFXd2lMQ0FpYldWemMyRm5aU0lzSUNKU1pYTjFiSFFpTENBaWMzVmpZMlZ6Y3lJc0lDSm1ZV2xzZFhKbElpd2dJbVpzWVhSTllYQXlJaXdnSW1acGNuTjBJaXdnSW5ObFkyOXVaQ0lzSUNKdFlYQXlJaXdnSW1FaUxDQWlZaUlzSUNKdFlYQkJiR3dpTENBaWFXNXdkWFFpTENBaVpuVnVZeUlzSUNKeVpYTjFiSFFpTENBaVpXeGxiV1Z1ZENJc0lDSnZkWFJ3ZFhRaUxDQWlkSEo1YVc1bklpd2dJbU5oYkd3aUxDQWlZWE41Ym1NaUxDQWljSEp2YldselpTSXNJQ0pHYVd4MFpYSnpJaXdnSW1GMGIyMGlMQ0FpYzJWMElpd2dJbU52Ym5OMFlXNTBJaXdnSW5aaGJIVmxJaXdnSW01MWJHeGhZbXhsUVhSdmJTSXNJQ0p1WldkaGRHVmtJaXdnSW01bFoyRjBaU0lzSUNKbWFXeDBaWElpTENBaVpXMXdkSGtpTENBaWNtVnpiMngyWlNJc0lDSmxkbVZ5ZVhSb2FXNW5JaXdnSW5ObGRFbHVkR1Z5YzJWamRFNWxaMkYwYVc5dUlpd2dJbWx1ZEdWeWMyVmpkQ0lzSUNKbGJHVnRaVzUwY3lJc0lDSnNZWHA1U1c1MFpYSnpaV04wSWl3Z0luZ2lMQ0FpY0hKdlpIVmpaU0lzSUNKc1lYcDVSbUZwYkdGaWJHVkpiblJsY25ObFkzUnBiMjRpTENBaVVtVnpkV3gwSWl3Z0ltRjBiMjF6SWl3Z0ltNWxaMkYwYVc5dWN5SXNJQ0psYkdWdFpXNTBJaXdnSW0xaGVXSmxSbWxzZEdWeUlpd2dJbk5sZEVsdWRHVnljMlZqZENJc0lDSnpaWFJWYm1sdmJpSXNJQ0oxYm1sdmJpSXNJQ0ptYVd4MFpYSnpJaXdnSW14aGVubFZibWx2YmlJc0lDSnNZWHA1Um1GcGJHRmliR1ZWYm1sdmJpSXNJQ0p6WlhSeklpd2dJbk52Y25SbFpDSXNJQ0poSWl3Z0ltSWlMQ0FpY21WemRXeDBJaXdnSW14aGNtZGxjM1FpTENBaVJYaHdjbVZ6YzJsdmJuTWlMQ0FpZG1GeWFXRmliR1VpTENBaWJtRnRaU0lzSUNKc2FYUmxjbUZzSWl3Z0luWmhiSFZsSWl3Z0ltSnBibUZ5ZVU5d0lpd2dJbXhsWm5RaUxDQWliM0FpTENBaWNtbG5hSFFpTENBaWFXNWtaWGdpTENBaWIySnFJaXdnSW1sdVpHVjRWbUZ5YVdGaWJHVWlMQ0FpY0dGeWRITWlMQ0FpY21WemRXeDBJaXdnSW14aGJXSmtZU0lzSUNKaGNtZHpJaXdnSW1aMWJtTWlMQ0FpYkdsemRDSXNJQ0oyWVd4MVpYTWlMQ0FpYjJKcVpXTjBJaXdnSW01bFoyRjBaU0lzSUNKamFHbHNaQ0lzSUNKcGMwTnZiWEJoY21WUGNDSXNJQ0oxYm1KdmRXNWtWbUZ5YVdGaWJHVnpJaXdnSW1WNGNISWlMQ0FpWW05MWJtUWlMQ0FpVEdsMFpYSmhiSE1pTENBaVJtbHNkR1Z5Y3lJc0lDSmhJaXdnSW01bGQwSnZkVzVrSWl3Z0ltRnlaeUlzSUNKMklpd2dJblJ2VTNSeWFXNW5JaXdnSW1zaUxDQWlkM0poY0hCbFpDSXNJQ0pRVWtsTlNWUkpWa1ZUSWl3Z0lsOGlMQ0FpYzNSeUlpd2dJbkVpTENBaVkyaGhjbk1pTENBaVpYTmpZWEJsWkNJc0lDSnpkR0Z5ZENJc0lDSnlaWE4wSWl3Z0lrVk5UMHBKWDFKRlIwVllJaXdnSW1acGNuTjBJaXdnSW14cGJtdEpibTVsY2lJc0lDSk1hVzVySWl3Z0luQWlMQ0FpYkNJc0lDSmZjM1J5SWl3Z0lubGxZWElpTENBaWJXOXVkR2dpTENBaVJHRjBaVlJwYldVaUxDQWlSRUZVUlY5VFNFOVNWRWhCVGtSVElpd2dJbUVpTENBaVlpSXNJQ0pqYUdGcGJrOXdkQ0lzSUNKNWJTSXNJQ0prWVhraUxDQWllVzFrSWl3Z0ltaHZkWElpTENBaWVXMWthQ0lzSUNKdGFXNTFkR1VpTENBaWVXMWthRzBpTENBaWMyVmpiMjVrSWl3Z0lubHRaR2h0Y3lJc0lDSnRhV3hzYVhObFkyOXVaQ0lzSUNKa2RDSXNJQ0p3YlNJc0lDSm9jaUlzSUNKZllTSXNJQ0o2YjI1bElpd2dJbDlpSWl3Z0ltUWlMQ0FpUkZWU1FWUkpUMDVmVkZsUVJWTWlMQ0FpWTI5MWJuUWlMQ0FpZENJc0lDSjRJaXdnSW1SMWNtRjBhVzl1Y3lJc0lDSmpJaXdnSW01dmNtMWhiR2w2WlVSMWNtRjBhVzl1SWl3Z0ltWWlMQ0FpWDNNaUxDQWlaVzF2YW1sZmNtVm5aWGhmWkdWbVlYVnNkQ0lzSUNKRWRYSmhkR2x2YmlJc0lDSkZXRkJTUlZOVFNVOU9JaXdnSWtWNGNISmxjM05wYjI1eklpd2dJbU55WldGMFpVWjFibU4wYVc5dUlpd2dJbDltZFc1aklpd2dJbVJoZEdVaUxDQWlaSFZ5SWl3Z0ltNWhiV1VpTENBaVgzTmxjQ0lzSUNKMllXeDFaU0lzSUNKMllXeHpJaXdnSW5KbGN5SXNJQ0psYm5SeWVTSXNJQ0p2WW1vaUxDQWljRzl6ZEdacGVHVnpJaXdnSW5KbGMzVnNkQ0lzSUNKd2IzTjBJaXdnSW1acFpXeGtJaXdnSW1sa1pXNTBJaXdnSWw5cFoyNXZjbVVpTENBaVpYaHdjaUlzSUNKZk1pSXNJQ0pmTXlJc0lDSmZOQ0lzSUNKZk1TSXNJQ0psZUhCeWN5SXNJQ0pqY21WaGRHVkNhVzVoY25sUVlYSnpaWElpTENBaVVWVkZVbGtpTENBaWFXUWlMQ0FpWm5WdVl5SXNJQ0p3WVhSb0lpd2dJbU5vYVd4a2NtVnVJaXdnSW5CaGNtVnVkSE1pTENBaWJHbHVheUlzSUNKemIzVnlZMlVpTENBaWJHVm1kQ0lzSUNKZmIzQWlMQ0FpY21sbmFIUWlMQ0FpWTNKbFlYUmxRbWx1WVhKNVVHRnljMlZ5SWl3Z0ltTm9hV3hrSWl3Z0luTmxjQ0lzSUNKamIyMWlhVzVsSWl3Z0ltWnBjbk4wSWl3Z0luSmxjM1FpTENBaWJtOWtaU0lzSUNKcGJtUmxlQ0lzSUNKamNtVmhkR1ZHZFc1amRHbHZiaUlzSUNKbWRXNWpJaXdnSW1GeVozTWlMQ0FpY21WaGJFWjFibU1pTENBaVppSXNJQ0poSWl3Z0ltTm9ZV2x1VDNCMElpd2dJbUpoYzJVaUxDQWlablZ1WTNNaUxDQWlYM04xWTJObGMzTWlMQ0FpWDJaaGFXeDFjbVVpTENBaWFXNXdkWFFpTENBaWNtVnpkV3gwSWl3Z0ltNWxlSFFpTENBaVVDSXNJQ0p0WVhCUFltcGxZM1JXWVd4MVpYTWlMQ0FpYjJKcVpXTjBJaXdnSW1aMWJtTWlMQ0FpY21WemRXeDBJaXdnSW10bGVTSXNJQ0oyWVd4MVpTSXNJQ0pLYzI5dVEyOXVkbVZ5YzJsdmJpSXNJQ0pwYm5CMWRDSXNJQ0pxYzI5dUlpd2dJbXhwZEdWeVlXd2lMQ0FpZDNKaGNIQmxaQ0lzSUNKTWFYUmxjbUZzY3lJc0lDSnRZWEJQWW1wbFkzUldZV3gxWlhNaUxDQWlkbUZzZFdVaUxDQWlibTl5YldGc2FYcGxjaUlzSUNKMklpd2dJblI1Y0dVaUxDQWlSR0YwWlZScGJXVWlMQ0FpUkhWeVlYUnBiMjRpTENBaVRHbHVheUlzSUNKcWMyOXVTVzVzYVc1bFJtbGxiR1FpTENBaVptbGxiR1FpTENBaVNuTnZia052Ym5abGNuTnBiMjRpTENBaVlYTkpibXhwYm1WR2FXVnNaQ0lzSUNKc2IyTmhiQ0lzSUNKc2FXNWxibThpTENBaVppSXNJQ0p3WVhKelpVbHViR2x1WlZaaGJIVmxJaXdnSWtsT1RFbE9SVjlHU1VWTVJGOVhVa0ZRVUVWU1V5SXNJQ0ptYVc1a1EyeHZjMmx1WnlJc0lDSnNhVzVsSWl3Z0luTjBZWEowSWl3Z0ltOXdaVzRpTENBaVkyeHZjMlVpTENBaWJtVnpkR2x1WnlJc0lDSmxjMk5oY0dWa0lpd2dJbWx1WkdWNElpd2dJbU5vWVhJaUxDQWlabWx1WkZObGNHRnlZWFJ2Y2lJc0lDSnpaWEFpTENBaVptbHVaRk53WldOcFptbGpTVzVzYVc1bFJtbGxiR1FpTENBaWEyVjVJaXdnSW5aaGJIVmxJaXdnSW1sdWJHbHVaU0lzSUNKUVVrbE5TVlJKVmtWVElpd2dJbVY0ZEhKaFkzUkpibXhwYm1WR2FXVnNaSE1pTENBaWFXNWpiSFZrWlZSaGMydEdhV1ZzWkhNaUxDQWlabWxsYkdSeklpd2dJbmR5WVhCd1pYSWlMQ0FpWm05MWJtUkpibVJsZUNJc0lDSndZWEp6WldSR2FXVnNaQ0lzSUNKbGVIUnlZV04wVTNCbFkybGhiRlJoYzJ0R2FXVnNaSE1pTENBaVlTSXNJQ0ppSWl3Z0ltWnBiSFJsY21Wa1JtbGxiR1J6SWl3Z0lta2lMQ0FpUmxWTVRGOU1TVTVGWDB0RldWOVFRVkpVSWl3Z0ltVnRiMnBwWDNKbFoyVjRYMlJsWm1GMWJIUWlMQ0FpY0dGeWRITWlMQ0FpUmxWTVRGOU1TVTVGWDB0RldWOVFRVkpUUlZJaUxDQWlaWGgwY21GamRFWjFiR3hNYVc1bFJtbGxiR1FpTENBaWRHVjRkQ0lzSUNKeVpXRnNTMlY1SWl3Z0lrTlNSVUZVUlVSZlJFRlVSVjlTUlVkRldDSXNJQ0pFVlVWZlJFRlVSVjlTUlVkRldDSXNJQ0pFVDA1RlgwUkJWRVZmVWtWSFJWZ2lMQ0FpVTBOSVJVUlZURVZFWDBSQlZFVmZVa1ZIUlZnaUxDQWlVMVJCVWxSZlJFRlVSVjlTUlVkRldDSXNJQ0pGVFU5S1NWOVNSVWRGV0VWVElpd2dJbkpsYzNWc2RITWlMQ0FpY21WblpYZ2lMQ0FpYldGMFkyZ2lMQ0FpV1dGdGJFTnZiblpsY25OcGIyNGlMQ0FpZVdGdGJDSXNJQ0oyWVd4MVpTSXNJQ0ozY21Gd2NHVmtJaXdnSWt4cGRHVnlZV3h6SWl3Z0lteHBkR1Z5WVd3aUxDQWliV0Z3VDJKcVpXTjBWbUZzZFdWeklpd2dJbkpsYzNWc2RDSXNJQ0pqYUdsc1pDSXNJQ0pFWVhSbFZHbHRaU0lzSUNKdlltcGxZM1FpTENBaWEyVjVJaXdnSW1SaGRHVlFZWEp6WlNJc0lDSlFVa2xOU1ZSSlZrVlRJaXdnSW1SMWNtRjBhVzl1VUdGeWMyVWlMQ0FpYkdsdWExQmhjbk5sSWl3Z0lsbEJUVXhmUkVGVVFWOVNSVWRGV0NJc0lDSkRUMFJGUWt4UFEwdGZSa1ZPUTBWZlVrVkhSVmdpTENBaVRFbFRWRjlKVkVWTlgxSkZSMFZZSWl3Z0ltMWhjbXRrYjNkdVNXMXdiM0owSWl3Z0luQmhkR2dpTENBaWJXRnlhMlJ2ZDI0aUxDQWliV1YwWVdSaGRHRWlMQ0FpYzNSaGRITWlMQ0FpYkdsdVpYTWlMQ0FpY0dGblpVMWxkR0ZrWVhSaElpd2dJbVp5YjI1MGJXRjBkR1Z5SWl3Z0luTmxZM1JwYjI1eklpd2dJbTFoY210a2IzZHVVMjkxY21ObFNXMXdiM0owSWl3Z0lsQmhaMlZFWVhSaElpd2dJbDloSWl3Z0lsOWlJaXdnSWw5aklpd2dJbDlrSWl3Z0lsOWxJaXdnSWw5bUlpd2dJbDluSWl3Z0lsOW9JaXdnSWw5cElpd2dJbDlxSWl3Z0lsOXJJaXdnSWw5c0lpd2dJbDl0SWl3Z0lsOXVJaXdnSWw5dklpd2dJbDl3SWl3Z0luQmhjbk5sUm5KdmJuUnRZWFIwWlhKQ2JHOWpheUlzSUNKdFlYSnJaRzkzYmsxbGRHRmtZWFJoSWl3Z0lrMWxkR0ZrWVhSaElpd2dJbk5sWTNScGIyNUJjbkpoZVNJc0lDSnRaWFJoYUdWaFpHbHVaM01pTENBaVlTSXNJQ0ppSWl3Z0lrSlVjbVZsSWl3Z0ltbHVaR1Y0SWl3Z0ltVnVkSEo1SWl3Z0luTjBZWEowSWl3Z0ltVnVaQ0lzSUNKelpXTjBhVzl1SWl3Z0lsTmxZM1JwYjI1RVlYUmhJaXdnSW1WdGNIUjViR2x1WlhNaUxDQWlaMlYwUm1sc1pWUnBkR3hsSWl3Z0ltWnBjbk4wSWl3Z0ltSnNiMk5yY3lJc0lDSmliRzlqYTA5eVpHbHVZV3dpTENBaVlteHZZMnNpTENBaWMzUmhjblJNYVc1bElpd2dJa3hwYzNSQ2JHOWphMFJoZEdFaUxDQWllV0Z0YkNJc0lDSnpjR3hwZENJc0lDSndZWEp6WlNJc0lDSkVZWFJoWW14dlkydEVZWFJoSWl3Z0ltMWhkR05vSWl3Z0lrTnZaR1ZpYkc5amEwUmhkR0VpTENBaWJHRnVaM1ZoWjJWeklpd2dJa0poYzJWQ2JHOWphMFJoZEdFaUxDQWliRzl2YTNWd0lpd2dJbU52Ym5SbGJuUlNaV2RsZUNJc0lDSnRZWEpyWlhKU1pXZGxlQ0lzSUNKc2FYTjBTWFJsYlhNaUxDQWliR2x6ZENJc0lDSnplVzFpYjJ3aUxDQWlkR1Y0ZENJc0lDSnBkR1Z0SWl3Z0lreHBjM1JKZEdWdFJHRjBZU0lzSUNKc2FYTjBRbXh2WTJzaUxDQWlkR0ZuWkdWbUlpd2dJblJoWnlJc0lDSnNhVzVsSWl3Z0luSmhkM1JoWnlJc0lDSmxlSFJ5WVdOMFZHRm5jeUlzSUNKc2FXNXJaR1ZtSWl3Z0lteHBibXNpTENBaVRHbHVheUlzSUNKbWFXVnNaQ0lzSUNKcGRHVnlZWFJsU1c1c2FXNWxSbWxsYkdSeklpd2dJbU52Ym5SbGJuUWlMQ0FpYkdsdVpXNXZJaXdnSW1sdWJHbHVaVVpwWld4a2N5SXNJQ0psZUhSeVlXTjBTVzVzYVc1bFJtbGxiR1J6SWl3Z0ltbG1hV1ZzWkNJc0lDSmhjMGx1YkdsdVpVWnBaV3hrSWl3Z0ltWjFiR3hNYVc1bElpd2dJbVY0ZEhKaFkzUkdkV3hzVEdsdVpVWnBaV3hrSWl3Z0luSmxjM1ZzZENJc0lDSnJaWGtpTENBaWRtRnNkV1VpTENBaVNuTnZia052Ym5abGNuTnBiMjRpTENBaVdXRnRiRU52Ym5abGNuTnBiMjRpTENBaWRISmxaU0lzSUNKMFlYSm5aWFFpTENBaWF5SXNJQ0p6Y0d4cGRFWnliMjUwYldGMGRHVnlWR0ZuVDNKQmJHbGhjeUlzSUNKd0lpd2dJbU1pTENBaWMzUnlJaXdnSW1SaGRHRWlMQ0FpYjI0aUxDQWljeUlzSUNKMklpd2dJbXh2ZDJWeUlpd2dJbTFoY0U5aWFtVmpkRlpoYkhWbGN5SXNJQ0pxYzI5dVNXNXNhVzVsUm1sbGJHUWlMQ0FpYkdWdVozUm9JaXdnSW1kbGRFVjRkR1Z1YzJsdmJpSXNJQ0o0SWl3Z0luUnBkR3hsSWl3Z0lteGxkbVZzSWl3Z0ltOXlaR2x1WVd3aUxDQWlZbXh2WTJ0SlpDSXNJQ0p6ZEhsc1pTSXNJQ0pqYjI1MFpXNTBVM1JoY25RaUxDQWlZMjl1ZEdWdWRFVnVaQ0lzSUNKMGVYQmxJaXdnSW5CaGNtVnVkRXhwYm1VaUxDQWljM1JoZEhWeklpd2dJbVZzWlcxbGJuUWlMQ0FpWTJGdWRtRnpTVzF3YjNKMElpd2dJbkJoZEdnaUxDQWljMjkxY21ObElpd2dJbWx1WkdWNElpd2dJbk4wWVhSeklpd2dJbDloSWl3Z0ltTmhiblpoY3lJc0lDSkRZVzUyWVhORVlYUmhJaXdnSW5CaGNuTmxaQ0lzSUNKaklpd2dJbVp5YjI1MGJXRjBkR1Z5SWl3Z0ltMWxkR0ZrWVhSaElpd2dJbXhwYm1Weklpd2dJbk5sWTNScGIyNXpJaXdnSW0xaGNtdGtiM2R1VTI5MWNtTmxTVzF3YjNKMElpd2dJbU5oY21RaUxDQWlRMkZ1ZG1GelEyRnlaRVJoZEdFaUxDQWlhU0lzSUNKMFlXY2lMQ0FpYkdsdWF5SXNJQ0ptYVdWc1pDSXNJQ0pwZEdWeVlYUmxTVzVzYVc1bFJtbGxiR1J6SWl3Z0lrRmljM1J5WVdOMFEyRnVkbUZ6UTJGeVpFUmhkR0VpTENBaWFXUWlMQ0FpYm05a1pVcHpiMjRpTENBaVRXVjBZV1JoZEdFaUxDQWlUR2x1YXlJc0lDSnpaV04wYVc5dUlpd2dJbDlmYzNCeVpXRmtVSEp2Y0hNaUxDQWlYMTl6Y0hKbFlXUldZV3gxWlhNaUxDQWllQ0lzSUNKa0lpd2dJbVYyWlc1MElpd2dJbTFsYzNOaFoyVWlMQ0FpYldGeWEyUnZkMjRpTENBaWJXRnlhMlJ2ZDI1SmJYQnZjblFpTENBaVkyRnVkbUZ6SWl3Z0ltTmhiblpoYzBsdGNHOXlkQ0lzSUNKbGNuSnZjaUpkQ24wS1xcblwiKTtcbn1cbiIsICIvKiogQ29udHJvbHMgYW5kIGNyZWF0ZXMgRGF0YXZpZXcgZmlsZSBpbXBvcnRlcnMsIGFsbG93aW5nIGZvciBhc3luY2hyb25vdXMgbG9hZGluZyBhbmQgcGFyc2luZyBvZiBmaWxlcy4gKi9cblxuaW1wb3J0IEltcG9ydFdvcmtlciBmcm9tIFwiaW5kZXgvd2ViLXdvcmtlci9pbXBvcnRlci53b3JrZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgRmlsZU1hbmFnZXIsIE1ldGFkYXRhQ2FjaGUsIFRGaWxlLCBWYXVsdCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgQ2FudmFzSW1wb3J0LCBNYXJrZG93bkltcG9ydCB9IGZyb20gXCJpbmRleC93ZWItd29ya2VyL21lc3NhZ2VcIjtcbmltcG9ydCB7IERlZmVycmVkLCBkZWZlcnJlZCB9IGZyb20gXCJ1dGlscy9kZWZlcnJlZFwiO1xuXG5pbXBvcnQgeyBRdWV1ZSB9IGZyb20gXCJAZGF0YXN0cnVjdHVyZXMtanMvcXVldWVcIjtcblxuLyoqIFNldHRpbmdzIGZvciB0aHJvdHRsaW5nIGltcG9ydC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0VGhyb3R0bGUge1xuICAgIC8qKiBUaGUgbnVtYmVyIG9mIHdvcmtlcnMgdG8gdXNlIGZvciBpbXBvcnRzLiAqL1xuICAgIHdvcmtlcnM6IG51bWJlcjtcbiAgICAvKiogQSBudW1iZXIgYmV0d2VlbiAwLjEgYW5kIDEgd2hpY2ggaW5kaWNhdGVzIHRvdGFsIGNwdSB1dGlsaXphdGlvbiB0YXJnZXQ7IDAuMSBtZWFucyBzcGVuZCAxMCUgb2YgdGltZSAgKi9cbiAgICB1dGlsaXphdGlvbjogbnVtYmVyO1xufVxuXG4vKiogRGVmYXVsdCB0aHJvdHRsZSBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEhST1RUTEU6IEltcG9ydFRocm90dGxlID0ge1xuICAgIHdvcmtlcnM6IDIsXG4gICAgdXRpbGl6YXRpb246IDAuNzUsXG59O1xuXG4vKiogTXVsdGktdGhyZWFkZWQgZmlsZSBwYXJzZXIgd2hpY2ggZGVib3VuY2VzIHJhcGlkIGZpbGUgcmVxdWVzdHMgYXV0b21hdGljYWxseS4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlSW1wb3J0ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIC8qIEJhY2tncm91bmQgd29ya2VycyB3aGljaCBkbyB0aGUgYWN0dWFsIGZpbGUgcGFyc2luZy4gKi9cbiAgICB3b3JrZXJzOiBNYXA8bnVtYmVyLCBQb29sV29ya2VyPjtcbiAgICAvKiogVGhlIG5leHQgd29ya2VyIElEIHRvIGhhbmQgb3V0LiAqL1xuICAgIG5leHRXb3JrZXJJZDogbnVtYmVyO1xuICAgIC8qKiBJZiB0cnVlLCB0aGUgaW1wb3J0ZXIgaXMgbm93IGluYWN0aXZlIGFuZCB3aWxsIG5vdCBwcm9jZXNzIGZ1cnRoZXIgZmlsZXMuICovXG4gICAgc2h1dGRvd246IGJvb2xlYW47XG5cbiAgICAvKiogTGlzdCBvZiBmaWxlcyB3aGljaCBoYXZlIGJlZW4gcXVldWVkIGZvciBhIHJlbG9hZC4gKi9cbiAgICBxdWV1ZTogUXVldWU8W1RGaWxlLCBEZWZlcnJlZDxhbnk+XT47XG4gICAgLyoqIE91dHN0YW5kaW5nIGxvYWRzIGluZGV4ZWQgYnkgcGF0aC4gKi9cbiAgICBvdXRzdGFuZGluZzogTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PjtcbiAgICAvKiogVGhyb3R0bGUgc2V0dGluZ3MuICovXG4gICAgdGhyb3R0bGU6ICgpID0+IEltcG9ydFRocm90dGxlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdmF1bHQ6IFZhdWx0LFxuICAgICAgICBwdWJsaWMgZmlsZU1hbmFnZXI6IEZpbGVNYW5hZ2VyLFxuICAgICAgICBwdWJsaWMgbWV0YWRhdGFDYWNoZTogTWV0YWRhdGFDYWNoZSxcbiAgICAgICAgdGhyb3R0bGU/OiAoKSA9PiBJbXBvcnRUaHJvdHRsZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLndvcmtlcnMgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuc2h1dGRvd24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5uZXh0V29ya2VySWQgPSAwO1xuICAgICAgICB0aGlzLnRocm90dGxlID0gdGhyb3R0bGUgPz8gKCgpID0+IERFRkFVTFRfVEhST1RUTEUpO1xuXG4gICAgICAgIHRoaXMucXVldWUgPSBuZXcgUXVldWUoKTtcbiAgICAgICAgdGhpcy5vdXRzdGFuZGluZyA9IG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBRdWV1ZSB0aGUgZ2l2ZW4gZmlsZSBmb3IgaW1wb3J0aW5nLiBNdWx0aXBsZSBpbXBvcnQgcmVxdWVzdHMgZm9yIHRoZSBzYW1lIGZpbGUgaW4gYSBzaG9ydCB0aW1lIHBlcmlvZCB3aWxsIGJlIGRlLWJvdW5jZWRcbiAgICAgKiBhbmQgYWxsIGJlIHJlc29sdmVkIGJ5IGEgc2luZ2xlIGFjdHVhbCBmaWxlIHJlbG9hZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW1wb3J0PFQ+KGZpbGU6IFRGaWxlKTogUHJvbWlzZTxUPiB7XG4gICAgICAgIC8vIERlLWJvdW5jZSByZXBlYXRlZCByZXF1ZXN0cyBmb3IgdGhlIHNhbWUgZmlsZS5cbiAgICAgICAgbGV0IGV4aXN0aW5nID0gdGhpcy5vdXRzdGFuZGluZy5nZXQoZmlsZS5wYXRoKTtcbiAgICAgICAgaWYgKGV4aXN0aW5nKSByZXR1cm4gZXhpc3Rpbmc7XG5cbiAgICAgICAgbGV0IHByb21pc2UgPSBkZWZlcnJlZDxUPigpO1xuXG4gICAgICAgIHRoaXMub3V0c3RhbmRpbmcuc2V0KGZpbGUucGF0aCwgcHJvbWlzZSk7XG4gICAgICAgIHRoaXMucXVldWUuZW5xdWV1ZShbZmlsZSwgcHJvbWlzZV0pO1xuICAgICAgICB0aGlzLnNjaGVkdWxlKCk7XG4gICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH1cblxuICAgIC8qKiBSZXNldCBhbnkgYWN0aXZlIHRocm90dGxlcyBvbiB0aGUgaW1wb3J0ZXIgKHN1Y2ggYXMgaWYgdGhlIHV0aWxpemF0aW9uIGNoYW5nZXMpLiAqL1xuICAgIHB1YmxpYyB1bnRocm90dGxlKCkge1xuICAgICAgICBmb3IgKGxldCB3b3JrZXIgb2YgdGhpcy53b3JrZXJzLnZhbHVlcygpKSB7XG4gICAgICAgICAgICB3b3JrZXIuYXZhaWxhYmxlQXQgPSBEYXRlLm5vdygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFBvbGwgZnJvbSB0aGUgcXVldWUgYW5kIGV4ZWN1dGUgaWYgdGhlcmUgaXMgYW4gYXZhaWxhYmxlIHdvcmtlci4gKi9cbiAgICBwcml2YXRlIGFzeW5jIHNjaGVkdWxlKCkge1xuICAgICAgICBpZiAodGhpcy5xdWV1ZS5zaXplKCkgPT0gMCB8fCB0aGlzLnNodXRkb3duKSByZXR1cm47XG5cbiAgICAgICAgY29uc3Qgd29ya2VyID0gdGhpcy5hdmFpbGFibGVXb3JrZXIoKTtcbiAgICAgICAgaWYgKCF3b3JrZXIpIHJldHVybjtcblxuICAgICAgICBjb25zdCBbZmlsZSwgcHJvbWlzZV0gPSB0aGlzLnF1ZXVlLmRlcXVldWUoKSE7XG4gICAgICAgIHdvcmtlci5hY3RpdmUgPSBbZmlsZSwgcHJvbWlzZSwgRGF0ZS5ub3coKV07XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN3aXRjaCAoZmlsZS5leHRlbnNpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwibWFya2Rvd25cIjpcbiAgICAgICAgICAgICAgICBjYXNlIFwibWRcIjoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50cyA9IGF3YWl0IHRoaXMudmF1bHQuY2FjaGVkUmVhZChmaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgd29ya2VyIS53b3JrZXIucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJtYXJrZG93blwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogZmlsZS5wYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IGNvbnRlbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdDogZmlsZS5zdGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IHRoaXMubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUoZmlsZSksXG4gICAgICAgICAgICAgICAgICAgIH0gYXMgTWFya2Rvd25JbXBvcnQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBcImNhbnZhc1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRzID0gYXdhaXQgdGhpcy52YXVsdC5jYWNoZWRSZWFkKGZpbGUpO1xuICAgICAgICAgICAgICAgICAgICB3b3JrZXIhLndvcmtlci5wb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImNhbnZhc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogZmlsZS5wYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IGNvbnRlbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdDogZmlsZS5zdGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuZmlsZU1hbmFnZXIubGlua1VwZGF0ZXJzLmNhbnZhcy5jYW52YXMuaW5kZXguaW5kZXhbZmlsZS5wYXRoXSxcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBDYW52YXNJbXBvcnQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkRhdGFjb3JlOiBCYWNrZ3JvdW5kIGZpbGUgcmVsb2FkaW5nIGZhaWxlZC4gXCIgKyBleCk7XG5cbiAgICAgICAgICAgIC8vIE1lc3NhZ2UgZmFpbGVkLCByZWxlYXNlIHRoaXMgd29ya2VyLlxuICAgICAgICAgICAgd29ya2VyLmFjdGl2ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBGaW5pc2ggdGhlIHBhcnNpbmcgb2YgYSBmaWxlLCBwb3RlbnRpYWxseSBxdWV1ZWluZyBhIG5ldyBmaWxlLiAqL1xuICAgIHByaXZhdGUgZmluaXNoKHdvcmtlcjogUG9vbFdvcmtlciwgZGF0YTogYW55KSB7XG4gICAgICAgIGlmICghd29ya2VyLmFjdGl2ZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJEYXRhY29yZTogUmVjZWl2ZWQgYSBzdGFsZSB3b3JrZXIgbWVzc2FnZS4gSWdub3JpbmcuXCIsIGRhdGEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2ZpbGUsIHByb21pc2UsIHN0YXJ0XSA9IHdvcmtlci5hY3RpdmUhO1xuXG4gICAgICAgIC8vIFJlc29sdmUgcHJvbWlzZXMgdG8gbGV0IHVzZXJzIGtub3cgdGhpcyBmaWxlIGhhcyBmaW5pc2hlZC5cbiAgICAgICAgaWYgKFwiJGVycm9yXCIgaW4gZGF0YSkgcHJvbWlzZS5yZWplY3QoZGF0YVtcIiRlcnJvclwiXSk7XG4gICAgICAgIGVsc2UgcHJvbWlzZS5yZXNvbHZlKGRhdGEpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBmaWxlIGZyb20gb3V0c3RhbmRpbmcuXG4gICAgICAgIHRoaXMub3V0c3RhbmRpbmcuZGVsZXRlKGZpbGUucGF0aCk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIHRoaXMgd29ya2VyIGlmIHdlIGFyZSBvdmVyIGNhcGFjaXR5LlxuICAgICAgICAvLyBPdGhlcndpc2UsIG5vdGlmeSB0aGUgcXVldWUgdGhpcyBmaWxlIGlzIGF2YWlsYWJsZSBmb3IgbmV3IHdvcmsuXG4gICAgICAgIGlmICh0aGlzLndvcmtlcnMuc2l6ZSA+IHRoaXMudGhyb3R0bGUoKS53b3JrZXJzKSB7XG4gICAgICAgICAgICB0aGlzLndvcmtlcnMuZGVsZXRlKHdvcmtlci5pZCk7XG4gICAgICAgICAgICB0ZXJtaW5hdGUod29ya2VyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICAgICAgICBjb25zdCB0aHJvdHRsZSA9IE1hdGgubWF4KDAuMSwgdGhpcy50aHJvdHRsZSgpLnV0aWxpemF0aW9uKSAtIDEuMDtcbiAgICAgICAgICAgIGNvbnN0IGRlbGF5ID0gKG5vdyAtIHN0YXJ0KSAqIHRocm90dGxlO1xuXG4gICAgICAgICAgICB3b3JrZXIuYWN0aXZlID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBpZiAoZGVsYXkgPD0gMWUtMTApIHtcbiAgICAgICAgICAgICAgICB3b3JrZXIuYXZhaWxhYmxlQXQgPSBub3c7XG4gICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB3b3JrZXIuYXZhaWxhYmxlQXQgPSBub3cgKyBkZWxheTtcblxuICAgICAgICAgICAgICAgIC8vIE5vdGU6IEknbSBwcmV0dHkgc3VyZSB0aGlzIHdpbGwgZ2FyYXVudGVlIHRoYXQgdGhpcyBleGVjdXRlcyBBRlRFUiBkZWxheSBtaWxsaXNlY29uZHMsXG4gICAgICAgICAgICAgICAgLy8gc28gdGhpcyBzaG91bGQgYmUgZmluZTsgaWYgaXQncyBub3QsIHdlJ2xsIGhhdmUgdG8gc3dhcCB0byBhbiBleHRlcm5hbCB0aW1lb3V0IGxvb3BcbiAgICAgICAgICAgICAgICAvLyB3aGljaCBpbmZpbml0ZWx5IHJlc2NoZWR1bGVzIGl0c2VsZiB0byB0aGUgbmV4dCBhdmFpbGFibGUgZXhlY3V0aW9uIHRpbWUuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCh0aGlzLnNjaGVkdWxlLmJpbmQodGhpcyksIGRlbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gYW4gYXZhaWxhYmxlIHdvcmtlciwgcmV0dXJuaW5nIHVuZGVmaW5lZCBpZiBvbmUgZG9lcyBub3QgZXhpc3QuICovXG4gICAgcHJpdmF0ZSBhdmFpbGFibGVXb3JrZXIoKTogUG9vbFdvcmtlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICAgIGZvciAobGV0IHdvcmtlciBvZiB0aGlzLndvcmtlcnMudmFsdWVzKCkpIHtcbiAgICAgICAgICAgIGlmICghd29ya2VyLmFjdGl2ZSAmJiB3b3JrZXIuYXZhaWxhYmxlQXQgPD0gbm93KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgYSBuZXcgd29ya2VyIGlmIHdlIGNhbi5cbiAgICAgICAgaWYgKHRoaXMud29ya2Vycy5zaXplIDwgdGhpcy50aHJvdHRsZSgpLndvcmtlcnMpIHtcbiAgICAgICAgICAgIGxldCB3b3JrZXIgPSB0aGlzLm5ld1dvcmtlcigpO1xuICAgICAgICAgICAgdGhpcy53b3JrZXJzLnNldCh3b3JrZXIuaWQsIHdvcmtlcik7XG4gICAgICAgICAgICByZXR1cm4gd29ya2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbmV3IHdvcmtlciBib3VuZCB0byB0aGlzIGltcG9ydGVyLiAqL1xuICAgIHByaXZhdGUgbmV3V29ya2VyKCk6IFBvb2xXb3JrZXIge1xuICAgICAgICBsZXQgd29ya2VyOiBQb29sV29ya2VyID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMubmV4dFdvcmtlcklkKyssXG4gICAgICAgICAgICBhdmFpbGFibGVBdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgIHdvcmtlcjogbmV3IEltcG9ydFdvcmtlcigpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHdvcmtlci53b3JrZXIub25tZXNzYWdlID0gKGV2dCkgPT4gdGhpcy5maW5pc2god29ya2VyLCBldnQuZGF0YSk7XG4gICAgICAgIHJldHVybiB3b3JrZXI7XG4gICAgfVxuXG4gICAgLyoqIFJlamVjdCBhbGwgb3V0c3RhbmRpbmcgcHJvbWlzZXMgYW5kIGNsb3NlIGFsbCB3b3JrZXJzIG9uIGNsb3NlLiAqL1xuICAgIHB1YmxpYyBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgd29ya2VyIG9mIHRoaXMud29ya2Vycy52YWx1ZXMoKSkge1xuICAgICAgICAgICAgdGVybWluYXRlKHdvcmtlcik7XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAoIXRoaXMucXVldWUuaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICBjb25zdCBbX2ZpbGUsIHByb21pc2VdID0gdGhpcy5xdWV1ZS5wb3AoKSE7XG4gICAgICAgICAgICBwcm9taXNlLnJlamVjdChcIlRlcm1pbmF0ZWRcIik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNodXRkb3duID0gdHJ1ZTtcbiAgICB9XG59XG5cbi8qKiBBIHdvcmtlciBpbiB0aGUgcG9vbCBvZiBleGVjdXRpbmcgd29ya2Vycy4gKi9cbmludGVyZmFjZSBQb29sV29ya2VyIHtcbiAgICAvKiogVGhlIGlkIG9mIHRoaXMgd29ya2VyLiAqL1xuICAgIGlkOiBudW1iZXI7XG4gICAgLyoqIFRoZSByYXcgdW5kZXJseWluZyB3b3JrZXIuICovXG4gICAgd29ya2VyOiBXb3JrZXI7XG4gICAgLyoqIFVOSVggdGltZSBpbmRpY2F0aW5nIHRoZSBuZXh0IHRpbWUgdGhpcyB3b3JrZXIgaXMgYXZhaWxhYmxlIGZvciBleGVjdXRpb24gYWNjb3JkaW5nIHRvIHRhcmdldCB1dGlsaXphdGlvbi4gKi9cbiAgICBhdmFpbGFibGVBdDogbnVtYmVyO1xuICAgIC8qKiBUaGUgYWN0aXZlIHByb21pc2UgdGhpcyB3b3JrZXIgaXMgd29ya2luZyBvbiwgaWYgYW55LiAqL1xuICAgIGFjdGl2ZT86IFtURmlsZSwgRGVmZXJyZWQ8YW55PiwgbnVtYmVyXTtcbn1cblxuLyoqIFRlcm1pbmF0ZSBhIHBvb2wgd29ya2VyLiAqL1xuZnVuY3Rpb24gdGVybWluYXRlKHdvcmtlcjogUG9vbFdvcmtlcikge1xuICAgIHdvcmtlci53b3JrZXIudGVybWluYXRlKCk7XG5cbiAgICBpZiAod29ya2VyLmFjdGl2ZSkgd29ya2VyLmFjdGl2ZVsxXS5yZWplY3QoXCJUZXJtaW5hdGVkXCIpO1xuICAgIHdvcmtlci5hY3RpdmUgPSB1bmRlZmluZWQ7XG59XG4iLCAiaW1wb3J0IHsgZGVmZXJyZWQsIERlZmVycmVkIH0gZnJvbSBcInV0aWxzL2RlZmVycmVkXCI7XG5pbXBvcnQgeyBEYXRhc3RvcmUsIFN1YnN0b3JlciB9IGZyb20gXCJpbmRleC9kYXRhc3RvcmVcIjtcbmltcG9ydCB7IExvY2FsU3RvcmFnZUNhY2hlIH0gZnJvbSBcImluZGV4L3BlcnNpc3RlclwiO1xuaW1wb3J0IHsgSW5kZXhhYmxlLCBJTkRFWEFCTEVfRVhURU5TSU9OUyB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IEZpbGVJbXBvcnRlciwgSW1wb3J0VGhyb3R0bGUgfSBmcm9tIFwiaW5kZXgvd2ViLXdvcmtlci9pbXBvcnRlclwiO1xuaW1wb3J0IHsgSW1wb3J0UmVzdWx0IH0gZnJvbSBcImluZGV4L3dlYi13b3JrZXIvbWVzc2FnZVwiO1xuaW1wb3J0IHsgQXBwLCBDb21wb25lbnQsIEV2ZW50UmVmLCBFdmVudHMsIE1ldGFkYXRhQ2FjaGUsIFRBYnN0cmFjdEZpbGUsIFRGaWxlLCBWYXVsdCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwic2V0dGluZ3NcIjtcbmltcG9ydCB7IE1hcmtkb3duTGlzdEJsb2NrLCBNYXJrZG93bkxpc3RJdGVtLCBNYXJrZG93blBhZ2UgfSBmcm9tIFwiLi90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgR2VuZXJpY0ZpbGUgfSBmcm9tIFwiLi90eXBlcy9maWxlc1wiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IEVtYmVkUXVldWUgfSBmcm9tIFwiLi9lbWJlZC1xdWV1ZVwiO1xuaW1wb3J0IHsgSnNvbk1hcmtkb3duUGFnZSB9IGZyb20gXCIuL3R5cGVzL2pzb24vbWFya2Rvd25cIjtcbmltcG9ydCB7IENhbnZhcywgQ2FudmFzVGV4dENhcmQgfSBmcm9tIFwiLi90eXBlcy9jYW52YXNcIjtcblxuLyoqIENlbnRyYWwgQVBJIG9iamVjdDsgaGFuZGxlcyBpbml0aWFsaXphdGlvbiwgZXZlbnRzLCBkZWJvdW5jaW5nLCBhbmQgYWNjZXNzIHRvIGRhdGFjb3JlIGZ1bmN0aW9uYWxpdHkuICovXG5leHBvcnQgY2xhc3MgRGF0YWNvcmUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIC8qKiBBY2Nlc3MgdG8gdGhlIG9ic2lkaWFuIHZhdWx0LiAqL1xuICAgIHZhdWx0OiBWYXVsdDtcbiAgICAvKiogUHJvdmlkZXMgYWNjZXNzIHRvIHBlci0obWFya2Rvd24pLWZpbGUgbWV0YWRhdGEuICovXG4gICAgbWV0YWRhdGFDYWNoZTogTWV0YWRhdGFDYWNoZTtcbiAgICAvKiogRGF0YWNvcmUgZXZlbnRzLCBtYWlubHkgdXNlZCB0byB1cGRhdGUgZG93bnN0cmVhbSB2aWV3cy4gVGhpcyBvYmplY3QgaXMgc2hhZG93ZWQgYnkgdGhlIERhdGFjb3JlIG9iamVjdCBpdHNlbGYuICovXG4gICAgZXZlbnRzOiBFdmVudHM7XG5cbiAgICAvKiogSW4tbWVtb3J5IGluZGV4IG92ZXIgYWxsIHN0b3JlZCBtZXRhZGF0YS4gKi9cbiAgICBkYXRhc3RvcmU6IERhdGFzdG9yZTtcbiAgICAvKiogQXN5bmNocm9ub3VzIG11bHRpLXRocmVhZGVkIGZpbGUgaW1wb3J0ZXIgd2l0aCB0aHJvdHRsaW5nLiAqL1xuICAgIGltcG9ydGVyOiBGaWxlSW1wb3J0ZXI7XG4gICAgLyoqIFF1ZXVlIG9mIGFzeW5jaHJvbm91cyByZWFkIHJlcXVlc3RzOyBlbnN1cmVzIHdlIGxpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IGZpbGUgbG9hZHMuICovXG4gICAgcmVhZHM6IEVtYmVkUXVldWU7XG4gICAgLyoqIExvY2FsLXN0b3JhZ2UgYmFja2VkIGNhY2hlIG9mIG1ldGFkYXRhIG9iamVjdHMuICovXG4gICAgcGVyc2lzdGVyOiBMb2NhbFN0b3JhZ2VDYWNoZTtcbiAgICAvKiogT25seSBzZXQgd2hlbiBkYXRhY29yZSBpcyBpbiB0aGUgbWlkc3Qgb2YgaW5pdGlhbGl6YXRpb247IHRyYWNrcyBjdXJyZW50IHByb2dyZXNzLiAqL1xuICAgIGluaXRpYWxpemVyPzogRGF0YWNvcmVJbml0aWFsaXplcjtcbiAgICAvKiogSWYgdHJ1ZSwgZGF0YWNvcmUgaXMgZnVsbHkgaHlkcmF0ZWQgYW5kIGFsbCBmaWxlcyBoYXZlIGJlZW4gaW5kZXhlZC4gKi9cbiAgICBpbml0aWFsaXplZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBhcHA6IEFwcCwgcHVibGljIHZlcnNpb246IHN0cmluZywgcHVibGljIHNldHRpbmdzOiBTZXR0aW5ncykge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMudmF1bHQgPSBhcHAudmF1bHQ7XG4gICAgICAgIHRoaXMubWV0YWRhdGFDYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlO1xuICAgICAgICB0aGlzLnBlcnNpc3RlciA9IG5ldyBMb2NhbFN0b3JhZ2VDYWNoZShcInByaW1hcnlcIiwgdmVyc2lvbik7XG4gICAgICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50cygpO1xuXG4gICAgICAgIHRoaXMuZGF0YXN0b3JlID0gbmV3IERhdGFzdG9yZShhcHAudmF1bHQsIGFwcC5tZXRhZGF0YUNhY2hlLCBzZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmFkZENoaWxkKFxuICAgICAgICAgICAgKHRoaXMuaW1wb3J0ZXIgPSBuZXcgRmlsZUltcG9ydGVyKGFwcC52YXVsdCwgYXBwLmZpbGVNYW5hZ2VyLCBhcHAubWV0YWRhdGFDYWNoZSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHdvcmtlcnM6IHNldHRpbmdzLmltcG9ydGVyTnVtVGhyZWFkcyxcbiAgICAgICAgICAgICAgICAgICAgdXRpbGl6YXRpb246IE1hdGgubWF4KDAuMSwgTWF0aC5taW4oMS4wLCBzZXR0aW5ncy5pbXBvcnRlclV0aWxpemF0aW9uKSksXG4gICAgICAgICAgICAgICAgfSBhcyBJbXBvcnRUaHJvdHRsZTtcbiAgICAgICAgICAgIH0pKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFRPRE8gKGJsYWNrc21pdGhndSk6IEFkZCBhIG5ldyBzZXR0aW5nIGZvciBlbWJlZCBxdWV1ZSBjb25jdXJyZW5jeS5cbiAgICAgICAgdGhpcy5hZGRDaGlsZCgodGhpcy5yZWFkcyA9IG5ldyBFbWJlZFF1ZXVlKGFwcC52YXVsdCwgKCkgPT4gOCkpKTtcbiAgICB9XG5cbiAgICAvKiogT2J0YWluIHRoZSBjdXJyZW50IGluZGV4IHJldmlzaW9uLCBmb3IgZGV0ZXJtaW5pbmcgaWYgYW55dGhpbmcgaGFzIGNoYW5nZWQuICovXG4gICAgZ2V0IHJldmlzaW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmUucmV2aXNpb247XG4gICAgfVxuXG4gICAgLyoqIEluaXRpYWxpemUgZGF0YWNvcmUgYnkgc2Nhbm5pbmcgcGVyc2lzdGVkIGNhY2hlcyBhbmQgYWxsIGF2YWlsYWJsZSBmaWxlcywgYW5kIHF1ZXVlaW5nIHBhcnNlcyBhcyBuZWVkZWQuICovXG4gICAgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgLy8gTWV0YWRhdGEgY2FjaGUgaGFuZGxlcyBtYXJrZG93biBmaWxlIHVwZGF0ZXMuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLm1ldGFkYXRhQ2FjaGUub24oXCJyZXNvbHZlXCIsIChmaWxlKSA9PiB0aGlzLnJlbG9hZChmaWxlKSkpO1xuXG4gICAgICAgIC8vIFJlbmFtZXMgZG8gbm90IHNldCBvZmYgdGhlIG1ldGFkYXRhIGNhY2hlOyBjYXRjaCB0aGVzZSBleHBsaWNpdGx5LlxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnQodGhpcy52YXVsdC5vbihcInJlbmFtZVwiLCB0aGlzLnJlbmFtZSwgdGhpcykpO1xuXG4gICAgICAgIC8vIEhhbmRsZSBnZW5lcmljIGZpbGUgY3JlYXRlcyBhbmQgdXBkYXRlczsgcmVzb2x2ZSBnZW5lcmFsbHkgb25seSBhcHBsaWVzIHRvIG1hcmtkb3duIGZpbGVzXG4gICAgICAgIC8vIGJ1dCB3ZSBkbyBrZWVwIGJhc2ljIG1ldGFkYXRhIGFib3V0IGFsbCBmaWxlcy5cbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50KFxuICAgICAgICAgICAgdGhpcy52YXVsdC5vbihcImNyZWF0ZVwiLCAoZmlsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghKGZpbGUgaW5zdGFuY2VvZiBURmlsZSkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIC8vIEhhbmRsZWQgYnkgdGhlIG1ldGFkYXRhIGNhY2hlLlxuICAgICAgICAgICAgICAgIGlmIChJTkRFWEFCTEVfRVhURU5TSU9OUy5oYXMoZmlsZS5leHRlbnNpb24udG9Mb3dlckNhc2UoKSkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVsb2FkKGZpbGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoXG4gICAgICAgICAgICB0aGlzLnZhdWx0Lm9uKFwibW9kaWZ5XCIsIChmaWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCEoZmlsZSBpbnN0YW5jZW9mIFRGaWxlKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlZCBieSB0aGUgbWV0YWRhdGEgY2FjaGUuXG4gICAgICAgICAgICAgICAgaWYgKElOREVYQUJMRV9FWFRFTlNJT05TLmhhcyhmaWxlLmV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoZmlsZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEZpbGUgY3JlYXRpb24gZG9lcyBjYXVzZSBhIG1ldGFkYXRhIGNoYW5nZSwgYnV0IGRlbGV0ZXMgZG8gbm90LiBDbGVhciB0aGUgY2FjaGVzIGZvciB0aGlzLlxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoXG4gICAgICAgICAgICB0aGlzLnZhdWx0Lm9uKFwiZGVsZXRlXCIsIChmaWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBURmlsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFzdG9yZS5kZWxldGUoZmlsZS5wYXRoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaW5kZXgoKTtcbiAgICB9XG5cbiAgICAvKiogU3RhcnRzIHRoZSBiYWNrZ3JvdW5kIGluaXRpYWxpemVyLiAqL1xuICAgIGluZGV4KCkge1xuICAgICAgICAvLyBBc3luY2hyb25vdXNseSBpbml0aWFsaXplIGFjdHVhbCBjb250ZW50IGluIHRoZSBiYWNrZ3JvdW5kIHVzaW5nIGEgbGlmZWN5Y2xlLXJlc3BlY3Rpbmcgb2JqZWN0LlxuICAgICAgICBjb25zdCBpbml0ID0gKHRoaXMuaW5pdGlhbGl6ZXIgPSBuZXcgRGF0YWNvcmVJbml0aWFsaXplcih0aGlzKSk7XG4gICAgICAgIGluaXQuZmluaXNoZWQoKS50aGVuKChzdGF0cykgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVyID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZChpbml0KTtcblxuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25TZWNzID0gKHN0YXRzLmR1cmF0aW9uTXMgLyAxMDAwLjApLnRvRml4ZWQoMyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICBgRGF0YWNvcmU6IEltcG9ydGVkIGFsbCBmaWxlcyBpbiB0aGUgdmF1bHQgaW4gJHtkdXJhdGlvblNlY3N9cyBgICtcbiAgICAgICAgICAgICAgICAgICAgYCgke3N0YXRzLmltcG9ydGVkfSBpbXBvcnRlZCwgJHtzdGF0cy5jYWNoZWR9IGNhY2hlZCwgJHtzdGF0cy5za2lwcGVkfSBza2lwcGVkKS5gXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLmRhdGFzdG9yZS50b3VjaCgpO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyKFwidXBkYXRlXCIsIHRoaXMucmV2aXNpb24pO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyKFwiaW5pdGlhbGl6ZWRcIik7XG5cbiAgICAgICAgICAgIC8vIENsZWFuIHVwIGFueSBkb2N1bWVudHMgd2hpY2ggbm8gbG9uZ2VyIGV4aXN0IGluIHRoZSB2YXVsdC5cbiAgICAgICAgICAgIC8vIFRPRE86IEkgdGhpbmsgdGhpcyBtYXkgcmFjZSB3aXRoIG90aGVyIGNvbmN1cnJlbnQgb3BlcmF0aW9ucywgc29cbiAgICAgICAgICAgIC8vIHRoaXMgbWF5IG5lZWQgdG8gaGFwcGVuIGF0IHRoZSBzdGFydCBvZiBpbml0IGFuZCBub3QgYXQgdGhlIGVuZC5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGaWxlcyA9IHRoaXMudmF1bHQuZ2V0RmlsZXMoKS5tYXAoKGZpbGUpID0+IGZpbGUucGF0aCk7XG4gICAgICAgICAgICB0aGlzLnBlcnNpc3RlclxuICAgICAgICAgICAgICAgIC5zeW5jaHJvbml6ZShjdXJyZW50RmlsZXMpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGNsZWFyZWQpID0+IGNvbnNvbGUubG9nKGBEYXRhY29yZTogZHJvcHBlZCAke2NsZWFyZWQuc2l6ZX0gb3V0LW9mLWRhdGUgZmlsZSBtZXRhZGF0YSBibG9ja3MuYCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkZENoaWxkKGluaXQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVuYW1lKGZpbGU6IFRBYnN0cmFjdEZpbGUsIG9sZFBhdGg6IHN0cmluZykge1xuICAgICAgICBpZiAoIShmaWxlIGluc3RhbmNlb2YgVEZpbGUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZWxldGUgdGhlIGZpbGUgYXQgdGhlIG9sZCBwYXRoLCB0aGVuIHJlcXVlc3QgYSByZWxvYWQgYXQgdGhlIG5ldyBwYXRoLlxuICAgICAgICAvLyBUaGlzIGlzIGxlc3Mgb3B0aW1hbCB0aGFuIHdoYXQgY2FuIHByb2JhYmx5IGJlIGRvbmUsIGJ1dCBwYXRocyBhcmUgdXNlZCBpbiBhIGJ1bmNoIG9mIHBsYWNlc1xuICAgICAgICAvLyAoZm9yIHNlY3Rpb25zLCB0YXNrcywgZXRjIHRvIHJlZmVyIHRvIHRoZWlyIHBhcmVudCBmaWxlKSBhbmQgaXQgcmVxdWlyZXMgc29tZSBmaW5lc3NlIHRvIGZpeC5cbiAgICAgICAgdGhpcy5kYXRhc3RvcmUuZGVsZXRlKG9sZFBhdGgpO1xuICAgICAgICB0aGlzLnJlbG9hZChmaWxlKTtcblxuICAgICAgICAvLyBUT0RPOiBGb3IgY29ycmVjdG5lc3MsIHByb2JhYmx5IGhhdmUgdG8gZWl0aGVyIGZpeCBsaW5rcyBpbiBhbGwgbGlua2VkIGZpbGVzIE9SXG4gICAgICAgIC8vIGp1c3Qgc3RvcCBub3JtYWxpemluZyBsaW5rcyBpbiB0aGUgc3RvcmUuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVhZCBhIGZpbGUgZnJvbSB0aGUgT2JzaWRpYW4gY2FjaGUgZWZmaWNpZW50bHksIGxpbWl0aW5nIHRoZSBudW1iZXIgb2YgY29uY3VycmVudCByZXF1ZXN0IGFuZCBkZWJvdW5jaW5nXG4gICAgICogbXVsdGlwbGUgcmVxdWVzdHMgZm9yIHRoZSBzYW1lIGZpbGUuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHJlYWQoZmlsZTogVEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWFkcy5yZWFkKGZpbGUpO1xuICAgIH1cblxuICAgIC8qKiBRdWV1ZSBhIGZpbGUgZm9yIHJlbG9hZGluZzsgdGhpcyBpcyBkb25lIGFzeW5jaHJvbm91c2x5IGluIHRoZSBiYWNrZ3JvdW5kIGFuZCBtYXkgdGFrZSBhIGZldyBzZWNvbmRzLiAqL1xuICAgIHB1YmxpYyBhc3luYyByZWxvYWQoZmlsZTogVEZpbGUpOiBQcm9taXNlPEluZGV4YWJsZT4ge1xuICAgICAgICAvLyBGaWx0ZXIgZmlsZXMgYnkgZmlsZSBleHRlbnNpb25zLlxuICAgICAgICBpZiAoIUlOREVYQUJMRV9FWFRFTlNJT05TLmhhcyhmaWxlLmV4dGVuc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBHZW5lcmljRmlsZShcbiAgICAgICAgICAgICAgICBmaWxlLnBhdGgsXG4gICAgICAgICAgICAgICAgRGF0ZVRpbWUuZnJvbU1pbGxpcyhmaWxlLnN0YXQuY3RpbWUpLFxuICAgICAgICAgICAgICAgIERhdGVUaW1lLmZyb21NaWxsaXMoZmlsZS5zdGF0Lm10aW1lKSxcbiAgICAgICAgICAgICAgICBmaWxlLnN0YXQuc2l6ZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgdGhpcy5kYXRhc3RvcmUuc3RvcmUocmVzdWx0KTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmltcG9ydGVyLmltcG9ydDxJbXBvcnRSZXN1bHQ+KGZpbGUpO1xuXG4gICAgICAgIGlmIChyZXN1bHQudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBpbXBvcnQgZmlsZSAnJHtmaWxlLm5hbWV9OiAke3Jlc3VsdC4kZXJyb3J9YCk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LnR5cGUgPT09IFwibWFya2Rvd25cIikge1xuICAgICAgICAgICAgLy8gUGFyc2UgdGhlIGZpbGUgYW5kIG5vcm1hbGl6ZSBtZXRhZGF0YSBmcm9tIGl0LlxuICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gTWFya2Rvd25QYWdlLmZyb20ocmVzdWx0LnJlc3VsdCwgKGxpbmspID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBycGF0aCA9IHRoaXMubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdChsaW5rLnBhdGgsIHJlc3VsdC5yZXN1bHQuJHBhdGghKTtcbiAgICAgICAgICAgICAgICBpZiAocnBhdGgpIHJldHVybiBsaW5rLndpdGhQYXRoKHJwYXRoLnBhdGgpO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIGxpbms7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gU3RvcmUgaXQgcmVjdXJzaXZlbHkgaW50byB0aGUgZGF0YXN0b3JlIGZvciBxdWVyeWluZy5cbiAgICAgICAgICAgIHRoaXMuc3RvcmVNYXJrZG93bihwYXJzZWQpO1xuXG4gICAgICAgICAgICAvLyBXcml0ZSBpdCB0byB0aGUgZmlsZSBjYWNoZSBmb3IgZmFzdGVyIGxvYWRzIGluIHRoZSBmdXR1cmUuXG4gICAgICAgICAgICB0aGlzLnBlcnNpc3Rlci5zdG9yZUZpbGUocGFyc2VkLiRwYXRoLCBwYXJzZWQuanNvbigpKTtcblxuICAgICAgICAgICAgLy8gQW5kIGZpbmFsbHkgdHJpZ2dlciBhbiB1cGRhdGUuXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIoXCJ1cGRhdGVcIiwgdGhpcy5yZXZpc2lvbik7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC50eXBlID09PSBcImNhbnZhc1wiKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBDYW52YXMuZnJvbShyZXN1bHQucmVzdWx0LCAobGluaykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJwYXRoID0gdGhpcy5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmsucGF0aCwgcmVzdWx0LnJlc3VsdC4kcGF0aCEpO1xuICAgICAgICAgICAgICAgIGlmIChycGF0aCkgcmV0dXJuIGxpbmsud2l0aFBhdGgocnBhdGgucGF0aCk7XG4gICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gbGluaztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdG9yZUNhbnZhcyhwYXJzZWQpO1xuICAgICAgICAgICAgdGhpcy5wZXJzaXN0ZXIuc3RvcmVGaWxlKHBhcnNlZC4kcGF0aCwgcGFyc2VkLmpzb24oKSk7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIoXCJ1cGRhdGVcIiwgdGhpcy5yZXZpc2lvbik7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5jb3VudGVyZWQgdW5yZWNvZ25pemVkIGltcG9ydCByZXN1bHQgdHlwZTogXCIgKyAocmVzdWx0IGFzIGFueSkudHlwZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3JlQ2FudmFzKGRhdGE6IENhbnZhcykge1xuICAgICAgICB0aGlzLmRhdGFzdG9yZS5zdG9yZShkYXRhLCAob2JqZWN0LCBzdG9yZSkgPT4ge1xuICAgICAgICAgICAgc3RvcmUob2JqZWN0LiRjYXJkcywgKGNhcmQsIHN0b3JlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNhcmQgaW5zdGFuY2VvZiBDYW52YXNUZXh0Q2FyZCkge1xuICAgICAgICAgICAgICAgICAgICBzdG9yZShjYXJkLiRzZWN0aW9ucywgKHNlY3Rpb24sIHN0b3JlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yZShzZWN0aW9uLiRibG9ja3MsIChibG9jaywgc3RvcmUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2sgaW5zdGFuY2VvZiBNYXJrZG93bkxpc3RCbG9jaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWN1cnNpdmUgc3RvcmUgZnVuY3Rpb24gZm9yIHN0b3JpbmcgbGlzdCBoZWlyYXJjaGllcy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RvcmVSZWM6IFN1YnN0b3JlcjxNYXJrZG93bkxpc3RJdGVtPiA9IChpdGVtLCBzdG9yZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlKGl0ZW0uJGVsZW1lbnRzLCBzdG9yZVJlYyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmUoYmxvY2suJGVsZW1lbnRzLCBzdG9yZVJlYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogU3RvcmUgYSBtYXJrZG93biBkb2N1bWVudC4gKi9cbiAgICBwdWJsaWMgc3RvcmVNYXJrZG93bihkYXRhOiBNYXJrZG93blBhZ2UpIHtcbiAgICAgICAgdGhpcy5kYXRhc3RvcmUuc3RvcmUoZGF0YSwgKG9iamVjdCwgc3RvcmUpID0+IHtcbiAgICAgICAgICAgIHN0b3JlKG9iamVjdC4kc2VjdGlvbnMsIChzZWN0aW9uLCBzdG9yZSkgPT4ge1xuICAgICAgICAgICAgICAgIHN0b3JlKHNlY3Rpb24uJGJsb2NrcywgKGJsb2NrLCBzdG9yZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2sgaW5zdGFuY2VvZiBNYXJrZG93bkxpc3RCbG9jaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVjdXJzaXZlIHN0b3JlIGZ1bmN0aW9uIGZvciBzdG9yaW5nIGxpc3QgaGVpcmFyY2hpZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdG9yZVJlYzogU3Vic3RvcmVyPE1hcmtkb3duTGlzdEl0ZW0+ID0gKGl0ZW0sIHN0b3JlKSA9PiBzdG9yZShpdGVtLiRlbGVtZW50cywgc3RvcmVSZWMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yZShibG9jay4kZWxlbWVudHMsIHN0b3JlUmVjKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEV2ZW50IHByb3BvZ2F0aW9uLlxuXG4gICAgLyoqIENhbGxlZCB3aGVuZXZlciB0aGUgaW5kZXggdXBkYXRlcyB0byBhIG5ldyByZXZpc2lvbi4gVGhpcyBpcyB0aGUgYnJvYWRlc3QgcG9zc2libGUgZGF0YWNvcmUgZXZlbnQuICovXG4gICAgcHVibGljIG9uKGV2dDogXCJ1cGRhdGVcIiwgY2FsbGJhY2s6IChyZXZpc2lvbjogbnVtYmVyKSA9PiBhbnksIGNvbnRleHQ/OiBhbnkpOiBFdmVudFJlZjtcbiAgICBwdWJsaWMgb24oZXZ0OiBcImluaXRpYWxpemVkXCIsIGNhbGxiYWNrOiAoKSA9PiBhbnksIGNvbnRleHQ/OiBhbnkpOiBFdmVudFJlZjtcblxuICAgIG9uKGV2dDogc3RyaW5nLCBjYWxsYmFjazogKC4uLmRhdGE6IGFueSkgPT4gYW55LCBjb250ZXh0PzogYW55KTogRXZlbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudHMub24oZXZ0LCBjYWxsYmFjaywgY29udGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIFVuc3Vic2NyaWJlIGZyb20gYW4gZXZlbnQgdXNpbmcgdGhlIGV2ZW50IGFuZCBvcmlnaW5hbCBjYWxsYmFjay4gKi9cbiAgICBvZmYoZXZ0OiBzdHJpbmcsIGNhbGxiYWNrOiAoLi4uZGF0YTogYW55KSA9PiBhbnkpIHtcbiAgICAgICAgdGhpcy5ldmVudHMub2ZmKGV2dCwgY2FsbGJhY2spO1xuICAgIH1cblxuICAgIC8qKiBVbnN1YnNjcmliZSBmcm9tIGFuIGV2ZW50IHVzaW5nIHRoZSBldmVudCByZWZlcmVuY2UuICAqL1xuICAgIG9mZnJlZihyZWY6IEV2ZW50UmVmKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9mZnJlZihyZWYpO1xuICAgIH1cblxuICAgIC8qKiBUcmlnZ2VyIGFuIHVwZGF0ZSBldmVudC4gKi9cbiAgICBwcml2YXRlIHRyaWdnZXIoZXZ0OiBcInVwZGF0ZVwiLCByZXZpc2lvbjogbnVtYmVyKTogdm9pZDtcbiAgICAvKiogVHJpZ2dlciBhbiBpbml0aWFsaXphdGlvbiBldmVudC4gKi9cbiAgICBwcml2YXRlIHRyaWdnZXIoZXZ0OiBcImluaXRpYWxpemVkXCIpOiB2b2lkO1xuXG4gICAgLyoqIFRyaWdnZXIgYW4gZXZlbnQuICovXG4gICAgcHJpdmF0ZSB0cmlnZ2VyKGV2dDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKGV2dCwgLi4uYXJncyk7XG4gICAgfVxufVxuXG4vKiogTGlmZWN5Y2xlLXJlc3BlY3RpbmcgZmlsZSBxdWV1ZSB3aGljaCB3aWxsIGltcG9ydCBmaWxlcywgcmVhZGluZyB0aGVtIGZyb20gdGhlIGZpbGUgY2FjaGUgaWYgbmVlZGVkLiAqL1xuZXhwb3J0IGNsYXNzIERhdGFjb3JlSW5pdGlhbGl6ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIC8qKiBOdW1iZXIgb2YgY29uY3VycmVudCBvcGVyYXRpb25zIHRoZSBpbml0aWFsaXplciB3aWxsIHBlcmZvcm0uICovXG4gICAgc3RhdGljIEJBVENIX1NJWkU6IG51bWJlciA9IDg7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5pdGlhbGl6ZXIgc2hvdWxkIGNvbnRpbnVlIHRvIHJ1bi4gKi9cbiAgICBhY3RpdmU6IGJvb2xlYW47XG5cbiAgICAvKiogUXVldWUgb2YgZmlsZXMgdG8gc3RpbGwgaW1wb3J0LiAqL1xuICAgIHF1ZXVlOiBURmlsZVtdO1xuICAgIC8qKiBUaGUgZmlsZXMgYWN0aXZlbHkgYmVpbmcgaW1wb3J0ZWQuICovXG4gICAgY3VycmVudDogVEZpbGVbXTtcbiAgICAvKiogRGVmZXJyZWQgcHJvbWlzZSB3aGljaCByZXNvbHZlcyB3aGVuIGltcG9ydGluZyBpcyBkb25lLiAqL1xuICAgIGRvbmU6IERlZmVycmVkPEluaXRpYWxpemF0aW9uU3RhdHM+O1xuXG4gICAgLyoqIFRoZSB0b3RhbCBudW1iZXIgb2YgdGFyZ2V0IGZpbGVzIHRvIGltcG9ydC4gKi9cbiAgICB0YXJnZXRUb3RhbDogbnVtYmVyO1xuICAgIC8qKiBUaGUgdGltZSB0aGF0IGluaXQgc3RhcnRlZCBpbiBtaWxsaXNlY29uZHMuICovXG4gICAgc3RhcnQ6IG51bWJlcjtcbiAgICAvKiogVG90YWwgbnVtYmVyIG9mIGZpbGVzIHRvIGltcG9ydC4gKi9cbiAgICBmaWxlczogbnVtYmVyO1xuICAgIC8qKiBUb3RhbCBudW1iZXIgb2YgaW1wb3J0ZWQgZmlsZXMgc28gZmFyLiAqL1xuICAgIGluaXRpYWxpemVkOiBudW1iZXI7XG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBpbXBvcnRlZCBmaWxlcy4gKi9cbiAgICBpbXBvcnRlZDogbnVtYmVyO1xuICAgIC8qKiBUb3RhbCBudW1iZXIgb2Ygc2tpcHBlZCBmaWxlcy4gKi9cbiAgICBza2lwcGVkOiBudW1iZXI7XG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBjYWNoZWQgZmlsZXMuICovXG4gICAgY2FjaGVkOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29yZTogRGF0YWNvcmUpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnF1ZXVlID0gdGhpcy5jb3JlLnZhdWx0LmdldEZpbGVzKCk7XG4gICAgICAgIHRoaXMudGFyZ2V0VG90YWwgPSB0aGlzLnF1ZXVlLmxlbmd0aDtcbiAgICAgICAgdGhpcy5maWxlcyA9IHRoaXMucXVldWUubGVuZ3RoO1xuICAgICAgICB0aGlzLnN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgdGhpcy5jdXJyZW50ID0gW107XG4gICAgICAgIHRoaXMuZG9uZSA9IGRlZmVycmVkKCk7XG5cbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRoaXMuaW1wb3J0ZWQgPSB0aGlzLnNraXBwZWQgPSB0aGlzLmNhY2hlZCA9IDA7XG4gICAgfVxuXG4gICAgYXN5bmMgb25sb2FkKCkge1xuICAgICAgICAvLyBRdWV1ZSBCQVRDSF9TSVpFIGVsZW1lbnRzIGZyb20gdGhlIHF1ZXVlIHRvIGltcG9ydC5cbiAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMucnVuTmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBQcm9taXNlIHdoaWNoIHJlc29sdmVzIHdoZW4gdGhlIGluaXRpYWxpemF0aW9uIGNvbXBsZXRlcy4gKi9cbiAgICBmaW5pc2hlZCgpOiBQcm9taXNlPEluaXRpYWxpemF0aW9uU3RhdHM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9uZTtcbiAgICB9XG5cbiAgICAvKiogQ2FuY2VsIGluaXRpYWxpemF0aW9uLiAqL1xuICAgIG9udW5sb2FkKCkge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmRvbmUucmVqZWN0KFwiSW5pdGlhbGl6YXRpb24gd2FzIGNhbmNlbGxlZCBiZWZvcmUgY29tcGxldGluZy5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUG9sbCBmb3IgYW5vdGhlciB0YXNrIHRvIGV4ZWN1dGUgZnJvbSB0aGUgcXVldWUuICovXG4gICAgcHJpdmF0ZSBydW5OZXh0KCkge1xuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIG1heCBudW1iZXIgb2YgY29uY3VycmVudCBvcGVyYXRpb25zIGFscmVhZHkgcnVubmluZy5cbiAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZSB8fCB0aGlzLmN1cnJlbnQubGVuZ3RoID49IERhdGFjb3JlSW5pdGlhbGl6ZXIuQkFUQ0hfU0laRSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlcmUgaXMgc3BhY2UgYXZhaWxhYmxlIHRvIGV4ZWN1dGUgYW5vdGhlci5cbiAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMucXVldWUucG9wKCk7XG4gICAgICAgIGlmIChuZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnQucHVzaChuZXh0KTtcbiAgICAgICAgICAgIHRoaXMuaW5pdChuZXh0KVxuICAgICAgICAgICAgICAgIC50aGVuKChyZXN1bHQpID0+IHRoaXMuaGFuZGxlUmVzdWx0KG5leHQsIHJlc3VsdCkpXG4gICAgICAgICAgICAgICAgLmNhdGNoKChyZXN1bHQpID0+IHRoaXMuaGFuZGxlUmVzdWx0KG5leHQsIHJlc3VsdCkpO1xuXG4gICAgICAgICAgICB0aGlzLnJ1bk5leHQoKTtcbiAgICAgICAgfSBlbHNlIGlmICghbmV4dCAmJiB0aGlzLmN1cnJlbnQubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG5cbiAgICAgICAgICAgIC8vIEFsbCB3b3JrIGlzIGRvbmUsIHJlc29sdmUuXG4gICAgICAgICAgICB0aGlzLmRvbmUucmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgZHVyYXRpb25NczogRGF0ZS5ub3coKSAtIHRoaXMuc3RhcnQsXG4gICAgICAgICAgICAgICAgZmlsZXM6IHRoaXMuZmlsZXMsXG4gICAgICAgICAgICAgICAgaW1wb3J0ZWQ6IHRoaXMuaW1wb3J0ZWQsXG4gICAgICAgICAgICAgICAgc2tpcHBlZDogdGhpcy5za2lwcGVkLFxuICAgICAgICAgICAgICAgIGNhY2hlZDogdGhpcy5jYWNoZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBQcm9jZXNzIHRoZSByZXN1bHQgb2YgYW4gaW5pdGlhbGl6YXRpb24gYW5kIHF1ZXVlIG1vcmUgcnVucy4gKi9cbiAgICBwcml2YXRlIGhhbmRsZVJlc3VsdChmaWxlOiBURmlsZSwgcmVzdWx0OiBJbml0aWFsaXphdGlvblJlc3VsdCkge1xuICAgICAgICB0aGlzLmN1cnJlbnQucmVtb3ZlKGZpbGUpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkKys7XG5cbiAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IFwic2tpcHBlZFwiKSB0aGlzLnNraXBwZWQrKztcbiAgICAgICAgZWxzZSBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJpbXBvcnRlZFwiKSB0aGlzLmltcG9ydGVkKys7XG4gICAgICAgIGVsc2UgaWYgKHJlc3VsdC5zdGF0dXMgPT09IFwiY2FjaGVkXCIpIHRoaXMuY2FjaGVkKys7XG5cbiAgICAgICAgLy8gUXVldWUgbW9yZSBqb2JzIGZvciBwcm9jZXNzaW5nLlxuICAgICAgICB0aGlzLnJ1bk5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogSW5pdGlhbGl6ZSBhIHNwZWNpZmljIGZpbGUuICovXG4gICAgcHJpdmF0ZSBhc3luYyBpbml0KGZpbGU6IFRGaWxlKTogUHJvbWlzZTxJbml0aWFsaXphdGlvblJlc3VsdD4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gSGFuZGxlIGxvYWRpbmcgbWFya2Rvd24gZmlsZXMgZnJvbSBjYWNoZS5cbiAgICAgICAgICAgIGNvbnN0IGNhY2hlZCA9IGF3YWl0IHRoaXMuY29yZS5wZXJzaXN0ZXIubG9hZEZpbGUoZmlsZS5wYXRoKTtcbiAgICAgICAgICAgIGlmIChjYWNoZWQgJiYgY2FjaGVkLnRpbWUgPj0gZmlsZS5zdGF0Lm10aW1lICYmIGNhY2hlZC52ZXJzaW9uID09IHRoaXMuY29yZS52ZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbGUuZXh0ZW5zaW9uID09PSBcIm1kXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IE1hcmtkb3duUGFnZS5mcm9tKGNhY2hlZC5kYXRhIGFzIEpzb25NYXJrZG93blBhZ2UsIChsaW5rKSA9PiBsaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3JlLnN0b3JlTWFya2Rvd24oZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXR1czogXCJjYWNoZWRcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRG9lcyBub3QgbWF0Y2ggYW4gZXhpc3RpbmcgaW1wb3J0IHR5cGUsIGp1c3QgcmVsb2FkIG5vcm1hbGx5LlxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb3JlLnJlbG9hZChmaWxlKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXR1czogXCJpbXBvcnRlZFwiIH07XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkRhdGFjb3JlOiBGYWlsZWQgdG8gaW1wb3J0IGZpbGU6IFwiLCBleCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IFwic2tpcHBlZFwiIH07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiBTdGF0aXN0aWNzIGFib3V0IGEgc3VjY2Vzc2Z1bCB2YXVsdCBpbml0aWFsaXphdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhbGl6YXRpb25TdGF0cyB7XG4gICAgLyoqIEhvdyBsb25nIGluaXRpYWxpemF0b24gdG9vayBpbiBtaWxpc2Vjb25kcy4gKi9cbiAgICBkdXJhdGlvbk1zOiBudW1iZXI7XG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBmaWxlcyB0aGF0IHdlcmUgaW1wb3J0ZWQgKi9cbiAgICBmaWxlczogbnVtYmVyO1xuICAgIC8qKiBUaGUgbnVtYmVyIG9mIGZpbGVzIHRoYXQgd2VyZSBsb2FkZWQgYW5kIGltcG9ydGVkIHZpYSBiYWNrZ3JvdW5kIHdvcmtlcnMuICovXG4gICAgaW1wb3J0ZWQ6IG51bWJlcjtcbiAgICAvKiogVGhlIG51bWJlciBvZiBmaWxlcyB0aGF0IHdlcmUgc2tpcHBlZCBkdWUgdG8gbm8gbG9uZ2VyIGV4aXN0aW5nIG9yIG5vdCBiZWluZyByZWFkeS4gKi9cbiAgICBza2lwcGVkOiBudW1iZXI7XG4gICAgLyoqIFRoZSBudW1iZXIgb2YgZmlsZXMgbG9hZGVkIGZyb20gdGhlIEluZGV4ZWREQiBjYWNoZS4gKi9cbiAgICBjYWNoZWQ6IG51bWJlcjtcbn1cblxuLyoqIFRoZSByZXN1bHQgb2YgaW5pdGlhbGl6aW5nIGEgZmlsZS4gKi9cbmludGVyZmFjZSBJbml0aWFsaXphdGlvblJlc3VsdCB7XG4gICAgc3RhdHVzOiBcInNraXBwZWRcIiB8IFwiaW1wb3J0ZWRcIiB8IFwiY2FjaGVkXCI7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGluZGV4YWJsZXNcbiAqL1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IEZJTEVfVFlQRSwgRmlsZSwgSW5kZXhhYmxlLCBMSU5LQUJMRV9UWVBFLCBMaW5rYWJsZSB9IGZyb20gXCIuL2luZGV4YWJsZVwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IEV4dHJhY3RvcnMsIEZJRUxEQkVBUklOR19UWVBFLCBGaWVsZEV4dHJhY3RvciwgRmllbGRiZWFyaW5nIH0gZnJvbSBcImV4cHJlc3Npb24vZmllbGRcIjtcbmltcG9ydCB7IExpdGVyYWwgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5cbi8qKiBEYXRhY29yZSByZXByZXNlbnRhdGlvbiBvZiBhIGdlbmVyaWMgZmlsZSB3aXRoIG5vIGFkZGl0aW9uYWwgcGFyc2luZy4gKi9cbmV4cG9ydCBjbGFzcyBHZW5lcmljRmlsZSBpbXBsZW1lbnRzIEZpbGUsIEluZGV4YWJsZSwgRmllbGRiZWFyaW5nLCBMaW5rYWJsZSB7XG4gICAgc3RhdGljIFRZUEVTOiBzdHJpbmdbXSA9IFtGSUxFX1RZUEUsIEZJRUxEQkVBUklOR19UWVBFLCBMSU5LQUJMRV9UWVBFXTtcblxuICAgICR0eXBlczogc3RyaW5nW10gPSBHZW5lcmljRmlsZS5UWVBFUztcbiAgICAkdHlwZW5hbWU6IHN0cmluZyA9IFwiRmlsZVwiO1xuXG4gICAgJHBhdGg6IHN0cmluZztcbiAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgZGF0ZSB0aGlzIHBhZ2Ugd2FzIGNyZWF0ZWQuICovXG4gICAgJGN0aW1lOiBEYXRlVGltZTtcbiAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgZGF0ZSB0aGlzIHBhZ2Ugd2FzIG1vZGlmaWVkLiAqL1xuICAgICRtdGltZTogRGF0ZVRpbWU7XG4gICAgLyoqIE9ic2lkaWFuLXByb3ZpZGVkIHNpemUgb2YgdGhpcyBwYWdlIGluIGJ5dGVzLiAqL1xuICAgICRzaXplOiBudW1iZXI7XG4gICAgLyoqIFRoZSBleHRlbnNpb24gb2YgdGhlIGZpbGUuICovXG4gICAgJGV4dGVuc2lvbjogc3RyaW5nO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBhdGg6IHN0cmluZywgY3RpbWU6IERhdGVUaW1lLCBtdGltZTogRGF0ZVRpbWUsIHNpemU6IG51bWJlcikge1xuICAgICAgICB0aGlzLiRwYXRoID0gcGF0aDtcbiAgICAgICAgdGhpcy4kY3RpbWUgPSBjdGltZTtcbiAgICAgICAgdGhpcy4kbXRpbWUgPSBtdGltZTtcbiAgICAgICAgdGhpcy4kc2l6ZSA9IHNpemU7XG5cbiAgICAgICAgY29uc3QgbGFzdERvdCA9IHBhdGgubGFzdEluZGV4T2YoXCIuXCIpO1xuICAgICAgICB0aGlzLiRleHRlbnNpb24gPSBsYXN0RG90IDwgMCA/IFwiXCIgOiBwYXRoLnN1YnN0cmluZyhsYXN0RG90ICsgMSk7XG4gICAgfVxuXG4gICAgZ2V0IGZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIEdlbmVyaWNGaWxlLkZJRUxEX0RFRih0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIEdlbmVyaWNGaWxlLkZJRUxEX0RFRih0aGlzLCBrZXkpPy5bMF07XG4gICAgfVxuXG4gICAgLyoqIEdldCB0aGUgdmFsdWUgZm9yIHRoZSBnaXZlbiBmaWVsZC4gKi9cbiAgICBwdWJsaWMgdmFsdWUoa2V5OiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoa2V5KT8udmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIFVuaXF1ZSBJRCBmb3IgdGhpcyBvYmplY3QuICovXG4gICAgZ2V0ICRpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy4kcGF0aDtcbiAgICB9XG5cbiAgICAvKiogVGhlIGZpbGUgZm9yIHRoZSBmaWxlIGlzIHRoZSBmaWxlLiAqL1xuICAgIGdldCAkZmlsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy4kcGF0aDtcbiAgICB9XG5cbiAgICAvKiogQSBsaW5rIHRvIHRoZSBmaWxlLiAqL1xuICAgIGdldCAkbGluaygpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuZmlsZSh0aGlzLiRwYXRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBGSUVMRF9ERUY6IEZpZWxkRXh0cmFjdG9yPEdlbmVyaWNGaWxlPiA9IEV4dHJhY3RvcnMuaW50cmluc2ljcygpO1xufVxuIiwgImltcG9ydCB7IFF1ZXVlIH0gZnJvbSBcIkBkYXRhc3RydWN0dXJlcy1qcy9xdWV1ZVwiO1xuaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgVEZpbGUsIFZhdWx0IH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBEZWZlcnJlZCwgZGVmZXJyZWQgfSBmcm9tIFwidXRpbHMvZGVmZXJyZWRcIjtcblxuLyoqIFF1ZXVlcyB1cCBsb2FkcyBvZiBmaWxlcyB0byByZWR1Y2UgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbmN1cnJlbnQgbG9hZHMuICovXG5leHBvcnQgY2xhc3MgRW1iZWRRdWV1ZSBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgLyoqIFNldCBvZiBwZW5kaW5nIGxvYWRzLiAqL1xuICAgIHByaXZhdGUgcXVldWU6IFF1ZXVlPFRGaWxlPiA9IG5ldyBRdWV1ZSgpO1xuICAgIC8qKiBTZXQgb2YgcHJvbWlzZXMgd2FpdGluZyBvbiBlYWNoIHBhdGguICovXG4gICAgcHJpdmF0ZSBwcm9taXNlczogTWFwPHN0cmluZywgRGVmZXJyZWQ8c3RyaW5nPltdPiA9IG5ldyBNYXAoKTtcbiAgICAvKiogQWN0aXZlIHNldCBvZiBsb2Fkcy4gKi9cbiAgICBwcml2YXRlIGFjdGl2ZTogTWFwPHN0cmluZywgUHJvbWlzZTxzdHJpbmc+PiA9IG5ldyBNYXAoKTtcbiAgICAvKiogSWYgdHJ1ZSwgcHJldmVudCBhbnkgZnVydGhlciBsb2Fkcy4gKi9cbiAgICBwcml2YXRlIHNodXRkb3duOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHZhdWx0OiBWYXVsdCwgcHVibGljIGNvbmN1cnJlbmN5OiAoKSA9PiBudW1iZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKiogUmVhZCBhIGZpbGUgYXN5bmNocm9ub3VzbHksIGNvbnRyb2xsaW5nIGNvbmN1cnJlbmN5IHRvIHByZXZlbnQgdG9vIG1hbnkgZmlsZXMgYmVpbmcgbG9hZGVkIHNpbXVsdGFuZW91c2x5LiAqL1xuICAgIHB1YmxpYyBhc3luYyByZWFkKGZpbGU6IFRGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgaWYgKHRoaXMuc2h1dGRvd24pIHJldHVybiBQcm9taXNlLnJlamVjdChcIkVtYmVkIHF1ZXVlIGlzIHNodXRkb3duLlwiKTtcblxuICAgICAgICBjb25zdCBwcm9taXNlID0gZGVmZXJyZWQ8c3RyaW5nPigpO1xuXG4gICAgICAgIC8vIElmIHdlIGFyZW4ndCBhbHJlYWR5IGluIHRoZSBxdWV1ZSwgYWRkIG91cnNlbHZlcyB0byBxdWV1ZS4gT3RoZXJ3aXNlIGp1c3QgYXBwZW5kIG91dHNlbGZzIHRvIHRoZSBpbnRlcmVzdGVkIHdhdGNoZXIgZm9yIHRoZSBxdWV1ZS5cbiAgICAgICAgaWYgKCF0aGlzLnByb21pc2VzLmhhcyhmaWxlLnBhdGgpKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXVlLnB1c2goZmlsZSk7XG4gICAgICAgICAgICB0aGlzLnByb21pc2VzLnNldChmaWxlLnBhdGgsIFtwcm9taXNlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByb21pc2VzLmdldChmaWxlLnBhdGgpIS5wdXNoKHByb21pc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zY2hlZHVsZSgpO1xuICAgICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9XG5cbiAgICAvKiogU2NoZWR1bGUgbW9yZSBsb2FkcyBmcm9tIHRoZSBxdWV1ZSBpbnRvIHRoZSBhY3RpdmUgc2V0IGlmIHRoZXJlIGlzIGF2YWlsYWJsZSBzcGFjZS4gKi9cbiAgICBwcml2YXRlIHNjaGVkdWxlKCkge1xuICAgICAgICB3aGlsZSAodGhpcy5hY3RpdmUuc2l6ZSA8IHRoaXMuY29uY3VycmVuY3koKSAmJiB0aGlzLnF1ZXVlLnNpemUoKSA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSB0aGlzLnF1ZXVlLnBvcCgpITtcblxuICAgICAgICAgICAgY29uc3QgcmVhZCA9IHRoaXMudmF1bHQuY2FjaGVkUmVhZChmaWxlKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlLnNldChmaWxlLnBhdGgsIHJlYWQpO1xuXG4gICAgICAgICAgICByZWFkLnRoZW4oKGNvbnRlbnQpID0+IHRoaXMuZmluaXNoKGZpbGUsIFJlc3VsdC5zdWNjZXNzKGNvbnRlbnQpKSkuY2F0Y2goKGVycm9yKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoKGZpbGUsIFJlc3VsdC5mYWlsdXJlKGVycm9yKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ29tbXVuaWNhdGUgdGhlIHJlc3VsdCBvZiBhIGxvYWRlZCBmaWxlIGFuZCB0aGVuIHNjaGVkdWxlIG1vcmUgZmlsZXMgdG8gYmUgbG9hZGVkLiAqL1xuICAgIHByaXZhdGUgZmluaXNoKGZpbGU6IFRGaWxlLCByZXN1bHQ6IFJlc3VsdDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgdGhpcy5hY3RpdmUuZGVsZXRlKGZpbGUucGF0aCk7XG5cbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSB0aGlzLnByb21pc2VzLmdldChmaWxlLnBhdGgpID8/IFtdO1xuICAgICAgICB0aGlzLnByb21pc2VzLmRlbGV0ZShmaWxlLnBhdGgpO1xuXG4gICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcHJvbWlzZXMuZm9yRWFjaCgocHJvbWlzZSkgPT4gcHJvbWlzZS5yZXNvbHZlKHJlc3VsdC52YWx1ZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJvbWlzZXMuZm9yRWFjaCgocHJvbWlzZSkgPT4gcHJvbWlzZS5yZWplY3QocmVzdWx0LmVycm9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjaGVkdWxlKCk7XG4gICAgfVxuXG4gICAgLyoqIENhbmNlbGwgYWxsIG91dHN0YW5kaW5nIGxvYWRzIG9uIHVubG9hZC4gKi9cbiAgICBwdWJsaWMgb251bmxvYWQoKTogdm9pZCB7XG4gICAgICAgIC8vIFJlamVjdCBhbGwgb3V0c3RhbmRpbmcgbG9hZHMuXG4gICAgICAgIGZvciAoY29uc3QgcHJvbWlzZXMgb2YgdGhpcy5wcm9taXNlcy52YWx1ZXMoKSkge1xuICAgICAgICAgICAgcHJvbWlzZXMuZm9yRWFjaCgocHJvbWlzZSkgPT4gcHJvbWlzZS5yZWplY3QoXCJFbWJlZCBxdWV1ZSBpcyBzaHV0dGluZyBkb3duLlwiKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNodXRkb3duID0gdHJ1ZTtcbiAgICB9XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGluZGV4YWJsZXNcbiAqL1xuaW1wb3J0IHsgRXh0cmFjdG9ycywgRmllbGQsIEZpZWxkYmVhcmluZywgRklFTERCRUFSSU5HX1RZUEUsIEZpZWxkRXh0cmFjdG9yIH0gZnJvbSBcImV4cHJlc3Npb24vZmllbGRcIjtcbmltcG9ydCB7IEZJTEVfVFlQRSwgSW5kZXhhYmxlLCBMaW5rYWJsZSwgTElOS0FCTEVfVFlQRSwgTGlua2JlYXJpbmcsIFRhZ2dhYmxlLCBUQUdHQUJMRV9UWVBFIH0gZnJvbSBcIi4vaW5kZXhhYmxlXCI7XG5pbXBvcnQge1xuICAgIENhcmREaW1lbnNpb25zLFxuICAgIENhcmRQb3MsXG4gICAgSnNvbkJhc2VDYW52YXNDYXJkLFxuICAgIEpzb25DYW52YXMsXG4gICAgSnNvbkNhbnZhc0NhcmQsXG4gICAgSnNvbkNhbnZhc0ZpbGVDYXJkLFxuICAgIEpzb25DYW52YXNUZXh0Q2FyZCxcbiAgICBKc29uQ2FudmFzV2ViQ2FyZCxcbn0gZnJvbSBcIi4vanNvbi9jYW52YXNcIjtcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGlua1wiO1xuaW1wb3J0IHtcbiAgICBGcm9udG1hdHRlckVudHJ5LFxuICAgIExpbmtOb3JtYWxpemVyLFxuICAgIE1hcmtkb3duU2VjdGlvbixcbiAgICBOT09QX05PUk1BTElaRVIsXG4gICAgbm9ybWFsaXplTGlua3MsXG4gICAgdmFsdWVGcm9udG1hdHRlckVudHJ5LFxufSBmcm9tIFwiLi9tYXJrZG93blwiO1xuaW1wb3J0IHsgSW5saW5lRmllbGQgfSBmcm9tIFwiaW5kZXgvaW1wb3J0L2lubGluZS1maWVsZFwiO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IG1hcE9iamVjdFZhbHVlcyB9IGZyb20gXCJ1dGlscy9kYXRhXCI7XG5cbi8qKiBBIGNhbnZhcyBmaWxlLCBjb25zaXN0aW5nIG9mIGEgc2V0IG9mIGNhbnZhcyBjYXJkcy4gKi9cbmV4cG9ydCBjbGFzcyBDYW52YXMgaW1wbGVtZW50cyBMaW5rYWJsZSwgRmlsZSwgTGlua2JlYXJpbmcsIFRhZ2dhYmxlLCBJbmRleGFibGUsIEZpZWxkYmVhcmluZyB7XG4gICAgc3RhdGljIFRZUEVTID0gW0ZJTEVfVFlQRSwgXCJjYW52YXNcIiwgVEFHR0FCTEVfVFlQRSwgTElOS0FCTEVfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IENhbnZhcy5UWVBFUztcbiAgICAkdHlwZW5hbWU6IHN0cmluZyA9IFwiQ2FudmFzXCI7XG5cbiAgICAkY3RpbWU6IERhdGVUaW1lO1xuICAgICRtdGltZTogRGF0ZVRpbWU7XG5cbiAgICAkZXh0ZW5zaW9uOiBzdHJpbmcgPSBcImNhbnZhc1wiO1xuXG4gICAgZ2V0ICRmaWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kcGF0aDtcbiAgICB9XG5cbiAgICBnZXQgJGlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kcGF0aDtcbiAgICB9XG5cbiAgICBnZXQgJGxpbmsoKSB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUodGhpcy4kcGF0aCk7XG4gICAgfVxuXG4gICAgJHBhdGg6IHN0cmluZztcbiAgICAkY2FyZHM6IEJhc2VDYW52YXNDYXJkW10gPSBbXTtcbiAgICAkc2l6ZTogbnVtYmVyID0gMDtcbiAgICAkdGFnczogc3RyaW5nW107XG4gICAgJGxpbmtzOiBMaW5rW107XG4gICAgJGluZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVGaWVsZD47XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGluaXQ6IFBhcnRpYWw8Q2FudmFzPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICAgIH1cblxuICAgIGdldCBmaWVsZHMoKTogRmllbGRbXSB7XG4gICAgICAgIHJldHVybiBDYW52YXMuRklFTERfREVGKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWVsZChrZXk6IHN0cmluZyk6IEZpZWxkIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIENhbnZhcy5GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25DYW52YXMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJGNhcmRzOiB0aGlzLiRjYXJkcy5tYXAoKHgpID0+IHguanNvbigpKSBhcyBKc29uQ2FudmFzQ2FyZFtdLFxuICAgICAgICAgICAgJGN0aW1lOiB0aGlzLiRjdGltZS50b01pbGxpcygpLFxuICAgICAgICAgICAgJG10aW1lOiB0aGlzLiRtdGltZS50b01pbGxpcygpLFxuICAgICAgICAgICAgJHNpemU6IHRoaXMuJHNpemUsXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMuJGxpbmtzLFxuICAgICAgICAgICAgJHBhdGg6IHRoaXMuJHBhdGgsXG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMuJGluZmllbGRzLFxuICAgICAgICAgICAgJHRhZ3M6IHRoaXMuJHRhZ3MsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGZyb20ocmF3OiBKc29uQ2FudmFzLCBub3JtYWxpemVyOiBMaW5rTm9ybWFsaXplciA9IE5PT1BfTk9STUFMSVpFUik6IENhbnZhcyB7XG4gICAgICAgIGNvbnN0IGNhcmRzID0gcmF3LiRjYXJkc1xuICAgICAgICAgICAgLm1hcCgocykgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAocy4kdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwidGV4dC1jYXJkXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ2FudmFzVGV4dENhcmQuZnJvbShzLCByYXcuJHBhdGgsIG5vcm1hbGl6ZXIpO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZmlsZS1jYXJkXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ2FudmFzRmlsZUNhcmQuZnJvbShzKTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcIndlYi1jYXJkXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ2FudmFzV2ViQ2FyZC5mcm9tKHMsIHJhdy4kcGF0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpOiB4IGlzIENhbnZhc1RleHRDYXJkID0+ICEheCk7XG4gICAgICAgIHJldHVybiBuZXcgQ2FudmFzKHtcbiAgICAgICAgICAgICRjYXJkczogY2FyZHMsXG4gICAgICAgICAgICAkY3RpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMocmF3LiRjdGltZSksXG4gICAgICAgICAgICAkbXRpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMocmF3LiRtdGltZSksXG4gICAgICAgICAgICAkc2l6ZTogcmF3LiRzaXplLFxuICAgICAgICAgICAgJGV4dGVuc2lvbjogXCJjYW52YXNcIixcbiAgICAgICAgICAgICRwYXRoOiByYXcuJHBhdGgsXG4gICAgICAgICAgICAkbGlua3M6IHJhdy4kbGlua3MubWFwKChsKSA9PiBub3JtYWxpemVyKExpbmsuZnJvbU9iamVjdChsKSkpLFxuICAgICAgICAgICAgJGluZmllbGRzOiByYXcuJGluZmllbGRzLFxuICAgICAgICAgICAgJHRhZ3M6IHJhdy4kdGFncyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgc3RhdGljIEZJRUxEX0RFRjogRmllbGRFeHRyYWN0b3I8Q2FudmFzPiA9IEV4dHJhY3RvcnMubWVyZ2UoXG4gICAgICAgIEV4dHJhY3RvcnMuaW5saW5lRmllbGRzKChmKSA9PiBmLiRpbmZpZWxkcyksXG4gICAgICAgIEV4dHJhY3RvcnMuaW50cmluc2ljcygpXG4gICAgKTtcbn1cblxuLyoqIEFsbCBzdXBwb3J0ZWQgY2FudmFzIGNhcmQgdHlwZXMuICovXG5leHBvcnQgdHlwZSBDYW52YXNDYXJkID0gQ2FudmFzVGV4dENhcmQgfCBDYW52YXNGaWxlQ2FyZCB8IENhbnZhc1dlYkNhcmQ7XG5cbi8qKiBTaGFyZWQgbWV0YWRhdGEgZm9yIGFsbCBjYW52YXMgY2FyZHMuICovXG5hYnN0cmFjdCBjbGFzcyBCYXNlQ2FudmFzQ2FyZCBpbXBsZW1lbnRzIEluZGV4YWJsZSwgTGlua2FibGUge1xuICAgIGFic3RyYWN0ICR0eXBlczogc3RyaW5nW107XG4gICAgYWJzdHJhY3QgJHR5cGVuYW1lOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgJHR5cGU6IHN0cmluZztcblxuICAgICRyZXZpc2lvbj86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAkaWQ6IHN0cmluZztcbiAgICAkcG9zaXRpb246IENhcmRQb3M7XG4gICAgJGRpbWVuc2lvbnM6IENhcmREaW1lbnNpb25zO1xuICAgICRwYXJlbnQ/OiBJbmRleGFibGU7XG4gICAgJGZpbGU6IHN0cmluZztcbiAgICAkY29sb3I/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdDogUGFydGlhbDxCYXNlQ2FudmFzQ2FyZD4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgICB9XG5cbiAgICBnZXQgJGxpbmsoKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUodGhpcy4kZmlsZSkud2l0aEJsb2NrKHRoaXMuJGlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMganNvbigpOiBKc29uQmFzZUNhbnZhc0NhcmQge1xuICAgICAgICBjb25zdCB7ICRpZCwgJHBvc2l0aW9uLCAkY29sb3IsICRkaW1lbnNpb25zLCAkZmlsZSwgJGxpbmsgfSA9IHRoaXM7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkaWQsXG4gICAgICAgICAgICAkcG9zaXRpb24sXG4gICAgICAgICAgICAkY29sb3IsXG4gICAgICAgICAgICAkZGltZW5zaW9ucyxcbiAgICAgICAgICAgICRmaWxlLFxuICAgICAgICAgICAgJGxpbms6ICRsaW5rLnRvT2JqZWN0KCksXG4gICAgICAgIH07XG4gICAgfVxufVxuXG4vKiogQ2FudmFzIGNhcmQgd2l0aCBtYXJrZG93biB0ZXh0IGluIGl0LiAqL1xuZXhwb3J0IGNsYXNzIENhbnZhc1RleHRDYXJkIGV4dGVuZHMgQmFzZUNhbnZhc0NhcmQgaW1wbGVtZW50cyBMaW5rYmVhcmluZywgVGFnZ2FibGUsIEluZGV4YWJsZSwgRmllbGRiZWFyaW5nIHtcbiAgICBzdGF0aWMgVFlQRVMgPSBbXCJjYW52YXMtY2FyZFwiLCBcIm1hcmtkb3duXCIsIFwiY2FudmFzLXRleHQtY2FyZFwiLCBUQUdHQUJMRV9UWVBFLCBMSU5LQUJMRV9UWVBFLCBGSUVMREJFQVJJTkdfVFlQRV07XG5cbiAgICAkdHlwZXM6IHN0cmluZ1tdID0gQ2FudmFzVGV4dENhcmQuVFlQRVM7XG4gICAgJHR5cGVuYW1lOiBzdHJpbmcgPSBcIlRleHQgQ2FyZFwiO1xuICAgICR0eXBlOiBzdHJpbmcgPSBcImNhbnZhcy1jYXJkXCI7XG4gICAgJGlkOiBzdHJpbmc7XG5cbiAgICAkZmlsZTogc3RyaW5nO1xuICAgICRsaW5rczogTGlua1tdO1xuICAgICR0YWdzOiBzdHJpbmdbXTtcbiAgICAkdGl0bGU6IHN0cmluZztcbiAgICAkcGFyZW50PzogSW5kZXhhYmxlO1xuICAgICRyZXZpc2lvbj86IG51bWJlcjtcbiAgICAkaW5maWVsZHM6IFJlY29yZDxzdHJpbmcsIElubGluZUZpZWxkPjtcbiAgICAkZnJvbnRtYXR0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5PjtcblxuICAgICRkaW1lbnNpb25zOiBDYXJkRGltZW5zaW9ucztcbiAgICAkc2VjdGlvbnM6IE1hcmtkb3duU2VjdGlvbltdO1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPENhbnZhc1RleHRDYXJkPikge1xuICAgICAgICBzdXBlcihpbml0KTtcbiAgICB9XG5cbiAgICBnZXQgZmllbGRzKCk6IEZpZWxkW10ge1xuICAgICAgICByZXR1cm4gQ2FudmFzVGV4dENhcmQuRklFTERfREVGKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWVsZChrZXk6IHN0cmluZyk6IEZpZWxkIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIENhbnZhc1RleHRDYXJkLkZJRUxEX0RFRih0aGlzLCBrZXkpPy5bMF07XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbkNhbnZhc1RleHRDYXJkIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkaW5maWVsZHM6IHRoaXMuJGluZmllbGRzLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLiRsaW5rcyxcbiAgICAgICAgICAgICR0YWdzOiB0aGlzLiR0YWdzLFxuICAgICAgICAgICAgJHR5cGU6IFwidGV4dC1jYXJkXCIsXG4gICAgICAgICAgICAkc2VjdGlvbnM6IHRoaXMuJHNlY3Rpb25zLm1hcCgoYSkgPT4gYS5qc29uKCkpLFxuICAgICAgICB9KSBhcyBKc29uQ2FudmFzVGV4dENhcmQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGZyb20ocmF3OiBKc29uQ2FudmFzVGV4dENhcmQsIGZpbGU6IHN0cmluZywgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVIpIHtcbiAgICAgICAgbGV0ICRzZWN0aW9ucyA9IHJhdy4kc2VjdGlvbnMubWFwKChzKSA9PiBNYXJrZG93blNlY3Rpb24uZnJvbShzLCBmaWxlLCBub3JtYWxpemVyKSk7XG4gICAgICAgIHJldHVybiBuZXcgQ2FudmFzVGV4dENhcmQoe1xuICAgICAgICAgICAgJGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAkaWQ6IHJhdy4kaWQsXG4gICAgICAgICAgICAkc2VjdGlvbnMsXG4gICAgICAgICAgICAkbGlua3M6IHJhdy4kbGlua3MubWFwKChsKSA9PiBub3JtYWxpemVyKExpbmsuZnJvbU9iamVjdChsKSkpLFxuICAgICAgICAgICAgJGRpbWVuc2lvbnM6IHJhdy4kZGltZW5zaW9ucyxcbiAgICAgICAgICAgICRwb3NpdGlvbjogcmF3LiRwb3NpdGlvbixcbiAgICAgICAgICAgICRmcm9udG1hdHRlcjogcmF3LiRmcm9udG1hdHRlclxuICAgICAgICAgICAgICAgID8gbWFwT2JqZWN0VmFsdWVzKHJhdy4kZnJvbnRtYXR0ZXIsIChmbSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVGcm9udG1hdHRlckVudHJ5KGZtKSwgbm9ybWFsaXplcikpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAkaW5maWVsZHM6IHJhdy4kaW5maWVsZHMsXG4gICAgICAgICAgICAkdGFnczogcmF3LiR0YWdzLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgRklFTERfREVGOiBGaWVsZEV4dHJhY3RvcjxDYW52YXNUZXh0Q2FyZD4gPSBFeHRyYWN0b3JzLm1lcmdlKFxuICAgICAgICBFeHRyYWN0b3JzLmludHJpbnNpY3MoKSxcbiAgICAgICAgRXh0cmFjdG9ycy5pbmxpbmVGaWVsZHMoKGYpID0+IGYuJGluZmllbGRzKSxcbiAgICAgICAgRXh0cmFjdG9ycy5mcm9udG1hdHRlcigoZikgPT4gZi4kZnJvbnRtYXR0ZXIpXG4gICAgKTtcbn1cblxuLyoqIENhbnZhcyBjYXJkIHRoYXQgaXMganVzdCBhIGZpbGUgZW1iZWRkaW5nLiAqL1xuZXhwb3J0IGNsYXNzIENhbnZhc0ZpbGVDYXJkIGV4dGVuZHMgQmFzZUNhbnZhc0NhcmQgaW1wbGVtZW50cyBJbmRleGFibGUge1xuICAgIHN0YXRpYyBUWVBFUyA9IFtcImNhbnZhcy1jYXJkXCIsIFwibWFya2Rvd25cIiwgXCJjYW52YXMtZmlsZS1jYXJkXCIsIFRBR0dBQkxFX1RZUEUsIExJTktBQkxFX1RZUEUsIEZJRUxEQkVBUklOR19UWVBFXTtcblxuICAgICR0eXBlczogc3RyaW5nW10gPSBDYW52YXNUZXh0Q2FyZC5UWVBFUztcbiAgICAkdHlwZW5hbWU6IHN0cmluZyA9IFwiRmlsZSBDYXJkXCI7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGluaXQ6IFBhcnRpYWw8Q2FudmFzRmlsZUNhcmQ+KSB7XG4gICAgICAgIHN1cGVyKGluaXQpO1xuICAgIH1cblxuICAgIHJlYWRvbmx5ICR0eXBlOiBzdHJpbmcgPSBcImZpbGUtY2FyZFwiO1xuICAgICRsaW5rZWRGaWxlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMganNvbigpOiBKc29uQ2FudmFzRmlsZUNhcmQge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihzdXBlci5qc29uKCksIHtcbiAgICAgICAgICAgICRsaW5rZWRGaWxlOiB0aGlzLiRsaW5rZWRGaWxlLFxuICAgICAgICAgICAgJHR5cGU6IFwiZmlsZS1jYXJkXCIsXG4gICAgICAgIH0pIGFzIEpzb25DYW52YXNGaWxlQ2FyZDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZnJvbShyYXc6IEpzb25DYW52YXNGaWxlQ2FyZCkge1xuICAgICAgICByZXR1cm4gbmV3IENhbnZhc0ZpbGVDYXJkKHtcbiAgICAgICAgICAgICRmaWxlOiByYXcuJGZpbGUsXG4gICAgICAgICAgICAkaWQ6IHJhdy4kaWQsXG4gICAgICAgICAgICAkcG9zaXRpb246IHJhdy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkZGltZW5zaW9uczogcmF3LiRkaW1lbnNpb25zLFxuICAgICAgICAgICAgJGxpbmtlZEZpbGU6IHJhdy4kbGlua2VkRmlsZSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2FudmFzV2ViQ2FyZCBleHRlbmRzIEJhc2VDYW52YXNDYXJkIGltcGxlbWVudHMgSW5kZXhhYmxlIHtcbiAgICBzdGF0aWMgVFlQRVMgPSBbXCJjYW52YXMtY2FyZFwiLCBcIm1hcmtkb3duXCIsIFwiY2FudmFzLXdlYi1jYXJkXCIsIFRBR0dBQkxFX1RZUEUsIExJTktBQkxFX1RZUEUsIEZJRUxEQkVBUklOR19UWVBFXTtcblxuICAgICR0eXBlczogc3RyaW5nW10gPSBDYW52YXNUZXh0Q2FyZC5UWVBFUztcbiAgICByZWFkb25seSAkdHlwZTogc3RyaW5nID0gXCJ3ZWItY2FyZFwiO1xuICAgICR0eXBlbmFtZTogc3RyaW5nID0gXCJXZWIgQ2FyZFwiO1xuXG4gICAgJHVybDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPENhbnZhc1dlYkNhcmQ+KSB7XG4gICAgICAgIHN1cGVyKGluaXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25DYW52YXNXZWJDYXJkIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkdXJsOiB0aGlzLiR1cmwsXG4gICAgICAgICAgICAkdHlwZTogXCJ3ZWItY2FyZFwiLFxuICAgICAgICB9KSBhcyBKc29uQ2FudmFzV2ViQ2FyZDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZnJvbShyYXc6IEpzb25DYW52YXNXZWJDYXJkLCBmaWxlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDYW52YXNXZWJDYXJkKHtcbiAgICAgICAgICAgICRkaW1lbnNpb25zOiByYXcuJGRpbWVuc2lvbnMsXG4gICAgICAgICAgICAkcG9zaXRpb246IHJhdy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkZmlsZTogZmlsZSxcbiAgICAgICAgICAgICRpZDogcmF3LiRpZCxcbiAgICAgICAgICAgICR1cmw6IHJhdy4kdXJsLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCAiLyoqIEFsbCBkYXRhY29yZSBzZXR0aW5ncy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dGluZ3Mge1xuICAgIC8qKiBUaGUgbnVtYmVyIG9mIHRocmVhZHMgdGhlIGltcG9ydGVyIHdpbGwgdXNlIGZvciBpbXBvcnRpbmcuICovXG4gICAgaW1wb3J0ZXJOdW1UaHJlYWRzOiBudW1iZXI7XG4gICAgLyoqIFRoZSBDUFUgdXRpbGl6YXRpb24gKGJldHdlZW4gMC4xIGFuZCAxLjApIHRoYXQgaW1wb3J0ZXIgdGhyZWFkcyBzaG91bGQgdXNlLiAqL1xuICAgIGltcG9ydGVyVXRpbGl6YXRpb246IG51bWJlcjtcblxuICAgIC8qKiBBcmUgSlMgdmlld3MgZW5hYmxlZD8gKi9cbiAgICBlbmFibGVKczogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdmlld3MgYXJlIHBhZ2VkIGJ5IGRlZmF1bHQuIFRoaXMgaXMgYW4gaW1wb3J0YW50IHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbixcbiAgICAgKiBzaW5jZSBzaG93aW5nIGh1bmRyZWRzIG9yIHRob3VzYW5kcyBvZiByZXN1bHRzIGNhbiBiZSBmYWlybHkgc2xvdyFcbiAgICAgKi9cbiAgICBkZWZhdWx0UGFnaW5nRW5hYmxlZDogYm9vbGVhbjtcbiAgICAvKiogRGVmYXVsdCBwYWdpbmcgc2l6ZSBmb3IgYWxsIHZpZXdzIChudW1iZXIgb2YgZW50cmllcyBwZXIgcGFnZS4pICovXG4gICAgZGVmYXVsdFBhZ2VTaXplOiBudW1iZXI7XG4gICAgLyoqIElmIHNldCwgdmlld3Mgd2lsbCBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgdmlldyBvbiBwYWdlIGNoYW5nZXMuICovXG4gICAgc2Nyb2xsT25QYWdlQ2hhbmdlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogTWF4aW11bSBkZXB0aCB0aGF0IG9iamVjdHMgd2lsbCBiZSByZW5kZXJlZCB0byAoaS5lLiwgaG93IG1hbnkgbGV2ZWxzIG9mIHN1YnByb3BlcnRpZXNcbiAgICAgKiB3aWxsIGJlIHJlbmRlcmVkIGJ5IGRlZmF1bHQpLiBUaGlzIGF2b2lkcyBpbmZpbml0ZSByZWN1cnNpb24gZHVlIHRvIHNlbGYgcmVmZXJlbnRpYWwgb2JqZWN0c1xuICAgICAqIGFuZCBhbHNvIGVuc3VyZXMgdGhhdCByZW5kZXJpbmcgb2JqZWN0cyBpcyBhY2NlcHRhYmx5IHBlcmZvcm1hbnQuXG4gICAgICovXG4gICAgbWF4UmVjdXJzaXZlUmVuZGVyRGVwdGg6IG51bWJlcjtcblxuICAgIC8qKiBUaGUgZGVmYXVsdCBmb3JtYXQgdGhhdCBkYXRlcyBhcmUgcmVuZGVyZWQgaW4gKHVzaW5nIGx1eG9uJ3MgbW9tZW50LWxpa2UgZm9ybWF0dGluZykuICovXG4gICAgZGVmYXVsdERhdGVGb3JtYXQ6IHN0cmluZztcbiAgICAvKiogVGhlIGRlZmF1bHQgZm9ybWF0IHRoYXQgZGF0ZS10aW1lcyBhcmUgcmVuZGVyZWQgaW4gKHVzaW5nIGx1eG9ucyBtb21lbnQtbGlrZSBmb3JtYXR0aW5nKS4gKi9cbiAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6IHN0cmluZztcbiAgICAvKiogTWFya2Rvd24gdGV4dCBmb3IgaG93IHRvIHJlbmRlciBudWxsIHZhbHVlcyBpbiB0YWJsZXMgb3Igc2ltaWxhci4gKi9cbiAgICByZW5kZXJOdWxsQXM6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRvIGluZGV4IGlubGluZSBmaWVsZHMgYnkgZGVmYXVsdC4gSW5saW5lIGZpZWxkIHBhcnNpbmcgcmVxdWlyZXMgYSBmdWxsIHNjYW4gb2YgdGhlIGRvY3VtZW50LCB3aGljaCBjYW4gbWFrZSBpbmRleGluZyB0YWtlIDItM3ggbG9uZ2VyLiAqL1xuICAgIGluZGV4SW5saW5lRmllbGRzOiBib29sZWFuO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gaW5kZXggbGlzdCBhbmQgdGFzayBpdGVtIHRleHQgYW5kIHN0YXRlcy4gSW5kZXhpbmcgbGlzdHMgJiB0YXNrcyByZXF1aXJlcyBzb21lIGFkZGl0aW9uYWwgcmVnZXggcGFyc2luZyB3aGljaCBtYWtlcyBpbmRleGluZyBtb2Rlc3RseSBzbG93ZXIuICovXG4gICAgaW5kZXhMaXN0SXRlbXM6IGJvb2xlYW47XG5cbiAgICAvKiogV2hldGhlciB0byBjaGVjayB0YXNrIGl0ZW1zIG9mZiByZWN1cnNpdmVseSBpbiBkYXRhY29yZSB2aWV3cyAqL1xuICAgIHJlY3Vyc2l2ZVRhc2tDb21wbGV0aW9uOiBib29sZWFuO1xuXG4gICAgLyoqIE5hbWUgb2YgdGhlIGlubGluZSBmaWVsZCBpbiB3aGljaCB0byBzdG9yZSBjb21wbGV0aW9uIGRhdGUvdGltZSAqL1xuICAgIHRhc2tDb21wbGV0aW9uVGV4dDogc3RyaW5nO1xuXG4gICAgLyoqIElmIGVuYWJsZWQsIGF1dG9tYXRpYyBjb21wbGV0aW9ucyB3aWxsIHVzZSBlbW9qaSBzaG9ydGhhbmQgXHUyNzA1IFlZWVktTU0tREQgaW5zdGVhZCBvZiBbY29tcGxldGlvbjo6IGRhdGVdLiAqL1xuICAgIHRhc2tDb21wbGV0aW9uVXNlRW1vamlTaG9ydGhhbmQ6IGJvb2xlYW47XG59XG5cbi8qKiBEZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgcGx1Z2luLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VUVElOR1M6IFJlYWRvbmx5PFNldHRpbmdzPiA9IE9iamVjdC5mcmVlemU8U2V0dGluZ3M+KHtcbiAgICBpbXBvcnRlck51bVRocmVhZHM6IDIsXG4gICAgaW1wb3J0ZXJVdGlsaXphdGlvbjogMC43NSxcblxuICAgIGVuYWJsZUpzOiBmYWxzZSxcblxuICAgIGRlZmF1bHRQYWdpbmdFbmFibGVkOiB0cnVlLFxuICAgIGRlZmF1bHRQYWdlU2l6ZTogNTAsXG4gICAgc2Nyb2xsT25QYWdlQ2hhbmdlOiBmYWxzZSxcblxuICAgIG1heFJlY3Vyc2l2ZVJlbmRlckRlcHRoOiA1LFxuXG4gICAgZGVmYXVsdERhdGVGb3JtYXQ6IFwiTU1NTSBkZCwgeXl5eVwiLFxuICAgIGRlZmF1bHREYXRlVGltZUZvcm1hdDogXCJoOm1tIGEgLSBNTU1NIGRkLCB5eXl5XCIsXG5cbiAgICByZW5kZXJOdWxsQXM6IFwiLVwiLFxuXG4gICAgaW5kZXhJbmxpbmVGaWVsZHM6IHRydWUsXG4gICAgaW5kZXhMaXN0SXRlbXM6IHRydWUsXG4gICAgcmVjdXJzaXZlVGFza0NvbXBsZXRpb246IGZhbHNlLFxuICAgIHRhc2tDb21wbGV0aW9uVGV4dDogXCJjb21wbGV0ZWRBdFwiLFxuICAgIHRhc2tDb21wbGV0aW9uVXNlRW1vamlTaG9ydGhhbmQ6IGZhbHNlLFxufSk7XG4iLCAiaW1wb3J0IHsgZGVib3VuY2UsIEl0ZW1WaWV3LCBNYXJrZG93blJlbmRlckNoaWxkLCBNZW51LCBWaWV3U3RhdGVSZXN1bHQsIFdvcmtzcGFjZUxlYWYgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IFNjcmlwdExhbmd1YWdlIH0gZnJvbSBcInV0aWxzL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IERhdGFjb3JlSlNSZW5kZXJlciwgUmVhY3RSZW5kZXJlciB9IGZyb20gXCIuL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IERhdGFjb3JlTG9jYWxBcGkgfSBmcm9tIFwiYXBpL2xvY2FsLWFwaVwiO1xuaW1wb3J0IHsgRGF0YWNvcmVBcGkgfSBmcm9tIFwiYXBpL2FwaVwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJwcmVhY3RcIjtcbmltcG9ydCB7IEdyb3VwLCBTdGFjayB9IGZyb20gXCJhcGkvdWkvbGF5b3V0XCI7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBUZXh0Ym94LCBWYW5pbGxhU2VsZWN0IH0gZnJvbSBcImFwaS91aS9iYXNpY3NcIjtcbmltcG9ydCB7IHVzZUluZGV4VXBkYXRlcyB9IGZyb20gXCIuL2hvb2tzXCI7XG5pbXBvcnQgeyBEQVRBQ09SRV9DT05URVhULCBFcnJvck1lc3NhZ2UgfSBmcm9tIFwiLi9tYXJrZG93blwiO1xuaW1wb3J0IFNlbGVjdCBmcm9tIFwicmVhY3Qtc2VsZWN0XCI7XG5cbi8qKiBLZXkgZm9yIGRhdGFjb3JlIEpTIHF1ZXJ5IHZpZXdzLiAqL1xuZXhwb3J0IGNvbnN0IFZJRVdfVFlQRV9EQVRBQ09SRUpTID0gXCJkYXRhY29yZWpzLXZpZXdcIjtcblxuLyoqIFN0b3JlcyB0aGUgY3VycmVudCBPYnNpZGlhbiB2aWV3IG9iamVjdCwgc28gaXQgY2FuIGJlIG1hbmlwdWxhdGVkIGZyb20gcmVhY3QuICovXG5jb25zdCBDVVNUT01fVklFV19DT05URVhUID0gY3JlYXRlQ29udGV4dDxEYXRhY29yZVF1ZXJ5Vmlldz4odW5kZWZpbmVkISk7XG5cbi8qKiBQcm92aWRlcyBvcHRpb25zIGZvciBjb25maWd1cmluZyBhIGRhdGFjb3JlIHZpZXcgcGFuZS4gKi9cbmZ1bmN0aW9uIERhdGFjb3JlVmlld1NldHRpbmdzKCkge1xuICAgIGNvbnN0IHZpZXcgPSB1c2VDb250ZXh0KENVU1RPTV9WSUVXX0NPTlRFWFQpIGFzIERhdGFjb3JlUXVlcnlWaWV3O1xuICAgIGNvbnN0IHNldFZpZXdTdGF0ZSA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IGRlYm91bmNlKChzdGF0ZTogUGFydGlhbDxEYXRhY29yZVZpZXdTdGF0ZT4pID0+IHZpZXcuc2V0U3RhdGUoc3RhdGUsIHsgaGlzdG9yeTogZmFsc2UgfSksIDUwMCksXG4gICAgICAgIFt2aWV3XVxuICAgICk7XG5cbiAgICBjb25zdCBbbG9jYWxTdGF0ZSwgc2V0TG9jYWxTdGF0ZV0gPSB1c2VTdGF0ZSh2aWV3LmdldFN0YXRlKCkpO1xuICAgIGNvbnN0IHNldFN0YXRlID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIChzdGF0ZTogUGFydGlhbDxEYXRhY29yZVZpZXdTdGF0ZT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsU3RhdGUgPSB7IC4uLmxvY2FsU3RhdGUsIC4uLnN0YXRlIH07XG4gICAgICAgICAgICAvLyBOb3QgZGVib3VuY2VkLlxuICAgICAgICAgICAgc2V0TG9jYWxTdGF0ZShmaW5hbFN0YXRlKTtcblxuICAgICAgICAgICAgLy8gRGVib3VuY2VkLlxuICAgICAgICAgICAgc2V0Vmlld1N0YXRlKGZpbmFsU3RhdGUpO1xuICAgICAgICB9LFxuICAgICAgICBbbG9jYWxTdGF0ZSwgc2V0TG9jYWxTdGF0ZSwgdmlld11cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFN0YWNrIGFsaWduPVwic3RyZXRjaFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJjbGlja2FibGUtaWNvblwiIHN0eWxlPVwiYWxpZ24tc2VsZjogc3RhcnRcIiBvbkNsaWNrPXsoKSA9PiB2aWV3LnZpZXcoXCJzY3JpcHRcIil9PlxuICAgICAgICAgICAgICAgIHtCQUNLX0JVVFRPTn1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPEdyb3VwIGp1c3RpZnk9XCJzcGFjZS1iZXR3ZWVuXCIgYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8aDY+VmlldyBUaXRsZTwvaDY+XG4gICAgICAgICAgICAgICAgPFRleHRib3hcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt2aWV3LmdldFN0YXRlKCkudGl0bGV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0U3RhdGUoeyB0aXRsZTogZS5jdXJyZW50VGFyZ2V0LnZhbHVlIGFzIHN0cmluZyB9KX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgICAgIDxHcm91cCBqdXN0aWZ5PVwic3BhY2UtYmV0d2VlblwiIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGg2PlZpZXcgVHlwZTwvaDY+XG4gICAgICAgICAgICAgICAgPFZhbmlsbGFTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt2aWV3LmdldFN0YXRlKCkuc291cmNlVHlwZX1cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17TEFOR1VBR0VfT1BUSU9OU31cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2xvY2FsU3RhdGUuc291cmNlVHlwZX1cbiAgICAgICAgICAgICAgICAgICAgb25WYWx1ZUNoYW5nZT17KHMpID0+IHNldFN0YXRlKHsgc291cmNlVHlwZTogcyBhcyBTY3JpcHRMYW5ndWFnZSB9KX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgICAgIDxHcm91cCBqdXN0aWZ5PVwic3BhY2UtYmV0d2VlblwiIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGg2PlNjcmlwdC9WaWV3IHNvdXJjZTwvaDY+XG4gICAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHJlc2l6ZTogXCJ2ZXJ0aWNhbFwiLCBtaW5XaWR0aDogXCI3NSVcIiwgZm9udEZhbWlseTogXCJtb25vc3BhY2VcIiB9fVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2xvY2FsU3RhdGUuc2NyaXB0fVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bG9jYWxTdGF0ZS5zY3JpcHR9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0U3RhdGUoeyBzY3JpcHQ6IGUuY3VycmVudFRhcmdldC52YWx1ZSBhcyBzdHJpbmcgfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgICAgICA8R3JvdXAganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxTdGFjaz5cbiAgICAgICAgICAgICAgICAgICAgPGg2PkN1cnJlbnQgRmlsZTwvaDY+XG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbD5UaGUgcGF0aCByZXR1cm5lZCBieSBmdW5jdGlvbnMgbGlrZSBgdXNlQ3VycmVudFBhdGhgIGluIHRoaXMgdmlldzwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1pbldpZHRoOiBcIjUwJVwiIH19PlxuICAgICAgICAgICAgICAgICAgICA8Q3VycmVudEZpbGVTZWxlY3RvclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtsb2NhbFN0YXRlLmN1cnJlbnRGaWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2KSA9PiBzZXRTdGF0ZSh7IGN1cnJlbnRGaWxlOiB2IH0pfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgPC9TdGFjaz5cbiAgICApO1xufVxuXG4vKiogUmVhY3QgY29tcG9uZW50IGZvciBhc3luY2hyb25vdXNseSBzaG93aW5nIHRoZSBhY3RpdmUgc2V0IG9mIGN1cnJlbnQgZmlsZXMgdG8gc2VsZWN0IG9uZSBmcm9tLiAqL1xuZnVuY3Rpb24gQ3VycmVudEZpbGVTZWxlY3Rvcih7XG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIG9uQ2hhbmdlLFxufToge1xuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHZvaWQ7XG59KSB7XG4gICAgY29uc3QgY29yZSA9IHVzZUNvbnRleHQoREFUQUNPUkVfQ09OVEVYVCk7XG4gICAgY29uc3QgcmV2aXNpb24gPSB1c2VJbmRleFVwZGF0ZXMoY29yZSwgeyBkZWJvdW5jZTogMjAwMCB9KTtcblxuICAgIC8vIENhY2hlZCBsaXN0IG9mIHJlbGV2YW50IGZpbGVzLCB3aGljaCBpcyBvbmx5IHJlY29tcHV0ZWQgb24gdmF1bHQgY2hhbmdlcy5cbiAgICBjb25zdCBvcHRpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBjb3JlLnZhdWx0LmdldE1hcmtkb3duRmlsZXMoKS5tYXAoKGYpID0+ICh7IGxhYmVsOiBmLnBhdGgsIHZhbHVlOiBmLnBhdGggfSkpO1xuICAgIH0sIFtyZXZpc2lvbl0pO1xuXG4gICAgY29uc3QgZGVmYXVsdE9wdGlvbiA9IGRlZmF1bHRWYWx1ZVxuICAgICAgICA/IHsgbGFiZWw6IFwiTm8gZmlsZVwiLCB2YWx1ZTogdW5kZWZpbmVkIH1cbiAgICAgICAgOiB7IGxhYmVsOiBkZWZhdWx0VmFsdWUsIHZhbHVlOiBkZWZhdWx0VmFsdWUgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgICAgICAgICBjbGFzc05hbWVQcmVmaXg9XCJkYXRhY29yZS1zZWxlY3RhYmxlXCJcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdE9wdGlvbn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsobnYsIF9hbSkgPT4gb25DaGFuZ2UobnY/LnZhbHVlKX1cbiAgICAgICAgICAgIHVuc3R5bGVkXG4gICAgICAgIC8+XG4gICAgKTtcbn1cblxuLyoqIFNlbGVjdGFibGUgb3B0aW9ucyBmb3IgcGlja2luZyB3aGljaCBsYW5ndWFnZSB0byBleGVjdXRlIHRoZSBzY3JpcHQgaW4uICovXG5jb25zdCBMQU5HVUFHRV9PUFRJT05TOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBTY3JpcHRMYW5ndWFnZSB9W10gPSBbXG4gICAgeyBsYWJlbDogXCJKYXZhc2NyaXB0XCIsIHZhbHVlOiBcImpzXCIgfSxcbiAgICB7IGxhYmVsOiBcIlR5cGVzY3JpcHRcIiwgdmFsdWU6IFwidHNcIiB9LFxuICAgIHsgbGFiZWw6IFwiSmF2YXNjcmlwdCAoSlNYKVwiLCB2YWx1ZTogXCJqc3hcIiB9LFxuICAgIHsgbGFiZWw6IFwiVHlwZXNjcmlwdCBKU1hcIiwgdmFsdWU6IFwidHN4XCIgfSxcbl07XG5cbi8qKiBTVkcgYmFjayBidXR0b24gc2hvd24gdG8gZXhpdCB0aGUgc2V0dGluZ3Mgdmlldy4gKi9cbmNvbnN0IEJBQ0tfQlVUVE9OID0gKFxuICAgIDxzdmdcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICBjbGFzcz1cInN2Zy1pY29uIGx1Y2lkZS1hcnJvdy1sZWZ0XCJcbiAgICA+XG4gICAgICAgIDxwYXRoIGQ9XCJtMTIgMTktNy03IDctN1wiPjwvcGF0aD5cbiAgICAgICAgPHBhdGggZD1cIk0xOSAxMkg1XCI+PC9wYXRoPlxuICAgIDwvc3ZnPlxuKTtcblxuLyoqIFN0YXRlIGZvciB0aGUgZGF0YWNvcmUgdmlldyBwYWdlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhY29yZVZpZXdTdGF0ZSB7XG4gICAgLyoqIEN1c3RvbSB0aXRsZSBmb3IgdGhlIHZpZXcgcGFuZS4gKi9cbiAgICB0aXRsZT86IHN0cmluZztcbiAgICAvKiogTGFuZ3VhZ2UgdGhhdCB0aGUgc2NyaXB0IHdpbGwgYmUgZXhlY3V0ZWQgaW4uICovXG4gICAgc291cmNlVHlwZT86IFNjcmlwdExhbmd1YWdlO1xuICAgIC8qKiBJZiBkZWZpbmVkLCB0aGUgZmlsZSB0aGUgdmlldyB3aWxsIGJlIHJlbGF0aXZlIHRvLiAqL1xuICAgIGN1cnJlbnRGaWxlPzogc3RyaW5nO1xuICAgIC8qKiBDb250ZW50cyBvZiB0aGUgc2NyaXB0LiAqL1xuICAgIHNjcmlwdD86IHN0cmluZztcbiAgICAvKiogVGhlIGN1cnJlbnQgdmlldzsgZGVmYXVsdHMgdG8gJ3NldHRpbmdzJyBmb3IgaW5pdGlhbGl6YXRpb24uICovXG4gICAgdmlldz86IFwic2V0dGluZ3NcIiB8IFwic2NyaXB0XCI7XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhY29yZVF1ZXJ5VmlldyBleHRlbmRzIEl0ZW1WaWV3IHtcbiAgICAvKiogSW50ZXJuYWwgY3VycmVudCBzdGF0ZSBvZiB0aGUgdmlldzsgY2FuIGJlIG1vZGlmaWVkIGJ5IHNldFN0YXRlLiAqL1xuICAgIHB1YmxpYyBpbnRlcm5hbFN0YXRlOiBEYXRhY29yZVZpZXdTdGF0ZSA9IHtcbiAgICAgICAgdGl0bGU6IFwiTmV3IHZpZXdcIixcbiAgICAgICAgc2NyaXB0OiBcIlwiLFxuICAgICAgICBzb3VyY2VUeXBlOiBcImpzXCIsXG4gICAgICAgIHZpZXc6IFwic2V0dGluZ3NcIixcbiAgICB9O1xuXG4gICAgLyoqIFRoZSBjdXJyZW50IGFjdGl2ZSB2aWV3IC0gZWl0aGVyIHRoZSBzZXR0aW5ncyB2aWV3ICovXG4gICAgcHJpdmF0ZSBhY3RpdmVWaWV3OiBNYXJrZG93blJlbmRlckNoaWxkO1xuICAgIHByaXZhdGUgYWN0aXZlVmlld1R5cGU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGxlYWY6IFdvcmtzcGFjZUxlYWYsIHB1YmxpYyBhcGk6IERhdGFjb3JlQXBpKSB7XG4gICAgICAgIHN1cGVyKGxlYWYpO1xuICAgICAgICB0aGlzLnJlcmVuZGVyKCk7XG4gICAgfVxuXG4gICAgLyoqIFNob3VsZCBhbHdheXMgYmUgVklFV19UWVBFX0RBVEFDT1JFSlMuICovXG4gICAgZ2V0Vmlld1R5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFZJRVdfVFlQRV9EQVRBQ09SRUpTO1xuICAgIH1cblxuICAgIC8qKiBUZXh0IHNob3duIGluIHRoZSB0aXRsZSB3aW5kb3cuICovXG4gICAgZ2V0RGlzcGxheVRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaW50ZXJuYWxTdGF0ZS50aXRsZX0gKERhdGFjb3JlSlMpYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgb25sb2FkKCkge1xuICAgICAgICB0aGlzLmNvbnRlbnRFbC5hZGRDbGFzcyhcIm1hcmtkb3duLXJlbmRlcmVkXCIpO1xuICAgICAgICB0aGlzLnJlcmVuZGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9udW5sb2FkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVWaWV3KSB0aGlzLnJlbW92ZUNoaWxkKHRoaXMuYWN0aXZlVmlldyk7XG4gICAgfVxuXG4gICAgLyoqIFN5bmNocm9uaXplcyB0aGUgc2NyZWVuIHN0YXRlIHRvIHByb3Blcmx5IHJlZmxlY3QgdGhlIGN1cnJlbnQgaW50ZXJuYWwgc3RhdGUuICovXG4gICAgcmVyZW5kZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGVhZi50YWJIZWFkZXJJbm5lclRpdGxlRWwudGV4dENvbnRlbnQgPSB0aGlzLnRpdGxlRWwudGV4dENvbnRlbnQgPSB0aGlzLmdldERpc3BsYXlUZXh0KCk7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXdUeXBlID09IHRoaXMuaW50ZXJuYWxTdGF0ZS52aWV3KSByZXR1cm47XG5cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlVmlldykgdGhpcy5yZW1vdmVDaGlsZCh0aGlzLmFjdGl2ZVZpZXcpO1xuICAgICAgICBpZiAodGhpcy5pbnRlcm5hbFN0YXRlLnZpZXcgPT09IFwic2V0dGluZ3NcIikge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVWaWV3VHlwZSA9IFwic2V0dGluZ3NcIjtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlldyA9IG5ldyBSZWFjdFJlbmRlcmVyKFxuICAgICAgICAgICAgICAgIHRoaXMuYXBwLFxuICAgICAgICAgICAgICAgIHRoaXMuYXBpLmNvcmUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWwsXG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXRlLmN1cnJlbnRGaWxlIHx8IFwiXCIsXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICA8Q1VTVE9NX1ZJRVdfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17dGhpc30+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RGF0YWNvcmVWaWV3U2V0dGluZ3MgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9DVVNUT01fVklFV19DT05URVhULlByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBJZiBhIHNjcmlwdCwgdHJ5IHRvIGV4ZWN1dGUgaXQ7IG90aGVyd2lzZSwgc2hvdyBhIHJlYXNvbmFibGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlld1R5cGUgPSBcInNjcmlwdFwiO1xuICAgICAgICAgICAgaWYgKHRoaXMuaW50ZXJuYWxTdGF0ZS5zY3JpcHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcgPSBuZXcgRGF0YWNvcmVKU1JlbmRlcmVyKFxuICAgICAgICAgICAgICAgICAgICBuZXcgRGF0YWNvcmVMb2NhbEFwaSh0aGlzLmFwaSwgdGhpcy5pbnRlcm5hbFN0YXRlLmN1cnJlbnRGaWxlIHx8IFwiXCIpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRFbCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXRlLmN1cnJlbnRGaWxlIHx8IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxTdGF0ZS5zY3JpcHQgfHwgXCJcIixcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXRlLnNvdXJjZVR5cGUgfHwgXCJqc1wiXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gbmV3IFJlYWN0UmVuZGVyZXIoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwaS5jb3JlLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRFbCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXRlLmN1cnJlbnRGaWxlIHx8IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDVVNUT01fVklFV19DT05URVhULlByb3ZpZGVyIHZhbHVlPXt0aGlzfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RXJyb3JNZXNzYWdlIG1lc3NhZ2U9XCJObyBzY3JpcHQgZGVmaW5lZCBmb3IgdGhpcyB2aWV3LlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0NVU1RPTV9WSUVXX0NPTlRFWFQuUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZGRDaGlsZCh0aGlzLmFjdGl2ZVZpZXcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxTdGF0ZTtcbiAgICB9XG5cbiAgICAvKiogVXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGlzIHZpZXcgd2l0aCBuZXcgbWV0YWRhdGEuIEdlbmVyYWxseSBjb250cm9sbGVkIGJ5IHRoZSBzZXR0aW5ncyBwYW5lLiAqL1xuICAgIHB1YmxpYyBhc3luYyBzZXRTdGF0ZShzdGF0ZTogRGF0YWNvcmVWaWV3U3RhdGUsIF9yZXN1bHQ6IFZpZXdTdGF0ZVJlc3VsdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLmludGVybmFsU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgdGhpcy5yZXJlbmRlcigpO1xuICAgIH1cblxuICAgIC8qKiBTd2FwIHRoZSBhY3RpdmUgdmlldy4gKi9cbiAgICBwdWJsaWMgdmlldyhtb2RlOiBcInNldHRpbmdzXCIgfCBcInNjcmlwdFwiKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxTdGF0ZS52aWV3ID0gbW9kZTtcbiAgICAgICAgdGhpcy5yZXJlbmRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBvbk9wZW4oKTogUHJvbWlzZTx2b2lkPiB7fVxuXG4gICAgLyoqIEhhbmRsZSBmb3IgcmlnaHQgY2xpY2sgbWVudXMuICovXG4gICAgcHVibGljIG9uUGFuZU1lbnUobWVudTogTWVudSwgc291cmNlOiBcIm1vcmUtb3B0aW9uc1wiIHwgXCJ0YWItaGVhZGVyXCIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHNvdXJjZSA9PT0gXCJtb3JlLW9wdGlvbnNcIikge1xuICAgICAgICAgICAgbWVudS5hZGRJdGVtKChpdCkgPT4ge1xuICAgICAgICAgICAgICAgIGl0LnNldEljb24oXCJzZXR0aW5nc1wiKTtcbiAgICAgICAgICAgICAgICBpdC5zZXRUaXRsZShcIkNvbmZpZ3VyZSBWaWV3XCIpO1xuICAgICAgICAgICAgICAgIGl0Lm9uQ2xpY2soKGUpID0+IHRoaXMudmlldyhcInNldHRpbmdzXCIpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwgImltcG9ydCB7IERhdGFjb3JlIH0gZnJvbSBcImluZGV4L2RhdGFjb3JlXCI7XG5pbXBvcnQgeyB1c2VJbmRleFVwZGF0ZXMgfSBmcm9tIFwidWkvaG9va3NcIjtcblxuLyoqIFJlbmRlciBhIGhlbHBmdWwgc3RhdHVzIGluZGljYXRvciBpbiB0aGUgc3RhdHVzIGJhciBvZiBob3cgdGhlIGltcG9ydCBpcyBnb2luZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBJbmRleFN0YXR1c0Jhcih7IGRhdGFjb3JlIH06IHsgZGF0YWNvcmU6IERhdGFjb3JlIH0pIHtcbiAgICB1c2VJbmRleFVwZGF0ZXMoZGF0YWNvcmUsIHsgZGVib3VuY2U6IDI1MCB9KTtcblxuICAgIC8vIFdoZW5ldmVyIHRoZSB2aWV3IHVwZGF0ZXMsIGZpZ3VyZSBvdXQgd2hhdCBzdGF0ZSB3ZSBhcmUgaW4gYmFzZWQgb24gaWYgYW4gaW5pdGlhbGl6ZXIgaXMgcHJlc2VudC5cbiAgICBpZiAoZGF0YWNvcmUuaW5pdGlhbGl6ZXIpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIFNjYW5uaW5nIHtkYXRhY29yZS5pbml0aWFsaXplci5pbml0aWFsaXplZH0gb2Yge2RhdGFjb3JlLmluaXRpYWxpemVyLmZpbGVzfSBmaWxlc1xuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICApO1xuICAgIH0gZWxzZSBpZiAoZGF0YWNvcmUuaW1wb3J0ZXIucXVldWUuc2l6ZSgpID4gMCkge1xuICAgICAgICByZXR1cm4gPHNwYW4+VXBkYXRpbmcge2RhdGFjb3JlLmltcG9ydGVyLnF1ZXVlLnNpemUoKX0gZmlsZXM8L3NwYW4+O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiA8c3Bhbj57ZGF0YWNvcmUuZGF0YXN0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Q2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1QsS0FBSyxVQUFVO0FBQ2IsYUFBTztBQUFBLElBQ1Q7QUFDRSxhQUFPO0FBQUEsRUFDWDtBQUNGOzs7QUNwV08sSUFBTSxRQUFOLE1BQVk7QUFBQSxFQUtqQixZQUFZLGlCQUFpQixl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QVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLG9CQUFvQjtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsbUJBQW1CLElBQUksaUJBQWlCLElBQUk7QUFDOUYsUUFBTSxZQUFZO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxXQUFXLElBQUksU0FBUyxJQUFJO0FBQ3RFLFFBQU0scUJBQXFCO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxvQkFBb0IsSUFBSSxrQkFBa0IsSUFBSTtBQUNqRyxRQUFNRSxTQUFRO0FBQUksRUFBQUYsV0FBVUEsV0FBVSxPQUFPLElBQUlFLE1BQUssSUFBSTtBQUMxRCxRQUFNLGFBQWE7QUFBSSxFQUFBRixXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxjQUFjO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxhQUFhLElBQUksV0FBVyxJQUFJO0FBQzVFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7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QUU5STtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUzRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV4RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RyxrQkFBa0IsYUFBYTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV0STtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RyxrQkFBa0IsYUFBYTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV0SSxrQkFBa0IsT0FBTztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUE7QUFBQSxFQUVsSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVySSxrQkFBa0IsWUFBWTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVySTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RyxrQkFBa0IsVUFBVTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVuSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RyxrQkFBa0IsVUFBVTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVuSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV4RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxSDtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUvRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUzRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV4RyxVQUFHLFNBQVMsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsZ0JBQWdCO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXpJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsYUFBYSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTdIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWhIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsYUFBYSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTdIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixZQUFZO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXJJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsWUFBWSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsV0FBVyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRTFILFVBQUcsT0FBTyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXZIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTlHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsU0FBUyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXpIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixTQUFTO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWxJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsV0FBVyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTdILGtCQUFrQixZQUFZO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXJJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsWUFBWSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVIO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWxIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsVUFBVSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQTtBQUFBLEdBRXpHLFVBQUcsWUFBWSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsUUFBUSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXhIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixTQUFTO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWxJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsYUFBYSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTdIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixRQUFRO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWpJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixXQUFXO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRS9HLFVBQUcsT0FBTyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXZIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixlQUFlO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXhJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsV0FBVyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRTFILFVBQUcsT0FBTyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTdIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixVQUFVO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRW5JO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsZUFBZSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRS9IO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixjQUFjO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXZJLGtCQUFrQixPQUFPO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWhJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixVQUFVO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRW5JO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsUUFBUSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXhIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixXQUFXO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixXQUFXO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTlHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixjQUFjO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXZJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsUUFBUSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXhIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsU0FBUyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXpIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWhILGtCQUFrQixPQUFPO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWhJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixXQUFXO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixRQUFRO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWpJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixhQUFhO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXRJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixZQUFZO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXJJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixjQUFjO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXZJLGtCQUFrQixVQUFVO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRW5JO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixXQUFXO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTlHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixhQUFhO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXRJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixZQUFZO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXJJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsV0FBVyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTNIO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQTtBQUFBLEVBRXBIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixjQUFjO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXZJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixRQUFRO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRWpJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixXQUFXO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsVUFBVSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsV0FBVyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTNIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixXQUFXO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQTtBQUFBLEVBRTlHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsU0FBUyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXpIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsVUFBVSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsU0FBUyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXhILFVBQUcsUUFBUSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXhIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixTQUFTO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsV0FBVyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTNIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixXQUFXO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXBJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHLGtCQUFrQixVQUFVO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRW5JO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsUUFBUSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXhIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsU0FBUyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXpIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTVHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsVUFBVSxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEdBRXpHLFVBQUcsU0FBUyxLQUFLO0FBQUEsRUFBRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRXpIO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQTtBQUFBLEVBRTFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEs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QSxFQUNqQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxRQUFRLE1BQVE7QUFBQSxFQUNqQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsT0FBTyxNQUFRO0FBQUEsRUFDaEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxRQUFRLE1BQVE7QUFBQSxFQUNqQixDQUFDLE9BQU8sTUFBUTtBQUFBLEVBQ2hCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNs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QVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLFFBQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsV0FBVyxRQUFRO0FBQUEsRUFDcEIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxNQUFNLFFBQVE7QUFBQSxFQUNmLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLE9BQU8sUUFBUTtBQUFBLEVBQ2hCLENBQUMsTUFBTSxRQUFRO0FBQUEsRUFDZixDQUFDLE9BQU8sUUFBUTtBQUFBLEVBQ2hCLENBQUMsT0FBTyxRQUFRO0FBQUEsRUFDaEIsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsT0FBTyxRQUFRO0FBQUEsRUFDaEIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsTUFBTSxRQUFRO0FBQUEsRUFDZixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsTUFBTSxRQUFRO0FBQUEsRUFDZixDQUFDLE1BQU0sUUFBUTtBQUFBLEVBQ2YsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLE9BQU8sUUFBUTtBQUFBLEVBQ2hCLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFD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LENBQUM7QUFBQSxFQUNoQixNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFB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QUFLLFdBQVcsRUFDdkIsUUFBUSw4QkFBOEIsRUFDdEMsUUFBUSw0RkFBNEYsRUFDcEcsVUFBVSxDQUFDLE9BQU87QUFDZixTQUFHLFNBQVMsS0FBSyxPQUFPLFNBQVMsdUJBQXVCLEVBQUUsU0FBUyxPQUFPLFFBQVE7QUFDOUUsY0FBTSxLQUFLLE9BQU8sZUFBZSxFQUFFLHlCQUF5QixJQUFJLENBQUM7QUFBQSxNQUNyRSxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBRUwsU0FBSyxZQUFZLFNBQVMsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWpELFFBQUksMEJBQVEsS0FBSyxXQUFXLEVBQ3ZCLFFBQVEsc0JBQXNCLEVBQzlCLFFBQVEsa0VBQWtFLEVBQzFFLFFBQVEsQ0FBQ0EsVUFBUztBQUNmLE1BQUFBLE1BQUssU0FBUyxLQUFLLE9BQU8sU0FBUyxrQkFBa0IsRUFBRSxTQUFTLE9BQU8sVUFBVTtBQUM3RSxjQUFNLEtBQUssT0FBTyxlQUFlLEVBQUUsb0JBQW9CLE1BQU0sQ0FBQztBQUFBLE1BQ2xFLENBQUM7QUFBQSxJQUNMLENBQUM7QUFFTCxRQUFJLDBCQUFRLEtBQUssV0FBVyxFQUN2QixRQUFRLHlDQUF5QyxFQUNqRDtBQUFBLE1BQ0c7QUFBQSxJQUVKLEVBQ0MsVUFBVSxDQUFDLE9BQU87QUFDZixTQUFHLFNBQVMsS0FBSyxPQUFPLFNBQVMsK0JBQStCLEVBQUUsU0FBUyxPQUFPLFFBQVE7QUFDdEYsY0FBTSxLQUFLLE9BQU8sZUFBZSxFQUFFLGlDQUFpQyxJQUFJLENBQUM7QUFBQSxNQUM3RSxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBQUEsRUFDVDtBQUNKOyIsCiAgIm5hbWVzIjogWyJtb2R1bGUiLCAibiIsICJ0IiwgInIiLCAiZSIsICJ1IiwgIm8iLCAiaSIsICJhIiwgImYiLCAiYyIsICJzIiwgImwiLCAieCIsICJiIiwgImgiLCAicCIsICJkIiwgInYiLCAiZyIsICJtIiwgInkiLCAiRSIsICJ3IiwgIkIiLCAiaiIsICJTIiwgIl8iLCAiTCIsICJPIiwgImsiLCAiUCIsICJxIiwgIkEiLCAiSSIsICJGIiwgIk0iLCAieiIsICJSIiwgIlUiLCAiVyIsICJEIiwgIk4iLCAiRyIsICJDIiwgIkoiLCAiVCIsICJZIiwgIlYiLCAiSCIsICJYIiwgIksiLCAiUSIsICJaIiwgIiQiLCAibm4iLCAidG4iLCAicm4iLCAiYW4iLCAiZW4iLCAidW4iLCAiZm4iLCAiY24iLCAic24iLCAibG4iLCAiaG4iLCAicG4iLCAiZG4iLCAidm4iLCAiZ24iLCAibW4iLCAieW4iLCAiaW5kZXgiLCAiYXJyYXkiLCAibGVuZ3RoIiwgImkiLCAiayIsICJzZW1pY29sb24iLCAiaSIsICJjIiwgInNoaWZ0IiwgIm1heCIsICJ2IiwgImNoYXIiLCAiaW5wdXQiLCAibGVuZ3RoIiwgImxpbmUiLCAiY29sdW1uIiwgImluZGV4IiwgInN0YXRlIiwgIm5leHQiLCAibCIsICJhIiwgImIiLCAiaiIsICJpbnB1dCIsICJtYXRjaCIsICJoYXNoIiwgInVybCIsICJpbmRleCIsICJpIiwgImlucHV0IiwgImluZGV4IiwgImkiLCAibGluZSIsICJqIiwgImEiLCAiYiIsICJzdGF0ZSIsICJzb3VyY2VJbmRleCIsICJhcnJheSIsICJwYXJzZSIsICJvZmZzZXQiLCAiYXBwZW5kIiwgImNvbHVtbiIsICJpc1N0cmluZyIsICJmcm9tIiwgInMiLCAiZW5jb2RlIiwgImRlY29kZSIsICJjbG9uZSIsICJic0ZvdW5kIiwgIm1pbiIsICJtYXgiLCAiR2VuTWFwcGluZyIsICJTZXRBcnJheSIsICJtYXliZUFkZFNlZ21lbnQiLCAiaW5kZXgiLCAicHV0IiwgInJlbW92ZSIsICJ0b0VuY29kZWRNYXAiLCAiZW5jb2RlIiwgImlucHV0IiwgIlRyYWNlTWFwIiwgImRlY29kZWRNYXBwaW5ncyIsICJpIiwgImxpbmUiLCAiaiIsICJhcnJheSIsICJsZW5ndGgiLCAicHJldiIsICJkIiwgImIiLCAicCIsICJWRXJyb3IiLCAiTm9vcENvbnRleHQiLCAiRGV0YWlsQ29udGV4dCIsICJ1IiwgImkiLCAibSIsICJEZXRhaWxVbmlvblJlc29sdmVyIiwgImQiLCAiYiIsICJwIiwgIlRUeXBlIiwgIm5hbWUiLCAiVE5hbWUiLCAibGl0IiwgIlRMaXRlcmFsIiwgImFycmF5IiwgIlRBcnJheSIsICJpIiwgIl9pIiwgInQiLCAiVFR1cGxlIiwgInVuaW9uIiwgIlRVbmlvbiIsICJuIiwgIlRJbnRlcnNlY3Rpb24iLCAiVEVudW1UeXBlIiwgIlRFbnVtTGl0ZXJhbCIsICJpZmFjZSIsICJUSWZhY2UiLCAidiIsICJvcHQiLCAiVE9wdGlvbmFsIiwgIlRQcm9wIiwgIlRGdW5jIiwgIlRQYXJhbSIsICJUUGFyYW1MaXN0IiwgInBhcmFtIiwgIkJhc2ljVHlwZSIsICJhcnJheV8xIiwgInMiLCAiaSIsICJyIiwgImsiLCAiYSIsICJqIiwgImNyZWF0ZUNoZWNrZXJzIiwgIkNoZWNrZXIiLCAicCIsICJMaW5lc0FuZENvbHVtbnMiLCAic3RyaW5nIiwgIm9mZnNldCIsICJpbmRleCIsICJsaW5lIiwgImNvbHVtbiIsICJFbGVtZW50IiwgImlzRWxlbWVudCIsICJtb2R1bGUiLCAibW9kdWxlIiwgImkiLCAiZSIsICJtb2R1bGUiLCAiaGFzT3duUHJvcGVydHkiLCAiaSIsICJuIiwgImZyb20iLCAicyIsICJtb2R1bGUiLCAibW9kdWxlIiwgIm1vZHVsZSIsICJ0ZXh0IiwgIngiLCAibW9kdWxlIiwgImFzc2lnbiIsICJ0ZXh0IiwgIngiLCAieSIsICJpIiwgImNoZWNrZXIiLCAiaXNOb2RlIiwgIm1vZHVsZSIsICJkIiwgImIiLCAicCIsICJhIiwgIkJUcmVlIiwgImsiLCAidiIsICJpIiwgIm5leHQiLCAic3RhdGUiLCAiY3Vyc29yIiwgIm5vZGUiLCAibiIsICJtaW4iLCAibWF4IiwgInIiLCAidCIsICJzaXplIiwgIkJOb2RlIiwgImxvIiwgImMiLCAiXyIsICJCTm9kZUludGVybmFsIiwgImxlbmd0aCIsICJtb2R1bGUiLCAiZiIsICJnIiwgImRlZmluZSIsICJleHBvcnRzIiwgImUiLCAidCIsICJuIiwgInIiLCAicyIsICJvIiwgInUiLCAiYSIsICJpIiwgImwiLCAiZ2xvYmFsIiwgIlByb21pc2UiLCAic2VsZiIsICJfdHlwZW9mIiwgIl9jbGFzc0NhbGxDaGVjayIsICJrZXkiLCAibGVuZ3RoIiwgImlkYiIsICJvcHRpb25zIiwgImoiLCAiayIsICJmb3JhZ2UiLCAiY3Vyc29yIiwgInZhbHVlIiwgImVyciIsICJrZXlzIiwgImRiIiwgInAiLCAic2VyaWFsaXplIiwgImVycm9yIiwgInJlc29sdmUiLCAicmVqZWN0IiwgInNhbWVWYWx1ZSIsICJ4IiwgInkiLCAiaW5jbHVkZXMiLCAiYXJyYXkiLCAiaXNBcnJheSIsICJMb2NhbEZvcmFnZSIsICJjb25maWciLCAiY29uZmlndXJlTWlzc2luZ01ldGhvZHMiLCAibWV0aG9kTm90SW1wbGVtZW50ZWRGYWN0b3J5IiwgInByb21pc2UiLCAic2V0RHJpdmVyU3VwcG9ydCIsICJzdXBwb3J0ZWREcml2ZXJzIiwgIlF1ZXVlIiwgInJlcXVpcmVfcXVldWUiLCAiUXVldWUiLCAibyIsICJlIiwgIm5leHQiLCAiYSIsICJrIiwgIngiLCAibiIsICJpbnB1dCIsICJzdHJpbmciLCAiZiIsICJkIiwgInAyIiwgIm0iLCAidSIsICJ2IiwgIm9mZnNldCIsICJsZW5ndGgiLCAicyIsICJ0b2tlbiIsICJpIiwgImMiLCAibiIsICJwIiwgInN0cmluZyIsICJmb3JtYXRPZmZzZXQiLCAibGVuZ3RoIiwgInQiLCAiaSIsICJzIiwgImUiLCAic2luZ2xldG9uIiwgIm9mZnNldCIsICJzIiwgInIiLCAiaW5wdXQiLCAiZGVmYXVsdFpvbmUiLCAib2Zmc2V0IiwgIm4iLCAidCIsICJvcHRpb25zIiwgImUiLCAiZiIsICJpIiwgImxlbmd0aCIsICJmbG9vciIsICJ6IiwgIm0iLCAiZiIsICJyIiwgIm0iLCAiY3Vyc29yIiwgIm5leHQiLCAicyIsICJyZWdleCIsICJtYXRjaCIsICJpIiwgIm9mZnNldCIsICJuIiwgImNvbmZpZyIsICJ0ZXh0IiwgIm8iLCAibCIsICJzIiwgImsiLCAiZm4iLCAidSIsICJpIiwgInYyIiwgIklOVkFMSUQiLCAiZW5kIiwgImNvbmZpZyIsICJ0ZXh0IiwgInMiLCAiZSIsICJvIiwgImQiLCAiaSIsICJuZXh0IiwgIngiLCAiYSIsICJiIiwgImlucHV0IiwgImxlbmd0aCIsICJjdXJzb3IiLCAiYSIsICJiIiwgInUiLCAiaSIsICJtaW4iLCAibWF4IiwgImFwcGVuZCIsICJyZWdleCIsICJpIiwgInMiLCAiaCIsICJtIiwgInRva2VuIiwgInQiLCAidSIsICJmIiwgInIiLCAiaW5wdXQiLCAiayIsICJwIiwgImQiLCAiaSIsICJJTlZBTElEIiwgImNsb25lIiwgIm8iLCAibzIiLCAibzMiLCAib2Zmc2V0IiwgImQiLCAiYyIsICJ0ZXh0IiwgIm9yZGVyZWRVbml0cyIsICJ1IiwgImVuZCIsICJyb3VuZCIsICJjb25maWciLCAib3B0aW9ucyIsICJ2IiwgInEiLCAiaSIsICJfIiwgInRleHQiLCAiZW5kIiwgIm9mZnNldCIsICJwb3NpdGlvbiIsICJQIiwgIkxpdGVyYWxzIiwgImYiLCAiZSIsICJpc051bWJlciIsICJpc1N0cmluZyIsICJpc0RhdGUiLCAiaXNBcnJheSIsICJ4IiwgImYyIiwgImluZGV4IiwgIm8yIiwgImsyIiwgInYiLCAiR3JvdXBpbmdzIiwgInNsaWNlIiwgImVuZCIsICJmIiwgIlJlc3VsdCIsICJhIiwgImIiLCAiaW5wdXQiLCAiRmlsdGVycyIsICJ4IiwgInVuaW9uIiwgImEiLCAiYiIsICJhdG9tIiwgIm5lZ2F0ZWQiLCAiRXhwcmVzc2lvbnMiLCAiaW5kZXgiLCAiZnVuYyIsICJhIiwgInYiLCAiayIsICJfIiwgInEiLCAicCIsICJsIiwgImEiLCAiYiIsICJkIiwgInQiLCAieCIsICJjIiwgImYiLCAiXzIiLCAiXzMiLCAiY29tYmluZSIsICJub2RlIiwgImluZGV4IiwgImYiLCAiYSIsICJpbnB1dCIsICJpIiwgIm5leHQiLCAibWF0Y2giLCAibWF0Y2gyIiwgImwiLCAic2xpY2UiLCAib3B0aW9ucyIsICJ2bm9kZUlkIiwgImlzVmFsaWRFbGVtZW50IiwgInJlcmVuZGVyUXVldWUiLCAicHJldkRlYm91bmNlIiwgImRlZmVyIiwgImRlcHRoU29ydCIsICJldmVudENsb2NrIiwgImV2ZW50UHJveHkiLCAiZXZlbnRQcm94eUNhcHR1cmUiLCAiaSIsICJFTVBUWV9PQkoiLCAiRU1QVFlfQVJSIiwgIklTX05PTl9ESU1FTlNJT05BTCIsICJpc0FycmF5IiwgIkFycmF5IiwgImFzc2lnbiIsICJvYmoiLCAicHJvcHMiLCAicmVtb3ZlTm9kZSIsICJub2RlIiwgInBhcmVudE5vZGUiLCAicmVtb3ZlQ2hpbGQiLCAiY3JlYXRlRWxlbWVudCIsICJ0eXBlIiwgImNoaWxkcmVuIiwgImtleSIsICJyZWYiLCAibm9ybWFsaXplZFByb3BzIiwgImFyZ3VtZW50cyIsICJsZW5ndGgiLCAiY2FsbCIsICJkZWZhdWx0UHJvcHMiLCAiY3JlYXRlVk5vZGUiLCAib3JpZ2luYWwiLCAidm5vZGUiLCAiX19rIiwgIl9fIiwgIl9fYiIsICJfX2UiLCAiX19kIiwgIl9fYyIsICJjb25zdHJ1Y3RvciIsICJfX3YiLCAiX19pIiwgIl9fdSIsICJjcmVhdGVSZWYiLCAiY3VycmVudCIsICJGcmFnbWVudCIsICJCYXNlQ29tcG9uZW50IiwgImNvbnRleHQiLCAidGhpcyIsICJnZXREb21TaWJsaW5nIiwgImNoaWxkSW5kZXgiLCAic2libGluZyIsICJ1cGRhdGVQYXJlbnREb21Qb2ludGVycyIsICJjaGlsZCIsICJiYXNlIiwgImVucXVldWVSZW5kZXIiLCAiYyIsICJwdXNoIiwgInByb2Nlc3MiLCAiX19yIiwgImRlYm91bmNlUmVuZGVyaW5nIiwgInJlbmRlclF1ZXVlTGVuZ3RoIiwgImNvbXBvbmVudCIsICJuZXdWTm9kZSIsICJvbGRWTm9kZSIsICJvbGREb20iLCAiY29tbWl0UXVldWUiLCAicmVmUXVldWUiLCAic29ydCIsICJzaGlmdCIsICJfX1AiLCAiZGlmZiIsICJfX24iLCAibmFtZXNwYWNlVVJJIiwgImNvbW1pdFJvb3QiLCAiZGlmZkNoaWxkcmVuIiwgInBhcmVudERvbSIsICJyZW5kZXJSZXN1bHQiLCAibmV3UGFyZW50Vk5vZGUiLCAib2xkUGFyZW50Vk5vZGUiLCAiZ2xvYmFsQ29udGV4dCIsICJuYW1lc3BhY2UiLCAiZXhjZXNzRG9tQ2hpbGRyZW4iLCAiaXNIeWRyYXRpbmciLCAiY2hpbGRWTm9kZSIsICJuZXdEb20iLCAiZmlyc3RDaGlsZERvbSIsICJvbGRDaGlsZHJlbiIsICJuZXdDaGlsZHJlbkxlbmd0aCIsICJjb25zdHJ1Y3ROZXdDaGlsZHJlbkFycmF5IiwgImFwcGx5UmVmIiwgImluc2VydCIsICJuZXh0U2libGluZyIsICJza2V3ZWRJbmRleCIsICJtYXRjaGluZ0luZGV4IiwgIm9sZENoaWxkcmVuTGVuZ3RoIiwgInJlbWFpbmluZ09sZENoaWxkcmVuIiwgInNrZXciLCAiU3RyaW5nIiwgImZpbmRNYXRjaGluZ0luZGV4IiwgInVubW91bnQiLCAicGFyZW50Vk5vZGUiLCAiY29udGFpbnMiLCAiaW5zZXJ0QmVmb3JlIiwgIm5vZGVUeXBlIiwgInRvQ2hpbGRBcnJheSIsICJvdXQiLCAic29tZSIsICJ4IiwgInkiLCAic2V0U3R5bGUiLCAic3R5bGUiLCAidmFsdWUiLCAic2V0UHJvcGVydHkiLCAidGVzdCIsICJkb20iLCAibmFtZSIsICJvbGRWYWx1ZSIsICJ1c2VDYXB0dXJlIiwgIm8iLCAiY3NzVGV4dCIsICJyZXBsYWNlIiwgInRvTG93ZXJDYXNlIiwgIl9hdHRhY2hlZCIsICJhZGRFdmVudExpc3RlbmVyIiwgInJlbW92ZUV2ZW50TGlzdGVuZXIiLCAiZSIsICJyZW1vdmVBdHRyaWJ1dGUiLCAic2V0QXR0cmlidXRlIiwgImNyZWF0ZUV2ZW50UHJveHkiLCAiZXZlbnRIYW5kbGVyIiwgIl9kaXNwYXRjaGVkIiwgImV2ZW50IiwgInRtcCIsICJpc05ldyIsICJvbGRQcm9wcyIsICJvbGRTdGF0ZSIsICJzbmFwc2hvdCIsICJjbGVhclByb2Nlc3NpbmdFeGNlcHRpb24iLCAibmV3UHJvcHMiLCAiaXNDbGFzc0NvbXBvbmVudCIsICJwcm92aWRlciIsICJjb21wb25lbnRDb250ZXh0IiwgInJlbmRlckhvb2siLCAiY291bnQiLCAibmV3VHlwZSIsICJvdXRlciIsICJwcm90b3R5cGUiLCAicmVuZGVyIiwgImNvbnRleHRUeXBlIiwgIl9fRSIsICJkb1JlbmRlciIsICJzdWIiLCAic3RhdGUiLCAiX19oIiwgIl9zYiIsICJfX3MiLCAiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwgImNvbXBvbmVudFdpbGxNb3VudCIsICJjb21wb25lbnREaWRNb3VudCIsICJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwgInNob3VsZENvbXBvbmVudFVwZGF0ZSIsICJjb21wb25lbnRXaWxsVXBkYXRlIiwgImNvbXBvbmVudERpZFVwZGF0ZSIsICJnZXRDaGlsZENvbnRleHQiLCAiZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUiLCAiTU9ERV9IWURSQVRFIiwgImluZGV4T2YiLCAiZGlmZkVsZW1lbnROb2RlcyIsICJkaWZmZWQiLCAicm9vdCIsICJjYiIsICJuZXdIdG1sIiwgIm9sZEh0bWwiLCAibmV3Q2hpbGRyZW4iLCAiaW5wdXRWYWx1ZSIsICJjaGVja2VkIiwgImxvY2FsTmFtZSIsICJkb2N1bWVudCIsICJjcmVhdGVUZXh0Tm9kZSIsICJjcmVhdGVFbGVtZW50TlMiLCAiaXMiLCAiX19tIiwgImRhdGEiLCAiY2hpbGROb2RlcyIsICJhdHRyaWJ1dGVzIiwgIl9faHRtbCIsICJpbm5lckhUTUwiLCAiaGFzUmVmVW5tb3VudCIsICJza2lwUmVtb3ZlIiwgInIiLCAiY29tcG9uZW50V2lsbFVubW91bnQiLCAicmVwbGFjZU5vZGUiLCAiZmlyc3RDaGlsZCIsICJoeWRyYXRlIiwgImNsb25lRWxlbWVudCIsICJjcmVhdGVDb250ZXh0IiwgImRlZmF1bHRWYWx1ZSIsICJjb250ZXh0SWQiLCAiQ29uc3VtZXIiLCAiY29udGV4dFZhbHVlIiwgIlByb3ZpZGVyIiwgInN1YnMiLCAiY3R4IiwgIlNldCIsICJfcHJvcHMiLCAiZm9yRWFjaCIsICJhZGQiLCAib2xkIiwgImRlbGV0ZSIsICJlcnJvciIsICJlcnJvckluZm8iLCAiY3RvciIsICJoYW5kbGVkIiwgImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsICJzZXRTdGF0ZSIsICJjb21wb25lbnREaWRDYXRjaCIsICJ1bmRlZmluZWQiLCAidXBkYXRlIiwgImNhbGxiYWNrIiwgInMiLCAiZm9yY2VVcGRhdGUiLCAiUHJvbWlzZSIsICJ0aGVuIiwgImJpbmQiLCAicmVzb2x2ZSIsICJzZXRUaW1lb3V0IiwgImEiLCAiYiIsICJjdXJyZW50SW5kZXgiLCAiY3VycmVudENvbXBvbmVudCIsICJwcmV2aW91c0NvbXBvbmVudCIsICJwcmV2UmFmIiwgImN1cnJlbnRIb29rIiwgImFmdGVyUGFpbnRFZmZlY3RzIiwgIm9wdGlvbnMiLCAiX29wdGlvbnMiLCAib2xkQmVmb3JlRGlmZiIsICJfX2IiLCAib2xkQmVmb3JlUmVuZGVyIiwgIl9fciIsICJvbGRBZnRlckRpZmYiLCAiZGlmZmVkIiwgIm9sZENvbW1pdCIsICJfX2MiLCAib2xkQmVmb3JlVW5tb3VudCIsICJ1bm1vdW50IiwgIm9sZFJvb3QiLCAiX18iLCAiZ2V0SG9va1N0YXRlIiwgImluZGV4IiwgInR5cGUiLCAiX19oIiwgImhvb2tzIiwgIl9fSCIsICJsZW5ndGgiLCAicHVzaCIsICJ1c2VTdGF0ZSIsICJpbml0aWFsU3RhdGUiLCAidXNlUmVkdWNlciIsICJpbnZva2VPclJldHVybiIsICJyZWR1Y2VyIiwgImluaXQiLCAiaG9va1N0YXRlIiwgIl9yZWR1Y2VyIiwgImFjdGlvbiIsICJjdXJyZW50VmFsdWUiLCAiX19OIiwgIm5leHRWYWx1ZSIsICJzZXRTdGF0ZSIsICJfaGFzU2N1RnJvbUhvb2tzIiwgInVwZGF0ZUhvb2tTdGF0ZSIsICJwIiwgInMiLCAiYyIsICJzdGF0ZUhvb2tzIiwgImZpbHRlciIsICJ4IiwgImV2ZXJ5IiwgInByZXZTY3UiLCAiY2FsbCIsICJ0aGlzIiwgInNob3VsZFVwZGF0ZSIsICJmb3JFYWNoIiwgImhvb2tJdGVtIiwgInByb3BzIiwgInNob3VsZENvbXBvbmVudFVwZGF0ZSIsICJwcmV2Q1dVIiwgImNvbXBvbmVudFdpbGxVcGRhdGUiLCAiX19lIiwgInRtcCIsICJ1c2VFZmZlY3QiLCAiY2FsbGJhY2siLCAiYXJncyIsICJzdGF0ZSIsICJfX3MiLCAiYXJnc0NoYW5nZWQiLCAiX3BlbmRpbmdBcmdzIiwgInVzZUxheW91dEVmZmVjdCIsICJ1c2VSZWYiLCAiaW5pdGlhbFZhbHVlIiwgInVzZU1lbW8iLCAiY3VycmVudCIsICJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwgInJlZiIsICJjcmVhdGVIYW5kbGUiLCAiY29uY2F0IiwgImZhY3RvcnkiLCAidXNlQ2FsbGJhY2siLCAidXNlQ29udGV4dCIsICJjb250ZXh0IiwgInByb3ZpZGVyIiwgInN1YiIsICJ2YWx1ZSIsICJ1c2VEZWJ1Z1ZhbHVlIiwgImZvcm1hdHRlciIsICJuIiwgInVzZUVycm9yQm91bmRhcnkiLCAiY2IiLCAiZXJyU3RhdGUiLCAiY29tcG9uZW50RGlkQ2F0Y2giLCAiZXJyIiwgImVycm9ySW5mbyIsICJ1bmRlZmluZWQiLCAidXNlSWQiLCAicm9vdCIsICJfX3YiLCAiX19tIiwgIm1hc2siLCAiZmx1c2hBZnRlclBhaW50RWZmZWN0cyIsICJjb21wb25lbnQiLCAic2hpZnQiLCAiX19QIiwgImludm9rZUNsZWFudXAiLCAiaW52b2tlRWZmZWN0IiwgImUiLCAidm5vZGUiLCAicGFyZW50RG9tIiwgIl9fayIsICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCAiYWZ0ZXJOZXh0RnJhbWUiLCAiY29tbWl0UXVldWUiLCAic29tZSIsICJoYXNFcnJvcmVkIiwgIkhBU19SQUYiLCAicmFmIiwgImRvbmUiLCAiY2xlYXJUaW1lb3V0IiwgInRpbWVvdXQiLCAiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCAic2V0VGltZW91dCIsICJob29rIiwgImNvbXAiLCAiY2xlYW51cCIsICJvbGRBcmdzIiwgIm5ld0FyZ3MiLCAiYXJnIiwgImYiLCAic2hhbGxvd0RpZmZlcnMiLCAiYSIsICJiIiwgImkiLCAiUHVyZUNvbXBvbmVudCIsICJwIiwgImMiLCAidGhpcyIsICJwcm9wcyIsICJjb250ZXh0IiwgIm1lbW8iLCAiY29tcGFyZXIiLCAic2hvdWxkVXBkYXRlIiwgIm5leHRQcm9wcyIsICJyZWYiLCAidXBkYXRlUmVmIiwgImNhbGwiLCAiY3VycmVudCIsICJNZW1vZWQiLCAic2hvdWxkQ29tcG9uZW50VXBkYXRlIiwgImNyZWF0ZUVsZW1lbnQiLCAiZGlzcGxheU5hbWUiLCAibmFtZSIsICJwcm90b3R5cGUiLCAiaXNSZWFjdENvbXBvbmVudCIsICJfX2YiLCAiQ29tcG9uZW50IiwgImlzUHVyZVJlYWN0Q29tcG9uZW50IiwgInN0YXRlIiwgIm9sZERpZmZIb29rIiwgIm9wdGlvbnMiLCAiX19iIiwgInZub2RlIiwgInR5cGUiLCAiUkVBQ1RfRk9SV0FSRF9TWU1CT0wiLCAiU3ltYm9sIiwgImZvciIsICJmb3J3YXJkUmVmIiwgImZuIiwgIkZvcndhcmRlZCIsICJyZXN1bHQiLCAiJCR0eXBlb2YiLCAicmVuZGVyIiwgIm1hcEZuIiwgImNoaWxkcmVuIiwgInRvQ2hpbGRBcnJheSIsICJtYXAiLCAiQ2hpbGRyZW4iLCAiZm9yRWFjaCIsICJjb3VudCIsICJsZW5ndGgiLCAib25seSIsICJub3JtYWxpemVkIiwgInRvQXJyYXkiLCAib2xkQ2F0Y2hFcnJvciIsICJfX2UiLCAiZXJyb3IiLCAibmV3Vk5vZGUiLCAib2xkVk5vZGUiLCAiZXJyb3JJbmZvIiwgInRoZW4iLCAiY29tcG9uZW50IiwgIl9fIiwgIl9fYyIsICJfX2siLCAib2xkVW5tb3VudCIsICJ1bm1vdW50IiwgImRldGFjaGVkQ2xvbmUiLCAiZGV0YWNoZWRQYXJlbnQiLCAicGFyZW50RG9tIiwgIl9fSCIsICJlZmZlY3QiLCAib2JqIiwgIl9fUCIsICJjaGlsZCIsICJyZW1vdmVPcmlnaW5hbCIsICJvcmlnaW5hbFBhcmVudCIsICJfX3YiLCAiYXBwZW5kQ2hpbGQiLCAiU3VzcGVuc2UiLCAiX191IiwgIl9zdXNwZW5kZXJzIiwgInN1c3BlbmRlZCIsICJfX2EiLCAibGF6eSIsICJsb2FkZXIiLCAicHJvbSIsICJMYXp5IiwgImV4cG9ydHMiLCAiZGVmYXVsdCIsICJlIiwgIlN1c3BlbnNlTGlzdCIsICJfbmV4dCIsICJfbWFwIiwgIl9fUiIsICJwcm9taXNlIiwgInN1c3BlbmRpbmdWTm9kZSIsICJzdXNwZW5kaW5nQ29tcG9uZW50IiwgInB1c2giLCAicmVzb2x2ZSIsICJyZXNvbHZlZCIsICJvblJlc29sdmVkIiwgIm9uU3VzcGVuc2lvbkNvbXBsZXRlIiwgInN1c3BlbmRlZFZOb2RlIiwgIl9fTyIsICJzZXRTdGF0ZSIsICJwb3AiLCAiZm9yY2VVcGRhdGUiLCAiY29tcG9uZW50V2lsbFVubW91bnQiLCAiZG9jdW1lbnQiLCAiZGV0YWNoZWRDb21wb25lbnQiLCAiZmFsbGJhY2siLCAiRnJhZ21lbnQiLCAibGlzdCIsICJub2RlIiwgImRlbGV0ZSIsICJyZXZlYWxPcmRlciIsICJzaXplIiwgIkNvbnRleHRQcm92aWRlciIsICJnZXRDaGlsZENvbnRleHQiLCAiUG9ydGFsIiwgIl90aGlzIiwgImNvbnRhaW5lciIsICJfY29udGFpbmVyIiwgIl90ZW1wIiwgIm5vZGVUeXBlIiwgInBhcmVudE5vZGUiLCAiY2hpbGROb2RlcyIsICJjb250YWlucyIsICJpbnNlcnRCZWZvcmUiLCAiYmVmb3JlIiwgInJlbW92ZUNoaWxkIiwgInNwbGljZSIsICJpbmRleE9mIiwgImNyZWF0ZVBvcnRhbCIsICJlbCIsICJjb250YWluZXJJbmZvIiwgImRlbGVnYXRlZCIsICJnZXQiLCAidW5zdXNwZW5kIiwgIndyYXBwZWRVbnN1c3BlbmQiLCAiTWFwIiwgInJldmVyc2UiLCAic2V0IiwgImNvbXBvbmVudERpZFVwZGF0ZSIsICJjb21wb25lbnREaWRNb3VudCIsICJSRUFDVF9FTEVNRU5UX1RZUEUiLCAiQ0FNRUxfUFJPUFMiLCAiT05fQU5JIiwgIkNBTUVMX1JFUExBQ0UiLCAiSVNfRE9NIiwgIm9uQ2hhbmdlSW5wdXRUeXBlIiwgInRlc3QiLCAicGFyZW50IiwgImNhbGxiYWNrIiwgInRleHRDb250ZW50IiwgInByZWFjdFJlbmRlciIsICJoeWRyYXRlIiwgInByZWFjdEh5ZHJhdGUiLCAia2V5IiwgIk9iamVjdCIsICJkZWZpbmVQcm9wZXJ0eSIsICJjb25maWd1cmFibGUiLCAidiIsICJ3cml0YWJsZSIsICJ2YWx1ZSIsICJvbGRFdmVudEhvb2siLCAiZXZlbnQiLCAiZW1wdHkiLCAiaXNQcm9wYWdhdGlvblN0b3BwZWQiLCAiY2FuY2VsQnViYmxlIiwgImlzRGVmYXVsdFByZXZlbnRlZCIsICJkZWZhdWx0UHJldmVudGVkIiwgInBlcnNpc3QiLCAibmF0aXZlRXZlbnQiLCAiY3VycmVudENvbXBvbmVudCIsICJjbGFzc05hbWVEZXNjcmlwdG9yTm9uRW51bWJlcmFibGUiLCAiZW51bWVyYWJsZSIsICJjbGFzcyIsICJvbGRWTm9kZUhvb2siLCAibm9ybWFsaXplZFByb3BzIiwgImlzTm9uRGFzaGVkVHlwZSIsICJsb3dlckNhc2VkIiwgInRvTG93ZXJDYXNlIiwgInJlcGxhY2UiLCAibXVsdGlwbGUiLCAiQXJyYXkiLCAiaXNBcnJheSIsICJzZWxlY3RlZCIsICJkZWZhdWx0VmFsdWUiLCAiY2xhc3NOYW1lIiwgIm9sZEJlZm9yZVJlbmRlciIsICJfX3IiLCAib2xkRGlmZmVkIiwgImRpZmZlZCIsICJkb20iLCAiX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQiLCAiUmVhY3RDdXJyZW50RGlzcGF0Y2hlciIsICJyZWFkQ29udGV4dCIsICJfX24iLCAidXNlQ2FsbGJhY2siLCAidXNlQ29udGV4dCIsICJ1c2VEZWJ1Z1ZhbHVlIiwgInVzZURlZmVycmVkVmFsdWUiLCAidXNlRWZmZWN0IiwgInVzZUlkIiwgInVzZUltcGVyYXRpdmVIYW5kbGUiLCAidXNlSW5zZXJ0aW9uRWZmZWN0IiwgInVzZUxheW91dEVmZmVjdCIsICJ1c2VNZW1vIiwgInVzZVJlZHVjZXIiLCAidXNlUmVmIiwgInVzZVN0YXRlIiwgInVzZVN5bmNFeHRlcm5hbFN0b3JlIiwgInVzZVRyYW5zaXRpb24iLCAiY3JlYXRlRmFjdG9yeSIsICJ0eXBlIiwgImNyZWF0ZUVsZW1lbnQiLCAiYmluZCIsICJpc1ZhbGlkRWxlbWVudCIsICJlbGVtZW50IiwgIiQkdHlwZW9mIiwgIlJFQUNUX0VMRU1FTlRfVFlQRSIsICJpc0ZyYWdtZW50IiwgIkZyYWdtZW50IiwgImlzTWVtbyIsICJkaXNwbGF5TmFtZSIsICJTdHJpbmciLCAic3RhcnRzV2l0aCIsICJjbG9uZUVsZW1lbnQiLCAicHJlYWN0Q2xvbmVFbGVtZW50IiwgImFwcGx5IiwgImFyZ3VtZW50cyIsICJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwgImNvbnRhaW5lciIsICJfX2siLCAicHJlYWN0UmVuZGVyIiwgImZpbmRET01Ob2RlIiwgImNvbXBvbmVudCIsICJiYXNlIiwgIm5vZGVUeXBlIiwgInVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzIiwgImNhbGxiYWNrIiwgImFyZyIsICJmbHVzaFN5bmMiLCAiU3RyaWN0TW9kZSIsICJzdGFydFRyYW5zaXRpb24iLCAiY2IiLCAidXNlRGVmZXJyZWRWYWx1ZSIsICJ2YWwiLCAidXNlVHJhbnNpdGlvbiIsICJ1c2VJbnNlcnRpb25FZmZlY3QiLCAidXNlTGF5b3V0RWZmZWN0IiwgImlzRWxlbWVudCIsICJ1c2VTeW5jRXh0ZXJuYWxTdG9yZSIsICJzdWJzY3JpYmUiLCAiZ2V0U25hcHNob3QiLCAidmFsdWUiLCAiX3VzZVN0YXRlIiwgInVzZVN0YXRlIiwgIl9pbnN0YW5jZSIsICJfXyIsICJfZ2V0U25hcHNob3QiLCAiZm9yY2VVcGRhdGUiLCAiZGlkU25hcHNob3RDaGFuZ2UiLCAidXNlRWZmZWN0IiwgImluc3QiLCAieCIsICJ5IiwgImxhdGVzdEdldFNuYXBzaG90IiwgInByZXZWYWx1ZSIsICJuZXh0VmFsdWUiLCAiZXJyb3IiLCAiaW5kZXgiLCAidXNlSWQiLCAidXNlUmVkdWNlciIsICJ1c2VSZWYiLCAidXNlSW1wZXJhdGl2ZUhhbmRsZSIsICJ1c2VNZW1vIiwgInVzZUNhbGxiYWNrIiwgInVzZUNvbnRleHQiLCAidXNlRGVidWdWYWx1ZSIsICJ2ZXJzaW9uIiwgIkNoaWxkcmVuIiwgInJlbmRlciIsICJoeWRyYXRlIiwgImNyZWF0ZVBvcnRhbCIsICJjcmVhdGVDb250ZXh0IiwgImNyZWF0ZVJlZiIsICJDb21wb25lbnQiLCAiUHVyZUNvbXBvbmVudCIsICJtZW1vIiwgImZvcndhcmRSZWYiLCAiU3VzcGVuc2UiLCAiU3VzcGVuc2VMaXN0IiwgImxhenkiLCAiX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQiLCAidm5vZGVJZCIsICJpc0FycmF5IiwgIkFycmF5IiwgImNyZWF0ZVZOb2RlIiwgInR5cGUiLCAicHJvcHMiLCAia2V5IiwgImlzU3RhdGljQ2hpbGRyZW4iLCAiX19zb3VyY2UiLCAiX19zZWxmIiwgInJlZiIsICJpIiwgIm5vcm1hbGl6ZWRQcm9wcyIsICJ2bm9kZSIsICJfX2siLCAiX18iLCAiX19iIiwgIl9fZSIsICJfX2QiLCAiX19jIiwgImNvbnN0cnVjdG9yIiwgIl9fdiIsICJfX2kiLCAiX191IiwgImRlZmF1bHRQcm9wcyIsICJvcHRpb25zIiwgImlubGluZSIsICJ4IiwgIkEiLCAiVCIsICJ5IiwgInUiLCAiZW5kIiwgInEiLCAic3RhdGUiLCAicCIsICJ1IiwgIngiLCAiVCIsICJxIiwgIkMiLCAiaW5saW5lIiwgIkEiLCAieSIsICJpbmRleCIsICJ2YWx1ZSIsICJiIiwgImltcG9ydF9vYnNpZGlhbiIsICJDb250ZXh0dWFsS2V5d29yZCIsICJUb2tlblR5cGUiLCAicmVnZXhwIiwgInN0cmluZyIsICJhcnJvdyIsICJoYXNoIiwgImFzc2lnbiIsICJfZGVmYXVsdCIsICJfZXh0ZW5kcyIsICJfdHlwZW9mIiwgImVuZCIsICJjaGFyQ29kZXMiLCAic2VtaWNvbG9uIiwgImNhcmV0IiwgImxpbmUiLCAiY29sdW1uIiwgImkiLCAibCIsICJtYXRjaCIsICJpIiwgImNoYXIiLCAiaSIsICJuZXh0IiwgIklkZW50aWZpZXJSb2xlIiwgIkpTWFJvbGUiLCAidG9rZW4iLCAiaSIsICJtYXRjaCIsICJzaXplIiwgImluZGV4IiwgInRva2VuIiwgIm9wdGlvbnMiLCAib3B0aW9ucyIsICJwcmVmaXgiLCAiaW5kZXgiLCAidG9rZW4iLCAicyIsICJ0ZXh0IiwgIndoaXRlc3BhY2UiLCAiaSIsICJjIiwgIm9wdGlvbnMiLCAiaSIsICJ0b2tlbiIsICJvcHRpb25zIiwgImkiLCAiY29tcG9uZW50cyIsICJpbmRleCIsICJ0b2tlbiIsICJvcHRpb25zIiwgImxpbmUiLCAiaSIsICJ0b2tlbiIsICJpIiwgInRva2VuIiwgInQiLCAib3B0aW9ucyIsICJtYXRjaCIsICJtYXRjaCIsICJGdW5jdGlvblR5cGUiLCAiaSIsICJtYXRjaCIsICJtYXRjaCIsICJtYXRjaCIsICJtYXRjaCIsICJ0b2tlbiIsICJkZWNsYXJhdGlvbiIsICJtYXRjaCIsICJ0b2tlbiIsICJlbmQiLCAicGFyc2UiLCAiaW5wdXQiLCAiaXNKU1hFbmFibGVkIiwgImlzVHlwZVNjcmlwdEVuYWJsZWQiLCAiaXNGbG93RW5hYmxlZCIsICJpbmRleCIsICJ0b2tlbiIsICJpc0Zsb3dFbmFibGVkIiwgImluZGV4IiwgInRva2VuIiwgInQyIiwgInQzIiwgInQ0IiwgInByZWZpeCIsICJpIiwgInRva2VuIiwgImkiLCAidG9rZW4iLCAicHJlZml4IiwgInRva2VuIiwgImlkZW50aWZpZXIiLCAiaW5kZXgiLCAib3B0aW9ucyIsICJpIiwgImkiLCAiZm4iLCAiXyIsICJfMiIsICJ0b2tlbiIsICJuZXh0VG9rZW4iLCAiaSIsICJpbmRleCIsICJvcHRpb25zIiwgImluZGV4IiwgInRva2VuIiwgInRva2VuIiwgImkiLCAib3B0aW9ucyIsICJwcmVmaXgiLCAidiIsICJzIiwgIm5leHRUb2tlbiIsICJpIiwgImkiLCAiaW5kZXgiLCAib3B0aW9ucyIsICJlIiwgIm9wdGlvbnMiLCAiaXNKU1hFbmFibGVkIiwgImlzVHlwZVNjcmlwdEVuYWJsZWQiLCAiaXNGbG93RW5hYmxlZCIsICJwYXJzZSIsICJfIiwgImltcG9ydF9vYnNpZGlhbiIsICJoIiwgIlQiLCAieSIsICJBIiwgImUiLCAiQSIsICJ5IiwgInEiLCAieCIsICJzdGF0ZSIsICJoIiwgInUiLCAiaCIsICJ5IiwgImVycm9yIiwgIngiLCAiYXBpIiwgInUiLCAiVCIsICJzdHlsZSIsICJ1IiwgImltcG9ydF9vYnNpZGlhbiIsICJ1IiwgImlubGluZSIsICJkaXNhYmxlZCIsICJvbkNoYW5nZSIsICJxIiwgIm1pbiIsICJtYXgiLCAib3B0aW9ucyIsICJlIiwgImljb24iLCAiYyIsICJGaWVsZGJlYXJpbmdzIiwgIkV4dHJhY3RvcnMiLCAia2V5IiwgImZyb250bWF0dGVyIiwgIlAiLCAiSnNvbkNvbnZlcnNpb24iLCAiaW5wdXQiLCAianNvbiIsICJ2IiwgImxpbmUiLCAiaW5kZXgiLCAiY2hhciIsICJsaW5lIiwgImEiLCAiYiIsICJpIiwgImxpbmUiLCAicmVnZXgiLCAibWF0Y2giLCAiZiIsICJwcmVmaXgiLCAiZiIsICJsIiwgImkiLCAibGluZSIsICJpbnB1dCIsICJ4IiwgIm8iLCAidCIsICJyIiwgImUiLCAiaSIsICJ0IiwgImkiLCAiZSIsICJyIiwgInQiLCAiZSIsICJyIiwgInQiLCAibyIsICJyIiwgInIiLCAibCIsICJ0IiwgImUiLCAibiIsICJpIiwgInUiLCAiYSIsICJmIiwgIm8iLCAiciIsICJhIiwgImUiLCAibiIsICJyIiwgImEiLCAidCIsICJyIiwgImUiLCAiciIsICJlIiwgInQiLCAibiIsICJlIiwgInQiLCAibyIsICJyIiwgImkiLCAicyIsICJfcmVmIiwgImgiLCAib25DaGFuZ2UiLCAicSIsICJ2YWx1ZSIsICJuIiwgImUiLCAidCIsICJyIiwgImEiLCAibiIsICJlIiwgInIiLCAidCIsICJvIiwgInQiLCAiZSIsICJ0IiwgImUiLCAidCIsICJ0IiwgIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCAiZSIsICJ0IiwgImUiLCAidCIsICJyIiwgImUiLCAibyIsICJzIiwgInIiLCAiciIsICJyIiwgImkiLCAib3B0aW9ucyIsICJTdHlsZVNoZWV0IiwgImUiLCAibGVuZ3RoIiwgIm1hdGNoIiwgImluZGV4IiwgImJlZ2luIiwgImVuZCIsICJhcnJheSIsICJsZW5ndGgiLCAibmV4dCIsICJiZWdpbiIsICJlbmQiLCAid2hpdGVzcGFjZSIsICJuZXh0IiwgImluZGV4IiwgIm5leHQiLCAicGFyc2UiLCAiaW5kZXgiLCAib2Zmc2V0IiwgImxlbmd0aCIsICJjaGFyYWN0ZXIiLCAiY2hhcmFjdGVycyIsICJuZXh0IiwgIndoaXRlc3BhY2UiLCAic2l6ZSIsICJpIiwgImoiLCAiayIsICJ4IiwgInkiLCAieiIsICJsZW5ndGgiLCAiaSIsICJpbmRleCIsICJsZW5ndGgiLCAiaW5kZXgiLCAiaSIsICJmbiIsICJpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmciLCAiYmVnaW4iLCAiaW5kZXgiLCAiY2hhcmFjdGVyIiwgIm5leHQiLCAidG9SdWxlcyIsICJnZXRSdWxlcyIsICJjb21wYXQiLCAiaSIsICJrIiwgImoiLCAicmVtb3ZlTGFiZWwiLCAibGVuZ3RoIiwgInByZWZpeGVyIiwgIm1hdGNoIiwgImNyZWF0ZUNhY2hlIiwgIm9wdGlvbnMiLCAibm9kZSIsICJzdHlsaXMiLCAic3R5bGVzIiwgImNsYXNzTmFtZXMiLCAicmVnaXN0ZXJTdHlsZXMiLCAiaW5zZXJ0U3R5bGVzIiwgImgiLCAiayIsICJpIiwgImlzRGV2ZWxvcG1lbnQiLCAiaXNDdXN0b21Qcm9wZXJ0eSIsICJpc1Byb2Nlc3NhYmxlVmFsdWUiLCAicHJvY2Vzc1N0eWxlVmFsdWUiLCAibWF0Y2giLCAicDIiLCAia2V5ZnJhbWVzIiwgIm5leHQiLCAic3R5bGVzIiwgInN0cmluZyIsICJpIiwgInN5bmNGYWxsYmFjayIsICJpc0RldmVsb3BtZW50IiwgIndpdGhFbW90aW9uQ2FjaGUiLCAidyIsICJ4IiwgImNyZWF0ZUVtb3Rpb25Qcm9wcyIsICJJbnNlcnRpb24iLCAiX3JlZiIsICJ4IiwgImlzRGV2ZWxvcG1lbnQiLCAianN4IiwgImkiLCAia2V5ZnJhbWVzIiwgImUiLCAidCIsICJ2IiwgIngiLCAieSIsICJub2RlIiwgIl9yZWYiLCAiZ2V0Q29tcHV0ZWRTdHlsZSIsICJub2RlIiwgImdldENvbXB1dGVkU3R5bGUiLCAibm9kZSIsICJjc3MiLCAiZ2V0Q29tcHV0ZWRTdHlsZSIsICIkIiwgIngiLCAieSIsICJvcHRpb25zIiwgImUiLCAiX3JlZiIsICJfIiwgIm5vb3AiLCAicHJlZml4IiwgInN0YXRlIiwgImkiLCAiY2xlYW5WYWx1ZSIsICJjbGVhbkNvbW1vblByb3BzIiwgImdldFN0eWxlUHJvcHMiLCAidCIsICJiIiwgImMiLCAiZCIsICJlIiwgInciLCAicmVtb3ZlUHJvcHMiLCAiX3JlZiIsICJfcmVmMiIsICJjb250cm9sSGVpZ2h0IiwgImNvZXJjZVBsYWNlbWVudCIsICJwIiwgIm1lbnVDU1MiLCAiX29iamVjdFNwcmVhZDIiLCAiYm9yZGVyUmFkaXVzIiwgInNwYWNpbmciLCAiY29sb3JzIiwgIk1lbnVQbGFjZXIiLCAieCIsICJBIiwgImgiLCAic3RhdGUiLCAiTWVudSIsICJtZW51TGlzdENTUyIsICJiYXNlVW5pdCIsICJNZW51TGlzdCIsICJub3RpY2VDU1MiLCAiTm9PcHRpb25zTWVzc2FnZSIsICJMb2FkaW5nTWVzc2FnZSIsICJtZW51UG9ydGFsQ1NTIiwgIm9mZnNldCIsICJwb3NpdGlvbiIsICJNZW51UG9ydGFsIiwgIlQiLCAicSIsICJQIiwgImNvbnRhaW5lckNTUyIsICJTZWxlY3RDb250YWluZXIiLCAidmFsdWVDb250YWluZXJDU1MiLCAiVmFsdWVDb250YWluZXIiLCAiaW5kaWNhdG9yc0NvbnRhaW5lckNTUyIsICJJbmRpY2F0b3JzQ29udGFpbmVyIiwgIlN2ZyIsICJzaXplIiwgIkNyb3NzSWNvbiIsICJEb3duQ2hldnJvbiIsICJiYXNlQ1NTIiwgIkRyb3Bkb3duSW5kaWNhdG9yIiwgIkNsZWFySW5kaWNhdG9yIiwgImluZGljYXRvclNlcGFyYXRvckNTUyIsICJJbmRpY2F0b3JTZXBhcmF0b3IiLCAibG9hZGluZ0luZGljYXRvckNTUyIsICJMb2FkaW5nRG90IiwgIkxvYWRpbmdJbmRpY2F0b3IiLCAiY3NzIiwgIkNvbnRyb2wiLCAiZ3JvdXBDU1MiLCAiR3JvdXAiLCAiZ3JvdXBIZWFkaW5nQ1NTIiwgIkdyb3VwSGVhZGluZyIsICJfZXhjbHVkZWQiLCAiaW5wdXRDU1MiLCAiaW5wdXRTdHlsZSIsICJJbnB1dCIsICJtdWx0aVZhbHVlQ1NTIiwgIm11bHRpVmFsdWVMYWJlbENTUyIsICJtdWx0aVZhbHVlUmVtb3ZlQ1NTIiwgIk11bHRpVmFsdWVHZW5lcmljIiwgIk11bHRpVmFsdWUiLCAiY29tcG9uZW50cyIsICJvcHRpb25DU1MiLCAiT3B0aW9uIiwgInBsYWNlaG9sZGVyQ1NTIiwgIlBsYWNlaG9sZGVyIiwgIlNpbmdsZVZhbHVlIiwgImRlZmF1bHRDb21wb25lbnRzIiwgImkiLCAiaXNFcXVhbCIsICJBMTF5VGV4dCIsICJvcHRpb25zIiwgImlzQXBwbGVEZXZpY2UiLCAiZ2V0QXJyYXlJbmRleCIsICJkaXNhYmxlZCIsICJMaXZlUmVnaW9uIiwgImdldE9wdGlvbkxhYmVsIiwgImlzT3B0aW9uRGlzYWJsZWQiLCAic2NyZWVuUmVhZGVyU3RhdHVzIiwgIlQiLCAiYXNPcHRpb24iLCAiZCIsICJpIiwgImoiLCAic3RyaXBEaWFjcml0aWNzIiwgIm1hdGNoIiwgInRyaW1TdHJpbmciLCAiZGVmYXVsdFN0cmluZ2lmeSIsICJjcmVhdGVGaWx0ZXIiLCAiY29uZmlnIiwgInN0cmluZ2lmeSIsICJ0cmltIiwgImlucHV0IiwgIl9leGNsdWRlZCIsICJfcmVmIiwgImNhbmNlbFNjcm9sbCIsICJBIiwgInEiLCAieSIsICJlIiwgImJsdXJTZWxlY3RJbnB1dCIsICJ0YXJnZXRSZWYiLCAiX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX18iLCAiX3JlZjIiLCAiUmVxdWlyZWRJbnB1dCIsICJvbkZvY3VzIiwgIm9uQ2hhbmdlIiwgImZvcm1hdEdyb3VwTGFiZWwiLCAiY3NzIiwgIl9yZWYiLCAiaW5kZXgiLCAiZ2V0T3B0aW9uTGFiZWwiLCAiZ2V0T3B0aW9uVmFsdWUiLCAiY2F0ZWdvcml6ZWRPcHRpb24iLCAic3RhdGUiLCAib3B0aW9ucyIsICJnZXRGb2N1c2VkT3B0aW9uSWQiLCAiaSIsICJzaG91bGRIaWRlU2VsZWN0ZWRPcHRpb25zIiwgIlNlbGVjdCIsICJvbkNoYW5nZSIsICJjdXN0b20iLCAiX3JlZjIiLCAiZSIsICJpc0NsZWFyYWJsZSIsICJpc09wdGlvbkRpc2FibGVkIiwgImZvcm1hdEdyb3VwTGFiZWwiLCAiSW5wdXQiLCAiTXVsdGlWYWx1ZSIsICJNdWx0aVZhbHVlQ29udGFpbmVyIiwgIk11bHRpVmFsdWVMYWJlbCIsICJNdWx0aVZhbHVlUmVtb3ZlIiwgIlNpbmdsZVZhbHVlIiwgIlBsYWNlaG9sZGVyIiwgIm9wdCIsICJDbGVhckluZGljYXRvciIsICJMb2FkaW5nSW5kaWNhdG9yIiwgIkRyb3Bkb3duSW5kaWNhdG9yIiwgIkluZGljYXRvclNlcGFyYXRvciIsICJHcm91cCIsICJHcm91cEhlYWRpbmciLCAiTWVudSIsICJNZW51TGlzdCIsICJNZW51UG9ydGFsIiwgIkxvYWRpbmdNZXNzYWdlIiwgIk5vT3B0aW9uc01lc3NhZ2UiLCAiT3B0aW9uIiwgImxvYWRpbmdNZXNzYWdlIiwgIm5vT3B0aW9uc01lc3NhZ2UiLCAicmVuZGVyIiwgImRlbGltaXRlciIsICJpbnB1dCIsICJDb250cm9sIiwgIkluZGljYXRvcnNDb250YWluZXIiLCAiU2VsZWN0Q29udGFpbmVyIiwgIlZhbHVlQ29udGFpbmVyIiwgInciLCAic3RhdGUiLCAib25DaGFuZ2UiLCAidSIsICJBIiwgInkiLCAiZSIsICJ1IiwgImNvbmZpZyIsICJzdGF0ZSIsICJUIiwgInIiLCAiaSIsICJfYSIsICJ1IiwgInRleHQiLCAidHJpbSIsICJtYXRjaCIsICJsIiwgIngiLCAidCIsICJZYW1sQ29udmVyc2lvbiIsICJsaW5lIiwgIm9uQ2hhbmdlIiwgIngiLCAicSIsICJ0ZXh0IiwgImluaXRpYWwiLCAiVCIsICJwIiwgInMiLCAic3RhdGUiLCAiQSIsICJ1IiwgInkiLCAiY29uZmlnIiwgIm9uQ2hhbmdlIiwgIngiLCAibyIsICJ2IiwgImUiLCAidGV4dCIsICJpbmxpbmUiLCAiaCIsICJ4IiwgInUiLCAiaW5kZXgiLCAidSIsICJUIiwgIngiLCAiYSIsICJoIiwgImNvbXBsZXRlZFJlZiIsICJBIiwgImMiLCAiZSIsICJmIiwgIl9hIiwgInYiLCAiVCIsICJ1IiwgImkiLCAicCIsICJoIiwgInEiLCAicGFnZSIsICJ4IiwgImlucHV0IiwgIm1pbiIsICJtYXgiLCAiXyIsICJub29wIiwgImUiLCAiYSIsICJ0IiwgInIiLCAibyIsICJjIiwgInkiLCAiX3JlZiIsICJvbkNoYW5nZSIsICJjc3MiLCAiaSIsICJzaXplIiwgImFycmF5IiwgIm5vZGUiLCAic3R5bGVzIiwgInRyYW5zZm9ybSIsICJfcmVmMiIsICJzIiwgImZuIiwgInByZWZpeCIsICJiaW5kSW50ZXJuYWw0IiwgImIiLCAiZCIsICJsZW5ndGgiLCAic3RyaW5nIiwgImNvdW50ZXIiLCAiaW5kZXgiLCAiaWNvbiIsICJrIiwgInBhcnNlIiwgIm9mZnNldCIsICJjb21tZW50IiwgIm9wdGlvbnMiLCAic3R5bGUiLCAicHJlZml4ZXMiLCAibmV4dCIsICJtYXNrIiwgInBvc2l0aW9uIiwgImNvbnRlbnQiLCAicmVwbGFjZSIsICJlbmQiLCAicHJvdmlkZXJzIiwgIm4iLCAib3duS2V5cyIsICJfb2JqZWN0U3ByZWFkMiIsICJpIiwgIl9kZWZpbmVQcm9wZXJ0eSIsICJfdHlwZW9mIiwgIm9iaiIsICJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsICJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCAiX3RvQ29uc3VtYWJsZUFycmF5IiwgIl9hcnJheVdpdGhvdXRIb2xlcyIsICJfaXRlcmFibGVUb0FycmF5IiwgIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsICJfbm9uSXRlcmFibGVTcHJlYWQiLCAiX2FycmF5TGlrZVRvQXJyYXkiLCAibyIsICJuIiwgImZsaXAiLCAic2l6ZSIsICJzdHJpbmciLCAibWF0Y2giLCAiX2V4Y2x1ZGVkIiwgInMiLCAiY29udmVydCIsICJjcmVhdGVFbGVtZW50IiwgIlBST0RVQ1RJT04iLCAiZSIsICJpY29uIiwgImRlZmF1bHRQcm9wcyIsICJ0cmFuc2Zvcm0iLCAiUHJvcFR5cGVzIiwgImEiLCAiYiIsICJpbmRleCIsICJBIiwgIlQiLCAidSIsICJjb2x1bW4iLCAiY29uZmlnIiwgIngiLCAidiIsICJyIiwgImljb24iLCAiaWNvbiIsICJ1IiwgIlQiLCAidSIsICJmIiwgImluZGV4IiwgInIiLCAiZW5kIiwgImUiLCAicyIsICJsIiwgImNvcHkiLCAiYSIsICJiIiwgInYiLCAieCIsICJpIiwgIm5leHQiLCAiRGF0YUFycmF5IiwgImZyb20iLCAiQ29lcmNlIiwgInN0cmluZyIsICJhcnJheSIsICJkZWZlcnJlZCIsICJiIiwgImxhbmd1YWdlIiwgImxpbmUiLCAidSIsICJiIiwgImlubGluZSIsICJoIiwgImUiLCAibWluIiwgIm1heCIsICJvcHRpb25zIiwgIm9uQ2hhbmdlIiwgInEiLCAieCIsICJUIiwgImEiLCAibiIsICJUcmVlVXRpbHMiLCAibm9kZSIsICJuIiwgImwiLCAiZW5kIiwgImluZGV4IiwgInNsaWNlIiwgImluaXRpYWwiLCAiYSIsICJiIiwgInQiLCAiciIsICJxIiwgInN0YXRlIiwgImsiLCAiVCIsICJwIiwgImNvbHVtbiIsICJ4IiwgInUiLCAiY29uZmlnIiwgImkiLCAidiIsICJ5IiwgIkEiLCAiQ29udGV4dCIsICJzIiwgIl9hIiwgImFwaSIsICJoIiwgInEiLCAicCIsICJUIiwgInkiLCAieCIsICJBIiwgImlubGluZSIsICJ1IiwgImVuZCIsICJlIiwgImlucHV0IiwgInByb2Nlc3MiLCAiUGFyc2ltbW9uIiwgImUiLCAiaW5wdXQiLCAiaW1wb3J0X29ic2lkaWFuIiwgInByZWZpeCIsICJCVHJlZSIsICJhIiwgImIiLCAiYSIsICJiIiwgImMiLCAieCIsICJjIiwgInNlbGYiLCAiayIsICJwIiwgImluZGV4IiwgIkZ1bmN0aW9ucyIsICJEZWZhdWx0RnVuY3Rpb25zIiwgIl8iLCAiYSIsICJ0IiwgImQiLCAiZSIsICJfbiIsICJsIiwgImxpbmsiLCAicGFyc2VkRGF0ZSIsICJmIiwgIm1hdGNoIiwgImRhdGUiLCAibiIsICJiIiwgInYiLCAib2JqZWN0IiwgImxpc3QiLCAicyIsICJzdHIiLCAic3RyaW5nIiwgImVuZCIsICJsZW5ndGgiLCAiYXJyYXkiLCAiZnVuY3Rpb25zIiwgInMiLCAiYSIsICJiIiwgImFyZ3MiLCAicmVzb2x2ZWQiLCAiZSIsICJWYXJpYWJsZXMiLCAiZm9sZGVkIiwgImYiLCAiRmlsdGVyVHJlZXMiLCAiZmlsdGVyIiwgImEiLCAiaW5kZXgiLCAiaWQiLCAibG9jYWxmb3JhZ2UiLCAiayIsICJXb3JrZXIiLCAiaW1wb3J0X29ic2lkaWFuIiwgIm5vdyIsICJXb3JrZXIiLCAiaW1wb3J0X29ic2lkaWFuIiwgInNpemUiLCAiaW1wb3J0X3F1ZXVlIiwgImltcG9ydF9vYnNpZGlhbiIsICJ4IiwgInMiLCAibCIsICJmIiwgImEiLCAicmVzdWx0IiwgInN0b3JlIiwgIm5leHQiLCAiaW1wb3J0X29ic2lkaWFuIiwgImltcG9ydF9vYnNpZGlhbiIsICJ4IiwgIlQiLCAic3RhdGUiLCAiaCIsICJxIiwgInUiLCAiZSIsICJzIiwgInYiLCAib25DaGFuZ2UiLCAib3B0aW9ucyIsICJmIiwgImFwaSIsICJ1IiwgImNvbmZpZyIsICJ0ZXh0IiwgImUiXQp9Cg== +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vbm9kZV9tb2R1bGVzL3BhcnNpbW1vbi9idWlsZC9wYXJzaW1tb24udW1kLm1pbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvc2V0LWFycmF5L3NyYy9zZXQtYXJyYXkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3NvdXJjZW1hcC1jb2RlYy9zcmMvdmxxLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC9zb3VyY2VtYXAtY29kZWMvc3JjL3N0cmluZ3MudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3NvdXJjZW1hcC1jb2RlYy9zcmMvc2NvcGVzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC9zb3VyY2VtYXAtY29kZWMvc3JjL3NvdXJjZW1hcC1jb2RlYy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvcmVzb2x2ZS11cmkvc3JjL3Jlc29sdmUtdXJpLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC90cmFjZS1tYXBwaW5nL3NyYy9yZXNvbHZlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC90cmFjZS1tYXBwaW5nL3NyYy9zdHJpcC1maWxlbmFtZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvdHJhY2UtbWFwcGluZy9zcmMvc291cmNlbWFwLXNlZ21lbnQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3RyYWNlLW1hcHBpbmcvc3JjL3NvcnQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3RyYWNlLW1hcHBpbmcvc3JjL2JpbmFyeS1zZWFyY2gudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3RyYWNlLW1hcHBpbmcvc3JjL2J5LXNvdXJjZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvdHJhY2UtbWFwcGluZy9zcmMvYW55LW1hcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvdHJhY2UtbWFwcGluZy9zcmMvdHJhY2UtbWFwcGluZy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvZ2VuLW1hcHBpbmcvc3JjL3NvdXJjZW1hcC1zZWdtZW50LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AanJpZGdld2VsbC9nZW4tbWFwcGluZy9zcmMvZ2VuLW1hcHBpbmcudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3RzLWludGVyZmFjZS1jaGVja2VyL2Rpc3QvdXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvdHMtaW50ZXJmYWNlLWNoZWNrZXIvZGlzdC90eXBlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvdHMtaW50ZXJmYWNlLWNoZWNrZXIvZGlzdC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbGluZXMtYW5kLWNvbHVtbnMvYnVpbGQvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LWlzL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QtaXMvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzL2Rpc3QvaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MuY2pzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvaGFzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2NoZWNrUHJvcFR5cGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zb3J0ZWQtYnRyZWUvYit0cmVlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sb2NhbGZvcmFnZS9kaXN0L2xvY2FsZm9yYWdlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AZGF0YXN0cnVjdHVyZXMtanMvcXVldWUvc3JjL3F1ZXVlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AZGF0YXN0cnVjdHVyZXMtanMvcXVldWUvaW5kZXguanMiLCAiLi4vLi4vc3JjL21haW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9sdXhvbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2Vycm9ycy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvdXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZW5nbGlzaC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0dGVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9pbnZhbGlkLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL3N5c3RlbVpvbmUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy96b25lcy9JQU5BWm9uZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL2ludmFsaWRab25lLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC96b25lVXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3NldHRpbmdzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9sb2NhbGUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL3JlZ2V4UGFyc2VyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvZHVyYXRpb24uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbnRlcnZhbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2luZm8uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2RpZmYuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2RpZ2l0cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvdG9rZW5QYXJzZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2NvbnZlcnNpb25zLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvZGF0ZXRpbWUuanMiLCAiLi4vLi4vc3JjL3V0aWxzL25vcm1hbGl6ZXJzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9lbW9qaS1yZWdleC9pbmRleC5tanMiLCAiLi4vLi4vc3JjL2V4cHJlc3Npb24vbGluay50cyIsICIuLi8uLi9zcmMvZXhwcmVzc2lvbi9wYXJzZXIudHMiLCAiLi4vLi4vc3JjL2V4cHJlc3Npb24vbGl0ZXJhbC50cyIsICIuLi8uLi9zcmMvYXBpL3Jlc3VsdC50cyIsICIuLi8uLi9zcmMvZXhwcmVzc2lvbi9maWx0ZXJzLnRzIiwgIi4uLy4uL3NyYy9leHByZXNzaW9uL2V4cHJlc3Npb24udHMiLCAiLi4vLi4vc3JjL3VpL21hcmtkb3duLnRzeCIsICIuLi8uLi9zcmMvdXRpbHMvbWVkaWEudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvY29uc3RhbnRzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3Qvc3JjL3V0aWwuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvb3B0aW9ucy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jcmVhdGUtZWxlbWVudC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jb21wb25lbnQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvZGlmZi9wcm9wcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jcmVhdGUtY29udGV4dC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9kaWZmL2NoaWxkcmVuLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3Qvc3JjL2RpZmYvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvcmVuZGVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3Qvc3JjL2Nsb25lLWVsZW1lbnQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9zcmMvZGlmZi9jYXRjaC1lcnJvci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2hvb2tzL3NyYy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvdXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvUHVyZUNvbXBvbmVudC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvbWVtby5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvZm9yd2FyZFJlZi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvQ2hpbGRyZW4uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9jb21wYXQvc3JjL3N1c3BlbnNlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L3NyYy9zdXNwZW5zZS1saXN0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3Qvc3JjL2NvbnN0YW50cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvcG9ydGFscy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2NvbXBhdC9zcmMvcmVuZGVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L3NyYy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L2pzeC1ydW50aW1lL3NyYy91dGlscy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJlYWN0L3NyYy9jb25zdGFudHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9qc3gtcnVudGltZS9zcmMvaW5kZXguanMiLCAiLi4vLi4vc3JjL2FwaS91aS9lbWJlZC50c3giLCAiLi4vLi4vc3JjL3VpL2phdmFzY3JpcHQudHN4IiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90b2tlbml6ZXIva2V5d29yZHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3Rva2VuaXplci90eXBlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvdG9rZW5pemVyL3N0YXRlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci91dGlsL2NoYXJjb2Rlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvdHJhdmVyc2VyL2Jhc2UuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3RyYXZlcnNlci91dGlsLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci91dGlsL3doaXRlc3BhY2UuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3V0aWwvaWRlbnRpZmllci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvdG9rZW5pemVyL3JlYWRXb3JkVHJlZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvdG9rZW5pemVyL3JlYWRXb3JkLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90b2tlbml6ZXIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdXRpbC9nZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci9wbHVnaW5zL2pzeC94aHRtbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2dldEpTWFByYWdtYUluZm8uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdHJhbnNmb3JtZXJzL1RyYW5zZm9ybWVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3RyYW5zZm9ybWVycy9KU1hUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2dldE5vblR5cGVJZGVudGlmaWVycy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9DSlNJbXBvcnRQcm9jZXNzb3IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vY29tcHV0ZVNvdXJjZU1hcC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9IZWxwZXJNYW5hZ2VyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL2lkZW50aWZ5U2hhZG93ZWRHbG9iYWxzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvZ2V0SWRlbnRpZmllck5hbWVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL05hbWVNYW5hZ2VyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL09wdGlvbnMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vT3B0aW9ucy1nZW4tdHlwZXMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3RyYXZlcnNlci9sdmFsLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci9wbHVnaW5zL3R5cGVzY3JpcHQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL3BsdWdpbnMvanN4L2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci9wbHVnaW5zL3R5cGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90cmF2ZXJzZXIvZXhwcmVzc2lvbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9wYXJzZXIvcGx1Z2lucy9mbG93LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90cmF2ZXJzZXIvc3RhdGVtZW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3BhcnNlci90cmF2ZXJzZXIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vcGFyc2VyL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvaXNBc3luY09wZXJhdGlvbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9Ub2tlblByb2Nlc3Nvci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2dldENsYXNzSW5mby5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2VsaWRlSW1wb3J0RXF1YWxzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvZ2V0RGVjbGFyYXRpb25JbmZvLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvaXNFeHBvcnRGcm9tLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvcmVtb3ZlTWF5YmVJbXBvcnRBdHRyaWJ1dGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvc2hvdWxkRWxpZGVEZWZhdWx0RXhwb3J0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3RyYW5zZm9ybWVycy9DSlNJbXBvcnRUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvRVNNSW1wb3J0VHJhbnNmb3JtZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdHJhbnNmb3JtZXJzL0Zsb3dUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvSmVzdEhvaXN0VHJhbnNmb3JtZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdHJhbnNmb3JtZXJzL051bWVyaWNTZXBhcmF0b3JUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvT3B0aW9uYWxDYXRjaEJpbmRpbmdUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvT3B0aW9uYWxDaGFpbmluZ051bGxpc2hUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS90cmFuc2Zvcm1lcnMvUmVhY3REaXNwbGF5TmFtZVRyYW5zZm9ybWVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3RyYW5zZm9ybWVycy9SZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3V0aWwvaXNJZGVudGlmaWVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdWNyYXNlL2Rpc3QvZXNtL3RyYW5zZm9ybWVycy9UeXBlU2NyaXB0VHJhbnNmb3JtZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N1Y3Jhc2UvZGlzdC9lc20vdHJhbnNmb3JtZXJzL1Jvb3RUcmFuc2Zvcm1lci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2Zvcm1hdFRva2Vucy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS91dGlsL2dldFRTSW1wb3J0ZWROYW1lcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3VjcmFzZS9kaXN0L2VzbS9pbmRleC5qcyIsICIuLi8uLi9zcmMvdXRpbHMvamF2YXNjcmlwdC50cyIsICIuLi8uLi9zcmMvdWkvaG9va3MudHMiLCAiLi4vLi4vc3JjL3VpL2xvYWRpbmctYm91bmRhcnkudHN4IiwgIi4uLy4uL3NyYy9hcGkvdWkvbGF5b3V0LnRzeCIsICIuLi8uLi9zcmMvYXBpL3VpL2Jhc2ljcy50c3giLCAiLi4vLi4vc3JjL2luZGV4L3R5cGVzL2luZGV4YWJsZS50cyIsICIuLi8uLi9zcmMvZXhwcmVzc2lvbi9maWVsZC50cyIsICIuLi8uLi9zcmMvaW5kZXgvaW1wb3J0L2lubGluZS1maWVsZC50cyIsICIuLi8uLi9zcmMvdXRpbHMvZGF0YS50cyIsICIuLi8uLi9zcmMvaW5kZXgvdHlwZXMvanNvbi9jb21tb24udHMiLCAiLi4vLi4vc3JjL2luZGV4L3R5cGVzL21hcmtkb3duLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvUHJpbWl0aXZlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b1Byb3BlcnR5S2V5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRoSG9sZXMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2l0ZXJhYmxlVG9BcnJheUxpbWl0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheUxpa2VUb0FycmF5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVSZXN0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zbGljZWRUb0FycmF5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3Qtc2VsZWN0L2Rpc3QvdXNlU3RhdGVNYW5hZ2VyLTdlMWU4NDg5LmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY2xhc3NDYWxsQ2hlY2suanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zZXRQcm90b3R5cGVPZi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaW5oZXJpdHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2dldFByb3RvdHlwZU9mLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcG9zc2libGVDb25zdHJ1Y3RvclJldHVybi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY3JlYXRlU3VwZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FycmF5V2l0aG91dEhvbGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pdGVyYWJsZVRvQXJyYXkuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL25vbkl0ZXJhYmxlU3ByZWFkLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b0NvbnN1bWFibGVBcnJheS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vc2hlZXQvZGlzdC9lbW90aW9uLXNoZWV0LmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9FbnVtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1V0aWxpdHkuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxpcy9zcmMvVG9rZW5pemVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL1BhcnNlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGlzL3NyYy9TZXJpYWxpemVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdHlsaXMvc3JjL01pZGRsZXdhcmUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL21lbW9pemUvZGlzdC9lbW90aW9uLW1lbW9pemUuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9jYWNoZS9kaXN0L2Vtb3Rpb24tY2FjaGUuYnJvd3Nlci5lc20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3V0aWxzL2Rpc3QvZW1vdGlvbi11dGlscy5icm93c2VyLmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vaGFzaC9kaXN0L2Vtb3Rpb24taGFzaC5lc20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3VuaXRsZXNzL2Rpc3QvZW1vdGlvbi11bml0bGVzcy5lc20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL3NlcmlhbGl6ZS9kaXN0L2Vtb3Rpb24tc2VyaWFsaXplLmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vdXNlLWluc2VydGlvbi1lZmZlY3Qtd2l0aC1mYWxsYmFja3MvZGlzdC9lbW90aW9uLXVzZS1pbnNlcnRpb24tZWZmZWN0LXdpdGgtZmFsbGJhY2tzLmJyb3dzZXIuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9yZWFjdC9kaXN0L2Vtb3Rpb24tZWxlbWVudC01NDg2YzUxYy5icm93c2VyLmVzbS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vcmVhY3QvZGlzdC9lbW90aW9uLXJlYWN0LmJyb3dzZXIuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90YWdnZWRUZW1wbGF0ZUxpdGVyYWwuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS91dGlscy9kaXN0L2Zsb2F0aW5nLXVpLnV0aWxzLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL3V0aWxzL2Rpc3QvZmxvYXRpbmctdWkudXRpbHMuZG9tLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2RvbS9kaXN0L2Zsb2F0aW5nLXVpLmRvbS5tanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3VzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QvZGlzdC91c2UtaXNvbW9ycGhpYy1sYXlvdXQtZWZmZWN0LmJyb3dzZXIuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9pbmRleC1hMzAxZjUyNi5lc20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21lbW9pemUtb25lL2Rpc3QvbWVtb2l6ZS1vbmUuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9TZWxlY3QtMWZkNTg4YzkuZXNtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QvZGlzdC9yZWFjdC1zZWxlY3QuZXNtLmpzIiwgIi4uLy4uL3NyYy91aS9maWVsZHMvYm9vbGVhbi1maWVsZC50c3giLCAiLi4vLi4vc3JjL3VpL2ZpZWxkcy9wcm9ncmVzcy1maWVsZC50c3giLCAiLi4vLi4vc3JjL3VpL2ZpZWxkcy9yYXRpbmcudHN4IiwgIi4uLy4uL3NyYy91dGlscy90YXNrLnRzIiwgIi4uLy4uL3NyYy9pbmRleC90eXBlcy95YW1sLnRzIiwgIi4uLy4uL3NyYy9pbmRleC9lZGl0L2ZpZWxkLnRzIiwgIi4uLy4uL3NyYy91dGlscy9maWVsZHMudHMiLCAiLi4vLi4vc3JjL3VpL2ZpZWxkcy9lZGl0YWJsZS50c3giLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9saXN0LnRzeCIsICIuLi8uLi9zcmMvYXBpL3VpL3ZpZXdzL3Rhc2sudHN4IiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvcGFnaW5nLnRzeCIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zL2luZGV4Lm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlL2luZGV4Lm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lL2luZGV4LmVzLmpzIiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvdGFibGUudHN4IiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvY2FsbG91dC50c3giLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9jYXJkcy50c3giLCAiLi4vLi4vc3JjL2FwaS9kYXRhLWFycmF5LnRzIiwgIi4uLy4uL3NyYy9hcGkvY29lcmNlLnRzIiwgIi4uLy4uL3NyYy91dGlscy9kZWZlcnJlZC50cyIsICIuLi8uLi9zcmMvYXBpL3NjcmlwdC1jYWNoZS50cyIsICIuLi8uLi9zcmMvdWkvZmllbGRzL2VkaXRhYmxlLWZpZWxkcy50c3giLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy90cmVlLXRhYmxlLnRzeCIsICIuLi8uLi9zcmMvYXBpL2xvY2FsLWFwaS50c3giLCAiLi4vLi4vc3JjL2FwaS9hcGkudHMiLCAiLi4vLi4vc3JjL2luZGV4L3N0b3JhZ2UvZm9sZGVyLnRzIiwgIi4uLy4uL3NyYy9pbmRleC9zdG9yYWdlL2ludmVydGVkLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mbGF0cXVldWUvaW5kZXguanMiLCAiLi4vLi4vc3JjL2luZGV4L3N0b3JhZ2UvZmllbGRzLnRzIiwgIi4uLy4uL3NyYy9leHByZXNzaW9uL2JpbmFyeW9wLnRzIiwgIi4uLy4uL3NyYy9leHByZXNzaW9uL2Z1bmN0aW9ucy50cyIsICIuLi8uLi9zcmMvZXhwcmVzc2lvbi9ldmFsdWF0b3IudHMiLCAiLi4vLi4vc3JjL2luZGV4L3N0b3JhZ2UvcXVlcnktZXhlY3V0b3IudHMiLCAiLi4vLi4vc3JjL2luZGV4L2RhdGFzdG9yZS50cyIsICIuLi8uLi9zcmMvaW5kZXgvcGVyc2lzdGVyLnRzIiwgImlubGluZS13b3JrZXI6X19pbmxpbmUtd29ya2VyIiwgIi4uLy4uL3NyYy9pbmRleC93ZWItd29ya2VyL2ltcG9ydGVyLndvcmtlci50cyIsICIuLi8uLi9zcmMvaW5kZXgvd2ViLXdvcmtlci9pbXBvcnRlci50cyIsICIuLi8uLi9zcmMvaW5kZXgvZGF0YWNvcmUudHMiLCAiLi4vLi4vc3JjL2luZGV4L3R5cGVzL2ZpbGVzLnRzIiwgIi4uLy4uL3NyYy9pbmRleC9lbWJlZC1xdWV1ZS50cyIsICIuLi8uLi9zcmMvaW5kZXgvdHlwZXMvY2FudmFzLnRzIiwgIi4uLy4uL3NyYy9zZXR0aW5ncy50cyIsICIuLi8uLi9zcmMvdWkvdmlldy1wYWdlLnRzeCIsICIuLi8uLi9zcmMvdWkvaW5kZXgtc3RhdHVzLnRzeCJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiIWZ1bmN0aW9uKG4sdCl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5QYXJzaW1tb249dCgpOm4uUGFyc2ltbW9uPXQoKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciB0PXt9O2Z1bmN0aW9uIHIoZSl7aWYodFtlXSlyZXR1cm4gdFtlXS5leHBvcnRzO3ZhciB1PXRbZV09e2k6ZSxsOiExLGV4cG9ydHM6e319O3JldHVybiBuW2VdLmNhbGwodS5leHBvcnRzLHUsdS5leHBvcnRzLHIpLHUubD0hMCx1LmV4cG9ydHN9cmV0dXJuIHIubT1uLHIuYz10LHIuZD1mdW5jdGlvbihuLHQsZSl7ci5vKG4sdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHQse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiEwLGdldDplfSl9LHIucj1mdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkobixcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KX0sci5uPWZ1bmN0aW9uKG4pe3ZhciB0PW4mJm4uX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBuLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIG59O3JldHVybiByLmQodCxcImFcIix0KSx0fSxyLm89ZnVuY3Rpb24obix0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCl9LHIucD1cIlwiLHIoci5zPTApfShbZnVuY3Rpb24obix0LHIpe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGUobil7aWYoISh0aGlzIGluc3RhbmNlb2YgZSkpcmV0dXJuIG5ldyBlKG4pO3RoaXMuXz1ufXZhciB1PWUucHJvdG90eXBlO2Z1bmN0aW9uIG8obix0KXtmb3IodmFyIHI9MDtyPG47cisrKXQocil9ZnVuY3Rpb24gaShuLHQscil7cmV0dXJuIGZ1bmN0aW9uKG4sdCl7byh0Lmxlbmd0aCxmdW5jdGlvbihyKXtuKHRbcl0scix0KX0pfShmdW5jdGlvbihyLGUsdSl7dD1uKHQscixlLHUpfSxyKSx0fWZ1bmN0aW9uIGEobix0KXtyZXR1cm4gaShmdW5jdGlvbih0LHIsZSx1KXtyZXR1cm4gdC5jb25jYXQoW24ocixlLHUpXSl9LFtdLHQpfWZ1bmN0aW9uIGYobix0KXt2YXIgcj17djowLGJ1Zjp0fTtyZXR1cm4gbyhuLGZ1bmN0aW9uKCl7dmFyIG47cj17djpyLnY8PDF8KG49ci5idWYsblswXT4+NyksYnVmOmZ1bmN0aW9uKG4pe3ZhciB0PWkoZnVuY3Rpb24obix0LHIsZSl7cmV0dXJuIG4uY29uY2F0KHI9PT1lLmxlbmd0aC0xP0J1ZmZlci5mcm9tKFt0LDBdKS5yZWFkVUludDE2QkUoMCk6ZS5yZWFkVUludDE2QkUocikpfSxbXSxuKTtyZXR1cm4gQnVmZmVyLmZyb20oYShmdW5jdGlvbihuKXtyZXR1cm4objw8MSY2NTUzNSk+Pjh9LHQpKX0oci5idWYpfX0pLHJ9ZnVuY3Rpb24gYygpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBCdWZmZXJ9ZnVuY3Rpb24gcygpe2lmKCFjKCkpdGhyb3cgbmV3IEVycm9yKFwiQnVmZmVyIGdsb2JhbCBkb2VzIG5vdCBleGlzdDsgcGxlYXNlIHVzZSB3ZWJwYWNrIGlmIHlvdSBuZWVkIHRvIHBhcnNlIEJ1ZmZlcnMgaW4gdGhlIGJyb3dzZXIuXCIpfWZ1bmN0aW9uIGwobil7cygpO3ZhciB0PWkoZnVuY3Rpb24obix0KXtyZXR1cm4gbit0fSwwLG4pO2lmKHQlOCE9MCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYml0cyBbXCIrbi5qb2luKFwiLCBcIikrXCJdIGFkZCB1cCB0byBcIit0K1wiIHdoaWNoIGlzIG5vdCBhbiBldmVuIG51bWJlciBvZiBieXRlczsgdGhlIHRvdGFsIHNob3VsZCBiZSBkaXZpc2libGUgYnkgOFwiKTt2YXIgcix1PXQvOCxvPShyPWZ1bmN0aW9uKG4pe3JldHVybiBuPjQ4fSxpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG58fChyKHQpP3Q6bil9LG51bGwsbikpO2lmKG8pdGhyb3cgbmV3IEVycm9yKG8rXCIgYml0IHJhbmdlIHJlcXVlc3RlZCBleGNlZWRzIDQ4IGJpdCAoNiBieXRlKSBOdW1iZXIgbWF4LlwiKTtyZXR1cm4gbmV3IGUoZnVuY3Rpb24odCxyKXt2YXIgZT11K3I7cmV0dXJuIGU+dC5sZW5ndGg/eChyLHUudG9TdHJpbmcoKStcIiBieXRlc1wiKTpiKGUsaShmdW5jdGlvbihuLHQpe3ZhciByPWYodCxuLmJ1Zik7cmV0dXJue2NvbGw6bi5jb2xsLmNvbmNhdChyLnYpLGJ1ZjpyLmJ1Zn19LHtjb2xsOltdLGJ1Zjp0LnNsaWNlKHIsZSl9LG4pLmNvbGwpfSl9ZnVuY3Rpb24gaChuLHQpe3JldHVybiBuZXcgZShmdW5jdGlvbihyLGUpe3JldHVybiBzKCksZSt0PnIubGVuZ3RoP3goZSx0K1wiIGJ5dGVzIGZvciBcIituKTpiKGUrdCxyLnNsaWNlKGUsZSt0KSl9KX1mdW5jdGlvbiBwKG4sdCl7aWYoXCJudW1iZXJcIiE9dHlwZW9mKHI9dCl8fE1hdGguZmxvb3IocikhPT1yfHx0PDB8fHQ+Nil0aHJvdyBuZXcgRXJyb3IobitcIiByZXF1aXJlcyBpbnRlZ2VyIGxlbmd0aCBpbiByYW5nZSBbMCwgNl0uXCIpO3ZhciByfWZ1bmN0aW9uIGQobil7cmV0dXJuIHAoXCJ1aW50QkVcIixuKSxoKFwidWludEJFKFwiK24rXCIpXCIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50QkUoMCxuKX0pfWZ1bmN0aW9uIHYobil7cmV0dXJuIHAoXCJ1aW50TEVcIixuKSxoKFwidWludExFKFwiK24rXCIpXCIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50TEUoMCxuKX0pfWZ1bmN0aW9uIGcobil7cmV0dXJuIHAoXCJpbnRCRVwiLG4pLGgoXCJpbnRCRShcIituK1wiKVwiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50QkUoMCxuKX0pfWZ1bmN0aW9uIG0obil7cmV0dXJuIHAoXCJpbnRMRVwiLG4pLGgoXCJpbnRMRShcIituK1wiKVwiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50TEUoMCxuKX0pfWZ1bmN0aW9uIHkobil7cmV0dXJuIG4gaW5zdGFuY2VvZiBlfWZ1bmN0aW9uIEUobil7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09e30udG9TdHJpbmcuY2FsbChuKX1mdW5jdGlvbiB3KG4pe3JldHVybiBjKCkmJkJ1ZmZlci5pc0J1ZmZlcihuKX1mdW5jdGlvbiBiKG4sdCl7cmV0dXJue3N0YXR1czohMCxpbmRleDpuLHZhbHVlOnQsZnVydGhlc3Q6LTEsZXhwZWN0ZWQ6W119fWZ1bmN0aW9uIHgobix0KXtyZXR1cm4gRSh0KXx8KHQ9W3RdKSx7c3RhdHVzOiExLGluZGV4Oi0xLHZhbHVlOm51bGwsZnVydGhlc3Q6bixleHBlY3RlZDp0fX1mdW5jdGlvbiBCKG4sdCl7aWYoIXQpcmV0dXJuIG47aWYobi5mdXJ0aGVzdD50LmZ1cnRoZXN0KXJldHVybiBuO3ZhciByPW4uZnVydGhlc3Q9PT10LmZ1cnRoZXN0P2Z1bmN0aW9uKG4sdCl7aWYoZnVuY3Rpb24oKXtpZih2b2lkIDAhPT1lLl9zdXBwb3J0c1NldClyZXR1cm4gZS5fc3VwcG9ydHNTZXQ7dmFyIG49XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFNldDtyZXR1cm4gZS5fc3VwcG9ydHNTZXQ9bixufSgpJiZBcnJheS5mcm9tKXtmb3IodmFyIHI9bmV3IFNldChuKSx1PTA7dTx0Lmxlbmd0aDt1Kyspci5hZGQodFt1XSk7dmFyIG89QXJyYXkuZnJvbShyKTtyZXR1cm4gby5zb3J0KCksb31mb3IodmFyIGk9e30sYT0wO2E8bi5sZW5ndGg7YSsrKWlbblthXV09ITA7Zm9yKHZhciBmPTA7Zjx0Lmxlbmd0aDtmKyspaVt0W2ZdXT0hMDt2YXIgYz1bXTtmb3IodmFyIHMgaW4gaSkoe30pLmhhc093blByb3BlcnR5LmNhbGwoaSxzKSYmYy5wdXNoKHMpO3JldHVybiBjLnNvcnQoKSxjfShuLmV4cGVjdGVkLHQuZXhwZWN0ZWQpOnQuZXhwZWN0ZWQ7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxpbmRleDpuLmluZGV4LHZhbHVlOm4udmFsdWUsZnVydGhlc3Q6dC5mdXJ0aGVzdCxleHBlY3RlZDpyfX12YXIgaj17fTtmdW5jdGlvbiBTKG4sdCl7aWYodyhuKSlyZXR1cm57b2Zmc2V0OnQsbGluZTotMSxjb2x1bW46LTF9O24gaW4ganx8KGpbbl09e30pO2Zvcih2YXIgcj1qW25dLGU9MCx1PTAsbz0wLGk9dDtpPj0wOyl7aWYoaSBpbiByKXtlPXJbaV0ubGluZSwwPT09byYmKG89cltpXS5saW5lU3RhcnQpO2JyZWFrfShcIlxcblwiPT09bi5jaGFyQXQoaSl8fFwiXFxyXCI9PT1uLmNoYXJBdChpKSYmXCJcXG5cIiE9PW4uY2hhckF0KGkrMSkpJiYodSsrLDA9PT1vJiYobz1pKzEpKSxpLS19dmFyIGE9ZSt1LGY9dC1vO3JldHVybiByW3RdPXtsaW5lOmEsbGluZVN0YXJ0Om99LHtvZmZzZXQ6dCxsaW5lOmErMSxjb2x1bW46ZisxfX1mdW5jdGlvbiBfKG4pe2lmKCF5KG4pKXRocm93IG5ldyBFcnJvcihcIm5vdCBhIHBhcnNlcjogXCIrbil9ZnVuY3Rpb24gTChuLHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBuP24uY2hhckF0KHQpOm5bdF19ZnVuY3Rpb24gTyhuKXtpZihcIm51bWJlclwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBudW1iZXI6IFwiK24pfWZ1bmN0aW9uIGsobil7aWYoXCJmdW5jdGlvblwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBmdW5jdGlvbjogXCIrbil9ZnVuY3Rpb24gUChuKXtpZihcInN0cmluZ1wiIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoXCJub3QgYSBzdHJpbmc6IFwiK24pfXZhciBxPTIsQT0zLEk9OCxGPTUqSSxNPTQqSSx6PVwiICBcIjtmdW5jdGlvbiBSKG4sdCl7cmV0dXJuIG5ldyBBcnJheSh0KzEpLmpvaW4obil9ZnVuY3Rpb24gVShuLHQscil7dmFyIGU9dC1uLmxlbmd0aDtyZXR1cm4gZTw9MD9uOlIocixlKStufWZ1bmN0aW9uIFcobix0LHIsZSl7cmV0dXJue2Zyb206bi10PjA/bi10OjAsdG86bityPmU/ZTpuK3J9fWZ1bmN0aW9uIEQobix0KXt2YXIgcixlLHUsbyxmLGM9dC5pbmRleCxzPWMub2Zmc2V0LGw9MTtpZihzPT09bi5sZW5ndGgpcmV0dXJuXCJHb3QgdGhlIGVuZCBvZiB0aGUgaW5wdXRcIjtpZih3KG4pKXt2YXIgaD1zLXMlSSxwPXMtaCxkPVcoaCxGLE0rSSxuLmxlbmd0aCksdj1hKGZ1bmN0aW9uKG4pe3JldHVybiBhKGZ1bmN0aW9uKG4pe3JldHVybiBVKG4udG9TdHJpbmcoMTYpLDIsXCIwXCIpfSxuKX0sZnVuY3Rpb24obix0KXt2YXIgcj1uLmxlbmd0aCxlPVtdLHU9MDtpZihyPD10KXJldHVybltuLnNsaWNlKCldO2Zvcih2YXIgbz0wO288cjtvKyspZVt1XXx8ZS5wdXNoKFtdKSxlW3VdLnB1c2gobltvXSksKG8rMSkldD09MCYmdSsrO3JldHVybiBlfShuLnNsaWNlKGQuZnJvbSxkLnRvKS50b0pTT04oKS5kYXRhLEkpKTtvPWZ1bmN0aW9uKG4pe3JldHVybiAwPT09bi5mcm9tJiYxPT09bi50bz97ZnJvbTpuLmZyb20sdG86bi50b306e2Zyb206bi5mcm9tL0ksdG86TWF0aC5mbG9vcihuLnRvL0kpfX0oZCksZT1oL0kscj0zKnAscD49NCYmKHIrPTEpLGw9Mix1PWEoZnVuY3Rpb24obil7cmV0dXJuIG4ubGVuZ3RoPD00P24uam9pbihcIiBcIik6bi5zbGljZSgwLDQpLmpvaW4oXCIgXCIpK1wiICBcIituLnNsaWNlKDQpLmpvaW4oXCIgXCIpfSx2KSwoZj0oOCooby50bz4wP28udG8tMTpvLnRvKSkudG9TdHJpbmcoMTYpLmxlbmd0aCk8MiYmKGY9Mil9ZWxzZXt2YXIgZz1uLnNwbGl0KC9cXHJcXG58W1xcblxcclxcdTIwMjhcXHUyMDI5XS8pO3I9Yy5jb2x1bW4tMSxlPWMubGluZS0xLG89VyhlLHEsQSxnLmxlbmd0aCksdT1nLnNsaWNlKG8uZnJvbSxvLnRvKSxmPW8udG8udG9TdHJpbmcoKS5sZW5ndGh9dmFyIG09ZS1vLmZyb207cmV0dXJuIHcobikmJihmPSg4KihvLnRvPjA/by50by0xOm8udG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoZj0yKSxpKGZ1bmN0aW9uKHQsZSx1KXt2YXIgaSxhPXU9PT1tLGM9YT9cIj4gXCI6ejtyZXR1cm4gaT13KG4pP1UoKDgqKG8uZnJvbSt1KSkudG9TdHJpbmcoMTYpLGYsXCIwXCIpOlUoKG8uZnJvbSt1KzEpLnRvU3RyaW5nKCksZixcIiBcIiksW10uY29uY2F0KHQsW2MraStcIiB8IFwiK2VdLGE/W3orUihcIiBcIixmKStcIiB8IFwiK1UoXCJcIixyLFwiIFwiKStSKFwiXlwiLGwpXTpbXSl9LFtdLHUpLmpvaW4oXCJcXG5cIil9ZnVuY3Rpb24gTihuLHQpe3JldHVybltcIlxcblwiLFwiLS0gUEFSU0lORyBGQUlMRUQgXCIrUihcIi1cIiw1MCksXCJcXG5cXG5cIixEKG4sdCksXCJcXG5cXG5cIiwocj10LmV4cGVjdGVkLDE9PT1yLmxlbmd0aD9cIkV4cGVjdGVkOlxcblxcblwiK3JbMF06XCJFeHBlY3RlZCBvbmUgb2YgdGhlIGZvbGxvd2luZzogXFxuXFxuXCIrci5qb2luKFwiLCBcIikpLFwiXFxuXCJdLmpvaW4oXCJcIik7dmFyIHJ9ZnVuY3Rpb24gRyhuKXtyZXR1cm4gdm9pZCAwIT09bi5mbGFncz9uLmZsYWdzOltuLmdsb2JhbD9cImdcIjpcIlwiLG4uaWdub3JlQ2FzZT9cImlcIjpcIlwiLG4ubXVsdGlsaW5lP1wibVwiOlwiXCIsbi51bmljb2RlP1widVwiOlwiXCIsbi5zdGlja3k/XCJ5XCI6XCJcIl0uam9pbihcIlwiKX1mdW5jdGlvbiBDKCl7Zm9yKHZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSx0PW4ubGVuZ3RoLHI9MDtyPHQ7cis9MSlfKG5bcl0pO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7Zm9yKHZhciB1LG89bmV3IEFycmF5KHQpLGk9MDtpPHQ7aSs9MSl7aWYoISh1PUIobltpXS5fKHIsZSksdSkpLnN0YXR1cylyZXR1cm4gdTtvW2ldPXUudmFsdWUsZT11LmluZGV4fXJldHVybiBCKGIoZSxvKSx1KX0pfWZ1bmN0aW9uIEooKXt2YXIgbj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoMD09PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihcInNlcU1hcCBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnRcIik7dmFyIHQ9bi5wb3AoKTtyZXR1cm4gayh0KSxDLmFwcGx5KG51bGwsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiB0LmFwcGx5KG51bGwsbil9KX1mdW5jdGlvbiBUKCl7dmFyIG49W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLHQ9bi5sZW5ndGg7aWYoMD09PXQpcmV0dXJuIFkoXCJ6ZXJvIGFsdGVybmF0ZXNcIik7Zm9yKHZhciByPTA7cjx0O3IrPTEpXyhuW3JdKTtyZXR1cm4gZShmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSx1PTA7dTxuLmxlbmd0aDt1Kz0xKWlmKChlPUIoblt1XS5fKHQsciksZSkpLnN0YXR1cylyZXR1cm4gZTtyZXR1cm4gZX0pfWZ1bmN0aW9uIFYobix0KXtyZXR1cm4gSChuLHQpLm9yKFgoW10pKX1mdW5jdGlvbiBIKG4sdCl7cmV0dXJuIF8obiksXyh0KSxKKG4sdC50aGVuKG4pLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybltuXS5jb25jYXQodCl9KX1mdW5jdGlvbiBLKG4pe1Aobik7dmFyIHQ9XCInXCIrbitcIidcIjtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PWUrbi5sZW5ndGgsbz1yLnNsaWNlKGUsdSk7cmV0dXJuIG89PT1uP2IodSxvKTp4KGUsdCl9KX1mdW5jdGlvbiBRKG4sdCl7IWZ1bmN0aW9uKG4pe2lmKCEobiBpbnN0YW5jZW9mIFJlZ0V4cCkpdGhyb3cgbmV3IEVycm9yKFwibm90IGEgcmVnZXhwOiBcIituKTtmb3IodmFyIHQ9RyhuKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBlPXQuY2hhckF0KHIpO2lmKFwiaVwiIT09ZSYmXCJtXCIhPT1lJiZcInVcIiE9PWUmJlwic1wiIT09ZSl0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHJlZ2V4cCBmbGFnIFwiJytlKydcIjogJytuKX19KG4pLGFyZ3VtZW50cy5sZW5ndGg+PTI/Tyh0KTp0PTA7dmFyIHI9ZnVuY3Rpb24obil7cmV0dXJuIFJlZ0V4cChcIl4oPzpcIituLnNvdXJjZStcIilcIixHKG4pKX0obiksdT1cIlwiK247cmV0dXJuIGUoZnVuY3Rpb24obixlKXt2YXIgbz1yLmV4ZWMobi5zbGljZShlKSk7aWYobyl7aWYoMDw9dCYmdDw9by5sZW5ndGgpe3ZhciBpPW9bMF0sYT1vW3RdO3JldHVybiBiKGUraS5sZW5ndGgsYSl9cmV0dXJuIHgoZSxcInZhbGlkIG1hdGNoIGdyb3VwICgwIHRvIFwiK28ubGVuZ3RoK1wiKSBpbiBcIit1KX1yZXR1cm4geChlLHUpfSl9ZnVuY3Rpb24gWChuKXtyZXR1cm4gZShmdW5jdGlvbih0LHIpe3JldHVybiBiKHIsbil9KX1mdW5jdGlvbiBZKG4pe3JldHVybiBlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHgocixuKX0pfWZ1bmN0aW9uIFoobil7aWYoeShuKSlyZXR1cm4gZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpO3JldHVybiBlLmluZGV4PXIsZS52YWx1ZT1cIlwiLGV9KTtpZihcInN0cmluZ1wiPT10eXBlb2YgbilyZXR1cm4gWihLKG4pKTtpZihuIGluc3RhbmNlb2YgUmVnRXhwKXJldHVybiBaKFEobikpO3Rocm93IG5ldyBFcnJvcihcIm5vdCBhIHN0cmluZywgcmVnZXhwLCBvciBwYXJzZXI6IFwiK24pfWZ1bmN0aW9uICQobil7cmV0dXJuIF8obiksZShmdW5jdGlvbih0LHIpe3ZhciBlPW4uXyh0LHIpLHU9dC5zbGljZShyLGUuaW5kZXgpO3JldHVybiBlLnN0YXR1cz94KHIsJ25vdCBcIicrdSsnXCInKTpiKHIsbnVsbCl9KX1mdW5jdGlvbiBubihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7dmFyIGU9TCh0LHIpO3JldHVybiByPHQubGVuZ3RoJiZuKGUpP2IocisxLGUpOngocixcImEgY2hhcmFjdGVyL2J5dGUgbWF0Y2hpbmcgXCIrbil9KX1mdW5jdGlvbiB0bihuLHQpe2FyZ3VtZW50cy5sZW5ndGg8MiYmKHQ9bixuPXZvaWQgMCk7dmFyIHI9ZShmdW5jdGlvbihuLGUpe3JldHVybiByLl89dCgpLl8sci5fKG4sZSl9KTtyZXR1cm4gbj9yLmRlc2Mobik6cn1mdW5jdGlvbiBybigpe3JldHVybiBZKFwiZmFudGFzeS1sYW5kL2VtcHR5XCIpfXUucGFyc2U9ZnVuY3Rpb24obil7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIG4mJiF3KG4pKXRocm93IG5ldyBFcnJvcihcIi5wYXJzZSBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3RyaW5nIG9yIEJ1ZmZlciBhcyBpdHMgYXJndW1lbnRcIik7dmFyIHQscj10aGlzLnNraXAoYW4pLl8obiwwKTtyZXR1cm4gdD1yLnN0YXR1cz97c3RhdHVzOiEwLHZhbHVlOnIudmFsdWV9OntzdGF0dXM6ITEsaW5kZXg6UyhuLHIuZnVydGhlc3QpLGV4cGVjdGVkOnIuZXhwZWN0ZWR9LGRlbGV0ZSBqW25dLHR9LHUudHJ5UGFyc2U9ZnVuY3Rpb24obil7dmFyIHQ9dGhpcy5wYXJzZShuKTtpZih0LnN0YXR1cylyZXR1cm4gdC52YWx1ZTt2YXIgcj1OKG4sdCksZT1uZXcgRXJyb3Iocik7dGhyb3cgZS50eXBlPVwiUGFyc2ltbW9uRXJyb3JcIixlLnJlc3VsdD10LGV9LHUuYXNzZXJ0PWZ1bmN0aW9uKG4sdCl7cmV0dXJuIHRoaXMuY2hhaW4oZnVuY3Rpb24ocil7cmV0dXJuIG4ocik/WChyKTpZKHQpfSl9LHUub3I9ZnVuY3Rpb24obil7cmV0dXJuIFQodGhpcyxuKX0sdS50cmltPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLndyYXAobixuKX0sdS53cmFwPWZ1bmN0aW9uKG4sdCl7cmV0dXJuIEoobix0aGlzLHQsZnVuY3Rpb24obix0KXtyZXR1cm4gdH0pfSx1LnRocnU9ZnVuY3Rpb24obil7cmV0dXJuIG4odGhpcyl9LHUudGhlbj1mdW5jdGlvbihuKXtyZXR1cm4gXyhuKSxDKHRoaXMsbikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSl9LHUubWFueT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9W10sdT12b2lkIDA7Oyl7aWYoISh1PUIobi5fKHQsciksdSkpLnN0YXR1cylyZXR1cm4gQihiKHIsZSksdSk7aWYocj09PXUuaW5kZXgpdGhyb3cgbmV3IEVycm9yKFwiaW5maW5pdGUgbG9vcCBkZXRlY3RlZCBpbiAubWFueSgpIHBhcnNlciAtLS0gY2FsbGluZyAubWFueSgpIG9uIGEgcGFyc2VyIHdoaWNoIGNhbiBhY2NlcHQgemVybyBjaGFyYWN0ZXJzIGlzIHVzdWFsbHkgdGhlIGNhdXNlXCIpO3I9dS5pbmRleCxlLnB1c2godS52YWx1ZSl9fSl9LHUudGllV2l0aD1mdW5jdGlvbihuKXtyZXR1cm4gUChuKSx0aGlzLm1hcChmdW5jdGlvbih0KXtpZihmdW5jdGlvbihuKXtpZighRShuKSl0aHJvdyBuZXcgRXJyb3IoXCJub3QgYW4gYXJyYXk6IFwiK24pfSh0KSx0Lmxlbmd0aCl7UCh0WzBdKTtmb3IodmFyIHI9dFswXSxlPTE7ZTx0Lmxlbmd0aDtlKyspUCh0W2VdKSxyKz1uK3RbZV07cmV0dXJuIHJ9cmV0dXJuXCJcIn0pfSx1LnRpZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpZVdpdGgoXCJcIil9LHUudGltZXM9ZnVuY3Rpb24obix0KXt2YXIgcj10aGlzO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDImJih0PW4pLE8obiksTyh0KSxlKGZ1bmN0aW9uKGUsdSl7Zm9yKHZhciBvPVtdLGk9dm9pZCAwLGE9dm9pZCAwLGY9MDtmPG47Zis9MSl7aWYoYT1CKGk9ci5fKGUsdSksYSksIWkuc3RhdHVzKXJldHVybiBhO3U9aS5pbmRleCxvLnB1c2goaS52YWx1ZSl9Zm9yKDtmPHQmJihhPUIoaT1yLl8oZSx1KSxhKSxpLnN0YXR1cyk7Zis9MSl1PWkuaW5kZXgsby5wdXNoKGkudmFsdWUpO3JldHVybiBCKGIodSxvKSxhKX0pfSx1LnJlc3VsdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbn0pfSx1LmF0TW9zdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy50aW1lcygwLG4pfSx1LmF0TGVhc3Q9ZnVuY3Rpb24obil7cmV0dXJuIEoodGhpcy50aW1lcyhuKSx0aGlzLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybiBuLmNvbmNhdCh0KX0pfSx1Lm1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10Ll8ocixlKTtyZXR1cm4gdS5zdGF0dXM/QihiKHUuaW5kZXgsbih1LnZhbHVlKSksdSk6dX0pfSx1LmNvbnRyYW1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10LnBhcnNlKG4oci5zbGljZShlKSkpO3JldHVybiB1LnN0YXR1cz9iKGUrci5sZW5ndGgsdS52YWx1ZSk6dX0pfSx1LnByb21hcD1mdW5jdGlvbihuLHQpe3JldHVybiBrKG4pLGsodCksdGhpcy5jb250cmFtYXAobikubWFwKHQpfSx1LnNraXA9ZnVuY3Rpb24obil7cmV0dXJuIEModGhpcyxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG5bMF19KX0sdS5tYXJrPWZ1bmN0aW9uKCl7cmV0dXJuIEooZW4sdGhpcyxlbixmdW5jdGlvbihuLHQscil7cmV0dXJue3N0YXJ0Om4sdmFsdWU6dCxlbmQ6cn19KX0sdS5ub2RlPWZ1bmN0aW9uKG4pe3JldHVybiBKKGVuLHRoaXMsZW4sZnVuY3Rpb24odCxyLGUpe3JldHVybntuYW1lOm4sdmFsdWU6cixzdGFydDp0LGVuZDplfX0pfSx1LnNlcEJ5PWZ1bmN0aW9uKG4pe3JldHVybiBWKHRoaXMsbil9LHUuc2VwQnkxPWZ1bmN0aW9uKG4pe3JldHVybiBIKHRoaXMsbil9LHUubG9va2FoZWFkPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnNraXAoWihuKSl9LHUubm90Rm9sbG93ZWRCeT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5za2lwKCQobikpfSx1LmRlc2M9ZnVuY3Rpb24obil7RShuKXx8KG49W25dKTt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzfHwodS5leHBlY3RlZD1uKSx1fSl9LHUuZmFsbGJhY2s9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMub3IoWChuKSl9LHUuYXA9ZnVuY3Rpb24obil7cmV0dXJuIEoobix0aGlzLGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4odCl9KX0sdS5jaGFpbj1mdW5jdGlvbihuKXt2YXIgdD10aGlzO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9dC5fKHIsZSk7cmV0dXJuIHUuc3RhdHVzP0Iobih1LnZhbHVlKS5fKHIsdS5pbmRleCksdSk6dX0pfSx1LmNvbmNhdD11Lm9yLHUuZW1wdHk9cm4sdS5vZj1YLHVbXCJmYW50YXN5LWxhbmQvYXBcIl09dS5hcCx1W1wiZmFudGFzeS1sYW5kL2NoYWluXCJdPXUuY2hhaW4sdVtcImZhbnRhc3ktbGFuZC9jb25jYXRcIl09dS5jb25jYXQsdVtcImZhbnRhc3ktbGFuZC9lbXB0eVwiXT11LmVtcHR5LHVbXCJmYW50YXN5LWxhbmQvb2ZcIl09dS5vZix1W1wiZmFudGFzeS1sYW5kL21hcFwiXT11Lm1hcDt2YXIgZW49ZShmdW5jdGlvbihuLHQpe3JldHVybiBiKHQsUyhuLHQpKX0pLHVuPWUoZnVuY3Rpb24obix0KXtyZXR1cm4gdD49bi5sZW5ndGg/eCh0LFwiYW55IGNoYXJhY3Rlci9ieXRlXCIpOmIodCsxLEwobix0KSl9KSxvbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGIobi5sZW5ndGgsbi5zbGljZSh0KSl9KSxhbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ8bi5sZW5ndGg/eCh0LFwiRU9GXCIpOmIodCxudWxsKX0pLGZuPVEoL1swLTldLykuZGVzYyhcImEgZGlnaXRcIiksY249USgvWzAtOV0qLykuZGVzYyhcIm9wdGlvbmFsIGRpZ2l0c1wiKSxzbj1RKC9bYS16XS9pKS5kZXNjKFwiYSBsZXR0ZXJcIiksbG49USgvW2Etel0qL2kpLmRlc2MoXCJvcHRpb25hbCBsZXR0ZXJzXCIpLGhuPVEoL1xccyovKS5kZXNjKFwib3B0aW9uYWwgd2hpdGVzcGFjZVwiKSxwbj1RKC9cXHMrLykuZGVzYyhcIndoaXRlc3BhY2VcIiksZG49SyhcIlxcclwiKSx2bj1LKFwiXFxuXCIpLGduPUsoXCJcXHJcXG5cIiksbW49VChnbix2bixkbikuZGVzYyhcIm5ld2xpbmVcIikseW49VChtbixhbik7ZS5hbGw9b24sZS5hbHQ9VCxlLmFueT11bixlLmNyPWRuLGUuY3JlYXRlTGFuZ3VhZ2U9ZnVuY3Rpb24obil7dmFyIHQ9e307Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJmZ1bmN0aW9uKHIpe3Rbcl09dG4oZnVuY3Rpb24oKXtyZXR1cm4gbltyXSh0KX0pfShyKTtyZXR1cm4gdH0sZS5jcmxmPWduLGUuY3VzdG9tPWZ1bmN0aW9uKG4pe3JldHVybiBlKG4oYix4KSl9LGUuZGlnaXQ9Zm4sZS5kaWdpdHM9Y24sZS5lbXB0eT1ybixlLmVuZD15bixlLmVvZj1hbixlLmZhaWw9WSxlLmZvcm1hdEVycm9yPU4sZS5pbmRleD1lbixlLmlzUGFyc2VyPXksZS5sYXp5PXRuLGUubGV0dGVyPXNuLGUubGV0dGVycz1sbixlLmxmPXZuLGUubG9va2FoZWFkPVosZS5tYWtlRmFpbHVyZT14LGUubWFrZVN1Y2Nlc3M9YixlLm5ld2xpbmU9bW4sZS5ub25lT2Y9ZnVuY3Rpb24obil7cmV0dXJuIG5uKGZ1bmN0aW9uKHQpe3JldHVybiBuLmluZGV4T2YodCk8MH0pLmRlc2MoXCJub25lIG9mICdcIituK1wiJ1wiKX0sZS5ub3RGb2xsb3dlZEJ5PSQsZS5vZj1YLGUub25lT2Y9ZnVuY3Rpb24obil7Zm9yKHZhciB0PW4uc3BsaXQoXCJcIikscj0wO3I8dC5sZW5ndGg7cisrKXRbcl09XCInXCIrdFtyXStcIidcIjtyZXR1cm4gbm4oZnVuY3Rpb24odCl7cmV0dXJuIG4uaW5kZXhPZih0KT49MH0pLmRlc2ModCl9LGUub3B0V2hpdGVzcGFjZT1obixlLlBhcnNlcj1lLGUucmFuZ2U9ZnVuY3Rpb24obix0KXtyZXR1cm4gbm4oZnVuY3Rpb24ocil7cmV0dXJuIG48PXImJnI8PXR9KS5kZXNjKG4rXCItXCIrdCl9LGUucmVnZXg9USxlLnJlZ2V4cD1RLGUuc2VwQnk9VixlLnNlcEJ5MT1ILGUuc2VxPUMsZS5zZXFNYXA9SixlLnNlcU9iaj1mdW5jdGlvbigpe2Zvcih2YXIgbix0PXt9LHI9MCx1PShuPWFyZ3VtZW50cyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKSksbz11Lmxlbmd0aCxpPTA7aTxvO2krPTEpe3ZhciBhPXVbaV07aWYoIXkoYSkpe2lmKEUoYSkmJjI9PT1hLmxlbmd0aCYmXCJzdHJpbmdcIj09dHlwZW9mIGFbMF0mJnkoYVsxXSkpe3ZhciBmPWFbMF07aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZikpdGhyb3cgbmV3IEVycm9yKFwic2VxT2JqOiBkdXBsaWNhdGUga2V5IFwiK2YpO3RbZl09ITAscisrO2NvbnRpbnVlfXRocm93IG5ldyBFcnJvcihcInNlcU9iaiBhcmd1bWVudHMgbXVzdCBiZSBwYXJzZXJzIG9yIFtzdHJpbmcsIHBhcnNlcl0gYXJyYXkgcGFpcnMuXCIpfX1pZigwPT09cil0aHJvdyBuZXcgRXJyb3IoXCJzZXFPYmogZXhwZWN0cyBhdCBsZWFzdCBvbmUgbmFtZWQgcGFyc2VyLCBmb3VuZCB6ZXJvXCIpO3JldHVybiBlKGZ1bmN0aW9uKG4sdCl7Zm9yKHZhciByLGU9e30saT0wO2k8bztpKz0xKXt2YXIgYSxmO2lmKEUodVtpXSk/KGE9dVtpXVswXSxmPXVbaV1bMV0pOihhPW51bGwsZj11W2ldKSwhKHI9QihmLl8obix0KSxyKSkuc3RhdHVzKXJldHVybiByO2EmJihlW2FdPXIudmFsdWUpLHQ9ci5pbmRleH1yZXR1cm4gQihiKHQsZSkscil9KX0sZS5zdHJpbmc9SyxlLnN1Y2NlZWQ9WCxlLnRha2VXaGlsZT1mdW5jdGlvbihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXI7ZTx0Lmxlbmd0aCYmbihMKHQsZSkpOyllKys7cmV0dXJuIGIoZSx0LnNsaWNlKHIsZSkpfSl9LGUudGVzdD1ubixlLndoaXRlc3BhY2U9cG4sZVtcImZhbnRhc3ktbGFuZC9lbXB0eVwiXT1ybixlW1wiZmFudGFzeS1sYW5kL29mXCJdPVgsZS5CaW5hcnk9e2JpdFNlcTpsLGJpdFNlcU9iajpmdW5jdGlvbihuKXtzKCk7dmFyIHQ9e30scj0wLGU9YShmdW5jdGlvbihuKXtpZihFKG4pKXt2YXIgZT1uO2lmKDIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXCJbXCIrZS5qb2luKFwiLCBcIikrXCJdIHNob3VsZCBiZSBsZW5ndGggMiwgZ290IGxlbmd0aCBcIitlLmxlbmd0aCk7aWYoUChlWzBdKSxPKGVbMV0pLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGVbMF0pKXRocm93IG5ldyBFcnJvcihcImR1cGxpY2F0ZSBrZXkgaW4gYml0U2VxT2JqOiBcIitlWzBdKTtyZXR1cm4gdFtlWzBdXT0hMCxyKyssZX1yZXR1cm4gTyhuKSxbbnVsbCxuXX0sbik7aWYocjwxKXRocm93IG5ldyBFcnJvcihcImJpdFNlcU9iaiBleHBlY3RzIGF0IGxlYXN0IG9uZSBuYW1lZCBwYWlyLCBnb3QgW1wiK24uam9pbihcIiwgXCIpK1wiXVwiKTt2YXIgdT1hKGZ1bmN0aW9uKG4pe3JldHVybiBuWzBdfSxlKTtyZXR1cm4gbChhKGZ1bmN0aW9uKG4pe3JldHVybiBuWzFdfSxlKSkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBpKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG51bGwhPT10WzBdJiYoblt0WzBdXT10WzFdKSxufSx7fSxhKGZ1bmN0aW9uKHQscil7cmV0dXJuW3QsbltyXV19LHUpKX0pfSxieXRlOmZ1bmN0aW9uKG4pe2lmKHMoKSxPKG4pLG4+MjU1KXRocm93IG5ldyBFcnJvcihcIlZhbHVlIHNwZWNpZmllZCB0byBieXRlIGNvbnN0cnVjdG9yIChcIituK1wiPTB4XCIrbi50b1N0cmluZygxNikrXCIpIGlzIGxhcmdlciBpbiB2YWx1ZSB0aGFuIGEgc2luZ2xlIGJ5dGUuXCIpO3ZhciB0PShuPjE1P1wiMHhcIjpcIjB4MFwiKStuLnRvU3RyaW5nKDE2KTtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PUwocixlKTtyZXR1cm4gdT09PW4/YihlKzEsdSk6eChlLHQpfSl9LGJ1ZmZlcjpmdW5jdGlvbihuKXtyZXR1cm4gaChcImJ1ZmZlclwiLG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gQnVmZmVyLmZyb20obil9KX0sZW5jb2RlZFN0cmluZzpmdW5jdGlvbihuLHQpe3JldHVybiBoKFwic3RyaW5nXCIsdCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRvU3RyaW5nKG4pfSl9LHVpbnRCRTpkLHVpbnQ4QkU6ZCgxKSx1aW50MTZCRTpkKDIpLHVpbnQzMkJFOmQoNCksdWludExFOnYsdWludDhMRTp2KDEpLHVpbnQxNkxFOnYoMiksdWludDMyTEU6dig0KSxpbnRCRTpnLGludDhCRTpnKDEpLGludDE2QkU6ZygyKSxpbnQzMkJFOmcoNCksaW50TEU6bSxpbnQ4TEU6bSgxKSxpbnQxNkxFOm0oMiksaW50MzJMRTptKDQpLGZsb2F0QkU6aChcImZsb2F0QkVcIiw0KS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG4ucmVhZEZsb2F0QkUoMCl9KSxmbG9hdExFOmgoXCJmbG9hdExFXCIsNCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWRGbG9hdExFKDApfSksZG91YmxlQkU6aChcImRvdWJsZUJFXCIsOCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWREb3VibGVCRSgwKX0pLGRvdWJsZUxFOmgoXCJkb3VibGVMRVwiLDgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRG91YmxlTEUoMCl9KX0sbi5leHBvcnRzPWV9XSl9KTsiLCAidHlwZSBLZXkgPSBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w7XG5cbi8qKlxuICogU2V0QXJyYXkgYWN0cyBsaWtlIGEgYFNldGAgKGFsbG93aW5nIG9ubHkgb25lIG9jY3VycmVuY2Ugb2YgYSBzdHJpbmcgYGtleWApLCBidXQgcHJvdmlkZXMgdGhlXG4gKiBpbmRleCBvZiB0aGUgYGtleWAgaW4gdGhlIGJhY2tpbmcgYXJyYXkuXG4gKlxuICogVGhpcyBpcyBkZXNpZ25lZCB0byBhbGxvdyBzeW5jaHJvbml6aW5nIGEgc2Vjb25kIGFycmF5IHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSBiYWNraW5nIGFycmF5LFxuICogbGlrZSBob3cgaW4gYSBzb3VyY2VtYXAgYHNvdXJjZXNDb250ZW50W2ldYCBpcyB0aGUgc291cmNlIGNvbnRlbnQgYXNzb2NpYXRlZCB3aXRoIGBzb3VyY2VbaV1gLFxuICogYW5kIHRoZXJlIGFyZSBuZXZlciBkdXBsaWNhdGVzLlxuICovXG5leHBvcnQgY2xhc3MgU2V0QXJyYXk8VCBleHRlbmRzIEtleSA9IEtleT4ge1xuICBwcml2YXRlIGRlY2xhcmUgX2luZGV4ZXM6IFJlY29yZDxULCBudW1iZXIgfCB1bmRlZmluZWQ+O1xuICBkZWNsYXJlIGFycmF5OiByZWFkb25seSBUW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5faW5kZXhlcyA9IHsgX19wcm90b19fOiBudWxsIH0gYXMgYW55O1xuICAgIHRoaXMuYXJyYXkgPSBbXTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgUHVibGljU2V0PFQgZXh0ZW5kcyBLZXk+IHtcbiAgYXJyYXk6IFRbXTtcbiAgX2luZGV4ZXM6IFNldEFycmF5PFQ+WydfaW5kZXhlcyddO1xufVxuXG4vKipcbiAqIFR5cGVzY3JpcHQgZG9lc24ndCBhbGxvdyBmcmllbmQgYWNjZXNzIHRvIHByaXZhdGUgZmllbGRzLCBzbyB0aGlzIGp1c3QgY2FzdHMgdGhlIHNldCBpbnRvIGEgdHlwZVxuICogd2l0aCBwdWJsaWMgYWNjZXNzIG1vZGlmaWVycy5cbiAqL1xuZnVuY3Rpb24gY2FzdDxUIGV4dGVuZHMgS2V5PihzZXQ6IFNldEFycmF5PFQ+KTogUHVibGljU2V0PFQ+IHtcbiAgcmV0dXJuIHNldCBhcyBhbnk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIGBrZXlgIGluIHRoZSBiYWNraW5nIGFycmF5LCBpZiBpdCBpcyBhbHJlYWR5IHByZXNlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXQ8VCBleHRlbmRzIEtleT4oc2V0YXJyOiBTZXRBcnJheTxUPiwga2V5OiBUKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGNhc3Qoc2V0YXJyKS5faW5kZXhlc1trZXldO1xufVxuXG4vKipcbiAqIFB1dHMgYGtleWAgaW50byB0aGUgYmFja2luZyBhcnJheSwgaWYgaXQgaXMgbm90IGFscmVhZHkgcHJlc2VudC4gUmV0dXJuc1xuICogdGhlIGluZGV4IG9mIHRoZSBga2V5YCBpbiB0aGUgYmFja2luZyBhcnJheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB1dDxUIGV4dGVuZHMgS2V5PihzZXRhcnI6IFNldEFycmF5PFQ+LCBrZXk6IFQpOiBudW1iZXIge1xuICAvLyBUaGUga2V5IG1heSBvciBtYXkgbm90IGJlIHByZXNlbnQuIElmIGl0IGlzIHByZXNlbnQsIGl0J3MgYSBudW1iZXIuXG4gIGNvbnN0IGluZGV4ID0gZ2V0KHNldGFyciwga2V5KTtcbiAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQpIHJldHVybiBpbmRleDtcblxuICBjb25zdCB7IGFycmF5LCBfaW5kZXhlczogaW5kZXhlcyB9ID0gY2FzdChzZXRhcnIpO1xuXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5LnB1c2goa2V5KTtcbiAgcmV0dXJuIChpbmRleGVzW2tleV0gPSBsZW5ndGggLSAxKTtcbn1cblxuLyoqXG4gKiBQb3BzIHRoZSBsYXN0IGFkZGVkIGl0ZW0gb3V0IG9mIHRoZSBTZXRBcnJheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcDxUIGV4dGVuZHMgS2V5PihzZXRhcnI6IFNldEFycmF5PFQ+KTogdm9pZCB7XG4gIGNvbnN0IHsgYXJyYXksIF9pbmRleGVzOiBpbmRleGVzIH0gPSBjYXN0KHNldGFycik7XG4gIGlmIChhcnJheS5sZW5ndGggPT09IDApIHJldHVybjtcblxuICBjb25zdCBsYXN0ID0gYXJyYXkucG9wKCkhO1xuICBpbmRleGVzW2xhc3RdID0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGtleSwgaWYgaXQgZXhpc3RzIGluIHRoZSBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmU8VCBleHRlbmRzIEtleT4oc2V0YXJyOiBTZXRBcnJheTxUPiwga2V5OiBUKTogdm9pZCB7XG4gIGNvbnN0IGluZGV4ID0gZ2V0KHNldGFyciwga2V5KTtcbiAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICBjb25zdCB7IGFycmF5LCBfaW5kZXhlczogaW5kZXhlcyB9ID0gY2FzdChzZXRhcnIpO1xuICBmb3IgKGxldCBpID0gaW5kZXggKyAxOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBrID0gYXJyYXlbaV07XG4gICAgYXJyYXlbaSAtIDFdID0gaztcbiAgICBpbmRleGVzW2tdIS0tO1xuICB9XG4gIGluZGV4ZXNba2V5XSA9IHVuZGVmaW5lZDtcbiAgYXJyYXkucG9wKCk7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBTdHJpbmdSZWFkZXIsIFN0cmluZ1dyaXRlciB9IGZyb20gJy4vc3RyaW5ncyc7XG5cbmV4cG9ydCBjb25zdCBjb21tYSA9ICcsJy5jaGFyQ29kZUF0KDApO1xuZXhwb3J0IGNvbnN0IHNlbWljb2xvbiA9ICc7Jy5jaGFyQ29kZUF0KDApO1xuXG5jb25zdCBjaGFycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJztcbmNvbnN0IGludFRvQ2hhciA9IG5ldyBVaW50OEFycmF5KDY0KTsgLy8gNjQgcG9zc2libGUgY2hhcnMuXG5jb25zdCBjaGFyVG9JbnQgPSBuZXcgVWludDhBcnJheSgxMjgpOyAvLyB6IGlzIDEyMiBpbiBBU0NJSVxuXG5mb3IgKGxldCBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7XG4gIGNvbnN0IGMgPSBjaGFycy5jaGFyQ29kZUF0KGkpO1xuICBpbnRUb0NoYXJbaV0gPSBjO1xuICBjaGFyVG9JbnRbY10gPSBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlSW50ZWdlcihyZWFkZXI6IFN0cmluZ1JlYWRlciwgcmVsYXRpdmU6IG51bWJlcik6IG51bWJlciB7XG4gIGxldCB2YWx1ZSA9IDA7XG4gIGxldCBzaGlmdCA9IDA7XG4gIGxldCBpbnRlZ2VyID0gMDtcblxuICBkbyB7XG4gICAgY29uc3QgYyA9IHJlYWRlci5uZXh0KCk7XG4gICAgaW50ZWdlciA9IGNoYXJUb0ludFtjXTtcbiAgICB2YWx1ZSB8PSAoaW50ZWdlciAmIDMxKSA8PCBzaGlmdDtcbiAgICBzaGlmdCArPSA1O1xuICB9IHdoaWxlIChpbnRlZ2VyICYgMzIpO1xuXG4gIGNvbnN0IHNob3VsZE5lZ2F0ZSA9IHZhbHVlICYgMTtcbiAgdmFsdWUgPj4+PSAxO1xuXG4gIGlmIChzaG91bGROZWdhdGUpIHtcbiAgICB2YWx1ZSA9IC0weDgwMDAwMDAwIHwgLXZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHJlbGF0aXZlICsgdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVJbnRlZ2VyKGJ1aWxkZXI6IFN0cmluZ1dyaXRlciwgbnVtOiBudW1iZXIsIHJlbGF0aXZlOiBudW1iZXIpOiBudW1iZXIge1xuICBsZXQgZGVsdGEgPSBudW0gLSByZWxhdGl2ZTtcblxuICBkZWx0YSA9IGRlbHRhIDwgMCA/ICgtZGVsdGEgPDwgMSkgfCAxIDogZGVsdGEgPDwgMTtcbiAgZG8ge1xuICAgIGxldCBjbGFtcGVkID0gZGVsdGEgJiAwYjAxMTExMTtcbiAgICBkZWx0YSA+Pj49IDU7XG4gICAgaWYgKGRlbHRhID4gMCkgY2xhbXBlZCB8PSAwYjEwMDAwMDtcbiAgICBidWlsZGVyLndyaXRlKGludFRvQ2hhcltjbGFtcGVkXSk7XG4gIH0gd2hpbGUgKGRlbHRhID4gMCk7XG5cbiAgcmV0dXJuIG51bTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc01vcmVWbHEocmVhZGVyOiBTdHJpbmdSZWFkZXIsIG1heDogbnVtYmVyKSB7XG4gIGlmIChyZWFkZXIucG9zID49IG1heCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmVhZGVyLnBlZWsoKSAhPT0gY29tbWE7XG59XG4iLCAiY29uc3QgYnVmTGVuZ3RoID0gMTAyNCAqIDE2O1xuXG4vLyBQcm92aWRlIGEgZmFsbGJhY2sgZm9yIG9sZGVyIGVudmlyb25tZW50cy5cbmNvbnN0IHRkID1cbiAgdHlwZW9mIFRleHREZWNvZGVyICE9PSAndW5kZWZpbmVkJ1xuICAgID8gLyogI19fUFVSRV9fICovIG5ldyBUZXh0RGVjb2RlcigpXG4gICAgOiB0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJ1xuICAgID8ge1xuICAgICAgICBkZWNvZGUoYnVmOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICAgICAgICBjb25zdCBvdXQgPSBCdWZmZXIuZnJvbShidWYuYnVmZmVyLCBidWYuYnl0ZU9mZnNldCwgYnVmLmJ5dGVMZW5ndGgpO1xuICAgICAgICAgIHJldHVybiBvdXQudG9TdHJpbmcoKTtcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICA6IHtcbiAgICAgICAgZGVjb2RlKGJ1ZjogVWludDhBcnJheSk6IHN0cmluZyB7XG4gICAgICAgICAgbGV0IG91dCA9ICcnO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBvdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb3V0O1xuICAgICAgICB9LFxuICAgICAgfTtcblxuZXhwb3J0IGNsYXNzIFN0cmluZ1dyaXRlciB7XG4gIHBvcyA9IDA7XG4gIHByaXZhdGUgb3V0ID0gJyc7XG4gIHByaXZhdGUgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoYnVmTGVuZ3RoKTtcblxuICB3cml0ZSh2OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IGJ1ZmZlciB9ID0gdGhpcztcbiAgICBidWZmZXJbdGhpcy5wb3MrK10gPSB2O1xuICAgIGlmICh0aGlzLnBvcyA9PT0gYnVmTGVuZ3RoKSB7XG4gICAgICB0aGlzLm91dCArPSB0ZC5kZWNvZGUoYnVmZmVyKTtcbiAgICAgIHRoaXMucG9zID0gMDtcbiAgICB9XG4gIH1cblxuICBmbHVzaCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgYnVmZmVyLCBvdXQsIHBvcyB9ID0gdGhpcztcbiAgICByZXR1cm4gcG9zID4gMCA/IG91dCArIHRkLmRlY29kZShidWZmZXIuc3ViYXJyYXkoMCwgcG9zKSkgOiBvdXQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0cmluZ1JlYWRlciB7XG4gIHBvcyA9IDA7XG4gIHByaXZhdGUgZGVjbGFyZSBidWZmZXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihidWZmZXI6IHN0cmluZykge1xuICAgIHRoaXMuYnVmZmVyID0gYnVmZmVyO1xuICB9XG5cbiAgbmV4dCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5jaGFyQ29kZUF0KHRoaXMucG9zKyspO1xuICB9XG5cbiAgcGVlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5jaGFyQ29kZUF0KHRoaXMucG9zKTtcbiAgfVxuXG4gIGluZGV4T2YoY2hhcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCB7IGJ1ZmZlciwgcG9zIH0gPSB0aGlzO1xuICAgIGNvbnN0IGlkeCA9IGJ1ZmZlci5pbmRleE9mKGNoYXIsIHBvcyk7XG4gICAgcmV0dXJuIGlkeCA9PT0gLTEgPyBidWZmZXIubGVuZ3RoIDogaWR4O1xuICB9XG59XG4iLCAiaW1wb3J0IHsgU3RyaW5nUmVhZGVyLCBTdHJpbmdXcml0ZXIgfSBmcm9tICcuL3N0cmluZ3MnO1xuaW1wb3J0IHsgY29tbWEsIGRlY29kZUludGVnZXIsIGVuY29kZUludGVnZXIsIGhhc01vcmVWbHEsIHNlbWljb2xvbiB9IGZyb20gJy4vdmxxJztcblxuY29uc3QgRU1QVFk6IGFueVtdID0gW107XG5cbnR5cGUgTGluZSA9IG51bWJlcjtcbnR5cGUgQ29sdW1uID0gbnVtYmVyO1xudHlwZSBLaW5kID0gbnVtYmVyO1xudHlwZSBOYW1lID0gbnVtYmVyO1xudHlwZSBWYXIgPSBudW1iZXI7XG50eXBlIFNvdXJjZXNJbmRleCA9IG51bWJlcjtcbnR5cGUgU2NvcGVzSW5kZXggPSBudW1iZXI7XG5cbnR5cGUgTWl4PEEsIEIsIE8+ID0gKEEgJiBPKSB8IChCICYgTyk7XG5cbmV4cG9ydCB0eXBlIE9yaWdpbmFsU2NvcGUgPSBNaXg8XG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgS2luZF0sXG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgS2luZCwgTmFtZV0sXG4gIHsgdmFyczogVmFyW10gfVxuPjtcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVkUmFuZ2UgPSBNaXg8XG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbl0sXG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgU291cmNlc0luZGV4LCBTY29wZXNJbmRleF0sXG4gIHtcbiAgICBjYWxsc2l0ZTogQ2FsbFNpdGUgfCBudWxsO1xuICAgIGJpbmRpbmdzOiBCaW5kaW5nW107XG4gICAgaXNTY29wZTogYm9vbGVhbjtcbiAgfVxuPjtcbmV4cG9ydCB0eXBlIENhbGxTaXRlID0gW1NvdXJjZXNJbmRleCwgTGluZSwgQ29sdW1uXTtcbnR5cGUgQmluZGluZyA9IEJpbmRpbmdFeHByZXNzaW9uUmFuZ2VbXTtcbmV4cG9ydCB0eXBlIEJpbmRpbmdFeHByZXNzaW9uUmFuZ2UgPSBbTmFtZV0gfCBbTmFtZSwgTGluZSwgQ29sdW1uXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZU9yaWdpbmFsU2NvcGVzKGlucHV0OiBzdHJpbmcpOiBPcmlnaW5hbFNjb3BlW10ge1xuICBjb25zdCB7IGxlbmd0aCB9ID0gaW5wdXQ7XG4gIGNvbnN0IHJlYWRlciA9IG5ldyBTdHJpbmdSZWFkZXIoaW5wdXQpO1xuICBjb25zdCBzY29wZXM6IE9yaWdpbmFsU2NvcGVbXSA9IFtdO1xuICBjb25zdCBzdGFjazogT3JpZ2luYWxTY29wZVtdID0gW107XG4gIGxldCBsaW5lID0gMDtcblxuICBmb3IgKDsgcmVhZGVyLnBvcyA8IGxlbmd0aDsgcmVhZGVyLnBvcysrKSB7XG4gICAgbGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBsaW5lKTtcbiAgICBjb25zdCBjb2x1bW4gPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG5cbiAgICBpZiAoIWhhc01vcmVWbHEocmVhZGVyLCBsZW5ndGgpKSB7XG4gICAgICBjb25zdCBsYXN0ID0gc3RhY2sucG9wKCkhO1xuICAgICAgbGFzdFsyXSA9IGxpbmU7XG4gICAgICBsYXN0WzNdID0gY29sdW1uO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qga2luZCA9IGRlY29kZUludGVnZXIocmVhZGVyLCAwKTtcbiAgICBjb25zdCBmaWVsZHMgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgY29uc3QgaGFzTmFtZSA9IGZpZWxkcyAmIDBiMDAwMTtcblxuICAgIGNvbnN0IHNjb3BlOiBPcmlnaW5hbFNjb3BlID0gKFxuICAgICAgaGFzTmFtZSA/IFtsaW5lLCBjb2x1bW4sIDAsIDAsIGtpbmQsIGRlY29kZUludGVnZXIocmVhZGVyLCAwKV0gOiBbbGluZSwgY29sdW1uLCAwLCAwLCBraW5kXVxuICAgICkgYXMgT3JpZ2luYWxTY29wZTtcblxuICAgIGxldCB2YXJzOiBWYXJbXSA9IEVNUFRZO1xuICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgbGVuZ3RoKSkge1xuICAgICAgdmFycyA9IFtdO1xuICAgICAgZG8ge1xuICAgICAgICBjb25zdCB2YXJzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgIHZhcnMucHVzaCh2YXJzSW5kZXgpO1xuICAgICAgfSB3aGlsZSAoaGFzTW9yZVZscShyZWFkZXIsIGxlbmd0aCkpO1xuICAgIH1cbiAgICBzY29wZS52YXJzID0gdmFycztcblxuICAgIHNjb3Blcy5wdXNoKHNjb3BlKTtcbiAgICBzdGFjay5wdXNoKHNjb3BlKTtcbiAgfVxuXG4gIHJldHVybiBzY29wZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVPcmlnaW5hbFNjb3BlcyhzY29wZXM6IE9yaWdpbmFsU2NvcGVbXSk6IHN0cmluZyB7XG4gIGNvbnN0IHdyaXRlciA9IG5ldyBTdHJpbmdXcml0ZXIoKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNjb3Blcy5sZW5ndGg7ICkge1xuICAgIGkgPSBfZW5jb2RlT3JpZ2luYWxTY29wZXMoc2NvcGVzLCBpLCB3cml0ZXIsIFswXSk7XG4gIH1cblxuICByZXR1cm4gd3JpdGVyLmZsdXNoKCk7XG59XG5cbmZ1bmN0aW9uIF9lbmNvZGVPcmlnaW5hbFNjb3BlcyhcbiAgc2NvcGVzOiBPcmlnaW5hbFNjb3BlW10sXG4gIGluZGV4OiBudW1iZXIsXG4gIHdyaXRlcjogU3RyaW5nV3JpdGVyLFxuICBzdGF0ZTogW1xuICAgIG51bWJlciwgLy8gR2VuQ29sdW1uXG4gIF0sXG4pOiBudW1iZXIge1xuICBjb25zdCBzY29wZSA9IHNjb3Blc1tpbmRleF07XG4gIGNvbnN0IHsgMDogc3RhcnRMaW5lLCAxOiBzdGFydENvbHVtbiwgMjogZW5kTGluZSwgMzogZW5kQ29sdW1uLCA0OiBraW5kLCB2YXJzIH0gPSBzY29wZTtcblxuICBpZiAoaW5kZXggPiAwKSB3cml0ZXIud3JpdGUoY29tbWEpO1xuXG4gIHN0YXRlWzBdID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIHN0YXJ0TGluZSwgc3RhdGVbMF0pO1xuICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc3RhcnRDb2x1bW4sIDApO1xuICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwga2luZCwgMCk7XG5cbiAgY29uc3QgZmllbGRzID0gc2NvcGUubGVuZ3RoID09PSA2ID8gMGIwMDAxIDogMDtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGZpZWxkcywgMCk7XG4gIGlmIChzY29wZS5sZW5ndGggPT09IDYpIGVuY29kZUludGVnZXIod3JpdGVyLCBzY29wZVs1XSwgMCk7XG5cbiAgZm9yIChjb25zdCB2IG9mIHZhcnMpIHtcbiAgICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgdiwgMCk7XG4gIH1cblxuICBmb3IgKGluZGV4Kys7IGluZGV4IDwgc2NvcGVzLmxlbmd0aDsgKSB7XG4gICAgY29uc3QgbmV4dCA9IHNjb3Blc1tpbmRleF07XG4gICAgY29uc3QgeyAwOiBsLCAxOiBjIH0gPSBuZXh0O1xuICAgIGlmIChsID4gZW5kTGluZSB8fCAobCA9PT0gZW5kTGluZSAmJiBjID49IGVuZENvbHVtbikpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpbmRleCA9IF9lbmNvZGVPcmlnaW5hbFNjb3BlcyhzY29wZXMsIGluZGV4LCB3cml0ZXIsIHN0YXRlKTtcbiAgfVxuXG4gIHdyaXRlci53cml0ZShjb21tYSk7XG4gIHN0YXRlWzBdID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIGVuZExpbmUsIHN0YXRlWzBdKTtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGVuZENvbHVtbiwgMCk7XG5cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlR2VuZXJhdGVkUmFuZ2VzKGlucHV0OiBzdHJpbmcpOiBHZW5lcmF0ZWRSYW5nZVtdIHtcbiAgY29uc3QgeyBsZW5ndGggfSA9IGlucHV0O1xuICBjb25zdCByZWFkZXIgPSBuZXcgU3RyaW5nUmVhZGVyKGlucHV0KTtcbiAgY29uc3QgcmFuZ2VzOiBHZW5lcmF0ZWRSYW5nZVtdID0gW107XG4gIGNvbnN0IHN0YWNrOiBHZW5lcmF0ZWRSYW5nZVtdID0gW107XG5cbiAgbGV0IGdlbkxpbmUgPSAwO1xuICBsZXQgZGVmaW5pdGlvblNvdXJjZXNJbmRleCA9IDA7XG4gIGxldCBkZWZpbml0aW9uU2NvcGVJbmRleCA9IDA7XG4gIGxldCBjYWxsc2l0ZVNvdXJjZXNJbmRleCA9IDA7XG4gIGxldCBjYWxsc2l0ZUxpbmUgPSAwO1xuICBsZXQgY2FsbHNpdGVDb2x1bW4gPSAwO1xuICBsZXQgYmluZGluZ0xpbmUgPSAwO1xuICBsZXQgYmluZGluZ0NvbHVtbiA9IDA7XG5cbiAgZG8ge1xuICAgIGNvbnN0IHNlbWkgPSByZWFkZXIuaW5kZXhPZignOycpO1xuICAgIGxldCBnZW5Db2x1bW4gPSAwO1xuXG4gICAgZm9yICg7IHJlYWRlci5wb3MgPCBzZW1pOyByZWFkZXIucG9zKyspIHtcbiAgICAgIGdlbkNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBnZW5Db2x1bW4pO1xuXG4gICAgICBpZiAoIWhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICBjb25zdCBsYXN0ID0gc3RhY2sucG9wKCkhO1xuICAgICAgICBsYXN0WzJdID0gZ2VuTGluZTtcbiAgICAgICAgbGFzdFszXSA9IGdlbkNvbHVtbjtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpZWxkcyA9IGRlY29kZUludGVnZXIocmVhZGVyLCAwKTtcbiAgICAgIGNvbnN0IGhhc0RlZmluaXRpb24gPSBmaWVsZHMgJiAwYjAwMDE7XG4gICAgICBjb25zdCBoYXNDYWxsc2l0ZSA9IGZpZWxkcyAmIDBiMDAxMDtcbiAgICAgIGNvbnN0IGhhc1Njb3BlID0gZmllbGRzICYgMGIwMTAwO1xuXG4gICAgICBsZXQgY2FsbHNpdGU6IENhbGxTaXRlIHwgbnVsbCA9IG51bGw7XG4gICAgICBsZXQgYmluZGluZ3M6IEJpbmRpbmdbXSA9IEVNUFRZO1xuICAgICAgbGV0IHJhbmdlOiBHZW5lcmF0ZWRSYW5nZTtcbiAgICAgIGlmIChoYXNEZWZpbml0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRlZlNvdXJjZXNJbmRleCA9IGRlY29kZUludGVnZXIocmVhZGVyLCBkZWZpbml0aW9uU291cmNlc0luZGV4KTtcbiAgICAgICAgZGVmaW5pdGlvblNjb3BlSW5kZXggPSBkZWNvZGVJbnRlZ2VyKFxuICAgICAgICAgIHJlYWRlcixcbiAgICAgICAgICBkZWZpbml0aW9uU291cmNlc0luZGV4ID09PSBkZWZTb3VyY2VzSW5kZXggPyBkZWZpbml0aW9uU2NvcGVJbmRleCA6IDAsXG4gICAgICAgICk7XG5cbiAgICAgICAgZGVmaW5pdGlvblNvdXJjZXNJbmRleCA9IGRlZlNvdXJjZXNJbmRleDtcbiAgICAgICAgcmFuZ2UgPSBbZ2VuTGluZSwgZ2VuQ29sdW1uLCAwLCAwLCBkZWZTb3VyY2VzSW5kZXgsIGRlZmluaXRpb25TY29wZUluZGV4XSBhcyBHZW5lcmF0ZWRSYW5nZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJhbmdlID0gW2dlbkxpbmUsIGdlbkNvbHVtbiwgMCwgMF0gYXMgR2VuZXJhdGVkUmFuZ2U7XG4gICAgICB9XG5cbiAgICAgIHJhbmdlLmlzU2NvcGUgPSAhIWhhc1Njb3BlO1xuXG4gICAgICBpZiAoaGFzQ2FsbHNpdGUpIHtcbiAgICAgICAgY29uc3QgcHJldkNzaSA9IGNhbGxzaXRlU291cmNlc0luZGV4O1xuICAgICAgICBjb25zdCBwcmV2TGluZSA9IGNhbGxzaXRlTGluZTtcbiAgICAgICAgY2FsbHNpdGVTb3VyY2VzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgY2FsbHNpdGVTb3VyY2VzSW5kZXgpO1xuICAgICAgICBjb25zdCBzYW1lU291cmNlID0gcHJldkNzaSA9PT0gY2FsbHNpdGVTb3VyY2VzSW5kZXg7XG4gICAgICAgIGNhbGxzaXRlTGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBzYW1lU291cmNlID8gY2FsbHNpdGVMaW5lIDogMCk7XG4gICAgICAgIGNhbGxzaXRlQ29sdW1uID0gZGVjb2RlSW50ZWdlcihcbiAgICAgICAgICByZWFkZXIsXG4gICAgICAgICAgc2FtZVNvdXJjZSAmJiBwcmV2TGluZSA9PT0gY2FsbHNpdGVMaW5lID8gY2FsbHNpdGVDb2x1bW4gOiAwLFxuICAgICAgICApO1xuXG4gICAgICAgIGNhbGxzaXRlID0gW2NhbGxzaXRlU291cmNlc0luZGV4LCBjYWxsc2l0ZUxpbmUsIGNhbGxzaXRlQ29sdW1uXTtcbiAgICAgIH1cbiAgICAgIHJhbmdlLmNhbGxzaXRlID0gY2FsbHNpdGU7XG5cbiAgICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpIHtcbiAgICAgICAgYmluZGluZ3MgPSBbXTtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGJpbmRpbmdMaW5lID0gZ2VuTGluZTtcbiAgICAgICAgICBiaW5kaW5nQ29sdW1uID0gZ2VuQ29sdW1uO1xuICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb25zQ291bnQgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgICAgbGV0IGV4cHJlc3Npb25SYW5nZXM6IEJpbmRpbmdFeHByZXNzaW9uUmFuZ2VbXTtcbiAgICAgICAgICBpZiAoZXhwcmVzc2lvbnNDb3VudCA8IC0xKSB7XG4gICAgICAgICAgICBleHByZXNzaW9uUmFuZ2VzID0gW1tkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCldXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAtMTsgaSA+IGV4cHJlc3Npb25zQ291bnQ7IGktLSkge1xuICAgICAgICAgICAgICBjb25zdCBwcmV2QmwgPSBiaW5kaW5nTGluZTtcbiAgICAgICAgICAgICAgYmluZGluZ0xpbmUgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgYmluZGluZ0xpbmUpO1xuICAgICAgICAgICAgICBiaW5kaW5nQ29sdW1uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIGJpbmRpbmdMaW5lID09PSBwcmV2QmwgPyBiaW5kaW5nQ29sdW1uIDogMCk7XG4gICAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgICAgICAgIGV4cHJlc3Npb25SYW5nZXMucHVzaChbZXhwcmVzc2lvbiwgYmluZGluZ0xpbmUsIGJpbmRpbmdDb2x1bW5dKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwcmVzc2lvblJhbmdlcyA9IFtbZXhwcmVzc2lvbnNDb3VudF1dO1xuICAgICAgICAgIH1cbiAgICAgICAgICBiaW5kaW5ncy5wdXNoKGV4cHJlc3Npb25SYW5nZXMpO1xuICAgICAgICB9IHdoaWxlIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpO1xuICAgICAgfVxuICAgICAgcmFuZ2UuYmluZGluZ3MgPSBiaW5kaW5ncztcblxuICAgICAgcmFuZ2VzLnB1c2gocmFuZ2UpO1xuICAgICAgc3RhY2sucHVzaChyYW5nZSk7XG4gICAgfVxuXG4gICAgZ2VuTGluZSsrO1xuICAgIHJlYWRlci5wb3MgPSBzZW1pICsgMTtcbiAgfSB3aGlsZSAocmVhZGVyLnBvcyA8IGxlbmd0aCk7XG5cbiAgcmV0dXJuIHJhbmdlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUdlbmVyYXRlZFJhbmdlcyhyYW5nZXM6IEdlbmVyYXRlZFJhbmdlW10pOiBzdHJpbmcge1xuICBpZiAocmFuZ2VzLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuXG4gIGNvbnN0IHdyaXRlciA9IG5ldyBTdHJpbmdXcml0ZXIoKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7ICkge1xuICAgIGkgPSBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKHJhbmdlcywgaSwgd3JpdGVyLCBbMCwgMCwgMCwgMCwgMCwgMCwgMF0pO1xuICB9XG5cbiAgcmV0dXJuIHdyaXRlci5mbHVzaCgpO1xufVxuXG5mdW5jdGlvbiBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKFxuICByYW5nZXM6IEdlbmVyYXRlZFJhbmdlW10sXG4gIGluZGV4OiBudW1iZXIsXG4gIHdyaXRlcjogU3RyaW5nV3JpdGVyLFxuICBzdGF0ZTogW1xuICAgIG51bWJlciwgLy8gR2VuTGluZVxuICAgIG51bWJlciwgLy8gR2VuQ29sdW1uXG4gICAgbnVtYmVyLCAvLyBEZWZTb3VyY2VzSW5kZXhcbiAgICBudW1iZXIsIC8vIERlZlNjb3Blc0luZGV4XG4gICAgbnVtYmVyLCAvLyBDYWxsU291cmNlc0luZGV4XG4gICAgbnVtYmVyLCAvLyBDYWxsTGluZVxuICAgIG51bWJlciwgLy8gQ2FsbENvbHVtblxuICBdLFxuKTogbnVtYmVyIHtcbiAgY29uc3QgcmFuZ2UgPSByYW5nZXNbaW5kZXhdO1xuICBjb25zdCB7XG4gICAgMDogc3RhcnRMaW5lLFxuICAgIDE6IHN0YXJ0Q29sdW1uLFxuICAgIDI6IGVuZExpbmUsXG4gICAgMzogZW5kQ29sdW1uLFxuICAgIGlzU2NvcGUsXG4gICAgY2FsbHNpdGUsXG4gICAgYmluZGluZ3MsXG4gIH0gPSByYW5nZTtcblxuICBpZiAoc3RhdGVbMF0gPCBzdGFydExpbmUpIHtcbiAgICBjYXRjaHVwTGluZSh3cml0ZXIsIHN0YXRlWzBdLCBzdGFydExpbmUpO1xuICAgIHN0YXRlWzBdID0gc3RhcnRMaW5lO1xuICAgIHN0YXRlWzFdID0gMDtcbiAgfSBlbHNlIGlmIChpbmRleCA+IDApIHtcbiAgICB3cml0ZXIud3JpdGUoY29tbWEpO1xuICB9XG5cbiAgc3RhdGVbMV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgcmFuZ2VbMV0sIHN0YXRlWzFdKTtcblxuICBjb25zdCBmaWVsZHMgPVxuICAgIChyYW5nZS5sZW5ndGggPT09IDYgPyAwYjAwMDEgOiAwKSB8IChjYWxsc2l0ZSA/IDBiMDAxMCA6IDApIHwgKGlzU2NvcGUgPyAwYjAxMDAgOiAwKTtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGZpZWxkcywgMCk7XG5cbiAgaWYgKHJhbmdlLmxlbmd0aCA9PT0gNikge1xuICAgIGNvbnN0IHsgNDogc291cmNlc0luZGV4LCA1OiBzY29wZXNJbmRleCB9ID0gcmFuZ2U7XG4gICAgaWYgKHNvdXJjZXNJbmRleCAhPT0gc3RhdGVbMl0pIHtcbiAgICAgIHN0YXRlWzNdID0gMDtcbiAgICB9XG4gICAgc3RhdGVbMl0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc291cmNlc0luZGV4LCBzdGF0ZVsyXSk7XG4gICAgc3RhdGVbM10gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2NvcGVzSW5kZXgsIHN0YXRlWzNdKTtcbiAgfVxuXG4gIGlmIChjYWxsc2l0ZSkge1xuICAgIGNvbnN0IHsgMDogc291cmNlc0luZGV4LCAxOiBjYWxsTGluZSwgMjogY2FsbENvbHVtbiB9ID0gcmFuZ2UuY2FsbHNpdGUhO1xuICAgIGlmIChzb3VyY2VzSW5kZXggIT09IHN0YXRlWzRdKSB7XG4gICAgICBzdGF0ZVs1XSA9IDA7XG4gICAgICBzdGF0ZVs2XSA9IDA7XG4gICAgfSBlbHNlIGlmIChjYWxsTGluZSAhPT0gc3RhdGVbNV0pIHtcbiAgICAgIHN0YXRlWzZdID0gMDtcbiAgICB9XG4gICAgc3RhdGVbNF0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc291cmNlc0luZGV4LCBzdGF0ZVs0XSk7XG4gICAgc3RhdGVbNV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgY2FsbExpbmUsIHN0YXRlWzVdKTtcbiAgICBzdGF0ZVs2XSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBjYWxsQ29sdW1uLCBzdGF0ZVs2XSk7XG4gIH1cblxuICBpZiAoYmluZGluZ3MpIHtcbiAgICBmb3IgKGNvbnN0IGJpbmRpbmcgb2YgYmluZGluZ3MpIHtcbiAgICAgIGlmIChiaW5kaW5nLmxlbmd0aCA+IDEpIGVuY29kZUludGVnZXIod3JpdGVyLCAtYmluZGluZy5sZW5ndGgsIDApO1xuICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGJpbmRpbmdbMF1bMF07XG4gICAgICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZXhwcmVzc2lvbiwgMCk7XG4gICAgICBsZXQgYmluZGluZ1N0YXJ0TGluZSA9IHN0YXJ0TGluZTtcbiAgICAgIGxldCBiaW5kaW5nU3RhcnRDb2x1bW4gPSBzdGFydENvbHVtbjtcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgYmluZGluZy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBleHBSYW5nZSA9IGJpbmRpbmdbaV07XG4gICAgICAgIGJpbmRpbmdTdGFydExpbmUgPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZXhwUmFuZ2VbMV0hLCBiaW5kaW5nU3RhcnRMaW5lKTtcbiAgICAgICAgYmluZGluZ1N0YXJ0Q29sdW1uID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cFJhbmdlWzJdISwgYmluZGluZ1N0YXJ0Q29sdW1uKTtcbiAgICAgICAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cFJhbmdlWzBdISwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9yIChpbmRleCsrOyBpbmRleCA8IHJhbmdlcy5sZW5ndGg7ICkge1xuICAgIGNvbnN0IG5leHQgPSByYW5nZXNbaW5kZXhdO1xuICAgIGNvbnN0IHsgMDogbCwgMTogYyB9ID0gbmV4dDtcbiAgICBpZiAobCA+IGVuZExpbmUgfHwgKGwgPT09IGVuZExpbmUgJiYgYyA+PSBlbmRDb2x1bW4pKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaW5kZXggPSBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKHJhbmdlcywgaW5kZXgsIHdyaXRlciwgc3RhdGUpO1xuICB9XG5cbiAgaWYgKHN0YXRlWzBdIDwgZW5kTGluZSkge1xuICAgIGNhdGNodXBMaW5lKHdyaXRlciwgc3RhdGVbMF0sIGVuZExpbmUpO1xuICAgIHN0YXRlWzBdID0gZW5kTGluZTtcbiAgICBzdGF0ZVsxXSA9IDA7XG4gIH0gZWxzZSB7XG4gICAgd3JpdGVyLndyaXRlKGNvbW1hKTtcbiAgfVxuICBzdGF0ZVsxXSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBlbmRDb2x1bW4sIHN0YXRlWzFdKTtcblxuICByZXR1cm4gaW5kZXg7XG59XG5cbmZ1bmN0aW9uIGNhdGNodXBMaW5lKHdyaXRlcjogU3RyaW5nV3JpdGVyLCBsYXN0TGluZTogbnVtYmVyLCBsaW5lOiBudW1iZXIpIHtcbiAgZG8ge1xuICAgIHdyaXRlci53cml0ZShzZW1pY29sb24pO1xuICB9IHdoaWxlICgrK2xhc3RMaW5lIDwgbGluZSk7XG59XG4iLCAiaW1wb3J0IHsgY29tbWEsIGRlY29kZUludGVnZXIsIGVuY29kZUludGVnZXIsIGhhc01vcmVWbHEsIHNlbWljb2xvbiB9IGZyb20gJy4vdmxxJztcbmltcG9ydCB7IFN0cmluZ1dyaXRlciwgU3RyaW5nUmVhZGVyIH0gZnJvbSAnLi9zdHJpbmdzJztcblxuZXhwb3J0IHtcbiAgZGVjb2RlT3JpZ2luYWxTY29wZXMsXG4gIGVuY29kZU9yaWdpbmFsU2NvcGVzLFxuICBkZWNvZGVHZW5lcmF0ZWRSYW5nZXMsXG4gIGVuY29kZUdlbmVyYXRlZFJhbmdlcyxcbn0gZnJvbSAnLi9zY29wZXMnO1xuZXhwb3J0IHR5cGUgeyBPcmlnaW5hbFNjb3BlLCBHZW5lcmF0ZWRSYW5nZSwgQ2FsbFNpdGUsIEJpbmRpbmdFeHByZXNzaW9uUmFuZ2UgfSBmcm9tICcuL3Njb3Blcyc7XG5cbmV4cG9ydCB0eXBlIFNvdXJjZU1hcFNlZ21lbnQgPVxuICB8IFtudW1iZXJdXG4gIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgfCBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuZXhwb3J0IHR5cGUgU291cmNlTWFwTGluZSA9IFNvdXJjZU1hcFNlZ21lbnRbXTtcbmV4cG9ydCB0eXBlIFNvdXJjZU1hcE1hcHBpbmdzID0gU291cmNlTWFwTGluZVtdO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlKG1hcHBpbmdzOiBzdHJpbmcpOiBTb3VyY2VNYXBNYXBwaW5ncyB7XG4gIGNvbnN0IHsgbGVuZ3RoIH0gPSBtYXBwaW5ncztcbiAgY29uc3QgcmVhZGVyID0gbmV3IFN0cmluZ1JlYWRlcihtYXBwaW5ncyk7XG4gIGNvbnN0IGRlY29kZWQ6IFNvdXJjZU1hcE1hcHBpbmdzID0gW107XG4gIGxldCBnZW5Db2x1bW4gPSAwO1xuICBsZXQgc291cmNlc0luZGV4ID0gMDtcbiAgbGV0IHNvdXJjZUxpbmUgPSAwO1xuICBsZXQgc291cmNlQ29sdW1uID0gMDtcbiAgbGV0IG5hbWVzSW5kZXggPSAwO1xuXG4gIGRvIHtcbiAgICBjb25zdCBzZW1pID0gcmVhZGVyLmluZGV4T2YoJzsnKTtcbiAgICBjb25zdCBsaW5lOiBTb3VyY2VNYXBMaW5lID0gW107XG4gICAgbGV0IHNvcnRlZCA9IHRydWU7XG4gICAgbGV0IGxhc3RDb2wgPSAwO1xuICAgIGdlbkNvbHVtbiA9IDA7XG5cbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IHNlbWkpIHtcbiAgICAgIGxldCBzZWc6IFNvdXJjZU1hcFNlZ21lbnQ7XG5cbiAgICAgIGdlbkNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBnZW5Db2x1bW4pO1xuICAgICAgaWYgKGdlbkNvbHVtbiA8IGxhc3RDb2wpIHNvcnRlZCA9IGZhbHNlO1xuICAgICAgbGFzdENvbCA9IGdlbkNvbHVtbjtcblxuICAgICAgaWYgKGhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICBzb3VyY2VzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgc291cmNlc0luZGV4KTtcbiAgICAgICAgc291cmNlTGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBzb3VyY2VMaW5lKTtcbiAgICAgICAgc291cmNlQ29sdW1uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIHNvdXJjZUNvbHVtbik7XG5cbiAgICAgICAgaWYgKGhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICAgIG5hbWVzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgbmFtZXNJbmRleCk7XG4gICAgICAgICAgc2VnID0gW2dlbkNvbHVtbiwgc291cmNlc0luZGV4LCBzb3VyY2VMaW5lLCBzb3VyY2VDb2x1bW4sIG5hbWVzSW5kZXhdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlZyA9IFtnZW5Db2x1bW4sIHNvdXJjZXNJbmRleCwgc291cmNlTGluZSwgc291cmNlQ29sdW1uXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VnID0gW2dlbkNvbHVtbl07XG4gICAgICB9XG5cbiAgICAgIGxpbmUucHVzaChzZWcpO1xuICAgICAgcmVhZGVyLnBvcysrO1xuICAgIH1cblxuICAgIGlmICghc29ydGVkKSBzb3J0KGxpbmUpO1xuICAgIGRlY29kZWQucHVzaChsaW5lKTtcbiAgICByZWFkZXIucG9zID0gc2VtaSArIDE7XG4gIH0gd2hpbGUgKHJlYWRlci5wb3MgPD0gbGVuZ3RoKTtcblxuICByZXR1cm4gZGVjb2RlZDtcbn1cblxuZnVuY3Rpb24gc29ydChsaW5lOiBTb3VyY2VNYXBTZWdtZW50W10pIHtcbiAgbGluZS5zb3J0KHNvcnRDb21wYXJhdG9yKTtcbn1cblxuZnVuY3Rpb24gc29ydENvbXBhcmF0b3IoYTogU291cmNlTWFwU2VnbWVudCwgYjogU291cmNlTWFwU2VnbWVudCk6IG51bWJlciB7XG4gIHJldHVybiBhWzBdIC0gYlswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShkZWNvZGVkOiBTb3VyY2VNYXBNYXBwaW5ncyk6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGUoZGVjb2RlZDogUmVhZG9ubHk8U291cmNlTWFwTWFwcGluZ3M+KTogc3RyaW5nO1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShkZWNvZGVkOiBSZWFkb25seTxTb3VyY2VNYXBNYXBwaW5ncz4pOiBzdHJpbmcge1xuICBjb25zdCB3cml0ZXIgPSBuZXcgU3RyaW5nV3JpdGVyKCk7XG4gIGxldCBzb3VyY2VzSW5kZXggPSAwO1xuICBsZXQgc291cmNlTGluZSA9IDA7XG4gIGxldCBzb3VyY2VDb2x1bW4gPSAwO1xuICBsZXQgbmFtZXNJbmRleCA9IDA7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWNvZGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbGluZSA9IGRlY29kZWRbaV07XG4gICAgaWYgKGkgPiAwKSB3cml0ZXIud3JpdGUoc2VtaWNvbG9uKTtcbiAgICBpZiAobGluZS5sZW5ndGggPT09IDApIGNvbnRpbnVlO1xuXG4gICAgbGV0IGdlbkNvbHVtbiA9IDA7XG5cbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGxpbmUubGVuZ3RoOyBqKyspIHtcbiAgICAgIGNvbnN0IHNlZ21lbnQgPSBsaW5lW2pdO1xuICAgICAgaWYgKGogPiAwKSB3cml0ZXIud3JpdGUoY29tbWEpO1xuXG4gICAgICBnZW5Db2x1bW4gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2VnbWVudFswXSwgZ2VuQ29sdW1uKTtcblxuICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAxKSBjb250aW51ZTtcbiAgICAgIHNvdXJjZXNJbmRleCA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzFdLCBzb3VyY2VzSW5kZXgpO1xuICAgICAgc291cmNlTGluZSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzJdLCBzb3VyY2VMaW5lKTtcbiAgICAgIHNvdXJjZUNvbHVtbiA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzNdLCBzb3VyY2VDb2x1bW4pO1xuXG4gICAgICBpZiAoc2VnbWVudC5sZW5ndGggPT09IDQpIGNvbnRpbnVlO1xuICAgICAgbmFtZXNJbmRleCA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzRdLCBuYW1lc0luZGV4KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd3JpdGVyLmZsdXNoKCk7XG59XG4iLCAiLy8gTWF0Y2hlcyB0aGUgc2NoZW1lIG9mIGEgVVJMLCBlZyBcImh0dHA6Ly9cIlxuY29uc3Qgc2NoZW1lUmVnZXggPSAvXltcXHcrLi1dKzpcXC9cXC8vO1xuXG4vKipcbiAqIE1hdGNoZXMgdGhlIHBhcnRzIG9mIGEgVVJMOlxuICogMS4gU2NoZW1lLCBpbmNsdWRpbmcgXCI6XCIsIGd1YXJhbnRlZWQuXG4gKiAyLiBVc2VyL3Bhc3N3b3JkLCBpbmNsdWRpbmcgXCJAXCIsIG9wdGlvbmFsLlxuICogMy4gSG9zdCwgZ3VhcmFudGVlZC5cbiAqIDQuIFBvcnQsIGluY2x1ZGluZyBcIjpcIiwgb3B0aW9uYWwuXG4gKiA1LiBQYXRoLCBpbmNsdWRpbmcgXCIvXCIsIG9wdGlvbmFsLlxuICogNi4gUXVlcnksIGluY2x1ZGluZyBcIj9cIiwgb3B0aW9uYWwuXG4gKiA3LiBIYXNoLCBpbmNsdWRpbmcgXCIjXCIsIG9wdGlvbmFsLlxuICovXG5jb25zdCB1cmxSZWdleCA9IC9eKFtcXHcrLi1dKzopXFwvXFwvKFteQC8jP10qQCk/KFteOi8jP10qKSg6XFxkKyk/KFxcL1teIz9dKik/KFxcP1teI10qKT8oIy4qKT8vO1xuXG4vKipcbiAqIEZpbGUgVVJMcyBhcmUgd2VpcmQuIFRoZXkgZG9udCcgbmVlZCB0aGUgcmVndWxhciBgLy9gIGluIHRoZSBzY2hlbWUsIHRoZXkgbWF5IG9yIG1heSBub3Qgc3RhcnRcbiAqIHdpdGggYSBsZWFkaW5nIGAvYCwgdGhleSBjYW4gaGF2ZSBhIGRvbWFpbiAoYnV0IG9ubHkgaWYgdGhleSBkb24ndCBzdGFydCB3aXRoIGEgV2luZG93cyBkcml2ZSkuXG4gKlxuICogMS4gSG9zdCwgb3B0aW9uYWwuXG4gKiAyLiBQYXRoLCB3aGljaCBtYXkgaW5jbHVkZSBcIi9cIiwgZ3VhcmFudGVlZC5cbiAqIDMuIFF1ZXJ5LCBpbmNsdWRpbmcgXCI/XCIsIG9wdGlvbmFsLlxuICogNC4gSGFzaCwgaW5jbHVkaW5nIFwiI1wiLCBvcHRpb25hbC5cbiAqL1xuY29uc3QgZmlsZVJlZ2V4ID0gL15maWxlOig/OlxcL1xcLygoPyFbYS16XTopW14vIz9dKik/KT8oXFwvP1teIz9dKikoXFw/W14jXSopPygjLiopPy9pO1xuXG50eXBlIFVybCA9IHtcbiAgc2NoZW1lOiBzdHJpbmc7XG4gIHVzZXI6IHN0cmluZztcbiAgaG9zdDogc3RyaW5nO1xuICBwb3J0OiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZztcbiAgaGFzaDogc3RyaW5nO1xuICB0eXBlOiBVcmxUeXBlO1xufTtcblxuY29uc3QgZW51bSBVcmxUeXBlIHtcbiAgRW1wdHkgPSAxLFxuICBIYXNoID0gMixcbiAgUXVlcnkgPSAzLFxuICBSZWxhdGl2ZVBhdGggPSA0LFxuICBBYnNvbHV0ZVBhdGggPSA1LFxuICBTY2hlbWVSZWxhdGl2ZSA9IDYsXG4gIEFic29sdXRlID0gNyxcbn1cblxuZnVuY3Rpb24gaXNBYnNvbHV0ZVVybChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBzY2hlbWVSZWdleC50ZXN0KGlucHV0KTtcbn1cblxuZnVuY3Rpb24gaXNTY2hlbWVSZWxhdGl2ZVVybChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpbnB1dC5zdGFydHNXaXRoKCcvLycpO1xufVxuXG5mdW5jdGlvbiBpc0Fic29sdXRlUGF0aChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpbnB1dC5zdGFydHNXaXRoKCcvJyk7XG59XG5cbmZ1bmN0aW9uIGlzRmlsZVVybChpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpbnB1dC5zdGFydHNXaXRoKCdmaWxlOicpO1xufVxuXG5mdW5jdGlvbiBpc1JlbGF0aXZlKGlucHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eWy4/I10vLnRlc3QoaW5wdXQpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUFic29sdXRlVXJsKGlucHV0OiBzdHJpbmcpOiBVcmwge1xuICBjb25zdCBtYXRjaCA9IHVybFJlZ2V4LmV4ZWMoaW5wdXQpITtcbiAgcmV0dXJuIG1ha2VVcmwoXG4gICAgbWF0Y2hbMV0sXG4gICAgbWF0Y2hbMl0gfHwgJycsXG4gICAgbWF0Y2hbM10sXG4gICAgbWF0Y2hbNF0gfHwgJycsXG4gICAgbWF0Y2hbNV0gfHwgJy8nLFxuICAgIG1hdGNoWzZdIHx8ICcnLFxuICAgIG1hdGNoWzddIHx8ICcnLFxuICApO1xufVxuXG5mdW5jdGlvbiBwYXJzZUZpbGVVcmwoaW5wdXQ6IHN0cmluZyk6IFVybCB7XG4gIGNvbnN0IG1hdGNoID0gZmlsZVJlZ2V4LmV4ZWMoaW5wdXQpITtcbiAgY29uc3QgcGF0aCA9IG1hdGNoWzJdO1xuICByZXR1cm4gbWFrZVVybChcbiAgICAnZmlsZTonLFxuICAgICcnLFxuICAgIG1hdGNoWzFdIHx8ICcnLFxuICAgICcnLFxuICAgIGlzQWJzb2x1dGVQYXRoKHBhdGgpID8gcGF0aCA6ICcvJyArIHBhdGgsXG4gICAgbWF0Y2hbM10gfHwgJycsXG4gICAgbWF0Y2hbNF0gfHwgJycsXG4gICk7XG59XG5cbmZ1bmN0aW9uIG1ha2VVcmwoXG4gIHNjaGVtZTogc3RyaW5nLFxuICB1c2VyOiBzdHJpbmcsXG4gIGhvc3Q6IHN0cmluZyxcbiAgcG9ydDogc3RyaW5nLFxuICBwYXRoOiBzdHJpbmcsXG4gIHF1ZXJ5OiBzdHJpbmcsXG4gIGhhc2g6IHN0cmluZyxcbik6IFVybCB7XG4gIHJldHVybiB7XG4gICAgc2NoZW1lLFxuICAgIHVzZXIsXG4gICAgaG9zdCxcbiAgICBwb3J0LFxuICAgIHBhdGgsXG4gICAgcXVlcnksXG4gICAgaGFzaCxcbiAgICB0eXBlOiBVcmxUeXBlLkFic29sdXRlLFxuICB9O1xufVxuXG5mdW5jdGlvbiBwYXJzZVVybChpbnB1dDogc3RyaW5nKTogVXJsIHtcbiAgaWYgKGlzU2NoZW1lUmVsYXRpdmVVcmwoaW5wdXQpKSB7XG4gICAgY29uc3QgdXJsID0gcGFyc2VBYnNvbHV0ZVVybCgnaHR0cDonICsgaW5wdXQpO1xuICAgIHVybC5zY2hlbWUgPSAnJztcbiAgICB1cmwudHlwZSA9IFVybFR5cGUuU2NoZW1lUmVsYXRpdmU7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIGlmIChpc0Fic29sdXRlUGF0aChpbnB1dCkpIHtcbiAgICBjb25zdCB1cmwgPSBwYXJzZUFic29sdXRlVXJsKCdodHRwOi8vZm9vLmNvbScgKyBpbnB1dCk7XG4gICAgdXJsLnNjaGVtZSA9ICcnO1xuICAgIHVybC5ob3N0ID0gJyc7XG4gICAgdXJsLnR5cGUgPSBVcmxUeXBlLkFic29sdXRlUGF0aDtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgaWYgKGlzRmlsZVVybChpbnB1dCkpIHJldHVybiBwYXJzZUZpbGVVcmwoaW5wdXQpO1xuXG4gIGlmIChpc0Fic29sdXRlVXJsKGlucHV0KSkgcmV0dXJuIHBhcnNlQWJzb2x1dGVVcmwoaW5wdXQpO1xuXG4gIGNvbnN0IHVybCA9IHBhcnNlQWJzb2x1dGVVcmwoJ2h0dHA6Ly9mb28uY29tLycgKyBpbnB1dCk7XG4gIHVybC5zY2hlbWUgPSAnJztcbiAgdXJsLmhvc3QgPSAnJztcbiAgdXJsLnR5cGUgPSBpbnB1dFxuICAgID8gaW5wdXQuc3RhcnRzV2l0aCgnPycpXG4gICAgICA/IFVybFR5cGUuUXVlcnlcbiAgICAgIDogaW5wdXQuc3RhcnRzV2l0aCgnIycpXG4gICAgICA/IFVybFR5cGUuSGFzaFxuICAgICAgOiBVcmxUeXBlLlJlbGF0aXZlUGF0aFxuICAgIDogVXJsVHlwZS5FbXB0eTtcbiAgcmV0dXJuIHVybDtcbn1cblxuZnVuY3Rpb24gc3RyaXBQYXRoRmlsZW5hbWUocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gSWYgYSBwYXRoIGVuZHMgd2l0aCBhIHBhcmVudCBkaXJlY3RvcnkgXCIuLlwiLCB0aGVuIGl0J3MgYSByZWxhdGl2ZSBwYXRoIHdpdGggZXhjZXNzIHBhcmVudFxuICAvLyBwYXRocy4gSXQncyBub3QgYSBmaWxlLCBzbyB3ZSBjYW4ndCBzdHJpcCBpdC5cbiAgaWYgKHBhdGguZW5kc1dpdGgoJy8uLicpKSByZXR1cm4gcGF0aDtcbiAgY29uc3QgaW5kZXggPSBwYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gIHJldHVybiBwYXRoLnNsaWNlKDAsIGluZGV4ICsgMSk7XG59XG5cbmZ1bmN0aW9uIG1lcmdlUGF0aHModXJsOiBVcmwsIGJhc2U6IFVybCkge1xuICBub3JtYWxpemVQYXRoKGJhc2UsIGJhc2UudHlwZSk7XG5cbiAgLy8gSWYgdGhlIHBhdGggaXMganVzdCBhIFwiL1wiLCB0aGVuIGl0IHdhcyBhbiBlbXB0eSBwYXRoIHRvIGJlZ2luIHdpdGggKHJlbWVtYmVyLCB3ZSdyZSBhIHJlbGF0aXZlXG4gIC8vIHBhdGgpLlxuICBpZiAodXJsLnBhdGggPT09ICcvJykge1xuICAgIHVybC5wYXRoID0gYmFzZS5wYXRoO1xuICB9IGVsc2Uge1xuICAgIC8vIFJlc29sdXRpb24gaGFwcGVucyByZWxhdGl2ZSB0byB0aGUgYmFzZSBwYXRoJ3MgZGlyZWN0b3J5LCBub3QgdGhlIGZpbGUuXG4gICAgdXJsLnBhdGggPSBzdHJpcFBhdGhGaWxlbmFtZShiYXNlLnBhdGgpICsgdXJsLnBhdGg7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgcGF0aCBjYW4gaGF2ZSBlbXB0eSBkaXJlY3RvcmllcyBcIi8vXCIsIHVubmVlZGVkIHBhcmVudHMgXCJmb28vLi5cIiwgb3IgY3VycmVudCBkaXJlY3RvcnlcbiAqIFwiZm9vLy5cIi4gV2UgbmVlZCB0byBub3JtYWxpemUgdG8gYSBzdGFuZGFyZCByZXByZXNlbnRhdGlvbi5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplUGF0aCh1cmw6IFVybCwgdHlwZTogVXJsVHlwZSkge1xuICBjb25zdCByZWwgPSB0eXBlIDw9IFVybFR5cGUuUmVsYXRpdmVQYXRoO1xuICBjb25zdCBwaWVjZXMgPSB1cmwucGF0aC5zcGxpdCgnLycpO1xuXG4gIC8vIFdlIG5lZWQgdG8gcHJlc2VydmUgdGhlIGZpcnN0IHBpZWNlIGFsd2F5cywgc28gdGhhdCB3ZSBvdXRwdXQgYSBsZWFkaW5nIHNsYXNoLiBUaGUgaXRlbSBhdFxuICAvLyBwaWVjZXNbMF0gaXMgYW4gZW1wdHkgc3RyaW5nLlxuICBsZXQgcG9pbnRlciA9IDE7XG5cbiAgLy8gUG9zaXRpdmUgaXMgdGhlIG51bWJlciBvZiByZWFsIGRpcmVjdG9yaWVzIHdlJ3ZlIG91dHB1dCwgdXNlZCBmb3IgcG9wcGluZyBhIHBhcmVudCBkaXJlY3RvcnkuXG4gIC8vIEVnLCBcImZvby9iYXIvLi5cIiB3aWxsIGhhdmUgYSBwb3NpdGl2ZSAyLCBhbmQgd2UgY2FuIGRlY3JlbWVudCB0byBiZSBsZWZ0IHdpdGgganVzdCBcImZvb1wiLlxuICBsZXQgcG9zaXRpdmUgPSAwO1xuXG4gIC8vIFdlIG5lZWQgdG8ga2VlcCBhIHRyYWlsaW5nIHNsYXNoIGlmIHdlIGVuY291bnRlciBhbiBlbXB0eSBkaXJlY3RvcnkgKGVnLCBzcGxpdHRpbmcgXCJmb28vXCIgd2lsbFxuICAvLyBnZW5lcmF0ZSBgW1wiZm9vXCIsIFwiXCJdYCBwaWVjZXMpLiBBbmQsIGlmIHdlIHBvcCBhIHBhcmVudCBkaXJlY3RvcnkuIEJ1dCBvbmNlIHdlIGVuY291bnRlciBhXG4gIC8vIHJlYWwgZGlyZWN0b3J5LCB3ZSB3b24ndCBuZWVkIHRvIGFwcGVuZCwgdW5sZXNzIHRoZSBvdGhlciBjb25kaXRpb25zIGhhcHBlbiBhZ2Fpbi5cbiAgbGV0IGFkZFRyYWlsaW5nU2xhc2ggPSBmYWxzZTtcblxuICBmb3IgKGxldCBpID0gMTsgaSA8IHBpZWNlcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHBpZWNlID0gcGllY2VzW2ldO1xuXG4gICAgLy8gQW4gZW1wdHkgZGlyZWN0b3J5LCBjb3VsZCBiZSBhIHRyYWlsaW5nIHNsYXNoLCBvciBqdXN0IGEgZG91YmxlIFwiLy9cIiBpbiB0aGUgcGF0aC5cbiAgICBpZiAoIXBpZWNlKSB7XG4gICAgICBhZGRUcmFpbGluZ1NsYXNoID0gdHJ1ZTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGVuY291bnRlciBhIHJlYWwgZGlyZWN0b3J5LCB0aGVuIHdlIGRvbid0IG5lZWQgdG8gYXBwZW5kIGFueW1vcmUuXG4gICAgYWRkVHJhaWxpbmdTbGFzaCA9IGZhbHNlO1xuXG4gICAgLy8gQSBjdXJyZW50IGRpcmVjdG9yeSwgd2hpY2ggd2UgY2FuIGFsd2F5cyBkcm9wLlxuICAgIGlmIChwaWVjZSA9PT0gJy4nKSBjb250aW51ZTtcblxuICAgIC8vIEEgcGFyZW50IGRpcmVjdG9yeSwgd2UgbmVlZCB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSByZWFsIGRpcmVjdG9yaWVzIHdlIGNhbiBwb3AuIEVsc2UsIHdlXG4gICAgLy8gaGF2ZSBhbiBleGNlc3Mgb2YgcGFyZW50cywgYW5kIHdlJ2xsIG5lZWQgdG8ga2VlcCB0aGUgXCIuLlwiLlxuICAgIGlmIChwaWVjZSA9PT0gJy4uJykge1xuICAgICAgaWYgKHBvc2l0aXZlKSB7XG4gICAgICAgIGFkZFRyYWlsaW5nU2xhc2ggPSB0cnVlO1xuICAgICAgICBwb3NpdGl2ZS0tO1xuICAgICAgICBwb2ludGVyLS07XG4gICAgICB9IGVsc2UgaWYgKHJlbCkge1xuICAgICAgICAvLyBJZiB3ZSdyZSBpbiBhIHJlbGF0aXZlUGF0aCwgdGhlbiB3ZSBuZWVkIHRvIGtlZXAgdGhlIGV4Y2VzcyBwYXJlbnRzLiBFbHNlLCBpbiBhbiBhYnNvbHV0ZVxuICAgICAgICAvLyBVUkwsIHByb3RvY29sIHJlbGF0aXZlIFVSTCwgb3IgYW4gYWJzb2x1dGUgcGF0aCwgd2UgZG9uJ3QgbmVlZCB0byBrZWVwIGV4Y2Vzcy5cbiAgICAgICAgcGllY2VzW3BvaW50ZXIrK10gPSBwaWVjZTtcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIFdlJ3ZlIGVuY291bnRlcmVkIGEgcmVhbCBkaXJlY3RvcnkuIE1vdmUgaXQgdG8gdGhlIG5leHQgaW5zZXJ0aW9uIHBvaW50ZXIsIHdoaWNoIGFjY291bnRzIGZvclxuICAgIC8vIGFueSBwb3BwZWQgb3IgZHJvcHBlZCBkaXJlY3Rvcmllcy5cbiAgICBwaWVjZXNbcG9pbnRlcisrXSA9IHBpZWNlO1xuICAgIHBvc2l0aXZlKys7XG4gIH1cblxuICBsZXQgcGF0aCA9ICcnO1xuICBmb3IgKGxldCBpID0gMTsgaSA8IHBvaW50ZXI7IGkrKykge1xuICAgIHBhdGggKz0gJy8nICsgcGllY2VzW2ldO1xuICB9XG4gIGlmICghcGF0aCB8fCAoYWRkVHJhaWxpbmdTbGFzaCAmJiAhcGF0aC5lbmRzV2l0aCgnLy4uJykpKSB7XG4gICAgcGF0aCArPSAnLyc7XG4gIH1cbiAgdXJsLnBhdGggPSBwYXRoO1xufVxuXG4vKipcbiAqIEF0dGVtcHRzIHRvIHJlc29sdmUgYGlucHV0YCBVUkwvcGF0aCByZWxhdGl2ZSB0byBgYmFzZWAuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlc29sdmUoaW5wdXQ6IHN0cmluZywgYmFzZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgaWYgKCFpbnB1dCAmJiAhYmFzZSkgcmV0dXJuICcnO1xuXG4gIGNvbnN0IHVybCA9IHBhcnNlVXJsKGlucHV0KTtcbiAgbGV0IGlucHV0VHlwZSA9IHVybC50eXBlO1xuXG4gIGlmIChiYXNlICYmIGlucHV0VHlwZSAhPT0gVXJsVHlwZS5BYnNvbHV0ZSkge1xuICAgIGNvbnN0IGJhc2VVcmwgPSBwYXJzZVVybChiYXNlKTtcbiAgICBjb25zdCBiYXNlVHlwZSA9IGJhc2VVcmwudHlwZTtcblxuICAgIHN3aXRjaCAoaW5wdXRUeXBlKSB7XG4gICAgICBjYXNlIFVybFR5cGUuRW1wdHk6XG4gICAgICAgIHVybC5oYXNoID0gYmFzZVVybC5oYXNoO1xuICAgICAgLy8gZmFsbCB0aHJvdWdoXG5cbiAgICAgIGNhc2UgVXJsVHlwZS5IYXNoOlxuICAgICAgICB1cmwucXVlcnkgPSBiYXNlVXJsLnF1ZXJ5O1xuICAgICAgLy8gZmFsbCB0aHJvdWdoXG5cbiAgICAgIGNhc2UgVXJsVHlwZS5RdWVyeTpcbiAgICAgIGNhc2UgVXJsVHlwZS5SZWxhdGl2ZVBhdGg6XG4gICAgICAgIG1lcmdlUGF0aHModXJsLCBiYXNlVXJsKTtcbiAgICAgIC8vIGZhbGwgdGhyb3VnaFxuXG4gICAgICBjYXNlIFVybFR5cGUuQWJzb2x1dGVQYXRoOlxuICAgICAgICAvLyBUaGUgaG9zdCwgdXNlciwgYW5kIHBvcnQgYXJlIGpvaW5lZCwgeW91IGNhbid0IGNvcHkgb25lIHdpdGhvdXQgdGhlIG90aGVycy5cbiAgICAgICAgdXJsLnVzZXIgPSBiYXNlVXJsLnVzZXI7XG4gICAgICAgIHVybC5ob3N0ID0gYmFzZVVybC5ob3N0O1xuICAgICAgICB1cmwucG9ydCA9IGJhc2VVcmwucG9ydDtcbiAgICAgIC8vIGZhbGwgdGhyb3VnaFxuXG4gICAgICBjYXNlIFVybFR5cGUuU2NoZW1lUmVsYXRpdmU6XG4gICAgICAgIC8vIFRoZSBpbnB1dCBkb2Vzbid0IGhhdmUgYSBzY2hlbWEgYXQgbGVhc3QsIHNvIHdlIG5lZWQgdG8gY29weSBhdCBsZWFzdCB0aGF0IG92ZXIuXG4gICAgICAgIHVybC5zY2hlbWUgPSBiYXNlVXJsLnNjaGVtZTtcbiAgICB9XG4gICAgaWYgKGJhc2VUeXBlID4gaW5wdXRUeXBlKSBpbnB1dFR5cGUgPSBiYXNlVHlwZTtcbiAgfVxuXG4gIG5vcm1hbGl6ZVBhdGgodXJsLCBpbnB1dFR5cGUpO1xuXG4gIGNvbnN0IHF1ZXJ5SGFzaCA9IHVybC5xdWVyeSArIHVybC5oYXNoO1xuICBzd2l0Y2ggKGlucHV0VHlwZSkge1xuICAgIC8vIFRoaXMgaXMgaW1wb3NzaWJsZSwgYmVjYXVzZSBvZiB0aGUgZW1wdHkgY2hlY2tzIGF0IHRoZSBzdGFydCBvZiB0aGUgZnVuY3Rpb24uXG4gICAgLy8gY2FzZSBVcmxUeXBlLkVtcHR5OlxuXG4gICAgY2FzZSBVcmxUeXBlLkhhc2g6XG4gICAgY2FzZSBVcmxUeXBlLlF1ZXJ5OlxuICAgICAgcmV0dXJuIHF1ZXJ5SGFzaDtcblxuICAgIGNhc2UgVXJsVHlwZS5SZWxhdGl2ZVBhdGg6IHtcbiAgICAgIC8vIFRoZSBmaXJzdCBjaGFyIGlzIGFsd2F5cyBhIFwiL1wiLCBhbmQgd2UgbmVlZCBpdCB0byBiZSByZWxhdGl2ZS5cbiAgICAgIGNvbnN0IHBhdGggPSB1cmwucGF0aC5zbGljZSgxKTtcblxuICAgICAgaWYgKCFwYXRoKSByZXR1cm4gcXVlcnlIYXNoIHx8ICcuJztcblxuICAgICAgaWYgKGlzUmVsYXRpdmUoYmFzZSB8fCBpbnB1dCkgJiYgIWlzUmVsYXRpdmUocGF0aCkpIHtcbiAgICAgICAgLy8gSWYgYmFzZSBzdGFydGVkIHdpdGggYSBsZWFkaW5nIFwiLlwiLCBvciB0aGVyZSBpcyBubyBiYXNlIGFuZCBpbnB1dCBzdGFydGVkIHdpdGggYSBcIi5cIixcbiAgICAgICAgLy8gdGhlbiB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSByZWxhdGl2ZSBwYXRoIHN0YXJ0cyB3aXRoIGEgXCIuXCIuIFdlIGRvbid0IGtub3cgaWZcbiAgICAgICAgLy8gcmVsYXRpdmUgc3RhcnRzIHdpdGggYSBcIi4uXCIsIHRob3VnaCwgc28gY2hlY2sgYmVmb3JlIHByZXBlbmRpbmcuXG4gICAgICAgIHJldHVybiAnLi8nICsgcGF0aCArIHF1ZXJ5SGFzaDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhdGggKyBxdWVyeUhhc2g7XG4gICAgfVxuXG4gICAgY2FzZSBVcmxUeXBlLkFic29sdXRlUGF0aDpcbiAgICAgIHJldHVybiB1cmwucGF0aCArIHF1ZXJ5SGFzaDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdXJsLnNjaGVtZSArICcvLycgKyB1cmwudXNlciArIHVybC5ob3N0ICsgdXJsLnBvcnQgKyB1cmwucGF0aCArIHF1ZXJ5SGFzaDtcbiAgfVxufVxuIiwgImltcG9ydCByZXNvbHZlVXJpIGZyb20gJ0BqcmlkZ2V3ZWxsL3Jlc29sdmUtdXJpJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb2x2ZShpbnB1dDogc3RyaW5nLCBiYXNlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAvLyBUaGUgYmFzZSBpcyBhbHdheXMgdHJlYXRlZCBhcyBhIGRpcmVjdG9yeSwgaWYgaXQncyBub3QgZW1wdHkuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3NvdXJjZS1tYXAvYmxvYi84Y2IzZWU1Ny9saWIvdXRpbC5qcyNMMzI3XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJvbWl1bS9jaHJvbWl1bS9ibG9iL2RhNGFkYmIzL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2RldnRvb2xzL2Zyb250X2VuZC9zZGsvU291cmNlTWFwLmpzI0w0MDAtTDQwMVxuICBpZiAoYmFzZSAmJiAhYmFzZS5lbmRzV2l0aCgnLycpKSBiYXNlICs9ICcvJztcblxuICByZXR1cm4gcmVzb2x2ZVVyaShpbnB1dCwgYmFzZSk7XG59XG4iLCAiLyoqXG4gKiBSZW1vdmVzIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGxhc3QgXCIvXCIsIGJ1dCBsZWF2ZXMgdGhlIHNsYXNoLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdHJpcEZpbGVuYW1lKHBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwpOiBzdHJpbmcge1xuICBpZiAoIXBhdGgpIHJldHVybiAnJztcbiAgY29uc3QgaW5kZXggPSBwYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gIHJldHVybiBwYXRoLnNsaWNlKDAsIGluZGV4ICsgMSk7XG59XG4iLCAidHlwZSBHZW5lcmF0ZWRDb2x1bW4gPSBudW1iZXI7XG50eXBlIFNvdXJjZXNJbmRleCA9IG51bWJlcjtcbnR5cGUgU291cmNlTGluZSA9IG51bWJlcjtcbnR5cGUgU291cmNlQ29sdW1uID0gbnVtYmVyO1xudHlwZSBOYW1lc0luZGV4ID0gbnVtYmVyO1xuXG50eXBlIEdlbmVyYXRlZExpbmUgPSBudW1iZXI7XG5cbmV4cG9ydCB0eXBlIFNvdXJjZU1hcFNlZ21lbnQgPVxuICB8IFtHZW5lcmF0ZWRDb2x1bW5dXG4gIHwgW0dlbmVyYXRlZENvbHVtbiwgU291cmNlc0luZGV4LCBTb3VyY2VMaW5lLCBTb3VyY2VDb2x1bW5dXG4gIHwgW0dlbmVyYXRlZENvbHVtbiwgU291cmNlc0luZGV4LCBTb3VyY2VMaW5lLCBTb3VyY2VDb2x1bW4sIE5hbWVzSW5kZXhdO1xuXG5leHBvcnQgdHlwZSBSZXZlcnNlU2VnbWVudCA9IFtTb3VyY2VDb2x1bW4sIEdlbmVyYXRlZExpbmUsIEdlbmVyYXRlZENvbHVtbl07XG5cbmV4cG9ydCBjb25zdCBDT0xVTU4gPSAwO1xuZXhwb3J0IGNvbnN0IFNPVVJDRVNfSU5ERVggPSAxO1xuZXhwb3J0IGNvbnN0IFNPVVJDRV9MSU5FID0gMjtcbmV4cG9ydCBjb25zdCBTT1VSQ0VfQ09MVU1OID0gMztcbmV4cG9ydCBjb25zdCBOQU1FU19JTkRFWCA9IDQ7XG5cbmV4cG9ydCBjb25zdCBSRVZfR0VORVJBVEVEX0xJTkUgPSAxO1xuZXhwb3J0IGNvbnN0IFJFVl9HRU5FUkFURURfQ09MVU1OID0gMjtcbiIsICJpbXBvcnQgeyBDT0xVTU4gfSBmcm9tICcuL3NvdXJjZW1hcC1zZWdtZW50JztcblxuaW1wb3J0IHR5cGUgeyBTb3VyY2VNYXBTZWdtZW50IH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1heWJlU29ydChcbiAgbWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdLFxuICBvd25lZDogYm9vbGVhbixcbik6IFNvdXJjZU1hcFNlZ21lbnRbXVtdIHtcbiAgY29uc3QgdW5zb3J0ZWRJbmRleCA9IG5leHRVbnNvcnRlZFNlZ21lbnRMaW5lKG1hcHBpbmdzLCAwKTtcbiAgaWYgKHVuc29ydGVkSW5kZXggPT09IG1hcHBpbmdzLmxlbmd0aCkgcmV0dXJuIG1hcHBpbmdzO1xuXG4gIC8vIElmIHdlIG93biB0aGUgYXJyYXkgKG1lYW5pbmcgd2UgcGFyc2VkIGl0IGZyb20gSlNPTiksIHRoZW4gd2UncmUgZnJlZSB0byBkaXJlY3RseSBtdXRhdGUgaXQuIElmXG4gIC8vIG5vdCwgd2UgZG8gbm90IHdhbnQgdG8gbW9kaWZ5IHRoZSBjb25zdW1lcidzIGlucHV0IGFycmF5LlxuICBpZiAoIW93bmVkKSBtYXBwaW5ncyA9IG1hcHBpbmdzLnNsaWNlKCk7XG5cbiAgZm9yIChsZXQgaSA9IHVuc29ydGVkSW5kZXg7IGkgPCBtYXBwaW5ncy5sZW5ndGg7IGkgPSBuZXh0VW5zb3J0ZWRTZWdtZW50TGluZShtYXBwaW5ncywgaSArIDEpKSB7XG4gICAgbWFwcGluZ3NbaV0gPSBzb3J0U2VnbWVudHMobWFwcGluZ3NbaV0sIG93bmVkKTtcbiAgfVxuICByZXR1cm4gbWFwcGluZ3M7XG59XG5cbmZ1bmN0aW9uIG5leHRVbnNvcnRlZFNlZ21lbnRMaW5lKG1hcHBpbmdzOiBTb3VyY2VNYXBTZWdtZW50W11bXSwgc3RhcnQ6IG51bWJlcik6IG51bWJlciB7XG4gIGZvciAobGV0IGkgPSBzdGFydDsgaSA8IG1hcHBpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKCFpc1NvcnRlZChtYXBwaW5nc1tpXSkpIHJldHVybiBpO1xuICB9XG4gIHJldHVybiBtYXBwaW5ncy5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGlzU29ydGVkKGxpbmU6IFNvdXJjZU1hcFNlZ21lbnRbXSk6IGJvb2xlYW4ge1xuICBmb3IgKGxldCBqID0gMTsgaiA8IGxpbmUubGVuZ3RoOyBqKyspIHtcbiAgICBpZiAobGluZVtqXVtDT0xVTU5dIDwgbGluZVtqIC0gMV1bQ09MVU1OXSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gc29ydFNlZ21lbnRzKGxpbmU6IFNvdXJjZU1hcFNlZ21lbnRbXSwgb3duZWQ6IGJvb2xlYW4pOiBTb3VyY2VNYXBTZWdtZW50W10ge1xuICBpZiAoIW93bmVkKSBsaW5lID0gbGluZS5zbGljZSgpO1xuICByZXR1cm4gbGluZS5zb3J0KHNvcnRDb21wYXJhdG9yKTtcbn1cblxuZnVuY3Rpb24gc29ydENvbXBhcmF0b3IoYTogU291cmNlTWFwU2VnbWVudCwgYjogU291cmNlTWFwU2VnbWVudCk6IG51bWJlciB7XG4gIHJldHVybiBhW0NPTFVNTl0gLSBiW0NPTFVNTl07XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBTb3VyY2VNYXBTZWdtZW50LCBSZXZlcnNlU2VnbWVudCB9IGZyb20gJy4vc291cmNlbWFwLXNlZ21lbnQnO1xuaW1wb3J0IHsgQ09MVU1OIH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5cbmV4cG9ydCB0eXBlIE1lbW9TdGF0ZSA9IHtcbiAgbGFzdEtleTogbnVtYmVyO1xuICBsYXN0TmVlZGxlOiBudW1iZXI7XG4gIGxhc3RJbmRleDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGxldCBmb3VuZCA9IGZhbHNlO1xuXG4vKipcbiAqIEEgYmluYXJ5IHNlYXJjaCBpbXBsZW1lbnRhdGlvbiB0aGF0IHJldHVybnMgdGhlIGluZGV4IGlmIGEgbWF0Y2ggaXMgZm91bmQuXG4gKiBJZiBubyBtYXRjaCBpcyBmb3VuZCwgdGhlbiB0aGUgbGVmdC1pbmRleCAodGhlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbSB0aGF0IGNvbWVzIGp1c3RcbiAqIGJlZm9yZSB0aGUgZGVzaXJlZCBpbmRleCkgaXMgcmV0dXJuZWQuIFRvIG1haW50YWluIHByb3BlciBzb3J0IG9yZGVyLCBhIHNwbGljZSB3b3VsZCBoYXBwZW4gYXRcbiAqIHRoZSBuZXh0IGluZGV4OlxuICpcbiAqIGBgYGpzXG4gKiBjb25zdCBhcnJheSA9IFsxLCAzXTtcbiAqIGNvbnN0IG5lZWRsZSA9IDI7XG4gKiBjb25zdCBpbmRleCA9IGJpbmFyeVNlYXJjaChhcnJheSwgbmVlZGxlLCAoaXRlbSwgbmVlZGxlKSA9PiBpdGVtIC0gbmVlZGxlKTtcbiAqXG4gKiBhc3NlcnQuZXF1YWwoaW5kZXgsIDApO1xuICogYXJyYXkuc3BsaWNlKGluZGV4ICsgMSwgMCwgbmVlZGxlKTtcbiAqIGFzc2VydC5kZWVwRXF1YWwoYXJyYXksIFsxLCAyLCAzXSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmFyeVNlYXJjaChcbiAgaGF5c3RhY2s6IFNvdXJjZU1hcFNlZ21lbnRbXSB8IFJldmVyc2VTZWdtZW50W10sXG4gIG5lZWRsZTogbnVtYmVyLFxuICBsb3c6IG51bWJlcixcbiAgaGlnaDogbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgd2hpbGUgKGxvdyA8PSBoaWdoKSB7XG4gICAgY29uc3QgbWlkID0gbG93ICsgKChoaWdoIC0gbG93KSA+PiAxKTtcbiAgICBjb25zdCBjbXAgPSBoYXlzdGFja1ttaWRdW0NPTFVNTl0gLSBuZWVkbGU7XG5cbiAgICBpZiAoY21wID09PSAwKSB7XG4gICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gbWlkO1xuICAgIH1cblxuICAgIGlmIChjbXAgPCAwKSB7XG4gICAgICBsb3cgPSBtaWQgKyAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaWdoID0gbWlkIC0gMTtcbiAgICB9XG4gIH1cblxuICBmb3VuZCA9IGZhbHNlO1xuICByZXR1cm4gbG93IC0gMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwcGVyQm91bmQoXG4gIGhheXN0YWNrOiBTb3VyY2VNYXBTZWdtZW50W10gfCBSZXZlcnNlU2VnbWVudFtdLFxuICBuZWVkbGU6IG51bWJlcixcbiAgaW5kZXg6IG51bWJlcixcbik6IG51bWJlciB7XG4gIGZvciAobGV0IGkgPSBpbmRleCArIDE7IGkgPCBoYXlzdGFjay5sZW5ndGg7IGluZGV4ID0gaSsrKSB7XG4gICAgaWYgKGhheXN0YWNrW2ldW0NPTFVNTl0gIT09IG5lZWRsZSkgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG93ZXJCb3VuZChcbiAgaGF5c3RhY2s6IFNvdXJjZU1hcFNlZ21lbnRbXSB8IFJldmVyc2VTZWdtZW50W10sXG4gIG5lZWRsZTogbnVtYmVyLFxuICBpbmRleDogbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgZm9yIChsZXQgaSA9IGluZGV4IC0gMTsgaSA+PSAwOyBpbmRleCA9IGktLSkge1xuICAgIGlmIChoYXlzdGFja1tpXVtDT0xVTU5dICE9PSBuZWVkbGUpIGJyZWFrO1xuICB9XG4gIHJldHVybiBpbmRleDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lbW9pemVkU3RhdGUoKTogTWVtb1N0YXRlIHtcbiAgcmV0dXJuIHtcbiAgICBsYXN0S2V5OiAtMSxcbiAgICBsYXN0TmVlZGxlOiAtMSxcbiAgICBsYXN0SW5kZXg6IC0xLFxuICB9O1xufVxuXG4vKipcbiAqIFRoaXMgb3Zlcmx5IGNvbXBsaWNhdGVkIGJlYXN0IGlzIGp1c3QgdG8gcmVjb3JkIHRoZSBsYXN0IHRlc3RlZCBsaW5lL2NvbHVtbiBhbmQgdGhlIHJlc3VsdGluZ1xuICogaW5kZXgsIGFsbG93aW5nIHVzIHRvIHNraXAgYSBmZXcgdGVzdHMgaWYgbWFwcGluZ3MgYXJlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lbW9pemVkQmluYXJ5U2VhcmNoKFxuICBoYXlzdGFjazogU291cmNlTWFwU2VnbWVudFtdIHwgUmV2ZXJzZVNlZ21lbnRbXSxcbiAgbmVlZGxlOiBudW1iZXIsXG4gIHN0YXRlOiBNZW1vU3RhdGUsXG4gIGtleTogbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgY29uc3QgeyBsYXN0S2V5LCBsYXN0TmVlZGxlLCBsYXN0SW5kZXggfSA9IHN0YXRlO1xuXG4gIGxldCBsb3cgPSAwO1xuICBsZXQgaGlnaCA9IGhheXN0YWNrLmxlbmd0aCAtIDE7XG4gIGlmIChrZXkgPT09IGxhc3RLZXkpIHtcbiAgICBpZiAobmVlZGxlID09PSBsYXN0TmVlZGxlKSB7XG4gICAgICBmb3VuZCA9IGxhc3RJbmRleCAhPT0gLTEgJiYgaGF5c3RhY2tbbGFzdEluZGV4XVtDT0xVTU5dID09PSBuZWVkbGU7XG4gICAgICByZXR1cm4gbGFzdEluZGV4O1xuICAgIH1cblxuICAgIGlmIChuZWVkbGUgPj0gbGFzdE5lZWRsZSkge1xuICAgICAgLy8gbGFzdEluZGV4IG1heSBiZSAtMSBpZiB0aGUgcHJldmlvdXMgbmVlZGxlIHdhcyBub3QgZm91bmQuXG4gICAgICBsb3cgPSBsYXN0SW5kZXggPT09IC0xID8gMCA6IGxhc3RJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlnaCA9IGxhc3RJbmRleDtcbiAgICB9XG4gIH1cbiAgc3RhdGUubGFzdEtleSA9IGtleTtcbiAgc3RhdGUubGFzdE5lZWRsZSA9IG5lZWRsZTtcblxuICByZXR1cm4gKHN0YXRlLmxhc3RJbmRleCA9IGJpbmFyeVNlYXJjaChoYXlzdGFjaywgbmVlZGxlLCBsb3csIGhpZ2gpKTtcbn1cbiIsICJpbXBvcnQgeyBDT0xVTU4sIFNPVVJDRVNfSU5ERVgsIFNPVVJDRV9MSU5FLCBTT1VSQ0VfQ09MVU1OIH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5pbXBvcnQgeyBtZW1vaXplZEJpbmFyeVNlYXJjaCwgdXBwZXJCb3VuZCB9IGZyb20gJy4vYmluYXJ5LXNlYXJjaCc7XG5cbmltcG9ydCB0eXBlIHsgUmV2ZXJzZVNlZ21lbnQsIFNvdXJjZU1hcFNlZ21lbnQgfSBmcm9tICcuL3NvdXJjZW1hcC1zZWdtZW50JztcbmltcG9ydCB0eXBlIHsgTWVtb1N0YXRlIH0gZnJvbSAnLi9iaW5hcnktc2VhcmNoJztcblxuZXhwb3J0IHR5cGUgU291cmNlID0ge1xuICBfX3Byb3RvX186IG51bGw7XG4gIFtsaW5lOiBudW1iZXJdOiBFeGNsdWRlPFJldmVyc2VTZWdtZW50LCBbbnVtYmVyXT5bXTtcbn07XG5cbi8vIFJlYnVpbGRzIHRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZXMsIHdpdGggbWFwcGluZ3MgdGhhdCBhcmUgb3JkZXJlZCBieSBzb3VyY2UgbGluZS9jb2x1bW4gaW5zdGVhZFxuLy8gb2YgZ2VuZXJhdGVkIGxpbmUvY29sdW1uLlxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYnVpbGRCeVNvdXJjZXMoXG4gIGRlY29kZWQ6IHJlYWRvbmx5IFNvdXJjZU1hcFNlZ21lbnRbXVtdLFxuICBtZW1vczogTWVtb1N0YXRlW10sXG4pOiBTb3VyY2VbXSB7XG4gIGNvbnN0IHNvdXJjZXM6IFNvdXJjZVtdID0gbWVtb3MubWFwKGJ1aWxkTnVsbEFycmF5KTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY29kZWQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBsaW5lID0gZGVjb2RlZFtpXTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGxpbmUubGVuZ3RoOyBqKyspIHtcbiAgICAgIGNvbnN0IHNlZyA9IGxpbmVbal07XG4gICAgICBpZiAoc2VnLmxlbmd0aCA9PT0gMSkgY29udGludWU7XG5cbiAgICAgIGNvbnN0IHNvdXJjZUluZGV4ID0gc2VnW1NPVVJDRVNfSU5ERVhdO1xuICAgICAgY29uc3Qgc291cmNlTGluZSA9IHNlZ1tTT1VSQ0VfTElORV07XG4gICAgICBjb25zdCBzb3VyY2VDb2x1bW4gPSBzZWdbU09VUkNFX0NPTFVNTl07XG4gICAgICBjb25zdCBvcmlnaW5hbFNvdXJjZSA9IHNvdXJjZXNbc291cmNlSW5kZXhdO1xuICAgICAgY29uc3Qgb3JpZ2luYWxMaW5lID0gKG9yaWdpbmFsU291cmNlW3NvdXJjZUxpbmVdIHx8PSBbXSk7XG4gICAgICBjb25zdCBtZW1vID0gbWVtb3Nbc291cmNlSW5kZXhdO1xuXG4gICAgICAvLyBUaGUgYmluYXJ5IHNlYXJjaCBlaXRoZXIgZm91bmQgYSBtYXRjaCwgb3IgaXQgZm91bmQgdGhlIGxlZnQtaW5kZXgganVzdCBiZWZvcmUgd2hlcmUgdGhlXG4gICAgICAvLyBzZWdtZW50IHNob3VsZCBnby4gRWl0aGVyIHdheSwgd2Ugd2FudCB0byBpbnNlcnQgYWZ0ZXIgdGhhdC4gQW5kIHRoZXJlIG1heSBiZSBtdWx0aXBsZVxuICAgICAgLy8gZ2VuZXJhdGVkIHNlZ21lbnRzIGFzc29jaWF0ZWQgd2l0aCBhbiBvcmlnaW5hbCBsb2NhdGlvbiwgc28gdGhlcmUgbWF5IG5lZWQgdG8gbW92ZSBzZXZlcmFsXG4gICAgICAvLyBpbmRleGVzIGJlZm9yZSB3ZSBmaW5kIHdoZXJlIHdlIG5lZWQgdG8gaW5zZXJ0LlxuICAgICAgbGV0IGluZGV4ID0gdXBwZXJCb3VuZChcbiAgICAgICAgb3JpZ2luYWxMaW5lLFxuICAgICAgICBzb3VyY2VDb2x1bW4sXG4gICAgICAgIG1lbW9pemVkQmluYXJ5U2VhcmNoKG9yaWdpbmFsTGluZSwgc291cmNlQ29sdW1uLCBtZW1vLCBzb3VyY2VMaW5lKSxcbiAgICAgICk7XG5cbiAgICAgIG1lbW8ubGFzdEluZGV4ID0gKytpbmRleDtcbiAgICAgIGluc2VydChvcmlnaW5hbExpbmUsIGluZGV4LCBbc291cmNlQ29sdW1uLCBpLCBzZWdbQ09MVU1OXV0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzb3VyY2VzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnQ8VD4oYXJyYXk6IFRbXSwgaW5kZXg6IG51bWJlciwgdmFsdWU6IFQpIHtcbiAgZm9yIChsZXQgaSA9IGFycmF5Lmxlbmd0aDsgaSA+IGluZGV4OyBpLS0pIHtcbiAgICBhcnJheVtpXSA9IGFycmF5W2kgLSAxXTtcbiAgfVxuICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbn1cblxuLy8gTnVsbCBhcnJheXMgYWxsb3cgdXMgdG8gdXNlIG9yZGVyZWQgaW5kZXgga2V5cyB3aXRob3V0IGFjdHVhbGx5IGFsbG9jYXRpbmcgY29udGlndW91cyBtZW1vcnkgbGlrZVxuLy8gYSByZWFsIGFycmF5LiBXZSB1c2UgYSBudWxsLXByb3RvdHlwZSBvYmplY3QgdG8gYXZvaWQgcHJvdG90eXBlIHBvbGx1dGlvbiBhbmQgZGVvcHRpbWl6YXRpb25zLlxuLy8gTnVtZXJpYyBwcm9wZXJ0aWVzIG9uIG9iamVjdHMgYXJlIG1hZ2ljYWxseSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyIGJ5IHRoZSBlbmdpbmUgcmVnYXJkbGVzcyBvZlxuLy8gdGhlIGluc2VydGlvbiBvcmRlci4gU28sIGJ5IHNldHRpbmcgYW55IG51bWVyaWMga2V5cywgZXZlbiBvdXQgb2Ygb3JkZXIsIHdlJ2xsIGdldCBhc2NlbmRpbmdcbi8vIG9yZGVyIHdoZW4gaXRlcmF0aW5nIHdpdGggZm9yLWluLlxuZnVuY3Rpb24gYnVpbGROdWxsQXJyYXk8VCBleHRlbmRzIHsgX19wcm90b19fOiBudWxsIH0+KCk6IFQge1xuICByZXR1cm4geyBfX3Byb3RvX186IG51bGwgfSBhcyBUO1xufVxuIiwgImltcG9ydCB7IFRyYWNlTWFwLCBwcmVzb3J0ZWREZWNvZGVkTWFwLCBkZWNvZGVkTWFwcGluZ3MgfSBmcm9tICcuL3RyYWNlLW1hcHBpbmcnO1xuaW1wb3J0IHtcbiAgQ09MVU1OLFxuICBTT1VSQ0VTX0lOREVYLFxuICBTT1VSQ0VfTElORSxcbiAgU09VUkNFX0NPTFVNTixcbiAgTkFNRVNfSU5ERVgsXG59IGZyb20gJy4vc291cmNlbWFwLXNlZ21lbnQnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIERlY29kZWRTb3VyY2VNYXAsXG4gIERlY29kZWRTb3VyY2VNYXBYSW5wdXQsXG4gIEVuY29kZWRTb3VyY2VNYXBYSW5wdXQsXG4gIFNlY3Rpb25lZFNvdXJjZU1hcFhJbnB1dCxcbiAgU2VjdGlvbmVkU291cmNlTWFwSW5wdXQsXG4gIFNlY3Rpb25YSW5wdXQsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBTb3VyY2VNYXBTZWdtZW50IH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5cbnR5cGUgQW55TWFwID0ge1xuICBuZXcgKG1hcDogU2VjdGlvbmVkU291cmNlTWFwSW5wdXQsIG1hcFVybD86IHN0cmluZyB8IG51bGwpOiBUcmFjZU1hcDtcbiAgKG1hcDogU2VjdGlvbmVkU291cmNlTWFwSW5wdXQsIG1hcFVybD86IHN0cmluZyB8IG51bGwpOiBUcmFjZU1hcDtcbn07XG5cbmV4cG9ydCBjb25zdCBBbnlNYXA6IEFueU1hcCA9IGZ1bmN0aW9uIChtYXAsIG1hcFVybCkge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZShtYXApO1xuXG4gIGlmICghKCdzZWN0aW9ucycgaW4gcGFyc2VkKSkge1xuICAgIHJldHVybiBuZXcgVHJhY2VNYXAocGFyc2VkIGFzIERlY29kZWRTb3VyY2VNYXBYSW5wdXQgfCBFbmNvZGVkU291cmNlTWFwWElucHV0LCBtYXBVcmwpO1xuICB9XG5cbiAgY29uc3QgbWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdID0gW107XG4gIGNvbnN0IHNvdXJjZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHNvdXJjZXNDb250ZW50OiAoc3RyaW5nIHwgbnVsbClbXSA9IFtdO1xuICBjb25zdCBuYW1lczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgaWdub3JlTGlzdDogbnVtYmVyW10gPSBbXTtcblxuICByZWN1cnNlKFxuICAgIHBhcnNlZCxcbiAgICBtYXBVcmwsXG4gICAgbWFwcGluZ3MsXG4gICAgc291cmNlcyxcbiAgICBzb3VyY2VzQ29udGVudCxcbiAgICBuYW1lcyxcbiAgICBpZ25vcmVMaXN0LFxuICAgIDAsXG4gICAgMCxcbiAgICBJbmZpbml0eSxcbiAgICBJbmZpbml0eSxcbiAgKTtcblxuICBjb25zdCBqb2luZWQ6IERlY29kZWRTb3VyY2VNYXAgPSB7XG4gICAgdmVyc2lvbjogMyxcbiAgICBmaWxlOiBwYXJzZWQuZmlsZSxcbiAgICBuYW1lcyxcbiAgICBzb3VyY2VzLFxuICAgIHNvdXJjZXNDb250ZW50LFxuICAgIG1hcHBpbmdzLFxuICAgIGlnbm9yZUxpc3QsXG4gIH07XG5cbiAgcmV0dXJuIHByZXNvcnRlZERlY29kZWRNYXAoam9pbmVkKTtcbn0gYXMgQW55TWFwO1xuXG5mdW5jdGlvbiBwYXJzZTxUPihtYXA6IFQpOiBFeGNsdWRlPFQsIHN0cmluZz4ge1xuICByZXR1cm4gdHlwZW9mIG1hcCA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKG1hcCkgOiBtYXA7XG59XG5cbmZ1bmN0aW9uIHJlY3Vyc2UoXG4gIGlucHV0OiBTZWN0aW9uZWRTb3VyY2VNYXBYSW5wdXQsXG4gIG1hcFVybDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdLFxuICBzb3VyY2VzOiBzdHJpbmdbXSxcbiAgc291cmNlc0NvbnRlbnQ6IChzdHJpbmcgfCBudWxsKVtdLFxuICBuYW1lczogc3RyaW5nW10sXG4gIGlnbm9yZUxpc3Q6IG51bWJlcltdLFxuICBsaW5lT2Zmc2V0OiBudW1iZXIsXG4gIGNvbHVtbk9mZnNldDogbnVtYmVyLFxuICBzdG9wTGluZTogbnVtYmVyLFxuICBzdG9wQ29sdW1uOiBudW1iZXIsXG4pIHtcbiAgY29uc3QgeyBzZWN0aW9ucyB9ID0gaW5wdXQ7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB7IG1hcCwgb2Zmc2V0IH0gPSBzZWN0aW9uc1tpXTtcblxuICAgIGxldCBzbCA9IHN0b3BMaW5lO1xuICAgIGxldCBzYyA9IHN0b3BDb2x1bW47XG4gICAgaWYgKGkgKyAxIDwgc2VjdGlvbnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBuZXh0T2Zmc2V0ID0gc2VjdGlvbnNbaSArIDFdLm9mZnNldDtcbiAgICAgIHNsID0gTWF0aC5taW4oc3RvcExpbmUsIGxpbmVPZmZzZXQgKyBuZXh0T2Zmc2V0LmxpbmUpO1xuXG4gICAgICBpZiAoc2wgPT09IHN0b3BMaW5lKSB7XG4gICAgICAgIHNjID0gTWF0aC5taW4oc3RvcENvbHVtbiwgY29sdW1uT2Zmc2V0ICsgbmV4dE9mZnNldC5jb2x1bW4pO1xuICAgICAgfSBlbHNlIGlmIChzbCA8IHN0b3BMaW5lKSB7XG4gICAgICAgIHNjID0gY29sdW1uT2Zmc2V0ICsgbmV4dE9mZnNldC5jb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgYWRkU2VjdGlvbihcbiAgICAgIG1hcCxcbiAgICAgIG1hcFVybCxcbiAgICAgIG1hcHBpbmdzLFxuICAgICAgc291cmNlcyxcbiAgICAgIHNvdXJjZXNDb250ZW50LFxuICAgICAgbmFtZXMsXG4gICAgICBpZ25vcmVMaXN0LFxuICAgICAgbGluZU9mZnNldCArIG9mZnNldC5saW5lLFxuICAgICAgY29sdW1uT2Zmc2V0ICsgb2Zmc2V0LmNvbHVtbixcbiAgICAgIHNsLFxuICAgICAgc2MsXG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRTZWN0aW9uKFxuICBpbnB1dDogU2VjdGlvblhJbnB1dFsnbWFwJ10sXG4gIG1hcFVybDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdLFxuICBzb3VyY2VzOiBzdHJpbmdbXSxcbiAgc291cmNlc0NvbnRlbnQ6IChzdHJpbmcgfCBudWxsKVtdLFxuICBuYW1lczogc3RyaW5nW10sXG4gIGlnbm9yZUxpc3Q6IG51bWJlcltdLFxuICBsaW5lT2Zmc2V0OiBudW1iZXIsXG4gIGNvbHVtbk9mZnNldDogbnVtYmVyLFxuICBzdG9wTGluZTogbnVtYmVyLFxuICBzdG9wQ29sdW1uOiBudW1iZXIsXG4pIHtcbiAgY29uc3QgcGFyc2VkID0gcGFyc2UoaW5wdXQpO1xuICBpZiAoJ3NlY3Rpb25zJyBpbiBwYXJzZWQpIHJldHVybiByZWN1cnNlKC4uLihhcmd1bWVudHMgYXMgdW5rbm93biBhcyBQYXJhbWV0ZXJzPHR5cGVvZiByZWN1cnNlPikpO1xuXG4gIGNvbnN0IG1hcCA9IG5ldyBUcmFjZU1hcChwYXJzZWQsIG1hcFVybCk7XG4gIGNvbnN0IHNvdXJjZXNPZmZzZXQgPSBzb3VyY2VzLmxlbmd0aDtcbiAgY29uc3QgbmFtZXNPZmZzZXQgPSBuYW1lcy5sZW5ndGg7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVkTWFwcGluZ3MobWFwKTtcbiAgY29uc3QgeyByZXNvbHZlZFNvdXJjZXMsIHNvdXJjZXNDb250ZW50OiBjb250ZW50cywgaWdub3JlTGlzdDogaWdub3JlcyB9ID0gbWFwO1xuXG4gIGFwcGVuZChzb3VyY2VzLCByZXNvbHZlZFNvdXJjZXMpO1xuICBhcHBlbmQobmFtZXMsIG1hcC5uYW1lcyk7XG5cbiAgaWYgKGNvbnRlbnRzKSBhcHBlbmQoc291cmNlc0NvbnRlbnQsIGNvbnRlbnRzKTtcbiAgZWxzZSBmb3IgKGxldCBpID0gMDsgaSA8IHJlc29sdmVkU291cmNlcy5sZW5ndGg7IGkrKykgc291cmNlc0NvbnRlbnQucHVzaChudWxsKTtcblxuICBpZiAoaWdub3JlcykgZm9yIChsZXQgaSA9IDA7IGkgPCBpZ25vcmVzLmxlbmd0aDsgaSsrKSBpZ25vcmVMaXN0LnB1c2goaWdub3Jlc1tpXSArIHNvdXJjZXNPZmZzZXQpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGVjb2RlZC5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGxpbmVJID0gbGluZU9mZnNldCArIGk7XG5cbiAgICAvLyBXZSBjYW4gb25seSBhZGQgc28gbWFueSBsaW5lcyBiZWZvcmUgd2Ugc3RlcCBpbnRvIHRoZSByYW5nZSB0aGF0IHRoZSBuZXh0IHNlY3Rpb24ncyBtYXBcbiAgICAvLyBjb250cm9scy4gV2hlbiB3ZSBnZXQgdG8gdGhlIGxhc3QgbGluZSwgdGhlbiB3ZSdsbCBzdGFydCBjaGVja2luZyB0aGUgc2VnbWVudHMgdG8gc2VlIGlmXG4gICAgLy8gdGhleSd2ZSBjcm9zc2VkIGludG8gdGhlIGNvbHVtbiByYW5nZS4gQnV0IGl0IG1heSBub3QgaGF2ZSBhbnkgY29sdW1ucyB0aGF0IG92ZXJzdGVwLCBzbyB3ZVxuICAgIC8vIHN0aWxsIG5lZWQgdG8gY2hlY2sgdGhhdCB3ZSBkb24ndCBvdmVyc3RlcCBsaW5lcywgdG9vLlxuICAgIGlmIChsaW5lSSA+IHN0b3BMaW5lKSByZXR1cm47XG5cbiAgICAvLyBUaGUgb3V0IGxpbmUgbWF5IGFscmVhZHkgZXhpc3QgaW4gbWFwcGluZ3MgKGlmIHdlJ3JlIGNvbnRpbnVpbmcgdGhlIGxpbmUgc3RhcnRlZCBieSBhXG4gICAgLy8gcHJldmlvdXMgc2VjdGlvbikuIE9yLCB3ZSBtYXkgaGF2ZSBqdW1wZWQgYWhlYWQgc2V2ZXJhbCBsaW5lcyB0byBzdGFydCB0aGlzIHNlY3Rpb24uXG4gICAgY29uc3Qgb3V0ID0gZ2V0TGluZShtYXBwaW5ncywgbGluZUkpO1xuICAgIC8vIE9uIHRoZSAwdGggbG9vcCwgdGhlIHNlY3Rpb24ncyBjb2x1bW4gb2Zmc2V0IHNoaWZ0cyB1cyBmb3J3YXJkLiBPbiBhbGwgb3RoZXIgbGluZXMgKHNpbmNlIHRoZVxuICAgIC8vIG1hcCBjYW4gYmUgbXVsdGlwbGUgbGluZXMpLCBpdCBkb2Vzbid0LlxuICAgIGNvbnN0IGNPZmZzZXQgPSBpID09PSAwID8gY29sdW1uT2Zmc2V0IDogMDtcblxuICAgIGNvbnN0IGxpbmUgPSBkZWNvZGVkW2ldO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgbGluZS5sZW5ndGg7IGorKykge1xuICAgICAgY29uc3Qgc2VnID0gbGluZVtqXTtcbiAgICAgIGNvbnN0IGNvbHVtbiA9IGNPZmZzZXQgKyBzZWdbQ09MVU1OXTtcblxuICAgICAgLy8gSWYgdGhpcyBzZWdtZW50IHN0ZXBzIGludG8gdGhlIGNvbHVtbiByYW5nZSB0aGF0IHRoZSBuZXh0IHNlY3Rpb24ncyBtYXAgY29udHJvbHMsIHdlIG5lZWRcbiAgICAgIC8vIHRvIHN0b3AgZWFybHkuXG4gICAgICBpZiAobGluZUkgPT09IHN0b3BMaW5lICYmIGNvbHVtbiA+PSBzdG9wQ29sdW1uKSByZXR1cm47XG5cbiAgICAgIGlmIChzZWcubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIG91dC5wdXNoKFtjb2x1bW5dKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNvdXJjZXNJbmRleCA9IHNvdXJjZXNPZmZzZXQgKyBzZWdbU09VUkNFU19JTkRFWF07XG4gICAgICBjb25zdCBzb3VyY2VMaW5lID0gc2VnW1NPVVJDRV9MSU5FXTtcbiAgICAgIGNvbnN0IHNvdXJjZUNvbHVtbiA9IHNlZ1tTT1VSQ0VfQ09MVU1OXTtcbiAgICAgIG91dC5wdXNoKFxuICAgICAgICBzZWcubGVuZ3RoID09PSA0XG4gICAgICAgICAgPyBbY29sdW1uLCBzb3VyY2VzSW5kZXgsIHNvdXJjZUxpbmUsIHNvdXJjZUNvbHVtbl1cbiAgICAgICAgICA6IFtjb2x1bW4sIHNvdXJjZXNJbmRleCwgc291cmNlTGluZSwgc291cmNlQ29sdW1uLCBuYW1lc09mZnNldCArIHNlZ1tOQU1FU19JTkRFWF1dLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXBwZW5kPFQ+KGFycjogVFtdLCBvdGhlcjogVFtdKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgb3RoZXIubGVuZ3RoOyBpKyspIGFyci5wdXNoKG90aGVyW2ldKTtcbn1cblxuZnVuY3Rpb24gZ2V0TGluZTxUPihhcnI6IFRbXVtdLCBpbmRleDogbnVtYmVyKTogVFtdIHtcbiAgZm9yIChsZXQgaSA9IGFyci5sZW5ndGg7IGkgPD0gaW5kZXg7IGkrKykgYXJyW2ldID0gW107XG4gIHJldHVybiBhcnJbaW5kZXhdO1xufVxuIiwgImltcG9ydCB7IGVuY29kZSwgZGVjb2RlIH0gZnJvbSAnQGpyaWRnZXdlbGwvc291cmNlbWFwLWNvZGVjJztcblxuaW1wb3J0IHJlc29sdmUgZnJvbSAnLi9yZXNvbHZlJztcbmltcG9ydCBzdHJpcEZpbGVuYW1lIGZyb20gJy4vc3RyaXAtZmlsZW5hbWUnO1xuaW1wb3J0IG1heWJlU29ydCBmcm9tICcuL3NvcnQnO1xuaW1wb3J0IGJ1aWxkQnlTb3VyY2VzIGZyb20gJy4vYnktc291cmNlJztcbmltcG9ydCB7XG4gIG1lbW9pemVkU3RhdGUsXG4gIG1lbW9pemVkQmluYXJ5U2VhcmNoLFxuICB1cHBlckJvdW5kLFxuICBsb3dlckJvdW5kLFxuICBmb3VuZCBhcyBic0ZvdW5kLFxufSBmcm9tICcuL2JpbmFyeS1zZWFyY2gnO1xuaW1wb3J0IHtcbiAgQ09MVU1OLFxuICBTT1VSQ0VTX0lOREVYLFxuICBTT1VSQ0VfTElORSxcbiAgU09VUkNFX0NPTFVNTixcbiAgTkFNRVNfSU5ERVgsXG4gIFJFVl9HRU5FUkFURURfTElORSxcbiAgUkVWX0dFTkVSQVRFRF9DT0xVTU4sXG59IGZyb20gJy4vc291cmNlbWFwLXNlZ21lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IFNvdXJjZU1hcFNlZ21lbnQsIFJldmVyc2VTZWdtZW50IH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5pbXBvcnQgdHlwZSB7XG4gIFNvdXJjZU1hcFYzLFxuICBEZWNvZGVkU291cmNlTWFwLFxuICBFbmNvZGVkU291cmNlTWFwLFxuICBJbnZhbGlkT3JpZ2luYWxNYXBwaW5nLFxuICBPcmlnaW5hbE1hcHBpbmcsXG4gIEludmFsaWRHZW5lcmF0ZWRNYXBwaW5nLFxuICBHZW5lcmF0ZWRNYXBwaW5nLFxuICBTb3VyY2VNYXBJbnB1dCxcbiAgTmVlZGxlLFxuICBTb3VyY2VOZWVkbGUsXG4gIFNvdXJjZU1hcCxcbiAgRWFjaE1hcHBpbmcsXG4gIEJpYXMsXG4gIFhJbnB1dCxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFNvdXJjZSB9IGZyb20gJy4vYnktc291cmNlJztcbmltcG9ydCB0eXBlIHsgTWVtb1N0YXRlIH0gZnJvbSAnLi9iaW5hcnktc2VhcmNoJztcblxuZXhwb3J0IHR5cGUgeyBTb3VyY2VNYXBTZWdtZW50IH0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5leHBvcnQgdHlwZSB7XG4gIFNvdXJjZU1hcCxcbiAgRGVjb2RlZFNvdXJjZU1hcCxcbiAgRW5jb2RlZFNvdXJjZU1hcCxcbiAgU2VjdGlvbixcbiAgU2VjdGlvbmVkU291cmNlTWFwLFxuICBTb3VyY2VNYXBWMyxcbiAgQmlhcyxcbiAgRWFjaE1hcHBpbmcsXG4gIEdlbmVyYXRlZE1hcHBpbmcsXG4gIEludmFsaWRHZW5lcmF0ZWRNYXBwaW5nLFxuICBJbnZhbGlkT3JpZ2luYWxNYXBwaW5nLFxuICBOZWVkbGUsXG4gIE9yaWdpbmFsTWFwcGluZyxcbiAgT3JpZ2luYWxNYXBwaW5nIGFzIE1hcHBpbmcsXG4gIFNlY3Rpb25lZFNvdXJjZU1hcElucHV0LFxuICBTb3VyY2VNYXBJbnB1dCxcbiAgU291cmNlTmVlZGxlLFxuICBYSW5wdXQsXG4gIEVuY29kZWRTb3VyY2VNYXBYSW5wdXQsXG4gIERlY29kZWRTb3VyY2VNYXBYSW5wdXQsXG4gIFNlY3Rpb25lZFNvdXJjZU1hcFhJbnB1dCxcbiAgU2VjdGlvblhJbnB1dCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBQdWJsaWNNYXAge1xuICBfZW5jb2RlZDogVHJhY2VNYXBbJ19lbmNvZGVkJ107XG4gIF9kZWNvZGVkOiBUcmFjZU1hcFsnX2RlY29kZWQnXTtcbiAgX2RlY29kZWRNZW1vOiBUcmFjZU1hcFsnX2RlY29kZWRNZW1vJ107XG4gIF9ieVNvdXJjZXM6IFRyYWNlTWFwWydfYnlTb3VyY2VzJ107XG4gIF9ieVNvdXJjZU1lbW9zOiBUcmFjZU1hcFsnX2J5U291cmNlTWVtb3MnXTtcbn1cblxuY29uc3QgTElORV9HVFJfWkVSTyA9ICdgbGluZWAgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCAobGluZXMgc3RhcnQgYXQgbGluZSAxKSc7XG5jb25zdCBDT0xfR1RSX0VRX1pFUk8gPSAnYGNvbHVtbmAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCAoY29sdW1ucyBzdGFydCBhdCBjb2x1bW4gMCknO1xuXG5leHBvcnQgY29uc3QgTEVBU1RfVVBQRVJfQk9VTkQgPSAtMTtcbmV4cG9ydCBjb25zdCBHUkVBVEVTVF9MT1dFUl9CT1VORCA9IDE7XG5cbmV4cG9ydCB7IEFueU1hcCB9IGZyb20gJy4vYW55LW1hcCc7XG5cbmV4cG9ydCBjbGFzcyBUcmFjZU1hcCBpbXBsZW1lbnRzIFNvdXJjZU1hcCB7XG4gIGRlY2xhcmUgdmVyc2lvbjogU291cmNlTWFwVjNbJ3ZlcnNpb24nXTtcbiAgZGVjbGFyZSBmaWxlOiBTb3VyY2VNYXBWM1snZmlsZSddO1xuICBkZWNsYXJlIG5hbWVzOiBTb3VyY2VNYXBWM1snbmFtZXMnXTtcbiAgZGVjbGFyZSBzb3VyY2VSb290OiBTb3VyY2VNYXBWM1snc291cmNlUm9vdCddO1xuICBkZWNsYXJlIHNvdXJjZXM6IFNvdXJjZU1hcFYzWydzb3VyY2VzJ107XG4gIGRlY2xhcmUgc291cmNlc0NvbnRlbnQ6IFNvdXJjZU1hcFYzWydzb3VyY2VzQ29udGVudCddO1xuICBkZWNsYXJlIGlnbm9yZUxpc3Q6IFNvdXJjZU1hcFYzWydpZ25vcmVMaXN0J107XG5cbiAgZGVjbGFyZSByZXNvbHZlZFNvdXJjZXM6IHN0cmluZ1tdO1xuICBwcml2YXRlIGRlY2xhcmUgX2VuY29kZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGRlY2xhcmUgX2RlY29kZWQ6IFNvdXJjZU1hcFNlZ21lbnRbXVtdIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGRlY2xhcmUgX2RlY29kZWRNZW1vOiBNZW1vU3RhdGU7XG5cbiAgcHJpdmF0ZSBkZWNsYXJlIF9ieVNvdXJjZXM6IFNvdXJjZVtdIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGRlY2xhcmUgX2J5U291cmNlTWVtb3M6IE1lbW9TdGF0ZVtdIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKG1hcDogU291cmNlTWFwSW5wdXQsIG1hcFVybD86IHN0cmluZyB8IG51bGwpIHtcbiAgICBjb25zdCBpc1N0cmluZyA9IHR5cGVvZiBtYXAgPT09ICdzdHJpbmcnO1xuXG4gICAgaWYgKCFpc1N0cmluZyAmJiAobWFwIGFzIHVua25vd24gYXMgeyBfZGVjb2RlZE1lbW86IGFueSB9KS5fZGVjb2RlZE1lbW8pIHJldHVybiBtYXAgYXMgVHJhY2VNYXA7XG5cbiAgICBjb25zdCBwYXJzZWQgPSAoaXNTdHJpbmcgPyBKU09OLnBhcnNlKG1hcCkgOiBtYXApIGFzIERlY29kZWRTb3VyY2VNYXAgfCBFbmNvZGVkU291cmNlTWFwO1xuXG4gICAgY29uc3QgeyB2ZXJzaW9uLCBmaWxlLCBuYW1lcywgc291cmNlUm9vdCwgc291cmNlcywgc291cmNlc0NvbnRlbnQgfSA9IHBhcnNlZDtcbiAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHRoaXMuZmlsZSA9IGZpbGU7XG4gICAgdGhpcy5uYW1lcyA9IG5hbWVzIHx8IFtdO1xuICAgIHRoaXMuc291cmNlUm9vdCA9IHNvdXJjZVJvb3Q7XG4gICAgdGhpcy5zb3VyY2VzID0gc291cmNlcztcbiAgICB0aGlzLnNvdXJjZXNDb250ZW50ID0gc291cmNlc0NvbnRlbnQ7XG4gICAgdGhpcy5pZ25vcmVMaXN0ID0gcGFyc2VkLmlnbm9yZUxpc3QgfHwgKHBhcnNlZCBhcyBYSW5wdXQpLnhfZ29vZ2xlX2lnbm9yZUxpc3QgfHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgZnJvbSA9IHJlc29sdmUoc291cmNlUm9vdCB8fCAnJywgc3RyaXBGaWxlbmFtZShtYXBVcmwpKTtcbiAgICB0aGlzLnJlc29sdmVkU291cmNlcyA9IHNvdXJjZXMubWFwKChzKSA9PiByZXNvbHZlKHMgfHwgJycsIGZyb20pKTtcblxuICAgIGNvbnN0IHsgbWFwcGluZ3MgfSA9IHBhcnNlZDtcbiAgICBpZiAodHlwZW9mIG1hcHBpbmdzID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5fZW5jb2RlZCA9IG1hcHBpbmdzO1xuICAgICAgdGhpcy5fZGVjb2RlZCA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZW5jb2RlZCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX2RlY29kZWQgPSBtYXliZVNvcnQobWFwcGluZ3MsIGlzU3RyaW5nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWNvZGVkTWVtbyA9IG1lbW9pemVkU3RhdGUoKTtcbiAgICB0aGlzLl9ieVNvdXJjZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fYnlTb3VyY2VNZW1vcyA9IHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIFR5cGVzY3JpcHQgZG9lc24ndCBhbGxvdyBmcmllbmQgYWNjZXNzIHRvIHByaXZhdGUgZmllbGRzLCBzbyB0aGlzIGp1c3QgY2FzdHMgdGhlIG1hcCBpbnRvIGEgdHlwZVxuICogd2l0aCBwdWJsaWMgYWNjZXNzIG1vZGlmaWVycy5cbiAqL1xuZnVuY3Rpb24gY2FzdChtYXA6IHVua25vd24pOiBQdWJsaWNNYXAge1xuICByZXR1cm4gbWFwIGFzIGFueTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBlbmNvZGVkIChWTFEgc3RyaW5nKSBmb3JtIG9mIHRoZSBTb3VyY2VNYXAncyBtYXBwaW5ncyBmaWVsZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZWRNYXBwaW5ncyhtYXA6IFRyYWNlTWFwKTogRW5jb2RlZFNvdXJjZU1hcFsnbWFwcGluZ3MnXSB7XG4gIHJldHVybiAoY2FzdChtYXApLl9lbmNvZGVkID8/PSBlbmNvZGUoY2FzdChtYXApLl9kZWNvZGVkISkpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRlY29kZWQgKGFycmF5IG9mIGxpbmVzIG9mIHNlZ21lbnRzKSBmb3JtIG9mIHRoZSBTb3VyY2VNYXAncyBtYXBwaW5ncyBmaWVsZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZWRNYXBwaW5ncyhtYXA6IFRyYWNlTWFwKTogUmVhZG9ubHk8RGVjb2RlZFNvdXJjZU1hcFsnbWFwcGluZ3MnXT4ge1xuICByZXR1cm4gKGNhc3QobWFwKS5fZGVjb2RlZCB8fD0gZGVjb2RlKGNhc3QobWFwKS5fZW5jb2RlZCEpKTtcbn1cblxuLyoqXG4gKiBBIGxvdy1sZXZlbCBBUEkgdG8gZmluZCB0aGUgc2VnbWVudCBhc3NvY2lhdGVkIHdpdGggYSBnZW5lcmF0ZWQgbGluZS9jb2x1bW4gKHRoaW5rLCBmcm9tIGFcbiAqIHN0YWNrIHRyYWNlKS4gTGluZSBhbmQgY29sdW1uIGhlcmUgYXJlIDAtYmFzZWQsIHVubGlrZSBgb3JpZ2luYWxQb3NpdGlvbkZvcmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFjZVNlZ21lbnQoXG4gIG1hcDogVHJhY2VNYXAsXG4gIGxpbmU6IG51bWJlcixcbiAgY29sdW1uOiBudW1iZXIsXG4pOiBSZWFkb25seTxTb3VyY2VNYXBTZWdtZW50PiB8IG51bGwge1xuICBjb25zdCBkZWNvZGVkID0gZGVjb2RlZE1hcHBpbmdzKG1hcCk7XG5cbiAgLy8gSXQncyBjb21tb24gZm9yIHBhcmVudCBzb3VyY2UgbWFwcyB0byBoYXZlIHBvaW50ZXJzIHRvIGxpbmVzIHRoYXQgaGF2ZSBub1xuICAvLyBtYXBwaW5nIChsaWtlIGEgXCIvLyMgc291cmNlTWFwcGluZ1VSTD1cIikgYXQgdGhlIGVuZCBvZiB0aGUgY2hpbGQgZmlsZS5cbiAgaWYgKGxpbmUgPj0gZGVjb2RlZC5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHNlZ21lbnRzID0gZGVjb2RlZFtsaW5lXTtcbiAgY29uc3QgaW5kZXggPSB0cmFjZVNlZ21lbnRJbnRlcm5hbChcbiAgICBzZWdtZW50cyxcbiAgICBjYXN0KG1hcCkuX2RlY29kZWRNZW1vLFxuICAgIGxpbmUsXG4gICAgY29sdW1uLFxuICAgIEdSRUFURVNUX0xPV0VSX0JPVU5ELFxuICApO1xuXG4gIHJldHVybiBpbmRleCA9PT0gLTEgPyBudWxsIDogc2VnbWVudHNbaW5kZXhdO1xufVxuXG4vKipcbiAqIEEgaGlnaGVyLWxldmVsIEFQSSB0byBmaW5kIHRoZSBzb3VyY2UvbGluZS9jb2x1bW4gYXNzb2NpYXRlZCB3aXRoIGEgZ2VuZXJhdGVkIGxpbmUvY29sdW1uXG4gKiAodGhpbmssIGZyb20gYSBzdGFjayB0cmFjZSkuIExpbmUgaXMgMS1iYXNlZCwgYnV0IGNvbHVtbiBpcyAwLWJhc2VkLCBkdWUgdG8gbGVnYWN5IGJlaGF2aW9yIGluXG4gKiBgc291cmNlLW1hcGAgbGlicmFyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9yaWdpbmFsUG9zaXRpb25Gb3IoXG4gIG1hcDogVHJhY2VNYXAsXG4gIG5lZWRsZTogTmVlZGxlLFxuKTogT3JpZ2luYWxNYXBwaW5nIHwgSW52YWxpZE9yaWdpbmFsTWFwcGluZyB7XG4gIGxldCB7IGxpbmUsIGNvbHVtbiwgYmlhcyB9ID0gbmVlZGxlO1xuICBsaW5lLS07XG4gIGlmIChsaW5lIDwgMCkgdGhyb3cgbmV3IEVycm9yKExJTkVfR1RSX1pFUk8pO1xuICBpZiAoY29sdW1uIDwgMCkgdGhyb3cgbmV3IEVycm9yKENPTF9HVFJfRVFfWkVSTyk7XG5cbiAgY29uc3QgZGVjb2RlZCA9IGRlY29kZWRNYXBwaW5ncyhtYXApO1xuXG4gIC8vIEl0J3MgY29tbW9uIGZvciBwYXJlbnQgc291cmNlIG1hcHMgdG8gaGF2ZSBwb2ludGVycyB0byBsaW5lcyB0aGF0IGhhdmUgbm9cbiAgLy8gbWFwcGluZyAobGlrZSBhIFwiLy8jIHNvdXJjZU1hcHBpbmdVUkw9XCIpIGF0IHRoZSBlbmQgb2YgdGhlIGNoaWxkIGZpbGUuXG4gIGlmIChsaW5lID49IGRlY29kZWQubGVuZ3RoKSByZXR1cm4gT01hcHBpbmcobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XG5cbiAgY29uc3Qgc2VnbWVudHMgPSBkZWNvZGVkW2xpbmVdO1xuICBjb25zdCBpbmRleCA9IHRyYWNlU2VnbWVudEludGVybmFsKFxuICAgIHNlZ21lbnRzLFxuICAgIGNhc3QobWFwKS5fZGVjb2RlZE1lbW8sXG4gICAgbGluZSxcbiAgICBjb2x1bW4sXG4gICAgYmlhcyB8fCBHUkVBVEVTVF9MT1dFUl9CT1VORCxcbiAgKTtcblxuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gT01hcHBpbmcobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XG5cbiAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzW2luZGV4XTtcbiAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAxKSByZXR1cm4gT01hcHBpbmcobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XG5cbiAgY29uc3QgeyBuYW1lcywgcmVzb2x2ZWRTb3VyY2VzIH0gPSBtYXA7XG4gIHJldHVybiBPTWFwcGluZyhcbiAgICByZXNvbHZlZFNvdXJjZXNbc2VnbWVudFtTT1VSQ0VTX0lOREVYXV0sXG4gICAgc2VnbWVudFtTT1VSQ0VfTElORV0gKyAxLFxuICAgIHNlZ21lbnRbU09VUkNFX0NPTFVNTl0sXG4gICAgc2VnbWVudC5sZW5ndGggPT09IDUgPyBuYW1lc1tzZWdtZW50W05BTUVTX0lOREVYXV0gOiBudWxsLFxuICApO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBnZW5lcmF0ZWQgbGluZS9jb2x1bW4gcG9zaXRpb24gb2YgdGhlIHByb3ZpZGVkIHNvdXJjZS9saW5lL2NvbHVtbiBzb3VyY2UgcG9zaXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZWRQb3NpdGlvbkZvcihcbiAgbWFwOiBUcmFjZU1hcCxcbiAgbmVlZGxlOiBTb3VyY2VOZWVkbGUsXG4pOiBHZW5lcmF0ZWRNYXBwaW5nIHwgSW52YWxpZEdlbmVyYXRlZE1hcHBpbmcge1xuICBjb25zdCB7IHNvdXJjZSwgbGluZSwgY29sdW1uLCBiaWFzIH0gPSBuZWVkbGU7XG4gIHJldHVybiBnZW5lcmF0ZWRQb3NpdGlvbihtYXAsIHNvdXJjZSwgbGluZSwgY29sdW1uLCBiaWFzIHx8IEdSRUFURVNUX0xPV0VSX0JPVU5ELCBmYWxzZSk7XG59XG5cbi8qKlxuICogRmluZHMgYWxsIGdlbmVyYXRlZCBsaW5lL2NvbHVtbiBwb3NpdGlvbnMgb2YgdGhlIHByb3ZpZGVkIHNvdXJjZS9saW5lL2NvbHVtbiBzb3VyY2UgcG9zaXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhbGxHZW5lcmF0ZWRQb3NpdGlvbnNGb3IobWFwOiBUcmFjZU1hcCwgbmVlZGxlOiBTb3VyY2VOZWVkbGUpOiBHZW5lcmF0ZWRNYXBwaW5nW10ge1xuICBjb25zdCB7IHNvdXJjZSwgbGluZSwgY29sdW1uLCBiaWFzIH0gPSBuZWVkbGU7XG4gIC8vIFNvdXJjZU1hcENvbnN1bWVyIHVzZXMgTEVBU1RfVVBQRVJfQk9VTkQgZm9yIHNvbWUgcmVhc29uLCBzbyB3ZSBmb2xsb3cgc3VpdC5cbiAgcmV0dXJuIGdlbmVyYXRlZFBvc2l0aW9uKG1hcCwgc291cmNlLCBsaW5lLCBjb2x1bW4sIGJpYXMgfHwgTEVBU1RfVVBQRVJfQk9VTkQsIHRydWUpO1xufVxuXG4vKipcbiAqIEl0ZXJhdGVzIGVhY2ggbWFwcGluZyBpbiBnZW5lcmF0ZWQgcG9zaXRpb24gb3JkZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlYWNoTWFwcGluZyhtYXA6IFRyYWNlTWFwLCBjYjogKG1hcHBpbmc6IEVhY2hNYXBwaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVkTWFwcGluZ3MobWFwKTtcbiAgY29uc3QgeyBuYW1lcywgcmVzb2x2ZWRTb3VyY2VzIH0gPSBtYXA7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWNvZGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbGluZSA9IGRlY29kZWRbaV07XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBsaW5lLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBzZWcgPSBsaW5lW2pdO1xuXG4gICAgICBjb25zdCBnZW5lcmF0ZWRMaW5lID0gaSArIDE7XG4gICAgICBjb25zdCBnZW5lcmF0ZWRDb2x1bW4gPSBzZWdbMF07XG4gICAgICBsZXQgc291cmNlID0gbnVsbDtcbiAgICAgIGxldCBvcmlnaW5hbExpbmUgPSBudWxsO1xuICAgICAgbGV0IG9yaWdpbmFsQ29sdW1uID0gbnVsbDtcbiAgICAgIGxldCBuYW1lID0gbnVsbDtcbiAgICAgIGlmIChzZWcubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIHNvdXJjZSA9IHJlc29sdmVkU291cmNlc1tzZWdbMV1dO1xuICAgICAgICBvcmlnaW5hbExpbmUgPSBzZWdbMl0gKyAxO1xuICAgICAgICBvcmlnaW5hbENvbHVtbiA9IHNlZ1szXTtcbiAgICAgIH1cbiAgICAgIGlmIChzZWcubGVuZ3RoID09PSA1KSBuYW1lID0gbmFtZXNbc2VnWzRdXTtcblxuICAgICAgY2Ioe1xuICAgICAgICBnZW5lcmF0ZWRMaW5lLFxuICAgICAgICBnZW5lcmF0ZWRDb2x1bW4sXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgb3JpZ2luYWxMaW5lLFxuICAgICAgICBvcmlnaW5hbENvbHVtbixcbiAgICAgICAgbmFtZSxcbiAgICAgIH0gYXMgRWFjaE1hcHBpbmcpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzb3VyY2VJbmRleChtYXA6IFRyYWNlTWFwLCBzb3VyY2U6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IHsgc291cmNlcywgcmVzb2x2ZWRTb3VyY2VzIH0gPSBtYXA7XG4gIGxldCBpbmRleCA9IHNvdXJjZXMuaW5kZXhPZihzb3VyY2UpO1xuICBpZiAoaW5kZXggPT09IC0xKSBpbmRleCA9IHJlc29sdmVkU291cmNlcy5pbmRleE9mKHNvdXJjZSk7XG4gIHJldHVybiBpbmRleDtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHNvdXJjZSBjb250ZW50IGZvciBhIHBhcnRpY3VsYXIgc291cmNlLCBpZiBpdHMgZm91bmQuIFJldHVybnMgbnVsbCBpZiBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzb3VyY2VDb250ZW50Rm9yKG1hcDogVHJhY2VNYXAsIHNvdXJjZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHsgc291cmNlc0NvbnRlbnQgfSA9IG1hcDtcbiAgaWYgKHNvdXJjZXNDb250ZW50ID09IG51bGwpIHJldHVybiBudWxsO1xuICBjb25zdCBpbmRleCA9IHNvdXJjZUluZGV4KG1hcCwgc291cmNlKTtcbiAgcmV0dXJuIGluZGV4ID09PSAtMSA/IG51bGwgOiBzb3VyY2VzQ29udGVudFtpbmRleF07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiB0aGUgc291cmNlIGlzIG1hcmtlZCB0byBpZ25vcmUgYnkgdGhlIHNvdXJjZSBtYXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0lnbm9yZWQobWFwOiBUcmFjZU1hcCwgc291cmNlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgeyBpZ25vcmVMaXN0IH0gPSBtYXA7XG4gIGlmIChpZ25vcmVMaXN0ID09IG51bGwpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgaW5kZXggPSBzb3VyY2VJbmRleChtYXAsIHNvdXJjZSk7XG4gIHJldHVybiBpbmRleCA9PT0gLTEgPyBmYWxzZSA6IGlnbm9yZUxpc3QuaW5jbHVkZXMoaW5kZXgpO1xufVxuXG4vKipcbiAqIEEgaGVscGVyIHRoYXQgc2tpcHMgc29ydGluZyBvZiB0aGUgaW5wdXQgbWFwJ3MgbWFwcGluZ3MgYXJyYXksIHdoaWNoIGNhbiBiZSBleHBlbnNpdmUgZm9yIGxhcmdlclxuICogbWFwcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXNvcnRlZERlY29kZWRNYXAobWFwOiBEZWNvZGVkU291cmNlTWFwLCBtYXBVcmw/OiBzdHJpbmcpOiBUcmFjZU1hcCB7XG4gIGNvbnN0IHRyYWNlciA9IG5ldyBUcmFjZU1hcChjbG9uZShtYXAsIFtdKSwgbWFwVXJsKTtcbiAgY2FzdCh0cmFjZXIpLl9kZWNvZGVkID0gbWFwLm1hcHBpbmdzO1xuICByZXR1cm4gdHJhY2VyO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBzb3VyY2VtYXAgb2JqZWN0ICh3aXRoIGRlY29kZWQgbWFwcGluZ3MpIHN1aXRhYmxlIGZvciBwYXNzaW5nIHRvIGEgbGlicmFyeSB0aGF0IGV4cGVjdHNcbiAqIGEgc291cmNlbWFwLCBvciB0byBKU09OLnN0cmluZ2lmeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZWRNYXAoXG4gIG1hcDogVHJhY2VNYXAsXG4pOiBPbWl0PERlY29kZWRTb3VyY2VNYXAsICdtYXBwaW5ncyc+ICYgeyBtYXBwaW5nczogcmVhZG9ubHkgU291cmNlTWFwU2VnbWVudFtdW10gfSB7XG4gIHJldHVybiBjbG9uZShtYXAsIGRlY29kZWRNYXBwaW5ncyhtYXApKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc291cmNlbWFwIG9iamVjdCAod2l0aCBlbmNvZGVkIG1hcHBpbmdzKSBzdWl0YWJsZSBmb3IgcGFzc2luZyB0byBhIGxpYnJhcnkgdGhhdCBleHBlY3RzXG4gKiBhIHNvdXJjZW1hcCwgb3IgdG8gSlNPTi5zdHJpbmdpZnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVkTWFwKG1hcDogVHJhY2VNYXApOiBFbmNvZGVkU291cmNlTWFwIHtcbiAgcmV0dXJuIGNsb25lKG1hcCwgZW5jb2RlZE1hcHBpbmdzKG1hcCkpO1xufVxuXG5mdW5jdGlvbiBjbG9uZTxUIGV4dGVuZHMgc3RyaW5nIHwgcmVhZG9ubHkgU291cmNlTWFwU2VnbWVudFtdW10+KFxuICBtYXA6IFRyYWNlTWFwIHwgRGVjb2RlZFNvdXJjZU1hcCxcbiAgbWFwcGluZ3M6IFQsXG4pOiBUIGV4dGVuZHMgc3RyaW5nID8gRW5jb2RlZFNvdXJjZU1hcCA6IERlY29kZWRTb3VyY2VNYXAge1xuICByZXR1cm4ge1xuICAgIHZlcnNpb246IG1hcC52ZXJzaW9uLFxuICAgIGZpbGU6IG1hcC5maWxlLFxuICAgIG5hbWVzOiBtYXAubmFtZXMsXG4gICAgc291cmNlUm9vdDogbWFwLnNvdXJjZVJvb3QsXG4gICAgc291cmNlczogbWFwLnNvdXJjZXMsXG4gICAgc291cmNlc0NvbnRlbnQ6IG1hcC5zb3VyY2VzQ29udGVudCxcbiAgICBtYXBwaW5ncyxcbiAgICBpZ25vcmVMaXN0OiBtYXAuaWdub3JlTGlzdCB8fCAobWFwIGFzIFhJbnB1dCkueF9nb29nbGVfaWdub3JlTGlzdCxcbiAgfSBhcyBhbnk7XG59XG5cbmZ1bmN0aW9uIE9NYXBwaW5nKHNvdXJjZTogbnVsbCwgbGluZTogbnVsbCwgY29sdW1uOiBudWxsLCBuYW1lOiBudWxsKTogSW52YWxpZE9yaWdpbmFsTWFwcGluZztcbmZ1bmN0aW9uIE9NYXBwaW5nKFxuICBzb3VyY2U6IHN0cmluZyxcbiAgbGluZTogbnVtYmVyLFxuICBjb2x1bW46IG51bWJlcixcbiAgbmFtZTogc3RyaW5nIHwgbnVsbCxcbik6IE9yaWdpbmFsTWFwcGluZztcbmZ1bmN0aW9uIE9NYXBwaW5nKFxuICBzb3VyY2U6IHN0cmluZyB8IG51bGwsXG4gIGxpbmU6IG51bWJlciB8IG51bGwsXG4gIGNvbHVtbjogbnVtYmVyIHwgbnVsbCxcbiAgbmFtZTogc3RyaW5nIHwgbnVsbCxcbik6IE9yaWdpbmFsTWFwcGluZyB8IEludmFsaWRPcmlnaW5hbE1hcHBpbmcge1xuICByZXR1cm4geyBzb3VyY2UsIGxpbmUsIGNvbHVtbiwgbmFtZSB9IGFzIGFueTtcbn1cblxuZnVuY3Rpb24gR01hcHBpbmcobGluZTogbnVsbCwgY29sdW1uOiBudWxsKTogSW52YWxpZEdlbmVyYXRlZE1hcHBpbmc7XG5mdW5jdGlvbiBHTWFwcGluZyhsaW5lOiBudW1iZXIsIGNvbHVtbjogbnVtYmVyKTogR2VuZXJhdGVkTWFwcGluZztcbmZ1bmN0aW9uIEdNYXBwaW5nKFxuICBsaW5lOiBudW1iZXIgfCBudWxsLFxuICBjb2x1bW46IG51bWJlciB8IG51bGwsXG4pOiBHZW5lcmF0ZWRNYXBwaW5nIHwgSW52YWxpZEdlbmVyYXRlZE1hcHBpbmcge1xuICByZXR1cm4geyBsaW5lLCBjb2x1bW4gfSBhcyBhbnk7XG59XG5cbmZ1bmN0aW9uIHRyYWNlU2VnbWVudEludGVybmFsKFxuICBzZWdtZW50czogU291cmNlTWFwU2VnbWVudFtdLFxuICBtZW1vOiBNZW1vU3RhdGUsXG4gIGxpbmU6IG51bWJlcixcbiAgY29sdW1uOiBudW1iZXIsXG4gIGJpYXM6IEJpYXMsXG4pOiBudW1iZXI7XG5mdW5jdGlvbiB0cmFjZVNlZ21lbnRJbnRlcm5hbChcbiAgc2VnbWVudHM6IFJldmVyc2VTZWdtZW50W10sXG4gIG1lbW86IE1lbW9TdGF0ZSxcbiAgbGluZTogbnVtYmVyLFxuICBjb2x1bW46IG51bWJlcixcbiAgYmlhczogQmlhcyxcbik6IG51bWJlcjtcbmZ1bmN0aW9uIHRyYWNlU2VnbWVudEludGVybmFsKFxuICBzZWdtZW50czogU291cmNlTWFwU2VnbWVudFtdIHwgUmV2ZXJzZVNlZ21lbnRbXSxcbiAgbWVtbzogTWVtb1N0YXRlLFxuICBsaW5lOiBudW1iZXIsXG4gIGNvbHVtbjogbnVtYmVyLFxuICBiaWFzOiBCaWFzLFxuKTogbnVtYmVyIHtcbiAgbGV0IGluZGV4ID0gbWVtb2l6ZWRCaW5hcnlTZWFyY2goc2VnbWVudHMsIGNvbHVtbiwgbWVtbywgbGluZSk7XG4gIGlmIChic0ZvdW5kKSB7XG4gICAgaW5kZXggPSAoYmlhcyA9PT0gTEVBU1RfVVBQRVJfQk9VTkQgPyB1cHBlckJvdW5kIDogbG93ZXJCb3VuZCkoc2VnbWVudHMsIGNvbHVtbiwgaW5kZXgpO1xuICB9IGVsc2UgaWYgKGJpYXMgPT09IExFQVNUX1VQUEVSX0JPVU5EKSBpbmRleCsrO1xuXG4gIGlmIChpbmRleCA9PT0gLTEgfHwgaW5kZXggPT09IHNlZ21lbnRzLmxlbmd0aCkgcmV0dXJuIC0xO1xuICByZXR1cm4gaW5kZXg7XG59XG5cbmZ1bmN0aW9uIHNsaWNlR2VuZXJhdGVkUG9zaXRpb25zKFxuICBzZWdtZW50czogUmV2ZXJzZVNlZ21lbnRbXSxcbiAgbWVtbzogTWVtb1N0YXRlLFxuICBsaW5lOiBudW1iZXIsXG4gIGNvbHVtbjogbnVtYmVyLFxuICBiaWFzOiBCaWFzLFxuKTogR2VuZXJhdGVkTWFwcGluZ1tdIHtcbiAgbGV0IG1pbiA9IHRyYWNlU2VnbWVudEludGVybmFsKHNlZ21lbnRzLCBtZW1vLCBsaW5lLCBjb2x1bW4sIEdSRUFURVNUX0xPV0VSX0JPVU5EKTtcblxuICAvLyBXZSBpZ25vcmVkIHRoZSBiaWFzIHdoZW4gdHJhY2luZyB0aGUgc2VnbWVudCBzbyB0aGF0IHdlJ3JlIGd1YXJuYXRlZWQgdG8gZmluZCB0aGUgZmlyc3QgKGluXG4gIC8vIGluc2VydGlvbiBvcmRlcikgc2VnbWVudCB0aGF0IG1hdGNoZWQuIEV2ZW4gaWYgd2UgZGlkIHJlc3BlY3QgdGhlIGJpYXMgd2hlbiB0cmFjaW5nLCB3ZSB3b3VsZFxuICAvLyBzdGlsbCBuZWVkIHRvIGNhbGwgYGxvd2VyQm91bmQoKWAgdG8gZmluZCB0aGUgZmlyc3Qgc2VnbWVudCwgd2hpY2ggaXMgc2xvd2VyIHRoYW4ganVzdCBsb29raW5nXG4gIC8vIGZvciB0aGUgR1JFQVRFU1RfTE9XRVJfQk9VTkQgdG8gYmVnaW4gd2l0aC4gVGhlIG9ubHkgZGlmZmVyZW5jZSB0aGF0IG1hdHRlcnMgZm9yIHVzIGlzIHdoZW4gdGhlXG4gIC8vIGJpbmFyeSBzZWFyY2ggZGlkbid0IG1hdGNoLCBpbiB3aGljaCBjYXNlIEdSRUFURVNUX0xPV0VSX0JPVU5EIGp1c3QgbmVlZHMgdG8gaW5jcmVtZW50IHRvXG4gIC8vIG1hdGNoIExFQVNUX1VQUEVSX0JPVU5ELlxuICBpZiAoIWJzRm91bmQgJiYgYmlhcyA9PT0gTEVBU1RfVVBQRVJfQk9VTkQpIG1pbisrO1xuXG4gIGlmIChtaW4gPT09IC0xIHx8IG1pbiA9PT0gc2VnbWVudHMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgLy8gV2UgbWF5IGhhdmUgZm91bmQgdGhlIHNlZ21lbnQgdGhhdCBzdGFydGVkIGF0IGFuIGVhcmxpZXIgY29sdW1uLiBJZiB0aGlzIGlzIHRoZSBjYXNlLCB0aGVuIHdlXG4gIC8vIG5lZWQgdG8gc2xpY2UgYWxsIGdlbmVyYXRlZCBzZWdtZW50cyB0aGF0IG1hdGNoIF90aGF0XyBjb2x1bW4sIGJlY2F1c2UgYWxsIHN1Y2ggc2VnbWVudHMgc3BhblxuICAvLyB0byBvdXIgZGVzaXJlZCBjb2x1bW4uXG4gIGNvbnN0IG1hdGNoZWRDb2x1bW4gPSBic0ZvdW5kID8gY29sdW1uIDogc2VnbWVudHNbbWluXVtDT0xVTU5dO1xuXG4gIC8vIFRoZSBiaW5hcnkgc2VhcmNoIGlzIG5vdCBndWFyYW50ZWVkIHRvIGZpbmQgdGhlIGxvd2VyIGJvdW5kIHdoZW4gYSBtYXRjaCB3YXNuJ3QgZm91bmQuXG4gIGlmICghYnNGb3VuZCkgbWluID0gbG93ZXJCb3VuZChzZWdtZW50cywgbWF0Y2hlZENvbHVtbiwgbWluKTtcbiAgY29uc3QgbWF4ID0gdXBwZXJCb3VuZChzZWdtZW50cywgbWF0Y2hlZENvbHVtbiwgbWluKTtcblxuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgZm9yICg7IG1pbiA8PSBtYXg7IG1pbisrKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzW21pbl07XG4gICAgcmVzdWx0LnB1c2goR01hcHBpbmcoc2VnbWVudFtSRVZfR0VORVJBVEVEX0xJTkVdICsgMSwgc2VnbWVudFtSRVZfR0VORVJBVEVEX0NPTFVNTl0pKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZWRQb3NpdGlvbihcbiAgbWFwOiBUcmFjZU1hcCxcbiAgc291cmNlOiBzdHJpbmcsXG4gIGxpbmU6IG51bWJlcixcbiAgY29sdW1uOiBudW1iZXIsXG4gIGJpYXM6IEJpYXMsXG4gIGFsbDogZmFsc2UsXG4pOiBHZW5lcmF0ZWRNYXBwaW5nIHwgSW52YWxpZEdlbmVyYXRlZE1hcHBpbmc7XG5mdW5jdGlvbiBnZW5lcmF0ZWRQb3NpdGlvbihcbiAgbWFwOiBUcmFjZU1hcCxcbiAgc291cmNlOiBzdHJpbmcsXG4gIGxpbmU6IG51bWJlcixcbiAgY29sdW1uOiBudW1iZXIsXG4gIGJpYXM6IEJpYXMsXG4gIGFsbDogdHJ1ZSxcbik6IEdlbmVyYXRlZE1hcHBpbmdbXTtcbmZ1bmN0aW9uIGdlbmVyYXRlZFBvc2l0aW9uKFxuICBtYXA6IFRyYWNlTWFwLFxuICBzb3VyY2U6IHN0cmluZyxcbiAgbGluZTogbnVtYmVyLFxuICBjb2x1bW46IG51bWJlcixcbiAgYmlhczogQmlhcyxcbiAgYWxsOiBib29sZWFuLFxuKTogR2VuZXJhdGVkTWFwcGluZyB8IEludmFsaWRHZW5lcmF0ZWRNYXBwaW5nIHwgR2VuZXJhdGVkTWFwcGluZ1tdIHtcbiAgbGluZS0tO1xuICBpZiAobGluZSA8IDApIHRocm93IG5ldyBFcnJvcihMSU5FX0dUUl9aRVJPKTtcbiAgaWYgKGNvbHVtbiA8IDApIHRocm93IG5ldyBFcnJvcihDT0xfR1RSX0VRX1pFUk8pO1xuXG4gIGNvbnN0IHsgc291cmNlcywgcmVzb2x2ZWRTb3VyY2VzIH0gPSBtYXA7XG4gIGxldCBzb3VyY2VJbmRleCA9IHNvdXJjZXMuaW5kZXhPZihzb3VyY2UpO1xuICBpZiAoc291cmNlSW5kZXggPT09IC0xKSBzb3VyY2VJbmRleCA9IHJlc29sdmVkU291cmNlcy5pbmRleE9mKHNvdXJjZSk7XG4gIGlmIChzb3VyY2VJbmRleCA9PT0gLTEpIHJldHVybiBhbGwgPyBbXSA6IEdNYXBwaW5nKG51bGwsIG51bGwpO1xuXG4gIGNvbnN0IGdlbmVyYXRlZCA9IChjYXN0KG1hcCkuX2J5U291cmNlcyB8fD0gYnVpbGRCeVNvdXJjZXMoXG4gICAgZGVjb2RlZE1hcHBpbmdzKG1hcCksXG4gICAgKGNhc3QobWFwKS5fYnlTb3VyY2VNZW1vcyA9IHNvdXJjZXMubWFwKG1lbW9pemVkU3RhdGUpKSxcbiAgKSk7XG5cbiAgY29uc3Qgc2VnbWVudHMgPSBnZW5lcmF0ZWRbc291cmNlSW5kZXhdW2xpbmVdO1xuICBpZiAoc2VnbWVudHMgPT0gbnVsbCkgcmV0dXJuIGFsbCA/IFtdIDogR01hcHBpbmcobnVsbCwgbnVsbCk7XG5cbiAgY29uc3QgbWVtbyA9IGNhc3QobWFwKS5fYnlTb3VyY2VNZW1vcyFbc291cmNlSW5kZXhdO1xuXG4gIGlmIChhbGwpIHJldHVybiBzbGljZUdlbmVyYXRlZFBvc2l0aW9ucyhzZWdtZW50cywgbWVtbywgbGluZSwgY29sdW1uLCBiaWFzKTtcblxuICBjb25zdCBpbmRleCA9IHRyYWNlU2VnbWVudEludGVybmFsKHNlZ21lbnRzLCBtZW1vLCBsaW5lLCBjb2x1bW4sIGJpYXMpO1xuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gR01hcHBpbmcobnVsbCwgbnVsbCk7XG5cbiAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzW2luZGV4XTtcbiAgcmV0dXJuIEdNYXBwaW5nKHNlZ21lbnRbUkVWX0dFTkVSQVRFRF9MSU5FXSArIDEsIHNlZ21lbnRbUkVWX0dFTkVSQVRFRF9DT0xVTU5dKTtcbn1cbiIsICJ0eXBlIEdlbmVyYXRlZENvbHVtbiA9IG51bWJlcjtcbnR5cGUgU291cmNlc0luZGV4ID0gbnVtYmVyO1xudHlwZSBTb3VyY2VMaW5lID0gbnVtYmVyO1xudHlwZSBTb3VyY2VDb2x1bW4gPSBudW1iZXI7XG50eXBlIE5hbWVzSW5kZXggPSBudW1iZXI7XG5cbmV4cG9ydCB0eXBlIFNvdXJjZU1hcFNlZ21lbnQgPVxuICB8IFtHZW5lcmF0ZWRDb2x1bW5dXG4gIHwgW0dlbmVyYXRlZENvbHVtbiwgU291cmNlc0luZGV4LCBTb3VyY2VMaW5lLCBTb3VyY2VDb2x1bW5dXG4gIHwgW0dlbmVyYXRlZENvbHVtbiwgU291cmNlc0luZGV4LCBTb3VyY2VMaW5lLCBTb3VyY2VDb2x1bW4sIE5hbWVzSW5kZXhdO1xuXG5leHBvcnQgY29uc3QgQ09MVU1OID0gMDtcbmV4cG9ydCBjb25zdCBTT1VSQ0VTX0lOREVYID0gMTtcbmV4cG9ydCBjb25zdCBTT1VSQ0VfTElORSA9IDI7XG5leHBvcnQgY29uc3QgU09VUkNFX0NPTFVNTiA9IDM7XG5leHBvcnQgY29uc3QgTkFNRVNfSU5ERVggPSA0O1xuIiwgImltcG9ydCB7IFNldEFycmF5LCBwdXQsIHJlbW92ZSB9IGZyb20gJ0BqcmlkZ2V3ZWxsL3NldC1hcnJheSc7XG5pbXBvcnQgeyBlbmNvZGUgfSBmcm9tICdAanJpZGdld2VsbC9zb3VyY2VtYXAtY29kZWMnO1xuaW1wb3J0IHsgVHJhY2VNYXAsIGRlY29kZWRNYXBwaW5ncyB9IGZyb20gJ0BqcmlkZ2V3ZWxsL3RyYWNlLW1hcHBpbmcnO1xuXG5pbXBvcnQge1xuICBDT0xVTU4sXG4gIFNPVVJDRVNfSU5ERVgsXG4gIFNPVVJDRV9MSU5FLFxuICBTT1VSQ0VfQ09MVU1OLFxuICBOQU1FU19JTkRFWCxcbn0gZnJvbSAnLi9zb3VyY2VtYXAtc2VnbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgU291cmNlTWFwSW5wdXQgfSBmcm9tICdAanJpZGdld2VsbC90cmFjZS1tYXBwaW5nJztcbmltcG9ydCB0eXBlIHsgU291cmNlTWFwU2VnbWVudCB9IGZyb20gJy4vc291cmNlbWFwLXNlZ21lbnQnO1xuaW1wb3J0IHR5cGUgeyBEZWNvZGVkU291cmNlTWFwLCBFbmNvZGVkU291cmNlTWFwLCBQb3MsIE1hcHBpbmcgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgeyBEZWNvZGVkU291cmNlTWFwLCBFbmNvZGVkU291cmNlTWFwLCBNYXBwaW5nIH07XG5cbmV4cG9ydCB0eXBlIE9wdGlvbnMgPSB7XG4gIGZpbGU/OiBzdHJpbmcgfCBudWxsO1xuICBzb3VyY2VSb290Pzogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmNvbnN0IE5PX05BTUUgPSAtMTtcblxuLyoqXG4gKiBQcm92aWRlcyB0aGUgc3RhdGUgdG8gZ2VuZXJhdGUgYSBzb3VyY2VtYXAuXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW5NYXBwaW5nIHtcbiAgcHJpdmF0ZSBkZWNsYXJlIF9uYW1lczogU2V0QXJyYXk8c3RyaW5nPjtcbiAgcHJpdmF0ZSBkZWNsYXJlIF9zb3VyY2VzOiBTZXRBcnJheTxzdHJpbmc+O1xuICBwcml2YXRlIGRlY2xhcmUgX3NvdXJjZXNDb250ZW50OiAoc3RyaW5nIHwgbnVsbClbXTtcbiAgcHJpdmF0ZSBkZWNsYXJlIF9tYXBwaW5nczogU291cmNlTWFwU2VnbWVudFtdW107XG4gIHByaXZhdGUgZGVjbGFyZSBfaWdub3JlTGlzdDogU2V0QXJyYXk8bnVtYmVyPjtcbiAgZGVjbGFyZSBmaWxlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBkZWNsYXJlIHNvdXJjZVJvb3Q6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoeyBmaWxlLCBzb3VyY2VSb290IH06IE9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuX25hbWVzID0gbmV3IFNldEFycmF5KCk7XG4gICAgdGhpcy5fc291cmNlcyA9IG5ldyBTZXRBcnJheSgpO1xuICAgIHRoaXMuX3NvdXJjZXNDb250ZW50ID0gW107XG4gICAgdGhpcy5fbWFwcGluZ3MgPSBbXTtcbiAgICB0aGlzLmZpbGUgPSBmaWxlO1xuICAgIHRoaXMuc291cmNlUm9vdCA9IHNvdXJjZVJvb3Q7XG4gICAgdGhpcy5faWdub3JlTGlzdCA9IG5ldyBTZXRBcnJheSgpO1xuICB9XG59XG5cbmludGVyZmFjZSBQdWJsaWNNYXAge1xuICBfbmFtZXM6IEdlbk1hcHBpbmdbJ19uYW1lcyddO1xuICBfc291cmNlczogR2VuTWFwcGluZ1snX3NvdXJjZXMnXTtcbiAgX3NvdXJjZXNDb250ZW50OiBHZW5NYXBwaW5nWydfc291cmNlc0NvbnRlbnQnXTtcbiAgX21hcHBpbmdzOiBHZW5NYXBwaW5nWydfbWFwcGluZ3MnXTtcbiAgX2lnbm9yZUxpc3Q6IEdlbk1hcHBpbmdbJ19pZ25vcmVMaXN0J107XG59XG5cbi8qKlxuICogVHlwZXNjcmlwdCBkb2Vzbid0IGFsbG93IGZyaWVuZCBhY2Nlc3MgdG8gcHJpdmF0ZSBmaWVsZHMsIHNvIHRoaXMganVzdCBjYXN0cyB0aGUgbWFwIGludG8gYSB0eXBlXG4gKiB3aXRoIHB1YmxpYyBhY2Nlc3MgbW9kaWZpZXJzLlxuICovXG5mdW5jdGlvbiBjYXN0KG1hcDogdW5rbm93bik6IFB1YmxpY01hcCB7XG4gIHJldHVybiBtYXAgYXMgYW55O1xufVxuXG4vKipcbiAqIEEgbG93LWxldmVsIEFQSSB0byBhc3NvY2lhdGUgYSBnZW5lcmF0ZWQgcG9zaXRpb24gd2l0aCBhbiBvcmlnaW5hbCBzb3VyY2UgcG9zaXRpb24uIExpbmUgYW5kXG4gKiBjb2x1bW4gaGVyZSBhcmUgMC1iYXNlZCwgdW5saWtlIGBhZGRNYXBwaW5nYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlZ21lbnQoXG4gIG1hcDogR2VuTWFwcGluZyxcbiAgZ2VuTGluZTogbnVtYmVyLFxuICBnZW5Db2x1bW46IG51bWJlcixcbiAgc291cmNlPzogbnVsbCxcbiAgc291cmNlTGluZT86IG51bGwsXG4gIHNvdXJjZUNvbHVtbj86IG51bGwsXG4gIG5hbWU/OiBudWxsLFxuICBjb250ZW50PzogbnVsbCxcbik6IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gYWRkU2VnbWVudChcbiAgbWFwOiBHZW5NYXBwaW5nLFxuICBnZW5MaW5lOiBudW1iZXIsXG4gIGdlbkNvbHVtbjogbnVtYmVyLFxuICBzb3VyY2U6IHN0cmluZyxcbiAgc291cmNlTGluZTogbnVtYmVyLFxuICBzb3VyY2VDb2x1bW46IG51bWJlcixcbiAgbmFtZT86IG51bGwsXG4gIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsLFxuKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWdtZW50KFxuICBtYXA6IEdlbk1hcHBpbmcsXG4gIGdlbkxpbmU6IG51bWJlcixcbiAgZ2VuQ29sdW1uOiBudW1iZXIsXG4gIHNvdXJjZTogc3RyaW5nLFxuICBzb3VyY2VMaW5lOiBudW1iZXIsXG4gIHNvdXJjZUNvbHVtbjogbnVtYmVyLFxuICBuYW1lOiBzdHJpbmcsXG4gIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsLFxuKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWdtZW50KFxuICBtYXA6IEdlbk1hcHBpbmcsXG4gIGdlbkxpbmU6IG51bWJlcixcbiAgZ2VuQ29sdW1uOiBudW1iZXIsXG4gIHNvdXJjZT86IHN0cmluZyB8IG51bGwsXG4gIHNvdXJjZUxpbmU/OiBudW1iZXIgfCBudWxsLFxuICBzb3VyY2VDb2x1bW4/OiBudW1iZXIgfCBudWxsLFxuICBuYW1lPzogc3RyaW5nIHwgbnVsbCxcbiAgY29udGVudD86IHN0cmluZyB8IG51bGwsXG4pOiB2b2lkIHtcbiAgcmV0dXJuIGFkZFNlZ21lbnRJbnRlcm5hbChcbiAgICBmYWxzZSxcbiAgICBtYXAsXG4gICAgZ2VuTGluZSxcbiAgICBnZW5Db2x1bW4sXG4gICAgc291cmNlLFxuICAgIHNvdXJjZUxpbmUsXG4gICAgc291cmNlQ29sdW1uLFxuICAgIG5hbWUsXG4gICAgY29udGVudCxcbiAgKTtcbn1cblxuLyoqXG4gKiBBIGhpZ2gtbGV2ZWwgQVBJIHRvIGFzc29jaWF0ZSBhIGdlbmVyYXRlZCBwb3NpdGlvbiB3aXRoIGFuIG9yaWdpbmFsIHNvdXJjZSBwb3NpdGlvbi4gTGluZSBpc1xuICogMS1iYXNlZCwgYnV0IGNvbHVtbiBpcyAwLWJhc2VkLCBkdWUgdG8gbGVnYWN5IGJlaGF2aW9yIGluIGBzb3VyY2UtbWFwYCBsaWJyYXJ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTWFwcGluZyhcbiAgbWFwOiBHZW5NYXBwaW5nLFxuICBtYXBwaW5nOiB7XG4gICAgZ2VuZXJhdGVkOiBQb3M7XG4gICAgc291cmNlPzogbnVsbDtcbiAgICBvcmlnaW5hbD86IG51bGw7XG4gICAgbmFtZT86IG51bGw7XG4gICAgY29udGVudD86IG51bGw7XG4gIH0sXG4pOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1hcHBpbmcoXG4gIG1hcDogR2VuTWFwcGluZyxcbiAgbWFwcGluZzoge1xuICAgIGdlbmVyYXRlZDogUG9zO1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIG9yaWdpbmFsOiBQb3M7XG4gICAgbmFtZT86IG51bGw7XG4gICAgY29udGVudD86IHN0cmluZyB8IG51bGw7XG4gIH0sXG4pOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1hcHBpbmcoXG4gIG1hcDogR2VuTWFwcGluZyxcbiAgbWFwcGluZzoge1xuICAgIGdlbmVyYXRlZDogUG9zO1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIG9yaWdpbmFsOiBQb3M7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsO1xuICB9LFxuKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBhZGRNYXBwaW5nKFxuICBtYXA6IEdlbk1hcHBpbmcsXG4gIG1hcHBpbmc6IHtcbiAgICBnZW5lcmF0ZWQ6IFBvcztcbiAgICBzb3VyY2U/OiBzdHJpbmcgfCBudWxsO1xuICAgIG9yaWdpbmFsPzogUG9zIHwgbnVsbDtcbiAgICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgICBjb250ZW50Pzogc3RyaW5nIHwgbnVsbDtcbiAgfSxcbik6IHZvaWQge1xuICByZXR1cm4gYWRkTWFwcGluZ0ludGVybmFsKGZhbHNlLCBtYXAsIG1hcHBpbmcgYXMgUGFyYW1ldGVyczx0eXBlb2YgYWRkTWFwcGluZ0ludGVybmFsPlsyXSk7XG59XG5cbi8qKlxuICogU2FtZSBhcyBgYWRkU2VnbWVudGAsIGJ1dCB3aWxsIG9ubHkgYWRkIHRoZSBzZWdtZW50IGlmIGl0IGdlbmVyYXRlcyB1c2VmdWwgaW5mb3JtYXRpb24gaW4gdGhlXG4gKiByZXN1bHRpbmcgbWFwLiBUaGlzIG9ubHkgd29ya3MgY29ycmVjdGx5IGlmIHNlZ21lbnRzIGFyZSBhZGRlZCAqKmluIG9yZGVyKiosIG1lYW5pbmcgeW91IHNob3VsZFxuICogbm90IGFkZCBhIHNlZ21lbnQgd2l0aCBhIGxvd2VyIGdlbmVyYXRlZCBsaW5lL2NvbHVtbiB0aGFuIG9uZSB0aGF0IGNhbWUgYmVmb3JlLlxuICovXG5leHBvcnQgY29uc3QgbWF5YmVBZGRTZWdtZW50OiB0eXBlb2YgYWRkU2VnbWVudCA9IChcbiAgbWFwLFxuICBnZW5MaW5lLFxuICBnZW5Db2x1bW4sXG4gIHNvdXJjZSxcbiAgc291cmNlTGluZSxcbiAgc291cmNlQ29sdW1uLFxuICBuYW1lLFxuICBjb250ZW50LFxuKSA9PiB7XG4gIHJldHVybiBhZGRTZWdtZW50SW50ZXJuYWwoXG4gICAgdHJ1ZSxcbiAgICBtYXAsXG4gICAgZ2VuTGluZSxcbiAgICBnZW5Db2x1bW4sXG4gICAgc291cmNlLFxuICAgIHNvdXJjZUxpbmUsXG4gICAgc291cmNlQ29sdW1uLFxuICAgIG5hbWUsXG4gICAgY29udGVudCxcbiAgKTtcbn07XG5cbi8qKlxuICogU2FtZSBhcyBgYWRkTWFwcGluZ2AsIGJ1dCB3aWxsIG9ubHkgYWRkIHRoZSBtYXBwaW5nIGlmIGl0IGdlbmVyYXRlcyB1c2VmdWwgaW5mb3JtYXRpb24gaW4gdGhlXG4gKiByZXN1bHRpbmcgbWFwLiBUaGlzIG9ubHkgd29ya3MgY29ycmVjdGx5IGlmIG1hcHBpbmdzIGFyZSBhZGRlZCAqKmluIG9yZGVyKiosIG1lYW5pbmcgeW91IHNob3VsZFxuICogbm90IGFkZCBhIG1hcHBpbmcgd2l0aCBhIGxvd2VyIGdlbmVyYXRlZCBsaW5lL2NvbHVtbiB0aGFuIG9uZSB0aGF0IGNhbWUgYmVmb3JlLlxuICovXG5leHBvcnQgY29uc3QgbWF5YmVBZGRNYXBwaW5nOiB0eXBlb2YgYWRkTWFwcGluZyA9IChtYXAsIG1hcHBpbmcpID0+IHtcbiAgcmV0dXJuIGFkZE1hcHBpbmdJbnRlcm5hbCh0cnVlLCBtYXAsIG1hcHBpbmcgYXMgUGFyYW1ldGVyczx0eXBlb2YgYWRkTWFwcGluZ0ludGVybmFsPlsyXSk7XG59O1xuXG4vKipcbiAqIEFkZHMvcmVtb3ZlcyB0aGUgY29udGVudCBvZiB0aGUgc291cmNlIGZpbGUgdG8gdGhlIHNvdXJjZSBtYXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRTb3VyY2VDb250ZW50KG1hcDogR2VuTWFwcGluZywgc291cmNlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgY29uc3QgeyBfc291cmNlczogc291cmNlcywgX3NvdXJjZXNDb250ZW50OiBzb3VyY2VzQ29udGVudCB9ID0gY2FzdChtYXApO1xuICBjb25zdCBpbmRleCA9IHB1dChzb3VyY2VzLCBzb3VyY2UpO1xuICBzb3VyY2VzQ29udGVudFtpbmRleF0gPSBjb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0SWdub3JlKG1hcDogR2VuTWFwcGluZywgc291cmNlOiBzdHJpbmcsIGlnbm9yZSA9IHRydWUpIHtcbiAgY29uc3QgeyBfc291cmNlczogc291cmNlcywgX3NvdXJjZXNDb250ZW50OiBzb3VyY2VzQ29udGVudCwgX2lnbm9yZUxpc3Q6IGlnbm9yZUxpc3QgfSA9IGNhc3QobWFwKTtcbiAgY29uc3QgaW5kZXggPSBwdXQoc291cmNlcywgc291cmNlKTtcbiAgaWYgKGluZGV4ID09PSBzb3VyY2VzQ29udGVudC5sZW5ndGgpIHNvdXJjZXNDb250ZW50W2luZGV4XSA9IG51bGw7XG4gIGlmIChpZ25vcmUpIHB1dChpZ25vcmVMaXN0LCBpbmRleCk7XG4gIGVsc2UgcmVtb3ZlKGlnbm9yZUxpc3QsIGluZGV4KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc291cmNlbWFwIG9iamVjdCAod2l0aCBkZWNvZGVkIG1hcHBpbmdzKSBzdWl0YWJsZSBmb3IgcGFzc2luZyB0byBhIGxpYnJhcnkgdGhhdCBleHBlY3RzXG4gKiBhIHNvdXJjZW1hcCwgb3IgdG8gSlNPTi5zdHJpbmdpZnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0RlY29kZWRNYXAobWFwOiBHZW5NYXBwaW5nKTogRGVjb2RlZFNvdXJjZU1hcCB7XG4gIGNvbnN0IHtcbiAgICBfbWFwcGluZ3M6IG1hcHBpbmdzLFxuICAgIF9zb3VyY2VzOiBzb3VyY2VzLFxuICAgIF9zb3VyY2VzQ29udGVudDogc291cmNlc0NvbnRlbnQsXG4gICAgX25hbWVzOiBuYW1lcyxcbiAgICBfaWdub3JlTGlzdDogaWdub3JlTGlzdCxcbiAgfSA9IGNhc3QobWFwKTtcbiAgcmVtb3ZlRW1wdHlGaW5hbExpbmVzKG1hcHBpbmdzKTtcblxuICByZXR1cm4ge1xuICAgIHZlcnNpb246IDMsXG4gICAgZmlsZTogbWFwLmZpbGUgfHwgdW5kZWZpbmVkLFxuICAgIG5hbWVzOiBuYW1lcy5hcnJheSxcbiAgICBzb3VyY2VSb290OiBtYXAuc291cmNlUm9vdCB8fCB1bmRlZmluZWQsXG4gICAgc291cmNlczogc291cmNlcy5hcnJheSxcbiAgICBzb3VyY2VzQ29udGVudCxcbiAgICBtYXBwaW5ncyxcbiAgICBpZ25vcmVMaXN0OiBpZ25vcmVMaXN0LmFycmF5LFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBzb3VyY2VtYXAgb2JqZWN0ICh3aXRoIGVuY29kZWQgbWFwcGluZ3MpIHN1aXRhYmxlIGZvciBwYXNzaW5nIHRvIGEgbGlicmFyeSB0aGF0IGV4cGVjdHNcbiAqIGEgc291cmNlbWFwLCBvciB0byBKU09OLnN0cmluZ2lmeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRW5jb2RlZE1hcChtYXA6IEdlbk1hcHBpbmcpOiBFbmNvZGVkU291cmNlTWFwIHtcbiAgY29uc3QgZGVjb2RlZCA9IHRvRGVjb2RlZE1hcChtYXApO1xuICByZXR1cm4ge1xuICAgIC4uLmRlY29kZWQsXG4gICAgbWFwcGluZ3M6IGVuY29kZShkZWNvZGVkLm1hcHBpbmdzIGFzIFNvdXJjZU1hcFNlZ21lbnRbXVtdKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IEdlbk1hcHBpbmcsIHVzaW5nIHRoZSBhbHJlYWR5IHByZXNlbnQgbWFwcGluZ3Mgb2YgdGhlIGlucHV0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbU1hcChpbnB1dDogU291cmNlTWFwSW5wdXQpOiBHZW5NYXBwaW5nIHtcbiAgY29uc3QgbWFwID0gbmV3IFRyYWNlTWFwKGlucHV0KTtcbiAgY29uc3QgZ2VuID0gbmV3IEdlbk1hcHBpbmcoeyBmaWxlOiBtYXAuZmlsZSwgc291cmNlUm9vdDogbWFwLnNvdXJjZVJvb3QgfSk7XG5cbiAgcHV0QWxsKGNhc3QoZ2VuKS5fbmFtZXMsIG1hcC5uYW1lcyk7XG4gIHB1dEFsbChjYXN0KGdlbikuX3NvdXJjZXMsIG1hcC5zb3VyY2VzIGFzIHN0cmluZ1tdKTtcbiAgY2FzdChnZW4pLl9zb3VyY2VzQ29udGVudCA9IG1hcC5zb3VyY2VzQ29udGVudCB8fCBtYXAuc291cmNlcy5tYXAoKCkgPT4gbnVsbCk7XG4gIGNhc3QoZ2VuKS5fbWFwcGluZ3MgPSBkZWNvZGVkTWFwcGluZ3MobWFwKSBhcyBHZW5NYXBwaW5nWydfbWFwcGluZ3MnXTtcbiAgaWYgKG1hcC5pZ25vcmVMaXN0KSBwdXRBbGwoY2FzdChnZW4pLl9pZ25vcmVMaXN0LCBtYXAuaWdub3JlTGlzdCk7XG5cbiAgcmV0dXJuIGdlbjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFycmF5IG9mIGhpZ2gtbGV2ZWwgbWFwcGluZyBvYmplY3RzIGZvciBldmVyeSByZWNvcmRlZCBzZWdtZW50LCB3aGljaCBjb3VsZCB0aGVuIGJlXG4gKiBwYXNzZWQgdG8gdGhlIGBzb3VyY2UtbWFwYCBsaWJyYXJ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWxsTWFwcGluZ3MobWFwOiBHZW5NYXBwaW5nKTogTWFwcGluZ1tdIHtcbiAgY29uc3Qgb3V0OiBNYXBwaW5nW10gPSBbXTtcbiAgY29uc3QgeyBfbWFwcGluZ3M6IG1hcHBpbmdzLCBfc291cmNlczogc291cmNlcywgX25hbWVzOiBuYW1lcyB9ID0gY2FzdChtYXApO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWFwcGluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBsaW5lID0gbWFwcGluZ3NbaV07XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBsaW5lLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBzZWcgPSBsaW5lW2pdO1xuXG4gICAgICBjb25zdCBnZW5lcmF0ZWQgPSB7IGxpbmU6IGkgKyAxLCBjb2x1bW46IHNlZ1tDT0xVTU5dIH07XG4gICAgICBsZXQgc291cmNlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICBsZXQgb3JpZ2luYWw6IFBvcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgIGxldCBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChzZWcubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIHNvdXJjZSA9IHNvdXJjZXMuYXJyYXlbc2VnW1NPVVJDRVNfSU5ERVhdXTtcbiAgICAgICAgb3JpZ2luYWwgPSB7IGxpbmU6IHNlZ1tTT1VSQ0VfTElORV0gKyAxLCBjb2x1bW46IHNlZ1tTT1VSQ0VfQ09MVU1OXSB9O1xuXG4gICAgICAgIGlmIChzZWcubGVuZ3RoID09PSA1KSBuYW1lID0gbmFtZXMuYXJyYXlbc2VnW05BTUVTX0lOREVYXV07XG4gICAgICB9XG5cbiAgICAgIG91dC5wdXNoKHsgZ2VuZXJhdGVkLCBzb3VyY2UsIG9yaWdpbmFsLCBuYW1lIH0gYXMgTWFwcGluZyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cblxuLy8gVGhpcyBzcGxpdCBkZWNsYXJhdGlvbiBpcyBvbmx5IHNvIHRoYXQgdGVyc2VyIGNhbiBlbG1pbmlhdGUgdGhlIHN0YXRpYyBpbml0aWFsaXphdGlvbiBibG9jay5cbmZ1bmN0aW9uIGFkZFNlZ21lbnRJbnRlcm5hbDxTIGV4dGVuZHMgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4oXG4gIHNraXBhYmxlOiBib29sZWFuLFxuICBtYXA6IEdlbk1hcHBpbmcsXG4gIGdlbkxpbmU6IG51bWJlcixcbiAgZ2VuQ29sdW1uOiBudW1iZXIsXG4gIHNvdXJjZTogUyxcbiAgc291cmNlTGluZTogUyBleHRlbmRzIHN0cmluZyA/IG51bWJlciA6IG51bGwgfCB1bmRlZmluZWQsXG4gIHNvdXJjZUNvbHVtbjogUyBleHRlbmRzIHN0cmluZyA/IG51bWJlciA6IG51bGwgfCB1bmRlZmluZWQsXG4gIG5hbWU6IFMgZXh0ZW5kcyBzdHJpbmcgPyBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIDogbnVsbCB8IHVuZGVmaW5lZCxcbiAgY29udGVudDogUyBleHRlbmRzIHN0cmluZyA/IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgOiBudWxsIHwgdW5kZWZpbmVkLFxuKTogdm9pZCB7XG4gIGNvbnN0IHtcbiAgICBfbWFwcGluZ3M6IG1hcHBpbmdzLFxuICAgIF9zb3VyY2VzOiBzb3VyY2VzLFxuICAgIF9zb3VyY2VzQ29udGVudDogc291cmNlc0NvbnRlbnQsXG4gICAgX25hbWVzOiBuYW1lcyxcbiAgfSA9IGNhc3QobWFwKTtcbiAgY29uc3QgbGluZSA9IGdldExpbmUobWFwcGluZ3MsIGdlbkxpbmUpO1xuICBjb25zdCBpbmRleCA9IGdldENvbHVtbkluZGV4KGxpbmUsIGdlbkNvbHVtbik7XG5cbiAgaWYgKCFzb3VyY2UpIHtcbiAgICBpZiAoc2tpcGFibGUgJiYgc2tpcFNvdXJjZWxlc3MobGluZSwgaW5kZXgpKSByZXR1cm47XG4gICAgcmV0dXJuIGluc2VydChsaW5lLCBpbmRleCwgW2dlbkNvbHVtbl0pO1xuICB9XG5cbiAgLy8gU2lnaCwgVHlwZVNjcmlwdCBjYW4ndCBmaWd1cmUgb3V0IHNvdXJjZUxpbmUgYW5kIHNvdXJjZUNvbHVtbiBhcmVuJ3QgbnVsbGlzaCBpZiBzb3VyY2VcbiAgLy8gaXNuJ3QgbnVsbGlzaC5cbiAgYXNzZXJ0PG51bWJlcj4oc291cmNlTGluZSk7XG4gIGFzc2VydDxudW1iZXI+KHNvdXJjZUNvbHVtbik7XG5cbiAgY29uc3Qgc291cmNlc0luZGV4ID0gcHV0KHNvdXJjZXMsIHNvdXJjZSk7XG4gIGNvbnN0IG5hbWVzSW5kZXggPSBuYW1lID8gcHV0KG5hbWVzLCBuYW1lKSA6IE5PX05BTUU7XG4gIGlmIChzb3VyY2VzSW5kZXggPT09IHNvdXJjZXNDb250ZW50Lmxlbmd0aCkgc291cmNlc0NvbnRlbnRbc291cmNlc0luZGV4XSA9IGNvbnRlbnQgPz8gbnVsbDtcblxuICBpZiAoc2tpcGFibGUgJiYgc2tpcFNvdXJjZShsaW5lLCBpbmRleCwgc291cmNlc0luZGV4LCBzb3VyY2VMaW5lLCBzb3VyY2VDb2x1bW4sIG5hbWVzSW5kZXgpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIGluc2VydChcbiAgICBsaW5lLFxuICAgIGluZGV4LFxuICAgIG5hbWVcbiAgICAgID8gW2dlbkNvbHVtbiwgc291cmNlc0luZGV4LCBzb3VyY2VMaW5lLCBzb3VyY2VDb2x1bW4sIG5hbWVzSW5kZXhdXG4gICAgICA6IFtnZW5Db2x1bW4sIHNvdXJjZXNJbmRleCwgc291cmNlTGluZSwgc291cmNlQ29sdW1uXSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gYXNzZXJ0PFQ+KF92YWw6IHVua25vd24pOiBhc3NlcnRzIF92YWwgaXMgVCB7XG4gIC8vIG5vb3AuXG59XG5cbmZ1bmN0aW9uIGdldExpbmUobWFwcGluZ3M6IFNvdXJjZU1hcFNlZ21lbnRbXVtdLCBpbmRleDogbnVtYmVyKTogU291cmNlTWFwU2VnbWVudFtdIHtcbiAgZm9yIChsZXQgaSA9IG1hcHBpbmdzLmxlbmd0aDsgaSA8PSBpbmRleDsgaSsrKSB7XG4gICAgbWFwcGluZ3NbaV0gPSBbXTtcbiAgfVxuICByZXR1cm4gbWFwcGluZ3NbaW5kZXhdO1xufVxuXG5mdW5jdGlvbiBnZXRDb2x1bW5JbmRleChsaW5lOiBTb3VyY2VNYXBTZWdtZW50W10sIGdlbkNvbHVtbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IGluZGV4ID0gbGluZS5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSBpbmRleCAtIDE7IGkgPj0gMDsgaW5kZXggPSBpLS0pIHtcbiAgICBjb25zdCBjdXJyZW50ID0gbGluZVtpXTtcbiAgICBpZiAoZ2VuQ29sdW1uID49IGN1cnJlbnRbQ09MVU1OXSkgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5mdW5jdGlvbiBpbnNlcnQ8VD4oYXJyYXk6IFRbXSwgaW5kZXg6IG51bWJlciwgdmFsdWU6IFQpIHtcbiAgZm9yIChsZXQgaSA9IGFycmF5Lmxlbmd0aDsgaSA+IGluZGV4OyBpLS0pIHtcbiAgICBhcnJheVtpXSA9IGFycmF5W2kgLSAxXTtcbiAgfVxuICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRW1wdHlGaW5hbExpbmVzKG1hcHBpbmdzOiBTb3VyY2VNYXBTZWdtZW50W11bXSkge1xuICBjb25zdCB7IGxlbmd0aCB9ID0gbWFwcGluZ3M7XG4gIGxldCBsZW4gPSBsZW5ndGg7XG4gIGZvciAobGV0IGkgPSBsZW4gLSAxOyBpID49IDA7IGxlbiA9IGksIGktLSkge1xuICAgIGlmIChtYXBwaW5nc1tpXS5sZW5ndGggPiAwKSBicmVhaztcbiAgfVxuICBpZiAobGVuIDwgbGVuZ3RoKSBtYXBwaW5ncy5sZW5ndGggPSBsZW47XG59XG5cbmZ1bmN0aW9uIHB1dEFsbDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyPihzZXRhcnI6IFNldEFycmF5PFQ+LCBhcnJheTogVFtdKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHB1dChzZXRhcnIsIGFycmF5W2ldKTtcbn1cblxuZnVuY3Rpb24gc2tpcFNvdXJjZWxlc3MobGluZTogU291cmNlTWFwU2VnbWVudFtdLCBpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gIC8vIFRoZSBzdGFydCBvZiBhIGxpbmUgaXMgYWxyZWFkeSBzb3VyY2VsZXNzLCBzbyBhZGRpbmcgYSBzb3VyY2VsZXNzIHNlZ21lbnQgdG8gdGhlIGJlZ2lubmluZ1xuICAvLyBkb2Vzbid0IGdlbmVyYXRlIGFueSB1c2VmdWwgaW5mb3JtYXRpb24uXG4gIGlmIChpbmRleCA9PT0gMCkgcmV0dXJuIHRydWU7XG5cbiAgY29uc3QgcHJldiA9IGxpbmVbaW5kZXggLSAxXTtcbiAgLy8gSWYgdGhlIHByZXZpb3VzIHNlZ21lbnQgaXMgYWxzbyBzb3VyY2VsZXNzLCB0aGVuIGFkZGluZyBhbm90aGVyIHNvdXJjZWxlc3Mgc2VnbWVudCBkb2Vzbid0XG4gIC8vIGdlbnJhdGUgYW55IG5ldyBpbmZvcm1hdGlvbi4gRWxzZSwgdGhpcyBzZWdtZW50IHdpbGwgZW5kIHRoZSBzb3VyY2UvbmFtZWQgc2VnbWVudCBhbmQgcG9pbnQgdG9cbiAgLy8gYSBzb3VyY2VsZXNzIHBvc2l0aW9uLCB3aGljaCBpcyB1c2VmdWwuXG4gIHJldHVybiBwcmV2Lmxlbmd0aCA9PT0gMTtcbn1cblxuZnVuY3Rpb24gc2tpcFNvdXJjZShcbiAgbGluZTogU291cmNlTWFwU2VnbWVudFtdLFxuICBpbmRleDogbnVtYmVyLFxuICBzb3VyY2VzSW5kZXg6IG51bWJlcixcbiAgc291cmNlTGluZTogbnVtYmVyLFxuICBzb3VyY2VDb2x1bW46IG51bWJlcixcbiAgbmFtZXNJbmRleDogbnVtYmVyLFxuKTogYm9vbGVhbiB7XG4gIC8vIEEgc291cmNlL25hbWVkIHNlZ21lbnQgYXQgdGhlIHN0YXJ0IG9mIGEgbGluZSBnaXZlcyBwb3NpdGlvbiBhdCB0aGF0IGdlbkNvbHVtblxuICBpZiAoaW5kZXggPT09IDApIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBwcmV2ID0gbGluZVtpbmRleCAtIDFdO1xuXG4gIC8vIElmIHRoZSBwcmV2aW91cyBzZWdtZW50IGlzIHNvdXJjZWxlc3MsIHRoZW4gd2UncmUgdHJhbnNpdGlvbmluZyB0byBhIHNvdXJjZS5cbiAgaWYgKHByZXYubGVuZ3RoID09PSAxKSByZXR1cm4gZmFsc2U7XG5cbiAgLy8gSWYgdGhlIHByZXZpb3VzIHNlZ21lbnQgbWFwcyB0byB0aGUgZXhhY3Qgc2FtZSBzb3VyY2UgcG9zaXRpb24sIHRoZW4gdGhpcyBzZWdtZW50IGRvZXNuJ3RcbiAgLy8gcHJvdmlkZSBhbnkgbmV3IHBvc2l0aW9uIGluZm9ybWF0aW9uLlxuICByZXR1cm4gKFxuICAgIHNvdXJjZXNJbmRleCA9PT0gcHJldltTT1VSQ0VTX0lOREVYXSAmJlxuICAgIHNvdXJjZUxpbmUgPT09IHByZXZbU09VUkNFX0xJTkVdICYmXG4gICAgc291cmNlQ29sdW1uID09PSBwcmV2W1NPVVJDRV9DT0xVTU5dICYmXG4gICAgbmFtZXNJbmRleCA9PT0gKHByZXYubGVuZ3RoID09PSA1ID8gcHJldltOQU1FU19JTkRFWF0gOiBOT19OQU1FKVxuICApO1xufVxuXG5mdW5jdGlvbiBhZGRNYXBwaW5nSW50ZXJuYWw8UyBleHRlbmRzIHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KFxuICBza2lwYWJsZTogYm9vbGVhbixcbiAgbWFwOiBHZW5NYXBwaW5nLFxuICBtYXBwaW5nOiB7XG4gICAgZ2VuZXJhdGVkOiBQb3M7XG4gICAgc291cmNlOiBTO1xuICAgIG9yaWdpbmFsOiBTIGV4dGVuZHMgc3RyaW5nID8gUG9zIDogbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBuYW1lOiBTIGV4dGVuZHMgc3RyaW5nID8gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA6IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgY29udGVudDogUyBleHRlbmRzIHN0cmluZyA/IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgOiBudWxsIHwgdW5kZWZpbmVkO1xuICB9LFxuKSB7XG4gIGNvbnN0IHsgZ2VuZXJhdGVkLCBzb3VyY2UsIG9yaWdpbmFsLCBuYW1lLCBjb250ZW50IH0gPSBtYXBwaW5nO1xuICBpZiAoIXNvdXJjZSkge1xuICAgIHJldHVybiBhZGRTZWdtZW50SW50ZXJuYWwoXG4gICAgICBza2lwYWJsZSxcbiAgICAgIG1hcCxcbiAgICAgIGdlbmVyYXRlZC5saW5lIC0gMSxcbiAgICAgIGdlbmVyYXRlZC5jb2x1bW4sXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICApO1xuICB9XG4gIGFzc2VydDxQb3M+KG9yaWdpbmFsKTtcbiAgcmV0dXJuIGFkZFNlZ21lbnRJbnRlcm5hbChcbiAgICBza2lwYWJsZSxcbiAgICBtYXAsXG4gICAgZ2VuZXJhdGVkLmxpbmUgLSAxLFxuICAgIGdlbmVyYXRlZC5jb2x1bW4sXG4gICAgc291cmNlIGFzIHN0cmluZyxcbiAgICBvcmlnaW5hbC5saW5lIC0gMSxcbiAgICBvcmlnaW5hbC5jb2x1bW4sXG4gICAgbmFtZSxcbiAgICBjb250ZW50LFxuICApO1xufVxuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZXh0ZW5kcyA9ICh0aGlzICYmIHRoaXMuX19leHRlbmRzKSB8fCAoZnVuY3Rpb24gKCkge1xuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxuICAgICAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XG4gICAgICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG4gICAgfTtcbn0pKCk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLkRldGFpbENvbnRleHQgPSBleHBvcnRzLk5vb3BDb250ZXh0ID0gZXhwb3J0cy5WRXJyb3IgPSB2b2lkIDA7XG4vKipcbiAqIEVycm9yIHRocm93biBieSB2YWxpZGF0aW9uLiBCZXNpZGVzIGFuIGluZm9ybWF0aXZlIG1lc3NhZ2UsIGl0IGluY2x1ZGVzIHRoZSBwYXRoIHRvIHRoZVxuICogcHJvcGVydHkgd2hpY2ggdHJpZ2dlcmVkIHRoZSBmYWlsdXJlLlxuICovXG52YXIgVkVycm9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhWRXJyb3IsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVkVycm9yKHBhdGgsIG1lc3NhZ2UpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgbWVzc2FnZSkgfHwgdGhpcztcbiAgICAgICAgX3RoaXMucGF0aCA9IHBhdGg7XG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvd2lraS9CcmVha2luZy1DaGFuZ2VzI2V4dGVuZGluZy1idWlsdC1pbnMtbGlrZS1lcnJvci1hcnJheS1hbmQtbWFwLW1heS1uby1sb25nZXItd29yayBmb3IgaW5mbyBhYm91dCB0aGlzIHdvcmthcm91bmQuXG4gICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgVkVycm9yLnByb3RvdHlwZSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIFZFcnJvcjtcbn0oRXJyb3IpKTtcbmV4cG9ydHMuVkVycm9yID0gVkVycm9yO1xuLyoqXG4gKiBGYXN0IGltcGxlbWVudGF0aW9uIG9mIElDb250ZXh0IHVzZWQgZm9yIGZpcnN0LXBhc3MgdmFsaWRhdGlvbi4gSWYgdGhhdCBmYWlscywgd2UgY2FuIHZhbGlkYXRlXG4gKiB1c2luZyBEZXRhaWxDb250ZXh0IHRvIGNvbGxlY3QgZXJyb3IgbWVzc2FnZXMuIFRoYXQncyBmYXN0ZXIgZm9yIHRoZSBjb21tb24gY2FzZSB3aGVuIG1lc3NhZ2VzXG4gKiBub3JtYWxseSBwYXNzIHZhbGlkYXRpb24uXG4gKi9cbnZhciBOb29wQ29udGV4dCA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBOb29wQ29udGV4dCgpIHtcbiAgICB9XG4gICAgTm9vcENvbnRleHQucHJvdG90eXBlLmZhaWwgPSBmdW5jdGlvbiAocmVsUGF0aCwgbWVzc2FnZSwgc2NvcmUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG4gICAgTm9vcENvbnRleHQucHJvdG90eXBlLnVuaW9uUmVzb2x2ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xuICAgIE5vb3BDb250ZXh0LnByb3RvdHlwZS5jcmVhdGVDb250ZXh0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcbiAgICBOb29wQ29udGV4dC5wcm90b3R5cGUucmVzb2x2ZVVuaW9uID0gZnVuY3Rpb24gKHVyKSB7IH07XG4gICAgcmV0dXJuIE5vb3BDb250ZXh0O1xufSgpKTtcbmV4cG9ydHMuTm9vcENvbnRleHQgPSBOb29wQ29udGV4dDtcbi8qKlxuICogQ29tcGxldGUgaW1wbGVtZW50YXRpb24gb2YgSUNvbnRleHQgdGhhdCBjb2xsZWN0cyBtZWFuaW5nZnVsbCBlcnJvcnMuXG4gKi9cbnZhciBEZXRhaWxDb250ZXh0ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERldGFpbENvbnRleHQoKSB7XG4gICAgICAgIC8vIFN0YWNrIG9mIHByb3BlcnR5IG5hbWVzIGFuZCBhc3NvY2lhdGVkIG1lc3NhZ2VzIGZvciByZXBvcnRpbmcgaGVscGZ1bCBlcnJvciBtZXNzYWdlcy5cbiAgICAgICAgdGhpcy5fcHJvcE5hbWVzID0gW1wiXCJdO1xuICAgICAgICB0aGlzLl9tZXNzYWdlcyA9IFtudWxsXTtcbiAgICAgICAgLy8gU2NvcmUgaXMgdXNlZCB0byBjaG9vc2UgdGhlIGJlc3QgdW5pb24gbWVtYmVyIHdob3NlIERldGFpbENvbnRleHQgdG8gdXNlIGZvciByZXBvcnRpbmcuXG4gICAgICAgIC8vIEhpZ2hlciBzY29yZSBtZWFucyBiZXR0ZXIgbWF0Y2ggKG9yIHJhdGhlciBsZXNzIHNldmVyZSBtaXNtYXRjaCkuXG4gICAgICAgIHRoaXMuX3Njb3JlID0gMDtcbiAgICB9XG4gICAgRGV0YWlsQ29udGV4dC5wcm90b3R5cGUuZmFpbCA9IGZ1bmN0aW9uIChyZWxQYXRoLCBtZXNzYWdlLCBzY29yZSkge1xuICAgICAgICB0aGlzLl9wcm9wTmFtZXMucHVzaChyZWxQYXRoKTtcbiAgICAgICAgdGhpcy5fbWVzc2FnZXMucHVzaChtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5fc2NvcmUgKz0gc2NvcmU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICAgIERldGFpbENvbnRleHQucHJvdG90eXBlLnVuaW9uUmVzb2x2ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGV0YWlsVW5pb25SZXNvbHZlcigpO1xuICAgIH07XG4gICAgRGV0YWlsQ29udGV4dC5wcm90b3R5cGUucmVzb2x2ZVVuaW9uID0gZnVuY3Rpb24gKHVuaW9uUmVzb2x2ZXIpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgdmFyIHUgPSB1bmlvblJlc29sdmVyO1xuICAgICAgICB2YXIgYmVzdCA9IG51bGw7XG4gICAgICAgIGZvciAodmFyIF9pID0gMCwgX2MgPSB1LmNvbnRleHRzOyBfaSA8IF9jLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgdmFyIGN0eCA9IF9jW19pXTtcbiAgICAgICAgICAgIGlmICghYmVzdCB8fCBjdHguX3Njb3JlID49IGJlc3QuX3Njb3JlKSB7XG4gICAgICAgICAgICAgICAgYmVzdCA9IGN0eDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYmVzdCAmJiBiZXN0Ll9zY29yZSA+IDApIHtcbiAgICAgICAgICAgIChfYSA9IHRoaXMuX3Byb3BOYW1lcykucHVzaC5hcHBseShfYSwgYmVzdC5fcHJvcE5hbWVzKTtcbiAgICAgICAgICAgIChfYiA9IHRoaXMuX21lc3NhZ2VzKS5wdXNoLmFwcGx5KF9iLCBiZXN0Ll9tZXNzYWdlcyk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIERldGFpbENvbnRleHQucHJvdG90eXBlLmdldEVycm9yID0gZnVuY3Rpb24gKHBhdGgpIHtcbiAgICAgICAgdmFyIG1zZ1BhcnRzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLl9wcm9wTmFtZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIHZhciBwID0gdGhpcy5fcHJvcE5hbWVzW2ldO1xuICAgICAgICAgICAgcGF0aCArPSAodHlwZW9mIHAgPT09IFwibnVtYmVyXCIpID8gXCJbXCIgKyBwICsgXCJdXCIgOiAocCA/IFwiLlwiICsgcCA6IFwiXCIpO1xuICAgICAgICAgICAgdmFyIG0gPSB0aGlzLl9tZXNzYWdlc1tpXTtcbiAgICAgICAgICAgIGlmIChtKSB7XG4gICAgICAgICAgICAgICAgbXNnUGFydHMucHVzaChwYXRoICsgXCIgXCIgKyBtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFZFcnJvcihwYXRoLCBtc2dQYXJ0cy5qb2luKFwiOyBcIikpO1xuICAgIH07XG4gICAgRGV0YWlsQ29udGV4dC5wcm90b3R5cGUuZ2V0RXJyb3JEZXRhaWwgPSBmdW5jdGlvbiAocGF0aCkge1xuICAgICAgICB2YXIgZGV0YWlscyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gdGhpcy5fcHJvcE5hbWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICB2YXIgcCA9IHRoaXMuX3Byb3BOYW1lc1tpXTtcbiAgICAgICAgICAgIHBhdGggKz0gKHR5cGVvZiBwID09PSBcIm51bWJlclwiKSA/IFwiW1wiICsgcCArIFwiXVwiIDogKHAgPyBcIi5cIiArIHAgOiBcIlwiKTtcbiAgICAgICAgICAgIHZhciBtZXNzYWdlID0gdGhpcy5fbWVzc2FnZXNbaV07XG4gICAgICAgICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIGRldGFpbHMucHVzaCh7IHBhdGg6IHBhdGgsIG1lc3NhZ2U6IG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRldGFpbCA9IG51bGw7XG4gICAgICAgIGZvciAodmFyIGkgPSBkZXRhaWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBpZiAoZGV0YWlsKSB7XG4gICAgICAgICAgICAgICAgZGV0YWlsc1tpXS5uZXN0ZWQgPSBbZGV0YWlsXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRldGFpbCA9IGRldGFpbHNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRldGFpbDtcbiAgICB9O1xuICAgIHJldHVybiBEZXRhaWxDb250ZXh0O1xufSgpKTtcbmV4cG9ydHMuRGV0YWlsQ29udGV4dCA9IERldGFpbENvbnRleHQ7XG52YXIgRGV0YWlsVW5pb25SZXNvbHZlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBEZXRhaWxVbmlvblJlc29sdmVyKCkge1xuICAgICAgICB0aGlzLmNvbnRleHRzID0gW107XG4gICAgfVxuICAgIERldGFpbFVuaW9uUmVzb2x2ZXIucHJvdG90eXBlLmNyZWF0ZUNvbnRleHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjdHggPSBuZXcgRGV0YWlsQ29udGV4dCgpO1xuICAgICAgICB0aGlzLmNvbnRleHRzLnB1c2goY3R4KTtcbiAgICAgICAgcmV0dXJuIGN0eDtcbiAgICB9O1xuICAgIHJldHVybiBEZXRhaWxVbmlvblJlc29sdmVyO1xufSgpKTtcbiIsICJcInVzZSBzdHJpY3RcIjtcbi8qKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBub2RlcyB1c2VkIHRvIGRlZmluZSB0eXBlcyBhbmQgdmFsaWRhdGlvbnMgZm9yIG9iamVjdHMgYW5kIGludGVyZmFjZXMuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlOm5vLXNoYWRvd2VkLXZhcmlhYmxlIHByZWZlci1mb3Itb2ZcbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcbiAgICB9O1xuICAgIHJldHVybiBmdW5jdGlvbiAoZCwgYikge1xuICAgICAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cbiAgICAgICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xuICAgIH07XG59KSgpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5iYXNpY1R5cGVzID0gZXhwb3J0cy5CYXNpY1R5cGUgPSBleHBvcnRzLlRQYXJhbUxpc3QgPSBleHBvcnRzLlRQYXJhbSA9IGV4cG9ydHMucGFyYW0gPSBleHBvcnRzLlRGdW5jID0gZXhwb3J0cy5mdW5jID0gZXhwb3J0cy5UUHJvcCA9IGV4cG9ydHMuVE9wdGlvbmFsID0gZXhwb3J0cy5vcHQgPSBleHBvcnRzLlRJZmFjZSA9IGV4cG9ydHMuaWZhY2UgPSBleHBvcnRzLlRFbnVtTGl0ZXJhbCA9IGV4cG9ydHMuZW51bWxpdCA9IGV4cG9ydHMuVEVudW1UeXBlID0gZXhwb3J0cy5lbnVtdHlwZSA9IGV4cG9ydHMuVEludGVyc2VjdGlvbiA9IGV4cG9ydHMuaW50ZXJzZWN0aW9uID0gZXhwb3J0cy5UVW5pb24gPSBleHBvcnRzLnVuaW9uID0gZXhwb3J0cy5UVHVwbGUgPSBleHBvcnRzLnR1cGxlID0gZXhwb3J0cy5UQXJyYXkgPSBleHBvcnRzLmFycmF5ID0gZXhwb3J0cy5UTGl0ZXJhbCA9IGV4cG9ydHMubGl0ID0gZXhwb3J0cy5UTmFtZSA9IGV4cG9ydHMubmFtZSA9IGV4cG9ydHMuVFR5cGUgPSB2b2lkIDA7XG52YXIgdXRpbF8xID0gcmVxdWlyZShcIi4vdXRpbFwiKTtcbi8qKiBOb2RlIHRoYXQgcmVwcmVzZW50cyBhIHR5cGUuICovXG52YXIgVFR5cGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVFR5cGUoKSB7XG4gICAgfVxuICAgIHJldHVybiBUVHlwZTtcbn0oKSk7XG5leHBvcnRzLlRUeXBlID0gVFR5cGU7XG4vKiogUGFyc2VzIGEgdHlwZSBzcGVjIGludG8gYSBUVHlwZSBub2RlLiAqL1xuZnVuY3Rpb24gcGFyc2VTcGVjKHR5cGVTcGVjKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0eXBlU3BlYyA9PT0gXCJzdHJpbmdcIiA/IG5hbWUodHlwZVNwZWMpIDogdHlwZVNwZWM7XG59XG5mdW5jdGlvbiBnZXROYW1lZFR5cGUoc3VpdGUsIG5hbWUpIHtcbiAgICB2YXIgdHR5cGUgPSBzdWl0ZVtuYW1lXTtcbiAgICBpZiAoIXR0eXBlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gdHlwZSBcIiArIG5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gdHR5cGU7XG59XG4vKipcbiAqIERlZmluZXMgYSB0eXBlIG5hbWUsIGVpdGhlciBidWlsdC1pbiwgb3IgZGVmaW5lZCBpbiB0aGlzIHN1aXRlLiBJdCBjYW4gdHlwaWNhbGx5IGJlIGluY2x1ZGVkIGluXG4gKiB0aGUgc3BlY3MgYXMganVzdCBhIHBsYWluIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gbmFtZSh2YWx1ZSkgeyByZXR1cm4gbmV3IFROYW1lKHZhbHVlKTsgfVxuZXhwb3J0cy5uYW1lID0gbmFtZTtcbnZhciBUTmFtZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoVE5hbWUsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVE5hbWUobmFtZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgX3RoaXMuX2ZhaWxNc2cgPSBcImlzIG5vdCBhIFwiICsgbmFtZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUTmFtZS5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0LCBhbGxvd2VkUHJvcHMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIHR0eXBlID0gZ2V0TmFtZWRUeXBlKHN1aXRlLCB0aGlzLm5hbWUpO1xuICAgICAgICB2YXIgY2hlY2tlciA9IHR0eXBlLmdldENoZWNrZXIoc3VpdGUsIHN0cmljdCwgYWxsb3dlZFByb3BzKTtcbiAgICAgICAgaWYgKHR0eXBlIGluc3RhbmNlb2YgQmFzaWNUeXBlIHx8IHR0eXBlIGluc3RhbmNlb2YgVE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBjaGVja2VyO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZvciBjb21wbGV4IHR5cGVzLCBhZGQgYW4gYWRkaXRpb25hbCBcImlzIG5vdCBhIDxUeXBlPlwiIG1lc3NhZ2Ugb24gZmFpbHVyZS5cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSwgY3R4KSB7IHJldHVybiBjaGVja2VyKHZhbHVlLCBjdHgpID8gdHJ1ZSA6IGN0eC5mYWlsKG51bGwsIF90aGlzLl9mYWlsTXNnLCAwKTsgfTtcbiAgICB9O1xuICAgIHJldHVybiBUTmFtZTtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVE5hbWUgPSBUTmFtZTtcbi8qKlxuICogRGVmaW5lcyBhIGxpdGVyYWwgdmFsdWUsIGUuZy4gbGl0KCdoZWxsbycpIG9yIGxpdCgxMjMpLlxuICovXG5mdW5jdGlvbiBsaXQodmFsdWUpIHsgcmV0dXJuIG5ldyBUTGl0ZXJhbCh2YWx1ZSk7IH1cbmV4cG9ydHMubGl0ID0gbGl0O1xudmFyIFRMaXRlcmFsID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUTGl0ZXJhbCwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUTGl0ZXJhbCh2YWx1ZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBfdGhpcy5uYW1lID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBfdGhpcy5fZmFpbE1zZyA9IFwiaXMgbm90IFwiICsgX3RoaXMubmFtZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUTGl0ZXJhbC5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkgeyByZXR1cm4gKHZhbHVlID09PSBfdGhpcy52YWx1ZSkgPyB0cnVlIDogY3R4LmZhaWwobnVsbCwgX3RoaXMuX2ZhaWxNc2csIC0xKTsgfTtcbiAgICB9O1xuICAgIHJldHVybiBUTGl0ZXJhbDtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVExpdGVyYWwgPSBUTGl0ZXJhbDtcbi8qKlxuICogRGVmaW5lcyBhbiBhcnJheSB0eXBlLCBlLmcuIGFycmF5KCdudW1iZXInKS5cbiAqL1xuZnVuY3Rpb24gYXJyYXkodHlwZVNwZWMpIHsgcmV0dXJuIG5ldyBUQXJyYXkocGFyc2VTcGVjKHR5cGVTcGVjKSk7IH1cbmV4cG9ydHMuYXJyYXkgPSBhcnJheTtcbnZhciBUQXJyYXkgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRBcnJheSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUQXJyYXkodHR5cGUpIHtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpcztcbiAgICAgICAgX3RoaXMudHR5cGUgPSB0dHlwZTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUQXJyYXkucHJvdG90eXBlLmdldENoZWNrZXIgPSBmdW5jdGlvbiAoc3VpdGUsIHN0cmljdCkge1xuICAgICAgICB2YXIgaXRlbUNoZWNrZXIgPSB0aGlzLnR0eXBlLmdldENoZWNrZXIoc3VpdGUsIHN0cmljdCk7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChudWxsLCBcImlzIG5vdCBhbiBhcnJheVwiLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgb2sgPSBpdGVtQ2hlY2tlcih2YWx1ZVtpXSwgY3R4KTtcbiAgICAgICAgICAgICAgICBpZiAoIW9rKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChpLCBudWxsLCAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBUQXJyYXk7XG59KFRUeXBlKSk7XG5leHBvcnRzLlRBcnJheSA9IFRBcnJheTtcbi8qKlxuICogRGVmaW5lcyBhIHR1cGxlIHR5cGUsIGUuZy4gdHVwbGUoJ3N0cmluZycsICdudW1iZXInKS5cbiAqL1xuZnVuY3Rpb24gdHVwbGUoKSB7XG4gICAgdmFyIHR5cGVTcGVjID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdHlwZVNwZWNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUVHVwbGUodHlwZVNwZWMubWFwKGZ1bmN0aW9uICh0KSB7IHJldHVybiBwYXJzZVNwZWModCk7IH0pKTtcbn1cbmV4cG9ydHMudHVwbGUgPSB0dXBsZTtcbnZhciBUVHVwbGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRUdXBsZSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUVHVwbGUodHR5cGVzKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnR0eXBlcyA9IHR0eXBlcztcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUVHVwbGUucHJvdG90eXBlLmdldENoZWNrZXIgPSBmdW5jdGlvbiAoc3VpdGUsIHN0cmljdCkge1xuICAgICAgICB2YXIgaXRlbUNoZWNrZXJzID0gdGhpcy50dHlwZXMubWFwKGZ1bmN0aW9uICh0KSB7IHJldHVybiB0LmdldENoZWNrZXIoc3VpdGUsIHN0cmljdCk7IH0pO1xuICAgICAgICB2YXIgY2hlY2tlciA9IGZ1bmN0aW9uICh2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5mYWlsKG51bGwsIFwiaXMgbm90IGFuIGFycmF5XCIsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVtQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgb2sgPSBpdGVtQ2hlY2tlcnNbaV0odmFsdWVbaV0sIGN0eCk7XG4gICAgICAgICAgICAgICAgaWYgKCFvaykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmZhaWwoaSwgbnVsbCwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIGlmICghc3RyaWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2hlY2tlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGlmICghY2hlY2tlcih2YWx1ZSwgY3R4KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPD0gaXRlbUNoZWNrZXJzLmxlbmd0aCA/IHRydWUgOlxuICAgICAgICAgICAgICAgIGN0eC5mYWlsKGl0ZW1DaGVja2Vycy5sZW5ndGgsIFwiaXMgZXh0cmFuZW91c1wiLCAyKTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBUVHVwbGU7XG59KFRUeXBlKSk7XG5leHBvcnRzLlRUdXBsZSA9IFRUdXBsZTtcbi8qKlxuICogRGVmaW5lcyBhIHVuaW9uIHR5cGUsIGUuZy4gdW5pb24oJ251bWJlcicsICdudWxsJykuXG4gKi9cbmZ1bmN0aW9uIHVuaW9uKCkge1xuICAgIHZhciB0eXBlU3BlYyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIHR5cGVTcGVjW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHJldHVybiBuZXcgVFVuaW9uKHR5cGVTcGVjLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gcGFyc2VTcGVjKHQpOyB9KSk7XG59XG5leHBvcnRzLnVuaW9uID0gdW5pb247XG52YXIgVFVuaW9uID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUVW5pb24sIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVFVuaW9uKHR0eXBlcykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy50dHlwZXMgPSB0dHlwZXM7XG4gICAgICAgIHZhciBuYW1lcyA9IHR0eXBlcy5tYXAoZnVuY3Rpb24gKHQpIHsgcmV0dXJuIHQgaW5zdGFuY2VvZiBUTmFtZSB8fCB0IGluc3RhbmNlb2YgVExpdGVyYWwgPyB0Lm5hbWUgOiBudWxsOyB9KVxuICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAobikgeyByZXR1cm4gbjsgfSk7XG4gICAgICAgIHZhciBvdGhlclR5cGVzID0gdHR5cGVzLmxlbmd0aCAtIG5hbWVzLmxlbmd0aDtcbiAgICAgICAgaWYgKG5hbWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKG90aGVyVHlwZXMgPiAwKSB7XG4gICAgICAgICAgICAgICAgbmFtZXMucHVzaChvdGhlclR5cGVzICsgXCIgbW9yZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF90aGlzLl9mYWlsTXNnID0gXCJpcyBub25lIG9mIFwiICsgbmFtZXMuam9pbihcIiwgXCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMuX2ZhaWxNc2cgPSBcImlzIG5vbmUgb2YgXCIgKyBvdGhlclR5cGVzICsgXCIgdHlwZXNcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRVbmlvbi5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBpdGVtQ2hlY2tlcnMgPSB0aGlzLnR0eXBlcy5tYXAoZnVuY3Rpb24gKHQpIHsgcmV0dXJuIHQuZ2V0Q2hlY2tlcihzdWl0ZSwgc3RyaWN0KTsgfSk7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgdmFyIHVyID0gY3R4LnVuaW9uUmVzb2x2ZXIoKTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlbUNoZWNrZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIG9rID0gaXRlbUNoZWNrZXJzW2ldKHZhbHVlLCB1ci5jcmVhdGVDb250ZXh0KCkpO1xuICAgICAgICAgICAgICAgIGlmIChvaykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdHgucmVzb2x2ZVVuaW9uKHVyKTtcbiAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChudWxsLCBfdGhpcy5fZmFpbE1zZywgMCk7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICByZXR1cm4gVFVuaW9uO1xufShUVHlwZSkpO1xuZXhwb3J0cy5UVW5pb24gPSBUVW5pb247XG4vKipcbiAqIERlZmluZXMgYW4gaW50ZXJzZWN0aW9uIHR5cGUsIGUuZy4gaW50ZXJzZWN0aW9uKCdudW1iZXInLCAnbnVsbCcpLlxuICovXG5mdW5jdGlvbiBpbnRlcnNlY3Rpb24oKSB7XG4gICAgdmFyIHR5cGVTcGVjID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdHlwZVNwZWNbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUSW50ZXJzZWN0aW9uKHR5cGVTcGVjLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gcGFyc2VTcGVjKHQpOyB9KSk7XG59XG5leHBvcnRzLmludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbjtcbnZhciBUSW50ZXJzZWN0aW9uID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUSW50ZXJzZWN0aW9uLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRJbnRlcnNlY3Rpb24odHR5cGVzKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnR0eXBlcyA9IHR0eXBlcztcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUSW50ZXJzZWN0aW9uLnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QpIHtcbiAgICAgICAgdmFyIGFsbG93ZWRQcm9wcyA9IG5ldyBTZXQoKTtcbiAgICAgICAgdmFyIGl0ZW1DaGVja2VycyA9IHRoaXMudHR5cGVzLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gdC5nZXRDaGVja2VyKHN1aXRlLCBzdHJpY3QsIGFsbG93ZWRQcm9wcyk7IH0pO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIHZhciBvayA9IGl0ZW1DaGVja2Vycy5ldmVyeShmdW5jdGlvbiAoY2hlY2tlcikgeyByZXR1cm4gY2hlY2tlcih2YWx1ZSwgY3R4KTsgfSk7XG4gICAgICAgICAgICBpZiAob2spIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChudWxsLCBudWxsLCAwKTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBUSW50ZXJzZWN0aW9uO1xufShUVHlwZSkpO1xuZXhwb3J0cy5USW50ZXJzZWN0aW9uID0gVEludGVyc2VjdGlvbjtcbi8qKlxuICogRGVmaW5lcyBhbiBlbnVtIHR5cGUsIGUuZy4gZW51bSh7J0EnOiAxLCAnQic6IDJ9KS5cbiAqL1xuZnVuY3Rpb24gZW51bXR5cGUodmFsdWVzKSB7XG4gICAgcmV0dXJuIG5ldyBURW51bVR5cGUodmFsdWVzKTtcbn1cbmV4cG9ydHMuZW51bXR5cGUgPSBlbnVtdHlwZTtcbnZhciBURW51bVR5cGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRFbnVtVHlwZSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBURW51bVR5cGUobWVtYmVycykge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5tZW1iZXJzID0gbWVtYmVycztcbiAgICAgICAgX3RoaXMudmFsaWRWYWx1ZXMgPSBuZXcgU2V0KCk7XG4gICAgICAgIF90aGlzLl9mYWlsTXNnID0gXCJpcyBub3QgYSB2YWxpZCBlbnVtIHZhbHVlXCI7XG4gICAgICAgIF90aGlzLnZhbGlkVmFsdWVzID0gbmV3IFNldChPYmplY3Qua2V5cyhtZW1iZXJzKS5tYXAoZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIG1lbWJlcnNbbmFtZV07IH0pKTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBURW51bVR5cGUucHJvdG90eXBlLmdldENoZWNrZXIgPSBmdW5jdGlvbiAoc3VpdGUsIHN0cmljdCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIHJldHVybiAoX3RoaXMudmFsaWRWYWx1ZXMuaGFzKHZhbHVlKSA/IHRydWUgOiBjdHguZmFpbChudWxsLCBfdGhpcy5fZmFpbE1zZywgMCkpO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgcmV0dXJuIFRFbnVtVHlwZTtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVEVudW1UeXBlID0gVEVudW1UeXBlO1xuLyoqXG4gKiBEZWZpbmVzIGEgbGl0ZXJhbCBlbnVtIHZhbHVlLCBzdWNoIGFzIERpcmVjdGlvbi5VcCwgc3BlY2lmaWVkIGFzIGVudW1saXQoXCJEaXJlY3Rpb25cIiwgXCJVcFwiKS5cbiAqL1xuZnVuY3Rpb24gZW51bWxpdChuYW1lLCBwcm9wKSB7XG4gICAgcmV0dXJuIG5ldyBURW51bUxpdGVyYWwobmFtZSwgcHJvcCk7XG59XG5leHBvcnRzLmVudW1saXQgPSBlbnVtbGl0O1xudmFyIFRFbnVtTGl0ZXJhbCA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoVEVudW1MaXRlcmFsLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRFbnVtTGl0ZXJhbChlbnVtTmFtZSwgcHJvcCkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5lbnVtTmFtZSA9IGVudW1OYW1lO1xuICAgICAgICBfdGhpcy5wcm9wID0gcHJvcDtcbiAgICAgICAgX3RoaXMuX2ZhaWxNc2cgPSBcImlzIG5vdCBcIiArIGVudW1OYW1lICsgXCIuXCIgKyBwcm9wO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRFbnVtTGl0ZXJhbC5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciB0dHlwZSA9IGdldE5hbWVkVHlwZShzdWl0ZSwgdGhpcy5lbnVtTmFtZSk7XG4gICAgICAgIGlmICghKHR0eXBlIGluc3RhbmNlb2YgVEVudW1UeXBlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVHlwZSBcIiArIHRoaXMuZW51bU5hbWUgKyBcIiB1c2VkIGluIGVudW1saXQgaXMgbm90IGFuIGVudW0gdHlwZVwiKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdmFsID0gdHR5cGUubWVtYmVyc1t0aGlzLnByb3BdO1xuICAgICAgICBpZiAoIXR0eXBlLm1lbWJlcnMuaGFzT3duUHJvcGVydHkodGhpcy5wcm9wKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biB2YWx1ZSBcIiArIHRoaXMuZW51bU5hbWUgKyBcIi5cIiArIHRoaXMucHJvcCArIFwiIHVzZWQgaW4gZW51bWxpdFwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHsgcmV0dXJuICh2YWx1ZSA9PT0gdmFsKSA/IHRydWUgOiBjdHguZmFpbChudWxsLCBfdGhpcy5fZmFpbE1zZywgLTEpOyB9O1xuICAgIH07XG4gICAgcmV0dXJuIFRFbnVtTGl0ZXJhbDtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVEVudW1MaXRlcmFsID0gVEVudW1MaXRlcmFsO1xuZnVuY3Rpb24gbWFrZUlmYWNlUHJvcHMocHJvcHMpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMocHJvcHMpLm1hcChmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gbWFrZUlmYWNlUHJvcChuYW1lLCBwcm9wc1tuYW1lXSk7IH0pO1xufVxuZnVuY3Rpb24gbWFrZUlmYWNlUHJvcChuYW1lLCBwcm9wKSB7XG4gICAgcmV0dXJuIHByb3AgaW5zdGFuY2VvZiBUT3B0aW9uYWwgP1xuICAgICAgICBuZXcgVFByb3AobmFtZSwgcHJvcC50dHlwZSwgdHJ1ZSkgOlxuICAgICAgICBuZXcgVFByb3AobmFtZSwgcGFyc2VTcGVjKHByb3ApLCBmYWxzZSk7XG59XG4vKipcbiAqIERlZmluZXMgYW4gaW50ZXJmYWNlLiBUaGUgZmlyc3QgYXJndW1lbnQgaXMgYW4gYXJyYXkgb2YgaW50ZXJmYWNlcyB0aGF0IGl0IGV4dGVuZHMsIGFuZCB0aGVcbiAqIHNlY29uZCBpcyBhbiBhcnJheSBvZiBwcm9wZXJ0aWVzLlxuICovXG5mdW5jdGlvbiBpZmFjZShiYXNlcywgcHJvcHMpIHtcbiAgICByZXR1cm4gbmV3IFRJZmFjZShiYXNlcywgbWFrZUlmYWNlUHJvcHMocHJvcHMpKTtcbn1cbmV4cG9ydHMuaWZhY2UgPSBpZmFjZTtcbnZhciBUSWZhY2UgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRJZmFjZSwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBUSWZhY2UoYmFzZXMsIHByb3BzKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmJhc2VzID0gYmFzZXM7XG4gICAgICAgIF90aGlzLnByb3BzID0gcHJvcHM7XG4gICAgICAgIF90aGlzLnByb3BTZXQgPSBuZXcgU2V0KHByb3BzLm1hcChmdW5jdGlvbiAocCkgeyByZXR1cm4gcC5uYW1lOyB9KSk7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgVElmYWNlLnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QsIGFsbG93ZWRQcm9wcykge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgYmFzZUNoZWNrZXJzID0gdGhpcy5iYXNlcy5tYXAoZnVuY3Rpb24gKGIpIHsgcmV0dXJuIGdldE5hbWVkVHlwZShzdWl0ZSwgYikuZ2V0Q2hlY2tlcihzdWl0ZSwgc3RyaWN0KTsgfSk7XG4gICAgICAgIHZhciBwcm9wQ2hlY2tlcnMgPSB0aGlzLnByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkgeyByZXR1cm4gcHJvcC50dHlwZS5nZXRDaGVja2VyKHN1aXRlLCBzdHJpY3QpOyB9KTtcbiAgICAgICAgdmFyIHRlc3RDdHggPSBuZXcgdXRpbF8xLk5vb3BDb250ZXh0KCk7XG4gICAgICAgIC8vIENvbnNpZGVyIGEgcHJvcCByZXF1aXJlZCBpZiBpdCdzIG5vdCBvcHRpb25hbCBBTkQgZG9lcyBub3QgYWxsb3cgZm9yIHVuZGVmaW5lZCBhcyBhIHZhbHVlLlxuICAgICAgICB2YXIgaXNQcm9wUmVxdWlyZWQgPSB0aGlzLnByb3BzLm1hcChmdW5jdGlvbiAocHJvcCwgaSkge1xuICAgICAgICAgICAgcmV0dXJuICFwcm9wLmlzT3B0ICYmICFwcm9wQ2hlY2tlcnNbaV0odW5kZWZpbmVkLCB0ZXN0Q3R4KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBjaGVja2VyID0gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmZhaWwobnVsbCwgXCJpcyBub3QgYW4gb2JqZWN0XCIsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiYXNlQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIWJhc2VDaGVja2Vyc1tpXSh2YWx1ZSwgY3R4KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgbmFtZV8xID0gX3RoaXMucHJvcHNbaV0ubmFtZTtcbiAgICAgICAgICAgICAgICB2YXIgdiA9IHZhbHVlW25hbWVfMV07XG4gICAgICAgICAgICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9wUmVxdWlyZWRbaV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChuYW1lXzEsIFwiaXMgbWlzc2luZ1wiLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9rID0gcHJvcENoZWNrZXJzW2ldKHYsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChuYW1lXzEsIG51bGwsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIGlmICghc3RyaWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gY2hlY2tlcjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJvcFNldCA9IHRoaXMucHJvcFNldDtcbiAgICAgICAgaWYgKGFsbG93ZWRQcm9wcykge1xuICAgICAgICAgICAgdGhpcy5wcm9wU2V0LmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHsgcmV0dXJuIGFsbG93ZWRQcm9wcy5hZGQocHJvcCk7IH0pO1xuICAgICAgICAgICAgcHJvcFNldCA9IGFsbG93ZWRQcm9wcztcbiAgICAgICAgfVxuICAgICAgICAvLyBJbiBzdHJpY3QgbW9kZSwgY2hlY2sgYWxzbyBmb3IgdW5rbm93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMuXG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkge1xuICAgICAgICAgICAgaWYgKCFjaGVja2VyKHZhbHVlLCBjdHgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICghcHJvcFNldC5oYXMocHJvcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5mYWlsKHByb3AsIFwiaXMgZXh0cmFuZW91c1wiLCAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBUSWZhY2U7XG59KFRUeXBlKSk7XG5leHBvcnRzLlRJZmFjZSA9IFRJZmFjZTtcbi8qKlxuICogRGVmaW5lcyBhbiBvcHRpb25hbCBwcm9wZXJ0eSBvbiBhbiBpbnRlcmZhY2UuXG4gKi9cbmZ1bmN0aW9uIG9wdCh0eXBlU3BlYykgeyByZXR1cm4gbmV3IFRPcHRpb25hbChwYXJzZVNwZWModHlwZVNwZWMpKTsgfVxuZXhwb3J0cy5vcHQgPSBvcHQ7XG52YXIgVE9wdGlvbmFsID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUT3B0aW9uYWwsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gVE9wdGlvbmFsKHR0eXBlKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnR0eXBlID0gdHR5cGU7XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgVE9wdGlvbmFsLnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QpIHtcbiAgICAgICAgdmFyIGl0ZW1DaGVja2VyID0gdGhpcy50dHlwZS5nZXRDaGVja2VyKHN1aXRlLCBzdHJpY3QpO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGl0ZW1DaGVja2VyKHZhbHVlLCBjdHgpO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgcmV0dXJuIFRPcHRpb25hbDtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVE9wdGlvbmFsID0gVE9wdGlvbmFsO1xuLyoqXG4gKiBEZWZpbmVzIGEgcHJvcGVydHkgaW4gYW4gaW50ZXJmYWNlLlxuICovXG52YXIgVFByb3AgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVFByb3AobmFtZSwgdHR5cGUsIGlzT3B0KSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMudHR5cGUgPSB0dHlwZTtcbiAgICAgICAgdGhpcy5pc09wdCA9IGlzT3B0O1xuICAgIH1cbiAgICByZXR1cm4gVFByb3A7XG59KCkpO1xuZXhwb3J0cy5UUHJvcCA9IFRQcm9wO1xuLyoqXG4gKiBEZWZpbmVzIGEgZnVuY3Rpb24uIFRoZSBmaXJzdCBhcmd1bWVudCBkZWNsYXJlcyB0aGUgZnVuY3Rpb24ncyByZXR1cm4gdHlwZSwgdGhlIHJlc3QgZGVjbGFyZVxuICogaXRzIHBhcmFtZXRlcnMuXG4gKi9cbmZ1bmN0aW9uIGZ1bmMocmVzdWx0U3BlYykge1xuICAgIHZhciBwYXJhbXMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDE7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBwYXJhbXNbX2kgLSAxXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHJldHVybiBuZXcgVEZ1bmMobmV3IFRQYXJhbUxpc3QocGFyYW1zKSwgcGFyc2VTcGVjKHJlc3VsdFNwZWMpKTtcbn1cbmV4cG9ydHMuZnVuYyA9IGZ1bmM7XG52YXIgVEZ1bmMgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFRGdW5jLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRGdW5jKHBhcmFtTGlzdCwgcmVzdWx0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnBhcmFtTGlzdCA9IHBhcmFtTGlzdDtcbiAgICAgICAgX3RoaXMucmVzdWx0ID0gcmVzdWx0O1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIFRGdW5jLnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIgPyB0cnVlIDogY3R4LmZhaWwobnVsbCwgXCJpcyBub3QgYSBmdW5jdGlvblwiLCAwKTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHJldHVybiBURnVuYztcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVEZ1bmMgPSBURnVuYztcbi8qKlxuICogRGVmaW5lcyBhIGZ1bmN0aW9uIHBhcmFtZXRlci5cbiAqL1xuZnVuY3Rpb24gcGFyYW0obmFtZSwgdHlwZVNwZWMsIGlzT3B0KSB7XG4gICAgcmV0dXJuIG5ldyBUUGFyYW0obmFtZSwgcGFyc2VTcGVjKHR5cGVTcGVjKSwgQm9vbGVhbihpc09wdCkpO1xufVxuZXhwb3J0cy5wYXJhbSA9IHBhcmFtO1xudmFyIFRQYXJhbSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBUUGFyYW0obmFtZSwgdHR5cGUsIGlzT3B0KSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMudHR5cGUgPSB0dHlwZTtcbiAgICAgICAgdGhpcy5pc09wdCA9IGlzT3B0O1xuICAgIH1cbiAgICByZXR1cm4gVFBhcmFtO1xufSgpKTtcbmV4cG9ydHMuVFBhcmFtID0gVFBhcmFtO1xuLyoqXG4gKiBEZWZpbmVzIGEgZnVuY3Rpb24gcGFyYW1ldGVyIGxpc3QuXG4gKi9cbnZhciBUUGFyYW1MaXN0ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhUUGFyYW1MaXN0LCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFRQYXJhbUxpc3QocGFyYW1zKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICBUUGFyYW1MaXN0LnByb3RvdHlwZS5nZXRDaGVja2VyID0gZnVuY3Rpb24gKHN1aXRlLCBzdHJpY3QpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIGl0ZW1DaGVja2VycyA9IHRoaXMucGFyYW1zLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gdC50dHlwZS5nZXRDaGVja2VyKHN1aXRlLCBzdHJpY3QpOyB9KTtcbiAgICAgICAgdmFyIHRlc3RDdHggPSBuZXcgdXRpbF8xLk5vb3BDb250ZXh0KCk7XG4gICAgICAgIHZhciBpc1BhcmFtUmVxdWlyZWQgPSB0aGlzLnBhcmFtcy5tYXAoZnVuY3Rpb24gKHBhcmFtLCBpKSB7XG4gICAgICAgICAgICByZXR1cm4gIXBhcmFtLmlzT3B0ICYmICFpdGVtQ2hlY2tlcnNbaV0odW5kZWZpbmVkLCB0ZXN0Q3R4KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBjaGVja2VyID0gZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmZhaWwobnVsbCwgXCJpcyBub3QgYW4gYXJyYXlcIiwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1DaGVja2Vycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHZhciBwID0gX3RoaXMucGFyYW1zW2ldO1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZVtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1BhcmFtUmVxdWlyZWRbaV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdHguZmFpbChwLm5hbWUsIFwiaXMgbWlzc2luZ1wiLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9rID0gaXRlbUNoZWNrZXJzW2ldKHZhbHVlW2ldLCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmZhaWwocC5uYW1lLCBudWxsLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuICAgICAgICBpZiAoIXN0cmljdCkge1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSwgY3R4KSB7XG4gICAgICAgICAgICBpZiAoIWNoZWNrZXIodmFsdWUsIGN0eCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoIDw9IGl0ZW1DaGVja2Vycy5sZW5ndGggPyB0cnVlIDpcbiAgICAgICAgICAgICAgICBjdHguZmFpbChpdGVtQ2hlY2tlcnMubGVuZ3RoLCBcImlzIGV4dHJhbmVvdXNcIiwgMik7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICByZXR1cm4gVFBhcmFtTGlzdDtcbn0oVFR5cGUpKTtcbmV4cG9ydHMuVFBhcmFtTGlzdCA9IFRQYXJhbUxpc3Q7XG4vKipcbiAqIFNpbmdsZSBUVHlwZSBpbXBsZW1lbnRhdGlvbiBmb3IgYWxsIGJhc2ljIGJ1aWx0LWluIHR5cGVzLlxuICovXG52YXIgQmFzaWNUeXBlID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhCYXNpY1R5cGUsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQmFzaWNUeXBlKHZhbGlkYXRvciwgbWVzc2FnZSkge1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy52YWxpZGF0b3IgPSB2YWxpZGF0b3I7XG4gICAgICAgIF90aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICByZXR1cm4gX3RoaXM7XG4gICAgfVxuICAgIEJhc2ljVHlwZS5wcm90b3R5cGUuZ2V0Q2hlY2tlciA9IGZ1bmN0aW9uIChzdWl0ZSwgc3RyaWN0KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUsIGN0eCkgeyByZXR1cm4gX3RoaXMudmFsaWRhdG9yKHZhbHVlKSA/IHRydWUgOiBjdHguZmFpbChudWxsLCBfdGhpcy5tZXNzYWdlLCAwKTsgfTtcbiAgICB9O1xuICAgIHJldHVybiBCYXNpY1R5cGU7XG59KFRUeXBlKSk7XG5leHBvcnRzLkJhc2ljVHlwZSA9IEJhc2ljVHlwZTtcbi8qKlxuICogRGVmaW5lcyB0aGUgc3VpdGUgb2YgYmFzaWMgdHlwZXMuXG4gKi9cbmV4cG9ydHMuYmFzaWNUeXBlcyA9IHtcbiAgICBhbnk6IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHRydWU7IH0sIFwiaXMgaW52YWxpZFwiKSxcbiAgICBudW1iZXI6IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuICh0eXBlb2YgdiA9PT0gXCJudW1iZXJcIik7IH0sIFwiaXMgbm90IGEgbnVtYmVyXCIpLFxuICAgIG9iamVjdDogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gKHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmIHYpOyB9LCBcImlzIG5vdCBhbiBvYmplY3RcIiksXG4gICAgYm9vbGVhbjogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gKHR5cGVvZiB2ID09PSBcImJvb2xlYW5cIik7IH0sIFwiaXMgbm90IGEgYm9vbGVhblwiKSxcbiAgICBzdHJpbmc6IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuICh0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIik7IH0sIFwiaXMgbm90IGEgc3RyaW5nXCIpLFxuICAgIHN5bWJvbDogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gKHR5cGVvZiB2ID09PSBcInN5bWJvbFwiKTsgfSwgXCJpcyBub3QgYSBzeW1ib2xcIiksXG4gICAgdm9pZDogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gKHYgPT0gbnVsbCk7IH0sIFwiaXMgbm90IHZvaWRcIiksXG4gICAgdW5kZWZpbmVkOiBuZXcgQmFzaWNUeXBlKGZ1bmN0aW9uICh2KSB7IHJldHVybiAodiA9PT0gdW5kZWZpbmVkKTsgfSwgXCJpcyBub3QgdW5kZWZpbmVkXCIpLFxuICAgIG51bGw6IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuICh2ID09PSBudWxsKTsgfSwgXCJpcyBub3QgbnVsbFwiKSxcbiAgICBuZXZlcjogbmV3IEJhc2ljVHlwZShmdW5jdGlvbiAodikgeyByZXR1cm4gZmFsc2U7IH0sIFwiaXMgdW5leHBlY3RlZFwiKSxcbiAgICBEYXRlOiBuZXcgQmFzaWNUeXBlKGdldElzTmF0aXZlQ2hlY2tlcihcIltvYmplY3QgRGF0ZV1cIiksIFwiaXMgbm90IGEgRGF0ZVwiKSxcbiAgICBSZWdFeHA6IG5ldyBCYXNpY1R5cGUoZ2V0SXNOYXRpdmVDaGVja2VyKFwiW29iamVjdCBSZWdFeHBdXCIpLCBcImlzIG5vdCBhIFJlZ0V4cFwiKSxcbn07XG4vLyBUaGlzIGFwcHJvYWNoIGZvciBjaGVja2luZyBuYXRpdmUgb2JqZWN0IHR5cGVzIG1pcnJvcnMgdGhhdCBvZiBsb2Rhc2guIEl0cyBhZHZhbnRhZ2Ugb3ZlclxuLy8gYGlzaW5zdGFuY2VgIGlzIHRoYXQgaXQgY2FuIHN0aWxsIHJldHVybiB0cnVlIGZvciBuYXRpdmUgb2JqZWN0cyBjcmVhdGVkIGluIGRpZmZlcmVudCBKU1xuLy8gZXhlY3V0aW9uIGVudmlyb25tZW50cy5cbnZhciBuYXRpdmVUb1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5mdW5jdGlvbiBnZXRJc05hdGl2ZUNoZWNrZXIodGFnKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiB0eXBlb2YgdiA9PT0gXCJvYmplY3RcIiAmJiB2ICYmIG5hdGl2ZVRvU3RyaW5nLmNhbGwodikgPT09IHRhZzsgfTtcbn1cbmlmICh0eXBlb2YgQnVmZmVyICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgZXhwb3J0cy5iYXNpY1R5cGVzLkJ1ZmZlciA9IG5ldyBCYXNpY1R5cGUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcih2KTsgfSwgXCJpcyBub3QgYSBCdWZmZXJcIik7XG59XG52YXIgX2xvb3BfMSA9IGZ1bmN0aW9uIChhcnJheV8xKSB7XG4gICAgZXhwb3J0cy5iYXNpY1R5cGVzW2FycmF5XzEubmFtZV0gPSBuZXcgQmFzaWNUeXBlKGZ1bmN0aW9uICh2KSB7IHJldHVybiAodiBpbnN0YW5jZW9mIGFycmF5XzEpOyB9LCBcImlzIG5vdCBhIFwiICsgYXJyYXlfMS5uYW1lKTtcbn07XG4vLyBTdXBwb3J0IHR5cGVkIGFycmF5cyBvZiB2YXJpb3VzIGZsYXZvcnNcbmZvciAodmFyIF9pID0gMCwgX2EgPSBbSW50OEFycmF5LCBVaW50OEFycmF5LCBVaW50OENsYW1wZWRBcnJheSwgSW50MTZBcnJheSwgVWludDE2QXJyYXksXG4gICAgSW50MzJBcnJheSwgVWludDMyQXJyYXksIEZsb2F0MzJBcnJheSwgRmxvYXQ2NEFycmF5LCBBcnJheUJ1ZmZlcl07IF9pIDwgX2EubGVuZ3RoOyBfaSsrKSB7XG4gICAgdmFyIGFycmF5XzEgPSBfYVtfaV07XG4gICAgX2xvb3BfMShhcnJheV8xKTtcbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcbnZhciBfX3NwcmVhZEFycmF5cyA9ICh0aGlzICYmIHRoaXMuX19zcHJlYWRBcnJheXMpIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxuICAgICAgICAgICAgcltrXSA9IGFbal07XG4gICAgcmV0dXJuIHI7XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5DaGVja2VyID0gZXhwb3J0cy5jcmVhdGVDaGVja2VycyA9IHZvaWQgMDtcbnZhciB0eXBlc18xID0gcmVxdWlyZShcIi4vdHlwZXNcIik7XG52YXIgdXRpbF8xID0gcmVxdWlyZShcIi4vdXRpbFwiKTtcbi8qKlxuICogRXhwb3J0IGZ1bmN0aW9ucyB1c2VkIHRvIGRlZmluZSBpbnRlcmZhY2VzLlxuICovXG52YXIgdHlwZXNfMiA9IHJlcXVpcmUoXCIuL3R5cGVzXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVEFycmF5XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLlRBcnJheTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRFbnVtVHlwZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5URW51bVR5cGU7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJURW51bUxpdGVyYWxcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVEVudW1MaXRlcmFsOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVEZ1bmNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVEZ1bmM7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUSWZhY2VcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVElmYWNlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVExpdGVyYWxcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVExpdGVyYWw7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUTmFtZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5UTmFtZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRPcHRpb25hbFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5UT3B0aW9uYWw7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUUGFyYW1cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFBhcmFtOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVFBhcmFtTGlzdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5UUGFyYW1MaXN0OyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVFByb3BcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFByb3A7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUVHVwbGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFR1cGxlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVFR5cGVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFR5cGU7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUVW5pb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuVFVuaW9uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVEludGVyc2VjdGlvblwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5USW50ZXJzZWN0aW9uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYXJyYXlcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuYXJyYXk7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbnVtbGl0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLmVudW1saXQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbnVtdHlwZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5lbnVtdHlwZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZ1bmNcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuZnVuYzsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlmYWNlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLmlmYWNlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibGl0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLmxpdDsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5hbWVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIubmFtZTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm9wdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5vcHQ7IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJhbVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHlwZXNfMi5wYXJhbTsgfSB9KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInR1cGxlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLnR1cGxlOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidW5pb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIudW5pb247IH0gfSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpbnRlcnNlY3Rpb25cIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHR5cGVzXzIuaW50ZXJzZWN0aW9uOyB9IH0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQmFzaWNUeXBlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0eXBlc18yLkJhc2ljVHlwZTsgfSB9KTtcbnZhciB1dGlsXzIgPSByZXF1aXJlKFwiLi91dGlsXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVkVycm9yXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB1dGlsXzIuVkVycm9yOyB9IH0pO1xuLyoqXG4gKiBUYWtlcyBvbmUgb2YgbW9yZSB0eXBlIHN1aXRlcyAoZS5nLiBhIG1vZHVsZSBnZW5lcmF0ZWQgYnkgYHRzLWludGVyZmFjZS1idWlsZGVyYCksIGFuZCBjb21iaW5lc1xuICogdGhlbSBpbnRvIGEgc3VpdGUgb2YgaW50ZXJmYWNlIGNoZWNrZXJzLiBJZiBhIHR5cGUgaXMgdXNlZCBieSBuYW1lLCB0aGF0IG5hbWUgc2hvdWxkIGJlIHByZXNlbnRcbiAqIGFtb25nIHRoZSBwYXNzZWQtaW4gdHlwZSBzdWl0ZXMuXG4gKlxuICogVGhlIHJldHVybmVkIG9iamVjdCBtYXBzIHR5cGUgbmFtZXMgdG8gQ2hlY2tlciBvYmplY3RzLlxuICovXG5mdW5jdGlvbiBjcmVhdGVDaGVja2VycygpIHtcbiAgICB2YXIgdHlwZVN1aXRlID0gW107XG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdHlwZVN1aXRlW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHZhciBmdWxsU3VpdGUgPSBPYmplY3QuYXNzaWduLmFwcGx5KE9iamVjdCwgX19zcHJlYWRBcnJheXMoW3t9LCB0eXBlc18xLmJhc2ljVHlwZXNdLCB0eXBlU3VpdGUpKTtcbiAgICB2YXIgY2hlY2tlcnMgPSB7fTtcbiAgICBmb3IgKHZhciBfYSA9IDAsIHR5cGVTdWl0ZV8xID0gdHlwZVN1aXRlOyBfYSA8IHR5cGVTdWl0ZV8xLmxlbmd0aDsgX2ErKykge1xuICAgICAgICB2YXIgc3VpdGVfMSA9IHR5cGVTdWl0ZV8xW19hXTtcbiAgICAgICAgZm9yICh2YXIgX2IgPSAwLCBfYyA9IE9iamVjdC5rZXlzKHN1aXRlXzEpOyBfYiA8IF9jLmxlbmd0aDsgX2IrKykge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSBfY1tfYl07XG4gICAgICAgICAgICBjaGVja2Vyc1tuYW1lXSA9IG5ldyBDaGVja2VyKGZ1bGxTdWl0ZSwgc3VpdGVfMVtuYW1lXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoZWNrZXJzO1xufVxuZXhwb3J0cy5jcmVhdGVDaGVja2VycyA9IGNyZWF0ZUNoZWNrZXJzO1xuLyoqXG4gKiBDaGVja2VyIGltcGxlbWVudHMgdmFsaWRhdGlvbiBvZiBvYmplY3RzLCBhbmQgYWxzbyBpbmNsdWRlcyBhY2Nlc3NvcnMgdG8gdmFsaWRhdGUgbWV0aG9kIGNhbGxzLlxuICogQ2hlY2tlcnMgc2hvdWxkIGJlIGNyZWF0ZWQgdXNpbmcgYGNyZWF0ZUNoZWNrZXJzKClgLlxuICovXG52YXIgQ2hlY2tlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBDcmVhdGUgY2hlY2tlcnMgYnkgdXNpbmcgYGNyZWF0ZUNoZWNrZXJzKClgIGZ1bmN0aW9uLlxuICAgIGZ1bmN0aW9uIENoZWNrZXIoc3VpdGUsIHR0eXBlLCBfcGF0aCkge1xuICAgICAgICBpZiAoX3BhdGggPT09IHZvaWQgMCkgeyBfcGF0aCA9ICd2YWx1ZSc7IH1cbiAgICAgICAgdGhpcy5zdWl0ZSA9IHN1aXRlO1xuICAgICAgICB0aGlzLnR0eXBlID0gdHR5cGU7XG4gICAgICAgIHRoaXMuX3BhdGggPSBfcGF0aDtcbiAgICAgICAgdGhpcy5wcm9wcyA9IG5ldyBNYXAoKTtcbiAgICAgICAgaWYgKHR0eXBlIGluc3RhbmNlb2YgdHlwZXNfMS5USWZhY2UpIHtcbiAgICAgICAgICAgIGZvciAodmFyIF9pID0gMCwgX2EgPSB0dHlwZS5wcm9wczsgX2kgPCBfYS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgcCA9IF9hW19pXTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNldChwLm5hbWUsIHAudHR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hlY2tlclBsYWluID0gdGhpcy50dHlwZS5nZXRDaGVja2VyKHN1aXRlLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuY2hlY2tlclN0cmljdCA9IHRoaXMudHR5cGUuZ2V0Q2hlY2tlcihzdWl0ZSwgdHJ1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgcGF0aCB0byByZXBvcnQgaW4gZXJyb3JzLCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IFwidmFsdWVcIi4gKEUuZy4gaWYgdGhlIENoZWNrZXIgaXMgZm9yXG4gICAgICogYSBcInBlcnNvblwiIGludGVyZmFjZSwgc2V0IHBhdGggdG8gXCJwZXJzb25cIiB0byByZXBvcnQgZS5nLiBcInBlcnNvbi5uYW1lIGlzIG5vdCBhIHN0cmluZ1wiLilcbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS5zZXRSZXBvcnRlZFBhdGggPSBmdW5jdGlvbiAocGF0aCkge1xuICAgICAgICB0aGlzLl9wYXRoID0gcGF0aDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENoZWNrIHRoYXQgdGhlIGdpdmVuIHZhbHVlIHNhdGlzZmllcyB0aGlzIGNoZWNrZXIncyB0eXBlLCBvciB0aHJvdyBFcnJvci5cbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS5jaGVjayA9IGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdGhpcy5fZG9DaGVjayh0aGlzLmNoZWNrZXJQbGFpbiwgdmFsdWUpOyB9O1xuICAgIC8qKlxuICAgICAqIEEgZmFzdCBjaGVjayBmb3Igd2hldGhlciBvciBub3QgdGhlIGdpdmVuIHZhbHVlIHNhdGlzZmllcyB0aGlzIENoZWNrZXIncyB0eXBlLiBUaGlzIHJldHVybnNcbiAgICAgKiB0cnVlIG9yIGZhbHNlLCBkb2VzIG5vdCBwcm9kdWNlIGFuIGVycm9yIG1lc3NhZ2UsIGFuZCBpcyBmYXN0IGJvdGggb24gc3VjY2VzcyBhbmQgb24gZmFpbHVyZS5cbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrZXJQbGFpbih2YWx1ZSwgbmV3IHV0aWxfMS5Ob29wQ29udGV4dCgpKTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gZXJyb3Igb2JqZWN0IGRlc2NyaWJpbmcgdGhlIGVycm9ycyBpZiB0aGUgZ2l2ZW4gdmFsdWUgZG9lcyBub3Qgc2F0aXNmeSB0aGlzXG4gICAgICogQ2hlY2tlcidzIHR5cGUsIG9yIG51bGwgaWYgaXQgZG9lcy5cbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZG9WYWxpZGF0ZSh0aGlzLmNoZWNrZXJQbGFpbiwgdmFsdWUpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQ2hlY2sgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgc2F0aXNmaWVzIHRoaXMgY2hlY2tlcidzIHR5cGUgc3RyaWN0bHkuIFRoaXMgY2hlY2tzIHRoYXQgb2JqZWN0c1xuICAgICAqIGFuZCB0dXBsZXMgaGF2ZSBubyBleHRyYSBtZW1iZXJzLiBOb3RlIHRoYXQgdGhpcyBwcmV2ZW50cyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBzbyB1c3VhbGx5XG4gICAgICogYSBwbGFpbiBjaGVjaygpIGlzIG1vcmUgYXBwcm9wcmlhdGUuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuc3RyaWN0Q2hlY2sgPSBmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHRoaXMuX2RvQ2hlY2sodGhpcy5jaGVja2VyU3RyaWN0LCB2YWx1ZSk7IH07XG4gICAgLyoqXG4gICAgICogQSBmYXN0IHN0cmljdCBjaGVjayBmb3Igd2hldGhlciBvciBub3QgdGhlIGdpdmVuIHZhbHVlIHNhdGlzZmllcyB0aGlzIENoZWNrZXIncyB0eXBlLiBSZXR1cm5zXG4gICAgICogdHJ1ZSBvciBmYWxzZSwgZG9lcyBub3QgcHJvZHVjZSBhbiBlcnJvciBtZXNzYWdlLCBhbmQgaXMgZmFzdCBib3RoIG9uIHN1Y2Nlc3MgYW5kIG9uIGZhaWx1cmUuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuc3RyaWN0VGVzdCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja2VyU3RyaWN0KHZhbHVlLCBuZXcgdXRpbF8xLk5vb3BDb250ZXh0KCkpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBlcnJvciBvYmplY3QgZGVzY3JpYmluZyB0aGUgZXJyb3JzIGlmIHRoZSBnaXZlbiB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoaXNcbiAgICAgKiBDaGVja2VyJ3MgdHlwZSBzdHJpY3RseSwgb3IgbnVsbCBpZiBpdCBkb2VzLlxuICAgICAqL1xuICAgIENoZWNrZXIucHJvdG90eXBlLnN0cmljdFZhbGlkYXRlID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kb1ZhbGlkYXRlKHRoaXMuY2hlY2tlclN0cmljdCwgdmFsdWUpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogSWYgdGhpcyBjaGVja2VyIGlzIGZvciBhbiBpbnRlcmZhY2UsIHJldHVybnMgYSBDaGVja2VyIGZvciB0aGUgdHlwZSByZXF1aXJlZCBmb3IgdGhlIGdpdmVuXG4gICAgICogcHJvcGVydHkgb2YgdGhpcyBpbnRlcmZhY2UuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuZ2V0UHJvcCA9IGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICAgIHZhciB0dHlwZSA9IHRoaXMucHJvcHMuZ2V0KHByb3ApO1xuICAgICAgICBpZiAoIXR0eXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUeXBlIGhhcyBubyBwcm9wZXJ0eSBcIiArIHByb3ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tlcih0aGlzLnN1aXRlLCB0dHlwZSwgdGhpcy5fcGF0aCArIFwiLlwiICsgcHJvcCk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBJZiB0aGlzIGNoZWNrZXIgaXMgZm9yIGFuIGludGVyZmFjZSwgcmV0dXJucyBhIENoZWNrZXIgZm9yIHRoZSBhcmd1bWVudC1saXN0IHJlcXVpcmVkIHRvIGNhbGxcbiAgICAgKiB0aGUgZ2l2ZW4gbWV0aG9kIG9mIHRoaXMgaW50ZXJmYWNlLiBFLmcuIGlmIHRoaXMgQ2hlY2tlciBpcyBmb3IgdGhlIGludGVyZmFjZTpcbiAgICAgKiAgICBpbnRlcmZhY2UgRm9vIHtcbiAgICAgKiAgICAgIGZpbmQoczogc3RyaW5nLCBwb3M/OiBudW1iZXIpOiBudW1iZXI7XG4gICAgICogICAgfVxuICAgICAqIFRoZW4gbWV0aG9kQXJncyhcImZpbmRcIikuY2hlY2soLi4uKSB3aWxsIHN1Y2NlZWQgZm9yIFtcImZvb1wiXSBhbmQgW1wiZm9vXCIsIDNdLCBidXQgbm90IGZvciBbMTddLlxuICAgICAqL1xuICAgIENoZWNrZXIucHJvdG90eXBlLm1ldGhvZEFyZ3MgPSBmdW5jdGlvbiAobWV0aG9kTmFtZSkge1xuICAgICAgICB2YXIgdGZ1bmMgPSB0aGlzLl9nZXRNZXRob2QobWV0aG9kTmFtZSk7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tlcih0aGlzLnN1aXRlLCB0ZnVuYy5wYXJhbUxpc3QpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogSWYgdGhpcyBjaGVja2VyIGlzIGZvciBhbiBpbnRlcmZhY2UsIHJldHVybnMgYSBDaGVja2VyIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBnaXZlblxuICAgICAqIG1ldGhvZCBvZiB0aGlzIGludGVyZmFjZS5cbiAgICAgKi9cbiAgICBDaGVja2VyLnByb3RvdHlwZS5tZXRob2RSZXN1bHQgPSBmdW5jdGlvbiAobWV0aG9kTmFtZSkge1xuICAgICAgICB2YXIgdGZ1bmMgPSB0aGlzLl9nZXRNZXRob2QobWV0aG9kTmFtZSk7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tlcih0aGlzLnN1aXRlLCB0ZnVuYy5yZXN1bHQpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogSWYgdGhpcyBjaGVja2VyIGlzIGZvciBhIGZ1bmN0aW9uLCByZXR1cm5zIGEgQ2hlY2tlciBmb3IgaXRzIGFyZ3VtZW50LWxpc3QuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuZ2V0QXJncyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCEodGhpcy50dHlwZSBpbnN0YW5jZW9mIHR5cGVzXzEuVEZ1bmMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZXRBcmdzKCkgYXBwbGllZCB0byBub24tZnVuY3Rpb25cIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja2VyKHRoaXMuc3VpdGUsIHRoaXMudHR5cGUucGFyYW1MaXN0KTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIElmIHRoaXMgY2hlY2tlciBpcyBmb3IgYSBmdW5jdGlvbiwgcmV0dXJucyBhIENoZWNrZXIgZm9yIGl0cyByZXN1bHQuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuZ2V0UmVzdWx0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoISh0aGlzLnR0eXBlIGluc3RhbmNlb2YgdHlwZXNfMS5URnVuYykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImdldFJlc3VsdCgpIGFwcGxpZWQgdG8gbm9uLWZ1bmN0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tlcih0aGlzLnN1aXRlLCB0aGlzLnR0eXBlLnJlc3VsdCk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIHR5cGUgZm9yIHdoaWNoIHRoaXMgaXMgYSBjaGVja2VyLlxuICAgICAqL1xuICAgIENoZWNrZXIucHJvdG90eXBlLmdldFR5cGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR0eXBlO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQWN0dWFsIGltcGxlbWVudGF0aW9uIG9mIGNoZWNrKCkgYW5kIHN0cmljdENoZWNrKCkuXG4gICAgICovXG4gICAgQ2hlY2tlci5wcm90b3R5cGUuX2RvQ2hlY2sgPSBmdW5jdGlvbiAoY2hlY2tlckZ1bmMsIHZhbHVlKSB7XG4gICAgICAgIHZhciBub29wQ3R4ID0gbmV3IHV0aWxfMS5Ob29wQ29udGV4dCgpO1xuICAgICAgICBpZiAoIWNoZWNrZXJGdW5jKHZhbHVlLCBub29wQ3R4KSkge1xuICAgICAgICAgICAgdmFyIGRldGFpbEN0eCA9IG5ldyB1dGlsXzEuRGV0YWlsQ29udGV4dCgpO1xuICAgICAgICAgICAgY2hlY2tlckZ1bmModmFsdWUsIGRldGFpbEN0eCk7XG4gICAgICAgICAgICB0aHJvdyBkZXRhaWxDdHguZ2V0RXJyb3IodGhpcy5fcGF0aCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIENoZWNrZXIucHJvdG90eXBlLl9kb1ZhbGlkYXRlID0gZnVuY3Rpb24gKGNoZWNrZXJGdW5jLCB2YWx1ZSkge1xuICAgICAgICB2YXIgbm9vcEN0eCA9IG5ldyB1dGlsXzEuTm9vcENvbnRleHQoKTtcbiAgICAgICAgaWYgKGNoZWNrZXJGdW5jKHZhbHVlLCBub29wQ3R4KSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRldGFpbEN0eCA9IG5ldyB1dGlsXzEuRGV0YWlsQ29udGV4dCgpO1xuICAgICAgICBjaGVja2VyRnVuYyh2YWx1ZSwgZGV0YWlsQ3R4KTtcbiAgICAgICAgcmV0dXJuIGRldGFpbEN0eC5nZXRFcnJvckRldGFpbCh0aGlzLl9wYXRoKTtcbiAgICB9O1xuICAgIENoZWNrZXIucHJvdG90eXBlLl9nZXRNZXRob2QgPSBmdW5jdGlvbiAobWV0aG9kTmFtZSkge1xuICAgICAgICB2YXIgdHR5cGUgPSB0aGlzLnByb3BzLmdldChtZXRob2ROYW1lKTtcbiAgICAgICAgaWYgKCF0dHlwZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVHlwZSBoYXMgbm8gcHJvcGVydHkgXCIgKyBtZXRob2ROYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISh0dHlwZSBpbnN0YW5jZW9mIHR5cGVzXzEuVEZ1bmMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQcm9wZXJ0eSBcIiArIG1ldGhvZE5hbWUgKyBcIiBpcyBub3QgYSBtZXRob2RcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHR0eXBlO1xuICAgIH07XG4gICAgcmV0dXJuIENoZWNrZXI7XG59KCkpO1xuZXhwb3J0cy5DaGVja2VyID0gQ2hlY2tlcjtcbiIsICJcInVzZSBzdHJpY3RcIjtcbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5leHBvcnRzLkxpbmVzQW5kQ29sdW1ucyA9IHZvaWQgMDtcbnZhciBMRiA9ICdcXG4nO1xudmFyIENSID0gJ1xccic7XG52YXIgTGluZXNBbmRDb2x1bW5zID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIExpbmVzQW5kQ29sdW1ucyhzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgICAgIHZhciBvZmZzZXRzID0gWzBdO1xuICAgICAgICBmb3IgKHZhciBvZmZzZXQgPSAwOyBvZmZzZXQgPCBzdHJpbmcubGVuZ3RoOykge1xuICAgICAgICAgICAgc3dpdGNoIChzdHJpbmdbb2Zmc2V0XSkge1xuICAgICAgICAgICAgICAgIGNhc2UgTEY6XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCArPSBMRi5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldHMucHVzaChvZmZzZXQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIENSOlxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gQ1IubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nW29mZnNldF0gPT09IExGKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gTEYubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldHMucHVzaChvZmZzZXQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQrKztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vZmZzZXRzID0gb2Zmc2V0cztcbiAgICB9XG4gICAgTGluZXNBbmRDb2x1bW5zLnByb3RvdHlwZS5sb2NhdGlvbkZvckluZGV4ID0gZnVuY3Rpb24gKGluZGV4KSB7XG4gICAgICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPiB0aGlzLnN0cmluZy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHZhciBsaW5lID0gMDtcbiAgICAgICAgdmFyIG9mZnNldHMgPSB0aGlzLm9mZnNldHM7XG4gICAgICAgIHdoaWxlIChvZmZzZXRzW2xpbmUgKyAxXSA8PSBpbmRleCkge1xuICAgICAgICAgICAgbGluZSsrO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjb2x1bW4gPSBpbmRleCAtIG9mZnNldHNbbGluZV07XG4gICAgICAgIHJldHVybiB7IGxpbmU6IGxpbmUsIGNvbHVtbjogY29sdW1uIH07XG4gICAgfTtcbiAgICBMaW5lc0FuZENvbHVtbnMucHJvdG90eXBlLmluZGV4Rm9yTG9jYXRpb24gPSBmdW5jdGlvbiAobG9jYXRpb24pIHtcbiAgICAgICAgdmFyIGxpbmUgPSBsb2NhdGlvbi5saW5lLCBjb2x1bW4gPSBsb2NhdGlvbi5jb2x1bW47XG4gICAgICAgIGlmIChsaW5lIDwgMCB8fCBsaW5lID49IHRoaXMub2Zmc2V0cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb2x1bW4gPCAwIHx8IGNvbHVtbiA+IHRoaXMubGVuZ3RoT2ZMaW5lKGxpbmUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vZmZzZXRzW2xpbmVdICsgY29sdW1uO1xuICAgIH07XG4gICAgTGluZXNBbmRDb2x1bW5zLnByb3RvdHlwZS5sZW5ndGhPZkxpbmUgPSBmdW5jdGlvbiAobGluZSkge1xuICAgICAgICB2YXIgb2Zmc2V0ID0gdGhpcy5vZmZzZXRzW2xpbmVdO1xuICAgICAgICB2YXIgbmV4dE9mZnNldCA9IGxpbmUgPT09IHRoaXMub2Zmc2V0cy5sZW5ndGggLSAxXG4gICAgICAgICAgICA/IHRoaXMuc3RyaW5nLmxlbmd0aFxuICAgICAgICAgICAgOiB0aGlzLm9mZnNldHNbbGluZSArIDFdO1xuICAgICAgICByZXR1cm4gbmV4dE9mZnNldCAtIG9mZnNldDtcbiAgICB9O1xuICAgIHJldHVybiBMaW5lc0FuZENvbHVtbnM7XG59KCkpO1xuZXhwb3J0cy5MaW5lc0FuZENvbHVtbnMgPSBMaW5lc0FuZENvbHVtbnM7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IExpbmVzQW5kQ29sdW1ucztcbiIsICIvKiogQGxpY2Vuc2UgUmVhY3QgdjE2LjEzLjFcbiAqIHJlYWN0LWlzLmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLiBJZiB0aGVyZSBpcyBubyBuYXRpdmUgU3ltYm9sXG4vLyBub3IgcG9seWZpbGwsIHRoZW4gYSBwbGFpbiBudW1iZXIgaXMgdXNlZCBmb3IgcGVyZm9ybWFuY2UuXG52YXIgaGFzU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yO1xudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpIDogMHhlYWNhO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpIDogMHhlYWNiO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpIDogMHhlYWNjO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpIDogMHhlYWQyO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpIDogMHhlYWNkO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKSA6IDB4ZWFjZTsgLy8gVE9ETzogV2UgZG9uJ3QgdXNlIEFzeW5jTW9kZSBvciBDb25jdXJyZW50TW9kZSBhbnltb3JlLiBUaGV5IHdlcmUgdGVtcG9yYXJ5XG4vLyAodW5zdGFibGUpIEFQSXMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZC4gQ2FuIHdlIHJlbW92ZSB0aGUgc3ltYm9scz9cblxudmFyIFJFQUNUX0FTWU5DX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmFzeW5jX21vZGUnKSA6IDB4ZWFjZjtcbnZhciBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbmN1cnJlbnRfbW9kZScpIDogMHhlYWNmO1xudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpIDogMHhlYWQwO1xudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpIDogMHhlYWQxO1xudmFyIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlX2xpc3QnKSA6IDB4ZWFkODtcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJykgOiAweGVhZDM7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QubGF6eScpIDogMHhlYWQ0O1xudmFyIFJFQUNUX0JMT0NLX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5ibG9jaycpIDogMHhlYWQ5O1xudmFyIFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mdW5kYW1lbnRhbCcpIDogMHhlYWQ1O1xudmFyIFJFQUNUX1JFU1BPTkRFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucmVzcG9uZGVyJykgOiAweGVhZDY7XG52YXIgUkVBQ1RfU0NPUEVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnNjb3BlJykgOiAweGVhZDc7XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgfHwgLy8gTm90ZTogaXRzIHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIGlmIGl0J3MgYSBwb2x5ZmlsbC5cbiAgdHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GVU5EQU1FTlRBTF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1JFU1BPTkRFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1NDT1BFX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQkxPQ0tfVFlQRSk7XG59XG5cbmZ1bmN0aW9uIHR5cGVPZihvYmplY3QpIHtcbiAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCkge1xuICAgIHZhciAkJHR5cGVvZiA9IG9iamVjdC4kJHR5cGVvZjtcblxuICAgIHN3aXRjaCAoJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICB2YXIgdHlwZSA9IG9iamVjdC50eXBlO1xuXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgUkVBQ1RfQVNZTkNfTU9ERV9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OQ1VSUkVOVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFyICQkdHlwZW9mVHlwZSA9IHR5cGUgJiYgdHlwZS4kJHR5cGVvZjtcblxuICAgICAgICAgICAgc3dpdGNoICgkJHR5cGVvZlR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuICQkdHlwZW9mVHlwZTtcblxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAkJHR5cGVvZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgIHJldHVybiAkJHR5cGVvZjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufSAvLyBBc3luY01vZGUgaXMgZGVwcmVjYXRlZCBhbG9uZyB3aXRoIGlzQXN5bmNNb2RlXG5cbnZhciBBc3luY01vZGUgPSBSRUFDVF9BU1lOQ19NT0RFX1RZUEU7XG52YXIgQ29uY3VycmVudE1vZGUgPSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRTtcbnZhciBDb250ZXh0Q29uc3VtZXIgPSBSRUFDVF9DT05URVhUX1RZUEU7XG52YXIgQ29udGV4dFByb3ZpZGVyID0gUkVBQ1RfUFJPVklERVJfVFlQRTtcbnZhciBFbGVtZW50ID0gUkVBQ1RfRUxFTUVOVF9UWVBFO1xudmFyIEZvcndhcmRSZWYgPSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFO1xudmFyIEZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbnZhciBMYXp5ID0gUkVBQ1RfTEFaWV9UWVBFO1xudmFyIE1lbW8gPSBSRUFDVF9NRU1PX1RZUEU7XG52YXIgUG9ydGFsID0gUkVBQ1RfUE9SVEFMX1RZUEU7XG52YXIgUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xudmFyIFN0cmljdE1vZGUgPSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFO1xudmFyIFN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbnZhciBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IGZhbHNlOyAvLyBBc3luY01vZGUgc2hvdWxkIGJlIGRlcHJlY2F0ZWRcblxuZnVuY3Rpb24gaXNBc3luY01vZGUob2JqZWN0KSB7XG4gIHtcbiAgICBpZiAoIWhhc1dhcm5lZEFib3V0RGVwcmVjYXRlZElzQXN5bmNNb2RlKSB7XG4gICAgICBoYXNXYXJuZWRBYm91dERlcHJlY2F0ZWRJc0FzeW5jTW9kZSA9IHRydWU7IC8vIFVzaW5nIGNvbnNvbGVbJ3dhcm4nXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG5cbiAgICAgIGNvbnNvbGVbJ3dhcm4nXSgnVGhlIFJlYWN0SXMuaXNBc3luY01vZGUoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTcrLiBVcGRhdGUgeW91ciBjb2RlIHRvIHVzZSAnICsgJ1JlYWN0SXMuaXNDb25jdXJyZW50TW9kZSgpIGluc3RlYWQuIEl0IGhhcyB0aGUgZXhhY3Qgc2FtZSBBUEkuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGlzQ29uY3VycmVudE1vZGUob2JqZWN0KSB8fCB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfQVNZTkNfTU9ERV9UWVBFO1xufVxuZnVuY3Rpb24gaXNDb25jdXJyZW50TW9kZShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dENvbnN1bWVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX0NPTlRFWFRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST1ZJREVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG5mdW5jdGlvbiBpc0ZvcndhcmRSZWYob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzRnJhZ21lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzTGF6eShvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVPZihvYmplY3QpID09PSBSRUFDVF9MQVpZX1RZUEU7XG59XG5mdW5jdGlvbiBpc01lbW8ob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfTUVNT19UWVBFO1xufVxuZnVuY3Rpb24gaXNQb3J0YWwob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfUE9SVEFMX1RZUEU7XG59XG5mdW5jdGlvbiBpc1Byb2ZpbGVyKG9iamVjdCkge1xuICByZXR1cm4gdHlwZU9mKG9iamVjdCkgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG59XG5mdW5jdGlvbiBpc1N0cmljdE1vZGUob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbn1cbmZ1bmN0aW9uIGlzU3VzcGVuc2Uob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlT2Yob2JqZWN0KSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbn1cblxuZXhwb3J0cy5Bc3luY01vZGUgPSBBc3luY01vZGU7XG5leHBvcnRzLkNvbmN1cnJlbnRNb2RlID0gQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLkNvbnRleHRDb25zdW1lciA9IENvbnRleHRDb25zdW1lcjtcbmV4cG9ydHMuQ29udGV4dFByb3ZpZGVyID0gQ29udGV4dFByb3ZpZGVyO1xuZXhwb3J0cy5FbGVtZW50ID0gRWxlbWVudDtcbmV4cG9ydHMuRm9yd2FyZFJlZiA9IEZvcndhcmRSZWY7XG5leHBvcnRzLkZyYWdtZW50ID0gRnJhZ21lbnQ7XG5leHBvcnRzLkxhenkgPSBMYXp5O1xuZXhwb3J0cy5NZW1vID0gTWVtbztcbmV4cG9ydHMuUG9ydGFsID0gUG9ydGFsO1xuZXhwb3J0cy5Qcm9maWxlciA9IFByb2ZpbGVyO1xuZXhwb3J0cy5TdHJpY3RNb2RlID0gU3RyaWN0TW9kZTtcbmV4cG9ydHMuU3VzcGVuc2UgPSBTdXNwZW5zZTtcbmV4cG9ydHMuaXNBc3luY01vZGUgPSBpc0FzeW5jTW9kZTtcbmV4cG9ydHMuaXNDb25jdXJyZW50TW9kZSA9IGlzQ29uY3VycmVudE1vZGU7XG5leHBvcnRzLmlzQ29udGV4dENvbnN1bWVyID0gaXNDb250ZXh0Q29uc3VtZXI7XG5leHBvcnRzLmlzQ29udGV4dFByb3ZpZGVyID0gaXNDb250ZXh0UHJvdmlkZXI7XG5leHBvcnRzLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbmV4cG9ydHMuaXNGb3J3YXJkUmVmID0gaXNGb3J3YXJkUmVmO1xuZXhwb3J0cy5pc0ZyYWdtZW50ID0gaXNGcmFnbWVudDtcbmV4cG9ydHMuaXNMYXp5ID0gaXNMYXp5O1xuZXhwb3J0cy5pc01lbW8gPSBpc01lbW87XG5leHBvcnRzLmlzUG9ydGFsID0gaXNQb3J0YWw7XG5leHBvcnRzLmlzUHJvZmlsZXIgPSBpc1Byb2ZpbGVyO1xuZXhwb3J0cy5pc1N0cmljdE1vZGUgPSBpc1N0cmljdE1vZGU7XG5leHBvcnRzLmlzU3VzcGVuc2UgPSBpc1N1c3BlbnNlO1xuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGU7XG5leHBvcnRzLnR5cGVPZiA9IHR5cGVPZjtcbiAgfSkoKTtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtaXMucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtaXMuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciByZWFjdElzID0gcmVxdWlyZSgncmVhY3QtaXMnKTtcblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSwgWWFob28hIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xudmFyIFJFQUNUX1NUQVRJQ1MgPSB7XG4gIGNoaWxkQ29udGV4dFR5cGVzOiB0cnVlLFxuICBjb250ZXh0VHlwZTogdHJ1ZSxcbiAgY29udGV4dFR5cGVzOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBnZXREZWZhdWx0UHJvcHM6IHRydWUsXG4gIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjogdHJ1ZSxcbiAgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOiB0cnVlLFxuICBtaXhpbnM6IHRydWUsXG4gIHByb3BUeXBlczogdHJ1ZSxcbiAgdHlwZTogdHJ1ZVxufTtcbnZhciBLTk9XTl9TVEFUSUNTID0ge1xuICBuYW1lOiB0cnVlLFxuICBsZW5ndGg6IHRydWUsXG4gIHByb3RvdHlwZTogdHJ1ZSxcbiAgY2FsbGVyOiB0cnVlLFxuICBjYWxsZWU6IHRydWUsXG4gIGFyZ3VtZW50czogdHJ1ZSxcbiAgYXJpdHk6IHRydWVcbn07XG52YXIgRk9SV0FSRF9SRUZfU1RBVElDUyA9IHtcbiAgJyQkdHlwZW9mJzogdHJ1ZSxcbiAgcmVuZGVyOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBwcm9wVHlwZXM6IHRydWVcbn07XG52YXIgTUVNT19TVEFUSUNTID0ge1xuICAnJCR0eXBlb2YnOiB0cnVlLFxuICBjb21wYXJlOiB0cnVlLFxuICBkZWZhdWx0UHJvcHM6IHRydWUsXG4gIGRpc3BsYXlOYW1lOiB0cnVlLFxuICBwcm9wVHlwZXM6IHRydWUsXG4gIHR5cGU6IHRydWVcbn07XG52YXIgVFlQRV9TVEFUSUNTID0ge307XG5UWVBFX1NUQVRJQ1NbcmVhY3RJcy5Gb3J3YXJkUmVmXSA9IEZPUldBUkRfUkVGX1NUQVRJQ1M7XG5UWVBFX1NUQVRJQ1NbcmVhY3RJcy5NZW1vXSA9IE1FTU9fU1RBVElDUztcblxuZnVuY3Rpb24gZ2V0U3RhdGljcyhjb21wb25lbnQpIHtcbiAgLy8gUmVhY3QgdjE2LjExIGFuZCBiZWxvd1xuICBpZiAocmVhY3RJcy5pc01lbW8oY29tcG9uZW50KSkge1xuICAgIHJldHVybiBNRU1PX1NUQVRJQ1M7XG4gIH0gLy8gUmVhY3QgdjE2LjEyIGFuZCBhYm92ZVxuXG5cbiAgcmV0dXJuIFRZUEVfU1RBVElDU1tjb21wb25lbnRbJyQkdHlwZW9mJ11dIHx8IFJFQUNUX1NUQVRJQ1M7XG59XG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBnZXRPd25Qcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIGdldFByb3RvdHlwZU9mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIG9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG5mdW5jdGlvbiBob2lzdE5vblJlYWN0U3RhdGljcyh0YXJnZXRDb21wb25lbnQsIHNvdXJjZUNvbXBvbmVudCwgYmxhY2tsaXN0KSB7XG4gIGlmICh0eXBlb2Ygc291cmNlQ29tcG9uZW50ICE9PSAnc3RyaW5nJykge1xuICAgIC8vIGRvbid0IGhvaXN0IG92ZXIgc3RyaW5nIChodG1sKSBjb21wb25lbnRzXG4gICAgaWYgKG9iamVjdFByb3RvdHlwZSkge1xuICAgICAgdmFyIGluaGVyaXRlZENvbXBvbmVudCA9IGdldFByb3RvdHlwZU9mKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICAgIGlmIChpbmhlcml0ZWRDb21wb25lbnQgJiYgaW5oZXJpdGVkQ29tcG9uZW50ICE9PSBvYmplY3RQcm90b3R5cGUpIHtcbiAgICAgICAgaG9pc3ROb25SZWFjdFN0YXRpY3ModGFyZ2V0Q29tcG9uZW50LCBpbmhlcml0ZWRDb21wb25lbnQsIGJsYWNrbGlzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGtleXMgPSBnZXRPd25Qcm9wZXJ0eU5hbWVzKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICBpZiAoZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICBrZXlzID0ga2V5cy5jb25jYXQoZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZUNvbXBvbmVudCkpO1xuICAgIH1cblxuICAgIHZhciB0YXJnZXRTdGF0aWNzID0gZ2V0U3RhdGljcyh0YXJnZXRDb21wb25lbnQpO1xuICAgIHZhciBzb3VyY2VTdGF0aWNzID0gZ2V0U3RhdGljcyhzb3VyY2VDb21wb25lbnQpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgKytpKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKCFLTk9XTl9TVEFUSUNTW2tleV0gJiYgIShibGFja2xpc3QgJiYgYmxhY2tsaXN0W2tleV0pICYmICEoc291cmNlU3RhdGljcyAmJiBzb3VyY2VTdGF0aWNzW2tleV0pICYmICEodGFyZ2V0U3RhdGljcyAmJiB0YXJnZXRTdGF0aWNzW2tleV0pKSB7XG4gICAgICAgIHZhciBkZXNjcmlwdG9yID0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZUNvbXBvbmVudCwga2V5KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEF2b2lkIGZhaWx1cmVzIGZyb20gcmVhZC1vbmx5IHByb3BlcnRpZXNcbiAgICAgICAgICBkZWZpbmVQcm9wZXJ0eSh0YXJnZXRDb21wb25lbnQsIGtleSwgZGVzY3JpcHRvcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldENvbXBvbmVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBob2lzdE5vblJlYWN0U3RhdGljcztcbiIsICIvKlxub2JqZWN0LWFzc2lnblxuKGMpIFNpbmRyZSBTb3JodXNcbkBsaWNlbnNlIE1JVFxuKi9cblxuJ3VzZSBzdHJpY3QnO1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cbnZhciBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBwcm9wSXNFbnVtZXJhYmxlID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxuZnVuY3Rpb24gdG9PYmplY3QodmFsKSB7XG5cdGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdPYmplY3QuYXNzaWduIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCBudWxsIG9yIHVuZGVmaW5lZCcpO1xuXHR9XG5cblx0cmV0dXJuIE9iamVjdCh2YWwpO1xufVxuXG5mdW5jdGlvbiBzaG91bGRVc2VOYXRpdmUoKSB7XG5cdHRyeSB7XG5cdFx0aWYgKCFPYmplY3QuYXNzaWduKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gRGV0ZWN0IGJ1Z2d5IHByb3BlcnR5IGVudW1lcmF0aW9uIG9yZGVyIGluIG9sZGVyIFY4IHZlcnNpb25zLlxuXG5cdFx0Ly8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9NDExOFxuXHRcdHZhciB0ZXN0MSA9IG5ldyBTdHJpbmcoJ2FiYycpOyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXctd3JhcHBlcnNcblx0XHR0ZXN0MVs1XSA9ICdkZSc7XG5cdFx0aWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QxKVswXSA9PT0gJzUnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MzA1NlxuXHRcdHZhciB0ZXN0MiA9IHt9O1xuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykge1xuXHRcdFx0dGVzdDJbJ18nICsgU3RyaW5nLmZyb21DaGFyQ29kZShpKV0gPSBpO1xuXHRcdH1cblx0XHR2YXIgb3JkZXIyID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGVzdDIpLm1hcChmdW5jdGlvbiAobikge1xuXHRcdFx0cmV0dXJuIHRlc3QyW25dO1xuXHRcdH0pO1xuXHRcdGlmIChvcmRlcjIuam9pbignJykgIT09ICcwMTIzNDU2Nzg5Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDMgPSB7fTtcblx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnLnNwbGl0KCcnKS5mb3JFYWNoKGZ1bmN0aW9uIChsZXR0ZXIpIHtcblx0XHRcdHRlc3QzW2xldHRlcl0gPSBsZXR0ZXI7XG5cdFx0fSk7XG5cdFx0aWYgKE9iamVjdC5rZXlzKE9iamVjdC5hc3NpZ24oe30sIHRlc3QzKSkuam9pbignJykgIT09XG5cdFx0XHRcdCdhYmNkZWZnaGlqa2xtbm9wcXJzdCcpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0Ly8gV2UgZG9uJ3QgZXhwZWN0IGFueSBvZiB0aGUgYWJvdmUgdG8gdGhyb3csIGJ1dCBiZXR0ZXIgdG8gYmUgc2FmZS5cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzaG91bGRVc2VOYXRpdmUoKSA/IE9iamVjdC5hc3NpZ24gOiBmdW5jdGlvbiAodGFyZ2V0LCBzb3VyY2UpIHtcblx0dmFyIGZyb207XG5cdHZhciB0byA9IHRvT2JqZWN0KHRhcmdldCk7XG5cdHZhciBzeW1ib2xzO1xuXG5cdGZvciAodmFyIHMgPSAxOyBzIDwgYXJndW1lbnRzLmxlbmd0aDsgcysrKSB7XG5cdFx0ZnJvbSA9IE9iamVjdChhcmd1bWVudHNbc10pO1xuXG5cdFx0Zm9yICh2YXIga2V5IGluIGZyb20pIHtcblx0XHRcdGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGZyb20sIGtleSkpIHtcblx0XHRcdFx0dG9ba2V5XSA9IGZyb21ba2V5XTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG5cdFx0XHRzeW1ib2xzID0gZ2V0T3duUHJvcGVydHlTeW1ib2xzKGZyb20pO1xuXHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzeW1ib2xzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGlmIChwcm9wSXNFbnVtZXJhYmxlLmNhbGwoZnJvbSwgc3ltYm9sc1tpXSkpIHtcblx0XHRcdFx0XHR0b1tzeW1ib2xzW2ldXSA9IGZyb21bc3ltYm9sc1tpXV07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gdG87XG59O1xuIiwgIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWN0UHJvcFR5cGVzU2VjcmV0O1xuIiwgIm1vZHVsZS5leHBvcnRzID0gRnVuY3Rpb24uY2FsbC5iaW5kKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpO1xuIiwgIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24oKSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gcmVxdWlyZSgnLi9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQnKTtcbiAgdmFyIGxvZ2dlZFR5cGVGYWlsdXJlcyA9IHt9O1xuICB2YXIgaGFzID0gcmVxdWlyZSgnLi9saWIvaGFzJyk7XG5cbiAgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24odGV4dCkge1xuICAgIHZhciBtZXNzYWdlID0gJ1dhcm5pbmc6ICcgKyB0ZXh0O1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHsgLyoqLyB9XG4gIH07XG59XG5cbi8qKlxuICogQXNzZXJ0IHRoYXQgdGhlIHZhbHVlcyBtYXRjaCB3aXRoIHRoZSB0eXBlIHNwZWNzLlxuICogRXJyb3IgbWVzc2FnZXMgYXJlIG1lbW9yaXplZCBhbmQgd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IHR5cGVTcGVjcyBNYXAgb2YgbmFtZSB0byBhIFJlYWN0UHJvcFR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSB2YWx1ZXMgUnVudGltZSB2YWx1ZXMgdGhhdCBuZWVkIHRvIGJlIHR5cGUtY2hlY2tlZFxuICogQHBhcmFtIHtzdHJpbmd9IGxvY2F0aW9uIGUuZy4gXCJwcm9wXCIsIFwiY29udGV4dFwiLCBcImNoaWxkIGNvbnRleHRcIlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbXBvbmVudE5hbWUgTmFtZSBvZiB0aGUgY29tcG9uZW50IGZvciBlcnJvciBtZXNzYWdlcy5cbiAqIEBwYXJhbSB7P0Z1bmN0aW9ufSBnZXRTdGFjayBSZXR1cm5zIHRoZSBjb21wb25lbnQgc3RhY2suXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGdldFN0YWNrKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yO1xuICAgICAgICAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKFxuICAgICAgICAgICAgICAoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgK1xuICAgICAgICAgICAgICAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nICtcbiAgICAgICAgICAgICAgJ1RoaXMgb2Z0ZW4gaGFwcGVucyBiZWNhdXNlIG9mIHR5cG9zIHN1Y2ggYXMgYFByb3BUeXBlcy5mdW5jdGlvbmAgaW5zdGVhZCBvZiBgUHJvcFR5cGVzLmZ1bmNgLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXJyb3IgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICBlcnJvciA9IGV4O1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvciAmJiAhKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJyArXG4gICAgICAgICAgICBsb2NhdGlvbiArICcgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgK1xuICAgICAgICAgICAgJ2Z1bmN0aW9uIG11c3QgcmV0dXJuIGBudWxsYCBvciBhbiBgRXJyb3JgIGJ1dCByZXR1cm5lZCBhICcgKyB0eXBlb2YgZXJyb3IgKyAnLiAnICtcbiAgICAgICAgICAgICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICtcbiAgICAgICAgICAgICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgK1xuICAgICAgICAgICAgJ3NoYXBlIGFsbCByZXF1aXJlIGFuIGFyZ3VtZW50KS4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiAhKGVycm9yLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yLm1lc3NhZ2VdID0gdHJ1ZTtcblxuICAgICAgICAgIHZhciBzdGFjayA9IGdldFN0YWNrID8gZ2V0U3RhY2soKSA6ICcnO1xuXG4gICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgJ0ZhaWxlZCAnICsgbG9jYXRpb24gKyAnIHR5cGU6ICcgKyBlcnJvci5tZXNzYWdlICsgKHN0YWNrICE9IG51bGwgPyBzdGFjayA6ICcnKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXNldHMgd2FybmluZyBjYWNoZSB3aGVuIHRlc3RpbmcuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY2hlY2tQcm9wVHlwZXMucmVzZXRXYXJuaW5nQ2FjaGUgPSBmdW5jdGlvbigpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNoZWNrUHJvcFR5cGVzO1xuIiwgIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RJcyA9IHJlcXVpcmUoJ3JlYWN0LWlzJyk7XG52YXIgYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xuXG52YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSByZXF1aXJlKCcuL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldCcpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vbGliL2hhcycpO1xudmFyIGNoZWNrUHJvcFR5cGVzID0gcmVxdWlyZSgnLi9jaGVja1Byb3BUeXBlcycpO1xuXG52YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24oKSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24odGV4dCkge1xuICAgIHZhciBtZXNzYWdlID0gJ1dhcm5pbmc6ICcgKyB0ZXh0O1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGVtcHR5RnVuY3Rpb25UaGF0UmV0dXJuc051bGwoKSB7XG4gIHJldHVybiBudWxsO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGlzVmFsaWRFbGVtZW50LCB0aHJvd09uRGlyZWN0QWNjZXNzKSB7XG4gIC8qIGdsb2JhbCBTeW1ib2wgKi9cbiAgdmFyIElURVJBVE9SX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLml0ZXJhdG9yO1xuICB2YXIgRkFVWF9JVEVSQVRPUl9TWU1CT0wgPSAnQEBpdGVyYXRvcic7IC8vIEJlZm9yZSBTeW1ib2wgc3BlYy5cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaXRlcmF0b3IgbWV0aG9kIGZ1bmN0aW9uIGNvbnRhaW5lZCBvbiB0aGUgaXRlcmFibGUgb2JqZWN0LlxuICAgKlxuICAgKiBCZSBzdXJlIHRvIGludm9rZSB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgaXRlcmFibGUgYXMgY29udGV4dDpcbiAgICpcbiAgICogICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihteUl0ZXJhYmxlKTtcbiAgICogICAgIGlmIChpdGVyYXRvckZuKSB7XG4gICAqICAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChteUl0ZXJhYmxlKTtcbiAgICogICAgICAgLi4uXG4gICAqICAgICB9XG4gICAqXG4gICAqIEBwYXJhbSB7P29iamVjdH0gbWF5YmVJdGVyYWJsZVxuICAgKiBAcmV0dXJuIHs/ZnVuY3Rpb259XG4gICAqL1xuICBmdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgICB2YXIgaXRlcmF0b3JGbiA9IG1heWJlSXRlcmFibGUgJiYgKElURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW0lURVJBVE9SX1NZTUJPTF0gfHwgbWF5YmVJdGVyYWJsZVtGQVVYX0lURVJBVE9SX1NZTUJPTF0pO1xuICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGl0ZXJhdG9yRm47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbGxlY3Rpb24gb2YgbWV0aG9kcyB0aGF0IGFsbG93IGRlY2xhcmF0aW9uIGFuZCB2YWxpZGF0aW9uIG9mIHByb3BzIHRoYXQgYXJlXG4gICAqIHN1cHBsaWVkIHRvIFJlYWN0IGNvbXBvbmVudHMuIEV4YW1wbGUgdXNhZ2U6XG4gICAqXG4gICAqICAgdmFyIFByb3BzID0gcmVxdWlyZSgnUmVhY3RQcm9wVHlwZXMnKTtcbiAgICogICB2YXIgTXlBcnRpY2xlID0gUmVhY3QuY3JlYXRlQ2xhc3Moe1xuICAgKiAgICAgcHJvcFR5cGVzOiB7XG4gICAqICAgICAgIC8vIEFuIG9wdGlvbmFsIHN0cmluZyBwcm9wIG5hbWVkIFwiZGVzY3JpcHRpb25cIi5cbiAgICogICAgICAgZGVzY3JpcHRpb246IFByb3BzLnN0cmluZyxcbiAgICpcbiAgICogICAgICAgLy8gQSByZXF1aXJlZCBlbnVtIHByb3AgbmFtZWQgXCJjYXRlZ29yeVwiLlxuICAgKiAgICAgICBjYXRlZ29yeTogUHJvcHMub25lT2YoWydOZXdzJywnUGhvdG9zJ10pLmlzUmVxdWlyZWQsXG4gICAqXG4gICAqICAgICAgIC8vIEEgcHJvcCBuYW1lZCBcImRpYWxvZ1wiIHRoYXQgcmVxdWlyZXMgYW4gaW5zdGFuY2Ugb2YgRGlhbG9nLlxuICAgKiAgICAgICBkaWFsb2c6IFByb3BzLmluc3RhbmNlT2YoRGlhbG9nKS5pc1JlcXVpcmVkXG4gICAqICAgICB9LFxuICAgKiAgICAgcmVuZGVyOiBmdW5jdGlvbigpIHsgLi4uIH1cbiAgICogICB9KTtcbiAgICpcbiAgICogQSBtb3JlIGZvcm1hbCBzcGVjaWZpY2F0aW9uIG9mIGhvdyB0aGVzZSBtZXRob2RzIGFyZSB1c2VkOlxuICAgKlxuICAgKiAgIHR5cGUgOj0gYXJyYXl8Ym9vbHxmdW5jfG9iamVjdHxudW1iZXJ8c3RyaW5nfG9uZU9mKFsuLi5dKXxpbnN0YW5jZU9mKC4uLilcbiAgICogICBkZWNsIDo9IFJlYWN0UHJvcFR5cGVzLnt0eXBlfSguaXNSZXF1aXJlZCk/XG4gICAqXG4gICAqIEVhY2ggYW5kIGV2ZXJ5IGRlY2xhcmF0aW9uIHByb2R1Y2VzIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBzaWduYXR1cmUuIFRoaXNcbiAgICogYWxsb3dzIHRoZSBjcmVhdGlvbiBvZiBjdXN0b20gdmFsaWRhdGlvbiBmdW5jdGlvbnMuIEZvciBleGFtcGxlOlxuICAgKlxuICAgKiAgdmFyIE15TGluayA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcbiAgICogICAgcHJvcFR5cGVzOiB7XG4gICAqICAgICAgLy8gQW4gb3B0aW9uYWwgc3RyaW5nIG9yIFVSSSBwcm9wIG5hbWVkIFwiaHJlZlwiLlxuICAgKiAgICAgIGhyZWY6IGZ1bmN0aW9uKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSkge1xuICAgKiAgICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICogICAgICAgIGlmIChwcm9wVmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgcHJvcFZhbHVlICE9PSAnc3RyaW5nJyAmJlxuICAgKiAgICAgICAgICAgICEocHJvcFZhbHVlIGluc3RhbmNlb2YgVVJJKSkge1xuICAgKiAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgKiAgICAgICAgICAgICdFeHBlY3RlZCBhIHN0cmluZyBvciBhbiBVUkkgZm9yICcgKyBwcm9wTmFtZSArICcgaW4gJyArXG4gICAqICAgICAgICAgICAgY29tcG9uZW50TmFtZVxuICAgKiAgICAgICAgICApO1xuICAgKiAgICAgICAgfVxuICAgKiAgICAgIH1cbiAgICogICAgfSxcbiAgICogICAgcmVuZGVyOiBmdW5jdGlvbigpIHsuLi59XG4gICAqICB9KTtcbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuXG4gIHZhciBBTk9OWU1PVVMgPSAnPDxhbm9ueW1vdXM+Pic7XG5cbiAgLy8gSW1wb3J0YW50IVxuICAvLyBLZWVwIHRoaXMgbGlzdCBpbiBzeW5jIHdpdGggcHJvZHVjdGlvbiB2ZXJzaW9uIGluIGAuL2ZhY3RvcnlXaXRoVGhyb3dpbmdTaGltcy5qc2AuXG4gIHZhciBSZWFjdFByb3BUeXBlcyA9IHtcbiAgICBhcnJheTogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ2FycmF5JyksXG4gICAgYmlnaW50OiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignYmlnaW50JyksXG4gICAgYm9vbDogY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoJ2Jvb2xlYW4nKSxcbiAgICBmdW5jOiBjcmVhdGVQcmltaXRpdmVUeXBlQ2hlY2tlcignZnVuY3Rpb24nKSxcbiAgICBudW1iZXI6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdudW1iZXInKSxcbiAgICBvYmplY3Q6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdvYmplY3QnKSxcbiAgICBzdHJpbmc6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdzdHJpbmcnKSxcbiAgICBzeW1ib2w6IGNyZWF0ZVByaW1pdGl2ZVR5cGVDaGVja2VyKCdzeW1ib2wnKSxcblxuICAgIGFueTogY3JlYXRlQW55VHlwZUNoZWNrZXIoKSxcbiAgICBhcnJheU9mOiBjcmVhdGVBcnJheU9mVHlwZUNoZWNrZXIsXG4gICAgZWxlbWVudDogY3JlYXRlRWxlbWVudFR5cGVDaGVja2VyKCksXG4gICAgZWxlbWVudFR5cGU6IGNyZWF0ZUVsZW1lbnRUeXBlVHlwZUNoZWNrZXIoKSxcbiAgICBpbnN0YW5jZU9mOiBjcmVhdGVJbnN0YW5jZVR5cGVDaGVja2VyLFxuICAgIG5vZGU6IGNyZWF0ZU5vZGVDaGVja2VyKCksXG4gICAgb2JqZWN0T2Y6IGNyZWF0ZU9iamVjdE9mVHlwZUNoZWNrZXIsXG4gICAgb25lT2Y6IGNyZWF0ZUVudW1UeXBlQ2hlY2tlcixcbiAgICBvbmVPZlR5cGU6IGNyZWF0ZVVuaW9uVHlwZUNoZWNrZXIsXG4gICAgc2hhcGU6IGNyZWF0ZVNoYXBlVHlwZUNoZWNrZXIsXG4gICAgZXhhY3Q6IGNyZWF0ZVN0cmljdFNoYXBlVHlwZUNoZWNrZXIsXG4gIH07XG5cbiAgLyoqXG4gICAqIGlubGluZWQgT2JqZWN0LmlzIHBvbHlmaWxsIHRvIGF2b2lkIHJlcXVpcmluZyBjb25zdW1lcnMgc2hpcCB0aGVpciBvd25cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvT2JqZWN0L2lzXG4gICAqL1xuICAvKmVzbGludC1kaXNhYmxlIG5vLXNlbGYtY29tcGFyZSovXG4gIGZ1bmN0aW9uIGlzKHgsIHkpIHtcbiAgICAvLyBTYW1lVmFsdWUgYWxnb3JpdGhtXG4gICAgaWYgKHggPT09IHkpIHtcbiAgICAgIC8vIFN0ZXBzIDEtNSwgNy0xMFxuICAgICAgLy8gU3RlcHMgNi5iLTYuZTogKzAgIT0gLTBcbiAgICAgIHJldHVybiB4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU3RlcCA2LmE6IE5hTiA9PSBOYU5cbiAgICAgIHJldHVybiB4ICE9PSB4ICYmIHkgIT09IHk7XG4gICAgfVxuICB9XG4gIC8qZXNsaW50LWVuYWJsZSBuby1zZWxmLWNvbXBhcmUqL1xuXG4gIC8qKlxuICAgKiBXZSB1c2UgYW4gRXJyb3ItbGlrZSBvYmplY3QgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYXMgcGVvcGxlIG1heSBjYWxsXG4gICAqIFByb3BUeXBlcyBkaXJlY3RseSBhbmQgaW5zcGVjdCB0aGVpciBvdXRwdXQuIEhvd2V2ZXIsIHdlIGRvbid0IHVzZSByZWFsXG4gICAqIEVycm9ycyBhbnltb3JlLiBXZSBkb24ndCBpbnNwZWN0IHRoZWlyIHN0YWNrIGFueXdheSwgYW5kIGNyZWF0aW5nIHRoZW1cbiAgICogaXMgcHJvaGliaXRpdmVseSBleHBlbnNpdmUgaWYgdGhleSBhcmUgY3JlYXRlZCB0b28gb2Z0ZW4sIHN1Y2ggYXMgd2hhdFxuICAgKiBoYXBwZW5zIGluIG9uZU9mVHlwZSgpIGZvciBhbnkgdHlwZSBiZWZvcmUgdGhlIG9uZSB0aGF0IG1hdGNoZWQuXG4gICAqL1xuICBmdW5jdGlvbiBQcm9wVHlwZUVycm9yKG1lc3NhZ2UsIGRhdGEpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIHRoaXMuZGF0YSA9IGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnID8gZGF0YToge307XG4gICAgdGhpcy5zdGFjayA9ICcnO1xuICB9XG4gIC8vIE1ha2UgYGluc3RhbmNlb2YgRXJyb3JgIHN0aWxsIHdvcmsgZm9yIHJldHVybmVkIGVycm9ycy5cbiAgUHJvcFR5cGVFcnJvci5wcm90b3R5cGUgPSBFcnJvci5wcm90b3R5cGU7XG5cbiAgZnVuY3Rpb24gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgdmFyIG1hbnVhbFByb3BUeXBlQ2FsbENhY2hlID0ge307XG4gICAgICB2YXIgbWFudWFsUHJvcFR5cGVXYXJuaW5nQ291bnQgPSAwO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjaGVja1R5cGUoaXNSZXF1aXJlZCwgcHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBzZWNyZXQpIHtcbiAgICAgIGNvbXBvbmVudE5hbWUgPSBjb21wb25lbnROYW1lIHx8IEFOT05ZTU9VUztcbiAgICAgIHByb3BGdWxsTmFtZSA9IHByb3BGdWxsTmFtZSB8fCBwcm9wTmFtZTtcblxuICAgICAgaWYgKHNlY3JldCAhPT0gUmVhY3RQcm9wVHlwZXNTZWNyZXQpIHtcbiAgICAgICAgaWYgKHRocm93T25EaXJlY3RBY2Nlc3MpIHtcbiAgICAgICAgICAvLyBOZXcgYmVoYXZpb3Igb25seSBmb3IgdXNlcnMgb2YgYHByb3AtdHlwZXNgIHBhY2thZ2VcbiAgICAgICAgICB2YXIgZXJyID0gbmV3IEVycm9yKFxuICAgICAgICAgICAgJ0NhbGxpbmcgUHJvcFR5cGVzIHZhbGlkYXRvcnMgZGlyZWN0bHkgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UuICcgK1xuICAgICAgICAgICAgJ1VzZSBgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKClgIHRvIGNhbGwgdGhlbS4gJyArXG4gICAgICAgICAgICAnUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcydcbiAgICAgICAgICApO1xuICAgICAgICAgIGVyci5uYW1lID0gJ0ludmFyaWFudCBWaW9sYXRpb24nO1xuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIC8vIE9sZCBiZWhhdmlvciBmb3IgcGVvcGxlIHVzaW5nIFJlYWN0LlByb3BUeXBlc1xuICAgICAgICAgIHZhciBjYWNoZUtleSA9IGNvbXBvbmVudE5hbWUgKyAnOicgKyBwcm9wTmFtZTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhbWFudWFsUHJvcFR5cGVDYWxsQ2FjaGVbY2FjaGVLZXldICYmXG4gICAgICAgICAgICAvLyBBdm9pZCBzcGFtbWluZyB0aGUgY29uc29sZSBiZWNhdXNlIHRoZXkgYXJlIG9mdGVuIG5vdCBhY3Rpb25hYmxlIGV4Y2VwdCBmb3IgbGliIGF1dGhvcnNcbiAgICAgICAgICAgIG1hbnVhbFByb3BUeXBlV2FybmluZ0NvdW50IDwgM1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgICAnWW91IGFyZSBtYW51YWxseSBjYWxsaW5nIGEgUmVhY3QuUHJvcFR5cGVzIHZhbGlkYXRpb24gJyArXG4gICAgICAgICAgICAgICdmdW5jdGlvbiBmb3IgdGhlIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2AgcHJvcCBvbiBgJyArIGNvbXBvbmVudE5hbWUgKyAnYC4gVGhpcyBpcyBkZXByZWNhdGVkICcgK1xuICAgICAgICAgICAgICAnYW5kIHdpbGwgdGhyb3cgaW4gdGhlIHN0YW5kYWxvbmUgYHByb3AtdHlwZXNgIHBhY2thZ2UuICcgK1xuICAgICAgICAgICAgICAnWW91IG1heSBiZSBzZWVpbmcgdGhpcyB3YXJuaW5nIGR1ZSB0byBhIHRoaXJkLXBhcnR5IFByb3BUeXBlcyAnICtcbiAgICAgICAgICAgICAgJ2xpYnJhcnkuIFNlZSBodHRwczovL2ZiLm1lL3JlYWN0LXdhcm5pbmctZG9udC1jYWxsLXByb3B0eXBlcyAnICsgJ2ZvciBkZXRhaWxzLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtYW51YWxQcm9wVHlwZUNhbGxDYWNoZVtjYWNoZUtleV0gPSB0cnVlO1xuICAgICAgICAgICAgbWFudWFsUHJvcFR5cGVXYXJuaW5nQ291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT0gbnVsbCkge1xuICAgICAgICBpZiAoaXNSZXF1aXJlZCkge1xuICAgICAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignVGhlICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBpcyBtYXJrZWQgYXMgcmVxdWlyZWQgJyArICgnaW4gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGJ1dCBpdHMgdmFsdWUgaXMgYG51bGxgLicpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdUaGUgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIGlzIG1hcmtlZCBhcyByZXF1aXJlZCBpbiAnICsgKCdgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgYnV0IGl0cyB2YWx1ZSBpcyBgdW5kZWZpbmVkYC4nKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY2hhaW5lZENoZWNrVHlwZSA9IGNoZWNrVHlwZS5iaW5kKG51bGwsIGZhbHNlKTtcbiAgICBjaGFpbmVkQ2hlY2tUeXBlLmlzUmVxdWlyZWQgPSBjaGVja1R5cGUuYmluZChudWxsLCB0cnVlKTtcblxuICAgIHJldHVybiBjaGFpbmVkQ2hlY2tUeXBlO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXIoZXhwZWN0ZWRUeXBlKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBzZWNyZXQpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgaWYgKHByb3BUeXBlICE9PSBleHBlY3RlZFR5cGUpIHtcbiAgICAgICAgLy8gYHByb3BWYWx1ZWAgYmVpbmcgaW5zdGFuY2Ugb2YsIHNheSwgZGF0ZS9yZWdleHAsIHBhc3MgdGhlICdvYmplY3QnXG4gICAgICAgIC8vIGNoZWNrLCBidXQgd2UgY2FuIG9mZmVyIGEgbW9yZSBwcmVjaXNlIGVycm9yIG1lc3NhZ2UgaGVyZSByYXRoZXIgdGhhblxuICAgICAgICAvLyAnb2YgdHlwZSBgb2JqZWN0YCcuXG4gICAgICAgIHZhciBwcmVjaXNlVHlwZSA9IGdldFByZWNpc2VUeXBlKHByb3BWYWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKFxuICAgICAgICAgICdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJlY2lzZVR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgJykgKyAoJ2AnICsgZXhwZWN0ZWRUeXBlICsgJ2AuJyksXG4gICAgICAgICAge2V4cGVjdGVkVHlwZTogZXhwZWN0ZWRUeXBlfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVBbnlUeXBlQ2hlY2tlcigpIHtcbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIoZW1wdHlGdW5jdGlvblRoYXRSZXR1cm5zTnVsbCk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVBcnJheU9mVHlwZUNoZWNrZXIodHlwZUNoZWNrZXIpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdHlwZUNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdQcm9wZXJ0eSBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIGNvbXBvbmVudCBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCBoYXMgaW52YWxpZCBQcm9wVHlwZSBub3RhdGlvbiBpbnNpZGUgYXJyYXlPZi4nKTtcbiAgICAgIH1cbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocHJvcFZhbHVlKSkge1xuICAgICAgICB2YXIgcHJvcFR5cGUgPSBnZXRQcm9wVHlwZShwcm9wVmFsdWUpO1xuICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIG9mIHR5cGUgJyArICgnYCcgKyBwcm9wVHlwZSArICdgIHN1cHBsaWVkIHRvIGAnICsgY29tcG9uZW50TmFtZSArICdgLCBleHBlY3RlZCBhbiBhcnJheS4nKSk7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BWYWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgZXJyb3IgPSB0eXBlQ2hlY2tlcihwcm9wVmFsdWUsIGksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnWycgKyBpICsgJ10nLCBSZWFjdFByb3BUeXBlc1NlY3JldCk7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRUeXBlQ2hlY2tlcigpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICBpZiAoIWlzVmFsaWRFbGVtZW50KHByb3BWYWx1ZSkpIHtcbiAgICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJvcFR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYSBzaW5nbGUgUmVhY3RFbGVtZW50LicpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudFR5cGVUeXBlQ2hlY2tlcigpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIHZhciBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG4gICAgICBpZiAoIVJlYWN0SXMuaXNWYWxpZEVsZW1lbnRUeXBlKHByb3BWYWx1ZSkpIHtcbiAgICAgICAgdmFyIHByb3BUeXBlID0gZ2V0UHJvcFR5cGUocHJvcFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgcHJvcFR5cGUgKyAnYCBzdXBwbGllZCB0byBgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYSBzaW5nbGUgUmVhY3RFbGVtZW50IHR5cGUuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVJbnN0YW5jZVR5cGVDaGVja2VyKGV4cGVjdGVkQ2xhc3MpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICghKHByb3BzW3Byb3BOYW1lXSBpbnN0YW5jZW9mIGV4cGVjdGVkQ2xhc3MpKSB7XG4gICAgICAgIHZhciBleHBlY3RlZENsYXNzTmFtZSA9IGV4cGVjdGVkQ2xhc3MubmFtZSB8fCBBTk9OWU1PVVM7XG4gICAgICAgIHZhciBhY3R1YWxDbGFzc05hbWUgPSBnZXRDbGFzc05hbWUocHJvcHNbcHJvcE5hbWVdKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB0eXBlICcgKyAoJ2AnICsgYWN0dWFsQ2xhc3NOYW1lICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkICcpICsgKCdpbnN0YW5jZSBvZiBgJyArIGV4cGVjdGVkQ2xhc3NOYW1lICsgJ2AuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVFbnVtVHlwZUNoZWNrZXIoZXhwZWN0ZWRWYWx1ZXMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZXhwZWN0ZWRWYWx1ZXMpKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBwcmludFdhcm5pbmcoXG4gICAgICAgICAgICAnSW52YWxpZCBhcmd1bWVudHMgc3VwcGxpZWQgdG8gb25lT2YsIGV4cGVjdGVkIGFuIGFycmF5LCBnb3QgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIGFyZ3VtZW50cy4gJyArXG4gICAgICAgICAgICAnQSBjb21tb24gbWlzdGFrZSBpcyB0byB3cml0ZSBvbmVPZih4LCB5LCB6KSBpbnN0ZWFkIG9mIG9uZU9mKFt4LCB5LCB6XSkuJ1xuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJpbnRXYXJuaW5nKCdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIG9uZU9mLCBleHBlY3RlZCBhbiBhcnJheS4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGVtcHR5RnVuY3Rpb25UaGF0UmV0dXJuc051bGw7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICB2YXIgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXMocHJvcFZhbHVlLCBleHBlY3RlZFZhbHVlc1tpXSkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgdmFsdWVzU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWRWYWx1ZXMsIGZ1bmN0aW9uIHJlcGxhY2VyKGtleSwgdmFsdWUpIHtcbiAgICAgICAgdmFyIHR5cGUgPSBnZXRQcmVjaXNlVHlwZSh2YWx1ZSk7XG4gICAgICAgIGlmICh0eXBlID09PSAnc3ltYm9sJykge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiB2YWx1ZSBgJyArIFN0cmluZyhwcm9wVmFsdWUpICsgJ2AgJyArICgnc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIG9uZSBvZiAnICsgdmFsdWVzU3RyaW5nICsgJy4nKSk7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVPYmplY3RPZlR5cGVDaGVja2VyKHR5cGVDaGVja2VyKSB7XG4gICAgZnVuY3Rpb24gdmFsaWRhdGUocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lKSB7XG4gICAgICBpZiAodHlwZW9mIHR5cGVDaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignUHJvcGVydHkgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBvZiBjb21wb25lbnQgYCcgKyBjb21wb25lbnROYW1lICsgJ2AgaGFzIGludmFsaWQgUHJvcFR5cGUgbm90YXRpb24gaW5zaWRlIG9iamVjdE9mLicpO1xuICAgICAgfVxuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICBpZiAocHJvcFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSAnICsgKCdgJyArIHByb3BUeXBlICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGFuIG9iamVjdC4nKSk7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBrZXkgaW4gcHJvcFZhbHVlKSB7XG4gICAgICAgIGlmIChoYXMocHJvcFZhbHVlLCBrZXkpKSB7XG4gICAgICAgICAgdmFyIGVycm9yID0gdHlwZUNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVVbmlvblR5cGVDaGVja2VyKGFycmF5T2ZUeXBlQ2hlY2tlcnMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXlPZlR5cGVDaGVja2VycykpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBwcmludFdhcm5pbmcoJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gb25lT2ZUeXBlLCBleHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBhcnJheS4nKSA6IHZvaWQgMDtcbiAgICAgIHJldHVybiBlbXB0eUZ1bmN0aW9uVGhhdFJldHVybnNOdWxsO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXlPZlR5cGVDaGVja2Vycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGNoZWNrZXIgPSBhcnJheU9mVHlwZUNoZWNrZXJzW2ldO1xuICAgICAgaWYgKHR5cGVvZiBjaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBvbmVPZlR5cGUuIEV4cGVjdGVkIGFuIGFycmF5IG9mIGNoZWNrIGZ1bmN0aW9ucywgYnV0ICcgK1xuICAgICAgICAgICdyZWNlaXZlZCAnICsgZ2V0UG9zdGZpeEZvclR5cGVXYXJuaW5nKGNoZWNrZXIpICsgJyBhdCBpbmRleCAnICsgaSArICcuJ1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZW1wdHlGdW5jdGlvblRoYXRSZXR1cm5zTnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIHZhciBleHBlY3RlZFR5cGVzID0gW107XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5T2ZUeXBlQ2hlY2tlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoZWNrZXIgPSBhcnJheU9mVHlwZUNoZWNrZXJzW2ldO1xuICAgICAgICB2YXIgY2hlY2tlclJlc3VsdCA9IGNoZWNrZXIocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBSZWFjdFByb3BUeXBlc1NlY3JldCk7XG4gICAgICAgIGlmIChjaGVja2VyUmVzdWx0ID09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hlY2tlclJlc3VsdC5kYXRhICYmIGhhcyhjaGVja2VyUmVzdWx0LmRhdGEsICdleHBlY3RlZFR5cGUnKSkge1xuICAgICAgICAgIGV4cGVjdGVkVHlwZXMucHVzaChjaGVja2VyUmVzdWx0LmRhdGEuZXhwZWN0ZWRUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmFyIGV4cGVjdGVkVHlwZXNNZXNzYWdlID0gKGV4cGVjdGVkVHlwZXMubGVuZ3RoID4gMCkgPyAnLCBleHBlY3RlZCBvbmUgb2YgdHlwZSBbJyArIGV4cGVjdGVkVHlwZXMuam9pbignLCAnKSArICddJzogJyc7XG4gICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoJ0ludmFsaWQgJyArIGxvY2F0aW9uICsgJyBgJyArIHByb3BGdWxsTmFtZSArICdgIHN1cHBsaWVkIHRvICcgKyAoJ2AnICsgY29tcG9uZW50TmFtZSArICdgJyArIGV4cGVjdGVkVHlwZXNNZXNzYWdlICsgJy4nKSk7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVOb2RlQ2hlY2tlcigpIHtcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUpIHtcbiAgICAgIGlmICghaXNOb2RlKHByb3BzW3Byb3BOYW1lXSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKCdJbnZhbGlkICcgKyBsb2NhdGlvbiArICcgYCcgKyBwcm9wRnVsbE5hbWUgKyAnYCBzdXBwbGllZCB0byAnICsgKCdgJyArIGNvbXBvbmVudE5hbWUgKyAnYCwgZXhwZWN0ZWQgYSBSZWFjdE5vZGUuJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVDaGFpbmFibGVUeXBlQ2hlY2tlcih2YWxpZGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbnZhbGlkVmFsaWRhdG9yRXJyb3IoY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwga2V5LCB0eXBlKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9wVHlwZUVycm9yKFxuICAgICAgKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiAnICsgbG9jYXRpb24gKyAnIHR5cGUgYCcgKyBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXkgKyAnYCBpcyBpbnZhbGlkOyAnICtcbiAgICAgICdpdCBtdXN0IGJlIGEgZnVuY3Rpb24sIHVzdWFsbHkgZnJvbSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJyArIHR5cGUgKyAnYC4nXG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVNoYXBlVHlwZUNoZWNrZXIoc2hhcGVUeXBlcykge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICBpZiAocHJvcFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSBgJyArIHByb3BUeXBlICsgJ2AgJyArICgnc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGBvYmplY3RgLicpKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGtleSBpbiBzaGFwZVR5cGVzKSB7XG4gICAgICAgIHZhciBjaGVja2VyID0gc2hhcGVUeXBlc1trZXldO1xuICAgICAgICBpZiAodHlwZW9mIGNoZWNrZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbGlkYXRvckVycm9yKGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUsIGtleSwgZ2V0UHJlY2lzZVR5cGUoY2hlY2tlcikpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBlcnJvciA9IGNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZUNoYWluYWJsZVR5cGVDaGVja2VyKHZhbGlkYXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVN0cmljdFNoYXBlVHlwZUNoZWNrZXIoc2hhcGVUeXBlcykge1xuICAgIGZ1bmN0aW9uIHZhbGlkYXRlKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSkge1xuICAgICAgdmFyIHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcbiAgICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgICBpZiAocHJvcFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcFR5cGVFcnJvcignSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Agb2YgdHlwZSBgJyArIHByb3BUeXBlICsgJ2AgJyArICgnc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AsIGV4cGVjdGVkIGBvYmplY3RgLicpKTtcbiAgICAgIH1cbiAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgYWxsIGtleXMgaW4gY2FzZSBzb21lIGFyZSByZXF1aXJlZCBidXQgbWlzc2luZyBmcm9tIHByb3BzLlxuICAgICAgdmFyIGFsbEtleXMgPSBhc3NpZ24oe30sIHByb3BzW3Byb3BOYW1lXSwgc2hhcGVUeXBlcyk7XG4gICAgICBmb3IgKHZhciBrZXkgaW4gYWxsS2V5cykge1xuICAgICAgICB2YXIgY2hlY2tlciA9IHNoYXBlVHlwZXNba2V5XTtcbiAgICAgICAgaWYgKGhhcyhzaGFwZVR5cGVzLCBrZXkpICYmIHR5cGVvZiBjaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIGludmFsaWRWYWxpZGF0b3JFcnJvcihjb21wb25lbnROYW1lLCBsb2NhdGlvbiwgcHJvcEZ1bGxOYW1lLCBrZXksIGdldFByZWNpc2VUeXBlKGNoZWNrZXIpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNoZWNrZXIpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IFByb3BUeXBlRXJyb3IoXG4gICAgICAgICAgICAnSW52YWxpZCAnICsgbG9jYXRpb24gKyAnIGAnICsgcHJvcEZ1bGxOYW1lICsgJ2Aga2V5IGAnICsga2V5ICsgJ2Agc3VwcGxpZWQgdG8gYCcgKyBjb21wb25lbnROYW1lICsgJ2AuJyArXG4gICAgICAgICAgICAnXFxuQmFkIG9iamVjdDogJyArIEpTT04uc3RyaW5naWZ5KHByb3BzW3Byb3BOYW1lXSwgbnVsbCwgJyAgJykgK1xuICAgICAgICAgICAgJ1xcblZhbGlkIGtleXM6ICcgKyBKU09OLnN0cmluZ2lmeShPYmplY3Qua2V5cyhzaGFwZVR5cGVzKSwgbnVsbCwgJyAgJylcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHZhciBlcnJvciA9IGNoZWNrZXIocHJvcFZhbHVlLCBrZXksIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBwcm9wRnVsbE5hbWUgKyAnLicgKyBrZXksIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlQ2hhaW5hYmxlVHlwZUNoZWNrZXIodmFsaWRhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNOb2RlKHByb3BWYWx1ZSkge1xuICAgIHN3aXRjaCAodHlwZW9mIHByb3BWYWx1ZSkge1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICByZXR1cm4gIXByb3BWYWx1ZTtcbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gcHJvcFZhbHVlLmV2ZXJ5KGlzTm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BWYWx1ZSA9PT0gbnVsbCB8fCBpc1ZhbGlkRWxlbWVudChwcm9wVmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4ocHJvcFZhbHVlKTtcbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4pIHtcbiAgICAgICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwocHJvcFZhbHVlKTtcbiAgICAgICAgICB2YXIgc3RlcDtcbiAgICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gcHJvcFZhbHVlLmVudHJpZXMpIHtcbiAgICAgICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICAgICAgaWYgKCFpc05vZGUoc3RlcC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSXRlcmF0b3Igd2lsbCBwcm92aWRlIGVudHJ5IFtrLHZdIHR1cGxlcyByYXRoZXIgdGhhbiB2YWx1ZXMuXG4gICAgICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgICAgIHZhciBlbnRyeSA9IHN0ZXAudmFsdWU7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGlmICghaXNOb2RlKGVudHJ5WzFdKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpc1N5bWJvbChwcm9wVHlwZSwgcHJvcFZhbHVlKSB7XG4gICAgLy8gTmF0aXZlIFN5bWJvbC5cbiAgICBpZiAocHJvcFR5cGUgPT09ICdzeW1ib2wnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBmYWxzeSB2YWx1ZSBjYW4ndCBiZSBhIFN5bWJvbFxuICAgIGlmICghcHJvcFZhbHVlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gMTkuNC4zLjUgU3ltYm9sLnByb3RvdHlwZVtAQHRvU3RyaW5nVGFnXSA9PT0gJ1N5bWJvbCdcbiAgICBpZiAocHJvcFZhbHVlWydAQHRvU3RyaW5nVGFnJ10gPT09ICdTeW1ib2wnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayBmb3Igbm9uLXNwZWMgY29tcGxpYW50IFN5bWJvbHMgd2hpY2ggYXJlIHBvbHlmaWxsZWQuXG4gICAgaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgcHJvcFZhbHVlIGluc3RhbmNlb2YgU3ltYm9sKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBFcXVpdmFsZW50IG9mIGB0eXBlb2ZgIGJ1dCB3aXRoIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGFycmF5IGFuZCByZWdleHAuXG4gIGZ1bmN0aW9uIGdldFByb3BUeXBlKHByb3BWYWx1ZSkge1xuICAgIHZhciBwcm9wVHlwZSA9IHR5cGVvZiBwcm9wVmFsdWU7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcFZhbHVlKSkge1xuICAgICAgcmV0dXJuICdhcnJheSc7XG4gICAgfVxuICAgIGlmIChwcm9wVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgIC8vIE9sZCB3ZWJraXRzIChhdCBsZWFzdCB1bnRpbCBBbmRyb2lkIDQuMCkgcmV0dXJuICdmdW5jdGlvbicgcmF0aGVyIHRoYW5cbiAgICAgIC8vICdvYmplY3QnIGZvciB0eXBlb2YgYSBSZWdFeHAuIFdlJ2xsIG5vcm1hbGl6ZSB0aGlzIGhlcmUgc28gdGhhdCAvYmxhL1xuICAgICAgLy8gcGFzc2VzIFByb3BUeXBlcy5vYmplY3QuXG4gICAgICByZXR1cm4gJ29iamVjdCc7XG4gICAgfVxuICAgIGlmIChpc1N5bWJvbChwcm9wVHlwZSwgcHJvcFZhbHVlKSkge1xuICAgICAgcmV0dXJuICdzeW1ib2wnO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcFR5cGU7XG4gIH1cblxuICAvLyBUaGlzIGhhbmRsZXMgbW9yZSB0eXBlcyB0aGFuIGBnZXRQcm9wVHlwZWAuIE9ubHkgdXNlZCBmb3IgZXJyb3IgbWVzc2FnZXMuXG4gIC8vIFNlZSBgY3JlYXRlUHJpbWl0aXZlVHlwZUNoZWNrZXJgLlxuICBmdW5jdGlvbiBnZXRQcmVjaXNlVHlwZShwcm9wVmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHByb3BWYWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgcHJvcFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gJycgKyBwcm9wVmFsdWU7XG4gICAgfVxuICAgIHZhciBwcm9wVHlwZSA9IGdldFByb3BUeXBlKHByb3BWYWx1ZSk7XG4gICAgaWYgKHByb3BUeXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgaWYgKHByb3BWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgcmV0dXJuICdkYXRlJztcbiAgICAgIH0gZWxzZSBpZiAocHJvcFZhbHVlIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIHJldHVybiAncmVnZXhwJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BUeXBlO1xuICB9XG5cbiAgLy8gUmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHBvc3RmaXhlZCB0byBhIHdhcm5pbmcgYWJvdXQgYW4gaW52YWxpZCB0eXBlLlxuICAvLyBGb3IgZXhhbXBsZSwgXCJ1bmRlZmluZWRcIiBvciBcIm9mIHR5cGUgYXJyYXlcIlxuICBmdW5jdGlvbiBnZXRQb3N0Zml4Rm9yVHlwZVdhcm5pbmcodmFsdWUpIHtcbiAgICB2YXIgdHlwZSA9IGdldFByZWNpc2VUeXBlKHZhbHVlKTtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIHJldHVybiAnYW4gJyArIHR5cGU7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgY2FzZSAncmVnZXhwJzpcbiAgICAgICAgcmV0dXJuICdhICcgKyB0eXBlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmV0dXJucyBjbGFzcyBuYW1lIG9mIHRoZSBvYmplY3QsIGlmIGFueS5cbiAgZnVuY3Rpb24gZ2V0Q2xhc3NOYW1lKHByb3BWYWx1ZSkge1xuICAgIGlmICghcHJvcFZhbHVlLmNvbnN0cnVjdG9yIHx8ICFwcm9wVmFsdWUuY29uc3RydWN0b3IubmFtZSkge1xuICAgICAgcmV0dXJuIEFOT05ZTU9VUztcbiAgICB9XG4gICAgcmV0dXJuIHByb3BWYWx1ZS5jb25zdHJ1Y3Rvci5uYW1lO1xuICB9XG5cbiAgUmVhY3RQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMgPSBjaGVja1Byb3BUeXBlcztcbiAgUmVhY3RQcm9wVHlwZXMucmVzZXRXYXJuaW5nQ2FjaGUgPSBjaGVja1Byb3BUeXBlcy5yZXNldFdhcm5pbmdDYWNoZTtcbiAgUmVhY3RQcm9wVHlwZXMuUHJvcFR5cGVzID0gUmVhY3RQcm9wVHlwZXM7XG5cbiAgcmV0dXJuIFJlYWN0UHJvcFR5cGVzO1xufTtcbiIsICIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBSZWFjdElzID0gcmVxdWlyZSgncmVhY3QtaXMnKTtcblxuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBkZXZlbG9wbWVudCBiZWhhdmlvci5cbiAgLy8gaHR0cDovL2ZiLm1lL3Byb3AtdHlwZXMtaW4tcHJvZFxuICB2YXIgdGhyb3dPbkRpcmVjdEFjY2VzcyA9IHRydWU7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFR5cGVDaGVja2VycycpKFJlYWN0SXMuaXNFbGVtZW50LCB0aHJvd09uRGlyZWN0QWNjZXNzKTtcbn0gZWxzZSB7XG4gIC8vIEJ5IGV4cGxpY2l0bHkgdXNpbmcgYHByb3AtdHlwZXNgIHlvdSBhcmUgb3B0aW5nIGludG8gbmV3IHByb2R1Y3Rpb24gYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2ZhY3RvcnlXaXRoVGhyb3dpbmdTaGltcycpKCk7XG59XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XHJcbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcclxuICAgICAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKGQsIGIpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XHJcbiAgICAgICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XHJcbiAgICB9O1xyXG59KSgpO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XHJcbmV4cG9ydHMuRW1wdHlCVHJlZSA9IGV4cG9ydHMuYXNTZXQgPSBleHBvcnRzLnNpbXBsZUNvbXBhcmF0b3IgPSBleHBvcnRzLmRlZmF1bHRDb21wYXJhdG9yID0gdm9pZCAwO1xyXG4vKipcclxuICogQ29tcGFyZXMgRGVmYXVsdENvbXBhcmFibGVzIHRvIGZvcm0gYSBzdHJpY3QgcGFydGlhbCBvcmRlcmluZy5cclxuICpcclxuICogSGFuZGxlcyArLy0wIGFuZCBOYU4gbGlrZSBNYXA6IE5hTiBpcyBlcXVhbCB0byBOYU4sIGFuZCAtMCBpcyBlcXVhbCB0byArMC5cclxuICpcclxuICogQXJyYXlzIGFyZSBjb21wYXJlZCB1c2luZyAnPCcgYW5kICc+Jywgd2hpY2ggbWF5IGNhdXNlIHVuZXhwZWN0ZWQgZXF1YWxpdHk6XHJcbiAqIGZvciBleGFtcGxlIFsxXSB3aWxsIGJlIGNvbnNpZGVyZWQgZXF1YWwgdG8gWycxJ10uXHJcbiAqXHJcbiAqIFR3byBvYmplY3RzIHdpdGggZXF1YWwgdmFsdWVPZiBjb21wYXJlIHRoZSBzYW1lLCBidXQgY29tcGFyZSB1bmVxdWFsIHRvXHJcbiAqIHByaW1pdGl2ZXMgdGhhdCBoYXZlIHRoZSBzYW1lIHZhbHVlLlxyXG4gKi9cclxuZnVuY3Rpb24gZGVmYXVsdENvbXBhcmF0b3IoYSwgYikge1xyXG4gICAgLy8gU3BlY2lhbCBjYXNlIGZpbml0ZSBudW1iZXJzIGZpcnN0IGZvciBwZXJmb3JtYW5jZS5cclxuICAgIC8vIE5vdGUgdGhhdCB0aGUgdHJpY2sgb2YgdXNpbmcgJ2EgLSBiJyBhbmQgY2hlY2tpbmcgZm9yIE5hTiB0byBkZXRlY3Qgbm9uLW51bWJlcnNcclxuICAgIC8vIGRvZXMgbm90IHdvcmsgaWYgdGhlIHN0cmluZ3MgYXJlIG51bWVyaWMgKGV4OiBcIjVcIikuIFRoaXMgd291bGQgbGVhZGluZyBtb3N0IFxyXG4gICAgLy8gY29tcGFyaXNvbiBmdW5jdGlvbnMgdXNpbmcgdGhhdCBhcHByb2FjaCB0byBmYWlsIHRvIGhhdmUgdHJhbnNpdGl2aXR5LlxyXG4gICAgaWYgKE51bWJlci5pc0Zpbml0ZShhKSAmJiBOdW1iZXIuaXNGaW5pdGUoYikpIHtcclxuICAgICAgICByZXR1cm4gYSAtIGI7XHJcbiAgICB9XHJcbiAgICAvLyBUaGUgZGVmYXVsdCA8IGFuZCA+IG9wZXJhdG9ycyBhcmUgbm90IHRvdGFsbHkgb3JkZXJlZC4gVG8gYWxsb3cgdHlwZXMgdG8gYmUgbWl4ZWRcclxuICAgIC8vIGluIGEgc2luZ2xlIGNvbGxlY3Rpb24sIGNvbXBhcmUgdHlwZXMgYW5kIG9yZGVyIHZhbHVlcyBvZiBkaWZmZXJlbnQgdHlwZXMgYnkgdHlwZS5cclxuICAgIHZhciB0YSA9IHR5cGVvZiBhO1xyXG4gICAgdmFyIHRiID0gdHlwZW9mIGI7XHJcbiAgICBpZiAodGEgIT09IHRiKSB7XHJcbiAgICAgICAgcmV0dXJuIHRhIDwgdGIgPyAtMSA6IDE7XHJcbiAgICB9XHJcbiAgICBpZiAodGEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgLy8gc3RhbmRhcmRpemVkIEphdmFTY3JpcHQgYnVnOiBudWxsIGlzIG5vdCBhbiBvYmplY3QsIGJ1dCB0eXBlb2Ygc2F5cyBpdCBpc1xyXG4gICAgICAgIGlmIChhID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gYiA9PT0gbnVsbCA/IDAgOiAtMTtcclxuICAgICAgICBlbHNlIGlmIChiID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICBhID0gYS52YWx1ZU9mKCk7XHJcbiAgICAgICAgYiA9IGIudmFsdWVPZigpO1xyXG4gICAgICAgIHRhID0gdHlwZW9mIGE7XHJcbiAgICAgICAgdGIgPSB0eXBlb2YgYjtcclxuICAgICAgICAvLyBEZWFsIHdpdGggdGhlIHR3byB2YWx1ZU9mKClzIHByb2R1Y2luZyBkaWZmZXJlbnQgdHlwZXNcclxuICAgICAgICBpZiAodGEgIT09IHRiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0YSA8IHRiID8gLTEgOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGEgYW5kIGIgYXJlIG5vdyB0aGUgc2FtZSB0eXBlLCBhbmQgd2lsbCBiZSBhIG51bWJlciwgc3RyaW5nIG9yIGFycmF5IFxyXG4gICAgLy8gKHdoaWNoIHdlIGFzc3VtZSBob2xkcyBudW1iZXJzIG9yIHN0cmluZ3MpLCBvciBzb21ldGhpbmcgdW5zdXBwb3J0ZWQuXHJcbiAgICBpZiAoYSA8IGIpXHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgaWYgKGEgPiBiKVxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgaWYgKGEgPT09IGIpXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAvLyBPcmRlciBOYU4gbGVzcyB0aGFuIG90aGVyIG51bWJlcnNcclxuICAgIGlmIChOdW1iZXIuaXNOYU4oYSkpXHJcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTihiKSA/IDAgOiAtMTtcclxuICAgIGVsc2UgaWYgKE51bWJlci5pc05hTihiKSlcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgIC8vIFRoaXMgY291bGQgYmUgdHdvIG9iamVjdHMgKGUuZy4gWzddIGFuZCBbJzcnXSkgdGhhdCBhcmVuJ3Qgb3JkZXJlZFxyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYSkgPyAwIDogTnVtYmVyLk5hTjtcclxufVxyXG5leHBvcnRzLmRlZmF1bHRDb21wYXJhdG9yID0gZGVmYXVsdENvbXBhcmF0b3I7XHJcbjtcclxuZnVuY3Rpb24gc2ltcGxlQ29tcGFyYXRvcihhLCBiKSB7XHJcbiAgICByZXR1cm4gYSA+IGIgPyAxIDogYSA8IGIgPyAtMSA6IDA7XHJcbn1cclxuZXhwb3J0cy5zaW1wbGVDb21wYXJhdG9yID0gc2ltcGxlQ29tcGFyYXRvcjtcclxuO1xyXG4vKipcclxuICogQSByZWFzb25hYmx5IGZhc3QgY29sbGVjdGlvbiBvZiBrZXktdmFsdWUgcGFpcnMgd2l0aCBhIHBvd2VyZnVsIEFQSS5cclxuICogTGFyZ2VseSBjb21wYXRpYmxlIHdpdGggdGhlIHN0YW5kYXJkIE1hcC4gQlRyZWUgaXMgYSBCKyB0cmVlIGRhdGEgc3RydWN0dXJlLFxyXG4gKiBzbyB0aGUgY29sbGVjdGlvbiBpcyBzb3J0ZWQgYnkga2V5LlxyXG4gKlxyXG4gKiBCKyB0cmVlcyB0ZW5kIHRvIHVzZSBtZW1vcnkgbW9yZSBlZmZpY2llbnRseSB0aGFuIGhhc2h0YWJsZXMgc3VjaCBhcyB0aGVcclxuICogc3RhbmRhcmQgTWFwLCBlc3BlY2lhbGx5IHdoZW4gdGhlIGNvbGxlY3Rpb24gY29udGFpbnMgYSBsYXJnZSBudW1iZXIgb2ZcclxuICogaXRlbXMuIEhvd2V2ZXIsIG1haW50YWluaW5nIHRoZSBzb3J0IG9yZGVyIG1ha2VzIHRoZW0gbW9kZXN0bHkgc2xvd2VyOlxyXG4gKiBPKGxvZyBzaXplKSByYXRoZXIgdGhhbiBPKDEpLiBUaGlzIEIrIHRyZWUgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgTygxKVxyXG4gKiBmYXN0IGNsb25pbmcuIEl0IGFsc28gc3VwcG9ydHMgZnJlZXplKCksIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGVuc3VyZSB0aGF0XHJcbiAqIGEgQlRyZWUgaXMgbm90IGNoYW5nZWQgYWNjaWRlbnRhbGx5LlxyXG4gKlxyXG4gKiBDb25mdXNpbmdseSwgdGhlIEVTNiBNYXAuZm9yRWFjaChjKSBtZXRob2QgY2FsbHMgYyh2YWx1ZSxrZXkpIGluc3RlYWQgb2ZcclxuICogYyhrZXksdmFsdWUpLCBpbiBjb250cmFzdCB0byBvdGhlciBtZXRob2RzIHN1Y2ggYXMgc2V0KCkgYW5kIGVudHJpZXMoKVxyXG4gKiB3aGljaCBwdXQgdGhlIGtleSBmaXJzdC4gSSBjYW4gb25seSBhc3N1bWUgdGhhdCB0aGUgb3JkZXIgd2FzIHJldmVyc2VkIG9uXHJcbiAqIHRoZSB0aGVvcnkgdGhhdCB1c2VycyB3b3VsZCB1c3VhbGx5IHdhbnQgdG8gZXhhbWluZSB2YWx1ZXMgYW5kIGlnbm9yZSBrZXlzLlxyXG4gKiBCVHJlZSdzIGZvckVhY2goKSB0aGVyZWZvcmUgd29ya3MgdGhlIHNhbWUgd2F5LCBidXQgYSBzZWNvbmQgbWV0aG9kXHJcbiAqIGAuZm9yRWFjaFBhaXIoKGtleSx2YWx1ZSk9PnsuLi59KWAgaXMgcHJvdmlkZWQgd2hpY2ggc2VuZHMgeW91IHRoZSBrZXlcclxuICogZmlyc3QgYW5kIHRoZSB2YWx1ZSBzZWNvbmQ7IHRoaXMgbWV0aG9kIGlzIHNsaWdodGx5IGZhc3RlciBiZWNhdXNlIGl0IGlzXHJcbiAqIHRoZSBcIm5hdGl2ZVwiIGZvci1lYWNoIG1ldGhvZCBmb3IgdGhpcyBjbGFzcy5cclxuICpcclxuICogT3V0IG9mIHRoZSBib3gsIEJUcmVlIHN1cHBvcnRzIGtleXMgdGhhdCBhcmUgbnVtYmVycywgc3RyaW5ncywgYXJyYXlzIG9mXHJcbiAqIG51bWJlcnMvc3RyaW5ncywgRGF0ZSwgYW5kIG9iamVjdHMgdGhhdCBoYXZlIGEgdmFsdWVPZigpIG1ldGhvZCByZXR1cm5pbmcgYVxyXG4gKiBudW1iZXIgb3Igc3RyaW5nLiBPdGhlciBkYXRhIHR5cGVzLCBzdWNoIGFzIGFycmF5cyBvZiBEYXRlIG9yIGN1c3RvbVxyXG4gKiBvYmplY3RzLCByZXF1aXJlIGEgY3VzdG9tIGNvbXBhcmF0b3IsIHdoaWNoIHlvdSBtdXN0IHBhc3MgYXMgdGhlIHNlY29uZFxyXG4gKiBhcmd1bWVudCB0byB0aGUgY29uc3RydWN0b3IgKHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhbiBvcHRpb25hbCBsaXN0IG9mXHJcbiAqIGluaXRpYWwgaXRlbXMpLiBTeW1ib2xzIGNhbm5vdCBiZSB1c2VkIGFzIGtleXMgYmVjYXVzZSB0aGV5IGFyZSB1bm9yZGVyZWRcclxuICogKG9uZSBTeW1ib2wgaXMgbmV2ZXIgXCJncmVhdGVyXCIgb3IgXCJsZXNzXCIgdGhhbiBhbm90aGVyKS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogR2l2ZW4gYSB7bmFtZTogc3RyaW5nLCBhZ2U6IG51bWJlcn0gb2JqZWN0LCB5b3UgY2FuIGNyZWF0ZSBhIHRyZWUgc29ydGVkIGJ5XHJcbiAqIG5hbWUgYW5kIHRoZW4gYnkgYWdlIGxpa2UgdGhpczpcclxuICpcclxuICogICAgIHZhciB0cmVlID0gbmV3IEJUcmVlKHVuZGVmaW5lZCwgKGEsIGIpID0+IHtcclxuICogICAgICAgaWYgKGEubmFtZSA+IGIubmFtZSlcclxuICogICAgICAgICByZXR1cm4gMTsgLy8gUmV0dXJuIGEgbnVtYmVyID4wIHdoZW4gYSA+IGJcclxuICogICAgICAgZWxzZSBpZiAoYS5uYW1lIDwgYi5uYW1lKVxyXG4gKiAgICAgICAgIHJldHVybiAtMTsgLy8gUmV0dXJuIGEgbnVtYmVyIDwwIHdoZW4gYSA8IGJcclxuICogICAgICAgZWxzZSAvLyBuYW1lcyBhcmUgZXF1YWwgKG9yIGluY29tcGFyYWJsZSlcclxuICogICAgICAgICByZXR1cm4gYS5hZ2UgLSBiLmFnZTsgLy8gUmV0dXJuID4wIHdoZW4gYS5hZ2UgPiBiLmFnZVxyXG4gKiAgICAgfSk7XHJcbiAqXHJcbiAqICAgICB0cmVlLnNldCh7bmFtZTpcIkJpbGxcIiwgYWdlOjE3fSwgXCJoYXBweVwiKTtcclxuICogICAgIHRyZWUuc2V0KHtuYW1lOlwiRnJhblwiLCBhZ2U6NDB9LCBcImJ1c3kgJiBzdHJlc3NlZFwiKTtcclxuICogICAgIHRyZWUuc2V0KHtuYW1lOlwiQmlsbFwiLCBhZ2U6NTV9LCBcInJlY2VudGx5IGxhaWQgb2ZmXCIpO1xyXG4gKiAgICAgdHJlZS5mb3JFYWNoUGFpcigoaywgdikgPT4ge1xyXG4gKiAgICAgICBjb25zb2xlLmxvZyhgTmFtZTogJHtrLm5hbWV9IEFnZTogJHtrLmFnZX0gU3RhdHVzOiAke3Z9YCk7XHJcbiAqICAgICB9KTtcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSBcInJhbmdlXCIgbWV0aG9kcyAoYGZvckVhY2gsIGZvclJhbmdlLCBlZGl0UmFuZ2VgKSB3aWxsIHJldHVybiB0aGUgbnVtYmVyXHJcbiAqIG9mIGVsZW1lbnRzIHRoYXQgd2VyZSBzY2FubmVkLiBJbiBhZGRpdGlvbiwgdGhlIGNhbGxiYWNrIGNhbiByZXR1cm4ge2JyZWFrOlJ9XHJcbiAqIHRvIHN0b3AgZWFybHkgYW5kIHJldHVybiBSIGZyb20gdGhlIG91dGVyIGZ1bmN0aW9uLlxyXG4gKlxyXG4gKiAtIFRPRE86IFRlc3QgcGVyZm9ybWFuY2Ugb2YgcHJlYWxsb2NhdGluZyB2YWx1ZXMgYXJyYXkgYXQgbWF4IHNpemVcclxuICogLSBUT0RPOiBBZGQgZmFzdCBpbml0aWFsaXphdGlvbiB3aGVuIGEgc29ydGVkIGFycmF5IGlzIHByb3ZpZGVkIHRvIGNvbnN0cnVjdG9yXHJcbiAqXHJcbiAqIEZvciBtb3JlIGRvY3VtZW50YXRpb24gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9xd2VydGllL2J0cmVlLXR5cGVzY3JpcHRcclxuICpcclxuICogQXJlIHlvdSBhIEMjIGRldmVsb3Blcj8gWW91IG1pZ2h0IGxpa2UgdGhlIHNpbWlsYXIgZGF0YSBzdHJ1Y3R1cmVzIEkgbWFkZSBmb3IgQyM6XHJcbiAqIEJEaWN0aW9uYXJ5LCBCTGlzdCwgZXRjLiBTZWUgaHR0cDovL2NvcmUubG95Yy5uZXQvY29sbGVjdGlvbnMvXHJcbiAqXHJcbiAqIEBhdXRob3IgRGF2aWQgUGllcGdyYXNzXHJcbiAqL1xyXG52YXIgQlRyZWUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGFuIGVtcHR5IEIrIHRyZWUuXHJcbiAgICAgKiBAcGFyYW0gY29tcGFyZSBDdXN0b20gZnVuY3Rpb24gdG8gY29tcGFyZSBwYWlycyBvZiBlbGVtZW50cyBpbiB0aGUgdHJlZS5cclxuICAgICAqICAgSWYgbm90IHNwZWNpZmllZCwgZGVmYXVsdENvbXBhcmF0b3Igd2lsbCBiZSB1c2VkIHdoaWNoIGlzIHZhbGlkIGFzIGxvbmcgYXMgSyBleHRlbmRzIERlZmF1bHRDb21wYXJhYmxlLlxyXG4gICAgICogQHBhcmFtIGVudHJpZXMgQSBzZXQgb2Yga2V5LXZhbHVlIHBhaXJzIHRvIGluaXRpYWxpemUgdGhlIHRyZWVcclxuICAgICAqIEBwYXJhbSBtYXhOb2RlU2l6ZSBCcmFuY2hpbmcgZmFjdG9yIChtYXhpbXVtIGl0ZW1zIG9yIGNoaWxkcmVuIHBlciBub2RlKVxyXG4gICAgICogICBNdXN0IGJlIGluIHJhbmdlIDQuLjI1Ni4gSWYgdW5kZWZpbmVkIG9yIDw0IHRoZW4gZGVmYXVsdCBpcyB1c2VkOyBpZiA+MjU2IHRoZW4gMjU2LlxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBCVHJlZShlbnRyaWVzLCBjb21wYXJlLCBtYXhOb2RlU2l6ZSkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QgPSBFbXB0eUxlYWY7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IDA7XHJcbiAgICAgICAgdGhpcy5fbWF4Tm9kZVNpemUgPSBtYXhOb2RlU2l6ZSA+PSA0ID8gTWF0aC5taW4obWF4Tm9kZVNpemUsIDI1NikgOiAzMjtcclxuICAgICAgICB0aGlzLl9jb21wYXJlID0gY29tcGFyZSB8fCBkZWZhdWx0Q29tcGFyYXRvcjtcclxuICAgICAgICBpZiAoZW50cmllcylcclxuICAgICAgICAgICAgdGhpcy5zZXRQYWlycyhlbnRyaWVzKTtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCVHJlZS5wcm90b3R5cGUsIFwic2l6ZVwiLCB7XHJcbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgICAgICAvLyBFUzYgTWFwPEssVj4gbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgICAgIC8qKiBHZXRzIHRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIGluIHRoZSB0cmVlLiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJsZW5ndGhcIiwge1xyXG4gICAgICAgIC8qKiBHZXRzIHRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIGluIHRoZSB0cmVlLiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJpc0VtcHR5XCIsIHtcclxuICAgICAgICAvKiogUmV0dXJucyB0cnVlIGlmZiB0aGUgdHJlZSBjb250YWlucyBubyBrZXktdmFsdWUgcGFpcnMuICovXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLl9zaXplID09PSAwOyB9LFxyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICAvKiogUmVsZWFzZXMgdGhlIHRyZWUgc28gdGhhdCBpdHMgc2l6ZSBpcyAwLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QgPSBFbXB0eUxlYWY7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IDA7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJ1bnMgYSBmdW5jdGlvbiBmb3IgZWFjaCBrZXktdmFsdWUgcGFpciwgaW4gb3JkZXIgZnJvbSBzbWFsbGVzdCB0b1xyXG4gICAgICogIGxhcmdlc3Qga2V5LiBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIEVTNiBNYXAsIHRoZSBhcmd1bWVudCBvcmRlciB0b1xyXG4gICAgICogIHRoZSBjYWxsYmFjayBpcyBiYWNrd2FyZHM6IHZhbHVlIGZpcnN0LCB0aGVuIGtleS4gQ2FsbCBmb3JFYWNoUGFpclxyXG4gICAgICogIGluc3RlYWQgdG8gcmVjZWl2ZSB0aGUga2V5IGFzIHRoZSBmaXJzdCBhcmd1bWVudC5cclxuICAgICAqIEBwYXJhbSB0aGlzQXJnIElmIHByb3ZpZGVkLCB0aGlzIHBhcmFtZXRlciBpcyBhc3NpZ25lZCBhcyB0aGUgYHRoaXNgXHJcbiAgICAgKiAgICAgICAgdmFsdWUgZm9yIGVhY2ggY2FsbGJhY2suXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHZhbHVlcyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2FsbGJhY2ssXHJcbiAgICAgKiAgICAgICAgb3IgdGhlIFIgdmFsdWUgaWYgdGhlIGNhbGxiYWNrIHJldHVybmVkIHticmVhazpSfS4gKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mb3JFYWNoID0gZnVuY3Rpb24gKGNhbGxiYWNrLCB0aGlzQXJnKSB7XHJcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgICAgICBpZiAodGhpc0FyZyAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrLmJpbmQodGhpc0FyZyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9yRWFjaFBhaXIoZnVuY3Rpb24gKGssIHYpIHsgcmV0dXJuIGNhbGxiYWNrKHYsIGssIF90aGlzKTsgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJ1bnMgYSBmdW5jdGlvbiBmb3IgZWFjaCBrZXktdmFsdWUgcGFpciwgaW4gb3JkZXIgZnJvbSBzbWFsbGVzdCB0b1xyXG4gICAgICogIGxhcmdlc3Qga2V5LiBUaGUgY2FsbGJhY2sgY2FuIHJldHVybiB7YnJlYWs6Un0gKHdoZXJlIFIgaXMgYW55IHZhbHVlXHJcbiAgICAgKiAgZXhjZXB0IHVuZGVmaW5lZCkgdG8gc3RvcCBpbW1lZGlhdGVseSBhbmQgcmV0dXJuIFIgZnJvbSBmb3JFYWNoUGFpci5cclxuICAgICAqIEBwYXJhbSBvbkZvdW5kIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgZm9yIGVhY2gga2V5LXZhbHVlIHBhaXIuIFRoaXNcclxuICAgICAqICAgICAgICBmdW5jdGlvbiBjYW4gcmV0dXJuIHticmVhazpSfSB0byBzdG9wIGVhcmx5IHdpdGggcmVzdWx0IFIuXHJcbiAgICAgKiAgICAgICAgVGhlIHJlYXNvbiB0aGF0IHlvdSBtdXN0IHJldHVybiB7YnJlYWs6Un0gaW5zdGVhZCBvZiBzaW1wbHkgUlxyXG4gICAgICogICAgICAgIGl0c2VsZiBpcyBmb3IgY29uc2lzdGVuY3kgd2l0aCBlZGl0UmFuZ2UoKSwgd2hpY2ggYWxsb3dzXHJcbiAgICAgKiAgICAgICAgbXVsdGlwbGUgYWN0aW9ucywgbm90IGp1c3QgYnJlYWtpbmcuXHJcbiAgICAgKiBAcGFyYW0gaW5pdGlhbENvdW50ZXIgVGhpcyBpcyB0aGUgdmFsdWUgb2YgdGhlIHRoaXJkIGFyZ3VtZW50IG9mXHJcbiAgICAgKiAgICAgICAgYG9uRm91bmRgIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC4gVGhlIGNvdW50ZXIgaW5jcmVhc2VzXHJcbiAgICAgKiAgICAgICAgYnkgb25lIGVhY2ggdGltZSBgb25Gb3VuZGAgaXMgY2FsbGVkLiBEZWZhdWx0IHZhbHVlOiAwXHJcbiAgICAgKiBAcmV0dXJucyB0aGUgbnVtYmVyIG9mIHBhaXJzIHNlbnQgdG8gdGhlIGNhbGxiYWNrIChwbHVzIGluaXRpYWxDb3VudGVyLFxyXG4gICAgICogICAgICAgIGlmIHlvdSBwcm92aWRlZCBvbmUpLiBJZiB0aGUgY2FsbGJhY2sgcmV0dXJuZWQge2JyZWFrOlJ9IHRoZW5cclxuICAgICAqICAgICAgICB0aGUgUiB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmZvckVhY2hQYWlyID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBpbml0aWFsQ291bnRlcikge1xyXG4gICAgICAgIHZhciBsb3cgPSB0aGlzLm1pbktleSgpLCBoaWdoID0gdGhpcy5tYXhLZXkoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSYW5nZShsb3csIGhpZ2gsIHRydWUsIGNhbGxiYWNrLCBpbml0aWFsQ291bnRlcik7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBGaW5kcyBhIHBhaXIgaW4gdGhlIHRyZWUgYW5kIHJldHVybnMgdGhlIGFzc29jaWF0ZWQgdmFsdWUuXHJcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIGEgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBrZXkgd2FzIG5vdCBmb3VuZC5cclxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSwgb3IgZGVmYXVsdFZhbHVlIGlmIHRoZSBrZXkgd2FzIG5vdCBmb3VuZC5cclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obG9nIHNpemUpXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5LCBkZWZhdWx0VmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdC5nZXQoa2V5LCBkZWZhdWx0VmFsdWUsIHRoaXMpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBvciBvdmVyd3JpdGVzIGEga2V5LXZhbHVlIHBhaXIgaW4gdGhlIEIrIHRyZWUuXHJcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHNvcnQgb3JkZXIgb2ZcclxuICAgICAqICAgICAgICBkYXRhIGluIHRoZSB0cmVlLlxyXG4gICAgICogQHBhcmFtIHZhbHVlIGRhdGEgdG8gYXNzb2NpYXRlIHdpdGggdGhlIGtleSAob3B0aW9uYWwpXHJcbiAgICAgKiBAcGFyYW0gb3ZlcndyaXRlIFdoZXRoZXIgdG8gb3ZlcndyaXRlIGFuIGV4aXN0aW5nIGtleS12YWx1ZSBwYWlyXHJcbiAgICAgKiAgICAgICAgKGRlZmF1bHQ6IHRydWUpLiBJZiB0aGlzIGlzIGZhbHNlIGFuZCB0aGVyZSBpcyBhbiBleGlzdGluZ1xyXG4gICAgICogICAgICAgIGtleS12YWx1ZSBwYWlyIHRoZW4gdGhpcyBtZXRob2QgaGFzIG5vIGVmZmVjdC5cclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcga2V5LXZhbHVlIHBhaXIgd2FzIGFkZGVkLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqIE5vdGU6IHdoZW4gb3ZlcndyaXRpbmcgYSBwcmV2aW91cyBlbnRyeSwgdGhlIGtleSBpcyB1cGRhdGVkXHJcbiAgICAgKiBhcyB3ZWxsIGFzIHRoZSB2YWx1ZS4gVGhpcyBoYXMgbm8gZWZmZWN0IHVubGVzcyB0aGUgbmV3IGtleVxyXG4gICAgICogaGFzIGRhdGEgdGhhdCBkb2VzIG5vdCBhZmZlY3QgaXRzIHNvcnQgb3JkZXIuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSwgb3ZlcndyaXRlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Jvb3QuaXNTaGFyZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSB0aGlzLl9yb290LmNsb25lKCk7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuX3Jvb3Quc2V0KGtleSwgdmFsdWUsIG92ZXJ3cml0ZSwgdGhpcyk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSB8fCByZXN1bHQgPT09IGZhbHNlKVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIC8vIFJvb3Qgbm9kZSBoYXMgc3BsaXQsIHNvIGNyZWF0ZSBhIG5ldyByb290IG5vZGUuXHJcbiAgICAgICAgdGhpcy5fcm9vdCA9IG5ldyBCTm9kZUludGVybmFsKFt0aGlzLl9yb290LCByZXN1bHRdKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUga2V5IGV4aXN0cyBpbiB0aGUgQisgdHJlZSwgZmFsc2UgaWYgbm90LlxyXG4gICAgICogVXNlIGdldCgpIGZvciBiZXN0IHBlcmZvcm1hbmNlOyB1c2UgaGFzKCkgaWYgeW91IG5lZWQgdG9cclxuICAgICAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gXCJ1bmRlZmluZWQgdmFsdWVcIiBhbmQgXCJrZXkgbm90IHByZXNlbnRcIi5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHRvIGRldGVjdFxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmhhcyA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JSYW5nZShrZXksIGtleSwgdHJ1ZSwgdW5kZWZpbmVkKSAhPT0gMDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgYSBzaW5nbGUga2V5LXZhbHVlIHBhaXIgZnJvbSB0aGUgQisgdHJlZS5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHRvIGZpbmRcclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgYSBwYWlyIHdhcyBmb3VuZCBhbmQgcmVtb3ZlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmRlbGV0ZSA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0UmFuZ2Uoa2V5LCBrZXksIHRydWUsIERlbGV0ZVJhbmdlKSAhPT0gMDtcclxuICAgIH07XHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aCA9IGZ1bmN0aW9uIChrZXksIHZhbHVlLCBvdmVyd3JpdGUpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCk7XHJcbiAgICAgICAgcmV0dXJuIG51LnNldChrZXksIHZhbHVlLCBvdmVyd3JpdGUpIHx8IG92ZXJ3cml0ZSA/IG51IDogdGhpcztcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHRyZWUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleS12YWx1ZSBwYWlycyBzZXQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aFBhaXJzID0gZnVuY3Rpb24gKHBhaXJzLCBvdmVyd3JpdGUpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCk7XHJcbiAgICAgICAgcmV0dXJuIG51LnNldFBhaXJzKHBhaXJzLCBvdmVyd3JpdGUpICE9PSAwIHx8IG92ZXJ3cml0ZSA/IG51IDogdGhpcztcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyBhIGNvcHkgb2YgdGhlIHRyZWUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleXMgcHJlc2VudC5cclxuICAgICAqICBAcGFyYW0ga2V5cyBUaGUga2V5cyB0byBhZGQuIElmIGEga2V5IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgdHJlZSxcclxuICAgICAqICAgICAgICAgbmVpdGhlciB0aGUgZXhpc3Rpbmcga2V5IG5vciB0aGUgZXhpc3RpbmcgdmFsdWUgaXMgbW9kaWZpZWQuXHJcbiAgICAgKiAgQHBhcmFtIHJldHVyblRoaXNJZlVuY2hhbmdlZCBpZiB0cnVlLCByZXR1cm5zIHRoaXMgaWYgYWxsIGtleXMgYWxyZWFkeVxyXG4gICAgICogIGV4aXN0ZWQuIFBlcmZvcm1hbmNlIG5vdGU6IGR1ZSB0byB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoaXMgY2xhc3MsIGFsbFxyXG4gICAgICogIG5vZGUocykgbGVhZGluZyB0byBleGlzdGluZyBrZXlzIGFyZSBjbG9uZWQgZXZlbiBpZiB0aGUgY29sbGVjdGlvbiBpc1xyXG4gICAgICogIHVsdGltYXRlbHkgdW5jaGFuZ2VkLlxyXG4gICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS53aXRoS2V5cyA9IGZ1bmN0aW9uIChrZXlzLCByZXR1cm5UaGlzSWZVbmNoYW5nZWQpIHtcclxuICAgICAgICB2YXIgbnUgPSB0aGlzLmNsb25lKCksIGNoYW5nZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIGNoYW5nZWQgPSBudS5zZXQoa2V5c1tpXSwgdW5kZWZpbmVkLCBmYWxzZSkgfHwgY2hhbmdlZDtcclxuICAgICAgICByZXR1cm4gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkICYmICFjaGFuZ2VkID8gdGhpcyA6IG51O1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIGEgY29weSBvZiB0aGUgdHJlZSB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IHJlbW92ZWQuXHJcbiAgICAgKiBAcGFyYW0gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkIGlmIHRydWUsIHJldHVybnMgdGhpcyBpZiB0aGUga2V5IGRpZG4ndCBleGlzdC5cclxuICAgICAqICBQZXJmb3JtYW5jZSBub3RlOiBkdWUgdG8gdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGlzIGNsYXNzLCBub2RlKHMpIGxlYWRpbmdcclxuICAgICAqICB0byB3aGVyZSB0aGUga2V5IHdvdWxkIGhhdmUgYmVlbiBzdG9yZWQgYXJlIGNsb25lZCBldmVuIHdoZW4gdGhlIGtleVxyXG4gICAgICogIHR1cm5zIG91dCBub3QgdG8gZXhpc3QgYW5kIHRoZSBjb2xsZWN0aW9uIGlzIHVuY2hhbmdlZC5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLndpdGhvdXQgPSBmdW5jdGlvbiAoa2V5LCByZXR1cm5UaGlzSWZVbmNoYW5nZWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy53aXRob3V0UmFuZ2Uoa2V5LCBrZXksIHRydWUsIHJldHVyblRoaXNJZlVuY2hhbmdlZCk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggdGhlIHNwZWNpZmllZCBrZXlzIHJlbW92ZWQuXHJcbiAgICAgKiBAcGFyYW0gcmV0dXJuVGhpc0lmVW5jaGFuZ2VkIGlmIHRydWUsIHJldHVybnMgdGhpcyBpZiBub25lIG9mIHRoZSBrZXlzXHJcbiAgICAgKiAgZXhpc3RlZC4gUGVyZm9ybWFuY2Ugbm90ZTogZHVlIHRvIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhpcyBjbGFzcyxcclxuICAgICAqICBub2RlKHMpIGxlYWRpbmcgdG8gd2hlcmUgdGhlIGtleSB3b3VsZCBoYXZlIGJlZW4gc3RvcmVkIGFyZSBjbG9uZWRcclxuICAgICAqICBldmVuIHdoZW4gdGhlIGtleSB0dXJucyBvdXQgbm90IHRvIGV4aXN0LlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aG91dEtleXMgPSBmdW5jdGlvbiAoa2V5cywgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKSB7XHJcbiAgICAgICAgdmFyIG51ID0gdGhpcy5jbG9uZSgpO1xyXG4gICAgICAgIHJldHVybiBudS5kZWxldGVLZXlzKGtleXMpIHx8ICFyZXR1cm5UaGlzSWZVbmNoYW5nZWQgPyBudSA6IHRoaXM7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggdGhlIHNwZWNpZmllZCByYW5nZSBvZiBrZXlzIHJlbW92ZWQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUud2l0aG91dFJhbmdlID0gZnVuY3Rpb24gKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIHJldHVyblRoaXNJZlVuY2hhbmdlZCkge1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuY2xvbmUoKTtcclxuICAgICAgICBpZiAobnUuZGVsZXRlUmFuZ2UobG93LCBoaWdoLCBpbmNsdWRlSGlnaCkgPT09IDAgJiYgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICByZXR1cm4gbnU7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggcGFpcnMgcmVtb3ZlZCB3aGVuZXZlciB0aGUgY2FsbGJhY2tcclxuICAgICAqICBmdW5jdGlvbiByZXR1cm5zIGZhbHNlLiBgd2hlcmUoKWAgaXMgYSBzeW5vbnltIGZvciB0aGlzIG1ldGhvZC4gKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5maWx0ZXIgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIHJldHVyblRoaXNJZlVuY2hhbmdlZCkge1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuZ3JlZWR5Q2xvbmUoKTtcclxuICAgICAgICB2YXIgZGVsO1xyXG4gICAgICAgIG51LmVkaXRBbGwoZnVuY3Rpb24gKGssIHYsIGkpIHtcclxuICAgICAgICAgICAgaWYgKCFjYWxsYmFjayhrLCB2LCBpKSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBkZWwgPSBEZWxldGU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFkZWwgJiYgcmV0dXJuVGhpc0lmVW5jaGFuZ2VkKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICByZXR1cm4gbnU7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB0cmVlIHdpdGggYWxsIHZhbHVlcyBhbHRlcmVkIGJ5IGEgY2FsbGJhY2sgZnVuY3Rpb24uICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubWFwVmFsdWVzID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XHJcbiAgICAgICAgdmFyIHRtcCA9IHt9O1xyXG4gICAgICAgIHZhciBudSA9IHRoaXMuZ3JlZWR5Q2xvbmUoKTtcclxuICAgICAgICBudS5lZGl0QWxsKGZ1bmN0aW9uIChrLCB2LCBpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0bXAudmFsdWUgPSBjYWxsYmFjayh2LCBrLCBpKSwgdG1wO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBudTtcclxuICAgIH07XHJcbiAgICBCVHJlZS5wcm90b3R5cGUucmVkdWNlID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcclxuICAgICAgICB2YXIgaSA9IDAsIHAgPSBpbml0aWFsVmFsdWU7XHJcbiAgICAgICAgdmFyIGl0ID0gdGhpcy5lbnRyaWVzKHRoaXMubWluS2V5KCksIFJldXNlZEFycmF5KSwgbmV4dDtcclxuICAgICAgICB3aGlsZSAoIShuZXh0ID0gaXQubmV4dCgpKS5kb25lKVxyXG4gICAgICAgICAgICBwID0gY2FsbGJhY2socCwgbmV4dC52YWx1ZSwgaSsrLCB0aGlzKTtcclxuICAgICAgICByZXR1cm4gcDtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gSXRlcmF0b3IgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8qKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIHRoYXQgcHJvdmlkZXMgaXRlbXMgaW4gb3JkZXIgKGFzY2VuZGluZyBvcmRlciBpZlxyXG4gICAgICogIHRoZSBjb2xsZWN0aW9uJ3MgY29tcGFyYXRvciB1c2VzIGFzY2VuZGluZyBvcmRlciwgYXMgaXMgdGhlIGRlZmF1bHQuKVxyXG4gICAgICogIEBwYXJhbSBsb3dlc3RLZXkgRmlyc3Qga2V5IHRvIGJlIGl0ZXJhdGVkLCBvciB1bmRlZmluZWQgdG8gc3RhcnQgYXRcclxuICAgICAqICAgICAgICAgbWluS2V5KCkuIElmIHRoZSBzcGVjaWZpZWQga2V5IGRvZXNuJ3QgZXhpc3QgdGhlbiBpdGVyYXRpb25cclxuICAgICAqICAgICAgICAgc3RhcnRzIGF0IHRoZSBuZXh0IGhpZ2hlciBrZXkgKGFjY29yZGluZyB0byB0aGUgY29tcGFyYXRvcikuXHJcbiAgICAgKiAgQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWVcclxuICAgICAqICAgICAgICAgcGFpcnMsIHRvIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmVudHJpZXMgPSBmdW5jdGlvbiAobG93ZXN0S2V5LCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpbmZvID0gdGhpcy5maW5kUGF0aChsb3dlc3RLZXkpO1xyXG4gICAgICAgIGlmIChpbmZvID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcigpO1xyXG4gICAgICAgIHZhciBub2RlcXVldWUgPSBpbmZvLm5vZGVxdWV1ZSwgbm9kZWluZGV4ID0gaW5mby5ub2RlaW5kZXgsIGxlYWYgPSBpbmZvLmxlYWY7XHJcbiAgICAgICAgdmFyIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgIHZhciBpID0gKGxvd2VzdEtleSA9PT0gdW5kZWZpbmVkID8gLTEgOiBsZWFmLmluZGV4T2YobG93ZXN0S2V5LCAwLCB0aGlzLl9jb21wYXJlKSAtIDEpO1xyXG4gICAgICAgIHJldHVybiBpdGVyYXRvcihmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGp1bXA6IGZvciAoOzspIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPCBsZWFmLmtleXMubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBbbGVhZi5rZXlzW2ldLCBsZWFmLnZhbHVlc1tpXV0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPCBsZWFmLmtleXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IGxlYWYua2V5c1tpXSwgcmV1c2VkQXJyYXlbMV0gPSBsZWFmLnZhbHVlc1tpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogcmV1c2VkQXJyYXkgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZHZhbmNlIHRvIHRoZSBuZXh0IGxlYWYgbm9kZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBsZXZlbCA9IC0xOzspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2xldmVsID49IG5vZGVxdWV1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUganVtcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK25vZGVpbmRleFtsZXZlbF0gPCBub2RlcXVldWVbbGV2ZWxdLmxlbmd0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgbGV2ZWwgPiAwOyBsZXZlbC0tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlcXVldWVbbGV2ZWwgLSAxXSA9IG5vZGVxdWV1ZVtsZXZlbF1bbm9kZWluZGV4W2xldmVsXV0uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaW5kZXhbbGV2ZWwgLSAxXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVhZiA9IG5vZGVxdWV1ZVswXVtub2RlaW5kZXhbMF1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIHRoYXQgcHJvdmlkZXMgaXRlbXMgaW4gcmV2ZXJzZWQgb3JkZXIuXHJcbiAgICAgKiAgQHBhcmFtIGhpZ2hlc3RLZXkgS2V5IGF0IHdoaWNoIHRvIHN0YXJ0IGl0ZXJhdGluZywgb3IgdW5kZWZpbmVkIHRvXHJcbiAgICAgKiAgICAgICAgIHN0YXJ0IGF0IG1heEtleSgpLiBJZiB0aGUgc3BlY2lmaWVkIGtleSBkb2Vzbid0IGV4aXN0IHRoZW4gaXRlcmF0aW9uXHJcbiAgICAgKiAgICAgICAgIHN0YXJ0cyBhdCB0aGUgbmV4dCBsb3dlciBrZXkgKGFjY29yZGluZyB0byB0aGUgY29tcGFyYXRvcikuXHJcbiAgICAgKiAgQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWVcclxuICAgICAqICAgICAgICAgcGFpcnMsIHRvIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IG9uIGV2ZXJ5IGl0ZXJhdGlvbi5cclxuICAgICAqICBAcGFyYW0gc2tpcEhpZ2hlc3QgSWZmIHRoaXMgZmxhZyBpcyB0cnVlIGFuZCB0aGUgaGlnaGVzdEtleSBleGlzdHMgaW4gdGhlXHJcbiAgICAgKiAgICAgICAgIGNvbGxlY3Rpb24sIHRoZSBwYWlyIG1hdGNoaW5nIGhpZ2hlc3RLZXkgaXMgc2tpcHBlZCwgbm90IGl0ZXJhdGVkLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZW50cmllc1JldmVyc2VkID0gZnVuY3Rpb24gKGhpZ2hlc3RLZXksIHJldXNlZEFycmF5LCBza2lwSGlnaGVzdCkge1xyXG4gICAgICAgIGlmIChoaWdoZXN0S2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgaGlnaGVzdEtleSA9IHRoaXMubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIHNraXBIaWdoZXN0ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBpZiAoaGlnaGVzdEtleSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKCk7IC8vIGNvbGxlY3Rpb24gaXMgZW1wdHlcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIF9hID0gdGhpcy5maW5kUGF0aChoaWdoZXN0S2V5KSB8fCB0aGlzLmZpbmRQYXRoKHRoaXMubWF4S2V5KCkpLCBub2RlcXVldWUgPSBfYS5ub2RlcXVldWUsIG5vZGVpbmRleCA9IF9hLm5vZGVpbmRleCwgbGVhZiA9IF9hLmxlYWY7XHJcbiAgICAgICAgY2hlY2soIW5vZGVxdWV1ZVswXSB8fCBsZWFmID09PSBub2RlcXVldWVbMF1bbm9kZWluZGV4WzBdXSwgXCJ3YXQhXCIpO1xyXG4gICAgICAgIHZhciBpID0gbGVhZi5pbmRleE9mKGhpZ2hlc3RLZXksIDAsIHRoaXMuX2NvbXBhcmUpO1xyXG4gICAgICAgIGlmICghc2tpcEhpZ2hlc3QgJiYgaSA8IGxlYWYua2V5cy5sZW5ndGggJiYgdGhpcy5fY29tcGFyZShsZWFmLmtleXNbaV0sIGhpZ2hlc3RLZXkpIDw9IDApXHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB2YXIgc3RhdGUgPSByZXVzZWRBcnJheSAhPT0gdW5kZWZpbmVkID8gMSA6IDA7XHJcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAganVtcDogZm9yICg7Oykge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC0taSA+PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBbbGVhZi5rZXlzW2ldLCBsZWFmLnZhbHVlc1tpXV0gfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgtLWkgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV1c2VkQXJyYXlbMF0gPSBsZWFmLmtleXNbaV0sIHJldXNlZEFycmF5WzFdID0gbGVhZi52YWx1ZXNbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBkb25lOiBmYWxzZSwgdmFsdWU6IHJldXNlZEFycmF5IH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWR2YW5jZSB0byB0aGUgbmV4dCBsZWFmIG5vZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbGV2ZWwgPSAtMTs7KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKytsZXZlbCA+PSBub2RlcXVldWUubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIGp1bXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoLS1ub2RlaW5kZXhbbGV2ZWxdID49IDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IGxldmVsID4gMDsgbGV2ZWwtLSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXF1ZXVlW2xldmVsIC0gMV0gPSBub2RlcXVldWVbbGV2ZWxdW25vZGVpbmRleFtsZXZlbF1dLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWluZGV4W2xldmVsIC0gMV0gPSBub2RlcXVldWVbbGV2ZWwgLSAxXS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYWYgPSBub2RlcXVldWVbMF1bbm9kZWluZGV4WzBdXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGxlYWYua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gcmV1c2VkQXJyYXkgIT09IHVuZGVmaW5lZCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIC8qIFVzZWQgYnkgZW50cmllcygpIGFuZCBlbnRyaWVzUmV2ZXJzZWQoKSB0byBwcmVwYXJlIHRvIHN0YXJ0IGl0ZXJhdGluZy5cclxuICAgICAqIEl0IGRldmVsb3BzIGEgXCJub2RlIHF1ZXVlXCIgZm9yIGVhY2ggbm9uLWxlYWYgbGV2ZWwgb2YgdGhlIHRyZWUuXHJcbiAgICAgKiBMZXZlbHMgYXJlIG51bWJlcmVkIFwiYm90dG9tLXVwXCIgc28gdGhhdCBsZXZlbCAwIGlzIGEgbGlzdCBvZiBsZWFmXHJcbiAgICAgKiBub2RlcyBmcm9tIGEgbG93LWxldmVsIG5vbi1sZWFmIG5vZGUuIFRoZSBxdWV1ZSBhdCBhIGdpdmVuIGxldmVsIExcclxuICAgICAqIGNvbnNpc3RzIG9mIG5vZGVxdWV1ZVtMXSB3aGljaCBpcyB0aGUgY2hpbGRyZW4gb2YgYSBCTm9kZUludGVybmFsLFxyXG4gICAgICogYW5kIG5vZGVpbmRleFtMXSwgdGhlIGN1cnJlbnQgaW5kZXggd2l0aGluIHRoYXQgY2hpbGQgbGlzdCwgc3VjaFxyXG4gICAgICogc3VjaCB0aGF0IG5vZGVxdWV1ZVtMLTFdID09PSBub2RlcXVldWVbTF1bbm9kZWluZGV4W0xdXS5jaGlsZHJlbi5cclxuICAgICAqIChIb3dldmVyIGluc2lkZSB0aGlzIGZ1bmN0aW9uIHRoZSBvcmRlciBpcyByZXZlcnNlZC4pXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5maW5kUGF0aCA9IGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICB2YXIgbmV4dG5vZGUgPSB0aGlzLl9yb290O1xyXG4gICAgICAgIHZhciBub2RlcXVldWUsIG5vZGVpbmRleDtcclxuICAgICAgICBpZiAobmV4dG5vZGUuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgIG5vZGVxdWV1ZSA9IEVtcHR5QXJyYXksIG5vZGVpbmRleCA9IEVtcHR5QXJyYXk7IC8vIGF2b2lkIGFsbG9jYXRpb25zXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBub2RlcXVldWUgPSBbXSwgbm9kZWluZGV4ID0gW107XHJcbiAgICAgICAgICAgIGZvciAodmFyIGQgPSAwOyAhbmV4dG5vZGUuaXNMZWFmOyBkKyspIHtcclxuICAgICAgICAgICAgICAgIG5vZGVxdWV1ZVtkXSA9IG5leHRub2RlLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgbm9kZWluZGV4W2RdID0ga2V5ID09PSB1bmRlZmluZWQgPyAwIDogbmV4dG5vZGUuaW5kZXhPZihrZXksIDAsIHRoaXMuX2NvbXBhcmUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vZGVpbmRleFtkXSA+PSBub2RlcXVldWVbZF0ubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gZmlyc3Qga2V5ID4gbWF4S2V5KClcclxuICAgICAgICAgICAgICAgIG5leHRub2RlID0gbm9kZXF1ZXVlW2RdW25vZGVpbmRleFtkXV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbm9kZXF1ZXVlLnJldmVyc2UoKTtcclxuICAgICAgICAgICAgbm9kZWluZGV4LnJldmVyc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsgbm9kZXF1ZXVlOiBub2RlcXVldWUsIG5vZGVpbmRleDogbm9kZWluZGV4LCBsZWFmOiBuZXh0bm9kZSB9O1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQ29tcHV0ZXMgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYHRoaXNgIGFuZCBgb3RoZXJgLlxyXG4gICAgICogRm9yIGVmZmljaWVuY3ksIHRoZSBkaWZmIGlzIHJldHVybmVkIHZpYSBpbnZvY2F0aW9ucyBvZiBzdXBwbGllZCBoYW5kbGVycy5cclxuICAgICAqIFRoZSBjb21wdXRhdGlvbiBpcyBvcHRpbWl6ZWQgZm9yIHRoZSBjYXNlIGluIHdoaWNoIHRoZSB0d28gdHJlZXMgaGF2ZSBsYXJnZSBhbW91bnRzXHJcbiAgICAgKiBvZiBzaGFyZWQgZGF0YSAob2J0YWluZWQgYnkgY2FsbGluZyB0aGUgYGNsb25lYCBvciBgd2l0aGAgQVBJcykgYW5kIHdpbGwgYXZvaWRcclxuICAgICAqIGFueSBpdGVyYXRpb24gb2Ygc2hhcmVkIHN0YXRlLlxyXG4gICAgICogVGhlIGhhbmRsZXJzIGNhbiBjYXVzZSBjb21wdXRhdGlvbiB0byBlYXJseSBleGl0IGJ5IHJldHVybmluZyB7YnJlYWs6IFJ9LlxyXG4gICAgICogTmVpdGhlciBvZiB0aGUgY29sbGVjdGlvbnMgc2hvdWxkIGJlIGNoYW5nZWQgZHVyaW5nIHRoZSBjb21wYXJpc29uIHByb2Nlc3MgKGluIHlvdXIgY2FsbGJhY2tzKSwgYXMgdGhpcyBtZXRob2QgYXNzdW1lcyB0aGV5IHdpbGwgbm90IGJlIG11dGF0ZWQuXHJcbiAgICAgKiBAcGFyYW0gb3RoZXIgVGhlIHRyZWUgdG8gY29tcHV0ZSBhIGRpZmYgYWdhaW5zdC5cclxuICAgICAqIEBwYXJhbSBvbmx5VGhpcyBDYWxsYmFjayBpbnZva2VkIGZvciBhbGwga2V5cyBvbmx5IHByZXNlbnQgaW4gYHRoaXNgLlxyXG4gICAgICogQHBhcmFtIG9ubHlPdGhlciBDYWxsYmFjayBpbnZva2VkIGZvciBhbGwga2V5cyBvbmx5IHByZXNlbnQgaW4gYG90aGVyYC5cclxuICAgICAqIEBwYXJhbSBkaWZmZXJlbnQgQ2FsbGJhY2sgaW52b2tlZCBmb3IgYWxsIGtleXMgd2l0aCBkaWZmZXJpbmcgdmFsdWVzLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZGlmZkFnYWluc3QgPSBmdW5jdGlvbiAob3RoZXIsIG9ubHlUaGlzLCBvbmx5T3RoZXIsIGRpZmZlcmVudCkge1xyXG4gICAgICAgIGlmIChvdGhlci5fY29tcGFyZSAhPT0gdGhpcy5fY29tcGFyZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUcmVlIGNvbXBhcmF0b3JzIGFyZSBub3QgdGhlIHNhbWUuXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pc0VtcHR5IHx8IG90aGVyLmlzRW1wdHkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNFbXB0eSAmJiBvdGhlci5pc0VtcHR5KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgLy8gSWYgb25lIHRyZWUgaXMgZW1wdHksIGV2ZXJ5dGhpbmcgd2lsbCBiZSBhbiBvbmx5VGhpcy9vbmx5T3RoZXIuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRW1wdHkpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb25seU90aGVyID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBCVHJlZS5zdGVwVG9FbmQoQlRyZWUubWFrZURpZmZDdXJzb3Iob3RoZXIpLCBvbmx5T3RoZXIpO1xyXG4gICAgICAgICAgICByZXR1cm4gb25seVRoaXMgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IEJUcmVlLnN0ZXBUb0VuZChCVHJlZS5tYWtlRGlmZkN1cnNvcih0aGlzKSwgb25seVRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDdXJzb3ItYmFzZWQgZGlmZiBhbGdvcml0aG0gaXMgYXMgZm9sbG93czpcclxuICAgICAgICAvLyAtIFVudGlsIG5laXRoZXIgY3Vyc29yIGhhcyBuYXZpZ2F0ZWQgdG8gdGhlIGVuZCBvZiB0aGUgdHJlZSwgZG8gdGhlIGZvbGxvd2luZzpcclxuICAgICAgICAvLyAgLSBJZiB0aGUgYHRoaXNgIGN1cnNvciBpcyBcImJlaGluZFwiIHRoZSBgb3RoZXJgIGN1cnNvciAoc3RyaWN0bHkgPCwgdmlhIGNvbXBhcmUpLCBhZHZhbmNlIGl0LlxyXG4gICAgICAgIC8vICAtIE90aGVyd2lzZSwgYWR2YW5jZSB0aGUgYG90aGVyYCBjdXJzb3IuXHJcbiAgICAgICAgLy8gIC0gQW55IHRpbWUgYSBjdXJzb3IgaXMgc3RlcHBlZCwgcGVyZm9ybSB0aGUgZm9sbG93aW5nOlxyXG4gICAgICAgIC8vICAgIC0gSWYgZWl0aGVyIGN1cnNvciBwb2ludHMgdG8gYSBrZXkvdmFsdWUgcGFpcjpcclxuICAgICAgICAvLyAgICAgIC0gSWYgdGhpc0N1cnNvciA9PT0gb3RoZXJDdXJzb3IgYW5kIHRoZSB2YWx1ZXMgZGlmZmVyLCBpdCBpcyBhIERpZmZlcmVudC5cclxuICAgICAgICAvLyAgICAgIC0gSWYgdGhpc0N1cnNvciA+IG90aGVyQ3Vyc29yIGFuZCBvdGhlckN1cnNvciBpcyBhdCBhIGtleS92YWx1ZSBwYWlyLCBpdCBpcyBhbiBPbmx5T3RoZXIuXHJcbiAgICAgICAgLy8gICAgICAtIElmIHRoaXNDdXJzb3IgPCBvdGhlckN1cnNvciBhbmQgdGhpc0N1cnNvciBpcyBhdCBhIGtleS92YWx1ZSBwYWlyLCBpdCBpcyBhbiBPbmx5VGhpcyBhcyBsb25nIGFzIHRoZSBtb3N0IHJlY2VudCBcclxuICAgICAgICAvLyAgICAgICAgY3Vyc29yIHN0ZXAgd2FzICpub3QqIG90aGVyQ3Vyc29yIGFkdmFuY2luZyBmcm9tIGEgdGllLiBUaGUgZXh0cmEgY29uZGl0aW9uIGF2b2lkcyBlcnJvbmVvdXMgT25seU90aGVyIGNhbGxzIFxyXG4gICAgICAgIC8vICAgICAgICB0aGF0IHdvdWxkIG9jY3VyIGR1ZSB0byBvdGhlckN1cnNvciBiZWluZyB0aGUgXCJsZWFkZXJcIi5cclxuICAgICAgICAvLyAgICAtIE90aGVyd2lzZSwgaWYgYm90aCBjdXJzb3JzIHBvaW50IHRvIG5vZGVzLCBjb21wYXJlIHRoZW0uIElmIHRoZXkgYXJlIGVxdWFsIGJ5IHJlZmVyZW5jZSAoc2hhcmVkKSwgc2tpcFxyXG4gICAgICAgIC8vICAgICAgYm90aCBjdXJzb3JzIHRvIHRoZSBuZXh0IG5vZGUgaW4gdGhlIHdhbGsuXHJcbiAgICAgICAgLy8gLSBPbmNlIG9uZSBjdXJzb3IgaGFzIGZpbmlzaGVkIHN0ZXBwaW5nLCBhbnkgcmVtYWluaW5nIHN0ZXBzIChpZiBhbnkpIGFyZSB0YWtlbiBhbmQga2V5L3ZhbHVlIHBhaXJzIGFyZSBsb2dnZWRcclxuICAgICAgICAvLyAgIGFzIE9ubHlPdGhlciAoaWYgb3RoZXJDdXJzb3IgaXMgc3RlcHBpbmcpIG9yIE9ubHlUaGlzIChpZiB0aGlzQ3Vyc29yIGlzIHN0ZXBwaW5nKS5cclxuICAgICAgICAvLyBUaGlzIGFsZ29yaXRobSBnaXZlcyB0aGUgY3JpdGljYWwgZ3VhcmFudGVlIHRoYXQgYWxsIGxvY2F0aW9ucyAoYm90aCBub2RlcyBhbmQga2V5L3ZhbHVlIHBhaXJzKSBpbiBib3RoIHRyZWVzIHRoYXQgXHJcbiAgICAgICAgLy8gYXJlIGlkZW50aWNhbCBieSB2YWx1ZSAoYW5kIHBvc3NpYmx5IGJ5IHJlZmVyZW5jZSkgd2lsbCBiZSB2aXNpdGVkICphdCB0aGUgc2FtZSB0aW1lKiBieSB0aGUgY3Vyc29ycy5cclxuICAgICAgICAvLyBUaGlzIHJlbW92ZXMgdGhlIHBvc3NpYmlsaXR5IG9mIGVtaXR0aW5nIGluY29ycmVjdCBkaWZmcywgYXMgd2VsbCBhcyBhbGxvd2luZyBmb3Igc2tpcHBpbmcgc2hhcmVkIG5vZGVzLlxyXG4gICAgICAgIHZhciBfY29tcGFyZSA9IHRoaXMuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIHRoaXNDdXJzb3IgPSBCVHJlZS5tYWtlRGlmZkN1cnNvcih0aGlzKTtcclxuICAgICAgICB2YXIgb3RoZXJDdXJzb3IgPSBCVHJlZS5tYWtlRGlmZkN1cnNvcihvdGhlcik7XHJcbiAgICAgICAgLy8gSXQgZG9lc24ndCBtYXR0ZXIgaG93IHRoaXNTdGVwcGVkTGFzdCBpcyBpbml0aWFsaXplZC5cclxuICAgICAgICAvLyBTdGVwIG9yZGVyIGlzIG9ubHkgdXNlZCB3aGVuIGVpdGhlciBjdXJzb3IgaXMgYXQgYSBsZWFmLCBhbmQgY3Vyc29ycyBhbHdheXMgc3RhcnQgYXQgYSBub2RlLlxyXG4gICAgICAgIHZhciB0aGlzU3VjY2VzcyA9IHRydWUsIG90aGVyU3VjY2VzcyA9IHRydWUsIHByZXZDdXJzb3JPcmRlciA9IEJUcmVlLmNvbXBhcmUodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlKTtcclxuICAgICAgICB3aGlsZSAodGhpc1N1Y2Nlc3MgJiYgb3RoZXJTdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHZhciBjdXJzb3JPcmRlciA9IEJUcmVlLmNvbXBhcmUodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlKTtcclxuICAgICAgICAgICAgdmFyIHRoaXNMZWFmID0gdGhpc0N1cnNvci5sZWFmLCB0aGlzSW50ZXJuYWxTcGluZSA9IHRoaXNDdXJzb3IuaW50ZXJuYWxTcGluZSwgdGhpc0xldmVsSW5kaWNlcyA9IHRoaXNDdXJzb3IubGV2ZWxJbmRpY2VzO1xyXG4gICAgICAgICAgICB2YXIgb3RoZXJMZWFmID0gb3RoZXJDdXJzb3IubGVhZiwgb3RoZXJJbnRlcm5hbFNwaW5lID0gb3RoZXJDdXJzb3IuaW50ZXJuYWxTcGluZSwgb3RoZXJMZXZlbEluZGljZXMgPSBvdGhlckN1cnNvci5sZXZlbEluZGljZXM7XHJcbiAgICAgICAgICAgIGlmICh0aGlzTGVhZiB8fCBvdGhlckxlYWYpIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjdXJzb3JzIHdlcmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gbGFzdCBzdGVwLCB0aGVuIHRoZXJlIGlzIG5vIHdvcmsgdG8gYmUgZG9uZS5cclxuICAgICAgICAgICAgICAgIGlmIChwcmV2Q3Vyc29yT3JkZXIgIT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY3Vyc29yT3JkZXIgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNMZWFmICYmIG90aGVyTGVhZiAmJiBkaWZmZXJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVxdWFsIGtleXMsIGNoZWNrIGZvciBtb2RpZmljYXRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsVGhpcyA9IHRoaXNMZWFmLnZhbHVlc1t0aGlzTGV2ZWxJbmRpY2VzW3RoaXNMZXZlbEluZGljZXMubGVuZ3RoIC0gMV1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbE90aGVyID0gb3RoZXJMZWFmLnZhbHVlc1tvdGhlckxldmVsSW5kaWNlc1tvdGhlckxldmVsSW5kaWNlcy5sZW5ndGggLSAxXV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5pcyh2YWxUaGlzLCB2YWxPdGhlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZGlmZmVyZW50KHRoaXNDdXJzb3IuY3VycmVudEtleSwgdmFsVGhpcywgdmFsT3RoZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmJyZWFrKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGN1cnNvck9yZGVyID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBjYXNlLCB3ZSBrbm93IHRoYXQgZWl0aGVyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAxLiBvdGhlckN1cnNvciBzdGVwcGVkIGxhc3QgZnJvbSBhIHN0YXJ0aW5nIHBvc2l0aW9uIHRoYXQgdHJhaWxlZCB0aGlzQ3Vyc29yLCBhbmQgaXMgc3RpbGwgYmVoaW5kLCBvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAyLiB0aGlzQ3Vyc29yIHN0ZXBwZWQgbGFzdCBhbmQgbGVhcGZyb2dnZWQgb3RoZXJDdXJzb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRWl0aGVyIG9mIHRoZXNlIGNhc2VzIGlzIGFuIFwib25seSBvdGhlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvdGhlckxlYWYgJiYgb25seU90aGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3RoZXJWYWwgPSBvdGhlckxlYWYudmFsdWVzW290aGVyTGV2ZWxJbmRpY2VzW290aGVyTGV2ZWxJbmRpY2VzLmxlbmd0aCAtIDFdXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvbmx5T3RoZXIob3RoZXJDdXJzb3IuY3VycmVudEtleSwgb3RoZXJWYWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuYnJlYWspXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5icmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvbmx5VGhpcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpc0xlYWYgJiYgcHJldkN1cnNvck9yZGVyICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsVGhpcyA9IHRoaXNMZWFmLnZhbHVlc1t0aGlzTGV2ZWxJbmRpY2VzW3RoaXNMZXZlbEluZGljZXMubGVuZ3RoIC0gMV1dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG9ubHlUaGlzKHRoaXNDdXJzb3IuY3VycmVudEtleSwgdmFsVGhpcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5icmVhaylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzTGVhZiAmJiAhb3RoZXJMZWFmICYmIGN1cnNvck9yZGVyID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbGFzdFRoaXMgPSB0aGlzSW50ZXJuYWxTcGluZS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgdmFyIGxhc3RPdGhlciA9IG90aGVySW50ZXJuYWxTcGluZS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgdmFyIG5vZGVUaGlzID0gdGhpc0ludGVybmFsU3BpbmVbbGFzdFRoaXNdW3RoaXNMZXZlbEluZGljZXNbbGFzdFRoaXNdXTtcclxuICAgICAgICAgICAgICAgIHZhciBub2RlT3RoZXIgPSBvdGhlckludGVybmFsU3BpbmVbbGFzdE90aGVyXVtvdGhlckxldmVsSW5kaWNlc1tsYXN0T3RoZXJdXTtcclxuICAgICAgICAgICAgICAgIGlmIChub2RlT3RoZXIgPT09IG5vZGVUaGlzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJldkN1cnNvck9yZGVyID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzU3VjY2VzcyA9IEJUcmVlLnN0ZXAodGhpc0N1cnNvciwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3RoZXJTdWNjZXNzID0gQlRyZWUuc3RlcChvdGhlckN1cnNvciwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJldkN1cnNvck9yZGVyID0gY3Vyc29yT3JkZXI7XHJcbiAgICAgICAgICAgIGlmIChjdXJzb3JPcmRlciA8IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXNTdWNjZXNzID0gQlRyZWUuc3RlcCh0aGlzQ3Vyc29yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG90aGVyU3VjY2VzcyA9IEJUcmVlLnN0ZXAob3RoZXJDdXJzb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzU3VjY2VzcyAmJiBvbmx5VGhpcylcclxuICAgICAgICAgICAgcmV0dXJuIEJUcmVlLmZpbmlzaEN1cnNvcldhbGsodGhpc0N1cnNvciwgb3RoZXJDdXJzb3IsIF9jb21wYXJlLCBvbmx5VGhpcyk7XHJcbiAgICAgICAgaWYgKG90aGVyU3VjY2VzcyAmJiBvbmx5T3RoZXIpXHJcbiAgICAgICAgICAgIHJldHVybiBCVHJlZS5maW5pc2hDdXJzb3JXYWxrKG90aGVyQ3Vyc29yLCB0aGlzQ3Vyc29yLCBfY29tcGFyZSwgb25seU90aGVyKTtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIEhlbHBlciBtZXRob2RzIGZvciBkaWZmQWdhaW5zdCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgQlRyZWUuZmluaXNoQ3Vyc29yV2FsayA9IGZ1bmN0aW9uIChjdXJzb3IsIGN1cnNvckZpbmlzaGVkLCBjb21wYXJlS2V5cywgY2FsbGJhY2spIHtcclxuICAgICAgICB2YXIgY29tcGFyZWQgPSBCVHJlZS5jb21wYXJlKGN1cnNvciwgY3Vyc29yRmluaXNoZWQsIGNvbXBhcmVLZXlzKTtcclxuICAgICAgICBpZiAoY29tcGFyZWQgPT09IDApIHtcclxuICAgICAgICAgICAgaWYgKCFCVHJlZS5zdGVwKGN1cnNvcikpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChjb21wYXJlZCA8IDApIHtcclxuICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwiY3Vyc29yIHdhbGsgdGVybWluYXRlZCBlYXJseVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIEJUcmVlLnN0ZXBUb0VuZChjdXJzb3IsIGNhbGxiYWNrKTtcclxuICAgIH07XHJcbiAgICBCVHJlZS5zdGVwVG9FbmQgPSBmdW5jdGlvbiAoY3Vyc29yLCBjYWxsYmFjaykge1xyXG4gICAgICAgIHZhciBjYW5TdGVwID0gdHJ1ZTtcclxuICAgICAgICB3aGlsZSAoY2FuU3RlcCkge1xyXG4gICAgICAgICAgICB2YXIgbGVhZiA9IGN1cnNvci5sZWFmLCBsZXZlbEluZGljZXMgPSBjdXJzb3IubGV2ZWxJbmRpY2VzLCBjdXJyZW50S2V5ID0gY3Vyc29yLmN1cnJlbnRLZXk7XHJcbiAgICAgICAgICAgIGlmIChsZWFmKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBsZWFmLnZhbHVlc1tsZXZlbEluZGljZXNbbGV2ZWxJbmRpY2VzLmxlbmd0aCAtIDFdXTtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBjYWxsYmFjayhjdXJyZW50S2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5icmVhaylcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhblN0ZXAgPSBCVHJlZS5zdGVwKGN1cnNvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQlRyZWUubWFrZURpZmZDdXJzb3IgPSBmdW5jdGlvbiAodHJlZSkge1xyXG4gICAgICAgIHZhciBfcm9vdCA9IHRyZWUuX3Jvb3QsIGhlaWdodCA9IHRyZWUuaGVpZ2h0O1xyXG4gICAgICAgIHJldHVybiB7IGhlaWdodDogaGVpZ2h0LCBpbnRlcm5hbFNwaW5lOiBbW19yb290XV0sIGxldmVsSW5kaWNlczogWzBdLCBsZWFmOiB1bmRlZmluZWQsIGN1cnJlbnRLZXk6IF9yb290Lm1heEtleSgpIH07XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBBZHZhbmNlcyB0aGUgY3Vyc29yIHRvIHRoZSBuZXh0IHN0ZXAgaW4gdGhlIHdhbGsgb2YgaXRzIHRyZWUuXHJcbiAgICAgKiBDdXJzb3JzIGFyZSB3YWxrZWQgYmFja3dhcmRzIGluIHNvcnQgb3JkZXIsIGFzIHRoaXMgYWxsb3dzIHRoZW0gdG8gbGV2ZXJhZ2UgbWF4S2V5KCkgaW4gb3JkZXIgdG8gYmUgY29tcGFyZWQgaW4gTygxKS5cclxuICAgICAqIEBwYXJhbSBjdXJzb3IgVGhlIGN1cnNvciB0byBzdGVwXHJcbiAgICAgKiBAcGFyYW0gc3RlcFRvTm9kZSBJZiB0cnVlLCB0aGUgY3Vyc29yIHdpbGwgYmUgYWR2YW5jZWQgdG8gdGhlIG5leHQgbm9kZSAoc2tpcHBpbmcgdmFsdWVzKVxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgc3RlcCB3YXMgY29tcGxldGVkIGFuZCBmYWxzZSBpZiB0aGUgc3RlcCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgY3Vyc29yIHRvIG1vdmUgYmV5b25kIHRoZSBlbmQgb2YgdGhlIHRyZWUuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnN0ZXAgPSBmdW5jdGlvbiAoY3Vyc29yLCBzdGVwVG9Ob2RlKSB7XHJcbiAgICAgICAgdmFyIGludGVybmFsU3BpbmUgPSBjdXJzb3IuaW50ZXJuYWxTcGluZSwgbGV2ZWxJbmRpY2VzID0gY3Vyc29yLmxldmVsSW5kaWNlcywgbGVhZiA9IGN1cnNvci5sZWFmO1xyXG4gICAgICAgIGlmIChzdGVwVG9Ob2RlID09PSB0cnVlIHx8IGxlYWYpIHtcclxuICAgICAgICAgICAgdmFyIGxldmVsc0xlbmd0aCA9IGxldmVsSW5kaWNlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIC8vIFN0ZXAgdG8gdGhlIG5leHQgbm9kZSBvbmx5IGlmOlxyXG4gICAgICAgICAgICAvLyAtIFdlIGFyZSBleHBsaWNpdGx5IGRpcmVjdGVkIHRvIHZpYSBzdGVwVG9Ob2RlLCBvclxyXG4gICAgICAgICAgICAvLyAtIFRoZXJlIGFyZSBubyBrZXkvdmFsdWUgcGFpcnMgbGVmdCB0byBzdGVwIHRvIGluIHRoaXMgbGVhZlxyXG4gICAgICAgICAgICBpZiAoc3RlcFRvTm9kZSA9PT0gdHJ1ZSB8fCBsZXZlbEluZGljZXNbbGV2ZWxzTGVuZ3RoIC0gMV0gPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHZhciBzcGluZUxlbmd0aCA9IGludGVybmFsU3BpbmUubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgLy8gUm9vdCBpcyBsZWFmXHJcbiAgICAgICAgICAgICAgICBpZiAoc3BpbmVMZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy8gV2FsayBiYWNrIHVwIHRoZSB0cmVlIHVudGlsIHdlIGZpbmQgYSBuZXcgc3VidHJlZSB0byBkZXNjZW5kIGludG9cclxuICAgICAgICAgICAgICAgIHZhciBub2RlTGV2ZWxJbmRleCA9IHNwaW5lTGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIHZhciBsZXZlbEluZGV4V2Fsa0JhY2sgPSBub2RlTGV2ZWxJbmRleDtcclxuICAgICAgICAgICAgICAgIHdoaWxlIChsZXZlbEluZGV4V2Fsa0JhY2sgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsZXZlbEluZGljZXNbbGV2ZWxJbmRleFdhbGtCYWNrXSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxldmVsSW5kZXhXYWxrQmFjayA8IGxldmVsc0xlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBsZWFmIHN0YXRlIGZyb20gY3Vyc29yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IubGVhZiA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsSW5kaWNlcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSB3YWxrZWQgdXB3YXJkcyBwYXN0IGFueSBpbnRlcm5hbCBub2RlLCBzbGljZSB0aGVtIG91dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGV2ZWxJbmRleFdhbGtCYWNrIDwgbm9kZUxldmVsSW5kZXgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuaW50ZXJuYWxTcGluZSA9IGludGVybmFsU3BpbmUuc2xpY2UoMCwgbGV2ZWxJbmRleFdhbGtCYWNrICsgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gbmV3IGludGVybmFsIG5vZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmN1cnJlbnRLZXkgPSBpbnRlcm5hbFNwaW5lW2xldmVsSW5kZXhXYWxrQmFja11bLS1sZXZlbEluZGljZXNbbGV2ZWxJbmRleFdhbGtCYWNrXV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXZlbEluZGV4V2Fsa0JhY2stLTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEN1cnNvciBpcyBpbiB0aGUgZmFyIGxlZnQgbGVhZiBvZiB0aGUgdHJlZSwgbm8gbW9yZSBub2RlcyB0byBlbnVtZXJhdGVcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gbmV3IGxlYWYgdmFsdWVcclxuICAgICAgICAgICAgICAgIHZhciB2YWx1ZUluZGV4ID0gLS1sZXZlbEluZGljZXNbbGV2ZWxzTGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICAgICAgICBjdXJzb3IuY3VycmVudEtleSA9IGxlYWYua2V5c1t2YWx1ZUluZGV4XTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgeyAvLyBDdXJzb3IgZG9lcyBub3QgcG9pbnQgdG8gYSB2YWx1ZSBpbiBhIGxlYWYsIHNvIG1vdmUgZG93bndhcmRzXHJcbiAgICAgICAgICAgIHZhciBuZXh0TGV2ZWwgPSBpbnRlcm5hbFNwaW5lLmxlbmd0aDtcclxuICAgICAgICAgICAgdmFyIGN1cnJlbnRMZXZlbCA9IG5leHRMZXZlbCAtIDE7XHJcbiAgICAgICAgICAgIHZhciBub2RlID0gaW50ZXJuYWxTcGluZVtjdXJyZW50TGV2ZWxdW2xldmVsSW5kaWNlc1tjdXJyZW50TGV2ZWxdXTtcclxuICAgICAgICAgICAgaWYgKG5vZGUuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBFbnRlcmluZyBpbnRvIGEgbGVhZi4gU2V0IHRoZSBjdXJzb3IgdG8gcG9pbnQgYXQgdGhlIGxhc3Qga2V5L3ZhbHVlIHBhaXIuXHJcbiAgICAgICAgICAgICAgICBjdXJzb3IubGVhZiA9IG5vZGU7XHJcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWVJbmRleCA9IGxldmVsSW5kaWNlc1tuZXh0TGV2ZWxdID0gbm9kZS52YWx1ZXMubGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIGN1cnNvci5jdXJyZW50S2V5ID0gbm9kZS5rZXlzW3ZhbHVlSW5kZXhdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjtcclxuICAgICAgICAgICAgICAgIGludGVybmFsU3BpbmVbbmV4dExldmVsXSA9IGNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkSW5kZXggPSBjaGlsZHJlbi5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICAgICAgbGV2ZWxJbmRpY2VzW25leHRMZXZlbF0gPSBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yLmN1cnJlbnRLZXkgPSBjaGlsZHJlbltjaGlsZEluZGV4XS5tYXhLZXkoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlcyB0aGUgdHdvIGN1cnNvcnMuIFJldHVybnMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoaWNoIGN1cnNvciBpcyBhaGVhZCBpbiBhIHdhbGsuXHJcbiAgICAgKiBOb3RlIHRoYXQgY3Vyc29ycyBhcmUgYWR2YW5jZWQgaW4gcmV2ZXJzZSBzb3J0aW5nIG9yZGVyLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5jb21wYXJlID0gZnVuY3Rpb24gKGN1cnNvckEsIGN1cnNvckIsIGNvbXBhcmVLZXlzKSB7XHJcbiAgICAgICAgdmFyIGhlaWdodEEgPSBjdXJzb3JBLmhlaWdodCwgY3VycmVudEtleUEgPSBjdXJzb3JBLmN1cnJlbnRLZXksIGxldmVsSW5kaWNlc0EgPSBjdXJzb3JBLmxldmVsSW5kaWNlcztcclxuICAgICAgICB2YXIgaGVpZ2h0QiA9IGN1cnNvckIuaGVpZ2h0LCBjdXJyZW50S2V5QiA9IGN1cnNvckIuY3VycmVudEtleSwgbGV2ZWxJbmRpY2VzQiA9IGN1cnNvckIubGV2ZWxJbmRpY2VzO1xyXG4gICAgICAgIC8vIFJldmVyc2UgdGhlIGNvbXBhcmlzb24gb3JkZXIsIGFzIGN1cnNvcnMgYXJlIGFkdmFuY2VkIGluIHJldmVyc2Ugc29ydGluZyBvcmRlclxyXG4gICAgICAgIHZhciBrZXlDb21wYXJpc29uID0gY29tcGFyZUtleXMoY3VycmVudEtleUIsIGN1cnJlbnRLZXlBKTtcclxuICAgICAgICBpZiAoa2V5Q29tcGFyaXNvbiAhPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4ga2V5Q29tcGFyaXNvbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTm9ybWFsaXplIGRlcHRoIHZhbHVlcyByZWxhdGl2ZSB0byB0aGUgc2hvcnRlc3QgdHJlZS5cclxuICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCBjb25jdXJyZW50IGN1cnNvciB3YWxrcyBvZiB0cmVlcyBvZiBkaWZmZXJpbmcgaGVpZ2h0cyBjYW4gcmVsaWFibHkgbGFuZCBvbiBzaGFyZWQgbm9kZXMgYXQgdGhlIHNhbWUgdGltZS5cclxuICAgICAgICAvLyBUbyBhY2NvbXBsaXNoIHRoaXMsIGEgY3Vyc29yIHRoYXQgaXMgb24gYW4gaW50ZXJuYWwgbm9kZSBhdCBkZXB0aCBEMSB3aXRoIG1heEtleSBYIGlzIGNvbnNpZGVyZWQgXCJiZWhpbmRcIiBhIGN1cnNvciBvbiBhblxyXG4gICAgICAgIC8vIGludGVybmFsIG5vZGUgYXQgZGVwdGggRDIgd2l0aCBtYXhLZXkgWSwgd2hlbiBEMSA8IEQyLiBUaHVzLCBhbHdheXMgd2Fsa2luZyB0aGUgY3Vyc29yIHRoYXQgaXMgXCJiZWhpbmRcIiB3aWxsIGFsbG93IHRoZSBjdXJzb3JcclxuICAgICAgICAvLyBhdCBzaGFsbG93ZXIgZGVwdGggKGJ1dCBlcXVhbCBtYXhLZXkpIHRvIFwiY2F0Y2ggdXBcIiBhbmQgbGFuZCBvbiBzaGFyZWQgbm9kZXMuXHJcbiAgICAgICAgdmFyIGhlaWdodE1pbiA9IGhlaWdodEEgPCBoZWlnaHRCID8gaGVpZ2h0QSA6IGhlaWdodEI7XHJcbiAgICAgICAgdmFyIGRlcHRoQU5vcm1hbGl6ZWQgPSBsZXZlbEluZGljZXNBLmxlbmd0aCAtIChoZWlnaHRBIC0gaGVpZ2h0TWluKTtcclxuICAgICAgICB2YXIgZGVwdGhCTm9ybWFsaXplZCA9IGxldmVsSW5kaWNlc0IubGVuZ3RoIC0gKGhlaWdodEIgLSBoZWlnaHRNaW4pO1xyXG4gICAgICAgIHJldHVybiBkZXB0aEFOb3JtYWxpemVkIC0gZGVwdGhCTm9ybWFsaXplZDtcclxuICAgIH07XHJcbiAgICAvLyBFbmQgb2YgaGVscGVyIG1ldGhvZHMgZm9yIGRpZmZBZ2FpbnN0IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLyoqIFJldHVybnMgYSBuZXcgaXRlcmF0b3IgZm9yIGl0ZXJhdGluZyB0aGUga2V5cyBvZiBlYWNoIHBhaXIgaW4gYXNjZW5kaW5nIG9yZGVyLlxyXG4gICAgICogIEBwYXJhbSBmaXJzdEtleTogTWluaW11bSBrZXkgdG8gaW5jbHVkZSBpbiB0aGUgb3V0cHV0LiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmtleXMgPSBmdW5jdGlvbiAoZmlyc3RLZXkpIHtcclxuICAgICAgICB2YXIgaXQgPSB0aGlzLmVudHJpZXMoZmlyc3RLZXksIFJldXNlZEFycmF5KTtcclxuICAgICAgICByZXR1cm4gaXRlcmF0b3IoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgbiA9IGl0Lm5leHQoKTtcclxuICAgICAgICAgICAgaWYgKG4udmFsdWUpXHJcbiAgICAgICAgICAgICAgICBuLnZhbHVlID0gbi52YWx1ZVswXTtcclxuICAgICAgICAgICAgcmV0dXJuIG47XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgYSBuZXcgaXRlcmF0b3IgZm9yIGl0ZXJhdGluZyB0aGUgdmFsdWVzIG9mIGVhY2ggcGFpciBpbiBvcmRlciBieSBrZXkuXHJcbiAgICAgKiAgQHBhcmFtIGZpcnN0S2V5OiBNaW5pbXVtIGtleSB3aG9zZSBhc3NvY2lhdGVkIHZhbHVlIGlzIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudmFsdWVzID0gZnVuY3Rpb24gKGZpcnN0S2V5KSB7XHJcbiAgICAgICAgdmFyIGl0ID0gdGhpcy5lbnRyaWVzKGZpcnN0S2V5LCBSZXVzZWRBcnJheSk7XHJcbiAgICAgICAgcmV0dXJuIGl0ZXJhdG9yKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIG4gPSBpdC5uZXh0KCk7XHJcbiAgICAgICAgICAgIGlmIChuLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgbi52YWx1ZSA9IG4udmFsdWVbMV07XHJcbiAgICAgICAgICAgIHJldHVybiBuO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCVHJlZS5wcm90b3R5cGUsIFwibWF4Tm9kZVNpemVcIiwge1xyXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAgICAgLy8gQWRkaXRpb25hbCBtZXRob2RzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgICAgICAvKiogUmV0dXJucyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hpbGRyZW4vdmFsdWVzIGJlZm9yZSBub2RlcyB3aWxsIHNwbGl0LiAqL1xyXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbWF4Tm9kZVNpemU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLyoqIEdldHMgdGhlIGxvd2VzdCBrZXkgaW4gdGhlIHRyZWUuIENvbXBsZXhpdHk6IE8obG9nIHNpemUpICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubWluS2V5ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fcm9vdC5taW5LZXkoKTsgfTtcclxuICAgIC8qKiBHZXRzIHRoZSBoaWdoZXN0IGtleSBpbiB0aGUgdHJlZS4gQ29tcGxleGl0eTogTygxKSAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLm1heEtleSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX3Jvb3QubWF4S2V5KCk7IH07XHJcbiAgICAvKiogUXVpY2tseSBjbG9uZXMgdGhlIHRyZWUgYnkgbWFya2luZyB0aGUgcm9vdCBub2RlIGFzIHNoYXJlZC5cclxuICAgICAqICBCb3RoIGNvcGllcyByZW1haW4gZWRpdGFibGUuIFdoZW4geW91IG1vZGlmeSBlaXRoZXIgY29weSwgYW55XHJcbiAgICAgKiAgbm9kZXMgdGhhdCBhcmUgc2hhcmVkIChvciBwb3RlbnRpYWxseSBzaGFyZWQpIGJldHdlZW4gdGhlIHR3b1xyXG4gICAgICogIGNvcGllcyBhcmUgY2xvbmVkIHNvIHRoYXQgdGhlIGNoYW5nZXMgZG8gbm90IGFmZmVjdCBvdGhlciBjb3BpZXMuXHJcbiAgICAgKiAgVGhpcyBpcyBrbm93biBhcyBjb3B5LW9uLXdyaXRlIGJlaGF2aW9yLCBvciBcImxhenkgY29weWluZ1wiLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuaXNTaGFyZWQgPSB0cnVlO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgQlRyZWUodW5kZWZpbmVkLCB0aGlzLl9jb21wYXJlLCB0aGlzLl9tYXhOb2RlU2l6ZSk7XHJcbiAgICAgICAgcmVzdWx0Ll9yb290ID0gdGhpcy5fcm9vdDtcclxuICAgICAgICByZXN1bHQuX3NpemUgPSB0aGlzLl9zaXplO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIFBlcmZvcm1zIGEgZ3JlZWR5IGNsb25lLCBpbW1lZGlhdGVseSBkdXBsaWNhdGluZyBhbnkgbm9kZXMgdGhhdCBhcmVcclxuICAgICAqICBub3QgY3VycmVudGx5IG1hcmtlZCBhcyBzaGFyZWQsIGluIG9yZGVyIHRvIGF2b2lkIG1hcmtpbmcgYW55XHJcbiAgICAgKiAgYWRkaXRpb25hbCBub2RlcyBhcyBzaGFyZWQuXHJcbiAgICAgKiAgQHBhcmFtIGZvcmNlIENsb25lIGFsbCBub2RlcywgZXZlbiBzaGFyZWQgb25lcy5cclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdyZWVkeUNsb25lID0gZnVuY3Rpb24gKGZvcmNlKSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBCVHJlZSh1bmRlZmluZWQsIHRoaXMuX2NvbXBhcmUsIHRoaXMuX21heE5vZGVTaXplKTtcclxuICAgICAgICByZXN1bHQuX3Jvb3QgPSB0aGlzLl9yb290LmdyZWVkeUNsb25lKGZvcmNlKTtcclxuICAgICAgICByZXN1bHQuX3NpemUgPSB0aGlzLl9zaXplO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIEdldHMgYW4gYXJyYXkgZmlsbGVkIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSB0cmVlLCBzb3J0ZWQgYnkga2V5ICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIChtYXhMZW5ndGgpIHtcclxuICAgICAgICBpZiAobWF4TGVuZ3RoID09PSB2b2lkIDApIHsgbWF4TGVuZ3RoID0gMHg3RkZGRkZGRjsgfVxyXG4gICAgICAgIHZhciBtaW4gPSB0aGlzLm1pbktleSgpLCBtYXggPSB0aGlzLm1heEtleSgpO1xyXG4gICAgICAgIGlmIChtaW4gIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmFuZ2UobWluLCBtYXgsIHRydWUsIG1heExlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfTtcclxuICAgIC8qKiBHZXRzIGFuIGFycmF5IG9mIGFsbCBrZXlzLCBzb3J0ZWQgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5rZXlzQXJyYXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcclxuICAgICAgICB0aGlzLl9yb290LmZvclJhbmdlKHRoaXMubWluS2V5KCksIHRoaXMubWF4S2V5KCksIHRydWUsIGZhbHNlLCB0aGlzLCAwLCBmdW5jdGlvbiAoaywgdikgeyByZXN1bHRzLnB1c2goayk7IH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgfTtcclxuICAgIC8qKiBHZXRzIGFuIGFycmF5IG9mIGFsbCB2YWx1ZXMsIHNvcnRlZCBieSBrZXkgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS52YWx1ZXNBcnJheSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuZm9yUmFuZ2UodGhpcy5taW5LZXkoKSwgdGhpcy5tYXhLZXkoKSwgdHJ1ZSwgZmFsc2UsIHRoaXMsIDAsIGZ1bmN0aW9uIChrLCB2KSB7IHJlc3VsdHMucHVzaCh2KTsgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9O1xyXG4gICAgLyoqIEdldHMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB0cmVlJ3MgZGF0YSBiYXNlZCBvbiB0b0FycmF5KCkuICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9BcnJheSgpLnRvU3RyaW5nKCk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFN0b3JlcyBhIGtleS12YWx1ZSBwYWlyIG9ubHkgaWYgdGhlIGtleSBkb2Vzbid0IGFscmVhZHkgZXhpc3QgaW4gdGhlIHRyZWUuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IGtleSB3YXMgYWRkZWRcclxuICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuc2V0SWZOb3RQcmVzZW50ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXQoa2V5LCB2YWx1ZSwgZmFsc2UpO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBhaXIgd2hvc2Uga2V5IGlzIGxhcmdlciB0aGFuIHRoZSBzcGVjaWZpZWQga2V5IChvciB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm9uZSkuXHJcbiAgICAgKiBJZiBrZXkgPT09IHVuZGVmaW5lZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBsb3dlc3QgcGFpci5cclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxyXG4gICAgICogQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMsIHRvXHJcbiAgICAgKiBhdm9pZCBjcmVhdGluZyBhIG5ldyBhcnJheSBvbiBldmVyeSBpdGVyYXRpb24uXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0SGlnaGVyUGFpciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV1c2VkQXJyYXkgPSByZXVzZWRBcnJheSB8fCBbXTtcclxuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QubWluUGFpcihyZXVzZWRBcnJheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRIaWdoZXIoa2V5LCB0aGlzLl9jb21wYXJlLCBmYWxzZSwgcmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IGtleSBsYXJnZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUuXHJcbiAgICAgKiAgQWxzbywgbmV4dEhpZ2hlcktleSh1bmRlZmluZWQpIHJldHVybnMgdGhlIGxvd2VzdCBrZXkuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0SGlnaGVyS2V5ID0gZnVuY3Rpb24gKGtleSkge1xyXG4gICAgICAgIHZhciBwID0gdGhpcy5uZXh0SGlnaGVyUGFpcihrZXksIFJldXNlZEFycmF5KTtcclxuICAgICAgICByZXR1cm4gcCAmJiBwWzBdO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBhaXIgd2hvc2Uga2V5IGlzIHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSAob3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUpLlxyXG4gICAgICogIElmIGtleSA9PT0gdW5kZWZpbmVkLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGhpZ2hlc3QgcGFpci5cclxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yLlxyXG4gICAgICogQHBhcmFtIHJldXNlZEFycmF5IE9wdGlvbmFsIGFycmF5IHVzZWQgcmVwZWF0ZWRseSB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMsIHRvXHJcbiAgICAgKiAgICAgICAgYXZvaWQgY3JlYXRpbmcgYSBuZXcgYXJyYXkgZWFjaCB0aW1lIHlvdSBjYWxsIHRoaXMgbWV0aG9kLlxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUubmV4dExvd2VyUGFpciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV1c2VkQXJyYXkgPSByZXVzZWRBcnJheSB8fCBbXTtcclxuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QubWF4UGFpcihyZXVzZWRBcnJheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRMb3dlcihrZXksIHRoaXMuX2NvbXBhcmUsIGZhbHNlLCByZXVzZWRBcnJheSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIFJldHVybnMgdGhlIG5leHQga2V5IHNtYWxsZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGtleSwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbmUuXHJcbiAgICAgKiAgQWxzbywgbmV4dExvd2VyS2V5KHVuZGVmaW5lZCkgcmV0dXJucyB0aGUgaGlnaGVzdCBrZXkuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5uZXh0TG93ZXJLZXkgPSBmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgdmFyIHAgPSB0aGlzLm5leHRMb3dlclBhaXIoa2V5LCBSZXVzZWRBcnJheSk7XHJcbiAgICAgICAgcmV0dXJuIHAgJiYgcFswXTtcclxuICAgIH07XHJcbiAgICAvKiogUmV0dXJucyB0aGUga2V5LXZhbHVlIHBhaXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdXBwbGllZCBrZXkgaWYgaXQgZXhpc3RzXHJcbiAgICAgKiAgb3IgdGhlIHBhaXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXh0IGxvd2VyIHBhaXIgb3RoZXJ3aXNlLiBJZiB0aGVyZSBpcyBub1xyXG4gICAgICogIG5leHQgbG93ZXIgcGFpciwgdW5kZWZpbmVkIGlzIHJldHVybmVkLlxyXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHNlYXJjaCBmb3IuXHJcbiAgICAgKiBAcGFyYW0gcmV1c2VkQXJyYXkgT3B0aW9uYWwgYXJyYXkgdXNlZCByZXBlYXRlZGx5IHRvIHN0b3JlIGtleS12YWx1ZSBwYWlycywgdG9cclxuICAgICAqICAgICAgICBhdm9pZCBjcmVhdGluZyBhIG5ldyBhcnJheSBlYWNoIHRpbWUgeW91IGNhbGwgdGhpcyBtZXRob2QuXHJcbiAgICAgKiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdldFBhaXJPck5leHRMb3dlciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dExvd2VyKGtleSwgdGhpcy5fY29tcGFyZSwgdHJ1ZSwgcmV1c2VkQXJyYXkgfHwgW10pO1xyXG4gICAgfTtcclxuICAgIC8qKiBSZXR1cm5zIHRoZSBrZXktdmFsdWUgcGFpciBhc3NvY2lhdGVkIHdpdGggdGhlIHN1cHBsaWVkIGtleSBpZiBpdCBleGlzdHNcclxuICAgICAqICBvciB0aGUgcGFpciBhc3NvY2lhdGVkIHdpdGggdGhlIG5leHQgbG93ZXIgcGFpciBvdGhlcndpc2UuIElmIHRoZXJlIGlzIG5vXHJcbiAgICAgKiAgbmV4dCBsb3dlciBwYWlyLCB1bmRlZmluZWQgaXMgcmV0dXJuZWQuXHJcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cclxuICAgICAqIEBwYXJhbSByZXVzZWRBcnJheSBPcHRpb25hbCBhcnJheSB1c2VkIHJlcGVhdGVkbHkgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLCB0b1xyXG4gICAgICogICAgICAgIGF2b2lkIGNyZWF0aW5nIGEgbmV3IGFycmF5IGVhY2ggdGltZSB5b3UgY2FsbCB0aGlzIG1ldGhvZC5cclxuICAgICAqICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlciA9IGZ1bmN0aW9uIChrZXksIHJldXNlZEFycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dEhpZ2hlcihrZXksIHRoaXMuX2NvbXBhcmUsIHRydWUsIHJldXNlZEFycmF5IHx8IFtdKTtcclxuICAgIH07XHJcbiAgICAvKiogRWRpdHMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIGtleSBpbiB0aGUgdHJlZSwgaWYgaXQgYWxyZWFkeSBleGlzdHMuXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBrZXkgZXhpc3RlZCwgZmFsc2UgaWYgbm90LlxyXG4gICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5jaGFuZ2VJZlByZXNlbnQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRSYW5nZShrZXksIGtleSwgdHJ1ZSwgZnVuY3Rpb24gKGssIHYpIHsgcmV0dXJuICh7IHZhbHVlOiB2YWx1ZSB9KTsgfSkgIT09IDA7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBCdWlsZHMgYW4gYXJyYXkgb2YgcGFpcnMgZnJvbSB0aGUgc3BlY2lmaWVkIHJhbmdlIG9mIGtleXMsIHNvcnRlZCBieSBrZXkuXHJcbiAgICAgKiBFYWNoIHJldHVybmVkIHBhaXIgaXMgYWxzbyBhbiBhcnJheTogcGFpclswXSBpcyB0aGUga2V5LCBwYWlyWzFdIGlzIHRoZSB2YWx1ZS5cclxuICAgICAqIEBwYXJhbSBsb3cgVGhlIGZpcnN0IGtleSBpbiB0aGUgYXJyYXkgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBUaGlzIG1ldGhvZCByZXR1cm5zIHdoZW4gYSBrZXkgbGFyZ2VyIHRoYW4gdGhpcyBpcyByZWFjaGVkLlxyXG4gICAgICogQHBhcmFtIGluY2x1ZGVIaWdoIElmIHRoZSBgaGlnaGAga2V5IGlzIHByZXNlbnQsIGl0cyBwYWlyIHdpbGwgYmUgaW5jbHVkZWRcclxuICAgICAqICAgICAgICBpbiB0aGUgb3V0cHV0IGlmIGFuZCBvbmx5IGlmIHRoaXMgcGFyYW1ldGVyIGlzIHRydWUuIE5vdGU6IGlmIHRoZVxyXG4gICAgICogICAgICAgIGBsb3dgIGtleSBpcyBwcmVzZW50LCBpdCBpcyBhbHdheXMgaW5jbHVkZWQgaW4gdGhlIG91dHB1dC5cclxuICAgICAqIEBwYXJhbSBtYXhMZW5ndGggTGVuZ3RoIGxpbWl0LiBnZXRSYW5nZSB3aWxsIHN0b3Agc2Nhbm5pbmcgdGhlIHRyZWUgd2hlblxyXG4gICAgICogICAgICAgICAgICAgICAgICB0aGUgYXJyYXkgcmVhY2hlcyB0aGlzIHNpemUuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0YXRpb25hbCBjb21wbGV4aXR5OiBPKHJlc3VsdC5sZW5ndGggKyBsb2cgc2l6ZSlcclxuICAgICAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmdldFJhbmdlID0gZnVuY3Rpb24gKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIG1heExlbmd0aCkge1xyXG4gICAgICAgIGlmIChtYXhMZW5ndGggPT09IHZvaWQgMCkgeyBtYXhMZW5ndGggPSAweDNGRkZGRkY7IH1cclxuICAgICAgICB2YXIgcmVzdWx0cyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX3Jvb3QuZm9yUmFuZ2UobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgZmFsc2UsIHRoaXMsIDAsIGZ1bmN0aW9uIChrLCB2KSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChbaywgdl0pO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cy5sZW5ndGggPiBtYXhMZW5ndGggPyBCcmVhayA6IHVuZGVmaW5lZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgIH07XHJcbiAgICAvKiogQWRkcyBhbGwgcGFpcnMgZnJvbSBhIGxpc3Qgb2Yga2V5LXZhbHVlIHBhaXJzLlxyXG4gICAgICogQHBhcmFtIHBhaXJzIFBhaXJzIHRvIGFkZCB0byB0aGlzIHRyZWUuIElmIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyxcclxuICAgICAqICAgICAgICBsYXRlciBwYWlycyBjdXJyZW50bHkgb3ZlcndyaXRlIGVhcmxpZXIgb25lcyAoZS5nLiBbWzAsMV0sWzAsN11dXHJcbiAgICAgKiAgICAgICAgYXNzb2NpYXRlcyAwIHdpdGggNy4pXHJcbiAgICAgKiBAcGFyYW0gb3ZlcndyaXRlIFdoZXRoZXIgdG8gb3ZlcndyaXRlIHBhaXJzIHRoYXQgYWxyZWFkeSBleGlzdCAoaWYgZmFsc2UsXHJcbiAgICAgKiAgICAgICAgcGFpcnNbaV0gaXMgaWdub3JlZCB3aGVuIHRoZSBrZXkgcGFpcnNbaV1bMF0gYWxyZWFkeSBleGlzdHMuKVxyXG4gICAgICogQHJldHVybnMgVGhlIG51bWJlciBvZiBwYWlycyBhZGRlZCB0byB0aGUgY29sbGVjdGlvbi5cclxuICAgICAqIEBkZXNjcmlwdGlvbiBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8ocGFpcnMubGVuZ3RoICogbG9nKHNpemUgKyBwYWlycy5sZW5ndGgpKVxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuc2V0UGFpcnMgPSBmdW5jdGlvbiAocGFpcnMsIG92ZXJ3cml0ZSkge1xyXG4gICAgICAgIHZhciBhZGRlZCA9IDA7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYWlycy5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2V0KHBhaXJzW2ldWzBdLCBwYWlyc1tpXVsxXSwgb3ZlcndyaXRlKSlcclxuICAgICAgICAgICAgICAgIGFkZGVkKys7XHJcbiAgICAgICAgcmV0dXJuIGFkZGVkO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogU2NhbnMgdGhlIHNwZWNpZmllZCByYW5nZSBvZiBrZXlzLCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkga2V5LlxyXG4gICAgICogTm90ZTogdGhlIGNhbGxiYWNrIGBvbkZvdW5kYCBtdXN0IG5vdCBpbnNlcnQgb3IgcmVtb3ZlIGl0ZW1zIGluIHRoZVxyXG4gICAgICogY29sbGVjdGlvbi4gRG9pbmcgc28gbWF5IGNhdXNlIGluY29ycmVjdCBkYXRhIHRvIGJlIHNlbnQgdG8gdGhlXHJcbiAgICAgKiBjYWxsYmFjayBhZnRlcndhcmQuXHJcbiAgICAgKiBAcGFyYW0gbG93IFRoZSBmaXJzdCBrZXkgc2Nhbm5lZCB3aWxsIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBgbG93YC5cclxuICAgICAqIEBwYXJhbSBoaWdoIFNjYW5uaW5nIHN0b3BzIHdoZW4gYSBrZXkgbGFyZ2VyIHRoYW4gdGhpcyBpcyByZWFjaGVkLlxyXG4gICAgICogQHBhcmFtIGluY2x1ZGVIaWdoIElmIHRoZSBgaGlnaGAga2V5IGlzIHByZXNlbnQsIGBvbkZvdW5kYCBpcyBjYWxsZWQgZm9yXHJcbiAgICAgKiAgICAgICAgdGhhdCBmaW5hbCBwYWlyIGlmIGFuZCBvbmx5IGlmIHRoaXMgcGFyYW1ldGVyIGlzIHRydWUuXHJcbiAgICAgKiBAcGFyYW0gb25Gb3VuZCBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGZvciBlYWNoIGtleS12YWx1ZSBwYWlyLiBUaGlzXHJcbiAgICAgKiAgICAgICAgZnVuY3Rpb24gY2FuIHJldHVybiB7YnJlYWs6Un0gdG8gc3RvcCBlYXJseSB3aXRoIHJlc3VsdCBSLlxyXG4gICAgICogQHBhcmFtIGluaXRpYWxDb3VudGVyIEluaXRpYWwgdGhpcmQgYXJndW1lbnQgb2Ygb25Gb3VuZC4gVGhpcyB2YWx1ZVxyXG4gICAgICogICAgICAgIGluY3JlYXNlcyBieSBvbmUgZWFjaCB0aW1lIGBvbkZvdW5kYCBpcyBjYWxsZWQuIERlZmF1bHQ6IDBcclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdmFsdWVzIGZvdW5kLCBvciBSIGlmIHRoZSBjYWxsYmFjayByZXR1cm5lZFxyXG4gICAgICogICAgICAgIGB7YnJlYWs6Un1gIHRvIHN0b3AgZWFybHkuXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29tcHV0YXRpb25hbCBjb21wbGV4aXR5OiBPKG51bWJlciBvZiBpdGVtcyBzY2FubmVkICsgbG9nIHNpemUpXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mb3JSYW5nZSA9IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBvbkZvdW5kLCBpbml0aWFsQ291bnRlcikge1xyXG4gICAgICAgIHZhciByID0gdGhpcy5fcm9vdC5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBmYWxzZSwgdGhpcywgaW5pdGlhbENvdW50ZXIgfHwgMCwgb25Gb3VuZCk7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSBcIm51bWJlclwiID8gciA6IHIuYnJlYWs7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTY2FucyBhbmQgcG90ZW50aWFsbHkgbW9kaWZpZXMgdmFsdWVzIGZvciBhIHN1YnNlcXVlbmNlIG9mIGtleXMuXHJcbiAgICAgKiBOb3RlOiB0aGUgY2FsbGJhY2sgYG9uRm91bmRgIHNob3VsZCBpZGVhbGx5IGJlIGEgcHVyZSBmdW5jdGlvbi5cclxuICAgICAqICAgU3BlY2ZpY2FsbHksIGl0IG11c3Qgbm90IGluc2VydCBpdGVtcywgY2FsbCBjbG9uZSgpLCBvciBjaGFuZ2VcclxuICAgICAqICAgdGhlIGNvbGxlY3Rpb24gZXhjZXB0IHZpYSByZXR1cm4gdmFsdWU7IG91dC1vZi1iYW5kIGVkaXRpbmcgbWF5XHJcbiAgICAgKiAgIGNhdXNlIGFuIGV4Y2VwdGlvbiBvciBtYXkgY2F1c2UgaW5jb3JyZWN0IGRhdGEgdG8gYmUgc2VudCB0b1xyXG4gICAgICogICB0aGUgY2FsbGJhY2sgKGR1cGxpY2F0ZSBvciBtaXNzZWQgaXRlbXMpLiBJdCBtdXN0IG5vdCBjYXVzZSBhXHJcbiAgICAgKiAgIGNsb25lKCkgb2YgdGhlIGNvbGxlY3Rpb24sIG90aGVyd2lzZSB0aGUgY2xvbmUgY291bGQgYmUgbW9kaWZpZWRcclxuICAgICAqICAgYnkgY2hhbmdlcyByZXF1ZXN0ZWQgYnkgdGhlIGNhbGxiYWNrLlxyXG4gICAgICogQHBhcmFtIGxvdyBUaGUgZmlyc3Qga2V5IHNjYW5uZWQgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBTY2FubmluZyBzdG9wcyB3aGVuIGEga2V5IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVhY2hlZC5cclxuICAgICAqIEBwYXJhbSBpbmNsdWRlSGlnaCBJZiB0aGUgYGhpZ2hgIGtleSBpcyBwcmVzZW50LCBgb25Gb3VuZGAgaXMgY2FsbGVkIGZvclxyXG4gICAgICogICAgICAgIHRoYXQgZmluYWwgcGFpciBpZiBhbmQgb25seSBpZiB0aGlzIHBhcmFtZXRlciBpcyB0cnVlLlxyXG4gICAgICogQHBhcmFtIG9uRm91bmQgQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBmb3IgZWFjaCBrZXktdmFsdWUgcGFpci4gVGhpc1xyXG4gICAgICogICAgICAgIGZ1bmN0aW9uIGNhbiByZXR1cm4gYHt2YWx1ZTp2fWAgdG8gY2hhbmdlIHRoZSB2YWx1ZSBhc3NvY2lhdGVkXHJcbiAgICAgKiAgICAgICAgd2l0aCB0aGUgY3VycmVudCBrZXksIGB7ZGVsZXRlOnRydWV9YCB0byBkZWxldGUgdGhlIGN1cnJlbnQgcGFpcixcclxuICAgICAqICAgICAgICBge2JyZWFrOlJ9YCB0byBzdG9wIGVhcmx5IHdpdGggcmVzdWx0IFIsIG9yIGl0IGNhbiByZXR1cm4gbm90aGluZ1xyXG4gICAgICogICAgICAgICh1bmRlZmluZWQgb3Ige30pIHRvIGNhdXNlIG5vIGVmZmVjdCBhbmQgY29udGludWUgaXRlcmF0aW5nLlxyXG4gICAgICogICAgICAgIGB7YnJlYWs6Un1gIGNhbiBiZSBjb21iaW5lZCB3aXRoIG9uZSBvZiB0aGUgb3RoZXIgdHdvIGNvbW1hbmRzLlxyXG4gICAgICogICAgICAgIFRoZSB0aGlyZCBhcmd1bWVudCBgY291bnRlcmAgaXMgdGhlIG51bWJlciBvZiBpdGVtcyBpdGVyYXRlZFxyXG4gICAgICogICAgICAgIHByZXZpb3VzbHk7IGl0IGVxdWFscyAwIHdoZW4gYG9uRm91bmRgIGlzIGNhbGxlZCB0aGUgZmlyc3QgdGltZS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgdmFsdWVzIHNjYW5uZWQsIG9yIFIgaWYgdGhlIGNhbGxiYWNrIHJldHVybmVkXHJcbiAgICAgKiAgICAgICAgYHticmVhazpSfWAgdG8gc3RvcCBlYXJseS5cclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogICBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obnVtYmVyIG9mIGl0ZW1zIHNjYW5uZWQgKyBsb2cgc2l6ZSlcclxuICAgICAqICAgTm90ZTogaWYgdGhlIHRyZWUgaGFzIGJlZW4gY2xvbmVkIHdpdGggY2xvbmUoKSwgYW55IHNoYXJlZFxyXG4gICAgICogICBub2RlcyBhcmUgY29waWVkIGJlZm9yZSBgb25Gb3VuZGAgaXMgY2FsbGVkLiBUaGlzIHRha2VzIE8obikgdGltZVxyXG4gICAgICogICB3aGVyZSBuIGlzIHByb3BvcnRpb25hbCB0byB0aGUgYW1vdW50IG9mIHNoYXJlZCBkYXRhIHNjYW5uZWQuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5lZGl0UmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgb25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpIHtcclxuICAgICAgICB2YXIgcm9vdCA9IHRoaXMuX3Jvb3Q7XHJcbiAgICAgICAgaWYgKHJvb3QuaXNTaGFyZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSByb290ID0gcm9vdC5jbG9uZSgpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHZhciByID0gcm9vdC5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCB0cnVlLCB0aGlzLCBpbml0aWFsQ291bnRlciB8fCAwLCBvbkZvdW5kKTtcclxuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiByID09PSBcIm51bWJlclwiID8gciA6IHIuYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICB2YXIgaXNTaGFyZWQgPSB2b2lkIDA7XHJcbiAgICAgICAgICAgIHdoaWxlIChyb290LmtleXMubGVuZ3RoIDw9IDEgJiYgIXJvb3QuaXNMZWFmKSB7XHJcbiAgICAgICAgICAgICAgICBpc1NoYXJlZCB8fCAoaXNTaGFyZWQgPSByb290LmlzU2hhcmVkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jvb3QgPSByb290ID0gcm9vdC5rZXlzLmxlbmd0aCA9PT0gMCA/IEVtcHR5TGVhZiA6XHJcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5jaGlsZHJlblswXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBJZiBhbnkgYW5jZXN0b3Igb2YgdGhlIG5ldyByb290IHdhcyBzaGFyZWQsIHRoZSBuZXcgcm9vdCBtdXN0IGFsc28gYmUgc2hhcmVkXHJcbiAgICAgICAgICAgIGlmIChpc1NoYXJlZCkge1xyXG4gICAgICAgICAgICAgICAgcm9vdC5pc1NoYXJlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqIFNhbWUgYXMgYGVkaXRSYW5nZWAgZXhjZXB0IHRoYXQgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBmb3IgYWxsIHBhaXJzLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmVkaXRBbGwgPSBmdW5jdGlvbiAob25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lZGl0UmFuZ2UodGhpcy5taW5LZXkoKSwgdGhpcy5tYXhLZXkoKSwgdHJ1ZSwgb25Gb3VuZCwgaW5pdGlhbENvdW50ZXIpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBhIHJhbmdlIG9mIGtleS12YWx1ZSBwYWlycyBmcm9tIHRoZSBCKyB0cmVlLlxyXG4gICAgICogQHBhcmFtIGxvdyBUaGUgZmlyc3Qga2V5IHNjYW5uZWQgd2lsbCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYGxvd2AuXHJcbiAgICAgKiBAcGFyYW0gaGlnaCBTY2FubmluZyBzdG9wcyB3aGVuIGEga2V5IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVhY2hlZC5cclxuICAgICAqIEBwYXJhbSBpbmNsdWRlSGlnaCBTcGVjaWZpZXMgd2hldGhlciB0aGUgYGhpZ2hgIGtleSwgaWYgcHJlc2VudCwgaXMgZGVsZXRlZC5cclxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Yga2V5LXZhbHVlIHBhaXJzIHRoYXQgd2VyZSBkZWxldGVkLlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvbXB1dGF0aW9uYWwgY29tcGxleGl0eTogTyhsb2cgc2l6ZSArIG51bWJlciBvZiBpdGVtcyBkZWxldGVkKVxyXG4gICAgICovXHJcbiAgICBCVHJlZS5wcm90b3R5cGUuZGVsZXRlUmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBEZWxldGVSYW5nZSk7XHJcbiAgICB9O1xyXG4gICAgLyoqIERlbGV0ZXMgYSBzZXJpZXMgb2Yga2V5cyBmcm9tIHRoZSBjb2xsZWN0aW9uLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmRlbGV0ZUtleXMgPSBmdW5jdGlvbiAoa2V5cykge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCByID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRlbGV0ZShrZXlzW2ldKSlcclxuICAgICAgICAgICAgICAgIHIrKztcclxuICAgICAgICByZXR1cm4gcjtcclxuICAgIH07XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQlRyZWUucHJvdG90eXBlLCBcImhlaWdodFwiLCB7XHJcbiAgICAgICAgLyoqIEdldHMgdGhlIGhlaWdodCBvZiB0aGUgdHJlZTogdGhlIG51bWJlciBvZiBpbnRlcm5hbCBub2RlcyBiZXR3ZWVuIHRoZVxyXG4gICAgICAgICAqICBCVHJlZSBvYmplY3QgYW5kIGl0cyBsZWFmIG5vZGVzICh6ZXJvIGlmIHRoZXJlIGFyZSBubyBpbnRlcm5hbCBub2RlcykuICovXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fcm9vdDtcclxuICAgICAgICAgICAgdmFyIGhlaWdodCA9IC0xO1xyXG4gICAgICAgICAgICB3aGlsZSAobm9kZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0Kys7XHJcbiAgICAgICAgICAgICAgICBub2RlID0gbm9kZS5pc0xlYWYgPyB1bmRlZmluZWQgOiBub2RlLmNoaWxkcmVuWzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBoZWlnaHQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLyoqIE1ha2VzIHRoZSBvYmplY3QgcmVhZC1vbmx5IHRvIGVuc3VyZSBpdCBpcyBub3QgYWNjaWRlbnRhbGx5IG1vZGlmaWVkLlxyXG4gICAgICogIEZyZWV6aW5nIGRvZXMgbm90IGhhdmUgdG8gYmUgcGVybWFuZW50OyB1bmZyZWV6ZSgpIHJldmVyc2VzIHRoZSBlZmZlY3QuXHJcbiAgICAgKiAgVGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgcmVwbGFjaW5nIG11dGF0b3IgZnVuY3Rpb25zIHdpdGggYSBmdW5jdGlvblxyXG4gICAgICogIHRoYXQgdGhyb3dzIGFuIEVycm9yLiBDb21wYXJlZCB0byB1c2luZyBhIHByb3BlcnR5IChlLmcuIHRoaXMuaXNGcm96ZW4pXHJcbiAgICAgKiAgdGhpcyBpbXBsZW1lbnRhdGlvbiBnaXZlcyBiZXR0ZXIgcGVyZm9ybWFuY2UgaW4gbm9uLWZyb3plbiBCVHJlZXMuXHJcbiAgICAgKi9cclxuICAgIEJUcmVlLnByb3RvdHlwZS5mcmVlemUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHQgPSB0aGlzO1xyXG4gICAgICAgIC8vIE5vdGU6IGFsbCBvdGhlciBtdXRhdG9ycyB1bHRpbWF0ZWx5IGNhbGwgc2V0KCkgb3IgZWRpdFJhbmdlKCkgXHJcbiAgICAgICAgLy8gICAgICAgc28gd2UgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aG9zZSBvdGhlcnMuXHJcbiAgICAgICAgdC5jbGVhciA9IHQuc2V0ID0gdC5lZGl0UmFuZ2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dGVtcHRlZCB0byBtb2RpZnkgYSBmcm96ZW4gQlRyZWVcIik7XHJcbiAgICAgICAgfTtcclxuICAgIH07XHJcbiAgICAvKiogRW5zdXJlcyBtdXRhdGlvbnMgYXJlIGFsbG93ZWQsIHJldmVyc2luZyB0aGUgZWZmZWN0IG9mIGZyZWV6ZSgpLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLnVuZnJlZXplID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmUgXCJUaGUgb3BlcmFuZCBvZiBhICdkZWxldGUnIG9wZXJhdG9yIG11c3QgYmUgb3B0aW9uYWwuXCJcclxuICAgICAgICAvLyAgICAgICAgICAgICh3cm9uZzogZGVsZXRlIGRvZXMgbm90IGFmZmVjdCB0aGUgcHJvdG90eXBlLilcclxuICAgICAgICBkZWxldGUgdGhpcy5jbGVhcjtcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgZGVsZXRlIHRoaXMuc2V0O1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBkZWxldGUgdGhpcy5lZGl0UmFuZ2U7XHJcbiAgICB9O1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJUcmVlLnByb3RvdHlwZSwgXCJpc0Zyb3plblwiLCB7XHJcbiAgICAgICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHJlZSBhcHBlYXJzIHRvIGJlIGZyb3plbi4gKi9cclxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoJ2VkaXRSYW5nZScpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIC8qKiBTY2FucyB0aGUgdHJlZSBmb3Igc2lnbnMgb2Ygc2VyaW91cyBidWdzIChlLmcuIHRoaXMuc2l6ZSBkb2Vzbid0IG1hdGNoXHJcbiAgICAgKiAgbnVtYmVyIG9mIGVsZW1lbnRzLCBpbnRlcm5hbCBub2RlcyBub3QgY2FjaGluZyBtYXggZWxlbWVudCBwcm9wZXJseS4uLilcclxuICAgICAqICBDb21wdXRhdGlvbmFsIGNvbXBsZXhpdHk6IE8obnVtYmVyIG9mIG5vZGVzKSwgaS5lLiBPKHNpemUpLiBUaGlzIG1ldGhvZFxyXG4gICAgICogIHNraXBzIHRoZSBtb3N0IGV4cGVuc2l2ZSB0ZXN0IC0gd2hldGhlciBhbGwga2V5cyBhcmUgc29ydGVkIC0gYnV0IGl0XHJcbiAgICAgKiAgZG9lcyBjaGVjayB0aGF0IG1heEtleSgpIG9mIHRoZSBjaGlsZHJlbiBvZiBpbnRlcm5hbCBub2RlcyBhcmUgc29ydGVkLiAqL1xyXG4gICAgQlRyZWUucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHNpemUgPSB0aGlzLl9yb290LmNoZWNrVmFsaWQoMCwgdGhpcywgMCk7XHJcbiAgICAgICAgY2hlY2soc2l6ZSA9PT0gdGhpcy5zaXplLCBcInNpemUgbWlzbWF0Y2g6IGNvdW50ZWQgXCIsIHNpemUsIFwiYnV0IHN0b3JlZFwiLCB0aGlzLnNpemUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBCVHJlZTtcclxufSgpKTtcclxuZXhwb3J0cy5kZWZhdWx0ID0gQlRyZWU7XHJcbi8qKiBBIFR5cGVTY3JpcHQgaGVscGVyIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzIGFyZ3VtZW50LCB0eXBlZCBhc1xyXG4gKiAgYElTb3J0ZWRTZXQ8Sz5gIGlmIHRoZSBCVHJlZSBpbXBsZW1lbnRzIGl0LCBhcyBpdCBkb2VzIGlmIGBWIGV4dGVuZHMgdW5kZWZpbmVkYC5cclxuICogIElmIGBWYCBjYW5ub3QgYmUgYHVuZGVmaW5lZGAsIGl0IHJldHVybnMgYHVua25vd25gIGluc3RlYWQuIE9yIGF0IGxlYXN0LCB0aGF0XHJcbiAqICB3YXMgdGhlIGludGVudGlvbiwgYnV0IFR5cGVTY3JpcHQgaXMgYWN0aW5nIHdlaXJkIGFuZCBtYXkgcmV0dXJuIGBJU29ydGVkU2V0PEs+YFxyXG4gKiAgZXZlbiBpZiBgVmAgY2FuJ3QgYmUgYHVuZGVmaW5lZGAgKGRpc2N1c3Npb246IGJ0cmVlLXR5cGVzY3JpcHQgaXNzdWUgIzE0KSAqL1xyXG5mdW5jdGlvbiBhc1NldChidHJlZSkge1xyXG4gICAgcmV0dXJuIGJ0cmVlO1xyXG59XHJcbmV4cG9ydHMuYXNTZXQgPSBhc1NldDtcclxuaWYgKFN5bWJvbCAmJiBTeW1ib2wuaXRlcmF0b3IpIC8vIGl0ZXJhdG9yIGlzIGVxdWl2YWxlbnQgdG8gZW50cmllcygpXHJcbiAgICBCVHJlZS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSA9IEJUcmVlLnByb3RvdHlwZS5lbnRyaWVzO1xyXG5CVHJlZS5wcm90b3R5cGUud2hlcmUgPSBCVHJlZS5wcm90b3R5cGUuZmlsdGVyO1xyXG5CVHJlZS5wcm90b3R5cGUuc2V0UmFuZ2UgPSBCVHJlZS5wcm90b3R5cGUuc2V0UGFpcnM7XHJcbkJUcmVlLnByb3RvdHlwZS5hZGQgPSBCVHJlZS5wcm90b3R5cGUuc2V0OyAvLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIElTZXRTaW5rPEs+XHJcbmZ1bmN0aW9uIGl0ZXJhdG9yKG5leHQpIHtcclxuICAgIGlmIChuZXh0ID09PSB2b2lkIDApIHsgbmV4dCA9IChmdW5jdGlvbiAoKSB7IHJldHVybiAoeyBkb25lOiB0cnVlLCB2YWx1ZTogdW5kZWZpbmVkIH0pOyB9KTsgfVxyXG4gICAgdmFyIHJlc3VsdCA9IHsgbmV4dDogbmV4dCB9O1xyXG4gICAgaWYgKFN5bWJvbCAmJiBTeW1ib2wuaXRlcmF0b3IpXHJcbiAgICAgICAgcmVzdWx0W1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG4vKiogTGVhZiBub2RlIC8gYmFzZSBjbGFzcy4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbnZhciBCTm9kZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcclxuICAgIGZ1bmN0aW9uIEJOb2RlKGtleXMsIHZhbHVlcykge1xyXG4gICAgICAgIGlmIChrZXlzID09PSB2b2lkIDApIHsga2V5cyA9IFtdOyB9XHJcbiAgICAgICAgdGhpcy5rZXlzID0ga2V5cztcclxuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcyB8fCB1bmRlZlZhbHM7XHJcbiAgICAgICAgdGhpcy5pc1NoYXJlZCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCTm9kZS5wcm90b3R5cGUsIFwiaXNMZWFmXCIsIHtcclxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuY2hpbGRyZW4gPT09IHVuZGVmaW5lZDsgfSxcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcclxuICAgIH0pO1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBTaGFyZWQgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5tYXhLZXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5c1t0aGlzLmtleXMubGVuZ3RoIC0gMV07XHJcbiAgICB9O1xyXG4gICAgLy8gSWYga2V5IG5vdCBmb3VuZCwgcmV0dXJucyBpXmZhaWxYb3Igd2hlcmUgaSBpcyB0aGUgaW5zZXJ0aW9uIGluZGV4LlxyXG4gICAgLy8gQ2FsbGVycyB0aGF0IGRvbid0IGNhcmUgd2hldGhlciB0aGVyZSB3YXMgYSBtYXRjaCB3aWxsIHNldCBmYWlsWG9yPTAuXHJcbiAgICBCTm9kZS5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIChrZXksIGZhaWxYb3IsIGNtcCkge1xyXG4gICAgICAgIHZhciBrZXlzID0gdGhpcy5rZXlzO1xyXG4gICAgICAgIHZhciBsbyA9IDAsIGhpID0ga2V5cy5sZW5ndGgsIG1pZCA9IGhpID4+IDE7XHJcbiAgICAgICAgd2hpbGUgKGxvIDwgaGkpIHtcclxuICAgICAgICAgICAgdmFyIGMgPSBjbXAoa2V5c1ttaWRdLCBrZXkpO1xyXG4gICAgICAgICAgICBpZiAoYyA8IDApXHJcbiAgICAgICAgICAgICAgICBsbyA9IG1pZCArIDE7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGMgPiAwKSAvLyBrZXkgPCBrZXlzW21pZF1cclxuICAgICAgICAgICAgICAgIGhpID0gbWlkO1xyXG4gICAgICAgICAgICBlbHNlIGlmIChjID09PSAwKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1pZDtcclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjIGlzIE5hTiBvciBvdGhlcndpc2UgaW52YWxpZFxyXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0ga2V5KSAvLyBhdCBsZWFzdCB0aGUgc2VhcmNoIGtleSBpcyBub3QgTmFOXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWlkID0gKGxvICsgaGkpID4+IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtaWQgXiBmYWlsWG9yO1xyXG4gICAgICAgIC8vIFVucm9sbGVkIHZlcnNpb246IGJlbmNobWFya3Mgc2hvdyBzYW1lIHNwZWVkLCBub3Qgd29ydGggdXNpbmdcclxuICAgICAgICAvKnZhciBpID0gMSwgYzogbnVtYmVyID0gMCwgc3VtID0gMDtcclxuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPj0gNCkge1xyXG4gICAgICAgICAgaSA9IDM7XHJcbiAgICAgICAgICBpZiAoa2V5cy5sZW5ndGggPj0gOCkge1xyXG4gICAgICAgICAgICBpID0gNztcclxuICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID49IDE2KSB7XHJcbiAgICAgICAgICAgICAgaSA9IDE1O1xyXG4gICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+PSAzMikge1xyXG4gICAgICAgICAgICAgICAgaSA9IDMxO1xyXG4gICAgICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID49IDY0KSB7XHJcbiAgICAgICAgICAgICAgICAgIGkgPSAxMjc7XHJcbiAgICAgICAgICAgICAgICAgIGkgKz0gKGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDEpIDwgMCA/IDY0IDogLTY0O1xyXG4gICAgICAgICAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMzIgOiAtMzI7XHJcbiAgICAgICAgICAgICAgICAgIHN1bSArPSBjO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMTYgOiAtMTY7XHJcbiAgICAgICAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gOCA6IC04O1xyXG4gICAgICAgICAgICAgIHN1bSArPSBjO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGkgKz0gKGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDEpIDwgMCA/IDQgOiAtNDtcclxuICAgICAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpICs9IChjID0gaSA8IGtleXMubGVuZ3RoID8gY21wKGtleXNbaV0sIGtleSkgOiAxKSA8IDAgPyAyIDogLTI7XHJcbiAgICAgICAgICBzdW0gKz0gYztcclxuICAgICAgICB9XHJcbiAgICAgICAgaSArPSAoYyA9IGkgPCBrZXlzLmxlbmd0aCA/IGNtcChrZXlzW2ldLCBrZXkpIDogMSkgPCAwID8gMSA6IC0xO1xyXG4gICAgICAgIGMgPSBpIDwga2V5cy5sZW5ndGggPyBjbXAoa2V5c1tpXSwga2V5KSA6IDE7XHJcbiAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgaWYgKGMgPCAwKSB7XHJcbiAgICAgICAgICArK2k7XHJcbiAgICAgICAgICBjID0gaSA8IGtleXMubGVuZ3RoID8gY21wKGtleXNbaV0sIGtleSkgOiAxO1xyXG4gICAgICAgICAgc3VtICs9IGM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzdW0gIT09IHN1bSkge1xyXG4gICAgICAgICAgaWYgKGtleSA9PT0ga2V5KSAvLyBhdCBsZWFzdCB0aGUgc2VhcmNoIGtleSBpcyBub3QgTmFOXHJcbiAgICAgICAgICAgIHJldHVybiBrZXlzLmxlbmd0aCBeIGZhaWxYb3I7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJUcmVlOiBOYU4gd2FzIHVzZWQgYXMgYSBrZXlcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjID09PSAwID8gaSA6IGkgXiBmYWlsWG9yOyovXHJcbiAgICB9O1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIExlYWYgTm9kZTogbWlzYyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWluS2V5ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmtleXNbMF07XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLm1pblBhaXIgPSBmdW5jdGlvbiAocmV1c2VkQXJyYXkpIHtcclxuICAgICAgICBpZiAodGhpcy5rZXlzLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1swXTtcclxuICAgICAgICByZXVzZWRBcnJheVsxXSA9IHRoaXMudmFsdWVzWzBdO1xyXG4gICAgICAgIHJldHVybiByZXVzZWRBcnJheTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWF4UGFpciA9IGZ1bmN0aW9uIChyZXVzZWRBcnJheSkge1xyXG4gICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoID09PSAwKVxyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIHZhciBsYXN0SW5kZXggPSB0aGlzLmtleXMubGVuZ3RoIC0gMTtcclxuICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1tsYXN0SW5kZXhdO1xyXG4gICAgICAgIHJldXNlZEFycmF5WzFdID0gdGhpcy52YWx1ZXNbbGFzdEluZGV4XTtcclxuICAgICAgICByZXR1cm4gcmV1c2VkQXJyYXk7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciB2ID0gdGhpcy52YWx1ZXM7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCTm9kZSh0aGlzLmtleXMuc2xpY2UoMCksIHYgPT09IHVuZGVmVmFscyA/IHYgOiB2LnNsaWNlKDApKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ3JlZWR5Q2xvbmUgPSBmdW5jdGlvbiAoZm9yY2UpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1NoYXJlZCAmJiAhZm9yY2UgPyB0aGlzIDogdGhpcy5jbG9uZSgpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5LCBkZWZhdWx0VmFsdWUsIHRyZWUpIHtcclxuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXhPZihrZXksIC0xLCB0cmVlLl9jb21wYXJlKTtcclxuICAgICAgICByZXR1cm4gaSA8IDAgPyBkZWZhdWx0VmFsdWUgOiB0aGlzLnZhbHVlc1tpXTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgLTEsIGNvbXBhcmUpO1xyXG4gICAgICAgIHZhciBpbmRleE9yTG93ZXIgPSBpIDwgMCA/IH5pIC0gMSA6IChpbmNsdXNpdmUgPyBpIDogaSAtIDEpO1xyXG4gICAgICAgIGlmIChpbmRleE9yTG93ZXIgPj0gMCkge1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IHRoaXMua2V5c1tpbmRleE9yTG93ZXJdO1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVsxXSA9IHRoaXMudmFsdWVzW2luZGV4T3JMb3dlcl07XHJcbiAgICAgICAgICAgIHJldHVybiByZXVzZWRBcnJheTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dEhpZ2hlciA9IGZ1bmN0aW9uIChrZXksIGNvbXBhcmUsIGluY2x1c2l2ZSwgcmV1c2VkQXJyYXkpIHtcclxuICAgICAgICB2YXIgaSA9IHRoaXMuaW5kZXhPZihrZXksIC0xLCBjb21wYXJlKTtcclxuICAgICAgICB2YXIgaW5kZXhPckxvd2VyID0gaSA8IDAgPyB+aSA6IChpbmNsdXNpdmUgPyBpIDogaSArIDEpO1xyXG4gICAgICAgIHZhciBrZXlzID0gdGhpcy5rZXlzO1xyXG4gICAgICAgIGlmIChpbmRleE9yTG93ZXIgPCBrZXlzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXVzZWRBcnJheVswXSA9IGtleXNbaW5kZXhPckxvd2VyXTtcclxuICAgICAgICAgICAgcmV1c2VkQXJyYXlbMV0gPSB0aGlzLnZhbHVlc1tpbmRleE9yTG93ZXJdO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV1c2VkQXJyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoZGVwdGgsIHRyZWUsIGJhc2VJbmRleCkge1xyXG4gICAgICAgIHZhciBrTCA9IHRoaXMua2V5cy5sZW5ndGgsIHZMID0gdGhpcy52YWx1ZXMubGVuZ3RoO1xyXG4gICAgICAgIGNoZWNrKHRoaXMudmFsdWVzID09PSB1bmRlZlZhbHMgPyBrTCA8PSB2TCA6IGtMID09PSB2TCwgXCJrZXlzL3ZhbHVlcyBsZW5ndGggbWlzbWF0Y2g6IGRlcHRoXCIsIGRlcHRoLCBcIndpdGggbGVuZ3Roc1wiLCBrTCwgdkwsIFwiYW5kIGJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIC8vIE5vdGU6IHdlIGRvbid0IGNoZWNrIGZvciBcIm5vZGUgdG9vIHNtYWxsXCIgYmVjYXVzZSBzb21ldGltZXMgYSBub2RlXHJcbiAgICAgICAgLy8gY2FuIGxlZ2l0aW1hdGVseSBoYXZlIHNpemUgMS4gVGhpcyBvY2N1cnMgaWYgdGhlcmUgaXMgYSBiYXRjaCBcclxuICAgICAgICAvLyBkZWxldGlvbiwgbGVhdmluZyBhIG5vZGUgb2Ygc2l6ZSAxLCBhbmQgdGhlIHNpYmxpbmdzIGFyZSBmdWxsIHNvXHJcbiAgICAgICAgLy8gaXQgY2FuJ3QgYmUgbWVyZ2VkIHdpdGggYWRqYWNlbnQgbm9kZXMuIEhvd2V2ZXIsIHRoZSBwYXJlbnQgd2lsbFxyXG4gICAgICAgIC8vIHZlcmlmeSB0aGF0IHRoZSBhdmVyYWdlIG5vZGUgc2l6ZSBpcyBhdCBsZWFzdCBoYWxmIG9mIHRoZSBtYXhpbXVtLlxyXG4gICAgICAgIGNoZWNrKGRlcHRoID09IDAgfHwga0wgPiAwLCBcImVtcHR5IGxlYWYgYXQgZGVwdGhcIiwgZGVwdGgsIFwiYW5kIGJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiBrTDtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTGVhZiBOb2RlOiBzZXQgJiBub2RlIHNwbGl0dGluZyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSwgb3ZlcndyaXRlLCB0cmVlKSB7XHJcbiAgICAgICAgdmFyIGkgPSB0aGlzLmluZGV4T2Yoa2V5LCAtMSwgdHJlZS5fY29tcGFyZSk7XHJcbiAgICAgICAgaWYgKGkgPCAwKSB7XHJcbiAgICAgICAgICAgIC8vIGtleSBkb2VzIG5vdCBleGlzdCB5ZXRcclxuICAgICAgICAgICAgaSA9IH5pO1xyXG4gICAgICAgICAgICB0cmVlLl9zaXplKys7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoIDwgdHJlZS5fbWF4Tm9kZVNpemUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmluc2VydEluTGVhZihpLCBrZXksIHZhbHVlLCB0cmVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgbGVhZiBub2RlIGlzIGZ1bGwgYW5kIG11c3Qgc3BsaXRcclxuICAgICAgICAgICAgICAgIHZhciBuZXdSaWdodFNpYmxpbmcgPSB0aGlzLnNwbGl0T2ZmUmlnaHRTaWRlKCksIHRhcmdldCA9IHRoaXM7XHJcbiAgICAgICAgICAgICAgICBpZiAoaSA+IHRoaXMua2V5cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBpIC09IHRoaXMua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gbmV3UmlnaHRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lmluc2VydEluTGVhZihpLCBrZXksIHZhbHVlLCB0cmVlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXdSaWdodFNpYmxpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEtleSBhbHJlYWR5IGV4aXN0c1xyXG4gICAgICAgICAgICBpZiAob3ZlcndyaXRlICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWlmeVZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgLy8gdXN1YWxseSB0aGlzIGlzIGEgbm8tb3AsIGJ1dCBzb21lIHVzZXJzIG1heSB3aXNoIHRvIGVkaXQgdGhlIGtleVxyXG4gICAgICAgICAgICAgICAgdGhpcy5rZXlzW2ldID0ga2V5O1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5yZWlmeVZhbHVlcyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMgPT09IHVuZGVmVmFscylcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzO1xyXG4gICAgfTtcclxuICAgIEJOb2RlLnByb3RvdHlwZS5pbnNlcnRJbkxlYWYgPSBmdW5jdGlvbiAoaSwga2V5LCB2YWx1ZSwgdHJlZSkge1xyXG4gICAgICAgIHRoaXMua2V5cy5zcGxpY2UoaSwgMCwga2V5KTtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMgPT09IHVuZGVmVmFscykge1xyXG4gICAgICAgICAgICB3aGlsZSAodW5kZWZWYWxzLmxlbmd0aCA8IHRyZWUuX21heE5vZGVTaXplKVxyXG4gICAgICAgICAgICAgICAgdW5kZWZWYWxzLnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB1bmRlZlZhbHMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCAtIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVzLnNwbGljZShpLCAwLCB2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgQk5vZGUucHJvdG90eXBlLnRha2VGcm9tUmlnaHQgPSBmdW5jdGlvbiAocmhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdmFyIHYgPSB0aGlzLnZhbHVlcztcclxuICAgICAgICBpZiAocmhzLnZhbHVlcyA9PT0gdW5kZWZWYWxzKSB7XHJcbiAgICAgICAgICAgIGlmICh2ICE9PSB1bmRlZlZhbHMpXHJcbiAgICAgICAgICAgICAgICB2LnB1c2godW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHYgPSB0aGlzLnJlaWZ5VmFsdWVzKCk7XHJcbiAgICAgICAgICAgIHYucHVzaChyaHMudmFsdWVzLnNoaWZ0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmtleXMucHVzaChyaHMua2V5cy5zaGlmdCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUudGFrZUZyb21MZWZ0ID0gZnVuY3Rpb24gKGxocykge1xyXG4gICAgICAgIC8vIFJlbWluZGVyOiBwYXJlbnQgbm9kZSBtdXN0IHVwZGF0ZSBpdHMgY29weSBvZiBrZXkgZm9yIHRoaXMgbm9kZVxyXG4gICAgICAgIC8vIGFzc2VydDogbmVpdGhlciBub2RlIGlzIHNoYXJlZFxyXG4gICAgICAgIC8vIGFzc2VydCByaHMua2V5cy5sZW5ndGggPiAobWF4Tm9kZVNpemUvMiAmJiB0aGlzLmtleXMubGVuZ3RoPG1heE5vZGVTaXplKVxyXG4gICAgICAgIHZhciB2ID0gdGhpcy52YWx1ZXM7XHJcbiAgICAgICAgaWYgKGxocy52YWx1ZXMgPT09IHVuZGVmVmFscykge1xyXG4gICAgICAgICAgICBpZiAodiAhPT0gdW5kZWZWYWxzKVxyXG4gICAgICAgICAgICAgICAgdi51bnNoaWZ0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB2ID0gdGhpcy5yZWlmeVZhbHVlcygpO1xyXG4gICAgICAgICAgICB2LnVuc2hpZnQobGhzLnZhbHVlcy5wb3AoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMua2V5cy51bnNoaWZ0KGxocy5rZXlzLnBvcCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZS5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgdmFyIGhhbGYgPSB0aGlzLmtleXMubGVuZ3RoID4+IDEsIGtleXMgPSB0aGlzLmtleXMuc3BsaWNlKGhhbGYpO1xyXG4gICAgICAgIHZhciB2YWx1ZXMgPSB0aGlzLnZhbHVlcyA9PT0gdW5kZWZWYWxzID8gdW5kZWZWYWxzIDogdGhpcy52YWx1ZXMuc3BsaWNlKGhhbGYpO1xyXG4gICAgICAgIHJldHVybiBuZXcgQk5vZGUoa2V5cywgdmFsdWVzKTtcclxuICAgIH07XHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTGVhZiBOb2RlOiBzY2FubmluZyAmIGRlbGV0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIEJOb2RlLnByb3RvdHlwZS5mb3JSYW5nZSA9IGZ1bmN0aW9uIChsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBlZGl0TW9kZSwgdHJlZSwgY291bnQsIG9uRm91bmQpIHtcclxuICAgICAgICB2YXIgY21wID0gdHJlZS5fY29tcGFyZTtcclxuICAgICAgICB2YXIgaUxvdywgaUhpZ2g7XHJcbiAgICAgICAgaWYgKGhpZ2ggPT09IGxvdykge1xyXG4gICAgICAgICAgICBpZiAoIWluY2x1ZGVIaWdoKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgICAgICAgICBpSGlnaCA9IChpTG93ID0gdGhpcy5pbmRleE9mKGxvdywgLTEsIGNtcCkpICsgMTtcclxuICAgICAgICAgICAgaWYgKGlMb3cgPCAwKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaUxvdyA9IHRoaXMuaW5kZXhPZihsb3csIDAsIGNtcCk7XHJcbiAgICAgICAgICAgIGlIaWdoID0gdGhpcy5pbmRleE9mKGhpZ2gsIC0xLCBjbXApO1xyXG4gICAgICAgICAgICBpZiAoaUhpZ2ggPCAwKVxyXG4gICAgICAgICAgICAgICAgaUhpZ2ggPSB+aUhpZ2g7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGluY2x1ZGVIaWdoID09PSB0cnVlKVxyXG4gICAgICAgICAgICAgICAgaUhpZ2grKztcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXMsIHZhbHVlcyA9IHRoaXMudmFsdWVzO1xyXG4gICAgICAgIGlmIChvbkZvdW5kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IGlMb3c7IGkgPCBpSGlnaDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvbkZvdW5kKGtleSwgdmFsdWVzW2ldLCBjb3VudCsrKTtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlZGl0TW9kZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBrZXlzW2ldIHx8IHRoaXMuaXNTaGFyZWQgPT09IHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJCVHJlZSBpbGxlZ2FsbHkgY2hhbmdlZCBvciBjbG9uZWQgaW4gZWRpdFJhbmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmRlbGV0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlcyAhPT0gdW5kZWZWYWxzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWUuX3NpemUtLTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGktLTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlIaWdoLS07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzdWx0Lmhhc093blByb3BlcnR5KCd2YWx1ZScpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXNbaV0gPSByZXN1bHQudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5icmVhayAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgY291bnQgKz0gaUhpZ2ggLSBpTG93O1xyXG4gICAgICAgIHJldHVybiBjb3VudDtcclxuICAgIH07XHJcbiAgICAvKiogQWRkcyBlbnRpcmUgY29udGVudHMgb2YgcmlnaHQtaGFuZCBzaWJsaW5nIChyaHMgaXMgbGVmdCB1bmNoYW5nZWQpICovXHJcbiAgICBCTm9kZS5wcm90b3R5cGUubWVyZ2VTaWJsaW5nID0gZnVuY3Rpb24gKHJocywgXykge1xyXG4gICAgICAgIHRoaXMua2V5cy5wdXNoLmFwcGx5KHRoaXMua2V5cywgcmhzLmtleXMpO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlcyA9PT0gdW5kZWZWYWxzKSB7XHJcbiAgICAgICAgICAgIGlmIChyaHMudmFsdWVzID09PSB1bmRlZlZhbHMpXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuc2xpY2UoMCwgdGhpcy5rZXlzLmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsdWVzLnB1c2guYXBwbHkodGhpcy52YWx1ZXMsIHJocy5yZWlmeVZhbHVlcygpKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gQk5vZGU7XHJcbn0oKSk7XHJcbi8qKiBJbnRlcm5hbCBub2RlIChub24tbGVhZiBub2RlKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxudmFyIEJOb2RlSW50ZXJuYWwgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XHJcbiAgICBfX2V4dGVuZHMoQk5vZGVJbnRlcm5hbCwgX3N1cGVyKTtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkb2VzIG5vdCBtYXJrIGBjaGlsZHJlbmAgYXMgc2hhcmVkLCBzbyBpdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlclxyXG4gICAgICogdG8gZW5zdXJlIGNoaWxkcmVuIGFyZSBlaXRoZXIgbWFya2VkIHNoYXJlZCwgb3IgYXJlbid0IGluY2x1ZGVkIGluIGFub3RoZXIgdHJlZS5cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gQk5vZGVJbnRlcm5hbChjaGlsZHJlbiwga2V5cykge1xyXG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgaWYgKCFrZXlzKSB7XHJcbiAgICAgICAgICAgIGtleXMgPSBbXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgICAgIGtleXNbaV0gPSBjaGlsZHJlbltpXS5tYXhLZXkoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBrZXlzKSB8fCB0aGlzO1xyXG4gICAgICAgIF90aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XHJcbiAgICAgICAgcmV0dXJuIF90aGlzO1xyXG4gICAgfVxyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5zbGljZSgwKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICBjaGlsZHJlbltpXS5pc1NoYXJlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBCTm9kZUludGVybmFsKGNoaWxkcmVuLCB0aGlzLmtleXMuc2xpY2UoMCkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmdyZWVkeUNsb25lID0gZnVuY3Rpb24gKGZvcmNlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTaGFyZWQgJiYgIWZvcmNlKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcclxuICAgICAgICB2YXIgbnUgPSBuZXcgQk5vZGVJbnRlcm5hbCh0aGlzLmNoaWxkcmVuLnNsaWNlKDApLCB0aGlzLmtleXMuc2xpY2UoMCkpO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnUuY2hpbGRyZW4ubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIG51LmNoaWxkcmVuW2ldID0gbnUuY2hpbGRyZW5baV0uZ3JlZWR5Q2xvbmUoZm9yY2UpO1xyXG4gICAgICAgIHJldHVybiBudTtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5taW5LZXkgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5bMF0ubWluS2V5KCk7XHJcbiAgICB9O1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUubWluUGFpciA9IGZ1bmN0aW9uIChyZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuWzBdLm1pblBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLm1heFBhaXIgPSBmdW5jdGlvbiAocmV1c2VkQXJyYXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aCAtIDFdLm1heFBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlZSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgdHJlZS5fY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICByZXR1cm4gaSA8IGNoaWxkcmVuLmxlbmd0aCA/IGNoaWxkcmVuW2ldLmdldChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlZSkgOiB1bmRlZmluZWQ7XHJcbiAgICB9O1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICBpZiAoaSA+PSBjaGlsZHJlbi5sZW5ndGgpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heFBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBjaGlsZHJlbltpXS5nZXRQYWlyT3JOZXh0TG93ZXIoa2V5LCBjb21wYXJlLCBpbmNsdXNpdmUsIHJldXNlZEFycmF5KTtcclxuICAgICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQgJiYgaSA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuW2kgLSAxXS5tYXhQYWlyKHJldXNlZEFycmF5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0SGlnaGVyID0gZnVuY3Rpb24gKGtleSwgY29tcGFyZSwgaW5jbHVzaXZlLCByZXVzZWRBcnJheSkge1xyXG4gICAgICAgIHZhciBpID0gdGhpcy5pbmRleE9mKGtleSwgMCwgY29tcGFyZSksIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbiwgbGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoO1xyXG4gICAgICAgIGlmIChpID49IGxlbmd0aClcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gY2hpbGRyZW5baV0uZ2V0UGFpck9yTmV4dEhpZ2hlcihrZXksIGNvbXBhcmUsIGluY2x1c2l2ZSwgcmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCAmJiBpIDwgbGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5baSArIDFdLm1pblBhaXIocmV1c2VkQXJyYXkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLmNoZWNrVmFsaWQgPSBmdW5jdGlvbiAoZGVwdGgsIHRyZWUsIGJhc2VJbmRleCkge1xyXG4gICAgICAgIHZhciBrTCA9IHRoaXMua2V5cy5sZW5ndGgsIGNMID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XHJcbiAgICAgICAgY2hlY2soa0wgPT09IGNMLCBcImtleXMvY2hpbGRyZW4gbGVuZ3RoIG1pc21hdGNoOiBkZXB0aFwiLCBkZXB0aCwgXCJsZW5ndGhzXCIsIGtMLCBjTCwgXCJiYXNlSW5kZXhcIiwgYmFzZUluZGV4KTtcclxuICAgICAgICBjaGVjayhrTCA+IDEgfHwgZGVwdGggPiAwLCBcImludGVybmFsIG5vZGUgaGFzIGxlbmd0aFwiLCBrTCwgXCJhdCBkZXB0aFwiLCBkZXB0aCwgXCJiYXNlSW5kZXhcIiwgYmFzZUluZGV4KTtcclxuICAgICAgICB2YXIgc2l6ZSA9IDAsIGMgPSB0aGlzLmNoaWxkcmVuLCBrID0gdGhpcy5rZXlzLCBjaGlsZFNpemUgPSAwO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY0w7IGkrKykge1xyXG4gICAgICAgICAgICBzaXplICs9IGNbaV0uY2hlY2tWYWxpZChkZXB0aCArIDEsIHRyZWUsIGJhc2VJbmRleCArIHNpemUpO1xyXG4gICAgICAgICAgICBjaGlsZFNpemUgKz0gY1tpXS5rZXlzLmxlbmd0aDtcclxuICAgICAgICAgICAgY2hlY2soc2l6ZSA+PSBjaGlsZFNpemUsIFwid3RmXCIsIGJhc2VJbmRleCk7IC8vIG5vIHdheSB0aGlzIHdpbGwgZXZlciBmYWlsXHJcbiAgICAgICAgICAgIGNoZWNrKGkgPT09IDAgfHwgY1tpIC0gMV0uY29uc3RydWN0b3IgPT09IGNbaV0uY29uc3RydWN0b3IsIFwidHlwZSBtaXNtYXRjaCwgYmFzZUluZGV4OlwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoY1tpXS5tYXhLZXkoKSAhPSBrW2ldKVxyXG4gICAgICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwia2V5c1tcIiwgaSwgXCJdID1cIiwga1tpXSwgXCJpcyB3cm9uZywgc2hvdWxkIGJlIFwiLCBjW2ldLm1heEtleSgpLCBcImF0IGRlcHRoXCIsIGRlcHRoLCBcImJhc2VJbmRleFwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgICAgICBpZiAoIShpID09PSAwIHx8IHRyZWUuX2NvbXBhcmUoa1tpIC0gMV0sIGtbaV0pIDwgMCkpXHJcbiAgICAgICAgICAgICAgICBjaGVjayhmYWxzZSwgXCJzb3J0IHZpb2xhdGlvbiBhdCBkZXB0aFwiLCBkZXB0aCwgXCJpbmRleFwiLCBpLCBcImtleXNcIiwga1tpIC0gMV0sIGtbaV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAyMDIwLzA4OiBCVHJlZSBkb2Vzbid0IGFsd2F5cyBhdm9pZCBncm9zc2x5IHVuZGVyc2l6ZWQgbm9kZXMsXHJcbiAgICAgICAgLy8gYnV0IEFGQUlLIHN1Y2ggbm9kZXMgYXJlIHByZXR0eSBoYXJtbGVzcywgc28gYWNjZXB0IHRoZW0uXHJcbiAgICAgICAgdmFyIHRvb2ZldyA9IGNoaWxkU2l6ZSA9PT0gMDsgLy8gY2hpbGRTaXplIDwgKHRyZWUubWF4Tm9kZVNpemUgPj4gMSkqY0w7XHJcbiAgICAgICAgaWYgKHRvb2ZldyB8fCBjaGlsZFNpemUgPiB0cmVlLm1heE5vZGVTaXplICogY0wpXHJcbiAgICAgICAgICAgIGNoZWNrKGZhbHNlLCB0b29mZXcgPyBcInRvbyBmZXdcIiA6IFwidG9vIG1hbnlcIiwgXCJjaGlsZHJlbiAoXCIsIGNoaWxkU2l6ZSwgc2l6ZSwgXCIpIGF0IGRlcHRoXCIsIGRlcHRoLCBcIm1heE5vZGVTaXplOlwiLCB0cmVlLm1heE5vZGVTaXplLCBcImNoaWxkcmVuLmxlbmd0aDpcIiwgY0wsIFwiYmFzZUluZGV4OlwiLCBiYXNlSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiBzaXplO1xyXG4gICAgfTtcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBJbnRlcm5hbCBOb2RlOiBzZXQgJiBub2RlIHNwbGl0dGluZyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKGtleSwgdmFsdWUsIG92ZXJ3cml0ZSwgdHJlZSkge1xyXG4gICAgICAgIHZhciBjID0gdGhpcy5jaGlsZHJlbiwgbWF4ID0gdHJlZS5fbWF4Tm9kZVNpemUsIGNtcCA9IHRyZWUuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIGkgPSBNYXRoLm1pbih0aGlzLmluZGV4T2Yoa2V5LCAwLCBjbXApLCBjLmxlbmd0aCAtIDEpLCBjaGlsZCA9IGNbaV07XHJcbiAgICAgICAgaWYgKGNoaWxkLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICBjW2ldID0gY2hpbGQgPSBjaGlsZC5jbG9uZSgpO1xyXG4gICAgICAgIGlmIChjaGlsZC5rZXlzLmxlbmd0aCA+PSBtYXgpIHtcclxuICAgICAgICAgICAgLy8gY2hpbGQgaXMgZnVsbDsgaW5zZXJ0aW5nIGFueXRoaW5nIGVsc2Ugd2lsbCBjYXVzZSBhIHNwbGl0LlxyXG4gICAgICAgICAgICAvLyBTaGlmdGluZyBhbiBpdGVtIHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpYmxpbmcgbWF5IGF2b2lkIGEgc3BsaXQuXHJcbiAgICAgICAgICAgIC8vIFdlIGNhbiBkbyBhIHNoaWZ0IGlmIHRoZSBhZGphY2VudCBub2RlIGlzIG5vdCBmdWxsIGFuZCBpZiB0aGVcclxuICAgICAgICAgICAgLy8gY3VycmVudCBrZXkgY2FuIHN0aWxsIGJlIHBsYWNlZCBpbiB0aGUgc2FtZSBub2RlIGFmdGVyIHRoZSBzaGlmdC5cclxuICAgICAgICAgICAgdmFyIG90aGVyO1xyXG4gICAgICAgICAgICBpZiAoaSA+IDAgJiYgKG90aGVyID0gY1tpIC0gMV0pLmtleXMubGVuZ3RoIDwgbWF4ICYmIGNtcChjaGlsZC5rZXlzWzBdLCBrZXkpIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG90aGVyLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNbaSAtIDFdID0gb3RoZXIgPSBvdGhlci5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgb3RoZXIudGFrZUZyb21SaWdodChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmtleXNbaSAtIDFdID0gb3RoZXIubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoKG90aGVyID0gY1tpICsgMV0pICE9PSB1bmRlZmluZWQgJiYgb3RoZXIua2V5cy5sZW5ndGggPCBtYXggJiYgY21wKGNoaWxkLm1heEtleSgpLCBrZXkpIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG90aGVyLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNbaSArIDFdID0gb3RoZXIgPSBvdGhlci5jbG9uZSgpO1xyXG4gICAgICAgICAgICAgICAgb3RoZXIudGFrZUZyb21MZWZ0KGNoaWxkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMua2V5c1tpXSA9IGNbaV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNoaWxkLnNldChrZXksIHZhbHVlLCBvdmVyd3JpdGUsIHRyZWUpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5rZXlzW2ldID0gY2hpbGQubWF4S2V5KCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gVGhlIGNoaWxkIGhhcyBzcGxpdCBhbmQgYHJlc3VsdGAgaXMgYSBuZXcgcmlnaHQgY2hpbGQuLi4gZG9lcyBpdCBmaXQ/XHJcbiAgICAgICAgaWYgKHRoaXMua2V5cy5sZW5ndGggPCBtYXgpIHsgLy8geWVzXHJcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0KGkgKyAxLCByZXN1bHQpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7IC8vIG5vLCB3ZSBtdXN0IHNwbGl0IGFsc29cclxuICAgICAgICAgICAgdmFyIG5ld1JpZ2h0U2libGluZyA9IHRoaXMuc3BsaXRPZmZSaWdodFNpZGUoKSwgdGFyZ2V0ID0gdGhpcztcclxuICAgICAgICAgICAgaWYgKGNtcChyZXN1bHQubWF4S2V5KCksIHRoaXMubWF4S2V5KCkpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0ID0gbmV3UmlnaHRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgaSAtPSB0aGlzLmtleXMubGVuZ3RoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRhcmdldC5pbnNlcnQoaSArIDEsIHJlc3VsdCk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXdSaWdodFNpYmxpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogSW5zZXJ0cyBgY2hpbGRgIGF0IGluZGV4IGBpYC5cclxuICAgICAqIFRoaXMgZG9lcyBub3QgbWFyayBgY2hpbGRgIGFzIHNoYXJlZCwgc28gaXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXJcclxuICAgICAqIHRvIGVuc3VyZSB0aGF0IGVpdGhlciBjaGlsZCBpcyBtYXJrZWQgc2hhcmVkLCBvciBpdCBpcyBub3QgaW5jbHVkZWQgaW4gYW5vdGhlciB0cmVlLlxyXG4gICAgICovXHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS5pbnNlcnQgPSBmdW5jdGlvbiAoaSwgY2hpbGQpIHtcclxuICAgICAgICB0aGlzLmNoaWxkcmVuLnNwbGljZShpLCAwLCBjaGlsZCk7XHJcbiAgICAgICAgdGhpcy5rZXlzLnNwbGljZShpLCAwLCBjaGlsZC5tYXhLZXkoKSk7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTcGxpdCB0aGlzIG5vZGUuXHJcbiAgICAgKiBNb2RpZmllcyB0aGlzIHRvIHJlbW92ZSB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIGl0ZW1zLCByZXR1cm5pbmcgYSBzZXBhcmF0ZSBub2RlIGNvbnRhaW5pbmcgdGhlbS5cclxuICAgICAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gYXNzZXJ0ICF0aGlzLmlzU2hhcmVkO1xyXG4gICAgICAgIHZhciBoYWxmID0gdGhpcy5jaGlsZHJlbi5sZW5ndGggPj4gMTtcclxuICAgICAgICByZXR1cm4gbmV3IEJOb2RlSW50ZXJuYWwodGhpcy5jaGlsZHJlbi5zcGxpY2UoaGFsZiksIHRoaXMua2V5cy5zcGxpY2UoaGFsZikpO1xyXG4gICAgfTtcclxuICAgIEJOb2RlSW50ZXJuYWwucHJvdG90eXBlLnRha2VGcm9tUmlnaHQgPSBmdW5jdGlvbiAocmhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdGhpcy5rZXlzLnB1c2gocmhzLmtleXMuc2hpZnQoKSk7XHJcbiAgICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKHJocy5jaGlsZHJlbi5zaGlmdCgpKTtcclxuICAgIH07XHJcbiAgICBCTm9kZUludGVybmFsLnByb3RvdHlwZS50YWtlRnJvbUxlZnQgPSBmdW5jdGlvbiAobGhzKSB7XHJcbiAgICAgICAgLy8gUmVtaW5kZXI6IHBhcmVudCBub2RlIG11c3QgdXBkYXRlIGl0cyBjb3B5IG9mIGtleSBmb3IgdGhpcyBub2RlXHJcbiAgICAgICAgLy8gYXNzZXJ0OiBuZWl0aGVyIG5vZGUgaXMgc2hhcmVkXHJcbiAgICAgICAgLy8gYXNzZXJ0IHJocy5rZXlzLmxlbmd0aCA+IChtYXhOb2RlU2l6ZS8yICYmIHRoaXMua2V5cy5sZW5ndGg8bWF4Tm9kZVNpemUpXHJcbiAgICAgICAgdGhpcy5rZXlzLnVuc2hpZnQobGhzLmtleXMucG9wKCkpO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4udW5zaGlmdChsaHMuY2hpbGRyZW4ucG9wKCkpO1xyXG4gICAgfTtcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBJbnRlcm5hbCBOb2RlOiBzY2FubmluZyAmIGRlbGV0aW9ucyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTm90ZTogYGNvdW50YCBpcyB0aGUgbmV4dCB2YWx1ZSBvZiB0aGUgdGhpcmQgYXJndW1lbnQgdG8gYG9uRm91bmRgLiBcclxuICAgIC8vICAgICAgIEEgbGVhZiBub2RlJ3MgYGZvclJhbmdlYCBmdW5jdGlvbiByZXR1cm5zIGEgbmV3IHZhbHVlIGZvciB0aGlzIGNvdW50ZXIsXHJcbiAgICAvLyAgICAgICB1bmxlc3MgdGhlIG9wZXJhdGlvbiBpcyB0byBzdG9wIGVhcmx5LlxyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUuZm9yUmFuZ2UgPSBmdW5jdGlvbiAobG93LCBoaWdoLCBpbmNsdWRlSGlnaCwgZWRpdE1vZGUsIHRyZWUsIGNvdW50LCBvbkZvdW5kKSB7XHJcbiAgICAgICAgdmFyIGNtcCA9IHRyZWUuX2NvbXBhcmU7XHJcbiAgICAgICAgdmFyIGtleXMgPSB0aGlzLmtleXMsIGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcclxuICAgICAgICB2YXIgaUxvdyA9IHRoaXMuaW5kZXhPZihsb3csIDAsIGNtcCksIGkgPSBpTG93O1xyXG4gICAgICAgIHZhciBpSGlnaCA9IE1hdGgubWluKGhpZ2ggPT09IGxvdyA/IGlMb3cgOiB0aGlzLmluZGV4T2YoaGlnaCwgMCwgY21wKSwga2V5cy5sZW5ndGggLSAxKTtcclxuICAgICAgICBpZiAoIWVkaXRNb2RlKSB7XHJcbiAgICAgICAgICAgIC8vIFNpbXBsZSBjYXNlXHJcbiAgICAgICAgICAgIGZvciAoOyBpIDw9IGlIaWdoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBjaGlsZHJlbltpXS5mb3JSYW5nZShsb3csIGhpZ2gsIGluY2x1ZGVIaWdoLCBlZGl0TW9kZSwgdHJlZSwgY291bnQsIG9uRm91bmQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICBjb3VudCA9IHJlc3VsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpIDw9IGlIaWdoKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKDsgaSA8PSBpSGlnaDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ldLmlzU2hhcmVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltpXSA9IGNoaWxkcmVuW2ldLmNsb25lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGNoaWxkcmVuW2ldLmZvclJhbmdlKGxvdywgaGlnaCwgaW5jbHVkZUhpZ2gsIGVkaXRNb2RlLCB0cmVlLCBjb3VudCwgb25Gb3VuZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTm90ZTogaWYgY2hpbGRyZW5baV0gaXMgZW1wdHkgdGhlbiBrZXlzW2ldPXVuZGVmaW5lZC5cclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICBUaGlzIGlzIGFuIGludmFsaWQgc3RhdGUsIGJ1dCBpdCBpcyBmaXhlZCBiZWxvdy5cclxuICAgICAgICAgICAgICAgICAgICBrZXlzW2ldID0gY2hpbGRyZW5baV0ubWF4S2V5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvdW50ID0gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICAgICAgLy8gRGVsZXRpb25zIG1heSBoYXZlIG9jY3VycmVkLCBzbyBsb29rIGZvciBvcHBvcnR1bml0aWVzIHRvIG1lcmdlIG5vZGVzLlxyXG4gICAgICAgICAgICAgICAgdmFyIGhhbGYgPSB0cmVlLl9tYXhOb2RlU2l6ZSA+PiAxO1xyXG4gICAgICAgICAgICAgICAgaWYgKGlMb3cgPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgIGlMb3ctLTtcclxuICAgICAgICAgICAgICAgIGZvciAoaSA9IGlIaWdoOyBpID49IGlMb3c7IGktLSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltpXS5rZXlzLmxlbmd0aCA8PSBoYWxmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbltpXS5rZXlzLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cnlNZXJnZShpLCB0cmVlLl9tYXhOb2RlU2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IC8vIGNoaWxkIGlzIGVtcHR5ISBkZWxldGUgaXQhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggIT09IDAgJiYgY2hpbGRyZW5bMF0ua2V5cy5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2soZmFsc2UsIFwiZW1wdGluZXNzIGJ1Z1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY291bnQ7XHJcbiAgICB9O1xyXG4gICAgLyoqIE1lcmdlcyBjaGlsZCBpIHdpdGggY2hpbGQgaSsxIGlmIHRoZWlyIGNvbWJpbmVkIHNpemUgaXMgbm90IHRvbyBsYXJnZSAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUudHJ5TWVyZ2UgPSBmdW5jdGlvbiAoaSwgbWF4U2l6ZSkge1xyXG4gICAgICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW47XHJcbiAgICAgICAgaWYgKGkgPj0gMCAmJiBpICsgMSA8IGNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGRyZW5baV0ua2V5cy5sZW5ndGggKyBjaGlsZHJlbltpICsgMV0ua2V5cy5sZW5ndGggPD0gbWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2ldLmlzU2hhcmVkKSAvLyBjbG9uZWQgYWxyZWFkeSBVTkxFU1MgaSBpcyBvdXRzaWRlIHNjYW4gcmFuZ2VcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltpXSA9IGNoaWxkcmVuW2ldLmNsb25lKCk7XHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbltpXS5tZXJnZVNpYmxpbmcoY2hpbGRyZW5baSArIDFdLCBtYXhTaXplKTtcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnNwbGljZShpICsgMSwgMSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmtleXMuc3BsaWNlKGkgKyAxLCAxKTtcclxuICAgICAgICAgICAgICAgIHRoaXMua2V5c1tpXSA9IGNoaWxkcmVuW2ldLm1heEtleSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogTW92ZSBjaGlsZHJlbiBmcm9tIGByaHNgIGludG8gdGhpcy5cclxuICAgICAqIGByaHNgIG11c3QgYmUgcGFydCBvZiB0aGlzIHRyZWUsIGFuZCBiZSByZW1vdmVkIGZyb20gaXQgYWZ0ZXIgdGhpcyBjYWxsXHJcbiAgICAgKiAob3RoZXJ3aXNlIGlzU2hhcmVkIGZvciBpdHMgY2hpbGRyZW4gY291bGQgYmUgaW5jb3JyZWN0KS5cclxuICAgICAqL1xyXG4gICAgQk5vZGVJbnRlcm5hbC5wcm90b3R5cGUubWVyZ2VTaWJsaW5nID0gZnVuY3Rpb24gKHJocywgbWF4Tm9kZVNpemUpIHtcclxuICAgICAgICAvLyBhc3NlcnQgIXRoaXMuaXNTaGFyZWQ7XHJcbiAgICAgICAgdmFyIG9sZExlbmd0aCA9IHRoaXMua2V5cy5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5rZXlzLnB1c2guYXBwbHkodGhpcy5rZXlzLCByaHMua2V5cyk7XHJcbiAgICAgICAgdmFyIHJoc0NoaWxkcmVuID0gcmhzLmNoaWxkcmVuO1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaC5hcHBseSh0aGlzLmNoaWxkcmVuLCByaHNDaGlsZHJlbik7XHJcbiAgICAgICAgaWYgKHJocy5pc1NoYXJlZCAmJiAhdGhpcy5pc1NoYXJlZCkge1xyXG4gICAgICAgICAgICAvLyBBbGwgY2hpbGRyZW4gb2YgYSBzaGFyZWQgbm9kZSBhcmUgaW1wbGljaXRseSBzaGFyZWQsIGFuZCBzaW5jZSB0aGVpciBuZXdcclxuICAgICAgICAgICAgLy8gcGFyZW50IGlzIG5vdCBzaGFyZWQsIHRoZXkgbXVzdCBub3cgYmUgZXhwbGljaXRseSBtYXJrZWQgYXMgc2hhcmVkLlxyXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJoc0NoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICAgICAgcmhzQ2hpbGRyZW5baV0uaXNTaGFyZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBvdXIgY2hpbGRyZW4gYXJlIHRoZW1zZWx2ZXMgYWxtb3N0IGVtcHR5IGR1ZSB0byBhIG1hc3MtZGVsZXRlLFxyXG4gICAgICAgIC8vIHRoZXkgbWF5IG5lZWQgdG8gYmUgbWVyZ2VkIHRvbyAoYnV0IG9ubHkgdGhlIG9sZExlbmd0aC0xIGFuZCBpdHNcclxuICAgICAgICAvLyByaWdodCBzaWJsaW5nIHNob3VsZCBuZWVkIHRoaXMpLlxyXG4gICAgICAgIHRoaXMudHJ5TWVyZ2Uob2xkTGVuZ3RoIC0gMSwgbWF4Tm9kZVNpemUpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBCTm9kZUludGVybmFsO1xyXG59KEJOb2RlKSk7XHJcbi8vIE9wdGltaXphdGlvbjogdGhpcyBhcnJheSBvZiBgdW5kZWZpbmVkYHMgaXMgdXNlZCBpbnN0ZWFkIG9mIGEgbm9ybWFsXHJcbi8vIGFycmF5IG9mIHZhbHVlcyBpbiBub2RlcyB3aGVyZSBgdW5kZWZpbmVkYCBpcyB0aGUgb25seSB2YWx1ZS5cclxuLy8gSXRzIGxlbmd0aCBpcyBleHRlbmRlZCB0byBtYXggbm9kZSBzaXplIG9uIGZpcnN0IHVzZTsgc2luY2UgaXQgY2FuXHJcbi8vIGJlIHNoYXJlZCBiZXR3ZWVuIHRyZWVzIHdpdGggZGlmZmVyZW50IG1heGltdW1zLCBpdHMgbGVuZ3RoIGNhbiBvbmx5XHJcbi8vIGluY3JlYXNlLCBuZXZlciBkZWNyZWFzZS4gSXRzIHR5cGUgc2hvdWxkIGJlIHVuZGVmaW5lZFtdIGJ1dCBzdHJhbmdlbHlcclxuLy8gVHlwZVNjcmlwdCB3b24ndCBhbGxvdyB0aGUgY29tcGFyaXNvbiBWW10gPT09IHVuZGVmaW5lZFtdLiBUbyBwcmV2ZW50XHJcbi8vIHVzZXJzIGZyb20gbWFraW5nIHRoaXMgYXJyYXkgdG9vIGxhcmdlLCBCVHJlZSBoYXMgYSBtYXhpbXVtIG5vZGUgc2l6ZS5cclxuLy9cclxuLy8gRkFROiB1bmRlZlZhbHNbaV0gaXMgYWxyZWFkeSB1bmRlZmluZWQsIHNvIHdoeSBpbmNyZWFzZSB0aGUgYXJyYXkgc2l6ZT9cclxuLy8gUmVhZGluZyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgYW4gYXJyYXkgaXMgcmVsYXRpdmVseSBzbG93IGJlY2F1c2UgaXRcclxuLy8gaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBzY2FubmluZyB0aGUgcHJvdG90eXBlIGNoYWluLlxyXG52YXIgdW5kZWZWYWxzID0gW107XHJcbnZhciBEZWxldGUgPSB7IGRlbGV0ZTogdHJ1ZSB9LCBEZWxldGVSYW5nZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIERlbGV0ZTsgfTtcclxudmFyIEJyZWFrID0geyBicmVhazogdHJ1ZSB9O1xyXG52YXIgRW1wdHlMZWFmID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBuID0gbmV3IEJOb2RlKCk7XHJcbiAgICBuLmlzU2hhcmVkID0gdHJ1ZTtcclxuICAgIHJldHVybiBuO1xyXG59KSgpO1xyXG52YXIgRW1wdHlBcnJheSA9IFtdO1xyXG52YXIgUmV1c2VkQXJyYXkgPSBbXTsgLy8gYXNzdW1lZCB0aHJlYWQtbG9jYWxcclxuZnVuY3Rpb24gY2hlY2soZmFjdCkge1xyXG4gICAgdmFyIGFyZ3MgPSBbXTtcclxuICAgIGZvciAodmFyIF9pID0gMTsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgYXJnc1tfaSAtIDFdID0gYXJndW1lbnRzW19pXTtcclxuICAgIH1cclxuICAgIGlmICghZmFjdCkge1xyXG4gICAgICAgIGFyZ3MudW5zaGlmdCgnQisgdHJlZScpOyAvLyBhdCBiZWdpbm5pbmcgb2YgbWVzc2FnZVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihhcmdzLmpvaW4oJyAnKSk7XHJcbiAgICB9XHJcbn1cclxuLyoqIEEgQlRyZWUgZnJvemVuIGluIHRoZSBlbXB0eSBzdGF0ZS4gKi9cclxuZXhwb3J0cy5FbXB0eUJUcmVlID0gKGZ1bmN0aW9uICgpIHsgdmFyIHQgPSBuZXcgQlRyZWUoKTsgdC5mcmVlemUoKTsgcmV0dXJuIHQ7IH0pKCk7XHJcbiIsICIvKiFcbiAgICBsb2NhbEZvcmFnZSAtLSBPZmZsaW5lIFN0b3JhZ2UsIEltcHJvdmVkXG4gICAgVmVyc2lvbiAxLjEwLjBcbiAgICBodHRwczovL2xvY2FsZm9yYWdlLmdpdGh1Yi5pby9sb2NhbEZvcmFnZVxuICAgIChjKSAyMDEzLTIwMTcgTW96aWxsYSwgQXBhY2hlIExpY2Vuc2UgMi4wXG4qL1xuKGZ1bmN0aW9uKGYpe2lmKHR5cGVvZiBleHBvcnRzPT09XCJvYmplY3RcIiYmdHlwZW9mIG1vZHVsZSE9PVwidW5kZWZpbmVkXCIpe21vZHVsZS5leHBvcnRzPWYoKX1lbHNlIGlmKHR5cGVvZiBkZWZpbmU9PT1cImZ1bmN0aW9uXCImJmRlZmluZS5hbWQpe2RlZmluZShbXSxmKX1lbHNle3ZhciBnO2lmKHR5cGVvZiB3aW5kb3chPT1cInVuZGVmaW5lZFwiKXtnPXdpbmRvd31lbHNlIGlmKHR5cGVvZiBnbG9iYWwhPT1cInVuZGVmaW5lZFwiKXtnPWdsb2JhbH1lbHNlIGlmKHR5cGVvZiBzZWxmIT09XCJ1bmRlZmluZWRcIil7Zz1zZWxmfWVsc2V7Zz10aGlzfWcubG9jYWxmb3JhZ2UgPSBmKCl9fSkoZnVuY3Rpb24oKXt2YXIgZGVmaW5lLG1vZHVsZSxleHBvcnRzO3JldHVybiAoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgKGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIiwgZil9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSh7MTpbZnVuY3Rpb24oX2RlcmVxXyxtb2R1bGUsZXhwb3J0cyl7XG4oZnVuY3Rpb24gKGdsb2JhbCl7XG4ndXNlIHN0cmljdCc7XG52YXIgTXV0YXRpb24gPSBnbG9iYWwuTXV0YXRpb25PYnNlcnZlciB8fCBnbG9iYWwuV2ViS2l0TXV0YXRpb25PYnNlcnZlcjtcblxudmFyIHNjaGVkdWxlRHJhaW47XG5cbntcbiAgaWYgKE11dGF0aW9uKSB7XG4gICAgdmFyIGNhbGxlZCA9IDA7XG4gICAgdmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9uKG5leHRUaWNrKTtcbiAgICB2YXIgZWxlbWVudCA9IGdsb2JhbC5kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJyk7XG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7XG4gICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXG4gICAgfSk7XG4gICAgc2NoZWR1bGVEcmFpbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGVsZW1lbnQuZGF0YSA9IChjYWxsZWQgPSArK2NhbGxlZCAlIDIpO1xuICAgIH07XG4gIH0gZWxzZSBpZiAoIWdsb2JhbC5zZXRJbW1lZGlhdGUgJiYgdHlwZW9mIGdsb2JhbC5NZXNzYWdlQ2hhbm5lbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgY2hhbm5lbCA9IG5ldyBnbG9iYWwuTWVzc2FnZUNoYW5uZWwoKTtcbiAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IG5leHRUaWNrO1xuICAgIHNjaGVkdWxlRHJhaW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjaGFubmVsLnBvcnQyLnBvc3RNZXNzYWdlKDApO1xuICAgIH07XG4gIH0gZWxzZSBpZiAoJ2RvY3VtZW50JyBpbiBnbG9iYWwgJiYgJ29ucmVhZHlzdGF0ZWNoYW5nZScgaW4gZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpKSB7XG4gICAgc2NoZWR1bGVEcmFpbiA9IGZ1bmN0aW9uICgpIHtcblxuICAgICAgLy8gQ3JlYXRlIGEgPHNjcmlwdD4gZWxlbWVudDsgaXRzIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgd2lsbCBiZSBmaXJlZCBhc3luY2hyb25vdXNseSBvbmNlIGl0IGlzIGluc2VydGVkXG4gICAgICAvLyBpbnRvIHRoZSBkb2N1bWVudC4gRG8gc28sIHRodXMgcXVldWluZyB1cCB0aGUgdGFzay4gUmVtZW1iZXIgdG8gY2xlYW4gdXAgb25jZSBpdCdzIGJlZW4gY2FsbGVkLlxuICAgICAgdmFyIHNjcmlwdEVsID0gZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0RWwub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBuZXh0VGljaygpO1xuXG4gICAgICAgIHNjcmlwdEVsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7XG4gICAgICAgIHNjcmlwdEVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2NyaXB0RWwpO1xuICAgICAgICBzY3JpcHRFbCA9IG51bGw7XG4gICAgICB9O1xuICAgICAgZ2xvYmFsLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChzY3JpcHRFbCk7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBzY2hlZHVsZURyYWluID0gZnVuY3Rpb24gKCkge1xuICAgICAgc2V0VGltZW91dChuZXh0VGljaywgMCk7XG4gICAgfTtcbiAgfVxufVxuXG52YXIgZHJhaW5pbmc7XG52YXIgcXVldWUgPSBbXTtcbi8vbmFtZWQgbmV4dFRpY2sgZm9yIGxlc3MgY29uZnVzaW5nIHN0YWNrIHRyYWNlc1xuZnVuY3Rpb24gbmV4dFRpY2soKSB7XG4gIGRyYWluaW5nID0gdHJ1ZTtcbiAgdmFyIGksIG9sZFF1ZXVlO1xuICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xuICB3aGlsZSAobGVuKSB7XG4gICAgb2xkUXVldWUgPSBxdWV1ZTtcbiAgICBxdWV1ZSA9IFtdO1xuICAgIGkgPSAtMTtcbiAgICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgICBvbGRRdWV1ZVtpXSgpO1xuICAgIH1cbiAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gIH1cbiAgZHJhaW5pbmcgPSBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpbW1lZGlhdGU7XG5mdW5jdGlvbiBpbW1lZGlhdGUodGFzaykge1xuICBpZiAocXVldWUucHVzaCh0YXNrKSA9PT0gMSAmJiAhZHJhaW5pbmcpIHtcbiAgICBzY2hlZHVsZURyYWluKCk7XG4gIH1cbn1cblxufSkuY2FsbCh0aGlzLHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiA/IHNlbGYgOiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gd2luZG93IDoge30pXG59LHt9XSwyOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtcbid1c2Ugc3RyaWN0JztcbnZhciBpbW1lZGlhdGUgPSBfZGVyZXFfKDEpO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gSU5URVJOQUwoKSB7fVxuXG52YXIgaGFuZGxlcnMgPSB7fTtcblxudmFyIFJFSkVDVEVEID0gWydSRUpFQ1RFRCddO1xudmFyIEZVTEZJTExFRCA9IFsnRlVMRklMTEVEJ107XG52YXIgUEVORElORyA9IFsnUEVORElORyddO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFByb21pc2U7XG5cbmZ1bmN0aW9uIFByb21pc2UocmVzb2x2ZXIpIHtcbiAgaWYgKHR5cGVvZiByZXNvbHZlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3Jlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbicpO1xuICB9XG4gIHRoaXMuc3RhdGUgPSBQRU5ESU5HO1xuICB0aGlzLnF1ZXVlID0gW107XG4gIHRoaXMub3V0Y29tZSA9IHZvaWQgMDtcbiAgaWYgKHJlc29sdmVyICE9PSBJTlRFUk5BTCkge1xuICAgIHNhZmVseVJlc29sdmVUaGVuYWJsZSh0aGlzLCByZXNvbHZlcik7XG4gIH1cbn1cblxuUHJvbWlzZS5wcm90b3R5cGVbXCJjYXRjaFwiXSA9IGZ1bmN0aW9uIChvblJlamVjdGVkKSB7XG4gIHJldHVybiB0aGlzLnRoZW4obnVsbCwgb25SZWplY3RlZCk7XG59O1xuUHJvbWlzZS5wcm90b3R5cGUudGhlbiA9IGZ1bmN0aW9uIChvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkge1xuICBpZiAodHlwZW9mIG9uRnVsZmlsbGVkICE9PSAnZnVuY3Rpb24nICYmIHRoaXMuc3RhdGUgPT09IEZVTEZJTExFRCB8fFxuICAgIHR5cGVvZiBvblJlamVjdGVkICE9PSAnZnVuY3Rpb24nICYmIHRoaXMuc3RhdGUgPT09IFJFSkVDVEVEKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgdmFyIHByb21pc2UgPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcihJTlRFUk5BTCk7XG4gIGlmICh0aGlzLnN0YXRlICE9PSBQRU5ESU5HKSB7XG4gICAgdmFyIHJlc29sdmVyID0gdGhpcy5zdGF0ZSA9PT0gRlVMRklMTEVEID8gb25GdWxmaWxsZWQgOiBvblJlamVjdGVkO1xuICAgIHVud3JhcChwcm9taXNlLCByZXNvbHZlciwgdGhpcy5vdXRjb21lKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLnF1ZXVlLnB1c2gobmV3IFF1ZXVlSXRlbShwcm9taXNlLCBvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkpO1xuICB9XG5cbiAgcmV0dXJuIHByb21pc2U7XG59O1xuZnVuY3Rpb24gUXVldWVJdGVtKHByb21pc2UsIG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKSB7XG4gIHRoaXMucHJvbWlzZSA9IHByb21pc2U7XG4gIGlmICh0eXBlb2Ygb25GdWxmaWxsZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0aGlzLm9uRnVsZmlsbGVkID0gb25GdWxmaWxsZWQ7XG4gICAgdGhpcy5jYWxsRnVsZmlsbGVkID0gdGhpcy5vdGhlckNhbGxGdWxmaWxsZWQ7XG4gIH1cbiAgaWYgKHR5cGVvZiBvblJlamVjdGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhpcy5vblJlamVjdGVkID0gb25SZWplY3RlZDtcbiAgICB0aGlzLmNhbGxSZWplY3RlZCA9IHRoaXMub3RoZXJDYWxsUmVqZWN0ZWQ7XG4gIH1cbn1cblF1ZXVlSXRlbS5wcm90b3R5cGUuY2FsbEZ1bGZpbGxlZCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICBoYW5kbGVycy5yZXNvbHZlKHRoaXMucHJvbWlzZSwgdmFsdWUpO1xufTtcblF1ZXVlSXRlbS5wcm90b3R5cGUub3RoZXJDYWxsRnVsZmlsbGVkID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHVud3JhcCh0aGlzLnByb21pc2UsIHRoaXMub25GdWxmaWxsZWQsIHZhbHVlKTtcbn07XG5RdWV1ZUl0ZW0ucHJvdG90eXBlLmNhbGxSZWplY3RlZCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICBoYW5kbGVycy5yZWplY3QodGhpcy5wcm9taXNlLCB2YWx1ZSk7XG59O1xuUXVldWVJdGVtLnByb3RvdHlwZS5vdGhlckNhbGxSZWplY3RlZCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICB1bndyYXAodGhpcy5wcm9taXNlLCB0aGlzLm9uUmVqZWN0ZWQsIHZhbHVlKTtcbn07XG5cbmZ1bmN0aW9uIHVud3JhcChwcm9taXNlLCBmdW5jLCB2YWx1ZSkge1xuICBpbW1lZGlhdGUoZnVuY3Rpb24gKCkge1xuICAgIHZhciByZXR1cm5WYWx1ZTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuVmFsdWUgPSBmdW5jKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gaGFuZGxlcnMucmVqZWN0KHByb21pc2UsIGUpO1xuICAgIH1cbiAgICBpZiAocmV0dXJuVmFsdWUgPT09IHByb21pc2UpIHtcbiAgICAgIGhhbmRsZXJzLnJlamVjdChwcm9taXNlLCBuZXcgVHlwZUVycm9yKCdDYW5ub3QgcmVzb2x2ZSBwcm9taXNlIHdpdGggaXRzZWxmJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoYW5kbGVycy5yZXNvbHZlKHByb21pc2UsIHJldHVyblZhbHVlKTtcbiAgICB9XG4gIH0pO1xufVxuXG5oYW5kbGVycy5yZXNvbHZlID0gZnVuY3Rpb24gKHNlbGYsIHZhbHVlKSB7XG4gIHZhciByZXN1bHQgPSB0cnlDYXRjaChnZXRUaGVuLCB2YWx1ZSk7XG4gIGlmIChyZXN1bHQuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgcmV0dXJuIGhhbmRsZXJzLnJlamVjdChzZWxmLCByZXN1bHQudmFsdWUpO1xuICB9XG4gIHZhciB0aGVuYWJsZSA9IHJlc3VsdC52YWx1ZTtcblxuICBpZiAodGhlbmFibGUpIHtcbiAgICBzYWZlbHlSZXNvbHZlVGhlbmFibGUoc2VsZiwgdGhlbmFibGUpO1xuICB9IGVsc2Uge1xuICAgIHNlbGYuc3RhdGUgPSBGVUxGSUxMRUQ7XG4gICAgc2VsZi5vdXRjb21lID0gdmFsdWU7XG4gICAgdmFyIGkgPSAtMTtcbiAgICB2YXIgbGVuID0gc2VsZi5xdWV1ZS5sZW5ndGg7XG4gICAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgICAgc2VsZi5xdWV1ZVtpXS5jYWxsRnVsZmlsbGVkKHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlbGY7XG59O1xuaGFuZGxlcnMucmVqZWN0ID0gZnVuY3Rpb24gKHNlbGYsIGVycm9yKSB7XG4gIHNlbGYuc3RhdGUgPSBSRUpFQ1RFRDtcbiAgc2VsZi5vdXRjb21lID0gZXJyb3I7XG4gIHZhciBpID0gLTE7XG4gIHZhciBsZW4gPSBzZWxmLnF1ZXVlLmxlbmd0aDtcbiAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgIHNlbGYucXVldWVbaV0uY2FsbFJlamVjdGVkKGVycm9yKTtcbiAgfVxuICByZXR1cm4gc2VsZjtcbn07XG5cbmZ1bmN0aW9uIGdldFRoZW4ob2JqKSB7XG4gIC8vIE1ha2Ugc3VyZSB3ZSBvbmx5IGFjY2VzcyB0aGUgYWNjZXNzb3Igb25jZSBhcyByZXF1aXJlZCBieSB0aGUgc3BlY1xuICB2YXIgdGhlbiA9IG9iaiAmJiBvYmoudGhlbjtcbiAgaWYgKG9iaiAmJiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIG9iaiA9PT0gJ2Z1bmN0aW9uJykgJiYgdHlwZW9mIHRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gYXBweVRoZW4oKSB7XG4gICAgICB0aGVuLmFwcGx5KG9iaiwgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIHNhZmVseVJlc29sdmVUaGVuYWJsZShzZWxmLCB0aGVuYWJsZSkge1xuICAvLyBFaXRoZXIgZnVsZmlsbCwgcmVqZWN0IG9yIHJlamVjdCB3aXRoIGVycm9yXG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgZnVuY3Rpb24gb25FcnJvcih2YWx1ZSkge1xuICAgIGlmIChjYWxsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY2FsbGVkID0gdHJ1ZTtcbiAgICBoYW5kbGVycy5yZWplY3Qoc2VsZiwgdmFsdWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gb25TdWNjZXNzKHZhbHVlKSB7XG4gICAgaWYgKGNhbGxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYWxsZWQgPSB0cnVlO1xuICAgIGhhbmRsZXJzLnJlc29sdmUoc2VsZiwgdmFsdWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gdHJ5VG9VbndyYXAoKSB7XG4gICAgdGhlbmFibGUob25TdWNjZXNzLCBvbkVycm9yKTtcbiAgfVxuXG4gIHZhciByZXN1bHQgPSB0cnlDYXRjaCh0cnlUb1Vud3JhcCk7XG4gIGlmIChyZXN1bHQuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgb25FcnJvcihyZXN1bHQudmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRyeUNhdGNoKGZ1bmMsIHZhbHVlKSB7XG4gIHZhciBvdXQgPSB7fTtcbiAgdHJ5IHtcbiAgICBvdXQudmFsdWUgPSBmdW5jKHZhbHVlKTtcbiAgICBvdXQuc3RhdHVzID0gJ3N1Y2Nlc3MnO1xuICB9IGNhdGNoIChlKSB7XG4gICAgb3V0LnN0YXR1cyA9ICdlcnJvcic7XG4gICAgb3V0LnZhbHVlID0gZTtcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuXG5Qcm9taXNlLnJlc29sdmUgPSByZXNvbHZlO1xuZnVuY3Rpb24gcmVzb2x2ZSh2YWx1ZSkge1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiB0aGlzKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBoYW5kbGVycy5yZXNvbHZlKG5ldyB0aGlzKElOVEVSTkFMKSwgdmFsdWUpO1xufVxuXG5Qcm9taXNlLnJlamVjdCA9IHJlamVjdDtcbmZ1bmN0aW9uIHJlamVjdChyZWFzb24pIHtcbiAgdmFyIHByb21pc2UgPSBuZXcgdGhpcyhJTlRFUk5BTCk7XG4gIHJldHVybiBoYW5kbGVycy5yZWplY3QocHJvbWlzZSwgcmVhc29uKTtcbn1cblxuUHJvbWlzZS5hbGwgPSBhbGw7XG5mdW5jdGlvbiBhbGwoaXRlcmFibGUpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGl0ZXJhYmxlKSAhPT0gJ1tvYmplY3QgQXJyYXldJykge1xuICAgIHJldHVybiB0aGlzLnJlamVjdChuZXcgVHlwZUVycm9yKCdtdXN0IGJlIGFuIGFycmF5JykpO1xuICB9XG5cbiAgdmFyIGxlbiA9IGl0ZXJhYmxlLmxlbmd0aDtcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuICBpZiAoIWxlbikge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUoW10pO1xuICB9XG5cbiAgdmFyIHZhbHVlcyA9IG5ldyBBcnJheShsZW4pO1xuICB2YXIgcmVzb2x2ZWQgPSAwO1xuICB2YXIgaSA9IC0xO1xuICB2YXIgcHJvbWlzZSA9IG5ldyB0aGlzKElOVEVSTkFMKTtcblxuICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgYWxsUmVzb2x2ZXIoaXRlcmFibGVbaV0sIGkpO1xuICB9XG4gIHJldHVybiBwcm9taXNlO1xuICBmdW5jdGlvbiBhbGxSZXNvbHZlcih2YWx1ZSwgaSkge1xuICAgIHNlbGYucmVzb2x2ZSh2YWx1ZSkudGhlbihyZXNvbHZlRnJvbUFsbCwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgICBoYW5kbGVycy5yZWplY3QocHJvbWlzZSwgZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIHJlc29sdmVGcm9tQWxsKG91dFZhbHVlKSB7XG4gICAgICB2YWx1ZXNbaV0gPSBvdXRWYWx1ZTtcbiAgICAgIGlmICgrK3Jlc29sdmVkID09PSBsZW4gJiYgIWNhbGxlZCkge1xuICAgICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgICBoYW5kbGVycy5yZXNvbHZlKHByb21pc2UsIHZhbHVlcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblByb21pc2UucmFjZSA9IHJhY2U7XG5mdW5jdGlvbiByYWNlKGl0ZXJhYmxlKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpdGVyYWJsZSkgIT09ICdbb2JqZWN0IEFycmF5XScpIHtcbiAgICByZXR1cm4gdGhpcy5yZWplY3QobmV3IFR5cGVFcnJvcignbXVzdCBiZSBhbiBhcnJheScpKTtcbiAgfVxuXG4gIHZhciBsZW4gPSBpdGVyYWJsZS5sZW5ndGg7XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgaWYgKCFsZW4pIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlKFtdKTtcbiAgfVxuXG4gIHZhciBpID0gLTE7XG4gIHZhciBwcm9taXNlID0gbmV3IHRoaXMoSU5URVJOQUwpO1xuXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcbiAgICByZXNvbHZlcihpdGVyYWJsZVtpXSk7XG4gIH1cbiAgcmV0dXJuIHByb21pc2U7XG4gIGZ1bmN0aW9uIHJlc29sdmVyKHZhbHVlKSB7XG4gICAgc2VsZi5yZXNvbHZlKHZhbHVlKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgaWYgKCFjYWxsZWQpIHtcbiAgICAgICAgY2FsbGVkID0gdHJ1ZTtcbiAgICAgICAgaGFuZGxlcnMucmVzb2x2ZShwcm9taXNlLCByZXNwb25zZSk7XG4gICAgICB9XG4gICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgICBoYW5kbGVycy5yZWplY3QocHJvbWlzZSwgZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbn0se1wiMVwiOjF9XSwzOltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtcbihmdW5jdGlvbiAoZ2xvYmFsKXtcbid1c2Ugc3RyaWN0JztcbmlmICh0eXBlb2YgZ2xvYmFsLlByb21pc2UgIT09ICdmdW5jdGlvbicpIHtcbiAgZ2xvYmFsLlByb21pc2UgPSBfZGVyZXFfKDIpO1xufVxuXG59KS5jYWxsKHRoaXMsdHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiA/IGdsb2JhbCA6IHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiID8gc2VsZiA6IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyB3aW5kb3cgOiB7fSlcbn0se1wiMlwiOjJ9XSw0OltmdW5jdGlvbihfZGVyZXFfLG1vZHVsZSxleHBvcnRzKXtcbid1c2Ugc3RyaWN0JztcblxudmFyIF90eXBlb2YgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIiA/IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH0gOiBmdW5jdGlvbiAob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9O1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBnZXRJREIoKSB7XG4gICAgLyogZ2xvYmFsIGluZGV4ZWREQix3ZWJraXRJbmRleGVkREIsbW96SW5kZXhlZERCLE9JbmRleGVkREIsbXNJbmRleGVkREIgKi9cbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIGluZGV4ZWREQiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBpbmRleGVkREI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB3ZWJraXRJbmRleGVkREIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gd2Via2l0SW5kZXhlZERCO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbW96SW5kZXhlZERCICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG1vekluZGV4ZWREQjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIE9JbmRleGVkREIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gT0luZGV4ZWREQjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIG1zSW5kZXhlZERCICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG1zSW5kZXhlZERCO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxufVxuXG52YXIgaWRiID0gZ2V0SURCKCk7XG5cbmZ1bmN0aW9uIGlzSW5kZXhlZERCVmFsaWQoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBJbmRleGVkREI7IGZhbGwgYmFjayB0byB2ZW5kb3ItcHJlZml4ZWQgdmVyc2lvbnNcbiAgICAgICAgLy8gaWYgbmVlZGVkLlxuICAgICAgICBpZiAoIWlkYiB8fCAhaWRiLm9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSBtaW1pYyBQb3VjaERCIGhlcmU7XG4gICAgICAgIC8vXG4gICAgICAgIC8vIFdlIHRlc3QgZm9yIG9wZW5EYXRhYmFzZSBiZWNhdXNlIElFIE1vYmlsZSBpZGVudGlmaWVzIGl0c2VsZlxuICAgICAgICAvLyBhcyBTYWZhcmkuIE9oIHRoZSBsdWx6Li4uXG4gICAgICAgIHZhciBpc1NhZmFyaSA9IHR5cGVvZiBvcGVuRGF0YWJhc2UgIT09ICd1bmRlZmluZWQnICYmIC8oU2FmYXJpfGlQaG9uZXxpUGFkfGlQb2QpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICEvQ2hyb21lLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICEvQmxhY2tCZXJyeS8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pO1xuXG4gICAgICAgIHZhciBoYXNGZXRjaCA9IHR5cGVvZiBmZXRjaCA9PT0gJ2Z1bmN0aW9uJyAmJiBmZXRjaC50b1N0cmluZygpLmluZGV4T2YoJ1tuYXRpdmUgY29kZScpICE9PSAtMTtcblxuICAgICAgICAvLyBTYWZhcmkgPDEwLjEgZG9lcyBub3QgbWVldCBvdXIgcmVxdWlyZW1lbnRzIGZvciBJREIgc3VwcG9ydFxuICAgICAgICAvLyAoc2VlOiBodHRwczovL2dpdGh1Yi5jb20vcG91Y2hkYi9wb3VjaGRiL2lzc3Vlcy81NTcyKS5cbiAgICAgICAgLy8gU2FmYXJpIDEwLjEgc2hpcHBlZCB3aXRoIGZldGNoLCB3ZSBjYW4gdXNlIHRoYXQgdG8gZGV0ZWN0IGl0LlxuICAgICAgICAvLyBOb3RlOiB0aGlzIGNyZWF0ZXMgaXNzdWVzIHdpdGggYHdpbmRvdy5mZXRjaGAgcG9seWZpbGxzIGFuZFxuICAgICAgICAvLyBvdmVycmlkZXM7IHNlZTpcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2xvY2FsRm9yYWdlL2xvY2FsRm9yYWdlL2lzc3Vlcy84NTZcbiAgICAgICAgcmV0dXJuICghaXNTYWZhcmkgfHwgaGFzRmV0Y2gpICYmIHR5cGVvZiBpbmRleGVkREIgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIC8vIHNvbWUgb3V0ZGF0ZWQgaW1wbGVtZW50YXRpb25zIG9mIElEQiB0aGF0IGFwcGVhciBvbiBTYW1zdW5nXG4gICAgICAgIC8vIGFuZCBIVEMgQW5kcm9pZCBkZXZpY2VzIDw0LjQgYXJlIG1pc3NpbmcgSURCS2V5UmFuZ2VcbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9sb2NhbEZvcmFnZS9pc3N1ZXMvMTI4XG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvbG9jYWxGb3JhZ2UvaXNzdWVzLzI3MlxuICAgICAgICB0eXBlb2YgSURCS2V5UmFuZ2UgIT09ICd1bmRlZmluZWQnO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuLy8gQWJzdHJhY3RzIGNvbnN0cnVjdGluZyBhIEJsb2Igb2JqZWN0LCBzbyBpdCBhbHNvIHdvcmtzIGluIG9sZGVyXG4vLyBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgdGhlIG5hdGl2ZSBCbG9iIGNvbnN0cnVjdG9yLiAoaS5lLlxuLy8gb2xkIFF0V2ViS2l0IHZlcnNpb25zLCBhdCBsZWFzdCkuXG4vLyBBYnN0cmFjdHMgY29uc3RydWN0aW5nIGEgQmxvYiBvYmplY3QsIHNvIGl0IGFsc28gd29ya3MgaW4gb2xkZXJcbi8vIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGUgbmF0aXZlIEJsb2IgY29uc3RydWN0b3IuIChpLmUuXG4vLyBvbGQgUXRXZWJLaXQgdmVyc2lvbnMsIGF0IGxlYXN0KS5cbmZ1bmN0aW9uIGNyZWF0ZUJsb2IocGFydHMsIHByb3BlcnRpZXMpIHtcbiAgICAvKiBnbG9iYWwgQmxvYkJ1aWxkZXIsTVNCbG9iQnVpbGRlcixNb3pCbG9iQnVpbGRlcixXZWJLaXRCbG9iQnVpbGRlciAqL1xuICAgIHBhcnRzID0gcGFydHMgfHwgW107XG4gICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXMgfHwge307XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBCbG9iKHBhcnRzLCBwcm9wZXJ0aWVzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLm5hbWUgIT09ICdUeXBlRXJyb3InKSB7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBCdWlsZGVyID0gdHlwZW9mIEJsb2JCdWlsZGVyICE9PSAndW5kZWZpbmVkJyA/IEJsb2JCdWlsZGVyIDogdHlwZW9mIE1TQmxvYkJ1aWxkZXIgIT09ICd1bmRlZmluZWQnID8gTVNCbG9iQnVpbGRlciA6IHR5cGVvZiBNb3pCbG9iQnVpbGRlciAhPT0gJ3VuZGVmaW5lZCcgPyBNb3pCbG9iQnVpbGRlciA6IFdlYktpdEJsb2JCdWlsZGVyO1xuICAgICAgICB2YXIgYnVpbGRlciA9IG5ldyBCdWlsZGVyKCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHBhcnRzW2ldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYnVpbGRlci5nZXRCbG9iKHByb3BlcnRpZXMudHlwZSk7XG4gICAgfVxufVxuXG4vLyBUaGlzIGlzIENvbW1vbkpTIGJlY2F1c2UgbGllIGlzIGFuIGV4dGVybmFsIGRlcGVuZGVuY3ksIHNvIFJvbGx1cFxuLy8gY2FuIGp1c3QgaWdub3JlIGl0LlxuaWYgKHR5cGVvZiBQcm9taXNlID09PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEluIHRoZSBcIm5vcHJvbWlzZXNcIiBidWlsZCB0aGlzIHdpbGwganVzdCB0aHJvdyBpZiB5b3UgZG9uJ3QgaGF2ZVxuICAgIC8vIGEgZ2xvYmFsIHByb21pc2Ugb2JqZWN0LCBidXQgaXQgd291bGQgdGhyb3cgYW55d2F5IGxhdGVyLlxuICAgIF9kZXJlcV8oMyk7XG59XG52YXIgUHJvbWlzZSQxID0gUHJvbWlzZTtcblxuZnVuY3Rpb24gZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKSB7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIHByb21pc2UudGhlbihmdW5jdGlvbiAocmVzdWx0KSB7XG4gICAgICAgICAgICBjYWxsYmFjayhudWxsLCByZXN1bHQpO1xuICAgICAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBleGVjdXRlVHdvQ2FsbGJhY2tzKHByb21pc2UsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSB7XG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBwcm9taXNlLnRoZW4oY2FsbGJhY2spO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZXJyb3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBwcm9taXNlW1wiY2F0Y2hcIl0oZXJyb3JDYWxsYmFjayk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVLZXkoa2V5KSB7XG4gICAgLy8gQ2FzdCB0aGUga2V5IHRvIGEgc3RyaW5nLCBhcyB0aGF0J3MgYWxsIHdlIGNhbiBzZXQgYXMgYSBrZXkuXG4gICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihrZXkgKyAnIHVzZWQgYXMgYSBrZXksIGJ1dCBpdCBpcyBub3QgYSBzdHJpbmcuJyk7XG4gICAgICAgIGtleSA9IFN0cmluZyhrZXkpO1xuICAgIH1cblxuICAgIHJldHVybiBrZXk7XG59XG5cbmZ1bmN0aW9uIGdldENhbGxiYWNrKCkge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICYmIHR5cGVvZiBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgIH1cbn1cblxuLy8gU29tZSBjb2RlIG9yaWdpbmFsbHkgZnJvbSBhc3luY19zdG9yYWdlLmpzIGluXG4vLyBbR2FpYV0oaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEtYjJnL2dhaWEpLlxuXG52YXIgREVURUNUX0JMT0JfU1VQUE9SVF9TVE9SRSA9ICdsb2NhbC1mb3JhZ2UtZGV0ZWN0LWJsb2Itc3VwcG9ydCc7XG52YXIgc3VwcG9ydHNCbG9icyA9IHZvaWQgMDtcbnZhciBkYkNvbnRleHRzID0ge307XG52YXIgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuXG4vLyBUcmFuc2FjdGlvbiBNb2Rlc1xudmFyIFJFQURfT05MWSA9ICdyZWFkb25seSc7XG52YXIgUkVBRF9XUklURSA9ICdyZWFkd3JpdGUnO1xuXG4vLyBUcmFuc2Zvcm0gYSBiaW5hcnkgc3RyaW5nIHRvIGFuIGFycmF5IGJ1ZmZlciwgYmVjYXVzZSBvdGhlcndpc2Vcbi8vIHdlaXJkIHN0dWZmIGhhcHBlbnMgd2hlbiB5b3UgdHJ5IHRvIHdvcmsgd2l0aCB0aGUgYmluYXJ5IHN0cmluZyBkaXJlY3RseS5cbi8vIEl0IGlzIGtub3duLlxuLy8gRnJvbSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE0OTY3NjQ3LyAoY29udGludWVzIG9uIG5leHQgbGluZSlcbi8vIGVuY29kZS1kZWNvZGUtaW1hZ2Utd2l0aC1iYXNlNjQtYnJlYWtzLWltYWdlICgyMDEzLTA0LTIxKVxuZnVuY3Rpb24gX2JpblN0cmluZ1RvQXJyYXlCdWZmZXIoYmluKSB7XG4gICAgdmFyIGxlbmd0aCA9IGJpbi5sZW5ndGg7XG4gICAgdmFyIGJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihsZW5ndGgpO1xuICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShidWYpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYXJyW2ldID0gYmluLmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuICAgIHJldHVybiBidWY7XG59XG5cbi8vXG4vLyBCbG9icyBhcmUgbm90IHN1cHBvcnRlZCBpbiBhbGwgdmVyc2lvbnMgb2YgSW5kZXhlZERCLCBub3RhYmx5XG4vLyBDaHJvbWUgPDM3IGFuZCBBbmRyb2lkIDw1LiBJbiB0aG9zZSB2ZXJzaW9ucywgc3RvcmluZyBhIGJsb2Igd2lsbCB0aHJvdy5cbi8vXG4vLyBWYXJpb3VzIG90aGVyIGJsb2IgYnVncyBleGlzdCBpbiBDaHJvbWUgdjM3LTQyIChpbmNsdXNpdmUpLlxuLy8gRGV0ZWN0aW5nIHRoZW0gaXMgZXhwZW5zaXZlIGFuZCBjb25mdXNpbmcgdG8gdXNlcnMsIGFuZCBDaHJvbWUgMzctNDJcbi8vIGlzIGF0IHZlcnkgbG93IHVzYWdlIHdvcmxkd2lkZSwgc28gd2UgZG8gYSBoYWNreSB1c2VyQWdlbnQgY2hlY2sgaW5zdGVhZC5cbi8vXG4vLyBjb250ZW50LXR5cGUgYnVnOiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDA4MTIwXG4vLyA0MDQgYnVnOiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDQ3OTE2XG4vLyBGaWxlUmVhZGVyIGJ1ZzogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ0NzgzNlxuLy9cbi8vIENvZGUgYm9ycm93ZWQgZnJvbSBQb3VjaERCLiBTZWU6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vcG91Y2hkYi9wb3VjaGRiL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL25vZGVfbW9kdWxlcy9wb3VjaGRiLWFkYXB0ZXItaWRiL3NyYy9ibG9iU3VwcG9ydC5qc1xuLy9cbmZ1bmN0aW9uIF9jaGVja0Jsb2JTdXBwb3J0V2l0aG91dENhY2hpbmcoaWRiKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgdmFyIHR4biA9IGlkYi50cmFuc2FjdGlvbihERVRFQ1RfQkxPQl9TVVBQT1JUX1NUT1JFLCBSRUFEX1dSSVRFKTtcbiAgICAgICAgdmFyIGJsb2IgPSBjcmVhdGVCbG9iKFsnJ10pO1xuICAgICAgICB0eG4ub2JqZWN0U3RvcmUoREVURUNUX0JMT0JfU1VQUE9SVF9TVE9SRSkucHV0KGJsb2IsICdrZXknKTtcblxuICAgICAgICB0eG4ub25hYm9ydCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgdHJhbnNhY3Rpb24gYWJvcnRzIG5vdyBpdHMgZHVlIHRvIG5vdCBiZWluZyBhYmxlIHRvXG4gICAgICAgICAgICAvLyB3cml0ZSB0byB0aGUgZGF0YWJhc2UsIGxpa2VseSBkdWUgdG8gdGhlIGRpc2sgYmVpbmcgZnVsbFxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHR4bi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIG1hdGNoZWRDaHJvbWUgPSBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9DaHJvbWVcXC8oXFxkKykvKTtcbiAgICAgICAgICAgIHZhciBtYXRjaGVkRWRnZSA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0VkZ2VcXC8vKTtcbiAgICAgICAgICAgIC8vIE1TIEVkZ2UgcHJldGVuZHMgdG8gYmUgQ2hyb21lIDQyOlxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9oaDg2OTMwMSUyOHY9dnMuODUlMjkuYXNweFxuICAgICAgICAgICAgcmVzb2x2ZShtYXRjaGVkRWRnZSB8fCAhbWF0Y2hlZENocm9tZSB8fCBwYXJzZUludChtYXRjaGVkQ2hyb21lWzFdLCAxMCkgPj0gNDMpO1xuICAgICAgICB9O1xuICAgIH0pW1wiY2F0Y2hcIl0oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGVycm9yLCBzbyBhc3N1bWUgdW5zdXBwb3J0ZWRcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gX2NoZWNrQmxvYlN1cHBvcnQoaWRiKSB7XG4gICAgaWYgKHR5cGVvZiBzdXBwb3J0c0Jsb2JzID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UkMS5yZXNvbHZlKHN1cHBvcnRzQmxvYnMpO1xuICAgIH1cbiAgICByZXR1cm4gX2NoZWNrQmxvYlN1cHBvcnRXaXRob3V0Q2FjaGluZyhpZGIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHN1cHBvcnRzQmxvYnMgPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHN1cHBvcnRzQmxvYnM7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIF9kZWZlclJlYWRpbmVzcyhkYkluZm8pIHtcbiAgICB2YXIgZGJDb250ZXh0ID0gZGJDb250ZXh0c1tkYkluZm8ubmFtZV07XG5cbiAgICAvLyBDcmVhdGUgYSBkZWZlcnJlZCBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IGRhdGFiYXNlIG9wZXJhdGlvbi5cbiAgICB2YXIgZGVmZXJyZWRPcGVyYXRpb24gPSB7fTtcblxuICAgIGRlZmVycmVkT3BlcmF0aW9uLnByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZGVmZXJyZWRPcGVyYXRpb24ucmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgIGRlZmVycmVkT3BlcmF0aW9uLnJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcblxuICAgIC8vIEVucXVldWUgdGhlIGRlZmVycmVkIG9wZXJhdGlvbi5cbiAgICBkYkNvbnRleHQuZGVmZXJyZWRPcGVyYXRpb25zLnB1c2goZGVmZXJyZWRPcGVyYXRpb24pO1xuXG4gICAgLy8gQ2hhaW4gaXRzIHByb21pc2UgdG8gdGhlIGRhdGFiYXNlIHJlYWRpbmVzcy5cbiAgICBpZiAoIWRiQ29udGV4dC5kYlJlYWR5KSB7XG4gICAgICAgIGRiQ29udGV4dC5kYlJlYWR5ID0gZGVmZXJyZWRPcGVyYXRpb24ucHJvbWlzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBkYkNvbnRleHQuZGJSZWFkeSA9IGRiQ29udGV4dC5kYlJlYWR5LnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmVycmVkT3BlcmF0aW9uLnByb21pc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gX2FkdmFuY2VSZWFkaW5lc3MoZGJJbmZvKSB7XG4gICAgdmFyIGRiQ29udGV4dCA9IGRiQ29udGV4dHNbZGJJbmZvLm5hbWVdO1xuXG4gICAgLy8gRGVxdWV1ZSBhIGRlZmVycmVkIG9wZXJhdGlvbi5cbiAgICB2YXIgZGVmZXJyZWRPcGVyYXRpb24gPSBkYkNvbnRleHQuZGVmZXJyZWRPcGVyYXRpb25zLnBvcCgpO1xuXG4gICAgLy8gUmVzb2x2ZSBpdHMgcHJvbWlzZSAod2hpY2ggaXMgcGFydCBvZiB0aGUgZGF0YWJhc2UgcmVhZGluZXNzXG4gICAgLy8gY2hhaW4gb2YgcHJvbWlzZXMpLlxuICAgIGlmIChkZWZlcnJlZE9wZXJhdGlvbikge1xuICAgICAgICBkZWZlcnJlZE9wZXJhdGlvbi5yZXNvbHZlKCk7XG4gICAgICAgIHJldHVybiBkZWZlcnJlZE9wZXJhdGlvbi5wcm9taXNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gX3JlamVjdFJlYWRpbmVzcyhkYkluZm8sIGVycikge1xuICAgIHZhciBkYkNvbnRleHQgPSBkYkNvbnRleHRzW2RiSW5mby5uYW1lXTtcblxuICAgIC8vIERlcXVldWUgYSBkZWZlcnJlZCBvcGVyYXRpb24uXG4gICAgdmFyIGRlZmVycmVkT3BlcmF0aW9uID0gZGJDb250ZXh0LmRlZmVycmVkT3BlcmF0aW9ucy5wb3AoKTtcblxuICAgIC8vIFJlamVjdCBpdHMgcHJvbWlzZSAod2hpY2ggaXMgcGFydCBvZiB0aGUgZGF0YWJhc2UgcmVhZGluZXNzXG4gICAgLy8gY2hhaW4gb2YgcHJvbWlzZXMpLlxuICAgIGlmIChkZWZlcnJlZE9wZXJhdGlvbikge1xuICAgICAgICBkZWZlcnJlZE9wZXJhdGlvbi5yZWplY3QoZXJyKTtcbiAgICAgICAgcmV0dXJuIGRlZmVycmVkT3BlcmF0aW9uLnByb21pc2U7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBfZ2V0Q29ubmVjdGlvbihkYkluZm8sIHVwZ3JhZGVOZWVkZWQpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGRiQ29udGV4dHNbZGJJbmZvLm5hbWVdID0gZGJDb250ZXh0c1tkYkluZm8ubmFtZV0gfHwgY3JlYXRlRGJDb250ZXh0KCk7XG5cbiAgICAgICAgaWYgKGRiSW5mby5kYikge1xuICAgICAgICAgICAgaWYgKHVwZ3JhZGVOZWVkZWQpIHtcbiAgICAgICAgICAgICAgICBfZGVmZXJSZWFkaW5lc3MoZGJJbmZvKTtcbiAgICAgICAgICAgICAgICBkYkluZm8uZGIuY2xvc2UoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoZGJJbmZvLmRiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkYkFyZ3MgPSBbZGJJbmZvLm5hbWVdO1xuXG4gICAgICAgIGlmICh1cGdyYWRlTmVlZGVkKSB7XG4gICAgICAgICAgICBkYkFyZ3MucHVzaChkYkluZm8udmVyc2lvbik7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgb3BlbnJlcSA9IGlkYi5vcGVuLmFwcGx5KGlkYiwgZGJBcmdzKTtcblxuICAgICAgICBpZiAodXBncmFkZU5lZWRlZCkge1xuICAgICAgICAgICAgb3BlbnJlcS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgIHZhciBkYiA9IG9wZW5yZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKGRiSW5mby5zdG9yZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5vbGRWZXJzaW9uIDw9IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFkZGVkIHdoZW4gc3VwcG9ydCBmb3IgYmxvYiBzaGltcyB3YXMgYWRkZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKERFVEVDVF9CTE9CX1NVUFBPUlRfU1RPUkUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4Lm5hbWUgPT09ICdDb25zdHJhaW50RXJyb3InKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1RoZSBkYXRhYmFzZSBcIicgKyBkYkluZm8ubmFtZSArICdcIicgKyAnIGhhcyBiZWVuIHVwZ3JhZGVkIGZyb20gdmVyc2lvbiAnICsgZS5vbGRWZXJzaW9uICsgJyB0byB2ZXJzaW9uICcgKyBlLm5ld1ZlcnNpb24gKyAnLCBidXQgdGhlIHN0b3JhZ2UgXCInICsgZGJJbmZvLnN0b3JlTmFtZSArICdcIiBhbHJlYWR5IGV4aXN0cy4nKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGV4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIG9wZW5yZXEub25lcnJvciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZWplY3Qob3BlbnJlcS5lcnJvcik7XG4gICAgICAgIH07XG5cbiAgICAgICAgb3BlbnJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZGIgPSBvcGVucmVxLnJlc3VsdDtcbiAgICAgICAgICAgIGRiLm9udmVyc2lvbmNoYW5nZSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgLy8gVHJpZ2dlcmVkIHdoZW4gdGhlIGRhdGFiYXNlIGlzIG1vZGlmaWVkIChlLmcuIGFkZGluZyBhbiBvYmplY3RTdG9yZSkgb3JcbiAgICAgICAgICAgICAgICAvLyBkZWxldGVkIChldmVuIHdoZW4gaW5pdGlhdGVkIGJ5IG90aGVyIHNlc3Npb25zIGluIGRpZmZlcmVudCB0YWJzKS5cbiAgICAgICAgICAgICAgICAvLyBDbG9zaW5nIHRoZSBjb25uZWN0aW9uIGhlcmUgcHJldmVudHMgdGhvc2Ugb3BlcmF0aW9ucyBmcm9tIGJlaW5nIGJsb2NrZWQuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIGRhdGFiYXNlIGlzIGFjY2Vzc2VkIGFnYWluIGxhdGVyIGJ5IHRoaXMgaW5zdGFuY2UsIHRoZSBjb25uZWN0aW9uXG4gICAgICAgICAgICAgICAgLy8gd2lsbCBiZSByZW9wZW5lZCBvciB0aGUgZGF0YWJhc2UgcmVjcmVhdGVkIGFzIG5lZWRlZC5cbiAgICAgICAgICAgICAgICBlLnRhcmdldC5jbG9zZSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlc29sdmUoZGIpO1xuICAgICAgICAgICAgX2FkdmFuY2VSZWFkaW5lc3MoZGJJbmZvKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gX2dldE9yaWdpbmFsQ29ubmVjdGlvbihkYkluZm8pIHtcbiAgICByZXR1cm4gX2dldENvbm5lY3Rpb24oZGJJbmZvLCBmYWxzZSk7XG59XG5cbmZ1bmN0aW9uIF9nZXRVcGdyYWRlZENvbm5lY3Rpb24oZGJJbmZvKSB7XG4gICAgcmV0dXJuIF9nZXRDb25uZWN0aW9uKGRiSW5mbywgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIF9pc1VwZ3JhZGVOZWVkZWQoZGJJbmZvLCBkZWZhdWx0VmVyc2lvbikge1xuICAgIGlmICghZGJJbmZvLmRiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhciBpc05ld1N0b3JlID0gIWRiSW5mby5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKGRiSW5mby5zdG9yZU5hbWUpO1xuICAgIHZhciBpc0Rvd25ncmFkZSA9IGRiSW5mby52ZXJzaW9uIDwgZGJJbmZvLmRiLnZlcnNpb247XG4gICAgdmFyIGlzVXBncmFkZSA9IGRiSW5mby52ZXJzaW9uID4gZGJJbmZvLmRiLnZlcnNpb247XG5cbiAgICBpZiAoaXNEb3duZ3JhZGUpIHtcbiAgICAgICAgLy8gSWYgdGhlIHZlcnNpb24gaXMgbm90IHRoZSBkZWZhdWx0IG9uZVxuICAgICAgICAvLyB0aGVuIHdhcm4gZm9yIGltcG9zc2libGUgZG93bmdyYWRlLlxuICAgICAgICBpZiAoZGJJbmZvLnZlcnNpb24gIT09IGRlZmF1bHRWZXJzaW9uKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1RoZSBkYXRhYmFzZSBcIicgKyBkYkluZm8ubmFtZSArICdcIicgKyBcIiBjYW4ndCBiZSBkb3duZ3JhZGVkIGZyb20gdmVyc2lvbiBcIiArIGRiSW5mby5kYi52ZXJzaW9uICsgJyB0byB2ZXJzaW9uICcgKyBkYkluZm8udmVyc2lvbiArICcuJyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWxpZ24gdGhlIHZlcnNpb25zIHRvIHByZXZlbnQgZXJyb3JzLlxuICAgICAgICBkYkluZm8udmVyc2lvbiA9IGRiSW5mby5kYi52ZXJzaW9uO1xuICAgIH1cblxuICAgIGlmIChpc1VwZ3JhZGUgfHwgaXNOZXdTdG9yZSkge1xuICAgICAgICAvLyBJZiB0aGUgc3RvcmUgaXMgbmV3IHRoZW4gaW5jcmVtZW50IHRoZSB2ZXJzaW9uIChpZiBuZWVkZWQpLlxuICAgICAgICAvLyBUaGlzIHdpbGwgdHJpZ2dlciBhbiBcInVwZ3JhZGVuZWVkZWRcIiBldmVudCB3aGljaCBpcyByZXF1aXJlZFxuICAgICAgICAvLyBmb3IgY3JlYXRpbmcgYSBzdG9yZS5cbiAgICAgICAgaWYgKGlzTmV3U3RvcmUpIHtcbiAgICAgICAgICAgIHZhciBpbmNWZXJzaW9uID0gZGJJbmZvLmRiLnZlcnNpb24gKyAxO1xuICAgICAgICAgICAgaWYgKGluY1ZlcnNpb24gPiBkYkluZm8udmVyc2lvbikge1xuICAgICAgICAgICAgICAgIGRiSW5mby52ZXJzaW9uID0gaW5jVmVyc2lvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuLy8gZW5jb2RlIGEgYmxvYiBmb3IgaW5kZXhlZGRiIGVuZ2luZXMgdGhhdCBkb24ndCBzdXBwb3J0IGJsb2JzXG5mdW5jdGlvbiBfZW5jb2RlQmxvYihibG9iKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgdmFyIGJhc2U2NCA9IGJ0b2EoZS50YXJnZXQucmVzdWx0IHx8ICcnKTtcbiAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgIF9fbG9jYWxfZm9yYWdlX2VuY29kZWRfYmxvYjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiBiYXNlNjQsXG4gICAgICAgICAgICAgICAgdHlwZTogYmxvYi50eXBlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyhibG9iKTtcbiAgICB9KTtcbn1cblxuLy8gZGVjb2RlIGFuIGVuY29kZWQgYmxvYlxuZnVuY3Rpb24gX2RlY29kZUJsb2IoZW5jb2RlZEJsb2IpIHtcbiAgICB2YXIgYXJyYXlCdWZmID0gX2JpblN0cmluZ1RvQXJyYXlCdWZmZXIoYXRvYihlbmNvZGVkQmxvYi5kYXRhKSk7XG4gICAgcmV0dXJuIGNyZWF0ZUJsb2IoW2FycmF5QnVmZl0sIHsgdHlwZTogZW5jb2RlZEJsb2IudHlwZSB9KTtcbn1cblxuLy8gaXMgdGhpcyBvbmUgb2Ygb3VyIGZhbmN5IGVuY29kZWQgYmxvYnM/XG5mdW5jdGlvbiBfaXNFbmNvZGVkQmxvYih2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS5fX2xvY2FsX2ZvcmFnZV9lbmNvZGVkX2Jsb2I7XG59XG5cbi8vIFNwZWNpYWxpemUgdGhlIGRlZmF1bHQgYHJlYWR5KClgIGZ1bmN0aW9uIGJ5IG1ha2luZyBpdCBkZXBlbmRlbnRcbi8vIG9uIHRoZSBjdXJyZW50IGRhdGFiYXNlIG9wZXJhdGlvbnMuIFRodXMsIHRoZSBkcml2ZXIgd2lsbCBiZSBhY3R1YWxseVxuLy8gcmVhZHkgd2hlbiBpdCdzIGJlZW4gaW5pdGlhbGl6ZWQgKGRlZmF1bHQpICphbmQqIHRoZXJlIGFyZSBubyBwZW5kaW5nXG4vLyBvcGVyYXRpb25zIG9uIHRoZSBkYXRhYmFzZSAoaW5pdGlhdGVkIGJ5IHNvbWUgb3RoZXIgaW5zdGFuY2VzKS5cbmZ1bmN0aW9uIF9mdWxseVJlYWR5KGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBzZWxmLl9pbml0UmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRiQ29udGV4dCA9IGRiQ29udGV4dHNbc2VsZi5fZGJJbmZvLm5hbWVdO1xuXG4gICAgICAgIGlmIChkYkNvbnRleHQgJiYgZGJDb250ZXh0LmRiUmVhZHkpIHtcbiAgICAgICAgICAgIHJldHVybiBkYkNvbnRleHQuZGJSZWFkeTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhlY3V0ZVR3b0NhbGxiYWNrcyhwcm9taXNlLCBjYWxsYmFjaywgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG4vLyBUcnkgdG8gZXN0YWJsaXNoIGEgbmV3IGRiIGNvbm5lY3Rpb24gdG8gcmVwbGFjZSB0aGVcbi8vIGN1cnJlbnQgb25lIHdoaWNoIGlzIGJyb2tlbiAoaS5lLiBleHBlcmllbmNpbmdcbi8vIEludmFsaWRTdGF0ZUVycm9yIHdoaWxlIGNyZWF0aW5nIGEgdHJhbnNhY3Rpb24pLlxuZnVuY3Rpb24gX3RyeVJlY29ubmVjdChkYkluZm8pIHtcbiAgICBfZGVmZXJSZWFkaW5lc3MoZGJJbmZvKTtcblxuICAgIHZhciBkYkNvbnRleHQgPSBkYkNvbnRleHRzW2RiSW5mby5uYW1lXTtcbiAgICB2YXIgZm9yYWdlcyA9IGRiQ29udGV4dC5mb3JhZ2VzO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JhZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBmb3JhZ2UgPSBmb3JhZ2VzW2ldO1xuICAgICAgICBpZiAoZm9yYWdlLl9kYkluZm8uZGIpIHtcbiAgICAgICAgICAgIGZvcmFnZS5fZGJJbmZvLmRiLmNsb3NlKCk7XG4gICAgICAgICAgICBmb3JhZ2UuX2RiSW5mby5kYiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGJJbmZvLmRiID0gbnVsbDtcblxuICAgIHJldHVybiBfZ2V0T3JpZ2luYWxDb25uZWN0aW9uKGRiSW5mbykudGhlbihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgZGJJbmZvLmRiID0gZGI7XG4gICAgICAgIGlmIChfaXNVcGdyYWRlTmVlZGVkKGRiSW5mbykpIHtcbiAgICAgICAgICAgIC8vIFJlb3BlbiB0aGUgZGF0YWJhc2UgZm9yIHVwZ3JhZGluZy5cbiAgICAgICAgICAgIHJldHVybiBfZ2V0VXBncmFkZWRDb25uZWN0aW9uKGRiSW5mbyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRiO1xuICAgIH0pLnRoZW4oZnVuY3Rpb24gKGRiKSB7XG4gICAgICAgIC8vIHN0b3JlIHRoZSBsYXRlc3QgZGIgcmVmZXJlbmNlXG4gICAgICAgIC8vIGluIGNhc2UgdGhlIGRiIHdhcyB1cGdyYWRlZFxuICAgICAgICBkYkluZm8uZGIgPSBkYkNvbnRleHQuZGIgPSBkYjtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JhZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBmb3JhZ2VzW2ldLl9kYkluZm8uZGIgPSBkYjtcbiAgICAgICAgfVxuICAgIH0pW1wiY2F0Y2hcIl0oZnVuY3Rpb24gKGVycikge1xuICAgICAgICBfcmVqZWN0UmVhZGluZXNzKGRiSW5mbywgZXJyKTtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgIH0pO1xufVxuXG4vLyBGRiBkb2Vzbid0IGxpa2UgUHJvbWlzZXMgKG1pY3JvLXRhc2tzKSBhbmQgSUREQiBzdG9yZSBvcGVyYXRpb25zLFxuLy8gc28gd2UgaGF2ZSB0byBkbyBpdCB3aXRoIGNhbGxiYWNrc1xuZnVuY3Rpb24gY3JlYXRlVHJhbnNhY3Rpb24oZGJJbmZvLCBtb2RlLCBjYWxsYmFjaywgcmV0cmllcykge1xuICAgIGlmIChyZXRyaWVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0cmllcyA9IDE7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgICAgdmFyIHR4ID0gZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGRiSW5mby5zdG9yZU5hbWUsIG1vZGUpO1xuICAgICAgICBjYWxsYmFjayhudWxsLCB0eCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChyZXRyaWVzID4gMCAmJiAoIWRiSW5mby5kYiB8fCBlcnIubmFtZSA9PT0gJ0ludmFsaWRTdGF0ZUVycm9yJyB8fCBlcnIubmFtZSA9PT0gJ05vdEZvdW5kRXJyb3InKSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UkMS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFkYkluZm8uZGIgfHwgZXJyLm5hbWUgPT09ICdOb3RGb3VuZEVycm9yJyAmJiAhZGJJbmZvLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoZGJJbmZvLnN0b3JlTmFtZSkgJiYgZGJJbmZvLnZlcnNpb24gPD0gZGJJbmZvLmRiLnZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaW5jcmVhc2UgdGhlIGRiIHZlcnNpb24sIHRvIGNyZWF0ZSB0aGUgbmV3IE9iamVjdFN0b3JlXG4gICAgICAgICAgICAgICAgICAgIGlmIChkYkluZm8uZGIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRiSW5mby52ZXJzaW9uID0gZGJJbmZvLmRiLnZlcnNpb24gKyAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlb3BlbiB0aGUgZGF0YWJhc2UgZm9yIHVwZ3JhZGluZy5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9nZXRVcGdyYWRlZENvbm5lY3Rpb24oZGJJbmZvKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX3RyeVJlY29ubmVjdChkYkluZm8pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihkYkluZm8sIG1vZGUsIGNhbGxiYWNrLCByZXRyaWVzIC0gMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVtcImNhdGNoXCJdKGNhbGxiYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNhbGxiYWNrKGVycik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVEYkNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLy8gUnVubmluZyBsb2NhbEZvcmFnZXMgc2hhcmluZyBhIGRhdGFiYXNlLlxuICAgICAgICBmb3JhZ2VzOiBbXSxcbiAgICAgICAgLy8gU2hhcmVkIGRhdGFiYXNlLlxuICAgICAgICBkYjogbnVsbCxcbiAgICAgICAgLy8gRGF0YWJhc2UgcmVhZGluZXNzIChwcm9taXNlKS5cbiAgICAgICAgZGJSZWFkeTogbnVsbCxcbiAgICAgICAgLy8gRGVmZXJyZWQgb3BlcmF0aW9ucyBvbiB0aGUgZGF0YWJhc2UuXG4gICAgICAgIGRlZmVycmVkT3BlcmF0aW9uczogW11cbiAgICB9O1xufVxuXG4vLyBPcGVuIHRoZSBJbmRleGVkREIgZGF0YWJhc2UgKGF1dG9tYXRpY2FsbHkgY3JlYXRlcyBvbmUgaWYgb25lIGRpZG4ndFxuLy8gcHJldmlvdXNseSBleGlzdCksIHVzaW5nIGFueSBvcHRpb25zIHNldCBpbiB0aGUgY29uZmlnLlxuZnVuY3Rpb24gX2luaXRTdG9yYWdlKG9wdGlvbnMpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGRiSW5mbyA9IHtcbiAgICAgICAgZGI6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgZm9yICh2YXIgaSBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgICBkYkluZm9baV0gPSBvcHRpb25zW2ldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR2V0IHRoZSBjdXJyZW50IGNvbnRleHQgb2YgdGhlIGRhdGFiYXNlO1xuICAgIHZhciBkYkNvbnRleHQgPSBkYkNvbnRleHRzW2RiSW5mby5uYW1lXTtcblxuICAgIC8vIC4uLm9yIGNyZWF0ZSBhIG5ldyBjb250ZXh0LlxuICAgIGlmICghZGJDb250ZXh0KSB7XG4gICAgICAgIGRiQ29udGV4dCA9IGNyZWF0ZURiQ29udGV4dCgpO1xuICAgICAgICAvLyBSZWdpc3RlciB0aGUgbmV3IGNvbnRleHQgaW4gdGhlIGdsb2JhbCBjb250YWluZXIuXG4gICAgICAgIGRiQ29udGV4dHNbZGJJbmZvLm5hbWVdID0gZGJDb250ZXh0O1xuICAgIH1cblxuICAgIC8vIFJlZ2lzdGVyIGl0c2VsZiBhcyBhIHJ1bm5pbmcgbG9jYWxGb3JhZ2UgaW4gdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgICBkYkNvbnRleHQuZm9yYWdlcy5wdXNoKHNlbGYpO1xuXG4gICAgLy8gUmVwbGFjZSB0aGUgZGVmYXVsdCBgcmVhZHkoKWAgZnVuY3Rpb24gd2l0aCB0aGUgc3BlY2lhbGl6ZWQgb25lLlxuICAgIGlmICghc2VsZi5faW5pdFJlYWR5KSB7XG4gICAgICAgIHNlbGYuX2luaXRSZWFkeSA9IHNlbGYucmVhZHk7XG4gICAgICAgIHNlbGYucmVhZHkgPSBfZnVsbHlSZWFkeTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYW4gYXJyYXkgb2YgaW5pdGlhbGl6YXRpb24gc3RhdGVzIG9mIHRoZSByZWxhdGVkIGxvY2FsRm9yYWdlcy5cbiAgICB2YXIgaW5pdFByb21pc2VzID0gW107XG5cbiAgICBmdW5jdGlvbiBpZ25vcmVFcnJvcnMoKSB7XG4gICAgICAgIC8vIERvbid0IGhhbmRsZSBlcnJvcnMgaGVyZSxcbiAgICAgICAgLy8ganVzdCBtYWtlcyBzdXJlIHJlbGF0ZWQgbG9jYWxGb3JhZ2VzIGFyZW4ndCBwZW5kaW5nLlxuICAgICAgICByZXR1cm4gUHJvbWlzZSQxLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IGRiQ29udGV4dC5mb3JhZ2VzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHZhciBmb3JhZ2UgPSBkYkNvbnRleHQuZm9yYWdlc1tqXTtcbiAgICAgICAgaWYgKGZvcmFnZSAhPT0gc2VsZikge1xuICAgICAgICAgICAgLy8gRG9uJ3Qgd2FpdCBmb3IgaXRzZWxmLi4uXG4gICAgICAgICAgICBpbml0UHJvbWlzZXMucHVzaChmb3JhZ2UuX2luaXRSZWFkeSgpW1wiY2F0Y2hcIl0oaWdub3JlRXJyb3JzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWtlIGEgc25hcHNob3Qgb2YgdGhlIHJlbGF0ZWQgbG9jYWxGb3JhZ2VzLlxuICAgIHZhciBmb3JhZ2VzID0gZGJDb250ZXh0LmZvcmFnZXMuc2xpY2UoMCk7XG5cbiAgICAvLyBJbml0aWFsaXplIHRoZSBjb25uZWN0aW9uIHByb2Nlc3Mgb25seSB3aGVuXG4gICAgLy8gYWxsIHRoZSByZWxhdGVkIGxvY2FsRm9yYWdlcyBhcmVuJ3QgcGVuZGluZy5cbiAgICByZXR1cm4gUHJvbWlzZSQxLmFsbChpbml0UHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICBkYkluZm8uZGIgPSBkYkNvbnRleHQuZGI7XG4gICAgICAgIC8vIEdldCB0aGUgY29ubmVjdGlvbiBvciBvcGVuIGEgbmV3IG9uZSB3aXRob3V0IHVwZ3JhZGUuXG4gICAgICAgIHJldHVybiBfZ2V0T3JpZ2luYWxDb25uZWN0aW9uKGRiSW5mbyk7XG4gICAgfSkudGhlbihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgZGJJbmZvLmRiID0gZGI7XG4gICAgICAgIGlmIChfaXNVcGdyYWRlTmVlZGVkKGRiSW5mbywgc2VsZi5fZGVmYXVsdENvbmZpZy52ZXJzaW9uKSkge1xuICAgICAgICAgICAgLy8gUmVvcGVuIHRoZSBkYXRhYmFzZSBmb3IgdXBncmFkaW5nLlxuICAgICAgICAgICAgcmV0dXJuIF9nZXRVcGdyYWRlZENvbm5lY3Rpb24oZGJJbmZvKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGI7XG4gICAgfSkudGhlbihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgZGJJbmZvLmRiID0gZGJDb250ZXh0LmRiID0gZGI7XG4gICAgICAgIHNlbGYuX2RiSW5mbyA9IGRiSW5mbztcbiAgICAgICAgLy8gU2hhcmUgdGhlIGZpbmFsIGNvbm5lY3Rpb24gYW1vbmdzdCByZWxhdGVkIGxvY2FsRm9yYWdlcy5cbiAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBmb3JhZ2VzLmxlbmd0aDsgaysrKSB7XG4gICAgICAgICAgICB2YXIgZm9yYWdlID0gZm9yYWdlc1trXTtcbiAgICAgICAgICAgIGlmIChmb3JhZ2UgIT09IHNlbGYpIHtcbiAgICAgICAgICAgICAgICAvLyBTZWxmIGlzIGFscmVhZHkgdXAtdG8tZGF0ZS5cbiAgICAgICAgICAgICAgICBmb3JhZ2UuX2RiSW5mby5kYiA9IGRiSW5mby5kYjtcbiAgICAgICAgICAgICAgICBmb3JhZ2UuX2RiSW5mby52ZXJzaW9uID0gZGJJbmZvLnZlcnNpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0SXRlbShrZXksIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAga2V5ID0gbm9ybWFsaXplS2V5KGtleSk7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfT05MWSwgZnVuY3Rpb24gKGVyciwgdHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShzZWxmLl9kYkluZm8uc3RvcmVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IHN0b3JlLmdldChrZXkpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2lzRW5jb2RlZEJsb2IodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBfZGVjb2RlQmxvYih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChyZXEuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG4vLyBJdGVyYXRlIG92ZXIgYWxsIGl0ZW1zIHN0b3JlZCBpbiBkYXRhYmFzZS5cbmZ1bmN0aW9uIGl0ZXJhdGUoaXRlcmF0b3IsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY3JlYXRlVHJhbnNhY3Rpb24oc2VsZi5fZGJJbmZvLCBSRUFEX09OTFksIGZ1bmN0aW9uIChlcnIsIHRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc2VsZi5fZGJJbmZvLnN0b3JlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXEgPSBzdG9yZS5vcGVuQ3Vyc29yKCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpdGVyYXRpb25OdW1iZXIgPSAxO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3Vyc29yID0gcmVxLnJlc3VsdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnNvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGN1cnNvci52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2lzRW5jb2RlZEJsb2IodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gX2RlY29kZUJsb2IodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gaXRlcmF0b3IodmFsdWUsIGN1cnNvci5rZXksIGl0ZXJhdGlvbk51bWJlcisrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdGhlIGl0ZXJhdG9yIGNhbGxiYWNrIHJldHVybnMgYW55XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gKG5vbi1gdW5kZWZpbmVkYCkgdmFsdWUsIHRoZW4gd2Ugc3RvcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpdGVyYXRpb24gaW1tZWRpYXRlbHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB2b2lkIDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcltcImNvbnRpbnVlXCJdKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QocmVxLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcblxuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBzZXRJdGVtKGtleSwgdmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAga2V5ID0gbm9ybWFsaXplS2V5KGtleSk7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICB2YXIgZGJJbmZvO1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgICAgICBpZiAodG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEJsb2JdJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBfY2hlY2tCbG9iU3VwcG9ydChkYkluZm8uZGIpLnRoZW4oZnVuY3Rpb24gKGJsb2JTdXBwb3J0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChibG9iU3VwcG9ydCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfZW5jb2RlQmxvYih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfV1JJVEUsIGZ1bmN0aW9uIChlcnIsIHRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc2VsZi5fZGJJbmZvLnN0b3JlTmFtZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlYXNvbiB3ZSBkb24ndCBfc2F2ZV8gbnVsbCBpcyBiZWNhdXNlIElFIDEwIGRvZXNcbiAgICAgICAgICAgICAgICAgICAgLy8gbm90IHN1cHBvcnQgc2F2aW5nIHRoZSBgbnVsbGAgdHlwZSBpbiBJbmRleGVkREIuIEhvd1xuICAgICAgICAgICAgICAgICAgICAvLyBpcm9uaWMsIGdpdmVuIHRoZSBidWcgYmVsb3chXG4gICAgICAgICAgICAgICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvbG9jYWxGb3JhZ2UvaXNzdWVzLzE2MVxuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IHN0b3JlLnB1dCh2YWx1ZSwga2V5KTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FzdCB0byB1bmRlZmluZWQgc28gdGhlIHZhbHVlIHBhc3NlZCB0b1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2FsbGJhY2svcHJvbWlzZSBpcyB0aGUgc2FtZSBhcyB3aGF0IG9uZSB3b3VsZCBnZXQgb3V0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvZiBgZ2V0SXRlbSgpYCBsYXRlci4gVGhpcyBsZWFkcyB0byBzb21lIHdlaXJkbmVzc1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gKHNldEl0ZW0oJ2ZvbycsIHVuZGVmaW5lZCkgd2lsbCByZXR1cm4gYG51bGxgKSwgYnV0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCdzIG5vdCBteSBmYXVsdCBsb2NhbFN0b3JhZ2UgaXMgb3VyIGJhc2VsaW5lIGFuZCB0aGF0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCdzIHdlaXJkLlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdHJhbnNhY3Rpb24ub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlcnIgPSByZXEuZXJyb3IgPyByZXEuZXJyb3IgOiByZXEudHJhbnNhY3Rpb24uZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlSXRlbShrZXksIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAga2V5ID0gbm9ybWFsaXplS2V5KGtleSk7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfV1JJVEUsIGZ1bmN0aW9uIChlcnIsIHRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoc2VsZi5fZGJJbmZvLnN0b3JlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBhIEdydW50IHRhc2sgdG8gbWFrZSB0aGlzIHNhZmUgZm9yIElFIGFuZCBzb21lXG4gICAgICAgICAgICAgICAgICAgIC8vIHZlcnNpb25zIG9mIEFuZHJvaWQgKGluY2x1ZGluZyB0aG9zZSB1c2VkIGJ5IENvcmRvdmEpLlxuICAgICAgICAgICAgICAgICAgICAvLyBOb3JtYWxseSBJRSB3b24ndCBsaWtlIGAuZGVsZXRlKClgIGFuZCB3aWxsIGluc2lzdCBvblxuICAgICAgICAgICAgICAgICAgICAvLyB1c2luZyBgWydkZWxldGUnXSgpYCwgYnV0IHdlIGhhdmUgYSBidWlsZCBzdGVwIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgLy8gZml4ZXMgdGhpcyBmb3IgdXMgbm93LlxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gc3RvcmVbXCJkZWxldGVcIl0oa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHJlcS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHJlcXVlc3Qgd2lsbCBiZSBhbHNvIGJlIGFib3J0ZWQgaWYgd2UndmUgZXhjZWVkZWQgb3VyIHN0b3JhZ2VcbiAgICAgICAgICAgICAgICAgICAgLy8gc3BhY2UuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXJyID0gcmVxLmVycm9yID8gcmVxLmVycm9yIDogcmVxLnRyYW5zYWN0aW9uLmVycm9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pW1wiY2F0Y2hcIl0ocmVqZWN0KTtcbiAgICB9KTtcblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbmZ1bmN0aW9uIGNsZWFyKGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY3JlYXRlVHJhbnNhY3Rpb24oc2VsZi5fZGJJbmZvLCBSRUFEX1dSSVRFLCBmdW5jdGlvbiAoZXJyLCB0cmFuc2FjdGlvbikge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHNlbGYuX2RiSW5mby5zdG9yZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gc3RvcmUuY2xlYXIoKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB0cmFuc2FjdGlvbi5vbmVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVyciA9IHJlcS5lcnJvciA/IHJlcS5lcnJvciA6IHJlcS50cmFuc2FjdGlvbi5lcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBsZW5ndGgoY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfT05MWSwgZnVuY3Rpb24gKGVyciwgdHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShzZWxmLl9kYkluZm8uc3RvcmVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IHN0b3JlLmNvdW50KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVxLnJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QocmVxLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24ga2V5KG4sIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgaWYgKG4gPCAwKSB7XG4gICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjcmVhdGVUcmFuc2FjdGlvbihzZWxmLl9kYkluZm8sIFJFQURfT05MWSwgZnVuY3Rpb24gKGVyciwgdHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShzZWxmLl9kYkluZm8uc3RvcmVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFkdmFuY2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXEgPSBzdG9yZS5vcGVuS2V5Q3Vyc29yKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJzb3IgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJzb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIG1lYW5zIHRoZXJlIHdlcmVuJ3QgZW5vdWdoIGtleXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobiA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdGhlIGZpcnN0IGtleSwgcmV0dXJuIGl0IGlmIHRoYXQncyB3aGF0IHRoZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3YW50ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjdXJzb3Iua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhZHZhbmNlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGFzayB0aGUgY3Vyc29yIHRvIHNraXAgYWhlYWQgblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWNvcmRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5hZHZhbmNlKG4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdoZW4gd2UgZ2V0IGhlcmUsIHdlJ3ZlIGdvdCB0aGUgbnRoIGtleS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjdXJzb3Iua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QocmVxLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24ga2V5cyhjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNyZWF0ZVRyYW5zYWN0aW9uKHNlbGYuX2RiSW5mbywgUkVBRF9PTkxZLCBmdW5jdGlvbiAoZXJyLCB0cmFuc2FjdGlvbikge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHNlbGYuX2RiSW5mby5zdG9yZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gc3RvcmUub3BlbktleUN1cnNvcigpO1xuICAgICAgICAgICAgICAgICAgICB2YXIga2V5cyA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3Vyc29yID0gcmVxLnJlc3VsdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJzb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGtleXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAga2V5cy5wdXNoKGN1cnNvci5rZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yW1wiY29udGludWVcIl0oKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChyZXEuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBkcm9wSW5zdGFuY2Uob3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICBjYWxsYmFjayA9IGdldENhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgICB2YXIgY3VycmVudENvbmZpZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb25zICE9PSAnZnVuY3Rpb24nICYmIG9wdGlvbnMgfHwge307XG4gICAgaWYgKCFvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgb3B0aW9ucy5uYW1lID0gb3B0aW9ucy5uYW1lIHx8IGN1cnJlbnRDb25maWcubmFtZTtcbiAgICAgICAgb3B0aW9ucy5zdG9yZU5hbWUgPSBvcHRpb25zLnN0b3JlTmFtZSB8fCBjdXJyZW50Q29uZmlnLnN0b3JlTmFtZTtcbiAgICB9XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIHByb21pc2U7XG4gICAgaWYgKCFvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgcHJvbWlzZSA9IFByb21pc2UkMS5yZWplY3QoJ0ludmFsaWQgYXJndW1lbnRzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGlzQ3VycmVudERiID0gb3B0aW9ucy5uYW1lID09PSBjdXJyZW50Q29uZmlnLm5hbWUgJiYgc2VsZi5fZGJJbmZvLmRiO1xuXG4gICAgICAgIHZhciBkYlByb21pc2UgPSBpc0N1cnJlbnREYiA/IFByb21pc2UkMS5yZXNvbHZlKHNlbGYuX2RiSW5mby5kYikgOiBfZ2V0T3JpZ2luYWxDb25uZWN0aW9uKG9wdGlvbnMpLnRoZW4oZnVuY3Rpb24gKGRiKSB7XG4gICAgICAgICAgICB2YXIgZGJDb250ZXh0ID0gZGJDb250ZXh0c1tvcHRpb25zLm5hbWVdO1xuICAgICAgICAgICAgdmFyIGZvcmFnZXMgPSBkYkNvbnRleHQuZm9yYWdlcztcbiAgICAgICAgICAgIGRiQ29udGV4dC5kYiA9IGRiO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JhZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yYWdlc1tpXS5fZGJJbmZvLmRiID0gZGI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGI7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghb3B0aW9ucy5zdG9yZU5hbWUpIHtcbiAgICAgICAgICAgIHByb21pc2UgPSBkYlByb21pc2UudGhlbihmdW5jdGlvbiAoZGIpIHtcbiAgICAgICAgICAgICAgICBfZGVmZXJSZWFkaW5lc3Mob3B0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICB2YXIgZGJDb250ZXh0ID0gZGJDb250ZXh0c1tvcHRpb25zLm5hbWVdO1xuICAgICAgICAgICAgICAgIHZhciBmb3JhZ2VzID0gZGJDb250ZXh0LmZvcmFnZXM7XG5cbiAgICAgICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9yYWdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZm9yYWdlID0gZm9yYWdlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yYWdlLl9kYkluZm8uZGIgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZhciBkcm9wREJQcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXEgPSBpZGIuZGVsZXRlRGF0YWJhc2Uob3B0aW9ucy5uYW1lKTtcblxuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYiA9IHJlcS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHJlcS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENsb3NpbmcgYWxsIG9wZW4gY29ubmVjdGlvbnMgaW4gb252ZXJzaW9uY2hhbmdlIGhhbmRsZXIgc2hvdWxkIHByZXZlbnQgdGhpcyBzaXR1YXRpb24sIGJ1dCBpZlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2UgZG8gZ2V0IGhlcmUsIGl0IGp1c3QgbWVhbnMgdGhlIHJlcXVlc3QgcmVtYWlucyBwZW5kaW5nIC0gZXZlbnR1YWxseSBpdCB3aWxsIHN1Y2NlZWQgb3IgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignZHJvcEluc3RhbmNlIGJsb2NrZWQgZm9yIGRhdGFiYXNlIFwiJyArIG9wdGlvbnMubmFtZSArICdcIiB1bnRpbCBhbGwgb3BlbiBjb25uZWN0aW9ucyBhcmUgY2xvc2VkJyk7XG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYiA9IHJlcS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShkYik7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZHJvcERCUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChkYikge1xuICAgICAgICAgICAgICAgICAgICBkYkNvbnRleHQuZGIgPSBkYjtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JhZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2ZvcmFnZSA9IGZvcmFnZXNbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICBfYWR2YW5jZVJlYWRpbmVzcyhfZm9yYWdlLl9kYkluZm8pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlbXCJjYXRjaFwiXShmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIChfcmVqZWN0UmVhZGluZXNzKG9wdGlvbnMsIGVycikgfHwgUHJvbWlzZSQxLnJlc29sdmUoKSlbXCJjYXRjaFwiXShmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJvbWlzZSA9IGRiUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChkYikge1xuICAgICAgICAgICAgICAgIGlmICghZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhvcHRpb25zLnN0b3JlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZhciBuZXdWZXJzaW9uID0gZGIudmVyc2lvbiArIDE7XG5cbiAgICAgICAgICAgICAgICBfZGVmZXJSZWFkaW5lc3Mob3B0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICB2YXIgZGJDb250ZXh0ID0gZGJDb250ZXh0c1tvcHRpb25zLm5hbWVdO1xuICAgICAgICAgICAgICAgIHZhciBmb3JhZ2VzID0gZGJDb250ZXh0LmZvcmFnZXM7XG5cbiAgICAgICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm9yYWdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZm9yYWdlID0gZm9yYWdlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yYWdlLl9kYkluZm8uZGIgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICBmb3JhZ2UuX2RiSW5mby52ZXJzaW9uID0gbmV3VmVyc2lvbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB2YXIgZHJvcE9iamVjdFByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IGlkYi5vcGVuKG9wdGlvbnMubmFtZSwgbmV3VmVyc2lvbik7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGIgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGIuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGIgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGIuZGVsZXRlT2JqZWN0U3RvcmUob3B0aW9ucy5zdG9yZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGIgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGIuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGIpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRyb3BPYmplY3RQcm9taXNlLnRoZW4oZnVuY3Rpb24gKGRiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRiQ29udGV4dC5kYiA9IGRiO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGZvcmFnZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfZm9yYWdlMiA9IGZvcmFnZXNbal07XG4gICAgICAgICAgICAgICAgICAgICAgICBfZm9yYWdlMi5fZGJJbmZvLmRiID0gZGI7XG4gICAgICAgICAgICAgICAgICAgICAgICBfYWR2YW5jZVJlYWRpbmVzcyhfZm9yYWdlMi5fZGJJbmZvKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pW1wiY2F0Y2hcIl0oZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgICAgICAoX3JlamVjdFJlYWRpbmVzcyhvcHRpb25zLCBlcnIpIHx8IFByb21pc2UkMS5yZXNvbHZlKCkpW1wiY2F0Y2hcIl0oZnVuY3Rpb24gKCkge30pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbnZhciBhc3luY1N0b3JhZ2UgPSB7XG4gICAgX2RyaXZlcjogJ2FzeW5jU3RvcmFnZScsXG4gICAgX2luaXRTdG9yYWdlOiBfaW5pdFN0b3JhZ2UsXG4gICAgX3N1cHBvcnQ6IGlzSW5kZXhlZERCVmFsaWQoKSxcbiAgICBpdGVyYXRlOiBpdGVyYXRlLFxuICAgIGdldEl0ZW06IGdldEl0ZW0sXG4gICAgc2V0SXRlbTogc2V0SXRlbSxcbiAgICByZW1vdmVJdGVtOiByZW1vdmVJdGVtLFxuICAgIGNsZWFyOiBjbGVhcixcbiAgICBsZW5ndGg6IGxlbmd0aCxcbiAgICBrZXk6IGtleSxcbiAgICBrZXlzOiBrZXlzLFxuICAgIGRyb3BJbnN0YW5jZTogZHJvcEluc3RhbmNlXG59O1xuXG5mdW5jdGlvbiBpc1dlYlNRTFZhbGlkKCkge1xuICAgIHJldHVybiB0eXBlb2Ygb3BlbkRhdGFiYXNlID09PSAnZnVuY3Rpb24nO1xufVxuXG4vLyBTYWRseSwgdGhlIGJlc3Qgd2F5IHRvIHNhdmUgYmluYXJ5IGRhdGEgaW4gV2ViU1FML2xvY2FsU3RvcmFnZSBpcyBzZXJpYWxpemluZ1xuLy8gaXQgdG8gQmFzZTY0LCBzbyB0aGlzIGlzIGhvdyB3ZSBzdG9yZSBpdCB0byBwcmV2ZW50IHZlcnkgc3RyYW5nZSBlcnJvcnMgd2l0aCBsZXNzXG4vLyB2ZXJib3NlIHdheXMgb2YgYmluYXJ5IDwtPiBzdHJpbmcgZGF0YSBzdG9yYWdlLlxudmFyIEJBU0VfQ0hBUlMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7XG5cbnZhciBCTE9CX1RZUEVfUFJFRklYID0gJ35+bG9jYWxfZm9yYWdlX3R5cGV+JztcbnZhciBCTE9CX1RZUEVfUFJFRklYX1JFR0VYID0gL15+fmxvY2FsX2ZvcmFnZV90eXBlfihbXn5dKyl+LztcblxudmFyIFNFUklBTElaRURfTUFSS0VSID0gJ19fbGZzY19fOic7XG52YXIgU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIID0gU0VSSUFMSVpFRF9NQVJLRVIubGVuZ3RoO1xuXG4vLyBPTUcgdGhlIHNlcmlhbGl6YXRpb25zIVxudmFyIFRZUEVfQVJSQVlCVUZGRVIgPSAnYXJiZic7XG52YXIgVFlQRV9CTE9CID0gJ2Jsb2InO1xudmFyIFRZUEVfSU5UOEFSUkFZID0gJ3NpMDgnO1xudmFyIFRZUEVfVUlOVDhBUlJBWSA9ICd1aTA4JztcbnZhciBUWVBFX1VJTlQ4Q0xBTVBFREFSUkFZID0gJ3VpYzgnO1xudmFyIFRZUEVfSU5UMTZBUlJBWSA9ICdzaTE2JztcbnZhciBUWVBFX0lOVDMyQVJSQVkgPSAnc2kzMic7XG52YXIgVFlQRV9VSU5UMTZBUlJBWSA9ICd1cjE2JztcbnZhciBUWVBFX1VJTlQzMkFSUkFZID0gJ3VpMzInO1xudmFyIFRZUEVfRkxPQVQzMkFSUkFZID0gJ2ZsMzInO1xudmFyIFRZUEVfRkxPQVQ2NEFSUkFZID0gJ2ZsNjQnO1xudmFyIFRZUEVfU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIID0gU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIICsgVFlQRV9BUlJBWUJVRkZFUi5sZW5ndGg7XG5cbnZhciB0b1N0cmluZyQxID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuZnVuY3Rpb24gc3RyaW5nVG9CdWZmZXIoc2VyaWFsaXplZFN0cmluZykge1xuICAgIC8vIEZpbGwgdGhlIHN0cmluZyBpbnRvIGEgQXJyYXlCdWZmZXIuXG4gICAgdmFyIGJ1ZmZlckxlbmd0aCA9IHNlcmlhbGl6ZWRTdHJpbmcubGVuZ3RoICogMC43NTtcbiAgICB2YXIgbGVuID0gc2VyaWFsaXplZFN0cmluZy5sZW5ndGg7XG4gICAgdmFyIGk7XG4gICAgdmFyIHAgPSAwO1xuICAgIHZhciBlbmNvZGVkMSwgZW5jb2RlZDIsIGVuY29kZWQzLCBlbmNvZGVkNDtcblxuICAgIGlmIChzZXJpYWxpemVkU3RyaW5nW3NlcmlhbGl6ZWRTdHJpbmcubGVuZ3RoIC0gMV0gPT09ICc9Jykge1xuICAgICAgICBidWZmZXJMZW5ndGgtLTtcbiAgICAgICAgaWYgKHNlcmlhbGl6ZWRTdHJpbmdbc2VyaWFsaXplZFN0cmluZy5sZW5ndGggLSAyXSA9PT0gJz0nKSB7XG4gICAgICAgICAgICBidWZmZXJMZW5ndGgtLTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhciBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoYnVmZmVyTGVuZ3RoKTtcbiAgICB2YXIgYnl0ZXMgPSBuZXcgVWludDhBcnJheShidWZmZXIpO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgICAgIGVuY29kZWQxID0gQkFTRV9DSEFSUy5pbmRleE9mKHNlcmlhbGl6ZWRTdHJpbmdbaV0pO1xuICAgICAgICBlbmNvZGVkMiA9IEJBU0VfQ0hBUlMuaW5kZXhPZihzZXJpYWxpemVkU3RyaW5nW2kgKyAxXSk7XG4gICAgICAgIGVuY29kZWQzID0gQkFTRV9DSEFSUy5pbmRleE9mKHNlcmlhbGl6ZWRTdHJpbmdbaSArIDJdKTtcbiAgICAgICAgZW5jb2RlZDQgPSBCQVNFX0NIQVJTLmluZGV4T2Yoc2VyaWFsaXplZFN0cmluZ1tpICsgM10pO1xuXG4gICAgICAgIC8qanNsaW50IGJpdHdpc2U6IHRydWUgKi9cbiAgICAgICAgYnl0ZXNbcCsrXSA9IGVuY29kZWQxIDw8IDIgfCBlbmNvZGVkMiA+PiA0O1xuICAgICAgICBieXRlc1twKytdID0gKGVuY29kZWQyICYgMTUpIDw8IDQgfCBlbmNvZGVkMyA+PiAyO1xuICAgICAgICBieXRlc1twKytdID0gKGVuY29kZWQzICYgMykgPDwgNiB8IGVuY29kZWQ0ICYgNjM7XG4gICAgfVxuICAgIHJldHVybiBidWZmZXI7XG59XG5cbi8vIENvbnZlcnRzIGEgYnVmZmVyIHRvIGEgc3RyaW5nIHRvIHN0b3JlLCBzZXJpYWxpemVkLCBpbiB0aGUgYmFja2VuZFxuLy8gc3RvcmFnZSBsaWJyYXJ5LlxuZnVuY3Rpb24gYnVmZmVyVG9TdHJpbmcoYnVmZmVyKSB7XG4gICAgLy8gYmFzZTY0LWFycmF5YnVmZmVyXG4gICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTtcbiAgICB2YXIgYmFzZTY0U3RyaW5nID0gJyc7XG4gICAgdmFyIGk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpICs9IDMpIHtcbiAgICAgICAgLypqc2xpbnQgYml0d2lzZTogdHJ1ZSAqL1xuICAgICAgICBiYXNlNjRTdHJpbmcgKz0gQkFTRV9DSEFSU1tieXRlc1tpXSA+PiAyXTtcbiAgICAgICAgYmFzZTY0U3RyaW5nICs9IEJBU0VfQ0hBUlNbKGJ5dGVzW2ldICYgMykgPDwgNCB8IGJ5dGVzW2kgKyAxXSA+PiA0XTtcbiAgICAgICAgYmFzZTY0U3RyaW5nICs9IEJBU0VfQ0hBUlNbKGJ5dGVzW2kgKyAxXSAmIDE1KSA8PCAyIHwgYnl0ZXNbaSArIDJdID4+IDZdO1xuICAgICAgICBiYXNlNjRTdHJpbmcgKz0gQkFTRV9DSEFSU1tieXRlc1tpICsgMl0gJiA2M107XG4gICAgfVxuXG4gICAgaWYgKGJ5dGVzLmxlbmd0aCAlIDMgPT09IDIpIHtcbiAgICAgICAgYmFzZTY0U3RyaW5nID0gYmFzZTY0U3RyaW5nLnN1YnN0cmluZygwLCBiYXNlNjRTdHJpbmcubGVuZ3RoIC0gMSkgKyAnPSc7XG4gICAgfSBlbHNlIGlmIChieXRlcy5sZW5ndGggJSAzID09PSAxKSB7XG4gICAgICAgIGJhc2U2NFN0cmluZyA9IGJhc2U2NFN0cmluZy5zdWJzdHJpbmcoMCwgYmFzZTY0U3RyaW5nLmxlbmd0aCAtIDIpICsgJz09JztcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZTY0U3RyaW5nO1xufVxuXG4vLyBTZXJpYWxpemUgYSB2YWx1ZSwgYWZ0ZXJ3YXJkcyBleGVjdXRpbmcgYSBjYWxsYmFjayAod2hpY2ggdXN1YWxseVxuLy8gaW5zdHJ1Y3RzIHRoZSBgc2V0SXRlbSgpYCBjYWxsYmFjay9wcm9taXNlIHRvIGJlIGV4ZWN1dGVkKS4gVGhpcyBpcyBob3dcbi8vIHdlIHN0b3JlIGJpbmFyeSBkYXRhIHdpdGggbG9jYWxTdG9yYWdlLlxuZnVuY3Rpb24gc2VyaWFsaXplKHZhbHVlLCBjYWxsYmFjaykge1xuICAgIHZhciB2YWx1ZVR5cGUgPSAnJztcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdmFsdWVUeXBlID0gdG9TdHJpbmckMS5jYWxsKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBDYW5ub3QgdXNlIGB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyYCBvciBzdWNoIGhlcmUsIGFzIHRoZXNlXG4gICAgLy8gY2hlY2tzIGZhaWwgd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyB1c2luZyBjYXNwZXIuanMuLi5cbiAgICAvL1xuICAgIC8vIFRPRE86IFNlZSB3aHkgdGhvc2UgdGVzdHMgZmFpbCBhbmQgdXNlIGEgYmV0dGVyIHNvbHV0aW9uLlxuICAgIGlmICh2YWx1ZSAmJiAodmFsdWVUeXBlID09PSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nIHx8IHZhbHVlLmJ1ZmZlciAmJiB0b1N0cmluZyQxLmNhbGwodmFsdWUuYnVmZmVyKSA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJykpIHtcbiAgICAgICAgLy8gQ29udmVydCBiaW5hcnkgYXJyYXlzIHRvIGEgc3RyaW5nIGFuZCBwcmVmaXggdGhlIHN0cmluZyB3aXRoXG4gICAgICAgIC8vIGEgc3BlY2lhbCBtYXJrZXIuXG4gICAgICAgIHZhciBidWZmZXI7XG4gICAgICAgIHZhciBtYXJrZXIgPSBTRVJJQUxJWkVEX01BUktFUjtcblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xuICAgICAgICAgICAgYnVmZmVyID0gdmFsdWU7XG4gICAgICAgICAgICBtYXJrZXIgKz0gVFlQRV9BUlJBWUJVRkZFUjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJ1ZmZlciA9IHZhbHVlLmJ1ZmZlcjtcblxuICAgICAgICAgICAgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgSW50OEFycmF5XScpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXIgKz0gVFlQRV9JTlQ4QVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgVWludDhBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfVUlOVDhBUlJBWTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWVUeXBlID09PSAnW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfVUlOVDhDTEFNUEVEQVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgSW50MTZBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfSU5UMTZBUlJBWTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWVUeXBlID09PSAnW29iamVjdCBVaW50MTZBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfVUlOVDE2QVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgSW50MzJBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfSU5UMzJBUlJBWTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWVUeXBlID09PSAnW29iamVjdCBVaW50MzJBcnJheV0nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyICs9IFRZUEVfVUlOVDMyQVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgRmxvYXQzMkFycmF5XScpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXIgKz0gVFlQRV9GTE9BVDMyQVJSQVk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlVHlwZSA9PT0gJ1tvYmplY3QgRmxvYXQ2NEFycmF5XScpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXIgKz0gVFlQRV9GTE9BVDY0QVJSQVk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcignRmFpbGVkIHRvIGdldCB0eXBlIGZvciBCaW5hcnlBcnJheScpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNhbGxiYWNrKG1hcmtlciArIGJ1ZmZlclRvU3RyaW5nKGJ1ZmZlcikpO1xuICAgIH0gZWxzZSBpZiAodmFsdWVUeXBlID09PSAnW29iamVjdCBCbG9iXScpIHtcbiAgICAgICAgLy8gQ29udmVyIHRoZSBibG9iIHRvIGEgYmluYXJ5QXJyYXkgYW5kIHRoZW4gdG8gYSBzdHJpbmcuXG4gICAgICAgIHZhciBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIEJhY2t3YXJkcy1jb21wYXRpYmxlIHByZWZpeCBmb3IgdGhlIGJsb2IgdHlwZS5cbiAgICAgICAgICAgIHZhciBzdHIgPSBCTE9CX1RZUEVfUFJFRklYICsgdmFsdWUudHlwZSArICd+JyArIGJ1ZmZlclRvU3RyaW5nKHRoaXMucmVzdWx0KTtcblxuICAgICAgICAgICAgY2FsbGJhY2soU0VSSUFMSVpFRF9NQVJLRVIgKyBUWVBFX0JMT0IgKyBzdHIpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGZpbGVSZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjYWxsYmFjayhKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiQ291bGRuJ3QgY29udmVydCB2YWx1ZSBpbnRvIGEgSlNPTiBzdHJpbmc6IFwiLCB2YWx1ZSk7XG5cbiAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBEZXNlcmlhbGl6ZSBkYXRhIHdlJ3ZlIGluc2VydGVkIGludG8gYSB2YWx1ZSBjb2x1bW4vZmllbGQuIFdlIHBsYWNlXG4vLyBzcGVjaWFsIG1hcmtlcnMgaW50byBvdXIgc3RyaW5ncyB0byBtYXJrIHRoZW0gYXMgZW5jb2RlZDsgdGhpcyBpc24ndFxuLy8gYXMgbmljZSBhcyBhIG1ldGEgZmllbGQsIGJ1dCBpdCdzIHRoZSBvbmx5IHNhbmUgdGhpbmcgd2UgY2FuIGRvIHdoaWxzdFxuLy8ga2VlcGluZyBsb2NhbFN0b3JhZ2Ugc3VwcG9ydCBpbnRhY3QuXG4vL1xuLy8gT2Z0ZW50aW1lcyB0aGlzIHdpbGwganVzdCBkZXNlcmlhbGl6ZSBKU09OIGNvbnRlbnQsIGJ1dCBpZiB3ZSBoYXZlIGFcbi8vIHNwZWNpYWwgbWFya2VyIChTRVJJQUxJWkVEX01BUktFUiwgZGVmaW5lZCBhYm92ZSksIHdlIHdpbGwgZXh0cmFjdFxuLy8gc29tZSBraW5kIG9mIGFycmF5YnVmZmVyL2JpbmFyeSBkYXRhL3R5cGVkIGFycmF5IG91dCBvZiB0aGUgc3RyaW5nLlxuZnVuY3Rpb24gZGVzZXJpYWxpemUodmFsdWUpIHtcbiAgICAvLyBJZiB3ZSBoYXZlbid0IG1hcmtlZCB0aGlzIHN0cmluZyBhcyBiZWluZyBzcGVjaWFsbHkgc2VyaWFsaXplZCAoaS5lLlxuICAgIC8vIHNvbWV0aGluZyBvdGhlciB0aGFuIHNlcmlhbGl6ZWQgSlNPTiksIHdlIGNhbiBqdXN0IHJldHVybiBpdCBhbmQgYmVcbiAgICAvLyBkb25lIHdpdGggaXQuXG4gICAgaWYgKHZhbHVlLnN1YnN0cmluZygwLCBTRVJJQUxJWkVEX01BUktFUl9MRU5HVEgpICE9PSBTRVJJQUxJWkVEX01BUktFUikge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIGRlYWxzIHdpdGggZGVzZXJpYWxpemluZyBzb21lIGtpbmQgb2YgQmxvYiBvclxuICAgIC8vIFR5cGVkQXJyYXkuIEZpcnN0IHdlIHNlcGFyYXRlIG91dCB0aGUgdHlwZSBvZiBkYXRhIHdlJ3JlIGRlYWxpbmdcbiAgICAvLyB3aXRoIGZyb20gdGhlIGRhdGEgaXRzZWxmLlxuICAgIHZhciBzZXJpYWxpemVkU3RyaW5nID0gdmFsdWUuc3Vic3RyaW5nKFRZUEVfU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIKTtcbiAgICB2YXIgdHlwZSA9IHZhbHVlLnN1YnN0cmluZyhTRVJJQUxJWkVEX01BUktFUl9MRU5HVEgsIFRZUEVfU0VSSUFMSVpFRF9NQVJLRVJfTEVOR1RIKTtcblxuICAgIHZhciBibG9iVHlwZTtcbiAgICAvLyBCYWNrd2FyZHMtY29tcGF0aWJsZSBibG9iIHR5cGUgc2VyaWFsaXphdGlvbiBzdHJhdGVneS5cbiAgICAvLyBEQnMgY3JlYXRlZCB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGxvY2FsRm9yYWdlIHdpbGwgc2ltcGx5IG5vdCBoYXZlIHRoZSBibG9iIHR5cGUuXG4gICAgaWYgKHR5cGUgPT09IFRZUEVfQkxPQiAmJiBCTE9CX1RZUEVfUFJFRklYX1JFR0VYLnRlc3Qoc2VyaWFsaXplZFN0cmluZykpIHtcbiAgICAgICAgdmFyIG1hdGNoZXIgPSBzZXJpYWxpemVkU3RyaW5nLm1hdGNoKEJMT0JfVFlQRV9QUkVGSVhfUkVHRVgpO1xuICAgICAgICBibG9iVHlwZSA9IG1hdGNoZXJbMV07XG4gICAgICAgIHNlcmlhbGl6ZWRTdHJpbmcgPSBzZXJpYWxpemVkU3RyaW5nLnN1YnN0cmluZyhtYXRjaGVyWzBdLmxlbmd0aCk7XG4gICAgfVxuICAgIHZhciBidWZmZXIgPSBzdHJpbmdUb0J1ZmZlcihzZXJpYWxpemVkU3RyaW5nKTtcblxuICAgIC8vIFJldHVybiB0aGUgcmlnaHQgdHlwZSBiYXNlZCBvbiB0aGUgY29kZS90eXBlIHNldCBkdXJpbmdcbiAgICAvLyBzZXJpYWxpemF0aW9uLlxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFRZUEVfQVJSQVlCVUZGRVI6XG4gICAgICAgICAgICByZXR1cm4gYnVmZmVyO1xuICAgICAgICBjYXNlIFRZUEVfQkxPQjpcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVCbG9iKFtidWZmZXJdLCB7IHR5cGU6IGJsb2JUeXBlIH0pO1xuICAgICAgICBjYXNlIFRZUEVfSU5UOEFSUkFZOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnQ4QXJyYXkoYnVmZmVyKTtcbiAgICAgICAgY2FzZSBUWVBFX1VJTlQ4QVJSQVk6XG4gICAgICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTtcbiAgICAgICAgY2FzZSBUWVBFX1VJTlQ4Q0xBTVBFREFSUkFZOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBVaW50OENsYW1wZWRBcnJheShidWZmZXIpO1xuICAgICAgICBjYXNlIFRZUEVfSU5UMTZBUlJBWTpcbiAgICAgICAgICAgIHJldHVybiBuZXcgSW50MTZBcnJheShidWZmZXIpO1xuICAgICAgICBjYXNlIFRZUEVfVUlOVDE2QVJSQVk6XG4gICAgICAgICAgICByZXR1cm4gbmV3IFVpbnQxNkFycmF5KGJ1ZmZlcik7XG4gICAgICAgIGNhc2UgVFlQRV9JTlQzMkFSUkFZOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnQzMkFycmF5KGJ1ZmZlcik7XG4gICAgICAgIGNhc2UgVFlQRV9VSU5UMzJBUlJBWTpcbiAgICAgICAgICAgIHJldHVybiBuZXcgVWludDMyQXJyYXkoYnVmZmVyKTtcbiAgICAgICAgY2FzZSBUWVBFX0ZMT0FUMzJBUlJBWTpcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQzMkFycmF5KGJ1ZmZlcik7XG4gICAgICAgIGNhc2UgVFlQRV9GTE9BVDY0QVJSQVk6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZsb2F0NjRBcnJheShidWZmZXIpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtvd24gdHlwZTogJyArIHR5cGUpO1xuICAgIH1cbn1cblxudmFyIGxvY2FsZm9yYWdlU2VyaWFsaXplciA9IHtcbiAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZSxcbiAgICBkZXNlcmlhbGl6ZTogZGVzZXJpYWxpemUsXG4gICAgc3RyaW5nVG9CdWZmZXI6IHN0cmluZ1RvQnVmZmVyLFxuICAgIGJ1ZmZlclRvU3RyaW5nOiBidWZmZXJUb1N0cmluZ1xufTtcblxuLypcbiAqIEluY2x1ZGVzIGNvZGUgZnJvbTpcbiAqXG4gKiBiYXNlNjQtYXJyYXlidWZmZXJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWtsYXN2aC9iYXNlNjQtYXJyYXlidWZmZXJcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTIgTmlrbGFzIHZvbiBIZXJ0emVuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlRGJUYWJsZSh0LCBkYkluZm8sIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSB7XG4gICAgdC5leGVjdXRlU3FsKCdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyAnICsgZGJJbmZvLnN0b3JlTmFtZSArICcgJyArICcoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwga2V5IHVuaXF1ZSwgdmFsdWUpJywgW10sIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTtcbn1cblxuLy8gT3BlbiB0aGUgV2ViU1FMIGRhdGFiYXNlIChhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgb25lIGlmIG9uZSBkaWRuJ3Rcbi8vIHByZXZpb3VzbHkgZXhpc3QpLCB1c2luZyBhbnkgb3B0aW9ucyBzZXQgaW4gdGhlIGNvbmZpZy5cbmZ1bmN0aW9uIF9pbml0U3RvcmFnZSQxKG9wdGlvbnMpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGRiSW5mbyA9IHtcbiAgICAgICAgZGI6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgZm9yICh2YXIgaSBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgICBkYkluZm9baV0gPSB0eXBlb2Ygb3B0aW9uc1tpXSAhPT0gJ3N0cmluZycgPyBvcHRpb25zW2ldLnRvU3RyaW5nKCkgOiBvcHRpb25zW2ldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGRiSW5mb1Byb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgLy8gT3BlbiB0aGUgZGF0YWJhc2U7IHRoZSBvcGVuRGF0YWJhc2UgQVBJIHdpbGwgYXV0b21hdGljYWxseVxuICAgICAgICAvLyBjcmVhdGUgaXQgZm9yIHVzIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkYkluZm8uZGIgPSBvcGVuRGF0YWJhc2UoZGJJbmZvLm5hbWUsIFN0cmluZyhkYkluZm8udmVyc2lvbiksIGRiSW5mby5kZXNjcmlwdGlvbiwgZGJJbmZvLnNpemUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIG91ciBrZXkvdmFsdWUgdGFibGUgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAgICAgICAgZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICBjcmVhdGVEYlRhYmxlKHQsIGRiSW5mbywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHNlbGYuX2RiSW5mbyA9IGRiSW5mbztcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9LCBmdW5jdGlvbiAodCwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBkYkluZm8uc2VyaWFsaXplciA9IGxvY2FsZm9yYWdlU2VyaWFsaXplcjtcbiAgICByZXR1cm4gZGJJbmZvUHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gdHJ5RXhlY3V0ZVNxbCh0LCBkYkluZm8sIHNxbFN0YXRlbWVudCwgYXJncywgY2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spIHtcbiAgICB0LmV4ZWN1dGVTcWwoc3FsU3RhdGVtZW50LCBhcmdzLCBjYWxsYmFjaywgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvci5jb2RlID09PSBlcnJvci5TWU5UQVhfRVJSKSB7XG4gICAgICAgICAgICB0LmV4ZWN1dGVTcWwoJ1NFTEVDVCBuYW1lIEZST00gc3FsaXRlX21hc3RlciAnICsgXCJXSEVSRSB0eXBlPSd0YWJsZScgQU5EIG5hbWUgPSA/XCIsIFtkYkluZm8uc3RvcmVOYW1lXSwgZnVuY3Rpb24gKHQsIHJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdHMucm93cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIHRhYmxlIGlzIG1pc3NpbmcgKHdhcyBkZWxldGVkKVxuICAgICAgICAgICAgICAgICAgICAvLyByZS1jcmVhdGUgaXQgdGFibGUgYW5kIHJldHJ5XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZURiVGFibGUodCwgZGJJbmZvLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0LmV4ZWN1dGVTcWwoc3FsU3RhdGVtZW50LCBhcmdzLCBjYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGVycm9yQ2FsbGJhY2spO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yQ2FsbGJhY2sodCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIGVycm9yQ2FsbGJhY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3JDYWxsYmFjayh0LCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9LCBlcnJvckNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gZ2V0SXRlbSQxKGtleSwgY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICBrZXkgPSBub3JtYWxpemVLZXkoa2V5KTtcblxuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgICAgICBkYkluZm8uZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgICAgICAgICB0cnlFeGVjdXRlU3FsKHQsIGRiSW5mbywgJ1NFTEVDVCAqIEZST00gJyArIGRiSW5mby5zdG9yZU5hbWUgKyAnIFdIRVJFIGtleSA9ID8gTElNSVQgMScsIFtrZXldLCBmdW5jdGlvbiAodCwgcmVzdWx0cykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0cy5yb3dzLmxlbmd0aCA/IHJlc3VsdHMucm93cy5pdGVtKDApLnZhbHVlIDogbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhpcyBpcyBzZXJpYWxpemVkIGNvbnRlbnQgd2UgbmVlZCB0b1xuICAgICAgICAgICAgICAgICAgICAvLyB1bnBhY2suXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGRiSW5mby5zZXJpYWxpemVyLmRlc2VyaWFsaXplKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gaXRlcmF0ZSQxKGl0ZXJhdG9yLCBjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG5cbiAgICAgICAgICAgIGRiSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgIHRyeUV4ZWN1dGVTcWwodCwgZGJJbmZvLCAnU0VMRUNUICogRlJPTSAnICsgZGJJbmZvLnN0b3JlTmFtZSwgW10sIGZ1bmN0aW9uICh0LCByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByb3dzID0gcmVzdWx0cy5yb3dzO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGVuZ3RoID0gcm93cy5sZW5ndGg7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSByb3dzLml0ZW0oaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gaXRlbS52YWx1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoaXMgaXMgc2VyaWFsaXplZCBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBuZWVkIHRvIHVucGFjay5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBkYkluZm8uc2VyaWFsaXplci5kZXNlcmlhbGl6ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBpdGVyYXRvcihyZXN1bHQsIGl0ZW0ua2V5LCBpICsgMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZvaWQoMCkgcHJldmVudHMgcHJvYmxlbXMgd2l0aCByZWRlZmluaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mIGB1bmRlZmluZWRgLlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbiAodCwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBfc2V0SXRlbShrZXksIHZhbHVlLCBjYWxsYmFjaywgcmV0cmllc0xlZnQpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICBrZXkgPSBub3JtYWxpemVLZXkoa2V5KTtcblxuICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIFRoZSBsb2NhbFN0b3JhZ2UgQVBJIGRvZXNuJ3QgcmV0dXJuIHVuZGVmaW5lZCB2YWx1ZXMgaW4gYW5cbiAgICAgICAgICAgIC8vIFwiZXhwZWN0ZWRcIiB3YXksIHNvIHVuZGVmaW5lZCBpcyBhbHdheXMgY2FzdCB0byBudWxsIGluIGFsbFxuICAgICAgICAgICAgLy8gZHJpdmVycy4gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9sb2NhbEZvcmFnZS9wdWxsLzQyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2F2ZSB0aGUgb3JpZ2luYWwgdmFsdWUgdG8gcGFzcyB0byB0aGUgY2FsbGJhY2suXG4gICAgICAgICAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgICAgICB2YXIgZGJJbmZvID0gc2VsZi5fZGJJbmZvO1xuICAgICAgICAgICAgZGJJbmZvLnNlcmlhbGl6ZXIuc2VyaWFsaXplKHZhbHVlLCBmdW5jdGlvbiAodmFsdWUsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnlFeGVjdXRlU3FsKHQsIGRiSW5mbywgJ0lOU0VSVCBPUiBSRVBMQUNFIElOVE8gJyArIGRiSW5mby5zdG9yZU5hbWUgKyAnICcgKyAnKGtleSwgdmFsdWUpIFZBTFVFUyAoPywgPyknLCBba2V5LCB2YWx1ZV0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG9yaWdpbmFsVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbiAoc3FsRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSB0cmFuc2FjdGlvbiBmYWlsZWQ7IGNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0byBzZWUgaWYgaXQncyBhIHF1b3RhIGVycm9yLlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNxbEVycm9yLmNvZGUgPT09IHNxbEVycm9yLlFVT1RBX0VSUikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIHJlamVjdCB0aGUgY2FsbGJhY2sgb3V0cmlnaHQgZm9yIG5vdywgYnV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXQncyB3b3J0aCB0cnlpbmcgdG8gcmUtcnVuIHRoZSB0cmFuc2FjdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFdmVuIGlmIHRoZSB1c2VyIGFjY2VwdHMgdGhlIHByb21wdCB0byB1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtb3JlIHN0b3JhZ2Ugb24gU2FmYXJpLCB0aGlzIGVycm9yIHdpbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZSBjYWxsZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcnkgdG8gcmUtcnVuIHRoZSB0cmFuc2FjdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0cmllc0xlZnQgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoX3NldEl0ZW0uYXBwbHkoc2VsZiwgW2tleSwgb3JpZ2luYWxWYWx1ZSwgY2FsbGJhY2ssIHJldHJpZXNMZWZ0IC0gMV0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3Qoc3FsRXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gc2V0SXRlbSQxKGtleSwgdmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIF9zZXRJdGVtLmFwcGx5KHRoaXMsIFtrZXksIHZhbHVlLCBjYWxsYmFjaywgMV0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJdGVtJDEoa2V5LCBjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIGtleSA9IG5vcm1hbGl6ZUtleShrZXkpO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRiSW5mbyA9IHNlbGYuX2RiSW5mbztcbiAgICAgICAgICAgIGRiSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgIHRyeUV4ZWN1dGVTcWwodCwgZGJJbmZvLCAnREVMRVRFIEZST00gJyArIGRiSW5mby5zdG9yZU5hbWUgKyAnIFdIRVJFIGtleSA9ID8nLCBba2V5XSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gRGVsZXRlcyBldmVyeSBpdGVtIGluIHRoZSB0YWJsZS5cbi8vIFRPRE86IEZpbmQgb3V0IGlmIHRoaXMgcmVzZXRzIHRoZSBBVVRPX0lOQ1JFTUVOVCBudW1iZXIuXG5mdW5jdGlvbiBjbGVhciQxKGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRiSW5mbyA9IHNlbGYuX2RiSW5mbztcbiAgICAgICAgICAgIGRiSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgIHRyeUV4ZWN1dGVTcWwodCwgZGJJbmZvLCAnREVMRVRFIEZST00gJyArIGRiSW5mby5zdG9yZU5hbWUsIFtdLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbiAodCwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKHJlamVjdCk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG4vLyBEb2VzIGEgc2ltcGxlIGBDT1VOVChrZXkpYCB0byBnZXQgdGhlIG51bWJlciBvZiBpdGVtcyBzdG9yZWQgaW5cbi8vIGxvY2FsRm9yYWdlLlxuZnVuY3Rpb24gbGVuZ3RoJDEoY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZGJJbmZvID0gc2VsZi5fZGJJbmZvO1xuICAgICAgICAgICAgZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICAgICAgLy8gQWhoaCwgU1FMIG1ha2VzIHRoaXMgb25lIHNvb29vb28gZWFzeS5cbiAgICAgICAgICAgICAgICB0cnlFeGVjdXRlU3FsKHQsIGRiSW5mbywgJ1NFTEVDVCBDT1VOVChrZXkpIGFzIGMgRlJPTSAnICsgZGJJbmZvLnN0b3JlTmFtZSwgW10sIGZ1bmN0aW9uICh0LCByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSByZXN1bHRzLnJvd3MuaXRlbSgwKS5jO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gUmV0dXJuIHRoZSBrZXkgbG9jYXRlZCBhdCBrZXkgaW5kZXggWDsgZXNzZW50aWFsbHkgZ2V0cyB0aGUga2V5IGZyb20gYVxuLy8gYFdIRVJFIGlkID0gP2AuIFRoaXMgaXMgdGhlIG1vc3QgZWZmaWNpZW50IHdheSBJIGNhbiB0aGluayB0byBpbXBsZW1lbnRcbi8vIHRoaXMgcmFyZWx5LXVzZWQgKGluIG15IGV4cGVyaWVuY2UpIHBhcnQgb2YgdGhlIEFQSSwgYnV0IGl0IGNhbiBzZWVtXG4vLyBpbmNvbnNpc3RlbnQsIGJlY2F1c2Ugd2UgZG8gYElOU0VSVCBPUiBSRVBMQUNFIElOVE9gIG9uIGBzZXRJdGVtKClgLCBzb1xuLy8gdGhlIElEIG9mIGVhY2gga2V5IHdpbGwgY2hhbmdlIGV2ZXJ5IHRpbWUgaXQncyB1cGRhdGVkLiBQZXJoYXBzIGEgc3RvcmVkXG4vLyBwcm9jZWR1cmUgZm9yIHRoZSBgc2V0SXRlbSgpYCBTUUwgd291bGQgc29sdmUgdGhpcyBwcm9ibGVtP1xuLy8gVE9ETzogRG9uJ3QgY2hhbmdlIElEIG9uIGBzZXRJdGVtKClgLlxuZnVuY3Rpb24ga2V5JDEobiwgY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZGJJbmZvID0gc2VsZi5fZGJJbmZvO1xuICAgICAgICAgICAgZGJJbmZvLmRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICAgICAgdHJ5RXhlY3V0ZVNxbCh0LCBkYkluZm8sICdTRUxFQ1Qga2V5IEZST00gJyArIGRiSW5mby5zdG9yZU5hbWUgKyAnIFdIRVJFIGlkID0gPyBMSU1JVCAxJywgW24gKyAxXSwgZnVuY3Rpb24gKHQsIHJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHJlc3VsdHMucm93cy5sZW5ndGggPyByZXN1bHRzLnJvd3MuaXRlbSgwKS5rZXkgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlbXCJjYXRjaFwiXShyZWplY3QpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24ga2V5cyQxKGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgc2VsZi5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRiSW5mbyA9IHNlbGYuX2RiSW5mbztcbiAgICAgICAgICAgIGRiSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgIHRyeUV4ZWN1dGVTcWwodCwgZGJJbmZvLCAnU0VMRUNUIGtleSBGUk9NICcgKyBkYkluZm8uc3RvcmVOYW1lLCBbXSwgZnVuY3Rpb24gKHQsIHJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGtleXMgPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdHMucm93cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5cy5wdXNoKHJlc3VsdHMucm93cy5pdGVtKGkpLmtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGtleXMpO1xuICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uICh0LCBlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pW1wiY2F0Y2hcIl0ocmVqZWN0KTtcbiAgICB9KTtcblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbi8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJkYXRhYmFzZS8jZGF0YWJhc2VzXG4vLyA+IFRoZXJlIGlzIG5vIHdheSB0byBlbnVtZXJhdGUgb3IgZGVsZXRlIHRoZSBkYXRhYmFzZXMgYXZhaWxhYmxlIGZvciBhbiBvcmlnaW4gZnJvbSB0aGlzIEFQSS5cbmZ1bmN0aW9uIGdldEFsbFN0b3JlTmFtZXMoZGIpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICB0LmV4ZWN1dGVTcWwoJ1NFTEVDVCBuYW1lIEZST00gc3FsaXRlX21hc3RlciAnICsgXCJXSEVSRSB0eXBlPSd0YWJsZScgQU5EIG5hbWUgPD4gJ19fV2ViS2l0RGF0YWJhc2VJbmZvVGFibGVfXydcIiwgW10sIGZ1bmN0aW9uICh0LCByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgdmFyIHN0b3JlTmFtZXMgPSBbXTtcblxuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5yb3dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0b3JlTmFtZXMucHVzaChyZXN1bHRzLnJvd3MuaXRlbShpKS5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgZGI6IGRiLFxuICAgICAgICAgICAgICAgICAgICBzdG9yZU5hbWVzOiBzdG9yZU5hbWVzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LCBmdW5jdGlvbiAodCwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIGZ1bmN0aW9uIChzcWxFcnJvcikge1xuICAgICAgICAgICAgcmVqZWN0KHNxbEVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGRyb3BJbnN0YW5jZSQxKG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgY2FsbGJhY2sgPSBnZXRDYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXG4gICAgdmFyIGN1cnJlbnRDb25maWcgPSB0aGlzLmNvbmZpZygpO1xuICAgIG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zIHx8IHt9O1xuICAgIGlmICghb3B0aW9ucy5uYW1lKSB7XG4gICAgICAgIG9wdGlvbnMubmFtZSA9IG9wdGlvbnMubmFtZSB8fCBjdXJyZW50Q29uZmlnLm5hbWU7XG4gICAgICAgIG9wdGlvbnMuc3RvcmVOYW1lID0gb3B0aW9ucy5zdG9yZU5hbWUgfHwgY3VycmVudENvbmZpZy5zdG9yZU5hbWU7XG4gICAgfVxuXG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIHZhciBwcm9taXNlO1xuICAgIGlmICghb3B0aW9ucy5uYW1lKSB7XG4gICAgICAgIHByb21pc2UgPSBQcm9taXNlJDEucmVqZWN0KCdJbnZhbGlkIGFyZ3VtZW50cycpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgICB2YXIgZGI7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5uYW1lID09PSBjdXJyZW50Q29uZmlnLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAvLyB1c2UgdGhlIGRiIHJlZmVyZW5jZSBvZiB0aGUgY3VycmVudCBpbnN0YW5jZVxuICAgICAgICAgICAgICAgIGRiID0gc2VsZi5fZGJJbmZvLmRiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZShvcHRpb25zLm5hbWUsICcnLCAnJywgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghb3B0aW9ucy5zdG9yZU5hbWUpIHtcbiAgICAgICAgICAgICAgICAvLyBkcm9wIGFsbCBkYXRhYmFzZSB0YWJsZXNcbiAgICAgICAgICAgICAgICByZXNvbHZlKGdldEFsbFN0b3JlTmFtZXMoZGIpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgICAgIGRiOiBkYixcbiAgICAgICAgICAgICAgICAgICAgc3RvcmVOYW1lczogW29wdGlvbnMuc3RvcmVOYW1lXVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChvcGVyYXRpb25JbmZvKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uSW5mby5kYi50cmFuc2FjdGlvbihmdW5jdGlvbiAodCkge1xuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkcm9wVGFibGUoc3RvcmVOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdC5leGVjdXRlU3FsKCdEUk9QIFRBQkxFIElGIEVYSVNUUyAnICsgc3RvcmVOYW1lLCBbXSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHQsIGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHZhciBvcGVyYXRpb25zID0gW107XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBvcGVyYXRpb25JbmZvLnN0b3JlTmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbnMucHVzaChkcm9wVGFibGUob3BlcmF0aW9uSW5mby5zdG9yZU5hbWVzW2ldKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBQcm9taXNlJDEuYWxsKG9wZXJhdGlvbnMpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9KVtcImNhdGNoXCJdKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChzcWxFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3Qoc3FsRXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbnZhciB3ZWJTUUxTdG9yYWdlID0ge1xuICAgIF9kcml2ZXI6ICd3ZWJTUUxTdG9yYWdlJyxcbiAgICBfaW5pdFN0b3JhZ2U6IF9pbml0U3RvcmFnZSQxLFxuICAgIF9zdXBwb3J0OiBpc1dlYlNRTFZhbGlkKCksXG4gICAgaXRlcmF0ZTogaXRlcmF0ZSQxLFxuICAgIGdldEl0ZW06IGdldEl0ZW0kMSxcbiAgICBzZXRJdGVtOiBzZXRJdGVtJDEsXG4gICAgcmVtb3ZlSXRlbTogcmVtb3ZlSXRlbSQxLFxuICAgIGNsZWFyOiBjbGVhciQxLFxuICAgIGxlbmd0aDogbGVuZ3RoJDEsXG4gICAga2V5OiBrZXkkMSxcbiAgICBrZXlzOiBrZXlzJDEsXG4gICAgZHJvcEluc3RhbmNlOiBkcm9wSW5zdGFuY2UkMVxufTtcblxuZnVuY3Rpb24gaXNMb2NhbFN0b3JhZ2VWYWxpZCgpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGxvY2FsU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCcgJiYgJ3NldEl0ZW0nIGluIGxvY2FsU3RvcmFnZSAmJlxuICAgICAgICAvLyBpbiBJRTggdHlwZW9mIGxvY2FsU3RvcmFnZS5zZXRJdGVtID09PSAnb2JqZWN0J1xuICAgICAgICAhIWxvY2FsU3RvcmFnZS5zZXRJdGVtO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gX2dldEtleVByZWZpeChvcHRpb25zLCBkZWZhdWx0Q29uZmlnKSB7XG4gICAgdmFyIGtleVByZWZpeCA9IG9wdGlvbnMubmFtZSArICcvJztcblxuICAgIGlmIChvcHRpb25zLnN0b3JlTmFtZSAhPT0gZGVmYXVsdENvbmZpZy5zdG9yZU5hbWUpIHtcbiAgICAgICAga2V5UHJlZml4ICs9IG9wdGlvbnMuc3RvcmVOYW1lICsgJy8nO1xuICAgIH1cbiAgICByZXR1cm4ga2V5UHJlZml4O1xufVxuXG4vLyBDaGVjayBpZiBsb2NhbFN0b3JhZ2UgdGhyb3dzIHdoZW4gc2F2aW5nIGFuIGl0ZW1cbmZ1bmN0aW9uIGNoZWNrSWZMb2NhbFN0b3JhZ2VUaHJvd3MoKSB7XG4gICAgdmFyIGxvY2FsU3RvcmFnZVRlc3RLZXkgPSAnX2xvY2FsZm9yYWdlX3N1cHBvcnRfdGVzdCc7XG5cbiAgICB0cnkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0b3JhZ2VUZXN0S2V5LCB0cnVlKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obG9jYWxTdG9yYWdlVGVzdEtleSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG4vLyBDaGVjayBpZiBsb2NhbFN0b3JhZ2UgaXMgdXNhYmxlIGFuZCBhbGxvd3MgdG8gc2F2ZSBhbiBpdGVtXG4vLyBUaGlzIG1ldGhvZCBjaGVja3MgaWYgbG9jYWxTdG9yYWdlIGlzIHVzYWJsZSBpbiBTYWZhcmkgUHJpdmF0ZSBCcm93c2luZ1xuLy8gbW9kZSwgb3IgaW4gYW55IG90aGVyIGNhc2Ugd2hlcmUgdGhlIGF2YWlsYWJsZSBxdW90YSBmb3IgbG9jYWxTdG9yYWdlXG4vLyBpcyAwIGFuZCB0aGVyZSB3YXNuJ3QgYW55IHNhdmVkIGl0ZW1zIHlldC5cbmZ1bmN0aW9uIF9pc0xvY2FsU3RvcmFnZVVzYWJsZSgpIHtcbiAgICByZXR1cm4gIWNoZWNrSWZMb2NhbFN0b3JhZ2VUaHJvd3MoKSB8fCBsb2NhbFN0b3JhZ2UubGVuZ3RoID4gMDtcbn1cblxuLy8gQ29uZmlnIHRoZSBsb2NhbFN0b3JhZ2UgYmFja2VuZCwgdXNpbmcgb3B0aW9ucyBzZXQgaW4gdGhlIGNvbmZpZy5cbmZ1bmN0aW9uIF9pbml0U3RvcmFnZSQyKG9wdGlvbnMpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGRiSW5mbyA9IHt9O1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgIGZvciAodmFyIGkgaW4gb3B0aW9ucykge1xuICAgICAgICAgICAgZGJJbmZvW2ldID0gb3B0aW9uc1tpXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRiSW5mby5rZXlQcmVmaXggPSBfZ2V0S2V5UHJlZml4KG9wdGlvbnMsIHNlbGYuX2RlZmF1bHRDb25maWcpO1xuXG4gICAgaWYgKCFfaXNMb2NhbFN0b3JhZ2VVc2FibGUoKSkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZSQxLnJlamVjdCgpO1xuICAgIH1cblxuICAgIHNlbGYuX2RiSW5mbyA9IGRiSW5mbztcbiAgICBkYkluZm8uc2VyaWFsaXplciA9IGxvY2FsZm9yYWdlU2VyaWFsaXplcjtcblxuICAgIHJldHVybiBQcm9taXNlJDEucmVzb2x2ZSgpO1xufVxuXG4vLyBSZW1vdmUgYWxsIGtleXMgZnJvbSB0aGUgZGF0YXN0b3JlLCBlZmZlY3RpdmVseSBkZXN0cm95aW5nIGFsbCBkYXRhIGluXG4vLyB0aGUgYXBwJ3Mga2V5L3ZhbHVlIHN0b3JlIVxuZnVuY3Rpb24gY2xlYXIkMihjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB2YXIgcHJvbWlzZSA9IHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGtleVByZWZpeCA9IHNlbGYuX2RiSW5mby5rZXlQcmVmaXg7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IGxvY2FsU3RvcmFnZS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgdmFyIGtleSA9IGxvY2FsU3RvcmFnZS5rZXkoaSk7XG5cbiAgICAgICAgICAgIGlmIChrZXkuaW5kZXhPZihrZXlQcmVmaXgpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gUmV0cmlldmUgYW4gaXRlbSBmcm9tIHRoZSBzdG9yZS4gVW5saWtlIHRoZSBvcmlnaW5hbCBhc3luY19zdG9yYWdlXG4vLyBsaWJyYXJ5IGluIEdhaWEsIHdlIGRvbid0IG1vZGlmeSByZXR1cm4gdmFsdWVzIGF0IGFsbC4gSWYgYSBrZXkncyB2YWx1ZVxuLy8gaXMgYHVuZGVmaW5lZGAsIHdlIHBhc3MgdGhhdCB2YWx1ZSB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG5mdW5jdGlvbiBnZXRJdGVtJDIoa2V5LCBjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIGtleSA9IG5vcm1hbGl6ZUtleShrZXkpO1xuXG4gICAgdmFyIHByb21pc2UgPSBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgIHZhciByZXN1bHQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShkYkluZm8ua2V5UHJlZml4ICsga2V5KTtcblxuICAgICAgICAvLyBJZiBhIHJlc3VsdCB3YXMgZm91bmQsIHBhcnNlIGl0IGZyb20gdGhlIHNlcmlhbGl6ZWRcbiAgICAgICAgLy8gc3RyaW5nIGludG8gYSBKUyBvYmplY3QuIElmIHJlc3VsdCBpc24ndCB0cnV0aHksIHRoZSBrZXlcbiAgICAgICAgLy8gaXMgbGlrZWx5IHVuZGVmaW5lZCBhbmQgd2UnbGwgcGFzcyBpdCBzdHJhaWdodCB0byB0aGVcbiAgICAgICAgLy8gY2FsbGJhY2suXG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGRiSW5mby5zZXJpYWxpemVyLmRlc2VyaWFsaXplKHJlc3VsdCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gSXRlcmF0ZSBvdmVyIGFsbCBpdGVtcyBpbiB0aGUgc3RvcmUuXG5mdW5jdGlvbiBpdGVyYXRlJDIoaXRlcmF0b3IsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgdmFyIHByb21pc2UgPSBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgIHZhciBrZXlQcmVmaXggPSBkYkluZm8ua2V5UHJlZml4O1xuICAgICAgICB2YXIga2V5UHJlZml4TGVuZ3RoID0ga2V5UHJlZml4Lmxlbmd0aDtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGxvY2FsU3RvcmFnZS5sZW5ndGg7XG5cbiAgICAgICAgLy8gV2UgdXNlIGEgZGVkaWNhdGVkIGl0ZXJhdG9yIGluc3RlYWQgb2YgdGhlIGBpYCB2YXJpYWJsZSBiZWxvd1xuICAgICAgICAvLyBzbyBvdGhlciBrZXlzIHdlIGZldGNoIGluIGxvY2FsU3RvcmFnZSBhcmVuJ3QgY291bnRlZCBpblxuICAgICAgICAvLyB0aGUgYGl0ZXJhdGlvbk51bWJlcmAgYXJndW1lbnQgcGFzc2VkIHRvIHRoZSBgaXRlcmF0ZSgpYFxuICAgICAgICAvLyBjYWxsYmFjay5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gU2VlOiBnaXRodWIuY29tL21vemlsbGEvbG9jYWxGb3JhZ2UvcHVsbC80MzUjZGlzY3Vzc2lvbl9yMzgwNjE1MzBcbiAgICAgICAgdmFyIGl0ZXJhdGlvbk51bWJlciA9IDE7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGtleSA9IGxvY2FsU3RvcmFnZS5rZXkoaSk7XG4gICAgICAgICAgICBpZiAoa2V5LmluZGV4T2Yoa2V5UHJlZml4KSAhPT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcblxuICAgICAgICAgICAgLy8gSWYgYSByZXN1bHQgd2FzIGZvdW5kLCBwYXJzZSBpdCBmcm9tIHRoZSBzZXJpYWxpemVkXG4gICAgICAgICAgICAvLyBzdHJpbmcgaW50byBhIEpTIG9iamVjdC4gSWYgcmVzdWx0IGlzbid0IHRydXRoeSwgdGhlXG4gICAgICAgICAgICAvLyBrZXkgaXMgbGlrZWx5IHVuZGVmaW5lZCBhbmQgd2UnbGwgcGFzcyBpdCBzdHJhaWdodFxuICAgICAgICAgICAgLy8gdG8gdGhlIGl0ZXJhdG9yLlxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBkYkluZm8uc2VyaWFsaXplci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhbHVlID0gaXRlcmF0b3IodmFsdWUsIGtleS5zdWJzdHJpbmcoa2V5UHJlZml4TGVuZ3RoKSwgaXRlcmF0aW9uTnVtYmVyKyspO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gU2FtZSBhcyBsb2NhbFN0b3JhZ2UncyBrZXkoKSBtZXRob2QsIGV4Y2VwdCB0YWtlcyBhIGNhbGxiYWNrLlxuZnVuY3Rpb24ga2V5JDIobiwgY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIHByb21pc2UgPSBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgIHZhciByZXN1bHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHQgPSBsb2NhbFN0b3JhZ2Uua2V5KG4pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB0aGUgcHJlZml4IGZyb20gdGhlIGtleSwgaWYgYSBrZXkgaXMgZm91bmQuXG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdWJzdHJpbmcoZGJJbmZvLmtleVByZWZpeC5sZW5ndGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbmZ1bmN0aW9uIGtleXMkMihjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB2YXIgcHJvbWlzZSA9IHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRiSW5mbyA9IHNlbGYuX2RiSW5mbztcbiAgICAgICAgdmFyIGxlbmd0aCA9IGxvY2FsU3RvcmFnZS5sZW5ndGg7XG4gICAgICAgIHZhciBrZXlzID0gW107XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGl0ZW1LZXkgPSBsb2NhbFN0b3JhZ2Uua2V5KGkpO1xuICAgICAgICAgICAgaWYgKGl0ZW1LZXkuaW5kZXhPZihkYkluZm8ua2V5UHJlZml4KSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGtleXMucHVzaChpdGVtS2V5LnN1YnN0cmluZyhkYkluZm8ua2V5UHJlZml4Lmxlbmd0aCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG4vLyBTdXBwbHkgdGhlIG51bWJlciBvZiBrZXlzIGluIHRoZSBkYXRhc3RvcmUgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuZnVuY3Rpb24gbGVuZ3RoJDIoY2FsbGJhY2spIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIHByb21pc2UgPSBzZWxmLmtleXMoKS50aGVuKGZ1bmN0aW9uIChrZXlzKSB7XG4gICAgICAgIHJldHVybiBrZXlzLmxlbmd0aDtcbiAgICB9KTtcblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbi8vIFJlbW92ZSBhbiBpdGVtIGZyb20gdGhlIHN0b3JlLCBuaWNlIGFuZCBzaW1wbGUuXG5mdW5jdGlvbiByZW1vdmVJdGVtJDIoa2V5LCBjYWxsYmFjaykge1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIGtleSA9IG5vcm1hbGl6ZUtleShrZXkpO1xuXG4gICAgdmFyIHByb21pc2UgPSBzZWxmLnJlYWR5KCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGRiSW5mby5rZXlQcmVmaXggKyBrZXkpO1xuICAgIH0pO1xuXG4gICAgZXhlY3V0ZUNhbGxiYWNrKHByb21pc2UsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gU2V0IGEga2V5J3MgdmFsdWUgYW5kIHJ1biBhbiBvcHRpb25hbCBjYWxsYmFjayBvbmNlIHRoZSB2YWx1ZSBpcyBzZXQuXG4vLyBVbmxpa2UgR2FpYSdzIGltcGxlbWVudGF0aW9uLCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSB2YWx1ZSxcbi8vIGluIGNhc2UgeW91IHdhbnQgdG8gb3BlcmF0ZSBvbiB0aGF0IHZhbHVlIG9ubHkgYWZ0ZXIgeW91J3JlIHN1cmUgaXRcbi8vIHNhdmVkLCBvciBzb21ldGhpbmcgbGlrZSB0aGF0LlxuZnVuY3Rpb24gc2V0SXRlbSQyKGtleSwgdmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAga2V5ID0gbm9ybWFsaXplS2V5KGtleSk7XG5cbiAgICB2YXIgcHJvbWlzZSA9IHNlbGYucmVhZHkoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gQ29udmVydCB1bmRlZmluZWQgdmFsdWVzIHRvIG51bGwuXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2xvY2FsRm9yYWdlL3B1bGwvNDJcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNhdmUgdGhlIG9yaWdpbmFsIHZhbHVlIHRvIHBhc3MgdG8gdGhlIGNhbGxiYWNrLlxuICAgICAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSQxKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIHZhciBkYkluZm8gPSBzZWxmLl9kYkluZm87XG4gICAgICAgICAgICBkYkluZm8uc2VyaWFsaXplci5zZXJpYWxpemUodmFsdWUsIGZ1bmN0aW9uICh2YWx1ZSwgZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oZGJJbmZvLmtleVByZWZpeCArIGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShvcmlnaW5hbFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9jYWxTdG9yYWdlIGNhcGFjaXR5IGV4Y2VlZGVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogTWFrZSB0aGlzIGEgc3BlY2lmaWMgZXJyb3IvZXZlbnQuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5uYW1lID09PSAnUXVvdGFFeGNlZWRlZEVycm9yJyB8fCBlLm5hbWUgPT09ICdOU19FUlJPUl9ET01fUVVPVEFfUkVBQ0hFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgY2FsbGJhY2spO1xuICAgIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBkcm9wSW5zdGFuY2UkMihvcHRpb25zLCBjYWxsYmFjaykge1xuICAgIGNhbGxiYWNrID0gZ2V0Q2FsbGJhY2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICAgIG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zIHx8IHt9O1xuICAgIGlmICghb3B0aW9ucy5uYW1lKSB7XG4gICAgICAgIHZhciBjdXJyZW50Q29uZmlnID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgb3B0aW9ucy5uYW1lID0gb3B0aW9ucy5uYW1lIHx8IGN1cnJlbnRDb25maWcubmFtZTtcbiAgICAgICAgb3B0aW9ucy5zdG9yZU5hbWUgPSBvcHRpb25zLnN0b3JlTmFtZSB8fCBjdXJyZW50Q29uZmlnLnN0b3JlTmFtZTtcbiAgICB9XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIHByb21pc2U7XG4gICAgaWYgKCFvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgcHJvbWlzZSA9IFByb21pc2UkMS5yZWplY3QoJ0ludmFsaWQgYXJndW1lbnRzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcHJvbWlzZSA9IG5ldyBQcm9taXNlJDEoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgICAgIGlmICghb3B0aW9ucy5zdG9yZU5hbWUpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKG9wdGlvbnMubmFtZSArICcvJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoX2dldEtleVByZWZpeChvcHRpb25zLCBzZWxmLl9kZWZhdWx0Q29uZmlnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGtleVByZWZpeCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IGxvY2FsU3RvcmFnZS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgICAgIHZhciBrZXkgPSBsb2NhbFN0b3JhZ2Uua2V5KGkpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGtleS5pbmRleE9mKGtleVByZWZpeCkgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGV4ZWN1dGVDYWxsYmFjayhwcm9taXNlLCBjYWxsYmFjayk7XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbnZhciBsb2NhbFN0b3JhZ2VXcmFwcGVyID0ge1xuICAgIF9kcml2ZXI6ICdsb2NhbFN0b3JhZ2VXcmFwcGVyJyxcbiAgICBfaW5pdFN0b3JhZ2U6IF9pbml0U3RvcmFnZSQyLFxuICAgIF9zdXBwb3J0OiBpc0xvY2FsU3RvcmFnZVZhbGlkKCksXG4gICAgaXRlcmF0ZTogaXRlcmF0ZSQyLFxuICAgIGdldEl0ZW06IGdldEl0ZW0kMixcbiAgICBzZXRJdGVtOiBzZXRJdGVtJDIsXG4gICAgcmVtb3ZlSXRlbTogcmVtb3ZlSXRlbSQyLFxuICAgIGNsZWFyOiBjbGVhciQyLFxuICAgIGxlbmd0aDogbGVuZ3RoJDIsXG4gICAga2V5OiBrZXkkMixcbiAgICBrZXlzOiBrZXlzJDIsXG4gICAgZHJvcEluc3RhbmNlOiBkcm9wSW5zdGFuY2UkMlxufTtcblxudmFyIHNhbWVWYWx1ZSA9IGZ1bmN0aW9uIHNhbWVWYWx1ZSh4LCB5KSB7XG4gICAgcmV0dXJuIHggPT09IHkgfHwgdHlwZW9mIHggPT09ICdudW1iZXInICYmIHR5cGVvZiB5ID09PSAnbnVtYmVyJyAmJiBpc05hTih4KSAmJiBpc05hTih5KTtcbn07XG5cbnZhciBpbmNsdWRlcyA9IGZ1bmN0aW9uIGluY2x1ZGVzKGFycmF5LCBzZWFyY2hFbGVtZW50KSB7XG4gICAgdmFyIGxlbiA9IGFycmF5Lmxlbmd0aDtcbiAgICB2YXIgaSA9IDA7XG4gICAgd2hpbGUgKGkgPCBsZW4pIHtcbiAgICAgICAgaWYgKHNhbWVWYWx1ZShhcnJheVtpXSwgc2VhcmNoRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGkrKztcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gKGFyZykge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYXJnKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn07XG5cbi8vIERyaXZlcnMgYXJlIHN0b3JlZCBoZXJlIHdoZW4gYGRlZmluZURyaXZlcigpYCBpcyBjYWxsZWQuXG4vLyBUaGV5IGFyZSBzaGFyZWQgYWNyb3NzIGFsbCBpbnN0YW5jZXMgb2YgbG9jYWxGb3JhZ2UuXG52YXIgRGVmaW5lZERyaXZlcnMgPSB7fTtcblxudmFyIERyaXZlclN1cHBvcnQgPSB7fTtcblxudmFyIERlZmF1bHREcml2ZXJzID0ge1xuICAgIElOREVYRUREQjogYXN5bmNTdG9yYWdlLFxuICAgIFdFQlNRTDogd2ViU1FMU3RvcmFnZSxcbiAgICBMT0NBTFNUT1JBR0U6IGxvY2FsU3RvcmFnZVdyYXBwZXJcbn07XG5cbnZhciBEZWZhdWx0RHJpdmVyT3JkZXIgPSBbRGVmYXVsdERyaXZlcnMuSU5ERVhFRERCLl9kcml2ZXIsIERlZmF1bHREcml2ZXJzLldFQlNRTC5fZHJpdmVyLCBEZWZhdWx0RHJpdmVycy5MT0NBTFNUT1JBR0UuX2RyaXZlcl07XG5cbnZhciBPcHRpb25hbERyaXZlck1ldGhvZHMgPSBbJ2Ryb3BJbnN0YW5jZSddO1xuXG52YXIgTGlicmFyeU1ldGhvZHMgPSBbJ2NsZWFyJywgJ2dldEl0ZW0nLCAnaXRlcmF0ZScsICdrZXknLCAna2V5cycsICdsZW5ndGgnLCAncmVtb3ZlSXRlbScsICdzZXRJdGVtJ10uY29uY2F0KE9wdGlvbmFsRHJpdmVyTWV0aG9kcyk7XG5cbnZhciBEZWZhdWx0Q29uZmlnID0ge1xuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICBkcml2ZXI6IERlZmF1bHREcml2ZXJPcmRlci5zbGljZSgpLFxuICAgIG5hbWU6ICdsb2NhbGZvcmFnZScsXG4gICAgLy8gRGVmYXVsdCBEQiBzaXplIGlzIF9KVVNUIFVOREVSXyA1TUIsIGFzIGl0J3MgdGhlIGhpZ2hlc3Qgc2l6ZVxuICAgIC8vIHdlIGNhbiB1c2Ugd2l0aG91dCBhIHByb21wdC5cbiAgICBzaXplOiA0OTgwNzM2LFxuICAgIHN0b3JlTmFtZTogJ2tleXZhbHVlcGFpcnMnLFxuICAgIHZlcnNpb246IDEuMFxufTtcblxuZnVuY3Rpb24gY2FsbFdoZW5SZWFkeShsb2NhbEZvcmFnZUluc3RhbmNlLCBsaWJyYXJ5TWV0aG9kKSB7XG4gICAgbG9jYWxGb3JhZ2VJbnN0YW5jZVtsaWJyYXJ5TWV0aG9kXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hcmdzID0gYXJndW1lbnRzO1xuICAgICAgICByZXR1cm4gbG9jYWxGb3JhZ2VJbnN0YW5jZS5yZWFkeSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGxvY2FsRm9yYWdlSW5zdGFuY2VbbGlicmFyeU1ldGhvZF0uYXBwbHkobG9jYWxGb3JhZ2VJbnN0YW5jZSwgX2FyZ3MpO1xuICAgICAgICB9KTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBleHRlbmQoKSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcblxuICAgICAgICBpZiAoYXJnKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBfa2V5IGluIGFyZykge1xuICAgICAgICAgICAgICAgIGlmIChhcmcuaGFzT3duUHJvcGVydHkoX2tleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkoYXJnW19rZXldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdW19rZXldID0gYXJnW19rZXldLnNsaWNlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF1bX2tleV0gPSBhcmdbX2tleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYXJndW1lbnRzWzBdO1xufVxuXG52YXIgTG9jYWxGb3JhZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gTG9jYWxGb3JhZ2Uob3B0aW9ucykge1xuICAgICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTG9jYWxGb3JhZ2UpO1xuXG4gICAgICAgIGZvciAodmFyIGRyaXZlclR5cGVLZXkgaW4gRGVmYXVsdERyaXZlcnMpIHtcbiAgICAgICAgICAgIGlmIChEZWZhdWx0RHJpdmVycy5oYXNPd25Qcm9wZXJ0eShkcml2ZXJUeXBlS2V5KSkge1xuICAgICAgICAgICAgICAgIHZhciBkcml2ZXIgPSBEZWZhdWx0RHJpdmVyc1tkcml2ZXJUeXBlS2V5XTtcbiAgICAgICAgICAgICAgICB2YXIgZHJpdmVyTmFtZSA9IGRyaXZlci5fZHJpdmVyO1xuICAgICAgICAgICAgICAgIHRoaXNbZHJpdmVyVHlwZUtleV0gPSBkcml2ZXJOYW1lO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFEZWZpbmVkRHJpdmVyc1tkcml2ZXJOYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAvLyB3ZSBkb24ndCBuZWVkIHRvIHdhaXQgZm9yIHRoZSBwcm9taXNlLFxuICAgICAgICAgICAgICAgICAgICAvLyBzaW5jZSB0aGUgZGVmYXVsdCBkcml2ZXJzIGNhbiBiZSBkZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGEgYmxvY2tpbmcgbWFubmVyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRHJpdmVyKGRyaXZlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZGVmYXVsdENvbmZpZyA9IGV4dGVuZCh7fSwgRGVmYXVsdENvbmZpZyk7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGV4dGVuZCh7fSwgdGhpcy5fZGVmYXVsdENvbmZpZywgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMuX2RyaXZlclNldCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2luaXREcml2ZXIgPSBudWxsO1xuICAgICAgICB0aGlzLl9yZWFkeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9kYkluZm8gPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX3dyYXBMaWJyYXJ5TWV0aG9kc1dpdGhSZWFkeSgpO1xuICAgICAgICB0aGlzLnNldERyaXZlcih0aGlzLl9jb25maWcuZHJpdmVyKVtcImNhdGNoXCJdKGZ1bmN0aW9uICgpIHt9KTtcbiAgICB9XG5cbiAgICAvLyBTZXQgYW55IGNvbmZpZyB2YWx1ZXMgZm9yIGxvY2FsRm9yYWdlOyBjYW4gYmUgY2FsbGVkIGFueXRpbWUgYmVmb3JlXG4gICAgLy8gdGhlIGZpcnN0IEFQSSBjYWxsIChlLmcuIGBnZXRJdGVtYCwgYHNldEl0ZW1gKS5cbiAgICAvLyBXZSBsb29wIHRocm91Z2ggb3B0aW9ucyBzbyB3ZSBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgY29uZmlnXG4gICAgLy8gdmFsdWVzLlxuXG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuY29uZmlnID0gZnVuY3Rpb24gY29uZmlnKG9wdGlvbnMpIHtcbiAgICAgICAgLy8gSWYgdGhlIG9wdGlvbnMgYXJndW1lbnQgaXMgYW4gb2JqZWN0LCB3ZSB1c2UgaXQgdG8gc2V0IHZhbHVlcy5cbiAgICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSByZXR1cm4gZWl0aGVyIGEgc3BlY2lmaWVkIGNvbmZpZyB2YWx1ZSBvciBhbGxcbiAgICAgICAgLy8gY29uZmlnIHZhbHVlcy5cbiAgICAgICAgaWYgKCh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2Yob3B0aW9ucykpID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgLy8gSWYgbG9jYWxmb3JhZ2UgaXMgcmVhZHkgYW5kIGZ1bGx5IGluaXRpYWxpemVkLCB3ZSBjYW4ndCBzZXRcbiAgICAgICAgICAgIC8vIGFueSBuZXcgY29uZmlndXJhdGlvbiB2YWx1ZXMuIEluc3RlYWQsIHdlIHJldHVybiBhbiBlcnJvci5cbiAgICAgICAgICAgIGlmICh0aGlzLl9yZWFkeSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXCJDYW4ndCBjYWxsIGNvbmZpZygpIGFmdGVyIGxvY2FsZm9yYWdlIFwiICsgJ2hhcyBiZWVuIHVzZWQuJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gb3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGlmIChpID09PSAnc3RvcmVOYW1lJykge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zW2ldID0gb3B0aW9uc1tpXS5yZXBsYWNlKC9cXFcvZywgJ18nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaSA9PT0gJ3ZlcnNpb24nICYmIHR5cGVvZiBvcHRpb25zW2ldICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdEYXRhYmFzZSB2ZXJzaW9uIG11c3QgYmUgYSBudW1iZXIuJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnW2ldID0gb3B0aW9uc1tpXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWZ0ZXIgYWxsIGNvbmZpZyBvcHRpb25zIGFyZSBzZXQgYW5kXG4gICAgICAgICAgICAvLyB0aGUgZHJpdmVyIG9wdGlvbiBpcyB1c2VkLCB0cnkgc2V0dGluZyBpdFxuICAgICAgICAgICAgaWYgKCdkcml2ZXInIGluIG9wdGlvbnMgJiYgb3B0aW9ucy5kcml2ZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXREcml2ZXIodGhpcy5fY29uZmlnLmRyaXZlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1tvcHRpb25zXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gVXNlZCB0byBkZWZpbmUgYSBjdXN0b20gZHJpdmVyLCBzaGFyZWQgYWNyb3NzIGFsbCBpbnN0YW5jZXMgb2ZcbiAgICAvLyBsb2NhbEZvcmFnZS5cblxuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLmRlZmluZURyaXZlciA9IGZ1bmN0aW9uIGRlZmluZURyaXZlcihkcml2ZXJPYmplY3QsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSB7XG4gICAgICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UkMShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHZhciBkcml2ZXJOYW1lID0gZHJpdmVyT2JqZWN0Ll9kcml2ZXI7XG4gICAgICAgICAgICAgICAgdmFyIGNvbXBsaWFuY2VFcnJvciA9IG5ldyBFcnJvcignQ3VzdG9tIGRyaXZlciBub3QgY29tcGxpYW50OyBzZWUgJyArICdodHRwczovL21vemlsbGEuZ2l0aHViLmlvL2xvY2FsRm9yYWdlLyNkZWZpbmVkcml2ZXInKTtcblxuICAgICAgICAgICAgICAgIC8vIEEgZHJpdmVyIG5hbWUgc2hvdWxkIGJlIGRlZmluZWQgYW5kIG5vdCBvdmVybGFwIHdpdGggdGhlXG4gICAgICAgICAgICAgICAgLy8gbGlicmFyeS1kZWZpbmVkLCBkZWZhdWx0IGRyaXZlcnMuXG4gICAgICAgICAgICAgICAgaWYgKCFkcml2ZXJPYmplY3QuX2RyaXZlcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoY29tcGxpYW5jZUVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZhciBkcml2ZXJNZXRob2RzID0gTGlicmFyeU1ldGhvZHMuY29uY2F0KCdfaW5pdFN0b3JhZ2UnKTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gZHJpdmVyTWV0aG9kcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZHJpdmVyTWV0aG9kTmFtZSA9IGRyaXZlck1ldGhvZHNbaV07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlcmUsXG4gICAgICAgICAgICAgICAgICAgIC8vIGl0IHNob3VsZCBiZSBhIG1ldGhvZCBldmVuIHdoZW4gb3B0aW9uYWxcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlzUmVxdWlyZWQgPSAhaW5jbHVkZXMoT3B0aW9uYWxEcml2ZXJNZXRob2RzLCBkcml2ZXJNZXRob2ROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChpc1JlcXVpcmVkIHx8IGRyaXZlck9iamVjdFtkcml2ZXJNZXRob2ROYW1lXSkgJiYgdHlwZW9mIGRyaXZlck9iamVjdFtkcml2ZXJNZXRob2ROYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGNvbXBsaWFuY2VFcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB2YXIgY29uZmlndXJlTWlzc2luZ01ldGhvZHMgPSBmdW5jdGlvbiBjb25maWd1cmVNaXNzaW5nTWV0aG9kcygpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG1ldGhvZE5vdEltcGxlbWVudGVkRmFjdG9yeSA9IGZ1bmN0aW9uIG1ldGhvZE5vdEltcGxlbWVudGVkRmFjdG9yeShtZXRob2ROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlcnJvciA9IG5ldyBFcnJvcignTWV0aG9kICcgKyBtZXRob2ROYW1lICsgJyBpcyBub3QgaW1wbGVtZW50ZWQgYnkgdGhlIGN1cnJlbnQgZHJpdmVyJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByb21pc2UgPSBQcm9taXNlJDEucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRlQ2FsbGJhY2socHJvbWlzZSwgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMCwgX2xlbiA9IE9wdGlvbmFsRHJpdmVyTWV0aG9kcy5sZW5ndGg7IF9pIDwgX2xlbjsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9wdGlvbmFsRHJpdmVyTWV0aG9kID0gT3B0aW9uYWxEcml2ZXJNZXRob2RzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZHJpdmVyT2JqZWN0W29wdGlvbmFsRHJpdmVyTWV0aG9kXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlck9iamVjdFtvcHRpb25hbERyaXZlck1ldGhvZF0gPSBtZXRob2ROb3RJbXBsZW1lbnRlZEZhY3Rvcnkob3B0aW9uYWxEcml2ZXJNZXRob2QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyZU1pc3NpbmdNZXRob2RzKCk7XG5cbiAgICAgICAgICAgICAgICB2YXIgc2V0RHJpdmVyU3VwcG9ydCA9IGZ1bmN0aW9uIHNldERyaXZlclN1cHBvcnQoc3VwcG9ydCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoRGVmaW5lZERyaXZlcnNbZHJpdmVyTmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnUmVkZWZpbmluZyBMb2NhbEZvcmFnZSBkcml2ZXI6ICcgKyBkcml2ZXJOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBEZWZpbmVkRHJpdmVyc1tkcml2ZXJOYW1lXSA9IGRyaXZlck9iamVjdDtcbiAgICAgICAgICAgICAgICAgICAgRHJpdmVyU3VwcG9ydFtkcml2ZXJOYW1lXSA9IHN1cHBvcnQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIGRvbid0IHVzZSBhIHRoZW4sIHNvIHRoYXQgd2UgY2FuIGRlZmluZVxuICAgICAgICAgICAgICAgICAgICAvLyBkcml2ZXJzIHRoYXQgaGF2ZSBzaW1wbGUgX3N1cHBvcnQgbWV0aG9kc1xuICAgICAgICAgICAgICAgICAgICAvLyBpbiBhIGJsb2NraW5nIG1hbm5lclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGlmICgnX3N1cHBvcnQnIGluIGRyaXZlck9iamVjdCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZHJpdmVyT2JqZWN0Ll9zdXBwb3J0ICYmIHR5cGVvZiBkcml2ZXJPYmplY3QuX3N1cHBvcnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlck9iamVjdC5fc3VwcG9ydCgpLnRoZW4oc2V0RHJpdmVyU3VwcG9ydCwgcmVqZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldERyaXZlclN1cHBvcnQoISFkcml2ZXJPYmplY3QuX3N1cHBvcnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RHJpdmVyU3VwcG9ydCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBleGVjdXRlVHdvQ2FsbGJhY2tzKHByb21pc2UsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfTtcblxuICAgIExvY2FsRm9yYWdlLnByb3RvdHlwZS5kcml2ZXIgPSBmdW5jdGlvbiBkcml2ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kcml2ZXIgfHwgbnVsbDtcbiAgICB9O1xuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLmdldERyaXZlciA9IGZ1bmN0aW9uIGdldERyaXZlcihkcml2ZXJOYW1lLCBjYWxsYmFjaywgZXJyb3JDYWxsYmFjaykge1xuICAgICAgICB2YXIgZ2V0RHJpdmVyUHJvbWlzZSA9IERlZmluZWREcml2ZXJzW2RyaXZlck5hbWVdID8gUHJvbWlzZSQxLnJlc29sdmUoRGVmaW5lZERyaXZlcnNbZHJpdmVyTmFtZV0pIDogUHJvbWlzZSQxLnJlamVjdChuZXcgRXJyb3IoJ0RyaXZlciBub3QgZm91bmQuJykpO1xuXG4gICAgICAgIGV4ZWN1dGVUd29DYWxsYmFja3MoZ2V0RHJpdmVyUHJvbWlzZSwgY2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spO1xuICAgICAgICByZXR1cm4gZ2V0RHJpdmVyUHJvbWlzZTtcbiAgICB9O1xuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLmdldFNlcmlhbGl6ZXIgPSBmdW5jdGlvbiBnZXRTZXJpYWxpemVyKGNhbGxiYWNrKSB7XG4gICAgICAgIHZhciBzZXJpYWxpemVyUHJvbWlzZSA9IFByb21pc2UkMS5yZXNvbHZlKGxvY2FsZm9yYWdlU2VyaWFsaXplcik7XG4gICAgICAgIGV4ZWN1dGVUd29DYWxsYmFja3Moc2VyaWFsaXplclByb21pc2UsIGNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZXJQcm9taXNlO1xuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUucmVhZHkgPSBmdW5jdGlvbiByZWFkeShjYWxsYmFjaykge1xuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICAgICAgdmFyIHByb21pc2UgPSBzZWxmLl9kcml2ZXJTZXQudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5fcmVhZHkgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZWxmLl9yZWFkeSA9IHNlbGYuX2luaXREcml2ZXIoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWR5O1xuICAgICAgICB9KTtcblxuICAgICAgICBleGVjdXRlVHdvQ2FsbGJhY2tzKHByb21pc2UsIGNhbGxiYWNrLCBjYWxsYmFjayk7XG4gICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuc2V0RHJpdmVyID0gZnVuY3Rpb24gc2V0RHJpdmVyKGRyaXZlcnMsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKSB7XG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgICAgICBpZiAoIWlzQXJyYXkoZHJpdmVycykpIHtcbiAgICAgICAgICAgIGRyaXZlcnMgPSBbZHJpdmVyc107XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc3VwcG9ydGVkRHJpdmVycyA9IHRoaXMuX2dldFN1cHBvcnRlZERyaXZlcnMoZHJpdmVycyk7XG5cbiAgICAgICAgZnVuY3Rpb24gc2V0RHJpdmVyVG9Db25maWcoKSB7XG4gICAgICAgICAgICBzZWxmLl9jb25maWcuZHJpdmVyID0gc2VsZi5kcml2ZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIGV4dGVuZFNlbGZXaXRoRHJpdmVyKGRyaXZlcikge1xuICAgICAgICAgICAgc2VsZi5fZXh0ZW5kKGRyaXZlcik7XG4gICAgICAgICAgICBzZXREcml2ZXJUb0NvbmZpZygpO1xuXG4gICAgICAgICAgICBzZWxmLl9yZWFkeSA9IHNlbGYuX2luaXRTdG9yYWdlKHNlbGYuX2NvbmZpZyk7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZHk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBpbml0RHJpdmVyKHN1cHBvcnRlZERyaXZlcnMpIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGN1cnJlbnREcml2ZXJJbmRleCA9IDA7XG5cbiAgICAgICAgICAgICAgICBmdW5jdGlvbiBkcml2ZXJQcm9taXNlTG9vcCgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnREcml2ZXJJbmRleCA8IHN1cHBvcnRlZERyaXZlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZHJpdmVyTmFtZSA9IHN1cHBvcnRlZERyaXZlcnNbY3VycmVudERyaXZlckluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnREcml2ZXJJbmRleCsrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYkluZm8gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVhZHkgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5nZXREcml2ZXIoZHJpdmVyTmFtZSkudGhlbihleHRlbmRTZWxmV2l0aERyaXZlcilbXCJjYXRjaFwiXShkcml2ZXJQcm9taXNlTG9vcCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzZXREcml2ZXJUb0NvbmZpZygpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IoJ05vIGF2YWlsYWJsZSBzdG9yYWdlIG1ldGhvZCBmb3VuZC4nKTtcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5fZHJpdmVyU2V0ID0gUHJvbWlzZSQxLnJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9kcml2ZXJTZXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRyaXZlclByb21pc2VMb29wKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgYSBkcml2ZXIgaW5pdGlhbGl6YXRpb24gaW4gcHJvZ3Jlc3NcbiAgICAgICAgLy8gc28gd2FpdCBmb3IgaXQgdG8gZmluaXNoIGluIG9yZGVyIHRvIGF2b2lkIGEgcG9zc2libGVcbiAgICAgICAgLy8gcmFjZSBjb25kaXRpb24gdG8gc2V0IF9kYkluZm9cbiAgICAgICAgdmFyIG9sZERyaXZlclNldERvbmUgPSB0aGlzLl9kcml2ZXJTZXQgIT09IG51bGwgPyB0aGlzLl9kcml2ZXJTZXRbXCJjYXRjaFwiXShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZSQxLnJlc29sdmUoKTtcbiAgICAgICAgfSkgOiBQcm9taXNlJDEucmVzb2x2ZSgpO1xuXG4gICAgICAgIHRoaXMuX2RyaXZlclNldCA9IG9sZERyaXZlclNldERvbmUudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgZHJpdmVyTmFtZSA9IHN1cHBvcnRlZERyaXZlcnNbMF07XG4gICAgICAgICAgICBzZWxmLl9kYkluZm8gPSBudWxsO1xuICAgICAgICAgICAgc2VsZi5fcmVhZHkgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gc2VsZi5nZXREcml2ZXIoZHJpdmVyTmFtZSkudGhlbihmdW5jdGlvbiAoZHJpdmVyKSB7XG4gICAgICAgICAgICAgICAgc2VsZi5fZHJpdmVyID0gZHJpdmVyLl9kcml2ZXI7XG4gICAgICAgICAgICAgICAgc2V0RHJpdmVyVG9Db25maWcoKTtcbiAgICAgICAgICAgICAgICBzZWxmLl93cmFwTGlicmFyeU1ldGhvZHNXaXRoUmVhZHkoKTtcbiAgICAgICAgICAgICAgICBzZWxmLl9pbml0RHJpdmVyID0gaW5pdERyaXZlcihzdXBwb3J0ZWREcml2ZXJzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVtcImNhdGNoXCJdKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHNldERyaXZlclRvQ29uZmlnKCk7XG4gICAgICAgICAgICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IoJ05vIGF2YWlsYWJsZSBzdG9yYWdlIG1ldGhvZCBmb3VuZC4nKTtcbiAgICAgICAgICAgIHNlbGYuX2RyaXZlclNldCA9IFByb21pc2UkMS5yZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2RyaXZlclNldDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXhlY3V0ZVR3b0NhbGxiYWNrcyh0aGlzLl9kcml2ZXJTZXQsIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RyaXZlclNldDtcbiAgICB9O1xuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLnN1cHBvcnRzID0gZnVuY3Rpb24gc3VwcG9ydHMoZHJpdmVyTmFtZSkge1xuICAgICAgICByZXR1cm4gISFEcml2ZXJTdXBwb3J0W2RyaXZlck5hbWVdO1xuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuX2V4dGVuZCA9IGZ1bmN0aW9uIF9leHRlbmQobGlicmFyeU1ldGhvZHNBbmRQcm9wZXJ0aWVzKSB7XG4gICAgICAgIGV4dGVuZCh0aGlzLCBsaWJyYXJ5TWV0aG9kc0FuZFByb3BlcnRpZXMpO1xuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuX2dldFN1cHBvcnRlZERyaXZlcnMgPSBmdW5jdGlvbiBfZ2V0U3VwcG9ydGVkRHJpdmVycyhkcml2ZXJzKSB7XG4gICAgICAgIHZhciBzdXBwb3J0ZWREcml2ZXJzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBkcml2ZXJzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgZHJpdmVyTmFtZSA9IGRyaXZlcnNbaV07XG4gICAgICAgICAgICBpZiAodGhpcy5zdXBwb3J0cyhkcml2ZXJOYW1lKSkge1xuICAgICAgICAgICAgICAgIHN1cHBvcnRlZERyaXZlcnMucHVzaChkcml2ZXJOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VwcG9ydGVkRHJpdmVycztcbiAgICB9O1xuXG4gICAgTG9jYWxGb3JhZ2UucHJvdG90eXBlLl93cmFwTGlicmFyeU1ldGhvZHNXaXRoUmVhZHkgPSBmdW5jdGlvbiBfd3JhcExpYnJhcnlNZXRob2RzV2l0aFJlYWR5KCkge1xuICAgICAgICAvLyBBZGQgYSBzdHViIGZvciBlYWNoIGRyaXZlciBBUEkgbWV0aG9kIHRoYXQgZGVsYXlzIHRoZSBjYWxsIHRvIHRoZVxuICAgICAgICAvLyBjb3JyZXNwb25kaW5nIGRyaXZlciBtZXRob2QgdW50aWwgbG9jYWxGb3JhZ2UgaXMgcmVhZHkuIFRoZXNlIHN0dWJzXG4gICAgICAgIC8vIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIGRyaXZlciBtZXRob2RzIGFzIHNvb24gYXMgdGhlIGRyaXZlciBpc1xuICAgICAgICAvLyBsb2FkZWQsIHNvIHRoZXJlIGlzIG5vIHBlcmZvcm1hbmNlIGltcGFjdC5cbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IExpYnJhcnlNZXRob2RzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBjYWxsV2hlblJlYWR5KHRoaXMsIExpYnJhcnlNZXRob2RzW2ldKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBMb2NhbEZvcmFnZS5wcm90b3R5cGUuY3JlYXRlSW5zdGFuY2UgPSBmdW5jdGlvbiBjcmVhdGVJbnN0YW5jZShvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuZXcgTG9jYWxGb3JhZ2Uob3B0aW9ucyk7XG4gICAgfTtcblxuICAgIHJldHVybiBMb2NhbEZvcmFnZTtcbn0oKTtcblxuLy8gVGhlIGFjdHVhbCBsb2NhbEZvcmFnZSBvYmplY3QgdGhhdCB3ZSBleHBvc2UgYXMgYSBtb2R1bGUgb3IgdmlhIGFcbi8vIGdsb2JhbC4gSXQncyBleHRlbmRlZCBieSBwdWxsaW5nIGluIG9uZSBvZiBvdXIgb3RoZXIgbGlicmFyaWVzLlxuXG5cbnZhciBsb2NhbGZvcmFnZV9qcyA9IG5ldyBMb2NhbEZvcmFnZSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGxvY2FsZm9yYWdlX2pzO1xuXG59LHtcIjNcIjozfV19LHt9LFs0XSkoNClcbn0pO1xuIiwgIi8qKlxuICogQGxpY2Vuc2UgTUlUXG4gKiBAY29weXJpZ2h0IDIwMjAgRXlhcyBSYW5qb3VzIDxleWFzLnJhbmpvdXNAZ21haWwuY29tPlxuICpcbiAqIEBjbGFzc1xuICovXG5jbGFzcyBRdWV1ZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcXVldWUuXG4gICAqIEBwYXJhbSB7YXJyYXl9IFtlbGVtZW50c11cbiAgICovXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRzKSB7XG4gICAgdGhpcy5fZWxlbWVudHMgPSBBcnJheS5pc0FycmF5KGVsZW1lbnRzKSA/IGVsZW1lbnRzIDogW107XG4gICAgdGhpcy5fb2Zmc2V0ID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGVsZW1lbnQgdG8gdGhlIGJhY2sgb2YgdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqIEBwYXJhbSB7bnVtYmVyfHN0cmluZ3xvYmplY3R9IGVsZW1lbnRcbiAgICovXG4gIGVucXVldWUoZWxlbWVudCkge1xuICAgIHRoaXMuX2VsZW1lbnRzLnB1c2goZWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBlbGVtZW50IHRvIHRoZSBiYWNrIG9mIHRoZSBxdWV1ZS5cbiAgICogQHB1YmxpY1xuICAgKiBAcGFyYW0ge251bWJlcnxzdHJpbmd8b2JqZWN0fSBlbGVtZW50XG4gICAqL1xuICBwdXNoKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gdGhpcy5lbnF1ZXVlKGVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcXVldWVzIHRoZSBmcm9udCBlbGVtZW50IGluIHRoZSBxdWV1ZS5cbiAgICogQHB1YmxpY1xuICAgKiBAcmV0dXJucyB7bnVtYmVyfHN0cmluZ3xvYmplY3R9XG4gICAqL1xuICBkZXF1ZXVlKCkge1xuICAgIGlmICh0aGlzLnNpemUoKSA9PT0gMCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBmaXJzdCA9IHRoaXMuZnJvbnQoKTtcbiAgICB0aGlzLl9vZmZzZXQgKz0gMTtcblxuICAgIGlmICh0aGlzLl9vZmZzZXQgKiAyIDwgdGhpcy5fZWxlbWVudHMubGVuZ3RoKSByZXR1cm4gZmlyc3Q7XG5cbiAgICAvLyBvbmx5IHJlbW92ZSBkZXF1ZXVlZCBlbGVtZW50cyB3aGVuIHJlYWNoaW5nIGhhbGYgc2l6ZVxuICAgIC8vIHRvIGRlY3JlYXNlIGxhdGVuY3kgb2Ygc2hpZnRpbmcgZWxlbWVudHMuXG4gICAgdGhpcy5fZWxlbWVudHMgPSB0aGlzLl9lbGVtZW50cy5zbGljZSh0aGlzLl9vZmZzZXQpO1xuICAgIHRoaXMuX29mZnNldCA9IDA7XG4gICAgcmV0dXJuIGZpcnN0O1xuICB9XG5cbiAgLyoqXG4gICAqIERlcXVldWVzIHRoZSBmcm9udCBlbGVtZW50IGluIHRoZSBxdWV1ZS5cbiAgICogQHB1YmxpY1xuICAgKiBAcmV0dXJucyB7bnVtYmVyfHN0cmluZ3xvYmplY3R9XG4gICAqL1xuICBwb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVxdWV1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZyb250IGVsZW1lbnQgb2YgdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqIEByZXR1cm5zIHtudW1iZXJ8c3RyaW5nfG9iamVjdH1cbiAgICovXG4gIGZyb250KCkge1xuICAgIHJldHVybiB0aGlzLnNpemUoKSA+IDAgPyB0aGlzLl9lbGVtZW50c1t0aGlzLl9vZmZzZXRdIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBiYWNrIGVsZW1lbnQgb2YgdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqIEByZXR1cm5zIHtudW1iZXJ8c3RyaW5nfG9iamVjdH1cbiAgICovXG4gIGJhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSgpID4gMCA/IHRoaXMuX2VsZW1lbnRzW3RoaXMuX2VsZW1lbnRzLmxlbmd0aCAtIDFdIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50cy5sZW5ndGggLSB0aGlzLl9vZmZzZXQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICogQHB1YmxpY1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSgpID09PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJlbWFpbmluZyBlbGVtZW50cyBpbiB0aGUgcXVldWUgYXMgYW4gYXJyYXkuXG4gICAqIEBwdWJsaWNcbiAgICogQHJldHVybnMge2FycmF5fVxuICAgKi9cbiAgdG9BcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudHMuc2xpY2UodGhpcy5fb2Zmc2V0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIHF1ZXVlLlxuICAgKiBAcHVibGljXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLl9lbGVtZW50cyA9IFtdO1xuICAgIHRoaXMuX29mZnNldCA9IDA7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHNoYWxsb3cgY29weSBvZiB0aGUgcXVldWUuXG4gICAqIEBwdWJsaWNcbiAgICogQHJldHVybiB7UXVldWV9XG4gICAqL1xuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gbmV3IFF1ZXVlKHRoaXMuX2VsZW1lbnRzLnNsaWNlKHRoaXMuX29mZnNldCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBxdWV1ZSBmcm9tIGFuIGV4aXN0aW5nIGFycmF5LlxuICAgKiBAcHVibGljXG4gICAqIEBzdGF0aWNcbiAgICogQHBhcmFtIHthcnJheX0gZWxlbWVudHNcbiAgICogQHJldHVybiB7UXVldWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUFycmF5KGVsZW1lbnRzKSB7XG4gICAgcmV0dXJuIG5ldyBRdWV1ZShlbGVtZW50cyk7XG4gIH1cbn1cblxuZXhwb3J0cy5RdWV1ZSA9IFF1ZXVlO1xuIiwgImNvbnN0IHsgUXVldWUgfSA9IHJlcXVpcmUoJy4vc3JjL3F1ZXVlJyk7XG5cbmV4cG9ydHMuUXVldWUgPSBRdWV1ZTtcbiIsICJpbXBvcnQgeyBEYXRhY29yZUFwaSB9IGZyb20gXCJhcGkvYXBpXCI7XG5pbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IEFwcCwgUGx1Z2luLCBQbHVnaW5TZXR0aW5nVGFiLCBTZXR0aW5nIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBjcmVhdGVFbGVtZW50LCByZW5kZXIgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyBERUZBVUxUX1NFVFRJTkdTLCBTZXR0aW5ncyB9IGZyb20gXCJzZXR0aW5nc1wiO1xuaW1wb3J0IHsgRGF0YWNvcmVRdWVyeVZpZXcgYXMgRGF0YWNvcmVKU1ZpZXcsIFZJRVdfVFlQRV9EQVRBQ09SRUpTIH0gZnJvbSBcInVpL3ZpZXctcGFnZVwiO1xuaW1wb3J0IHsgSW5kZXhTdGF0dXNCYXIgfSBmcm9tIFwidWkvaW5kZXgtc3RhdHVzXCI7XG5cbi8qKiBSZWFjdGl2ZSBkYXRhIGVuZ2luZSBmb3IgeW91ciBPYnNpZGlhbi5tZCB2YXVsdC4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGFjb3JlUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcbiAgICAvKiogUGx1Z2luLXdpZGUgZGVmYXVsdCBzZXR0aW5ncy4gKi9cbiAgICBwdWJsaWMgc2V0dGluZ3M6IFNldHRpbmdzO1xuXG4gICAgLyoqIENlbnRyYWwgaW50ZXJuYWwgc3RhdGUuICovXG4gICAgcHVibGljIGNvcmU6IERhdGFjb3JlO1xuICAgIC8qKiBFeHRlcm5hbGx5IHZpc2libGUgQVBJIGZvciBxdWVyeWluZy4gKi9cbiAgICBwdWJsaWMgYXBpOiBEYXRhY29yZUFwaTtcblxuICAgIGFzeW5jIG9ubG9hZCgpIHtcbiAgICAgICAgdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfU0VUVElOR1MsIChhd2FpdCB0aGlzLmxvYWREYXRhKCkpID8/IHt9KTtcbiAgICAgICAgdGhpcy5hZGRTZXR0aW5nVGFiKG5ldyBHZW5lcmFsU2V0dGluZ3NUYWIodGhpcy5hcHAsIHRoaXMpKTtcblxuICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBjb3JlIEFQSSBmb3IgdXNhZ2UgaW4gYWxsIHZpZXdzIGFuZCBkb3duc3RyZWFtIGFwcHMuXG4gICAgICAgIHRoaXMuYWRkQ2hpbGQoKHRoaXMuY29yZSA9IG5ldyBEYXRhY29yZSh0aGlzLmFwcCwgdGhpcy5tYW5pZmVzdC52ZXJzaW9uLCB0aGlzLnNldHRpbmdzKSkpO1xuICAgICAgICB0aGlzLmFwaSA9IG5ldyBEYXRhY29yZUFwaSh0aGlzLmNvcmUpO1xuXG4gICAgICAgIC8vIEFkZCBhIHZpc3VhbCBhaWQgZm9yIHdoYXQgZGF0YWNvcmUgaXMgY3VycmVudGx5IGRvaW5nLlxuICAgICAgICB0aGlzLm1vdW50SW5kZXhTdGF0ZSh0aGlzLmFkZFN0YXR1c0Jhckl0ZW0oKSwgdGhpcy5jb3JlKTtcblxuICAgICAgICAvLyBQcmltYXJ5IHZpc3VhbCBlbGVtZW50cyAoRGF0YWNvcmVKUyBhbmQgRGF0YWNvcmUgYmxvY2tzKS5cbiAgICAgICAgdGhpcy5yZWdpc3Rlck1hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yKFxuICAgICAgICAgICAgXCJkYXRhY29yZWpzXCIsXG4gICAgICAgICAgICBhc3luYyAoc291cmNlOiBzdHJpbmcsIGVsLCBjdHgpID0+IHRoaXMuYXBpLmV4ZWN1dGVKcyhzb3VyY2UsIGVsLCBjdHgsIGN0eC5zb3VyY2VQYXRoKSxcbiAgICAgICAgICAgIC0xMDBcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IoXG4gICAgICAgICAgICBcImRhdGFjb3JlanN4XCIsXG4gICAgICAgICAgICBhc3luYyAoc291cmNlOiBzdHJpbmcsIGVsLCBjdHgpID0+IHRoaXMuYXBpLmV4ZWN1dGVKc3goc291cmNlLCBlbCwgY3R4LCBjdHguc291cmNlUGF0aCksXG4gICAgICAgICAgICAtMTAwXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3Rlck1hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yKFxuICAgICAgICAgICAgXCJkYXRhY29yZXRzXCIsXG4gICAgICAgICAgICBhc3luYyAoc291cmNlOiBzdHJpbmcsIGVsLCBjdHgpID0+IHRoaXMuYXBpLmV4ZWN1dGVUcyhzb3VyY2UsIGVsLCBjdHgsIGN0eC5zb3VyY2VQYXRoKSxcbiAgICAgICAgICAgIC0xMDBcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IoXG4gICAgICAgICAgICBcImRhdGFjb3JldHN4XCIsXG4gICAgICAgICAgICBhc3luYyAoc291cmNlOiBzdHJpbmcsIGVsLCBjdHgpID0+IHRoaXMuYXBpLmV4ZWN1dGVUc3goc291cmNlLCBlbCwgY3R4LCBjdHguc291cmNlUGF0aCksXG4gICAgICAgICAgICAtMTAwXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gVmlld3M6IERhdGFjb3JlSlMgdmlldy5cbiAgICAgICAgLy8gQHRzLWlnbm9yZSBiZSBxdWlldFxuICAgICAgICB0aGlzLnJlZ2lzdGVyVmlldyhWSUVXX1RZUEVfREFUQUNPUkVKUywgKGxlYWYpID0+IG5ldyBEYXRhY29yZUpTVmlldyhsZWFmLCB0aGlzLmFwaSkpO1xuXG4gICAgICAgIC8vIEFkZCBhIGNvbW1hbmQgZm9yIGNyZWF0aW5nIGEgbmV3IHZpZXcgcGFnZS5cbiAgICAgICAgdGhpcy5hZGRDb21tYW5kKHtcbiAgICAgICAgICAgIGlkOiBcImRhdGFjb3JlLWFkZC12aWV3LXBhZ2VcIixcbiAgICAgICAgICAgIG5hbWU6IFwiQ3JlYXRlIFZpZXcgUGFnZVwiLFxuICAgICAgICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdMZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlYWYoXCJ0YWJcIik7XG4gICAgICAgICAgICAgICAgbmV3TGVhZi5zZXRWaWV3U3RhdGUoeyB0eXBlOiBWSUVXX1RZUEVfREFUQUNPUkVKUywgYWN0aXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5zZXRBY3RpdmVMZWFmKG5ld0xlYWYsIHsgZm9jdXM6IHRydWUgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZWdpc3RlciBKUyBoaWdobGlnaHRpbmcgZm9yIGNvZGVibG9ja3MuXG4gICAgICAgIHRoaXMucmVnaXN0ZXIodGhpcy5yZWdpc3RlckNvZGVibG9ja0hpZ2hsaWdodGluZygpKTtcblxuICAgICAgICAvLyBJbml0aWFsaXplIGFzIHNvb24gYXMgdGhlIHdvcmtzcGFjZSBpcyByZWFkeS5cbiAgICAgICAgaWYgKCF0aGlzLmFwcC53b3Jrc3BhY2UubGF5b3V0UmVhZHkpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KGFzeW5jICgpID0+IHRoaXMuY29yZS5pbml0aWFsaXplKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb3JlLmluaXRpYWxpemUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgdGhlIEFQSSBnbG9iYWxseSBhY2Nlc3NpYmxlIGZyb20gYW55IGNvbnRleHQuXG4gICAgICAgIHdpbmRvdy5kYXRhY29yZSA9IHRoaXMuYXBpO1xuXG4gICAgICAgIC8vIGJvbiBhcHBldGl0XG4gICAgICAgIGNvbnNvbGUubG9nKGBEYXRhY29yZTogdmVyc2lvbiAke3RoaXMubWFuaWZlc3QudmVyc2lvbn0gKHJlcXVpcmVzIG9ic2lkaWFuICR7dGhpcy5tYW5pZmVzdC5taW5BcHBWZXJzaW9ufSlgKTtcbiAgICB9XG5cbiAgICBvbnVubG9hZCgpIHtcbiAgICAgICAgY29uc29sZS5sb2coYERhdGFjb3JlOiB2ZXJzaW9uICR7dGhpcy5tYW5pZmVzdC52ZXJzaW9ufSB1bmxvYWRlZC5gKTtcbiAgICB9XG5cbiAgICAvKiogUmVnaXN0ZXIgY29kZWJsb2NrIGhpZ2hsaWdodGluZyBhbmQgcmV0dXJuIGEgY2xvc3VyZSB3aGljaCB1bnJlZ2lzdGVycy4gKi9cbiAgICByZWdpc3RlckNvZGVibG9ja0hpZ2hsaWdodGluZygpOiAoKSA9PiB2b2lkIHtcbiAgICAgICAgd2luZG93LkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRhdGFjb3JlanNcIiwgKGNvbmZpZykgPT4gd2luZG93LkNvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIFwiamF2YXNjcmlwdFwiKSk7XG4gICAgICAgIHdpbmRvdy5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJkYXRhY29yZWpzeFwiLCAoY29uZmlnKSA9PiB3aW5kb3cuQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgXCJqc3hcIikpO1xuICAgICAgICB3aW5kb3cuQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwiZGF0YWNvcmV0c1wiLCAoY29uZmlnKSA9PiB3aW5kb3cuQ29kZU1pcnJvci5nZXRNb2RlKGNvbmZpZywgXCJqYXZhc2NyaXB0XCIpKTtcbiAgICAgICAgd2luZG93LkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRhdGFjb3JldHN4XCIsIChjb25maWcpID0+IHdpbmRvdy5Db2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBcImpzeFwiKSk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5Db2RlTWlycm9yLmRlZmluZU1vZGUoXCJkYXRhY29yZWpzXCIsIChjb25maWcpID0+IHdpbmRvdy5Db2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBcIm51bGxcIikpO1xuICAgICAgICAgICAgd2luZG93LkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRhdGFjb3JlanN4XCIsIChjb25maWcpID0+IHdpbmRvdy5Db2RlTWlycm9yLmdldE1vZGUoY29uZmlnLCBcIm51bGxcIikpO1xuICAgICAgICAgICAgd2luZG93LkNvZGVNaXJyb3IuZGVmaW5lTW9kZShcImRhdGFjb3JldHNcIiwgKGNvbmZpZykgPT4gd2luZG93LkNvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIFwibnVsbFwiKSk7XG4gICAgICAgICAgICB3aW5kb3cuQ29kZU1pcnJvci5kZWZpbmVNb2RlKFwiZGF0YWNvcmV0c3hcIiwgKGNvbmZpZykgPT4gd2luZG93LkNvZGVNaXJyb3IuZ2V0TW9kZShjb25maWcsIFwibnVsbFwiKSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSB0aGUgZ2l2ZW4gc2V0dGluZ3MgdG8gbmV3IHZhbHVlcy4gKi9cbiAgICBhc3luYyB1cGRhdGVTZXR0aW5ncyhzZXR0aW5nczogUGFydGlhbDxTZXR0aW5ncz4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnNldHRpbmdzLCBzZXR0aW5ncyk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XG4gICAgfVxuXG4gICAgLyoqIFJlbmRlciBkYXRhY29yZSBpbmRleGluZyBzdGF0dXMgdXNpbmcgdGhlIGluZGV4LiAqL1xuICAgIHByaXZhdGUgbW91bnRJbmRleFN0YXRlKHJvb3Q6IEhUTUxFbGVtZW50LCBjb3JlOiBEYXRhY29yZSk6IHZvaWQge1xuICAgICAgICByZW5kZXIoY3JlYXRlRWxlbWVudChJbmRleFN0YXR1c0JhciwgeyBkYXRhY29yZTogY29yZSB9KSwgcm9vdCk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlcigoKSA9PiByZW5kZXIobnVsbCwgcm9vdCkpO1xuICAgIH1cbn1cblxuLyoqIERhdGFjb3JlIFNldHRpbmdzIFRhYi4gKi9cbmNsYXNzIEdlbmVyYWxTZXR0aW5nc1RhYiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICAgIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwcml2YXRlIHBsdWdpbjogRGF0YWNvcmVQbHVnaW4pIHtcbiAgICAgICAgc3VwZXIoYXBwLCBwbHVnaW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNwbGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmVtcHR5KCk7XG5cbiAgICAgICAgdGhpcy5jb250YWluZXJFbC5jcmVhdGVFbChcImgyXCIsIHsgdGV4dDogXCJWaWV3c1wiIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIlBhZ2luYXRpb25cIilcbiAgICAgICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgICAgICAgIFwiSWYgZW5hYmxlZCwgc3BsaXRzIHVwIHZpZXdzIGludG8gcGFnZXMgb2YgcmVzdWx0cyB3aGljaCBjYW4gYmUgdHJhdmVyc2VkIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ2aWEgYnV0dG9ucyBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgdGhlIHZpZXcuIFRoaXMgc3Vic3RhbnRpYWxseSBpbXByb3ZlcyBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwidGhlIHBlcmZvcm1hbmNlIG9mIGxhcmdlIHZpZXdzLCBhbmQgY2FuIGhlbHAgd2l0aCB2aXN1YWwgY2x1dHRlci4gTm90ZSB0aGF0IFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ0aGlzIHNldHRpbmcgY2FuIGFsc28gYmUgc2V0IG9uIGEgcGVyLXZpZXcgYmFzaXMuXCJcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0UGFnaW5nRW5hYmxlZCkub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgZGVmYXVsdFBhZ2luZ0VuYWJsZWQ6IHZhbHVlIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IFNldHRpbmcodGhpcy5jb250YWluZXJFbClcbiAgICAgICAgICAgIC5zZXROYW1lKFwiRGVmYXVsdCBQYWdlIFNpemVcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFwiVGhlIG51bWJlciBvZiBlbnRyaWVzIHRvIHNob3cgcGVyIHBhZ2UsIGJ5IGRlZmF1bHQuIFRoaXMgY2FuIGJlIG92ZXJyaWRlbiBvbiBhIHBlci12aWV3IGJhc2lzLlwiKVxuICAgICAgICAgICAgLmFkZERyb3Bkb3duKChkcm9wZG93bikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IE9QVElPTlM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAgICAgICAgICAgICAgIFwiMjVcIjogXCIyNVwiLFxuICAgICAgICAgICAgICAgICAgICBcIjUwXCI6IFwiNTBcIixcbiAgICAgICAgICAgICAgICAgICAgXCIxMDBcIjogXCIxMDBcIixcbiAgICAgICAgICAgICAgICAgICAgXCIyMDBcIjogXCIyMDBcIixcbiAgICAgICAgICAgICAgICAgICAgXCI1MDBcIjogXCI1MDBcIixcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBcIlwiICsgdGhpcy5wbHVnaW4uc2V0dGluZ3MuZGVmYXVsdFBhZ2VTaXplO1xuICAgICAgICAgICAgICAgIGlmICghKGN1cnJlbnQgaW4gT1BUSU9OUykpIE9QVElPTlNbY3VycmVudF0gPSBjdXJyZW50O1xuXG4gICAgICAgICAgICAgICAgZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgLmFkZE9wdGlvbnMoT1BUSU9OUylcbiAgICAgICAgICAgICAgICAgICAgLnNldFZhbHVlKGN1cnJlbnQpXG4gICAgICAgICAgICAgICAgICAgIC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTmFOKHBhcnNlZCkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4udXBkYXRlU2V0dGluZ3MoeyBkZWZhdWx0UGFnZVNpemU6IHBhcnNlZCB8IDAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IFNldHRpbmcodGhpcy5jb250YWluZXJFbClcbiAgICAgICAgICAgIC5zZXROYW1lKFwiU2Nyb2xsIG9uIFBhZ2UgQ2hhbmdlXCIpXG4gICAgICAgICAgICAuc2V0RGVzYyhcbiAgICAgICAgICAgICAgICBcIklmIGVuYWJsZWQsIHRhYmxlIHRoYXQgYXJlIHBhZ2VkIHdpbGwgc2Nyb2xsIHRvIHRoZSB0b3Agb2YgdGhlIHRhYmxlIHdoZW4gdGhlIHBhZ2UgY2hhbmdlcy4gXCIgK1xuICAgICAgICAgICAgICAgICAgICBcIlRoaXMgY2FuIGJlIG92ZXJyaWRlbiBvbiBhIHBlci12aWV3IGJhc2lzLlwiXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkVG9nZ2xlKCh0b2dnbGUpID0+IHtcbiAgICAgICAgICAgICAgICB0b2dnbGUuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3Muc2Nyb2xsT25QYWdlQ2hhbmdlKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4udXBkYXRlU2V0dGluZ3MoeyBzY3JvbGxPblBhZ2VDaGFuZ2U6IHZhbHVlIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIkVuYWJsZSBKYXZhc2NyaXB0XCIpXG4gICAgICAgICAgICAuc2V0RGVzYyhcIldoZXRoZXIgSmF2YXNjcmlwdCBjb2RlYmxvY2tzIHdpbGwgYmUgZXZhbHVhdGVkLlwiKVxuICAgICAgICAgICAgLmFkZFRvZ2dsZSgodG9nZ2xlKSA9PiB7XG4gICAgICAgICAgICAgICAgdG9nZ2xlLnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmVuYWJsZUpzKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4udXBkYXRlU2V0dGluZ3MoeyBlbmFibGVKczogdmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaDJcIiwgeyB0ZXh0OiBcIkZvcm1hdHRpbmdcIiB9KTtcblxuICAgICAgICBuZXcgU2V0dGluZyh0aGlzLmNvbnRhaW5lckVsKVxuICAgICAgICAgICAgLnNldE5hbWUoXCJFbXB0eSBWYWx1ZXNcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFwiV2hhdCB0byBzaG93IGZvciB1bnNldC9lbXB0eSBwcm9wZXJ0aWVzLlwiKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnJlbmRlck51bGxBcykub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgcmVuZGVyTnVsbEFzOiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIkRlZmF1bHQgRGF0ZSBGb3JtYXRcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFxuICAgICAgICAgICAgICAgIFwiVGhlIGRlZmF1bHQgZm9ybWF0IHRoYXQgZGF0ZXMgYXJlIHJlbmRlcmVkIGluLiBVc2VzIGx1eG9uIGRhdGUgZm9ybWF0dGluZyAoaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9sdXhvbi9ibG9iL21hc3Rlci9kb2NzL2Zvcm1hdHRpbmcubWQjZm9ybWF0dGluZy13aXRoLXRva2Vucy1zdHJpbmdzLWZvci1jdGh1bGh1KS5cIlxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0KS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgZGF0ZSBmb3JtYXQgaXMgdmFsaWRcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIERhdGVUaW1lLmZyb21NaWxsaXMoRGF0ZS5ub3coKSkudG9Gb3JtYXQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi51cGRhdGVTZXR0aW5ncyh7IGRlZmF1bHREYXRlRm9ybWF0OiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIkRlZmF1bHQgRGF0ZS1UaW1lIGZvcm1hdFwiKVxuICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJUaGUgZGVmYXVsdCBmb3JtYXQgdGhhdCBkYXRlLXRpbWVzIGFyZSByZW5kZXJlZCBpbi4gVXNlcyBsdXhvbiBkYXRlIGZvcm1hdHRpbmcgKGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbHV4b24vYmxvYi9tYXN0ZXIvZG9jcy9mb3JtYXR0aW5nLm1kI2Zvcm1hdHRpbmctd2l0aC10b2tlbnMtc3RyaW5ncy1mb3ItY3RodWxodSkuXCJcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5kZWZhdWx0RGF0ZVRpbWVGb3JtYXQpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZVRpbWUuZnJvbU1pbGxpcyhEYXRlLm5vdygpKS50b0Zvcm1hdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgZGVmYXVsdERhdGVUaW1lRm9ybWF0OiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuY3JlYXRlRWwoXCJoMlwiLCB7IHRleHQ6IFwiUGVyZm9ybWFuY2UgVHVuaW5nXCIgfSk7XG5cbiAgICAgICAgbmV3IFNldHRpbmcodGhpcy5jb250YWluZXJFbClcbiAgICAgICAgICAgIC5zZXROYW1lKFwiSW5saW5lIEZpZWxkc1wiKVxuICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJJZiBlbmFibGVkLCBpbmxpbmUgZmllbGRzIHdpbGwgYmUgcGFyc2VkIGluIGFsbCBkb2N1bWVudHMuIEZpbmRpbmcgaW5saW5lIGZpZWxkcyByZXF1aXJlcyBhIGZ1bGwgdGV4dCBzY2FuIHRocm91Z2ggZWFjaCBkb2N1bWVudCwgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcIndoaWNoIG5vdGljYWJseSBzbG93cyBkb3duIGluZGV4aW5nIGZvciBsYXJnZSB2YXVsdHMuIERpc2FibGluZyB0aGlzIGZ1bmN0aW9uYWxpdHkgd2lsbCBtZWFuIG1ldGFkYXRhIHdpbGwgb25seSBjb21lIGZyb20gdGFncywgbGlua3MsIGFuZCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiUHJvcGVydGllcyAvIGZyb250bWF0dGVyXCJcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRUb2dnbGUoKHRvZ2dsZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRvZ2dsZS5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5pbmRleElubGluZUZpZWxkcykub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgaW5kZXhJbmxpbmVGaWVsZHM6IHZhbHVlIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFJlcXVlc3QgYSBmdWxsIGluZGV4IGRyb3AgKyByZWluZGV4IGZvciBjb3JyZWN0bmVzcy5cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIkltcG9ydGVyIFRocmVhZHNcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFwiVGhlIG51bWJlciBvZiBpbXBvcnRlciB0aHJlYWRzIHRvIHVzZSBmb3IgcGFyc2luZyBtZXRhZGF0YS5cIilcbiAgICAgICAgICAgIC5hZGRUZXh0KCh0ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dC5zZXRWYWx1ZShcIlwiICsgdGhpcy5wbHVnaW4uc2V0dGluZ3MuaW1wb3J0ZXJOdW1UaHJlYWRzKS5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgaW1wb3J0ZXJOdW1UaHJlYWRzOiBwYXJzZWQgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBuZXcgU2V0dGluZyh0aGlzLmNvbnRhaW5lckVsKVxuICAgICAgICAgICAgLnNldE5hbWUoXCJJbXBvcnRlciBVdGlsaXphdGlvblwiKVxuICAgICAgICAgICAgLnNldERlc2MoXCJIb3cgbXVjaCBDUFUgdGltZSBlYWNoIGltcG9ydGVyIHRocmVhZCBzaG91bGQgdXNlLCBhcyBhIGZyYWN0aW9uICgwLjEgLSAxLjApLlwiKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmltcG9ydGVyVXRpbGl6YXRpb24udG9GaXhlZCgyKSkub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbWl0ZWQgPSBNYXRoLm1heCgwLjEsIE1hdGgubWluKDEuMCwgcGFyc2VkKSk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgaW1wb3J0ZXJVdGlsaXphdGlvbjogbGltaXRlZCB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIk1heGltdW0gUmVjdXJzaXZlIFJlbmRlciBEZXB0aFwiKVxuICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJNYXhpbXVtIGRlcHRoIHRoYXQgb2JqZWN0cyB3aWxsIGJlIHJlbmRlcmVkIHRvIChpLmUuLCBob3cgbWFueSBsZXZlbHMgb2Ygc3VicHJvcGVydGllc1wiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ3aWxsIGJlIHJlbmRlcmVkIGJ5IGRlZmF1bHQpLiBUaGlzIGF2b2lkcyBpbmZpbml0ZSByZWN1cnNpb24gZHVlIHRvIHNlbGYtcmVmZXJlbnRpYWwgb2JqZWN0c1wiICtcbiAgICAgICAgICAgICAgICAgICAgXCJhbmQgZW5zdXJlcyB0aGF0IHJlbmRlcmluZyBvYmplY3RzIGlzIGFjY2VwdGFibHkgcGVyZm9ybWFudC5cIlxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLm1heFJlY3Vyc2l2ZVJlbmRlckRlcHRoLnRvU3RyaW5nKCkpLm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc05hTihwYXJzZWQpKSByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgbWF4UmVjdXJzaXZlUmVuZGVyRGVwdGg6IHBhcnNlZCB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBuZXcgU2V0dGluZyh0aGlzLmNvbnRhaW5lckVsKVxuICAgICAgICAgICAgLnNldE5hbWUoXCJSZWN1cnNpdmUgc3VidGFzayBjb21wbGV0aW9uXCIpXG4gICAgICAgICAgICAuc2V0RGVzYyhcIldoZXRoZXIgb3Igbm90IHN1YnRhc2tzIHNob3VsZCBiZSBjb21wbGV0ZWQgYWxvbmcgd2l0aCB0aGVpciBwYXJlbnQgaW4gZGF0YWNvcmUgdGFzayB2aWV3c1wiKVxuICAgICAgICAgICAgLmFkZFRvZ2dsZSgodGIpID0+IHtcbiAgICAgICAgICAgICAgICB0Yi5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5yZWN1cnNpdmVUYXNrQ29tcGxldGlvbikub25DaGFuZ2UoYXN5bmMgKHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi51cGRhdGVTZXR0aW5ncyh7IHJlY3Vyc2l2ZVRhc2tDb21wbGV0aW9uOiB2YWwgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lckVsLmNyZWF0ZUVsKFwiaDJcIiwgeyB0ZXh0OiBcIlRhc2tzXCIgfSk7XG5cbiAgICAgICAgbmV3IFNldHRpbmcodGhpcy5jb250YWluZXJFbClcbiAgICAgICAgICAgIC5zZXROYW1lKFwiVGFzayBDb21wbGV0aW9uIFRleHRcIilcbiAgICAgICAgICAgIC5zZXREZXNjKFwiTmFtZSBvZiBpbmxpbmUgZmllbGQgaW4gd2hpY2ggdG8gc3RvcmUgdGFzayBjb21wbGV0aW9uIGRhdGUvdGltZVwiKVxuICAgICAgICAgICAgLmFkZFRleHQoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0ZXh0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnRhc2tDb21wbGV0aW9uVGV4dCkub25DaGFuZ2UoYXN5bmMgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnVwZGF0ZVNldHRpbmdzKHsgdGFza0NvbXBsZXRpb25UZXh0OiB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBTZXR0aW5nKHRoaXMuY29udGFpbmVyRWwpXG4gICAgICAgICAgICAuc2V0TmFtZShcIlVzZSBFbW9qaSBTaG9ydGhhbmQgZm9yIFRhc2sgQ29tcGxldGlvblwiKVxuICAgICAgICAgICAgLnNldERlc2MoXG4gICAgICAgICAgICAgICAgXCJJZiBlbmFibGVkLCBhdXRvbWF0aWMgY29tcGxldGlvbiB3aWxsIHVzZSBhbiBlbW9qaSBzaG9ydGhhbmQgXHUyNzA1IFlZWVktTU0tRERcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiaW5zdGVhZCBvZiBbY29tcGxldGlvbjo6IGRhdGVdLlwiXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkVG9nZ2xlKCh0YikgPT4ge1xuICAgICAgICAgICAgICAgIHRiLnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLnRhc2tDb21wbGV0aW9uVXNlRW1vamlTaG9ydGhhbmQpLm9uQ2hhbmdlKGFzeW5jICh2YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wbHVnaW4udXBkYXRlU2V0dGluZ3MoeyB0YXNrQ29tcGxldGlvblVzZUVtb2ppU2hvcnRoYW5kOiB2YWwgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCAiaW1wb3J0IERhdGVUaW1lIGZyb20gXCIuL2RhdGV0aW1lLmpzXCI7XG5pbXBvcnQgRHVyYXRpb24gZnJvbSBcIi4vZHVyYXRpb24uanNcIjtcbmltcG9ydCBJbnRlcnZhbCBmcm9tIFwiLi9pbnRlcnZhbC5qc1wiO1xuaW1wb3J0IEluZm8gZnJvbSBcIi4vaW5mby5qc1wiO1xuaW1wb3J0IFpvbmUgZnJvbSBcIi4vem9uZS5qc1wiO1xuaW1wb3J0IEZpeGVkT2Zmc2V0Wm9uZSBmcm9tIFwiLi96b25lcy9maXhlZE9mZnNldFpvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuaW1wb3J0IEludmFsaWRab25lIGZyb20gXCIuL3pvbmVzL2ludmFsaWRab25lLmpzXCI7XG5pbXBvcnQgU3lzdGVtWm9uZSBmcm9tIFwiLi96b25lcy9zeXN0ZW1ab25lLmpzXCI7XG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3MuanNcIjtcblxuY29uc3QgVkVSU0lPTiA9IFwiMi41LjJcIjtcblxuZXhwb3J0IHtcbiAgVkVSU0lPTixcbiAgRGF0ZVRpbWUsXG4gIER1cmF0aW9uLFxuICBJbnRlcnZhbCxcbiAgSW5mbyxcbiAgWm9uZSxcbiAgRml4ZWRPZmZzZXRab25lLFxuICBJQU5BWm9uZSxcbiAgSW52YWxpZFpvbmUsXG4gIFN5c3RlbVpvbmUsXG4gIFNldHRpbmdzLFxufTtcbiIsICIvLyB0aGVzZSBhcmVuJ3QgcmVhbGx5IHByaXZhdGUsIGJ1dCBub3IgYXJlIHRoZXkgcmVhbGx5IHVzZWZ1bCB0byBkb2N1bWVudFxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmNsYXNzIEx1eG9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnZhbGlkRGF0ZVRpbWVFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFzb24pIHtcbiAgICBzdXBlcihgSW52YWxpZCBEYXRlVGltZTogJHtyZWFzb24udG9NZXNzYWdlKCl9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEludGVydmFsRXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHtcbiAgY29uc3RydWN0b3IocmVhc29uKSB7XG4gICAgc3VwZXIoYEludmFsaWQgSW50ZXJ2YWw6ICR7cmVhc29uLnRvTWVzc2FnZSgpfWApO1xuICB9XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIEludmFsaWREdXJhdGlvbkVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKHJlYXNvbikge1xuICAgIHN1cGVyKGBJbnZhbGlkIER1cmF0aW9uOiAke3JlYXNvbi50b01lc3NhZ2UoKX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige31cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZFVuaXRFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcih1bml0KSB7XG4gICAgc3VwZXIoYEludmFsaWQgdW5pdCAke3VuaXR9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHt9XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIFpvbmVJc0Fic3RyYWN0RXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJab25lIGlzIGFuIGFic3RyYWN0IGNsYXNzXCIpO1xuICB9XG59XG4iLCAiLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmNvbnN0IG4gPSBcIm51bWVyaWNcIixcbiAgcyA9IFwic2hvcnRcIixcbiAgbCA9IFwibG9uZ1wiO1xuXG5leHBvcnQgY29uc3QgREFURV9TSE9SVCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IG4sXG4gIGRheTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFX01FRCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IHMsXG4gIGRheTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFX01FRF9XSVRIX1dFRUtEQVkgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBzLFxuICBkYXk6IG4sXG4gIHdlZWtkYXk6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURV9GVUxMID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbCxcbiAgZGF5OiBuLFxufTtcblxuZXhwb3J0IGNvbnN0IERBVEVfSFVHRSA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgd2Vla2RheTogbCxcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1NJTVBMRSA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfV0lUSF9TRUNPTkRTID0ge1xuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1dJVEhfU0hPUlRfT0ZGU0VUID0ge1xuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbiAgdGltZVpvbmVOYW1lOiBzLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfV0lUSF9MT05HX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIHRpbWVab25lTmFtZTogbCxcbn07XG5cbmV4cG9ydCBjb25zdCBUSU1FXzI0X1NJTVBMRSA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBob3VyQ3ljbGU6IFwiaDIzXCIsXG59O1xuXG5leHBvcnQgY29uc3QgVElNRV8yNF9XSVRIX1NFQ09ORFMgPSB7XG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICBob3VyQ3ljbGU6IFwiaDIzXCIsXG59O1xuXG5leHBvcnQgY29uc3QgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgdGltZVpvbmVOYW1lOiBzLFxufTtcblxuZXhwb3J0IGNvbnN0IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCA9IHtcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICBzZWNvbmQ6IG4sXG4gIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgdGltZVpvbmVOYW1lOiBsLFxufTtcblxuZXhwb3J0IGNvbnN0IERBVEVUSU1FX1NIT1JUID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbixcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogbixcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRUQgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBzLFxuICBkYXk6IG4sXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogcyxcbiAgZGF5OiBuLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG4gIHNlY29uZDogbixcbn07XG5cbmV4cG9ydCBjb25zdCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZID0ge1xuICB5ZWFyOiBuLFxuICBtb250aDogcyxcbiAgZGF5OiBuLFxuICB3ZWVrZGF5OiBzLFxuICBob3VyOiBuLFxuICBtaW51dGU6IG4sXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfRlVMTCA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICB0aW1lWm9uZU5hbWU6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBsLFxuICBkYXk6IG4sXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICB0aW1lWm9uZU5hbWU6IHMsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfSFVHRSA9IHtcbiAgeWVhcjogbixcbiAgbW9udGg6IGwsXG4gIGRheTogbixcbiAgd2Vla2RheTogbCxcbiAgaG91cjogbixcbiAgbWludXRlOiBuLFxuICB0aW1lWm9uZU5hbWU6IGwsXG59O1xuXG5leHBvcnQgY29uc3QgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMgPSB7XG4gIHllYXI6IG4sXG4gIG1vbnRoOiBsLFxuICBkYXk6IG4sXG4gIHdlZWtkYXk6IGwsXG4gIGhvdXI6IG4sXG4gIG1pbnV0ZTogbixcbiAgc2Vjb25kOiBuLFxuICB0aW1lWm9uZU5hbWU6IGwsXG59O1xuIiwgIi8qXG4gIFRoaXMgaXMganVzdCBhIGp1bmsgZHJhd2VyLCBjb250YWluaW5nIGFueXRoaW5nIHVzZWQgYWNyb3NzIG11bHRpcGxlIGNsYXNzZXMuXG4gIEJlY2F1c2UgTHV4b24gaXMgc21hbGwoaXNoKSwgdGhpcyBzaG91bGQgc3RheSBzbWFsbCBhbmQgd2Ugd29uJ3Qgd29ycnkgYWJvdXQgc3BsaXR0aW5nXG4gIGl0IHVwIGludG8sIHNheSwgcGFyc2luZ1V0aWwuanMgYW5kIGJhc2ljVXRpbC5qcyBhbmQgc28gb24uIEJ1dCB0aGV5IGFyZSBkaXZpZGVkIHVwIGJ5IGZlYXR1cmUgYXJlYS5cbiovXG5cbmltcG9ydCB7IEludmFsaWRBcmd1bWVudEVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy5qc1wiO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuLy8gVFlQRVNcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKG8pIHtcbiAgcmV0dXJuIHR5cGVvZiBvID09PSBcInVuZGVmaW5lZFwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwibnVtYmVyXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludGVnZXIobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwibnVtYmVyXCIgJiYgbyAlIDEgPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyhvKSB7XG4gIHJldHVybiB0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZShvKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykgPT09IFwiW29iamVjdCBEYXRlXVwiO1xufVxuXG4vLyBDQVBBQklMSVRJRVNcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1JlbGF0aXZlKCkge1xuICB0cnkge1xuICAgIHJldHVybiB0eXBlb2YgSW50bCAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhIUludGwuUmVsYXRpdmVUaW1lRm9ybWF0O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8vIE9CSkVDVFMgQU5EIEFSUkFZU1xuXG5leHBvcnQgZnVuY3Rpb24gbWF5YmVBcnJheSh0aGluZykge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGluZykgPyB0aGluZyA6IFt0aGluZ107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiZXN0QnkoYXJyLCBieSwgY29tcGFyZSkge1xuICBpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGFyci5yZWR1Y2UoKGJlc3QsIG5leHQpID0+IHtcbiAgICBjb25zdCBwYWlyID0gW2J5KG5leHQpLCBuZXh0XTtcbiAgICBpZiAoIWJlc3QpIHtcbiAgICAgIHJldHVybiBwYWlyO1xuICAgIH0gZWxzZSBpZiAoY29tcGFyZShiZXN0WzBdLCBwYWlyWzBdKSA9PT0gYmVzdFswXSkge1xuICAgICAgcmV0dXJuIGJlc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwYWlyO1xuICAgIH1cbiAgfSwgbnVsbClbMV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaWNrKG9iaiwga2V5cykge1xuICByZXR1cm4ga2V5cy5yZWR1Y2UoKGEsIGspID0+IHtcbiAgICBhW2tdID0gb2JqW2tdO1xuICAgIHJldHVybiBhO1xuICB9LCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3ApIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufVxuXG4vLyBOVU1CRVJTIEFORCBTVFJJTkdTXG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlZ2VyQmV0d2Vlbih0aGluZywgYm90dG9tLCB0b3ApIHtcbiAgcmV0dXJuIGlzSW50ZWdlcih0aGluZykgJiYgdGhpbmcgPj0gYm90dG9tICYmIHRoaW5nIDw9IHRvcDtcbn1cblxuLy8geCAlIG4gYnV0IHRha2VzIHRoZSBzaWduIG9mIG4gaW5zdGVhZCBvZiB4XG5leHBvcnQgZnVuY3Rpb24gZmxvb3JNb2QoeCwgbikge1xuICByZXR1cm4geCAtIG4gKiBNYXRoLmZsb29yKHggLyBuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZFN0YXJ0KGlucHV0LCBuID0gMikge1xuICBjb25zdCBpc05lZyA9IGlucHV0IDwgMDtcbiAgbGV0IHBhZGRlZDtcbiAgaWYgKGlzTmVnKSB7XG4gICAgcGFkZGVkID0gXCItXCIgKyAoXCJcIiArIC1pbnB1dCkucGFkU3RhcnQobiwgXCIwXCIpO1xuICB9IGVsc2Uge1xuICAgIHBhZGRlZCA9IChcIlwiICsgaW5wdXQpLnBhZFN0YXJ0KG4sIFwiMFwiKTtcbiAgfVxuICByZXR1cm4gcGFkZGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbnRlZ2VyKHN0cmluZykge1xuICBpZiAoaXNVbmRlZmluZWQoc3RyaW5nKSB8fCBzdHJpbmcgPT09IG51bGwgfHwgc3RyaW5nID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nLCAxMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRmxvYXRpbmcoc3RyaW5nKSB7XG4gIGlmIChpc1VuZGVmaW5lZChzdHJpbmcpIHx8IHN0cmluZyA9PT0gbnVsbCB8fCBzdHJpbmcgPT09IFwiXCIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBwYXJzZUZsb2F0KHN0cmluZyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWlsbGlzKGZyYWN0aW9uKSB7XG4gIC8vIFJldHVybiB1bmRlZmluZWQgKGluc3RlYWQgb2YgMCkgaW4gdGhlc2UgY2FzZXMsIHdoZXJlIGZyYWN0aW9uIGlzIG5vdCBzZXRcbiAgaWYgKGlzVW5kZWZpbmVkKGZyYWN0aW9uKSB8fCBmcmFjdGlvbiA9PT0gbnVsbCB8fCBmcmFjdGlvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZiA9IHBhcnNlRmxvYXQoXCIwLlwiICsgZnJhY3Rpb24pICogMTAwMDtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihmKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRUbyhudW1iZXIsIGRpZ2l0cywgdG93YXJkWmVybyA9IGZhbHNlKSB7XG4gIGNvbnN0IGZhY3RvciA9IDEwICoqIGRpZ2l0cyxcbiAgICByb3VuZGVyID0gdG93YXJkWmVybyA/IE1hdGgudHJ1bmMgOiBNYXRoLnJvdW5kO1xuICByZXR1cm4gcm91bmRlcihudW1iZXIgKiBmYWN0b3IpIC8gZmFjdG9yO1xufVxuXG4vLyBEQVRFIEJBU0lDU1xuXG5leHBvcnQgZnVuY3Rpb24gaXNMZWFwWWVhcih5ZWFyKSB7XG4gIHJldHVybiB5ZWFyICUgNCA9PT0gMCAmJiAoeWVhciAlIDEwMCAhPT0gMCB8fCB5ZWFyICUgNDAwID09PSAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJblllYXIoeWVhcikge1xuICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7XG4gIGNvbnN0IG1vZE1vbnRoID0gZmxvb3JNb2QobW9udGggLSAxLCAxMikgKyAxLFxuICAgIG1vZFllYXIgPSB5ZWFyICsgKG1vbnRoIC0gbW9kTW9udGgpIC8gMTI7XG5cbiAgaWYgKG1vZE1vbnRoID09PSAyKSB7XG4gICAgcmV0dXJuIGlzTGVhcFllYXIobW9kWWVhcikgPyAyOSA6IDI4O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBbMzEsIG51bGwsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXVttb2RNb250aCAtIDFdO1xuICB9XG59XG5cbi8vIGNvdmVydCBhIGNhbGVuZGFyIG9iamVjdCB0byBhIGxvY2FsIHRpbWVzdGFtcCAoZXBvY2gsIGJ1dCB3aXRoIHRoZSBvZmZzZXQgYmFrZWQgaW4pXG5leHBvcnQgZnVuY3Rpb24gb2JqVG9Mb2NhbFRTKG9iaikge1xuICBsZXQgZCA9IERhdGUuVVRDKFxuICAgIG9iai55ZWFyLFxuICAgIG9iai5tb250aCAtIDEsXG4gICAgb2JqLmRheSxcbiAgICBvYmouaG91cixcbiAgICBvYmoubWludXRlLFxuICAgIG9iai5zZWNvbmQsXG4gICAgb2JqLm1pbGxpc2Vjb25kXG4gICk7XG5cbiAgLy8gZm9yIGxlZ2FjeSByZWFzb25zLCB5ZWFycyBiZXR3ZWVuIDAgYW5kIDk5IGFyZSBpbnRlcnByZXRlZCBhcyAxOVhYOyByZXZlcnQgdGhhdFxuICBpZiAob2JqLnllYXIgPCAxMDAgJiYgb2JqLnllYXIgPj0gMCkge1xuICAgIGQgPSBuZXcgRGF0ZShkKTtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGQuZ2V0VVRDRnVsbFllYXIoKSAtIDE5MDApO1xuICB9XG4gIHJldHVybiArZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcikge1xuICBjb25zdCBwMSA9XG4gICAgICAod2Vla1llYXIgK1xuICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gNCkgLVxuICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gMTAwKSArXG4gICAgICAgIE1hdGguZmxvb3Iod2Vla1llYXIgLyA0MDApKSAlXG4gICAgICA3LFxuICAgIGxhc3QgPSB3ZWVrWWVhciAtIDEsXG4gICAgcDIgPSAobGFzdCArIE1hdGguZmxvb3IobGFzdCAvIDQpIC0gTWF0aC5mbG9vcihsYXN0IC8gMTAwKSArIE1hdGguZmxvb3IobGFzdCAvIDQwMCkpICUgNztcbiAgcmV0dXJuIHAxID09PSA0IHx8IHAyID09PSAzID8gNTMgOiA1Mjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVudHJ1bmNhdGVZZWFyKHllYXIpIHtcbiAgaWYgKHllYXIgPiA5OSkge1xuICAgIHJldHVybiB5ZWFyO1xuICB9IGVsc2UgcmV0dXJuIHllYXIgPiA2MCA/IDE5MDAgKyB5ZWFyIDogMjAwMCArIHllYXI7XG59XG5cbi8vIFBBUlNJTkdcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlWm9uZUluZm8odHMsIG9mZnNldEZvcm1hdCwgbG9jYWxlLCB0aW1lWm9uZSA9IG51bGwpIHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRzKSxcbiAgICBpbnRsT3B0cyA9IHtcbiAgICAgIGhvdXJDeWNsZTogXCJoMjNcIixcbiAgICAgIHllYXI6IFwibnVtZXJpY1wiLFxuICAgICAgbW9udGg6IFwiMi1kaWdpdFwiLFxuICAgICAgZGF5OiBcIjItZGlnaXRcIixcbiAgICAgIGhvdXI6IFwiMi1kaWdpdFwiLFxuICAgICAgbWludXRlOiBcIjItZGlnaXRcIixcbiAgICB9O1xuXG4gIGlmICh0aW1lWm9uZSkge1xuICAgIGludGxPcHRzLnRpbWVab25lID0gdGltZVpvbmU7XG4gIH1cblxuICBjb25zdCBtb2RpZmllZCA9IHsgdGltZVpvbmVOYW1lOiBvZmZzZXRGb3JtYXQsIC4uLmludGxPcHRzIH07XG5cbiAgY29uc3QgcGFyc2VkID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBtb2RpZmllZClcbiAgICAuZm9ybWF0VG9QYXJ0cyhkYXRlKVxuICAgIC5maW5kKChtKSA9PiBtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gXCJ0aW1lem9uZW5hbWVcIik7XG4gIHJldHVybiBwYXJzZWQgPyBwYXJzZWQudmFsdWUgOiBudWxsO1xufVxuXG4vLyBzaWduZWRPZmZzZXQoJy01JywgJzMwJykgLT4gLTMzMFxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25lZE9mZnNldChvZmZIb3VyU3RyLCBvZmZNaW51dGVTdHIpIHtcbiAgbGV0IG9mZkhvdXIgPSBwYXJzZUludChvZmZIb3VyU3RyLCAxMCk7XG5cbiAgLy8gZG9uJ3QgfHwgdGhpcyBiZWNhdXNlIHdlIHdhbnQgdG8gcHJlc2VydmUgLTBcbiAgaWYgKE51bWJlci5pc05hTihvZmZIb3VyKSkge1xuICAgIG9mZkhvdXIgPSAwO1xuICB9XG5cbiAgY29uc3Qgb2ZmTWluID0gcGFyc2VJbnQob2ZmTWludXRlU3RyLCAxMCkgfHwgMCxcbiAgICBvZmZNaW5TaWduZWQgPSBvZmZIb3VyIDwgMCB8fCBPYmplY3QuaXMob2ZmSG91ciwgLTApID8gLW9mZk1pbiA6IG9mZk1pbjtcbiAgcmV0dXJuIG9mZkhvdXIgKiA2MCArIG9mZk1pblNpZ25lZDtcbn1cblxuLy8gQ09FUkNJT05cblxuZXhwb3J0IGZ1bmN0aW9uIGFzTnVtYmVyKHZhbHVlKSB7XG4gIGNvbnN0IG51bWVyaWNWYWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiIHx8IHZhbHVlID09PSBcIlwiIHx8IE51bWJlci5pc05hTihudW1lcmljVmFsdWUpKVxuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgSW52YWxpZCB1bml0IHZhbHVlICR7dmFsdWV9YCk7XG4gIHJldHVybiBudW1lcmljVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVPYmplY3Qob2JqLCBub3JtYWxpemVyKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fTtcbiAgZm9yIChjb25zdCB1IGluIG9iaikge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eShvYmosIHUpKSB7XG4gICAgICBjb25zdCB2ID0gb2JqW3VdO1xuICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCB8fCB2ID09PSBudWxsKSBjb250aW51ZTtcbiAgICAgIG5vcm1hbGl6ZWRbbm9ybWFsaXplcih1KV0gPSBhc051bWJlcih2KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRPZmZzZXQob2Zmc2V0LCBmb3JtYXQpIHtcbiAgY29uc3QgaG91cnMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAvIDYwKSksXG4gICAgbWludXRlcyA9IE1hdGgudHJ1bmMoTWF0aC5hYnMob2Zmc2V0ICUgNjApKSxcbiAgICBzaWduID0gb2Zmc2V0ID49IDAgPyBcIitcIiA6IFwiLVwiO1xuXG4gIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgY2FzZSBcInNob3J0XCI6XG4gICAgICByZXR1cm4gYCR7c2lnbn0ke3BhZFN0YXJ0KGhvdXJzLCAyKX06JHtwYWRTdGFydChtaW51dGVzLCAyKX1gO1xuICAgIGNhc2UgXCJuYXJyb3dcIjpcbiAgICAgIHJldHVybiBgJHtzaWdufSR7aG91cnN9JHttaW51dGVzID4gMCA/IGA6JHttaW51dGVzfWAgOiBcIlwifWA7XG4gICAgY2FzZSBcInRlY2hpZVwiOlxuICAgICAgcmV0dXJuIGAke3NpZ259JHtwYWRTdGFydChob3VycywgMil9JHtwYWRTdGFydChtaW51dGVzLCAyKX1gO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVmFsdWUgZm9ybWF0ICR7Zm9ybWF0fSBpcyBvdXQgb2YgcmFuZ2UgZm9yIHByb3BlcnR5IGZvcm1hdGApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lT2JqZWN0KG9iaikge1xuICByZXR1cm4gcGljayhvYmosIFtcImhvdXJcIiwgXCJtaW51dGVcIiwgXCJzZWNvbmRcIiwgXCJtaWxsaXNlY29uZFwiXSk7XG59XG5cbmV4cG9ydCBjb25zdCBpYW5hUmVnZXggPVxuICAvW0EtWmEtel8rLV17MSwyNTZ9KD86Oj9cXC9bQS1aYS16MC05XystXXsxLDI1Nn0oPzpcXC9bQS1aYS16MC05XystXXsxLDI1Nn0pPyk/LztcbiIsICJpbXBvcnQgKiBhcyBGb3JtYXRzIGZyb20gXCIuL2Zvcm1hdHMuanNcIjtcbmltcG9ydCB7IHBpY2sgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShvYmopIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiwgT2JqZWN0LmtleXMob2JqKS5zb3J0KCkpO1xufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuZXhwb3J0IGNvbnN0IG1vbnRoc0xvbmcgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbmV4cG9ydCBjb25zdCBtb250aHNTaG9ydCA9IFtcbiAgXCJKYW5cIixcbiAgXCJGZWJcIixcbiAgXCJNYXJcIixcbiAgXCJBcHJcIixcbiAgXCJNYXlcIixcbiAgXCJKdW5cIixcbiAgXCJKdWxcIixcbiAgXCJBdWdcIixcbiAgXCJTZXBcIixcbiAgXCJPY3RcIixcbiAgXCJOb3ZcIixcbiAgXCJEZWNcIixcbl07XG5cbmV4cG9ydCBjb25zdCBtb250aHNOYXJyb3cgPSBbXCJKXCIsIFwiRlwiLCBcIk1cIiwgXCJBXCIsIFwiTVwiLCBcIkpcIiwgXCJKXCIsIFwiQVwiLCBcIlNcIiwgXCJPXCIsIFwiTlwiLCBcIkRcIl07XG5cbmV4cG9ydCBmdW5jdGlvbiBtb250aHMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi5tb250aHNOYXJyb3ddO1xuICAgIGNhc2UgXCJzaG9ydFwiOlxuICAgICAgcmV0dXJuIFsuLi5tb250aHNTaG9ydF07XG4gICAgY2FzZSBcImxvbmdcIjpcbiAgICAgIHJldHVybiBbLi4ubW9udGhzTG9uZ107XG4gICAgY2FzZSBcIm51bWVyaWNcIjpcbiAgICAgIHJldHVybiBbXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCIsIFwiOFwiLCBcIjlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl07XG4gICAgY2FzZSBcIjItZGlnaXRcIjpcbiAgICAgIHJldHVybiBbXCIwMVwiLCBcIjAyXCIsIFwiMDNcIiwgXCIwNFwiLCBcIjA1XCIsIFwiMDZcIiwgXCIwN1wiLCBcIjA4XCIsIFwiMDlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3ZWVrZGF5c0xvbmcgPSBbXG4gIFwiTW9uZGF5XCIsXG4gIFwiVHVlc2RheVwiLFxuICBcIldlZG5lc2RheVwiLFxuICBcIlRodXJzZGF5XCIsXG4gIFwiRnJpZGF5XCIsXG4gIFwiU2F0dXJkYXlcIixcbiAgXCJTdW5kYXlcIixcbl07XG5cbmV4cG9ydCBjb25zdCB3ZWVrZGF5c1Nob3J0ID0gW1wiTW9uXCIsIFwiVHVlXCIsIFwiV2VkXCIsIFwiVGh1XCIsIFwiRnJpXCIsIFwiU2F0XCIsIFwiU3VuXCJdO1xuXG5leHBvcnQgY29uc3Qgd2Vla2RheXNOYXJyb3cgPSBbXCJNXCIsIFwiVFwiLCBcIldcIiwgXCJUXCIsIFwiRlwiLCBcIlNcIiwgXCJTXCJdO1xuXG5leHBvcnQgZnVuY3Rpb24gd2Vla2RheXMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi53ZWVrZGF5c05hcnJvd107XG4gICAgY2FzZSBcInNob3J0XCI6XG4gICAgICByZXR1cm4gWy4uLndlZWtkYXlzU2hvcnRdO1xuICAgIGNhc2UgXCJsb25nXCI6XG4gICAgICByZXR1cm4gWy4uLndlZWtkYXlzTG9uZ107XG4gICAgY2FzZSBcIm51bWVyaWNcIjpcbiAgICAgIHJldHVybiBbXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCJdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgbWVyaWRpZW1zID0gW1wiQU1cIiwgXCJQTVwiXTtcblxuZXhwb3J0IGNvbnN0IGVyYXNMb25nID0gW1wiQmVmb3JlIENocmlzdFwiLCBcIkFubm8gRG9taW5pXCJdO1xuXG5leHBvcnQgY29uc3QgZXJhc1Nob3J0ID0gW1wiQkNcIiwgXCJBRFwiXTtcblxuZXhwb3J0IGNvbnN0IGVyYXNOYXJyb3cgPSBbXCJCXCIsIFwiQVwiXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVyYXMobGVuZ3RoKSB7XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSBcIm5hcnJvd1wiOlxuICAgICAgcmV0dXJuIFsuLi5lcmFzTmFycm93XTtcbiAgICBjYXNlIFwic2hvcnRcIjpcbiAgICAgIHJldHVybiBbLi4uZXJhc1Nob3J0XTtcbiAgICBjYXNlIFwibG9uZ1wiOlxuICAgICAgcmV0dXJuIFsuLi5lcmFzTG9uZ107XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJpZGllbUZvckRhdGVUaW1lKGR0KSB7XG4gIHJldHVybiBtZXJpZGllbXNbZHQuaG91ciA8IDEyID8gMCA6IDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIHdlZWtkYXlzKGxlbmd0aClbZHQud2Vla2RheSAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSB7XG4gIHJldHVybiBtb250aHMobGVuZ3RoKVtkdC5tb250aCAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXJhRm9yRGF0ZVRpbWUoZHQsIGxlbmd0aCkge1xuICByZXR1cm4gZXJhcyhsZW5ndGgpW2R0LnllYXIgPCAwID8gMCA6IDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCBudW1lcmljID0gXCJhbHdheXNcIiwgbmFycm93ID0gZmFsc2UpIHtcbiAgY29uc3QgdW5pdHMgPSB7XG4gICAgeWVhcnM6IFtcInllYXJcIiwgXCJ5ci5cIl0sXG4gICAgcXVhcnRlcnM6IFtcInF1YXJ0ZXJcIiwgXCJxdHIuXCJdLFxuICAgIG1vbnRoczogW1wibW9udGhcIiwgXCJtby5cIl0sXG4gICAgd2Vla3M6IFtcIndlZWtcIiwgXCJ3ay5cIl0sXG4gICAgZGF5czogW1wiZGF5XCIsIFwiZGF5XCIsIFwiZGF5c1wiXSxcbiAgICBob3VyczogW1wiaG91clwiLCBcImhyLlwiXSxcbiAgICBtaW51dGVzOiBbXCJtaW51dGVcIiwgXCJtaW4uXCJdLFxuICAgIHNlY29uZHM6IFtcInNlY29uZFwiLCBcInNlYy5cIl0sXG4gIH07XG5cbiAgY29uc3QgbGFzdGFibGUgPSBbXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJdLmluZGV4T2YodW5pdCkgPT09IC0xO1xuXG4gIGlmIChudW1lcmljID09PSBcImF1dG9cIiAmJiBsYXN0YWJsZSkge1xuICAgIGNvbnN0IGlzRGF5ID0gdW5pdCA9PT0gXCJkYXlzXCI7XG4gICAgc3dpdGNoIChjb3VudCkge1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInRvbW9ycm93XCIgOiBgbmV4dCAke3VuaXRzW3VuaXRdWzBdfWA7XG4gICAgICBjYXNlIC0xOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInllc3RlcmRheVwiIDogYGxhc3QgJHt1bml0c1t1bml0XVswXX1gO1xuICAgICAgY2FzZSAwOlxuICAgICAgICByZXR1cm4gaXNEYXkgPyBcInRvZGF5XCIgOiBgdGhpcyAke3VuaXRzW3VuaXRdWzBdfWA7XG4gICAgICBkZWZhdWx0OiAvLyBmYWxsIHRocm91Z2hcbiAgICB9XG4gIH1cblxuICBjb25zdCBpc0luUGFzdCA9IE9iamVjdC5pcyhjb3VudCwgLTApIHx8IGNvdW50IDwgMCxcbiAgICBmbXRWYWx1ZSA9IE1hdGguYWJzKGNvdW50KSxcbiAgICBzaW5ndWxhciA9IGZtdFZhbHVlID09PSAxLFxuICAgIGxpbFVuaXRzID0gdW5pdHNbdW5pdF0sXG4gICAgZm10VW5pdCA9IG5hcnJvd1xuICAgICAgPyBzaW5ndWxhclxuICAgICAgICA/IGxpbFVuaXRzWzFdXG4gICAgICAgIDogbGlsVW5pdHNbMl0gfHwgbGlsVW5pdHNbMV1cbiAgICAgIDogc2luZ3VsYXJcbiAgICAgID8gdW5pdHNbdW5pdF1bMF1cbiAgICAgIDogdW5pdDtcbiAgcmV0dXJuIGlzSW5QYXN0ID8gYCR7Zm10VmFsdWV9ICR7Zm10VW5pdH0gYWdvYCA6IGBpbiAke2ZtdFZhbHVlfSAke2ZtdFVuaXR9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFN0cmluZyhrbm93bkZvcm1hdCkge1xuICAvLyB0aGVzZSBhbGwgaGF2ZSB0aGUgb2Zmc2V0cyByZW1vdmVkIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlbVxuICAvLyB3aXRob3V0IGFsbCB0aGUgaW50bCBzdHVmZiB0aGlzIGlzIGJhY2tmaWxsaW5nXG4gIGNvbnN0IGZpbHRlcmVkID0gcGljayhrbm93bkZvcm1hdCwgW1xuICAgICAgXCJ3ZWVrZGF5XCIsXG4gICAgICBcImVyYVwiLFxuICAgICAgXCJ5ZWFyXCIsXG4gICAgICBcIm1vbnRoXCIsXG4gICAgICBcImRheVwiLFxuICAgICAgXCJob3VyXCIsXG4gICAgICBcIm1pbnV0ZVwiLFxuICAgICAgXCJzZWNvbmRcIixcbiAgICAgIFwidGltZVpvbmVOYW1lXCIsXG4gICAgICBcImhvdXJDeWNsZVwiLFxuICAgIF0pLFxuICAgIGtleSA9IHN0cmluZ2lmeShmaWx0ZXJlZCksXG4gICAgZGF0ZVRpbWVIdWdlID0gXCJFRUVFLCBMTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICBzd2l0Y2ggKGtleSkge1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURV9TSE9SVCk6XG4gICAgICByZXR1cm4gXCJNL2QveXl5eVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURV9NRUQpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXlcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWSk6XG4gICAgICByZXR1cm4gXCJFRUUsIExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFX0ZVTEwpOlxuICAgICAgcmV0dXJuIFwiTExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFX0hVR0UpOlxuICAgICAgcmV0dXJuIFwiRUVFRSwgTExMTCBkLCB5eXl5XCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5USU1FX1NJTVBMRSk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcImg6bW06c3MgYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJoOm1tIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLlRJTUVfMjRfU0lNUExFKTpcbiAgICAgIHJldHVybiBcIkhIOm1tXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5USU1FXzI0X1dJVEhfU0VDT05EUyk6XG4gICAgICByZXR1cm4gXCJISDptbTpzc1wiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCk6XG4gICAgICByZXR1cm4gXCJISDptbVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUKTpcbiAgICAgIHJldHVybiBcIkhIOm1tXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFVElNRV9TSE9SVCk6XG4gICAgICByZXR1cm4gXCJNL2QveXl5eSwgaDptbSBhXCI7XG4gICAgY2FzZSBzdHJpbmdpZnkoRm9ybWF0cy5EQVRFVElNRV9NRUQpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfRlVMTCk6XG4gICAgICByZXR1cm4gXCJMTExMIGQsIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfSFVHRSk6XG4gICAgICByZXR1cm4gZGF0ZVRpbWVIdWdlO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcIk0vZC95eXl5LCBoOm1tOnNzIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMpOlxuICAgICAgcmV0dXJuIFwiTExMIGQsIHl5eXksIGg6bW06c3MgYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSk6XG4gICAgICByZXR1cm4gXCJFRUUsIGQgTExMIHl5eXksIGg6bW0gYVwiO1xuICAgIGNhc2Ugc3RyaW5naWZ5KEZvcm1hdHMuREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMpOlxuICAgICAgcmV0dXJuIFwiTExMTCBkLCB5eXl5LCBoOm1tOnNzIGFcIjtcbiAgICBjYXNlIHN0cmluZ2lmeShGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTKTpcbiAgICAgIHJldHVybiBcIkVFRUUsIExMTEwgZCwgeXl5eSwgaDptbTpzcyBhXCI7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBkYXRlVGltZUh1Z2U7XG4gIH1cbn1cbiIsICJpbXBvcnQgKiBhcyBFbmdsaXNoIGZyb20gXCIuL2VuZ2xpc2guanNcIjtcbmltcG9ydCAqIGFzIEZvcm1hdHMgZnJvbSBcIi4vZm9ybWF0cy5qc1wiO1xuaW1wb3J0IHsgcGFkU3RhcnQgfSBmcm9tIFwiLi91dGlsLmpzXCI7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeVRva2VucyhzcGxpdHMsIHRva2VuVG9TdHJpbmcpIHtcbiAgbGV0IHMgPSBcIlwiO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHNwbGl0cykge1xuICAgIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgICBzICs9IHRva2VuLnZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcyArPSB0b2tlblRvU3RyaW5nKHRva2VuLnZhbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBzO1xufVxuXG5jb25zdCBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzID0ge1xuICBEOiBGb3JtYXRzLkRBVEVfU0hPUlQsXG4gIEREOiBGb3JtYXRzLkRBVEVfTUVELFxuICBEREQ6IEZvcm1hdHMuREFURV9GVUxMLFxuICBEREREOiBGb3JtYXRzLkRBVEVfSFVHRSxcbiAgdDogRm9ybWF0cy5USU1FX1NJTVBMRSxcbiAgdHQ6IEZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFMsXG4gIHR0dDogRm9ybWF0cy5USU1FX1dJVEhfU0hPUlRfT0ZGU0VULFxuICB0dHR0OiBGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCxcbiAgVDogRm9ybWF0cy5USU1FXzI0X1NJTVBMRSxcbiAgVFQ6IEZvcm1hdHMuVElNRV8yNF9XSVRIX1NFQ09ORFMsXG4gIFRUVDogRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VULFxuICBUVFRUOiBGb3JtYXRzLlRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCxcbiAgZjogRm9ybWF0cy5EQVRFVElNRV9TSE9SVCxcbiAgZmY6IEZvcm1hdHMuREFURVRJTUVfTUVELFxuICBmZmY6IEZvcm1hdHMuREFURVRJTUVfRlVMTCxcbiAgZmZmZjogRm9ybWF0cy5EQVRFVElNRV9IVUdFLFxuICBGOiBGb3JtYXRzLkRBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUyxcbiAgRkY6IEZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUyxcbiAgRkZGOiBGb3JtYXRzLkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTLFxuICBGRkZGOiBGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTLFxufTtcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvcm1hdHRlciB7XG4gIHN0YXRpYyBjcmVhdGUobG9jYWxlLCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsb2NhbGUsIG9wdHMpO1xuICB9XG5cbiAgc3RhdGljIHBhcnNlRm9ybWF0KGZtdCkge1xuICAgIGxldCBjdXJyZW50ID0gbnVsbCxcbiAgICAgIGN1cnJlbnRGdWxsID0gXCJcIixcbiAgICAgIGJyYWNrZXRlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHNwbGl0cyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm10Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjID0gZm10LmNoYXJBdChpKTtcbiAgICAgIGlmIChjID09PSBcIidcIikge1xuICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogYnJhY2tldGVkLCB2YWw6IGN1cnJlbnRGdWxsIH0pO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnQgPSBudWxsO1xuICAgICAgICBjdXJyZW50RnVsbCA9IFwiXCI7XG4gICAgICAgIGJyYWNrZXRlZCA9ICFicmFja2V0ZWQ7XG4gICAgICB9IGVsc2UgaWYgKGJyYWNrZXRlZCkge1xuICAgICAgICBjdXJyZW50RnVsbCArPSBjO1xuICAgICAgfSBlbHNlIGlmIChjID09PSBjdXJyZW50KSB7XG4gICAgICAgIGN1cnJlbnRGdWxsICs9IGM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogZmFsc2UsIHZhbDogY3VycmVudEZ1bGwgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEZ1bGwgPSBjO1xuICAgICAgICBjdXJyZW50ID0gYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkge1xuICAgICAgc3BsaXRzLnB1c2goeyBsaXRlcmFsOiBicmFja2V0ZWQsIHZhbDogY3VycmVudEZ1bGwgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNwbGl0cztcbiAgfVxuXG4gIHN0YXRpYyBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuKSB7XG4gICAgcmV0dXJuIG1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHNbdG9rZW5dO1xuICB9XG5cbiAgY29uc3RydWN0b3IobG9jYWxlLCBmb3JtYXRPcHRzKSB7XG4gICAgdGhpcy5vcHRzID0gZm9ybWF0T3B0cztcbiAgICB0aGlzLmxvYyA9IGxvY2FsZTtcbiAgICB0aGlzLnN5c3RlbUxvYyA9IG51bGw7XG4gIH1cblxuICBmb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChkdCwgb3B0cykge1xuICAgIGlmICh0aGlzLnN5c3RlbUxvYyA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zeXN0ZW1Mb2MgPSB0aGlzLmxvYy5yZWRlZmF1bHRUb1N5c3RlbSgpO1xuICAgIH1cbiAgICBjb25zdCBkZiA9IHRoaXMuc3lzdGVtTG9jLmR0Rm9ybWF0dGVyKGR0LCB7IC4uLnRoaXMub3B0cywgLi4ub3B0cyB9KTtcbiAgICByZXR1cm4gZGYuZm9ybWF0KCk7XG4gIH1cblxuICBmb3JtYXREYXRlVGltZShkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLmZvcm1hdCgpO1xuICB9XG5cbiAgZm9ybWF0RGF0ZVRpbWVQYXJ0cyhkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLmZvcm1hdFRvUGFydHMoKTtcbiAgfVxuXG4gIHJlc29sdmVkT3B0aW9ucyhkdCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7XG4gICAgcmV0dXJuIGRmLnJlc29sdmVkT3B0aW9ucygpO1xuICB9XG5cbiAgbnVtKG4sIHAgPSAwKSB7XG4gICAgLy8gd2UgZ2V0IHNvbWUgcGVyZiBvdXQgb2YgZG9pbmcgdGhpcyBoZXJlLCBhbm5veWluZ2x5XG4gICAgaWYgKHRoaXMub3B0cy5mb3JjZVNpbXBsZSkge1xuICAgICAgcmV0dXJuIHBhZFN0YXJ0KG4sIHApO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdHMgPSB7IC4uLnRoaXMub3B0cyB9O1xuXG4gICAgaWYgKHAgPiAwKSB7XG4gICAgICBvcHRzLnBhZFRvID0gcDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sb2MubnVtYmVyRm9ybWF0dGVyKG9wdHMpLmZvcm1hdChuKTtcbiAgfVxuXG4gIGZvcm1hdERhdGVUaW1lRnJvbVN0cmluZyhkdCwgZm10KSB7XG4gICAgY29uc3Qga25vd25FbmdsaXNoID0gdGhpcy5sb2MubGlzdGluZ01vZGUoKSA9PT0gXCJlblwiLFxuICAgICAgdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPSB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAmJiB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciAhPT0gXCJncmVnb3J5XCIsXG4gICAgICBzdHJpbmcgPSAob3B0cywgZXh0cmFjdCkgPT4gdGhpcy5sb2MuZXh0cmFjdChkdCwgb3B0cywgZXh0cmFjdCksXG4gICAgICBmb3JtYXRPZmZzZXQgPSAob3B0cykgPT4ge1xuICAgICAgICBpZiAoZHQuaXNPZmZzZXRGaXhlZCAmJiBkdC5vZmZzZXQgPT09IDAgJiYgb3B0cy5hbGxvd1opIHtcbiAgICAgICAgICByZXR1cm4gXCJaXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZHQuaXNWYWxpZCA/IGR0LnpvbmUuZm9ybWF0T2Zmc2V0KGR0LnRzLCBvcHRzLmZvcm1hdCkgOiBcIlwiO1xuICAgICAgfSxcbiAgICAgIG1lcmlkaWVtID0gKCkgPT5cbiAgICAgICAga25vd25FbmdsaXNoXG4gICAgICAgICAgPyBFbmdsaXNoLm1lcmlkaWVtRm9yRGF0ZVRpbWUoZHQpXG4gICAgICAgICAgOiBzdHJpbmcoeyBob3VyOiBcIm51bWVyaWNcIiwgaG91ckN5Y2xlOiBcImgxMlwiIH0sIFwiZGF5cGVyaW9kXCIpLFxuICAgICAgbW9udGggPSAobGVuZ3RoLCBzdGFuZGFsb25lKSA9PlxuICAgICAgICBrbm93bkVuZ2xpc2hcbiAgICAgICAgICA/IEVuZ2xpc2gubW9udGhGb3JEYXRlVGltZShkdCwgbGVuZ3RoKVxuICAgICAgICAgIDogc3RyaW5nKHN0YW5kYWxvbmUgPyB7IG1vbnRoOiBsZW5ndGggfSA6IHsgbW9udGg6IGxlbmd0aCwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpLFxuICAgICAgd2Vla2RheSA9IChsZW5ndGgsIHN0YW5kYWxvbmUpID0+XG4gICAgICAgIGtub3duRW5nbGlzaFxuICAgICAgICAgID8gRW5nbGlzaC53ZWVrZGF5Rm9yRGF0ZVRpbWUoZHQsIGxlbmd0aClcbiAgICAgICAgICA6IHN0cmluZyhcbiAgICAgICAgICAgICAgc3RhbmRhbG9uZSA/IHsgd2Vla2RheTogbGVuZ3RoIH0gOiB7IHdlZWtkYXk6IGxlbmd0aCwgbW9udGg6IFwibG9uZ1wiLCBkYXk6IFwibnVtZXJpY1wiIH0sXG4gICAgICAgICAgICAgIFwid2Vla2RheVwiXG4gICAgICAgICAgICApLFxuICAgICAgbWF5YmVNYWNybyA9ICh0b2tlbikgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRPcHRzID0gRm9ybWF0dGVyLm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHModG9rZW4pO1xuICAgICAgICBpZiAoZm9ybWF0T3B0cykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGR0LCBmb3JtYXRPcHRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcmEgPSAobGVuZ3RoKSA9PlxuICAgICAgICBrbm93bkVuZ2xpc2ggPyBFbmdsaXNoLmVyYUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIDogc3RyaW5nKHsgZXJhOiBsZW5ndGggfSwgXCJlcmFcIiksXG4gICAgICB0b2tlblRvU3RyaW5nID0gKHRva2VuKSA9PiB7XG4gICAgICAgIC8vIFdoZXJlIHBvc3NpYmxlOiBodHRwOi8vY2xkci51bmljb2RlLm9yZy90cmFuc2xhdGlvbi9kYXRlLXRpbWUtMS9kYXRlLXRpbWUjVE9DLVN0YW5kYWxvbmUtdnMuLUZvcm1hdC1TdHlsZXNcbiAgICAgICAgc3dpdGNoICh0b2tlbikge1xuICAgICAgICAgIC8vIG1zXG4gICAgICAgICAgY2FzZSBcIlNcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taWxsaXNlY29uZCk7XG4gICAgICAgICAgY2FzZSBcInVcIjpcbiAgICAgICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICAgICAgY2FzZSBcIlNTU1wiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbGxpc2Vjb25kLCAzKTtcbiAgICAgICAgICAvLyBzZWNvbmRzXG4gICAgICAgICAgY2FzZSBcInNcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5zZWNvbmQpO1xuICAgICAgICAgIGNhc2UgXCJzc1wiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnNlY29uZCwgMik7XG4gICAgICAgICAgLy8gZnJhY3Rpb25hbCBzZWNvbmRzXG4gICAgICAgICAgY2FzZSBcInV1XCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC5taWxsaXNlY29uZCAvIDEwKSwgMik7XG4gICAgICAgICAgY2FzZSBcInV1dVwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZHQubWlsbGlzZWNvbmQgLyAxMDApKTtcbiAgICAgICAgICAvLyBtaW51dGVzXG4gICAgICAgICAgY2FzZSBcIm1cIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taW51dGUpO1xuICAgICAgICAgIGNhc2UgXCJtbVwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbnV0ZSwgMik7XG4gICAgICAgICAgLy8gaG91cnNcbiAgICAgICAgICBjYXNlIFwiaFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LmhvdXIgJSAxMiA9PT0gMCA/IDEyIDogZHQuaG91ciAlIDEyKTtcbiAgICAgICAgICBjYXNlIFwiaGhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyICUgMTIgPT09IDAgPyAxMiA6IGR0LmhvdXIgJSAxMiwgMik7XG4gICAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyKTtcbiAgICAgICAgICBjYXNlIFwiSEhcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyLCAyKTtcbiAgICAgICAgICAvLyBvZmZzZXRcbiAgICAgICAgICBjYXNlIFwiWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSArNlxuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogXCJuYXJyb3dcIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSArMDY6MDBcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRPZmZzZXQoeyBmb3JtYXQ6IFwic2hvcnRcIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlpcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgKzA2MDBcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRPZmZzZXQoeyBmb3JtYXQ6IFwidGVjaGllXCIsIGFsbG93WjogdGhpcy5vcHRzLmFsbG93WiB9KTtcbiAgICAgICAgICBjYXNlIFwiWlpaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSBFU1RcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiBcInNob3J0XCIsIGxvY2FsZTogdGhpcy5sb2MubG9jYWxlIH0pO1xuICAgICAgICAgIGNhc2UgXCJaWlpaWlwiOlxuICAgICAgICAgICAgLy8gbGlrZSBFYXN0ZXJuIFN0YW5kYXJkIFRpbWVcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiBcImxvbmdcIiwgbG9jYWxlOiB0aGlzLmxvYy5sb2NhbGUgfSk7XG4gICAgICAgICAgLy8gem9uZVxuICAgICAgICAgIGNhc2UgXCJ6XCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFtZXJpY2EvTmV3X1lvcmtcbiAgICAgICAgICAgIHJldHVybiBkdC56b25lTmFtZTtcbiAgICAgICAgICAvLyBtZXJpZGllbXNcbiAgICAgICAgICBjYXNlIFwiYVwiOlxuICAgICAgICAgICAgcmV0dXJuIG1lcmlkaWVtKCk7XG4gICAgICAgICAgLy8gZGF0ZXNcbiAgICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyID8gc3RyaW5nKHsgZGF5OiBcIm51bWVyaWNcIiB9LCBcImRheVwiKSA6IHRoaXMubnVtKGR0LmRheSk7XG4gICAgICAgICAgY2FzZSBcImRkXCI6XG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyBkYXk6IFwiMi1kaWdpdFwiIH0sIFwiZGF5XCIpIDogdGhpcy5udW0oZHQuZGF5LCAyKTtcbiAgICAgICAgICAvLyB3ZWVrZGF5cyAtIHN0YW5kYWxvbmVcbiAgICAgICAgICBjYXNlIFwiY1wiOlxuICAgICAgICAgICAgLy8gbGlrZSAxXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7XG4gICAgICAgICAgY2FzZSBcImNjY1wiOlxuICAgICAgICAgICAgLy8gbGlrZSAnVHVlcydcbiAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KFwic2hvcnRcIiwgdHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcImNjY2NcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknXG4gICAgICAgICAgICByZXR1cm4gd2Vla2RheShcImxvbmdcIiwgdHJ1ZSk7XG4gICAgICAgICAgY2FzZSBcImNjY2NjXCI6XG4gICAgICAgICAgICAvLyBsaWtlICdUJ1xuICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoXCJuYXJyb3dcIiwgdHJ1ZSk7XG4gICAgICAgICAgLy8gd2Vla2RheXMgLSBmb3JtYXRcbiAgICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAxXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7XG4gICAgICAgICAgY2FzZSBcIkVFRVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAnVHVlcydcbiAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KFwic2hvcnRcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJFRUVFXCI6XG4gICAgICAgICAgICAvLyBsaWtlICdUdWVzZGF5J1xuICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoXCJsb25nXCIsIGZhbHNlKTtcbiAgICAgICAgICBjYXNlIFwiRUVFRUVcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgJ1QnXG4gICAgICAgICAgICByZXR1cm4gd2Vla2RheShcIm5hcnJvd1wiLCBmYWxzZSk7XG4gICAgICAgICAgLy8gbW9udGhzIC0gc3RhbmRhbG9uZVxuICAgICAgICAgIGNhc2UgXCJMXCI6XG4gICAgICAgICAgICAvLyBsaWtlIDFcbiAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlclxuICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiBcIm51bWVyaWNcIiwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgpO1xuICAgICAgICAgIGNhc2UgXCJMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMSwgZG9lc24ndCBzZWVtIHRvIHdvcmtcbiAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlclxuICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiBcIjItZGlnaXRcIiwgZGF5OiBcIm51bWVyaWNcIiB9LCBcIm1vbnRoXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgsIDIpO1xuICAgICAgICAgIGNhc2UgXCJMTExcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgSmFuXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJzaG9ydFwiLCB0cnVlKTtcbiAgICAgICAgICBjYXNlIFwiTExMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKYW51YXJ5XG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJsb25nXCIsIHRydWUpO1xuICAgICAgICAgIGNhc2UgXCJMTExMTFwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJuYXJyb3dcIiwgdHJ1ZSk7XG4gICAgICAgICAgLy8gbW9udGhzIC0gZm9ybWF0XG4gICAgICAgICAgY2FzZSBcIk1cIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMVxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyXG4gICAgICAgICAgICAgID8gc3RyaW5nKHsgbW9udGg6IFwibnVtZXJpY1wiIH0sIFwibW9udGhcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC5tb250aCk7XG4gICAgICAgICAgY2FzZSBcIk1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIDAxXG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyBtb250aDogXCIyLWRpZ2l0XCIgfSwgXCJtb250aFwiKVxuICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTtcbiAgICAgICAgICBjYXNlIFwiTU1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEphblxuICAgICAgICAgICAgcmV0dXJuIG1vbnRoKFwic2hvcnRcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJNTU1NXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEphbnVhcnlcbiAgICAgICAgICAgIHJldHVybiBtb250aChcImxvbmdcIiwgZmFsc2UpO1xuICAgICAgICAgIGNhc2UgXCJNTU1NTVwiOlxuICAgICAgICAgICAgLy8gbGlrZSBKXG4gICAgICAgICAgICByZXR1cm4gbW9udGgoXCJuYXJyb3dcIiwgZmFsc2UpO1xuICAgICAgICAgIC8vIHllYXJzXG4gICAgICAgICAgY2FzZSBcInlcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMjAxNFxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyID8gc3RyaW5nKHsgeWVhcjogXCJudW1lcmljXCIgfSwgXCJ5ZWFyXCIpIDogdGhpcy5udW0oZHQueWVhcik7XG4gICAgICAgICAgY2FzZSBcInl5XCI6XG4gICAgICAgICAgICAvLyBsaWtlIDE0XG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiBcIjItZGlnaXRcIiB9LCBcInllYXJcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTtcbiAgICAgICAgICBjYXNlIFwieXl5eVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMDEyXG4gICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXJcbiAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiBcIm51bWVyaWNcIiB9LCBcInllYXJcIilcbiAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLCA0KTtcbiAgICAgICAgICBjYXNlIFwieXl5eXl5XCI6XG4gICAgICAgICAgICAvLyBsaWtlIDAwMDAxMlxuICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyXG4gICAgICAgICAgICAgID8gc3RyaW5nKHsgeWVhcjogXCJudW1lcmljXCIgfSwgXCJ5ZWFyXCIpXG4gICAgICAgICAgICAgIDogdGhpcy5udW0oZHQueWVhciwgNik7XG4gICAgICAgICAgLy8gZXJhc1xuICAgICAgICAgIGNhc2UgXCJHXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFEXG4gICAgICAgICAgICByZXR1cm4gZXJhKFwic2hvcnRcIik7XG4gICAgICAgICAgY2FzZSBcIkdHXCI6XG4gICAgICAgICAgICAvLyBsaWtlIEFubm8gRG9taW5pXG4gICAgICAgICAgICByZXR1cm4gZXJhKFwibG9uZ1wiKTtcbiAgICAgICAgICBjYXNlIFwiR0dHR0dcIjpcbiAgICAgICAgICAgIHJldHVybiBlcmEoXCJuYXJyb3dcIik7XG4gICAgICAgICAgY2FzZSBcImtrXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla1llYXIudG9TdHJpbmcoKS5zbGljZSgtMiksIDIpO1xuICAgICAgICAgIGNhc2UgXCJra2trXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla1llYXIsIDQpO1xuICAgICAgICAgIGNhc2UgXCJXXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla051bWJlcik7XG4gICAgICAgICAgY2FzZSBcIldXXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla051bWJlciwgMik7XG4gICAgICAgICAgY2FzZSBcIm9cIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5vcmRpbmFsKTtcbiAgICAgICAgICBjYXNlIFwib29vXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQub3JkaW5hbCwgMyk7XG4gICAgICAgICAgY2FzZSBcInFcIjpcbiAgICAgICAgICAgIC8vIGxpa2UgMVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIpO1xuICAgICAgICAgIGNhc2UgXCJxcVwiOlxuICAgICAgICAgICAgLy8gbGlrZSAwMVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIsIDIpO1xuICAgICAgICAgIGNhc2UgXCJYXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC50cyAvIDEwMDApKTtcbiAgICAgICAgICBjYXNlIFwieFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnRzKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG1heWJlTWFjcm8odG9rZW4pO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgcmV0dXJuIHN0cmluZ2lmeVRva2VucyhGb3JtYXR0ZXIucGFyc2VGb3JtYXQoZm10KSwgdG9rZW5Ub1N0cmluZyk7XG4gIH1cblxuICBmb3JtYXREdXJhdGlvbkZyb21TdHJpbmcoZHVyLCBmbXQpIHtcbiAgICBjb25zdCB0b2tlblRvRmllbGQgPSAodG9rZW4pID0+IHtcbiAgICAgICAgc3dpdGNoICh0b2tlblswXSkge1xuICAgICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJtaWxsaXNlY29uZFwiO1xuICAgICAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJzZWNvbmRcIjtcbiAgICAgICAgICBjYXNlIFwibVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwibWludXRlXCI7XG4gICAgICAgICAgY2FzZSBcImhcIjpcbiAgICAgICAgICAgIHJldHVybiBcImhvdXJcIjtcbiAgICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgICAgcmV0dXJuIFwiZGF5XCI7XG4gICAgICAgICAgY2FzZSBcIndcIjpcbiAgICAgICAgICAgIHJldHVybiBcIndlZWtcIjtcbiAgICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwibW9udGhcIjtcbiAgICAgICAgICBjYXNlIFwieVwiOlxuICAgICAgICAgICAgcmV0dXJuIFwieWVhclwiO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRva2VuVG9TdHJpbmcgPSAobGlsZHVyKSA9PiAodG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgbWFwcGVkID0gdG9rZW5Ub0ZpZWxkKHRva2VuKTtcbiAgICAgICAgaWYgKG1hcHBlZCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLm51bShsaWxkdXIuZ2V0KG1hcHBlZCksIHRva2VuLmxlbmd0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9rZW5zID0gRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksXG4gICAgICByZWFsVG9rZW5zID0gdG9rZW5zLnJlZHVjZShcbiAgICAgICAgKGZvdW5kLCB7IGxpdGVyYWwsIHZhbCB9KSA9PiAobGl0ZXJhbCA/IGZvdW5kIDogZm91bmQuY29uY2F0KHZhbCkpLFxuICAgICAgICBbXVxuICAgICAgKSxcbiAgICAgIGNvbGxhcHNlZCA9IGR1ci5zaGlmdFRvKC4uLnJlYWxUb2tlbnMubWFwKHRva2VuVG9GaWVsZCkuZmlsdGVyKCh0KSA9PiB0KSk7XG4gICAgcmV0dXJuIHN0cmluZ2lmeVRva2Vucyh0b2tlbnMsIHRva2VuVG9TdHJpbmcoY29sbGFwc2VkKSk7XG4gIH1cbn1cbiIsICJleHBvcnQgZGVmYXVsdCBjbGFzcyBJbnZhbGlkIHtcbiAgY29uc3RydWN0b3IocmVhc29uLCBleHBsYW5hdGlvbikge1xuICAgIHRoaXMucmVhc29uID0gcmVhc29uO1xuICAgIHRoaXMuZXhwbGFuYXRpb24gPSBleHBsYW5hdGlvbjtcbiAgfVxuXG4gIHRvTWVzc2FnZSgpIHtcbiAgICBpZiAodGhpcy5leHBsYW5hdGlvbikge1xuICAgICAgcmV0dXJuIGAke3RoaXMucmVhc29ufTogJHt0aGlzLmV4cGxhbmF0aW9ufWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJlYXNvbjtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBab25lSXNBYnN0cmFjdEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5cbi8qKlxuICogQGludGVyZmFjZVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBab25lIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHpvbmVcbiAgICogQGFic3RyYWN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgdHlwZSgpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgem9uZS5cbiAgICogQGFic3RyYWN0XG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbmFtZSgpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgZ2V0IGlhbmFOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBvZmZzZXQgaXMga25vd24gdG8gYmUgZml4ZWQgZm9yIHRoZSB3aG9sZSB5ZWFyLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNVbml2ZXJzYWwoKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyBjb21tb24gbmFtZSAoc3VjaCBhcyBFU1QpIGF0IHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge251bWJlcn0gdHMgLSBFcG9jaCBtaWxsaXNlY29uZHMgZm9yIHdoaWNoIHRvIGdldCB0aGUgbmFtZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gYWZmZWN0IHRoZSBmb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMuZm9ybWF0IC0gV2hhdCBzdHlsZSBvZiBvZmZzZXQgdG8gcmV0dXJuLiBBY2NlcHRzICdsb25nJyBvciAnc2hvcnQnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5sb2NhbGUgLSBXaGF0IGxvY2FsZSB0byByZXR1cm4gdGhlIG9mZnNldCBuYW1lIGluLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBvZmZzZXROYW1lKHRzLCBvcHRzKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyB2YWx1ZSBhcyBhIHN0cmluZ1xuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtudW1iZXJ9IHRzIC0gRXBvY2ggbWlsbGlzZWNvbmRzIGZvciB3aGljaCB0byBnZXQgdGhlIG9mZnNldFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IC0gV2hhdCBzdHlsZSBvZiBvZmZzZXQgdG8gcmV0dXJuLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0cyAnbmFycm93JywgJ3Nob3J0Jywgb3IgJ3RlY2hpZScuIFJldHVybmluZyAnKzYnLCAnKzA2OjAwJywgb3IgJyswNjAwJyByZXNwZWN0aXZlbHlcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHtcbiAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgZm9yIHRoaXMgem9uZSBhdCB0aGUgc3BlY2lmaWVkIHRpbWVzdGFtcC5cbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gY29tcHV0ZSB0aGUgb2Zmc2V0XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIG9mZnNldCh0cykge1xuICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBab25lIGlzIGVxdWFsIHRvIGFub3RoZXIgem9uZVxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtab25lfSBvdGhlclpvbmUgLSB0aGUgem9uZSB0byBjb21wYXJlXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBlcXVhbHMob3RoZXJab25lKSB7XG4gICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIFpvbmUgaXMgdmFsaWQuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBmb3JtYXRPZmZzZXQsIHBhcnNlWm9uZUluZm8gfSBmcm9tIFwiLi4vaW1wbC91dGlsLmpzXCI7XG5pbXBvcnQgWm9uZSBmcm9tIFwiLi4vem9uZS5qc1wiO1xuXG5sZXQgc2luZ2xldG9uID0gbnVsbDtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBsb2NhbCB6b25lIGZvciB0aGlzIEphdmFTY3JpcHQgZW52aXJvbm1lbnQuXG4gKiBAaW1wbGVtZW50cyB7Wm9uZX1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3lzdGVtWm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBsb2NhbCB6b25lXG4gICAqIEByZXR1cm4ge1N5c3RlbVpvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHtcbiAgICAgIHNpbmdsZXRvbiA9IG5ldyBTeXN0ZW1ab25lKCk7XG4gICAgfVxuICAgIHJldHVybiBzaW5nbGV0b247XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gXCJzeXN0ZW1cIjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IGlzVW5pdmVyc2FsKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldE5hbWUodHMsIHsgZm9ybWF0LCBsb2NhbGUgfSkge1xuICAgIHJldHVybiBwYXJzZVpvbmVJbmZvKHRzLCBmb3JtYXQsIGxvY2FsZSk7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkge1xuICAgIHJldHVybiBmb3JtYXRPZmZzZXQodGhpcy5vZmZzZXQodHMpLCBmb3JtYXQpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgb2Zmc2V0KHRzKSB7XG4gICAgcmV0dXJuIC1uZXcgRGF0ZSh0cykuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwic3lzdGVtXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZvcm1hdE9mZnNldCwgcGFyc2Vab25lSW5mbywgaXNVbmRlZmluZWQsIG9ialRvTG9jYWxUUyB9IGZyb20gXCIuLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCBab25lIGZyb20gXCIuLi96b25lLmpzXCI7XG5cbmxldCBkdGZDYWNoZSA9IHt9O1xuZnVuY3Rpb24gbWFrZURURih6b25lKSB7XG4gIGlmICghZHRmQ2FjaGVbem9uZV0pIHtcbiAgICBkdGZDYWNoZVt6b25lXSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFwiZW4tVVNcIiwge1xuICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgIHRpbWVab25lOiB6b25lLFxuICAgICAgeWVhcjogXCJudW1lcmljXCIsXG4gICAgICBtb250aDogXCIyLWRpZ2l0XCIsXG4gICAgICBkYXk6IFwiMi1kaWdpdFwiLFxuICAgICAgaG91cjogXCIyLWRpZ2l0XCIsXG4gICAgICBtaW51dGU6IFwiMi1kaWdpdFwiLFxuICAgICAgc2Vjb25kOiBcIjItZGlnaXRcIixcbiAgICAgIGVyYTogXCJzaG9ydFwiLFxuICAgIH0pO1xuICB9XG4gIHJldHVybiBkdGZDYWNoZVt6b25lXTtcbn1cblxuY29uc3QgdHlwZVRvUG9zID0ge1xuICB5ZWFyOiAwLFxuICBtb250aDogMSxcbiAgZGF5OiAyLFxuICBlcmE6IDMsXG4gIGhvdXI6IDQsXG4gIG1pbnV0ZTogNSxcbiAgc2Vjb25kOiA2LFxufTtcblxuZnVuY3Rpb24gaGFja3lPZmZzZXQoZHRmLCBkYXRlKSB7XG4gIGNvbnN0IGZvcm1hdHRlZCA9IGR0Zi5mb3JtYXQoZGF0ZSkucmVwbGFjZSgvXFx1MjAwRS9nLCBcIlwiKSxcbiAgICBwYXJzZWQgPSAvKFxcZCspXFwvKFxcZCspXFwvKFxcZCspIChBRHxCQyksPyAoXFxkKyk6KFxcZCspOihcXGQrKS8uZXhlYyhmb3JtYXR0ZWQpLFxuICAgIFssIGZNb250aCwgZkRheSwgZlllYXIsIGZhZE9yQmMsIGZIb3VyLCBmTWludXRlLCBmU2Vjb25kXSA9IHBhcnNlZDtcbiAgcmV0dXJuIFtmWWVhciwgZk1vbnRoLCBmRGF5LCBmYWRPckJjLCBmSG91ciwgZk1pbnV0ZSwgZlNlY29uZF07XG59XG5cbmZ1bmN0aW9uIHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSkge1xuICBjb25zdCBmb3JtYXR0ZWQgPSBkdGYuZm9ybWF0VG9QYXJ0cyhkYXRlKTtcbiAgY29uc3QgZmlsbGVkID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgeyB0eXBlLCB2YWx1ZSB9ID0gZm9ybWF0dGVkW2ldO1xuICAgIGNvbnN0IHBvcyA9IHR5cGVUb1Bvc1t0eXBlXTtcblxuICAgIGlmICh0eXBlID09PSBcImVyYVwiKSB7XG4gICAgICBmaWxsZWRbcG9zXSA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKHBvcykpIHtcbiAgICAgIGZpbGxlZFtwb3NdID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZpbGxlZDtcbn1cblxubGV0IGlhbmFab25lQ2FjaGUgPSB7fTtcbi8qKlxuICogQSB6b25lIGlkZW50aWZpZWQgYnkgYW4gSUFOQSBpZGVudGlmaWVyLCBsaWtlIEFtZXJpY2EvTmV3X1lvcmtcbiAqIEBpbXBsZW1lbnRzIHtab25lfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJQU5BWm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBab25lIG5hbWVcbiAgICogQHJldHVybiB7SUFOQVpvbmV9XG4gICAqL1xuICBzdGF0aWMgY3JlYXRlKG5hbWUpIHtcbiAgICBpZiAoIWlhbmFab25lQ2FjaGVbbmFtZV0pIHtcbiAgICAgIGlhbmFab25lQ2FjaGVbbmFtZV0gPSBuZXcgSUFOQVpvbmUobmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBpYW5hWm9uZUNhY2hlW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGxvY2FsIGNhY2hlcy4gU2hvdWxkIG9ubHkgYmUgbmVjZXNzYXJ5IGluIHRlc3Rpbmcgc2NlbmFyaW9zLlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIHJlc2V0Q2FjaGUoKSB7XG4gICAgaWFuYVpvbmVDYWNoZSA9IHt9O1xuICAgIGR0ZkNhY2hlID0ge307XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBwcm92aWRlZCBzdHJpbmcgaXMgYSB2YWxpZCBzcGVjaWZpZXIuIFRoaXMgb25seSBjaGVja3MgdGhlIHN0cmluZydzIGZvcm1hdCwgbm90IHRoYXQgdGhlIHNwZWNpZmllciBpZGVudGlmaWVzIGEga25vd24gem9uZTsgc2VlIGlzVmFsaWRab25lIGZvciB0aGF0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcyAtIFRoZSBzdHJpbmcgdG8gY2hlY2sgdmFsaWRpdHkgb25cbiAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcihcIkFtZXJpY2EvTmV3X1lvcmtcIikgLy89PiB0cnVlXG4gICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRTcGVjaWZpZXIoXCJTcG9ydH5+YmxvcnBcIikgLy89PiBmYWxzZVxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIG1ldGhvZCByZXR1cm5zIGZhbHNlIGZvciBzb21lIHZhbGlkIElBTkEgbmFtZXMuIFVzZSBpc1ZhbGlkWm9uZSBpbnN0ZWFkLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgc3RhdGljIGlzVmFsaWRTcGVjaWZpZXIocykge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRab25lKHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgcHJvdmlkZWQgc3RyaW5nIGlkZW50aWZpZXMgYSByZWFsIHpvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvbmUgLSBUaGUgc3RyaW5nIHRvIGNoZWNrXG4gICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRab25lKFwiQW1lcmljYS9OZXdfWW9ya1wiKSAvLz0+IHRydWVcbiAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFpvbmUoXCJGYW50YXNpYS9DYXN0bGVcIikgLy89PiBmYWxzZVxuICAgKiBAZXhhbXBsZSBJQU5BWm9uZS5pc1ZhbGlkWm9uZShcIlNwb3J0fn5ibG9ycFwiKSAvLz0+IGZhbHNlXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNWYWxpZFpvbmUoem9uZSkge1xuICAgIGlmICghem9uZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJlbi1VU1wiLCB7IHRpbWVab25lOiB6b25lIH0pLmZvcm1hdCgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG5hbWUpIHtcbiAgICBzdXBlcigpO1xuICAgIC8qKiBAcHJpdmF0ZSAqKi9cbiAgICB0aGlzLnpvbmVOYW1lID0gbmFtZTtcbiAgICAvKiogQHByaXZhdGUgKiovXG4gICAgdGhpcy52YWxpZCA9IElBTkFab25lLmlzVmFsaWRab25lKG5hbWUpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIFwiaWFuYVwiO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuem9uZU5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNVbml2ZXJzYWwoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgb2Zmc2V0TmFtZSh0cywgeyBmb3JtYXQsIGxvY2FsZSB9KSB7XG4gICAgcmV0dXJuIHBhcnNlWm9uZUluZm8odHMsIGZvcm1hdCwgbG9jYWxlLCB0aGlzLm5hbWUpO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHtcbiAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHRoaXMub2Zmc2V0KHRzKSwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldCh0cykge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0cyk7XG5cbiAgICBpZiAoaXNOYU4oZGF0ZSkpIHJldHVybiBOYU47XG5cbiAgICBjb25zdCBkdGYgPSBtYWtlRFRGKHRoaXMubmFtZSk7XG4gICAgbGV0IFt5ZWFyLCBtb250aCwgZGF5LCBhZE9yQmMsIGhvdXIsIG1pbnV0ZSwgc2Vjb25kXSA9IGR0Zi5mb3JtYXRUb1BhcnRzXG4gICAgICA/IHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSlcbiAgICAgIDogaGFja3lPZmZzZXQoZHRmLCBkYXRlKTtcblxuICAgIGlmIChhZE9yQmMgPT09IFwiQkNcIikge1xuICAgICAgeWVhciA9IC1NYXRoLmFicyh5ZWFyKSArIDE7XG4gICAgfVxuXG4gICAgLy8gYmVjYXVzZSB3ZSdyZSB1c2luZyBob3VyMTIgYW5kIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTEwMjU1NjQmY2FuPTImcT0lMjIyNCUzQTAwJTIyJTIwZGF0ZXRpbWVmb3JtYXRcbiAgICBjb25zdCBhZGp1c3RlZEhvdXIgPSBob3VyID09PSAyNCA/IDAgOiBob3VyO1xuXG4gICAgY29uc3QgYXNVVEMgPSBvYmpUb0xvY2FsVFMoe1xuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5LFxuICAgICAgaG91cjogYWRqdXN0ZWRIb3VyLFxuICAgICAgbWludXRlLFxuICAgICAgc2Vjb25kLFxuICAgICAgbWlsbGlzZWNvbmQ6IDAsXG4gICAgfSk7XG5cbiAgICBsZXQgYXNUUyA9ICtkYXRlO1xuICAgIGNvbnN0IG92ZXIgPSBhc1RTICUgMTAwMDtcbiAgICBhc1RTIC09IG92ZXIgPj0gMCA/IG92ZXIgOiAxMDAwICsgb3ZlcjtcbiAgICByZXR1cm4gKGFzVVRDIC0gYXNUUykgLyAoNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwiaWFuYVwiICYmIG90aGVyWm9uZS5uYW1lID09PSB0aGlzLm5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZDtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZvcm1hdE9mZnNldCwgc2lnbmVkT2Zmc2V0IH0gZnJvbSBcIi4uL2ltcGwvdXRpbC5qc1wiO1xuaW1wb3J0IFpvbmUgZnJvbSBcIi4uL3pvbmUuanNcIjtcblxubGV0IHNpbmdsZXRvbiA9IG51bGw7XG5cbi8qKlxuICogQSB6b25lIHdpdGggYSBmaXhlZCBvZmZzZXQgKG1lYW5pbmcgbm8gRFNUKVxuICogQGltcGxlbWVudHMge1pvbmV9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpeGVkT2Zmc2V0Wm9uZSBleHRlbmRzIFpvbmUge1xuICAvKipcbiAgICogR2V0IGEgc2luZ2xldG9uIGluc3RhbmNlIG9mIFVUQ1xuICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IHV0Y0luc3RhbmNlKCkge1xuICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHtcbiAgICAgIHNpbmdsZXRvbiA9IG5ldyBGaXhlZE9mZnNldFpvbmUoMCk7XG4gICAgfVxuICAgIHJldHVybiBzaW5nbGV0b247XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGluc3RhbmNlIHdpdGggYSBzcGVjaWZpZWQgb2Zmc2V0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXQgLSBUaGUgb2Zmc2V0IGluIG1pbnV0ZXNcbiAgICogQHJldHVybiB7Rml4ZWRPZmZzZXRab25lfVxuICAgKi9cbiAgc3RhdGljIGluc3RhbmNlKG9mZnNldCkge1xuICAgIHJldHVybiBvZmZzZXQgPT09IDAgPyBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2UgOiBuZXcgRml4ZWRPZmZzZXRab25lKG9mZnNldCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGluc3RhbmNlIG9mIEZpeGVkT2Zmc2V0Wm9uZSBmcm9tIGEgVVRDIG9mZnNldCBzdHJpbmcsIGxpa2UgXCJVVEMrNlwiXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIG9mZnNldCBzdHJpbmcgdG8gcGFyc2VcbiAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKFwiVVRDKzZcIilcbiAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKFwiVVRDKzA2XCIpXG4gICAqIEBleGFtcGxlIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihcIlVUQy02OjAwXCIpXG4gICAqIEByZXR1cm4ge0ZpeGVkT2Zmc2V0Wm9uZX1cbiAgICovXG4gIHN0YXRpYyBwYXJzZVNwZWNpZmllcihzKSB7XG4gICAgaWYgKHMpIHtcbiAgICAgIGNvbnN0IHIgPSBzLm1hdGNoKC9edXRjKD86KFsrLV1cXGR7MSwyfSkoPzo6KFxcZHsyfSkpPyk/JC9pKTtcbiAgICAgIGlmIChyKSB7XG4gICAgICAgIHJldHVybiBuZXcgRml4ZWRPZmZzZXRab25lKHNpZ25lZE9mZnNldChyWzFdLCByWzJdKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob2Zmc2V0KSB7XG4gICAgc3VwZXIoKTtcbiAgICAvKiogQHByaXZhdGUgKiovXG4gICAgdGhpcy5maXhlZCA9IG9mZnNldDtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiBcImZpeGVkXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maXhlZCA9PT0gMCA/IFwiVVRDXCIgOiBgVVRDJHtmb3JtYXRPZmZzZXQodGhpcy5maXhlZCwgXCJuYXJyb3dcIil9YDtcbiAgfVxuXG4gIGdldCBpYW5hTmFtZSgpIHtcbiAgICBpZiAodGhpcy5maXhlZCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFwiRXRjL1VUQ1wiO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYEV0Yy9HTVQke2Zvcm1hdE9mZnNldCgtdGhpcy5maXhlZCwgXCJuYXJyb3dcIil9YDtcbiAgICB9XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBvZmZzZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkge1xuICAgIHJldHVybiBmb3JtYXRPZmZzZXQodGhpcy5maXhlZCwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBpc1VuaXZlcnNhbCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldCgpIHtcbiAgICByZXR1cm4gdGhpcy5maXhlZDtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscyhvdGhlclpvbmUpIHtcbiAgICByZXR1cm4gb3RoZXJab25lLnR5cGUgPT09IFwiZml4ZWRcIiAmJiBvdGhlclpvbmUuZml4ZWQgPT09IHRoaXMuZml4ZWQ7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCBab25lIGZyb20gXCIuLi96b25lLmpzXCI7XG5cbi8qKlxuICogQSB6b25lIHRoYXQgZmFpbGVkIHRvIHBhcnNlLiBZb3Ugc2hvdWxkIG5ldmVyIG5lZWQgdG8gaW5zdGFudGlhdGUgdGhpcy5cbiAqIEBpbXBsZW1lbnRzIHtab25lfVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnZhbGlkWm9uZSBleHRlbmRzIFpvbmUge1xuICBjb25zdHJ1Y3Rvcih6b25lTmFtZSkge1xuICAgIHN1cGVyKCk7XG4gICAgLyoqICBAcHJpdmF0ZSAqL1xuICAgIHRoaXMuem9uZU5hbWUgPSB6b25lTmFtZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiBcImludmFsaWRcIjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnpvbmVOYW1lO1xuICB9XG5cbiAgLyoqIEBvdmVycmlkZSAqKi9cbiAgZ2V0IGlzVW5pdmVyc2FsKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIG9mZnNldE5hbWUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBmb3JtYXRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBvZmZzZXQoKSB7XG4gICAgcmV0dXJuIE5hTjtcbiAgfVxuXG4gIC8qKiBAb3ZlcnJpZGUgKiovXG4gIGVxdWFscygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogQG92ZXJyaWRlICoqL1xuICBnZXQgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsICIvKipcbiAqIEBwcml2YXRlXG4gKi9cblxuaW1wb3J0IFpvbmUgZnJvbSBcIi4uL3pvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBGaXhlZE9mZnNldFpvbmUgZnJvbSBcIi4uL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IEludmFsaWRab25lIGZyb20gXCIuLi96b25lcy9pbnZhbGlkWm9uZS5qc1wiO1xuXG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgaXNTdHJpbmcsIGlzTnVtYmVyIH0gZnJvbSBcIi4vdXRpbC5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplWm9uZShpbnB1dCwgZGVmYXVsdFpvbmUpIHtcbiAgbGV0IG9mZnNldDtcbiAgaWYgKGlzVW5kZWZpbmVkKGlucHV0KSB8fCBpbnB1dCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBkZWZhdWx0Wm9uZTtcbiAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIFpvbmUpIHtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH0gZWxzZSBpZiAoaXNTdHJpbmcoaW5wdXQpKSB7XG4gICAgY29uc3QgbG93ZXJlZCA9IGlucHV0LnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxvd2VyZWQgPT09IFwibG9jYWxcIiB8fCBsb3dlcmVkID09PSBcInN5c3RlbVwiKSByZXR1cm4gZGVmYXVsdFpvbmU7XG4gICAgZWxzZSBpZiAobG93ZXJlZCA9PT0gXCJ1dGNcIiB8fCBsb3dlcmVkID09PSBcImdtdFwiKSByZXR1cm4gRml4ZWRPZmZzZXRab25lLnV0Y0luc3RhbmNlO1xuICAgIGVsc2UgcmV0dXJuIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihsb3dlcmVkKSB8fCBJQU5BWm9uZS5jcmVhdGUoaW5wdXQpO1xuICB9IGVsc2UgaWYgKGlzTnVtYmVyKGlucHV0KSkge1xuICAgIHJldHVybiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoaW5wdXQpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIiAmJiBpbnB1dC5vZmZzZXQgJiYgdHlwZW9mIGlucHV0Lm9mZnNldCA9PT0gXCJudW1iZXJcIikge1xuICAgIC8vIFRoaXMgaXMgZHVtYiwgYnV0IHRoZSBpbnN0YW5jZW9mIGNoZWNrIGFib3ZlIGRvZXNuJ3Qgc2VlbSB0byByZWFsbHkgd29ya1xuICAgIC8vIHNvIHdlJ3JlIGR1Y2sgY2hlY2tpbmcgaXRcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBJbnZhbGlkWm9uZShpbnB1dCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgU3lzdGVtWm9uZSBmcm9tIFwiLi96b25lcy9zeXN0ZW1ab25lLmpzXCI7XG5pbXBvcnQgSUFOQVpvbmUgZnJvbSBcIi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcIi4vaW1wbC9sb2NhbGUuanNcIjtcblxuaW1wb3J0IHsgbm9ybWFsaXplWm9uZSB9IGZyb20gXCIuL2ltcGwvem9uZVV0aWwuanNcIjtcblxubGV0IG5vdyA9ICgpID0+IERhdGUubm93KCksXG4gIGRlZmF1bHRab25lID0gXCJzeXN0ZW1cIixcbiAgZGVmYXVsdExvY2FsZSA9IG51bGwsXG4gIGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0gPSBudWxsLFxuICBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIgPSBudWxsLFxuICB0aHJvd09uSW52YWxpZDtcblxuLyoqXG4gKiBTZXR0aW5ncyBjb250YWlucyBzdGF0aWMgZ2V0dGVycyBhbmQgc2V0dGVycyB0aGF0IGNvbnRyb2wgTHV4b24ncyBvdmVyYWxsIGJlaGF2aW9yLiBMdXhvbiBpcyBhIHNpbXBsZSBsaWJyYXJ5IHdpdGggZmV3IG9wdGlvbnMsIGJ1dCB0aGUgb25lcyBpdCBkb2VzIGhhdmUgbGl2ZSBoZXJlLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNhbGxiYWNrIGZvciByZXR1cm5pbmcgdGhlIGN1cnJlbnQgdGltZXN0YW1wLlxuICAgKiBAdHlwZSB7ZnVuY3Rpb259XG4gICAqL1xuICBzdGF0aWMgZ2V0IG5vdygpIHtcbiAgICByZXR1cm4gbm93O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY2FsbGJhY2sgZm9yIHJldHVybmluZyB0aGUgY3VycmVudCB0aW1lc3RhbXAuXG4gICAqIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgbnVtYmVyLCB3aGljaCB3aWxsIGJlIGludGVycHJldGVkIGFzIGFuIEVwb2NoIG1pbGxpc2Vjb25kIGNvdW50XG4gICAqIEB0eXBlIHtmdW5jdGlvbn1cbiAgICogQGV4YW1wbGUgU2V0dGluZ3Mubm93ID0gKCkgPT4gRGF0ZS5ub3coKSArIDMwMDAgLy8gcHJldGVuZCBpdCBpcyAzIHNlY29uZHMgaW4gdGhlIGZ1dHVyZVxuICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiAwIC8vIGFsd2F5cyBwcmV0ZW5kIGl0J3MgSmFuIDEsIDE5NzAgYXQgbWlkbmlnaHQgaW4gVVRDIHRpbWVcbiAgICovXG4gIHN0YXRpYyBzZXQgbm93KG4pIHtcbiAgICBub3cgPSBuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGVmYXVsdCB0aW1lIHpvbmUgdG8gY3JlYXRlIERhdGVUaW1lcyBpbi4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogVXNlIHRoZSB2YWx1ZSBcInN5c3RlbVwiIHRvIHJlc2V0IHRoaXMgdmFsdWUgdG8gdGhlIHN5c3RlbSdzIHRpbWUgem9uZS5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBzZXQgZGVmYXVsdFpvbmUoem9uZSkge1xuICAgIGRlZmF1bHRab25lID0gem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgdGltZSB6b25lIG9iamVjdCBjdXJyZW50bHkgdXNlZCB0byBjcmVhdGUgRGF0ZVRpbWVzLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUgc3lzdGVtJ3MgdGltZSB6b25lICh0aGUgb25lIHNldCBvbiB0aGUgbWFjaGluZSB0aGF0IHJ1bnMgdGhpcyBjb2RlKS5cbiAgICogQHR5cGUge1pvbmV9XG4gICAqL1xuICBzdGF0aWMgZ2V0IGRlZmF1bHRab25lKCkge1xuICAgIHJldHVybiBub3JtYWxpemVab25lKGRlZmF1bHRab25lLCBTeXN0ZW1ab25lLmluc3RhbmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgbG9jYWxlIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdExvY2FsZSgpIHtcbiAgICByZXR1cm4gZGVmYXVsdExvY2FsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgbG9jYWxlIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBzZXQgZGVmYXVsdExvY2FsZShsb2NhbGUpIHtcbiAgICBkZWZhdWx0TG9jYWxlID0gbG9jYWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGVmYXVsdCBudW1iZXJpbmcgc3lzdGVtIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSgpIHtcbiAgICByZXR1cm4gZGVmYXVsdE51bWJlcmluZ1N5c3RlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlZmF1bHQgbnVtYmVyaW5nIHN5c3RlbSB0byBjcmVhdGUgRGF0ZVRpbWVzIHdpdGguIERvZXMgbm90IGFmZmVjdCBleGlzdGluZyBpbnN0YW5jZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgc2V0IGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0obnVtYmVyaW5nU3lzdGVtKSB7XG4gICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bWJlcmluZ1N5c3RlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGNhbGVuZGFyIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHN0YXRpYyBnZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKCkge1xuICAgIHJldHVybiBkZWZhdWx0T3V0cHV0Q2FsZW5kYXI7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZWZhdWx0IG91dHB1dCBjYWxlbmRhciB0byBjcmVhdGUgRGF0ZVRpbWVzIHdpdGguIERvZXMgbm90IGFmZmVjdCBleGlzdGluZyBpbnN0YW5jZXMuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBzdGF0aWMgc2V0IGRlZmF1bHRPdXRwdXRDYWxlbmRhcihvdXRwdXRDYWxlbmRhcikge1xuICAgIGRlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIEx1eG9uIHdpbGwgdGhyb3cgd2hlbiBpdCBlbmNvdW50ZXJzIGludmFsaWQgRGF0ZVRpbWVzLCBEdXJhdGlvbnMsIG9yIEludGVydmFsc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBnZXQgdGhyb3dPbkludmFsaWQoKSB7XG4gICAgcmV0dXJuIHRocm93T25JbnZhbGlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIEx1eG9uIHdpbGwgdGhyb3cgd2hlbiBpdCBlbmNvdW50ZXJzIGludmFsaWQgRGF0ZVRpbWVzLCBEdXJhdGlvbnMsIG9yIEludGVydmFsc1xuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBzZXQgdGhyb3dPbkludmFsaWQodCkge1xuICAgIHRocm93T25JbnZhbGlkID0gdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBMdXhvbidzIGdsb2JhbCBjYWNoZXMuIFNob3VsZCBvbmx5IGJlIG5lY2Vzc2FyeSBpbiB0ZXN0aW5nIHNjZW5hcmlvcy5cbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHN0YXRpYyByZXNldENhY2hlcygpIHtcbiAgICBMb2NhbGUucmVzZXRDYWNoZSgpO1xuICAgIElBTkFab25lLnJlc2V0Q2FjaGUoKTtcbiAgfVxufVxuIiwgImltcG9ydCB7IHBhZFN0YXJ0LCByb3VuZFRvLCBoYXNSZWxhdGl2ZSB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCAqIGFzIEVuZ2xpc2ggZnJvbSBcIi4vZW5nbGlzaC5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuLi9zZXR0aW5ncy5qc1wiO1xuaW1wb3J0IERhdGVUaW1lIGZyb20gXCIuLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IElBTkFab25lIGZyb20gXCIuLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuXG4vLyB0b2RvIC0gcmVtYXAgY2FjaGluZ1xuXG5sZXQgaW50bExGQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGdldENhY2hlZExGKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTtcbiAgbGV0IGR0ZiA9IGludGxMRkNhY2hlW2tleV07XG4gIGlmICghZHRmKSB7XG4gICAgZHRmID0gbmV3IEludGwuTGlzdEZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxMRkNhY2hlW2tleV0gPSBkdGY7XG4gIH1cbiAgcmV0dXJuIGR0Zjtcbn1cblxubGV0IGludGxEVENhY2hlID0ge307XG5mdW5jdGlvbiBnZXRDYWNoZWREVEYobG9jU3RyaW5nLCBvcHRzID0ge30pIHtcbiAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgb3B0c10pO1xuICBsZXQgZHRmID0gaW50bERUQ2FjaGVba2V5XTtcbiAgaWYgKCFkdGYpIHtcbiAgICBkdGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxEVENhY2hlW2tleV0gPSBkdGY7XG4gIH1cbiAgcmV0dXJuIGR0Zjtcbn1cblxubGV0IGludGxOdW1DYWNoZSA9IHt9O1xuZnVuY3Rpb24gZ2V0Q2FjaGVkSU5GKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTtcbiAgbGV0IGluZiA9IGludGxOdW1DYWNoZVtrZXldO1xuICBpZiAoIWluZikge1xuICAgIGluZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxOdW1DYWNoZVtrZXldID0gaW5mO1xuICB9XG4gIHJldHVybiBpbmY7XG59XG5cbmxldCBpbnRsUmVsQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGdldENhY2hlZFJURihsb2NTdHJpbmcsIG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJhc2UsIC4uLmNhY2hlS2V5T3B0cyB9ID0gb3B0czsgLy8gZXhjbHVkZSBgYmFzZWAgZnJvbSB0aGUgb3B0aW9uc1xuICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeShbbG9jU3RyaW5nLCBjYWNoZUtleU9wdHNdKTtcbiAgbGV0IGluZiA9IGludGxSZWxDYWNoZVtrZXldO1xuICBpZiAoIWluZikge1xuICAgIGluZiA9IG5ldyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpO1xuICAgIGludGxSZWxDYWNoZVtrZXldID0gaW5mO1xuICB9XG4gIHJldHVybiBpbmY7XG59XG5cbmxldCBzeXNMb2NhbGVDYWNoZSA9IG51bGw7XG5mdW5jdGlvbiBzeXN0ZW1Mb2NhbGUoKSB7XG4gIGlmIChzeXNMb2NhbGVDYWNoZSkge1xuICAgIHJldHVybiBzeXNMb2NhbGVDYWNoZTtcbiAgfSBlbHNlIHtcbiAgICBzeXNMb2NhbGVDYWNoZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlO1xuICAgIHJldHVybiBzeXNMb2NhbGVDYWNoZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGVTdHIpIHtcbiAgLy8gSSByZWFsbHkgd2FudCB0byBhdm9pZCB3cml0aW5nIGEgQkNQIDQ3IHBhcnNlclxuICAvLyBzZWUsIGUuZy4gaHR0cHM6Ly9naXRodWIuY29tL3dvb29ybS9iY3AtNDdcbiAgLy8gSW5zdGVhZCwgd2UnbGwgZG8gdGhpczpcblxuICAvLyBhKSBpZiB0aGUgc3RyaW5nIGhhcyBubyAtdSBleHRlbnNpb25zLCBqdXN0IGxlYXZlIGl0IGFsb25lXG4gIC8vIGIpIGlmIGl0IGRvZXMsIHVzZSBJbnRsIHRvIHJlc29sdmUgZXZlcnl0aGluZ1xuICAvLyBjKSBpZiBJbnRsIGZhaWxzLCB0cnkgYWdhaW4gd2l0aG91dCB0aGUgLXVcblxuICBjb25zdCB1SW5kZXggPSBsb2NhbGVTdHIuaW5kZXhPZihcIi11LVwiKTtcbiAgaWYgKHVJbmRleCA9PT0gLTEpIHtcbiAgICByZXR1cm4gW2xvY2FsZVN0cl07XG4gIH0gZWxzZSB7XG4gICAgbGV0IG9wdGlvbnM7XG4gICAgY29uc3Qgc21hbGxlciA9IGxvY2FsZVN0ci5zdWJzdHJpbmcoMCwgdUluZGV4KTtcbiAgICB0cnkge1xuICAgICAgb3B0aW9ucyA9IGdldENhY2hlZERURihsb2NhbGVTdHIpLnJlc29sdmVkT3B0aW9ucygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIG9wdGlvbnMgPSBnZXRDYWNoZWREVEYoc21hbGxlcikucmVzb2x2ZWRPcHRpb25zKCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyIH0gPSBvcHRpb25zO1xuICAgIC8vIHJldHVybiB0aGUgc21hbGxlciBvbmUgc28gdGhhdCB3ZSBjYW4gYXBwZW5kIHRoZSBjYWxlbmRhciBhbmQgbnVtYmVyaW5nIG92ZXJyaWRlcyB0byBpdFxuICAgIHJldHVybiBbc21hbGxlciwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhcl07XG4gIH1cbn1cblxuZnVuY3Rpb24gaW50bENvbmZpZ1N0cmluZyhsb2NhbGVTdHIsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIpIHtcbiAgaWYgKG91dHB1dENhbGVuZGFyIHx8IG51bWJlcmluZ1N5c3RlbSkge1xuICAgIGxvY2FsZVN0ciArPSBcIi11XCI7XG5cbiAgICBpZiAob3V0cHV0Q2FsZW5kYXIpIHtcbiAgICAgIGxvY2FsZVN0ciArPSBgLWNhLSR7b3V0cHV0Q2FsZW5kYXJ9YDtcbiAgICB9XG5cbiAgICBpZiAobnVtYmVyaW5nU3lzdGVtKSB7XG4gICAgICBsb2NhbGVTdHIgKz0gYC1udS0ke251bWJlcmluZ1N5c3RlbX1gO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYWxlU3RyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsb2NhbGVTdHI7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwTW9udGhzKGYpIHtcbiAgY29uc3QgbXMgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMTI7IGkrKykge1xuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUudXRjKDIwMTYsIGksIDEpO1xuICAgIG1zLnB1c2goZihkdCkpO1xuICB9XG4gIHJldHVybiBtcztcbn1cblxuZnVuY3Rpb24gbWFwV2Vla2RheXMoZikge1xuICBjb25zdCBtcyA9IFtdO1xuICBmb3IgKGxldCBpID0gMTsgaSA8PSA3OyBpKyspIHtcbiAgICBjb25zdCBkdCA9IERhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMgKyBpKTtcbiAgICBtcy5wdXNoKGYoZHQpKTtcbiAgfVxuICByZXR1cm4gbXM7XG59XG5cbmZ1bmN0aW9uIGxpc3RTdHVmZihsb2MsIGxlbmd0aCwgZGVmYXVsdE9LLCBlbmdsaXNoRm4sIGludGxGbikge1xuICBjb25zdCBtb2RlID0gbG9jLmxpc3RpbmdNb2RlKGRlZmF1bHRPSyk7XG5cbiAgaWYgKG1vZGUgPT09IFwiZXJyb3JcIikge1xuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2UgaWYgKG1vZGUgPT09IFwiZW5cIikge1xuICAgIHJldHVybiBlbmdsaXNoRm4obGVuZ3RoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaW50bEZuKGxlbmd0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3VwcG9ydHNGYXN0TnVtYmVycyhsb2MpIHtcbiAgaWYgKGxvYy5udW1iZXJpbmdTeXN0ZW0gJiYgbG9jLm51bWJlcmluZ1N5c3RlbSAhPT0gXCJsYXRuXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxvYy5udW1iZXJpbmdTeXN0ZW0gPT09IFwibGF0blwiIHx8XG4gICAgICAhbG9jLmxvY2FsZSB8fFxuICAgICAgbG9jLmxvY2FsZS5zdGFydHNXaXRoKFwiZW5cIikgfHxcbiAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvYy5pbnRsKS5yZXNvbHZlZE9wdGlvbnMoKS5udW1iZXJpbmdTeXN0ZW0gPT09IFwibGF0blwiXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cblxuY2xhc3MgUG9seU51bWJlckZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKGludGwsIGZvcmNlU2ltcGxlLCBvcHRzKSB7XG4gICAgdGhpcy5wYWRUbyA9IG9wdHMucGFkVG8gfHwgMDtcbiAgICB0aGlzLmZsb29yID0gb3B0cy5mbG9vciB8fCBmYWxzZTtcblxuICAgIGNvbnN0IHsgcGFkVG8sIGZsb29yLCAuLi5vdGhlck9wdHMgfSA9IG9wdHM7XG5cbiAgICBpZiAoIWZvcmNlU2ltcGxlIHx8IE9iamVjdC5rZXlzKG90aGVyT3B0cykubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgaW50bE9wdHMgPSB7IHVzZUdyb3VwaW5nOiBmYWxzZSwgLi4ub3B0cyB9O1xuICAgICAgaWYgKG9wdHMucGFkVG8gPiAwKSBpbnRsT3B0cy5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IG9wdHMucGFkVG87XG4gICAgICB0aGlzLmluZiA9IGdldENhY2hlZElORihpbnRsLCBpbnRsT3B0cyk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0KGkpIHtcbiAgICBpZiAodGhpcy5pbmYpIHtcbiAgICAgIGNvbnN0IGZpeGVkID0gdGhpcy5mbG9vciA/IE1hdGguZmxvb3IoaSkgOiBpO1xuICAgICAgcmV0dXJuIHRoaXMuaW5mLmZvcm1hdChmaXhlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRvIG1hdGNoIHRoZSBicm93c2VyJ3MgbnVtYmVyZm9ybWF0dGVyIGRlZmF1bHRzXG4gICAgICBjb25zdCBmaXhlZCA9IHRoaXMuZmxvb3IgPyBNYXRoLmZsb29yKGkpIDogcm91bmRUbyhpLCAzKTtcbiAgICAgIHJldHVybiBwYWRTdGFydChmaXhlZCwgdGhpcy5wYWRUbyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuXG5jbGFzcyBQb2x5RGF0ZUZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKGR0LCBpbnRsLCBvcHRzKSB7XG4gICAgdGhpcy5vcHRzID0gb3B0cztcblxuICAgIGxldCB6O1xuICAgIGlmIChkdC56b25lLmlzVW5pdmVyc2FsKSB7XG4gICAgICAvLyBVVEMtOCBvciBFdGMvVVRDLTggYXJlIG5vdCBwYXJ0IG9mIHR6ZGF0YSwgb25seSBFdGMvR01UKzggYW5kIHRoZSBsaWtlLlxuICAgICAgLy8gVGhhdCBpcyB3aHkgZml4ZWQtb2Zmc2V0IFRaIGlzIHNldCB0byB0aGF0IHVubGVzcyBpdCBpczpcbiAgICAgIC8vIDEuIFJlcHJlc2VudGluZyBvZmZzZXQgMCB3aGVuIFVUQyBpcyB1c2VkIHRvIG1haW50YWluIHByZXZpb3VzIGJlaGF2aW9yIGFuZCBkb2VzIG5vdCBiZWNvbWUgR01ULlxuICAgICAgLy8gMi4gVW5zdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXI6XG4gICAgICAvLyAgICAtIHNvbWUgZG8gbm90IHN1cHBvcnQgRXRjL1xuICAgICAgLy8gICAgLSA8IEV0Yy9HTVQtMTQsID4gRXRjL0dNVCsxMiwgYW5kIDMwLW1pbnV0ZSBvciA0NS1taW51dGUgb2Zmc2V0cyBhcmUgbm90IHBhcnQgb2YgdHpkYXRhXG4gICAgICBjb25zdCBnbXRPZmZzZXQgPSAtMSAqIChkdC5vZmZzZXQgLyA2MCk7XG4gICAgICBjb25zdCBvZmZzZXRaID0gZ210T2Zmc2V0ID49IDAgPyBgRXRjL0dNVCske2dtdE9mZnNldH1gIDogYEV0Yy9HTVQke2dtdE9mZnNldH1gO1xuICAgICAgaWYgKGR0Lm9mZnNldCAhPT0gMCAmJiBJQU5BWm9uZS5jcmVhdGUob2Zmc2V0WikudmFsaWQpIHtcbiAgICAgICAgeiA9IG9mZnNldFo7XG4gICAgICAgIHRoaXMuZHQgPSBkdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vdCBhbGwgZml4ZWQtb2Zmc2V0IHpvbmVzIGxpa2UgRXRjLys0OjMwIGFyZSBwcmVzZW50IGluIHR6ZGF0YS5cbiAgICAgICAgLy8gU28gd2UgaGF2ZSB0byBtYWtlIGRvLiBUd28gY2FzZXM6XG4gICAgICAgIC8vIDEuIFRoZSBmb3JtYXQgb3B0aW9ucyB0ZWxsIHVzIHRvIHNob3cgdGhlIHpvbmUuIFdlIGNhbid0IGRvIHRoYXQsIHNvIHRoZSBiZXN0XG4gICAgICAgIC8vIHdlIGNhbiBkbyBpcyBmb3JtYXQgdGhlIGRhdGUgaW4gVVRDLlxuICAgICAgICAvLyAyLiBUaGUgZm9ybWF0IG9wdGlvbnMgZG9uJ3QgdGVsbCB1cyB0byBzaG93IHRoZSB6b25lLiBUaGVuIHdlIGNhbiBhZGp1c3QgdGhlbVxuICAgICAgICAvLyB0aGUgdGltZSBhbmQgdGVsbCB0aGUgZm9ybWF0dGVyIHRvIHNob3cgaXQgdG8gdXMgaW4gVVRDLCBzbyB0aGF0IHRoZSB0aW1lIGlzIHJpZ2h0XG4gICAgICAgIC8vIGFuZCB0aGUgYmFkIHpvbmUgZG9lc24ndCBzaG93IHVwLlxuICAgICAgICB6ID0gXCJVVENcIjtcbiAgICAgICAgaWYgKG9wdHMudGltZVpvbmVOYW1lKSB7XG4gICAgICAgICAgdGhpcy5kdCA9IGR0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZHQgPSBkdC5vZmZzZXQgPT09IDAgPyBkdCA6IERhdGVUaW1lLmZyb21NaWxsaXMoZHQudHMgKyBkdC5vZmZzZXQgKiA2MCAqIDEwMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkdC56b25lLnR5cGUgPT09IFwic3lzdGVtXCIpIHtcbiAgICAgIHRoaXMuZHQgPSBkdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kdCA9IGR0O1xuICAgICAgeiA9IGR0LnpvbmUubmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRsT3B0cyA9IHsgLi4udGhpcy5vcHRzIH07XG4gICAgaWYgKHopIHtcbiAgICAgIGludGxPcHRzLnRpbWVab25lID0gejtcbiAgICB9XG4gICAgdGhpcy5kdGYgPSBnZXRDYWNoZWREVEYoaW50bCwgaW50bE9wdHMpO1xuICB9XG5cbiAgZm9ybWF0KCkge1xuICAgIHJldHVybiB0aGlzLmR0Zi5mb3JtYXQodGhpcy5kdC50b0pTRGF0ZSgpKTtcbiAgfVxuXG4gIGZvcm1hdFRvUGFydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZHRmLmZvcm1hdFRvUGFydHModGhpcy5kdC50b0pTRGF0ZSgpKTtcbiAgfVxuXG4gIHJlc29sdmVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kdGYucmVzb2x2ZWRPcHRpb25zKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5jbGFzcyBQb2x5UmVsRm9ybWF0dGVyIHtcbiAgY29uc3RydWN0b3IoaW50bCwgaXNFbmdsaXNoLCBvcHRzKSB7XG4gICAgdGhpcy5vcHRzID0geyBzdHlsZTogXCJsb25nXCIsIC4uLm9wdHMgfTtcbiAgICBpZiAoIWlzRW5nbGlzaCAmJiBoYXNSZWxhdGl2ZSgpKSB7XG4gICAgICB0aGlzLnJ0ZiA9IGdldENhY2hlZFJURihpbnRsLCBvcHRzKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXQoY291bnQsIHVuaXQpIHtcbiAgICBpZiAodGhpcy5ydGYpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ0Zi5mb3JtYXQoY291bnQsIHVuaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRW5nbGlzaC5mb3JtYXRSZWxhdGl2ZVRpbWUodW5pdCwgY291bnQsIHRoaXMub3B0cy5udW1lcmljLCB0aGlzLm9wdHMuc3R5bGUgIT09IFwibG9uZ1wiKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRUb1BhcnRzKGNvdW50LCB1bml0KSB7XG4gICAgaWYgKHRoaXMucnRmKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydGYuZm9ybWF0VG9QYXJ0cyhjb3VudCwgdW5pdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvY2FsZSB7XG4gIHN0YXRpYyBmcm9tT3B0cyhvcHRzKSB7XG4gICAgcmV0dXJuIExvY2FsZS5jcmVhdGUob3B0cy5sb2NhbGUsIG9wdHMubnVtYmVyaW5nU3lzdGVtLCBvcHRzLm91dHB1dENhbGVuZGFyLCBvcHRzLmRlZmF1bHRUb0VOKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyLCBkZWZhdWx0VG9FTiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgc3BlY2lmaWVkTG9jYWxlID0gbG9jYWxlIHx8IFNldHRpbmdzLmRlZmF1bHRMb2NhbGU7XG4gICAgLy8gdGhlIHN5c3RlbSBsb2NhbGUgaXMgdXNlZnVsIGZvciBodW1hbiByZWFkYWJsZSBzdHJpbmdzIGJ1dCBhbm5veWluZyBmb3IgcGFyc2luZy9mb3JtYXR0aW5nIGtub3duIGZvcm1hdHNcbiAgICBjb25zdCBsb2NhbGVSID0gc3BlY2lmaWVkTG9jYWxlIHx8IChkZWZhdWx0VG9FTiA/IFwiZW4tVVNcIiA6IHN5c3RlbUxvY2FsZSgpKTtcbiAgICBjb25zdCBudW1iZXJpbmdTeXN0ZW1SID0gbnVtYmVyaW5nU3lzdGVtIHx8IFNldHRpbmdzLmRlZmF1bHROdW1iZXJpbmdTeXN0ZW07XG4gICAgY29uc3Qgb3V0cHV0Q2FsZW5kYXJSID0gb3V0cHV0Q2FsZW5kYXIgfHwgU2V0dGluZ3MuZGVmYXVsdE91dHB1dENhbGVuZGFyO1xuICAgIHJldHVybiBuZXcgTG9jYWxlKGxvY2FsZVIsIG51bWJlcmluZ1N5c3RlbVIsIG91dHB1dENhbGVuZGFyUiwgc3BlY2lmaWVkTG9jYWxlKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNldENhY2hlKCkge1xuICAgIHN5c0xvY2FsZUNhY2hlID0gbnVsbDtcbiAgICBpbnRsRFRDYWNoZSA9IHt9O1xuICAgIGludGxOdW1DYWNoZSA9IHt9O1xuICAgIGludGxSZWxDYWNoZSA9IHt9O1xuICB9XG5cbiAgc3RhdGljIGZyb21PYmplY3QoeyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIgfSA9IHt9KSB7XG4gICAgcmV0dXJuIExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGxvY2FsZSwgbnVtYmVyaW5nLCBvdXRwdXRDYWxlbmRhciwgc3BlY2lmaWVkTG9jYWxlKSB7XG4gICAgY29uc3QgW3BhcnNlZExvY2FsZSwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtLCBwYXJzZWRPdXRwdXRDYWxlbmRhcl0gPSBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGUpO1xuXG4gICAgdGhpcy5sb2NhbGUgPSBwYXJzZWRMb2NhbGU7XG4gICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPSBudW1iZXJpbmcgfHwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtIHx8IG51bGw7XG4gICAgdGhpcy5vdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyIHx8IHBhcnNlZE91dHB1dENhbGVuZGFyIHx8IG51bGw7XG4gICAgdGhpcy5pbnRsID0gaW50bENvbmZpZ1N0cmluZyh0aGlzLmxvY2FsZSwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sIHRoaXMub3V0cHV0Q2FsZW5kYXIpO1xuXG4gICAgdGhpcy53ZWVrZGF5c0NhY2hlID0geyBmb3JtYXQ6IHt9LCBzdGFuZGFsb25lOiB7fSB9O1xuICAgIHRoaXMubW9udGhzQ2FjaGUgPSB7IGZvcm1hdDoge30sIHN0YW5kYWxvbmU6IHt9IH07XG4gICAgdGhpcy5tZXJpZGllbUNhY2hlID0gbnVsbDtcbiAgICB0aGlzLmVyYUNhY2hlID0ge307XG5cbiAgICB0aGlzLnNwZWNpZmllZExvY2FsZSA9IHNwZWNpZmllZExvY2FsZTtcbiAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gbnVsbDtcbiAgfVxuXG4gIGdldCBmYXN0TnVtYmVycygpIHtcbiAgICBpZiAodGhpcy5mYXN0TnVtYmVyc0NhY2hlZCA9PSBudWxsKSB7XG4gICAgICB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkID0gc3VwcG9ydHNGYXN0TnVtYmVycyh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mYXN0TnVtYmVyc0NhY2hlZDtcbiAgfVxuXG4gIGxpc3RpbmdNb2RlKCkge1xuICAgIGNvbnN0IGlzQWN0dWFsbHlFbiA9IHRoaXMuaXNFbmdsaXNoKCk7XG4gICAgY29uc3QgaGFzTm9XZWlyZG5lc3MgPVxuICAgICAgKHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBudWxsIHx8IHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBcImxhdG5cIikgJiZcbiAgICAgICh0aGlzLm91dHB1dENhbGVuZGFyID09PSBudWxsIHx8IHRoaXMub3V0cHV0Q2FsZW5kYXIgPT09IFwiZ3JlZ29yeVwiKTtcbiAgICByZXR1cm4gaXNBY3R1YWxseUVuICYmIGhhc05vV2VpcmRuZXNzID8gXCJlblwiIDogXCJpbnRsXCI7XG4gIH1cblxuICBjbG9uZShhbHRzKSB7XG4gICAgaWYgKCFhbHRzIHx8IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFsdHMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKFxuICAgICAgICBhbHRzLmxvY2FsZSB8fCB0aGlzLnNwZWNpZmllZExvY2FsZSxcbiAgICAgICAgYWx0cy5udW1iZXJpbmdTeXN0ZW0gfHwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sXG4gICAgICAgIGFsdHMub3V0cHV0Q2FsZW5kYXIgfHwgdGhpcy5vdXRwdXRDYWxlbmRhcixcbiAgICAgICAgYWx0cy5kZWZhdWx0VG9FTiB8fCBmYWxzZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZWRlZmF1bHRUb0VOKGFsdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKHsgLi4uYWx0cywgZGVmYXVsdFRvRU46IHRydWUgfSk7XG4gIH1cblxuICByZWRlZmF1bHRUb1N5c3RlbShhbHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSh7IC4uLmFsdHMsIGRlZmF1bHRUb0VOOiBmYWxzZSB9KTtcbiAgfVxuXG4gIG1vbnRocyhsZW5ndGgsIGZvcm1hdCA9IGZhbHNlLCBkZWZhdWx0T0sgPSB0cnVlKSB7XG4gICAgcmV0dXJuIGxpc3RTdHVmZih0aGlzLCBsZW5ndGgsIGRlZmF1bHRPSywgRW5nbGlzaC5tb250aHMsICgpID0+IHtcbiAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQgPyB7IG1vbnRoOiBsZW5ndGgsIGRheTogXCJudW1lcmljXCIgfSA6IHsgbW9udGg6IGxlbmd0aCB9LFxuICAgICAgICBmb3JtYXRTdHIgPSBmb3JtYXQgPyBcImZvcm1hdFwiIDogXCJzdGFuZGFsb25lXCI7XG4gICAgICBpZiAoIXRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdKSB7XG4gICAgICAgIHRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdID0gbWFwTW9udGhzKChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcIm1vbnRoXCIpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm1vbnRoc0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTtcbiAgICB9KTtcbiAgfVxuXG4gIHdlZWtkYXlzKGxlbmd0aCwgZm9ybWF0ID0gZmFsc2UsIGRlZmF1bHRPSyA9IHRydWUpIHtcbiAgICByZXR1cm4gbGlzdFN0dWZmKHRoaXMsIGxlbmd0aCwgZGVmYXVsdE9LLCBFbmdsaXNoLndlZWtkYXlzLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnRsID0gZm9ybWF0XG4gICAgICAgICAgPyB7IHdlZWtkYXk6IGxlbmd0aCwgeWVhcjogXCJudW1lcmljXCIsIG1vbnRoOiBcImxvbmdcIiwgZGF5OiBcIm51bWVyaWNcIiB9XG4gICAgICAgICAgOiB7IHdlZWtkYXk6IGxlbmd0aCB9LFxuICAgICAgICBmb3JtYXRTdHIgPSBmb3JtYXQgPyBcImZvcm1hdFwiIDogXCJzdGFuZGFsb25lXCI7XG4gICAgICBpZiAoIXRoaXMud2Vla2RheXNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF0pIHtcbiAgICAgICAgdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSA9IG1hcFdlZWtkYXlzKChkdCkgPT5cbiAgICAgICAgICB0aGlzLmV4dHJhY3QoZHQsIGludGwsIFwid2Vla2RheVwiKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMud2Vla2RheXNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF07XG4gICAgfSk7XG4gIH1cblxuICBtZXJpZGllbXMoZGVmYXVsdE9LID0gdHJ1ZSkge1xuICAgIHJldHVybiBsaXN0U3R1ZmYoXG4gICAgICB0aGlzLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZGVmYXVsdE9LLFxuICAgICAgKCkgPT4gRW5nbGlzaC5tZXJpZGllbXMsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIC8vIEluIHRoZW9yeSB0aGVyZSBjb3VsZCBiZSBhcmliaXRyYXJ5IGRheSBwZXJpb2RzLiBXZSdyZSBnb25uYSBhc3N1bWUgdGhlcmUgYXJlIGV4YWN0bHkgdHdvXG4gICAgICAgIC8vIGZvciBBTSBhbmQgUE0uIFRoaXMgaXMgcHJvYmFibHkgd3JvbmcsIGJ1dCBpdCdzIG1ha2VzIHBhcnNpbmcgd2F5IGVhc2llci5cbiAgICAgICAgaWYgKCF0aGlzLm1lcmlkaWVtQ2FjaGUpIHtcbiAgICAgICAgICBjb25zdCBpbnRsID0geyBob3VyOiBcIm51bWVyaWNcIiwgaG91ckN5Y2xlOiBcImgxMlwiIH07XG4gICAgICAgICAgdGhpcy5tZXJpZGllbUNhY2hlID0gW0RhdGVUaW1lLnV0YygyMDE2LCAxMSwgMTMsIDkpLCBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzLCAxOSldLm1hcChcbiAgICAgICAgICAgIChkdCkgPT4gdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcImRheXBlcmlvZFwiKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXJpZGllbUNhY2hlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBlcmFzKGxlbmd0aCwgZGVmYXVsdE9LID0gdHJ1ZSkge1xuICAgIHJldHVybiBsaXN0U3R1ZmYodGhpcywgbGVuZ3RoLCBkZWZhdWx0T0ssIEVuZ2xpc2guZXJhcywgKCkgPT4ge1xuICAgICAgY29uc3QgaW50bCA9IHsgZXJhOiBsZW5ndGggfTtcblxuICAgICAgLy8gVGhpcyBpcyBwcm9ibGVtYXRpYy4gRGlmZmVyZW50IGNhbGVuZGFycyBhcmUgZ29pbmcgdG8gZGVmaW5lIGVyYXMgdG90YWxseSBkaWZmZXJlbnRseS4gV2hhdCBJIG5lZWQgaXMgdGhlIG1pbmltdW0gc2V0IG9mIGRhdGVzXG4gICAgICAvLyB0byBkZWZpbml0ZWx5IGVudW1lcmF0ZSB0aGVtLlxuICAgICAgaWYgKCF0aGlzLmVyYUNhY2hlW2xlbmd0aF0pIHtcbiAgICAgICAgdGhpcy5lcmFDYWNoZVtsZW5ndGhdID0gW0RhdGVUaW1lLnV0YygtNDAsIDEsIDEpLCBEYXRlVGltZS51dGMoMjAxNywgMSwgMSldLm1hcCgoZHQpID0+XG4gICAgICAgICAgdGhpcy5leHRyYWN0KGR0LCBpbnRsLCBcImVyYVwiKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5lcmFDYWNoZVtsZW5ndGhdO1xuICAgIH0pO1xuICB9XG5cbiAgZXh0cmFjdChkdCwgaW50bE9wdHMsIGZpZWxkKSB7XG4gICAgY29uc3QgZGYgPSB0aGlzLmR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyksXG4gICAgICByZXN1bHRzID0gZGYuZm9ybWF0VG9QYXJ0cygpLFxuICAgICAgbWF0Y2hpbmcgPSByZXN1bHRzLmZpbmQoKG0pID0+IG0udHlwZS50b0xvd2VyQ2FzZSgpID09PSBmaWVsZCk7XG4gICAgcmV0dXJuIG1hdGNoaW5nID8gbWF0Y2hpbmcudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgbnVtYmVyRm9ybWF0dGVyKG9wdHMgPSB7fSkge1xuICAgIC8vIHRoaXMgZm9yY2VzaW1wbGUgb3B0aW9uIGlzIG5ldmVyIHVzZWQgKHRoZSBvbmx5IGNhbGxlciBzaG9ydC1jaXJjdWl0cyBvbiBpdCwgYnV0IGl0IHNlZW1zIHNhZmVyIHRvIGxlYXZlKVxuICAgIC8vIChpbiBjb250cmFzdCwgdGhlIHJlc3Qgb2YgdGhlIGNvbmRpdGlvbiBpcyB1c2VkIGhlYXZpbHkpXG4gICAgcmV0dXJuIG5ldyBQb2x5TnVtYmVyRm9ybWF0dGVyKHRoaXMuaW50bCwgb3B0cy5mb3JjZVNpbXBsZSB8fCB0aGlzLmZhc3ROdW1iZXJzLCBvcHRzKTtcbiAgfVxuXG4gIGR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2x5RGF0ZUZvcm1hdHRlcihkdCwgdGhpcy5pbnRsLCBpbnRsT3B0cyk7XG4gIH1cblxuICByZWxGb3JtYXR0ZXIob3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQb2x5UmVsRm9ybWF0dGVyKHRoaXMuaW50bCwgdGhpcy5pc0VuZ2xpc2goKSwgb3B0cyk7XG4gIH1cblxuICBsaXN0Rm9ybWF0dGVyKG9wdHMgPSB7fSkge1xuICAgIHJldHVybiBnZXRDYWNoZWRMRih0aGlzLmludGwsIG9wdHMpO1xuICB9XG5cbiAgaXNFbmdsaXNoKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmxvY2FsZSA9PT0gXCJlblwiIHx8XG4gICAgICB0aGlzLmxvY2FsZS50b0xvd2VyQ2FzZSgpID09PSBcImVuLXVzXCIgfHxcbiAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuaW50bCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlLnN0YXJ0c1dpdGgoXCJlbi11c1wiKVxuICAgICk7XG4gIH1cblxuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5sb2NhbGUgPT09IG90aGVyLmxvY2FsZSAmJlxuICAgICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09IG90aGVyLm51bWJlcmluZ1N5c3RlbSAmJlxuICAgICAgdGhpcy5vdXRwdXRDYWxlbmRhciA9PT0gb3RoZXIub3V0cHV0Q2FsZW5kYXJcbiAgICApO1xuICB9XG59XG4iLCAiaW1wb3J0IHtcbiAgdW50cnVuY2F0ZVllYXIsXG4gIHNpZ25lZE9mZnNldCxcbiAgcGFyc2VJbnRlZ2VyLFxuICBwYXJzZU1pbGxpcyxcbiAgaWFuYVJlZ2V4LFxuICBpc1VuZGVmaW5lZCxcbiAgcGFyc2VGbG9hdGluZ1xufSBmcm9tIFwiLi91dGlsLmpzXCI7XG5pbXBvcnQgKiBhcyBFbmdsaXNoIGZyb20gXCIuL2VuZ2xpc2guanNcIjtcbmltcG9ydCBGaXhlZE9mZnNldFpvbmUgZnJvbSBcIi4uL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IElBTkFab25lIGZyb20gXCIuLi96b25lcy9JQU5BWm9uZS5qc1wiO1xuXG4vKlxuICogVGhpcyBmaWxlIGhhbmRsZXMgcGFyc2luZyBmb3Igd2VsbC1zcGVjaWZpZWQgZm9ybWF0cy4gSGVyZSdzIGhvdyBpdCB3b3JrczpcbiAqIFR3byB0aGluZ3MgZ28gaW50byBwYXJzaW5nOiBhIHJlZ2V4IHRvIG1hdGNoIHdpdGggYW5kIGFuIGV4dHJhY3RvciB0byB0YWtlIGFwYXJ0IHRoZSBncm91cHMgaW4gdGhlIG1hdGNoLlxuICogQW4gZXh0cmFjdG9yIGlzIGp1c3QgYSBmdW5jdGlvbiB0aGF0IHRha2VzIGEgcmVnZXggbWF0Y2ggYXJyYXkgYW5kIHJldHVybnMgYSB7IHllYXI6IC4uLiwgbW9udGg6IC4uLiB9IG9iamVjdFxuICogcGFyc2UoKSBkb2VzIHRoZSB3b3JrIG9mIGV4ZWN1dGluZyB0aGUgcmVnZXggYW5kIGFwcGx5aW5nIHRoZSBleHRyYWN0b3IuIEl0IHRha2VzIG11bHRpcGxlIHJlZ2V4L2V4dHJhY3RvciBwYWlycyB0byB0cnkgaW4gc2VxdWVuY2UuXG4gKiBFeHRyYWN0b3JzIGNhbiB0YWtlIGEgXCJjdXJzb3JcIiByZXByZXNlbnRpbmcgdGhlIG9mZnNldCBpbiB0aGUgbWF0Y2ggdG8gbG9vayBhdC4gVGhpcyBtYWtlcyBpdCBlYXN5IHRvIGNvbWJpbmUgZXh0cmFjdG9ycy5cbiAqIGNvbWJpbmVFeHRyYWN0b3JzKCkgZG9lcyB0aGUgd29yayBvZiBjb21iaW5pbmcgdGhlbSwga2VlcGluZyB0cmFjayBvZiB0aGUgY3Vyc29yIHRocm91Z2ggbXVsdGlwbGUgZXh0cmFjdGlvbnMuXG4gKiBTb21lIGV4dHJhY3Rpb25zIGFyZSBzdXBlciBkdW1iIGFuZCBzaW1wbGVQYXJzZSBhbmQgZnJvbVN0cmluZ3MgaGVscCBEUlkgdGhlbS5cbiAqL1xuXG5mdW5jdGlvbiBjb21iaW5lUmVnZXhlcyguLi5yZWdleGVzKSB7XG4gIGNvbnN0IGZ1bGwgPSByZWdleGVzLnJlZHVjZSgoZiwgcikgPT4gZiArIHIuc291cmNlLCBcIlwiKTtcbiAgcmV0dXJuIFJlZ0V4cChgXiR7ZnVsbH0kYCk7XG59XG5cbmZ1bmN0aW9uIGNvbWJpbmVFeHRyYWN0b3JzKC4uLmV4dHJhY3RvcnMpIHtcbiAgcmV0dXJuIG0gPT5cbiAgICBleHRyYWN0b3JzXG4gICAgICAucmVkdWNlKFxuICAgICAgICAoW21lcmdlZFZhbHMsIG1lcmdlZFpvbmUsIGN1cnNvcl0sIGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgW3ZhbCwgem9uZSwgbmV4dF0gPSBleChtLCBjdXJzb3IpO1xuICAgICAgICAgIHJldHVybiBbeyAuLi5tZXJnZWRWYWxzLCAuLi52YWwgfSwgem9uZSB8fCBtZXJnZWRab25lLCBuZXh0XTtcbiAgICAgICAgfSxcbiAgICAgICAgW3t9LCBudWxsLCAxXVxuICAgICAgKVxuICAgICAgLnNsaWNlKDAsIDIpO1xufVxuXG5mdW5jdGlvbiBwYXJzZShzLCAuLi5wYXR0ZXJucykge1xuICBpZiAocyA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgfVxuXG4gIGZvciAoY29uc3QgW3JlZ2V4LCBleHRyYWN0b3JdIG9mIHBhdHRlcm5zKSB7XG4gICAgY29uc3QgbSA9IHJlZ2V4LmV4ZWMocyk7XG4gICAgaWYgKG0pIHtcbiAgICAgIHJldHVybiBleHRyYWN0b3IobSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBbbnVsbCwgbnVsbF07XG59XG5cbmZ1bmN0aW9uIHNpbXBsZVBhcnNlKC4uLmtleXMpIHtcbiAgcmV0dXJuIChtYXRjaCwgY3Vyc29yKSA9PiB7XG4gICAgY29uc3QgcmV0ID0ge307XG4gICAgbGV0IGk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgcmV0W2tleXNbaV1dID0gcGFyc2VJbnRlZ2VyKG1hdGNoW2N1cnNvciArIGldKTtcbiAgICB9XG4gICAgcmV0dXJuIFtyZXQsIG51bGwsIGN1cnNvciArIGldO1xuICB9O1xufVxuXG4vLyBJU08gYW5kIFNRTCBwYXJzaW5nXG5jb25zdCBvZmZzZXRSZWdleCA9IC8oPzooWil8KFsrLV1cXGRcXGQpKD86Oj8oXFxkXFxkKSk/KS87XG5jb25zdCBpc29FeHRlbmRlZFpvbmUgPSBgKD86JHtvZmZzZXRSZWdleC5zb3VyY2V9Pyg/OlxcXFxbKCR7aWFuYVJlZ2V4LnNvdXJjZX0pXFxcXF0pPyk/YDtcbmNvbnN0IGlzb1RpbWVCYXNlUmVnZXggPSAvKFxcZFxcZCkoPzo6PyhcXGRcXGQpKD86Oj8oXFxkXFxkKSg/OlsuLF0oXFxkezEsMzB9KSk/KT8pPy87XG5jb25zdCBpc29UaW1lUmVnZXggPSBSZWdFeHAoYCR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JHtpc29FeHRlbmRlZFpvbmV9YCk7XG5jb25zdCBpc29UaW1lRXh0ZW5zaW9uUmVnZXggPSBSZWdFeHAoYCg/OlQke2lzb1RpbWVSZWdleC5zb3VyY2V9KT9gKTtcbmNvbnN0IGlzb1ltZFJlZ2V4ID0gLyhbKy1dXFxkezZ9fFxcZHs0fSkoPzotPyhcXGRcXGQpKD86LT8oXFxkXFxkKSk/KT8vO1xuY29uc3QgaXNvV2Vla1JlZ2V4ID0gLyhcXGR7NH0pLT9XKFxcZFxcZCkoPzotPyhcXGQpKT8vO1xuY29uc3QgaXNvT3JkaW5hbFJlZ2V4ID0gLyhcXGR7NH0pLT8oXFxkezN9KS87XG5jb25zdCBleHRyYWN0SVNPV2Vla0RhdGEgPSBzaW1wbGVQYXJzZShcIndlZWtZZWFyXCIsIFwid2Vla051bWJlclwiLCBcIndlZWtEYXlcIik7XG5jb25zdCBleHRyYWN0SVNPT3JkaW5hbERhdGEgPSBzaW1wbGVQYXJzZShcInllYXJcIiwgXCJvcmRpbmFsXCIpO1xuY29uc3Qgc3FsWW1kUmVnZXggPSAvKFxcZHs0fSktKFxcZFxcZCktKFxcZFxcZCkvOyAvLyBkdW1iZWQtZG93biB2ZXJzaW9uIG9mIHRoZSBJU08gb25lXG5jb25zdCBzcWxUaW1lUmVnZXggPSBSZWdFeHAoXG4gIGAke2lzb1RpbWVCYXNlUmVnZXguc291cmNlfSA/KD86JHtvZmZzZXRSZWdleC5zb3VyY2V9fCgke2lhbmFSZWdleC5zb3VyY2V9KSk/YFxuKTtcbmNvbnN0IHNxbFRpbWVFeHRlbnNpb25SZWdleCA9IFJlZ0V4cChgKD86ICR7c3FsVGltZVJlZ2V4LnNvdXJjZX0pP2ApO1xuXG5mdW5jdGlvbiBpbnQobWF0Y2gsIHBvcywgZmFsbGJhY2spIHtcbiAgY29uc3QgbSA9IG1hdGNoW3Bvc107XG4gIHJldHVybiBpc1VuZGVmaW5lZChtKSA/IGZhbGxiYWNrIDogcGFyc2VJbnRlZ2VyKG0pO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0SVNPWW1kKG1hdGNoLCBjdXJzb3IpIHtcbiAgY29uc3QgaXRlbSA9IHtcbiAgICB5ZWFyOiBpbnQobWF0Y2gsIGN1cnNvciksXG4gICAgbW9udGg6IGludChtYXRjaCwgY3Vyc29yICsgMSwgMSksXG4gICAgZGF5OiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDEpXG4gIH07XG5cbiAgcmV0dXJuIFtpdGVtLCBudWxsLCBjdXJzb3IgKyAzXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElTT1RpbWUobWF0Y2gsIGN1cnNvcikge1xuICBjb25zdCBpdGVtID0ge1xuICAgIGhvdXJzOiBpbnQobWF0Y2gsIGN1cnNvciwgMCksXG4gICAgbWludXRlczogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAwKSxcbiAgICBzZWNvbmRzOiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDApLFxuICAgIG1pbGxpc2Vjb25kczogcGFyc2VNaWxsaXMobWF0Y2hbY3Vyc29yICsgM10pXG4gIH07XG5cbiAgcmV0dXJuIFtpdGVtLCBudWxsLCBjdXJzb3IgKyA0XTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElTT09mZnNldChtYXRjaCwgY3Vyc29yKSB7XG4gIGNvbnN0IGxvY2FsID0gIW1hdGNoW2N1cnNvcl0gJiYgIW1hdGNoW2N1cnNvciArIDFdLFxuICAgIGZ1bGxPZmZzZXQgPSBzaWduZWRPZmZzZXQobWF0Y2hbY3Vyc29yICsgMV0sIG1hdGNoW2N1cnNvciArIDJdKSxcbiAgICB6b25lID0gbG9jYWwgPyBudWxsIDogRml4ZWRPZmZzZXRab25lLmluc3RhbmNlKGZ1bGxPZmZzZXQpO1xuICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAzXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElBTkFab25lKG1hdGNoLCBjdXJzb3IpIHtcbiAgY29uc3Qgem9uZSA9IG1hdGNoW2N1cnNvcl0gPyBJQU5BWm9uZS5jcmVhdGUobWF0Y2hbY3Vyc29yXSkgOiBudWxsO1xuICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAxXTtcbn1cblxuLy8gSVNPIHRpbWUgcGFyc2luZ1xuXG5jb25zdCBpc29UaW1lT25seSA9IFJlZ0V4cChgXlQ/JHtpc29UaW1lQmFzZVJlZ2V4LnNvdXJjZX0kYCk7XG5cbi8vIElTTyBkdXJhdGlvbiBwYXJzaW5nXG5cbmNvbnN0IGlzb0R1cmF0aW9uID0gL14tP1AoPzooPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylZKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylNKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylXKT8oPzooLT9cXGR7MSwyMH0oPzpcXC5cXGR7MSwyMH0pPylEKT8oPzpUKD86KC0/XFxkezEsMjB9KD86XFwuXFxkezEsMjB9KT8pSCk/KD86KC0/XFxkezEsMjB9KD86XFwuXFxkezEsMjB9KT8pTSk/KD86KC0/XFxkezEsMjB9KSg/OlsuLF0oLT9cXGR7MSwyMH0pKT9TKT8pPykkLztcblxuZnVuY3Rpb24gZXh0cmFjdElTT0R1cmF0aW9uKG1hdGNoKSB7XG4gIGNvbnN0IFtcbiAgICBzLFxuICAgIHllYXJTdHIsXG4gICAgbW9udGhTdHIsXG4gICAgd2Vla1N0cixcbiAgICBkYXlTdHIsXG4gICAgaG91clN0cixcbiAgICBtaW51dGVTdHIsXG4gICAgc2Vjb25kU3RyLFxuICAgIG1pbGxpc2Vjb25kc1N0clxuICBdID0gbWF0Y2g7XG5cbiAgY29uc3QgaGFzTmVnYXRpdmVQcmVmaXggPSBzWzBdID09PSBcIi1cIjtcbiAgY29uc3QgbmVnYXRpdmVTZWNvbmRzID0gc2Vjb25kU3RyICYmIHNlY29uZFN0clswXSA9PT0gXCItXCI7XG5cbiAgY29uc3QgbWF5YmVOZWdhdGUgPSAobnVtLCBmb3JjZSA9IGZhbHNlKSA9PlxuICAgIG51bSAhPT0gdW5kZWZpbmVkICYmIChmb3JjZSB8fCAobnVtICYmIGhhc05lZ2F0aXZlUHJlZml4KSkgPyAtbnVtIDogbnVtO1xuXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgeWVhcnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoeWVhclN0cikpLFxuICAgICAgbW9udGhzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKG1vbnRoU3RyKSksXG4gICAgICB3ZWVrczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyh3ZWVrU3RyKSksXG4gICAgICBkYXlzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKGRheVN0cikpLFxuICAgICAgaG91cnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoaG91clN0cikpLFxuICAgICAgbWludXRlczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyhtaW51dGVTdHIpKSxcbiAgICAgIHNlY29uZHM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoc2Vjb25kU3RyKSwgc2Vjb25kU3RyID09PSBcIi0wXCIpLFxuICAgICAgbWlsbGlzZWNvbmRzOiBtYXliZU5lZ2F0ZShwYXJzZU1pbGxpcyhtaWxsaXNlY29uZHNTdHIpLCBuZWdhdGl2ZVNlY29uZHMpXG4gICAgfVxuICBdO1xufVxuXG4vLyBUaGVzZSBhcmUgYSBsaXR0bGUgYnJhaW5kZWFkLiBFRFQgKnNob3VsZCogdGVsbCB1cyB0aGF0IHdlJ3JlIGluLCBzYXksIEFtZXJpY2EvTmV3X1lvcmtcbi8vIGFuZCBub3QganVzdCB0aGF0IHdlJ3JlIGluIC0yNDAgKnJpZ2h0IG5vdyouIEJ1dCBzaW5jZSBJIGRvbid0IHRoaW5rIHRoZXNlIGFyZSB1c2VkIHRoYXQgb2Z0ZW5cbi8vIEknbSBqdXN0IGdvaW5nIHRvIGlnbm9yZSB0aGF0XG5jb25zdCBvYnNPZmZzZXRzID0ge1xuICBHTVQ6IDAsXG4gIEVEVDogLTQgKiA2MCxcbiAgRVNUOiAtNSAqIDYwLFxuICBDRFQ6IC01ICogNjAsXG4gIENTVDogLTYgKiA2MCxcbiAgTURUOiAtNiAqIDYwLFxuICBNU1Q6IC03ICogNjAsXG4gIFBEVDogLTcgKiA2MCxcbiAgUFNUOiAtOCAqIDYwXG59O1xuXG5mdW5jdGlvbiBmcm9tU3RyaW5ncyh3ZWVrZGF5U3RyLCB5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0cikge1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgeWVhcjogeWVhclN0ci5sZW5ndGggPT09IDIgPyB1bnRydW5jYXRlWWVhcihwYXJzZUludGVnZXIoeWVhclN0cikpIDogcGFyc2VJbnRlZ2VyKHllYXJTdHIpLFxuICAgIG1vbnRoOiBFbmdsaXNoLm1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpICsgMSxcbiAgICBkYXk6IHBhcnNlSW50ZWdlcihkYXlTdHIpLFxuICAgIGhvdXI6IHBhcnNlSW50ZWdlcihob3VyU3RyKSxcbiAgICBtaW51dGU6IHBhcnNlSW50ZWdlcihtaW51dGVTdHIpXG4gIH07XG5cbiAgaWYgKHNlY29uZFN0cikgcmVzdWx0LnNlY29uZCA9IHBhcnNlSW50ZWdlcihzZWNvbmRTdHIpO1xuICBpZiAod2Vla2RheVN0cikge1xuICAgIHJlc3VsdC53ZWVrZGF5ID1cbiAgICAgIHdlZWtkYXlTdHIubGVuZ3RoID4gM1xuICAgICAgICA/IEVuZ2xpc2gud2Vla2RheXNMb25nLmluZGV4T2Yod2Vla2RheVN0cikgKyAxXG4gICAgICAgIDogRW5nbGlzaC53ZWVrZGF5c1Nob3J0LmluZGV4T2Yod2Vla2RheVN0cikgKyAxO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gUkZDIDI4MjIvNTMyMlxuY29uc3QgcmZjMjgyMiA9IC9eKD86KE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksXFxzKT8oXFxkezEsMn0pXFxzKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKVxccyhcXGR7Miw0fSlcXHMoXFxkXFxkKTooXFxkXFxkKSg/OjooXFxkXFxkKSk/XFxzKD86KFVUfEdNVHxbRUNNUF1bU0RdVCl8KFtael0pfCg/OihbKy1dXFxkXFxkKShcXGRcXGQpKSkkLztcblxuZnVuY3Rpb24gZXh0cmFjdFJGQzI4MjIobWF0Y2gpIHtcbiAgY29uc3QgW1xuICAgICAgLFxuICAgICAgd2Vla2RheVN0cixcbiAgICAgIGRheVN0cixcbiAgICAgIG1vbnRoU3RyLFxuICAgICAgeWVhclN0cixcbiAgICAgIGhvdXJTdHIsXG4gICAgICBtaW51dGVTdHIsXG4gICAgICBzZWNvbmRTdHIsXG4gICAgICBvYnNPZmZzZXQsXG4gICAgICBtaWxPZmZzZXQsXG4gICAgICBvZmZIb3VyU3RyLFxuICAgICAgb2ZmTWludXRlU3RyXG4gICAgXSA9IG1hdGNoLFxuICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTtcblxuICBsZXQgb2Zmc2V0O1xuICBpZiAob2JzT2Zmc2V0KSB7XG4gICAgb2Zmc2V0ID0gb2JzT2Zmc2V0c1tvYnNPZmZzZXRdO1xuICB9IGVsc2UgaWYgKG1pbE9mZnNldCkge1xuICAgIG9mZnNldCA9IDA7XG4gIH0gZWxzZSB7XG4gICAgb2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cik7XG4gIH1cblxuICByZXR1cm4gW3Jlc3VsdCwgbmV3IEZpeGVkT2Zmc2V0Wm9uZShvZmZzZXQpXTtcbn1cblxuZnVuY3Rpb24gcHJlcHJvY2Vzc1JGQzI4MjIocykge1xuICAvLyBSZW1vdmUgY29tbWVudHMgYW5kIGZvbGRpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjZSBtdWx0aXBsZS1zcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZVxuICByZXR1cm4gc1xuICAgIC5yZXBsYWNlKC9cXChbXigpXSpcXCl8W1xcblxcdF0vZywgXCIgXCIpXG4gICAgLnJlcGxhY2UoLyhcXHNcXHMrKS9nLCBcIiBcIilcbiAgICAudHJpbSgpO1xufVxuXG4vLyBodHRwIGRhdGVcblxuY29uc3QgcmZjMTEyMyA9IC9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksIChcXGRcXGQpIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKFxcZHs0fSkgKFxcZFxcZCk6KFxcZFxcZCk6KFxcZFxcZCkgR01UJC8sXG4gIHJmYzg1MCA9IC9eKE1vbmRheXxUdWVzZGF5fFdlZG5lc2RheXxUaHVyc2RheXxGcmlkYXl8U2F0dXJkYXl8U3VuZGF5KSwgKFxcZFxcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXFxkXFxkKSAoXFxkXFxkKTooXFxkXFxkKTooXFxkXFxkKSBHTVQkLyxcbiAgYXNjaWkgPSAvXihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKCBcXGR8XFxkXFxkKSAoXFxkXFxkKTooXFxkXFxkKTooXFxkXFxkKSAoXFxkezR9KSQvO1xuXG5mdW5jdGlvbiBleHRyYWN0UkZDMTEyM09yODUwKG1hdGNoKSB7XG4gIGNvbnN0IFssIHdlZWtkYXlTdHIsIGRheVN0ciwgbW9udGhTdHIsIHllYXJTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyXSA9IG1hdGNoLFxuICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTtcbiAgcmV0dXJuIFtyZXN1bHQsIEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZV07XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBU0NJSShtYXRjaCkge1xuICBjb25zdCBbLCB3ZWVrZGF5U3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0ciwgeWVhclN0cl0gPSBtYXRjaCxcbiAgICByZXN1bHQgPSBmcm9tU3RyaW5ncyh3ZWVrZGF5U3RyLCB5ZWFyU3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0cik7XG4gIHJldHVybiBbcmVzdWx0LCBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2VdO1xufVxuXG5jb25zdCBpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvWW1kUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7XG5jb25zdCBpc29XZWVrV2l0aFRpbWVFeHRlbnNpb25SZWdleCA9IGNvbWJpbmVSZWdleGVzKGlzb1dlZWtSZWdleCwgaXNvVGltZUV4dGVuc2lvblJlZ2V4KTtcbmNvbnN0IGlzb09yZGluYWxXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvT3JkaW5hbFJlZ2V4LCBpc29UaW1lRXh0ZW5zaW9uUmVnZXgpO1xuY29uc3QgaXNvVGltZUNvbWJpbmVkUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29UaW1lUmVnZXgpO1xuXG5jb25zdCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldCA9IGNvbWJpbmVFeHRyYWN0b3JzKFxuICBleHRyYWN0SVNPWW1kLFxuICBleHRyYWN0SVNPVGltZSxcbiAgZXh0cmFjdElTT09mZnNldCxcbiAgZXh0cmFjdElBTkFab25lXG4pO1xuY29uc3QgZXh0cmFjdElTT1dlZWtUaW1lQW5kT2Zmc2V0ID0gY29tYmluZUV4dHJhY3RvcnMoXG4gIGV4dHJhY3RJU09XZWVrRGF0YSxcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcbmNvbnN0IGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWUgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT09yZGluYWxEYXRhLFxuICBleHRyYWN0SVNPVGltZSxcbiAgZXh0cmFjdElTT09mZnNldCxcbiAgZXh0cmFjdElBTkFab25lXG4pO1xuY29uc3QgZXh0cmFjdElTT1RpbWVBbmRPZmZzZXQgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcblxuLypcbiAqIEBwcml2YXRlXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVNPRGF0ZShzKSB7XG4gIHJldHVybiBwYXJzZShcbiAgICBzLFxuICAgIFtpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldF0sXG4gICAgW2lzb1dlZWtXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPV2Vla1RpbWVBbmRPZmZzZXRdLFxuICAgIFtpc29PcmRpbmFsV2l0aFRpbWVFeHRlbnNpb25SZWdleCwgZXh0cmFjdElTT09yZGluYWxEYXRlQW5kVGltZV0sXG4gICAgW2lzb1RpbWVDb21iaW5lZFJlZ2V4LCBleHRyYWN0SVNPVGltZUFuZE9mZnNldF1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUkZDMjgyMkRhdGUocykge1xuICByZXR1cm4gcGFyc2UocHJlcHJvY2Vzc1JGQzI4MjIocyksIFtyZmMyODIyLCBleHRyYWN0UkZDMjgyMl0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VIVFRQRGF0ZShzKSB7XG4gIHJldHVybiBwYXJzZShcbiAgICBzLFxuICAgIFtyZmMxMTIzLCBleHRyYWN0UkZDMTEyM09yODUwXSxcbiAgICBbcmZjODUwLCBleHRyYWN0UkZDMTEyM09yODUwXSxcbiAgICBbYXNjaWksIGV4dHJhY3RBU0NJSV1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVNPRHVyYXRpb24ocykge1xuICByZXR1cm4gcGFyc2UocywgW2lzb0R1cmF0aW9uLCBleHRyYWN0SVNPRHVyYXRpb25dKTtcbn1cblxuY29uc3QgZXh0cmFjdElTT1RpbWVPbmx5ID0gY29tYmluZUV4dHJhY3RvcnMoZXh0cmFjdElTT1RpbWUpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJU09UaW1lT25seShzKSB7XG4gIHJldHVybiBwYXJzZShzLCBbaXNvVGltZU9ubHksIGV4dHJhY3RJU09UaW1lT25seV0pO1xufVxuXG5jb25zdCBzcWxZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoc3FsWW1kUmVnZXgsIHNxbFRpbWVFeHRlbnNpb25SZWdleCk7XG5jb25zdCBzcWxUaW1lQ29tYmluZWRSZWdleCA9IGNvbWJpbmVSZWdleGVzKHNxbFRpbWVSZWdleCk7XG5cbmNvbnN0IGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmUgPSBjb21iaW5lRXh0cmFjdG9ycyhcbiAgZXh0cmFjdElTT1RpbWUsXG4gIGV4dHJhY3RJU09PZmZzZXQsXG4gIGV4dHJhY3RJQU5BWm9uZVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU1FMKHMpIHtcbiAgcmV0dXJuIHBhcnNlKFxuICAgIHMsXG4gICAgW3NxbFltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09ZbWRUaW1lQW5kT2Zmc2V0XSxcbiAgICBbc3FsVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmVdXG4gICk7XG59XG4iLCAiaW1wb3J0IHsgSW52YWxpZEFyZ3VtZW50RXJyb3IsIEludmFsaWREdXJhdGlvbkVycm9yLCBJbnZhbGlkVW5pdEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgRm9ybWF0dGVyIGZyb20gXCIuL2ltcGwvZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgSW52YWxpZCBmcm9tIFwiLi9pbXBsL2ludmFsaWQuanNcIjtcbmltcG9ydCBMb2NhbGUgZnJvbSBcIi4vaW1wbC9sb2NhbGUuanNcIjtcbmltcG9ydCB7IHBhcnNlSVNPRHVyYXRpb24sIHBhcnNlSVNPVGltZU9ubHkgfSBmcm9tIFwiLi9pbXBsL3JlZ2V4UGFyc2VyLmpzXCI7XG5pbXBvcnQge1xuICBhc051bWJlcixcbiAgaGFzT3duUHJvcGVydHksXG4gIGlzTnVtYmVyLFxuICBpc1VuZGVmaW5lZCxcbiAgbm9ybWFsaXplT2JqZWN0LFxuICByb3VuZFRvLFxufSBmcm9tIFwiLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCBTZXR0aW5ncyBmcm9tIFwiLi9zZXR0aW5ncy5qc1wiO1xuXG5jb25zdCBJTlZBTElEID0gXCJJbnZhbGlkIER1cmF0aW9uXCI7XG5cbi8vIHVuaXQgY29udmVyc2lvbiBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBsb3dPcmRlck1hdHJpeCA9IHtcbiAgICB3ZWVrczoge1xuICAgICAgZGF5czogNyxcbiAgICAgIGhvdXJzOiA3ICogMjQsXG4gICAgICBtaW51dGVzOiA3ICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgIH0sXG4gICAgZGF5czoge1xuICAgICAgaG91cnM6IDI0LFxuICAgICAgbWludXRlczogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDI0ICogNjAgKiA2MCxcbiAgICAgIG1pbGxpc2Vjb25kczogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIGhvdXJzOiB7IG1pbnV0ZXM6IDYwLCBzZWNvbmRzOiA2MCAqIDYwLCBtaWxsaXNlY29uZHM6IDYwICogNjAgKiAxMDAwIH0sXG4gICAgbWludXRlczogeyBzZWNvbmRzOiA2MCwgbWlsbGlzZWNvbmRzOiA2MCAqIDEwMDAgfSxcbiAgICBzZWNvbmRzOiB7IG1pbGxpc2Vjb25kczogMTAwMCB9LFxuICB9LFxuICBjYXN1YWxNYXRyaXggPSB7XG4gICAgeWVhcnM6IHtcbiAgICAgIHF1YXJ0ZXJzOiA0LFxuICAgICAgbW9udGhzOiAxMixcbiAgICAgIHdlZWtzOiA1MixcbiAgICAgIGRheXM6IDM2NSxcbiAgICAgIGhvdXJzOiAzNjUgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDM2NSAqIDI0ICogNjAsXG4gICAgICBzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IDM2NSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBxdWFydGVyczoge1xuICAgICAgbW9udGhzOiAzLFxuICAgICAgd2Vla3M6IDEzLFxuICAgICAgZGF5czogOTEsXG4gICAgICBob3VyczogOTEgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDkxICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDkxICogMjQgKiA2MCAqIDYwLFxuICAgICAgbWlsbGlzZWNvbmRzOiA5MSAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcbiAgICBtb250aHM6IHtcbiAgICAgIHdlZWtzOiA0LFxuICAgICAgZGF5czogMzAsXG4gICAgICBob3VyczogMzAgKiAyNCxcbiAgICAgIG1pbnV0ZXM6IDMwICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IDMwICogMjQgKiA2MCAqIDYwLFxuICAgICAgbWlsbGlzZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDAsXG4gICAgfSxcblxuICAgIC4uLmxvd09yZGVyTWF0cml4LFxuICB9LFxuICBkYXlzSW5ZZWFyQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQwMCxcbiAgZGF5c0luTW9udGhBY2N1cmF0ZSA9IDE0NjA5Ny4wIC8gNDgwMCxcbiAgYWNjdXJhdGVNYXRyaXggPSB7XG4gICAgeWVhcnM6IHtcbiAgICAgIHF1YXJ0ZXJzOiA0LFxuICAgICAgbW9udGhzOiAxMixcbiAgICAgIHdlZWtzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA3LFxuICAgICAgZGF5czogZGF5c0luWWVhckFjY3VyYXRlLFxuICAgICAgaG91cnM6IGRheXNJblllYXJBY2N1cmF0ZSAqIDI0LFxuICAgICAgbWludXRlczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjAgKiA2MCxcbiAgICAgIG1pbGxpc2Vjb25kczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCxcbiAgICB9LFxuICAgIHF1YXJ0ZXJzOiB7XG4gICAgICBtb250aHM6IDMsXG4gICAgICB3ZWVrczogZGF5c0luWWVhckFjY3VyYXRlIC8gMjgsXG4gICAgICBkYXlzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA0LFxuICAgICAgaG91cnM6IChkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCkgLyA0LFxuICAgICAgbWludXRlczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjApIC8gNCxcbiAgICAgIHNlY29uZHM6IChkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjApIC8gNCxcbiAgICAgIG1pbGxpc2Vjb25kczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjAgKiA2MCAqIDEwMDApIC8gNCxcbiAgICB9LFxuICAgIG1vbnRoczoge1xuICAgICAgd2Vla3M6IGRheXNJbk1vbnRoQWNjdXJhdGUgLyA3LFxuICAgICAgZGF5czogZGF5c0luTW9udGhBY2N1cmF0ZSxcbiAgICAgIGhvdXJzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQsXG4gICAgICBtaW51dGVzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQgKiA2MCxcbiAgICAgIHNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsXG4gICAgICBtaWxsaXNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAgKiAxMDAwLFxuICAgIH0sXG4gICAgLi4ubG93T3JkZXJNYXRyaXgsXG4gIH07XG5cbi8vIHVuaXRzIG9yZGVyZWQgYnkgc2l6ZVxuY29uc3Qgb3JkZXJlZFVuaXRzID0gW1xuICBcInllYXJzXCIsXG4gIFwicXVhcnRlcnNcIixcbiAgXCJtb250aHNcIixcbiAgXCJ3ZWVrc1wiLFxuICBcImRheXNcIixcbiAgXCJob3Vyc1wiLFxuICBcIm1pbnV0ZXNcIixcbiAgXCJzZWNvbmRzXCIsXG4gIFwibWlsbGlzZWNvbmRzXCIsXG5dO1xuXG5jb25zdCByZXZlcnNlVW5pdHMgPSBvcmRlcmVkVW5pdHMuc2xpY2UoMCkucmV2ZXJzZSgpO1xuXG4vLyBjbG9uZSByZWFsbHkgbWVhbnMgXCJjcmVhdGUgYW5vdGhlciBpbnN0YW5jZSBqdXN0IGxpa2UgdGhpcyBvbmUsIGJ1dCB3aXRoIHRoZXNlIGNoYW5nZXNcIlxuZnVuY3Rpb24gY2xvbmUoZHVyLCBhbHRzLCBjbGVhciA9IGZhbHNlKSB7XG4gIC8vIGRlZXAgbWVyZ2UgZm9yIHZhbHNcbiAgY29uc3QgY29uZiA9IHtcbiAgICB2YWx1ZXM6IGNsZWFyID8gYWx0cy52YWx1ZXMgOiB7IC4uLmR1ci52YWx1ZXMsIC4uLihhbHRzLnZhbHVlcyB8fCB7fSkgfSxcbiAgICBsb2M6IGR1ci5sb2MuY2xvbmUoYWx0cy5sb2MpLFxuICAgIGNvbnZlcnNpb25BY2N1cmFjeTogYWx0cy5jb252ZXJzaW9uQWNjdXJhY3kgfHwgZHVyLmNvbnZlcnNpb25BY2N1cmFjeSxcbiAgfTtcbiAgcmV0dXJuIG5ldyBEdXJhdGlvbihjb25mKTtcbn1cblxuZnVuY3Rpb24gYW50aVRydW5jKG4pIHtcbiAgcmV0dXJuIG4gPCAwID8gTWF0aC5mbG9vcihuKSA6IE1hdGguY2VpbChuKTtcbn1cblxuLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVyc1xuZnVuY3Rpb24gY29udmVydChtYXRyaXgsIGZyb21NYXAsIGZyb21Vbml0LCB0b01hcCwgdG9Vbml0KSB7XG4gIGNvbnN0IGNvbnYgPSBtYXRyaXhbdG9Vbml0XVtmcm9tVW5pdF0sXG4gICAgcmF3ID0gZnJvbU1hcFtmcm9tVW5pdF0gLyBjb252LFxuICAgIHNhbWVTaWduID0gTWF0aC5zaWduKHJhdykgPT09IE1hdGguc2lnbih0b01hcFt0b1VuaXRdKSxcbiAgICAvLyBvaywgc28gdGhpcyBpcyB3aWxkLCBidXQgc2VlIHRoZSBtYXRyaXggaW4gdGhlIHRlc3RzXG4gICAgYWRkZWQgPVxuICAgICAgIXNhbWVTaWduICYmIHRvTWFwW3RvVW5pdF0gIT09IDAgJiYgTWF0aC5hYnMocmF3KSA8PSAxID8gYW50aVRydW5jKHJhdykgOiBNYXRoLnRydW5jKHJhdyk7XG4gIHRvTWFwW3RvVW5pdF0gKz0gYWRkZWQ7XG4gIGZyb21NYXBbZnJvbVVuaXRdIC09IGFkZGVkICogY29udjtcbn1cblxuLy8gTkI6IG11dGF0ZXMgcGFyYW1ldGVyc1xuZnVuY3Rpb24gbm9ybWFsaXplVmFsdWVzKG1hdHJpeCwgdmFscykge1xuICByZXZlcnNlVW5pdHMucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgIGlmICghaXNVbmRlZmluZWQodmFsc1tjdXJyZW50XSkpIHtcbiAgICAgIGlmIChwcmV2aW91cykge1xuICAgICAgICBjb252ZXJ0KG1hdHJpeCwgdmFscywgcHJldmlvdXMsIHZhbHMsIGN1cnJlbnQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICB9XG4gIH0sIG51bGwpO1xufVxuXG4vKipcbiAqIEEgRHVyYXRpb24gb2JqZWN0IHJlcHJlc2VudHMgYSBwZXJpb2Qgb2YgdGltZSwgbGlrZSBcIjIgbW9udGhzXCIgb3IgXCIxIGRheSwgMSBob3VyXCIuIENvbmNlcHR1YWxseSwgaXQncyBqdXN0IGEgbWFwIG9mIHVuaXRzIHRvIHRoZWlyIHF1YW50aXRpZXMsIGFjY29tcGFuaWVkIGJ5IHNvbWUgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGFuZCBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLiBUaGV5IGNhbiBiZSB1c2VkIG9uIHRoZWlyIG93biBvciBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyIEx1eG9uIHR5cGVzOyBmb3IgZXhhbXBsZSwgeW91IGNhbiB1c2Uge0BsaW5rIERhdGVUaW1lI3BsdXN9IHRvIGFkZCBhIER1cmF0aW9uIG9iamVjdCB0byBhIERhdGVUaW1lLCBwcm9kdWNpbmcgYW5vdGhlciBEYXRlVGltZS5cbiAqXG4gKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgY29tbW9ubHkgdXNlZCBtZXRob2RzIGFuZCBnZXR0ZXJzIGluIER1cmF0aW9uOlxuICpcbiAqICogKipDcmVhdGlvbioqIFRvIGNyZWF0ZSBhIER1cmF0aW9uLCB1c2Uge0BsaW5rIER1cmF0aW9uI2Zyb21NaWxsaXN9LCB7QGxpbmsgRHVyYXRpb24jZnJvbU9iamVjdH0sIG9yIHtAbGluayBEdXJhdGlvbiNmcm9tSVNPfS5cbiAqICogKipVbml0IHZhbHVlcyoqIFNlZSB0aGUge0BsaW5rIER1cmF0aW9uI3llYXJzfSwge0BsaW5rIER1cmF0aW9uI21vbnRoc30sIHtAbGluayBEdXJhdGlvbiN3ZWVrc30sIHtAbGluayBEdXJhdGlvbiNkYXlzfSwge0BsaW5rIER1cmF0aW9uI2hvdXJzfSwge0BsaW5rIER1cmF0aW9uI21pbnV0ZXN9LCB7QGxpbmsgRHVyYXRpb24jc2Vjb25kc30sIHtAbGluayBEdXJhdGlvbiNtaWxsaXNlY29uZHN9IGFjY2Vzc29ycy5cbiAqICogKipDb25maWd1cmF0aW9uKiogU2VlICB7QGxpbmsgRHVyYXRpb24jbG9jYWxlfSBhbmQge0BsaW5rIER1cmF0aW9uI251bWJlcmluZ1N5c3RlbX0gYWNjZXNzb3JzLlxuICogKiAqKlRyYW5zZm9ybWF0aW9uKiogVG8gY3JlYXRlIG5ldyBEdXJhdGlvbnMgb3V0IG9mIG9sZCBvbmVzIHVzZSB7QGxpbmsgRHVyYXRpb24jcGx1c30sIHtAbGluayBEdXJhdGlvbiNtaW51c30sIHtAbGluayBEdXJhdGlvbiNub3JtYWxpemV9LCB7QGxpbmsgRHVyYXRpb24jc2V0fSwge0BsaW5rIER1cmF0aW9uI3JlY29uZmlndXJlfSwge0BsaW5rIER1cmF0aW9uI3NoaWZ0VG99LCBhbmQge0BsaW5rIER1cmF0aW9uI25lZ2F0ZX0uXG4gKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgRHVyYXRpb24gaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgRHVyYXRpb24jYXN9LCB7QGxpbmsgRHVyYXRpb24jdG9JU099LCB7QGxpbmsgRHVyYXRpb24jdG9Gb3JtYXR9LCBhbmQge0BsaW5rIER1cmF0aW9uI3RvSlNPTn1cbiAqXG4gKiBUaGVyZSdzIGFyZSBtb3JlIG1ldGhvZHMgZG9jdW1lbnRlZCBiZWxvdy4gSW4gYWRkaXRpb24sIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHN1YnRsZXIgdG9waWNzIGxpa2UgaW50ZXJuYXRpb25hbGl6YXRpb24gYW5kIHZhbGlkaXR5LCBzZWUgdGhlIGV4dGVybmFsIGRvY3VtZW50YXRpb24uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIER1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBjb25zdCBhY2N1cmF0ZSA9IGNvbmZpZy5jb252ZXJzaW9uQWNjdXJhY3kgPT09IFwibG9uZ3Rlcm1cIiB8fCBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnZhbHVlcyA9IGNvbmZpZy52YWx1ZXM7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5sb2MgPSBjb25maWcubG9jIHx8IExvY2FsZS5jcmVhdGUoKTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmNvbnZlcnNpb25BY2N1cmFjeSA9IGFjY3VyYXRlID8gXCJsb25ndGVybVwiIDogXCJjYXN1YWxcIjtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMubWF0cml4ID0gYWNjdXJhdGUgPyBhY2N1cmF0ZU1hdHJpeCA6IGNhc3VhbE1hdHJpeDtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmlzTHV4b25EdXJhdGlvbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIER1cmF0aW9uIGZyb20gYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQgb2YgbWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tTWlsbGlzKGNvdW50LCBvcHRzKSB7XG4gICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaWxsaXNlY29uZHM6IGNvdW50IH0sIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIER1cmF0aW9uIGZyb20gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIGtleXMgbGlrZSAneWVhcnMnIGFuZCAnaG91cnMnLlxuICAgKiBJZiB0aGlzIG9iamVjdCBpcyBlbXB0eSB0aGVuIGEgemVybyBtaWxsaXNlY29uZHMgZHVyYXRpb24gaXMgcmV0dXJuZWQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSB0aGUgb2JqZWN0IHRvIGNyZWF0ZSB0aGUgRGF0ZVRpbWUgZnJvbVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLnllYXJzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoucXVhcnRlcnNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5tb250aHNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai53ZWVrc1xuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLmRheXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3Vyc1xuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbnV0ZXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmRzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubWlsbGlzZWNvbmRzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0cz1bXV0gLSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGlzIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSB0aGUgbG9jYWxlIHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmNvbnZlcnNpb25BY2N1cmFjeT0nY2FzdWFsJ10gLSB0aGUgY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGZyb21PYmplY3Qob2JqLCBvcHRzID0ge30pIHtcbiAgICBpZiAob2JqID09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgRHVyYXRpb24uZnJvbU9iamVjdDogYXJndW1lbnQgZXhwZWN0ZWQgdG8gYmUgYW4gb2JqZWN0LCBnb3QgJHtcbiAgICAgICAgICBvYmogPT09IG51bGwgPyBcIm51bGxcIiA6IHR5cGVvZiBvYmpcbiAgICAgICAgfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEdXJhdGlvbih7XG4gICAgICB2YWx1ZXM6IG5vcm1hbGl6ZU9iamVjdChvYmosIER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpLFxuICAgICAgbG9jOiBMb2NhbGUuZnJvbU9iamVjdChvcHRzKSxcbiAgICAgIGNvbnZlcnNpb25BY2N1cmFjeTogb3B0cy5jb252ZXJzaW9uQWNjdXJhY3ksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBEdXJhdGlvbkxpa2UuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0IHwgbnVtYmVyIHwgRHVyYXRpb259IGR1cmF0aW9uTGlrZVxuICAgKiBPbmUgb2Y6XG4gICAqIC0gb2JqZWN0IHdpdGgga2V5cyBsaWtlICd5ZWFycycgYW5kICdob3VycycuXG4gICAqIC0gbnVtYmVyIHJlcHJlc2VudGluZyBtaWxsaXNlY29uZHNcbiAgICogLSBEdXJhdGlvbiBpbnN0YW5jZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uTGlrZSkge1xuICAgIGlmIChpc051bWJlcihkdXJhdGlvbkxpa2UpKSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhkdXJhdGlvbkxpa2UpO1xuICAgIH0gZWxzZSBpZiAoRHVyYXRpb24uaXNEdXJhdGlvbihkdXJhdGlvbkxpa2UpKSB7XG4gICAgICByZXR1cm4gZHVyYXRpb25MaWtlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGR1cmF0aW9uTGlrZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIER1cmF0aW9uLmZyb21PYmplY3QoZHVyYXRpb25MaWtlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgVW5rbm93biBkdXJhdGlvbiBhcmd1bWVudCAke2R1cmF0aW9uTGlrZX0gb2YgdHlwZSAke3R5cGVvZiBkdXJhdGlvbkxpa2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSBkdXJhdGlvbiBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBwYXJzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIHBhcnNpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2VcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDNZNk0xVzREVDEySDMwTTVTJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDMsIG1vbnRoczogNiwgd2Vla3M6IDEsIGRheXM6IDQsIGhvdXJzOiAxMiwgbWludXRlczogMzAsIHNlY29uZHM6IDUgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPKCdQVDIzSCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAyMyB9XG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21JU08oJ1A1WTNNJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDUsIG1vbnRoczogMyB9XG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGZyb21JU08odGV4dCwgb3B0cykge1xuICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09EdXJhdGlvbih0ZXh0KTtcbiAgICBpZiAocGFyc2VkKSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdChwYXJzZWQsIG9wdHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRHVyYXRpb24uaW52YWxpZChcInVucGFyc2FibGVcIiwgYHRoZSBpbnB1dCBcIiR7dGV4dH1cIiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSB0aW1lIHN0cmluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0ZXh0IHRvIHBhcnNlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVzXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21JU09UaW1lKCcxMToyMjozMy40NDQnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDIyLCBzZWNvbmRzOiAzMywgbWlsbGlzZWNvbmRzOiA0NDQgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTE6MDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExOjAwJykudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IDExLCBtaW51dGVzOiAwLCBzZWNvbmRzOiAwIH1cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJzExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tSVNPVGltZSh0ZXh0LCBvcHRzKSB7XG4gICAgY29uc3QgW3BhcnNlZF0gPSBwYXJzZUlTT1RpbWVPbmx5KHRleHQpO1xuICAgIGlmIChwYXJzZWQpIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKFwidW5wYXJzYWJsZVwiLCBgdGhlIGlucHV0IFwiJHt0ZXh0fVwiIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW52YWxpZCBEdXJhdGlvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIHNpbXBsZSBzdHJpbmcgb2Ygd2h5IHRoaXMgZGF0ZXRpbWUgaXMgaW52YWxpZC4gU2hvdWxkIG5vdCBjb250YWluIHBhcmFtZXRlcnMgb3IgYW55dGhpbmcgZWxzZSBkYXRhLWRlcGVuZGVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBEdXJhdGlvbiBpcyBpbnZhbGlkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7XG5cbiAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRHVyYXRpb25FcnJvcihpbnZhbGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBEdXJhdGlvbih7IGludmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplVW5pdCh1bml0KSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHtcbiAgICAgIHllYXI6IFwieWVhcnNcIixcbiAgICAgIHllYXJzOiBcInllYXJzXCIsXG4gICAgICBxdWFydGVyOiBcInF1YXJ0ZXJzXCIsXG4gICAgICBxdWFydGVyczogXCJxdWFydGVyc1wiLFxuICAgICAgbW9udGg6IFwibW9udGhzXCIsXG4gICAgICBtb250aHM6IFwibW9udGhzXCIsXG4gICAgICB3ZWVrOiBcIndlZWtzXCIsXG4gICAgICB3ZWVrczogXCJ3ZWVrc1wiLFxuICAgICAgZGF5OiBcImRheXNcIixcbiAgICAgIGRheXM6IFwiZGF5c1wiLFxuICAgICAgaG91cjogXCJob3Vyc1wiLFxuICAgICAgaG91cnM6IFwiaG91cnNcIixcbiAgICAgIG1pbnV0ZTogXCJtaW51dGVzXCIsXG4gICAgICBtaW51dGVzOiBcIm1pbnV0ZXNcIixcbiAgICAgIHNlY29uZDogXCJzZWNvbmRzXCIsXG4gICAgICBzZWNvbmRzOiBcInNlY29uZHNcIixcbiAgICAgIG1pbGxpc2Vjb25kOiBcIm1pbGxpc2Vjb25kc1wiLFxuICAgICAgbWlsbGlzZWNvbmRzOiBcIm1pbGxpc2Vjb25kc1wiLFxuICAgIH1bdW5pdCA/IHVuaXQudG9Mb3dlckNhc2UoKSA6IHVuaXRdO1xuXG4gICAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTtcblxuICAgIHJldHVybiBub3JtYWxpemVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhIER1cmF0aW9uLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNEdXJhdGlvbihvKSB7XG4gICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkR1cmF0aW9uKSB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgIHRoZSBsb2NhbGUgb2YgYSBEdXJhdGlvbiwgc3VjaCAnZW4tR0InXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyaW5nIHN5c3RlbSBvZiBhIER1cmF0aW9uLCBzdWNoICdiZW5nJy4gVGhlIG51bWJlcmluZyBzeXN0ZW0gaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIER1cmF0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy4gWW91IG1heSB1c2UgdGhlc2UgdG9rZW5zOlxuICAgKiAqIGBTYCBmb3IgbWlsbGlzZWNvbmRzXG4gICAqICogYHNgIGZvciBzZWNvbmRzXG4gICAqICogYG1gIGZvciBtaW51dGVzXG4gICAqICogYGhgIGZvciBob3Vyc1xuICAgKiAqIGBkYCBmb3IgZGF5c1xuICAgKiAqIGB3YCBmb3Igd2Vla3NcbiAgICogKiBgTWAgZm9yIG1vbnRoc1xuICAgKiAqIGB5YCBmb3IgeWVhcnNcbiAgICogTm90ZXM6XG4gICAqICogQWRkIHBhZGRpbmcgYnkgcmVwZWF0aW5nIHRoZSB0b2tlbiwgZS5nLiBcInl5XCIgcGFkcyB0aGUgeWVhcnMgdG8gdHdvIGRpZ2l0cywgXCJoaGhoXCIgcGFkcyB0aGUgaG91cnMgb3V0IHRvIGZvdXIgZGlnaXRzXG4gICAqICogVG9rZW5zIGNhbiBiZSBlc2NhcGVkIGJ5IHdyYXBwaW5nIHdpdGggc2luZ2xlIHF1b3Rlcy5cbiAgICogKiBUaGUgZHVyYXRpb24gd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhlIHNldCBvZiB1bml0cyBpbiB0aGUgZm9ybWF0IHN0cmluZyB1c2luZyB7QGxpbmsgRHVyYXRpb24jc2hpZnRUb30gYW5kIHRoZSBEdXJhdGlvbnMncyBjb252ZXJzaW9uIGFjY3VyYWN5IHNldHRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5mbG9vcj10cnVlXSAtIGZsb29yIG51bWVyaWNhbCB2YWx1ZXNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KFwieSBkIHNcIikgLy89PiBcIjEgNiAyXCJcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KFwieXkgZGQgc3NzXCIpIC8vPT4gXCIwMSAwNiAwMDJcIlxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfSkudG9Gb3JtYXQoXCJNIFNcIikgLy89PiBcIjEyIDUxODQwMjAwMFwiXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvRm9ybWF0KGZtdCwgb3B0cyA9IHt9KSB7XG4gICAgLy8gcmV2ZXJzZS1jb21wYXQgc2luY2UgMS4yOyB3ZSBhbHdheXMgcm91bmQgZG93biBub3csIG5ldmVyIHVwLCBhbmQgd2UgZG8gaXQgYnkgZGVmYXVsdFxuICAgIGNvbnN0IGZtdE9wdHMgPSB7XG4gICAgICAuLi5vcHRzLFxuICAgICAgZmxvb3I6IG9wdHMucm91bmQgIT09IGZhbHNlICYmIG9wdHMuZmxvb3IgIT09IGZhbHNlLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLCBmbXRPcHRzKS5mb3JtYXREdXJhdGlvbkZyb21TdHJpbmcodGhpcywgZm10KVxuICAgICAgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBEdXJhdGlvbiB3aXRoIGFsbCB1bml0cyBpbmNsdWRlZC5cbiAgICogVG8gbW9kaWZ5IGl0cyBiZWhhdmlvciB1c2UgdGhlIGBsaXN0U3R5bGVgIGFuZCBhbnkgSW50bC5OdW1iZXJGb3JtYXQgb3B0aW9uLCB0aG91Z2ggYHVuaXREaXNwbGF5YCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50LlxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTnVtYmVyRm9ybWF0XG4gICAqIEBwYXJhbSBvcHRzIC0gT24gb3B0aW9uIG9iamVjdCB0byBvdmVycmlkZSB0aGUgZm9ybWF0dGluZy4gQWNjZXB0cyB0aGUgc2FtZSBrZXlzIGFzIHRoZSBvcHRpb25zIHBhcmFtZXRlciBvZiB0aGUgbmF0aXZlIGBJbnQuTnVtYmVyRm9ybWF0YCBjb25zdHJ1Y3RvciwgYXMgd2VsbCBhcyBgbGlzdFN0eWxlYC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICogdmFyIGR1ciA9IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxLCBob3VyczogNSwgbWludXRlczogNiB9KVxuICAgKiBkdXIudG9IdW1hbigpIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCA2IG1pbnV0ZXMnXG4gICAqIGR1ci50b0h1bWFuKHsgbGlzdFN0eWxlOiBcImxvbmdcIiB9KSAvLz0+ICcxIGRheSwgNSBob3VycywgYW5kIDYgbWludXRlcydcbiAgICogZHVyLnRvSHVtYW4oeyB1bml0RGlzcGxheTogXCJzaG9ydFwiIH0pIC8vPT4gJzEgZGF5LCA1IGhyLCA2IG1pbidcbiAgICogYGBgXG4gICAqL1xuICB0b0h1bWFuKG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IGwgPSBvcmRlcmVkVW5pdHNcbiAgICAgIC5tYXAoKHVuaXQpID0+IHtcbiAgICAgICAgY29uc3QgdmFsID0gdGhpcy52YWx1ZXNbdW5pdF07XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZCh2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubG9jXG4gICAgICAgICAgLm51bWJlckZvcm1hdHRlcih7IHN0eWxlOiBcInVuaXRcIiwgdW5pdERpc3BsYXk6IFwibG9uZ1wiLCAuLi5vcHRzLCB1bml0OiB1bml0LnNsaWNlKDAsIC0xKSB9KVxuICAgICAgICAgIC5mb3JtYXQodmFsKTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChuKSA9PiBuKTtcblxuICAgIHJldHVybiB0aGlzLmxvY1xuICAgICAgLmxpc3RGb3JtYXR0ZXIoeyB0eXBlOiBcImNvbmp1bmN0aW9uXCIsIHN0eWxlOiBvcHRzLmxpc3RTdHlsZSB8fCBcIm5hcnJvd1wiLCAuLi5vcHRzIH0pXG4gICAgICAuZm9ybWF0KGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHRoaXMgRHVyYXRpb24ncyB2YWx1ZXMuXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSwgZGF5czogNiwgc2Vjb25kczogMiB9KS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMSwgZGF5czogNiwgc2Vjb25kczogMiB9XG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHRvT2JqZWN0KCkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4ge307XG4gICAgcmV0dXJuIHsgLi4udGhpcy52YWx1ZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbi5cbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnNcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAzLCBzZWNvbmRzOiA0NSB9KS50b0lTTygpIC8vPT4gJ1AzWVQ0NVMnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDQsIHNlY29uZHM6IDQ1IH0pLnRvSVNPKCkgLy89PiAnUDRNVDQ1UydcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogNSB9KS50b0lTTygpIC8vPT4gJ1A1TSdcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDUgfSkudG9JU08oKSAvLz0+ICdQVDVNJ1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWlsbGlzZWNvbmRzOiA2IH0pLnRvSVNPKCkgLy89PiAnUFQwLjAwNlMnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKCkge1xuICAgIC8vIHdlIGNvdWxkIHVzZSB0aGUgZm9ybWF0dGVyLCBidXQgdGhpcyBpcyBhbiBlYXNpZXIgd2F5IHRvIGdldCB0aGUgbWluaW11bSBzdHJpbmdcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICBsZXQgcyA9IFwiUFwiO1xuICAgIGlmICh0aGlzLnllYXJzICE9PSAwKSBzICs9IHRoaXMueWVhcnMgKyBcIllcIjtcbiAgICBpZiAodGhpcy5tb250aHMgIT09IDAgfHwgdGhpcy5xdWFydGVycyAhPT0gMCkgcyArPSB0aGlzLm1vbnRocyArIHRoaXMucXVhcnRlcnMgKiAzICsgXCJNXCI7XG4gICAgaWYgKHRoaXMud2Vla3MgIT09IDApIHMgKz0gdGhpcy53ZWVrcyArIFwiV1wiO1xuICAgIGlmICh0aGlzLmRheXMgIT09IDApIHMgKz0gdGhpcy5kYXlzICsgXCJEXCI7XG4gICAgaWYgKHRoaXMuaG91cnMgIT09IDAgfHwgdGhpcy5taW51dGVzICE9PSAwIHx8IHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMClcbiAgICAgIHMgKz0gXCJUXCI7XG4gICAgaWYgKHRoaXMuaG91cnMgIT09IDApIHMgKz0gdGhpcy5ob3VycyArIFwiSFwiO1xuICAgIGlmICh0aGlzLm1pbnV0ZXMgIT09IDApIHMgKz0gdGhpcy5taW51dGVzICsgXCJNXCI7XG4gICAgaWYgKHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMClcbiAgICAgIC8vIHRoaXMgd2lsbCBoYW5kbGUgXCJmbG9hdGluZyBwb2ludCBtYWRuZXNzXCIgYnkgcmVtb3ZpbmcgZXh0cmEgZGVjaW1hbCBwbGFjZXNcbiAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzU4ODAwNC9pcy1mbG9hdGluZy1wb2ludC1tYXRoLWJyb2tlblxuICAgICAgcyArPSByb3VuZFRvKHRoaXMuc2Vjb25kcyArIHRoaXMubWlsbGlzZWNvbmRzIC8gMTAwMCwgMykgKyBcIlNcIjtcbiAgICBpZiAocyA9PT0gXCJQXCIpIHMgKz0gXCJUMFNcIjtcbiAgICByZXR1cm4gcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiwgZm9ybWF0dGVkIGFzIGEgdGltZSBvZiBkYXkuXG4gICAqIE5vdGUgdGhhdCB0aGlzIHdpbGwgcmV0dXJuIG51bGwgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQsIG5lZ2F0aXZlLCBvciBlcXVhbCB0byBvciBncmVhdGVyIHRoYW4gMjQgaG91cnMuXG4gICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZXNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NNaWxsaXNlY29uZHM9ZmFsc2VdIC0gZXhjbHVkZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzU2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIHNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVQcmVmaXg9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgYFRgIHByZWZpeFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXRcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoKSAvLz0+ICcxMTowMDowMC4wMDAnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NNaWxsaXNlY29uZHM6IHRydWUgfSkgLy89PiAnMTE6MDA6MDAnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NTZWNvbmRzOiB0cnVlIH0pIC8vPT4gJzExOjAwJ1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSh7IGluY2x1ZGVQcmVmaXg6IHRydWUgfSkgLy89PiAnVDExOjAwOjAwLjAwMCdcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoeyBmb3JtYXQ6ICdiYXNpYycgfSkgLy89PiAnMTEwMDAwLjAwMCdcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9JU09UaW1lKG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IG1pbGxpcyA9IHRoaXMudG9NaWxsaXMoKTtcbiAgICBpZiAobWlsbGlzIDwgMCB8fCBtaWxsaXMgPj0gODY0MDAwMDApIHJldHVybiBudWxsO1xuXG4gICAgb3B0cyA9IHtcbiAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzOiBmYWxzZSxcbiAgICAgIHN1cHByZXNzU2Vjb25kczogZmFsc2UsXG4gICAgICBpbmNsdWRlUHJlZml4OiBmYWxzZSxcbiAgICAgIGZvcm1hdDogXCJleHRlbmRlZFwiLFxuICAgICAgLi4ub3B0cyxcbiAgICB9O1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnNoaWZ0VG8oXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCIsIFwibWlsbGlzZWNvbmRzXCIpO1xuXG4gICAgbGV0IGZtdCA9IG9wdHMuZm9ybWF0ID09PSBcImJhc2ljXCIgPyBcImhobW1cIiA6IFwiaGg6bW1cIjtcblxuICAgIGlmICghb3B0cy5zdXBwcmVzc1NlY29uZHMgfHwgdmFsdWUuc2Vjb25kcyAhPT0gMCB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHtcbiAgICAgIGZtdCArPSBvcHRzLmZvcm1hdCA9PT0gXCJiYXNpY1wiID8gXCJzc1wiIDogXCI6c3NcIjtcbiAgICAgIGlmICghb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcyB8fCB2YWx1ZS5taWxsaXNlY29uZHMgIT09IDApIHtcbiAgICAgICAgZm10ICs9IFwiLlNTU1wiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBzdHIgPSB2YWx1ZS50b0Zvcm1hdChmbXQpO1xuXG4gICAgaWYgKG9wdHMuaW5jbHVkZVByZWZpeCkge1xuICAgICAgc3RyID0gXCJUXCIgKyBzdHI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHVyYXRpb24gYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBkZWJ1Z2dpbmcuXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnRvSVNPKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgdG9NaWxsaXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXMoXCJtaWxsaXNlY29uZHNcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBtaWxsaXNlY29uZHMgdmFsdWUgb2YgdGhpcyBEdXJhdGlvbi4gQWxpYXMgb2Yge0BsaW5rIHRvTWlsbGlzfVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB2YWx1ZU9mKCkge1xuICAgIHJldHVybiB0aGlzLnRvTWlsbGlzKCk7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSB0aGlzIER1cmF0aW9uIGxvbmdlciBieSB0aGUgc3BlY2lmaWVkIGFtb3VudC4gUmV0dXJuIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KClcbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBwbHVzKGR1cmF0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksXG4gICAgICByZXN1bHQgPSB7fTtcblxuICAgIGZvciAoY29uc3QgayBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eShkdXIudmFsdWVzLCBrKSB8fCBoYXNPd25Qcm9wZXJ0eSh0aGlzLnZhbHVlcywgaykpIHtcbiAgICAgICAgcmVzdWx0W2tdID0gZHVyLmdldChrKSArIHRoaXMuZ2V0KGspO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgdGhpcyBEdXJhdGlvbiBzaG9ydGVyIGJ5IHRoZSBzcGVjaWZpZWQgYW1vdW50LiBSZXR1cm4gYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi5cbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpXG4gICAqIEByZXR1cm4ge0R1cmF0aW9ufVxuICAgKi9cbiAgbWludXMoZHVyYXRpb24pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcbiAgICByZXR1cm4gdGhpcy5wbHVzKGR1ci5uZWdhdGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGUgdGhpcyBEdXJhdGlvbiBieSB0aGUgc3BlY2lmaWVkIGFtb3VudC4gUmV0dXJuIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggdW5pdC4gQXJpdHkgaXMgMSBvciAyOiB0aGUgdmFsdWUgb2YgdGhlIHVuaXQgYW5kLCBvcHRpb25hbGx5LCB0aGUgdW5pdCBuYW1lLiBNdXN0IHJldHVybiBhIG51bWJlci5cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cyh4ID0+IHggKiAyKSAvLz0+IHsgaG91cnM6IDIsIG1pbnV0ZXM6IDYwIH1cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBtaW51dGVzOiAzMCB9KS5tYXBVbml0cygoeCwgdSkgPT4gdSA9PT0gXCJob3VyXCIgPyB4ICogMiA6IHgpIC8vPT4geyBob3VyczogMiwgbWludXRlczogMzAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIG1hcFVuaXRzKGZuKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHtcbiAgICAgIHJlc3VsdFtrXSA9IGFzTnVtYmVyKGZuKHRoaXMudmFsdWVzW2tdLCBrKSk7XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmFsdWUgb2YgdW5pdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlJyBvciAnZGF5J1xuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgneWVhcnMnKSAvLz0+IDJcbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7eWVhcnM6IDIsIGRheXM6IDN9KS5nZXQoJ21vbnRocycpIC8vPT4gMFxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgnZGF5cycpIC8vPT4gM1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQodW5pdCkge1xuICAgIHJldHVybiB0aGlzW0R1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodW5pdCldO1xuICB9XG5cbiAgLyoqXG4gICAqIFwiU2V0XCIgdGhlIHZhbHVlcyBvZiBzcGVjaWZpZWQgdW5pdHMuIFJldHVybiBhIG5ld2x5LWNvbnN0cnVjdGVkIER1cmF0aW9uLlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gYSBtYXBwaW5nIG9mIHVuaXRzIHRvIG51bWJlcnNcbiAgICogQGV4YW1wbGUgZHVyLnNldCh7IHllYXJzOiAyMDE3IH0pXG4gICAqIEBleGFtcGxlIGR1ci5zZXQoeyBob3VyczogOCwgbWludXRlczogMzAgfSlcbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBzZXQodmFsdWVzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgbWl4ZWQgPSB7IC4uLnRoaXMudmFsdWVzLCAuLi5ub3JtYWxpemVPYmplY3QodmFsdWVzLCBEdXJhdGlvbi5ub3JtYWxpemVVbml0KSB9O1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogbWl4ZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgbG9jYWxlIGFuZC9vciBudW1iZXJpbmdTeXN0ZW0uICBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRHVyYXRpb24uXG4gICAqIEBleGFtcGxlIGR1ci5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIGNvbnZlcnNpb25BY2N1cmFjeSB9ID0ge30pIHtcbiAgICBjb25zdCBsb2MgPSB0aGlzLmxvYy5jbG9uZSh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtIH0pLFxuICAgICAgb3B0cyA9IHsgbG9jIH07XG5cbiAgICBpZiAoY29udmVyc2lvbkFjY3VyYWN5KSB7XG4gICAgICBvcHRzLmNvbnZlcnNpb25BY2N1cmFjeSA9IGNvbnZlcnNpb25BY2N1cmFjeTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xvbmUodGhpcywgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIGR1cmF0aW9uIGluIHRoZSBzcGVjaWZpZWQgdW5pdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlcycgb3IgJ2RheXMnXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe3llYXJzOiAxfSkuYXMoJ2RheXMnKSAvLz0+IDM2NVxuICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMX0pLmFzKCdtb250aHMnKSAvLz0+IDEyXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3Qoe2hvdXJzOiA2MH0pLmFzKCdkYXlzJykgLy89PiAyLjVcbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgYXModW5pdCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnNoaWZ0VG8odW5pdCkuZ2V0KHVuaXQpIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZHVjZSB0aGlzIER1cmF0aW9uIHRvIGl0cyBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gaW4gaXRzIGN1cnJlbnQgdW5pdHMuXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMiwgZGF5czogNTAwMCB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMTUsIGRheXM6IDI1NSB9XG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTIsIG1pbnV0ZXM6IC00NSB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDE1IH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBub3JtYWxpemUoKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IHZhbHMgPSB0aGlzLnRvT2JqZWN0KCk7XG4gICAgbm9ybWFsaXplVmFsdWVzKHRoaXMubWF0cml4LCB2YWxzKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgeyB2YWx1ZXM6IHZhbHMgfSwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGlzIER1cmF0aW9uIGludG8gaXRzIHJlcHJlc2VudGF0aW9uIGluIGEgZGlmZmVyZW50IHNldCBvZiB1bml0cy5cbiAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBzZWNvbmRzOiAzMCB9KS5zaGlmdFRvKCdtaW51dGVzJywgJ21pbGxpc2Vjb25kcycpLnRvT2JqZWN0KCkgLy89PiB7IG1pbnV0ZXM6IDYwLCBtaWxsaXNlY29uZHM6IDMwMDAwIH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICBzaGlmdFRvKC4uLnVuaXRzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHVuaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdW5pdHMgPSB1bml0cy5tYXAoKHUpID0+IER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodSkpO1xuXG4gICAgY29uc3QgYnVpbHQgPSB7fSxcbiAgICAgIGFjY3VtdWxhdGVkID0ge30sXG4gICAgICB2YWxzID0gdGhpcy50b09iamVjdCgpO1xuICAgIGxldCBsYXN0VW5pdDtcblxuICAgIGZvciAoY29uc3QgayBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmICh1bml0cy5pbmRleE9mKGspID49IDApIHtcbiAgICAgICAgbGFzdFVuaXQgPSBrO1xuXG4gICAgICAgIGxldCBvd24gPSAwO1xuXG4gICAgICAgIC8vIGFueXRoaW5nIHdlIGhhdmVuJ3QgYm9pbGVkIGRvd24geWV0IHNob3VsZCBnZXQgYm9pbGVkIHRvIHRoaXMgdW5pdFxuICAgICAgICBmb3IgKGNvbnN0IGFrIGluIGFjY3VtdWxhdGVkKSB7XG4gICAgICAgICAgb3duICs9IHRoaXMubWF0cml4W2FrXVtrXSAqIGFjY3VtdWxhdGVkW2FrXTtcbiAgICAgICAgICBhY2N1bXVsYXRlZFtha10gPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGx1cyBhbnl0aGluZyB0aGF0J3MgYWxyZWFkeSBpbiB0aGlzIHVuaXRcbiAgICAgICAgaWYgKGlzTnVtYmVyKHZhbHNba10pKSB7XG4gICAgICAgICAgb3duICs9IHZhbHNba107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpID0gTWF0aC50cnVuYyhvd24pO1xuICAgICAgICBidWlsdFtrXSA9IGk7XG4gICAgICAgIGFjY3VtdWxhdGVkW2tdID0gKG93biAqIDEwMDAgLSBpICogMTAwMCkgLyAxMDAwO1xuXG4gICAgICAgIC8vIHBsdXMgYW55dGhpbmcgZnVydGhlciBkb3duIHRoZSBjaGFpbiB0aGF0IHNob3VsZCBiZSByb2xsZWQgdXAgaW4gdG8gdGhpc1xuICAgICAgICBmb3IgKGNvbnN0IGRvd24gaW4gdmFscykge1xuICAgICAgICAgIGlmIChvcmRlcmVkVW5pdHMuaW5kZXhPZihkb3duKSA+IG9yZGVyZWRVbml0cy5pbmRleE9mKGspKSB7XG4gICAgICAgICAgICBjb252ZXJ0KHRoaXMubWF0cml4LCB2YWxzLCBkb3duLCBidWlsdCwgayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIG90aGVyd2lzZSwga2VlcCBpdCBpbiB0aGUgd2luZ3MgdG8gYm9pbCBpdCBsYXRlclxuICAgICAgfSBlbHNlIGlmIChpc051bWJlcih2YWxzW2tdKSkge1xuICAgICAgICBhY2N1bXVsYXRlZFtrXSA9IHZhbHNba107XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYW55dGhpbmcgbGVmdG92ZXIgYmVjb21lcyB0aGUgZGVjaW1hbCBmb3IgdGhlIGxhc3QgdW5pdFxuICAgIC8vIGxhc3RVbml0IG11c3QgYmUgZGVmaW5lZCBzaW5jZSB1bml0cyBpcyBub3QgZW1wdHlcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBhY2N1bXVsYXRlZCkge1xuICAgICAgaWYgKGFjY3VtdWxhdGVkW2tleV0gIT09IDApIHtcbiAgICAgICAgYnVpbHRbbGFzdFVuaXRdICs9XG4gICAgICAgICAga2V5ID09PSBsYXN0VW5pdCA/IGFjY3VtdWxhdGVkW2tleV0gOiBhY2N1bXVsYXRlZFtrZXldIC8gdGhpcy5tYXRyaXhbbGFzdFVuaXRdW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsb25lKHRoaXMsIHsgdmFsdWVzOiBidWlsdCB9LCB0cnVlKS5ub3JtYWxpemUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5lZ2F0aXZlIG9mIHRoaXMgRHVyYXRpb24uXG4gICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgc2Vjb25kczogMzAgfSkubmVnYXRlKCkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IC0xLCBzZWNvbmRzOiAtMzAgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIG5lZ2F0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgbmVnYXRlZCA9IHt9O1xuICAgIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpIHtcbiAgICAgIG5lZ2F0ZWRba10gPSB0aGlzLnZhbHVlc1trXSA9PT0gMCA/IDAgOiAtdGhpcy52YWx1ZXNba107XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHZhbHVlczogbmVnYXRlZCB9LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXJzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHllYXJzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy55ZWFycyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcXVhcnRlcnMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgcXVhcnRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLnF1YXJ0ZXJzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aHMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbW9udGhzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5tb250aHMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHdlZWtzXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLndlZWtzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXlzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLmRheXMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGhvdXJzLlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGhvdXJzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5ob3VycyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWludXRlcy5cbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIGdldCBtaW51dGVzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5taW51dGVzIHx8IDAgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBzZWNvbmRzLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgc2Vjb25kcygpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMuc2Vjb25kcyB8fCAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWlsbGlzZWNvbmRzLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbWlsbGlzZWNvbmRzKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5taWxsaXNlY29uZHMgfHwgMCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIER1cmF0aW9uIGlzIGludmFsaWQuIEludmFsaWQgZHVyYXRpb25zIGFyZSByZXR1cm5lZCBieSBkaWZmIG9wZXJhdGlvbnNcbiAgICogb24gaW52YWxpZCBEYXRlVGltZXMgb3IgSW50ZXJ2YWxzLlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA9PT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGVycm9yIGNvZGUgaWYgdGhpcyBEdXJhdGlvbiBiZWNhbWUgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRHVyYXRpb24gaXMgdmFsaWRcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRSZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgRHVyYXRpb24gYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIER1cmF0aW9uIGlzIHZhbGlkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgaW52YWxpZEV4cGxhbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEVxdWFsaXR5IGNoZWNrXG4gICAqIFR3byBEdXJhdGlvbnMgYXJlIGVxdWFsIGlmZiB0aGV5IGhhdmUgdGhlIHNhbWUgdW5pdHMgYW5kIHRoZSBzYW1lIHZhbHVlcyBmb3IgZWFjaCB1bml0LlxuICAgKiBAcGFyYW0ge0R1cmF0aW9ufSBvdGhlclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZXF1YWxzKG90aGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQgfHwgIW90aGVyLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubG9jLmVxdWFscyhvdGhlci5sb2MpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXEodjEsIHYyKSB7XG4gICAgICAvLyBDb25zaWRlciAwIGFuZCB1bmRlZmluZWQgYXMgZXF1YWxcbiAgICAgIGlmICh2MSA9PT0gdW5kZWZpbmVkIHx8IHYxID09PSAwKSByZXR1cm4gdjIgPT09IHVuZGVmaW5lZCB8fCB2MiA9PT0gMDtcbiAgICAgIHJldHVybiB2MSA9PT0gdjI7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB1IG9mIG9yZGVyZWRVbml0cykge1xuICAgICAgaWYgKCFlcSh0aGlzLnZhbHVlc1t1XSwgb3RoZXIudmFsdWVzW3VdKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCAiaW1wb3J0IERhdGVUaW1lLCB7IGZyaWVuZGx5RGF0ZVRpbWUgfSBmcm9tIFwiLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IER1cmF0aW9uIGZyb20gXCIuL2R1cmF0aW9uLmpzXCI7XG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3MuanNcIjtcbmltcG9ydCB7IEludmFsaWRBcmd1bWVudEVycm9yLCBJbnZhbGlkSW50ZXJ2YWxFcnJvciB9IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IEludmFsaWQgZnJvbSBcIi4vaW1wbC9pbnZhbGlkLmpzXCI7XG5cbmNvbnN0IElOVkFMSUQgPSBcIkludmFsaWQgSW50ZXJ2YWxcIjtcblxuLy8gY2hlY2tzIGlmIHRoZSBzdGFydCBpcyBlcXVhbCB0byBvciBiZWZvcmUgdGhlIGVuZFxuZnVuY3Rpb24gdmFsaWRhdGVTdGFydEVuZChzdGFydCwgZW5kKSB7XG4gIGlmICghc3RhcnQgfHwgIXN0YXJ0LmlzVmFsaWQpIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZChcIm1pc3Npbmcgb3IgaW52YWxpZCBzdGFydFwiKTtcbiAgfSBlbHNlIGlmICghZW5kIHx8ICFlbmQuaXNWYWxpZCkge1xuICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKFwibWlzc2luZyBvciBpbnZhbGlkIGVuZFwiKTtcbiAgfSBlbHNlIGlmIChlbmQgPCBzdGFydCkge1xuICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKFxuICAgICAgXCJlbmQgYmVmb3JlIHN0YXJ0XCIsXG4gICAgICBgVGhlIGVuZCBvZiBhbiBpbnRlcnZhbCBtdXN0IGJlIGFmdGVyIGl0cyBzdGFydCwgYnV0IHlvdSBoYWQgc3RhcnQ9JHtzdGFydC50b0lTTygpfSBhbmQgZW5kPSR7ZW5kLnRvSVNPKCl9YFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBJbnRlcnZhbCBvYmplY3QgcmVwcmVzZW50cyBhIGhhbGYtb3BlbiBpbnRlcnZhbCBvZiB0aW1lLCB3aGVyZSBlYWNoIGVuZHBvaW50IGlzIGEge0BsaW5rIERhdGVUaW1lfS4gQ29uY2VwdHVhbGx5LCBpdCdzIGEgY29udGFpbmVyIGZvciB0aG9zZSB0d28gZW5kcG9pbnRzLCBhY2NvbXBhbmllZCBieSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgY29tcGFyaW5nLCB0cmFuc2Zvcm1pbmcsIGFuZCBmb3JtYXR0aW5nIHRoZW0uXG4gKlxuICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgbWV0aG9kcyBhbmQgZ2V0dGVycyBpbiBJbnRlcnZhbDpcbiAqXG4gKiAqICoqQ3JlYXRpb24qKiBUbyBjcmVhdGUgYW4gSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjZnJvbURhdGVUaW1lc30sIHtAbGluayBJbnRlcnZhbCNhZnRlcn0sIHtAbGluayBJbnRlcnZhbCNiZWZvcmV9LCBvciB7QGxpbmsgSW50ZXJ2YWwjZnJvbUlTT30uXG4gKiAqICoqQWNjZXNzb3JzKiogVXNlIHtAbGluayBJbnRlcnZhbCNzdGFydH0gYW5kIHtAbGluayBJbnRlcnZhbCNlbmR9IHRvIGdldCB0aGUgc3RhcnQgYW5kIGVuZC5cbiAqICogKipJbnRlcnJvZ2F0aW9uKiogVG8gYW5hbHl6ZSB0aGUgSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjY291bnR9LCB7QGxpbmsgSW50ZXJ2YWwjbGVuZ3RofSwge0BsaW5rIEludGVydmFsI2hhc1NhbWV9LCB7QGxpbmsgSW50ZXJ2YWwjY29udGFpbnN9LCB7QGxpbmsgSW50ZXJ2YWwjaXNBZnRlcn0sIG9yIHtAbGluayBJbnRlcnZhbCNpc0JlZm9yZX0uXG4gKiAqICoqVHJhbnNmb3JtYXRpb24qKiBUbyBjcmVhdGUgb3RoZXIgSW50ZXJ2YWxzIG91dCBvZiB0aGlzIG9uZSwgdXNlIHtAbGluayBJbnRlcnZhbCNzZXR9LCB7QGxpbmsgSW50ZXJ2YWwjc3BsaXRBdH0sIHtAbGluayBJbnRlcnZhbCNzcGxpdEJ5fSwge0BsaW5rIEludGVydmFsI2RpdmlkZUVxdWFsbHl9LCB7QGxpbmsgSW50ZXJ2YWwjbWVyZ2V9LCB7QGxpbmsgSW50ZXJ2YWwjeG9yfSwge0BsaW5rIEludGVydmFsI3VuaW9ufSwge0BsaW5rIEludGVydmFsI2ludGVyc2VjdGlvbn0sIG9yIHtAbGluayBJbnRlcnZhbCNkaWZmZXJlbmNlfS5cbiAqICogKipDb21wYXJpc29uKiogVG8gY29tcGFyZSB0aGlzIEludGVydmFsIHRvIGFub3RoZXIgb25lLCB1c2Uge0BsaW5rIEludGVydmFsI2VxdWFsc30sIHtAbGluayBJbnRlcnZhbCNvdmVybGFwc30sIHtAbGluayBJbnRlcnZhbCNhYnV0c1N0YXJ0fSwge0BsaW5rIEludGVydmFsI2FidXRzRW5kfSwge0BsaW5rIEludGVydmFsI2VuZ3VsZnN9XG4gKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgSW50ZXJ2YWwgaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgSW50ZXJ2YWwjdG9TdHJpbmd9LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU099LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU09EYXRlfSwge0BsaW5rIEludGVydmFsI3RvSVNPVGltZX0sIHtAbGluayBJbnRlcnZhbCN0b0Zvcm1hdH0sIGFuZCB7QGxpbmsgSW50ZXJ2YWwjdG9EdXJhdGlvbn0uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVydmFsIHtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLnMgPSBjb25maWcuc3RhcnQ7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5lID0gY29uZmlnLmVuZDtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuaXNMdXhvbkludGVydmFsID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW52YWxpZCBJbnRlcnZhbC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlYXNvbiAtIHNpbXBsZSBzdHJpbmcgb2Ygd2h5IHRoaXMgSW50ZXJ2YWwgaXMgaW52YWxpZC4gU2hvdWxkIG5vdCBjb250YWluIHBhcmFtZXRlcnMgb3IgYW55dGhpbmcgZWxzZSBkYXRhLWRlcGVuZGVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBJbnRlcnZhbCBpcyBpbnZhbGlkXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7XG5cbiAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkSW50ZXJ2YWxFcnJvcihpbnZhbGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBJbnRlcnZhbCh7IGludmFsaWQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGEgc3RhcnQgRGF0ZVRpbWUgYW5kIGFuIGVuZCBEYXRlVGltZS4gSW5jbHVzaXZlIG9mIHRoZSBzdGFydCBidXQgbm90IHRoZSBlbmQuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IGVuZFxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRGF0ZVRpbWVzKHN0YXJ0LCBlbmQpIHtcbiAgICBjb25zdCBidWlsdFN0YXJ0ID0gZnJpZW5kbHlEYXRlVGltZShzdGFydCksXG4gICAgICBidWlsdEVuZCA9IGZyaWVuZGx5RGF0ZVRpbWUoZW5kKTtcblxuICAgIGNvbnN0IHZhbGlkYXRlRXJyb3IgPSB2YWxpZGF0ZVN0YXJ0RW5kKGJ1aWx0U3RhcnQsIGJ1aWx0RW5kKTtcblxuICAgIGlmICh2YWxpZGF0ZUVycm9yID09IG51bGwpIHtcbiAgICAgIHJldHVybiBuZXcgSW50ZXJ2YWwoe1xuICAgICAgICBzdGFydDogYnVpbHRTdGFydCxcbiAgICAgICAgZW5kOiBidWlsdEVuZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsaWRhdGVFcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEludGVydmFsIGZyb20gYSBzdGFydCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgdG8uXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV8RGF0ZXxPYmplY3R9IHN0YXJ0XG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSB0aGUgbGVuZ3RoIG9mIHRoZSBJbnRlcnZhbC5cbiAgICogQHJldHVybiB7SW50ZXJ2YWx9XG4gICAqL1xuICBzdGF0aWMgYWZ0ZXIoc3RhcnQsIGR1cmF0aW9uKSB7XG4gICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksXG4gICAgICBkdCA9IGZyaWVuZGx5RGF0ZVRpbWUoc3RhcnQpO1xuICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0LCBkdC5wbHVzKGR1cikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIGVuZCBEYXRlVGltZSBhbmQgYSBEdXJhdGlvbiB0byBleHRlbmQgYmFja3dhcmRzIHRvLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfERhdGV8T2JqZWN0fSBlbmRcbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIHRoZSBsZW5ndGggb2YgdGhlIEludGVydmFsLlxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIHN0YXRpYyBiZWZvcmUoZW5kLCBkdXJhdGlvbikge1xuICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLFxuICAgICAgZHQgPSBmcmllbmRseURhdGVUaW1lKGVuZCk7XG4gICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQubWludXMoZHVyKSwgZHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIElTTyA4NjAxIHN0cmluZy5cbiAgICogQWNjZXB0cyBgPHN0YXJ0Pi88ZW5kPmAsIGA8c3RhcnQ+LzxkdXJhdGlvbj5gLCBhbmQgYDxkdXJhdGlvbj4vPGVuZD5gIGZvcm1hdHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIElTTyBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIG9wdGlvbnMgdG8gcGFzcyB7QGxpbmsgRGF0ZVRpbWUjZnJvbUlTT30gYW5kIG9wdGlvbmFsbHkge0BsaW5rIER1cmF0aW9uI2Zyb21JU099XG4gICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZV9pbnRlcnZhbHNcbiAgICogQHJldHVybiB7SW50ZXJ2YWx9XG4gICAqL1xuICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzKSB7XG4gICAgY29uc3QgW3MsIGVdID0gKHRleHQgfHwgXCJcIikuc3BsaXQoXCIvXCIsIDIpO1xuICAgIGlmIChzICYmIGUpIHtcbiAgICAgIGxldCBzdGFydCwgc3RhcnRJc1ZhbGlkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc3RhcnQgPSBEYXRlVGltZS5mcm9tSVNPKHMsIG9wdHMpO1xuICAgICAgICBzdGFydElzVmFsaWQgPSBzdGFydC5pc1ZhbGlkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzdGFydElzVmFsaWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgbGV0IGVuZCwgZW5kSXNWYWxpZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGVuZCA9IERhdGVUaW1lLmZyb21JU08oZSwgb3B0cyk7XG4gICAgICAgIGVuZElzVmFsaWQgPSBlbmQuaXNWYWxpZDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZW5kSXNWYWxpZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3RhcnRJc1ZhbGlkICYmIGVuZElzVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQsIGVuZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGFydElzVmFsaWQpIHtcbiAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhlLCBvcHRzKTtcbiAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIEludGVydmFsLmFmdGVyKHN0YXJ0LCBkdXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGVuZElzVmFsaWQpIHtcbiAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhzLCBvcHRzKTtcbiAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIEludGVydmFsLmJlZm9yZShlbmQsIGR1cik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEludGVydmFsLmludmFsaWQoXCJ1bnBhcnNhYmxlXCIsIGB0aGUgaW5wdXQgXCIke3RleHR9XCIgY2FuJ3QgYmUgcGFyc2VkIGFzIElTTyA4NjAxYCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4gb2JqZWN0IGlzIGFuIEludGVydmFsLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNJbnRlcnZhbChvKSB7XG4gICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkludGVydmFsKSB8fCBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdGFydCBvZiB0aGUgSW50ZXJ2YWxcbiAgICogQHR5cGUge0RhdGVUaW1lfVxuICAgKi9cbiAgZ2V0IHN0YXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnMgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVuZCBvZiB0aGUgSW50ZXJ2YWxcbiAgICogQHR5cGUge0RhdGVUaW1lfVxuICAgKi9cbiAgZ2V0IGVuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5lIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhdCBsZWFzdCBpdHMgc3RhcnQsIG1lYW5pbmcgdGhhdCB0aGUgSW50ZXJ2YWwgaXNuJ3QgJ2JhY2t3YXJkcycuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZFJlYXNvbiA9PT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGVycm9yIGNvZGUgaWYgdGhpcyBJbnRlcnZhbCBpcyBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBJbnRlcnZhbCBpcyB2YWxpZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRSZWFzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5yZWFzb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgSW50ZXJ2YWwgYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIEludGVydmFsIGlzIHZhbGlkXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgaW52YWxpZEV4cGxhbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQuZXhwbGFuYXRpb24gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgSW50ZXJ2YWwgaW4gdGhlIHNwZWNpZmllZCB1bml0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byByZXR1cm4gdGhlIGxlbmd0aCBpbi5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgbGVuZ3RoKHVuaXQgPSBcIm1pbGxpc2Vjb25kc1wiKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudG9EdXJhdGlvbiguLi5bdW5pdF0pLmdldCh1bml0KSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3VudCBvZiBtaW51dGVzLCBob3VycywgZGF5cywgbW9udGhzLCBvciB5ZWFycyBpbmNsdWRlZCBpbiB0aGUgSW50ZXJ2YWwsIGV2ZW4gaW4gcGFydC5cbiAgICogVW5saWtlIHtAbGluayBJbnRlcnZhbCNsZW5ndGh9IHRoaXMgY291bnRzIHNlY3Rpb25zIG9mIHRoZSBjYWxlbmRhciwgbm90IHBlcmlvZHMgb2YgdGltZSwgZS5nLiBzcGVjaWZ5aW5nICdkYXknXG4gICAqIGFza3MgJ3doYXQgZGF0ZXMgYXJlIGluY2x1ZGVkIGluIHRoaXMgaW50ZXJ2YWw/Jywgbm90ICdob3cgbWFueSBkYXlzIGxvbmcgaXMgdGhpcyBpbnRlcnZhbD8nXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbdW5pdD0nbWlsbGlzZWNvbmRzJ10gLSB0aGUgdW5pdCBvZiB0aW1lIHRvIGNvdW50LlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBjb3VudCh1bml0ID0gXCJtaWxsaXNlY29uZHNcIikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gTmFOO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5zdGFydE9mKHVuaXQpLFxuICAgICAgZW5kID0gdGhpcy5lbmQuc3RhcnRPZih1bml0KTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihlbmQuZGlmZihzdGFydCwgdW5pdCkuZ2V0KHVuaXQpKSArIDE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBhbmQgZW5kIGFyZSBib3RoIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb25cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGhhc1NhbWUodW5pdCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmlzRW1wdHkoKSB8fCB0aGlzLmUubWludXMoMSkuaGFzU2FtZSh0aGlzLnMsIHVuaXQpIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBoYXMgdGhlIHNhbWUgc3RhcnQgYW5kIGVuZCBEYXRlVGltZXMuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0VtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLnMudmFsdWVPZigpID09PSB0aGlzLmUudmFsdWVPZigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBpcyBhZnRlciB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBkYXRlVGltZVxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaXNBZnRlcihkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA+IGRhdGVUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBlbmQgaXMgYmVmb3JlIHRoZSBzcGVjaWZpZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBpc0JlZm9yZShkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMuZSA8PSBkYXRlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsIGNvbnRhaW5zIHRoZSBzcGVjaWZpZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBjb250YWlucyhkYXRlVGltZSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA8PSBkYXRlVGltZSAmJiB0aGlzLmUgPiBkYXRlVGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldHNcIiB0aGUgc3RhcnQgYW5kL29yIGVuZCBkYXRlcy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIEludGVydmFsLlxuICAgKiBAcGFyYW0ge09iamVjdH0gdmFsdWVzIC0gdGhlIHZhbHVlcyB0byBzZXRcbiAgICogQHBhcmFtIHtEYXRlVGltZX0gdmFsdWVzLnN0YXJ0IC0gdGhlIHN0YXJ0aW5nIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IHZhbHVlcy5lbmQgLSB0aGUgZW5kaW5nIERhdGVUaW1lXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgc2V0KHsgc3RhcnQsIGVuZCB9ID0ge30pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQgfHwgdGhpcy5zLCBlbmQgfHwgdGhpcy5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdCB0aGlzIEludGVydmFsIGF0IGVhY2ggb2YgdGhlIHNwZWNpZmllZCBEYXRlVGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC5cbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBzcGxpdEF0KC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gW107XG4gICAgY29uc3Qgc29ydGVkID0gZGF0ZVRpbWVzXG4gICAgICAgIC5tYXAoZnJpZW5kbHlEYXRlVGltZSlcbiAgICAgICAgLmZpbHRlcigoZCkgPT4gdGhpcy5jb250YWlucyhkKSlcbiAgICAgICAgLnNvcnQoKSxcbiAgICAgIHJlc3VsdHMgPSBbXTtcbiAgICBsZXQgeyBzIH0gPSB0aGlzLFxuICAgICAgaSA9IDA7XG5cbiAgICB3aGlsZSAocyA8IHRoaXMuZSkge1xuICAgICAgY29uc3QgYWRkZWQgPSBzb3J0ZWRbaV0gfHwgdGhpcy5lLFxuICAgICAgICBuZXh0ID0gK2FkZGVkID4gK3RoaXMuZSA/IHRoaXMuZSA6IGFkZGVkO1xuICAgICAgcmVzdWx0cy5wdXNoKEludGVydmFsLmZyb21EYXRlVGltZXMocywgbmV4dCkpO1xuICAgICAgcyA9IG5leHQ7XG4gICAgICBpICs9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHNtYWxsZXIgSW50ZXJ2YWxzLCBlYWNoIG9mIHRoZSBzcGVjaWZpZWQgbGVuZ3RoLlxuICAgKiBMZWZ0IG92ZXIgdGltZSBpcyBncm91cGVkIGludG8gYSBzbWFsbGVyIGludGVydmFsXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgbGVuZ3RoIG9mIGVhY2ggcmVzdWx0aW5nIGludGVydmFsLlxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHNwbGl0QnkoZHVyYXRpb24pIHtcbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcblxuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFkdXIuaXNWYWxpZCB8fCBkdXIuYXMoXCJtaWxsaXNlY29uZHNcIikgPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBsZXQgeyBzIH0gPSB0aGlzLFxuICAgICAgaWR4ID0gMSxcbiAgICAgIG5leHQ7XG5cbiAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgd2hpbGUgKHMgPCB0aGlzLmUpIHtcbiAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5zdGFydC5wbHVzKGR1ci5tYXBVbml0cygoeCkgPT4geCAqIGlkeCkpO1xuICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDtcbiAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIG5leHQpKTtcbiAgICAgIHMgPSBuZXh0O1xuICAgICAgaWR4ICs9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNtYWxsZXIgaW50ZXJ2YWxzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gbnVtYmVyT2ZQYXJ0cyAtIFRoZSBudW1iZXIgb2YgSW50ZXJ2YWxzIHRvIGRpdmlkZSB0aGUgSW50ZXJ2YWwgaW50by5cbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBkaXZpZGVFcXVhbGx5KG51bWJlck9mUGFydHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLnNwbGl0QnkodGhpcy5sZW5ndGgoKSAvIG51bWJlck9mUGFydHMpLnNsaWNlKDAsIG51bWJlck9mUGFydHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgb3ZlcmxhcHMgd2l0aCB0aGUgc3BlY2lmaWVkIEludGVydmFsXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBvdmVybGFwcyhvdGhlcikge1xuICAgIHJldHVybiB0aGlzLmUgPiBvdGhlci5zICYmIHRoaXMucyA8IG90aGVyLmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhZGphY2VudCB0byB0aGUgc3BlY2lmaWVkIEludGVydmFsJ3Mgc3RhcnQuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBhYnV0c1N0YXJ0KG90aGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gK3RoaXMuZSA9PT0gK290aGVyLnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIHN0YXJ0IGlzIGFkamFjZW50IHRvIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwncyBlbmQuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBhYnV0c0VuZChvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICtvdGhlci5lID09PSArdGhpcy5zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgZW5ndWxmcyB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFsLlxuICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlclxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZW5ndWxmcyhvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMucyA8PSBvdGhlci5zICYmIHRoaXMuZSA+PSBvdGhlci5lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgaGFzIHRoZSBzYW1lIHN0YXJ0IGFuZCBlbmQgYXMgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC5cbiAgICogQHBhcmFtIHtJbnRlcnZhbH0gb3RoZXJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGVxdWFscyhvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlci5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucy5lcXVhbHMob3RoZXIucykgJiYgdGhpcy5lLmVxdWFscyhvdGhlci5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhpcyBJbnRlcnZhbCBhbmQgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC5cbiAgICogU3BlY2lmaWNhbGx5LCB0aGUgcmVzdWx0aW5nIEludGVydmFsIGhhcyB0aGUgbWF4aW11bSBzdGFydCB0aW1lIGFuZCB0aGUgbWluaW11bSBlbmQgdGltZSBvZiB0aGUgdHdvIEludGVydmFscy5cbiAgICogUmV0dXJucyBudWxsIGlmIHRoZSBpbnRlcnNlY3Rpb24gaXMgZW1wdHksIG1lYW5pbmcsIHRoZSBpbnRlcnZhbHMgZG9uJ3QgaW50ZXJzZWN0LlxuICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlclxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICovXG4gIGludGVyc2VjdGlvbihvdGhlcikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBzID0gdGhpcy5zID4gb3RoZXIucyA/IHRoaXMucyA6IG90aGVyLnMsXG4gICAgICBlID0gdGhpcy5lIDwgb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7XG5cbiAgICBpZiAocyA+PSBlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMocywgZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIHVuaW9uIG9mIHRoaXMgSW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwuXG4gICAqIFNwZWNpZmljYWxseSwgdGhlIHJlc3VsdGluZyBJbnRlcnZhbCBoYXMgdGhlIG1pbmltdW0gc3RhcnQgdGltZSBhbmQgdGhlIG1heGltdW0gZW5kIHRpbWUgb2YgdGhlIHR3byBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgdW5pb24ob3RoZXIpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgcyA9IHRoaXMucyA8IG90aGVyLnMgPyB0aGlzLnMgOiBvdGhlci5zLFxuICAgICAgZSA9IHRoaXMuZSA+IG90aGVyLmUgPyB0aGlzLmUgOiBvdGhlci5lO1xuICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIGFuIGFycmF5IG9mIEludGVydmFscyBpbnRvIGEgZXF1aXZhbGVudCBtaW5pbWFsIHNldCBvZiBJbnRlcnZhbHMuXG4gICAqIENvbWJpbmVzIG92ZXJsYXBwaW5nIGFuZCBhZGphY2VudCBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGludGVydmFsc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtZXJnZShpbnRlcnZhbHMpIHtcbiAgICBjb25zdCBbZm91bmQsIGZpbmFsXSA9IGludGVydmFsc1xuICAgICAgLnNvcnQoKGEsIGIpID0+IGEucyAtIGIucylcbiAgICAgIC5yZWR1Y2UoXG4gICAgICAgIChbc29mYXIsIGN1cnJlbnRdLCBpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBpdGVtXTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnQub3ZlcmxhcHMoaXRlbSkgfHwgY3VycmVudC5hYnV0c1N0YXJ0KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBjdXJyZW50LnVuaW9uKGl0ZW0pXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFtzb2Zhci5jb25jYXQoW2N1cnJlbnRdKSwgaXRlbV07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbW10sIG51bGxdXG4gICAgICApO1xuICAgIGlmIChmaW5hbCkge1xuICAgICAgZm91bmQucHVzaChmaW5hbCk7XG4gICAgfVxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIHJlcHJlc2VudGluZyB0aGUgc3BhbnMgb2YgdGltZSB0aGF0IG9ubHkgYXBwZWFyIGluIG9uZSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy5cbiAgICogQHBhcmFtIHtBcnJheX0gaW50ZXJ2YWxzXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHhvcihpbnRlcnZhbHMpIHtcbiAgICBsZXQgc3RhcnQgPSBudWxsLFxuICAgICAgY3VycmVudENvdW50ID0gMDtcbiAgICBjb25zdCByZXN1bHRzID0gW10sXG4gICAgICBlbmRzID0gaW50ZXJ2YWxzLm1hcCgoaSkgPT4gW1xuICAgICAgICB7IHRpbWU6IGkucywgdHlwZTogXCJzXCIgfSxcbiAgICAgICAgeyB0aW1lOiBpLmUsIHR5cGU6IFwiZVwiIH0sXG4gICAgICBdKSxcbiAgICAgIGZsYXR0ZW5lZCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4uZW5kcyksXG4gICAgICBhcnIgPSBmbGF0dGVuZWQuc29ydCgoYSwgYikgPT4gYS50aW1lIC0gYi50aW1lKTtcblxuICAgIGZvciAoY29uc3QgaSBvZiBhcnIpIHtcbiAgICAgIGN1cnJlbnRDb3VudCArPSBpLnR5cGUgPT09IFwic1wiID8gMSA6IC0xO1xuXG4gICAgICBpZiAoY3VycmVudENvdW50ID09PSAxKSB7XG4gICAgICAgIHN0YXJ0ID0gaS50aW1lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHN0YXJ0ICYmICtzdGFydCAhPT0gK2kudGltZSkge1xuICAgICAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0LCBpLnRpbWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXJ0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gSW50ZXJ2YWwubWVyZ2UocmVzdWx0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIEludGVydmFsIHJlcHJlc2VudGluZyB0aGUgc3BhbiBvZiB0aW1lIGluIHRoaXMgSW50ZXJ2YWwgdGhhdCBkb2Vzbid0IG92ZXJsYXAgd2l0aCBhbnkgb2YgdGhlIHNwZWNpZmllZCBJbnRlcnZhbHMuXG4gICAqIEBwYXJhbSB7Li4uSW50ZXJ2YWx9IGludGVydmFsc1xuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIGRpZmZlcmVuY2UoLi4uaW50ZXJ2YWxzKSB7XG4gICAgcmV0dXJuIEludGVydmFsLnhvcihbdGhpc10uY29uY2F0KGludGVydmFscykpXG4gICAgICAubWFwKChpKSA9PiB0aGlzLmludGVyc2VjdGlvbihpKSlcbiAgICAgIC5maWx0ZXIoKGkpID0+IGkgJiYgIWkuaXNFbXB0eSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSW50ZXJ2YWwgYXBwcm9wcmlhdGUgZm9yIGRlYnVnZ2luZy5cbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TdHJpbmcoKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgWyR7dGhpcy5zLnRvSVNPKCl9IFx1MjAxMyAke3RoaXMuZS50b0lTTygpfSlgO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gVGhlIHNhbWUgb3B0aW9ucyBhcyB7QGxpbmsgRGF0ZVRpbWUjdG9JU099XG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKG9wdHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQ7XG4gICAgcmV0dXJuIGAke3RoaXMucy50b0lTTyhvcHRzKX0vJHt0aGlzLmUudG9JU08ob3B0cyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgZGF0ZSBvZiB0aGlzIEludGVydmFsLlxuICAgKiBUaGUgdGltZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPRGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQ7XG4gICAgcmV0dXJuIGAke3RoaXMucy50b0lTT0RhdGUoKX0vJHt0aGlzLmUudG9JU09EYXRlKCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGltZSBvZiB0aGlzIEludGVydmFsLlxuICAgKiBUaGUgZGF0ZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLlxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gVGhlIHNhbWUgb3B0aW9ucyBhcyB7QGxpbmsgRGF0ZVRpbWUjdG9JU099XG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPVGltZShvcHRzKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgJHt0aGlzLnMudG9JU09UaW1lKG9wdHMpfS8ke3RoaXMuZS50b0lTT1RpbWUob3B0cyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSW50ZXJ2YWwgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIGZvcm1hdCBzdHJpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRlRm9ybWF0IC0gdGhlIGZvcm1hdCBzdHJpbmcuIFRoaXMgc3RyaW5nIGZvcm1hdHMgdGhlIHN0YXJ0IGFuZCBlbmQgdGltZS4gU2VlIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0gZm9yIGRldGFpbHMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuc2VwYXJhdG9yID0gICcgXHUyMDEzICddIC0gYSBzZXBhcmF0b3IgdG8gcGxhY2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCByZXByZXNlbnRhdGlvbnNcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9Gb3JtYXQoZGF0ZUZvcm1hdCwgeyBzZXBhcmF0b3IgPSBcIiBcdTIwMTMgXCIgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEO1xuICAgIHJldHVybiBgJHt0aGlzLnMudG9Gb3JtYXQoZGF0ZUZvcm1hdCl9JHtzZXBhcmF0b3J9JHt0aGlzLmUudG9Gb3JtYXQoZGF0ZUZvcm1hdCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIHRpbWUgc3Bhbm5lZCBieSB0aGlzIGludGVydmFsLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gW3VuaXQ9WydtaWxsaXNlY29uZHMnXV0gLSB0aGUgdW5pdCBvciB1bml0cyAoc3VjaCBhcyAnaG91cnMnIG9yICdkYXlzJykgdG8gaW5jbHVkZSBpbiB0aGUgZHVyYXRpb24uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKCkudG9PYmplY3QoKSAvLz0+IHsgbWlsbGlzZWNvbmRzOiA4ODQ4OTI1NyB9XG4gICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oJ2RheXMnKS50b09iamVjdCgpIC8vPT4geyBkYXlzOiAxLjAyNDE4MTIxNTI3Nzc3NzggfVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKFsnaG91cnMnLCAnbWludXRlcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LjgyMDk1IH1cbiAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbihbJ2hvdXJzJywgJ21pbnV0ZXMnLCAnc2Vjb25kcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LCBzZWNvbmRzOiA0OS4yNTcgfVxuICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKCdzZWNvbmRzJykudG9PYmplY3QoKSAvLz0+IHsgc2Vjb25kczogODg0ODkuMjU3IH1cbiAgICogQHJldHVybiB7RHVyYXRpb259XG4gICAqL1xuICB0b0R1cmF0aW9uKHVuaXQsIG9wdHMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQodGhpcy5pbnZhbGlkUmVhc29uKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZS5kaWZmKHRoaXMucywgdW5pdCwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUnVuIG1hcEZuIG9uIHRoZSBpbnRlcnZhbCBzdGFydCBhbmQgZW5kLCByZXR1cm5pbmcgYSBuZXcgSW50ZXJ2YWwgZnJvbSB0aGUgcmVzdWx0aW5nIERhdGVUaW1lc1xuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBtYXBGblxuICAgKiBAcmV0dXJuIHtJbnRlcnZhbH1cbiAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikubWFwRW5kcG9pbnRzKGVuZHBvaW50ID0+IGVuZHBvaW50LnRvVVRDKCkpXG4gICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLm1hcEVuZHBvaW50cyhlbmRwb2ludCA9PiBlbmRwb2ludC5wbHVzKHsgaG91cnM6IDIgfSkpXG4gICAqL1xuICBtYXBFbmRwb2ludHMobWFwRm4pIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhtYXBGbih0aGlzLnMpLCBtYXBGbih0aGlzLmUpKTtcbiAgfVxufVxuIiwgImltcG9ydCBEYXRlVGltZSBmcm9tIFwiLi9kYXRldGltZS5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzLmpzXCI7XG5pbXBvcnQgTG9jYWxlIGZyb20gXCIuL2ltcGwvbG9jYWxlLmpzXCI7XG5pbXBvcnQgSUFOQVpvbmUgZnJvbSBcIi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVpvbmUgfSBmcm9tIFwiLi9pbXBsL3pvbmVVdGlsLmpzXCI7XG5cbmltcG9ydCB7IGhhc1JlbGF0aXZlIH0gZnJvbSBcIi4vaW1wbC91dGlsLmpzXCI7XG5cbi8qKlxuICogVGhlIEluZm8gY2xhc3MgY29udGFpbnMgc3RhdGljIG1ldGhvZHMgZm9yIHJldHJpZXZpbmcgZ2VuZXJhbCB0aW1lIGFuZCBkYXRlIHJlbGF0ZWQgZGF0YS4gRm9yIGV4YW1wbGUsIGl0IGhhcyBtZXRob2RzIGZvciBmaW5kaW5nIG91dCBpZiBhIHRpbWUgem9uZSBoYXMgYSBEU1QsIGZvciBsaXN0aW5nIHRoZSBtb250aHMgaW4gYW55IHN1cHBvcnRlZCBsb2NhbGUsIGFuZCBmb3IgZGlzY292ZXJpbmcgd2hpY2ggb2YgTHV4b24gZmVhdHVyZXMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5mbyB7XG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgY29udGFpbnMgYSBEU1QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFt6b25lPSdsb2NhbCddIC0gWm9uZSB0byBjaGVjay4gRGVmYXVsdHMgdG8gdGhlIGVudmlyb25tZW50J3MgbG9jYWwgem9uZS5cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBoYXNEU1Qoem9uZSA9IFNldHRpbmdzLmRlZmF1bHRab25lKSB7XG4gICAgY29uc3QgcHJvdG8gPSBEYXRlVGltZS5ub3coKS5zZXRab25lKHpvbmUpLnNldCh7IG1vbnRoOiAxMiB9KTtcblxuICAgIHJldHVybiAhem9uZS5pc1VuaXZlcnNhbCAmJiBwcm90by5vZmZzZXQgIT09IHByb3RvLnNldCh7IG1vbnRoOiA2IH0pLm9mZnNldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgaXMgYSB2YWxpZCBJQU5BIHNwZWNpZmllci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvbmUgLSBab25lIHRvIGNoZWNrXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzdGF0aWMgaXNWYWxpZElBTkFab25lKHpvbmUpIHtcbiAgICByZXR1cm4gSUFOQVpvbmUuaXNWYWxpZFpvbmUoem9uZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIGlucHV0IGludG8gYSB7QGxpbmsgWm9uZX0gaW5zdGFuY2UuXG4gICAqXG4gICAqICogSWYgYGlucHV0YCBpcyBhbHJlYWR5IGEgWm9uZSBpbnN0YW5jZSwgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxuICAgKiAqIElmIGBpbnB1dGAgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHZhbGlkIHRpbWUgem9uZSBuYW1lLCBhIFpvbmUgaW5zdGFuY2VcbiAgICogICB3aXRoIHRoYXQgbmFtZSBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIHRoYXQgZG9lc24ndCByZWZlciB0byBhIGtub3duIHRpbWUgem9uZSwgYSBab25lXG4gICAqICAgaW5zdGFuY2Ugd2l0aCB7QGxpbmsgWm9uZSNpc1ZhbGlkfSA9PSBmYWxzZSBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXQgaXMgYSBudW1iZXIsIGEgWm9uZSBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgZml4ZWQgb2Zmc2V0XG4gICAqICAgaW4gbWludXRlcyBpcyByZXR1cm5lZC5cbiAgICogKiBJZiBgaW5wdXRgIGlzIGBudWxsYCBvciBgdW5kZWZpbmVkYCwgdGhlIGRlZmF1bHQgem9uZSBpcyByZXR1cm5lZC5cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZXxudW1iZXJ9IFtpbnB1dF0gLSB0aGUgdmFsdWUgdG8gYmUgY29udmVydGVkXG4gICAqIEByZXR1cm4ge1pvbmV9XG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplWm9uZShpbnB1dCkge1xuICAgIHJldHVybiBub3JtYWxpemVab25lKGlucHV0LCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIHN0YW5kYWxvbmUgbW9udGggbmFtZXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibnVtZXJpY1wiLCBcIjItZGlnaXRcIiwgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXI9J2dyZWdvcnknXSAtIHRoZSBjYWxlbmRhclxuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygpWzBdIC8vPT4gJ0phbnVhcnknXG4gICAqIEBleGFtcGxlIEluZm8ubW9udGhzKCdzaG9ydCcpWzBdIC8vPT4gJ0phbidcbiAgICogQGV4YW1wbGUgSW5mby5tb250aHMoJ251bWVyaWMnKVswXSAvLz0+ICcxJ1xuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnLCB7IGxvY2FsZTogJ2ZyLUNBJyB9IClbMF0gLy89PiAnamFudi4nXG4gICAqIEBleGFtcGxlIEluZm8ubW9udGhzKCdudW1lcmljJywgeyBsb2NhbGU6ICdhcicgfSlbMF0gLy89PiAnXHUwNjYxJ1xuICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbG9uZycsIHsgb3V0cHV0Q2FsZW5kYXI6ICdpc2xhbWljJyB9KVswXSAvLz0+ICdSYWJpXHUwMkJCIEknXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIG1vbnRocyhcbiAgICBsZW5ndGggPSBcImxvbmdcIixcbiAgICB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwsIG91dHB1dENhbGVuZGFyID0gXCJncmVnb3J5XCIgfSA9IHt9XG4gICkge1xuICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSkubW9udGhzKGxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGZvcm1hdCBtb250aCBuYW1lcy5cbiAgICogRm9ybWF0IG1vbnRocyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIG1vbnRocyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gdGhlIGRheSBvZiB0aGUgbW9udGguIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0XG4gICAqIGNoYW5nZXMgdGhlIHN0cmluZy5cbiAgICogU2VlIHtAbGluayBJbmZvI21vbnRoc31cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibnVtZXJpY1wiLCBcIjItZGlnaXRcIiwgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXI9J2dyZWdvcnknXSAtIHRoZSBjYWxlbmRhclxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtb250aHNGb3JtYXQoXG4gICAgbGVuZ3RoID0gXCJsb25nXCIsXG4gICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsLCBvdXRwdXRDYWxlbmRhciA9IFwiZ3JlZ29yeVwiIH0gPSB7fVxuICApIHtcbiAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcikpLm1vbnRocyhsZW5ndGgsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBhcnJheSBvZiBzdGFuZGFsb25lIHdlZWsgbmFtZXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIHdlZWtkYXkgcmVwcmVzZW50YXRpb24sIHN1Y2ggYXMgXCJuYXJyb3dcIiwgXCJzaG9ydFwiLCBcImxvbmdcIi5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5udW1iZXJpbmdTeXN0ZW09bnVsbF0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2VcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygpWzBdIC8vPT4gJ01vbmRheSdcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygnc2hvcnQnKVswXSAvLz0+ICdNb24nXG4gICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdmci1DQScgfSlbMF0gLy89PiAnbHVuLidcbiAgICogQGV4YW1wbGUgSW5mby53ZWVrZGF5cygnc2hvcnQnLCB7IGxvY2FsZTogJ2FyJyB9KVswXSAvLz0+ICdcdTA2MjdcdTA2NDRcdTA2MjdcdTA2MkJcdTA2NDZcdTA2NEFcdTA2NDYnXG4gICAqIEByZXR1cm4ge0FycmF5fVxuICAgKi9cbiAgc3RhdGljIHdlZWtkYXlzKGxlbmd0aCA9IFwibG9uZ1wiLCB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwgfSA9IHt9KSB7XG4gICAgcmV0dXJuIChsb2NPYmogfHwgTG9jYWxlLmNyZWF0ZShsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgbnVsbCkpLndlZWtkYXlzKGxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGZvcm1hdCB3ZWVrIG5hbWVzLlxuICAgKiBGb3JtYXQgd2Vla2RheXMgZGlmZmVyIGZyb20gc3RhbmRhbG9uZSB3ZWVrZGF5cyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gbW9yZSBkYXRlIGluZm9ybWF0aW9uLiBJbiBzb21lIGxhbmd1YWdlcywgdGhhdFxuICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuXG4gICAqIFNlZSB7QGxpbmsgSW5mbyN3ZWVrZGF5c31cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwibmFycm93XCIsIFwic2hvcnRcIiwgXCJsb25nXCIuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPW51bGxdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5udW1iZXJpbmdTeXN0ZW09bnVsbF0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2VcbiAgICogQHJldHVybiB7QXJyYXl9XG4gICAqL1xuICBzdGF0aWMgd2Vla2RheXNGb3JtYXQoXG4gICAgbGVuZ3RoID0gXCJsb25nXCIsXG4gICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fVxuICApIHtcbiAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBudWxsKSkud2Vla2RheXMobGVuZ3RoLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgbWVyaWRpZW1zLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGVcbiAgICogQGV4YW1wbGUgSW5mby5tZXJpZGllbXMoKSAvLz0+IFsgJ0FNJywgJ1BNJyBdXG4gICAqIEBleGFtcGxlIEluZm8ubWVyaWRpZW1zKHsgbG9jYWxlOiAnbXknIH0pIC8vPT4gWyAnXHUxMDE0XHUxMDM2XHUxMDE0XHUxMDAwXHUxMDNBJywgJ1x1MTAwQVx1MTAxNFx1MTAzMScgXVxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBtZXJpZGllbXMoeyBsb2NhbGUgPSBudWxsIH0gPSB7fSkge1xuICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSkubWVyaWRpZW1zKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIGFycmF5IG9mIGVyYXMsIHN1Y2ggYXMgWydCQycsICdBRCddLiBUaGUgbG9jYWxlIGNhbiBiZSBzcGVjaWZpZWQsIGJ1dCB0aGUgY2FsZW5kYXIgc3lzdGVtIGlzIGFsd2F5cyBHcmVnb3JpYW4uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdzaG9ydCddIC0gdGhlIGxlbmd0aCBvZiB0aGUgZXJhIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzIFwic2hvcnRcIiBvciBcImxvbmdcIi5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlXG4gICAqIEBleGFtcGxlIEluZm8uZXJhcygpIC8vPT4gWyAnQkMnLCAnQUQnIF1cbiAgICogQGV4YW1wbGUgSW5mby5lcmFzKCdsb25nJykgLy89PiBbICdCZWZvcmUgQ2hyaXN0JywgJ0Fubm8gRG9taW5pJyBdXG4gICAqIEBleGFtcGxlIEluZm8uZXJhcygnbG9uZycsIHsgbG9jYWxlOiAnZnInIH0pIC8vPT4gWyAnYXZhbnQgSlx1MDBFOXN1cy1DaHJpc3QnLCAnYXByXHUwMEU4cyBKXHUwMEU5c3VzLUNocmlzdCcgXVxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIHN0YXRpYyBlcmFzKGxlbmd0aCA9IFwic2hvcnRcIiwgeyBsb2NhbGUgPSBudWxsIH0gPSB7fSkge1xuICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVsbCwgXCJncmVnb3J5XCIpLmVyYXMobGVuZ3RoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHNldCBvZiBhdmFpbGFibGUgZmVhdHVyZXMgaW4gdGhpcyBlbnZpcm9ubWVudC5cbiAgICogU29tZSBmZWF0dXJlcyBvZiBMdXhvbiBhcmUgbm90IGF2YWlsYWJsZSBpbiBhbGwgZW52aXJvbm1lbnRzLiBGb3IgZXhhbXBsZSwgb24gb2xkZXIgYnJvd3NlcnMsIHJlbGF0aXZlIHRpbWUgZm9ybWF0dGluZyBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGZpZ3VyZSBvdXQgaWYgdGhhdCdzIHRoZSBjYXNlLlxuICAgKiBLZXlzOlxuICAgKiAqIGByZWxhdGl2ZWA6IHdoZXRoZXIgdGhpcyBlbnZpcm9ubWVudCBzdXBwb3J0cyByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmdcbiAgICogQGV4YW1wbGUgSW5mby5mZWF0dXJlcygpIC8vPT4geyByZWxhdGl2ZTogZmFsc2UgfVxuICAgKiBAcmV0dXJuIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHsgcmVsYXRpdmU6IGhhc1JlbGF0aXZlKCkgfTtcbiAgfVxufVxuIiwgImltcG9ydCBEdXJhdGlvbiBmcm9tIFwiLi4vZHVyYXRpb24uanNcIjtcblxuZnVuY3Rpb24gZGF5RGlmZihlYXJsaWVyLCBsYXRlcikge1xuICBjb25zdCB1dGNEYXlTdGFydCA9IChkdCkgPT4gZHQudG9VVEMoMCwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pLnN0YXJ0T2YoXCJkYXlcIikudmFsdWVPZigpLFxuICAgIG1zID0gdXRjRGF5U3RhcnQobGF0ZXIpIC0gdXRjRGF5U3RhcnQoZWFybGllcik7XG4gIHJldHVybiBNYXRoLmZsb29yKER1cmF0aW9uLmZyb21NaWxsaXMobXMpLmFzKFwiZGF5c1wiKSk7XG59XG5cbmZ1bmN0aW9uIGhpZ2hPcmRlckRpZmZzKGN1cnNvciwgbGF0ZXIsIHVuaXRzKSB7XG4gIGNvbnN0IGRpZmZlcnMgPSBbXG4gICAgW1wieWVhcnNcIiwgKGEsIGIpID0+IGIueWVhciAtIGEueWVhcl0sXG4gICAgW1wicXVhcnRlcnNcIiwgKGEsIGIpID0+IGIucXVhcnRlciAtIGEucXVhcnRlcl0sXG4gICAgW1wibW9udGhzXCIsIChhLCBiKSA9PiBiLm1vbnRoIC0gYS5tb250aCArIChiLnllYXIgLSBhLnllYXIpICogMTJdLFxuICAgIFtcbiAgICAgIFwid2Vla3NcIixcbiAgICAgIChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGRheXMgPSBkYXlEaWZmKGEsIGIpO1xuICAgICAgICByZXR1cm4gKGRheXMgLSAoZGF5cyAlIDcpKSAvIDc7XG4gICAgICB9LFxuICAgIF0sXG4gICAgW1wiZGF5c1wiLCBkYXlEaWZmXSxcbiAgXTtcblxuICBjb25zdCByZXN1bHRzID0ge307XG4gIGxldCBsb3dlc3RPcmRlciwgaGlnaFdhdGVyO1xuXG4gIGZvciAoY29uc3QgW3VuaXQsIGRpZmZlcl0gb2YgZGlmZmVycykge1xuICAgIGlmICh1bml0cy5pbmRleE9mKHVuaXQpID49IDApIHtcbiAgICAgIGxvd2VzdE9yZGVyID0gdW5pdDtcblxuICAgICAgbGV0IGRlbHRhID0gZGlmZmVyKGN1cnNvciwgbGF0ZXIpO1xuICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbdW5pdF06IGRlbHRhIH0pO1xuXG4gICAgICBpZiAoaGlnaFdhdGVyID4gbGF0ZXIpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29yLnBsdXMoeyBbdW5pdF06IGRlbHRhIC0gMSB9KTtcbiAgICAgICAgZGVsdGEgLT0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnNvciA9IGhpZ2hXYXRlcjtcbiAgICAgIH1cblxuICAgICAgcmVzdWx0c1t1bml0XSA9IGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBbY3Vyc29yLCByZXN1bHRzLCBoaWdoV2F0ZXIsIGxvd2VzdE9yZGVyXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGVhcmxpZXIsIGxhdGVyLCB1bml0cywgb3B0cykge1xuICBsZXQgW2N1cnNvciwgcmVzdWx0cywgaGlnaFdhdGVyLCBsb3dlc3RPcmRlcl0gPSBoaWdoT3JkZXJEaWZmcyhlYXJsaWVyLCBsYXRlciwgdW5pdHMpO1xuXG4gIGNvbnN0IHJlbWFpbmluZ01pbGxpcyA9IGxhdGVyIC0gY3Vyc29yO1xuXG4gIGNvbnN0IGxvd2VyT3JkZXJVbml0cyA9IHVuaXRzLmZpbHRlcihcbiAgICAodSkgPT4gW1wiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiXS5pbmRleE9mKHUpID49IDBcbiAgKTtcblxuICBpZiAobG93ZXJPcmRlclVuaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChoaWdoV2F0ZXIgPCBsYXRlcikge1xuICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbbG93ZXN0T3JkZXJdOiAxIH0pO1xuICAgIH1cblxuICAgIGlmIChoaWdoV2F0ZXIgIT09IGN1cnNvcikge1xuICAgICAgcmVzdWx0c1tsb3dlc3RPcmRlcl0gPSAocmVzdWx0c1tsb3dlc3RPcmRlcl0gfHwgMCkgKyByZW1haW5pbmdNaWxsaXMgLyAoaGlnaFdhdGVyIC0gY3Vyc29yKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IER1cmF0aW9uLmZyb21PYmplY3QocmVzdWx0cywgb3B0cyk7XG5cbiAgaWYgKGxvd2VyT3JkZXJVbml0cy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIER1cmF0aW9uLmZyb21NaWxsaXMocmVtYWluaW5nTWlsbGlzLCBvcHRzKVxuICAgICAgLnNoaWZ0VG8oLi4ubG93ZXJPcmRlclVuaXRzKVxuICAgICAgLnBsdXMoZHVyYXRpb24pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBkdXJhdGlvbjtcbiAgfVxufVxuIiwgImNvbnN0IG51bWJlcmluZ1N5c3RlbXMgPSB7XG4gIGFyYWI6IFwiW1xcdTA2NjAtXFx1MDY2OV1cIixcbiAgYXJhYmV4dDogXCJbXFx1MDZGMC1cXHUwNkY5XVwiLFxuICBiYWxpOiBcIltcXHUxQjUwLVxcdTFCNTldXCIsXG4gIGJlbmc6IFwiW1xcdTA5RTYtXFx1MDlFRl1cIixcbiAgZGV2YTogXCJbXFx1MDk2Ni1cXHUwOTZGXVwiLFxuICBmdWxsd2lkZTogXCJbXFx1RkYxMC1cXHVGRjE5XVwiLFxuICBndWpyOiBcIltcXHUwQUU2LVxcdTBBRUZdXCIsXG4gIGhhbmlkZWM6IFwiW1x1MzAwN3xcdTRFMDB8XHU0RThDfFx1NEUwOXxcdTU2REJ8XHU0RTk0fFx1NTE2RHxcdTRFMDN8XHU1MTZCfFx1NEU1RF1cIixcbiAga2htcjogXCJbXFx1MTdFMC1cXHUxN0U5XVwiLFxuICBrbmRhOiBcIltcXHUwQ0U2LVxcdTBDRUZdXCIsXG4gIGxhb286IFwiW1xcdTBFRDAtXFx1MEVEOV1cIixcbiAgbGltYjogXCJbXFx1MTk0Ni1cXHUxOTRGXVwiLFxuICBtbHltOiBcIltcXHUwRDY2LVxcdTBENkZdXCIsXG4gIG1vbmc6IFwiW1xcdTE4MTAtXFx1MTgxOV1cIixcbiAgbXltcjogXCJbXFx1MTA0MC1cXHUxMDQ5XVwiLFxuICBvcnlhOiBcIltcXHUwQjY2LVxcdTBCNkZdXCIsXG4gIHRhbWxkZWM6IFwiW1xcdTBCRTYtXFx1MEJFRl1cIixcbiAgdGVsdTogXCJbXFx1MEM2Ni1cXHUwQzZGXVwiLFxuICB0aGFpOiBcIltcXHUwRTUwLVxcdTBFNTldXCIsXG4gIHRpYnQ6IFwiW1xcdTBGMjAtXFx1MEYyOV1cIixcbiAgbGF0bjogXCJcXFxcZFwiLFxufTtcblxuY29uc3QgbnVtYmVyaW5nU3lzdGVtc1VURjE2ID0ge1xuICBhcmFiOiBbMTYzMiwgMTY0MV0sXG4gIGFyYWJleHQ6IFsxNzc2LCAxNzg1XSxcbiAgYmFsaTogWzY5OTIsIDcwMDFdLFxuICBiZW5nOiBbMjUzNCwgMjU0M10sXG4gIGRldmE6IFsyNDA2LCAyNDE1XSxcbiAgZnVsbHdpZGU6IFs2NTI5NiwgNjUzMDNdLFxuICBndWpyOiBbMjc5MCwgMjc5OV0sXG4gIGtobXI6IFs2MTEyLCA2MTIxXSxcbiAga25kYTogWzMzMDIsIDMzMTFdLFxuICBsYW9vOiBbMzc5MiwgMzgwMV0sXG4gIGxpbWI6IFs2NDcwLCA2NDc5XSxcbiAgbWx5bTogWzM0MzAsIDM0MzldLFxuICBtb25nOiBbNjE2MCwgNjE2OV0sXG4gIG15bXI6IFs0MTYwLCA0MTY5XSxcbiAgb3J5YTogWzI5MTgsIDI5MjddLFxuICB0YW1sZGVjOiBbMzA0NiwgMzA1NV0sXG4gIHRlbHU6IFszMTc0LCAzMTgzXSxcbiAgdGhhaTogWzM2NjQsIDM2NzNdLFxuICB0aWJ0OiBbMzg3MiwgMzg4MV0sXG59O1xuXG5jb25zdCBoYW5pZGVjQ2hhcnMgPSBudW1iZXJpbmdTeXN0ZW1zLmhhbmlkZWMucmVwbGFjZSgvW1xcW3xcXF1dL2csIFwiXCIpLnNwbGl0KFwiXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEaWdpdHMoc3RyKSB7XG4gIGxldCB2YWx1ZSA9IHBhcnNlSW50KHN0ciwgMTApO1xuICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgdmFsdWUgPSBcIlwiO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG5cbiAgICAgIGlmIChzdHJbaV0uc2VhcmNoKG51bWJlcmluZ1N5c3RlbXMuaGFuaWRlYykgIT09IC0xKSB7XG4gICAgICAgIHZhbHVlICs9IGhhbmlkZWNDaGFycy5pbmRleE9mKHN0cltpXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBudW1iZXJpbmdTeXN0ZW1zVVRGMTYpIHtcbiAgICAgICAgICBjb25zdCBbbWluLCBtYXhdID0gbnVtYmVyaW5nU3lzdGVtc1VURjE2W2tleV07XG4gICAgICAgICAgaWYgKGNvZGUgPj0gbWluICYmIGNvZGUgPD0gbWF4KSB7XG4gICAgICAgICAgICB2YWx1ZSArPSBjb2RlIC0gbWluO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpZ2l0UmVnZXgoeyBudW1iZXJpbmdTeXN0ZW0gfSwgYXBwZW5kID0gXCJcIikge1xuICByZXR1cm4gbmV3IFJlZ0V4cChgJHtudW1iZXJpbmdTeXN0ZW1zW251bWJlcmluZ1N5c3RlbSB8fCBcImxhdG5cIl19JHthcHBlbmR9YCk7XG59XG4iLCAiaW1wb3J0IHsgcGFyc2VNaWxsaXMsIGlzVW5kZWZpbmVkLCB1bnRydW5jYXRlWWVhciwgc2lnbmVkT2Zmc2V0LCBoYXNPd25Qcm9wZXJ0eSB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCBGb3JtYXR0ZXIgZnJvbSBcIi4vZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgRml4ZWRPZmZzZXRab25lIGZyb20gXCIuLi96b25lcy9maXhlZE9mZnNldFpvbmUuanNcIjtcbmltcG9ydCBJQU5BWm9uZSBmcm9tIFwiLi4vem9uZXMvSUFOQVpvbmUuanNcIjtcbmltcG9ydCBEYXRlVGltZSBmcm9tIFwiLi4vZGF0ZXRpbWUuanNcIjtcbmltcG9ydCB7IGRpZ2l0UmVnZXgsIHBhcnNlRGlnaXRzIH0gZnJvbSBcIi4vZGlnaXRzLmpzXCI7XG5pbXBvcnQgeyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcblxuY29uc3QgTUlTU0lOR19GVFAgPSBcIm1pc3NpbmcgSW50bC5EYXRlVGltZUZvcm1hdC5mb3JtYXRUb1BhcnRzIHN1cHBvcnRcIjtcblxuZnVuY3Rpb24gaW50VW5pdChyZWdleCwgcG9zdCA9IChpKSA9PiBpKSB7XG4gIHJldHVybiB7IHJlZ2V4LCBkZXNlcjogKFtzXSkgPT4gcG9zdChwYXJzZURpZ2l0cyhzKSkgfTtcbn1cblxuY29uc3QgTkJTUCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKTtcbmNvbnN0IHNwYWNlT3JOQlNQID0gYFsgJHtOQlNQfV1gO1xuY29uc3Qgc3BhY2VPck5CU1BSZWdFeHAgPSBuZXcgUmVnRXhwKHNwYWNlT3JOQlNQLCBcImdcIik7XG5cbmZ1bmN0aW9uIGZpeExpc3RSZWdleChzKSB7XG4gIC8vIG1ha2UgZG90cyBvcHRpb25hbCBhbmQgYWxzbyBtYWtlIHRoZW0gbGl0ZXJhbFxuICAvLyBtYWtlIHNwYWNlIGFuZCBub24gYnJlYWthYmxlIHNwYWNlIGNoYXJhY3RlcnMgaW50ZXJjaGFuZ2VhYmxlXG4gIHJldHVybiBzLnJlcGxhY2UoL1xcLi9nLCBcIlxcXFwuP1wiKS5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCBzcGFjZU9yTkJTUCk7XG59XG5cbmZ1bmN0aW9uIHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpIHtcbiAgcmV0dXJuIHNcbiAgICAucmVwbGFjZSgvXFwuL2csIFwiXCIpIC8vIGlnbm9yZSBkb3RzIHRoYXQgd2VyZSBtYWRlIG9wdGlvbmFsXG4gICAgLnJlcGxhY2Uoc3BhY2VPck5CU1BSZWdFeHAsIFwiIFwiKSAvLyBpbnRlcmNoYW5nZSBzcGFjZSBhbmQgbmJzcFxuICAgIC50b0xvd2VyQ2FzZSgpO1xufVxuXG5mdW5jdGlvbiBvbmVPZihzdHJpbmdzLCBzdGFydEluZGV4KSB7XG4gIGlmIChzdHJpbmdzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZ2V4OiBSZWdFeHAoc3RyaW5ncy5tYXAoZml4TGlzdFJlZ2V4KS5qb2luKFwifFwiKSksXG4gICAgICBkZXNlcjogKFtzXSkgPT5cbiAgICAgICAgc3RyaW5ncy5maW5kSW5kZXgoKGkpID0+IHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpID09PSBzdHJpcEluc2Vuc2l0aXZpdGllcyhpKSkgKyBzdGFydEluZGV4LFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gb2Zmc2V0KHJlZ2V4LCBncm91cHMpIHtcbiAgcmV0dXJuIHsgcmVnZXgsIGRlc2VyOiAoWywgaCwgbV0pID0+IHNpZ25lZE9mZnNldChoLCBtKSwgZ3JvdXBzIH07XG59XG5cbmZ1bmN0aW9uIHNpbXBsZShyZWdleCkge1xuICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHMgfTtcbn1cblxuZnVuY3Rpb24gZXNjYXBlVG9rZW4odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1tcXC1cXFtcXF17fSgpKis/LixcXFxcXFxeJHwjXFxzXS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuZnVuY3Rpb24gdW5pdEZvclRva2VuKHRva2VuLCBsb2MpIHtcbiAgY29uc3Qgb25lID0gZGlnaXRSZWdleChsb2MpLFxuICAgIHR3byA9IGRpZ2l0UmVnZXgobG9jLCBcInsyfVwiKSxcbiAgICB0aHJlZSA9IGRpZ2l0UmVnZXgobG9jLCBcInszfVwiKSxcbiAgICBmb3VyID0gZGlnaXRSZWdleChsb2MsIFwiezR9XCIpLFxuICAgIHNpeCA9IGRpZ2l0UmVnZXgobG9jLCBcIns2fVwiKSxcbiAgICBvbmVPclR3byA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDJ9XCIpLFxuICAgIG9uZVRvVGhyZWUgPSBkaWdpdFJlZ2V4KGxvYywgXCJ7MSwzfVwiKSxcbiAgICBvbmVUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDZ9XCIpLFxuICAgIG9uZVRvTmluZSA9IGRpZ2l0UmVnZXgobG9jLCBcInsxLDl9XCIpLFxuICAgIHR3b1RvRm91ciA9IGRpZ2l0UmVnZXgobG9jLCBcInsyLDR9XCIpLFxuICAgIGZvdXJUb1NpeCA9IGRpZ2l0UmVnZXgobG9jLCBcIns0LDZ9XCIpLFxuICAgIGxpdGVyYWwgPSAodCkgPT4gKHsgcmVnZXg6IFJlZ0V4cChlc2NhcGVUb2tlbih0LnZhbCkpLCBkZXNlcjogKFtzXSkgPT4gcywgbGl0ZXJhbDogdHJ1ZSB9KSxcbiAgICB1bml0YXRlID0gKHQpID0+IHtcbiAgICAgIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgICAgIHJldHVybiBsaXRlcmFsKHQpO1xuICAgICAgfVxuICAgICAgc3dpdGNoICh0LnZhbCkge1xuICAgICAgICAvLyBlcmFcbiAgICAgICAgY2FzZSBcIkdcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoXCJzaG9ydFwiLCBmYWxzZSksIDApO1xuICAgICAgICBjYXNlIFwiR0dcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoXCJsb25nXCIsIGZhbHNlKSwgMCk7XG4gICAgICAgIC8vIHllYXJzXG4gICAgICAgIGNhc2UgXCJ5XCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9TaXgpO1xuICAgICAgICBjYXNlIFwieXlcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d29Ub0ZvdXIsIHVudHJ1bmNhdGVZZWFyKTtcbiAgICAgICAgY2FzZSBcInl5eXlcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTtcbiAgICAgICAgY2FzZSBcInl5eXl5XCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQoZm91clRvU2l4KTtcbiAgICAgICAgY2FzZSBcInl5eXl5eVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHNpeCk7XG4gICAgICAgIC8vIG1vbnRoc1xuICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTtcbiAgICAgICAgY2FzZSBcIk1NXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTtcbiAgICAgICAgY2FzZSBcIk1NTVwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKFwic2hvcnRcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcIk1NTU1cIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLm1vbnRocyhcImxvbmdcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcIkxcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJMTFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJMTExcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLm1vbnRocyhcInNob3J0XCIsIGZhbHNlLCBmYWxzZSksIDEpO1xuICAgICAgICBjYXNlIFwiTExMTFwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKFwibG9uZ1wiLCBmYWxzZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgLy8gZGF0ZXNcbiAgICAgICAgY2FzZSBcImRcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJkZFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIC8vIG9yZGluYWxzXG4gICAgICAgIGNhc2UgXCJvXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9UaHJlZSk7XG4gICAgICAgIGNhc2UgXCJvb29cIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0aHJlZSk7XG4gICAgICAgIC8vIHRpbWVcbiAgICAgICAgY2FzZSBcIkhIXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTtcbiAgICAgICAgY2FzZSBcIkhcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJoaFwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJoXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwibW1cIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICBjYXNlIFwibVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTtcbiAgICAgICAgY2FzZSBcInFcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJxcVwiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7XG4gICAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwic3NcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICBjYXNlIFwiU1wiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZVRvVGhyZWUpO1xuICAgICAgICBjYXNlIFwiU1NTXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodGhyZWUpO1xuICAgICAgICBjYXNlIFwidVwiOlxuICAgICAgICAgIHJldHVybiBzaW1wbGUob25lVG9OaW5lKTtcbiAgICAgICAgY2FzZSBcInV1XCI6XG4gICAgICAgICAgcmV0dXJuIHNpbXBsZShvbmVPclR3byk7XG4gICAgICAgIGNhc2UgXCJ1dXVcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmUpO1xuICAgICAgICAvLyBtZXJpZGllbVxuICAgICAgICBjYXNlIFwiYVwiOlxuICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubWVyaWRpZW1zKCksIDApO1xuICAgICAgICAvLyB3ZWVrWWVhciAoaylcbiAgICAgICAgY2FzZSBcImtra2tcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdChmb3VyKTtcbiAgICAgICAgY2FzZSBcImtrXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvVG9Gb3VyLCB1bnRydW5jYXRlWWVhcik7XG4gICAgICAgIC8vIHdlZWtOdW1iZXIgKFcpXG4gICAgICAgIGNhc2UgXCJXXCI6XG4gICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pO1xuICAgICAgICBjYXNlIFwiV1dcIjpcbiAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pO1xuICAgICAgICAvLyB3ZWVrZGF5c1xuICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICBjYXNlIFwiY1wiOlxuICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZSk7XG4gICAgICAgIGNhc2UgXCJFRUVcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwic2hvcnRcIiwgZmFsc2UsIGZhbHNlKSwgMSk7XG4gICAgICAgIGNhc2UgXCJFRUVFXCI6XG4gICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy53ZWVrZGF5cyhcImxvbmdcIiwgZmFsc2UsIGZhbHNlKSwgMSk7XG4gICAgICAgIGNhc2UgXCJjY2NcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwic2hvcnRcIiwgdHJ1ZSwgZmFsc2UpLCAxKTtcbiAgICAgICAgY2FzZSBcImNjY2NcIjpcbiAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKFwibG9uZ1wiLCB0cnVlLCBmYWxzZSksIDEpO1xuICAgICAgICAvLyBvZmZzZXQvem9uZVxuICAgICAgICBjYXNlIFwiWlwiOlxuICAgICAgICBjYXNlIFwiWlpcIjpcbiAgICAgICAgICByZXR1cm4gb2Zmc2V0KG5ldyBSZWdFeHAoYChbKy1dJHtvbmVPclR3by5zb3VyY2V9KSg/OjooJHt0d28uc291cmNlfSkpP2ApLCAyKTtcbiAgICAgICAgY2FzZSBcIlpaWlwiOlxuICAgICAgICAgIHJldHVybiBvZmZzZXQobmV3IFJlZ0V4cChgKFsrLV0ke29uZU9yVHdvLnNvdXJjZX0pKCR7dHdvLnNvdXJjZX0pP2ApLCAyKTtcbiAgICAgICAgLy8gd2UgZG9uJ3Qgc3VwcG9ydCBaWlpaIChQU1QpIG9yIFpaWlpaIChQYWNpZmljIFN0YW5kYXJkIFRpbWUpIGluIHBhcnNpbmdcbiAgICAgICAgLy8gYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFueSB3YXkgdG8gZmlndXJlIG91dCB3aGF0IHRoZXkgYXJlXG4gICAgICAgIGNhc2UgXCJ6XCI6XG4gICAgICAgICAgcmV0dXJuIHNpbXBsZSgvW2Etel8rLS9dezEsMjU2fT8vaSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIGxpdGVyYWwodCk7XG4gICAgICB9XG4gICAgfTtcblxuICBjb25zdCB1bml0ID0gdW5pdGF0ZSh0b2tlbikgfHwge1xuICAgIGludmFsaWRSZWFzb246IE1JU1NJTkdfRlRQLFxuICB9O1xuXG4gIHVuaXQudG9rZW4gPSB0b2tlbjtcblxuICByZXR1cm4gdW5pdDtcbn1cblxuY29uc3QgcGFydFR5cGVTdHlsZVRvVG9rZW5WYWwgPSB7XG4gIHllYXI6IHtcbiAgICBcIjItZGlnaXRcIjogXCJ5eVwiLFxuICAgIG51bWVyaWM6IFwieXl5eXlcIixcbiAgfSxcbiAgbW9udGg6IHtcbiAgICBudW1lcmljOiBcIk1cIixcbiAgICBcIjItZGlnaXRcIjogXCJNTVwiLFxuICAgIHNob3J0OiBcIk1NTVwiLFxuICAgIGxvbmc6IFwiTU1NTVwiLFxuICB9LFxuICBkYXk6IHtcbiAgICBudW1lcmljOiBcImRcIixcbiAgICBcIjItZGlnaXRcIjogXCJkZFwiLFxuICB9LFxuICB3ZWVrZGF5OiB7XG4gICAgc2hvcnQ6IFwiRUVFXCIsXG4gICAgbG9uZzogXCJFRUVFXCIsXG4gIH0sXG4gIGRheXBlcmlvZDogXCJhXCIsXG4gIGRheVBlcmlvZDogXCJhXCIsXG4gIGhvdXI6IHtcbiAgICBudW1lcmljOiBcImhcIixcbiAgICBcIjItZGlnaXRcIjogXCJoaFwiLFxuICB9LFxuICBtaW51dGU6IHtcbiAgICBudW1lcmljOiBcIm1cIixcbiAgICBcIjItZGlnaXRcIjogXCJtbVwiLFxuICB9LFxuICBzZWNvbmQ6IHtcbiAgICBudW1lcmljOiBcInNcIixcbiAgICBcIjItZGlnaXRcIjogXCJzc1wiLFxuICB9LFxufTtcblxuZnVuY3Rpb24gdG9rZW5Gb3JQYXJ0KHBhcnQsIGxvY2FsZSwgZm9ybWF0T3B0cykge1xuICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBwYXJ0O1xuXG4gIGlmICh0eXBlID09PSBcImxpdGVyYWxcIikge1xuICAgIHJldHVybiB7XG4gICAgICBsaXRlcmFsOiB0cnVlLFxuICAgICAgdmFsOiB2YWx1ZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3Qgc3R5bGUgPSBmb3JtYXRPcHRzW3R5cGVdO1xuXG4gIGxldCB2YWwgPSBwYXJ0VHlwZVN0eWxlVG9Ub2tlblZhbFt0eXBlXTtcbiAgaWYgKHR5cGVvZiB2YWwgPT09IFwib2JqZWN0XCIpIHtcbiAgICB2YWwgPSB2YWxbc3R5bGVdO1xuICB9XG5cbiAgaWYgKHZhbCkge1xuICAgIHJldHVybiB7XG4gICAgICBsaXRlcmFsOiBmYWxzZSxcbiAgICAgIHZhbCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYnVpbGRSZWdleCh1bml0cykge1xuICBjb25zdCByZSA9IHVuaXRzLm1hcCgodSkgPT4gdS5yZWdleCkucmVkdWNlKChmLCByKSA9PiBgJHtmfSgke3Iuc291cmNlfSlgLCBcIlwiKTtcbiAgcmV0dXJuIFtgXiR7cmV9JGAsIHVuaXRzXTtcbn1cblxuZnVuY3Rpb24gbWF0Y2goaW5wdXQsIHJlZ2V4LCBoYW5kbGVycykge1xuICBjb25zdCBtYXRjaGVzID0gaW5wdXQubWF0Y2gocmVnZXgpO1xuXG4gIGlmIChtYXRjaGVzKSB7XG4gICAgY29uc3QgYWxsID0ge307XG4gICAgbGV0IG1hdGNoSW5kZXggPSAxO1xuICAgIGZvciAoY29uc3QgaSBpbiBoYW5kbGVycykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5KGhhbmRsZXJzLCBpKSkge1xuICAgICAgICBjb25zdCBoID0gaGFuZGxlcnNbaV0sXG4gICAgICAgICAgZ3JvdXBzID0gaC5ncm91cHMgPyBoLmdyb3VwcyArIDEgOiAxO1xuICAgICAgICBpZiAoIWgubGl0ZXJhbCAmJiBoLnRva2VuKSB7XG4gICAgICAgICAgYWxsW2gudG9rZW4udmFsWzBdXSA9IGguZGVzZXIobWF0Y2hlcy5zbGljZShtYXRjaEluZGV4LCBtYXRjaEluZGV4ICsgZ3JvdXBzKSk7XG4gICAgICAgIH1cbiAgICAgICAgbWF0Y2hJbmRleCArPSBncm91cHM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbbWF0Y2hlcywgYWxsXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW21hdGNoZXMsIHt9XTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkYXRlVGltZUZyb21NYXRjaGVzKG1hdGNoZXMpIHtcbiAgY29uc3QgdG9GaWVsZCA9ICh0b2tlbikgPT4ge1xuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgIHJldHVybiBcIm1pbGxpc2Vjb25kXCI7XG4gICAgICBjYXNlIFwic1wiOlxuICAgICAgICByZXR1cm4gXCJzZWNvbmRcIjtcbiAgICAgIGNhc2UgXCJtXCI6XG4gICAgICAgIHJldHVybiBcIm1pbnV0ZVwiO1xuICAgICAgY2FzZSBcImhcIjpcbiAgICAgIGNhc2UgXCJIXCI6XG4gICAgICAgIHJldHVybiBcImhvdXJcIjtcbiAgICAgIGNhc2UgXCJkXCI6XG4gICAgICAgIHJldHVybiBcImRheVwiO1xuICAgICAgY2FzZSBcIm9cIjpcbiAgICAgICAgcmV0dXJuIFwib3JkaW5hbFwiO1xuICAgICAgY2FzZSBcIkxcIjpcbiAgICAgIGNhc2UgXCJNXCI6XG4gICAgICAgIHJldHVybiBcIm1vbnRoXCI7XG4gICAgICBjYXNlIFwieVwiOlxuICAgICAgICByZXR1cm4gXCJ5ZWFyXCI7XG4gICAgICBjYXNlIFwiRVwiOlxuICAgICAgY2FzZSBcImNcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla2RheVwiO1xuICAgICAgY2FzZSBcIldcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla051bWJlclwiO1xuICAgICAgY2FzZSBcImtcIjpcbiAgICAgICAgcmV0dXJuIFwid2Vla1llYXJcIjtcbiAgICAgIGNhc2UgXCJxXCI6XG4gICAgICAgIHJldHVybiBcInF1YXJ0ZXJcIjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBsZXQgem9uZSA9IG51bGw7XG4gIGxldCBzcGVjaWZpY09mZnNldDtcbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnopKSB7XG4gICAgem9uZSA9IElBTkFab25lLmNyZWF0ZShtYXRjaGVzLnopO1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLlopKSB7XG4gICAgaWYgKCF6b25lKSB7XG4gICAgICB6b25lID0gbmV3IEZpeGVkT2Zmc2V0Wm9uZShtYXRjaGVzLlopO1xuICAgIH1cbiAgICBzcGVjaWZpY09mZnNldCA9IG1hdGNoZXMuWjtcbiAgfVxuXG4gIGlmICghaXNVbmRlZmluZWQobWF0Y2hlcy5xKSkge1xuICAgIG1hdGNoZXMuTSA9IChtYXRjaGVzLnEgLSAxKSAqIDMgKyAxO1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLmgpKSB7XG4gICAgaWYgKG1hdGNoZXMuaCA8IDEyICYmIG1hdGNoZXMuYSA9PT0gMSkge1xuICAgICAgbWF0Y2hlcy5oICs9IDEyO1xuICAgIH0gZWxzZSBpZiAobWF0Y2hlcy5oID09PSAxMiAmJiBtYXRjaGVzLmEgPT09IDApIHtcbiAgICAgIG1hdGNoZXMuaCA9IDA7XG4gICAgfVxuICB9XG5cbiAgaWYgKG1hdGNoZXMuRyA9PT0gMCAmJiBtYXRjaGVzLnkpIHtcbiAgICBtYXRjaGVzLnkgPSAtbWF0Y2hlcy55O1xuICB9XG5cbiAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnUpKSB7XG4gICAgbWF0Y2hlcy5TID0gcGFyc2VNaWxsaXMobWF0Y2hlcy51KTtcbiAgfVxuXG4gIGNvbnN0IHZhbHMgPSBPYmplY3Qua2V5cyhtYXRjaGVzKS5yZWR1Y2UoKHIsIGspID0+IHtcbiAgICBjb25zdCBmID0gdG9GaWVsZChrKTtcbiAgICBpZiAoZikge1xuICAgICAgcltmXSA9IG1hdGNoZXNba107XG4gICAgfVxuXG4gICAgcmV0dXJuIHI7XG4gIH0sIHt9KTtcblxuICByZXR1cm4gW3ZhbHMsIHpvbmUsIHNwZWNpZmljT2Zmc2V0XTtcbn1cblxubGV0IGR1bW15RGF0ZVRpbWVDYWNoZSA9IG51bGw7XG5cbmZ1bmN0aW9uIGdldER1bW15RGF0ZVRpbWUoKSB7XG4gIGlmICghZHVtbXlEYXRlVGltZUNhY2hlKSB7XG4gICAgZHVtbXlEYXRlVGltZUNhY2hlID0gRGF0ZVRpbWUuZnJvbU1pbGxpcygxNTU1NTU1NTU1NTU1KTtcbiAgfVxuXG4gIHJldHVybiBkdW1teURhdGVUaW1lQ2FjaGU7XG59XG5cbmZ1bmN0aW9uIG1heWJlRXhwYW5kTWFjcm9Ub2tlbih0b2tlbiwgbG9jYWxlKSB7XG4gIGlmICh0b2tlbi5saXRlcmFsKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0T3B0cyA9IEZvcm1hdHRlci5tYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuLnZhbCk7XG5cbiAgaWYgKCFmb3JtYXRPcHRzKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgY29uc3QgZm9ybWF0dGVyID0gRm9ybWF0dGVyLmNyZWF0ZShsb2NhbGUsIGZvcm1hdE9wdHMpO1xuICBjb25zdCBwYXJ0cyA9IGZvcm1hdHRlci5mb3JtYXREYXRlVGltZVBhcnRzKGdldER1bW15RGF0ZVRpbWUoKSk7XG5cbiAgY29uc3QgdG9rZW5zID0gcGFydHMubWFwKChwKSA9PiB0b2tlbkZvclBhcnQocCwgbG9jYWxlLCBmb3JtYXRPcHRzKSk7XG5cbiAgaWYgKHRva2Vucy5pbmNsdWRlcyh1bmRlZmluZWQpKSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gZXhwYW5kTWFjcm9Ub2tlbnModG9rZW5zLCBsb2NhbGUpIHtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4udG9rZW5zLm1hcCgodCkgPT4gbWF5YmVFeHBhbmRNYWNyb1Rva2VuKHQsIGxvY2FsZSkpKTtcbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHtcbiAgY29uc3QgdG9rZW5zID0gZXhwYW5kTWFjcm9Ub2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZvcm1hdCksIGxvY2FsZSksXG4gICAgdW5pdHMgPSB0b2tlbnMubWFwKCh0KSA9PiB1bml0Rm9yVG9rZW4odCwgbG9jYWxlKSksXG4gICAgZGlzcXVhbGlmeWluZ1VuaXQgPSB1bml0cy5maW5kKCh0KSA9PiB0LmludmFsaWRSZWFzb24pO1xuXG4gIGlmIChkaXNxdWFsaWZ5aW5nVW5pdCkge1xuICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIGludmFsaWRSZWFzb246IGRpc3F1YWxpZnlpbmdVbml0LmludmFsaWRSZWFzb24gfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBbcmVnZXhTdHJpbmcsIGhhbmRsZXJzXSA9IGJ1aWxkUmVnZXgodW5pdHMpLFxuICAgICAgcmVnZXggPSBSZWdFeHAocmVnZXhTdHJpbmcsIFwiaVwiKSxcbiAgICAgIFtyYXdNYXRjaGVzLCBtYXRjaGVzXSA9IG1hdGNoKGlucHV0LCByZWdleCwgaGFuZGxlcnMpLFxuICAgICAgW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXRdID0gbWF0Y2hlc1xuICAgICAgICA/IGRhdGVUaW1lRnJvbU1hdGNoZXMobWF0Y2hlcylcbiAgICAgICAgOiBbbnVsbCwgbnVsbCwgdW5kZWZpbmVkXTtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkobWF0Y2hlcywgXCJhXCIpICYmIGhhc093blByb3BlcnR5KG1hdGNoZXMsIFwiSFwiKSkge1xuICAgICAgdGhyb3cgbmV3IENvbmZsaWN0aW5nU3BlY2lmaWNhdGlvbkVycm9yKFxuICAgICAgICBcIkNhbid0IGluY2x1ZGUgbWVyaWRpZW0gd2hlbiBzcGVjaWZ5aW5nIDI0LWhvdXIgZm9ybWF0XCJcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7IGlucHV0LCB0b2tlbnMsIHJlZ2V4LCByYXdNYXRjaGVzLCBtYXRjaGVzLCByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0IH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpIHtcbiAgY29uc3QgeyByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0LCBpbnZhbGlkUmVhc29uIH0gPSBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpO1xuICByZXR1cm4gW3Jlc3VsdCwgem9uZSwgc3BlY2lmaWNPZmZzZXQsIGludmFsaWRSZWFzb25dO1xufVxuIiwgImltcG9ydCB7XG4gIGludGVnZXJCZXR3ZWVuLFxuICBpc0xlYXBZZWFyLFxuICB0aW1lT2JqZWN0LFxuICBkYXlzSW5ZZWFyLFxuICBkYXlzSW5Nb250aCxcbiAgd2Vla3NJbldlZWtZZWFyLFxuICBpc0ludGVnZXIsXG59IGZyb20gXCIuL3V0aWwuanNcIjtcbmltcG9ydCBJbnZhbGlkIGZyb20gXCIuL2ludmFsaWQuanNcIjtcblxuY29uc3Qgbm9uTGVhcExhZGRlciA9IFswLCAzMSwgNTksIDkwLCAxMjAsIDE1MSwgMTgxLCAyMTIsIDI0MywgMjczLCAzMDQsIDMzNF0sXG4gIGxlYXBMYWRkZXIgPSBbMCwgMzEsIDYwLCA5MSwgMTIxLCAxNTIsIDE4MiwgMjEzLCAyNDQsIDI3NCwgMzA1LCAzMzVdO1xuXG5mdW5jdGlvbiB1bml0T3V0T2ZSYW5nZSh1bml0LCB2YWx1ZSkge1xuICByZXR1cm4gbmV3IEludmFsaWQoXG4gICAgXCJ1bml0IG91dCBvZiByYW5nZVwiLFxuICAgIGB5b3Ugc3BlY2lmaWVkICR7dmFsdWV9IChvZiB0eXBlICR7dHlwZW9mIHZhbHVlfSkgYXMgYSAke3VuaXR9LCB3aGljaCBpcyBpbnZhbGlkYFxuICApO1xufVxuXG5mdW5jdGlvbiBkYXlPZldlZWsoeWVhciwgbW9udGgsIGRheSkge1xuICBjb25zdCBkID0gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXkpKTtcblxuICBpZiAoeWVhciA8IDEwMCAmJiB5ZWFyID49IDApIHtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGQuZ2V0VVRDRnVsbFllYXIoKSAtIDE5MDApO1xuICB9XG5cbiAgY29uc3QganMgPSBkLmdldFVUQ0RheSgpO1xuXG4gIHJldHVybiBqcyA9PT0gMCA/IDcgOiBqcztcbn1cblxuZnVuY3Rpb24gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSkge1xuICByZXR1cm4gZGF5ICsgKGlzTGVhcFllYXIoeWVhcikgPyBsZWFwTGFkZGVyIDogbm9uTGVhcExhZGRlcilbbW9udGggLSAxXTtcbn1cblxuZnVuY3Rpb24gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKSB7XG4gIGNvbnN0IHRhYmxlID0gaXNMZWFwWWVhcih5ZWFyKSA/IGxlYXBMYWRkZXIgOiBub25MZWFwTGFkZGVyLFxuICAgIG1vbnRoMCA9IHRhYmxlLmZpbmRJbmRleCgoaSkgPT4gaSA8IG9yZGluYWwpLFxuICAgIGRheSA9IG9yZGluYWwgLSB0YWJsZVttb250aDBdO1xuICByZXR1cm4geyBtb250aDogbW9udGgwICsgMSwgZGF5IH07XG59XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ3JlZ29yaWFuVG9XZWVrKGdyZWdPYmopIHtcbiAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnT2JqLFxuICAgIG9yZGluYWwgPSBjb21wdXRlT3JkaW5hbCh5ZWFyLCBtb250aCwgZGF5KSxcbiAgICB3ZWVrZGF5ID0gZGF5T2ZXZWVrKHllYXIsIG1vbnRoLCBkYXkpO1xuXG4gIGxldCB3ZWVrTnVtYmVyID0gTWF0aC5mbG9vcigob3JkaW5hbCAtIHdlZWtkYXkgKyAxMCkgLyA3KSxcbiAgICB3ZWVrWWVhcjtcblxuICBpZiAod2Vla051bWJlciA8IDEpIHtcbiAgICB3ZWVrWWVhciA9IHllYXIgLSAxO1xuICAgIHdlZWtOdW1iZXIgPSB3ZWVrc0luV2Vla1llYXIod2Vla1llYXIpO1xuICB9IGVsc2UgaWYgKHdlZWtOdW1iZXIgPiB3ZWVrc0luV2Vla1llYXIoeWVhcikpIHtcbiAgICB3ZWVrWWVhciA9IHllYXIgKyAxO1xuICAgIHdlZWtOdW1iZXIgPSAxO1xuICB9IGVsc2Uge1xuICAgIHdlZWtZZWFyID0geWVhcjtcbiAgfVxuXG4gIHJldHVybiB7IHdlZWtZZWFyLCB3ZWVrTnVtYmVyLCB3ZWVrZGF5LCAuLi50aW1lT2JqZWN0KGdyZWdPYmopIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3ZWVrVG9HcmVnb3JpYW4od2Vla0RhdGEpIHtcbiAgY29uc3QgeyB3ZWVrWWVhciwgd2Vla051bWJlciwgd2Vla2RheSB9ID0gd2Vla0RhdGEsXG4gICAgd2Vla2RheU9mSmFuNCA9IGRheU9mV2Vlayh3ZWVrWWVhciwgMSwgNCksXG4gICAgeWVhckluRGF5cyA9IGRheXNJblllYXIod2Vla1llYXIpO1xuXG4gIGxldCBvcmRpbmFsID0gd2Vla051bWJlciAqIDcgKyB3ZWVrZGF5IC0gd2Vla2RheU9mSmFuNCAtIDMsXG4gICAgeWVhcjtcblxuICBpZiAob3JkaW5hbCA8IDEpIHtcbiAgICB5ZWFyID0gd2Vla1llYXIgLSAxO1xuICAgIG9yZGluYWwgKz0gZGF5c0luWWVhcih5ZWFyKTtcbiAgfSBlbHNlIGlmIChvcmRpbmFsID4geWVhckluRGF5cykge1xuICAgIHllYXIgPSB3ZWVrWWVhciArIDE7XG4gICAgb3JkaW5hbCAtPSBkYXlzSW5ZZWFyKHdlZWtZZWFyKTtcbiAgfSBlbHNlIHtcbiAgICB5ZWFyID0gd2Vla1llYXI7XG4gIH1cblxuICBjb25zdCB7IG1vbnRoLCBkYXkgfSA9IHVuY29tcHV0ZU9yZGluYWwoeWVhciwgb3JkaW5hbCk7XG4gIHJldHVybiB7IHllYXIsIG1vbnRoLCBkYXksIC4uLnRpbWVPYmplY3Qod2Vla0RhdGEpIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmVnb3JpYW5Ub09yZGluYWwoZ3JlZ0RhdGEpIHtcbiAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnRGF0YTtcbiAgY29uc3Qgb3JkaW5hbCA9IGNvbXB1dGVPcmRpbmFsKHllYXIsIG1vbnRoLCBkYXkpO1xuICByZXR1cm4geyB5ZWFyLCBvcmRpbmFsLCAuLi50aW1lT2JqZWN0KGdyZWdEYXRhKSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JkaW5hbFRvR3JlZ29yaWFuKG9yZGluYWxEYXRhKSB7XG4gIGNvbnN0IHsgeWVhciwgb3JkaW5hbCB9ID0gb3JkaW5hbERhdGE7XG4gIGNvbnN0IHsgbW9udGgsIGRheSB9ID0gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKTtcbiAgcmV0dXJuIHsgeWVhciwgbW9udGgsIGRheSwgLi4udGltZU9iamVjdChvcmRpbmFsRGF0YSkgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludmFsaWRXZWVrRGF0YShvYmopIHtcbiAgY29uc3QgdmFsaWRZZWFyID0gaXNJbnRlZ2VyKG9iai53ZWVrWWVhciksXG4gICAgdmFsaWRXZWVrID0gaW50ZWdlckJldHdlZW4ob2JqLndlZWtOdW1iZXIsIDEsIHdlZWtzSW5XZWVrWWVhcihvYmoud2Vla1llYXIpKSxcbiAgICB2YWxpZFdlZWtkYXkgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla2RheSwgMSwgNyk7XG5cbiAgaWYgKCF2YWxpZFllYXIpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJ3ZWVrWWVhclwiLCBvYmoud2Vla1llYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZFdlZWspIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJ3ZWVrXCIsIG9iai53ZWVrKTtcbiAgfSBlbHNlIGlmICghdmFsaWRXZWVrZGF5KSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwid2Vla2RheVwiLCBvYmoud2Vla2RheSk7XG4gIH0gZWxzZSByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJbnZhbGlkT3JkaW5hbERhdGEob2JqKSB7XG4gIGNvbnN0IHZhbGlkWWVhciA9IGlzSW50ZWdlcihvYmoueWVhciksXG4gICAgdmFsaWRPcmRpbmFsID0gaW50ZWdlckJldHdlZW4ob2JqLm9yZGluYWwsIDEsIGRheXNJblllYXIob2JqLnllYXIpKTtcblxuICBpZiAoIXZhbGlkWWVhcikge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcInllYXJcIiwgb2JqLnllYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZE9yZGluYWwpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJvcmRpbmFsXCIsIG9iai5vcmRpbmFsKTtcbiAgfSBlbHNlIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludmFsaWRHcmVnb3JpYW5EYXRhKG9iaikge1xuICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLFxuICAgIHZhbGlkTW9udGggPSBpbnRlZ2VyQmV0d2VlbihvYmoubW9udGgsIDEsIDEyKSxcbiAgICB2YWxpZERheSA9IGludGVnZXJCZXR3ZWVuKG9iai5kYXksIDEsIGRheXNJbk1vbnRoKG9iai55ZWFyLCBvYmoubW9udGgpKTtcblxuICBpZiAoIXZhbGlkWWVhcikge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcInllYXJcIiwgb2JqLnllYXIpO1xuICB9IGVsc2UgaWYgKCF2YWxpZE1vbnRoKSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwibW9udGhcIiwgb2JqLm1vbnRoKTtcbiAgfSBlbHNlIGlmICghdmFsaWREYXkpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJkYXlcIiwgb2JqLmRheSk7XG4gIH0gZWxzZSByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNJbnZhbGlkVGltZURhdGEob2JqKSB7XG4gIGNvbnN0IHsgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0gPSBvYmo7XG4gIGNvbnN0IHZhbGlkSG91ciA9XG4gICAgICBpbnRlZ2VyQmV0d2Vlbihob3VyLCAwLCAyMykgfHxcbiAgICAgIChob3VyID09PSAyNCAmJiBtaW51dGUgPT09IDAgJiYgc2Vjb25kID09PSAwICYmIG1pbGxpc2Vjb25kID09PSAwKSxcbiAgICB2YWxpZE1pbnV0ZSA9IGludGVnZXJCZXR3ZWVuKG1pbnV0ZSwgMCwgNTkpLFxuICAgIHZhbGlkU2Vjb25kID0gaW50ZWdlckJldHdlZW4oc2Vjb25kLCAwLCA1OSksXG4gICAgdmFsaWRNaWxsaXNlY29uZCA9IGludGVnZXJCZXR3ZWVuKG1pbGxpc2Vjb25kLCAwLCA5OTkpO1xuXG4gIGlmICghdmFsaWRIb3VyKSB7XG4gICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKFwiaG91clwiLCBob3VyKTtcbiAgfSBlbHNlIGlmICghdmFsaWRNaW51dGUpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJtaW51dGVcIiwgbWludXRlKTtcbiAgfSBlbHNlIGlmICghdmFsaWRTZWNvbmQpIHtcbiAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoXCJzZWNvbmRcIiwgc2Vjb25kKTtcbiAgfSBlbHNlIGlmICghdmFsaWRNaWxsaXNlY29uZCkge1xuICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZShcIm1pbGxpc2Vjb25kXCIsIG1pbGxpc2Vjb25kKTtcbiAgfSBlbHNlIHJldHVybiBmYWxzZTtcbn1cbiIsICJpbXBvcnQgRHVyYXRpb24gZnJvbSBcIi4vZHVyYXRpb24uanNcIjtcbmltcG9ydCBJbnRlcnZhbCBmcm9tIFwiLi9pbnRlcnZhbC5qc1wiO1xuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzLmpzXCI7XG5pbXBvcnQgSW5mbyBmcm9tIFwiLi9pbmZvLmpzXCI7XG5pbXBvcnQgRm9ybWF0dGVyIGZyb20gXCIuL2ltcGwvZm9ybWF0dGVyLmpzXCI7XG5pbXBvcnQgRml4ZWRPZmZzZXRab25lIGZyb20gXCIuL3pvbmVzL2ZpeGVkT2Zmc2V0Wm9uZS5qc1wiO1xuaW1wb3J0IExvY2FsZSBmcm9tIFwiLi9pbXBsL2xvY2FsZS5qc1wiO1xuaW1wb3J0IHtcbiAgaXNVbmRlZmluZWQsXG4gIG1heWJlQXJyYXksXG4gIGlzRGF0ZSxcbiAgaXNOdW1iZXIsXG4gIGJlc3RCeSxcbiAgZGF5c0luTW9udGgsXG4gIGRheXNJblllYXIsXG4gIGlzTGVhcFllYXIsXG4gIHdlZWtzSW5XZWVrWWVhcixcbiAgbm9ybWFsaXplT2JqZWN0LFxuICByb3VuZFRvLFxuICBvYmpUb0xvY2FsVFMsXG4gIHBhZFN0YXJ0LFxufSBmcm9tIFwiLi9pbXBsL3V0aWwuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVpvbmUgfSBmcm9tIFwiLi9pbXBsL3pvbmVVdGlsLmpzXCI7XG5pbXBvcnQgZGlmZiBmcm9tIFwiLi9pbXBsL2RpZmYuanNcIjtcbmltcG9ydCB7IHBhcnNlUkZDMjgyMkRhdGUsIHBhcnNlSVNPRGF0ZSwgcGFyc2VIVFRQRGF0ZSwgcGFyc2VTUUwgfSBmcm9tIFwiLi9pbXBsL3JlZ2V4UGFyc2VyLmpzXCI7XG5pbXBvcnQgeyBwYXJzZUZyb21Ub2tlbnMsIGV4cGxhaW5Gcm9tVG9rZW5zIH0gZnJvbSBcIi4vaW1wbC90b2tlblBhcnNlci5qc1wiO1xuaW1wb3J0IHtcbiAgZ3JlZ29yaWFuVG9XZWVrLFxuICB3ZWVrVG9HcmVnb3JpYW4sXG4gIGdyZWdvcmlhblRvT3JkaW5hbCxcbiAgb3JkaW5hbFRvR3JlZ29yaWFuLFxuICBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YSxcbiAgaGFzSW52YWxpZFdlZWtEYXRhLFxuICBoYXNJbnZhbGlkT3JkaW5hbERhdGEsXG4gIGhhc0ludmFsaWRUaW1lRGF0YSxcbn0gZnJvbSBcIi4vaW1wbC9jb252ZXJzaW9ucy5qc1wiO1xuaW1wb3J0ICogYXMgRm9ybWF0cyBmcm9tIFwiLi9pbXBsL2Zvcm1hdHMuanNcIjtcbmltcG9ydCB7XG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcixcbiAgSW52YWxpZFVuaXRFcnJvcixcbiAgSW52YWxpZERhdGVUaW1lRXJyb3IsXG59IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IEludmFsaWQgZnJvbSBcIi4vaW1wbC9pbnZhbGlkLmpzXCI7XG5cbmNvbnN0IElOVkFMSUQgPSBcIkludmFsaWQgRGF0ZVRpbWVcIjtcbmNvbnN0IE1BWF9EQVRFID0gOC42NGUxNTtcblxuZnVuY3Rpb24gdW5zdXBwb3J0ZWRab25lKHpvbmUpIHtcbiAgcmV0dXJuIG5ldyBJbnZhbGlkKFwidW5zdXBwb3J0ZWQgem9uZVwiLCBgdGhlIHpvbmUgXCIke3pvbmUubmFtZX1cIiBpcyBub3Qgc3VwcG9ydGVkYCk7XG59XG5cbi8vIHdlIGNhY2hlIHdlZWsgZGF0YSBvbiB0aGUgRFQgb2JqZWN0IGFuZCB0aGlzIGludGVybWVkaWF0ZXMgdGhlIGNhY2hlXG5mdW5jdGlvbiBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKGR0KSB7XG4gIGlmIChkdC53ZWVrRGF0YSA9PT0gbnVsbCkge1xuICAgIGR0LndlZWtEYXRhID0gZ3JlZ29yaWFuVG9XZWVrKGR0LmMpO1xuICB9XG4gIHJldHVybiBkdC53ZWVrRGF0YTtcbn1cblxuLy8gY2xvbmUgcmVhbGx5IG1lYW5zLCBcIm1ha2UgYSBuZXcgb2JqZWN0IHdpdGggdGhlc2UgbW9kaWZpY2F0aW9uc1wiLiBhbGwgXCJzZXR0ZXJzXCIgcmVhbGx5IHVzZSB0aGlzXG4vLyB0byBjcmVhdGUgYSBuZXcgb2JqZWN0IHdoaWxlIG9ubHkgY2hhbmdpbmcgc29tZSBvZiB0aGUgcHJvcGVydGllc1xuZnVuY3Rpb24gY2xvbmUoaW5zdCwgYWx0cykge1xuICBjb25zdCBjdXJyZW50ID0ge1xuICAgIHRzOiBpbnN0LnRzLFxuICAgIHpvbmU6IGluc3Quem9uZSxcbiAgICBjOiBpbnN0LmMsXG4gICAgbzogaW5zdC5vLFxuICAgIGxvYzogaW5zdC5sb2MsXG4gICAgaW52YWxpZDogaW5zdC5pbnZhbGlkLFxuICB9O1xuICByZXR1cm4gbmV3IERhdGVUaW1lKHsgLi4uY3VycmVudCwgLi4uYWx0cywgb2xkOiBjdXJyZW50IH0pO1xufVxuXG4vLyBmaW5kIHRoZSByaWdodCBvZmZzZXQgYSBnaXZlbiBsb2NhbCB0aW1lLiBUaGUgbyBpbnB1dCBpcyBvdXIgZ3Vlc3MsIHdoaWNoIGRldGVybWluZXMgd2hpY2hcbi8vIG9mZnNldCB3ZSdsbCBwaWNrIGluIGFtYmlndW91cyBjYXNlcyAoZS5nLiB0aGVyZSBhcmUgdHdvIDMgQU1zIGIvYyBGYWxsYmFjayBEU1QpXG5mdW5jdGlvbiBmaXhPZmZzZXQobG9jYWxUUywgbywgdHopIHtcbiAgLy8gT3VyIFVUQyB0aW1lIGlzIGp1c3QgYSBndWVzcyBiZWNhdXNlIG91ciBvZmZzZXQgaXMganVzdCBhIGd1ZXNzXG4gIGxldCB1dGNHdWVzcyA9IGxvY2FsVFMgLSBvICogNjAgKiAxMDAwO1xuXG4gIC8vIFRlc3Qgd2hldGhlciB0aGUgem9uZSBtYXRjaGVzIHRoZSBvZmZzZXQgZm9yIHRoaXMgdHNcbiAgY29uc3QgbzIgPSB0ei5vZmZzZXQodXRjR3Vlc3MpO1xuXG4gIC8vIElmIHNvLCBvZmZzZXQgZGlkbid0IGNoYW5nZSBhbmQgd2UncmUgZG9uZVxuICBpZiAobyA9PT0gbzIpIHtcbiAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvXTtcbiAgfVxuXG4gIC8vIElmIG5vdCwgY2hhbmdlIHRoZSB0cyBieSB0aGUgZGlmZmVyZW5jZSBpbiB0aGUgb2Zmc2V0XG4gIHV0Y0d1ZXNzIC09IChvMiAtIG8pICogNjAgKiAxMDAwO1xuXG4gIC8vIElmIHRoYXQgZ2l2ZXMgdXMgdGhlIGxvY2FsIHRpbWUgd2Ugd2FudCwgd2UncmUgZG9uZVxuICBjb25zdCBvMyA9IHR6Lm9mZnNldCh1dGNHdWVzcyk7XG4gIGlmIChvMiA9PT0gbzMpIHtcbiAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvMl07XG4gIH1cblxuICAvLyBJZiBpdCdzIGRpZmZlcmVudCwgd2UncmUgaW4gYSBob2xlIHRpbWUuIFRoZSBvZmZzZXQgaGFzIGNoYW5nZWQsIGJ1dCB0aGUgd2UgZG9uJ3QgYWRqdXN0IHRoZSB0aW1lXG4gIHJldHVybiBbbG9jYWxUUyAtIE1hdGgubWluKG8yLCBvMykgKiA2MCAqIDEwMDAsIE1hdGgubWF4KG8yLCBvMyldO1xufVxuXG4vLyBjb252ZXJ0IGFuIGVwb2NoIHRpbWVzdGFtcCBpbnRvIGEgY2FsZW5kYXIgb2JqZWN0IHdpdGggdGhlIGdpdmVuIG9mZnNldFxuZnVuY3Rpb24gdHNUb09iaih0cywgb2Zmc2V0KSB7XG4gIHRzICs9IG9mZnNldCAqIDYwICogMTAwMDtcblxuICBjb25zdCBkID0gbmV3IERhdGUodHMpO1xuXG4gIHJldHVybiB7XG4gICAgeWVhcjogZC5nZXRVVENGdWxsWWVhcigpLFxuICAgIG1vbnRoOiBkLmdldFVUQ01vbnRoKCkgKyAxLFxuICAgIGRheTogZC5nZXRVVENEYXRlKCksXG4gICAgaG91cjogZC5nZXRVVENIb3VycygpLFxuICAgIG1pbnV0ZTogZC5nZXRVVENNaW51dGVzKCksXG4gICAgc2Vjb25kOiBkLmdldFVUQ1NlY29uZHMoKSxcbiAgICBtaWxsaXNlY29uZDogZC5nZXRVVENNaWxsaXNlY29uZHMoKSxcbiAgfTtcbn1cblxuLy8gY29udmVydCBhIGNhbGVuZGFyIG9iamVjdCB0byBhIGVwb2NoIHRpbWVzdGFtcFxuZnVuY3Rpb24gb2JqVG9UUyhvYmosIG9mZnNldCwgem9uZSkge1xuICByZXR1cm4gZml4T2Zmc2V0KG9ialRvTG9jYWxUUyhvYmopLCBvZmZzZXQsIHpvbmUpO1xufVxuXG4vLyBjcmVhdGUgYSBuZXcgRFQgaW5zdGFuY2UgYnkgYWRkaW5nIGEgZHVyYXRpb24sIGFkanVzdGluZyBmb3IgRFNUc1xuZnVuY3Rpb24gYWRqdXN0VGltZShpbnN0LCBkdXIpIHtcbiAgY29uc3Qgb1ByZSA9IGluc3QubyxcbiAgICB5ZWFyID0gaW5zdC5jLnllYXIgKyBNYXRoLnRydW5jKGR1ci55ZWFycyksXG4gICAgbW9udGggPSBpbnN0LmMubW9udGggKyBNYXRoLnRydW5jKGR1ci5tb250aHMpICsgTWF0aC50cnVuYyhkdXIucXVhcnRlcnMpICogMyxcbiAgICBjID0ge1xuICAgICAgLi4uaW5zdC5jLFxuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgZGF5OlxuICAgICAgICBNYXRoLm1pbihpbnN0LmMuZGF5LCBkYXlzSW5Nb250aCh5ZWFyLCBtb250aCkpICtcbiAgICAgICAgTWF0aC50cnVuYyhkdXIuZGF5cykgK1xuICAgICAgICBNYXRoLnRydW5jKGR1ci53ZWVrcykgKiA3LFxuICAgIH0sXG4gICAgbWlsbGlzVG9BZGQgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHtcbiAgICAgIHllYXJzOiBkdXIueWVhcnMgLSBNYXRoLnRydW5jKGR1ci55ZWFycyksXG4gICAgICBxdWFydGVyczogZHVyLnF1YXJ0ZXJzIC0gTWF0aC50cnVuYyhkdXIucXVhcnRlcnMpLFxuICAgICAgbW9udGhzOiBkdXIubW9udGhzIC0gTWF0aC50cnVuYyhkdXIubW9udGhzKSxcbiAgICAgIHdlZWtzOiBkdXIud2Vla3MgLSBNYXRoLnRydW5jKGR1ci53ZWVrcyksXG4gICAgICBkYXlzOiBkdXIuZGF5cyAtIE1hdGgudHJ1bmMoZHVyLmRheXMpLFxuICAgICAgaG91cnM6IGR1ci5ob3VycyxcbiAgICAgIG1pbnV0ZXM6IGR1ci5taW51dGVzLFxuICAgICAgc2Vjb25kczogZHVyLnNlY29uZHMsXG4gICAgICBtaWxsaXNlY29uZHM6IGR1ci5taWxsaXNlY29uZHMsXG4gICAgfSkuYXMoXCJtaWxsaXNlY29uZHNcIiksXG4gICAgbG9jYWxUUyA9IG9ialRvTG9jYWxUUyhjKTtcblxuICBsZXQgW3RzLCBvXSA9IGZpeE9mZnNldChsb2NhbFRTLCBvUHJlLCBpbnN0LnpvbmUpO1xuXG4gIGlmIChtaWxsaXNUb0FkZCAhPT0gMCkge1xuICAgIHRzICs9IG1pbGxpc1RvQWRkO1xuICAgIC8vIHRoYXQgY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBvZmZzZXQgYnkgZ29pbmcgb3ZlciBhIERTVCwgYnV0IHdlIHdhbnQgdG8ga2VlcCB0aGUgdHMgdGhlIHNhbWVcbiAgICBvID0gaW5zdC56b25lLm9mZnNldCh0cyk7XG4gIH1cblxuICByZXR1cm4geyB0cywgbyB9O1xufVxuXG4vLyBoZWxwZXIgdXNlZnVsIGluIHR1cm5pbmcgdGhlIHJlc3VsdHMgb2YgcGFyc2luZyBpbnRvIHJlYWwgZGF0ZXNcbi8vIGJ5IGhhbmRsaW5nIHRoZSB6b25lIG9wdGlvbnNcbmZ1bmN0aW9uIHBhcnNlRGF0YVRvRGF0ZVRpbWUocGFyc2VkLCBwYXJzZWRab25lLCBvcHRzLCBmb3JtYXQsIHRleHQsIHNwZWNpZmljT2Zmc2V0KSB7XG4gIGNvbnN0IHsgc2V0Wm9uZSwgem9uZSB9ID0gb3B0cztcbiAgaWYgKHBhcnNlZCAmJiBPYmplY3Qua2V5cyhwYXJzZWQpLmxlbmd0aCAhPT0gMCkge1xuICAgIGNvbnN0IGludGVycHJldGF0aW9uWm9uZSA9IHBhcnNlZFpvbmUgfHwgem9uZSxcbiAgICAgIGluc3QgPSBEYXRlVGltZS5mcm9tT2JqZWN0KHBhcnNlZCwge1xuICAgICAgICAuLi5vcHRzLFxuICAgICAgICB6b25lOiBpbnRlcnByZXRhdGlvblpvbmUsXG4gICAgICAgIHNwZWNpZmljT2Zmc2V0LFxuICAgICAgfSk7XG4gICAgcmV0dXJuIHNldFpvbmUgPyBpbnN0IDogaW5zdC5zZXRab25lKHpvbmUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKFxuICAgICAgbmV3IEludmFsaWQoXCJ1bnBhcnNhYmxlXCIsIGB0aGUgaW5wdXQgXCIke3RleHR9XCIgY2FuJ3QgYmUgcGFyc2VkIGFzICR7Zm9ybWF0fWApXG4gICAgKTtcbiAgfVxufVxuXG4vLyBpZiB5b3Ugd2FudCB0byBvdXRwdXQgYSB0ZWNobmljYWwgZm9ybWF0IChlLmcuIFJGQyAyODIyKSwgdGhpcyBoZWxwZXJcbi8vIGhlbHBzIGhhbmRsZSB0aGUgZGV0YWlsc1xuZnVuY3Rpb24gdG9UZWNoRm9ybWF0KGR0LCBmb3JtYXQsIGFsbG93WiA9IHRydWUpIHtcbiAgcmV0dXJuIGR0LmlzVmFsaWRcbiAgICA/IEZvcm1hdHRlci5jcmVhdGUoTG9jYWxlLmNyZWF0ZShcImVuLVVTXCIpLCB7XG4gICAgICAgIGFsbG93WixcbiAgICAgICAgZm9yY2VTaW1wbGU6IHRydWUsXG4gICAgICB9KS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcoZHQsIGZvcm1hdClcbiAgICA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIHRvSVNPRGF0ZShvLCBleHRlbmRlZCkge1xuICBjb25zdCBsb25nRm9ybWF0ID0gby5jLnllYXIgPiA5OTk5IHx8IG8uYy55ZWFyIDwgMDtcbiAgbGV0IGMgPSBcIlwiO1xuICBpZiAobG9uZ0Zvcm1hdCAmJiBvLmMueWVhciA+PSAwKSBjICs9IFwiK1wiO1xuICBjICs9IHBhZFN0YXJ0KG8uYy55ZWFyLCBsb25nRm9ybWF0ID8gNiA6IDQpO1xuXG4gIGlmIChleHRlbmRlZCkge1xuICAgIGMgKz0gXCItXCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMubW9udGgpO1xuICAgIGMgKz0gXCItXCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMuZGF5KTtcbiAgfSBlbHNlIHtcbiAgICBjICs9IHBhZFN0YXJ0KG8uYy5tb250aCk7XG4gICAgYyArPSBwYWRTdGFydChvLmMuZGF5KTtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuZnVuY3Rpb24gdG9JU09UaW1lKFxuICBvLFxuICBleHRlbmRlZCxcbiAgc3VwcHJlc3NTZWNvbmRzLFxuICBzdXBwcmVzc01pbGxpc2Vjb25kcyxcbiAgaW5jbHVkZU9mZnNldCxcbiAgZXh0ZW5kZWRab25lXG4pIHtcbiAgbGV0IGMgPSBwYWRTdGFydChvLmMuaG91cik7XG4gIGlmIChleHRlbmRlZCkge1xuICAgIGMgKz0gXCI6XCI7XG4gICAgYyArPSBwYWRTdGFydChvLmMubWludXRlKTtcbiAgICBpZiAoby5jLnNlY29uZCAhPT0gMCB8fCAhc3VwcHJlc3NTZWNvbmRzKSB7XG4gICAgICBjICs9IFwiOlwiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjICs9IHBhZFN0YXJ0KG8uYy5taW51dGUpO1xuICB9XG5cbiAgaWYgKG8uYy5zZWNvbmQgIT09IDAgfHwgIXN1cHByZXNzU2Vjb25kcykge1xuICAgIGMgKz0gcGFkU3RhcnQoby5jLnNlY29uZCk7XG5cbiAgICBpZiAoby5jLm1pbGxpc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc01pbGxpc2Vjb25kcykge1xuICAgICAgYyArPSBcIi5cIjtcbiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbGxpc2Vjb25kLCAzKTtcbiAgICB9XG4gIH1cblxuICBpZiAoaW5jbHVkZU9mZnNldCkge1xuICAgIGlmIChvLmlzT2Zmc2V0Rml4ZWQgJiYgby5vZmZzZXQgPT09IDAgJiYgIWV4dGVuZGVkWm9uZSkge1xuICAgICAgYyArPSBcIlpcIjtcbiAgICB9IGVsc2UgaWYgKG8ubyA8IDApIHtcbiAgICAgIGMgKz0gXCItXCI7XG4gICAgICBjICs9IHBhZFN0YXJ0KE1hdGgudHJ1bmMoLW8ubyAvIDYwKSk7XG4gICAgICBjICs9IFwiOlwiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKC1vLm8gJSA2MCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjICs9IFwiK1wiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKG8ubyAvIDYwKSk7XG4gICAgICBjICs9IFwiOlwiO1xuICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKG8ubyAlIDYwKSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGV4dGVuZGVkWm9uZSkge1xuICAgIGMgKz0gXCJbXCIgKyBvLnpvbmUuaWFuYU5hbWUgKyBcIl1cIjtcbiAgfVxuICByZXR1cm4gYztcbn1cblxuLy8gZGVmYXVsdHMgZm9yIHVuc3BlY2lmaWVkIHVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzXG5jb25zdCBkZWZhdWx0VW5pdFZhbHVlcyA9IHtcbiAgICBtb250aDogMSxcbiAgICBkYXk6IDEsXG4gICAgaG91cjogMCxcbiAgICBtaW51dGU6IDAsXG4gICAgc2Vjb25kOiAwLFxuICAgIG1pbGxpc2Vjb25kOiAwLFxuICB9LFxuICBkZWZhdWx0V2Vla1VuaXRWYWx1ZXMgPSB7XG4gICAgd2Vla051bWJlcjogMSxcbiAgICB3ZWVrZGF5OiAxLFxuICAgIGhvdXI6IDAsXG4gICAgbWludXRlOiAwLFxuICAgIHNlY29uZDogMCxcbiAgICBtaWxsaXNlY29uZDogMCxcbiAgfSxcbiAgZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzID0ge1xuICAgIG9yZGluYWw6IDEsXG4gICAgaG91cjogMCxcbiAgICBtaW51dGU6IDAsXG4gICAgc2Vjb25kOiAwLFxuICAgIG1pbGxpc2Vjb25kOiAwLFxuICB9O1xuXG4vLyBVbml0cyBpbiB0aGUgc3VwcG9ydGVkIGNhbGVuZGFycywgc29ydGVkIGJ5IGJpZ25lc3NcbmNvbnN0IG9yZGVyZWRVbml0cyA9IFtcInllYXJcIiwgXCJtb250aFwiLCBcImRheVwiLCBcImhvdXJcIiwgXCJtaW51dGVcIiwgXCJzZWNvbmRcIiwgXCJtaWxsaXNlY29uZFwiXSxcbiAgb3JkZXJlZFdlZWtVbml0cyA9IFtcbiAgICBcIndlZWtZZWFyXCIsXG4gICAgXCJ3ZWVrTnVtYmVyXCIsXG4gICAgXCJ3ZWVrZGF5XCIsXG4gICAgXCJob3VyXCIsXG4gICAgXCJtaW51dGVcIixcbiAgICBcInNlY29uZFwiLFxuICAgIFwibWlsbGlzZWNvbmRcIixcbiAgXSxcbiAgb3JkZXJlZE9yZGluYWxVbml0cyA9IFtcInllYXJcIiwgXCJvcmRpbmFsXCIsIFwiaG91clwiLCBcIm1pbnV0ZVwiLCBcInNlY29uZFwiLCBcIm1pbGxpc2Vjb25kXCJdO1xuXG4vLyBzdGFuZGFyZGl6ZSBjYXNlIGFuZCBwbHVyYWxpdHkgaW4gdW5pdHNcbmZ1bmN0aW9uIG5vcm1hbGl6ZVVuaXQodW5pdCkge1xuICBjb25zdCBub3JtYWxpemVkID0ge1xuICAgIHllYXI6IFwieWVhclwiLFxuICAgIHllYXJzOiBcInllYXJcIixcbiAgICBtb250aDogXCJtb250aFwiLFxuICAgIG1vbnRoczogXCJtb250aFwiLFxuICAgIGRheTogXCJkYXlcIixcbiAgICBkYXlzOiBcImRheVwiLFxuICAgIGhvdXI6IFwiaG91clwiLFxuICAgIGhvdXJzOiBcImhvdXJcIixcbiAgICBtaW51dGU6IFwibWludXRlXCIsXG4gICAgbWludXRlczogXCJtaW51dGVcIixcbiAgICBxdWFydGVyOiBcInF1YXJ0ZXJcIixcbiAgICBxdWFydGVyczogXCJxdWFydGVyXCIsXG4gICAgc2Vjb25kOiBcInNlY29uZFwiLFxuICAgIHNlY29uZHM6IFwic2Vjb25kXCIsXG4gICAgbWlsbGlzZWNvbmQ6IFwibWlsbGlzZWNvbmRcIixcbiAgICBtaWxsaXNlY29uZHM6IFwibWlsbGlzZWNvbmRcIixcbiAgICB3ZWVrZGF5OiBcIndlZWtkYXlcIixcbiAgICB3ZWVrZGF5czogXCJ3ZWVrZGF5XCIsXG4gICAgd2Vla251bWJlcjogXCJ3ZWVrTnVtYmVyXCIsXG4gICAgd2Vla3NudW1iZXI6IFwid2Vla051bWJlclwiLFxuICAgIHdlZWtudW1iZXJzOiBcIndlZWtOdW1iZXJcIixcbiAgICB3ZWVreWVhcjogXCJ3ZWVrWWVhclwiLFxuICAgIHdlZWt5ZWFyczogXCJ3ZWVrWWVhclwiLFxuICAgIG9yZGluYWw6IFwib3JkaW5hbFwiLFxuICB9W3VuaXQudG9Mb3dlckNhc2UoKV07XG5cbiAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTtcblxuICByZXR1cm4gbm9ybWFsaXplZDtcbn1cblxuLy8gdGhpcyBpcyBhIGR1bWJlZCBkb3duIHZlcnNpb24gb2YgZnJvbU9iamVjdCgpIHRoYXQgcnVucyBhYm91dCA2MCUgZmFzdGVyXG4vLyBidXQgZG9lc24ndCBkbyBhbnkgdmFsaWRhdGlvbiwgbWFrZXMgYSBidW5jaCBvZiBhc3N1bXB0aW9ucyBhYm91dCB3aGF0IHVuaXRzXG4vLyBhcmUgcHJlc2VudCwgYW5kIHNvIG9uLlxuZnVuY3Rpb24gcXVpY2tEVChvYmosIG9wdHMpIHtcbiAgY29uc3Qgem9uZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksXG4gICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyksXG4gICAgdHNOb3cgPSBTZXR0aW5ncy5ub3coKTtcblxuICBsZXQgdHMsIG87XG5cbiAgLy8gYXNzdW1lIHdlIGhhdmUgdGhlIGhpZ2hlci1vcmRlciB1bml0c1xuICBpZiAoIWlzVW5kZWZpbmVkKG9iai55ZWFyKSkge1xuICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMpIHtcbiAgICAgIGlmIChpc1VuZGVmaW5lZChvYmpbdV0pKSB7XG4gICAgICAgIG9ialt1XSA9IGRlZmF1bHRVbml0VmFsdWVzW3VdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGludmFsaWQgPSBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YShvYmopIHx8IGhhc0ludmFsaWRUaW1lRGF0YShvYmopO1xuICAgIGlmIChpbnZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRQcm92aXMgPSB6b25lLm9mZnNldCh0c05vdyk7XG4gICAgW3RzLCBvXSA9IG9ialRvVFMob2JqLCBvZmZzZXRQcm92aXMsIHpvbmUpO1xuICB9IGVsc2Uge1xuICAgIHRzID0gdHNOb3c7XG4gIH1cblxuICByZXR1cm4gbmV3IERhdGVUaW1lKHsgdHMsIHpvbmUsIGxvYywgbyB9KTtcbn1cblxuZnVuY3Rpb24gZGlmZlJlbGF0aXZlKHN0YXJ0LCBlbmQsIG9wdHMpIHtcbiAgY29uc3Qgcm91bmQgPSBpc1VuZGVmaW5lZChvcHRzLnJvdW5kKSA/IHRydWUgOiBvcHRzLnJvdW5kLFxuICAgIGZvcm1hdCA9IChjLCB1bml0KSA9PiB7XG4gICAgICBjID0gcm91bmRUbyhjLCByb3VuZCB8fCBvcHRzLmNhbGVuZGFyeSA/IDAgOiAyLCB0cnVlKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlciA9IGVuZC5sb2MuY2xvbmUob3B0cykucmVsRm9ybWF0dGVyKG9wdHMpO1xuICAgICAgcmV0dXJuIGZvcm1hdHRlci5mb3JtYXQoYywgdW5pdCk7XG4gICAgfSxcbiAgICBkaWZmZXIgPSAodW5pdCkgPT4ge1xuICAgICAgaWYgKG9wdHMuY2FsZW5kYXJ5KSB7XG4gICAgICAgIGlmICghZW5kLmhhc1NhbWUoc3RhcnQsIHVuaXQpKSB7XG4gICAgICAgICAgcmV0dXJuIGVuZC5zdGFydE9mKHVuaXQpLmRpZmYoc3RhcnQuc3RhcnRPZih1bml0KSwgdW5pdCkuZ2V0KHVuaXQpO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZW5kLmRpZmYoc3RhcnQsIHVuaXQpLmdldCh1bml0KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gIGlmIChvcHRzLnVuaXQpIHtcbiAgICByZXR1cm4gZm9ybWF0KGRpZmZlcihvcHRzLnVuaXQpLCBvcHRzLnVuaXQpO1xuICB9XG5cbiAgZm9yIChjb25zdCB1bml0IG9mIG9wdHMudW5pdHMpIHtcbiAgICBjb25zdCBjb3VudCA9IGRpZmZlcih1bml0KTtcbiAgICBpZiAoTWF0aC5hYnMoY291bnQpID49IDEpIHtcbiAgICAgIHJldHVybiBmb3JtYXQoY291bnQsIHVuaXQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZm9ybWF0KHN0YXJ0ID4gZW5kID8gLTAgOiAwLCBvcHRzLnVuaXRzW29wdHMudW5pdHMubGVuZ3RoIC0gMV0pO1xufVxuXG5mdW5jdGlvbiBsYXN0T3B0cyhhcmdMaXN0KSB7XG4gIGxldCBvcHRzID0ge30sXG4gICAgYXJncztcbiAgaWYgKGFyZ0xpc3QubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdID09PSBcIm9iamVjdFwiKSB7XG4gICAgb3B0cyA9IGFyZ0xpc3RbYXJnTGlzdC5sZW5ndGggLSAxXTtcbiAgICBhcmdzID0gQXJyYXkuZnJvbShhcmdMaXN0KS5zbGljZSgwLCBhcmdMaXN0Lmxlbmd0aCAtIDEpO1xuICB9IGVsc2Uge1xuICAgIGFyZ3MgPSBBcnJheS5mcm9tKGFyZ0xpc3QpO1xuICB9XG4gIHJldHVybiBbb3B0cywgYXJnc107XG59XG5cbi8qKlxuICogQSBEYXRlVGltZSBpcyBhbiBpbW11dGFibGUgZGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBhbmQgYWNjb21wYW55aW5nIG1ldGhvZHMuIEl0IGNvbnRhaW5zIGNsYXNzIGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLlxuICpcbiAqIEEgRGF0ZVRpbWUgY29tcHJpc2VzIG9mOlxuICogKiBBIHRpbWVzdGFtcC4gRWFjaCBEYXRlVGltZSBpbnN0YW5jZSByZWZlcnMgdG8gYSBzcGVjaWZpYyBtaWxsaXNlY29uZCBvZiB0aGUgVW5peCBlcG9jaC5cbiAqICogQSB0aW1lIHpvbmUuIEVhY2ggaW5zdGFuY2UgaXMgY29uc2lkZXJlZCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIHpvbmUgKGJ5IGRlZmF1bHQgdGhlIGxvY2FsIHN5c3RlbSdzIHpvbmUpLlxuICogKiBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgdGhhdCBlZmZlY3QgaG93IG91dHB1dCBzdHJpbmdzIGFyZSBmb3JtYXR0ZWQsIHN1Y2ggYXMgYGxvY2FsZWAsIGBudW1iZXJpbmdTeXN0ZW1gLCBhbmQgYG91dHB1dENhbGVuZGFyYC5cbiAqXG4gKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBmdW5jdGlvbmFsaXR5IGl0IHByb3ZpZGVzOlxuICpcbiAqICogKipDcmVhdGlvbioqOiBUbyBjcmVhdGUgYSBEYXRlVGltZSBmcm9tIGl0cyBjb21wb25lbnRzLCB1c2Ugb25lIG9mIGl0cyBmYWN0b3J5IGNsYXNzIG1ldGhvZHM6IHtAbGluayBEYXRlVGltZSNsb2NhbH0sIHtAbGluayBEYXRlVGltZSN1dGN9LCBhbmQgKG1vc3QgZmxleGlibHkpIHtAbGluayBEYXRlVGltZSNmcm9tT2JqZWN0fS4gVG8gY3JlYXRlIG9uZSBmcm9tIGEgc3RhbmRhcmQgc3RyaW5nIGZvcm1hdCwgdXNlIHtAbGluayBEYXRlVGltZSNmcm9tSVNPfSwge0BsaW5rIERhdGVUaW1lI2Zyb21IVFRQfSwgYW5kIHtAbGluayBEYXRlVGltZSNmcm9tUkZDMjgyMn0uIFRvIGNyZWF0ZSBvbmUgZnJvbSBhIGN1c3RvbSBzdHJpbmcgZm9ybWF0LCB1c2Uge0BsaW5rIERhdGVUaW1lI2Zyb21Gb3JtYXR9LiBUbyBjcmVhdGUgb25lIGZyb20gYSBuYXRpdmUgSlMgZGF0ZSwgdXNlIHtAbGluayBEYXRlVGltZSNmcm9tSlNEYXRlfS5cbiAqICogKipHcmVnb3JpYW4gY2FsZW5kYXIgYW5kIHRpbWUqKjogVG8gZXhhbWluZSB0aGUgR3JlZ29yaWFuIHByb3BlcnRpZXMgb2YgYSBEYXRlVGltZSBpbmRpdmlkdWFsbHkgKGkuZSBhcyBvcHBvc2VkIHRvIGNvbGxlY3RpdmVseSB0aHJvdWdoIHtAbGluayBEYXRlVGltZSN0b09iamVjdH0pLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN5ZWFyfSwge0BsaW5rIERhdGVUaW1lI21vbnRofSxcbiAqIHtAbGluayBEYXRlVGltZSNkYXl9LCB7QGxpbmsgRGF0ZVRpbWUjaG91cn0sIHtAbGluayBEYXRlVGltZSNtaW51dGV9LCB7QGxpbmsgRGF0ZVRpbWUjc2Vjb25kfSwge0BsaW5rIERhdGVUaW1lI21pbGxpc2Vjb25kfSBhY2Nlc3NvcnMuXG4gKiAqICoqV2VlayBjYWxlbmRhcioqOiBGb3IgSVNPIHdlZWsgY2FsZW5kYXIgYXR0cmlidXRlcywgc2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjd2Vla1llYXJ9LCB7QGxpbmsgRGF0ZVRpbWUjd2Vla051bWJlcn0sIGFuZCB7QGxpbmsgRGF0ZVRpbWUjd2Vla2RheX0gYWNjZXNzb3JzLlxuICogKiAqKkNvbmZpZ3VyYXRpb24qKiBTZWUgdGhlIHtAbGluayBEYXRlVGltZSNsb2NhbGV9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjbnVtYmVyaW5nU3lzdGVtfSBhY2Nlc3NvcnMuXG4gKiAqICoqVHJhbnNmb3JtYXRpb24qKjogVG8gdHJhbnNmb3JtIHRoZSBEYXRlVGltZSBpbnRvIG90aGVyIERhdGVUaW1lcywgdXNlIHtAbGluayBEYXRlVGltZSNzZXR9LCB7QGxpbmsgRGF0ZVRpbWUjcmVjb25maWd1cmV9LCB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0sIHtAbGluayBEYXRlVGltZSNzZXRMb2NhbGV9LCB7QGxpbmsgRGF0ZVRpbWUucGx1c30sIHtAbGluayBEYXRlVGltZSNtaW51c30sIHtAbGluayBEYXRlVGltZSNlbmRPZn0sIHtAbGluayBEYXRlVGltZSNzdGFydE9mfSwge0BsaW5rIERhdGVUaW1lI3RvVVRDfSwgYW5kIHtAbGluayBEYXRlVGltZSN0b0xvY2FsfS5cbiAqICogKipPdXRwdXQqKjogVG8gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN0b1JlbGF0aXZlfSwge0BsaW5rIERhdGVUaW1lI3RvUmVsYXRpdmVDYWxlbmRhcn0sIHtAbGluayBEYXRlVGltZSN0b0pTT059LCB7QGxpbmsgRGF0ZVRpbWUjdG9JU099LCB7QGxpbmsgRGF0ZVRpbWUjdG9IVFRQfSwge0BsaW5rIERhdGVUaW1lI3RvT2JqZWN0fSwge0BsaW5rIERhdGVUaW1lI3RvUkZDMjgyMn0sIHtAbGluayBEYXRlVGltZSN0b1N0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0sIHtAbGluayBEYXRlVGltZSN0b01pbGxpc30gYW5kIHtAbGluayBEYXRlVGltZSN0b0pTRGF0ZX0uXG4gKlxuICogVGhlcmUncyBwbGVudHkgb3RoZXJzIGRvY3VtZW50ZWQgYmVsb3cuIEluIGFkZGl0aW9uLCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzdWJ0bGVyIHRvcGljcyBsaWtlIGludGVybmF0aW9uYWxpemF0aW9uLCB0aW1lIHpvbmVzLCBhbHRlcm5hdGl2ZSBjYWxlbmRhcnMsIHZhbGlkaXR5LCBhbmQgc28gb24sIHNlZSB0aGUgZXh0ZXJuYWwgZG9jdW1lbnRhdGlvbi5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0ZVRpbWUge1xuICAvKipcbiAgICogQGFjY2VzcyBwcml2YXRlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICBjb25zdCB6b25lID0gY29uZmlnLnpvbmUgfHwgU2V0dGluZ3MuZGVmYXVsdFpvbmU7XG5cbiAgICBsZXQgaW52YWxpZCA9XG4gICAgICBjb25maWcuaW52YWxpZCB8fFxuICAgICAgKE51bWJlci5pc05hTihjb25maWcudHMpID8gbmV3IEludmFsaWQoXCJpbnZhbGlkIGlucHV0XCIpIDogbnVsbCkgfHxcbiAgICAgICghem9uZS5pc1ZhbGlkID8gdW5zdXBwb3J0ZWRab25lKHpvbmUpIDogbnVsbCk7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy50cyA9IGlzVW5kZWZpbmVkKGNvbmZpZy50cykgPyBTZXR0aW5ncy5ub3coKSA6IGNvbmZpZy50cztcblxuICAgIGxldCBjID0gbnVsbCxcbiAgICAgIG8gPSBudWxsO1xuICAgIGlmICghaW52YWxpZCkge1xuICAgICAgY29uc3QgdW5jaGFuZ2VkID0gY29uZmlnLm9sZCAmJiBjb25maWcub2xkLnRzID09PSB0aGlzLnRzICYmIGNvbmZpZy5vbGQuem9uZS5lcXVhbHMoem9uZSk7XG5cbiAgICAgIGlmICh1bmNoYW5nZWQpIHtcbiAgICAgICAgW2MsIG9dID0gW2NvbmZpZy5vbGQuYywgY29uZmlnLm9sZC5vXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG90ID0gem9uZS5vZmZzZXQodGhpcy50cyk7XG4gICAgICAgIGMgPSB0c1RvT2JqKHRoaXMudHMsIG90KTtcbiAgICAgICAgaW52YWxpZCA9IE51bWJlci5pc05hTihjLnllYXIpID8gbmV3IEludmFsaWQoXCJpbnZhbGlkIGlucHV0XCIpIDogbnVsbDtcbiAgICAgICAgYyA9IGludmFsaWQgPyBudWxsIDogYztcbiAgICAgICAgbyA9IGludmFsaWQgPyBudWxsIDogb3Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5fem9uZSA9IHpvbmU7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5sb2MgPSBjb25maWcubG9jIHx8IExvY2FsZS5jcmVhdGUoKTtcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmludmFsaWQgPSBpbnZhbGlkO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMud2Vla0RhdGEgPSBudWxsO1xuICAgIC8qKlxuICAgICAqIEBhY2Nlc3MgcHJpdmF0ZVxuICAgICAqL1xuICAgIHRoaXMuYyA9IGM7XG4gICAgLyoqXG4gICAgICogQGFjY2VzcyBwcml2YXRlXG4gICAgICovXG4gICAgdGhpcy5vID0gbztcbiAgICAvKipcbiAgICAgKiBAYWNjZXNzIHByaXZhdGVcbiAgICAgKi9cbiAgICB0aGlzLmlzTHV4b25EYXRlVGltZSA9IHRydWU7XG4gIH1cblxuICAvLyBDT05TVFJVQ1RcblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZm9yIHRoZSBjdXJyZW50IGluc3RhbnQsIGluIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUuXG4gICAqXG4gICAqIFVzZSBTZXR0aW5ncyB0byBvdmVycmlkZSB0aGVzZSBkZWZhdWx0IHZhbHVlcyBpZiBuZWVkZWQuXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvSVNPKCkgLy9+PiBub3cgaW4gdGhlIElTTyBmb3JtYXRcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgbm93KCkge1xuICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe30pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGxvY2FsIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYGxvY2FsKClgIHdpdGggbm8gYXJndW1lbnRzKSwgdGhlIGN1cnJlbnQgdGltZSB3aWxsIGJlIHVzZWRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFttb250aD0xXSAtIFRoZSBtb250aCwgMS1pbmRleGVkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbZGF5PTFdIC0gVGhlIGRheSBvZiB0aGUgbW9udGgsIDEtaW5kZXhlZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWVcbiAgICogQHBhcmFtIHtudW1iZXJ9IFttaW51dGU9MF0gLSBUaGUgbWludXRlIG9mIHRoZSBob3VyLCBtZWFuaW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgNTlcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzZWNvbmQ9MF0gLSBUaGUgc2Vjb25kIG9mIHRoZSBtaW51dGUsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA1OVxuICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vd1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCh7IHpvbmU6IFwiQW1lcmljYS9OZXdfWW9ya1wiIH0pICAgICAgLy9+PiBub3csIGluIFVTIGVhc3QgY29hc3QgdGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMS0wMVQwMDowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0wMVQwMDowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgeyBsb2NhbGU6IFwiZnJcIiB9KSAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwLCB3aXRoIGEgRnJlbmNoIGxvY2FsZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSkgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTowMDowMFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgeyB6b25lOiBcInV0Y1wiIH0pICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwLCBpbiBVVENcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1KSAgICAgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MDBcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCkgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTBcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCwgNzY1KSAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAuNzY1XG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc3RhdGljIGxvY2FsKCkge1xuICAgIGNvbnN0IFtvcHRzLCBhcmdzXSA9IGxhc3RPcHRzKGFyZ3VtZW50cyksXG4gICAgICBbeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXSA9IGFyZ3M7XG4gICAgcmV0dXJuIHF1aWNrRFQoeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgfSwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgaW4gVVRDXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYHV0YygpYCB3aXRoIG5vIGFyZ3VtZW50cyksIHRoZSBjdXJyZW50IHRpbWUgd2lsbCBiZSB1c2VkXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbW9udGg9MV0gLSBUaGUgbW9udGgsIDEtaW5kZXhlZFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2RheT0xXSAtIFRoZSBkYXkgb2YgdGhlIG1vbnRoXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbaG91cj0wXSAtIFRoZSBob3VyIG9mIHRoZSBkYXksIGluIDI0LWhvdXIgdGltZVxuICAgKiBAcGFyYW0ge251bWJlcn0gW21pbnV0ZT0wXSAtIFRoZSBtaW51dGUgb2YgdGhlIGhvdXIsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA1OVxuICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbWlsbGlzZWNvbmQ9MF0gLSBUaGUgbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDk5OVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5sb2NhbGVdIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm91dHB1dENhbGVuZGFyXSAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm51bWJlcmluZ1N5c3RlbV0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vd1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDEtMDFUMDA6MDA6MDBaXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0wMVQwMDowMDowMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwWlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNywgMywgMTIsIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6MDA6MDBaXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzLCAxMiwgNSwgNDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NTowMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgeyBsb2NhbGU6IFwiZnJcIiB9KSAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MDBaIHdpdGggYSBGcmVuY2ggbG9jYWxlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE3LCAzLCAxMiwgNSwgNDUsIDEwKSAgICAgICAgICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NToxMFpcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSwgeyBsb2NhbGU6IFwiZnJcIiB9KSAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAuNzY1WiB3aXRoIGEgRnJlbmNoIGxvY2FsZVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyB1dGMoKSB7XG4gICAgY29uc3QgW29wdHMsIGFyZ3NdID0gbGFzdE9wdHMoYXJndW1lbnRzKSxcbiAgICAgIFt5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmRdID0gYXJncztcblxuICAgIG9wdHMuem9uZSA9IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZTtcbiAgICByZXR1cm4gcXVpY2tEVCh7IHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCB9LCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgSmF2YVNjcmlwdCBEYXRlIG9iamVjdC4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLlxuICAgKiBAcGFyYW0ge0RhdGV9IGRhdGUgLSBhIEphdmFTY3JpcHQgRGF0ZSBvYmplY3RcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTRGF0ZShkYXRlLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB0cyA9IGlzRGF0ZShkYXRlKSA/IGRhdGUudmFsdWVPZigpIDogTmFOO1xuICAgIGlmIChOdW1iZXIuaXNOYU4odHMpKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcImludmFsaWQgaW5wdXRcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgem9uZVRvVXNlID0gbm9ybWFsaXplWm9uZShvcHRpb25zLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgICBpZiAoIXpvbmVUb1VzZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZVRvVXNlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7XG4gICAgICB0czogdHMsXG4gICAgICB6b25lOiB6b25lVG9Vc2UsXG4gICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCAobWVhbmluZyBzaW5jZSAxIEphbnVhcnkgMTk3MCAwMDowMDowMCBVVEMpLiBVc2VzIHRoZSBkZWZhdWx0IHpvbmUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaWxsaXNlY29uZHMgLSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MCBVVENcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbU1pbGxpcyhtaWxsaXNlY29uZHMsIG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghaXNOdW1iZXIobWlsbGlzZWNvbmRzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICBgZnJvbU1pbGxpcyByZXF1aXJlcyBhIG51bWVyaWNhbCBpbnB1dCwgYnV0IHJlY2VpdmVkIGEgJHt0eXBlb2YgbWlsbGlzZWNvbmRzfSB3aXRoIHZhbHVlICR7bWlsbGlzZWNvbmRzfWBcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChtaWxsaXNlY29uZHMgPCAtTUFYX0RBVEUgfHwgbWlsbGlzZWNvbmRzID4gTUFYX0RBVEUpIHtcbiAgICAgIC8vIHRoaXMgaXNuJ3QgcGVyZmVjdCBiZWNhdXNlIGJlY2F1c2Ugd2UgY2FuIHN0aWxsIGVuZCB1cCBvdXQgb2YgcmFuZ2UgYmVjYXVzZSBvZiBhZGRpdGlvbmFsIHNoaWZ0aW5nLCBidXQgaXQncyBhIHN0YXJ0XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcIlRpbWVzdGFtcCBvdXQgb2YgcmFuZ2VcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe1xuICAgICAgICB0czogbWlsbGlzZWNvbmRzLFxuICAgICAgICB6b25lOiBub3JtYWxpemVab25lKG9wdGlvbnMuem9uZSwgU2V0dGluZ3MuZGVmYXVsdFpvbmUpLFxuICAgICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2ggKG1lYW5pbmcgc2luY2UgMSBKYW51YXJ5IDE5NzAgMDA6MDA6MDAgVVRDKS4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2Vjb25kcyAtIGEgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMTk3MCBVVENcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbVNlY29uZHMoc2Vjb25kcywgb3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKCFpc051bWJlcihzZWNvbmRzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFwiZnJvbVNlY29uZHMgcmVxdWlyZXMgYSBudW1lcmljYWwgaW5wdXRcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe1xuICAgICAgICB0czogc2Vjb25kcyAqIDEwMDAsXG4gICAgICAgIHpvbmU6IG5vcm1hbGl6ZVpvbmUob3B0aW9ucy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksXG4gICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGgga2V5cyBsaWtlICd5ZWFyJyBhbmQgJ2hvdXInIHdpdGggcmVhc29uYWJsZSBkZWZhdWx0cy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9iaiAtIHRoZSBvYmplY3QgdG8gY3JlYXRlIHRoZSBEYXRlVGltZSBmcm9tXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoueWVhciAtIGEgeWVhciwgc3VjaCBhcyAxOTg3XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubW9udGggLSBhIG1vbnRoLCAxLTEyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmouZGF5IC0gYSBkYXkgb2YgdGhlIG1vbnRoLCAxLTMxLCBkZXBlbmRpbmcgb24gdGhlIG1vbnRoXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoub3JkaW5hbCAtIGRheSBvZiB0aGUgeWVhciwgMS0zNjUgb3IgMzY2XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla1llYXIgLSBhbiBJU08gd2VlayB5ZWFyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla051bWJlciAtIGFuIElTTyB3ZWVrIG51bWJlciwgYmV0d2VlbiAxIGFuZCA1MiBvciA1MywgZGVwZW5kaW5nIG9uIHRoZSB5ZWFyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla2RheSAtIGFuIElTTyB3ZWVrZGF5LCAxLTcsIHdoZXJlIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLmhvdXIgLSBob3VyIG9mIHRoZSBkYXksIDAtMjNcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taW51dGUgLSBtaW51dGUgb2YgdGhlIGhvdXIsIDAtNTlcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmQgLSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgMC01OVxuICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbGxpc2Vjb25kIC0gbWlsbGlzZWNvbmQgb2YgdGhlIHNlY29uZCwgMC05OTlcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIGZvciBjcmVhdGluZyB0aGlzIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBpbnRlcnByZXQgdGhlIG51bWJlcnMgaW4gdGhlIGNvbnRleHQgb2YgYSBwYXJ0aWN1bGFyIHpvbmUuIENhbiB0YWtlIGFueSB2YWx1ZSB0YWtlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gc2V0Wm9uZSgpXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiAxOTgyLCBtb250aDogNSwgZGF5OiAyNX0pLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDUtMjUnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyOiAxOTgyIH0pLnRvSVNPRGF0ZSgpIC8vPT4gJzE5ODItMDEtMDEnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0pIC8vfj4gdG9kYXkgYXQgMTA6MjY6MDZcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IGhvdXI6IDEwLCBtaW51dGU6IDI2LCBzZWNvbmQ6IDYgfSwgeyB6b25lOiAndXRjJyB9KSxcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IGhvdXI6IDEwLCBtaW51dGU6IDI2LCBzZWNvbmQ6IDYgfSwgeyB6b25lOiAnbG9jYWwnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ0FtZXJpY2EvTmV3X1lvcmsnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyB3ZWVrWWVhcjogMjAxNiwgd2Vla051bWJlcjogMiwgd2Vla2RheTogMyB9KS50b0lTT0RhdGUoKSAvLz0+ICcyMDE2LTAxLTEzJ1xuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tT2JqZWN0KG9iaiwgb3B0cyA9IHt9KSB7XG4gICAgb2JqID0gb2JqIHx8IHt9O1xuICAgIGNvbnN0IHpvbmVUb1VzZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7XG4gICAgaWYgKCF6b25lVG9Vc2UuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmVUb1VzZSkpO1xuICAgIH1cblxuICAgIGNvbnN0IHRzTm93ID0gU2V0dGluZ3Mubm93KCksXG4gICAgICBvZmZzZXRQcm92aXMgPSAhaXNVbmRlZmluZWQob3B0cy5zcGVjaWZpY09mZnNldClcbiAgICAgICAgPyBvcHRzLnNwZWNpZmljT2Zmc2V0XG4gICAgICAgIDogem9uZVRvVXNlLm9mZnNldCh0c05vdyksXG4gICAgICBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KG9iaiwgbm9ybWFsaXplVW5pdCksXG4gICAgICBjb250YWluc09yZGluYWwgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yWWVhciA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLnllYXIpLFxuICAgICAgY29udGFpbnNHcmVnb3JNRCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm1vbnRoKSB8fCAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5kYXkpLFxuICAgICAgY29udGFpbnNHcmVnb3IgPSBjb250YWluc0dyZWdvclllYXIgfHwgY29udGFpbnNHcmVnb3JNRCxcbiAgICAgIGRlZmluaXRlV2Vla0RlZiA9IG5vcm1hbGl6ZWQud2Vla1llYXIgfHwgbm9ybWFsaXplZC53ZWVrTnVtYmVyLFxuICAgICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyk7XG5cbiAgICAvLyBjYXNlczpcbiAgICAvLyBqdXN0IGEgd2Vla2RheSAtPiB0aGlzIHdlZWsncyBpbnN0YW5jZSBvZiB0aGF0IHdlZWtkYXksIG5vIHdvcnJpZXNcbiAgICAvLyAoZ3JlZ29yaWFuIGRhdGEgb3Igb3JkaW5hbCkgKyAod2Vla1llYXIgb3Igd2Vla051bWJlcikgLT4gZXJyb3JcbiAgICAvLyAoZ3JlZ29yaWFuIG1vbnRoIG9yIGRheSkgKyBvcmRpbmFsIC0+IGVycm9yXG4gICAgLy8gb3RoZXJ3aXNlIGp1c3QgdXNlIHdlZWtzIG9yIG9yZGluYWxzIG9yIGdyZWdvcmlhbiwgZGVwZW5kaW5nIG9uIHdoYXQncyBzcGVjaWZpZWRcblxuICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcihcbiAgICAgICAgXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VXZWVrRGF0YSA9IGRlZmluaXRlV2Vla0RlZiB8fCAobm9ybWFsaXplZC53ZWVrZGF5ICYmICFjb250YWluc0dyZWdvcik7XG5cbiAgICAvLyBjb25maWd1cmUgb3Vyc2VsdmVzIHRvIGRlYWwgd2l0aCBncmVnb3JpYW4gZGF0ZXMgb3Igd2VlayBzdHVmZlxuICAgIGxldCB1bml0cyxcbiAgICAgIGRlZmF1bHRWYWx1ZXMsXG4gICAgICBvYmpOb3cgPSB0c1RvT2JqKHRzTm93LCBvZmZzZXRQcm92aXMpO1xuICAgIGlmICh1c2VXZWVrRGF0YSkge1xuICAgICAgdW5pdHMgPSBvcmRlcmVkV2Vla1VuaXRzO1xuICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRXZWVrVW5pdFZhbHVlcztcbiAgICAgIG9iak5vdyA9IGdyZWdvcmlhblRvV2VlayhvYmpOb3cpO1xuICAgIH0gZWxzZSBpZiAoY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB1bml0cyA9IG9yZGVyZWRPcmRpbmFsVW5pdHM7XG4gICAgICBkZWZhdWx0VmFsdWVzID0gZGVmYXVsdE9yZGluYWxVbml0VmFsdWVzO1xuICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9PcmRpbmFsKG9iak5vdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVuaXRzID0gb3JkZXJlZFVuaXRzO1xuICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRVbml0VmFsdWVzO1xuICAgIH1cblxuICAgIC8vIHNldCBkZWZhdWx0IHZhbHVlcyBmb3IgbWlzc2luZyBzdHVmZlxuICAgIGxldCBmb3VuZEZpcnN0ID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCB1IG9mIHVuaXRzKSB7XG4gICAgICBjb25zdCB2ID0gbm9ybWFsaXplZFt1XTtcbiAgICAgIGlmICghaXNVbmRlZmluZWQodikpIHtcbiAgICAgICAgZm91bmRGaXJzdCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGZvdW5kRmlyc3QpIHtcbiAgICAgICAgbm9ybWFsaXplZFt1XSA9IGRlZmF1bHRWYWx1ZXNbdV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub3JtYWxpemVkW3VdID0gb2JqTm93W3VdO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgdmFsdWVzIHdlIGhhdmUgYXJlIGluIHJhbmdlXG4gICAgY29uc3QgaGlnaGVyT3JkZXJJbnZhbGlkID0gdXNlV2Vla0RhdGFcbiAgICAgICAgPyBoYXNJbnZhbGlkV2Vla0RhdGEobm9ybWFsaXplZClcbiAgICAgICAgOiBjb250YWluc09yZGluYWxcbiAgICAgICAgPyBoYXNJbnZhbGlkT3JkaW5hbERhdGEobm9ybWFsaXplZClcbiAgICAgICAgOiBoYXNJbnZhbGlkR3JlZ29yaWFuRGF0YShub3JtYWxpemVkKSxcbiAgICAgIGludmFsaWQgPSBoaWdoZXJPcmRlckludmFsaWQgfHwgaGFzSW52YWxpZFRpbWVEYXRhKG5vcm1hbGl6ZWQpO1xuXG4gICAgaWYgKGludmFsaWQpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKGludmFsaWQpO1xuICAgIH1cblxuICAgIC8vIGNvbXB1dGUgdGhlIGFjdHVhbCB0aW1lXG4gICAgY29uc3QgZ3JlZ29yaWFuID0gdXNlV2Vla0RhdGFcbiAgICAgICAgPyB3ZWVrVG9HcmVnb3JpYW4obm9ybWFsaXplZClcbiAgICAgICAgOiBjb250YWluc09yZGluYWxcbiAgICAgICAgPyBvcmRpbmFsVG9HcmVnb3JpYW4obm9ybWFsaXplZClcbiAgICAgICAgOiBub3JtYWxpemVkLFxuICAgICAgW3RzRmluYWwsIG9mZnNldEZpbmFsXSA9IG9ialRvVFMoZ3JlZ29yaWFuLCBvZmZzZXRQcm92aXMsIHpvbmVUb1VzZSksXG4gICAgICBpbnN0ID0gbmV3IERhdGVUaW1lKHtcbiAgICAgICAgdHM6IHRzRmluYWwsXG4gICAgICAgIHpvbmU6IHpvbmVUb1VzZSxcbiAgICAgICAgbzogb2Zmc2V0RmluYWwsXG4gICAgICAgIGxvYyxcbiAgICAgIH0pO1xuXG4gICAgLy8gZ3JlZ29yaWFuIGRhdGEgKyB3ZWVrZGF5IHNlcnZlcyBvbmx5IHRvIHZhbGlkYXRlXG4gICAgaWYgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiBjb250YWluc0dyZWdvciAmJiBvYmoud2Vla2RheSAhPT0gaW5zdC53ZWVrZGF5KSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChcbiAgICAgICAgXCJtaXNtYXRjaGVkIHdlZWtkYXlcIixcbiAgICAgICAgYHlvdSBjYW4ndCBzcGVjaWZ5IGJvdGggYSB3ZWVrZGF5IG9mICR7bm9ybWFsaXplZC53ZWVrZGF5fSBhbmQgYSBkYXRlIG9mICR7aW5zdC50b0lTTygpfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluc3Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBJU08gODYwMSBzdHJpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgSVNPIHN0cmluZ1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0cy56b25lPSdsb2NhbCddIC0gdXNlIHRoaXMgem9uZSBpZiBubyBvZmZzZXQgaXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dCBzdHJpbmcgaXRzZWxmLiBXaWxsIGFsc28gY29udmVydCB0aGUgdGltZSB0byB0aGlzIHpvbmVcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nc3lzdGVtJ3MgbG9jYWxlJ10gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMub3V0cHV0Q2FsZW5kYXJdIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtMDUtMjVUMDk6MDg6MzQuMTIzJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUlTTygnMjAxNi0wNS0yNVQwOTowODozNC4xMjMrMDY6MDAnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcsIHtzZXRab25lOiB0cnVlfSlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUlTTygnMjAxNi0wNS0yNVQwOTowODozNC4xMjMnLCB7em9uZTogJ3V0Yyd9KVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LVcwNS00JylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzID0ge30pIHtcbiAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZUlTT0RhdGUodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgXCJJU08gODYwMVwiLCB0ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIFJGQyAyODIyIHN0cmluZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBSRkMgMjgyMiBzdHJpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIGNvbnZlcnQgdGhlIHRpbWUgdG8gdGhpcyB6b25lLiBTaW5jZSB0aGUgb2Zmc2V0IGlzIGFsd2F5cyBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIHRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGUgaW50ZXJwcmV0YXRpb24gb2Ygc3RyaW5nLCBtZXJlbHkgdGhlIHpvbmUgdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpcyBleHByZXNzZWQgaW4uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgZml4ZWQtb2Zmc2V0IHpvbmUgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCBpZiBpdCBzcGVjaWZpZXMgb25lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMzoxMiBHTVQnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tUkZDMjgyMignRnJpLCAyNSBOb3YgMjAxNiAxMzoyMzoxMiArMDYwMCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMyBaJylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbVJGQzI4MjIodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VSRkMyODIyRGF0ZSh0ZXh0KTtcbiAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBcIlJGQyAyODIyXCIsIHRleHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYW4gSFRUUCBoZWFkZXIgZGF0ZVxuICAgKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzMuaHRtbCNzZWMzLjMuMVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBIVFRQIGhlYWRlciBkYXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0byBhZmZlY3QgdGhlIGNyZWF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZS4gU2luY2UgSFRUUCBkYXRlcyBhcmUgYWx3YXlzIGluIFVUQywgdGhpcyBoYXMgbm8gZWZmZWN0IG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBzdHJpbmcsIG1lcmVseSB0aGUgem9uZSB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGlzIGV4cHJlc3NlZCBpbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggdGhlIGZpeGVkLW9mZnNldCB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nLiBGb3IgSFRUUCBkYXRlcywgdGhpcyBpcyBhbHdheXMgVVRDLCBzbyB0aGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcgdGhlIGB6b25lYCBvcHRpb24gdG8gJ3V0YycsIGJ1dCB0aGlzIG9wdGlvbiBpcyBpbmNsdWRlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCBzaW1pbGFyIG1ldGhvZHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21IVFRQKCdTdW4sIDA2IE5vdiAxOTk0IDA4OjQ5OjM3IEdNVCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21IVFRQKCdTdW5kYXksIDA2LU5vdi05NCAwODo0OTozNyBHTVQnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuIE5vdiAgNiAwODo0OTozNyAxOTk0JylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUhUVFAodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VIVFRQRGF0ZSh0ZXh0KTtcbiAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBcIkhUVFBcIiwgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBpbnB1dCBzdHJpbmcgYW5kIGZvcm1hdCBzdHJpbmcuXG4gICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4gRm9yIGEgdGFibGUgb2YgdG9rZW5zIGFuZCB0aGVpciBpbnRlcnByZXRhdGlvbnMsIHNlZSBbaGVyZV0oaHR0cHM6Ly9tb21lbnQuZ2l0aHViLmlvL2x1eG9uLyMvcGFyc2luZz9pZD10YWJsZS1vZi10b2tlbnMpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIHRoZSBsaW5rIGJlbG93IGZvciB0aGUgZm9ybWF0cylcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIHVzZSB0aGlzIHpvbmUgaWYgbm8gb2Zmc2V0IGlzIHNwZWNpZmllZCBpbiB0aGUgaW5wdXQgc3RyaW5nIGl0c2VsZi4gV2lsbCBhbHNvIGNvbnZlcnQgdGhlIERhdGVUaW1lIHRvIHRoaXMgem9uZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnNldFpvbmU9ZmFsc2VdIC0gb3ZlcnJpZGUgdGhlIHpvbmUgd2l0aCBhIHpvbmUgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCBpZiBpdCBzcGVjaWZpZXMgb25lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSBhIGxvY2FsZSBzdHJpbmcgdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyBsb2NhbGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIHRvIHRoaXMgbnVtYmVyaW5nIHN5c3RlbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2VcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUZvcm1hdCh0ZXh0LCBmbXQsIG9wdHMgPSB7fSkge1xuICAgIGlmIChpc1VuZGVmaW5lZCh0ZXh0KSB8fCBpc1VuZGVmaW5lZChmbXQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJmcm9tRm9ybWF0IHJlcXVpcmVzIGFuIGlucHV0IHN0cmluZyBhbmQgYSBmb3JtYXRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsIH0gPSBvcHRzLFxuICAgICAgbG9jYWxlVG9Vc2UgPSBMb2NhbGUuZnJvbU9wdHMoe1xuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG51bWJlcmluZ1N5c3RlbSxcbiAgICAgICAgZGVmYXVsdFRvRU46IHRydWUsXG4gICAgICB9KSxcbiAgICAgIFt2YWxzLCBwYXJzZWRab25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZF0gPSBwYXJzZUZyb21Ub2tlbnMobG9jYWxlVG9Vc2UsIHRleHQsIGZtdCk7XG4gICAgaWYgKGludmFsaWQpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKGludmFsaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcGFyc2VEYXRhVG9EYXRlVGltZSh2YWxzLCBwYXJzZWRab25lLCBvcHRzLCBgZm9ybWF0ICR7Zm10fWAsIHRleHQsIHNwZWNpZmljT2Zmc2V0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGZyb21Gb3JtYXQgaW5zdGVhZFxuICAgKi9cbiAgc3RhdGljIGZyb21TdHJpbmcodGV4dCwgZm10LCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdCh0ZXh0LCBmbXQsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBTUUwgZGF0ZSwgdGltZSwgb3IgZGF0ZXRpbWVcbiAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIHN0cmluZyB0byBwYXJzZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0cy56b25lPSdsb2NhbCddIC0gdXNlIHRoaXMgem9uZSBpZiBubyBvZmZzZXQgaXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dCBzdHJpbmcgaXRzZWxmLiBXaWxsIGFsc28gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyB6b25lXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIGEgbG9jYWxlIHN0cmluZyB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSBEYXRlVGltZSB0byB0aGlzIGxvY2FsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgdG8gdGhpcyBudW1iZXJpbmcgc3lzdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1JylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNCcpXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzIwMTctMDUtMTUgMDk6MTI6MzQuMzQyJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIrMDY6MDAnKVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MiBBbWVyaWNhL0xvc19BbmdlbGVzJylcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIgQW1lcmljYS9Mb3NfQW5nZWxlcycsIHsgc2V0Wm9uZTogdHJ1ZSB9KVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MicsIHsgem9uZTogJ0FtZXJpY2EvTG9zX0FuZ2VsZXMnIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzA5OjEyOjM0LjM0MicpXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc3RhdGljIGZyb21TUUwodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VTUUwodGV4dCk7XG4gICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgXCJTUUxcIiwgdGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGludmFsaWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWFzb24gLSBzaW1wbGUgc3RyaW5nIG9mIHdoeSB0aGlzIERhdGVUaW1lIGlzIGludmFsaWQuIFNob3VsZCBub3QgY29udGFpbiBwYXJhbWV0ZXJzIG9yIGFueXRoaW5nIGVsc2UgZGF0YS1kZXBlbmRlbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtleHBsYW5hdGlvbj1udWxsXSAtIGxvbmdlciBleHBsYW5hdGlvbiwgbWF5IGluY2x1ZGUgcGFyYW1ldGVycyBhbmQgb3RoZXIgdXNlZnVsIGRlYnVnZ2luZyBpbmZvcm1hdGlvblxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHN0YXRpYyBpbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24gPSBudWxsKSB7XG4gICAgaWYgKCFyZWFzb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgRGF0ZVRpbWUgaXMgaW52YWxpZFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pO1xuXG4gICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZERhdGVUaW1lRXJyb3IoaW52YWxpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoeyBpbnZhbGlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgRGF0ZVRpbWUuIFdvcmtzIGFjcm9zcyBjb250ZXh0IGJvdW5kYXJpZXNcbiAgICogQHBhcmFtIHtvYmplY3R9IG9cbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyBpc0RhdGVUaW1lKG8pIHtcbiAgICByZXR1cm4gKG8gJiYgby5pc0x1eG9uRGF0ZVRpbWUpIHx8IGZhbHNlO1xuICB9XG5cbiAgLy8gSU5GT1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbHVlIG9mIHVuaXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gYSB1bml0IHN1Y2ggYXMgJ21pbnV0ZScgb3IgJ2RheSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdtb250aCcpOyAvLz0+IDdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdkYXknKTsgLy89PiA0XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGdldCh1bml0KSB7XG4gICAgcmV0dXJuIHRoaXNbdW5pdF07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBEYXRlVGltZSBpcyB2YWxpZC4gSW52YWxpZCBEYXRlVGltZXMgb2NjdXIgd2hlbjpcbiAgICogKiBUaGUgRGF0ZVRpbWUgd2FzIGNyZWF0ZWQgZnJvbSBpbnZhbGlkIGNhbGVuZGFyIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSAxM3RoIG1vbnRoIG9yIEZlYnJ1YXJ5IDMwXG4gICAqICogVGhlIERhdGVUaW1lIHdhcyBjcmVhdGVkIGJ5IGFuIG9wZXJhdGlvbiBvbiBhbm90aGVyIGludmFsaWQgZGF0ZVxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBlcnJvciBjb2RlIGlmIHRoaXMgRGF0ZVRpbWUgaXMgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRGF0ZVRpbWUgaXMgdmFsaWRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCBpbnZhbGlkUmVhc29uKCkge1xuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyB0aGlzLmludmFsaWQucmVhc29uIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIERhdGVUaW1lIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBEYXRlVGltZSBpcyB2YWxpZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IGludmFsaWRFeHBsYW5hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gdGhpcy5pbnZhbGlkLmV4cGxhbmF0aW9uIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxvY2FsZSBvZiBhIERhdGVUaW1lLCBzdWNoICdlbi1HQicuIFRoZSBsb2NhbGUgaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyaW5nIHN5c3RlbSBvZiBhIERhdGVUaW1lLCBzdWNoICdiZW5nJy4gVGhlIG51bWJlcmluZyBzeXN0ZW0gaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgb3V0cHV0IGNhbGVuZGFyIG9mIGEgRGF0ZVRpbWUsIHN1Y2ggJ2lzbGFtaWMnLiBUaGUgb3V0cHV0IGNhbGVuZGFyIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZVxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG91dHB1dENhbGVuZGFyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5vdXRwdXRDYWxlbmRhciA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0aW1lIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgRGF0ZVRpbWUuXG4gICAqIEB0eXBlIHtab25lfVxuICAgKi9cbiAgZ2V0IHpvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3pvbmU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSB0aW1lIHpvbmUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgem9uZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuem9uZS5uYW1lIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLnllYXIgLy89PiAyMDE3XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgeWVhcigpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnllYXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBxdWFydGVyXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5xdWFydGVyIC8vPT4gMlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHF1YXJ0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IE1hdGguY2VpbCh0aGlzLmMubW9udGggLyAzKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1vbnRoICgxLTEyKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm1vbnRoIC8vPT4gNVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IG1vbnRoKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubW9udGggOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIG1vbnRoICgxLTMwaXNoKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLmRheSAvLz0+IDI1XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgZGF5KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMuZGF5IDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaG91ciBvZiB0aGUgZGF5ICgwLTIzKS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDkpLmhvdXIgLy89PiA5XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgaG91cigpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLmhvdXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtaW51dGUgb2YgdGhlIGhvdXIgKDAtNTkpLlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzApLm1pbnV0ZSAvLz0+IDMwXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgbWludXRlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWludXRlIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2Vjb25kIG9mIHRoZSBtaW51dGUgKDAtNTkpLlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzAsIDUyKS5zZWNvbmQgLy89PiA1MlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHNlY29uZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLnNlY29uZCA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQgKDAtOTk5KS5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwLCA1MiwgNjU0KS5taWxsaXNlY29uZCAvLz0+IDY1NFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IG1pbGxpc2Vjb25kKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWlsbGlzZWNvbmQgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3ZWVrIHllYXJcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDEyLCAzMSkud2Vla1llYXIgLy89PiAyMDE1XG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla1llYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla1llYXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB3ZWVrIG51bWJlciBvZiB0aGUgd2VlayB5ZWFyICgxLTUyaXNoKS5cbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS53ZWVrTnVtYmVyIC8vPT4gMjFcbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIGdldCB3ZWVrTnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKHRoaXMpLndlZWtOdW1iZXIgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIHdlZWsuXG4gICAqIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheVxuICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGVcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMTEsIDMxKS53ZWVrZGF5IC8vPT4gNFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IHdlZWtkYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHBvc3NpYmx5Q2FjaGVkV2Vla0RhdGEodGhpcykud2Vla2RheSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG9yZGluYWwgKG1lYW5pbmcgdGhlIGRheSBvZiB0aGUgeWVhcilcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm9yZGluYWwgLy89PiAxNDVcbiAgICogQHR5cGUge251bWJlcnxEYXRlVGltZX1cbiAgICovXG4gIGdldCBvcmRpbmFsKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKS5vcmRpbmFsIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgc2hvcnQgbW9udGggbmFtZSwgc3VjaCBhcyAnT2N0Jy5cbiAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkubW9udGhTaG9ydCAvLz0+IE9jdFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG1vbnRoU2hvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ubW9udGhzKFwic2hvcnRcIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBsb25nIG1vbnRoIG5hbWUsIHN1Y2ggYXMgJ09jdG9iZXInLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS5tb250aExvbmcgLy89PiBPY3RvYmVyXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgbW9udGhMb25nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLm1vbnRocyhcImxvbmdcIiwgeyBsb2NPYmo6IHRoaXMubG9jIH0pW3RoaXMubW9udGggLSAxXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBodW1hbiByZWFkYWJsZSBzaG9ydCB3ZWVrZGF5LCBzdWNoIGFzICdNb24nLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5U2hvcnQgLy89PiBNb25cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCB3ZWVrZGF5U2hvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IEluZm8ud2Vla2RheXMoXCJzaG9ydFwiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgbG9uZyB3ZWVrZGF5LCBzdWNoIGFzICdNb25kYXknLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5TG9uZyAvLz0+IE1vbmRheVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IHdlZWtkYXlMb25nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLndlZWtkYXlzKFwibG9uZ1wiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy53ZWVrZGF5IC0gMV0gOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgVVRDIG9mZnNldCBvZiB0aGlzIERhdGVUaW1lIGluIG1pbnV0ZXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkub2Zmc2V0IC8vPT4gLTI0MFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5vZmZzZXQgLy89PiAwXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgb2Zmc2V0KCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyArdGhpcy5vIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc2hvcnQgaHVtYW4gbmFtZSBmb3IgdGhlIHpvbmUncyBjdXJyZW50IG9mZnNldCwgZm9yIGV4YW1wbGUgXCJFU1RcIiBvciBcIkVEVFwiLlxuICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWRcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGdldCBvZmZzZXROYW1lU2hvcnQoKSB7XG4gICAgaWYgKHRoaXMuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIHRoaXMuem9uZS5vZmZzZXROYW1lKHRoaXMudHMsIHtcbiAgICAgICAgZm9ybWF0OiBcInNob3J0XCIsXG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbG9uZyBodW1hbiBuYW1lIGZvciB0aGUgem9uZSdzIGN1cnJlbnQgb2Zmc2V0LCBmb3IgZXhhbXBsZSBcIkVhc3Rlcm4gU3RhbmRhcmQgVGltZVwiIG9yIFwiRWFzdGVybiBEYXlsaWdodCBUaW1lXCIuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IG9mZnNldE5hbWVMb25nKCkge1xuICAgIGlmICh0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnpvbmUub2Zmc2V0TmFtZSh0aGlzLnRzLCB7XG4gICAgICAgIGZvcm1hdDogXCJsb25nXCIsXG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIHRoaXMgem9uZSdzIG9mZnNldCBldmVyIGNoYW5nZXMsIGFzIGluIGEgRFNULlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBpc09mZnNldEZpeGVkKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnpvbmUuaXNVbml2ZXJzYWwgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3aGV0aGVyIHRoZSBEYXRlVGltZSBpcyBpbiBhIERTVC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNJbkRTVCgpIHtcbiAgICBpZiAodGhpcy5pc09mZnNldEZpeGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMub2Zmc2V0ID4gdGhpcy5zZXQoeyBtb250aDogMSwgZGF5OiAxIH0pLm9mZnNldCB8fFxuICAgICAgICB0aGlzLm9mZnNldCA+IHRoaXMuc2V0KHsgbW9udGg6IDUgfSkub2Zmc2V0XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBEYXRlVGltZSBpcyBpbiBhIGxlYXAgeWVhciwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmlzSW5MZWFwWWVhciAvLz0+IHRydWVcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuaXNJbkxlYXBZZWFyIC8vPT4gZmFsc2VcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgaXNJbkxlYXBZZWFyKCkge1xuICAgIHJldHVybiBpc0xlYXBZZWFyKHRoaXMueWVhcik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRheXMgaW4gdGhpcyBEYXRlVGltZSdzIG1vbnRoXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYsIDIpLmRheXNJbk1vbnRoIC8vPT4gMjlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNiwgMykuZGF5c0luTW9udGggLy89PiAzMVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXNJbk1vbnRoKCkge1xuICAgIHJldHVybiBkYXlzSW5Nb250aCh0aGlzLnllYXIsIHRoaXMubW9udGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoaXMgRGF0ZVRpbWUncyB5ZWFyXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmRheXNJblllYXIgLy89PiAzNjZcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykuZGF5c0luWWVhciAvLz0+IDM2NVxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZ2V0IGRheXNJblllYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IGRheXNJblllYXIodGhpcy55ZWFyKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygd2Vla3MgaW4gdGhpcyBEYXRlVGltZSdzIHllYXJcbiAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMDQpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUzXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTMpLndlZWtzSW5XZWVrWWVhciAvLz0+IDUyXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBnZXQgd2Vla3NJbldlZWtZZWFyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB3ZWVrc0luV2Vla1llYXIodGhpcy53ZWVrWWVhcikgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcmVzb2x2ZWQgSW50bCBvcHRpb25zIGZvciB0aGlzIERhdGVUaW1lLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpbiB1bmRlcnN0YW5kaW5nIHRoZSBiZWhhdmlvciBvZiBmb3JtYXR0aW5nIG1ldGhvZHNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSB0aGUgc2FtZSBvcHRpb25zIGFzIHRvTG9jYWxlU3RyaW5nXG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHJlc29sdmVkTG9jYWxlT3B0aW9ucyhvcHRzID0ge30pIHtcbiAgICBjb25zdCB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBjYWxlbmRhciB9ID0gRm9ybWF0dGVyLmNyZWF0ZShcbiAgICAgIHRoaXMubG9jLmNsb25lKG9wdHMpLFxuICAgICAgb3B0c1xuICAgICkucmVzb2x2ZWRPcHRpb25zKHRoaXMpO1xuICAgIHJldHVybiB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcjogY2FsZW5kYXIgfTtcbiAgfVxuXG4gIC8vIFRSQU5TRk9STVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gVVRDLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8ge0BsaW5rIERhdGVUaW1lI3NldFpvbmV9KCd1dGMnKVxuICAgKiBAcGFyYW0ge251bWJlcn0gW29mZnNldD0wXSAtIG9wdGlvbmFsbHksIGFuIG9mZnNldCBmcm9tIFVUQyBpbiBtaW51dGVzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0cz17fV0gLSBvcHRpb25zIHRvIHBhc3MgdG8gYHNldFpvbmUoKWBcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICB0b1VUQyhvZmZzZXQgPSAwLCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5zZXRab25lKEZpeGVkT2Zmc2V0Wm9uZS5pbnN0YW5jZShvZmZzZXQpLCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gdGhlIGhvc3QncyBsb2NhbCB6b25lLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqXG4gICAqIEVxdWl2YWxlbnQgdG8gYHNldFpvbmUoJ2xvY2FsJylgXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgdG9Mb2NhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZXRab25lKFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gc3BlY2lmaWVkIHpvbmUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIHNldHRlciBrZWVwcyB0aGUgdW5kZXJseWluZyB0aW1lIHRoZSBzYW1lIChhcyBpbiwgdGhlIHNhbWUgdGltZXN0YW1wKSwgYnV0IHRoZSBuZXcgaW5zdGFuY2Ugd2lsbCByZXBvcnQgZGlmZmVyZW50IGxvY2FsIHRpbWVzIGFuZCBjb25zaWRlciBEU1RzIHdoZW4gbWFraW5nIGNvbXB1dGF0aW9ucywgYXMgd2l0aCB7QGxpbmsgRGF0ZVRpbWUjcGx1c30uIFlvdSBtYXkgd2lzaCB0byB1c2Uge0BsaW5rIERhdGVUaW1lI3RvTG9jYWx9IGFuZCB7QGxpbmsgRGF0ZVRpbWUjdG9VVEN9IHdoaWNoIHByb3ZpZGUgc2ltcGxlIGNvbnZlbmllbmNlIHdyYXBwZXJzIGZvciBjb21tb25seSB1c2VkIHpvbmVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbem9uZT0nbG9jYWwnXSAtIGEgem9uZSBpZGVudGlmaWVyLiBBcyBhIHN0cmluZywgdGhhdCBjYW4gYmUgYW55IElBTkEgem9uZSBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QgZW52aXJvbm1lbnQsIG9yIGEgZml4ZWQtb2Zmc2V0IG5hbWUgb2YgdGhlIGZvcm0gJ1VUQyszJywgb3IgdGhlIHN0cmluZ3MgJ2xvY2FsJyBvciAndXRjJy4gWW91IG1heSBhbHNvIHN1cHBseSBhbiBpbnN0YW5jZSBvZiBhIHtAbGluayBEYXRlVGltZSNab25lfSBjbGFzcy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMua2VlcExvY2FsVGltZT1mYWxzZV0gLSBJZiB0cnVlLCBhZGp1c3QgdGhlIHVuZGVybHlpbmcgdGltZSBzbyB0aGF0IHRoZSBsb2NhbCB0aW1lIHN0YXlzIHRoZSBzYW1lLCBidXQgaW4gdGhlIHRhcmdldCB6b25lLiBZb3Ugc2hvdWxkIHJhcmVseSBuZWVkIHRoaXMuXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgc2V0Wm9uZSh6b25lLCB7IGtlZXBMb2NhbFRpbWUgPSBmYWxzZSwga2VlcENhbGVuZGFyVGltZSA9IGZhbHNlIH0gPSB7fSkge1xuICAgIHpvbmUgPSBub3JtYWxpemVab25lKHpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKTtcbiAgICBpZiAoem9uZS5lcXVhbHModGhpcy56b25lKSkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIGlmICghem9uZS5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbmV3VFMgPSB0aGlzLnRzO1xuICAgICAgaWYgKGtlZXBMb2NhbFRpbWUgfHwga2VlcENhbGVuZGFyVGltZSkge1xuICAgICAgICBjb25zdCBvZmZzZXRHdWVzcyA9IHpvbmUub2Zmc2V0KHRoaXMudHMpO1xuICAgICAgICBjb25zdCBhc09iaiA9IHRoaXMudG9PYmplY3QoKTtcbiAgICAgICAgW25ld1RTXSA9IG9ialRvVFMoYXNPYmosIG9mZnNldEd1ZXNzLCB6b25lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHRzOiBuZXdUUywgem9uZSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG9yIG91dHB1dENhbGVuZGFyLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIC0gdGhlIHByb3BlcnRpZXMgdG8gc2V0XG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0gPSB7fSkge1xuICAgIGNvbnN0IGxvYyA9IHRoaXMubG9jLmNsb25lKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0pO1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IGxvYyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIlNldFwiIHRoZSBsb2NhbGUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS5cbiAgICogSnVzdCBhIGNvbnZlbmllbnQgYWxpYXMgZm9yIHJlY29uZmlndXJlKHsgbG9jYWxlIH0pXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5zZXRMb2NhbGUoJ2VuLUdCJylcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzZXRMb2NhbGUobG9jYWxlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb25maWd1cmUoeyBsb2NhbGUgfSk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGUgdmFsdWVzIG9mIHNwZWNpZmllZCB1bml0cy4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLlxuICAgKiBZb3UgY2FuIG9ubHkgc2V0IHVuaXRzIHdpdGggdGhpcyBtZXRob2Q7IGZvciBcInNldHRpbmdcIiBtZXRhZGF0YSwgc2VlIHtAbGluayBEYXRlVGltZSNyZWNvbmZpZ3VyZX0gYW5kIHtAbGluayBEYXRlVGltZSNzZXRab25lfS5cbiAgICogQHBhcmFtIHtPYmplY3R9IHZhbHVlcyAtIGEgbWFwcGluZyBvZiB1bml0cyB0byBudW1iZXJzXG4gICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMTcgfSlcbiAgICogQGV4YW1wbGUgZHQuc2V0KHsgaG91cjogOCwgbWludXRlOiAzMCB9KVxuICAgKiBAZXhhbXBsZSBkdC5zZXQoeyB3ZWVrZGF5OiA1IH0pXG4gICAqIEBleGFtcGxlIGR0LnNldCh7IHllYXI6IDIwMDUsIG9yZGluYWw6IDIzNCB9KVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIHNldCh2YWx1ZXMpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KHZhbHVlcywgbm9ybWFsaXplVW5pdCksXG4gICAgICBzZXR0aW5nV2Vla1N0dWZmID1cbiAgICAgICAgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQud2Vla1llYXIpIHx8XG4gICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtOdW1iZXIpIHx8XG4gICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtkYXkpLFxuICAgICAgY29udGFpbnNPcmRpbmFsID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQub3JkaW5hbCksXG4gICAgICBjb250YWluc0dyZWdvclllYXIgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC55ZWFyKSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yTUQgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5tb250aCkgfHwgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSxcbiAgICAgIGNvbnRhaW5zR3JlZ29yID0gY29udGFpbnNHcmVnb3JZZWFyIHx8IGNvbnRhaW5zR3JlZ29yTUQsXG4gICAgICBkZWZpbml0ZVdlZWtEZWYgPSBub3JtYWxpemVkLndlZWtZZWFyIHx8IG5vcm1hbGl6ZWQud2Vla051bWJlcjtcblxuICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcihcbiAgICAgICAgXCJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRhaW5zR3JlZ29yTUQgJiYgY29udGFpbnNPcmRpbmFsKSB7XG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVwiKTtcbiAgICB9XG5cbiAgICBsZXQgbWl4ZWQ7XG4gICAgaWYgKHNldHRpbmdXZWVrU3R1ZmYpIHtcbiAgICAgIG1peGVkID0gd2Vla1RvR3JlZ29yaWFuKHsgLi4uZ3JlZ29yaWFuVG9XZWVrKHRoaXMuYyksIC4uLm5vcm1hbGl6ZWQgfSk7XG4gICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSkge1xuICAgICAgbWl4ZWQgPSBvcmRpbmFsVG9HcmVnb3JpYW4oeyAuLi5ncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKSwgLi4ubm9ybWFsaXplZCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWl4ZWQgPSB7IC4uLnRoaXMudG9PYmplY3QoKSwgLi4ubm9ybWFsaXplZCB9O1xuXG4gICAgICAvLyBpZiB3ZSBkaWRuJ3Qgc2V0IHRoZSBkYXkgYnV0IHdlIGVuZGVkIHVwIG9uIGFuIG92ZXJmbG93IGRhdGUsXG4gICAgICAvLyB1c2UgdGhlIGxhc3QgZGF5IG9mIHRoZSByaWdodCBtb250aFxuICAgICAgaWYgKGlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSkge1xuICAgICAgICBtaXhlZC5kYXkgPSBNYXRoLm1pbihkYXlzSW5Nb250aChtaXhlZC55ZWFyLCBtaXhlZC5tb250aCksIG1peGVkLmRheSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgW3RzLCBvXSA9IG9ialRvVFMobWl4ZWQsIHRoaXMubywgdGhpcy56b25lKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgeyB0cywgbyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBwZXJpb2Qgb2YgdGltZSB0byB0aGlzIERhdGVUaW1lIGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyBEYXRlVGltZVxuICAgKlxuICAgKiBBZGRpbmcgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG9yIG1pbGxpc2Vjb25kcyBpbmNyZWFzZXMgdGhlIHRpbWVzdGFtcCBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy4gQWRkaW5nIGRheXMsIG1vbnRocywgb3IgeWVhcnMgc2hpZnRzIHRoZSBjYWxlbmRhciwgYWNjb3VudGluZyBmb3IgRFNUcyBhbmQgbGVhcCB5ZWFycyBhbG9uZyB0aGUgd2F5LiBUaHVzLCBgZHQucGx1cyh7IGhvdXJzOiAyNCB9KWAgbWF5IHJlc3VsdCBpbiBhIGRpZmZlcmVudCB0aW1lIHRoYW4gYGR0LnBsdXMoeyBkYXlzOiAxIH0pYCBpZiB0aGVyZSdzIGEgRFNUIHNoaWZ0IGluIGJldHdlZW4uXG4gICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KClcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cygxMjMpIC8vfj4gaW4gMTIzIG1pbGxpc2Vjb25kc1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgbWludXRlczogMTUgfSkgLy9+PiBpbiAxNSBtaW51dGVzXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pIC8vfj4gdGhpcyB0aW1lIHRvbW9ycm93XG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAtMSB9KSAvL34+IHRoaXMgdGltZSB5ZXN0ZXJkYXlcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGhvdXJzOiAzLCBtaW51dGVzOiAxMyB9KSAvL34+IGluIDMgaHIsIDEzIG1pblxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMywgbWludXRlczogMTMgfSkpIC8vfj4gaW4gMyBociwgMTMgbWluXG4gICAqIEByZXR1cm4ge0RhdGVUaW1lfVxuICAgKi9cbiAgcGx1cyhkdXJhdGlvbikge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTtcbiAgICByZXR1cm4gY2xvbmUodGhpcywgYWRqdXN0VGltZSh0aGlzLCBkdXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJ0cmFjdCBhIHBlcmlvZCBvZiB0aW1lIHRvIHRoaXMgRGF0ZVRpbWUgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lXG4gICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjcGx1c31cbiAgICogQHBhcmFtIHtEdXJhdGlvbnxPYmplY3R8bnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbW91bnQgdG8gc3VidHJhY3QuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpXG4gICBAcmV0dXJuIHtEYXRlVGltZX1cbiAgICovXG4gIG1pbnVzKGR1cmF0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzO1xuICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLm5lZ2F0ZSgpO1xuICAgIHJldHVybiBjbG9uZSh0aGlzLCBhZGp1c3RUaW1lKHRoaXMsIGR1cikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFwiU2V0XCIgdGhpcyBEYXRlVGltZSB0byB0aGUgYmVnaW5uaW5nIG9mIGEgdW5pdCBvZiB0aW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIFRoZSB1bml0IHRvIGdvIHRvIHRoZSBiZWdpbm5pbmcgb2YuIENhbiBiZSAneWVhcicsICdxdWFydGVyJywgJ21vbnRoJywgJ3dlZWsnLCAnZGF5JywgJ2hvdXInLCAnbWludXRlJywgJ3NlY29uZCcsIG9yICdtaWxsaXNlY29uZCcuXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ21vbnRoJykudG9JU09EYXRlKCk7IC8vPT4gJzIwMTQtMDMtMDEnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLnN0YXJ0T2YoJ3llYXInKS50b0lTT0RhdGUoKTsgLy89PiAnMjAxNC0wMS0wMSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuc3RhcnRPZignd2VlaycpLnRvSVNPRGF0ZSgpOyAvLz0+ICcyMDE0LTAzLTAzJywgd2Vla3MgYWx3YXlzIHN0YXJ0IG9uIE1vbmRheXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMywgNSwgMzApLnN0YXJ0T2YoJ2RheScpLnRvSVNPVGltZSgpOyAvLz0+ICcwMDowMC4wMDAtMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMsIDUsIDMwKS5zdGFydE9mKCdob3VyJykudG9JU09UaW1lKCk7IC8vPT4gJzA1OjAwOjAwLjAwMC0wNTowMCdcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBzdGFydE9mKHVuaXQpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7XG4gICAgY29uc3QgbyA9IHt9LFxuICAgICAgbm9ybWFsaXplZFVuaXQgPSBEdXJhdGlvbi5ub3JtYWxpemVVbml0KHVuaXQpO1xuICAgIHN3aXRjaCAobm9ybWFsaXplZFVuaXQpIHtcbiAgICAgIGNhc2UgXCJ5ZWFyc1wiOlxuICAgICAgICBvLm1vbnRoID0gMTtcbiAgICAgIC8vIGZhbGxzIHRocm91Z2hcbiAgICAgIGNhc2UgXCJxdWFydGVyc1wiOlxuICAgICAgY2FzZSBcIm1vbnRoc1wiOlxuICAgICAgICBvLmRheSA9IDE7XG4gICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICBjYXNlIFwid2Vla3NcIjpcbiAgICAgIGNhc2UgXCJkYXlzXCI6XG4gICAgICAgIG8uaG91ciA9IDA7XG4gICAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgICBjYXNlIFwiaG91cnNcIjpcbiAgICAgICAgby5taW51dGUgPSAwO1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgICAgY2FzZSBcIm1pbnV0ZXNcIjpcbiAgICAgICAgby5zZWNvbmQgPSAwO1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgICAgY2FzZSBcInNlY29uZHNcIjpcbiAgICAgICAgby5taWxsaXNlY29uZCA9IDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1pbGxpc2Vjb25kc1wiOlxuICAgICAgICBicmVhaztcbiAgICAgIC8vIG5vIGRlZmF1bHQsIGludmFsaWQgdW5pdHMgdGhyb3cgaW4gbm9ybWFsaXplVW5pdCgpXG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSBcIndlZWtzXCIpIHtcbiAgICAgIG8ud2Vla2RheSA9IDE7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZWRVbml0ID09PSBcInF1YXJ0ZXJzXCIpIHtcbiAgICAgIGNvbnN0IHEgPSBNYXRoLmNlaWwodGhpcy5tb250aCAvIDMpO1xuICAgICAgby5tb250aCA9IChxIC0gMSkgKiAzICsgMTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXQobyk7XG4gIH1cblxuICAvKipcbiAgICogXCJTZXRcIiB0aGlzIERhdGVUaW1lIHRvIHRoZSBlbmQgKG1lYW5pbmcgdGhlIGxhc3QgbWlsbGlzZWNvbmQpIG9mIGEgdW5pdCBvZiB0aW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gVGhlIHVuaXQgdG8gZ28gdG8gdGhlIGVuZCBvZi4gQ2FuIGJlICd5ZWFyJywgJ3F1YXJ0ZXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknLCAnaG91cicsICdtaW51dGUnLCAnc2Vjb25kJywgb3IgJ21pbGxpc2Vjb25kJy5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuZW5kT2YoJ21vbnRoJykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0zMVQyMzo1OTo1OS45OTktMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd5ZWFyJykudG9JU08oKTsgLy89PiAnMjAxNC0xMi0zMVQyMzo1OTo1OS45OTktMDU6MDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd3ZWVrJykudG9JU08oKTsgLy8gPT4gJzIwMTQtMDMtMDlUMjM6NTk6NTkuOTk5LTA1OjAwJywgd2Vla3Mgc3RhcnQgb24gTW9uZGF5c1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2RheScpLnRvSVNPKCk7IC8vPT4gJzIwMTQtMDMtMDNUMjM6NTk6NTkuOTk5LTA1OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2hvdXInKS50b0lTTygpOyAvLz0+ICcyMDE0LTAzLTAzVDA1OjU5OjU5Ljk5OS0wNTowMCdcbiAgICogQHJldHVybiB7RGF0ZVRpbWV9XG4gICAqL1xuICBlbmRPZih1bml0KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyB0aGlzLnBsdXMoeyBbdW5pdF06IDEgfSlcbiAgICAgICAgICAuc3RhcnRPZih1bml0KVxuICAgICAgICAgIC5taW51cygxKVxuICAgICAgOiB0aGlzO1xuICB9XG5cbiAgLy8gT1VUUFVUXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy5cbiAgICogKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZSBmb3JtYXR0aW5nIHRvb2wuIEZvciBhIHRhYmxlIG9mIHRva2VucyBhbmQgdGhlaXIgaW50ZXJwcmV0YXRpb25zLCBzZWUgW2hlcmVdKGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi8jL2Zvcm1hdHRpbmc/aWQ9dGFibGUtb2YtdG9rZW5zKS5cbiAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm10IC0gdGhlIGZvcm1hdCBzdHJpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0Zvcm1hdCgneXl5eSBMTEwgZGQnKSAvLz0+ICcyMDE3IEFwciAyMidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuc2V0TG9jYWxlKCdmcicpLnRvRm9ybWF0KCd5eXl5IExMTCBkZCcpIC8vPT4gJzIwMTcgYXZyLiAyMidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoJ3l5eXkgTExMIGRkJywgeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+ICcyMDE3IGF2ci4gMjInXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KFwiSEggJ2hvdXJzIGFuZCcgbW0gJ21pbnV0ZXMnXCIpIC8vPT4gJzIwIGhvdXJzIGFuZCA1NSBtaW51dGVzJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0Zvcm1hdChmbXQsIG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5yZWRlZmF1bHRUb0VOKG9wdHMpKS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcodGhpcywgZm10KVxuICAgICAgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsb2NhbGl6ZWQgc3RyaW5nIHJlcHJlc2VudGluZyB0aGlzIGRhdGUuIEFjY2VwdHMgdGhlIHNhbWUgb3B0aW9ucyBhcyB0aGUgSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBhbmQgYW55IHByZXNldHMgZGVmaW5lZCBieSBMdXhvbiwgc3VjaCBhcyBgRGF0ZVRpbWUuREFURV9GVUxMYCBvciBgRGF0ZVRpbWUuVElNRV9TSU1QTEVgLlxuICAgKiBUaGUgZXhhY3QgYmVoYXZpb3Igb2YgdGhpcyBtZXRob2QgaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb25cbiAgICogb2YgdGhlIERhdGVUaW1lIGluIHRoZSBhc3NpZ25lZCBsb2NhbGUuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0XG4gICAqIEBwYXJhbSBmb3JtYXRPcHRzIHtPYmplY3R9IC0gSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBvcHRpb25zIGFuZCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRzIHRvIG92ZXJyaWRlIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgb24gdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDQvMjAvMjAxN1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoJ2VuLWdiJykudG9Mb2NhbGVTdHJpbmcoKTsgLy89PiAnMjAvMDQvMjAxNydcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoeyBsb2NhbGU6ICdlbi1nYicgfSk7IC8vPT4gJzIwLzA0LzIwMTcnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCk7IC8vPT4gJ0FwcmlsIDIwLCAyMDE3J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5USU1FX1NJTVBMRSk7IC8vPT4gJzExOjMyIEFNJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFVElNRV9TSE9SVCk7IC8vPT4gJzQvMjAvMjAxNywgMTE6MzIgQU0nXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKHsgd2Vla2RheTogJ2xvbmcnLCBtb250aDogJ2xvbmcnLCBkYXk6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1cnNkYXksIEFwcmlsIDIwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IHdlZWtkYXk6ICdzaG9ydCcsIG1vbnRoOiAnc2hvcnQnLCBkYXk6ICcyLWRpZ2l0JywgaG91cjogJzItZGlnaXQnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTsgLy89PiAnVGh1LCBBcHIgMjAsIDExOjI3IEFNJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcsIGhvdXJDeWNsZTogJ2gyMycgfSk7IC8vPT4gJzExOjMyJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0xvY2FsZVN0cmluZyhmb3JtYXRPcHRzID0gRm9ybWF0cy5EQVRFX1NIT1JULCBvcHRzID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkXG4gICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5sb2MuY2xvbmUob3B0cyksIGZvcm1hdE9wdHMpLmZvcm1hdERhdGVUaW1lKHRoaXMpXG4gICAgICA6IElOVkFMSUQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBmb3JtYXQgXCJwYXJ0c1wiLCBtZWFuaW5nIGluZGl2aWR1YWwgdG9rZW5zIGFsb25nIHdpdGggbWV0YWRhdGEuIFRoaXMgaXMgYWxsb3dzIGNhbGxlcnMgdG8gcG9zdC1wcm9jZXNzIGluZGl2aWR1YWwgc2VjdGlvbnMgb2YgdGhlIGZvcm1hdHRlZCBvdXRwdXQuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZFxuICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0L2Zvcm1hdFRvUGFydHNcbiAgICogQHBhcmFtIG9wdHMge09iamVjdH0gLSBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIG9wdGlvbnMsIHNhbWUgYXMgYHRvTG9jYWxlU3RyaW5nYC5cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVQYXJ0cygpOyAvLz0+IFtcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdkYXknLCB2YWx1ZTogJzI1JyB9LFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAnbW9udGgnLCB2YWx1ZTogJzA1JyB9LFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+ICAgeyB0eXBlOiAneWVhcicsIHZhbHVlOiAnMTk4MicgfVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiBdXG4gICAqL1xuICB0b0xvY2FsZVBhcnRzKG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5jbG9uZShvcHRzKSwgb3B0cykuZm9ybWF0RGF0ZVRpbWVQYXJ0cyh0aGlzKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9dHJ1ZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MywgNSwgMjUpLnRvSVNPKCkgLy89PiAnMTk4Mi0wNS0yNVQwMDowMDowMC4wMDBaJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTygpIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1LTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTyh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcyMDE3MDQyMlQyMDQ3MDUuMzM1LTA0MDAnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSVNPKHtcbiAgICBmb3JtYXQgPSBcImV4dGVuZGVkXCIsXG4gICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsXG4gICAgc3VwcHJlc3NNaWxsaXNlY29uZHMgPSBmYWxzZSxcbiAgICBpbmNsdWRlT2Zmc2V0ID0gdHJ1ZSxcbiAgICBleHRlbmRlZFpvbmUgPSBmYWxzZSxcbiAgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dCA9IGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiO1xuXG4gICAgbGV0IGMgPSB0b0lTT0RhdGUodGhpcywgZXh0KTtcbiAgICBjICs9IFwiVFwiO1xuICAgIGMgKz0gdG9JU09UaW1lKHRoaXMsIGV4dCwgc3VwcHJlc3NTZWNvbmRzLCBzdXBwcmVzc01pbGxpc2Vjb25kcywgaW5jbHVkZU9mZnNldCwgZXh0ZW5kZWRab25lKTtcbiAgICByZXR1cm4gYztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIGRhdGUgY29tcG9uZW50XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDE5ODIsIDUsIDI1KS50b0lTT0RhdGUoKSAvLz0+ICcxOTgyLTA1LTI1J1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPRGF0ZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcxOTgyMDUyNSdcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9JU09EYXRlKHsgZm9ybWF0ID0gXCJleHRlbmRlZFwiIH0gPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9JU09EYXRlKHRoaXMsIGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIHdlZWsgZGF0ZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMTk4MiwgNSwgMjUpLnRvSVNPV2Vla0RhdGUoKSAvLz0+ICcxOTgyLVcyMS0yJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0lTT1dlZWtEYXRlKCkge1xuICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgXCJra2trLSdXJ1dXLWNcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyB0aW1lIGNvbXBvbmVudFxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc01pbGxpc2Vjb25kcz1mYWxzZV0gLSBleGNsdWRlIG1pbGxpc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5leHRlbmRlZFpvbmU9dHJ1ZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVByZWZpeD1mYWxzZV0gLSBpbmNsdWRlIHRoZSBgVGAgcHJlZml4XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdFxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSgpIC8vPT4gJzA3OjM0OjE5LjM2MVonXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQsIHNlY29uZHM6IDAsIG1pbGxpc2Vjb25kczogMCB9KS50b0lTT1RpbWUoeyBzdXBwcmVzc1NlY29uZHM6IHRydWUgfSkgLy89PiAnMDc6MzRaJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcwNzM0MTkuMzYxWidcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkuc2V0KHsgaG91cjogNywgbWludXRlOiAzNCB9KS50b0lTT1RpbWUoeyBpbmNsdWRlUHJlZml4OiB0cnVlIH0pIC8vPT4gJ1QwNzozNDoxOS4zNjFaJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0lTT1RpbWUoe1xuICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzID0gZmFsc2UsXG4gICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsXG4gICAgaW5jbHVkZU9mZnNldCA9IHRydWUsXG4gICAgaW5jbHVkZVByZWZpeCA9IGZhbHNlLFxuICAgIGV4dGVuZGVkWm9uZSA9IGZhbHNlLFxuICAgIGZvcm1hdCA9IFwiZXh0ZW5kZWRcIixcbiAgfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBjID0gaW5jbHVkZVByZWZpeCA/IFwiVFwiIDogXCJcIjtcbiAgICByZXR1cm4gKFxuICAgICAgYyArXG4gICAgICB0b0lTT1RpbWUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIGZvcm1hdCA9PT0gXCJleHRlbmRlZFwiLFxuICAgICAgICBzdXBwcmVzc1NlY29uZHMsXG4gICAgICAgIHN1cHByZXNzTWlsbGlzZWNvbmRzLFxuICAgICAgICBpbmNsdWRlT2Zmc2V0LFxuICAgICAgICBleHRlbmRlZFpvbmVcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gUkZDIDI4MjItY29tcGF0aWJsZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvUkZDMjgyMigpIC8vPT4gJ1N1biwgMTMgSnVsIDIwMTQgMDA6MDA6MDAgKzAwMDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1JGQzI4MjIoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIC0wNDAwJ1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b1JGQzI4MjIoKSB7XG4gICAgcmV0dXJuIHRvVGVjaEZvcm1hdCh0aGlzLCBcIkVFRSwgZGQgTExMIHl5eXkgSEg6bW06c3MgWlpaXCIsIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBIVFRQIGhlYWRlcnMuIFRoZSBvdXRwdXQgaXMgYWx3YXlzIGV4cHJlc3NlZCBpbiBHTVQuXG4gICAqIFNwZWNpZmljYWxseSwgdGhlIHN0cmluZyBjb25mb3JtcyB0byBSRkMgMTEyMy5cbiAgICogQHNlZSBodHRwczovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMzLmh0bWwjc2VjMy4zLjFcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b0hUVFAoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIEdNVCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzLCAxOSkudG9IVFRQKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAxOTowMDowMCBHTVQnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvSFRUUCgpIHtcbiAgICByZXR1cm4gdG9UZWNoRm9ybWF0KHRoaXMudG9VVEMoKSwgXCJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzICdHTVQnXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBEYXRlXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE0LCA3LCAxMykudG9TUUxEYXRlKCkgLy89PiAnMjAxNC0wNy0xMydcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TUUxEYXRlKCkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRvSVNPRGF0ZSh0aGlzLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgVGltZVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlWm9uZT1mYWxzZV0gLSBpbmNsdWRlIHRoZSB6b25lLCBzdWNoIGFzICdBbWVyaWNhL05ld19Zb3JrJy4gT3ZlcnJpZGVzIGluY2x1ZGVPZmZzZXQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCdcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0U3BhY2U9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBzcGFjZSBiZXR3ZWVuIHRoZSB0aW1lIGFuZCB0aGUgb2Zmc2V0LCBzdWNoIGFzICcwNToxNToxNi4zNDUgLTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS50b1NRTCgpIC8vPT4gJzA1OjE1OjE2LjM0NSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoKSAvLz0+ICcwNToxNToxNi4zNDUgLTA0OjAwJ1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b1NRTCh7IGluY2x1ZGVPZmZzZXQ6IGZhbHNlIH0pIC8vPT4gJzA1OjE1OjE2LjM0NSdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoeyBpbmNsdWRlWm9uZTogZmFsc2UgfSkgLy89PiAnMDU6MTU6MTYuMzQ1IEFtZXJpY2EvTmV3X1lvcmsnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU1FMVGltZSh7IGluY2x1ZGVPZmZzZXQgPSB0cnVlLCBpbmNsdWRlWm9uZSA9IGZhbHNlLCBpbmNsdWRlT2Zmc2V0U3BhY2UgPSB0cnVlIH0gPSB7fSkge1xuICAgIGxldCBmbXQgPSBcIkhIOm1tOnNzLlNTU1wiO1xuXG4gICAgaWYgKGluY2x1ZGVab25lIHx8IGluY2x1ZGVPZmZzZXQpIHtcbiAgICAgIGlmIChpbmNsdWRlT2Zmc2V0U3BhY2UpIHtcbiAgICAgICAgZm10ICs9IFwiIFwiO1xuICAgICAgfVxuICAgICAgaWYgKGluY2x1ZGVab25lKSB7XG4gICAgICAgIGZtdCArPSBcInpcIjtcbiAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZU9mZnNldCkge1xuICAgICAgICBmbXQgKz0gXCJaWlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgZm10LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBTUUwgRGF0ZVRpbWVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVpvbmU9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgem9uZSwgc3VjaCBhcyAnQW1lcmljYS9OZXdfWW9yaycuIE92ZXJyaWRlcyBpbmNsdWRlT2Zmc2V0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXQ9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJ1onIG9yICctMDQ6MDAnXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldFNwYWNlPXRydWVdIC0gaW5jbHVkZSB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgdGltZSBhbmQgdGhlIG9mZnNldCwgc3VjaCBhcyAnMDU6MTU6MTYuMzQ1IC0wNDowMCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIFonXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIC0wNDowMCdcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgNywgMTMpLnRvU1FMKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMjAxNC0wNy0xMyAwMDowMDowMC4wMDAnXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCh7IGluY2x1ZGVab25lOiB0cnVlIH0pIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIEFtZXJpY2EvTmV3X1lvcmsnXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU1FMKG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dGhpcy50b1NRTERhdGUoKX0gJHt0aGlzLnRvU1FMVGltZShvcHRzKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRvSVNPKCkgOiBJTlZBTElEO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVwb2NoIG1pbGxpc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLiBBbGlhcyBvZiB7QGxpbmsgRGF0ZVRpbWUjdG9NaWxsaXN9XG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIHZhbHVlT2YoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9NaWxsaXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBlcG9jaCBtaWxsaXNlY29uZHMgb2YgdGhpcyBEYXRlVGltZS5cbiAgICogQHJldHVybiB7bnVtYmVyfVxuICAgKi9cbiAgdG9NaWxsaXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgOiBOYU47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZXBvY2ggc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0b1NlY29uZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgLyAxMDAwIDogTmFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVwb2NoIHNlY29uZHMgKGFzIGEgd2hvbGUgbnVtYmVyKSBvZiB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICB0b1VuaXhJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBNYXRoLmZsb29yKHRoaXMudHMgLyAxMDAwKSA6IE5hTjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgYXBwcm9wcmlhdGUgZm9yIHVzZSBpbiBKU09OLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgQlNPTiBzZXJpYWxpemFibGUgZXF1aXZhbGVudCB0byB0aGlzIERhdGVUaW1lLlxuICAgKiBAcmV0dXJuIHtEYXRlfVxuICAgKi9cbiAgdG9CU09OKCkge1xuICAgIHJldHVybiB0aGlzLnRvSlNEYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggdGhpcyBEYXRlVGltZSdzIHllYXIsIG1vbnRoLCBkYXksIGFuZCBzbyBvbi5cbiAgICogQHBhcmFtIG9wdHMgLSBvcHRpb25zIGZvciBnZW5lcmF0aW5nIHRoZSBvYmplY3RcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlQ29uZmlnPWZhbHNlXSAtIGluY2x1ZGUgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGVzIGluIHRoZSBvdXRwdXRcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9PYmplY3QoKSAvLz0+IHsgeWVhcjogMjAxNywgbW9udGg6IDQsIGRheTogMjIsIGhvdXI6IDIwLCBtaW51dGU6IDQ5LCBzZWNvbmQ6IDQyLCBtaWxsaXNlY29uZDogMjY4IH1cbiAgICogQHJldHVybiB7T2JqZWN0fVxuICAgKi9cbiAgdG9PYmplY3Qob3B0cyA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB7fTtcblxuICAgIGNvbnN0IGJhc2UgPSB7IC4uLnRoaXMuYyB9O1xuXG4gICAgaWYgKG9wdHMuaW5jbHVkZUNvbmZpZykge1xuICAgICAgYmFzZS5vdXRwdXRDYWxlbmRhciA9IHRoaXMub3V0cHV0Q2FsZW5kYXI7XG4gICAgICBiYXNlLm51bWJlcmluZ1N5c3RlbSA9IHRoaXMubG9jLm51bWJlcmluZ1N5c3RlbTtcbiAgICAgIGJhc2UubG9jYWxlID0gdGhpcy5sb2MubG9jYWxlO1xuICAgIH1cbiAgICByZXR1cm4gYmFzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgSmF2YVNjcmlwdCBEYXRlIGVxdWl2YWxlbnQgdG8gdGhpcyBEYXRlVGltZS5cbiAgICogQHJldHVybiB7RGF0ZX1cbiAgICovXG4gIHRvSlNEYXRlKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmlzVmFsaWQgPyB0aGlzLnRzIDogTmFOKTtcbiAgfVxuXG4gIC8vIENPTVBBUkVcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIERhdGVUaW1lcyBhcyBhIER1cmF0aW9uLlxuICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBvdGhlckRhdGVUaW1lIC0gdGhlIERhdGVUaW1lIHRvIGNvbXBhcmUgdGhpcyBvbmUgdG9cbiAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgYXJyYXkgb2YgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGNyZWF0aW9uIG9mIHRoZSBEdXJhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2VcbiAgICogQGV4YW1wbGVcbiAgICogdmFyIGkxID0gRGF0ZVRpbWUuZnJvbUlTTygnMTk4Mi0wNS0yNVQwOTo0NScpLFxuICAgKiAgICAgaTIgPSBEYXRlVGltZS5mcm9tSVNPKCcxOTgzLTEwLTE0VDEwOjMwJyk7XG4gICAqIGkyLmRpZmYoaTEpLnRvT2JqZWN0KCkgLy89PiB7IG1pbGxpc2Vjb25kczogNDM4MDc1MDAwMDAgfVxuICAgKiBpMi5kaWZmKGkxLCAnaG91cnMnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTIxNjguNzUgfVxuICAgKiBpMi5kaWZmKGkxLCBbJ21vbnRocycsICdkYXlzJ10pLnRvT2JqZWN0KCkgLy89PiB7IG1vbnRoczogMTYsIGRheXM6IDE5LjAzMTI1IH1cbiAgICogaTIuZGlmZihpMSwgWydtb250aHMnLCAnZGF5cycsICdob3VycyddKS50b09iamVjdCgpIC8vPT4geyBtb250aHM6IDE2LCBkYXlzOiAxOSwgaG91cnM6IDAuNzUgfVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIGRpZmYob3RoZXJEYXRlVGltZSwgdW5pdCA9IFwibWlsbGlzZWNvbmRzXCIsIG9wdHMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlckRhdGVUaW1lLmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKFwiY3JlYXRlZCBieSBkaWZmaW5nIGFuIGludmFsaWQgRGF0ZVRpbWVcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZHVyT3B0cyA9IHsgbG9jYWxlOiB0aGlzLmxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtOiB0aGlzLm51bWJlcmluZ1N5c3RlbSwgLi4ub3B0cyB9O1xuXG4gICAgY29uc3QgdW5pdHMgPSBtYXliZUFycmF5KHVuaXQpLm1hcChEdXJhdGlvbi5ub3JtYWxpemVVbml0KSxcbiAgICAgIG90aGVySXNMYXRlciA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpID4gdGhpcy52YWx1ZU9mKCksXG4gICAgICBlYXJsaWVyID0gb3RoZXJJc0xhdGVyID8gdGhpcyA6IG90aGVyRGF0ZVRpbWUsXG4gICAgICBsYXRlciA9IG90aGVySXNMYXRlciA/IG90aGVyRGF0ZVRpbWUgOiB0aGlzLFxuICAgICAgZGlmZmVkID0gZGlmZihlYXJsaWVyLCBsYXRlciwgdW5pdHMsIGR1ck9wdHMpO1xuXG4gICAgcmV0dXJuIG90aGVySXNMYXRlciA/IGRpZmZlZC5uZWdhdGUoKSA6IGRpZmZlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIERhdGVUaW1lIGFuZCByaWdodCBub3cuXG4gICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjZGlmZn1cbiAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgdW5pdHMgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgY3JlYXRpb24gb2YgdGhlIER1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZVxuICAgKiBAcmV0dXJuIHtEdXJhdGlvbn1cbiAgICovXG4gIGRpZmZOb3codW5pdCA9IFwibWlsbGlzZWNvbmRzXCIsIG9wdHMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLmRpZmYoRGF0ZVRpbWUubm93KCksIHVuaXQsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJbnRlcnZhbCBzcGFubmluZyBiZXR3ZWVuIHRoaXMgRGF0ZVRpbWUgYW5kIGFub3RoZXIgRGF0ZVRpbWVcbiAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBlbmQgcG9pbnQgb2YgdGhlIEludGVydmFsXG4gICAqIEByZXR1cm4ge0ludGVydmFsfVxuICAgKi9cbiAgdW50aWwob3RoZXJEYXRlVGltZSkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHRoaXMsIG90aGVyRGF0ZVRpbWUpIDogdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIERhdGVUaW1lIGlzIGluIHRoZSBzYW1lIHVuaXQgb2YgdGltZSBhcyBhbm90aGVyIERhdGVUaW1lLlxuICAgKiBIaWdoZXItb3JkZXIgdW5pdHMgbXVzdCBhbHNvIGJlIGlkZW50aWNhbCBmb3IgdGhpcyBmdW5jdGlvbiB0byByZXR1cm4gYHRydWVgLlxuICAgKiBOb3RlIHRoYXQgdGltZSB6b25lcyBhcmUgKippZ25vcmVkKiogaW4gdGhpcyBjb21wYXJpc29uLCB3aGljaCBjb21wYXJlcyB0aGUgKipsb2NhbCoqIGNhbGVuZGFyIHRpbWUuIFVzZSB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0gdG8gY29udmVydCBvbmUgb2YgdGhlIGRhdGVzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXJEYXRlVGltZSAtIHRoZSBvdGhlciBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb25cbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkuaGFzU2FtZShvdGhlckRULCAnZGF5Jyk7IC8vfj4gdHJ1ZSBpZiBvdGhlckRUIGlzIGluIHRoZSBzYW1lIGN1cnJlbnQgY2FsZW5kYXIgZGF5XG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBoYXNTYW1lKG90aGVyRGF0ZVRpbWUsIHVuaXQpIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgaW5wdXRNcyA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpO1xuICAgIGNvbnN0IGFkanVzdGVkVG9ab25lID0gdGhpcy5zZXRab25lKG90aGVyRGF0ZVRpbWUuem9uZSwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pO1xuICAgIHJldHVybiBhZGp1c3RlZFRvWm9uZS5zdGFydE9mKHVuaXQpIDw9IGlucHV0TXMgJiYgaW5wdXRNcyA8PSBhZGp1c3RlZFRvWm9uZS5lbmRPZih1bml0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcXVhbGl0eSBjaGVja1xuICAgKiBUd28gRGF0ZVRpbWVzIGFyZSBlcXVhbCBpZmYgdGhleSByZXByZXNlbnQgdGhlIHNhbWUgbWlsbGlzZWNvbmQsIGhhdmUgdGhlIHNhbWUgem9uZSBhbmQgbG9jYXRpb24sIGFuZCBhcmUgYm90aCB2YWxpZC5cbiAgICogVG8gY29tcGFyZSBqdXN0IHRoZSBtaWxsaXNlY29uZCB2YWx1ZXMsIHVzZSBgK2R0MSA9PT0gK2R0MmAuXG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IG90aGVyIC0gdGhlIG90aGVyIERhdGVUaW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBlcXVhbHMob3RoZXIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1ZhbGlkICYmXG4gICAgICBvdGhlci5pc1ZhbGlkICYmXG4gICAgICB0aGlzLnZhbHVlT2YoKSA9PT0gb3RoZXIudmFsdWVPZigpICYmXG4gICAgICB0aGlzLnpvbmUuZXF1YWxzKG90aGVyLnpvbmUpICYmXG4gICAgICB0aGlzLmxvYy5lcXVhbHMob3RoZXIubG9jKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHRoaXMgdGltZSByZWxhdGl2ZSB0byBub3csIHN1Y2ggYXMgXCJpbiB0d28gZGF5c1wiLiBDYW4gb25seSBpbnRlcm5hdGlvbmFsaXplIGlmIHlvdXJcbiAgICogcGxhdGZvcm0gc3VwcG9ydHMgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuIFJvdW5kcyBkb3duIGJ5IGRlZmF1bHQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zdHlsZT1cImxvbmdcIl0gLSB0aGUgc3R5bGUgb2YgdW5pdHMsIG11c3QgYmUgXCJsb25nXCIsIFwic2hvcnRcIiwgb3IgXCJuYXJyb3dcIlxuICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdCBvciBhcnJheSBvZiB1bml0czsgaWYgb21pdHRlZCwgb3IgYW4gYXJyYXksIHRoZSBtZXRob2Qgd2lsbCBwaWNrIHRoZSBiZXN0IHVuaXQuIFVzZSBhbiBhcnJheSBvciBvbmUgb2YgXCJ5ZWFyc1wiLCBcInF1YXJ0ZXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIG9yIFwic2Vjb25kc1wiXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMucm91bmQ9dHJ1ZV0gLSB3aGV0aGVyIHRvIHJvdW5kIHRoZSBudW1iZXJzIGluIHRoZSBvdXRwdXQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5wYWRkaW5nPTBdIC0gcGFkZGluZyBpbiBtaWxsaXNlY29uZHMuIFRoaXMgYWxsb3dzIHlvdSB0byByb3VuZCB1cCB0aGUgcmVzdWx0IGlmIGl0IGZpdHMgaW5zaWRlIHRoZSB0aHJlc2hvbGQuIERvbid0IHVzZSBpbiBjb21iaW5hdGlvbiB3aXRoIHtyb3VuZDogZmFsc2V9IGJlY2F1c2UgdGhlIGRlY2ltYWwgb3V0cHV0IHdpbGwgaW5jbHVkZSB0aGUgcGFkZGluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubG9jYWxlIC0gb3ZlcnJpZGUgdGhlIGxvY2FsZSBvZiB0aGlzIERhdGVUaW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlcmluZ1N5c3RlbSAtIG92ZXJyaWRlIHRoZSBudW1iZXJpbmdTeXN0ZW0gb2YgdGhpcyBEYXRlVGltZS4gVGhlIEludGwgc3lzdGVtIG1heSBjaG9vc2Ugbm90IHRvIGhvbm9yIHRoaXNcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZSgpIC8vPT4gXCJpbiAxIGRheVwiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnNldExvY2FsZShcImVzXCIpLnRvUmVsYXRpdmUoeyBkYXlzOiAxIH0pIC8vPT4gXCJkZW50cm8gZGUgMSBkXHUwMEVEYVwiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pLnRvUmVsYXRpdmUoeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+IFwiZGFucyAyMyBoZXVyZXNcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGRheXM6IDIgfSkudG9SZWxhdGl2ZSgpIC8vPT4gXCIyIGRheXMgYWdvXCJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmUoeyB1bml0OiBcImhvdXJzXCIgfSkgLy89PiBcIjQ4IGhvdXJzIGFnb1wiXG4gICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLm1pbnVzKHsgaG91cnM6IDM2IH0pLnRvUmVsYXRpdmUoeyByb3VuZDogZmFsc2UgfSkgLy89PiBcIjEuNSBkYXlzIGFnb1wiXG4gICAqL1xuICB0b1JlbGF0aXZlKG9wdGlvbnMgPSB7fSkge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBiYXNlID0gb3B0aW9ucy5iYXNlIHx8IERhdGVUaW1lLmZyb21PYmplY3Qoe30sIHsgem9uZTogdGhpcy56b25lIH0pLFxuICAgICAgcGFkZGluZyA9IG9wdGlvbnMucGFkZGluZyA/ICh0aGlzIDwgYmFzZSA/IC1vcHRpb25zLnBhZGRpbmcgOiBvcHRpb25zLnBhZGRpbmcpIDogMDtcbiAgICBsZXQgdW5pdHMgPSBbXCJ5ZWFyc1wiLCBcIm1vbnRoc1wiLCBcImRheXNcIiwgXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCJdO1xuICAgIGxldCB1bml0ID0gb3B0aW9ucy51bml0O1xuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMudW5pdCkpIHtcbiAgICAgIHVuaXRzID0gb3B0aW9ucy51bml0O1xuICAgICAgdW5pdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGRpZmZSZWxhdGl2ZShiYXNlLCB0aGlzLnBsdXMocGFkZGluZyksIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBudW1lcmljOiBcImFsd2F5c1wiLFxuICAgICAgdW5pdHMsXG4gICAgICB1bml0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBkYXRlIHJlbGF0aXZlIHRvIHRvZGF5LCBzdWNoIGFzIFwieWVzdGVyZGF5XCIgb3IgXCJuZXh0IG1vbnRoXCIuXG4gICAqIE9ubHkgaW50ZXJuYXRpb25hbGl6ZXMgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydHMgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUgb3V0cHV0XG4gICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmxvY2FsZSAtIG92ZXJyaWRlIHRoZSBsb2NhbGUgb2YgdGhpcyBEYXRlVGltZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdDsgaWYgb21pdHRlZCwgdGhlIG1ldGhvZCB3aWxsIHBpY2sgdGhlIHVuaXQuIFVzZSBvbmUgb2YgXCJ5ZWFyc1wiLCBcInF1YXJ0ZXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgb3IgXCJkYXlzXCJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMubnVtYmVyaW5nU3lzdGVtIC0gb3ZlcnJpZGUgdGhlIG51bWJlcmluZ1N5c3RlbSBvZiB0aGlzIERhdGVUaW1lLiBUaGUgSW50bCBzeXN0ZW0gbWF5IGNob29zZSBub3QgdG8gaG9ub3IgdGhpc1xuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoKSAvLz0+IFwidG9tb3Jyb3dcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoXCJlc1wiKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlKCkgLy89PiBcIlwibWFcdTAwRjFhbmFcIlxuICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoeyBsb2NhbGU6IFwiZnJcIiB9KSAvLz0+IFwiZGVtYWluXCJcbiAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmVDYWxlbmRhcigpIC8vPT4gXCIyIGRheXMgYWdvXCJcbiAgICovXG4gIHRvUmVsYXRpdmVDYWxlbmRhcihvcHRpb25zID0ge30pIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gZGlmZlJlbGF0aXZlKG9wdGlvbnMuYmFzZSB8fCBEYXRlVGltZS5mcm9tT2JqZWN0KHt9LCB7IHpvbmU6IHRoaXMuem9uZSB9KSwgdGhpcywge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG51bWVyaWM6IFwiYXV0b1wiLFxuICAgICAgdW5pdHM6IFtcInllYXJzXCIsIFwibW9udGhzXCIsIFwiZGF5c1wiXSxcbiAgICAgIGNhbGVuZGFyeTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1pbiBvZiBzZXZlcmFsIGRhdGUgdGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWluaW11bVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1pbiBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50XG4gICAqL1xuICBzdGF0aWMgbWluKC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJtaW4gcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcIik7XG4gICAgfVxuICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWluKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1heCBvZiBzZXZlcmFsIGRhdGUgdGltZXNcbiAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWF4aW11bVxuICAgKiBAcmV0dXJuIHtEYXRlVGltZX0gdGhlIG1heCBEYXRlVGltZSwgb3IgdW5kZWZpbmVkIGlmIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50XG4gICAqL1xuICBzdGF0aWMgbWF4KC4uLmRhdGVUaW1lcykge1xuICAgIGlmICghZGF0ZVRpbWVzLmV2ZXJ5KERhdGVUaW1lLmlzRGF0ZVRpbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXCJtYXggcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcIik7XG4gICAgfVxuICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWF4KTtcbiAgfVxuXG4gIC8vIE1JU0NcblxuICAvKipcbiAgICogRXhwbGFpbiBob3cgYSBzdHJpbmcgd291bGQgYmUgcGFyc2VkIGJ5IGZyb21Gb3JtYXQoKVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBzdHJpbmcgdG8gcGFyc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIGRlc2NyaXB0aW9uKVxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIG9wdGlvbnMgdGFrZW4gYnkgZnJvbUZvcm1hdCgpXG4gICAqIEByZXR1cm4ge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBmcm9tRm9ybWF0RXhwbGFpbih0ZXh0LCBmbXQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCB9ID0gb3B0aW9ucyxcbiAgICAgIGxvY2FsZVRvVXNlID0gTG9jYWxlLmZyb21PcHRzKHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBudW1iZXJpbmdTeXN0ZW0sXG4gICAgICAgIGRlZmF1bHRUb0VOOiB0cnVlLFxuICAgICAgfSk7XG4gICAgcmV0dXJuIGV4cGxhaW5Gcm9tVG9rZW5zKGxvY2FsZVRvVXNlLCB0ZXh0LCBmbXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBmcm9tRm9ybWF0RXhwbGFpbiBpbnN0ZWFkXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0cmluZ0V4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdEV4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIEZPUk1BVCBQUkVTRVRTXG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgMTAvMTQvMTk4M1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX1NIT1JUKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVfU0hPUlQ7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0IDE0LCAxOTgzJ1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX01FRCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFX01FRDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmksIE9jdCAxNCwgMTk4MydcbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURV9NRURfV0lUSF9XRUVLREFZKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVfTUVEX1dJVEhfV0VFS0RBWTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3RvYmVyIDE0LCAxOTgzJ1xuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFX0ZVTEwoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURV9GVUxMO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ1R1ZXNkYXksIE9jdG9iZXIgMTQsIDE5ODMnXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IERBVEVfSFVHRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFX0hVR0U7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9TSU1QTEUoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9TSU1QTEU7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFM7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV9XSVRIX1NIT1JUX09GRlNFVDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV9XSVRIX0xPTkdfT0ZGU0VUKCkge1xuICAgIHJldHVybiBGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVDtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMCcsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1NJTVBMRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1NJTVBMRTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMycsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfU0VDT05EUygpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1dJVEhfU0VDT05EUztcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMDoyMyBFRFQnLCBhbHdheXMgMjQtaG91ci5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEVhc3Rlcm4gRGF5bGlnaHQgVGltZScsIGFsd2F5cyAyNC1ob3VyLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzEwLzE0LzE5ODMsIDk6MzAgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfU0hPUlQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfU0hPUlQ7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMTAvMTQvMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRUQoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfTUVEO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMDozMyBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFM7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnRnJpLCAxNCBPY3QgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLlxuICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVk7XG4gIH1cblxuICAvKipcbiAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfRlVMTCgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFVElNRV9GVUxMO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdG9iZXIgMTQsIDE5ODMsIDk6MzA6MzMgQU0gRURUJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICBzdGF0aWMgZ2V0IERBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTKCkge1xuICAgIHJldHVybiBGb3JtYXRzLkRBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRSgpIHtcbiAgICByZXR1cm4gRm9ybWF0cy5EQVRFVElNRV9IVUdFO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMDozMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy5cbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMoKSB7XG4gICAgcmV0dXJuIEZvcm1hdHMuREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFM7XG4gIH1cbn1cblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJpZW5kbHlEYXRlVGltZShkYXRlVGltZWlzaCkge1xuICBpZiAoRGF0ZVRpbWUuaXNEYXRlVGltZShkYXRlVGltZWlzaCkpIHtcbiAgICByZXR1cm4gZGF0ZVRpbWVpc2g7XG4gIH0gZWxzZSBpZiAoZGF0ZVRpbWVpc2ggJiYgZGF0ZVRpbWVpc2gudmFsdWVPZiAmJiBpc051bWJlcihkYXRlVGltZWlzaC52YWx1ZU9mKCkpKSB7XG4gICAgcmV0dXJuIERhdGVUaW1lLmZyb21KU0RhdGUoZGF0ZVRpbWVpc2gpO1xuICB9IGVsc2UgaWYgKGRhdGVUaW1laXNoICYmIHR5cGVvZiBkYXRlVGltZWlzaCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KGRhdGVUaW1laXNoKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICBgVW5rbm93biBkYXRldGltZSBhcmd1bWVudDogJHtkYXRlVGltZWlzaH0sIG9mIHR5cGUgJHt0eXBlb2YgZGF0ZVRpbWVpc2h9YFxuICAgICk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IGVtb2ppUmVnZXggZnJvbSBcImVtb2ppLXJlZ2V4XCI7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcImV4cHJlc3Npb24vbGlua1wiO1xuXG4vKiogVGVzdC1lbnZpcm9ubWVudC1mcmllbmRseSBmdW5jdGlvbiB3aGljaCBmZXRjaGVzIHRoZSBjdXJyZW50IHN5c3RlbSBsb2NhbGUuICovXG5leHBvcnQgZnVuY3Rpb24gY3VycmVudExvY2FsZSgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gXCJlbi1VU1wiO1xuICAgIHJldHVybiB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlO1xufVxuXG4vLyBEYXRlL1RpbWUgUmVuZGVyaW5nXG5cbi8qKiBOb3JtYWxpemUgYSBkdXJhdGlvbiB0byBhbGwgb2YgdGhlIHByb3BlciB1bml0cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVEdXJhdGlvbihkdXI6IER1cmF0aW9uKSB7XG4gICAgaWYgKGR1ciA9PT0gdW5kZWZpbmVkIHx8IGR1ciA9PT0gbnVsbCkgcmV0dXJuIGR1cjtcblxuICAgIHJldHVybiBkdXIuc2hpZnRUbyhcInllYXJzXCIsIFwibW9udGhzXCIsIFwid2Vla3NcIiwgXCJkYXlzXCIsIFwiaG91cnNcIiwgXCJtaW51dGVzXCIsIFwic2Vjb25kc1wiLCBcIm1pbGxpc2Vjb25kc1wiKS5ub3JtYWxpemUoKTtcbn1cblxuLyoqIFN0cmlwIHRoZSB0aW1lIGNvbXBvbmVudHMgb2YgYSBkYXRlIHRpbWUgb2JqZWN0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwVGltZShkdDogRGF0ZVRpbWUpOiBEYXRlVGltZSB7XG4gICAgaWYgKGR0ID09PSBudWxsIHx8IGR0ID09PSB1bmRlZmluZWQpIHJldHVybiBkdDtcblxuICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHtcbiAgICAgICAgeWVhcjogZHQueWVhcixcbiAgICAgICAgbW9udGg6IGR0Lm1vbnRoLFxuICAgICAgICBkYXk6IGR0LmRheSxcbiAgICB9KTtcbn1cblxuLyoqIFRyeSB0byBleHRyYWN0IGEgWVlZWU1NREQgZGF0ZSBmcm9tIGEgc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3REYXRlKHN0cjogc3RyaW5nKTogRGF0ZVRpbWUgfCB1bmRlZmluZWQge1xuICAgIGxldCBkYXRlTWF0Y2ggPSAvKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkvLmV4ZWMoc3RyKTtcbiAgICBpZiAoIWRhdGVNYXRjaCkgZGF0ZU1hdGNoID0gLyhcXGR7NH0pKFxcZHsyfSkoXFxkezJ9KS8uZXhlYyhzdHIpO1xuICAgIGlmIChkYXRlTWF0Y2gpIHtcbiAgICAgICAgbGV0IHllYXIgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzFdKTtcbiAgICAgICAgbGV0IG1vbnRoID0gTnVtYmVyLnBhcnNlSW50KGRhdGVNYXRjaFsyXSk7XG4gICAgICAgIGxldCBkYXkgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzNdKTtcbiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyLCBtb250aCwgZGF5IH0pO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBSZW5kZXIgYSBEYXRlVGltZSBpbiBhIG1pbmltYWwgZm9ybWF0IHRvIHNhdmUgc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWluaW1hbERhdGUodGltZTogRGF0ZVRpbWUsIGRhdGVGb3JtYXQ6IHN0cmluZywgZGF0ZVRpbWVGb3JtYXQ6IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyByZWxldmFudCB0aW1lIHNwZWNpZmllZCwgZmFsbCBiYWNrIHRvIGp1c3QgcmVuZGVyaW5nIHRoZSBkYXRlLlxuICAgIGlmICh0aW1lLnNlY29uZCA9PSAwICYmIHRpbWUubWludXRlID09IDAgJiYgdGltZS5ob3VyID09IDApIHtcbiAgICAgICAgcmV0dXJuIHRpbWUudG9Mb2NhbCgpLnRvRm9ybWF0KGRhdGVGb3JtYXQsIHsgbG9jYWxlIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aW1lLnRvTG9jYWwoKS50b0Zvcm1hdChkYXRlVGltZUZvcm1hdCwgeyBsb2NhbGUgfSk7XG59XG5cbi8qKiBSZW5kZXIgYSBkdXJhdGlvbiBpbiBhIG1pbmltYWwgZm9ybWF0IHRvIHNhdmUgc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWluaW1hbER1cmF0aW9uKGR1cjogRHVyYXRpb24pOiBzdHJpbmcge1xuICAgIGR1ciA9IG5vcm1hbGl6ZUR1cmF0aW9uKGR1cik7XG5cbiAgICAvLyBUT0RPOiBMdXhvbiBkb2VzIG5vdCBoYXZlIG11bHRpLWxpbmd1YWwvbG9jYWxlLWF3YXJlIGR1cmF0aW9uIHJlbmRlcmluZy5cbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgICBpZiAoZHVyLnllYXJzKSByZXN1bHQgKz0gYCR7ZHVyLnllYXJzfSB5ZWFycywgYDtcbiAgICBpZiAoZHVyLm1vbnRocykgcmVzdWx0ICs9IGAke2R1ci5tb250aHN9IG1vbnRocywgYDtcbiAgICBpZiAoZHVyLndlZWtzKSByZXN1bHQgKz0gYCR7ZHVyLndlZWtzfSB3ZWVrcywgYDtcbiAgICBpZiAoZHVyLmRheXMpIHJlc3VsdCArPSBgJHtkdXIuZGF5c30gZGF5cywgYDtcbiAgICBpZiAoZHVyLmhvdXJzKSByZXN1bHQgKz0gYCR7ZHVyLmhvdXJzfSBob3VycywgYDtcbiAgICBpZiAoZHVyLm1pbnV0ZXMpIHJlc3VsdCArPSBgJHtkdXIubWludXRlc30gbWludXRlcywgYDtcbiAgICBpZiAoZHVyLnNlY29uZHMpIHJlc3VsdCArPSBgJHtNYXRoLnJvdW5kKGR1ci5zZWNvbmRzKX0gc2Vjb25kcywgYDtcbiAgICBpZiAoZHVyLm1pbGxpc2Vjb25kcykgcmVzdWx0ICs9IGAke01hdGgucm91bmQoZHVyLm1pbGxpc2Vjb25kcyl9IG1zLCBgO1xuXG4gICAgaWYgKHJlc3VsdC5lbmRzV2l0aChcIiwgXCIpKSByZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsIHJlc3VsdC5sZW5ndGggLSAyKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBQYXRoIHV0aWxpdGllcy5cblxuLyoqIEdldCB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGhlIGdpdmVuIHBhdGggKGkuZS4sIGxpa2UgY29tcHV0aW5nICdwYXRoLy4uJykuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyZW50Rm9sZGVyKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5qb2luKFwiL1wiKTtcbn1cblxuLyoqIEdldCB0aGUgZmlsZSBuYW1lIGZvciB0aGUgZmlsZSByZWZlcmVuY2VkIGluIHRoZSBnaXZlbiBwYXRoLCBieSBzdHJpcHBpbmcgdGhlIHBhcmVudCBmb2xkZXJzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVOYW1lKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguaW5jbHVkZXMoXCIvXCIpID8gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIi9cIikgKyAxKSA6IHBhdGg7XG59XG5cbi8qKiBHZXQgdGhlIFwidGl0bGVcIiBmb3IgYSBmaWxlLCBieSBzdHJpcHBpbmcgb3RoZXIgcGFydHMgb2YgdGhlIHBhdGggYXMgd2VsbCBhcyB0aGUgZXh0ZW5zaW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVUaXRsZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChwYXRoLmluY2x1ZGVzKFwiL1wiKSkgcGF0aCA9IHBhdGguc3Vic3RyaW5nKHBhdGgubGFzdEluZGV4T2YoXCIvXCIpICsgMSk7XG4gICAgaWYgKHBhdGguZW5kc1dpdGgoXCIubWRcIikpIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDMpO1xuICAgIHJldHVybiBwYXRoO1xufVxuXG4vKiogR2V0IHRoZSBleHRlbnNpb24gb2YgYSBmaWxlIGZyb20gdGhlIGZpbGUgcGF0aC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbnNpb24ocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXBhdGguaW5jbHVkZXMoXCIuXCIpKSByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIi5cIikgKyAxKTtcbn1cblxuLy8gVGFnIGV4dHJhY3Rpb24uXG5cbi8qKiBQYXJzZSBhbGwgc3VidGFncyBvdXQgb2YgdGhlIGdpdmVuIHRhZy4gSS5lLiwgI2hlbGxvL2kvYW0gd291bGQgeWllbGQgWyNoZWxsby9pL2FtLCAjaGVsbG8vaSwgI2hlbGxvXS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0U3VidGFncyh0YWdzOiBzdHJpbmcgfCBJdGVyYWJsZTxzdHJpbmc+KTogc3RyaW5nW10ge1xuICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGxldCB0YWcgb2YgdHlwZW9mIHRhZ3MgPT09IFwic3RyaW5nXCIgPyBbdGFnc10gOiB0YWdzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRhZyk7XG4gICAgICAgIHdoaWxlICh0YWcuaW5jbHVkZXMoXCIvXCIpKSB7XG4gICAgICAgICAgICB0YWcgPSB0YWcuc3Vic3RyaW5nKDAsIHRhZy5sYXN0SW5kZXhPZihcIi9cIikpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godGFnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKiBTcGxpdCBlYWNoIGJsb2NrIGFuZCBzZWN0aW9uIGxpbmsgaW50byB0aGUgb3JpZ2luYWwgbGluayBhbmQgYSBjb3JyZXNwb25kaW5nIGZpbGUgbGluay4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0RmlsZUxpbmtzKGVsaW5rczogTGlua1tdKTogTGlua1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IExpbmtbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbGluayBvZiBlbGlua3MpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobGluayk7XG5cbiAgICAgICAgY29uc3QgZmlsZUxpbmsgPSBsaW5rLnRvRmlsZSgpO1xuICAgICAgICBpZiAobGluay50eXBlICE9IFwiZmlsZVwiICYmICFyZXN1bHQuZmluZCgoZXhpc3RpbmcpID0+IGV4aXN0aW5nLmVxdWFscyhmaWxlTGluaykpKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChmaWxlTGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBTdHJpbmcgZXNjYXBpbmcgYW5kIGNhbm9uaWNhbGl6YXRpb24uXG5cbi8qKlxuICogRXNjYXBlIHJlZ2V4IGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcuXG4gKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9HdWlkZS9SZWd1bGFyX0V4cHJlc3Npb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmVnZXgoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuY29uc3QgSEVBREVSX0NBTk9OSUNBTElaRVI6IFAuUGFyc2VyPHN0cmluZz4gPSBQLmFsdChcbiAgICBQLnJlZ2V4KG5ldyBSZWdFeHAoZW1vamlSZWdleCgpLCBcIlwiKSksXG4gICAgUC5yZWdleCgvWzAtOVxccHtMZXR0ZXJ9Xy1dKy91KSxcbiAgICBQLndoaXRlc3BhY2UubWFwKChfKSA9PiBcIiBcIiksXG4gICAgUC5hbnkubWFwKChfKSA9PiBcIiBcIilcbilcbiAgICAubWFueSgpXG4gICAgLm1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbihcIlwiKS5zcGxpdCgvXFxzKy8pLmpvaW4oXCIgXCIpLnRyaW0oKTtcbiAgICB9KTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIHRoZSB0ZXh0IGluIGEgaGVhZGVyIHRvIGJlIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGxpbmthYmxlIHRvLiBUaGlzIG1pbWljc1xuICogaG93IE9ic2lkaWFuIGRvZXMgaXQncyBub3JtYWxpemF0aW9uLCBjb2xsYXBzaW5nIHJlcGVhdGVkIHNwYWNlcyBhbmQgc3RyaXBwaW5nIG91dCBjb250cm9sIGNoYXJhY3RlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKGhlYWRlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSEVBREVSX0NBTk9OSUNBTElaRVIudHJ5UGFyc2UoaGVhZGVyKTtcbn1cblxuLy8gRmFzdCBleHRyYWN0aW9uIG9mIGxpbmUgcmFuZ2VzIGZyb20gbGFyZ2UgcGllY2VzIG9mIHRleHQuXG5cbi8qKiBVcGRhdGUgdGhlIGxpbmUgcmFuZ2UgZnJvbSBbc3RhcnQsIGVuZCkgd2l0aCB0aGUgZ2l2ZW4gZnVuY3Rpb24uICovXG5leHBvcnQgZnVuY3Rpb24gbGluZVJlcGxhY2UodGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgZnVuYzogKGxpbmU6IHN0cmluZykgPT4gc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBbZGF0YSwgb2Zmc2V0XSA9IGxpbmVTcGFuKHRleHQsIHN0YXJ0LCBlbmQpO1xuICAgIGlmICghb2Zmc2V0KSByZXR1cm4gdGV4dDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIGRhdGEuc3Vic3RyaW5nKDAsIG9mZnNldC5zdGFydCkgKyBmdW5jKGRhdGEuc3Vic3RyaW5nKG9mZnNldC5zdGFydCwgb2Zmc2V0LmVuZCkpICsgZGF0YS5zdWJzdHJpbmcob2Zmc2V0LmVuZClcbiAgICApO1xufVxuXG4vKiogRXh0cmFjdCB0aGUgbGluZXMgaW4gdGhlIHJhbmdlIFtzdGFydCwgZW5kKSwgYXMgd2VsbCBhcyB0aGUgYWN0dWFsIG9mZnNldHMgb2YgdGhlIHN0YXJ0IGFuZCBlbmQuICovXG5leHBvcnQgZnVuY3Rpb24gbGluZVNwYW4oXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHN0YXJ0OiBudW1iZXIsXG4gICAgZW5kOiBudW1iZXJcbik6IFtzdHJpbmcsIHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfSB8IHVuZGVmaW5lZF0ge1xuICAgIHN0YXJ0ID0gTWF0aC5tYXgoc3RhcnQsIDApO1xuICAgIGVuZCA9IE1hdGgubWF4KGVuZCwgMCk7XG5cbiAgICBpZiAoc3RhcnQgPj0gZW5kKSByZXR1cm4gW1wiXCIsIHVuZGVmaW5lZF07XG5cbiAgICAvLyBTdGFydCBieSBmaW5kaW5nIHRoZSBzdGFydGluZyBsaW5lIG9mZnNldC5cbiAgICBjb25zdCBzdGFydE9mZnNldCA9IHNraXBOZXdsaW5lcyh0ZXh0LCAwLCBzdGFydCk7XG4gICAgaWYgKHN0YXJ0T2Zmc2V0ID09IC0xKSByZXR1cm4gW1wiXCIsIHVuZGVmaW5lZF07XG5cbiAgICBjb25zdCBlbmRPZmZzZXQgPSBza2lwTmV3bGluZXModGV4dCwgc3RhcnRPZmZzZXQsIGVuZCAtIHN0YXJ0KTtcbiAgICBpZiAoZW5kT2Zmc2V0ID09IC0xKSByZXR1cm4gW3RleHQuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0KSwgeyBzdGFydDogc3RhcnRPZmZzZXQsIGVuZDogdGV4dC5sZW5ndGggfV07XG4gICAgZWxzZSByZXR1cm4gW3RleHQuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgLSAxKSwgeyBzdGFydDogc3RhcnRPZmZzZXQsIGVuZDogZW5kT2Zmc2V0IC0gMSB9XTtcbn1cblxuLyoqIEV4dHJhY3QgdGhlIGxpbmVzIGluIHRoZSByYW5nZSBbc3RhcnQsIGVuZCkuIFN0YXJ0IGlzIGluY2x1c2l2ZSwgZW5kIGlzIGV4Y2x1c2l2ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaW5lUmFuZ2UodGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxpbmVTcGFuKHRleHQsIHN0YXJ0LCBlbmQpWzBdO1xufVxuXG4vKiogU2tpcCB7Y291bnR9IHRvdGFsIG5ld2xpbmVzLCByZXR1cm5pbmcgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIHtjb3VudH0gbGluZXMgYWZ0ZXIgdGhlIGN1cnJlbnQgbGluZS4gSWYgY291bnQgaXMgMCwgdGhlIGluaXRpYWwgb2Zmc2V0IGlzIHJldHVybmVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNraXBOZXdsaW5lcyh0ZXh0OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIGNvdW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChjb3VudCA9PSAwKSByZXR1cm4gc3RhcnQ7XG5cbiAgICBsZXQgcG9zaXRpb24gPSBzdGFydDtcbiAgICB3aGlsZSAoY291bnQgPiAwKSB7XG4gICAgICAgIHBvc2l0aW9uID0gdGV4dC5pbmRleE9mKFwiXFxuXCIsIHBvc2l0aW9uKTtcbiAgICAgICAgaWYgKHBvc2l0aW9uID09IC0xKSByZXR1cm4gLTE7XG5cbiAgICAgICAgY291bnQtLTtcbiAgICAgICAgcG9zaXRpb24gKz0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gcG9zaXRpb247XG59XG4iLCAiZXhwb3J0IGRlZmF1bHQgKCkgPT4ge1xuXHQvLyBodHRwczovL210aHMuYmUvZW1vamlcblx0cmV0dXJuIC9bIyowLTldXFx1RkUwRj9cXHUyMEUzfFtcXHhBOVxceEFFXFx1MjAzQ1xcdTIwNDlcXHUyMTIyXFx1MjEzOVxcdTIxOTQtXFx1MjE5OVxcdTIxQTlcXHUyMUFBXFx1MjMxQVxcdTIzMUJcXHUyMzI4XFx1MjNDRlxcdTIzRUQtXFx1MjNFRlxcdTIzRjFcXHUyM0YyXFx1MjNGOC1cXHUyM0ZBXFx1MjRDMlxcdTI1QUFcXHUyNUFCXFx1MjVCNlxcdTI1QzBcXHUyNUZCXFx1MjVGQ1xcdTI1RkVcXHUyNjAwLVxcdTI2MDRcXHUyNjBFXFx1MjYxMVxcdTI2MTRcXHUyNjE1XFx1MjYxOFxcdTI2MjBcXHUyNjIyXFx1MjYyM1xcdTI2MjZcXHUyNjJBXFx1MjYyRVxcdTI2MkZcXHUyNjM4LVxcdTI2M0FcXHUyNjQwXFx1MjY0MlxcdTI2NDgtXFx1MjY1M1xcdTI2NUZcXHUyNjYwXFx1MjY2M1xcdTI2NjVcXHUyNjY2XFx1MjY2OFxcdTI2N0JcXHUyNjdFXFx1MjY3RlxcdTI2OTJcXHUyNjk0LVxcdTI2OTdcXHUyNjk5XFx1MjY5QlxcdTI2OUNcXHUyNkEwXFx1MjZBN1xcdTI2QUFcXHUyNkIwXFx1MjZCMVxcdTI2QkRcXHUyNkJFXFx1MjZDNFxcdTI2QzhcXHUyNkNGXFx1MjZEMVxcdTI2RTlcXHUyNkYwLVxcdTI2RjVcXHUyNkY3XFx1MjZGOFxcdTI2RkFcXHUyNzAyXFx1MjcwOFxcdTI3MDlcXHUyNzBGXFx1MjcxMlxcdTI3MTRcXHUyNzE2XFx1MjcxRFxcdTI3MjFcXHUyNzMzXFx1MjczNFxcdTI3NDRcXHUyNzQ3XFx1Mjc1N1xcdTI3NjNcXHUyN0ExXFx1MjkzNFxcdTI5MzVcXHUyQjA1LVxcdTJCMDdcXHUyQjFCXFx1MkIxQ1xcdTJCNTVcXHUzMDMwXFx1MzAzRFxcdTMyOTdcXHUzMjk5XVxcdUZFMEY/fFtcXHUyNjFEXFx1MjcwQ1xcdTI3MERdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpP3xbXFx1MjcwQVxcdTI3MEJdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdTIzRTktXFx1MjNFQ1xcdTIzRjBcXHUyM0YzXFx1MjVGRFxcdTI2OTNcXHUyNkExXFx1MjZBQlxcdTI2QzVcXHUyNkNFXFx1MjZENFxcdTI2RUFcXHUyNkZEXFx1MjcwNVxcdTI3MjhcXHUyNzRDXFx1Mjc0RVxcdTI3NTMtXFx1Mjc1NVxcdTI3OTUtXFx1Mjc5N1xcdTI3QjBcXHUyN0JGXFx1MkI1MF18XFx1MjZEM1xcdUZFMEY/KD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E1KT98XFx1MjZGOSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98XFx1Mjc2NFxcdUZFMEY/KD86XFx1MjAwRCg/OlxcdUQ4M0RcXHVERDI1fFxcdUQ4M0VcXHVERTc5KSk/fFxcdUQ4M0MoPzpbXFx1REMwNFxcdURENzBcXHVERDcxXFx1REQ3RVxcdUREN0ZcXHVERTAyXFx1REUzN1xcdURGMjFcXHVERjI0LVxcdURGMkNcXHVERjM2XFx1REY3RFxcdURGOTZcXHVERjk3XFx1REY5OS1cXHVERjlCXFx1REY5RVxcdURGOUZcXHVERkNEXFx1REZDRVxcdURGRDQtXFx1REZERlxcdURGRjVcXHVERkY3XVxcdUZFMEY/fFtcXHVERjg1XFx1REZDMlxcdURGQzddKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdURGQzRcXHVERkNBXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERkNCXFx1REZDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVEQ0NGXFx1REQ4RVxcdUREOTEtXFx1REQ5QVxcdURFMDFcXHVERTFBXFx1REUyRlxcdURFMzItXFx1REUzNlxcdURFMzgtXFx1REUzQVxcdURFNTBcXHVERTUxXFx1REYwMC1cXHVERjIwXFx1REYyRC1cXHVERjM1XFx1REYzNy1cXHVERjQzXFx1REY0NS1cXHVERjRBXFx1REY0Qy1cXHVERjdDXFx1REY3RS1cXHVERjg0XFx1REY4Ni1cXHVERjkzXFx1REZBMC1cXHVERkMxXFx1REZDNVxcdURGQzZcXHVERkM4XFx1REZDOVxcdURGQ0YtXFx1REZEM1xcdURGRTAtXFx1REZGMFxcdURGRjgtXFx1REZGRl18XFx1RERFNlxcdUQ4M0NbXFx1RERFOC1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREYyXFx1RERGNFxcdURERjYtXFx1RERGQVxcdURERkNcXHVEREZEXFx1RERGRl18XFx1RERFN1xcdUQ4M0NbXFx1RERFNlxcdURERTdcXHVEREU5LVxcdURERUZcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkVcXHVEREZGXXxcXHVEREU4XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERUVcXHVEREYwLVxcdURERjdcXHVEREZBLVxcdURERkZdfFxcdURERTlcXHVEODNDW1xcdURERUFcXHVEREVDXFx1RERFRlxcdURERjBcXHVEREYyXFx1RERGNFxcdURERkZdfFxcdURERUFcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVEXFx1RERGNy1cXHVEREZBXXxcXHVEREVCXFx1RDgzQ1tcXHVEREVFLVxcdURERjBcXHVEREYyXFx1RERGNFxcdURERjddfFxcdURERUNcXHVEODNDW1xcdURERTZcXHVEREU3XFx1RERFOS1cXHVEREVFXFx1RERGMS1cXHVEREYzXFx1RERGNS1cXHVEREZBXFx1RERGQ1xcdURERkVdfFxcdURERURcXHVEODNDW1xcdURERjBcXHVEREYyXFx1RERGM1xcdURERjdcXHVEREY5XFx1RERGQV18XFx1RERFRVxcdUQ4M0NbXFx1RERFOC1cXHVEREVBXFx1RERGMS1cXHVEREY0XFx1RERGNi1cXHVEREY5XXxcXHVEREVGXFx1RDgzQ1tcXHVEREVBXFx1RERGMlxcdURERjRcXHVEREY1XXxcXHVEREYwXFx1RDgzQ1tcXHVEREVBXFx1RERFQy1cXHVEREVFXFx1RERGMlxcdURERjNcXHVEREY1XFx1RERGN1xcdURERkNcXHVEREZFXFx1RERGRl18XFx1RERGMVxcdUQ4M0NbXFx1RERFNi1cXHVEREU4XFx1RERFRVxcdURERjBcXHVEREY3LVxcdURERkJcXHVEREZFXXxcXHVEREYyXFx1RDgzQ1tcXHVEREU2XFx1RERFOC1cXHVEREVEXFx1RERGMC1cXHVEREZGXXxcXHVEREYzXFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUEtXFx1RERFQ1xcdURERUVcXHVEREYxXFx1RERGNFxcdURERjVcXHVEREY3XFx1RERGQVxcdURERkZdfFxcdURERjRcXHVEODNDXFx1RERGMnxcXHVEREY1XFx1RDgzQ1tcXHVEREU2XFx1RERFQS1cXHVEREVEXFx1RERGMC1cXHVEREYzXFx1RERGNy1cXHVEREY5XFx1RERGQ1xcdURERkVdfFxcdURERjZcXHVEODNDXFx1RERFNnxcXHVEREY3XFx1RDgzQ1tcXHVEREVBXFx1RERGNFxcdURERjhcXHVEREZBXFx1RERGQ118XFx1RERGOFxcdUQ4M0NbXFx1RERFNi1cXHVEREVBXFx1RERFQy1cXHVEREY0XFx1RERGNy1cXHVEREY5XFx1RERGQlxcdURERkQtXFx1RERGRl18XFx1RERGOVxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREU5XFx1RERFQi1cXHVEREVEXFx1RERFRi1cXHVEREY0XFx1RERGN1xcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkZdfFxcdURERkFcXHVEODNDW1xcdURERTZcXHVEREVDXFx1RERGMlxcdURERjNcXHVEREY4XFx1RERGRVxcdURERkZdfFxcdURERkJcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVFXFx1RERGM1xcdURERkFdfFxcdURERkNcXHVEODNDW1xcdURERUJcXHVEREY4XXxcXHVEREZEXFx1RDgzQ1xcdURERjB8XFx1RERGRVxcdUQ4M0NbXFx1RERFQVxcdURERjldfFxcdURERkZcXHVEODNDW1xcdURERTZcXHVEREYyXFx1RERGQ118XFx1REY0NCg/OlxcdTIwMERcXHVEODNEXFx1REZFQik/fFxcdURGNEIoPzpcXHUyMDBEXFx1RDgzRFxcdURGRTkpP3xcXHVERkMzKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVERkYzXFx1RkUwRj8oPzpcXHUyMDBEKD86XFx1MjZBN1xcdUZFMEY/fFxcdUQ4M0NcXHVERjA4KSk/fFxcdURGRjQoPzpcXHUyMDBEXFx1MjYyMFxcdUZFMEY/fFxcdURCNDBcXHVEQzY3XFx1REI0MFxcdURDNjJcXHVEQjQwKD86XFx1REM2NVxcdURCNDBcXHVEQzZFXFx1REI0MFxcdURDNjd8XFx1REM3M1xcdURCNDBcXHVEQzYzXFx1REI0MFxcdURDNzR8XFx1REM3N1xcdURCNDBcXHVEQzZDXFx1REI0MFxcdURDNzMpXFx1REI0MFxcdURDN0YpPyl8XFx1RDgzRCg/OltcXHVEQzNGXFx1RENGRFxcdURENDlcXHVERDRBXFx1REQ2RlxcdURENzBcXHVERDczXFx1REQ3Ni1cXHVERDc5XFx1REQ4N1xcdUREOEEtXFx1REQ4RFxcdUREQTVcXHVEREE4XFx1RERCMVxcdUREQjJcXHVEREJDXFx1RERDMi1cXHVEREM0XFx1REREMS1cXHVEREQzXFx1REREQy1cXHVERERFXFx1RERFMVxcdURERTNcXHVEREU4XFx1RERFRlxcdURERjNcXHVEREZBXFx1REVDQlxcdURFQ0QtXFx1REVDRlxcdURFRTAtXFx1REVFNVxcdURFRTlcXHVERUYwXFx1REVGM11cXHVGRTBGP3xbXFx1REM0MlxcdURDNDNcXHVEQzQ2LVxcdURDNTBcXHVEQzY2XFx1REM2N1xcdURDNkItXFx1REM2RFxcdURDNzJcXHVEQzc0LVxcdURDNzZcXHVEQzc4XFx1REM3Q1xcdURDODNcXHVEQzg1XFx1REM4RlxcdURDOTFcXHVEQ0FBXFx1REQ3QVxcdUREOTVcXHVERDk2XFx1REU0Q1xcdURFNEZcXHVERUMwXFx1REVDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REM2RVxcdURDNzBcXHVEQzcxXFx1REM3M1xcdURDNzdcXHVEQzgxXFx1REM4MlxcdURDODZcXHVEQzg3XFx1REU0NS1cXHVERTQ3XFx1REU0QlxcdURFNERcXHVERTRFXFx1REVBM1xcdURFQjRcXHVERUI1XSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDc0XFx1REQ5MF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/fFtcXHVEQzAwLVxcdURDMDdcXHVEQzA5LVxcdURDMTRcXHVEQzE2LVxcdURDMjVcXHVEQzI3LVxcdURDM0FcXHVEQzNDLVxcdURDM0VcXHVEQzQwXFx1REM0NFxcdURDNDVcXHVEQzUxLVxcdURDNjVcXHVEQzZBXFx1REM3OS1cXHVEQzdCXFx1REM3RC1cXHVEQzgwXFx1REM4NFxcdURDODgtXFx1REM4RVxcdURDOTBcXHVEQzkyLVxcdURDQTlcXHVEQ0FCLVxcdURDRkNcXHVEQ0ZGLVxcdUREM0RcXHVERDRCLVxcdURENEVcXHVERDUwLVxcdURENjdcXHVEREE0XFx1RERGQi1cXHVERTJEXFx1REUyRi1cXHVERTM0XFx1REUzNy1cXHVERTQxXFx1REU0M1xcdURFNDRcXHVERTQ4LVxcdURFNEFcXHVERTgwLVxcdURFQTJcXHVERUE0LVxcdURFQjNcXHVERUI3LVxcdURFQkZcXHVERUMxLVxcdURFQzVcXHVERUQwLVxcdURFRDJcXHVERUQ1LVxcdURFRDdcXHVERURDLVxcdURFREZcXHVERUVCXFx1REVFQ1xcdURFRjQtXFx1REVGQ1xcdURGRTAtXFx1REZFQlxcdURGRjBdfFxcdURDMDgoPzpcXHUyMDBEXFx1MkIxQik/fFxcdURDMTUoPzpcXHUyMDBEXFx1RDgzRVxcdUREQkEpP3xcXHVEQzI2KD86XFx1MjAwRCg/OlxcdTJCMUJ8XFx1RDgzRFxcdUREMjUpKT98XFx1REMzQig/OlxcdTIwMERcXHUyNzQ0XFx1RkUwRj8pP3xcXHVEQzQxXFx1RkUwRj8oPzpcXHUyMDBEXFx1RDgzRFxcdURERThcXHVGRTBGPyk/fFxcdURDNjgoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OHxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XVxcdTIwMERcXHVEODNEKD86XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkMtXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdKSkpP3xcXHVERkZEKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRV0pKSk/KSk/fFxcdURDNjkoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/W1xcdURDNjhcXHVEQzY5XXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pP3xcXHVEQzY5XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KSl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSkpKT8pKT98XFx1REM2Rig/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERDc1KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERTJFKD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E4KT98XFx1REUzNSg/OlxcdTIwMERcXHVEODNEXFx1RENBQik/fFxcdURFMzYoPzpcXHUyMDBEXFx1RDgzQ1xcdURGMkJcXHVGRTBGPyk/fFxcdURFNDIoPzpcXHUyMDBEW1xcdTIxOTRcXHUyMTk1XVxcdUZFMEY/KT98XFx1REVCNig/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRCg/OltcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xcXHUyN0ExXFx1RkUwRj8pKT8pfFxcdUQ4M0UoPzpbXFx1REQwQ1xcdUREMEZcXHVERDE4LVxcdUREMUZcXHVERDMwLVxcdUREMzRcXHVERDM2XFx1REQ3N1xcdUREQjVcXHVEREI2XFx1RERCQlxcdURERDJcXHVEREQzXFx1RERENVxcdURFQzMtXFx1REVDNVxcdURFRjBcXHVERUYyLVxcdURFRjhdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdUREMjZcXHVERDM1XFx1REQzNy1cXHVERDM5XFx1REQzRFxcdUREM0VcXHVEREI4XFx1RERCOVxcdUREQ0RcXHVERENGXFx1RERENFxcdURERDYtXFx1RERERF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1RERERVxcdUREREZdKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDBEXFx1REQwRVxcdUREMTAtXFx1REQxN1xcdUREMjAtXFx1REQyNVxcdUREMjctXFx1REQyRlxcdUREM0FcXHVERDNGLVxcdURENDVcXHVERDQ3LVxcdURENzZcXHVERDc4LVxcdUREQjRcXHVEREI3XFx1RERCQVxcdUREQkMtXFx1RERDQ1xcdURERDBcXHVEREUwLVxcdURERkZcXHVERTcwLVxcdURFN0NcXHVERTgwLVxcdURFODlcXHVERThGLVxcdURFQzJcXHVERUM2XFx1REVDRS1cXHVERURDXFx1REVERi1cXHVERUU5XXxcXHVERDNDKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGP3xcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xcXHVERENFKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVEREQxKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEREQxXFx1MjAwRFxcdUQ4M0VcXHVEREQyKD86XFx1MjAwRFxcdUQ4M0VcXHVEREQyKT98XFx1REREMig/OlxcdTIwMERcXHVEODNFXFx1REREMik/KSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRV18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT8pKT98XFx1REVGMSg/OlxcdUQ4M0MoPzpcXHVERkZCKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKT98XFx1REZGQyg/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pP3xcXHVERkZEKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSk/fFxcdURGRkUoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKT98XFx1REZGRig/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSk/KSk/KS9nO1xufTtcbiIsICJpbXBvcnQgeyBnZXRGaWxlVGl0bGUsIG5vcm1hbGl6ZUhlYWRlckZvckxpbmsgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcblxuLyoqIFRoZSBPYnNpZGlhbiAnbGluaycsIHVzZWQgZm9yIHVuaXF1ZWx5IGRlc2NyaWJpbmcgYSBmaWxlLCBoZWFkZXIsIG9yIGJsb2NrLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgY2xhc3MgTGluayB7XG4gICAgLyoqIFRoZSBmaWxlIHBhdGggdGhpcyBsaW5rIHBvaW50cyB0by4gKi9cbiAgICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZGlzcGxheSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay4gKi9cbiAgICBwdWJsaWMgZGlzcGxheT86IHN0cmluZztcbiAgICAvKiogVGhlIGJsb2NrIElEIG9yIGhlYWRlciB0aGlzIGxpbmsgcG9pbnRzIHRvIHdpdGhpbiBhIGZpbGUsIGlmIHJlbGV2YW50LiAqL1xuICAgIHB1YmxpYyBzdWJwYXRoPzogc3RyaW5nO1xuICAgIC8qKiBJcyB0aGlzIGxpbmsgYW4gZW1iZWRkZWQgbGluayAob2YgZm9ybSAnIVtbaGVsbG9dXScpPyAqL1xuICAgIHB1YmxpYyBlbWJlZDogYm9vbGVhbjtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBsaW5rLCB3aGljaCBkZXRlcm1pbmVzIHdoYXQgJ3N1YnBhdGgnIHJlZmVycyB0bywgaWYgYW55dGhpbmcuICovXG4gICAgcHVibGljIHR5cGU6IFwiZmlsZVwiIHwgXCJoZWFkZXJcIiB8IFwiYmxvY2tcIjtcblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgc3BlY2lmaWMgZmlsZS4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGZpbGUocGF0aDogc3RyaW5nLCBlbWJlZDogYm9vbGVhbiA9IGZhbHNlLCBkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayh7XG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgZW1iZWQsXG4gICAgICAgICAgICBkaXNwbGF5LFxuICAgICAgICAgICAgc3VicGF0aDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHlwZTogXCJmaWxlXCIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBJbmZlciB0aGUgdHlwZSBvZiB0aGUgbGluayBmcm9tIHRoZSBmdWxsIGludGVybmFsIGxpbmsgcGF0aC4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZmVyKGxpbmtwYXRoOiBzdHJpbmcsIGVtYmVkOiBib29sZWFuID0gZmFsc2UsIGRpc3BsYXk/OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgaWYgKGxpbmtwYXRoLmluY2x1ZGVzKFwiI15cIikpIHtcbiAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KFwiI15cIik7XG4gICAgICAgICAgICByZXR1cm4gTGluay5ibG9jayhzcGxpdFswXSwgc3BsaXRbMV0sIGVtYmVkLCBkaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIGlmIChsaW5rcGF0aC5pbmNsdWRlcyhcIiNcIikpIHtcbiAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KFwiI1wiKTtcbiAgICAgICAgICAgIHJldHVybiBMaW5rLmhlYWRlcihzcGxpdFswXSwgc3BsaXRbMV0sIGVtYmVkLCBkaXNwbGF5KTtcbiAgICAgICAgfSBlbHNlIHJldHVybiBMaW5rLmZpbGUobGlua3BhdGgsIGVtYmVkLCBkaXNwbGF5KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGhlYWRlciBpbiB0aGF0IGZpbGUuICovXG4gICAgcHVibGljIHN0YXRpYyBoZWFkZXIocGF0aDogc3RyaW5nLCBoZWFkZXI6IHN0cmluZywgZW1iZWQ/OiBib29sZWFuLCBkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIC8vIEhlYWRlcnMgbmVlZCB0byBiZSBub3JtYWxpemVkIHRvIGFscGhhLW51bWVyaWMgJiB3aXRoIGV4dHJhIHNwYWNpbmcgcmVtb3ZlZC5cbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBlbWJlZCxcbiAgICAgICAgICAgIGRpc3BsYXksXG4gICAgICAgICAgICBzdWJwYXRoOiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKGhlYWRlciksXG4gICAgICAgICAgICB0eXBlOiBcImhlYWRlclwiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGJsb2NrIGluIHRoYXQgZmlsZS4gKi9cbiAgICBwdWJsaWMgc3RhdGljIGJsb2NrKHBhdGg6IHN0cmluZywgYmxvY2tJZDogc3RyaW5nLCBlbWJlZD86IGJvb2xlYW4sIGRpc3BsYXk/OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHtcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBlbWJlZCxcbiAgICAgICAgICAgIGRpc3BsYXksXG4gICAgICAgICAgICBzdWJwYXRoOiBibG9ja0lkLFxuICAgICAgICAgICAgdHlwZTogXCJibG9ja1wiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogTG9hZCBhIGxpbmsgZnJvbSBpdCdzIHJhdyBKU09OIHJlcHJlc2VudGF0aW9uLiAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbU9iamVjdChvYmplY3Q6IEpzb25MaW5rKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayhvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIGJ5IHBhcnNpbmcgaXQncyBpbnRlcmlvciBwYXJ0IChpbnNpZGUgb2YgdGhlICdbW11dJykuICovXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZUlubmVyKHJhd2xpbms6IHN0cmluZyk6IExpbmsge1xuICAgICAgICBsZXQgW2xpbmssIGRpc3BsYXldID0gc3BsaXRPblVuZXNjYXBlZFBpcGUocmF3bGluayk7XG4gICAgICAgIHJldHVybiBMaW5rLmluZmVyKGxpbmssIGZhbHNlLCBkaXNwbGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGZpZWxkczogUGFydGlhbDxMaW5rPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGZpZWxkcyk7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSB0aGlzIGxpbmsgd2l0aCBhIG5ldyBwYXRoLiAqL1xuICAgIHB1YmxpYyB3aXRoUGF0aChwYXRoOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMaW5rKE9iamVjdC5hc3NpZ24oe30sIHRoaXMsIHsgcGF0aCB9KSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIG5ldyBsaW5rIHdoaWNoIHBvaW50cyB0byB0aGUgc2FtZSBsb2NhdGlvbiBidXQgd2l0aCBhIG5ldyBkaXNwbGF5IHZhbHVlLiAqL1xuICAgIHB1YmxpYyB3aXRoRGlzcGxheShkaXNwbGF5Pzogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBuZXcgTGluayhPYmplY3QuYXNzaWduKHt9LCB0aGlzLCB7IGRpc3BsYXkgfSkpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBuZXcgbGluayB3aGljaCBoYXMgdGhlIGdpdmVuIGVtYmVkZGVkIHN0YXR1cy4gKi9cbiAgICBwdWJsaWMgd2l0aEVtYmVkKGVtYmVkOiBib29sZWFuKTogTGluayB7XG4gICAgICAgIGlmICh0aGlzLmVtYmVkID09IGVtYmVkKSByZXR1cm4gdGhpcztcblxuICAgICAgICByZXR1cm4gbmV3IExpbmsoT2JqZWN0LmFzc2lnbih7fSwgdGhpcywgeyBlbWJlZCB9KSk7XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgYSBmaWxlIGxpbmsgaW50byBhIGxpbmsgdG8gYSBzcGVjaWZpYyBoZWFkZXIuICovXG4gICAgcHVibGljIHdpdGhIZWFkZXIoaGVhZGVyOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHRoaXMucGF0aCwgaGVhZGVyLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGEgZmlsZSBsaW5rIGludG8gYSBsaW5rIHRvIGEgc3BlY2lmaWNiIGxvY2suICovXG4gICAgcHVibGljIHdpdGhCbG9jayhibG9jazogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmJsb2NrKHRoaXMucGF0aCwgYmxvY2ssIHRoaXMuZW1iZWQsIHRoaXMuZGlzcGxheSk7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyBmb3IgbGluayBlcXVhbGl0eSAoaS5lLiwgdGhhdCB0aGUgbGlua3MgYXJlIHBvaW50aW5nIHRvIHRoZSBzYW1lIGV4YWN0IGxvY2F0aW9uKS4gKi9cbiAgICBwdWJsaWMgZXF1YWxzKG90aGVyOiBMaW5rKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChvdGhlciA9PSB1bmRlZmluZWQgfHwgb3RoZXIgPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBhdGggPT0gb3RoZXIucGF0aCAmJiB0aGlzLnR5cGUgPT0gb3RoZXIudHlwZSAmJiB0aGlzLnN1YnBhdGggPT0gb3RoZXIuc3VicGF0aDtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gaXQncyBtYXJrZG93biByZXByZXNlbnRhdGlvbi4gKi9cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFya2Rvd24oKTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gYSByYXcgb2JqZWN0IHdoaWNoIGlzIHNlcmlhbGl6YXRpb24tZnJpZW5kbHkuICovXG4gICAgcHVibGljIHRvT2JqZWN0KCk6IEpzb25MaW5rIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgICAgIHN1YnBhdGg6IHRoaXMuc3VicGF0aCxcbiAgICAgICAgICAgIGRpc3BsYXk6IHRoaXMuZGlzcGxheSxcbiAgICAgICAgICAgIGVtYmVkOiB0aGlzLmVtYmVkLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGFueSBsaW5rIGludG8gYSBsaW5rIHRvIGl0cyBmaWxlLiAqL1xuICAgIHB1YmxpYyB0b0ZpbGUoKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUodGhpcy5wYXRoLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IHRoaXMgbGluayBpbnRvIGFuIGVtYmVkZGVkIGxpbmsuICovXG4gICAgcHVibGljIHRvRW1iZWQoKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhFbWJlZCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhIG5vbi1lbWJlZGRlZCBsaW5rLiAqL1xuICAgIHB1YmxpYyBmcm9tRW1iZWQoKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhFbWJlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgdGhpcyBsaW5rIHRvIG1hcmtkb3duIHNvIGl0IGNhbiBiZSByZW5kZXJlZC4gKi9cbiAgICBwdWJsaWMgbWFya2Rvd24oKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICh0aGlzLmVtYmVkID8gXCIhXCIgOiBcIlwiKSArIFwiW1tcIiArIHRoaXMub2JzaWRpYW5MaW5rKCk7XG4gICAgICAgIHJlc3VsdCArPSBcInxcIjtcbiAgICAgICAgcmVzdWx0ICs9IHRoaXMuZGlzcGxheU9yRGVmYXVsdCgpO1xuICAgICAgICByZXN1bHQgKz0gXCJdXVwiO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gdGhlIGRpc3BsYXkgZm9yIHRoaXMgbGluayBpZiBwcmVzZW50LCBvciByZXR1cm4gYSBzaW1wbGUgZGVmYXVsdCBkaXNwbGF5LiAqL1xuICAgIHB1YmxpYyBkaXNwbGF5T3JEZWZhdWx0KCkge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpO1xuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBcImhlYWRlclwiIHx8IHRoaXMudHlwZSA9PSBcImJsb2NrXCIpIHJlc3VsdCArPSBcIiA+IFwiICsgdGhpcy5zdWJwYXRoO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvbnZlcnQgdGhlIGlubmVyIHBhcnQgb2YgdGhlIGxpbmsgdG8gc29tZXRoaW5nIHRoYXQgT2JzaWRpYW4gY2FuIG9wZW4gLyB1bmRlcnN0YW5kLiAqL1xuICAgIHB1YmxpYyBvYnNpZGlhbkxpbmsoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZXNjYXBlZCA9IHRoaXMucGF0aC5yZXBsYWNlKFwifFwiLCBcIlxcXFx8XCIpO1xuICAgICAgICBpZiAodGhpcy50eXBlID09IFwiaGVhZGVyXCIpIHJldHVybiBlc2NhcGVkICsgXCIjXCIgKyB0aGlzLnN1YnBhdGg/LnJlcGxhY2UoXCJ8XCIsIFwiXFxcXHxcIik7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gXCJibG9ja1wiKSByZXR1cm4gZXNjYXBlZCArIFwiI15cIiArIHRoaXMuc3VicGF0aD8ucmVwbGFjZShcInxcIiwgXCJcXFxcfFwiKTtcbiAgICAgICAgZWxzZSByZXR1cm4gZXNjYXBlZDtcbiAgICB9XG5cbiAgICAvKiogVGhlIHN0cmlwcGVkIG5hbWUgb2YgdGhlIGZpbGUgdGhpcyBsaW5rIHBvaW50cyB0by4gKi9cbiAgICBwdWJsaWMgZmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpO1xuICAgIH1cbn1cblxuLyoqIFNlcmlhbGl6ZWQgZm9ybSBvZiBhIGxpbmsuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkxpbmsge1xuICAgIC8qKiBUaGUgZmlsZSBwYXRoIHRoaXMgbGluayBwb2ludHMgdG8uICovXG4gICAgcGF0aDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZGlzcGxheSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGluay4gKi9cbiAgICBkaXNwbGF5Pzogc3RyaW5nO1xuICAgIC8qKiBUaGUgYmxvY2sgSUQgb3IgaGVhZGVyIHRoaXMgbGluayBwb2ludHMgdG8gd2l0aGluIGEgZmlsZSwgaWYgcmVsZXZhbnQuICovXG4gICAgc3VicGF0aD86IHN0cmluZztcbiAgICAvKiogSXMgdGhpcyBsaW5rIGFuIGVtYmVkZGVkIGxpbmsgKG9mIGZvcm0gJyFbW2hlbGxvXV0nKT8gKi9cbiAgICBlbWJlZDogYm9vbGVhbjtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBsaW5rLCB3aGljaCBkZXRlcm1pbmVzIHdoYXQgJ3N1YnBhdGgnIHJlZmVycyB0bywgaWYgYW55dGhpbmcuICovXG4gICAgdHlwZTogXCJmaWxlXCIgfCBcImhlYWRlclwiIHwgXCJibG9ja1wiO1xufVxuXG4vKiogU3BsaXQgb24gdW5lc2NhcGVkIHBpcGVzIGluIGFuIGlubmVyIGxpbmsuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdE9uVW5lc2NhcGVkUGlwZShsaW5rOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWRdIHtcbiAgICBsZXQgcGlwZSA9IC0xO1xuICAgIHdoaWxlICgocGlwZSA9IGxpbmsuaW5kZXhPZihcInxcIiwgcGlwZSArIDEpKSA+PSAwKSB7XG4gICAgICAgIGlmIChwaXBlID4gMCAmJiBsaW5rW3BpcGUgLSAxXSA9PSBcIlxcXFxcIikgY29udGludWU7XG4gICAgICAgIHJldHVybiBbbGluay5zdWJzdHJpbmcoMCwgcGlwZSkucmVwbGFjZSgvXFxcXFxcfC9nLCBcInxcIiksIGxpbmsuc3Vic3RyaW5nKHBpcGUgKyAxKV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtsaW5rLnJlcGxhY2UoL1xcXFxcXHwvZywgXCJ8XCIpLCB1bmRlZmluZWRdO1xufVxuIiwgImltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCAqIGFzIFAgZnJvbSBcInBhcnNpbW1vblwiO1xuaW1wb3J0IHtcbiAgICBCaW5hcnlPcCxcbiAgICBFeHByZXNzaW9uLFxuICAgIEV4cHJlc3Npb25zLFxuICAgIExhbWJkYUV4cHJlc3Npb24sXG4gICAgTGlzdEV4cHJlc3Npb24sXG4gICAgTGl0ZXJhbEV4cHJlc3Npb24sXG4gICAgT2JqZWN0RXhwcmVzc2lvbixcbiAgICBWYXJpYWJsZUV4cHJlc3Npb24sXG59IGZyb20gXCIuL2V4cHJlc3Npb25cIjtcbmltcG9ydCBlbW9qaVJlZ2V4IGZyb20gXCJlbW9qaS1yZWdleFwiO1xuaW1wb3J0IHtcbiAgICBJbmRleENoaWxkT2YsXG4gICAgSW5kZXhQYXRoLFxuICAgIEluZGV4SWQsXG4gICAgSW5kZXhOb3QsXG4gICAgSW5kZXhQYXJlbnRPZixcbiAgICBJbmRleFF1ZXJ5LFxuICAgIEluZGV4VGFnZ2VkLFxuICAgIEluZGV4VHlwZWQsXG4gICAgSW5kZXhMaW5rZWQsXG4gICAgSW5kZXhGaWVsZCxcbiAgICBJbmRleEV4cHJlc3Npb24sXG59IGZyb20gXCJpbmRleC90eXBlcy9pbmRleC1xdWVyeVwiO1xuaW1wb3J0IHsgbm9ybWFsaXplRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7IExpdGVyYWwgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUGFyc2luZyBQcmltaXRpdmVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFByaW1pdGl2ZSBwYXJzaW5nIGZvciBjb21tb25seSBzZWVuIHR5cGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmltaXRpdmVzTGFuZ3VhZ2Uge1xuICAgIG51bWJlcjogbnVtYmVyO1xuICAgIHN0cmluZzogc3RyaW5nO1xuICAgIGVzY2FwZUNoYXJhY3Rlcjogc3RyaW5nO1xuICAgIGJvb2w6IGJvb2xlYW47XG4gICAgdGFnOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGxpbms6IExpbms7XG4gICAgZW1iZWRMaW5rOiBMaW5rO1xuICAgIHJvb3REYXRlOiBEYXRlVGltZTtcbiAgICBkYXRlU2hvcnRoYW5kOiBrZXlvZiB0eXBlb2YgREFURV9TSE9SVEhBTkRTO1xuICAgIGRhdGU6IERhdGVUaW1lO1xuICAgIGRhdGVQbHVzOiBEYXRlVGltZTtcbiAgICBkdXJhdGlvblR5cGU6IGtleW9mIHR5cGVvZiBEVVJBVElPTl9UWVBFUztcbiAgICBkdXJhdGlvbjogRHVyYXRpb247XG4gICAgcmF3TnVsbDogc3RyaW5nO1xuXG4gICAgYmluYXJ5UGx1c01pbnVzOiBCaW5hcnlPcDtcbiAgICBiaW5hcnlNdWxEaXY6IEJpbmFyeU9wO1xuICAgIGJpbmFyeUNvbXBhcmVPcDogQmluYXJ5T3A7XG4gICAgYmluYXJ5QW5kT3A6IEJpbmFyeU9wO1xuICAgIGJpbmFyeU9yT3A6IEJpbmFyeU9wO1xuXG4gICAgLy8gTGl0ZXJhbCBmaWVsZCBwYXJzaW5nIGZvciBpbmdlc3RpbmcgaW5saW5lIGZpZWxkcyBhbmQgZnJvbnRtYXR0ZXIuXG4gICAgYXRvbUlubGluZUZpZWxkOiBMaXRlcmFsO1xuICAgIGlubGluZUZpZWxkTGlzdDogTGl0ZXJhbFtdO1xuICAgIGlubGluZUZpZWxkOiBMaXRlcmFsO1xufVxuXG4vKiogSW1wbGVtZW50YXRpb25zIGZvciBtYW55IHByaW1pdGl2ZXMuICovXG5leHBvcnQgY29uc3QgUFJJTUlUSVZFUyA9IFAuY3JlYXRlTGFuZ3VhZ2U8UHJpbWl0aXZlc0xhbmd1YWdlPih7XG4gICAgbnVtYmVyOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoLy0/WzAtOV0rKFxcLlswLTldKyk/LylcbiAgICAgICAgICAgIC5tYXAoKHN0cikgPT4gTnVtYmVyLnBhcnNlRmxvYXQoc3RyKSlcbiAgICAgICAgICAgIC5kZXNjKFwibnVtYmVyXCIpLFxuXG4gICAgLy8gQSBxdW90ZS1zdXJyb3VuZGVkIHN0cmluZyB3aGljaCBzdXBwb3J0cyBlc2NhcGUgY2hhcmFjdGVycyAoJ1xcJykuXG4gICAgc3RyaW5nOiAocSkgPT5cbiAgICAgICAgUC5zdHJpbmcoJ1wiJylcbiAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgIFAuYWx0KHEuZXNjYXBlQ2hhcmFjdGVyLCBQLm5vbmVPZignXCJcXFxcJykpXG4gICAgICAgICAgICAgICAgICAgIC5hdExlYXN0KDApXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGNoYXJzKSA9PiBjaGFycy5qb2luKFwiXCIpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNraXAoUC5zdHJpbmcoJ1wiJykpXG4gICAgICAgICAgICAuZGVzYyhcInN0cmluZ1wiKSxcblxuICAgIGVzY2FwZUNoYXJhY3RlcjogKF8pID0+XG4gICAgICAgIFAuc3RyaW5nKFwiXFxcXFwiKVxuICAgICAgICAgICAgLnRoZW4oUC5hbnkpXG4gICAgICAgICAgICAubWFwKChlc2NhcGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgYXJlIGVzY2FwaW5nIGEgYmFja3NsYXNoIG9yIGEgcXVvdGUsIHBhc3MgaW4gb24gaW4gZXNjYXBlZCBmb3JtXG4gICAgICAgICAgICAgICAgaWYgKGVzY2FwZWQgPT09ICdcIicpIHJldHVybiAnXCInO1xuICAgICAgICAgICAgICAgIGlmIChlc2NhcGVkID09PSBcIlxcXFxcIikgcmV0dXJuIFwiXFxcXFwiO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIFwiXFxcXFwiICsgZXNjYXBlZDtcbiAgICAgICAgICAgIH0pLFxuXG4gICAgLy8gQSBib29sZWFuIHRydWUvZmFsc2UgdmFsdWUuXG4gICAgYm9vbDogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC90cnVlfGZhbHNlfFRydWV8RmFsc2UvKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIudG9Mb3dlckNhc2UoKSA9PSBcInRydWVcIilcbiAgICAgICAgICAgIC5kZXNjKFwiYm9vbGVhblwiKSxcblxuICAgIC8vIEEgdGFnIG9mIHRoZSBmb3JtICcjc3R1ZmYvaGVsbG8tdGhlcmUnLlxuICAgIHRhZzogKF8pID0+XG4gICAgICAgIFAuc2VxTWFwKFxuICAgICAgICAgICAgUC5zdHJpbmcoXCIjXCIpLFxuICAgICAgICAgICAgUC5hbHQoUC5yZWdleHAoL1teXFx1MjAwMC1cXHUyMDZGXFx1MkUwMC1cXHUyRTdGJyFcIiMkJSYoKSorLC46Ozw9Pj9AXmB7fH1+XFxbXFxdXFxcXFxcc10vKS5kZXNjKFwidGV4dFwiKSkubWFueSgpLFxuICAgICAgICAgICAgKHN0YXJ0LCByZXN0KSA9PiBzdGFydCArIHJlc3Quam9pbihcIlwiKVxuICAgICAgICApLmRlc2MoXCJ0YWdcIiksXG5cbiAgICAvLyBBIHZhcmlhYmxlIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFscGhhbnVtZXJpYyBhbmQgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIG9yLi4uIGVtb2ppLlxuICAgIGlkZW50aWZpZXI6IChfKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFAuYWx0KFAucmVnZXhwKC9bXFxwe0xldHRlcn0kXS91KSwgUC5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoXCJ0ZXh0XCIpKSxcbiAgICAgICAgICAgIFAuYWx0KFAucmVnZXhwKC9bMC05XFxwe0xldHRlcn0kXy1dL3UpLCBQLnJlZ2V4cChFTU9KSV9SRUdFWCkuZGVzYyhcInRleHRcIikpLm1hbnkoKSxcbiAgICAgICAgICAgIChmaXJzdCwgcmVzdCkgPT4gZmlyc3QgKyByZXN0LmpvaW4oXCJcIilcbiAgICAgICAgKS5kZXNjKFwidmFyaWFibGVcIiksXG5cbiAgICAvLyBBbiBPYnNpZGlhbiBsaW5rIG9mIHRoZSBmb3JtIFtbPGxpbms+XV0uXG4gICAgbGluazogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9cXFtcXFsoW15cXFtcXF1dKj8pXFxdXFxdL3UsIDEpXG4gICAgICAgICAgICAubWFwKChsaW5rSW5uZXIpID0+IExpbmsucGFyc2VJbm5lcihsaW5rSW5uZXIpKVxuICAgICAgICAgICAgLmRlc2MoXCJmaWxlIGxpbmtcIiksXG5cbiAgICAvLyBBbiBlbWJlZGRhYmxlIGxpbmsgd2hpY2ggY2FuIHN0YXJ0IHdpdGggJyEnLiBUaGlzIG92ZXJsYXBzIHdpdGggdGhlIG5vcm1hbCBuZWdhdGlvbiBvcGVyYXRvciwgc28gaXQgaXMgb25seVxuICAgIC8vIHByb3ZpZGVkIGZvciBtZXRhZGF0YSBwYXJzaW5nLlxuICAgIGVtYmVkTGluazogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiIVwiKS5hdE1vc3QoMSksIHEubGluaywgKHAsIGwpID0+IHtcbiAgICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDApIGwuZW1iZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGw7XG4gICAgICAgIH0pLmRlc2MoXCJmaWxlIGxpbmtcIiksXG5cbiAgICAvLyBCaW5hcnkgcGx1cyBvciBtaW51cyBvcGVyYXRvci5cbiAgICBiaW5hcnlQbHVzTWludXM6IChfKSA9PlxuICAgICAgICBQLnJlZ2V4cCgvXFwrfC0vKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIgYXMgQmluYXJ5T3ApXG4gICAgICAgICAgICAuZGVzYyhcIicrJyBvciAnLSdcIiksXG5cbiAgICAvLyBCaW5hcnkgdGltZXMgb3IgZGl2aWRlIG9wZXJhdG9yLlxuICAgIGJpbmFyeU11bERpdjogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9cXCp8XFwvfCUvKVxuICAgICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIgYXMgQmluYXJ5T3ApXG4gICAgICAgICAgICAuZGVzYyhcIicqJyBvciAnLycgb3IgJyUnXCIpLFxuXG4gICAgLy8gQmluYXJ5IGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gICAgYmluYXJ5Q29tcGFyZU9wOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoLz49fDw9fCE9fD58PHw9LylcbiAgICAgICAgICAgIC5tYXAoKHN0cikgPT4gc3RyIGFzIEJpbmFyeU9wKVxuICAgICAgICAgICAgLmRlc2MoXCInPj0nIG9yICc8PScgb3IgJyE9JyBvciAnPScgb3IgJz4nIG9yICc8J1wiKSxcblxuICAgIC8vIEJpbmFyeSBib29sZWFuIGNvbWJpbmF0aW9uIG9wZXJhdG9yLlxuICAgIGJpbmFyeUFuZE9wOiAoXykgPT5cbiAgICAgICAgUC5yZWdleHAoL2FuZHwmL2kpXG4gICAgICAgICAgICAubWFwKChfc3RyKSA9PiBcIiZcIiBhcyBCaW5hcnlPcClcbiAgICAgICAgICAgIC5kZXNjKFwiJ2FuZCdcIiksXG4gICAgYmluYXJ5T3JPcDogKF8pID0+XG4gICAgICAgIFAucmVnZXhwKC9vcnxcXHwvaSlcbiAgICAgICAgICAgIC5tYXAoKF9zdHIpID0+IFwifFwiIGFzIEJpbmFyeU9wKVxuICAgICAgICAgICAgLmRlc2MoXCInb3InXCIpLFxuXG4gICAgLy8gQSBkYXRlIHdoaWNoIGNhbiBiZSBZWVlZLU1NWy1ERFRISDptbTpzc10uXG4gICAgcm9vdERhdGU6IChfKSA9PlxuICAgICAgICBQLnNlcU1hcChQLnJlZ2V4cCgvXFxkezR9LyksIFAuc3RyaW5nKFwiLVwiKSwgUC5yZWdleHAoL1xcZHsyfS8pLCAoeWVhciwgXywgbW9udGgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHsgeWVhcjogTnVtYmVyLnBhcnNlSW50KHllYXIpLCBtb250aDogTnVtYmVyLnBhcnNlSW50KG1vbnRoKSB9KTtcbiAgICAgICAgfSkuZGVzYyhcImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXVwiKSxcbiAgICBkYXRlU2hvcnRoYW5kOiAoXykgPT5cbiAgICAgICAgUC5hbHQoXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyhEQVRFX1NIT1JUSEFORFMpXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgLm1hcChQLnN0cmluZylcbiAgICAgICAgKSBhcyBQLlBhcnNlcjxrZXlvZiB0eXBlb2YgREFURV9TSE9SVEhBTkRTPixcbiAgICBkYXRlOiAocSkgPT5cbiAgICAgICAgY2hhaW5PcHQ8RGF0ZVRpbWU+KFxuICAgICAgICAgICAgcS5yb290RGF0ZSxcbiAgICAgICAgICAgICh5bTogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCItXCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBkYXkpID0+IHltLnNldCh7IGRheTogTnVtYmVyLnBhcnNlSW50KGRheSkgfSkpLFxuICAgICAgICAgICAgKHltZDogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCJUXCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBob3VyKSA9PiB5bWQuc2V0KHsgaG91cjogTnVtYmVyLnBhcnNlSW50KGhvdXIpIH0pKSxcbiAgICAgICAgICAgICh5bWRoOiBEYXRlVGltZSkgPT5cbiAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIjpcIiksIFAucmVnZXhwKC9cXGR7Mn0vKSwgKF8sIG1pbnV0ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgeW1kaC5zZXQoeyBtaW51dGU6IE51bWJlci5wYXJzZUludChtaW51dGUpIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICh5bWRobTogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5zZXFNYXAoUC5zdHJpbmcoXCI6XCIpLCBQLnJlZ2V4cCgvXFxkezJ9LyksIChfLCBzZWNvbmQpID0+XG4gICAgICAgICAgICAgICAgICAgIHltZGhtLnNldCh7IHNlY29uZDogTnVtYmVyLnBhcnNlSW50KHNlY29uZCkgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKHltZGhtczogRGF0ZVRpbWUpID0+XG4gICAgICAgICAgICAgICAgUC5hbHQoXG4gICAgICAgICAgICAgICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiLlwiKSwgUC5yZWdleHAoL1xcZHszfS8pLCAoXywgbWlsbGlzZWNvbmQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB5bWRobXMuc2V0KHsgbWlsbGlzZWNvbmQ6IE51bWJlci5wYXJzZUludChtaWxsaXNlY29uZCkgfSlcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgUC5zdWNjZWVkKHltZGhtcykgLy8gcGFzc1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAoZHQ6IERhdGVUaW1lKSA9PlxuICAgICAgICAgICAgICAgIFAuYWx0KFxuICAgICAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIitcIikub3IoUC5zdHJpbmcoXCItXCIpKSwgUC5yZWdleHAoL1xcZHsxLDJ9KDpcXGR7Mn0pPy8pLCAocG0sIGhyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZHQuc2V0Wm9uZShcIlVUQ1wiICsgcG0gKyBociwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIFAuc2VxTWFwKFAuc3RyaW5nKFwiWlwiKSwgKCkgPT4gZHQuc2V0Wm9uZShcInV0Y1wiLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSkpLFxuICAgICAgICAgICAgICAgICAgICBQLnNlcU1hcChQLnN0cmluZyhcIltcIiksIFAucmVnZXhwKC9bMC05QS1aYS16Ky1cXC9dKy91KSwgUC5zdHJpbmcoXCJdXCIpLCAoX2EsIHpvbmUsIF9iKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZHQuc2V0Wm9uZSh6b25lLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAgICAgLmFzc2VydCgoZHQ6IERhdGVUaW1lKSA9PiBkdC5pc1ZhbGlkLCBcInZhbGlkIGRhdGVcIilcbiAgICAgICAgICAgIC5kZXNjKFwiZGF0ZSBpbiBmb3JtYXQgWVlZWS1NTVstRERUSEgtTU0tU1MuTVNdXCIpLFxuXG4gICAgLy8gQSBkYXRlLCBwbHVzIHZhcmlvdXMgc2hvcnRoYW5kIHRpbWVzIG9mIGRheSBpdCBjb3VsZCBiZS5cbiAgICBkYXRlUGx1czogKHEpID0+XG4gICAgICAgIFAuYWx0PERhdGVUaW1lPihcbiAgICAgICAgICAgIHEuZGF0ZVNob3J0aGFuZC5tYXAoKGQpID0+IERBVEVfU0hPUlRIQU5EU1tkXSgpKSxcbiAgICAgICAgICAgIHEuZGF0ZVxuICAgICAgICApLmRlc2MoXCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU10gb3IgaW4gc2hvcnRoYW5kXCIpLFxuXG4gICAgLy8gQSBkdXJhdGlvbiBvZiB0aW1lLlxuICAgIGR1cmF0aW9uVHlwZTogKF8pID0+XG4gICAgICAgIFAuYWx0KFxuICAgICAgICAgICAgLi4uT2JqZWN0LmtleXMoRFVSQVRJT05fVFlQRVMpXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgLm1hcChQLnN0cmluZylcbiAgICAgICAgKSBhcyBQLlBhcnNlcjxrZXlvZiB0eXBlb2YgRFVSQVRJT05fVFlQRVM+LFxuICAgIGR1cmF0aW9uOiAocSkgPT5cbiAgICAgICAgUC5zZXFNYXAocS5udW1iZXIsIFAub3B0V2hpdGVzcGFjZSwgcS5kdXJhdGlvblR5cGUsIChjb3VudCwgXywgdCkgPT5cbiAgICAgICAgICAgIERVUkFUSU9OX1RZUEVTW3RdLm1hcFVuaXRzKCh4KSA9PiB4ICogY291bnQpXG4gICAgICAgIClcbiAgICAgICAgICAgIC5zZXBCeTEoUC5zdHJpbmcoXCIsXCIpLnRyaW0oUC5vcHRXaGl0ZXNwYWNlKS5vcihQLm9wdFdoaXRlc3BhY2UpKVxuICAgICAgICAgICAgLm1hcCgoZHVyYXRpb25zKSA9PiBkdXJhdGlvbnMucmVkdWNlKChwLCBjKSA9PiBwLnBsdXMoYykpKVxuICAgICAgICAgICAgLmRlc2MoXCJkdXJhdGlvbiBsaWtlIDRocjJtaW5cIiksXG5cbiAgICAvLyBBIHJhdyBudWxsIHZhbHVlLlxuICAgIHJhd051bGw6IChfKSA9PiBQLnN0cmluZyhcIm51bGxcIiksXG5cbiAgICAvLyBJbmxpbmUgZmllbGQgdmFsdWUgcGFyc2luZy5cbiAgICBhdG9tSW5saW5lRmllbGQ6IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIHEuZGF0ZSxcbiAgICAgICAgICAgIHEuZHVyYXRpb24ubWFwKChkKSA9PiBub3JtYWxpemVEdXJhdGlvbihkKSksXG4gICAgICAgICAgICBxLnN0cmluZyxcbiAgICAgICAgICAgIHEudGFnLFxuICAgICAgICAgICAgcS5lbWJlZExpbmssXG4gICAgICAgICAgICBxLmJvb2wsXG4gICAgICAgICAgICBxLm51bWJlcixcbiAgICAgICAgICAgIHEucmF3TnVsbFxuICAgICAgICApLFxuICAgIGlubGluZUZpZWxkTGlzdDogKHEpID0+IHEuYXRvbUlubGluZUZpZWxkLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkubG9va2FoZWFkKHEuYXRvbUlubGluZUZpZWxkKSksXG4gICAgaW5saW5lRmllbGQ6IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIFAuc2VxTWFwKHEuYXRvbUlubGluZUZpZWxkLCBQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpLCBxLmlubGluZUZpZWxkTGlzdCwgKGYsIF9zLCBsKSA9PlxuICAgICAgICAgICAgICAgIFtmXS5jb25jYXQobClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxLmF0b21JbmxpbmVGaWVsZFxuICAgICAgICApLFxufSk7XG5cbi8qKiBFbW9qaSByZWdleCwgc3RycHBpbmcgYW55IHJlZ2V4IGZsYWdzIGl0IGhhcy4gKi9cbmNvbnN0IEVNT0pJX1JFR0VYID0gbmV3IFJlZ0V4cChlbW9qaVJlZ2V4KCksIFwiXCIpO1xuXG4vKiogUHJvdmlkZXMgYSBsb29rdXAgdGFibGUgZm9yIHVuaXQgZHVyYXRpb25zIG9mIHRoZSBnaXZlbiB0eXBlLiAqL1xuZXhwb3J0IGNvbnN0IERVUkFUSU9OX1RZUEVTID0ge1xuICAgIHllYXI6IER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSB9KSxcbiAgICB5ZWFyczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLFxuICAgIHlyOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksXG4gICAgeXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEgfSksXG5cbiAgICBtb250aDogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSxcbiAgICBtb250aHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksXG4gICAgbW86IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksXG4gICAgbW9zOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbW9udGhzOiAxIH0pLFxuXG4gICAgd2VlazogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLFxuICAgIHdlZWtzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksXG4gICAgd2s6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSxcbiAgICB3a3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSxcbiAgICB3OiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgd2Vla3M6IDEgfSksXG5cbiAgICBkYXk6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuICAgIGRheXM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuICAgIGQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLFxuXG4gICAgaG91cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxIH0pLFxuICAgIGhvdXJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksXG4gICAgaHI6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSxcbiAgICBocnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSxcbiAgICBoOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksXG5cbiAgICBtaW51dGU6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLFxuICAgIG1pbnV0ZXM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLFxuICAgIG1pbjogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG4gICAgbWluczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG4gICAgbTogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksXG5cbiAgICBzZWNvbmQ6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLFxuICAgIHNlY29uZHM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLFxuICAgIHNlYzogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG4gICAgc2VjczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG4gICAgczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksXG59O1xuXG4vKiogU2hvcnRoYW5kIGZvciBjb21tb24gZGF0ZXMgKHJlbGF0aXZlIHRvIHJpZ2h0IG5vdykuICovXG5leHBvcnQgY29uc3QgREFURV9TSE9SVEhBTkRTID0ge1xuICAgIG5vdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKSxcbiAgICB0b2RheTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKFwiZGF5XCIpLFxuICAgIHllc3RlcmRheTogKCkgPT5cbiAgICAgICAgRGF0ZVRpbWUubG9jYWwoKVxuICAgICAgICAgICAgLnN0YXJ0T2YoXCJkYXlcIilcbiAgICAgICAgICAgIC5taW51cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksXG4gICAgdG9tb3Jyb3c6ICgpID0+XG4gICAgICAgIERhdGVUaW1lLmxvY2FsKClcbiAgICAgICAgICAgIC5zdGFydE9mKFwiZGF5XCIpXG4gICAgICAgICAgICAucGx1cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksXG4gICAgc293OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJ3ZWVrXCIpLFxuICAgIFwic3RhcnQtb2Ytd2Vla1wiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJ3ZWVrXCIpLFxuICAgIGVvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZihcIndlZWtcIiksXG4gICAgXCJlbmQtb2Ytd2Vla1wiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwid2Vla1wiKSxcbiAgICBzb3k6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZihcInllYXJcIiksXG4gICAgXCJzdGFydC1vZi15ZWFyXCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZihcInllYXJcIiksXG4gICAgZW95OiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwieWVhclwiKSxcbiAgICBcImVuZC1vZi15ZWFyXCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoXCJ5ZWFyXCIpLFxuICAgIHNvbTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKFwibW9udGhcIiksXG4gICAgXCJzdGFydC1vZi1tb250aFwiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoXCJtb250aFwiKSxcbiAgICBlb206ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoXCJtb250aFwiKSxcbiAgICBcImVuZC1vZi1tb250aFwiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKFwibW9udGhcIiksXG59O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBFeHByZXNzaW9uIExhbmd1YWdlIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmV4cG9ydCB0eXBlIFBvc3RmaXhGcmFnbWVudCA9XG4gICAgfCB7IHR5cGU6IFwiZG90XCI7IGV4cHI6IHN0cmluZyB9XG4gICAgfCB7IHR5cGU6IFwiaW5kZXhcIjsgZXhwcjogRXhwcmVzc2lvbiB9XG4gICAgfCB7IHR5cGU6IFwiZnVuY3Rpb25cIjsgZXhwcnM6IEV4cHJlc3Npb25bXSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cHJlc3Npb25MYW5ndWFnZSB7XG4gICAgdmFyaWFibGU6IFZhcmlhYmxlRXhwcmVzc2lvbjtcbiAgICBudW1iZXI6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIGJvb2w6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIHN0cmluZzogTGl0ZXJhbEV4cHJlc3Npb247XG4gICAgZGF0ZTogTGl0ZXJhbEV4cHJlc3Npb247XG4gICAgZHVyYXRpb246IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIGxpbms6IExpdGVyYWxFeHByZXNzaW9uO1xuICAgIG51bGw6IExpdGVyYWxFeHByZXNzaW9uO1xuXG4gICAgbGlzdDogTGlzdEV4cHJlc3Npb247XG4gICAgb2JqZWN0OiBPYmplY3RFeHByZXNzaW9uO1xuXG4gICAgbmVnYXRlZDogRXhwcmVzc2lvbjtcbiAgICBhdG9tOiBFeHByZXNzaW9uO1xuICAgIGluZGV4OiBFeHByZXNzaW9uO1xuICAgIGxhbWJkYTogTGFtYmRhRXhwcmVzc2lvbjtcblxuICAgIC8vIFBvc3RmaXggcGFyc2VycyBmb3IgZnVuY3Rpb24gY2FsbHMgJiB0aGUgbGlrZS5cbiAgICBkb3RQb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG4gICAgaW5kZXhQb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG4gICAgZnVuY3Rpb25Qb3N0Zml4OiBQb3N0Zml4RnJhZ21lbnQ7XG5cbiAgICAvLyBCaW5hcnkgb3AgcGFyc2Vycy5cbiAgICBiaW5hcnlNdWxEaXY6IEV4cHJlc3Npb247XG4gICAgYmluYXJ5UGx1c01pbnVzOiBFeHByZXNzaW9uO1xuICAgIGJpbmFyeUNvbXBhcmU6IEV4cHJlc3Npb247XG4gICAgYmluYXJ5Qm9vbGVhbjogRXhwcmVzc2lvbjtcbiAgICBiaW5hcnlPcDogRXhwcmVzc2lvbjtcbiAgICBwYXJlbnM6IEV4cHJlc3Npb247XG4gICAgZXhwcmVzc2lvbjogRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBQYXJzZSBmb3IgdGhlIGRhdGFjb3JlIGV4cHJlc3Npb24gbGFuZ3VhZ2UsIHdoaWNoIHByb3ZpZGVzIHNpbXBsZSBhbmQgdmFndWVseSBKUy1sb29raW5nIGNvbXB1dGF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgRVhQUkVTU0lPTiA9IFAuY3JlYXRlTGFuZ3VhZ2U8RXhwcmVzc2lvbkxhbmd1YWdlPih7XG4gICAgLy8gRmllbGQgcGFyc2luZy5cbiAgICB2YXJpYWJsZTogKF8pID0+IFBSSU1JVElWRVMuaWRlbnRpZmllci5tYXAoRXhwcmVzc2lvbnMudmFyaWFibGUpLmRlc2MoXCJ2YXJpYWJsZVwiKSxcbiAgICBudW1iZXI6IChfKSA9PiBQUklNSVRJVkVTLm51bWJlci5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCkuZGVzYyhcIm51bWJlclwiKSxcbiAgICBzdHJpbmc6IChfKSA9PiBQUklNSVRJVkVTLnN0cmluZy5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCkuZGVzYyhcInN0cmluZ1wiKSxcbiAgICBib29sOiAoXykgPT4gUFJJTUlUSVZFUy5ib29sLm1hcChFeHByZXNzaW9ucy5saXRlcmFsKS5kZXNjKFwiYm9vbGVhblwiKSxcbiAgICBkYXRlOiAoXykgPT5cbiAgICAgICAgY3JlYXRlRnVuY3Rpb24oXCJkYXRlXCIsIFBSSU1JVElWRVMuZGF0ZVBsdXMpXG4gICAgICAgICAgICAubWFwKChbX2Z1bmMsIGRhdGVdKSA9PiBFeHByZXNzaW9ucy5saXRlcmFsKGRhdGUpKVxuICAgICAgICAgICAgLmRlc2MoXCJkYXRlXCIpLFxuICAgIGR1cmF0aW9uOiAoXykgPT5cbiAgICAgICAgY3JlYXRlRnVuY3Rpb24oXCJkdXJcIiwgUFJJTUlUSVZFUy5kdXJhdGlvbilcbiAgICAgICAgICAgIC5tYXAoKFtfZnVuYywgZHVyXSkgPT4gRXhwcmVzc2lvbnMubGl0ZXJhbChkdXIpKVxuICAgICAgICAgICAgLmRlc2MoXCJkdXJhdGlvblwiKSxcbiAgICBudWxsOiAoXykgPT4gUFJJTUlUSVZFUy5yYXdOdWxsLm1hcCgoXykgPT4gRXhwcmVzc2lvbnMuTlVMTCksXG4gICAgbGluazogKF8pID0+IFBSSU1JVElWRVMubGluay5tYXAoRXhwcmVzc2lvbnMubGl0ZXJhbCksXG4gICAgbGlzdDogKHEpID0+XG4gICAgICAgIHEuZXhwcmVzc2lvblxuICAgICAgICAgICAgLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpXG4gICAgICAgICAgICAud3JhcChQLnN0cmluZyhcIltcIikuc2tpcChQLm9wdFdoaXRlc3BhY2UpLCBQLm9wdFdoaXRlc3BhY2UudGhlbihQLnN0cmluZyhcIl1cIikpKVxuICAgICAgICAgICAgLm1hcCgobCkgPT4gRXhwcmVzc2lvbnMubGlzdChsKSlcbiAgICAgICAgICAgIC5kZXNjKFwibGlzdFwiKSxcbiAgICBvYmplY3Q6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFBSSU1JVElWRVMuaWRlbnRpZmllci5vcihQUklNSVRJVkVTLnN0cmluZyksXG4gICAgICAgICAgICBQLnN0cmluZyhcIjpcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpLFxuICAgICAgICAgICAgcS5leHByZXNzaW9uLFxuICAgICAgICAgICAgKG5hbWUsIF9zZXAsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgICAgICAgLnNlcEJ5KFAuc3RyaW5nKFwiLFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpXG4gICAgICAgICAgICAud3JhcChQLnN0cmluZyhcIntcIikuc2tpcChQLm9wdFdoaXRlc3BhY2UpLCBQLm9wdFdoaXRlc3BhY2UudGhlbihQLnN0cmluZyhcIn1cIikpKVxuICAgICAgICAgICAgLm1hcCgodmFscykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZXM6IFJlY29yZDxzdHJpbmcsIEV4cHJlc3Npb24+ID0ge307XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZW50cnkgb2YgdmFscykgcmVzW2VudHJ5Lm5hbWVdID0gZW50cnkudmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEV4cHJlc3Npb25zLm9iamVjdChyZXMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5kZXNjKFwib2JqZWN0ICgneyBhOiAxLCBiOiAyIH0nKVwiKSxcblxuICAgIGF0b206IChxKSA9PlxuICAgICAgICBQLmFsdChcbiAgICAgICAgICAgIC8vIFBsYWNlIGVtYmVkIGxpbmtzIGFib3ZlIG5lZ2F0ZWQgZmllbGRzIGFzIHRoZXkgYXJlIHRoZSBzcGVjaWFsIHBhcnNlciBjYXNlICchW1t0aGluZ11dJyBhbmQgYXJlIGdlbmVyYWxseSB1bmFtYmlnaW91cy5cbiAgICAgICAgICAgIFBSSU1JVElWRVMuZW1iZWRMaW5rLm1hcCgobCkgPT4gRXhwcmVzc2lvbnMubGl0ZXJhbChsKSksXG4gICAgICAgICAgICBxLm5lZ2F0ZWQsXG4gICAgICAgICAgICBxLmxpbmssXG4gICAgICAgICAgICBxLmxpc3QsXG4gICAgICAgICAgICBxLm9iamVjdCxcbiAgICAgICAgICAgIHEubGFtYmRhLFxuICAgICAgICAgICAgcS5wYXJlbnMsXG4gICAgICAgICAgICBxLmJvb2wsXG4gICAgICAgICAgICBxLm51bWJlcixcbiAgICAgICAgICAgIHEuc3RyaW5nLFxuICAgICAgICAgICAgcS5kYXRlLFxuICAgICAgICAgICAgcS5kdXJhdGlvbixcbiAgICAgICAgICAgIHEubnVsbCxcbiAgICAgICAgICAgIHEudmFyaWFibGVcbiAgICAgICAgKSxcbiAgICBpbmRleDogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKHEuYXRvbSwgUC5hbHQocS5kb3RQb3N0Zml4LCBxLmluZGV4UG9zdGZpeCwgcS5mdW5jdGlvblBvc3RmaXgpLm1hbnkoKSwgKG9iaiwgcG9zdGZpeGVzKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gb2JqO1xuICAgICAgICAgICAgZm9yIChsZXQgcG9zdCBvZiBwb3N0Zml4ZXMpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHBvc3QudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZG90XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5pbmRleChyZXN1bHQsIEV4cHJlc3Npb25zLmxpdGVyYWwocG9zdC5leHByKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImluZGV4XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5pbmRleChyZXN1bHQsIHBvc3QuZXhwcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBFeHByZXNzaW9ucy5mdW5jKHJlc3VsdCwgcG9zdC5leHBycyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgIG5lZ2F0ZWQ6IChxKSA9PiBQLnNlcU1hcChQLnN0cmluZyhcIiFcIiksIHEuaW5kZXgsIChfLCBmaWVsZCkgPT4gRXhwcmVzc2lvbnMubmVnYXRlKGZpZWxkKSkuZGVzYyhcIm5lZ2F0ZWQgZmllbGRcIiksXG4gICAgcGFyZW5zOiAocSkgPT4gcS5leHByZXNzaW9uLnRyaW0oUC5vcHRXaGl0ZXNwYWNlKS53cmFwKFAuc3RyaW5nKFwiKFwiKSwgUC5zdHJpbmcoXCIpXCIpKSxcbiAgICBsYW1iZGE6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFBSSU1JVElWRVMuaWRlbnRpZmllclxuICAgICAgICAgICAgICAgIC5zZXBCeShQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpKVxuICAgICAgICAgICAgICAgIC53cmFwKFAuc3RyaW5nKFwiKFwiKS50cmltKFAub3B0V2hpdGVzcGFjZSksIFAuc3RyaW5nKFwiKVwiKS50cmltKFAub3B0V2hpdGVzcGFjZSkpLFxuICAgICAgICAgICAgUC5zdHJpbmcoXCI9PlwiKS50cmltKFAub3B0V2hpdGVzcGFjZSksXG4gICAgICAgICAgICBxLmV4cHJlc3Npb24sXG4gICAgICAgICAgICAoaWRlbnQsIF9pZ25vcmUsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsYW1iZGFcIiwgYXJndW1lbnRzOiBpZGVudCwgdmFsdWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcblxuICAgIGRvdFBvc3RmaXg6IChxKSA9PiBQLnNlcU1hcChQLnN0cmluZyhcIi5cIiksIFBSSU1JVElWRVMuaWRlbnRpZmllciwgKF8sIGV4cHIpID0+ICh7IHR5cGU6IFwiZG90XCIsIGV4cHIgfSkpLFxuICAgIGluZGV4UG9zdGZpeDogKHEpID0+XG4gICAgICAgIFAuc2VxTWFwKFxuICAgICAgICAgICAgUC5zdHJpbmcoXCJbXCIpLFxuICAgICAgICAgICAgUC5vcHRXaGl0ZXNwYWNlLFxuICAgICAgICAgICAgcS5leHByZXNzaW9uLFxuICAgICAgICAgICAgUC5vcHRXaGl0ZXNwYWNlLFxuICAgICAgICAgICAgUC5zdHJpbmcoXCJdXCIpLFxuICAgICAgICAgICAgKF8sIF8yLCBleHByLCBfMywgXzQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcImluZGV4XCIsIGV4cHIgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICBmdW5jdGlvblBvc3RmaXg6IChxKSA9PlxuICAgICAgICBQLnNlcU1hcChcbiAgICAgICAgICAgIFAuc3RyaW5nKFwiKFwiKSxcbiAgICAgICAgICAgIFAub3B0V2hpdGVzcGFjZSxcbiAgICAgICAgICAgIHEuZXhwcmVzc2lvbi5zZXBCeShQLnN0cmluZyhcIixcIikudHJpbShQLm9wdFdoaXRlc3BhY2UpKSxcbiAgICAgICAgICAgIFAub3B0V2hpdGVzcGFjZSxcbiAgICAgICAgICAgIFAuc3RyaW5nKFwiKVwiKSxcbiAgICAgICAgICAgIChfLCBfMSwgZXhwcnMsIF8yLCBfMykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwiZnVuY3Rpb25cIiwgZXhwcnMgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSxcblxuICAgIC8vIFRoZSBwcmVjZWRlbmNlIGhpZXJhcmNoeSBvZiBvcGVyYXRvcnMgLSBtdWx0aXBseS9kaXZpZGUsIGFkZC9zdWJ0cmFjdCwgY29tcGFyZSwgYW5kIHRoZW4gYm9vbGVhbiBvcGVyYXRpb25zLlxuICAgIGJpbmFyeU11bERpdjogKHEpID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmluZGV4LCBQUklNSVRJVkVTLmJpbmFyeU11bERpdiwgRXhwcmVzc2lvbnMuYmluYXJ5T3ApLFxuICAgIGJpbmFyeVBsdXNNaW51czogKHEpID0+IGNyZWF0ZUJpbmFyeVBhcnNlcihxLmJpbmFyeU11bERpdiwgUFJJTUlUSVZFUy5iaW5hcnlQbHVzTWludXMsIEV4cHJlc3Npb25zLmJpbmFyeU9wKSxcbiAgICBiaW5hcnlDb21wYXJlOiAocSkgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5UGx1c01pbnVzLCBQUklNSVRJVkVTLmJpbmFyeUNvbXBhcmVPcCwgRXhwcmVzc2lvbnMuYmluYXJ5T3ApLFxuICAgIGJpbmFyeUJvb2xlYW46IChxKSA9PlxuICAgICAgICBjcmVhdGVCaW5hcnlQYXJzZXIocS5iaW5hcnlDb21wYXJlLCBQUklNSVRJVkVTLmJpbmFyeUFuZE9wLm9yKFBSSU1JVElWRVMuYmluYXJ5T3JPcCksIEV4cHJlc3Npb25zLmJpbmFyeU9wKSxcbiAgICBiaW5hcnlPcDogKHEpID0+IHEuYmluYXJ5Qm9vbGVhbixcblxuICAgIGV4cHJlc3Npb246IChxKSA9PiBxLmJpbmFyeU9wLFxufSk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBRdWVyeSBMYW5ndWFnZSAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFN1cHBvcnRlZCB0eXBlcyBpbiB0aGUgZ3JhbW1hciBmb3IgaW5kZXggcXVlcmllcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlMYW5ndWFnZSB7XG4gICAgcXVlcnlUYWc6IEluZGV4VGFnZ2VkO1xuICAgIHF1ZXJ5SWQ6IEluZGV4SWQ7XG4gICAgcXVlcnlUeXBlOiBJbmRleFR5cGVkO1xuICAgIHF1ZXJ5UGF0aDogSW5kZXhQYXRoO1xuICAgIHF1ZXJ5UGFyZW50T2Y6IEluZGV4UGFyZW50T2Y7XG4gICAgcXVlcnlDaGlsZE9mOiBJbmRleENoaWxkT2Y7XG4gICAgcXVlcnlTaW1wbGVMaW5rZWQ6IEluZGV4TGlua2VkO1xuICAgIHF1ZXJ5TGlua2VkOiBJbmRleExpbmtlZDtcbiAgICBxdWVyeUV4aXN0czogSW5kZXhGaWVsZDtcbiAgICBxdWVyeVF1b3RlZEV4cHJlc3Npb246IEluZGV4RXhwcmVzc2lvbjtcbiAgICBxdWVyeVJhd0V4cHJlc3Npb246IEluZGV4RXhwcmVzc2lvbjtcbiAgICBxdWVyeU5lZ2F0ZTogSW5kZXhOb3Q7XG4gICAgcXVlcnlQYXJlbnM6IEluZGV4UXVlcnk7XG4gICAgcXVlcnlBdG9tOiBJbmRleFF1ZXJ5O1xuICAgIHF1ZXJ5QW5kczogSW5kZXhRdWVyeTtcbiAgICBxdWVyeU9yczogSW5kZXhRdWVyeTtcbiAgICBxdWVyeTogSW5kZXhRdWVyeTtcbn1cblxuLyoqXG4gKiBQYXJzZXIgZm9yIHRoZSBxdWVyeSBsYW5ndWFnZS4gRGlkIEkgcmVhbGx5IG5lZWQgYSBxdWVyeSBsYW5ndWFnZSBpbnN0ZWFkIG9mIGp1c3QgYSBiZXR0ZXIgVUk/IFByb2JhYmx5IG5vdC5cbiAqIEJ1dCBxdWVyeSBsYW5ndWFnZXMgYXJlIGZ1biBmb3IgdGhlIHdob2xlIGZhbWlseSBhbmQgYXQgc29tZSBwb2ludCB5b3UgZ2V0IHNvIHVzZWQgdG8gd3JpdGluZyB0aGVtIHRoYXRcbiAqIHlvdSBkb24ndCBzdG9wIHRvIHRoaW5rIGlmIHlvdSAqbmVlZCogdG8gd3JpdGUgdGhlbSBhbnltb3JlLiBJdCdzIGdvb2QgdHlwaW5nIHByYWN0aWNlIGZvciBldmVyeW9uZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFFVRVJZID0gUC5jcmVhdGVMYW5ndWFnZTxRdWVyeUxhbmd1YWdlPih7XG4gICAgcXVlcnlUYWc6IChfKSA9PiBQUklNSVRJVkVTLnRhZy5tYXAoKHZhbHVlKSA9PiAoeyB0eXBlOiBcInRhZ2dlZFwiLCB2YWx1ZSB9KSksXG4gICAgcXVlcnlJZDogKF8pID0+IGNyZWF0ZUZ1bmN0aW9uKFwiaWRcIiwgUFJJTUlUSVZFUy5zdHJpbmcpLm1hcCgoW18sIGlkXSkgPT4gKHsgdHlwZTogXCJpZFwiLCB2YWx1ZTogaWQgfSkpLFxuICAgIHF1ZXJ5VHlwZTogKF8pID0+XG4gICAgICAgIFAuc3RyaW5nKFwiQFwiKVxuICAgICAgICAgICAgLnRoZW4oUFJJTUlUSVZFUy5pZGVudGlmaWVyKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7IHR5cGU6IFwidHlwZWRcIiwgdmFsdWU6IHZhbHVlIH0pKSxcblxuICAgIHF1ZXJ5UGF0aDogKF8pID0+XG4gICAgICAgIGNyZWF0ZUZ1bmN0aW9uKFAucmVnZXhwKC9lP3BhdGgvaSkuZGVzYyhcIltlXXBhdGhcIiksIFBSSU1JVElWRVMuc3RyaW5nKS5tYXAoKFtmdW5jLCBwYXRoXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwicGF0aFwiLFxuICAgICAgICAgICAgdmFsdWU6IHBhdGgsXG4gICAgICAgICAgICBleGFjdDogZnVuYy50b0xvd2VyQ2FzZSgpID09PSBcImVwYXRoXCIsXG4gICAgICAgIH0pKSxcblxuICAgIHF1ZXJ5UGFyZW50T2Y6IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvcGFyZW50b2Z8c3VwZXJ0cmVlL2kpLmRlc2MoXCJwYXJlbnRvZlwiKSwgcS5xdWVyeSkubWFwKChbZnVuYywgY2hpbGRyZW5dKSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogXCJwYXJlbnQtb2ZcIixcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBmdW5jLnRvTG93ZXJDYXNlKCkgPT09IFwic3VwZXJ0cmVlXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeUNoaWxkT2Y6IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvY2hpbGRvZnxzdWJ0cmVlL2kpLmRlc2MoXCJjaGlsZG9mXCIpLCBxLnF1ZXJ5KS5tYXAoKFtmdW5jLCBwYXJlbnRzXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiY2hpbGQtb2ZcIixcbiAgICAgICAgICAgIHBhcmVudHMsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IGZ1bmMudG9Mb3dlckNhc2UoKSA9PT0gXCJzdWJ0cmVlXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeVNpbXBsZUxpbmtlZDogKF8pID0+XG4gICAgICAgIFBSSU1JVElWRVMubGluay5tYXAoKGxpbmspID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcImxpbmtlZFwiLFxuICAgICAgICAgICAgc291cmNlOiB7IHR5cGU6IFwibGlua1wiLCB2YWx1ZTogbGluayB9LFxuICAgICAgICAgICAgZGlyZWN0aW9uOiBcImluY29taW5nXCIsXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeUxpbmtlZDogKHEpID0+XG4gICAgICAgIGNyZWF0ZUZ1bmN0aW9uKFAucmVnZXhwKC9saW5rc3RvfGxpbmtlZGZyb218Y29ubmVjdGVkL2kpLmRlc2MoXCJjb25uZWN0ZWRcIiksIHEucXVlcnkpLm1hcCgoW2Z1bmMsIHNvdXJjZV0pID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcImxpbmtlZFwiLFxuICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgZGlyZWN0aW9uOlxuICAgICAgICAgICAgICAgIGZ1bmMudG9Mb3dlckNhc2UoKSA9PSBcImxpbmtzdG9cIiA/IFwiaW5jb21pbmdcIiA6IGZ1bmMudG9Mb3dlckNhc2UoKSA9PSBcImxpbmtlZGZyb21cIiA/IFwib3V0Z29pbmdcIiA6IFwiYm90aFwiLFxuICAgICAgICB9KSksXG4gICAgcXVlcnlFeGlzdHM6IChfKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvZXhpc3RzL2kpLmRlc2MoXCJleGlzdHNcIiksIFBSSU1JVElWRVMuaWRlbnRpZmllci5vcihQUklNSVRJVkVTLnN0cmluZykpLm1hcChcbiAgICAgICAgICAgIChbX2Z1bmMsIGlkZW50XSkgPT4gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImZpZWxkXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGlkZW50LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICBxdWVyeVF1b3RlZEV4cHJlc3Npb246IChxKSA9PlxuICAgICAgICBjcmVhdGVGdW5jdGlvbihQLnJlZ2V4cCgvZXhwci9pKS5kZXNjKFwiZXhwclwiKSwgRVhQUkVTU0lPTi5leHByZXNzaW9uKS5tYXAoKFtfLCBleHByXSkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiZXhwcmVzc2lvblwiLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogZXhwcixcbiAgICAgICAgfSkpLFxuICAgIHF1ZXJ5UmF3RXhwcmVzc2lvbjogKHEpID0+IEVYUFJFU1NJT04uYmluYXJ5Q29tcGFyZS5tYXAoKGV4cHIpID0+ICh7IHR5cGU6IFwiZXhwcmVzc2lvblwiLCBleHByZXNzaW9uOiBleHByIH0pKSxcblxuICAgIHF1ZXJ5UGFyZW5zOiAocSkgPT4gcS5xdWVyeS50cmltKFAub3B0V2hpdGVzcGFjZSkud3JhcChQLnN0cmluZyhcIihcIiksIFAuc3RyaW5nKFwiKVwiKSksXG4gICAgcXVlcnlOZWdhdGU6IChxKSA9PlxuICAgICAgICBQLnN0cmluZyhcIiFcIilcbiAgICAgICAgICAgIC5za2lwKFAub3B0V2hpdGVzcGFjZSlcbiAgICAgICAgICAgIC50aGVuKHEucXVlcnlBdG9tKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJub3RcIixcbiAgICAgICAgICAgICAgICBlbGVtZW50OiB2YWx1ZSxcbiAgICAgICAgICAgIH0pKSxcbiAgICBxdWVyeUF0b206IChxKSA9PlxuICAgICAgICBQLmFsdDxJbmRleFF1ZXJ5PihcbiAgICAgICAgICAgIHEucXVlcnlQYXJlbnMsXG4gICAgICAgICAgICBxLnF1ZXJ5TmVnYXRlLFxuICAgICAgICAgICAgcS5xdWVyeVNpbXBsZUxpbmtlZCxcbiAgICAgICAgICAgIHEucXVlcnlUYWcsXG4gICAgICAgICAgICBxLnF1ZXJ5VHlwZSxcbiAgICAgICAgICAgIHEucXVlcnlJZCxcbiAgICAgICAgICAgIHEucXVlcnlFeGlzdHMsXG4gICAgICAgICAgICBxLnF1ZXJ5Q2hpbGRPZixcbiAgICAgICAgICAgIHEucXVlcnlQYXJlbnRPZixcbiAgICAgICAgICAgIHEucXVlcnlMaW5rZWQsXG4gICAgICAgICAgICBxLnF1ZXJ5UGF0aCxcbiAgICAgICAgICAgIHEucXVlcnlRdW90ZWRFeHByZXNzaW9uLFxuICAgICAgICAgICAgLy8gRXhwcmVzc2lvbnMgYXJlIGVzc2VudGlhbGx5IHRoZSBcImNhdGNoLWFsbFwiIG9mIG90aGVyd2lzZSB1bnBhcnNlYWJsZSB0ZXJtcywgc28gdGhleSBzaG91bGQgZ28gYWJzb2x1dGUgbGFzdC5cbiAgICAgICAgICAgIHEucXVlcnlSYXdFeHByZXNzaW9uXG4gICAgICAgICksXG4gICAgcXVlcnlBbmRzOiAocSkgPT5cbiAgICAgICAgY3JlYXRlQmluYXJ5UGFyc2VyKHEucXVlcnlBdG9tLCBQUklNSVRJVkVTLmJpbmFyeUFuZE9wLCAobGVmdCwgX29wLCByaWdodCkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiYW5kXCIsXG4gICAgICAgICAgICBlbGVtZW50czogW2xlZnQsIHJpZ2h0XSxcbiAgICAgICAgfSkpLFxuICAgIHF1ZXJ5T3JzOiAocSkgPT5cbiAgICAgICAgY3JlYXRlQmluYXJ5UGFyc2VyKHEucXVlcnlBbmRzLCBQUklNSVRJVkVTLmJpbmFyeU9yT3AsIChsZWZ0LCBfb3AsIHJpZ2h0KSA9PiAoe1xuICAgICAgICAgICAgdHlwZTogXCJvclwiLFxuICAgICAgICAgICAgZWxlbWVudHM6IFtsZWZ0LCByaWdodF0sXG4gICAgICAgIH0pKSxcbiAgICBxdWVyeTogKHEpID0+IHEucXVlcnlPcnMudHJpbShQLm9wdFdoaXRlc3BhY2UpLFxufSk7XG5cbi8qKiBSZXR1cm4gYSBuZXcgcGFyc2VyIHdoaWNoIGV4ZWN1dGVzIHRoZSB1bmRlcmx5aW5nIHBhcnNlciBhbmQgcmV0dXJucyBpdCdzIHJhdyBzdHJpbmcgcmVwcmVzZW50YXRpb24uICovXG5leHBvcnQgZnVuY3Rpb24gY2FwdHVyZVJhdzxUPihiYXNlOiBQLlBhcnNlcjxUPik6IFAuUGFyc2VyPFtULCBzdHJpbmddPiB7XG4gICAgcmV0dXJuIFAuY3VzdG9tKChfc3VjY2VzcywgX2ZhaWx1cmUpID0+IHtcbiAgICAgICAgcmV0dXJuIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChiYXNlIGFzIGFueSkuXyhpbnB1dCwgaSk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5zdGF0dXMpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCByZXN1bHQsIHsgdmFsdWU6IFtyZXN1bHQudmFsdWUsIGlucHV0LnN1YnN0cmluZyhpLCByZXN1bHQuaW5kZXgpXSB9KTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuLyoqIENyZWF0ZSBhIGxlZnQtYXNzb2NpYXRpdmUgYmluYXJ5IHBhcnNlciB3aGljaCBwYXJzZXMgdGhlIGdpdmVuIHN1Yi1lbGVtZW50IGFuZCBzZXBhcmF0b3IuIEhhbmRsZXMgd2hpdGVzcGFjZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCaW5hcnlQYXJzZXI8VCwgVT4oXG4gICAgY2hpbGQ6IFAuUGFyc2VyPFQ+LFxuICAgIHNlcDogUC5QYXJzZXI8VT4sXG4gICAgY29tYmluZTogKGE6IFQsIGI6IFUsIGM6IFQpID0+IFRcbik6IFAuUGFyc2VyPFQ+IHtcbiAgICByZXR1cm4gUC5zZXFNYXAoY2hpbGQsIFAuc2VxKFAub3B0V2hpdGVzcGFjZSwgc2VwLCBQLm9wdFdoaXRlc3BhY2UsIGNoaWxkKS5tYW55KCksIChmaXJzdCwgcmVzdCkgPT4ge1xuICAgICAgICBpZiAocmVzdC5sZW5ndGggPT0gMCkgcmV0dXJuIGZpcnN0O1xuXG4gICAgICAgIGxldCBub2RlID0gY29tYmluZShmaXJzdCwgcmVzdFswXVsxXSwgcmVzdFswXVszXSk7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCByZXN0Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgbm9kZSA9IGNvbWJpbmUobm9kZSwgcmVzdFtpbmRleF1bMV0sIHJlc3RbaW5kZXhdWzNdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBwYXJzZXIgd2hpY2ggcGFyc2VzIFxcPGZ1bmN0aW9uXFw+KFxcPGFyZ3NcXD4pLlxuICogKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGdW5jdGlvbjxUPihmdW5jOiBzdHJpbmcgfCBQLlBhcnNlcjxzdHJpbmc+LCBhcmdzOiBQLlBhcnNlcjxUPik6IFAuUGFyc2VyPFtzdHJpbmcsIFRdPiB7XG4gICAgY29uc3QgcmVhbEZ1bmMgPSB0eXBlb2YgZnVuYyA9PT0gXCJzdHJpbmdcIiA/IFAuc3RyaW5nKGZ1bmMpIDogZnVuYztcbiAgICByZXR1cm4gUC5zZXFNYXAoXG4gICAgICAgIHJlYWxGdW5jLnNraXAoUC5vcHRXaGl0ZXNwYWNlKSxcbiAgICAgICAgYXJncy50cmltKFAub3B0V2hpdGVzcGFjZSkud3JhcChQLnN0cmluZyhcIihcIiksIFAuc3RyaW5nKFwiKVwiKSksXG4gICAgICAgIChmLCBhKSA9PiBbZiwgYV1cbiAgICApO1xufVxuXG4vKiogQ2hhaW5zIGEgbGlzdCBvZiBwYXJzZXJzOyB0aGUgZmlyc3Qgb25lIG11c3Qgc3VjY2VlZCwgYnV0IGZvbGxvd2luZyBvbmVzIG1heSBmYWlsIHdpdGhvdXQgZmFpbGluZyB0aGUgb3ZlcmFsbCBwYXJzZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFpbk9wdDxUPihiYXNlOiBQLlBhcnNlcjxUPiwgLi4uZnVuY3M6ICgocjogVCkgPT4gUC5QYXJzZXI8VD4pW10pOiBQLlBhcnNlcjxUPiB7XG4gICAgcmV0dXJuIFAuY3VzdG9tKChfc3VjY2VzcywgX2ZhaWx1cmUpID0+IHtcbiAgICAgICAgcmV0dXJuIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChiYXNlIGFzIGFueSkuXyhpbnB1dCwgaSk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5zdGF0dXMpIHJldHVybiByZXN1bHQ7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGZ1bmMgb2YgZnVuY3MpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dCA9IChmdW5jKHJlc3VsdC52YWx1ZSBhcyBUKSBhcyBhbnkpLl8oaW5wdXQsIHJlc3VsdC5pbmRleCk7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXh0LnN0YXR1cykgcmV0dXJuIHJlc3VsdDtcblxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5leHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGV4cHJlc3Npb25zXG4gKi9cbmltcG9ydCB7IERhdGVUaW1lLCBEdXJhdGlvbiB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IHJlbmRlck1pbmltYWxEYXRlLCByZW5kZXJNaW5pbWFsRHVyYXRpb24gfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcblxuLy8gUmUtZXhwb3J0cyBvZiB1c2VmdWwgZ2VuZXJpYyB0eXBlcy5cbmV4cG9ydCB7IExpbmsgfTtcblxuLyoqIFNob3J0aGFuZCBmb3IgYSBtYXBwaW5nIGZyb20ga2V5cyB0byB2YWx1ZXMuICovXG5leHBvcnQgdHlwZSBEYXRhT2JqZWN0ID0gUmVjb3JkPHN0cmluZywgYW55Pjtcbi8qKiBUaGUgbGl0ZXJhbCB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIHF1ZXJ5IGVuZ2luZS4gKi9cbmV4cG9ydCB0eXBlIExpdGVyYWxUeXBlID1cbiAgICB8IFwiYm9vbGVhblwiXG4gICAgfCBcIm51bWJlclwiXG4gICAgfCBcInN0cmluZ1wiXG4gICAgfCBcImRhdGVcIlxuICAgIHwgXCJkdXJhdGlvblwiXG4gICAgfCBcImxpbmtcIlxuICAgIHwgXCJhcnJheVwiXG4gICAgfCBcIm9iamVjdFwiXG4gICAgfCBcImZ1bmN0aW9uXCJcbiAgICB8IFwibnVsbFwiO1xuLyoqIFRoZSByYXcgdmFsdWVzIHRoYXQgYSBsaXRlcmFsIGNhbiB0YWtlIG9uLiAqL1xuZXhwb3J0IHR5cGUgTGl0ZXJhbCA9XG4gICAgfCBib29sZWFuXG4gICAgfCBudW1iZXJcbiAgICB8IHN0cmluZ1xuICAgIHwgRGF0ZVRpbWVcbiAgICB8IER1cmF0aW9uXG4gICAgfCBMaW5rXG4gICAgfCBBcnJheTxMaXRlcmFsPlxuICAgIHwgRGF0YU9iamVjdFxuICAgIHwgRnVuY3Rpb25cbiAgICB8IG51bGw7XG5cbi8qKiBNYXBzIHRoZSBzdHJpbmcgdHlwZSB0byBpdCdzIGV4dGVybmFsLCBBUEktZmFjaW5nIHJlcHJlc2VudGF0aW9uLiAqL1xuZXhwb3J0IHR5cGUgTGl0ZXJhbFJlcHI8VCBleHRlbmRzIExpdGVyYWxUeXBlPiA9IFQgZXh0ZW5kcyBcImJvb2xlYW5cIlxuICAgID8gYm9vbGVhblxuICAgIDogVCBleHRlbmRzIFwibnVtYmVyXCJcbiAgICA/IG51bWJlclxuICAgIDogVCBleHRlbmRzIFwic3RyaW5nXCJcbiAgICA/IHN0cmluZ1xuICAgIDogVCBleHRlbmRzIFwiZHVyYXRpb25cIlxuICAgID8gRHVyYXRpb25cbiAgICA6IFQgZXh0ZW5kcyBcImRhdGVcIlxuICAgID8gRGF0ZVRpbWVcbiAgICA6IFQgZXh0ZW5kcyBcIm51bGxcIlxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIFwibGlua1wiXG4gICAgPyBMaW5rXG4gICAgOiBUIGV4dGVuZHMgXCJhcnJheVwiXG4gICAgPyBBcnJheTxMaXRlcmFsPlxuICAgIDogVCBleHRlbmRzIFwib2JqZWN0XCJcbiAgICA/IERhdGFPYmplY3RcbiAgICA6IFQgZXh0ZW5kcyBcImZ1bmN0aW9uXCJcbiAgICA/IEZ1bmN0aW9uXG4gICAgOiBhbnk7XG5cbi8qKiBBIHdyYXBwZWQgbGl0ZXJhbCB2YWx1ZSB3aGljaCBjYW4gYmUgc3dpdGNoZWQgb24uICovXG5leHBvcnQgdHlwZSBXcmFwcGVkTGl0ZXJhbCA9XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcInN0cmluZ1wiPlxuICAgIHwgTGl0ZXJhbFdyYXBwZXI8XCJudW1iZXJcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwiYm9vbGVhblwiPlxuICAgIHwgTGl0ZXJhbFdyYXBwZXI8XCJkYXRlXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImR1cmF0aW9uXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImxpbmtcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwiYXJyYXlcIj5cbiAgICB8IExpdGVyYWxXcmFwcGVyPFwib2JqZWN0XCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcImZ1bmN0aW9uXCI+XG4gICAgfCBMaXRlcmFsV3JhcHBlcjxcIm51bGxcIj47XG5cbi8qKiBDb21iaW5lcyBhIHRleHR1YWwgdHlwZSBhbmQgdmFsdWU7IHByaW1hcmlseSB1c2VmdWwgZm9yIHN3aXRjaGluZyBvbi5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXRlcmFsV3JhcHBlcjxUIGV4dGVuZHMgTGl0ZXJhbFR5cGU+IHtcbiAgICB0eXBlOiBUO1xuICAgIHZhbHVlOiBMaXRlcmFsUmVwcjxUPjtcbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiAgVXRpbGl0eSBsaWJyYXJ5IGZvciBoYW5kbGluZyBsaXRlcmFsIHZhbHVlcy4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgTGl0ZXJhbHMge1xuICAgIC8qKiBTZXR0aW5ncyB1c2VkIHdoZW4gZm9ybWF0dGluZyBsaXRlcmFsIHZhbHVlcyB0byB0ZXh0LiAqL1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgVG9TdHJpbmdTZXR0aW5ncyB7XG4gICAgICAgIC8qKiBXaGF0IGEgbnVsbCB3aWxsIHJlbmRlciBhcy4gKi9cbiAgICAgICAgbnVsbFJlcHJlc2VudGF0aW9uOiBzdHJpbmc7XG5cbiAgICAgICAgLyoqIERhdGUgZm9ybWF0LiAqL1xuICAgICAgICBkYXRlRm9ybWF0OiBzdHJpbmc7XG5cbiAgICAgICAgLyoqIERhdGUtdGltZSBmb3JtYXQuICovXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqIFNhbmUsIEVuZ2xpc2gtYmFzZWQgZGVmYXVsdHMgZm9yIGRhdGUgZm9ybWF0cy4gKi9cbiAgICBleHBvcnQgY29uc3QgREVGQVVMVF9UT19TVFJJTkc6IFRvU3RyaW5nU2V0dGluZ3MgPSB7XG4gICAgICAgIG51bGxSZXByZXNlbnRhdGlvbjogXCItXCIsXG5cbiAgICAgICAgZGF0ZUZvcm1hdDogXCJNTU1NIGRkLCB5eXl5XCIsXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBcImg6bW0gYSAtIE1NTU0gZGQsIHl5eXlcIixcbiAgICB9O1xuXG4gICAgLyoqIENvbnZlcnQgYW4gYXJiaXRyYXJ5IHZhbHVlIGludG8gYSByZWFzb25hYmxlLCBNYXJrZG93bi1mcmllbmRseSBzdHJpbmcgaWYgcG9zc2libGUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKFxuICAgICAgICBmaWVsZDogYW55LFxuICAgICAgICBzZXR0aW5nOiBUb1N0cmluZ1NldHRpbmdzID0gREVGQVVMVF9UT19TVFJJTkcsXG4gICAgICAgIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IGZhbHNlXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHdyYXBwZWQgPSB3cmFwVmFsdWUoZmllbGQpO1xuICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBzZXR0aW5nLm51bGxSZXByZXNlbnRhdGlvbjtcblxuICAgICAgICBzd2l0Y2ggKHdyYXBwZWQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gc2V0dGluZy5udWxsUmVwcmVzZW50YXRpb247XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIlwiICsgd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFya2Rvd24oKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIjxmdW5jdGlvbj5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xuICAgICAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHJlc3VsdCArPSBcIltcIjtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gd3JhcHBlZC52YWx1ZS5tYXAoKGYpID0+IHRvU3RyaW5nKGYsIHNldHRpbmcsIHRydWUpKS5qb2luKFwiLCBcIik7XG4gICAgICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkgcmVzdWx0ICs9IFwiXVwiO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgXCJ7IFwiICtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMod3JhcHBlZC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGUpID0+IGVbMF0gKyBcIjogXCIgKyB0b1N0cmluZyhlWzFdLCBzZXR0aW5nLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiLCBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIiB9XCJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVuZGVyTWluaW1hbERhdGUod3JhcHBlZC52YWx1ZSwgc2V0dGluZy5kYXRlRm9ybWF0LCBzZXR0aW5nLmRhdGVUaW1lRm9ybWF0KTtcbiAgICAgICAgICAgIGNhc2UgXCJkdXJhdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiByZW5kZXJNaW5pbWFsRHVyYXRpb24od3JhcHBlZC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogV3JhcCBhIGxpdGVyYWwgdmFsdWUgc28geW91IGNhbiBzd2l0Y2ggb24gaXQgZWFzaWx5LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB3cmFwVmFsdWUodmFsOiBMaXRlcmFsKTogV3JhcHBlZExpdGVyYWwgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaXNOdWxsKHZhbCkpIHJldHVybiB7IHR5cGU6IFwibnVsbFwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzTnVtYmVyKHZhbCkpIHJldHVybiB7IHR5cGU6IFwibnVtYmVyXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNTdHJpbmcodmFsKSkgcmV0dXJuIHsgdHlwZTogXCJzdHJpbmdcIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc0Jvb2xlYW4odmFsKSkgcmV0dXJuIHsgdHlwZTogXCJib29sZWFuXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNEdXJhdGlvbih2YWwpKSByZXR1cm4geyB0eXBlOiBcImR1cmF0aW9uXCIsIHZhbHVlOiB2YWwgfTtcbiAgICAgICAgZWxzZSBpZiAoaXNEYXRlKHZhbCkpIHJldHVybiB7IHR5cGU6IFwiZGF0ZVwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzQXJyYXkodmFsKSkgcmV0dXJuIHsgdHlwZTogXCJhcnJheVwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgaWYgKGlzTGluayh2YWwpKSByZXR1cm4geyB0eXBlOiBcImxpbmtcIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc0Z1bmN0aW9uKHZhbCkpIHJldHVybiB7IHR5cGU6IFwiZnVuY3Rpb25cIiwgdmFsdWU6IHZhbCB9O1xuICAgICAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKSByZXR1cm4geyB0eXBlOiBcIm9iamVjdFwiLCB2YWx1ZTogdmFsIH07XG4gICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlbHkgbWFwIGNvbXBsZXggb2JqZWN0cyBhdCB0aGUgbGVhdmVzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBtYXBMZWF2ZXModmFsOiBMaXRlcmFsLCBmdW5jOiAodDogTGl0ZXJhbCkgPT4gTGl0ZXJhbCk6IExpdGVyYWwge1xuICAgICAgICBpZiAoaXNPYmplY3QodmFsKSkge1xuICAgICAgICAgICAgbGV0IHJlc3VsdDogRGF0YU9iamVjdCA9IHt9O1xuICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbCkpIHJlc3VsdFtrZXldID0gbWFwTGVhdmVzKHZhbHVlLCBmdW5jKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBMaXRlcmFsW10gPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIHZhbCkgcmVzdWx0LnB1c2gobWFwTGVhdmVzKHZhbHVlLCBmdW5jKSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmModmFsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0d28gYXJiaXRyYXJ5IGxpdGVyYWxzIGFyZSBlcXVhbC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZXF1YWxzKGZpcnN0OiBMaXRlcmFsIHwgdW5kZWZpbmVkLCBzZWNvbmQ6IExpdGVyYWwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmUoZmlyc3QsIHNlY29uZCkgPT0gMDtcbiAgICB9XG5cbiAgICAvKiogQ29tcGFyZSB0d28gYXJiaXRyYXJ5IEphdmFTY3JpcHQgdmFsdWVzLiBQcm9kdWNlcyBhIHRvdGFsIG9yZGVyaW5nIG92ZXIgQU5ZIHBvc3NpYmxlIGRhdGFjb3JlIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb21wYXJlKFxuICAgICAgICB2YWwxOiBMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICAgICB2YWwyOiBMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICAgICBsaW5rTm9ybWFsaXplcj86IChsaW5rOiBzdHJpbmcpID0+IHN0cmluZ1xuICAgICk6IG51bWJlciB7XG4gICAgICAgIC8vIFJlZmVyZW5jZSBlcXVhbGl0eSAtIHNob3J0IGNpcmN1aXQuXG4gICAgICAgIGlmICh2YWwxID09PSB2YWwyKSByZXR1cm4gMDtcblxuICAgICAgICAvLyBIYW5kbGUgdW5kZWZpbmVkL251bGxzIGZpcnN0LlxuICAgICAgICBpZiAodmFsMSA9PT0gdW5kZWZpbmVkKSB2YWwxID0gbnVsbDtcbiAgICAgICAgaWYgKHZhbDIgPT09IHVuZGVmaW5lZCkgdmFsMiA9IG51bGw7XG4gICAgICAgIGlmICh2YWwxID09PSBudWxsICYmIHZhbDIgPT09IG51bGwpIHJldHVybiAwO1xuICAgICAgICBlbHNlIGlmICh2YWwxID09PSBudWxsKSByZXR1cm4gLTE7XG4gICAgICAgIGVsc2UgaWYgKHZhbDIgPT09IG51bGwpIHJldHVybiAxO1xuXG4gICAgICAgIC8vIEEgbm9uLW51bGwgdmFsdWUgbm93IHdoaWNoIHdlIGNhbiB3cmFwICYgY29tcGFyZSBvbi5cbiAgICAgICAgbGV0IHdyYXAxID0gd3JhcFZhbHVlKHZhbDEpO1xuICAgICAgICBsZXQgd3JhcDIgPSB3cmFwVmFsdWUodmFsMik7XG5cbiAgICAgICAgaWYgKHdyYXAxID09PSB1bmRlZmluZWQgJiYgd3JhcDIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gICAgICAgIGVsc2UgaWYgKHdyYXAxID09PSB1bmRlZmluZWQpIHJldHVybiAtMTtcbiAgICAgICAgZWxzZSBpZiAod3JhcDIgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDE7XG5cbiAgICAgICAgLy8gU2hvcnQtY2lyY3VpdCBvbiBkaWZmZXJlbnQgdHlwZXMgb3Igb24gcmVmZXJlbmNlIGVxdWFsaXR5LlxuICAgICAgICBpZiAod3JhcDEudHlwZSAhPSB3cmFwMi50eXBlKSByZXR1cm4gd3JhcDEudHlwZS5sb2NhbGVDb21wYXJlKHdyYXAyLnR5cGUpO1xuICAgICAgICBpZiAod3JhcDEudmFsdWUgPT09IHdyYXAyLnZhbHVlKSByZXR1cm4gMDtcblxuICAgICAgICBzd2l0Y2ggKHdyYXAxLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUubG9jYWxlQ29tcGFyZSh3cmFwMi52YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgICAgIGlmICh3cmFwMS52YWx1ZSA8ICh3cmFwMi52YWx1ZSBhcyBudW1iZXIpKSByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAod3JhcDEudmFsdWUgPT0gKHdyYXAyLnZhbHVlIGFzIG51bWJlcikpIHJldHVybiAwO1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICAgICAgaWYgKHdyYXAxLnZhbHVlID09IHdyYXAyLnZhbHVlKSByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiB3cmFwMS52YWx1ZSA/IDEgOiAtMTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgbGV0IGxpbmsxID0gd3JhcDEudmFsdWU7XG4gICAgICAgICAgICAgICAgbGV0IGxpbmsyID0gd3JhcDIudmFsdWUgYXMgTGluaztcbiAgICAgICAgICAgICAgICBsZXQgbm9ybWFsaXplID0gbGlua05vcm1hbGl6ZXIgPz8gKCh4OiBzdHJpbmcpID0+IHgpO1xuXG4gICAgICAgICAgICAgICAgLy8gV2UgY2FuJ3QgY29tcGFyZSBieSBmaWxlIG5hbWUgb3IgZGlzcGxheSwgc2luY2UgdGhhdCB3b3VsZCBicmVhayBsaW5rIGVxdWFsaXR5LiBDb21wYXJlIGJ5IHBhdGguXG4gICAgICAgICAgICAgICAgbGV0IHBhdGhDb21wYXJlID0gbm9ybWFsaXplKGxpbmsxLnBhdGgpLmxvY2FsZUNvbXBhcmUobm9ybWFsaXplKGxpbmsyLnBhdGgpKTtcbiAgICAgICAgICAgICAgICBpZiAocGF0aENvbXBhcmUgIT0gMCkgcmV0dXJuIHBhdGhDb21wYXJlO1xuXG4gICAgICAgICAgICAgICAgLy8gVGhlbiBjb21wYXJlIGJ5IHR5cGUuXG4gICAgICAgICAgICAgICAgbGV0IHR5cGVDb21wYXJlID0gbGluazEudHlwZS5sb2NhbGVDb21wYXJlKGxpbmsyLnR5cGUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlQ29tcGFyZSAhPSAwKSByZXR1cm4gdHlwZUNvbXBhcmU7XG5cbiAgICAgICAgICAgICAgICAvLyBUaGVuIGNvbXBhcmUgYnkgc3VicGF0aCBleGlzdGVuY2UuXG4gICAgICAgICAgICAgICAgaWYgKGxpbmsxLnN1YnBhdGggJiYgIWxpbmsyLnN1YnBhdGgpIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIGlmICghbGluazEuc3VicGF0aCAmJiBsaW5rMi5zdWJwYXRoKSByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgaWYgKCFsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKSByZXR1cm4gMDtcblxuICAgICAgICAgICAgICAgIC8vIFNpbmNlIGJvdGggaGF2ZSBhIHN1YnBhdGgsIGNvbXBhcmUgYnkgc3VicGF0aC5cbiAgICAgICAgICAgICAgICByZXR1cm4gKGxpbmsxLnN1YnBhdGggPz8gXCJcIikubG9jYWxlQ29tcGFyZShsaW5rMi5zdWJwYXRoID8/IFwiXCIpO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCAod3JhcDIudmFsdWUgYXMgRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUgYXMgRGF0ZVRpbWUpXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCAod3JhcDIudmFsdWUgYXMgRHVyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUgYXMgRHVyYXRpb24pXG4gICAgICAgICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjYXNlIFwiYXJyYXlcIjpcbiAgICAgICAgICAgICAgICBsZXQgZjEgPSB3cmFwMS52YWx1ZTtcbiAgICAgICAgICAgICAgICBsZXQgZjIgPSB3cmFwMi52YWx1ZSBhcyBhbnlbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgTWF0aC5taW4oZjEubGVuZ3RoLCBmMi5sZW5ndGgpOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjb21wID0gY29tcGFyZShmMVtpbmRleF0sIGYyW2luZGV4XSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21wICE9IDApIHJldHVybiBjb21wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZjEubGVuZ3RoIC0gZjIubGVuZ3RoO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGxldCBvMSA9IHdyYXAxLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCBvMiA9IHdyYXAyLnZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgICAgICAgICAgbGV0IGsxID0gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvMSkpO1xuICAgICAgICAgICAgICAgIGxldCBrMiA9IEFycmF5LmZyb20oT2JqZWN0LmtleXMobzIpKTtcbiAgICAgICAgICAgICAgICBrMS5zb3J0KCk7XG4gICAgICAgICAgICAgICAgazIuc29ydCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGtleUNvbXBhcmUgPSBjb21wYXJlKGsxLCBrMik7XG4gICAgICAgICAgICAgICAgaWYgKGtleUNvbXBhcmUgIT0gMCkgcmV0dXJuIGtleUNvbXBhcmU7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgb2YgazEpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbXAgPSBjb21wYXJlKG8xW2tleV0sIG8yW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKSByZXR1cm4gY29tcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgZGF0YWNvcmUgdHlwZSBmb3IgYW4gYXJiaXRyYXJ5IHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB0eXBlT2YodmFsOiBhbnkpOiBMaXRlcmFsVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB3cmFwVmFsdWUodmFsKT8udHlwZTtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBcInRydXRoeVwiIChpLmUuLCBpcyBub24tbnVsbCBhbmQgaGFzIGRhdGEgaW4gaXQpLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc1RydXRoeShmaWVsZDogTGl0ZXJhbCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgd3JhcHBlZCA9IHdyYXBWYWx1ZShmaWVsZCk7XG4gICAgICAgIGlmICghd3JhcHBlZCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUgIT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhd3JhcHBlZC52YWx1ZS5wYXRoO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b01pbGxpcygpICE9IDA7XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5hcyhcInNlY29uZHNcIikgIT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMod3JhcHBlZC52YWx1ZSkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICBjYXNlIFwibnVsbFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIERlZXAgY29weSBhIGZpZWxkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBkZWVwQ29weTxUIGV4dGVuZHMgTGl0ZXJhbD4oZmllbGQ6IFQpOiBUIHtcbiAgICAgICAgaWYgKGZpZWxkID09PSBudWxsIHx8IGZpZWxkID09PSB1bmRlZmluZWQpIHJldHVybiBmaWVsZDtcblxuICAgICAgICBpZiAoTGl0ZXJhbHMuaXNBcnJheShmaWVsZCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoW10gYXMgTGl0ZXJhbFtdKS5jb25jYXQoZmllbGQubWFwKCh2KSA9PiBkZWVwQ29weSh2KSkpIGFzIFQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNPYmplY3QoZmllbGQpKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBMaXRlcmFsPiA9IHt9O1xuICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGZpZWxkKSkgcmVzdWx0W2tleV0gPSBkZWVwQ29weSh2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIFQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIHN0cmluZy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsOiBhbnkpOiB2YWwgaXMgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gXCJzdHJpbmdcIjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlci4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsOiBhbnkpOiB2YWwgaXMgbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT0gXCJudW1iZXJcIjtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIGRhdGUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZSh2YWw6IGFueSk6IHZhbCBpcyBEYXRlVGltZSB7XG4gICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEYXRlVGltZTtcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lIGlmIHRoZSB2YWx1ZSBpcyBhIGR1cmF0aW9uLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc0R1cmF0aW9uKHZhbDogYW55KTogdmFsIGlzIER1cmF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIER1cmF0aW9uO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc051bGwodmFsOiBhbnkpOiB2YWwgaXMgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZSBpZiB0aGUgdmFsdWUgaXMgYW4gYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodmFsOiBhbnkpOiB2YWwgaXMgYW55W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWwpO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIHZhbHVlIGlzIGEgYm9vbGVhbi4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNCb29sZWFuKHZhbDogYW55KTogdmFsIGlzIGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gXCJib29sZWFuXCI7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZSBpZiB0aGUgdmFsdWUgaXMgYSBsaW5rLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpc0xpbmsodmFsOiBhbnkpOiB2YWwgaXMgTGluayB7XG4gICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBMaW5rO1xuICAgIH1cblxuICAgIC8qKiBDaGVja3MgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGFuIG9iamVjdCAoYW5kIG5vdCBhbnkgb3RoZXIgZGF0YWNvcmUtcmVjb2duaXplZCBvYmplY3QtbGlrZSB0eXBlKS4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNPYmplY3QodmFsOiBhbnkpOiB2YWwgaXMgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB2YWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbCA9PSBcIm9iamVjdFwiICYmXG4gICAgICAgICAgICAhaXNBcnJheSh2YWwpICYmXG4gICAgICAgICAgICAhaXNEdXJhdGlvbih2YWwpICYmXG4gICAgICAgICAgICAhaXNEYXRlKHZhbCkgJiZcbiAgICAgICAgICAgICFpc0xpbmsodmFsKSAmJlxuICAgICAgICAgICAgIWlzTnVsbCh2YWwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGEgamF2YXNjcmlwdCBmdW5jdGlvbi4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWw6IGFueSk6IHZhbCBpcyBGdW5jdGlvbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09IFwiZnVuY3Rpb25cIjtcbiAgICB9XG59XG5cbi8qKiBBIGdyb3VwaW5nIG9uIGEgdHlwZSB3aGljaCBzdXBwb3J0cyByZWN1cnNpdmVseS1uZXN0ZWQgZ3JvdXBzLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgdHlwZSBHcm91cEVsZW1lbnQ8VD4gPSB7IGtleTogTGl0ZXJhbDsgcm93czogR3JvdXBpbmc8VD4gfTtcbi8qKlxuICogQSBncm91cGluZywgd2hpY2ggY2FuIGJlIGVpdGhlcjpcbiAqIC0gYW4gYXJyYXkgb2YgZWxlbWVudHMgb2YgdHlwZSBgVGAsIG9yXG4gKiAtIGFuIGFycmF5IG9mIHtAbGluayBHcm91cGVsZW1lbnR9c1xuICpcbiAqIEBncm91cCBDb21tb24gVHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgR3JvdXBpbmc8VD4gPSBUW10gfCBHcm91cEVsZW1lbnQ8VD5bXTtcbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgbmFtZXNwYWNlIEdyb3VwaW5ncyB7XG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGdyb3VwIGVudHJ5IGlzIGEgc3RhbmRhbG9uZSB2YWx1ZSwgb3IgYSBncm91cGluZyBvZiBzdWItZW50cmllcy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNFbGVtZW50R3JvdXA8VD4oZW50cnk6IGFueSk6IGVudHJ5IGlzIEdyb3VwRWxlbWVudDxUPiB7XG4gICAgICAgIHJldHVybiBMaXRlcmFscy5pc09iamVjdChlbnRyeSkgJiYgT2JqZWN0LmtleXMoZW50cnkpLmxlbmd0aCA9PSAyICYmIFwia2V5XCIgaW4gZW50cnkgJiYgXCJyb3dzXCIgaW4gZW50cnk7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgZ3JvdXBpbmcgYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBpbmc8VD4oZW50cnk6IEdyb3VwaW5nPFQ+KTogZW50cnkgaXMgR3JvdXBFbGVtZW50PFQ+W10ge1xuICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGVudHJ5KSBpZiAoIWlzRWxlbWVudEdyb3VwKGVsZW1lbnQpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgbGVhZiBhbmQgaGFzIG5vIHN1Ymdyb3VwaW5ncy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNMZWFmPFQ+KGVudHJ5OiBHcm91cGluZzxUPik6IGVudHJ5IGlzIFRbXSB7XG4gICAgICAgIGZvciAobGV0IGVsZW1lbnQgb2YgZW50cnkpIGlmIChpc0VsZW1lbnRHcm91cChlbGVtZW50KSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKiBDb3VudCB0aGUgdG90YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgcmVjdXJzaXZlIGdyb3VwaW5nLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb3VudDxUPihlbGVtZW50czogR3JvdXBpbmc8VD4gfCBHcm91cEVsZW1lbnQ8VD4pOiBudW1iZXIge1xuICAgICAgICBpZiAoaXNFbGVtZW50R3JvdXAoZWxlbWVudHMpKSB7XG4gICAgICAgICAgICByZXR1cm4gY291bnQoZWxlbWVudHMucm93cyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNHcm91cGluZyhlbGVtZW50cykpIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgc3ViZ3JvdXAgb2YgZWxlbWVudHMpIHJlc3VsdCArPSBjb3VudChzdWJncm91cC5yb3dzKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudHMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlY3Vyc2l2ZWx5IHNsaWNlIGEgZ3JvdXBpbmcsIHByZXNlcnZpbmcgdGhlIGdyb3VwIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIGVsZW1lbnRzIFtzdGFydC4uLmVuZCkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHNsaWNlPFQ+KGVsZW1lbnRzOiBHcm91cGluZzxUPiwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiBHcm91cGluZzxUPiB7XG4gICAgICAgIGlmIChlbmQgPD0gc3RhcnQpIHJldHVybiBbXTtcbiAgICAgICAgaWYgKGlzTGVhZihlbGVtZW50cykpIHJldHVybiBlbGVtZW50cy5zbGljZShzdGFydCwgZW5kKTtcblxuICAgICAgICAvLyBGaW5kIHRoZSBmaXJzdCBncm91cCB0aGF0IGNvbnRhaW5zIGluZGV4IGBzdGFydGAuXG4gICAgICAgIGxldCBpbmRleCA9IDAsXG4gICAgICAgICAgICBzZWVuID0gMDtcbiAgICAgICAgd2hpbGUgKGluZGV4IDwgZWxlbWVudHMubGVuZ3RoICYmIHNlZW4gKyBjb3VudChlbGVtZW50c1tpbmRleF0pIDw9IHN0YXJ0KSB7XG4gICAgICAgICAgICBzZWVuICs9IGNvdW50KGVsZW1lbnRzW2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3RhcnQgd2FzIGdyZWF0ZXIgdGhhbiB0aGUgZW50aXJlIGxlbmd0aCBvZiB0aGUgZ3JvdXBpbmdzLlxuICAgICAgICBpZiAoaW5kZXggPj0gZWxlbWVudHMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiB7IGtleTogTGl0ZXJhbDsgcm93czogR3JvdXBpbmc8VD4gfVtdID0gW107XG4gICAgICAgIHdoaWxlIChpbmRleCA8IGVsZW1lbnRzLmxlbmd0aCAmJiBzZWVuIDwgZW5kKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IGVsZW1lbnRzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU2l6ZSA9IGNvdW50KGdyb3VwKTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU3RhcnQgPSBNYXRoLm1heChzZWVuLCBzdGFydCk7XG4gICAgICAgICAgICBjb25zdCBncm91cEVuZCA9IE1hdGgubWluKGdyb3VwU2l6ZSArIHNlZW4sIGVuZCk7XG5cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IGdyb3VwLmtleSxcbiAgICAgICAgICAgICAgICByb3dzOiBzbGljZShncm91cC5yb3dzLCBncm91cFN0YXJ0IC0gc2VlbiwgZ3JvdXBFbmQgLSBzZWVuKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzZWVuICs9IGdyb3VwU2l6ZTtcbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgYXBpXG4gKi9cbi8qKlxuICogIEZ1bmN0aW9uYWwgcmV0dXJuIHR5cGUgZm9yIGVycm9yIGhhbmRsaW5nLlxuICogQGhpZGRlblxuICogKi9cbmV4cG9ydCBjbGFzcyBTdWNjZXNzPFQsIEU+IHtcbiAgICBwdWJsaWMgc3VjY2Vzc2Z1bDogdHJ1ZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwPFU+KGY6IChhOiBUKSA9PiBVKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKGYodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmbGF0TWFwPFU+KGY6IChhOiBUKSA9PiBSZXN1bHQ8VSwgRT4pOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gZih0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwRXJyPFU+KGY6IChlOiBFKSA9PiBVKTogUmVzdWx0PFQsIFU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55IGFzIFJlc3VsdDxULCBVPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmltYXA8VDIsIEUyPihzdWNjOiAoYTogVCkgPT4gVDIsIF9mYWlsOiAoYjogRSkgPT4gRTIpOiBSZXN1bHQ8VDIsIEUyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hcChzdWNjKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG9yRWxzZShfdmFsdWU6IFQpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNhc3Q8VT4oKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55O1xuICAgIH1cblxuICAgIHB1YmxpYyBvckVsc2VUaHJvdyhfbWVzc2FnZT86IChlOiBFKSA9PiBzdHJpbmcpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxufVxuXG4vKiogRnVuY3Rpb25hbCByZXR1cm4gdHlwZSBmb3IgZXJyb3IgaGFuZGxpbmcuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWlsdXJlPFQsIEU+IHtcbiAgICBwdWJsaWMgc3VjY2Vzc2Z1bDogZmFsc2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGVycm9yOiBFKSB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc2Z1bCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXA8VT4oX2Y6IChhOiBUKSA9PiBVKTogUmVzdWx0PFUsIEU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55IGFzIEZhaWx1cmU8VSwgRT47XG4gICAgfVxuXG4gICAgcHVibGljIGZsYXRNYXA8VT4oX2Y6IChhOiBUKSA9PiBSZXN1bHQ8VSwgRT4pOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnkgYXMgRmFpbHVyZTxVLCBFPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFwRXJyPFU+KGY6IChlOiBFKSA9PiBVKTogUmVzdWx0PFQsIFU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGYodGhpcy5lcnJvcikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBiaW1hcDxUMiwgRTI+KF9zdWNjOiAoYTogVCkgPT4gVDIsIGZhaWw6IChiOiBFKSA9PiBFMik6IFJlc3VsdDxUMiwgRTI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwRXJyKGZhaWwpIGFzIGFueTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3JFbHNlKHZhbHVlOiBUKTogVCB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FzdDxVPigpOiBSZXN1bHQ8VSwgRT4ge1xuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG9yRWxzZVRocm93KG1lc3NhZ2U/OiAoZTogRSkgPT4gc3RyaW5nKTogVCB7XG4gICAgICAgIGlmIChtZXNzYWdlKSB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSh0aGlzLmVycm9yKSk7XG4gICAgICAgIGVsc2UgdGhyb3cgbmV3IEVycm9yKFwiXCIgKyB0aGlzLmVycm9yKTtcbiAgICB9XG59XG5cbi8qKlxuICogQSBtb25hZGljIHJlc3VsdCB0eXBlIHdoaWNoIHN0b3JlcyBlaXRoZXIgXCJzdWNjZXNzXCIgb3IgXCJmYWlsdXJlXCIuIEFuIGFsdGVybmF0aXZlIGhhbmRsaW5nIGV4Y2VwdGlvbmFsIGJlaGF2aW9yXG4gKiBieSB1c2luZyB0aGUgcmV0dXJuIHZhbHVlIGluc3RlYWQgb2YgYW4gZXhjZXB0aW9uLlxuICovXG5leHBvcnQgdHlwZSBSZXN1bHQ8VCwgRT4gPSBTdWNjZXNzPFQsIEU+IHwgRmFpbHVyZTxULCBFPjtcblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBNb25hZGljICdSZXN1bHQnIHR5cGUgd2hpY2ggZW5jYXBzdWxhdGVzIHdoZXRoZXIgYSBwcm9jZWR1cmUgc3VjY2VlZGVkIG9yIGZhaWxlZCwgYXMgd2VsbCBhcyBpdCdzIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBSZXN1bHQge1xuICAgIC8qKiBDb25zdHJ1Y3QgYSBuZXcgc3VjY2VzcyByZXN1bHQgd3JhcHBpbmcgdGhlIGdpdmVuIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzdWNjZXNzPFQsIEU+KHZhbHVlOiBUKTogUmVzdWx0PFQsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQ29uc3RydWN0IGEgbmV3IGZhaWx1cmUgdmFsdWUgd3JhcHBpbmcgdGhlIGdpdmVuIGVycm9yLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBmYWlsdXJlPFQsIEU+KGVycm9yOiBFKTogUmVzdWx0PFQsIEU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGVycm9yKTtcbiAgICB9XG5cbiAgICAvKiogSm9pbiB0d28gcmVzdWx0cyB3aXRoIGEgYmktZnVuY3Rpb24gYW5kIHJldHVybiBhIG5ldyByZXN1bHQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZsYXRNYXAyPFQxLCBUMiwgTywgRT4oXG4gICAgICAgIGZpcnN0OiBSZXN1bHQ8VDEsIEU+LFxuICAgICAgICBzZWNvbmQ6IFJlc3VsdDxUMiwgRT4sXG4gICAgICAgIGY6IChhOiBUMSwgYjogVDIpID0+IFJlc3VsdDxPLCBFPlxuICAgICk6IFJlc3VsdDxPLCBFPiB7XG4gICAgICAgIGlmIChmaXJzdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICBpZiAoc2Vjb25kLnN1Y2Nlc3NmdWwpIHJldHVybiBmKGZpcnN0LnZhbHVlLCBzZWNvbmQudmFsdWUpO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gZmFpbHVyZShzZWNvbmQuZXJyb3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmUoZmlyc3QuZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEpvaW4gdHdvIHJlc3VsdHMgd2l0aCBhIGJpLWZ1bmN0aW9uIGFuZCByZXR1cm4gYSBuZXcgcmVzdWx0LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBtYXAyPFQxLCBUMiwgTywgRT4oXG4gICAgICAgIGZpcnN0OiBSZXN1bHQ8VDEsIEU+LFxuICAgICAgICBzZWNvbmQ6IFJlc3VsdDxUMiwgRT4sXG4gICAgICAgIGY6IChhOiBUMSwgYjogVDIpID0+IE9cbiAgICApOiBSZXN1bHQ8TywgRT4ge1xuICAgICAgICByZXR1cm4gZmxhdE1hcDIoZmlyc3QsIHNlY29uZCwgKGEsIGIpID0+IHN1Y2Nlc3MoZihhLCBiKSkpO1xuICAgIH1cblxuICAgIC8qKiBNYXAgYSBmYWlsYWJsZSBmdW5jdGlvbiBvdmVyIGFsbCBlbGVtZW50cyBpbiB0aGUgbGlzdCwgcmV0dXJuaW5nIGVhcmx5IG9uIGZhaWx1cmUuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG1hcEFsbDxULCBPLCBFPihpbnB1dDogSXRlcmFibGU8VD4sIGZ1bmM6IChpbnB1dDogVCkgPT4gUmVzdWx0PE8sIEU+KTogUmVzdWx0PE9bXSwgRT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IE9bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgaW5wdXQpIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IGZ1bmMoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoIW91dHB1dC5zdWNjZXNzZnVsKSByZXR1cm4gb3V0cHV0LmNhc3QoKTtcblxuICAgICAgICAgICAgcmVzdWx0LnB1c2gob3V0cHV0LnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKiBDYXRjaCBhbnkgZXJyb3JzIGluIGEgY2FsbCwgcmV0dXJuaW5nIGEgcmVzdWx0IGluc3RlYWQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHRyeWluZzxUPihjYWxsOiAoKSA9PiBUKTogUmVzdWx0PFQsIEVycm9yPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoY2FsbCgpKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ29udmVydCBhIHByb21pc2Ugd2hpY2ggbWF5IHRocm93IGludG8gYSBwcm9taXNlIHdoaWNoIHJldHVybnMgYSByZXN1bHQgb2YgdGhlIHN1Y2Nlc3NmdWwgdmFsdWUgb3IgYW4gZXJyb3IuICovXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jPFQ+KHByb21pc2U6IFByb21pc2U8VD4pOiBQcm9taXNlPFJlc3VsdDxULCBFcnJvcj4+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2Vzcyhhd2FpdCBwcm9taXNlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcblxuLyoqIFN0YXRpYyBzZXQgZWxlbWVudCB3aGljaCBtYXRjaGVzIGV2ZXJ5dGhpbmcuICovXG5leHBvcnQgdHlwZSBFdmVyeXRoaW5nID0geyB0eXBlOiBcImV2ZXJ5dGhpbmdcIiB9O1xuLyoqIFN0YXRpYyBzZXQgZWxlbWVudCB3aGljaCBtYXRjaGVzIG5vdGhpbmcuICovXG5leHBvcnQgdHlwZSBOb3RoaW5nID0geyB0eXBlOiBcIm5vdGhpbmdcIiB9O1xuLyoqIFNldCB3aGljaCBtYXRjaGVzIHRoZSBuZWdhdGlvbiBvZiBhIHNldC4gKi9cbmV4cG9ydCB0eXBlIE5lZ2F0ZWQ8VD4gPSB7IHR5cGU6IFwibmVnYXRlZFwiOyB2YWx1ZTogU2V0PFQ+IH07XG4vKiogU2V0IHdoaWNoIG1hdGNoZXMgYW4gYWN0dWFsIHNldCBvZiB2YWx1ZXMuICAqL1xuZXhwb3J0IHR5cGUgQXRvbTxUPiA9IHsgdHlwZTogXCJhdG9tXCI7IHZhbHVlOiBTZXQ8VD4gfTtcblxuLyoqIEFic3RyYWN0IGZpbHRlciB0eXBlIHdoaWNoIHJlcHJlc2VudHMgdGhlIHJlc3VsdHMgb2YgYXBwbHlpbmcgZmlsdGVyIG9wZXJhdGlvbnMgdG8gdGhlIGRhdGEgc3RvcmUuICovXG5leHBvcnQgdHlwZSBGaWx0ZXI8VD4gPSBFdmVyeXRoaW5nIHwgTm90aGluZyB8IEF0b208VD4gfCBOZWdhdGVkPFQ+O1xuXG4vKiogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGVmZmljaWVudGx5IG9wZXJhdGluZyBvbiBmaWx0ZXJzLiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBGaWx0ZXJzIHtcbiAgICAvKiogU3RhdGljIGZpbHRlciB3aGljaCBtYXRjaGVzIGV2ZXJ5dGhpbmcuICovXG4gICAgZXhwb3J0IGNvbnN0IEVWRVJZVEhJTkc6IEV2ZXJ5dGhpbmcgPSB7IHR5cGU6IFwiZXZlcnl0aGluZ1wiIH07XG4gICAgLyoqIFN0YXRpYyBmaWx0ZXIgd2hpY2ggbWF0Y2hlcyBub3RoaW5nLiAqL1xuICAgIGV4cG9ydCBjb25zdCBOT1RISU5HOiBOb3RoaW5nID0geyB0eXBlOiBcIm5vdGhpbmdcIiB9O1xuICAgIC8qKiBFbXB0eSBzZXQgY29uc3RhbnQuICovXG4gICAgZXhwb3J0IGNvbnN0IEVNUFRZX1NFVDogU2V0PGFueT4gPSBuZXcgU2V0KCk7XG5cbiAgICAvKiogQ29uc3RydWN0IGEgbmV3IGF0b20gZmlsdGVyLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBhdG9tPFQ+KHNldDogU2V0PFQ+KTogRmlsdGVyPFQ+IHtcbiAgICAgICAgaWYgKHNldC5zaXplID09IDApIHJldHVybiBOT1RISU5HO1xuXG4gICAgICAgIHJldHVybiB7IHR5cGU6IFwiYXRvbVwiLCB2YWx1ZTogc2V0IH07XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIGZpbHRlciB0aGF0IG1hdGNoZXMgZXZlcnl0aGluZyBvciBub3RoaW5nLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBjb25zdGFudDxUPih2YWx1ZTogYm9vbGVhbik6IEZpbHRlcjxUPiB7XG4gICAgICAgIGlmICh2YWx1ZSkgcmV0dXJuIEVWRVJZVEhJTkc7XG4gICAgICAgIGVsc2UgcmV0dXJuIE5PVEhJTkc7XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIG5ldyBhdG9tIGZpbHRlciB3aGljaCBpcyBOT1RISU5HIGlmIHNldCBpcyB1bmRlZmluZWQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG51bGxhYmxlQXRvbTxUPihzZXQ6IFNldDxUPiB8IHVuZGVmaW5lZCk6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBzZXQgIT09IHVuZGVmaW5lZCA/IGF0b20oc2V0KSA6IE5PVEhJTkc7XG4gICAgfVxuXG4gICAgLyoqIENvbnN0cnVjdCBhIG5lZ2F0ZWQgYXRvbSBmaWx0ZXIuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG5lZ2F0ZWQ8VD4oc2V0OiBTZXQ8VD4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICBpZiAoc2V0LnNpemUgPT0gMCkgcmV0dXJuIEVWRVJZVEhJTkc7XG5cbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJuZWdhdGVkXCIsIHZhbHVlOiBzZXQgfTtcbiAgICB9XG5cbiAgICAvKiogUHJvZHVjZXMgdGhlIG5lZ2F0aW9uIG9mIGEgZmlsdGVyLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBuZWdhdGU8VD4oZmlsdGVyOiBGaWx0ZXI8VD4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXZlcnl0aGluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBOT1RISU5HO1xuICAgICAgICAgICAgY2FzZSBcIm5vdGhpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gRVZFUllUSElORztcbiAgICAgICAgICAgIGNhc2UgXCJhdG9tXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5lZ2F0ZWQoZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF0b20oZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIGZpbHRlciBpcyBkZWZpbml0aXZlbHkgY3VycmVudGx5IGVtcHR5LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBlbXB0eTxUPihmaWx0ZXI6IEZpbHRlcjxUPik6IGJvb2xlYW4ge1xuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiZXZlcnl0aGluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY2FzZSBcImF0b21cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyLnZhbHVlLnNpemUgPT0gMDtcbiAgICAgICAgICAgIGNhc2UgXCJub3RoaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmVzb2x2ZSBhIHRvcC1sZXZlbCBmaWx0ZXIgd2l0aCB0aGUgc2V0IG9mIGFsbCBhdmFpbGFibGUgb2JqZWN0cy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gcmVzb2x2ZTxUPihmaWx0ZXI6IEZpbHRlcjxUPiwgZXZlcnl0aGluZzogU2V0PFQ+KTogU2V0PFQ+IHtcbiAgICAgICAgc3dpdGNoIChmaWx0ZXIudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImV2ZXJ5dGhpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZXZlcnl0aGluZztcbiAgICAgICAgICAgIGNhc2UgXCJub3RoaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZX1NFVDtcbiAgICAgICAgICAgIGNhc2UgXCJhdG9tXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNldEludGVyc2VjdE5lZ2F0aW9uKGV2ZXJ5dGhpbmcsIGZpbHRlci52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSW50ZXJzZWN0IGFuIGl0ZXJhYmxlIG9mIGZpbHRlcnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGludGVyc2VjdDxUPihlbGVtZW50czogSXRlcmFibGU8RmlsdGVyPFQ+Pik6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBsYXp5SW50ZXJzZWN0KGVsZW1lbnRzLCAoeCkgPT4geCk7XG4gICAgfVxuXG4gICAgLyoqIEludGVyc2VjdCBmaWx0ZXJzIGxhemlseSwgc2hvcnQtY2lyY3VpdGluZyBpZiB0aGUgaW50ZXJzZWN0aW9uIHdvdWxkIHByb2R1Y2UgTk9USElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eUludGVyc2VjdDxJLCBUPihcbiAgICAgICAgZWxlbWVudHM6IEl0ZXJhYmxlPEk+LFxuICAgICAgICBwcm9kdWNlOiAoaW5wdXQ6IEkpID0+IEZpbHRlcjxUPiB8IHVuZGVmaW5lZFxuICAgICk6IEZpbHRlcjxUPiB7XG4gICAgICAgIHJldHVybiBsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb24oZWxlbWVudHMsICh4KSA9PiBSZXN1bHQuc3VjY2Vzcyhwcm9kdWNlKHgpKSkub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogSW50ZXJzZWN0IGZpbHRlcnMgbGF6aWx5LCBzaG9ydC1jaXJjdWl0aW5nIGlmIHRoZSBpbnRlcnNlY3Rpb24gd291bGQgcHJvZHVjZSBOT1RISU5HLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBsYXp5RmFpbGFibGVJbnRlcnNlY3Rpb248SSwgVCwgRT4oXG4gICAgICAgIGVsZW1lbnRzOiBJdGVyYWJsZTxJPixcbiAgICAgICAgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBSZXN1bHQ8RmlsdGVyPFQ+IHwgdW5kZWZpbmVkLCBFPlxuICAgICk6IFJlc3VsdDxGaWx0ZXI8VD4sIEU+IHtcbiAgICAgICAgY29uc3QgYXRvbXM6IFNldDxUPltdID0gW107XG4gICAgICAgIGNvbnN0IG5lZ2F0aW9uczogU2V0PFQ+W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSBwcm9kdWNlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBtYXliZUZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIEVtcHR5IGZpbHRlcnMgd2lsbCBwcm9kdWNlIGFuIGVtcHR5IGludGVyc2VjdGlvbi5cbiAgICAgICAgICAgIGlmIChlbXB0eShmaWx0ZXIpKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoTk9USElORyk7XG4gICAgICAgICAgICAvLyBFVkVSWVRISU5HIGZpbHRlcnMgYXJlIHJlZHVuZGFudCBpbiBBTkRzLCBza2lwIHRoZW0uXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSBjb250aW51ZTtcblxuICAgICAgICAgICAgLy8gV2lsbCBvbmx5IGJlIGxlZnQgd2l0aCBhdG9tcyBvciBuZWdhdGlvbnMuXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT0gXCJhdG9tXCIpIGF0b21zLnB1c2goZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGZpbHRlci50eXBlID09IFwibmVnYXRlZFwiKSBuZWdhdGlvbnMucHVzaChmaWx0ZXIudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2Ugc3RhcnQgd2l0aCBzb21ldGhpbmcgb2YgdGhlIGZvcm0gYSAmJiBiICYmICFjICYmICFkLlxuICAgICAgICAvLyBJZiBubyB0ZXJtcywgdGhlbiBldmVyeXRoaW5nIHdhcyBFVkVSWVRISU5HIHNvIHJldHVybiB0aGF0LlxuICAgICAgICAvLyBJZiBvbmx5IGF0b21zLCBqdXN0IGludGVyc2VjdCB0aGVtIChhICYmIGIpLlxuICAgICAgICAvLyBJZiBvbmx5IG5lZ2F0aW9ucywgdGhlbiByZXdyaXRlICFjICYmICFkID0+ICEoYyB8fCBkKSBhbmQgcmV0dXJuIG5lZ2F0ZWQoYyB8fCBkKS5cbiAgICAgICAgLy8gSWYgYm90aCwgY29tcHV0ZSB4ID0gKGEgJiYgYikgYW5kIHkgPSAoYyB8fCBkKSwgYW5kIHRoZW4gY29tcHV0ZSB4ICYmICF5LlxuXG4gICAgICAgIGlmIChhdG9tcy5sZW5ndGggPT0gMCAmJiBuZWdhdGlvbnMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhFVkVSWVRISU5HKTtcbiAgICAgICAgfSBlbHNlIGlmIChhdG9tcy5sZW5ndGggPiAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKGF0b20oc2V0SW50ZXJzZWN0KGF0b21zKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobmVnYXRlZChzZXRVbmlvbihuZWdhdGlvbnMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKHNldEludGVyc2VjdE5lZ2F0aW9uKHNldEludGVyc2VjdChhdG9tcyksIHNldFVuaW9uKG5lZ2F0aW9ucykpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycywgcHJvZHVjaW5nIGEgc2luZ2xlIHJlc3VsdCBmaWx0ZXIuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHVuaW9uPFQ+KGZpbHRlcnM6IEl0ZXJhYmxlPEZpbHRlcjxUPj4pOiBGaWx0ZXI8VD4ge1xuICAgICAgICByZXR1cm4gbGF6eVVuaW9uKGZpbHRlcnMsICh4KSA9PiB4KTtcbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycyBsYXppbHksIHNob3J0LWNpcmN1aXRpbmcgaWYgdGhlIHVuaW9uIHdvdWxkIHByb2R1Y2UgRVZFUllUSElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eVVuaW9uPEksIFQ+KGVsZW1lbnRzOiBJdGVyYWJsZTxJPiwgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBGaWx0ZXI8VD4gfCB1bmRlZmluZWQpOiBGaWx0ZXI8VD4ge1xuICAgICAgICByZXR1cm4gbGF6eUZhaWxhYmxlVW5pb24oZWxlbWVudHMsICh4KSA9PiBSZXN1bHQuc3VjY2Vzcyhwcm9kdWNlKHgpKSkub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvKiogVW5pb24gZmlsdGVycyBsYXppbHksIHNob3J0LWNpcmN1aXRpbmcgaWYgdGhlIHVuaW9uIHdvdWxkIHByb2R1Y2UgRVZFUllUSElORy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbGF6eUZhaWxhYmxlVW5pb248SSwgVCwgRT4oXG4gICAgICAgIGVsZW1lbnRzOiBJdGVyYWJsZTxJPixcbiAgICAgICAgcHJvZHVjZTogKGlucHV0OiBJKSA9PiBSZXN1bHQ8RmlsdGVyPFQ+IHwgdW5kZWZpbmVkLCBFPlxuICAgICk6IFJlc3VsdDxGaWx0ZXI8VD4sIEU+IHtcbiAgICAgICAgY29uc3QgYXRvbXM6IFNldDxUPltdID0gW107XG4gICAgICAgIGNvbnN0IG5lZ2F0aW9uczogU2V0PFQ+W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSBwcm9kdWNlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSBtYXliZUZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIEVWRVJZVEhJTkcgZmlsdGVycyB3aWxsIHByb2R1Y2UgZXZlcnl0aGluZyBhbHdheXMuXG4gICAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRVZFUllUSElORyk7XG4gICAgICAgICAgICAvLyBFbXB0eSBmaWx0ZXJzIGFyZSByZWR1bmRhbnQuXG4gICAgICAgICAgICBpZiAoZW1wdHkoZmlsdGVyKSkgY29udGludWU7XG5cbiAgICAgICAgICAgIC8vIFdpbGwgb25seSBiZSBsZWZ0IHdpdGggYXRvbXMgb3IgbmVnYXRpb25zLlxuICAgICAgICAgICAgaWYgKGZpbHRlci50eXBlID09IFwiYXRvbVwiKSBhdG9tcy5wdXNoKGZpbHRlci52YWx1ZSk7XG4gICAgICAgICAgICBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PSBcIm5lZ2F0ZWRcIikgbmVnYXRpb25zLnB1c2goZmlsdGVyLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9yIGlzIGEgYml0IGhhcmRlciB0aGFuIEFORCBzaW5jZSB5b3UgY2FuIGVuZCB1cCB3aXRoIHNjZW5hcmlvcyBsaWtlIGEgfHwgIWIsIHdoaWNoIGFyZVxuICAgICAgICAvLyBub3QgY29tcHV0YWJsZSBkaXJlY3RseS4gSG93ZXZlciwgd2UgY2FuIGRvIGJvb2xlYW4gbG9naWMgdG8gYWx3YXlzIHByb2R1Y2UgYSBzaW5nbGVcbiAgICAgICAgLy8gc2V0LlxuICAgICAgICAvLyBJZiBub3RoaW5nID0+IG5vdGhpbmcsIG5vIG5vbi1lbXB0eSBmaWx0ZXJzLlxuICAgICAgICAvLyBJZiBhdG9tcyBidXQgbm8gbmVnYXRpb25zIChhIHx8IGIgfHwgYykgPT4gY29tcHV0ZSB1bmlvbi5cbiAgICAgICAgLy8gSWYgbmVnYXRpb25zIGJ1dCBubyBhdG9tcyAoIWEgfHwgIWIgfHwgIWMpID0+IHJld3JpdGUgYXMgIShhICYmIGIgJiYgYykuXG4gICAgICAgIC8vIElmIGJvdGg6IChhIHx8IGIgfHwgIWMgfHwgIWQpID0+IGNvbWJpbmUgZWFjaCBwYXJ0IGludG8gKGEgfHwgYikgfHwgKCFjIHx8ICFkKSA9PiAoYSB8fCBiKSB8fCAhKGMgJiYgZCkgPT4gZSB8fCAhZiA9PiAhKCFlICYmIGYpIHdoaWNoXG4gICAgICAgIC8vIGNhbiBiZSBjb21wdXRlZCB1c2luZyBpbnRlcnNlY3Rpb24gbG9naWMuXG5cbiAgICAgICAgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKE5PVEhJTkcpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA+IDAgJiYgbmVnYXRpb25zLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKHNldFVuaW9uKGF0b21zKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGF0b21zLmxlbmd0aCA9PSAwICYmIG5lZ2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5uZWdhdGVkKHNldEludGVyc2VjdChuZWdhdGlvbnMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobmVnYXRlZChzZXRJbnRlcnNlY3ROZWdhdGlvbihzZXRJbnRlcnNlY3QobmVnYXRpb25zKSwgc2V0VW5pb24oYXRvbXMpKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEVmZmljaWVudGx5IGNvbXB1dGUgdGhlIGludGVyc2VjdGlvbiBvZiBzZXRzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnNlY3Q8VD4oc2V0czogU2V0PFQ+W10pOiBTZXQ8VD4ge1xuICAgICAgICBpZiAoc2V0cy5sZW5ndGggPT0gMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgZWxzZSBpZiAoc2V0cy5sZW5ndGggPT0gMSkgcmV0dXJuIHNldHNbMF07XG5cbiAgICAgICAgLy8gU29ydCBieSBzaXplIGFuZCBjb21iaW5lIHNtYWxsZXN0IGFuZCBsYXJnZXN0IHNldCByZXBlYXRlZGx5LlxuICAgICAgICBsZXQgc29ydGVkID0gKFtdIGFzIFNldDxUPltdKS5jb25jYXQoc2V0cykuc29ydCgoYSwgYikgPT4gYS5zaXplIC0gYi5zaXplKTtcblxuICAgICAgICB3aGlsZSAoc29ydGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQ8VD4oKTtcbiAgICAgICAgICAgIGNvbnN0IGxhcmdlc3QgPSBzb3J0ZWQucG9wKCkhO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIHNvcnRlZFswXSkge1xuICAgICAgICAgICAgICAgIGlmIChsYXJnZXN0LmhhcyhlbGVtZW50KSkgcmVzdWx0LmFkZChlbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc29ydGVkWzBdID0gcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNvcnRlZFswXTtcbiAgICB9XG5cbiAgICAvKiogRWZmaWNpZW50bHkgY29tcHV0ZSB0aGUgdW5pb24gb2Ygc2V0cy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gc2V0VW5pb248VD4oc2V0czogU2V0PFQ+W10pOiBTZXQ8VD4ge1xuICAgICAgICBpZiAoc2V0cy5sZW5ndGggPT0gMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgZWxzZSBpZiAoc2V0cy5sZW5ndGggPT0gMSkgcmV0dXJuIHNldHNbMF07XG5cbiAgICAgICAgLy8gSSdtIG5vdCBzdXJlIGlmIHRoZXJlIGlzIGFueSB1c2VmdWwgb3B0aW1pemF0aW9uIGZvciBzZXQgdW5pb25zLCBzbyBqdXN0IGFkZCB0aGVtIGFsbCBJIGd1ZXNzLlxuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgICAgIGZvciAoY29uc3Qgc2V0IG9mIHNldHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBzZXQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuYWRkKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKiogRWZmaWNpZW50bHkgY29tcHV0ZSBhdG9tICYmICFuZWdhdGVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnNlY3ROZWdhdGlvbjxUPihhdG9tOiBTZXQ8VD4sIG5lZ2F0ZWQ6IFNldDxUPik6IFNldDxUPiB7XG4gICAgICAgIGlmIChhdG9tLnNpemUgPiBuZWdhdGVkLnNpemUpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IFdvdWxkIGJlIG5pY2UgdG8gYXZvaWQgdGhlIGNvcHksIHNpbmNlIEknbSBub3Qgc3VyZSBpdCdzIGFueSBmYXN0ZXIgd2l0aCB0aGUgY29weS5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQoYXRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIG5lZ2F0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQuZGVsZXRlKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IC8qIGF0b20uc2l6ZSA8IG5lZ2F0aW9uLnNpemUgKi8gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGF0b20pIHtcbiAgICAgICAgICAgICAgICBpZiAobmVnYXRlZC5oYXMoZWxlbWVudCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5hZGQoZWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSBcIi4vZmlsdGVyc1wiO1xuXG4vKiogQ29tcGFyaXNvbiBvcGVyYXRvcnMgd2hpY2ggeWllbGQgdHJ1ZS9mYWxzZS4gKi9cbmV4cG9ydCB0eXBlIENvbXBhcmVPcCA9IFwiPlwiIHwgXCI+PVwiIHwgXCI8PVwiIHwgXCI8XCIgfCBcIj1cIiB8IFwiIT1cIjtcbi8qKiBBcml0aG1ldGljIG9wZXJhdG9ycyB3aGljaCB5aWVsZCBudW1iZXJzIGFuZCBvdGhlciB2YWx1ZXMuICovXG5leHBvcnQgdHlwZSBBcml0aG1ldGljT3AgPSBcIitcIiB8IFwiLVwiIHwgXCIqXCIgfCBcIi9cIiB8IFwiJVwiIHwgXCImXCIgfCBcInxcIjtcbi8qKiBJbmRleCBhIHZhbHVlIGludG8gYW5vdGhlciB2YWx1ZS4gKi9cbmV4cG9ydCB0eXBlIExvZ2ljYWxPcCA9IFwiaW5kZXhcIjtcbi8qKiBBbGwgdmFsaWQgYmluYXJ5IG9wZXJhdG9ycy4gKi9cbmV4cG9ydCB0eXBlIEJpbmFyeU9wID0gQ29tcGFyZU9wIHwgQXJpdGhtZXRpY09wIHwgTG9naWNhbE9wO1xuXG5leHBvcnQgdHlwZSBFeHByZXNzaW9uID1cbiAgICB8IExpdGVyYWxFeHByZXNzaW9uXG4gICAgfCBWYXJpYWJsZUV4cHJlc3Npb25cbiAgICB8IExpc3RFeHByZXNzaW9uXG4gICAgfCBPYmplY3RFeHByZXNzaW9uXG4gICAgfCBCaW5hcnlPcEV4cHJlc3Npb25cbiAgICB8IEZ1bmN0aW9uRXhwcmVzc2lvblxuICAgIHwgTGFtYmRhRXhwcmVzc2lvblxuICAgIHwgTmVnYXRlZEV4cHJlc3Npb247XG5cbi8qKiBMaXRlcmFsIHJlcHJlc2VudGF0aW9uIG9mIHNvbWUgZmllbGQgdHlwZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGl0ZXJhbEV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwibGl0ZXJhbFwiO1xuICAgIHZhbHVlOiBMaXRlcmFsO1xufVxuXG4vKiogQSB2YXJpYWJsZSBmaWVsZCBmb3IgYSB2YXJpYWJsZSB3aXRoIGEgZ2l2ZW4gbmFtZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGVFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcInZhcmlhYmxlXCI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG4vKiogQSBsaXN0IGxpdGVyYWwsIHdoaWNoIGlzIGFuIG9yZGVyZWQgY29sbGVjdGlvbiBvZiBmaWVsZHMuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcImxpc3RcIjtcbiAgICB2YWx1ZXM6IEV4cHJlc3Npb25bXTtcbn1cblxuLyoqIEFuIG9iamVjdCBsaXRlcmFsLCB3aGljaCBpcyBhIG1hcHBpbmcgb2YgbmFtZSB0byBmaWVsZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0RXhwcmVzc2lvbiB7XG4gICAgdHlwZTogXCJvYmplY3RcIjtcbiAgICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIEV4cHJlc3Npb24+O1xufVxuXG4vKiogQSBiaW5hcnkgb3BlcmF0b3IgZXhwcmVzc2lvbiB3aGljaCBjb21iaW5lcyB0d28gc3Vibm9kZXMgc29tZWhvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluYXJ5T3BFeHByZXNzaW9uIHtcbiAgICB0eXBlOiBcImJpbmFyeW9wXCI7XG4gICAgbGVmdDogRXhwcmVzc2lvbjtcbiAgICByaWdodDogRXhwcmVzc2lvbjtcbiAgICBvcDogQmluYXJ5T3A7XG59XG5cbi8qKiBBIGZ1bmN0aW9uIGV4cHJlc3Npb24gd2hpY2ggY2FsbHMgYSBmdW5jdGlvbiBvbiAwIG9yIG1vcmUgYXJndW1lbnRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwiZnVuY3Rpb25cIjtcbiAgICAvKiogRWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBiZWluZyBjYWxsZWQgb3IgYSBGdW5jdGlvbiBvYmplY3QuICovXG4gICAgZnVuYzogRXhwcmVzc2lvbjtcbiAgICAvKiogVGhlIGxpc3Qgb2YgYXJndW1lbnRzIGJlaW5nIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24uICovXG4gICAgYXJndW1lbnRzOiBFeHByZXNzaW9uW107XG59XG5cbi8qKiBBbiBpbmxpbmUgZnVuY3Rpb24gYWNjZXB0aW5nIG9uZSBvciBtb3JlIGFyZ3VtZW50cyBhbmQgcHJvZHVjaW5nIGEgdmFsdWUuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUV4cHJlc3Npb24ge1xuICAgIHR5cGU6IFwibGFtYmRhXCI7XG4gICAgLyoqIEFuIG9yZGVyZWQgbGlzdCBvZiBuYW1lZCBhcmd1bWVudHMuICovXG4gICAgYXJndW1lbnRzOiBzdHJpbmdbXTtcbiAgICAvKiogVGhlIGZpZWxkIHdoaWNoIHdpbGwgYmUgZXZhbHVhdGVkIHVzaW5nIHRoZSBhcmd1bWVudHMgaW4gY29udGV4dC4gKi9cbiAgICB2YWx1ZTogRXhwcmVzc2lvbjtcbn1cblxuLyoqIEFuIGV4cHJlc3Npb24gd2hpY2ggbmVnYXRlcyB0aGUgdmFsdWUgb2YgdGhlIG9yaWdpbmFsIGZpZWxkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZWdhdGVkRXhwcmVzc2lvbiB7XG4gICAgdHlwZTogXCJuZWdhdGVkXCI7XG5cbiAgICAvKiogVGhlIGNoaWxkIGZpZWxkIHRvIG5lZ2F0ZS4gKi9cbiAgICBjaGlsZDogRXhwcmVzc2lvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFeHByZXNzaW9ucyB7XG4gICAgLyoqIFRoZSBpbXBsaWNpdCBmaWVsZCByZWZlcmVuY2luZyB0aGUgY3VycmVudCBmaWVsZC4gKi9cbiAgICBleHBvcnQgY29uc3QgUk9XOiBzdHJpbmcgPSBcIiRyb3dcIjtcblxuICAgIGV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZShuYW1lOiBzdHJpbmcpOiBWYXJpYWJsZUV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcInZhcmlhYmxlXCIsIG5hbWUgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGl0ZXJhbCh2YWx1ZTogTGl0ZXJhbCk6IExpdGVyYWxFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsaXRlcmFsXCIsIHZhbHVlIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGJpbmFyeU9wKGxlZnQ6IEV4cHJlc3Npb24sIG9wOiBCaW5hcnlPcCwgcmlnaHQ6IEV4cHJlc3Npb24pOiBFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJiaW5hcnlvcFwiLCBsZWZ0LCBvcCwgcmlnaHQgfSBhcyBCaW5hcnlPcEV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGluZGV4KG9iajogRXhwcmVzc2lvbiwgaW5kZXg6IEV4cHJlc3Npb24pOiBFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJiaW5hcnlvcFwiLCBsZWZ0OiBvYmosIHJpZ2h0OiBpbmRleCwgb3A6IFwiaW5kZXhcIiB9O1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0cyBhIHN0cmluZyBpbiBkb3Qtbm90YXRpb24tZm9ybWF0IGludG8gYSB2YXJpYWJsZSB3aGljaCBpbmRleGVzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbmRleFZhcmlhYmxlKG5hbWU6IHN0cmluZyk6IEV4cHJlc3Npb24ge1xuICAgICAgICBsZXQgcGFydHMgPSBuYW1lLnNwbGl0KFwiLlwiKTtcbiAgICAgICAgbGV0IHJlc3VsdDogRXhwcmVzc2lvbiA9IEV4cHJlc3Npb25zLnZhcmlhYmxlKHBhcnRzWzBdKTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHBhcnRzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgcmVzdWx0ID0gRXhwcmVzc2lvbnMuaW5kZXgocmVzdWx0LCBFeHByZXNzaW9ucy5saXRlcmFsKHBhcnRzW2luZGV4XSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGFtYmRhKGFyZ3M6IHN0cmluZ1tdLCB2YWx1ZTogRXhwcmVzc2lvbik6IExhbWJkYUV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcImxhbWJkYVwiLCBhcmd1bWVudHM6IGFyZ3MsIHZhbHVlIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGZ1bmMoZnVuYzogRXhwcmVzc2lvbiwgYXJnczogRXhwcmVzc2lvbltdKTogRnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJmdW5jdGlvblwiLCBmdW5jLCBhcmd1bWVudHM6IGFyZ3MgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbGlzdCh2YWx1ZXM6IEV4cHJlc3Npb25bXSk6IExpc3RFeHByZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJsaXN0XCIsIHZhbHVlcyB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBvYmplY3QodmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBFeHByZXNzaW9uPik6IE9iamVjdEV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcIm9iamVjdFwiLCB2YWx1ZXMgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gbmVnYXRlKGNoaWxkOiBFeHByZXNzaW9uKTogTmVnYXRlZEV4cHJlc3Npb24ge1xuICAgICAgICByZXR1cm4geyB0eXBlOiBcIm5lZ2F0ZWRcIiwgY2hpbGQgfTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNDb21wYXJlT3Aob3A6IEJpbmFyeU9wKTogb3AgaXMgQ29tcGFyZU9wIHtcbiAgICAgICAgcmV0dXJuIG9wID09IFwiPD1cIiB8fCBvcCA9PSBcIjxcIiB8fCBvcCA9PSBcIj5cIiB8fCBvcCA9PSBcIj49XCIgfHwgb3AgPT0gXCIhPVwiIHx8IG9wID09IFwiPVwiO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGEgc2V0IG9mIGFsbCB1bmJvdW5kIHZhcmlhYmxlcyAoaS5lLiwgdmFyaWFibGVzIG5vdCBwcm92aWRlZCBieSBgcm93YCwgbGFtYmRhcywgb3Igc2ltaWxhci4pICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHVuYm91bmRWYXJpYWJsZXMoZXhwcjogRXhwcmVzc2lvbiwgYm91bmQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldChbUk9XXSkpOiBTZXQ8c3RyaW5nPiB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYmluYXJ5b3BcIjpcbiAgICAgICAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgYHJvd1tcIi4uLi5cIl1gLlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgZXhwci5vcCA9PT0gXCJpbmRleFwiICYmXG4gICAgICAgICAgICAgICAgICAgIGV4cHIubGVmdC50eXBlID09IFwidmFyaWFibGVcIiAmJlxuICAgICAgICAgICAgICAgICAgICBleHByLmxlZnQubmFtZSA9PSBST1cgJiZcbiAgICAgICAgICAgICAgICAgICAgZXhwci5yaWdodC50eXBlID09IFwibGl0ZXJhbFwiICYmXG4gICAgICAgICAgICAgICAgICAgIExpdGVyYWxzLmlzU3RyaW5nKGV4cHIucmlnaHQudmFsdWUpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChib3VuZC5oYXMoZXhwci5yaWdodC52YWx1ZSkpIHJldHVybiBuZXcgU2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIG5ldyBTZXQoW2V4cHIucmlnaHQudmFsdWVdKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UganVzdCBjaGVjayBsZWZ0IGFuZCByaWdodC5cbiAgICAgICAgICAgICAgICByZXR1cm4gRmlsdGVycy5zZXRVbmlvbihbdW5ib3VuZFZhcmlhYmxlcyhleHByLmxlZnQsIGJvdW5kKSwgdW5ib3VuZFZhcmlhYmxlcyhleHByLnJpZ2h0LCBib3VuZCldKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKGV4cHIuYXJndW1lbnRzLm1hcCgoYSkgPT4gdW5ib3VuZFZhcmlhYmxlcyhhLCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJsYW1iZGFcIjpcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdCb3VuZCA9IGJvdW5kID8/IG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFyZyBvZiBleHByLmFyZ3VtZW50cykgbmV3Qm91bmQuYWRkKGFyZyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdW5ib3VuZFZhcmlhYmxlcyhleHByLnZhbHVlLCBuZXdCb3VuZCk7XG4gICAgICAgICAgICBjYXNlIFwibGlzdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKGV4cHIudmFsdWVzLm1hcCgodikgPT4gdW5ib3VuZFZhcmlhYmxlcyh2LCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJuZWdhdGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuYm91bmRWYXJpYWJsZXMoZXhwci5jaGlsZCwgYm91bmQpO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLnNldFVuaW9uKE9iamVjdC52YWx1ZXMoZXhwci52YWx1ZXMpLm1hcCgodikgPT4gdW5ib3VuZFZhcmlhYmxlcyh2LCBib3VuZCkpKTtcbiAgICAgICAgICAgIGNhc2UgXCJ2YXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChib3VuZCAmJiBib3VuZC5oYXMoZXhwci5uYW1lKSkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBuZXcgU2V0KFtleHByLm5hbWVdKTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZW5kZXIgYW4gZXhwcmVzc2lvbiBhcyBhIHN0cmluZy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcoZXhwcjogRXhwcmVzc2lvbik6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYmluYXJ5b3BcIjpcbiAgICAgICAgICAgICAgICBpZiAoZXhwci5vcCA9PT0gXCJpbmRleFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmxlZnQpfVske3RvU3RyaW5nKGV4cHIucmlnaHQpfV1gO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmxlZnQpfSAke2V4cHIub3B9ICR7dG9TdHJpbmcoZXhwci5yaWdodCl9YDtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1N0cmluZyhleHByLmZ1bmMpfSgke2V4cHIuYXJndW1lbnRzLm1hcCh0b1N0cmluZykuam9pbihcIiwgXCIpfSlgO1xuICAgICAgICAgICAgY2FzZSBcImxhbWJkYVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBgKCR7ZXhwci5hcmd1bWVudHMuam9pbihcIiwgXCIpfSkgPT4gJHt0b1N0cmluZyhleHByLnZhbHVlKX1gO1xuICAgICAgICAgICAgY2FzZSBcImxpc3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYFske2V4cHIudmFsdWVzLm1hcCh0b1N0cmluZykuam9pbihcIiwgXCIpfV1gO1xuICAgICAgICAgICAgY2FzZSBcIm5lZ2F0ZWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCEke3RvU3RyaW5nKGV4cHIuY2hpbGQpfWA7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGB7JHtPYmplY3QuZW50cmllcyhleHByLnZhbHVlcylcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBgJHtrfTogJHt0b1N0cmluZyh2KX1gKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpfX1gO1xuICAgICAgICAgICAgY2FzZSBcInZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4cHIubmFtZTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlZCA9IExpdGVyYWxzLndyYXBWYWx1ZShleHByLnZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHdyYXBwZWQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFwiJHt3cmFwcGVkLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMaXRlcmFscy50b1N0cmluZyh3cmFwcGVkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgY29uc3QgTlVMTCA9IEV4cHJlc3Npb25zLmxpdGVyYWwobnVsbCk7XG59XG4iLCAiLyoqIFByb3ZpZGVzIGNvcmUgcHJlYWN0IC8gcmVuZGVyaW5nIHV0aWxpdGllcyBmb3IgYWxsIHZpZXcgdHlwZXMuXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCB7IEFwcCwgTWFya2Rvd25SZW5kZXJlciB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBMaW5rLCBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IERhdGFjb3JlIH0gZnJvbSBcImluZGV4L2RhdGFjb3JlXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCJzZXR0aW5nc1wiO1xuaW1wb3J0IHsgY3VycmVudExvY2FsZSwgcmVuZGVyTWluaW1hbERhdGUsIHJlbmRlck1pbmltYWxEdXJhdGlvbiB9IGZyb20gXCJ1dGlscy9ub3JtYWxpemVyc1wiO1xuaW1wb3J0IHsgZXh0cmFjdEltYWdlRGltZW5zaW9ucywgaXNJbWFnZUVtYmVkIH0gZnJvbSBcInV0aWxzL21lZGlhXCI7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIEZyYWdtZW50LCByZW5kZXIgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUVycm9yQm91bmRhcnkgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBDU1NQcm9wZXJ0aWVzLCBQcm9wc1dpdGhDaGlsZHJlbiwgbWVtbyB9IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5pbXBvcnQgeyBFbWJlZCB9IGZyb20gXCJhcGkvdWkvZW1iZWRcIjtcblxuaW1wb3J0IFwiLi9lcnJvcnMuY3NzXCI7XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRfQ09OVEVYVCA9IGNyZWF0ZUNvbnRleHQ8Q29tcG9uZW50Pih1bmRlZmluZWQhKTtcbmV4cG9ydCBjb25zdCBBUFBfQ09OVEVYVCA9IGNyZWF0ZUNvbnRleHQ8QXBwPih1bmRlZmluZWQhKTtcbmV4cG9ydCBjb25zdCBEQVRBQ09SRV9DT05URVhUID0gY3JlYXRlQ29udGV4dDxEYXRhY29yZT4odW5kZWZpbmVkISk7XG5leHBvcnQgY29uc3QgU0VUVElOR1NfQ09OVEVYVCA9IGNyZWF0ZUNvbnRleHQ8U2V0dGluZ3M+KHVuZGVmaW5lZCEpO1xuZXhwb3J0IGNvbnN0IENVUlJFTlRfRklMRV9DT05URVhUID0gY3JlYXRlQ29udGV4dDxzdHJpbmc+KFwiXCIpO1xuXG4vKiogTW9yZSBjb21wYWN0IHByb3ZpZGVyIGZvciBhbGwgb2YgdGhlIGRhdGFjb3JlIHJlYWN0IGNvbnRleHRzLlxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERhdGFjb3JlQ29udGV4dFByb3ZpZGVyKHtcbiAgICBjaGlsZHJlbixcbiAgICBhcHAsXG4gICAgY29tcG9uZW50LFxuICAgIGRhdGFjb3JlLFxuICAgIHNldHRpbmdzLFxufTogUHJvcHNXaXRoQ2hpbGRyZW48e1xuICAgIGFwcDogQXBwO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50O1xuICAgIGRhdGFjb3JlOiBEYXRhY29yZTtcbiAgICBzZXR0aW5nczogU2V0dGluZ3M7XG59Pikge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxDT01QT05FTlRfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17Y29tcG9uZW50fT5cbiAgICAgICAgICAgIDxBUFBfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17YXBwfT5cbiAgICAgICAgICAgICAgICA8REFUQUNPUkVfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17ZGF0YWNvcmV9PlxuICAgICAgICAgICAgICAgICAgICA8U0VUVElOR1NfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17c2V0dGluZ3N9PntjaGlsZHJlbn08L1NFVFRJTkdTX0NPTlRFWFQuUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9EQVRBQ09SRV9DT05URVhULlByb3ZpZGVyPlxuICAgICAgICAgICAgPC9BUFBfQ09OVEVYVC5Qcm92aWRlcj5cbiAgICAgICAgPC9DT01QT05FTlRfQ09OVEVYVC5Qcm92aWRlcj5cbiAgICApO1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJhd0xpbmsoeyBsaW5rLCBzb3VyY2VQYXRoOiBtYXliZVNvdXJjZVBhdGggfTogeyBsaW5rOiBMaW5rIHwgc3RyaW5nOyBzb3VyY2VQYXRoPzogc3RyaW5nIH0pIHtcbiAgICBjb25zdCB3b3Jrc3BhY2UgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKT8ud29ya3NwYWNlO1xuICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gdXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgY29uc3Qgc291cmNlUGF0aCA9IG1heWJlU291cmNlUGF0aCA/PyBjdXJyZW50UGF0aCA/PyBcIlwiO1xuICAgIGNvbnN0IHBhcnNlZCA9IHVzZU1lbW8oKCkgPT4gKExpdGVyYWxzLmlzTGluayhsaW5rKSA/IGxpbmsgOiBMaW5rLmluZmVyKGxpbmspKSwgW2xpbmtdKTtcblxuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXd0YWIgPSBldmVudC5zaGlmdEtleTtcbiAgICAgICAgICAgIHdvcmtzcGFjZT8ub3BlbkxpbmtUZXh0KHBhcnNlZC5vYnNpZGlhbkxpbmsoKSwgc291cmNlUGF0aCwgbmV3dGFiKTtcbiAgICAgICAgfSxcbiAgICAgICAgW3BhcnNlZCwgc291cmNlUGF0aF1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGFcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3BhcnNlZC5kaXNwbGF5T3JEZWZhdWx0KCl9XG4gICAgICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW50ZXJuYWwtbGlua1wiXG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIlxuICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgIGRhdGEtaHJlZj17cGFyc2VkLm9ic2lkaWFuTGluaygpfVxuICAgICAgICA+XG4gICAgICAgICAgICB7cGFyc2VkLmRpc3BsYXlPckRlZmF1bHQoKX1cbiAgICAgICAgPC9hPlxuICAgICk7XG59XG5cbi8qKlxuICogQ29waWVzIGhvdyBhbiBPYnNpZGlhbiBsaW5rIGlzIHJlbmRlcmVkIGJ1dCBpcyBhYm91dCBhbiBvcmRlciBvZiBtYWduaXR1ZGUgZmFzdGVyIHRvIHJlbmRlciB0aGFuIHZpYSBtYXJrZG93biByZW5kZXJpbmcuICovXG5leHBvcnQgY29uc3QgT2JzaWRpYW5MaW5rID0gbWVtbyhSYXdMaW5rKTtcblxuLyoqQGhpZGRlbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJhd01hcmtkb3duKHtcbiAgICBjb250ZW50LFxuICAgIHNvdXJjZVBhdGg6IG1heWJlU291cmNlUGF0aCxcbiAgICBpbmxpbmUgPSB0cnVlLFxuICAgIHN0eWxlLFxuICAgIGNscyxcbiAgICBvbkNsaWNrLFxufToge1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICAgIGlubGluZT86IGJvb2xlYW47XG4gICAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xuICAgIGNscz86IHN0cmluZztcbiAgICBvbkNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiBhbnk7XG59KSB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdXNlUmVmPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdXNlQ29udGV4dChDT01QT05FTlRfQ09OVEVYVCk7XG4gICAgY29uc3QgZGVmYXVsdFBhdGggPSB1c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcblxuICAgIGNvbnN0IHNvdXJjZVBhdGggPSBtYXliZVNvdXJjZVBhdGggPz8gZGVmYXVsdFBhdGg7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWNvbnRhaW5lci5jdXJyZW50KSByZXR1cm47XG5cbiAgICAgICAgY29udGFpbmVyLmN1cnJlbnQuaW5uZXJIVE1MID0gXCJcIjtcbiAgICAgICAgTWFya2Rvd25SZW5kZXJlci5yZW5kZXIoYXBwLCBjb250ZW50LCBjb250YWluZXIuY3VycmVudCwgc291cmNlUGF0aCwgY29tcG9uZW50KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghY29udGFpbmVyLmN1cnJlbnQgfHwgIWlubGluZSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAvLyBVbndyYXAgYW55IGNyZWF0ZWQgcGFyYWdyYXBoIGVsZW1lbnRzIGlmIHdlIGFyZSBpbmxpbmUuXG4gICAgICAgICAgICBsZXQgcGFyYWdyYXBoID0gY29udGFpbmVyLmN1cnJlbnQucXVlcnlTZWxlY3RvcihcInBcIik7XG4gICAgICAgICAgICB3aGlsZSAocGFyYWdyYXBoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGNoaWxkcmVuID0gcGFyYWdyYXBoLmNoaWxkTm9kZXM7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoLnJlcGxhY2VXaXRoKC4uLkFycmF5LmZyb20oY2hpbGRyZW4pKTtcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGggPSBjb250YWluZXIuY3VycmVudC5xdWVyeVNlbGVjdG9yKFwicFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaGF2ZSBlbWJlZHMgYWN0dWFsbHkgbG9hZCBpbnN0ZWFkIG9mIGRpc3BsYXlpbmcgYXMgcGxhaW4gdGV4dC5cbiAgICAgICAgICAgIGxldCBlbWJlZCA9IGNvbnRhaW5lci5jdXJyZW50LnF1ZXJ5U2VsZWN0b3IoXCJzcGFuLmludGVybmFsLWVtYmVkOm5vdCguaXMtbG9hZGVkKVwiKTtcbiAgICAgICAgICAgIHdoaWxlIChlbWJlZCkge1xuICAgICAgICAgICAgICAgIGVtYmVkLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgcmVuZGVyKFxuICAgICAgICAgICAgICAgICAgICA8QVBQX0NPTlRFWFQuUHJvdmlkZXIgdmFsdWU9e2FwcH0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rPXtMaW5rLnBhcnNlSW5uZXIoZW1iZWQuZ2V0QXR0cmlidXRlKFwic3JjXCIpID8/IFwiXCIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9BUFBfQ09OVEVYVC5Qcm92aWRlcj4sXG4gICAgICAgICAgICAgICAgICAgIGVtYmVkXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBlbWJlZC5hZGRDbGFzcyhcImlzLWxvYWRlZFwiKTtcbiAgICAgICAgICAgICAgICBlbWJlZCA9IGNvbnRhaW5lci5jdXJyZW50LnF1ZXJ5U2VsZWN0b3IoXCJzcGFuLmludGVybmFsLWVtYmVkOm5vdCguaXMtbG9hZGVkKVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSwgW2NvbnRlbnQsIHNvdXJjZVBhdGgsIGlubGluZSwgY29udGFpbmVyLmN1cnJlbnRdKTtcblxuICAgIHJldHVybiA8c3BhbiByZWY9e2NvbnRhaW5lcn0gc3R5bGU9e3N0eWxlfSBjbGFzc05hbWU9e2Nsc30gb25DbGljaz17b25DbGlja30+PC9zcGFuPjtcbn1cblxuLyoqXG4gKiBIYWNreSBwcmVhY3QgY29tcG9uZW50IHdoaWNoIHdyYXBzIE9ic2lkaWFuJ3MgbWFya2Rvd24gcmVuZGVyZXIgaW50byBhIG5lYXQgY29tcG9uZW50LiAqL1xuZXhwb3J0IGNvbnN0IE1hcmtkb3duID0gbWVtbyhSYXdNYXJrZG93bik7XG5cbi8qKlxuICogQGhpZGRlblxuICogIEludGVsbGlnZW50bHkgcmVuZGVyIGFuIGFyYml0cmFyeSBsaXRlcmFsIHZhbHVlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJhd0xpdCh7XG4gICAgdmFsdWUsXG4gICAgc291cmNlUGF0aDogbWF5YmVTb3VyY2VQYXRoLFxuICAgIGlubGluZSA9IGZhbHNlLFxuICAgIGRlcHRoID0gMCxcbn06IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgICB2YWx1ZTogTGl0ZXJhbCB8IHVuZGVmaW5lZDtcbiAgICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICAgIGlubGluZT86IGJvb2xlYW47XG4gICAgZGVwdGg/OiBudW1iZXI7XG59Pikge1xuICAgIGNvbnN0IHNldHRpbmdzID0gdXNlQ29udGV4dChTRVRUSU5HU19DT05URVhUKTtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcbiAgICBjb25zdCBkZWZhdWx0UGF0aCA9IHVzZUNvbnRleHQoQ1VSUkVOVF9GSUxFX0NPTlRFWFQpO1xuXG4gICAgY29uc3Qgc291cmNlUGF0aCA9IG1heWJlU291cmNlUGF0aCA/PyBkZWZhdWx0UGF0aDtcblxuICAgIC8vIFNob3J0LWNpcmN1aXQgaWYgYmV5b25kIHRoZSBtYXhpbXVtIHJlbmRlciBkZXB0aC5cbiAgICBpZiAoZGVwdGggPj0gc2V0dGluZ3MubWF4UmVjdXJzaXZlUmVuZGVyRGVwdGgpIHJldHVybiA8RnJhZ21lbnQ+Li4uPC9GcmFnbWVudD47XG5cbiAgICBpZiAoTGl0ZXJhbHMuaXNOdWxsKHZhbHVlKSB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiA8TWFya2Rvd24gaW5saW5lPXtpbmxpbmV9IGNvbnRlbnQ9e3NldHRpbmdzLnJlbmRlck51bGxBc30gc291cmNlUGF0aD17c291cmNlUGF0aH0gLz47XG4gICAgfSBlbHNlIGlmIChMaXRlcmFscy5pc1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIDxNYXJrZG93biBpbmxpbmU9e2lubGluZX0gY29udGVudD17dmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IC8+O1xuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiA8RnJhZ21lbnQ+e1wiXCIgKyB2YWx1ZX08L0ZyYWdtZW50PjtcbiAgICB9IGVsc2UgaWYgKExpdGVyYWxzLmlzQm9vbGVhbih2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIDxGcmFnbWVudD57XCJcIiArIHZhbHVlfTwvRnJhZ21lbnQ+O1xuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNEYXRlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgIHtyZW5kZXJNaW5pbWFsRGF0ZSh2YWx1ZSwgc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQsIHNldHRpbmdzLmRlZmF1bHREYXRlVGltZUZvcm1hdCwgY3VycmVudExvY2FsZSgpKX1cbiAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICk7XG4gICAgfSBlbHNlIGlmIChMaXRlcmFscy5pc0R1cmF0aW9uKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gPEZyYWdtZW50PntyZW5kZXJNaW5pbWFsRHVyYXRpb24odmFsdWUpfTwvRnJhZ21lbnQ+O1xuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNMaW5rKHZhbHVlKSkge1xuICAgICAgICAvLyBTcGVjaWFsIGNhc2UgaGFuZGxpbmcgb2YgaW1hZ2UvdmlkZW8vZXRjIGVtYmVkZGluZ3MgdG8gYnlwYXNzIHRoZSBPYnNpZGlhbiBBUEkgbm90IHdvcmtpbmcuXG4gICAgICAgIGlmIChpc0ltYWdlRW1iZWQodmFsdWUpKSB7XG4gICAgICAgICAgICBsZXQgcmVhbEZpbGUgPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdCh2YWx1ZS5wYXRoLCBzb3VyY2VQYXRoKTtcbiAgICAgICAgICAgIGlmICghcmVhbEZpbGUpIHJldHVybiA8TWFya2Rvd24gY29udGVudD17dmFsdWUubWFya2Rvd24oKX0gc291cmNlUGF0aD17c291cmNlUGF0aH0gLz47XG5cbiAgICAgICAgICAgIGxldCBkaW1lbnNpb25zID0gZXh0cmFjdEltYWdlRGltZW5zaW9ucyh2YWx1ZSk7XG4gICAgICAgICAgICBsZXQgcmVzb3VyY2VQYXRoID0gYXBwLnZhdWx0LmdldFJlc291cmNlUGF0aChyZWFsRmlsZSk7XG5cbiAgICAgICAgICAgIGlmIChkaW1lbnNpb25zICYmIGRpbWVuc2lvbnMubGVuZ3RoID09IDIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIDxpbWcgYWx0PXt2YWx1ZS5wYXRofSBzcmM9e3Jlc291cmNlUGF0aH0gd2lkdGg9e2RpbWVuc2lvbnNbMF19IGhlaWdodD17ZGltZW5zaW9uc1sxXX0gLz47XG4gICAgICAgICAgICBlbHNlIGlmIChkaW1lbnNpb25zICYmIGRpbWVuc2lvbnMubGVuZ3RoID09IDEpXG4gICAgICAgICAgICAgICAgcmV0dXJuIDxpbWcgYWx0PXt2YWx1ZS5wYXRofSBzcmM9e3Jlc291cmNlUGF0aH0gd2lkdGg9e2RpbWVuc2lvbnNbMF19IC8+O1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gPGltZyBhbHQ9e3ZhbHVlLnBhdGh9IHNyYz17cmVzb3VyY2VQYXRofSAvPjtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5lbWJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIDxFbWJlZCBsaW5rPXt2YWx1ZX0gc291cmNlUGF0aD17c291cmNlUGF0aH0gaW5saW5lPXtpbmxpbmV9IC8+O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDxPYnNpZGlhbkxpbmsgbGluaz17dmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IC8+O1xuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNGdW5jdGlvbih2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIDxGcmFnbWVudD4mbHQ7ZnVuY3Rpb24mZ3Q7PC9GcmFnbWVudD47XG4gICAgfSBlbHNlIGlmIChMaXRlcmFscy5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBpZiAoIWlubGluZSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtcImRhdGF2aWV3IGRhdGF2aWV3LXVsIGRhdGF2aWV3LXJlc3VsdC1saXN0LXVsXCJ9PlxuICAgICAgICAgICAgICAgICAgICB7dmFsdWUubWFwKChzdWJ2YWx1ZSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImRhdGF2aWV3LXJlc3VsdC1saXN0LWxpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpdCB2YWx1ZT17c3VidmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17aW5saW5lfSBkZXB0aD17ZGVwdGggKyAxfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09IDApIHJldHVybiA8RnJhZ21lbnQ+Jmx0O0VtcHR5IExpc3QmZ3Q7PC9GcmFnbWVudD47XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGF0YXZpZXcgZGF0YXZpZXctcmVzdWx0LWxpc3Qtc3BhblwiPlxuICAgICAgICAgICAgICAgICAgICB7dmFsdWUubWFwKChzdWJ2YWx1ZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5kZXggPT0gMCA/IFwiXCIgOiBcIiwgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpdCB2YWx1ZT17c3VidmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17aW5saW5lfSBkZXB0aD17ZGVwdGggKyAxfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoTGl0ZXJhbHMuaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIC8vIERvbid0IHJlbmRlciBjbGFzc2VzIGluIGNhc2UgdGhleSBoYXZlIHJlY3Vyc2l2ZSByZWZlcmVuY2VzOyBzcG9vcHkuXG4gICAgICAgIGlmICh2YWx1ZT8uY29uc3RydWN0b3I/Lm5hbWUgJiYgdmFsdWU/LmNvbnN0cnVjdG9yPy5uYW1lICE9IFwiT2JqZWN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiA8RnJhZ21lbnQ+Jmx0O3t2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lfSZndDs8L0ZyYWdtZW50PjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaW5saW5lKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJkYXRhdmlldyBkYXRhdmlldy11bCBkYXRhdmlldy1yZXN1bHQtb2JqZWN0LXVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtPYmplY3QuZW50cmllcyh2YWx1ZSkubWFwKChba2V5LCB2YWx1ZV0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJkYXRhdmlldyBkYXRhdmlldy1saSBkYXRhdmlldy1yZXN1bHQtb2JqZWN0LWxpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2tleX06IDxMaXQgdmFsdWU9e3ZhbHVlfSBzb3VyY2VQYXRoPXtzb3VyY2VQYXRofSBpbmxpbmU9e2lubGluZX0gZGVwdGg9e2RlcHRoICsgMX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT0gMCkgcmV0dXJuIDxGcmFnbWVudD4mbHQ7RW1wdHkgT2JqZWN0Jmd0OzwvRnJhZ21lbnQ+O1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRhdGF2aWV3IGRhdGF2aWV3LXJlc3VsdC1vYmplY3Qtc3BhblwiPlxuICAgICAgICAgICAgICAgICAgICB7T2JqZWN0LmVudHJpZXModmFsdWUpLm1hcCgoW2tleSwgdmFsdWVdLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbmRleCA9PSAwID8gXCJcIiA6IFwiLCBcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7a2V5fTogPExpdCB2YWx1ZT17dmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17aW5saW5lfSBkZXB0aD17ZGVwdGggKyAxfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiA8RnJhZ21lbnQ+Jmx0O1VucmVjb2duaXplZDoge0pTT04uc3RyaW5naWZ5KHZhbHVlKX0mZ3Q7PC9GcmFnbWVudD47XG59XG5cbi8qKlxuICogQGhpZGRlblxuICogSW50ZWxsaWdlbnRseSByZW5kZXIgYW4gYXJiaXRyYXJ5IGxpdGVyYWwgdmFsdWUuICovXG5leHBvcnQgY29uc3QgTGl0ID0gbWVtbyhSYXdMaXQpO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqIFJlbmRlciBhIHByZXR0eSBjZW50ZXJlZCBlcnJvciBtZXNzYWdlIGluIGEgYm94LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEVycm9yTWVzc2FnZSh7XG4gICAgdGl0bGUsXG4gICAgbWVzc2FnZSxcbiAgICBlcnJvcixcbiAgICByZXNldCxcbn06IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIGVycm9yPzogc3RyaW5nO1xuICAgIHJlc2V0PzogKCkgPT4gdm9pZDtcbn0pIHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWVycm9yLWJveFwiPlxuICAgICAgICAgICAge3RpdGxlICYmIDxoNCBjbGFzc05hbWU9XCJkYXRhY29yZS1lcnJvci10aXRsZVwiPnt0aXRsZX08L2g0Pn1cbiAgICAgICAgICAgIHttZXNzYWdlICYmIDxwIGNsYXNzTmFtZT1cImRhdGFjb3JlLWVycm9yLW1lc3NhZ2VcIj57bWVzc2FnZX08L3A+fVxuICAgICAgICAgICAge2Vycm9yICYmIDxwcmUgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZXJyb3ItcHJlXCI+e2Vycm9yfTwvcHJlPn1cbiAgICAgICAgICAgIHtyZXNldCAmJiAoXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJkYXRhY29yZS1lcnJvci1yZXRyeVwiIG9uQ2xpY2s9e3Jlc2V0fT5cbiAgICAgICAgICAgICAgICAgICAgUmVydW5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG5cbi8qKiBBIHNpbXBsZSBlcnJvciBib3VuZGFyeSB3aGljaCByZW5kZXJzIGEgbWVzc2FnZSBvbiBmYWlsdXJlLlxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpbXBsZUVycm9yQm91bmRhcnkoe1xuICAgIHRpdGxlLFxuICAgIG1lc3NhZ2UsXG4gICAgY2hpbGRyZW4sXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7IHRpdGxlPzogc3RyaW5nOyBtZXNzYWdlPzogc3RyaW5nIH0+KSB7XG4gICAgY29uc3QgW2Vycm9yLCByZXNldF0gPSB1c2VFcnJvckJvdW5kYXJ5KCk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIDxFcnJvck1lc3NhZ2UgdGl0bGU9e3RpdGxlfSBtZXNzYWdlPXttZXNzYWdlfSBlcnJvcj17ZXJyb3Iuc3RhY2t9IHJlc2V0PXtyZXNldH0gLz47XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDxGcmFnbWVudD57Y2hpbGRyZW59PC9GcmFnbWVudD47XG4gICAgfVxufVxuIiwgImltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5cbmV4cG9ydCBjb25zdCBJTUFHRV9FWFRFTlNJT05TID0gT2JqZWN0LmZyZWV6ZShcbiAgICBuZXcgU2V0KFtcbiAgICAgICAgXCIudGlmXCIsXG4gICAgICAgIFwiLnRpZmZcIixcbiAgICAgICAgXCIuZ2lmXCIsXG4gICAgICAgIFwiLnBuZ1wiLFxuICAgICAgICBcIi5hcG5nXCIsXG4gICAgICAgIFwiLmF2aWZcIixcbiAgICAgICAgXCIuanBnXCIsXG4gICAgICAgIFwiLmpwZWdcIixcbiAgICAgICAgXCIuamZpZlwiLFxuICAgICAgICBcIi5wamVwZ1wiLFxuICAgICAgICBcIi5wanBcIixcbiAgICAgICAgXCIuc3ZnXCIsXG4gICAgICAgIFwiLndlYnBcIixcbiAgICAgICAgXCIuYm1wXCIsXG4gICAgICAgIFwiLmljb1wiLFxuICAgICAgICBcIi5jdXJcIixcbiAgICBdKVxuKTtcblxuLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGxpbmsgcG9pbnRzIHRvIGFuIGVtYmVkZGVkIGltYWdlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSW1hZ2VFbWJlZChsaW5rOiBMaW5rKTogYm9vbGVhbiB7XG4gICAgaWYgKCFsaW5rLnBhdGguY29udGFpbnMoXCIuXCIpKSByZXR1cm4gZmFsc2U7XG5cbiAgICBsZXQgZXh0ZW5zaW9uID0gbGluay5wYXRoLnN1YnN0cmluZyhsaW5rLnBhdGgubGFzdEluZGV4T2YoXCIuXCIpKTtcbiAgICByZXR1cm4gbGluay50eXBlID09IFwiZmlsZVwiICYmIGxpbmsuZW1iZWQgJiYgSU1BR0VfRVhURU5TSU9OUy5oYXMoZXh0ZW5zaW9uKTtcbn1cblxuLyoqIEV4dHJhY3QgdGV4dCBvZiB0aGUgZm9ybSAnV3hIJyBvciAnVycgZnJvbSB0aGUgZGlzcGxheSBvZiBhIGxpbmsuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEltYWdlRGltZW5zaW9ucyhsaW5rOiBMaW5rKTogW251bWJlciwgbnVtYmVyXSB8IFtudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWxpbmsuZGlzcGxheSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGxldCBtYXRjaCA9IC9eKFxcZCspeChcXGQrKSQvaXUuZXhlYyhsaW5rLmRpc3BsYXkpO1xuICAgIGlmIChtYXRjaCkgcmV0dXJuIFtwYXJzZUludChtYXRjaFsxXSksIHBhcnNlSW50KG1hdGNoWzJdKV07XG5cbiAgICBsZXQgbWF0Y2gyID0gL14oXFxkKykvLmV4ZWMobGluay5kaXNwbGF5KTtcbiAgICBpZiAobWF0Y2gyKSByZXR1cm4gW3BhcnNlSW50KG1hdGNoMlsxXSldO1xuXG4gICAgLy8gTm8gbWF0Y2guXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiIsICIvKiogTm9ybWFsIGh5ZHJhdGlvbiB0aGF0IGF0dGFjaGVzIHRvIGEgRE9NIHRyZWUgYnV0IGRvZXMgbm90IGRpZmYgaXQuICovXG5leHBvcnQgY29uc3QgTU9ERV9IWURSQVRFID0gMSA8PCA1O1xuLyoqIFNpZ25pZmllcyB0aGlzIFZOb2RlIHN1c3BlbmRlZCBvbiB0aGUgcHJldmlvdXMgcmVuZGVyICovXG5leHBvcnQgY29uc3QgTU9ERV9TVVNQRU5ERUQgPSAxIDw8IDc7XG4vKiogSW5kaWNhdGVzIHRoYXQgdGhpcyBub2RlIG5lZWRzIHRvIGJlIGluc2VydGVkIHdoaWxlIHBhdGNoaW5nIGNoaWxkcmVuICovXG5leHBvcnQgY29uc3QgSU5TRVJUX1ZOT0RFID0gMSA8PCAxNjtcbi8qKiBJbmRpY2F0ZXMgYSBWTm9kZSBoYXMgYmVlbiBtYXRjaGVkIHdpdGggYW5vdGhlciBWTm9kZSBpbiB0aGUgZGlmZiAqL1xuZXhwb3J0IGNvbnN0IE1BVENIRUQgPSAxIDw8IDE3O1xuXG4vKiogUmVzZXQgYWxsIG1vZGUgZmxhZ3MgKi9cbmV4cG9ydCBjb25zdCBSRVNFVF9NT0RFID0gfihNT0RFX0hZRFJBVEUgfCBNT0RFX1NVU1BFTkRFRCk7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9PQkogPSAvKiogQHR5cGUge2FueX0gKi8gKHt9KTtcbmV4cG9ydCBjb25zdCBFTVBUWV9BUlIgPSBbXTtcbmV4cG9ydCBjb25zdCBJU19OT05fRElNRU5TSU9OQUwgPVxuXHQvYWNpdHxleCg/OnN8Z3xufHB8JCl8cnBofGdyaWR8b3dzfG1uY3xudHd8aW5lW2NoXXx6b298Xm9yZHxpdGVyYS9pO1xuIiwgImltcG9ydCB7IEVNUFRZX0FSUiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuXG4vKipcbiAqIEFzc2lnbiBwcm9wZXJ0aWVzIGZyb20gYHByb3BzYCB0byBgb2JqYFxuICogQHRlbXBsYXRlIE8sIFAgVGhlIG9iaiBhbmQgcHJvcHMgdHlwZXNcbiAqIEBwYXJhbSB7T30gb2JqIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIHRvXG4gKiBAcGFyYW0ge1B9IHByb3BzIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb21cbiAqIEByZXR1cm5zIHtPICYgUH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbihvYmosIHByb3BzKSB7XG5cdC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2hhbmdlIHRoZSB0eXBlIG9mIGBvYmpgIHRvIGJlIGBPICYgUGBcblx0Zm9yIChsZXQgaSBpbiBwcm9wcykgb2JqW2ldID0gcHJvcHNbaV07XG5cdHJldHVybiAvKiogQHR5cGUge08gJiBQfSAqLyAob2JqKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYSBjaGlsZCBub2RlIGZyb20gaXRzIHBhcmVudCBpZiBhdHRhY2hlZC4gVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yXG4gKiBJRTExIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBgRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlKClgLiBVc2luZyB0aGlzIGZ1bmN0aW9uXG4gKiBpcyBzbWFsbGVyIHRoYW4gaW5jbHVkaW5nIGEgZGVkaWNhdGVkIHBvbHlmaWxsLlxuICogQHBhcmFtIHtwcmVhY3QuQ29udGFpbmVyTm9kZX0gbm9kZSBUaGUgbm9kZSB0byByZW1vdmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGUobm9kZSkge1xuXHRpZiAobm9kZSAmJiBub2RlLnBhcmVudE5vZGUpIG5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChub2RlKTtcbn1cblxuZXhwb3J0IGNvbnN0IHNsaWNlID0gRU1QVFlfQVJSLnNsaWNlO1xuIiwgImltcG9ydCB7IF9jYXRjaEVycm9yIH0gZnJvbSAnLi9kaWZmL2NhdGNoLWVycm9yJztcblxuLyoqXG4gKiBUaGUgYG9wdGlvbmAgb2JqZWN0IGNhbiBwb3RlbnRpYWxseSBjb250YWluIGNhbGxiYWNrIGZ1bmN0aW9uc1xuICogdGhhdCBhcmUgY2FsbGVkIGR1cmluZyB2YXJpb3VzIHN0YWdlcyBvZiBvdXIgcmVuZGVyZXIuIFRoaXMgaXMgdGhlXG4gKiBmb3VuZGF0aW9uIG9uIHdoaWNoIGFsbCBvdXIgYWRkb25zIGxpa2UgYHByZWFjdC9kZWJ1Z2AsIGBwcmVhY3QvY29tcGF0YCxcbiAqIGFuZCBgcHJlYWN0L2hvb2tzYCBhcmUgYmFzZWQgb24uIFNlZSB0aGUgYE9wdGlvbnNgIHR5cGUgaW4gYGludGVybmFsLmQudHNgXG4gKiBmb3IgYSBmdWxsIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbiBob29rcyAobW9zdCBlZGl0b3JzL0lERXMgYWxsb3cgeW91IHRvXG4gKiBjdHJsK2NsaWNrIG9yIGNtZCtjbGljayBvbiBtYWMgdGhlIHR5cGUgZGVmaW5pdGlvbiBiZWxvdykuXG4gKiBAdHlwZSB7T3B0aW9uc31cbiAqL1xuY29uc3Qgb3B0aW9ucyA9IHtcblx0X2NhdGNoRXJyb3Jcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG9wdGlvbnM7XG4iLCAiaW1wb3J0IHsgc2xpY2UgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IG9wdGlvbnMgZnJvbSAnLi9vcHRpb25zJztcblxubGV0IHZub2RlSWQgPSAwO1xuXG4vKipcbiAqIENyZWF0ZSBhbiB2aXJ0dWFsIG5vZGUgKHVzZWQgZm9yIEpTWClcbiAqIEBwYXJhbSB7Vk5vZGVbXCJ0eXBlXCJdfSB0eXBlIFRoZSBub2RlIG5hbWUgb3IgQ29tcG9uZW50IGNvbnN0cnVjdG9yIGZvciB0aGlzXG4gKiB2aXJ0dWFsIG5vZGVcbiAqIEBwYXJhbSB7b2JqZWN0IHwgbnVsbCB8IHVuZGVmaW5lZH0gW3Byb3BzXSBUaGUgcHJvcGVydGllcyBvZiB0aGUgdmlydHVhbCBub2RlXG4gKiBAcGFyYW0ge0FycmF5PGltcG9ydCgnLicpLkNvbXBvbmVudENoaWxkcmVuPn0gW2NoaWxkcmVuXSBUaGUgY2hpbGRyZW4gb2YgdGhlXG4gKiB2aXJ0dWFsIG5vZGVcbiAqIEByZXR1cm5zIHtWTm9kZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG5cdGxldCBub3JtYWxpemVkUHJvcHMgPSB7fSxcblx0XHRrZXksXG5cdFx0cmVmLFxuXHRcdGk7XG5cdGZvciAoaSBpbiBwcm9wcykge1xuXHRcdGlmIChpID09ICdrZXknKSBrZXkgPSBwcm9wc1tpXTtcblx0XHRlbHNlIGlmIChpID09ICdyZWYnKSByZWYgPSBwcm9wc1tpXTtcblx0XHRlbHNlIG5vcm1hbGl6ZWRQcm9wc1tpXSA9IHByb3BzW2ldO1xuXHR9XG5cblx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAyKSB7XG5cdFx0bm9ybWFsaXplZFByb3BzLmNoaWxkcmVuID1cblx0XHRcdGFyZ3VtZW50cy5sZW5ndGggPiAzID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpIDogY2hpbGRyZW47XG5cdH1cblxuXHQvLyBJZiBhIENvbXBvbmVudCBWTm9kZSwgY2hlY2sgZm9yIGFuZCBhcHBseSBkZWZhdWx0UHJvcHNcblx0Ly8gTm90ZTogdHlwZSBtYXkgYmUgdW5kZWZpbmVkIGluIGRldmVsb3BtZW50LCBtdXN0IG5ldmVyIGVycm9yIGhlcmUuXG5cdGlmICh0eXBlb2YgdHlwZSA9PSAnZnVuY3Rpb24nICYmIHR5cGUuZGVmYXVsdFByb3BzICE9IG51bGwpIHtcblx0XHRmb3IgKGkgaW4gdHlwZS5kZWZhdWx0UHJvcHMpIHtcblx0XHRcdGlmIChub3JtYWxpemVkUHJvcHNbaV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRub3JtYWxpemVkUHJvcHNbaV0gPSB0eXBlLmRlZmF1bHRQcm9wc1tpXTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gY3JlYXRlVk5vZGUodHlwZSwgbm9ybWFsaXplZFByb3BzLCBrZXksIHJlZiwgbnVsbCk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgVk5vZGUgKHVzZWQgaW50ZXJuYWxseSBieSBQcmVhY3QpXG4gKiBAcGFyYW0ge1ZOb2RlW1widHlwZVwiXX0gdHlwZSBUaGUgbm9kZSBuYW1lIG9yIENvbXBvbmVudFxuICogQ29uc3RydWN0b3IgZm9yIHRoaXMgdmlydHVhbCBub2RlXG4gKiBAcGFyYW0ge29iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IG51bGx9IHByb3BzIFRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgdmlydHVhbCBub2RlLlxuICogSWYgdGhpcyB2aXJ0dWFsIG5vZGUgcmVwcmVzZW50cyBhIHRleHQgbm9kZSwgdGhpcyBpcyB0aGUgdGV4dCBvZiB0aGUgbm9kZSAoc3RyaW5nIG9yIG51bWJlcikuXG4gKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlciB8IG51bGx9IGtleSBUaGUga2V5IGZvciB0aGlzIHZpcnR1YWwgbm9kZSwgdXNlZCB3aGVuXG4gKiBkaWZmaW5nIGl0IGFnYWluc3QgaXRzIGNoaWxkcmVuXG4gKiBAcGFyYW0ge1ZOb2RlW1wicmVmXCJdfSByZWYgVGhlIHJlZiBwcm9wZXJ0eSB0aGF0IHdpbGxcbiAqIHJlY2VpdmUgYSByZWZlcmVuY2UgdG8gaXRzIGNyZWF0ZWQgY2hpbGRcbiAqIEByZXR1cm5zIHtWTm9kZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVZOb2RlKHR5cGUsIHByb3BzLCBrZXksIHJlZiwgb3JpZ2luYWwpIHtcblx0Ly8gVjggc2VlbXMgdG8gYmUgYmV0dGVyIGF0IGRldGVjdGluZyB0eXBlIHNoYXBlcyBpZiB0aGUgb2JqZWN0IGlzIGFsbG9jYXRlZCBmcm9tIHRoZSBzYW1lIGNhbGwgc2l0ZVxuXHQvLyBEbyBub3QgaW5saW5lIGludG8gY3JlYXRlRWxlbWVudCBhbmQgY29lcmNlVG9WTm9kZSFcblx0LyoqIEB0eXBlIHtWTm9kZX0gKi9cblx0Y29uc3Qgdm5vZGUgPSB7XG5cdFx0dHlwZSxcblx0XHRwcm9wcyxcblx0XHRrZXksXG5cdFx0cmVmLFxuXHRcdF9jaGlsZHJlbjogbnVsbCxcblx0XHRfcGFyZW50OiBudWxsLFxuXHRcdF9kZXB0aDogMCxcblx0XHRfZG9tOiBudWxsLFxuXHRcdC8vIF9uZXh0RG9tIG11c3QgYmUgaW5pdGlhbGl6ZWQgdG8gdW5kZWZpbmVkIGIvYyBpdCB3aWxsIGV2ZW50dWFsbHlcblx0XHQvLyBiZSBzZXQgdG8gZG9tLm5leHRTaWJsaW5nIHdoaWNoIGNhbiByZXR1cm4gYG51bGxgIGFuZCBpdCBpcyBpbXBvcnRhbnRcblx0XHQvLyB0byBiZSBhYmxlIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gYW4gdW5pbml0aWFsaXplZCBfbmV4dERvbSBhbmRcblx0XHQvLyBhIF9uZXh0RG9tIHRoYXQgaGFzIGJlZW4gc2V0IHRvIGBudWxsYFxuXHRcdF9uZXh0RG9tOiB1bmRlZmluZWQsXG5cdFx0X2NvbXBvbmVudDogbnVsbCxcblx0XHRjb25zdHJ1Y3RvcjogdW5kZWZpbmVkLFxuXHRcdF9vcmlnaW5hbDogb3JpZ2luYWwgPT0gbnVsbCA/ICsrdm5vZGVJZCA6IG9yaWdpbmFsLFxuXHRcdF9pbmRleDogLTEsXG5cdFx0X2ZsYWdzOiAwXG5cdH07XG5cblx0Ly8gT25seSBpbnZva2UgdGhlIHZub2RlIGhvb2sgaWYgdGhpcyB3YXMgKm5vdCogYSBkaXJlY3QgY29weTpcblx0aWYgKG9yaWdpbmFsID09IG51bGwgJiYgb3B0aW9ucy52bm9kZSAhPSBudWxsKSBvcHRpb25zLnZub2RlKHZub2RlKTtcblxuXHRyZXR1cm4gdm5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWYoKSB7XG5cdHJldHVybiB7IGN1cnJlbnQ6IG51bGwgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZyYWdtZW50KHByb3BzKSB7XG5cdHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIHRoZSBhcmd1bWVudCBpcyBhIHZhbGlkIFByZWFjdCBWTm9kZS5cbiAqIEBwYXJhbSB7Kn0gdm5vZGVcbiAqIEByZXR1cm5zIHt2bm9kZSBpcyBWTm9kZX1cbiAqL1xuZXhwb3J0IGNvbnN0IGlzVmFsaWRFbGVtZW50ID0gdm5vZGUgPT5cblx0dm5vZGUgIT0gbnVsbCAmJiB2bm9kZS5jb25zdHJ1Y3RvciA9PSB1bmRlZmluZWQ7XG4iLCAiaW1wb3J0IHsgYXNzaWduIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IGRpZmYsIGNvbW1pdFJvb3QgfSBmcm9tICcuL2RpZmYvaW5kZXgnO1xuaW1wb3J0IG9wdGlvbnMgZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IEZyYWdtZW50IH0gZnJvbSAnLi9jcmVhdGUtZWxlbWVudCc7XG5pbXBvcnQgeyBNT0RFX0hZRFJBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8qKlxuICogQmFzZSBDb21wb25lbnQgY2xhc3MuIFByb3ZpZGVzIGBzZXRTdGF0ZSgpYCBhbmQgYGZvcmNlVXBkYXRlKClgLCB3aGljaFxuICogdHJpZ2dlciByZW5kZXJpbmdcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcyBUaGUgaW5pdGlhbCBjb21wb25lbnQgcHJvcHNcbiAqIEBwYXJhbSB7b2JqZWN0fSBjb250ZXh0IFRoZSBpbml0aWFsIGNvbnRleHQgZnJvbSBwYXJlbnQgY29tcG9uZW50cydcbiAqIGdldENoaWxkQ29udGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gQmFzZUNvbXBvbmVudChwcm9wcywgY29udGV4dCkge1xuXHR0aGlzLnByb3BzID0gcHJvcHM7XG5cdHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG59XG5cbi8qKlxuICogVXBkYXRlIGNvbXBvbmVudCBzdGF0ZSBhbmQgc2NoZWR1bGUgYSByZS1yZW5kZXIuXG4gKiBAdGhpcyB7Q29tcG9uZW50fVxuICogQHBhcmFtIHtvYmplY3QgfCAoKHM6IG9iamVjdCwgcDogb2JqZWN0KSA9PiBvYmplY3QpfSB1cGRhdGUgQSBoYXNoIG9mIHN0YXRlXG4gKiBwcm9wZXJ0aWVzIHRvIHVwZGF0ZSB3aXRoIG5ldyB2YWx1ZXMgb3IgYSBmdW5jdGlvbiB0aGF0IGdpdmVuIHRoZSBjdXJyZW50XG4gKiBzdGF0ZSBhbmQgcHJvcHMgcmV0dXJucyBhIG5ldyBwYXJ0aWFsIHN0YXRlXG4gKiBAcGFyYW0geygpID0+IHZvaWR9IFtjYWxsYmFja10gQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgb25jZSBjb21wb25lbnQgc3RhdGUgaXNcbiAqIHVwZGF0ZWRcbiAqL1xuQmFzZUNvbXBvbmVudC5wcm90b3R5cGUuc2V0U3RhdGUgPSBmdW5jdGlvbiAodXBkYXRlLCBjYWxsYmFjaykge1xuXHQvLyBvbmx5IGNsb25lIHN0YXRlIHdoZW4gY29weWluZyB0byBuZXh0U3RhdGUgdGhlIGZpcnN0IHRpbWUuXG5cdGxldCBzO1xuXHRpZiAodGhpcy5fbmV4dFN0YXRlICE9IG51bGwgJiYgdGhpcy5fbmV4dFN0YXRlICE9PSB0aGlzLnN0YXRlKSB7XG5cdFx0cyA9IHRoaXMuX25leHRTdGF0ZTtcblx0fSBlbHNlIHtcblx0XHRzID0gdGhpcy5fbmV4dFN0YXRlID0gYXNzaWduKHt9LCB0aGlzLnN0YXRlKTtcblx0fVxuXG5cdGlmICh0eXBlb2YgdXBkYXRlID09ICdmdW5jdGlvbicpIHtcblx0XHQvLyBTb21lIGxpYnJhcmllcyBsaWtlIGBpbW1lcmAgbWFyayB0aGUgY3VycmVudCBzdGF0ZSBhcyByZWFkb25seSxcblx0XHQvLyBwcmV2ZW50aW5nIHVzIGZyb20gbXV0YXRpbmcgaXQsIHNvIHdlIG5lZWQgdG8gY2xvbmUgaXQuIFNlZSAjMjcxNlxuXHRcdHVwZGF0ZSA9IHVwZGF0ZShhc3NpZ24oe30sIHMpLCB0aGlzLnByb3BzKTtcblx0fVxuXG5cdGlmICh1cGRhdGUpIHtcblx0XHRhc3NpZ24ocywgdXBkYXRlKTtcblx0fVxuXG5cdC8vIFNraXAgdXBkYXRlIGlmIHVwZGF0ZXIgZnVuY3Rpb24gcmV0dXJuZWQgbnVsbFxuXHRpZiAodXBkYXRlID09IG51bGwpIHJldHVybjtcblxuXHRpZiAodGhpcy5fdm5vZGUpIHtcblx0XHRpZiAoY2FsbGJhY2spIHtcblx0XHRcdHRoaXMuX3N0YXRlQ2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuXHRcdH1cblx0XHRlbnF1ZXVlUmVuZGVyKHRoaXMpO1xuXHR9XG59O1xuXG4vKipcbiAqIEltbWVkaWF0ZWx5IHBlcmZvcm0gYSBzeW5jaHJvbm91cyByZS1yZW5kZXIgb2YgdGhlIGNvbXBvbmVudFxuICogQHRoaXMge0NvbXBvbmVudH1cbiAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gW2NhbGxiYWNrXSBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhZnRlciBjb21wb25lbnQgaXNcbiAqIHJlLXJlbmRlcmVkXG4gKi9cbkJhc2VDb21wb25lbnQucHJvdG90eXBlLmZvcmNlVXBkYXRlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG5cdGlmICh0aGlzLl92bm9kZSkge1xuXHRcdC8vIFNldCByZW5kZXIgbW9kZSBzbyB0aGF0IHdlIGNhbiBkaWZmZXJlbnRpYXRlIHdoZXJlIHRoZSByZW5kZXIgcmVxdWVzdFxuXHRcdC8vIGlzIGNvbWluZyBmcm9tLiBXZSBuZWVkIHRoaXMgYmVjYXVzZSBmb3JjZVVwZGF0ZSBzaG91bGQgbmV2ZXIgY2FsbFxuXHRcdC8vIHNob3VsZENvbXBvbmVudFVwZGF0ZVxuXHRcdHRoaXMuX2ZvcmNlID0gdHJ1ZTtcblx0XHRpZiAoY2FsbGJhY2spIHRoaXMuX3JlbmRlckNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblx0XHRlbnF1ZXVlUmVuZGVyKHRoaXMpO1xuXHR9XG59O1xuXG4vKipcbiAqIEFjY2VwdHMgYHByb3BzYCBhbmQgYHN0YXRlYCwgYW5kIHJldHVybnMgYSBuZXcgVmlydHVhbCBET00gdHJlZSB0byBidWlsZC5cbiAqIFZpcnR1YWwgRE9NIGlzIGdlbmVyYWxseSBjb25zdHJ1Y3RlZCB2aWEgW0pTWF0oaHR0cDovL2phc29uZm9ybWF0LmNvbS93dGYtaXMtanN4KS5cbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcyBQcm9wcyAoZWc6IEpTWCBhdHRyaWJ1dGVzKSByZWNlaXZlZCBmcm9tIHBhcmVudFxuICogZWxlbWVudC9jb21wb25lbnRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzdGF0ZSBUaGUgY29tcG9uZW50J3MgY3VycmVudCBzdGF0ZVxuICogQHBhcmFtIHtvYmplY3R9IGNvbnRleHQgQ29udGV4dCBvYmplY3QsIGFzIHJldHVybmVkIGJ5IHRoZSBuZWFyZXN0XG4gKiBhbmNlc3RvcidzIGBnZXRDaGlsZENvbnRleHQoKWBcbiAqIEByZXR1cm5zIHtDb21wb25lbnRDaGlsZHJlbiB8IHZvaWR9XG4gKi9cbkJhc2VDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9IEZyYWdtZW50O1xuXG4vKipcbiAqIEBwYXJhbSB7Vk5vZGV9IHZub2RlXG4gKiBAcGFyYW0ge251bWJlciB8IG51bGx9IFtjaGlsZEluZGV4XVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RG9tU2libGluZyh2bm9kZSwgY2hpbGRJbmRleCkge1xuXHRpZiAoY2hpbGRJbmRleCA9PSBudWxsKSB7XG5cdFx0Ly8gVXNlIGNoaWxkSW5kZXg9PW51bGwgYXMgYSBzaWduYWwgdG8gcmVzdW1lIHRoZSBzZWFyY2ggZnJvbSB0aGUgdm5vZGUncyBzaWJsaW5nXG5cdFx0cmV0dXJuIHZub2RlLl9wYXJlbnRcblx0XHRcdD8gZ2V0RG9tU2libGluZyh2bm9kZS5fcGFyZW50LCB2bm9kZS5faW5kZXggKyAxKVxuXHRcdFx0OiBudWxsO1xuXHR9XG5cblx0bGV0IHNpYmxpbmc7XG5cdGZvciAoOyBjaGlsZEluZGV4IDwgdm5vZGUuX2NoaWxkcmVuLmxlbmd0aDsgY2hpbGRJbmRleCsrKSB7XG5cdFx0c2libGluZyA9IHZub2RlLl9jaGlsZHJlbltjaGlsZEluZGV4XTtcblxuXHRcdGlmIChzaWJsaW5nICE9IG51bGwgJiYgc2libGluZy5fZG9tICE9IG51bGwpIHtcblx0XHRcdC8vIFNpbmNlIHVwZGF0ZVBhcmVudERvbVBvaW50ZXJzIGtlZXBzIF9kb20gcG9pbnRlciBjb3JyZWN0LFxuXHRcdFx0Ly8gd2UgY2FuIHJlbHkgb24gX2RvbSB0byB0ZWxsIHVzIGlmIHRoaXMgc3VidHJlZSBjb250YWlucyBhXG5cdFx0XHQvLyByZW5kZXJlZCBET00gbm9kZSwgYW5kIHdoYXQgdGhlIGZpcnN0IHJlbmRlcmVkIERPTSBub2RlIGlzXG5cdFx0XHRyZXR1cm4gc2libGluZy5fZG9tO1xuXHRcdH1cblx0fVxuXG5cdC8vIElmIHdlIGdldCBoZXJlLCB3ZSBoYXZlIG5vdCBmb3VuZCBhIERPTSBub2RlIGluIHRoaXMgdm5vZGUncyBjaGlsZHJlbi5cblx0Ly8gV2UgbXVzdCByZXN1bWUgZnJvbSB0aGlzIHZub2RlJ3Mgc2libGluZyAoaW4gaXQncyBwYXJlbnQgX2NoaWxkcmVuIGFycmF5KVxuXHQvLyBPbmx5IGNsaW1iIHVwIGFuZCBzZWFyY2ggdGhlIHBhcmVudCBpZiB3ZSBhcmVuJ3Qgc2VhcmNoaW5nIHRocm91Z2ggYSBET01cblx0Ly8gVk5vZGUgKG1lYW5pbmcgd2UgcmVhY2hlZCB0aGUgRE9NIHBhcmVudCBvZiB0aGUgb3JpZ2luYWwgdm5vZGUgdGhhdCBiZWdhblxuXHQvLyB0aGUgc2VhcmNoKVxuXHRyZXR1cm4gdHlwZW9mIHZub2RlLnR5cGUgPT0gJ2Z1bmN0aW9uJyA/IGdldERvbVNpYmxpbmcodm5vZGUpIDogbnVsbDtcbn1cblxuLyoqXG4gKiBUcmlnZ2VyIGluLXBsYWNlIHJlLXJlbmRlcmluZyBvZiBhIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7Q29tcG9uZW50fSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byByZXJlbmRlclxuICovXG5mdW5jdGlvbiByZW5kZXJDb21wb25lbnQoY29tcG9uZW50KSB7XG5cdGxldCBvbGRWTm9kZSA9IGNvbXBvbmVudC5fdm5vZGUsXG5cdFx0b2xkRG9tID0gb2xkVk5vZGUuX2RvbSxcblx0XHRjb21taXRRdWV1ZSA9IFtdLFxuXHRcdHJlZlF1ZXVlID0gW107XG5cblx0aWYgKGNvbXBvbmVudC5fcGFyZW50RG9tKSB7XG5cdFx0Y29uc3QgbmV3Vk5vZGUgPSBhc3NpZ24oe30sIG9sZFZOb2RlKTtcblx0XHRuZXdWTm9kZS5fb3JpZ2luYWwgPSBvbGRWTm9kZS5fb3JpZ2luYWwgKyAxO1xuXHRcdGlmIChvcHRpb25zLnZub2RlKSBvcHRpb25zLnZub2RlKG5ld1ZOb2RlKTtcblxuXHRcdGRpZmYoXG5cdFx0XHRjb21wb25lbnQuX3BhcmVudERvbSxcblx0XHRcdG5ld1ZOb2RlLFxuXHRcdFx0b2xkVk5vZGUsXG5cdFx0XHRjb21wb25lbnQuX2dsb2JhbENvbnRleHQsXG5cdFx0XHRjb21wb25lbnQuX3BhcmVudERvbS5uYW1lc3BhY2VVUkksXG5cdFx0XHRvbGRWTm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUgPyBbb2xkRG9tXSA6IG51bGwsXG5cdFx0XHRjb21taXRRdWV1ZSxcblx0XHRcdG9sZERvbSA9PSBudWxsID8gZ2V0RG9tU2libGluZyhvbGRWTm9kZSkgOiBvbGREb20sXG5cdFx0XHQhIShvbGRWTm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUpLFxuXHRcdFx0cmVmUXVldWVcblx0XHQpO1xuXG5cdFx0bmV3Vk5vZGUuX29yaWdpbmFsID0gb2xkVk5vZGUuX29yaWdpbmFsO1xuXHRcdG5ld1ZOb2RlLl9wYXJlbnQuX2NoaWxkcmVuW25ld1ZOb2RlLl9pbmRleF0gPSBuZXdWTm9kZTtcblx0XHRjb21taXRSb290KGNvbW1pdFF1ZXVlLCBuZXdWTm9kZSwgcmVmUXVldWUpO1xuXG5cdFx0aWYgKG5ld1ZOb2RlLl9kb20gIT0gb2xkRG9tKSB7XG5cdFx0XHR1cGRhdGVQYXJlbnREb21Qb2ludGVycyhuZXdWTm9kZSk7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtWTm9kZX0gdm5vZGVcbiAqL1xuZnVuY3Rpb24gdXBkYXRlUGFyZW50RG9tUG9pbnRlcnModm5vZGUpIHtcblx0aWYgKCh2bm9kZSA9IHZub2RlLl9wYXJlbnQpICE9IG51bGwgJiYgdm5vZGUuX2NvbXBvbmVudCAhPSBudWxsKSB7XG5cdFx0dm5vZGUuX2RvbSA9IHZub2RlLl9jb21wb25lbnQuYmFzZSA9IG51bGw7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB2bm9kZS5fY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdGxldCBjaGlsZCA9IHZub2RlLl9jaGlsZHJlbltpXTtcblx0XHRcdGlmIChjaGlsZCAhPSBudWxsICYmIGNoaWxkLl9kb20gIT0gbnVsbCkge1xuXHRcdFx0XHR2bm9kZS5fZG9tID0gdm5vZGUuX2NvbXBvbmVudC5iYXNlID0gY2hpbGQuX2RvbTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHVwZGF0ZVBhcmVudERvbVBvaW50ZXJzKHZub2RlKTtcblx0fVxufVxuXG4vKipcbiAqIFRoZSByZW5kZXIgcXVldWVcbiAqIEB0eXBlIHtBcnJheTxDb21wb25lbnQ+fVxuICovXG5sZXQgcmVyZW5kZXJRdWV1ZSA9IFtdO1xuXG4vKlxuICogVGhlIHZhbHVlIG9mIGBDb21wb25lbnQuZGVib3VuY2VgIG11c3QgYXN5bmNocm9ub3VzbHkgaW52b2tlIHRoZSBwYXNzZWQgaW4gY2FsbGJhY2suIEl0IGlzXG4gKiBpbXBvcnRhbnQgdGhhdCBjb250cmlidXRvcnMgdG8gUHJlYWN0IGNhbiBjb25zaXN0ZW50bHkgcmVhc29uIGFib3V0IHdoYXQgY2FsbHMgdG8gYHNldFN0YXRlYCwgZXRjLlxuICogZG8sIGFuZCB3aGVuIHRoZWlyIGVmZmVjdHMgd2lsbCBiZSBhcHBsaWVkLiBTZWUgdGhlIGxpbmtzIGJlbG93IGZvciBzb21lIGZ1cnRoZXIgcmVhZGluZyBvbiBkZXNpZ25pbmdcbiAqIGFzeW5jaHJvbm91cyBBUElzLlxuICogKiBbRGVzaWduaW5nIEFQSXMgZm9yIEFzeW5jaHJvbnldKGh0dHBzOi8vYmxvZy5penMubWUvMjAxMy8wOC9kZXNpZ25pbmctYXBpcy1mb3ItYXN5bmNocm9ueSlcbiAqICogW0NhbGxiYWNrcyBzeW5jaHJvbm91cyBhbmQgYXN5bmNocm9ub3VzXShodHRwczovL2Jsb2cub21ldGVyLmNvbS8yMDExLzA3LzI0L2NhbGxiYWNrcy1zeW5jaHJvbm91cy1hbmQtYXN5bmNocm9ub3VzLylcbiAqL1xuXG5sZXQgcHJldkRlYm91bmNlO1xuXG5jb25zdCBkZWZlciA9XG5cdHR5cGVvZiBQcm9taXNlID09ICdmdW5jdGlvbidcblx0XHQ/IFByb21pc2UucHJvdG90eXBlLnRoZW4uYmluZChQcm9taXNlLnJlc29sdmUoKSlcblx0XHQ6IHNldFRpbWVvdXQ7XG5cbi8qKlxuICogRW5xdWV1ZSBhIHJlcmVuZGVyIG9mIGEgY29tcG9uZW50XG4gKiBAcGFyYW0ge0NvbXBvbmVudH0gYyBUaGUgY29tcG9uZW50IHRvIHJlcmVuZGVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnF1ZXVlUmVuZGVyKGMpIHtcblx0aWYgKFxuXHRcdCghYy5fZGlydHkgJiZcblx0XHRcdChjLl9kaXJ0eSA9IHRydWUpICYmXG5cdFx0XHRyZXJlbmRlclF1ZXVlLnB1c2goYykgJiZcblx0XHRcdCFwcm9jZXNzLl9yZXJlbmRlckNvdW50KyspIHx8XG5cdFx0cHJldkRlYm91bmNlICE9PSBvcHRpb25zLmRlYm91bmNlUmVuZGVyaW5nXG5cdCkge1xuXHRcdHByZXZEZWJvdW5jZSA9IG9wdGlvbnMuZGVib3VuY2VSZW5kZXJpbmc7XG5cdFx0KHByZXZEZWJvdW5jZSB8fCBkZWZlcikocHJvY2Vzcyk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge0NvbXBvbmVudH0gYVxuICogQHBhcmFtIHtDb21wb25lbnR9IGJcbiAqL1xuY29uc3QgZGVwdGhTb3J0ID0gKGEsIGIpID0+IGEuX3Zub2RlLl9kZXB0aCAtIGIuX3Zub2RlLl9kZXB0aDtcblxuLyoqIEZsdXNoIHRoZSByZW5kZXIgcXVldWUgYnkgcmVyZW5kZXJpbmcgYWxsIHF1ZXVlZCBjb21wb25lbnRzICovXG5mdW5jdGlvbiBwcm9jZXNzKCkge1xuXHRsZXQgYztcblx0cmVyZW5kZXJRdWV1ZS5zb3J0KGRlcHRoU29ydCk7XG5cdC8vIERvbid0IHVwZGF0ZSBgcmVuZGVyQ291bnRgIHlldC4gS2VlcCBpdHMgdmFsdWUgbm9uLXplcm8gdG8gcHJldmVudCB1bm5lY2Vzc2FyeVxuXHQvLyBwcm9jZXNzKCkgY2FsbHMgZnJvbSBnZXR0aW5nIHNjaGVkdWxlZCB3aGlsZSBgcXVldWVgIGlzIHN0aWxsIGJlaW5nIGNvbnN1bWVkLlxuXHR3aGlsZSAoKGMgPSByZXJlbmRlclF1ZXVlLnNoaWZ0KCkpKSB7XG5cdFx0aWYgKGMuX2RpcnR5KSB7XG5cdFx0XHRsZXQgcmVuZGVyUXVldWVMZW5ndGggPSByZXJlbmRlclF1ZXVlLmxlbmd0aDtcblx0XHRcdHJlbmRlckNvbXBvbmVudChjKTtcblx0XHRcdGlmIChyZXJlbmRlclF1ZXVlLmxlbmd0aCA+IHJlbmRlclF1ZXVlTGVuZ3RoKSB7XG5cdFx0XHRcdC8vIFdoZW4gaS5lLiByZXJlbmRlcmluZyBhIHByb3ZpZGVyIGFkZGl0aW9uYWwgbmV3IGl0ZW1zIGNhbiBiZSBpbmplY3RlZCwgd2Ugd2FudCB0b1xuXHRcdFx0XHQvLyBrZWVwIHRoZSBvcmRlciBmcm9tIHRvcCB0byBib3R0b20gd2l0aCB0aG9zZSBuZXcgaXRlbXMgc28gd2UgY2FuIGhhbmRsZSB0aGVtIGluIGFcblx0XHRcdFx0Ly8gc2luZ2xlIHBhc3Ncblx0XHRcdFx0cmVyZW5kZXJRdWV1ZS5zb3J0KGRlcHRoU29ydCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHByb2Nlc3MuX3JlcmVuZGVyQ291bnQgPSAwO1xufVxuXG5wcm9jZXNzLl9yZXJlbmRlckNvdW50ID0gMDtcbiIsICJpbXBvcnQgeyBJU19OT05fRElNRU5TSU9OQUwgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IG9wdGlvbnMgZnJvbSAnLi4vb3B0aW9ucyc7XG5cbmZ1bmN0aW9uIHNldFN0eWxlKHN0eWxlLCBrZXksIHZhbHVlKSB7XG5cdGlmIChrZXlbMF0gPT09ICctJykge1xuXHRcdHN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUgPT0gbnVsbCA/ICcnIDogdmFsdWUpO1xuXHR9IGVsc2UgaWYgKHZhbHVlID09IG51bGwpIHtcblx0XHRzdHlsZVtrZXldID0gJyc7XG5cdH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlICE9ICdudW1iZXInIHx8IElTX05PTl9ESU1FTlNJT05BTC50ZXN0KGtleSkpIHtcblx0XHRzdHlsZVtrZXldID0gdmFsdWU7XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGVba2V5XSA9IHZhbHVlICsgJ3B4Jztcblx0fVxufVxuXG4vLyBBIGxvZ2ljYWwgY2xvY2sgdG8gc29sdmUgaXNzdWVzIGxpa2UgaHR0cHM6Ly9naXRodWIuY29tL3ByZWFjdGpzL3ByZWFjdC9pc3N1ZXMvMzkyNy5cbi8vIFdoZW4gdGhlIERPTSBwZXJmb3JtcyBhbiBldmVudCBpdCBsZWF2ZXMgbWljcm8tdGlja3MgaW4gYmV0d2VlbiBidWJibGluZyB1cCB3aGljaCBtZWFucyB0aGF0XG4vLyBhbiBldmVudCBjYW4gdHJpZ2dlciBvbiBhIG5ld2x5IHJlYXRlZCBET00tbm9kZSB3aGlsZSB0aGUgZXZlbnQgYnViYmxlcyB1cC5cbi8vXG4vLyBPcmlnaW5hbGx5IGluc3BpcmVkIGJ5IFZ1ZVxuLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS92dWVqcy9jb3JlL2Jsb2IvY2FlYjhhNjg4MTFhMWIwZjc5L3BhY2thZ2VzL3J1bnRpbWUtZG9tL3NyYy9tb2R1bGVzL2V2ZW50cy50cyNMOTAtTDEwMSksXG4vLyBidXQgbW9kaWZpZWQgdG8gdXNlIGEgbG9naWNhbCBjbG9jayBpbnN0ZWFkIG9mIERhdGUubm93KCkgaW4gY2FzZSBldmVudCBoYW5kbGVycyBnZXQgYXR0YWNoZWRcbi8vIGFuZCBldmVudHMgZ2V0IGRpc3BhdGNoZWQgZHVyaW5nIHRoZSBzYW1lIG1pbGxpc2Vjb25kLlxuLy9cbi8vIFRoZSBjbG9jayBpcyBpbmNyZW1lbnRlZCBhZnRlciBlYWNoIG5ldyBldmVudCBkaXNwYXRjaC4gVGhpcyBhbGxvd3MgMSAwMDAgMDAwIG5ldyBldmVudHNcbi8vIHBlciBzZWNvbmQgZm9yIG92ZXIgMjgwIHllYXJzIGJlZm9yZSB0aGUgdmFsdWUgcmVhY2hlcyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiAoMioqNTMgLSAxKS5cbmxldCBldmVudENsb2NrID0gMDtcblxuLyoqXG4gKiBTZXQgYSBwcm9wZXJ0eSB2YWx1ZSBvbiBhIERPTSBub2RlXG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IGRvbSBUaGUgRE9NIG5vZGUgdG8gbW9kaWZ5XG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gc2V0XG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQgdGhlIHByb3BlcnR5IHRvXG4gKiBAcGFyYW0geyp9IG9sZFZhbHVlIFRoZSBvbGQgdmFsdWUgdGhlIHByb3BlcnR5IGhhZFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVzcGFjZSBXaGV0aGVyIG9yIG5vdCB0aGlzIERPTSBub2RlIGlzIGFuIFNWRyBub2RlIG9yIG5vdFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0UHJvcGVydHkoZG9tLCBuYW1lLCB2YWx1ZSwgb2xkVmFsdWUsIG5hbWVzcGFjZSkge1xuXHRsZXQgdXNlQ2FwdHVyZTtcblxuXHRvOiBpZiAobmFtZSA9PT0gJ3N0eWxlJykge1xuXHRcdGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycpIHtcblx0XHRcdGRvbS5zdHlsZS5jc3NUZXh0ID0gdmFsdWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmICh0eXBlb2Ygb2xkVmFsdWUgPT0gJ3N0cmluZycpIHtcblx0XHRcdFx0ZG9tLnN0eWxlLmNzc1RleHQgPSBvbGRWYWx1ZSA9ICcnO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAob2xkVmFsdWUpIHtcblx0XHRcdFx0Zm9yIChuYW1lIGluIG9sZFZhbHVlKSB7XG5cdFx0XHRcdFx0aWYgKCEodmFsdWUgJiYgbmFtZSBpbiB2YWx1ZSkpIHtcblx0XHRcdFx0XHRcdHNldFN0eWxlKGRvbS5zdHlsZSwgbmFtZSwgJycpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpZiAodmFsdWUpIHtcblx0XHRcdFx0Zm9yIChuYW1lIGluIHZhbHVlKSB7XG5cdFx0XHRcdFx0aWYgKCFvbGRWYWx1ZSB8fCB2YWx1ZVtuYW1lXSAhPT0gb2xkVmFsdWVbbmFtZV0pIHtcblx0XHRcdFx0XHRcdHNldFN0eWxlKGRvbS5zdHlsZSwgbmFtZSwgdmFsdWVbbmFtZV0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvLyBCZW5jaG1hcmsgZm9yIGNvbXBhcmlzb246IGh0dHBzOi8vZXNiZW5jaC5jb20vYmVuY2gvNTc0Yzk1NGJkYjk2NWI5YTAwOTY1YWM2XG5cdGVsc2UgaWYgKG5hbWVbMF0gPT09ICdvJyAmJiBuYW1lWzFdID09PSAnbicpIHtcblx0XHR1c2VDYXB0dXJlID1cblx0XHRcdG5hbWUgIT09IChuYW1lID0gbmFtZS5yZXBsYWNlKC8oUG9pbnRlckNhcHR1cmUpJHxDYXB0dXJlJC9pLCAnJDEnKSk7XG5cblx0XHQvLyBJbmZlciBjb3JyZWN0IGNhc2luZyBmb3IgRE9NIGJ1aWx0LWluIGV2ZW50czpcblx0XHRpZiAoXG5cdFx0XHRuYW1lLnRvTG93ZXJDYXNlKCkgaW4gZG9tIHx8XG5cdFx0XHRuYW1lID09PSAnb25Gb2N1c091dCcgfHxcblx0XHRcdG5hbWUgPT09ICdvbkZvY3VzSW4nXG5cdFx0KVxuXHRcdFx0bmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKS5zbGljZSgyKTtcblx0XHRlbHNlIG5hbWUgPSBuYW1lLnNsaWNlKDIpO1xuXG5cdFx0aWYgKCFkb20uX2xpc3RlbmVycykgZG9tLl9saXN0ZW5lcnMgPSB7fTtcblx0XHRkb20uX2xpc3RlbmVyc1tuYW1lICsgdXNlQ2FwdHVyZV0gPSB2YWx1ZTtcblxuXHRcdGlmICh2YWx1ZSkge1xuXHRcdFx0aWYgKCFvbGRWYWx1ZSkge1xuXHRcdFx0XHR2YWx1ZS5fYXR0YWNoZWQgPSBldmVudENsb2NrO1xuXHRcdFx0XHRkb20uYWRkRXZlbnRMaXN0ZW5lcihcblx0XHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRcdHVzZUNhcHR1cmUgPyBldmVudFByb3h5Q2FwdHVyZSA6IGV2ZW50UHJveHksXG5cdFx0XHRcdFx0dXNlQ2FwdHVyZVxuXHRcdFx0XHQpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dmFsdWUuX2F0dGFjaGVkID0gb2xkVmFsdWUuX2F0dGFjaGVkO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRkb20ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcblx0XHRcdFx0bmFtZSxcblx0XHRcdFx0dXNlQ2FwdHVyZSA/IGV2ZW50UHJveHlDYXB0dXJlIDogZXZlbnRQcm94eSxcblx0XHRcdFx0dXNlQ2FwdHVyZVxuXHRcdFx0KTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0aWYgKG5hbWVzcGFjZSA9PSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnKSB7XG5cdFx0XHQvLyBOb3JtYWxpemUgaW5jb3JyZWN0IHByb3AgdXNhZ2UgZm9yIFNWRzpcblx0XHRcdC8vIC0geGxpbms6aHJlZiAvIHhsaW5rSHJlZiAtLT4gaHJlZiAoeGxpbms6aHJlZiB3YXMgcmVtb3ZlZCBmcm9tIFNWRyBhbmQgaXNuJ3QgbmVlZGVkKVxuXHRcdFx0Ly8gLSBjbGFzc05hbWUgLS0+IGNsYXNzXG5cdFx0XHRuYW1lID0gbmFtZS5yZXBsYWNlKC94bGluayhIfDpoKS8sICdoJykucmVwbGFjZSgvc05hbWUkLywgJ3MnKTtcblx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0bmFtZSAhPSAnd2lkdGgnICYmXG5cdFx0XHRuYW1lICE9ICdoZWlnaHQnICYmXG5cdFx0XHRuYW1lICE9ICdocmVmJyAmJlxuXHRcdFx0bmFtZSAhPSAnbGlzdCcgJiZcblx0XHRcdG5hbWUgIT0gJ2Zvcm0nICYmXG5cdFx0XHQvLyBEZWZhdWx0IHZhbHVlIGluIGJyb3dzZXJzIGlzIGAtMWAgYW5kIGFuIGVtcHR5IHN0cmluZyBpc1xuXHRcdFx0Ly8gY2FzdCB0byBgMGAgaW5zdGVhZFxuXHRcdFx0bmFtZSAhPSAndGFiSW5kZXgnICYmXG5cdFx0XHRuYW1lICE9ICdkb3dubG9hZCcgJiZcblx0XHRcdG5hbWUgIT0gJ3Jvd1NwYW4nICYmXG5cdFx0XHRuYW1lICE9ICdjb2xTcGFuJyAmJlxuXHRcdFx0bmFtZSAhPSAncm9sZScgJiZcblx0XHRcdG5hbWUgIT0gJ3BvcG92ZXInICYmXG5cdFx0XHRuYW1lIGluIGRvbVxuXHRcdCkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0ZG9tW25hbWVdID0gdmFsdWUgPT0gbnVsbCA/ICcnIDogdmFsdWU7XG5cdFx0XHRcdC8vIGxhYmVsbGVkIGJyZWFrIGlzIDFiIHNtYWxsZXIgaGVyZSB0aGFuIGEgcmV0dXJuIHN0YXRlbWVudCAoc29ycnkpXG5cdFx0XHRcdGJyZWFrIG87XG5cdFx0XHR9IGNhdGNoIChlKSB7fVxuXHRcdH1cblxuXHRcdC8vIGFyaWEtIGFuZCBkYXRhLSBhdHRyaWJ1dGVzIGhhdmUgbm8gYm9vbGVhbiByZXByZXNlbnRhdGlvbi5cblx0XHQvLyBBIGBmYWxzZWAgdmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIGF0dHJpYnV0ZSBub3QgYmVpbmdcblx0XHQvLyBwcmVzZW50LCBzbyB3ZSBjYW4ndCByZW1vdmUgaXQuIEZvciBub24tYm9vbGVhbiBhcmlhXG5cdFx0Ly8gYXR0cmlidXRlcyB3ZSBjb3VsZCB0cmVhdCBmYWxzZSBhcyBhIHJlbW92YWwsIGJ1dCB0aGVcblx0XHQvLyBhbW91bnQgb2YgZXhjZXB0aW9ucyB3b3VsZCBjb3N0IHRvbyBtYW55IGJ5dGVzLiBPbiB0b3Agb2Zcblx0XHQvLyB0aGF0IG90aGVyIGZyYW1ld29ya3MgZ2VuZXJhbGx5IHN0cmluZ2lmeSBgZmFsc2VgLlxuXG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHQvLyBuZXZlciBzZXJpYWxpemUgZnVuY3Rpb25zIGFzIGF0dHJpYnV0ZSB2YWx1ZXNcblx0XHR9IGVsc2UgaWYgKHZhbHVlICE9IG51bGwgJiYgKHZhbHVlICE9PSBmYWxzZSB8fCBuYW1lWzRdID09PSAnLScpKSB7XG5cdFx0XHRkb20uc2V0QXR0cmlidXRlKG5hbWUsIG5hbWUgPT0gJ3BvcG92ZXInICYmIHZhbHVlID09IHRydWUgPyAnJyA6IHZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZG9tLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gZXZlbnQgcHJveHkgZnVuY3Rpb24uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHVzZUNhcHR1cmUgSXMgdGhlIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSBjYXB0dXJlIHBoYXNlLlxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gY3JlYXRlRXZlbnRQcm94eSh1c2VDYXB0dXJlKSB7XG5cdC8qKlxuXHQgKiBQcm94eSBhbiBldmVudCB0byBob29rZWQgZXZlbnQgaGFuZGxlcnNcblx0ICogQHBhcmFtIHtQcmVhY3RFdmVudH0gZSBUaGUgZXZlbnQgb2JqZWN0IGZyb20gdGhlIGJyb3dzZXJcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHJldHVybiBmdW5jdGlvbiAoZSkge1xuXHRcdGlmICh0aGlzLl9saXN0ZW5lcnMpIHtcblx0XHRcdGNvbnN0IGV2ZW50SGFuZGxlciA9IHRoaXMuX2xpc3RlbmVyc1tlLnR5cGUgKyB1c2VDYXB0dXJlXTtcblx0XHRcdGlmIChlLl9kaXNwYXRjaGVkID09IG51bGwpIHtcblx0XHRcdFx0ZS5fZGlzcGF0Y2hlZCA9IGV2ZW50Q2xvY2srKztcblxuXHRcdFx0XHQvLyBXaGVuIGBlLl9kaXNwYXRjaGVkYCBpcyBzbWFsbGVyIHRoYW4gdGhlIHRpbWUgd2hlbiB0aGUgdGFyZ2V0ZWQgZXZlbnRcblx0XHRcdFx0Ly8gaGFuZGxlciB3YXMgYXR0YWNoZWQgd2Uga25vdyB3ZSBoYXZlIGJ1YmJsZWQgdXAgdG8gYW4gZWxlbWVudCB0aGF0IHdhcyBhZGRlZFxuXHRcdFx0XHQvLyBkdXJpbmcgcGF0Y2hpbmcgdGhlIERPTS5cblx0XHRcdH0gZWxzZSBpZiAoZS5fZGlzcGF0Y2hlZCA8IGV2ZW50SGFuZGxlci5fYXR0YWNoZWQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGV2ZW50SGFuZGxlcihvcHRpb25zLmV2ZW50ID8gb3B0aW9ucy5ldmVudChlKSA6IGUpO1xuXHRcdH1cblx0fTtcbn1cblxuY29uc3QgZXZlbnRQcm94eSA9IGNyZWF0ZUV2ZW50UHJveHkoZmFsc2UpO1xuY29uc3QgZXZlbnRQcm94eUNhcHR1cmUgPSBjcmVhdGVFdmVudFByb3h5KHRydWUpO1xuIiwgImltcG9ydCB7IGVucXVldWVSZW5kZXIgfSBmcm9tICcuL2NvbXBvbmVudCc7XG5cbmV4cG9ydCBsZXQgaSA9IDA7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb250ZXh0KGRlZmF1bHRWYWx1ZSwgY29udGV4dElkKSB7XG5cdGNvbnRleHRJZCA9ICdfX2NDJyArIGkrKztcblxuXHRjb25zdCBjb250ZXh0ID0ge1xuXHRcdF9pZDogY29udGV4dElkLFxuXHRcdF9kZWZhdWx0VmFsdWU6IGRlZmF1bHRWYWx1ZSxcblx0XHQvKiogQHR5cGUge0Z1bmN0aW9uQ29tcG9uZW50fSAqL1xuXHRcdENvbnN1bWVyKHByb3BzLCBjb250ZXh0VmFsdWUpIHtcblx0XHRcdC8vIHJldHVybiBwcm9wcy5jaGlsZHJlbihcblx0XHRcdC8vIFx0Y29udGV4dFtjb250ZXh0SWRdID8gY29udGV4dFtjb250ZXh0SWRdLnByb3BzLnZhbHVlIDogZGVmYXVsdFZhbHVlXG5cdFx0XHQvLyApO1xuXHRcdFx0cmV0dXJuIHByb3BzLmNoaWxkcmVuKGNvbnRleHRWYWx1ZSk7XG5cdFx0fSxcblx0XHQvKiogQHR5cGUge0Z1bmN0aW9uQ29tcG9uZW50fSAqL1xuXHRcdFByb3ZpZGVyKHByb3BzKSB7XG5cdFx0XHRpZiAoIXRoaXMuZ2V0Q2hpbGRDb250ZXh0KSB7XG5cdFx0XHRcdC8qKiBAdHlwZSB7U2V0PENvbXBvbmVudD4gfCBudWxsfSAqL1xuXHRcdFx0XHRsZXQgc3VicyA9IG5ldyBTZXQoKTtcblx0XHRcdFx0bGV0IGN0eCA9IHt9O1xuXHRcdFx0XHRjdHhbY29udGV4dElkXSA9IHRoaXM7XG5cblx0XHRcdFx0dGhpcy5nZXRDaGlsZENvbnRleHQgPSAoKSA9PiBjdHg7XG5cblx0XHRcdFx0dGhpcy5jb21wb25lbnRXaWxsVW5tb3VudCA9ICgpID0+IHtcblx0XHRcdFx0XHRzdWJzID0gbnVsbDtcblx0XHRcdFx0fTtcblxuXHRcdFx0XHR0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9IGZ1bmN0aW9uIChfcHJvcHMpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gX3Byb3BzLnZhbHVlKSB7XG5cdFx0XHRcdFx0XHRzdWJzLmZvckVhY2goYyA9PiB7XG5cdFx0XHRcdFx0XHRcdGMuX2ZvcmNlID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0ZW5xdWV1ZVJlbmRlcihjKTtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblxuXHRcdFx0XHR0aGlzLnN1YiA9IGMgPT4ge1xuXHRcdFx0XHRcdHN1YnMuYWRkKGMpO1xuXHRcdFx0XHRcdGxldCBvbGQgPSBjLmNvbXBvbmVudFdpbGxVbm1vdW50O1xuXHRcdFx0XHRcdGMuY29tcG9uZW50V2lsbFVubW91bnQgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoc3Vicykge1xuXHRcdFx0XHRcdFx0XHRzdWJzLmRlbGV0ZShjKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmIChvbGQpIG9sZC5jYWxsKGMpO1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBwcm9wcy5jaGlsZHJlbjtcblx0XHR9XG5cdH07XG5cblx0Ly8gRGV2dG9vbHMgbmVlZHMgYWNjZXNzIHRvIHRoZSBjb250ZXh0IG9iamVjdCB3aGVuIGl0XG5cdC8vIGVuY291bnRlcnMgYSBQcm92aWRlci4gVGhpcyBpcyBuZWNlc3NhcnkgdG8gc3VwcG9ydFxuXHQvLyBzZXR0aW5nIGBkaXNwbGF5TmFtZWAgb24gdGhlIGNvbnRleHQgb2JqZWN0IGluc3RlYWRcblx0Ly8gb2Ygb24gdGhlIGNvbXBvbmVudCBpdHNlbGYuIFNlZTpcblx0Ly8gaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2NvbnRleHQuaHRtbCNjb250ZXh0ZGlzcGxheW5hbWVcblxuXHRyZXR1cm4gKGNvbnRleHQuUHJvdmlkZXIuX2NvbnRleHRSZWYgPSBjb250ZXh0LkNvbnN1bWVyLmNvbnRleHRUeXBlID1cblx0XHRjb250ZXh0KTtcbn1cbiIsICJpbXBvcnQgeyBkaWZmLCB1bm1vdW50LCBhcHBseVJlZiB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgY3JlYXRlVk5vZGUsIEZyYWdtZW50IH0gZnJvbSAnLi4vY3JlYXRlLWVsZW1lbnQnO1xuaW1wb3J0IHsgRU1QVFlfT0JKLCBFTVBUWV9BUlIsIElOU0VSVF9WTk9ERSwgTUFUQ0hFRCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBnZXREb21TaWJsaW5nIH0gZnJvbSAnLi4vY29tcG9uZW50JztcblxuLyoqXG4gKiBEaWZmIHRoZSBjaGlsZHJlbiBvZiBhIHZpcnR1YWwgbm9kZVxuICogQHBhcmFtIHtQcmVhY3RFbGVtZW50fSBwYXJlbnREb20gVGhlIERPTSBlbGVtZW50IHdob3NlIGNoaWxkcmVuIGFyZSBiZWluZ1xuICogZGlmZmVkXG4gKiBAcGFyYW0ge0NvbXBvbmVudENoaWxkcmVuW119IHJlbmRlclJlc3VsdFxuICogQHBhcmFtIHtWTm9kZX0gbmV3UGFyZW50Vk5vZGUgVGhlIG5ldyB2aXJ0dWFsIG5vZGUgd2hvc2UgY2hpbGRyZW4gc2hvdWxkIGJlXG4gKiBkaWZmJ2VkIGFnYWluc3Qgb2xkUGFyZW50Vk5vZGVcbiAqIEBwYXJhbSB7Vk5vZGV9IG9sZFBhcmVudFZOb2RlIFRoZSBvbGQgdmlydHVhbCBub2RlIHdob3NlIGNoaWxkcmVuIHNob3VsZCBiZVxuICogZGlmZidlZCBhZ2FpbnN0IG5ld1BhcmVudFZOb2RlXG4gKiBAcGFyYW0ge29iamVjdH0gZ2xvYmFsQ29udGV4dCBUaGUgY3VycmVudCBjb250ZXh0IG9iamVjdCAtIG1vZGlmaWVkIGJ5XG4gKiBnZXRDaGlsZENvbnRleHRcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UgQ3VycmVudCBuYW1lc3BhY2Ugb2YgdGhlIERPTSBub2RlIChIVE1MLCBTVkcsIG9yIE1hdGhNTClcbiAqIEBwYXJhbSB7QXJyYXk8UHJlYWN0RWxlbWVudD59IGV4Y2Vzc0RvbUNoaWxkcmVuXG4gKiBAcGFyYW0ge0FycmF5PENvbXBvbmVudD59IGNvbW1pdFF1ZXVlIExpc3Qgb2YgY29tcG9uZW50cyB3aGljaCBoYXZlIGNhbGxiYWNrc1xuICogdG8gaW52b2tlIGluIGNvbW1pdFJvb3RcbiAqIEBwYXJhbSB7UHJlYWN0RWxlbWVudH0gb2xkRG9tIFRoZSBjdXJyZW50IGF0dGFjaGVkIERPTSBlbGVtZW50IGFueSBuZXcgZG9tXG4gKiBlbGVtZW50cyBzaG91bGQgYmUgcGxhY2VkIGFyb3VuZC4gTGlrZWx5IGBudWxsYCBvbiBmaXJzdCByZW5kZXIgKGV4Y2VwdCB3aGVuXG4gKiBoeWRyYXRpbmcpLiBDYW4gYmUgYSBzaWJsaW5nIERPTSBlbGVtZW50IHdoZW4gZGlmZmluZyBGcmFnbWVudHMgdGhhdCBoYXZlXG4gKiBzaWJsaW5ncy4gSW4gbW9zdCBjYXNlcywgaXQgc3RhcnRzIG91dCBhcyBgb2xkQ2hpbGRyZW5bMF0uX2RvbWAuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGlzSHlkcmF0aW5nIFdoZXRoZXIgb3Igbm90IHdlIGFyZSBpbiBoeWRyYXRpb25cbiAqIEBwYXJhbSB7YW55W119IHJlZlF1ZXVlIGFuIGFycmF5IG9mIGVsZW1lbnRzIG5lZWRlZCB0byBpbnZva2UgcmVmc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZkNoaWxkcmVuKFxuXHRwYXJlbnREb20sXG5cdHJlbmRlclJlc3VsdCxcblx0bmV3UGFyZW50Vk5vZGUsXG5cdG9sZFBhcmVudFZOb2RlLFxuXHRnbG9iYWxDb250ZXh0LFxuXHRuYW1lc3BhY2UsXG5cdGV4Y2Vzc0RvbUNoaWxkcmVuLFxuXHRjb21taXRRdWV1ZSxcblx0b2xkRG9tLFxuXHRpc0h5ZHJhdGluZyxcblx0cmVmUXVldWVcbikge1xuXHRsZXQgaSxcblx0XHQvKiogQHR5cGUge1ZOb2RlfSAqL1xuXHRcdG9sZFZOb2RlLFxuXHRcdC8qKiBAdHlwZSB7Vk5vZGV9ICovXG5cdFx0Y2hpbGRWTm9kZSxcblx0XHQvKiogQHR5cGUge1ByZWFjdEVsZW1lbnR9ICovXG5cdFx0bmV3RG9tLFxuXHRcdC8qKiBAdHlwZSB7UHJlYWN0RWxlbWVudH0gKi9cblx0XHRmaXJzdENoaWxkRG9tO1xuXG5cdC8vIFRoaXMgaXMgYSBjb21wcmVzc2lvbiBvZiBvbGRQYXJlbnRWTm9kZSE9bnVsbCAmJiBvbGRQYXJlbnRWTm9kZSAhPSBFTVBUWV9PQkogJiYgb2xkUGFyZW50Vk5vZGUuX2NoaWxkcmVuIHx8IEVNUFRZX0FSUlxuXHQvLyBhcyBFTVBUWV9PQkouX2NoaWxkcmVuIHNob3VsZCBiZSBgdW5kZWZpbmVkYC5cblx0LyoqIEB0eXBlIHtWTm9kZVtdfSAqL1xuXHRsZXQgb2xkQ2hpbGRyZW4gPSAob2xkUGFyZW50Vk5vZGUgJiYgb2xkUGFyZW50Vk5vZGUuX2NoaWxkcmVuKSB8fCBFTVBUWV9BUlI7XG5cblx0bGV0IG5ld0NoaWxkcmVuTGVuZ3RoID0gcmVuZGVyUmVzdWx0Lmxlbmd0aDtcblxuXHRuZXdQYXJlbnRWTm9kZS5fbmV4dERvbSA9IG9sZERvbTtcblx0Y29uc3RydWN0TmV3Q2hpbGRyZW5BcnJheShuZXdQYXJlbnRWTm9kZSwgcmVuZGVyUmVzdWx0LCBvbGRDaGlsZHJlbik7XG5cdG9sZERvbSA9IG5ld1BhcmVudFZOb2RlLl9uZXh0RG9tO1xuXG5cdGZvciAoaSA9IDA7IGkgPCBuZXdDaGlsZHJlbkxlbmd0aDsgaSsrKSB7XG5cdFx0Y2hpbGRWTm9kZSA9IG5ld1BhcmVudFZOb2RlLl9jaGlsZHJlbltpXTtcblx0XHRpZiAoY2hpbGRWTm9kZSA9PSBudWxsKSBjb250aW51ZTtcblxuXHRcdC8vIEF0IHRoaXMgcG9pbnQsIGNvbnN0cnVjdE5ld0NoaWxkcmVuQXJyYXkgaGFzIGFzc2lnbmVkIF9pbmRleCB0byBiZSB0aGVcblx0XHQvLyBtYXRjaGluZ0luZGV4IGZvciB0aGlzIFZOb2RlJ3Mgb2xkVk5vZGUgKG9yIC0xIGlmIHRoZXJlIGlzIG5vIG9sZFZOb2RlKS5cblx0XHRpZiAoY2hpbGRWTm9kZS5faW5kZXggPT09IC0xKSB7XG5cdFx0XHRvbGRWTm9kZSA9IEVNUFRZX09CSjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0b2xkVk5vZGUgPSBvbGRDaGlsZHJlbltjaGlsZFZOb2RlLl9pbmRleF0gfHwgRU1QVFlfT0JKO1xuXHRcdH1cblxuXHRcdC8vIFVwZGF0ZSBjaGlsZFZOb2RlLl9pbmRleCB0byBpdHMgZmluYWwgaW5kZXhcblx0XHRjaGlsZFZOb2RlLl9pbmRleCA9IGk7XG5cblx0XHQvLyBNb3JwaCB0aGUgb2xkIGVsZW1lbnQgaW50byB0aGUgbmV3IG9uZSwgYnV0IGRvbid0IGFwcGVuZCBpdCB0byB0aGUgZG9tIHlldFxuXHRcdGRpZmYoXG5cdFx0XHRwYXJlbnREb20sXG5cdFx0XHRjaGlsZFZOb2RlLFxuXHRcdFx0b2xkVk5vZGUsXG5cdFx0XHRnbG9iYWxDb250ZXh0LFxuXHRcdFx0bmFtZXNwYWNlLFxuXHRcdFx0ZXhjZXNzRG9tQ2hpbGRyZW4sXG5cdFx0XHRjb21taXRRdWV1ZSxcblx0XHRcdG9sZERvbSxcblx0XHRcdGlzSHlkcmF0aW5nLFxuXHRcdFx0cmVmUXVldWVcblx0XHQpO1xuXG5cdFx0Ly8gQWRqdXN0IERPTSBub2Rlc1xuXHRcdG5ld0RvbSA9IGNoaWxkVk5vZGUuX2RvbTtcblx0XHRpZiAoY2hpbGRWTm9kZS5yZWYgJiYgb2xkVk5vZGUucmVmICE9IGNoaWxkVk5vZGUucmVmKSB7XG5cdFx0XHRpZiAob2xkVk5vZGUucmVmKSB7XG5cdFx0XHRcdGFwcGx5UmVmKG9sZFZOb2RlLnJlZiwgbnVsbCwgY2hpbGRWTm9kZSk7XG5cdFx0XHR9XG5cdFx0XHRyZWZRdWV1ZS5wdXNoKFxuXHRcdFx0XHRjaGlsZFZOb2RlLnJlZixcblx0XHRcdFx0Y2hpbGRWTm9kZS5fY29tcG9uZW50IHx8IG5ld0RvbSxcblx0XHRcdFx0Y2hpbGRWTm9kZVxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRpZiAoZmlyc3RDaGlsZERvbSA9PSBudWxsICYmIG5ld0RvbSAhPSBudWxsKSB7XG5cdFx0XHRmaXJzdENoaWxkRG9tID0gbmV3RG9tO1xuXHRcdH1cblxuXHRcdGlmIChcblx0XHRcdGNoaWxkVk5vZGUuX2ZsYWdzICYgSU5TRVJUX1ZOT0RFIHx8XG5cdFx0XHRvbGRWTm9kZS5fY2hpbGRyZW4gPT09IGNoaWxkVk5vZGUuX2NoaWxkcmVuXG5cdFx0KSB7XG5cdFx0XHRvbGREb20gPSBpbnNlcnQoY2hpbGRWTm9kZSwgb2xkRG9tLCBwYXJlbnREb20pO1xuXHRcdH0gZWxzZSBpZiAoXG5cdFx0XHR0eXBlb2YgY2hpbGRWTm9kZS50eXBlID09ICdmdW5jdGlvbicgJiZcblx0XHRcdGNoaWxkVk5vZGUuX25leHREb20gIT09IHVuZGVmaW5lZFxuXHRcdCkge1xuXHRcdFx0Ly8gU2luY2UgRnJhZ21lbnRzIG9yIGNvbXBvbmVudHMgdGhhdCByZXR1cm4gRnJhZ21lbnQgbGlrZSBWTm9kZXMgY2FuXG5cdFx0XHQvLyBjb250YWluIG11bHRpcGxlIERPTSBub2RlcyBhcyB0aGUgc2FtZSBsZXZlbCwgY29udGludWUgdGhlIGRpZmYgZnJvbVxuXHRcdFx0Ly8gdGhlIHNpYmxpbmcgb2YgbGFzdCBET00gY2hpbGQgb2YgdGhpcyBjaGlsZCBWTm9kZVxuXHRcdFx0b2xkRG9tID0gY2hpbGRWTm9kZS5fbmV4dERvbTtcblx0XHR9IGVsc2UgaWYgKG5ld0RvbSkge1xuXHRcdFx0b2xkRG9tID0gbmV3RG9tLm5leHRTaWJsaW5nO1xuXHRcdH1cblxuXHRcdC8vIEVhZ2VybHkgY2xlYW51cCBfbmV4dERvbS4gV2UgZG9uJ3QgbmVlZCB0byBwZXJzaXN0IHRoZSB2YWx1ZSBiZWNhdXNlIGl0XG5cdFx0Ly8gaXMgb25seSB1c2VkIGJ5IGBkaWZmQ2hpbGRyZW5gIHRvIGRldGVybWluZSB3aGVyZSB0byByZXN1bWUgdGhlIGRpZmZcblx0XHQvLyBhZnRlciBkaWZmaW5nIENvbXBvbmVudHMgYW5kIEZyYWdtZW50cy4gT25jZSB3ZSBzdG9yZSBpdCB0aGUgbmV4dERPTVxuXHRcdC8vIGxvY2FsIHZhciwgd2UgY2FuIGNsZWFuIHVwIHRoZSBwcm9wZXJ0eS4gQWxzbyBwcmV2ZW50cyB1cyBoYW5naW5nIG9uIHRvXG5cdFx0Ly8gRE9NIG5vZGVzIHRoYXQgbWF5IGhhdmUgYmVlbiB1bm1vdW50ZWQuXG5cdFx0Y2hpbGRWTm9kZS5fbmV4dERvbSA9IHVuZGVmaW5lZDtcblxuXHRcdC8vIFVuc2V0IGRpZmZpbmcgZmxhZ3Ncblx0XHRjaGlsZFZOb2RlLl9mbGFncyAmPSB+KElOU0VSVF9WTk9ERSB8IE1BVENIRUQpO1xuXHR9XG5cblx0Ly8gVE9ETzogV2l0aCBuZXcgY2hpbGQgZGlmZmluZyBhbGdvLCBjb25zaWRlciBhbHQgd2F5cyB0byBkaWZmIEZyYWdtZW50cy5cblx0Ly8gU3VjaCBhcyBkcm9wcGluZyBvbGREb20gYW5kIG1vdmluZyBmcmFnbWVudHMgaW4gcGxhY2Vcblx0Ly9cblx0Ly8gQmVjYXVzZSB0aGUgbmV3UGFyZW50Vk5vZGUgaXMgRnJhZ21lbnQtbGlrZSwgd2UgbmVlZCB0byBzZXQgaXQnc1xuXHQvLyBfbmV4dERvbSBwcm9wZXJ0eSB0byB0aGUgbmV4dFNpYmxpbmcgb2YgaXRzIGxhc3QgY2hpbGQgRE9NIG5vZGUuXG5cdC8vXG5cdC8vIGBvbGREb21gIGNvbnRhaW5zIHRoZSBjb3JyZWN0IHZhbHVlIGhlcmUgYmVjYXVzZSBpZiB0aGUgbGFzdCBjaGlsZFxuXHQvLyBpcyBhIEZyYWdtZW50LWxpa2UsIHRoZW4gb2xkRG9tIGhhcyBhbHJlYWR5IGJlZW4gc2V0IHRvIHRoYXQgY2hpbGQncyBfbmV4dERvbS5cblx0Ly8gSWYgdGhlIGxhc3QgY2hpbGQgaXMgYSBET00gVk5vZGUsIHRoZW4gb2xkRG9tIHdpbGwgYmUgc2V0IHRvIHRoYXQgRE9NXG5cdC8vIG5vZGUncyBuZXh0U2libGluZy5cblx0bmV3UGFyZW50Vk5vZGUuX25leHREb20gPSBvbGREb207XG5cdG5ld1BhcmVudFZOb2RlLl9kb20gPSBmaXJzdENoaWxkRG9tO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Vk5vZGV9IG5ld1BhcmVudFZOb2RlXG4gKiBAcGFyYW0ge0NvbXBvbmVudENoaWxkcmVuW119IHJlbmRlclJlc3VsdFxuICogQHBhcmFtIHtWTm9kZVtdfSBvbGRDaGlsZHJlblxuICovXG5mdW5jdGlvbiBjb25zdHJ1Y3ROZXdDaGlsZHJlbkFycmF5KG5ld1BhcmVudFZOb2RlLCByZW5kZXJSZXN1bHQsIG9sZENoaWxkcmVuKSB7XG5cdC8qKiBAdHlwZSB7bnVtYmVyfSAqL1xuXHRsZXQgaTtcblx0LyoqIEB0eXBlIHtWTm9kZX0gKi9cblx0bGV0IGNoaWxkVk5vZGU7XG5cdC8qKiBAdHlwZSB7Vk5vZGV9ICovXG5cdGxldCBvbGRWTm9kZTtcblxuXHRjb25zdCBuZXdDaGlsZHJlbkxlbmd0aCA9IHJlbmRlclJlc3VsdC5sZW5ndGg7XG5cdGxldCBvbGRDaGlsZHJlbkxlbmd0aCA9IG9sZENoaWxkcmVuLmxlbmd0aCxcblx0XHRyZW1haW5pbmdPbGRDaGlsZHJlbiA9IG9sZENoaWxkcmVuTGVuZ3RoO1xuXG5cdGxldCBza2V3ID0gMDtcblxuXHRuZXdQYXJlbnRWTm9kZS5fY2hpbGRyZW4gPSBbXTtcblx0Zm9yIChpID0gMDsgaSA8IG5ld0NoaWxkcmVuTGVuZ3RoOyBpKyspIHtcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIFdlIGFyZSByZXVzaW5nIHRoZSBjaGlsZFZOb2RlIHZhcmlhYmxlIHRvIGhvbGQgYm90aCB0aGVcblx0XHQvLyBwcmUgYW5kIHBvc3Qgbm9ybWFsaXplZCBjaGlsZFZOb2RlXG5cdFx0Y2hpbGRWTm9kZSA9IHJlbmRlclJlc3VsdFtpXTtcblxuXHRcdGlmIChcblx0XHRcdGNoaWxkVk5vZGUgPT0gbnVsbCB8fFxuXHRcdFx0dHlwZW9mIGNoaWxkVk5vZGUgPT0gJ2Jvb2xlYW4nIHx8XG5cdFx0XHR0eXBlb2YgY2hpbGRWTm9kZSA9PSAnZnVuY3Rpb24nXG5cdFx0KSB7XG5cdFx0XHRjaGlsZFZOb2RlID0gbmV3UGFyZW50Vk5vZGUuX2NoaWxkcmVuW2ldID0gbnVsbDtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBJZiB0aGlzIG5ld1ZOb2RlIGlzIGJlaW5nIHJldXNlZCAoZS5nLiA8ZGl2PntyZXVzZX17cmV1c2V9PC9kaXY+KSBpbiB0aGUgc2FtZSBkaWZmLFxuXHRcdC8vIG9yIHdlIGFyZSByZW5kZXJpbmcgYSBjb21wb25lbnQgKGUuZy4gc2V0U3RhdGUpIGNvcHkgdGhlIG9sZFZOb2RlcyBzbyBpdCBjYW4gaGF2ZVxuXHRcdC8vIGl0J3Mgb3duIERPTSAmIGV0Yy4gcG9pbnRlcnNcblx0XHRlbHNlIGlmIChcblx0XHRcdHR5cGVvZiBjaGlsZFZOb2RlID09ICdzdHJpbmcnIHx8XG5cdFx0XHR0eXBlb2YgY2hpbGRWTm9kZSA9PSAnbnVtYmVyJyB8fFxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHZhbGlkLXR5cGVvZlxuXHRcdFx0dHlwZW9mIGNoaWxkVk5vZGUgPT0gJ2JpZ2ludCcgfHxcblx0XHRcdGNoaWxkVk5vZGUuY29uc3RydWN0b3IgPT0gU3RyaW5nXG5cdFx0KSB7XG5cdFx0XHRjaGlsZFZOb2RlID0gbmV3UGFyZW50Vk5vZGUuX2NoaWxkcmVuW2ldID0gY3JlYXRlVk5vZGUoXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdGNoaWxkVk5vZGUsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdG51bGxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIGlmIChpc0FycmF5KGNoaWxkVk5vZGUpKSB7XG5cdFx0XHRjaGlsZFZOb2RlID0gbmV3UGFyZW50Vk5vZGUuX2NoaWxkcmVuW2ldID0gY3JlYXRlVk5vZGUoXG5cdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHR7IGNoaWxkcmVuOiBjaGlsZFZOb2RlIH0sXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdG51bGxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIGlmIChjaGlsZFZOb2RlLmNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQgJiYgY2hpbGRWTm9kZS5fZGVwdGggPiAwKSB7XG5cdFx0XHQvLyBWTm9kZSBpcyBhbHJlYWR5IGluIHVzZSwgY2xvbmUgaXQuIFRoaXMgY2FuIGhhcHBlbiBpbiB0aGUgZm9sbG93aW5nXG5cdFx0XHQvLyBzY2VuYXJpbzpcblx0XHRcdC8vICAgY29uc3QgcmV1c2UgPSA8ZGl2IC8+XG5cdFx0XHQvLyAgIDxkaXY+e3JldXNlfTxzcGFuIC8+e3JldXNlfTwvZGl2PlxuXHRcdFx0Y2hpbGRWTm9kZSA9IG5ld1BhcmVudFZOb2RlLl9jaGlsZHJlbltpXSA9IGNyZWF0ZVZOb2RlKFxuXHRcdFx0XHRjaGlsZFZOb2RlLnR5cGUsXG5cdFx0XHRcdGNoaWxkVk5vZGUucHJvcHMsXG5cdFx0XHRcdGNoaWxkVk5vZGUua2V5LFxuXHRcdFx0XHRjaGlsZFZOb2RlLnJlZiA/IGNoaWxkVk5vZGUucmVmIDogbnVsbCxcblx0XHRcdFx0Y2hpbGRWTm9kZS5fb3JpZ2luYWxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNoaWxkVk5vZGUgPSBuZXdQYXJlbnRWTm9kZS5fY2hpbGRyZW5baV0gPSBjaGlsZFZOb2RlO1xuXHRcdH1cblxuXHRcdGNvbnN0IHNrZXdlZEluZGV4ID0gaSArIHNrZXc7XG5cdFx0Y2hpbGRWTm9kZS5fcGFyZW50ID0gbmV3UGFyZW50Vk5vZGU7XG5cdFx0Y2hpbGRWTm9kZS5fZGVwdGggPSBuZXdQYXJlbnRWTm9kZS5fZGVwdGggKyAxO1xuXG5cdFx0Ly8gVGVtcG9yYXJpbHkgc3RvcmUgdGhlIG1hdGNoaW5nSW5kZXggb24gdGhlIF9pbmRleCBwcm9wZXJ0eSBzbyB3ZSBjYW4gcHVsbFxuXHRcdC8vIG91dCB0aGUgb2xkVk5vZGUgaW4gZGlmZkNoaWxkcmVuLiBXZSdsbCBvdmVycmlkZSB0aGlzIHRvIHRoZSBWTm9kZSdzXG5cdFx0Ly8gZmluYWwgaW5kZXggYWZ0ZXIgdXNpbmcgdGhpcyBwcm9wZXJ0eSB0byBnZXQgdGhlIG9sZFZOb2RlXG5cdFx0Y29uc3QgbWF0Y2hpbmdJbmRleCA9IChjaGlsZFZOb2RlLl9pbmRleCA9IGZpbmRNYXRjaGluZ0luZGV4KFxuXHRcdFx0Y2hpbGRWTm9kZSxcblx0XHRcdG9sZENoaWxkcmVuLFxuXHRcdFx0c2tld2VkSW5kZXgsXG5cdFx0XHRyZW1haW5pbmdPbGRDaGlsZHJlblxuXHRcdCkpO1xuXG5cdFx0b2xkVk5vZGUgPSBudWxsO1xuXHRcdGlmIChtYXRjaGluZ0luZGV4ICE9PSAtMSkge1xuXHRcdFx0b2xkVk5vZGUgPSBvbGRDaGlsZHJlblttYXRjaGluZ0luZGV4XTtcblx0XHRcdHJlbWFpbmluZ09sZENoaWxkcmVuLS07XG5cdFx0XHRpZiAob2xkVk5vZGUpIHtcblx0XHRcdFx0b2xkVk5vZGUuX2ZsYWdzIHw9IE1BVENIRUQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gSGVyZSwgd2UgZGVmaW5lIGlzTW91bnRpbmcgZm9yIHRoZSBwdXJwb3NlcyBvZiB0aGUgc2tldyBkaWZmaW5nXG5cdFx0Ly8gYWxnb3JpdGhtLiBOb2RlcyB0aGF0IGFyZSB1bnN1c3BlbmRpbmcgYXJlIGNvbnNpZGVyZWQgbW91bnRpbmcgYW5kIHdlIGRldGVjdFxuXHRcdC8vIHRoaXMgYnkgY2hlY2tpbmcgaWYgb2xkVk5vZGUuX29yaWdpbmFsID09PSBudWxsXG5cdFx0Y29uc3QgaXNNb3VudGluZyA9IG9sZFZOb2RlID09IG51bGwgfHwgb2xkVk5vZGUuX29yaWdpbmFsID09PSBudWxsO1xuXG5cdFx0aWYgKGlzTW91bnRpbmcpIHtcblx0XHRcdGlmIChtYXRjaGluZ0luZGV4ID09IC0xKSB7XG5cdFx0XHRcdHNrZXctLTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSWYgd2UgYXJlIG1vdW50aW5nIGEgRE9NIFZOb2RlLCBtYXJrIGl0IGZvciBpbnNlcnRpb25cblx0XHRcdGlmICh0eXBlb2YgY2hpbGRWTm9kZS50eXBlICE9ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0Y2hpbGRWTm9kZS5fZmxhZ3MgfD0gSU5TRVJUX1ZOT0RFO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAobWF0Y2hpbmdJbmRleCAhPT0gc2tld2VkSW5kZXgpIHtcblx0XHRcdC8vIFdoZW4gd2UgbW92ZSBlbGVtZW50cyBhcm91bmQgaS5lLiBbMCwgMSwgMl0gLS0+IFsxLCAwLCAyXVxuXHRcdFx0Ly8gLS0+IHdlIGRpZmYgMSwgd2UgZmluZCBpdCBhdCBwb3NpdGlvbiAxIHdoaWxlIG91ciBza2V3ZWQgaW5kZXggaXMgMCBhbmQgb3VyIHNrZXcgaXMgMFxuXHRcdFx0Ly8gICAgIHdlIHNldCB0aGUgc2tldyB0byAxIGFzIHdlIGZvdW5kIGFuIG9mZnNldC5cblx0XHRcdC8vIC0tPiB3ZSBkaWZmIDAsIHdlIGZpbmQgaXQgYXQgcG9zaXRpb24gMCB3aGlsZSBvdXIgc2tld2VkIGluZGV4IGlzIGF0IDIgYW5kIG91ciBza2V3IGlzIDFcblx0XHRcdC8vICAgICB0aGlzIG1ha2VzIHVzIGluY3JlYXNlIHRoZSBza2V3IGFnYWluLlxuXHRcdFx0Ly8gLS0+IHdlIGRpZmYgMiwgd2UgZmluZCBpdCBhdCBwb3NpdGlvbiAyIHdoaWxlIG91ciBza2V3ZWQgaW5kZXggaXMgYXQgNCBhbmQgb3VyIHNrZXcgaXMgMlxuXHRcdFx0Ly9cblx0XHRcdC8vIHRoaXMgYmVjb21lcyBhbiBvcHRpbWl6YXRpb24gcXVlc3Rpb24gd2hlcmUgY3VycmVudGx5IHdlIHNlZSBhIDEgZWxlbWVudCBvZmZzZXQgYXMgYW4gaW5zZXJ0aW9uXG5cdFx0XHQvLyBvciBkZWxldGlvbiBpLmUuIHdlIG9wdGltaXplIGZvciBbMCwgMSwgMl0gLS0+IFs5LCAwLCAxLCAyXVxuXHRcdFx0Ly8gd2hpbGUgYSBtb3JlIHRoYW4gMSBvZmZzZXQgd2Ugc2VlIGFzIGEgc3dhcC5cblx0XHRcdC8vIFdlIGNvdWxkIHByb2JhYmx5IGJ1aWxkIGhldXJpc3RpY3MgZm9yIGhhdmluZyBhbiBvcHRpbWl6ZWQgY291cnNlIG9mIGFjdGlvbiBoZXJlIGFzIHdlbGwsIGJ1dFxuXHRcdFx0Ly8gbWlnaHQgZ28gYXQgdGhlIGNvc3Qgb2Ygc29tZSBieXRlcy5cblx0XHRcdC8vXG5cdFx0XHQvLyBJZiB3ZSB3YW50ZWQgdG8gb3B0aW1pemUgZm9yIGkuZS4gb25seSBzd2FwcyB3ZSdkIGp1c3QgZG8gdGhlIGxhc3QgdHdvIGNvZGUtYnJhbmNoZXMgYW5kIGhhdmVcblx0XHRcdC8vIG9ubHkgdGhlIGZpcnN0IGl0ZW0gYmUgYSByZS1zY291dGluZyBhbmQgYWxsIHRoZSBvdGhlcnMgZmFsbCBpbiB0aGVpciBza2V3ZWQgY291bnRlci1wYXJ0LlxuXHRcdFx0Ly8gV2UgY291bGQgYWxzbyBmdXJ0aGVyIG9wdGltaXplIGZvciBzd2Fwc1xuXHRcdFx0aWYgKG1hdGNoaW5nSW5kZXggPT0gc2tld2VkSW5kZXggLSAxKSB7XG5cdFx0XHRcdHNrZXctLTtcblx0XHRcdH0gZWxzZSBpZiAobWF0Y2hpbmdJbmRleCA9PSBza2V3ZWRJbmRleCArIDEpIHtcblx0XHRcdFx0c2tldysrO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aWYgKG1hdGNoaW5nSW5kZXggPiBza2V3ZWRJbmRleCkge1xuXHRcdFx0XHRcdHNrZXctLTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRza2V3Kys7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBNb3ZlIHRoaXMgVk5vZGUncyBET00gaWYgdGhlIG9yaWdpbmFsIGluZGV4IChtYXRjaGluZ0luZGV4KSBkb2Vzbid0XG5cdFx0XHRcdC8vIG1hdGNoIHRoZSBuZXcgc2tldyBpbmRleCAoaSArIG5ldyBza2V3KVxuXHRcdFx0XHQvLyBJbiB0aGUgZm9ybWVyIHR3byBicmFuY2hlcyB3ZSBrbm93IHRoYXQgaXQgbWF0Y2hlcyBhZnRlciBza2V3aW5nXG5cdFx0XHRcdGNoaWxkVk5vZGUuX2ZsYWdzIHw9IElOU0VSVF9WTk9ERTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBSZW1vdmUgcmVtYWluaW5nIG9sZENoaWxkcmVuIGlmIHRoZXJlIGFyZSBhbnkuIExvb3AgZm9yd2FyZHMgc28gdGhhdCBhcyB3ZVxuXHQvLyB1bm1vdW50IERPTSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG9sZENoaWxkcmVuLCB3ZSBjYW4gYWRqdXN0IG9sZERvbSB0b1xuXHQvLyBwb2ludCB0byB0aGUgbmV4dCBjaGlsZCwgd2hpY2ggbmVlZHMgdG8gYmUgdGhlIGZpcnN0IERPTSBub2RlIHRoYXQgd29uJ3QgYmVcblx0Ly8gdW5tb3VudGVkLlxuXHRpZiAocmVtYWluaW5nT2xkQ2hpbGRyZW4pIHtcblx0XHRmb3IgKGkgPSAwOyBpIDwgb2xkQ2hpbGRyZW5MZW5ndGg7IGkrKykge1xuXHRcdFx0b2xkVk5vZGUgPSBvbGRDaGlsZHJlbltpXTtcblx0XHRcdGlmIChvbGRWTm9kZSAhPSBudWxsICYmIChvbGRWTm9kZS5fZmxhZ3MgJiBNQVRDSEVEKSA9PT0gMCkge1xuXHRcdFx0XHRpZiAob2xkVk5vZGUuX2RvbSA9PSBuZXdQYXJlbnRWTm9kZS5fbmV4dERvbSkge1xuXHRcdFx0XHRcdG5ld1BhcmVudFZOb2RlLl9uZXh0RG9tID0gZ2V0RG9tU2libGluZyhvbGRWTm9kZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bm1vdW50KG9sZFZOb2RlLCBvbGRWTm9kZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtWTm9kZX0gcGFyZW50Vk5vZGVcbiAqIEBwYXJhbSB7UHJlYWN0RWxlbWVudH0gb2xkRG9tXG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IHBhcmVudERvbVxuICogQHJldHVybnMge1ByZWFjdEVsZW1lbnR9XG4gKi9cbmZ1bmN0aW9uIGluc2VydChwYXJlbnRWTm9kZSwgb2xkRG9tLCBwYXJlbnREb20pIHtcblx0Ly8gTm90ZTogVk5vZGVzIGluIG5lc3RlZCBzdXNwZW5kZWQgdHJlZXMgbWF5IGJlIG1pc3NpbmcgX2NoaWxkcmVuLlxuXG5cdGlmICh0eXBlb2YgcGFyZW50Vk5vZGUudHlwZSA9PSAnZnVuY3Rpb24nKSB7XG5cdFx0bGV0IGNoaWxkcmVuID0gcGFyZW50Vk5vZGUuX2NoaWxkcmVuO1xuXHRcdGZvciAobGV0IGkgPSAwOyBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdGlmIChjaGlsZHJlbltpXSkge1xuXHRcdFx0XHQvLyBJZiB3ZSBlbnRlciB0aGlzIGNvZGUgcGF0aCBvbiBzQ1UgYmFpbG91dCwgd2hlcmUgd2UgY29weVxuXHRcdFx0XHQvLyBvbGRWTm9kZS5fY2hpbGRyZW4gdG8gbmV3Vk5vZGUuX2NoaWxkcmVuLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgb2xkXG5cdFx0XHRcdC8vIGNoaWxkcmVuJ3MgX3BhcmVudCBwb2ludGVyIHRvIHBvaW50IHRvIHRoZSBuZXdWTm9kZSAocGFyZW50Vk5vZGVcblx0XHRcdFx0Ly8gaGVyZSkuXG5cdFx0XHRcdGNoaWxkcmVuW2ldLl9wYXJlbnQgPSBwYXJlbnRWTm9kZTtcblx0XHRcdFx0b2xkRG9tID0gaW5zZXJ0KGNoaWxkcmVuW2ldLCBvbGREb20sIHBhcmVudERvbSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9sZERvbTtcblx0fSBlbHNlIGlmIChwYXJlbnRWTm9kZS5fZG9tICE9IG9sZERvbSkge1xuXHRcdGlmIChvbGREb20gJiYgcGFyZW50Vk5vZGUudHlwZSAmJiAhcGFyZW50RG9tLmNvbnRhaW5zKG9sZERvbSkpIHtcblx0XHRcdG9sZERvbSA9IGdldERvbVNpYmxpbmcocGFyZW50Vk5vZGUpO1xuXHRcdH1cblx0XHRwYXJlbnREb20uaW5zZXJ0QmVmb3JlKHBhcmVudFZOb2RlLl9kb20sIG9sZERvbSB8fCBudWxsKTtcblx0XHRvbGREb20gPSBwYXJlbnRWTm9kZS5fZG9tO1xuXHR9XG5cblx0ZG8ge1xuXHRcdG9sZERvbSA9IG9sZERvbSAmJiBvbGREb20ubmV4dFNpYmxpbmc7XG5cdH0gd2hpbGUgKG9sZERvbSAhPSBudWxsICYmIG9sZERvbS5ub2RlVHlwZSA9PT0gOCk7XG5cblx0cmV0dXJuIG9sZERvbTtcbn1cblxuLyoqXG4gKiBGbGF0dGVuIGFuZCBsb29wIHRocm91Z2ggdGhlIGNoaWxkcmVuIG9mIGEgdmlydHVhbCBub2RlXG4gKiBAcGFyYW0ge0NvbXBvbmVudENoaWxkcmVufSBjaGlsZHJlbiBUaGUgdW5mbGF0dGVuZWQgY2hpbGRyZW4gb2YgYSB2aXJ0dWFsXG4gKiBub2RlXG4gKiBAcmV0dXJucyB7Vk5vZGVbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvQ2hpbGRBcnJheShjaGlsZHJlbiwgb3V0KSB7XG5cdG91dCA9IG91dCB8fCBbXTtcblx0aWYgKGNoaWxkcmVuID09IG51bGwgfHwgdHlwZW9mIGNoaWxkcmVuID09ICdib29sZWFuJykge1xuXHR9IGVsc2UgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG5cdFx0Y2hpbGRyZW4uc29tZShjaGlsZCA9PiB7XG5cdFx0XHR0b0NoaWxkQXJyYXkoY2hpbGQsIG91dCk7XG5cdFx0fSk7XG5cdH0gZWxzZSB7XG5cdFx0b3V0LnB1c2goY2hpbGRyZW4pO1xuXHR9XG5cdHJldHVybiBvdXQ7XG59XG5cbi8qKlxuICogQHBhcmFtIHtWTm9kZX0gY2hpbGRWTm9kZVxuICogQHBhcmFtIHtWTm9kZVtdfSBvbGRDaGlsZHJlblxuICogQHBhcmFtIHtudW1iZXJ9IHNrZXdlZEluZGV4XG4gKiBAcGFyYW0ge251bWJlcn0gcmVtYWluaW5nT2xkQ2hpbGRyZW5cbiAqIEByZXR1cm5zIHtudW1iZXJ9XG4gKi9cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ0luZGV4KFxuXHRjaGlsZFZOb2RlLFxuXHRvbGRDaGlsZHJlbixcblx0c2tld2VkSW5kZXgsXG5cdHJlbWFpbmluZ09sZENoaWxkcmVuXG4pIHtcblx0Y29uc3Qga2V5ID0gY2hpbGRWTm9kZS5rZXk7XG5cdGNvbnN0IHR5cGUgPSBjaGlsZFZOb2RlLnR5cGU7XG5cdGxldCB4ID0gc2tld2VkSW5kZXggLSAxO1xuXHRsZXQgeSA9IHNrZXdlZEluZGV4ICsgMTtcblx0bGV0IG9sZFZOb2RlID0gb2xkQ2hpbGRyZW5bc2tld2VkSW5kZXhdO1xuXG5cdC8vIFdlIG9ubHkgbmVlZCB0byBwZXJmb3JtIGEgc2VhcmNoIGlmIHRoZXJlIGFyZSBtb3JlIGNoaWxkcmVuXG5cdC8vIChyZW1haW5pbmdPbGRDaGlsZHJlbikgdG8gc2VhcmNoLiBIb3dldmVyLCBpZiB0aGUgb2xkVk5vZGUgd2UganVzdCBsb29rZWRcblx0Ly8gYXQgc2tld2VkSW5kZXggd2FzIG5vdCBhbHJlYWR5IHVzZWQgaW4gdGhpcyBkaWZmLCB0aGVuIHRoZXJlIG11c3QgYmUgYXRcblx0Ly8gbGVhc3QgMSBvdGhlciAoc28gZ3JlYXRlciB0aGFuIDEpIHJlbWFpbmluZ09sZENoaWxkcmVuIHRvIGF0dGVtcHQgdG8gbWF0Y2hcblx0Ly8gYWdhaW5zdC4gU28gdGhlIGZvbGxvd2luZyBjb25kaXRpb24gY2hlY2tzIHRoYXQgZW5zdXJpbmdcblx0Ly8gcmVtYWluaW5nT2xkQ2hpbGRyZW4gPiAxIGlmIHRoZSBvbGRWTm9kZSBpcyBub3QgYWxyZWFkeSB1c2VkL21hdGNoZWQuIEVsc2Vcblx0Ly8gaWYgdGhlIG9sZFZOb2RlIHdhcyBudWxsIG9yIG1hdGNoZWQsIHRoZW4gdGhlcmUgY291bGQgbmVlZHMgdG8gYmUgYXQgbGVhc3Rcblx0Ly8gMSAoYWthIGByZW1haW5pbmdPbGRDaGlsZHJlbiA+IDBgKSBjaGlsZHJlbiB0byBmaW5kIGFuZCBjb21wYXJlIGFnYWluc3QuXG5cdGxldCBzaG91bGRTZWFyY2ggPVxuXHRcdHJlbWFpbmluZ09sZENoaWxkcmVuID5cblx0XHQob2xkVk5vZGUgIT0gbnVsbCAmJiAob2xkVk5vZGUuX2ZsYWdzICYgTUFUQ0hFRCkgPT09IDAgPyAxIDogMCk7XG5cblx0aWYgKFxuXHRcdG9sZFZOb2RlID09PSBudWxsIHx8XG5cdFx0KG9sZFZOb2RlICYmXG5cdFx0XHRrZXkgPT0gb2xkVk5vZGUua2V5ICYmXG5cdFx0XHR0eXBlID09PSBvbGRWTm9kZS50eXBlICYmXG5cdFx0XHQob2xkVk5vZGUuX2ZsYWdzICYgTUFUQ0hFRCkgPT09IDApXG5cdCkge1xuXHRcdHJldHVybiBza2V3ZWRJbmRleDtcblx0fSBlbHNlIGlmIChzaG91bGRTZWFyY2gpIHtcblx0XHR3aGlsZSAoeCA+PSAwIHx8IHkgPCBvbGRDaGlsZHJlbi5sZW5ndGgpIHtcblx0XHRcdGlmICh4ID49IDApIHtcblx0XHRcdFx0b2xkVk5vZGUgPSBvbGRDaGlsZHJlblt4XTtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdG9sZFZOb2RlICYmXG5cdFx0XHRcdFx0KG9sZFZOb2RlLl9mbGFncyAmIE1BVENIRUQpID09PSAwICYmXG5cdFx0XHRcdFx0a2V5ID09IG9sZFZOb2RlLmtleSAmJlxuXHRcdFx0XHRcdHR5cGUgPT09IG9sZFZOb2RlLnR5cGVcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0eC0tO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoeSA8IG9sZENoaWxkcmVuLmxlbmd0aCkge1xuXHRcdFx0XHRvbGRWTm9kZSA9IG9sZENoaWxkcmVuW3ldO1xuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0b2xkVk5vZGUgJiZcblx0XHRcdFx0XHQob2xkVk5vZGUuX2ZsYWdzICYgTUFUQ0hFRCkgPT09IDAgJiZcblx0XHRcdFx0XHRrZXkgPT0gb2xkVk5vZGUua2V5ICYmXG5cdFx0XHRcdFx0dHlwZSA9PT0gb2xkVk5vZGUudHlwZVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRyZXR1cm4geTtcblx0XHRcdFx0fVxuXHRcdFx0XHR5Kys7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIC0xO1xufVxuIiwgImltcG9ydCB7XG5cdEVNUFRZX09CSixcblx0TU9ERV9IWURSQVRFLFxuXHRNT0RFX1NVU1BFTkRFRCxcblx0UkVTRVRfTU9ERVxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgZ2V0RG9tU2libGluZyB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gJy4uL2NyZWF0ZS1lbGVtZW50JztcbmltcG9ydCB7IGRpZmZDaGlsZHJlbiB9IGZyb20gJy4vY2hpbGRyZW4nO1xuaW1wb3J0IHsgc2V0UHJvcGVydHkgfSBmcm9tICcuL3Byb3BzJztcbmltcG9ydCB7IGFzc2lnbiwgaXNBcnJheSwgcmVtb3ZlTm9kZSwgc2xpY2UgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCBvcHRpb25zIGZyb20gJy4uL29wdGlvbnMnO1xuXG4vKipcbiAqIERpZmYgdHdvIHZpcnR1YWwgbm9kZXMgYW5kIGFwcGx5IHByb3BlciBjaGFuZ2VzIHRvIHRoZSBET01cbiAqIEBwYXJhbSB7UHJlYWN0RWxlbWVudH0gcGFyZW50RG9tIFRoZSBwYXJlbnQgb2YgdGhlIERPTSBlbGVtZW50XG4gKiBAcGFyYW0ge1ZOb2RlfSBuZXdWTm9kZSBUaGUgbmV3IHZpcnR1YWwgbm9kZVxuICogQHBhcmFtIHtWTm9kZX0gb2xkVk5vZGUgVGhlIG9sZCB2aXJ0dWFsIG5vZGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBnbG9iYWxDb250ZXh0IFRoZSBjdXJyZW50IGNvbnRleHQgb2JqZWN0LiBNb2RpZmllZCBieVxuICogZ2V0Q2hpbGRDb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZXNwYWNlIEN1cnJlbnQgbmFtZXNwYWNlIG9mIHRoZSBET00gbm9kZSAoSFRNTCwgU1ZHLCBvciBNYXRoTUwpXG4gKiBAcGFyYW0ge0FycmF5PFByZWFjdEVsZW1lbnQ+fSBleGNlc3NEb21DaGlsZHJlblxuICogQHBhcmFtIHtBcnJheTxDb21wb25lbnQ+fSBjb21taXRRdWV1ZSBMaXN0IG9mIGNvbXBvbmVudHMgd2hpY2ggaGF2ZSBjYWxsYmFja3NcbiAqIHRvIGludm9rZSBpbiBjb21taXRSb290XG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IG9sZERvbSBUaGUgY3VycmVudCBhdHRhY2hlZCBET00gZWxlbWVudCBhbnkgbmV3IGRvbVxuICogZWxlbWVudHMgc2hvdWxkIGJlIHBsYWNlZCBhcm91bmQuIExpa2VseSBgbnVsbGAgb24gZmlyc3QgcmVuZGVyIChleGNlcHQgd2hlblxuICogaHlkcmF0aW5nKS4gQ2FuIGJlIGEgc2libGluZyBET00gZWxlbWVudCB3aGVuIGRpZmZpbmcgRnJhZ21lbnRzIHRoYXQgaGF2ZVxuICogc2libGluZ3MuIEluIG1vc3QgY2FzZXMsIGl0IHN0YXJ0cyBvdXQgYXMgYG9sZENoaWxkcmVuWzBdLl9kb21gLlxuICogQHBhcmFtIHtib29sZWFufSBpc0h5ZHJhdGluZyBXaGV0aGVyIG9yIG5vdCB3ZSBhcmUgaW4gaHlkcmF0aW9uXG4gKiBAcGFyYW0ge2FueVtdfSByZWZRdWV1ZSBhbiBhcnJheSBvZiBlbGVtZW50cyBuZWVkZWQgdG8gaW52b2tlIHJlZnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmYoXG5cdHBhcmVudERvbSxcblx0bmV3Vk5vZGUsXG5cdG9sZFZOb2RlLFxuXHRnbG9iYWxDb250ZXh0LFxuXHRuYW1lc3BhY2UsXG5cdGV4Y2Vzc0RvbUNoaWxkcmVuLFxuXHRjb21taXRRdWV1ZSxcblx0b2xkRG9tLFxuXHRpc0h5ZHJhdGluZyxcblx0cmVmUXVldWVcbikge1xuXHQvKiogQHR5cGUge2FueX0gKi9cblx0bGV0IHRtcCxcblx0XHRuZXdUeXBlID0gbmV3Vk5vZGUudHlwZTtcblxuXHQvLyBXaGVuIHBhc3NpbmcgdGhyb3VnaCBjcmVhdGVFbGVtZW50IGl0IGFzc2lnbnMgdGhlIG9iamVjdFxuXHQvLyBjb25zdHJ1Y3RvciBhcyB1bmRlZmluZWQuIFRoaXMgdG8gcHJldmVudCBKU09OLWluamVjdGlvbi5cblx0aWYgKG5ld1ZOb2RlLmNvbnN0cnVjdG9yICE9PSB1bmRlZmluZWQpIHJldHVybiBudWxsO1xuXG5cdC8vIElmIHRoZSBwcmV2aW91cyBkaWZmIGJhaWxlZCBvdXQsIHJlc3VtZSBjcmVhdGluZy9oeWRyYXRpbmcuXG5cdGlmIChvbGRWTm9kZS5fZmxhZ3MgJiBNT0RFX1NVU1BFTkRFRCkge1xuXHRcdGlzSHlkcmF0aW5nID0gISEob2xkVk5vZGUuX2ZsYWdzICYgTU9ERV9IWURSQVRFKTtcblx0XHRvbGREb20gPSBuZXdWTm9kZS5fZG9tID0gb2xkVk5vZGUuX2RvbTtcblx0XHRleGNlc3NEb21DaGlsZHJlbiA9IFtvbGREb21dO1xuXHR9XG5cblx0aWYgKCh0bXAgPSBvcHRpb25zLl9kaWZmKSkgdG1wKG5ld1ZOb2RlKTtcblxuXHRvdXRlcjogaWYgKHR5cGVvZiBuZXdUeXBlID09ICdmdW5jdGlvbicpIHtcblx0XHR0cnkge1xuXHRcdFx0bGV0IGMsIGlzTmV3LCBvbGRQcm9wcywgb2xkU3RhdGUsIHNuYXBzaG90LCBjbGVhclByb2Nlc3NpbmdFeGNlcHRpb247XG5cdFx0XHRsZXQgbmV3UHJvcHMgPSBuZXdWTm9kZS5wcm9wcztcblx0XHRcdGNvbnN0IGlzQ2xhc3NDb21wb25lbnQgPVxuXHRcdFx0XHQncHJvdG90eXBlJyBpbiBuZXdUeXBlICYmIG5ld1R5cGUucHJvdG90eXBlLnJlbmRlcjtcblxuXHRcdFx0Ly8gTmVjZXNzYXJ5IGZvciBjcmVhdGVDb250ZXh0IGFwaS4gU2V0dGluZyB0aGlzIHByb3BlcnR5IHdpbGwgcGFzc1xuXHRcdFx0Ly8gdGhlIGNvbnRleHQgdmFsdWUgYXMgYHRoaXMuY29udGV4dGAganVzdCBmb3IgdGhpcyBjb21wb25lbnQuXG5cdFx0XHR0bXAgPSBuZXdUeXBlLmNvbnRleHRUeXBlO1xuXHRcdFx0bGV0IHByb3ZpZGVyID0gdG1wICYmIGdsb2JhbENvbnRleHRbdG1wLl9pZF07XG5cdFx0XHRsZXQgY29tcG9uZW50Q29udGV4dCA9IHRtcFxuXHRcdFx0XHQ/IHByb3ZpZGVyXG5cdFx0XHRcdFx0PyBwcm92aWRlci5wcm9wcy52YWx1ZVxuXHRcdFx0XHRcdDogdG1wLl9kZWZhdWx0VmFsdWVcblx0XHRcdFx0OiBnbG9iYWxDb250ZXh0O1xuXG5cdFx0XHQvLyBHZXQgY29tcG9uZW50IGFuZCBzZXQgaXQgdG8gYGNgXG5cdFx0XHRpZiAob2xkVk5vZGUuX2NvbXBvbmVudCkge1xuXHRcdFx0XHRjID0gbmV3Vk5vZGUuX2NvbXBvbmVudCA9IG9sZFZOb2RlLl9jb21wb25lbnQ7XG5cdFx0XHRcdGNsZWFyUHJvY2Vzc2luZ0V4Y2VwdGlvbiA9IGMuX3Byb2Nlc3NpbmdFeGNlcHRpb24gPSBjLl9wZW5kaW5nRXJyb3I7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBJbnN0YW50aWF0ZSB0aGUgbmV3IGNvbXBvbmVudFxuXHRcdFx0XHRpZiAoaXNDbGFzc0NvbXBvbmVudCkge1xuXHRcdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgVGhlIGNoZWNrIGFib3ZlIHZlcmlmaWVzIHRoYXQgbmV3VHlwZSBpcyBzdXBwb3NlIHRvIGJlIGNvbnN0cnVjdGVkXG5cdFx0XHRcdFx0bmV3Vk5vZGUuX2NvbXBvbmVudCA9IGMgPSBuZXcgbmV3VHlwZShuZXdQcm9wcywgY29tcG9uZW50Q29udGV4dCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgVHJ1c3QgbWUsIENvbXBvbmVudCBpbXBsZW1lbnRzIHRoZSBpbnRlcmZhY2Ugd2Ugd2FudFxuXHRcdFx0XHRcdG5ld1ZOb2RlLl9jb21wb25lbnQgPSBjID0gbmV3IEJhc2VDb21wb25lbnQoXG5cdFx0XHRcdFx0XHRuZXdQcm9wcyxcblx0XHRcdFx0XHRcdGNvbXBvbmVudENvbnRleHRcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGMuY29uc3RydWN0b3IgPSBuZXdUeXBlO1xuXHRcdFx0XHRcdGMucmVuZGVyID0gZG9SZW5kZXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHByb3ZpZGVyKSBwcm92aWRlci5zdWIoYyk7XG5cblx0XHRcdFx0Yy5wcm9wcyA9IG5ld1Byb3BzO1xuXHRcdFx0XHRpZiAoIWMuc3RhdGUpIGMuc3RhdGUgPSB7fTtcblx0XHRcdFx0Yy5jb250ZXh0ID0gY29tcG9uZW50Q29udGV4dDtcblx0XHRcdFx0Yy5fZ2xvYmFsQ29udGV4dCA9IGdsb2JhbENvbnRleHQ7XG5cdFx0XHRcdGlzTmV3ID0gYy5fZGlydHkgPSB0cnVlO1xuXHRcdFx0XHRjLl9yZW5kZXJDYWxsYmFja3MgPSBbXTtcblx0XHRcdFx0Yy5fc3RhdGVDYWxsYmFja3MgPSBbXTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSW52b2tlIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc1xuXHRcdFx0aWYgKGlzQ2xhc3NDb21wb25lbnQgJiYgYy5fbmV4dFN0YXRlID09IG51bGwpIHtcblx0XHRcdFx0Yy5fbmV4dFN0YXRlID0gYy5zdGF0ZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGlzQ2xhc3NDb21wb25lbnQgJiYgbmV3VHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgIT0gbnVsbCkge1xuXHRcdFx0XHRpZiAoYy5fbmV4dFN0YXRlID09IGMuc3RhdGUpIHtcblx0XHRcdFx0XHRjLl9uZXh0U3RhdGUgPSBhc3NpZ24oe30sIGMuX25leHRTdGF0ZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhc3NpZ24oXG5cdFx0XHRcdFx0Yy5fbmV4dFN0YXRlLFxuXHRcdFx0XHRcdG5ld1R5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5ld1Byb3BzLCBjLl9uZXh0U3RhdGUpXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cblx0XHRcdG9sZFByb3BzID0gYy5wcm9wcztcblx0XHRcdG9sZFN0YXRlID0gYy5zdGF0ZTtcblx0XHRcdGMuX3Zub2RlID0gbmV3Vk5vZGU7XG5cblx0XHRcdC8vIEludm9rZSBwcmUtcmVuZGVyIGxpZmVjeWNsZSBtZXRob2RzXG5cdFx0XHRpZiAoaXNOZXcpIHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdGlzQ2xhc3NDb21wb25lbnQgJiZcblx0XHRcdFx0XHRuZXdUeXBlLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PSBudWxsICYmXG5cdFx0XHRcdFx0Yy5jb21wb25lbnRXaWxsTW91bnQgIT0gbnVsbFxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRjLmNvbXBvbmVudFdpbGxNb3VudCgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGlzQ2xhc3NDb21wb25lbnQgJiYgYy5jb21wb25lbnREaWRNb3VudCAhPSBudWxsKSB7XG5cdFx0XHRcdFx0Yy5fcmVuZGVyQ2FsbGJhY2tzLnB1c2goYy5jb21wb25lbnREaWRNb3VudCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHRpc0NsYXNzQ29tcG9uZW50ICYmXG5cdFx0XHRcdFx0bmV3VHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT0gbnVsbCAmJlxuXHRcdFx0XHRcdG5ld1Byb3BzICE9PSBvbGRQcm9wcyAmJlxuXHRcdFx0XHRcdGMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyAhPSBudWxsXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdGMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXdQcm9wcywgY29tcG9uZW50Q29udGV4dCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0IWMuX2ZvcmNlICYmXG5cdFx0XHRcdFx0KChjLnNob3VsZENvbXBvbmVudFVwZGF0ZSAhPSBudWxsICYmXG5cdFx0XHRcdFx0XHRjLnNob3VsZENvbXBvbmVudFVwZGF0ZShcblx0XHRcdFx0XHRcdFx0bmV3UHJvcHMsXG5cdFx0XHRcdFx0XHRcdGMuX25leHRTdGF0ZSxcblx0XHRcdFx0XHRcdFx0Y29tcG9uZW50Q29udGV4dFxuXHRcdFx0XHRcdFx0KSA9PT0gZmFsc2UpIHx8XG5cdFx0XHRcdFx0XHRuZXdWTm9kZS5fb3JpZ2luYWwgPT09IG9sZFZOb2RlLl9vcmlnaW5hbClcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0Ly8gTW9yZSBpbmZvIGFib3V0IHRoaXMgaGVyZTogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vSm92aURlQ3Jvb2NrL2JlYzVmMmNlOTM1NDRkMmU2MDcwZWY4ZTAwMzZlNGU4XG5cdFx0XHRcdFx0aWYgKG5ld1ZOb2RlLl9vcmlnaW5hbCAhPT0gb2xkVk5vZGUuX29yaWdpbmFsKSB7XG5cdFx0XHRcdFx0XHQvLyBXaGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggYSBiYWlsIGJlY2F1c2Ugb2Ygc0NVIHdlIGhhdmUgdG8gdXBkYXRlXG5cdFx0XHRcdFx0XHQvLyB0aGUgcHJvcHMsIHN0YXRlIGFuZCBkaXJ0eS1zdGF0ZS5cblx0XHRcdFx0XHRcdC8vIHdoZW4gd2UgYXJlIGRlYWxpbmcgd2l0aCBzdHJpY3QtZXF1YWxpdHkgd2UgZG9uJ3QgYXMgdGhlIGNoaWxkIGNvdWxkIHN0aWxsXG5cdFx0XHRcdFx0XHQvLyBiZSBkaXJ0aWVkIHNlZSAjMzg4M1xuXHRcdFx0XHRcdFx0Yy5wcm9wcyA9IG5ld1Byb3BzO1xuXHRcdFx0XHRcdFx0Yy5zdGF0ZSA9IGMuX25leHRTdGF0ZTtcblx0XHRcdFx0XHRcdGMuX2RpcnR5ID0gZmFsc2U7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bmV3Vk5vZGUuX2RvbSA9IG9sZFZOb2RlLl9kb207XG5cdFx0XHRcdFx0bmV3Vk5vZGUuX2NoaWxkcmVuID0gb2xkVk5vZGUuX2NoaWxkcmVuO1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9jaGlsZHJlbi5zb21lKHZub2RlID0+IHtcblx0XHRcdFx0XHRcdGlmICh2bm9kZSkgdm5vZGUuX3BhcmVudCA9IG5ld1ZOb2RlO1xuXHRcdFx0XHRcdH0pO1xuXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjLl9zdGF0ZUNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0Yy5fcmVuZGVyQ2FsbGJhY2tzLnB1c2goYy5fc3RhdGVDYWxsYmFja3NbaV0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjLl9zdGF0ZUNhbGxiYWNrcyA9IFtdO1xuXG5cdFx0XHRcdFx0aWYgKGMuX3JlbmRlckNhbGxiYWNrcy5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdGNvbW1pdFF1ZXVlLnB1c2goYyk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YnJlYWsgb3V0ZXI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoYy5jb21wb25lbnRXaWxsVXBkYXRlICE9IG51bGwpIHtcblx0XHRcdFx0XHRjLmNvbXBvbmVudFdpbGxVcGRhdGUobmV3UHJvcHMsIGMuX25leHRTdGF0ZSwgY29tcG9uZW50Q29udGV4dCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoaXNDbGFzc0NvbXBvbmVudCAmJiBjLmNvbXBvbmVudERpZFVwZGF0ZSAhPSBudWxsKSB7XG5cdFx0XHRcdFx0Yy5fcmVuZGVyQ2FsbGJhY2tzLnB1c2goKCkgPT4ge1xuXHRcdFx0XHRcdFx0Yy5jb21wb25lbnREaWRVcGRhdGUob2xkUHJvcHMsIG9sZFN0YXRlLCBzbmFwc2hvdCk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Yy5jb250ZXh0ID0gY29tcG9uZW50Q29udGV4dDtcblx0XHRcdGMucHJvcHMgPSBuZXdQcm9wcztcblx0XHRcdGMuX3BhcmVudERvbSA9IHBhcmVudERvbTtcblx0XHRcdGMuX2ZvcmNlID0gZmFsc2U7XG5cblx0XHRcdGxldCByZW5kZXJIb29rID0gb3B0aW9ucy5fcmVuZGVyLFxuXHRcdFx0XHRjb3VudCA9IDA7XG5cdFx0XHRpZiAoaXNDbGFzc0NvbXBvbmVudCkge1xuXHRcdFx0XHRjLnN0YXRlID0gYy5fbmV4dFN0YXRlO1xuXHRcdFx0XHRjLl9kaXJ0eSA9IGZhbHNlO1xuXG5cdFx0XHRcdGlmIChyZW5kZXJIb29rKSByZW5kZXJIb29rKG5ld1ZOb2RlKTtcblxuXHRcdFx0XHR0bXAgPSBjLnJlbmRlcihjLnByb3BzLCBjLnN0YXRlLCBjLmNvbnRleHQpO1xuXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYy5fc3RhdGVDYWxsYmFja3MubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRjLl9yZW5kZXJDYWxsYmFja3MucHVzaChjLl9zdGF0ZUNhbGxiYWNrc1tpXSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Yy5fc3RhdGVDYWxsYmFja3MgPSBbXTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGRvIHtcblx0XHRcdFx0XHRjLl9kaXJ0eSA9IGZhbHNlO1xuXHRcdFx0XHRcdGlmIChyZW5kZXJIb29rKSByZW5kZXJIb29rKG5ld1ZOb2RlKTtcblxuXHRcdFx0XHRcdHRtcCA9IGMucmVuZGVyKGMucHJvcHMsIGMuc3RhdGUsIGMuY29udGV4dCk7XG5cblx0XHRcdFx0XHQvLyBIYW5kbGUgc2V0U3RhdGUgY2FsbGVkIGluIHJlbmRlciwgc2VlICMyNTUzXG5cdFx0XHRcdFx0Yy5zdGF0ZSA9IGMuX25leHRTdGF0ZTtcblx0XHRcdFx0fSB3aGlsZSAoYy5fZGlydHkgJiYgKytjb3VudCA8IDI1KTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSGFuZGxlIHNldFN0YXRlIGNhbGxlZCBpbiByZW5kZXIsIHNlZSAjMjU1M1xuXHRcdFx0Yy5zdGF0ZSA9IGMuX25leHRTdGF0ZTtcblxuXHRcdFx0aWYgKGMuZ2V0Q2hpbGRDb250ZXh0ICE9IG51bGwpIHtcblx0XHRcdFx0Z2xvYmFsQ29udGV4dCA9IGFzc2lnbihhc3NpZ24oe30sIGdsb2JhbENvbnRleHQpLCBjLmdldENoaWxkQ29udGV4dCgpKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGlzQ2xhc3NDb21wb25lbnQgJiYgIWlzTmV3ICYmIGMuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgIT0gbnVsbCkge1xuXHRcdFx0XHRzbmFwc2hvdCA9IGMuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUob2xkUHJvcHMsIG9sZFN0YXRlKTtcblx0XHRcdH1cblxuXHRcdFx0bGV0IGlzVG9wTGV2ZWxGcmFnbWVudCA9XG5cdFx0XHRcdHRtcCAhPSBudWxsICYmIHRtcC50eXBlID09PSBGcmFnbWVudCAmJiB0bXAua2V5ID09IG51bGw7XG5cdFx0XHRsZXQgcmVuZGVyUmVzdWx0ID0gaXNUb3BMZXZlbEZyYWdtZW50ID8gdG1wLnByb3BzLmNoaWxkcmVuIDogdG1wO1xuXG5cdFx0XHRkaWZmQ2hpbGRyZW4oXG5cdFx0XHRcdHBhcmVudERvbSxcblx0XHRcdFx0aXNBcnJheShyZW5kZXJSZXN1bHQpID8gcmVuZGVyUmVzdWx0IDogW3JlbmRlclJlc3VsdF0sXG5cdFx0XHRcdG5ld1ZOb2RlLFxuXHRcdFx0XHRvbGRWTm9kZSxcblx0XHRcdFx0Z2xvYmFsQ29udGV4dCxcblx0XHRcdFx0bmFtZXNwYWNlLFxuXHRcdFx0XHRleGNlc3NEb21DaGlsZHJlbixcblx0XHRcdFx0Y29tbWl0UXVldWUsXG5cdFx0XHRcdG9sZERvbSxcblx0XHRcdFx0aXNIeWRyYXRpbmcsXG5cdFx0XHRcdHJlZlF1ZXVlXG5cdFx0XHQpO1xuXG5cdFx0XHRjLmJhc2UgPSBuZXdWTm9kZS5fZG9tO1xuXG5cdFx0XHQvLyBXZSBzdWNjZXNzZnVsbHkgcmVuZGVyZWQgdGhpcyBWTm9kZSwgdW5zZXQgYW55IHN0b3JlZCBoeWRyYXRpb24vYmFpbG91dCBzdGF0ZTpcblx0XHRcdG5ld1ZOb2RlLl9mbGFncyAmPSBSRVNFVF9NT0RFO1xuXG5cdFx0XHRpZiAoYy5fcmVuZGVyQ2FsbGJhY2tzLmxlbmd0aCkge1xuXHRcdFx0XHRjb21taXRRdWV1ZS5wdXNoKGMpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoY2xlYXJQcm9jZXNzaW5nRXhjZXB0aW9uKSB7XG5cdFx0XHRcdGMuX3BlbmRpbmdFcnJvciA9IGMuX3Byb2Nlc3NpbmdFeGNlcHRpb24gPSBudWxsO1xuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdG5ld1ZOb2RlLl9vcmlnaW5hbCA9IG51bGw7XG5cdFx0XHQvLyBpZiBoeWRyYXRpbmcgb3IgY3JlYXRpbmcgaW5pdGlhbCB0cmVlLCBiYWlsb3V0IHByZXNlcnZlcyBET006XG5cdFx0XHRpZiAoaXNIeWRyYXRpbmcgfHwgZXhjZXNzRG9tQ2hpbGRyZW4gIT0gbnVsbCkge1xuXHRcdFx0XHRuZXdWTm9kZS5fZmxhZ3MgfD0gaXNIeWRyYXRpbmdcblx0XHRcdFx0XHQ/IE1PREVfSFlEUkFURSB8IE1PREVfU1VTUEVOREVEXG5cdFx0XHRcdFx0OiBNT0RFX1NVU1BFTkRFRDtcblxuXHRcdFx0XHR3aGlsZSAob2xkRG9tICYmIG9sZERvbS5ub2RlVHlwZSA9PT0gOCAmJiBvbGREb20ubmV4dFNpYmxpbmcpIHtcblx0XHRcdFx0XHRvbGREb20gPSBvbGREb20ubmV4dFNpYmxpbmc7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZXhjZXNzRG9tQ2hpbGRyZW5bZXhjZXNzRG9tQ2hpbGRyZW4uaW5kZXhPZihvbGREb20pXSA9IG51bGw7XG5cdFx0XHRcdG5ld1ZOb2RlLl9kb20gPSBvbGREb207XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRuZXdWTm9kZS5fZG9tID0gb2xkVk5vZGUuX2RvbTtcblx0XHRcdFx0bmV3Vk5vZGUuX2NoaWxkcmVuID0gb2xkVk5vZGUuX2NoaWxkcmVuO1xuXHRcdFx0fVxuXHRcdFx0b3B0aW9ucy5fY2F0Y2hFcnJvcihlLCBuZXdWTm9kZSwgb2xkVk5vZGUpO1xuXHRcdH1cblx0fSBlbHNlIGlmIChcblx0XHRleGNlc3NEb21DaGlsZHJlbiA9PSBudWxsICYmXG5cdFx0bmV3Vk5vZGUuX29yaWdpbmFsID09PSBvbGRWTm9kZS5fb3JpZ2luYWxcblx0KSB7XG5cdFx0bmV3Vk5vZGUuX2NoaWxkcmVuID0gb2xkVk5vZGUuX2NoaWxkcmVuO1xuXHRcdG5ld1ZOb2RlLl9kb20gPSBvbGRWTm9kZS5fZG9tO1xuXHR9IGVsc2Uge1xuXHRcdG5ld1ZOb2RlLl9kb20gPSBkaWZmRWxlbWVudE5vZGVzKFxuXHRcdFx0b2xkVk5vZGUuX2RvbSxcblx0XHRcdG5ld1ZOb2RlLFxuXHRcdFx0b2xkVk5vZGUsXG5cdFx0XHRnbG9iYWxDb250ZXh0LFxuXHRcdFx0bmFtZXNwYWNlLFxuXHRcdFx0ZXhjZXNzRG9tQ2hpbGRyZW4sXG5cdFx0XHRjb21taXRRdWV1ZSxcblx0XHRcdGlzSHlkcmF0aW5nLFxuXHRcdFx0cmVmUXVldWVcblx0XHQpO1xuXHR9XG5cblx0aWYgKCh0bXAgPSBvcHRpb25zLmRpZmZlZCkpIHRtcChuZXdWTm9kZSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtBcnJheTxDb21wb25lbnQ+fSBjb21taXRRdWV1ZSBMaXN0IG9mIGNvbXBvbmVudHNcbiAqIHdoaWNoIGhhdmUgY2FsbGJhY2tzIHRvIGludm9rZSBpbiBjb21taXRSb290XG4gKiBAcGFyYW0ge1ZOb2RlfSByb290XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21taXRSb290KGNvbW1pdFF1ZXVlLCByb290LCByZWZRdWV1ZSkge1xuXHRyb290Ll9uZXh0RG9tID0gdW5kZWZpbmVkO1xuXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgcmVmUXVldWUubGVuZ3RoOyBpKyspIHtcblx0XHRhcHBseVJlZihyZWZRdWV1ZVtpXSwgcmVmUXVldWVbKytpXSwgcmVmUXVldWVbKytpXSk7XG5cdH1cblxuXHRpZiAob3B0aW9ucy5fY29tbWl0KSBvcHRpb25zLl9jb21taXQocm9vdCwgY29tbWl0UXVldWUpO1xuXG5cdGNvbW1pdFF1ZXVlLnNvbWUoYyA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgUmV1c2UgdGhlIGNvbW1pdFF1ZXVlIHZhcmlhYmxlIGhlcmUgc28gdGhlIHR5cGUgY2hhbmdlc1xuXHRcdFx0Y29tbWl0UXVldWUgPSBjLl9yZW5kZXJDYWxsYmFja3M7XG5cdFx0XHRjLl9yZW5kZXJDYWxsYmFja3MgPSBbXTtcblx0XHRcdGNvbW1pdFF1ZXVlLnNvbWUoY2IgPT4ge1xuXHRcdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIFNlZSBhYm92ZSBjb21tZW50IG9uIGNvbW1pdFF1ZXVlXG5cdFx0XHRcdGNiLmNhbGwoYyk7XG5cdFx0XHR9KTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRvcHRpb25zLl9jYXRjaEVycm9yKGUsIGMuX3Zub2RlKTtcblx0XHR9XG5cdH0pO1xufVxuXG4vKipcbiAqIERpZmYgdHdvIHZpcnR1YWwgbm9kZXMgcmVwcmVzZW50aW5nIERPTSBlbGVtZW50XG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IGRvbSBUaGUgRE9NIGVsZW1lbnQgcmVwcmVzZW50aW5nIHRoZSB2aXJ0dWFsIG5vZGVzXG4gKiBiZWluZyBkaWZmZWRcbiAqIEBwYXJhbSB7Vk5vZGV9IG5ld1ZOb2RlIFRoZSBuZXcgdmlydHVhbCBub2RlXG4gKiBAcGFyYW0ge1ZOb2RlfSBvbGRWTm9kZSBUaGUgb2xkIHZpcnR1YWwgbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IGdsb2JhbENvbnRleHQgVGhlIGN1cnJlbnQgY29udGV4dCBvYmplY3RcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UgQ3VycmVudCBuYW1lc3BhY2Ugb2YgdGhlIERPTSBub2RlIChIVE1MLCBTVkcsIG9yIE1hdGhNTClcbiAqIEBwYXJhbSB7QXJyYXk8UHJlYWN0RWxlbWVudD59IGV4Y2Vzc0RvbUNoaWxkcmVuXG4gKiBAcGFyYW0ge0FycmF5PENvbXBvbmVudD59IGNvbW1pdFF1ZXVlIExpc3Qgb2YgY29tcG9uZW50cyB3aGljaCBoYXZlIGNhbGxiYWNrc1xuICogdG8gaW52b2tlIGluIGNvbW1pdFJvb3RcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNIeWRyYXRpbmcgV2hldGhlciBvciBub3Qgd2UgYXJlIGluIGh5ZHJhdGlvblxuICogQHBhcmFtIHthbnlbXX0gcmVmUXVldWUgYW4gYXJyYXkgb2YgZWxlbWVudHMgbmVlZGVkIHRvIGludm9rZSByZWZzXG4gKiBAcmV0dXJucyB7UHJlYWN0RWxlbWVudH1cbiAqL1xuZnVuY3Rpb24gZGlmZkVsZW1lbnROb2Rlcyhcblx0ZG9tLFxuXHRuZXdWTm9kZSxcblx0b2xkVk5vZGUsXG5cdGdsb2JhbENvbnRleHQsXG5cdG5hbWVzcGFjZSxcblx0ZXhjZXNzRG9tQ2hpbGRyZW4sXG5cdGNvbW1pdFF1ZXVlLFxuXHRpc0h5ZHJhdGluZyxcblx0cmVmUXVldWVcbikge1xuXHRsZXQgb2xkUHJvcHMgPSBvbGRWTm9kZS5wcm9wcztcblx0bGV0IG5ld1Byb3BzID0gbmV3Vk5vZGUucHJvcHM7XG5cdGxldCBub2RlVHlwZSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAobmV3Vk5vZGUudHlwZSk7XG5cdC8qKiBAdHlwZSB7YW55fSAqL1xuXHRsZXQgaTtcblx0LyoqIEB0eXBlIHt7IF9faHRtbD86IHN0cmluZyB9fSAqL1xuXHRsZXQgbmV3SHRtbDtcblx0LyoqIEB0eXBlIHt7IF9faHRtbD86IHN0cmluZyB9fSAqL1xuXHRsZXQgb2xkSHRtbDtcblx0LyoqIEB0eXBlIHtDb21wb25lbnRDaGlsZHJlbn0gKi9cblx0bGV0IG5ld0NoaWxkcmVuO1xuXHRsZXQgdmFsdWU7XG5cdGxldCBpbnB1dFZhbHVlO1xuXHRsZXQgY2hlY2tlZDtcblxuXHQvLyBUcmFja3MgZW50ZXJpbmcgYW5kIGV4aXRpbmcgbmFtZXNwYWNlcyB3aGVuIGRlc2NlbmRpbmcgdGhyb3VnaCB0aGUgdHJlZS5cblx0aWYgKG5vZGVUeXBlID09PSAnc3ZnJykgbmFtZXNwYWNlID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcblx0ZWxzZSBpZiAobm9kZVR5cGUgPT09ICdtYXRoJylcblx0XHRuYW1lc3BhY2UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCc7XG5cdGVsc2UgaWYgKCFuYW1lc3BhY2UpIG5hbWVzcGFjZSA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJztcblxuXHRpZiAoZXhjZXNzRG9tQ2hpbGRyZW4gIT0gbnVsbCkge1xuXHRcdGZvciAoaSA9IDA7IGkgPCBleGNlc3NEb21DaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFsdWUgPSBleGNlc3NEb21DaGlsZHJlbltpXTtcblxuXHRcdFx0Ly8gaWYgbmV3Vk5vZGUgbWF0Y2hlcyBhbiBlbGVtZW50IGluIGV4Y2Vzc0RvbUNoaWxkcmVuIG9yIHRoZSBgZG9tYFxuXHRcdFx0Ly8gYXJndW1lbnQgbWF0Y2hlcyBhbiBlbGVtZW50IGluIGV4Y2Vzc0RvbUNoaWxkcmVuLCByZW1vdmUgaXQgZnJvbVxuXHRcdFx0Ly8gZXhjZXNzRG9tQ2hpbGRyZW4gc28gaXQgaXNuJ3QgbGF0ZXIgcmVtb3ZlZCBpbiBkaWZmQ2hpbGRyZW5cblx0XHRcdGlmIChcblx0XHRcdFx0dmFsdWUgJiZcblx0XHRcdFx0J3NldEF0dHJpYnV0ZScgaW4gdmFsdWUgPT09ICEhbm9kZVR5cGUgJiZcblx0XHRcdFx0KG5vZGVUeXBlID8gdmFsdWUubG9jYWxOYW1lID09PSBub2RlVHlwZSA6IHZhbHVlLm5vZGVUeXBlID09PSAzKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGRvbSA9IHZhbHVlO1xuXHRcdFx0XHRleGNlc3NEb21DaGlsZHJlbltpXSA9IG51bGw7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGlmIChkb20gPT0gbnVsbCkge1xuXHRcdGlmIChub2RlVHlwZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG5ld1Byb3BzKTtcblx0XHR9XG5cblx0XHRkb20gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoXG5cdFx0XHRuYW1lc3BhY2UsXG5cdFx0XHRub2RlVHlwZSxcblx0XHRcdG5ld1Byb3BzLmlzICYmIG5ld1Byb3BzXG5cdFx0KTtcblxuXHRcdC8vIHdlIGFyZSBjcmVhdGluZyBhIG5ldyBub2RlLCBzbyB3ZSBjYW4gYXNzdW1lIHRoaXMgaXMgYSBuZXcgc3VidHJlZSAoaW5cblx0XHQvLyBjYXNlIHdlIGFyZSBoeWRyYXRpbmcpLCB0aGlzIGRlb3B0cyB0aGUgaHlkcmF0ZVxuXHRcdGlmIChpc0h5ZHJhdGluZykge1xuXHRcdFx0aWYgKG9wdGlvbnMuX2h5ZHJhdGlvbk1pc21hdGNoKVxuXHRcdFx0XHRvcHRpb25zLl9oeWRyYXRpb25NaXNtYXRjaChuZXdWTm9kZSwgZXhjZXNzRG9tQ2hpbGRyZW4pO1xuXHRcdFx0aXNIeWRyYXRpbmcgPSBmYWxzZTtcblx0XHR9XG5cdFx0Ly8gd2UgY3JlYXRlZCBhIG5ldyBwYXJlbnQsIHNvIG5vbmUgb2YgdGhlIHByZXZpb3VzbHkgYXR0YWNoZWQgY2hpbGRyZW4gY2FuIGJlIHJldXNlZDpcblx0XHRleGNlc3NEb21DaGlsZHJlbiA9IG51bGw7XG5cdH1cblxuXHRpZiAobm9kZVR5cGUgPT09IG51bGwpIHtcblx0XHQvLyBEdXJpbmcgaHlkcmF0aW9uLCB3ZSBzdGlsbCBoYXZlIHRvIHNwbGl0IG1lcmdlZCB0ZXh0IGZyb20gU1NSJ2QgSFRNTC5cblx0XHRpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzICYmICghaXNIeWRyYXRpbmcgfHwgZG9tLmRhdGEgIT09IG5ld1Byb3BzKSkge1xuXHRcdFx0ZG9tLmRhdGEgPSBuZXdQcm9wcztcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Ly8gSWYgZXhjZXNzRG9tQ2hpbGRyZW4gd2FzIG5vdCBudWxsLCByZXBvcHVsYXRlIGl0IHdpdGggdGhlIGN1cnJlbnQgZWxlbWVudCdzIGNoaWxkcmVuOlxuXHRcdGV4Y2Vzc0RvbUNoaWxkcmVuID0gZXhjZXNzRG9tQ2hpbGRyZW4gJiYgc2xpY2UuY2FsbChkb20uY2hpbGROb2Rlcyk7XG5cblx0XHRvbGRQcm9wcyA9IG9sZFZOb2RlLnByb3BzIHx8IEVNUFRZX09CSjtcblxuXHRcdC8vIElmIHdlIGFyZSBpbiBhIHNpdHVhdGlvbiB3aGVyZSB3ZSBhcmUgbm90IGh5ZHJhdGluZyBidXQgYXJlIHVzaW5nXG5cdFx0Ly8gZXhpc3RpbmcgRE9NIChlLmcuIHJlcGxhY2VOb2RlKSB3ZSBzaG91bGQgcmVhZCB0aGUgZXhpc3RpbmcgRE9NXG5cdFx0Ly8gYXR0cmlidXRlcyB0byBkaWZmIHRoZW1cblx0XHRpZiAoIWlzSHlkcmF0aW5nICYmIGV4Y2Vzc0RvbUNoaWxkcmVuICE9IG51bGwpIHtcblx0XHRcdG9sZFByb3BzID0ge307XG5cdFx0XHRmb3IgKGkgPSAwOyBpIDwgZG9tLmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0dmFsdWUgPSBkb20uYXR0cmlidXRlc1tpXTtcblx0XHRcdFx0b2xkUHJvcHNbdmFsdWUubmFtZV0gPSB2YWx1ZS52YWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRmb3IgKGkgaW4gb2xkUHJvcHMpIHtcblx0XHRcdHZhbHVlID0gb2xkUHJvcHNbaV07XG5cdFx0XHRpZiAoaSA9PSAnY2hpbGRyZW4nKSB7XG5cdFx0XHR9IGVsc2UgaWYgKGkgPT0gJ2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MJykge1xuXHRcdFx0XHRvbGRIdG1sID0gdmFsdWU7XG5cdFx0XHR9IGVsc2UgaWYgKCEoaSBpbiBuZXdQcm9wcykpIHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdChpID09ICd2YWx1ZScgJiYgJ2RlZmF1bHRWYWx1ZScgaW4gbmV3UHJvcHMpIHx8XG5cdFx0XHRcdFx0KGkgPT0gJ2NoZWNrZWQnICYmICdkZWZhdWx0Q2hlY2tlZCcgaW4gbmV3UHJvcHMpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNldFByb3BlcnR5KGRvbSwgaSwgbnVsbCwgdmFsdWUsIG5hbWVzcGFjZSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gRHVyaW5nIGh5ZHJhdGlvbiwgcHJvcHMgYXJlIG5vdCBkaWZmZWQgYXQgYWxsIChpbmNsdWRpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpXG5cdFx0Ly8gQFRPRE8gd2Ugc2hvdWxkIHdhcm4gaW4gZGVidWcgbW9kZSB3aGVuIHByb3BzIGRvbid0IG1hdGNoIGhlcmUuXG5cdFx0Zm9yIChpIGluIG5ld1Byb3BzKSB7XG5cdFx0XHR2YWx1ZSA9IG5ld1Byb3BzW2ldO1xuXHRcdFx0aWYgKGkgPT0gJ2NoaWxkcmVuJykge1xuXHRcdFx0XHRuZXdDaGlsZHJlbiA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIGlmIChpID09ICdkYW5nZXJvdXNseVNldElubmVySFRNTCcpIHtcblx0XHRcdFx0bmV3SHRtbCA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIGlmIChpID09ICd2YWx1ZScpIHtcblx0XHRcdFx0aW5wdXRWYWx1ZSA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIGlmIChpID09ICdjaGVja2VkJykge1xuXHRcdFx0XHRjaGVja2VkID0gdmFsdWU7XG5cdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHQoIWlzSHlkcmF0aW5nIHx8IHR5cGVvZiB2YWx1ZSA9PSAnZnVuY3Rpb24nKSAmJlxuXHRcdFx0XHRvbGRQcm9wc1tpXSAhPT0gdmFsdWVcblx0XHRcdCkge1xuXHRcdFx0XHRzZXRQcm9wZXJ0eShkb20sIGksIHZhbHVlLCBvbGRQcm9wc1tpXSwgbmFtZXNwYWNlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBJZiB0aGUgbmV3IHZub2RlIGRpZG4ndCBoYXZlIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLCBkaWZmIGl0cyBjaGlsZHJlblxuXHRcdGlmIChuZXdIdG1sKSB7XG5cdFx0XHQvLyBBdm9pZCByZS1hcHBseWluZyB0aGUgc2FtZSAnX19odG1sJyBpZiBpdCBkaWQgbm90IGNoYW5nZWQgYmV0d2VlbiByZS1yZW5kZXJcblx0XHRcdGlmIChcblx0XHRcdFx0IWlzSHlkcmF0aW5nICYmXG5cdFx0XHRcdCghb2xkSHRtbCB8fFxuXHRcdFx0XHRcdChuZXdIdG1sLl9faHRtbCAhPT0gb2xkSHRtbC5fX2h0bWwgJiZcblx0XHRcdFx0XHRcdG5ld0h0bWwuX19odG1sICE9PSBkb20uaW5uZXJIVE1MKSlcblx0XHRcdCkge1xuXHRcdFx0XHRkb20uaW5uZXJIVE1MID0gbmV3SHRtbC5fX2h0bWw7XG5cdFx0XHR9XG5cblx0XHRcdG5ld1ZOb2RlLl9jaGlsZHJlbiA9IFtdO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAob2xkSHRtbCkgZG9tLmlubmVySFRNTCA9ICcnO1xuXG5cdFx0XHRkaWZmQ2hpbGRyZW4oXG5cdFx0XHRcdGRvbSxcblx0XHRcdFx0aXNBcnJheShuZXdDaGlsZHJlbikgPyBuZXdDaGlsZHJlbiA6IFtuZXdDaGlsZHJlbl0sXG5cdFx0XHRcdG5ld1ZOb2RlLFxuXHRcdFx0XHRvbGRWTm9kZSxcblx0XHRcdFx0Z2xvYmFsQ29udGV4dCxcblx0XHRcdFx0bm9kZVR5cGUgPT09ICdmb3JlaWduT2JqZWN0J1xuXHRcdFx0XHRcdD8gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnXG5cdFx0XHRcdFx0OiBuYW1lc3BhY2UsXG5cdFx0XHRcdGV4Y2Vzc0RvbUNoaWxkcmVuLFxuXHRcdFx0XHRjb21taXRRdWV1ZSxcblx0XHRcdFx0ZXhjZXNzRG9tQ2hpbGRyZW5cblx0XHRcdFx0XHQ/IGV4Y2Vzc0RvbUNoaWxkcmVuWzBdXG5cdFx0XHRcdFx0OiBvbGRWTm9kZS5fY2hpbGRyZW4gJiYgZ2V0RG9tU2libGluZyhvbGRWTm9kZSwgMCksXG5cdFx0XHRcdGlzSHlkcmF0aW5nLFxuXHRcdFx0XHRyZWZRdWV1ZVxuXHRcdFx0KTtcblxuXHRcdFx0Ly8gUmVtb3ZlIGNoaWxkcmVuIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIGFueSB2bm9kZS5cblx0XHRcdGlmIChleGNlc3NEb21DaGlsZHJlbiAhPSBudWxsKSB7XG5cdFx0XHRcdGZvciAoaSA9IGV4Y2Vzc0RvbUNoaWxkcmVuLmxlbmd0aDsgaS0tOyApIHtcblx0XHRcdFx0XHRyZW1vdmVOb2RlKGV4Y2Vzc0RvbUNoaWxkcmVuW2ldKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEFzIGFib3ZlLCBkb24ndCBkaWZmIHByb3BzIGR1cmluZyBoeWRyYXRpb25cblx0XHRpZiAoIWlzSHlkcmF0aW5nKSB7XG5cdFx0XHRpID0gJ3ZhbHVlJztcblx0XHRcdGlmIChub2RlVHlwZSA9PT0gJ3Byb2dyZXNzJyAmJiBpbnB1dFZhbHVlID09IG51bGwpIHtcblx0XHRcdFx0ZG9tLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcblx0XHRcdH0gZWxzZSBpZiAoXG5cdFx0XHRcdGlucHV0VmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuXHRcdFx0XHQvLyAjMjc1NiBGb3IgdGhlIDxwcm9ncmVzcz4tZWxlbWVudCB0aGUgaW5pdGlhbCB2YWx1ZSBpcyAwLFxuXHRcdFx0XHQvLyBkZXNwaXRlIHRoZSBhdHRyaWJ1dGUgbm90IGJlaW5nIHByZXNlbnQuIFdoZW4gdGhlIGF0dHJpYnV0ZVxuXHRcdFx0XHQvLyBpcyBtaXNzaW5nIHRoZSBwcm9ncmVzcyBiYXIgaXMgdHJlYXRlZCBhcyBpbmRldGVybWluYXRlLlxuXHRcdFx0XHQvLyBUbyBmaXggdGhhdCB3ZSdsbCBhbHdheXMgdXBkYXRlIGl0IHdoZW4gaXQgaXMgMCBmb3IgcHJvZ3Jlc3MgZWxlbWVudHNcblx0XHRcdFx0KGlucHV0VmFsdWUgIT09IGRvbVtpXSB8fFxuXHRcdFx0XHRcdChub2RlVHlwZSA9PT0gJ3Byb2dyZXNzJyAmJiAhaW5wdXRWYWx1ZSkgfHxcblx0XHRcdFx0XHQvLyBUaGlzIGlzIG9ubHkgZm9yIElFIDExIHRvIGZpeCA8c2VsZWN0PiB2YWx1ZSBub3QgYmVpbmcgdXBkYXRlZC5cblx0XHRcdFx0XHQvLyBUbyBhdm9pZCBhIHN0YWxlIHNlbGVjdCB2YWx1ZSB3ZSBuZWVkIHRvIHNldCB0aGUgb3B0aW9uLnZhbHVlXG5cdFx0XHRcdFx0Ly8gYWdhaW4sIHdoaWNoIHRyaWdnZXJzIElFMTEgdG8gcmUtZXZhbHVhdGUgdGhlIHNlbGVjdCB2YWx1ZVxuXHRcdFx0XHRcdChub2RlVHlwZSA9PT0gJ29wdGlvbicgJiYgaW5wdXRWYWx1ZSAhPT0gb2xkUHJvcHNbaV0pKVxuXHRcdFx0KSB7XG5cdFx0XHRcdHNldFByb3BlcnR5KGRvbSwgaSwgaW5wdXRWYWx1ZSwgb2xkUHJvcHNbaV0sIG5hbWVzcGFjZSk7XG5cdFx0XHR9XG5cblx0XHRcdGkgPSAnY2hlY2tlZCc7XG5cdFx0XHRpZiAoY2hlY2tlZCAhPT0gdW5kZWZpbmVkICYmIGNoZWNrZWQgIT09IGRvbVtpXSkge1xuXHRcdFx0XHRzZXRQcm9wZXJ0eShkb20sIGksIGNoZWNrZWQsIG9sZFByb3BzW2ldLCBuYW1lc3BhY2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBkb207XG59XG5cbi8qKlxuICogSW52b2tlIG9yIHVwZGF0ZSBhIHJlZiwgZGVwZW5kaW5nIG9uIHdoZXRoZXIgaXQgaXMgYSBmdW5jdGlvbiBvciBvYmplY3QgcmVmLlxuICogQHBhcmFtIHtSZWY8YW55PiAmIHsgX3VubW91bnQ/OiB1bmtub3duIH19IHJlZlxuICogQHBhcmFtIHthbnl9IHZhbHVlXG4gKiBAcGFyYW0ge1ZOb2RlfSB2bm9kZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlSZWYocmVmLCB2YWx1ZSwgdm5vZGUpIHtcblx0dHJ5IHtcblx0XHRpZiAodHlwZW9mIHJlZiA9PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRsZXQgaGFzUmVmVW5tb3VudCA9IHR5cGVvZiByZWYuX3VubW91bnQgPT0gJ2Z1bmN0aW9uJztcblx0XHRcdGlmIChoYXNSZWZVbm1vdW50KSB7XG5cdFx0XHRcdC8vIEB0cy1pZ25vcmUgVFMgZG9lc24ndCBsaWtlIG1vdmluZyBuYXJyb3dpbmcgY2hlY2tzIGludG8gdmFyaWFibGVzXG5cdFx0XHRcdHJlZi5fdW5tb3VudCgpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIWhhc1JlZlVubW91bnQgfHwgdmFsdWUgIT0gbnVsbCkge1xuXHRcdFx0XHQvLyBTdG9yZSB0aGUgY2xlYW51cCBmdW5jdGlvbiBvbiB0aGUgZnVuY3Rpb25cblx0XHRcdFx0Ly8gaW5zdGFuY2Ugb2JqZWN0IGl0c2VsZiB0byBhdm9pZCBzaGFwZVxuXHRcdFx0XHQvLyB0cmFuc2l0aW9uaW5nIHZub2RlXG5cdFx0XHRcdHJlZi5fdW5tb3VudCA9IHJlZih2YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHJlZi5jdXJyZW50ID0gdmFsdWU7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRvcHRpb25zLl9jYXRjaEVycm9yKGUsIHZub2RlKTtcblx0fVxufVxuXG4vKipcbiAqIFVubW91bnQgYSB2aXJ0dWFsIG5vZGUgZnJvbSB0aGUgdHJlZSBhbmQgYXBwbHkgRE9NIGNoYW5nZXNcbiAqIEBwYXJhbSB7Vk5vZGV9IHZub2RlIFRoZSB2aXJ0dWFsIG5vZGUgdG8gdW5tb3VudFxuICogQHBhcmFtIHtWTm9kZX0gcGFyZW50Vk5vZGUgVGhlIHBhcmVudCBvZiB0aGUgVk5vZGUgdGhhdCBpbml0aWF0ZWQgdGhlIHVubW91bnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NraXBSZW1vdmVdIEZsYWcgdGhhdCBpbmRpY2F0ZXMgdGhhdCBhIHBhcmVudCBub2RlIG9mIHRoZVxuICogY3VycmVudCBlbGVtZW50IGlzIGFscmVhZHkgZGV0YWNoZWQgZnJvbSB0aGUgRE9NLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5tb3VudCh2bm9kZSwgcGFyZW50Vk5vZGUsIHNraXBSZW1vdmUpIHtcblx0bGV0IHI7XG5cdGlmIChvcHRpb25zLnVubW91bnQpIG9wdGlvbnMudW5tb3VudCh2bm9kZSk7XG5cblx0aWYgKChyID0gdm5vZGUucmVmKSkge1xuXHRcdGlmICghci5jdXJyZW50IHx8IHIuY3VycmVudCA9PT0gdm5vZGUuX2RvbSkge1xuXHRcdFx0YXBwbHlSZWYociwgbnVsbCwgcGFyZW50Vk5vZGUpO1xuXHRcdH1cblx0fVxuXG5cdGlmICgociA9IHZub2RlLl9jb21wb25lbnQpICE9IG51bGwpIHtcblx0XHRpZiAoci5jb21wb25lbnRXaWxsVW5tb3VudCkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0ci5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRvcHRpb25zLl9jYXRjaEVycm9yKGUsIHBhcmVudFZOb2RlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyLmJhc2UgPSByLl9wYXJlbnREb20gPSBudWxsO1xuXHR9XG5cblx0aWYgKChyID0gdm5vZGUuX2NoaWxkcmVuKSkge1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgci5sZW5ndGg7IGkrKykge1xuXHRcdFx0aWYgKHJbaV0pIHtcblx0XHRcdFx0dW5tb3VudChcblx0XHRcdFx0XHRyW2ldLFxuXHRcdFx0XHRcdHBhcmVudFZOb2RlLFxuXHRcdFx0XHRcdHNraXBSZW1vdmUgfHwgdHlwZW9mIHZub2RlLnR5cGUgIT0gJ2Z1bmN0aW9uJ1xuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGlmICghc2tpcFJlbW92ZSkge1xuXHRcdHJlbW92ZU5vZGUodm5vZGUuX2RvbSk7XG5cdH1cblxuXHQvLyBNdXN0IGJlIHNldCB0byBgdW5kZWZpbmVkYCB0byBwcm9wZXJseSBjbGVhbiB1cCBgX25leHREb21gXG5cdC8vIGZvciB3aGljaCBgbnVsbGAgaXMgYSB2YWxpZCB2YWx1ZS4gU2VlIGNvbW1lbnQgaW4gYGNyZWF0ZS1lbGVtZW50LmpzYFxuXHR2bm9kZS5fY29tcG9uZW50ID0gdm5vZGUuX3BhcmVudCA9IHZub2RlLl9kb20gPSB2bm9kZS5fbmV4dERvbSA9IHVuZGVmaW5lZDtcbn1cblxuLyoqIFRoZSBgLnJlbmRlcigpYCBtZXRob2QgZm9yIGEgUEZDIGJhY2tpbmcgaW5zdGFuY2UuICovXG5mdW5jdGlvbiBkb1JlbmRlcihwcm9wcywgc3RhdGUsIGNvbnRleHQpIHtcblx0cmV0dXJuIHRoaXMuY29uc3RydWN0b3IocHJvcHMsIGNvbnRleHQpO1xufVxuIiwgImltcG9ydCB7IEVNUFRZX09CSiB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNvbW1pdFJvb3QsIGRpZmYgfSBmcm9tICcuL2RpZmYvaW5kZXgnO1xuaW1wb3J0IHsgY3JlYXRlRWxlbWVudCwgRnJhZ21lbnQgfSBmcm9tICcuL2NyZWF0ZS1lbGVtZW50JztcbmltcG9ydCBvcHRpb25zIGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBzbGljZSB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogUmVuZGVyIGEgUHJlYWN0IHZpcnR1YWwgbm9kZSBpbnRvIGEgRE9NIGVsZW1lbnRcbiAqIEBwYXJhbSB7Q29tcG9uZW50Q2hpbGR9IHZub2RlIFRoZSB2aXJ0dWFsIG5vZGUgdG8gcmVuZGVyXG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IHBhcmVudERvbSBUaGUgRE9NIGVsZW1lbnQgdG8gcmVuZGVyIGludG9cbiAqIEBwYXJhbSB7UHJlYWN0RWxlbWVudCB8IG9iamVjdH0gW3JlcGxhY2VOb2RlXSBPcHRpb25hbDogQXR0ZW1wdCB0byByZS11c2UgYW5cbiAqIGV4aXN0aW5nIERPTSB0cmVlIHJvb3RlZCBhdCBgcmVwbGFjZU5vZGVgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXIodm5vZGUsIHBhcmVudERvbSwgcmVwbGFjZU5vZGUpIHtcblx0aWYgKG9wdGlvbnMuX3Jvb3QpIG9wdGlvbnMuX3Jvb3Qodm5vZGUsIHBhcmVudERvbSk7XG5cblx0Ly8gV2UgYWJ1c2UgdGhlIGByZXBsYWNlTm9kZWAgcGFyYW1ldGVyIGluIGBoeWRyYXRlKClgIHRvIHNpZ25hbCBpZiB3ZSBhcmUgaW5cblx0Ly8gaHlkcmF0aW9uIG1vZGUgb3Igbm90IGJ5IHBhc3NpbmcgdGhlIGBoeWRyYXRlYCBmdW5jdGlvbiBpbnN0ZWFkIG9mIGEgRE9NXG5cdC8vIGVsZW1lbnQuLlxuXHRsZXQgaXNIeWRyYXRpbmcgPSB0eXBlb2YgcmVwbGFjZU5vZGUgPT0gJ2Z1bmN0aW9uJztcblxuXHQvLyBUbyBiZSBhYmxlIHRvIHN1cHBvcnQgY2FsbGluZyBgcmVuZGVyKClgIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lXG5cdC8vIERPTSBub2RlLCB3ZSBuZWVkIHRvIG9idGFpbiBhIHJlZmVyZW5jZSB0byB0aGUgcHJldmlvdXMgdHJlZS4gV2UgZG9cblx0Ly8gdGhpcyBieSBhc3NpZ25pbmcgYSBuZXcgYF9jaGlsZHJlbmAgcHJvcGVydHkgdG8gRE9NIG5vZGVzIHdoaWNoIHBvaW50c1xuXHQvLyB0byB0aGUgbGFzdCByZW5kZXJlZCB0cmVlLiBCeSBkZWZhdWx0IHRoaXMgcHJvcGVydHkgaXMgbm90IHByZXNlbnQsIHdoaWNoXG5cdC8vIG1lYW5zIHRoYXQgd2UgYXJlIG1vdW50aW5nIGEgbmV3IHRyZWUgZm9yIHRoZSBmaXJzdCB0aW1lLlxuXHRsZXQgb2xkVk5vZGUgPSBpc0h5ZHJhdGluZ1xuXHRcdD8gbnVsbFxuXHRcdDogKHJlcGxhY2VOb2RlICYmIHJlcGxhY2VOb2RlLl9jaGlsZHJlbikgfHwgcGFyZW50RG9tLl9jaGlsZHJlbjtcblxuXHR2bm9kZSA9ICgoIWlzSHlkcmF0aW5nICYmIHJlcGxhY2VOb2RlKSB8fCBwYXJlbnREb20pLl9jaGlsZHJlbiA9XG5cdFx0Y3JlYXRlRWxlbWVudChGcmFnbWVudCwgbnVsbCwgW3Zub2RlXSk7XG5cblx0Ly8gTGlzdCBvZiBlZmZlY3RzIHRoYXQgbmVlZCB0byBiZSBjYWxsZWQgYWZ0ZXIgZGlmZmluZy5cblx0bGV0IGNvbW1pdFF1ZXVlID0gW10sXG5cdFx0cmVmUXVldWUgPSBbXTtcblx0ZGlmZihcblx0XHRwYXJlbnREb20sXG5cdFx0Ly8gRGV0ZXJtaW5lIHRoZSBuZXcgdm5vZGUgdHJlZSBhbmQgc3RvcmUgaXQgb24gdGhlIERPTSBlbGVtZW50IG9uXG5cdFx0Ly8gb3VyIGN1c3RvbSBgX2NoaWxkcmVuYCBwcm9wZXJ0eS5cblx0XHR2bm9kZSxcblx0XHRvbGRWTm9kZSB8fCBFTVBUWV9PQkosXG5cdFx0RU1QVFlfT0JKLFxuXHRcdHBhcmVudERvbS5uYW1lc3BhY2VVUkksXG5cdFx0IWlzSHlkcmF0aW5nICYmIHJlcGxhY2VOb2RlXG5cdFx0XHQ/IFtyZXBsYWNlTm9kZV1cblx0XHRcdDogb2xkVk5vZGVcblx0XHRcdFx0PyBudWxsXG5cdFx0XHRcdDogcGFyZW50RG9tLmZpcnN0Q2hpbGRcblx0XHRcdFx0XHQ/IHNsaWNlLmNhbGwocGFyZW50RG9tLmNoaWxkTm9kZXMpXG5cdFx0XHRcdFx0OiBudWxsLFxuXHRcdGNvbW1pdFF1ZXVlLFxuXHRcdCFpc0h5ZHJhdGluZyAmJiByZXBsYWNlTm9kZVxuXHRcdFx0PyByZXBsYWNlTm9kZVxuXHRcdFx0OiBvbGRWTm9kZVxuXHRcdFx0XHQ/IG9sZFZOb2RlLl9kb21cblx0XHRcdFx0OiBwYXJlbnREb20uZmlyc3RDaGlsZCxcblx0XHRpc0h5ZHJhdGluZyxcblx0XHRyZWZRdWV1ZVxuXHQpO1xuXG5cdC8vIEZsdXNoIGFsbCBxdWV1ZWQgZWZmZWN0c1xuXHRjb21taXRSb290KGNvbW1pdFF1ZXVlLCB2bm9kZSwgcmVmUXVldWUpO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhbiBleGlzdGluZyBET00gZWxlbWVudCB3aXRoIGRhdGEgZnJvbSBhIFByZWFjdCB2aXJ0dWFsIG5vZGVcbiAqIEBwYXJhbSB7Q29tcG9uZW50Q2hpbGR9IHZub2RlIFRoZSB2aXJ0dWFsIG5vZGUgdG8gcmVuZGVyXG4gKiBAcGFyYW0ge1ByZWFjdEVsZW1lbnR9IHBhcmVudERvbSBUaGUgRE9NIGVsZW1lbnQgdG8gdXBkYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoeWRyYXRlKHZub2RlLCBwYXJlbnREb20pIHtcblx0cmVuZGVyKHZub2RlLCBwYXJlbnREb20sIGh5ZHJhdGUpO1xufVxuIiwgImltcG9ydCB7IGFzc2lnbiwgc2xpY2UgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgY3JlYXRlVk5vZGUgfSBmcm9tICcuL2NyZWF0ZS1lbGVtZW50JztcblxuLyoqXG4gKiBDbG9uZXMgdGhlIGdpdmVuIFZOb2RlLCBvcHRpb25hbGx5IGFkZGluZyBhdHRyaWJ1dGVzL3Byb3BzIGFuZCByZXBsYWNpbmcgaXRzXG4gKiBjaGlsZHJlbi5cbiAqIEBwYXJhbSB7Vk5vZGV9IHZub2RlIFRoZSB2aXJ0dWFsIERPTSBlbGVtZW50IHRvIGNsb25lXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHMgQXR0cmlidXRlcy9wcm9wcyB0byBhZGQgd2hlbiBjbG9uaW5nXG4gKiBAcGFyYW0ge0FycmF5PENvbXBvbmVudENoaWxkcmVuPn0gcmVzdCBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgd2lsbCBiZSB1c2VkXG4gKiBhcyByZXBsYWNlbWVudCBjaGlsZHJlbi5cbiAqIEByZXR1cm5zIHtWTm9kZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsb25lRWxlbWVudCh2bm9kZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG5cdGxldCBub3JtYWxpemVkUHJvcHMgPSBhc3NpZ24oe30sIHZub2RlLnByb3BzKSxcblx0XHRrZXksXG5cdFx0cmVmLFxuXHRcdGk7XG5cblx0bGV0IGRlZmF1bHRQcm9wcztcblxuXHRpZiAodm5vZGUudHlwZSAmJiB2bm9kZS50eXBlLmRlZmF1bHRQcm9wcykge1xuXHRcdGRlZmF1bHRQcm9wcyA9IHZub2RlLnR5cGUuZGVmYXVsdFByb3BzO1xuXHR9XG5cblx0Zm9yIChpIGluIHByb3BzKSB7XG5cdFx0aWYgKGkgPT0gJ2tleScpIGtleSA9IHByb3BzW2ldO1xuXHRcdGVsc2UgaWYgKGkgPT0gJ3JlZicpIHJlZiA9IHByb3BzW2ldO1xuXHRcdGVsc2UgaWYgKHByb3BzW2ldID09PSB1bmRlZmluZWQgJiYgZGVmYXVsdFByb3BzICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdG5vcm1hbGl6ZWRQcm9wc1tpXSA9IGRlZmF1bHRQcm9wc1tpXTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bm9ybWFsaXplZFByb3BzW2ldID0gcHJvcHNbaV07XG5cdFx0fVxuXHR9XG5cblx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAyKSB7XG5cdFx0bm9ybWFsaXplZFByb3BzLmNoaWxkcmVuID1cblx0XHRcdGFyZ3VtZW50cy5sZW5ndGggPiAzID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpIDogY2hpbGRyZW47XG5cdH1cblxuXHRyZXR1cm4gY3JlYXRlVk5vZGUoXG5cdFx0dm5vZGUudHlwZSxcblx0XHRub3JtYWxpemVkUHJvcHMsXG5cdFx0a2V5IHx8IHZub2RlLmtleSxcblx0XHRyZWYgfHwgdm5vZGUucmVmLFxuXHRcdG51bGxcblx0KTtcbn1cbiIsICIvKipcbiAqIEZpbmQgdGhlIGNsb3Nlc3QgZXJyb3IgYm91bmRhcnkgdG8gYSB0aHJvd24gZXJyb3IgYW5kIGNhbGwgaXRcbiAqIEBwYXJhbSB7b2JqZWN0fSBlcnJvciBUaGUgdGhyb3duIHZhbHVlXG4gKiBAcGFyYW0ge1ZOb2RlfSB2bm9kZSBUaGUgdm5vZGUgdGhhdCB0aHJldyB0aGUgZXJyb3IgdGhhdCB3YXMgY2F1Z2h0IChleGNlcHRcbiAqIGZvciB1bm1vdW50aW5nIHdoZW4gdGhpcyBwYXJhbWV0ZXIgaXMgdGhlIGhpZ2hlc3QgcGFyZW50IHRoYXQgd2FzIGJlaW5nXG4gKiB1bm1vdW50ZWQpXG4gKiBAcGFyYW0ge1ZOb2RlfSBbb2xkVk5vZGVdXG4gKiBAcGFyYW0ge0Vycm9ySW5mb30gW2Vycm9ySW5mb11cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9jYXRjaEVycm9yKGVycm9yLCB2bm9kZSwgb2xkVk5vZGUsIGVycm9ySW5mbykge1xuXHQvKiogQHR5cGUge0NvbXBvbmVudH0gKi9cblx0bGV0IGNvbXBvbmVudCxcblx0XHQvKiogQHR5cGUge0NvbXBvbmVudFR5cGV9ICovXG5cdFx0Y3Rvcixcblx0XHQvKiogQHR5cGUge2Jvb2xlYW59ICovXG5cdFx0aGFuZGxlZDtcblxuXHRmb3IgKDsgKHZub2RlID0gdm5vZGUuX3BhcmVudCk7ICkge1xuXHRcdGlmICgoY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudCkgJiYgIWNvbXBvbmVudC5fcHJvY2Vzc2luZ0V4Y2VwdGlvbikge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y3RvciA9IGNvbXBvbmVudC5jb25zdHJ1Y3RvcjtcblxuXHRcdFx0XHRpZiAoY3RvciAmJiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPSBudWxsKSB7XG5cdFx0XHRcdFx0Y29tcG9uZW50LnNldFN0YXRlKGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yKSk7XG5cdFx0XHRcdFx0aGFuZGxlZCA9IGNvbXBvbmVudC5fZGlydHk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoY29tcG9uZW50LmNvbXBvbmVudERpZENhdGNoICE9IG51bGwpIHtcblx0XHRcdFx0XHRjb21wb25lbnQuY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IsIGVycm9ySW5mbyB8fCB7fSk7XG5cdFx0XHRcdFx0aGFuZGxlZCA9IGNvbXBvbmVudC5fZGlydHk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBUaGlzIGlzIGFuIGVycm9yIGJvdW5kYXJ5LiBNYXJrIGl0IGFzIGhhdmluZyBiYWlsZWQgb3V0LCBhbmQgd2hldGhlciBpdCB3YXMgbWlkLWh5ZHJhdGlvbi5cblx0XHRcdFx0aWYgKGhhbmRsZWQpIHtcblx0XHRcdFx0XHRyZXR1cm4gKGNvbXBvbmVudC5fcGVuZGluZ0Vycm9yID0gY29tcG9uZW50KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRlcnJvciA9IGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0dGhyb3cgZXJyb3I7XG59XG4iLCAiaW1wb3J0IHsgb3B0aW9ucyBhcyBfb3B0aW9ucyB9IGZyb20gJ3ByZWFjdCc7XG5cbi8qKiBAdHlwZSB7bnVtYmVyfSAqL1xubGV0IGN1cnJlbnRJbmRleDtcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5Db21wb25lbnR9ICovXG5sZXQgY3VycmVudENvbXBvbmVudDtcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5Db21wb25lbnR9ICovXG5sZXQgcHJldmlvdXNDb21wb25lbnQ7XG5cbi8qKiBAdHlwZSB7bnVtYmVyfSAqL1xubGV0IGN1cnJlbnRIb29rID0gMDtcblxuLyoqIEB0eXBlIHtBcnJheTxpbXBvcnQoJy4vaW50ZXJuYWwnKS5Db21wb25lbnQ+fSAqL1xubGV0IGFmdGVyUGFpbnRFZmZlY3RzID0gW107XG5cbi8vIENhc3QgdG8gdXNlIGludGVybmFsIE9wdGlvbnMgdHlwZVxuY29uc3Qgb3B0aW9ucyA9IC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuT3B0aW9uc30gKi8gKF9vcHRpb25zKTtcblxubGV0IG9sZEJlZm9yZURpZmYgPSBvcHRpb25zLl9kaWZmO1xubGV0IG9sZEJlZm9yZVJlbmRlciA9IG9wdGlvbnMuX3JlbmRlcjtcbmxldCBvbGRBZnRlckRpZmYgPSBvcHRpb25zLmRpZmZlZDtcbmxldCBvbGRDb21taXQgPSBvcHRpb25zLl9jb21taXQ7XG5sZXQgb2xkQmVmb3JlVW5tb3VudCA9IG9wdGlvbnMudW5tb3VudDtcbmxldCBvbGRSb290ID0gb3B0aW9ucy5fcm9vdDtcblxuY29uc3QgUkFGX1RJTUVPVVQgPSAxMDA7XG5sZXQgcHJldlJhZjtcblxuLyoqIEB0eXBlIHsodm5vZGU6IGltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlKSA9PiB2b2lkfSAqL1xub3B0aW9ucy5fZGlmZiA9IHZub2RlID0+IHtcblx0Y3VycmVudENvbXBvbmVudCA9IG51bGw7XG5cdGlmIChvbGRCZWZvcmVEaWZmKSBvbGRCZWZvcmVEaWZmKHZub2RlKTtcbn07XG5cbm9wdGlvbnMuX3Jvb3QgPSAodm5vZGUsIHBhcmVudERvbSkgPT4ge1xuXHRpZiAodm5vZGUgJiYgcGFyZW50RG9tLl9jaGlsZHJlbiAmJiBwYXJlbnREb20uX2NoaWxkcmVuLl9tYXNrKSB7XG5cdFx0dm5vZGUuX21hc2sgPSBwYXJlbnREb20uX2NoaWxkcmVuLl9tYXNrO1xuXHR9XG5cblx0aWYgKG9sZFJvb3QpIG9sZFJvb3Qodm5vZGUsIHBhcmVudERvbSk7XG59O1xuXG4vKiogQHR5cGUgeyh2bm9kZTogaW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGUpID0+IHZvaWR9ICovXG5vcHRpb25zLl9yZW5kZXIgPSB2bm9kZSA9PiB7XG5cdGlmIChvbGRCZWZvcmVSZW5kZXIpIG9sZEJlZm9yZVJlbmRlcih2bm9kZSk7XG5cblx0Y3VycmVudENvbXBvbmVudCA9IHZub2RlLl9jb21wb25lbnQ7XG5cdGN1cnJlbnRJbmRleCA9IDA7XG5cblx0Y29uc3QgaG9va3MgPSBjdXJyZW50Q29tcG9uZW50Ll9faG9va3M7XG5cdGlmIChob29rcykge1xuXHRcdGlmIChwcmV2aW91c0NvbXBvbmVudCA9PT0gY3VycmVudENvbXBvbmVudCkge1xuXHRcdFx0aG9va3MuX3BlbmRpbmdFZmZlY3RzID0gW107XG5cdFx0XHRjdXJyZW50Q29tcG9uZW50Ll9yZW5kZXJDYWxsYmFja3MgPSBbXTtcblx0XHRcdGhvb2tzLl9saXN0LmZvckVhY2goaG9va0l0ZW0gPT4ge1xuXHRcdFx0XHRpZiAoaG9va0l0ZW0uX25leHRWYWx1ZSkge1xuXHRcdFx0XHRcdGhvb2tJdGVtLl92YWx1ZSA9IGhvb2tJdGVtLl9uZXh0VmFsdWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0aG9va0l0ZW0uX3BlbmRpbmdBcmdzID0gaG9va0l0ZW0uX25leHRWYWx1ZSA9IHVuZGVmaW5lZDtcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRob29rcy5fcGVuZGluZ0VmZmVjdHMuZm9yRWFjaChpbnZva2VDbGVhbnVwKTtcblx0XHRcdGhvb2tzLl9wZW5kaW5nRWZmZWN0cy5mb3JFYWNoKGludm9rZUVmZmVjdCk7XG5cdFx0XHRob29rcy5fcGVuZGluZ0VmZmVjdHMgPSBbXTtcblx0XHRcdGN1cnJlbnRJbmRleCA9IDA7XG5cdFx0fVxuXHR9XG5cdHByZXZpb3VzQ29tcG9uZW50ID0gY3VycmVudENvbXBvbmVudDtcbn07XG5cbi8qKiBAdHlwZSB7KHZub2RlOiBpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZSkgPT4gdm9pZH0gKi9cbm9wdGlvbnMuZGlmZmVkID0gdm5vZGUgPT4ge1xuXHRpZiAob2xkQWZ0ZXJEaWZmKSBvbGRBZnRlckRpZmYodm5vZGUpO1xuXG5cdGNvbnN0IGMgPSB2bm9kZS5fY29tcG9uZW50O1xuXHRpZiAoYyAmJiBjLl9faG9va3MpIHtcblx0XHRpZiAoYy5fX2hvb2tzLl9wZW5kaW5nRWZmZWN0cy5sZW5ndGgpIGFmdGVyUGFpbnQoYWZ0ZXJQYWludEVmZmVjdHMucHVzaChjKSk7XG5cdFx0Yy5fX2hvb2tzLl9saXN0LmZvckVhY2goaG9va0l0ZW0gPT4ge1xuXHRcdFx0aWYgKGhvb2tJdGVtLl9wZW5kaW5nQXJncykge1xuXHRcdFx0XHRob29rSXRlbS5fYXJncyA9IGhvb2tJdGVtLl9wZW5kaW5nQXJncztcblx0XHRcdH1cblx0XHRcdGhvb2tJdGVtLl9wZW5kaW5nQXJncyA9IHVuZGVmaW5lZDtcblx0XHR9KTtcblx0fVxuXHRwcmV2aW91c0NvbXBvbmVudCA9IGN1cnJlbnRDb21wb25lbnQgPSBudWxsO1xufTtcblxuLy8gVE9ETzogSW1wcm92ZSB0eXBpbmcgb2YgY29tbWl0UXVldWUgcGFyYW1ldGVyXG4vKiogQHR5cGUgeyh2bm9kZTogaW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGUsIGNvbW1pdFF1ZXVlOiBhbnkpID0+IHZvaWR9ICovXG5vcHRpb25zLl9jb21taXQgPSAodm5vZGUsIGNvbW1pdFF1ZXVlKSA9PiB7XG5cdGNvbW1pdFF1ZXVlLnNvbWUoY29tcG9uZW50ID0+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29tcG9uZW50Ll9yZW5kZXJDYWxsYmFja3MuZm9yRWFjaChpbnZva2VDbGVhbnVwKTtcblx0XHRcdGNvbXBvbmVudC5fcmVuZGVyQ2FsbGJhY2tzID0gY29tcG9uZW50Ll9yZW5kZXJDYWxsYmFja3MuZmlsdGVyKGNiID0+XG5cdFx0XHRcdGNiLl92YWx1ZSA/IGludm9rZUVmZmVjdChjYikgOiB0cnVlXG5cdFx0XHQpO1xuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdGNvbW1pdFF1ZXVlLnNvbWUoYyA9PiB7XG5cdFx0XHRcdGlmIChjLl9yZW5kZXJDYWxsYmFja3MpIGMuX3JlbmRlckNhbGxiYWNrcyA9IFtdO1xuXHRcdFx0fSk7XG5cdFx0XHRjb21taXRRdWV1ZSA9IFtdO1xuXHRcdFx0b3B0aW9ucy5fY2F0Y2hFcnJvcihlLCBjb21wb25lbnQuX3Zub2RlKTtcblx0XHR9XG5cdH0pO1xuXG5cdGlmIChvbGRDb21taXQpIG9sZENvbW1pdCh2bm9kZSwgY29tbWl0UXVldWUpO1xufTtcblxuLyoqIEB0eXBlIHsodm5vZGU6IGltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlKSA9PiB2b2lkfSAqL1xub3B0aW9ucy51bm1vdW50ID0gdm5vZGUgPT4ge1xuXHRpZiAob2xkQmVmb3JlVW5tb3VudCkgb2xkQmVmb3JlVW5tb3VudCh2bm9kZSk7XG5cblx0Y29uc3QgYyA9IHZub2RlLl9jb21wb25lbnQ7XG5cdGlmIChjICYmIGMuX19ob29rcykge1xuXHRcdGxldCBoYXNFcnJvcmVkO1xuXHRcdGMuX19ob29rcy5fbGlzdC5mb3JFYWNoKHMgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0aW52b2tlQ2xlYW51cChzKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0aGFzRXJyb3JlZCA9IGU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0Yy5fX2hvb2tzID0gdW5kZWZpbmVkO1xuXHRcdGlmIChoYXNFcnJvcmVkKSBvcHRpb25zLl9jYXRjaEVycm9yKGhhc0Vycm9yZWQsIGMuX3Zub2RlKTtcblx0fVxufTtcblxuLyoqXG4gKiBHZXQgYSBob29rJ3Mgc3RhdGUgZnJvbSB0aGUgY3VycmVudENvbXBvbmVudFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgaG9vayB0byBnZXRcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlIFRoZSBpbmRleCBvZiB0aGUgaG9vayB0byBnZXRcbiAqIEByZXR1cm5zIHthbnl9XG4gKi9cbmZ1bmN0aW9uIGdldEhvb2tTdGF0ZShpbmRleCwgdHlwZSkge1xuXHRpZiAob3B0aW9ucy5faG9vaykge1xuXHRcdG9wdGlvbnMuX2hvb2soY3VycmVudENvbXBvbmVudCwgaW5kZXgsIGN1cnJlbnRIb29rIHx8IHR5cGUpO1xuXHR9XG5cdGN1cnJlbnRIb29rID0gMDtcblxuXHQvLyBMYXJnZWx5IGluc3BpcmVkIGJ5OlxuXHQvLyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNoYWVsLWtsZWluL2Z1bmN5LmpzL2Jsb2IvZjZiZTczNDY4ZTZlYzQ2YjBmZjVhYTNjYzRjOWJhZjcyYTI5MDI1YS9zcmMvaG9va3MvY29yZV9ob29rcy5tanNcblx0Ly8gKiBodHRwczovL2dpdGh1Yi5jb20vbWljaGFlbC1rbGVpbi9mdW5jeS5qcy9ibG9iLzY1MGJlYWE1OGM0M2MzM2E3NDgyMGEzYzk4YjNjNzA3OWNmMmUzMzMvc3JjL3JlbmRlcmVyLm1qc1xuXHQvLyBPdGhlciBpbXBsZW1lbnRhdGlvbnMgdG8gbG9vayBhdDpcblx0Ly8gKiBodHRwczovL2NvZGVzYW5kYm94LmlvL3MvbW5veDA1cXA4XG5cdGNvbnN0IGhvb2tzID1cblx0XHRjdXJyZW50Q29tcG9uZW50Ll9faG9va3MgfHxcblx0XHQoY3VycmVudENvbXBvbmVudC5fX2hvb2tzID0ge1xuXHRcdFx0X2xpc3Q6IFtdLFxuXHRcdFx0X3BlbmRpbmdFZmZlY3RzOiBbXVxuXHRcdH0pO1xuXG5cdGlmIChpbmRleCA+PSBob29rcy5fbGlzdC5sZW5ndGgpIHtcblx0XHRob29rcy5fbGlzdC5wdXNoKHt9KTtcblx0fVxuXG5cdHJldHVybiBob29rcy5fbGlzdFtpbmRleF07XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIHt1bmtub3dufSBTXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbmRleCcpLkRpc3BhdGNoPGltcG9ydCgnLi9pbmRleCcpLlN0YXRlVXBkYXRlcjxTPj59IFtpbml0aWFsU3RhdGVdXG4gKiBAcmV0dXJucyB7W1MsIChzdGF0ZTogUykgPT4gdm9pZF19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTdGF0ZShpbml0aWFsU3RhdGUpIHtcblx0Y3VycmVudEhvb2sgPSAxO1xuXHRyZXR1cm4gdXNlUmVkdWNlcihpbnZva2VPclJldHVybiwgaW5pdGlhbFN0YXRlKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUge3Vua25vd259IFNcbiAqIEB0ZW1wbGF0ZSB7dW5rbm93bn0gQVxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW5kZXgnKS5SZWR1Y2VyPFMsIEE+fSByZWR1Y2VyXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbmRleCcpLkRpc3BhdGNoPGltcG9ydCgnLi9pbmRleCcpLlN0YXRlVXBkYXRlcjxTPj59IGluaXRpYWxTdGF0ZVxuICogQHBhcmFtIHsoaW5pdGlhbFN0YXRlOiBhbnkpID0+IHZvaWR9IFtpbml0XVxuICogQHJldHVybnMge1sgUywgKHN0YXRlOiBTKSA9PiB2b2lkIF19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxTdGF0ZSwgaW5pdCkge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlJlZHVjZXJIb29rU3RhdGV9ICovXG5cdGNvbnN0IGhvb2tTdGF0ZSA9IGdldEhvb2tTdGF0ZShjdXJyZW50SW5kZXgrKywgMik7XG5cdGhvb2tTdGF0ZS5fcmVkdWNlciA9IHJlZHVjZXI7XG5cdGlmICghaG9va1N0YXRlLl9jb21wb25lbnQpIHtcblx0XHRob29rU3RhdGUuX3ZhbHVlID0gW1xuXHRcdFx0IWluaXQgPyBpbnZva2VPclJldHVybih1bmRlZmluZWQsIGluaXRpYWxTdGF0ZSkgOiBpbml0KGluaXRpYWxTdGF0ZSksXG5cblx0XHRcdGFjdGlvbiA9PiB7XG5cdFx0XHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGhvb2tTdGF0ZS5fbmV4dFZhbHVlXG5cdFx0XHRcdFx0PyBob29rU3RhdGUuX25leHRWYWx1ZVswXVxuXHRcdFx0XHRcdDogaG9va1N0YXRlLl92YWx1ZVswXTtcblx0XHRcdFx0Y29uc3QgbmV4dFZhbHVlID0gaG9va1N0YXRlLl9yZWR1Y2VyKGN1cnJlbnRWYWx1ZSwgYWN0aW9uKTtcblxuXHRcdFx0XHRpZiAoY3VycmVudFZhbHVlICE9PSBuZXh0VmFsdWUpIHtcblx0XHRcdFx0XHRob29rU3RhdGUuX25leHRWYWx1ZSA9IFtuZXh0VmFsdWUsIGhvb2tTdGF0ZS5fdmFsdWVbMV1dO1xuXHRcdFx0XHRcdGhvb2tTdGF0ZS5fY29tcG9uZW50LnNldFN0YXRlKHt9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdF07XG5cblx0XHRob29rU3RhdGUuX2NvbXBvbmVudCA9IGN1cnJlbnRDb21wb25lbnQ7XG5cblx0XHRpZiAoIWN1cnJlbnRDb21wb25lbnQuX2hhc1NjdUZyb21Ib29rcykge1xuXHRcdFx0Y3VycmVudENvbXBvbmVudC5faGFzU2N1RnJvbUhvb2tzID0gdHJ1ZTtcblx0XHRcdGxldCBwcmV2U2N1ID0gY3VycmVudENvbXBvbmVudC5zaG91bGRDb21wb25lbnRVcGRhdGU7XG5cdFx0XHRjb25zdCBwcmV2Q1dVID0gY3VycmVudENvbXBvbmVudC5jb21wb25lbnRXaWxsVXBkYXRlO1xuXG5cdFx0XHQvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggYSBmb3JjZWQgdXBkYXRlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgIHdpbGxcblx0XHRcdC8vIG5vdCBiZSBjYWxsZWQuIEJ1dCB3ZSB1c2UgdGhhdCB0byB1cGRhdGUgdGhlIGhvb2sgdmFsdWVzLCBzbyB3ZVxuXHRcdFx0Ly8gbmVlZCB0byBjYWxsIGl0LlxuXHRcdFx0Y3VycmVudENvbXBvbmVudC5jb21wb25lbnRXaWxsVXBkYXRlID0gZnVuY3Rpb24gKHAsIHMsIGMpIHtcblx0XHRcdFx0aWYgKHRoaXMuX2ZvcmNlKSB7XG5cdFx0XHRcdFx0bGV0IHRtcCA9IHByZXZTY3U7XG5cdFx0XHRcdFx0Ly8gQ2xlYXIgdG8gYXZvaWQgb3RoZXIgc0NVIGhvb2tzIGZyb20gYmVpbmcgY2FsbGVkXG5cdFx0XHRcdFx0cHJldlNjdSA9IHVuZGVmaW5lZDtcblx0XHRcdFx0XHR1cGRhdGVIb29rU3RhdGUocCwgcywgYyk7XG5cdFx0XHRcdFx0cHJldlNjdSA9IHRtcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChwcmV2Q1dVKSBwcmV2Q1dVLmNhbGwodGhpcywgcCwgcywgYyk7XG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBUaGlzIFNDVSBoYXMgdGhlIHB1cnBvc2Ugb2YgYmFpbGluZyBvdXQgYWZ0ZXIgcmVwZWF0ZWQgdXBkYXRlc1xuXHRcdFx0Ly8gdG8gc3RhdGVmdWwgaG9va3MuXG5cdFx0XHQvLyB3ZSBzdG9yZSB0aGUgbmV4dCB2YWx1ZSBpbiBfbmV4dFZhbHVlWzBdIGFuZCBrZWVwIGRvaW5nIHRoYXQgZm9yIGFsbFxuXHRcdFx0Ly8gc3RhdGUgc2V0dGVycywgaWYgd2UgaGF2ZSBuZXh0IHN0YXRlcyBhbmRcblx0XHRcdC8vIGFsbCBuZXh0IHN0YXRlcyB3aXRoaW4gYSBjb21wb25lbnQgZW5kIHVwIGJlaW5nIGVxdWFsIHRvIHRoZWlyIG9yaWdpbmFsIHN0YXRlXG5cdFx0XHQvLyB3ZSBhcmUgc2FmZSB0byBiYWlsIG91dCBmb3IgdGhpcyBzcGVjaWZpYyBjb21wb25lbnQuXG5cdFx0XHQvKipcblx0XHRcdCAqXG5cdFx0XHQgKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50W1wic2hvdWxkQ29tcG9uZW50VXBkYXRlXCJdfVxuXHRcdFx0ICovXG5cdFx0XHQvLyBAdHMtaWdub3JlIC0gV2UgZG9uJ3QgdXNlIFRTIHRvIGRvd250cmFuc3BpbGVcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbm5lci1kZWNsYXJhdGlvbnNcblx0XHRcdGZ1bmN0aW9uIHVwZGF0ZUhvb2tTdGF0ZShwLCBzLCBjKSB7XG5cdFx0XHRcdGlmICghaG9va1N0YXRlLl9jb21wb25lbnQuX19ob29rcykgcmV0dXJuIHRydWU7XG5cblx0XHRcdFx0LyoqIEB0eXBlIHsoeDogaW1wb3J0KCcuL2ludGVybmFsJykuSG9va1N0YXRlKSA9PiB4IGlzIGltcG9ydCgnLi9pbnRlcm5hbCcpLlJlZHVjZXJIb29rU3RhdGV9ICovXG5cdFx0XHRcdGNvbnN0IGlzU3RhdGVIb29rID0geCA9PiAhIXguX2NvbXBvbmVudDtcblx0XHRcdFx0Y29uc3Qgc3RhdGVIb29rcyA9XG5cdFx0XHRcdFx0aG9va1N0YXRlLl9jb21wb25lbnQuX19ob29rcy5fbGlzdC5maWx0ZXIoaXNTdGF0ZUhvb2spO1xuXG5cdFx0XHRcdGNvbnN0IGFsbEhvb2tzRW1wdHkgPSBzdGF0ZUhvb2tzLmV2ZXJ5KHggPT4gIXguX25leHRWYWx1ZSk7XG5cdFx0XHRcdC8vIFdoZW4gd2UgaGF2ZSBubyB1cGRhdGVkIGhvb2tzIGluIHRoZSBjb21wb25lbnQgd2UgaW52b2tlIHRoZSBwcmV2aW91cyBTQ1Ugb3Jcblx0XHRcdFx0Ly8gdHJhdmVyc2UgdGhlIFZET00gdHJlZSBmdXJ0aGVyLlxuXHRcdFx0XHRpZiAoYWxsSG9va3NFbXB0eSkge1xuXHRcdFx0XHRcdHJldHVybiBwcmV2U2N1ID8gcHJldlNjdS5jYWxsKHRoaXMsIHAsIHMsIGMpIDogdHJ1ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFdlIGNoZWNrIHdoZXRoZXIgd2UgaGF2ZSBjb21wb25lbnRzIHdpdGggYSBuZXh0VmFsdWUgc2V0IHRoYXRcblx0XHRcdFx0Ly8gaGF2ZSB2YWx1ZXMgdGhhdCBhcmVuJ3QgZXF1YWwgdG8gb25lIGFub3RoZXIgdGhpcyBwdXNoZXNcblx0XHRcdFx0Ly8gdXMgdG8gdXBkYXRlIGZ1cnRoZXIgZG93biB0aGUgdHJlZVxuXHRcdFx0XHRsZXQgc2hvdWxkVXBkYXRlID0gZmFsc2U7XG5cdFx0XHRcdHN0YXRlSG9va3MuZm9yRWFjaChob29rSXRlbSA9PiB7XG5cdFx0XHRcdFx0aWYgKGhvb2tJdGVtLl9uZXh0VmFsdWUpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGhvb2tJdGVtLl92YWx1ZVswXTtcblx0XHRcdFx0XHRcdGhvb2tJdGVtLl92YWx1ZSA9IGhvb2tJdGVtLl9uZXh0VmFsdWU7XG5cdFx0XHRcdFx0XHRob29rSXRlbS5fbmV4dFZhbHVlID0gdW5kZWZpbmVkO1xuXHRcdFx0XHRcdFx0aWYgKGN1cnJlbnRWYWx1ZSAhPT0gaG9va0l0ZW0uX3ZhbHVlWzBdKSBzaG91bGRVcGRhdGUgPSB0cnVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0cmV0dXJuIHNob3VsZFVwZGF0ZSB8fCBob29rU3RhdGUuX2NvbXBvbmVudC5wcm9wcyAhPT0gcFxuXHRcdFx0XHRcdD8gcHJldlNjdVxuXHRcdFx0XHRcdFx0PyBwcmV2U2N1LmNhbGwodGhpcywgcCwgcywgYylcblx0XHRcdFx0XHRcdDogdHJ1ZVxuXHRcdFx0XHRcdDogZmFsc2U7XG5cdFx0XHR9XG5cblx0XHRcdGN1cnJlbnRDb21wb25lbnQuc2hvdWxkQ29tcG9uZW50VXBkYXRlID0gdXBkYXRlSG9va1N0YXRlO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBob29rU3RhdGUuX25leHRWYWx1ZSB8fCBob29rU3RhdGUuX3ZhbHVlO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuRWZmZWN0fSBjYWxsYmFja1xuICogQHBhcmFtIHt1bmtub3duW119IGFyZ3NcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRWZmZWN0KGNhbGxiYWNrLCBhcmdzKSB7XG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuRWZmZWN0SG9va1N0YXRlfSAqL1xuXHRjb25zdCBzdGF0ZSA9IGdldEhvb2tTdGF0ZShjdXJyZW50SW5kZXgrKywgMyk7XG5cdGlmICghb3B0aW9ucy5fc2tpcEVmZmVjdHMgJiYgYXJnc0NoYW5nZWQoc3RhdGUuX2FyZ3MsIGFyZ3MpKSB7XG5cdFx0c3RhdGUuX3ZhbHVlID0gY2FsbGJhY2s7XG5cdFx0c3RhdGUuX3BlbmRpbmdBcmdzID0gYXJncztcblxuXHRcdGN1cnJlbnRDb21wb25lbnQuX19ob29rcy5fcGVuZGluZ0VmZmVjdHMucHVzaChzdGF0ZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkVmZmVjdH0gY2FsbGJhY2tcbiAqIEBwYXJhbSB7dW5rbm93bltdfSBhcmdzXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUxheW91dEVmZmVjdChjYWxsYmFjaywgYXJncykge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkVmZmVjdEhvb2tTdGF0ZX0gKi9cblx0Y29uc3Qgc3RhdGUgPSBnZXRIb29rU3RhdGUoY3VycmVudEluZGV4KyssIDQpO1xuXHRpZiAoIW9wdGlvbnMuX3NraXBFZmZlY3RzICYmIGFyZ3NDaGFuZ2VkKHN0YXRlLl9hcmdzLCBhcmdzKSkge1xuXHRcdHN0YXRlLl92YWx1ZSA9IGNhbGxiYWNrO1xuXHRcdHN0YXRlLl9wZW5kaW5nQXJncyA9IGFyZ3M7XG5cblx0XHRjdXJyZW50Q29tcG9uZW50Ll9yZW5kZXJDYWxsYmFja3MucHVzaChzdGF0ZSk7XG5cdH1cbn1cblxuLyoqIEB0eXBlIHsoaW5pdGlhbFZhbHVlOiB1bmtub3duKSA9PiB1bmtub3dufSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJlZihpbml0aWFsVmFsdWUpIHtcblx0Y3VycmVudEhvb2sgPSA1O1xuXHRyZXR1cm4gdXNlTWVtbygoKSA9PiAoeyBjdXJyZW50OiBpbml0aWFsVmFsdWUgfSksIFtdKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gcmVmXG4gKiBAcGFyYW0geygpID0+IG9iamVjdH0gY3JlYXRlSGFuZGxlXG4gKiBAcGFyYW0ge3Vua25vd25bXX0gYXJnc1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlSGFuZGxlLCBhcmdzKSB7XG5cdGN1cnJlbnRIb29rID0gNjtcblx0dXNlTGF5b3V0RWZmZWN0KFxuXHRcdCgpID0+IHtcblx0XHRcdGlmICh0eXBlb2YgcmVmID09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0cmVmKGNyZWF0ZUhhbmRsZSgpKTtcblx0XHRcdFx0cmV0dXJuICgpID0+IHJlZihudWxsKTtcblx0XHRcdH0gZWxzZSBpZiAocmVmKSB7XG5cdFx0XHRcdHJlZi5jdXJyZW50ID0gY3JlYXRlSGFuZGxlKCk7XG5cdFx0XHRcdHJldHVybiAoKSA9PiAocmVmLmN1cnJlbnQgPSBudWxsKTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGFyZ3MgPT0gbnVsbCA/IGFyZ3MgOiBhcmdzLmNvbmNhdChyZWYpXG5cdCk7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIHt1bmtub3dufSBUXG4gKiBAcGFyYW0geygpID0+IFR9IGZhY3RvcnlcbiAqIEBwYXJhbSB7dW5rbm93bltdfSBhcmdzXG4gKiBAcmV0dXJucyB7VH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU1lbW8oZmFjdG9yeSwgYXJncykge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLk1lbW9Ib29rU3RhdGU8VD59ICovXG5cdGNvbnN0IHN0YXRlID0gZ2V0SG9va1N0YXRlKGN1cnJlbnRJbmRleCsrLCA3KTtcblx0aWYgKGFyZ3NDaGFuZ2VkKHN0YXRlLl9hcmdzLCBhcmdzKSkge1xuXHRcdHN0YXRlLl92YWx1ZSA9IGZhY3RvcnkoKTtcblx0XHRzdGF0ZS5fYXJncyA9IGFyZ3M7XG5cdFx0c3RhdGUuX2ZhY3RvcnkgPSBmYWN0b3J5O1xuXHR9XG5cblx0cmV0dXJuIHN0YXRlLl92YWx1ZTtcbn1cblxuLyoqXG4gKiBAcGFyYW0geygpID0+IHZvaWR9IGNhbGxiYWNrXG4gKiBAcGFyYW0ge3Vua25vd25bXX0gYXJnc1xuICogQHJldHVybnMgeygpID0+IHZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDYWxsYmFjayhjYWxsYmFjaywgYXJncykge1xuXHRjdXJyZW50SG9vayA9IDg7XG5cdHJldHVybiB1c2VNZW1vKCgpID0+IGNhbGxiYWNrLCBhcmdzKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlByZWFjdENvbnRleHR9IGNvbnRleHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNvbnRleHQoY29udGV4dCkge1xuXHRjb25zdCBwcm92aWRlciA9IGN1cnJlbnRDb21wb25lbnQuY29udGV4dFtjb250ZXh0Ll9pZF07XG5cdC8vIFdlIGNvdWxkIHNraXAgdGhpcyBjYWxsIGhlcmUsIGJ1dCB0aGFuIHdlJ2Qgbm90IGNhbGxcblx0Ly8gYG9wdGlvbnMuX2hvb2tgLiBXZSBuZWVkIHRvIGRvIHRoYXQgaW4gb3JkZXIgdG8gbWFrZVxuXHQvLyB0aGUgZGV2dG9vbHMgYXdhcmUgb2YgdGhpcyBob29rLlxuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbnRleHRIb29rU3RhdGV9ICovXG5cdGNvbnN0IHN0YXRlID0gZ2V0SG9va1N0YXRlKGN1cnJlbnRJbmRleCsrLCA5KTtcblx0Ly8gVGhlIGRldnRvb2xzIG5lZWRzIGFjY2VzcyB0byB0aGUgY29udGV4dCBvYmplY3QgdG9cblx0Ly8gYmUgYWJsZSB0byBwdWxsIG9mIHRoZSBkZWZhdWx0IHZhbHVlIHdoZW4gbm8gcHJvdmlkZXJcblx0Ly8gaXMgcHJlc2VudCBpbiB0aGUgdHJlZS5cblx0c3RhdGUuX2NvbnRleHQgPSBjb250ZXh0O1xuXHRpZiAoIXByb3ZpZGVyKSByZXR1cm4gY29udGV4dC5fZGVmYXVsdFZhbHVlO1xuXHQvLyBUaGlzIGlzIHByb2JhYmx5IG5vdCBzYWZlIHRvIGNvbnZlcnQgdG8gXCIhXCJcblx0aWYgKHN0YXRlLl92YWx1ZSA9PSBudWxsKSB7XG5cdFx0c3RhdGUuX3ZhbHVlID0gdHJ1ZTtcblx0XHRwcm92aWRlci5zdWIoY3VycmVudENvbXBvbmVudCk7XG5cdH1cblx0cmV0dXJuIHByb3ZpZGVyLnByb3BzLnZhbHVlO1xufVxuXG4vKipcbiAqIERpc3BsYXkgYSBjdXN0b20gbGFiZWwgZm9yIGEgY3VzdG9tIGhvb2sgZm9yIHRoZSBkZXZ0b29scyBwYW5lbFxuICogQHR5cGUgezxUPih2YWx1ZTogVCwgY2I/OiAodmFsdWU6IFQpID0+IHN0cmluZyB8IG51bWJlcikgPT4gdm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZURlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlcikge1xuXHRpZiAob3B0aW9ucy51c2VEZWJ1Z1ZhbHVlKSB7XG5cdFx0b3B0aW9ucy51c2VEZWJ1Z1ZhbHVlKFxuXHRcdFx0Zm9ybWF0dGVyID8gZm9ybWF0dGVyKHZhbHVlKSA6IC8qKiBAdHlwZSB7YW55fSovICh2YWx1ZSlcblx0XHQpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHsoZXJyb3I6IHVua25vd24sIGVycm9ySW5mbzogaW1wb3J0KCdwcmVhY3QnKS5FcnJvckluZm8pID0+IHZvaWR9IGNiXG4gKiBAcmV0dXJucyB7W3Vua25vd24sICgpID0+IHZvaWRdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRXJyb3JCb3VuZGFyeShjYikge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkVycm9yQm91bmRhcnlIb29rU3RhdGV9ICovXG5cdGNvbnN0IHN0YXRlID0gZ2V0SG9va1N0YXRlKGN1cnJlbnRJbmRleCsrLCAxMCk7XG5cdGNvbnN0IGVyclN0YXRlID0gdXNlU3RhdGUoKTtcblx0c3RhdGUuX3ZhbHVlID0gY2I7XG5cdGlmICghY3VycmVudENvbXBvbmVudC5jb21wb25lbnREaWRDYXRjaCkge1xuXHRcdGN1cnJlbnRDb21wb25lbnQuY29tcG9uZW50RGlkQ2F0Y2ggPSAoZXJyLCBlcnJvckluZm8pID0+IHtcblx0XHRcdGlmIChzdGF0ZS5fdmFsdWUpIHN0YXRlLl92YWx1ZShlcnIsIGVycm9ySW5mbyk7XG5cdFx0XHRlcnJTdGF0ZVsxXShlcnIpO1xuXHRcdH07XG5cdH1cblx0cmV0dXJuIFtcblx0XHRlcnJTdGF0ZVswXSxcblx0XHQoKSA9PiB7XG5cdFx0XHRlcnJTdGF0ZVsxXSh1bmRlZmluZWQpO1xuXHRcdH1cblx0XTtcbn1cblxuLyoqIEB0eXBlIHsoKSA9PiBzdHJpbmd9ICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSWQoKSB7XG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuSWRIb29rU3RhdGV9ICovXG5cdGNvbnN0IHN0YXRlID0gZ2V0SG9va1N0YXRlKGN1cnJlbnRJbmRleCsrLCAxMSk7XG5cdGlmICghc3RhdGUuX3ZhbHVlKSB7XG5cdFx0Ly8gR3JhYiBlaXRoZXIgdGhlIHJvb3Qgbm9kZSBvciB0aGUgbmVhcmVzdCBhc3luYyBib3VuZGFyeSBub2RlLlxuXHRcdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsLmQnKS5WTm9kZX0gKi9cblx0XHRsZXQgcm9vdCA9IGN1cnJlbnRDb21wb25lbnQuX3Zub2RlO1xuXHRcdHdoaWxlIChyb290ICE9PSBudWxsICYmICFyb290Ll9tYXNrICYmIHJvb3QuX3BhcmVudCAhPT0gbnVsbCkge1xuXHRcdFx0cm9vdCA9IHJvb3QuX3BhcmVudDtcblx0XHR9XG5cblx0XHRsZXQgbWFzayA9IHJvb3QuX21hc2sgfHwgKHJvb3QuX21hc2sgPSBbMCwgMF0pO1xuXHRcdHN0YXRlLl92YWx1ZSA9ICdQJyArIG1hc2tbMF0gKyAnLScgKyBtYXNrWzFdKys7XG5cdH1cblxuXHRyZXR1cm4gc3RhdGUuX3ZhbHVlO1xufVxuXG4vKipcbiAqIEFmdGVyIHBhaW50IGVmZmVjdHMgY29uc3VtZXIuXG4gKi9cbmZ1bmN0aW9uIGZsdXNoQWZ0ZXJQYWludEVmZmVjdHMoKSB7XG5cdGxldCBjb21wb25lbnQ7XG5cdHdoaWxlICgoY29tcG9uZW50ID0gYWZ0ZXJQYWludEVmZmVjdHMuc2hpZnQoKSkpIHtcblx0XHRpZiAoIWNvbXBvbmVudC5fcGFyZW50RG9tIHx8ICFjb21wb25lbnQuX19ob29rcykgY29udGludWU7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbXBvbmVudC5fX2hvb2tzLl9wZW5kaW5nRWZmZWN0cy5mb3JFYWNoKGludm9rZUNsZWFudXApO1xuXHRcdFx0Y29tcG9uZW50Ll9faG9va3MuX3BlbmRpbmdFZmZlY3RzLmZvckVhY2goaW52b2tlRWZmZWN0KTtcblx0XHRcdGNvbXBvbmVudC5fX2hvb2tzLl9wZW5kaW5nRWZmZWN0cyA9IFtdO1xuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdGNvbXBvbmVudC5fX2hvb2tzLl9wZW5kaW5nRWZmZWN0cyA9IFtdO1xuXHRcdFx0b3B0aW9ucy5fY2F0Y2hFcnJvcihlLCBjb21wb25lbnQuX3Zub2RlKTtcblx0XHR9XG5cdH1cbn1cblxubGV0IEhBU19SQUYgPSB0eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lID09ICdmdW5jdGlvbic7XG5cbi8qKlxuICogU2NoZWR1bGUgYSBjYWxsYmFjayB0byBiZSBpbnZva2VkIGFmdGVyIHRoZSBicm93c2VyIGhhcyBhIGNoYW5jZSB0byBwYWludCBhIG5ldyBmcmFtZS5cbiAqIERvIHRoaXMgYnkgY29tYmluaW5nIHJlcXVlc3RBbmltYXRpb25GcmFtZSAockFGKSArIHNldFRpbWVvdXQgdG8gaW52b2tlIGEgY2FsbGJhY2sgYWZ0ZXJcbiAqIHRoZSBuZXh0IGJyb3dzZXIgZnJhbWUuXG4gKlxuICogQWxzbywgc2NoZWR1bGUgYSB0aW1lb3V0IGluIHBhcmFsbGVsIHRvIHRoZSB0aGUgckFGIHRvIGVuc3VyZSB0aGUgY2FsbGJhY2sgaXMgaW52b2tlZFxuICogZXZlbiBpZiBSQUYgZG9lc24ndCBmaXJlIChmb3IgZXhhbXBsZSBpZiB0aGUgYnJvd3NlciB0YWIgaXMgbm90IHZpc2libGUpXG4gKlxuICogQHBhcmFtIHsoKSA9PiB2b2lkfSBjYWxsYmFja1xuICovXG5mdW5jdGlvbiBhZnRlck5leHRGcmFtZShjYWxsYmFjaykge1xuXHRjb25zdCBkb25lID0gKCkgPT4ge1xuXHRcdGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblx0XHRpZiAoSEFTX1JBRikgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmKTtcblx0XHRzZXRUaW1lb3V0KGNhbGxiYWNrKTtcblx0fTtcblx0Y29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoZG9uZSwgUkFGX1RJTUVPVVQpO1xuXG5cdGxldCByYWY7XG5cdGlmIChIQVNfUkFGKSB7XG5cdFx0cmFmID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRvbmUpO1xuXHR9XG59XG5cbi8vIE5vdGU6IGlmIHNvbWVvbmUgdXNlZCBvcHRpb25zLmRlYm91bmNlUmVuZGVyaW5nID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lLFxuLy8gdGhlbiBlZmZlY3RzIHdpbGwgQUxXQVlTIHJ1biBvbiB0aGUgTkVYVCBmcmFtZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IG9uZSwgaW5jdXJyaW5nIGEgfjE2bXMgZGVsYXkuXG4vLyBQZXJoYXBzIHRoaXMgaXMgbm90IHN1Y2ggYSBiaWcgZGVhbC5cbi8qKlxuICogU2NoZWR1bGUgYWZ0ZXJQYWludEVmZmVjdHMgZmx1c2ggYWZ0ZXIgdGhlIGJyb3dzZXIgcGFpbnRzXG4gKiBAcGFyYW0ge251bWJlcn0gbmV3UXVldWVMZW5ndGhcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBhZnRlclBhaW50KG5ld1F1ZXVlTGVuZ3RoKSB7XG5cdGlmIChuZXdRdWV1ZUxlbmd0aCA9PT0gMSB8fCBwcmV2UmFmICE9PSBvcHRpb25zLnJlcXVlc3RBbmltYXRpb25GcmFtZSkge1xuXHRcdHByZXZSYWYgPSBvcHRpb25zLnJlcXVlc3RBbmltYXRpb25GcmFtZTtcblx0XHQocHJldlJhZiB8fCBhZnRlck5leHRGcmFtZSkoZmx1c2hBZnRlclBhaW50RWZmZWN0cyk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkhvb2tTdGF0ZX0gaG9va1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIGludm9rZUNsZWFudXAoaG9vaykge1xuXHQvLyBBIGhvb2sgY2xlYW51cCBjYW4gaW50cm9kdWNlIGEgY2FsbCB0byByZW5kZXIgd2hpY2ggY3JlYXRlcyBhIG5ldyByb290LCB0aGlzIHdpbGwgY2FsbCBvcHRpb25zLnZub2RlXG5cdC8vIGFuZCBtb3ZlIHRoZSBjdXJyZW50Q29tcG9uZW50IGF3YXkuXG5cdGNvbnN0IGNvbXAgPSBjdXJyZW50Q29tcG9uZW50O1xuXHRsZXQgY2xlYW51cCA9IGhvb2suX2NsZWFudXA7XG5cdGlmICh0eXBlb2YgY2xlYW51cCA9PSAnZnVuY3Rpb24nKSB7XG5cdFx0aG9vay5fY2xlYW51cCA9IHVuZGVmaW5lZDtcblx0XHRjbGVhbnVwKCk7XG5cdH1cblxuXHRjdXJyZW50Q29tcG9uZW50ID0gY29tcDtcbn1cblxuLyoqXG4gKiBJbnZva2UgYSBIb29rJ3MgZWZmZWN0XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkVmZmVjdEhvb2tTdGF0ZX0gaG9va1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIGludm9rZUVmZmVjdChob29rKSB7XG5cdC8vIEEgaG9vayBjYWxsIGNhbiBpbnRyb2R1Y2UgYSBjYWxsIHRvIHJlbmRlciB3aGljaCBjcmVhdGVzIGEgbmV3IHJvb3QsIHRoaXMgd2lsbCBjYWxsIG9wdGlvbnMudm5vZGVcblx0Ly8gYW5kIG1vdmUgdGhlIGN1cnJlbnRDb21wb25lbnQgYXdheS5cblx0Y29uc3QgY29tcCA9IGN1cnJlbnRDb21wb25lbnQ7XG5cdGhvb2suX2NsZWFudXAgPSBob29rLl92YWx1ZSgpO1xuXHRjdXJyZW50Q29tcG9uZW50ID0gY29tcDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3Vua25vd25bXX0gb2xkQXJnc1xuICogQHBhcmFtIHt1bmtub3duW119IG5ld0FyZ3NcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBhcmdzQ2hhbmdlZChvbGRBcmdzLCBuZXdBcmdzKSB7XG5cdHJldHVybiAoXG5cdFx0IW9sZEFyZ3MgfHxcblx0XHRvbGRBcmdzLmxlbmd0aCAhPT0gbmV3QXJncy5sZW5ndGggfHxcblx0XHRuZXdBcmdzLnNvbWUoKGFyZywgaW5kZXgpID0+IGFyZyAhPT0gb2xkQXJnc1tpbmRleF0pXG5cdCk7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIEFyZ1xuICogQHBhcmFtIHtBcmd9IGFyZ1xuICogQHBhcmFtIHsoYXJnOiBBcmcpID0+IGFueX0gZlxuICogQHJldHVybnMge2FueX1cbiAqL1xuZnVuY3Rpb24gaW52b2tlT3JSZXR1cm4oYXJnLCBmKSB7XG5cdHJldHVybiB0eXBlb2YgZiA9PSAnZnVuY3Rpb24nID8gZihhcmcpIDogZjtcbn1cbiIsICIvKipcbiAqIEFzc2lnbiBwcm9wZXJ0aWVzIGZyb20gYHByb3BzYCB0byBgb2JqYFxuICogQHRlbXBsYXRlIE8sIFAgVGhlIG9iaiBhbmQgcHJvcHMgdHlwZXNcbiAqIEBwYXJhbSB7T30gb2JqIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIHRvXG4gKiBAcGFyYW0ge1B9IHByb3BzIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb21cbiAqIEByZXR1cm5zIHtPICYgUH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbihvYmosIHByb3BzKSB7XG5cdGZvciAobGV0IGkgaW4gcHJvcHMpIG9ialtpXSA9IHByb3BzW2ldO1xuXHRyZXR1cm4gLyoqIEB0eXBlIHtPICYgUH0gKi8gKG9iaik7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIG9iamVjdHMgaGF2ZSBhIGRpZmZlcmVudCBzaGFwZVxuICogQHBhcmFtIHtvYmplY3R9IGFcbiAqIEBwYXJhbSB7b2JqZWN0fSBiXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNoYWxsb3dEaWZmZXJzKGEsIGIpIHtcblx0Zm9yIChsZXQgaSBpbiBhKSBpZiAoaSAhPT0gJ19fc291cmNlJyAmJiAhKGkgaW4gYikpIHJldHVybiB0cnVlO1xuXHRmb3IgKGxldCBpIGluIGIpIGlmIChpICE9PSAnX19zb3VyY2UnICYmIGFbaV0gIT09IGJbaV0pIHJldHVybiB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIHZhbHVlcyBhcmUgdGhlIHNhbWUgdmFsdWVcbiAqIEBwYXJhbSB7Kn0geFxuICogQHBhcmFtIHsqfSB5XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzKHgsIHkpIHtcblx0cmV0dXJuICh4ID09PSB5ICYmICh4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geSkpIHx8ICh4ICE9PSB4ICYmIHkgIT09IHkpO1xufVxuIiwgImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBzaGFsbG93RGlmZmVycyB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogQ29tcG9uZW50IGNsYXNzIHdpdGggYSBwcmVkZWZpbmVkIGBzaG91bGRDb21wb25lbnRVcGRhdGVgIGltcGxlbWVudGF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBQdXJlQ29tcG9uZW50KHAsIGMpIHtcblx0dGhpcy5wcm9wcyA9IHA7XG5cdHRoaXMuY29udGV4dCA9IGM7XG59XG5QdXJlQ29tcG9uZW50LnByb3RvdHlwZSA9IG5ldyBDb21wb25lbnQoKTtcbi8vIFNvbWUgdGhpcmQtcGFydHkgbGlicmFyaWVzIGNoZWNrIGlmIHRoaXMgcHJvcGVydHkgaXMgcHJlc2VudFxuUHVyZUNvbXBvbmVudC5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuUHVyZUNvbXBvbmVudC5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlID0gZnVuY3Rpb24gKHByb3BzLCBzdGF0ZSkge1xuXHRyZXR1cm4gc2hhbGxvd0RpZmZlcnModGhpcy5wcm9wcywgcHJvcHMpIHx8IHNoYWxsb3dEaWZmZXJzKHRoaXMuc3RhdGUsIHN0YXRlKTtcbn07XG4iLCAiaW1wb3J0IHsgY3JlYXRlRWxlbWVudCB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBzaGFsbG93RGlmZmVycyB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogTWVtb2l6ZSBhIGNvbXBvbmVudCwgc28gdGhhdCBpdCBvbmx5IHVwZGF0ZXMgd2hlbiB0aGUgcHJvcHMgYWN0dWFsbHkgaGF2ZVxuICogY2hhbmdlZC4gVGhpcyB3YXMgcHJldmlvdXNseSBrbm93biBhcyBgUmVhY3QucHVyZWAuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkZ1bmN0aW9uQ29tcG9uZW50fSBjIGZ1bmN0aW9uYWwgY29tcG9uZW50XG4gKiBAcGFyYW0geyhwcmV2OiBvYmplY3QsIG5leHQ6IG9iamVjdCkgPT4gYm9vbGVhbn0gW2NvbXBhcmVyXSBDdXN0b20gZXF1YWxpdHkgZnVuY3Rpb25cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5GdW5jdGlvbkNvbXBvbmVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lbW8oYywgY29tcGFyZXIpIHtcblx0ZnVuY3Rpb24gc2hvdWxkVXBkYXRlKG5leHRQcm9wcykge1xuXHRcdGxldCByZWYgPSB0aGlzLnByb3BzLnJlZjtcblx0XHRsZXQgdXBkYXRlUmVmID0gcmVmID09IG5leHRQcm9wcy5yZWY7XG5cdFx0aWYgKCF1cGRhdGVSZWYgJiYgcmVmKSB7XG5cdFx0XHRyZWYuY2FsbCA/IHJlZihudWxsKSA6IChyZWYuY3VycmVudCA9IG51bGwpO1xuXHRcdH1cblxuXHRcdGlmICghY29tcGFyZXIpIHtcblx0XHRcdHJldHVybiBzaGFsbG93RGlmZmVycyh0aGlzLnByb3BzLCBuZXh0UHJvcHMpO1xuXHRcdH1cblxuXHRcdHJldHVybiAhY29tcGFyZXIodGhpcy5wcm9wcywgbmV4dFByb3BzKSB8fCAhdXBkYXRlUmVmO1xuXHR9XG5cblx0ZnVuY3Rpb24gTWVtb2VkKHByb3BzKSB7XG5cdFx0dGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGUgPSBzaG91bGRVcGRhdGU7XG5cdFx0cmV0dXJuIGNyZWF0ZUVsZW1lbnQoYywgcHJvcHMpO1xuXHR9XG5cdE1lbW9lZC5kaXNwbGF5TmFtZSA9ICdNZW1vKCcgKyAoYy5kaXNwbGF5TmFtZSB8fCBjLm5hbWUpICsgJyknO1xuXHRNZW1vZWQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuXHRNZW1vZWQuX2ZvcndhcmRlZCA9IHRydWU7XG5cdHJldHVybiBNZW1vZWQ7XG59XG4iLCAiaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJ3ByZWFjdCc7XG5cbmxldCBvbGREaWZmSG9vayA9IG9wdGlvbnMuX2RpZmY7XG5vcHRpb25zLl9kaWZmID0gdm5vZGUgPT4ge1xuXHRpZiAodm5vZGUudHlwZSAmJiB2bm9kZS50eXBlLl9mb3J3YXJkZWQgJiYgdm5vZGUucmVmKSB7XG5cdFx0dm5vZGUucHJvcHMucmVmID0gdm5vZGUucmVmO1xuXHRcdHZub2RlLnJlZiA9IG51bGw7XG5cdH1cblx0aWYgKG9sZERpZmZIb29rKSBvbGREaWZmSG9vayh2bm9kZSk7XG59O1xuXG5leHBvcnQgY29uc3QgUkVBQ1RfRk9SV0FSRF9TWU1CT0wgPVxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJlxuXHRcdFN5bWJvbC5mb3IgJiZcblx0XHRTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpKSB8fFxuXHQweGY0NztcblxuLyoqXG4gKiBQYXNzIHJlZiBkb3duIHRvIGEgY2hpbGQuIFRoaXMgaXMgbWFpbmx5IHVzZWQgaW4gbGlicmFyaWVzIHdpdGggSE9DcyB0aGF0XG4gKiB3cmFwIGNvbXBvbmVudHMuIFVzaW5nIGBmb3J3YXJkUmVmYCB0aGVyZSBpcyBhbiBlYXN5IHdheSB0byBnZXQgYSByZWZlcmVuY2VcbiAqIG9mIHRoZSB3cmFwcGVkIGNvbXBvbmVudCBpbnN0ZWFkIG9mIG9uZSBvZiB0aGUgd3JhcHBlciBpdHNlbGYuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbmRleCcpLkZvcndhcmRGbn0gZm5cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5GdW5jdGlvbkNvbXBvbmVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcndhcmRSZWYoZm4pIHtcblx0ZnVuY3Rpb24gRm9yd2FyZGVkKHByb3BzKSB7XG5cdFx0aWYgKCEoJ3JlZicgaW4gcHJvcHMpKSByZXR1cm4gZm4ocHJvcHMsIG51bGwpO1xuXG5cdFx0bGV0IHJlZiA9IHByb3BzLnJlZjtcblx0XHRkZWxldGUgcHJvcHMucmVmO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGZuKHByb3BzLCByZWYpO1xuXHRcdHByb3BzLnJlZiA9IHJlZjtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0Ly8gbW9ieC1yZWFjdCBjaGVja3MgZm9yIHRoaXMgYmVpbmcgcHJlc2VudFxuXHRGb3J3YXJkZWQuJCR0eXBlb2YgPSBSRUFDVF9GT1JXQVJEX1NZTUJPTDtcblx0Ly8gbW9ieC1yZWFjdCBoZWF2aWx5IHJlbGllcyBvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLlxuXHQvLyBJdCBleHBlY3RzIGFuIG9iamVjdCBoZXJlIHdpdGggYSBgcmVuZGVyYCBwcm9wZXJ0eSxcblx0Ly8gYW5kIHByb3RvdHlwZS5yZW5kZXIgd2lsbCBmYWlsLiBXaXRob3V0IHRoaXNcblx0Ly8gbW9ieC1yZWFjdCB0aHJvd3MuXG5cdEZvcndhcmRlZC5yZW5kZXIgPSBGb3J3YXJkZWQ7XG5cblx0Rm9yd2FyZGVkLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0gRm9yd2FyZGVkLl9mb3J3YXJkZWQgPSB0cnVlO1xuXHRGb3J3YXJkZWQuZGlzcGxheU5hbWUgPSAnRm9yd2FyZFJlZignICsgKGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUpICsgJyknO1xuXHRyZXR1cm4gRm9yd2FyZGVkO1xufVxuIiwgImltcG9ydCB7IHRvQ2hpbGRBcnJheSB9IGZyb20gJ3ByZWFjdCc7XG5cbmNvbnN0IG1hcEZuID0gKGNoaWxkcmVuLCBmbikgPT4ge1xuXHRpZiAoY2hpbGRyZW4gPT0gbnVsbCkgcmV0dXJuIG51bGw7XG5cdHJldHVybiB0b0NoaWxkQXJyYXkodG9DaGlsZEFycmF5KGNoaWxkcmVuKS5tYXAoZm4pKTtcbn07XG5cbi8vIFRoaXMgQVBJIGlzIGNvbXBsZXRlbHkgdW5uZWNlc3NhcnkgZm9yIFByZWFjdCwgc28gaXQncyBiYXNpY2FsbHkgcGFzc3Rocm91Z2guXG5leHBvcnQgY29uc3QgQ2hpbGRyZW4gPSB7XG5cdG1hcDogbWFwRm4sXG5cdGZvckVhY2g6IG1hcEZuLFxuXHRjb3VudChjaGlsZHJlbikge1xuXHRcdHJldHVybiBjaGlsZHJlbiA/IHRvQ2hpbGRBcnJheShjaGlsZHJlbikubGVuZ3RoIDogMDtcblx0fSxcblx0b25seShjaGlsZHJlbikge1xuXHRcdGNvbnN0IG5vcm1hbGl6ZWQgPSB0b0NoaWxkQXJyYXkoY2hpbGRyZW4pO1xuXHRcdGlmIChub3JtYWxpemVkLmxlbmd0aCAhPT0gMSkgdGhyb3cgJ0NoaWxkcmVuLm9ubHknO1xuXHRcdHJldHVybiBub3JtYWxpemVkWzBdO1xuXHR9LFxuXHR0b0FycmF5OiB0b0NoaWxkQXJyYXlcbn07XG4iLCAiaW1wb3J0IHsgQ29tcG9uZW50LCBjcmVhdGVFbGVtZW50LCBvcHRpb25zLCBGcmFnbWVudCB9IGZyb20gJ3ByZWFjdCc7XG5pbXBvcnQgeyBNT0RFX0hZRFJBVEUgfSBmcm9tICcuLi8uLi9zcmMvY29uc3RhbnRzJztcbmltcG9ydCB7IGFzc2lnbiB9IGZyb20gJy4vdXRpbCc7XG5cbmNvbnN0IG9sZENhdGNoRXJyb3IgPSBvcHRpb25zLl9jYXRjaEVycm9yO1xub3B0aW9ucy5fY2F0Y2hFcnJvciA9IGZ1bmN0aW9uIChlcnJvciwgbmV3Vk5vZGUsIG9sZFZOb2RlLCBlcnJvckluZm8pIHtcblx0aWYgKGVycm9yLnRoZW4pIHtcblx0XHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0XHRsZXQgY29tcG9uZW50O1xuXHRcdGxldCB2bm9kZSA9IG5ld1ZOb2RlO1xuXG5cdFx0Zm9yICg7ICh2bm9kZSA9IHZub2RlLl9wYXJlbnQpOyApIHtcblx0XHRcdGlmICgoY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudCkgJiYgY29tcG9uZW50Ll9jaGlsZERpZFN1c3BlbmQpIHtcblx0XHRcdFx0aWYgKG5ld1ZOb2RlLl9kb20gPT0gbnVsbCkge1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9kb20gPSBvbGRWTm9kZS5fZG9tO1xuXHRcdFx0XHRcdG5ld1ZOb2RlLl9jaGlsZHJlbiA9IG9sZFZOb2RlLl9jaGlsZHJlbjtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBEb24ndCBjYWxsIG9sZENhdGNoRXJyb3IgaWYgd2UgZm91bmQgYSBTdXNwZW5zZVxuXHRcdFx0XHRyZXR1cm4gY29tcG9uZW50Ll9jaGlsZERpZFN1c3BlbmQoZXJyb3IsIG5ld1ZOb2RlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0b2xkQ2F0Y2hFcnJvcihlcnJvciwgbmV3Vk5vZGUsIG9sZFZOb2RlLCBlcnJvckluZm8pO1xufTtcblxuY29uc3Qgb2xkVW5tb3VudCA9IG9wdGlvbnMudW5tb3VudDtcbm9wdGlvbnMudW5tb3VudCA9IGZ1bmN0aW9uICh2bm9kZSkge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0Y29uc3QgY29tcG9uZW50ID0gdm5vZGUuX2NvbXBvbmVudDtcblx0aWYgKGNvbXBvbmVudCAmJiBjb21wb25lbnQuX29uUmVzb2x2ZSkge1xuXHRcdGNvbXBvbmVudC5fb25SZXNvbHZlKCk7XG5cdH1cblxuXHQvLyBpZiB0aGUgY29tcG9uZW50IGlzIHN0aWxsIGh5ZHJhdGluZ1xuXHQvLyBtb3N0IGxpa2VseSBpdCBpcyBiZWNhdXNlIHRoZSBjb21wb25lbnQgaXMgc3VzcGVuZGVkXG5cdC8vIHdlIHNldCB0aGUgdm5vZGUudHlwZSBhcyBgbnVsbGAgc28gdGhhdCBpdCBpcyBub3QgYSB0eXBlb2YgZnVuY3Rpb25cblx0Ly8gc28gdGhlIHVubW91bnQgd2lsbCByZW1vdmUgdGhlIHZub2RlLl9kb21cblx0aWYgKGNvbXBvbmVudCAmJiB2bm9kZS5fZmxhZ3MgJiBNT0RFX0hZRFJBVEUpIHtcblx0XHR2bm9kZS50eXBlID0gbnVsbDtcblx0fVxuXG5cdGlmIChvbGRVbm1vdW50KSBvbGRVbm1vdW50KHZub2RlKTtcbn07XG5cbmZ1bmN0aW9uIGRldGFjaGVkQ2xvbmUodm5vZGUsIGRldGFjaGVkUGFyZW50LCBwYXJlbnREb20pIHtcblx0aWYgKHZub2RlKSB7XG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQgJiYgdm5vZGUuX2NvbXBvbmVudC5fX2hvb2tzKSB7XG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9faG9va3MuX2xpc3QuZm9yRWFjaChlZmZlY3QgPT4ge1xuXHRcdFx0XHRpZiAodHlwZW9mIGVmZmVjdC5fY2xlYW51cCA9PSAnZnVuY3Rpb24nKSBlZmZlY3QuX2NsZWFudXAoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9faG9va3MgPSBudWxsO1xuXHRcdH1cblxuXHRcdHZub2RlID0gYXNzaWduKHt9LCB2bm9kZSk7XG5cdFx0aWYgKHZub2RlLl9jb21wb25lbnQgIT0gbnVsbCkge1xuXHRcdFx0aWYgKHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9PT0gcGFyZW50RG9tKSB7XG5cdFx0XHRcdHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9IGRldGFjaGVkUGFyZW50O1xuXHRcdFx0fVxuXHRcdFx0dm5vZGUuX2NvbXBvbmVudCA9IG51bGw7XG5cdFx0fVxuXG5cdFx0dm5vZGUuX2NoaWxkcmVuID1cblx0XHRcdHZub2RlLl9jaGlsZHJlbiAmJlxuXHRcdFx0dm5vZGUuX2NoaWxkcmVuLm1hcChjaGlsZCA9PlxuXHRcdFx0XHRkZXRhY2hlZENsb25lKGNoaWxkLCBkZXRhY2hlZFBhcmVudCwgcGFyZW50RG9tKVxuXHRcdFx0KTtcblx0fVxuXG5cdHJldHVybiB2bm9kZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlT3JpZ2luYWwodm5vZGUsIGRldGFjaGVkUGFyZW50LCBvcmlnaW5hbFBhcmVudCkge1xuXHRpZiAodm5vZGUgJiYgb3JpZ2luYWxQYXJlbnQpIHtcblx0XHR2bm9kZS5fb3JpZ2luYWwgPSBudWxsO1xuXHRcdHZub2RlLl9jaGlsZHJlbiA9XG5cdFx0XHR2bm9kZS5fY2hpbGRyZW4gJiZcblx0XHRcdHZub2RlLl9jaGlsZHJlbi5tYXAoY2hpbGQgPT5cblx0XHRcdFx0cmVtb3ZlT3JpZ2luYWwoY2hpbGQsIGRldGFjaGVkUGFyZW50LCBvcmlnaW5hbFBhcmVudClcblx0XHRcdCk7XG5cblx0XHRpZiAodm5vZGUuX2NvbXBvbmVudCkge1xuXHRcdFx0aWYgKHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9PT0gZGV0YWNoZWRQYXJlbnQpIHtcblx0XHRcdFx0aWYgKHZub2RlLl9kb20pIHtcblx0XHRcdFx0XHRvcmlnaW5hbFBhcmVudC5hcHBlbmRDaGlsZCh2bm9kZS5fZG9tKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR2bm9kZS5fY29tcG9uZW50Ll9mb3JjZSA9IHRydWU7XG5cdFx0XHRcdHZub2RlLl9jb21wb25lbnQuX3BhcmVudERvbSA9IG9yaWdpbmFsUGFyZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiB2bm9kZTtcbn1cblxuLy8gaGF2aW5nIGN1c3RvbSBpbmhlcml0YW5jZSBpbnN0ZWFkIG9mIGEgY2xhc3MgaGVyZSBzYXZlcyBhIGxvdCBvZiBieXRlc1xuZXhwb3J0IGZ1bmN0aW9uIFN1c3BlbnNlKCkge1xuXHQvLyB3ZSBkbyBub3QgY2FsbCBzdXBlciBoZXJlIHRvIGdvbGYgc29tZSBieXRlcy4uLlxuXHR0aGlzLl9wZW5kaW5nU3VzcGVuc2lvbkNvdW50ID0gMDtcblx0dGhpcy5fc3VzcGVuZGVycyA9IG51bGw7XG5cdHRoaXMuX2RldGFjaE9uTmV4dFJlbmRlciA9IG51bGw7XG59XG5cbi8vIFRoaW5ncyB3ZSBkbyBoZXJlIHRvIHNhdmUgc29tZSBieXRlcyBidXQgYXJlIG5vdCBwcm9wZXIgSlMgaW5oZXJpdGFuY2U6XG4vLyAtIGNhbGwgYG5ldyBDb21wb25lbnQoKWAgYXMgdGhlIHByb3RvdHlwZVxuLy8gLSBkbyBub3Qgc2V0IGBTdXNwZW5zZS5wcm90b3R5cGUuY29uc3RydWN0b3JgIHRvIGBTdXNwZW5zZWBcblN1c3BlbnNlLnByb3RvdHlwZSA9IG5ldyBDb21wb25lbnQoKTtcblxuLyoqXG4gKiBAdGhpcyB7aW1wb3J0KCcuL2ludGVybmFsJykuU3VzcGVuc2VDb21wb25lbnR9XG4gKiBAcGFyYW0ge1Byb21pc2V9IHByb21pc2UgVGhlIHRocm93biBwcm9taXNlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlPGFueSwgYW55Pn0gc3VzcGVuZGluZ1ZOb2RlIFRoZSBzdXNwZW5kaW5nIGNvbXBvbmVudFxuICovXG5TdXNwZW5zZS5wcm90b3R5cGUuX2NoaWxkRGlkU3VzcGVuZCA9IGZ1bmN0aW9uIChwcm9taXNlLCBzdXNwZW5kaW5nVk5vZGUpIHtcblx0Y29uc3Qgc3VzcGVuZGluZ0NvbXBvbmVudCA9IHN1c3BlbmRpbmdWTm9kZS5fY29tcG9uZW50O1xuXG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuU3VzcGVuc2VDb21wb25lbnR9ICovXG5cdGNvbnN0IGMgPSB0aGlzO1xuXG5cdGlmIChjLl9zdXNwZW5kZXJzID09IG51bGwpIHtcblx0XHRjLl9zdXNwZW5kZXJzID0gW107XG5cdH1cblx0Yy5fc3VzcGVuZGVycy5wdXNoKHN1c3BlbmRpbmdDb21wb25lbnQpO1xuXG5cdGNvbnN0IHJlc29sdmUgPSBzdXNwZW5kZWQoYy5fdm5vZGUpO1xuXG5cdGxldCByZXNvbHZlZCA9IGZhbHNlO1xuXHRjb25zdCBvblJlc29sdmVkID0gKCkgPT4ge1xuXHRcdGlmIChyZXNvbHZlZCkgcmV0dXJuO1xuXG5cdFx0cmVzb2x2ZWQgPSB0cnVlO1xuXHRcdHN1c3BlbmRpbmdDb21wb25lbnQuX29uUmVzb2x2ZSA9IG51bGw7XG5cblx0XHRpZiAocmVzb2x2ZSkge1xuXHRcdFx0cmVzb2x2ZShvblN1c3BlbnNpb25Db21wbGV0ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG9uU3VzcGVuc2lvbkNvbXBsZXRlKCk7XG5cdFx0fVxuXHR9O1xuXG5cdHN1c3BlbmRpbmdDb21wb25lbnQuX29uUmVzb2x2ZSA9IG9uUmVzb2x2ZWQ7XG5cblx0Y29uc3Qgb25TdXNwZW5zaW9uQ29tcGxldGUgPSAoKSA9PiB7XG5cdFx0aWYgKCEtLWMuX3BlbmRpbmdTdXNwZW5zaW9uQ291bnQpIHtcblx0XHRcdC8vIElmIHRoZSBzdXNwZW5zaW9uIHdhcyBkdXJpbmcgaHlkcmF0aW9uIHdlIGRvbid0IG5lZWQgdG8gcmVzdG9yZSB0aGVcblx0XHRcdC8vIHN1c3BlbmRlZCBjaGlsZHJlbiBpbnRvIHRoZSBfY2hpbGRyZW4gYXJyYXlcblx0XHRcdGlmIChjLnN0YXRlLl9zdXNwZW5kZWQpIHtcblx0XHRcdFx0Y29uc3Qgc3VzcGVuZGVkVk5vZGUgPSBjLnN0YXRlLl9zdXNwZW5kZWQ7XG5cdFx0XHRcdGMuX3Zub2RlLl9jaGlsZHJlblswXSA9IHJlbW92ZU9yaWdpbmFsKFxuXHRcdFx0XHRcdHN1c3BlbmRlZFZOb2RlLFxuXHRcdFx0XHRcdHN1c3BlbmRlZFZOb2RlLl9jb21wb25lbnQuX3BhcmVudERvbSxcblx0XHRcdFx0XHRzdXNwZW5kZWRWTm9kZS5fY29tcG9uZW50Ll9vcmlnaW5hbFBhcmVudERvbVxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXG5cdFx0XHRjLnNldFN0YXRlKHsgX3N1c3BlbmRlZDogKGMuX2RldGFjaE9uTmV4dFJlbmRlciA9IG51bGwpIH0pO1xuXG5cdFx0XHRsZXQgc3VzcGVuZGVkO1xuXHRcdFx0d2hpbGUgKChzdXNwZW5kZWQgPSBjLl9zdXNwZW5kZXJzLnBvcCgpKSkge1xuXHRcdFx0XHRzdXNwZW5kZWQuZm9yY2VVcGRhdGUoKTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIFdlIGRvIG5vdCBzZXQgYHN1c3BlbmRlZDogdHJ1ZWAgZHVyaW5nIGh5ZHJhdGlvbiBiZWNhdXNlIHdlIHdhbnQgdGhlIGFjdHVhbCBtYXJrdXBcblx0ICogdG8gcmVtYWluIG9uIHNjcmVlbiBhbmQgaHlkcmF0ZSBpdCB3aGVuIHRoZSBzdXNwZW5zZSBhY3R1YWxseSBnZXRzIHJlc29sdmVkLlxuXHQgKiBXaGlsZSBpbiBub24taHlkcmF0aW9uIGNhc2VzIHRoZSB1c3VhbCBmYWxsYmFjayAtPiBjb21wb25lbnQgZmxvdyB3b3VsZCBvY2NvdXIuXG5cdCAqL1xuXHRpZiAoXG5cdFx0IWMuX3BlbmRpbmdTdXNwZW5zaW9uQ291bnQrKyAmJlxuXHRcdCEoc3VzcGVuZGluZ1ZOb2RlLl9mbGFncyAmIE1PREVfSFlEUkFURSlcblx0KSB7XG5cdFx0Yy5zZXRTdGF0ZSh7IF9zdXNwZW5kZWQ6IChjLl9kZXRhY2hPbk5leHRSZW5kZXIgPSBjLl92bm9kZS5fY2hpbGRyZW5bMF0pIH0pO1xuXHR9XG5cdHByb21pc2UudGhlbihvblJlc29sdmVkLCBvblJlc29sdmVkKTtcbn07XG5cblN1c3BlbnNlLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudCA9IGZ1bmN0aW9uICgpIHtcblx0dGhpcy5fc3VzcGVuZGVycyA9IFtdO1xufTtcblxuLyoqXG4gKiBAdGhpcyB7aW1wb3J0KCcuL2ludGVybmFsJykuU3VzcGVuc2VDb21wb25lbnR9XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlQ29tcG9uZW50W1wicHJvcHNcIl19IHByb3BzXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlN1c3BlbnNlU3RhdGV9IHN0YXRlXG4gKi9cblN1c3BlbnNlLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAocHJvcHMsIHN0YXRlKSB7XG5cdGlmICh0aGlzLl9kZXRhY2hPbk5leHRSZW5kZXIpIHtcblx0XHQvLyBXaGVuIHRoZSBTdXNwZW5zZSdzIF92bm9kZSB3YXMgY3JlYXRlZCBieSBhIGNhbGwgdG8gY3JlYXRlVk5vZGVcblx0XHQvLyAoaS5lLiBkdWUgdG8gYSBzZXRTdGF0ZSBmdXJ0aGVyIHVwIGluIHRoZSB0cmVlKVxuXHRcdC8vIGl0J3MgX2NoaWxkcmVuIHByb3AgaXMgbnVsbCwgaW4gdGhpcyBjYXNlIHdlIFwiZm9yZ2V0XCIgYWJvdXQgdGhlIHBhcmtlZCB2bm9kZXMgdG8gZGV0YWNoXG5cdFx0aWYgKHRoaXMuX3Zub2RlLl9jaGlsZHJlbikge1xuXHRcdFx0Y29uc3QgZGV0YWNoZWRQYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblx0XHRcdGNvbnN0IGRldGFjaGVkQ29tcG9uZW50ID0gdGhpcy5fdm5vZGUuX2NoaWxkcmVuWzBdLl9jb21wb25lbnQ7XG5cdFx0XHR0aGlzLl92bm9kZS5fY2hpbGRyZW5bMF0gPSBkZXRhY2hlZENsb25lKFxuXHRcdFx0XHR0aGlzLl9kZXRhY2hPbk5leHRSZW5kZXIsXG5cdFx0XHRcdGRldGFjaGVkUGFyZW50LFxuXHRcdFx0XHQoZGV0YWNoZWRDb21wb25lbnQuX29yaWdpbmFsUGFyZW50RG9tID0gZGV0YWNoZWRDb21wb25lbnQuX3BhcmVudERvbSlcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5fZGV0YWNoT25OZXh0UmVuZGVyID0gbnVsbDtcblx0fVxuXG5cdC8vIFdyYXAgZmFsbGJhY2sgdHJlZSBpbiBhIFZOb2RlIHRoYXQgcHJldmVudHMgaXRzZWxmIGZyb20gYmVpbmcgbWFya2VkIGFzIGFib3J0aW5nIG1pZC1oeWRyYXRpb246XG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGV9ICovXG5cdGNvbnN0IGZhbGxiYWNrID1cblx0XHRzdGF0ZS5fc3VzcGVuZGVkICYmIGNyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIG51bGwsIHByb3BzLmZhbGxiYWNrKTtcblx0aWYgKGZhbGxiYWNrKSBmYWxsYmFjay5fZmxhZ3MgJj0gfk1PREVfSFlEUkFURTtcblxuXHRyZXR1cm4gW1xuXHRcdGNyZWF0ZUVsZW1lbnQoRnJhZ21lbnQsIG51bGwsIHN0YXRlLl9zdXNwZW5kZWQgPyBudWxsIDogcHJvcHMuY2hpbGRyZW4pLFxuXHRcdGZhbGxiYWNrXG5cdF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBhbmQgY2FsbHMgdGhlIHBhcmVudCBjb21wb25lbnQncyBfc3VzcGVuZGVkIG1ldGhvZCwgcGFzc2luZyBpbiB0aGVcbiAqIHN1c3BlbmRlZCB2bm9kZS4gVGhpcyBpcyBhIHdheSBmb3IgYSBwYXJlbnQgKGUuZy4gU3VzcGVuc2VMaXN0KSB0byBnZXQgbm90aWZpZWRcbiAqIHRoYXQgb25lIG9mIGl0cyBjaGlsZHJlbi9kZXNjZW5kYW50cyBzdXNwZW5kZWQuXG4gKlxuICogVGhlIHBhcmVudCBNQVkgcmV0dXJuIGEgY2FsbGJhY2suIFRoZSBjYWxsYmFjayB3aWxsIGdldCBjYWxsZWQgd2hlbiB0aGVcbiAqIHN1c3BlbnNpb24gcmVzb2x2ZXMsIG5vdGlmeWluZyB0aGUgcGFyZW50IG9mIHRoZSBmYWN0LlxuICogTW9yZW92ZXIsIHRoZSBjYWxsYmFjayBnZXRzIGZ1bmN0aW9uIGB1bnN1c3BlbmRgIGFzIGEgcGFyYW1ldGVyLiBUaGUgcmVzb2x2ZWRcbiAqIGNoaWxkIGRlc2NlbmRhbnQgd2lsbCBub3QgYWN0dWFsbHkgZ2V0IHVuc3VzcGVuZGVkIHVudGlsIGB1bnN1c3BlbmRgIGdldHMgY2FsbGVkLlxuICogVGhpcyBpcyBhIHdheSBmb3IgdGhlIHBhcmVudCB0byBkZWxheSB1bnN1c3BlbmRpbmcuXG4gKlxuICogSWYgdGhlIHBhcmVudCBkb2VzIG5vdCByZXR1cm4gYSBjYWxsYmFjayB0aGVuIHRoZSByZXNvbHZlZCB2bm9kZVxuICogZ2V0cyB1bnN1c3BlbmRlZCBpbW1lZGlhdGVseSB3aGVuIGl0IHJlc29sdmVzLlxuICpcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGV9IHZub2RlXG4gKiBAcmV0dXJucyB7KCh1bnN1c3BlbmQ6ICgpID0+IHZvaWQpID0+IHZvaWQpP31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1c3BlbmRlZCh2bm9kZSkge1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gKi9cblx0bGV0IGNvbXBvbmVudCA9IHZub2RlLl9wYXJlbnQuX2NvbXBvbmVudDtcblx0cmV0dXJuIGNvbXBvbmVudCAmJiBjb21wb25lbnQuX3N1c3BlbmRlZCAmJiBjb21wb25lbnQuX3N1c3BlbmRlZCh2bm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYXp5KGxvYWRlcikge1xuXHRsZXQgcHJvbTtcblx0bGV0IGNvbXBvbmVudDtcblx0bGV0IGVycm9yO1xuXG5cdGZ1bmN0aW9uIExhenkocHJvcHMpIHtcblx0XHRpZiAoIXByb20pIHtcblx0XHRcdHByb20gPSBsb2FkZXIoKTtcblx0XHRcdHByb20udGhlbihcblx0XHRcdFx0ZXhwb3J0cyA9PiB7XG5cdFx0XHRcdFx0Y29tcG9uZW50ID0gZXhwb3J0cy5kZWZhdWx0IHx8IGV4cG9ydHM7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGUgPT4ge1xuXHRcdFx0XHRcdGVycm9yID0gZTtcblx0XHRcdFx0fVxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRpZiAoZXJyb3IpIHtcblx0XHRcdHRocm93IGVycm9yO1xuXHRcdH1cblxuXHRcdGlmICghY29tcG9uZW50KSB7XG5cdFx0XHR0aHJvdyBwcm9tO1xuXHRcdH1cblxuXHRcdHJldHVybiBjcmVhdGVFbGVtZW50KGNvbXBvbmVudCwgcHJvcHMpO1xuXHR9XG5cblx0TGF6eS5kaXNwbGF5TmFtZSA9ICdMYXp5Jztcblx0TGF6eS5fZm9yd2FyZGVkID0gdHJ1ZTtcblx0cmV0dXJuIExhenk7XG59XG4iLCAiaW1wb3J0IHsgQ29tcG9uZW50LCB0b0NoaWxkQXJyYXkgfSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHsgc3VzcGVuZGVkIH0gZnJvbSAnLi9zdXNwZW5zZS5qcyc7XG5cbi8vIEluZGV4ZXMgdG8gbGlua2VkIGxpc3Qgbm9kZXMgKG5vZGVzIGFyZSBzdG9yZWQgYXMgYXJyYXlzIHRvIHNhdmUgYnl0ZXMpLlxuY29uc3QgU1VTUEVOREVEX0NPVU5UID0gMDtcbmNvbnN0IFJFU09MVkVEX0NPVU5UID0gMTtcbmNvbnN0IE5FWFRfTk9ERSA9IDI7XG5cbi8vIEhhdmluZyBjdXN0b20gaW5oZXJpdGFuY2UgaW5zdGVhZCBvZiBhIGNsYXNzIGhlcmUgc2F2ZXMgYSBsb3Qgb2YgYnl0ZXMuXG5leHBvcnQgZnVuY3Rpb24gU3VzcGVuc2VMaXN0KCkge1xuXHR0aGlzLl9uZXh0ID0gbnVsbDtcblx0dGhpcy5fbWFwID0gbnVsbDtcbn1cblxuLy8gTWFyayBvbmUgb2YgY2hpbGQncyBlYXJsaWVyIHN1c3BlbnNpb25zIGFzIHJlc29sdmVkLlxuLy8gU29tZSBwZW5kaW5nIGNhbGxiYWNrcyBtYXkgYmVjb21lIGNhbGxhYmxlIGR1ZSB0byB0aGlzXG4vLyAoZS5nLiB0aGUgbGFzdCBzdXNwZW5kZWQgZGVzY2VuZGFudCBnZXRzIHJlc29sdmVkIHdoZW5cbi8vIHJldmVhbE9yZGVyID09PSAndG9nZXRoZXInKS4gUHJvY2VzcyB0aG9zZSBjYWxsYmFja3MgYXMgd2VsbC5cbmNvbnN0IHJlc29sdmUgPSAobGlzdCwgY2hpbGQsIG5vZGUpID0+IHtcblx0aWYgKCsrbm9kZVtSRVNPTFZFRF9DT1VOVF0gPT09IG5vZGVbU1VTUEVOREVEX0NPVU5UXSkge1xuXHRcdC8vIFRoZSBudW1iZXIgYSBjaGlsZCAob3IgYW55IG9mIGl0cyBkZXNjZW5kYW50cykgaGFzIGJlZW4gc3VzcGVuZGVkXG5cdFx0Ly8gbWF0Y2hlcyB0aGUgbnVtYmVyIG9mIHRpbWVzIGl0J3MgYmVlbiByZXNvbHZlZC4gVGhlcmVmb3JlIHdlXG5cdFx0Ly8gbWFyayB0aGUgY2hpbGQgYXMgY29tcGxldGVseSByZXNvbHZlZCBieSBkZWxldGluZyBpdCBmcm9tIC5fbWFwLlxuXHRcdC8vIFRoaXMgaXMgdXNlZCB0byBmaWd1cmUgb3V0IHdoZW4gKmFsbCogY2hpbGRyZW4gaGF2ZSBiZWVuIGNvbXBsZXRlbHlcblx0XHQvLyByZXNvbHZlZCB3aGVuIHJldmVhbE9yZGVyIGlzICd0b2dldGhlcicuXG5cdFx0bGlzdC5fbWFwLmRlbGV0ZShjaGlsZCk7XG5cdH1cblxuXHQvLyBJZiByZXZlYWxPcmRlciBpcyBmYWxzeSB0aGVuIHdlIGNhbiBkbyBhbiBlYXJseSBleGl0LCBhcyB0aGVcblx0Ly8gY2FsbGJhY2tzIHdvbid0IGdldCBxdWV1ZWQgaW4gdGhlIG5vZGUgYW55d2F5LlxuXHQvLyBJZiByZXZlYWxPcmRlciBpcyAndG9nZXRoZXInIHRoZW4gYWxzbyBkbyBhbiBlYXJseSBleGl0XG5cdC8vIGlmIGFsbCBzdXNwZW5kZWQgZGVzY2VuZGFudHMgaGF2ZSBub3QgeWV0IGJlZW4gcmVzb2x2ZWQuXG5cdGlmIChcblx0XHQhbGlzdC5wcm9wcy5yZXZlYWxPcmRlciB8fFxuXHRcdChsaXN0LnByb3BzLnJldmVhbE9yZGVyWzBdID09PSAndCcgJiYgbGlzdC5fbWFwLnNpemUpXG5cdCkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdC8vIFdhbGsgdGhlIGN1cnJlbnRseSBzdXNwZW5kZWQgY2hpbGRyZW4gaW4gb3JkZXIsIGNhbGxpbmcgdGhlaXJcblx0Ly8gc3RvcmVkIGNhbGxiYWNrcyBvbiB0aGUgd2F5LiBTdG9wIGlmIHdlIGVuY291bnRlciBhIGNoaWxkIHRoYXRcblx0Ly8gaGFzIG5vdCBiZWVuIGNvbXBsZXRlbHkgcmVzb2x2ZWQgeWV0LlxuXHRub2RlID0gbGlzdC5fbmV4dDtcblx0d2hpbGUgKG5vZGUpIHtcblx0XHR3aGlsZSAobm9kZS5sZW5ndGggPiAzKSB7XG5cdFx0XHRub2RlLnBvcCgpKCk7XG5cdFx0fVxuXHRcdGlmIChub2RlW1JFU09MVkVEX0NPVU5UXSA8IG5vZGVbU1VTUEVOREVEX0NPVU5UXSkge1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdGxpc3QuX25leHQgPSBub2RlID0gbm9kZVtORVhUX05PREVdO1xuXHR9XG59O1xuXG4vLyBUaGluZ3Mgd2UgZG8gaGVyZSB0byBzYXZlIHNvbWUgYnl0ZXMgYnV0IGFyZSBub3QgcHJvcGVyIEpTIGluaGVyaXRhbmNlOlxuLy8gLSBjYWxsIGBuZXcgQ29tcG9uZW50KClgIGFzIHRoZSBwcm90b3R5cGVcbi8vIC0gZG8gbm90IHNldCBgU3VzcGVuc2UucHJvdG90eXBlLmNvbnN0cnVjdG9yYCB0byBgU3VzcGVuc2VgXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlID0gbmV3IENvbXBvbmVudCgpO1xuXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlLl9zdXNwZW5kZWQgPSBmdW5jdGlvbiAoY2hpbGQpIHtcblx0Y29uc3QgbGlzdCA9IHRoaXM7XG5cdGNvbnN0IGRlbGVnYXRlZCA9IHN1c3BlbmRlZChsaXN0Ll92bm9kZSk7XG5cblx0bGV0IG5vZGUgPSBsaXN0Ll9tYXAuZ2V0KGNoaWxkKTtcblx0bm9kZVtTVVNQRU5ERURfQ09VTlRdKys7XG5cblx0cmV0dXJuIHVuc3VzcGVuZCA9PiB7XG5cdFx0Y29uc3Qgd3JhcHBlZFVuc3VzcGVuZCA9ICgpID0+IHtcblx0XHRcdGlmICghbGlzdC5wcm9wcy5yZXZlYWxPcmRlcikge1xuXHRcdFx0XHQvLyBTcGVjaWFsIGNhc2UgdGhlIHVuZGVmaW5lZCAoZmFsc3kpIHJldmVhbE9yZGVyLCBhcyB0aGVyZVxuXHRcdFx0XHQvLyBpcyBubyBuZWVkIHRvIGNvb3JkaW5hdGUgYSBzcGVjaWZpYyBvcmRlciBvciB1bnN1c3BlbmRzLlxuXHRcdFx0XHR1bnN1c3BlbmQoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG5vZGUucHVzaCh1bnN1c3BlbmQpO1xuXHRcdFx0XHRyZXNvbHZlKGxpc3QsIGNoaWxkLCBub2RlKTtcblx0XHRcdH1cblx0XHR9O1xuXHRcdGlmIChkZWxlZ2F0ZWQpIHtcblx0XHRcdGRlbGVnYXRlZCh3cmFwcGVkVW5zdXNwZW5kKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0d3JhcHBlZFVuc3VzcGVuZCgpO1xuXHRcdH1cblx0fTtcbn07XG5cblN1c3BlbnNlTGlzdC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKHByb3BzKSB7XG5cdHRoaXMuX25leHQgPSBudWxsO1xuXHR0aGlzLl9tYXAgPSBuZXcgTWFwKCk7XG5cblx0Y29uc3QgY2hpbGRyZW4gPSB0b0NoaWxkQXJyYXkocHJvcHMuY2hpbGRyZW4pO1xuXHRpZiAocHJvcHMucmV2ZWFsT3JkZXIgJiYgcHJvcHMucmV2ZWFsT3JkZXJbMF0gPT09ICdiJykge1xuXHRcdC8vIElmIG9yZGVyID09PSAnYmFja3dhcmRzJyAob3IsIHdlbGwsIGFueXRoaW5nIHN0YXJ0aW5nIHdpdGggYSAnYicpXG5cdFx0Ly8gdGhlbiBmbGlwIHRoZSBjaGlsZCBsaXN0IGFyb3VuZCBzbyB0aGF0IHRoZSBsYXN0IGNoaWxkIHdpbGwgYmVcblx0XHQvLyB0aGUgZmlyc3QgaW4gdGhlIGxpbmtlZCBsaXN0LlxuXHRcdGNoaWxkcmVuLnJldmVyc2UoKTtcblx0fVxuXHQvLyBCdWlsZCB0aGUgbGlua2VkIGxpc3QuIEl0ZXJhdGUgdGhyb3VnaCB0aGUgY2hpbGRyZW4gaW4gcmV2ZXJzZSBvcmRlclxuXHQvLyBzbyB0aGF0IGBfbmV4dGAgcG9pbnRzIHRvIHRoZSBmaXJzdCBsaW5rZWQgbGlzdCBub2RlIHRvIGJlIHJlc29sdmVkLlxuXHRmb3IgKGxldCBpID0gY2hpbGRyZW4ubGVuZ3RoOyBpLS07ICkge1xuXHRcdC8vIENyZWF0ZSBhIG5ldyBsaW5rZWQgbGlzdCBub2RlIGFzIGFuIGFycmF5IG9mIGZvcm06XG5cdFx0Ly8gXHRbc3VzcGVuZGVkX2NvdW50LCByZXNvbHZlZF9jb3VudCwgbmV4dF9ub2RlXVxuXHRcdC8vIHdoZXJlIHN1c3BlbmRlZF9jb3VudCBhbmQgcmVzb2x2ZWRfY291bnQgYXJlIG51bWVyaWMgY291bnRlcnMgZm9yXG5cdFx0Ly8ga2VlcGluZyB0cmFjayBob3cgbWFueSB0aW1lcyBhIG5vZGUgaGFzIGJlZW4gc3VzcGVuZGVkIGFuZCByZXNvbHZlZC5cblx0XHQvL1xuXHRcdC8vIE5vdGUgdGhhdCBzdXNwZW5kZWRfY291bnQgc3RhcnRzIGZyb20gMSBpbnN0ZWFkIG9mIDAsIHNvIHdlIGNhbiBibG9ja1xuXHRcdC8vIHByb2Nlc3NpbmcgY2FsbGJhY2tzIHVudGlsIGNvbXBvbmVudERpZE1vdW50IGhhcyBiZWVuIGNhbGxlZC4gSW4gYSBzZW5zZVxuXHRcdC8vIG5vZGUgaXMgc3VzcGVuZGVkIGF0IGxlYXN0IHVudGlsIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkIVxuXHRcdC8vXG5cdFx0Ly8gUGVuZGluZyBjYWxsYmFja3MgYXJlIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIG5vZGU6XG5cdFx0Ly8gXHRbc3VzcGVuZGVkX2NvdW50LCByZXNvbHZlZF9jb3VudCwgbmV4dF9ub2RlLCBjYWxsYmFja18wLCBjYWxsYmFja18xLCAuLi5dXG5cdFx0dGhpcy5fbWFwLnNldChjaGlsZHJlbltpXSwgKHRoaXMuX25leHQgPSBbMSwgMCwgdGhpcy5fbmV4dF0pKTtcblx0fVxuXHRyZXR1cm4gcHJvcHMuY2hpbGRyZW47XG59O1xuXG5TdXNwZW5zZUxpc3QucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZSA9XG5cdFN1c3BlbnNlTGlzdC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0Ly8gSXRlcmF0ZSB0aHJvdWdoIGFsbCBjaGlsZHJlbiBhZnRlciBtb3VudGluZyBmb3IgdHdvIHJlYXNvbnM6XG5cdFx0Ly8gMS4gQXMgZWFjaCBub2RlW1NVU1BFTkRFRF9DT1VOVF0gc3RhcnRzIGZyb20gMSwgdGhpcyBpdGVyYXRpb24gaW5jcmVhc2VzXG5cdFx0Ly8gICAgZWFjaCBub2RlW1JFTEVBU0VEX0NPVU5UXSBieSAxLCB0aGVyZWZvcmUgYmFsYW5jaW5nIHRoZSBjb3VudGVycy5cblx0XHQvLyAgICBUaGUgbm9kZXMgY2FuIG5vdyBiZSBjb21wbGV0ZWx5IGNvbnN1bWVkIGZyb20gdGhlIGxpbmtlZCBsaXN0LlxuXHRcdC8vIDIuIEhhbmRsZSBub2RlcyB0aGF0IG1pZ2h0IGhhdmUgZ290dGVuIHJlc29sdmVkIGJldHdlZW4gcmVuZGVyIGFuZFxuXHRcdC8vICAgIGNvbXBvbmVudERpZE1vdW50LlxuXHRcdHRoaXMuX21hcC5mb3JFYWNoKChub2RlLCBjaGlsZCkgPT4ge1xuXHRcdFx0cmVzb2x2ZSh0aGlzLCBjaGlsZCwgbm9kZSk7XG5cdFx0fSk7XG5cdH07XG4iLCAiLyoqIE5vcm1hbCBoeWRyYXRpb24gdGhhdCBhdHRhY2hlcyB0byBhIERPTSB0cmVlIGJ1dCBkb2VzIG5vdCBkaWZmIGl0LiAqL1xuZXhwb3J0IGNvbnN0IE1PREVfSFlEUkFURSA9IDEgPDwgNTtcbi8qKiBTaWduaWZpZXMgdGhpcyBWTm9kZSBzdXNwZW5kZWQgb24gdGhlIHByZXZpb3VzIHJlbmRlciAqL1xuZXhwb3J0IGNvbnN0IE1PREVfU1VTUEVOREVEID0gMSA8PCA3O1xuLyoqIEluZGljYXRlcyB0aGF0IHRoaXMgbm9kZSBuZWVkcyB0byBiZSBpbnNlcnRlZCB3aGlsZSBwYXRjaGluZyBjaGlsZHJlbiAqL1xuZXhwb3J0IGNvbnN0IElOU0VSVF9WTk9ERSA9IDEgPDwgMTY7XG4vKiogSW5kaWNhdGVzIGEgVk5vZGUgaGFzIGJlZW4gbWF0Y2hlZCB3aXRoIGFub3RoZXIgVk5vZGUgaW4gdGhlIGRpZmYgKi9cbmV4cG9ydCBjb25zdCBNQVRDSEVEID0gMSA8PCAxNztcblxuLyoqIFJlc2V0IGFsbCBtb2RlIGZsYWdzICovXG5leHBvcnQgY29uc3QgUkVTRVRfTU9ERSA9IH4oTU9ERV9IWURSQVRFIHwgTU9ERV9TVVNQRU5ERUQpO1xuXG5leHBvcnQgY29uc3QgRU1QVFlfT0JKID0gLyoqIEB0eXBlIHthbnl9ICovICh7fSk7XG5leHBvcnQgY29uc3QgRU1QVFlfQVJSID0gW107XG5leHBvcnQgY29uc3QgSVNfTk9OX0RJTUVOU0lPTkFMID1cblx0L2FjaXR8ZXgoPzpzfGd8bnxwfCQpfHJwaHxncmlkfG93c3xtbmN8bnR3fGluZVtjaF18em9vfF5vcmR8aXRlcmEvaTtcbiIsICJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCByZW5kZXIgfSBmcm9tICdwcmVhY3QnO1xuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi8uLi9zcmMvaW5kZXgnKS5SZW5kZXJhYmxlUHJvcHM8eyBjb250ZXh0OiBhbnkgfT59IHByb3BzXG4gKi9cbmZ1bmN0aW9uIENvbnRleHRQcm92aWRlcihwcm9wcykge1xuXHR0aGlzLmdldENoaWxkQ29udGV4dCA9ICgpID0+IHByb3BzLmNvbnRleHQ7XG5cdHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbn1cblxuLyoqXG4gKiBQb3J0YWwgY29tcG9uZW50XG4gKiBAdGhpcyB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50fVxuICogQHBhcmFtIHtvYmplY3QgfCBudWxsIHwgdW5kZWZpbmVkfSBwcm9wc1xuICpcbiAqIFRPRE86IHVzZSBjcmVhdGVSb290KCkgaW5zdGVhZCBvZiBmYWtlIHJvb3RcbiAqL1xuZnVuY3Rpb24gUG9ydGFsKHByb3BzKSB7XG5cdGNvbnN0IF90aGlzID0gdGhpcztcblx0bGV0IGNvbnRhaW5lciA9IHByb3BzLl9jb250YWluZXI7XG5cblx0X3RoaXMuY29tcG9uZW50V2lsbFVubW91bnQgPSBmdW5jdGlvbiAoKSB7XG5cdFx0cmVuZGVyKG51bGwsIF90aGlzLl90ZW1wKTtcblx0XHRfdGhpcy5fdGVtcCA9IG51bGw7XG5cdFx0X3RoaXMuX2NvbnRhaW5lciA9IG51bGw7XG5cdH07XG5cblx0Ly8gV2hlbiB3ZSBjaGFuZ2UgY29udGFpbmVyIHdlIHNob3VsZCBjbGVhciBvdXIgb2xkIGNvbnRhaW5lciBhbmRcblx0Ly8gaW5kaWNhdGUgYSBuZXcgbW91bnQuXG5cdGlmIChfdGhpcy5fY29udGFpbmVyICYmIF90aGlzLl9jb250YWluZXIgIT09IGNvbnRhaW5lcikge1xuXHRcdF90aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG5cdH1cblxuXHRpZiAoIV90aGlzLl90ZW1wKSB7XG5cdFx0X3RoaXMuX2NvbnRhaW5lciA9IGNvbnRhaW5lcjtcblxuXHRcdC8vIENyZWF0ZSBhIGZha2UgRE9NIHBhcmVudCBub2RlIHRoYXQgbWFuYWdlcyBhIHN1YnNldCBvZiBgY29udGFpbmVyYCdzIGNoaWxkcmVuOlxuXHRcdF90aGlzLl90ZW1wID0ge1xuXHRcdFx0bm9kZVR5cGU6IDEsXG5cdFx0XHRwYXJlbnROb2RlOiBjb250YWluZXIsXG5cdFx0XHRjaGlsZE5vZGVzOiBbXSxcblx0XHRcdGNvbnRhaW5zOiAoKSA9PiB0cnVlLFxuXHRcdFx0YXBwZW5kQ2hpbGQoY2hpbGQpIHtcblx0XHRcdFx0dGhpcy5jaGlsZE5vZGVzLnB1c2goY2hpbGQpO1xuXHRcdFx0XHRfdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKGNoaWxkKTtcblx0XHRcdH0sXG5cdFx0XHRpbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZSkge1xuXHRcdFx0XHR0aGlzLmNoaWxkTm9kZXMucHVzaChjaGlsZCk7XG5cdFx0XHRcdF90aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQoY2hpbGQpO1xuXHRcdFx0fSxcblx0XHRcdHJlbW92ZUNoaWxkKGNoaWxkKSB7XG5cdFx0XHRcdHRoaXMuY2hpbGROb2Rlcy5zcGxpY2UodGhpcy5jaGlsZE5vZGVzLmluZGV4T2YoY2hpbGQpID4+PiAxLCAxKTtcblx0XHRcdFx0X3RoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZChjaGlsZCk7XG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXG5cdC8vIFJlbmRlciBvdXIgd3JhcHBpbmcgZWxlbWVudCBpbnRvIHRlbXAuXG5cdHJlbmRlcihcblx0XHRjcmVhdGVFbGVtZW50KENvbnRleHRQcm92aWRlciwgeyBjb250ZXh0OiBfdGhpcy5jb250ZXh0IH0sIHByb3BzLl92bm9kZSksXG5cdFx0X3RoaXMuX3RlbXBcblx0KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBgUG9ydGFsYCB0byBjb250aW51ZSByZW5kZXJpbmcgdGhlIHZub2RlIHRyZWUgYXQgYSBkaWZmZXJlbnQgRE9NIG5vZGVcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuVk5vZGV9IHZub2RlIFRoZSB2bm9kZSB0byByZW5kZXJcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL2ludGVybmFsJykuUHJlYWN0RWxlbWVudH0gY29udGFpbmVyIFRoZSBET00gbm9kZSB0byBjb250aW51ZSByZW5kZXJpbmcgaW4gdG8uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb3J0YWwodm5vZGUsIGNvbnRhaW5lcikge1xuXHRjb25zdCBlbCA9IGNyZWF0ZUVsZW1lbnQoUG9ydGFsLCB7IF92bm9kZTogdm5vZGUsIF9jb250YWluZXI6IGNvbnRhaW5lciB9KTtcblx0ZWwuY29udGFpbmVySW5mbyA9IGNvbnRhaW5lcjtcblx0cmV0dXJuIGVsO1xufVxuIiwgImltcG9ydCB7XG5cdHJlbmRlciBhcyBwcmVhY3RSZW5kZXIsXG5cdGh5ZHJhdGUgYXMgcHJlYWN0SHlkcmF0ZSxcblx0b3B0aW9ucyxcblx0dG9DaGlsZEFycmF5LFxuXHRDb21wb25lbnRcbn0gZnJvbSAncHJlYWN0JztcbmltcG9ydCB7XG5cdHVzZUNhbGxiYWNrLFxuXHR1c2VDb250ZXh0LFxuXHR1c2VEZWJ1Z1ZhbHVlLFxuXHR1c2VFZmZlY3QsXG5cdHVzZUlkLFxuXHR1c2VJbXBlcmF0aXZlSGFuZGxlLFxuXHR1c2VMYXlvdXRFZmZlY3QsXG5cdHVzZU1lbW8sXG5cdHVzZVJlZHVjZXIsXG5cdHVzZVJlZixcblx0dXNlU3RhdGVcbn0gZnJvbSAncHJlYWN0L2hvb2tzJztcbmltcG9ydCB7XG5cdHVzZURlZmVycmVkVmFsdWUsXG5cdHVzZUluc2VydGlvbkVmZmVjdCxcblx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdHVzZVRyYW5zaXRpb25cbn0gZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCBSRUFDVF9FTEVNRU5UX1RZUEUgPVxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJiBTeW1ib2wuZm9yICYmIFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSkgfHxcblx0MHhlYWM3O1xuXG5jb25zdCBDQU1FTF9QUk9QUyA9XG5cdC9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZG9taW5hbnR8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8aW1hZ2UoIVMpfGxldHRlcnxsaWdodGluZ3xtYXJrZXIoPyFIfFd8VSl8b3ZlcmxpbmV8cGFpbnR8cG9pbnRlcnxzaGFwZXxzdG9wfHN0cmlrZXRocm91Z2h8c3Ryb2tlfHRleHQoPyFMKXx0cmFuc2Zvcm18dW5kZXJsaW5lfHVuaWNvZGV8dW5pdHN8dnx2ZWN0b3J8dmVydHx3b3JkfHdyaXRpbmd8eCg/IUMpKVtBLVpdLztcbmNvbnN0IE9OX0FOSSA9IC9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS87XG5jb25zdCBDQU1FTF9SRVBMQUNFID0gL1tBLVowLTldL2c7XG5jb25zdCBJU19ET00gPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnO1xuXG4vLyBJbnB1dCB0eXBlcyBmb3Igd2hpY2ggb25jaGFuZ2Ugc2hvdWxkIG5vdCBiZSBjb252ZXJ0ZWQgdG8gb25pbnB1dC5cbi8vIHR5cGU9XCJmaWxlfGNoZWNrYm94fHJhZGlvXCIsIHBsdXMgXCJyYW5nZVwiIGluIElFMTEuXG4vLyAoSUUxMSBkb2Vzbid0IHN1cHBvcnQgU3ltYm9sLCB3aGljaCB3ZSB1c2UgaGVyZSB0byB0dXJuIGByYWRgIGludG8gYHJhYCB3aGljaCBtYXRjaGVzIFwicmFuZ2VcIilcbmNvbnN0IG9uQ2hhbmdlSW5wdXRUeXBlID0gdHlwZSA9PlxuXHQodHlwZW9mIFN5bWJvbCAhPSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgU3ltYm9sKCkgPT0gJ3N5bWJvbCdcblx0XHQ/IC9maWx8Y2hlfHJhZC9cblx0XHQ6IC9maWx8Y2hlfHJhL1xuXHQpLnRlc3QodHlwZSk7XG5cbi8vIFNvbWUgbGlicmFyaWVzIGxpa2UgYHJlYWN0LXZpcnR1YWxpemVkYCBleHBsaWNpdGx5IGNoZWNrIGZvciB0aGlzLlxuQ29tcG9uZW50LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0ge307XG5cbi8vIGBVTlNBRkVfKmAgbGlmZWN5Y2xlIGhvb2tzXG4vLyBQcmVhY3Qgb25seSBldmVyIGludm9rZXMgdGhlIHVucHJlZml4ZWQgbWV0aG9kcy5cbi8vIEhlcmUgd2UgcHJvdmlkZSBhIGJhc2UgXCJmYWxsYmFja1wiIGltcGxlbWVudGF0aW9uIHRoYXQgY2FsbHMgYW55IGRlZmluZWQgVU5TQUZFXyBwcmVmaXhlZCBtZXRob2QuXG4vLyAtIElmIGEgY29tcG9uZW50IGRlZmluZXMgaXRzIG93biBgY29tcG9uZW50RGlkTW91bnQoKWAgKGluY2x1ZGluZyB2aWEgZGVmaW5lUHJvcGVydHkpLCB1c2UgdGhhdC5cbi8vIC0gSWYgYSBjb21wb25lbnQgZGVmaW5lcyBgVU5TQUZFX2NvbXBvbmVudERpZE1vdW50KClgLCBgY29tcG9uZW50RGlkTW91bnRgIGlzIHRoZSBhbGlhcyBnZXR0ZXIvc2V0dGVyLlxuLy8gLSBJZiBhbnl0aGluZyBhc3NpZ25zIHRvIGFuIGBVTlNBRkVfKmAgcHJvcGVydHksIHRoZSBhc3NpZ25tZW50IGlzIGZvcndhcmRlZCB0byB0aGUgdW5wcmVmaXhlZCBwcm9wZXJ0eS5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJlYWN0anMvcHJlYWN0L2lzc3Vlcy8xOTQxXG5bXG5cdCdjb21wb25lbnRXaWxsTW91bnQnLFxuXHQnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycsXG5cdCdjb21wb25lbnRXaWxsVXBkYXRlJ1xuXS5mb3JFYWNoKGtleSA9PiB7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb21wb25lbnQucHJvdG90eXBlLCBrZXksIHtcblx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0Z2V0KCkge1xuXHRcdFx0cmV0dXJuIHRoaXNbJ1VOU0FGRV8nICsga2V5XTtcblx0XHR9LFxuXHRcdHNldCh2KSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywga2V5LCB7XG5cdFx0XHRcdGNvbmZpZ3VyYWJsZTogdHJ1ZSxcblx0XHRcdFx0d3JpdGFibGU6IHRydWUsXG5cdFx0XHRcdHZhbHVlOiB2XG5cdFx0XHR9KTtcblx0XHR9XG5cdH0pO1xufSk7XG5cbi8qKlxuICogUHJveHkgcmVuZGVyKCkgc2luY2UgUmVhY3QgcmV0dXJucyBhIENvbXBvbmVudCByZWZlcmVuY2UuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlfSB2bm9kZSBWTm9kZSB0cmVlIHRvIHJlbmRlclxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5QcmVhY3RFbGVtZW50fSBwYXJlbnQgRE9NIG5vZGUgdG8gcmVuZGVyIHZub2RlIHRyZWUgaW50b1xuICogQHBhcmFtIHsoKSA9PiB2b2lkfSBbY2FsbGJhY2tdIE9wdGlvbmFsIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgcmVuZGVyaW5nXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuQ29tcG9uZW50IHwgbnVsbH0gVGhlIHJvb3QgY29tcG9uZW50IHJlZmVyZW5jZSBvciBudWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXIodm5vZGUsIHBhcmVudCwgY2FsbGJhY2spIHtcblx0Ly8gUmVhY3QgZGVzdHJveXMgYW55IGV4aXN0aW5nIERPTSBub2Rlcywgc2VlICMxNzI3XG5cdC8vIC4uLmJ1dCBvbmx5IG9uIHRoZSBmaXJzdCByZW5kZXIsIHNlZSAjMTgyOFxuXHRpZiAocGFyZW50Ll9jaGlsZHJlbiA9PSBudWxsKSB7XG5cdFx0cGFyZW50LnRleHRDb250ZW50ID0gJyc7XG5cdH1cblxuXHRwcmVhY3RSZW5kZXIodm5vZGUsIHBhcmVudCk7XG5cdGlmICh0eXBlb2YgY2FsbGJhY2sgPT0gJ2Z1bmN0aW9uJykgY2FsbGJhY2soKTtcblxuXHRyZXR1cm4gdm5vZGUgPyB2bm9kZS5fY29tcG9uZW50IDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5ZHJhdGUodm5vZGUsIHBhcmVudCwgY2FsbGJhY2spIHtcblx0cHJlYWN0SHlkcmF0ZSh2bm9kZSwgcGFyZW50KTtcblx0aWYgKHR5cGVvZiBjYWxsYmFjayA9PSAnZnVuY3Rpb24nKSBjYWxsYmFjaygpO1xuXG5cdHJldHVybiB2bm9kZSA/IHZub2RlLl9jb21wb25lbnQgOiBudWxsO1xufVxuXG5sZXQgb2xkRXZlbnRIb29rID0gb3B0aW9ucy5ldmVudDtcbm9wdGlvbnMuZXZlbnQgPSBlID0+IHtcblx0aWYgKG9sZEV2ZW50SG9vaykgZSA9IG9sZEV2ZW50SG9vayhlKTtcblxuXHRlLnBlcnNpc3QgPSBlbXB0eTtcblx0ZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGlzUHJvcGFnYXRpb25TdG9wcGVkO1xuXHRlLmlzRGVmYXVsdFByZXZlbnRlZCA9IGlzRGVmYXVsdFByZXZlbnRlZDtcblx0cmV0dXJuIChlLm5hdGl2ZUV2ZW50ID0gZSk7XG59O1xuXG5mdW5jdGlvbiBlbXB0eSgpIHt9XG5cbmZ1bmN0aW9uIGlzUHJvcGFnYXRpb25TdG9wcGVkKCkge1xuXHRyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGU7XG59XG5cbmZ1bmN0aW9uIGlzRGVmYXVsdFByZXZlbnRlZCgpIHtcblx0cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZDtcbn1cblxuY29uc3QgY2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlID0ge1xuXHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRnZXQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY2xhc3M7XG5cdH1cbn07XG5cbmZ1bmN0aW9uIGhhbmRsZURvbVZOb2RlKHZub2RlKSB7XG5cdGxldCBwcm9wcyA9IHZub2RlLnByb3BzLFxuXHRcdHR5cGUgPSB2bm9kZS50eXBlLFxuXHRcdG5vcm1hbGl6ZWRQcm9wcyA9IHt9O1xuXG5cdGxldCBpc05vbkRhc2hlZFR5cGUgPSB0eXBlLmluZGV4T2YoJy0nKSA9PT0gLTE7XG5cdGZvciAobGV0IGkgaW4gcHJvcHMpIHtcblx0XHRsZXQgdmFsdWUgPSBwcm9wc1tpXTtcblxuXHRcdGlmIChcblx0XHRcdChpID09PSAndmFsdWUnICYmICdkZWZhdWx0VmFsdWUnIGluIHByb3BzICYmIHZhbHVlID09IG51bGwpIHx8XG5cdFx0XHQvLyBFbXVsYXRlIFJlYWN0J3MgYmVoYXZpb3Igb2Ygbm90IHJlbmRlcmluZyB0aGUgY29udGVudHMgb2Ygbm9zY3JpcHQgdGFncyBvbiB0aGUgY2xpZW50LlxuXHRcdFx0KElTX0RPTSAmJiBpID09PSAnY2hpbGRyZW4nICYmIHR5cGUgPT09ICdub3NjcmlwdCcpIHx8XG5cdFx0XHRpID09PSAnY2xhc3MnIHx8XG5cdFx0XHRpID09PSAnY2xhc3NOYW1lJ1xuXHRcdCkge1xuXHRcdFx0Ly8gU2tpcCBhcHBseWluZyB2YWx1ZSBpZiBpdCBpcyBudWxsL3VuZGVmaW5lZCBhbmQgd2UgYWxyZWFkeSBzZXRcblx0XHRcdC8vIGEgZGVmYXVsdCB2YWx1ZVxuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0bGV0IGxvd2VyQ2FzZWQgPSBpLnRvTG93ZXJDYXNlKCk7XG5cdFx0aWYgKGkgPT09ICdkZWZhdWx0VmFsdWUnICYmICd2YWx1ZScgaW4gcHJvcHMgJiYgcHJvcHMudmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0Ly8gYGRlZmF1bHRWYWx1ZWAgaXMgdHJlYXRlZCBhcyBhIGZhbGxiYWNrIGB2YWx1ZWAgd2hlbiBhIHZhbHVlIHByb3AgaXMgcHJlc2VudCBidXQgbnVsbC91bmRlZmluZWQuXG5cdFx0XHQvLyBgZGVmYXVsdFZhbHVlYCBmb3IgRWxlbWVudHMgd2l0aCBubyB2YWx1ZSBwcm9wIGlzIHRoZSBzYW1lIGFzIHRoZSBET00gZGVmYXVsdFZhbHVlIHByb3BlcnR5LlxuXHRcdFx0aSA9ICd2YWx1ZSc7XG5cdFx0fSBlbHNlIGlmIChpID09PSAnZG93bmxvYWQnICYmIHZhbHVlID09PSB0cnVlKSB7XG5cdFx0XHQvLyBDYWxsaW5nIGBzZXRBdHRyaWJ1dGVgIHdpdGggYSB0cnV0aHkgdmFsdWUgd2lsbCBsZWFkIHRvIGl0IGJlaW5nXG5cdFx0XHQvLyBwYXNzZWQgYXMgYSBzdHJpbmdpZmllZCB2YWx1ZSwgZS5nLiBgZG93bmxvYWQ9XCJ0cnVlXCJgLiBSZWFjdFxuXHRcdFx0Ly8gY29udmVydHMgaXQgdG8gYW4gZW1wdHkgc3RyaW5nIGluc3RlYWQsIG90aGVyd2lzZSB0aGUgYXR0cmlidXRlXG5cdFx0XHQvLyB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgdGhlIGZpbGUgbmFtZSBhbmQgdGhlIGZpbGUgd2lsbCBiZSBjYWxsZWRcblx0XHRcdC8vIFwidHJ1ZVwiIHVwb24gZG93bmxvYWRpbmcgaXQuXG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH0gZWxzZSBpZiAobG93ZXJDYXNlZCA9PT0gJ3RyYW5zbGF0ZScgJiYgdmFsdWUgPT09ICdubycpIHtcblx0XHRcdHZhbHVlID0gZmFsc2U7XG5cdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkWzBdID09PSAnbycgJiYgbG93ZXJDYXNlZFsxXSA9PT0gJ24nKSB7XG5cdFx0XHRpZiAobG93ZXJDYXNlZCA9PT0gJ29uZG91YmxlY2xpY2snKSB7XG5cdFx0XHRcdGkgPSAnb25kYmxjbGljayc7XG5cdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHRsb3dlckNhc2VkID09PSAnb25jaGFuZ2UnICYmXG5cdFx0XHRcdCh0eXBlID09PSAnaW5wdXQnIHx8IHR5cGUgPT09ICd0ZXh0YXJlYScpICYmXG5cdFx0XHRcdCFvbkNoYW5nZUlucHV0VHlwZShwcm9wcy50eXBlKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGxvd2VyQ2FzZWQgPSBpID0gJ29uaW5wdXQnO1xuXHRcdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkID09PSAnb25mb2N1cycpIHtcblx0XHRcdFx0aSA9ICdvbmZvY3VzaW4nO1xuXHRcdFx0fSBlbHNlIGlmIChsb3dlckNhc2VkID09PSAnb25ibHVyJykge1xuXHRcdFx0XHRpID0gJ29uZm9jdXNvdXQnO1xuXHRcdFx0fSBlbHNlIGlmIChPTl9BTkkudGVzdChpKSkge1xuXHRcdFx0XHRpID0gbG93ZXJDYXNlZDtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGlzTm9uRGFzaGVkVHlwZSAmJiBDQU1FTF9QUk9QUy50ZXN0KGkpKSB7XG5cdFx0XHRpID0gaS5yZXBsYWNlKENBTUVMX1JFUExBQ0UsICctJCYnKS50b0xvd2VyQ2FzZSgpO1xuXHRcdH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwpIHtcblx0XHRcdHZhbHVlID0gdW5kZWZpbmVkO1xuXHRcdH1cblxuXHRcdC8vIEFkZCBzdXBwb3J0IGZvciBvbklucHV0IGFuZCBvbkNoYW5nZSwgc2VlICMzNTYxXG5cdFx0Ly8gaWYgd2UgaGF2ZSBhbiBvbmlucHV0IHByb3AgYWxyZWFkeSBjaGFuZ2UgaXQgdG8gb25pbnB1dENhcHR1cmVcblx0XHRpZiAobG93ZXJDYXNlZCA9PT0gJ29uaW5wdXQnKSB7XG5cdFx0XHRpID0gbG93ZXJDYXNlZDtcblx0XHRcdGlmIChub3JtYWxpemVkUHJvcHNbaV0pIHtcblx0XHRcdFx0aSA9ICdvbmlucHV0Q2FwdHVyZSc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bm9ybWFsaXplZFByb3BzW2ldID0gdmFsdWU7XG5cdH1cblxuXHQvLyBBZGQgc3VwcG9ydCBmb3IgYXJyYXkgc2VsZWN0IHZhbHVlczogPHNlbGVjdCBtdWx0aXBsZSB2YWx1ZT17W119IC8+XG5cdGlmIChcblx0XHR0eXBlID09ICdzZWxlY3QnICYmXG5cdFx0bm9ybWFsaXplZFByb3BzLm11bHRpcGxlICYmXG5cdFx0QXJyYXkuaXNBcnJheShub3JtYWxpemVkUHJvcHMudmFsdWUpXG5cdCkge1xuXHRcdC8vIGZvckVhY2goKSBhbHdheXMgcmV0dXJucyB1bmRlZmluZWQsIHdoaWNoIHdlIGFidXNlIGhlcmUgdG8gdW5zZXQgdGhlIHZhbHVlIHByb3AuXG5cdFx0bm9ybWFsaXplZFByb3BzLnZhbHVlID0gdG9DaGlsZEFycmF5KHByb3BzLmNoaWxkcmVuKS5mb3JFYWNoKGNoaWxkID0+IHtcblx0XHRcdGNoaWxkLnByb3BzLnNlbGVjdGVkID1cblx0XHRcdFx0bm9ybWFsaXplZFByb3BzLnZhbHVlLmluZGV4T2YoY2hpbGQucHJvcHMudmFsdWUpICE9IC0xO1xuXHRcdH0pO1xuXHR9XG5cblx0Ly8gQWRkaW5nIHN1cHBvcnQgZm9yIGRlZmF1bHRWYWx1ZSBpbiBzZWxlY3QgdGFnXG5cdGlmICh0eXBlID09ICdzZWxlY3QnICYmIG5vcm1hbGl6ZWRQcm9wcy5kZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuXHRcdG5vcm1hbGl6ZWRQcm9wcy52YWx1ZSA9IHRvQ2hpbGRBcnJheShwcm9wcy5jaGlsZHJlbikuZm9yRWFjaChjaGlsZCA9PiB7XG5cdFx0XHRpZiAobm9ybWFsaXplZFByb3BzLm11bHRpcGxlKSB7XG5cdFx0XHRcdGNoaWxkLnByb3BzLnNlbGVjdGVkID1cblx0XHRcdFx0XHRub3JtYWxpemVkUHJvcHMuZGVmYXVsdFZhbHVlLmluZGV4T2YoY2hpbGQucHJvcHMudmFsdWUpICE9IC0xO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y2hpbGQucHJvcHMuc2VsZWN0ZWQgPVxuXHRcdFx0XHRcdG5vcm1hbGl6ZWRQcm9wcy5kZWZhdWx0VmFsdWUgPT0gY2hpbGQucHJvcHMudmFsdWU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRpZiAocHJvcHMuY2xhc3MgJiYgIXByb3BzLmNsYXNzTmFtZSkge1xuXHRcdG5vcm1hbGl6ZWRQcm9wcy5jbGFzcyA9IHByb3BzLmNsYXNzO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcblx0XHRcdG5vcm1hbGl6ZWRQcm9wcyxcblx0XHRcdCdjbGFzc05hbWUnLFxuXHRcdFx0Y2xhc3NOYW1lRGVzY3JpcHRvck5vbkVudW1iZXJhYmxlXG5cdFx0KTtcblx0fSBlbHNlIGlmIChwcm9wcy5jbGFzc05hbWUgJiYgIXByb3BzLmNsYXNzKSB7XG5cdFx0bm9ybWFsaXplZFByb3BzLmNsYXNzID0gbm9ybWFsaXplZFByb3BzLmNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZTtcblx0fSBlbHNlIGlmIChwcm9wcy5jbGFzcyAmJiBwcm9wcy5jbGFzc05hbWUpIHtcblx0XHRub3JtYWxpemVkUHJvcHMuY2xhc3MgPSBub3JtYWxpemVkUHJvcHMuY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lO1xuXHR9XG5cblx0dm5vZGUucHJvcHMgPSBub3JtYWxpemVkUHJvcHM7XG59XG5cbmxldCBvbGRWTm9kZUhvb2sgPSBvcHRpb25zLnZub2RlO1xub3B0aW9ucy52bm9kZSA9IHZub2RlID0+IHtcblx0Ly8gb25seSBub3JtYWxpemUgcHJvcHMgb24gRWxlbWVudCBub2Rlc1xuXHRpZiAodHlwZW9mIHZub2RlLnR5cGUgPT09ICdzdHJpbmcnKSB7XG5cdFx0aGFuZGxlRG9tVk5vZGUodm5vZGUpO1xuXHR9XG5cblx0dm5vZGUuJCR0eXBlb2YgPSBSRUFDVF9FTEVNRU5UX1RZUEU7XG5cblx0aWYgKG9sZFZOb2RlSG9vaykgb2xkVk5vZGVIb29rKHZub2RlKTtcbn07XG5cbi8vIE9ubHkgbmVlZGVkIGZvciByZWFjdC1yZWxheVxubGV0IGN1cnJlbnRDb21wb25lbnQ7XG5jb25zdCBvbGRCZWZvcmVSZW5kZXIgPSBvcHRpb25zLl9yZW5kZXI7XG5vcHRpb25zLl9yZW5kZXIgPSBmdW5jdGlvbiAodm5vZGUpIHtcblx0aWYgKG9sZEJlZm9yZVJlbmRlcikge1xuXHRcdG9sZEJlZm9yZVJlbmRlcih2bm9kZSk7XG5cdH1cblx0Y3VycmVudENvbXBvbmVudCA9IHZub2RlLl9jb21wb25lbnQ7XG59O1xuXG5jb25zdCBvbGREaWZmZWQgPSBvcHRpb25zLmRpZmZlZDtcbi8qKiBAdHlwZSB7KHZub2RlOiBpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZSkgPT4gdm9pZH0gKi9cbm9wdGlvbnMuZGlmZmVkID0gZnVuY3Rpb24gKHZub2RlKSB7XG5cdGlmIChvbGREaWZmZWQpIHtcblx0XHRvbGREaWZmZWQodm5vZGUpO1xuXHR9XG5cblx0Y29uc3QgcHJvcHMgPSB2bm9kZS5wcm9wcztcblx0Y29uc3QgZG9tID0gdm5vZGUuX2RvbTtcblxuXHRpZiAoXG5cdFx0ZG9tICE9IG51bGwgJiZcblx0XHR2bm9kZS50eXBlID09PSAndGV4dGFyZWEnICYmXG5cdFx0J3ZhbHVlJyBpbiBwcm9wcyAmJlxuXHRcdHByb3BzLnZhbHVlICE9PSBkb20udmFsdWVcblx0KSB7XG5cdFx0ZG9tLnZhbHVlID0gcHJvcHMudmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMudmFsdWU7XG5cdH1cblxuXHRjdXJyZW50Q29tcG9uZW50ID0gbnVsbDtcbn07XG5cbi8vIFRoaXMgaXMgYSB2ZXJ5IHZlcnkgcHJpdmF0ZSBpbnRlcm5hbCBmdW5jdGlvbiBmb3IgUmVhY3QgaXRcbi8vIGlzIHVzZWQgdG8gc29ydC1vZiBkbyBydW50aW1lIGRlcGVuZGVuY3kgaW5qZWN0aW9uLlxuZXhwb3J0IGNvbnN0IF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEID0ge1xuXHRSZWFjdEN1cnJlbnREaXNwYXRjaGVyOiB7XG5cdFx0Y3VycmVudDoge1xuXHRcdFx0cmVhZENvbnRleHQoY29udGV4dCkge1xuXHRcdFx0XHRyZXR1cm4gY3VycmVudENvbXBvbmVudC5fZ2xvYmFsQ29udGV4dFtjb250ZXh0Ll9pZF0ucHJvcHMudmFsdWU7XG5cdFx0XHR9LFxuXHRcdFx0dXNlQ2FsbGJhY2ssXG5cdFx0XHR1c2VDb250ZXh0LFxuXHRcdFx0dXNlRGVidWdWYWx1ZSxcblx0XHRcdHVzZURlZmVycmVkVmFsdWUsXG5cdFx0XHR1c2VFZmZlY3QsXG5cdFx0XHR1c2VJZCxcblx0XHRcdHVzZUltcGVyYXRpdmVIYW5kbGUsXG5cdFx0XHR1c2VJbnNlcnRpb25FZmZlY3QsXG5cdFx0XHR1c2VMYXlvdXRFZmZlY3QsXG5cdFx0XHR1c2VNZW1vLFxuXHRcdFx0Ly8gdXNlTXV0YWJsZVNvdXJjZSwgLy8gZXhwZXJpbWVudGFsLW9ubHkgYW5kIHJlcGxhY2VkIGJ5IHVTRVMsIGxpa2VseSBub3Qgd29ydGggc3VwcG9ydGluZ1xuXHRcdFx0dXNlUmVkdWNlcixcblx0XHRcdHVzZVJlZixcblx0XHRcdHVzZVN0YXRlLFxuXHRcdFx0dXNlU3luY0V4dGVybmFsU3RvcmUsXG5cdFx0XHR1c2VUcmFuc2l0aW9uXG5cdFx0fVxuXHR9XG59O1xuIiwgImltcG9ydCB7XG5cdGNyZWF0ZUVsZW1lbnQsXG5cdHJlbmRlciBhcyBwcmVhY3RSZW5kZXIsXG5cdGNsb25lRWxlbWVudCBhcyBwcmVhY3RDbG9uZUVsZW1lbnQsXG5cdGNyZWF0ZVJlZixcblx0Q29tcG9uZW50LFxuXHRjcmVhdGVDb250ZXh0LFxuXHRGcmFnbWVudFxufSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHtcblx0dXNlU3RhdGUsXG5cdHVzZUlkLFxuXHR1c2VSZWR1Y2VyLFxuXHR1c2VFZmZlY3QsXG5cdHVzZUxheW91dEVmZmVjdCxcblx0dXNlUmVmLFxuXHR1c2VJbXBlcmF0aXZlSGFuZGxlLFxuXHR1c2VNZW1vLFxuXHR1c2VDYWxsYmFjayxcblx0dXNlQ29udGV4dCxcblx0dXNlRGVidWdWYWx1ZVxufSBmcm9tICdwcmVhY3QvaG9va3MnO1xuaW1wb3J0IHsgUHVyZUNvbXBvbmVudCB9IGZyb20gJy4vUHVyZUNvbXBvbmVudCc7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAnLi9tZW1vJztcbmltcG9ydCB7IGZvcndhcmRSZWYgfSBmcm9tICcuL2ZvcndhcmRSZWYnO1xuaW1wb3J0IHsgQ2hpbGRyZW4gfSBmcm9tICcuL0NoaWxkcmVuJztcbmltcG9ydCB7IFN1c3BlbnNlLCBsYXp5IH0gZnJvbSAnLi9zdXNwZW5zZSc7XG5pbXBvcnQgeyBTdXNwZW5zZUxpc3QgfSBmcm9tICcuL3N1c3BlbnNlLWxpc3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAnLi9wb3J0YWxzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7XG5cdGh5ZHJhdGUsXG5cdHJlbmRlcixcblx0UkVBQ1RfRUxFTUVOVF9UWVBFLFxuXHRfX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRFxufSBmcm9tICcuL3JlbmRlcic7XG5cbmNvbnN0IHZlcnNpb24gPSAnMTguMy4xJzsgLy8gdHJpY2sgbGlicmFyaWVzIHRvIHRoaW5rIHdlIGFyZSByZWFjdFxuXG4vKipcbiAqIExlZ2FjeSB2ZXJzaW9uIG9mIGNyZWF0ZUVsZW1lbnQuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlZOb2RlW1widHlwZVwiXX0gdHlwZSBUaGUgbm9kZSBuYW1lIG9yIENvbXBvbmVudCBjb25zdHJ1Y3RvclxuICovXG5mdW5jdGlvbiBjcmVhdGVGYWN0b3J5KHR5cGUpIHtcblx0cmV0dXJuIGNyZWF0ZUVsZW1lbnQuYmluZChudWxsLCB0eXBlKTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcGFzc2VkIGVsZW1lbnQgaXMgYSB2YWxpZCAocClyZWFjdCBub2RlLlxuICogQHBhcmFtIHsqfSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQoZWxlbWVudCkge1xuXHRyZXR1cm4gISFlbGVtZW50ICYmIGVsZW1lbnQuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcGFzc2VkIGVsZW1lbnQgaXMgYSBGcmFnbWVudCBub2RlLlxuICogQHBhcmFtIHsqfSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNGcmFnbWVudChlbGVtZW50KSB7XG5cdHJldHVybiBpc1ZhbGlkRWxlbWVudChlbGVtZW50KSAmJiBlbGVtZW50LnR5cGUgPT09IEZyYWdtZW50O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBwYXNzZWQgZWxlbWVudCBpcyBhIE1lbW8gbm9kZS5cbiAqIEBwYXJhbSB7Kn0gZWxlbWVudCBUaGUgZWxlbWVudCB0byBjaGVja1xuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzTWVtbyhlbGVtZW50KSB7XG5cdHJldHVybiAoXG5cdFx0ISFlbGVtZW50ICYmXG5cdFx0ISFlbGVtZW50LmRpc3BsYXlOYW1lICYmXG5cdFx0KHR5cGVvZiBlbGVtZW50LmRpc3BsYXlOYW1lID09PSAnc3RyaW5nJyB8fFxuXHRcdFx0ZWxlbWVudC5kaXNwbGF5TmFtZSBpbnN0YW5jZW9mIFN0cmluZykgJiZcblx0XHRlbGVtZW50LmRpc3BsYXlOYW1lLnN0YXJ0c1dpdGgoJ01lbW8oJylcblx0KTtcbn1cblxuLyoqXG4gKiBXcmFwIGBjbG9uZUVsZW1lbnRgIHRvIGFib3J0IGlmIHRoZSBwYXNzZWQgZWxlbWVudCBpcyBub3QgYSB2YWxpZCBlbGVtZW50IGFuZCBhcHBseVxuICogYWxsIHZub2RlIG5vcm1hbGl6YXRpb25zLlxuICogQHBhcmFtIHtpbXBvcnQoJy4vaW50ZXJuYWwnKS5WTm9kZX0gZWxlbWVudCBUaGUgdm5vZGUgdG8gY2xvbmVcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcyBQcm9wcyB0byBhZGQgd2hlbiBjbG9uaW5nXG4gKiBAcGFyYW0ge0FycmF5PGltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudENoaWxkcmVuPn0gcmVzdCBPcHRpb25hbCBjb21wb25lbnQgY2hpbGRyZW5cbiAqL1xuZnVuY3Rpb24gY2xvbmVFbGVtZW50KGVsZW1lbnQpIHtcblx0aWYgKCFpc1ZhbGlkRWxlbWVudChlbGVtZW50KSkgcmV0dXJuIGVsZW1lbnQ7XG5cdHJldHVybiBwcmVhY3RDbG9uZUVsZW1lbnQuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYSBjb21wb25lbnQgdHJlZSBmcm9tIHRoZSBET00sIGluY2x1ZGluZyBzdGF0ZSBhbmQgZXZlbnQgaGFuZGxlcnMuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLlByZWFjdEVsZW1lbnR9IGNvbnRhaW5lclxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XG5cdGlmIChjb250YWluZXIuX2NoaWxkcmVuKSB7XG5cdFx0cHJlYWN0UmVuZGVyKG51bGwsIGNvbnRhaW5lcik7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbWF0Y2hpbmcgRE9NIG5vZGUgZm9yIGEgY29tcG9uZW50XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9pbnRlcm5hbCcpLkNvbXBvbmVudH0gY29tcG9uZW50XG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL2ludGVybmFsJykuUHJlYWN0RWxlbWVudCB8IG51bGx9XG4gKi9cbmZ1bmN0aW9uIGZpbmRET01Ob2RlKGNvbXBvbmVudCkge1xuXHRyZXR1cm4gKFxuXHRcdChjb21wb25lbnQgJiZcblx0XHRcdChjb21wb25lbnQuYmFzZSB8fCAoY29tcG9uZW50Lm5vZGVUeXBlID09PSAxICYmIGNvbXBvbmVudCkpKSB8fFxuXHRcdG51bGxcblx0KTtcbn1cblxuLyoqXG4gKiBEZXByZWNhdGVkIHdheSB0byBjb250cm9sIGJhdGNoZWQgcmVuZGVyaW5nIGluc2lkZSB0aGUgcmVjb25jaWxlciwgYnV0IHdlXG4gKiBhbHJlYWR5IHNjaGVkdWxlIGluIGJhdGNoZXMgaW5zaWRlIG91ciByZW5kZXJpbmcgY29kZVxuICogQHRlbXBsYXRlIEFyZ1xuICogQHBhcmFtIHsoYXJnOiBBcmcpID0+IHZvaWR9IGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgdHJpZ2dlcnMgdGhlIHVwZGF0ZWRcbiAqIEBwYXJhbSB7QXJnfSBbYXJnXSBPcHRpb25hbCBhcmd1bWVudCB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbmNvbnN0IHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzID0gKGNhbGxiYWNrLCBhcmcpID0+IGNhbGxiYWNrKGFyZyk7XG5cbi8qKlxuICogSW4gUmVhY3QsIGBmbHVzaFN5bmNgIGZsdXNoZXMgdGhlIGVudGlyZSB0cmVlIGFuZCBmb3JjZXMgYSByZXJlbmRlci4gSXQnc1xuICogaW1wbG1lbnRlZCBoZXJlIGFzIGEgbm8tb3AuXG4gKiBAdGVtcGxhdGUgQXJnXG4gKiBAdGVtcGxhdGUgUmVzdWx0XG4gKiBAcGFyYW0geyhhcmc6IEFyZykgPT4gUmVzdWx0fSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHJ1bnMgYmVmb3JlIHRoZSBmbHVzaFxuICogQHBhcmFtIHtBcmd9IFthcmddIE9wdGlvbmFsIGFyZ3VtZW50IHRoYXQgY2FuIGJlIHBhc3NlZCB0byB0aGUgY2FsbGJhY2tcbiAqIEByZXR1cm5zXG4gKi9cbmNvbnN0IGZsdXNoU3luYyA9IChjYWxsYmFjaywgYXJnKSA9PiBjYWxsYmFjayhhcmcpO1xuXG4vKipcbiAqIFN0cmljdCBNb2RlIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBQcmVhY3QsIHNvIHdlIHByb3ZpZGUgYSBzdGFuZC1pbiBmb3IgaXRcbiAqIHRoYXQganVzdCByZW5kZXJzIGl0cyBjaGlsZHJlbiB3aXRob3V0IGltcG9zaW5nIGFueSByZXN0cmljdGlvbnMuXG4gKi9cbmNvbnN0IFN0cmljdE1vZGUgPSBGcmFnbWVudDtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0VHJhbnNpdGlvbihjYikge1xuXHRjYigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlRGVmZXJyZWRWYWx1ZSh2YWwpIHtcblx0cmV0dXJuIHZhbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVRyYW5zaXRpb24oKSB7XG5cdHJldHVybiBbZmFsc2UsIHN0YXJ0VHJhbnNpdGlvbl07XG59XG5cbi8vIFRPRE86IGluIHRoZW9yeSB0aGlzIHNob3VsZCBiZSBkb25lIGFmdGVyIGEgVk5vZGUgaXMgZGlmZmVkIGFzIHdlIHdhbnQgdG8gaW5zZXJ0XG4vLyBzdHlsZXMvLi4uIGJlZm9yZSBpdCBhdHRhY2hlc1xuZXhwb3J0IGNvbnN0IHVzZUluc2VydGlvbkVmZmVjdCA9IHVzZUxheW91dEVmZmVjdDtcblxuLy8gY29tcGF0IHRvIHJlYWN0LWlzXG5leHBvcnQgY29uc3QgaXNFbGVtZW50ID0gaXNWYWxpZEVsZW1lbnQ7XG5cbi8qKlxuICogVGhpcyBpcyB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9ibG9iL21haW4vcGFja2FnZXMvdXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvc3JjL3VzZVN5bmNFeHRlcm5hbFN0b3JlU2hpbUNsaWVudC5qcyNMODRcbiAqIG9uIGEgaGlnaCBsZXZlbCB0aGlzIGN1dHMgb3V0IHRoZSB3YXJuaW5ncywgLi4uIGFuZCBhdHRlbXB0cyBhIHNtYWxsZXIgaW1wbGVtZW50YXRpb25cbiAqIEB0eXBlZGVmIHt7IF92YWx1ZTogYW55OyBfZ2V0U25hcHNob3Q6ICgpID0+IGFueSB9fSBTdG9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlU3luY0V4dGVybmFsU3RvcmUoc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCkge1xuXHRjb25zdCB2YWx1ZSA9IGdldFNuYXBzaG90KCk7XG5cblx0LyoqXG5cdCAqIEB0eXBlZGVmIHt7IF9pbnN0YW5jZTogU3RvcmUgfX0gU3RvcmVSZWZcblx0ICogQHR5cGUge1tTdG9yZVJlZiwgKHN0b3JlOiBTdG9yZVJlZikgPT4gdm9pZF19XG5cdCAqL1xuXHRjb25zdCBbeyBfaW5zdGFuY2UgfSwgZm9yY2VVcGRhdGVdID0gdXNlU3RhdGUoe1xuXHRcdF9pbnN0YW5jZTogeyBfdmFsdWU6IHZhbHVlLCBfZ2V0U25hcHNob3Q6IGdldFNuYXBzaG90IH1cblx0fSk7XG5cblx0dXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcblx0XHRfaW5zdGFuY2UuX3ZhbHVlID0gdmFsdWU7XG5cdFx0X2luc3RhbmNlLl9nZXRTbmFwc2hvdCA9IGdldFNuYXBzaG90O1xuXG5cdFx0aWYgKGRpZFNuYXBzaG90Q2hhbmdlKF9pbnN0YW5jZSkpIHtcblx0XHRcdGZvcmNlVXBkYXRlKHsgX2luc3RhbmNlIH0pO1xuXHRcdH1cblx0fSwgW3N1YnNjcmliZSwgdmFsdWUsIGdldFNuYXBzaG90XSk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoZGlkU25hcHNob3RDaGFuZ2UoX2luc3RhbmNlKSkge1xuXHRcdFx0Zm9yY2VVcGRhdGUoeyBfaW5zdGFuY2UgfSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHRpZiAoZGlkU25hcHNob3RDaGFuZ2UoX2luc3RhbmNlKSkge1xuXHRcdFx0XHRmb3JjZVVwZGF0ZSh7IF9pbnN0YW5jZSB9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fSwgW3N1YnNjcmliZV0pO1xuXG5cdHJldHVybiB2YWx1ZTtcbn1cblxuLyoqIEB0eXBlIHsoaW5zdDogU3RvcmUpID0+IGJvb2xlYW59ICovXG5mdW5jdGlvbiBkaWRTbmFwc2hvdENoYW5nZShpbnN0KSB7XG5cdGNvbnN0IGxhdGVzdEdldFNuYXBzaG90ID0gaW5zdC5fZ2V0U25hcHNob3Q7XG5cdGNvbnN0IHByZXZWYWx1ZSA9IGluc3QuX3ZhbHVlO1xuXHR0cnkge1xuXHRcdGNvbnN0IG5leHRWYWx1ZSA9IGxhdGVzdEdldFNuYXBzaG90KCk7XG5cdFx0cmV0dXJuICFpcyhwcmV2VmFsdWUsIG5leHRWYWx1ZSk7XG5cdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn1cblxuZXhwb3J0ICogZnJvbSAncHJlYWN0L2hvb2tzJztcbmV4cG9ydCB7XG5cdHZlcnNpb24sXG5cdENoaWxkcmVuLFxuXHRyZW5kZXIsXG5cdGh5ZHJhdGUsXG5cdHVubW91bnRDb21wb25lbnRBdE5vZGUsXG5cdGNyZWF0ZVBvcnRhbCxcblx0Y3JlYXRlRWxlbWVudCxcblx0Y3JlYXRlQ29udGV4dCxcblx0Y3JlYXRlRmFjdG9yeSxcblx0Y2xvbmVFbGVtZW50LFxuXHRjcmVhdGVSZWYsXG5cdEZyYWdtZW50LFxuXHRpc1ZhbGlkRWxlbWVudCxcblx0aXNGcmFnbWVudCxcblx0aXNNZW1vLFxuXHRmaW5kRE9NTm9kZSxcblx0Q29tcG9uZW50LFxuXHRQdXJlQ29tcG9uZW50LFxuXHRtZW1vLFxuXHRmb3J3YXJkUmVmLFxuXHRmbHVzaFN5bmMsXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2Vcblx0dW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMsXG5cdFN0cmljdE1vZGUsXG5cdFN1c3BlbnNlLFxuXHRTdXNwZW5zZUxpc3QsXG5cdGxhenksXG5cdF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEXG59O1xuXG4vLyBSZWFjdCBjb3BpZXMgdGhlIG5hbWVkIGV4cG9ydHMgdG8gdGhlIGRlZmF1bHQgb25lLlxuZXhwb3J0IGRlZmF1bHQge1xuXHR1c2VTdGF0ZSxcblx0dXNlSWQsXG5cdHVzZVJlZHVjZXIsXG5cdHVzZUVmZmVjdCxcblx0dXNlTGF5b3V0RWZmZWN0LFxuXHR1c2VJbnNlcnRpb25FZmZlY3QsXG5cdHVzZVRyYW5zaXRpb24sXG5cdHVzZURlZmVycmVkVmFsdWUsXG5cdHVzZVN5bmNFeHRlcm5hbFN0b3JlLFxuXHRzdGFydFRyYW5zaXRpb24sXG5cdHVzZVJlZixcblx0dXNlSW1wZXJhdGl2ZUhhbmRsZSxcblx0dXNlTWVtbyxcblx0dXNlQ2FsbGJhY2ssXG5cdHVzZUNvbnRleHQsXG5cdHVzZURlYnVnVmFsdWUsXG5cdHZlcnNpb24sXG5cdENoaWxkcmVuLFxuXHRyZW5kZXIsXG5cdGh5ZHJhdGUsXG5cdHVubW91bnRDb21wb25lbnRBdE5vZGUsXG5cdGNyZWF0ZVBvcnRhbCxcblx0Y3JlYXRlRWxlbWVudCxcblx0Y3JlYXRlQ29udGV4dCxcblx0Y3JlYXRlRmFjdG9yeSxcblx0Y2xvbmVFbGVtZW50LFxuXHRjcmVhdGVSZWYsXG5cdEZyYWdtZW50LFxuXHRpc1ZhbGlkRWxlbWVudCxcblx0aXNFbGVtZW50LFxuXHRpc0ZyYWdtZW50LFxuXHRpc01lbW8sXG5cdGZpbmRET01Ob2RlLFxuXHRDb21wb25lbnQsXG5cdFB1cmVDb21wb25lbnQsXG5cdG1lbW8sXG5cdGZvcndhcmRSZWYsXG5cdGZsdXNoU3luYyxcblx0dW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMsXG5cdFN0cmljdE1vZGUsXG5cdFN1c3BlbnNlLFxuXHRTdXNwZW5zZUxpc3QsXG5cdGxhenksXG5cdF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEXG59O1xuIiwgImNvbnN0IEVOQ09ERURfRU5USVRJRVMgPSAvW1wiJjxdLztcblxuLyoqIEBwYXJhbSB7c3RyaW5nfSBzdHIgKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVFbnRpdGllcyhzdHIpIHtcblx0Ly8gU2tpcCBhbGwgd29yayBmb3Igc3RyaW5ncyB3aXRoIG5vIGVudGl0aWVzIG5lZWRpbmcgZW5jb2Rpbmc6XG5cdGlmIChzdHIubGVuZ3RoID09PSAwIHx8IEVOQ09ERURfRU5USVRJRVMudGVzdChzdHIpID09PSBmYWxzZSkgcmV0dXJuIHN0cjtcblxuXHRsZXQgbGFzdCA9IDAsXG5cdFx0aSA9IDAsXG5cdFx0b3V0ID0gJycsXG5cdFx0Y2ggPSAnJztcblxuXHQvLyBTZWVrIGZvcndhcmQgaW4gc3RyIHVudGlsIHRoZSBuZXh0IGVudGl0eSBjaGFyOlxuXHRmb3IgKDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuXHRcdHN3aXRjaCAoc3RyLmNoYXJDb2RlQXQoaSkpIHtcblx0XHRcdGNhc2UgMzQ6XG5cdFx0XHRcdGNoID0gJyZxdW90Oyc7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAzODpcblx0XHRcdFx0Y2ggPSAnJmFtcDsnO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgNjA6XG5cdFx0XHRcdGNoID0gJyZsdDsnO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBBcHBlbmQgc2tpcHBlZC9idWZmZXJlZCBjaGFyYWN0ZXJzIGFuZCB0aGUgZW5jb2RlZCBlbnRpdHk6XG5cdFx0aWYgKGkgIT09IGxhc3QpIG91dCArPSBzdHIuc2xpY2UobGFzdCwgaSk7XG5cdFx0b3V0ICs9IGNoO1xuXHRcdC8vIFN0YXJ0IHRoZSBuZXh0IHNlZWsvYnVmZmVyIGFmdGVyIHRoZSBlbnRpdHkncyBvZmZzZXQ6XG5cdFx0bGFzdCA9IGkgKyAxO1xuXHR9XG5cdGlmIChpICE9PSBsYXN0KSBvdXQgKz0gc3RyLnNsaWNlKGxhc3QsIGkpO1xuXHRyZXR1cm4gb3V0O1xufVxuIiwgIi8qKiBOb3JtYWwgaHlkcmF0aW9uIHRoYXQgYXR0YWNoZXMgdG8gYSBET00gdHJlZSBidXQgZG9lcyBub3QgZGlmZiBpdC4gKi9cbmV4cG9ydCBjb25zdCBNT0RFX0hZRFJBVEUgPSAxIDw8IDU7XG4vKiogU2lnbmlmaWVzIHRoaXMgVk5vZGUgc3VzcGVuZGVkIG9uIHRoZSBwcmV2aW91cyByZW5kZXIgKi9cbmV4cG9ydCBjb25zdCBNT0RFX1NVU1BFTkRFRCA9IDEgPDwgNztcbi8qKiBJbmRpY2F0ZXMgdGhhdCB0aGlzIG5vZGUgbmVlZHMgdG8gYmUgaW5zZXJ0ZWQgd2hpbGUgcGF0Y2hpbmcgY2hpbGRyZW4gKi9cbmV4cG9ydCBjb25zdCBJTlNFUlRfVk5PREUgPSAxIDw8IDE2O1xuLyoqIEluZGljYXRlcyBhIFZOb2RlIGhhcyBiZWVuIG1hdGNoZWQgd2l0aCBhbm90aGVyIFZOb2RlIGluIHRoZSBkaWZmICovXG5leHBvcnQgY29uc3QgTUFUQ0hFRCA9IDEgPDwgMTc7XG5cbi8qKiBSZXNldCBhbGwgbW9kZSBmbGFncyAqL1xuZXhwb3J0IGNvbnN0IFJFU0VUX01PREUgPSB+KE1PREVfSFlEUkFURSB8IE1PREVfU1VTUEVOREVEKTtcblxuZXhwb3J0IGNvbnN0IEVNUFRZX09CSiA9IC8qKiBAdHlwZSB7YW55fSAqLyAoe30pO1xuZXhwb3J0IGNvbnN0IEVNUFRZX0FSUiA9IFtdO1xuZXhwb3J0IGNvbnN0IElTX05PTl9ESU1FTlNJT05BTCA9XG5cdC9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2k7XG4iLCAiaW1wb3J0IHsgb3B0aW9ucywgRnJhZ21lbnQgfSBmcm9tICdwcmVhY3QnO1xuaW1wb3J0IHsgZW5jb2RlRW50aXRpZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IElTX05PTl9ESU1FTlNJT05BTCB9IGZyb20gJy4uLy4uL3NyYy9jb25zdGFudHMnO1xuXG5sZXQgdm5vZGVJZCA9IDA7XG5cbmNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuXG4vKipcbiAqIEBmaWxlb3ZlcnZpZXdcbiAqIFRoaXMgZmlsZSBleHBvcnRzIHZhcmlvdXMgbWV0aG9kcyB0aGF0IGltcGxlbWVudCBCYWJlbCdzIFwiYXV0b21hdGljXCIgSlNYIHJ1bnRpbWUgQVBJOlxuICogLSBqc3godHlwZSwgcHJvcHMsIGtleSlcbiAqIC0ganN4cyh0eXBlLCBwcm9wcywga2V5KVxuICogLSBqc3hERVYodHlwZSwgcHJvcHMsIGtleSwgX19zb3VyY2UsIF9fc2VsZilcbiAqXG4gKiBUaGUgaW1wbGVtZW50YXRpb24gb2YgY3JlYXRlVk5vZGUgaGVyZSBpcyBvcHRpbWl6ZWQgZm9yIHBlcmZvcm1hbmNlLlxuICogQmVuY2htYXJrczogaHR0cHM6Ly9lc2JlbmNoLmNvbS9iZW5jaC81ZjZiNTRhMGI0NjMyMTAwYTdkY2QyYjNcbiAqL1xuXG4vKipcbiAqIEpTWC5FbGVtZW50IGZhY3RvcnkgdXNlZCBieSBCYWJlbCdzIHtydW50aW1lOlwiYXV0b21hdGljXCJ9IEpTWCB0cmFuc2Zvcm1cbiAqIEBwYXJhbSB7Vk5vZGVbJ3R5cGUnXX0gdHlwZVxuICogQHBhcmFtIHtWTm9kZVsncHJvcHMnXX0gcHJvcHNcbiAqIEBwYXJhbSB7Vk5vZGVbJ2tleSddfSBba2V5XVxuICogQHBhcmFtIHt1bmtub3dufSBbaXNTdGF0aWNDaGlsZHJlbl1cbiAqIEBwYXJhbSB7dW5rbm93bn0gW19fc291cmNlXVxuICogQHBhcmFtIHt1bmtub3dufSBbX19zZWxmXVxuICovXG5mdW5jdGlvbiBjcmVhdGVWTm9kZSh0eXBlLCBwcm9wcywga2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBfX3NvdXJjZSwgX19zZWxmKSB7XG5cdGlmICghcHJvcHMpIHByb3BzID0ge307XG5cdC8vIFdlJ2xsIHdhbnQgdG8gcHJlc2VydmUgYHJlZmAgaW4gcHJvcHMgdG8gZ2V0IHJpZCBvZiB0aGUgbmVlZCBmb3Jcblx0Ly8gZm9yd2FyZFJlZiBjb21wb25lbnRzIGluIHRoZSBmdXR1cmUsIGJ1dCB0aGF0IHNob3VsZCBoYXBwZW4gdmlhXG5cdC8vIGEgc2VwYXJhdGUgUFIuXG5cdGxldCBub3JtYWxpemVkUHJvcHMgPSBwcm9wcyxcblx0XHRyZWYsXG5cdFx0aTtcblxuXHRpZiAoJ3JlZicgaW4gcHJvcHMpIHtcblx0XHRyZWYgPSBwcm9wcy5yZWY7XG5cdFx0ZGVsZXRlIHByb3BzLnJlZjtcblx0fVxuXG5cdC8qKiBAdHlwZSB7Vk5vZGUgJiB7IF9fc291cmNlOiBhbnk7IF9fc2VsZjogYW55IH19ICovXG5cdGNvbnN0IHZub2RlID0ge1xuXHRcdHR5cGUsXG5cdFx0cHJvcHM6IG5vcm1hbGl6ZWRQcm9wcyxcblx0XHRrZXksXG5cdFx0cmVmLFxuXHRcdF9jaGlsZHJlbjogbnVsbCxcblx0XHRfcGFyZW50OiBudWxsLFxuXHRcdF9kZXB0aDogMCxcblx0XHRfZG9tOiBudWxsLFxuXHRcdF9uZXh0RG9tOiB1bmRlZmluZWQsXG5cdFx0X2NvbXBvbmVudDogbnVsbCxcblx0XHRjb25zdHJ1Y3RvcjogdW5kZWZpbmVkLFxuXHRcdF9vcmlnaW5hbDogLS12bm9kZUlkLFxuXHRcdF9pbmRleDogLTEsXG5cdFx0X2ZsYWdzOiAwLFxuXHRcdF9fc291cmNlLFxuXHRcdF9fc2VsZlxuXHR9O1xuXG5cdC8vIElmIGEgQ29tcG9uZW50IFZOb2RlLCBjaGVjayBmb3IgYW5kIGFwcGx5IGRlZmF1bHRQcm9wcy5cblx0Ly8gTm90ZTogYHR5cGVgIGlzIG9mdGVuIGEgU3RyaW5nLCBhbmQgY2FuIGJlIGB1bmRlZmluZWRgIGluIGRldmVsb3BtZW50LlxuXHRpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgJiYgKHJlZiA9IHR5cGUuZGVmYXVsdFByb3BzKSkge1xuXHRcdGZvciAoaSBpbiByZWYpXG5cdFx0XHRpZiAodHlwZW9mIG5vcm1hbGl6ZWRQcm9wc1tpXSA9PT0gJ3VuZGVmaW5lZCcpIHtcblx0XHRcdFx0bm9ybWFsaXplZFByb3BzW2ldID0gcmVmW2ldO1xuXHRcdFx0fVxuXHR9XG5cblx0aWYgKG9wdGlvbnMudm5vZGUpIG9wdGlvbnMudm5vZGUodm5vZGUpO1xuXHRyZXR1cm4gdm5vZGU7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgdGVtcGxhdGUgdm5vZGUuIFRoaXMgZnVuY3Rpb24gaXMgbm90IGV4cGVjdGVkIHRvIGJlXG4gKiB1c2VkIGRpcmVjdGx5LCBidXQgcmF0aGVyIHRocm91Z2ggYSBwcmVjb21waWxlIEpTWCB0cmFuc2Zvcm1cbiAqIEBwYXJhbSB7c3RyaW5nW119IHRlbXBsYXRlc1xuICogQHBhcmFtICB7QXJyYXk8c3RyaW5nIHwgbnVsbCB8IFZOb2RlPn0gZXhwcnNcbiAqIEByZXR1cm5zIHtWTm9kZX1cbiAqL1xuZnVuY3Rpb24ganN4VGVtcGxhdGUodGVtcGxhdGVzLCAuLi5leHBycykge1xuXHRjb25zdCB2bm9kZSA9IGNyZWF0ZVZOb2RlKEZyYWdtZW50LCB7IHRwbDogdGVtcGxhdGVzLCBleHBycyB9KTtcblx0Ly8gQnlwYXNzIHJlbmRlciB0byBzdHJpbmcgdG9wIGxldmVsIEZyYWdtZW50IG9wdGltaXphdGlvblxuXHR2bm9kZS5rZXkgPSB2bm9kZS5fdm5vZGU7XG5cdHJldHVybiB2bm9kZTtcbn1cblxuY29uc3QgSlNfVE9fQ1NTID0ge307XG5jb25zdCBDU1NfUkVHRVggPSAvW0EtWl0vZztcblxuLyoqXG4gKiBTZXJpYWxpemUgYW4gSFRNTCBhdHRyaWJ1dGUgdG8gYSBzdHJpbmcuIFRoaXMgZnVuY3Rpb24gaXMgbm90XG4gKiBleHBlY3RlZCB0byBiZSB1c2VkIGRpcmVjdGx5LCBidXQgcmF0aGVyIHRocm91Z2ggYSBwcmVjb21waWxlXG4gKiBKU1ggdHJhbnNmb3JtXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgYXR0cmlidXRlIG5hbWVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIGF0dHJpYnV0ZSB2YWx1ZVxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZnVuY3Rpb24ganN4QXR0cihuYW1lLCB2YWx1ZSkge1xuXHRpZiAob3B0aW9ucy5hdHRyKSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gb3B0aW9ucy5hdHRyKG5hbWUsIHZhbHVlKTtcblx0XHRpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiByZXN1bHQ7XG5cdH1cblxuXHRpZiAobmFtZSA9PT0gJ3JlZicgfHwgbmFtZSA9PT0gJ2tleScpIHJldHVybiAnJztcblx0aWYgKG5hbWUgPT09ICdzdHlsZScgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuXHRcdGxldCBzdHIgPSAnJztcblx0XHRmb3IgKGxldCBwcm9wIGluIHZhbHVlKSB7XG5cdFx0XHRsZXQgdmFsID0gdmFsdWVbcHJvcF07XG5cdFx0XHRpZiAodmFsICE9IG51bGwgJiYgdmFsICE9PSAnJykge1xuXHRcdFx0XHRjb25zdCBuYW1lID1cblx0XHRcdFx0XHRwcm9wWzBdID09ICctJ1xuXHRcdFx0XHRcdFx0PyBwcm9wXG5cdFx0XHRcdFx0XHQ6IEpTX1RPX0NTU1twcm9wXSB8fFxuXHRcdFx0XHRcdFx0XHQoSlNfVE9fQ1NTW3Byb3BdID0gcHJvcC5yZXBsYWNlKENTU19SRUdFWCwgJy0kJicpLnRvTG93ZXJDYXNlKCkpO1xuXG5cdFx0XHRcdGxldCBzdWZmaXggPSAnOyc7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHR0eXBlb2YgdmFsID09PSAnbnVtYmVyJyAmJlxuXHRcdFx0XHRcdC8vIEV4Y2x1ZGUgY3VzdG9tLWF0dHJpYnV0ZXNcblx0XHRcdFx0XHQhbmFtZS5zdGFydHNXaXRoKCctLScpICYmXG5cdFx0XHRcdFx0IUlTX05PTl9ESU1FTlNJT05BTC50ZXN0KG5hbWUpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdHN1ZmZpeCA9ICdweDsnO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHN0ciA9IHN0ciArIG5hbWUgKyAnOicgKyB2YWwgKyBzdWZmaXg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBuYW1lICsgJz1cIicgKyBzdHIgKyAnXCInO1xuXHR9XG5cblx0aWYgKFxuXHRcdHZhbHVlID09IG51bGwgfHxcblx0XHR2YWx1ZSA9PT0gZmFsc2UgfHxcblx0XHR0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgfHxcblx0XHR0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG5cdCkge1xuXHRcdHJldHVybiAnJztcblx0fSBlbHNlIGlmICh2YWx1ZSA9PT0gdHJ1ZSkgcmV0dXJuIG5hbWU7XG5cblx0cmV0dXJuIG5hbWUgKyAnPVwiJyArIGVuY29kZUVudGl0aWVzKHZhbHVlKSArICdcIic7XG59XG5cbi8qKlxuICogRXNjYXBlIGEgZHluYW1pYyBjaGlsZCBwYXNzZWQgdG8gYGpzeFRlbXBsYXRlYC4gVGhpcyBmdW5jdGlvblxuICogaXMgbm90IGV4cGVjdGVkIHRvIGJlIHVzZWQgZGlyZWN0bHksIGJ1dCByYXRoZXIgdGhyb3VnaCBhXG4gKiBwcmVjb21waWxlIEpTWCB0cmFuc2Zvcm1cbiAqIEBwYXJhbSB7Kn0gdmFsdWVcbiAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsIHwgVk5vZGUgfCBBcnJheTxzdHJpbmcgfCBudWxsIHwgVk5vZGU+fVxuICovXG5mdW5jdGlvbiBqc3hFc2NhcGUodmFsdWUpIHtcblx0aWYgKFxuXHRcdHZhbHVlID09IG51bGwgfHxcblx0XHR0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fFxuXHRcdHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJ1xuXHQpIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG5cdFx0Ly8gQ2hlY2sgZm9yIFZOb2RlXG5cdFx0aWYgKHZhbHVlLmNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQpIHJldHVybiB2YWx1ZTtcblxuXHRcdGlmIChpc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHR2YWx1ZVtpXSA9IGpzeEVzY2FwZSh2YWx1ZVtpXSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGVuY29kZUVudGl0aWVzKCcnICsgdmFsdWUpO1xufVxuXG5leHBvcnQge1xuXHRjcmVhdGVWTm9kZSBhcyBqc3gsXG5cdGNyZWF0ZVZOb2RlIGFzIGpzeHMsXG5cdGNyZWF0ZVZOb2RlIGFzIGpzeERFVixcblx0RnJhZ21lbnQsXG5cdC8vIHByZWNvbXBpbGVkIEpTWCB0cmFuc2Zvcm1cblx0anN4VGVtcGxhdGUsXG5cdGpzeEF0dHIsXG5cdGpzeEVzY2FwZVxufTtcbiIsICIvKipcbiAqIEBtb2R1bGUgdWlcbiAqL1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWR1Y2VyLCB1c2VSZWYgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQge1xuICAgIEFQUF9DT05URVhULFxuICAgIENPTVBPTkVOVF9DT05URVhULFxuICAgIENVUlJFTlRfRklMRV9DT05URVhULFxuICAgIERBVEFDT1JFX0NPTlRFWFQsXG4gICAgRXJyb3JNZXNzYWdlLFxuICAgIE1hcmtkb3duLFxufSBmcm9tIFwiLi4vLi4vdWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBnZXRGaWxlVGl0bGUsIGxpbmVSYW5nZSB9IGZyb20gXCJ1dGlscy9ub3JtYWxpemVyc1wiO1xuXG5pbXBvcnQgXCIuL2VtYmVkLmNzc1wiO1xuXG4vKiogUmVuZGVycyBhbiBlbWJlZCBpbiB0aGUgY2Fub25pY2FsIE9ic2lkaWFuIHN0eWxlLlxuICpcbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFbWJlZCh7XG4gICAgbGluayxcbiAgICBpbmxpbmUsXG4gICAgc291cmNlUGF0aDogbWF5YmVTb3VyY2VQYXRoLFxufToge1xuICAgIC8qKiBUaGUgbGluayB0aGF0IGlzIGJlaW5nIGVtYmVkZGVkLiAqL1xuICAgIGxpbms6IExpbms7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGVtYmVkIHNob3VsZCBiZSBzaG93biBpbmxpbmUgd2l0aCBsZXNzIHBhZGRpbmcuICovXG4gICAgaW5saW5lOiBib29sZWFuO1xuICAgIC8qKiBUaGUgcGF0aCB3aGljaCB0aGUgbGluayB3aWxsIGJlIHJlc29sdmVkIHJlbGF0aXZlIHRvLiAqL1xuICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG59KSB7XG4gICAgY29uc3QgYXBwID0gdXNlQ29udGV4dChBUFBfQ09OVEVYVCk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdXNlQ29udGV4dChDT01QT05FTlRfQ09OVEVYVCk7XG4gICAgY29uc3QgY3VycmVudEZpbGUgPSB1c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gbWF5YmVTb3VyY2VQYXRoID8/IGN1cnJlbnRGaWxlID8/IFwiXCI7XG5cbiAgICBjb25zdCBjb250YWluZXIgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBsaW5rZWRGaWxlID0gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Rmlyc3RMaW5rcGF0aERlc3QobGluay5wYXRoLCBzb3VyY2VQYXRoKSxcbiAgICAgICAgW2xpbmsucGF0aCwgc291cmNlUGF0aF1cbiAgICApO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFjb250YWluZXIuY3VycmVudCkgcmV0dXJuO1xuICAgICAgICBpZiAoIWxpbmtlZEZpbGUpIHJldHVybjtcblxuICAgICAgICBjb250YWluZXIuY3VycmVudC5pbm5lckhUTUwgPSBcIlwiO1xuXG4gICAgICAgIGNvbnN0IGNyZWF0b3IgPSBhcHAuZW1iZWRSZWdpc3RyeS5nZXRFbWJlZENyZWF0b3IobGlua2VkRmlsZSk7XG4gICAgICAgIGxldCBlbWJlZENvbXBvbmVudCA9IG5ldyBjcmVhdG9yKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxpbmt0ZXh0OiBsaW5rLnBhdGgsXG4gICAgICAgICAgICAgICAgc291cmNlUGF0aDogc291cmNlUGF0aCxcbiAgICAgICAgICAgICAgICBzaG93SW5saW5lOiBpbmxpbmUsXG4gICAgICAgICAgICAgICAgYXBwLFxuICAgICAgICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsOiBjb250YWluZXIuY3VycmVudCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5TW9kZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaW5rZWRGaWxlLFxuICAgICAgICAgICAgbGluay5zdWJwYXRoXG4gICAgICAgICk7XG5cbiAgICAgICAgY29tcG9uZW50LmFkZENoaWxkKGVtYmVkQ29tcG9uZW50KTtcbiAgICAgICAgZW1iZWRDb21wb25lbnQubG9hZEZpbGUobGlua2VkRmlsZSk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IGNvbXBvbmVudC5yZW1vdmVDaGlsZChlbWJlZENvbXBvbmVudCk7XG4gICAgfSwgW2NvbnRhaW5lci5jdXJyZW50LCBsaW5rZWRGaWxlLCBsaW5rLnN1YnBhdGhdKTtcblxuICAgIGlmICghbGlua2VkRmlsZSkge1xuICAgICAgICByZXR1cm4gPEVycm9yTWVzc2FnZSBtZXNzYWdlPXtgQ291bGQgbm90IGZpbmQgYSBwYWdlIGF0IGxpbmtlZCBsb2NhdGlvbjogJHtsaW5rLnBhdGh9YH0gLz47XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwiZGMtZW1iZWRcIiByZWY9e2NvbnRhaW5lcn0+PC9kaXY+O1xuICAgIH1cbn1cblxuLyoqXG4gKiBBbiBlbWJlZCBvZiBhbiBhcmJpdHJhcnkgc3BhbiBvZiBsaW5lcyBpbiBhIE1hcmtkb3duIGZpbGUuIE9wZXJhdGVzIGJ5IGFzeW5jaHJvbm91c2x5IGxvYWRpbmcgdGhlIGZpbGUgYW5kIHB1bGxpbmdcbiAqIG91dCB0aGUgZ2l2ZW4gW3N0YXJ0LCBlbmQpIGxpbmUgc3Bhbi5cbiAqXG4gKiBOb3RlIHRoYXQgaXQncyBwb3NzaWJsZSBmb3IgdGhlIGZpbGUgb24gZGlzayB0byBiZSBkaWZmZXJlbnQgdGhhbiBpdCB3YXMgd2hlbiB5b3UgZmlyc3QgbG9hZGVkIHRoZSBbc3RhcnQsIGVuZCkgbGluZSBzcGFuXG4gKiAtIGdlbmVyYWxseSwgZGF0YWNvcmUgd2lsbCBhc3luY2hyb25vdXNseSByZWxvYWQgdGhlc2UgZmlsZXMgaW4gdGhlIGJhY2tncm91bmQgYW5kIGZpeCBpdCdzIGluZGV4LCBidXQgeW91IG1heSBoYXZlIHNvbWVcbiAqIHN0cmFuZ2UgYXJ0aWZhY3RzIG90aGVyd2lzZS5cbiAqXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gTGluZVNwYW5FbWJlZCh7XG4gICAgcGF0aCxcbiAgICBzdGFydCxcbiAgICBlbmQsXG4gICAgZXhwbGFpbixcbiAgICBzaG93RXhwbGFpbiA9IHRydWUsXG59OiB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgZW5kOiBudW1iZXI7XG4gICAgZXhwbGFpbj86IHN0cmluZztcbiAgICBzaG93RXhwbGFpbj86IGJvb2xlYW47XG59KSB7XG4gICAgY29uc3QgY29udGVudCA9IHVzZUxpbmVTcGFuKHBhdGgsIHN0YXJ0LCBlbmQpO1xuICAgIGNvbnN0IGV4cGxhaW5lciA9IGV4cGxhaW4gPz8gYCR7Z2V0RmlsZVRpdGxlKHBhdGgpfSAoJHtzdGFydH0gLSAke2VuZH0pYDtcblxuICAgIC8vIFRvIGFsbG93IGZvciB0aGUgZXhwbGFpbmVyIHRvIGJlIGNsaWNrZWQgb24gdG8gbmF2aWdhdGUgdG8gdGhlIGdpdmVuIHBvc2l0aW9uLlxuICAgIGNvbnN0IHdvcmtzcGFjZSA9IHVzZUNvbnRleHQoQVBQX0NPTlRFWFQpPy53b3Jrc3BhY2U7XG4gICAgY29uc3Qgb25FeHBsYWluQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB3b3Jrc3BhY2U/Lm9wZW5MaW5rVGV4dChwYXRoLCBwYXRoLCBldmVudC5zaGlmdEtleSksXG4gICAgICAgIFtwYXRoXVxuICAgICk7XG5cbiAgICBzd2l0Y2ggKGNvbnRlbnQudHlwZSkge1xuICAgICAgICBjYXNlIFwibG9hZGluZ1wiOlxuICAgICAgICAgICAgcmV0dXJuIDxFcnJvck1lc3NhZ2UgbWVzc2FnZT17YFJlYWRpbmcgJHtwYXRofSAoJHtzdGFydH0gLSAke2VuZH0pYH0gLz47XG4gICAgICAgIGNhc2UgXCJmaWxlLW5vdC1mb3VuZFwiOlxuICAgICAgICAgICAgcmV0dXJuIDxFcnJvck1lc3NhZ2UgbWVzc2FnZT17YENvdWxkIG5vdCBmaW5kIGEgZmlsZSBhdCBwYXRoOiAke2NvbnRlbnQucGF0aH1gfSAvPjtcbiAgICAgICAgY2FzZSBcImVycm9yXCI6XG4gICAgICAgICAgICByZXR1cm4gPEVycm9yTWVzc2FnZSBtZXNzYWdlPXtjb250ZW50Lm1lc3NhZ2V9IC8+O1xuICAgICAgICBjYXNlIFwibG9hZGVkXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtc3Bhbi1lbWJlZFwiPlxuICAgICAgICAgICAgICAgICAgICB7c2hvd0V4cGxhaW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZW1iZWQtc291cmNlXCIgb25DbGljaz17b25FeHBsYWluQ2xpY2t9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtleHBsYWluZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxNYXJrZG93biBjb250ZW50PXtjb250ZW50LmNvbnRlbnR9IGlubGluZT17ZmFsc2V9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApO1xuICAgIH1cbn1cblxuLyoqIFN0YXRlIHRyYWNraW5nIGZvciBsb2FkaW5nIGEgbGluZSBzcGFuIGFzeW5jaHJvbm91c2x5LiAqL1xuZXhwb3J0IHR5cGUgTGluZVNwYW5Db250ZW50ID1cbiAgICB8IHsgdHlwZTogXCJsb2FkaW5nXCIgfVxuICAgIHwgeyB0eXBlOiBcImZpbGUtbm90LWZvdW5kXCI7IHBhdGg6IHN0cmluZyB9XG4gICAgfCB7IHR5cGU6IFwiZXJyb3JcIjsgbWVzc2FnZTogc3RyaW5nIH1cbiAgICB8IHsgdHlwZTogXCJsb2FkZWRcIjsgY29udGVudDogc3RyaW5nIH07XG5cbi8qKiBVdGlsaXR5IGhvb2sgd2hpY2ggbG9hZHMgcGF0aFtzdGFydC4uZW5kKSBhcyBsb25nIGFzIHRoZSB0YXJnZXQgZmlsZSBleGlzdHMuXG4gKlxuICogQGdyb3VwIEhvb2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VMaW5lU3BhbihwYXRoOiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogTGluZVNwYW5Db250ZW50IHtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcbiAgICBjb25zdCBkYXRhY29yZSA9IHVzZUNvbnRleHQoREFUQUNPUkVfQ09OVEVYVCk7XG5cbiAgICBjb25zdCBbc3RhdGUsIHVwZGF0ZV0gPSB1c2VSZWR1Y2VyPExpbmVTcGFuQ29udGVudCwgTGluZVNwYW5Db250ZW50PihcbiAgICAgICAgKHN0YXRlLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgLy8gSWdub3JlIGFuIGVycm9yIHVwZGF0ZSB0aGF0IHdvdWxkIG92ZXJyaWRlIGEgdmFsaWQgY3VycmVudCBzdGF0ZTsgb3RoZXJ3aXNlLCB1cGRhdGUgdG8gdGhlIG5ldyBzdGF0ZS5cbiAgICAgICAgICAgIGlmIChzdGF0ZS50eXBlID09IFwibG9hZGVkXCIgJiYgZXZlbnQudHlwZSAhPT0gXCJsb2FkZWRcIikgcmV0dXJuIHN0YXRlO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gZXZlbnQ7XG4gICAgICAgIH0sXG4gICAgICAgIHsgdHlwZTogXCJsb2FkaW5nXCIgfVxuICAgICk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBSZXNvbHZlIHRoZSBjdXJyZW50IHBhdGggdG8gc2VlIGlmIGl0IHBvaW50cyB0byBhIHZhbGlkIGZpbGUuXG4gICAgICAgIGNvbnN0IGZpbGUgPSBhcHAudmF1bHQuZ2V0RmlsZUJ5UGF0aChwYXRoKTtcbiAgICAgICAgaWYgKGZpbGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgdXBkYXRlKHsgdHlwZTogXCJmaWxlLW5vdC1mb3VuZFwiLCBwYXRoOiBwYXRoIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJ5IHRvIGxvYWQgdGhlIGZpbGUgYXN5bmNocm9ub3VzbHkuXG4gICAgICAgIGRhdGFjb3JlXG4gICAgICAgICAgICAucmVhZChmaWxlKVxuICAgICAgICAgICAgLnRoZW4oKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGUoeyB0eXBlOiBcImxvYWRlZFwiLCBjb250ZW50OiBsaW5lUmFuZ2UoY29udGVudCwgc3RhcnQsIGVuZCkgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZSh7IHR5cGU6IFwiZXJyb3JcIiwgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH0sIFtwYXRoLCBzdGFydCwgZW5kXSk7XG5cbiAgICByZXR1cm4gc3RhdGU7XG59XG4iLCAiaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBTaW1wbGVFcnJvckJvdW5kYXJ5LCBDVVJSRU5UX0ZJTEVfQ09OVEVYVCwgRGF0YWNvcmVDb250ZXh0UHJvdmlkZXIgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IEFwcCwgTWFya2Rvd25SZW5kZXJDaGlsZCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRGF0YWNvcmVMb2NhbEFwaSB9IGZyb20gXCJhcGkvbG9jYWwtYXBpXCI7XG5pbXBvcnQgeyBoLCByZW5kZXIsIEZyYWdtZW50LCBWTm9kZSB9IGZyb20gXCJwcmVhY3RcIjtcbmltcG9ydCB7IHVubW91bnRDb21wb25lbnRBdE5vZGUgfSBmcm9tIFwicHJlYWN0L2NvbXBhdFwiO1xuaW1wb3J0IHsgU2NyaXB0TGFuZ3VhZ2UsIGFzeW5jRXZhbEluQ29udGV4dCwgdHJhbnNwaWxlIH0gZnJvbSBcInV0aWxzL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IExvYWRpbmdCb3VuZGFyeSwgU2NyaXB0Q29udGFpbmVyIH0gZnJvbSBcIi4vbG9hZGluZy1ib3VuZGFyeVwiO1xuaW1wb3J0IHsgRGF0YWNvcmUgfSBmcm9tIFwiaW5kZXgvZGF0YWNvcmVcIjtcblxuLyoqXG4gKiBSZW5kZXJzIGEgc2NyaXB0IGJ5IGV4ZWN1dGluZyBpdCBhbmQgaGFuZGluZyBpdCB0aGUgYXBwcm9wcmlhdGUgUmVhY3QgY29udGV4dCB0byBleGVjdXRlXG4gKiBhdXRvbWF0aWNhbGx5LlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWNvcmVKU1JlbmRlcmVyIGV4dGVuZHMgTWFya2Rvd25SZW5kZXJDaGlsZCB7XG4gICAgcHJpdmF0ZSBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGFwaTogRGF0YWNvcmVMb2NhbEFwaSxcbiAgICAgICAgcHVibGljIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gICAgICAgIHB1YmxpYyBwYXRoOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBzY3JpcHQ6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGxhbmd1YWdlOiBTY3JpcHRMYW5ndWFnZVxuICAgICkge1xuICAgICAgICBzdXBlcihjb250YWluZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBvbmxvYWQoKSB7XG4gICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcblxuICAgICAgICAvLyBBdHRlbXB0IHRvIHBhcnNlIGFuZCBldmFsdWF0ZSB0aGUgc2NyaXB0IHRvIHByb2R1Y2UgZWl0aGVyIGEgcmVuZGVyYWJsZSBKU1ggb2JqZWN0IG9yIGEgZnVuY3Rpb24uXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBwcmltaXRpdmVTY3JpcHQgPSB0cmFuc3BpbGUodGhpcy5zY3JpcHQsIHRoaXMubGFuZ3VhZ2UpO1xuICAgICAgICAgICAgY29uc3QgcmVuZGVyZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGFzeW5jRXZhbEluQ29udGV4dChwcmltaXRpdmVTY3JpcHQsIHtcbiAgICAgICAgICAgICAgICAgICAgZGM6IHRoaXMuYXBpLFxuICAgICAgICAgICAgICAgICAgICBoOiBoLFxuICAgICAgICAgICAgICAgICAgICBGcmFnbWVudDogRnJhZ21lbnQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZW5kZXIoXG4gICAgICAgICAgICAgICAgPERhdGFjb3JlQ29udGV4dFByb3ZpZGVyXG4gICAgICAgICAgICAgICAgICAgIGFwcD17dGhpcy5hcGkuYXBwfVxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e3RoaXN9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFjb3JlPXt0aGlzLmFwaS5jb3JlfVxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncz17dGhpcy5hcGkuY29yZS5zZXR0aW5nc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxDVVJSRU5UX0ZJTEVfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17dGhpcy5wYXRofT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTaW1wbGVFcnJvckJvdW5kYXJ5IG1lc3NhZ2U9XCJUaGUgZGF0YWNvcmUgc2NyaXB0IGZhaWxlZCB0byBleGVjdXRlLlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nQm91bmRhcnkgZGF0YWNvcmU9e3RoaXMuYXBpLmNvcmV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2NyaXB0Q29udGFpbmVyIGV4ZWN1dG9yPXtyZW5kZXJlcn0gc291cmNlUGF0aD17dGhpcy5wYXRofSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTG9hZGluZ0JvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TaW1wbGVFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgICA8L0NVUlJFTlRfRklMRV9DT05URVhULlByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvRGF0YWNvcmVDb250ZXh0UHJvdmlkZXI+LFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgICAgcmVuZGVyKFxuICAgICAgICAgICAgICAgIDxFcnJvck1lc3NhZ2UgbWVzc2FnZT1cIkRhdGFjb3JlIGZhaWxlZCB0byByZW5kZXIgdGhlIGNvZGUgYmxvY2suXCIgZXJyb3I9e1wiXCIgKyBleH0gLz4sXG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb251bmxvYWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZCkgdW5tb3VudENvbXBvbmVudEF0Tm9kZSh0aGlzLmNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMubG9hZGVkID0gZmFsc2U7XG4gICAgfVxufVxuXG4vKiogQSB0cml2aWFsIHdyYXBwZXIgd2hpY2ggYWxsb3dzIGEgcmVhY3QgY29tcG9uZW50IHRvIGxpdmUgZm9yIHRoZSBkdXJhdGlvbiBvZiBhIGBNYXJrZG93blJlbmRlckNoaWxkYC4gKi9cbmV4cG9ydCBjbGFzcyBSZWFjdFJlbmRlcmVyIGV4dGVuZHMgTWFya2Rvd25SZW5kZXJDaGlsZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgYXBwOiBBcHAsXG4gICAgICAgIHB1YmxpYyBkYXRhY29yZTogRGF0YWNvcmUsXG4gICAgICAgIHB1YmxpYyBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICAgICAgICBwdWJsaWMgc291cmNlUGF0aDogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgZWxlbWVudDogVk5vZGVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25sb2FkKCk6IHZvaWQge1xuICAgICAgICByZW5kZXIoXG4gICAgICAgICAgICA8RGF0YWNvcmVDb250ZXh0UHJvdmlkZXJcbiAgICAgICAgICAgICAgICBhcHA9e3RoaXMuYXBwfVxuICAgICAgICAgICAgICAgIGNvbXBvbmVudD17dGhpc31cbiAgICAgICAgICAgICAgICBkYXRhY29yZT17dGhpcy5kYXRhY29yZX1cbiAgICAgICAgICAgICAgICBzZXR0aW5ncz17dGhpcy5kYXRhY29yZS5zZXR0aW5nc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q1VSUkVOVF9GSUxFX0NPTlRFWFQuUHJvdmlkZXIgdmFsdWU9e3RoaXMuc291cmNlUGF0aH0+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nQm91bmRhcnkgZGF0YWNvcmU9e3RoaXMuZGF0YWNvcmV9Pnt0aGlzLmVsZW1lbnR9PC9Mb2FkaW5nQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgPC9DVVJSRU5UX0ZJTEVfQ09OVEVYVC5Qcm92aWRlcj5cbiAgICAgICAgICAgIDwvRGF0YWNvcmVDb250ZXh0UHJvdmlkZXI+LFxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb251bmxvYWQoKTogdm9pZCB7XG4gICAgICAgIHVubW91bnRDb21wb25lbnRBdE5vZGUodGhpcy5jb250YWluZXIpO1xuICAgIH1cbn1cbiIsICJleHBvcnQgdmFyIENvbnRleHR1YWxLZXl3b3JkOyAoZnVuY3Rpb24gKENvbnRleHR1YWxLZXl3b3JkKSB7XG4gIGNvbnN0IE5PTkUgPSAwOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIk5PTkVcIl0gPSBOT05FXSA9IFwiTk9ORVwiO1xuICBjb25zdCBfYWJzdHJhY3QgPSBOT05FICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYWJzdHJhY3RcIl0gPSBfYWJzdHJhY3RdID0gXCJfYWJzdHJhY3RcIjtcbiAgY29uc3QgX2FjY2Vzc29yID0gX2Fic3RyYWN0ICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYWNjZXNzb3JcIl0gPSBfYWNjZXNzb3JdID0gXCJfYWNjZXNzb3JcIjtcbiAgY29uc3QgX2FzID0gX2FjY2Vzc29yICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYXNcIl0gPSBfYXNdID0gXCJfYXNcIjtcbiAgY29uc3QgX2Fzc2VydCA9IF9hcyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2Fzc2VydFwiXSA9IF9hc3NlcnRdID0gXCJfYXNzZXJ0XCI7XG4gIGNvbnN0IF9hc3NlcnRzID0gX2Fzc2VydCArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2Fzc2VydHNcIl0gPSBfYXNzZXJ0c10gPSBcIl9hc3NlcnRzXCI7XG4gIGNvbnN0IF9hc3luYyA9IF9hc3NlcnRzICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYXN5bmNcIl0gPSBfYXN5bmNdID0gXCJfYXN5bmNcIjtcbiAgY29uc3QgX2F3YWl0ID0gX2FzeW5jICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfYXdhaXRcIl0gPSBfYXdhaXRdID0gXCJfYXdhaXRcIjtcbiAgY29uc3QgX2NoZWNrcyA9IF9hd2FpdCArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2NoZWNrc1wiXSA9IF9jaGVja3NdID0gXCJfY2hlY2tzXCI7XG4gIGNvbnN0IF9jb25zdHJ1Y3RvciA9IF9jaGVja3MgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9jb25zdHJ1Y3RvclwiXSA9IF9jb25zdHJ1Y3Rvcl0gPSBcIl9jb25zdHJ1Y3RvclwiO1xuICBjb25zdCBfZGVjbGFyZSA9IF9jb25zdHJ1Y3RvciArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2RlY2xhcmVcIl0gPSBfZGVjbGFyZV0gPSBcIl9kZWNsYXJlXCI7XG4gIGNvbnN0IF9lbnVtID0gX2RlY2xhcmUgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9lbnVtXCJdID0gX2VudW1dID0gXCJfZW51bVwiO1xuICBjb25zdCBfZXhwb3J0cyA9IF9lbnVtICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfZXhwb3J0c1wiXSA9IF9leHBvcnRzXSA9IFwiX2V4cG9ydHNcIjtcbiAgY29uc3QgX2Zyb20gPSBfZXhwb3J0cyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2Zyb21cIl0gPSBfZnJvbV0gPSBcIl9mcm9tXCI7XG4gIGNvbnN0IF9nZXQgPSBfZnJvbSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2dldFwiXSA9IF9nZXRdID0gXCJfZ2V0XCI7XG4gIGNvbnN0IF9nbG9iYWwgPSBfZ2V0ICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfZ2xvYmFsXCJdID0gX2dsb2JhbF0gPSBcIl9nbG9iYWxcIjtcbiAgY29uc3QgX2ltcGxlbWVudHMgPSBfZ2xvYmFsICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfaW1wbGVtZW50c1wiXSA9IF9pbXBsZW1lbnRzXSA9IFwiX2ltcGxlbWVudHNcIjtcbiAgY29uc3QgX2luZmVyID0gX2ltcGxlbWVudHMgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9pbmZlclwiXSA9IF9pbmZlcl0gPSBcIl9pbmZlclwiO1xuICBjb25zdCBfaW50ZXJmYWNlID0gX2luZmVyICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfaW50ZXJmYWNlXCJdID0gX2ludGVyZmFjZV0gPSBcIl9pbnRlcmZhY2VcIjtcbiAgY29uc3QgX2lzID0gX2ludGVyZmFjZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2lzXCJdID0gX2lzXSA9IFwiX2lzXCI7XG4gIGNvbnN0IF9rZXlvZiA9IF9pcyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX2tleW9mXCJdID0gX2tleW9mXSA9IFwiX2tleW9mXCI7XG4gIGNvbnN0IF9taXhpbnMgPSBfa2V5b2YgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9taXhpbnNcIl0gPSBfbWl4aW5zXSA9IFwiX21peGluc1wiO1xuICBjb25zdCBfbW9kdWxlID0gX21peGlucyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX21vZHVsZVwiXSA9IF9tb2R1bGVdID0gXCJfbW9kdWxlXCI7XG4gIGNvbnN0IF9uYW1lc3BhY2UgPSBfbW9kdWxlICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfbmFtZXNwYWNlXCJdID0gX25hbWVzcGFjZV0gPSBcIl9uYW1lc3BhY2VcIjtcbiAgY29uc3QgX29mID0gX25hbWVzcGFjZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX29mXCJdID0gX29mXSA9IFwiX29mXCI7XG4gIGNvbnN0IF9vcGFxdWUgPSBfb2YgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9vcGFxdWVcIl0gPSBfb3BhcXVlXSA9IFwiX29wYXF1ZVwiO1xuICBjb25zdCBfb3V0ID0gX29wYXF1ZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX291dFwiXSA9IF9vdXRdID0gXCJfb3V0XCI7XG4gIGNvbnN0IF9vdmVycmlkZSA9IF9vdXQgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9vdmVycmlkZVwiXSA9IF9vdmVycmlkZV0gPSBcIl9vdmVycmlkZVwiO1xuICBjb25zdCBfcHJpdmF0ZSA9IF9vdmVycmlkZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3ByaXZhdGVcIl0gPSBfcHJpdmF0ZV0gPSBcIl9wcml2YXRlXCI7XG4gIGNvbnN0IF9wcm90ZWN0ZWQgPSBfcHJpdmF0ZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3Byb3RlY3RlZFwiXSA9IF9wcm90ZWN0ZWRdID0gXCJfcHJvdGVjdGVkXCI7XG4gIGNvbnN0IF9wcm90byA9IF9wcm90ZWN0ZWQgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9wcm90b1wiXSA9IF9wcm90b10gPSBcIl9wcm90b1wiO1xuICBjb25zdCBfcHVibGljID0gX3Byb3RvICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfcHVibGljXCJdID0gX3B1YmxpY10gPSBcIl9wdWJsaWNcIjtcbiAgY29uc3QgX3JlYWRvbmx5ID0gX3B1YmxpYyArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3JlYWRvbmx5XCJdID0gX3JlYWRvbmx5XSA9IFwiX3JlYWRvbmx5XCI7XG4gIGNvbnN0IF9yZXF1aXJlID0gX3JlYWRvbmx5ICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfcmVxdWlyZVwiXSA9IF9yZXF1aXJlXSA9IFwiX3JlcXVpcmVcIjtcbiAgY29uc3QgX3NhdGlzZmllcyA9IF9yZXF1aXJlICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfc2F0aXNmaWVzXCJdID0gX3NhdGlzZmllc10gPSBcIl9zYXRpc2ZpZXNcIjtcbiAgY29uc3QgX3NldCA9IF9zYXRpc2ZpZXMgKyAxOyBDb250ZXh0dWFsS2V5d29yZFtDb250ZXh0dWFsS2V5d29yZFtcIl9zZXRcIl0gPSBfc2V0XSA9IFwiX3NldFwiO1xuICBjb25zdCBfc3RhdGljID0gX3NldCArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3N0YXRpY1wiXSA9IF9zdGF0aWNdID0gXCJfc3RhdGljXCI7XG4gIGNvbnN0IF9zeW1ib2wgPSBfc3RhdGljICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfc3ltYm9sXCJdID0gX3N5bWJvbF0gPSBcIl9zeW1ib2xcIjtcbiAgY29uc3QgX3R5cGUgPSBfc3ltYm9sICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfdHlwZVwiXSA9IF90eXBlXSA9IFwiX3R5cGVcIjtcbiAgY29uc3QgX3VuaXF1ZSA9IF90eXBlICsgMTsgQ29udGV4dHVhbEtleXdvcmRbQ29udGV4dHVhbEtleXdvcmRbXCJfdW5pcXVlXCJdID0gX3VuaXF1ZV0gPSBcIl91bmlxdWVcIjtcbiAgY29uc3QgX3VzaW5nID0gX3VuaXF1ZSArIDE7IENvbnRleHR1YWxLZXl3b3JkW0NvbnRleHR1YWxLZXl3b3JkW1wiX3VzaW5nXCJdID0gX3VzaW5nXSA9IFwiX3VzaW5nXCI7XG59KShDb250ZXh0dWFsS2V5d29yZCB8fCAoQ29udGV4dHVhbEtleXdvcmQgPSB7fSkpO1xuIiwgIi8vIEdlbmVyYXRlZCBmaWxlLCBkbyBub3QgZWRpdCEgUnVuIFwieWFybiBnZW5lcmF0ZVwiIHRvIHJlLWdlbmVyYXRlIHRoaXMgZmlsZS5cbi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIEVudW0gb2YgYWxsIHRva2VuIHR5cGVzLCB3aXRoIGJpdCBmaWVsZHMgdG8gc2lnbmlmeSBtZWFuaW5nZnVsIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCB2YXIgVG9rZW5UeXBlOyAoZnVuY3Rpb24gKFRva2VuVHlwZSkge1xuICAvLyBQcmVjZWRlbmNlIDAgbWVhbnMgbm90IGFuIG9wZXJhdG9yOyBvdGhlcndpc2UgaXQgaXMgYSBwb3NpdGl2ZSBudW1iZXIgdXAgdG8gMTIuXG4gIGNvbnN0IFBSRUNFREVOQ0VfTUFTSyA9IDB4ZjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIlBSRUNFREVOQ0VfTUFTS1wiXSA9IFBSRUNFREVOQ0VfTUFTS10gPSBcIlBSRUNFREVOQ0VfTUFTS1wiO1xuICBjb25zdCBJU19LRVlXT1JEID0gMSA8PCA0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiSVNfS0VZV09SRFwiXSA9IElTX0tFWVdPUkRdID0gXCJJU19LRVlXT1JEXCI7XG4gIGNvbnN0IElTX0FTU0lHTiA9IDEgPDwgNTsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIklTX0FTU0lHTlwiXSA9IElTX0FTU0lHTl0gPSBcIklTX0FTU0lHTlwiO1xuICBjb25zdCBJU19SSUdIVF9BU1NPQ0lBVElWRSA9IDEgPDwgNjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIklTX1JJR0hUX0FTU09DSUFUSVZFXCJdID0gSVNfUklHSFRfQVNTT0NJQVRJVkVdID0gXCJJU19SSUdIVF9BU1NPQ0lBVElWRVwiO1xuICBjb25zdCBJU19QUkVGSVggPSAxIDw8IDc7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJJU19QUkVGSVhcIl0gPSBJU19QUkVGSVhdID0gXCJJU19QUkVGSVhcIjtcbiAgY29uc3QgSVNfUE9TVEZJWCA9IDEgPDwgODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIklTX1BPU1RGSVhcIl0gPSBJU19QT1NURklYXSA9IFwiSVNfUE9TVEZJWFwiO1xuICBjb25zdCBJU19FWFBSRVNTSU9OX1NUQVJUID0gMSA8PCA5OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiSVNfRVhQUkVTU0lPTl9TVEFSVFwiXSA9IElTX0VYUFJFU1NJT05fU1RBUlRdID0gXCJJU19FWFBSRVNTSU9OX1NUQVJUXCI7XG5cbiAgY29uc3QgbnVtID0gNTEyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wibnVtXCJdID0gbnVtXSA9IFwibnVtXCI7IC8vIG51bSBzdGFydHNFeHByXG4gIGNvbnN0IGJpZ2ludCA9IDE1MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJiaWdpbnRcIl0gPSBiaWdpbnRdID0gXCJiaWdpbnRcIjsgLy8gYmlnaW50IHN0YXJ0c0V4cHJcbiAgY29uc3QgZGVjaW1hbCA9IDI1NjA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJkZWNpbWFsXCJdID0gZGVjaW1hbF0gPSBcImRlY2ltYWxcIjsgLy8gZGVjaW1hbCBzdGFydHNFeHByXG4gIGNvbnN0IHJlZ2V4cCA9IDM1ODQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJyZWdleHBcIl0gPSByZWdleHBdID0gXCJyZWdleHBcIjsgLy8gcmVnZXhwIHN0YXJ0c0V4cHJcbiAgY29uc3Qgc3RyaW5nID0gNDYwODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInN0cmluZ1wiXSA9IHN0cmluZ10gPSBcInN0cmluZ1wiOyAvLyBzdHJpbmcgc3RhcnRzRXhwclxuICBjb25zdCBuYW1lID0gNTYzMjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIm5hbWVcIl0gPSBuYW1lXSA9IFwibmFtZVwiOyAvLyBuYW1lIHN0YXJ0c0V4cHJcbiAgY29uc3QgZW9mID0gNjE0NDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImVvZlwiXSA9IGVvZl0gPSBcImVvZlwiOyAvLyBlb2ZcbiAgY29uc3QgYnJhY2tldEwgPSA3NjgwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYnJhY2tldExcIl0gPSBicmFja2V0TF0gPSBcImJyYWNrZXRMXCI7IC8vIFsgc3RhcnRzRXhwclxuICBjb25zdCBicmFja2V0UiA9IDgxOTI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJicmFja2V0UlwiXSA9IGJyYWNrZXRSXSA9IFwiYnJhY2tldFJcIjsgLy8gXVxuICBjb25zdCBicmFjZUwgPSA5NzI4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYnJhY2VMXCJdID0gYnJhY2VMXSA9IFwiYnJhY2VMXCI7IC8vIHsgc3RhcnRzRXhwclxuICBjb25zdCBicmFjZUJhckwgPSAxMDc1MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImJyYWNlQmFyTFwiXSA9IGJyYWNlQmFyTF0gPSBcImJyYWNlQmFyTFwiOyAvLyB7fCBzdGFydHNFeHByXG4gIGNvbnN0IGJyYWNlUiA9IDExMjY0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYnJhY2VSXCJdID0gYnJhY2VSXSA9IFwiYnJhY2VSXCI7IC8vIH1cbiAgY29uc3QgYnJhY2VCYXJSID0gMTIyODg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJicmFjZUJhclJcIl0gPSBicmFjZUJhclJdID0gXCJicmFjZUJhclJcIjsgLy8gfH1cbiAgY29uc3QgcGFyZW5MID0gMTM4MjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJwYXJlbkxcIl0gPSBwYXJlbkxdID0gXCJwYXJlbkxcIjsgLy8gKCBzdGFydHNFeHByXG4gIGNvbnN0IHBhcmVuUiA9IDE0MzM2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wicGFyZW5SXCJdID0gcGFyZW5SXSA9IFwicGFyZW5SXCI7IC8vIClcbiAgY29uc3QgY29tbWEgPSAxNTM2MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImNvbW1hXCJdID0gY29tbWFdID0gXCJjb21tYVwiOyAvLyAsXG4gIGNvbnN0IHNlbWkgPSAxNjM4NDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInNlbWlcIl0gPSBzZW1pXSA9IFwic2VtaVwiOyAvLyA7XG4gIGNvbnN0IGNvbG9uID0gMTc0MDg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJjb2xvblwiXSA9IGNvbG9uXSA9IFwiY29sb25cIjsgLy8gOlxuICBjb25zdCBkb3VibGVDb2xvbiA9IDE4NDMyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiZG91YmxlQ29sb25cIl0gPSBkb3VibGVDb2xvbl0gPSBcImRvdWJsZUNvbG9uXCI7IC8vIDo6XG4gIGNvbnN0IGRvdCA9IDE5NDU2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiZG90XCJdID0gZG90XSA9IFwiZG90XCI7IC8vIC5cbiAgY29uc3QgcXVlc3Rpb24gPSAyMDQ4MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInF1ZXN0aW9uXCJdID0gcXVlc3Rpb25dID0gXCJxdWVzdGlvblwiOyAvLyA/XG4gIGNvbnN0IHF1ZXN0aW9uRG90ID0gMjE1MDQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJxdWVzdGlvbkRvdFwiXSA9IHF1ZXN0aW9uRG90XSA9IFwicXVlc3Rpb25Eb3RcIjsgLy8gPy5cbiAgY29uc3QgYXJyb3cgPSAyMjUyODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImFycm93XCJdID0gYXJyb3ddID0gXCJhcnJvd1wiOyAvLyA9PlxuICBjb25zdCB0ZW1wbGF0ZSA9IDIzNTUyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1widGVtcGxhdGVcIl0gPSB0ZW1wbGF0ZV0gPSBcInRlbXBsYXRlXCI7IC8vIHRlbXBsYXRlXG4gIGNvbnN0IGVsbGlwc2lzID0gMjQ1NzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJlbGxpcHNpc1wiXSA9IGVsbGlwc2lzXSA9IFwiZWxsaXBzaXNcIjsgLy8gLi4uXG4gIGNvbnN0IGJhY2tRdW90ZSA9IDI1NjAwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYmFja1F1b3RlXCJdID0gYmFja1F1b3RlXSA9IFwiYmFja1F1b3RlXCI7IC8vIGBcbiAgY29uc3QgZG9sbGFyQnJhY2VMID0gMjcxMzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJkb2xsYXJCcmFjZUxcIl0gPSBkb2xsYXJCcmFjZUxdID0gXCJkb2xsYXJCcmFjZUxcIjsgLy8gJHsgc3RhcnRzRXhwclxuICBjb25zdCBhdCA9IDI3NjQ4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYXRcIl0gPSBhdF0gPSBcImF0XCI7IC8vIEBcbiAgY29uc3QgaGFzaCA9IDI5MTg0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiaGFzaFwiXSA9IGhhc2hdID0gXCJoYXNoXCI7IC8vICMgc3RhcnRzRXhwclxuICBjb25zdCBlcSA9IDI5NzI4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiZXFcIl0gPSBlcV0gPSBcImVxXCI7IC8vID0gaXNBc3NpZ25cbiAgY29uc3QgYXNzaWduID0gMzA3NTI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJhc3NpZ25cIl0gPSBhc3NpZ25dID0gXCJhc3NpZ25cIjsgLy8gXz0gaXNBc3NpZ25cbiAgY29uc3QgcHJlSW5jRGVjID0gMzI2NDA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJwcmVJbmNEZWNcIl0gPSBwcmVJbmNEZWNdID0gXCJwcmVJbmNEZWNcIjsgLy8gKysvLS0gcHJlZml4IHBvc3RmaXggc3RhcnRzRXhwclxuICBjb25zdCBwb3N0SW5jRGVjID0gMzM2NjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJwb3N0SW5jRGVjXCJdID0gcG9zdEluY0RlY10gPSBcInBvc3RJbmNEZWNcIjsgLy8gKysvLS0gcHJlZml4IHBvc3RmaXggc3RhcnRzRXhwclxuICBjb25zdCBiYW5nID0gMzQ0MzI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJiYW5nXCJdID0gYmFuZ10gPSBcImJhbmdcIjsgLy8gISBwcmVmaXggc3RhcnRzRXhwclxuICBjb25zdCB0aWxkZSA9IDM1NDU2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1widGlsZGVcIl0gPSB0aWxkZV0gPSBcInRpbGRlXCI7IC8vIH4gcHJlZml4IHN0YXJ0c0V4cHJcbiAgY29uc3QgcGlwZWxpbmUgPSAzNTg0MTsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInBpcGVsaW5lXCJdID0gcGlwZWxpbmVdID0gXCJwaXBlbGluZVwiOyAvLyB8PiBwcmVjOjFcbiAgY29uc3QgbnVsbGlzaENvYWxlc2NpbmcgPSAzNjg2NjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIm51bGxpc2hDb2FsZXNjaW5nXCJdID0gbnVsbGlzaENvYWxlc2NpbmddID0gXCJudWxsaXNoQ29hbGVzY2luZ1wiOyAvLyA/PyBwcmVjOjJcbiAgY29uc3QgbG9naWNhbE9SID0gMzc4OTA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJsb2dpY2FsT1JcIl0gPSBsb2dpY2FsT1JdID0gXCJsb2dpY2FsT1JcIjsgLy8gfHwgcHJlYzoyXG4gIGNvbnN0IGxvZ2ljYWxBTkQgPSAzODkxNTsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImxvZ2ljYWxBTkRcIl0gPSBsb2dpY2FsQU5EXSA9IFwibG9naWNhbEFORFwiOyAvLyAmJiBwcmVjOjNcbiAgY29uc3QgYml0d2lzZU9SID0gMzk5NDA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJiaXR3aXNlT1JcIl0gPSBiaXR3aXNlT1JdID0gXCJiaXR3aXNlT1JcIjsgLy8gfCBwcmVjOjRcbiAgY29uc3QgYml0d2lzZVhPUiA9IDQwOTY1OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYml0d2lzZVhPUlwiXSA9IGJpdHdpc2VYT1JdID0gXCJiaXR3aXNlWE9SXCI7IC8vIF4gcHJlYzo1XG4gIGNvbnN0IGJpdHdpc2VBTkQgPSA0MTk5MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImJpdHdpc2VBTkRcIl0gPSBiaXR3aXNlQU5EXSA9IFwiYml0d2lzZUFORFwiOyAvLyAmIHByZWM6NlxuICBjb25zdCBlcXVhbGl0eSA9IDQzMDE1OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiZXF1YWxpdHlcIl0gPSBlcXVhbGl0eV0gPSBcImVxdWFsaXR5XCI7IC8vID09LyE9IHByZWM6N1xuICBjb25zdCBsZXNzVGhhbiA9IDQ0MDQwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wibGVzc1RoYW5cIl0gPSBsZXNzVGhhbl0gPSBcImxlc3NUaGFuXCI7IC8vIDwgcHJlYzo4XG4gIGNvbnN0IGdyZWF0ZXJUaGFuID0gNDUwNjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJncmVhdGVyVGhhblwiXSA9IGdyZWF0ZXJUaGFuXSA9IFwiZ3JlYXRlclRoYW5cIjsgLy8gPiBwcmVjOjhcbiAgY29uc3QgcmVsYXRpb25hbE9yRXF1YWwgPSA0NjA4ODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcInJlbGF0aW9uYWxPckVxdWFsXCJdID0gcmVsYXRpb25hbE9yRXF1YWxdID0gXCJyZWxhdGlvbmFsT3JFcXVhbFwiOyAvLyA8PS8+PSBwcmVjOjhcbiAgY29uc3QgYml0U2hpZnRMID0gNDcxMTM7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJiaXRTaGlmdExcIl0gPSBiaXRTaGlmdExdID0gXCJiaXRTaGlmdExcIjsgLy8gPDwgcHJlYzo5XG4gIGNvbnN0IGJpdFNoaWZ0UiA9IDQ4MTM3OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiYml0U2hpZnRSXCJdID0gYml0U2hpZnRSXSA9IFwiYml0U2hpZnRSXCI7IC8vID4+Lz4+PiBwcmVjOjlcbiAgY29uc3QgcGx1cyA9IDQ5ODAyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wicGx1c1wiXSA9IHBsdXNdID0gXCJwbHVzXCI7IC8vICsgcHJlYzoxMCBwcmVmaXggc3RhcnRzRXhwclxuICBjb25zdCBtaW51cyA9IDUwODI2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wibWludXNcIl0gPSBtaW51c10gPSBcIm1pbnVzXCI7IC8vIC0gcHJlYzoxMCBwcmVmaXggc3RhcnRzRXhwclxuICBjb25zdCBtb2R1bG8gPSA1MTcyMzsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIm1vZHVsb1wiXSA9IG1vZHVsb10gPSBcIm1vZHVsb1wiOyAvLyAlIHByZWM6MTEgc3RhcnRzRXhwclxuICBjb25zdCBzdGFyID0gNTIyMzU7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJzdGFyXCJdID0gc3Rhcl0gPSBcInN0YXJcIjsgLy8gKiBwcmVjOjExXG4gIGNvbnN0IHNsYXNoID0gNTMyNTk7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJzbGFzaFwiXSA9IHNsYXNoXSA9IFwic2xhc2hcIjsgLy8gLyBwcmVjOjExXG4gIGNvbnN0IGV4cG9uZW50ID0gNTQzNDg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJleHBvbmVudFwiXSA9IGV4cG9uZW50XSA9IFwiZXhwb25lbnRcIjsgLy8gKiogcHJlYzoxMiByaWdodEFzc29jaWF0aXZlXG4gIGNvbnN0IGpzeE5hbWUgPSA1NTI5NjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImpzeE5hbWVcIl0gPSBqc3hOYW1lXSA9IFwianN4TmFtZVwiOyAvLyBqc3hOYW1lXG4gIGNvbnN0IGpzeFRleHQgPSA1NjMyMDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcImpzeFRleHRcIl0gPSBqc3hUZXh0XSA9IFwianN4VGV4dFwiOyAvLyBqc3hUZXh0XG4gIGNvbnN0IGpzeEVtcHR5VGV4dCA9IDU3MzQ0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wianN4RW1wdHlUZXh0XCJdID0ganN4RW1wdHlUZXh0XSA9IFwianN4RW1wdHlUZXh0XCI7IC8vIGpzeEVtcHR5VGV4dFxuICBjb25zdCBqc3hUYWdTdGFydCA9IDU4ODgwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wianN4VGFnU3RhcnRcIl0gPSBqc3hUYWdTdGFydF0gPSBcImpzeFRhZ1N0YXJ0XCI7IC8vIGpzeFRhZ1N0YXJ0IHN0YXJ0c0V4cHJcbiAgY29uc3QganN4VGFnRW5kID0gNTkzOTI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJqc3hUYWdFbmRcIl0gPSBqc3hUYWdFbmRdID0gXCJqc3hUYWdFbmRcIjsgLy8ganN4VGFnRW5kXG4gIGNvbnN0IHR5cGVQYXJhbWV0ZXJTdGFydCA9IDYwOTI4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1widHlwZVBhcmFtZXRlclN0YXJ0XCJdID0gdHlwZVBhcmFtZXRlclN0YXJ0XSA9IFwidHlwZVBhcmFtZXRlclN0YXJ0XCI7IC8vIHR5cGVQYXJhbWV0ZXJTdGFydCBzdGFydHNFeHByXG4gIGNvbnN0IG5vbk51bGxBc3NlcnRpb24gPSA2MTQ0MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIm5vbk51bGxBc3NlcnRpb25cIl0gPSBub25OdWxsQXNzZXJ0aW9uXSA9IFwibm9uTnVsbEFzc2VydGlvblwiOyAvLyBub25OdWxsQXNzZXJ0aW9uXG4gIGNvbnN0IF9icmVhayA9IDYyNDgwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2JyZWFrXCJdID0gX2JyZWFrXSA9IFwiX2JyZWFrXCI7IC8vIGJyZWFrIGtleXdvcmRcbiAgY29uc3QgX2Nhc2UgPSA2MzUwNDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9jYXNlXCJdID0gX2Nhc2VdID0gXCJfY2FzZVwiOyAvLyBjYXNlIGtleXdvcmRcbiAgY29uc3QgX2NhdGNoID0gNjQ1Mjg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfY2F0Y2hcIl0gPSBfY2F0Y2hdID0gXCJfY2F0Y2hcIjsgLy8gY2F0Y2gga2V5d29yZFxuICBjb25zdCBfY29udGludWUgPSA2NTU1MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9jb250aW51ZVwiXSA9IF9jb250aW51ZV0gPSBcIl9jb250aW51ZVwiOyAvLyBjb250aW51ZSBrZXl3b3JkXG4gIGNvbnN0IF9kZWJ1Z2dlciA9IDY2NTc2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2RlYnVnZ2VyXCJdID0gX2RlYnVnZ2VyXSA9IFwiX2RlYnVnZ2VyXCI7IC8vIGRlYnVnZ2VyIGtleXdvcmRcbiAgY29uc3QgX2RlZmF1bHQgPSA2NzYwMDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9kZWZhdWx0XCJdID0gX2RlZmF1bHRdID0gXCJfZGVmYXVsdFwiOyAvLyBkZWZhdWx0IGtleXdvcmRcbiAgY29uc3QgX2RvID0gNjg2MjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfZG9cIl0gPSBfZG9dID0gXCJfZG9cIjsgLy8gZG8ga2V5d29yZFxuICBjb25zdCBfZWxzZSA9IDY5NjQ4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2Vsc2VcIl0gPSBfZWxzZV0gPSBcIl9lbHNlXCI7IC8vIGVsc2Uga2V5d29yZFxuICBjb25zdCBfZmluYWxseSA9IDcwNjcyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2ZpbmFsbHlcIl0gPSBfZmluYWxseV0gPSBcIl9maW5hbGx5XCI7IC8vIGZpbmFsbHkga2V5d29yZFxuICBjb25zdCBfZm9yID0gNzE2OTY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfZm9yXCJdID0gX2Zvcl0gPSBcIl9mb3JcIjsgLy8gZm9yIGtleXdvcmRcbiAgY29uc3QgX2Z1bmN0aW9uID0gNzMyMzI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfZnVuY3Rpb25cIl0gPSBfZnVuY3Rpb25dID0gXCJfZnVuY3Rpb25cIjsgLy8gZnVuY3Rpb24ga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9pZiA9IDczNzQ0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2lmXCJdID0gX2lmXSA9IFwiX2lmXCI7IC8vIGlmIGtleXdvcmRcbiAgY29uc3QgX3JldHVybiA9IDc0NzY4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3JldHVyblwiXSA9IF9yZXR1cm5dID0gXCJfcmV0dXJuXCI7IC8vIHJldHVybiBrZXl3b3JkXG4gIGNvbnN0IF9zd2l0Y2ggPSA3NTc5MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9zd2l0Y2hcIl0gPSBfc3dpdGNoXSA9IFwiX3N3aXRjaFwiOyAvLyBzd2l0Y2gga2V5d29yZFxuICBjb25zdCBfdGhyb3cgPSA3NzQ1NjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl90aHJvd1wiXSA9IF90aHJvd10gPSBcIl90aHJvd1wiOyAvLyB0aHJvdyBrZXl3b3JkIHByZWZpeCBzdGFydHNFeHByXG4gIGNvbnN0IF90cnkgPSA3Nzg0MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl90cnlcIl0gPSBfdHJ5XSA9IFwiX3RyeVwiOyAvLyB0cnkga2V5d29yZFxuICBjb25zdCBfdmFyID0gNzg4NjQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfdmFyXCJdID0gX3Zhcl0gPSBcIl92YXJcIjsgLy8gdmFyIGtleXdvcmRcbiAgY29uc3QgX2xldCA9IDc5ODg4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2xldFwiXSA9IF9sZXRdID0gXCJfbGV0XCI7IC8vIGxldCBrZXl3b3JkXG4gIGNvbnN0IF9jb25zdCA9IDgwOTEyOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2NvbnN0XCJdID0gX2NvbnN0XSA9IFwiX2NvbnN0XCI7IC8vIGNvbnN0IGtleXdvcmRcbiAgY29uc3QgX3doaWxlID0gODE5MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfd2hpbGVcIl0gPSBfd2hpbGVdID0gXCJfd2hpbGVcIjsgLy8gd2hpbGUga2V5d29yZFxuICBjb25zdCBfd2l0aCA9IDgyOTYwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3dpdGhcIl0gPSBfd2l0aF0gPSBcIl93aXRoXCI7IC8vIHdpdGgga2V5d29yZFxuICBjb25zdCBfbmV3ID0gODQ0OTY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfbmV3XCJdID0gX25ld10gPSBcIl9uZXdcIjsgLy8gbmV3IGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfdGhpcyA9IDg1NTIwOyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3RoaXNcIl0gPSBfdGhpc10gPSBcIl90aGlzXCI7IC8vIHRoaXMga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9zdXBlciA9IDg2NTQ0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3N1cGVyXCJdID0gX3N1cGVyXSA9IFwiX3N1cGVyXCI7IC8vIHN1cGVyIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfY2xhc3MgPSA4NzU2ODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9jbGFzc1wiXSA9IF9jbGFzc10gPSBcIl9jbGFzc1wiOyAvLyBjbGFzcyBrZXl3b3JkIHN0YXJ0c0V4cHJcbiAgY29uc3QgX2V4dGVuZHMgPSA4ODA4MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9leHRlbmRzXCJdID0gX2V4dGVuZHNdID0gXCJfZXh0ZW5kc1wiOyAvLyBleHRlbmRzIGtleXdvcmRcbiAgY29uc3QgX2V4cG9ydCA9IDg5MTA0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2V4cG9ydFwiXSA9IF9leHBvcnRdID0gXCJfZXhwb3J0XCI7IC8vIGV4cG9ydCBrZXl3b3JkXG4gIGNvbnN0IF9pbXBvcnQgPSA5MDY0MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9pbXBvcnRcIl0gPSBfaW1wb3J0XSA9IFwiX2ltcG9ydFwiOyAvLyBpbXBvcnQga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF95aWVsZCA9IDkxNjY0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX3lpZWxkXCJdID0gX3lpZWxkXSA9IFwiX3lpZWxkXCI7IC8vIHlpZWxkIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfbnVsbCA9IDkyNjg4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX251bGxcIl0gPSBfbnVsbF0gPSBcIl9udWxsXCI7IC8vIG51bGwga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF90cnVlID0gOTM3MTI7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfdHJ1ZVwiXSA9IF90cnVlXSA9IFwiX3RydWVcIjsgLy8gdHJ1ZSBrZXl3b3JkIHN0YXJ0c0V4cHJcbiAgY29uc3QgX2ZhbHNlID0gOTQ3MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfZmFsc2VcIl0gPSBfZmFsc2VdID0gXCJfZmFsc2VcIjsgLy8gZmFsc2Uga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9pbiA9IDk1MjU2OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2luXCJdID0gX2luXSA9IFwiX2luXCI7IC8vIGluIHByZWM6OCBrZXl3b3JkXG4gIGNvbnN0IF9pbnN0YW5jZW9mID0gOTYyODA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfaW5zdGFuY2VvZlwiXSA9IF9pbnN0YW5jZW9mXSA9IFwiX2luc3RhbmNlb2ZcIjsgLy8gaW5zdGFuY2VvZiBwcmVjOjgga2V5d29yZFxuICBjb25zdCBfdHlwZW9mID0gOTc5MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfdHlwZW9mXCJdID0gX3R5cGVvZl0gPSBcIl90eXBlb2ZcIjsgLy8gdHlwZW9mIGtleXdvcmQgcHJlZml4IHN0YXJ0c0V4cHJcbiAgY29uc3QgX3ZvaWQgPSA5ODk2MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl92b2lkXCJdID0gX3ZvaWRdID0gXCJfdm9pZFwiOyAvLyB2b2lkIGtleXdvcmQgcHJlZml4IHN0YXJ0c0V4cHJcbiAgY29uc3QgX2RlbGV0ZSA9IDk5OTg0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2RlbGV0ZVwiXSA9IF9kZWxldGVdID0gXCJfZGVsZXRlXCI7IC8vIGRlbGV0ZSBrZXl3b3JkIHByZWZpeCBzdGFydHNFeHByXG4gIGNvbnN0IF9hc3luYyA9IDEwMDg4MDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9hc3luY1wiXSA9IF9hc3luY10gPSBcIl9hc3luY1wiOyAvLyBhc3luYyBrZXl3b3JkIHN0YXJ0c0V4cHJcbiAgY29uc3QgX2dldCA9IDEwMTkwNDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9nZXRcIl0gPSBfZ2V0XSA9IFwiX2dldFwiOyAvLyBnZXQga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9zZXQgPSAxMDI5Mjg7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfc2V0XCJdID0gX3NldF0gPSBcIl9zZXRcIjsgLy8gc2V0IGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfZGVjbGFyZSA9IDEwMzk1MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9kZWNsYXJlXCJdID0gX2RlY2xhcmVdID0gXCJfZGVjbGFyZVwiOyAvLyBkZWNsYXJlIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfcmVhZG9ubHkgPSAxMDQ5NzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfcmVhZG9ubHlcIl0gPSBfcmVhZG9ubHldID0gXCJfcmVhZG9ubHlcIjsgLy8gcmVhZG9ubHkga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9hYnN0cmFjdCA9IDEwNjAwMDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9hYnN0cmFjdFwiXSA9IF9hYnN0cmFjdF0gPSBcIl9hYnN0cmFjdFwiOyAvLyBhYnN0cmFjdCBrZXl3b3JkIHN0YXJ0c0V4cHJcbiAgY29uc3QgX3N0YXRpYyA9IDEwNzAyNDsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9zdGF0aWNcIl0gPSBfc3RhdGljXSA9IFwiX3N0YXRpY1wiOyAvLyBzdGF0aWMga2V5d29yZCBzdGFydHNFeHByXG4gIGNvbnN0IF9wdWJsaWMgPSAxMDc1MzY7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfcHVibGljXCJdID0gX3B1YmxpY10gPSBcIl9wdWJsaWNcIjsgLy8gcHVibGljIGtleXdvcmRcbiAgY29uc3QgX3ByaXZhdGUgPSAxMDg1NjA7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfcHJpdmF0ZVwiXSA9IF9wcml2YXRlXSA9IFwiX3ByaXZhdGVcIjsgLy8gcHJpdmF0ZSBrZXl3b3JkXG4gIGNvbnN0IF9wcm90ZWN0ZWQgPSAxMDk1ODQ7IFRva2VuVHlwZVtUb2tlblR5cGVbXCJfcHJvdGVjdGVkXCJdID0gX3Byb3RlY3RlZF0gPSBcIl9wcm90ZWN0ZWRcIjsgLy8gcHJvdGVjdGVkIGtleXdvcmRcbiAgY29uc3QgX292ZXJyaWRlID0gMTEwNjA4OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX292ZXJyaWRlXCJdID0gX292ZXJyaWRlXSA9IFwiX292ZXJyaWRlXCI7IC8vIG92ZXJyaWRlIGtleXdvcmRcbiAgY29uc3QgX2FzID0gMTEyMTQ0OyBUb2tlblR5cGVbVG9rZW5UeXBlW1wiX2FzXCJdID0gX2FzXSA9IFwiX2FzXCI7IC8vIGFzIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfZW51bSA9IDExMzE2ODsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9lbnVtXCJdID0gX2VudW1dID0gXCJfZW51bVwiOyAvLyBlbnVtIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfdHlwZSA9IDExNDE5MjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl90eXBlXCJdID0gX3R5cGVdID0gXCJfdHlwZVwiOyAvLyB0eXBlIGtleXdvcmQgc3RhcnRzRXhwclxuICBjb25zdCBfaW1wbGVtZW50cyA9IDExNTIxNjsgVG9rZW5UeXBlW1Rva2VuVHlwZVtcIl9pbXBsZW1lbnRzXCJdID0gX2ltcGxlbWVudHNdID0gXCJfaW1wbGVtZW50c1wiOyAvLyBpbXBsZW1lbnRzIGtleXdvcmQgc3RhcnRzRXhwclxufSkoVG9rZW5UeXBlIHx8IChUb2tlblR5cGUgPSB7fSkpO1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRva2VuVHlwZSh0b2tlblR5cGUpIHtcbiAgc3dpdGNoICh0b2tlblR5cGUpIHtcbiAgICBjYXNlIFRva2VuVHlwZS5udW06XG4gICAgICByZXR1cm4gXCJudW1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iaWdpbnQ6XG4gICAgICByZXR1cm4gXCJiaWdpbnRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5kZWNpbWFsOlxuICAgICAgcmV0dXJuIFwiZGVjaW1hbFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnJlZ2V4cDpcbiAgICAgIHJldHVybiBcInJlZ2V4cFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnN0cmluZzpcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLm5hbWU6XG4gICAgICByZXR1cm4gXCJuYW1lXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuZW9mOlxuICAgICAgcmV0dXJuIFwiZW9mXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYnJhY2tldEw6XG4gICAgICByZXR1cm4gXCJbXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYnJhY2tldFI6XG4gICAgICByZXR1cm4gXCJdXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYnJhY2VMOlxuICAgICAgcmV0dXJuIFwie1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmJyYWNlQmFyTDpcbiAgICAgIHJldHVybiBcInt8XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYnJhY2VSOlxuICAgICAgcmV0dXJuIFwifVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmJyYWNlQmFyUjpcbiAgICAgIHJldHVybiBcInx9XCI7XG4gICAgY2FzZSBUb2tlblR5cGUucGFyZW5MOlxuICAgICAgcmV0dXJuIFwiKFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnBhcmVuUjpcbiAgICAgIHJldHVybiBcIilcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5jb21tYTpcbiAgICAgIHJldHVybiBcIixcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5zZW1pOlxuICAgICAgcmV0dXJuIFwiO1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmNvbG9uOlxuICAgICAgcmV0dXJuIFwiOlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmRvdWJsZUNvbG9uOlxuICAgICAgcmV0dXJuIFwiOjpcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5kb3Q6XG4gICAgICByZXR1cm4gXCIuXCI7XG4gICAgY2FzZSBUb2tlblR5cGUucXVlc3Rpb246XG4gICAgICByZXR1cm4gXCI/XCI7XG4gICAgY2FzZSBUb2tlblR5cGUucXVlc3Rpb25Eb3Q6XG4gICAgICByZXR1cm4gXCI/LlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmFycm93OlxuICAgICAgcmV0dXJuIFwiPT5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS50ZW1wbGF0ZTpcbiAgICAgIHJldHVybiBcInRlbXBsYXRlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuZWxsaXBzaXM6XG4gICAgICByZXR1cm4gXCIuLi5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iYWNrUXVvdGU6XG4gICAgICByZXR1cm4gXCJgXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuZG9sbGFyQnJhY2VMOlxuICAgICAgcmV0dXJuIFwiJHtcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5hdDpcbiAgICAgIHJldHVybiBcIkBcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5oYXNoOlxuICAgICAgcmV0dXJuIFwiI1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmVxOlxuICAgICAgcmV0dXJuIFwiPVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmFzc2lnbjpcbiAgICAgIHJldHVybiBcIl89XCI7XG4gICAgY2FzZSBUb2tlblR5cGUucHJlSW5jRGVjOlxuICAgICAgcmV0dXJuIFwiKysvLS1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5wb3N0SW5jRGVjOlxuICAgICAgcmV0dXJuIFwiKysvLS1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iYW5nOlxuICAgICAgcmV0dXJuIFwiIVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnRpbGRlOlxuICAgICAgcmV0dXJuIFwiflwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnBpcGVsaW5lOlxuICAgICAgcmV0dXJuIFwifD5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5udWxsaXNoQ29hbGVzY2luZzpcbiAgICAgIHJldHVybiBcIj8/XCI7XG4gICAgY2FzZSBUb2tlblR5cGUubG9naWNhbE9SOlxuICAgICAgcmV0dXJuIFwifHxcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5sb2dpY2FsQU5EOlxuICAgICAgcmV0dXJuIFwiJiZcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iaXR3aXNlT1I6XG4gICAgICByZXR1cm4gXCJ8XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYml0d2lzZVhPUjpcbiAgICAgIHJldHVybiBcIl5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iaXR3aXNlQU5EOlxuICAgICAgcmV0dXJuIFwiJlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmVxdWFsaXR5OlxuICAgICAgcmV0dXJuIFwiPT0vIT1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5sZXNzVGhhbjpcbiAgICAgIHJldHVybiBcIjxcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5ncmVhdGVyVGhhbjpcbiAgICAgIHJldHVybiBcIj5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5yZWxhdGlvbmFsT3JFcXVhbDpcbiAgICAgIHJldHVybiBcIjw9Lz49XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuYml0U2hpZnRMOlxuICAgICAgcmV0dXJuIFwiPDxcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5iaXRTaGlmdFI6XG4gICAgICByZXR1cm4gXCI+Pi8+Pj5cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5wbHVzOlxuICAgICAgcmV0dXJuIFwiK1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLm1pbnVzOlxuICAgICAgcmV0dXJuIFwiLVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLm1vZHVsbzpcbiAgICAgIHJldHVybiBcIiVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5zdGFyOlxuICAgICAgcmV0dXJuIFwiKlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnNsYXNoOlxuICAgICAgcmV0dXJuIFwiL1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmV4cG9uZW50OlxuICAgICAgcmV0dXJuIFwiKipcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5qc3hOYW1lOlxuICAgICAgcmV0dXJuIFwianN4TmFtZVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmpzeFRleHQ6XG4gICAgICByZXR1cm4gXCJqc3hUZXh0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuanN4RW1wdHlUZXh0OlxuICAgICAgcmV0dXJuIFwianN4RW1wdHlUZXh0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuanN4VGFnU3RhcnQ6XG4gICAgICByZXR1cm4gXCJqc3hUYWdTdGFydFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLmpzeFRhZ0VuZDpcbiAgICAgIHJldHVybiBcImpzeFRhZ0VuZFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLnR5cGVQYXJhbWV0ZXJTdGFydDpcbiAgICAgIHJldHVybiBcInR5cGVQYXJhbWV0ZXJTdGFydFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLm5vbk51bGxBc3NlcnRpb246XG4gICAgICByZXR1cm4gXCJub25OdWxsQXNzZXJ0aW9uXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2JyZWFrOlxuICAgICAgcmV0dXJuIFwiYnJlYWtcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fY2FzZTpcbiAgICAgIHJldHVybiBcImNhc2VcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fY2F0Y2g6XG4gICAgICByZXR1cm4gXCJjYXRjaFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9jb250aW51ZTpcbiAgICAgIHJldHVybiBcImNvbnRpbnVlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2RlYnVnZ2VyOlxuICAgICAgcmV0dXJuIFwiZGVidWdnZXJcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZGVmYXVsdDpcbiAgICAgIHJldHVybiBcImRlZmF1bHRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZG86XG4gICAgICByZXR1cm4gXCJkb1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9lbHNlOlxuICAgICAgcmV0dXJuIFwiZWxzZVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9maW5hbGx5OlxuICAgICAgcmV0dXJuIFwiZmluYWxseVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9mb3I6XG4gICAgICByZXR1cm4gXCJmb3JcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZnVuY3Rpb246XG4gICAgICByZXR1cm4gXCJmdW5jdGlvblwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9pZjpcbiAgICAgIHJldHVybiBcImlmXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3JldHVybjpcbiAgICAgIHJldHVybiBcInJldHVyblwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9zd2l0Y2g6XG4gICAgICByZXR1cm4gXCJzd2l0Y2hcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fdGhyb3c6XG4gICAgICByZXR1cm4gXCJ0aHJvd1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl90cnk6XG4gICAgICByZXR1cm4gXCJ0cnlcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fdmFyOlxuICAgICAgcmV0dXJuIFwidmFyXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2xldDpcbiAgICAgIHJldHVybiBcImxldFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9jb25zdDpcbiAgICAgIHJldHVybiBcImNvbnN0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3doaWxlOlxuICAgICAgcmV0dXJuIFwid2hpbGVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fd2l0aDpcbiAgICAgIHJldHVybiBcIndpdGhcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fbmV3OlxuICAgICAgcmV0dXJuIFwibmV3XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3RoaXM6XG4gICAgICByZXR1cm4gXCJ0aGlzXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3N1cGVyOlxuICAgICAgcmV0dXJuIFwic3VwZXJcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fY2xhc3M6XG4gICAgICByZXR1cm4gXCJjbGFzc1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9leHRlbmRzOlxuICAgICAgcmV0dXJuIFwiZXh0ZW5kc1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9leHBvcnQ6XG4gICAgICByZXR1cm4gXCJleHBvcnRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5faW1wb3J0OlxuICAgICAgcmV0dXJuIFwiaW1wb3J0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3lpZWxkOlxuICAgICAgcmV0dXJuIFwieWllbGRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fbnVsbDpcbiAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fdHJ1ZTpcbiAgICAgIHJldHVybiBcInRydWVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZmFsc2U6XG4gICAgICByZXR1cm4gXCJmYWxzZVwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9pbjpcbiAgICAgIHJldHVybiBcImluXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2luc3RhbmNlb2Y6XG4gICAgICByZXR1cm4gXCJpbnN0YW5jZW9mXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3R5cGVvZjpcbiAgICAgIHJldHVybiBcInR5cGVvZlwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl92b2lkOlxuICAgICAgcmV0dXJuIFwidm9pZFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9kZWxldGU6XG4gICAgICByZXR1cm4gXCJkZWxldGVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fYXN5bmM6XG4gICAgICByZXR1cm4gXCJhc3luY1wiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9nZXQ6XG4gICAgICByZXR1cm4gXCJnZXRcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fc2V0OlxuICAgICAgcmV0dXJuIFwic2V0XCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2RlY2xhcmU6XG4gICAgICByZXR1cm4gXCJkZWNsYXJlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3JlYWRvbmx5OlxuICAgICAgcmV0dXJuIFwicmVhZG9ubHlcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fYWJzdHJhY3Q6XG4gICAgICByZXR1cm4gXCJhYnN0cmFjdFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9zdGF0aWM6XG4gICAgICByZXR1cm4gXCJzdGF0aWNcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fcHVibGljOlxuICAgICAgcmV0dXJuIFwicHVibGljXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3ByaXZhdGU6XG4gICAgICByZXR1cm4gXCJwcml2YXRlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX3Byb3RlY3RlZDpcbiAgICAgIHJldHVybiBcInByb3RlY3RlZFwiO1xuICAgIGNhc2UgVG9rZW5UeXBlLl9vdmVycmlkZTpcbiAgICAgIHJldHVybiBcIm92ZXJyaWRlXCI7XG4gICAgY2FzZSBUb2tlblR5cGUuX2FzOlxuICAgICAgcmV0dXJuIFwiYXNcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fZW51bTpcbiAgICAgIHJldHVybiBcImVudW1cIjtcbiAgICBjYXNlIFRva2VuVHlwZS5fdHlwZTpcbiAgICAgIHJldHVybiBcInR5cGVcIjtcbiAgICBjYXNlIFRva2VuVHlwZS5faW1wbGVtZW50czpcbiAgICAgIHJldHVybiBcImltcGxlbWVudHNcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFwiXCI7XG4gIH1cbn1cbiIsICJcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuL2tleXdvcmRzXCI7XG5pbXBvcnQgeyBUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBTY29wZSB7XG4gIFxuICBcbiAgXG5cbiAgY29uc3RydWN0b3Ioc3RhcnRUb2tlbkluZGV4LCBlbmRUb2tlbkluZGV4LCBpc0Z1bmN0aW9uU2NvcGUpIHtcbiAgICB0aGlzLnN0YXJ0VG9rZW5JbmRleCA9IHN0YXJ0VG9rZW5JbmRleDtcbiAgICB0aGlzLmVuZFRva2VuSW5kZXggPSBlbmRUb2tlbkluZGV4O1xuICAgIHRoaXMuaXNGdW5jdGlvblNjb3BlID0gaXNGdW5jdGlvblNjb3BlO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdGF0ZVNuYXBzaG90IHtcbiAgY29uc3RydWN0b3IoXG4gICAgIHBvdGVudGlhbEFycm93QXQsXG4gICAgIG5vQW5vbkZ1bmN0aW9uVHlwZSxcbiAgICAgaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0LFxuICAgICB0b2tlbnNMZW5ndGgsXG4gICAgIHNjb3Blc0xlbmd0aCxcbiAgICAgcG9zLFxuICAgICB0eXBlLFxuICAgICBjb250ZXh0dWFsS2V5d29yZCxcbiAgICAgc3RhcnQsXG4gICAgIGVuZCxcbiAgICAgaXNUeXBlLFxuICAgICBzY29wZURlcHRoLFxuICAgICBlcnJvcixcbiAgKSB7O3RoaXMucG90ZW50aWFsQXJyb3dBdCA9IHBvdGVudGlhbEFycm93QXQ7dGhpcy5ub0Fub25GdW5jdGlvblR5cGUgPSBub0Fub25GdW5jdGlvblR5cGU7dGhpcy5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBpbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7dGhpcy50b2tlbnNMZW5ndGggPSB0b2tlbnNMZW5ndGg7dGhpcy5zY29wZXNMZW5ndGggPSBzY29wZXNMZW5ndGg7dGhpcy5wb3MgPSBwb3M7dGhpcy50eXBlID0gdHlwZTt0aGlzLmNvbnRleHR1YWxLZXl3b3JkID0gY29udGV4dHVhbEtleXdvcmQ7dGhpcy5zdGFydCA9IHN0YXJ0O3RoaXMuZW5kID0gZW5kO3RoaXMuaXNUeXBlID0gaXNUeXBlO3RoaXMuc2NvcGVEZXB0aCA9IHNjb3BlRGVwdGg7dGhpcy5lcnJvciA9IGVycm9yO31cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGUge2NvbnN0cnVjdG9yKCkgeyBTdGF0ZS5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7U3RhdGUucHJvdG90eXBlLl9faW5pdDIuY2FsbCh0aGlzKTtTdGF0ZS5wcm90b3R5cGUuX19pbml0My5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQ0LmNhbGwodGhpcyk7U3RhdGUucHJvdG90eXBlLl9faW5pdDUuY2FsbCh0aGlzKTtTdGF0ZS5wcm90b3R5cGUuX19pbml0Ni5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQ3LmNhbGwodGhpcyk7U3RhdGUucHJvdG90eXBlLl9faW5pdDguY2FsbCh0aGlzKTtTdGF0ZS5wcm90b3R5cGUuX19pbml0OS5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQxMC5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQxMS5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQxMi5jYWxsKHRoaXMpO1N0YXRlLnByb3RvdHlwZS5fX2luaXQxMy5jYWxsKHRoaXMpOyB9XG4gIC8vIFVzZWQgdG8gc2lnbmlmeSB0aGUgc3RhcnQgb2YgYSBwb3RlbnRpYWwgYXJyb3cgZnVuY3Rpb25cbiAgX19pbml0KCkge3RoaXMucG90ZW50aWFsQXJyb3dBdCA9IC0xfVxuXG4gIC8vIFVzZWQgYnkgRmxvdyB0byBoYW5kbGUgYW4gZWRnZSBjYXNlIGludm9sdmluZyBmdW5jdGlvbiB0eXBlIHBhcnNpbmcuXG4gIF9faW5pdDIoKSB7dGhpcy5ub0Fub25GdW5jdGlvblR5cGUgPSBmYWxzZX1cblxuICAvLyBVc2VkIGJ5IFR5cGVTY3JpcHQgdG8gaGFuZGxlIGFtYmlndWl0aWVzIHdoZW4gcGFyc2luZyBjb25kaXRpb25hbCB0eXBlcy5cbiAgX19pbml0MygpIHt0aGlzLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IGZhbHNlfVxuXG4gIC8vIFRva2VuIHN0b3JlLlxuICBfX2luaXQ0KCkge3RoaXMudG9rZW5zID0gW119XG5cbiAgLy8gQXJyYXkgb2YgYWxsIG9ic2VydmVkIHNjb3Blcywgb3JkZXJlZCBieSB0aGVpciBlbmRpbmcgcG9zaXRpb24uXG4gIF9faW5pdDUoKSB7dGhpcy5zY29wZXMgPSBbXX1cblxuICAvLyBUaGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgdG9rZW5pemVyIGluIHRoZSBpbnB1dC5cbiAgX19pbml0NigpIHt0aGlzLnBvcyA9IDB9XG5cbiAgLy8gSW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgdG9rZW4uXG4gIF9faW5pdDcoKSB7dGhpcy50eXBlID0gdHQuZW9mfVxuICBfX2luaXQ4KCkge3RoaXMuY29udGV4dHVhbEtleXdvcmQgPSBDb250ZXh0dWFsS2V5d29yZC5OT05FfVxuICBfX2luaXQ5KCkge3RoaXMuc3RhcnQgPSAwfVxuICBfX2luaXQxMCgpIHt0aGlzLmVuZCA9IDB9XG5cbiAgX19pbml0MTEoKSB7dGhpcy5pc1R5cGUgPSBmYWxzZX1cbiAgX19pbml0MTIoKSB7dGhpcy5zY29wZURlcHRoID0gMH1cblxuICAvKipcbiAgICogSWYgdGhlIHBhcnNlciBpcyBpbiBhbiBlcnJvciBzdGF0ZSwgdGhlbiB0aGUgdG9rZW4gaXMgYWx3YXlzIHR0LmVvZiBhbmQgYWxsIGZ1bmN0aW9ucyBjYW5cbiAgICoga2VlcCBleGVjdXRpbmcgYnV0IHNob3VsZCBiZSB3cml0dGVuIHNvIHRoZXkgZG9uJ3QgZ2V0IGludG8gYW4gaW5maW5pdGUgbG9vcCBpbiB0aGlzIHNpdHVhdGlvbi5cbiAgICpcbiAgICogVGhpcyBhcHByb2FjaCwgY29tYmluZWQgd2l0aCB0aGUgYWJpbGl0eSB0byBzbmFwc2hvdCBhbmQgcmVzdG9yZSBzdGF0ZSwgYWxsb3dzIHVzIHRvIGltcGxlbWVudFxuICAgKiBiYWNrdHJhY2tpbmcgd2l0aG91dCBleGNlcHRpb25zIGFuZCB3aXRob3V0IG5lZWRpbmcgdG8gZXhwbGljaXRseSBwcm9wYWdhdGUgZXJyb3Igc3RhdGVzXG4gICAqIGV2ZXJ5d2hlcmUuXG4gICAqL1xuICBfX2luaXQxMygpIHt0aGlzLmVycm9yID0gbnVsbH1cblxuICBzbmFwc2hvdCgpIHtcbiAgICByZXR1cm4gbmV3IFN0YXRlU25hcHNob3QoXG4gICAgICB0aGlzLnBvdGVudGlhbEFycm93QXQsXG4gICAgICB0aGlzLm5vQW5vbkZ1bmN0aW9uVHlwZSxcbiAgICAgIHRoaXMuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0LFxuICAgICAgdGhpcy50b2tlbnMubGVuZ3RoLFxuICAgICAgdGhpcy5zY29wZXMubGVuZ3RoLFxuICAgICAgdGhpcy5wb3MsXG4gICAgICB0aGlzLnR5cGUsXG4gICAgICB0aGlzLmNvbnRleHR1YWxLZXl3b3JkLFxuICAgICAgdGhpcy5zdGFydCxcbiAgICAgIHRoaXMuZW5kLFxuICAgICAgdGhpcy5pc1R5cGUsXG4gICAgICB0aGlzLnNjb3BlRGVwdGgsXG4gICAgICB0aGlzLmVycm9yLFxuICAgICk7XG4gIH1cblxuICByZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KSB7XG4gICAgdGhpcy5wb3RlbnRpYWxBcnJvd0F0ID0gc25hcHNob3QucG90ZW50aWFsQXJyb3dBdDtcbiAgICB0aGlzLm5vQW5vbkZ1bmN0aW9uVHlwZSA9IHNuYXBzaG90Lm5vQW5vbkZ1bmN0aW9uVHlwZTtcbiAgICB0aGlzLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IHNuYXBzaG90LmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dDtcbiAgICB0aGlzLnRva2Vucy5sZW5ndGggPSBzbmFwc2hvdC50b2tlbnNMZW5ndGg7XG4gICAgdGhpcy5zY29wZXMubGVuZ3RoID0gc25hcHNob3Quc2NvcGVzTGVuZ3RoO1xuICAgIHRoaXMucG9zID0gc25hcHNob3QucG9zO1xuICAgIHRoaXMudHlwZSA9IHNuYXBzaG90LnR5cGU7XG4gICAgdGhpcy5jb250ZXh0dWFsS2V5d29yZCA9IHNuYXBzaG90LmNvbnRleHR1YWxLZXl3b3JkO1xuICAgIHRoaXMuc3RhcnQgPSBzbmFwc2hvdC5zdGFydDtcbiAgICB0aGlzLmVuZCA9IHNuYXBzaG90LmVuZDtcbiAgICB0aGlzLmlzVHlwZSA9IHNuYXBzaG90LmlzVHlwZTtcbiAgICB0aGlzLnNjb3BlRGVwdGggPSBzbmFwc2hvdC5zY29wZURlcHRoO1xuICAgIHRoaXMuZXJyb3IgPSBzbmFwc2hvdC5lcnJvcjtcbiAgfVxufVxuIiwgImV4cG9ydCB2YXIgY2hhckNvZGVzOyAoZnVuY3Rpb24gKGNoYXJDb2Rlcykge1xuICBjb25zdCBiYWNrU3BhY2UgPSA4OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiYmFja1NwYWNlXCJdID0gYmFja1NwYWNlXSA9IFwiYmFja1NwYWNlXCI7XG4gIGNvbnN0IGxpbmVGZWVkID0gMTA7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsaW5lRmVlZFwiXSA9IGxpbmVGZWVkXSA9IFwibGluZUZlZWRcIjsgLy8gICdcXG4nXG4gIGNvbnN0IHRhYiA9IDk7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJ0YWJcIl0gPSB0YWJdID0gXCJ0YWJcIjsgLy8gICdcXHQnXG4gIGNvbnN0IGNhcnJpYWdlUmV0dXJuID0gMTM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJjYXJyaWFnZVJldHVyblwiXSA9IGNhcnJpYWdlUmV0dXJuXSA9IFwiY2FycmlhZ2VSZXR1cm5cIjsgLy8gICdcXHInXG4gIGNvbnN0IHNoaWZ0T3V0ID0gMTQ7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJzaGlmdE91dFwiXSA9IHNoaWZ0T3V0XSA9IFwic2hpZnRPdXRcIjtcbiAgY29uc3Qgc3BhY2UgPSAzMjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInNwYWNlXCJdID0gc3BhY2VdID0gXCJzcGFjZVwiO1xuICBjb25zdCBleGNsYW1hdGlvbk1hcmsgPSAzMzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImV4Y2xhbWF0aW9uTWFya1wiXSA9IGV4Y2xhbWF0aW9uTWFya10gPSBcImV4Y2xhbWF0aW9uTWFya1wiOyAvLyAgJyEnXG4gIGNvbnN0IHF1b3RhdGlvbk1hcmsgPSAzNDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInF1b3RhdGlvbk1hcmtcIl0gPSBxdW90YXRpb25NYXJrXSA9IFwicXVvdGF0aW9uTWFya1wiOyAvLyAgJ1wiJ1xuICBjb25zdCBudW1iZXJTaWduID0gMzU7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJudW1iZXJTaWduXCJdID0gbnVtYmVyU2lnbl0gPSBcIm51bWJlclNpZ25cIjsgLy8gICcjJ1xuICBjb25zdCBkb2xsYXJTaWduID0gMzY7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJkb2xsYXJTaWduXCJdID0gZG9sbGFyU2lnbl0gPSBcImRvbGxhclNpZ25cIjsgLy8gICckJ1xuICBjb25zdCBwZXJjZW50U2lnbiA9IDM3OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wicGVyY2VudFNpZ25cIl0gPSBwZXJjZW50U2lnbl0gPSBcInBlcmNlbnRTaWduXCI7IC8vICAnJSdcbiAgY29uc3QgYW1wZXJzYW5kID0gMzg7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJhbXBlcnNhbmRcIl0gPSBhbXBlcnNhbmRdID0gXCJhbXBlcnNhbmRcIjsgLy8gICcmJ1xuICBjb25zdCBhcG9zdHJvcGhlID0gMzk7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJhcG9zdHJvcGhlXCJdID0gYXBvc3Ryb3BoZV0gPSBcImFwb3N0cm9waGVcIjsgLy8gICcnJ1xuICBjb25zdCBsZWZ0UGFyZW50aGVzaXMgPSA0MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxlZnRQYXJlbnRoZXNpc1wiXSA9IGxlZnRQYXJlbnRoZXNpc10gPSBcImxlZnRQYXJlbnRoZXNpc1wiOyAvLyAgJygnXG4gIGNvbnN0IHJpZ2h0UGFyZW50aGVzaXMgPSA0MTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInJpZ2h0UGFyZW50aGVzaXNcIl0gPSByaWdodFBhcmVudGhlc2lzXSA9IFwicmlnaHRQYXJlbnRoZXNpc1wiOyAvLyAgJyknXG4gIGNvbnN0IGFzdGVyaXNrID0gNDI7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJhc3Rlcmlza1wiXSA9IGFzdGVyaXNrXSA9IFwiYXN0ZXJpc2tcIjsgLy8gICcqJ1xuICBjb25zdCBwbHVzU2lnbiA9IDQzOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wicGx1c1NpZ25cIl0gPSBwbHVzU2lnbl0gPSBcInBsdXNTaWduXCI7IC8vICAnKydcbiAgY29uc3QgY29tbWEgPSA0NDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImNvbW1hXCJdID0gY29tbWFdID0gXCJjb21tYVwiOyAvLyAgJywnXG4gIGNvbnN0IGRhc2ggPSA0NTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImRhc2hcIl0gPSBkYXNoXSA9IFwiZGFzaFwiOyAvLyAgJy0nXG4gIGNvbnN0IGRvdCA9IDQ2OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZG90XCJdID0gZG90XSA9IFwiZG90XCI7IC8vICAnLidcbiAgY29uc3Qgc2xhc2ggPSA0NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInNsYXNoXCJdID0gc2xhc2hdID0gXCJzbGFzaFwiOyAvLyAgJy8nXG4gIGNvbnN0IGRpZ2l0MCA9IDQ4OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZGlnaXQwXCJdID0gZGlnaXQwXSA9IFwiZGlnaXQwXCI7IC8vICAnMCdcbiAgY29uc3QgZGlnaXQxID0gNDk7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJkaWdpdDFcIl0gPSBkaWdpdDFdID0gXCJkaWdpdDFcIjsgLy8gICcxJ1xuICBjb25zdCBkaWdpdDIgPSA1MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImRpZ2l0MlwiXSA9IGRpZ2l0Ml0gPSBcImRpZ2l0MlwiOyAvLyAgJzInXG4gIGNvbnN0IGRpZ2l0MyA9IDUxOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZGlnaXQzXCJdID0gZGlnaXQzXSA9IFwiZGlnaXQzXCI7IC8vICAnMydcbiAgY29uc3QgZGlnaXQ0ID0gNTI7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJkaWdpdDRcIl0gPSBkaWdpdDRdID0gXCJkaWdpdDRcIjsgLy8gICc0J1xuICBjb25zdCBkaWdpdDUgPSA1MzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImRpZ2l0NVwiXSA9IGRpZ2l0NV0gPSBcImRpZ2l0NVwiOyAvLyAgJzUnXG4gIGNvbnN0IGRpZ2l0NiA9IDU0OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZGlnaXQ2XCJdID0gZGlnaXQ2XSA9IFwiZGlnaXQ2XCI7IC8vICAnNidcbiAgY29uc3QgZGlnaXQ3ID0gNTU7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJkaWdpdDdcIl0gPSBkaWdpdDddID0gXCJkaWdpdDdcIjsgLy8gICc3J1xuICBjb25zdCBkaWdpdDggPSA1NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImRpZ2l0OFwiXSA9IGRpZ2l0OF0gPSBcImRpZ2l0OFwiOyAvLyAgJzgnXG4gIGNvbnN0IGRpZ2l0OSA9IDU3OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZGlnaXQ5XCJdID0gZGlnaXQ5XSA9IFwiZGlnaXQ5XCI7IC8vICAnOSdcbiAgY29uc3QgY29sb24gPSA1ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImNvbG9uXCJdID0gY29sb25dID0gXCJjb2xvblwiOyAvLyAgJzonXG4gIGNvbnN0IHNlbWljb2xvbiA9IDU5OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wic2VtaWNvbG9uXCJdID0gc2VtaWNvbG9uXSA9IFwic2VtaWNvbG9uXCI7IC8vICAnOydcbiAgY29uc3QgbGVzc1RoYW4gPSA2MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxlc3NUaGFuXCJdID0gbGVzc1RoYW5dID0gXCJsZXNzVGhhblwiOyAvLyAgJzwnXG4gIGNvbnN0IGVxdWFsc1RvID0gNjE7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJlcXVhbHNUb1wiXSA9IGVxdWFsc1RvXSA9IFwiZXF1YWxzVG9cIjsgLy8gICc9J1xuICBjb25zdCBncmVhdGVyVGhhbiA9IDYyOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiZ3JlYXRlclRoYW5cIl0gPSBncmVhdGVyVGhhbl0gPSBcImdyZWF0ZXJUaGFuXCI7IC8vICAnPidcbiAgY29uc3QgcXVlc3Rpb25NYXJrID0gNjM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJxdWVzdGlvbk1hcmtcIl0gPSBxdWVzdGlvbk1hcmtdID0gXCJxdWVzdGlvbk1hcmtcIjsgLy8gICc/J1xuICBjb25zdCBhdFNpZ24gPSA2NDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImF0U2lnblwiXSA9IGF0U2lnbl0gPSBcImF0U2lnblwiOyAvLyAgJ0AnXG4gIGNvbnN0IHVwcGVyY2FzZUEgPSA2NTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUFcIl0gPSB1cHBlcmNhc2VBXSA9IFwidXBwZXJjYXNlQVwiOyAvLyAgJ0EnXG4gIGNvbnN0IHVwcGVyY2FzZUIgPSA2NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUJcIl0gPSB1cHBlcmNhc2VCXSA9IFwidXBwZXJjYXNlQlwiOyAvLyAgJ0InXG4gIGNvbnN0IHVwcGVyY2FzZUMgPSA2NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUNcIl0gPSB1cHBlcmNhc2VDXSA9IFwidXBwZXJjYXNlQ1wiOyAvLyAgJ0MnXG4gIGNvbnN0IHVwcGVyY2FzZUQgPSA2ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZURcIl0gPSB1cHBlcmNhc2VEXSA9IFwidXBwZXJjYXNlRFwiOyAvLyAgJ0QnXG4gIGNvbnN0IHVwcGVyY2FzZUUgPSA2OTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUVcIl0gPSB1cHBlcmNhc2VFXSA9IFwidXBwZXJjYXNlRVwiOyAvLyAgJ0UnXG4gIGNvbnN0IHVwcGVyY2FzZUYgPSA3MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUZcIl0gPSB1cHBlcmNhc2VGXSA9IFwidXBwZXJjYXNlRlwiOyAvLyAgJ0YnXG4gIGNvbnN0IHVwcGVyY2FzZUcgPSA3MTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUdcIl0gPSB1cHBlcmNhc2VHXSA9IFwidXBwZXJjYXNlR1wiOyAvLyAgJ0cnXG4gIGNvbnN0IHVwcGVyY2FzZUggPSA3MjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUhcIl0gPSB1cHBlcmNhc2VIXSA9IFwidXBwZXJjYXNlSFwiOyAvLyAgJ0gnXG4gIGNvbnN0IHVwcGVyY2FzZUkgPSA3MzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUlcIl0gPSB1cHBlcmNhc2VJXSA9IFwidXBwZXJjYXNlSVwiOyAvLyAgJ0knXG4gIGNvbnN0IHVwcGVyY2FzZUogPSA3NDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUpcIl0gPSB1cHBlcmNhc2VKXSA9IFwidXBwZXJjYXNlSlwiOyAvLyAgJ0onXG4gIGNvbnN0IHVwcGVyY2FzZUsgPSA3NTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUtcIl0gPSB1cHBlcmNhc2VLXSA9IFwidXBwZXJjYXNlS1wiOyAvLyAgJ0snXG4gIGNvbnN0IHVwcGVyY2FzZUwgPSA3NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZUxcIl0gPSB1cHBlcmNhc2VMXSA9IFwidXBwZXJjYXNlTFwiOyAvLyAgJ0wnXG4gIGNvbnN0IHVwcGVyY2FzZU0gPSA3NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZU1cIl0gPSB1cHBlcmNhc2VNXSA9IFwidXBwZXJjYXNlTVwiOyAvLyAgJ00nXG4gIGNvbnN0IHVwcGVyY2FzZU4gPSA3ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZU5cIl0gPSB1cHBlcmNhc2VOXSA9IFwidXBwZXJjYXNlTlwiOyAvLyAgJ04nXG4gIGNvbnN0IHVwcGVyY2FzZU8gPSA3OTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZU9cIl0gPSB1cHBlcmNhc2VPXSA9IFwidXBwZXJjYXNlT1wiOyAvLyAgJ08nXG4gIGNvbnN0IHVwcGVyY2FzZVAgPSA4MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVBcIl0gPSB1cHBlcmNhc2VQXSA9IFwidXBwZXJjYXNlUFwiOyAvLyAgJ1AnXG4gIGNvbnN0IHVwcGVyY2FzZVEgPSA4MTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVFcIl0gPSB1cHBlcmNhc2VRXSA9IFwidXBwZXJjYXNlUVwiOyAvLyAgJ1EnXG4gIGNvbnN0IHVwcGVyY2FzZVIgPSA4MjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVJcIl0gPSB1cHBlcmNhc2VSXSA9IFwidXBwZXJjYXNlUlwiOyAvLyAgJ1InXG4gIGNvbnN0IHVwcGVyY2FzZVMgPSA4MzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVNcIl0gPSB1cHBlcmNhc2VTXSA9IFwidXBwZXJjYXNlU1wiOyAvLyAgJ1MnXG4gIGNvbnN0IHVwcGVyY2FzZVQgPSA4NDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVRcIl0gPSB1cHBlcmNhc2VUXSA9IFwidXBwZXJjYXNlVFwiOyAvLyAgJ1QnXG4gIGNvbnN0IHVwcGVyY2FzZVUgPSA4NTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVVcIl0gPSB1cHBlcmNhc2VVXSA9IFwidXBwZXJjYXNlVVwiOyAvLyAgJ1UnXG4gIGNvbnN0IHVwcGVyY2FzZVYgPSA4NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVZcIl0gPSB1cHBlcmNhc2VWXSA9IFwidXBwZXJjYXNlVlwiOyAvLyAgJ1YnXG4gIGNvbnN0IHVwcGVyY2FzZVcgPSA4NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVdcIl0gPSB1cHBlcmNhc2VXXSA9IFwidXBwZXJjYXNlV1wiOyAvLyAgJ1cnXG4gIGNvbnN0IHVwcGVyY2FzZVggPSA4ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVhcIl0gPSB1cHBlcmNhc2VYXSA9IFwidXBwZXJjYXNlWFwiOyAvLyAgJ1gnXG4gIGNvbnN0IHVwcGVyY2FzZVkgPSA4OTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVlcIl0gPSB1cHBlcmNhc2VZXSA9IFwidXBwZXJjYXNlWVwiOyAvLyAgJ1knXG4gIGNvbnN0IHVwcGVyY2FzZVogPSA5MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInVwcGVyY2FzZVpcIl0gPSB1cHBlcmNhc2VaXSA9IFwidXBwZXJjYXNlWlwiOyAvLyAgJ1onXG4gIGNvbnN0IGxlZnRTcXVhcmVCcmFja2V0ID0gOTE7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsZWZ0U3F1YXJlQnJhY2tldFwiXSA9IGxlZnRTcXVhcmVCcmFja2V0XSA9IFwibGVmdFNxdWFyZUJyYWNrZXRcIjsgLy8gICdbJ1xuICBjb25zdCBiYWNrc2xhc2ggPSA5MjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImJhY2tzbGFzaFwiXSA9IGJhY2tzbGFzaF0gPSBcImJhY2tzbGFzaFwiOyAvLyAgJ1xcICAgICdcbiAgY29uc3QgcmlnaHRTcXVhcmVCcmFja2V0ID0gOTM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJyaWdodFNxdWFyZUJyYWNrZXRcIl0gPSByaWdodFNxdWFyZUJyYWNrZXRdID0gXCJyaWdodFNxdWFyZUJyYWNrZXRcIjsgLy8gICddJ1xuICBjb25zdCBjYXJldCA9IDk0OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wiY2FyZXRcIl0gPSBjYXJldF0gPSBcImNhcmV0XCI7IC8vICAnXidcbiAgY29uc3QgdW5kZXJzY29yZSA9IDk1OyBjaGFyQ29kZXNbY2hhckNvZGVzW1widW5kZXJzY29yZVwiXSA9IHVuZGVyc2NvcmVdID0gXCJ1bmRlcnNjb3JlXCI7IC8vICAnXydcbiAgY29uc3QgZ3JhdmVBY2NlbnQgPSA5NjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImdyYXZlQWNjZW50XCJdID0gZ3JhdmVBY2NlbnRdID0gXCJncmF2ZUFjY2VudFwiOyAvLyAgJ2AnXG4gIGNvbnN0IGxvd2VyY2FzZUEgPSA5NzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUFcIl0gPSBsb3dlcmNhc2VBXSA9IFwibG93ZXJjYXNlQVwiOyAvLyAgJ2EnXG4gIGNvbnN0IGxvd2VyY2FzZUIgPSA5ODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUJcIl0gPSBsb3dlcmNhc2VCXSA9IFwibG93ZXJjYXNlQlwiOyAvLyAgJ2InXG4gIGNvbnN0IGxvd2VyY2FzZUMgPSA5OTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUNcIl0gPSBsb3dlcmNhc2VDXSA9IFwibG93ZXJjYXNlQ1wiOyAvLyAgJ2MnXG4gIGNvbnN0IGxvd2VyY2FzZUQgPSAxMDA7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VEXCJdID0gbG93ZXJjYXNlRF0gPSBcImxvd2VyY2FzZURcIjsgLy8gICdkJ1xuICBjb25zdCBsb3dlcmNhc2VFID0gMTAxOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlRVwiXSA9IGxvd2VyY2FzZUVdID0gXCJsb3dlcmNhc2VFXCI7IC8vICAnZSdcbiAgY29uc3QgbG93ZXJjYXNlRiA9IDEwMjsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUZcIl0gPSBsb3dlcmNhc2VGXSA9IFwibG93ZXJjYXNlRlwiOyAvLyAgJ2YnXG4gIGNvbnN0IGxvd2VyY2FzZUcgPSAxMDM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VHXCJdID0gbG93ZXJjYXNlR10gPSBcImxvd2VyY2FzZUdcIjsgLy8gICdnJ1xuICBjb25zdCBsb3dlcmNhc2VIID0gMTA0OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlSFwiXSA9IGxvd2VyY2FzZUhdID0gXCJsb3dlcmNhc2VIXCI7IC8vICAnaCdcbiAgY29uc3QgbG93ZXJjYXNlSSA9IDEwNTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUlcIl0gPSBsb3dlcmNhc2VJXSA9IFwibG93ZXJjYXNlSVwiOyAvLyAgJ2knXG4gIGNvbnN0IGxvd2VyY2FzZUogPSAxMDY7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VKXCJdID0gbG93ZXJjYXNlSl0gPSBcImxvd2VyY2FzZUpcIjsgLy8gICdqJ1xuICBjb25zdCBsb3dlcmNhc2VLID0gMTA3OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlS1wiXSA9IGxvd2VyY2FzZUtdID0gXCJsb3dlcmNhc2VLXCI7IC8vICAnaydcbiAgY29uc3QgbG93ZXJjYXNlTCA9IDEwODsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZUxcIl0gPSBsb3dlcmNhc2VMXSA9IFwibG93ZXJjYXNlTFwiOyAvLyAgJ2wnXG4gIGNvbnN0IGxvd2VyY2FzZU0gPSAxMDk7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VNXCJdID0gbG93ZXJjYXNlTV0gPSBcImxvd2VyY2FzZU1cIjsgLy8gICdtJ1xuICBjb25zdCBsb3dlcmNhc2VOID0gMTEwOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlTlwiXSA9IGxvd2VyY2FzZU5dID0gXCJsb3dlcmNhc2VOXCI7IC8vICAnbidcbiAgY29uc3QgbG93ZXJjYXNlTyA9IDExMTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZU9cIl0gPSBsb3dlcmNhc2VPXSA9IFwibG93ZXJjYXNlT1wiOyAvLyAgJ28nXG4gIGNvbnN0IGxvd2VyY2FzZVAgPSAxMTI7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VQXCJdID0gbG93ZXJjYXNlUF0gPSBcImxvd2VyY2FzZVBcIjsgLy8gICdwJ1xuICBjb25zdCBsb3dlcmNhc2VRID0gMTEzOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlUVwiXSA9IGxvd2VyY2FzZVFdID0gXCJsb3dlcmNhc2VRXCI7IC8vICAncSdcbiAgY29uc3QgbG93ZXJjYXNlUiA9IDExNDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZVJcIl0gPSBsb3dlcmNhc2VSXSA9IFwibG93ZXJjYXNlUlwiOyAvLyAgJ3InXG4gIGNvbnN0IGxvd2VyY2FzZVMgPSAxMTU7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VTXCJdID0gbG93ZXJjYXNlU10gPSBcImxvd2VyY2FzZVNcIjsgLy8gICdzJ1xuICBjb25zdCBsb3dlcmNhc2VUID0gMTE2OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlVFwiXSA9IGxvd2VyY2FzZVRdID0gXCJsb3dlcmNhc2VUXCI7IC8vICAndCdcbiAgY29uc3QgbG93ZXJjYXNlVSA9IDExNzsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZVVcIl0gPSBsb3dlcmNhc2VVXSA9IFwibG93ZXJjYXNlVVwiOyAvLyAgJ3UnXG4gIGNvbnN0IGxvd2VyY2FzZVYgPSAxMTg7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VWXCJdID0gbG93ZXJjYXNlVl0gPSBcImxvd2VyY2FzZVZcIjsgLy8gICd2J1xuICBjb25zdCBsb3dlcmNhc2VXID0gMTE5OyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlV1wiXSA9IGxvd2VyY2FzZVddID0gXCJsb3dlcmNhc2VXXCI7IC8vICAndydcbiAgY29uc3QgbG93ZXJjYXNlWCA9IDEyMDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcImxvd2VyY2FzZVhcIl0gPSBsb3dlcmNhc2VYXSA9IFwibG93ZXJjYXNlWFwiOyAvLyAgJ3gnXG4gIGNvbnN0IGxvd2VyY2FzZVkgPSAxMjE7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsb3dlcmNhc2VZXCJdID0gbG93ZXJjYXNlWV0gPSBcImxvd2VyY2FzZVlcIjsgLy8gICd5J1xuICBjb25zdCBsb3dlcmNhc2VaID0gMTIyOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibG93ZXJjYXNlWlwiXSA9IGxvd2VyY2FzZVpdID0gXCJsb3dlcmNhc2VaXCI7IC8vICAneidcbiAgY29uc3QgbGVmdEN1cmx5QnJhY2UgPSAxMjM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJsZWZ0Q3VybHlCcmFjZVwiXSA9IGxlZnRDdXJseUJyYWNlXSA9IFwibGVmdEN1cmx5QnJhY2VcIjsgLy8gICd7J1xuICBjb25zdCB2ZXJ0aWNhbEJhciA9IDEyNDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInZlcnRpY2FsQmFyXCJdID0gdmVydGljYWxCYXJdID0gXCJ2ZXJ0aWNhbEJhclwiOyAvLyAgJ3wnXG4gIGNvbnN0IHJpZ2h0Q3VybHlCcmFjZSA9IDEyNTsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcInJpZ2h0Q3VybHlCcmFjZVwiXSA9IHJpZ2h0Q3VybHlCcmFjZV0gPSBcInJpZ2h0Q3VybHlCcmFjZVwiOyAvLyAgJ30nXG4gIGNvbnN0IHRpbGRlID0gMTI2OyBjaGFyQ29kZXNbY2hhckNvZGVzW1widGlsZGVcIl0gPSB0aWxkZV0gPSBcInRpbGRlXCI7IC8vICAnfidcbiAgY29uc3Qgbm9uQnJlYWtpbmdTcGFjZSA9IDE2MDsgY2hhckNvZGVzW2NoYXJDb2Rlc1tcIm5vbkJyZWFraW5nU3BhY2VcIl0gPSBub25CcmVha2luZ1NwYWNlXSA9IFwibm9uQnJlYWtpbmdTcGFjZVwiO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taXJyZWd1bGFyLXdoaXRlc3BhY2VcbiAgY29uc3Qgb2doYW1TcGFjZU1hcmsgPSA1NzYwOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wib2doYW1TcGFjZU1hcmtcIl0gPSBvZ2hhbVNwYWNlTWFya10gPSBcIm9naGFtU3BhY2VNYXJrXCI7IC8vICdcdTE2ODAnXG4gIGNvbnN0IGxpbmVTZXBhcmF0b3IgPSA4MjMyOyBjaGFyQ29kZXNbY2hhckNvZGVzW1wibGluZVNlcGFyYXRvclwiXSA9IGxpbmVTZXBhcmF0b3JdID0gXCJsaW5lU2VwYXJhdG9yXCI7XG4gIGNvbnN0IHBhcmFncmFwaFNlcGFyYXRvciA9IDgyMzM7IGNoYXJDb2Rlc1tjaGFyQ29kZXNbXCJwYXJhZ3JhcGhTZXBhcmF0b3JcIl0gPSBwYXJhZ3JhcGhTZXBhcmF0b3JdID0gXCJwYXJhZ3JhcGhTZXBhcmF0b3JcIjtcbn0pKGNoYXJDb2RlcyB8fCAoY2hhckNvZGVzID0ge30pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlnaXQoY29kZSkge1xuICByZXR1cm4gKFxuICAgIChjb2RlID49IGNoYXJDb2Rlcy5kaWdpdDAgJiYgY29kZSA8PSBjaGFyQ29kZXMuZGlnaXQ5KSB8fFxuICAgIChjb2RlID49IGNoYXJDb2Rlcy5sb3dlcmNhc2VBICYmIGNvZGUgPD0gY2hhckNvZGVzLmxvd2VyY2FzZUYpIHx8XG4gICAgKGNvZGUgPj0gY2hhckNvZGVzLnVwcGVyY2FzZUEgJiYgY29kZSA8PSBjaGFyQ29kZXMudXBwZXJjYXNlRilcbiAgKTtcbn1cbiIsICJpbXBvcnQgU3RhdGUgZnJvbSBcIi4uL3Rva2VuaXplci9zdGF0ZVwiO1xuaW1wb3J0IHtjaGFyQ29kZXN9IGZyb20gXCIuLi91dGlsL2NoYXJjb2Rlc1wiO1xuXG5leHBvcnQgbGV0IGlzSlNYRW5hYmxlZDtcbmV4cG9ydCBsZXQgaXNUeXBlU2NyaXB0RW5hYmxlZDtcbmV4cG9ydCBsZXQgaXNGbG93RW5hYmxlZDtcbmV4cG9ydCBsZXQgc3RhdGU7XG5leHBvcnQgbGV0IGlucHV0O1xuZXhwb3J0IGxldCBuZXh0Q29udGV4dElkO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dENvbnRleHRJZCgpIHtcbiAgcmV0dXJuIG5leHRDb250ZXh0SWQrKztcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBhdWdtZW50RXJyb3IoZXJyb3IpIHtcbiAgaWYgKFwicG9zXCIgaW4gZXJyb3IpIHtcbiAgICBjb25zdCBsb2MgPSBsb2NhdGlvbkZvckluZGV4KGVycm9yLnBvcyk7XG4gICAgZXJyb3IubWVzc2FnZSArPSBgICgke2xvYy5saW5lfToke2xvYy5jb2x1bW59KWA7XG4gICAgZXJyb3IubG9jID0gbG9jO1xuICB9XG4gIHJldHVybiBlcnJvcjtcbn1cblxuZXhwb3J0IGNsYXNzIExvYyB7XG4gIFxuICBcbiAgY29uc3RydWN0b3IobGluZSwgY29sdW1uKSB7XG4gICAgdGhpcy5saW5lID0gbGluZTtcbiAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9jYXRpb25Gb3JJbmRleChwb3MpIHtcbiAgbGV0IGxpbmUgPSAxO1xuICBsZXQgY29sdW1uID0gMTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb3M7IGkrKykge1xuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KGkpID09PSBjaGFyQ29kZXMubGluZUZlZWQpIHtcbiAgICAgIGxpbmUrKztcbiAgICAgIGNvbHVtbiA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbHVtbisrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3IExvYyhsaW5lLCBjb2x1bW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFBhcnNlcihcbiAgaW5wdXRDb2RlLFxuICBpc0pTWEVuYWJsZWRBcmcsXG4gIGlzVHlwZVNjcmlwdEVuYWJsZWRBcmcsXG4gIGlzRmxvd0VuYWJsZWRBcmcsXG4pIHtcbiAgaW5wdXQgPSBpbnB1dENvZGU7XG4gIHN0YXRlID0gbmV3IFN0YXRlKCk7XG4gIG5leHRDb250ZXh0SWQgPSAxO1xuICBpc0pTWEVuYWJsZWQgPSBpc0pTWEVuYWJsZWRBcmc7XG4gIGlzVHlwZVNjcmlwdEVuYWJsZWQgPSBpc1R5cGVTY3JpcHRFbmFibGVkQXJnO1xuICBpc0Zsb3dFbmFibGVkID0gaXNGbG93RW5hYmxlZEFyZztcbn1cbiIsICJpbXBvcnQge2VhdCwgZmluaXNoVG9rZW4sIGxvb2thaGVhZFR5cGVBbmRLZXl3b3JkLCBtYXRjaCwgbmV4dFRva2VuU3RhcnR9IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXhcIjtcblxuaW1wb3J0IHtmb3JtYXRUb2tlblR5cGUsIFRva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3Rva2VuaXplci90eXBlc1wiO1xuaW1wb3J0IHtjaGFyQ29kZXN9IGZyb20gXCIuLi91dGlsL2NoYXJjb2Rlc1wiO1xuaW1wb3J0IHtpbnB1dCwgc3RhdGV9IGZyb20gXCIuL2Jhc2VcIjtcblxuLy8gIyMgUGFyc2VyIHV0aWxpdGllc1xuXG4vLyBUZXN0cyB3aGV0aGVyIHBhcnNlZCB0b2tlbiBpcyBhIGNvbnRleHR1YWwga2V5d29yZC5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbnRleHR1YWwoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgcmV0dXJuIHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkID09PSBjb250ZXh0dWFsS2V5d29yZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9va2FoZWFkQ29udGV4dHVhbChjb250ZXh0dWFsS2V5d29yZCkge1xuICBjb25zdCBsID0gbG9va2FoZWFkVHlwZUFuZEtleXdvcmQoKTtcbiAgcmV0dXJuIGwudHlwZSA9PT0gdHQubmFtZSAmJiBsLmNvbnRleHR1YWxLZXl3b3JkID09PSBjb250ZXh0dWFsS2V5d29yZDtcbn1cblxuLy8gQ29uc3VtZXMgY29udGV4dHVhbCBrZXl3b3JkIGlmIHBvc3NpYmxlLlxuZXhwb3J0IGZ1bmN0aW9uIGVhdENvbnRleHR1YWwoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgcmV0dXJuIHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkID09PSBjb250ZXh0dWFsS2V5d29yZCAmJiBlYXQodHQubmFtZSk7XG59XG5cbi8vIEFzc2VydHMgdGhhdCBmb2xsb3dpbmcgdG9rZW4gaXMgZ2l2ZW4gY29udGV4dHVhbCBrZXl3b3JkLlxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdENvbnRleHR1YWwoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgaWYgKCFlYXRDb250ZXh0dWFsKGNvbnRleHR1YWxLZXl3b3JkKSkge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxufVxuXG4vLyBUZXN0IHdoZXRoZXIgYSBzZW1pY29sb24gY2FuIGJlIGluc2VydGVkIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLlxuZXhwb3J0IGZ1bmN0aW9uIGNhbkluc2VydFNlbWljb2xvbigpIHtcbiAgcmV0dXJuIG1hdGNoKHR0LmVvZikgfHwgbWF0Y2godHQuYnJhY2VSKSB8fCBoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1ByZWNlZGluZ0xpbmVCcmVhaygpIHtcbiAgY29uc3QgcHJldlRva2VuID0gc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXTtcbiAgY29uc3QgbGFzdFRva0VuZCA9IHByZXZUb2tlbiA/IHByZXZUb2tlbi5lbmQgOiAwO1xuICBmb3IgKGxldCBpID0gbGFzdFRva0VuZDsgaSA8IHN0YXRlLnN0YXJ0OyBpKyspIHtcbiAgICBjb25zdCBjb2RlID0gaW5wdXQuY2hhckNvZGVBdChpKTtcbiAgICBpZiAoXG4gICAgICBjb2RlID09PSBjaGFyQ29kZXMubGluZUZlZWQgfHxcbiAgICAgIGNvZGUgPT09IGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybiB8fFxuICAgICAgY29kZSA9PT0gMHgyMDI4IHx8XG4gICAgICBjb2RlID09PSAweDIwMjlcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNGb2xsb3dpbmdMaW5lQnJlYWsoKSB7XG4gIGNvbnN0IG5leHRTdGFydCA9IG5leHRUb2tlblN0YXJ0KCk7XG4gIGZvciAobGV0IGkgPSBzdGF0ZS5lbmQ7IGkgPCBuZXh0U3RhcnQ7IGkrKykge1xuICAgIGNvbnN0IGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmIChcbiAgICAgIGNvZGUgPT09IGNoYXJDb2Rlcy5saW5lRmVlZCB8fFxuICAgICAgY29kZSA9PT0gY2hhckNvZGVzLmNhcnJpYWdlUmV0dXJuIHx8XG4gICAgICBjb2RlID09PSAweDIwMjggfHxcbiAgICAgIGNvZGUgPT09IDB4MjAyOVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGluZVRlcm1pbmF0b3IoKSB7XG4gIHJldHVybiBlYXQodHQuc2VtaSkgfHwgY2FuSW5zZXJ0U2VtaWNvbG9uKCk7XG59XG5cbi8vIENvbnN1bWUgYSBzZW1pY29sb24sIG9yLCBmYWlsaW5nIHRoYXQsIHNlZSBpZiB3ZSBhcmUgYWxsb3dlZCB0b1xuLy8gcHJldGVuZCB0aGF0IHRoZXJlIGlzIGEgc2VtaWNvbG9uIGF0IHRoaXMgcG9zaXRpb24uXG5leHBvcnQgZnVuY3Rpb24gc2VtaWNvbG9uKCkge1xuICBpZiAoIWlzTGluZVRlcm1pbmF0b3IoKSkge1xuICAgIHVuZXhwZWN0ZWQoJ1VuZXhwZWN0ZWQgdG9rZW4sIGV4cGVjdGVkIFwiO1wiJyk7XG4gIH1cbn1cblxuLy8gRXhwZWN0IGEgdG9rZW4gb2YgYSBnaXZlbiB0eXBlLiBJZiBmb3VuZCwgY29uc3VtZSBpdCwgb3RoZXJ3aXNlLFxuLy8gcmFpc2UgYW4gdW5leHBlY3RlZCB0b2tlbiBlcnJvciBhdCBnaXZlbiBwb3MuXG5leHBvcnQgZnVuY3Rpb24gZXhwZWN0KHR5cGUpIHtcbiAgY29uc3QgbWF0Y2hlZCA9IGVhdCh0eXBlKTtcbiAgaWYgKCFtYXRjaGVkKSB7XG4gICAgdW5leHBlY3RlZChgVW5leHBlY3RlZCB0b2tlbiwgZXhwZWN0ZWQgXCIke2Zvcm1hdFRva2VuVHlwZSh0eXBlKX1cImApO1xuICB9XG59XG5cbi8qKlxuICogVHJhbnNpdGlvbiB0aGUgcGFyc2VyIHRvIGFuIGVycm9yIHN0YXRlLiBBbGwgY29kZSBuZWVkcyB0byBiZSB3cml0dGVuIHRvIG5hdHVyYWxseSB1bndpbmQgaW4gdGhpc1xuICogc3RhdGUsIHdoaWNoIGFsbG93cyB1cyB0byBiYWNrdHJhY2sgd2l0aG91dCBleGNlcHRpb25zIGFuZCB3aXRob3V0IGVycm9yIHBsdW1iaW5nIGV2ZXJ5d2hlcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmV4cGVjdGVkKG1lc3NhZ2UgPSBcIlVuZXhwZWN0ZWQgdG9rZW5cIiwgcG9zID0gc3RhdGUuc3RhcnQpIHtcbiAgaWYgKHN0YXRlLmVycm9yKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGNvbnN0IGVyciA9IG5ldyBTeW50YXhFcnJvcihtZXNzYWdlKTtcbiAgZXJyLnBvcyA9IHBvcztcbiAgc3RhdGUuZXJyb3IgPSBlcnI7XG4gIHN0YXRlLnBvcyA9IGlucHV0Lmxlbmd0aDtcbiAgZmluaXNoVG9rZW4odHQuZW9mKTtcbn1cbiIsICJpbXBvcnQge2NoYXJDb2Rlc30gZnJvbSBcIi4vY2hhcmNvZGVzXCI7XG5cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXdoaXRlLXNwYWNlXG5leHBvcnQgY29uc3QgV0hJVEVTUEFDRV9DSEFSUyA9IFtcbiAgMHgwMDA5LFxuICAweDAwMGIsXG4gIDB4MDAwYyxcbiAgY2hhckNvZGVzLnNwYWNlLFxuICBjaGFyQ29kZXMubm9uQnJlYWtpbmdTcGFjZSxcbiAgY2hhckNvZGVzLm9naGFtU3BhY2VNYXJrLFxuICAweDIwMDAsIC8vIEVOIFFVQURcbiAgMHgyMDAxLCAvLyBFTSBRVUFEXG4gIDB4MjAwMiwgLy8gRU4gU1BBQ0VcbiAgMHgyMDAzLCAvLyBFTSBTUEFDRVxuICAweDIwMDQsIC8vIFRIUkVFLVBFUi1FTSBTUEFDRVxuICAweDIwMDUsIC8vIEZPVVItUEVSLUVNIFNQQUNFXG4gIDB4MjAwNiwgLy8gU0lYLVBFUi1FTSBTUEFDRVxuICAweDIwMDcsIC8vIEZJR1VSRSBTUEFDRVxuICAweDIwMDgsIC8vIFBVTkNUVUFUSU9OIFNQQUNFXG4gIDB4MjAwOSwgLy8gVEhJTiBTUEFDRVxuICAweDIwMGEsIC8vIEhBSVIgU1BBQ0VcbiAgMHgyMDJmLCAvLyBOQVJST1cgTk8tQlJFQUsgU1BBQ0VcbiAgMHgyMDVmLCAvLyBNRURJVU0gTUFUSEVNQVRJQ0FMIFNQQUNFXG4gIDB4MzAwMCwgLy8gSURFT0dSQVBISUMgU1BBQ0VcbiAgMHhmZWZmLCAvLyBaRVJPIFdJRFRIIE5PLUJSRUFLIFNQQUNFXG5dO1xuXG5leHBvcnQgY29uc3Qgc2tpcFdoaXRlU3BhY2UgPSAvKD86XFxzfFxcL1xcLy4qfFxcL1xcKlteXSo/XFwqXFwvKSovZztcblxuZXhwb3J0IGNvbnN0IElTX1dISVRFU1BBQ0UgPSBuZXcgVWludDhBcnJheSg2NTUzNik7XG5mb3IgKGNvbnN0IGNoYXIgb2YgV0hJVEVTUEFDRV9DSEFSUykge1xuICBJU19XSElURVNQQUNFW2NoYXJdID0gMTtcbn1cbiIsICJpbXBvcnQge2NoYXJDb2Rlc30gZnJvbSBcIi4vY2hhcmNvZGVzXCI7XG5pbXBvcnQge1dISVRFU1BBQ0VfQ0hBUlN9IGZyb20gXCIuL3doaXRlc3BhY2VcIjtcblxuZnVuY3Rpb24gY29tcHV0ZUlzSWRlbnRpZmllckNoYXIoY29kZSkge1xuICBpZiAoY29kZSA8IDQ4KSByZXR1cm4gY29kZSA9PT0gMzY7XG4gIGlmIChjb2RlIDwgNTgpIHJldHVybiB0cnVlO1xuICBpZiAoY29kZSA8IDY1KSByZXR1cm4gZmFsc2U7XG4gIGlmIChjb2RlIDwgOTEpIHJldHVybiB0cnVlO1xuICBpZiAoY29kZSA8IDk3KSByZXR1cm4gY29kZSA9PT0gOTU7XG4gIGlmIChjb2RlIDwgMTIzKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKGNvZGUgPCAxMjgpIHJldHVybiBmYWxzZTtcbiAgdGhyb3cgbmV3IEVycm9yKFwiU2hvdWxkIG5vdCBiZSBjYWxsZWQgd2l0aCBub24tQVNDSUkgY2hhciBjb2RlLlwiKTtcbn1cblxuZXhwb3J0IGNvbnN0IElTX0lERU5USUZJRVJfQ0hBUiA9IG5ldyBVaW50OEFycmF5KDY1NTM2KTtcbmZvciAobGV0IGkgPSAwOyBpIDwgMTI4OyBpKyspIHtcbiAgSVNfSURFTlRJRklFUl9DSEFSW2ldID0gY29tcHV0ZUlzSWRlbnRpZmllckNoYXIoaSkgPyAxIDogMDtcbn1cbmZvciAobGV0IGkgPSAxMjg7IGkgPCA2NTUzNjsgaSsrKSB7XG4gIElTX0lERU5USUZJRVJfQ0hBUltpXSA9IDE7XG59XG4vLyBBc2lkZSBmcm9tIHdoaXRlc3BhY2UgYW5kIG5ld2xpbmVzLCBhbGwgY2hhcmFjdGVycyBvdXRzaWRlIHRoZSBBU0NJSSBzcGFjZSBhcmUgZWl0aGVyXG4vLyBpZGVudGlmaWVyIGNoYXJhY3RlcnMgb3IgaW52YWxpZC4gU2luY2Ugd2UncmUgbm90IHBlcmZvcm1pbmcgY29kZSB2YWxpZGF0aW9uLCB3ZSBjYW4ganVzdFxuLy8gdHJlYXQgYWxsIGludmFsaWQgY2hhcmFjdGVycyBhcyBpZGVudGlmaWVyIGNoYXJhY3RlcnMuXG5mb3IgKGNvbnN0IHdoaXRlc3BhY2VDaGFyIG9mIFdISVRFU1BBQ0VfQ0hBUlMpIHtcbiAgSVNfSURFTlRJRklFUl9DSEFSW3doaXRlc3BhY2VDaGFyXSA9IDA7XG59XG5JU19JREVOVElGSUVSX0NIQVJbMHgyMDI4XSA9IDA7XG5JU19JREVOVElGSUVSX0NIQVJbMHgyMDI5XSA9IDA7XG5cbmV4cG9ydCBjb25zdCBJU19JREVOVElGSUVSX1NUQVJUID0gSVNfSURFTlRJRklFUl9DSEFSLnNsaWNlKCk7XG5mb3IgKGxldCBudW1DaGFyID0gY2hhckNvZGVzLmRpZ2l0MDsgbnVtQ2hhciA8PSBjaGFyQ29kZXMuZGlnaXQ5OyBudW1DaGFyKyspIHtcbiAgSVNfSURFTlRJRklFUl9TVEFSVFtudW1DaGFyXSA9IDA7XG59XG4iLCAiLy8gR2VuZXJhdGVkIGZpbGUsIGRvIG5vdCBlZGl0ISBSdW4gXCJ5YXJuIGdlbmVyYXRlXCIgdG8gcmUtZ2VuZXJhdGUgdGhpcyBmaWxlLlxuaW1wb3J0IHtDb250ZXh0dWFsS2V5d29yZH0gZnJvbSBcIi4va2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBSRUFEX1dPUkRfVFJFRSA9IG5ldyBJbnQzMkFycmF5KFtcbiAgLy8gXCJcIlxuICAtMSwgMjcsIDc4MywgOTE4LCAxNzU1LCAyMzc2LCAyODYyLCAzNDgzLCAtMSwgMzY5OSwgLTEsIDQ2MTcsIDQ3NTIsIDQ4MzMsIDUxMzAsIDU1MDgsIDU5NDAsIC0xLCA2NDgwLCA2OTM5LCA3NzQ5LCA4MTgxLCA4NDUxLCA4NjEzLCAtMSwgODgyOSwgLTEsXG4gIC8vIFwiYVwiXG4gIC0xLCAtMSwgNTQsIDI0MywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDMyLCAtMSwgLTEsIC0xLCA2NzUsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYWJcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFic1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTA4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFic3RcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxMzUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhYnN0clwiXG4gIC0xLCAxNjIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFic3RyYVwiXG4gIC0xLCAtMSwgLTEsIDE4OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFic3RyYWNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIxNiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhYnN0cmFjdFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdCA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYWNcIlxuICAtMSwgLTEsIC0xLCAyNzAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhY2NcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDI5NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhY2NlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMyNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYWNjZXNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzUxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhY2Nlc3NcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNzgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhY2Nlc3NvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDA1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYWNjZXNzb3JcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fYWNjZXNzb3IgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX2FzIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ1OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1OTQsIC0xLFxuICAvLyBcImFzc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDg2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzc2VcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhc3NlclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTQwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzc2VydFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9hc3NlcnQgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTY3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhc3NlcnRzXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX2Fzc2VydHMgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzeVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjIxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImFzeW5cIlxuICAtMSwgLTEsIC0xLCA2NDgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhc3luY1wiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9hc3luYyA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYXdcIlxuICAtMSwgNzAyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhd2FcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3MjksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJhd2FpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3NTYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiYXdhaXRcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fYXdhaXQgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImJcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MTAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJiclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgODM3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImJyZVwiXG4gIC0xLCA4NjQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImJyZWFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg5MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJicmVha1wiXG4gICh0dC5fYnJlYWsgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY1wiXG4gIC0xLCA5NDUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDExMDcsIC0xLCAtMSwgLTEsIDEyNDIsIC0xLCAtMSwgMTM1MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImNhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDk3MiwgMTAyNiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjYXNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDk5OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjYXNlXCJcbiAgKHR0Ll9jYXNlIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImNhdFwiXG4gIC0xLCAtMSwgLTEsIDEwNTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjYXRjXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxMDgwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImNhdGNoXCJcbiAgKHR0Ll9jYXRjaCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjaFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTEzNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjaGVcIlxuICAtMSwgLTEsIC0xLCAxMTYxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY2hlY1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTE4OCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjaGVja1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxMjE1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjaGVja3NcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fY2hlY2tzIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjbFwiXG4gIC0xLCAxMjY5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjbGFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTI5NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY2xhc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxMzIzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjbGFzc1wiXG4gICh0dC5fY2xhc3MgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDEzNzcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29uXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE0MDQsIDE2MjAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29uc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTQzMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdFwiXG4gICh0dC5fY29uc3QgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE0NTgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdHJcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxNDg1LCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29uc3RydVwiXG4gIC0xLCAtMSwgLTEsIDE1MTIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdHJ1Y1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTUzOSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdHJ1Y3RcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxNTY2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29uc3RydWN0b1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE1OTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb25zdHJ1Y3RvclwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9jb25zdHJ1Y3RvciA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29udFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE2NDcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb250aVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTY3NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb250aW5cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxNzAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiY29udGludVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTcyOCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJjb250aW51ZVwiXG4gICh0dC5fY29udGludWUgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTc4MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjM0OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlXCJcbiAgLTEsIC0xLCAxODA5LCAxOTcxLCAtMSwgLTEsIDIxMDYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjI0MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlYlwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE4MzYsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWJ1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE4NjMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlYnVnXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDE4OTAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlYnVnZ1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTkxNywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWJ1Z2dlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMTk0NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImRlYnVnZ2VyXCJcbiAgKHR0Ll9kZWJ1Z2dlciA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAxOTk4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVjbFwiXG4gIC0xLCAyMDI1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWNsYVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIwNTIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWNsYXJcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDIwNzksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVjbGFyZVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9kZWNsYXJlIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWZcIlxuICAtMSwgMjEzMywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVmYVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIxNjAsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWZhdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIxODcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWZhdWxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDIyMTQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVmYXVsdFwiXG4gICh0dC5fZGVmYXVsdCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDIyNjgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZGVsZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjI5NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWxldFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjMyMiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkZWxldGVcIlxuICAodHQuX2RlbGV0ZSA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJkb1wiXG4gICh0dC5fZG8gPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI0MDMsIC0xLCAyNDg0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNTY1LCAtMSwgLTEsXG4gIC8vIFwiZWxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjQzMCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZWxzXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNDU3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImVsc2VcIlxuICAodHQuX2Vsc2UgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZW5cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNTExLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZW51XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI1MzgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImVudW1cIlxuICBDb250ZXh0dWFsS2V5d29yZC5fZW51bSA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXhcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjU5MiwgLTEsIC0xLCAtMSwgMjcyNywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJleHBcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNjE5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXhwb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI2NDYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJleHBvclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjY3MywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJleHBvcnRcIlxuICAodHQuX2V4cG9ydCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI3MDAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImV4cG9ydHNcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fZXhwb3J0cyA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXh0XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAyNzU0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImV4dGVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI3ODEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXh0ZW5cIlxuICAtMSwgLTEsIC0xLCAtMSwgMjgwOCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZXh0ZW5kXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDI4MzUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImV4dGVuZHNcIlxuICAodHQuX2V4dGVuZHMgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZlwiXG4gIC0xLCAyODg5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjk5NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAzMTU5LCAtMSwgLTEsIDMyMTMsIC0xLCAtMSwgMzI5NCwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImZhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMjkxNiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImZhbFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyOTQzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmYWxzXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAyOTcwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImZhbHNlXCJcbiAgKHR0Ll9mYWxzZSA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzAyNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmaW5cIlxuICAtMSwgMzA1MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZmluYVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMwNzgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmaW5hbFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMxMDUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmaW5hbGxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzEzMiwgLTEsXG4gIC8vIFwiZmluYWxseVwiXG4gICh0dC5fZmluYWxseSA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMxODYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmb3JcIlxuICAodHQuX2ZvciA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDMyNDAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmcm9cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzI2NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZnJvbVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9mcm9tIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzMyMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdW5cIlxuICAtMSwgLTEsIC0xLCAzMzQ4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZnVuY1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzM3NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdW5jdFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM0MDIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdW5jdGlcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNDI5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZnVuY3Rpb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzQ1NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJmdW5jdGlvblwiXG4gICh0dC5fZnVuY3Rpb24gPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiZ1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzUxMCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzU2NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNTM3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdldFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9nZXQgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdsXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzU5MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdsb1wiXG4gIC0xLCAtMSwgMzYxOCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJnbG9iXCJcbiAgLTEsIDM2NDUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdsb2JhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzY3MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImdsb2JhbFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9nbG9iYWwgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImlcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNzI2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAzNzUzLCA0MDc3LCAtMSwgLTEsIC0xLCAtMSwgNDU5MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaWZcIlxuICAodHQuX2lmIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM3ODAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltcFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM4MDcsIC0xLCAtMSwgMzk5NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltcGxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDM4MzQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wbGVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgMzg2MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wbGVtXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAzODg4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltcGxlbWVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM5MTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wbGVtZW5cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM5NDIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wbGVtZW50XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDM5NjksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImltcGxlbWVudHNcIlxuICBDb250ZXh0dWFsS2V5d29yZC5faW1wbGVtZW50cyA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW1wb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQwMjMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbXBvclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDA1MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbXBvcnRcIlxuICAodHQuX2ltcG9ydCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpblwiXG4gICh0dC5faW4gPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQxMDQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQxODUsIDQ0MDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW5mXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0MTMxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluZmVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0MTU4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiaW5mZXJcIlxuICBDb250ZXh0dWFsS2V5d29yZC5faW5mZXIgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDIxMiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnN0XCJcbiAgLTEsIDQyMzksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc3RhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0MjY2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc3RhblwiXG4gIC0xLCAtMSwgLTEsIDQyOTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnN0YW5jXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0MzIwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc3RhbmNlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDM0NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImluc3RhbmNlb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQzNzQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnN0YW5jZW9mXCJcbiAgKHR0Ll9pbnN0YW5jZW9mIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDQyOCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnRlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDQ1NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludGVyXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDQ4MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludGVyZlwiXG4gIC0xLCA0NTA5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJpbnRlcmZhXCJcbiAgLTEsIC0xLCAtMSwgNDUzNiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludGVyZmFjXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0NTYzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImludGVyZmFjZVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImlzXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX2lzIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJrXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0NjQ0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImtlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ2NzEsIC0xLFxuICAvLyBcImtleVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ2OTgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJrZXlvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDcyNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImtleW9mXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX2tleW9mIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJsXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA0Nzc5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImxlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0ODA2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcImxldFwiXG4gICh0dC5fbGV0IDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIm1cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0ODYwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ5OTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDQ4ODcsIC0xLCAtMSxcbiAgLy8gXCJtaXhcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0OTE0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibWl4aVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNDk0MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtaXhpblwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA0OTY4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtaXhpbnNcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fbWl4aW5zIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtb1wiXG4gIC0xLCAtMSwgLTEsIC0xLCA1MDIyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtb2RcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MDQ5LCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibW9kdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDUwNzYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtb2R1bFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTEwMywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJtb2R1bGVcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuXCJcbiAgLTEsIDUxNTcsIC0xLCAtMSwgLTEsIDUzNzMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU0MjcsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MTg0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDUyMTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibmFtZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MjM4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1lc1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1MjY1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1lc3BcIlxuICAtMSwgNTI5MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibmFtZXNwYVwiXG4gIC0xLCAtMSwgLTEsIDUzMTksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1lc3BhY1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTM0NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuYW1lc3BhY2VcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fbmFtZXNwYWNlIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTQwMCwgLTEsIC0xLCAtMSxcbiAgLy8gXCJuZXdcIlxuICAodHQuX25ldyA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJudVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU0NTQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJudWxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1NDgxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwibnVsbFwiXG4gICh0dC5fbnVsbCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTUzNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTU2MiwgLTEsIC0xLCAtMSwgLTEsIDU2OTcsIDU3NTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIm9mXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX29mIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvcFwiXG4gIC0xLCA1NTg5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvcGFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU2MTYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwib3BhcVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU2NDMsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvcGFxdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTY3MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvcGFxdWVcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fb3BhcXVlIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTcyNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdXRcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fb3V0IDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdlwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTc3OCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdmVcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA1ODA1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwib3ZlclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU4MzIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdmVyclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU4NTksIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdmVycmlcIlxuICAtMSwgLTEsIC0xLCAtMSwgNTg4NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwib3ZlcnJpZFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTkxMywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJvdmVycmlkZVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9vdmVycmlkZSA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDU5NjcsIC0xLCAtMSwgNjM0NSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInByXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNTk5NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2MTI5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDYwMjEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInByaXZcIlxuICAtMSwgNjA0OCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJpdmFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDYwNzUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJpdmF0XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA2MTAyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInByaXZhdGVcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fcHJpdmF0ZSA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2MTU2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInByb3RcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIDYxODMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDYzMTgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90ZVwiXG4gIC0xLCAtMSwgLTEsIDYyMTAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90ZWNcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDYyMzcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHJvdGVjdFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjI2NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90ZWN0ZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCA2MjkxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90ZWN0ZWRcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fcHJvdGVjdGVkIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJwcm90b1wiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9wcm90byA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHVcIlxuICAtMSwgLTEsIDYzNzIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHViXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjM5OSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInB1YmxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2NDI2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHVibGlcIlxuICAtMSwgLTEsIC0xLCA2NDUzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicHVibGljXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX3B1YmxpYyA8PCAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwiclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjUwNywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJyZVwiXG4gIC0xLCA2NTM0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2Njk2LCAtMSwgLTEsIDY4MzEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicmVhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIDY1NjEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlYWRcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2NTg4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicmVhZG9cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDY2MTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwicmVhZG9uXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjY0MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlYWRvbmxcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjY2OSwgLTEsXG4gIC8vIFwicmVhZG9ubHlcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHkgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlcVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDY3MjMsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJyZXF1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjc1MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlcXVpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjc3NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJlcXVpclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjgwNCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJyZXF1aXJlXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX3JlcXVpcmUgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJldFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDY4NTgsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJyZXR1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNjg4NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJldHVyXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2OTEyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInJldHVyblwiXG4gICh0dC5fcmV0dXJuIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNcIlxuICAtMSwgNjk2NiwgLTEsIC0xLCAtMSwgNzE4MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3MjM2LCA3MzcxLCAtMSwgNzQ3OSwgLTEsIDc2MTQsIC0xLFxuICAvLyBcInNhXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA2OTkzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDcwMjAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzYXRpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDcwNDcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdGlzXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzA3NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdGlzZlwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDcxMDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzYXRpc2ZpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA3MTI4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdGlzZmllXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDcxNTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNhdGlzZmllc1wiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9zYXRpc2ZpZXMgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3MjA5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInNldFwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9zZXQgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN0XCJcbiAgLTEsIDcyNjMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN0YVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzI5MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzdGF0XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzMxNywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN0YXRpXCJcbiAgLTEsIC0xLCAtMSwgNzM0NCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN0YXRpY1wiXG4gIENvbnRleHR1YWxLZXl3b3JkLl9zdGF0aWMgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDczOTgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN1cFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzQyNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzdXBlXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzQ1MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInN1cGVyXCJcbiAgKHR0Ll9zdXBlciA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzd1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc1MDYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzd2lcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc1MzMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwic3dpdFwiXG4gIC0xLCAtMSwgLTEsIDc1NjAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzd2l0Y1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzU4NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzd2l0Y2hcIlxuICAodHQuX3N3aXRjaCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzeVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3NjQxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzeW1cIlxuICAtMSwgLTEsIDc2NjgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwic3ltYlwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc2OTUsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzeW1ib1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc3MjIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJzeW1ib2xcIlxuICBDb250ZXh0dWFsS2V5d29yZC5fc3ltYm9sIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3Nzc2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3OTM4LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MDQ2LCAtMSxcbiAgLy8gXCJ0aFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc4MDMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzg1NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInRoaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3ODMwLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0aGlzXCJcbiAgKHR0Ll90aGlzIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInRoclwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc4ODQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0aHJvXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA3OTExLCAtMSwgLTEsIC0xLFxuICAvLyBcInRocm93XCJcbiAgKHR0Ll90aHJvdyA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0clwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDc5NjUsIC0xLCAtMSwgLTEsIDgwMTksIC0xLFxuICAvLyBcInRydVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgNzk5MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0cnVlXCJcbiAgKHR0Ll90cnVlIDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInRyeVwiXG4gICh0dC5fdHJ5IDw8IDEpICsgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInR5XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDgwNzMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInR5cFwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgODEwMCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ0eXBlXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX3R5cGUgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MTI3LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidHlwZW9cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MTU0LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidHlwZW9mXCJcbiAgKHR0Ll90eXBlb2YgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODIwOCwgLTEsIC0xLCAtMSwgLTEsIDgzNDMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVuXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODIzNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVuaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODI2MiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ1bmlxXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODI4OSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVuaXF1XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA4MzE2LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVuaXF1ZVwiXG4gIENvbnRleHR1YWxLZXl3b3JkLl91bmlxdWUgPDwgMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVzXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODM3MCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVzaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODM5NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ1c2luXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg0MjQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInVzaW5nXCJcbiAgQ29udGV4dHVhbEtleXdvcmQuX3VzaW5nIDw8IDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ2XCJcbiAgLTEsIDg0NzgsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4NTMyLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidmFcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4NTA1LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidmFyXCJcbiAgKHR0Ll92YXIgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidm9cIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCA4NTU5LCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwidm9pXCJcbiAgLTEsIC0xLCAtMSwgLTEsIDg1ODYsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInZvaWRcIlxuICAodHQuX3ZvaWQgPDwgMSkgKyAxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwid1wiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODY0MCwgODc0OCwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIndoXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODY2NywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIndoaVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg2OTQsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ3aGlsXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA4NzIxLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcIndoaWxlXCJcbiAgKHR0Ll93aGlsZSA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ3aVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODc3NSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ3aXRcIlxuICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg4MDIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsXG4gIC8vIFwid2l0aFwiXG4gICh0dC5fd2l0aCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ5XCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgODg1NiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInlpXCJcbiAgLTEsIC0xLCAtMSwgLTEsIC0xLCA4ODgzLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInlpZVwiXG4gIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIDg5MTAsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbiAgLy8gXCJ5aWVsXCJcbiAgLTEsIC0xLCAtMSwgLTEsIDg5MzcsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLFxuICAvLyBcInlpZWxkXCJcbiAgKHR0Ll95aWVsZCA8PCAxKSArIDEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSxcbl0pO1xuIiwgImltcG9ydCB7aW5wdXQsIHN0YXRlfSBmcm9tIFwiLi4vdHJhdmVyc2VyL2Jhc2VcIjtcbmltcG9ydCB7Y2hhckNvZGVzfSBmcm9tIFwiLi4vdXRpbC9jaGFyY29kZXNcIjtcbmltcG9ydCB7SVNfSURFTlRJRklFUl9DSEFSfSBmcm9tIFwiLi4vdXRpbC9pZGVudGlmaWVyXCI7XG5pbXBvcnQge2ZpbmlzaFRva2VufSBmcm9tIFwiLi9pbmRleFwiO1xuaW1wb3J0IHtSRUFEX1dPUkRfVFJFRX0gZnJvbSBcIi4vcmVhZFdvcmRUcmVlXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBSZWFkIGFuIGlkZW50aWZpZXIsIHByb2R1Y2luZyBlaXRoZXIgYSBuYW1lIHRva2VuIG9yIG1hdGNoaW5nIG9uIG9uZSBvZiB0aGUgZXhpc3Rpbmcga2V5d29yZHMuXG4gKiBGb3IgcGVyZm9ybWFuY2UsIHdlIHByZS1nZW5lcmF0ZSBiaWcgZGVjaXNpb24gdHJlZSB0aGF0IHdlIHRyYXZlcnNlLiBFYWNoIG5vZGUgcmVwcmVzZW50cyBhXG4gKiBwcmVmaXggYW5kIGhhcyAyNyB2YWx1ZXMsIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyB0aGUgdG9rZW4gb3IgY29udGV4dHVhbCB0b2tlbiwgaWYgYW55ICgtMSBpZlxuICogbm90KSwgYW5kIHRoZSBvdGhlciAyNiB2YWx1ZXMgYXJlIHRoZSB0cmFuc2l0aW9ucyB0byBvdGhlciBub2Rlcywgb3IgLTEgdG8gc3RvcC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVhZFdvcmQoKSB7XG4gIGxldCB0cmVlUG9zID0gMDtcbiAgbGV0IGNvZGUgPSAwO1xuICBsZXQgcG9zID0gc3RhdGUucG9zO1xuICB3aGlsZSAocG9zIDwgaW5wdXQubGVuZ3RoKSB7XG4gICAgY29kZSA9IGlucHV0LmNoYXJDb2RlQXQocG9zKTtcbiAgICBpZiAoY29kZSA8IGNoYXJDb2Rlcy5sb3dlcmNhc2VBIHx8IGNvZGUgPiBjaGFyQ29kZXMubG93ZXJjYXNlWikge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNvbnN0IG5leHQgPSBSRUFEX1dPUkRfVFJFRVt0cmVlUG9zICsgKGNvZGUgLSBjaGFyQ29kZXMubG93ZXJjYXNlQSkgKyAxXTtcbiAgICBpZiAobmV4dCA9PT0gLTEpIHtcbiAgICAgIGJyZWFrO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmVlUG9zID0gbmV4dDtcbiAgICAgIHBvcysrO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGtleXdvcmRWYWx1ZSA9IFJFQURfV09SRF9UUkVFW3RyZWVQb3NdO1xuICBpZiAoa2V5d29yZFZhbHVlID4gLTEgJiYgIUlTX0lERU5USUZJRVJfQ0hBUltjb2RlXSkge1xuICAgIHN0YXRlLnBvcyA9IHBvcztcbiAgICBpZiAoa2V5d29yZFZhbHVlICYgMSkge1xuICAgICAgZmluaXNoVG9rZW4oa2V5d29yZFZhbHVlID4+PiAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluaXNoVG9rZW4odHQubmFtZSwga2V5d29yZFZhbHVlID4+PiAxKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgd2hpbGUgKHBvcyA8IGlucHV0Lmxlbmd0aCkge1xuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChwb3MpO1xuICAgIGlmIChJU19JREVOVElGSUVSX0NIQVJbY2hdKSB7XG4gICAgICBwb3MrKztcbiAgICB9IGVsc2UgaWYgKGNoID09PSBjaGFyQ29kZXMuYmFja3NsYXNoKSB7XG4gICAgICAvLyBcXHVcbiAgICAgIHBvcyArPSAyO1xuICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQocG9zKSA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlKSB7XG4gICAgICAgIHdoaWxlIChwb3MgPCBpbnB1dC5sZW5ndGggJiYgaW5wdXQuY2hhckNvZGVBdChwb3MpICE9PSBjaGFyQ29kZXMucmlnaHRDdXJseUJyYWNlKSB7XG4gICAgICAgICAgcG9zKys7XG4gICAgICAgIH1cbiAgICAgICAgcG9zKys7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjaCA9PT0gY2hhckNvZGVzLmF0U2lnbiAmJiBpbnB1dC5jaGFyQ29kZUF0KHBvcyArIDEpID09PSBjaGFyQ29kZXMuYXRTaWduKSB7XG4gICAgICBwb3MgKz0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHN0YXRlLnBvcyA9IHBvcztcbiAgZmluaXNoVG9rZW4odHQubmFtZSk7XG59XG4iLCAiLyogZXNsaW50IG1heC1sZW46IDAgKi9cblxuaW1wb3J0IHtpbnB1dCwgaXNGbG93RW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuLi90cmF2ZXJzZXIvYmFzZVwiO1xuaW1wb3J0IHt1bmV4cGVjdGVkfSBmcm9tIFwiLi4vdHJhdmVyc2VyL3V0aWxcIjtcbmltcG9ydCB7Y2hhckNvZGVzfSBmcm9tIFwiLi4vdXRpbC9jaGFyY29kZXNcIjtcbmltcG9ydCB7SVNfSURFTlRJRklFUl9DSEFSLCBJU19JREVOVElGSUVSX1NUQVJUfSBmcm9tIFwiLi4vdXRpbC9pZGVudGlmaWVyXCI7XG5pbXBvcnQge0lTX1dISVRFU1BBQ0UsIHNraXBXaGl0ZVNwYWNlfSBmcm9tIFwiLi4vdXRpbC93aGl0ZXNwYWNlXCI7XG5pbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi9rZXl3b3Jkc1wiO1xuaW1wb3J0IHJlYWRXb3JkIGZyb20gXCIuL3JlYWRXb3JkXCI7XG5pbXBvcnQgeyBUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCB2YXIgSWRlbnRpZmllclJvbGU7IChmdW5jdGlvbiAoSWRlbnRpZmllclJvbGUpIHtcbiAgY29uc3QgQWNjZXNzID0gMDsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJBY2Nlc3NcIl0gPSBBY2Nlc3NdID0gXCJBY2Nlc3NcIjtcbiAgY29uc3QgRXhwb3J0QWNjZXNzID0gQWNjZXNzICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJFeHBvcnRBY2Nlc3NcIl0gPSBFeHBvcnRBY2Nlc3NdID0gXCJFeHBvcnRBY2Nlc3NcIjtcbiAgY29uc3QgVG9wTGV2ZWxEZWNsYXJhdGlvbiA9IEV4cG9ydEFjY2VzcyArIDE7IElkZW50aWZpZXJSb2xlW0lkZW50aWZpZXJSb2xlW1wiVG9wTGV2ZWxEZWNsYXJhdGlvblwiXSA9IFRvcExldmVsRGVjbGFyYXRpb25dID0gXCJUb3BMZXZlbERlY2xhcmF0aW9uXCI7XG4gIGNvbnN0IEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gPSBUb3BMZXZlbERlY2xhcmF0aW9uICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uXCJdID0gRnVuY3Rpb25TY29wZWREZWNsYXJhdGlvbl0gPSBcIkZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb25cIjtcbiAgY29uc3QgQmxvY2tTY29wZWREZWNsYXJhdGlvbiA9IEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gKyAxOyBJZGVudGlmaWVyUm9sZVtJZGVudGlmaWVyUm9sZVtcIkJsb2NrU2NvcGVkRGVjbGFyYXRpb25cIl0gPSBCbG9ja1Njb3BlZERlY2xhcmF0aW9uXSA9IFwiQmxvY2tTY29wZWREZWNsYXJhdGlvblwiO1xuICBjb25zdCBPYmplY3RTaG9ydGhhbmRUb3BMZXZlbERlY2xhcmF0aW9uID0gQmxvY2tTY29wZWREZWNsYXJhdGlvbiArIDE7IElkZW50aWZpZXJSb2xlW0lkZW50aWZpZXJSb2xlW1wiT2JqZWN0U2hvcnRoYW5kVG9wTGV2ZWxEZWNsYXJhdGlvblwiXSA9IE9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb25dID0gXCJPYmplY3RTaG9ydGhhbmRUb3BMZXZlbERlY2xhcmF0aW9uXCI7XG4gIGNvbnN0IE9iamVjdFNob3J0aGFuZEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gPSBPYmplY3RTaG9ydGhhbmRUb3BMZXZlbERlY2xhcmF0aW9uICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJPYmplY3RTaG9ydGhhbmRGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uXCJdID0gT2JqZWN0U2hvcnRoYW5kRnVuY3Rpb25TY29wZWREZWNsYXJhdGlvbl0gPSBcIk9iamVjdFNob3J0aGFuZEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb25cIjtcbiAgY29uc3QgT2JqZWN0U2hvcnRoYW5kQmxvY2tTY29wZWREZWNsYXJhdGlvbiA9IE9iamVjdFNob3J0aGFuZEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gKyAxOyBJZGVudGlmaWVyUm9sZVtJZGVudGlmaWVyUm9sZVtcIk9iamVjdFNob3J0aGFuZEJsb2NrU2NvcGVkRGVjbGFyYXRpb25cIl0gPSBPYmplY3RTaG9ydGhhbmRCbG9ja1Njb3BlZERlY2xhcmF0aW9uXSA9IFwiT2JqZWN0U2hvcnRoYW5kQmxvY2tTY29wZWREZWNsYXJhdGlvblwiO1xuICBjb25zdCBPYmplY3RTaG9ydGhhbmQgPSBPYmplY3RTaG9ydGhhbmRCbG9ja1Njb3BlZERlY2xhcmF0aW9uICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJPYmplY3RTaG9ydGhhbmRcIl0gPSBPYmplY3RTaG9ydGhhbmRdID0gXCJPYmplY3RTaG9ydGhhbmRcIjtcbiAgLy8gQW55IGlkZW50aWZpZXIgYm91bmQgaW4gYW4gaW1wb3J0IHN0YXRlbWVudCwgZS5nLiBib3RoIEEgYW5kIGIgZnJvbVxuICAvLyBgaW1wb3J0IEEsICogYXMgYiBmcm9tICdBJztgXG4gIGNvbnN0IEltcG9ydERlY2xhcmF0aW9uID0gT2JqZWN0U2hvcnRoYW5kICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJJbXBvcnREZWNsYXJhdGlvblwiXSA9IEltcG9ydERlY2xhcmF0aW9uXSA9IFwiSW1wb3J0RGVjbGFyYXRpb25cIjtcbiAgY29uc3QgT2JqZWN0S2V5ID0gSW1wb3J0RGVjbGFyYXRpb24gKyAxOyBJZGVudGlmaWVyUm9sZVtJZGVudGlmaWVyUm9sZVtcIk9iamVjdEtleVwiXSA9IE9iamVjdEtleV0gPSBcIk9iamVjdEtleVwiO1xuICAvLyBUaGUgYGZvb2AgaW4gYGltcG9ydCB7Zm9vIGFzIGJhcn0gZnJvbSBcIi4vYWJjXCI7YC5cbiAgY29uc3QgSW1wb3J0QWNjZXNzID0gT2JqZWN0S2V5ICsgMTsgSWRlbnRpZmllclJvbGVbSWRlbnRpZmllclJvbGVbXCJJbXBvcnRBY2Nlc3NcIl0gPSBJbXBvcnRBY2Nlc3NdID0gXCJJbXBvcnRBY2Nlc3NcIjtcbn0pKElkZW50aWZpZXJSb2xlIHx8IChJZGVudGlmaWVyUm9sZSA9IHt9KSk7XG5cbi8qKlxuICogRXh0cmEgaW5mb3JtYXRpb24gb24ganN4VGFnU3RhcnQgdG9rZW5zLCB1c2VkIHRvIGRldGVybWluZSB3aGljaCBvZiB0aGUgdGhyZWVcbiAqIGpzeCBmdW5jdGlvbnMgYXJlIGNhbGxlZCBpbiB0aGUgYXV0b21hdGljIHRyYW5zZm9ybS5cbiAqL1xuZXhwb3J0IHZhciBKU1hSb2xlOyAoZnVuY3Rpb24gKEpTWFJvbGUpIHtcbiAgLy8gVGhlIGVsZW1lbnQgaXMgc2VsZi1jbG9zaW5nIG9yIGhhcyBhIGJvZHkgdGhhdCByZXNvbHZlcyB0byBlbXB0eS4gV2VcbiAgLy8gc2hvdWxkbid0IGVtaXQgY2hpbGRyZW4gYXQgYWxsIGluIHRoaXMgY2FzZS5cbiAgY29uc3QgTm9DaGlsZHJlbiA9IDA7IEpTWFJvbGVbSlNYUm9sZVtcIk5vQ2hpbGRyZW5cIl0gPSBOb0NoaWxkcmVuXSA9IFwiTm9DaGlsZHJlblwiO1xuICAvLyBUaGUgZWxlbWVudCBoYXMgYSBzaW5nbGUgZXhwbGljaXQgY2hpbGQsIHdoaWNoIG1pZ2h0IHN0aWxsIGJlIGFuIGFyYml0cmFyeVxuICAvLyBleHByZXNzaW9uIGxpa2UgYW4gYXJyYXkuIFdlIHNob3VsZCBlbWl0IHRoYXQgZXhwcmVzc2lvbiBhcyB0aGUgY2hpbGRyZW4uXG4gIGNvbnN0IE9uZUNoaWxkID0gTm9DaGlsZHJlbiArIDE7IEpTWFJvbGVbSlNYUm9sZVtcIk9uZUNoaWxkXCJdID0gT25lQ2hpbGRdID0gXCJPbmVDaGlsZFwiO1xuICAvLyBUaGUgZWxlbWVudCBoYXMgYXQgbGVhc3QgdHdvIGV4cGxpY2l0bHktc3BlY2lmaWVkIGNoaWxkcmVuIG9yIGhhcyBzcHJlYWRcbiAgLy8gY2hpbGRyZW4sIHNvIGNoaWxkIHBvc2l0aW9ucyBhcmUgYXNzdW1lZCB0byBiZSBcInN0YXRpY1wiLiBXZSBzaG91bGQgd3JhcFxuICAvLyB0aGVzZSBjaGlsZHJlbiBpbiBhbiBhcnJheS5cbiAgY29uc3QgU3RhdGljQ2hpbGRyZW4gPSBPbmVDaGlsZCArIDE7IEpTWFJvbGVbSlNYUm9sZVtcIlN0YXRpY0NoaWxkcmVuXCJdID0gU3RhdGljQ2hpbGRyZW5dID0gXCJTdGF0aWNDaGlsZHJlblwiO1xuICAvLyBUaGUgZWxlbWVudCBoYXMgYSBwcm9wIG5hbWVkIFwia2V5XCIgYWZ0ZXIgYSBwcm9wIHNwcmVhZCwgc28gd2Ugc2hvdWxkIGZhbGxcbiAgLy8gYmFjayB0byB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbi5cbiAgY29uc3QgS2V5QWZ0ZXJQcm9wU3ByZWFkID0gU3RhdGljQ2hpbGRyZW4gKyAxOyBKU1hSb2xlW0pTWFJvbGVbXCJLZXlBZnRlclByb3BTcHJlYWRcIl0gPSBLZXlBZnRlclByb3BTcHJlYWRdID0gXCJLZXlBZnRlclByb3BTcHJlYWRcIjtcbn0pKEpTWFJvbGUgfHwgKEpTWFJvbGUgPSB7fSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEZWNsYXJhdGlvbih0b2tlbikge1xuICBjb25zdCByb2xlID0gdG9rZW4uaWRlbnRpZmllclJvbGU7XG4gIHJldHVybiAoXG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuVG9wTGV2ZWxEZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLkZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5CbG9ja1Njb3BlZERlY2xhcmF0aW9uIHx8XG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuT2JqZWN0U2hvcnRoYW5kVG9wTGV2ZWxEZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZEZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRCbG9ja1Njb3BlZERlY2xhcmF0aW9uXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vblRvcExldmVsRGVjbGFyYXRpb24odG9rZW4pIHtcbiAgY29uc3Qgcm9sZSA9IHRva2VuLmlkZW50aWZpZXJSb2xlO1xuICByZXR1cm4gKFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLkZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5CbG9ja1Njb3BlZERlY2xhcmF0aW9uIHx8XG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuT2JqZWN0U2hvcnRoYW5kRnVuY3Rpb25TY29wZWREZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZEJsb2NrU2NvcGVkRGVjbGFyYXRpb25cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVG9wTGV2ZWxEZWNsYXJhdGlvbih0b2tlbikge1xuICBjb25zdCByb2xlID0gdG9rZW4uaWRlbnRpZmllclJvbGU7XG4gIHJldHVybiAoXG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuVG9wTGV2ZWxEZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5JbXBvcnREZWNsYXJhdGlvblxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCbG9ja1Njb3BlZERlY2xhcmF0aW9uKHRva2VuKSB7XG4gIGNvbnN0IHJvbGUgPSB0b2tlbi5pZGVudGlmaWVyUm9sZTtcbiAgLy8gVHJlYXQgdG9wLWxldmVsIGRlY2xhcmF0aW9ucyBhcyBibG9jayBzY29wZSBzaW5jZSB0aGUgZGlzdGluY3Rpb24gZG9lc24ndCBtYXR0ZXIgaGVyZS5cbiAgcmV0dXJuIChcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5Ub3BMZXZlbERlY2xhcmF0aW9uIHx8XG4gICAgcm9sZSA9PT0gSWRlbnRpZmllclJvbGUuQmxvY2tTY29wZWREZWNsYXJhdGlvbiB8fFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRCbG9ja1Njb3BlZERlY2xhcmF0aW9uXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24odG9rZW4pIHtcbiAgY29uc3Qgcm9sZSA9IHRva2VuLmlkZW50aWZpZXJSb2xlO1xuICByZXR1cm4gKFxuICAgIHJvbGUgPT09IElkZW50aWZpZXJSb2xlLkZ1bmN0aW9uU2NvcGVkRGVjbGFyYXRpb24gfHxcbiAgICByb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdFNob3J0aGFuZERlY2xhcmF0aW9uKHRva2VuKSB7XG4gIHJldHVybiAoXG4gICAgdG9rZW4uaWRlbnRpZmllclJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb24gfHxcbiAgICB0b2tlbi5pZGVudGlmaWVyUm9sZSA9PT0gSWRlbnRpZmllclJvbGUuT2JqZWN0U2hvcnRoYW5kQmxvY2tTY29wZWREZWNsYXJhdGlvbiB8fFxuICAgIHRva2VuLmlkZW50aWZpZXJSb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uXG4gICk7XG59XG5cbi8vIE9iamVjdCB0eXBlIHVzZWQgdG8gcmVwcmVzZW50IHRva2Vucy4gTm90ZSB0aGF0IG5vcm1hbGx5LCB0b2tlbnNcbi8vIHNpbXBseSBleGlzdCBhcyBwcm9wZXJ0aWVzIG9uIHRoZSBwYXJzZXIgb2JqZWN0LiBUaGlzIGlzIG9ubHlcbi8vIHVzZWQgZm9yIHRoZSBvblRva2VuIGNhbGxiYWNrIGFuZCB0aGUgZXh0ZXJuYWwgdG9rZW5pemVyLlxuZXhwb3J0IGNsYXNzIFRva2VuIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy50eXBlID0gc3RhdGUudHlwZTtcbiAgICB0aGlzLmNvbnRleHR1YWxLZXl3b3JkID0gc3RhdGUuY29udGV4dHVhbEtleXdvcmQ7XG4gICAgdGhpcy5zdGFydCA9IHN0YXRlLnN0YXJ0O1xuICAgIHRoaXMuZW5kID0gc3RhdGUuZW5kO1xuICAgIHRoaXMuc2NvcGVEZXB0aCA9IHN0YXRlLnNjb3BlRGVwdGg7XG4gICAgdGhpcy5pc1R5cGUgPSBzdGF0ZS5pc1R5cGU7XG4gICAgdGhpcy5pZGVudGlmaWVyUm9sZSA9IG51bGw7XG4gICAgdGhpcy5qc3hSb2xlID0gbnVsbDtcbiAgICB0aGlzLnNoYWRvd3NHbG9iYWwgPSBmYWxzZTtcbiAgICB0aGlzLmlzQXN5bmNPcGVyYXRpb24gPSBmYWxzZTtcbiAgICB0aGlzLmNvbnRleHRJZCA9IG51bGw7XG4gICAgdGhpcy5yaHNFbmRJbmRleCA9IG51bGw7XG4gICAgdGhpcy5pc0V4cHJlc3Npb24gPSBmYWxzZTtcbiAgICB0aGlzLm51bU51bGxpc2hDb2FsZXNjZVN0YXJ0cyA9IDA7XG4gICAgdGhpcy5udW1OdWxsaXNoQ29hbGVzY2VFbmRzID0gMDtcbiAgICB0aGlzLmlzT3B0aW9uYWxDaGFpblN0YXJ0ID0gZmFsc2U7XG4gICAgdGhpcy5pc09wdGlvbmFsQ2hhaW5FbmQgPSBmYWxzZTtcbiAgICB0aGlzLnN1YnNjcmlwdFN0YXJ0SW5kZXggPSBudWxsO1xuICAgIHRoaXMubnVsbGlzaFN0YXJ0SW5kZXggPSBudWxsO1xuICB9XG5cbiAgXG4gIFxuICBcbiAgXG4gIFxuICBcbiAgXG4gIFxuICAvLyBJbml0aWFsbHkgZmFsc2UgZm9yIGFsbCB0b2tlbnMsIHRoZW4gbWF5IGJlIGNvbXB1dGVkIGluIGEgZm9sbG93LXVwIHN0ZXAgdGhhdCBkb2VzIHNjb3BlXG4gIC8vIGFuYWx5c2lzLlxuICBcbiAgLy8gSW5pdGlhbGx5IGZhbHNlIGZvciBhbGwgdG9rZW5zLCBidXQgbWF5IGJlIHNldCBkdXJpbmcgdHJhbnNmb3JtIHRvIG1hcmsgaXQgYXMgY29udGFpbmluZyBhblxuICAvLyBhd2FpdCBvcGVyYXRpb24uXG4gIFxuICBcbiAgLy8gRm9yIGFzc2lnbm1lbnRzLCB0aGUgaW5kZXggb2YgdGhlIFJIUy4gRm9yIGV4cG9ydCB0b2tlbnMsIHRoZSBlbmQgb2YgdGhlIGV4cG9ydC5cbiAgXG4gIC8vIEZvciBjbGFzcyB0b2tlbnMsIHJlY29yZHMgaWYgdGhlIGNsYXNzIGlzIGEgY2xhc3MgZXhwcmVzc2lvbiBvciBhIGNsYXNzIHN0YXRlbWVudC5cbiAgXG4gIC8vIE51bWJlciBvZiB0aW1lcyB0byBpbnNlcnQgYSBgbnVsbGlzaENvYWxlc2NlKGAgc25pcHBldCBiZWZvcmUgdGhpcyB0b2tlbi5cbiAgXG4gIC8vIE51bWJlciBvZiB0aW1lcyB0byBpbnNlcnQgYSBgKWAgc25pcHBldCBhZnRlciB0aGlzIHRva2VuLlxuICBcbiAgLy8gSWYgdHJ1ZSwgaW5zZXJ0IGFuIGBvcHRpb25hbENoYWluKFtgIHNuaXBwZXQgYmVmb3JlIHRoaXMgdG9rZW4uXG4gIFxuICAvLyBJZiB0cnVlLCBpbnNlcnQgYSBgXSlgIHNuaXBwZXQgYWZ0ZXIgdGhpcyB0b2tlbi5cbiAgXG4gIC8vIFRhZyBmb3IgYC5gLCBgPy5gLCBgW2AsIGA/LltgLCBgKGAsIGFuZCBgPy4oYCB0byBkZW5vdGUgdGhlIFwicm9vdFwiIHRva2VuIGZvciB0aGlzXG4gIC8vIHN1YnNjcmlwdCBjaGFpbi4gVGhpcyBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhpcyBjaGFpbiBpcyBhbiBvcHRpb25hbCBjaGFpbi5cbiAgXG4gIC8vIFRhZyBmb3IgYD8/YCBvcGVyYXRvcnMgdG8gZGVub3RlIHRoZSByb290IHRva2VuIGZvciB0aGlzIG51bGxpc2ggY29hbGVzY2luZyBjYWxsLlxuICBcbn1cblxuLy8gIyMgVG9rZW5pemVyXG5cbi8vIE1vdmUgdG8gdGhlIG5leHQgdG9rZW5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0KCkge1xuICBzdGF0ZS50b2tlbnMucHVzaChuZXcgVG9rZW4oKSk7XG4gIG5leHRUb2tlbigpO1xufVxuXG4vLyBDYWxsIGluc3RlYWQgb2YgbmV4dCB3aGVuIGluc2lkZSBhIHRlbXBsYXRlLCBzaW5jZSB0aGF0IG5lZWRzIHRvIGJlIGhhbmRsZWQgZGlmZmVyZW50bHkuXG5leHBvcnQgZnVuY3Rpb24gbmV4dFRlbXBsYXRlVG9rZW4oKSB7XG4gIHN0YXRlLnRva2Vucy5wdXNoKG5ldyBUb2tlbigpKTtcbiAgc3RhdGUuc3RhcnQgPSBzdGF0ZS5wb3M7XG4gIHJlYWRUbXBsVG9rZW4oKTtcbn1cblxuLy8gVGhlIHRva2VuaXplciBuZXZlciBwYXJzZXMgcmVnZXhlcyBieSBkZWZhdWx0LiBJbnN0ZWFkLCB0aGUgcGFyc2VyIGlzIHJlc3BvbnNpYmxlIGZvclxuLy8gaW5zdHJ1Y3RpbmcgaXQgdG8gcGFyc2UgYSByZWdleCB3aGVuIHdlIHNlZSBhIHNsYXNoIGF0IHRoZSBzdGFydCBvZiBhbiBleHByZXNzaW9uLlxuZXhwb3J0IGZ1bmN0aW9uIHJldG9rZW5pemVTbGFzaEFzUmVnZXgoKSB7XG4gIGlmIChzdGF0ZS50eXBlID09PSB0dC5hc3NpZ24pIHtcbiAgICAtLXN0YXRlLnBvcztcbiAgfVxuICByZWFkUmVnZXhwKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwdXNoVHlwZUNvbnRleHQoZXhpc3RpbmdUb2tlbnNJblR5cGUpIHtcbiAgZm9yIChsZXQgaSA9IHN0YXRlLnRva2Vucy5sZW5ndGggLSBleGlzdGluZ1Rva2Vuc0luVHlwZTsgaSA8IHN0YXRlLnRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIHN0YXRlLnRva2Vuc1tpXS5pc1R5cGUgPSB0cnVlO1xuICB9XG4gIGNvbnN0IG9sZElzVHlwZSA9IHN0YXRlLmlzVHlwZTtcbiAgc3RhdGUuaXNUeXBlID0gdHJ1ZTtcbiAgcmV0dXJuIG9sZElzVHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSkge1xuICBzdGF0ZS5pc1R5cGUgPSBvbGRJc1R5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlYXQodHlwZSkge1xuICBpZiAobWF0Y2godHlwZSkpIHtcbiAgICBuZXh0KCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlYXRUeXBlVG9rZW4odG9rZW5UeXBlKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHN0YXRlLmlzVHlwZTtcbiAgc3RhdGUuaXNUeXBlID0gdHJ1ZTtcbiAgZWF0KHRva2VuVHlwZSk7XG4gIHN0YXRlLmlzVHlwZSA9IG9sZElzVHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoKHR5cGUpIHtcbiAgcmV0dXJuIHN0YXRlLnR5cGUgPT09IHR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rYWhlYWRUeXBlKCkge1xuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG4gIG5leHQoKTtcbiAgY29uc3QgdHlwZSA9IHN0YXRlLnR5cGU7XG4gIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICByZXR1cm4gdHlwZTtcbn1cblxuZXhwb3J0IGNsYXNzIFR5cGVBbmRLZXl3b3JkIHtcbiAgXG4gIFxuICBjb25zdHJ1Y3Rvcih0eXBlLCBjb250ZXh0dWFsS2V5d29yZCkge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5jb250ZXh0dWFsS2V5d29yZCA9IGNvbnRleHR1YWxLZXl3b3JkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rYWhlYWRUeXBlQW5kS2V5d29yZCgpIHtcbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICBuZXh0KCk7XG4gIGNvbnN0IHR5cGUgPSBzdGF0ZS50eXBlO1xuICBjb25zdCBjb250ZXh0dWFsS2V5d29yZCA9IHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkO1xuICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgcmV0dXJuIG5ldyBUeXBlQW5kS2V5d29yZCh0eXBlLCBjb250ZXh0dWFsS2V5d29yZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0VG9rZW5TdGFydCgpIHtcbiAgcmV0dXJuIG5leHRUb2tlblN0YXJ0U2luY2Uoc3RhdGUucG9zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5leHRUb2tlblN0YXJ0U2luY2UocG9zKSB7XG4gIHNraXBXaGl0ZVNwYWNlLmxhc3RJbmRleCA9IHBvcztcbiAgY29uc3Qgc2tpcCA9IHNraXBXaGl0ZVNwYWNlLmV4ZWMoaW5wdXQpO1xuICByZXR1cm4gcG9zICsgc2tpcFswXS5sZW5ndGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rYWhlYWRDaGFyQ29kZSgpIHtcbiAgcmV0dXJuIGlucHV0LmNoYXJDb2RlQXQobmV4dFRva2VuU3RhcnQoKSk7XG59XG5cbi8vIFJlYWQgYSBzaW5nbGUgdG9rZW4sIHVwZGF0aW5nIHRoZSBwYXJzZXIgb2JqZWN0J3MgdG9rZW4tcmVsYXRlZFxuLy8gcHJvcGVydGllcy5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0VG9rZW4oKSB7XG4gIHNraXBTcGFjZSgpO1xuICBzdGF0ZS5zdGFydCA9IHN0YXRlLnBvcztcbiAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICBjb25zdCB0b2tlbnMgPSBzdGF0ZS50b2tlbnM7XG4gICAgLy8gV2Ugbm9ybWFsbHkgcnVuIHBhc3QgdGhlIGVuZCBhIGJpdCwgYnV0IGlmIHdlJ3JlIHdheSBwYXN0IHRoZSBlbmQsIGF2b2lkIGFuIGluZmluaXRlIGxvb3AuXG4gICAgLy8gQWxzbyBjaGVjayB0aGUgdG9rZW4gcG9zaXRpb25zIHJhdGhlciB0aGFuIHRoZSB0eXBlcyBzaW5jZSBzb21ldGltZXMgd2UgcmV3cml0ZSB0aGUgdG9rZW5cbiAgICAvLyB0eXBlIHRvIHNvbWV0aGluZyBlbHNlLlxuICAgIGlmIChcbiAgICAgIHRva2Vucy5sZW5ndGggPj0gMiAmJlxuICAgICAgdG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXS5zdGFydCA+PSBpbnB1dC5sZW5ndGggJiZcbiAgICAgIHRva2Vuc1t0b2tlbnMubGVuZ3RoIC0gMl0uc3RhcnQgPj0gaW5wdXQubGVuZ3RoXG4gICAgKSB7XG4gICAgICB1bmV4cGVjdGVkKFwiVW5leHBlY3RlZGx5IHJlYWNoZWQgdGhlIGVuZCBvZiBpbnB1dC5cIik7XG4gICAgfVxuICAgIGZpbmlzaFRva2VuKHR0LmVvZik7XG4gICAgcmV0dXJuO1xuICB9XG4gIHJlYWRUb2tlbihpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcykpO1xufVxuXG5mdW5jdGlvbiByZWFkVG9rZW4oY29kZSkge1xuICAvLyBJZGVudGlmaWVyIG9yIGtleXdvcmQuICdcXHVYWFhYJyBzZXF1ZW5jZXMgYXJlIGFsbG93ZWQgaW5cbiAgLy8gaWRlbnRpZmllcnMsIHNvICdcXCcgYWxzbyBkaXNwYXRjaGVzIHRvIHRoYXQuXG4gIGlmIChcbiAgICBJU19JREVOVElGSUVSX1NUQVJUW2NvZGVdIHx8XG4gICAgY29kZSA9PT0gY2hhckNvZGVzLmJhY2tzbGFzaCB8fFxuICAgIChjb2RlID09PSBjaGFyQ29kZXMuYXRTaWduICYmIGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSkgPT09IGNoYXJDb2Rlcy5hdFNpZ24pXG4gICkge1xuICAgIHJlYWRXb3JkKCk7XG4gIH0gZWxzZSB7XG4gICAgZ2V0VG9rZW5Gcm9tQ29kZShjb2RlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBza2lwQmxvY2tDb21tZW50KCkge1xuICB3aGlsZSAoXG4gICAgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpICE9PSBjaGFyQ29kZXMuYXN0ZXJpc2sgfHxcbiAgICBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpICE9PSBjaGFyQ29kZXMuc2xhc2hcbiAgKSB7XG4gICAgc3RhdGUucG9zKys7XG4gICAgaWYgKHN0YXRlLnBvcyA+IGlucHV0Lmxlbmd0aCkge1xuICAgICAgdW5leHBlY3RlZChcIlVudGVybWluYXRlZCBjb21tZW50XCIsIHN0YXRlLnBvcyAtIDIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICBzdGF0ZS5wb3MgKz0gMjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNraXBMaW5lQ29tbWVudChzdGFydFNraXApIHtcbiAgbGV0IGNoID0gaW5wdXQuY2hhckNvZGVBdCgoc3RhdGUucG9zICs9IHN0YXJ0U2tpcCkpO1xuICBpZiAoc3RhdGUucG9zIDwgaW5wdXQubGVuZ3RoKSB7XG4gICAgd2hpbGUgKFxuICAgICAgY2ggIT09IGNoYXJDb2Rlcy5saW5lRmVlZCAmJlxuICAgICAgY2ggIT09IGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybiAmJlxuICAgICAgY2ggIT09IGNoYXJDb2Rlcy5saW5lU2VwYXJhdG9yICYmXG4gICAgICBjaCAhPT0gY2hhckNvZGVzLnBhcmFncmFwaFNlcGFyYXRvciAmJlxuICAgICAgKytzdGF0ZS5wb3MgPCBpbnB1dC5sZW5ndGhcbiAgICApIHtcbiAgICAgIGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDYWxsZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBwYXJzZSBhbmQgYWZ0ZXIgZXZlcnkgdG9rZW4uIFNraXBzXG4vLyB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cy5cbmV4cG9ydCBmdW5jdGlvbiBza2lwU3BhY2UoKSB7XG4gIHdoaWxlIChzdGF0ZS5wb3MgPCBpbnB1dC5sZW5ndGgpIHtcbiAgICBjb25zdCBjaCA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zKTtcbiAgICBzd2l0Y2ggKGNoKSB7XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybjpcbiAgICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSkgPT09IGNoYXJDb2Rlcy5saW5lRmVlZCkge1xuICAgICAgICAgICsrc3RhdGUucG9zO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLmxpbmVGZWVkOlxuICAgICAgY2FzZSBjaGFyQ29kZXMubGluZVNlcGFyYXRvcjpcbiAgICAgIGNhc2UgY2hhckNvZGVzLnBhcmFncmFwaFNlcGFyYXRvcjpcbiAgICAgICAgKytzdGF0ZS5wb3M7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIGNoYXJDb2Rlcy5zbGFzaDpcbiAgICAgICAgc3dpdGNoIChpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpKSB7XG4gICAgICAgICAgY2FzZSBjaGFyQ29kZXMuYXN0ZXJpc2s6XG4gICAgICAgICAgICBzdGF0ZS5wb3MgKz0gMjtcbiAgICAgICAgICAgIHNraXBCbG9ja0NvbW1lbnQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBjaGFyQ29kZXMuc2xhc2g6XG4gICAgICAgICAgICBza2lwTGluZUNvbW1lbnQoMik7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChJU19XSElURVNQQUNFW2NoXSkge1xuICAgICAgICAgICsrc3RhdGUucG9zO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDYWxsZWQgYXQgdGhlIGVuZCBvZiBldmVyeSB0b2tlbi4gU2V0cyB2YXJpb3VzIGZpZWxkcywgYW5kIHNraXBzIHRoZSBzcGFjZSBhZnRlciB0aGUgdG9rZW4sIHNvXG4vLyB0aGF0IHRoZSBuZXh0IG9uZSdzIGBzdGFydGAgd2lsbCBwb2ludCBhdCB0aGUgcmlnaHQgcG9zaXRpb24uXG5leHBvcnQgZnVuY3Rpb24gZmluaXNoVG9rZW4oXG4gIHR5cGUsXG4gIGNvbnRleHR1YWxLZXl3b3JkID0gQ29udGV4dHVhbEtleXdvcmQuTk9ORSxcbikge1xuICBzdGF0ZS5lbmQgPSBzdGF0ZS5wb3M7XG4gIHN0YXRlLnR5cGUgPSB0eXBlO1xuICBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9IGNvbnRleHR1YWxLZXl3b3JkO1xufVxuXG4vLyAjIyMgVG9rZW4gcmVhZGluZ1xuXG4vLyBUaGlzIGlzIHRoZSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB0byBmZXRjaCB0aGUgbmV4dCB0b2tlbi4gSXRcbi8vIGlzIHNvbWV3aGF0IG9ic2N1cmUsIGJlY2F1c2UgaXQgd29ya3MgaW4gY2hhcmFjdGVyIGNvZGVzIHJhdGhlclxuLy8gdGhhbiBjaGFyYWN0ZXJzLCBhbmQgYmVjYXVzZSBvcGVyYXRvciBwYXJzaW5nIGhhcyBiZWVuIGlubGluZWRcbi8vIGludG8gaXQuXG4vL1xuLy8gQWxsIGluIHRoZSBuYW1lIG9mIHNwZWVkLlxuZnVuY3Rpb24gcmVhZFRva2VuX2RvdCgpIHtcbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuICBpZiAobmV4dENoYXIgPj0gY2hhckNvZGVzLmRpZ2l0MCAmJiBuZXh0Q2hhciA8PSBjaGFyQ29kZXMuZGlnaXQ5KSB7XG4gICAgcmVhZE51bWJlcih0cnVlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5kb3QgJiYgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAyKSA9PT0gY2hhckNvZGVzLmRvdCkge1xuICAgIHN0YXRlLnBvcyArPSAzO1xuICAgIGZpbmlzaFRva2VuKHR0LmVsbGlwc2lzKTtcbiAgfSBlbHNlIHtcbiAgICArK3N0YXRlLnBvcztcbiAgICBmaW5pc2hUb2tlbih0dC5kb3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9zbGFzaCgpIHtcbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgIGZpbmlzaE9wKHR0LmFzc2lnbiwgMik7XG4gIH0gZWxzZSB7XG4gICAgZmluaXNoT3AodHQuc2xhc2gsIDEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9tdWx0X21vZHVsbyhjb2RlKSB7XG4gIC8vICclKidcbiAgbGV0IHRva2VuVHlwZSA9IGNvZGUgPT09IGNoYXJDb2Rlcy5hc3RlcmlzayA/IHR0LnN0YXIgOiB0dC5tb2R1bG87XG4gIGxldCB3aWR0aCA9IDE7XG4gIGxldCBuZXh0Q2hhciA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSk7XG5cbiAgLy8gRXhwb25lbnRpYXRpb24gb3BlcmF0b3IgKipcbiAgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5hc3RlcmlzayAmJiBuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmFzdGVyaXNrKSB7XG4gICAgd2lkdGgrKztcbiAgICBuZXh0Q2hhciA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMik7XG4gICAgdG9rZW5UeXBlID0gdHQuZXhwb25lbnQ7XG4gIH1cblxuICAvLyBNYXRjaCAqPSBvciAlPSwgZGlzYWxsb3dpbmcgKj0+IHdoaWNoIGNhbiBiZSB2YWxpZCBpbiBmbG93LlxuICBpZiAoXG4gICAgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbyAmJlxuICAgIGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMikgIT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhblxuICApIHtcbiAgICB3aWR0aCsrO1xuICAgIHRva2VuVHlwZSA9IHR0LmFzc2lnbjtcbiAgfVxuXG4gIGZpbmlzaE9wKHRva2VuVHlwZSwgd2lkdGgpO1xufVxuXG5mdW5jdGlvbiByZWFkVG9rZW5fcGlwZV9hbXAoY29kZSkge1xuICAvLyAnfCYnXG4gIGNvbnN0IG5leHRDaGFyID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKTtcblxuICBpZiAobmV4dENoYXIgPT09IGNvZGUpIHtcbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAyKSA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgICAvLyB8fD0gb3IgJiY9XG4gICAgICBmaW5pc2hPcCh0dC5hc3NpZ24sIDMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB8fCBvciAmJlxuICAgICAgZmluaXNoT3AoY29kZSA9PT0gY2hhckNvZGVzLnZlcnRpY2FsQmFyID8gdHQubG9naWNhbE9SIDogdHQubG9naWNhbEFORCwgMik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjb2RlID09PSBjaGFyQ29kZXMudmVydGljYWxCYXIpIHtcbiAgICAvLyAnfD4nXG4gICAgaWYgKG5leHRDaGFyID09PSBjaGFyQ29kZXMuZ3JlYXRlclRoYW4pIHtcbiAgICAgIGZpbmlzaE9wKHR0LnBpcGVsaW5lLCAyKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKG5leHRDaGFyID09PSBjaGFyQ29kZXMucmlnaHRDdXJseUJyYWNlICYmIGlzRmxvd0VuYWJsZWQpIHtcbiAgICAgIC8vICd8fSdcbiAgICAgIGZpbmlzaE9wKHR0LmJyYWNlQmFyUiwgMik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKG5leHRDaGFyID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICBmaW5pc2hPcCh0dC5hc3NpZ24sIDIpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZpbmlzaE9wKGNvZGUgPT09IGNoYXJDb2Rlcy52ZXJ0aWNhbEJhciA/IHR0LmJpdHdpc2VPUiA6IHR0LmJpdHdpc2VBTkQsIDEpO1xufVxuXG5mdW5jdGlvbiByZWFkVG9rZW5fY2FyZXQoKSB7XG4gIC8vICdeJ1xuICBjb25zdCBuZXh0Q2hhciA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSk7XG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgZmluaXNoT3AodHQuYXNzaWduLCAyKTtcbiAgfSBlbHNlIHtcbiAgICBmaW5pc2hPcCh0dC5iaXR3aXNlWE9SLCAxKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWFkVG9rZW5fcGx1c19taW4oY29kZSkge1xuICAvLyAnKy0nXG4gIGNvbnN0IG5leHRDaGFyID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKTtcblxuICBpZiAobmV4dENoYXIgPT09IGNvZGUpIHtcbiAgICAvLyBUZW50YXRpdmVseSBjYWxsIHRoaXMgYSBwcmVmaXggb3BlcmF0b3IsIGJ1dCBpdCBtaWdodCBiZSBjaGFuZ2VkIHRvIHBvc3RmaXggbGF0ZXIuXG4gICAgZmluaXNoT3AodHQucHJlSW5jRGVjLCAyKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgIGZpbmlzaE9wKHR0LmFzc2lnbiwgMik7XG4gIH0gZWxzZSBpZiAoY29kZSA9PT0gY2hhckNvZGVzLnBsdXNTaWduKSB7XG4gICAgZmluaXNoT3AodHQucGx1cywgMSk7XG4gIH0gZWxzZSB7XG4gICAgZmluaXNoT3AodHQubWludXMsIDEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9sdCgpIHtcbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmxlc3NUaGFuKSB7XG4gICAgaWYgKGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMikgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgICAgZmluaXNoT3AodHQuYXNzaWduLCAzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gV2Ugc2VlIDw8LCBidXQgbmVlZCB0byBiZSByZWFsbHkgY2FyZWZ1bCBhYm91dCB3aGV0aGVyIHRvIHRyZWF0IGl0IGFzIGFcbiAgICAvLyB0cnVlIGxlZnQtc2hpZnQgb3IgYXMgdHdvIDwgdG9rZW5zLlxuICAgIGlmIChzdGF0ZS5pc1R5cGUpIHtcbiAgICAgIC8vIFdpdGhpbiBhIHR5cGUsIDw8IG1pZ2h0IGNvbWUgdXAgaW4gYSBzbmlwcGV0IGxpa2UgYEFycmF5PDxUPigpID0+IHZvaWQ+YCxcbiAgICAgIC8vIHNvIHRyZWF0IGl0IGFzIHR3byA8IHRva2Vucy4gSW1wb3J0YW50bHksIHRoaXMgc2hvdWxkIG9ubHkgb3ZlcnJpZGUgPDxcbiAgICAgIC8vIHJhdGhlciB0aGFuIG90aGVyIHRva2VucyBsaWtlIDw9IC4gSWYgd2UgdHJlYXRlZCA8PSBhcyA8IGluIGEgdHlwZVxuICAgICAgLy8gY29udGV4dCwgdGhlbiB0aGUgc25pcHBldCBgYSBhcyBUIDw9IDFgIHdvdWxkIGluY29ycmVjdGx5IHN0YXJ0IHBhcnNpbmdcbiAgICAgIC8vIGEgdHlwZSBhcmd1bWVudCBvbiBULiBXZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGBhIGFzIFQgPDwgMWBcbiAgICAgIC8vIGJlY2F1c2UgVHlwZVNjcmlwdCBkaXNhbGxvd3MgdGhhdCBzeW50YXguXG4gICAgICBmaW5pc2hPcCh0dC5sZXNzVGhhbiwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE91dHNpZGUgYSB0eXBlLCB0aGlzIG1pZ2h0IGJlIGEgdHJ1ZSBsZWZ0LXNoaWZ0IG9wZXJhdG9yLCBvciBpdCBtaWdodFxuICAgICAgLy8gc3RpbGwgYmUgdHdvIG9wZW4tdHlwZS1hcmcgdG9rZW5zLCBzdWNoIGFzIGluIGBmPDxUPigpID0+IHZvaWQ+KClgLiBXZVxuICAgICAgLy8gbG9vayBhdCB0aGUgdG9rZW4gd2hpbGUgY29uc2lkZXJpbmcgdGhlIGBmYCwgc28gd2UgZG9uJ3QgeWV0IGtub3cgdGhhdFxuICAgICAgLy8gd2UncmUgaW4gYSB0eXBlIGNvbnRleHQuIEluIHRoaXMgY2FzZSwgd2UgaW5pdGlhbGx5IHRva2VuaXplIGFzIGFcbiAgICAgIC8vIGxlZnQtc2hpZnQgYW5kIGNvcnJlY3QgYWZ0ZXItdGhlLWZhY3QgYXMgbmVjZXNzYXJ5IGluXG4gICAgICAvLyB0c1BhcnNlVHlwZUFyZ3VtZW50c1dpdGhQb3NzaWJsZUJpdHNoaWZ0IC5cbiAgICAgIGZpbmlzaE9wKHR0LmJpdFNoaWZ0TCwgMik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgLy8gPD1cbiAgICBmaW5pc2hPcCh0dC5yZWxhdGlvbmFsT3JFcXVhbCwgMik7XG4gIH0gZWxzZSB7XG4gICAgZmluaXNoT3AodHQubGVzc1RoYW4sIDEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9ndCgpIHtcbiAgaWYgKHN0YXRlLmlzVHlwZSkge1xuICAgIC8vIEF2b2lkIHJpZ2h0LXNoaWZ0IGZvciB0aGluZ3MgbGlrZSBgQXJyYXk8QXJyYXk8c3RyaW5nPj5gIGFuZFxuICAgIC8vIGdyZWF0ZXItdGhhbi1vci1lcXVhbCBmb3IgdGhpbmdzIGxpa2UgYGNvbnN0IGE6IEFycmF5PG51bWJlcj49W107YC5cbiAgICBmaW5pc2hPcCh0dC5ncmVhdGVyVGhhbiwgMSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmdyZWF0ZXJUaGFuKSB7XG4gICAgY29uc3Qgc2l6ZSA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMikgPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbiA/IDMgOiAyO1xuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIHNpemUpID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICAgIGZpbmlzaE9wKHR0LmFzc2lnbiwgc2l6ZSArIDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmaW5pc2hPcCh0dC5iaXRTaGlmdFIsIHNpemUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgLy8gPj1cbiAgICBmaW5pc2hPcCh0dC5yZWxhdGlvbmFsT3JFcXVhbCwgMik7XG4gIH0gZWxzZSB7XG4gICAgZmluaXNoT3AodHQuZ3JlYXRlclRoYW4sIDEpO1xuICB9XG59XG5cbi8qKlxuICogUmVpbnRlcnByZXQgYSBwb3NzaWJsZSA+IHRva2VuIHdoZW4gdHJhbnNpdGlvbmluZyBmcm9tIGEgdHlwZSB0byBhIG5vbi10eXBlXG4gKiBjb250ZXh0LlxuICpcbiAqIFRoaXMgY29tZXMgdXAgaW4gdHdvIHNpdHVhdGlvbnMgd2hlcmUgPj0gbmVlZHMgdG8gYmUgdHJlYXRlZCBhcyBvbmUgdG9rZW46XG4gKiAtIEFmdGVyIGFuIGBhc2AgZXhwcmVzc2lvbiwgbGlrZSBpbiB0aGUgY29kZSBgYSBhcyBUID49IDFgLlxuICogLSBJbiBhIHR5cGUgYXJndW1lbnQgaW4gYW4gZXhwcmVzc2lvbiBjb250ZXh0LCBlLmcuIGBmKGEgPCBiLCBjID49IGQpYCwgd2VcbiAqICAgbmVlZCB0byBzZWUgdGhlIHRva2VuIGFzID49IHNvIHRoYXQgd2UgZ2V0IGFuIGVycm9yIGFuZCBiYWNrdHJhY2sgdG9cbiAqICAgbm9ybWFsIGV4cHJlc3Npb24gcGFyc2luZy5cbiAqXG4gKiBPdGhlciBzaXR1YXRpb25zIHJlcXVpcmUgPj0gdG8gYmUgc2VlbiBhcyB0d28gdG9rZW5zLCBlLmcuXG4gKiBgY29uc3QgeDogQXJyYXk8VD49W107YCwgc28gaXQncyBpbXBvcnRhbnQgdG8gdHJlYXQgPiBhcyBpdHMgb3duIHRva2VuIGluXG4gKiB0eXBpY2FsIHR5cGUgcGFyc2luZyBzaXR1YXRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzY2FuX2d0KCkge1xuICBpZiAoc3RhdGUudHlwZSA9PT0gdHQuZ3JlYXRlclRoYW4pIHtcbiAgICBzdGF0ZS5wb3MgLT0gMTtcbiAgICByZWFkVG9rZW5fZ3QoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWFkVG9rZW5fZXFfZXhjbChjb2RlKSB7XG4gIC8vICc9ISdcbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgIGZpbmlzaE9wKHR0LmVxdWFsaXR5LCBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDIpID09PSBjaGFyQ29kZXMuZXF1YWxzVG8gPyAzIDogMik7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChjb2RlID09PSBjaGFyQ29kZXMuZXF1YWxzVG8gJiYgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbikge1xuICAgIC8vICc9PidcbiAgICBzdGF0ZS5wb3MgKz0gMjtcbiAgICBmaW5pc2hUb2tlbih0dC5hcnJvdyk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGZpbmlzaE9wKGNvZGUgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbyA/IHR0LmVxIDogdHQuYmFuZywgMSk7XG59XG5cbmZ1bmN0aW9uIHJlYWRUb2tlbl9xdWVzdGlvbigpIHtcbiAgLy8gJz8nXG4gIGNvbnN0IG5leHRDaGFyID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKTtcbiAgY29uc3QgbmV4dENoYXIyID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAyKTtcbiAgaWYgKFxuICAgIG5leHRDaGFyID09PSBjaGFyQ29kZXMucXVlc3Rpb25NYXJrICYmXG4gICAgLy8gSW4gRmxvdyAoYnV0IG5vdCBUeXBlU2NyaXB0KSwgPz9zdHJpbmcgaXMgYSB2YWxpZCB0eXBlIHRoYXQgc2hvdWxkIGJlXG4gICAgLy8gdG9rZW5pemVkIGFzIHR3byBpbmRpdmlkdWFsID8gdG9rZW5zLlxuICAgICEoaXNGbG93RW5hYmxlZCAmJiBzdGF0ZS5pc1R5cGUpXG4gICkge1xuICAgIGlmIChuZXh0Q2hhcjIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgICAgLy8gJz8/PSdcbiAgICAgIGZpbmlzaE9wKHR0LmFzc2lnbiwgMyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vICc/PydcbiAgICAgIGZpbmlzaE9wKHR0Lm51bGxpc2hDb2FsZXNjaW5nLCAyKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoXG4gICAgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5kb3QgJiZcbiAgICAhKG5leHRDaGFyMiA+PSBjaGFyQ29kZXMuZGlnaXQwICYmIG5leHRDaGFyMiA8PSBjaGFyQ29kZXMuZGlnaXQ5KVxuICApIHtcbiAgICAvLyAnLicgbm90IGZvbGxvd2VkIGJ5IGEgbnVtYmVyXG4gICAgc3RhdGUucG9zICs9IDI7XG4gICAgZmluaXNoVG9rZW4odHQucXVlc3Rpb25Eb3QpO1xuICB9IGVsc2Uge1xuICAgICsrc3RhdGUucG9zO1xuICAgIGZpbmlzaFRva2VuKHR0LnF1ZXN0aW9uKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9rZW5Gcm9tQ29kZShjb2RlKSB7XG4gIHN3aXRjaCAoY29kZSkge1xuICAgIGNhc2UgY2hhckNvZGVzLm51bWJlclNpZ246XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0Lmhhc2gpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgLy8gVGhlIGludGVycHJldGF0aW9uIG9mIGEgZG90IGRlcGVuZHMgb24gd2hldGhlciBpdCBpcyBmb2xsb3dlZFxuICAgIC8vIGJ5IGEgZGlnaXQgb3IgYW5vdGhlciB0d28gZG90cy5cblxuICAgIGNhc2UgY2hhckNvZGVzLmRvdDpcbiAgICAgIHJlYWRUb2tlbl9kb3QoKTtcbiAgICAgIHJldHVybjtcblxuICAgIC8vIFB1bmN0dWF0aW9uIHRva2Vucy5cbiAgICBjYXNlIGNoYXJDb2Rlcy5sZWZ0UGFyZW50aGVzaXM6XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0LnBhcmVuTCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBjaGFyQ29kZXMucmlnaHRQYXJlbnRoZXNpczpcbiAgICAgICsrc3RhdGUucG9zO1xuICAgICAgZmluaXNoVG9rZW4odHQucGFyZW5SKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIGNoYXJDb2Rlcy5zZW1pY29sb246XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0LnNlbWkpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgY2hhckNvZGVzLmNvbW1hOlxuICAgICAgKytzdGF0ZS5wb3M7XG4gICAgICBmaW5pc2hUb2tlbih0dC5jb21tYSk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBjaGFyQ29kZXMubGVmdFNxdWFyZUJyYWNrZXQ6XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0LmJyYWNrZXRMKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIGNoYXJDb2Rlcy5yaWdodFNxdWFyZUJyYWNrZXQ6XG4gICAgICArK3N0YXRlLnBvcztcbiAgICAgIGZpbmlzaFRva2VuKHR0LmJyYWNrZXRSKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlOlxuICAgICAgaWYgKGlzRmxvd0VuYWJsZWQgJiYgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKSA9PT0gY2hhckNvZGVzLnZlcnRpY2FsQmFyKSB7XG4gICAgICAgIGZpbmlzaE9wKHR0LmJyYWNlQmFyTCwgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICArK3N0YXRlLnBvcztcbiAgICAgICAgZmluaXNoVG9rZW4odHQuYnJhY2VMKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLnJpZ2h0Q3VybHlCcmFjZTpcbiAgICAgICsrc3RhdGUucG9zO1xuICAgICAgZmluaXNoVG9rZW4odHQuYnJhY2VSKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLmNvbG9uOlxuICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zICsgMSkgPT09IGNoYXJDb2Rlcy5jb2xvbikge1xuICAgICAgICBmaW5pc2hPcCh0dC5kb3VibGVDb2xvbiwgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICArK3N0YXRlLnBvcztcbiAgICAgICAgZmluaXNoVG9rZW4odHQuY29sb24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMucXVlc3Rpb25NYXJrOlxuICAgICAgcmVhZFRva2VuX3F1ZXN0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSBjaGFyQ29kZXMuYXRTaWduOlxuICAgICAgKytzdGF0ZS5wb3M7XG4gICAgICBmaW5pc2hUb2tlbih0dC5hdCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIGNoYXJDb2Rlcy5ncmF2ZUFjY2VudDpcbiAgICAgICsrc3RhdGUucG9zO1xuICAgICAgZmluaXNoVG9rZW4odHQuYmFja1F1b3RlKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0MDoge1xuICAgICAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyArIDEpO1xuICAgICAgLy8gJzB4JywgJzBYJywgJzBvJywgJzBPJywgJzBiJywgJzBCJ1xuICAgICAgaWYgKFxuICAgICAgICBuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmxvd2VyY2FzZVggfHxcbiAgICAgICAgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy51cHBlcmNhc2VYIHx8XG4gICAgICAgIG5leHRDaGFyID09PSBjaGFyQ29kZXMubG93ZXJjYXNlTyB8fFxuICAgICAgICBuZXh0Q2hhciA9PT0gY2hhckNvZGVzLnVwcGVyY2FzZU8gfHxcbiAgICAgICAgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VCIHx8XG4gICAgICAgIG5leHRDaGFyID09PSBjaGFyQ29kZXMudXBwZXJjYXNlQlxuICAgICAgKSB7XG4gICAgICAgIHJlYWRSYWRpeE51bWJlcigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEFueXRoaW5nIGVsc2UgYmVnaW5uaW5nIHdpdGggYSBkaWdpdCBpcyBhbiBpbnRlZ2VyLCBvY3RhbFxuICAgIC8vIG51bWJlciwgb3IgZmxvYXQuXG4gICAgY2FzZSBjaGFyQ29kZXMuZGlnaXQxOlxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0MjpcbiAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDM6XG4gICAgY2FzZSBjaGFyQ29kZXMuZGlnaXQ0OlxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0NTpcbiAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDY6XG4gICAgY2FzZSBjaGFyQ29kZXMuZGlnaXQ3OlxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0ODpcbiAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDk6XG4gICAgICByZWFkTnVtYmVyKGZhbHNlKTtcbiAgICAgIHJldHVybjtcblxuICAgIC8vIFF1b3RlcyBwcm9kdWNlIHN0cmluZ3MuXG4gICAgY2FzZSBjaGFyQ29kZXMucXVvdGF0aW9uTWFyazpcbiAgICBjYXNlIGNoYXJDb2Rlcy5hcG9zdHJvcGhlOlxuICAgICAgcmVhZFN0cmluZyhjb2RlKTtcbiAgICAgIHJldHVybjtcblxuICAgIC8vIE9wZXJhdG9ycyBhcmUgcGFyc2VkIGlubGluZSBpbiB0aW55IHN0YXRlIG1hY2hpbmVzLiAnPScgKGNoYXJDb2Rlcy5lcXVhbHNUbykgaXNcbiAgICAvLyBvZnRlbiByZWZlcnJlZCB0by4gYGZpbmlzaE9wYCBzaW1wbHkgc2tpcHMgdGhlIGFtb3VudCBvZlxuICAgIC8vIGNoYXJhY3RlcnMgaXQgaXMgZ2l2ZW4gYXMgc2Vjb25kIGFyZ3VtZW50LCBhbmQgcmV0dXJucyBhIHRva2VuXG4gICAgLy8gb2YgdGhlIHR5cGUgZ2l2ZW4gYnkgaXRzIGZpcnN0IGFyZ3VtZW50LlxuXG4gICAgY2FzZSBjaGFyQ29kZXMuc2xhc2g6XG4gICAgICByZWFkVG9rZW5fc2xhc2goKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLnBlcmNlbnRTaWduOlxuICAgIGNhc2UgY2hhckNvZGVzLmFzdGVyaXNrOlxuICAgICAgcmVhZFRva2VuX211bHRfbW9kdWxvKGNvZGUpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMudmVydGljYWxCYXI6XG4gICAgY2FzZSBjaGFyQ29kZXMuYW1wZXJzYW5kOlxuICAgICAgcmVhZFRva2VuX3BpcGVfYW1wKGNvZGUpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMuY2FyZXQ6XG4gICAgICByZWFkVG9rZW5fY2FyZXQoKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLnBsdXNTaWduOlxuICAgIGNhc2UgY2hhckNvZGVzLmRhc2g6XG4gICAgICByZWFkVG9rZW5fcGx1c19taW4oY29kZSk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIGNoYXJDb2Rlcy5sZXNzVGhhbjpcbiAgICAgIHJlYWRUb2tlbl9sdCgpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMuZ3JlYXRlclRoYW46XG4gICAgICByZWFkVG9rZW5fZ3QoKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgY2hhckNvZGVzLmVxdWFsc1RvOlxuICAgIGNhc2UgY2hhckNvZGVzLmV4Y2xhbWF0aW9uTWFyazpcbiAgICAgIHJlYWRUb2tlbl9lcV9leGNsKGNvZGUpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBjaGFyQ29kZXMudGlsZGU6XG4gICAgICBmaW5pc2hPcCh0dC50aWxkZSwgMSk7XG4gICAgICByZXR1cm47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICB1bmV4cGVjdGVkKGBVbmV4cGVjdGVkIGNoYXJhY3RlciAnJHtTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpfSdgLCBzdGF0ZS5wb3MpO1xufVxuXG5mdW5jdGlvbiBmaW5pc2hPcCh0eXBlLCBzaXplKSB7XG4gIHN0YXRlLnBvcyArPSBzaXplO1xuICBmaW5pc2hUb2tlbih0eXBlKTtcbn1cblxuZnVuY3Rpb24gcmVhZFJlZ2V4cCgpIHtcbiAgY29uc3Qgc3RhcnQgPSBzdGF0ZS5wb3M7XG4gIGxldCBlc2NhcGVkID0gZmFsc2U7XG4gIGxldCBpbkNsYXNzID0gZmFsc2U7XG4gIGZvciAoOzspIHtcbiAgICBpZiAoc3RhdGUucG9zID49IGlucHV0Lmxlbmd0aCkge1xuICAgICAgdW5leHBlY3RlZChcIlVudGVybWluYXRlZCByZWd1bGFyIGV4cHJlc3Npb25cIiwgc3RhcnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb2RlID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChlc2NhcGVkKSB7XG4gICAgICBlc2NhcGVkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChjb2RlID09PSBjaGFyQ29kZXMubGVmdFNxdWFyZUJyYWNrZXQpIHtcbiAgICAgICAgaW5DbGFzcyA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5yaWdodFNxdWFyZUJyYWNrZXQgJiYgaW5DbGFzcykge1xuICAgICAgICBpbkNsYXNzID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5zbGFzaCAmJiAhaW5DbGFzcykge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGVzY2FwZWQgPSBjb2RlID09PSBjaGFyQ29kZXMuYmFja3NsYXNoO1xuICAgIH1cbiAgICArK3N0YXRlLnBvcztcbiAgfVxuICArK3N0YXRlLnBvcztcbiAgLy8gTmVlZCB0byB1c2UgYHNraXBXb3JkYCBiZWNhdXNlICdcXHVYWFhYJyBzZXF1ZW5jZXMgYXJlIGFsbG93ZWQgaGVyZSAoZG9uJ3QgYXNrKS5cbiAgc2tpcFdvcmQoKTtcblxuICBmaW5pc2hUb2tlbih0dC5yZWdleHApO1xufVxuXG4vKipcbiAqIFJlYWQgYSBkZWNpbWFsIGludGVnZXIuIE5vdGUgdGhhdCB0aGlzIGNhbid0IGJlIHVuaWZpZWQgd2l0aCB0aGUgc2ltaWxhciBjb2RlXG4gKiBpbiByZWFkUmFkaXhOdW1iZXIgKHdoaWNoIGFsc28gaGFuZGxlcyBoZXggZGlnaXRzKSBiZWNhdXNlIFwiZVwiIG5lZWRzIHRvIGJlXG4gKiB0aGUgZW5kIG9mIHRoZSBpbnRlZ2VyIHNvIHRoYXQgd2UgY2FuIHByb3Blcmx5IGhhbmRsZSBzY2llbnRpZmljIG5vdGF0aW9uLlxuICovXG5mdW5jdGlvbiByZWFkSW50KCkge1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gICAgaWYgKChjb2RlID49IGNoYXJDb2Rlcy5kaWdpdDAgJiYgY29kZSA8PSBjaGFyQ29kZXMuZGlnaXQ5KSB8fCBjb2RlID09PSBjaGFyQ29kZXMudW5kZXJzY29yZSkge1xuICAgICAgc3RhdGUucG9zKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZWFkUmFkaXhOdW1iZXIoKSB7XG4gIHN0YXRlLnBvcyArPSAyOyAvLyAweFxuXG4gIC8vIFdhbGsgdG8gdGhlIGVuZCBvZiB0aGUgbnVtYmVyLCBhbGxvd2luZyBoZXggZGlnaXRzLlxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gICAgaWYgKFxuICAgICAgKGNvZGUgPj0gY2hhckNvZGVzLmRpZ2l0MCAmJiBjb2RlIDw9IGNoYXJDb2Rlcy5kaWdpdDkpIHx8XG4gICAgICAoY29kZSA+PSBjaGFyQ29kZXMubG93ZXJjYXNlQSAmJiBjb2RlIDw9IGNoYXJDb2Rlcy5sb3dlcmNhc2VGKSB8fFxuICAgICAgKGNvZGUgPj0gY2hhckNvZGVzLnVwcGVyY2FzZUEgJiYgY29kZSA8PSBjaGFyQ29kZXMudXBwZXJjYXNlRikgfHxcbiAgICAgIGNvZGUgPT09IGNoYXJDb2Rlcy51bmRlcnNjb3JlXG4gICAgKSB7XG4gICAgICBzdGF0ZS5wb3MrKztcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmxvd2VyY2FzZU4pIHtcbiAgICArK3N0YXRlLnBvcztcbiAgICBmaW5pc2hUb2tlbih0dC5iaWdpbnQpO1xuICB9IGVsc2Uge1xuICAgIGZpbmlzaFRva2VuKHR0Lm51bSk7XG4gIH1cbn1cblxuLy8gUmVhZCBhbiBpbnRlZ2VyLCBvY3RhbCBpbnRlZ2VyLCBvciBmbG9hdGluZy1wb2ludCBudW1iZXIuXG5mdW5jdGlvbiByZWFkTnVtYmVyKHN0YXJ0c1dpdGhEb3QpIHtcbiAgbGV0IGlzQmlnSW50ID0gZmFsc2U7XG4gIGxldCBpc0RlY2ltYWwgPSBmYWxzZTtcblxuICBpZiAoIXN0YXJ0c1dpdGhEb3QpIHtcbiAgICByZWFkSW50KCk7XG4gIH1cblxuICBsZXQgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmRvdCkge1xuICAgICsrc3RhdGUucG9zO1xuICAgIHJlYWRJbnQoKTtcbiAgICBuZXh0Q2hhciA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zKTtcbiAgfVxuXG4gIGlmIChuZXh0Q2hhciA9PT0gY2hhckNvZGVzLnVwcGVyY2FzZUUgfHwgbmV4dENoYXIgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VFKSB7XG4gICAgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zKTtcbiAgICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5wbHVzU2lnbiB8fCBuZXh0Q2hhciA9PT0gY2hhckNvZGVzLmRhc2gpIHtcbiAgICAgICsrc3RhdGUucG9zO1xuICAgIH1cbiAgICByZWFkSW50KCk7XG4gICAgbmV4dENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcyk7XG4gIH1cblxuICBpZiAobmV4dENoYXIgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VOKSB7XG4gICAgKytzdGF0ZS5wb3M7XG4gICAgaXNCaWdJbnQgPSB0cnVlO1xuICB9IGVsc2UgaWYgKG5leHRDaGFyID09PSBjaGFyQ29kZXMubG93ZXJjYXNlTSkge1xuICAgICsrc3RhdGUucG9zO1xuICAgIGlzRGVjaW1hbCA9IHRydWU7XG4gIH1cblxuICBpZiAoaXNCaWdJbnQpIHtcbiAgICBmaW5pc2hUb2tlbih0dC5iaWdpbnQpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpc0RlY2ltYWwpIHtcbiAgICBmaW5pc2hUb2tlbih0dC5kZWNpbWFsKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBmaW5pc2hUb2tlbih0dC5udW0pO1xufVxuXG5mdW5jdGlvbiByZWFkU3RyaW5nKHF1b3RlKSB7XG4gIHN0YXRlLnBvcysrO1xuICBmb3IgKDs7KSB7XG4gICAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHVuZXhwZWN0ZWQoXCJVbnRlcm1pbmF0ZWQgc3RyaW5nIGNvbnN0YW50XCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjaCA9IGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zKTtcbiAgICBpZiAoY2ggPT09IGNoYXJDb2Rlcy5iYWNrc2xhc2gpIHtcbiAgICAgIHN0YXRlLnBvcysrO1xuICAgIH0gZWxzZSBpZiAoY2ggPT09IHF1b3RlKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgc3RhdGUucG9zKys7XG4gIH1cbiAgc3RhdGUucG9zKys7XG4gIGZpbmlzaFRva2VuKHR0LnN0cmluZyk7XG59XG5cbi8vIFJlYWRzIHRlbXBsYXRlIHN0cmluZyB0b2tlbnMuXG5mdW5jdGlvbiByZWFkVG1wbFRva2VuKCkge1xuICBmb3IgKDs7KSB7XG4gICAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHVuZXhwZWN0ZWQoXCJVbnRlcm1pbmF0ZWQgdGVtcGxhdGVcIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChcbiAgICAgIGNoID09PSBjaGFyQ29kZXMuZ3JhdmVBY2NlbnQgfHxcbiAgICAgIChjaCA9PT0gY2hhckNvZGVzLmRvbGxhclNpZ24gJiYgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MgKyAxKSA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlKVxuICAgICkge1xuICAgICAgaWYgKHN0YXRlLnBvcyA9PT0gc3RhdGUuc3RhcnQgJiYgbWF0Y2godHQudGVtcGxhdGUpKSB7XG4gICAgICAgIGlmIChjaCA9PT0gY2hhckNvZGVzLmRvbGxhclNpZ24pIHtcbiAgICAgICAgICBzdGF0ZS5wb3MgKz0gMjtcbiAgICAgICAgICBmaW5pc2hUb2tlbih0dC5kb2xsYXJCcmFjZUwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICArK3N0YXRlLnBvcztcbiAgICAgICAgICBmaW5pc2hUb2tlbih0dC5iYWNrUXVvdGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZmluaXNoVG9rZW4odHQudGVtcGxhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY2ggPT09IGNoYXJDb2Rlcy5iYWNrc2xhc2gpIHtcbiAgICAgIHN0YXRlLnBvcysrO1xuICAgIH1cbiAgICBzdGF0ZS5wb3MrKztcbiAgfVxufVxuXG4vLyBTa2lwIHRvIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgd29yZC4gTm90ZSB0aGF0IHRoaXMgaXMgdGhlIHNhbWUgYXMgdGhlIHNuaXBwZXQgYXQgdGhlIGVuZCBvZlxuLy8gcmVhZFdvcmQsIGJ1dCBjYWxsaW5nIHNraXBXb3JkIGZyb20gcmVhZFdvcmQgc2VlbXMgdG8gc2xpZ2h0bHkgaHVydCBwZXJmb3JtYW5jZSBmcm9tIHNvbWUgcm91Z2hcbi8vIG1lYXN1cmVtZW50cy5cbmV4cG9ydCBmdW5jdGlvbiBza2lwV29yZCgpIHtcbiAgd2hpbGUgKHN0YXRlLnBvcyA8IGlucHV0Lmxlbmd0aCkge1xuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChJU19JREVOVElGSUVSX0NIQVJbY2hdKSB7XG4gICAgICBzdGF0ZS5wb3MrKztcbiAgICB9IGVsc2UgaWYgKGNoID09PSBjaGFyQ29kZXMuYmFja3NsYXNoKSB7XG4gICAgICAvLyBcXHVcbiAgICAgIHN0YXRlLnBvcyArPSAyO1xuICAgICAgaWYgKGlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zKSA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlKSB7XG4gICAgICAgIHdoaWxlIChcbiAgICAgICAgICBzdGF0ZS5wb3MgPCBpbnB1dC5sZW5ndGggJiZcbiAgICAgICAgICBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvcykgIT09IGNoYXJDb2Rlcy5yaWdodEN1cmx5QnJhY2VcbiAgICAgICAgKSB7XG4gICAgICAgICAgc3RhdGUucG9zKys7XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUucG9zKys7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwgImltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5cbiBcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyoqXG4gKiBEZXRlcm1pbmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBuYW1lZCBpbXBvcnQgb3IgbmFtZWQgZXhwb3J0IHNwZWNpZmllci5cbiAqXG4gKiBUaGlzIHN5bnRheCBpcyB0aGUgYGFgIGZyb20gc3RhdGVtZW50cyBsaWtlIHRoZXNlOlxuICogaW1wb3J0IHtBfSBmcm9tIFwiLi9mb29cIjtcbiAqIGV4cG9ydCB7QX07XG4gKiBleHBvcnQge0F9IGZyb20gXCIuL2Zvb1wiO1xuICpcbiAqIEFzIGl0IHR1cm5zIG91dCwgd2UgY2FuIGV4YWN0bHkgY2hhcmFjdGVyaXplIHRoZSBzeW50YXggbWVhbmluZyBieSBzaW1wbHlcbiAqIGNvdW50aW5nIHRoZSBudW1iZXIgb2YgdG9rZW5zLCB3aGljaCBjYW4gYmUgZnJvbSAxIHRvIDQ6XG4gKiB7QX1cbiAqIHt0eXBlIEF9XG4gKiB7QSBhcyBCfVxuICoge3R5cGUgQSBhcyBCfVxuICpcbiAqIEluIHRoZSB0eXBlIGNhc2UsIHdlIG5ldmVyIGFjdHVhbGx5IG5lZWQgdGhlIG5hbWVzIGluIHByYWN0aWNlLCBzbyBkb24ndCBnZXRcbiAqIHRoZW0uXG4gKlxuICogVE9ETzogVGhlcmUncyBzb21lIHJlZHVuZGFuY3kgd2l0aCB0aGUgdHlwZSBkZXRlY3Rpb24gaGVyZSBhbmQgdGhlIGlzVHlwZVxuICogZmxhZyB0aGF0J3MgYWxyZWFkeSBwcmVzZW50IG9uIHRva2VucyBpbiBUUyBtb2RlLiBUaGlzIGZ1bmN0aW9uIGNvdWxkXG4gKiBwb3RlbnRpYWxseSBiZSBzaW1wbGlmaWVkIGFuZC9vciBwdXNoZWQgdG8gdGhlIGNhbGwgc2l0ZXMgdG8gYXZvaWQgdGhlIG9iamVjdFxuICogYWxsb2NhdGlvbi5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mbyhcbiAgdG9rZW5zLFxuICBpbmRleCA9IHRva2Vucy5jdXJyZW50SW5kZXgoKSxcbikge1xuICBsZXQgZW5kSW5kZXggPSBpbmRleCArIDE7XG4gIGlmIChpc1NwZWNpZmllckVuZCh0b2tlbnMsIGVuZEluZGV4KSkge1xuICAgIC8vIGltcG9ydCB7QX1cbiAgICBjb25zdCBuYW1lID0gdG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVHlwZTogZmFsc2UsXG4gICAgICBsZWZ0TmFtZTogbmFtZSxcbiAgICAgIHJpZ2h0TmFtZTogbmFtZSxcbiAgICAgIGVuZEluZGV4LFxuICAgIH07XG4gIH1cbiAgZW5kSW5kZXgrKztcbiAgaWYgKGlzU3BlY2lmaWVyRW5kKHRva2VucywgZW5kSW5kZXgpKSB7XG4gICAgLy8gaW1wb3J0IHt0eXBlIEF9XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVHlwZTogdHJ1ZSxcbiAgICAgIGxlZnROYW1lOiBudWxsLFxuICAgICAgcmlnaHROYW1lOiBudWxsLFxuICAgICAgZW5kSW5kZXgsXG4gICAgfTtcbiAgfVxuICBlbmRJbmRleCsrO1xuICBpZiAoaXNTcGVjaWZpZXJFbmQodG9rZW5zLCBlbmRJbmRleCkpIHtcbiAgICAvLyBpbXBvcnQge0EgYXMgQn1cbiAgICByZXR1cm4ge1xuICAgICAgaXNUeXBlOiBmYWxzZSxcbiAgICAgIGxlZnROYW1lOiB0b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KGluZGV4KSxcbiAgICAgIHJpZ2h0TmFtZTogdG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCArIDIpLFxuICAgICAgZW5kSW5kZXgsXG4gICAgfTtcbiAgfVxuICBlbmRJbmRleCsrO1xuICBpZiAoaXNTcGVjaWZpZXJFbmQodG9rZW5zLCBlbmRJbmRleCkpIHtcbiAgICAvLyBpbXBvcnQge3R5cGUgQSBhcyBCfVxuICAgIHJldHVybiB7XG4gICAgICBpc1R5cGU6IHRydWUsXG4gICAgICBsZWZ0TmFtZTogbnVsbCxcbiAgICAgIHJpZ2h0TmFtZTogbnVsbCxcbiAgICAgIGVuZEluZGV4LFxuICAgIH07XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGltcG9ydC9leHBvcnQgc3BlY2lmaWVyIGF0ICR7aW5kZXh9YCk7XG59XG5cbmZ1bmN0aW9uIGlzU3BlY2lmaWVyRW5kKHRva2VucywgaW5kZXgpIHtcbiAgY29uc3QgdG9rZW4gPSB0b2tlbnMudG9rZW5zW2luZGV4XTtcbiAgcmV0dXJuIHRva2VuLnR5cGUgPT09IHR0LmJyYWNlUiB8fCB0b2tlbi50eXBlID09PSB0dC5jb21tYTtcbn1cbiIsICIvLyBVc2UgYSBNYXAgcmF0aGVyIHRoYW4gb2JqZWN0IHRvIGF2b2lkIHVuZXhwZWN0ZWQgX19wcm90b19fIGFjY2Vzcy5cbmV4cG9ydCBkZWZhdWx0IG5ldyBNYXAoW1xuICBbXCJxdW90XCIsIFwiXFx1MDAyMlwiXSxcbiAgW1wiYW1wXCIsIFwiJlwiXSxcbiAgW1wiYXBvc1wiLCBcIlxcdTAwMjdcIl0sXG4gIFtcImx0XCIsIFwiPFwiXSxcbiAgW1wiZ3RcIiwgXCI+XCJdLFxuICBbXCJuYnNwXCIsIFwiXFx1MDBBMFwiXSxcbiAgW1wiaWV4Y2xcIiwgXCJcXHUwMEExXCJdLFxuICBbXCJjZW50XCIsIFwiXFx1MDBBMlwiXSxcbiAgW1wicG91bmRcIiwgXCJcXHUwMEEzXCJdLFxuICBbXCJjdXJyZW5cIiwgXCJcXHUwMEE0XCJdLFxuICBbXCJ5ZW5cIiwgXCJcXHUwMEE1XCJdLFxuICBbXCJicnZiYXJcIiwgXCJcXHUwMEE2XCJdLFxuICBbXCJzZWN0XCIsIFwiXFx1MDBBN1wiXSxcbiAgW1widW1sXCIsIFwiXFx1MDBBOFwiXSxcbiAgW1wiY29weVwiLCBcIlxcdTAwQTlcIl0sXG4gIFtcIm9yZGZcIiwgXCJcXHUwMEFBXCJdLFxuICBbXCJsYXF1b1wiLCBcIlxcdTAwQUJcIl0sXG4gIFtcIm5vdFwiLCBcIlxcdTAwQUNcIl0sXG4gIFtcInNoeVwiLCBcIlxcdTAwQURcIl0sXG4gIFtcInJlZ1wiLCBcIlxcdTAwQUVcIl0sXG4gIFtcIm1hY3JcIiwgXCJcXHUwMEFGXCJdLFxuICBbXCJkZWdcIiwgXCJcXHUwMEIwXCJdLFxuICBbXCJwbHVzbW5cIiwgXCJcXHUwMEIxXCJdLFxuICBbXCJzdXAyXCIsIFwiXFx1MDBCMlwiXSxcbiAgW1wic3VwM1wiLCBcIlxcdTAwQjNcIl0sXG4gIFtcImFjdXRlXCIsIFwiXFx1MDBCNFwiXSxcbiAgW1wibWljcm9cIiwgXCJcXHUwMEI1XCJdLFxuICBbXCJwYXJhXCIsIFwiXFx1MDBCNlwiXSxcbiAgW1wibWlkZG90XCIsIFwiXFx1MDBCN1wiXSxcbiAgW1wiY2VkaWxcIiwgXCJcXHUwMEI4XCJdLFxuICBbXCJzdXAxXCIsIFwiXFx1MDBCOVwiXSxcbiAgW1wib3JkbVwiLCBcIlxcdTAwQkFcIl0sXG4gIFtcInJhcXVvXCIsIFwiXFx1MDBCQlwiXSxcbiAgW1wiZnJhYzE0XCIsIFwiXFx1MDBCQ1wiXSxcbiAgW1wiZnJhYzEyXCIsIFwiXFx1MDBCRFwiXSxcbiAgW1wiZnJhYzM0XCIsIFwiXFx1MDBCRVwiXSxcbiAgW1wiaXF1ZXN0XCIsIFwiXFx1MDBCRlwiXSxcbiAgW1wiQWdyYXZlXCIsIFwiXFx1MDBDMFwiXSxcbiAgW1wiQWFjdXRlXCIsIFwiXFx1MDBDMVwiXSxcbiAgW1wiQWNpcmNcIiwgXCJcXHUwMEMyXCJdLFxuICBbXCJBdGlsZGVcIiwgXCJcXHUwMEMzXCJdLFxuICBbXCJBdW1sXCIsIFwiXFx1MDBDNFwiXSxcbiAgW1wiQXJpbmdcIiwgXCJcXHUwMEM1XCJdLFxuICBbXCJBRWxpZ1wiLCBcIlxcdTAwQzZcIl0sXG4gIFtcIkNjZWRpbFwiLCBcIlxcdTAwQzdcIl0sXG4gIFtcIkVncmF2ZVwiLCBcIlxcdTAwQzhcIl0sXG4gIFtcIkVhY3V0ZVwiLCBcIlxcdTAwQzlcIl0sXG4gIFtcIkVjaXJjXCIsIFwiXFx1MDBDQVwiXSxcbiAgW1wiRXVtbFwiLCBcIlxcdTAwQ0JcIl0sXG4gIFtcIklncmF2ZVwiLCBcIlxcdTAwQ0NcIl0sXG4gIFtcIklhY3V0ZVwiLCBcIlxcdTAwQ0RcIl0sXG4gIFtcIkljaXJjXCIsIFwiXFx1MDBDRVwiXSxcbiAgW1wiSXVtbFwiLCBcIlxcdTAwQ0ZcIl0sXG4gIFtcIkVUSFwiLCBcIlxcdTAwRDBcIl0sXG4gIFtcIk50aWxkZVwiLCBcIlxcdTAwRDFcIl0sXG4gIFtcIk9ncmF2ZVwiLCBcIlxcdTAwRDJcIl0sXG4gIFtcIk9hY3V0ZVwiLCBcIlxcdTAwRDNcIl0sXG4gIFtcIk9jaXJjXCIsIFwiXFx1MDBENFwiXSxcbiAgW1wiT3RpbGRlXCIsIFwiXFx1MDBENVwiXSxcbiAgW1wiT3VtbFwiLCBcIlxcdTAwRDZcIl0sXG4gIFtcInRpbWVzXCIsIFwiXFx1MDBEN1wiXSxcbiAgW1wiT3NsYXNoXCIsIFwiXFx1MDBEOFwiXSxcbiAgW1wiVWdyYXZlXCIsIFwiXFx1MDBEOVwiXSxcbiAgW1wiVWFjdXRlXCIsIFwiXFx1MDBEQVwiXSxcbiAgW1wiVWNpcmNcIiwgXCJcXHUwMERCXCJdLFxuICBbXCJVdW1sXCIsIFwiXFx1MDBEQ1wiXSxcbiAgW1wiWWFjdXRlXCIsIFwiXFx1MDBERFwiXSxcbiAgW1wiVEhPUk5cIiwgXCJcXHUwMERFXCJdLFxuICBbXCJzemxpZ1wiLCBcIlxcdTAwREZcIl0sXG4gIFtcImFncmF2ZVwiLCBcIlxcdTAwRTBcIl0sXG4gIFtcImFhY3V0ZVwiLCBcIlxcdTAwRTFcIl0sXG4gIFtcImFjaXJjXCIsIFwiXFx1MDBFMlwiXSxcbiAgW1wiYXRpbGRlXCIsIFwiXFx1MDBFM1wiXSxcbiAgW1wiYXVtbFwiLCBcIlxcdTAwRTRcIl0sXG4gIFtcImFyaW5nXCIsIFwiXFx1MDBFNVwiXSxcbiAgW1wiYWVsaWdcIiwgXCJcXHUwMEU2XCJdLFxuICBbXCJjY2VkaWxcIiwgXCJcXHUwMEU3XCJdLFxuICBbXCJlZ3JhdmVcIiwgXCJcXHUwMEU4XCJdLFxuICBbXCJlYWN1dGVcIiwgXCJcXHUwMEU5XCJdLFxuICBbXCJlY2lyY1wiLCBcIlxcdTAwRUFcIl0sXG4gIFtcImV1bWxcIiwgXCJcXHUwMEVCXCJdLFxuICBbXCJpZ3JhdmVcIiwgXCJcXHUwMEVDXCJdLFxuICBbXCJpYWN1dGVcIiwgXCJcXHUwMEVEXCJdLFxuICBbXCJpY2lyY1wiLCBcIlxcdTAwRUVcIl0sXG4gIFtcIml1bWxcIiwgXCJcXHUwMEVGXCJdLFxuICBbXCJldGhcIiwgXCJcXHUwMEYwXCJdLFxuICBbXCJudGlsZGVcIiwgXCJcXHUwMEYxXCJdLFxuICBbXCJvZ3JhdmVcIiwgXCJcXHUwMEYyXCJdLFxuICBbXCJvYWN1dGVcIiwgXCJcXHUwMEYzXCJdLFxuICBbXCJvY2lyY1wiLCBcIlxcdTAwRjRcIl0sXG4gIFtcIm90aWxkZVwiLCBcIlxcdTAwRjVcIl0sXG4gIFtcIm91bWxcIiwgXCJcXHUwMEY2XCJdLFxuICBbXCJkaXZpZGVcIiwgXCJcXHUwMEY3XCJdLFxuICBbXCJvc2xhc2hcIiwgXCJcXHUwMEY4XCJdLFxuICBbXCJ1Z3JhdmVcIiwgXCJcXHUwMEY5XCJdLFxuICBbXCJ1YWN1dGVcIiwgXCJcXHUwMEZBXCJdLFxuICBbXCJ1Y2lyY1wiLCBcIlxcdTAwRkJcIl0sXG4gIFtcInV1bWxcIiwgXCJcXHUwMEZDXCJdLFxuICBbXCJ5YWN1dGVcIiwgXCJcXHUwMEZEXCJdLFxuICBbXCJ0aG9yblwiLCBcIlxcdTAwRkVcIl0sXG4gIFtcInl1bWxcIiwgXCJcXHUwMEZGXCJdLFxuICBbXCJPRWxpZ1wiLCBcIlxcdTAxNTJcIl0sXG4gIFtcIm9lbGlnXCIsIFwiXFx1MDE1M1wiXSxcbiAgW1wiU2Nhcm9uXCIsIFwiXFx1MDE2MFwiXSxcbiAgW1wic2Nhcm9uXCIsIFwiXFx1MDE2MVwiXSxcbiAgW1wiWXVtbFwiLCBcIlxcdTAxNzhcIl0sXG4gIFtcImZub2ZcIiwgXCJcXHUwMTkyXCJdLFxuICBbXCJjaXJjXCIsIFwiXFx1MDJDNlwiXSxcbiAgW1widGlsZGVcIiwgXCJcXHUwMkRDXCJdLFxuICBbXCJBbHBoYVwiLCBcIlxcdTAzOTFcIl0sXG4gIFtcIkJldGFcIiwgXCJcXHUwMzkyXCJdLFxuICBbXCJHYW1tYVwiLCBcIlxcdTAzOTNcIl0sXG4gIFtcIkRlbHRhXCIsIFwiXFx1MDM5NFwiXSxcbiAgW1wiRXBzaWxvblwiLCBcIlxcdTAzOTVcIl0sXG4gIFtcIlpldGFcIiwgXCJcXHUwMzk2XCJdLFxuICBbXCJFdGFcIiwgXCJcXHUwMzk3XCJdLFxuICBbXCJUaGV0YVwiLCBcIlxcdTAzOThcIl0sXG4gIFtcIklvdGFcIiwgXCJcXHUwMzk5XCJdLFxuICBbXCJLYXBwYVwiLCBcIlxcdTAzOUFcIl0sXG4gIFtcIkxhbWJkYVwiLCBcIlxcdTAzOUJcIl0sXG4gIFtcIk11XCIsIFwiXFx1MDM5Q1wiXSxcbiAgW1wiTnVcIiwgXCJcXHUwMzlEXCJdLFxuICBbXCJYaVwiLCBcIlxcdTAzOUVcIl0sXG4gIFtcIk9taWNyb25cIiwgXCJcXHUwMzlGXCJdLFxuICBbXCJQaVwiLCBcIlxcdTAzQTBcIl0sXG4gIFtcIlJob1wiLCBcIlxcdTAzQTFcIl0sXG4gIFtcIlNpZ21hXCIsIFwiXFx1MDNBM1wiXSxcbiAgW1wiVGF1XCIsIFwiXFx1MDNBNFwiXSxcbiAgW1wiVXBzaWxvblwiLCBcIlxcdTAzQTVcIl0sXG4gIFtcIlBoaVwiLCBcIlxcdTAzQTZcIl0sXG4gIFtcIkNoaVwiLCBcIlxcdTAzQTdcIl0sXG4gIFtcIlBzaVwiLCBcIlxcdTAzQThcIl0sXG4gIFtcIk9tZWdhXCIsIFwiXFx1MDNBOVwiXSxcbiAgW1wiYWxwaGFcIiwgXCJcXHUwM0IxXCJdLFxuICBbXCJiZXRhXCIsIFwiXFx1MDNCMlwiXSxcbiAgW1wiZ2FtbWFcIiwgXCJcXHUwM0IzXCJdLFxuICBbXCJkZWx0YVwiLCBcIlxcdTAzQjRcIl0sXG4gIFtcImVwc2lsb25cIiwgXCJcXHUwM0I1XCJdLFxuICBbXCJ6ZXRhXCIsIFwiXFx1MDNCNlwiXSxcbiAgW1wiZXRhXCIsIFwiXFx1MDNCN1wiXSxcbiAgW1widGhldGFcIiwgXCJcXHUwM0I4XCJdLFxuICBbXCJpb3RhXCIsIFwiXFx1MDNCOVwiXSxcbiAgW1wia2FwcGFcIiwgXCJcXHUwM0JBXCJdLFxuICBbXCJsYW1iZGFcIiwgXCJcXHUwM0JCXCJdLFxuICBbXCJtdVwiLCBcIlxcdTAzQkNcIl0sXG4gIFtcIm51XCIsIFwiXFx1MDNCRFwiXSxcbiAgW1wieGlcIiwgXCJcXHUwM0JFXCJdLFxuICBbXCJvbWljcm9uXCIsIFwiXFx1MDNCRlwiXSxcbiAgW1wicGlcIiwgXCJcXHUwM0MwXCJdLFxuICBbXCJyaG9cIiwgXCJcXHUwM0MxXCJdLFxuICBbXCJzaWdtYWZcIiwgXCJcXHUwM0MyXCJdLFxuICBbXCJzaWdtYVwiLCBcIlxcdTAzQzNcIl0sXG4gIFtcInRhdVwiLCBcIlxcdTAzQzRcIl0sXG4gIFtcInVwc2lsb25cIiwgXCJcXHUwM0M1XCJdLFxuICBbXCJwaGlcIiwgXCJcXHUwM0M2XCJdLFxuICBbXCJjaGlcIiwgXCJcXHUwM0M3XCJdLFxuICBbXCJwc2lcIiwgXCJcXHUwM0M4XCJdLFxuICBbXCJvbWVnYVwiLCBcIlxcdTAzQzlcIl0sXG4gIFtcInRoZXRhc3ltXCIsIFwiXFx1MDNEMVwiXSxcbiAgW1widXBzaWhcIiwgXCJcXHUwM0QyXCJdLFxuICBbXCJwaXZcIiwgXCJcXHUwM0Q2XCJdLFxuICBbXCJlbnNwXCIsIFwiXFx1MjAwMlwiXSxcbiAgW1wiZW1zcFwiLCBcIlxcdTIwMDNcIl0sXG4gIFtcInRoaW5zcFwiLCBcIlxcdTIwMDlcIl0sXG4gIFtcInp3bmpcIiwgXCJcXHUyMDBDXCJdLFxuICBbXCJ6d2pcIiwgXCJcXHUyMDBEXCJdLFxuICBbXCJscm1cIiwgXCJcXHUyMDBFXCJdLFxuICBbXCJybG1cIiwgXCJcXHUyMDBGXCJdLFxuICBbXCJuZGFzaFwiLCBcIlxcdTIwMTNcIl0sXG4gIFtcIm1kYXNoXCIsIFwiXFx1MjAxNFwiXSxcbiAgW1wibHNxdW9cIiwgXCJcXHUyMDE4XCJdLFxuICBbXCJyc3F1b1wiLCBcIlxcdTIwMTlcIl0sXG4gIFtcInNicXVvXCIsIFwiXFx1MjAxQVwiXSxcbiAgW1wibGRxdW9cIiwgXCJcXHUyMDFDXCJdLFxuICBbXCJyZHF1b1wiLCBcIlxcdTIwMURcIl0sXG4gIFtcImJkcXVvXCIsIFwiXFx1MjAxRVwiXSxcbiAgW1wiZGFnZ2VyXCIsIFwiXFx1MjAyMFwiXSxcbiAgW1wiRGFnZ2VyXCIsIFwiXFx1MjAyMVwiXSxcbiAgW1wiYnVsbFwiLCBcIlxcdTIwMjJcIl0sXG4gIFtcImhlbGxpcFwiLCBcIlxcdTIwMjZcIl0sXG4gIFtcInBlcm1pbFwiLCBcIlxcdTIwMzBcIl0sXG4gIFtcInByaW1lXCIsIFwiXFx1MjAzMlwiXSxcbiAgW1wiUHJpbWVcIiwgXCJcXHUyMDMzXCJdLFxuICBbXCJsc2FxdW9cIiwgXCJcXHUyMDM5XCJdLFxuICBbXCJyc2FxdW9cIiwgXCJcXHUyMDNBXCJdLFxuICBbXCJvbGluZVwiLCBcIlxcdTIwM0VcIl0sXG4gIFtcImZyYXNsXCIsIFwiXFx1MjA0NFwiXSxcbiAgW1wiZXVyb1wiLCBcIlxcdTIwQUNcIl0sXG4gIFtcImltYWdlXCIsIFwiXFx1MjExMVwiXSxcbiAgW1wid2VpZXJwXCIsIFwiXFx1MjExOFwiXSxcbiAgW1wicmVhbFwiLCBcIlxcdTIxMUNcIl0sXG4gIFtcInRyYWRlXCIsIFwiXFx1MjEyMlwiXSxcbiAgW1wiYWxlZnN5bVwiLCBcIlxcdTIxMzVcIl0sXG4gIFtcImxhcnJcIiwgXCJcXHUyMTkwXCJdLFxuICBbXCJ1YXJyXCIsIFwiXFx1MjE5MVwiXSxcbiAgW1wicmFyclwiLCBcIlxcdTIxOTJcIl0sXG4gIFtcImRhcnJcIiwgXCJcXHUyMTkzXCJdLFxuICBbXCJoYXJyXCIsIFwiXFx1MjE5NFwiXSxcbiAgW1wiY3JhcnJcIiwgXCJcXHUyMUI1XCJdLFxuICBbXCJsQXJyXCIsIFwiXFx1MjFEMFwiXSxcbiAgW1widUFyclwiLCBcIlxcdTIxRDFcIl0sXG4gIFtcInJBcnJcIiwgXCJcXHUyMUQyXCJdLFxuICBbXCJkQXJyXCIsIFwiXFx1MjFEM1wiXSxcbiAgW1wiaEFyclwiLCBcIlxcdTIxRDRcIl0sXG4gIFtcImZvcmFsbFwiLCBcIlxcdTIyMDBcIl0sXG4gIFtcInBhcnRcIiwgXCJcXHUyMjAyXCJdLFxuICBbXCJleGlzdFwiLCBcIlxcdTIyMDNcIl0sXG4gIFtcImVtcHR5XCIsIFwiXFx1MjIwNVwiXSxcbiAgW1wibmFibGFcIiwgXCJcXHUyMjA3XCJdLFxuICBbXCJpc2luXCIsIFwiXFx1MjIwOFwiXSxcbiAgW1wibm90aW5cIiwgXCJcXHUyMjA5XCJdLFxuICBbXCJuaVwiLCBcIlxcdTIyMEJcIl0sXG4gIFtcInByb2RcIiwgXCJcXHUyMjBGXCJdLFxuICBbXCJzdW1cIiwgXCJcXHUyMjExXCJdLFxuICBbXCJtaW51c1wiLCBcIlxcdTIyMTJcIl0sXG4gIFtcImxvd2FzdFwiLCBcIlxcdTIyMTdcIl0sXG4gIFtcInJhZGljXCIsIFwiXFx1MjIxQVwiXSxcbiAgW1wicHJvcFwiLCBcIlxcdTIyMURcIl0sXG4gIFtcImluZmluXCIsIFwiXFx1MjIxRVwiXSxcbiAgW1wiYW5nXCIsIFwiXFx1MjIyMFwiXSxcbiAgW1wiYW5kXCIsIFwiXFx1MjIyN1wiXSxcbiAgW1wib3JcIiwgXCJcXHUyMjI4XCJdLFxuICBbXCJjYXBcIiwgXCJcXHUyMjI5XCJdLFxuICBbXCJjdXBcIiwgXCJcXHUyMjJBXCJdLFxuICBbXCJpbnRcIiwgXCJcXHUyMjJCXCJdLFxuICBbXCJ0aGVyZTRcIiwgXCJcXHUyMjM0XCJdLFxuICBbXCJzaW1cIiwgXCJcXHUyMjNDXCJdLFxuICBbXCJjb25nXCIsIFwiXFx1MjI0NVwiXSxcbiAgW1wiYXN5bXBcIiwgXCJcXHUyMjQ4XCJdLFxuICBbXCJuZVwiLCBcIlxcdTIyNjBcIl0sXG4gIFtcImVxdWl2XCIsIFwiXFx1MjI2MVwiXSxcbiAgW1wibGVcIiwgXCJcXHUyMjY0XCJdLFxuICBbXCJnZVwiLCBcIlxcdTIyNjVcIl0sXG4gIFtcInN1YlwiLCBcIlxcdTIyODJcIl0sXG4gIFtcInN1cFwiLCBcIlxcdTIyODNcIl0sXG4gIFtcIm5zdWJcIiwgXCJcXHUyMjg0XCJdLFxuICBbXCJzdWJlXCIsIFwiXFx1MjI4NlwiXSxcbiAgW1wic3VwZVwiLCBcIlxcdTIyODdcIl0sXG4gIFtcIm9wbHVzXCIsIFwiXFx1MjI5NVwiXSxcbiAgW1wib3RpbWVzXCIsIFwiXFx1MjI5N1wiXSxcbiAgW1wicGVycFwiLCBcIlxcdTIyQTVcIl0sXG4gIFtcInNkb3RcIiwgXCJcXHUyMkM1XCJdLFxuICBbXCJsY2VpbFwiLCBcIlxcdTIzMDhcIl0sXG4gIFtcInJjZWlsXCIsIFwiXFx1MjMwOVwiXSxcbiAgW1wibGZsb29yXCIsIFwiXFx1MjMwQVwiXSxcbiAgW1wicmZsb29yXCIsIFwiXFx1MjMwQlwiXSxcbiAgW1wibGFuZ1wiLCBcIlxcdTIzMjlcIl0sXG4gIFtcInJhbmdcIiwgXCJcXHUyMzJBXCJdLFxuICBbXCJsb3pcIiwgXCJcXHUyNUNBXCJdLFxuICBbXCJzcGFkZXNcIiwgXCJcXHUyNjYwXCJdLFxuICBbXCJjbHVic1wiLCBcIlxcdTI2NjNcIl0sXG4gIFtcImhlYXJ0c1wiLCBcIlxcdTI2NjVcIl0sXG4gIFtcImRpYW1zXCIsIFwiXFx1MjY2NlwiXSxcbl0pO1xuIiwgIlxuXG5cblxuXG5cblxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEpTWFByYWdtYUluZm8ob3B0aW9ucykge1xuICBjb25zdCBbYmFzZSwgc3VmZml4XSA9IHNwbGl0UHJhZ21hKG9wdGlvbnMuanN4UHJhZ21hIHx8IFwiUmVhY3QuY3JlYXRlRWxlbWVudFwiKTtcbiAgY29uc3QgW2ZyYWdtZW50QmFzZSwgZnJhZ21lbnRTdWZmaXhdID0gc3BsaXRQcmFnbWEob3B0aW9ucy5qc3hGcmFnbWVudFByYWdtYSB8fCBcIlJlYWN0LkZyYWdtZW50XCIpO1xuICByZXR1cm4ge2Jhc2UsIHN1ZmZpeCwgZnJhZ21lbnRCYXNlLCBmcmFnbWVudFN1ZmZpeH07XG59XG5cbmZ1bmN0aW9uIHNwbGl0UHJhZ21hKHByYWdtYSkge1xuICBsZXQgZG90SW5kZXggPSBwcmFnbWEuaW5kZXhPZihcIi5cIik7XG4gIGlmIChkb3RJbmRleCA9PT0gLTEpIHtcbiAgICBkb3RJbmRleCA9IHByYWdtYS5sZW5ndGg7XG4gIH1cbiAgcmV0dXJuIFtwcmFnbWEuc2xpY2UoMCwgZG90SW5kZXgpLCBwcmFnbWEuc2xpY2UoZG90SW5kZXgpXTtcbn1cbiIsICJleHBvcnQgZGVmYXVsdCAgY2xhc3MgVHJhbnNmb3JtZXIge1xuICAvLyBSZXR1cm4gdHJ1ZSBpZiBhbnl0aGluZyB3YXMgcHJvY2Vzc2VkLCBmYWxzZSBvdGhlcndpc2UuXG4gIFxuXG4gIGdldFByZWZpeENvZGUoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBnZXRIb2lzdGVkQ29kZSgpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIGdldFN1ZmZpeENvZGUoKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cbn1cbiIsICJcblxuXG5pbXBvcnQgWEhUTUxFbnRpdGllcyBmcm9tIFwiLi4vcGFyc2VyL3BsdWdpbnMvanN4L3hodG1sXCI7XG5pbXBvcnQge0pTWFJvbGV9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcbmltcG9ydCB7Y2hhckNvZGVzfSBmcm9tIFwiLi4vcGFyc2VyL3V0aWwvY2hhcmNvZGVzXCI7XG5cbmltcG9ydCBnZXRKU1hQcmFnbWFJbmZvLCB7fSBmcm9tIFwiLi4vdXRpbC9nZXRKU1hQcmFnbWFJbmZvXCI7XG5cbmltcG9ydCBUcmFuc2Zvcm1lciBmcm9tIFwiLi9UcmFuc2Zvcm1lclwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKU1hUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgXG4gIFxuICBcblxuICAvLyBTdGF0ZSBmb3IgY2FsY3VsYXRpbmcgdGhlIGxpbmUgbnVtYmVyIG9mIGVhY2ggSlNYIHRhZyBpbiBkZXZlbG9wbWVudC5cbiAgX19pbml0KCkge3RoaXMubGFzdExpbmVOdW1iZXIgPSAxfVxuICBfX2luaXQyKCkge3RoaXMubGFzdEluZGV4ID0gMH1cblxuICAvLyBJbiBkZXZlbG9wbWVudCwgdmFyaWFibGUgbmFtZSBob2xkaW5nIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGZpbGUuXG4gIF9faW5pdDMoKSB7dGhpcy5maWxlbmFtZVZhck5hbWUgPSBudWxsfVxuICAvLyBNYXBwaW5nIG9mIGNsYWltZWQgbmFtZXMgZm9yIGltcG9ydHMgaW4gdGhlIGF1dG9tYXRpYyB0cmFuc2Zvcm0sIGUsZy5cbiAgLy8ge2pzeDogXCJfanN4XCJ9LiBUaGlzIGRldGVybWluZXMgd2hpY2ggaW1wb3J0cyB0byBnZW5lcmF0ZSBpbiB0aGUgcHJlZml4LlxuICBfX2luaXQ0KCkge3RoaXMuZXNtQXV0b21hdGljSW1wb3J0TmFtZVJlc29sdXRpb25zID0ge319XG4gIC8vIFdoZW4gYXV0b21hdGljYWxseSBhZGRpbmcgaW1wb3J0cyBpbiBDSlMgbW9kZSwgd2Ugc3RvcmUgdGhlIHZhcmlhYmxlIG5hbWVcbiAgLy8gaG9sZGluZyB0aGUgaW1wb3J0ZWQgQ0pTIG1vZHVsZSBzbyB3ZSBjYW4gcmVxdWlyZSBpdCBpbiB0aGUgcHJlZml4LlxuICBfX2luaXQ1KCkge3RoaXMuY2pzQXV0b21hdGljTW9kdWxlTmFtZVJlc29sdXRpb25zID0ge319XG5cbiAgY29uc3RydWN0b3IoXG4gICAgIHJvb3RUcmFuc2Zvcm1lcixcbiAgICAgdG9rZW5zLFxuICAgICBpbXBvcnRQcm9jZXNzb3IsXG4gICAgIG5hbWVNYW5hZ2VyLFxuICAgICBvcHRpb25zLFxuICApIHtcbiAgICBzdXBlcigpO3RoaXMucm9vdFRyYW5zZm9ybWVyID0gcm9vdFRyYW5zZm9ybWVyO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMuaW1wb3J0UHJvY2Vzc29yID0gaW1wb3J0UHJvY2Vzc29yO3RoaXMubmFtZU1hbmFnZXIgPSBuYW1lTWFuYWdlcjt0aGlzLm9wdGlvbnMgPSBvcHRpb25zO0pTWFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtKU1hUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0Mi5jYWxsKHRoaXMpO0pTWFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQzLmNhbGwodGhpcyk7SlNYVHJhbnNmb3JtZXIucHJvdG90eXBlLl9faW5pdDQuY2FsbCh0aGlzKTtKU1hUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0NS5jYWxsKHRoaXMpOztcbiAgICB0aGlzLmpzeFByYWdtYUluZm8gPSBnZXRKU1hQcmFnbWFJbmZvKG9wdGlvbnMpO1xuICAgIHRoaXMuaXNBdXRvbWF0aWNSdW50aW1lID0gb3B0aW9ucy5qc3hSdW50aW1lID09PSBcImF1dG9tYXRpY1wiO1xuICAgIHRoaXMuanN4SW1wb3J0U291cmNlID0gb3B0aW9ucy5qc3hJbXBvcnRTb3VyY2UgfHwgXCJyZWFjdFwiO1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4VGFnU3RhcnQpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NKU1hUYWcoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRQcmVmaXhDb2RlKCkge1xuICAgIGxldCBwcmVmaXggPSBcIlwiO1xuICAgIGlmICh0aGlzLmZpbGVuYW1lVmFyTmFtZSkge1xuICAgICAgcHJlZml4ICs9IGBjb25zdCAke3RoaXMuZmlsZW5hbWVWYXJOYW1lfSA9ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zLmZpbGVQYXRoIHx8IFwiXCIpfTtgO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0F1dG9tYXRpY1J1bnRpbWUpIHtcbiAgICAgIGlmICh0aGlzLmltcG9ydFByb2Nlc3Nvcikge1xuICAgICAgICAvLyBDSlMgbW9kZTogZW1pdCByZXF1aXJlIHN0YXRlbWVudHMgZm9yIGFsbCBtb2R1bGVzIHRoYXQgd2VyZSByZWZlcmVuY2VkLlxuICAgICAgICBmb3IgKGNvbnN0IFtwYXRoLCByZXNvbHZlZE5hbWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuY2pzQXV0b21hdGljTW9kdWxlTmFtZVJlc29sdXRpb25zKSkge1xuICAgICAgICAgIHByZWZpeCArPSBgdmFyICR7cmVzb2x2ZWROYW1lfSA9IHJlcXVpcmUoXCIke3BhdGh9XCIpO2A7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEVTTSBtb2RlOiBjb25zb2xpZGF0ZSBhbmQgZW1pdCBpbXBvcnQgc3RhdGVtZW50cyBmb3IgcmVmZXJlbmNlZCBuYW1lcy5cbiAgICAgICAgY29uc3Qge2NyZWF0ZUVsZW1lbnQ6IGNyZWF0ZUVsZW1lbnRSZXNvbHV0aW9uLCAuLi5vdGhlclJlc29sdXRpb25zfSA9XG4gICAgICAgICAgdGhpcy5lc21BdXRvbWF0aWNJbXBvcnROYW1lUmVzb2x1dGlvbnM7XG4gICAgICAgIGlmIChjcmVhdGVFbGVtZW50UmVzb2x1dGlvbikge1xuICAgICAgICAgIHByZWZpeCArPSBgaW1wb3J0IHtjcmVhdGVFbGVtZW50IGFzICR7Y3JlYXRlRWxlbWVudFJlc29sdXRpb259fSBmcm9tIFwiJHt0aGlzLmpzeEltcG9ydFNvdXJjZX1cIjtgO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGltcG9ydFNwZWNpZmllcnMgPSBPYmplY3QuZW50cmllcyhvdGhlclJlc29sdXRpb25zKVxuICAgICAgICAgIC5tYXAoKFtuYW1lLCByZXNvbHZlZE5hbWVdKSA9PiBgJHtuYW1lfSBhcyAke3Jlc29sdmVkTmFtZX1gKVxuICAgICAgICAgIC5qb2luKFwiLCBcIik7XG4gICAgICAgIGlmIChpbXBvcnRTcGVjaWZpZXJzKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0UGF0aCA9XG4gICAgICAgICAgICB0aGlzLmpzeEltcG9ydFNvdXJjZSArICh0aGlzLm9wdGlvbnMucHJvZHVjdGlvbiA/IFwiL2pzeC1ydW50aW1lXCIgOiBcIi9qc3gtZGV2LXJ1bnRpbWVcIik7XG4gICAgICAgICAgcHJlZml4ICs9IGBpbXBvcnQgeyR7aW1wb3J0U3BlY2lmaWVyc319IGZyb20gXCIke2ltcG9ydFBhdGh9XCI7YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJlZml4O1xuICB9XG5cbiAgcHJvY2Vzc0pTWFRhZygpIHtcbiAgICBjb25zdCB7anN4Um9sZSwgc3RhcnR9ID0gdGhpcy50b2tlbnMuY3VycmVudFRva2VuKCk7XG4gICAgLy8gQ2FsY3VsYXRlIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uIGF0IHRoZSB2ZXJ5IHN0YXJ0IChpZiBpbiBkZXZlbG9wbWVudFxuICAgIC8vIG1vZGUpIHNvIHRoYXQgdGhlIGluZm9ybWF0aW9uIGlzIGd1YXJhbnRlZWQgdG8gYmUgcXVlcmllZCBpbiB0b2tlbiBvcmRlci5cbiAgICBjb25zdCBlbGVtZW50TG9jYXRpb25Db2RlID0gdGhpcy5vcHRpb25zLnByb2R1Y3Rpb24gPyBudWxsIDogdGhpcy5nZXRFbGVtZW50TG9jYXRpb25Db2RlKHN0YXJ0KTtcbiAgICBpZiAodGhpcy5pc0F1dG9tYXRpY1J1bnRpbWUgJiYganN4Um9sZSAhPT0gSlNYUm9sZS5LZXlBZnRlclByb3BTcHJlYWQpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtVGFnVG9KU1hGdW5jKGVsZW1lbnRMb2NhdGlvbkNvZGUsIGpzeFJvbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybVRhZ1RvQ3JlYXRlRWxlbWVudChlbGVtZW50TG9jYXRpb25Db2RlKTtcbiAgICB9XG4gIH1cblxuICBnZXRFbGVtZW50TG9jYXRpb25Db2RlKGZpcnN0VG9rZW5TdGFydCkge1xuICAgIGNvbnN0IGxpbmVOdW1iZXIgPSB0aGlzLmdldExpbmVOdW1iZXJGb3JJbmRleChmaXJzdFRva2VuU3RhcnQpO1xuICAgIHJldHVybiBgbGluZU51bWJlcjogJHtsaW5lTnVtYmVyfWA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaW5lIG51bWJlciBmb3IgdGhpcyBzb3VyY2UgcG9zaXRpb24uIFRoaXMgaXMgY2FsY3VsYXRlZCBsYXppbHkgYW5kXG4gICAqIG11c3QgYmUgY2FsbGVkIGluIGluY3JlYXNpbmcgb3JkZXIgYnkgaW5kZXguXG4gICAqL1xuICBnZXRMaW5lTnVtYmVyRm9ySW5kZXgoaW5kZXgpIHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy50b2tlbnMuY29kZTtcbiAgICB3aGlsZSAodGhpcy5sYXN0SW5kZXggPCBpbmRleCAmJiB0aGlzLmxhc3RJbmRleCA8IGNvZGUubGVuZ3RoKSB7XG4gICAgICBpZiAoY29kZVt0aGlzLmxhc3RJbmRleF0gPT09IFwiXFxuXCIpIHtcbiAgICAgICAgdGhpcy5sYXN0TGluZU51bWJlcisrO1xuICAgICAgfVxuICAgICAgdGhpcy5sYXN0SW5kZXgrKztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubGFzdExpbmVOdW1iZXI7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGUgY3VycmVudCBKU1ggZWxlbWVudCB0byBhIGNhbGwgdG8ganN4LCBqc3hzLCBvciBqc3hERVYuIFRoaXMgaXNcbiAgICogdGhlIHByaW1hcnkgdHJhbnNmb3JtYXRpb24gZm9yIHRoZSBhdXRvbWF0aWMgdHJhbnNmb3JtLlxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKiA8ZGl2IGE9ezF9IGtleT17Mn0+SGVsbG97eH08L2Rpdj5cbiAgICogYmVjb21lc1xuICAgKiBqc3hzKCdkaXYnLCB7YTogMSwgY2hpbGRyZW46IFtcIkhlbGxvXCIsIHhdfSwgMilcbiAgICovXG4gIHRyYW5zZm9ybVRhZ1RvSlNYRnVuYyhlbGVtZW50TG9jYXRpb25Db2RlLCBqc3hSb2xlKSB7XG4gICAgY29uc3QgaXNTdGF0aWMgPSBqc3hSb2xlID09PSBKU1hSb2xlLlN0YXRpY0NoaWxkcmVuO1xuICAgIC8vIEZpcnN0IHRhZyBpcyBhbHdheXMganN4VGFnU3RhcnQuXG4gICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKHRoaXMuZ2V0SlNYRnVuY0ludm9jYXRpb25Db2RlKGlzU3RhdGljKSk7XG5cbiAgICBsZXQga2V5Q29kZSA9IG51bGw7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeFRhZ0VuZCkpIHtcbiAgICAgIC8vIEZyYWdtZW50IHN5bnRheC5cbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgJHt0aGlzLmdldEZyYWdtZW50Q29kZSgpfSwge2ApO1xuICAgICAgdGhpcy5wcm9jZXNzQXV0b21hdGljQ2hpbGRyZW5BbmRFbmRQcm9wcyhqc3hSb2xlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm9ybWFsIG9wZW4gdGFnIG9yIHNlbGYtY2xvc2luZyB0YWcuXG4gICAgICB0aGlzLnByb2Nlc3NUYWdJbnRybygpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIiwge1wiKTtcbiAgICAgIGtleUNvZGUgPSB0aGlzLnByb2Nlc3NQcm9wcyh0cnVlKTtcblxuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnNsYXNoLCB0dC5qc3hUYWdFbmQpKSB7XG4gICAgICAgIC8vIFNlbGYtY2xvc2luZyB0YWcsIG5vIGNoaWxkcmVuIHRvIGFkZCwgc28gY2xvc2UgdGhlIHByb3BzLlxuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwifVwiKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4VGFnRW5kKSkge1xuICAgICAgICAvLyBUYWcgd2l0aCBjaGlsZHJlbi5cbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzQXV0b21hdGljQ2hpbGRyZW5BbmRFbmRQcm9wcyhqc3hSb2xlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGVpdGhlciAvPiBvciA+IGF0IHRoZSBlbmQgb2YgdGhlIHRhZy5cIik7XG4gICAgICB9XG4gICAgICAvLyBJZiBhIGtleSB3YXMgcHJlc2VudCwgbW92ZSBpdCB0byBpdHMgb3duIGFyZy4gTm90ZSB0aGF0IG1vdmluZyBjb2RlXG4gICAgICAvLyBsaWtlIHRoaXMgd2lsbCBjYXVzZSBsaW5lIG51bWJlcnMgdG8gZ2V0IG91dCBvZiBzeW5jIHdpdGhpbiB0aGUgSlNYXG4gICAgICAvLyBlbGVtZW50IGlmIHRoZSBrZXkgZXhwcmVzc2lvbiBoYXMgYSBuZXdsaW5lIGluIGl0LiBUaGlzIGlzIHVuZm9ydHVuYXRlLFxuICAgICAgLy8gYnV0IGhvcGVmdWxseSBzaG91bGQgYmUgcmFyZS5cbiAgICAgIGlmIChrZXlDb2RlKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCwgJHtrZXlDb2RlfWApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMub3B0aW9ucy5wcm9kdWN0aW9uKSB7XG4gICAgICAvLyBJZiB0aGUga2V5IHdhc24ndCBhbHJlYWR5IGFkZGVkLCBhZGQgaXQgbm93IHNvIHdlIGNhbiBjb3JyZWN0bHkgc2V0XG4gICAgICAvLyBwb3NpdGlvbmFsIGFyZ3MgZm9yIGpzeERFVi5cbiAgICAgIGlmIChrZXlDb2RlID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIsIHZvaWQgMFwiKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCwgJHtpc1N0YXRpY30sICR7dGhpcy5nZXREZXZTb3VyY2UoZWxlbWVudExvY2F0aW9uQ29kZSl9LCB0aGlzYCk7XG4gICAgfVxuICAgIC8vIFdlJ3JlIGF0IHRoZSBjbG9zZS10YWcgb3IgdGhlIGVuZCBvZiBhIHNlbGYtY2xvc2luZyB0YWcsIHNvIHJlbW92ZVxuICAgIC8vIGV2ZXJ5dGhpbmcgZWxzZSBhbmQgY2xvc2UgdGhlIGZ1bmN0aW9uIGNhbGwuXG4gICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5qc3hUYWdFbmQpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCIpXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdGhlIGN1cnJlbnQgSlNYIGVsZW1lbnQgdG8gYSBjcmVhdGVFbGVtZW50IGNhbGwuIEluIHRoZSBjbGFzc2ljXG4gICAqIHJ1bnRpbWUsIHRoaXMgaXMgdGhlIG9ubHkgY2FzZS4gSW4gdGhlIGF1dG9tYXRpYyBydW50aW1lLCB0aGlzIGlzIGNhbGxlZFxuICAgKiBhcyBhIGZhbGxiYWNrIGluIHNvbWUgc2l0dWF0aW9ucy5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogPGRpdiBhPXsxfSBrZXk9ezJ9PkhlbGxve3h9PC9kaXY+XG4gICAqIGJlY29tZXNcbiAgICogUmVhY3QuY3JlYXRlRWxlbWVudCgnZGl2Jywge2E6IDEsIGtleTogMn0sIFwiSGVsbG9cIiwgeClcbiAgICovXG4gIHRyYW5zZm9ybVRhZ1RvQ3JlYXRlRWxlbWVudChlbGVtZW50TG9jYXRpb25Db2RlKSB7XG4gICAgLy8gRmlyc3QgdGFnIGlzIGFsd2F5cyBqc3hUYWdTdGFydC5cbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4odGhpcy5nZXRDcmVhdGVFbGVtZW50SW52b2NhdGlvbkNvZGUoKSk7XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4VGFnRW5kKSkge1xuICAgICAgLy8gRnJhZ21lbnQgc3ludGF4LlxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAke3RoaXMuZ2V0RnJhZ21lbnRDb2RlKCl9LCBudWxsYCk7XG4gICAgICB0aGlzLnByb2Nlc3NDaGlsZHJlbih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm9ybWFsIG9wZW4gdGFnIG9yIHNlbGYtY2xvc2luZyB0YWcuXG4gICAgICB0aGlzLnByb2Nlc3NUYWdJbnRybygpO1xuICAgICAgdGhpcy5wcm9jZXNzUHJvcHNPYmplY3RXaXRoRGV2SW5mbyhlbGVtZW50TG9jYXRpb25Db2RlKTtcblxuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnNsYXNoLCB0dC5qc3hUYWdFbmQpKSB7XG4gICAgICAgIC8vIFNlbGYtY2xvc2luZyB0YWc7IG5vIGNoaWxkcmVuIHRvIHByb2Nlc3MuXG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeFRhZ0VuZCkpIHtcbiAgICAgICAgLy8gVGFnIHdpdGggY2hpbGRyZW4gYW5kIGEgY2xvc2UtdGFnOyBwcm9jZXNzIHRoZSBjaGlsZHJlbiBhcyBhcmdzLlxuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB0aGlzLnByb2Nlc3NDaGlsZHJlbih0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGVpdGhlciAvPiBvciA+IGF0IHRoZSBlbmQgb2YgdGhlIHRhZy5cIik7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFdlJ3JlIGF0IHRoZSBjbG9zZS10YWcgb3IgdGhlIGVuZCBvZiBhIHNlbGYtY2xvc2luZyB0YWcsIHNvIHJlbW92ZVxuICAgIC8vIGV2ZXJ5dGhpbmcgZWxzZSBhbmQgY2xvc2UgdGhlIGZ1bmN0aW9uIGNhbGwuXG4gICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5qc3hUYWdFbmQpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCIpXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29kZSBmb3IgdGhlIHJlbGV2YW50IGZ1bmN0aW9uIGZvciB0aGlzIGNvbnRleHQ6IGpzeCwganN4cyxcbiAgICogb3IganN4REVWLiBUaGUgZm9sbG93aW5nIG9wZW4tcGFyZW4gaXMgaW5jbHVkZWQgYXMgd2VsbC5cbiAgICpcbiAgICogVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IHVzZWQgZm9yIHRoZSBhdXRvbWF0aWMgcnVudGltZSwgc28gdGhleSBhcmUgYWx3YXlzXG4gICAqIGF1dG8taW1wb3J0ZWQsIGJ1dCB0aGUgYXV0by1pbXBvcnQgd2lsbCBiZSBlaXRoZXIgQ0pTIG9yIEVTTSBiYXNlZCBvbiB0aGVcbiAgICogdGFyZ2V0IG1vZHVsZSBmb3JtYXQuXG4gICAqL1xuICBnZXRKU1hGdW5jSW52b2NhdGlvbkNvZGUoaXNTdGF0aWMpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb2R1Y3Rpb24pIHtcbiAgICAgIGlmIChpc1N0YXRpYykge1xuICAgICAgICByZXR1cm4gdGhpcy5jbGFpbUF1dG9JbXBvcnRlZEZ1bmNJbnZvY2F0aW9uKFwianN4c1wiLCBcIi9qc3gtcnVudGltZVwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNsYWltQXV0b0ltcG9ydGVkRnVuY0ludm9jYXRpb24oXCJqc3hcIiwgXCIvanN4LXJ1bnRpbWVcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNsYWltQXV0b0ltcG9ydGVkRnVuY0ludm9jYXRpb24oXCJqc3hERVZcIiwgXCIvanN4LWRldi1ydW50aW1lXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGNvZGUgdG8gdXNlIGZvciB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbiwgZS5nLlxuICAgKiBgUmVhY3QuY3JlYXRlRWxlbWVudGAsIGluY2x1ZGluZyB0aGUgZm9sbG93aW5nIG9wZW4tcGFyZW4uXG4gICAqXG4gICAqIFRoaXMgaXMgdGhlIG1haW4gZnVuY3Rpb24gdG8gdXNlIGZvciB0aGUgY2xhc3NpYyBydW50aW1lLiBGb3IgdGhlXG4gICAqIGF1dG9tYXRpYyBydW50aW1lLCB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgYXMgYSBmYWxsYmFjayBmdW5jdGlvbiB0b1xuICAgKiBwcmVzZXJ2ZSBiZWhhdmlvciB3aGVuIHRoZXJlIGlzIGEgcHJvcCBzcHJlYWQgZm9sbG93ZWQgYnkgYW4gZXhwbGljaXRcbiAgICoga2V5LiBJbiB0aGF0IGF1dG9tYXRpYyBydW50aW1lIGNhc2UsIHRoZSBmdW5jdGlvbiBzaG91bGQgYmUgYXV0b21hdGljYWxseVxuICAgKiBpbXBvcnRlZC5cbiAgICovXG4gIGdldENyZWF0ZUVsZW1lbnRJbnZvY2F0aW9uQ29kZSgpIHtcbiAgICBpZiAodGhpcy5pc0F1dG9tYXRpY1J1bnRpbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsYWltQXV0b0ltcG9ydGVkRnVuY0ludm9jYXRpb24oXCJjcmVhdGVFbGVtZW50XCIsIFwiXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7anN4UHJhZ21hSW5mb30gPSB0aGlzO1xuICAgICAgY29uc3QgcmVzb2x2ZWRQcmFnbWFCYXNlTmFtZSA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yXG4gICAgICAgID8gdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KGpzeFByYWdtYUluZm8uYmFzZSkgfHwganN4UHJhZ21hSW5mby5iYXNlXG4gICAgICAgIDoganN4UHJhZ21hSW5mby5iYXNlO1xuICAgICAgcmV0dXJuIGAke3Jlc29sdmVkUHJhZ21hQmFzZU5hbWV9JHtqc3hQcmFnbWFJbmZvLnN1ZmZpeH0oYDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBjb2RlIHRvIHVzZSBhcyB0aGUgY29tcG9uZW50IHdoZW4gY29tcGlsaW5nIGEgc2hvcnRoYW5kXG4gICAqIGZyYWdtZW50LCBlLmcuIGBSZWFjdC5GcmFnbWVudGAuXG4gICAqXG4gICAqIFRoaXMgbWF5IGJlIGNhbGxlZCBmcm9tIGVpdGhlciB0aGUgY2xhc3NpYyBvciBhdXRvbWF0aWMgcnVudGltZSwgYW5kXG4gICAqIHRoZSB2YWx1ZSBzaG91bGQgYmUgYXV0by1pbXBvcnRlZCBmb3IgdGhlIGF1dG9tYXRpYyBydW50aW1lLlxuICAgKi9cbiAgZ2V0RnJhZ21lbnRDb2RlKCkge1xuICAgIGlmICh0aGlzLmlzQXV0b21hdGljUnVudGltZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2xhaW1BdXRvSW1wb3J0ZWROYW1lKFxuICAgICAgICBcIkZyYWdtZW50XCIsXG4gICAgICAgIHRoaXMub3B0aW9ucy5wcm9kdWN0aW9uID8gXCIvanN4LXJ1bnRpbWVcIiA6IFwiL2pzeC1kZXYtcnVudGltZVwiLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qge2pzeFByYWdtYUluZm99ID0gdGhpcztcbiAgICAgIGNvbnN0IHJlc29sdmVkRnJhZ21lbnRQcmFnbWFCYXNlTmFtZSA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yXG4gICAgICAgID8gdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KGpzeFByYWdtYUluZm8uZnJhZ21lbnRCYXNlKSB8fFxuICAgICAgICAgIGpzeFByYWdtYUluZm8uZnJhZ21lbnRCYXNlXG4gICAgICAgIDoganN4UHJhZ21hSW5mby5mcmFnbWVudEJhc2U7XG4gICAgICByZXR1cm4gcmVzb2x2ZWRGcmFnbWVudFByYWdtYUJhc2VOYW1lICsganN4UHJhZ21hSW5mby5mcmFnbWVudFN1ZmZpeDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGNvZGUgdGhhdCBpbnZva2VzIHRoZSBnaXZlbiBmdW5jdGlvbi5cbiAgICpcbiAgICogV2hlbiB0aGUgaW1wb3J0cyB0cmFuc2Zvcm0gaXMgZW5hYmxlZCwgdXNlIHRoZSBDSlNJbXBvcnRUcmFuc2Zvcm1lclxuICAgKiBzdHJhdGVneSBvZiB1c2luZyBgLmNhbGwodm9pZCAwLCAuLi5gIHRvIGF2b2lkIHBhc3NpbmcgYSBgdGhpc2AgdmFsdWUgaW4gYVxuICAgKiBzaXR1YXRpb24gdGhhdCB3b3VsZCBvdGhlcndpc2UgbG9vayBsaWtlIGEgbWV0aG9kIGNhbGwuXG4gICAqL1xuICBjbGFpbUF1dG9JbXBvcnRlZEZ1bmNJbnZvY2F0aW9uKGZ1bmNOYW1lLCBpbXBvcnRQYXRoU3VmZml4KSB7XG4gICAgY29uc3QgZnVuY0NvZGUgPSB0aGlzLmNsYWltQXV0b0ltcG9ydGVkTmFtZShmdW5jTmFtZSwgaW1wb3J0UGF0aFN1ZmZpeCk7XG4gICAgaWYgKHRoaXMuaW1wb3J0UHJvY2Vzc29yKSB7XG4gICAgICByZXR1cm4gYCR7ZnVuY0NvZGV9LmNhbGwodm9pZCAwLCBgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCR7ZnVuY0NvZGV9KGA7XG4gICAgfVxuICB9XG5cbiAgY2xhaW1BdXRvSW1wb3J0ZWROYW1lKGZ1bmNOYW1lLCBpbXBvcnRQYXRoU3VmZml4KSB7XG4gICAgaWYgKHRoaXMuaW1wb3J0UHJvY2Vzc29yKSB7XG4gICAgICAvLyBDSlMgbW9kZTogY2xhaW0gYSBuYW1lIGZvciB0aGUgbW9kdWxlIGFuZCBtYXJrIGl0IGZvciBpbXBvcnQuXG4gICAgICBjb25zdCBwYXRoID0gdGhpcy5qc3hJbXBvcnRTb3VyY2UgKyBpbXBvcnRQYXRoU3VmZml4O1xuICAgICAgaWYgKCF0aGlzLmNqc0F1dG9tYXRpY01vZHVsZU5hbWVSZXNvbHV0aW9uc1twYXRoXSkge1xuICAgICAgICB0aGlzLmNqc0F1dG9tYXRpY01vZHVsZU5hbWVSZXNvbHV0aW9uc1twYXRoXSA9XG4gICAgICAgICAgdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0RnJlZUlkZW50aWZpZXJGb3JQYXRoKHBhdGgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGAke3RoaXMuY2pzQXV0b21hdGljTW9kdWxlTmFtZVJlc29sdXRpb25zW3BhdGhdfS4ke2Z1bmNOYW1lfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVTTSBtb2RlOiBjbGFpbSBhIG5hbWUgZm9yIHRoaXMgZnVuY3Rpb24gYW5kIGFkZCBpdCB0byB0aGUgbmFtZXMgdGhhdFxuICAgICAgLy8gc2hvdWxkIGJlIGF1dG8taW1wb3J0ZWQgd2hlbiB0aGUgcHJlZml4IGlzIGdlbmVyYXRlZC5cbiAgICAgIGlmICghdGhpcy5lc21BdXRvbWF0aWNJbXBvcnROYW1lUmVzb2x1dGlvbnNbZnVuY05hbWVdKSB7XG4gICAgICAgIHRoaXMuZXNtQXV0b21hdGljSW1wb3J0TmFtZVJlc29sdXRpb25zW2Z1bmNOYW1lXSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcbiAgICAgICAgICBgXyR7ZnVuY05hbWV9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmVzbUF1dG9tYXRpY0ltcG9ydE5hbWVSZXNvbHV0aW9uc1tmdW5jTmFtZV07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgdGhlIGZpcnN0IHBhcnQgb2YgYSB0YWcsIGJlZm9yZSBhbnkgcHJvcHMuXG4gICAqL1xuICBwcm9jZXNzVGFnSW50cm8oKSB7XG4gICAgLy8gV2FsayBmb3J3YXJkIHVudGlsIHdlIHNlZSBvbmUgb2YgdGhlc2UgcGF0dGVybnM6XG4gICAgLy8ganN4TmFtZSB0byBzdGFydCB0aGUgZmlyc3QgcHJvcCwgcHJlY2VkZWQgYnkgYW5vdGhlciBqc3hOYW1lIHRvIGVuZCB0aGUgdGFnIG5hbWUuXG4gICAgLy8ganN4TmFtZSB0byBzdGFydCB0aGUgZmlyc3QgcHJvcCwgcHJlY2VkZWQgYnkgZ3JlYXRlclRoYW4gdG8gZW5kIHRoZSB0eXBlIGFyZ3VtZW50LlxuICAgIC8vIFtvcGVuIGJyYWNlXSB0byBzdGFydCB0aGUgZmlyc3QgcHJvcC5cbiAgICAvLyBbanN4VGFnRW5kXSB0byBlbmQgdGhlIG9wZW4tdGFnLlxuICAgIC8vIFtzbGFzaCwganN4VGFnRW5kXSB0byBlbmQgdGhlIHNlbGYtY2xvc2luZyB0YWcuXG4gICAgbGV0IGludHJvRW5kID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxO1xuICAgIHdoaWxlIChcbiAgICAgIHRoaXMudG9rZW5zLnRva2Vuc1tpbnRyb0VuZF0uaXNUeXBlIHx8XG4gICAgICAoIXRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbnRyb0VuZCAtIDEsIHR0LmpzeE5hbWUsIHR0LmpzeE5hbWUpICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW50cm9FbmQgLSAxLCB0dC5ncmVhdGVyVGhhbiwgdHQuanN4TmFtZSkgJiZcbiAgICAgICAgIXRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbnRyb0VuZCwgdHQuYnJhY2VMKSAmJlxuICAgICAgICAhdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGludHJvRW5kLCB0dC5qc3hUYWdFbmQpICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW50cm9FbmQsIHR0LnNsYXNoLCB0dC5qc3hUYWdFbmQpKVxuICAgICkge1xuICAgICAgaW50cm9FbmQrKztcbiAgICB9XG4gICAgaWYgKGludHJvRW5kID09PSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEpIHtcbiAgICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZSgpO1xuICAgICAgaWYgKHN0YXJ0c1dpdGhMb3dlckNhc2UodGFnTmFtZSkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAnJHt0YWdOYW1lfSdgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgaW50cm9FbmQpIHtcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydGluZyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwcm9wcywgYWRkIHRoZSBwcm9wcyBhcmd1bWVudCB0b1xuICAgKiBSZWFjdC5jcmVhdGVFbGVtZW50LCBpbmNsdWRpbmcgdGhlIGNvbW1hIGJlZm9yZSBpdC5cbiAgICovXG4gIHByb2Nlc3NQcm9wc09iamVjdFdpdGhEZXZJbmZvKGVsZW1lbnRMb2NhdGlvbkNvZGUpIHtcbiAgICBjb25zdCBkZXZQcm9wcyA9IHRoaXMub3B0aW9ucy5wcm9kdWN0aW9uXG4gICAgICA/IFwiXCJcbiAgICAgIDogYF9fc2VsZjogdGhpcywgX19zb3VyY2U6ICR7dGhpcy5nZXREZXZTb3VyY2UoZWxlbWVudExvY2F0aW9uQ29kZSl9YDtcbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeE5hbWUpICYmICF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZUwpKSB7XG4gICAgICBpZiAoZGV2UHJvcHMpIHtcbiAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgLCB7JHtkZXZQcm9wc319YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAsIG51bGxgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgLCB7YCk7XG4gICAgdGhpcy5wcm9jZXNzUHJvcHMoZmFsc2UpO1xuICAgIGlmIChkZXZQcm9wcykge1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgICR7ZGV2UHJvcHN9fWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwifVwiKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoZSBjb3JlIHBhcnQgb2YgdGhlIHByb3BzLCBhc3N1bWluZyB0aGF0IGEgeyBoYXMgYWxyZWFkeSBiZWVuXG4gICAqIGluc2VydGVkIGJlZm9yZSB1cyBhbmQgdGhhdCBhIH0gd2lsbCBiZSBpbnNlcnRlZCBhZnRlciB1cy5cbiAgICpcbiAgICogSWYgZXh0cmFjdEtleUNvZGUgaXMgdHJ1ZSAoaS5lLiB3aGVuIHVzaW5nIGFueSBqc3guLi4gZnVuY3Rpb24pLCBhbnkgcHJvcFxuICAgKiBuYW1lZCBcImtleVwiIGhhcyBpdHMgY29kZSBjYXB0dXJlZCBhbmQgcmV0dXJuZWQgcmF0aGVyIHRoYW4gYmVpbmcgZW1pdHRlZCB0b1xuICAgKiB0aGUgb3V0cHV0IGNvZGUuIFRoaXMgc2hpZnRzIGxpbmUgbnVtYmVycywgYW5kIGVtaXR0aW5nIHRoZSBjb2RlIGxhdGVyIHdpbGxcbiAgICogY29ycmVjdCBsaW5lIG51bWJlcnMgYWdhaW4uIElmIG5vIGtleSBpcyBmb3VuZCBvciBpZiBleHRyYWN0S2V5Q29kZSBpc1xuICAgKiBmYWxzZSwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIG51bGwuXG4gICAqL1xuICBwcm9jZXNzUHJvcHMoZXh0cmFjdEtleUNvZGUpIHtcbiAgICBsZXQga2V5Q29kZSA9IG51bGw7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5qc3hOYW1lLCB0dC5lcSkpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHJlZ3VsYXIga2V5PXt2YWx1ZX0gb3Iga2V5PVwidmFsdWVcIiBwcm9wLlxuICAgICAgICBjb25zdCBwcm9wTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgICAgIGlmIChleHRyYWN0S2V5Q29kZSAmJiBwcm9wTmFtZSA9PT0gXCJrZXlcIikge1xuICAgICAgICAgIGlmIChrZXlDb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgcHJvcHMgbGlzdCBoYXMgbXVsdGlwbGUga2V5cy4gRGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBhcmVcbiAgICAgICAgICAgIC8vIGluY29uc2lzdGVudCBhYm91dCB3aGF0IHRvIGRvIGhlcmU6IGFzIG9mIHRoaXMgd3JpdGluZywgQmFiZWwgYW5kXG4gICAgICAgICAgICAvLyBzd2Mga2VlcCB0aGUgKmxhc3QqIGtleSBhbmQgY29tcGxldGVseSByZW1vdmUgdGhlIHJlc3QsIHdoaWxlXG4gICAgICAgICAgICAvLyBUeXBlU2NyaXB0IHVzZXMgdGhlICpmaXJzdCoga2V5IGFuZCBsZWF2ZXMgdGhlIG90aGVycyBhcyByZWd1bGFyXG4gICAgICAgICAgICAvLyBwcm9wcy4gVGhlIFJlYWN0IHRlYW0gY29sbGFib3JhdGVkIHdpdGggQmFiZWwgb24gdGhlXG4gICAgICAgICAgICAvLyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGJlaGF2aW9yLCBzbyBwcmVzdW1hYmx5IHRoZSBCYWJlbCBiZWhhdmlvclxuICAgICAgICAgICAgLy8gaXMgdGhlIG9uZSB0byB1c2UuXG4gICAgICAgICAgICAvLyBTaW5jZSB3ZSB3b24ndCBldmVyIGJlIGVtaXR0aW5nIHRoZSBwcmV2aW91cyBrZXkgY29kZSwgd2UgbmVlZCB0b1xuICAgICAgICAgICAgLy8gYXQgbGVhc3QgZW1pdCBpdHMgbmV3bGluZXMgaGVyZSBzbyB0aGF0IHRoZSBsaW5lIG51bWJlcnMgbWF0Y2ggdXBcbiAgICAgICAgICAgIC8vIGluIHRoZSBsb25nIHJ1bi5cbiAgICAgICAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoa2V5Q29kZS5yZXBsYWNlKC9bXlxcbl0vZywgXCJcIikpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBrZXlcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAgIC8vID1cbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy50b2tlbnMuc25hcHNob3QoKTtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NQcm9wVmFsdWUoKTtcbiAgICAgICAgICBrZXlDb2RlID0gdGhpcy50b2tlbnMuZGFuZ2Vyb3VzbHlHZXRBbmRSZW1vdmVDb2RlU2luY2VTbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgICAgICAgLy8gRG9uJ3QgYWRkIGEgY29tbWFcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NQcm9wTmFtZShwcm9wTmFtZSk7XG4gICAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiOiBcIik7XG4gICAgICAgICAgdGhpcy5wcm9jZXNzUHJvcFZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4TmFtZSkpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNob3J0aGFuZCBwcm9wIGxpa2UgPGlucHV0IGRpc2FibGVkIC8+LlxuICAgICAgICBjb25zdCBwcm9wTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1Byb3BOYW1lKHByb3BOYW1lKTtcbiAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIjogdHJ1ZVwiKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKSkge1xuICAgICAgICAvLyBUaGlzIGlzIHByb3Agc3ByZWFkLCBsaWtlIDxkaXYgey4uLmdldFByb3BzKCl9Piwgd2hpY2ggd2UgY2FuIHBhc3NcbiAgICAgICAgLy8gdGhyb3VnaCBmYWlybHkgZGlyZWN0bHkgYXMgYW4gb2JqZWN0IHNwcmVhZC5cbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiXCIpO1xuICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIixcIik7XG4gICAgfVxuICAgIHJldHVybiBrZXlDb2RlO1xuICB9XG5cbiAgcHJvY2Vzc1Byb3BOYW1lKHByb3BOYW1lKSB7XG4gICAgaWYgKHByb3BOYW1lLmluY2x1ZGVzKFwiLVwiKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAnJHtwcm9wTmFtZX0nYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gIHByb2Nlc3NQcm9wVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlTCkpIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeFRhZ1N0YXJ0KSkge1xuICAgICAgdGhpcy5wcm9jZXNzSlNYVGFnKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc1N0cmluZ1Byb3BWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb2Nlc3NTdHJpbmdQcm9wVmFsdWUoKSB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICBjb25zdCB2YWx1ZUNvZGUgPSB0aGlzLnRva2Vucy5jb2RlLnNsaWNlKHRva2VuLnN0YXJ0ICsgMSwgdG9rZW4uZW5kIC0gMSk7XG4gICAgY29uc3QgcmVwbGFjZW1lbnRDb2RlID0gZm9ybWF0SlNYVGV4dFJlcGxhY2VtZW50KHZhbHVlQ29kZSk7XG4gICAgY29uc3QgbGl0ZXJhbENvZGUgPSBmb3JtYXRKU1hTdHJpbmdWYWx1ZUxpdGVyYWwodmFsdWVDb2RlKTtcbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4obGl0ZXJhbENvZGUgKyByZXBsYWNlbWVudENvZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0aW5nIGluIHRoZSBtaWRkbGUgb2YgdGhlIHByb3BzIG9iamVjdCBsaXRlcmFsLCBwcm9kdWNlIGFuIGFkZGl0aW9uYWxcbiAgICogcHJvcCBmb3IgdGhlIGNoaWxkcmVuIGFuZCBjbG9zZSB0aGUgb2JqZWN0IGxpdGVyYWwuXG4gICAqL1xuICBwcm9jZXNzQXV0b21hdGljQ2hpbGRyZW5BbmRFbmRQcm9wcyhqc3hSb2xlKSB7XG4gICAgaWYgKGpzeFJvbGUgPT09IEpTWFJvbGUuU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIgY2hpbGRyZW46IFtcIik7XG4gICAgICB0aGlzLnByb2Nlc3NDaGlsZHJlbihmYWxzZSk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwiXX1cIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBwYXJzZXIgaW5mb3JtYXRpb24gdGVsbHMgdXMgd2hldGhlciB3ZSB3aWxsIHNlZSBhIHJlYWwgY2hpbGQgb3IgaWZcbiAgICAgIC8vIGFsbCByZW1haW5pbmcgY2hpbGRyZW4gKGlmIGFueSkgd2lsbCByZXNvbHZlIHRvIGVtcHR5LiBJZiB0aGVyZSBhcmUgbm9cbiAgICAgIC8vIG5vbi1lbXB0eSBjaGlsZHJlbiwgZG9uJ3QgZW1pdCBhIGNoaWxkcmVuIHByb3AgYXQgYWxsLCBidXQgc3RpbGxcbiAgICAgIC8vIHByb2Nlc3MgY2hpbGRyZW4gc28gdGhhdCB3ZSBwcm9wZXJseSB0cmFuc2Zvcm0gdGhlIGNvZGUgaW50byBub3RoaW5nLlxuICAgICAgaWYgKGpzeFJvbGUgPT09IEpTWFJvbGUuT25lQ2hpbGQpIHtcbiAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIiBjaGlsZHJlbjogXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy5wcm9jZXNzQ2hpbGRyZW4oZmFsc2UpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIn1cIik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBjaGlsZHJlbiBpbnRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdoaWNoIHdpbGwgYmUgZWl0aGVyXG4gICAqIGFyZ3VtZW50cyB0byBjcmVhdGVFbGVtZW50IG9yIGFycmF5IGVsZW1lbnRzIG9mIGEgY2hpbGRyZW4gcHJvcC5cbiAgICovXG4gIHByb2Nlc3NDaGlsZHJlbihuZWVkc0luaXRpYWxDb21tYSkge1xuICAgIGxldCBuZWVkc0NvbW1hID0gbmVlZHNJbml0aWFsQ29tbWE7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5qc3hUYWdTdGFydCwgdHQuc2xhc2gpKSB7XG4gICAgICAgIC8vIENsb3NpbmcgdGFnLCBzbyBubyBtb3JlIGNoaWxkcmVuLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsZXQgZGlkRW1pdEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZUwpKSB7XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5icmFjZUwsIHR0LmJyYWNlUikpIHtcbiAgICAgICAgICAvLyBFbXB0eSBpbnRlcnBvbGF0aW9ucyBhbmQgY29tbWVudC1vbmx5IGludGVycG9sYXRpb25zIGFyZSBhbGxvd2VkXG4gICAgICAgICAgLy8gYW5kIGRvbid0IGNyZWF0ZSBhbiBleHRyYSBjaGlsZCBhcmcuXG4gICAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiXCIpO1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJbnRlcnBvbGF0ZWQgZXhwcmVzc2lvbi5cbiAgICAgICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4obmVlZHNDb21tYSA/IFwiLCBcIiA6IFwiXCIpO1xuICAgICAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCJcIik7XG4gICAgICAgICAgZGlkRW1pdEVsZW1lbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmpzeFRhZ1N0YXJ0KSkge1xuICAgICAgICAvLyBDaGlsZCBKU1ggZWxlbWVudFxuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKG5lZWRzQ29tbWEgPyBcIiwgXCIgOiBcIlwiKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzSlNYVGFnKCk7XG4gICAgICAgIGRpZEVtaXRFbGVtZW50ID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4VGV4dCkgfHwgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4RW1wdHlUZXh0KSkge1xuICAgICAgICBkaWRFbWl0RWxlbWVudCA9IHRoaXMucHJvY2Vzc0NoaWxkVGV4dEVsZW1lbnQobmVlZHNDb21tYSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIHRva2VuIHdoZW4gcHJvY2Vzc2luZyBKU1ggY2hpbGRyZW4uXCIpO1xuICAgICAgfVxuICAgICAgaWYgKGRpZEVtaXRFbGVtZW50KSB7XG4gICAgICAgIG5lZWRzQ29tbWEgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUdXJuIGEgSlNYIHRleHQgZWxlbWVudCBpbnRvIGEgc3RyaW5nIGxpdGVyYWwsIG9yIG5vdGhpbmcgYXQgYWxsIGlmIHRoZSBKU1hcbiAgICogdGV4dCByZXNvbHZlcyB0byB0aGUgZW1wdHkgc3RyaW5nLlxuICAgKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYSBzdHJpbmcgbGl0ZXJhbCBpcyBlbWl0dGVkLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqL1xuICBwcm9jZXNzQ2hpbGRUZXh0RWxlbWVudChuZWVkc0NvbW1hKSB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICBjb25zdCB2YWx1ZUNvZGUgPSB0aGlzLnRva2Vucy5jb2RlLnNsaWNlKHRva2VuLnN0YXJ0LCB0b2tlbi5lbmQpO1xuICAgIGNvbnN0IHJlcGxhY2VtZW50Q29kZSA9IGZvcm1hdEpTWFRleHRSZXBsYWNlbWVudCh2YWx1ZUNvZGUpO1xuICAgIGNvbnN0IGxpdGVyYWxDb2RlID0gZm9ybWF0SlNYVGV4dExpdGVyYWwodmFsdWVDb2RlKTtcbiAgICBpZiAobGl0ZXJhbENvZGUgPT09ICdcIlwiJykge1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKHJlcGxhY2VtZW50Q29kZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgJHtuZWVkc0NvbW1hID8gXCIsIFwiIDogXCJcIn0ke2xpdGVyYWxDb2RlfSR7cmVwbGFjZW1lbnRDb2RlfWApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGV2U291cmNlKGVsZW1lbnRMb2NhdGlvbkNvZGUpIHtcbiAgICByZXR1cm4gYHtmaWxlTmFtZTogJHt0aGlzLmdldEZpbGVuYW1lVmFyTmFtZSgpfSwgJHtlbGVtZW50TG9jYXRpb25Db2RlfX1gO1xuICB9XG5cbiAgZ2V0RmlsZW5hbWVWYXJOYW1lKCkge1xuICAgIGlmICghdGhpcy5maWxlbmFtZVZhck5hbWUpIHtcbiAgICAgIHRoaXMuZmlsZW5hbWVWYXJOYW1lID0gdGhpcy5uYW1lTWFuYWdlci5jbGFpbUZyZWVOYW1lKFwiX2pzeEZpbGVOYW1lXCIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5maWxlbmFtZVZhck5hbWU7XG4gIH1cbn1cblxuLyoqXG4gKiBTcGVjIGZvciBpZGVudGlmaWVyczogaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNwcm9kLUlkZW50aWZpZXJTdGFydC5cbiAqXG4gKiBSZWFsbHkgb25seSB0cmVhdCBhbnl0aGluZyBzdGFydGluZyB3aXRoIGEteiBhcyB0YWcgbmFtZXMuICBgX2AsIGAkYCwgYFx1MDBFOWBcbiAqIHNob3VsZCBiZSB0cmVhdGVkIGFzIGNvbXBvbmVudCBuYW1lc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRzV2l0aExvd2VyQ2FzZShzKSB7XG4gIGNvbnN0IGZpcnN0Q2hhciA9IHMuY2hhckNvZGVBdCgwKTtcbiAgcmV0dXJuIGZpcnN0Q2hhciA+PSBjaGFyQ29kZXMubG93ZXJjYXNlQSAmJiBmaXJzdENoYXIgPD0gY2hhckNvZGVzLmxvd2VyY2FzZVo7XG59XG5cbi8qKlxuICogVHVybiB0aGUgZ2l2ZW4ganN4VGV4dCBzdHJpbmcgaW50byBhIEpTIHN0cmluZyBsaXRlcmFsLiBMZWFkaW5nIGFuZCB0cmFpbGluZ1xuICogd2hpdGVzcGFjZSBvbiBsaW5lcyBpcyByZW1vdmVkLCBleGNlcHQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIG9wZW4tdGFnIGFuZFxuICogYmVmb3JlIHRoZSBjbG9zZS10YWcuIEVtcHR5IGxpbmVzIGFyZSBjb21wbGV0ZWx5IHJlbW92ZWQsIGFuZCBzcGFjZXMgYXJlXG4gKiBhZGRlZCBiZXR3ZWVuIGxpbmVzIGFmdGVyIHRoYXQuXG4gKlxuICogV2UgdXNlIEpTT04uc3RyaW5naWZ5IHRvIGludHJvZHVjZSBlc2NhcGUgY2hhcmFjdGVycyBhcyBuZWNlc3NhcnksIGFuZCB0cmltXG4gKiB0aGUgc3RhcnQgYW5kIGVuZCBvZiBlYWNoIGxpbmUgYW5kIHJlbW92ZSBibGFuayBsaW5lcy5cbiAqL1xuZnVuY3Rpb24gZm9ybWF0SlNYVGV4dExpdGVyYWwodGV4dCkge1xuICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgbGV0IHdoaXRlc3BhY2UgPSBcIlwiO1xuXG4gIGxldCBpc0luSW5pdGlhbExpbmVXaGl0ZXNwYWNlID0gZmFsc2U7XG4gIGxldCBzZWVuTm9uV2hpdGVzcGFjZSA9IGZhbHNlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjID0gdGV4dFtpXTtcbiAgICBpZiAoYyA9PT0gXCIgXCIgfHwgYyA9PT0gXCJcXHRcIiB8fCBjID09PSBcIlxcclwiKSB7XG4gICAgICBpZiAoIWlzSW5Jbml0aWFsTGluZVdoaXRlc3BhY2UpIHtcbiAgICAgICAgd2hpdGVzcGFjZSArPSBjO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYyA9PT0gXCJcXG5cIikge1xuICAgICAgd2hpdGVzcGFjZSA9IFwiXCI7XG4gICAgICBpc0luSW5pdGlhbExpbmVXaGl0ZXNwYWNlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHNlZW5Ob25XaGl0ZXNwYWNlICYmIGlzSW5Jbml0aWFsTGluZVdoaXRlc3BhY2UpIHtcbiAgICAgICAgcmVzdWx0ICs9IFwiIFwiO1xuICAgICAgfVxuICAgICAgcmVzdWx0ICs9IHdoaXRlc3BhY2U7XG4gICAgICB3aGl0ZXNwYWNlID0gXCJcIjtcbiAgICAgIGlmIChjID09PSBcIiZcIikge1xuICAgICAgICBjb25zdCB7ZW50aXR5LCBuZXdJfSA9IHByb2Nlc3NFbnRpdHkodGV4dCwgaSArIDEpO1xuICAgICAgICBpID0gbmV3SSAtIDE7XG4gICAgICAgIHJlc3VsdCArPSBlbnRpdHk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgKz0gYztcbiAgICAgIH1cbiAgICAgIHNlZW5Ob25XaGl0ZXNwYWNlID0gdHJ1ZTtcbiAgICAgIGlzSW5Jbml0aWFsTGluZVdoaXRlc3BhY2UgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgaWYgKCFpc0luSW5pdGlhbExpbmVXaGl0ZXNwYWNlKSB7XG4gICAgcmVzdWx0ICs9IHdoaXRlc3BhY2U7XG4gIH1cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XG59XG5cbi8qKlxuICogUHJvZHVjZSB0aGUgY29kZSB0aGF0IHNob3VsZCBiZSBwcmludGVkIGFmdGVyIHRoZSBKU1ggdGV4dCBzdHJpbmcgbGl0ZXJhbCxcbiAqIHdpdGggbW9zdCBjb250ZW50IHJlbW92ZWQsIGJ1dCBhbGwgbmV3bGluZXMgcHJlc2VydmVkIGFuZCBhbGwgc3BhY2luZyBhdCB0aGVcbiAqIGVuZCBwcmVzZXJ2ZWQuXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdEpTWFRleHRSZXBsYWNlbWVudCh0ZXh0KSB7XG4gIGxldCBudW1OZXdsaW5lcyA9IDA7XG4gIGxldCBudW1TcGFjZXMgPSAwO1xuICBmb3IgKGNvbnN0IGMgb2YgdGV4dCkge1xuICAgIGlmIChjID09PSBcIlxcblwiKSB7XG4gICAgICBudW1OZXdsaW5lcysrO1xuICAgICAgbnVtU3BhY2VzID0gMDtcbiAgICB9IGVsc2UgaWYgKGMgPT09IFwiIFwiKSB7XG4gICAgICBudW1TcGFjZXMrKztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFwiXFxuXCIucmVwZWF0KG51bU5ld2xpbmVzKSArIFwiIFwiLnJlcGVhdChudW1TcGFjZXMpO1xufVxuXG4vKipcbiAqIEZvcm1hdCBhIHN0cmluZyBpbiB0aGUgdmFsdWUgcG9zaXRpb24gb2YgYSBKU1ggcHJvcC5cbiAqXG4gKiBVc2UgdGhlIHNhbWUgaW1wbGVtZW50YXRpb24gYXMgY29udmVydEF0dHJpYnV0ZSBmcm9tXG4gKiBiYWJlbC1oZWxwZXItYnVpbGRlci1yZWFjdC1qc3guXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdEpTWFN0cmluZ1ZhbHVlTGl0ZXJhbCh0ZXh0KSB7XG4gIGxldCByZXN1bHQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjID0gdGV4dFtpXTtcbiAgICBpZiAoYyA9PT0gXCJcXG5cIikge1xuICAgICAgaWYgKC9cXHMvLnRlc3QodGV4dFtpICsgMV0pKSB7XG4gICAgICAgIHJlc3VsdCArPSBcIiBcIjtcbiAgICAgICAgd2hpbGUgKGkgPCB0ZXh0Lmxlbmd0aCAmJiAvXFxzLy50ZXN0KHRleHRbaSArIDFdKSkge1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ICs9IFwiXFxuXCI7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjID09PSBcIiZcIikge1xuICAgICAgY29uc3Qge2VudGl0eSwgbmV3SX0gPSBwcm9jZXNzRW50aXR5KHRleHQsIGkgKyAxKTtcbiAgICAgIHJlc3VsdCArPSBlbnRpdHk7XG4gICAgICBpID0gbmV3SSAtIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCArPSBjO1xuICAgIH1cbiAgfVxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcbn1cblxuLyoqXG4gKiBTdGFydGluZyBhdCBhICYsIHNlZSBpZiB0aGVyZSdzIGFuIEhUTUwgZW50aXR5IChzcGVjaWZpZWQgYnkgbmFtZSwgZGVjaW1hbFxuICogY2hhciBjb2RlLCBvciBoZXggY2hhciBjb2RlKSBhbmQgcmV0dXJuIGl0IGlmIHNvLlxuICpcbiAqIE1vZGlmaWVkIGZyb20ganN4UmVhZFN0cmluZyBpbiBiYWJlbC1wYXJzZXIuXG4gKi9cbmZ1bmN0aW9uIHByb2Nlc3NFbnRpdHkodGV4dCwgaW5kZXhBZnRlckFtcGVyc2FuZCkge1xuICBsZXQgc3RyID0gXCJcIjtcbiAgbGV0IGNvdW50ID0gMDtcbiAgbGV0IGVudGl0eTtcbiAgbGV0IGkgPSBpbmRleEFmdGVyQW1wZXJzYW5kO1xuXG4gIGlmICh0ZXh0W2ldID09PSBcIiNcIikge1xuICAgIGxldCByYWRpeCA9IDEwO1xuICAgIGkrKztcbiAgICBsZXQgbnVtU3RhcnQ7XG4gICAgaWYgKHRleHRbaV0gPT09IFwieFwiKSB7XG4gICAgICByYWRpeCA9IDE2O1xuICAgICAgaSsrO1xuICAgICAgbnVtU3RhcnQgPSBpO1xuICAgICAgd2hpbGUgKGkgPCB0ZXh0Lmxlbmd0aCAmJiBpc0hleERpZ2l0KHRleHQuY2hhckNvZGVBdChpKSkpIHtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBudW1TdGFydCA9IGk7XG4gICAgICB3aGlsZSAoaSA8IHRleHQubGVuZ3RoICYmIGlzRGVjaW1hbERpZ2l0KHRleHQuY2hhckNvZGVBdChpKSkpIHtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGV4dFtpXSA9PT0gXCI7XCIpIHtcbiAgICAgIGNvbnN0IG51bVN0ciA9IHRleHQuc2xpY2UobnVtU3RhcnQsIGkpO1xuICAgICAgaWYgKG51bVN0cikge1xuICAgICAgICBpKys7XG4gICAgICAgIGVudGl0eSA9IFN0cmluZy5mcm9tQ29kZVBvaW50KHBhcnNlSW50KG51bVN0ciwgcmFkaXgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKGkgPCB0ZXh0Lmxlbmd0aCAmJiBjb3VudCsrIDwgMTApIHtcbiAgICAgIGNvbnN0IGNoID0gdGV4dFtpXTtcbiAgICAgIGkrKztcbiAgICAgIGlmIChjaCA9PT0gXCI7XCIpIHtcbiAgICAgICAgZW50aXR5ID0gWEhUTUxFbnRpdGllcy5nZXQoc3RyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBzdHIgKz0gY2g7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFlbnRpdHkpIHtcbiAgICByZXR1cm4ge2VudGl0eTogXCImXCIsIG5ld0k6IGluZGV4QWZ0ZXJBbXBlcnNhbmR9O1xuICB9XG4gIHJldHVybiB7ZW50aXR5LCBuZXdJOiBpfTtcbn1cblxuZnVuY3Rpb24gaXNEZWNpbWFsRGlnaXQoY29kZSkge1xuICByZXR1cm4gY29kZSA+PSBjaGFyQ29kZXMuZGlnaXQwICYmIGNvZGUgPD0gY2hhckNvZGVzLmRpZ2l0OTtcbn1cblxuZnVuY3Rpb24gaXNIZXhEaWdpdChjb2RlKSB7XG4gIHJldHVybiAoXG4gICAgKGNvZGUgPj0gY2hhckNvZGVzLmRpZ2l0MCAmJiBjb2RlIDw9IGNoYXJDb2Rlcy5kaWdpdDkpIHx8XG4gICAgKGNvZGUgPj0gY2hhckNvZGVzLmxvd2VyY2FzZUEgJiYgY29kZSA8PSBjaGFyQ29kZXMubG93ZXJjYXNlRikgfHxcbiAgICAoY29kZSA+PSBjaGFyQ29kZXMudXBwZXJjYXNlQSAmJiBjb2RlIDw9IGNoYXJDb2Rlcy51cHBlcmNhc2VGKVxuICApO1xufVxuIiwgIlxuaW1wb3J0IHtJZGVudGlmaWVyUm9sZX0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXJcIjtcbmltcG9ydCB7VG9rZW5UeXBlLCBUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5cbmltcG9ydCB7c3RhcnRzV2l0aExvd2VyQ2FzZX0gZnJvbSBcIi4uL3RyYW5zZm9ybWVycy9KU1hUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IGdldEpTWFByYWdtYUluZm8gZnJvbSBcIi4vZ2V0SlNYUHJhZ21hSW5mb1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9uVHlwZUlkZW50aWZpZXJzKHRva2Vucywgb3B0aW9ucykge1xuICBjb25zdCBqc3hQcmFnbWFJbmZvID0gZ2V0SlNYUHJhZ21hSW5mbyhvcHRpb25zKTtcbiAgY29uc3Qgbm9uVHlwZUlkZW50aWZpZXJzID0gbmV3IFNldCgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy50b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB0b2tlbiA9IHRva2Vucy50b2tlbnNbaV07XG4gICAgaWYgKFxuICAgICAgdG9rZW4udHlwZSA9PT0gdHQubmFtZSAmJlxuICAgICAgIXRva2VuLmlzVHlwZSAmJlxuICAgICAgKHRva2VuLmlkZW50aWZpZXJSb2xlID09PSBJZGVudGlmaWVyUm9sZS5BY2Nlc3MgfHxcbiAgICAgICAgdG9rZW4uaWRlbnRpZmllclJvbGUgPT09IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZCB8fFxuICAgICAgICB0b2tlbi5pZGVudGlmaWVyUm9sZSA9PT0gSWRlbnRpZmllclJvbGUuRXhwb3J0QWNjZXNzKSAmJlxuICAgICAgIXRva2VuLnNoYWRvd3NHbG9iYWxcbiAgICApIHtcbiAgICAgIG5vblR5cGVJZGVudGlmaWVycy5hZGQodG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odG9rZW4pKTtcbiAgICB9XG4gICAgaWYgKHRva2VuLnR5cGUgPT09IHR0LmpzeFRhZ1N0YXJ0KSB7XG4gICAgICBub25UeXBlSWRlbnRpZmllcnMuYWRkKGpzeFByYWdtYUluZm8uYmFzZSk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRva2VuLnR5cGUgPT09IHR0LmpzeFRhZ1N0YXJ0ICYmXG4gICAgICBpICsgMSA8IHRva2Vucy50b2tlbnMubGVuZ3RoICYmXG4gICAgICB0b2tlbnMudG9rZW5zW2kgKyAxXS50eXBlID09PSB0dC5qc3hUYWdFbmRcbiAgICApIHtcbiAgICAgIG5vblR5cGVJZGVudGlmaWVycy5hZGQoanN4UHJhZ21hSW5mby5iYXNlKTtcbiAgICAgIG5vblR5cGVJZGVudGlmaWVycy5hZGQoanN4UHJhZ21hSW5mby5mcmFnbWVudEJhc2UpO1xuICAgIH1cbiAgICBpZiAodG9rZW4udHlwZSA9PT0gdHQuanN4TmFtZSAmJiB0b2tlbi5pZGVudGlmaWVyUm9sZSA9PT0gSWRlbnRpZmllclJvbGUuQWNjZXNzKSB7XG4gICAgICBjb25zdCBpZGVudGlmaWVyTmFtZSA9IHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKTtcbiAgICAgIC8vIExvd2VyLWNhc2Ugc2luZ2xlLWNvbXBvbmVudCB0YWcgbmFtZXMgbGlrZSBcImRpdlwiIGRvbid0IGNvdW50LlxuICAgICAgaWYgKCFzdGFydHNXaXRoTG93ZXJDYXNlKGlkZW50aWZpZXJOYW1lKSB8fCB0b2tlbnMudG9rZW5zW2kgKyAxXS50eXBlID09PSBUb2tlblR5cGUuZG90KSB7XG4gICAgICAgIG5vblR5cGVJZGVudGlmaWVycy5hZGQodG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odG9rZW4pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vblR5cGVJZGVudGlmaWVycztcbn1cbiIsICJcblxuXG5pbXBvcnQge2lzRGVjbGFyYXRpb259IGZyb20gXCIuL3BhcnNlci90b2tlbml6ZXJcIjtcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuL3BhcnNlci90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5cbmltcG9ydCBnZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvIGZyb20gXCIuL3V0aWwvZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mb1wiO1xuaW1wb3J0IHtnZXROb25UeXBlSWRlbnRpZmllcnN9IGZyb20gXCIuL3V0aWwvZ2V0Tm9uVHlwZUlkZW50aWZpZXJzXCI7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qKlxuICogQ2xhc3MgcmVzcG9uc2libGUgZm9yIHByZXByb2Nlc3NpbmcgYW5kIGJvb2trZWVwaW5nIGltcG9ydCBhbmQgZXhwb3J0IGRlY2xhcmF0aW9ucyB3aXRoaW4gdGhlXG4gKiBmaWxlLlxuICpcbiAqIFR5cGVTY3JpcHQgdXNlcyBhIHNpbXBsZXIgbWVjaGFuaXNtIHRoYXQgZG9lcyBub3QgdXNlIGZ1bmN0aW9ucyBsaWtlIGludGVyb3BSZXF1aXJlRGVmYXVsdCBhbmRcbiAqIGludGVyb3BSZXF1aXJlV2lsZGNhcmQsIHNvIHdlIGFsc28gYWxsb3cgdGhhdCBtb2RlIGZvciBjb21wYXRpYmlsaXR5LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDSlNJbXBvcnRQcm9jZXNzb3Ige1xuICAgX19pbml0KCkge3RoaXMubm9uVHlwZUlkZW50aWZpZXJzID0gbmV3IFNldCgpfVxuICAgX19pbml0MigpIHt0aGlzLmltcG9ydEluZm9CeVBhdGggPSBuZXcgTWFwKCl9XG4gICBfX2luaXQzKCkge3RoaXMuaW1wb3J0c1RvUmVwbGFjZSA9IG5ldyBNYXAoKX1cbiAgIF9faW5pdDQoKSB7dGhpcy5pZGVudGlmaWVyUmVwbGFjZW1lbnRzID0gbmV3IE1hcCgpfVxuICAgX19pbml0NSgpIHt0aGlzLmV4cG9ydEJpbmRpbmdzQnlMb2NhbE5hbWUgPSBuZXcgTWFwKCl9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgIG5hbWVNYW5hZ2VyLFxuICAgICB0b2tlbnMsXG4gICAgIGVuYWJsZUxlZ2FjeVR5cGVTY3JpcHRNb2R1bGVJbnRlcm9wLFxuICAgICBvcHRpb25zLFxuICAgICBpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkLFxuICAgICBrZWVwVW51c2VkSW1wb3J0cyxcbiAgICAgaGVscGVyTWFuYWdlcixcbiAgKSB7O3RoaXMubmFtZU1hbmFnZXIgPSBuYW1lTWFuYWdlcjt0aGlzLnRva2VucyA9IHRva2Vuczt0aGlzLmVuYWJsZUxlZ2FjeVR5cGVTY3JpcHRNb2R1bGVJbnRlcm9wID0gZW5hYmxlTGVnYWN5VHlwZVNjcmlwdE1vZHVsZUludGVyb3A7dGhpcy5vcHRpb25zID0gb3B0aW9uczt0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgPSBpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkO3RoaXMua2VlcFVudXNlZEltcG9ydHMgPSBrZWVwVW51c2VkSW1wb3J0czt0aGlzLmhlbHBlck1hbmFnZXIgPSBoZWxwZXJNYW5hZ2VyO0NKU0ltcG9ydFByb2Nlc3Nvci5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7Q0pTSW1wb3J0UHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7Q0pTSW1wb3J0UHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQzLmNhbGwodGhpcyk7Q0pTSW1wb3J0UHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQ0LmNhbGwodGhpcyk7Q0pTSW1wb3J0UHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQ1LmNhbGwodGhpcyk7fVxuXG4gIHByZXByb2Nlc3NUb2tlbnMoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRva2Vucy50b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGksIHR0Ll9pbXBvcnQpICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzM0F0SW5kZXgoaSwgdHQuX2ltcG9ydCwgdHQubmFtZSwgdHQuZXEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5wcmVwcm9jZXNzSW1wb3J0QXRJbmRleChpKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGksIHR0Ll9leHBvcnQpICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaSwgdHQuX2V4cG9ydCwgdHQuZXEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5wcmVwcm9jZXNzRXhwb3J0QXRJbmRleChpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5nZW5lcmF0ZUltcG9ydFJlcGxhY2VtZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluIFR5cGVTY3JpcHQsIGltcG9ydCBzdGF0ZW1lbnRzIHRoYXQgb25seSBpbXBvcnQgdHlwZXMgc2hvdWxkIGJlIHJlbW92ZWQuXG4gICAqIFRoaXMgaW5jbHVkZXMgYGltcG9ydCB7fSBmcm9tICdmb28nO2AsIGJ1dCBub3QgYGltcG9ydCAnZm9vJztgLlxuICAgKi9cbiAgcHJ1bmVUeXBlT25seUltcG9ydHMoKSB7XG4gICAgdGhpcy5ub25UeXBlSWRlbnRpZmllcnMgPSBnZXROb25UeXBlSWRlbnRpZmllcnModGhpcy50b2tlbnMsIHRoaXMub3B0aW9ucyk7XG4gICAgZm9yIChjb25zdCBbcGF0aCwgaW1wb3J0SW5mb10gb2YgdGhpcy5pbXBvcnRJbmZvQnlQYXRoLmVudHJpZXMoKSkge1xuICAgICAgaWYgKFxuICAgICAgICBpbXBvcnRJbmZvLmhhc0JhcmVJbXBvcnQgfHxcbiAgICAgICAgaW1wb3J0SW5mby5oYXNTdGFyRXhwb3J0IHx8XG4gICAgICAgIGltcG9ydEluZm8uZXhwb3J0U3Rhck5hbWVzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgaW1wb3J0SW5mby5uYW1lZEV4cG9ydHMubGVuZ3RoID4gMFxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgbmFtZXMgPSBbXG4gICAgICAgIC4uLmltcG9ydEluZm8uZGVmYXVsdE5hbWVzLFxuICAgICAgICAuLi5pbXBvcnRJbmZvLndpbGRjYXJkTmFtZXMsXG4gICAgICAgIC4uLmltcG9ydEluZm8ubmFtZWRJbXBvcnRzLm1hcCgoe2xvY2FsTmFtZX0pID0+IGxvY2FsTmFtZSksXG4gICAgICBdO1xuICAgICAgaWYgKG5hbWVzLmV2ZXJ5KChuYW1lKSA9PiB0aGlzLnNob3VsZEF1dG9tYXRpY2FsbHlFbGlkZUltcG9ydGVkTmFtZShuYW1lKSkpIHtcbiAgICAgICAgdGhpcy5pbXBvcnRzVG9SZXBsYWNlLnNldChwYXRoLCBcIlwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaG91bGRBdXRvbWF0aWNhbGx5RWxpZGVJbXBvcnRlZE5hbWUobmFtZSkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgJiZcbiAgICAgICF0aGlzLmtlZXBVbnVzZWRJbXBvcnRzICYmXG4gICAgICAhdGhpcy5ub25UeXBlSWRlbnRpZmllcnMuaGFzKG5hbWUpXG4gICAgKTtcbiAgfVxuXG4gICBnZW5lcmF0ZUltcG9ydFJlcGxhY2VtZW50cygpIHtcbiAgICBmb3IgKGNvbnN0IFtwYXRoLCBpbXBvcnRJbmZvXSBvZiB0aGlzLmltcG9ydEluZm9CeVBhdGguZW50cmllcygpKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGRlZmF1bHROYW1lcyxcbiAgICAgICAgd2lsZGNhcmROYW1lcyxcbiAgICAgICAgbmFtZWRJbXBvcnRzLFxuICAgICAgICBuYW1lZEV4cG9ydHMsXG4gICAgICAgIGV4cG9ydFN0YXJOYW1lcyxcbiAgICAgICAgaGFzU3RhckV4cG9ydCxcbiAgICAgIH0gPSBpbXBvcnRJbmZvO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRlZmF1bHROYW1lcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgd2lsZGNhcmROYW1lcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgbmFtZWRJbXBvcnRzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBuYW1lZEV4cG9ydHMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIGV4cG9ydFN0YXJOYW1lcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgIWhhc1N0YXJFeHBvcnRcbiAgICAgICkge1xuICAgICAgICAvLyBJbXBvcnQgaXMgbmV2ZXIgdXNlZCwgc28gZG9uJ3QgZXZlbiBhc3NpZ24gYSBuYW1lLlxuICAgICAgICB0aGlzLmltcG9ydHNUb1JlcGxhY2Uuc2V0KHBhdGgsIGByZXF1aXJlKCcke3BhdGh9Jyk7YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcmltYXJ5SW1wb3J0TmFtZSA9IHRoaXMuZ2V0RnJlZUlkZW50aWZpZXJGb3JQYXRoKHBhdGgpO1xuICAgICAgbGV0IHNlY29uZGFyeUltcG9ydE5hbWU7XG4gICAgICBpZiAodGhpcy5lbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcCkge1xuICAgICAgICBzZWNvbmRhcnlJbXBvcnROYW1lID0gcHJpbWFyeUltcG9ydE5hbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWNvbmRhcnlJbXBvcnROYW1lID1cbiAgICAgICAgICB3aWxkY2FyZE5hbWVzLmxlbmd0aCA+IDAgPyB3aWxkY2FyZE5hbWVzWzBdIDogdGhpcy5nZXRGcmVlSWRlbnRpZmllckZvclBhdGgocGF0aCk7XG4gICAgICB9XG4gICAgICBsZXQgcmVxdWlyZUNvZGUgPSBgdmFyICR7cHJpbWFyeUltcG9ydE5hbWV9ID0gcmVxdWlyZSgnJHtwYXRofScpO2A7XG4gICAgICBpZiAod2lsZGNhcmROYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAoY29uc3Qgd2lsZGNhcmROYW1lIG9mIHdpbGRjYXJkTmFtZXMpIHtcbiAgICAgICAgICBjb25zdCBtb2R1bGVFeHByID0gdGhpcy5lbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcFxuICAgICAgICAgICAgPyBwcmltYXJ5SW1wb3J0TmFtZVxuICAgICAgICAgICAgOiBgJHt0aGlzLmhlbHBlck1hbmFnZXIuZ2V0SGVscGVyTmFtZShcImludGVyb3BSZXF1aXJlV2lsZGNhcmRcIil9KCR7cHJpbWFyeUltcG9ydE5hbWV9KWA7XG4gICAgICAgICAgcmVxdWlyZUNvZGUgKz0gYCB2YXIgJHt3aWxkY2FyZE5hbWV9ID0gJHttb2R1bGVFeHByfTtgO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGV4cG9ydFN0YXJOYW1lcy5sZW5ndGggPiAwICYmIHNlY29uZGFyeUltcG9ydE5hbWUgIT09IHByaW1hcnlJbXBvcnROYW1lKSB7XG4gICAgICAgIHJlcXVpcmVDb2RlICs9IGAgdmFyICR7c2Vjb25kYXJ5SW1wb3J0TmFtZX0gPSAke3RoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFxuICAgICAgICAgIFwiaW50ZXJvcFJlcXVpcmVXaWxkY2FyZFwiLFxuICAgICAgICApfSgke3ByaW1hcnlJbXBvcnROYW1lfSk7YDtcbiAgICAgIH0gZWxzZSBpZiAoZGVmYXVsdE5hbWVzLmxlbmd0aCA+IDAgJiYgc2Vjb25kYXJ5SW1wb3J0TmFtZSAhPT0gcHJpbWFyeUltcG9ydE5hbWUpIHtcbiAgICAgICAgcmVxdWlyZUNvZGUgKz0gYCB2YXIgJHtzZWNvbmRhcnlJbXBvcnROYW1lfSA9ICR7dGhpcy5oZWxwZXJNYW5hZ2VyLmdldEhlbHBlck5hbWUoXG4gICAgICAgICAgXCJpbnRlcm9wUmVxdWlyZURlZmF1bHRcIixcbiAgICAgICAgKX0oJHtwcmltYXJ5SW1wb3J0TmFtZX0pO2A7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3Qge2ltcG9ydGVkTmFtZSwgbG9jYWxOYW1lfSBvZiBuYW1lZEV4cG9ydHMpIHtcbiAgICAgICAgcmVxdWlyZUNvZGUgKz0gYCAke3RoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFxuICAgICAgICAgIFwiY3JlYXRlTmFtZWRFeHBvcnRGcm9tXCIsXG4gICAgICAgICl9KCR7cHJpbWFyeUltcG9ydE5hbWV9LCAnJHtsb2NhbE5hbWV9JywgJyR7aW1wb3J0ZWROYW1lfScpO2A7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGV4cG9ydFN0YXJOYW1lIG9mIGV4cG9ydFN0YXJOYW1lcykge1xuICAgICAgICByZXF1aXJlQ29kZSArPSBgIGV4cG9ydHMuJHtleHBvcnRTdGFyTmFtZX0gPSAke3NlY29uZGFyeUltcG9ydE5hbWV9O2A7XG4gICAgICB9XG4gICAgICBpZiAoaGFzU3RhckV4cG9ydCkge1xuICAgICAgICByZXF1aXJlQ29kZSArPSBgICR7dGhpcy5oZWxwZXJNYW5hZ2VyLmdldEhlbHBlck5hbWUoXG4gICAgICAgICAgXCJjcmVhdGVTdGFyRXhwb3J0XCIsXG4gICAgICAgICl9KCR7cHJpbWFyeUltcG9ydE5hbWV9KTtgO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmltcG9ydHNUb1JlcGxhY2Uuc2V0KHBhdGgsIHJlcXVpcmVDb2RlKTtcblxuICAgICAgZm9yIChjb25zdCBkZWZhdWx0TmFtZSBvZiBkZWZhdWx0TmFtZXMpIHtcbiAgICAgICAgdGhpcy5pZGVudGlmaWVyUmVwbGFjZW1lbnRzLnNldChkZWZhdWx0TmFtZSwgYCR7c2Vjb25kYXJ5SW1wb3J0TmFtZX0uZGVmYXVsdGApO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCB7aW1wb3J0ZWROYW1lLCBsb2NhbE5hbWV9IG9mIG5hbWVkSW1wb3J0cykge1xuICAgICAgICB0aGlzLmlkZW50aWZpZXJSZXBsYWNlbWVudHMuc2V0KGxvY2FsTmFtZSwgYCR7cHJpbWFyeUltcG9ydE5hbWV9LiR7aW1wb3J0ZWROYW1lfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEZyZWVJZGVudGlmaWVyRm9yUGF0aChwYXRoKSB7XG4gICAgY29uc3QgY29tcG9uZW50cyA9IHBhdGguc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IGxhc3RDb21wb25lbnQgPSBjb21wb25lbnRzW2NvbXBvbmVudHMubGVuZ3RoIC0gMV07XG4gICAgY29uc3QgYmFzZU5hbWUgPSBsYXN0Q29tcG9uZW50LnJlcGxhY2UoL1xcVy9nLCBcIlwiKTtcbiAgICByZXR1cm4gdGhpcy5uYW1lTWFuYWdlci5jbGFpbUZyZWVOYW1lKGBfJHtiYXNlTmFtZX1gKTtcbiAgfVxuXG4gICBwcmVwcm9jZXNzSW1wb3J0QXRJbmRleChpbmRleCkge1xuICAgIGNvbnN0IGRlZmF1bHROYW1lcyA9IFtdO1xuICAgIGNvbnN0IHdpbGRjYXJkTmFtZXMgPSBbXTtcbiAgICBjb25zdCBuYW1lZEltcG9ydHMgPSBbXTtcblxuICAgIGluZGV4Kys7XG4gICAgaWYgKFxuICAgICAgKHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleChpbmRleCwgQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQuX3R5cGVvZikpICYmXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4ICsgMSwgdHQuY29tbWEpICYmXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWxBdEluZGV4KGluZGV4ICsgMSwgQ29udGV4dHVhbEtleXdvcmQuX2Zyb20pXG4gICAgKSB7XG4gICAgICAvLyBpbXBvcnQgdHlwZSBkZWNsYXJhdGlvbiwgc28gbm8gbmVlZCB0byBwcm9jZXNzIGFueXRoaW5nLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnBhcmVuTCkpIHtcbiAgICAgIC8vIER5bmFtaWMgaW1wb3J0LCBzbyBub3RoaW5nIHRvIGRvXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQubmFtZSkpIHtcbiAgICAgIGRlZmF1bHROYW1lcy5wdXNoKHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCkpO1xuICAgICAgaW5kZXgrKztcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LmNvbW1hKSkge1xuICAgICAgICBpbmRleCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnN0YXIpKSB7XG4gICAgICAvLyAqIGFzXG4gICAgICBpbmRleCArPSAyO1xuICAgICAgd2lsZGNhcmROYW1lcy5wdXNoKHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCkpO1xuICAgICAgaW5kZXgrKztcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4LCB0dC5icmFjZUwpKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldE5hbWVkSW1wb3J0cyhpbmRleCArIDEpO1xuICAgICAgaW5kZXggPSByZXN1bHQubmV3SW5kZXg7XG5cbiAgICAgIGZvciAoY29uc3QgbmFtZWRJbXBvcnQgb2YgcmVzdWx0Lm5hbWVkSW1wb3J0cykge1xuICAgICAgICAvLyBUcmVhdCB7ZGVmYXVsdCBhcyBYfSBhcyBhIGRlZmF1bHQgaW1wb3J0IHRvIGVuc3VyZSB1c2FnZSBvZiByZXF1aXJlIGludGVyb3AgaGVscGVyXG4gICAgICAgIGlmIChuYW1lZEltcG9ydC5pbXBvcnRlZE5hbWUgPT09IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgICAgZGVmYXVsdE5hbWVzLnB1c2gobmFtZWRJbXBvcnQubG9jYWxOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuYW1lZEltcG9ydHMucHVzaChuYW1lZEltcG9ydCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWxBdEluZGV4KGluZGV4LCBDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkpIHtcbiAgICAgIGluZGV4Kys7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnN0cmluZykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIHN0cmluZyB0b2tlbiBhdCB0aGUgZW5kIG9mIGltcG9ydCBzdGF0ZW1lbnQuXCIpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gdGhpcy50b2tlbnMuc3RyaW5nVmFsdWVBdEluZGV4KGluZGV4KTtcbiAgICBjb25zdCBpbXBvcnRJbmZvID0gdGhpcy5nZXRJbXBvcnRJbmZvKHBhdGgpO1xuICAgIGltcG9ydEluZm8uZGVmYXVsdE5hbWVzLnB1c2goLi4uZGVmYXVsdE5hbWVzKTtcbiAgICBpbXBvcnRJbmZvLndpbGRjYXJkTmFtZXMucHVzaCguLi53aWxkY2FyZE5hbWVzKTtcbiAgICBpbXBvcnRJbmZvLm5hbWVkSW1wb3J0cy5wdXNoKC4uLm5hbWVkSW1wb3J0cyk7XG4gICAgaWYgKGRlZmF1bHROYW1lcy5sZW5ndGggPT09IDAgJiYgd2lsZGNhcmROYW1lcy5sZW5ndGggPT09IDAgJiYgbmFtZWRJbXBvcnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW1wb3J0SW5mby5oYXNCYXJlSW1wb3J0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAgcHJlcHJvY2Vzc0V4cG9ydEF0SW5kZXgoaW5kZXgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0Ll92YXIpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0Ll9sZXQpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0Ll9jb25zdClcbiAgICApIHtcbiAgICAgIHRoaXMucHJlcHJvY2Vzc1ZhckV4cG9ydEF0SW5kZXgoaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0Ll9mdW5jdGlvbikgfHxcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbmRleCwgdHQuX2V4cG9ydCwgdHQuX2NsYXNzKVxuICAgICkge1xuICAgICAgY29uc3QgZXhwb3J0TmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCArIDIpO1xuICAgICAgdGhpcy5hZGRFeHBvcnRCaW5kaW5nKGV4cG9ydE5hbWUsIGV4cG9ydE5hbWUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczNBdEluZGV4KGluZGV4LCB0dC5fZXhwb3J0LCB0dC5uYW1lLCB0dC5fZnVuY3Rpb24pKSB7XG4gICAgICBjb25zdCBleHBvcnROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KGluZGV4ICsgMyk7XG4gICAgICB0aGlzLmFkZEV4cG9ydEJpbmRpbmcoZXhwb3J0TmFtZSwgZXhwb3J0TmFtZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0LmJyYWNlTCkpIHtcbiAgICAgIHRoaXMucHJlcHJvY2Vzc05hbWVkRXhwb3J0QXRJbmRleChpbmRleCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMkF0SW5kZXgoaW5kZXgsIHR0Ll9leHBvcnQsIHR0LnN0YXIpKSB7XG4gICAgICB0aGlzLnByZXByb2Nlc3NFeHBvcnRTdGFyQXRJbmRleChpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgIHByZXByb2Nlc3NWYXJFeHBvcnRBdEluZGV4KGluZGV4KSB7XG4gICAgbGV0IGRlcHRoID0gMDtcbiAgICAvLyBIYW5kbGUgY2FzZXMgbGlrZSBgZXhwb3J0IGxldCB7eH0gPSB5O2AsIHN0YXJ0aW5nIGF0IHRoZSBvcGVuLWJyYWNlIGluIHRoYXQgY2FzZS5cbiAgICBmb3IgKGxldCBpID0gaW5kZXggKyAyOyA7IGkrKykge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaSwgdHQuYnJhY2VMKSB8fFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaSwgdHQuZG9sbGFyQnJhY2VMKSB8fFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaSwgdHQuYnJhY2tldEwpXG4gICAgICApIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpLCB0dC5icmFjZVIpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpLCB0dC5icmFja2V0UilcbiAgICAgICkge1xuICAgICAgICBkZXB0aC0tO1xuICAgICAgfSBlbHNlIGlmIChkZXB0aCA9PT0gMCAmJiAhdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGksIHR0Lm5hbWUpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoMSwgdHQuZXEpKSB7XG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkucmhzRW5kSW5kZXg7XG4gICAgICAgIGlmIChlbmRJbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgPSB0b2tlbiB3aXRoIGFuIGVuZCBpbmRleC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgaSA9IGVuZEluZGV4IC0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnMudG9rZW5zW2ldO1xuICAgICAgICBpZiAoaXNEZWNsYXJhdGlvbih0b2tlbikpIHtcbiAgICAgICAgICBjb25zdCBleHBvcnROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KGkpO1xuICAgICAgICAgIHRoaXMuaWRlbnRpZmllclJlcGxhY2VtZW50cy5zZXQoZXhwb3J0TmFtZSwgYGV4cG9ydHMuJHtleHBvcnROYW1lfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdhbGsgdGhpcyBleHBvcnQgc3RhdGVtZW50IGp1c3QgaW4gY2FzZSBpdCdzIGFuIGV4cG9ydC4uLmZyb20gc3RhdGVtZW50LlxuICAgKiBJZiBpdCBpcywgY29tYmluZSBpdCBpbnRvIHRoZSBpbXBvcnQgaW5mbyBmb3IgdGhhdCBwYXRoLiBPdGhlcndpc2UsIGp1c3RcbiAgICogYmFpbCBvdXQ7IGl0J2xsIGJlIGhhbmRsZWQgbGF0ZXIuXG4gICAqL1xuICAgcHJlcHJvY2Vzc05hbWVkRXhwb3J0QXRJbmRleChpbmRleCkge1xuICAgIC8vIGV4cG9ydCB7XG4gICAgaW5kZXggKz0gMjtcbiAgICBjb25zdCB7bmV3SW5kZXgsIG5hbWVkSW1wb3J0c30gPSB0aGlzLmdldE5hbWVkSW1wb3J0cyhpbmRleCk7XG4gICAgaW5kZXggPSBuZXdJbmRleDtcblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbEF0SW5kZXgoaW5kZXgsIENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKSkge1xuICAgICAgaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVpbnRlcnByZXQgXCJhIGFzIGJcIiB0byBiZSBsb2NhbC9leHBvcnRlZCByYXRoZXIgdGhhbiBpbXBvcnRlZC9sb2NhbC5cbiAgICAgIGZvciAoY29uc3Qge2ltcG9ydGVkTmFtZTogbG9jYWxOYW1lLCBsb2NhbE5hbWU6IGV4cG9ydGVkTmFtZX0gb2YgbmFtZWRJbXBvcnRzKSB7XG4gICAgICAgIHRoaXMuYWRkRXhwb3J0QmluZGluZyhsb2NhbE5hbWUsIGV4cG9ydGVkTmFtZSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnN0cmluZykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIHN0cmluZyB0b2tlbiBhdCB0aGUgZW5kIG9mIGltcG9ydCBzdGF0ZW1lbnQuXCIpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gdGhpcy50b2tlbnMuc3RyaW5nVmFsdWVBdEluZGV4KGluZGV4KTtcbiAgICBjb25zdCBpbXBvcnRJbmZvID0gdGhpcy5nZXRJbXBvcnRJbmZvKHBhdGgpO1xuICAgIGltcG9ydEluZm8ubmFtZWRFeHBvcnRzLnB1c2goLi4ubmFtZWRJbXBvcnRzKTtcbiAgfVxuXG4gICBwcmVwcm9jZXNzRXhwb3J0U3RhckF0SW5kZXgoaW5kZXgpIHtcbiAgICBsZXQgZXhwb3J0ZWROYW1lID0gbnVsbDtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczNBdEluZGV4KGluZGV4LCB0dC5fZXhwb3J0LCB0dC5zdGFyLCB0dC5fYXMpKSB7XG4gICAgICAvLyBleHBvcnQgKiBhc1xuICAgICAgaW5kZXggKz0gMztcbiAgICAgIGV4cG9ydGVkTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCk7XG4gICAgICAvLyBmb28gZnJvbVxuICAgICAgaW5kZXggKz0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZXhwb3J0ICogZnJvbVxuICAgICAgaW5kZXggKz0gMztcbiAgICB9XG4gICAgaWYgKCF0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnN0cmluZykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIHN0cmluZyB0b2tlbiBhdCB0aGUgZW5kIG9mIHN0YXIgZXhwb3J0IHN0YXRlbWVudC5cIik7XG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSB0aGlzLnRva2Vucy5zdHJpbmdWYWx1ZUF0SW5kZXgoaW5kZXgpO1xuICAgIGNvbnN0IGltcG9ydEluZm8gPSB0aGlzLmdldEltcG9ydEluZm8ocGF0aCk7XG4gICAgaWYgKGV4cG9ydGVkTmFtZSAhPT0gbnVsbCkge1xuICAgICAgaW1wb3J0SW5mby5leHBvcnRTdGFyTmFtZXMucHVzaChleHBvcnRlZE5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbXBvcnRJbmZvLmhhc1N0YXJFeHBvcnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gICBnZXROYW1lZEltcG9ydHMoaW5kZXgpIHtcbiAgICBjb25zdCBuYW1lZEltcG9ydHMgPSBbXTtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQuYnJhY2VSKSkge1xuICAgICAgICBpbmRleCsrO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3BlY2lmaWVySW5mbyA9IGdldEltcG9ydEV4cG9ydFNwZWNpZmllckluZm8odGhpcy50b2tlbnMsIGluZGV4KTtcbiAgICAgIGluZGV4ID0gc3BlY2lmaWVySW5mby5lbmRJbmRleDtcbiAgICAgIGlmICghc3BlY2lmaWVySW5mby5pc1R5cGUpIHtcbiAgICAgICAgbmFtZWRJbXBvcnRzLnB1c2goe1xuICAgICAgICAgIGltcG9ydGVkTmFtZTogc3BlY2lmaWVySW5mby5sZWZ0TmFtZSxcbiAgICAgICAgICBsb2NhbE5hbWU6IHNwZWNpZmllckluZm8ucmlnaHROYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbmRleCwgdHQuY29tbWEsIHR0LmJyYWNlUikpIHtcbiAgICAgICAgaW5kZXggKz0gMjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQuYnJhY2VSKSkge1xuICAgICAgICBpbmRleCsrO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4LCB0dC5jb21tYSkpIHtcbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCB0b2tlbjogJHtKU09OLnN0cmluZ2lmeSh0aGlzLnRva2Vucy50b2tlbnNbaW5kZXhdKX1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtuZXdJbmRleDogaW5kZXgsIG5hbWVkSW1wb3J0c307XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgbXV0YWJsZSBpbXBvcnQgaW5mbyBvYmplY3QgZm9yIHRoaXMgcGF0aCwgY3JlYXRpbmcgb25lIGlmIGl0IGRvZXNuJ3RcbiAgICogZXhpc3QgeWV0LlxuICAgKi9cbiAgIGdldEltcG9ydEluZm8ocGF0aCkge1xuICAgIGNvbnN0IGV4aXN0aW5nSW5mbyA9IHRoaXMuaW1wb3J0SW5mb0J5UGF0aC5nZXQocGF0aCk7XG4gICAgaWYgKGV4aXN0aW5nSW5mbykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nSW5mbztcbiAgICB9XG4gICAgY29uc3QgbmV3SW5mbyA9IHtcbiAgICAgIGRlZmF1bHROYW1lczogW10sXG4gICAgICB3aWxkY2FyZE5hbWVzOiBbXSxcbiAgICAgIG5hbWVkSW1wb3J0czogW10sXG4gICAgICBuYW1lZEV4cG9ydHM6IFtdLFxuICAgICAgaGFzQmFyZUltcG9ydDogZmFsc2UsXG4gICAgICBleHBvcnRTdGFyTmFtZXM6IFtdLFxuICAgICAgaGFzU3RhckV4cG9ydDogZmFsc2UsXG4gICAgfTtcbiAgICB0aGlzLmltcG9ydEluZm9CeVBhdGguc2V0KHBhdGgsIG5ld0luZm8pO1xuICAgIHJldHVybiBuZXdJbmZvO1xuICB9XG5cbiAgIGFkZEV4cG9ydEJpbmRpbmcobG9jYWxOYW1lLCBleHBvcnRlZE5hbWUpIHtcbiAgICBpZiAoIXRoaXMuZXhwb3J0QmluZGluZ3NCeUxvY2FsTmFtZS5oYXMobG9jYWxOYW1lKSkge1xuICAgICAgdGhpcy5leHBvcnRCaW5kaW5nc0J5TG9jYWxOYW1lLnNldChsb2NhbE5hbWUsIFtdKTtcbiAgICB9XG4gICAgdGhpcy5leHBvcnRCaW5kaW5nc0J5TG9jYWxOYW1lLmdldChsb2NhbE5hbWUpLnB1c2goZXhwb3J0ZWROYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGNvZGUgdG8gdXNlIGZvciB0aGUgaW1wb3J0IGZvciB0aGlzIHBhdGgsIG9yIHRoZSBlbXB0eSBzdHJpbmcgaWZcbiAgICogdGhlIGNvZGUgaGFzIGFscmVhZHkgYmVlbiBcImNsYWltZWRcIiBieSBhIHByZXZpb3VzIGltcG9ydC5cbiAgICovXG4gIGNsYWltSW1wb3J0Q29kZShpbXBvcnRQYXRoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5pbXBvcnRzVG9SZXBsYWNlLmdldChpbXBvcnRQYXRoKTtcbiAgICB0aGlzLmltcG9ydHNUb1JlcGxhY2Uuc2V0KGltcG9ydFBhdGgsIFwiXCIpO1xuICAgIHJldHVybiByZXN1bHQgfHwgXCJcIjtcbiAgfVxuXG4gIGdldElkZW50aWZpZXJSZXBsYWNlbWVudChpZGVudGlmaWVyTmFtZSkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXJSZXBsYWNlbWVudHMuZ2V0KGlkZW50aWZpZXJOYW1lKSB8fCBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHN0cmluZyBsaWtlIGBleHBvcnRzLmZvbyA9IGV4cG9ydHMuYmFyYC5cbiAgICovXG4gIHJlc29sdmVFeHBvcnRCaW5kaW5nKGFzc2lnbmVkTmFtZSkge1xuICAgIGNvbnN0IGV4cG9ydGVkTmFtZXMgPSB0aGlzLmV4cG9ydEJpbmRpbmdzQnlMb2NhbE5hbWUuZ2V0KGFzc2lnbmVkTmFtZSk7XG4gICAgaWYgKCFleHBvcnRlZE5hbWVzIHx8IGV4cG9ydGVkTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGV4cG9ydGVkTmFtZXMubWFwKChleHBvcnRlZE5hbWUpID0+IGBleHBvcnRzLiR7ZXhwb3J0ZWROYW1lfWApLmpvaW4oXCIgPSBcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFsbCBpbXBvcnRlZC9leHBvcnRlZCBuYW1lcyB3aGVyZSB3ZSBtaWdodCBiZSBpbnRlcmVzdGVkIGluIHdoZXRoZXIgdXNhZ2VzIG9mIHRob3NlXG4gICAqIG5hbWVzIGFyZSBzaGFkb3dlZC5cbiAgICovXG4gIGdldEdsb2JhbE5hbWVzKCkge1xuICAgIHJldHVybiBuZXcgU2V0KFtcbiAgICAgIC4uLnRoaXMuaWRlbnRpZmllclJlcGxhY2VtZW50cy5rZXlzKCksXG4gICAgICAuLi50aGlzLmV4cG9ydEJpbmRpbmdzQnlMb2NhbE5hbWUua2V5cygpLFxuICAgIF0pO1xuICB9XG59XG4iLCAiaW1wb3J0IHtHZW5NYXBwaW5nLCBtYXliZUFkZFNlZ21lbnQsIHRvRW5jb2RlZE1hcH0gZnJvbSBcIkBqcmlkZ2V3ZWxsL2dlbi1tYXBwaW5nXCI7XG5cblxuXG5pbXBvcnQge2NoYXJDb2Rlc30gZnJvbSBcIi4vcGFyc2VyL3V0aWwvY2hhcmNvZGVzXCI7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKipcbiAqIEdlbmVyYXRlIGEgc291cmNlIG1hcCBpbmRpY2F0aW5nIHRoYXQgZWFjaCBsaW5lIG1hcHMgZGlyZWN0bHkgdG8gdGhlIG9yaWdpbmFsIGxpbmUsXG4gKiB3aXRoIHRoZSB0b2tlbnMgaW4gdGhlaXIgbmV3IHBvc2l0aW9ucy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcHV0ZVNvdXJjZU1hcChcbiAge2NvZGU6IGdlbmVyYXRlZENvZGUsIG1hcHBpbmdzOiByYXdNYXBwaW5nc30sXG4gIGZpbGVQYXRoLFxuICBvcHRpb25zLFxuICBzb3VyY2UsXG4gIHRva2Vucyxcbikge1xuICBjb25zdCBzb3VyY2VDb2x1bW5zID0gY29tcHV0ZVNvdXJjZUNvbHVtbnMoc291cmNlLCB0b2tlbnMpO1xuICBjb25zdCBtYXAgPSBuZXcgR2VuTWFwcGluZyh7ZmlsZTogb3B0aW9ucy5jb21waWxlZEZpbGVuYW1lfSk7XG4gIGxldCB0b2tlbkluZGV4ID0gMDtcbiAgLy8gY3VycmVudE1hcHBpbmcgaXMgdGhlIG91dHB1dCBzb3VyY2UgaW5kZXggZm9yIHRoZSBjdXJyZW50IGlucHV0IHRva2VuIGJlaW5nXG4gIC8vIGNvbnNpZGVyZWQuXG4gIGxldCBjdXJyZW50TWFwcGluZyA9IHJhd01hcHBpbmdzWzBdO1xuICB3aGlsZSAoY3VycmVudE1hcHBpbmcgPT09IHVuZGVmaW5lZCAmJiB0b2tlbkluZGV4IDwgcmF3TWFwcGluZ3MubGVuZ3RoIC0gMSkge1xuICAgIHRva2VuSW5kZXgrKztcbiAgICBjdXJyZW50TWFwcGluZyA9IHJhd01hcHBpbmdzW3Rva2VuSW5kZXhdO1xuICB9XG4gIGxldCBsaW5lID0gMDtcbiAgbGV0IGxpbmVTdGFydCA9IDA7XG4gIGlmIChjdXJyZW50TWFwcGluZyAhPT0gbGluZVN0YXJ0KSB7XG4gICAgbWF5YmVBZGRTZWdtZW50KG1hcCwgbGluZSwgMCwgZmlsZVBhdGgsIGxpbmUsIDApO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZ2VuZXJhdGVkQ29kZS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpID09PSBjdXJyZW50TWFwcGluZykge1xuICAgICAgY29uc3QgZ2VuQ29sdW1uID0gY3VycmVudE1hcHBpbmcgLSBsaW5lU3RhcnQ7XG4gICAgICBjb25zdCBzb3VyY2VDb2x1bW4gPSBzb3VyY2VDb2x1bW5zW3Rva2VuSW5kZXhdO1xuICAgICAgbWF5YmVBZGRTZWdtZW50KG1hcCwgbGluZSwgZ2VuQ29sdW1uLCBmaWxlUGF0aCwgbGluZSwgc291cmNlQ29sdW1uKTtcbiAgICAgIHdoaWxlIChcbiAgICAgICAgKGN1cnJlbnRNYXBwaW5nID09PSBpIHx8IGN1cnJlbnRNYXBwaW5nID09PSB1bmRlZmluZWQpICYmXG4gICAgICAgIHRva2VuSW5kZXggPCByYXdNYXBwaW5ncy5sZW5ndGggLSAxXG4gICAgICApIHtcbiAgICAgICAgdG9rZW5JbmRleCsrO1xuICAgICAgICBjdXJyZW50TWFwcGluZyA9IHJhd01hcHBpbmdzW3Rva2VuSW5kZXhdO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZ2VuZXJhdGVkQ29kZS5jaGFyQ29kZUF0KGkpID09PSBjaGFyQ29kZXMubGluZUZlZWQpIHtcbiAgICAgIGxpbmUrKztcbiAgICAgIGxpbmVTdGFydCA9IGkgKyAxO1xuICAgICAgaWYgKGN1cnJlbnRNYXBwaW5nICE9PSBsaW5lU3RhcnQpIHtcbiAgICAgICAgbWF5YmVBZGRTZWdtZW50KG1hcCwgbGluZSwgMCwgZmlsZVBhdGgsIGxpbmUsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBjb25zdCB7c291cmNlUm9vdCwgc291cmNlc0NvbnRlbnQsIC4uLnNvdXJjZU1hcH0gPSB0b0VuY29kZWRNYXAobWFwKTtcbiAgcmV0dXJuIHNvdXJjZU1hcCA7XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIGFycmF5IG1hcHBpbmcgZWFjaCB0b2tlbiBpbmRleCB0byB0aGUgMC1iYXNlZCBjb2x1bW4gb2YgdGhlIHN0YXJ0XG4gKiBwb3NpdGlvbiBvZiB0aGUgdG9rZW4uXG4gKi9cbmZ1bmN0aW9uIGNvbXB1dGVTb3VyY2VDb2x1bW5zKGNvZGUsIHRva2Vucykge1xuICBjb25zdCBzb3VyY2VDb2x1bW5zID0gbmV3IEFycmF5KHRva2Vucy5sZW5ndGgpO1xuICBsZXQgdG9rZW5JbmRleCA9IDA7XG4gIGxldCBjdXJyZW50TWFwcGluZyA9IHRva2Vuc1t0b2tlbkluZGV4XS5zdGFydDtcbiAgbGV0IGxpbmVTdGFydCA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29kZS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpID09PSBjdXJyZW50TWFwcGluZykge1xuICAgICAgc291cmNlQ29sdW1uc1t0b2tlbkluZGV4XSA9IGN1cnJlbnRNYXBwaW5nIC0gbGluZVN0YXJ0O1xuICAgICAgdG9rZW5JbmRleCsrO1xuICAgICAgY3VycmVudE1hcHBpbmcgPSB0b2tlbnNbdG9rZW5JbmRleF0uc3RhcnQ7XG4gICAgfVxuICAgIGlmIChjb2RlLmNoYXJDb2RlQXQoaSkgPT09IGNoYXJDb2Rlcy5saW5lRmVlZCkge1xuICAgICAgbGluZVN0YXJ0ID0gaSArIDE7XG4gICAgfVxuICB9XG4gIHJldHVybiBzb3VyY2VDb2x1bW5zO1xufVxuIiwgIlxuXG5jb25zdCBIRUxQRVJTID0ge1xuICByZXF1aXJlOiBgXG4gICAgaW1wb3J0IHtjcmVhdGVSZXF1aXJlIGFzIENSRUFURV9SRVFVSVJFX05BTUV9IGZyb20gXCJtb2R1bGVcIjtcbiAgICBjb25zdCByZXF1aXJlID0gQ1JFQVRFX1JFUVVJUkVfTkFNRShpbXBvcnQubWV0YS51cmwpO1xuICBgLFxuICBpbnRlcm9wUmVxdWlyZVdpbGRjYXJkOiBgXG4gICAgZnVuY3Rpb24gaW50ZXJvcFJlcXVpcmVXaWxkY2FyZChvYmopIHtcbiAgICAgIGlmIChvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBuZXdPYmogPSB7fTtcbiAgICAgICAgaWYgKG9iaiAhPSBudWxsKSB7XG4gICAgICAgICAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7XG4gICAgICAgIHJldHVybiBuZXdPYmo7XG4gICAgICB9XG4gICAgfVxuICBgLFxuICBpbnRlcm9wUmVxdWlyZURlZmF1bHQ6IGBcbiAgICBmdW5jdGlvbiBpbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7XG4gICAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTtcbiAgICB9XG4gIGAsXG4gIGNyZWF0ZU5hbWVkRXhwb3J0RnJvbTogYFxuICAgIGZ1bmN0aW9uIGNyZWF0ZU5hbWVkRXhwb3J0RnJvbShvYmosIGxvY2FsTmFtZSwgaW1wb3J0ZWROYW1lKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbG9jYWxOYW1lLCB7ZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBnZXQ6ICgpID0+IG9ialtpbXBvcnRlZE5hbWVdfSk7XG4gICAgfVxuICBgLFxuICAvLyBOb3RlIHRoYXQgVHlwZVNjcmlwdCBhbmQgQmFiZWwgZG8gdGhpcyBkaWZmZXJlbnRseTsgVHlwZVNjcmlwdCBkb2VzIGEgc2ltcGxlIGV4aXN0ZW5jZVxuICAvLyBjaGVjayBpbiB0aGUgZXhwb3J0cyBvYmplY3QgYW5kIGRvZXMgYSBwbGFpbiBhc3NpZ25tZW50LCB3aGVyZWFzIEJhYmVsIHVzZXNcbiAgLy8gZGVmaW5lUHJvcGVydHkgYW5kIGJ1aWxkcyBhbiBvYmplY3Qgb2YgZXhwbGljaXRseS1leHBvcnRlZCBuYW1lcyBzbyB0aGF0IHN0YXIgZXhwb3J0cyBjYW5cbiAgLy8gYWx3YXlzIHRha2UgbG93ZXIgcHJlY2VkZW5jZS4gRm9yIG5vdywgd2UgZG8gdGhlIGVhc2llciBUeXBlU2NyaXB0IHRoaW5nLlxuICBjcmVhdGVTdGFyRXhwb3J0OiBgXG4gICAgZnVuY3Rpb24gY3JlYXRlU3RhckV4cG9ydChvYmopIHtcbiAgICAgIE9iamVjdC5rZXlzKG9iailcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiBrZXkgIT09IFwiZGVmYXVsdFwiICYmIGtleSAhPT0gXCJfX2VzTW9kdWxlXCIpXG4gICAgICAgIC5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICBpZiAoZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHtlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGdldDogKCkgPT4gb2JqW2tleV19KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICBgLFxuICBudWxsaXNoQ29hbGVzY2U6IGBcbiAgICBmdW5jdGlvbiBudWxsaXNoQ29hbGVzY2UobGhzLCByaHNGbikge1xuICAgICAgaWYgKGxocyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBsaHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmhzRm4oKTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIGFzeW5jTnVsbGlzaENvYWxlc2NlOiBgXG4gICAgYXN5bmMgZnVuY3Rpb24gYXN5bmNOdWxsaXNoQ29hbGVzY2UobGhzLCByaHNGbikge1xuICAgICAgaWYgKGxocyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBsaHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYXdhaXQgcmhzRm4oKTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIG9wdGlvbmFsQ2hhaW46IGBcbiAgICBmdW5jdGlvbiBvcHRpb25hbENoYWluKG9wcykge1xuICAgICAgbGV0IGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7XG4gICAgICBsZXQgdmFsdWUgPSBvcHNbMF07XG4gICAgICBsZXQgaSA9IDE7XG4gICAgICB3aGlsZSAoaSA8IG9wcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgb3AgPSBvcHNbaV07XG4gICAgICAgIGNvbnN0IGZuID0gb3BzW2kgKyAxXTtcbiAgICAgICAgaSArPSAyO1xuICAgICAgICBpZiAoKG9wID09PSAnb3B0aW9uYWxBY2Nlc3MnIHx8IG9wID09PSAnb3B0aW9uYWxDYWxsJykgJiYgdmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wID09PSAnYWNjZXNzJyB8fCBvcCA9PT0gJ29wdGlvbmFsQWNjZXNzJykge1xuICAgICAgICAgIGxhc3RBY2Nlc3NMSFMgPSB2YWx1ZTtcbiAgICAgICAgICB2YWx1ZSA9IGZuKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gJ2NhbGwnIHx8IG9wID09PSAnb3B0aW9uYWxDYWxsJykge1xuICAgICAgICAgIHZhbHVlID0gZm4oKC4uLmFyZ3MpID0+IHZhbHVlLmNhbGwobGFzdEFjY2Vzc0xIUywgLi4uYXJncykpO1xuICAgICAgICAgIGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIGAsXG4gIGFzeW5jT3B0aW9uYWxDaGFpbjogYFxuICAgIGFzeW5jIGZ1bmN0aW9uIGFzeW5jT3B0aW9uYWxDaGFpbihvcHMpIHtcbiAgICAgIGxldCBsYXN0QWNjZXNzTEhTID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IHZhbHVlID0gb3BzWzBdO1xuICAgICAgbGV0IGkgPSAxO1xuICAgICAgd2hpbGUgKGkgPCBvcHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG9wID0gb3BzW2ldO1xuICAgICAgICBjb25zdCBmbiA9IG9wc1tpICsgMV07XG4gICAgICAgIGkgKz0gMjtcbiAgICAgICAgaWYgKChvcCA9PT0gJ29wdGlvbmFsQWNjZXNzJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpICYmIHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcCA9PT0gJ2FjY2VzcycgfHwgb3AgPT09ICdvcHRpb25hbEFjY2VzcycpIHtcbiAgICAgICAgICBsYXN0QWNjZXNzTEhTID0gdmFsdWU7XG4gICAgICAgICAgdmFsdWUgPSBhd2FpdCBmbih2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAob3AgPT09ICdjYWxsJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpIHtcbiAgICAgICAgICB2YWx1ZSA9IGF3YWl0IGZuKCguLi5hcmdzKSA9PiB2YWx1ZS5jYWxsKGxhc3RBY2Nlc3NMSFMsIC4uLmFyZ3MpKTtcbiAgICAgICAgICBsYXN0QWNjZXNzTEhTID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICBgLFxuICBvcHRpb25hbENoYWluRGVsZXRlOiBgXG4gICAgZnVuY3Rpb24gb3B0aW9uYWxDaGFpbkRlbGV0ZShvcHMpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IE9QVElPTkFMX0NIQUlOX05BTUUob3BzKTtcbiAgICAgIHJldHVybiByZXN1bHQgPT0gbnVsbCA/IHRydWUgOiByZXN1bHQ7XG4gICAgfVxuICBgLFxuICBhc3luY09wdGlvbmFsQ2hhaW5EZWxldGU6IGBcbiAgICBhc3luYyBmdW5jdGlvbiBhc3luY09wdGlvbmFsQ2hhaW5EZWxldGUob3BzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBBU1lOQ19PUFRJT05BTF9DSEFJTl9OQU1FKG9wcyk7XG4gICAgICByZXR1cm4gcmVzdWx0ID09IG51bGwgPyB0cnVlIDogcmVzdWx0O1xuICAgIH1cbiAgYCxcbn07XG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJNYW5hZ2VyIHtcbiAgX19pbml0KCkge3RoaXMuaGVscGVyTmFtZXMgPSB7fX1cbiAgX19pbml0MigpIHt0aGlzLmNyZWF0ZVJlcXVpcmVOYW1lID0gbnVsbH1cbiAgY29uc3RydWN0b3IoIG5hbWVNYW5hZ2VyKSB7O3RoaXMubmFtZU1hbmFnZXIgPSBuYW1lTWFuYWdlcjtIZWxwZXJNYW5hZ2VyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtIZWxwZXJNYW5hZ2VyLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7fVxuXG4gIGdldEhlbHBlck5hbWUoYmFzZU5hbWUpIHtcbiAgICBsZXQgaGVscGVyTmFtZSA9IHRoaXMuaGVscGVyTmFtZXNbYmFzZU5hbWVdO1xuICAgIGlmIChoZWxwZXJOYW1lKSB7XG4gICAgICByZXR1cm4gaGVscGVyTmFtZTtcbiAgICB9XG4gICAgaGVscGVyTmFtZSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShgXyR7YmFzZU5hbWV9YCk7XG4gICAgdGhpcy5oZWxwZXJOYW1lc1tiYXNlTmFtZV0gPSBoZWxwZXJOYW1lO1xuICAgIHJldHVybiBoZWxwZXJOYW1lO1xuICB9XG5cbiAgZW1pdEhlbHBlcnMoKSB7XG4gICAgbGV0IHJlc3VsdENvZGUgPSBcIlwiO1xuICAgIGlmICh0aGlzLmhlbHBlck5hbWVzLm9wdGlvbmFsQ2hhaW5EZWxldGUpIHtcbiAgICAgIHRoaXMuZ2V0SGVscGVyTmFtZShcIm9wdGlvbmFsQ2hhaW5cIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmhlbHBlck5hbWVzLmFzeW5jT3B0aW9uYWxDaGFpbkRlbGV0ZSkge1xuICAgICAgdGhpcy5nZXRIZWxwZXJOYW1lKFwiYXN5bmNPcHRpb25hbENoYWluXCIpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IFtiYXNlTmFtZSwgaGVscGVyQ29kZVRlbXBsYXRlXSBvZiBPYmplY3QuZW50cmllcyhIRUxQRVJTKSkge1xuICAgICAgY29uc3QgaGVscGVyTmFtZSA9IHRoaXMuaGVscGVyTmFtZXNbYmFzZU5hbWVdO1xuICAgICAgbGV0IGhlbHBlckNvZGUgPSBoZWxwZXJDb2RlVGVtcGxhdGU7XG4gICAgICBpZiAoYmFzZU5hbWUgPT09IFwib3B0aW9uYWxDaGFpbkRlbGV0ZVwiKSB7XG4gICAgICAgIGhlbHBlckNvZGUgPSBoZWxwZXJDb2RlLnJlcGxhY2UoXCJPUFRJT05BTF9DSEFJTl9OQU1FXCIsIHRoaXMuaGVscGVyTmFtZXMub3B0aW9uYWxDaGFpbik7XG4gICAgICB9IGVsc2UgaWYgKGJhc2VOYW1lID09PSBcImFzeW5jT3B0aW9uYWxDaGFpbkRlbGV0ZVwiKSB7XG4gICAgICAgIGhlbHBlckNvZGUgPSBoZWxwZXJDb2RlLnJlcGxhY2UoXG4gICAgICAgICAgXCJBU1lOQ19PUFRJT05BTF9DSEFJTl9OQU1FXCIsXG4gICAgICAgICAgdGhpcy5oZWxwZXJOYW1lcy5hc3luY09wdGlvbmFsQ2hhaW4sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGJhc2VOYW1lID09PSBcInJlcXVpcmVcIikge1xuICAgICAgICBpZiAodGhpcy5jcmVhdGVSZXF1aXJlTmFtZSA9PT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuY3JlYXRlUmVxdWlyZU5hbWUgPSB0aGlzLm5hbWVNYW5hZ2VyLmNsYWltRnJlZU5hbWUoXCJfY3JlYXRlUmVxdWlyZVwiKTtcbiAgICAgICAgfVxuICAgICAgICBoZWxwZXJDb2RlID0gaGVscGVyQ29kZS5yZXBsYWNlKC9DUkVBVEVfUkVRVUlSRV9OQU1FL2csIHRoaXMuY3JlYXRlUmVxdWlyZU5hbWUpO1xuICAgICAgfVxuICAgICAgaWYgKGhlbHBlck5hbWUpIHtcbiAgICAgICAgcmVzdWx0Q29kZSArPSBcIiBcIjtcbiAgICAgICAgcmVzdWx0Q29kZSArPSBoZWxwZXJDb2RlLnJlcGxhY2UoYmFzZU5hbWUsIGhlbHBlck5hbWUpLnJlcGxhY2UoL1xccysvZywgXCIgXCIpLnRyaW0oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdENvZGU7XG4gIH1cbn1cbiIsICJpbXBvcnQge1xuICBpc0Jsb2NrU2NvcGVkRGVjbGFyYXRpb24sXG4gIGlzRnVuY3Rpb25TY29wZWREZWNsYXJhdGlvbixcbiAgaXNOb25Ub3BMZXZlbERlY2xhcmF0aW9uLFxufSBmcm9tIFwiLi9wYXJzZXIvdG9rZW5pemVyXCI7XG5cbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5cblxuLyoqXG4gKiBUcmF2ZXJzZSB0aGUgZ2l2ZW4gdG9rZW5zIGFuZCBtb2RpZnkgdGhlbSBpZiBuZWNlc3NhcnkgdG8gaW5kaWNhdGUgdGhhdCBzb21lIG5hbWVzIHNoYWRvdyBnbG9iYWxcbiAqIHZhcmlhYmxlcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaWRlbnRpZnlTaGFkb3dlZEdsb2JhbHMoXG4gIHRva2VucyxcbiAgc2NvcGVzLFxuICBnbG9iYWxOYW1lcyxcbikge1xuICBpZiAoIWhhc1NoYWRvd2VkR2xvYmFscyh0b2tlbnMsIGdsb2JhbE5hbWVzKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBtYXJrU2hhZG93ZWRHbG9iYWxzKHRva2Vucywgc2NvcGVzLCBnbG9iYWxOYW1lcyk7XG59XG5cbi8qKlxuICogV2UgY2FuIGRvIGEgZmFzdCB1cC1mcm9udCBjaGVjayB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBkZWNsYXJhdGlvbnMgdG8gZ2xvYmFsIG5hbWVzLiBJZiBub3QsXG4gKiB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gY29tcHV0aW5nIHNjb3BlIGFzc2lnbm1lbnRzLlxuICovXG4vLyBFeHBvcnRlZCBmb3IgdGVzdGluZy5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTaGFkb3dlZEdsb2JhbHModG9rZW5zLCBnbG9iYWxOYW1lcykge1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucy50b2tlbnMpIHtcbiAgICBpZiAoXG4gICAgICB0b2tlbi50eXBlID09PSB0dC5uYW1lICYmXG4gICAgICAhdG9rZW4uaXNUeXBlICYmXG4gICAgICBpc05vblRvcExldmVsRGVjbGFyYXRpb24odG9rZW4pICYmXG4gICAgICBnbG9iYWxOYW1lcy5oYXModG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odG9rZW4pKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gbWFya1NoYWRvd2VkR2xvYmFscyhcbiAgdG9rZW5zLFxuICBzY29wZXMsXG4gIGdsb2JhbE5hbWVzLFxuKSB7XG4gIGNvbnN0IHNjb3BlU3RhY2sgPSBbXTtcbiAgbGV0IHNjb3BlSW5kZXggPSBzY29wZXMubGVuZ3RoIC0gMTtcbiAgLy8gU2NvcGVzIHdlcmUgZ2VuZXJhdGVkIGF0IGNvbXBsZXRpb24gdGltZSwgc28gdGhleSdyZSBzb3J0ZWQgYnkgZW5kIGluZGV4LCBzbyB3ZSBjYW4gbWFpbnRhaW4gYVxuICAvLyBnb29kIHN0YWNrIGJ5IGdvaW5nIGJhY2t3YXJkcyB0aHJvdWdoIHRoZW0uXG4gIGZvciAobGV0IGkgPSB0b2tlbnMudG9rZW5zLmxlbmd0aCAtIDE7IDsgaS0tKSB7XG4gICAgd2hpbGUgKHNjb3BlU3RhY2subGVuZ3RoID4gMCAmJiBzY29wZVN0YWNrW3Njb3BlU3RhY2subGVuZ3RoIC0gMV0uc3RhcnRUb2tlbkluZGV4ID09PSBpICsgMSkge1xuICAgICAgc2NvcGVTdGFjay5wb3AoKTtcbiAgICB9XG4gICAgd2hpbGUgKHNjb3BlSW5kZXggPj0gMCAmJiBzY29wZXNbc2NvcGVJbmRleF0uZW5kVG9rZW5JbmRleCA9PT0gaSArIDEpIHtcbiAgICAgIHNjb3BlU3RhY2sucHVzaChzY29wZXNbc2NvcGVJbmRleF0pO1xuICAgICAgc2NvcGVJbmRleC0tO1xuICAgIH1cbiAgICAvLyBQcm9jZXNzIHNjb3BlcyBhZnRlciB0aGUgbGFzdCBpdGVyYXRpb24gc28gd2UgY2FuIG1ha2Ugc3VyZSB3ZSBwb3AgYWxsIG9mIHRoZW0uXG4gICAgaWYgKGkgPCAwKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbiA9IHRva2Vucy50b2tlbnNbaV07XG4gICAgY29uc3QgbmFtZSA9IHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKTtcbiAgICBpZiAoc2NvcGVTdGFjay5sZW5ndGggPiAxICYmICF0b2tlbi5pc1R5cGUgJiYgdG9rZW4udHlwZSA9PT0gdHQubmFtZSAmJiBnbG9iYWxOYW1lcy5oYXMobmFtZSkpIHtcbiAgICAgIGlmIChpc0Jsb2NrU2NvcGVkRGVjbGFyYXRpb24odG9rZW4pKSB7XG4gICAgICAgIG1hcmtTaGFkb3dlZEZvclNjb3BlKHNjb3BlU3RhY2tbc2NvcGVTdGFjay5sZW5ndGggLSAxXSwgdG9rZW5zLCBuYW1lKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uKHRva2VuKSkge1xuICAgICAgICBsZXQgc3RhY2tJbmRleCA9IHNjb3BlU3RhY2subGVuZ3RoIC0gMTtcbiAgICAgICAgd2hpbGUgKHN0YWNrSW5kZXggPiAwICYmICFzY29wZVN0YWNrW3N0YWNrSW5kZXhdLmlzRnVuY3Rpb25TY29wZSkge1xuICAgICAgICAgIHN0YWNrSW5kZXgtLTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhY2tJbmRleCA8IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEaWQgbm90IGZpbmQgcGFyZW50IGZ1bmN0aW9uIHNjb3BlLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBtYXJrU2hhZG93ZWRGb3JTY29wZShzY29wZVN0YWNrW3N0YWNrSW5kZXhdLCB0b2tlbnMsIG5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoc2NvcGVTdGFjay5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgZW1wdHkgc2NvcGUgc3RhY2sgYWZ0ZXIgcHJvY2Vzc2luZyBmaWxlLlwiKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU2hhZG93ZWRGb3JTY29wZShzY29wZSwgdG9rZW5zLCBuYW1lKSB7XG4gIGZvciAobGV0IGkgPSBzY29wZS5zdGFydFRva2VuSW5kZXg7IGkgPCBzY29wZS5lbmRUb2tlbkluZGV4OyBpKyspIHtcbiAgICBjb25zdCB0b2tlbiA9IHRva2Vucy50b2tlbnNbaV07XG4gICAgaWYgKFxuICAgICAgKHRva2VuLnR5cGUgPT09IHR0Lm5hbWUgfHwgdG9rZW4udHlwZSA9PT0gdHQuanN4TmFtZSkgJiZcbiAgICAgIHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKSA9PT0gbmFtZVxuICAgICkge1xuICAgICAgdG9rZW4uc2hhZG93c0dsb2JhbCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCAiXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuLyoqXG4gKiBHZXQgYWxsIGlkZW50aWZpZXIgbmFtZXMgaW4gdGhlIGNvZGUsIGluIG9yZGVyLCBpbmNsdWRpbmcgZHVwbGljYXRlcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0SWRlbnRpZmllck5hbWVzKGNvZGUsIHRva2Vucykge1xuICBjb25zdCBuYW1lcyA9IFtdO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgIGlmICh0b2tlbi50eXBlID09PSB0dC5uYW1lKSB7XG4gICAgICBuYW1lcy5wdXNoKGNvZGUuc2xpY2UodG9rZW4uc3RhcnQsIHRva2VuLmVuZCkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmFtZXM7XG59XG4iLCAiXG5pbXBvcnQgZ2V0SWRlbnRpZmllck5hbWVzIGZyb20gXCIuL3V0aWwvZ2V0SWRlbnRpZmllck5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5hbWVNYW5hZ2VyIHtcbiAgICBfX2luaXQoKSB7dGhpcy51c2VkTmFtZXMgPSBuZXcgU2V0KCl9XG5cbiAgY29uc3RydWN0b3IoY29kZSwgdG9rZW5zKSB7O05hbWVNYW5hZ2VyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtcbiAgICB0aGlzLnVzZWROYW1lcyA9IG5ldyBTZXQoZ2V0SWRlbnRpZmllck5hbWVzKGNvZGUsIHRva2VucykpO1xuICB9XG5cbiAgY2xhaW1GcmVlTmFtZShuYW1lKSB7XG4gICAgY29uc3QgbmV3TmFtZSA9IHRoaXMuZmluZEZyZWVOYW1lKG5hbWUpO1xuICAgIHRoaXMudXNlZE5hbWVzLmFkZChuZXdOYW1lKTtcbiAgICByZXR1cm4gbmV3TmFtZTtcbiAgfVxuXG4gIGZpbmRGcmVlTmFtZShuYW1lKSB7XG4gICAgaWYgKCF0aGlzLnVzZWROYW1lcy5oYXMobmFtZSkpIHtcbiAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cbiAgICBsZXQgc3VmZml4TnVtID0gMjtcbiAgICB3aGlsZSAodGhpcy51c2VkTmFtZXMuaGFzKG5hbWUgKyBTdHJpbmcoc3VmZml4TnVtKSkpIHtcbiAgICAgIHN1ZmZpeE51bSsrO1xuICAgIH1cbiAgICByZXR1cm4gbmFtZSArIFN0cmluZyhzdWZmaXhOdW0pO1xuICB9XG59XG4iLCAiaW1wb3J0IHtjcmVhdGVDaGVja2Vyc30gZnJvbSBcInRzLWludGVyZmFjZS1jaGVja2VyXCI7XG5cbmltcG9ydCBPcHRpb25zR2VuVHlwZXMgZnJvbSBcIi4vT3B0aW9ucy1nZW4tdHlwZXNcIjtcblxuY29uc3Qge09wdGlvbnM6IE9wdGlvbnNDaGVja2VyfSA9IGNyZWF0ZUNoZWNrZXJzKE9wdGlvbnNHZW5UeXBlcyk7XG5cbiBcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlT3B0aW9ucyhvcHRpb25zKSB7XG4gIE9wdGlvbnNDaGVja2VyLnN0cmljdENoZWNrKG9wdGlvbnMpO1xufVxuIiwgIi8qKlxuICogVGhpcyBtb2R1bGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGB0cy1pbnRlcmZhY2UtYnVpbGRlcmBcbiAqL1xuaW1wb3J0ICogYXMgdCBmcm9tIFwidHMtaW50ZXJmYWNlLWNoZWNrZXJcIjtcbi8vIHRzbGludDpkaXNhYmxlOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcblxuZXhwb3J0IGNvbnN0IFRyYW5zZm9ybSA9IHQudW5pb24oXG4gIHQubGl0KFwianN4XCIpLFxuICB0LmxpdChcInR5cGVzY3JpcHRcIiksXG4gIHQubGl0KFwiZmxvd1wiKSxcbiAgdC5saXQoXCJpbXBvcnRzXCIpLFxuICB0LmxpdChcInJlYWN0LWhvdC1sb2FkZXJcIiksXG4gIHQubGl0KFwiamVzdFwiKSxcbik7XG5cbmV4cG9ydCBjb25zdCBTb3VyY2VNYXBPcHRpb25zID0gdC5pZmFjZShbXSwge1xuICBjb21waWxlZEZpbGVuYW1lOiBcInN0cmluZ1wiLFxufSk7XG5cbmV4cG9ydCBjb25zdCBPcHRpb25zID0gdC5pZmFjZShbXSwge1xuICB0cmFuc2Zvcm1zOiB0LmFycmF5KFwiVHJhbnNmb3JtXCIpLFxuICBkaXNhYmxlRVNUcmFuc2Zvcm1zOiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGpzeFJ1bnRpbWU6IHQub3B0KHQudW5pb24odC5saXQoXCJjbGFzc2ljXCIpLCB0LmxpdChcImF1dG9tYXRpY1wiKSwgdC5saXQoXCJwcmVzZXJ2ZVwiKSkpLFxuICBwcm9kdWN0aW9uOiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGpzeEltcG9ydFNvdXJjZTogdC5vcHQoXCJzdHJpbmdcIiksXG4gIGpzeFByYWdtYTogdC5vcHQoXCJzdHJpbmdcIiksXG4gIGpzeEZyYWdtZW50UHJhZ21hOiB0Lm9wdChcInN0cmluZ1wiKSxcbiAga2VlcFVudXNlZEltcG9ydHM6IHQub3B0KFwiYm9vbGVhblwiKSxcbiAgcHJlc2VydmVEeW5hbWljSW1wb3J0OiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGluamVjdENyZWF0ZVJlcXVpcmVGb3JJbXBvcnRSZXF1aXJlOiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGVuYWJsZUxlZ2FjeVR5cGVTY3JpcHRNb2R1bGVJbnRlcm9wOiB0Lm9wdChcImJvb2xlYW5cIiksXG4gIGVuYWJsZUxlZ2FjeUJhYmVsNU1vZHVsZUludGVyb3A6IHQub3B0KFwiYm9vbGVhblwiKSxcbiAgc291cmNlTWFwT3B0aW9uczogdC5vcHQoXCJTb3VyY2VNYXBPcHRpb25zXCIpLFxuICBmaWxlUGF0aDogdC5vcHQoXCJzdHJpbmdcIiksXG59KTtcblxuY29uc3QgZXhwb3J0ZWRUeXBlU3VpdGUgPSB7XG4gIFRyYW5zZm9ybSxcbiAgU291cmNlTWFwT3B0aW9ucyxcbiAgT3B0aW9ucyxcbn07XG5leHBvcnQgZGVmYXVsdCBleHBvcnRlZFR5cGVTdWl0ZTtcbiIsICJpbXBvcnQge2Zsb3dQYXJzZUFzc2lnbmFibGVMaXN0SXRlbVR5cGVzfSBmcm9tIFwiLi4vcGx1Z2lucy9mbG93XCI7XG5pbXBvcnQge3RzUGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcywgdHNQYXJzZU1vZGlmaWVyc30gZnJvbSBcIi4uL3BsdWdpbnMvdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHtcbiAgZWF0LFxuICBJZGVudGlmaWVyUm9sZSxcbiAgbWF0Y2gsXG4gIG5leHQsXG4gIHBvcFR5cGVDb250ZXh0LFxuICBwdXNoVHlwZUNvbnRleHQsXG59IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXhcIjtcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlLCBUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuLi90b2tlbml6ZXIvdHlwZXNcIjtcbmltcG9ydCB7aXNGbG93RW5hYmxlZCwgaXNUeXBlU2NyaXB0RW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuL2Jhc2VcIjtcbmltcG9ydCB7cGFyc2VJZGVudGlmaWVyLCBwYXJzZU1heWJlQXNzaWduLCBwYXJzZU9ian0gZnJvbSBcIi4vZXhwcmVzc2lvblwiO1xuaW1wb3J0IHtleHBlY3QsIHVuZXhwZWN0ZWR9IGZyb20gXCIuL3V0aWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3ByZWFkKCkge1xuICBuZXh0KCk7XG4gIHBhcnNlTWF5YmVBc3NpZ24oZmFsc2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VSZXN0KGlzQmxvY2tTY29wZSkge1xuICBuZXh0KCk7XG4gIHBhcnNlQmluZGluZ0F0b20oaXNCbG9ja1Njb3BlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmluZGluZ0lkZW50aWZpZXIoaXNCbG9ja1Njb3BlKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBtYXJrUHJpb3JCaW5kaW5nSWRlbnRpZmllcihpc0Jsb2NrU2NvcGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbXBvcnRlZElkZW50aWZpZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuSW1wb3J0RGVjbGFyYXRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrUHJpb3JCaW5kaW5nSWRlbnRpZmllcihpc0Jsb2NrU2NvcGUpIHtcbiAgbGV0IGlkZW50aWZpZXJSb2xlO1xuICBpZiAoc3RhdGUuc2NvcGVEZXB0aCA9PT0gMCkge1xuICAgIGlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuVG9wTGV2ZWxEZWNsYXJhdGlvbjtcbiAgfSBlbHNlIGlmIChpc0Jsb2NrU2NvcGUpIHtcbiAgICBpZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLkJsb2NrU2NvcGVkRGVjbGFyYXRpb247XG4gIH0gZWxzZSB7XG4gICAgaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5GdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uO1xuICB9XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBpZGVudGlmaWVyUm9sZTtcbn1cblxuLy8gUGFyc2VzIGx2YWx1ZSAoYXNzaWduYWJsZSkgYXRvbS5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJpbmRpbmdBdG9tKGlzQmxvY2tTY29wZSkge1xuICBzd2l0Y2ggKHN0YXRlLnR5cGUpIHtcbiAgICBjYXNlIHR0Ll90aGlzOiB7XG4gICAgICAvLyBJbiBUeXBlU2NyaXB0LCBcInRoaXNcIiBtYXkgYmUgdGhlIG5hbWUgb2YgYSBwYXJhbWV0ZXIsIHNvIGFsbG93IGl0LlxuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICAgICAgbmV4dCgpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjYXNlIHR0Ll95aWVsZDpcbiAgICBjYXNlIHR0Lm5hbWU6IHtcbiAgICAgIHN0YXRlLnR5cGUgPSB0dC5uYW1lO1xuICAgICAgcGFyc2VCaW5kaW5nSWRlbnRpZmllcihpc0Jsb2NrU2NvcGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNhc2UgdHQuYnJhY2tldEw6IHtcbiAgICAgIG5leHQoKTtcbiAgICAgIHBhcnNlQmluZGluZ0xpc3QodHQuYnJhY2tldFIsIGlzQmxvY2tTY29wZSwgdHJ1ZSAvKiBhbGxvd0VtcHR5ICovKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjYXNlIHR0LmJyYWNlTDpcbiAgICAgIHBhcnNlT2JqKHRydWUsIGlzQmxvY2tTY29wZSk7XG4gICAgICByZXR1cm47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdW5leHBlY3RlZCgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJpbmRpbmdMaXN0KFxuICBjbG9zZSxcbiAgaXNCbG9ja1Njb3BlLFxuICBhbGxvd0VtcHR5ID0gZmFsc2UsXG4gIGFsbG93TW9kaWZpZXJzID0gZmFsc2UsXG4gIGNvbnRleHRJZCA9IDAsXG4pIHtcbiAgbGV0IGZpcnN0ID0gdHJ1ZTtcblxuICBsZXQgaGFzUmVtb3ZlZENvbW1hID0gZmFsc2U7XG4gIGNvbnN0IGZpcnN0SXRlbVRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuXG4gIHdoaWxlICghZWF0KGNsb3NlKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICBpZiAoZmlyc3QpIHtcbiAgICAgIGZpcnN0ID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4cGVjdCh0dC5jb21tYSk7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbiAgICAgIC8vIEFmdGVyIGEgXCJ0aGlzXCIgdHlwZSBpbiBUeXBlU2NyaXB0LCB3ZSBuZWVkIHRvIHNldCB0aGUgZm9sbG93aW5nIGNvbW1hIChpZiBhbnkpIHRvIGFsc28gYmVcbiAgICAgIC8vIGEgdHlwZSB0b2tlbiBzbyB0aGF0IGl0IHdpbGwgYmUgcmVtb3ZlZC5cbiAgICAgIGlmICghaGFzUmVtb3ZlZENvbW1hICYmIHN0YXRlLnRva2Vuc1tmaXJzdEl0ZW1Ub2tlbkluZGV4XS5pc1R5cGUpIHtcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc1R5cGUgPSB0cnVlO1xuICAgICAgICBoYXNSZW1vdmVkQ29tbWEgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWxsb3dFbXB0eSAmJiBtYXRjaCh0dC5jb21tYSkpIHtcbiAgICAgIC8vIEVtcHR5IGl0ZW07IG5vdGhpbmcgZnVydGhlciB0byBwYXJzZSBmb3IgdGhpcyBpdGVtLlxuICAgIH0gZWxzZSBpZiAoZWF0KGNsb3NlKSkge1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIGlmIChtYXRjaCh0dC5lbGxpcHNpcykpIHtcbiAgICAgIHBhcnNlUmVzdChpc0Jsb2NrU2NvcGUpO1xuICAgICAgcGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcygpO1xuICAgICAgLy8gU3VwcG9ydCByZXN0IGVsZW1lbnQgdHJhaWxpbmcgY29tbWFzIGFsbG93ZWQgYnkgVHlwZVNjcmlwdCA8Mi45LlxuICAgICAgZWF0KFRva2VuVHlwZS5jb21tYSk7XG4gICAgICBleHBlY3QoY2xvc2UpO1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlQXNzaWduYWJsZUxpc3RJdGVtKGFsbG93TW9kaWZpZXJzLCBpc0Jsb2NrU2NvcGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUFzc2lnbmFibGVMaXN0SXRlbShhbGxvd01vZGlmaWVycywgaXNCbG9ja1Njb3BlKSB7XG4gIGlmIChhbGxvd01vZGlmaWVycykge1xuICAgIHRzUGFyc2VNb2RpZmllcnMoW1xuICAgICAgQ29udGV4dHVhbEtleXdvcmQuX3B1YmxpYyxcbiAgICAgIENvbnRleHR1YWxLZXl3b3JkLl9wcm90ZWN0ZWQsXG4gICAgICBDb250ZXh0dWFsS2V5d29yZC5fcHJpdmF0ZSxcbiAgICAgIENvbnRleHR1YWxLZXl3b3JkLl9yZWFkb25seSxcbiAgICAgIENvbnRleHR1YWxLZXl3b3JkLl9vdmVycmlkZSxcbiAgICBdKTtcbiAgfVxuXG4gIHBhcnNlTWF5YmVEZWZhdWx0KGlzQmxvY2tTY29wZSk7XG4gIHBhcnNlQXNzaWduYWJsZUxpc3RJdGVtVHlwZXMoKTtcbiAgcGFyc2VNYXliZURlZmF1bHQoaXNCbG9ja1Njb3BlLCB0cnVlIC8qIGxlZnRBbHJlYWR5UGFyc2VkICovKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcygpIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcygpO1xuICB9IGVsc2UgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c1BhcnNlQXNzaWduYWJsZUxpc3RJdGVtVHlwZXMoKTtcbiAgfVxufVxuXG4vLyBQYXJzZXMgYXNzaWdubWVudCBwYXR0ZXJuIGFyb3VuZCBnaXZlbiBhdG9tIGlmIHBvc3NpYmxlLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWF5YmVEZWZhdWx0KGlzQmxvY2tTY29wZSwgbGVmdEFscmVhZHlQYXJzZWQgPSBmYWxzZSkge1xuICBpZiAoIWxlZnRBbHJlYWR5UGFyc2VkKSB7XG4gICAgcGFyc2VCaW5kaW5nQXRvbShpc0Jsb2NrU2NvcGUpO1xuICB9XG4gIGlmICghZWF0KHR0LmVxKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlcUluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aCAtIDE7XG4gIHBhcnNlTWF5YmVBc3NpZ24oKTtcbiAgc3RhdGUudG9rZW5zW2VxSW5kZXhdLnJoc0VuZEluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbn1cbiIsICJpbXBvcnQge1xuICBlYXQsXG4gIGZpbmlzaFRva2VuLFxuICBJZGVudGlmaWVyUm9sZSxcbiAgbG9va2FoZWFkVHlwZSxcbiAgbG9va2FoZWFkVHlwZUFuZEtleXdvcmQsXG4gIG1hdGNoLFxuICBuZXh0LFxuICBuZXh0VGVtcGxhdGVUb2tlbixcbiAgcG9wVHlwZUNvbnRleHQsXG4gIHB1c2hUeXBlQ29udGV4dCxcbiAgcmVzY2FuX2d0LFxufSBmcm9tIFwiLi4vdG9rZW5pemVyL2luZGV4XCI7XG5pbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi4vdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSwgVG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQge2lzSlNYRW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuLi90cmF2ZXJzZXIvYmFzZVwiO1xuaW1wb3J0IHtcbiAgYXRQb3NzaWJsZUFzeW5jLFxuICBiYXNlUGFyc2VNYXliZUFzc2lnbixcbiAgYmFzZVBhcnNlU3Vic2NyaXB0LFxuICBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzLFxuICBwYXJzZUV4cHJBdG9tLFxuICBwYXJzZUV4cHJlc3Npb24sXG4gIHBhcnNlRnVuY3Rpb25Cb2R5LFxuICBwYXJzZUlkZW50aWZpZXIsXG4gIHBhcnNlTGl0ZXJhbCxcbiAgcGFyc2VNYXliZUFzc2lnbixcbiAgcGFyc2VNYXliZVVuYXJ5LFxuICBwYXJzZVByb3BlcnR5TmFtZSxcbiAgcGFyc2VUZW1wbGF0ZSxcblxufSBmcm9tIFwiLi4vdHJhdmVyc2VyL2V4cHJlc3Npb25cIjtcbmltcG9ydCB7cGFyc2VCaW5kaW5nSWRlbnRpZmllciwgcGFyc2VCaW5kaW5nTGlzdCwgcGFyc2VJbXBvcnRlZElkZW50aWZpZXJ9IGZyb20gXCIuLi90cmF2ZXJzZXIvbHZhbFwiO1xuaW1wb3J0IHtcbiAgYmFzZVBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMsXG4gIHBhcnNlQmxvY2tCb2R5LFxuICBwYXJzZUNsYXNzLFxuICBwYXJzZUZ1bmN0aW9uLFxuICBwYXJzZUZ1bmN0aW9uUGFyYW1zLFxuICBwYXJzZVN0YXRlbWVudCxcbiAgcGFyc2VWYXJTdGF0ZW1lbnQsXG59IGZyb20gXCIuLi90cmF2ZXJzZXIvc3RhdGVtZW50XCI7XG5pbXBvcnQge1xuICBjYW5JbnNlcnRTZW1pY29sb24sXG4gIGVhdENvbnRleHR1YWwsXG4gIGV4cGVjdCxcbiAgZXhwZWN0Q29udGV4dHVhbCxcbiAgaGFzUHJlY2VkaW5nTGluZUJyZWFrLFxuICBpc0NvbnRleHR1YWwsXG4gIGlzTGluZVRlcm1pbmF0b3IsXG4gIGlzTG9va2FoZWFkQ29udGV4dHVhbCxcbiAgc2VtaWNvbG9uLFxuICB1bmV4cGVjdGVkLFxufSBmcm9tIFwiLi4vdHJhdmVyc2VyL3V0aWxcIjtcbmltcG9ydCB7bmV4dEpTWFRhZ1Rva2VufSBmcm9tIFwiLi9qc3hcIjtcblxuZnVuY3Rpb24gdHNJc0lkZW50aWZpZXIoKSB7XG4gIC8vIFRPRE86IGFjdHVhbGx5IGEgYml0IG1vcmUgY29tcGxleCBpbiBUeXBlU2NyaXB0LCBidXQgc2hvdWxkbid0IG1hdHRlci5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMTUwMDhcbiAgcmV0dXJuIG1hdGNoKHR0Lm5hbWUpO1xufVxuXG5mdW5jdGlvbiBpc0xpdGVyYWxQcm9wZXJ0eU5hbWUoKSB7XG4gIHJldHVybiAoXG4gICAgbWF0Y2godHQubmFtZSkgfHxcbiAgICBCb29sZWFuKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfS0VZV09SRCkgfHxcbiAgICBtYXRjaCh0dC5zdHJpbmcpIHx8XG4gICAgbWF0Y2godHQubnVtKSB8fFxuICAgIG1hdGNoKHR0LmJpZ2ludCkgfHxcbiAgICBtYXRjaCh0dC5kZWNpbWFsKVxuICApO1xufVxuXG5mdW5jdGlvbiB0c05leHRUb2tlbkNhbkZvbGxvd01vZGlmaWVyKCkge1xuICAvLyBOb3RlOiBUeXBlU2NyaXB0J3MgaW1wbGVtZW50YXRpb24gaXMgbXVjaCBtb3JlIGNvbXBsaWNhdGVkIGJlY2F1c2VcbiAgLy8gbW9yZSB0aGluZ3MgYXJlIGNvbnNpZGVyZWQgbW9kaWZpZXJzIHRoZXJlLlxuICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIG9ubHkgaGFuZGxlcyBtb2RpZmllcnMgbm90IGhhbmRsZWQgYnkgYmFieWxvbiBpdHNlbGYuIEFuZCBcInN0YXRpY1wiLlxuICAvLyBUT0RPOiBXb3VsZCBiZSBuaWNlIHRvIGF2b2lkIGxvb2thaGVhZC4gV2FudCBhIGhhc0xpbmVCcmVha1VwTmV4dCgpIG1ldGhvZC4uLlxuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG5cbiAgbmV4dCgpO1xuICBjb25zdCBjYW5Gb2xsb3dNb2RpZmllciA9XG4gICAgKG1hdGNoKHR0LmJyYWNrZXRMKSB8fFxuICAgICAgbWF0Y2godHQuYnJhY2VMKSB8fFxuICAgICAgbWF0Y2godHQuc3RhcikgfHxcbiAgICAgIG1hdGNoKHR0LmVsbGlwc2lzKSB8fFxuICAgICAgbWF0Y2godHQuaGFzaCkgfHxcbiAgICAgIGlzTGl0ZXJhbFByb3BlcnR5TmFtZSgpKSAmJlxuICAgICFoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKTtcblxuICBpZiAoY2FuRm9sbG93TW9kaWZpZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VNb2RpZmllcnMoYWxsb3dlZE1vZGlmaWVycykge1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IG1vZGlmaWVyID0gdHNQYXJzZU1vZGlmaWVyKGFsbG93ZWRNb2RpZmllcnMpO1xuICAgIGlmIChtb2RpZmllciA9PT0gbnVsbCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbi8qKiBQYXJzZXMgYSBtb2RpZmllciBtYXRjaGluZyBvbmUgdGhlIGdpdmVuIG1vZGlmaWVyIG5hbWVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VNb2RpZmllcihcbiAgYWxsb3dlZE1vZGlmaWVycyxcbikge1xuICBpZiAoIW1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBtb2RpZmllciA9IHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkO1xuICBpZiAoYWxsb3dlZE1vZGlmaWVycy5pbmRleE9mKG1vZGlmaWVyKSAhPT0gLTEgJiYgdHNOZXh0VG9rZW5DYW5Gb2xsb3dNb2RpZmllcigpKSB7XG4gICAgc3dpdGNoIChtb2RpZmllcikge1xuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHk6XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9yZWFkb25seTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdDpcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2Fic3RyYWN0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX3N0YXRpYzpcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX3N0YXRpYztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9wdWJsaWM6XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9wdWJsaWM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fcHJpdmF0ZTpcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX3ByaXZhdGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fcHJvdGVjdGVkOlxuICAgICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fcHJvdGVjdGVkO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX292ZXJyaWRlOlxuICAgICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fb3ZlcnJpZGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fZGVjbGFyZTpcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2RlY2xhcmU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBtb2RpZmllcjtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZUVudGl0eU5hbWUoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICB3aGlsZSAoZWF0KHR0LmRvdCkpIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVJlZmVyZW5jZSgpIHtcbiAgdHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgaWYgKCFoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiBtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICB0c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VUaGlzVHlwZVByZWRpY2F0ZSgpIHtcbiAgbmV4dCgpO1xuICB0c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZVRoaXNUeXBlTm9kZSgpIHtcbiAgbmV4dCgpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVF1ZXJ5KCkge1xuICBleHBlY3QodHQuX3R5cGVvZik7XG4gIGlmIChtYXRjaCh0dC5faW1wb3J0KSkge1xuICAgIHRzUGFyc2VJbXBvcnRUeXBlKCk7XG4gIH0gZWxzZSB7XG4gICAgdHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgfVxuICBpZiAoIWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpICYmIG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIHRzUGFyc2VUeXBlQXJndW1lbnRzKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHNQYXJzZUltcG9ydFR5cGUoKSB7XG4gIGV4cGVjdCh0dC5faW1wb3J0KTtcbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG4gIGV4cGVjdCh0dC5zdHJpbmcpO1xuICBleHBlY3QodHQucGFyZW5SKTtcbiAgaWYgKGVhdCh0dC5kb3QpKSB7XG4gICAgdHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgfVxuICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHMoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVBhcmFtZXRlcigpIHtcbiAgZWF0KHR0Ll9jb25zdCk7XG4gIGNvbnN0IGhhZEluID0gZWF0KHR0Ll9pbik7XG4gIGNvbnN0IGhhZE91dCA9IGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX291dCk7XG4gIGVhdCh0dC5fY29uc3QpO1xuICBpZiAoKGhhZEluIHx8IGhhZE91dCkgJiYgIW1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgLy8gVGhlIFwiaW5cIiBvciBcIm91dFwiIGtleXdvcmQgbXVzdCBoYXZlIGFjdHVhbGx5IGJlZW4gdGhlIHR5cGUgcGFyYW1ldGVyXG4gICAgLy8gbmFtZSwgc28gc2V0IGl0IGFzIHRoZSBuYW1lLlxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Lm5hbWU7XG4gIH0gZWxzZSB7XG4gICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIH1cblxuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIHRzUGFyc2VUeXBlKCk7XG4gIH1cbiAgaWYgKGVhdCh0dC5lcSkpIHtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoKSB7XG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICB0c1BhcnNlVHlwZVBhcmFtZXRlcnMoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVBhcmFtZXRlcnMoKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSB8fCBtYXRjaCh0dC50eXBlUGFyYW1ldGVyU3RhcnQpKSB7XG4gICAgbmV4dCgpO1xuICB9IGVsc2Uge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxuXG4gIHdoaWxlICghZWF0KHR0LmdyZWF0ZXJUaGFuKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICB0c1BhcnNlVHlwZVBhcmFtZXRlcigpO1xuICAgIGVhdCh0dC5jb21tYSk7XG4gIH1cbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuLy8gTm90ZTogSW4gVHlwZVNjcmlwdCBpbXBsZW1lbnRhdGlvbiB3ZSBtdXN0IHByb3ZpZGUgYHlpZWxkQ29udGV4dGAgYW5kIGBhd2FpdENvbnRleHRgLFxuLy8gYnV0IGhlcmUgaXQncyBhbHdheXMgZmFsc2UsIGJlY2F1c2UgdGhpcyBpcyBvbmx5IHVzZWQgZm9yIHR5cGVzLlxuZnVuY3Rpb24gdHNGaWxsU2lnbmF0dXJlKHJldHVyblRva2VuKSB7XG4gIC8vIEFycm93IGZucyAqbXVzdCogaGF2ZSByZXR1cm4gdG9rZW4gKGA9PmApLiBOb3JtYWwgZnVuY3Rpb25zIGNhbiBvbWl0IGl0LlxuICBjb25zdCByZXR1cm5Ub2tlblJlcXVpcmVkID0gcmV0dXJuVG9rZW4gPT09IHR0LmFycm93O1xuICB0c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoKTtcbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG4gIC8vIENyZWF0ZSBhIHNjb3BlIGV2ZW4gdGhvdWdoIHdlJ3JlIGRvaW5nIHR5cGUgcGFyc2luZyBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHlcbiAgLy8gdHJlYXQgcGFyYW1zIGFzIHRvcC1sZXZlbCBiaW5kaW5ncy5cbiAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICB0c1BhcnNlQmluZGluZ0xpc3RGb3JTaWduYXR1cmUoZmFsc2UgLyogaXNCbG9ja1Njb3BlICovKTtcbiAgc3RhdGUuc2NvcGVEZXB0aC0tO1xuICBpZiAocmV0dXJuVG9rZW5SZXF1aXJlZCkge1xuICAgIHRzUGFyc2VUeXBlT3JUeXBlUHJlZGljYXRlQW5ub3RhdGlvbihyZXR1cm5Ub2tlbik7XG4gIH0gZWxzZSBpZiAobWF0Y2gocmV0dXJuVG9rZW4pKSB7XG4gICAgdHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKHJldHVyblRva2VuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlQmluZGluZ0xpc3RGb3JTaWduYXR1cmUoaXNCbG9ja1Njb3BlKSB7XG4gIHBhcnNlQmluZGluZ0xpc3QodHQucGFyZW5SLCBpc0Jsb2NrU2NvcGUpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZU1lbWJlclNlbWljb2xvbigpIHtcbiAgaWYgKCFlYXQodHQuY29tbWEpKSB7XG4gICAgc2VtaWNvbG9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHNQYXJzZVNpZ25hdHVyZU1lbWJlcigpIHtcbiAgdHNGaWxsU2lnbmF0dXJlKHR0LmNvbG9uKTtcbiAgdHNQYXJzZVR5cGVNZW1iZXJTZW1pY29sb24oKTtcbn1cblxuZnVuY3Rpb24gdHNJc1VuYW1iaWd1b3VzbHlJbmRleFNpZ25hdHVyZSgpIHtcbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICBuZXh0KCk7IC8vIFNraXAgJ3snXG4gIGNvbnN0IGlzSW5kZXhTaWduYXR1cmUgPSBlYXQodHQubmFtZSkgJiYgbWF0Y2godHQuY29sb24pO1xuICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgcmV0dXJuIGlzSW5kZXhTaWduYXR1cmU7XG59XG5cbmZ1bmN0aW9uIHRzVHJ5UGFyc2VJbmRleFNpZ25hdHVyZSgpIHtcbiAgaWYgKCEobWF0Y2godHQuYnJhY2tldEwpICYmIHRzSXNVbmFtYmlndW91c2x5SW5kZXhTaWduYXR1cmUoKSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMCk7XG5cbiAgZXhwZWN0KHR0LmJyYWNrZXRMKTtcbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIHRzUGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICBleHBlY3QodHQuYnJhY2tldFIpO1xuXG4gIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICB0c1BhcnNlVHlwZU1lbWJlclNlbWljb2xvbigpO1xuXG4gIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlUHJvcGVydHlPck1ldGhvZFNpZ25hdHVyZShpc1JlYWRvbmx5KSB7XG4gIGVhdCh0dC5xdWVzdGlvbik7XG5cbiAgaWYgKCFpc1JlYWRvbmx5ICYmIChtYXRjaCh0dC5wYXJlbkwpIHx8IG1hdGNoKHR0Lmxlc3NUaGFuKSkpIHtcbiAgICB0c0ZpbGxTaWduYXR1cmUodHQuY29sb24pO1xuICAgIHRzUGFyc2VUeXBlTWVtYmVyU2VtaWNvbG9uKCk7XG4gIH0gZWxzZSB7XG4gICAgdHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgdHNQYXJzZVR5cGVNZW1iZXJTZW1pY29sb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZU1lbWJlcigpIHtcbiAgaWYgKG1hdGNoKHR0LnBhcmVuTCkgfHwgbWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgLy8gY2FsbCBzaWduYXR1cmVcbiAgICB0c1BhcnNlU2lnbmF0dXJlTWVtYmVyKCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChtYXRjaCh0dC5fbmV3KSkge1xuICAgIG5leHQoKTtcbiAgICBpZiAobWF0Y2godHQucGFyZW5MKSB8fCBtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICAgIC8vIGNvbnN0cnVjdG9yIHNpZ25hdHVyZVxuICAgICAgdHNQYXJzZVNpZ25hdHVyZU1lbWJlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0c1BhcnNlUHJvcGVydHlPck1ldGhvZFNpZ25hdHVyZShmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCByZWFkb25seSA9ICEhdHNQYXJzZU1vZGlmaWVyKFtDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHldKTtcblxuICBjb25zdCBmb3VuZCA9IHRzVHJ5UGFyc2VJbmRleFNpZ25hdHVyZSgpO1xuICBpZiAoZm91bmQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKFxuICAgIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2dldCkgfHwgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9zZXQpKSAmJlxuICAgIHRzTmV4dFRva2VuQ2FuRm9sbG93TW9kaWZpZXIoKVxuICApIHtcbiAgICAvLyBUaGlzIGlzIGEgZ2V0dGVyL3NldHRlciBvbiBhIHR5cGUuIFRoZSB0c05leHRUb2tlbkNhbkZvbGxvd01vZGlmaWVyXG4gICAgLy8gZnVuY3Rpb24gYWxyZWFkeSBjYWxsZWQgbmV4dCgpIGZvciB1cywgc28gY29udGludWUgcGFyc2luZyB0aGUgbmFtZS5cbiAgfVxuICBwYXJzZVByb3BlcnR5TmFtZSgtMSAvKiBUeXBlcyBkb24ndCBuZWVkIGNvbnRleHQgSURzLiAqLyk7XG4gIHRzUGFyc2VQcm9wZXJ0eU9yTWV0aG9kU2lnbmF0dXJlKHJlYWRvbmx5KTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZVR5cGVMaXRlcmFsKCkge1xuICB0c1BhcnNlT2JqZWN0VHlwZU1lbWJlcnMoKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZU9iamVjdFR5cGVNZW1iZXJzKCkge1xuICBleHBlY3QodHQuYnJhY2VMKTtcbiAgd2hpbGUgKCFlYXQodHQuYnJhY2VSKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICB0c1BhcnNlVHlwZU1lbWJlcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzTG9va2FoZWFkSXNTdGFydE9mTWFwcGVkVHlwZSgpIHtcbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICBjb25zdCBpc1N0YXJ0T2ZNYXBwZWRUeXBlID0gdHNJc1N0YXJ0T2ZNYXBwZWRUeXBlKCk7XG4gIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICByZXR1cm4gaXNTdGFydE9mTWFwcGVkVHlwZTtcbn1cblxuZnVuY3Rpb24gdHNJc1N0YXJ0T2ZNYXBwZWRUeXBlKCkge1xuICBuZXh0KCk7XG4gIGlmIChlYXQodHQucGx1cykgfHwgZWF0KHR0Lm1pbnVzKSkge1xuICAgIHJldHVybiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3JlYWRvbmx5KTtcbiAgfVxuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9yZWFkb25seSkpIHtcbiAgICBuZXh0KCk7XG4gIH1cbiAgaWYgKCFtYXRjaCh0dC5icmFja2V0TCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgbmV4dCgpO1xuICBpZiAoIXRzSXNJZGVudGlmaWVyKCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgbmV4dCgpO1xuICByZXR1cm4gbWF0Y2godHQuX2luKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZU1hcHBlZFR5cGVQYXJhbWV0ZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBleHBlY3QodHQuX2luKTtcbiAgdHNQYXJzZVR5cGUoKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZU1hcHBlZFR5cGUoKSB7XG4gIGV4cGVjdCh0dC5icmFjZUwpO1xuICBpZiAobWF0Y2godHQucGx1cykgfHwgbWF0Y2godHQubWludXMpKSB7XG4gICAgbmV4dCgpO1xuICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3JlYWRvbmx5KTtcbiAgfSBlbHNlIHtcbiAgICBlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9yZWFkb25seSk7XG4gIH1cbiAgZXhwZWN0KHR0LmJyYWNrZXRMKTtcbiAgdHNQYXJzZU1hcHBlZFR5cGVQYXJhbWV0ZXIoKTtcbiAgaWYgKGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzKSkge1xuICAgIHRzUGFyc2VUeXBlKCk7XG4gIH1cbiAgZXhwZWN0KHR0LmJyYWNrZXRSKTtcbiAgaWYgKG1hdGNoKHR0LnBsdXMpIHx8IG1hdGNoKHR0Lm1pbnVzKSkge1xuICAgIG5leHQoKTtcbiAgICBleHBlY3QodHQucXVlc3Rpb24pO1xuICB9IGVsc2Uge1xuICAgIGVhdCh0dC5xdWVzdGlvbik7XG4gIH1cbiAgdHNUcnlQYXJzZVR5cGUoKTtcbiAgc2VtaWNvbG9uKCk7XG4gIGV4cGVjdCh0dC5icmFjZVIpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHVwbGVUeXBlKCkge1xuICBleHBlY3QodHQuYnJhY2tldEwpO1xuICB3aGlsZSAoIWVhdCh0dC5icmFja2V0UikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgLy8gRG8gbm90IHZhbGlkYXRlIHByZXNlbmNlIG9mIGVpdGhlciBub25lIG9yIG9ubHkgbGFiZWxlZCBlbGVtZW50c1xuICAgIHRzUGFyc2VUdXBsZUVsZW1lbnRUeXBlKCk7XG4gICAgZWF0KHR0LmNvbW1hKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHVwbGVFbGVtZW50VHlwZSgpIHtcbiAgLy8gcGFyc2VzIGAuLi5Uc1R5cGVbXWBcbiAgaWYgKGVhdCh0dC5lbGxpcHNpcykpIHtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICB9IGVsc2Uge1xuICAgIC8vIHBhcnNlcyBgVHNUeXBlP2BcbiAgICB0c1BhcnNlVHlwZSgpO1xuICAgIGVhdCh0dC5xdWVzdGlvbik7XG4gIH1cblxuICAvLyBUaGUgdHlwZSB3ZSBwYXJzZWQgYWJvdmUgd2FzIGFjdHVhbGx5IGEgbGFiZWxcbiAgaWYgKGVhdCh0dC5jb2xvbikpIHtcbiAgICAvLyBMYWJlbGVkIHR1cGxlIHR5cGVzIG11c3QgYWZmaXggdGhlIGxhYmVsIHdpdGggYC4uLmAgb3IgYD9gLCBzbyBubyBuZWVkIHRvIGhhbmRsZSB0aG9zZSBoZXJlXG4gICAgdHNQYXJzZVR5cGUoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlUGFyZW50aGVzaXplZFR5cGUoKSB7XG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICB0c1BhcnNlVHlwZSgpO1xuICBleHBlY3QodHQucGFyZW5SKTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZVRlbXBsYXRlTGl0ZXJhbFR5cGUoKSB7XG4gIC8vIEZpbmlzaCBgLCByZWFkIHF1YXNpXG4gIG5leHRUZW1wbGF0ZVRva2VuKCk7XG4gIC8vIEZpbmlzaCBxdWFzaSwgcmVhZCAke1xuICBuZXh0VGVtcGxhdGVUb2tlbigpO1xuICB3aGlsZSAoIW1hdGNoKHR0LmJhY2tRdW90ZSkgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgZXhwZWN0KHR0LmRvbGxhckJyYWNlTCk7XG4gICAgdHNQYXJzZVR5cGUoKTtcbiAgICAvLyBGaW5pc2ggfSwgcmVhZCBxdWFzaVxuICAgIG5leHRUZW1wbGF0ZVRva2VuKCk7XG4gICAgLy8gRmluaXNoIHF1YXNpLCByZWFkIGVpdGhlciAkeyBvciBgXG4gICAgbmV4dFRlbXBsYXRlVG9rZW4oKTtcbiAgfVxuICBuZXh0KCk7XG59XG5cbnZhciBGdW5jdGlvblR5cGU7IChmdW5jdGlvbiAoRnVuY3Rpb25UeXBlKSB7XG4gIGNvbnN0IFRTRnVuY3Rpb25UeXBlID0gMDsgRnVuY3Rpb25UeXBlW0Z1bmN0aW9uVHlwZVtcIlRTRnVuY3Rpb25UeXBlXCJdID0gVFNGdW5jdGlvblR5cGVdID0gXCJUU0Z1bmN0aW9uVHlwZVwiO1xuICBjb25zdCBUU0NvbnN0cnVjdG9yVHlwZSA9IFRTRnVuY3Rpb25UeXBlICsgMTsgRnVuY3Rpb25UeXBlW0Z1bmN0aW9uVHlwZVtcIlRTQ29uc3RydWN0b3JUeXBlXCJdID0gVFNDb25zdHJ1Y3RvclR5cGVdID0gXCJUU0NvbnN0cnVjdG9yVHlwZVwiO1xuICBjb25zdCBUU0Fic3RyYWN0Q29uc3RydWN0b3JUeXBlID0gVFNDb25zdHJ1Y3RvclR5cGUgKyAxOyBGdW5jdGlvblR5cGVbRnVuY3Rpb25UeXBlW1wiVFNBYnN0cmFjdENvbnN0cnVjdG9yVHlwZVwiXSA9IFRTQWJzdHJhY3RDb25zdHJ1Y3RvclR5cGVdID0gXCJUU0Fic3RyYWN0Q29uc3RydWN0b3JUeXBlXCI7XG59KShGdW5jdGlvblR5cGUgfHwgKEZ1bmN0aW9uVHlwZSA9IHt9KSk7XG5cbmZ1bmN0aW9uIHRzUGFyc2VGdW5jdGlvbk9yQ29uc3RydWN0b3JUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT09IEZ1bmN0aW9uVHlwZS5UU0Fic3RyYWN0Q29uc3RydWN0b3JUeXBlKSB7XG4gICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYWJzdHJhY3QpO1xuICB9XG4gIGlmICh0eXBlID09PSBGdW5jdGlvblR5cGUuVFNDb25zdHJ1Y3RvclR5cGUgfHwgdHlwZSA9PT0gRnVuY3Rpb25UeXBlLlRTQWJzdHJhY3RDb25zdHJ1Y3RvclR5cGUpIHtcbiAgICBleHBlY3QodHQuX25ldyk7XG4gIH1cbiAgY29uc3Qgb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xuICBzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBmYWxzZTtcbiAgdHNGaWxsU2lnbmF0dXJlKHR0LmFycm93KTtcbiAgc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlTm9uQXJyYXlUeXBlKCkge1xuICBzd2l0Y2ggKHN0YXRlLnR5cGUpIHtcbiAgICBjYXNlIHR0Lm5hbWU6XG4gICAgICB0c1BhcnNlVHlwZVJlZmVyZW5jZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX3ZvaWQ6XG4gICAgY2FzZSB0dC5fbnVsbDpcbiAgICAgIG5leHQoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0LnN0cmluZzpcbiAgICBjYXNlIHR0Lm51bTpcbiAgICBjYXNlIHR0LmJpZ2ludDpcbiAgICBjYXNlIHR0LmRlY2ltYWw6XG4gICAgY2FzZSB0dC5fdHJ1ZTpcbiAgICBjYXNlIHR0Ll9mYWxzZTpcbiAgICAgIHBhcnNlTGl0ZXJhbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQubWludXM6XG4gICAgICBuZXh0KCk7XG4gICAgICBwYXJzZUxpdGVyYWwoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0Ll90aGlzOiB7XG4gICAgICB0c1BhcnNlVGhpc1R5cGVOb2RlKCk7XG4gICAgICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pcykgJiYgIWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSB7XG4gICAgICAgIHRzUGFyc2VUaGlzVHlwZVByZWRpY2F0ZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYXNlIHR0Ll90eXBlb2Y6XG4gICAgICB0c1BhcnNlVHlwZVF1ZXJ5KCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSB0dC5faW1wb3J0OlxuICAgICAgdHNQYXJzZUltcG9ydFR5cGUoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0LmJyYWNlTDpcbiAgICAgIGlmICh0c0xvb2thaGVhZElzU3RhcnRPZk1hcHBlZFR5cGUoKSkge1xuICAgICAgICB0c1BhcnNlTWFwcGVkVHlwZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHNQYXJzZVR5cGVMaXRlcmFsKCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgY2FzZSB0dC5icmFja2V0TDpcbiAgICAgIHRzUGFyc2VUdXBsZVR5cGUoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0LnBhcmVuTDpcbiAgICAgIHRzUGFyc2VQYXJlbnRoZXNpemVkVHlwZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuYmFja1F1b3RlOlxuICAgICAgdHNQYXJzZVRlbXBsYXRlTGl0ZXJhbFR5cGUoKTtcbiAgICAgIHJldHVybjtcbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfS0VZV09SRCkge1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Lm5hbWU7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdW5leHBlY3RlZCgpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlQXJyYXlUeXBlT3JIaWdoZXIoKSB7XG4gIHRzUGFyc2VOb25BcnJheVR5cGUoKTtcbiAgd2hpbGUgKCFoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiBlYXQodHQuYnJhY2tldEwpKSB7XG4gICAgaWYgKCFlYXQodHQuYnJhY2tldFIpKSB7XG4gICAgICAvLyBJZiB3ZSBoaXQgXSBpbW1lZGlhdGVseSwgdGhpcyBpcyBhbiBhcnJheSB0eXBlLCBvdGhlcndpc2UgaXQncyBhbiBpbmRleGVkIGFjY2VzcyB0eXBlLlxuICAgICAgdHNQYXJzZVR5cGUoKTtcbiAgICAgIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VJbmZlclR5cGUoKSB7XG4gIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2luZmVyKTtcbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmIChtYXRjaCh0dC5fZXh0ZW5kcykpIHtcbiAgICAvLyBJbmZlciB0eXBlIGNvbnN0cmFpbnRzIGludHJvZHVjZSBhbiBhbWJpZ3VpdHkgYWJvdXQgd2hldGhlciB0aGUgXCJleHRlbmRzXCJcbiAgICAvLyBpcyBhIGNvbnN0cmFpbnQgZm9yIHRoaXMgaW5mZXIgdHlwZSBvciBpcyBhbm90aGVyIGNvbmRpdGlvbmFsIHR5cGUuXG4gICAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICAgIGV4cGVjdCh0dC5fZXh0ZW5kcyk7XG4gICAgY29uc3Qgb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xuICAgIHN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IHRydWU7XG4gICAgdHNQYXJzZVR5cGUoKTtcbiAgICBzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBvbGRJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7XG4gICAgaWYgKHN0YXRlLmVycm9yIHx8ICghc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ICYmIG1hdGNoKHR0LnF1ZXN0aW9uKSkpIHtcbiAgICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZU9wZXJhdG9yT3JIaWdoZXIoKSB7XG4gIGlmIChcbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2tleW9mKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdW5pcXVlKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHkpXG4gICkge1xuICAgIG5leHQoKTtcbiAgICB0c1BhcnNlVHlwZU9wZXJhdG9yT3JIaWdoZXIoKTtcbiAgfSBlbHNlIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2luZmVyKSkge1xuICAgIHRzUGFyc2VJbmZlclR5cGUoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBvbGRJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7XG4gICAgc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gZmFsc2U7XG4gICAgdHNQYXJzZUFycmF5VHlwZU9ySGlnaGVyKCk7XG4gICAgc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VJbnRlcnNlY3Rpb25UeXBlT3JIaWdoZXIoKSB7XG4gIGVhdCh0dC5iaXR3aXNlQU5EKTtcbiAgdHNQYXJzZVR5cGVPcGVyYXRvck9ySGlnaGVyKCk7XG4gIGlmIChtYXRjaCh0dC5iaXR3aXNlQU5EKSkge1xuICAgIHdoaWxlIChlYXQodHQuYml0d2lzZUFORCkpIHtcbiAgICAgIHRzUGFyc2VUeXBlT3BlcmF0b3JPckhpZ2hlcigpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlVW5pb25UeXBlT3JIaWdoZXIoKSB7XG4gIGVhdCh0dC5iaXR3aXNlT1IpO1xuICB0c1BhcnNlSW50ZXJzZWN0aW9uVHlwZU9ySGlnaGVyKCk7XG4gIGlmIChtYXRjaCh0dC5iaXR3aXNlT1IpKSB7XG4gICAgd2hpbGUgKGVhdCh0dC5iaXR3aXNlT1IpKSB7XG4gICAgICB0c1BhcnNlSW50ZXJzZWN0aW9uVHlwZU9ySGlnaGVyKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRzSXNTdGFydE9mRnVuY3Rpb25UeXBlKCkge1xuICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIG1hdGNoKHR0LnBhcmVuTCkgJiYgdHNMb29rYWhlYWRJc1VuYW1iaWd1b3VzbHlTdGFydE9mRnVuY3Rpb25UeXBlKCk7XG59XG5cbmZ1bmN0aW9uIHRzU2tpcFBhcmFtZXRlclN0YXJ0KCkge1xuICBpZiAobWF0Y2godHQubmFtZSkgfHwgbWF0Y2godHQuX3RoaXMpKSB7XG4gICAgbmV4dCgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmIHRoaXMgaXMgYSBwb3NzaWJsZSBhcnJheS9vYmplY3QgZGVzdHJ1Y3R1cmUsIHdhbGsgdG8gdGhlIG1hdGNoaW5nIGJyYWNrZXQvYnJhY2UuXG4gIC8vIFRoZSBuZXh0IHRva2VuIGFmdGVyIHdpbGwgdGVsbCB1cyBkZWZpbml0aXZlbHkgd2hldGhlciB0aGlzIGlzIGEgZnVuY3Rpb24gcGFyYW0uXG4gIGlmIChtYXRjaCh0dC5icmFjZUwpIHx8IG1hdGNoKHR0LmJyYWNrZXRMKSkge1xuICAgIGxldCBkZXB0aCA9IDE7XG4gICAgbmV4dCgpO1xuICAgIHdoaWxlIChkZXB0aCA+IDAgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgICBpZiAobWF0Y2godHQuYnJhY2VMKSB8fCBtYXRjaCh0dC5icmFja2V0TCkpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH0gZWxzZSBpZiAobWF0Y2godHQuYnJhY2VSKSB8fCBtYXRjaCh0dC5icmFja2V0UikpIHtcbiAgICAgICAgZGVwdGgtLTtcbiAgICAgIH1cbiAgICAgIG5leHQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiB0c0xvb2thaGVhZElzVW5hbWJpZ3VvdXNseVN0YXJ0T2ZGdW5jdGlvblR5cGUoKSB7XG4gIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgY29uc3QgaXNVbmFtYmlndW91c2x5U3RhcnRPZkZ1bmN0aW9uVHlwZSA9IHRzSXNVbmFtYmlndW91c2x5U3RhcnRPZkZ1bmN0aW9uVHlwZSgpO1xuICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgcmV0dXJuIGlzVW5hbWJpZ3VvdXNseVN0YXJ0T2ZGdW5jdGlvblR5cGU7XG59XG5cbmZ1bmN0aW9uIHRzSXNVbmFtYmlndW91c2x5U3RhcnRPZkZ1bmN0aW9uVHlwZSgpIHtcbiAgbmV4dCgpO1xuICBpZiAobWF0Y2godHQucGFyZW5SKSB8fCBtYXRjaCh0dC5lbGxpcHNpcykpIHtcbiAgICAvLyAoIClcbiAgICAvLyAoIC4uLlxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmICh0c1NraXBQYXJhbWV0ZXJTdGFydCgpKSB7XG4gICAgaWYgKG1hdGNoKHR0LmNvbG9uKSB8fCBtYXRjaCh0dC5jb21tYSkgfHwgbWF0Y2godHQucXVlc3Rpb24pIHx8IG1hdGNoKHR0LmVxKSkge1xuICAgICAgLy8gKCB4eHggOlxuICAgICAgLy8gKCB4eHggLFxuICAgICAgLy8gKCB4eHggP1xuICAgICAgLy8gKCB4eHggPVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChtYXRjaCh0dC5wYXJlblIpKSB7XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAobWF0Y2godHQuYXJyb3cpKSB7XG4gICAgICAgIC8vICggeHh4ICkgPT5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKHJldHVyblRva2VuKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgZXhwZWN0KHJldHVyblRva2VuKTtcbiAgY29uc3QgZmluaXNoZWRSZXR1cm4gPSB0c1BhcnNlVHlwZVByZWRpY2F0ZU9yQXNzZXJ0c1ByZWZpeCgpO1xuICBpZiAoIWZpbmlzaGVkUmV0dXJuKSB7XG4gICAgdHNQYXJzZVR5cGUoKTtcbiAgfVxuICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xufVxuXG5mdW5jdGlvbiB0c1RyeVBhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oKSB7XG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICB0c1BhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24odHQuY29sb24pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1RyeVBhcnNlVHlwZUFubm90YXRpb24oKSB7XG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICB0c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1RyeVBhcnNlVHlwZSgpIHtcbiAgaWYgKGVhdCh0dC5jb2xvbikpIHtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICB9XG59XG5cbi8qKlxuICogRGV0ZWN0IGEgZmV3IHNwZWNpYWwgcmV0dXJuIHN5bnRheCBjYXNlczogYHggaXMgVGAsIGBhc3NlcnRzIHhgLCBgYXNzZXJ0cyB4IGlzIFRgLFxuICogYGFzc2VydHMgdGhpcyBpcyBUYC5cbiAqXG4gKiBSZXR1cm5zIHRydWUgaWYgd2UgcGFyc2VkIHRoZSByZXR1cm4gdHlwZSwgZmFsc2UgaWYgdGhlcmUncyBzdGlsbCBhIHR5cGUgdG8gYmUgcGFyc2VkLlxuICovXG5mdW5jdGlvbiB0c1BhcnNlVHlwZVByZWRpY2F0ZU9yQXNzZXJ0c1ByZWZpeCgpIHtcbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hc3NlcnRzKSkge1xuICAgIC8vIE5vcm1hbGx5IHRoaXMgaXMgYGFzc2VydHMgeCBpcyBUYCwgYnV0IGF0IHRoaXMgcG9pbnQsIGl0IG1pZ2h0IGJlIGBhc3NlcnRzIGlzIFRgIChhIHVzZXItXG4gICAgLy8gZGVmaW5lZCB0eXBlIGd1YXJkIG9uIHRoZSBgYXNzZXJ0c2AgdmFyaWFibGUpIG9yIGp1c3QgYSB0eXBlIGNhbGxlZCBgYXNzZXJ0c2AuXG4gICAgbmV4dCgpO1xuICAgIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pcykpIHtcbiAgICAgIC8vIElmIHdlIHNlZSBgYXNzZXJ0cyBpc2AsIHRoZW4gdGhpcyBtdXN0IGJlIG9mIHRoZSBmb3JtIGBhc3NlcnRzIGlzIFRgLCBzaW5jZVxuICAgICAgLy8gYGFzc2VydHMgaXMgaXMgVGAgaXNuJ3QgdmFsaWQuXG4gICAgICB0c1BhcnNlVHlwZSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh0c0lzSWRlbnRpZmllcigpIHx8IG1hdGNoKHR0Ll90aGlzKSkge1xuICAgICAgbmV4dCgpO1xuICAgICAgaWYgKGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2lzKSkge1xuICAgICAgICAvLyBJZiB3ZSBzZWUgYGlzYCwgdGhlbiB0aGlzIGlzIGBhc3NlcnRzIHggaXMgVGAuIE90aGVyd2lzZSwgaXQncyBgYXNzZXJ0cyB4YC5cbiAgICAgICAgdHNQYXJzZVR5cGUoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWd1bGFyIHR5cGUsIHNvIGJhaWwgb3V0IGFuZCBzdGFydCB0eXBlIHBhcnNpbmcgZnJvbSBzY3JhdGNoLlxuICAgICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKHRzSXNJZGVudGlmaWVyKCkgfHwgbWF0Y2godHQuX3RoaXMpKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlZ3VsYXIgaWRlbnRpZmllciwgd2hpY2ggbWF5IG9yIG1heSBub3QgaGF2ZSBcImlzXCIgYWZ0ZXIgaXQuXG4gICAgbmV4dCgpO1xuICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2lzKSAmJiAhaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpIHtcbiAgICAgIG5leHQoKTtcbiAgICAgIHRzUGFyc2VUeXBlKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVndWxhciB0eXBlLCBzbyBiYWlsIG91dCBhbmQgc3RhcnQgdHlwZSBwYXJzaW5nIGZyb20gc2NyYXRjaC5cbiAgICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1BhcnNlVHlwZUFubm90YXRpb24oKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgZXhwZWN0KHR0LmNvbG9uKTtcbiAgdHNQYXJzZVR5cGUoKTtcbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VUeXBlKCkge1xuICB0c1BhcnNlTm9uQ29uZGl0aW9uYWxUeXBlKCk7XG4gIGlmIChzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgfHwgaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkgfHwgIWVhdCh0dC5fZXh0ZW5kcykpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgLy8gZXh0ZW5kcyB0eXBlXG4gIGNvbnN0IG9sZEluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IHN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dDtcbiAgc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gdHJ1ZTtcbiAgdHNQYXJzZU5vbkNvbmRpdGlvbmFsVHlwZSgpO1xuICBzdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBvbGRJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7XG5cbiAgZXhwZWN0KHR0LnF1ZXN0aW9uKTtcbiAgLy8gdHJ1ZSB0eXBlXG4gIHRzUGFyc2VUeXBlKCk7XG4gIGV4cGVjdCh0dC5jb2xvbik7XG4gIC8vIGZhbHNlIHR5cGVcbiAgdHNQYXJzZVR5cGUoKTtcbn1cblxuZnVuY3Rpb24gaXNBYnN0cmFjdENvbnN0cnVjdG9yU2lnbmF0dXJlKCkge1xuICByZXR1cm4gaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdCkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5fbmV3O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZU5vbkNvbmRpdGlvbmFsVHlwZSgpIHtcbiAgaWYgKHRzSXNTdGFydE9mRnVuY3Rpb25UeXBlKCkpIHtcbiAgICB0c1BhcnNlRnVuY3Rpb25PckNvbnN0cnVjdG9yVHlwZShGdW5jdGlvblR5cGUuVFNGdW5jdGlvblR5cGUpO1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAobWF0Y2godHQuX25ldykpIHtcbiAgICAvLyBBcyBpbiBgbmV3ICgpID0+IERhdGVgXG4gICAgdHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUoRnVuY3Rpb25UeXBlLlRTQ29uc3RydWN0b3JUeXBlKTtcbiAgICByZXR1cm47XG4gIH0gZWxzZSBpZiAoaXNBYnN0cmFjdENvbnN0cnVjdG9yU2lnbmF0dXJlKCkpIHtcbiAgICAvLyBBcyBpbiBgYWJzdHJhY3QgbmV3ICgpID0+IERhdGVgXG4gICAgdHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUoRnVuY3Rpb25UeXBlLlRTQWJzdHJhY3RDb25zdHJ1Y3RvclR5cGUpO1xuICAgIHJldHVybjtcbiAgfVxuICB0c1BhcnNlVW5pb25UeXBlT3JIaWdoZXIoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VUeXBlQXNzZXJ0aW9uKCkge1xuICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMSk7XG4gIHRzUGFyc2VUeXBlKCk7XG4gIGV4cGVjdCh0dC5ncmVhdGVyVGhhbik7XG4gIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIHBhcnNlTWF5YmVVbmFyeSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNUcnlQYXJzZUpTWFR5cGVBcmd1bWVudCgpIHtcbiAgaWYgKGVhdCh0dC5qc3hUYWdTdGFydCkpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC50eXBlUGFyYW1ldGVyU3RhcnQ7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgIHdoaWxlICghbWF0Y2godHQuZ3JlYXRlclRoYW4pICYmICFzdGF0ZS5lcnJvcikge1xuICAgICAgdHNQYXJzZVR5cGUoKTtcbiAgICAgIGVhdCh0dC5jb21tYSk7XG4gICAgfVxuICAgIC8vIFByb2Nlc3MgPiwgYnV0IHRoZSBvbmUgYWZ0ZXIgbmVlZHMgdG8gYmUgcGFyc2VkIEpTWC1zdHlsZS5cbiAgICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VIZXJpdGFnZUNsYXVzZSgpIHtcbiAgd2hpbGUgKCFtYXRjaCh0dC5icmFjZUwpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIHRzUGFyc2VFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHMoKTtcbiAgICBlYXQodHQuY29tbWEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHMoKSB7XG4gIC8vIE5vdGU6IFRTIHVzZXMgcGFyc2VMZWZ0SGFuZFNpZGVFeHByZXNzaW9uT3JIaWdoZXIsXG4gIC8vIHRoZW4gaGFzIGdyYW1tYXIgZXJyb3JzIGxhdGVyIGlmIGl0J3Mgbm90IGFuIEVudGl0eU5hbWUuXG4gIHRzUGFyc2VFbnRpdHlOYW1lKCk7XG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICB0c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VJbnRlcmZhY2VEZWNsYXJhdGlvbigpIHtcbiAgcGFyc2VCaW5kaW5nSWRlbnRpZmllcihmYWxzZSk7XG4gIHRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycygpO1xuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIHRzUGFyc2VIZXJpdGFnZUNsYXVzZSgpO1xuICB9XG4gIHRzUGFyc2VPYmplY3RUeXBlTWVtYmVycygpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZUFsaWFzRGVjbGFyYXRpb24oKSB7XG4gIHBhcnNlQmluZGluZ0lkZW50aWZpZXIoZmFsc2UpO1xuICB0c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoKTtcbiAgZXhwZWN0KHR0LmVxKTtcbiAgdHNQYXJzZVR5cGUoKTtcbiAgc2VtaWNvbG9uKCk7XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VFbnVtTWVtYmVyKCkge1xuICAvLyBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lcyBhcmUgZ3JhbW1hciBlcnJvcnMgaW4gYW4gZW51bSwgc28gYWNjZXB0IGp1c3Qgc3RyaW5nIGxpdGVyYWwgb3IgaWRlbnRpZmllci5cbiAgaWYgKG1hdGNoKHR0LnN0cmluZykpIHtcbiAgICBwYXJzZUxpdGVyYWwoKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxuICBpZiAoZWF0KHR0LmVxKSkge1xuICAgIGNvbnN0IGVxSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMTtcbiAgICBwYXJzZU1heWJlQXNzaWduKCk7XG4gICAgc3RhdGUudG9rZW5zW2VxSW5kZXhdLnJoc0VuZEluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgfVxufVxuXG5mdW5jdGlvbiB0c1BhcnNlRW51bURlY2xhcmF0aW9uKCkge1xuICBwYXJzZUJpbmRpbmdJZGVudGlmaWVyKGZhbHNlKTtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gIHdoaWxlICghZWF0KHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgdHNQYXJzZUVudW1NZW1iZXIoKTtcbiAgICBlYXQodHQuY29tbWEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VNb2R1bGVCbG9jaygpIHtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gIHBhcnNlQmxvY2tCb2R5KC8qIGVuZCAqLyB0dC5icmFjZVIpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlTW9kdWxlT3JOYW1lc3BhY2VEZWNsYXJhdGlvbigpIHtcbiAgcGFyc2VCaW5kaW5nSWRlbnRpZmllcihmYWxzZSk7XG4gIGlmIChlYXQodHQuZG90KSkge1xuICAgIHRzUGFyc2VNb2R1bGVPck5hbWVzcGFjZURlY2xhcmF0aW9uKCk7XG4gIH0gZWxzZSB7XG4gICAgdHNQYXJzZU1vZHVsZUJsb2NrKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHNQYXJzZUFtYmllbnRFeHRlcm5hbE1vZHVsZURlY2xhcmF0aW9uKCkge1xuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9nbG9iYWwpKSB7XG4gICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfSBlbHNlIHtcbiAgICB1bmV4cGVjdGVkKCk7XG4gIH1cblxuICBpZiAobWF0Y2godHQuYnJhY2VMKSkge1xuICAgIHRzUGFyc2VNb2R1bGVCbG9jaygpO1xuICB9IGVsc2Uge1xuICAgIHNlbWljb2xvbigpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1BhcnNlSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24oKSB7XG4gIHBhcnNlSW1wb3J0ZWRJZGVudGlmaWVyKCk7XG4gIGV4cGVjdCh0dC5lcSk7XG4gIHRzUGFyc2VNb2R1bGVSZWZlcmVuY2UoKTtcbiAgc2VtaWNvbG9uKCk7XG59XG5cbmZ1bmN0aW9uIHRzSXNFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZSgpIHtcbiAgcmV0dXJuIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fcmVxdWlyZSkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5wYXJlbkw7XG59XG5cbmZ1bmN0aW9uIHRzUGFyc2VNb2R1bGVSZWZlcmVuY2UoKSB7XG4gIGlmICh0c0lzRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2UoKSkge1xuICAgIHRzUGFyc2VFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZSgpO1xuICB9IGVsc2Uge1xuICAgIHRzUGFyc2VFbnRpdHlOYW1lKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHNQYXJzZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlKCkge1xuICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9yZXF1aXJlKTtcbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG4gIGlmICghbWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxuICBwYXJzZUxpdGVyYWwoKTtcbiAgZXhwZWN0KHR0LnBhcmVuUik7XG59XG5cbi8vIFV0aWxpdGllc1xuXG4vLyBSZXR1cm5zIHRydWUgaWYgYSBzdGF0ZW1lbnQgbWF0Y2hlZC5cbmZ1bmN0aW9uIHRzVHJ5UGFyc2VEZWNsYXJlKCkge1xuICBpZiAoaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN3aXRjaCAoc3RhdGUudHlwZSkge1xuICAgIGNhc2UgdHQuX2Z1bmN0aW9uOiB7XG4gICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMSk7XG4gICAgICBuZXh0KCk7XG4gICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHByZWNpc2VseSBnZXQgdGhlIGZ1bmN0aW9uIHN0YXJ0IGhlcmUsIHNpbmNlIGl0J3Mgb25seSB1c2VkIHRvIG1hcmtcbiAgICAgIC8vIHRoZSBmdW5jdGlvbiBhcyBhIHR5cGUgaWYgaXQncyBib2RpbGVzcywgYW5kIGl0J3MgYWxyZWFkeSBhIHR5cGUgaGVyZS5cbiAgICAgIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgICAgIHBhcnNlRnVuY3Rpb24oZnVuY3Rpb25TdGFydCwgLyogaXNTdGF0ZW1lbnQgKi8gdHJ1ZSk7XG4gICAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNhc2UgdHQuX2NsYXNzOiB7XG4gICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMSk7XG4gICAgICBwYXJzZUNsYXNzKC8qIGlzU3RhdGVtZW50ICovIHRydWUsIC8qIG9wdGlvbmFsSWQgKi8gZmFsc2UpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjYXNlIHR0Ll9jb25zdDoge1xuICAgICAgaWYgKG1hdGNoKHR0Ll9jb25zdCkgJiYgaXNMb29rYWhlYWRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9lbnVtKSkge1xuICAgICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMSk7XG4gICAgICAgIC8vIGBjb25zdCBlbnVtID0gMDtgIG5vdCBhbGxvd2VkIGJlY2F1c2UgXCJlbnVtXCIgaXMgYSBzdHJpY3QgbW9kZSByZXNlcnZlZCB3b3JkLlxuICAgICAgICBleHBlY3QodHQuX2NvbnN0KTtcbiAgICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZW51bSk7XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9lbnVtO1xuICAgICAgICB0c1BhcnNlRW51bURlY2xhcmF0aW9uKCk7XG4gICAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBmYWxscyB0aHJvdWdoXG4gICAgY2FzZSB0dC5fdmFyOlxuICAgIGNhc2UgdHQuX2xldDoge1xuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgICAgcGFyc2VWYXJTdGF0ZW1lbnQoc3RhdGUudHlwZSAhPT0gdHQuX3Zhcik7XG4gICAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNhc2UgdHQubmFtZToge1xuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgICAgY29uc3QgY29udGV4dHVhbEtleXdvcmQgPSBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZDtcbiAgICAgIGxldCBtYXRjaGVkID0gZmFsc2U7XG4gICAgICBpZiAoY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9nbG9iYWwpIHtcbiAgICAgICAgdHNQYXJzZUFtYmllbnRFeHRlcm5hbE1vZHVsZURlY2xhcmF0aW9uKCk7XG4gICAgICAgIG1hdGNoZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWF0Y2hlZCA9IHRzUGFyc2VEZWNsYXJhdGlvbihjb250ZXh0dWFsS2V5d29yZCwgLyogaXNCZWZvcmVUb2tlbiAqLyB0cnVlKTtcbiAgICAgIH1cbiAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgICByZXR1cm4gbWF0Y2hlZDtcbiAgICB9XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLyBOb3RlOiB0aGlzIHdvbid0IGJlIGNhbGxlZCB1bmxlc3MgdGhlIGtleXdvcmQgaXMgYWxsb3dlZCBpbiBgc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbmAuXG4vLyBSZXR1cm5zIHRydWUgaWYgaXQgbWF0Y2hlZCBhIGRlY2xhcmF0aW9uLlxuZnVuY3Rpb24gdHNUcnlQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkge1xuICByZXR1cm4gdHNQYXJzZURlY2xhcmF0aW9uKHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkLCAvKiBpc0JlZm9yZVRva2VuICovIHRydWUpO1xufVxuXG4vLyBSZXR1cm5zIHRydWUgaWYgaXQgbWF0Y2hlZCBhIHN0YXRlbWVudC5cbmZ1bmN0aW9uIHRzUGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGNvbnRleHR1YWxLZXl3b3JkKSB7XG4gIHN3aXRjaCAoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9kZWNsYXJlOiB7XG4gICAgICBjb25zdCBkZWNsYXJlVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGggLSAxO1xuICAgICAgY29uc3QgbWF0Y2hlZCA9IHRzVHJ5UGFyc2VEZWNsYXJlKCk7XG4gICAgICBpZiAobWF0Y2hlZCkge1xuICAgICAgICBzdGF0ZS50b2tlbnNbZGVjbGFyZVRva2VuSW5kZXhdLnR5cGUgPSB0dC5fZGVjbGFyZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fZ2xvYmFsOlxuICAgICAgLy8gYGdsb2JhbCB7IH1gICh3aXRoIG5vIGBkZWNsYXJlYCkgbWF5IGFwcGVhciBpbnNpZGUgYW4gYW1iaWVudCBtb2R1bGUgZGVjbGFyYXRpb24uXG4gICAgICAvLyBXb3VsZCBsaWtlIHRvIHVzZSB0c1BhcnNlQW1iaWVudEV4dGVybmFsTW9kdWxlRGVjbGFyYXRpb24gaGVyZSwgYnV0IGFscmVhZHkgcmFuIHBhc3QgXCJnbG9iYWxcIi5cbiAgICAgIGlmIChtYXRjaCh0dC5icmFjZUwpKSB7XG4gICAgICAgIHRzUGFyc2VNb2R1bGVCbG9jaygpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB0c1BhcnNlRGVjbGFyYXRpb24oY29udGV4dHVhbEtleXdvcmQsIC8qIGlzQmVmb3JlVG9rZW4gKi8gZmFsc2UpO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDb21tb24gY29kZSBmb3IgcGFyc2luZyBhIGRlY2xhcmF0aW9uLlxuICpcbiAqIGlzQmVmb3JlVG9rZW4gaW5kaWNhdGVzIHRoYXQgdGhlIGN1cnJlbnQgcGFyc2VyIHN0YXRlIGlzIGF0IHRoZSBjb250ZXh0dWFsXG4gKiBrZXl3b3JkIChhbmQgdGhhdCBpdCBpcyBub3QgeWV0IGVtaXR0ZWQpIHJhdGhlciB0aGFuIHJlYWRpbmcgdGhlIHRva2VuIGFmdGVyXG4gKiBpdC4gV2hlbiBpc0JlZm9yZVRva2VuIGlzIHRydWUsIHdlIG1heSBiZSBwcmVjZWRlZCBieSBhbiBgZXhwb3J0YCB0b2tlbiBhbmRcbiAqIHNob3VsZCBpbmNsdWRlIHRoYXQgdG9rZW4gaW4gYSB0eXBlIGNvbnRleHQgd2UgY3JlYXRlLCBlLmcuIHRvIGhhbmRsZVxuICogYGV4cG9ydCBpbnRlcmZhY2VgIG9yIGBleHBvcnQgdHlwZWAuIChUaGlzIGlzIGEgYml0IG9mIGEgaGFjayBhbmQgc2hvdWxkIGJlXG4gKiBjbGVhbmVkIHVwIGF0IHNvbWUgcG9pbnQuKVxuICpcbiAqIFJldHVybnMgdHJ1ZSBpZiBpdCBtYXRjaGVkIGEgZGVjbGFyYXRpb24uXG4gKi9cbmZ1bmN0aW9uIHRzUGFyc2VEZWNsYXJhdGlvbihjb250ZXh0dWFsS2V5d29yZCwgaXNCZWZvcmVUb2tlbikge1xuICBzd2l0Y2ggKGNvbnRleHR1YWxLZXl3b3JkKSB7XG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fYWJzdHJhY3Q6XG4gICAgICBpZiAodHNDaGVja0xpbmVUZXJtaW5hdG9yKGlzQmVmb3JlVG9rZW4pICYmIG1hdGNoKHR0Ll9jbGFzcykpIHtcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2Fic3RyYWN0O1xuICAgICAgICBwYXJzZUNsYXNzKC8qIGlzU3RhdGVtZW50ICovIHRydWUsIC8qIG9wdGlvbmFsSWQgKi8gZmFsc2UpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fZW51bTpcbiAgICAgIGlmICh0c0NoZWNrTGluZVRlcm1pbmF0b3IoaXNCZWZvcmVUb2tlbikgJiYgbWF0Y2godHQubmFtZSkpIHtcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2VudW07XG4gICAgICAgIHRzUGFyc2VFbnVtRGVjbGFyYXRpb24oKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX2ludGVyZmFjZTpcbiAgICAgIGlmICh0c0NoZWNrTGluZVRlcm1pbmF0b3IoaXNCZWZvcmVUb2tlbikgJiYgbWF0Y2godHQubmFtZSkpIHtcbiAgICAgICAgLy8gYG5leHRgIGlzIHRydWUgaW4gXCJleHBvcnRcIiBhbmQgXCJkZWNsYXJlXCIgY29udGV4dHMsIHNvIHdlIHdhbnQgdG8gcmVtb3ZlIHRoYXQgdG9rZW5cbiAgICAgICAgLy8gYXMgd2VsbC5cbiAgICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KGlzQmVmb3JlVG9rZW4gPyAyIDogMSk7XG4gICAgICAgIHRzUGFyc2VJbnRlcmZhY2VEZWNsYXJhdGlvbigpO1xuICAgICAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlOlxuICAgICAgaWYgKHRzQ2hlY2tMaW5lVGVybWluYXRvcihpc0JlZm9yZVRva2VuKSkge1xuICAgICAgICBpZiAobWF0Y2godHQuc3RyaW5nKSkge1xuICAgICAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dChpc0JlZm9yZVRva2VuID8gMiA6IDEpO1xuICAgICAgICAgIHRzUGFyc2VBbWJpZW50RXh0ZXJuYWxNb2R1bGVEZWNsYXJhdGlvbigpO1xuICAgICAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICAgICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoaXNCZWZvcmVUb2tlbiA/IDIgOiAxKTtcbiAgICAgICAgICB0c1BhcnNlTW9kdWxlT3JOYW1lc3BhY2VEZWNsYXJhdGlvbigpO1xuICAgICAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fbmFtZXNwYWNlOlxuICAgICAgaWYgKHRzQ2hlY2tMaW5lVGVybWluYXRvcihpc0JlZm9yZVRva2VuKSAmJiBtYXRjaCh0dC5uYW1lKSkge1xuICAgICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoaXNCZWZvcmVUb2tlbiA/IDIgOiAxKTtcbiAgICAgICAgdHNQYXJzZU1vZHVsZU9yTmFtZXNwYWNlRGVjbGFyYXRpb24oKTtcbiAgICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX3R5cGU6XG4gICAgICBpZiAodHNDaGVja0xpbmVUZXJtaW5hdG9yKGlzQmVmb3JlVG9rZW4pICYmIG1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dChpc0JlZm9yZVRva2VuID8gMiA6IDEpO1xuICAgICAgICB0c1BhcnNlVHlwZUFsaWFzRGVjbGFyYXRpb24oKTtcbiAgICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHRzQ2hlY2tMaW5lVGVybWluYXRvcihpc0JlZm9yZVRva2VuKSB7XG4gIGlmIChpc0JlZm9yZVRva2VuKSB7XG4gICAgLy8gQmFiZWwgY2hlY2tzIGhhc0ZvbGxvd2luZ0xpbmVCcmVhayBoZXJlIGFuZCByZXR1cm5zIGZhbHNlLCBidXQgdGhpc1xuICAgIC8vIGRvZXNuJ3QgYWN0dWFsbHkgY29tZSB1cCwgZS5nLiBgZXhwb3J0IGludGVyZmFjZWAgY2FuIG5ldmVyIGJlIG9uIGl0cyBvd25cbiAgICAvLyBsaW5lIGluIHZhbGlkIGNvZGUuXG4gICAgbmV4dCgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiAhaXNMaW5lVGVybWluYXRvcigpO1xuICB9XG59XG5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSB3YXMgYSBnZW5lcmljIGFzeW5jIGFycm93IGZ1bmN0aW9uLlxuZnVuY3Rpb24gdHNUcnlQYXJzZUdlbmVyaWNBc3luY0Fycm93RnVuY3Rpb24oKSB7XG4gIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcblxuICB0c1BhcnNlVHlwZVBhcmFtZXRlcnMoKTtcbiAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICB0c1RyeVBhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oKTtcbiAgZXhwZWN0KHR0LmFycm93KTtcblxuICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwYXJzZUZ1bmN0aW9uQm9keSh0cnVlKTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogSWYgbmVjZXNzYXJ5LCBoYWNrIHRoZSB0b2tlbml6ZXIgc3RhdGUgc28gdGhhdCB0aGlzIGJpdHNoaWZ0IHdhcyBhY3R1YWxseSBhXG4gKiBsZXNzLXRoYW4gdG9rZW4sIHRoZW4ga2VlcCBwYXJzaW5nLiBUaGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gc2l0dWF0aW9uc1xuICogd2hlcmUgd2UgcmVzdG9yZSBmcm9tIHNuYXBzaG90IG9uIGVycm9yICh3aGljaCByZXZlcnRzIHRoaXMgY2hhbmdlKSBvclxuICogd2hlcmUgYml0c2hpZnQgd291bGQgYmUgaWxsZWdhbCBhbnl3YXkgKGUuZy4gaW4gYSBjbGFzcyBcImV4dGVuZHNcIiBjbGF1c2UpLlxuICpcbiAqIFRoaXMgaGFjayBpcyB1c2VmdWwgdG8gaGFuZGxlIHNpdHVhdGlvbnMgbGlrZSBmb288PFQ+KCkgPT4gdm9pZD4oKSB3aGVyZVxuICogdGhlcmUgY2FuIGxlZ2l0aW1hdGVseSBiZSB0d28gb3Blbi1hbmdsZS1icmFja2V0cyBpbiBhIHJvdyBpbiBUUy5cbiAqL1xuZnVuY3Rpb24gdHNQYXJzZVR5cGVBcmd1bWVudHNXaXRoUG9zc2libGVCaXRzaGlmdCgpIHtcbiAgaWYgKHN0YXRlLnR5cGUgPT09IHR0LmJpdFNoaWZ0TCkge1xuICAgIHN0YXRlLnBvcyAtPSAxO1xuICAgIGZpbmlzaFRva2VuKHR0Lmxlc3NUaGFuKTtcbiAgfVxuICB0c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xufVxuXG5mdW5jdGlvbiB0c1BhcnNlVHlwZUFyZ3VtZW50cygpIHtcbiAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICBleHBlY3QodHQubGVzc1RoYW4pO1xuICB3aGlsZSAoIW1hdGNoKHR0LmdyZWF0ZXJUaGFuKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICAgIGVhdCh0dC5jb21tYSk7XG4gIH1cbiAgaWYgKCFvbGRJc1R5cGUpIHtcbiAgICAvLyBJZiB0aGUgdHlwZSBhcmd1bWVudHMgYXJlIHByZXNlbnQgaW4gYW4gZXhwcmVzc2lvbiBjb250ZXh0LCBlLmcuXG4gICAgLy8gZjxudW1iZXI+KCksIHRoZW4gdGhlID4gc2lnbiBzaG91bGQgYmUgdG9rZW5pemVkIGFzIGEgbm9uLXR5cGUgdG9rZW4uXG4gICAgLy8gSW4gcGFydGljdWxhciwgZihhIDwgYiwgYyA+PSBkKSBzaG91bGQgcGFyc2UgdGhlID49IGFzIGEgc2luZ2xlIHRva2VuLFxuICAgIC8vIHJlc3VsdGluZyBpbiBhIHN5bnRheCBlcnJvciBhbmQgZmFsbGJhY2sgdG8gdGhlIG5vbi10eXBlLWFyZ3NcbiAgICAvLyBpbnRlcnByZXRhdGlvbi4gSW4gdGhlIHN1Y2Nlc3MgY2FzZSwgZXZlbiB0aG91Z2ggdGhlID4gaXMgdG9rZW5pemVkIGFzIGFcbiAgICAvLyBub24tdHlwZSB0b2tlbiwgaXQgc3RpbGwgbXVzdCBiZSBtYXJrZWQgYXMgYSB0eXBlIHRva2VuIHNvIHRoYXQgaXQgaXNcbiAgICAvLyBlcmFzZWQuXG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICByZXNjYW5fZ3QoKTtcbiAgICBleHBlY3QodHQuZ3JlYXRlclRoYW4pO1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaXNUeXBlID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBleHBlY3QodHQuZ3JlYXRlclRoYW4pO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzSXNEZWNsYXJhdGlvblN0YXJ0KCkge1xuICBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICBzd2l0Y2ggKHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkKSB7XG4gICAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdDpcbiAgICAgIGNhc2UgQ29udGV4dHVhbEtleXdvcmQuX2RlY2xhcmU6XG4gICAgICBjYXNlIENvbnRleHR1YWxLZXl3b3JkLl9lbnVtOlxuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5faW50ZXJmYWNlOlxuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlOlxuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fbmFtZXNwYWNlOlxuICAgICAgY2FzZSBDb250ZXh0dWFsS2V5d29yZC5fdHlwZTpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gT1ZFUlJJREVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2goZnVuY3Rpb25TdGFydCwgZnVuY0NvbnRleHRJZCkge1xuICAvLyBGb3IgYXJyb3cgZnVuY3Rpb25zLCBgcGFyc2VBcnJvd2AgaGFuZGxlcyB0aGUgcmV0dXJuIHR5cGUgaXRzZWxmLlxuICBpZiAobWF0Y2godHQuY29sb24pKSB7XG4gICAgdHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKHR0LmNvbG9uKTtcbiAgfVxuXG4gIC8vIFRoZSBvcmlnaW5hbCBjb2RlIGNoZWNrZWQgdGhlIG5vZGUgdHlwZSB0byBtYWtlIHN1cmUgdGhpcyBmdW5jdGlvbiB0eXBlIGFsbG93cyBhIG1pc3NpbmdcbiAgLy8gYm9keSwgYnV0IHdlIHNraXAgdGhhdCB0byBhdm9pZCBzZW5kaW5nIGFyb3VuZCB0aGUgbm9kZSB0eXBlLiBXZSBpbnN0ZWFkIGp1c3QgdXNlIHRoZVxuICAvLyBhbGxvd0V4cHJlc3Npb25Cb2R5IGJvb2xlYW4gdG8gbWFrZSBzdXJlIGl0J3Mgbm90IGFuIGFycm93IGZ1bmN0aW9uLlxuICBpZiAoIW1hdGNoKHR0LmJyYWNlTCkgJiYgaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgLy8gUmV0cm9hY3RpdmVseSBtYXJrIHRoZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBhcyBhIHR5cGUuXG4gICAgbGV0IGkgPSBzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMTtcbiAgICB3aGlsZSAoXG4gICAgICBpID49IDAgJiZcbiAgICAgIChzdGF0ZS50b2tlbnNbaV0uc3RhcnQgPj0gZnVuY3Rpb25TdGFydCB8fFxuICAgICAgICBzdGF0ZS50b2tlbnNbaV0udHlwZSA9PT0gdHQuX2RlZmF1bHQgfHxcbiAgICAgICAgc3RhdGUudG9rZW5zW2ldLnR5cGUgPT09IHR0Ll9leHBvcnQpXG4gICAgKSB7XG4gICAgICBzdGF0ZS50b2tlbnNbaV0uaXNUeXBlID0gdHJ1ZTtcbiAgICAgIGktLTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcGFyc2VGdW5jdGlvbkJvZHkoZmFsc2UsIGZ1bmNDb250ZXh0SWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZVN1YnNjcmlwdChcbiAgc3RhcnRUb2tlbkluZGV4LFxuICBub0NhbGxzLFxuICBzdG9wU3RhdGUsXG4pIHtcbiAgaWYgKCFoYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiBlYXQodHQuYmFuZykpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5ub25OdWxsQXNzZXJ0aW9uO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikgfHwgbWF0Y2godHQuYml0U2hpZnRMKSkge1xuICAgIC8vIFRoZXJlIGFyZSBudW1iZXIgb2YgdGhpbmdzIHdlIGFyZSBnb2luZyB0byBcIm1heWJlXCIgcGFyc2UsIGxpa2UgdHlwZSBhcmd1bWVudHMgb25cbiAgICAvLyB0YWdnZWQgdGVtcGxhdGUgZXhwcmVzc2lvbnMuIElmIGFueSBvZiB0aGVtIGZhaWwsIHdhbGsgaXQgYmFjayBhbmQgY29udGludWUuXG4gICAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuXG4gICAgaWYgKCFub0NhbGxzICYmIGF0UG9zc2libGVBc3luYygpKSB7XG4gICAgICAvLyBBbG1vc3QgY2VydGFpbmx5IHRoaXMgaXMgYSBnZW5lcmljIGFzeW5jIGZ1bmN0aW9uIGBhc3luYyA8VD4oKSA9PiAuLi5cbiAgICAgIC8vIEJ1dCBpdCBtaWdodCBiZSBhIGNhbGwgd2l0aCBhIHR5cGUgYXJndW1lbnQgYGFzeW5jPFQ+KCk7YFxuICAgICAgY29uc3QgYXN5bmNBcnJvd0ZuID0gdHNUcnlQYXJzZUdlbmVyaWNBc3luY0Fycm93RnVuY3Rpb24oKTtcbiAgICAgIGlmIChhc3luY0Fycm93Rm4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0c1BhcnNlVHlwZUFyZ3VtZW50c1dpdGhQb3NzaWJsZUJpdHNoaWZ0KCk7XG4gICAgaWYgKCFub0NhbGxzICYmIGVhdCh0dC5wYXJlbkwpKSB7XG4gICAgICAvLyBXaXRoIGY8VD4oKSwgdGhlIHN1YnNjcmlwdFN0YXJ0SW5kZXggbWFya2VyIGlzIG9uIHRoZSAoIHRva2VuLlxuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5zdWJzY3JpcHRTdGFydEluZGV4ID0gc3RhcnRUb2tlbkluZGV4O1xuICAgICAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cygpO1xuICAgIH0gZWxzZSBpZiAobWF0Y2godHQuYmFja1F1b3RlKSkge1xuICAgICAgLy8gVGFnZ2VkIHRlbXBsYXRlIHdpdGggYSB0eXBlIGFyZ3VtZW50LlxuICAgICAgcGFyc2VUZW1wbGF0ZSgpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAvLyBUaGUgcmVtYWluaW5nIHBvc3NpYmxlIGNhc2UgaXMgYW4gaW5zdGFudGlhdGlvbiBleHByZXNzaW9uLCBlLmcuXG4gICAgICAvLyBBcnJheTxudW1iZXI+IC4gQ2hlY2sgZm9yIGEgZmV3IGNhc2VzIHRoYXQgd291bGQgZGlzcXVhbGlmeSBpdCBhbmRcbiAgICAgIC8vIGNhdXNlIHVzIHRvIGJhaWwgb3V0LlxuICAgICAgLy8gYTxiPj5jIGlzIG5vdCAoYTxiPik+YywgYnV0IGE8KGI+PmMpXG4gICAgICBzdGF0ZS50eXBlID09PSB0dC5ncmVhdGVyVGhhbiB8fFxuICAgICAgLy8gYTxiPmMgaXMgKGE8Yik+Y1xuICAgICAgKHN0YXRlLnR5cGUgIT09IHR0LnBhcmVuTCAmJlxuICAgICAgICBCb29sZWFuKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfRVhQUkVTU0lPTl9TVEFSVCkgJiZcbiAgICAgICAgIWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKVxuICAgICkge1xuICAgICAgLy8gQmFpbCBvdXQuIFdlIGhhdmUgc29tZXRoaW5nIGxpa2UgYTxiPmMsIHdoaWNoIGlzIG5vdCBhbiBleHByZXNzaW9uIHdpdGhcbiAgICAgIC8vIHR5cGUgYXJndW1lbnRzIGJ1dCBhbiAoYSA8IGIpID4gYyBjb21wYXJpc29uLlxuICAgICAgdW5leHBlY3RlZCgpO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH0gZWxzZSBpZiAoIW5vQ2FsbHMgJiYgbWF0Y2godHQucXVlc3Rpb25Eb3QpICYmIGxvb2thaGVhZFR5cGUoKSA9PT0gdHQubGVzc1RoYW4pIHtcbiAgICAvLyBJZiB3ZSBzZWUgZj8uPCwgdGhlbiB0aGlzIG11c3QgYmUgYW4gb3B0aW9uYWwgY2FsbCB3aXRoIGEgdHlwZSBhcmd1bWVudC5cbiAgICBuZXh0KCk7XG4gICAgc3RhdGUudG9rZW5zW3N0YXJ0VG9rZW5JbmRleF0uaXNPcHRpb25hbENoYWluU3RhcnQgPSB0cnVlO1xuICAgIC8vIFdpdGggZj8uPFQ+KCksIHRoZSBzdWJzY3JpcHRTdGFydEluZGV4IG1hcmtlciBpcyBvbiB0aGUgPy4gdG9rZW4uXG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5zdWJzY3JpcHRTdGFydEluZGV4ID0gc3RhcnRUb2tlbkluZGV4O1xuXG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHMoKTtcbiAgICBleHBlY3QodHQucGFyZW5MKTtcbiAgICBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKCk7XG4gIH1cbiAgYmFzZVBhcnNlU3Vic2NyaXB0KHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscywgc3RvcFN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzVHJ5UGFyc2VFeHBvcnQoKSB7XG4gIGlmIChlYXQodHQuX2ltcG9ydCkpIHtcbiAgICAvLyBPbmUgb2YgdGhlc2UgY2FzZXM6XG4gICAgLy8gZXhwb3J0IGltcG9ydCBBID0gQjtcbiAgICAvLyBleHBvcnQgaW1wb3J0IHR5cGUgQSA9IHJlcXVpcmUoXCJBXCIpO1xuICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpICYmIGxvb2thaGVhZFR5cGUoKSAhPT0gdHQuZXEpIHtcbiAgICAgIC8vIEVhdCBhIGB0eXBlYCB0b2tlbiwgdW5sZXNzIGl0J3MgYWN0dWFsbHkgYW4gaWRlbnRpZmllciBuYW1lLlxuICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdHlwZSk7XG4gICAgfVxuICAgIHRzUGFyc2VJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbigpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGVhdCh0dC5lcSkpIHtcbiAgICAvLyBgZXhwb3J0ID0geDtgXG4gICAgcGFyc2VFeHByZXNzaW9uKCk7XG4gICAgc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpKSB7XG4gICAgLy8gYGV4cG9ydCBhcyBuYW1lc3BhY2UgQTtgXG4gICAgLy8gU2VlIGBwYXJzZU5hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uYCBpbiBUeXBlU2NyaXB0J3Mgb3duIHBhcnNlclxuICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX25hbWVzcGFjZSk7XG4gICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gICAgc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdHlwZSkpIHtcbiAgICAgIGNvbnN0IG5leHRUeXBlID0gbG9va2FoZWFkVHlwZSgpO1xuICAgICAgLy8gZXhwb3J0IHR5cGUge2Zvb30gZnJvbSAnYSc7XG4gICAgICAvLyBleHBvcnQgdHlwZSAqIGZyb20gJ2EnOydcbiAgICAgIC8vIGV4cG9ydCB0eXBlICogYXMgbnMgZnJvbSAnYSc7J1xuICAgICAgaWYgKG5leHRUeXBlID09PSB0dC5icmFjZUwgfHwgbmV4dFR5cGUgPT09IHR0LnN0YXIpIHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZSBhIFRTIGltcG9ydCBzcGVjaWZpZXIsIHdoaWNoIG1heSBiZSBwcmVmaXhlZCB3aXRoIFwidHlwZVwiIGFuZCBtYXkgYmUgb2ZcbiAqIHRoZSBmb3JtIGBmb28gYXMgYmFyYC5cbiAqXG4gKiBUaGUgbnVtYmVyIG9mIGlkZW50aWZpZXItbGlrZSB0b2tlbnMgd2Ugc2VlIGhhcHBlbnMgdG8gYmUgZW5vdWdoIHRvIHVuaXF1ZWx5XG4gKiBpZGVudGlmeSB0aGUgZm9ybSwgc28gc2ltcGx5IGNvdW50IHRoZSBudW1iZXIgb2YgaWRlbnRpZmllcnMgcmF0aGVyIHRoYW5cbiAqIG1hdGNoaW5nIHRoZSB3b3JkcyBgdHlwZWAgb3IgYGFzYC4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGJlY2F1c2VcbiAqIGB0eXBlYCBhbmQgYGFzYCBjb3VsZCBlYWNoIGFjdHVhbGx5IGJlIHBsYWluIGlkZW50aWZpZXJzIHJhdGhlciB0aGFuXG4gKiBrZXl3b3Jkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VJbXBvcnRTcGVjaWZpZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBpZiAobWF0Y2godHQuY29tbWEpIHx8IG1hdGNoKHR0LmJyYWNlUikpIHtcbiAgICAvLyBpbXBvcnQge2Zvb31cbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuSW1wb3J0RGVjbGFyYXRpb247XG4gICAgcmV0dXJuO1xuICB9XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBpZiAobWF0Y2godHQuY29tbWEpIHx8IG1hdGNoKHR0LmJyYWNlUikpIHtcbiAgICAvLyBpbXBvcnQge3R5cGUgZm9vfVxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5JbXBvcnREZWNsYXJhdGlvbjtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDJdLmlzVHlwZSA9IHRydWU7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc1R5cGUgPSB0cnVlO1xuICAgIHJldHVybjtcbiAgfVxuICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgaWYgKG1hdGNoKHR0LmNvbW1hKSB8fCBtYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgLy8gaW1wb3J0IHtmb28gYXMgYmFyfVxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gM10uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5JbXBvcnRBY2Nlc3M7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLkltcG9ydERlY2xhcmF0aW9uO1xuICAgIHJldHVybjtcbiAgfVxuICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgLy8gaW1wb3J0IHt0eXBlIGZvbyBhcyBiYXJ9XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gM10uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5JbXBvcnRBY2Nlc3M7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5JbXBvcnREZWNsYXJhdGlvbjtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSA0XS5pc1R5cGUgPSB0cnVlO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDNdLmlzVHlwZSA9IHRydWU7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMl0uaXNUeXBlID0gdHJ1ZTtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc1R5cGUgPSB0cnVlO1xufVxuXG4vKipcbiAqIEp1c3QgbGlrZSBuYW1lZCBpbXBvcnQgc3BlY2lmaWVycywgZXhwb3J0IHNwZWNpZmllcnMgY2FuIGhhdmUgZnJvbSAxIHRvIDRcbiAqIHRva2VucywgaW5jbHVzaXZlLCBhbmQgdGhlIG51bWJlciBvZiB0b2tlbnMgZGV0ZXJtaW5lcyB0aGUgcm9sZSBvZiBlYWNoIHRva2VuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZUV4cG9ydFNwZWNpZmllcigpIHtcbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmIChtYXRjaCh0dC5jb21tYSkgfHwgbWF0Y2godHQuYnJhY2VSKSkge1xuICAgIC8vIGV4cG9ydCB7Zm9vfVxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5FeHBvcnRBY2Nlc3M7XG4gICAgcmV0dXJuO1xuICB9XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBpZiAobWF0Y2godHQuY29tbWEpIHx8IG1hdGNoKHR0LmJyYWNlUikpIHtcbiAgICAvLyBleHBvcnQge3R5cGUgZm9vfVxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5FeHBvcnRBY2Nlc3M7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAyXS5pc1R5cGUgPSB0cnVlO1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaXNUeXBlID0gdHJ1ZTtcbiAgICByZXR1cm47XG4gIH1cbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmIChtYXRjaCh0dC5jb21tYSkgfHwgbWF0Y2godHQuYnJhY2VSKSkge1xuICAgIC8vIGV4cG9ydCB7Zm9vIGFzIGJhcn1cbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDNdLmlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuRXhwb3J0QWNjZXNzO1xuICAgIHJldHVybjtcbiAgfVxuICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgLy8gZXhwb3J0IHt0eXBlIGZvbyBhcyBiYXJ9XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gM10uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5FeHBvcnRBY2Nlc3M7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gNF0uaXNUeXBlID0gdHJ1ZTtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAzXS5pc1R5cGUgPSB0cnVlO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDJdLmlzVHlwZSA9IHRydWU7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaXNUeXBlID0gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzVHJ5UGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbigpIHtcbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYWJzdHJhY3QpICYmIGxvb2thaGVhZFR5cGUoKSA9PT0gdHQuX2NsYXNzKSB7XG4gICAgc3RhdGUudHlwZSA9IHR0Ll9hYnN0cmFjdDtcbiAgICBuZXh0KCk7IC8vIFNraXAgXCJhYnN0cmFjdFwiXG4gICAgcGFyc2VDbGFzcyh0cnVlLCB0cnVlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpKSB7XG4gICAgLy8gTWFrZSBzdXJlIFwiZXhwb3J0IGRlZmF1bHRcIiBhcmUgY29uc2lkZXJlZCB0eXBlIHRva2VucyBzbyB0aGUgd2hvbGUgdGhpbmcgaXMgcmVtb3ZlZC5cbiAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMik7XG4gICAgdHNQYXJzZURlY2xhcmF0aW9uKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UsIHRydWUpO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNUcnlQYXJzZVN0YXRlbWVudENvbnRlbnQoKSB7XG4gIGlmIChzdGF0ZS50eXBlID09PSB0dC5fY29uc3QpIHtcbiAgICBjb25zdCBhaGVhZCA9IGxvb2thaGVhZFR5cGVBbmRLZXl3b3JkKCk7XG4gICAgaWYgKGFoZWFkLnR5cGUgPT09IHR0Lm5hbWUgJiYgYWhlYWQuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9lbnVtKSB7XG4gICAgICBleHBlY3QodHQuX2NvbnN0KTtcbiAgICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2VudW0pO1xuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2VudW07XG4gICAgICB0c1BhcnNlRW51bURlY2xhcmF0aW9uKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNUcnlQYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKGlzU3RhdGljKSB7XG4gIGNvbnN0IG1lbWJlclN0YXJ0SW5kZXhBZnRlclN0YXRpYyA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHRzUGFyc2VNb2RpZmllcnMoW1xuICAgIENvbnRleHR1YWxLZXl3b3JkLl9hYnN0cmFjdCxcbiAgICBDb250ZXh0dWFsS2V5d29yZC5fcmVhZG9ubHksXG4gICAgQ29udGV4dHVhbEtleXdvcmQuX2RlY2xhcmUsXG4gICAgQ29udGV4dHVhbEtleXdvcmQuX3N0YXRpYyxcbiAgICBDb250ZXh0dWFsS2V5d29yZC5fb3ZlcnJpZGUsXG4gIF0pO1xuXG4gIGNvbnN0IG1vZGlmaWVyc0VuZEluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgY29uc3QgZm91bmQgPSB0c1RyeVBhcnNlSW5kZXhTaWduYXR1cmUoKTtcbiAgaWYgKGZvdW5kKSB7XG4gICAgLy8gSW5kZXggc2lnbmF0dXJlcyBhcmUgdHlwZSBkZWNsYXJhdGlvbnMsIHNvIHNldCB0aGUgbW9kaWZpZXIgdG9rZW5zIGFzXG4gICAgLy8gdHlwZSB0b2tlbnMuIE1vc3QgdG9rZW5zIGNvdWxkIGJlIGFzc3VtZWQgdG8gYmUgdHlwZSB0b2tlbnMsIGJ1dCBgc3RhdGljYFxuICAgIC8vIGlzIGFtYmlndW91cyB1bmxlc3Mgd2Ugc2V0IGl0IGV4cGxpY2l0bHkgaGVyZS5cbiAgICBjb25zdCBtZW1iZXJTdGFydEluZGV4ID0gaXNTdGF0aWNcbiAgICAgID8gbWVtYmVyU3RhcnRJbmRleEFmdGVyU3RhdGljIC0gMVxuICAgICAgOiBtZW1iZXJTdGFydEluZGV4QWZ0ZXJTdGF0aWM7XG4gICAgZm9yIChsZXQgaSA9IG1lbWJlclN0YXJ0SW5kZXg7IGkgPCBtb2RpZmllcnNFbmRJbmRleDsgaSsrKSB7XG4gICAgICBzdGF0ZS50b2tlbnNbaV0uaXNUeXBlID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBOb3RlOiBUaGUgcmVhc29uIHdlIGRvIHRoaXMgaW4gYHBhcnNlSWRlbnRpZmllclN0YXRlbWVudGAgYW5kIG5vdCBgcGFyc2VTdGF0ZW1lbnRgXG4vLyBpcyB0aGF0IGUuZy4gYHR5cGUoKWAgaXMgdmFsaWQgSlMsIHNvIHdlIG11c3QgdHJ5IHBhcnNpbmcgdGhhdCBmaXJzdC5cbi8vIElmIGl0J3MgcmVhbGx5IGEgdHlwZSwgd2Ugd2lsbCBwYXJzZSBgdHlwZWAgYXMgdGhlIHN0YXRlbWVudCwgYW5kIGNhbiBjb3JyZWN0IGl0IGhlcmVcbi8vIGJ5IHBhcnNpbmcgdGhlIHJlc3QuXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZUlkZW50aWZpZXJTdGF0ZW1lbnQoY29udGV4dHVhbEtleXdvcmQpIHtcbiAgY29uc3QgbWF0Y2hlZCA9IHRzUGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGNvbnRleHR1YWxLZXl3b3JkKTtcbiAgaWYgKCFtYXRjaGVkKSB7XG4gICAgc2VtaWNvbG9uKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpIHtcbiAgLy8gXCJleHBvcnQgZGVjbGFyZVwiIGlzIGVxdWl2YWxlbnQgdG8ganVzdCBcImV4cG9ydFwiLlxuICBjb25zdCBpc0RlY2xhcmUgPSBlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9kZWNsYXJlKTtcbiAgaWYgKGlzRGVjbGFyZSkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9kZWNsYXJlO1xuICB9XG5cbiAgbGV0IG1hdGNoZWREZWNsYXJhdGlvbiA9IGZhbHNlO1xuICBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICBpZiAoaXNEZWNsYXJlKSB7XG4gICAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMik7XG4gICAgICBtYXRjaGVkRGVjbGFyYXRpb24gPSB0c1RyeVBhcnNlRXhwb3J0RGVjbGFyYXRpb24oKTtcbiAgICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1hdGNoZWREZWNsYXJhdGlvbiA9IHRzVHJ5UGFyc2VFeHBvcnREZWNsYXJhdGlvbigpO1xuICAgIH1cbiAgfVxuICBpZiAoIW1hdGNoZWREZWNsYXJhdGlvbikge1xuICAgIGlmIChpc0RlY2xhcmUpIHtcbiAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgyKTtcbiAgICAgIHBhcnNlU3RhdGVtZW50KHRydWUpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VTdGF0ZW1lbnQodHJ1ZSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c0FmdGVyUGFyc2VDbGFzc1N1cGVyKGhhc1N1cGVyKSB7XG4gIGlmIChoYXNTdXBlciAmJiAobWF0Y2godHQubGVzc1RoYW4pIHx8IG1hdGNoKHR0LmJpdFNoaWZ0TCkpKSB7XG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHNXaXRoUG9zc2libGVCaXRzaGlmdCgpO1xuICB9XG4gIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbXBsZW1lbnRzKSkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0udHlwZSA9IHR0Ll9pbXBsZW1lbnRzO1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICB0c1BhcnNlSGVyaXRhZ2VDbGF1c2UoKTtcbiAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1N0YXJ0UGFyc2VPYmpQcm9wVmFsdWUoKSB7XG4gIHRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNTdGFydFBhcnNlRnVuY3Rpb25QYXJhbXMoKSB7XG4gIHRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycygpO1xufVxuXG4vLyBgbGV0IHg6IG51bWJlcjtgXG5leHBvcnQgZnVuY3Rpb24gdHNBZnRlclBhcnNlVmFySGVhZCgpIHtcbiAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICBpZiAoIWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSB7XG4gICAgZWF0KHR0LmJhbmcpO1xuICB9XG4gIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xufVxuXG4vLyBwYXJzZSB0aGUgcmV0dXJuIHR5cGUgb2YgYW4gYXN5bmMgYXJyb3cgZnVuY3Rpb24gLSBsZXQgZm9vID0gKGFzeW5jICgpOiBudW1iZXIgPT4ge30pO1xuZXhwb3J0IGZ1bmN0aW9uIHRzU3RhcnRQYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oKSB7XG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICB0c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgfVxufVxuXG4vLyBSZXR1cm5zIHRydWUgaWYgdGhlIGV4cHJlc3Npb24gd2FzIGFuIGFycm93IGZ1bmN0aW9uLlxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VNYXliZUFzc2lnbihub0luLCBpc1dpdGhpblBhcmVucykge1xuICAvLyBOb3RlOiBXaGVuIHRoZSBKU1ggcGx1Z2luIGlzIG9uLCB0eXBlIGFzc2VydGlvbnMgKGA8VD4geGApIGFyZW4ndCB2YWxpZCBzeW50YXguXG4gIGlmIChpc0pTWEVuYWJsZWQpIHtcbiAgICByZXR1cm4gdHNQYXJzZU1heWJlQXNzaWduV2l0aEpTWChub0luLCBpc1dpdGhpblBhcmVucyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRzUGFyc2VNYXliZUFzc2lnbldpdGhvdXRKU1gobm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0c1BhcnNlTWF5YmVBc3NpZ25XaXRoSlNYKG5vSW4sIGlzV2l0aGluUGFyZW5zKSB7XG4gIGlmICghbWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgcmV0dXJuIGJhc2VQYXJzZU1heWJlQXNzaWduKG5vSW4sIGlzV2l0aGluUGFyZW5zKTtcbiAgfVxuXG4gIC8vIFByZWZlciB0byBwYXJzZSBKU1ggaWYgcG9zc2libGUuIEJ1dCBtYXkgYmUgYW4gYXJyb3cgZm4uXG4gIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgbGV0IHdhc0Fycm93ID0gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gd2FzQXJyb3c7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHRyeSBhcyB0eXBlLXBhcmFtZXRlcml6ZWQgYXJyb3cgZnVuY3Rpb24uXG4gIHN0YXRlLnR5cGUgPSB0dC50eXBlUGFyYW1ldGVyU3RhcnQ7XG4gIC8vIFRoaXMgaXMgc2ltaWxhciB0byBUeXBlU2NyaXB0J3MgYHRyeVBhcnNlUGFyZW50aGVzaXplZEFycm93RnVuY3Rpb25FeHByZXNzaW9uYC5cbiAgdHNQYXJzZVR5cGVQYXJhbWV0ZXJzKCk7XG4gIHdhc0Fycm93ID0gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICBpZiAoIXdhc0Fycm93KSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG5cbiAgcmV0dXJuIHdhc0Fycm93O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHNQYXJzZU1heWJlQXNzaWduV2l0aG91dEpTWChub0luLCBpc1dpdGhpblBhcmVucykge1xuICBpZiAoIW1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIHJldHVybiBiYXNlUGFyc2VNYXliZUFzc2lnbihub0luLCBpc1dpdGhpblBhcmVucyk7XG4gIH1cblxuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG4gIC8vIFRoaXMgaXMgc2ltaWxhciB0byBUeXBlU2NyaXB0J3MgYHRyeVBhcnNlUGFyZW50aGVzaXplZEFycm93RnVuY3Rpb25FeHByZXNzaW9uYC5cbiAgdHNQYXJzZVR5cGVQYXJhbWV0ZXJzKCk7XG4gIGNvbnN0IHdhc0Fycm93ID0gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICBpZiAoIXdhc0Fycm93KSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG4gIGlmIChzdGF0ZS5lcnJvcikge1xuICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB3YXNBcnJvdztcbiAgfVxuXG4gIC8vIFRyeSBwYXJzaW5nIGEgdHlwZSBjYXN0IGluc3RlYWQgb2YgYW4gYXJyb3cgZnVuY3Rpb24uXG4gIC8vIFRoaXMgd2lsbCBzdGFydCB3aXRoIGEgdHlwZSBhc3NlcnRpb24gKHZpYSBwYXJzZU1heWJlVW5hcnkpLlxuICAvLyBCdXQgZG9uJ3QgZGlyZWN0bHkgY2FsbCBgdHNQYXJzZVR5cGVBc3NlcnRpb25gIGJlY2F1c2Ugd2Ugd2FudCB0byBoYW5kbGUgYW55IGJpbmFyeSBhZnRlciBpdC5cbiAgcmV0dXJuIGJhc2VQYXJzZU1heWJlQXNzaWduKG5vSW4sIGlzV2l0aGluUGFyZW5zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VBcnJvdygpIHtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIC8vIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gaG93IHRoZSBUUyBwYXJzZXIgZG9lcyBpdC5cbiAgICAvLyBUUyB1c2VzIGxvb2thaGVhZC4gQmFieWxvbiBwYXJzZXMgaXQgYXMgYSBwYXJlbnRoZXNpemVkIGV4cHJlc3Npb24gYW5kIGNvbnZlcnRzLlxuICAgIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcblxuICAgIHRzUGFyc2VUeXBlT3JUeXBlUHJlZGljYXRlQW5ub3RhdGlvbih0dC5jb2xvbik7XG4gICAgaWYgKGNhbkluc2VydFNlbWljb2xvbigpKSB1bmV4cGVjdGVkKCk7XG4gICAgaWYgKCFtYXRjaCh0dC5hcnJvdykpIHVuZXhwZWN0ZWQoKTtcblxuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBlYXQodHQuYXJyb3cpO1xufVxuXG4vLyBBbGxvdyB0eXBlIGFubm90YXRpb25zIGluc2lkZSBvZiBhIHBhcmFtZXRlciBsaXN0LlxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW1UeXBlcygpIHtcbiAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICBlYXQodHQucXVlc3Rpb24pO1xuICB0c1RyeVBhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRzUGFyc2VNYXliZURlY29yYXRvckFyZ3VtZW50cygpIHtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSB8fCBtYXRjaCh0dC5iaXRTaGlmdEwpKSB7XG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHNXaXRoUG9zc2libGVCaXRzaGlmdCgpO1xuICB9XG4gIGJhc2VQYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgZWF0LFxuICBmaW5pc2hUb2tlbixcbiAgZ2V0VG9rZW5Gcm9tQ29kZSxcbiAgSWRlbnRpZmllclJvbGUsXG4gIEpTWFJvbGUsXG4gIG1hdGNoLFxuICBuZXh0LFxuICBza2lwU3BhY2UsXG4gIFRva2VuLFxufSBmcm9tIFwiLi4vLi4vdG9rZW5pemVyL2luZGV4XCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uLy4uL3Rva2VuaXplci90eXBlc1wiO1xuaW1wb3J0IHtpbnB1dCwgaXNUeXBlU2NyaXB0RW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuLi8uLi90cmF2ZXJzZXIvYmFzZVwiO1xuaW1wb3J0IHtwYXJzZUV4cHJlc3Npb24sIHBhcnNlTWF5YmVBc3NpZ259IGZyb20gXCIuLi8uLi90cmF2ZXJzZXIvZXhwcmVzc2lvblwiO1xuaW1wb3J0IHtleHBlY3QsIHVuZXhwZWN0ZWR9IGZyb20gXCIuLi8uLi90cmF2ZXJzZXIvdXRpbFwiO1xuaW1wb3J0IHtjaGFyQ29kZXN9IGZyb20gXCIuLi8uLi91dGlsL2NoYXJjb2Rlc1wiO1xuaW1wb3J0IHtJU19JREVOVElGSUVSX0NIQVIsIElTX0lERU5USUZJRVJfU1RBUlR9IGZyb20gXCIuLi8uLi91dGlsL2lkZW50aWZpZXJcIjtcbmltcG9ydCB7dHNUcnlQYXJzZUpTWFR5cGVBcmd1bWVudH0gZnJvbSBcIi4uL3R5cGVzY3JpcHRcIjtcblxuLyoqXG4gKiBSZWFkIHRva2VuIHdpdGggSlNYIGNvbnRlbnRzLlxuICpcbiAqIEluIGFkZGl0aW9uIHRvIGRldGVjdGluZyBqc3hUYWdTdGFydCBhbmQgYWxzbyByZWd1bGFyIHRva2VucyB0aGF0IG1pZ2h0IGJlXG4gKiBwYXJ0IG9mIGFuIGV4cHJlc3Npb24sIHRoaXMgY29kZSBkZXRlY3RzIHRoZSBzdGFydCBhbmQgZW5kIG9mIHRleHQgcmFuZ2VzXG4gKiB3aXRoaW4gSlNYIGNoaWxkcmVuLiBJbiBvcmRlciB0byBwcm9wZXJseSBjb3VudCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuLCB3ZVxuICogZGlzdGluZ3Vpc2gganN4VGV4dCBmcm9tIGpzeEVtcHR5VGV4dCwgd2hpY2ggaXMgYSB0ZXh0IHJhbmdlIHRoYXQgc2ltcGxpZmllc1xuICogdG8gdGhlIGVtcHR5IHN0cmluZyBhZnRlciBKU1ggd2hpdGVzcGFjZSB0cmltbWluZy5cbiAqXG4gKiBJdCB0dXJucyBvdXQgdGhhdCBhIEpTWCB0ZXh0IHJhbmdlIHdpbGwgc2ltcGxpZnkgdG8gdGhlIGVtcHR5IHN0cmluZyBpZiBhbmRcbiAqIG9ubHkgaWYgYm90aCBvZiB0aGVzZSBjb25kaXRpb25zIGhvbGQ6XG4gKiAtIFRoZSByYW5nZSBjb25zaXN0cyBlbnRpcmVseSBvZiB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgKG9ubHkgY291bnRpbmcgc3BhY2UsXG4gKiAgIHRhYiwgXFxyLCBhbmQgXFxuKS5cbiAqIC0gVGhlIHJhbmdlIGhhcyBhdCBsZWFzdCBvbmUgbmV3bGluZS5cbiAqIFRoaXMgY2FuIGJlIHByb3ZlbiBieSBhbmFseXppbmcgYW55IGltcGxlbWVudGF0aW9uIG9mIHdoaXRlc3BhY2UgdHJpbW1pbmcsXG4gKiBlLmcuIGZvcm1hdEpTWFRleHRMaXRlcmFsIGluIFN1Y3Jhc2Ugb3IgY2xlYW5KU1hFbGVtZW50TGl0ZXJhbENoaWxkIGluIEJhYmVsLlxuICovXG5mdW5jdGlvbiBqc3hSZWFkVG9rZW4oKSB7XG4gIGxldCBzYXdOZXdsaW5lID0gZmFsc2U7XG4gIGxldCBzYXdOb25XaGl0ZXNwYWNlID0gZmFsc2U7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHVuZXhwZWN0ZWQoXCJVbnRlcm1pbmF0ZWQgSlNYIGNvbnRlbnRzXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChjaCA9PT0gY2hhckNvZGVzLmxlc3NUaGFuIHx8IGNoID09PSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2UpIHtcbiAgICAgIGlmIChzdGF0ZS5wb3MgPT09IHN0YXRlLnN0YXJ0KSB7XG4gICAgICAgIGlmIChjaCA9PT0gY2hhckNvZGVzLmxlc3NUaGFuKSB7XG4gICAgICAgICAgc3RhdGUucG9zKys7XG4gICAgICAgICAgZmluaXNoVG9rZW4odHQuanN4VGFnU3RhcnQpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBnZXRUb2tlbkZyb21Db2RlKGNoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHNhd05ld2xpbmUgJiYgIXNhd05vbldoaXRlc3BhY2UpIHtcbiAgICAgICAgZmluaXNoVG9rZW4odHQuanN4RW1wdHlUZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbmlzaFRva2VuKHR0LmpzeFRleHQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgcGFydCBvZiBKU1ggdGV4dC5cbiAgICBpZiAoY2ggPT09IGNoYXJDb2Rlcy5saW5lRmVlZCkge1xuICAgICAgc2F3TmV3bGluZSA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChjaCAhPT0gY2hhckNvZGVzLnNwYWNlICYmIGNoICE9PSBjaGFyQ29kZXMuY2FycmlhZ2VSZXR1cm4gJiYgY2ggIT09IGNoYXJDb2Rlcy50YWIpIHtcbiAgICAgIHNhd05vbldoaXRlc3BhY2UgPSB0cnVlO1xuICAgIH1cbiAgICBzdGF0ZS5wb3MrKztcbiAgfVxufVxuXG5mdW5jdGlvbiBqc3hSZWFkU3RyaW5nKHF1b3RlKSB7XG4gIHN0YXRlLnBvcysrO1xuICBmb3IgKDs7KSB7XG4gICAgaWYgKHN0YXRlLnBvcyA+PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgIHVuZXhwZWN0ZWQoXCJVbnRlcm1pbmF0ZWQgc3RyaW5nIGNvbnN0YW50XCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNoID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuICAgIGlmIChjaCA9PT0gcXVvdGUpIHtcbiAgICAgIHN0YXRlLnBvcysrO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHN0YXRlLnBvcysrO1xuICB9XG4gIGZpbmlzaFRva2VuKHR0LnN0cmluZyk7XG59XG5cbi8vIFJlYWQgYSBKU1ggaWRlbnRpZmllciAodmFsaWQgdGFnIG9yIGF0dHJpYnV0ZSBuYW1lKS5cbi8vXG4vLyBPcHRpbWl6ZWQgdmVyc2lvbiBzaW5jZSBKU1ggaWRlbnRpZmllcnMgY2FuJ3QgY29udGFpblxuLy8gZXNjYXBlIGNoYXJhY3RlcnMgYW5kIHNvIGNhbiBiZSByZWFkIGFzIHNpbmdsZSBzbGljZS5cbi8vIEFsc28gYXNzdW1lcyB0aGF0IGZpcnN0IGNoYXJhY3RlciB3YXMgYWxyZWFkeSBjaGVja2VkXG4vLyBieSBpc0lkZW50aWZpZXJTdGFydCBpbiByZWFkVG9rZW4uXG5cbmZ1bmN0aW9uIGpzeFJlYWRXb3JkKCkge1xuICBsZXQgY2g7XG4gIGRvIHtcbiAgICBpZiAoc3RhdGUucG9zID4gaW5wdXQubGVuZ3RoKSB7XG4gICAgICB1bmV4cGVjdGVkKFwiVW5leHBlY3RlZGx5IHJlYWNoZWQgdGhlIGVuZCBvZiBpbnB1dC5cIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNoID0gaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvcyk7XG4gIH0gd2hpbGUgKElTX0lERU5USUZJRVJfQ0hBUltjaF0gfHwgY2ggPT09IGNoYXJDb2Rlcy5kYXNoKTtcbiAgZmluaXNoVG9rZW4odHQuanN4TmFtZSk7XG59XG5cbi8vIFBhcnNlIG5leHQgdG9rZW4gYXMgSlNYIGlkZW50aWZpZXJcbmZ1bmN0aW9uIGpzeFBhcnNlSWRlbnRpZmllcigpIHtcbiAgbmV4dEpTWFRhZ1Rva2VuKCk7XG59XG5cbi8vIFBhcnNlIG5hbWVzcGFjZWQgaWRlbnRpZmllci5cbmZ1bmN0aW9uIGpzeFBhcnNlTmFtZXNwYWNlZE5hbWUoaWRlbnRpZmllclJvbGUpIHtcbiAganN4UGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmICghZWF0KHR0LmNvbG9uKSkge1xuICAgIC8vIFBsYWluIGlkZW50aWZpZXIsIHNvIHRoaXMgaXMgYW4gYWNjZXNzLlxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBpZGVudGlmaWVyUm9sZTtcbiAgICByZXR1cm47XG4gIH1cbiAgLy8gUHJvY2VzcyB0aGUgc2Vjb25kIGhhbGYgb2YgdGhlIG5hbWVzcGFjZWQgbmFtZS5cbiAganN4UGFyc2VJZGVudGlmaWVyKCk7XG59XG5cbi8vIFBhcnNlcyBlbGVtZW50IG5hbWUgaW4gYW55IGZvcm0gLSBuYW1lc3BhY2VkLCBtZW1iZXJcbi8vIG9yIHNpbmdsZSBpZGVudGlmaWVyLlxuZnVuY3Rpb24ganN4UGFyc2VFbGVtZW50TmFtZSgpIHtcbiAgY29uc3QgZmlyc3RUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAganN4UGFyc2VOYW1lc3BhY2VkTmFtZShJZGVudGlmaWVyUm9sZS5BY2Nlc3MpO1xuICBsZXQgaGFkRG90ID0gZmFsc2U7XG4gIHdoaWxlIChtYXRjaCh0dC5kb3QpKSB7XG4gICAgaGFkRG90ID0gdHJ1ZTtcbiAgICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAgICBqc3hQYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxuICAvLyBGb3IgdGFncyBsaWtlIDxkaXY+IHdpdGggYSBsb3dlcmNhc2UgbGV0dGVyIGFuZCBubyBkb3RzLCB0aGUgbmFtZSBpc1xuICAvLyBhY3R1YWxseSAqbm90KiBhbiBpZGVudGlmaWVyIGFjY2Vzcywgc2luY2UgaXQncyByZWZlcnJpbmcgdG8gYSBidWlsdC1pblxuICAvLyB0YWcgbmFtZS4gUmVtb3ZlIHRoZSBpZGVudGlmaWVyIHJvbGUgaW4gdGhpcyBjYXNlIHNvIHRoYXQgaXQncyBub3RcbiAgLy8gYWNjaWRlbnRhbGx5IHRyYW5zZm9ybWVkIGJ5IHRoZSBpbXBvcnRzIHRyYW5zZm9ybSB3aGVuIHByZXNlcnZpbmcgSlNYLlxuICBpZiAoIWhhZERvdCkge1xuICAgIGNvbnN0IGZpcnN0VG9rZW4gPSBzdGF0ZS50b2tlbnNbZmlyc3RUb2tlbkluZGV4XTtcbiAgICBjb25zdCBmaXJzdENoYXIgPSBpbnB1dC5jaGFyQ29kZUF0KGZpcnN0VG9rZW4uc3RhcnQpO1xuICAgIGlmIChmaXJzdENoYXIgPj0gY2hhckNvZGVzLmxvd2VyY2FzZUEgJiYgZmlyc3RDaGFyIDw9IGNoYXJDb2Rlcy5sb3dlcmNhc2VaKSB7XG4gICAgICBmaXJzdFRva2VuLmlkZW50aWZpZXJSb2xlID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFyc2VzIGFueSB0eXBlIG9mIEpTWCBhdHRyaWJ1dGUgdmFsdWUuXG5mdW5jdGlvbiBqc3hQYXJzZUF0dHJpYnV0ZVZhbHVlKCkge1xuICBzd2l0Y2ggKHN0YXRlLnR5cGUpIHtcbiAgICBjYXNlIHR0LmJyYWNlTDpcbiAgICAgIG5leHQoKTtcbiAgICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgbmV4dEpTWFRhZ1Rva2VuKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0LmpzeFRhZ1N0YXJ0OlxuICAgICAganN4UGFyc2VFbGVtZW50KCk7XG4gICAgICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgdHQuc3RyaW5nOlxuICAgICAgbmV4dEpTWFRhZ1Rva2VuKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdW5leHBlY3RlZChcIkpTWCB2YWx1ZSBzaG91bGQgYmUgZWl0aGVyIGFuIGV4cHJlc3Npb24gb3IgYSBxdW90ZWQgSlNYIHRleHRcIik7XG4gIH1cbn1cblxuLy8gUGFyc2UgSlNYIHNwcmVhZCBjaGlsZCwgYWZ0ZXIgYWxyZWFkeSBwcm9jZXNzaW5nIHRoZSB7XG4vLyBEb2VzIG5vdCBwYXJzZSB0aGUgY2xvc2luZyB9XG5mdW5jdGlvbiBqc3hQYXJzZVNwcmVhZENoaWxkKCkge1xuICBleHBlY3QodHQuZWxsaXBzaXMpO1xuICBwYXJzZUV4cHJlc3Npb24oKTtcbn1cblxuLy8gUGFyc2VzIEpTWCBvcGVuaW5nIHRhZyBzdGFydGluZyBhZnRlciBcIjxcIi5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgdGFnIHdhcyBzZWxmLWNsb3NpbmcuXG4vLyBEb2VzIG5vdCBwYXJzZSB0aGUgbGFzdCB0b2tlbi5cbmZ1bmN0aW9uIGpzeFBhcnNlT3BlbmluZ0VsZW1lbnQoaW5pdGlhbFRva2VuSW5kZXgpIHtcbiAgaWYgKG1hdGNoKHR0LmpzeFRhZ0VuZCkpIHtcbiAgICAvLyBUaGlzIGlzIGFuIG9wZW4tZnJhZ21lbnQuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGpzeFBhcnNlRWxlbWVudE5hbWUoKTtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c1RyeVBhcnNlSlNYVHlwZUFyZ3VtZW50KCk7XG4gIH1cbiAgbGV0IGhhc1NlZW5Qcm9wU3ByZWFkID0gZmFsc2U7XG4gIHdoaWxlICghbWF0Y2godHQuc2xhc2gpICYmICFtYXRjaCh0dC5qc3hUYWdFbmQpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGlmIChlYXQodHQuYnJhY2VMKSkge1xuICAgICAgaGFzU2VlblByb3BTcHJlYWQgPSB0cnVlO1xuICAgICAgZXhwZWN0KHR0LmVsbGlwc2lzKTtcbiAgICAgIHBhcnNlTWF5YmVBc3NpZ24oKTtcbiAgICAgIC8vIH1cbiAgICAgIG5leHRKU1hUYWdUb2tlbigpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGhhc1NlZW5Qcm9wU3ByZWFkICYmXG4gICAgICBzdGF0ZS5lbmQgLSBzdGF0ZS5zdGFydCA9PT0gMyAmJlxuICAgICAgaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5zdGFydCkgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VLICYmXG4gICAgICBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnN0YXJ0ICsgMSkgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VFICYmXG4gICAgICBpbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnN0YXJ0ICsgMikgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VZXG4gICAgKSB7XG4gICAgICBzdGF0ZS50b2tlbnNbaW5pdGlhbFRva2VuSW5kZXhdLmpzeFJvbGUgPSBKU1hSb2xlLktleUFmdGVyUHJvcFNwcmVhZDtcbiAgICB9XG4gICAganN4UGFyc2VOYW1lc3BhY2VkTmFtZShJZGVudGlmaWVyUm9sZS5PYmplY3RLZXkpO1xuICAgIGlmIChtYXRjaCh0dC5lcSkpIHtcbiAgICAgIG5leHRKU1hUYWdUb2tlbigpO1xuICAgICAganN4UGFyc2VBdHRyaWJ1dGVWYWx1ZSgpO1xuICAgIH1cbiAgfVxuICBjb25zdCBpc1NlbGZDbG9zaW5nID0gbWF0Y2godHQuc2xhc2gpO1xuICBpZiAoaXNTZWxmQ2xvc2luZykge1xuICAgIC8vIC9cbiAgICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAgfVxuICByZXR1cm4gaXNTZWxmQ2xvc2luZztcbn1cblxuLy8gUGFyc2VzIEpTWCBjbG9zaW5nIHRhZyBzdGFydGluZyBhZnRlciBcIjwvXCIuXG4vLyBEb2VzIG5vdCBwYXJzZSB0aGUgbGFzdCB0b2tlbi5cbmZ1bmN0aW9uIGpzeFBhcnNlQ2xvc2luZ0VsZW1lbnQoKSB7XG4gIGlmIChtYXRjaCh0dC5qc3hUYWdFbmQpKSB7XG4gICAgLy8gRnJhZ21lbnQgc3ludGF4LCBzbyB3ZSBpbW1lZGlhdGVseSBoYXZlIGEgdGFnIGVuZC5cbiAgICByZXR1cm47XG4gIH1cbiAganN4UGFyc2VFbGVtZW50TmFtZSgpO1xufVxuXG4vLyBQYXJzZXMgZW50aXJlIEpTWCBlbGVtZW50LCBpbmNsdWRpbmcgaXRzIG9wZW5pbmcgdGFnXG4vLyAoc3RhcnRpbmcgYWZ0ZXIgXCI8XCIpLCBhdHRyaWJ1dGVzLCBjb250ZW50cyBhbmQgY2xvc2luZyB0YWcuXG4vLyBEb2VzIG5vdCBwYXJzZSB0aGUgbGFzdCB0b2tlbi5cbmZ1bmN0aW9uIGpzeFBhcnNlRWxlbWVudEF0KCkge1xuICBjb25zdCBpbml0aWFsVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGggLSAxO1xuICBzdGF0ZS50b2tlbnNbaW5pdGlhbFRva2VuSW5kZXhdLmpzeFJvbGUgPSBKU1hSb2xlLk5vQ2hpbGRyZW47XG4gIGxldCBudW1FeHBsaWNpdENoaWxkcmVuID0gMDtcbiAgY29uc3QgaXNTZWxmQ2xvc2luZyA9IGpzeFBhcnNlT3BlbmluZ0VsZW1lbnQoaW5pdGlhbFRva2VuSW5kZXgpO1xuICBpZiAoIWlzU2VsZkNsb3NpbmcpIHtcbiAgICBuZXh0SlNYRXhwclRva2VuKCk7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHN3aXRjaCAoc3RhdGUudHlwZSkge1xuICAgICAgICBjYXNlIHR0LmpzeFRhZ1N0YXJ0OlxuICAgICAgICAgIG5leHRKU1hUYWdUb2tlbigpO1xuICAgICAgICAgIGlmIChtYXRjaCh0dC5zbGFzaCkpIHtcbiAgICAgICAgICAgIG5leHRKU1hUYWdUb2tlbigpO1xuICAgICAgICAgICAganN4UGFyc2VDbG9zaW5nRWxlbWVudCgpO1xuICAgICAgICAgICAgLy8gS2V5IGFmdGVyIHByb3Agc3ByZWFkIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBudW1iZXIgb2YgY2hpbGRyZW4sXG4gICAgICAgICAgICAvLyBzaW5jZSBpdCBtZWFucyB3ZSBzd2l0Y2ggdG8gY3JlYXRlRWxlbWVudCwgd2hpY2ggZG9lc24ndCBjYXJlXG4gICAgICAgICAgICAvLyBhYm91dCBudW1iZXIgb2YgY2hpbGRyZW4uXG4gICAgICAgICAgICBpZiAoc3RhdGUudG9rZW5zW2luaXRpYWxUb2tlbkluZGV4XS5qc3hSb2xlICE9PSBKU1hSb2xlLktleUFmdGVyUHJvcFNwcmVhZCkge1xuICAgICAgICAgICAgICBpZiAobnVtRXhwbGljaXRDaGlsZHJlbiA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHN0YXRlLnRva2Vuc1tpbml0aWFsVG9rZW5JbmRleF0uanN4Um9sZSA9IEpTWFJvbGUuT25lQ2hpbGQ7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAobnVtRXhwbGljaXRDaGlsZHJlbiA+IDEpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS50b2tlbnNbaW5pdGlhbFRva2VuSW5kZXhdLmpzeFJvbGUgPSBKU1hSb2xlLlN0YXRpY0NoaWxkcmVuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIG51bUV4cGxpY2l0Q2hpbGRyZW4rKztcbiAgICAgICAgICBqc3hQYXJzZUVsZW1lbnRBdCgpO1xuICAgICAgICAgIG5leHRKU1hFeHByVG9rZW4oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIHR0LmpzeFRleHQ6XG4gICAgICAgICAgbnVtRXhwbGljaXRDaGlsZHJlbisrO1xuICAgICAgICAgIG5leHRKU1hFeHByVG9rZW4oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIHR0LmpzeEVtcHR5VGV4dDpcbiAgICAgICAgICBuZXh0SlNYRXhwclRva2VuKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSB0dC5icmFjZUw6XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIGlmIChtYXRjaCh0dC5lbGxpcHNpcykpIHtcbiAgICAgICAgICAgIGpzeFBhcnNlU3ByZWFkQ2hpbGQoKTtcbiAgICAgICAgICAgIG5leHRKU1hFeHByVG9rZW4oKTtcbiAgICAgICAgICAgIC8vIFNwcmVhZCBjaGlsZHJlbiBhcmUgYSBtZWNoYW5pc20gdG8gZXhwbGljaXRseSBtYXJrIGNoaWxkcmVuIGFzXG4gICAgICAgICAgICAvLyBzdGF0aWMsIHNvIGNvdW50IGl0IGFzIDIgY2hpbGRyZW4gdG8gc2F0aXNmeSB0aGUgXCJtb3JlIHRoYW4gb25lXG4gICAgICAgICAgICAvLyBjaGlsZFwiIGNvbmRpdGlvbi5cbiAgICAgICAgICAgIG51bUV4cGxpY2l0Q2hpbGRyZW4gKz0gMjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgd2Ugc2VlIHt9LCB0aGlzIGlzIGFuIGVtcHR5IHBzZXVkby1leHByZXNzaW9uIHRoYXQgZG9lc24ndFxuICAgICAgICAgICAgLy8gY291bnQgYXMgYSBjaGlsZC5cbiAgICAgICAgICAgIGlmICghbWF0Y2godHQuYnJhY2VSKSkge1xuICAgICAgICAgICAgICBudW1FeHBsaWNpdENoaWxkcmVuKys7XG4gICAgICAgICAgICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dEpTWEV4cHJUb2tlbigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0IC0gc2hvdWxkIG5ldmVyIGhhcHBlblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHVuZXhwZWN0ZWQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFBhcnNlcyBlbnRpcmUgSlNYIGVsZW1lbnQgZnJvbSBjdXJyZW50IHBvc2l0aW9uLlxuLy8gRG9lcyBub3QgcGFyc2UgdGhlIGxhc3QgdG9rZW4uXG5leHBvcnQgZnVuY3Rpb24ganN4UGFyc2VFbGVtZW50KCkge1xuICBuZXh0SlNYVGFnVG9rZW4oKTtcbiAganN4UGFyc2VFbGVtZW50QXQoKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gT3ZlcnJpZGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0SlNYVGFnVG9rZW4oKSB7XG4gIHN0YXRlLnRva2Vucy5wdXNoKG5ldyBUb2tlbigpKTtcbiAgc2tpcFNwYWNlKCk7XG4gIHN0YXRlLnN0YXJ0ID0gc3RhdGUucG9zO1xuICBjb25zdCBjb2RlID0gaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3MpO1xuXG4gIGlmIChJU19JREVOVElGSUVSX1NUQVJUW2NvZGVdKSB7XG4gICAganN4UmVhZFdvcmQoKTtcbiAgfSBlbHNlIGlmIChjb2RlID09PSBjaGFyQ29kZXMucXVvdGF0aW9uTWFyayB8fCBjb2RlID09PSBjaGFyQ29kZXMuYXBvc3Ryb3BoZSkge1xuICAgIGpzeFJlYWRTdHJpbmcoY29kZSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhlIGZvbGxvd2luZyB0b2tlbnMgYXJlIGp1c3Qgb25lIGNoYXJhY3RlciBlYWNoLlxuICAgICsrc3RhdGUucG9zO1xuICAgIHN3aXRjaCAoY29kZSkge1xuICAgICAgY2FzZSBjaGFyQ29kZXMuZ3JlYXRlclRoYW46XG4gICAgICAgIGZpbmlzaFRva2VuKHR0LmpzeFRhZ0VuZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBjaGFyQ29kZXMubGVzc1RoYW46XG4gICAgICAgIGZpbmlzaFRva2VuKHR0LmpzeFRhZ1N0YXJ0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5zbGFzaDpcbiAgICAgICAgZmluaXNoVG9rZW4odHQuc2xhc2gpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgY2hhckNvZGVzLmVxdWFsc1RvOlxuICAgICAgICBmaW5pc2hUb2tlbih0dC5lcSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2U6XG4gICAgICAgIGZpbmlzaFRva2VuKHR0LmJyYWNlTCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBjaGFyQ29kZXMuZG90OlxuICAgICAgICBmaW5pc2hUb2tlbih0dC5kb3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgY2hhckNvZGVzLmNvbG9uOlxuICAgICAgICBmaW5pc2hUb2tlbih0dC5jb2xvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdW5leHBlY3RlZCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBuZXh0SlNYRXhwclRva2VuKCkge1xuICBzdGF0ZS50b2tlbnMucHVzaChuZXcgVG9rZW4oKSk7XG4gIHN0YXRlLnN0YXJ0ID0gc3RhdGUucG9zO1xuICBqc3hSZWFkVG9rZW4oKTtcbn1cbiIsICJpbXBvcnQge2VhdFR5cGVUb2tlbiwgbG9va2FoZWFkVHlwZSwgbWF0Y2h9IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXhcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQge2lzRmxvd0VuYWJsZWQsIGlzVHlwZVNjcmlwdEVuYWJsZWR9IGZyb20gXCIuLi90cmF2ZXJzZXIvYmFzZVwiO1xuaW1wb3J0IHtiYXNlUGFyc2VDb25kaXRpb25hbH0gZnJvbSBcIi4uL3RyYXZlcnNlci9leHByZXNzaW9uXCI7XG5pbXBvcnQge2Zsb3dQYXJzZVR5cGVBbm5vdGF0aW9ufSBmcm9tIFwiLi9mbG93XCI7XG5pbXBvcnQge3RzUGFyc2VUeXBlQW5ub3RhdGlvbn0gZnJvbSBcIi4vdHlwZXNjcmlwdFwiO1xuXG4vKipcbiAqIENvbW1vbiBwYXJzZXIgY29kZSBmb3IgVHlwZVNjcmlwdCBhbmQgRmxvdy5cbiAqL1xuXG4vLyBBbiBhcHBhcmVudCBjb25kaXRpb25hbCBleHByZXNzaW9uIGNvdWxkIGFjdHVhbGx5IGJlIGFuIG9wdGlvbmFsIHBhcmFtZXRlciBpbiBhbiBhcnJvdyBmdW5jdGlvbi5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlZFBhcnNlQ29uZGl0aW9uYWwobm9Jbikge1xuICAvLyBJZiB3ZSBzZWUgPzosIHRoaXMgY2FuJ3QgcG9zc2libHkgYmUgYSB2YWxpZCBjb25kaXRpb25hbC4gdHlwZWRQYXJzZVBhcmVuSXRlbSB3aWxsIGJlIGNhbGxlZFxuICAvLyBsYXRlciB0byBmaW5pc2ggb2ZmIHRoZSBhcnJvdyBwYXJhbWV0ZXIuIFdlIGFsc28gbmVlZCB0byBoYW5kbGUgYmFyZSA/IHRva2VucyBmb3Igb3B0aW9uYWxcbiAgLy8gcGFyYW1ldGVycyB3aXRob3V0IHR5cGUgYW5ub3RhdGlvbnMsIGkuZS4gPywgYW5kID8pIC5cbiAgaWYgKG1hdGNoKHR0LnF1ZXN0aW9uKSkge1xuICAgIGNvbnN0IG5leHRUeXBlID0gbG9va2FoZWFkVHlwZSgpO1xuICAgIGlmIChuZXh0VHlwZSA9PT0gdHQuY29sb24gfHwgbmV4dFR5cGUgPT09IHR0LmNvbW1hIHx8IG5leHRUeXBlID09PSB0dC5wYXJlblIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbiAgYmFzZVBhcnNlQ29uZGl0aW9uYWwobm9Jbik7XG59XG5cbi8vIE5vdGU6IFRoZXNlIFwidHlwZSBjYXN0c1wiIGFyZSAqbm90KiB2YWxpZCBUUyBleHByZXNzaW9ucy5cbi8vIEJ1dCB3ZSBwYXJzZSB0aGVtIGhlcmUgYW5kIGNoYW5nZSB0aGVtIHdoZW4gY29tcGxldGluZyB0aGUgYXJyb3cgZnVuY3Rpb24uXG5leHBvcnQgZnVuY3Rpb24gdHlwZWRQYXJzZVBhcmVuSXRlbSgpIHtcbiAgZWF0VHlwZVRva2VuKHR0LnF1ZXN0aW9uKTtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgICB0c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICAgIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iLCAiLyogZXNsaW50IG1heC1sZW46IDAgKi9cblxuLy8gQSByZWN1cnNpdmUgZGVzY2VudCBwYXJzZXIgb3BlcmF0ZXMgYnkgZGVmaW5pbmcgZnVuY3Rpb25zIGZvciBhbGxcbi8vIHN5bnRhY3RpYyBlbGVtZW50cywgYW5kIHJlY3Vyc2l2ZWx5IGNhbGxpbmcgdGhvc2UsIGVhY2ggZnVuY3Rpb25cbi8vIGFkdmFuY2luZyB0aGUgaW5wdXQgc3RyZWFtIGFuZCByZXR1cm5pbmcgYW4gQVNUIG5vZGUuIFByZWNlZGVuY2Vcbi8vIG9mIGNvbnN0cnVjdHMgKGZvciBleGFtcGxlLCB0aGUgZmFjdCB0aGF0IGAheFsxXWAgbWVhbnMgYCEoeFsxXSlgXG4vLyBpbnN0ZWFkIG9mIGAoIXgpWzFdYCBpcyBoYW5kbGVkIGJ5IHRoZSBmYWN0IHRoYXQgdGhlIHBhcnNlclxuLy8gZnVuY3Rpb24gdGhhdCBwYXJzZXMgdW5hcnkgcHJlZml4IG9wZXJhdG9ycyBpcyBjYWxsZWQgZmlyc3QsIGFuZFxuLy8gaW4gdHVybiBjYWxscyB0aGUgZnVuY3Rpb24gdGhhdCBwYXJzZXMgYFtdYCBzdWJzY3JpcHRzIFx1MjAxNCB0aGF0XG4vLyB3YXksIGl0J2xsIHJlY2VpdmUgdGhlIG5vZGUgZm9yIGB4WzFdYCBhbHJlYWR5IHBhcnNlZCwgYW5kIHdyYXBzXG4vLyAqdGhhdCogaW4gdGhlIHVuYXJ5IG9wZXJhdG9yIG5vZGUuXG4vL1xuLy8gQWNvcm4gdXNlcyBhbiBbb3BlcmF0b3IgcHJlY2VkZW5jZSBwYXJzZXJdW29wcF0gdG8gaGFuZGxlIGJpbmFyeVxuLy8gb3BlcmF0b3IgcHJlY2VkZW5jZSwgYmVjYXVzZSBpdCBpcyBtdWNoIG1vcmUgY29tcGFjdCB0aGFuIHVzaW5nXG4vLyB0aGUgdGVjaG5pcXVlIG91dGxpbmVkIGFib3ZlLCB3aGljaCB1c2VzIGRpZmZlcmVudCwgbmVzdGluZ1xuLy8gZnVuY3Rpb25zIHRvIHNwZWNpZnkgcHJlY2VkZW5jZSwgZm9yIGFsbCBvZiB0aGUgdGVuIGJpbmFyeVxuLy8gcHJlY2VkZW5jZSBsZXZlbHMgdGhhdCBKYXZhU2NyaXB0IGRlZmluZXMuXG4vL1xuLy8gW29wcF06IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvT3BlcmF0b3ItcHJlY2VkZW5jZV9wYXJzZXJcblxuaW1wb3J0IHtcbiAgZmxvd1BhcnNlQXJyb3csXG4gIGZsb3dQYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaCxcbiAgZmxvd1BhcnNlTWF5YmVBc3NpZ24sXG4gIGZsb3dQYXJzZVN1YnNjcmlwdCxcbiAgZmxvd1BhcnNlU3Vic2NyaXB0cyxcbiAgZmxvd1BhcnNlVmFyaWFuY2UsXG4gIGZsb3dTdGFydFBhcnNlQXN5bmNBcnJvd0Zyb21DYWxsRXhwcmVzc2lvbixcbiAgZmxvd1N0YXJ0UGFyc2VOZXdBcmd1bWVudHMsXG4gIGZsb3dTdGFydFBhcnNlT2JqUHJvcFZhbHVlLFxufSBmcm9tIFwiLi4vcGx1Z2lucy9mbG93XCI7XG5pbXBvcnQge2pzeFBhcnNlRWxlbWVudH0gZnJvbSBcIi4uL3BsdWdpbnMvanN4L2luZGV4XCI7XG5pbXBvcnQge3R5cGVkUGFyc2VDb25kaXRpb25hbCwgdHlwZWRQYXJzZVBhcmVuSXRlbX0gZnJvbSBcIi4uL3BsdWdpbnMvdHlwZXNcIjtcbmltcG9ydCB7XG4gIHRzUGFyc2VBcnJvdyxcbiAgdHNQYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaCxcbiAgdHNQYXJzZU1heWJlQXNzaWduLFxuICB0c1BhcnNlU3Vic2NyaXB0LFxuICB0c1BhcnNlVHlwZSxcbiAgdHNQYXJzZVR5cGVBc3NlcnRpb24sXG4gIHRzU3RhcnRQYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24sXG4gIHRzU3RhcnRQYXJzZU9ialByb3BWYWx1ZSxcbn0gZnJvbSBcIi4uL3BsdWdpbnMvdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHtcbiAgZWF0LFxuICBJZGVudGlmaWVyUm9sZSxcbiAgbG9va2FoZWFkQ2hhckNvZGUsXG4gIGxvb2thaGVhZFR5cGUsXG4gIG1hdGNoLFxuICBuZXh0LFxuICBuZXh0VGVtcGxhdGVUb2tlbixcbiAgcG9wVHlwZUNvbnRleHQsXG4gIHB1c2hUeXBlQ29udGV4dCxcbiAgcmVzY2FuX2d0LFxuICByZXRva2VuaXplU2xhc2hBc1JlZ2V4LFxufSBmcm9tIFwiLi4vdG9rZW5pemVyL2luZGV4XCI7XG5pbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi4vdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Njb3BlfSBmcm9tIFwiLi4vdG9rZW5pemVyL3N0YXRlXCI7XG5pbXBvcnQge1Rva2VuVHlwZSwgVG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQge2NoYXJDb2Rlc30gZnJvbSBcIi4uL3V0aWwvY2hhcmNvZGVzXCI7XG5pbXBvcnQge0lTX0lERU5USUZJRVJfU1RBUlR9IGZyb20gXCIuLi91dGlsL2lkZW50aWZpZXJcIjtcbmltcG9ydCB7Z2V0TmV4dENvbnRleHRJZCwgaXNGbG93RW5hYmxlZCwgaXNKU1hFbmFibGVkLCBpc1R5cGVTY3JpcHRFbmFibGVkLCBzdGF0ZX0gZnJvbSBcIi4vYmFzZVwiO1xuaW1wb3J0IHtcbiAgbWFya1ByaW9yQmluZGluZ0lkZW50aWZpZXIsXG4gIHBhcnNlQmluZGluZ0lkZW50aWZpZXIsXG4gIHBhcnNlTWF5YmVEZWZhdWx0LFxuICBwYXJzZVJlc3QsXG4gIHBhcnNlU3ByZWFkLFxufSBmcm9tIFwiLi9sdmFsXCI7XG5pbXBvcnQge1xuICBwYXJzZUJsb2NrLFxuICBwYXJzZUJsb2NrQm9keSxcbiAgcGFyc2VDbGFzcyxcbiAgcGFyc2VEZWNvcmF0b3JzLFxuICBwYXJzZUZ1bmN0aW9uLFxuICBwYXJzZUZ1bmN0aW9uUGFyYW1zLFxufSBmcm9tIFwiLi9zdGF0ZW1lbnRcIjtcbmltcG9ydCB7XG4gIGNhbkluc2VydFNlbWljb2xvbixcbiAgZWF0Q29udGV4dHVhbCxcbiAgZXhwZWN0LFxuICBleHBlY3RDb250ZXh0dWFsLFxuICBoYXNGb2xsb3dpbmdMaW5lQnJlYWssXG4gIGhhc1ByZWNlZGluZ0xpbmVCcmVhayxcbiAgaXNDb250ZXh0dWFsLFxuICB1bmV4cGVjdGVkLFxufSBmcm9tIFwiLi91dGlsXCI7XG5cbmV4cG9ydCBjbGFzcyBTdG9wU3RhdGUge1xuICBcbiAgY29uc3RydWN0b3Ioc3RvcCkge1xuICAgIHRoaXMuc3RvcCA9IHN0b3A7XG4gIH1cbn1cblxuLy8gIyMjIEV4cHJlc3Npb24gcGFyc2luZ1xuXG4vLyBUaGVzZSBuZXN0LCBmcm9tIHRoZSBtb3N0IGdlbmVyYWwgZXhwcmVzc2lvbiB0eXBlIGF0IHRoZSB0b3AgdG9cbi8vICdhdG9taWMnLCBub25kaXZpc2libGUgZXhwcmVzc2lvbiB0eXBlcyBhdCB0aGUgYm90dG9tLiBNb3N0IG9mXG4vLyB0aGUgZnVuY3Rpb25zIHdpbGwgc2ltcGx5IGxldCB0aGUgZnVuY3Rpb24gKHMpIGJlbG93IHRoZW0gcGFyc2UsXG4vLyBhbmQsICppZiogdGhlIHN5bnRhY3RpYyBjb25zdHJ1Y3QgdGhleSBoYW5kbGUgaXMgcHJlc2VudCwgd3JhcFxuLy8gdGhlIEFTVCBub2RlIHRoYXQgdGhlIGlubmVyIHBhcnNlciBnYXZlIHRoZW0gaW4gYW5vdGhlciBub2RlLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRXhwcmVzc2lvbihub0luID0gZmFsc2UpIHtcbiAgcGFyc2VNYXliZUFzc2lnbihub0luKTtcbiAgaWYgKG1hdGNoKHR0LmNvbW1hKSkge1xuICAgIHdoaWxlIChlYXQodHQuY29tbWEpKSB7XG4gICAgICBwYXJzZU1heWJlQXNzaWduKG5vSW4pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIG5vSW4gaXMgdXNlZCB3aGVuIHBhcnNpbmcgYSBmb3IgbG9vcCBzbyB0aGF0IHdlIGRvbid0IGludGVycHJldCBhIGZvbGxvd2luZyBcImluXCIgYXMgdGhlIGJpbmFyeVxuICogb3BlcmF0aW9yLlxuICogaXNXaXRoaW5QYXJlbnMgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IHdlJ3JlIHBhcnNpbmcgc29tZXRoaW5nIHRoYXQgbWlnaHQgYmUgYSBjb21tYSBleHByZXNzaW9uXG4gKiBvciBtaWdodCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBvciBtaWdodCBiZSBhIEZsb3cgdHlwZSBhc3NlcnRpb24gKHdoaWNoIHJlcXVpcmVzIGV4cGxpY2l0IHBhcmVucykuXG4gKiBJbiB0aGVzZSBjYXNlcywgd2Ugc2hvdWxkIGFsbG93IDogYW5kID86IGFmdGVyIHRoZSBpbml0aWFsIFwibGVmdFwiIHBhcnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1heWJlQXNzaWduKG5vSW4gPSBmYWxzZSwgaXNXaXRoaW5QYXJlbnMgPSBmYWxzZSkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHJldHVybiB0c1BhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICByZXR1cm4gZmxvd1BhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBiYXNlUGFyc2VNYXliZUFzc2lnbihub0luLCBpc1dpdGhpblBhcmVucyk7XG4gIH1cbn1cblxuLy8gUGFyc2UgYW4gYXNzaWdubWVudCBleHByZXNzaW9uLiBUaGlzIGluY2x1ZGVzIGFwcGxpY2F0aW9ucyBvZlxuLy8gb3BlcmF0b3JzIGxpa2UgYCs9YC5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgZXhwcmVzc2lvbiB3YXMgYW4gYXJyb3cgZnVuY3Rpb24uXG5leHBvcnQgZnVuY3Rpb24gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpIHtcbiAgaWYgKG1hdGNoKHR0Ll95aWVsZCkpIHtcbiAgICBwYXJzZVlpZWxkKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKG1hdGNoKHR0LnBhcmVuTCkgfHwgbWF0Y2godHQubmFtZSkgfHwgbWF0Y2godHQuX3lpZWxkKSkge1xuICAgIHN0YXRlLnBvdGVudGlhbEFycm93QXQgPSBzdGF0ZS5zdGFydDtcbiAgfVxuXG4gIGNvbnN0IHdhc0Fycm93ID0gcGFyc2VNYXliZUNvbmRpdGlvbmFsKG5vSW4pO1xuICBpZiAoaXNXaXRoaW5QYXJlbnMpIHtcbiAgICBwYXJzZVBhcmVuSXRlbSgpO1xuICB9XG4gIGlmIChzdGF0ZS50eXBlICYgVG9rZW5UeXBlLklTX0FTU0lHTikge1xuICAgIG5leHQoKTtcbiAgICBwYXJzZU1heWJlQXNzaWduKG5vSW4pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gd2FzQXJyb3c7XG59XG5cbi8vIFBhcnNlIGEgdGVybmFyeSBjb25kaXRpb25hbCAoYD86YCkgb3BlcmF0b3IuXG4vLyBSZXR1cm5zIHRydWUgaWYgdGhlIGV4cHJlc3Npb24gd2FzIGFuIGFycm93IGZ1bmN0aW9uLlxuZnVuY3Rpb24gcGFyc2VNYXliZUNvbmRpdGlvbmFsKG5vSW4pIHtcbiAgY29uc3Qgd2FzQXJyb3cgPSBwYXJzZUV4cHJPcHMobm9Jbik7XG4gIGlmICh3YXNBcnJvdykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHBhcnNlQ29uZGl0aW9uYWwobm9Jbik7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcGFyc2VDb25kaXRpb25hbChub0luKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkIHx8IGlzRmxvd0VuYWJsZWQpIHtcbiAgICB0eXBlZFBhcnNlQ29uZGl0aW9uYWwobm9Jbik7XG4gIH0gZWxzZSB7XG4gICAgYmFzZVBhcnNlQ29uZGl0aW9uYWwobm9Jbik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJhc2VQYXJzZUNvbmRpdGlvbmFsKG5vSW4pIHtcbiAgaWYgKGVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICBwYXJzZU1heWJlQXNzaWduKCk7XG4gICAgZXhwZWN0KHR0LmNvbG9uKTtcbiAgICBwYXJzZU1heWJlQXNzaWduKG5vSW4pO1xuICB9XG59XG5cbi8vIFN0YXJ0IHRoZSBwcmVjZWRlbmNlIHBhcnNlci5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBhcnJvdyBmdW5jdGlvblxuZnVuY3Rpb24gcGFyc2VFeHByT3BzKG5vSW4pIHtcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgY29uc3Qgd2FzQXJyb3cgPSBwYXJzZU1heWJlVW5hcnkoKTtcbiAgaWYgKHdhc0Fycm93KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcGFyc2VFeHByT3Aoc3RhcnRUb2tlbkluZGV4LCAtMSwgbm9Jbik7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLy8gUGFyc2UgYmluYXJ5IG9wZXJhdG9ycyB3aXRoIHRoZSBvcGVyYXRvciBwcmVjZWRlbmNlIHBhcnNpbmdcbi8vIGFsZ29yaXRobS4gYGxlZnRgIGlzIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgb3BlcmF0b3IuXG4vLyBgbWluUHJlY2AgcHJvdmlkZXMgY29udGV4dCB0aGF0IGFsbG93cyB0aGUgZnVuY3Rpb24gdG8gc3RvcCBhbmRcbi8vIGRlZmVyIGZ1cnRoZXIgcGFyc2VyIHRvIG9uZSBvZiBpdHMgY2FsbGVycyB3aGVuIGl0IGVuY291bnRlcnMgYW5cbi8vIG9wZXJhdG9yIHRoYXQgaGFzIGEgbG93ZXIgcHJlY2VkZW5jZSB0aGFuIHRoZSBzZXQgaXQgaXMgcGFyc2luZy5cbmZ1bmN0aW9uIHBhcnNlRXhwck9wKHN0YXJ0VG9rZW5JbmRleCwgbWluUHJlYywgbm9Jbikge1xuICBpZiAoXG4gICAgaXNUeXBlU2NyaXB0RW5hYmxlZCAmJlxuICAgICh0dC5faW4gJiBUb2tlblR5cGUuUFJFQ0VERU5DRV9NQVNLKSA+IG1pblByZWMgJiZcbiAgICAhaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkgJiZcbiAgICAoZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpIHx8IGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3NhdGlzZmllcykpXG4gICkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICB0c1BhcnNlVHlwZSgpO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gICAgcmVzY2FuX2d0KCk7XG4gICAgcGFyc2VFeHByT3Aoc3RhcnRUb2tlbkluZGV4LCBtaW5QcmVjLCBub0luKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBwcmVjID0gc3RhdGUudHlwZSAmIFRva2VuVHlwZS5QUkVDRURFTkNFX01BU0s7XG4gIGlmIChwcmVjID4gMCAmJiAoIW5vSW4gfHwgIW1hdGNoKHR0Ll9pbikpKSB7XG4gICAgaWYgKHByZWMgPiBtaW5QcmVjKSB7XG4gICAgICBjb25zdCBvcCA9IHN0YXRlLnR5cGU7XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAob3AgPT09IHR0Lm51bGxpc2hDb2FsZXNjaW5nKSB7XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0ubnVsbGlzaFN0YXJ0SW5kZXggPSBzdGFydFRva2VuSW5kZXg7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJoc1N0YXJ0VG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gICAgICBwYXJzZU1heWJlVW5hcnkoKTtcbiAgICAgIC8vIEV4dGVuZCB0aGUgcmlnaHQgb3BlcmFuZCBvZiB0aGlzIG9wZXJhdG9yIGlmIHBvc3NpYmxlLlxuICAgICAgcGFyc2VFeHByT3AocmhzU3RhcnRUb2tlbkluZGV4LCBvcCAmIFRva2VuVHlwZS5JU19SSUdIVF9BU1NPQ0lBVElWRSA/IHByZWMgLSAxIDogcHJlYywgbm9Jbik7XG4gICAgICBpZiAob3AgPT09IHR0Lm51bGxpc2hDb2FsZXNjaW5nKSB7XG4gICAgICAgIHN0YXRlLnRva2Vuc1tzdGFydFRva2VuSW5kZXhdLm51bU51bGxpc2hDb2FsZXNjZVN0YXJ0cysrO1xuICAgICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLm51bU51bGxpc2hDb2FsZXNjZUVuZHMrKztcbiAgICAgIH1cbiAgICAgIC8vIENvbnRpbnVlIHdpdGggYW55IGZ1dHVyZSBvcGVyYXRvciBob2xkaW5nIHRoaXMgZXhwcmVzc2lvbiBhcyB0aGUgbGVmdCBvcGVyYW5kLlxuICAgICAgcGFyc2VFeHByT3Aoc3RhcnRUb2tlbkluZGV4LCBtaW5QcmVjLCBub0luKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFyc2UgdW5hcnkgb3BlcmF0b3JzLCBib3RoIHByZWZpeCBhbmQgcG9zdGZpeC5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBhcnJvdyBmdW5jdGlvbi5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1heWJlVW5hcnkoKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkICYmICFpc0pTWEVuYWJsZWQgJiYgZWF0KHR0Lmxlc3NUaGFuKSkge1xuICAgIHRzUGFyc2VUeXBlQXNzZXJ0aW9uKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChcbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX21vZHVsZSkgJiZcbiAgICBsb29rYWhlYWRDaGFyQ29kZSgpID09PSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2UgJiZcbiAgICAhaGFzRm9sbG93aW5nTGluZUJyZWFrKClcbiAgKSB7XG4gICAgcGFyc2VNb2R1bGVFeHByZXNzaW9uKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChzdGF0ZS50eXBlICYgVG9rZW5UeXBlLklTX1BSRUZJWCkge1xuICAgIG5leHQoKTtcbiAgICBwYXJzZU1heWJlVW5hcnkoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB3YXNBcnJvdyA9IHBhcnNlRXhwclN1YnNjcmlwdHMoKTtcbiAgaWYgKHdhc0Fycm93KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgd2hpbGUgKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfUE9TVEZJWCAmJiAhY2FuSW5zZXJ0U2VtaWNvbG9uKCkpIHtcbiAgICAvLyBUaGUgdG9rZW5pemVyIGNhbGxzIGV2ZXJ5dGhpbmcgYSBwcmVpbmNyZW1lbnQsIHNvIG1ha2UgaXQgYSBwb3N0aW5jcmVtZW50IHdoZW5cbiAgICAvLyB3ZSBzZWUgaXQgaW4gdGhhdCBjb250ZXh0LlxuICAgIGlmIChzdGF0ZS50eXBlID09PSB0dC5wcmVJbmNEZWMpIHtcbiAgICAgIHN0YXRlLnR5cGUgPSB0dC5wb3N0SW5jRGVjO1xuICAgIH1cbiAgICBuZXh0KCk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBQYXJzZSBjYWxsLCBkb3QsIGFuZCBgW11gLXN1YnNjcmlwdCBleHByZXNzaW9ucy5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBhcnJvdyBmdW5jdGlvbi5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUV4cHJTdWJzY3JpcHRzKCkge1xuICBjb25zdCBzdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICBjb25zdCB3YXNBcnJvdyA9IHBhcnNlRXhwckF0b20oKTtcbiAgaWYgKHdhc0Fycm93KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcGFyc2VTdWJzY3JpcHRzKHN0YXJ0VG9rZW5JbmRleCk7XG4gIC8vIElmIHRoZXJlIHdhcyBhbnkgb3B0aW9uYWwgY2hhaW4gb3BlcmF0aW9uLCB0aGUgc3RhcnQgdG9rZW4gd291bGQgYmUgbWFya2VkXG4gIC8vIGFzIHN1Y2gsIHNvIGFsc28gbWFyayB0aGUgZW5kIG5vdy5cbiAgaWYgKHN0YXRlLnRva2Vucy5sZW5ndGggPiBzdGFydFRva2VuSW5kZXggJiYgc3RhdGUudG9rZW5zW3N0YXJ0VG9rZW5JbmRleF0uaXNPcHRpb25hbENoYWluU3RhcnQpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmlzT3B0aW9uYWxDaGFpbkVuZCA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwYXJzZVN1YnNjcmlwdHMoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzID0gZmFsc2UpIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VTdWJzY3JpcHRzKHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscyk7XG4gIH0gZWxzZSB7XG4gICAgYmFzZVBhcnNlU3Vic2NyaXB0cyhzdGFydFRva2VuSW5kZXgsIG5vQ2FsbHMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYXNlUGFyc2VTdWJzY3JpcHRzKHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscyA9IGZhbHNlKSB7XG4gIGNvbnN0IHN0b3BTdGF0ZSA9IG5ldyBTdG9wU3RhdGUoZmFsc2UpO1xuICBkbyB7XG4gICAgcGFyc2VTdWJzY3JpcHQoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzLCBzdG9wU3RhdGUpO1xuICB9IHdoaWxlICghc3RvcFN0YXRlLnN0b3AgJiYgIXN0YXRlLmVycm9yKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VTdWJzY3JpcHQoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzLCBzdG9wU3RhdGUpIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c1BhcnNlU3Vic2NyaXB0KHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscywgc3RvcFN0YXRlKTtcbiAgfSBlbHNlIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgZmxvd1BhcnNlU3Vic2NyaXB0KHN0YXJ0VG9rZW5JbmRleCwgbm9DYWxscywgc3RvcFN0YXRlKTtcbiAgfSBlbHNlIHtcbiAgICBiYXNlUGFyc2VTdWJzY3JpcHQoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzLCBzdG9wU3RhdGUpO1xuICB9XG59XG5cbi8qKiBTZXQgJ3N0YXRlLnN0b3AgPSB0cnVlJyB0byBpbmRpY2F0ZSB0aGF0IHdlIHNob3VsZCBzdG9wIHBhcnNpbmcgc3Vic2NyaXB0cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiYXNlUGFyc2VTdWJzY3JpcHQoXG4gIHN0YXJ0VG9rZW5JbmRleCxcbiAgbm9DYWxscyxcbiAgc3RvcFN0YXRlLFxuKSB7XG4gIGlmICghbm9DYWxscyAmJiBlYXQodHQuZG91YmxlQ29sb24pKSB7XG4gICAgcGFyc2VOb0NhbGxFeHByKCk7XG4gICAgc3RvcFN0YXRlLnN0b3AgPSB0cnVlO1xuICAgIC8vIFByb3BhZ2F0ZSBzdGFydFRva2VuSW5kZXggc28gdGhhdCBgYTo6Yj8uKClgIHdpbGwga2VlcCBgYWAgYXMgdGhlIGZpcnN0IHRva2VuLiBXZSBtYXkgd2FudFxuICAgIC8vIHRvIHJldmlzaXQgdGhpcyBpbiB0aGUgZnV0dXJlIHdoZW4gZnVsbHkgc3VwcG9ydGluZyBiaW5kIHN5bnRheC5cbiAgICBwYXJzZVN1YnNjcmlwdHMoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzKTtcbiAgfSBlbHNlIGlmIChtYXRjaCh0dC5xdWVzdGlvbkRvdCkpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhcnRUb2tlbkluZGV4XS5pc09wdGlvbmFsQ2hhaW5TdGFydCA9IHRydWU7XG4gICAgaWYgKG5vQ2FsbHMgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5wYXJlbkwpIHtcbiAgICAgIHN0b3BTdGF0ZS5zdG9wID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbmV4dCgpO1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uc3Vic2NyaXB0U3RhcnRJbmRleCA9IHN0YXJ0VG9rZW5JbmRleDtcblxuICAgIGlmIChlYXQodHQuYnJhY2tldEwpKSB7XG4gICAgICBwYXJzZUV4cHJlc3Npb24oKTtcbiAgICAgIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgfSBlbHNlIGlmIChlYXQodHQucGFyZW5MKSkge1xuICAgICAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZU1heWJlUHJpdmF0ZU5hbWUoKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZWF0KHR0LmRvdCkpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnN1YnNjcmlwdFN0YXJ0SW5kZXggPSBzdGFydFRva2VuSW5kZXg7XG4gICAgcGFyc2VNYXliZVByaXZhdGVOYW1lKCk7XG4gIH0gZWxzZSBpZiAoZWF0KHR0LmJyYWNrZXRMKSkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uc3Vic2NyaXB0U3RhcnRJbmRleCA9IHN0YXJ0VG9rZW5JbmRleDtcbiAgICBwYXJzZUV4cHJlc3Npb24oKTtcbiAgICBleHBlY3QodHQuYnJhY2tldFIpO1xuICB9IGVsc2UgaWYgKCFub0NhbGxzICYmIG1hdGNoKHR0LnBhcmVuTCkpIHtcbiAgICBpZiAoYXRQb3NzaWJsZUFzeW5jKCkpIHtcbiAgICAgIC8vIFdlIHNlZSBcImFzeW5jXCIsIGJ1dCBpdCdzIHBvc3NpYmxlIGl0J3MgYSB1c2FnZSBvZiB0aGUgbmFtZSBcImFzeW5jXCIuIFBhcnNlIGFzIGlmIGl0J3MgYVxuICAgICAgLy8gZnVuY3Rpb24gY2FsbCwgYW5kIGlmIHdlIHNlZSBhbiBhcnJvdyBsYXRlciwgYmFja3RyYWNrIGFuZCByZS1wYXJzZSBhcyBhIHBhcmFtZXRlciBsaXN0LlxuICAgICAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICAgICAgY29uc3QgYXN5bmNTdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgICAgbmV4dCgpO1xuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5zdWJzY3JpcHRTdGFydEluZGV4ID0gc3RhcnRUb2tlbkluZGV4O1xuXG4gICAgICBjb25zdCBjYWxsQ29udGV4dElkID0gZ2V0TmV4dENvbnRleHRJZCgpO1xuXG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNhbGxDb250ZXh0SWQ7XG4gICAgICBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKCk7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNhbGxDb250ZXh0SWQ7XG5cbiAgICAgIGlmIChzaG91bGRQYXJzZUFzeW5jQXJyb3coKSkge1xuICAgICAgICAvLyBXZSBoaXQgYW4gYXJyb3csIHNvIGJhY2t0cmFjayBhbmQgc3RhcnQgYWdhaW4gcGFyc2luZyBmdW5jdGlvbiBwYXJhbWV0ZXJzLlxuICAgICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgICAgc3RvcFN0YXRlLnN0b3AgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5zY29wZURlcHRoKys7XG5cbiAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICAgICAgICBwYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oYXN5bmNTdGFydFRva2VuSW5kZXgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0KCk7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnN1YnNjcmlwdFN0YXJ0SW5kZXggPSBzdGFydFRva2VuSW5kZXg7XG4gICAgICBjb25zdCBjYWxsQ29udGV4dElkID0gZ2V0TmV4dENvbnRleHRJZCgpO1xuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBjYWxsQ29udGV4dElkO1xuICAgICAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cygpO1xuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBjYWxsQ29udGV4dElkO1xuICAgIH1cbiAgfSBlbHNlIGlmIChtYXRjaCh0dC5iYWNrUXVvdGUpKSB7XG4gICAgLy8gVGFnZ2VkIHRlbXBsYXRlIGV4cHJlc3Npb24uXG4gICAgcGFyc2VUZW1wbGF0ZSgpO1xuICB9IGVsc2Uge1xuICAgIHN0b3BTdGF0ZS5zdG9wID0gdHJ1ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXRQb3NzaWJsZUFzeW5jKCkge1xuICAvLyBUaGlzIHdhcyBtYWRlIGxlc3Mgc3RyaWN0IHRoYW4gdGhlIG9yaWdpbmFsIHZlcnNpb24gdG8gYXZvaWQgcGFzc2luZyBhcm91bmQgbm9kZXMsIGJ1dCBpdFxuICAvLyBzaG91bGQgYmUgc2FmZSB0byBoYXZlIHJhcmUgZmFsc2UgcG9zaXRpdmVzIGhlcmUuXG4gIHJldHVybiAoXG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jICYmXG4gICAgIWNhbkluc2VydFNlbWljb2xvbigpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKCkge1xuICBsZXQgZmlyc3QgPSB0cnVlO1xuICB3aGlsZSAoIWVhdCh0dC5wYXJlblIpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGlmIChmaXJzdCkge1xuICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgIGlmIChlYXQodHQucGFyZW5SKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXJzZUV4cHJMaXN0SXRlbShmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2hvdWxkUGFyc2VBc3luY0Fycm93KCkge1xuICByZXR1cm4gbWF0Y2godHQuY29sb24pIHx8IG1hdGNoKHR0LmFycm93KTtcbn1cblxuZnVuY3Rpb24gcGFyc2VBc3luY0Fycm93RnJvbUNhbGxFeHByZXNzaW9uKHN0YXJ0VG9rZW5JbmRleCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzU3RhcnRQYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oKTtcbiAgfSBlbHNlIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgZmxvd1N0YXJ0UGFyc2VBc3luY0Fycm93RnJvbUNhbGxFeHByZXNzaW9uKCk7XG4gIH1cbiAgZXhwZWN0KHR0LmFycm93KTtcbiAgcGFyc2VBcnJvd0V4cHJlc3Npb24oc3RhcnRUb2tlbkluZGV4KTtcbn1cblxuLy8gUGFyc2UgYSBuby1jYWxsIGV4cHJlc3Npb24gKGxpa2UgYXJndW1lbnQgb2YgYG5ld2Agb3IgYDo6YCBvcGVyYXRvcnMpLlxuXG5mdW5jdGlvbiBwYXJzZU5vQ2FsbEV4cHIoKSB7XG4gIGNvbnN0IHN0YXJ0VG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHBhcnNlRXhwckF0b20oKTtcbiAgcGFyc2VTdWJzY3JpcHRzKHN0YXJ0VG9rZW5JbmRleCwgdHJ1ZSk7XG59XG5cbi8vIFBhcnNlIGFuIGF0b21pYyBleHByZXNzaW9uIFx1MjAxNCBlaXRoZXIgYSBzaW5nbGUgdG9rZW4gdGhhdCBpcyBhblxuLy8gZXhwcmVzc2lvbiwgYW4gZXhwcmVzc2lvbiBzdGFydGVkIGJ5IGEga2V5d29yZCBsaWtlIGBmdW5jdGlvbmAgb3Jcbi8vIGBuZXdgLCBvciBhbiBleHByZXNzaW9uIHdyYXBwZWQgaW4gcHVuY3R1YXRpb24gbGlrZSBgKClgLCBgW11gLFxuLy8gb3IgYHt9YC5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGFyc2VkIGV4cHJlc3Npb24gd2FzIGFuIGFycm93IGZ1bmN0aW9uLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRXhwckF0b20oKSB7XG4gIGlmIChlYXQodHQubW9kdWxvKSkge1xuICAgIC8vIFY4IGludHJpbnNpYyBleHByZXNzaW9uLiBKdXN0IHBhcnNlIHRoZSBpZGVudGlmaWVyLCBhbmQgdGhlIGZ1bmN0aW9uIGludm9jYXRpb24gaXMgcGFyc2VkXG4gICAgLy8gbmF0dXJhbGx5LlxuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChtYXRjaCh0dC5qc3hUZXh0KSB8fCBtYXRjaCh0dC5qc3hFbXB0eVRleHQpKSB7XG4gICAgcGFyc2VMaXRlcmFsKCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSAmJiBpc0pTWEVuYWJsZWQpIHtcbiAgICBzdGF0ZS50eXBlID0gdHQuanN4VGFnU3RhcnQ7XG4gICAganN4UGFyc2VFbGVtZW50KCk7XG4gICAgbmV4dCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGNhbkJlQXJyb3cgPSBzdGF0ZS5wb3RlbnRpYWxBcnJvd0F0ID09PSBzdGF0ZS5zdGFydDtcbiAgc3dpdGNoIChzdGF0ZS50eXBlKSB7XG4gICAgY2FzZSB0dC5zbGFzaDpcbiAgICBjYXNlIHR0LmFzc2lnbjpcbiAgICAgIHJldG9rZW5pemVTbGFzaEFzUmVnZXgoKTtcbiAgICAvLyBGYWxsIHRocm91Z2guXG5cbiAgICBjYXNlIHR0Ll9zdXBlcjpcbiAgICBjYXNlIHR0Ll90aGlzOlxuICAgIGNhc2UgdHQucmVnZXhwOlxuICAgIGNhc2UgdHQubnVtOlxuICAgIGNhc2UgdHQuYmlnaW50OlxuICAgIGNhc2UgdHQuZGVjaW1hbDpcbiAgICBjYXNlIHR0LnN0cmluZzpcbiAgICBjYXNlIHR0Ll9udWxsOlxuICAgIGNhc2UgdHQuX3RydWU6XG4gICAgY2FzZSB0dC5fZmFsc2U6XG4gICAgICBuZXh0KCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBjYXNlIHR0Ll9pbXBvcnQ6XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAobWF0Y2godHQuZG90KSkge1xuICAgICAgICAvLyBpbXBvcnQubWV0YVxuICAgICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5uYW1lO1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5uYW1lOiB7XG4gICAgICBjb25zdCBzdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgICAgY29uc3QgZnVuY3Rpb25TdGFydCA9IHN0YXRlLnN0YXJ0O1xuICAgICAgY29uc3QgY29udGV4dHVhbEtleXdvcmQgPSBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZDtcbiAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgaWYgKGNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fYXdhaXQpIHtcbiAgICAgICAgcGFyc2VBd2FpdCgpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jICYmXG4gICAgICAgIG1hdGNoKHR0Ll9mdW5jdGlvbikgJiZcbiAgICAgICAgIWNhbkluc2VydFNlbWljb2xvbigpXG4gICAgICApIHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgICBwYXJzZUZ1bmN0aW9uKGZ1bmN0aW9uU3RhcnQsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgY2FuQmVBcnJvdyAmJlxuICAgICAgICBjb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jICYmXG4gICAgICAgICFjYW5JbnNlcnRTZW1pY29sb24oKSAmJlxuICAgICAgICBtYXRjaCh0dC5uYW1lKVxuICAgICAgKSB7XG4gICAgICAgIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgICAgICAgcGFyc2VCaW5kaW5nSWRlbnRpZmllcihmYWxzZSk7XG4gICAgICAgIGV4cGVjdCh0dC5hcnJvdyk7XG4gICAgICAgIC8vIGxldCBmb28gPSBhc3luYyBiYXIgPT4ge307XG4gICAgICAgIHBhcnNlQXJyb3dFeHByZXNzaW9uKHN0YXJ0VG9rZW5JbmRleCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChtYXRjaCh0dC5fZG8pICYmICFjYW5JbnNlcnRTZW1pY29sb24oKSkge1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIHBhcnNlQmxvY2soKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2FuQmVBcnJvdyAmJiAhY2FuSW5zZXJ0U2VtaWNvbG9uKCkgJiYgbWF0Y2godHQuYXJyb3cpKSB7XG4gICAgICAgIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgICAgICAgbWFya1ByaW9yQmluZGluZ0lkZW50aWZpZXIoZmFsc2UpO1xuICAgICAgICBleHBlY3QodHQuYXJyb3cpO1xuICAgICAgICBwYXJzZUFycm93RXhwcmVzc2lvbihzdGFydFRva2VuSW5kZXgpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLkFjY2VzcztcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjYXNlIHR0Ll9kbzoge1xuICAgICAgbmV4dCgpO1xuICAgICAgcGFyc2VCbG9jaygpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNhc2UgdHQucGFyZW5MOiB7XG4gICAgICBjb25zdCB3YXNBcnJvdyA9IHBhcnNlUGFyZW5BbmREaXN0aW5ndWlzaEV4cHJlc3Npb24oY2FuQmVBcnJvdyk7XG4gICAgICByZXR1cm4gd2FzQXJyb3c7XG4gICAgfVxuXG4gICAgY2FzZSB0dC5icmFja2V0TDpcbiAgICAgIG5leHQoKTtcbiAgICAgIHBhcnNlRXhwckxpc3QodHQuYnJhY2tldFIsIHRydWUpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5icmFjZUw6XG4gICAgICBwYXJzZU9iaihmYWxzZSwgZmFsc2UpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5fZnVuY3Rpb246XG4gICAgICBwYXJzZUZ1bmN0aW9uRXhwcmVzc2lvbigpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5hdDpcbiAgICAgIHBhcnNlRGVjb3JhdG9ycygpO1xuICAgIC8vIEZhbGwgdGhyb3VnaC5cblxuICAgIGNhc2UgdHQuX2NsYXNzOlxuICAgICAgcGFyc2VDbGFzcyhmYWxzZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBjYXNlIHR0Ll9uZXc6XG4gICAgICBwYXJzZU5ldygpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgY2FzZSB0dC5iYWNrUXVvdGU6XG4gICAgICBwYXJzZVRlbXBsYXRlKCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBjYXNlIHR0LmRvdWJsZUNvbG9uOiB7XG4gICAgICBuZXh0KCk7XG4gICAgICBwYXJzZU5vQ2FsbEV4cHIoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjYXNlIHR0Lmhhc2g6IHtcbiAgICAgIGNvbnN0IGNvZGUgPSBsb29rYWhlYWRDaGFyQ29kZSgpO1xuICAgICAgaWYgKElTX0lERU5USUZJRVJfU1RBUlRbY29kZV0gfHwgY29kZSA9PT0gY2hhckNvZGVzLmJhY2tzbGFzaCkge1xuICAgICAgICBwYXJzZU1heWJlUHJpdmF0ZU5hbWUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICAgIC8vIFNtYXJ0IHBpcGVsaW5lIHRvcGljIHJlZmVyZW5jZS5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdW5leHBlY3RlZCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlTWF5YmVQcml2YXRlTmFtZSgpIHtcbiAgZWF0KHR0Lmhhc2gpO1xuICBwYXJzZUlkZW50aWZpZXIoKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VGdW5jdGlvbkV4cHJlc3Npb24oKSB7XG4gIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIGlmIChlYXQodHQuZG90KSkge1xuICAgIC8vIGZ1bmN0aW9uLnNlbnRcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxuICBwYXJzZUZ1bmN0aW9uKGZ1bmN0aW9uU3RhcnQsIGZhbHNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTGl0ZXJhbCgpIHtcbiAgbmV4dCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQYXJlbkV4cHJlc3Npb24oKSB7XG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICBwYXJzZUV4cHJlc3Npb24oKTtcbiAgZXhwZWN0KHR0LnBhcmVuUik7XG59XG5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBhcnJvdyBleHByZXNzaW9uLlxuZnVuY3Rpb24gcGFyc2VQYXJlbkFuZERpc3Rpbmd1aXNoRXhwcmVzc2lvbihjYW5CZUFycm93KSB7XG4gIC8vIEFzc3VtZSB0aGlzIGlzIGEgbm9ybWFsIHBhcmVudGhlc2l6ZWQgZXhwcmVzc2lvbiwgYnV0IGlmIHdlIHNlZSBhbiBhcnJvdywgd2UnbGwgYmFpbCBhbmRcbiAgLy8gc3RhcnQgb3ZlciBhcyBhIHBhcmFtZXRlciBsaXN0LlxuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG5cbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG5cbiAgbGV0IGZpcnN0ID0gdHJ1ZTtcblxuICB3aGlsZSAoIW1hdGNoKHR0LnBhcmVuUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgICAgaWYgKG1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgcGFyc2VSZXN0KGZhbHNlIC8qIGlzQmxvY2tTY29wZSAqLyk7XG4gICAgICBwYXJzZVBhcmVuSXRlbSgpO1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlTWF5YmVBc3NpZ24oZmFsc2UsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGV4cGVjdCh0dC5wYXJlblIpO1xuXG4gIGlmIChjYW5CZUFycm93ICYmIHNob3VsZFBhcnNlQXJyb3coKSkge1xuICAgIGNvbnN0IHdhc0Fycm93ID0gcGFyc2VBcnJvdygpO1xuICAgIGlmICh3YXNBcnJvdykge1xuICAgICAgLy8gSXQgd2FzIGFuIGFycm93IGZ1bmN0aW9uIHRoaXMgd2hvbGUgdGltZSwgc28gc3RhcnQgb3ZlciBhbmQgcGFyc2UgaXQgYXMgcGFyYW1zIHNvIHRoYXQgd2VcbiAgICAgIC8vIGdldCBwcm9wZXIgdG9rZW4gYW5ub3RhdGlvbnMuXG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgICAgIC8vIERvbid0IHNwZWNpZnkgYSBjb250ZXh0IElEIGJlY2F1c2UgYXJyb3cgZnVuY3Rpb25zIGRvbid0IG5lZWQgYSBjb250ZXh0IElELlxuICAgICAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICAgICAgcGFyc2VBcnJvdygpO1xuICAgICAgcGFyc2VBcnJvd0V4cHJlc3Npb24oc3RhcnRUb2tlbkluZGV4KTtcbiAgICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgICAvLyBOZXZlcm1pbmQhIFRoaXMgbXVzdCBoYXZlIGJlZW4gc29tZXRoaW5nIHRoYXQgbG9va3MgdmVyeSBtdWNoIGxpa2UgYW5cbiAgICAgICAgLy8gYXJyb3cgZnVuY3Rpb24gYnV0IHdoZXJlIGl0cyBcInBhcmFtZXRlciBsaXN0XCIgaXNuJ3QgYWN0dWFsbHkgYSB2YWxpZFxuICAgICAgICAvLyBwYXJhbWV0ZXIgbGlzdC4gRm9yY2Ugbm9uLWFycm93IHBhcnNpbmcuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYWxhbmdwaWVyY2Uvc3VjcmFzZS9pc3N1ZXMvNjY2IGZvciBhbiBleGFtcGxlLlxuICAgICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgICAgcGFyc2VQYXJlbkFuZERpc3Rpbmd1aXNoRXhwcmVzc2lvbihmYWxzZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkUGFyc2VBcnJvdygpIHtcbiAgcmV0dXJuIG1hdGNoKHR0LmNvbG9uKSB8fCAhY2FuSW5zZXJ0U2VtaWNvbG9uKCk7XG59XG5cbi8vIFJldHVybnMgd2hldGhlciB0aGVyZSB3YXMgYW4gYXJyb3cgdG9rZW4uXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBcnJvdygpIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICByZXR1cm4gdHNQYXJzZUFycm93KCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIHJldHVybiBmbG93UGFyc2VBcnJvdygpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBlYXQodHQuYXJyb3cpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlUGFyZW5JdGVtKCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCB8fCBpc0Zsb3dFbmFibGVkKSB7XG4gICAgdHlwZWRQYXJzZVBhcmVuSXRlbSgpO1xuICB9XG59XG5cbi8vIE5ldydzIHByZWNlZGVuY2UgaXMgc2xpZ2h0bHkgdHJpY2t5LiBJdCBtdXN0IGFsbG93IGl0cyBhcmd1bWVudCB0b1xuLy8gYmUgYSBgW11gIG9yIGRvdCBzdWJzY3JpcHQgZXhwcmVzc2lvbiwgYnV0IG5vdCBhIGNhbGwgXHUyMDE0IGF0IGxlYXN0LFxuLy8gbm90IHdpdGhvdXQgd3JhcHBpbmcgaXQgaW4gcGFyZW50aGVzZXMuIFRodXMsIGl0IHVzZXMgdGhlIG5vQ2FsbHNcbi8vIGFyZ3VtZW50IHRvIHBhcnNlU3Vic2NyaXB0cyB0byBwcmV2ZW50IGl0IGZyb20gY29uc3VtaW5nIHRoZVxuLy8gYXJndW1lbnQgbGlzdC5cbmZ1bmN0aW9uIHBhcnNlTmV3KCkge1xuICBleHBlY3QodHQuX25ldyk7XG4gIGlmIChlYXQodHQuZG90KSkge1xuICAgIC8vIG5ldy50YXJnZXRcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcGFyc2VOZXdDYWxsZWUoKTtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93U3RhcnRQYXJzZU5ld0FyZ3VtZW50cygpO1xuICB9XG4gIGlmIChlYXQodHQucGFyZW5MKSkge1xuICAgIHBhcnNlRXhwckxpc3QodHQucGFyZW5SKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZU5ld0NhbGxlZSgpIHtcbiAgcGFyc2VOb0NhbGxFeHByKCk7XG4gIGVhdCh0dC5xdWVzdGlvbkRvdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRlbXBsYXRlKCkge1xuICAvLyBGaW5pc2ggYCwgcmVhZCBxdWFzaVxuICBuZXh0VGVtcGxhdGVUb2tlbigpO1xuICAvLyBGaW5pc2ggcXVhc2ksIHJlYWQgJHtcbiAgbmV4dFRlbXBsYXRlVG9rZW4oKTtcbiAgd2hpbGUgKCFtYXRjaCh0dC5iYWNrUXVvdGUpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGV4cGVjdCh0dC5kb2xsYXJCcmFjZUwpO1xuICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgIC8vIEZpbmlzaCB9LCByZWFkIHF1YXNpXG4gICAgbmV4dFRlbXBsYXRlVG9rZW4oKTtcbiAgICAvLyBGaW5pc2ggcXVhc2ksIHJlYWQgZWl0aGVyICR7IG9yIGBcbiAgICBuZXh0VGVtcGxhdGVUb2tlbigpO1xuICB9XG4gIG5leHQoKTtcbn1cblxuLy8gUGFyc2UgYW4gb2JqZWN0IGxpdGVyYWwgb3IgYmluZGluZyBwYXR0ZXJuLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlT2JqKGlzUGF0dGVybiwgaXNCbG9ja1Njb3BlKSB7XG4gIC8vIEF0dGFjaCBhIGNvbnRleHQgSUQgdG8gdGhlIG9iamVjdCBvcGVuIGFuZCBjbG9zZSBicmFjZSBhbmQgZWFjaCBvYmplY3Qga2V5LlxuICBjb25zdCBjb250ZXh0SWQgPSBnZXROZXh0Q29udGV4dElkKCk7XG4gIGxldCBmaXJzdCA9IHRydWU7XG5cbiAgbmV4dCgpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcblxuICB3aGlsZSAoIWVhdCh0dC5icmFjZVIpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGlmIChmaXJzdCkge1xuICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgIGlmIChlYXQodHQuYnJhY2VSKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgaXNHZW5lcmF0b3IgPSBmYWxzZTtcbiAgICBpZiAobWF0Y2godHQuZWxsaXBzaXMpKSB7XG4gICAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgICAgIHBhcnNlU3ByZWFkKCk7XG4gICAgICBpZiAoaXNQYXR0ZXJuKSB7XG4gICAgICAgIC8vIE1hcmsgcm9sZSB3aGVuIHRoZSBvbmx5IHRoaW5nIGJlaW5nIHNwcmVhZCBvdmVyIGlzIGFuIGlkZW50aWZpZXIuXG4gICAgICAgIGlmIChzdGF0ZS50b2tlbnMubGVuZ3RoID09PSBwcmV2aW91c0luZGV4ICsgMikge1xuICAgICAgICAgIG1hcmtQcmlvckJpbmRpbmdJZGVudGlmaWVyKGlzQmxvY2tTY29wZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVhdCh0dC5icmFjZVIpKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghaXNQYXR0ZXJuKSB7XG4gICAgICBpc0dlbmVyYXRvciA9IGVhdCh0dC5zdGFyKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzUGF0dGVybiAmJiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSkge1xuICAgICAgaWYgKGlzR2VuZXJhdG9yKSB1bmV4cGVjdGVkKCk7XG5cbiAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgaWYgKFxuICAgICAgICBtYXRjaCh0dC5jb2xvbikgfHxcbiAgICAgICAgbWF0Y2godHQucGFyZW5MKSB8fFxuICAgICAgICBtYXRjaCh0dC5icmFjZVIpIHx8XG4gICAgICAgIG1hdGNoKHR0LmVxKSB8fFxuICAgICAgICBtYXRjaCh0dC5jb21tYSlcbiAgICAgICkge1xuICAgICAgICAvLyBUaGlzIGlzIGEga2V5IGNhbGxlZCBcImFzeW5jXCIgcmF0aGVyIHRoYW4gYW4gYXN5bmMgZnVuY3Rpb24uXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobWF0Y2godHQuc3RhcikpIHtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHBhcnNlUHJvcGVydHlOYW1lKGNvbnRleHRJZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlUHJvcGVydHlOYW1lKGNvbnRleHRJZCk7XG4gICAgfVxuXG4gICAgcGFyc2VPYmpQcm9wVmFsdWUoaXNQYXR0ZXJuLCBpc0Jsb2NrU2NvcGUsIGNvbnRleHRJZCk7XG4gIH1cblxuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbn1cblxuZnVuY3Rpb24gaXNHZXR0ZXJPclNldHRlck1ldGhvZChpc1BhdHRlcm4pIHtcbiAgLy8gV2UgZ28gb2ZmIG9mIHRoZSBuZXh0IGFuZCBkb24ndCBib3RoZXIgY2hlY2tpbmcgaWYgdGhlIG5vZGUga2V5IGlzIGFjdHVhbGx5IFwiZ2V0XCIgb3IgXCJzZXRcIi5cbiAgLy8gVGhpcyBsZXRzIHVzIGF2b2lkIGdlbmVyYXRpbmcgYSBub2RlLCBhbmQgc2hvdWxkIG9ubHkgbWFrZSB0aGUgdmFsaWRhdGlvbiB3b3JzZS5cbiAgcmV0dXJuIChcbiAgICAhaXNQYXR0ZXJuICYmXG4gICAgKG1hdGNoKHR0LnN0cmluZykgfHwgLy8gZ2V0IFwic3RyaW5nXCIoKSB7fVxuICAgICAgbWF0Y2godHQubnVtKSB8fCAvLyBnZXQgMSgpIHt9XG4gICAgICBtYXRjaCh0dC5icmFja2V0TCkgfHwgLy8gZ2V0IFtcInN0cmluZ1wiXSgpIHt9XG4gICAgICBtYXRjaCh0dC5uYW1lKSB8fCAvLyBnZXQgZm9vKCkge31cbiAgICAgICEhKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfS0VZV09SRCkpIC8vIGdldCBkZWJ1Z2dlcigpIHt9XG4gICk7XG59XG5cbi8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHdhcyBhIG1ldGhvZC5cbmZ1bmN0aW9uIHBhcnNlT2JqZWN0TWV0aG9kKGlzUGF0dGVybiwgb2JqZWN0Q29udGV4dElkKSB7XG4gIC8vIFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgbW9kaWZpZXJzIGJlY2F1c2Ugb2JqZWN0IG1ldGhvZHMgY2FuJ3QgaGF2ZSBvcHRpb25hbCBib2RpZXMsIHNvXG4gIC8vIHRoZSBzdGFydCB3aWxsIG5ldmVyIGJlIHVzZWQuXG4gIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgaWYgKG1hdGNoKHR0LnBhcmVuTCkpIHtcbiAgICBpZiAoaXNQYXR0ZXJuKSB1bmV4cGVjdGVkKCk7XG4gICAgcGFyc2VNZXRob2QoZnVuY3Rpb25TdGFydCwgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaXNHZXR0ZXJPclNldHRlck1ldGhvZChpc1BhdHRlcm4pKSB7XG4gICAgcGFyc2VQcm9wZXJ0eU5hbWUob2JqZWN0Q29udGV4dElkKTtcbiAgICBwYXJzZU1ldGhvZChmdW5jdGlvblN0YXJ0LCAvKiBpc0NvbnN0cnVjdG9yICovIGZhbHNlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHBhcnNlT2JqZWN0UHJvcGVydHkoaXNQYXR0ZXJuLCBpc0Jsb2NrU2NvcGUpIHtcbiAgaWYgKGVhdCh0dC5jb2xvbikpIHtcbiAgICBpZiAoaXNQYXR0ZXJuKSB7XG4gICAgICBwYXJzZU1heWJlRGVmYXVsdChpc0Jsb2NrU2NvcGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZU1heWJlQXNzaWduKGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gU2luY2UgdGhlcmUncyBubyBjb2xvbiwgd2UgYXNzdW1lIHRoaXMgaXMgYW4gb2JqZWN0IHNob3J0aGFuZC5cblxuICAvLyBJZiB3ZSdyZSBpbiBhIGRlc3RydWN0dXJpbmcsIHdlJ3ZlIG5vdyBkaXNjb3ZlcmVkIHRoYXQgdGhlIGtleSB3YXMgYWN0dWFsbHkgYW4gYXNzaWduZWUsIHNvXG4gIC8vIHdlIG5lZWQgdG8gdGFnIGl0IGFzIGEgZGVjbGFyYXRpb24gd2l0aCB0aGUgYXBwcm9wcmlhdGUgc2NvcGUuIE90aGVyd2lzZSwgd2UgbWlnaHQgbmVlZCB0b1xuICAvLyB0cmFuc2Zvcm0gaXQgb24gYWNjZXNzLCBzbyBtYXJrIGl0IGFzIGEgbm9ybWFsIG9iamVjdCBzaG9ydGhhbmQuXG4gIGxldCBpZGVudGlmaWVyUm9sZTtcbiAgaWYgKGlzUGF0dGVybikge1xuICAgIGlmIChzdGF0ZS5zY29wZURlcHRoID09PSAwKSB7XG4gICAgICBpZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZFRvcExldmVsRGVjbGFyYXRpb247XG4gICAgfSBlbHNlIGlmIChpc0Jsb2NrU2NvcGUpIHtcbiAgICAgIGlkZW50aWZpZXJSb2xlID0gSWRlbnRpZmllclJvbGUuT2JqZWN0U2hvcnRoYW5kQmxvY2tTY29wZWREZWNsYXJhdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmRGdW5jdGlvblNjb3BlZERlY2xhcmF0aW9uO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLk9iamVjdFNob3J0aGFuZDtcbiAgfVxuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmlkZW50aWZpZXJSb2xlID0gaWRlbnRpZmllclJvbGU7XG5cbiAgLy8gUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHdlIGtub3cgdGhpcyB0byBiZSBhIHBhdHRlcm4gb3IgaWYgd2UncmUgaW4gYW4gYW1iaWd1b3VzIGNvbnRleHQsIGFsbG93XG4gIC8vIHBhcnNpbmcgYXMgaWYgdGhlcmUncyBhIGRlZmF1bHQgdmFsdWUuXG4gIHBhcnNlTWF5YmVEZWZhdWx0KGlzQmxvY2tTY29wZSwgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlT2JqUHJvcFZhbHVlKFxuICBpc1BhdHRlcm4sXG4gIGlzQmxvY2tTY29wZSxcbiAgb2JqZWN0Q29udGV4dElkLFxuKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNTdGFydFBhcnNlT2JqUHJvcFZhbHVlKCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGZsb3dTdGFydFBhcnNlT2JqUHJvcFZhbHVlKCk7XG4gIH1cbiAgY29uc3Qgd2FzTWV0aG9kID0gcGFyc2VPYmplY3RNZXRob2QoaXNQYXR0ZXJuLCBvYmplY3RDb250ZXh0SWQpO1xuICBpZiAoIXdhc01ldGhvZCkge1xuICAgIHBhcnNlT2JqZWN0UHJvcGVydHkoaXNQYXR0ZXJuLCBpc0Jsb2NrU2NvcGUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVByb3BlcnR5TmFtZShvYmplY3RDb250ZXh0SWQpIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VWYXJpYW5jZSgpO1xuICB9XG4gIGlmIChlYXQodHQuYnJhY2tldEwpKSB7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBvYmplY3RDb250ZXh0SWQ7XG4gICAgcGFyc2VNYXliZUFzc2lnbigpO1xuICAgIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBvYmplY3RDb250ZXh0SWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKG1hdGNoKHR0Lm51bSkgfHwgbWF0Y2godHQuc3RyaW5nKSB8fCBtYXRjaCh0dC5iaWdpbnQpIHx8IG1hdGNoKHR0LmRlY2ltYWwpKSB7XG4gICAgICBwYXJzZUV4cHJBdG9tKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlTWF5YmVQcml2YXRlTmFtZSgpO1xuICAgIH1cblxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5PYmplY3RLZXk7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBvYmplY3RDb250ZXh0SWQ7XG4gIH1cbn1cblxuLy8gUGFyc2Ugb2JqZWN0IG9yIGNsYXNzIG1ldGhvZC5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1ldGhvZChmdW5jdGlvblN0YXJ0LCBpc0NvbnN0cnVjdG9yKSB7XG4gIGNvbnN0IGZ1bmNDb250ZXh0SWQgPSBnZXROZXh0Q29udGV4dElkKCk7XG5cbiAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICBjb25zdCBzdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICBjb25zdCBhbGxvd01vZGlmaWVycyA9IGlzQ29uc3RydWN0b3I7IC8vIEZvciBUeXBlU2NyaXB0IHBhcmFtZXRlciBwcm9wZXJ0aWVzXG4gIHBhcnNlRnVuY3Rpb25QYXJhbXMoYWxsb3dNb2RpZmllcnMsIGZ1bmNDb250ZXh0SWQpO1xuICBwYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChmdW5jdGlvblN0YXJ0LCBmdW5jQ29udGV4dElkKTtcbiAgY29uc3QgZW5kVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHN0YXRlLnNjb3Blcy5wdXNoKG5ldyBTY29wZShzdGFydFRva2VuSW5kZXgsIGVuZFRva2VuSW5kZXgsIHRydWUpKTtcbiAgc3RhdGUuc2NvcGVEZXB0aC0tO1xufVxuXG4vLyBQYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uLlxuLy8gSWYgdGhlIHBhcmFtZXRlcnMgYXJlIHByb3ZpZGVkLCB0aGV5IHdpbGwgYmUgY29udmVydGVkIHRvIGFuXG4vLyBhc3NpZ25hYmxlIGxpc3QuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBcnJvd0V4cHJlc3Npb24oc3RhcnRUb2tlbkluZGV4KSB7XG4gIHBhcnNlRnVuY3Rpb25Cb2R5KHRydWUpO1xuICBjb25zdCBlbmRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgc3RhdGUuc2NvcGVzLnB1c2gobmV3IFNjb3BlKHN0YXJ0VG9rZW5JbmRleCwgZW5kVG9rZW5JbmRleCwgdHJ1ZSkpO1xuICBzdGF0ZS5zY29wZURlcHRoLS07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChmdW5jdGlvblN0YXJ0LCBmdW5jQ29udGV4dElkID0gMCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzUGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2goZnVuY3Rpb25TdGFydCwgZnVuY0NvbnRleHRJZCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGZsb3dQYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChmdW5jQ29udGV4dElkKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUZ1bmN0aW9uQm9keShmYWxzZSwgZnVuY0NvbnRleHRJZCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnVuY3Rpb25Cb2R5KGFsbG93RXhwcmVzc2lvbiwgZnVuY0NvbnRleHRJZCA9IDApIHtcbiAgY29uc3QgaXNFeHByZXNzaW9uID0gYWxsb3dFeHByZXNzaW9uICYmICFtYXRjaCh0dC5icmFjZUwpO1xuXG4gIGlmIChpc0V4cHJlc3Npb24pIHtcbiAgICBwYXJzZU1heWJlQXNzaWduKCk7XG4gIH0gZWxzZSB7XG4gICAgcGFyc2VCbG9jayh0cnVlIC8qIGlzRnVuY3Rpb25TY29wZSAqLywgZnVuY0NvbnRleHRJZCk7XG4gIH1cbn1cblxuLy8gUGFyc2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgZXhwcmVzc2lvbnMsIGFuZCByZXR1cm5zIHRoZW0gYXNcbi8vIGFuIGFycmF5LiBgY2xvc2VgIGlzIHRoZSB0b2tlbiB0eXBlIHRoYXQgZW5kcyB0aGUgbGlzdCwgYW5kXG4vLyBgYWxsb3dFbXB0eWAgY2FuIGJlIHR1cm5lZCBvbiB0byBhbGxvdyBzdWJzZXF1ZW50IGNvbW1hcyB3aXRoXG4vLyBub3RoaW5nIGluIGJldHdlZW4gdGhlbSB0byBiZSBwYXJzZWQgYXMgYG51bGxgICh3aGljaCBpcyBuZWVkZWRcbi8vIGZvciBhcnJheSBsaXRlcmFscykuXG5cbmZ1bmN0aW9uIHBhcnNlRXhwckxpc3QoY2xvc2UsIGFsbG93RW1wdHkgPSBmYWxzZSkge1xuICBsZXQgZmlyc3QgPSB0cnVlO1xuICB3aGlsZSAoIWVhdChjbG9zZSkgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgICAgaWYgKGVhdChjbG9zZSkpIGJyZWFrO1xuICAgIH1cbiAgICBwYXJzZUV4cHJMaXN0SXRlbShhbGxvd0VtcHR5KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUV4cHJMaXN0SXRlbShhbGxvd0VtcHR5KSB7XG4gIGlmIChhbGxvd0VtcHR5ICYmIG1hdGNoKHR0LmNvbW1hKSkge1xuICAgIC8vIEVtcHR5IGl0ZW07IG5vdGhpbmcgbW9yZSB0byBwYXJzZSBmb3IgdGhpcyBpdGVtLlxuICB9IGVsc2UgaWYgKG1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgIHBhcnNlU3ByZWFkKCk7XG4gICAgcGFyc2VQYXJlbkl0ZW0oKTtcbiAgfSBlbHNlIGlmIChtYXRjaCh0dC5xdWVzdGlvbikpIHtcbiAgICAvLyBQYXJ0aWFsIGZ1bmN0aW9uIGFwcGxpY2F0aW9uIHByb3Bvc2FsLlxuICAgIG5leHQoKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZU1heWJlQXNzaWduKGZhbHNlLCB0cnVlKTtcbiAgfVxufVxuXG4vLyBQYXJzZSB0aGUgbmV4dCB0b2tlbiBhcyBhbiBpZGVudGlmaWVyLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSWRlbnRpZmllcigpIHtcbiAgbmV4dCgpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5uYW1lO1xufVxuXG4vLyBQYXJzZXMgYXdhaXQgZXhwcmVzc2lvbiBpbnNpZGUgYXN5bmMgZnVuY3Rpb24uXG5mdW5jdGlvbiBwYXJzZUF3YWl0KCkge1xuICBwYXJzZU1heWJlVW5hcnkoKTtcbn1cblxuLy8gUGFyc2VzIHlpZWxkIGV4cHJlc3Npb24gaW5zaWRlIGdlbmVyYXRvci5cbmZ1bmN0aW9uIHBhcnNlWWllbGQoKSB7XG4gIG5leHQoKTtcbiAgaWYgKCFtYXRjaCh0dC5zZW1pKSAmJiAhY2FuSW5zZXJ0U2VtaWNvbG9uKCkpIHtcbiAgICBlYXQodHQuc3Rhcik7XG4gICAgcGFyc2VNYXliZUFzc2lnbigpO1xuICB9XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLWpzLW1vZHVsZS1ibG9ja3NcbmZ1bmN0aW9uIHBhcnNlTW9kdWxlRXhwcmVzc2lvbigpIHtcbiAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlKTtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gIC8vIEZvciBub3csIGp1c3QgY2FsbCBwYXJzZUJsb2NrQm9keSB0byBwYXJzZSB0aGUgYmxvY2suIEluIHRoZSBmdXR1cmUgd2hlbiB3ZVxuICAvLyBpbXBsZW1lbnQgZnVsbCBzdXBwb3J0LCB3ZSdsbCB3YW50IHRvIGVtaXQgc2NvcGVzIGFuZCBwb3NzaWJseSBvdGhlclxuICAvLyBpbmZvcm1hdGlvbi5cbiAgcGFyc2VCbG9ja0JvZHkodHQuYnJhY2VSKTtcbn1cbiIsICIvKiBlc2xpbnQgbWF4LWxlbjogMCAqL1xuXG5pbXBvcnQge1xuICBlYXQsXG4gIGxvb2thaGVhZFR5cGUsXG4gIGxvb2thaGVhZFR5cGVBbmRLZXl3b3JkLFxuICBtYXRjaCxcbiAgbmV4dCxcbiAgcG9wVHlwZUNvbnRleHQsXG4gIHB1c2hUeXBlQ29udGV4dCxcblxufSBmcm9tIFwiLi4vdG9rZW5pemVyL2luZGV4XCI7XG5pbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi4vdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSwgVG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQge2lucHV0LCBzdGF0ZX0gZnJvbSBcIi4uL3RyYXZlcnNlci9iYXNlXCI7XG5pbXBvcnQge1xuICBiYXNlUGFyc2VNYXliZUFzc2lnbixcbiAgYmFzZVBhcnNlU3Vic2NyaXB0LFxuICBiYXNlUGFyc2VTdWJzY3JpcHRzLFxuICBwYXJzZUFycm93LFxuICBwYXJzZUFycm93RXhwcmVzc2lvbixcbiAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cyxcbiAgcGFyc2VFeHByQXRvbSxcbiAgcGFyc2VFeHByZXNzaW9uLFxuICBwYXJzZUZ1bmN0aW9uQm9keSxcbiAgcGFyc2VJZGVudGlmaWVyLFxuICBwYXJzZUxpdGVyYWwsXG5cbn0gZnJvbSBcIi4uL3RyYXZlcnNlci9leHByZXNzaW9uXCI7XG5pbXBvcnQge1xuICBiYXNlUGFyc2VFeHBvcnRTdGFyLFxuICBwYXJzZUV4cG9ydCxcbiAgcGFyc2VFeHBvcnRGcm9tLFxuICBwYXJzZUV4cG9ydFNwZWNpZmllcnMsXG4gIHBhcnNlRnVuY3Rpb25QYXJhbXMsXG4gIHBhcnNlSW1wb3J0LFxuICBwYXJzZVN0YXRlbWVudCxcbn0gZnJvbSBcIi4uL3RyYXZlcnNlci9zdGF0ZW1lbnRcIjtcbmltcG9ydCB7XG4gIGNhbkluc2VydFNlbWljb2xvbixcbiAgZWF0Q29udGV4dHVhbCxcbiAgZXhwZWN0LFxuICBleHBlY3RDb250ZXh0dWFsLFxuICBpc0NvbnRleHR1YWwsXG4gIGlzTG9va2FoZWFkQ29udGV4dHVhbCxcbiAgc2VtaWNvbG9uLFxuICB1bmV4cGVjdGVkLFxufSBmcm9tIFwiLi4vdHJhdmVyc2VyL3V0aWxcIjtcblxuZnVuY3Rpb24gaXNNYXliZURlZmF1bHRJbXBvcnQobG9va2FoZWFkKSB7XG4gIHJldHVybiAoXG4gICAgKGxvb2thaGVhZC50eXBlID09PSB0dC5uYW1lIHx8ICEhKGxvb2thaGVhZC50eXBlICYgVG9rZW5UeXBlLklTX0tFWVdPUkQpKSAmJlxuICAgIGxvb2thaGVhZC5jb250ZXh0dWFsS2V5d29yZCAhPT0gQ29udGV4dHVhbEtleXdvcmQuX2Zyb21cbiAgKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKHRvaykge1xuICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMCk7XG4gIGV4cGVjdCh0b2sgfHwgdHQuY29sb24pO1xuICBmbG93UGFyc2VUeXBlKCk7XG4gIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZVByZWRpY2F0ZSgpIHtcbiAgZXhwZWN0KHR0Lm1vZHVsbyk7XG4gIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2NoZWNrcyk7XG4gIGlmIChlYXQodHQucGFyZW5MKSkge1xuICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgIGV4cGVjdCh0dC5wYXJlblIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpIHtcbiAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICBleHBlY3QodHQuY29sb24pO1xuICBpZiAobWF0Y2godHQubW9kdWxvKSkge1xuICAgIGZsb3dQYXJzZVByZWRpY2F0ZSgpO1xuICB9IGVsc2Uge1xuICAgIGZsb3dQYXJzZVR5cGUoKTtcbiAgICBpZiAobWF0Y2godHQubW9kdWxvKSkge1xuICAgICAgZmxvd1BhcnNlUHJlZGljYXRlKCk7XG4gICAgfVxuICB9XG4gIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZURlY2xhcmVDbGFzcygpIHtcbiAgbmV4dCgpO1xuICBmbG93UGFyc2VJbnRlcmZhY2Vpc2goLyogaXNDbGFzcyAqLyB0cnVlKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlRGVjbGFyZUZ1bmN0aW9uKCkge1xuICBuZXh0KCk7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuXG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgfVxuXG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICBmbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbXMoKTtcbiAgZXhwZWN0KHR0LnBhcmVuUik7XG5cbiAgZmxvd1BhcnNlVHlwZUFuZFByZWRpY2F0ZUluaXRpYWxpc2VyKCk7XG5cbiAgc2VtaWNvbG9uKCk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZURlY2xhcmUoKSB7XG4gIGlmIChtYXRjaCh0dC5fY2xhc3MpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZUNsYXNzKCk7XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuX2Z1bmN0aW9uKSkge1xuICAgIGZsb3dQYXJzZURlY2xhcmVGdW5jdGlvbigpO1xuICB9IGVsc2UgaWYgKG1hdGNoKHR0Ll92YXIpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZVZhcmlhYmxlKCk7XG4gIH0gZWxzZSBpZiAoZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fbW9kdWxlKSkge1xuICAgIGlmIChlYXQodHQuZG90KSkge1xuICAgICAgZmxvd1BhcnNlRGVjbGFyZU1vZHVsZUV4cG9ydHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmxvd1BhcnNlRGVjbGFyZU1vZHVsZSgpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZVR5cGVBbGlhcygpO1xuICB9IGVsc2UgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fb3BhcXVlKSkge1xuICAgIGZsb3dQYXJzZURlY2xhcmVPcGFxdWVUeXBlKCk7XG4gIH0gZWxzZSBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZUludGVyZmFjZSgpO1xuICB9IGVsc2UgaWYgKG1hdGNoKHR0Ll9leHBvcnQpKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uKCk7XG4gIH0gZWxzZSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZURlY2xhcmVWYXJpYWJsZSgpIHtcbiAgbmV4dCgpO1xuICBmbG93UGFyc2VUeXBlQW5ub3RhdGFibGVJZGVudGlmaWVyKCk7XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlTW9kdWxlKCkge1xuICBpZiAobWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxuXG4gIGV4cGVjdCh0dC5icmFjZUwpO1xuICB3aGlsZSAoIW1hdGNoKHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKG1hdGNoKHR0Ll9pbXBvcnQpKSB7XG4gICAgICBuZXh0KCk7XG4gICAgICBwYXJzZUltcG9ydCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB1bmV4cGVjdGVkKCk7XG4gICAgfVxuICB9XG4gIGV4cGVjdCh0dC5icmFjZVIpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb24oKSB7XG4gIGV4cGVjdCh0dC5fZXhwb3J0KTtcblxuICBpZiAoZWF0KHR0Ll9kZWZhdWx0KSkge1xuICAgIGlmIChtYXRjaCh0dC5fZnVuY3Rpb24pIHx8IG1hdGNoKHR0Ll9jbGFzcykpIHtcbiAgICAgIC8vIGRlY2xhcmUgZXhwb3J0IGRlZmF1bHQgY2xhc3MgLi4uXG4gICAgICAvLyBkZWNsYXJlIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIC4uLlxuICAgICAgZmxvd1BhcnNlRGVjbGFyZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBkZWNsYXJlIGV4cG9ydCBkZWZhdWx0IFt0eXBlXTtcbiAgICAgIGZsb3dQYXJzZVR5cGUoKTtcbiAgICAgIHNlbWljb2xvbigpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChcbiAgICBtYXRjaCh0dC5fdmFyKSB8fCAvLyBkZWNsYXJlIGV4cG9ydCB2YXIgLi4uXG4gICAgbWF0Y2godHQuX2Z1bmN0aW9uKSB8fCAvLyBkZWNsYXJlIGV4cG9ydCBmdW5jdGlvbiAuLi5cbiAgICBtYXRjaCh0dC5fY2xhc3MpIHx8IC8vIGRlY2xhcmUgZXhwb3J0IGNsYXNzIC4uLlxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fb3BhcXVlKSAvLyBkZWNsYXJlIGV4cG9ydCBvcGFxdWUgLi5cbiAgKSB7XG4gICAgZmxvd1BhcnNlRGVjbGFyZSgpO1xuICB9IGVsc2UgaWYgKFxuICAgIG1hdGNoKHR0LnN0YXIpIHx8IC8vIGRlY2xhcmUgZXhwb3J0ICogZnJvbSAnJ1xuICAgIG1hdGNoKHR0LmJyYWNlTCkgfHwgLy8gZGVjbGFyZSBleHBvcnQge30gLi4uXG4gICAgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpIHx8IC8vIGRlY2xhcmUgZXhwb3J0IGludGVyZmFjZSAuLi5cbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpIHx8IC8vIGRlY2xhcmUgZXhwb3J0IHR5cGUgLi4uXG4gICAgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vcGFxdWUpIC8vIGRlY2xhcmUgZXhwb3J0IG9wYXF1ZSB0eXBlIC4uLlxuICApIHtcbiAgICBwYXJzZUV4cG9ydCgpO1xuICB9IGVsc2Uge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlTW9kdWxlRXhwb3J0cygpIHtcbiAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZXhwb3J0cyk7XG4gIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlVHlwZUFsaWFzKCkge1xuICBuZXh0KCk7XG4gIGZsb3dQYXJzZVR5cGVBbGlhcygpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlT3BhcXVlVHlwZSgpIHtcbiAgbmV4dCgpO1xuICBmbG93UGFyc2VPcGFxdWVUeXBlKHRydWUpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VEZWNsYXJlSW50ZXJmYWNlKCkge1xuICBuZXh0KCk7XG4gIGZsb3dQYXJzZUludGVyZmFjZWlzaCgpO1xufVxuXG4vLyBJbnRlcmZhY2VzXG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUludGVyZmFjZWlzaChpc0NsYXNzID0gZmFsc2UpIHtcbiAgZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoKTtcblxuICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gIH1cblxuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIGRvIHtcbiAgICAgIGZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKTtcbiAgICB9IHdoaWxlICghaXNDbGFzcyAmJiBlYXQodHQuY29tbWEpKTtcbiAgfVxuXG4gIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX21peGlucykpIHtcbiAgICBuZXh0KCk7XG4gICAgZG8ge1xuICAgICAgZmxvd1BhcnNlSW50ZXJmYWNlRXh0ZW5kcygpO1xuICAgIH0gd2hpbGUgKGVhdCh0dC5jb21tYSkpO1xuICB9XG5cbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5faW1wbGVtZW50cykpIHtcbiAgICBuZXh0KCk7XG4gICAgZG8ge1xuICAgICAgZmxvd1BhcnNlSW50ZXJmYWNlRXh0ZW5kcygpO1xuICAgIH0gd2hpbGUgKGVhdCh0dC5jb21tYSkpO1xuICB9XG5cbiAgZmxvd1BhcnNlT2JqZWN0VHlwZShpc0NsYXNzLCBmYWxzZSwgaXNDbGFzcyk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKSB7XG4gIGZsb3dQYXJzZVF1YWxpZmllZFR5cGVJZGVudGlmaWVyKGZhbHNlKTtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlSW50ZXJmYWNlKCkge1xuICBmbG93UGFyc2VJbnRlcmZhY2Vpc2goKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VUeXBlQWxpYXMoKSB7XG4gIGZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyKCk7XG5cbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbigpO1xuICB9XG5cbiAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKHR0LmVxKTtcbiAgc2VtaWNvbG9uKCk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZU9wYXF1ZVR5cGUoZGVjbGFyZSkge1xuICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKTtcbiAgZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoKTtcblxuICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gIH1cblxuICAvLyBQYXJzZSB0aGUgc3VwZXJ0eXBlXG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICBmbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIodHQuY29sb24pO1xuICB9XG5cbiAgaWYgKCFkZWNsYXJlKSB7XG4gICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKHR0LmVxKTtcbiAgfVxuICBzZW1pY29sb24oKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZVBhcmFtZXRlcigpIHtcbiAgZmxvd1BhcnNlVmFyaWFuY2UoKTtcbiAgZmxvd1BhcnNlVHlwZUFubm90YXRhYmxlSWRlbnRpZmllcigpO1xuXG4gIGlmIChlYXQodHQuZXEpKSB7XG4gICAgZmxvd1BhcnNlVHlwZSgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgLy8gaXN0YW5idWwgaWdub3JlIGVsc2U6IHRoaXMgY29uZGl0aW9uIGlzIGFscmVhZHkgY2hlY2tlZCBhdCBhbGwgY2FsbCBzaXRlc1xuICBpZiAobWF0Y2godHQubGVzc1RoYW4pIHx8IG1hdGNoKHR0LnR5cGVQYXJhbWV0ZXJTdGFydCkpIHtcbiAgICBuZXh0KCk7XG4gIH0gZWxzZSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG5cbiAgZG8ge1xuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXIoKTtcbiAgICBpZiAoIW1hdGNoKHR0LmdyZWF0ZXJUaGFuKSkge1xuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICB9XG4gIH0gd2hpbGUgKCFtYXRjaCh0dC5ncmVhdGVyVGhhbikgJiYgIXN0YXRlLmVycm9yKTtcbiAgZXhwZWN0KHR0LmdyZWF0ZXJUaGFuKTtcbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24oKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgZXhwZWN0KHR0Lmxlc3NUaGFuKTtcbiAgd2hpbGUgKCFtYXRjaCh0dC5ncmVhdGVyVGhhbikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgZmxvd1BhcnNlVHlwZSgpO1xuICAgIGlmICghbWF0Y2godHQuZ3JlYXRlclRoYW4pKSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgIH1cbiAgfVxuICBleHBlY3QodHQuZ3JlYXRlclRoYW4pO1xuICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VJbnRlcmZhY2VUeXBlKCkge1xuICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpO1xuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIGRvIHtcbiAgICAgIGZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKTtcbiAgICB9IHdoaWxlIChlYXQodHQuY29tbWEpKTtcbiAgfVxuICBmbG93UGFyc2VPYmplY3RUeXBlKGZhbHNlLCBmYWxzZSwgZmFsc2UpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpIHtcbiAgaWYgKG1hdGNoKHR0Lm51bSkgfHwgbWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VPYmplY3RUeXBlSW5kZXhlcigpIHtcbiAgLy8gTm90ZTogYnJhY2tldEwgaGFzIGFscmVhZHkgYmVlbiBjb25zdW1lZFxuICBpZiAobG9va2FoZWFkVHlwZSgpID09PSB0dC5jb2xvbikge1xuICAgIGZsb3dQYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG4gICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvd1BhcnNlVHlwZSgpO1xuICB9XG4gIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gIGZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VPYmplY3RUeXBlSW50ZXJuYWxTbG90KCkge1xuICAvLyBOb3RlOiBib3RoIGJyYWNrZXRMIGhhdmUgYWxyZWFkeSBiZWVuIGNvbnN1bWVkXG4gIGZsb3dQYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG4gIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gIGV4cGVjdCh0dC5icmFja2V0Uik7XG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikgfHwgbWF0Y2godHQucGFyZW5MKSkge1xuICAgIGZsb3dQYXJzZU9iamVjdFR5cGVNZXRob2Rpc2goKTtcbiAgfSBlbHNlIHtcbiAgICBlYXQodHQucXVlc3Rpb24pO1xuICAgIGZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZU9iamVjdFR5cGVNZXRob2Rpc2goKSB7XG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgfVxuXG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICB3aGlsZSAoIW1hdGNoKHR0LnBhcmVuUikgJiYgIW1hdGNoKHR0LmVsbGlwc2lzKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICBmbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbSgpO1xuICAgIGlmICghbWF0Y2godHQucGFyZW5SKSkge1xuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZWF0KHR0LmVsbGlwc2lzKSkge1xuICAgIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtKCk7XG4gIH1cbiAgZXhwZWN0KHR0LnBhcmVuUik7XG4gIGZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VPYmplY3RUeXBlQ2FsbFByb3BlcnR5KCkge1xuICBmbG93UGFyc2VPYmplY3RUeXBlTWV0aG9kaXNoKCk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZU9iamVjdFR5cGUoYWxsb3dTdGF0aWMsIGFsbG93RXhhY3QsIGFsbG93UHJvdG8pIHtcbiAgbGV0IGVuZERlbGltO1xuICBpZiAoYWxsb3dFeGFjdCAmJiBtYXRjaCh0dC5icmFjZUJhckwpKSB7XG4gICAgZXhwZWN0KHR0LmJyYWNlQmFyTCk7XG4gICAgZW5kRGVsaW0gPSB0dC5icmFjZUJhclI7XG4gIH0gZWxzZSB7XG4gICAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gICAgZW5kRGVsaW0gPSB0dC5icmFjZVI7XG4gIH1cblxuICB3aGlsZSAoIW1hdGNoKGVuZERlbGltKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICBpZiAoYWxsb3dQcm90byAmJiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3Byb3RvKSkge1xuICAgICAgY29uc3QgbG9va2FoZWFkID0gbG9va2FoZWFkVHlwZSgpO1xuICAgICAgaWYgKGxvb2thaGVhZCAhPT0gdHQuY29sb24gJiYgbG9va2FoZWFkICE9PSB0dC5xdWVzdGlvbikge1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIGFsbG93U3RhdGljID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChhbGxvd1N0YXRpYyAmJiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3N0YXRpYykpIHtcbiAgICAgIGNvbnN0IGxvb2thaGVhZCA9IGxvb2thaGVhZFR5cGUoKTtcbiAgICAgIGlmIChsb29rYWhlYWQgIT09IHR0LmNvbG9uICYmIGxvb2thaGVhZCAhPT0gdHQucXVlc3Rpb24pIHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dQYXJzZVZhcmlhbmNlKCk7XG5cbiAgICBpZiAoZWF0KHR0LmJyYWNrZXRMKSkge1xuICAgICAgaWYgKGVhdCh0dC5icmFja2V0TCkpIHtcbiAgICAgICAgZmxvd1BhcnNlT2JqZWN0VHlwZUludGVybmFsU2xvdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmxvd1BhcnNlT2JqZWN0VHlwZUluZGV4ZXIoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG1hdGNoKHR0LnBhcmVuTCkgfHwgbWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgICBmbG93UGFyc2VPYmplY3RUeXBlQ2FsbFByb3BlcnR5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2dldCkgfHwgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9zZXQpKSB7XG4gICAgICAgIGNvbnN0IGxvb2thaGVhZCA9IGxvb2thaGVhZFR5cGUoKTtcbiAgICAgICAgaWYgKGxvb2thaGVhZCA9PT0gdHQubmFtZSB8fCBsb29rYWhlYWQgPT09IHR0LnN0cmluZyB8fCBsb29rYWhlYWQgPT09IHR0Lm51bSkge1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmbG93UGFyc2VPYmplY3RUeXBlUHJvcGVydHkoKTtcbiAgICB9XG5cbiAgICBmbG93T2JqZWN0VHlwZVNlbWljb2xvbigpO1xuICB9XG5cbiAgZXhwZWN0KGVuZERlbGltKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlT2JqZWN0VHlwZVByb3BlcnR5KCkge1xuICBpZiAobWF0Y2godHQuZWxsaXBzaXMpKSB7XG4gICAgZXhwZWN0KHR0LmVsbGlwc2lzKTtcbiAgICBpZiAoIWVhdCh0dC5jb21tYSkpIHtcbiAgICAgIGVhdCh0dC5zZW1pKTtcbiAgICB9XG4gICAgLy8gRXhwbGljaXQgaW5leGFjdCBvYmplY3Qgc3ludGF4LlxuICAgIGlmIChtYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZsb3dQYXJzZVR5cGUoKTtcbiAgfSBlbHNlIHtcbiAgICBmbG93UGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpO1xuICAgIGlmIChtYXRjaCh0dC5sZXNzVGhhbikgfHwgbWF0Y2godHQucGFyZW5MKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIG1ldGhvZCBwcm9wZXJ0eVxuICAgICAgZmxvd1BhcnNlT2JqZWN0VHlwZU1ldGhvZGlzaCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlYXQodHQucXVlc3Rpb24pO1xuICAgICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dPYmplY3RUeXBlU2VtaWNvbG9uKCkge1xuICBpZiAoIWVhdCh0dC5zZW1pKSAmJiAhZWF0KHR0LmNvbW1hKSAmJiAhbWF0Y2godHQuYnJhY2VSKSAmJiAhbWF0Y2godHQuYnJhY2VCYXJSKSkge1xuICAgIHVuZXhwZWN0ZWQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VRdWFsaWZpZWRUeXBlSWRlbnRpZmllcihpbml0aWFsSWRBbHJlYWR5UGFyc2VkKSB7XG4gIGlmICghaW5pdGlhbElkQWxyZWFkeVBhcnNlZCkge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICB9XG4gIHdoaWxlIChlYXQodHQuZG90KSkge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUdlbmVyaWNUeXBlKCkge1xuICBmbG93UGFyc2VRdWFsaWZpZWRUeXBlSWRlbnRpZmllcih0cnVlKTtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZW9mVHlwZSgpIHtcbiAgZXhwZWN0KHR0Ll90eXBlb2YpO1xuICBmbG93UGFyc2VQcmltYXJ5VHlwZSgpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VUdXBsZVR5cGUoKSB7XG4gIGV4cGVjdCh0dC5icmFja2V0TCk7XG4gIC8vIFdlIGFsbG93IHRyYWlsaW5nIGNvbW1hc1xuICB3aGlsZSAoc3RhdGUucG9zIDwgaW5wdXQubGVuZ3RoICYmICFtYXRjaCh0dC5icmFja2V0UikpIHtcbiAgICBmbG93UGFyc2VUeXBlKCk7XG4gICAgaWYgKG1hdGNoKHR0LmJyYWNrZXRSKSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGV4cGVjdCh0dC5jb21tYSk7XG4gIH1cbiAgZXhwZWN0KHR0LmJyYWNrZXRSKTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oKSB7XG4gIGNvbnN0IGxvb2thaGVhZCA9IGxvb2thaGVhZFR5cGUoKTtcbiAgaWYgKGxvb2thaGVhZCA9PT0gdHQuY29sb24gfHwgbG9va2FoZWFkID09PSB0dC5xdWVzdGlvbikge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIGVhdCh0dC5xdWVzdGlvbik7XG4gICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvd1BhcnNlVHlwZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcygpIHtcbiAgd2hpbGUgKCFtYXRjaCh0dC5wYXJlblIpICYmICFtYXRjaCh0dC5lbGxpcHNpcykgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oKTtcbiAgICBpZiAoIW1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICAgIGV4cGVjdCh0dC5jb21tYSk7XG4gICAgfVxuICB9XG4gIGlmIChlYXQodHQuZWxsaXBzaXMpKSB7XG4gICAgZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oKTtcbiAgfVxufVxuXG4vLyBUaGUgcGFyc2luZyBvZiB0eXBlcyByb3VnaGx5IHBhcmFsbGVscyB0aGUgcGFyc2luZyBvZiBleHByZXNzaW9ucywgYW5kXG4vLyBwcmltYXJ5IHR5cGVzIGFyZSBraW5kIG9mIGxpa2UgcHJpbWFyeSBleHByZXNzaW9ucy4uLnRoZXkncmUgdGhlXG4vLyBwcmltaXRpdmVzIHdpdGggd2hpY2ggb3RoZXIgdHlwZXMgYXJlIGNvbnN0cnVjdGVkLlxuZnVuY3Rpb24gZmxvd1BhcnNlUHJpbWFyeVR5cGUoKSB7XG4gIGxldCBpc0dyb3VwZWRUeXBlID0gZmFsc2U7XG4gIGNvbnN0IG9sZE5vQW5vbkZ1bmN0aW9uVHlwZSA9IHN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZTtcblxuICBzd2l0Y2ggKHN0YXRlLnR5cGUpIHtcbiAgICBjYXNlIHR0Lm5hbWU6IHtcbiAgICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2ludGVyZmFjZSkpIHtcbiAgICAgICAgZmxvd1BhcnNlSW50ZXJmYWNlVHlwZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgIGZsb3dQYXJzZUdlbmVyaWNUeXBlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2FzZSB0dC5icmFjZUw6XG4gICAgICBmbG93UGFyc2VPYmplY3RUeXBlKGZhbHNlLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSB0dC5icmFjZUJhckw6XG4gICAgICBmbG93UGFyc2VPYmplY3RUeXBlKGZhbHNlLCB0cnVlLCBmYWxzZSk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0LmJyYWNrZXRMOlxuICAgICAgZmxvd1BhcnNlVHVwbGVUeXBlKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0Lmxlc3NUaGFuOlxuICAgICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgICBleHBlY3QodHQucGFyZW5MKTtcbiAgICAgIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcygpO1xuICAgICAgZXhwZWN0KHR0LnBhcmVuUik7XG4gICAgICBleHBlY3QodHQuYXJyb3cpO1xuICAgICAgZmxvd1BhcnNlVHlwZSgpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSB0dC5wYXJlbkw6XG4gICAgICBuZXh0KCk7XG5cbiAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGlzIGlzIGFjdHVhbGx5IGEgZ3JvdXBlZCB0eXBlXG4gICAgICBpZiAoIW1hdGNoKHR0LnBhcmVuUikgJiYgIW1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgICBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICAgICAgICBjb25zdCB0b2tlbiA9IGxvb2thaGVhZFR5cGUoKTtcbiAgICAgICAgICBpc0dyb3VwZWRUeXBlID0gdG9rZW4gIT09IHR0LnF1ZXN0aW9uICYmIHRva2VuICE9PSB0dC5jb2xvbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0dyb3VwZWRUeXBlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNHcm91cGVkVHlwZSkge1xuICAgICAgICBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSBmYWxzZTtcbiAgICAgICAgZmxvd1BhcnNlVHlwZSgpO1xuICAgICAgICBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSBvbGROb0Fub25GdW5jdGlvblR5cGU7XG5cbiAgICAgICAgLy8gQSBgLGAgb3IgYSBgKSA9PmAgbWVhbnMgdGhpcyBpcyBhbiBhbm9ueW1vdXMgZnVuY3Rpb24gdHlwZVxuICAgICAgICBpZiAoXG4gICAgICAgICAgc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlIHx8XG4gICAgICAgICAgIShtYXRjaCh0dC5jb21tYSkgfHwgKG1hdGNoKHR0LnBhcmVuUikgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5hcnJvdykpXG4gICAgICAgICkge1xuICAgICAgICAgIGV4cGVjdCh0dC5wYXJlblIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBFYXQgYSBjb21tYSBpZiB0aGVyZSBpcyBvbmVcbiAgICAgICAgICBlYXQodHQuY29tbWEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcygpO1xuXG4gICAgICBleHBlY3QodHQucGFyZW5SKTtcbiAgICAgIGV4cGVjdCh0dC5hcnJvdyk7XG4gICAgICBmbG93UGFyc2VUeXBlKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0Lm1pbnVzOlxuICAgICAgbmV4dCgpO1xuICAgICAgcGFyc2VMaXRlcmFsKCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0LnN0cmluZzpcbiAgICBjYXNlIHR0Lm51bTpcbiAgICBjYXNlIHR0Ll90cnVlOlxuICAgIGNhc2UgdHQuX2ZhbHNlOlxuICAgIGNhc2UgdHQuX251bGw6XG4gICAgY2FzZSB0dC5fdGhpczpcbiAgICBjYXNlIHR0Ll92b2lkOlxuICAgIGNhc2UgdHQuc3RhcjpcbiAgICAgIG5leHQoKTtcbiAgICAgIHJldHVybjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAoc3RhdGUudHlwZSA9PT0gdHQuX3R5cGVvZikge1xuICAgICAgICBmbG93UGFyc2VUeXBlb2ZUeXBlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSAmIFRva2VuVHlwZS5JU19LRVlXT1JEKSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQubmFtZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG5cbiAgdW5leHBlY3RlZCgpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VQb3N0Zml4VHlwZSgpIHtcbiAgZmxvd1BhcnNlUHJpbWFyeVR5cGUoKTtcbiAgd2hpbGUgKCFjYW5JbnNlcnRTZW1pY29sb24oKSAmJiAobWF0Y2godHQuYnJhY2tldEwpIHx8IG1hdGNoKHR0LnF1ZXN0aW9uRG90KSkpIHtcbiAgICBlYXQodHQucXVlc3Rpb25Eb3QpO1xuICAgIGV4cGVjdCh0dC5icmFja2V0TCk7XG4gICAgaWYgKGVhdCh0dC5icmFja2V0UikpIHtcbiAgICAgIC8vIEFycmF5IHR5cGVcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSW5kZXhlZCBhY2Nlc3MgdHlwZVxuICAgICAgZmxvd1BhcnNlVHlwZSgpO1xuICAgICAgZXhwZWN0KHR0LmJyYWNrZXRSKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlUHJlZml4VHlwZSgpIHtcbiAgaWYgKGVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICBmbG93UGFyc2VQcmVmaXhUeXBlKCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvd1BhcnNlUG9zdGZpeFR5cGUoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCkge1xuICBmbG93UGFyc2VQcmVmaXhUeXBlKCk7XG4gIGlmICghc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlICYmIGVhdCh0dC5hcnJvdykpIHtcbiAgICBmbG93UGFyc2VUeXBlKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlSW50ZXJzZWN0aW9uVHlwZSgpIHtcbiAgZWF0KHR0LmJpdHdpc2VBTkQpO1xuICBmbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCk7XG4gIHdoaWxlIChlYXQodHQuYml0d2lzZUFORCkpIHtcbiAgICBmbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVW5pb25UeXBlKCkge1xuICBlYXQodHQuYml0d2lzZU9SKTtcbiAgZmxvd1BhcnNlSW50ZXJzZWN0aW9uVHlwZSgpO1xuICB3aGlsZSAoZWF0KHR0LmJpdHdpc2VPUikpIHtcbiAgICBmbG93UGFyc2VJbnRlcnNlY3Rpb25UeXBlKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlVHlwZSgpIHtcbiAgZmxvd1BhcnNlVW5pb25UeXBlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbG93UGFyc2VUeXBlQW5ub3RhdGlvbigpIHtcbiAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZVR5cGVBbm5vdGF0YWJsZUlkZW50aWZpZXIoKSB7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBpZiAobWF0Y2godHQuY29sb24pKSB7XG4gICAgZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlVmFyaWFuY2UoKSB7XG4gIGlmIChtYXRjaCh0dC5wbHVzKSB8fCBtYXRjaCh0dC5taW51cykpIHtcbiAgICBuZXh0KCk7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc1R5cGUgPSB0cnVlO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE92ZXJyaWRlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlRnVuY3Rpb25Cb2R5QW5kRmluaXNoKGZ1bmNDb250ZXh0SWQpIHtcbiAgLy8gRm9yIGFycm93IGZ1bmN0aW9ucywgYHBhcnNlQXJyb3dgIGhhbmRsZXMgdGhlIHJldHVybiB0eXBlIGl0c2VsZi5cbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpO1xuICB9XG5cbiAgcGFyc2VGdW5jdGlvbkJvZHkoZmFsc2UsIGZ1bmNDb250ZXh0SWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlU3Vic2NyaXB0KFxuICBzdGFydFRva2VuSW5kZXgsXG4gIG5vQ2FsbHMsXG4gIHN0b3BTdGF0ZSxcbikge1xuICBpZiAobWF0Y2godHQucXVlc3Rpb25Eb3QpICYmIGxvb2thaGVhZFR5cGUoKSA9PT0gdHQubGVzc1RoYW4pIHtcbiAgICBpZiAobm9DYWxscykge1xuICAgICAgc3RvcFN0YXRlLnN0b3AgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBuZXh0KCk7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24oKTtcbiAgICBleHBlY3QodHQucGFyZW5MKTtcbiAgICBwYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKCk7XG4gICAgcmV0dXJuO1xuICB9IGVsc2UgaWYgKCFub0NhbGxzICYmIG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpO1xuICAgIGV4cGVjdCh0dC5wYXJlbkwpO1xuICAgIHBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMoKTtcbiAgICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIGJhc2VQYXJzZVN1YnNjcmlwdChzdGFydFRva2VuSW5kZXgsIG5vQ2FsbHMsIHN0b3BTdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbG93U3RhcnRQYXJzZU5ld0FyZ3VtZW50cygpIHtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpO1xuICAgIGlmIChzdGF0ZS5lcnJvcikge1xuICAgICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgfVxuICB9XG59XG5cbi8vIGludGVyZmFjZXNcbmV4cG9ydCBmdW5jdGlvbiBmbG93VHJ5UGFyc2VTdGF0ZW1lbnQoKSB7XG4gIGlmIChtYXRjaCh0dC5uYW1lKSAmJiBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2ludGVyZmFjZSkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgICBuZXh0KCk7XG4gICAgZmxvd1BhcnNlSW50ZXJmYWNlKCk7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2VudW0pKSB7XG4gICAgZmxvd1BhcnNlRW51bURlY2xhcmF0aW9uKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1RyeVBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKSB7XG4gIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2VudW0pKSB7XG4gICAgZmxvd1BhcnNlRW51bURlY2xhcmF0aW9uKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBkZWNsYXJlcywgaW50ZXJmYWNlcyBhbmQgdHlwZSBhbGlhc2VzXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlSWRlbnRpZmllclN0YXRlbWVudChjb250ZXh0dWFsS2V5d29yZCkge1xuICBpZiAoY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9kZWNsYXJlKSB7XG4gICAgaWYgKFxuICAgICAgbWF0Y2godHQuX2NsYXNzKSB8fFxuICAgICAgbWF0Y2godHQubmFtZSkgfHxcbiAgICAgIG1hdGNoKHR0Ll9mdW5jdGlvbikgfHxcbiAgICAgIG1hdGNoKHR0Ll92YXIpIHx8XG4gICAgICBtYXRjaCh0dC5fZXhwb3J0KVxuICAgICkge1xuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgICAgZmxvd1BhcnNlRGVjbGFyZSgpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAobWF0Y2godHQubmFtZSkpIHtcbiAgICBpZiAoY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpIHtcbiAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICAgIGZsb3dQYXJzZUludGVyZmFjZSgpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB9IGVsc2UgaWYgKGNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fdHlwZSkge1xuICAgICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgICAgZmxvd1BhcnNlVHlwZUFsaWFzKCk7XG4gICAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICAgIH0gZWxzZSBpZiAoY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9vcGFxdWUpIHtcbiAgICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICAgIGZsb3dQYXJzZU9wYXF1ZVR5cGUoZmFsc2UpO1xuICAgICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB9XG4gIH1cbiAgc2VtaWNvbG9uKCk7XG59XG5cbi8vIGV4cG9ydCB0eXBlXG5leHBvcnQgZnVuY3Rpb24gZmxvd1Nob3VsZFBhcnNlRXhwb3J0RGVjbGFyYXRpb24oKSB7XG4gIHJldHVybiAoXG4gICAgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5faW50ZXJmYWNlKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fb3BhcXVlKSB8fFxuICAgIGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZW51bSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dTaG91bGREaXNhbGxvd0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKSB7XG4gIHJldHVybiAoXG4gICAgbWF0Y2godHQubmFtZSkgJiZcbiAgICAoc3RhdGUuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl90eXBlIHx8XG4gICAgICBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX2ludGVyZmFjZSB8fFxuICAgICAgc3RhdGUuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9vcGFxdWUgfHxcbiAgICAgIHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fZW51bSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkge1xuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKSkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgxKTtcbiAgICBuZXh0KCk7XG5cbiAgICBpZiAobWF0Y2godHQuYnJhY2VMKSkge1xuICAgICAgLy8gZXhwb3J0IHR5cGUgeyBmb28sIGJhciB9O1xuICAgICAgcGFyc2VFeHBvcnRTcGVjaWZpZXJzKCk7XG4gICAgICBwYXJzZUV4cG9ydEZyb20oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZXhwb3J0IHR5cGUgRm9vID0gQmFyO1xuICAgICAgZmxvd1BhcnNlVHlwZUFsaWFzKCk7XG4gICAgfVxuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIH0gZWxzZSBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vcGFxdWUpKSB7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgIG5leHQoKTtcbiAgICAvLyBleHBvcnQgb3BhcXVlIHR5cGUgRm9vID0gQmFyO1xuICAgIGZsb3dQYXJzZU9wYXF1ZVR5cGUoZmFsc2UpO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIH0gZWxzZSBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9pbnRlcmZhY2UpKSB7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDEpO1xuICAgIG5leHQoKTtcbiAgICBmbG93UGFyc2VJbnRlcmZhY2UoKTtcbiAgICBwb3BUeXBlQ29udGV4dChvbGRJc1R5cGUpO1xuICB9IGVsc2Uge1xuICAgIHBhcnNlU3RhdGVtZW50KHRydWUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbG93U2hvdWxkUGFyc2VFeHBvcnRTdGFyKCkge1xuICByZXR1cm4gbWF0Y2godHQuc3RhcikgfHwgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdHlwZSkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5zdGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dQYXJzZUV4cG9ydFN0YXIoKSB7XG4gIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKSkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgyKTtcbiAgICBiYXNlUGFyc2VFeHBvcnRTdGFyKCk7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgfSBlbHNlIHtcbiAgICBiYXNlUGFyc2VFeHBvcnRTdGFyKCk7XG4gIH1cbn1cblxuLy8gcGFyc2UgYSB0aGUgc3VwZXIgY2xhc3MgdHlwZSBwYXJhbWV0ZXJzIGFuZCBpbXBsZW1lbnRzXG5leHBvcnQgZnVuY3Rpb24gZmxvd0FmdGVyUGFyc2VDbGFzc1N1cGVyKGhhc1N1cGVyKSB7XG4gIGlmIChoYXNTdXBlciAmJiBtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpO1xuICB9XG4gIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2ltcGxlbWVudHMpKSB7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICAgIG5leHQoKTtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5faW1wbGVtZW50cztcbiAgICBkbyB7XG4gICAgICBmbG93UGFyc2VSZXN0cmljdGVkSWRlbnRpZmllcigpO1xuICAgICAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgICAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKGVhdCh0dC5jb21tYSkpO1xuICAgIHBvcFR5cGVDb250ZXh0KG9sZElzVHlwZSk7XG4gIH1cbn1cblxuLy8gcGFyc2UgdHlwZSBwYXJhbWV0ZXJzIGZvciBvYmplY3QgbWV0aG9kIHNob3J0aGFuZFxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dTdGFydFBhcnNlT2JqUHJvcFZhbHVlKCkge1xuICAvLyBtZXRob2Qgc2hvcnRoYW5kXG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICBpZiAoIW1hdGNoKHR0LnBhcmVuTCkpIHVuZXhwZWN0ZWQoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlQXNzaWduYWJsZUxpc3RJdGVtVHlwZXMoKSB7XG4gIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgZWF0KHR0LnF1ZXN0aW9uKTtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gIH1cbiAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbn1cblxuLy8gcGFyc2UgdHlwZW9mIGFuZCB0eXBlIGltcG9ydHNcbmV4cG9ydCBmdW5jdGlvbiBmbG93U3RhcnRQYXJzZUltcG9ydFNwZWNpZmllcnMoKSB7XG4gIGlmIChtYXRjaCh0dC5fdHlwZW9mKSB8fCBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpKSB7XG4gICAgY29uc3QgbGggPSBsb29rYWhlYWRUeXBlQW5kS2V5d29yZCgpO1xuICAgIGlmIChpc01heWJlRGVmYXVsdEltcG9ydChsaCkgfHwgbGgudHlwZSA9PT0gdHQuYnJhY2VMIHx8IGxoLnR5cGUgPT09IHR0LnN0YXIpIHtcbiAgICAgIG5leHQoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gcGFyc2UgaW1wb3J0LXR5cGUvdHlwZW9mIHNob3J0aGFuZFxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dQYXJzZUltcG9ydFNwZWNpZmllcigpIHtcbiAgY29uc3QgaXNUeXBlS2V5d29yZCA9XG4gICAgc3RhdGUuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl90eXBlIHx8IHN0YXRlLnR5cGUgPT09IHR0Ll90eXBlb2Y7XG4gIGlmIChpc1R5cGVLZXl3b3JkKSB7XG4gICAgbmV4dCgpO1xuICB9IGVsc2Uge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICB9XG5cbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpICYmICFpc0xvb2thaGVhZENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzKSkge1xuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIGlmIChpc1R5cGVLZXl3b3JkICYmICFtYXRjaCh0dC5uYW1lKSAmJiAhKHN0YXRlLnR5cGUgJiBUb2tlblR5cGUuSVNfS0VZV09SRCkpIHtcbiAgICAgIC8vIGBpbXBvcnQge3R5cGUgYXMgLGAgb3IgYGltcG9ydCB7dHlwZSBhcyB9YFxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBgaW1wb3J0IHt0eXBlIGFzIGZvb2BcbiAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNUeXBlS2V5d29yZCAmJiAobWF0Y2godHQubmFtZSkgfHwgISEoc3RhdGUudHlwZSAmIFRva2VuVHlwZS5JU19LRVlXT1JEKSkpIHtcbiAgICAgIC8vIGBpbXBvcnQge3R5cGUgZm9vYFxuICAgICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gICAgfVxuICAgIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hcykpIHtcbiAgICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBwYXJzZSBmdW5jdGlvbiB0eXBlIHBhcmFtZXRlcnMgLSBmdW5jdGlvbiBmb288VD4oKSB7fVxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dTdGFydFBhcnNlRnVuY3Rpb25QYXJhbXMoKSB7XG4gIC8vIE9yaWdpbmFsbHkgdGhpcyBjaGVja2VkIGlmIHRoZSBtZXRob2QgaXMgYSBnZXR0ZXIvc2V0dGVyLCBidXQgaWYgaXQgd2FzLCB3ZSdkIGNyYXNoIHNvb25cbiAgLy8gYW55d2F5LCBzbyBkb24ndCB0cnkgdG8gcHJvcGFnYXRlIHRoYXQgaW5mb3JtYXRpb24uXG4gIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMCk7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgfVxufVxuXG4vLyBwYXJzZSBmbG93IHR5cGUgYW5ub3RhdGlvbnMgb24gdmFyaWFibGUgZGVjbGFyYXRvciBoZWFkcyAtIGxldCBmb286IHN0cmluZyA9IGJhclxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dBZnRlclBhcnNlVmFySGVhZCgpIHtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gIH1cbn1cblxuLy8gcGFyc2UgdGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGFycm93IGZ1bmN0aW9uIC0gbGV0IGZvbyA9IChhc3luYyAoKTogbnVtYmVyID0+IHt9KTtcbmV4cG9ydCBmdW5jdGlvbiBmbG93U3RhcnRQYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oKSB7XG4gIGlmIChtYXRjaCh0dC5jb2xvbikpIHtcbiAgICBjb25zdCBvbGROb0Fub25GdW5jdGlvblR5cGUgPSBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU7XG4gICAgc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gdHJ1ZTtcbiAgICBmbG93UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICAgIHN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZSA9IG9sZE5vQW5vbkZ1bmN0aW9uVHlwZTtcbiAgfVxufVxuXG4vLyBXZSBuZWVkIHRvIHN1cHBvcnQgdHlwZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb25zIGZvciBhcnJvdyBmdW5jdGlvbnMuIFRoaXNcbi8vIGlzIHRyaWNreS4gVGhlcmUgYXJlIHRocmVlIHNpdHVhdGlvbnMgd2UgbmVlZCB0byBoYW5kbGVcbi8vXG4vLyAxLiBUaGlzIGlzIGVpdGhlciBKU1ggb3IgYW4gYXJyb3cgZnVuY3Rpb24uIFdlJ2xsIHRyeSBKU1ggZmlyc3QuIElmIHRoYXRcbi8vICAgIGZhaWxzLCB3ZSdsbCB0cnkgYW4gYXJyb3cgZnVuY3Rpb24uIElmIHRoYXQgZmFpbHMsIHdlJ2xsIHRocm93IHRoZSBKU1hcbi8vICAgIGVycm9yLlxuLy8gMi4gVGhpcyBpcyBhbiBhcnJvdyBmdW5jdGlvbi4gV2UnbGwgcGFyc2UgdGhlIHR5cGUgcGFyYW1ldGVyIGRlY2xhcmF0aW9uLFxuLy8gICAgcGFyc2UgdGhlIHJlc3QsIG1ha2Ugc3VyZSB0aGUgcmVzdCBpcyBhbiBhcnJvdyBmdW5jdGlvbiwgYW5kIGdvIGZyb21cbi8vICAgIHRoZXJlXG4vLyAzLiBUaGlzIGlzIG5laXRoZXIuIEp1c3QgY2FsbCB0aGUgc3VwZXIgbWV0aG9kXG5leHBvcnQgZnVuY3Rpb24gZmxvd1BhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpIHtcbiAgaWYgKG1hdGNoKHR0Lmxlc3NUaGFuKSkge1xuICAgIGNvbnN0IHNuYXBzaG90ID0gc3RhdGUuc25hcHNob3QoKTtcbiAgICBsZXQgd2FzQXJyb3cgPSBiYXNlUGFyc2VNYXliZUFzc2lnbihub0luLCBpc1dpdGhpblBhcmVucyk7XG4gICAgaWYgKHN0YXRlLmVycm9yKSB7XG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgIHN0YXRlLnR5cGUgPSB0dC50eXBlUGFyYW1ldGVyU3RhcnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB3YXNBcnJvdztcbiAgICB9XG5cbiAgICBjb25zdCBvbGRJc1R5cGUgPSBwdXNoVHlwZUNvbnRleHQoMCk7XG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgICB3YXNBcnJvdyA9IGJhc2VQYXJzZU1heWJlQXNzaWduKG5vSW4sIGlzV2l0aGluUGFyZW5zKTtcbiAgICBpZiAod2FzQXJyb3cpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB1bmV4cGVjdGVkKCk7XG4gIH1cblxuICByZXR1cm4gYmFzZVBhcnNlTWF5YmVBc3NpZ24obm9JbiwgaXNXaXRoaW5QYXJlbnMpO1xufVxuXG4vLyBoYW5kbGUgcmV0dXJuIHR5cGVzIGZvciBhcnJvdyBmdW5jdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBmbG93UGFyc2VBcnJvdygpIHtcbiAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgIGNvbnN0IG9sZElzVHlwZSA9IHB1c2hUeXBlQ29udGV4dCgwKTtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG5cbiAgICBjb25zdCBvbGROb0Fub25GdW5jdGlvblR5cGUgPSBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU7XG4gICAgc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gdHJ1ZTtcbiAgICBmbG93UGFyc2VUeXBlQW5kUHJlZGljYXRlSW5pdGlhbGlzZXIoKTtcbiAgICBzdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSBvbGROb0Fub25GdW5jdGlvblR5cGU7XG5cbiAgICBpZiAoY2FuSW5zZXJ0U2VtaWNvbG9uKCkpIHVuZXhwZWN0ZWQoKTtcbiAgICBpZiAoIW1hdGNoKHR0LmFycm93KSkgdW5leHBlY3RlZCgpO1xuXG4gICAgaWYgKHN0YXRlLmVycm9yKSB7XG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICB9XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgfVxuICByZXR1cm4gZWF0KHR0LmFycm93KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb3dQYXJzZVN1YnNjcmlwdHMoc3RhcnRUb2tlbkluZGV4LCBub0NhbGxzID0gZmFsc2UpIHtcbiAgaWYgKFxuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hc3luYyAmJlxuICAgIG1hdGNoKHR0Lmxlc3NUaGFuKVxuICApIHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG4gICAgY29uc3Qgd2FzQXJyb3cgPSBwYXJzZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtZXRlcnMoKTtcbiAgICBpZiAod2FzQXJyb3cgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICB9XG5cbiAgYmFzZVBhcnNlU3Vic2NyaXB0cyhzdGFydFRva2VuSW5kZXgsIG5vQ2FsbHMpO1xufVxuXG4vLyBSZXR1cm5zIHRydWUgaWYgdGhlcmUgd2FzIGFuIGFycm93IGZ1bmN0aW9uIGhlcmUuXG5mdW5jdGlvbiBwYXJzZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtZXRlcnMoKSB7XG4gIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICBpZiAoIXBhcnNlQXJyb3coKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBwYXJzZUFycm93RXhwcmVzc2lvbihzdGFydFRva2VuSW5kZXgpO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZmxvd1BhcnNlRW51bURlY2xhcmF0aW9uKCkge1xuICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9lbnVtKTtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2VudW07XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBmbG93UGFyc2VFbnVtQm9keSgpO1xufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VFbnVtQm9keSgpIHtcbiAgaWYgKGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX29mKSkge1xuICAgIG5leHQoKTtcbiAgfVxuICBleHBlY3QodHQuYnJhY2VMKTtcbiAgZmxvd1BhcnNlRW51bU1lbWJlcnMoKTtcbiAgZXhwZWN0KHR0LmJyYWNlUik7XG59XG5cbmZ1bmN0aW9uIGZsb3dQYXJzZUVudW1NZW1iZXJzKCkge1xuICB3aGlsZSAoIW1hdGNoKHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGVhdCh0dC5lbGxpcHNpcykpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBmbG93UGFyc2VFbnVtTWVtYmVyKCk7XG4gICAgaWYgKCFtYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbG93UGFyc2VFbnVtTWVtYmVyKCkge1xuICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgaWYgKGVhdCh0dC5lcSkpIHtcbiAgICAvLyBGbG93IGVudW0gdmFsdWVzIGFyZSBhbHdheXMganVzdCBvbmUgdG9rZW4gKGEgc3RyaW5nLCBudW1iZXIsIG9yIGJvb2xlYW4gbGl0ZXJhbCkuXG4gICAgbmV4dCgpO1xuICB9XG59XG4iLCAiLyogZXNsaW50IG1heC1sZW46IDAgKi9cblxuaW1wb3J0IHtGaWxlfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB7XG4gIGZsb3dBZnRlclBhcnNlQ2xhc3NTdXBlcixcbiAgZmxvd0FmdGVyUGFyc2VWYXJIZWFkLFxuICBmbG93UGFyc2VFeHBvcnREZWNsYXJhdGlvbixcbiAgZmxvd1BhcnNlRXhwb3J0U3RhcixcbiAgZmxvd1BhcnNlSWRlbnRpZmllclN0YXRlbWVudCxcbiAgZmxvd1BhcnNlSW1wb3J0U3BlY2lmaWVyLFxuICBmbG93UGFyc2VUeXBlQW5ub3RhdGlvbixcbiAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uLFxuICBmbG93U2hvdWxkRGlzYWxsb3dFeHBvcnREZWZhdWx0U3BlY2lmaWVyLFxuICBmbG93U2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbixcbiAgZmxvd1Nob3VsZFBhcnNlRXhwb3J0U3RhcixcbiAgZmxvd1N0YXJ0UGFyc2VGdW5jdGlvblBhcmFtcyxcbiAgZmxvd1N0YXJ0UGFyc2VJbXBvcnRTcGVjaWZpZXJzLFxuICBmbG93VHJ5UGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbixcbiAgZmxvd1RyeVBhcnNlU3RhdGVtZW50LFxufSBmcm9tIFwiLi4vcGx1Z2lucy9mbG93XCI7XG5pbXBvcnQge1xuICB0c0FmdGVyUGFyc2VDbGFzc1N1cGVyLFxuICB0c0FmdGVyUGFyc2VWYXJIZWFkLFxuICB0c0lzRGVjbGFyYXRpb25TdGFydCxcbiAgdHNQYXJzZUV4cG9ydERlY2xhcmF0aW9uLFxuICB0c1BhcnNlRXhwb3J0U3BlY2lmaWVyLFxuICB0c1BhcnNlSWRlbnRpZmllclN0YXRlbWVudCxcbiAgdHNQYXJzZUltcG9ydEVxdWFsc0RlY2xhcmF0aW9uLFxuICB0c1BhcnNlSW1wb3J0U3BlY2lmaWVyLFxuICB0c1BhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMsXG4gIHRzUGFyc2VNb2RpZmllcnMsXG4gIHRzU3RhcnRQYXJzZUZ1bmN0aW9uUGFyYW1zLFxuICB0c1RyeVBhcnNlQ2xhc3NNZW1iZXJXaXRoSXNTdGF0aWMsXG4gIHRzVHJ5UGFyc2VFeHBvcnQsXG4gIHRzVHJ5UGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbixcbiAgdHNUcnlQYXJzZVN0YXRlbWVudENvbnRlbnQsXG4gIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbixcbiAgdHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzLFxufSBmcm9tIFwiLi4vcGx1Z2lucy90eXBlc2NyaXB0XCI7XG5pbXBvcnQge1xuICBlYXQsXG4gIGVhdFR5cGVUb2tlbixcbiAgSWRlbnRpZmllclJvbGUsXG4gIGxvb2thaGVhZFR5cGUsXG4gIGxvb2thaGVhZFR5cGVBbmRLZXl3b3JkLFxuICBtYXRjaCxcbiAgbmV4dCxcbiAgbmV4dFRva2VuU3RhcnQsXG4gIG5leHRUb2tlblN0YXJ0U2luY2UsXG4gIHBvcFR5cGVDb250ZXh0LFxuICBwdXNoVHlwZUNvbnRleHQsXG59IGZyb20gXCIuLi90b2tlbml6ZXJcIjtcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7U2NvcGV9IGZyb20gXCIuLi90b2tlbml6ZXIvc3RhdGVcIjtcbmltcG9ydCB7IFRva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3Rva2VuaXplci90eXBlc1wiO1xuaW1wb3J0IHtjaGFyQ29kZXN9IGZyb20gXCIuLi91dGlsL2NoYXJjb2Rlc1wiO1xuaW1wb3J0IHtnZXROZXh0Q29udGV4dElkLCBpbnB1dCwgaXNGbG93RW5hYmxlZCwgaXNUeXBlU2NyaXB0RW5hYmxlZCwgc3RhdGV9IGZyb20gXCIuL2Jhc2VcIjtcbmltcG9ydCB7XG4gIHBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMsXG4gIHBhcnNlRXhwckF0b20sXG4gIHBhcnNlRXhwcmVzc2lvbixcbiAgcGFyc2VFeHByU3Vic2NyaXB0cyxcbiAgcGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2gsXG4gIHBhcnNlSWRlbnRpZmllcixcbiAgcGFyc2VNYXliZUFzc2lnbixcbiAgcGFyc2VNZXRob2QsXG4gIHBhcnNlT2JqLFxuICBwYXJzZVBhcmVuRXhwcmVzc2lvbixcbiAgcGFyc2VQcm9wZXJ0eU5hbWUsXG59IGZyb20gXCIuL2V4cHJlc3Npb25cIjtcbmltcG9ydCB7XG4gIHBhcnNlQmluZGluZ0F0b20sXG4gIHBhcnNlQmluZGluZ0lkZW50aWZpZXIsXG4gIHBhcnNlQmluZGluZ0xpc3QsXG4gIHBhcnNlSW1wb3J0ZWRJZGVudGlmaWVyLFxufSBmcm9tIFwiLi9sdmFsXCI7XG5pbXBvcnQge1xuICBjYW5JbnNlcnRTZW1pY29sb24sXG4gIGVhdENvbnRleHR1YWwsXG4gIGV4cGVjdCxcbiAgZXhwZWN0Q29udGV4dHVhbCxcbiAgaGFzRm9sbG93aW5nTGluZUJyZWFrLFxuICBoYXNQcmVjZWRpbmdMaW5lQnJlYWssXG4gIGlzQ29udGV4dHVhbCxcbiAgaXNMaW5lVGVybWluYXRvcixcbiAgaXNMb29rYWhlYWRDb250ZXh0dWFsLFxuICBzZW1pY29sb24sXG4gIHVuZXhwZWN0ZWQsXG59IGZyb20gXCIuL3V0aWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVG9wTGV2ZWwoKSB7XG4gIHBhcnNlQmxvY2tCb2R5KHR0LmVvZik7XG4gIHN0YXRlLnNjb3Blcy5wdXNoKG5ldyBTY29wZSgwLCBzdGF0ZS50b2tlbnMubGVuZ3RoLCB0cnVlKSk7XG4gIGlmIChzdGF0ZS5zY29wZURlcHRoICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNjb3BlIGRlcHRoIGF0IGVuZCBvZiBmaWxlOiAke3N0YXRlLnNjb3BlRGVwdGh9YCk7XG4gIH1cbiAgcmV0dXJuIG5ldyBGaWxlKHN0YXRlLnRva2Vucywgc3RhdGUuc2NvcGVzKTtcbn1cblxuLy8gUGFyc2UgYSBzaW5nbGUgc3RhdGVtZW50LlxuLy9cbi8vIElmIGV4cGVjdGluZyBhIHN0YXRlbWVudCBhbmQgZmluZGluZyBhIHNsYXNoIG9wZXJhdG9yLCBwYXJzZSBhXG4vLyByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbC4gVGhpcyBpcyB0byBoYW5kbGUgY2FzZXMgbGlrZVxuLy8gYGlmIChmb28pIC9ibGFoLy5leGVjKGZvbylgLCB3aGVyZSBsb29raW5nIGF0IHRoZSBwcmV2aW91cyB0b2tlblxuLy8gZG9lcyBub3QgaGVscC5cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3RhdGVtZW50KGRlY2xhcmF0aW9uKSB7XG4gIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgaWYgKGZsb3dUcnlQYXJzZVN0YXRlbWVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIGlmIChtYXRjaCh0dC5hdCkpIHtcbiAgICBwYXJzZURlY29yYXRvcnMoKTtcbiAgfVxuICBwYXJzZVN0YXRlbWVudENvbnRlbnQoZGVjbGFyYXRpb24pO1xufVxuXG5mdW5jdGlvbiBwYXJzZVN0YXRlbWVudENvbnRlbnQoZGVjbGFyYXRpb24pIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICBpZiAodHNUcnlQYXJzZVN0YXRlbWVudENvbnRlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN0YXJ0dHlwZSA9IHN0YXRlLnR5cGU7XG5cbiAgLy8gTW9zdCB0eXBlcyBvZiBzdGF0ZW1lbnRzIGFyZSByZWNvZ25pemVkIGJ5IHRoZSBrZXl3b3JkIHRoZXlcbiAgLy8gc3RhcnQgd2l0aC4gTWFueSBhcmUgdHJpdmlhbCB0byBwYXJzZSwgc29tZSByZXF1aXJlIGEgYml0IG9mXG4gIC8vIGNvbXBsZXhpdHkuXG5cbiAgc3dpdGNoIChzdGFydHR5cGUpIHtcbiAgICBjYXNlIHR0Ll9icmVhazpcbiAgICBjYXNlIHR0Ll9jb250aW51ZTpcbiAgICAgIHBhcnNlQnJlYWtDb250aW51ZVN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX2RlYnVnZ2VyOlxuICAgICAgcGFyc2VEZWJ1Z2dlclN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX2RvOlxuICAgICAgcGFyc2VEb1N0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX2ZvcjpcbiAgICAgIHBhcnNlRm9yU3RhdGVtZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSB0dC5fZnVuY3Rpb246XG4gICAgICBpZiAobG9va2FoZWFkVHlwZSgpID09PSB0dC5kb3QpIGJyZWFrO1xuICAgICAgaWYgKCFkZWNsYXJhdGlvbikgdW5leHBlY3RlZCgpO1xuICAgICAgcGFyc2VGdW5jdGlvblN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSB0dC5fY2xhc3M6XG4gICAgICBpZiAoIWRlY2xhcmF0aW9uKSB1bmV4cGVjdGVkKCk7XG4gICAgICBwYXJzZUNsYXNzKHRydWUpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSB0dC5faWY6XG4gICAgICBwYXJzZUlmU3RhdGVtZW50KCk7XG4gICAgICByZXR1cm47XG4gICAgY2FzZSB0dC5fcmV0dXJuOlxuICAgICAgcGFyc2VSZXR1cm5TdGF0ZW1lbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0Ll9zd2l0Y2g6XG4gICAgICBwYXJzZVN3aXRjaFN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX3Rocm93OlxuICAgICAgcGFyc2VUaHJvd1N0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuX3RyeTpcbiAgICAgIHBhcnNlVHJ5U3RhdGVtZW50KCk7XG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIHR0Ll9sZXQ6XG4gICAgY2FzZSB0dC5fY29uc3Q6XG4gICAgICBpZiAoIWRlY2xhcmF0aW9uKSB1bmV4cGVjdGVkKCk7IC8vIE5PVEU6IGZhbGxzIHRocm91Z2ggdG8gX3ZhclxuXG4gICAgY2FzZSB0dC5fdmFyOlxuICAgICAgcGFyc2VWYXJTdGF0ZW1lbnQoc3RhcnR0eXBlICE9PSB0dC5fdmFyKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgdHQuX3doaWxlOlxuICAgICAgcGFyc2VXaGlsZVN0YXRlbWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuYnJhY2VMOlxuICAgICAgcGFyc2VCbG9jaygpO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgdHQuc2VtaTpcbiAgICAgIHBhcnNlRW1wdHlTdGF0ZW1lbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICBjYXNlIHR0Ll9leHBvcnQ6XG4gICAgY2FzZSB0dC5faW1wb3J0OiB7XG4gICAgICBjb25zdCBuZXh0VHlwZSA9IGxvb2thaGVhZFR5cGUoKTtcbiAgICAgIGlmIChuZXh0VHlwZSA9PT0gdHQucGFyZW5MIHx8IG5leHRUeXBlID09PSB0dC5kb3QpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAoc3RhcnR0eXBlID09PSB0dC5faW1wb3J0KSB7XG4gICAgICAgIHBhcnNlSW1wb3J0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJzZUV4cG9ydCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYXNlIHR0Lm5hbWU6XG4gICAgICBpZiAoc3RhdGUuY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hc3luYykge1xuICAgICAgICBjb25zdCBmdW5jdGlvblN0YXJ0ID0gc3RhdGUuc3RhcnQ7XG4gICAgICAgIC8vIHBlZWsgYWhlYWQgYW5kIHNlZSBpZiBuZXh0IHRva2VuIGlzIGEgZnVuY3Rpb25cbiAgICAgICAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICAgICAgICBuZXh0KCk7XG4gICAgICAgIGlmIChtYXRjaCh0dC5fZnVuY3Rpb24pICYmICFjYW5JbnNlcnRTZW1pY29sb24oKSkge1xuICAgICAgICAgIGV4cGVjdCh0dC5fZnVuY3Rpb24pO1xuICAgICAgICAgIHBhcnNlRnVuY3Rpb24oZnVuY3Rpb25TdGFydCwgdHJ1ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX3VzaW5nICYmXG4gICAgICAgICFoYXNGb2xsb3dpbmdMaW5lQnJlYWsoKSAmJlxuICAgICAgICAvLyBTdGF0ZW1lbnRzIGxpa2UgYHVzaW5nWzBdYCBhbmQgYHVzaW5nIGluIGZvb2AgYXJlbid0IGFjdHVhbCB1c2luZ1xuICAgICAgICAvLyBkZWNsYXJhdGlvbnMuXG4gICAgICAgIGxvb2thaGVhZFR5cGUoKSA9PT0gdHQubmFtZVxuICAgICAgKSB7XG4gICAgICAgIHBhcnNlVmFyU3RhdGVtZW50KHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKHN0YXJ0c0F3YWl0VXNpbmcoKSkge1xuICAgICAgICBleHBlY3RDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hd2FpdCk7XG4gICAgICAgIHBhcnNlVmFyU3RhdGVtZW50KHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIERvIG5vdGhpbmcuXG4gICAgICBicmVhaztcbiAgfVxuXG4gIC8vIElmIHRoZSBzdGF0ZW1lbnQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhIHN0YXRlbWVudCBrZXl3b3JkIG9yIGFcbiAgLy8gYnJhY2UsIGl0J3MgYW4gRXhwcmVzc2lvblN0YXRlbWVudCBvciBMYWJlbGVkU3RhdGVtZW50LiBXZVxuICAvLyBzaW1wbHkgc3RhcnQgcGFyc2luZyBhbiBleHByZXNzaW9uLCBhbmQgYWZ0ZXJ3YXJkcywgaWYgdGhlXG4gIC8vIG5leHQgdG9rZW4gaXMgYSBjb2xvbiBhbmQgdGhlIGV4cHJlc3Npb24gd2FzIGEgc2ltcGxlXG4gIC8vIElkZW50aWZpZXIgbm9kZSwgd2Ugc3dpdGNoIHRvIGludGVycHJldGluZyBpdCBhcyBhIGxhYmVsLlxuICBjb25zdCBpbml0aWFsVG9rZW5zTGVuZ3RoID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgcGFyc2VFeHByZXNzaW9uKCk7XG4gIGxldCBzaW1wbGVOYW1lID0gbnVsbDtcbiAgaWYgKHN0YXRlLnRva2Vucy5sZW5ndGggPT09IGluaXRpYWxUb2tlbnNMZW5ndGggKyAxKSB7XG4gICAgY29uc3QgdG9rZW4gPSBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgIGlmICh0b2tlbi50eXBlID09PSB0dC5uYW1lKSB7XG4gICAgICBzaW1wbGVOYW1lID0gdG9rZW4uY29udGV4dHVhbEtleXdvcmQ7XG4gICAgfVxuICB9XG4gIGlmIChzaW1wbGVOYW1lID09IG51bGwpIHtcbiAgICBzZW1pY29sb24oKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGVhdCh0dC5jb2xvbikpIHtcbiAgICBwYXJzZUxhYmVsZWRTdGF0ZW1lbnQoKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIHdhcyBhbiBpZGVudGlmaWVyLCBzbyB3ZSBtaWdodCB3YW50IHRvIGhhbmRsZSBmbG93L3R5cGVzY3JpcHQtc3BlY2lmaWMgY2FzZXMuXG4gICAgcGFyc2VJZGVudGlmaWVyU3RhdGVtZW50KHNpbXBsZU5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIHdlJ3JlIHBvc2l0aW9uZWQgYXQgYW4gYGF3YWl0IHVzaW5nYCBkZWNsYXJhdGlvbi5cbiAqXG4gKiBOb3RlIHRoYXQgdGhpcyBjYW4gaGFwcGVuIGVpdGhlciBpbiBwbGFjZSBvZiBhIHJlZ3VsYXIgdmFyaWFibGUgZGVjbGFyYXRpb25cbiAqIG9yIGluIGEgbG9vcCBib2R5LCBhbmQgaW4gYm90aCBwbGFjZXMsIHRoZXJlIGFyZSBzaW1pbGFyLWxvb2tpbmcgY2FzZXMgd2hlcmVcbiAqIHdlIG5lZWQgdG8gcmV0dXJuIGZhbHNlLlxuICpcbiAqIEV4YW1wbGVzIHJldHVybmluZyB0cnVlOlxuICogYXdhaXQgdXNpbmcgZm9vID0gYmFyKCk7XG4gKiBmb3IgKGF3YWl0IHVzaW5nIGEgb2YgYikge31cbiAqXG4gKiBFeGFtcGxlcyByZXR1cm5pbmcgZmFsc2U6XG4gKiBhd2FpdCB1c2luZ1xuICogYXdhaXQgdXNpbmcgKyAxXG4gKiBhd2FpdCB1c2luZyBpbnN0YW5jZW9mIFRcbiAqIGZvciAoYXdhaXQgdXNpbmc7Oykge31cbiAqXG4gKiBGb3Igbm93LCB3ZSBlYXJseSByZXR1cm4gaWYgd2UgZG9uJ3Qgc2VlIGBhd2FpdGAsIHRoZW4gZG8gYSBzaW1wbGVcbiAqIGJhY2t0cmFja2luZy1iYXNlZCBsb29rYWhlYWQgZm9yIHRoZSBgdXNpbmdgIGFuZCBpZGVudGlmaWVyIHRva2Vucy4gSW4gdGhlXG4gKiBmdXR1cmUsIHRoaXMgY291bGQgYmUgb3B0aW1pemVkIHdpdGggYSBjaGFyYWN0ZXItYmFzZWQgYXBwcm9hY2guXG4gKi9cbmZ1bmN0aW9uIHN0YXJ0c0F3YWl0VXNpbmcoKSB7XG4gIGlmICghaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hd2FpdCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3Qgc25hcHNob3QgPSBzdGF0ZS5zbmFwc2hvdCgpO1xuICAvLyBhd2FpdFxuICBuZXh0KCk7XG4gIGlmICghaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl91c2luZykgfHwgaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpIHtcbiAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gdXNpbmdcbiAgbmV4dCgpO1xuICBpZiAoIW1hdGNoKHR0Lm5hbWUpIHx8IGhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSB7XG4gICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGVjb3JhdG9ycygpIHtcbiAgd2hpbGUgKG1hdGNoKHR0LmF0KSkge1xuICAgIHBhcnNlRGVjb3JhdG9yKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VEZWNvcmF0b3IoKSB7XG4gIG5leHQoKTtcbiAgaWYgKGVhdCh0dC5wYXJlbkwpKSB7XG4gICAgcGFyc2VFeHByZXNzaW9uKCk7XG4gICAgZXhwZWN0KHR0LnBhcmVuUik7XG4gIH0gZWxzZSB7XG4gICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gICAgd2hpbGUgKGVhdCh0dC5kb3QpKSB7XG4gICAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgICB9XG4gICAgcGFyc2VNYXliZURlY29yYXRvckFyZ3VtZW50cygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNQYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKCk7XG4gIH0gZWxzZSB7XG4gICAgYmFzZVBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFzZVBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoKSB7XG4gIGlmIChlYXQodHQucGFyZW5MKSkge1xuICAgIHBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUJyZWFrQ29udGludWVTdGF0ZW1lbnQoKSB7XG4gIG5leHQoKTtcbiAgaWYgKCFpc0xpbmVUZXJtaW5hdG9yKCkpIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgICBzZW1pY29sb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZURlYnVnZ2VyU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBwYXJzZURvU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlU3RhdGVtZW50KGZhbHNlKTtcbiAgZXhwZWN0KHR0Ll93aGlsZSk7XG4gIHBhcnNlUGFyZW5FeHByZXNzaW9uKCk7XG4gIGVhdCh0dC5zZW1pKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VGb3JTdGF0ZW1lbnQoKSB7XG4gIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgcGFyc2VBbWJpZ3VvdXNGb3JTdGF0ZW1lbnQoKTtcbiAgY29uc3QgZW5kVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHN0YXRlLnNjb3Blcy5wdXNoKG5ldyBTY29wZShzdGFydFRva2VuSW5kZXgsIGVuZFRva2VuSW5kZXgsIGZhbHNlKSk7XG4gIHN0YXRlLnNjb3BlRGVwdGgtLTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgdGhpcyB0b2tlbiBpcyBhIGB1c2luZ2AgZGVjbGFyYXRpb24gKGV4cGxpY2l0IHJlc291cmNlXG4gKiBtYW5hZ2VtZW50KSBhcyBwYXJ0IG9mIGEgbG9vcC5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLWV4cGxpY2l0LXJlc291cmNlLW1hbmFnZW1lbnRcbiAqL1xuZnVuY3Rpb24gaXNVc2luZ0luTG9vcCgpIHtcbiAgaWYgKCFpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3VzaW5nKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvLyBUaGlzIG11c3QgYmUgYGZvciAodXNpbmcgb2ZgLCB3aGVyZSBgdXNpbmdgIGlzIHRoZSBuYW1lIG9mIHRoZSBsb29wXG4gIC8vIHZhcmlhYmxlLlxuICBpZiAoaXNMb29rYWhlYWRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vZikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8vIERpc2FtYmlndWF0aW5nIGJldHdlZW4gYSBgZm9yYCBhbmQgYSBgZm9yYC9gaW5gIG9yIGBmb3JgL2BvZmBcbi8vIGxvb3AgaXMgbm9uLXRyaXZpYWwuIEJhc2ljYWxseSwgd2UgaGF2ZSB0byBwYXJzZSB0aGUgaW5pdCBgdmFyYFxuLy8gc3RhdGVtZW50IG9yIGV4cHJlc3Npb24sIGRpc2FsbG93aW5nIHRoZSBgaW5gIG9wZXJhdG9yIChzZWVcbi8vIHRoZSBzZWNvbmQgcGFyYW1ldGVyIHRvIGBwYXJzZUV4cHJlc3Npb25gKSwgYW5kIHRoZW4gY2hlY2tcbi8vIHdoZXRoZXIgdGhlIG5leHQgdG9rZW4gaXMgYGluYCBvciBgb2ZgLiBXaGVuIHRoZXJlIGlzIG5vIGluaXRcbi8vIHBhcnQgKHNlbWljb2xvbiBpbW1lZGlhdGVseSBhZnRlciB0aGUgb3BlbmluZyBwYXJlbnRoZXNpcyksIGl0XG4vLyBpcyBhIHJlZ3VsYXIgYGZvcmAgbG9vcC5cbmZ1bmN0aW9uIHBhcnNlQW1iaWd1b3VzRm9yU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG5cbiAgbGV0IGZvckF3YWl0ID0gZmFsc2U7XG4gIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2F3YWl0KSkge1xuICAgIGZvckF3YWl0ID0gdHJ1ZTtcbiAgICBuZXh0KCk7XG4gIH1cbiAgZXhwZWN0KHR0LnBhcmVuTCk7XG5cbiAgaWYgKG1hdGNoKHR0LnNlbWkpKSB7XG4gICAgaWYgKGZvckF3YWl0KSB7XG4gICAgICB1bmV4cGVjdGVkKCk7XG4gICAgfVxuICAgIHBhcnNlRm9yKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgaXNBd2FpdFVzaW5nID0gc3RhcnRzQXdhaXRVc2luZygpO1xuICBpZiAoaXNBd2FpdFVzaW5nIHx8IG1hdGNoKHR0Ll92YXIpIHx8IG1hdGNoKHR0Ll9sZXQpIHx8IG1hdGNoKHR0Ll9jb25zdCkgfHwgaXNVc2luZ0luTG9vcCgpKSB7XG4gICAgaWYgKGlzQXdhaXRVc2luZykge1xuICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXdhaXQpO1xuICAgIH1cbiAgICBuZXh0KCk7XG4gICAgcGFyc2VWYXIodHJ1ZSwgc3RhdGUudHlwZSAhPT0gdHQuX3Zhcik7XG4gICAgaWYgKG1hdGNoKHR0Ll9pbikgfHwgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vZikpIHtcbiAgICAgIHBhcnNlRm9ySW4oZm9yQXdhaXQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBwYXJzZUZvcigpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHBhcnNlRXhwcmVzc2lvbih0cnVlKTtcbiAgaWYgKG1hdGNoKHR0Ll9pbikgfHwgaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9vZikpIHtcbiAgICBwYXJzZUZvckluKGZvckF3YWl0KTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGZvckF3YWl0KSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG4gIHBhcnNlRm9yKCk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlRnVuY3Rpb25TdGF0ZW1lbnQoKSB7XG4gIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgbmV4dCgpO1xuICBwYXJzZUZ1bmN0aW9uKGZ1bmN0aW9uU3RhcnQsIHRydWUpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUlmU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlUGFyZW5FeHByZXNzaW9uKCk7XG4gIHBhcnNlU3RhdGVtZW50KGZhbHNlKTtcbiAgaWYgKGVhdCh0dC5fZWxzZSkpIHtcbiAgICBwYXJzZVN0YXRlbWVudChmYWxzZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoKSB7XG4gIG5leHQoKTtcblxuICAvLyBJbiBgcmV0dXJuYCAoYW5kIGBicmVha2AvYGNvbnRpbnVlYCksIHRoZSBrZXl3b3JkcyB3aXRoXG4gIC8vIG9wdGlvbmFsIGFyZ3VtZW50cywgd2UgZWFnZXJseSBsb29rIGZvciBhIHNlbWljb2xvbiBvciB0aGVcbiAgLy8gcG9zc2liaWxpdHkgdG8gaW5zZXJ0IG9uZS5cblxuICBpZiAoIWlzTGluZVRlcm1pbmF0b3IoKSkge1xuICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgIHNlbWljb2xvbigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3dpdGNoU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlUGFyZW5FeHByZXNzaW9uKCk7XG4gIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG5cbiAgLy8gRG9uJ3QgYm90aGVyIHZhbGlkYXRpb247IGp1c3QgZ28gdGhyb3VnaCBhbnkgc2VxdWVuY2Ugb2YgY2FzZXMsIGRlZmF1bHRzLCBhbmQgc3RhdGVtZW50cy5cbiAgd2hpbGUgKCFtYXRjaCh0dC5icmFjZVIpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIGlmIChtYXRjaCh0dC5fY2FzZSkgfHwgbWF0Y2godHQuX2RlZmF1bHQpKSB7XG4gICAgICBjb25zdCBpc0Nhc2UgPSBtYXRjaCh0dC5fY2FzZSk7XG4gICAgICBuZXh0KCk7XG4gICAgICBpZiAoaXNDYXNlKSB7XG4gICAgICAgIHBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgfVxuICAgICAgZXhwZWN0KHR0LmNvbG9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VTdGF0ZW1lbnQodHJ1ZSk7XG4gICAgfVxuICB9XG4gIG5leHQoKTsgLy8gQ2xvc2luZyBicmFjZVxuICBjb25zdCBlbmRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgc3RhdGUuc2NvcGVzLnB1c2gobmV3IFNjb3BlKHN0YXJ0VG9rZW5JbmRleCwgZW5kVG9rZW5JbmRleCwgZmFsc2UpKTtcbiAgc3RhdGUuc2NvcGVEZXB0aC0tO1xufVxuXG5mdW5jdGlvbiBwYXJzZVRocm93U3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlRXhwcmVzc2lvbigpO1xuICBzZW1pY29sb24oKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VDYXRjaENsYXVzZVBhcmFtKCkge1xuICBwYXJzZUJpbmRpbmdBdG9tKHRydWUgLyogaXNCbG9ja1Njb3BlICovKTtcblxuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlVHJ5U3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG5cbiAgcGFyc2VCbG9jaygpO1xuXG4gIGlmIChtYXRjaCh0dC5fY2F0Y2gpKSB7XG4gICAgbmV4dCgpO1xuICAgIGxldCBjYXRjaEJpbmRpbmdTdGFydFRva2VuSW5kZXggPSBudWxsO1xuICAgIGlmIChtYXRjaCh0dC5wYXJlbkwpKSB7XG4gICAgICBzdGF0ZS5zY29wZURlcHRoKys7XG4gICAgICBjYXRjaEJpbmRpbmdTdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgICAgZXhwZWN0KHR0LnBhcmVuTCk7XG4gICAgICBwYXJzZUNhdGNoQ2xhdXNlUGFyYW0oKTtcbiAgICAgIGV4cGVjdCh0dC5wYXJlblIpO1xuICAgIH1cbiAgICBwYXJzZUJsb2NrKCk7XG4gICAgaWYgKGNhdGNoQmluZGluZ1N0YXJ0VG9rZW5JbmRleCAhPSBudWxsKSB7XG4gICAgICAvLyBXZSBuZWVkIGEgc3BlY2lhbCBzY29wZSBmb3IgdGhlIGNhdGNoIGJpbmRpbmcgd2hpY2ggaW5jbHVkZXMgdGhlIGJpbmRpbmcgaXRzZWxmIGFuZCB0aGVcbiAgICAgIC8vIGNhdGNoIGJsb2NrLlxuICAgICAgY29uc3QgZW5kVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gICAgICBzdGF0ZS5zY29wZXMucHVzaChuZXcgU2NvcGUoY2F0Y2hCaW5kaW5nU3RhcnRUb2tlbkluZGV4LCBlbmRUb2tlbkluZGV4LCBmYWxzZSkpO1xuICAgICAgc3RhdGUuc2NvcGVEZXB0aC0tO1xuICAgIH1cbiAgfVxuICBpZiAoZWF0KHR0Ll9maW5hbGx5KSkge1xuICAgIHBhcnNlQmxvY2soKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VWYXJTdGF0ZW1lbnQoaXNCbG9ja1Njb3BlKSB7XG4gIG5leHQoKTtcbiAgcGFyc2VWYXIoZmFsc2UsIGlzQmxvY2tTY29wZSk7XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBwYXJzZVdoaWxlU3RhdGVtZW50KCkge1xuICBuZXh0KCk7XG4gIHBhcnNlUGFyZW5FeHByZXNzaW9uKCk7XG4gIHBhcnNlU3RhdGVtZW50KGZhbHNlKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VFbXB0eVN0YXRlbWVudCgpIHtcbiAgbmV4dCgpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUxhYmVsZWRTdGF0ZW1lbnQoKSB7XG4gIHBhcnNlU3RhdGVtZW50KHRydWUpO1xufVxuXG4vKipcbiAqIFBhcnNlIGEgc3RhdGVtZW50IHN0YXJ0aW5nIHdpdGggYW4gaWRlbnRpZmllciBvZiB0aGUgZ2l2ZW4gbmFtZS4gU3ViY2xhc3NlcyBtYXRjaCBvbiB0aGUgbmFtZVxuICogdG8gaGFuZGxlIHN0YXRlbWVudHMgbGlrZSBcImRlY2xhcmVcIi5cbiAqL1xuZnVuY3Rpb24gcGFyc2VJZGVudGlmaWVyU3RhdGVtZW50KGNvbnRleHR1YWxLZXl3b3JkKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNQYXJzZUlkZW50aWZpZXJTdGF0ZW1lbnQoY29udGV4dHVhbEtleXdvcmQpO1xuICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VJZGVudGlmaWVyU3RhdGVtZW50KGNvbnRleHR1YWxLZXl3b3JkKTtcbiAgfSBlbHNlIHtcbiAgICBzZW1pY29sb24oKTtcbiAgfVxufVxuXG4vLyBQYXJzZSBhIHNlbWljb2xvbi1lbmNsb3NlZCBibG9jayBvZiBzdGF0ZW1lbnRzLlxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmxvY2soaXNGdW5jdGlvblNjb3BlID0gZmFsc2UsIGNvbnRleHRJZCA9IDApIHtcbiAgY29uc3Qgc3RhcnRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICBleHBlY3QodHQuYnJhY2VMKTtcbiAgaWYgKGNvbnRleHRJZCkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uY29udGV4dElkID0gY29udGV4dElkO1xuICB9XG4gIHBhcnNlQmxvY2tCb2R5KHR0LmJyYWNlUik7XG4gIGlmIChjb250ZXh0SWQpIHtcbiAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbiAgfVxuICBjb25zdCBlbmRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgc3RhdGUuc2NvcGVzLnB1c2gobmV3IFNjb3BlKHN0YXJ0VG9rZW5JbmRleCwgZW5kVG9rZW5JbmRleCwgaXNGdW5jdGlvblNjb3BlKSk7XG4gIHN0YXRlLnNjb3BlRGVwdGgtLTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmxvY2tCb2R5KGVuZCkge1xuICB3aGlsZSAoIWVhdChlbmQpICYmICFzdGF0ZS5lcnJvcikge1xuICAgIHBhcnNlU3RhdGVtZW50KHRydWUpO1xuICB9XG59XG5cbi8vIFBhcnNlIGEgcmVndWxhciBgZm9yYCBsb29wLiBUaGUgZGlzYW1iaWd1YXRpb24gY29kZSBpblxuLy8gYHBhcnNlU3RhdGVtZW50YCB3aWxsIGFscmVhZHkgaGF2ZSBwYXJzZWQgdGhlIGluaXQgc3RhdGVtZW50IG9yXG4vLyBleHByZXNzaW9uLlxuXG5mdW5jdGlvbiBwYXJzZUZvcigpIHtcbiAgZXhwZWN0KHR0LnNlbWkpO1xuICBpZiAoIW1hdGNoKHR0LnNlbWkpKSB7XG4gICAgcGFyc2VFeHByZXNzaW9uKCk7XG4gIH1cbiAgZXhwZWN0KHR0LnNlbWkpO1xuICBpZiAoIW1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICBwYXJzZUV4cHJlc3Npb24oKTtcbiAgfVxuICBleHBlY3QodHQucGFyZW5SKTtcbiAgcGFyc2VTdGF0ZW1lbnQoZmFsc2UpO1xufVxuXG4vLyBQYXJzZSBhIGBmb3JgL2BpbmAgYW5kIGBmb3JgL2BvZmAgbG9vcCwgd2hpY2ggYXJlIGFsbW9zdFxuLy8gc2FtZSBmcm9tIHBhcnNlcidzIHBlcnNwZWN0aXZlLlxuXG5mdW5jdGlvbiBwYXJzZUZvckluKGZvckF3YWl0KSB7XG4gIGlmIChmb3JBd2FpdCkge1xuICAgIGVhdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX29mKTtcbiAgfSBlbHNlIHtcbiAgICBuZXh0KCk7XG4gIH1cbiAgcGFyc2VFeHByZXNzaW9uKCk7XG4gIGV4cGVjdCh0dC5wYXJlblIpO1xuICBwYXJzZVN0YXRlbWVudChmYWxzZSk7XG59XG5cbi8vIFBhcnNlIGEgbGlzdCBvZiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMuXG5cbmZ1bmN0aW9uIHBhcnNlVmFyKGlzRm9yLCBpc0Jsb2NrU2NvcGUpIHtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICBwYXJzZVZhckhlYWQoaXNCbG9ja1Njb3BlKTtcbiAgICBpZiAoZWF0KHR0LmVxKSkge1xuICAgICAgY29uc3QgZXFJbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGggLSAxO1xuICAgICAgcGFyc2VNYXliZUFzc2lnbihpc0Zvcik7XG4gICAgICBzdGF0ZS50b2tlbnNbZXFJbmRleF0ucmhzRW5kSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgIH1cbiAgICBpZiAoIWVhdCh0dC5jb21tYSkpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZVZhckhlYWQoaXNCbG9ja1Njb3BlKSB7XG4gIHBhcnNlQmluZGluZ0F0b20oaXNCbG9ja1Njb3BlKTtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c0FmdGVyUGFyc2VWYXJIZWFkKCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGZsb3dBZnRlclBhcnNlVmFySGVhZCgpO1xuICB9XG59XG5cbi8vIFBhcnNlIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gb3IgbGl0ZXJhbCAoZGVwZW5kaW5nIG9uIHRoZVxuLy8gYGlzU3RhdGVtZW50YCBwYXJhbWV0ZXIpLlxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGdW5jdGlvbihcbiAgZnVuY3Rpb25TdGFydCxcbiAgaXNTdGF0ZW1lbnQsXG4gIG9wdGlvbmFsSWQgPSBmYWxzZSxcbikge1xuICBpZiAobWF0Y2godHQuc3RhcikpIHtcbiAgICBuZXh0KCk7XG4gIH1cblxuICBpZiAoaXNTdGF0ZW1lbnQgJiYgIW9wdGlvbmFsSWQgJiYgIW1hdGNoKHR0Lm5hbWUpICYmICFtYXRjaCh0dC5feWllbGQpKSB7XG4gICAgdW5leHBlY3RlZCgpO1xuICB9XG5cbiAgbGV0IG5hbWVTY29wZVN0YXJ0VG9rZW5JbmRleCA9IG51bGw7XG5cbiAgaWYgKG1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgLy8gRXhwcmVzc2lvbi1zdHlsZSBmdW5jdGlvbnMgc2hvdWxkIGxpbWl0IHRoZWlyIG5hbWUncyBzY29wZSB0byB0aGUgZnVuY3Rpb24gYm9keSwgc28gd2UgbWFrZVxuICAgIC8vIGEgbmV3IGZ1bmN0aW9uIHNjb3BlIHRvIGVuZm9yY2UgdGhhdC5cbiAgICBpZiAoIWlzU3RhdGVtZW50KSB7XG4gICAgICBuYW1lU2NvcGVTdGFydFRva2VuSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICAgICAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICAgIH1cbiAgICBwYXJzZUJpbmRpbmdJZGVudGlmaWVyKGZhbHNlKTtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0VG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHN0YXRlLnNjb3BlRGVwdGgrKztcbiAgcGFyc2VGdW5jdGlvblBhcmFtcygpO1xuICBwYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChmdW5jdGlvblN0YXJ0KTtcbiAgY29uc3QgZW5kVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIC8vIEluIGFkZGl0aW9uIHRvIHRoZSBibG9jayBzY29wZSBvZiB0aGUgZnVuY3Rpb24gYm9keSwgd2UgbmVlZCBhIHNlcGFyYXRlIGZ1bmN0aW9uLXN0eWxlIHNjb3BlXG4gIC8vIHRoYXQgaW5jbHVkZXMgdGhlIHBhcmFtcy5cbiAgc3RhdGUuc2NvcGVzLnB1c2gobmV3IFNjb3BlKHN0YXJ0VG9rZW5JbmRleCwgZW5kVG9rZW5JbmRleCwgdHJ1ZSkpO1xuICBzdGF0ZS5zY29wZURlcHRoLS07XG4gIGlmIChuYW1lU2NvcGVTdGFydFRva2VuSW5kZXggIT09IG51bGwpIHtcbiAgICBzdGF0ZS5zY29wZXMucHVzaChuZXcgU2NvcGUobmFtZVNjb3BlU3RhcnRUb2tlbkluZGV4LCBlbmRUb2tlbkluZGV4LCB0cnVlKSk7XG4gICAgc3RhdGUuc2NvcGVEZXB0aC0tO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUZ1bmN0aW9uUGFyYW1zKFxuICBhbGxvd01vZGlmaWVycyA9IGZhbHNlLFxuICBmdW5jQ29udGV4dElkID0gMCxcbikge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzU3RhcnRQYXJzZUZ1bmN0aW9uUGFyYW1zKCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGZsb3dTdGFydFBhcnNlRnVuY3Rpb25QYXJhbXMoKTtcbiAgfVxuXG4gIGV4cGVjdCh0dC5wYXJlbkwpO1xuICBpZiAoZnVuY0NvbnRleHRJZCkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uY29udGV4dElkID0gZnVuY0NvbnRleHRJZDtcbiAgfVxuICBwYXJzZUJpbmRpbmdMaXN0KFxuICAgIHR0LnBhcmVuUixcbiAgICBmYWxzZSAvKiBpc0Jsb2NrU2NvcGUgKi8sXG4gICAgZmFsc2UgLyogYWxsb3dFbXB0eSAqLyxcbiAgICBhbGxvd01vZGlmaWVycyxcbiAgICBmdW5jQ29udGV4dElkLFxuICApO1xuICBpZiAoZnVuY0NvbnRleHRJZCkge1xuICAgIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uY29udGV4dElkID0gZnVuY0NvbnRleHRJZDtcbiAgfVxufVxuXG4vLyBQYXJzZSBhIGNsYXNzIGRlY2xhcmF0aW9uIG9yIGxpdGVyYWwgKGRlcGVuZGluZyBvbiB0aGVcbi8vIGBpc1N0YXRlbWVudGAgcGFyYW1ldGVyKS5cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQ2xhc3MoaXNTdGF0ZW1lbnQsIG9wdGlvbmFsSWQgPSBmYWxzZSkge1xuICAvLyBQdXQgYSBjb250ZXh0IElEIG9uIHRoZSBjbGFzcyBrZXl3b3JkLCB0aGUgb3Blbi1icmFjZSwgYW5kIHRoZSBjbG9zZS1icmFjZSwgc28gdGhhdCBsYXRlclxuICAvLyBjb2RlIGNhbiBlYXNpbHkgbmF2aWdhdGUgdG8gbWVhbmluZ2Z1bCBwb2ludHMgb24gdGhlIGNsYXNzLlxuICBjb25zdCBjb250ZXh0SWQgPSBnZXROZXh0Q29udGV4dElkKCk7XG5cbiAgbmV4dCgpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pc0V4cHJlc3Npb24gPSAhaXNTdGF0ZW1lbnQ7XG4gIC8vIExpa2Ugd2l0aCBmdW5jdGlvbnMsIHdlIGRlY2xhcmUgYSBzcGVjaWFsIFwibmFtZSBzY29wZVwiIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBuYW1lIHRvIHRoZSBlbmRcbiAgLy8gb2YgdGhlIGNsYXNzLCBidXQgb25seSB3aXRoIGV4cHJlc3Npb24tc3R5bGUgY2xhc3NlcywgdG8gcmVwcmVzZW50IHRoZSBmYWN0IHRoYXQgdGhlIG5hbWUgaXNcbiAgLy8gYXZhaWxhYmxlIHRvIHRoZSBib2R5IG9mIHRoZSBjbGFzcyBidXQgbm90IGFuIG91dGVyIGRlY2xhcmF0aW9uLlxuICBsZXQgbmFtZVNjb3BlU3RhcnRUb2tlbkluZGV4ID0gbnVsbDtcbiAgaWYgKCFpc1N0YXRlbWVudCkge1xuICAgIG5hbWVTY29wZVN0YXJ0VG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gICAgc3RhdGUuc2NvcGVEZXB0aCsrO1xuICB9XG4gIHBhcnNlQ2xhc3NJZChpc1N0YXRlbWVudCwgb3B0aW9uYWxJZCk7XG4gIHBhcnNlQ2xhc3NTdXBlcigpO1xuICBjb25zdCBvcGVuQnJhY2VJbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gIHBhcnNlQ2xhc3NCb2R5KGNvbnRleHRJZCk7XG4gIGlmIChzdGF0ZS5lcnJvcikge1xuICAgIHJldHVybjtcbiAgfVxuICBzdGF0ZS50b2tlbnNbb3BlbkJyYWNlSW5kZXhdLmNvbnRleHRJZCA9IGNvbnRleHRJZDtcbiAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBjb250ZXh0SWQ7XG4gIGlmIChuYW1lU2NvcGVTdGFydFRva2VuSW5kZXggIT09IG51bGwpIHtcbiAgICBjb25zdCBlbmRUb2tlbkluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aDtcbiAgICBzdGF0ZS5zY29wZXMucHVzaChuZXcgU2NvcGUobmFtZVNjb3BlU3RhcnRUb2tlbkluZGV4LCBlbmRUb2tlbkluZGV4LCBmYWxzZSkpO1xuICAgIHN0YXRlLnNjb3BlRGVwdGgtLTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NsYXNzUHJvcGVydHkoKSB7XG4gIHJldHVybiBtYXRjaCh0dC5lcSkgfHwgbWF0Y2godHQuc2VtaSkgfHwgbWF0Y2godHQuYnJhY2VSKSB8fCBtYXRjaCh0dC5iYW5nKSB8fCBtYXRjaCh0dC5jb2xvbik7XG59XG5cbmZ1bmN0aW9uIGlzQ2xhc3NNZXRob2QoKSB7XG4gIHJldHVybiBtYXRjaCh0dC5wYXJlbkwpIHx8IG1hdGNoKHR0Lmxlc3NUaGFuKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VDbGFzc0JvZHkoY2xhc3NDb250ZXh0SWQpIHtcbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG5cbiAgd2hpbGUgKCFlYXQodHQuYnJhY2VSKSAmJiAhc3RhdGUuZXJyb3IpIHtcbiAgICBpZiAoZWF0KHR0LnNlbWkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobWF0Y2godHQuYXQpKSB7XG4gICAgICBwYXJzZURlY29yYXRvcigpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IG1lbWJlclN0YXJ0ID0gc3RhdGUuc3RhcnQ7XG4gICAgcGFyc2VDbGFzc01lbWJlcihtZW1iZXJTdGFydCwgY2xhc3NDb250ZXh0SWQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlQ2xhc3NNZW1iZXIobWVtYmVyU3RhcnQsIGNsYXNzQ29udGV4dElkKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNQYXJzZU1vZGlmaWVycyhbXG4gICAgICBDb250ZXh0dWFsS2V5d29yZC5fZGVjbGFyZSxcbiAgICAgIENvbnRleHR1YWxLZXl3b3JkLl9wdWJsaWMsXG4gICAgICBDb250ZXh0dWFsS2V5d29yZC5fcHJvdGVjdGVkLFxuICAgICAgQ29udGV4dHVhbEtleXdvcmQuX3ByaXZhdGUsXG4gICAgICBDb250ZXh0dWFsS2V5d29yZC5fb3ZlcnJpZGUsXG4gICAgXSk7XG4gIH1cbiAgbGV0IGlzU3RhdGljID0gZmFsc2U7XG4gIGlmIChtYXRjaCh0dC5uYW1lKSAmJiBzdGF0ZS5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX3N0YXRpYykge1xuICAgIHBhcnNlSWRlbnRpZmllcigpOyAvLyBlYXRzICdzdGF0aWMnXG4gICAgaWYgKGlzQ2xhc3NNZXRob2QoKSkge1xuICAgICAgcGFyc2VDbGFzc01ldGhvZChtZW1iZXJTdGFydCwgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChpc0NsYXNzUHJvcGVydHkoKSkge1xuICAgICAgcGFyc2VDbGFzc1Byb3BlcnR5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIG90aGVyd2lzZSBzb21ldGhpbmcgc3RhdGljXG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX3N0YXRpYztcbiAgICBpc1N0YXRpYyA9IHRydWU7XG5cbiAgICBpZiAobWF0Y2godHQuYnJhY2VMKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIHN0YXRpYyBibG9jay4gTWFyayB0aGUgd29yZCBcInN0YXRpY1wiIHdpdGggdGhlIGNsYXNzIGNvbnRleHQgSUQgZm9yIGNsYXNzIGVsZW1lbnRcbiAgICAgIC8vIGRldGVjdGlvbiBhbmQgcGFyc2UgYXMgYSByZWd1bGFyIGJsb2NrLlxuICAgICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5jb250ZXh0SWQgPSBjbGFzc0NvbnRleHRJZDtcbiAgICAgIHBhcnNlQmxvY2soKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKG1lbWJlclN0YXJ0LCBpc1N0YXRpYywgY2xhc3NDb250ZXh0SWQpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKFxuICBtZW1iZXJTdGFydCxcbiAgaXNTdGF0aWMsXG4gIGNsYXNzQ29udGV4dElkLFxuKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgaWYgKHRzVHJ5UGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyhpc1N0YXRpYykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbiAgaWYgKGVhdCh0dC5zdGFyKSkge1xuICAgIC8vIGEgZ2VuZXJhdG9yXG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5TmFtZShjbGFzc0NvbnRleHRJZCk7XG4gICAgcGFyc2VDbGFzc01ldGhvZChtZW1iZXJTdGFydCwgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBpZGVudGlmaWVyIG5hbWUgc28gd2UgY2FuIHRlbGwgaWYgaXQncyBhY3R1YWxseSBhIGtleXdvcmQgbGlrZSBcImFzeW5jXCIsIFwiZ2V0XCIsIG9yXG4gIC8vIFwic2V0XCIuXG4gIHBhcnNlQ2xhc3NQcm9wZXJ0eU5hbWUoY2xhc3NDb250ZXh0SWQpO1xuICBsZXQgaXNDb25zdHJ1Y3RvciA9IGZhbHNlO1xuICBjb25zdCB0b2tlbiA9IHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV07XG4gIC8vIFdlIGFsbG93IFwiY29uc3RydWN0b3JcIiBhcyBlaXRoZXIgYW4gaWRlbnRpZmllciBvciBhIHN0cmluZy5cbiAgaWYgKHRva2VuLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fY29uc3RydWN0b3IpIHtcbiAgICBpc0NvbnN0cnVjdG9yID0gdHJ1ZTtcbiAgfVxuICBwYXJzZVBvc3RNZW1iZXJOYW1lTW9kaWZpZXJzKCk7XG5cbiAgaWYgKGlzQ2xhc3NNZXRob2QoKSkge1xuICAgIHBhcnNlQ2xhc3NNZXRob2QobWVtYmVyU3RhcnQsIGlzQ29uc3RydWN0b3IpO1xuICB9IGVsc2UgaWYgKGlzQ2xhc3NQcm9wZXJ0eSgpKSB7XG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5KCk7XG4gIH0gZWxzZSBpZiAodG9rZW4uY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hc3luYyAmJiAhaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS50eXBlID0gdHQuX2FzeW5jO1xuICAgIC8vIGFuIGFzeW5jIG1ldGhvZFxuICAgIGNvbnN0IGlzR2VuZXJhdG9yID0gbWF0Y2godHQuc3Rhcik7XG4gICAgaWYgKGlzR2VuZXJhdG9yKSB7XG4gICAgICBuZXh0KCk7XG4gICAgfVxuXG4gICAgLy8gVGhlIHNvLWNhbGxlZCBwYXJzZWQgbmFtZSB3b3VsZCBoYXZlIGJlZW4gXCJhc3luY1wiOiBnZXQgdGhlIHJlYWwgbmFtZS5cbiAgICBwYXJzZUNsYXNzUHJvcGVydHlOYW1lKGNsYXNzQ29udGV4dElkKTtcbiAgICBwYXJzZVBvc3RNZW1iZXJOYW1lTW9kaWZpZXJzKCk7XG4gICAgcGFyc2VDbGFzc01ldGhvZChtZW1iZXJTdGFydCwgZmFsc2UgLyogaXNDb25zdHJ1Y3RvciAqLyk7XG4gIH0gZWxzZSBpZiAoXG4gICAgKHRva2VuLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fZ2V0IHx8XG4gICAgICB0b2tlbi5jb250ZXh0dWFsS2V5d29yZCA9PT0gQ29udGV4dHVhbEtleXdvcmQuX3NldCkgJiZcbiAgICAhKGlzTGluZVRlcm1pbmF0b3IoKSAmJiBtYXRjaCh0dC5zdGFyKSlcbiAgKSB7XG4gICAgaWYgKHRva2VuLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fZ2V0KSB7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fZ2V0O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fc2V0O1xuICAgIH1cbiAgICAvLyBgZ2V0XFxuKmAgaXMgYW4gdW5pbml0aWFsaXplZCBwcm9wZXJ0eSBuYW1lZCAnZ2V0JyBmb2xsb3dlZCBieSBhIGdlbmVyYXRvci5cbiAgICAvLyBhIGdldHRlciBvciBzZXR0ZXJcbiAgICAvLyBUaGUgc28tY2FsbGVkIHBhcnNlZCBuYW1lIHdvdWxkIGhhdmUgYmVlbiBcImdldC9zZXRcIjogZ2V0IHRoZSByZWFsIG5hbWUuXG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5TmFtZShjbGFzc0NvbnRleHRJZCk7XG4gICAgcGFyc2VDbGFzc01ldGhvZChtZW1iZXJTdGFydCwgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSk7XG4gIH0gZWxzZSBpZiAodG9rZW4uY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hY2Nlc3NvciAmJiAhaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5TmFtZShjbGFzc0NvbnRleHRJZCk7XG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5KCk7XG4gIH0gZWxzZSBpZiAoaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgLy8gYW4gdW5pbml0aWFsaXplZCBjbGFzcyBwcm9wZXJ0eSAoZHVlIHRvIEFTSSwgc2luY2Ugd2UgZG9uJ3Qgb3RoZXJ3aXNlIHJlY29nbml6ZSB0aGUgbmV4dCB0b2tlbilcbiAgICBwYXJzZUNsYXNzUHJvcGVydHkoKTtcbiAgfSBlbHNlIHtcbiAgICB1bmV4cGVjdGVkKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VDbGFzc01ldGhvZChmdW5jdGlvblN0YXJ0LCBpc0NvbnN0cnVjdG9yKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgdHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzKCk7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGlmIChtYXRjaCh0dC5sZXNzVGhhbikpIHtcbiAgICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbigpO1xuICAgIH1cbiAgfVxuICBwYXJzZU1ldGhvZChmdW5jdGlvblN0YXJ0LCBpc0NvbnN0cnVjdG9yKTtcbn1cblxuLy8gUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBjbGFzcyBwcm9wZXJ0eSwgaWYgaXQgaXMgYSBzaW1wbGUgaWRlbnRpZmllci5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNsYXNzUHJvcGVydHlOYW1lKGNsYXNzQ29udGV4dElkKSB7XG4gIHBhcnNlUHJvcGVydHlOYW1lKGNsYXNzQ29udGV4dElkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUG9zdE1lbWJlck5hbWVNb2RpZmllcnMoKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgY29uc3Qgb2xkSXNUeXBlID0gcHVzaFR5cGVDb250ZXh0KDApO1xuICAgIGVhdCh0dC5xdWVzdGlvbik7XG4gICAgcG9wVHlwZUNvbnRleHQob2xkSXNUeXBlKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDbGFzc1Byb3BlcnR5KCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIGVhdFR5cGVUb2tlbih0dC5iYW5nKTtcbiAgICB0c1RyeVBhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgfSBlbHNlIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgaWYgKG1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBpZiAobWF0Y2godHQuZXEpKSB7XG4gICAgY29uc3QgZXF1YWxzVG9rZW5JbmRleCA9IHN0YXRlLnRva2Vucy5sZW5ndGg7XG4gICAgbmV4dCgpO1xuICAgIHBhcnNlTWF5YmVBc3NpZ24oKTtcbiAgICBzdGF0ZS50b2tlbnNbZXF1YWxzVG9rZW5JbmRleF0ucmhzRW5kSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xuICB9XG4gIHNlbWljb2xvbigpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNsYXNzSWQoaXNTdGF0ZW1lbnQsIG9wdGlvbmFsSWQgPSBmYWxzZSkge1xuICBpZiAoXG4gICAgaXNUeXBlU2NyaXB0RW5hYmxlZCAmJlxuICAgICghaXNTdGF0ZW1lbnQgfHwgb3B0aW9uYWxJZCkgJiZcbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2ltcGxlbWVudHMpXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChtYXRjaCh0dC5uYW1lKSkge1xuICAgIHBhcnNlQmluZGluZ0lkZW50aWZpZXIodHJ1ZSk7XG4gIH1cblxuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycygpO1xuICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBpZiAobWF0Y2godHQubGVzc1RoYW4pKSB7XG4gICAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmV0dXJucyB0cnVlIGlmIHRoZXJlIHdhcyBhIHN1cGVyY2xhc3MuXG5mdW5jdGlvbiBwYXJzZUNsYXNzU3VwZXIoKSB7XG4gIGxldCBoYXNTdXBlciA9IGZhbHNlO1xuICBpZiAoZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgIHBhcnNlRXhwclN1YnNjcmlwdHMoKTtcbiAgICBoYXNTdXBlciA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgaGFzU3VwZXIgPSBmYWxzZTtcbiAgfVxuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzQWZ0ZXJQYXJzZUNsYXNzU3VwZXIoaGFzU3VwZXIpO1xuICB9IGVsc2UgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93QWZ0ZXJQYXJzZUNsYXNzU3VwZXIoaGFzU3VwZXIpO1xuICB9XG59XG5cbi8vIFBhcnNlcyBtb2R1bGUgZXhwb3J0IGRlY2xhcmF0aW9uLlxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFeHBvcnQoKSB7XG4gIGNvbnN0IGV4cG9ydEluZGV4ID0gc3RhdGUudG9rZW5zLmxlbmd0aCAtIDE7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkKSB7XG4gICAgaWYgKHRzVHJ5UGFyc2VFeHBvcnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICAvLyBleHBvcnQgKiBmcm9tICcuLi4nXG4gIGlmIChzaG91bGRQYXJzZUV4cG9ydFN0YXIoKSkge1xuICAgIHBhcnNlRXhwb3J0U3RhcigpO1xuICB9IGVsc2UgaWYgKGlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpKSB7XG4gICAgLy8gZXhwb3J0IGRlZmF1bHQgZnJvbVxuICAgIHBhcnNlSWRlbnRpZmllcigpO1xuICAgIGlmIChtYXRjaCh0dC5jb21tYSkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5zdGFyKSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgICAgZXhwZWN0KHR0LnN0YXIpO1xuICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpO1xuICAgICAgcGFyc2VJZGVudGlmaWVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlRXhwb3J0U3BlY2lmaWVyc01heWJlKCk7XG4gICAgfVxuICAgIHBhcnNlRXhwb3J0RnJvbSgpO1xuICB9IGVsc2UgaWYgKGVhdCh0dC5fZGVmYXVsdCkpIHtcbiAgICAvLyBleHBvcnQgZGVmYXVsdCAuLi5cbiAgICBwYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uKCk7XG4gIH0gZWxzZSBpZiAoc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpKSB7XG4gICAgcGFyc2VFeHBvcnREZWNsYXJhdGlvbigpO1xuICB9IGVsc2Uge1xuICAgIC8vIGV4cG9ydCB7IHgsIHkgYXMgeiB9IFtmcm9tICcuLi4nXVxuICAgIHBhcnNlRXhwb3J0U3BlY2lmaWVycygpO1xuICAgIHBhcnNlRXhwb3J0RnJvbSgpO1xuICB9XG4gIHN0YXRlLnRva2Vuc1tleHBvcnRJbmRleF0ucmhzRW5kSW5kZXggPSBzdGF0ZS50b2tlbnMubGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBwYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uKCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIGlmICh0c1RyeVBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIGlmIChmbG93VHJ5UGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIGNvbnN0IGZ1bmN0aW9uU3RhcnQgPSBzdGF0ZS5zdGFydDtcbiAgaWYgKGVhdCh0dC5fZnVuY3Rpb24pKSB7XG4gICAgcGFyc2VGdW5jdGlvbihmdW5jdGlvblN0YXJ0LCB0cnVlLCB0cnVlKTtcbiAgfSBlbHNlIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSAmJiBsb29rYWhlYWRUeXBlKCkgPT09IHR0Ll9mdW5jdGlvbikge1xuICAgIC8vIGFzeW5jIGZ1bmN0aW9uIGRlY2xhcmF0aW9uXG4gICAgZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXN5bmMpO1xuICAgIGVhdCh0dC5fZnVuY3Rpb24pO1xuICAgIHBhcnNlRnVuY3Rpb24oZnVuY3Rpb25TdGFydCwgdHJ1ZSwgdHJ1ZSk7XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuX2NsYXNzKSkge1xuICAgIHBhcnNlQ2xhc3ModHJ1ZSwgdHJ1ZSk7XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuYXQpKSB7XG4gICAgcGFyc2VEZWNvcmF0b3JzKCk7XG4gICAgcGFyc2VDbGFzcyh0cnVlLCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZU1heWJlQXNzaWduKCk7XG4gICAgc2VtaWNvbG9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VFeHBvcnREZWNsYXJhdGlvbigpIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQpIHtcbiAgICB0c1BhcnNlRXhwb3J0RGVjbGFyYXRpb24oKTtcbiAgfSBlbHNlIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgZmxvd1BhcnNlRXhwb3J0RGVjbGFyYXRpb24oKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZVN0YXRlbWVudCh0cnVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKSB7XG4gIGlmIChpc1R5cGVTY3JpcHRFbmFibGVkICYmIHRzSXNEZWNsYXJhdGlvblN0YXJ0KCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSBpZiAoaXNGbG93RW5hYmxlZCAmJiBmbG93U2hvdWxkRGlzYWxsb3dFeHBvcnREZWZhdWx0U3BlY2lmaWVyKCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKG1hdGNoKHR0Lm5hbWUpKSB7XG4gICAgcmV0dXJuIHN0YXRlLmNvbnRleHR1YWxLZXl3b3JkICE9PSBDb250ZXh0dWFsS2V5d29yZC5fYXN5bmM7XG4gIH1cblxuICBpZiAoIW1hdGNoKHR0Ll9kZWZhdWx0KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IF9uZXh0ID0gbmV4dFRva2VuU3RhcnQoKTtcbiAgY29uc3QgbG9va2FoZWFkID0gbG9va2FoZWFkVHlwZUFuZEtleXdvcmQoKTtcbiAgY29uc3QgaGFzRnJvbSA9XG4gICAgbG9va2FoZWFkLnR5cGUgPT09IHR0Lm5hbWUgJiYgbG9va2FoZWFkLmNvbnRleHR1YWxLZXl3b3JkID09PSBDb250ZXh0dWFsS2V5d29yZC5fZnJvbTtcbiAgaWYgKGxvb2thaGVhZC50eXBlID09PSB0dC5jb21tYSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8vIGxvb2thaGVhZCBhZ2FpbiB3aGVuIGBleHBvcnQgZGVmYXVsdCBmcm9tYCBpcyBzZWVuXG4gIGlmIChoYXNGcm9tKSB7XG4gICAgY29uc3QgbmV4dEFmdGVyRnJvbSA9IGlucHV0LmNoYXJDb2RlQXQobmV4dFRva2VuU3RhcnRTaW5jZShfbmV4dCArIDQpKTtcbiAgICByZXR1cm4gbmV4dEFmdGVyRnJvbSA9PT0gY2hhckNvZGVzLnF1b3RhdGlvbk1hcmsgfHwgbmV4dEFmdGVyRnJvbSA9PT0gY2hhckNvZGVzLmFwb3N0cm9waGU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBwYXJzZUV4cG9ydFNwZWNpZmllcnNNYXliZSgpIHtcbiAgaWYgKGVhdCh0dC5jb21tYSkpIHtcbiAgICBwYXJzZUV4cG9ydFNwZWNpZmllcnMoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFeHBvcnRGcm9tKCkge1xuICBpZiAoZWF0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkpIHtcbiAgICBwYXJzZUV4cHJBdG9tKCk7XG4gICAgbWF5YmVQYXJzZUltcG9ydEF0dHJpYnV0ZXMoKTtcbiAgfVxuICBzZW1pY29sb24oKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkUGFyc2VFeHBvcnRTdGFyKCkge1xuICBpZiAoaXNGbG93RW5hYmxlZCkge1xuICAgIHJldHVybiBmbG93U2hvdWxkUGFyc2VFeHBvcnRTdGFyKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG1hdGNoKHR0LnN0YXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlRXhwb3J0U3RhcigpIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VFeHBvcnRTdGFyKCk7XG4gIH0gZWxzZSB7XG4gICAgYmFzZVBhcnNlRXhwb3J0U3RhcigpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYXNlUGFyc2VFeHBvcnRTdGFyKCkge1xuICBleHBlY3QodHQuc3Rhcik7XG5cbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpKSB7XG4gICAgcGFyc2VFeHBvcnROYW1lc3BhY2UoKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZUV4cG9ydEZyb20oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUV4cG9ydE5hbWVzcGFjZSgpIHtcbiAgbmV4dCgpO1xuICBzdGF0ZS50b2tlbnNbc3RhdGUudG9rZW5zLmxlbmd0aCAtIDFdLnR5cGUgPSB0dC5fYXM7XG4gIHBhcnNlSWRlbnRpZmllcigpO1xuICBwYXJzZUV4cG9ydFNwZWNpZmllcnNNYXliZSgpO1xuICBwYXJzZUV4cG9ydEZyb20oKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpIHtcbiAgcmV0dXJuIChcbiAgICAoaXNUeXBlU2NyaXB0RW5hYmxlZCAmJiB0c0lzRGVjbGFyYXRpb25TdGFydCgpKSB8fFxuICAgIChpc0Zsb3dFbmFibGVkICYmIGZsb3dTaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkpIHx8XG4gICAgc3RhdGUudHlwZSA9PT0gdHQuX3ZhciB8fFxuICAgIHN0YXRlLnR5cGUgPT09IHR0Ll9jb25zdCB8fFxuICAgIHN0YXRlLnR5cGUgPT09IHR0Ll9sZXQgfHxcbiAgICBzdGF0ZS50eXBlID09PSB0dC5fZnVuY3Rpb24gfHxcbiAgICBzdGF0ZS50eXBlID09PSB0dC5fY2xhc3MgfHxcbiAgICBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSB8fFxuICAgIG1hdGNoKHR0LmF0KVxuICApO1xufVxuXG4vLyBQYXJzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb2R1bGUgZXhwb3J0cy5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUV4cG9ydFNwZWNpZmllcnMoKSB7XG4gIGxldCBmaXJzdCA9IHRydWU7XG5cbiAgLy8gZXhwb3J0IHsgeCwgeSBhcyB6IH0gW2Zyb20gJy4uLiddXG4gIGV4cGVjdCh0dC5icmFjZUwpO1xuXG4gIHdoaWxlICghZWF0KHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBlY3QodHQuY29tbWEpO1xuICAgICAgaWYgKGVhdCh0dC5icmFjZVIpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBwYXJzZUV4cG9ydFNwZWNpZmllcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlRXhwb3J0U3BlY2lmaWVyKCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzUGFyc2VFeHBvcnRTcGVjaWZpZXIoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcGFyc2VJZGVudGlmaWVyKCk7XG4gIHN0YXRlLnRva2Vuc1tzdGF0ZS50b2tlbnMubGVuZ3RoIC0gMV0uaWRlbnRpZmllclJvbGUgPSBJZGVudGlmaWVyUm9sZS5FeHBvcnRBY2Nlc3M7XG4gIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9hcykpIHtcbiAgICBwYXJzZUlkZW50aWZpZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIFN0YXJ0aW5nIGF0IHRoZSBgbW9kdWxlYCB0b2tlbiBpbiBhbiBpbXBvcnQsIGRldGVybWluZSBpZiBpdCB3YXMgdHJ1bHkgYW5cbiAqIGltcG9ydCByZWZsZWN0aW9uIHRva2VuIG9yIGp1c3QgbG9va3MgbGlrZSBvbmUuXG4gKlxuICogUmV0dXJucyB0cnVlIGZvcjpcbiAqIGltcG9ydCBtb2R1bGUgZm9vIGZyb20gXCJmb29cIjtcbiAqIGltcG9ydCBtb2R1bGUgZnJvbSBmcm9tIFwiZm9vXCI7XG4gKlxuICogUmV0dXJucyBmYWxzZSBmb3I6XG4gKiBpbXBvcnQgbW9kdWxlIGZyb20gXCJmb29cIjtcbiAqIGltcG9ydCBtb2R1bGUsIHtiYXJ9IGZyb20gXCJmb29cIjtcbiAqL1xuZnVuY3Rpb24gaXNJbXBvcnRSZWZsZWN0aW9uKCkge1xuICBjb25zdCBzbmFwc2hvdCA9IHN0YXRlLnNuYXBzaG90KCk7XG4gIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX21vZHVsZSk7XG4gIGlmIChlYXRDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKSkge1xuICAgIGlmIChpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2Zyb20pKSB7XG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5yZXN0b3JlRnJvbVNuYXBzaG90KHNuYXBzaG90KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAobWF0Y2godHQuY29tbWEpKSB7XG4gICAgc3RhdGUucmVzdG9yZUZyb21TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIHN0YXRlLnJlc3RvcmVGcm9tU25hcHNob3Qoc25hcHNob3QpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8qKlxuICogRWF0IHRoZSBcIm1vZHVsZVwiIHRva2VuIGZyb20gdGhlIGltcG9ydCByZWZsZWN0aW9uIHByb3Bvc2FsLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtaW1wb3J0LXJlZmxlY3Rpb25cbiAqL1xuZnVuY3Rpb24gcGFyc2VNYXliZUltcG9ydFJlZmxlY3Rpb24oKSB7XG4gIC8vIGlzSW1wb3J0UmVmbGVjdGlvbiBkb2VzIHNuYXBzaG90L3Jlc3RvcmUsIHNvIG9ubHkgcnVuIGl0IGlmIHdlIHNlZSB0aGUgd29yZFxuICAvLyBcIm1vZHVsZVwiLlxuICBpZiAoaXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9tb2R1bGUpICYmIGlzSW1wb3J0UmVmbGVjdGlvbigpKSB7XG4gICAgbmV4dCgpO1xuICB9XG59XG5cbi8vIFBhcnNlcyBpbXBvcnQgZGVjbGFyYXRpb24uXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUltcG9ydCgpIHtcbiAgaWYgKGlzVHlwZVNjcmlwdEVuYWJsZWQgJiYgbWF0Y2godHQubmFtZSkgJiYgbG9va2FoZWFkVHlwZSgpID09PSB0dC5lcSkge1xuICAgIHRzUGFyc2VJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbigpO1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCAmJiBpc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpKSB7XG4gICAgY29uc3QgbG9va2FoZWFkID0gbG9va2FoZWFkVHlwZUFuZEtleXdvcmQoKTtcbiAgICBpZiAobG9va2FoZWFkLnR5cGUgPT09IHR0Lm5hbWUgJiYgbG9va2FoZWFkLmNvbnRleHR1YWxLZXl3b3JkICE9PSBDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkge1xuICAgICAgLy8gT25lIG9mIHRoZXNlIGBpbXBvcnQgdHlwZWAgY2FzZXM6XG4gICAgICAvLyBpbXBvcnQgdHlwZSBUID0gcmVxdWlyZSgnVCcpO1xuICAgICAgLy8gaW1wb3J0IHR5cGUgQSBmcm9tICdBJztcbiAgICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpO1xuICAgICAgaWYgKGxvb2thaGVhZFR5cGUoKSA9PT0gdHQuZXEpIHtcbiAgICAgICAgdHNQYXJzZUltcG9ydEVxdWFsc0RlY2xhcmF0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIElmIHRoaXMgaXMgYW4gYGltcG9ydCB0eXBlLi4uZnJvbWAgc3RhdGVtZW50LCB0aGVuIHdlIGFscmVhZHkgYXRlIHRoZVxuICAgICAgLy8gdHlwZSB0b2tlbiwgc28gcHJvY2VlZCB0byB0aGUgcmVndWxhciBpbXBvcnQgcGFyc2VyLlxuICAgIH0gZWxzZSBpZiAobG9va2FoZWFkLnR5cGUgPT09IHR0LnN0YXIgfHwgbG9va2FoZWFkLnR5cGUgPT09IHR0LmJyYWNlTCkge1xuICAgICAgLy8gT25lIG9mIHRoZXNlIGBpbXBvcnQgdHlwZWAgY2FzZXMsIGluIHdoaWNoIGNhc2Ugd2UgY2FuIGVhdCB0aGUgdHlwZSB0b2tlblxuICAgICAgLy8gYW5kIHByb2NlZWQgYXMgbm9ybWFsOlxuICAgICAgLy8gaW1wb3J0IHR5cGUgKiBhcyBBIGZyb20gJ0EnO1xuICAgICAgLy8gaW1wb3J0IHR5cGUge2F9IGZyb20gJ0EnO1xuICAgICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fdHlwZSk7XG4gICAgfVxuICAgIC8vIE90aGVyd2lzZSwgd2UgYXJlIGltcG9ydGluZyB0aGUgbmFtZSBcInR5cGVcIi5cbiAgfVxuXG4gIC8vIGltcG9ydCAnLi4uJ1xuICBpZiAobWF0Y2godHQuc3RyaW5nKSkge1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZU1heWJlSW1wb3J0UmVmbGVjdGlvbigpO1xuICAgIHBhcnNlSW1wb3J0U3BlY2lmaWVycygpO1xuICAgIGV4cGVjdENvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2Zyb20pO1xuICAgIHBhcnNlRXhwckF0b20oKTtcbiAgfVxuICBtYXliZVBhcnNlSW1wb3J0QXR0cmlidXRlcygpO1xuICBzZW1pY29sb24oKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG5mdW5jdGlvbiBzaG91bGRQYXJzZURlZmF1bHRJbXBvcnQoKSB7XG4gIHJldHVybiBtYXRjaCh0dC5uYW1lKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCgpIHtcbiAgcGFyc2VJbXBvcnRlZElkZW50aWZpZXIoKTtcbn1cblxuLy8gUGFyc2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW9kdWxlIGltcG9ydHMuXG5mdW5jdGlvbiBwYXJzZUltcG9ydFNwZWNpZmllcnMoKSB7XG4gIGlmIChpc0Zsb3dFbmFibGVkKSB7XG4gICAgZmxvd1N0YXJ0UGFyc2VJbXBvcnRTcGVjaWZpZXJzKCk7XG4gIH1cblxuICBsZXQgZmlyc3QgPSB0cnVlO1xuICBpZiAoc2hvdWxkUGFyc2VEZWZhdWx0SW1wb3J0KCkpIHtcbiAgICAvLyBpbXBvcnQgZGVmYXVsdE9iaiwgeyB4LCB5IGFzIHogfSBmcm9tICcuLi4nXG4gICAgcGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCgpO1xuXG4gICAgaWYgKCFlYXQodHQuY29tbWEpKSByZXR1cm47XG4gIH1cblxuICBpZiAobWF0Y2godHQuc3RhcikpIHtcbiAgICBuZXh0KCk7XG4gICAgZXhwZWN0Q29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpO1xuXG4gICAgcGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZXhwZWN0KHR0LmJyYWNlTCk7XG4gIHdoaWxlICghZWF0KHR0LmJyYWNlUikgJiYgIXN0YXRlLmVycm9yKSB7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICBmaXJzdCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBEZXRlY3QgYW4gYXR0ZW1wdCB0byBkZWVwIGRlc3RydWN0dXJlXG4gICAgICBpZiAoZWF0KHR0LmNvbG9uKSkge1xuICAgICAgICB1bmV4cGVjdGVkKFxuICAgICAgICAgIFwiRVMyMDE1IG5hbWVkIGltcG9ydHMgZG8gbm90IGRlc3RydWN0dXJlLiBVc2UgYW5vdGhlciBzdGF0ZW1lbnQgZm9yIGRlc3RydWN0dXJpbmcgYWZ0ZXIgdGhlIGltcG9ydC5cIixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgIGlmIChlYXQodHQuYnJhY2VSKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXJzZUltcG9ydFNwZWNpZmllcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlSW1wb3J0U3BlY2lmaWVyKCkge1xuICBpZiAoaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRzUGFyc2VJbXBvcnRTcGVjaWZpZXIoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGlzRmxvd0VuYWJsZWQpIHtcbiAgICBmbG93UGFyc2VJbXBvcnRTcGVjaWZpZXIoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcGFyc2VJbXBvcnRlZElkZW50aWZpZXIoKTtcbiAgaWYgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXMpKSB7XG4gICAgc3RhdGUudG9rZW5zW3N0YXRlLnRva2Vucy5sZW5ndGggLSAxXS5pZGVudGlmaWVyUm9sZSA9IElkZW50aWZpZXJSb2xlLkltcG9ydEFjY2VzcztcbiAgICBuZXh0KCk7XG4gICAgcGFyc2VJbXBvcnRlZElkZW50aWZpZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlIGltcG9ydCBhdHRyaWJ1dGVzIGxpa2UgYHdpdGgge3R5cGU6IFwianNvblwifWAsIG9yIHRoZSBsZWdhY3kgZm9ybVxuICogYGFzc2VydCB7dHlwZTogXCJqc29uXCJ9YC5cbiAqXG4gKiBJbXBvcnQgYXR0cmlidXRlcyB0ZWNobmljYWxseSBoYXZlIHRoZWlyIG93biBzeW50YXgsIGJ1dCBhcmUgYWx3YXlzIHBhcnNlYWJsZVxuICogYXMgYSBwbGFpbiBKUyBvYmplY3QsIHNvIGp1c3QgZG8gdGhhdCBmb3Igc2ltcGxpY2l0eS5cbiAqL1xuZnVuY3Rpb24gbWF5YmVQYXJzZUltcG9ydEF0dHJpYnV0ZXMoKSB7XG4gIGlmIChtYXRjaCh0dC5fd2l0aCkgfHwgKGlzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fYXNzZXJ0KSAmJiAhaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpKSB7XG4gICAgbmV4dCgpO1xuICAgIHBhcnNlT2JqKGZhbHNlLCBmYWxzZSk7XG4gIH1cbn1cbiIsICJcbmltcG9ydCB7bmV4dFRva2VuLCBza2lwTGluZUNvbW1lbnR9IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXhcIjtcbmltcG9ydCB7Y2hhckNvZGVzfSBmcm9tIFwiLi4vdXRpbC9jaGFyY29kZXNcIjtcbmltcG9ydCB7aW5wdXQsIHN0YXRlfSBmcm9tIFwiLi9iYXNlXCI7XG5pbXBvcnQge3BhcnNlVG9wTGV2ZWx9IGZyb20gXCIuL3N0YXRlbWVudFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGaWxlKCkge1xuICAvLyBJZiBlbmFibGVkLCBza2lwIGxlYWRpbmcgaGFzaGJhbmcgbGluZS5cbiAgaWYgKFxuICAgIHN0YXRlLnBvcyA9PT0gMCAmJlxuICAgIGlucHV0LmNoYXJDb2RlQXQoMCkgPT09IGNoYXJDb2Rlcy5udW1iZXJTaWduICYmXG4gICAgaW5wdXQuY2hhckNvZGVBdCgxKSA9PT0gY2hhckNvZGVzLmV4Y2xhbWF0aW9uTWFya1xuICApIHtcbiAgICBza2lwTGluZUNvbW1lbnQoMik7XG4gIH1cbiAgbmV4dFRva2VuKCk7XG4gIHJldHVybiBwYXJzZVRvcExldmVsKCk7XG59XG4iLCAiXG5cbmltcG9ydCB7YXVnbWVudEVycm9yLCBpbml0UGFyc2VyLCBzdGF0ZX0gZnJvbSBcIi4vdHJhdmVyc2VyL2Jhc2VcIjtcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tIFwiLi90cmF2ZXJzZXIvaW5kZXhcIjtcblxuZXhwb3J0IGNsYXNzIEZpbGUge1xuICBcbiAgXG5cbiAgY29uc3RydWN0b3IodG9rZW5zLCBzY29wZXMpIHtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB0aGlzLnNjb3BlcyA9IHNjb3BlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UoXG4gIGlucHV0LFxuICBpc0pTWEVuYWJsZWQsXG4gIGlzVHlwZVNjcmlwdEVuYWJsZWQsXG4gIGlzRmxvd0VuYWJsZWQsXG4pIHtcbiAgaWYgKGlzRmxvd0VuYWJsZWQgJiYgaXNUeXBlU2NyaXB0RW5hYmxlZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBjb21iaW5lIGZsb3cgYW5kIHR5cGVzY3JpcHQgcGx1Z2lucy5cIik7XG4gIH1cbiAgaW5pdFBhcnNlcihpbnB1dCwgaXNKU1hFbmFibGVkLCBpc1R5cGVTY3JpcHRFbmFibGVkLCBpc0Zsb3dFbmFibGVkKTtcbiAgY29uc3QgcmVzdWx0ID0gcGFyc2VGaWxlKCk7XG4gIGlmIChzdGF0ZS5lcnJvcikge1xuICAgIHRocm93IGF1Z21lbnRFcnJvcihzdGF0ZS5lcnJvcik7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiIsICJpbXBvcnQge0NvbnRleHR1YWxLZXl3b3JkfSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci9rZXl3b3Jkc1wiO1xuXG5cbi8qKlxuICogRGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyBvcHRpb25hbCBjaGFpbiBvciBudWxsaXNoIGNvYWxlc2Npbmcgb3BlcmF0aW9uIGhhcyBhbnkgYXdhaXQgc3RhdGVtZW50cyBpblxuICogaXQuIElmIHNvLCB3ZSdsbCBuZWVkIHRvIHRyYW5zcGlsZSB0byBhbiBhc3luYyBvcGVyYXRpb24uXG4gKlxuICogV2UgY29tcHV0ZSB0aGlzIGJ5IHdhbGtpbmcgdGhlIGxlbmd0aCBvZiB0aGUgb3BlcmF0aW9uIGFuZCByZXR1cm5pbmcgdHJ1ZSBpZiB3ZSBzZWUgYW4gYXdhaXRcbiAqIGtleXdvcmQgdXNlZCBhcyBhIHJlYWwgYXdhaXQgKHJhdGhlciB0aGFuIGFuIG9iamVjdCBrZXkgb3IgcHJvcGVydHkgYWNjZXNzKS4gTmVzdGVkIG9wdGlvbmFsXG4gKiBjaGFpbi9udWxsaXNoIG9wZXJhdGlvbnMgbmVlZCB0byBiZSB0cmFja2VkIGJ1dCBkb24ndCBzaWxlbmNlIGF3YWl0LCBidXQgYSBuZXN0ZWQgYXN5bmMgZnVuY3Rpb25cbiAqIChvciBhbnkgb3RoZXIgbmVzdGVkIHNjb3BlKSB3aWxsIG1ha2UgdGhlIGF3YWl0IG5vdCBjb3VudC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNBc3luY09wZXJhdGlvbih0b2tlbnMpIHtcbiAgbGV0IGluZGV4ID0gdG9rZW5zLmN1cnJlbnRJbmRleCgpO1xuICBsZXQgZGVwdGggPSAwO1xuICBjb25zdCBzdGFydFRva2VuID0gdG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICBkbyB7XG4gICAgY29uc3QgdG9rZW4gPSB0b2tlbnMudG9rZW5zW2luZGV4XTtcbiAgICBpZiAodG9rZW4uaXNPcHRpb25hbENoYWluU3RhcnQpIHtcbiAgICAgIGRlcHRoKys7XG4gICAgfVxuICAgIGlmICh0b2tlbi5pc09wdGlvbmFsQ2hhaW5FbmQpIHtcbiAgICAgIGRlcHRoLS07XG4gICAgfVxuICAgIGRlcHRoICs9IHRva2VuLm51bU51bGxpc2hDb2FsZXNjZVN0YXJ0cztcbiAgICBkZXB0aCAtPSB0b2tlbi5udW1OdWxsaXNoQ29hbGVzY2VFbmRzO1xuXG4gICAgaWYgKFxuICAgICAgdG9rZW4uY29udGV4dHVhbEtleXdvcmQgPT09IENvbnRleHR1YWxLZXl3b3JkLl9hd2FpdCAmJlxuICAgICAgdG9rZW4uaWRlbnRpZmllclJvbGUgPT0gbnVsbCAmJlxuICAgICAgdG9rZW4uc2NvcGVEZXB0aCA9PT0gc3RhcnRUb2tlbi5zY29wZURlcHRoXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaW5kZXggKz0gMTtcbiAgfSB3aGlsZSAoZGVwdGggPiAwICYmIGluZGV4IDwgdG9rZW5zLnRva2Vucy5sZW5ndGgpO1xuICByZXR1cm4gZmFsc2U7XG59XG4iLCAiXG5cblxuaW1wb3J0IHsgVG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5pbXBvcnQgaXNBc3luY09wZXJhdGlvbiBmcm9tIFwiLi91dGlsL2lzQXN5bmNPcGVyYXRpb25cIjtcblxuXG5cblxuXG5cblxuXG5cblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUb2tlblByb2Nlc3NvciB7XG4gICBfX2luaXQoKSB7dGhpcy5yZXN1bHRDb2RlID0gXCJcIn1cbiAgLy8gQXJyYXkgbWFwcGluZyBpbnB1dCB0b2tlbiBpbmRleCB0byBvcHRpb25hbCBzdHJpbmcgaW5kZXggcG9zaXRpb24gaW4gdGhlXG4gIC8vIG91dHB1dCBjb2RlLlxuICAgX19pbml0MigpIHt0aGlzLnJlc3VsdE1hcHBpbmdzID0gbmV3IEFycmF5KHRoaXMudG9rZW5zLmxlbmd0aCl9XG4gICBfX2luaXQzKCkge3RoaXMudG9rZW5JbmRleCA9IDB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgIGNvZGUsXG4gICAgIHRva2VucyxcbiAgICAgaXNGbG93RW5hYmxlZCxcbiAgICAgZGlzYWJsZUVTVHJhbnNmb3JtcyxcbiAgICAgaGVscGVyTWFuYWdlcixcbiAgKSB7O3RoaXMuY29kZSA9IGNvZGU7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5pc0Zsb3dFbmFibGVkID0gaXNGbG93RW5hYmxlZDt0aGlzLmRpc2FibGVFU1RyYW5zZm9ybXMgPSBkaXNhYmxlRVNUcmFuc2Zvcm1zO3RoaXMuaGVscGVyTWFuYWdlciA9IGhlbHBlck1hbmFnZXI7VG9rZW5Qcm9jZXNzb3IucHJvdG90eXBlLl9faW5pdC5jYWxsKHRoaXMpO1Rva2VuUHJvY2Vzc29yLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7VG9rZW5Qcm9jZXNzb3IucHJvdG90eXBlLl9faW5pdDMuY2FsbCh0aGlzKTt9XG5cbiAgLyoqXG4gICAqIFNuYXBzaG90IHRoZSB0b2tlbiBzdGF0ZSBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXN0b3JlZCBsYXRlciwgdXNlZnVsIGZvclxuICAgKiB0aGluZ3MgbGlrZSBsb29rYWhlYWQuXG4gICAqXG4gICAqIHJlc3VsdE1hcHBpbmdzIGRvIG5vdCBuZWVkIHRvIGJlIGNvcGllZCBzaW5jZSBpbiBhbGwgdXNlIGNhc2VzLCB0aGV5IHdpbGxcbiAgICogYmUgb3ZlcndyaXR0ZW4gYW55d2F5IGFmdGVyIHJlc3RvcmUuXG4gICAqL1xuICBzbmFwc2hvdCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzdWx0Q29kZTogdGhpcy5yZXN1bHRDb2RlLFxuICAgICAgdG9rZW5JbmRleDogdGhpcy50b2tlbkluZGV4LFxuICAgIH07XG4gIH1cblxuICByZXN0b3JlVG9TbmFwc2hvdChzbmFwc2hvdCkge1xuICAgIHRoaXMucmVzdWx0Q29kZSA9IHNuYXBzaG90LnJlc3VsdENvZGU7XG4gICAgdGhpcy50b2tlbkluZGV4ID0gc25hcHNob3QudG9rZW5JbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYW5kIHJldHVybiB0aGUgY29kZSBnZW5lcmF0ZWQgc2luY2UgdGhlIHNuYXBzaG90LCBsZWF2aW5nIHRoZVxuICAgKiBjdXJyZW50IHRva2VuIHBvc2l0aW9uIGluLXBsYWNlLiBVbmxpa2UgbW9zdCBUb2tlblByb2Nlc3NvciBvcGVyYXRpb25zLFxuICAgKiB0aGlzIG9wZXJhdGlvbiBjYW4gcmVzdWx0IGluIGlucHV0L291dHB1dCBsaW5lIG51bWJlciBtaXNtYXRjaGVzIGJlY2F1c2VcbiAgICogdGhlIHJlbW92ZWQgY29kZSBtYXkgY29udGFpbiBuZXdsaW5lcywgc28gdGhpcyBvcGVyYXRpb24gc2hvdWxkIGJlIHVzZWRcbiAgICogc3BhcmluZ2x5LlxuICAgKi9cbiAgZGFuZ2Vyb3VzbHlHZXRBbmRSZW1vdmVDb2RlU2luY2VTbmFwc2hvdChzbmFwc2hvdCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMucmVzdWx0Q29kZS5zbGljZShzbmFwc2hvdC5yZXN1bHRDb2RlLmxlbmd0aCk7XG4gICAgdGhpcy5yZXN1bHRDb2RlID0gc25hcHNob3QucmVzdWx0Q29kZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5yZXN1bHRDb2RlID0gXCJcIjtcbiAgICB0aGlzLnJlc3VsdE1hcHBpbmdzID0gbmV3IEFycmF5KHRoaXMudG9rZW5zLmxlbmd0aCk7XG4gICAgdGhpcy50b2tlbkluZGV4ID0gMDtcbiAgfVxuXG4gIG1hdGNoZXNDb250ZXh0dWFsQXRJbmRleChpbmRleCwgY29udGV4dHVhbEtleXdvcmQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0Lm5hbWUpICYmXG4gICAgICB0aGlzLnRva2Vuc1tpbmRleF0uY29udGV4dHVhbEtleXdvcmQgPT09IGNvbnRleHR1YWxLZXl3b3JkXG4gICAgKTtcbiAgfVxuXG4gIGlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCkge1xuICAgIC8vIFRPRE86IFdlIG5lZWQgdG8gcHJvY2VzcyBlc2NhcGVzIHNpbmNlIHRlY2huaWNhbGx5IHlvdSBjYW4gaGF2ZSB1bmljb2RlIGVzY2FwZXMgaW4gdmFyaWFibGVcbiAgICAvLyBuYW1lcy5cbiAgICByZXR1cm4gdGhpcy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRoaXMudG9rZW5zW2luZGV4XSk7XG4gIH1cblxuICBpZGVudGlmaWVyTmFtZUF0UmVsYXRpdmVJbmRleChyZWxhdGl2ZUluZGV4KSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpZmllck5hbWVGb3JUb2tlbih0aGlzLnRva2VuQXRSZWxhdGl2ZUluZGV4KHJlbGF0aXZlSW5kZXgpKTtcbiAgfVxuXG4gIGlkZW50aWZpZXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odGhpcy5jdXJyZW50VG9rZW4oKSk7XG4gIH1cblxuICBpZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKSB7XG4gICAgcmV0dXJuIHRoaXMuY29kZS5zbGljZSh0b2tlbi5zdGFydCwgdG9rZW4uZW5kKTtcbiAgfVxuXG4gIHJhd0NvZGVGb3JUb2tlbih0b2tlbikge1xuICAgIHJldHVybiB0aGlzLmNvZGUuc2xpY2UodG9rZW4uc3RhcnQsIHRva2VuLmVuZCk7XG4gIH1cblxuICBzdHJpbmdWYWx1ZUF0SW5kZXgoaW5kZXgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmdWYWx1ZUZvclRva2VuKHRoaXMudG9rZW5zW2luZGV4XSk7XG4gIH1cblxuICBzdHJpbmdWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmdWYWx1ZUZvclRva2VuKHRoaXMuY3VycmVudFRva2VuKCkpO1xuICB9XG5cbiAgc3RyaW5nVmFsdWVGb3JUb2tlbih0b2tlbikge1xuICAgIC8vIFRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSB3aGVuIHR3byBpbXBvcnRzIGFyZSB0aGUgc2FtZSBhbmQgdG8gcmVzb2x2ZSBUeXBlU2NyaXB0IGVudW0ga2V5cy5cbiAgICAvLyBJZGVhbGx5IHdlJ2QgcHJvY2VzcyBlc2NhcGVzIHdpdGhpbiB0aGUgc3RyaW5ncywgYnV0IGZvciBub3cgd2UgcHJldHR5IG11Y2ggdGFrZSB0aGUgcmF3XG4gICAgLy8gY29kZS5cbiAgICByZXR1cm4gdGhpcy5jb2RlLnNsaWNlKHRva2VuLnN0YXJ0ICsgMSwgdG9rZW4uZW5kIC0gMSk7XG4gIH1cblxuICBtYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHQxKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zW2luZGV4XS50eXBlID09PSB0MTtcbiAgfVxuXG4gIG1hdGNoZXMyQXRJbmRleChpbmRleCwgdDEsIHQyKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zW2luZGV4XS50eXBlID09PSB0MSAmJiB0aGlzLnRva2Vuc1tpbmRleCArIDFdLnR5cGUgPT09IHQyO1xuICB9XG5cbiAgbWF0Y2hlczNBdEluZGV4KGluZGV4LCB0MSwgdDIsIHQzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudG9rZW5zW2luZGV4XS50eXBlID09PSB0MSAmJlxuICAgICAgdGhpcy50b2tlbnNbaW5kZXggKyAxXS50eXBlID09PSB0MiAmJlxuICAgICAgdGhpcy50b2tlbnNbaW5kZXggKyAyXS50eXBlID09PSB0M1xuICAgICk7XG4gIH1cblxuICBtYXRjaGVzMSh0MSkge1xuICAgIHJldHVybiB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnR5cGUgPT09IHQxO1xuICB9XG5cbiAgbWF0Y2hlczIodDEsIHQyKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleF0udHlwZSA9PT0gdDEgJiYgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4ICsgMV0udHlwZSA9PT0gdDI7XG4gIH1cblxuICBtYXRjaGVzMyh0MSwgdDIsIHQzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleF0udHlwZSA9PT0gdDEgJiZcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleCArIDFdLnR5cGUgPT09IHQyICYmXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggKyAyXS50eXBlID09PSB0M1xuICAgICk7XG4gIH1cblxuICBtYXRjaGVzNCh0MSwgdDIsIHQzLCB0NCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnR5cGUgPT09IHQxICYmXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggKyAxXS50eXBlID09PSB0MiAmJlxuICAgICAgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4ICsgMl0udHlwZSA9PT0gdDMgJiZcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleCArIDNdLnR5cGUgPT09IHQ0XG4gICAgKTtcbiAgfVxuXG4gIG1hdGNoZXM1KHQxLCB0MiwgdDMsIHQ0LCB0NSkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnR5cGUgPT09IHQxICYmXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggKyAxXS50eXBlID09PSB0MiAmJlxuICAgICAgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4ICsgMl0udHlwZSA9PT0gdDMgJiZcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleCArIDNdLnR5cGUgPT09IHQ0ICYmXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggKyA0XS50eXBlID09PSB0NVxuICAgICk7XG4gIH1cblxuICBtYXRjaGVzQ29udGV4dHVhbChjb250ZXh0dWFsS2V5d29yZCkge1xuICAgIHJldHVybiB0aGlzLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleCh0aGlzLnRva2VuSW5kZXgsIGNvbnRleHR1YWxLZXl3b3JkKTtcbiAgfVxuXG4gIG1hdGNoZXNDb250ZXh0SWRBbmRMYWJlbCh0eXBlLCBjb250ZXh0SWQpIHtcbiAgICByZXR1cm4gdGhpcy5tYXRjaGVzMSh0eXBlKSAmJiB0aGlzLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZCA9PT0gY29udGV4dElkO1xuICB9XG5cbiAgcHJldmlvdXNXaGl0ZXNwYWNlQW5kQ29tbWVudHMoKSB7XG4gICAgbGV0IHdoaXRlc3BhY2VBbmRDb21tZW50cyA9IHRoaXMuY29kZS5zbGljZShcbiAgICAgIHRoaXMudG9rZW5JbmRleCA+IDAgPyB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXggLSAxXS5lbmQgOiAwLFxuICAgICAgdGhpcy50b2tlbkluZGV4IDwgdGhpcy50b2tlbnMubGVuZ3RoID8gdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4XS5zdGFydCA6IHRoaXMuY29kZS5sZW5ndGgsXG4gICAgKTtcbiAgICBpZiAodGhpcy5pc0Zsb3dFbmFibGVkKSB7XG4gICAgICB3aGl0ZXNwYWNlQW5kQ29tbWVudHMgPSB3aGl0ZXNwYWNlQW5kQ29tbWVudHMucmVwbGFjZSgvQGZsb3cvZywgXCJcIik7XG4gICAgfVxuICAgIHJldHVybiB3aGl0ZXNwYWNlQW5kQ29tbWVudHM7XG4gIH1cblxuICByZXBsYWNlVG9rZW4obmV3Q29kZSkge1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLnByZXZpb3VzV2hpdGVzcGFjZUFuZENvbW1lbnRzKCk7XG4gICAgdGhpcy5hcHBlbmRUb2tlblByZWZpeCgpO1xuICAgIHRoaXMucmVzdWx0TWFwcGluZ3NbdGhpcy50b2tlbkluZGV4XSA9IHRoaXMucmVzdWx0Q29kZS5sZW5ndGg7XG4gICAgdGhpcy5yZXN1bHRDb2RlICs9IG5ld0NvZGU7XG4gICAgdGhpcy5hcHBlbmRUb2tlblN1ZmZpeCgpO1xuICAgIHRoaXMudG9rZW5JbmRleCsrO1xuICB9XG5cbiAgcmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShuZXdDb2RlKSB7XG4gICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMucHJldmlvdXNXaGl0ZXNwYWNlQW5kQ29tbWVudHMoKS5yZXBsYWNlKC9bXlxcclxcbl0vZywgXCJcIik7XG4gICAgdGhpcy5hcHBlbmRUb2tlblByZWZpeCgpO1xuICAgIHRoaXMucmVzdWx0TWFwcGluZ3NbdGhpcy50b2tlbkluZGV4XSA9IHRoaXMucmVzdWx0Q29kZS5sZW5ndGg7XG4gICAgdGhpcy5yZXN1bHRDb2RlICs9IG5ld0NvZGU7XG4gICAgdGhpcy5hcHBlbmRUb2tlblN1ZmZpeCgpO1xuICAgIHRoaXMudG9rZW5JbmRleCsrO1xuICB9XG5cbiAgcmVtb3ZlSW5pdGlhbFRva2VuKCkge1xuICAgIHRoaXMucmVwbGFjZVRva2VuKFwiXCIpO1xuICB9XG5cbiAgcmVtb3ZlVG9rZW4oKSB7XG4gICAgdGhpcy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKFwiXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgY29kZSB1bnRpbCB0aGUgbmV4dCB9LCBhY2NvdW50aW5nIGZvciBiYWxhbmNlZCBicmFjZXMuXG4gICAqL1xuICByZW1vdmVCYWxhbmNlZENvZGUoKSB7XG4gICAgbGV0IGJyYWNlRGVwdGggPSAwO1xuICAgIHdoaWxlICghdGhpcy5pc0F0RW5kKCkpIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoZXMxKHR0LmJyYWNlTCkpIHtcbiAgICAgICAgYnJhY2VEZXB0aCsrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgaWYgKGJyYWNlRGVwdGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYnJhY2VEZXB0aC0tO1xuICAgICAgfVxuICAgICAgdGhpcy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gIGNvcHlFeHBlY3RlZFRva2VuKHRva2VuVHlwZSkge1xuICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnR5cGUgIT09IHRva2VuVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCB0b2tlbiAke3Rva2VuVHlwZX1gKTtcbiAgICB9XG4gICAgdGhpcy5jb3B5VG9rZW4oKTtcbiAgfVxuXG4gIGNvcHlUb2tlbigpIHtcbiAgICB0aGlzLnJlc3VsdENvZGUgKz0gdGhpcy5wcmV2aW91c1doaXRlc3BhY2VBbmRDb21tZW50cygpO1xuICAgIHRoaXMuYXBwZW5kVG9rZW5QcmVmaXgoKTtcbiAgICB0aGlzLnJlc3VsdE1hcHBpbmdzW3RoaXMudG9rZW5JbmRleF0gPSB0aGlzLnJlc3VsdENvZGUubGVuZ3RoO1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLmNvZGUuc2xpY2UoXG4gICAgICB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdLnN0YXJ0LFxuICAgICAgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4XS5lbmQsXG4gICAgKTtcbiAgICB0aGlzLmFwcGVuZFRva2VuU3VmZml4KCk7XG4gICAgdGhpcy50b2tlbkluZGV4Kys7XG4gIH1cblxuICBjb3B5VG9rZW5XaXRoUHJlZml4KHByZWZpeCkge1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLnByZXZpb3VzV2hpdGVzcGFjZUFuZENvbW1lbnRzKCk7XG4gICAgdGhpcy5hcHBlbmRUb2tlblByZWZpeCgpO1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSBwcmVmaXg7XG4gICAgdGhpcy5yZXN1bHRNYXBwaW5nc1t0aGlzLnRva2VuSW5kZXhdID0gdGhpcy5yZXN1bHRDb2RlLmxlbmd0aDtcbiAgICB0aGlzLnJlc3VsdENvZGUgKz0gdGhpcy5jb2RlLnNsaWNlKFxuICAgICAgdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4XS5zdGFydCxcbiAgICAgIHRoaXMudG9rZW5zW3RoaXMudG9rZW5JbmRleF0uZW5kLFxuICAgICk7XG4gICAgdGhpcy5hcHBlbmRUb2tlblN1ZmZpeCgpO1xuICAgIHRoaXMudG9rZW5JbmRleCsrO1xuICB9XG5cbiAgIGFwcGVuZFRva2VuUHJlZml4KCkge1xuICAgIGNvbnN0IHRva2VuID0gdGhpcy5jdXJyZW50VG9rZW4oKTtcbiAgICBpZiAodG9rZW4ubnVtTnVsbGlzaENvYWxlc2NlU3RhcnRzIHx8IHRva2VuLmlzT3B0aW9uYWxDaGFpblN0YXJ0KSB7XG4gICAgICB0b2tlbi5pc0FzeW5jT3BlcmF0aW9uID0gaXNBc3luY09wZXJhdGlvbih0aGlzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZUVTVHJhbnNmb3Jtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodG9rZW4ubnVtTnVsbGlzaENvYWxlc2NlU3RhcnRzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2VuLm51bU51bGxpc2hDb2FsZXNjZVN0YXJ0czsgaSsrKSB7XG4gICAgICAgIGlmICh0b2tlbi5pc0FzeW5jT3BlcmF0aW9uKSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRDb2RlICs9IFwiYXdhaXQgXCI7XG4gICAgICAgICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFwiYXN5bmNOdWxsaXNoQ29hbGVzY2VcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFwibnVsbGlzaENvYWxlc2NlXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzdWx0Q29kZSArPSBcIihcIjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRva2VuLmlzT3B0aW9uYWxDaGFpblN0YXJ0KSB7XG4gICAgICBpZiAodG9rZW4uaXNBc3luY09wZXJhdGlvbikge1xuICAgICAgICB0aGlzLnJlc3VsdENvZGUgKz0gXCJhd2FpdCBcIjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2VuSW5kZXggPiAwICYmIHRoaXMudG9rZW5BdFJlbGF0aXZlSW5kZXgoLTEpLnR5cGUgPT09IHR0Ll9kZWxldGUpIHtcbiAgICAgICAgaWYgKHRva2VuLmlzQXN5bmNPcGVyYXRpb24pIHtcbiAgICAgICAgICB0aGlzLnJlc3VsdENvZGUgKz0gdGhpcy5oZWxwZXJNYW5hZ2VyLmdldEhlbHBlck5hbWUoXCJhc3luY09wdGlvbmFsQ2hhaW5EZWxldGVcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFwib3B0aW9uYWxDaGFpbkRlbGV0ZVwiKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0b2tlbi5pc0FzeW5jT3BlcmF0aW9uKSB7XG4gICAgICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLmhlbHBlck1hbmFnZXIuZ2V0SGVscGVyTmFtZShcImFzeW5jT3B0aW9uYWxDaGFpblwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVzdWx0Q29kZSArPSB0aGlzLmhlbHBlck1hbmFnZXIuZ2V0SGVscGVyTmFtZShcIm9wdGlvbmFsQ2hhaW5cIik7XG4gICAgICB9XG4gICAgICB0aGlzLnJlc3VsdENvZGUgKz0gXCIoW1wiO1xuICAgIH1cbiAgfVxuXG4gICBhcHBlbmRUb2tlblN1ZmZpeCgpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuY3VycmVudFRva2VuKCk7XG4gICAgaWYgKHRva2VuLmlzT3B0aW9uYWxDaGFpbkVuZCAmJiAhdGhpcy5kaXNhYmxlRVNUcmFuc2Zvcm1zKSB7XG4gICAgICB0aGlzLnJlc3VsdENvZGUgKz0gXCJdKVwiO1xuICAgIH1cbiAgICBpZiAodG9rZW4ubnVtTnVsbGlzaENvYWxlc2NlRW5kcyAmJiAhdGhpcy5kaXNhYmxlRVNUcmFuc2Zvcm1zKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2VuLm51bU51bGxpc2hDb2FsZXNjZUVuZHM7IGkrKykge1xuICAgICAgICB0aGlzLnJlc3VsdENvZGUgKz0gXCIpKVwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFwcGVuZENvZGUoY29kZSkge1xuICAgIHRoaXMucmVzdWx0Q29kZSArPSBjb2RlO1xuICB9XG5cbiAgY3VycmVudFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLnRva2Vuc1t0aGlzLnRva2VuSW5kZXhdO1xuICB9XG5cbiAgY3VycmVudFRva2VuQ29kZSgpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuY3VycmVudFRva2VuKCk7XG4gICAgcmV0dXJuIHRoaXMuY29kZS5zbGljZSh0b2tlbi5zdGFydCwgdG9rZW4uZW5kKTtcbiAgfVxuXG4gIHRva2VuQXRSZWxhdGl2ZUluZGV4KHJlbGF0aXZlSW5kZXgpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnNbdGhpcy50b2tlbkluZGV4ICsgcmVsYXRpdmVJbmRleF07XG4gIH1cblxuICBjdXJyZW50SW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5JbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlIHRvIHRoZSBuZXh0IHRva2VuLiBPbmx5IHN1aXRhYmxlIGluIHByZXByb2Nlc3Npbmcgc3RlcHMuIFdoZW5cbiAgICogZ2VuZXJhdGluZyBuZXcgY29kZSwgeW91IHNob3VsZCB1c2UgY29weVRva2VuIG9yIHJlbW92ZVRva2VuLlxuICAgKi9cbiAgbmV4dFRva2VuKCkge1xuICAgIGlmICh0aGlzLnRva2VuSW5kZXggPT09IHRoaXMudG9rZW5zLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5leHBlY3RlZGx5IHJlYWNoZWQgZW5kIG9mIGlucHV0LlwiKTtcbiAgICB9XG4gICAgdGhpcy50b2tlbkluZGV4Kys7XG4gIH1cblxuICBwcmV2aW91c1Rva2VuKCkge1xuICAgIHRoaXMudG9rZW5JbmRleC0tO1xuICB9XG5cbiAgZmluaXNoKCkge1xuICAgIGlmICh0aGlzLnRva2VuSW5kZXggIT09IHRoaXMudG9rZW5zLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVHJpZWQgdG8gZmluaXNoIHByb2Nlc3NpbmcgdG9rZW5zIGJlZm9yZSByZWFjaGluZyB0aGUgZW5kLlwiKTtcbiAgICB9XG4gICAgdGhpcy5yZXN1bHRDb2RlICs9IHRoaXMucHJldmlvdXNXaGl0ZXNwYWNlQW5kQ29tbWVudHMoKTtcbiAgICByZXR1cm4ge2NvZGU6IHRoaXMucmVzdWx0Q29kZSwgbWFwcGluZ3M6IHRoaXMucmVzdWx0TWFwcGluZ3N9O1xuICB9XG5cbiAgaXNBdEVuZCgpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkluZGV4ID09PSB0aGlzLnRva2Vucy5sZW5ndGg7XG4gIH1cbn1cbiIsICJcblxuaW1wb3J0IHtDb250ZXh0dWFsS2V5d29yZH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyoqXG4gKiBHZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNsYXNzIGZpZWxkcyBmb3IgdGhpcyBjbGFzcywgZ2l2ZW4gYSB0b2tlbiBwcm9jZXNzb3IgcG9pbnRpbmcgdG8gdGhlXG4gKiBvcGVuLWJyYWNlIGF0IHRoZSBzdGFydCBvZiB0aGUgY2xhc3MuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldENsYXNzSW5mbyhcbiAgcm9vdFRyYW5zZm9ybWVyLFxuICB0b2tlbnMsXG4gIG5hbWVNYW5hZ2VyLFxuICBkaXNhYmxlRVNUcmFuc2Zvcm1zLFxuKSB7XG4gIGNvbnN0IHNuYXBzaG90ID0gdG9rZW5zLnNuYXBzaG90KCk7XG5cbiAgY29uc3QgaGVhZGVySW5mbyA9IHByb2Nlc3NDbGFzc0hlYWRlcih0b2tlbnMpO1xuXG4gIGxldCBjb25zdHJ1Y3RvckluaXRpYWxpemVyU3RhdGVtZW50cyA9IFtdO1xuICBjb25zdCBpbnN0YW5jZUluaXRpYWxpemVyTmFtZXMgPSBbXTtcbiAgY29uc3Qgc3RhdGljSW5pdGlhbGl6ZXJOYW1lcyA9IFtdO1xuICBsZXQgY29uc3RydWN0b3JJbnNlcnRQb3MgPSBudWxsO1xuICBjb25zdCBmaWVsZHMgPSBbXTtcbiAgY29uc3QgcmFuZ2VzVG9SZW1vdmUgPSBbXTtcblxuICBjb25zdCBjbGFzc0NvbnRleHRJZCA9IHRva2Vucy5jdXJyZW50VG9rZW4oKS5jb250ZXh0SWQ7XG4gIGlmIChjbGFzc0NvbnRleHRJZCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgbm9uLW51bGwgY2xhc3MgY29udGV4dCBJRCBvbiBjbGFzcyBvcGVuLWJyYWNlLlwiKTtcbiAgfVxuXG4gIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgd2hpbGUgKCF0b2tlbnMubWF0Y2hlc0NvbnRleHRJZEFuZExhYmVsKHR0LmJyYWNlUiwgY2xhc3NDb250ZXh0SWQpKSB7XG4gICAgaWYgKHRva2Vucy5tYXRjaGVzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fY29uc3RydWN0b3IpICYmICF0b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlKSB7XG4gICAgICAoe2NvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLCBjb25zdHJ1Y3Rvckluc2VydFBvc30gPSBwcm9jZXNzQ29uc3RydWN0b3IodG9rZW5zKSk7XG4gICAgfSBlbHNlIGlmICh0b2tlbnMubWF0Y2hlczEodHQuc2VtaSkpIHtcbiAgICAgIGlmICghZGlzYWJsZUVTVHJhbnNmb3Jtcykge1xuICAgICAgICByYW5nZXNUb1JlbW92ZS5wdXNoKHtzdGFydDogdG9rZW5zLmN1cnJlbnRJbmRleCgpLCBlbmQ6IHRva2Vucy5jdXJyZW50SW5kZXgoKSArIDF9KTtcbiAgICAgIH1cbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICB9IGVsc2UgaWYgKHRva2Vucy5jdXJyZW50VG9rZW4oKS5pc1R5cGUpIHtcbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRWl0aGVyIGEgbWV0aG9kIG9yIGEgZmllbGQuIFNraXAgdG8gdGhlIGlkZW50aWZpZXIgcGFydC5cbiAgICAgIGNvbnN0IHN0YXRlbWVudFN0YXJ0SW5kZXggPSB0b2tlbnMuY3VycmVudEluZGV4KCk7XG4gICAgICBsZXQgaXNTdGF0aWMgPSBmYWxzZTtcbiAgICAgIGxldCBpc0VTUHJpdmF0ZSA9IGZhbHNlO1xuICAgICAgbGV0IGlzRGVjbGFyZU9yQWJzdHJhY3QgPSBmYWxzZTtcbiAgICAgIHdoaWxlIChpc0FjY2Vzc01vZGlmaWVyKHRva2Vucy5jdXJyZW50VG9rZW4oKSkpIHtcbiAgICAgICAgaWYgKHRva2Vucy5tYXRjaGVzMSh0dC5fc3RhdGljKSkge1xuICAgICAgICAgIGlzU3RhdGljID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW5zLm1hdGNoZXMxKHR0Lmhhc2gpKSB7XG4gICAgICAgICAgaXNFU1ByaXZhdGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbnMubWF0Y2hlczEodHQuX2RlY2xhcmUpIHx8IHRva2Vucy5tYXRjaGVzMSh0dC5fYWJzdHJhY3QpKSB7XG4gICAgICAgICAgaXNEZWNsYXJlT3JBYnN0cmFjdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgICAgfVxuICAgICAgaWYgKGlzU3RhdGljICYmIHRva2Vucy5tYXRjaGVzMSh0dC5icmFjZUwpKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBzdGF0aWMgYmxvY2ssIHNvIGRvbid0IHByb2Nlc3MgaXQgaW4gYW55IHNwZWNpYWwgd2F5LlxuICAgICAgICBza2lwVG9OZXh0Q2xhc3NFbGVtZW50KHRva2VucywgY2xhc3NDb250ZXh0SWQpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0VTUHJpdmF0ZSkge1xuICAgICAgICAvLyBTdWNyYXNlIGRvZXNuJ3QgYXR0ZW1wdCB0byB0cmFuc3BpbGUgcHJpdmF0ZSBmaWVsZHM7IGp1c3QgbGVhdmUgdGhlbSBhcy1pcy5cbiAgICAgICAgc2tpcFRvTmV4dENsYXNzRWxlbWVudCh0b2tlbnMsIGNsYXNzQ29udGV4dElkKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRva2Vucy5tYXRjaGVzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fY29uc3RydWN0b3IpICYmXG4gICAgICAgICF0b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlXG4gICAgICApIHtcbiAgICAgICAgKHtjb25zdHJ1Y3RvckluaXRpYWxpemVyU3RhdGVtZW50cywgY29uc3RydWN0b3JJbnNlcnRQb3N9ID0gcHJvY2Vzc0NvbnN0cnVjdG9yKHRva2VucykpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmFtZVN0YXJ0SW5kZXggPSB0b2tlbnMuY3VycmVudEluZGV4KCk7XG4gICAgICBza2lwRmllbGROYW1lKHRva2Vucyk7XG4gICAgICBpZiAodG9rZW5zLm1hdGNoZXMxKHR0Lmxlc3NUaGFuKSB8fCB0b2tlbnMubWF0Y2hlczEodHQucGFyZW5MKSkge1xuICAgICAgICAvLyBUaGlzIGlzIGEgbWV0aG9kLCBzbyBub3RoaW5nIHRvIHByb2Nlc3MuXG4gICAgICAgIHNraXBUb05leHRDbGFzc0VsZW1lbnQodG9rZW5zLCBjbGFzc0NvbnRleHRJZCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgYSB0eXBlIGFubm90YXRpb24gdGhhdCB3ZSBuZWVkIHRvIHNraXAuXG4gICAgICB3aGlsZSAodG9rZW5zLmN1cnJlbnRUb2tlbigpLmlzVHlwZSkge1xuICAgICAgICB0b2tlbnMubmV4dFRva2VuKCk7XG4gICAgICB9XG4gICAgICBpZiAodG9rZW5zLm1hdGNoZXMxKHR0LmVxKSkge1xuICAgICAgICBjb25zdCBlcXVhbHNJbmRleCA9IHRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICAgICAgLy8gVGhpcyBpcyBhbiBpbml0aWFsaXplciwgc28gd2UgbmVlZCB0byB3cmFwIGluIGFuIGluaXRpYWxpemVyIG1ldGhvZC5cbiAgICAgICAgY29uc3QgdmFsdWVFbmQgPSB0b2tlbnMuY3VycmVudFRva2VuKCkucmhzRW5kSW5kZXg7XG4gICAgICAgIGlmICh2YWx1ZUVuZCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgcmhzRW5kSW5kZXggb24gY2xhc3MgZmllbGQgYXNzaWdubWVudC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgICAgICB3aGlsZSAodG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgdmFsdWVFbmQpIHtcbiAgICAgICAgICByb290VHJhbnNmb3JtZXIucHJvY2Vzc1Rva2VuKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGluaXRpYWxpemVyTmFtZTtcbiAgICAgICAgaWYgKGlzU3RhdGljKSB7XG4gICAgICAgICAgaW5pdGlhbGl6ZXJOYW1lID0gbmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcIl9faW5pdFN0YXRpY1wiKTtcbiAgICAgICAgICBzdGF0aWNJbml0aWFsaXplck5hbWVzLnB1c2goaW5pdGlhbGl6ZXJOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpbml0aWFsaXplck5hbWUgPSBuYW1lTWFuYWdlci5jbGFpbUZyZWVOYW1lKFwiX19pbml0XCIpO1xuICAgICAgICAgIGluc3RhbmNlSW5pdGlhbGl6ZXJOYW1lcy5wdXNoKGluaXRpYWxpemVyTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRmllbGRzIHN0YXJ0IGF0IHRoZSBuYW1lLCBzbyBgc3RhdGljIHggPSAxO2AgaGFzIGEgZmllbGQgcmFuZ2Ugb2YgYHggPSAxO2AuXG4gICAgICAgIGZpZWxkcy5wdXNoKHtcbiAgICAgICAgICBpbml0aWFsaXplck5hbWUsXG4gICAgICAgICAgZXF1YWxzSW5kZXgsXG4gICAgICAgICAgc3RhcnQ6IG5hbWVTdGFydEluZGV4LFxuICAgICAgICAgIGVuZDogdG9rZW5zLmN1cnJlbnRJbmRleCgpLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIWRpc2FibGVFU1RyYW5zZm9ybXMgfHwgaXNEZWNsYXJlT3JBYnN0cmFjdCkge1xuICAgICAgICAvLyBUaGlzIGlzIGEgcmVndWxhciBmaWVsZCBkZWNsYXJhdGlvbiwgbGlrZSBgeDtgLiBXaXRoIHRoZSBjbGFzcyB0cmFuc2Zvcm0gZW5hYmxlZCwgd2UganVzdFxuICAgICAgICAvLyByZW1vdmUgdGhlIGxpbmUgc28gdGhhdCBubyBvdXRwdXQgaXMgcHJvZHVjZWQuIFdpdGggdGhlIGNsYXNzIHRyYW5zZm9ybSBkaXNhYmxlZCwgd2VcbiAgICAgICAgLy8gdXN1YWxseSB3YW50IHRvIHByZXNlcnZlIHRoZSBkZWNsYXJhdGlvbiAoYnV0IHN0aWxsIHN0cmlwIHR5cGVzKSwgYnV0IGlmIHRoZSBgZGVjbGFyZWBcbiAgICAgICAgLy8gb3IgYGFic3RyYWN0YCBrZXl3b3JkIGlzIHNwZWNpZmllZCwgd2Ugc2hvdWxkIHJlbW92ZSB0aGUgbGluZSB0byBhdm9pZCBpbml0aWFsaXppbmcgdGhlXG4gICAgICAgIC8vIHZhbHVlIHRvIHVuZGVmaW5lZC5cbiAgICAgICAgcmFuZ2VzVG9SZW1vdmUucHVzaCh7c3RhcnQ6IHN0YXRlbWVudFN0YXJ0SW5kZXgsIGVuZDogdG9rZW5zLmN1cnJlbnRJbmRleCgpfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdG9rZW5zLnJlc3RvcmVUb1NuYXBzaG90KHNuYXBzaG90KTtcbiAgaWYgKGRpc2FibGVFU1RyYW5zZm9ybXMpIHtcbiAgICAvLyBXaXRoIEVTIHRyYW5zZm9ybXMgZGlzYWJsZWQsIHdlIGRvbid0IHdhbnQgdG8gdHJhbnNmb3JtIHJlZ3VsYXIgY2xhc3NcbiAgICAvLyBmaWVsZCBkZWNsYXJhdGlvbnMsIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueSBhZGRpdGlvbmFsIHRyaWNrcyB0b1xuICAgIC8vIHJlZmVyZW5jZSB0aGUgY29uc3RydWN0b3IgZm9yIHN0YXRpYyBpbml0LCBidXQgd2Ugc3RpbGwgbmVlZCB0byB0cmFuc2Zvcm1cbiAgICAvLyBUeXBlU2NyaXB0IGZpZWxkIGluaXRpYWxpemVycyBkZWZpbmVkIGFzIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnMgYW5kIHdlXG4gICAgLy8gc3RpbGwgbmVlZCB0byByZW1vdmUgYGRlY2xhcmVgIGZpZWxkcy4gRm9yIG5vdywgd2UgcnVuIHRoZSBzYW1lIGNvZGVcbiAgICAvLyBwYXRoIGJ1dCBvbWl0IGFueSBmaWVsZCBpbmZvcm1hdGlvbiwgYXMgaWYgdGhlIGNsYXNzIGhhZCBubyBmaWVsZFxuICAgIC8vIGRlY2xhcmF0aW9ucy4gSW4gdGhlIGZ1dHVyZSwgd2hlbiB3ZSBmdWxseSBkcm9wIHRoZSBjbGFzcyBmaWVsZHNcbiAgICAvLyB0cmFuc2Zvcm0sIHdlIGNhbiBzaW1wbGlmeSB0aGlzIGNvZGUgc2lnbmlmaWNhbnRseS5cbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVySW5mbyxcbiAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgICAgaW5zdGFuY2VJbml0aWFsaXplck5hbWVzOiBbXSxcbiAgICAgIHN0YXRpY0luaXRpYWxpemVyTmFtZXM6IFtdLFxuICAgICAgY29uc3RydWN0b3JJbnNlcnRQb3MsXG4gICAgICBmaWVsZHM6IFtdLFxuICAgICAgcmFuZ2VzVG9SZW1vdmUsXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVySW5mbyxcbiAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgICAgaW5zdGFuY2VJbml0aWFsaXplck5hbWVzLFxuICAgICAgc3RhdGljSW5pdGlhbGl6ZXJOYW1lcyxcbiAgICAgIGNvbnN0cnVjdG9ySW5zZXJ0UG9zLFxuICAgICAgZmllbGRzLFxuICAgICAgcmFuZ2VzVG9SZW1vdmUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE1vdmUgdGhlIHRva2VuIHByb2Nlc3NvciB0byB0aGUgbmV4dCBtZXRob2QvZmllbGQgaW4gdGhlIGNsYXNzLlxuICpcbiAqIFRvIGRvIHRoYXQsIHdlIHNlZWsgZm9yd2FyZCB0byB0aGUgbmV4dCBzdGFydCBvZiBhIGNsYXNzIG5hbWUgKGVpdGhlciBhbiBvcGVuXG4gKiBicmFja2V0IG9yIGFuIGlkZW50aWZpZXIsIG9yIHRoZSBjbG9zaW5nIGN1cmx5IGJyYWNlKSwgdGhlbiBzZWVrIGJhY2t3YXJkIHRvXG4gKiBpbmNsdWRlIGFueSBhY2Nlc3MgbW9kaWZpZXJzLlxuICovXG5mdW5jdGlvbiBza2lwVG9OZXh0Q2xhc3NFbGVtZW50KHRva2VucywgY2xhc3NDb250ZXh0SWQpIHtcbiAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB3aGlsZSAodG9rZW5zLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZCAhPT0gY2xhc3NDb250ZXh0SWQpIHtcbiAgICB0b2tlbnMubmV4dFRva2VuKCk7XG4gIH1cbiAgd2hpbGUgKGlzQWNjZXNzTW9kaWZpZXIodG9rZW5zLnRva2VuQXRSZWxhdGl2ZUluZGV4KC0xKSkpIHtcbiAgICB0b2tlbnMucHJldmlvdXNUb2tlbigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NDbGFzc0hlYWRlcih0b2tlbnMpIHtcbiAgY29uc3QgY2xhc3NUb2tlbiA9IHRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgY29uc3QgY29udGV4dElkID0gY2xhc3NUb2tlbi5jb250ZXh0SWQ7XG4gIGlmIChjb250ZXh0SWQgPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGNvbnRleHQgSUQgb24gY2xhc3MgdG9rZW4uXCIpO1xuICB9XG4gIGNvbnN0IGlzRXhwcmVzc2lvbiA9IGNsYXNzVG9rZW4uaXNFeHByZXNzaW9uO1xuICBpZiAoaXNFeHByZXNzaW9uID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBpc0V4cHJlc3Npb24gb24gY2xhc3MgdG9rZW4uXCIpO1xuICB9XG4gIGxldCBjbGFzc05hbWUgPSBudWxsO1xuICBsZXQgaGFzU3VwZXJjbGFzcyA9IGZhbHNlO1xuICB0b2tlbnMubmV4dFRva2VuKCk7XG4gIGlmICh0b2tlbnMubWF0Y2hlczEodHQubmFtZSkpIHtcbiAgICBjbGFzc05hbWUgPSB0b2tlbnMuaWRlbnRpZmllck5hbWUoKTtcbiAgfVxuICB3aGlsZSAoIXRva2Vucy5tYXRjaGVzQ29udGV4dElkQW5kTGFiZWwodHQuYnJhY2VMLCBjb250ZXh0SWQpKSB7XG4gICAgLy8gSWYgdGhpcyBoYXMgYSBzdXBlcmNsYXNzLCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhbiBgZXh0ZW5kc2AgdG9rZW4uIElmIGl0IGRvZXNuJ3QgaGF2ZSBhXG4gICAgLy8gc3VwZXJjbGFzcywgb25seSB0eXBlIHBhcmFtZXRlcnMgYW5kIGBpbXBsZW1lbnRzYCBjbGF1c2VzIGNhbiBzaG93IHVwIGhlcmUsIGFsbCBvZiB3aGljaFxuICAgIC8vIGNvbnNpc3Qgb25seSBvZiB0eXBlIHRva2Vucy4gQSBkZWNsYXJhdGlvbiBsaWtlIGBjbGFzcyBBPEIgZXh0ZW5kcyBDPiB7YCBzaG91bGQgKm5vdCogY291bnRcbiAgICAvLyBhcyBoYXZpbmcgYSBzdXBlcmNsYXNzLlxuICAgIGlmICh0b2tlbnMubWF0Y2hlczEodHQuX2V4dGVuZHMpICYmICF0b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlKSB7XG4gICAgICBoYXNTdXBlcmNsYXNzID0gdHJ1ZTtcbiAgICB9XG4gICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB9XG4gIHJldHVybiB7aXNFeHByZXNzaW9uLCBjbGFzc05hbWUsIGhhc1N1cGVyY2xhc3N9O1xufVxuXG4vKipcbiAqIEV4dHJhY3QgdXNlZnVsIGluZm9ybWF0aW9uIG91dCBvZiBhIGNvbnN0cnVjdG9yLCBzdGFydGluZyBhdCB0aGUgXCJjb25zdHJ1Y3RvclwiIG5hbWUuXG4gKi9cbmZ1bmN0aW9uIHByb2Nlc3NDb25zdHJ1Y3Rvcih0b2tlbnMpXG5cblxuIHtcbiAgY29uc3QgY29uc3RydWN0b3JJbml0aWFsaXplclN0YXRlbWVudHMgPSBbXTtcblxuICB0b2tlbnMubmV4dFRva2VuKCk7XG4gIGNvbnN0IGNvbnN0cnVjdG9yQ29udGV4dElkID0gdG9rZW5zLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZDtcbiAgaWYgKGNvbnN0cnVjdG9yQ29udGV4dElkID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBjb250ZXh0IElEIG9uIG9wZW4tcGFyZW4gc3RhcnRpbmcgY29uc3RydWN0b3IgcGFyYW1zLlwiKTtcbiAgfVxuICAvLyBBZHZhbmNlIHRocm91Z2ggcGFyYW1ldGVycyBsb29raW5nIGZvciBhY2Nlc3MgbW9kaWZpZXJzLlxuICB3aGlsZSAoIXRva2Vucy5tYXRjaGVzQ29udGV4dElkQW5kTGFiZWwodHQucGFyZW5SLCBjb25zdHJ1Y3RvckNvbnRleHRJZCkpIHtcbiAgICBpZiAodG9rZW5zLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZCA9PT0gY29uc3RydWN0b3JDb250ZXh0SWQpIHtcbiAgICAgIC8vIEN1cnJlbnQgdG9rZW4gaXMgYW4gb3BlbiBwYXJlbiBvciBjb21tYSBqdXN0IGJlZm9yZSBhIHBhcmFtLCBzbyBjaGVja1xuICAgICAgLy8gdGhhdCBwYXJhbSBmb3IgYWNjZXNzIG1vZGlmaWVycy5cbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICAgIGlmIChpc0FjY2Vzc01vZGlmaWVyKHRva2Vucy5jdXJyZW50VG9rZW4oKSkpIHtcbiAgICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgICAgICB3aGlsZSAoaXNBY2Nlc3NNb2RpZmllcih0b2tlbnMuY3VycmVudFRva2VuKCkpKSB7XG4gICAgICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRva2VuID0gdG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICAgICAgICBpZiAodG9rZW4udHlwZSAhPT0gdHQubmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGlkZW50aWZpZXIgYWZ0ZXIgYWNjZXNzIG1vZGlmaWVycyBpbiBjb25zdHJ1Y3RvciBhcmcuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWUgPSB0b2tlbnMuaWRlbnRpZmllck5hbWVGb3JUb2tlbih0b2tlbik7XG4gICAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLnB1c2goYHRoaXMuJHtuYW1lfSA9ICR7bmFtZX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICAgIH1cbiAgfVxuICAvLyApXG4gIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgLy8gQ29uc3RydWN0b3IgdHlwZSBhbm5vdGF0aW9ucyBhcmUgaW52YWxpZCwgYnV0IHNraXAgdGhlbSBhbnl3YXkgc2luY2VcbiAgLy8gdGhleSdyZSBlYXN5IHRvIHNraXAuXG4gIHdoaWxlICh0b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlKSB7XG4gICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB9XG4gIGxldCBjb25zdHJ1Y3Rvckluc2VydFBvcyA9IHRva2Vucy5jdXJyZW50SW5kZXgoKTtcblxuICAvLyBBZHZhbmNlIHRocm91Z2ggYm9keSBsb29raW5nIGZvciBhIHN1cGVyIGNhbGwuXG4gIGxldCBmb3VuZFN1cGVyQ2FsbCA9IGZhbHNlO1xuICB3aGlsZSAoIXRva2Vucy5tYXRjaGVzQ29udGV4dElkQW5kTGFiZWwodHQuYnJhY2VSLCBjb25zdHJ1Y3RvckNvbnRleHRJZCkpIHtcbiAgICBpZiAoIWZvdW5kU3VwZXJDYWxsICYmIHRva2Vucy5tYXRjaGVzMih0dC5fc3VwZXIsIHR0LnBhcmVuTCkpIHtcbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICAgIGNvbnN0IHN1cGVyQ2FsbENvbnRleHRJZCA9IHRva2Vucy5jdXJyZW50VG9rZW4oKS5jb250ZXh0SWQ7XG4gICAgICBpZiAoc3VwZXJDYWxsQ29udGV4dElkID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgYSBjb250ZXh0IElEIG9uIHRoZSBzdXBlciBjYWxsXCIpO1xuICAgICAgfVxuICAgICAgd2hpbGUgKCF0b2tlbnMubWF0Y2hlc0NvbnRleHRJZEFuZExhYmVsKHR0LnBhcmVuUiwgc3VwZXJDYWxsQ29udGV4dElkKSkge1xuICAgICAgICB0b2tlbnMubmV4dFRva2VuKCk7XG4gICAgICB9XG4gICAgICBjb25zdHJ1Y3Rvckluc2VydFBvcyA9IHRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICAgIGZvdW5kU3VwZXJDYWxsID0gdHJ1ZTtcbiAgICB9XG4gICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB9XG4gIC8vIH1cbiAgdG9rZW5zLm5leHRUb2tlbigpO1xuXG4gIHJldHVybiB7Y29uc3RydWN0b3JJbml0aWFsaXplclN0YXRlbWVudHMsIGNvbnN0cnVjdG9ySW5zZXJ0UG9zfTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgdGhpcyBpcyBhbnkgdG9rZW4gdGhhdCBjYW4gZ28gYmVmb3JlIHRoZSBuYW1lIGluIGEgbWV0aG9kL2ZpZWxkLlxuICovXG5mdW5jdGlvbiBpc0FjY2Vzc01vZGlmaWVyKHRva2VuKSB7XG4gIHJldHVybiBbXG4gICAgdHQuX2FzeW5jLFxuICAgIHR0Ll9nZXQsXG4gICAgdHQuX3NldCxcbiAgICB0dC5wbHVzLFxuICAgIHR0Lm1pbnVzLFxuICAgIHR0Ll9yZWFkb25seSxcbiAgICB0dC5fc3RhdGljLFxuICAgIHR0Ll9wdWJsaWMsXG4gICAgdHQuX3ByaXZhdGUsXG4gICAgdHQuX3Byb3RlY3RlZCxcbiAgICB0dC5fb3ZlcnJpZGUsXG4gICAgdHQuX2Fic3RyYWN0LFxuICAgIHR0LnN0YXIsXG4gICAgdHQuX2RlY2xhcmUsXG4gICAgdHQuaGFzaCxcbiAgXS5pbmNsdWRlcyh0b2tlbi50eXBlKTtcbn1cblxuLyoqXG4gKiBUaGUgbmV4dCB0b2tlbiBvciBzZXQgb2YgdG9rZW5zIGlzIGVpdGhlciBhbiBpZGVudGlmaWVyIG9yIGFuIGV4cHJlc3Npb24gaW4gc3F1YXJlIGJyYWNrZXRzLCBmb3JcbiAqIGEgbWV0aG9kIG9yIGZpZWxkIG5hbWUuXG4gKi9cbmZ1bmN0aW9uIHNraXBGaWVsZE5hbWUodG9rZW5zKSB7XG4gIGlmICh0b2tlbnMubWF0Y2hlczEodHQuYnJhY2tldEwpKSB7XG4gICAgY29uc3Qgc3RhcnRUb2tlbiA9IHRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICBjb25zdCBjbGFzc0NvbnRleHRJZCA9IHN0YXJ0VG9rZW4uY29udGV4dElkO1xuICAgIGlmIChjbGFzc0NvbnRleHRJZCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBjbGFzcyBjb250ZXh0IElEIG9uIGNvbXB1dGVkIG5hbWUgb3BlbiBicmFja2V0LlwiKTtcbiAgICB9XG4gICAgd2hpbGUgKCF0b2tlbnMubWF0Y2hlc0NvbnRleHRJZEFuZExhYmVsKHR0LmJyYWNrZXRSLCBjbGFzc0NvbnRleHRJZCkpIHtcbiAgICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgICB9XG4gICAgdG9rZW5zLm5leHRUb2tlbigpO1xuICB9IGVsc2Uge1xuICAgIHRva2Vucy5uZXh0VG9rZW4oKTtcbiAgfVxufVxuIiwgImltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGVsaWRlSW1wb3J0RXF1YWxzKHRva2Vucykge1xuICAvLyBpbXBvcnRcbiAgdG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAvLyBuYW1lXG4gIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAvLyA9XG4gIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAvLyBuYW1lIG9yIHJlcXVpcmVcbiAgdG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gIC8vIEhhbmRsZSBlaXRoZXIgYGltcG9ydCBBID0gcmVxdWlyZSgnQScpYCBvciBgaW1wb3J0IEEgPSBCLkMuRGAuXG4gIGlmICh0b2tlbnMubWF0Y2hlczEodHQucGFyZW5MKSkge1xuICAgIC8vIChcbiAgICB0b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAvLyBwYXRoIHN0cmluZ1xuICAgIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIC8vIClcbiAgICB0b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAodG9rZW5zLm1hdGNoZXMxKHR0LmRvdCkpIHtcbiAgICAgIC8vIC5cbiAgICAgIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgLy8gbmFtZVxuICAgICAgdG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgfVxuICB9XG59XG4iLCAiaW1wb3J0IHtpc1RvcExldmVsRGVjbGFyYXRpb259IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG5cblxuXG5cblxuZXhwb3J0IGNvbnN0IEVNUFRZX0RFQ0xBUkFUSU9OX0lORk8gPSB7XG4gIHR5cGVEZWNsYXJhdGlvbnM6IG5ldyBTZXQoKSxcbiAgdmFsdWVEZWNsYXJhdGlvbnM6IG5ldyBTZXQoKSxcbn07XG5cbi8qKlxuICogR2V0IGFsbCB0b3AtbGV2ZWwgaWRlbnRpZmllcnMgdGhhdCBzaG91bGQgYmUgcHJlc2VydmVkIHdoZW4gZXhwb3J0ZWQgaW4gVHlwZVNjcmlwdC5cbiAqXG4gKiBFeGFtcGxlczpcbiAqIC0gSWYgYW4gaWRlbnRpZmllciBpcyBkZWNsYXJlZCBhcyBgY29uc3QgeGAsIHRoZW4gYGV4cG9ydCB7eH1gIHNob3VsZCBiZSBwcmVzZXJ2ZWQuXG4gKiAtIElmIGl0J3MgZGVjbGFyZWQgYXMgYHR5cGUgeGAsIHRoZW4gYGV4cG9ydCB7eH1gIHNob3VsZCBiZSByZW1vdmVkLlxuICogLSBJZiBpdCdzIGRlY2xhcmVkIGFzIGJvdGggYGNvbnN0IHhgIGFuZCBgdHlwZSB4YCwgdGhlbiB0aGUgZXhwb3J0IHNob3VsZCBiZSBwcmVzZXJ2ZWQuXG4gKiAtIENsYXNzZXMgYW5kIGVudW1zIHNob3VsZCBiZSBwcmVzZXJ2ZWQgKGV2ZW4gdGhvdWdoIHRoZXkgYWxzbyBpbnRyb2R1Y2UgdHlwZXMpLlxuICogLSBJbXBvcnRlZCBpZGVudGlmaWVycyBzaG91bGQgYmUgcHJlc2VydmVkIHNpbmNlIHdlIGRvbid0IGhhdmUgZW5vdWdoIGluZm9ybWF0aW9uIHRvXG4gKiAgIHJ1bGUgdGhlbSBvdXQuIC0taXNvbGF0ZWRNb2R1bGVzIGRpc2FsbG93cyByZS1leHBvcnRzLCB3aGljaCBjYXRjaGVzIGVycm9ycyBoZXJlLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXREZWNsYXJhdGlvbkluZm8odG9rZW5zKSB7XG4gIGNvbnN0IHR5cGVEZWNsYXJhdGlvbnMgPSBuZXcgU2V0KCk7XG4gIGNvbnN0IHZhbHVlRGVjbGFyYXRpb25zID0gbmV3IFNldCgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy50b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCB0b2tlbiA9IHRva2Vucy50b2tlbnNbaV07XG4gICAgaWYgKHRva2VuLnR5cGUgPT09IHR0Lm5hbWUgJiYgaXNUb3BMZXZlbERlY2xhcmF0aW9uKHRva2VuKSkge1xuICAgICAgaWYgKHRva2VuLmlzVHlwZSkge1xuICAgICAgICB0eXBlRGVjbGFyYXRpb25zLmFkZCh0b2tlbnMuaWRlbnRpZmllck5hbWVGb3JUb2tlbih0b2tlbikpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWVEZWNsYXJhdGlvbnMuYWRkKHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB7dHlwZURlY2xhcmF0aW9ucywgdmFsdWVEZWNsYXJhdGlvbnN9O1xufVxuIiwgImltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG4vKipcbiAqIFN0YXJ0aW5nIGF0IGBleHBvcnQge2AsIGxvb2sgYWhlYWQgYW5kIHJldHVybiBgdHJ1ZWAgaWYgdGhpcyBpcyBhblxuICogYGV4cG9ydCB7Li4ufSBmcm9tYCBzdGF0ZW1lbnQgYW5kIGBmYWxzZWAgaWYgdGhpcyBpcyBhIHBsYWluIG11bHRpLWV4cG9ydC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNFeHBvcnRGcm9tKHRva2Vucykge1xuICBsZXQgY2xvc2VCcmFjZUluZGV4ID0gdG9rZW5zLmN1cnJlbnRJbmRleCgpO1xuICB3aGlsZSAoIXRva2Vucy5tYXRjaGVzMUF0SW5kZXgoY2xvc2VCcmFjZUluZGV4LCB0dC5icmFjZVIpKSB7XG4gICAgY2xvc2VCcmFjZUluZGV4Kys7XG4gIH1cbiAgcmV0dXJuIChcbiAgICB0b2tlbnMubWF0Y2hlc0NvbnRleHR1YWxBdEluZGV4KGNsb3NlQnJhY2VJbmRleCArIDEsIENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKSAmJlxuICAgIHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoY2xvc2VCcmFjZUluZGV4ICsgMiwgdHQuc3RyaW5nKVxuICApO1xufVxuIiwgImltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG4vKipcbiAqIFN0YXJ0aW5nIGF0IGEgcG90ZW50aWFsIGB3aXRoYCBvciAobGVnYWN5KSBgYXNzZXJ0YCB0b2tlbiwgcmVtb3ZlIHRoZSBpbXBvcnRcbiAqIGF0dHJpYnV0ZXMgaWYgdGhleSBleGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlcyh0b2tlbnMpIHtcbiAgaWYgKFxuICAgIHRva2Vucy5tYXRjaGVzMih0dC5fd2l0aCwgdHQuYnJhY2VMKSB8fFxuICAgICh0b2tlbnMubWF0Y2hlczIodHQubmFtZSwgdHQuYnJhY2VMKSAmJiB0b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2Fzc2VydCkpXG4gICkge1xuICAgIC8vIGFzc2VydFxuICAgIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIC8vIHtcbiAgICB0b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB0b2tlbnMucmVtb3ZlQmFsYW5jZWRDb2RlKCk7XG4gICAgLy8gfVxuICAgIHRva2Vucy5yZW1vdmVUb2tlbigpO1xuICB9XG59XG4iLCAiaW1wb3J0IHtUb2tlblR5cGUgYXMgdHR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL3R5cGVzXCI7XG5cblxuXG4vKipcbiAqIENvbW1vbiBtZXRob2Qgc2hhcmluZyBjb2RlIGJldHdlZW4gQ0pTIGFuZCBFU00gY2FzZXMsIHNpbmNlIHRoZXkncmUgdGhlIHNhbWUgaGVyZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2hvdWxkRWxpZGVEZWZhdWx0RXhwb3J0KFxuICBpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkLFxuICBrZWVwVW51c2VkSW1wb3J0cyxcbiAgdG9rZW5zLFxuICBkZWNsYXJhdGlvbkluZm8sXG4pIHtcbiAgaWYgKCFpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkIHx8IGtlZXBVbnVzZWRJbXBvcnRzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGV4cG9ydFRva2VuID0gdG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICBpZiAoZXhwb3J0VG9rZW4ucmhzRW5kSW5kZXggPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG5vbi1udWxsIHJoc0VuZEluZGV4IG9uIGV4cG9ydCB0b2tlbi5cIik7XG4gIH1cbiAgLy8gVGhlIGV4cG9ydCBtdXN0IGJlIG9mIHRoZSBmb3JtIGBleHBvcnQgZGVmYXVsdCBhYCBvciBgZXhwb3J0IGRlZmF1bHQgYTtgLlxuICBjb25zdCBudW1Ub2tlbnMgPSBleHBvcnRUb2tlbi5yaHNFbmRJbmRleCAtIHRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgaWYgKFxuICAgIG51bVRva2VucyAhPT0gMyAmJlxuICAgICEobnVtVG9rZW5zID09PSA0ICYmIHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoZXhwb3J0VG9rZW4ucmhzRW5kSW5kZXggLSAxLCB0dC5zZW1pKSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGlkZW50aWZpZXJUb2tlbiA9IHRva2Vucy50b2tlbkF0UmVsYXRpdmVJbmRleCgyKTtcbiAgaWYgKGlkZW50aWZpZXJUb2tlbi50eXBlICE9PSB0dC5uYW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGV4cG9ydGVkTmFtZSA9IHRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKGlkZW50aWZpZXJUb2tlbik7XG4gIHJldHVybiAoXG4gICAgZGVjbGFyYXRpb25JbmZvLnR5cGVEZWNsYXJhdGlvbnMuaGFzKGV4cG9ydGVkTmFtZSkgJiZcbiAgICAhZGVjbGFyYXRpb25JbmZvLnZhbHVlRGVjbGFyYXRpb25zLmhhcyhleHBvcnRlZE5hbWUpXG4gICk7XG59XG4iLCAiXG5cblxuaW1wb3J0IHtJZGVudGlmaWVyUm9sZSwgaXNEZWNsYXJhdGlvbiwgaXNPYmplY3RTaG9ydGhhbmREZWNsYXJhdGlvbn0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXJcIjtcbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IGVsaWRlSW1wb3J0RXF1YWxzIGZyb20gXCIuLi91dGlsL2VsaWRlSW1wb3J0RXF1YWxzXCI7XG5pbXBvcnQgZ2V0RGVjbGFyYXRpb25JbmZvLCB7XG5cbiAgRU1QVFlfREVDTEFSQVRJT05fSU5GTyxcbn0gZnJvbSBcIi4uL3V0aWwvZ2V0RGVjbGFyYXRpb25JbmZvXCI7XG5pbXBvcnQgZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mbyBmcm9tIFwiLi4vdXRpbC9nZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvXCI7XG5pbXBvcnQgaXNFeHBvcnRGcm9tIGZyb20gXCIuLi91dGlsL2lzRXhwb3J0RnJvbVwiO1xuaW1wb3J0IHtyZW1vdmVNYXliZUltcG9ydEF0dHJpYnV0ZXN9IGZyb20gXCIuLi91dGlsL3JlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlc1wiO1xuaW1wb3J0IHNob3VsZEVsaWRlRGVmYXVsdEV4cG9ydCBmcm9tIFwiLi4vdXRpbC9zaG91bGRFbGlkZURlZmF1bHRFeHBvcnRcIjtcblxuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuLyoqXG4gKiBDbGFzcyBmb3IgZWRpdGluZyBpbXBvcnQgc3RhdGVtZW50cyB3aGVuIHdlIGFyZSB0cmFuc2Zvcm1pbmcgdG8gY29tbW9uanMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENKU0ltcG9ydFRyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICAgX19pbml0KCkge3RoaXMuaGFkRXhwb3J0ID0gZmFsc2V9XG4gICBfX2luaXQyKCkge3RoaXMuaGFkTmFtZWRFeHBvcnQgPSBmYWxzZX1cbiAgIF9faW5pdDMoKSB7dGhpcy5oYWREZWZhdWx0RXhwb3J0ID0gZmFsc2V9XG4gIFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICByb290VHJhbnNmb3JtZXIsXG4gICAgIHRva2VucyxcbiAgICAgaW1wb3J0UHJvY2Vzc29yLFxuICAgICBuYW1lTWFuYWdlcixcbiAgICAgaGVscGVyTWFuYWdlcixcbiAgICAgcmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcixcbiAgICAgZW5hYmxlTGVnYWN5QmFiZWw1TW9kdWxlSW50ZXJvcCxcbiAgICAgZW5hYmxlTGVnYWN5VHlwZVNjcmlwdE1vZHVsZUludGVyb3AsXG4gICAgIGlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQsXG4gICAgIGlzRmxvd1RyYW5zZm9ybUVuYWJsZWQsXG4gICAgIHByZXNlcnZlRHluYW1pY0ltcG9ydCxcbiAgICAga2VlcFVudXNlZEltcG9ydHMsXG4gICkge1xuICAgIHN1cGVyKCk7dGhpcy5yb290VHJhbnNmb3JtZXIgPSByb290VHJhbnNmb3JtZXI7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5pbXBvcnRQcm9jZXNzb3IgPSBpbXBvcnRQcm9jZXNzb3I7dGhpcy5uYW1lTWFuYWdlciA9IG5hbWVNYW5hZ2VyO3RoaXMuaGVscGVyTWFuYWdlciA9IGhlbHBlck1hbmFnZXI7dGhpcy5yZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyID0gcmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcjt0aGlzLmVuYWJsZUxlZ2FjeUJhYmVsNU1vZHVsZUludGVyb3AgPSBlbmFibGVMZWdhY3lCYWJlbDVNb2R1bGVJbnRlcm9wO3RoaXMuZW5hYmxlTGVnYWN5VHlwZVNjcmlwdE1vZHVsZUludGVyb3AgPSBlbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcDt0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgPSBpc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkO3RoaXMuaXNGbG93VHJhbnNmb3JtRW5hYmxlZCA9IGlzRmxvd1RyYW5zZm9ybUVuYWJsZWQ7dGhpcy5wcmVzZXJ2ZUR5bmFtaWNJbXBvcnQgPSBwcmVzZXJ2ZUR5bmFtaWNJbXBvcnQ7dGhpcy5rZWVwVW51c2VkSW1wb3J0cyA9IGtlZXBVbnVzZWRJbXBvcnRzO0NKU0ltcG9ydFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtDSlNJbXBvcnRUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0Mi5jYWxsKHRoaXMpO0NKU0ltcG9ydFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQzLmNhbGwodGhpcyk7O1xuICAgIHRoaXMuZGVjbGFyYXRpb25JbmZvID0gaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZFxuICAgICAgPyBnZXREZWNsYXJhdGlvbkluZm8odG9rZW5zKVxuICAgICAgOiBFTVBUWV9ERUNMQVJBVElPTl9JTkZPO1xuICB9XG5cbiAgZ2V0UHJlZml4Q29kZSgpIHtcbiAgICBsZXQgcHJlZml4ID0gXCJcIjtcbiAgICBpZiAodGhpcy5oYWRFeHBvcnQpIHtcbiAgICAgIHByZWZpeCArPSAnT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7dmFsdWU6IHRydWV9KTsnO1xuICAgIH1cbiAgICByZXR1cm4gcHJlZml4O1xuICB9XG5cbiAgZ2V0U3VmZml4Q29kZSgpIHtcbiAgICBpZiAodGhpcy5lbmFibGVMZWdhY3lCYWJlbDVNb2R1bGVJbnRlcm9wICYmIHRoaXMuaGFkRGVmYXVsdEV4cG9ydCAmJiAhdGhpcy5oYWROYW1lZEV4cG9ydCkge1xuICAgICAgcmV0dXJuIFwiXFxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XFxuXCI7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICAvLyBUeXBlU2NyaXB0IGBpbXBvcnQgZm9vID0gcmVxdWlyZSgnZm9vJyk7YCBzaG91bGQgYWx3YXlzIGp1c3QgYmUgdHJhbnNsYXRlZCB0byBwbGFpbiByZXF1aXJlLlxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5faW1wb3J0LCB0dC5uYW1lLCB0dC5lcSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NJbXBvcnRFcXVhbHMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9pbXBvcnQpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NJbXBvcnQoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQuZXEpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCJtb2R1bGUuZXhwb3J0c1wiKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuX2V4cG9ydCkgJiYgIXRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLmlzVHlwZSkge1xuICAgICAgdGhpcy5oYWRFeHBvcnQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0V4cG9ydCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczIodHQubmFtZSwgdHQucG9zdEluY0RlYykpIHtcbiAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBub3JtYWwgaWRlbnRpZmllciBtYXRjaGluZyBpZiB0aGlzIGRvZXNuJ3QgYXBwbHkuXG4gICAgICBpZiAodGhpcy5wcm9jZXNzUG9zdEluY0RlYygpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQubmFtZSkgfHwgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuanN4TmFtZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NJZGVudGlmaWVyKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5lcSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NBc3NpZ25tZW50KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5hc3NpZ24pKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ29tcGxleEFzc2lnbm1lbnQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnByZUluY0RlYykpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NQcmVJbmNEZWMoKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgIHByb2Nlc3NJbXBvcnRFcXVhbHMoKSB7XG4gICAgY29uc3QgaW1wb3J0TmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEpO1xuICAgIGlmICh0aGlzLmltcG9ydFByb2Nlc3Nvci5zaG91bGRBdXRvbWF0aWNhbGx5RWxpZGVJbXBvcnRlZE5hbWUoaW1wb3J0TmFtZSkpIHtcbiAgICAgIC8vIElmIHRoaXMgbmFtZSBpcyBvbmx5IHVzZWQgYXMgYSB0eXBlLCBlbGlkZSB0aGUgd2hvbGUgaW1wb3J0LlxuICAgICAgZWxpZGVJbXBvcnRFcXVhbHModGhpcy50b2tlbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBPdGhlcndpc2UsIHN3aXRjaCBgaW1wb3J0YCB0byBgY29uc3RgLlxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiY29uc3RcIik7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGlzOlxuICAgKiBpbXBvcnQgZm9vLCB7YmFyfSBmcm9tICdiYXonO1xuICAgKiBpbnRvXG4gICAqIHZhciBfYmF6ID0gcmVxdWlyZSgnYmF6Jyk7IHZhciBfYmF6MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Jheik7XG4gICAqXG4gICAqIFRoZSBpbXBvcnQgY29kZSB3YXMgYWxyZWFkeSBnZW5lcmF0ZWQgaW4gdGhlIGltcG9ydCBwcmVwcm9jZXNzaW5nIHN0ZXAsIHNvXG4gICAqIHdlIGp1c3QgbmVlZCB0byBsb29rIGl0IHVwLlxuICAgKi9cbiAgIHByb2Nlc3NJbXBvcnQoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9pbXBvcnQsIHR0LnBhcmVuTCkpIHtcbiAgICAgIGlmICh0aGlzLnByZXNlcnZlRHluYW1pY0ltcG9ydCkge1xuICAgICAgICAvLyBCYWlsIG91dCwgb25seSBtYWtpbmcgcHJvZ3Jlc3MgZm9yIHRoaXMgb25lIHRva2VuLlxuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVxdWlyZVdyYXBwZXIgPSB0aGlzLmVuYWJsZUxlZ2FjeVR5cGVTY3JpcHRNb2R1bGVJbnRlcm9wXG4gICAgICAgID8gXCJcIlxuICAgICAgICA6IGAke3RoaXMuaGVscGVyTWFuYWdlci5nZXRIZWxwZXJOYW1lKFwiaW50ZXJvcFJlcXVpcmVXaWxkY2FyZFwiKX0oYDtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiAke3JlcXVpcmVXcmFwcGVyfXJlcXVpcmVgKTtcbiAgICAgIGNvbnN0IGNvbnRleHRJZCA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLmNvbnRleHRJZDtcbiAgICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBjb250ZXh0IElEIG9uIGR5bmFtaWMgaW1wb3J0IGludm9jYXRpb24uXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0SWRBbmRMYWJlbCh0dC5wYXJlblIsIGNvbnRleHRJZCkpIHtcbiAgICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc1Rva2VuKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4ocmVxdWlyZVdyYXBwZXIgPyBcIikpKVwiIDogXCIpKVwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzaG91bGRFbGlkZUltcG9ydCA9IHRoaXMucmVtb3ZlSW1wb3J0QW5kRGV0ZWN0SWZTaG91bGRFbGlkZSgpO1xuICAgIGlmIChzaG91bGRFbGlkZUltcG9ydCkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGF0aCA9IHRoaXMudG9rZW5zLnN0cmluZ1ZhbHVlKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKHRoaXMuaW1wb3J0UHJvY2Vzc29yLmNsYWltSW1wb3J0Q29kZShwYXRoKSk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKHRoaXMuaW1wb3J0UHJvY2Vzc29yLmNsYWltSW1wb3J0Q29kZShwYXRoKSk7XG4gICAgfVxuICAgIHJlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlcyh0aGlzLnRva2Vucyk7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnNlbWkpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFcmFzZSB0aGlzIGltcG9ydCAoc2luY2UgYW55IENKUyBvdXRwdXQgd291bGQgYmUgY29tcGxldGVseSBkaWZmZXJlbnQpLCBhbmRcbiAgICogcmV0dXJuIHRydWUgaWYgdGhpcyBpbXBvcnQgaXMgc2hvdWxkIGJlIGVsaWRlZCBkdWUgdG8gYmVpbmcgYSB0eXBlLW9ubHlcbiAgICogaW1wb3J0LiBTdWNoIGltcG9ydHMgd2lsbCBub3QgYmUgZW1pdHRlZCBhdCBhbGwgdG8gYXZvaWQgc2lkZSBlZmZlY3RzLlxuICAgKlxuICAgKiBJbXBvcnQgZWxpc2lvbiBvbmx5IGhhcHBlbnMgd2l0aCB0aGUgVHlwZVNjcmlwdCBvciBGbG93IHRyYW5zZm9ybXMgZW5hYmxlZC5cbiAgICpcbiAgICogVE9ETzogVGhpcyBmdW5jdGlvbiBoYXMgc29tZSBhd2t3YXJkIG92ZXJsYXAgd2l0aFxuICAgKiAgQ0pTSW1wb3J0UHJvY2Vzc29yLnBydW5lVHlwZU9ubHlJbXBvcnRzICwgYW5kIHRoZSB0d28gc2hvdWxkIGJlIHVuaWZpZWQuXG4gICAqICBUaGF0IGZ1bmN0aW9uIGhhbmRsZXMgVHlwZVNjcmlwdCBpbXBsaWNpdCBpbXBvcnQgbmFtZSBlbGlzaW9uLCBhbmQgcmVtb3Zlc1xuICAgKiAgYW4gaW1wb3J0IGlmIGFsbCB0eXBpY2FsIGltcG9ydGVkIG5hbWVzICh3aXRob3V0IGB0eXBlYCkgYXJlIHJlbW92ZWQgZHVlXG4gICAqICB0byBiZWluZyB0eXBlLW9ubHkgaW1wb3J0cy4gVGhpcyBmdW5jdGlvbiBoYW5kbGVzIEZsb3cgaW1wb3J0IHJlbW92YWwgYW5kXG4gICAqICBwcm9wZXJseSBkaXN0aW5ndWlzaGVzIGBpbXBvcnQgJ2ZvbydgIGZyb20gYGltcG9ydCB7fSBmcm9tICdmb28nYCBmb3IgVFNcbiAgICogIHB1cnBvc2VzLlxuICAgKlxuICAgKiBUaGUgcG9zaXRpb24gc2hvdWxkIGVuZCBhdCB0aGUgaW1wb3J0IHN0cmluZy5cbiAgICovXG4gICByZW1vdmVJbXBvcnRBbmREZXRlY3RJZlNob3VsZEVsaWRlKCkge1xuICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl90eXBlKSAmJlxuICAgICAgIXRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEsIHR0LmNvbW1hKSAmJlxuICAgICAgIXRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEsIENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKVxuICAgICkge1xuICAgICAgLy8gVGhpcyBpcyBhbiBcImltcG9ydCB0eXBlXCIgc3RhdGVtZW50LCBzbyBleGl0IGVhcmx5LlxuICAgICAgdGhpcy5yZW1vdmVSZW1haW5pbmdJbXBvcnQoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5uYW1lKSB8fCB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5zdGFyKSkge1xuICAgICAgLy8gV2UgaGF2ZSBhIGRlZmF1bHQgaW1wb3J0IG9yIG5hbWVzcGFjZSBpbXBvcnQsIHNvIHRoZXJlIG11c3QgYmUgc29tZVxuICAgICAgLy8gbm9uLXR5cGUgaW1wb3J0LlxuICAgICAgdGhpcy5yZW1vdmVSZW1haW5pbmdJbXBvcnQoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuc3RyaW5nKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJhcmUgaW1wb3J0LCBzbyB3ZSBzaG91bGQgcHJvY2VlZCB3aXRoIHRoZSBpbXBvcnQuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgbGV0IGZvdW5kTm9uVHlwZUltcG9ydCA9IGZhbHNlO1xuICAgIGxldCBmb3VuZEFueU5hbWVkSW1wb3J0ID0gZmFsc2U7XG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5zdHJpbmcpKSB7XG4gICAgICAvLyBDaGVjayBpZiBhbnkgbmFtZWQgaW1wb3J0cyBhcmUgb2YgdGhlIGZvcm0gXCJmb29cIiBvciBcImZvbyBhcyBiYXJcIiwgd2l0aFxuICAgICAgLy8gbm8gbGVhZGluZyBcInR5cGVcIi5cbiAgICAgIGlmIChcbiAgICAgICAgKCFmb3VuZE5vblR5cGVJbXBvcnQgJiYgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKSkgfHxcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuY29tbWEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgaWYgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZVIpKSB7XG4gICAgICAgICAgZm91bmRBbnlOYW1lZEltcG9ydCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Lm5hbWUsIHR0LmNvbW1hKSB8fFxuICAgICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Lm5hbWUsIHR0LmJyYWNlUikgfHxcbiAgICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNCh0dC5uYW1lLCB0dC5uYW1lLCB0dC5uYW1lLCB0dC5jb21tYSkgfHxcbiAgICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNCh0dC5uYW1lLCB0dC5uYW1lLCB0dC5uYW1lLCB0dC5icmFjZVIpXG4gICAgICAgICkge1xuICAgICAgICAgIGZvdW5kTm9uVHlwZUltcG9ydCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmtlZXBVbnVzZWRJbXBvcnRzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQpIHtcbiAgICAgIHJldHVybiAhZm91bmROb25UeXBlSW1wb3J0O1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0Zsb3dUcmFuc2Zvcm1FbmFibGVkKSB7XG4gICAgICAvLyBJbiBGbG93LCB1bmxpa2UgVFMsIGBpbXBvcnQge30gZnJvbSAnZm9vJztgIHByZXNlcnZlcyB0aGUgaW1wb3J0LlxuICAgICAgcmV0dXJuIGZvdW5kQW55TmFtZWRJbXBvcnQgJiYgIWZvdW5kTm9uVHlwZUltcG9ydDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gICByZW1vdmVSZW1haW5pbmdJbXBvcnQoKSB7XG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5zdHJpbmcpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gICBwcm9jZXNzSWRlbnRpZmllcigpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICAgIGlmICh0b2tlbi5zaGFkb3dzR2xvYmFsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuLmlkZW50aWZpZXJSb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RTaG9ydGhhbmQpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NPYmplY3RTaG9ydGhhbmQoKTtcbiAgICB9XG5cbiAgICBpZiAodG9rZW4uaWRlbnRpZmllclJvbGUgIT09IElkZW50aWZpZXJSb2xlLkFjY2Vzcykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCByZXBsYWNlbWVudCA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yLmdldElkZW50aWZpZXJSZXBsYWNlbWVudChcbiAgICAgIHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4odG9rZW4pLFxuICAgICk7XG4gICAgaWYgKCFyZXBsYWNlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBUb2xlcmF0ZSBhbnkgbnVtYmVyIG9mIGNsb3NpbmcgcGFyZW5zIHdoaWxlIGxvb2tpbmcgZm9yIGFuIG9wZW5pbmcgcGFyZW5cbiAgICAvLyB0aGF0IGluZGljYXRlcyBhIGZ1bmN0aW9uIGNhbGwuXG4gICAgbGV0IHBvc3NpYmxlT3BlblBhcmVuSW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDE7XG4gICAgd2hpbGUgKFxuICAgICAgcG9zc2libGVPcGVuUGFyZW5JbmRleCA8IHRoaXMudG9rZW5zLnRva2Vucy5sZW5ndGggJiZcbiAgICAgIHRoaXMudG9rZW5zLnRva2Vuc1twb3NzaWJsZU9wZW5QYXJlbkluZGV4XS50eXBlID09PSB0dC5wYXJlblJcbiAgICApIHtcbiAgICAgIHBvc3NpYmxlT3BlblBhcmVuSW5kZXgrKztcbiAgICB9XG4gICAgLy8gQXZvaWQgdHJlYXRpbmcgaW1wb3J0ZWQgZnVuY3Rpb25zIGFzIG1ldGhvZHMgb2YgdGhlaXIgYGV4cG9ydHNgIG9iamVjdFxuICAgIC8vIGJ5IHVzaW5nIGAoMCwgZilgIHdoZW4gdGhlIGlkZW50aWZpZXIgaXMgaW4gYSBwYXJlbiBleHByZXNzaW9uLiBFbHNlXG4gICAgLy8gdXNlIGBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbGAgd2hlbiB0aGUgaWRlbnRpZmllciBpcyBhIGd1YXJhbnRlZWRcbiAgICAvLyBmdW5jdGlvbiBjYWxsLiBXaGVuIHVzaW5nIGBjYWxsYCwgcGFzcyB1bmRlZmluZWQgYXMgdGhlIGNvbnRleHQuXG4gICAgaWYgKHRoaXMudG9rZW5zLnRva2Vuc1twb3NzaWJsZU9wZW5QYXJlbkluZGV4XS50eXBlID09PSB0dC5wYXJlbkwpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy50b2tlbnMudG9rZW5BdFJlbGF0aXZlSW5kZXgoMSkudHlwZSA9PT0gdHQucGFyZW5MICYmXG4gICAgICAgIHRoaXMudG9rZW5zLnRva2VuQXRSZWxhdGl2ZUluZGV4KC0xKS50eXBlICE9PSB0dC5fbmV3XG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAke3JlcGxhY2VtZW50fS5jYWxsKHZvaWQgMCwgYCk7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgb2xkIHBhcmVuLlxuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAvLyBCYWxhbmNlIG91dCB0aGUgbmV3IHBhcmVuLlxuICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuUik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTZWUgaGVyZTogaHR0cDovLzJhbGl0eS5jb20vMjAxNS8xMi9yZWZlcmVuY2VzLmh0bWxcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAoMCwgJHtyZXBsYWNlbWVudH0pYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihyZXBsYWNlbWVudCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvY2Vzc09iamVjdFNob3J0aGFuZCgpIHtcbiAgICBjb25zdCBpZGVudGlmaWVyID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWUoKTtcbiAgICBjb25zdCByZXBsYWNlbWVudCA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yLmdldElkZW50aWZpZXJSZXBsYWNlbWVudChpZGVudGlmaWVyKTtcbiAgICBpZiAoIXJlcGxhY2VtZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgJHtpZGVudGlmaWVyfTogJHtyZXBsYWNlbWVudH1gKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb2Nlc3NFeHBvcnQoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQuX2VudW0pIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5fZXhwb3J0LCB0dC5fY29uc3QsIHR0Ll9lbnVtKVxuICAgICkge1xuICAgICAgdGhpcy5oYWROYW1lZEV4cG9ydCA9IHRydWU7XG4gICAgICAvLyBMZXQgdGhlIFR5cGVTY3JpcHQgdHJhbnNmb3JtIGhhbmRsZSBpdC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0KSkge1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMzKHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fZW51bSkpIHtcbiAgICAgICAgdGhpcy5oYWREZWZhdWx0RXhwb3J0ID0gdHJ1ZTtcbiAgICAgICAgLy8gRmxvdyBleHBvcnQgZGVmYXVsdCBlbnVtcyBuZWVkIHNvbWUgc3BlY2lhbCBoYW5kbGluZywgc28gaGFuZGxlIHRoZW1cbiAgICAgICAgLy8gaW4gdGhhdCB0cmFuZm9ybSByYXRoZXIgdGhhbiB0aGlzIG9uZS5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5wcm9jZXNzRXhwb3J0RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5icmFjZUwpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NFeHBvcnRCaW5kaW5ncygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Lm5hbWUpICYmXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbEF0SW5kZXgodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxLCBDb250ZXh0dWFsS2V5d29yZC5fdHlwZSlcbiAgICApIHtcbiAgICAgIC8vIGV4cG9ydCB0eXBlIHthfTtcbiAgICAgIC8vIGV4cG9ydCB0eXBlIHthIGFzIGJ9O1xuICAgICAgLy8gZXhwb3J0IHR5cGUge2F9IGZyb20gJy4vYic7XG4gICAgICAvLyBleHBvcnQgdHlwZSAqIGZyb20gJy4vYic7XG4gICAgICAvLyBleHBvcnQgdHlwZSAqIGFzIG5zIGZyb20gJy4vYic7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKSkge1xuICAgICAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyAqXG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fYXMpKSB7XG4gICAgICAgICAgLy8gYXNcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAgIC8vIG5zXG4gICAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gUmVtb3ZlIHR5cGUgcmUtZXhwb3J0IGAuLi4gfSBmcm9tICcuL1QnYFxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkgJiZcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSwgdHQuc3RyaW5nKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIHJlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlcyh0aGlzLnRva2Vucyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5oYWROYW1lZEV4cG9ydCA9IHRydWU7XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQuX3ZhcikgfHxcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Ll9sZXQpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5fY29uc3QpXG4gICAgKSB7XG4gICAgICB0aGlzLnByb2Nlc3NFeHBvcnRWYXIoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5fZnVuY3Rpb24pIHx8XG4gICAgICAvLyBleHBvcnQgYXN5bmMgZnVuY3Rpb25cbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMzKHR0Ll9leHBvcnQsIHR0Lm5hbWUsIHR0Ll9mdW5jdGlvbilcbiAgICApIHtcbiAgICAgIHRoaXMucHJvY2Vzc0V4cG9ydEZ1bmN0aW9uKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQuX2NsYXNzKSB8fFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczModHQuX2V4cG9ydCwgdHQuX2Fic3RyYWN0LCB0dC5fY2xhc3MpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5hdClcbiAgICApIHtcbiAgICAgIHRoaXMucHJvY2Vzc0V4cG9ydENsYXNzKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0LnN0YXIpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NFeHBvcnRTdGFyKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5yZWNvZ25pemVkIGV4cG9ydCBzeW50YXguXCIpO1xuICAgIH1cbiAgfVxuXG4gICBwcm9jZXNzQXNzaWdubWVudCgpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpO1xuICAgIGNvbnN0IGlkZW50aWZpZXJUb2tlbiA9IHRoaXMudG9rZW5zLnRva2Vuc1tpbmRleCAtIDFdO1xuICAgIC8vIElmIHRoZSBMSFMgaXMgYSB0eXBlIGlkZW50aWZpZXIsIHRoaXMgbXVzdCBiZSBhIGRlY2xhcmF0aW9uIGxpa2UgYGxldCBhOiBiID0gYztgLFxuICAgIC8vIHdpdGggYGJgIGFzIHRoZSBpZGVudGlmaWVyLCBzbyBub3RoaW5nIG5lZWRzIHRvIGJlIGRvbmUgaW4gdGhhdCBjYXNlLlxuICAgIGlmIChpZGVudGlmaWVyVG9rZW4uaXNUeXBlIHx8IGlkZW50aWZpZXJUb2tlbi50eXBlICE9PSB0dC5uYW1lKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpZGVudGlmaWVyVG9rZW4uc2hhZG93c0dsb2JhbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaW5kZXggPj0gMiAmJiB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXggLSAyLCB0dC5kb3QpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpbmRleCA+PSAyICYmIFt0dC5fdmFyLCB0dC5fbGV0LCB0dC5fY29uc3RdLmluY2x1ZGVzKHRoaXMudG9rZW5zLnRva2Vuc1tpbmRleCAtIDJdLnR5cGUpKSB7XG4gICAgICAvLyBEZWNsYXJhdGlvbnMgZG9uJ3QgbmVlZCBhbiBleHRyYSBhc3NpZ25tZW50LiBUaGlzIGRvZXNuJ3QgYXZvaWQgdGhlXG4gICAgICAvLyBhc3NpZ25tZW50IGZvciBjb21tYS1zZXBhcmF0ZWQgZGVjbGFyYXRpb25zLCBidXQgaXQncyBzdGlsbCBjb3JyZWN0XG4gICAgICAvLyBzaW5jZSB0aGUgYXNzaWdubWVudCBpcyBqdXN0IHJlZHVuZGFudC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgYXNzaWdubWVudFNuaXBwZXQgPSB0aGlzLmltcG9ydFByb2Nlc3Nvci5yZXNvbHZlRXhwb3J0QmluZGluZyhcbiAgICAgIHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4oaWRlbnRpZmllclRva2VuKSxcbiAgICApO1xuICAgIGlmICghYXNzaWdubWVudFNuaXBwZXQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgICR7YXNzaWdubWVudFNuaXBwZXR9ID1gKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHNvbWV0aGluZyBsaWtlIGBhICs9IDNgLCB3aGVyZSBgYWAgbWlnaHQgYmUgYW4gZXhwb3J0ZWQgdmFsdWUuXG4gICAqL1xuICAgcHJvY2Vzc0NvbXBsZXhBc3NpZ25tZW50KCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCk7XG4gICAgY29uc3QgaWRlbnRpZmllclRva2VuID0gdGhpcy50b2tlbnMudG9rZW5zW2luZGV4IC0gMV07XG4gICAgaWYgKGlkZW50aWZpZXJUb2tlbi50eXBlICE9PSB0dC5uYW1lKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpZGVudGlmaWVyVG9rZW4uc2hhZG93c0dsb2JhbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaW5kZXggPj0gMiAmJiB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXggLSAyLCB0dC5kb3QpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGFzc2lnbm1lbnRTbmlwcGV0ID0gdGhpcy5pbXBvcnRQcm9jZXNzb3IucmVzb2x2ZUV4cG9ydEJpbmRpbmcoXG4gICAgICB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKGlkZW50aWZpZXJUb2tlbiksXG4gICAgKTtcbiAgICBpZiAoIWFzc2lnbm1lbnRTbmlwcGV0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCA9ICR7YXNzaWdubWVudFNuaXBwZXR9YCk7XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VzcyBzb21ldGhpbmcgbGlrZSBgKythYCwgd2hlcmUgYGFgIG1pZ2h0IGJlIGFuIGV4cG9ydGVkIHZhbHVlLlxuICAgKi9cbiAgIHByb2Nlc3NQcmVJbmNEZWMoKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICBjb25zdCBpZGVudGlmaWVyVG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbnNbaW5kZXggKyAxXTtcbiAgICBpZiAoaWRlbnRpZmllclRva2VuLnR5cGUgIT09IHR0Lm5hbWUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGlkZW50aWZpZXJUb2tlbi5zaGFkb3dzR2xvYmFsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIElnbm9yZSB0aGluZ3MgbGlrZSArK2EuYiBhbmQgKythW2JdIGFuZCArK2EoKS5iLlxuICAgIGlmIChcbiAgICAgIGluZGV4ICsgMiA8IHRoaXMudG9rZW5zLnRva2Vucy5sZW5ndGggJiZcbiAgICAgICh0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXggKyAyLCB0dC5kb3QpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCArIDIsIHR0LmJyYWNrZXRMKSB8fFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXggKyAyLCB0dC5wYXJlbkwpKVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBpZGVudGlmaWVyTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lRm9yVG9rZW4oaWRlbnRpZmllclRva2VuKTtcbiAgICBjb25zdCBhc3NpZ25tZW50U25pcHBldCA9IHRoaXMuaW1wb3J0UHJvY2Vzc29yLnJlc29sdmVFeHBvcnRCaW5kaW5nKGlkZW50aWZpZXJOYW1lKTtcbiAgICBpZiAoIWFzc2lnbm1lbnRTbmlwcGV0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCR7YXNzaWdubWVudFNuaXBwZXR9ID0gYCk7XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUHJvY2VzcyBzb21ldGhpbmcgbGlrZSBgYSsrYCwgd2hlcmUgYGFgIG1pZ2h0IGJlIGFuIGV4cG9ydGVkIHZhbHVlLlxuICAgKiBUaGlzIHN0YXJ0cyBhdCB0aGUgYGFgLCBub3QgYXQgdGhlIGArK2AuXG4gICAqL1xuICAgcHJvY2Vzc1Bvc3RJbmNEZWMoKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICBjb25zdCBpZGVudGlmaWVyVG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbnNbaW5kZXhdO1xuICAgIGNvbnN0IG9wZXJhdG9yVG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbnNbaW5kZXggKyAxXTtcbiAgICBpZiAoaWRlbnRpZmllclRva2VuLnR5cGUgIT09IHR0Lm5hbWUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGlkZW50aWZpZXJUb2tlbi5zaGFkb3dzR2xvYmFsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpbmRleCA+PSAxICYmIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCAtIDEsIHR0LmRvdCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgaWRlbnRpZmllck5hbWUgPSB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKGlkZW50aWZpZXJUb2tlbik7XG4gICAgY29uc3QgYXNzaWdubWVudFNuaXBwZXQgPSB0aGlzLmltcG9ydFByb2Nlc3Nvci5yZXNvbHZlRXhwb3J0QmluZGluZyhpZGVudGlmaWVyTmFtZSk7XG4gICAgaWYgKCFhc3NpZ25tZW50U25pcHBldCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBvcGVyYXRvckNvZGUgPSB0aGlzLnRva2Vucy5yYXdDb2RlRm9yVG9rZW4ob3BlcmF0b3JUb2tlbik7XG4gICAgLy8gV2UgbWlnaHQgYWxzbyByZXBsYWNlIHRoZSBpZGVudGlmaWVyIHdpdGggc29tZXRoaW5nIGxpa2UgZXhwb3J0cy54LCBzb1xuICAgIC8vIGRvIHRoYXQgcmVwbGFjZW1lbnQgaGVyZSBhcyB3ZWxsLlxuICAgIGNvbnN0IGJhc2UgPSB0aGlzLmltcG9ydFByb2Nlc3Nvci5nZXRJZGVudGlmaWVyUmVwbGFjZW1lbnQoaWRlbnRpZmllck5hbWUpIHx8IGlkZW50aWZpZXJOYW1lO1xuICAgIGlmIChvcGVyYXRvckNvZGUgPT09IFwiKytcIikge1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAoJHtiYXNlfSA9ICR7YXNzaWdubWVudFNuaXBwZXR9ID0gJHtiYXNlfSArIDEsICR7YmFzZX0gLSAxKWApO1xuICAgIH0gZWxzZSBpZiAob3BlcmF0b3JDb2RlID09PSBcIi0tXCIpIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgKCR7YmFzZX0gPSAke2Fzc2lnbm1lbnRTbmlwcGV0fSA9ICR7YmFzZX0gLSAxLCAke2Jhc2V9ICsgMSlgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG9wZXJhdG9yOiAke29wZXJhdG9yQ29kZX1gKTtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gICBwcm9jZXNzRXhwb3J0RGVmYXVsdCgpIHtcbiAgICBsZXQgZXhwb3J0ZWRSdW50aW1lVmFsdWUgPSB0cnVlO1xuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXM0KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fZnVuY3Rpb24sIHR0Lm5hbWUpIHx8XG4gICAgICAvLyBleHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvblxuICAgICAgKHRoaXMudG9rZW5zLm1hdGNoZXM1KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5uYW1lLCB0dC5fZnVuY3Rpb24sIHR0Lm5hbWUpICYmXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleChcbiAgICAgICAgICB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDIsXG4gICAgICAgICAgQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jLFxuICAgICAgICApKVxuICAgICkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgLy8gTmFtZWQgZnVuY3Rpb24gZXhwb3J0IGNhc2U6IGNoYW5nZSBpdCB0byBhIHRvcC1sZXZlbCBmdW5jdGlvblxuICAgICAgLy8gZGVjbGFyYXRpb24gZm9sbG93ZWQgYnkgZXhwb3J0cyBzdGF0ZW1lbnQuXG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5wcm9jZXNzTmFtZWRGdW5jdGlvbigpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgIGV4cG9ydHMuZGVmYXVsdCA9ICR7bmFtZX07YCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXM0KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fY2xhc3MsIHR0Lm5hbWUpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNSh0dC5fZXhwb3J0LCB0dC5fZGVmYXVsdCwgdHQuX2Fic3RyYWN0LCB0dC5fY2xhc3MsIHR0Lm5hbWUpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5fZXhwb3J0LCB0dC5fZGVmYXVsdCwgdHQuYXQpXG4gICAgKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB0aGlzLmNvcHlEZWNvcmF0b3JzKCk7XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuX2Fic3RyYWN0KSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgfVxuICAgICAgY29uc3QgbmFtZSA9IHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NOYW1lZENsYXNzKCk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAgZXhwb3J0cy5kZWZhdWx0ID0gJHtuYW1lfTtgKTtcbiAgICAgIC8vIEFmdGVyIHRoaXMgcG9pbnQsIHRoaXMgaXMgYSBwbGFpbiBcImV4cG9ydCBkZWZhdWx0IEVcIiBzdGF0ZW1lbnQuXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHNob3VsZEVsaWRlRGVmYXVsdEV4cG9ydChcbiAgICAgICAgdGhpcy5pc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkLFxuICAgICAgICB0aGlzLmtlZXBVbnVzZWRJbXBvcnRzLFxuICAgICAgICB0aGlzLnRva2VucyxcbiAgICAgICAgdGhpcy5kZWNsYXJhdGlvbkluZm8sXG4gICAgICApXG4gICAgKSB7XG4gICAgICAvLyBJZiB0aGUgZXhwb3J0ZWQgdmFsdWUgaXMganVzdCBhbiBpZGVudGlmaWVyIGFuZCBzaG91bGQgYmUgZWxpZGVkIGJ5IFR5cGVTY3JpcHRcbiAgICAgIC8vIHJ1bGVzLCB0aGVuIHJlbW92ZSBpdCBlbnRpcmVseS4gSXQgd2lsbCBhbHdheXMgaGF2ZSB0aGUgZm9ybSBgZXhwb3J0IGRlZmF1bHQgZWAsXG4gICAgICAvLyB3aGVyZSBgZWAgaXMgYW4gaWRlbnRpZmllci5cbiAgICAgIGV4cG9ydGVkUnVudGltZVZhbHVlID0gZmFsc2U7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyKSB7XG4gICAgICAvLyBXZSBuZWVkIHRvIGFzc2lnbiBFIHRvIGEgdmFyaWFibGUuIENoYW5nZSBcImV4cG9ydCBkZWZhdWx0IEVcIiB0b1xuICAgICAgLy8gXCJsZXQgX2RlZmF1bHQ7IGV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0ID0gRVwiXG4gICAgICBjb25zdCBkZWZhdWx0VmFyTmFtZSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcIl9kZWZhdWx0XCIpO1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGBsZXQgJHtkZWZhdWx0VmFyTmFtZX07IGV4cG9ydHMuYCk7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCA9ICR7ZGVmYXVsdFZhck5hbWV9ID1gKTtcbiAgICAgIHRoaXMucmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lci5zZXRFeHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZShkZWZhdWx0VmFyTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENoYW5nZSBcImV4cG9ydCBkZWZhdWx0IEVcIiB0byBcImV4cG9ydHMuZGVmYXVsdCA9IEVcIlxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiZXhwb3J0cy5cIik7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIgPVwiKTtcbiAgICB9XG4gICAgaWYgKGV4cG9ydGVkUnVudGltZVZhbHVlKSB7XG4gICAgICB0aGlzLmhhZERlZmF1bHRFeHBvcnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gICBjb3B5RGVjb3JhdG9ycygpIHtcbiAgICB3aGlsZSAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYXQpKSB7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5wYXJlbkwpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuTCk7XG4gICAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQucGFyZW5SKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0Lm5hbWUpO1xuICAgICAgICB3aGlsZSAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuZG90KSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LmRvdCk7XG4gICAgICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQubmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnBhcmVuTCkpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5wYXJlbkwpO1xuICAgICAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5wYXJlblIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBhIGRlY2xhcmF0aW9uIGxpa2UgYGV4cG9ydCB2YXJgLCBgZXhwb3J0IGxldGAsIG9yIGBleHBvcnQgY29uc3RgLlxuICAgKi9cbiAgIHByb2Nlc3NFeHBvcnRWYXIoKSB7XG4gICAgaWYgKHRoaXMuaXNTaW1wbGVFeHBvcnRWYXIoKSkge1xuICAgICAgdGhpcy5wcm9jZXNzU2ltcGxlRXhwb3J0VmFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc0NvbXBsZXhFeHBvcnRWYXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBleHBvcnQgaXMgb2YgdGhlIGZvcm06XG4gICAqIGV4cG9ydCB2YXIvbGV0L2NvbnN0IFt2YXJOYW1lXSA9IFtleHByXTtcbiAgICogSW4gb3RoZXIgd29yZHMsIGRldGVybWluZSBpZiBmdW5jdGlvbiBuYW1lIGluZmVyZW5jZSBtaWdodCBhcHBseS5cbiAgICovXG4gICBpc1NpbXBsZUV4cG9ydFZhcigpIHtcbiAgICBsZXQgdG9rZW5JbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpO1xuICAgIC8vIGV4cG9ydFxuICAgIHRva2VuSW5kZXgrKztcbiAgICAvLyB2YXIvbGV0L2NvbnN0XG4gICAgdG9rZW5JbmRleCsrO1xuICAgIGlmICghdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KHRva2VuSW5kZXgsIHR0Lm5hbWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRva2VuSW5kZXgrKztcbiAgICB3aGlsZSAodG9rZW5JbmRleCA8IHRoaXMudG9rZW5zLnRva2Vucy5sZW5ndGggJiYgdGhpcy50b2tlbnMudG9rZW5zW3Rva2VuSW5kZXhdLmlzVHlwZSkge1xuICAgICAgdG9rZW5JbmRleCsrO1xuICAgIH1cbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleCh0b2tlbkluZGV4LCB0dC5lcSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIGFuIGBleHBvcnQgdmFyYCBkZWNsYXJhdGlvbiBpbml0aWFsaXppbmcgYSBzaW5nbGUgdmFyaWFibGUuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCB0aGlzOlxuICAgKiBleHBvcnQgY29uc3QgZiA9ICgpID0+IHt9O1xuICAgKiBiZWNvbWVzIHRoaXM6XG4gICAqIGNvbnN0IGYgPSAoKSA9PiB7fTsgZXhwb3J0cy5mID0gZjtcbiAgICpcbiAgICogVGhlIHZhcmlhYmxlIGlzIHVudXNlZCAoZS5nLiBleHBvcnRzLmYgaGFzIHRoZSB0cnVlIHZhbHVlIG9mIHRoZSBleHBvcnQpLlxuICAgKiBXZSBuZWVkIHRvIHByb2R1Y2UgYW4gYXNzaWdubWVudCBvZiB0aGlzIGZvcm0gc28gdGhhdCB0aGUgZnVuY3Rpb24gd2lsbFxuICAgKiBoYXZlIGFuIGluZmVycmVkIG5hbWUgb2YgXCJmXCIsIHdoaWNoIHdvdWxkbid0IGhhcHBlbiBpbiB0aGUgbW9yZSBnZW5lcmFsXG4gICAqIGNhc2UgYmVsb3cuXG4gICAqL1xuICAgcHJvY2Vzc1NpbXBsZUV4cG9ydFZhcigpIHtcbiAgICAvLyBleHBvcnRcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAvLyB2YXIvbGV0L2NvbnN0XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgY29uc3QgdmFyTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgLy8geDogbnVtYmVyICAtPiAgeFxuICAgIHdoaWxlICghdGhpcy50b2tlbnMubWF0Y2hlczEodHQuZXEpKSB7XG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICB9XG4gICAgY29uc3QgZW5kSW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKS5yaHNFbmRJbmRleDtcbiAgICBpZiAoZW5kSW5kZXggPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgPSB0b2tlbiB3aXRoIGFuIGVuZCBpbmRleC5cIik7XG4gICAgfVxuICAgIHdoaWxlICh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA8IGVuZEluZGV4KSB7XG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgOyBleHBvcnRzLiR7dmFyTmFtZX0gPSAke3Zhck5hbWV9YCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIG5vcm1hbCBkZWNsYXJhdGlvbiBleHBvcnRzLCBpbmNsdWRpbmcgaGFuZGxpbmcgZGVzdHJ1Y3R1cmluZy5cbiAgICogRm9yIGV4YW1wbGUsIHRoaXM6XG4gICAqIGV4cG9ydCBjb25zdCB7eDogW2EgPSAyLCBiXSwgY30gPSBkO1xuICAgKiBiZWNvbWVzIHRoaXM6XG4gICAqICh7eDogW2V4cG9ydHMuYSA9IDIsIGV4cG9ydHMuYl0sIGM6IGV4cG9ydHMuY30gPSBkOylcbiAgICovXG4gICBwcm9jZXNzQ29tcGxleEV4cG9ydFZhcigpIHtcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIGNvbnN0IG5lZWRzUGFyZW5zID0gdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKTtcbiAgICBpZiAobmVlZHNQYXJlbnMpIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIoXCIpO1xuICAgIH1cblxuICAgIGxldCBkZXB0aCA9IDA7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VMKSB8fFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5kb2xsYXJCcmFjZUwpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNrZXRMKVxuICAgICAgKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZVIpIHx8IHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNrZXRSKSkge1xuICAgICAgICBkZXB0aC0tO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGRlcHRoID09PSAwICYmXG4gICAgICAgICF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5uYW1lKSAmJlxuICAgICAgICAhdGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlXG4gICAgICApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmVxKSkge1xuICAgICAgICAvLyBEZWZhdWx0IHZhbHVlcyBtaWdodCBoYXZlIGFzc2lnbm1lbnRzIGluIHRoZSBSSFMgdGhhdCB3ZSB3YW50IHRvIGlnbm9yZSwgc28gc2tpcCBwYXN0XG4gICAgICAgIC8vIHRoZW0uXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkucmhzRW5kSW5kZXg7XG4gICAgICAgIGlmIChlbmRJbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgPSB0b2tlbiB3aXRoIGFuIGVuZCBpbmRleC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgZW5kSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICAgICAgaWYgKGlzRGVjbGFyYXRpb24odG9rZW4pKSB7XG4gICAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgICAgICAgbGV0IHJlcGxhY2VtZW50ID0gdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KG5hbWUpO1xuICAgICAgICAgIGlmIChyZXBsYWNlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIHJlcGxhY2VtZW50IGZvciAke25hbWV9IGluIFxcYGV4cG9ydCB2YXJcXGAgc3ludGF4LmApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNPYmplY3RTaG9ydGhhbmREZWNsYXJhdGlvbih0b2tlbikpIHtcbiAgICAgICAgICAgIHJlcGxhY2VtZW50ID0gYCR7bmFtZX06ICR7cmVwbGFjZW1lbnR9YDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKHJlcGxhY2VtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuZWVkc1BhcmVucykge1xuICAgICAgLy8gU2VlayB0byB0aGUgZW5kIG9mIHRoZSBSSFMuXG4gICAgICBjb25zdCBlbmRJbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLnJoc0VuZEluZGV4O1xuICAgICAgaWYgKGVuZEluZGV4ID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgPSB0b2tlbiB3aXRoIGFuIGVuZCBpbmRleC5cIik7XG4gICAgICB9XG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCBlbmRJbmRleCkge1xuICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIpXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhpczpcbiAgICogZXhwb3J0IGZ1bmN0aW9uIGZvbygpIHt9XG4gICAqIGludG8gdGhpczpcbiAgICogZnVuY3Rpb24gZm9vKCkge30gZXhwb3J0cy5mb28gPSBmb287XG4gICAqL1xuICAgcHJvY2Vzc0V4cG9ydEZ1bmN0aW9uKCkge1xuICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihcIlwiKTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5wcm9jZXNzTmFtZWRGdW5jdGlvbigpO1xuICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCBleHBvcnRzLiR7bmFtZX0gPSAke25hbWV9O2ApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNraXAgcGFzdCBhIGZ1bmN0aW9uIHdpdGggYSBuYW1lIGFuZCByZXR1cm4gdGhhdCBuYW1lLlxuICAgKi9cbiAgIHByb2Nlc3NOYW1lZEZ1bmN0aW9uKCkge1xuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fZnVuY3Rpb24pKSB7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Lm5hbWUsIHR0Ll9mdW5jdGlvbikpIHtcbiAgICAgIGlmICghdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBhc3luYyBrZXl3b3JkIGluIGZ1bmN0aW9uIGV4cG9ydC5cIik7XG4gICAgICB9XG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuc3RhcikpIHtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Lm5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBpZGVudGlmaWVyIGZvciBleHBvcnRlZCBmdW5jdGlvbiBuYW1lLlwiKTtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCk7XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgaWYgKHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLmlzVHlwZSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkuaXNUeXBlKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuTCk7XG4gICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc0JhbGFuY2VkQ29kZSgpO1xuICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuUik7XG4gICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc1Bvc3NpYmxlVHlwZVJhbmdlKCk7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VMKTtcbiAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VSKTtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhpczpcbiAgICogZXhwb3J0IGNsYXNzIEEge31cbiAgICogaW50byB0aGlzOlxuICAgKiBjbGFzcyBBIHt9IGV4cG9ydHMuQSA9IEE7XG4gICAqL1xuICAgcHJvY2Vzc0V4cG9ydENsYXNzKCkge1xuICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgIHRoaXMuY29weURlY29yYXRvcnMoKTtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuX2Fic3RyYWN0KSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NOYW1lZENsYXNzKCk7XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgIGV4cG9ydHMuJHtuYW1lfSA9ICR7bmFtZX07YCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoaXM6XG4gICAqIGV4cG9ydCB7YSwgYiBhcyBjfTtcbiAgICogaW50byB0aGlzOlxuICAgKiBleHBvcnRzLmEgPSBhOyBleHBvcnRzLmMgPSBiO1xuICAgKlxuICAgKiBPUlxuICAgKlxuICAgKiBUcmFuc2Zvcm0gdGhpczpcbiAgICogZXhwb3J0IHthLCBiIGFzIGN9IGZyb20gJy4vZm9vJztcbiAgICogaW50byB0aGUgcHJlLWdlbmVyYXRlZCBPYmplY3QuZGVmaW5lUHJvcGVydHkgY29kZSBmcm9tIHRoZSBJbXBvcnRQcm9jZXNzb3IuXG4gICAqXG4gICAqIEZvciB0aGUgZmlyc3QgY2FzZSwgaWYgdGhlIFR5cGVTY3JpcHQgdHJhbnNmb3JtIGlzIGVuYWJsZWQsIHdlIG5lZWQgdG8gc2tpcFxuICAgKiBleHBvcnRzIHRoYXQgYXJlIG9ubHkgZGVmaW5lZCBhcyB0eXBlcy5cbiAgICovXG4gICBwcm9jZXNzRXhwb3J0QmluZGluZ3MoKSB7XG4gICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcblxuICAgIGNvbnN0IGlzUmVFeHBvcnQgPSBpc0V4cG9ydEZyb20odGhpcy50b2tlbnMpO1xuXG4gICAgY29uc3QgZXhwb3J0U3RhdGVtZW50cyA9IFtdO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VSKSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3BlY2lmaWVySW5mbyA9IGdldEltcG9ydEV4cG9ydFNwZWNpZmllckluZm8odGhpcy50b2tlbnMpO1xuXG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCBzcGVjaWZpZXJJbmZvLmVuZEluZGV4KSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNob3VsZFJlbW92ZUV4cG9ydCA9XG4gICAgICAgIHNwZWNpZmllckluZm8uaXNUeXBlIHx8XG4gICAgICAgICghaXNSZUV4cG9ydCAmJiB0aGlzLnNob3VsZEVsaWRlRXhwb3J0ZWRJZGVudGlmaWVyKHNwZWNpZmllckluZm8ubGVmdE5hbWUpKTtcbiAgICAgIGlmICghc2hvdWxkUmVtb3ZlRXhwb3J0KSB7XG4gICAgICAgIGNvbnN0IGV4cG9ydGVkTmFtZSA9IHNwZWNpZmllckluZm8ucmlnaHROYW1lO1xuICAgICAgICBpZiAoZXhwb3J0ZWROYW1lID09PSBcImRlZmF1bHRcIikge1xuICAgICAgICAgIHRoaXMuaGFkRGVmYXVsdEV4cG9ydCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYWROYW1lZEV4cG9ydCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbG9jYWxOYW1lID0gc3BlY2lmaWVySW5mby5sZWZ0TmFtZTtcbiAgICAgICAgY29uc3QgbmV3TG9jYWxOYW1lID0gdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KGxvY2FsTmFtZSk7XG4gICAgICAgIGV4cG9ydFN0YXRlbWVudHMucHVzaChgZXhwb3J0cy4ke2V4cG9ydGVkTmFtZX0gPSAke25ld0xvY2FsTmFtZSB8fCBsb2NhbE5hbWV9O2ApO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VSKSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5jb21tYSwgdHQuYnJhY2VSKSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuY29tbWEpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdG9rZW46ICR7SlNPTi5zdHJpbmdpZnkodGhpcy50b2tlbnMuY3VycmVudFRva2VuKCkpfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbChDb250ZXh0dWFsS2V5d29yZC5fZnJvbSkpIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gZXhwb3J0Li4uZnJvbSwgc28gdGhyb3cgYXdheSB0aGUgbm9ybWFsIG5hbWVkIGV4cG9ydCBjb2RlXG4gICAgICAvLyBhbmQgdXNlIHRoZSBPYmplY3QuZGVmaW5lUHJvcGVydHkgY29kZSBmcm9tIEltcG9ydFByb2Nlc3Nvci5cbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICBjb25zdCBwYXRoID0gdGhpcy50b2tlbnMuc3RyaW5nVmFsdWUoKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UodGhpcy5pbXBvcnRQcm9jZXNzb3IuY2xhaW1JbXBvcnRDb2RlKHBhdGgpKTtcbiAgICAgIHJlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlcyh0aGlzLnRva2Vucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBub3JtYWwgbmFtZWQgZXhwb3J0LCBzbyB1c2UgdGhhdC5cbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoZXhwb3J0U3RhdGVtZW50cy5qb2luKFwiIFwiKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnNlbWkpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gICBwcm9jZXNzRXhwb3J0U3RhcigpIHtcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnN0cmluZykpIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSB0aGlzLnRva2Vucy5zdHJpbmdWYWx1ZSgpO1xuICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UodGhpcy5pbXBvcnRQcm9jZXNzb3IuY2xhaW1JbXBvcnRDb2RlKHBhdGgpKTtcbiAgICByZW1vdmVNYXliZUltcG9ydEF0dHJpYnV0ZXModGhpcy50b2tlbnMpO1xuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5zZW1pKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9XG4gIH1cblxuICAgc2hvdWxkRWxpZGVFeHBvcnRlZElkZW50aWZpZXIobmFtZSkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgJiZcbiAgICAgICF0aGlzLmtlZXBVbnVzZWRJbXBvcnRzICYmXG4gICAgICAhdGhpcy5kZWNsYXJhdGlvbkluZm8udmFsdWVEZWNsYXJhdGlvbnMuaGFzKG5hbWUpXG4gICAgKTtcbiAgfVxufVxuIiwgIlxuXG5cbmltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IGVsaWRlSW1wb3J0RXF1YWxzIGZyb20gXCIuLi91dGlsL2VsaWRlSW1wb3J0RXF1YWxzXCI7XG5pbXBvcnQgZ2V0RGVjbGFyYXRpb25JbmZvLCB7XG5cbiAgRU1QVFlfREVDTEFSQVRJT05fSU5GTyxcbn0gZnJvbSBcIi4uL3V0aWwvZ2V0RGVjbGFyYXRpb25JbmZvXCI7XG5pbXBvcnQgZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mbyBmcm9tIFwiLi4vdXRpbC9nZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvXCI7XG5pbXBvcnQge2dldE5vblR5cGVJZGVudGlmaWVyc30gZnJvbSBcIi4uL3V0aWwvZ2V0Tm9uVHlwZUlkZW50aWZpZXJzXCI7XG5pbXBvcnQgaXNFeHBvcnRGcm9tIGZyb20gXCIuLi91dGlsL2lzRXhwb3J0RnJvbVwiO1xuaW1wb3J0IHtyZW1vdmVNYXliZUltcG9ydEF0dHJpYnV0ZXN9IGZyb20gXCIuLi91dGlsL3JlbW92ZU1heWJlSW1wb3J0QXR0cmlidXRlc1wiO1xuaW1wb3J0IHNob3VsZEVsaWRlRGVmYXVsdEV4cG9ydCBmcm9tIFwiLi4vdXRpbC9zaG91bGRFbGlkZURlZmF1bHRFeHBvcnRcIjtcblxuaW1wb3J0IFRyYW5zZm9ybWVyIGZyb20gXCIuL1RyYW5zZm9ybWVyXCI7XG5cbi8qKlxuICogQ2xhc3MgZm9yIGVkaXRpbmcgaW1wb3J0IHN0YXRlbWVudHMgd2hlbiB3ZSBhcmUga2VlcGluZyB0aGUgY29kZSBhcyBFU00uIFdlIHN0aWxsIG5lZWQgdG8gcmVtb3ZlXG4gKiB0eXBlLW9ubHkgaW1wb3J0cyBpbiBUeXBlU2NyaXB0IGFuZCBGbG93LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFU01JbXBvcnRUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgXG4gIFxuICBcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgdG9rZW5zLFxuICAgICBuYW1lTWFuYWdlcixcbiAgICAgaGVscGVyTWFuYWdlcixcbiAgICAgcmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcixcbiAgICAgaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCxcbiAgICAgaXNGbG93VHJhbnNmb3JtRW5hYmxlZCxcbiAgICAga2VlcFVudXNlZEltcG9ydHMsXG4gICAgb3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoKTt0aGlzLnRva2VucyA9IHRva2Vuczt0aGlzLm5hbWVNYW5hZ2VyID0gbmFtZU1hbmFnZXI7dGhpcy5oZWxwZXJNYW5hZ2VyID0gaGVscGVyTWFuYWdlcjt0aGlzLnJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIgPSByZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyO3RoaXMuaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCA9IGlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQ7dGhpcy5pc0Zsb3dUcmFuc2Zvcm1FbmFibGVkID0gaXNGbG93VHJhbnNmb3JtRW5hYmxlZDt0aGlzLmtlZXBVbnVzZWRJbXBvcnRzID0ga2VlcFVudXNlZEltcG9ydHM7O1xuICAgIHRoaXMubm9uVHlwZUlkZW50aWZpZXJzID1cbiAgICAgIGlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQgJiYgIWtlZXBVbnVzZWRJbXBvcnRzXG4gICAgICAgID8gZ2V0Tm9uVHlwZUlkZW50aWZpZXJzKHRva2Vucywgb3B0aW9ucylcbiAgICAgICAgOiBuZXcgU2V0KCk7XG4gICAgdGhpcy5kZWNsYXJhdGlvbkluZm8gPVxuICAgICAgaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCAmJiAha2VlcFVudXNlZEltcG9ydHNcbiAgICAgICAgPyBnZXREZWNsYXJhdGlvbkluZm8odG9rZW5zKVxuICAgICAgICA6IEVNUFRZX0RFQ0xBUkFUSU9OX0lORk87XG4gICAgdGhpcy5pbmplY3RDcmVhdGVSZXF1aXJlRm9ySW1wb3J0UmVxdWlyZSA9IEJvb2xlYW4ob3B0aW9ucy5pbmplY3RDcmVhdGVSZXF1aXJlRm9ySW1wb3J0UmVxdWlyZSk7XG4gIH1cblxuICBwcm9jZXNzKCkge1xuICAgIC8vIFR5cGVTY3JpcHQgYGltcG9ydCBmb28gPSByZXF1aXJlKCdmb28nKTtgIHNob3VsZCBhbHdheXMganVzdCBiZSB0cmFuc2xhdGVkIHRvIHBsYWluIHJlcXVpcmUuXG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMzKHR0Ll9pbXBvcnQsIHR0Lm5hbWUsIHR0LmVxKSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0ltcG9ydEVxdWFscygpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNCh0dC5faW1wb3J0LCB0dC5uYW1lLCB0dC5uYW1lLCB0dC5lcSkgJiZcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEsIENvbnRleHR1YWxLZXl3b3JkLl90eXBlKVxuICAgICkge1xuICAgICAgLy8gaW1wb3J0IHR5cGUgVCA9IHJlcXVpcmUoJ1QnKVxuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICAvLyBUaGlzIGNvbnN0cnVjdCBpcyBhbHdheXMgZXhhY3RseSA4IHRva2VucyBsb25nLCBzbyByZW1vdmUgdGhlIDcgcmVtYWluaW5nIHRva2Vucy5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0LmVxKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwibW9kdWxlLmV4cG9ydHNcIik7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczUodHQuX2V4cG9ydCwgdHQuX2ltcG9ydCwgdHQubmFtZSwgdHQubmFtZSwgdHQuZXEpICYmXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbEF0SW5kZXgodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAyLCBDb250ZXh0dWFsS2V5d29yZC5fdHlwZSlcbiAgICApIHtcbiAgICAgIC8vIGV4cG9ydCBpbXBvcnQgdHlwZSBUID0gcmVxdWlyZSgnVCcpXG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgIC8vIFRoaXMgY29uc3RydWN0IGlzIGFsd2F5cyBleGFjdGx5IDkgdG9rZW5zIGxvbmcsIHNvIHJlbW92ZSB0aGUgOCByZW1haW5pbmcgdG9rZW5zLlxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA4OyBpKyspIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuX2ltcG9ydCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NJbXBvcnQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0KSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0V4cG9ydERlZmF1bHQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0LmJyYWNlTCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NOYW1lZEV4cG9ydHMoKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczIodHQuX2V4cG9ydCwgdHQubmFtZSkgJiZcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDEsIENvbnRleHR1YWxLZXl3b3JkLl90eXBlKVxuICAgICkge1xuICAgICAgLy8gZXhwb3J0IHR5cGUge2F9O1xuICAgICAgLy8gZXhwb3J0IHR5cGUge2EgYXMgYn07XG4gICAgICAvLyBleHBvcnQgdHlwZSB7YX0gZnJvbSAnLi9iJztcbiAgICAgIC8vIGV4cG9ydCB0eXBlICogZnJvbSAnLi9iJztcbiAgICAgIC8vIGV4cG9ydCB0eXBlICogYXMgbnMgZnJvbSAnLi9iJztcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZUwpKSB7XG4gICAgICAgIHdoaWxlICghdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VSKSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vICpcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9hcykpIHtcbiAgICAgICAgICAvLyBhc1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgICAgLy8gbnNcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBSZW1vdmUgdHlwZSByZS1leHBvcnQgYC4uLiB9IGZyb20gJy4vVCdgXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9mcm9tKSAmJlxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxLCB0dC5zdHJpbmcpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgcmVtb3ZlTWF5YmVJbXBvcnRBdHRyaWJ1dGVzKHRoaXMudG9rZW5zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAgcHJvY2Vzc0ltcG9ydEVxdWFscygpIHtcbiAgICBjb25zdCBpbXBvcnROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSk7XG4gICAgaWYgKHRoaXMuc2hvdWxkQXV0b21hdGljYWxseUVsaWRlSW1wb3J0ZWROYW1lKGltcG9ydE5hbWUpKSB7XG4gICAgICAvLyBJZiB0aGlzIG5hbWUgaXMgb25seSB1c2VkIGFzIGEgdHlwZSwgZWxpZGUgdGhlIHdob2xlIGltcG9ydC5cbiAgICAgIGVsaWRlSW1wb3J0RXF1YWxzKHRoaXMudG9rZW5zKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaW5qZWN0Q3JlYXRlUmVxdWlyZUZvckltcG9ydFJlcXVpcmUpIHtcbiAgICAgIC8vIFdlJ3JlIHVzaW5nIHJlcXVpcmUgaW4gYW4gZW52aXJvbm1lbnQgKE5vZGUgRVNNKSB0aGF0IGRvZXNuJ3QgcHJvdmlkZVxuICAgICAgLy8gaXQgYXMgYSBnbG9iYWwsIHNvIGdlbmVyYXRlIGEgaGVscGVyIHRvIGltcG9ydCBpdC5cbiAgICAgIC8vIGltcG9ydCAtPiBjb25zdFxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiY29uc3RcIik7XG4gICAgICAvLyBGb29cbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgLy8gPVxuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICAvLyByZXF1aXJlXG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4odGhpcy5oZWxwZXJNYW5hZ2VyLmdldEhlbHBlck5hbWUoXCJyZXF1aXJlXCIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gT3RoZXJ3aXNlLCBqdXN0IHN3aXRjaCBgaW1wb3J0YCB0byBgY29uc3RgLlxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKFwiY29uc3RcIik7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgIHByb2Nlc3NJbXBvcnQoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9pbXBvcnQsIHR0LnBhcmVuTCkpIHtcbiAgICAgIC8vIER5bmFtaWMgaW1wb3J0cyBkb24ndCBuZWVkIHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy50b2tlbnMuc25hcHNob3QoKTtcbiAgICBjb25zdCBhbGxJbXBvcnRzUmVtb3ZlZCA9IHRoaXMucmVtb3ZlSW1wb3J0VHlwZUJpbmRpbmdzKCk7XG4gICAgaWYgKGFsbEltcG9ydHNSZW1vdmVkKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZXN0b3JlVG9TbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnN0cmluZykpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICByZW1vdmVNYXliZUltcG9ydEF0dHJpYnV0ZXModGhpcy50b2tlbnMpO1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnNlbWkpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0eXBlIGJpbmRpbmdzIGZyb20gdGhpcyBpbXBvcnQsIGxlYXZpbmcgdGhlIHJlc3Qgb2YgdGhlIGltcG9ydCBpbnRhY3QuXG4gICAqXG4gICAqIFJldHVybiB0cnVlIGlmIHRoaXMgaW1wb3J0IHdhcyBPTkxZIHR5cGVzLCBhbmQgdGh1cyBpcyBlbGlnaWJsZSBmb3IgcmVtb3ZhbC4gVGhpcyB3aWxsIGJhaWwgb3V0XG4gICAqIG9mIHRoZSByZXBsYWNlbWVudCBvcGVyYXRpb24sIHNvIHdlIGNhbiByZXR1cm4gZWFybHkgaGVyZS5cbiAgICovXG4gICByZW1vdmVJbXBvcnRUeXBlQmluZGluZ3MoKSB7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuX2ltcG9ydCk7XG4gICAgaWYgKFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX3R5cGUpICYmXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSwgdHQuY29tbWEpICYmXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWxBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSwgQ29udGV4dHVhbEtleXdvcmQuX2Zyb20pXG4gICAgKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIFwiaW1wb3J0IHR5cGVcIiBzdGF0ZW1lbnQsIHNvIGV4aXQgZWFybHkuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuc3RyaW5nKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJhcmUgaW1wb3J0LCBzbyB3ZSBzaG91bGQgcHJvY2VlZCB3aXRoIHRoZSBpbXBvcnQuXG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBTa2lwIHRoZSBcIm1vZHVsZVwiIHRva2VuIGluIGltcG9ydCByZWZsZWN0aW9uLlxuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9tb2R1bGUpICYmXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dHVhbEF0SW5kZXgodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAyLCBDb250ZXh0dWFsS2V5d29yZC5fZnJvbSlcbiAgICApIHtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH1cblxuICAgIGxldCBmb3VuZE5vblR5cGVJbXBvcnQgPSBmYWxzZTtcbiAgICBsZXQgZm91bmRBbnlOYW1lZEltcG9ydCA9IGZhbHNlO1xuICAgIGxldCBuZWVkc0NvbW1hID0gZmFsc2U7XG5cbiAgICAvLyBIYW5kbGUgZGVmYXVsdCBpbXBvcnQuXG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Lm5hbWUpKSB7XG4gICAgICBpZiAodGhpcy5zaG91bGRBdXRvbWF0aWNhbGx5RWxpZGVJbXBvcnRlZE5hbWUodGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWUoKSkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmNvbW1hKSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvdW5kTm9uVHlwZUltcG9ydCA9IHRydWU7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuY29tbWEpKSB7XG4gICAgICAgICAgLy8gV2UncmUgaW4gYSBzdGF0ZW1lbnQgbGlrZTpcbiAgICAgICAgICAvLyBpbXBvcnQgQSwgKiBhcyBCIGZyb20gJy4vQSc7XG4gICAgICAgICAgLy8gb3JcbiAgICAgICAgICAvLyBpbXBvcnQgQSwge2Zvb30gZnJvbSAnLi9BJztcbiAgICAgICAgICAvLyB3aGVyZSB0aGUgYEFgIGlzIGJlaW5nIGtlcHQuIFRoZSBjb21tYSBzaG91bGQgYmUgcmVtb3ZlZCBpZiBhbiBvbmx5XG4gICAgICAgICAgLy8gaWYgdGhlIG5leHQgcGFydCBvZiB0aGUgaW1wb3J0IHN0YXRlbWVudCBpcyBlbGlkZWQsIGJ1dCB0aGF0J3MgaGFyZFxuICAgICAgICAgIC8vIHRvIGRldGVybWluZSBhdCB0aGlzIHBvaW50IGluIHRoZSBjb2RlLiBJbnN0ZWFkLCBhbHdheXMgcmVtb3ZlIGl0XG4gICAgICAgICAgLy8gYW5kIHNldCBhIGZsYWcgdG8gYWRkIGl0IGJhY2sgaWYgbmVjZXNzYXJ5LlxuICAgICAgICAgIG5lZWRzQ29tbWEgPSB0cnVlO1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuc3RhcikpIHtcbiAgICAgIGlmICh0aGlzLnNob3VsZEF1dG9tYXRpY2FsbHlFbGlkZUltcG9ydGVkTmFtZSh0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUF0UmVsYXRpdmVJbmRleCgyKSkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChuZWVkc0NvbW1hKSB7XG4gICAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIixcIik7XG4gICAgICAgIH1cbiAgICAgICAgZm91bmROb25UeXBlSW1wb3J0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuc3Rhcik7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0Lm5hbWUpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5uYW1lKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlTCkpIHtcbiAgICAgIGlmIChuZWVkc0NvbW1hKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCIsXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB3aGlsZSAoIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgZm91bmRBbnlOYW1lZEltcG9ydCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHNwZWNpZmllckluZm8gPSBnZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvKHRoaXMudG9rZW5zKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNwZWNpZmllckluZm8uaXNUeXBlIHx8XG4gICAgICAgICAgdGhpcy5zaG91bGRBdXRvbWF0aWNhbGx5RWxpZGVJbXBvcnRlZE5hbWUoc3BlY2lmaWVySW5mby5yaWdodE5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgIHdoaWxlICh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA8IHNwZWNpZmllckluZm8uZW5kSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZvdW5kTm9uVHlwZUltcG9ydCA9IHRydWU7XG4gICAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgc3BlY2lmaWVySW5mby5lbmRJbmRleCkge1xuICAgICAgICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VSKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5rZWVwVW51c2VkSW1wb3J0cykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkKSB7XG4gICAgICByZXR1cm4gIWZvdW5kTm9uVHlwZUltcG9ydDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNGbG93VHJhbnNmb3JtRW5hYmxlZCkge1xuICAgICAgLy8gSW4gRmxvdywgdW5saWtlIFRTLCBgaW1wb3J0IHt9IGZyb20gJ2Zvbyc7YCBwcmVzZXJ2ZXMgdGhlIGltcG9ydC5cbiAgICAgIHJldHVybiBmb3VuZEFueU5hbWVkSW1wb3J0ICYmICFmb3VuZE5vblR5cGVJbXBvcnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAgc2hvdWxkQXV0b21hdGljYWxseUVsaWRlSW1wb3J0ZWROYW1lKG5hbWUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1R5cGVTY3JpcHRUcmFuc2Zvcm1FbmFibGVkICYmXG4gICAgICAhdGhpcy5rZWVwVW51c2VkSW1wb3J0cyAmJlxuICAgICAgIXRoaXMubm9uVHlwZUlkZW50aWZpZXJzLmhhcyhuYW1lKVxuICAgICk7XG4gIH1cblxuICAgcHJvY2Vzc0V4cG9ydERlZmF1bHQoKSB7XG4gICAgaWYgKFxuICAgICAgc2hvdWxkRWxpZGVEZWZhdWx0RXhwb3J0KFxuICAgICAgICB0aGlzLmlzVHlwZVNjcmlwdFRyYW5zZm9ybUVuYWJsZWQsXG4gICAgICAgIHRoaXMua2VlcFVudXNlZEltcG9ydHMsXG4gICAgICAgIHRoaXMudG9rZW5zLFxuICAgICAgICB0aGlzLmRlY2xhcmF0aW9uSW5mbyxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIC8vIElmIHRoZSBleHBvcnRlZCB2YWx1ZSBpcyBqdXN0IGFuIGlkZW50aWZpZXIgYW5kIHNob3VsZCBiZSBlbGlkZWQgYnkgVHlwZVNjcmlwdFxuICAgICAgLy8gcnVsZXMsIHRoZW4gcmVtb3ZlIGl0IGVudGlyZWx5LiBJdCB3aWxsIGFsd2F5cyBoYXZlIHRoZSBmb3JtIGBleHBvcnQgZGVmYXVsdCBlYCxcbiAgICAgIC8vIHdoZXJlIGBlYCBpcyBhbiBpZGVudGlmaWVyLlxuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFscmVhZHlIYXNOYW1lID1cbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXM0KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fZnVuY3Rpb24sIHR0Lm5hbWUpIHx8XG4gICAgICAvLyBleHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvblxuICAgICAgKHRoaXMudG9rZW5zLm1hdGNoZXM1KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5uYW1lLCB0dC5fZnVuY3Rpb24sIHR0Lm5hbWUpICYmXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsQXRJbmRleChcbiAgICAgICAgICB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDIsXG4gICAgICAgICAgQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jLFxuICAgICAgICApKSB8fFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczQodHQuX2V4cG9ydCwgdHQuX2RlZmF1bHQsIHR0Ll9jbGFzcywgdHQubmFtZSkgfHxcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXM1KHR0Ll9leHBvcnQsIHR0Ll9kZWZhdWx0LCB0dC5fYWJzdHJhY3QsIHR0Ll9jbGFzcywgdHQubmFtZSk7XG5cbiAgICBpZiAoIWFscmVhZHlIYXNOYW1lICYmIHRoaXMucmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcikge1xuICAgICAgLy8gVGhpcyBpcyBhIHBsYWluIFwiZXhwb3J0IGRlZmF1bHQgRVwiIHN0YXRlbWVudCBhbmQgd2UgbmVlZCB0byBhc3NpZ24gRSB0byBhIHZhcmlhYmxlLlxuICAgICAgLy8gQ2hhbmdlIFwiZXhwb3J0IGRlZmF1bHQgRVwiIHRvIFwibGV0IF9kZWZhdWx0OyBleHBvcnQgZGVmYXVsdCBfZGVmYXVsdCA9IEVcIlxuICAgICAgY29uc3QgZGVmYXVsdFZhck5hbWUgPSB0aGlzLm5hbWVNYW5hZ2VyLmNsYWltRnJlZU5hbWUoXCJfZGVmYXVsdFwiKTtcbiAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgbGV0ICR7ZGVmYXVsdFZhck5hbWV9OyBleHBvcnRgKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgICR7ZGVmYXVsdFZhck5hbWV9ID1gKTtcbiAgICAgIHRoaXMucmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lci5zZXRFeHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZShkZWZhdWx0VmFyTmFtZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBhIHN0YXRlbWVudCB3aXRoIG9uZSBvZiB0aGVzZSBmb3JtczpcbiAgICogZXhwb3J0IHthLCB0eXBlIGJ9O1xuICAgKiBleHBvcnQge2MsIHR5cGUgZH0gZnJvbSAnZm9vJztcbiAgICpcbiAgICogSW4gYm90aCBjYXNlcywgYW55IGV4cGxpY2l0IHR5cGUgZXhwb3J0cyBzaG91bGQgYmUgcmVtb3ZlZC4gSW4gdGhlIGZpcnN0XG4gICAqIGNhc2UsIHdlIGFsc28gbmVlZCB0byBoYW5kbGUgaW1wbGljaXQgZXhwb3J0IGVsaXNpb24gZm9yIG5hbWVzIGRlY2xhcmVkIGFzXG4gICAqIHR5cGVzLiBJbiB0aGUgc2Vjb25kIGNhc2UsIHdlIG11c3QgTk9UIGRvIGltcGxpY2l0IG5hbWVkIGV4cG9ydCBlbGlzaW9uLFxuICAgKiBidXQgd2UgbXVzdCByZW1vdmUgdGhlIHJ1bnRpbWUgaW1wb3J0IGlmIGFsbCBleHBvcnRzIGFyZSB0eXBlIGV4cG9ydHMuXG4gICAqL1xuICAgcHJvY2Vzc05hbWVkRXhwb3J0cygpIHtcbiAgICBpZiAoIXRoaXMuaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5fZXhwb3J0KTtcbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZUwpO1xuXG4gICAgY29uc3QgaXNSZUV4cG9ydCA9IGlzRXhwb3J0RnJvbSh0aGlzLnRva2Vucyk7XG4gICAgbGV0IGZvdW5kTm9uVHlwZUV4cG9ydCA9IGZhbHNlO1xuICAgIHdoaWxlICghdGhpcy50b2tlbnMubWF0Y2hlczEodHQuYnJhY2VSKSkge1xuICAgICAgY29uc3Qgc3BlY2lmaWVySW5mbyA9IGdldEltcG9ydEV4cG9ydFNwZWNpZmllckluZm8odGhpcy50b2tlbnMpO1xuICAgICAgaWYgKFxuICAgICAgICBzcGVjaWZpZXJJbmZvLmlzVHlwZSB8fFxuICAgICAgICAoIWlzUmVFeHBvcnQgJiYgdGhpcy5zaG91bGRFbGlkZUV4cG9ydGVkTmFtZShzcGVjaWZpZXJJbmZvLmxlZnROYW1lKSlcbiAgICAgICkge1xuICAgICAgICAvLyBUeXBlIGV4cG9ydCwgc28gcmVtb3ZlIGFsbCB0b2tlbnMsIGluY2x1ZGluZyBhbnkgY29tbWEuXG4gICAgICAgIHdoaWxlICh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA8IHNwZWNpZmllckluZm8uZW5kSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBOb24tdHlwZSBleHBvcnQsIHNvIGNvcHkgYWxsIHRva2VucywgaW5jbHVkaW5nIGFueSBjb21tYS5cbiAgICAgICAgZm91bmROb25UeXBlRXhwb3J0ID0gdHJ1ZTtcbiAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgc3BlY2lmaWVySW5mby5lbmRJbmRleCkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZVIpO1xuXG4gICAgaWYgKCF0aGlzLmtlZXBVbnVzZWRJbXBvcnRzICYmIGlzUmVFeHBvcnQgJiYgIWZvdW5kTm9uVHlwZUV4cG9ydCkge1xuICAgICAgLy8gVGhpcyBpcyBhIHR5cGUtb25seSByZS1leHBvcnQsIHNvIHNraXAgZXZhbHVhdGluZyB0aGUgb3RoZXIgbW9kdWxlLiBUZWNobmljYWxseSB0aGlzXG4gICAgICAvLyBsZWF2ZXMgdGhlIHN0YXRlbWVudCBhcyBgZXhwb3J0IHt9YCwgYnV0IHRoYXQncyBvayBzaW5jZSB0aGF0J3MgYSBuby1vcC5cbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgcmVtb3ZlTWF5YmVJbXBvcnRBdHRyaWJ1dGVzKHRoaXMudG9rZW5zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFU00gZWxpZGVzIGFsbCBpbXBvcnRzIHdpdGggdGhlIHJ1bGUgdGhhdCB3ZSBvbmx5IGVsaWRlIGlmIHdlIHNlZSB0aGF0IGl0J3NcbiAgICogYSB0eXBlIGFuZCBuZXZlciBzZWUgaXQgYXMgYSB2YWx1ZS4gVGhpcyBpcyBpbiBjb250cmFzdCB0byBDSlMsIHdoaWNoXG4gICAqIGVsaWRlcyBpbXBvcnRzIHRoYXQgYXJlIGNvbXBsZXRlbHkgdW5rbm93bi5cbiAgICovXG4gICBzaG91bGRFbGlkZUV4cG9ydGVkTmFtZShuYW1lKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNUeXBlU2NyaXB0VHJhbnNmb3JtRW5hYmxlZCAmJlxuICAgICAgIXRoaXMua2VlcFVudXNlZEltcG9ydHMgJiZcbiAgICAgIHRoaXMuZGVjbGFyYXRpb25JbmZvLnR5cGVEZWNsYXJhdGlvbnMuaGFzKG5hbWUpICYmXG4gICAgICAhdGhpcy5kZWNsYXJhdGlvbkluZm8udmFsdWVEZWNsYXJhdGlvbnMuaGFzKG5hbWUpXG4gICAgKTtcbiAgfVxufVxuIiwgImltcG9ydCB7Q29udGV4dHVhbEtleXdvcmR9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyL2tleXdvcmRzXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmxvd1RyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgcm9vdFRyYW5zZm9ybWVyLFxuICAgICB0b2tlbnMsXG4gICAgIGlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQsXG4gICkge1xuICAgIHN1cGVyKCk7dGhpcy5yb290VHJhbnNmb3JtZXIgPSByb290VHJhbnNmb3JtZXI7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5pc0ltcG9ydHNUcmFuc2Zvcm1FbmFibGVkID0gaXNJbXBvcnRzVHJhbnNmb3JtRW5hYmxlZDs7XG4gIH1cblxuICBwcm9jZXNzKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NQb3NzaWJsZUFycm93UGFyYW1FbmQoKSB8fFxuICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc1Bvc3NpYmxlQXN5bmNBcnJvd1dpdGhUeXBlUGFyYW1zKCkgfHxcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NQb3NzaWJsZVR5cGVSYW5nZSgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9lbnVtKSkge1xuICAgICAgdGhpcy5wcm9jZXNzRW51bSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fZXhwb3J0LCB0dC5fZW51bSkpIHtcbiAgICAgIHRoaXMucHJvY2Vzc05hbWVkRXhwb3J0RW51bSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5fZXhwb3J0LCB0dC5fZGVmYXVsdCwgdHQuX2VudW0pKSB7XG4gICAgICB0aGlzLnByb2Nlc3NEZWZhdWx0RXhwb3J0RW51bSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgYSBkZWNsYXJhdGlvbiBsaWtlOlxuICAgKiBleHBvcnQgZW51bSBFIC4uLlxuICAgKlxuICAgKiBXaXRoIHRoaXMgaW1wb3J0cyB0cmFuc2Zvcm0sIHRoaXMgYmVjb21lczpcbiAgICogY29uc3QgRSA9IFtbZW51bV1dOyBleHBvcnRzLkUgPSBFO1xuICAgKlxuICAgKiBvdGhlcndpc2UsIGl0IGJlY29tZXM6XG4gICAqIGV4cG9ydCBjb25zdCBFID0gW1tlbnVtXV07XG4gICAqL1xuICBwcm9jZXNzTmFtZWRFeHBvcnRFbnVtKCkge1xuICAgIGlmICh0aGlzLmlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQpIHtcbiAgICAgIC8vIGV4cG9ydFxuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICBjb25zdCBlbnVtTmFtZSA9IHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRSZWxhdGl2ZUluZGV4KDEpO1xuICAgICAgdGhpcy5wcm9jZXNzRW51bSgpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgIGV4cG9ydHMuJHtlbnVtTmFtZX0gPSAke2VudW1OYW1lfTtgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB0aGlzLnByb2Nlc3NFbnVtKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBhIGRlY2xhcmF0aW9uIGxpa2U6XG4gICAqIGV4cG9ydCBkZWZhdWx0IGVudW0gRVxuICAgKlxuICAgKiBXaXRoIHRoZSBpbXBvcnRzIHRyYW5zZm9ybSwgdGhpcyBiZWNvbWVzOlxuICAgKiBjb25zdCBFID0gW1tlbnVtXV07IGV4cG9ydHMuZGVmYXVsdCA9IEU7XG4gICAqXG4gICAqIG90aGVyd2lzZSwgaXQgYmVjb21lczpcbiAgICogY29uc3QgRSA9IFtbZW51bV1dOyBleHBvcnQgZGVmYXVsdCBFO1xuICAgKi9cbiAgcHJvY2Vzc0RlZmF1bHRFeHBvcnRFbnVtKCkge1xuICAgIC8vIGV4cG9ydFxuICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgIC8vIGRlZmF1bHRcbiAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgIGNvbnN0IGVudW1OYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdFJlbGF0aXZlSW5kZXgoMSk7XG4gICAgdGhpcy5wcm9jZXNzRW51bSgpO1xuICAgIGlmICh0aGlzLmlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQpIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCBleHBvcnRzLmRlZmF1bHQgPSAke2VudW1OYW1lfTtgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgIGV4cG9ydCBkZWZhdWx0ICR7ZW51bU5hbWV9O2ApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc3BpbGUgZmxvdyBlbnVtcyB0byBpbnZva2UgdGhlIFwiZmxvdy1lbnVtcy1ydW50aW1lXCIgbGlicmFyeS5cbiAgICpcbiAgICogQ3VycmVudGx5LCB0aGUgdHJhbnNwaWxlZCBjb2RlIGFsd2F5cyB1c2VzIGByZXF1aXJlKFwiZmxvdy1lbnVtcy1ydW50aW1lXCIpYCxcbiAgICogYnV0IGlmIGZ1dHVyZSBmbGV4aWJpbGl0eSBpcyBuZWVkZWQsIHdlIGNvdWxkIGV4cG9zZSBhIGNvbmZpZyBvcHRpb24gZm9yXG4gICAqIHRoaXMgc3RyaW5nIChzaW1pbGFyIHRvIGNvbmZpZ3VyYWJsZSBKU1gpLiBFdmVuIHdoZW4gdGFyZ2V0aW5nIEVTTSwgdGhlXG4gICAqIGRlZmF1bHQgYmVoYXZpb3Igb2YgYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1mbG93LWVudW1zIGlzIHRvIHVzZSByZXF1aXJlXG4gICAqIHJhdGhlciB0aGFuIGluamVjdGluZyBhbiBpbXBvcnQuXG4gICAqXG4gICAqIEZsb3cgZW51bXMgYXJlIHF1aXRlIGEgYml0IHNpbXBsZXIgdGhhbiBUUyBlbnVtcyBhbmQgaGF2ZSBzb21lIGNvbnZlbmllbnRcbiAgICogY29uc3RyYWludHM6XG4gICAqIC0gRWxlbWVudCBpbml0aWFsaXplcnMgbXVzdCBiZSBlaXRoZXIgYWx3YXlzIHByZXNlbnQgb3IgYWx3YXlzIGFic2VudC4gVGhhdFxuICAgKiAgIG1lYW5zIHRoYXQgd2UgY2FuIHVzZSBmaXhlZCBsb29rYWhlYWQgb24gdGhlIGZpcnN0IGVsZW1lbnQgKGlmIGFueSkgYW5kXG4gICAqICAgYXNzdW1lIHRoYXQgYWxsIGVsZW1lbnRzIGFyZSBsaWtlIHRoYXQuXG4gICAqIC0gVGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiBhbiBlbGVtZW50IGluaXRpYWxpemVyIG11c3QgYmUgYSBsaXRlcmFsIHZhbHVlLFxuICAgKiAgIG5vdCBhIGNvbXBsZXggZXhwcmVzc2lvbiBhbmQgbm90IHJlZmVyZW5jaW5nIG90aGVyIGVsZW1lbnRzLiBUaGF0IG1lYW5zXG4gICAqICAgd2UgY2FuIHNpbXBseSBjb3B5IGEgc2luZ2xlIHRva2VuLlxuICAgKlxuICAgKiBFbnVtcyBjYW4gYmUgYnJva2VuIHVwIGludG8gdGhyZWUgYmFzaWMgY2FzZXM6XG4gICAqXG4gICAqIE1pcnJvcmVkIGVudW1zOlxuICAgKiBlbnVtIEUge0EsIEJ9XG4gICAqICAgLT5cbiAgICogY29uc3QgRSA9IHJlcXVpcmUoXCJmbG93LWVudW1zLXJ1bnRpbWVcIikuTWlycm9yZWQoW1wiQVwiLCBcIkJcIl0pO1xuICAgKlxuICAgKiBJbml0aWFsaXplciBlbnVtczpcbiAgICogZW51bSBFIHtBID0gMSwgQiA9IDJ9XG4gICAqICAgLT5cbiAgICogY29uc3QgRSA9IHJlcXVpcmUoXCJmbG93LWVudW1zLXJ1bnRpbWVcIikoe0E6IDEsIEI6IDJ9KTtcbiAgICpcbiAgICogU3ltYm9sIGVudW1zOlxuICAgKiBlbnVtIEUgb2Ygc3ltYm9sIHtBLCBCfVxuICAgKiAgIC0+XG4gICAqIGNvbnN0IEUgPSByZXF1aXJlKFwiZmxvdy1lbnVtcy1ydW50aW1lXCIpKHtBOiBTeW1ib2woXCJBXCIpLCBCOiBTeW1ib2woXCJCXCIpfSk7XG4gICAqXG4gICAqIFdlIGNhbiBzdGF0aWNhbGx5IGRldGVjdCB3aGljaCBvZiB0aGUgdGhyZWUgY2FzZXMgdGhpcyBpcyBieSBsb29raW5nIGF0IHRoZVxuICAgKiBcIm9mXCIgZGVjbGFyYXRpb24gKGlmIGFueSkgYW5kIHNlZWluZyBpZiB0aGUgZmlyc3QgZWxlbWVudCBoYXMgYW4gaW5pdGlhbGl6ZXIuXG4gICAqIFNpbmNlIHRoZSBvdGhlciB0cmFuc2Zvcm0gZGV0YWlscyBhcmUgc28gc2ltaWxhciBiZXR3ZWVuIHRoZSB0aHJlZSBjYXNlcywgd2VcbiAgICogdXNlIGEgc2luZ2xlIGltcGxlbWVudGF0aW9uIGFuZCB2YXJ5IHRoZSB0cmFuc2Zvcm0gd2l0aGluIHByb2Nlc3NFbnVtRWxlbWVudFxuICAgKiBiYXNlZCBvbiBjYXNlLlxuICAgKi9cbiAgcHJvY2Vzc0VudW0oKSB7XG4gICAgLy8gZW51bSBFIC0+IGNvbnN0IEVcbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCJjb25zdFwiKTtcbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5uYW1lKTtcblxuICAgIGxldCBpc1N5bWJvbEVudW0gPSBmYWxzZTtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX29mKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIGlzU3ltYm9sRW51bSA9IHRoaXMudG9rZW5zLm1hdGNoZXNDb250ZXh0dWFsKENvbnRleHR1YWxLZXl3b3JkLl9zeW1ib2wpO1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9XG4gICAgY29uc3QgaGFzSW5pdGlhbGl6ZXJzID0gdGhpcy50b2tlbnMubWF0Y2hlczModHQuYnJhY2VMLCB0dC5uYW1lLCB0dC5lcSk7XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZSgnID0gcmVxdWlyZShcImZsb3ctZW51bXMtcnVudGltZVwiKScpO1xuXG4gICAgY29uc3QgaXNNaXJyb3JlZCA9ICFpc1N5bWJvbEVudW0gJiYgIWhhc0luaXRpYWxpemVycztcbiAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKGlzTWlycm9yZWQgPyBcIi5NaXJyb3JlZChbXCIgOiBcIih7XCIpO1xuXG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFjZVIpKSB7XG4gICAgICAvLyAuLi4gaXMgYWxsb3dlZCBhdCB0aGUgZW5kIGFuZCBoYXMgbm8gcnVudGltZSBiZWhhdmlvci5cbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5lbGxpcHNpcykpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLnByb2Nlc3NFbnVtRWxlbWVudChpc1N5bWJvbEVudW0sIGhhc0luaXRpYWxpemVycyk7XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuY29tbWEpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihpc01pcnJvcmVkID8gXCJdKTtcIiA6IFwifSk7XCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgYW4gaW5kaXZpZHVhbCBlbnVtIGVsZW1lbnQsIHByb2R1Y2luZyBlaXRoZXIgYW4gYXJyYXkgZWxlbWVudCBvciBhblxuICAgKiBvYmplY3QgZWxlbWVudCBiYXNlZCBvbiB3aGF0IHR5cGUgb2YgZW51bSB0aGlzIGlzLlxuICAgKi9cbiAgcHJvY2Vzc0VudW1FbGVtZW50KGlzU3ltYm9sRW51bSwgaGFzSW5pdGlhbGl6ZXJzKSB7XG4gICAgaWYgKGlzU3ltYm9sRW51bSkge1xuICAgICAgLy8gU3ltYm9sIGVudW1zIG5ldmVyIGhhdmUgaW5pdGlhbGl6ZXJzIGFuZCBhcmUgZXhwYW5kZWQgdG8gb2JqZWN0IGVsZW1lbnRzLlxuICAgICAgLy8gQSwgLT4gQTogU3ltYm9sKFwiQVwiKSxcbiAgICAgIGNvbnN0IGVsZW1lbnROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWUoKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgOiBTeW1ib2woXCIke2VsZW1lbnROYW1lfVwiKWApO1xuICAgIH0gZWxzZSBpZiAoaGFzSW5pdGlhbGl6ZXJzKSB7XG4gICAgICAvLyBJbml0aWFsaXplcnMgYXJlIGV4cGFuZGVkIHRvIG9iamVjdCBlbGVtZW50cy5cbiAgICAgIC8vIEEgPSAxLCAtPiBBOiAxLFxuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKFwiOlwiKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFbnVtIGVsZW1lbnRzIHdpdGhvdXQgaW5pdGlhbGl6ZXJzIGJlY29tZSBzdHJpbmcgbGl0ZXJhbCBhcnJheSBlbGVtZW50cy5cbiAgICAgIC8vIEEsIC0+IFwiQVwiLFxuICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGBcIiR7dGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWUoKX1cImApO1xuICAgIH1cbiAgfVxufVxuIiwgIiBmdW5jdGlvbiBfb3B0aW9uYWxDaGFpbihvcHMpIHsgbGV0IGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7IGxldCB2YWx1ZSA9IG9wc1swXTsgbGV0IGkgPSAxOyB3aGlsZSAoaSA8IG9wcy5sZW5ndGgpIHsgY29uc3Qgb3AgPSBvcHNbaV07IGNvbnN0IGZuID0gb3BzW2kgKyAxXTsgaSArPSAyOyBpZiAoKG9wID09PSAnb3B0aW9uYWxBY2Nlc3MnIHx8IG9wID09PSAnb3B0aW9uYWxDYWxsJykgJiYgdmFsdWUgPT0gbnVsbCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9IGlmIChvcCA9PT0gJ2FjY2VzcycgfHwgb3AgPT09ICdvcHRpb25hbEFjY2VzcycpIHsgbGFzdEFjY2Vzc0xIUyA9IHZhbHVlOyB2YWx1ZSA9IGZuKHZhbHVlKTsgfSBlbHNlIGlmIChvcCA9PT0gJ2NhbGwnIHx8IG9wID09PSAnb3B0aW9uYWxDYWxsJykgeyB2YWx1ZSA9IGZuKCguLi5hcmdzKSA9PiB2YWx1ZS5jYWxsKGxhc3RBY2Nlc3NMSFMsIC4uLmFyZ3MpKTsgbGFzdEFjY2Vzc0xIUyA9IHVuZGVmaW5lZDsgfSB9IHJldHVybiB2YWx1ZTsgfVxuXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuY29uc3QgSkVTVF9HTE9CQUxfTkFNRSA9IFwiamVzdFwiO1xuY29uc3QgSE9JU1RFRF9NRVRIT0RTID0gW1wibW9ja1wiLCBcInVubW9ja1wiLCBcImVuYWJsZUF1dG9tb2NrXCIsIFwiZGlzYWJsZUF1dG9tb2NrXCJdO1xuXG4vKipcbiAqIEltcGxlbWVudGF0aW9uIG9mIGJhYmVsLXBsdWdpbi1qZXN0LWhvaXN0LCB3aGljaCBob2lzdHMgdXAgc29tZSBqZXN0IG1ldGhvZFxuICogY2FsbHMgYWJvdmUgdGhlIGltcG9ydHMgdG8gYWxsb3cgdGhlbSB0byBvdmVycmlkZSBvdGhlciBpbXBvcnRzLlxuICpcbiAqIFRvIHByZXNlcnZlIGxpbmUgbnVtYmVycywgcmF0aGVyIHRoYW4gZGlyZWN0bHkgbW92aW5nIHRoZSBqZXN0Lm1vY2sgY29kZSwgd2VcbiAqIHdyYXAgZWFjaCBpbnZvY2F0aW9uIGluIGEgZnVuY3Rpb24gc3RhdGVtZW50IGFuZCB0aGVuIGNhbGwgdGhlIGZ1bmN0aW9uIGZyb21cbiAqIHRoZSB0b3Agb2YgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEplc3RIb2lzdFRyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICAgIF9faW5pdCgpIHt0aGlzLmhvaXN0ZWRGdW5jdGlvbk5hbWVzID0gW119XG5cbiAgY29uc3RydWN0b3IoXG4gICAgIHJvb3RUcmFuc2Zvcm1lcixcbiAgICAgdG9rZW5zLFxuICAgICBuYW1lTWFuYWdlcixcbiAgICAgaW1wb3J0UHJvY2Vzc29yLFxuICApIHtcbiAgICBzdXBlcigpO3RoaXMucm9vdFRyYW5zZm9ybWVyID0gcm9vdFRyYW5zZm9ybWVyO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMubmFtZU1hbmFnZXIgPSBuYW1lTWFuYWdlcjt0aGlzLmltcG9ydFByb2Nlc3NvciA9IGltcG9ydFByb2Nlc3NvcjtKZXN0SG9pc3RUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7O1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKS5zY29wZURlcHRoID09PSAwICYmXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzNCh0dC5uYW1lLCB0dC5kb3QsIHR0Lm5hbWUsIHR0LnBhcmVuTCkgJiZcbiAgICAgIHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCkgPT09IEpFU1RfR0xPQkFMX05BTUVcbiAgICApIHtcbiAgICAgIC8vIFRPRE86IFRoaXMgb25seSB3b3JrcyBpZiBpbXBvcnRzIHRyYW5zZm9ybSBpcyBhY3RpdmUsIHdoaWNoIGl0IHdpbGwgYmUgZm9yIGplc3QuXG4gICAgICAvLyAgICAgICBCdXQgaWYgamVzdCBhZGRzIG1vZHVsZSBzdXBwb3J0IGFuZCB3ZSBubyBsb25nZXIgbmVlZCB0aGUgaW1wb3J0IHRyYW5zZm9ybSwgdGhpcyBuZWVkcyBmaXhpbmcuXG4gICAgICBpZiAoX29wdGlvbmFsQ2hhaW4oW3RoaXMsICdhY2Nlc3MnLCBfID0+IF8uaW1wb3J0UHJvY2Vzc29yLCAnb3B0aW9uYWxBY2Nlc3MnLCBfMiA9PiBfMi5nZXRHbG9iYWxOYW1lcywgJ2NhbGwnLCBfMyA9PiBfMygpLCAnb3B0aW9uYWxBY2Nlc3MnLCBfNCA9PiBfNC5oYXMsICdjYWxsJywgXzUgPT4gXzUoSkVTVF9HTE9CQUxfTkFNRSldKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5leHRyYWN0SG9pc3RlZENhbGxzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0SG9pc3RlZENvZGUoKSB7XG4gICAgaWYgKHRoaXMuaG9pc3RlZEZ1bmN0aW9uTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gVGhpcyB3aWxsIGJlIHBsYWNlZCBiZWZvcmUgbW9kdWxlIGludGVyb3AgY29kZSwgYnV0IHRoYXQncyBmaW5lIHNpbmNlXG4gICAgICAvLyBpbXBvcnRzIGFyZW4ndCBhbGxvd2VkIGluIG1vZHVsZSBtb2NrIGZhY3Rvcmllcy5cbiAgICAgIHJldHVybiB0aGlzLmhvaXN0ZWRGdW5jdGlvbk5hbWVzLm1hcCgobmFtZSkgPT4gYCR7bmFtZX0oKTtgKS5qb2luKFwiXCIpO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWN0cyBhbnkgbWV0aG9kcyBjYWxscyBvbiB0aGUgamVzdC1vYmplY3QgdGhhdCBzaG91bGQgYmUgaG9pc3RlZC5cbiAgICpcbiAgICogQWNjb3JkaW5nIHRvIHRoZSBqZXN0IGRvY3MsIGh0dHBzOi8vamVzdGpzLmlvL2RvY3MvZW4vamVzdC1vYmplY3QjamVzdG1vY2ttb2R1bGVuYW1lLWZhY3Rvcnktb3B0aW9ucyxcbiAgICogbW9jaywgdW5tb2NrLCBlbmFibGVBdXRvbW9jaywgZGlzYWJsZUF1dG9tb2NrLCBhcmUgdGhlIG1ldGhvZHMgdGhhdCBzaG91bGQgYmUgaG9pc3RlZC5cbiAgICpcbiAgICogV2UgZG8gbm90IGFwcGx5IHRoZSBzYW1lIGNoZWNrcyBvZiB0aGUgYXJndW1lbnRzIGFzIGJhYmVsLXBsdWdpbi1qZXN0LWhvaXN0IGRvZXMuXG4gICAqL1xuICAgZXh0cmFjdEhvaXN0ZWRDYWxscygpIHtcbiAgICAvLyBXZSdyZSBoYW5kbGluZyBhIGNoYWluIG9mIGNhbGxzIHdoZXJlIGBqZXN0YCBtYXkgb3IgbWF5IG5vdCBuZWVkIHRvIGJlIGluc2VydGVkIGZvciBlYWNoIGNhbGxcbiAgICAvLyBpbiB0aGUgY2hhaW4sIHNvIHJlbW92ZSB0aGUgaW5pdGlhbCBgamVzdGAgdG8gbWFrZSB0aGUgbG9vcCBpbXBsZW1lbnRhdGlvbiBjbGVhbmVyLlxuICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgLy8gVHJhY2sgc29tZSBzdGF0ZSBzbyB0aGF0IG11bHRpcGxlIG5vbi1ob2lzdGVkIGNoYWluZWQgY2FsbHMgaW4gYSByb3cga2VlcCB0aGVpciBjaGFpbmluZ1xuICAgIC8vIHN5bnRheC5cbiAgICBsZXQgZm9sbG93c05vbkhvaXN0ZWRKZXN0Q2FsbCA9IGZhbHNlO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGFsbCBjaGFpbmVkIGNhbGxzIG9uIHRoZSBqZXN0IG9iamVjdC5cbiAgICB3aGlsZSAodGhpcy50b2tlbnMubWF0Y2hlczModHQuZG90LCB0dC5uYW1lLCB0dC5wYXJlbkwpKSB7XG4gICAgICBjb25zdCBtZXRob2ROYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSk7XG4gICAgICBjb25zdCBzaG91bGRIb2lzdCA9IEhPSVNURURfTUVUSE9EUy5pbmNsdWRlcyhtZXRob2ROYW1lKTtcbiAgICAgIGlmIChzaG91bGRIb2lzdCkge1xuICAgICAgICAvLyBXZSd2ZSBtYXRjaGVkIGUuZy4gYC5tb2NrKC4uLilgIG9yIHNpbWlsYXIgY2FsbC5cbiAgICAgICAgLy8gUmVwbGFjZSB0aGUgaW5pdGlhbCBgLmAgd2l0aCBgZnVuY3Rpb24gX19qZXN0SG9pc3QoKXtqZXN0LmBcbiAgICAgICAgY29uc3QgaG9pc3RlZEZ1bmN0aW9uTmFtZSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcIl9famVzdEhvaXN0XCIpO1xuICAgICAgICB0aGlzLmhvaXN0ZWRGdW5jdGlvbk5hbWVzLnB1c2goaG9pc3RlZEZ1bmN0aW9uTmFtZSk7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgZnVuY3Rpb24gJHtob2lzdGVkRnVuY3Rpb25OYW1lfSgpeyR7SkVTVF9HTE9CQUxfTkFNRX0uYCk7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc0JhbGFuY2VkQ29kZSgpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5wYXJlblIpO1xuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwiO31cIik7XG4gICAgICAgIGZvbGxvd3NOb25Ib2lzdGVkSmVzdENhbGwgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBub24taG9pc3RlZCBtZXRob2QsIHNvIGp1c3QgdHJhbnNmb3JtIHRoZSBjb2RlIGFzIHVzdWFsLlxuICAgICAgICBpZiAoZm9sbG93c05vbkhvaXN0ZWRKZXN0Q2FsbCkge1xuICAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBob2lzdCB0aGUgcHJldmlvdXMgY2FsbCwgd2UgY2FuIGxlYXZlIHRoZSBjb2RlIGFzLWlzIHRvIGNoYWluIG9mZiBvZiB0aGVcbiAgICAgICAgICAvLyBwcmV2aW91cyBtZXRob2QgY2FsbC4gSXQncyBpbXBvcnRhbnQgdG8gcHJlc2VydmUgdGhlIGNvZGUgaGVyZSBiZWNhdXNlIHdlIGRvbid0IGtub3dcbiAgICAgICAgICAvLyBmb3Igc3VyZSB0aGF0IHRoZSBtZXRob2QgYWN0dWFsbHkgcmV0dXJuZWQgdGhlIGplc3Qgb2JqZWN0IGZvciBjaGFpbmluZy5cbiAgICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJZiB3ZSBob2lzdGVkIHRoZSBwcmV2aW91cyBjYWxsLCB3ZSBrbm93IGl0IHJldHVybnMgdGhlIGplc3Qgb2JqZWN0IGJhY2ssIHNvIHdlIGluc2VydFxuICAgICAgICAgIC8vIHRoZSBpZGVudGlmaWVyIGBqZXN0YCB0byBjb250aW51ZSB0aGUgY2hhaW4uXG4gICAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuKGAke0pFU1RfR0xPQkFMX05BTUV9LmApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc0JhbGFuY2VkQ29kZSgpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5wYXJlblIpO1xuICAgICAgICBmb2xsb3dzTm9uSG9pc3RlZEplc3RDYWxsID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwgImltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnVtZXJpY1NlcGFyYXRvclRyYW5zZm9ybWVyIGV4dGVuZHMgVHJhbnNmb3JtZXIge1xuICBjb25zdHJ1Y3RvciggdG9rZW5zKSB7XG4gICAgc3VwZXIoKTt0aGlzLnRva2VucyA9IHRva2Vuczs7XG4gIH1cblxuICBwcm9jZXNzKCkge1xuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5udW0pKSB7XG4gICAgICBjb25zdCBjb2RlID0gdGhpcy50b2tlbnMuY3VycmVudFRva2VuQ29kZSgpO1xuICAgICAgaWYgKGNvZGUuaW5jbHVkZXMoXCJfXCIpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihjb2RlLnJlcGxhY2UoL18vZywgXCJcIikpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCAiXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IFRyYW5zZm9ybWVyIGZyb20gXCIuL1RyYW5zZm9ybWVyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9wdGlvbmFsQ2F0Y2hCaW5kaW5nVHJhbnNmb3JtZXIgZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIGNvbnN0cnVjdG9yKCB0b2tlbnMsICBuYW1lTWFuYWdlcikge1xuICAgIHN1cGVyKCk7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5uYW1lTWFuYWdlciA9IG5hbWVNYW5hZ2VyOztcbiAgfVxuXG4gIHByb2Nlc3MoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9jYXRjaCwgdHQuYnJhY2VMKSkge1xuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAgKCR7dGhpcy5uYW1lTWFuYWdlci5jbGFpbUZyZWVOYW1lKFwiZVwiKX0pYCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCAiXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IFRyYW5zZm9ybWVyIGZyb20gXCIuL1RyYW5zZm9ybWVyXCI7XG5cbi8qKlxuICogVHJhbnNmb3JtZXIgc3VwcG9ydGluZyB0aGUgb3B0aW9uYWwgY2hhaW5pbmcgYW5kIG51bGxpc2ggY29hbGVzY2luZyBvcGVyYXRvcnMuXG4gKlxuICogVGVjaCBwbGFuIGhlcmU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vYWxhbmdwaWVyY2Uvc3VjcmFzZS93aWtpL1N1Y3Jhc2UtT3B0aW9uYWwtQ2hhaW5pbmctYW5kLU51bGxpc2gtQ29hbGVzY2luZy1UZWNobmljYWwtUGxhblxuICpcbiAqIFRoZSBwcmVmaXggYW5kIHN1ZmZpeCBjb2RlIHNuaXBwZXRzIGFyZSBoYW5kbGVkIGJ5IFRva2VuUHJvY2Vzc29yLCBhbmQgdGhpcyB0cmFuc2Zvcm1lciBoYW5kbGVzXG4gKiB0aGUgb3BlcmF0b3JzIHRoZW1zZWx2ZXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9wdGlvbmFsQ2hhaW5pbmdOdWxsaXNoVHJhbnNmb3JtZXIgZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIGNvbnN0cnVjdG9yKCB0b2tlbnMsICBuYW1lTWFuYWdlcikge1xuICAgIHN1cGVyKCk7dGhpcy50b2tlbnMgPSB0b2tlbnM7dGhpcy5uYW1lTWFuYWdlciA9IG5hbWVNYW5hZ2VyOztcbiAgfVxuXG4gIHByb2Nlc3MoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Lm51bGxpc2hDb2FsZXNjaW5nKSkge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKTtcbiAgICAgIGlmICh0aGlzLnRva2Vucy50b2tlbnNbdG9rZW4ubnVsbGlzaFN0YXJ0SW5kZXhdLmlzQXN5bmNPcGVyYXRpb24pIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShcIiwgYXN5bmMgKCkgPT4gKFwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UoXCIsICgpID0+IChcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9kZWxldGUpKSB7XG4gICAgICBjb25zdCBuZXh0VG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbkF0UmVsYXRpdmVJbmRleCgxKTtcbiAgICAgIGlmIChuZXh0VG9rZW4uaXNPcHRpb25hbENoYWluU3RhcnQpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICAgIGNvbnN0IGNoYWluU3RhcnQgPSB0b2tlbi5zdWJzY3JpcHRTdGFydEluZGV4O1xuICAgIGlmIChcbiAgICAgIGNoYWluU3RhcnQgIT0gbnVsbCAmJlxuICAgICAgdGhpcy50b2tlbnMudG9rZW5zW2NoYWluU3RhcnRdLmlzT3B0aW9uYWxDaGFpblN0YXJ0ICYmXG4gICAgICAvLyBTdXBlciBzdWJzY3JpcHRzIGNhbid0IGJlIG9wdGlvbmFsIChzaW5jZSBzdXBlciBpcyBuZXZlciBudWxsL3VuZGVmaW5lZCksIGFuZCB0aGUgc3ludGF4XG4gICAgICAvLyByZWxpZXMgb24gdGhlIHN1YnNjcmlwdCBiZWluZyBpbnRhY3QsIHNvIGxlYXZlIHRoaXMgdG9rZW4gYWxvbmUuXG4gICAgICB0aGlzLnRva2Vucy50b2tlbkF0UmVsYXRpdmVJbmRleCgtMSkudHlwZSAhPT0gdHQuX3N1cGVyXG4gICAgKSB7XG4gICAgICBjb25zdCBwYXJhbSA9IHRoaXMubmFtZU1hbmFnZXIuY2xhaW1GcmVlTmFtZShcIl9cIik7XG4gICAgICBsZXQgYXJyb3dTdGFydFNuaXBwZXQ7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYWluU3RhcnQgPiAwICYmXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChjaGFpblN0YXJ0IC0gMSwgdHQuX2RlbGV0ZSkgJiZcbiAgICAgICAgdGhpcy5pc0xhc3RTdWJzY3JpcHRJbkNoYWluKClcbiAgICAgICkge1xuICAgICAgICAvLyBEZWxldGUgb3BlcmF0aW9ucyBhcmUgc3BlY2lhbDogd2UgYWxyZWFkeSByZW1vdmVkIHRoZSBkZWxldGUga2V5d29yZCwgYW5kIHRvIHN0aWxsXG4gICAgICAgIC8vIHBlcmZvcm0gYSBkZWxldGUsIHdlIG5lZWQgdG8gaW5zZXJ0IGEgZGVsZXRlIGluIHRoZSB2ZXJ5IGxhc3QgcGFydCBvZiB0aGUgY2hhaW4sIHdoaWNoXG4gICAgICAgIC8vIGluIGNvcnJlY3QgY29kZSB3aWxsIGFsd2F5cyBiZSBhIHByb3BlcnR5IGFjY2Vzcy5cbiAgICAgICAgYXJyb3dTdGFydFNuaXBwZXQgPSBgJHtwYXJhbX0gPT4gZGVsZXRlICR7cGFyYW19YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFycm93U3RhcnRTbmlwcGV0ID0gYCR7cGFyYW19ID0+ICR7cGFyYW19YDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2Vucy50b2tlbnNbY2hhaW5TdGFydF0uaXNBc3luY09wZXJhdGlvbikge1xuICAgICAgICBhcnJvd1N0YXJ0U25pcHBldCA9IGBhc3luYyAke2Fycm93U3RhcnRTbmlwcGV0fWA7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnF1ZXN0aW9uRG90LCB0dC5wYXJlbkwpIHx8XG4gICAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnF1ZXN0aW9uRG90LCB0dC5sZXNzVGhhbilcbiAgICAgICkge1xuICAgICAgICBpZiAodGhpcy5qdXN0U2tpcHBlZFN1cGVyKCkpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwiLmJpbmQodGhpcylcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShgLCAnb3B0aW9uYWxDYWxsJywgJHthcnJvd1N0YXJ0U25pcHBldH1gKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczIodHQucXVlc3Rpb25Eb3QsIHR0LmJyYWNrZXRMKSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKGAsICdvcHRpb25hbEFjY2VzcycsICR7YXJyb3dTdGFydFNuaXBwZXR9YCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnF1ZXN0aW9uRG90KSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW5UcmltbWluZ0xlZnRXaGl0ZXNwYWNlKGAsICdvcHRpb25hbEFjY2VzcycsICR7YXJyb3dTdGFydFNuaXBwZXR9LmApO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5kb3QpKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UoYCwgJ2FjY2VzcycsICR7YXJyb3dTdGFydFNuaXBwZXR9LmApO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5icmFja2V0TCkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShgLCAnYWNjZXNzJywgJHthcnJvd1N0YXJ0U25pcHBldH1bYCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnBhcmVuTCkpIHtcbiAgICAgICAgaWYgKHRoaXMuanVzdFNraXBwZWRTdXBlcigpKSB7XG4gICAgICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcIi5iaW5kKHRoaXMpXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlblRyaW1taW5nTGVmdFdoaXRlc3BhY2UoYCwgJ2NhbGwnLCAke2Fycm93U3RhcnRTbmlwcGV0fShgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuZXhwZWN0ZWQgc3Vic2NyaXB0IG9wZXJhdG9yIGluIG9wdGlvbmFsIGNoYWluLlwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBjdXJyZW50IHRva2VuIGlzIHRoZSBsYXN0IG9mIGl0cyBjaGFpbiwgc28gdGhhdCB3ZSBrbm93IHdoZXRoZXIgaXQncyBlbGlnaWJsZVxuICAgKiB0byBoYXZlIGEgZGVsZXRlIG9wIGluc2VydGVkLlxuICAgKlxuICAgKiBXZSBjYW4gZG8gdGhpcyBieSB3YWxraW5nIGZvcndhcmQgdW50aWwgd2UgZGV0ZXJtaW5lIG9uZSB3YXkgb3IgYW5vdGhlci4gRWFjaFxuICAgKiBpc09wdGlvbmFsQ2hhaW5TdGFydCB0b2tlbiBtdXN0IGJlIHBhaXJlZCB3aXRoIGV4YWN0bHkgb25lIGlzT3B0aW9uYWxDaGFpbkVuZCB0b2tlbiBhZnRlciBpdCBpblxuICAgKiBhIG5lc3Rpbmcgd2F5LCBzbyB3ZSBjYW4gdHJhY2sgZGVwdGggYW5kIHdhbGsgdG8gdGhlIGVuZCBvZiB0aGUgY2hhaW4gKHRoZSBwb2ludCB3aGVyZSB0aGVcbiAgICogZGVwdGggZ29lcyBuZWdhdGl2ZSkgYW5kIHNlZSBpZiBhbnkgb3RoZXIgc3Vic2NyaXB0IHRva2VuIGlzIGFmdGVyIHVzIGluIHRoZSBjaGFpbi5cbiAgICovXG4gIGlzTGFzdFN1YnNjcmlwdEluQ2hhaW4oKSB7XG4gICAgbGV0IGRlcHRoID0gMDtcbiAgICBmb3IgKGxldCBpID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxOyA7IGkrKykge1xuICAgICAgaWYgKGkgPj0gdGhpcy50b2tlbnMudG9rZW5zLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWFjaGVkIHRoZSBlbmQgb2YgdGhlIGNvZGUgd2hpbGUgZmluZGluZyB0aGUgZW5kIG9mIHRoZSBhY2Nlc3MgY2hhaW4uXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudG9rZW5zLnRva2Vuc1tpXS5pc09wdGlvbmFsQ2hhaW5TdGFydCkge1xuICAgICAgICBkZXB0aCsrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy50b2tlbnNbaV0uaXNPcHRpb25hbENoYWluRW5kKSB7XG4gICAgICAgIGRlcHRoLS07XG4gICAgICB9XG4gICAgICBpZiAoZGVwdGggPCAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBUaGlzIHN1YnNjcmlwdCB0b2tlbiBpcyBhIGxhdGVyIG9uZSBpbiB0aGUgc2FtZSBjaGFpbi5cbiAgICAgIGlmIChkZXB0aCA9PT0gMCAmJiB0aGlzLnRva2Vucy50b2tlbnNbaV0uc3Vic2NyaXB0U3RhcnRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHdlIGFyZSB0aGUgb3Blbi1wYXJlbiBpbiBhbiBleHByZXNzaW9uIGxpa2Ugc3VwZXIuYSgpPy5iLlxuICAgKlxuICAgKiBXZSBjYW4gZG8gdGhpcyBieSB3YWxraW5nIGJhY2t3YXJkIHRvIGZpbmQgdGhlIHByZXZpb3VzIHN1YnNjcmlwdC4gSWYgdGhhdCBzdWJzY3JpcHQgd2FzXG4gICAqIHByZWNlZGVkIGJ5IGEgc3VwZXIsIHRoZW4gd2UgbXVzdCBiZSB0aGUgc3Vic2NyaXB0IGFmdGVyIGl0LCBzbyBpZiB0aGlzIGlzIGEgY2FsbCBleHByZXNzaW9uLFxuICAgKiB3ZSdsbCBuZWVkIHRvIGF0dGFjaCB0aGUgcmlnaHQgY29udGV4dC5cbiAgICovXG4gIGp1c3RTa2lwcGVkU3VwZXIoKSB7XG4gICAgbGV0IGRlcHRoID0gMDtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSAtIDE7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiUmVhY2hlZCB0aGUgc3RhcnQgb2YgdGhlIGNvZGUgd2hpbGUgZmluZGluZyB0aGUgc3RhcnQgb2YgdGhlIGFjY2VzcyBjaGFpbi5cIixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2Vucy50b2tlbnNbaW5kZXhdLmlzT3B0aW9uYWxDaGFpblN0YXJ0KSB7XG4gICAgICAgIGRlcHRoLS07XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLnRva2Vuc1tpbmRleF0uaXNPcHRpb25hbENoYWluRW5kKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgICBpZiAoZGVwdGggPCAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gVGhpcyBzdWJzY3JpcHQgdG9rZW4gaXMgYSBsYXRlciBvbmUgaW4gdGhlIHNhbWUgY2hhaW4uXG4gICAgICBpZiAoZGVwdGggPT09IDAgJiYgdGhpcy50b2tlbnMudG9rZW5zW2luZGV4XS5zdWJzY3JpcHRTdGFydEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5zLnRva2Vuc1tpbmRleCAtIDFdLnR5cGUgPT09IHR0Ll9zdXBlcjtcbiAgICAgIH1cbiAgICAgIGluZGV4LS07XG4gICAgfVxuICB9XG59XG4iLCAiXG5cbmltcG9ydCB7SWRlbnRpZmllclJvbGV9IGZyb20gXCIuLi9wYXJzZXIvdG9rZW5pemVyXCI7XG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXJlYWN0LWRpc3BsYXktbmFtZSwgd2hpY2ggYWRkcyBhXG4gKiBkaXNwbGF5IG5hbWUgdG8gdXNhZ2VzIG9mIFJlYWN0LmNyZWF0ZUNsYXNzIGFuZCBjcmVhdGVSZWFjdENsYXNzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWFjdERpc3BsYXlOYW1lVHJhbnNmb3JtZXIgZXh0ZW5kcyBUcmFuc2Zvcm1lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICByb290VHJhbnNmb3JtZXIsXG4gICAgIHRva2VucyxcbiAgICAgaW1wb3J0UHJvY2Vzc29yLFxuICAgICBvcHRpb25zLFxuICApIHtcbiAgICBzdXBlcigpO3RoaXMucm9vdFRyYW5zZm9ybWVyID0gcm9vdFRyYW5zZm9ybWVyO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMuaW1wb3J0UHJvY2Vzc29yID0gaW1wb3J0UHJvY2Vzc29yO3RoaXMub3B0aW9ucyA9IG9wdGlvbnM7O1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCk7XG4gICAgaWYgKHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lKCkgPT09IFwiY3JlYXRlUmVhY3RDbGFzc1wiKSB7XG4gICAgICBjb25zdCBuZXdOYW1lID1cbiAgICAgICAgdGhpcy5pbXBvcnRQcm9jZXNzb3IgJiYgdGhpcy5pbXBvcnRQcm9jZXNzb3IuZ2V0SWRlbnRpZmllclJlcGxhY2VtZW50KFwiY3JlYXRlUmVhY3RDbGFzc1wiKTtcbiAgICAgIGlmIChuZXdOYW1lKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihgKDAsICR7bmV3TmFtZX0pYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudHJ5UHJvY2Vzc0NyZWF0ZUNsYXNzQ2FsbChzdGFydEluZGV4KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5uYW1lLCB0dC5kb3QsIHR0Lm5hbWUpICYmXG4gICAgICB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZSgpID09PSBcIlJlYWN0XCIgJiZcbiAgICAgIHRoaXMudG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleCh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSArIDIpID09PSBcImNyZWF0ZUNsYXNzXCJcbiAgICApIHtcbiAgICAgIGNvbnN0IG5ld05hbWUgPSB0aGlzLmltcG9ydFByb2Nlc3NvclxuICAgICAgICA/IHRoaXMuaW1wb3J0UHJvY2Vzc29yLmdldElkZW50aWZpZXJSZXBsYWNlbWVudChcIlJlYWN0XCIpIHx8IFwiUmVhY3RcIlxuICAgICAgICA6IFwiUmVhY3RcIjtcbiAgICAgIGlmIChuZXdOYW1lKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlcGxhY2VUb2tlbihuZXdOYW1lKTtcbiAgICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudHJ5UHJvY2Vzc0NyZWF0ZUNsYXNzQ2FsbChzdGFydEluZGV4KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBpcyBjYWxsZWQgd2l0aCB0aGUgdG9rZW4gcG9zaXRpb24gYXQgdGhlIG9wZW4tcGFyZW4uXG4gICAqL1xuICAgdHJ5UHJvY2Vzc0NyZWF0ZUNsYXNzQ2FsbChzdGFydEluZGV4KSB7XG4gICAgY29uc3QgZGlzcGxheU5hbWUgPSB0aGlzLmZpbmREaXNwbGF5TmFtZShzdGFydEluZGV4KTtcbiAgICBpZiAoIWRpc3BsYXlOYW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2xhc3NOZWVkc0Rpc3BsYXlOYW1lKCkpIHtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlFeHBlY3RlZFRva2VuKHR0LnBhcmVuTCk7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZUwpO1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgZGlzcGxheU5hbWU6ICcke2Rpc3BsYXlOYW1lfScsYCk7XG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZVIpO1xuICAgICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQucGFyZW5SKTtcbiAgICB9XG4gIH1cblxuICAgZmluZERpc3BsYXlOYW1lKHN0YXJ0SW5kZXgpIHtcbiAgICBpZiAoc3RhcnRJbmRleCA8IDIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczJBdEluZGV4KHN0YXJ0SW5kZXggLSAyLCB0dC5uYW1lLCB0dC5lcSkpIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gYXNzaWdubWVudCAob3IgZGVjbGFyYXRpb24pIGFuZCB0aGUgTEhTIGlzIGVpdGhlciBhbiBpZGVudGlmaWVyIG9yIGEgbWVtYmVyXG4gICAgICAvLyBleHByZXNzaW9uIGVuZGluZyBpbiBhbiBpZGVudGlmaWVyLCBzbyB1c2UgdGhhdCBpZGVudGlmaWVyIG5hbWUuXG4gICAgICByZXR1cm4gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHN0YXJ0SW5kZXggLSAyKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgc3RhcnRJbmRleCA+PSAyICYmXG4gICAgICB0aGlzLnRva2Vucy50b2tlbnNbc3RhcnRJbmRleCAtIDJdLmlkZW50aWZpZXJSb2xlID09PSBJZGVudGlmaWVyUm9sZS5PYmplY3RLZXlcbiAgICApIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gb2JqZWN0IGxpdGVyYWwgdmFsdWUuXG4gICAgICByZXR1cm4gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHN0YXJ0SW5kZXggLSAyKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChzdGFydEluZGV4IC0gMiwgdHQuX2V4cG9ydCwgdHQuX2RlZmF1bHQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXREaXNwbGF5TmFtZUZyb21GaWxlbmFtZSgpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gICBnZXREaXNwbGF5TmFtZUZyb21GaWxlbmFtZSgpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMub3B0aW9ucy5maWxlUGF0aCB8fCBcInVua25vd25cIjtcbiAgICBjb25zdCBwYXRoU2VnbWVudHMgPSBmaWxlUGF0aC5zcGxpdChcIi9cIik7XG4gICAgY29uc3QgZmlsZW5hbWUgPSBwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGRvdEluZGV4ID0gZmlsZW5hbWUubGFzdEluZGV4T2YoXCIuXCIpO1xuICAgIGNvbnN0IGJhc2VGaWxlbmFtZSA9IGRvdEluZGV4ID09PSAtMSA/IGZpbGVuYW1lIDogZmlsZW5hbWUuc2xpY2UoMCwgZG90SW5kZXgpO1xuICAgIGlmIChiYXNlRmlsZW5hbWUgPT09IFwiaW5kZXhcIiAmJiBwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDJdKSB7XG4gICAgICByZXR1cm4gcGF0aFNlZ21lbnRzW3BhdGhTZWdtZW50cy5sZW5ndGggLSAyXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGJhc2VGaWxlbmFtZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2Ugb25seSB3YW50IHRvIGFkZCBhIGRpc3BsYXkgbmFtZSB3aGVuIHRoaXMgaXMgYSBmdW5jdGlvbiBjYWxsIGNvbnRhaW5pbmdcbiAgICogb25lIGFyZ3VtZW50LCB3aGljaCBpcyBhbiBvYmplY3QgbGl0ZXJhbCB3aXRob3V0IGBkaXNwbGF5TmFtZWAgYXMgYW5cbiAgICogZXhpc3Rpbmcga2V5LlxuICAgKi9cbiAgIGNsYXNzTmVlZHNEaXNwbGF5TmFtZSgpIHtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKTtcbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMyKHR0LnBhcmVuTCwgdHQuYnJhY2VMKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBUaGUgYmxvY2sgc3RhcnRzIG9uIHRoZSB7LCBhbmQgd2UgZXhwZWN0IGFueSBkaXNwbGF5TmFtZSBrZXkgdG8gYmUgaW5cbiAgICAvLyB0aGF0IGNvbnRleHQuIFdlIG5lZWQgdG8gaWdub3JlIG90aGVyIG90aGVyIGNvbnRleHRzIHRvIGF2b2lkIG1hdGNoaW5nXG4gICAgLy8gbmVzdGVkIGRpc3BsYXlOYW1lIGtleXMuXG4gICAgY29uc3Qgb2JqZWN0U3RhcnRJbmRleCA9IGluZGV4ICsgMTtcbiAgICBjb25zdCBvYmplY3RDb250ZXh0SWQgPSB0aGlzLnRva2Vucy50b2tlbnNbb2JqZWN0U3RhcnRJbmRleF0uY29udGV4dElkO1xuICAgIGlmIChvYmplY3RDb250ZXh0SWQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgbm9uLW51bGwgY29udGV4dCBJRCBvbiBvYmplY3Qgb3Blbi1icmFjZS5cIik7XG4gICAgfVxuXG4gICAgZm9yICg7IGluZGV4IDwgdGhpcy50b2tlbnMudG9rZW5zLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy50b2tlbnNbaW5kZXhdO1xuICAgICAgaWYgKHRva2VuLnR5cGUgPT09IHR0LmJyYWNlUiAmJiB0b2tlbi5jb250ZXh0SWQgPT09IG9iamVjdENvbnRleHRJZCkge1xuICAgICAgICBpbmRleCsrO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUF0SW5kZXgoaW5kZXgpID09PSBcImRpc3BsYXlOYW1lXCIgJiZcbiAgICAgICAgdGhpcy50b2tlbnMudG9rZW5zW2luZGV4XS5pZGVudGlmaWVyUm9sZSA9PT0gSWRlbnRpZmllclJvbGUuT2JqZWN0S2V5ICYmXG4gICAgICAgIHRva2VuLmNvbnRleHRJZCA9PT0gb2JqZWN0Q29udGV4dElkXG4gICAgICApIHtcbiAgICAgICAgLy8gV2UgZm91bmQgYSBkaXNwbGF5TmFtZSBrZXksIHNvIGJhaWwgb3V0LlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGluZGV4ID09PSB0aGlzLnRva2Vucy50b2tlbnMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dCB3aGVuIHByb2Nlc3NpbmcgUmVhY3QgY2xhc3MuXCIpO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGdvdCB0aGlzIGZhciwgd2Uga25vdyB3ZSBoYXZlIGNyZWF0ZUNsYXNzIHdpdGggYW4gb2JqZWN0IHdpdGggbm9cbiAgICAvLyBkaXNwbGF5IG5hbWUsIHNvIHdlIHdhbnQgdG8gcHJvY2VlZCBhcyBsb25nIGFzIHRoYXQgd2FzIHRoZSBvbmx5IGFyZ3VtZW50LlxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LnBhcmVuUikgfHxcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbmRleCwgdHQuY29tbWEsIHR0LnBhcmVuUilcbiAgICApO1xuICB9XG59XG4iLCAiaW1wb3J0IHtJZGVudGlmaWVyUm9sZSwgaXNUb3BMZXZlbERlY2xhcmF0aW9ufSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplclwiO1xuXG5pbXBvcnQgVHJhbnNmb3JtZXIgZnJvbSBcIi4vVHJhbnNmb3JtZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgIF9faW5pdCgpIHt0aGlzLmV4dHJhY3RlZERlZmF1bHRFeHBvcnROYW1lID0gbnVsbH1cblxuICBjb25zdHJ1Y3RvciggdG9rZW5zLCAgZmlsZVBhdGgpIHtcbiAgICBzdXBlcigpO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMuZmlsZVBhdGggPSBmaWxlUGF0aDtSZWFjdEhvdExvYWRlclRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTs7XG4gIH1cblxuICBzZXRFeHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZShleHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZSkge1xuICAgIHRoaXMuZXh0cmFjdGVkRGVmYXVsdEV4cG9ydE5hbWUgPSBleHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZTtcbiAgfVxuXG4gIGdldFByZWZpeENvZGUoKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgIChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBlbnRlck1vZHVsZSA9IHJlcXVpcmUoJ3JlYWN0LWhvdC1sb2FkZXInKS5lbnRlck1vZHVsZTtcbiAgICAgICAgZW50ZXJNb2R1bGUgJiYgZW50ZXJNb2R1bGUobW9kdWxlKTtcbiAgICAgIH0pKCk7YFxuICAgICAgLnJlcGxhY2UoL1xccysvZywgXCIgXCIpXG4gICAgICAudHJpbSgpO1xuICB9XG5cbiAgZ2V0U3VmZml4Q29kZSgpIHtcbiAgICBjb25zdCB0b3BMZXZlbE5hbWVzID0gbmV3IFNldCgpO1xuICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdGhpcy50b2tlbnMudG9rZW5zKSB7XG4gICAgICBpZiAoXG4gICAgICAgICF0b2tlbi5pc1R5cGUgJiZcbiAgICAgICAgaXNUb3BMZXZlbERlY2xhcmF0aW9uKHRva2VuKSAmJlxuICAgICAgICB0b2tlbi5pZGVudGlmaWVyUm9sZSAhPT0gSWRlbnRpZmllclJvbGUuSW1wb3J0RGVjbGFyYXRpb25cbiAgICAgICkge1xuICAgICAgICB0b3BMZXZlbE5hbWVzLmFkZCh0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZUZvclRva2VuKHRva2VuKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5hbWVzVG9SZWdpc3RlciA9IEFycmF5LmZyb20odG9wTGV2ZWxOYW1lcykubWFwKChuYW1lKSA9PiAoe1xuICAgICAgdmFyaWFibGVOYW1lOiBuYW1lLFxuICAgICAgdW5pcXVlTG9jYWxOYW1lOiBuYW1lLFxuICAgIH0pKTtcbiAgICBpZiAodGhpcy5leHRyYWN0ZWREZWZhdWx0RXhwb3J0TmFtZSkge1xuICAgICAgbmFtZXNUb1JlZ2lzdGVyLnB1c2goe1xuICAgICAgICB2YXJpYWJsZU5hbWU6IHRoaXMuZXh0cmFjdGVkRGVmYXVsdEV4cG9ydE5hbWUsXG4gICAgICAgIHVuaXF1ZUxvY2FsTmFtZTogXCJkZWZhdWx0XCIsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGBcbjsoZnVuY3Rpb24gKCkge1xuICB2YXIgcmVhY3RIb3RMb2FkZXIgPSByZXF1aXJlKCdyZWFjdC1ob3QtbG9hZGVyJykuZGVmYXVsdDtcbiAgdmFyIGxlYXZlTW9kdWxlID0gcmVxdWlyZSgncmVhY3QtaG90LWxvYWRlcicpLmxlYXZlTW9kdWxlO1xuICBpZiAoIXJlYWN0SG90TG9hZGVyKSB7XG4gICAgcmV0dXJuO1xuICB9XG4ke25hbWVzVG9SZWdpc3RlclxuICAubWFwKFxuICAgICh7dmFyaWFibGVOYW1lLCB1bmlxdWVMb2NhbE5hbWV9KSA9PlxuICAgICAgYCAgcmVhY3RIb3RMb2FkZXIucmVnaXN0ZXIoJHt2YXJpYWJsZU5hbWV9LCBcIiR7dW5pcXVlTG9jYWxOYW1lfVwiLCAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0aGlzLmZpbGVQYXRoIHx8IFwiXCIsXG4gICAgICApfSk7YCxcbiAgKVxuICAuam9pbihcIlxcblwiKX1cbiAgbGVhdmVNb2R1bGUobW9kdWxlKTtcbn0pKCk7YDtcbiAgfVxuXG4gIHByb2Nlc3MoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCAiaW1wb3J0IHtJU19JREVOVElGSUVSX0NIQVIsIElTX0lERU5USUZJRVJfU1RBUlR9IGZyb20gXCIuLi9wYXJzZXIvdXRpbC9pZGVudGlmaWVyXCI7XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0xleGljYWxfZ3JhbW1hclxuLy8gSGFyZC1jb2RlIGEgbGlzdCBvZiByZXNlcnZlZCB3b3JkcyByYXRoZXIgdGhhbiB0cnlpbmcgdG8gdXNlIGtleXdvcmRzIG9yIGNvbnRleHR1YWwga2V5d29yZHNcbi8vIGZyb20gdGhlIHBhcnNlciwgc2luY2UgY3VycmVudGx5IHRoZXJlIGFyZSB2YXJpb3VzIGV4Y2VwdGlvbnMsIGxpa2UgYHBhY2thZ2VgIGJlaW5nIHJlc2VydmVkXG4vLyBidXQgdW51c2VkIGFuZCB2YXJpb3VzIGNvbnRleHR1YWwga2V5d29yZHMgYmVpbmcgcmVzZXJ2ZWQuIE5vdGUgdGhhdCB3ZSBhc3N1bWUgdGhhdCBhbGwgY29kZVxuLy8gY29tcGlsZWQgYnkgU3VjcmFzZSBpcyBpbiBhIG1vZHVsZSwgc28gc3RyaWN0IG1vZGUgd29yZHMgYW5kIGF3YWl0IGFyZSBhbGwgY29uc2lkZXJlZCByZXNlcnZlZFxuLy8gaGVyZS5cbmNvbnN0IFJFU0VSVkVEX1dPUkRTID0gbmV3IFNldChbXG4gIC8vIFJlc2VydmVkIGtleXdvcmRzIGFzIG9mIEVDTUFTY3JpcHQgMjAxNVxuICBcImJyZWFrXCIsXG4gIFwiY2FzZVwiLFxuICBcImNhdGNoXCIsXG4gIFwiY2xhc3NcIixcbiAgXCJjb25zdFwiLFxuICBcImNvbnRpbnVlXCIsXG4gIFwiZGVidWdnZXJcIixcbiAgXCJkZWZhdWx0XCIsXG4gIFwiZGVsZXRlXCIsXG4gIFwiZG9cIixcbiAgXCJlbHNlXCIsXG4gIFwiZXhwb3J0XCIsXG4gIFwiZXh0ZW5kc1wiLFxuICBcImZpbmFsbHlcIixcbiAgXCJmb3JcIixcbiAgXCJmdW5jdGlvblwiLFxuICBcImlmXCIsXG4gIFwiaW1wb3J0XCIsXG4gIFwiaW5cIixcbiAgXCJpbnN0YW5jZW9mXCIsXG4gIFwibmV3XCIsXG4gIFwicmV0dXJuXCIsXG4gIFwic3VwZXJcIixcbiAgXCJzd2l0Y2hcIixcbiAgXCJ0aGlzXCIsXG4gIFwidGhyb3dcIixcbiAgXCJ0cnlcIixcbiAgXCJ0eXBlb2ZcIixcbiAgXCJ2YXJcIixcbiAgXCJ2b2lkXCIsXG4gIFwid2hpbGVcIixcbiAgXCJ3aXRoXCIsXG4gIFwieWllbGRcIixcbiAgLy8gRnV0dXJlIHJlc2VydmVkIGtleXdvcmRzXG4gIFwiZW51bVwiLFxuICBcImltcGxlbWVudHNcIixcbiAgXCJpbnRlcmZhY2VcIixcbiAgXCJsZXRcIixcbiAgXCJwYWNrYWdlXCIsXG4gIFwicHJpdmF0ZVwiLFxuICBcInByb3RlY3RlZFwiLFxuICBcInB1YmxpY1wiLFxuICBcInN0YXRpY1wiLFxuICBcImF3YWl0XCIsXG4gIC8vIExpdGVyYWxzIHRoYXQgY2Fubm90IGJlIHVzZWQgYXMgaWRlbnRpZmllcnNcbiAgXCJmYWxzZVwiLFxuICBcIm51bGxcIixcbiAgXCJ0cnVlXCIsXG5dKTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIG5hbWUgaXMgYSBsZWdhbCB2YXJpYWJsZSBuYW1lLlxuICpcbiAqIFRoaXMgaXMgbmVlZGVkIHdoZW4gdHJhbnNmb3JtaW5nIFR5cGVTY3JpcHQgZW51bXM7IGlmIGFuIGVudW0ga2V5IGlzIGEgdmFsaWRcbiAqIHZhcmlhYmxlIG5hbWUsIGl0IG1pZ2h0IGJlIHJlZmVyZW5jZWQgbGF0ZXIgaW4gdGhlIGVudW0sIHNvIHdlIG5lZWQgdG9cbiAqIGRlY2xhcmUgYSB2YXJpYWJsZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNJZGVudGlmaWVyKG5hbWUpIHtcbiAgaWYgKG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICghSVNfSURFTlRJRklFUl9TVEFSVFtuYW1lLmNoYXJDb2RlQXQoMCldKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgbmFtZS5sZW5ndGg7IGkrKykge1xuICAgIGlmICghSVNfSURFTlRJRklFUl9DSEFSW25hbWUuY2hhckNvZGVBdChpKV0pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuICFSRVNFUlZFRF9XT1JEUy5oYXMobmFtZSk7XG59XG4iLCAiXG5pbXBvcnQge1Rva2VuVHlwZSBhcyB0dH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuaW1wb3J0IGlzSWRlbnRpZmllciBmcm9tIFwiLi4vdXRpbC9pc0lkZW50aWZpZXJcIjtcblxuaW1wb3J0IFRyYW5zZm9ybWVyIGZyb20gXCIuL1RyYW5zZm9ybWVyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFR5cGVTY3JpcHRUcmFuc2Zvcm1lciBleHRlbmRzIFRyYW5zZm9ybWVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgIHJvb3RUcmFuc2Zvcm1lcixcbiAgICAgdG9rZW5zLFxuICAgICBpc0ltcG9ydHNUcmFuc2Zvcm1FbmFibGVkLFxuICApIHtcbiAgICBzdXBlcigpO3RoaXMucm9vdFRyYW5zZm9ybWVyID0gcm9vdFRyYW5zZm9ybWVyO3RoaXMudG9rZW5zID0gdG9rZW5zO3RoaXMuaXNJbXBvcnRzVHJhbnNmb3JtRW5hYmxlZCA9IGlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQ7O1xuICB9XG5cbiAgcHJvY2VzcygpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzUG9zc2libGVBcnJvd1BhcmFtRW5kKCkgfHxcbiAgICAgIHRoaXMucm9vdFRyYW5zZm9ybWVyLnByb2Nlc3NQb3NzaWJsZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtcygpIHx8XG4gICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzUG9zc2libGVUeXBlUmFuZ2UoKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9wdWJsaWMpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fcHJvdGVjdGVkKSB8fFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuX3ByaXZhdGUpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fYWJzdHJhY3QpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fcmVhZG9ubHkpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fb3ZlcnJpZGUpIHx8XG4gICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5ub25OdWxsQXNzZXJ0aW9uKVxuICAgICkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9lbnVtKSB8fCB0aGlzLnRva2Vucy5tYXRjaGVzMih0dC5fY29uc3QsIHR0Ll9lbnVtKSkge1xuICAgICAgdGhpcy5wcm9jZXNzRW51bSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9leHBvcnQsIHR0Ll9lbnVtKSB8fFxuICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczModHQuX2V4cG9ydCwgdHQuX2NvbnN0LCB0dC5fZW51bSlcbiAgICApIHtcbiAgICAgIHRoaXMucHJvY2Vzc0VudW0odHJ1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvY2Vzc0VudW0oaXNFeHBvcnQgPSBmYWxzZSkge1xuICAgIC8vIFdlIG1pZ2h0IGhhdmUgXCJleHBvcnQgY29uc3QgZW51bVwiLCBzbyBqdXN0IHJlbW92ZSBhbGwgcmVsZXZhbnQgdG9rZW5zLlxuICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgIHdoaWxlICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fY29uc3QpIHx8IHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9lbnVtKSkge1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICB9XG4gICAgY29uc3QgZW51bU5hbWUgPSB0aGlzLnRva2Vucy5pZGVudGlmaWVyTmFtZSgpO1xuICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgaWYgKGlzRXhwb3J0ICYmICF0aGlzLmlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQpIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCJleHBvcnQgXCIpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGB2YXIgJHtlbnVtTmFtZX07IChmdW5jdGlvbiAoJHtlbnVtTmFtZX0pYCk7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VMKTtcbiAgICB0aGlzLnByb2Nlc3NFbnVtQm9keShlbnVtTmFtZSk7XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VSKTtcbiAgICBpZiAoaXNFeHBvcnQgJiYgdGhpcy5pc0ltcG9ydHNUcmFuc2Zvcm1FbmFibGVkKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGApKCR7ZW51bU5hbWV9IHx8IChleHBvcnRzLiR7ZW51bU5hbWV9ID0gJHtlbnVtTmFtZX0gPSB7fSkpO2ApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGApKCR7ZW51bU5hbWV9IHx8ICgke2VudW1OYW1lfSA9IHt9KSk7YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBhbiBlbnVtIGludG8gZXF1aXZhbGVudCBKUy4gVGhpcyBoYXMgY29tcGxleGl0eSBpbiBhIGZldyBwbGFjZXM6XG4gICAqIC0gVFMgYWxsb3dzIHN0cmluZyBlbnVtcywgbnVtZXJpYyBlbnVtcywgYW5kIGEgbWl4IG9mIHRoZSB0d28gc3R5bGVzIHdpdGhpbiBhbiBlbnVtLlxuICAgKiAtIEVudW0ga2V5cyBhcmUgYWxsb3dlZCB0byBiZSByZWZlcmVuY2VkIGluIGxhdGVyIGVudW0gdmFsdWVzLlxuICAgKiAtIEVudW0ga2V5cyBhcmUgYWxsb3dlZCB0byBiZSBzdHJpbmdzLlxuICAgKiAtIFdoZW4gZW51bSB2YWx1ZXMgYXJlIG9taXR0ZWQsIHRoZXkgc2hvdWxkIGZvbGxvdyBhbiBhdXRvLWluY3JlbWVudCBiZWhhdmlvci5cbiAgICovXG4gIHByb2Nlc3NFbnVtQm9keShlbnVtTmFtZSkge1xuICAgIC8vIENvZGUgdGhhdCBjYW4gYmUgdXNlZCB0byByZWZlcmVuY2UgdGhlIHByZXZpb3VzIGVudW0gbWVtYmVyLCBvciBudWxsIGlmIHRoaXMgaXMgdGhlIGZpcnN0XG4gICAgLy8gZW51bSBtZW1iZXIuXG4gICAgbGV0IHByZXZpb3VzVmFsdWVDb2RlID0gbnVsbDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zdCB7bmFtZVN0cmluZ0NvZGUsIHZhcmlhYmxlTmFtZX0gPSB0aGlzLmV4dHJhY3RFbnVtS2V5SW5mbyh0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKSk7XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnRva2Vucy5tYXRjaGVzMyh0dC5lcSwgdHQuc3RyaW5nLCB0dC5jb21tYSkgfHxcbiAgICAgICAgdGhpcy50b2tlbnMubWF0Y2hlczModHQuZXEsIHR0LnN0cmluZywgdHQuYnJhY2VSKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc1N0cmluZ0xpdGVyYWxFbnVtTWVtYmVyKGVudW1OYW1lLCBuYW1lU3RyaW5nQ29kZSwgdmFyaWFibGVOYW1lKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMubWF0Y2hlczEodHQuZXEpKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0V4cGxpY2l0VmFsdWVFbnVtTWVtYmVyKGVudW1OYW1lLCBuYW1lU3RyaW5nQ29kZSwgdmFyaWFibGVOYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0ltcGxpY2l0VmFsdWVFbnVtTWVtYmVyKFxuICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIG5hbWVTdHJpbmdDb2RlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSxcbiAgICAgICAgICBwcmV2aW91c1ZhbHVlQ29kZSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5jb21tYSkpIHtcbiAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhcmlhYmxlTmFtZSAhPSBudWxsKSB7XG4gICAgICAgIHByZXZpb3VzVmFsdWVDb2RlID0gdmFyaWFibGVOYW1lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJldmlvdXNWYWx1ZUNvZGUgPSBgJHtlbnVtTmFtZX1bJHtuYW1lU3RyaW5nQ29kZX1dYDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0IG5hbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBlbnVtIGtleSwgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBjb2RlIHRvIGVtaXRcbiAgICogYW5kIHdoZXRoZXIgd2Ugc2hvdWxkIGRlY2xhcmUgYSB2YXJpYWJsZSBhcyBwYXJ0IG9mIHRoaXMgZGVjbGFyYXRpb24uXG4gICAqXG4gICAqIFNvbWUgY2FzZXMgdG8ga2VlcCBpbiBtaW5kOlxuICAgKiAtIEVudW0ga2V5cyBjYW4gYmUgaW1wbGljaXRseSByZWZlcmVuY2VkIGxhdGVyLCBlLmcuIGBYID0gMSwgWSA9IFhgLiBJbiBTdWNyYXNlLCB3ZSBpbXBsZW1lbnRcbiAgICogICB0aGlzIGJ5IGRlY2xhcmluZyBhIHZhcmlhYmxlIGBYYCBzbyB0aGF0IGxhdGVyIGV4cHJlc3Npb25zIGNhbiB1c2UgaXQuXG4gICAqIC0gSW4gYWRkaXRpb24gdG8gdGhlIHVzdWFsIGlkZW50aWZpZXIga2V5IHN5bnRheCwgZW51bSBrZXlzIGFyZSBhbGxvd2VkIHRvIGJlIHN0cmluZyBsaXRlcmFscyxcbiAgICogICBlLmcuIGBcImhlbGxvIHdvcmxkXCIgPSAzLGAuIFRlbXBsYXRlIGxpdGVyYWwgc3ludGF4IGlzIE5PVCBhbGxvd2VkLlxuICAgKiAtIEV2ZW4gaWYgdGhlIGVudW0ga2V5IGlzIGRlZmluZWQgYXMgYSBzdHJpbmcgbGl0ZXJhbCwgaXQgbWF5IHN0aWxsIGJlIHJlZmVyZW5jZWQgYnkgaWRlbnRpZmllclxuICAgKiAgIGxhdGVyLCBlLmcuIGBcIlhcIiA9IDEsIFkgPSBYYC4gVGhhdCBtZWFucyB0aGF0IHdlIG5lZWQgdG8gZGV0ZWN0IHdoZXRoZXIgb3Igbm90IGEgc3RyaW5nXG4gICAqICAgbGl0ZXJhbCBpcyBpZGVudGlmaWVyLWxpa2UgYW5kIGVtaXQgYSB2YXJpYWJsZSBpZiBzbywgZXZlbiBpZiB0aGUgZGVjbGFyYXRpb24gZGlkIG5vdCB1c2UgYW5cbiAgICogICBpZGVudGlmaWVyLlxuICAgKiAtIFJlc2VydmVkIGtleXdvcmRzIGxpa2UgYGJyZWFrYCBhcmUgdmFsaWQgZW51bSBrZXlzLCBidXQgYXJlIG5vdCB2YWxpZCB0byBiZSByZWZlcmVuY2VkIGxhdGVyXG4gICAqICAgYW5kIHdvdWxkIGJlIGEgc3ludGF4IGVycm9yIGlmIHdlIGVtaXR0ZWQgYSB2YXJpYWJsZSwgc28gd2UgbmVlZCB0byBza2lwIHRoZSB2YXJpYWJsZVxuICAgKiAgIGRlY2xhcmF0aW9uIGluIHRob3NlIGNhc2VzLlxuICAgKlxuICAgKiBUaGUgdmFyaWFibGVOYW1lIHJldHVybiB2YWx1ZSBjYXB0dXJlcyB0aGVzZSBudWFuY2VzOiBpZiBub24tbnVsbCwgd2UgY2FuIGFuZCBtdXN0IGVtaXQgYVxuICAgKiB2YXJpYWJsZSBkZWNsYXJhdGlvbiwgYW5kIGlmIG51bGwsIHdlIGNhbid0IGFuZCBzaG91bGRuJ3QuXG4gICAqL1xuICBleHRyYWN0RW51bUtleUluZm8obmFtZVRva2VuKSB7XG4gICAgaWYgKG5hbWVUb2tlbi50eXBlID09PSB0dC5uYW1lKSB7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVGb3JUb2tlbihuYW1lVG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZVN0cmluZ0NvZGU6IGBcIiR7bmFtZX1cImAsXG4gICAgICAgIHZhcmlhYmxlTmFtZTogaXNJZGVudGlmaWVyKG5hbWUpID8gbmFtZSA6IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAobmFtZVRva2VuLnR5cGUgPT09IHR0LnN0cmluZykge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMudG9rZW5zLnN0cmluZ1ZhbHVlRm9yVG9rZW4obmFtZVRva2VuKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWVTdHJpbmdDb2RlOiB0aGlzLnRva2Vucy5jb2RlLnNsaWNlKG5hbWVUb2tlbi5zdGFydCwgbmFtZVRva2VuLmVuZCksXG4gICAgICAgIHZhcmlhYmxlTmFtZTogaXNJZGVudGlmaWVyKG5hbWUpID8gbmFtZSA6IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBuYW1lIG9yIHN0cmluZyBhdCBiZWdpbm5pbmcgb2YgZW51bSBlbGVtZW50LlwiKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGFuIGVudW0gbWVtYmVyIHdoZXJlIHRoZSBSSFMgaXMganVzdCBhIHN0cmluZyBsaXRlcmFsIChub3Qgb21pdHRlZCwgbm90IGEgbnVtYmVyLCBhbmRcbiAgICogbm90IGEgY29tcGxleCBleHByZXNzaW9uKS4gVGhpcyBpcyB0aGUgdHlwaWNhbCBmb3JtIGZvciBUUyBzdHJpbmcgZW51bXMsIGFuZCBpbiB0aGlzIGNhc2UsIHdlXG4gICAqIGRvICpub3QqIGNyZWF0ZSBhIHJldmVyc2UgbWFwcGluZy5cbiAgICpcbiAgICogVGhpcyBpcyBjYWxsZWQgYWZ0ZXIgZGVsZXRpbmcgdGhlIGtleSB0b2tlbiwgd2hlbiB0aGUgdG9rZW4gcHJvY2Vzc29yIGlzIGF0IHRoZSBlcXVhbHMgc2lnbi5cbiAgICpcbiAgICogRXhhbXBsZSAxOlxuICAgKiBzb21lS2V5ID0gXCJzb21lIHZhbHVlXCJcbiAgICogLT5cbiAgICogY29uc3Qgc29tZUtleSA9IFwic29tZSB2YWx1ZVwiOyBNeUVudW1bXCJzb21lS2V5XCJdID0gc29tZUtleTtcbiAgICpcbiAgICogRXhhbXBsZSAyOlxuICAgKiBcInNvbWUga2V5XCIgPSBcInNvbWUgdmFsdWVcIlxuICAgKiAtPlxuICAgKiBNeUVudW1bXCJzb21lIGtleVwiXSA9IFwic29tZSB2YWx1ZVwiO1xuICAgKi9cbiAgcHJvY2Vzc1N0cmluZ0xpdGVyYWxFbnVtTWVtYmVyKFxuICAgIGVudW1OYW1lLFxuICAgIG5hbWVTdHJpbmdDb2RlLFxuICAgIHZhcmlhYmxlTmFtZSxcbiAgKSB7XG4gICAgaWYgKHZhcmlhYmxlTmFtZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGBjb25zdCAke3ZhcmlhYmxlTmFtZX1gKTtcbiAgICAgIC8vID1cbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgLy8gdmFsdWUgc3RyaW5nXG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYDsgJHtlbnVtTmFtZX1bJHtuYW1lU3RyaW5nQ29kZX1dID0gJHt2YXJpYWJsZU5hbWV9O2ApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAke2VudW1OYW1lfVske25hbWVTdHJpbmdDb2RlfV1gKTtcbiAgICAgIC8vID1cbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgLy8gdmFsdWUgc3RyaW5nXG4gICAgICB0aGlzLnRva2Vucy5jb3B5VG9rZW4oKTtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoXCI7XCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgYW4gZW51bSBtZW1iZXIgaW5pdGlhbGl6ZWQgd2l0aCBhbiBleHByZXNzaW9uIG9uIHRoZSByaWdodC1oYW5kIHNpZGUgKG90aGVyIHRoYW4gYVxuICAgKiBzdHJpbmcgbGl0ZXJhbCkuIEluIHRoZXNlIGNhc2VzLCB3ZSBzaG91bGQgdHJhbnNmb3JtIHRoZSBleHByZXNzaW9uIGFuZCBlbWl0IGNvZGUgdGhhdCBzZXRzIHVwXG4gICAqIGEgcmV2ZXJzZSBtYXBwaW5nLlxuICAgKlxuICAgKiBUaGUgVHlwZVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIG9wZXJhdGlvbiBkaXN0aW5ndWlzaGVzIGJldHdlZW4gZXhwcmVzc2lvbnMgdGhhdCBjYW4gYmVcbiAgICogXCJjb25zdGFudCBmb2xkZWRcIiBhdCBjb21waWxlIHRpbWUgKGkuZS4gY29uc2lzdCBvZiBudW1iZXIgbGl0ZXJhbHMgYW5kIHNpbXBsZSBtYXRoIG9wZXJhdGlvbnNcbiAgICogb24gdGhvc2UgbnVtYmVycykgYW5kIG9uZXMgdGhhdCBhcmUgZHluYW1pYy4gRm9yIGNvbnN0YW50IGV4cHJlc3Npb25zLCBpdCBlbWl0cyB0aGUgcmVzb2x2ZWRcbiAgICogbnVtZXJpYyB2YWx1ZSwgYW5kIGF1dG8taW5jcmVtZW50aW5nIGlzIG9ubHkgYWxsb3dlZCBpbiB0aGF0IGNhc2UuIEV2YWx1YXRpbmcgZXhwcmVzc2lvbnMgYXRcbiAgICogY29tcGlsZSB0aW1lIHdvdWxkIGFkZCBzaWduaWZpY2FudCBjb21wbGV4aXR5IHRvIFN1Y3Jhc2UsIHNvIFN1Y3Jhc2UgaW5zdGVhZCBsZWF2ZXMgdGhlXG4gICAqIGV4cHJlc3Npb24gYXMtaXMsIGFuZCB3aWxsIGxhdGVyIGVtaXQgc29tZXRoaW5nIGxpa2UgYE15RW51bVtcInByZXZpb3VzS2V5XCJdICsgMWAgdG8gaW1wbGVtZW50XG4gICAqIGF1dG8taW5jcmVtZW50aW5nLlxuICAgKlxuICAgKiBUaGlzIGlzIGNhbGxlZCBhZnRlciBkZWxldGluZyB0aGUga2V5IHRva2VuLCB3aGVuIHRoZSB0b2tlbiBwcm9jZXNzb3IgaXMgYXQgdGhlIGVxdWFscyBzaWduLlxuICAgKlxuICAgKiBFeGFtcGxlIDE6XG4gICAqIHNvbWVLZXkgPSAxICsgMVxuICAgKiAtPlxuICAgKiBjb25zdCBzb21lS2V5ID0gMSArIDE7IE15RW51bVtNeUVudW1bXCJzb21lS2V5XCJdID0gc29tZUtleV0gPSBcInNvbWVLZXlcIjtcbiAgICpcbiAgICogRXhhbXBsZSAyOlxuICAgKiBcInNvbWUga2V5XCIgPSAxICsgMVxuICAgKiAtPlxuICAgKiBNeUVudW1bTXlFbnVtW1wic29tZSBrZXlcIl0gPSAxICsgMV0gPSBcInNvbWUga2V5XCI7XG4gICAqL1xuICBwcm9jZXNzRXhwbGljaXRWYWx1ZUVudW1NZW1iZXIoXG4gICAgZW51bU5hbWUsXG4gICAgbmFtZVN0cmluZ0NvZGUsXG4gICAgdmFyaWFibGVOYW1lLFxuICApIHtcbiAgICBjb25zdCByaHNFbmRJbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLnJoc0VuZEluZGV4O1xuICAgIGlmIChyaHNFbmRJbmRleCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCByaHNFbmRJbmRleCBvbiBlbnVtIGFzc2lnbi5cIik7XG4gICAgfVxuXG4gICAgaWYgKHZhcmlhYmxlTmFtZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGBjb25zdCAke3ZhcmlhYmxlTmFtZX1gKTtcbiAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgcmhzRW5kSW5kZXgpIHtcbiAgICAgICAgdGhpcy5yb290VHJhbnNmb3JtZXIucHJvY2Vzc1Rva2VuKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFxuICAgICAgICBgOyAke2VudW1OYW1lfVske2VudW1OYW1lfVske25hbWVTdHJpbmdDb2RlfV0gPSAke3ZhcmlhYmxlTmFtZX1dID0gJHtuYW1lU3RyaW5nQ29kZX07YCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYCR7ZW51bU5hbWV9WyR7ZW51bU5hbWV9WyR7bmFtZVN0cmluZ0NvZGV9XWApO1xuICAgICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCByaHNFbmRJbmRleCkge1xuICAgICAgICB0aGlzLnJvb3RUcmFuc2Zvcm1lci5wcm9jZXNzVG9rZW4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9rZW5zLmFwcGVuZENvZGUoYF0gPSAke25hbWVTdHJpbmdDb2RlfTtgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGFuIGVudW0gbWVtYmVyIHdpdGggbm8gcmlnaHQtaGFuZCBzaWRlIGV4cHJlc3Npb24uIEluIHRoaXMgY2FzZSwgdGhlIHZhbHVlIGlzIHRoZVxuICAgKiBwcmV2aW91cyB2YWx1ZSBwbHVzIDEsIG9yIDAgaWYgdGhlcmUgd2FzIG5vIHByZXZpb3VzIHZhbHVlLiBXZSBzaG91bGQgYWxzbyBhbHdheXMgZW1pdCBhXG4gICAqIHJldmVyc2UgbWFwcGluZy5cbiAgICpcbiAgICogRXhhbXBsZSAxOlxuICAgKiBzb21lS2V5MlxuICAgKiAtPlxuICAgKiBjb25zdCBzb21lS2V5MiA9IHNvbWVLZXkxICsgMTsgTXlFbnVtW015RW51bVtcInNvbWVLZXkyXCJdID0gc29tZUtleTJdID0gXCJzb21lS2V5MlwiO1xuICAgKlxuICAgKiBFeGFtcGxlIDI6XG4gICAqIFwic29tZSBrZXkgMlwiXG4gICAqIC0+XG4gICAqIE15RW51bVtNeUVudW1bXCJzb21lIGtleSAyXCJdID0gc29tZUtleTEgKyAxXSA9IFwic29tZSBrZXkgMlwiO1xuICAgKi9cbiAgcHJvY2Vzc0ltcGxpY2l0VmFsdWVFbnVtTWVtYmVyKFxuICAgIGVudW1OYW1lLFxuICAgIG5hbWVTdHJpbmdDb2RlLFxuICAgIHZhcmlhYmxlTmFtZSxcbiAgICBwcmV2aW91c1ZhbHVlQ29kZSxcbiAgKSB7XG4gICAgbGV0IHZhbHVlQ29kZSA9IHByZXZpb3VzVmFsdWVDb2RlICE9IG51bGwgPyBgJHtwcmV2aW91c1ZhbHVlQ29kZX0gKyAxYCA6IFwiMFwiO1xuICAgIGlmICh2YXJpYWJsZU5hbWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShgY29uc3QgJHt2YXJpYWJsZU5hbWV9ID0gJHt2YWx1ZUNvZGV9OyBgKTtcbiAgICAgIHZhbHVlQ29kZSA9IHZhcmlhYmxlTmFtZTtcbiAgICB9XG4gICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcbiAgICAgIGAke2VudW1OYW1lfVske2VudW1OYW1lfVske25hbWVTdHJpbmdDb2RlfV0gPSAke3ZhbHVlQ29kZX1dID0gJHtuYW1lU3RyaW5nQ29kZX07YCxcbiAgICApO1xuICB9XG59XG4iLCAiXG5cblxuaW1wb3J0IHtDb250ZXh0dWFsS2V5d29yZH0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIva2V5d29yZHNcIjtcbmltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5pbXBvcnQgZ2V0Q2xhc3NJbmZvLCB7fSBmcm9tIFwiLi4vdXRpbC9nZXRDbGFzc0luZm9cIjtcbmltcG9ydCBDSlNJbXBvcnRUcmFuc2Zvcm1lciBmcm9tIFwiLi9DSlNJbXBvcnRUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IEVTTUltcG9ydFRyYW5zZm9ybWVyIGZyb20gXCIuL0VTTUltcG9ydFRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgRmxvd1RyYW5zZm9ybWVyIGZyb20gXCIuL0Zsb3dUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IEplc3RIb2lzdFRyYW5zZm9ybWVyIGZyb20gXCIuL0plc3RIb2lzdFRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgSlNYVHJhbnNmb3JtZXIgZnJvbSBcIi4vSlNYVHJhbnNmb3JtZXJcIjtcbmltcG9ydCBOdW1lcmljU2VwYXJhdG9yVHJhbnNmb3JtZXIgZnJvbSBcIi4vTnVtZXJpY1NlcGFyYXRvclRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgT3B0aW9uYWxDYXRjaEJpbmRpbmdUcmFuc2Zvcm1lciBmcm9tIFwiLi9PcHRpb25hbENhdGNoQmluZGluZ1RyYW5zZm9ybWVyXCI7XG5pbXBvcnQgT3B0aW9uYWxDaGFpbmluZ051bGxpc2hUcmFuc2Zvcm1lciBmcm9tIFwiLi9PcHRpb25hbENoYWluaW5nTnVsbGlzaFRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgUmVhY3REaXNwbGF5TmFtZVRyYW5zZm9ybWVyIGZyb20gXCIuL1JlYWN0RGlzcGxheU5hbWVUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IFJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIgZnJvbSBcIi4vUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lclwiO1xuXG5pbXBvcnQgVHlwZVNjcmlwdFRyYW5zZm9ybWVyIGZyb20gXCIuL1R5cGVTY3JpcHRUcmFuc2Zvcm1lclwiO1xuXG5cblxuXG5cblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvb3RUcmFuc2Zvcm1lciB7XG4gICBfX2luaXQoKSB7dGhpcy50cmFuc2Zvcm1lcnMgPSBbXX1cbiAgXG4gIFxuICAgX19pbml0MigpIHt0aGlzLmdlbmVyYXRlZFZhcmlhYmxlcyA9IFtdfVxuICBcbiAgXG4gIFxuICBcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdWNyYXNlQ29udGV4dCxcbiAgICB0cmFuc2Zvcm1zLFxuICAgIGVuYWJsZUxlZ2FjeUJhYmVsNU1vZHVsZUludGVyb3AsXG4gICAgb3B0aW9ucyxcbiAgKSB7O1Jvb3RUcmFuc2Zvcm1lci5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7Um9vdFRyYW5zZm9ybWVyLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7XG4gICAgdGhpcy5uYW1lTWFuYWdlciA9IHN1Y3Jhc2VDb250ZXh0Lm5hbWVNYW5hZ2VyO1xuICAgIHRoaXMuaGVscGVyTWFuYWdlciA9IHN1Y3Jhc2VDb250ZXh0LmhlbHBlck1hbmFnZXI7XG4gICAgY29uc3Qge3Rva2VuUHJvY2Vzc29yLCBpbXBvcnRQcm9jZXNzb3J9ID0gc3VjcmFzZUNvbnRleHQ7XG4gICAgdGhpcy50b2tlbnMgPSB0b2tlblByb2Nlc3NvcjtcbiAgICB0aGlzLmlzSW1wb3J0c1RyYW5zZm9ybUVuYWJsZWQgPSB0cmFuc2Zvcm1zLmluY2x1ZGVzKFwiaW1wb3J0c1wiKTtcbiAgICB0aGlzLmlzUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1FbmFibGVkID0gdHJhbnNmb3Jtcy5pbmNsdWRlcyhcInJlYWN0LWhvdC1sb2FkZXJcIik7XG4gICAgdGhpcy5kaXNhYmxlRVNUcmFuc2Zvcm1zID0gQm9vbGVhbihvcHRpb25zLmRpc2FibGVFU1RyYW5zZm9ybXMpO1xuXG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVFU1RyYW5zZm9ybXMpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtZXJzLnB1c2goXG4gICAgICAgIG5ldyBPcHRpb25hbENoYWluaW5nTnVsbGlzaFRyYW5zZm9ybWVyKHRva2VuUHJvY2Vzc29yLCB0aGlzLm5hbWVNYW5hZ2VyKSxcbiAgICAgICk7XG4gICAgICB0aGlzLnRyYW5zZm9ybWVycy5wdXNoKG5ldyBOdW1lcmljU2VwYXJhdG9yVHJhbnNmb3JtZXIodG9rZW5Qcm9jZXNzb3IpKTtcbiAgICAgIHRoaXMudHJhbnNmb3JtZXJzLnB1c2gobmV3IE9wdGlvbmFsQ2F0Y2hCaW5kaW5nVHJhbnNmb3JtZXIodG9rZW5Qcm9jZXNzb3IsIHRoaXMubmFtZU1hbmFnZXIpKTtcbiAgICB9XG5cbiAgICBpZiAodHJhbnNmb3Jtcy5pbmNsdWRlcyhcImpzeFwiKSkge1xuICAgICAgaWYgKG9wdGlvbnMuanN4UnVudGltZSAhPT0gXCJwcmVzZXJ2ZVwiKSB7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtZXJzLnB1c2goXG4gICAgICAgICAgbmV3IEpTWFRyYW5zZm9ybWVyKHRoaXMsIHRva2VuUHJvY2Vzc29yLCBpbXBvcnRQcm9jZXNzb3IsIHRoaXMubmFtZU1hbmFnZXIsIG9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy50cmFuc2Zvcm1lcnMucHVzaChcbiAgICAgICAgbmV3IFJlYWN0RGlzcGxheU5hbWVUcmFuc2Zvcm1lcih0aGlzLCB0b2tlblByb2Nlc3NvciwgaW1wb3J0UHJvY2Vzc29yLCBvcHRpb25zKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIgPSBudWxsO1xuICAgIGlmICh0cmFuc2Zvcm1zLmluY2x1ZGVzKFwicmVhY3QtaG90LWxvYWRlclwiKSkge1xuICAgICAgaWYgKCFvcHRpb25zLmZpbGVQYXRoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImZpbGVQYXRoIGlzIHJlcXVpcmVkIHdoZW4gdXNpbmcgdGhlIHJlYWN0LWhvdC1sb2FkZXIgdHJhbnNmb3JtLlwiKTtcbiAgICAgIH1cbiAgICAgIHJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIgPSBuZXcgUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcih0b2tlblByb2Nlc3Nvciwgb3B0aW9ucy5maWxlUGF0aCk7XG4gICAgICB0aGlzLnRyYW5zZm9ybWVycy5wdXNoKHJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIpO1xuICAgIH1cblxuICAgIC8vIE5vdGUgdGhhdCB3ZSBhbHdheXMgd2FudCB0byBlbmFibGUgdGhlIGltcG9ydHMgdHJhbnNmb3JtZXIsIGV2ZW4gd2hlbiB0aGUgaW1wb3J0IHRyYW5zZm9ybVxuICAgIC8vIGl0c2VsZiBpc24ndCBlbmFibGVkLCBzaW5jZSB3ZSBuZWVkIHRvIGRvIHR5cGUtb25seSBpbXBvcnQgcHJ1bmluZyBmb3IgYm90aCBGbG93IGFuZFxuICAgIC8vIFR5cGVTY3JpcHQuXG4gICAgaWYgKHRyYW5zZm9ybXMuaW5jbHVkZXMoXCJpbXBvcnRzXCIpKSB7XG4gICAgICBpZiAoaW1wb3J0UHJvY2Vzc29yID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG5vbi1udWxsIGltcG9ydFByb2Nlc3NvciB3aXRoIGltcG9ydHMgdHJhbnNmb3JtIGVuYWJsZWQuXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy50cmFuc2Zvcm1lcnMucHVzaChcbiAgICAgICAgbmV3IENKU0ltcG9ydFRyYW5zZm9ybWVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdG9rZW5Qcm9jZXNzb3IsXG4gICAgICAgICAgaW1wb3J0UHJvY2Vzc29yLFxuICAgICAgICAgIHRoaXMubmFtZU1hbmFnZXIsXG4gICAgICAgICAgdGhpcy5oZWxwZXJNYW5hZ2VyLFxuICAgICAgICAgIHJlYWN0SG90TG9hZGVyVHJhbnNmb3JtZXIsXG4gICAgICAgICAgZW5hYmxlTGVnYWN5QmFiZWw1TW9kdWxlSW50ZXJvcCxcbiAgICAgICAgICBCb29sZWFuKG9wdGlvbnMuZW5hYmxlTGVnYWN5VHlwZVNjcmlwdE1vZHVsZUludGVyb3ApLFxuICAgICAgICAgIHRyYW5zZm9ybXMuaW5jbHVkZXMoXCJ0eXBlc2NyaXB0XCIpLFxuICAgICAgICAgIHRyYW5zZm9ybXMuaW5jbHVkZXMoXCJmbG93XCIpLFxuICAgICAgICAgIEJvb2xlYW4ob3B0aW9ucy5wcmVzZXJ2ZUR5bmFtaWNJbXBvcnQpLFxuICAgICAgICAgIEJvb2xlYW4ob3B0aW9ucy5rZWVwVW51c2VkSW1wb3J0cyksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybWVycy5wdXNoKFxuICAgICAgICBuZXcgRVNNSW1wb3J0VHJhbnNmb3JtZXIoXG4gICAgICAgICAgdG9rZW5Qcm9jZXNzb3IsXG4gICAgICAgICAgdGhpcy5uYW1lTWFuYWdlcixcbiAgICAgICAgICB0aGlzLmhlbHBlck1hbmFnZXIsXG4gICAgICAgICAgcmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1lcixcbiAgICAgICAgICB0cmFuc2Zvcm1zLmluY2x1ZGVzKFwidHlwZXNjcmlwdFwiKSxcbiAgICAgICAgICB0cmFuc2Zvcm1zLmluY2x1ZGVzKFwiZmxvd1wiKSxcbiAgICAgICAgICBCb29sZWFuKG9wdGlvbnMua2VlcFVudXNlZEltcG9ydHMpLFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0cmFuc2Zvcm1zLmluY2x1ZGVzKFwiZmxvd1wiKSkge1xuICAgICAgdGhpcy50cmFuc2Zvcm1lcnMucHVzaChcbiAgICAgICAgbmV3IEZsb3dUcmFuc2Zvcm1lcih0aGlzLCB0b2tlblByb2Nlc3NvciwgdHJhbnNmb3Jtcy5pbmNsdWRlcyhcImltcG9ydHNcIikpLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRyYW5zZm9ybXMuaW5jbHVkZXMoXCJ0eXBlc2NyaXB0XCIpKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybWVycy5wdXNoKFxuICAgICAgICBuZXcgVHlwZVNjcmlwdFRyYW5zZm9ybWVyKHRoaXMsIHRva2VuUHJvY2Vzc29yLCB0cmFuc2Zvcm1zLmluY2x1ZGVzKFwiaW1wb3J0c1wiKSksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodHJhbnNmb3Jtcy5pbmNsdWRlcyhcImplc3RcIikpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtZXJzLnB1c2goXG4gICAgICAgIG5ldyBKZXN0SG9pc3RUcmFuc2Zvcm1lcih0aGlzLCB0b2tlblByb2Nlc3NvciwgdGhpcy5uYW1lTWFuYWdlciwgaW1wb3J0UHJvY2Vzc29yKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdHJhbnNmb3JtKCkge1xuICAgIHRoaXMudG9rZW5zLnJlc2V0KCk7XG4gICAgdGhpcy5wcm9jZXNzQmFsYW5jZWRDb2RlKCk7XG4gICAgY29uc3Qgc2hvdWxkQWRkVXNlU3RyaWN0ID0gdGhpcy5pc0ltcG9ydHNUcmFuc2Zvcm1FbmFibGVkO1xuICAgIC8vIFwidXNlIHN0cmljdFwiIGFsd2F5cyBuZWVkcyB0byBiZSBmaXJzdCwgc28gb3ZlcnJpZGUgdGhlIG5vcm1hbCB0cmFuc2Zvcm1lciBvcmRlci5cbiAgICBsZXQgcHJlZml4ID0gc2hvdWxkQWRkVXNlU3RyaWN0ID8gJ1widXNlIHN0cmljdFwiOycgOiBcIlwiO1xuICAgIGZvciAoY29uc3QgdHJhbnNmb3JtZXIgb2YgdGhpcy50cmFuc2Zvcm1lcnMpIHtcbiAgICAgIHByZWZpeCArPSB0cmFuc2Zvcm1lci5nZXRQcmVmaXhDb2RlKCk7XG4gICAgfVxuICAgIHByZWZpeCArPSB0aGlzLmhlbHBlck1hbmFnZXIuZW1pdEhlbHBlcnMoKTtcbiAgICBwcmVmaXggKz0gdGhpcy5nZW5lcmF0ZWRWYXJpYWJsZXMubWFwKCh2KSA9PiBgIHZhciAke3Z9O2ApLmpvaW4oXCJcIik7XG4gICAgZm9yIChjb25zdCB0cmFuc2Zvcm1lciBvZiB0aGlzLnRyYW5zZm9ybWVycykge1xuICAgICAgcHJlZml4ICs9IHRyYW5zZm9ybWVyLmdldEhvaXN0ZWRDb2RlKCk7XG4gICAgfVxuICAgIGxldCBzdWZmaXggPSBcIlwiO1xuICAgIGZvciAoY29uc3QgdHJhbnNmb3JtZXIgb2YgdGhpcy50cmFuc2Zvcm1lcnMpIHtcbiAgICAgIHN1ZmZpeCArPSB0cmFuc2Zvcm1lci5nZXRTdWZmaXhDb2RlKCk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9rZW5zLmZpbmlzaCgpO1xuICAgIGxldCB7Y29kZX0gPSByZXN1bHQ7XG4gICAgaWYgKGNvZGUuc3RhcnRzV2l0aChcIiMhXCIpKSB7XG4gICAgICBsZXQgbmV3bGluZUluZGV4ID0gY29kZS5pbmRleE9mKFwiXFxuXCIpO1xuICAgICAgaWYgKG5ld2xpbmVJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgbmV3bGluZUluZGV4ID0gY29kZS5sZW5ndGg7XG4gICAgICAgIGNvZGUgKz0gXCJcXG5cIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvZGU6IGNvZGUuc2xpY2UoMCwgbmV3bGluZUluZGV4ICsgMSkgKyBwcmVmaXggKyBjb2RlLnNsaWNlKG5ld2xpbmVJbmRleCArIDEpICsgc3VmZml4LFxuICAgICAgICAvLyBUaGUgaGFzaGJhbmcgbGluZSBoYXMgbm8gdG9rZW5zLCBzbyBzaGlmdGluZyB0aGUgdG9rZW5zIHRvIGFjY291bnRcbiAgICAgICAgLy8gZm9yIHByZWZpeCBjYW4gaGFwcGVuIG5vcm1hbGx5LlxuICAgICAgICBtYXBwaW5nczogdGhpcy5zaGlmdE1hcHBpbmdzKHJlc3VsdC5tYXBwaW5ncywgcHJlZml4Lmxlbmd0aCksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2RlOiBwcmVmaXggKyBjb2RlICsgc3VmZml4LFxuICAgICAgICBtYXBwaW5nczogdGhpcy5zaGlmdE1hcHBpbmdzKHJlc3VsdC5tYXBwaW5ncywgcHJlZml4Lmxlbmd0aCksXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByb2Nlc3NCYWxhbmNlZENvZGUoKSB7XG4gICAgbGV0IGJyYWNlRGVwdGggPSAwO1xuICAgIGxldCBwYXJlbkRlcHRoID0gMDtcbiAgICB3aGlsZSAoIXRoaXMudG9rZW5zLmlzQXRFbmQoKSkge1xuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlTCkgfHwgdGhpcy50b2tlbnMubWF0Y2hlczEodHQuZG9sbGFyQnJhY2VMKSkge1xuICAgICAgICBicmFjZURlcHRoKys7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNlUikpIHtcbiAgICAgICAgaWYgKGJyYWNlRGVwdGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYnJhY2VEZXB0aC0tO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnBhcmVuTCkpIHtcbiAgICAgICAgcGFyZW5EZXB0aCsrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5wYXJlblIpKSB7XG4gICAgICAgIGlmIChwYXJlbkRlcHRoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHBhcmVuRGVwdGgtLTtcbiAgICAgIH1cbiAgICAgIHRoaXMucHJvY2Vzc1Rva2VuKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzc1Rva2VuKCkge1xuICAgIGlmICh0aGlzLnRva2Vucy5tYXRjaGVzMSh0dC5fY2xhc3MpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NDbGFzcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHRyYW5zZm9ybWVyIG9mIHRoaXMudHJhbnNmb3JtZXJzKSB7XG4gICAgICBjb25zdCB3YXNQcm9jZXNzZWQgPSB0cmFuc2Zvcm1lci5wcm9jZXNzKCk7XG4gICAgICBpZiAod2FzUHJvY2Vzc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50b2tlbnMuY29weVRva2VuKCk7XG4gIH1cblxuICAvKipcbiAgICogU2tpcCBwYXN0IGEgY2xhc3Mgd2l0aCBhIG5hbWUgYW5kIHJldHVybiB0aGF0IG5hbWUuXG4gICAqL1xuICBwcm9jZXNzTmFtZWRDbGFzcygpIHtcbiAgICBpZiAoIXRoaXMudG9rZW5zLm1hdGNoZXMyKHR0Ll9jbGFzcywgdHQubmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGlkZW50aWZpZXIgZm9yIGV4cG9ydGVkIGNsYXNzIG5hbWUuXCIpO1xuICAgIH1cbiAgICBjb25zdCBuYW1lID0gdGhpcy50b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMSk7XG4gICAgdGhpcy5wcm9jZXNzQ2xhc3MoKTtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIHByb2Nlc3NDbGFzcygpIHtcbiAgICBjb25zdCBjbGFzc0luZm8gPSBnZXRDbGFzc0luZm8odGhpcywgdGhpcy50b2tlbnMsIHRoaXMubmFtZU1hbmFnZXIsIHRoaXMuZGlzYWJsZUVTVHJhbnNmb3Jtcyk7XG5cbiAgICAvLyBCb3RoIHN0YXRpYyBhbmQgaW5zdGFuY2UgaW5pdGlhbGl6ZXJzIG5lZWQgYSBjbGFzcyBuYW1lIHRvIHVzZSB0byBpbnZva2UgdGhlIGluaXRpYWxpemVyLCBzb1xuICAgIC8vIGFzc2lnbiB0byBvbmUgaWYgbmVjZXNzYXJ5LlxuICAgIGNvbnN0IG5lZWRzQ29tbWFFeHByZXNzaW9uID1cbiAgICAgIChjbGFzc0luZm8uaGVhZGVySW5mby5pc0V4cHJlc3Npb24gfHwgIWNsYXNzSW5mby5oZWFkZXJJbmZvLmNsYXNzTmFtZSkgJiZcbiAgICAgIGNsYXNzSW5mby5zdGF0aWNJbml0aWFsaXplck5hbWVzLmxlbmd0aCArIGNsYXNzSW5mby5pbnN0YW5jZUluaXRpYWxpemVyTmFtZXMubGVuZ3RoID4gMDtcblxuICAgIGxldCBjbGFzc05hbWUgPSBjbGFzc0luZm8uaGVhZGVySW5mby5jbGFzc05hbWU7XG4gICAgaWYgKG5lZWRzQ29tbWFFeHByZXNzaW9uKSB7XG4gICAgICBjbGFzc05hbWUgPSB0aGlzLm5hbWVNYW5hZ2VyLmNsYWltRnJlZU5hbWUoXCJfY2xhc3NcIik7XG4gICAgICB0aGlzLmdlbmVyYXRlZFZhcmlhYmxlcy5wdXNoKGNsYXNzTmFtZSk7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAgKCR7Y2xhc3NOYW1lfSA9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xhc3NUb2tlbiA9IHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpO1xuICAgIGNvbnN0IGNvbnRleHRJZCA9IGNsYXNzVG9rZW4uY29udGV4dElkO1xuICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgY2xhc3MgdG8gaGF2ZSBhIGNvbnRleHQgSUQuXCIpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5fY2xhc3MpO1xuICAgIHdoaWxlICghdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHRJZEFuZExhYmVsKHR0LmJyYWNlTCwgY29udGV4dElkKSkge1xuICAgICAgdGhpcy5wcm9jZXNzVG9rZW4oKTtcbiAgICB9XG5cbiAgICB0aGlzLnByb2Nlc3NDbGFzc0JvZHkoY2xhc3NJbmZvLCBjbGFzc05hbWUpO1xuXG4gICAgY29uc3Qgc3RhdGljSW5pdGlhbGl6ZXJTdGF0ZW1lbnRzID0gY2xhc3NJbmZvLnN0YXRpY0luaXRpYWxpemVyTmFtZXMubWFwKFxuICAgICAgKG5hbWUpID0+IGAke2NsYXNzTmFtZX0uJHtuYW1lfSgpYCxcbiAgICApO1xuICAgIGlmIChuZWVkc0NvbW1hRXhwcmVzc2lvbikge1xuICAgICAgdGhpcy50b2tlbnMuYXBwZW5kQ29kZShcbiAgICAgICAgYCwgJHtzdGF0aWNJbml0aWFsaXplclN0YXRlbWVudHMubWFwKChzKSA9PiBgJHtzfSwgYCkuam9pbihcIlwiKX0ke2NsYXNzTmFtZX0pYCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChjbGFzc0luZm8uc3RhdGljSW5pdGlhbGl6ZXJOYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGAgJHtzdGF0aWNJbml0aWFsaXplclN0YXRlbWVudHMubWFwKChzKSA9PiBgJHtzfTtgKS5qb2luKFwiIFwiKX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2Ugd2FudCB0byBqdXN0IGhhbmRsZSBjbGFzcyBmaWVsZHMgaW4gYWxsIGNvbnRleHRzLCBzaW5jZSBUeXBlU2NyaXB0IHN1cHBvcnRzIHRoZW0uIExhdGVyLFxuICAgKiB3aGVuIHNvbWUgSlMgaW1wbGVtZW50YXRpb25zIHN1cHBvcnQgY2xhc3MgZmllbGRzLCB0aGlzIHNob3VsZCBiZSBtYWRlIG9wdGlvbmFsLlxuICAgKi9cbiAgcHJvY2Vzc0NsYXNzQm9keShjbGFzc0luZm8sIGNsYXNzTmFtZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGhlYWRlckluZm8sXG4gICAgICBjb25zdHJ1Y3Rvckluc2VydFBvcyxcbiAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgICAgZmllbGRzLFxuICAgICAgaW5zdGFuY2VJbml0aWFsaXplck5hbWVzLFxuICAgICAgcmFuZ2VzVG9SZW1vdmUsXG4gICAgfSA9IGNsYXNzSW5mbztcbiAgICBsZXQgZmllbGRJbmRleCA9IDA7XG4gICAgbGV0IHJhbmdlVG9SZW1vdmVJbmRleCA9IDA7XG4gICAgY29uc3QgY2xhc3NDb250ZXh0SWQgPSB0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKS5jb250ZXh0SWQ7XG4gICAgaWYgKGNsYXNzQ29udGV4dElkID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG5vbi1udWxsIGNvbnRleHQgSUQgb24gY2xhc3MuXCIpO1xuICAgIH1cbiAgICB0aGlzLnRva2Vucy5jb3B5RXhwZWN0ZWRUb2tlbih0dC5icmFjZUwpO1xuICAgIGlmICh0aGlzLmlzUmVhY3RIb3RMb2FkZXJUcmFuc2Zvcm1FbmFibGVkKSB7XG4gICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFxuICAgICAgICBcIl9fcmVhY3RzdGFuZGluX19yZWdlbmVyYXRlQnlFdmFsKGtleSwgY29kZSkge3RoaXNba2V5XSA9IGV2YWwoY29kZSk7fVwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZWVkc0NvbnN0cnVjdG9ySW5pdCA9XG4gICAgICBjb25zdHJ1Y3RvckluaXRpYWxpemVyU3RhdGVtZW50cy5sZW5ndGggKyBpbnN0YW5jZUluaXRpYWxpemVyTmFtZXMubGVuZ3RoID4gMDtcblxuICAgIGlmIChjb25zdHJ1Y3Rvckluc2VydFBvcyA9PT0gbnVsbCAmJiBuZWVkc0NvbnN0cnVjdG9ySW5pdCkge1xuICAgICAgY29uc3QgY29uc3RydWN0b3JJbml0aWFsaXplcnNDb2RlID0gdGhpcy5tYWtlQ29uc3RydWN0b3JJbml0Q29kZShcbiAgICAgICAgY29uc3RydWN0b3JJbml0aWFsaXplclN0YXRlbWVudHMsXG4gICAgICAgIGluc3RhbmNlSW5pdGlhbGl6ZXJOYW1lcyxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKTtcbiAgICAgIGlmIChoZWFkZXJJbmZvLmhhc1N1cGVyY2xhc3MpIHtcbiAgICAgICAgY29uc3QgYXJnc05hbWUgPSB0aGlzLm5hbWVNYW5hZ2VyLmNsYWltRnJlZU5hbWUoXCJhcmdzXCIpO1xuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFxuICAgICAgICAgIGBjb25zdHJ1Y3RvciguLi4ke2FyZ3NOYW1lfSkgeyBzdXBlciguLi4ke2FyZ3NOYW1lfSk7ICR7Y29uc3RydWN0b3JJbml0aWFsaXplcnNDb2RlfTsgfWAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKGBjb25zdHJ1Y3RvcigpIHsgJHtjb25zdHJ1Y3RvckluaXRpYWxpemVyc0NvZGV9OyB9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2hpbGUgKCF0aGlzLnRva2Vucy5tYXRjaGVzQ29udGV4dElkQW5kTGFiZWwodHQuYnJhY2VSLCBjbGFzc0NvbnRleHRJZCkpIHtcbiAgICAgIGlmIChmaWVsZEluZGV4IDwgZmllbGRzLmxlbmd0aCAmJiB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA9PT0gZmllbGRzW2ZpZWxkSW5kZXhdLnN0YXJ0KSB7XG4gICAgICAgIGxldCBuZWVkc0Nsb3NlQnJhY2UgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LmJyYWNrZXRMKSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbldpdGhQcmVmaXgoYCR7ZmllbGRzW2ZpZWxkSW5kZXhdLmluaXRpYWxpemVyTmFtZX0oKSB7dGhpc2ApO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxKHR0LnN0cmluZykgfHwgdGhpcy50b2tlbnMubWF0Y2hlczEodHQubnVtKSkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbldpdGhQcmVmaXgoYCR7ZmllbGRzW2ZpZWxkSW5kZXhdLmluaXRpYWxpemVyTmFtZX0oKSB7dGhpc1tgKTtcbiAgICAgICAgICBuZWVkc0Nsb3NlQnJhY2UgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbldpdGhQcmVmaXgoYCR7ZmllbGRzW2ZpZWxkSW5kZXhdLmluaXRpYWxpemVyTmFtZX0oKSB7dGhpcy5gKTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCBmaWVsZHNbZmllbGRJbmRleF0uZW5kKSB7XG4gICAgICAgICAgaWYgKG5lZWRzQ2xvc2VCcmFjZSAmJiB0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA9PT0gZmllbGRzW2ZpZWxkSW5kZXhdLmVxdWFsc0luZGV4KSB7XG4gICAgICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwiXVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5wcm9jZXNzVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFwifVwiKTtcbiAgICAgICAgZmllbGRJbmRleCsrO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgcmFuZ2VUb1JlbW92ZUluZGV4IDwgcmFuZ2VzVG9SZW1vdmUubGVuZ3RoICYmXG4gICAgICAgIHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpID49IHJhbmdlc1RvUmVtb3ZlW3JhbmdlVG9SZW1vdmVJbmRleF0uc3RhcnRcbiAgICAgICkge1xuICAgICAgICBpZiAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCByYW5nZXNUb1JlbW92ZVtyYW5nZVRvUmVtb3ZlSW5kZXhdLmVuZCkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgICAgICB9XG4gICAgICAgIHdoaWxlICh0aGlzLnRva2Vucy5jdXJyZW50SW5kZXgoKSA8IHJhbmdlc1RvUmVtb3ZlW3JhbmdlVG9SZW1vdmVJbmRleF0uZW5kKSB7XG4gICAgICAgICAgdGhpcy50b2tlbnMucmVtb3ZlVG9rZW4oKTtcbiAgICAgICAgfVxuICAgICAgICByYW5nZVRvUmVtb3ZlSW5kZXgrKztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPT09IGNvbnN0cnVjdG9ySW5zZXJ0UG9zKSB7XG4gICAgICAgIHRoaXMudG9rZW5zLmNvcHlUb2tlbigpO1xuICAgICAgICBpZiAobmVlZHNDb25zdHJ1Y3RvckluaXQpIHtcbiAgICAgICAgICB0aGlzLnRva2Vucy5hcHBlbmRDb2RlKFxuICAgICAgICAgICAgYDske3RoaXMubWFrZUNvbnN0cnVjdG9ySW5pdENvZGUoXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgICAgICAgICAgICBpbnN0YW5jZUluaXRpYWxpemVyTmFtZXMsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICl9O2AsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByb2Nlc3NUb2tlbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzVG9rZW4oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50b2tlbnMuY29weUV4cGVjdGVkVG9rZW4odHQuYnJhY2VSKTtcbiAgfVxuXG4gIG1ha2VDb25zdHJ1Y3RvckluaXRDb2RlKFxuICAgIGNvbnN0cnVjdG9ySW5pdGlhbGl6ZXJTdGF0ZW1lbnRzLFxuICAgIGluc3RhbmNlSW5pdGlhbGl6ZXJOYW1lcyxcbiAgICBjbGFzc05hbWUsXG4gICkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5jb25zdHJ1Y3RvckluaXRpYWxpemVyU3RhdGVtZW50cyxcbiAgICAgIC4uLmluc3RhbmNlSW5pdGlhbGl6ZXJOYW1lcy5tYXAoKG5hbWUpID0+IGAke2NsYXNzTmFtZX0ucHJvdG90eXBlLiR7bmFtZX0uY2FsbCh0aGlzKWApLFxuICAgIF0uam9pbihcIjtcIik7XG4gIH1cblxuICAvKipcbiAgICogTm9ybWFsbHkgaXQncyBvayB0byBzaW1wbHkgcmVtb3ZlIHR5cGUgdG9rZW5zLCBidXQgd2UgbmVlZCB0byBiZSBtb3JlIGNhcmVmdWwgd2hlbiBkZWFsaW5nIHdpdGhcbiAgICogYXJyb3cgZnVuY3Rpb24gcmV0dXJuIHR5cGVzIHNpbmNlIHRoZXkgY2FuIGNvbmZ1c2UgdGhlIHBhcnNlci4gSW4gdGhhdCBjYXNlLCB3ZSB3YW50IHRvIG1vdmVcbiAgICogdGhlIGNsb3NlLXBhcmVuIHRvIHRoZSBzYW1lIGxpbmUgYXMgdGhlIGFycm93LlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2FsYW5ncGllcmNlL3N1Y3Jhc2UvaXNzdWVzLzM5MSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgKi9cbiAgcHJvY2Vzc1Bvc3NpYmxlQXJyb3dQYXJhbUVuZCgpIHtcbiAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczIodHQucGFyZW5SLCB0dC5jb2xvbikgJiYgdGhpcy50b2tlbnMudG9rZW5BdFJlbGF0aXZlSW5kZXgoMSkuaXNUeXBlKSB7XG4gICAgICBsZXQgbmV4dE5vblR5cGVJbmRleCA9IHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpICsgMTtcbiAgICAgIC8vIExvb2sgYWhlYWQgdG8gc2VlIGlmIHRoaXMgaXMgYW4gYXJyb3cgZnVuY3Rpb24gb3Igc29tZXRoaW5nIGVsc2UuXG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMudG9rZW5zW25leHROb25UeXBlSW5kZXhdLmlzVHlwZSkge1xuICAgICAgICBuZXh0Tm9uVHlwZUluZGV4Kys7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy50b2tlbnMubWF0Y2hlczFBdEluZGV4KG5leHROb25UeXBlSW5kZXgsIHR0LmFycm93KSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVJbml0aWFsVG9rZW4oKTtcbiAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRJbmRleCgpIDwgbmV4dE5vblR5cGVJbmRleCkge1xuICAgICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2tlbnMucmVwbGFjZVRva2VuVHJpbW1pbmdMZWZ0V2hpdGVzcGFjZShcIikgPT5cIik7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQW4gYXN5bmMgYXJyb3cgZnVuY3Rpb24gbWlnaHQgYmUgb2YgdGhlIGZvcm06XG4gICAqXG4gICAqIGFzeW5jIDxcbiAgICogICBUXG4gICAqID4oKSA9PiB7fVxuICAgKlxuICAgKiBpbiB3aGljaCBjYXNlLCByZW1vdmluZyB0aGUgdHlwZSBwYXJhbWV0ZXJzIHdpbGwgY2F1c2UgYSBzeW50YXggZXJyb3IuIERldGVjdCB0aGlzIGNhc2UgYW5kXG4gICAqIG1vdmUgdGhlIG9wZW4tcGFyZW4gZWFybGllci5cbiAgICovXG4gIHByb2Nlc3NQb3NzaWJsZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtcygpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy50b2tlbnMubWF0Y2hlc0NvbnRleHR1YWwoQ29udGV4dHVhbEtleXdvcmQuX2FzeW5jKSAmJlxuICAgICAgIXRoaXMudG9rZW5zLm1hdGNoZXMxKHR0Ll9hc3luYylcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgbmV4dFRva2VuID0gdGhpcy50b2tlbnMudG9rZW5BdFJlbGF0aXZlSW5kZXgoMSk7XG4gICAgaWYgKG5leHRUb2tlbi50eXBlICE9PSB0dC5sZXNzVGhhbiB8fCAhbmV4dFRva2VuLmlzVHlwZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGxldCBuZXh0Tm9uVHlwZUluZGV4ID0gdGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgKyAxO1xuICAgIC8vIExvb2sgYWhlYWQgdG8gc2VlIGlmIHRoaXMgaXMgYW4gYXJyb3cgZnVuY3Rpb24gb3Igc29tZXRoaW5nIGVsc2UuXG4gICAgd2hpbGUgKHRoaXMudG9rZW5zLnRva2Vuc1tuZXh0Tm9uVHlwZUluZGV4XS5pc1R5cGUpIHtcbiAgICAgIG5leHROb25UeXBlSW5kZXgrKztcbiAgICB9XG4gICAgaWYgKHRoaXMudG9rZW5zLm1hdGNoZXMxQXRJbmRleChuZXh0Tm9uVHlwZUluZGV4LCB0dC5wYXJlbkwpKSB7XG4gICAgICB0aGlzLnRva2Vucy5yZXBsYWNlVG9rZW4oXCJhc3luYyAoXCIpO1xuICAgICAgdGhpcy50b2tlbnMucmVtb3ZlSW5pdGlhbFRva2VuKCk7XG4gICAgICB3aGlsZSAodGhpcy50b2tlbnMuY3VycmVudEluZGV4KCkgPCBuZXh0Tm9uVHlwZUluZGV4KSB7XG4gICAgICAgIHRoaXMudG9rZW5zLnJlbW92ZVRva2VuKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgLy8gV2UgYXRlIGEgKCB0b2tlbiwgc28gd2UgbmVlZCB0byBwcm9jZXNzIHRoZSB0b2tlbnMgaW4gYmV0d2VlbiBhbmQgdGhlbiB0aGUgKSB0b2tlbiBzbyB0aGF0XG4gICAgICAvLyB3ZSByZW1haW4gYmFsYW5jZWQuXG4gICAgICB0aGlzLnByb2Nlc3NCYWxhbmNlZENvZGUoKTtcbiAgICAgIHRoaXMucHJvY2Vzc1Rva2VuKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvY2Vzc1Bvc3NpYmxlVHlwZVJhbmdlKCkge1xuICAgIGlmICh0aGlzLnRva2Vucy5jdXJyZW50VG9rZW4oKS5pc1R5cGUpIHtcbiAgICAgIHRoaXMudG9rZW5zLnJlbW92ZUluaXRpYWxUb2tlbigpO1xuICAgICAgd2hpbGUgKHRoaXMudG9rZW5zLmN1cnJlbnRUb2tlbigpLmlzVHlwZSkge1xuICAgICAgICB0aGlzLnRva2Vucy5yZW1vdmVUb2tlbigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNoaWZ0TWFwcGluZ3MoXG4gICAgbWFwcGluZ3MsXG4gICAgcHJlZml4TGVuZ3RoLFxuICApIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcHBpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBtYXBwaW5nID0gbWFwcGluZ3NbaV07XG4gICAgICBpZiAobWFwcGluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG1hcHBpbmdzW2ldID0gbWFwcGluZyArIHByZWZpeExlbmd0aDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hcHBpbmdzO1xuICB9XG59XG4iLCAiaW1wb3J0IExpbmVzQW5kQ29sdW1ucyBmcm9tIFwibGluZXMtYW5kLWNvbHVtbnNcIjtcblxuXG5pbXBvcnQge2Zvcm1hdFRva2VuVHlwZX0gZnJvbSBcIi4uL3BhcnNlci90b2tlbml6ZXIvdHlwZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZm9ybWF0VG9rZW5zKGNvZGUsIHRva2Vucykge1xuICBpZiAodG9rZW5zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgY29uc3QgdG9rZW5LZXlzID0gT2JqZWN0LmtleXModG9rZW5zWzBdKS5maWx0ZXIoXG4gICAgKGspID0+IGsgIT09IFwidHlwZVwiICYmIGsgIT09IFwidmFsdWVcIiAmJiBrICE9PSBcInN0YXJ0XCIgJiYgayAhPT0gXCJlbmRcIiAmJiBrICE9PSBcImxvY1wiLFxuICApO1xuICBjb25zdCB0eXBlS2V5cyA9IE9iamVjdC5rZXlzKHRva2Vuc1swXS50eXBlKS5maWx0ZXIoKGspID0+IGsgIT09IFwibGFiZWxcIiAmJiBrICE9PSBcImtleXdvcmRcIik7XG5cbiAgY29uc3QgaGVhZGluZ3MgPSBbXCJMb2NhdGlvblwiLCBcIkxhYmVsXCIsIFwiUmF3XCIsIC4uLnRva2VuS2V5cywgLi4udHlwZUtleXNdO1xuXG4gIGNvbnN0IGxpbmVzID0gbmV3IExpbmVzQW5kQ29sdW1ucyhjb2RlKTtcbiAgY29uc3Qgcm93cyA9IFtoZWFkaW5ncywgLi4udG9rZW5zLm1hcChnZXRUb2tlbkNvbXBvbmVudHMpXTtcbiAgY29uc3QgcGFkZGluZyA9IGhlYWRpbmdzLm1hcCgoKSA9PiAwKTtcbiAgZm9yIChjb25zdCBjb21wb25lbnRzIG9mIHJvd3MpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBvbmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHBhZGRpbmdbaV0gPSBNYXRoLm1heChwYWRkaW5nW2ldLCBjb21wb25lbnRzW2ldLmxlbmd0aCk7XG4gICAgfVxuICB9XG4gIHJldHVybiByb3dzXG4gICAgLm1hcCgoY29tcG9uZW50cykgPT4gY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCwgaSkgPT4gY29tcG9uZW50LnBhZEVuZChwYWRkaW5nW2ldKSkuam9pbihcIiBcIikpXG4gICAgLmpvaW4oXCJcXG5cIik7XG5cbiAgZnVuY3Rpb24gZ2V0VG9rZW5Db21wb25lbnRzKHRva2VuKSB7XG4gICAgY29uc3QgcmF3ID0gY29kZS5zbGljZSh0b2tlbi5zdGFydCwgdG9rZW4uZW5kKTtcbiAgICByZXR1cm4gW1xuICAgICAgZm9ybWF0UmFuZ2UodG9rZW4uc3RhcnQsIHRva2VuLmVuZCksXG4gICAgICBmb3JtYXRUb2tlblR5cGUodG9rZW4udHlwZSksXG4gICAgICB0cnVuY2F0ZShTdHJpbmcocmF3KSwgMTQpLFxuICAgICAgLy8gQHRzLWlnbm9yZTogSW50ZW50aW9uYWwgZHluYW1pYyBhY2Nlc3MgYnkga2V5LlxuICAgICAgLi4udG9rZW5LZXlzLm1hcCgoa2V5KSA9PiBmb3JtYXRWYWx1ZSh0b2tlbltrZXldLCBrZXkpKSxcbiAgICAgIC8vIEB0cy1pZ25vcmU6IEludGVudGlvbmFsIGR5bmFtaWMgYWNjZXNzIGJ5IGtleS5cbiAgICAgIC4uLnR5cGVLZXlzLm1hcCgoa2V5KSA9PiBmb3JtYXRWYWx1ZSh0b2tlbi50eXBlW2tleV0sIGtleSkpLFxuICAgIF07XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBmdW5jdGlvbiBmb3JtYXRWYWx1ZSh2YWx1ZSwga2V5KSB7XG4gICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4ga2V5O1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZm9ybWF0UmFuZ2Uoc3RhcnQsIGVuZCkge1xuICAgIHJldHVybiBgJHtmb3JtYXRQb3Moc3RhcnQpfS0ke2Zvcm1hdFBvcyhlbmQpfWA7XG4gIH1cblxuICBmdW5jdGlvbiBmb3JtYXRQb3MocG9zKSB7XG4gICAgY29uc3QgbG9jYXRpb24gPSBsaW5lcy5sb2NhdGlvbkZvckluZGV4KHBvcyk7XG4gICAgaWYgKCFsb2NhdGlvbikge1xuICAgICAgcmV0dXJuIFwiVW5rbm93blwiO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCR7bG9jYXRpb24ubGluZSArIDF9OiR7bG9jYXRpb24uY29sdW1uICsgMX1gO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0cnVuY2F0ZShzLCBsZW5ndGgpIHtcbiAgaWYgKHMubGVuZ3RoID4gbGVuZ3RoKSB7XG4gICAgcmV0dXJuIGAke3Muc2xpY2UoMCwgbGVuZ3RoIC0gMyl9Li4uYDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcztcbiAgfVxufVxuIiwgImltcG9ydCB7VG9rZW5UeXBlIGFzIHR0fSBmcm9tIFwiLi4vcGFyc2VyL3Rva2VuaXplci90eXBlc1wiO1xuXG5pbXBvcnQgZ2V0SW1wb3J0RXhwb3J0U3BlY2lmaWVySW5mbyBmcm9tIFwiLi9nZXRJbXBvcnRFeHBvcnRTcGVjaWZpZXJJbmZvXCI7XG5cbi8qKlxuICogU3BlY2lhbCBjYXNlIGNvZGUgdG8gc2NhbiBmb3IgaW1wb3J0ZWQgbmFtZXMgaW4gRVNNIFR5cGVTY3JpcHQuIFdlIG5lZWQgdG8gZG8gdGhpcyBzbyB3ZSBjYW5cbiAqIHByb3Blcmx5IGdldCBnbG9iYWxzIHNvIHdlIGNhbiBjb21wdXRlIHNoYWRvd2VkIGdsb2JhbHMuXG4gKlxuICogVGhpcyBpcyBzaW1pbGFyIHRvIGxvZ2ljIGluIENKU0ltcG9ydFByb2Nlc3NvciwgYnV0IHRyaW1tZWQgZG93biB0byBhdm9pZCBsb2dpYyB3aXRoIENKU1xuICogcmVwbGFjZW1lbnQgYW5kIGZsb3cgdHlwZSBpbXBvcnRzLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRUU0ltcG9ydGVkTmFtZXModG9rZW5zKSB7XG4gIGNvbnN0IGltcG9ydGVkTmFtZXMgPSBuZXcgU2V0KCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLnRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChcbiAgICAgIHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaSwgdHQuX2ltcG9ydCkgJiZcbiAgICAgICF0b2tlbnMubWF0Y2hlczNBdEluZGV4KGksIHR0Ll9pbXBvcnQsIHR0Lm5hbWUsIHR0LmVxKVxuICAgICkge1xuICAgICAgY29sbGVjdE5hbWVzRm9ySW1wb3J0KHRva2VucywgaSwgaW1wb3J0ZWROYW1lcyk7XG4gICAgfVxuICB9XG4gIHJldHVybiBpbXBvcnRlZE5hbWVzO1xufVxuXG5mdW5jdGlvbiBjb2xsZWN0TmFtZXNGb3JJbXBvcnQoXG4gIHRva2VucyxcbiAgaW5kZXgsXG4gIGltcG9ydGVkTmFtZXMsXG4pIHtcbiAgaW5kZXgrKztcblxuICBpZiAodG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQucGFyZW5MKSkge1xuICAgIC8vIER5bmFtaWMgaW1wb3J0LCBzbyBub3RoaW5nIHRvIGRvXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0Lm5hbWUpKSB7XG4gICAgaW1wb3J0ZWROYW1lcy5hZGQodG9rZW5zLmlkZW50aWZpZXJOYW1lQXRJbmRleChpbmRleCkpO1xuICAgIGluZGV4Kys7XG4gICAgaWYgKHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LmNvbW1hKSkge1xuICAgICAgaW5kZXgrKztcbiAgICB9XG4gIH1cblxuICBpZiAodG9rZW5zLm1hdGNoZXMxQXRJbmRleChpbmRleCwgdHQuc3RhcikpIHtcbiAgICAvLyAqIGFzXG4gICAgaW5kZXggKz0gMjtcbiAgICBpbXBvcnRlZE5hbWVzLmFkZCh0b2tlbnMuaWRlbnRpZmllck5hbWVBdEluZGV4KGluZGV4KSk7XG4gICAgaW5kZXgrKztcbiAgfVxuXG4gIGlmICh0b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4LCB0dC5icmFjZUwpKSB7XG4gICAgaW5kZXgrKztcbiAgICBjb2xsZWN0TmFtZXNGb3JOYW1lZEltcG9ydCh0b2tlbnMsIGluZGV4LCBpbXBvcnRlZE5hbWVzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb2xsZWN0TmFtZXNGb3JOYW1lZEltcG9ydChcbiAgdG9rZW5zLFxuICBpbmRleCxcbiAgaW1wb3J0ZWROYW1lcyxcbikge1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGlmICh0b2tlbnMubWF0Y2hlczFBdEluZGV4KGluZGV4LCB0dC5icmFjZVIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3BlY2lmaWVySW5mbyA9IGdldEltcG9ydEV4cG9ydFNwZWNpZmllckluZm8odG9rZW5zLCBpbmRleCk7XG4gICAgaW5kZXggPSBzcGVjaWZpZXJJbmZvLmVuZEluZGV4O1xuICAgIGlmICghc3BlY2lmaWVySW5mby5pc1R5cGUpIHtcbiAgICAgIGltcG9ydGVkTmFtZXMuYWRkKHNwZWNpZmllckluZm8ucmlnaHROYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodG9rZW5zLm1hdGNoZXMyQXRJbmRleChpbmRleCwgdHQuY29tbWEsIHR0LmJyYWNlUikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LmJyYWNlUikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRva2Vucy5tYXRjaGVzMUF0SW5kZXgoaW5kZXgsIHR0LmNvbW1hKSkge1xuICAgICAgaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHRva2VuOiAke0pTT04uc3RyaW5naWZ5KHRva2Vucy50b2tlbnNbaW5kZXhdKX1gKTtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgQ0pTSW1wb3J0UHJvY2Vzc29yIGZyb20gXCIuL0NKU0ltcG9ydFByb2Nlc3NvclwiO1xuaW1wb3J0IGNvbXB1dGVTb3VyY2VNYXAsIHt9IGZyb20gXCIuL2NvbXB1dGVTb3VyY2VNYXBcIjtcbmltcG9ydCB7SGVscGVyTWFuYWdlcn0gZnJvbSBcIi4vSGVscGVyTWFuYWdlclwiO1xuaW1wb3J0IGlkZW50aWZ5U2hhZG93ZWRHbG9iYWxzIGZyb20gXCIuL2lkZW50aWZ5U2hhZG93ZWRHbG9iYWxzXCI7XG5pbXBvcnQgTmFtZU1hbmFnZXIgZnJvbSBcIi4vTmFtZU1hbmFnZXJcIjtcbmltcG9ydCB7dmFsaWRhdGVPcHRpb25zfSBmcm9tIFwiLi9PcHRpb25zXCI7XG5cbmltcG9ydCB7cGFyc2V9IGZyb20gXCIuL3BhcnNlclwiO1xuXG5pbXBvcnQgVG9rZW5Qcm9jZXNzb3IgZnJvbSBcIi4vVG9rZW5Qcm9jZXNzb3JcIjtcbmltcG9ydCBSb290VHJhbnNmb3JtZXIgZnJvbSBcIi4vdHJhbnNmb3JtZXJzL1Jvb3RUcmFuc2Zvcm1lclwiO1xuaW1wb3J0IGZvcm1hdFRva2VucyBmcm9tIFwiLi91dGlsL2Zvcm1hdFRva2Vuc1wiO1xuaW1wb3J0IGdldFRTSW1wb3J0ZWROYW1lcyBmcm9tIFwiLi91dGlsL2dldFRTSW1wb3J0ZWROYW1lc1wiO1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb24oKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHJldHVybiBcIjMuMzUuMFwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtKGNvZGUsIG9wdGlvbnMpIHtcbiAgdmFsaWRhdGVPcHRpb25zKG9wdGlvbnMpO1xuICB0cnkge1xuICAgIGNvbnN0IHN1Y3Jhc2VDb250ZXh0ID0gZ2V0U3VjcmFzZUNvbnRleHQoY29kZSwgb3B0aW9ucyk7XG4gICAgY29uc3QgdHJhbnNmb3JtZXIgPSBuZXcgUm9vdFRyYW5zZm9ybWVyKFxuICAgICAgc3VjcmFzZUNvbnRleHQsXG4gICAgICBvcHRpb25zLnRyYW5zZm9ybXMsXG4gICAgICBCb29sZWFuKG9wdGlvbnMuZW5hYmxlTGVnYWN5QmFiZWw1TW9kdWxlSW50ZXJvcCksXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgY29uc3QgdHJhbnNmb3JtZXJSZXN1bHQgPSB0cmFuc2Zvcm1lci50cmFuc2Zvcm0oKTtcbiAgICBsZXQgcmVzdWx0ID0ge2NvZGU6IHRyYW5zZm9ybWVyUmVzdWx0LmNvZGV9O1xuICAgIGlmIChvcHRpb25zLnNvdXJjZU1hcE9wdGlvbnMpIHtcbiAgICAgIGlmICghb3B0aW9ucy5maWxlUGF0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaWxlUGF0aCBtdXN0IGJlIHNwZWNpZmllZCB3aGVuIGdlbmVyYXRpbmcgYSBzb3VyY2UgbWFwLlwiKTtcbiAgICAgIH1cbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICBzb3VyY2VNYXA6IGNvbXB1dGVTb3VyY2VNYXAoXG4gICAgICAgICAgdHJhbnNmb3JtZXJSZXN1bHQsXG4gICAgICAgICAgb3B0aW9ucy5maWxlUGF0aCxcbiAgICAgICAgICBvcHRpb25zLnNvdXJjZU1hcE9wdGlvbnMsXG4gICAgICAgICAgY29kZSxcbiAgICAgICAgICBzdWNyYXNlQ29udGV4dC50b2tlblByb2Nlc3Nvci50b2tlbnMsXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAob3B0aW9ucy5maWxlUGF0aCkge1xuICAgICAgZS5tZXNzYWdlID0gYEVycm9yIHRyYW5zZm9ybWluZyAke29wdGlvbnMuZmlsZVBhdGh9OiAke2UubWVzc2FnZX1gO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzdWNyYXNlIHRva2VucywgbW9zdGx5IHVzZWZ1bCBmb3JcbiAqIGRpYWdub3N0aWMgcHVycG9zZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXR0ZWRUb2tlbnMoY29kZSwgb3B0aW9ucykge1xuICBjb25zdCB0b2tlbnMgPSBnZXRTdWNyYXNlQ29udGV4dChjb2RlLCBvcHRpb25zKS50b2tlblByb2Nlc3Nvci50b2tlbnM7XG4gIHJldHVybiBmb3JtYXRUb2tlbnMoY29kZSwgdG9rZW5zKTtcbn1cblxuLyoqXG4gKiBDYWxsIGludG8gdGhlIHBhcnNlci90b2tlbml6ZXIgYW5kIGRvIHNvbWUgZnVydGhlciBwcmVwcm9jZXNzaW5nOlxuICogLSBDb21lIHVwIHdpdGggYSBzZXQgb2YgdXNlZCBuYW1lcyBzbyB0aGF0IHdlIGNhbiBhc3NpZ24gbmV3IG5hbWVzLlxuICogLSBQcmVwcm9jZXNzIGFsbCBpbXBvcnQvZXhwb3J0IHN0YXRlbWVudHMgc28gd2Uga25vdyB3aGljaCBnbG9iYWxzIHdlIGFyZSBpbnRlcmVzdGVkIGluLlxuICogLSBDb21wdXRlIHNpdHVhdGlvbnMgd2hlcmUgYW55IG9mIHRob3NlIGdsb2JhbHMgYXJlIHNoYWRvd2VkLlxuICpcbiAqIEluIHRoZSBmdXR1cmUsIHNvbWUgb2YgdGhlc2UgcHJlcHJvY2Vzc2luZyBzdGVwcyBjYW4gYmUgc2tpcHBlZCBiYXNlZCBvbiB3aGF0IGFjdHVhbCB3b3JrIGlzXG4gKiBiZWluZyBkb25lLlxuICovXG5mdW5jdGlvbiBnZXRTdWNyYXNlQ29udGV4dChjb2RlLCBvcHRpb25zKSB7XG4gIGNvbnN0IGlzSlNYRW5hYmxlZCA9IG9wdGlvbnMudHJhbnNmb3Jtcy5pbmNsdWRlcyhcImpzeFwiKTtcbiAgY29uc3QgaXNUeXBlU2NyaXB0RW5hYmxlZCA9IG9wdGlvbnMudHJhbnNmb3Jtcy5pbmNsdWRlcyhcInR5cGVzY3JpcHRcIik7XG4gIGNvbnN0IGlzRmxvd0VuYWJsZWQgPSBvcHRpb25zLnRyYW5zZm9ybXMuaW5jbHVkZXMoXCJmbG93XCIpO1xuICBjb25zdCBkaXNhYmxlRVNUcmFuc2Zvcm1zID0gb3B0aW9ucy5kaXNhYmxlRVNUcmFuc2Zvcm1zID09PSB0cnVlO1xuICBjb25zdCBmaWxlID0gcGFyc2UoY29kZSwgaXNKU1hFbmFibGVkLCBpc1R5cGVTY3JpcHRFbmFibGVkLCBpc0Zsb3dFbmFibGVkKTtcbiAgY29uc3QgdG9rZW5zID0gZmlsZS50b2tlbnM7XG4gIGNvbnN0IHNjb3BlcyA9IGZpbGUuc2NvcGVzO1xuXG4gIGNvbnN0IG5hbWVNYW5hZ2VyID0gbmV3IE5hbWVNYW5hZ2VyKGNvZGUsIHRva2Vucyk7XG4gIGNvbnN0IGhlbHBlck1hbmFnZXIgPSBuZXcgSGVscGVyTWFuYWdlcihuYW1lTWFuYWdlcik7XG4gIGNvbnN0IHRva2VuUHJvY2Vzc29yID0gbmV3IFRva2VuUHJvY2Vzc29yKFxuICAgIGNvZGUsXG4gICAgdG9rZW5zLFxuICAgIGlzRmxvd0VuYWJsZWQsXG4gICAgZGlzYWJsZUVTVHJhbnNmb3JtcyxcbiAgICBoZWxwZXJNYW5hZ2VyLFxuICApO1xuICBjb25zdCBlbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcCA9IEJvb2xlYW4ob3B0aW9ucy5lbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcCk7XG5cbiAgbGV0IGltcG9ydFByb2Nlc3NvciA9IG51bGw7XG4gIGlmIChvcHRpb25zLnRyYW5zZm9ybXMuaW5jbHVkZXMoXCJpbXBvcnRzXCIpKSB7XG4gICAgaW1wb3J0UHJvY2Vzc29yID0gbmV3IENKU0ltcG9ydFByb2Nlc3NvcihcbiAgICAgIG5hbWVNYW5hZ2VyLFxuICAgICAgdG9rZW5Qcm9jZXNzb3IsXG4gICAgICBlbmFibGVMZWdhY3lUeXBlU2NyaXB0TW9kdWxlSW50ZXJvcCxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBvcHRpb25zLnRyYW5zZm9ybXMuaW5jbHVkZXMoXCJ0eXBlc2NyaXB0XCIpLFxuICAgICAgQm9vbGVhbihvcHRpb25zLmtlZXBVbnVzZWRJbXBvcnRzKSxcbiAgICAgIGhlbHBlck1hbmFnZXIsXG4gICAgKTtcbiAgICBpbXBvcnRQcm9jZXNzb3IucHJlcHJvY2Vzc1Rva2VucygpO1xuICAgIC8vIFdlIG5lZWQgdG8gbWFyayBzaGFkb3dlZCBnbG9iYWxzIGFmdGVyIHByb2Nlc3NpbmcgaW1wb3J0cyBzbyB3ZSBrbm93IHRoYXQgdGhlIGdsb2JhbHMgYXJlLFxuICAgIC8vIGJ1dCBiZWZvcmUgdHlwZS1vbmx5IGltcG9ydCBwcnVuaW5nLCBzaW5jZSB0aGF0IHJlbGllcyBvbiBzaGFkb3dpbmcgaW5mb3JtYXRpb24uXG4gICAgaWRlbnRpZnlTaGFkb3dlZEdsb2JhbHModG9rZW5Qcm9jZXNzb3IsIHNjb3BlcywgaW1wb3J0UHJvY2Vzc29yLmdldEdsb2JhbE5hbWVzKCkpO1xuICAgIGlmIChvcHRpb25zLnRyYW5zZm9ybXMuaW5jbHVkZXMoXCJ0eXBlc2NyaXB0XCIpICYmICFvcHRpb25zLmtlZXBVbnVzZWRJbXBvcnRzKSB7XG4gICAgICBpbXBvcnRQcm9jZXNzb3IucHJ1bmVUeXBlT25seUltcG9ydHMoKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAob3B0aW9ucy50cmFuc2Zvcm1zLmluY2x1ZGVzKFwidHlwZXNjcmlwdFwiKSAmJiAhb3B0aW9ucy5rZWVwVW51c2VkSW1wb3J0cykge1xuICAgIC8vIFNoYWRvd2VkIGdsb2JhbCBkZXRlY3Rpb24gaXMgbmVlZGVkIGZvciBUUyBpbXBsaWNpdCBlbGlzaW9uIG9mIGltcG9ydGVkIG5hbWVzLlxuICAgIGlkZW50aWZ5U2hhZG93ZWRHbG9iYWxzKHRva2VuUHJvY2Vzc29yLCBzY29wZXMsIGdldFRTSW1wb3J0ZWROYW1lcyh0b2tlblByb2Nlc3NvcikpO1xuICB9XG4gIHJldHVybiB7dG9rZW5Qcm9jZXNzb3IsIHNjb3BlcywgbmFtZU1hbmFnZXIsIGltcG9ydFByb2Nlc3NvciwgaGVscGVyTWFuYWdlcn07XG59XG4iLCAiLy8hIFV0aWxpdGllcyBmb3IgcnVubmluZyBqYXZhc2NyaXB0LlxuXG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tIFwic3VjcmFzZVwiO1xuXG5leHBvcnQgdHlwZSBTY3JpcHRMYW5ndWFnZSA9IFwianNcIiB8IFwidHNcIiB8IFwianN4XCIgfCBcInRzeFwiO1xuXG4vKiogQ29udmVydHMgYSByYXcgc2NyaXB0IGluIHRoZSBnaXZlbiBsYW5ndWFnZSB0byBwbGFpbiBqYXZhc2NyaXB0LiAgKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc3BpbGUoc2NyaXB0OiBzdHJpbmcsIGxhbmd1YWdlOiBTY3JpcHRMYW5ndWFnZSk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChsYW5ndWFnZSkge1xuICAgICAgICBjYXNlIFwianNcIjpcbiAgICAgICAgICAgIHJldHVybiBzY3JpcHQ7XG4gICAgICAgIGNhc2UgXCJqc3hcIjpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0oc2NyaXB0LCB7IHRyYW5zZm9ybXM6IFtcImpzeFwiXSwganN4UHJhZ21hOiBcImhcIiwganN4RnJhZ21lbnRQcmFnbWE6IFwiRnJhZ21lbnRcIiB9KS5jb2RlO1xuICAgICAgICBjYXNlIFwidHNcIjpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0oc2NyaXB0LCB7IHRyYW5zZm9ybXM6IFtcInR5cGVzY3JpcHRcIl0gfSkuY29kZTtcbiAgICAgICAgY2FzZSBcInRzeFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybShzY3JpcHQsIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1zOiBbXCJ0eXBlc2NyaXB0XCIsIFwianN4XCJdLFxuICAgICAgICAgICAgICAgIGpzeFByYWdtYTogXCJoXCIsXG4gICAgICAgICAgICAgICAganN4RnJhZ21lbnRQcmFnbWE6IFwiRnJhZ21lbnRcIixcbiAgICAgICAgICAgIH0pLmNvZGU7XG4gICAgfVxufVxuXG4vKipcbiAqIEV2YWx1YXRlIGEgc2NyaXB0IHdoZXJlICd0aGlzJyBmb3IgdGhlIHNjcmlwdCBpcyBzZXQgdG8gdGhlIGdpdmVuIGNvbnRleHQuIEFsbG93cyB5b3UgdG8gZGVmaW5lIGdsb2JhbCB2YXJpYWJsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBldmFsSW5Db250ZXh0KHNjcmlwdDogc3RyaW5nLCB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBhbnkge1xuICAgIGNvbnN0IHBhaXJzID0gT2JqZWN0LmVudHJpZXModmFyaWFibGVzKTtcbiAgICBjb25zdCBrZXlzID0gcGFpcnMubWFwKChba2V5LCBfXSkgPT4ga2V5KTtcbiAgICBjb25zdCB2YWx1ZXMgPSBwYWlycy5tYXAoKFtfLCB2YWx1ZV0pID0+IHZhbHVlKTtcblxuICAgIHJldHVybiBuZXcgRnVuY3Rpb24oLi4ua2V5cywgc2NyaXB0KSguLi52YWx1ZXMpO1xufVxuXG4vKipcbiAqIEV2YWx1YXRlIGEgc2NyaXB0IHBvc3NpYmx5IGFzeW5jaHJvbm91c2x5LCBpZiB0aGUgc2NyaXB0IGNvbnRhaW5zIGBhc3luYy9hd2FpdGAgYmxvY2tzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNFdmFsSW5Db250ZXh0KHNjcmlwdDogc3RyaW5nLCB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPGFueT4ge1xuICAgIGlmIChzY3JpcHQuaW5jbHVkZXMoXCJhd2FpdFwiKSkge1xuICAgICAgICByZXR1cm4gZXZhbEluQ29udGV4dChcInJldHVybiAoYXN5bmMgKCkgPT4geyBcIiArIHNjcmlwdCArIFwiIH0pKClcIiwgdmFyaWFibGVzKSBhcyBQcm9taXNlPGFueT47XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShldmFsSW5Db250ZXh0KHNjcmlwdCwgdmFyaWFibGVzKSk7XG4gICAgfVxufVxuIiwgIi8qKiBAbW9kdWxlIHVpICovXG5pbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IEluZGV4UXVlcnkgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXgtcXVlcnlcIjtcbmltcG9ydCB7IEluZGV4YWJsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tIFwiaW5kZXgvZGF0YXN0b3JlXCI7XG5pbXBvcnQgeyBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCJhcGkvcmVzdWx0XCI7XG5cbi8qKiBIb29rIHRoYXQgdXBkYXRlcyB0aGUgdmlldyB3aGVuZXZlciB0aGUgcmV2aXNpb24gdXBkYXRlcywgcmV0dXJuaW5nIHRoZSBuZXdlc3QgcmV2aXNpb24uXG4gKiBAZ3JvdXAgSG9va3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUluZGV4VXBkYXRlcyhkYXRhY29yZTogRGF0YWNvcmUsIHNldHRpbmdzPzogeyBkZWJvdW5jZT86IG51bWJlciB9KTogbnVtYmVyIHtcbiAgICBjb25zdCBbcmV2aXNpb24sIHNldFJldmlzaW9uXSA9IHVzZVN0YXRlKGRhdGFjb3JlLmRhdGFzdG9yZS5yZXZpc2lvbik7XG4gICAgY29uc3QgZGVib3VuY2VkUmV2aXNpb24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHNldHRpbmdzPy5kZWJvdW5jZSAmJiBzZXR0aW5ncy5kZWJvdW5jZSA9PSAwKSByZXR1cm4gc2V0UmV2aXNpb247XG4gICAgICAgIGVsc2UgcmV0dXJuIGRlYm91bmNlKHNldFJldmlzaW9uLCBzZXR0aW5ncz8uZGVib3VuY2UgPz8gNTAwKTtcbiAgICB9LCBbc2V0UmV2aXNpb24sIHNldHRpbmdzPy5kZWJvdW5jZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcmVmID0gZGF0YWNvcmUub24oXCJ1cGRhdGVcIiwgZGVib3VuY2VkUmV2aXNpb24pO1xuICAgICAgICByZXR1cm4gKCkgPT4gZGF0YWNvcmUub2ZmcmVmKHJlZik7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIHJldmlzaW9uO1xufVxuXG4vKiogQSBob29rIHdoaWNoIHVwZGF0ZXMgd2hlbmV2ZXIgZmlsZSBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmaWxlIHVwZGF0ZXMuXG4gKiBAZ3JvdXAgSG9va3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUZpbGVNZXRhZGF0YShcbiAgICBkYXRhY29yZTogRGF0YWNvcmUsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHNldHRpbmdzPzogeyBkZWJvdW5jZT86IG51bWJlciB9XG4pOiBJbmRleGFibGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGluZGV4UmV2aXNpb24gPSB1c2VJbmRleFVwZGF0ZXMoZGF0YWNvcmUsIHNldHRpbmdzKTtcblxuICAgIC8vIFRPRE86IEkgdGhpbmsgbG9hZCByZXR1cm5zIGNvbnNpc3RlbnQgb2JqZWN0cyBzbyBpdCBzaG91bGQgYmUgb2theS5cbiAgICByZXR1cm4gdXNlTWVtbygoKSA9PiBkYXRhY29yZS5kYXRhc3RvcmUubG9hZChwYXRoKSwgW2luZGV4UmV2aXNpb24sIHBhdGhdKTtcbn1cblxuLyoqIFNldHRpbmdzIHdoaWNoIGNvbnRyb2wgaG93IGF1dG9tYXRpYyBxdWVyeSByZWxvYWRpbmcgc2hvdWxkIHdvcmsuXG4gKiBAZ3JvdXAgQ29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlUXVlcnlTZXR0aW5ncyB7XG4gICAgLyoqXG4gICAgICogSWYgcHJlc2VudCwgZGVib3VuY2UgcmVwZWF0ZWQgcXVlcnkgdXBkYXRlcyBzbyB0aGF0IGFuIHVwZGF0ZSBvbmx5IG9jY3VycyBldmVyeSBcXDxkZWJvdW5jZVxcPiBtaWxsaXNlY29uZHMuIFRoaXNcbiAgICAgKiBkZWZhdWx0cyB0byB0aGUgb3ZlcmFsbCBkZWZhdWx0IGRlYm91bmNlIHNldHRpbmdzLlxuICAgICAqL1xuICAgIGRlYm91bmNlPzogbnVtYmVyO1xufVxuXG4vKiogUGVyZm9ybSBhIGxpdmUsIHN5bmNocm9ub3VzIHF1ZXJ5IHdoaWNoIHVwZGF0ZXMgaXRzIHJlc3VsdHMgd2hlbmV2ZXIgdGhlIGJhY2tpbmcgcXVlcnkgd291bGQgY2hhbmdlLlxuICpcbiAqIEBncm91cCBIb29rc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHJ5VXNlRnVsbFF1ZXJ5KFxuICAgIGRhdGFjb3JlOiBEYXRhY29yZSxcbiAgICBxdWVyeTogSW5kZXhRdWVyeSxcbiAgICBzZXR0aW5ncz86IFVzZVF1ZXJ5U2V0dGluZ3Ncbik6IFJlc3VsdDxTZWFyY2hSZXN1bHQ8SW5kZXhhYmxlPiwgc3RyaW5nPiB7XG4gICAgLy8gVHJhY2sgaW5kZXggdXBkYXRlcyB3aXRoIGN1c3RvbWl6YWJsZSBkZWJvdW5jaW5nLlxuICAgIGNvbnN0IGluZGV4UmV2aXNpb24gPSB1c2VJbmRleFVwZGF0ZXMoZGF0YWNvcmUsIHNldHRpbmdzKTtcblxuICAgIC8vIFdlIFwiaW50ZXJuXCIgdGhlIHF1ZXJ5LCBtZWFuaW5nIHdlIHJldXNlIHRoZSBvbGRlc3QgdmVyc2lvbiBpZiBpdCBpcyBzZW1hbnRpY2FsbHkgZXF1YWwgYnV0IGp1c3QgYSBkaWZmZXJlbnQgb2JqZWN0LlxuICAgIGNvbnN0IGludGVybmVkUXVlcnkgPSB1c2VJbnRlcm5pbmcocXVlcnksIExpdGVyYWxzLmVxdWFscyk7XG4gICAgLy8gSW50ZXJuIHRoZSBvdXRwdXQgYXMgd2VsbCBzbyByZWFjdCBkaWZmaW5nIFwianVzdCB3b3Jrc1wiIHdpdGggdGhlIHJlc3VsdCBvZiB1c2VRdWVyeS5cbiAgICBjb25zdCBpbnRlcm5lZFJlc3VsdCA9IHVzZVJlZjxSZXN1bHQ8U2VhcmNoUmVzdWx0PEluZGV4YWJsZT4sIHN0cmluZz4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICAvLyBPbiBldmVyeSBpbmRleCByZXZpc2lvbiB1cGRhdGUsIHJlLXJ1biB0aGUgcXVlcnkgYW5kIGNoZWNrIGlmIGl0IHByb2R1Y2VkIG1lYW5pbmdmdWxseSBuZXcgdmFsdWVzLlxuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgbmV3UmVzdWx0ID0gZGF0YWNvcmUuZGF0YXN0b3JlLnNlYXJjaChxdWVyeSk7XG5cbiAgICAgICAgLy8gU2V0IGZhaWx1cmUgaWYgdGhlIG5ldyByZXF1ZXN0IGlzIGEgZmFpbHVyZS5cbiAgICAgICAgaWYgKCFuZXdSZXN1bHQuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgaW50ZXJuZWRSZXN1bHQuY3VycmVudCA9IFJlc3VsdC5mYWlsdXJlKG5ld1Jlc3VsdC5lcnJvcik7XG4gICAgICAgICAgICByZXR1cm4gaW50ZXJuZWRSZXN1bHQuY3VycmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGN1cnJlbnQgaW50ZXJuZWQgc3RhdGUsIHVwZGF0ZSBpdCBhbmQgcmV0dXJuLlxuICAgICAgICBpZiAoaW50ZXJuZWRSZXN1bHQuY3VycmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpbnRlcm5lZFJlc3VsdC5jdXJyZW50ID0gUmVzdWx0LnN1Y2Nlc3MobmV3UmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBpbnRlcm5lZFJlc3VsdC5jdXJyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgdGhlIG5ldyByZXF1ZXN0IGlzIGlzIHN1Y2Nlc3NmdWwgYW5kIHRoZSBvbGQgcmVzdWx0IGlzIGRlZmluZWQuIElmIHRoZSBvbGQgcmVzdWx0IHdhcyBhbiBlcnJvciwgdXBkYXRlIGl0LlxuICAgICAgICBjb25zdCBvbGRSZXN1bHQgPSBpbnRlcm5lZFJlc3VsdC5jdXJyZW50O1xuICAgICAgICBpZiAoIW9sZFJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICBpbnRlcm5lZFJlc3VsdC5jdXJyZW50ID0gUmVzdWx0LnN1Y2Nlc3MobmV3UmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBpbnRlcm5lZFJlc3VsdC5jdXJyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQm90aCBhcmUgc3VjY2Vzc2Z1bCwgY2hlY2sgaWYgdGhleSBhcmUgZGlmZmVyZW50LlxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBvbGRSZXN1bHQudmFsdWUucmV2aXNpb24gIT0gbmV3UmVzdWx0LnZhbHVlLnJldmlzaW9uIHx8XG4gICAgICAgICAgICAhc2FtZU9iamVjdHMob2xkUmVzdWx0LnZhbHVlLnJlc3VsdHMsIG5ld1Jlc3VsdC52YWx1ZS5yZXN1bHRzKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAoaW50ZXJuZWRSZXN1bHQuY3VycmVudCA9IFJlc3VsdC5zdWNjZXNzKG5ld1Jlc3VsdC52YWx1ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2FtZSByZXZpc2lvbiBhbmQgc2FtZSBvYmplY3RzLCB0aGlzIGlzIHRoZSBzYW1lIHF1ZXJ5IHJlc3VsdCwgc28gcmV0dXJuIHRoZSBvbGQgb2JqZWN0LlxuICAgICAgICByZXR1cm4gaW50ZXJuZWRSZXN1bHQuY3VycmVudDtcbiAgICB9LCBbaW50ZXJuZWRRdWVyeSwgaW5kZXhSZXZpc2lvbl0pO1xufVxuXG4vKiogUGVyZm9ybSBhIGxpdmUsIHN5bmNocm9ub3VzIHF1ZXJ5IHdoaWNoIHVwZGF0ZXMgaXRzIHJlc3VsdHMgd2hlbmV2ZXIgdGhlIGJhY2tpbmcgcXVlcnkgd291bGQgY2hhbmdlLlxuICpcbiAqIEBncm91cCBIb29rc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRnVsbFF1ZXJ5KFxuICAgIGRhdGFjb3JlOiBEYXRhY29yZSxcbiAgICBxdWVyeTogSW5kZXhRdWVyeSxcbiAgICBzZXR0aW5ncz86IFVzZVF1ZXJ5U2V0dGluZ3Ncbik6IFNlYXJjaFJlc3VsdDxJbmRleGFibGU+IHtcbiAgICByZXR1cm4gdHJ5VXNlRnVsbFF1ZXJ5KGRhdGFjb3JlLCBxdWVyeSwgc2V0dGluZ3MpLm9yRWxzZVRocm93KChlKSA9PiBcIkZhaWxlZCB0byBzZWFyY2g6IFwiICsgZSk7XG59XG5cbi8qKiBTaW1wbGllciB2ZXJzaW9uIG9mIHVzZUZ1bGxRdWVyeSB3aGljaCBqdXN0IGRpcmVjdGx5IHJldHVybnMgcmVzdWx0cy5cbiAqXG4gKiBAZ3JvdXAgSG9va3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyeVVzZVF1ZXJ5KFxuICAgIGRhdGFjb3JlOiBEYXRhY29yZSxcbiAgICBxdWVyeTogSW5kZXhRdWVyeSxcbiAgICBzZXR0aW5ncz86IFVzZVF1ZXJ5U2V0dGluZ3Ncbik6IFJlc3VsdDxJbmRleGFibGVbXSwgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRyeVVzZUZ1bGxRdWVyeShkYXRhY29yZSwgcXVlcnksIHNldHRpbmdzKS5tYXAoKHJlc3VsdCkgPT4gcmVzdWx0LnJlc3VsdHMpO1xufVxuXG4vKiogU2ltcGxpZXIgdmVyc2lvbiBvZiB1c2VGdWxsUXVlcnkgd2hpY2gganVzdCBkaXJlY3RseSByZXR1cm5zIHJlc3VsdHMuXG4gKlxuICogQGdyb3VwIEhvb2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VRdWVyeShkYXRhY29yZTogRGF0YWNvcmUsIHF1ZXJ5OiBJbmRleFF1ZXJ5LCBzZXR0aW5ncz86IFVzZVF1ZXJ5U2V0dGluZ3MpOiBJbmRleGFibGVbXSB7XG4gICAgcmV0dXJuIHVzZUZ1bGxRdWVyeShkYXRhY29yZSwgcXVlcnksIHNldHRpbmdzKS5yZXN1bHRzO1xufVxuXG4vKiogRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHNldHMgb2Ygb2JqZWN0cyBhcmUgdGhlIHNhbWUuIE9ubHkgdXNlcyByZXZpc2lvbiBjb21wYXJpc29uIGZvciBwZXJmb3JtYW5jZS5cbiAqXG4gKiBAaGlkZGVuXG4gKi9cbmZ1bmN0aW9uIHNhbWVPYmplY3RzKG9sZDogSW5kZXhhYmxlW10sIGluY29taW5nOiBJbmRleGFibGVbXSkge1xuICAgIGlmIChvbGQubGVuZ3RoICE9IGluY29taW5nLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3Qgb2xkczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuICAgIGZvciAoY29uc3QgaW5kZXhhYmxlIG9mIG9sZCkge1xuICAgICAgICBvbGRzW2luZGV4YWJsZS4kaWRdID0gaW5kZXhhYmxlLiRyZXZpc2lvbiE7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBpbmRleGFibGUgb2YgaW5jb21pbmcpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBvbGRzW2luZGV4YWJsZS4kaWRdO1xuICAgICAgICBpZiAodmFsdWUgPT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICh2YWx1ZSAhPSBpbmRleGFibGUuJHJldmlzaW9uKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogXCJJbnRlcm5zXCIgdGhlIGluY29taW5nIHZhbHVlLCByZXR1cm5pbmcgdGhlIG9sZGVzdCBlcXVhbCBpbnN0YW5jZS4gVGhpcyBpcyBhIHRyaWNrIHRvIGltcHJvdmUgUmVhY3QgZGlmZmluZ1xuICogIGJlaGF2aW9yLCBhcyB0d28gb2JqZWN0cyB3aGljaCBhcmUgZXF1YWxzIHZpYSBlcXVhbGl0eShhLCBiKSB3aWxsIHJldHVybiB0aGUgc2FtZSBvYmplY3QgcmVmZXJlbmNlIGFmdGVyIGJlaW5nXG4gKiAgaW50ZXJuZWQuXG4gKlxuICogQGdyb3VwIEhvb2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VJbnRlcm5pbmc8VD4odmFsdWU6IFQsIGVxdWFsaXR5OiAoYTogVCwgYjogVCkgPT4gYm9vbGVhbik6IFQge1xuICAgIGNvbnN0IHJlZiA9IHVzZVJlZjxUPigpO1xuXG4gICAgaWYgKHJlZi5jdXJyZW50ID09PSB1bmRlZmluZWQgfHwgIWVxdWFsaXR5KHJlZi5jdXJyZW50LCB2YWx1ZSkpIHtcbiAgICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVmLmN1cnJlbnQ7XG59XG5cbi8qKiBVc2UgYSBzdGFibGUgY2FsbGJhY2sgd2hpY2ggaGlkZXMgbXV0YWJsZSBzdGF0ZSBiZWhpbmQgYSBzdGFibGUgcmVmZXJlbmNlLlxuICpcbiAqIEBncm91cCBIb29rc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlU3RhYmxlQ2FsbGJhY2s8VD4oY2FsbGJhY2s6IFQsIGRlcHM6IGFueVtdKTogVCB7XG4gICAgY29uc3QgcmVmID0gdXNlUmVmPFQ+KCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICByZWYuY3VycmVudCA9IGNhbGxiYWNrO1xuICAgIH0sIFtjYWxsYmFjaywgLi4uZGVwc10pO1xuXG4gICAgcmV0dXJuIHVzZUNhbGxiYWNrKFxuICAgICAgICAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICAgIChyZWYuY3VycmVudCBhcyBhbnkpKC4uLmFyZ3MpO1xuICAgICAgICB9LFxuICAgICAgICBbcmVmXVxuICAgICkgYXMgVDtcbn1cblxuY29uc3QgTk9fT1BfVVBEQVRFID0gKHg6IGFueSkgPT4ge307XG5cbi8qKiBVc2Ugc3RhdGUgdGhhdCB3aWxsIGRlZmF1bHQgdG8gYW4gZXh0ZXJuYWwgY29udHJvbGxlZCB2YWx1ZSBpZiBzZXQ7IG90aGVyd2lzZSwgd2lsbCB0cmFjayBhbiBpbnRlcm5hbCB2YWx1ZS5cbiAqXG4gKiBAZ3JvdXAgSG9va3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNvbnRyb2xsZWRTdGF0ZTxUPihcbiAgICBpbml0aWFsU3RhdGU6IFQsXG4gICAgb3ZlcnJpZGU/OiBULFxuICAgIHVwZGF0ZT86ICh2YWx1ZTogVCkgPT4gdm9pZFxuKTogW1QsICh2YWx1ZTogVCkgPT4gdm9pZF0ge1xuICAgIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gdXNlU3RhdGUob3ZlcnJpZGUgPz8gaW5pdGlhbFN0YXRlKTtcbiAgICBpZiAob3ZlcnJpZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoc3RhdGUgIT0gb3ZlcnJpZGUpIHNldFN0YXRlKG92ZXJyaWRlKTtcblxuICAgICAgICByZXR1cm4gW292ZXJyaWRlLCB1cGRhdGUgPz8gTk9fT1BfVVBEQVRFXTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXRTdGF0ZVdpdGhVcGRhdGUgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKHZhbHVlOiBUKSA9PiB7XG4gICAgICAgICAgICBzZXRTdGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAodXBkYXRlKSB1cGRhdGUodmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBbc2V0U3RhdGUsIHVwZGF0ZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIFtzdGF0ZSwgc2V0U3RhdGVXaXRoVXBkYXRlXTtcbn1cbiIsICJpbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicHJlYWN0L2NvbXBhdFwiO1xuaW1wb3J0IHsgdXNlSW5kZXhVcGRhdGVzIH0gZnJvbSBcIi4vaG9va3NcIjtcbmltcG9ydCB7IExpdGVyYWwgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBWTm9kZSwgY3JlYXRlRWxlbWVudCwgaXNWYWxpZEVsZW1lbnQgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIExpdCB9IGZyb20gXCIuL21hcmtkb3duXCI7XG5cbmltcG9ydCBcIi4vZXJyb3JzLmNzc1wiO1xuXG5mdW5jdGlvbiBMb2FkaW5nUHJvZ3Jlc3MoeyBkYXRhY29yZSB9OiB7IGRhdGFjb3JlOiBEYXRhY29yZSB9KSB7XG4gICAgdXNlSW5kZXhVcGRhdGVzKGRhdGFjb3JlLCB7IGRlYm91bmNlOiAyNTAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8cD5cbiAgICAgICAgICAgIHtkYXRhY29yZS5pbml0aWFsaXplcj8uaW5pdGlhbGl6ZWQgPz8gMH0gLyB7ZGF0YWNvcmUuaW5pdGlhbGl6ZXI/LnRhcmdldFRvdGFsID8/IDB9XG4gICAgICAgIDwvcD5cbiAgICApO1xufVxuXG4vKiogTG9hZGluZyBib3VuZGFyeSB3aGljaCBzaG93cyBhIGxvYWRpbmcgc2NyZWVuIHdoaWxlIERhdGFjb3JlIGlzIGluaXRpYWxpemluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMb2FkaW5nQm91bmRhcnkoeyBjaGlsZHJlbiwgZGF0YWNvcmUgfTogUHJvcHNXaXRoQ2hpbGRyZW48eyBkYXRhY29yZTogRGF0YWNvcmUgfT4pIHtcbiAgICBjb25zdCBbaW5pdGlhbGl6ZWQsIHNldEluaXRpYWxpemVkXSA9IHVzZVN0YXRlKGRhdGFjb3JlLmluaXRpYWxpemVkKTtcblxuICAgIC8vIFN5bmNzIHRoZSBib3VuZGFyeSB3aXRoIGRhdGFjb3JlJ3MgaW5pdGlhbGl6YXRpb24gc3RhdGUuXG4gICAgLy8gVE9ETzogQWRkIGFuIGV2ZW50IHRvIGRhdGFjb3JlIHdoaWNoIGluZGljYXRlcyB3aGVuIGEgcmVpbmRleCBoYXBwZW5zIChpLmUuLCBpbml0aWFsaXplZFxuICAgIC8vIHJldHVybnMgYmFjayB0byAnZmFsc2UnKS5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoaW5pdGlhbGl6ZWQpIHJldHVybjtcblxuICAgICAgICBjb25zdCByZWYgPSBkYXRhY29yZS5vbihcImluaXRpYWxpemVkXCIsICgpID0+IHNldEluaXRpYWxpemVkKHRydWUpKTtcbiAgICAgICAgcmV0dXJuICgpID0+IGRhdGFjb3JlLm9mZnJlZihyZWYpO1xuICAgIH0sIFtpbml0aWFsaXplZCwgZGF0YWNvcmVdKTtcblxuICAgIGlmIChpbml0aWFsaXplZCkge1xuICAgICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWxvYWRpbmctYm91bmRhcnlcIj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZGF0YWNvcmUtbG9hZGluZy10aXRsZVwiPkRhdGFjb3JlIGlzIGdldHRpbmcgcmVhZHkuLi48L2g0PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtbG9hZGluZy1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nUHJvZ3Jlc3MgZGF0YWNvcmU9e2RhdGFjb3JlfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vKipcbiAqIEV4ZWN1dGVzIGEgdmFuaWxsYSBqYXZhc3JpcHQgZnVuY3Rpb24gbGF6aWx5IG9uZSB0aW1lLiBNYWlubHkgdXNlZnVsIHRvIG9ubHkgcnVuIGEgc2NyaXB0XG4gKiBvbmNlIHRoZSBwYXJlbnQgbG9hZGluZyBib3VuZGFyeSBpcyBhY3R1YWxseSByZWFkeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNjcmlwdENvbnRhaW5lcih7XG4gICAgZXhlY3V0b3IsXG4gICAgc291cmNlUGF0aCxcbn06IHtcbiAgICBleGVjdXRvcjogKCkgPT4gUHJvbWlzZTxMaXRlcmFsIHwgVk5vZGUgfCBGdW5jdGlvbj47XG4gICAgc291cmNlUGF0aDogc3RyaW5nO1xufSkge1xuICAgIGNvbnN0IFtlbGVtZW50LCBzZXRFbGVtZW50XSA9IHVzZVN0YXRlPEpTWC5FbGVtZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8RXJyb3IgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBzZXRFbGVtZW50KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldEVycm9yKHVuZGVmaW5lZCk7XG5cbiAgICAgICAgZXhlY3V0b3IoKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4gc2V0RWxlbWVudChtYWtlUmVuZGVyYWJsZUVsZW1lbnQocmVzdWx0LCBzb3VyY2VQYXRoKSkpXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiBzZXRFcnJvcihlcnJvcikpO1xuICAgIH0sIFtleGVjdXRvcl0pO1xuXG4gICAgLy8gUHJvcG9nYXRlIGVycm9yIHVwd2FyZHMuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cblxuICAgIHJldHVybiA8PntlbGVtZW50ID8/IDxFcnJvck1lc3NhZ2UgbWVzc2FnZT1cIjwgVmlldyBpcyByZW5kZXJpbmcgPlwiIC8+fTwvPjtcbn1cblxuLyoqIE1ha2UgYSByZW5kZXJhYmxlIGVsZW1lbnQgZnJvbSB0aGUgcmV0dXJuZWQgb2JqZWN0OyBpZiB0aGlzIHRyYW5zZm9ybWF0aW9uIGlzIG5vdCBwb3NzaWJsZSwgdGhyb3cgYW4gZXhjZXB0aW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VSZW5kZXJhYmxlRWxlbWVudChvYmplY3Q6IGFueSwgc291cmNlUGF0aDogc3RyaW5nKTogSlNYLkVsZW1lbnQge1xuICAgIGlmICh0eXBlb2Ygb2JqZWN0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQob2JqZWN0LCB7fSk7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgICAob2JqZWN0IGFzIGFueVtdKS5tYXAoKHgpID0+IG1ha2VSZW5kZXJhYmxlRWxlbWVudCh4LCBzb3VyY2VQYXRoKSlcbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzVmFsaWRFbGVtZW50KG9iamVjdCkpIHtcbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gPExpdCB2YWx1ZT17b2JqZWN0fSBzb3VyY2VQYXRoPXtzb3VyY2VQYXRofSAvPjtcbiAgICB9XG59XG4iLCAiLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGRpcmVjdCBBUEktZmFjaW5nIGVsZW1lbnRzLiBUaGlzIGVzc2VudGlhbGx5IHNlcnZlcyBhcyBhIGxheWVyIG9mIGluZGlyZWN0aW9uIHRvIGludGVybmFsIHR5cGVzLCBzbyB0aGF0IHRoZSBpbnRlcm5hbCB0eXBlcyBjYW4gYmVcbiAqIGNoYW5nZWQgd2l0aG91dCBicmVha2luZyB0aGUgQVBJLlxuICpcbiAqIEBtb2R1bGUgdWlcbiAqL1xuXG5pbXBvcnQgeyBIVE1MQXR0cmlidXRlcywgdXNlTWVtbyB9IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5cbmltcG9ydCBcImFwaS91aS9sYXlvdXQuY3NzXCI7XG5cbi8qKiBDcmVhdGVzIGEgdmVydGljYWwgZmxleGJveCBcInN0YWNrXCIgb2YgZWxlbWVudHMuXG4gKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFN0YWNrKFxuICAgIHByb3BzOiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4gJiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICAgICAganVzdGlmeT86IHN0cmluZztcbiAgICAgICAgYWxpZ24/OiBzdHJpbmc7XG4gICAgICAgIHN0eWxlPzogc3RyaW5nO1xuICAgIH1cbikge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBqdXN0aWZ5LCBhbGlnbiwgc3R5bGUsIGNoaWxkcmVuLCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgICBjb25zdCBleHRyYVN0eWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGxldCBzdHlsZSA9IFwiXCI7XG4gICAgICAgIGlmIChqdXN0aWZ5KSBzdHlsZSArPSBganVzdGlmeS1jb250ZW50OiAke2p1c3RpZnl9O2A7XG4gICAgICAgIGlmIChhbGlnbikgc3R5bGUgKz0gYGFsaWduLWl0ZW1zOiAke2FsaWdufTtgO1xuXG4gICAgICAgIHJldHVybiBzdHlsZS5sZW5ndGggPT0gMCA/IHVuZGVmaW5lZCA6IHN0eWxlO1xuICAgIH0sIFtqdXN0aWZ5LCBhbGlnbl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWUgPyBjbGFzc05hbWUgKyBcIiBkYy1zdGFja1wiIDogXCJkYy1zdGFja1wifVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlID8gZXh0cmFTdHlsZSArIHN0eWxlIDogZXh0cmFTdHlsZX1cbiAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG5cbi8qKiBDcmVhdGVzIGEgaG9yaXpvbnRhbCBmbGV4Ym94IFwiZ3JvdXBpbmdcIiBvZiBlbGVtZW50cy5cbiAqXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gR3JvdXAoXG4gICAgcHJvcHM6IEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiAmIHtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgICBqdXN0aWZ5Pzogc3RyaW5nO1xuICAgICAgICBhbGlnbj86IHN0cmluZztcbiAgICAgICAgc3R5bGU/OiBzdHJpbmc7XG4gICAgfVxuKSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIGp1c3RpZnksIGFsaWduLCBzdHlsZSwgY2hpbGRyZW4sIC4uLnJlc3QgfSA9IHByb3BzO1xuICAgIGNvbnN0IGV4dHJhU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgbGV0IHN0eWxlID0gXCJcIjtcbiAgICAgICAgaWYgKGp1c3RpZnkpIHN0eWxlICs9IGBqdXN0aWZ5LWNvbnRlbnQ6ICR7anVzdGlmeX07YDtcbiAgICAgICAgaWYgKGFsaWduKSBzdHlsZSArPSBgYWxpZ24taXRlbXM6ICR7YWxpZ259O2A7XG5cbiAgICAgICAgcmV0dXJuIHN0eWxlLmxlbmd0aCA9PSAwID8gdW5kZWZpbmVkIDogc3R5bGU7XG4gICAgfSwgW2p1c3RpZnksIGFsaWduXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZSA/IGNsYXNzTmFtZSArIFwiIGRjLWdyb3VwXCIgOiBcImRjLWdyb3VwXCJ9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGUgPyBleHRyYVN0eWxlICsgc3R5bGUgOiBleHRyYVN0eWxlfVxuICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cbiIsICIvKiogQmFzaWMgVUkgY29tcG9uZW50cyB0aGF0IGhhdmUgc2ltcGxlIE9ic2lkaWFuIHRoZW1pbmcuXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5cbmltcG9ydCB7IENvbXBvbmVudENoaWxkcmVuIH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgc2V0SWNvbiB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5cbmltcG9ydCBcIi4vYmFzaWNzLmNzc1wiO1xuXG4vKiogVmFyaW91cyBpbnRlbnRzIGZvciBidXR0b25zIGFuZCBvdGhlciBpbnRlcmFjdGl2ZSBlbGVtZW50cy4gKi9cbmV4cG9ydCB0eXBlIEludGVudCA9IFwiZXJyb3JcIiB8IFwid2FyblwiIHwgXCJpbmZvXCIgfCBcInN1Y2Nlc3NcIjtcbmV4cG9ydCB0eXBlIE9taXR0YWJsZSA9IFwidmFsdWVcIiB8IFwiZGVmYXVsdFZhbHVlXCI7XG5leHBvcnQgY29uc3QgSU5URU5UX0NMQVNTRVM6IFJlY29yZDxJbnRlbnQsIHN0cmluZz4gPSB7XG4gICAgZXJyb3I6IFwiZGMtaW50ZW50LWVycm9yXCIsXG4gICAgd2FybjogXCJkYy1pbnRlbnQtd2FyblwiLFxuICAgIGluZm86IFwiZGMtaW50ZW50LWluZm9cIixcbiAgICBzdWNjZXNzOiBcImRjLWludGVudC1zdWNjZXNzXCIsXG59O1xuXG4vKiogV3JhcHBlciBmb3IgYSByZWd1bGFyIEhUTUwgYnV0dG9uIHdpdGggc29tZSBkZWZhdWx0IGNsYXNzZXMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uKFxuICAgIHByb3BzOiB7IGNsYXNzTmFtZT86IHN0cmluZzsgaW50ZW50PzogSW50ZW50OyBjaGlsZHJlbjogQ29tcG9uZW50Q2hpbGRyZW4gfSAmIFJlYWN0LkhUTUxQcm9wczxIVE1MQnV0dG9uRWxlbWVudD5cbikge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBpbnRlbnQsIGNoaWxkcmVuLCAuLi5mb3J3YXJkaW5nUHJvcHMgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYy1idXR0b25cIiwgaW50ZW50ID8gSU5URU5UX0NMQVNTRVNbaW50ZW50XSA6IHVuZGVmaW5lZCwgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgIHsuLi5mb3J3YXJkaW5nUHJvcHN9XG4gICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9idXR0b24+XG4gICAgKTtcbn1cblxuLyoqIEEgc2ltcGxlIHRleHRib3ggd2hpY2ggYWNjZXB0cyB0ZXh0LlxuICpcbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUZXh0Ym94KHByb3BzOiB7IGNsYXNzTmFtZT86IHN0cmluZzsgaW5saW5lPzogYm9vbGVhbiB9ICYgUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+KSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIGNoaWxkcmVuLCBpbmxpbmUgPSBmYWxzZSwgLi4uZm9yd2FyZGluZ1Byb3BzIH0gPSBwcm9wcztcbiAgICByZXR1cm4gaW5saW5lID8gKFxuICAgICAgICA8aW5wdXQgdHlwZT17cHJvcHMudHlwZSA/PyBcInRleHRcIn0gY2xhc3NOYW1lPXtjb21iaW5lQ2xhc3NlcyhcImRjLXRleHRib3hcIiwgY2xhc3NOYW1lKX0gey4uLmZvcndhcmRpbmdQcm9wc30gLz5cbiAgICApIDogKFxuICAgICAgICA8dGV4dGFyZWEgY2xhc3NOYW1lPXtjb21iaW5lQ2xhc3NlcyhcImRjLXRleHRib3hcIiwgY2xhc3NOYW1lKX0+e3Byb3BzLnZhbHVlID8/IFwiXCJ9PC90ZXh0YXJlYT5cbiAgICApO1xufVxuXG4vKiogQSBjaGVja2JveCB0aGF0IGNhbiBiZSBjaGVja2VkIGFuZCB1bmNoZWNrZWQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tib3goXG4gICAgcHJvcHM6IHtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICAgIGNoZWNrZWQ/OiBib29sZWFuO1xuICAgICAgICBkZWZhdWx0Q2hlY2tlZD86IGJvb2xlYW47XG4gICAgICAgIG9uQ2hlY2tDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgICAgICAgY2hpbGRyZW4/OiBDb21wb25lbnRDaGlsZHJlbjtcbiAgICB9ICYgUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+XG4pIHtcbiAgICBjb25zdCB7XG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIGRlZmF1bHRDaGVja2VkLFxuICAgICAgICBjaGVja2VkOiBpc0NoZWNrZWQsXG4gICAgICAgIG9uQ2hlY2tDaGFuZ2UsXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAuLi5mb3J3YXJkaW5nUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2NoZWNrZWQsIHNldENoZWNrZWRdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRDaGVja2VkID8/IGZhbHNlLCBpc0NoZWNrZWQsIG9uQ2hlY2tDaGFuZ2UpO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjaygoZXZlbnQ6IGFueSkgPT4gc2V0Q2hlY2tlZChldmVudC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQpLCBbc2V0Q2hlY2tlZF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYy1jaGVja2JveFwiLCBkaXNhYmxlZCA/IFwiZGMtY2hlY2tib3gtZGlzYWJsZWRcIiA6IHVuZGVmaW5lZCwgY2xhc3NOYW1lKX0+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICAgICAgey4uLmZvcndhcmRpbmdQcm9wc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvbGFiZWw+XG4gICAgKTtcbn1cblxuLyoqIFdyYXBwZXIgZm9yIGEgc2xpZGVyIChyYW5nZSBpbnB1dCkgd2l0aCBzb21lIGRlZmF1bHQgY2xhc3Nlcy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTbGlkZXIoXG4gICAgcHJvcHM6IHtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgICBtaW4/OiBudW1iZXI7XG4gICAgICAgIG1heD86IG51bWJlcjtcbiAgICAgICAgc3RlcD86IG51bWJlcjtcbiAgICAgICAgdmFsdWU/OiBudW1iZXI7XG4gICAgICAgIGRlZmF1bHRWYWx1ZT86IG51bWJlcjtcbiAgICAgICAgb25WYWx1ZUNoYW5nZT86ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xuICAgIH0gJiBPbWl0PFJlYWN0LkhUTUxQcm9wczxIVE1MSW5wdXRFbGVtZW50PiwgT21pdHRhYmxlPlxuKSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIG1pbiA9IDAsIG1heCA9IDEwLCBzdGVwID0gMSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgb25WYWx1ZUNoYW5nZSwgLi4uZm9yd2FyZGluZ1Byb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBbc2xpZGVyLCBzZXRTbGlkZXJdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRWYWx1ZSA/PyAwLCB2YWx1ZSwgb25WYWx1ZUNoYW5nZSk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChldmVudDogYW55KSA9PiBzZXRTbGlkZXIocGFyc2VGbG9hdChldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlKSksIFtzZXRTbGlkZXJdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3NsaWRlci50b1N0cmluZygpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjb21iaW5lQ2xhc3NlcyhcImRjLXNsaWRlclwiLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgbWluPXttaW59XG4gICAgICAgICAgICBtYXg9e21heH1cbiAgICAgICAgICAgIHN0ZXA9e3N0ZXB9XG4gICAgICAgICAgICB2YWx1ZT17c2xpZGVyfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgey4uLmZvcndhcmRpbmdQcm9wc31cbiAgICAgICAgLz5cbiAgICApO1xufVxuXG4vKiogV3JhcHBlciBmb3IgYSBzd2l0Y2ggKHRvZ2dsZSkgY29tcG9uZW50IHdpdGggc29tZSBkZWZhdWx0IGNsYXNzZXMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gU3dpdGNoKFxuICAgIHByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICAgICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgICAgICBjaGVja2VkPzogYm9vbGVhbjtcbiAgICAgICAgZGVmYXVsdENoZWNrZWQ/OiBib29sZWFuO1xuICAgICAgICBvblRvZ2dsZUNoYW5nZT86IChjaGVja2VkOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIH0gJiBSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD5cbikge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBkaXNhYmxlZCwgZGVmYXVsdENoZWNrZWQsIGNoZWNrZWQsIG9uVG9nZ2xlQ2hhbmdlLCAuLi5mb3J3YXJkaW5nUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IFt0b2dnbGVkLCBzZXRUb2dnbGVkXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0Q2hlY2tlZCA/PyBmYWxzZSwgY2hlY2tlZCwgb25Ub2dnbGVDaGFuZ2UpO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjaygoZXZlbnQ6IGFueSkgPT4gc2V0VG9nZ2xlZChldmVudC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQpLCBbc2V0VG9nZ2xlZF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NvbWJpbmVDbGFzc2VzKFxuICAgICAgICAgICAgICAgIFwiZGMtc3dpdGNoIGNoZWNrYm94LWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgIHRvZ2dsZWQgPyBcImlzLWVuYWJsZWRcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA/IFwiZGMtc3dpdGNoLWRpc2FibGVkXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lXG4gICAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRjLXN3aXRjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RvZ2dsZWR9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgICAgICB7Li4uZm9yd2FyZGluZ1Byb3BzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9sYWJlbD5cbiAgICApO1xufVxuXG4vKiogV3JhcHBlciBmb3IgYSBzZWxlY3QgY29tcG9uZW50IHdpdGggc29tZSBkZWZhdWx0IGNsYXNzZXMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gVmFuaWxsYVNlbGVjdChcbiAgICBwcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgICAgIG9wdGlvbnM6IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9W107XG4gICAgICAgIHZhbHVlPzogc3RyaW5nO1xuICAgICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICAgIG9uVmFsdWVDaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgICB9ICYgUmVhY3QuSFRNTFByb3BzPEhUTUxTZWxlY3RFbGVtZW50PlxuKSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIG9wdGlvbnMgPSBbXSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgb25WYWx1ZUNoYW5nZSwgLi4uZm9yd2FyZGluZ1Byb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBbc2VsZWN0ZWRWYWx1ZSwgc2V0U2VsZWN0ZWRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZSh2YWx1ZSA/PyBkZWZhdWx0VmFsdWUgPz8gXCJcIik7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSBzZXRTZWxlY3RlZFZhbHVlKHZhbHVlKTtcbiAgICB9LCBbdmFsdWVdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYy1zZWxlY3QgZHJvcGRvd25cIiwgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZFZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRWYWx1ZShlLmN1cnJlbnRUYXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2UgJiYgb25WYWx1ZUNoYW5nZShlLmN1cnJlbnRUYXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHsuLi5mb3J3YXJkaW5nUHJvcHN9XG4gICAgICAgID5cbiAgICAgICAgICAgIHtvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoXG4gICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9e29wdGlvbi52YWx1ZX0gdmFsdWU9e29wdGlvbi52YWx1ZX0+XG4gICAgICAgICAgICAgICAgICAgIHtvcHRpb24ubGFiZWx9XG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgKTtcbn1cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCByZW5kZXJzIGFuIGljb25cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBJY29uKHByb3BzOiB7IGNsYXNzTmFtZT86IHN0cmluZzsgaWNvbjogc3RyaW5nIH0pIHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSwgaWNvbiB9ID0gcHJvcHM7XG4gICAgY29uc3QgcmVmID0gUmVhY3QuY3JlYXRlUmVmPEhUTUxTcGFuRWxlbWVudD4oKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChyZWYuY3VycmVudCkge1xuICAgICAgICAgICAgc2V0SWNvbihyZWYuY3VycmVudCwgaWNvbik7XG4gICAgICAgIH1cbiAgICB9LCBbcmVmXSk7XG5cbiAgICByZXR1cm4gPHNwYW4gcmVmPXtyZWZ9IGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYy1pY29uXCIsIGNsYXNzTmFtZSl9IGRhdGEtaWNvbj17aWNvbn0gLz47XG59XG5cbi8qKlxuICogIEFwcGVuZHMgYWRkaXRpb25hbCBjbGFzc2VzIHRvIGEgYmFzaWMgZml4ZWQgY2xhc3MuXG4gKlxuICogQGdyb3VwIFV0aWxpdGllc1xuICogKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lQ2xhc3NlcyhmaXhlZDogc3RyaW5nLCAuLi5yZXN0OiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdKSB7XG4gICAgY29uc3Qgbm9uZW1wdHkgPSByZXN0LmZpbHRlcigoYykgPT4gYyAhPT0gdW5kZWZpbmVkKTtcbiAgICBpZiAobm9uZW1wdHkubGVuZ3RoID09PSAwKSByZXR1cm4gZml4ZWQ7XG5cbiAgICByZXR1cm4gW2ZpeGVkLCAuLi5ub25lbXB0eV0uam9pbihcIiBcIik7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGluZGV4YWJsZXNcbiAqL1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5cbi8qKiBBbnkgaW5kZXhhYmxlIGZpZWxkLCB3aGljaCBtdXN0IGhhdmUgYSBmZXcgaW5kZXgtcmVsZXZhbnQgcHJvcGVydGllcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhhYmxlIHtcbiAgICAvKiogVGhlIG9iamVjdCB0eXBlcyB0aGF0IHRoaXMgaW5kZXhhYmxlIGlzLiAqL1xuICAgICR0eXBlczogc3RyaW5nW107XG4gICAgLyoqIFRleHR1YWwgZGVzY3JpcHRpb24gb2YgdGhlIG9iamVjdCwgc3VjaCBhcyBgUGFnZWAgb3IgYFNlY3Rpb25gLiBVc2VkIGluIHZpc3VhbGl6YXRpb25zLiAqL1xuICAgICR0eXBlbmFtZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgdW5pcXVlIGluZGV4IElEIGZvciB0aGlzIG9iamVjdC4gKi9cbiAgICAkaWQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXhhYmxlIG9iamVjdCB0aGF0IGlzIHRoZSBwYXJlbnQgb2YgdGhpcyBvYmplY3QuIE9ubHkgc2V0IGFmdGVyIHRoZSBvYmplY3QgaXMgYWN0dWFsbHkgaW5kZXhlZC5cbiAgICAgKi9cbiAgICAkcGFyZW50PzogSW5kZXhhYmxlO1xuICAgIC8qKiBJZiBwcmVzZW50LCB0aGUgcmV2aXNpb24gaW4gdGhlIGluZGV4IG9mIHRoaXMgb2JqZWN0LiAqL1xuICAgICRyZXZpc2lvbj86IG51bWJlcjtcbiAgICAvKiogVGhlIGZpbGUgdGhhdCB0aGlzIGluZGV4YWJsZSB3YXMgZGVyaXZlZCBmcm9tLCBpZiBmaWxlLWJhY2tlZC4gKi9cbiAgICAkZmlsZT86IHN0cmluZztcbn1cblxuLyoqIE1ldGFkYXRhIGZvciBvYmplY3RzIHdoaWNoIHN1cHBvcnQgbGlua2luZy4gKi9cbmV4cG9ydCBjb25zdCBMSU5LQUJMRV9UWVBFID0gXCJsaW5rYWJsZVwiO1xuLyoqXG4gKiB7QGluaGVyaXREb2MgTElOS0FCTEVfVFlQRX1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW5rYWJsZSB7XG4gICAgLyoqIEEgbGluayB0byB0aGlzIGxpbmthYmxlIG9iamVjdC4gKi9cbiAgICAkbGluazogTGluaztcbn1cblxuLyoqIEdlbmVyYWwgbWV0YWRhdGEgZm9yIGFueSBmaWxlLiAqL1xuZXhwb3J0IGNvbnN0IEZJTEVfVFlQRSA9IFwiZmlsZVwiO1xuLyoqXG4gKiB7QGluaGVyaXREb2MgRklMRV9UWVBFfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGUgZXh0ZW5kcyBMaW5rYWJsZSB7XG4gICAgLyoqIFRoZSBwYXRoIHRoaXMgZmlsZSBleGlzdHMgYXQuICovXG4gICAgJHBhdGg6IHN0cmluZztcbiAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgZGF0ZSB0aGlzIHBhZ2Ugd2FzIGNyZWF0ZWQuICovXG4gICAgJGN0aW1lOiBEYXRlVGltZTtcbiAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgZGF0ZSB0aGlzIHBhZ2Ugd2FzIG1vZGlmaWVkLiAqL1xuICAgICRtdGltZTogRGF0ZVRpbWU7XG4gICAgLyoqIE9ic2lkaWFuLXByb3ZpZGVkIHNpemUgb2YgdGhpcyBwYWdlIGluIGJ5dGVzLiAqL1xuICAgICRzaXplOiBudW1iZXI7XG4gICAgLyoqIFRoZSBleHRlbnNpb24gb2YgdGhlIGZpbGUuICovXG4gICAgJGV4dGVuc2lvbjogc3RyaW5nO1xufVxuXG4vKiogTWV0YWRhdGEgZm9yIHRhZ2dhYmxlIG9iamVjdHMuICovXG5leHBvcnQgY29uc3QgVEFHR0FCTEVfVFlQRSA9IFwidGFnZ2FibGVcIjtcbi8qKlxuICoge0Bpbmhlcml0RG9jIFRBR0dBQkxFX1RZUEV9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnZ2FibGUge1xuICAgIC8qKiBUaGUgZXhhY3QgdGFncyBvbiB0aGlzIG9iamVjdC4gKCNhL2IvYyBvciAjZm9vL2JhcikuICovXG4gICAgJHRhZ3M6IHN0cmluZ1tdO1xufVxuXG4vKiogTWV0YWRhdGEgZm9yIG9iamVjdHMgd2hpY2ggY2FuIGxpbmsgdG8gb3RoZXIgdGhpbmdzLiAqL1xuZXhwb3J0IGNvbnN0IExJTktCRUFSSU5HX1RZUEUgPSBcImxpbmtzXCI7XG4vKipcbiAqIHtAaW5oZXJpdERvYyBMSU5LQkVBUklOR19UWVBFfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpbmtiZWFyaW5nIHtcbiAgICAvKiogVGhlIGxpbmtzIGluIHRoaXMgZmlsZS4gKi9cbiAgICAkbGlua3M6IExpbmtbXTtcbn1cblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIGV4dGVuc2lvbnMuIFRoaXMgc2hvdWxkIHByb2JhYmx5IGJlY29tZSBhIGR5bmFtaWMgbG9va3VwIHRhYmxlIGFuZCBub3QganVzdFxuICogYSBmaXhlZCBsaXN0IGF0IHNvbWUgcG9pbnQsIGVzcGVjaWFsbHkgaWYgd2UgYWRkIHRoZSBhYmlsaXR5IHRvIHR1cm4gaW5kZXhpbmcgb24vb2ZmLlxuICovXG5leHBvcnQgY29uc3QgSU5ERVhBQkxFX0VYVEVOU0lPTlMgPSBuZXcgU2V0KFtcIm1kXCIsIFwibWFya2Rvd25cIiwgXCJjYW52YXNcIl0pO1xuIiwgIi8qKlxuICogQG1vZHVsZSBhcGlcbiAqL1xuaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBJbmRleGFibGUgfSBmcm9tIFwiLi4vaW5kZXgvdHlwZXMvaW5kZXhhYmxlXCI7XG5pbXBvcnQgeyBJbmxpbmVGaWVsZCB9IGZyb20gXCJpbmRleC9pbXBvcnQvaW5saW5lLWZpZWxkXCI7XG5pbXBvcnQgeyBGcm9udG1hdHRlckVudHJ5IH0gZnJvbSBcImluZGV4L3R5cGVzL21hcmtkb3duXCI7XG5pbXBvcnQgeyBMaW5lU3BhbiB9IGZyb20gXCJpbmRleC90eXBlcy9qc29uL21hcmtkb3duXCI7XG5cbi8qKiBUaGUgc291cmNlIG9mIGEgZmllbGQsIHVzZWQgd2hlbiBkZXRlcm1pbmluZyB3aGF0IGZpbGVzIHRvIG92ZXJ3cml0ZSBhbmQgaG93LiAqL1xuZXhwb3J0IHR5cGUgUHJvdmVuYW5jZSA9XG4gICAgfCB7IHR5cGU6IFwiZnJvbnRtYXR0ZXJcIjsgZmlsZTogc3RyaW5nOyBrZXk6IHN0cmluZyB9XG4gICAgfCB7IHR5cGU6IFwiaW5saW5lLWZpZWxkXCI7IGZpbGU6IHN0cmluZzsgbGluZTogbnVtYmVyOyBrZXk6IHN0cmluZyB9O1xuXG4vKipcbiAqIEdlbmVyYWwgZGVmaW5pdGlvbiBmb3IgYSBmaWVsZC4gUHJvdmlkZXMgdGhlIGZpZWxkIGtleSwgdmFsdWUsIGFzIHdlbGwgYXMgaW5mb3JtYXRpb24gb24gaXQncyBzb3VyY2UgYW5kIGhvdyBpdCBjYW4gYmUgZWRpdGVkLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICogKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGQge1xuICAgIC8qKiBUaGUgY2Fub25pY2FsIGtleSBuYW1lIGZvciB0aGUgZmllbGQgKGkuZS4sIGFzIGl0IGFjdHVhbGx5IHNob3dzIHVwIGluIHRoZSBkYXRhIHN0cnVjdHVyZSkuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gICAgdmFsdWU6IExpdGVyYWw7XG4gICAgLyoqIFRoZSByYXcgdmFsdWUgb2YgdGhlIGZpZWxkIGJlZm9yZSBwYXJzaW5nLCBpZiByZWxldmFudC4gKi9cbiAgICByYXc/OiBzdHJpbmc7XG4gICAgLyoqIElmIHByZXNlbnQsIGRlc2NyaWJlcyB3aGVyZSB0aGUgZmllbGQgY2FtZSBmcm9tIGluIHByZWNpc2UgZGV0YWlsLCBhbGxvd2luZyB0aGUgZmllbGQgdG8gYmUgZWRpdGVkLiAqL1xuICAgIHByb3ZlbmFuY2U/OiBQcm92ZW5hbmNlO1xufVxuXG4vKiogTWV0YWRhdGEgZm9yIG9iamVjdHMgd2hpY2ggYXJlIGFubm90YXRlZCB3aXRoIGZpZWxkcy4gKi9cbmV4cG9ydCBjb25zdCBGSUVMREJFQVJJTkdfVFlQRSA9IFwiZmllbGRzXCI7XG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkYmVhcmluZyB7XG4gICAgLyoqIFJldHVybiBhIGxpc3Qgb2YgYWxsIGZpZWxkcy4gVGhpcyBtYXkgYmUgY29tcHV0ZWQgZWFnZXJseSwgc28gY2FjaGUgdGhpcyB2YWx1ZSBmb3IgcmVwZWF0ZWQgb3BlcmF0aW9ucy4gKi9cbiAgICBmaWVsZHM6IEZpZWxkW107XG5cbiAgICAvKiogRmV0Y2ggYSBmaWVsZCB3aXRoIHRoZSBnaXZlbiBuYW1lIGlmIGl0IGlzIHByZXNlbnQgb24gdGhpcyBvYmplY3QuICovXG4gICAgZmllbGQoa2V5OiBzdHJpbmcpOiBGaWVsZCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBGaWVsZGJlYXJpbmdzIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gaXNGaWVsZGJlYXJpbmcob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgRmllbGRiZWFyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIG9iamVjdCAhPSBudWxsICYmIHR5cGVvZiBvYmplY3QgPT09IFwib2JqZWN0XCIgJiYgXCJmaWVsZFwiIGluIG9iamVjdCAmJiB0eXBlb2Ygb2JqZWN0W1wiZmllbGRcIl0gPT0gXCJmdW5jdGlvblwiXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhIGtleSBmcm9tIGEgZ2VuZXJpYyBtYXAgb3IgZmllbGRiZWFyaW5nIG9iamVjdC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZ2V0KG9iamVjdDogRmllbGRiZWFyaW5nIHwgUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4sIGtleTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0ZpZWxkYmVhcmluZyhvYmplY3QpKSByZXR1cm4gb2JqZWN0LmZpZWxkKGtleSk/LnZhbHVlO1xuICAgICAgICBlbHNlIHJldHVybiBvYmplY3Rba2V5XTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gZ2V0V2l0aERlZmF1bHQ8VCBleHRlbmRzIHsgJHBvc2l0aW9uOiBMaW5lU3BhbiB9ICYgSW5kZXhhYmxlPihcbiAgICAgICAgb2JqZWN0OiBULFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgZGVmYXVsdFZhbHVlPzogTGl0ZXJhbFxuICAgICk6IEZpZWxkIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IGRlZmF1bHRWYWx1ZSA/PyBudWxsLFxuICAgICAgICAgICAgcHJvdmVuYW5jZToge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiaW5saW5lLWZpZWxkXCIsXG4gICAgICAgICAgICAgICAgZmlsZTogb2JqZWN0LiRmaWxlISxcbiAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgbGluZTogb2JqZWN0LiRwb3NpdGlvbi5lbmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqXG4gKiBHZW5lcmljIGZ1bmN0aW9uIHdoaWNoIGV4dHJhY3QgZmllbGRzLiBJZiBubyBhcmd1bWVudCBpcyBwcm92aWRlZCwgaXQgc2hvdWxkIHJldHVybiBhbGwgZmllbGRzOyBvdGhlcndpc2UsXG4gKiBpdCBzaG91bGQgcmV0dXJuIHRoZSBmaWVsZCBtYXRjaGluZyB0aGUgZ2l2ZW4ga2V5LlxuICpcbiAqIEtleXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUgdG8gbWF0Y2ggT2JzaWRpYW4gc3RhbmRhcmQgYmVoYXZpb3IuXG4gKi9cbmV4cG9ydCB0eXBlIEZpZWxkRXh0cmFjdG9yPFQ+ID0gKG9iamVjdDogVCwga2V5Pzogc3RyaW5nKSA9PiBGaWVsZFtdO1xuXG4vKiogUXVpY2sgdXRpbGl0aWVzIGZvciBnZW5lcmF0aW5nIGZpZWxkcyBhbmQgZG9pbmcgc2VhcmNoZXMgb3ZlciB0aGVtLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgbmFtZXNwYWNlIEV4dHJhY3RvcnMge1xuICAgIC8qKiBDaGVjayBpZiB0aGUgZ2l2ZW4gcHJvcGVydHkgaW4gdGhlIG9iamVjdCBpcyBub3QgZXhjbHVkZWQgYW5kIGlzIGEgcGxhaW4gcHJvcGVydHkgKG5vdCBhIGZ1bmN0aW9uIG9yIG90aGVyIHNwZWNpYWwgb2JqZWN0KS4gKi9cbiAgICBmdW5jdGlvbiBpc1ZhbGlkSW50cmluc2ljKG9iamVjdDogUmVjb3JkPHN0cmluZywgYW55Piwga2V5OiBzdHJpbmcsIGV4Y2x1ZGU/OiBTZXQ8c3RyaW5nPik6IGJvb2xlYW4ge1xuICAgICAgICAvLyBEb24ndCBhbGxvdyByZWN1cnNpb24gb24gJ2ZpZWxkcycgb3IgY2FjaGVkIHZhbHVlcywgYW5kIHNraXAgYW55IGlnbm9yZWQgYW5kIG5vbi1pbnRyaW5zaWNzLlxuICAgICAgICBpZiAoZXhjbHVkZT8uaGFzKGtleSkgfHwgIWtleS5zdGFydHNXaXRoKFwiJFwiKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIC8vIE5vIGZ1bmN0aW9ucywgb25seSB1c2UgYWN0dWFsIHZhbHVlcy5cbiAgICAgICAgY29uc3QgdmFsdWUgPSAob2JqZWN0IGFzIGFueSlba2V5XTtcbiAgICAgICAgaWYgKExpdGVyYWxzLmlzRnVuY3Rpb24odmFsdWUpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhbGwga2V5cyBvZiB0aGUgb2JqZWN0LCBpbmNsdWRpbmcgZGVyaXZlZCBmaWVsZHMgZnJvbSBwcm90b3R5cGVzLiAqL1xuICAgIGZ1bmN0aW9uKiBwcm90b3R5cGVLZXlzKG9iamVjdDogYW55KSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iamVjdCkpIHlpZWxkIGtleTtcblxuICAgICAgICBsZXQgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqZWN0KTtcbiAgICAgICAgd2hpbGUgKHByb3RvKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm90bykpIHlpZWxkIGtleTtcblxuICAgICAgICAgICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdlbmVyYXRlIGEgbGlzdCBvZiBmaWVsZHMgZm9yIHRoZSBnaXZlbiBvYmplY3QsIHJldHVybmluZyB0aGVtIGFzIGEgbGlzdC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaW50cmluc2ljczxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oZXhjZXB0PzogU2V0PHN0cmluZz4pOiBGaWVsZEV4dHJhY3RvcjxUPiB7XG4gICAgICAgIHJldHVybiAob2JqZWN0OiBULCBrZXk/OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChrZXkgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtdO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgcHJvdG90eXBlS2V5cyhvYmplY3QpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZEludHJpbnNpYyhvYmplY3QsIGtleSwgZXhjZXB0KSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IChvYmplY3QgYXMgYW55KVtrZXldLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmllbGRzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBrZXkgaXMgZGlyZWN0bHkgcHJlc2VudCBpbiBvYmplY3QsIGp1c3QgcmV0dXJuIGl0LlxuICAgICAgICAgICAgICAgIGlmIChrZXkgaW4gb2JqZWN0ICYmIGlzVmFsaWRJbnRyaW5zaWMob2JqZWN0LCBrZXksIGV4Y2VwdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IChvYmplY3QgYXMgYW55KVtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSBhcyBGaWVsZFtdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogRmllbGQgZXh0cmFjdG9yIHdoaWNoIGV4dHJhY3RzIGZyb250bWF0dGVyIGZpZWxkcy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZnJvbnRtYXR0ZXI8VCBleHRlbmRzIEluZGV4YWJsZT4oXG4gICAgICAgIGZyb250OiAob2JqZWN0OiBUKSA9PiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5PiB8IHVuZGVmaW5lZFxuICAgICk6IEZpZWxkRXh0cmFjdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIChvYmplY3Q6IFQsIGtleT86IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZnJvbnRtYXR0ZXIgPSBmcm9udChvYmplY3QpO1xuICAgICAgICAgICAgaWYgKCFmcm9udG1hdHRlcikgcmV0dXJuIFtdO1xuXG4gICAgICAgICAgICBpZiAoa2V5ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXTtcblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZyb250bWF0dGVyKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGZyb250bWF0dGVyW2tleV07XG5cbiAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBlbnRyeS5rZXkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBlbnRyeS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhdzogZW50cnkucmF3LFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmVuYW5jZTogeyB0eXBlOiBcImZyb250bWF0dGVyXCIsIGZpbGU6IG9iamVjdC4kZmlsZSEsIGtleTogZW50cnkua2V5IH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBmaWVsZHM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGlmICghKGtleSBpbiBmcm9udG1hdHRlcikpIHJldHVybiBbXTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGVudHJ5ID0gZnJvbnRtYXR0ZXJba2V5XTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVudHJ5LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3OiBlbnRyeS5yYXcsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92ZW5hbmNlOiB7IHR5cGU6IFwiZnJvbnRtYXR0ZXJcIiwgZmlsZTogb2JqZWN0LiRmaWxlISwga2V5IH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogRmllbGQgZXh0cmFjdG9yIHdoaWNoIHNob3dzIGFsbCBpbmxpbmUgZmllbGRzLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbmxpbmVGaWVsZHM8VCBleHRlbmRzIEluZGV4YWJsZT4oXG4gICAgICAgIGlubGluZU1hcDogKG9iamVjdDogVCkgPT4gUmVjb3JkPHN0cmluZywgSW5saW5lRmllbGQ+IHwgdW5kZWZpbmVkXG4gICAgKTogRmllbGRFeHRyYWN0b3I8VD4ge1xuICAgICAgICByZXR1cm4gKG9iamVjdDogVCwga2V5Pzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXAgPSBpbmxpbmVNYXAob2JqZWN0KTtcbiAgICAgICAgICAgIGlmICghbWFwKSByZXR1cm4gW107XG5cbiAgICAgICAgICAgIGlmIChrZXkgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IFtdO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3QudmFsdWVzKG1hcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBmaWVsZC5rZXkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWVsZC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhdzogZmllbGQucmF3LFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmVuYW5jZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiaW5saW5lLWZpZWxkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogb2JqZWN0LiRmaWxlISxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBmaWVsZC5wb3NpdGlvbi5saW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBQcm92ZW5hbmNlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmllbGRzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSBrZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICBpZiAoIShrZXkgaW4gbWFwKSkgcmV0dXJuIFtdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBtYXBba2V5XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWVsZC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhdzogZmllbGQucmF3LFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmVuYW5jZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiaW5saW5lLWZpZWxkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogb2JqZWN0LiRmaWxlISxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBmaWVsZC5wb3NpdGlvbi5saW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBQcm92ZW5hbmNlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIE1lcmdlIG11bHRpcGxlIGZpZWxkIGV4dHJhY3RvcnMgaW50byBvbmU7IGlmIG11bHRpcGxlIGV4dHJhY3RvcnMgcHJvZHVjZSBpZGVudGljYWwga2V5cywga2V5cyBmcm9tIHRoZSBlYXJsaWVyIGV4dHJhY3RvciB3aWxsIGJlIHByZWZlcnJlZC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbWVyZ2U8VCBleHRlbmRzIEZpZWxkYmVhcmluZz4oLi4uZXh0cmFjdG9yczogRmllbGRFeHRyYWN0b3I8VD5bXSk6IEZpZWxkRXh0cmFjdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIChvYmplY3Q6IFQsIGtleT86IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGtleSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXNlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW107XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBleHRyYWN0b3Igb2YgZXh0cmFjdG9ycykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGV4dHJhY3RvcihvYmplY3QsIHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1c2VkLmhhcyhmaWVsZC5rZXkudG9Mb3dlckNhc2UoKSkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VkLmFkZChmaWVsZC5rZXkudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHMucHVzaChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpZWxkcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBleHRyYWN0b3Igb2YgZXh0cmFjdG9ycykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGV4dHJhY3RvcihvYmplY3QsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZCAmJiBmaWVsZC5sZW5ndGggPiAwKSByZXR1cm4gZmllbGQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsICIvKiogUGFyc2UgaW5saW5lIGZpZWxkcyBhbmQgb3RoZXIgZW1iZWRkZWQgbWV0YWRhdGEgaW4gYSBsaW5lLiAqL1xuXG5pbXBvcnQgeyBQUklNSVRJVkVTIH0gZnJvbSBcImV4cHJlc3Npb24vcGFyc2VyXCI7XG5pbXBvcnQgeyBMaXRlcmFsIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0ICogYXMgUCBmcm9tIFwicGFyc2ltbW9uXCI7XG5pbXBvcnQgZW1vamlSZWdleCBmcm9tIFwiZW1vamktcmVnZXhcIjtcbmltcG9ydCB7IEpzb25Db252ZXJzaW9uLCBKc29uTGl0ZXJhbCB9IGZyb20gXCJpbmRleC90eXBlcy9qc29uL2NvbW1vblwiO1xuXG4vKiogQSBwYXJzZWQgaW5saW5lIGZpZWxkIGZyb20gYSBzcGVjaWZpYyBsaW5lLiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2NhbElubGluZUZpZWxkIHtcbiAgICAvKiogVGhlIHJhdyBwYXJzZWQga2V5LiAqL1xuICAgIGtleTogc3RyaW5nO1xuICAgIC8qKiBUaGUgcmF3IHZhbHVlIG9mIHRoZSBmaWVsZC4gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSBmaWVsZC4gKi9cbiAgICBzdGFydDogbnVtYmVyO1xuICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSAqdmFsdWUqIGZvciB0aGUgZmllbGQuICovXG4gICAgc3RhcnRWYWx1ZTogbnVtYmVyO1xuICAgIC8qKiBUaGUgZW5kIGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgZW5kOiBudW1iZXI7XG4gICAgLyoqIElmIHRoaXMgaW5saW5lIGZpZWxkIHdhcyBkZWZpbmVkIHZpYSBhIHdyYXBwaW5nICgnWycgb3IgJygnIG9yICdsaW5rJyksIHRoZW4gdGhlIHdyYXBwaW5nIHRoYXQgd2FzIHVzZWQuICovXG4gICAgd3JhcHBpbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBGdWxsIGlubGluZSBmaWVsZCBtZXRhZGF0YSBmb3IgYW4gb2JqZWN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmxpbmVGaWVsZCB7XG4gICAgLyoqIFRoZSBhY3R1YWwga2V5IGRlc2NyaWJpbmcgdGhlIGlubGluZSBmaWVsZC4gKi9cbiAgICBrZXk6IHN0cmluZztcbiAgICAvKiogVGhlIHJhdyB2YWx1ZSBvZiB0aGUgaW5saW5lIGZpZWxkLiAqL1xuICAgIHJhdzogc3RyaW5nO1xuICAgIC8qKiBUaGUgcGFyc2VkIHZhbHVlLiAqL1xuICAgIHZhbHVlOiBMaXRlcmFsO1xuICAgIC8qKiBGdWxsIHBvc2l0aW9uIGluZm9ybWF0aW9uIGZvciB3aGVyZSB0aGUgaW5saW5lIGZpZWxkIGlzIGxvY2F0ZWQgaW4gdGhlIGRvY3VtZW50LiAqL1xuICAgIHBvc2l0aW9uOiB7XG4gICAgICAgIC8qKiBUaGUgbGluZSBudW1iZXIgdGhlIGlubGluZSBmaWVsZCBhcHBlYXJzIG9uLiAqL1xuICAgICAgICBsaW5lOiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSBmaWVsZC4gKi9cbiAgICAgICAgc3RhcnQ6IG51bWJlcjtcbiAgICAgICAgLyoqIFRoZSBzdGFydCBjb2x1bW4gb2YgdGhlICp2YWx1ZSogZm9yIHRoZSBmaWVsZC4gSW1tZWRpYXRlbHkgYWZ0ZXIgdGhlICc6OicuICovXG4gICAgICAgIHN0YXJ0VmFsdWU6IG51bWJlcjtcbiAgICAgICAgLyoqIFRoZSBlbmQgY29sdW1uIG9mIHRoZSBmaWVsZC4gKi9cbiAgICAgICAgZW5kOiBudW1iZXI7XG4gICAgfTtcbiAgICAvKiogSWYgdGhpcyBpbmxpbmUgZmllbGQgd2FzIGRlZmluZWQgdmlhIGEgd3JhcHBpbmcgKCdbJyBvciAnKCcgb3IgJ2xpbmsnKSwgdGhlbiB0aGUgd3JhcHBpbmcgdGhhdCB3YXMgdXNlZC4gKi9cbiAgICB3cmFwcGluZz86IHN0cmluZztcbn1cblxuLyoqIEpTT04sIHNlcmlhbGl6YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhbiBpbmxpbmUgZmllbGQuICovXG5leHBvcnQgaW50ZXJmYWNlIEpzb25JbmxpbmVGaWVsZCB7XG4gICAgLyoqIFRoZSBhY3R1YWwga2V5IGRlc2NyaWJpbmcgdGhlIGlubGluZSBmaWVsZC4gKi9cbiAgICBrZXk6IHN0cmluZztcbiAgICAvKiogVGhlIHJhdyB2YWx1ZSBvZiB0aGUgaW5saW5lIGZpZWxkLiAqL1xuICAgIHJhdzogc3RyaW5nO1xuICAgIC8qKiBUaGUgcGFyc2VkIHZhbHVlLiAqL1xuICAgIHZhbHVlOiBKc29uTGl0ZXJhbDtcbiAgICAvKiogRnVsbCBwb3NpdGlvbiBpbmZvcm1hdGlvbiBmb3Igd2hlcmUgdGhlIGlubGluZSBmaWVsZCBpcyBsb2NhdGVkIGluIHRoZSBkb2N1bWVudC4gKi9cbiAgICBwb3NpdGlvbjoge1xuICAgICAgICAvKiogVGhlIGxpbmUgbnVtYmVyIHRoZSBpbmxpbmUgZmllbGQgYXBwZWFycyBvbi4gKi9cbiAgICAgICAgbGluZTogbnVtYmVyO1xuICAgICAgICAvKiogVGhlIHN0YXJ0IGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgc3RhcnQgY29sdW1uIG9mIHRoZSAqdmFsdWUqIGZvciB0aGUgZmllbGQuIEltbWVkaWF0ZWx5IGFmdGVyIHRoZSAnOjonLiAqL1xuICAgICAgICBzdGFydFZhbHVlOiBudW1iZXI7XG4gICAgICAgIC8qKiBUaGUgZW5kIGNvbHVtbiBvZiB0aGUgZmllbGQuICovXG4gICAgICAgIGVuZDogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqIElmIHRoaXMgaW5saW5lIGZpZWxkIHdhcyBkZWZpbmVkIHZpYSBhIHdyYXBwaW5nICgnWycgb3IgJygnIG9yICdsaW5rJyksIHRoZW4gdGhlIHdyYXBwaW5nIHRoYXQgd2FzIHVzZWQuICovXG4gICAgd3JhcHBpbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBDb252ZXJ0IGFuIGlubGluZSBmaWVsZCB0byBhIEpTT04gZm9ybWF0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGpzb25JbmxpbmVGaWVsZChmaWVsZDogSW5saW5lRmllbGQpOiBKc29uSW5saW5lRmllbGQge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBmaWVsZCwgeyB2YWx1ZTogSnNvbkNvbnZlcnNpb24uanNvbihmaWVsZC52YWx1ZSkgfSk7XG59XG5cbi8qKiBDb252ZXJ0IGEgSlNPTiBpbmxpbmUgZmllbGQgYmFjayB0byBhIHJlZ3VsYXIgZmllbGQuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsdWVJbmxpbmVGaWVsZChmaWVsZDogSnNvbklubGluZUZpZWxkKTogSW5saW5lRmllbGQge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBmaWVsZCwgeyB2YWx1ZTogSnNvbkNvbnZlcnNpb24udmFsdWUoZmllbGQudmFsdWUpIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNJbmxpbmVGaWVsZChsb2NhbDogTG9jYWxJbmxpbmVGaWVsZCwgbGluZW5vOiBudW1iZXIpOiBJbmxpbmVGaWVsZDtcbmV4cG9ydCBmdW5jdGlvbiBhc0lubGluZUZpZWxkKGxvY2FsOiBMb2NhbElubGluZUZpZWxkW10sIGxpbmVubzogbnVtYmVyKTogSW5saW5lRmllbGRbXTtcbi8qKiBDb252ZXJ0IGEgbG9jYWwgaW5saW5lIGZpZWxkIGludG8gYSBmdWxsIGlubGluZSBmaWVsZCBieSBwZXJmb3JtaW5nIHBhcnNpbmcgYW5kIGFkZGluZyB0aGUgY29ycmVjdCBsaW5lIG51bWJlci4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc0lubGluZUZpZWxkKFxuICAgIGxvY2FsOiBMb2NhbElubGluZUZpZWxkIHwgTG9jYWxJbmxpbmVGaWVsZFtdLFxuICAgIGxpbmVubzogbnVtYmVyXG4pOiBJbmxpbmVGaWVsZCB8IElubGluZUZpZWxkW10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsKSkge1xuICAgICAgICByZXR1cm4gbG9jYWwubWFwKChmKSA9PiBhc0lubGluZUZpZWxkKGYsIGxpbmVubykpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGtleTogbG9jYWwua2V5LFxuICAgICAgICByYXc6IGxvY2FsLnZhbHVlLFxuICAgICAgICB2YWx1ZTogcGFyc2VJbmxpbmVWYWx1ZShsb2NhbC52YWx1ZSksXG4gICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICBsaW5lOiBsaW5lbm8sXG4gICAgICAgICAgICBzdGFydDogbG9jYWwuc3RhcnQsXG4gICAgICAgICAgICBzdGFydFZhbHVlOiBsb2NhbC5zdGFydFZhbHVlLFxuICAgICAgICAgICAgZW5kOiBsb2NhbC5lbmQsXG4gICAgICAgIH0sXG4gICAgICAgIHdyYXBwaW5nOiBsb2NhbC53cmFwcGluZyxcbiAgICB9O1xufVxuXG4vKiogVGhlIHdyYXBwZXIgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhbiBpbmxpbmUgZmllbGQuICovXG5leHBvcnQgY29uc3QgSU5MSU5FX0ZJRUxEX1dSQVBQRVJTOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IE9iamVjdC5mcmVlemUoe1xuICAgIFwiW1wiOiBcIl1cIixcbiAgICBcIihcIjogXCIpXCIsXG59KTtcblxuLyoqXG4gKiBGaW5kIGEgbWF0Y2hpbmcgY2xvc2luZyBicmFja2V0IHRoYXQgb2NjdXJzIGF0IG9yIGFmdGVyIGBzdGFydGAsIHJlc3BlY3RpbmcgbmVzdGluZyBhbmQgZXNjYXBlcy4gSWYgZm91bmQsXG4gKiByZXR1cm5zIHRoZSB2YWx1ZSBjb250YWluZWQgd2l0aGluIGFuZCB0aGUgc3RyaW5nIGluZGV4IGFmdGVyIHRoZSBlbmQgb2YgdGhlIHZhbHVlLlxuICovXG5mdW5jdGlvbiBmaW5kQ2xvc2luZyhcbiAgICBsaW5lOiBzdHJpbmcsXG4gICAgc3RhcnQ6IG51bWJlcixcbiAgICBvcGVuOiBzdHJpbmcsXG4gICAgY2xvc2U6IHN0cmluZ1xuKTogeyB2YWx1ZTogc3RyaW5nOyBlbmRJbmRleDogbnVtYmVyIH0gfCB1bmRlZmluZWQge1xuICAgIGxldCBuZXN0aW5nID0gMDtcbiAgICBsZXQgZXNjYXBlZCA9IGZhbHNlO1xuICAgIGZvciAobGV0IGluZGV4ID0gc3RhcnQ7IGluZGV4IDwgbGluZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgbGV0IGNoYXIgPSBsaW5lLmNoYXJBdChpbmRleCk7XG5cbiAgICAgICAgLy8gQWxsb3dzIGZvciBkb3VibGUgZXNjYXBlcyBsaWtlICdcXFxcJyB0byBiZSByZW5kZXJlZCBub3JtYWxseS5cbiAgICAgICAgaWYgKGNoYXIgPT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICAgIGVzY2FwZWQgPSAhZXNjYXBlZDtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgZXNjYXBlZCwgaWdub3JlIHRoZSBuZXh0IGNoYXJhY3RlciBmb3IgY29tcHV0aW5nIG5lc3RpbmcsIHJlZ2FyZGxlc3Mgb2Ygd2hhdCBpdCBpcy5cbiAgICAgICAgaWYgKGVzY2FwZWQpIHtcbiAgICAgICAgICAgIGVzY2FwZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYXIgPT0gb3BlbikgbmVzdGluZysrO1xuICAgICAgICBlbHNlIGlmIChjaGFyID09IGNsb3NlKSBuZXN0aW5nLS07XG5cbiAgICAgICAgLy8gT25seSBvY2N1cnMgaWYgd2UgYXJlIG9uIGEgY2xvc2UgY2hhcmFjdGVyIGFuZCB0cmhlcmUgaXMgbm8gbW9yZSBuZXN0aW5nLlxuICAgICAgICBpZiAobmVzdGluZyA8IDApIHJldHVybiB7IHZhbHVlOiBsaW5lLnN1YnN0cmluZyhzdGFydCwgaW5kZXgpLnRyaW0oKSwgZW5kSW5kZXg6IGluZGV4ICsgMSB9O1xuXG4gICAgICAgIGVzY2FwZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKiogRmluZCB0aGUgJzo6JyBzZXBhcmF0b3IgaW4gYW4gaW5saW5lIGZpZWxkLiAqL1xuZnVuY3Rpb24gZmluZFNlcGFyYXRvcihsaW5lOiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIpOiB7IGtleTogc3RyaW5nOyB2YWx1ZUluZGV4OiBudW1iZXIgfSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHNlcCA9IGxpbmUuaW5kZXhPZihcIjo6XCIsIHN0YXJ0KTtcbiAgICBpZiAoc2VwIDwgMCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7IGtleTogbGluZS5zdWJzdHJpbmcoc3RhcnQsIHNlcCkudHJpbSgpLCB2YWx1ZUluZGV4OiBzZXAgKyAyIH07XG59XG5cbi8qKiBUcnkgdG8gY29tcGxldGVseSBwYXJzZSBhbiBpbmxpbmUgZmllbGQgc3RhcnRpbmcgYXQgdGhlIGdpdmVuIHBvc2l0aW9uLiBBc3N1bWVzIGBzdGFydGAgaXMgb24gYSB3cmFwcGluZyBjaGFyYWN0ZXIuICovXG5mdW5jdGlvbiBmaW5kU3BlY2lmaWNJbmxpbmVGaWVsZChsaW5lOiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIpOiBMb2NhbElubGluZUZpZWxkIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgb3BlbiA9IGxpbmUuY2hhckF0KHN0YXJ0KTtcblxuICAgIGxldCBrZXkgPSBmaW5kU2VwYXJhdG9yKGxpbmUsIHN0YXJ0ICsgMSk7XG4gICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgLy8gRmFpbCB0aGUgbWF0Y2ggaWYgd2UgZmluZCBhbnkgc2VwYXJhdG9yIGNoYXJhY3RlcnMgKG5vdCBhbGxvd2VkIGluIGtleXMpLlxuICAgIGZvciAobGV0IHNlcCBvZiBPYmplY3Qua2V5cyhJTkxJTkVfRklFTERfV1JBUFBFUlMpLmNvbmNhdChPYmplY3QudmFsdWVzKElOTElORV9GSUVMRF9XUkFQUEVSUykpKSB7XG4gICAgICAgIGlmIChrZXkua2V5LmluY2x1ZGVzKHNlcCkpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gZmluZENsb3NpbmcobGluZSwga2V5LnZhbHVlSW5kZXgsIG9wZW4sIElOTElORV9GSUVMRF9XUkFQUEVSU1tvcGVuXSk7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGtleS5rZXksXG4gICAgICAgIHZhbHVlOiB2YWx1ZS52YWx1ZSxcbiAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICBzdGFydFZhbHVlOiBrZXkudmFsdWVJbmRleCxcbiAgICAgICAgZW5kOiB2YWx1ZS5lbmRJbmRleCxcbiAgICAgICAgd3JhcHBpbmc6IG9wZW4sXG4gICAgfTtcbn1cblxuLyoqIFBhcnNlIGEgdGV4dHVhbCBpbmxpbmUgZmllbGQgdmFsdWUgaW50byBzb21ldGhpbmcgd2UgY2FuIHdvcmsgd2l0aC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUlubGluZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBMaXRlcmFsIHtcbiAgICAvLyBFbXB0eSBpbmxpbmUgdmFsdWVzIChpLmUuLCBubyB0ZXh0KSBzaG91bGQgbWFwIHRvIG51bGwgdG8gbWF0Y2ggbG9uZy10ZXJtIERhdGF2aWV3IHNlbWFudGljcy5cbiAgICAvLyBOdWxsIGlzIGFsc28gYSBtb3JlIHVuaXZlcnNhbCB0eXBlIHRvIGRlYWwgd2l0aCB0aGFuIHN0cmluZ3MsIHNpbmNlIGFsbCBmdW5jdGlvbnMgYWNjZXB0IG51bGxzLlxuICAgIGlmICh2YWx1ZS50cmltKCkgPT0gXCJcIikgcmV0dXJuIG51bGw7XG5cbiAgICAvLyBUaGUgc3RyaXBwZWQgbGl0ZXJhbCBmaWVsZCBwYXJzZXIgdW5kZXJzdGFuZHMgYWxsIG9mIHRoZSBub24tYXJyYXkvbm9uLW9iamVjdCBmaWVsZHMgYW5kIGNhbiBwYXJzZSB0aGVtIGZvciB1cy5cbiAgICAvLyBJbmxpbmUgZmllbGQgb2JqZWN0cyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQ7IGlubGluZSBhcnJheSBvYmplY3RzIGhhdmUgdG8gYmUgaGFuZGxlZCBieSB0aGUgcGFyc2VyXG4gICAgLy8gc2VwYXJhdGVseS5cbiAgICBsZXQgaW5saW5lID0gUFJJTUlUSVZFUy5pbmxpbmVGaWVsZC5wYXJzZSh2YWx1ZSk7XG4gICAgaWYgKGlubGluZS5zdGF0dXMpIHJldHVybiBpbmxpbmUudmFsdWU7XG4gICAgZWxzZSByZXR1cm4gdmFsdWU7XG59XG5cbi8qKiBFeHRyYWN0cyBpbmxpbmUgZmllbGRzIG9mIHRoZSBmb3JtICdba2V5OjogdmFsdWVdJyBmcm9tIGEgbGluZSBvZiB0ZXh0LiBUaGlzIGlzIGRvbmUgaW4gYSByZWxhdGl2ZWx5XG4gKiBcInJvYnVzdFwiIHdheSB0byBhdm9pZCBmYWlsaW5nIGR1ZSB0byBiYWQgbmVzdGluZyBvciBvdGhlciBpbnRlcmZlcmluZyBNYXJrZG93biBzeW1ib2xzOlxuICpcbiAqIC0gTG9vayBmb3IgYW55IHdyYXBwZXJzICgnWycgYW5kICcoJykgaW4gdGhlIGxpbmUsIHRyeWluZyB0byBwYXJzZSB3aGF0ZXZlciBjb21lcyBhZnRlciBpdCBhcyBhbiBpbmxpbmUga2V5OjouXG4gKiAtIElmIHN1Y2Nlc3NmdWwsIHNjYW4gdW50aWwgeW91IGZpbmQgYSBtYXRjaGluZyBlbmQgYnJhY2tldCwgYW5kIHBhcnNlIHdoYXRldmVyIHJlbWFpbnMgYXMgYW4gaW5saW5lIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdElubGluZUZpZWxkcyhsaW5lOiBzdHJpbmcsIGluY2x1ZGVUYXNrRmllbGRzOiBib29sZWFuID0gZmFsc2UpOiBMb2NhbElubGluZUZpZWxkW10ge1xuICAgIGxldCBmaWVsZHM6IExvY2FsSW5saW5lRmllbGRbXSA9IFtdO1xuICAgIGZvciAobGV0IHdyYXBwZXIgb2YgT2JqZWN0LmtleXMoSU5MSU5FX0ZJRUxEX1dSQVBQRVJTKSkge1xuICAgICAgICBsZXQgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyKTtcbiAgICAgICAgd2hpbGUgKGZvdW5kSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgbGV0IHBhcnNlZEZpZWxkID0gZmluZFNwZWNpZmljSW5saW5lRmllbGQobGluZSwgZm91bmRJbmRleCk7XG4gICAgICAgICAgICBpZiAoIXBhcnNlZEZpZWxkKSB7XG4gICAgICAgICAgICAgICAgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyLCBmb3VuZEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZpZWxkcy5wdXNoKHBhcnNlZEZpZWxkKTtcbiAgICAgICAgICAgIGZvdW5kSW5kZXggPSBsaW5lLmluZGV4T2Yod3JhcHBlciwgcGFyc2VkRmllbGQuZW5kKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpbmNsdWRlVGFza0ZpZWxkcykgZmllbGRzID0gZmllbGRzLmNvbmNhdChleHRyYWN0U3BlY2lhbFRhc2tGaWVsZHMobGluZSkpO1xuXG4gICAgZmllbGRzLnNvcnQoKGEsIGIpID0+IGEuc3RhcnQgLSBiLnN0YXJ0KTtcblxuICAgIGxldCBmaWx0ZXJlZEZpZWxkczogTG9jYWxJbmxpbmVGaWVsZFtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWVsZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGkgPT0gMCB8fCBmaWx0ZXJlZEZpZWxkc1tmaWx0ZXJlZEZpZWxkcy5sZW5ndGggLSAxXS5lbmQgPCBmaWVsZHNbaV0uc3RhcnQpIHtcbiAgICAgICAgICAgIGZpbHRlcmVkRmllbGRzLnB1c2goZmllbGRzW2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyZWRGaWVsZHM7XG59XG5cbi8qKiBWYWxpZGF0ZXMgdGhhdCBhIHJhdyBmaWVsZCBuYW1lIGhhcyBhIHZhbGlkIGZvcm0uICovXG5jb25zdCBGVUxMX0xJTkVfS0VZX1BBUlQ6IFAuUGFyc2VyPHN0cmluZz4gPSBQLmFsdChcbiAgICBQLnJlZ2V4cChuZXcgUmVnRXhwKGVtb2ppUmVnZXgoKSwgXCJ1XCIpKSxcbiAgICBQLnJlZ2V4cCgvWzAtOVxccHtMZXR0ZXJ9XFx3XFxzXy8tXSsvdSlcbilcbiAgICAubWFueSgpXG4gICAgLm1hcCgocGFydHMpID0+IHBhcnRzLmpvaW4oXCJcIikpO1xuXG5jb25zdCBGVUxMX0xJTkVfS0VZX1BBUlNFUjogUC5QYXJzZXI8c3RyaW5nPiA9IFAucmVnZXhwKC9bXjAtOVxcd1xccHtMZXR0ZXJ9XSovdSlcbiAgICAudGhlbihGVUxMX0xJTkVfS0VZX1BBUlQpXG4gICAgLnNraXAoUC5yZWdleHAoL1tfXFwqfmBdKi91KSk7XG5cbi8qKiBBdHRlbXB0IHRvIGV4dHJhY3QgYSBmdWxsLWxpbmUgZmllbGQgKEtleTo6IFZhbHVlIGNvbnN1bWluZyB0aGUgZW50aXJlIGNvbnRlbnQgbGluZSkuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEZ1bGxMaW5lRmllbGQodGV4dDogc3RyaW5nKTogTG9jYWxJbmxpbmVGaWVsZCB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHNlcCA9IGZpbmRTZXBhcmF0b3IodGV4dCwgMCk7XG4gICAgaWYgKCFzZXApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAvLyBXZSBuZWVkIHRvIHBvc3QtcHJvY2VzcyB0aGUga2V5IHRvIGRyb3AgdW5uZWNlc3Nhcnkgb3BlbmluZyBhbm5vdGF0aW9ucyBhcyB3ZWxsIGFzXG4gICAgLy8gZHJvcCBzdXJyb3VuZGluZyBNYXJrZG93bi5cbiAgICBsZXQgcmVhbEtleSA9IEZVTExfTElORV9LRVlfUEFSU0VSLnBhcnNlKHNlcC5rZXkpO1xuICAgIGlmICghcmVhbEtleS5zdGF0dXMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IHJlYWxLZXkudmFsdWUsXG4gICAgICAgIHZhbHVlOiB0ZXh0LnN1YnN0cmluZyhzZXAudmFsdWVJbmRleCkudHJpbSgpLFxuICAgICAgICBzdGFydDogMCxcbiAgICAgICAgc3RhcnRWYWx1ZTogc2VwLnZhbHVlSW5kZXgsXG4gICAgICAgIGVuZDogdGV4dC5sZW5ndGgsXG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IENSRUFURURfREFURV9SRUdFWCA9IC9cXHV7Mjc5NX1cXHMqKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KS91O1xuZXhwb3J0IGNvbnN0IERVRV9EQVRFX1JFR0VYID0gLyg/OlxcdXsxRjRDNX18XFx1ezFGNEM2fXxcXHV7MUY1RDN9XFx1e0ZFMEZ9PylcXHMqKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KS91O1xuZXhwb3J0IGNvbnN0IERPTkVfREFURV9SRUdFWCA9IC9cXHV7MjcwNX1cXHMqKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KS91O1xuZXhwb3J0IGNvbnN0IFNDSEVEVUxFRF9EQVRFX1JFR0VYID0gL1tcXHV7MjNGM31cXHV7MjMxQn1dXFxzKihcXGR7NH0tXFxkezJ9LVxcZHsyfSkvdTtcbmV4cG9ydCBjb25zdCBTVEFSVF9EQVRFX1JFR0VYID0gL1xcdXsxRjZFQn1cXHMqKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KS91O1xuXG5leHBvcnQgY29uc3QgRU1PSklfUkVHRVhFUyA9IFtcbiAgICB7IHJlZ2V4OiBDUkVBVEVEX0RBVEVfUkVHRVgsIGtleTogXCJjcmVhdGVkXCIgfSxcbiAgICB7IHJlZ2V4OiBTVEFSVF9EQVRFX1JFR0VYLCBrZXk6IFwic3RhcnRcIiB9LFxuICAgIHsgcmVnZXg6IFNDSEVEVUxFRF9EQVRFX1JFR0VYLCBrZXk6IFwic2NoZWR1bGVkXCIgfSxcbiAgICB7IHJlZ2V4OiBEVUVfREFURV9SRUdFWCwga2V5OiBcImR1ZVwiIH0sXG4gICAgeyByZWdleDogRE9ORV9EQVRFX1JFR0VYLCBrZXk6IFwiY29tcGxldGlvblwiIH0sXG5dO1xuXG4vKiogUGFyc2Ugc3BlY2lhbCBjb21wbGV0ZWQvZHVlL2RvbmUgdGFzayBmaWVsZHMgd2hpY2ggYXJlIG1hcmtlZCB2aWEgZW1vamkuICovXG5mdW5jdGlvbiBleHRyYWN0U3BlY2lhbFRhc2tGaWVsZHMobGluZTogc3RyaW5nKTogTG9jYWxJbmxpbmVGaWVsZFtdIHtcbiAgICBsZXQgcmVzdWx0czogTG9jYWxJbmxpbmVGaWVsZFtdID0gW107XG5cbiAgICBmb3IgKGxldCB7IHJlZ2V4LCBrZXkgfSBvZiBFTU9KSV9SRUdFWEVTKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gcmVnZXguZXhlYyhsaW5lKTtcbiAgICAgICAgaWYgKCFtYXRjaCkgY29udGludWU7XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHZhbHVlOiBtYXRjaFsxXSxcbiAgICAgICAgICAgIHN0YXJ0OiBtYXRjaC5pbmRleCxcbiAgICAgICAgICAgIHN0YXJ0VmFsdWU6IG1hdGNoLmluZGV4ICsgMSxcbiAgICAgICAgICAgIGVuZDogbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGgsXG4gICAgICAgICAgICB3cmFwcGluZzogXCJlbW9qaS1zaG9ydGhhbmRcIixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG59XG5cbi8qKiBTZXRzIG9yIHJlcGxhY2VzIHRoZSB2YWx1ZSBvZiBhbiBpbmxpbmUgZmllbGQ7IGlmIHRoZSB2YWx1ZSBpcyAndW5kZWZpbmVkJywgZGVsZXRlcyB0aGUga2V5LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldElubGluZUZpZWxkKHNvdXJjZTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBleGlzdGluZyA9IGV4dHJhY3RJbmxpbmVGaWVsZHMoc291cmNlKTtcbiAgICBsZXQgZXhpc3RpbmdLZXlzID0gZXhpc3RpbmcuZmlsdGVyKChmKSA9PiBmLmtleSA9PSBrZXkpO1xuXG4gICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgaWYgdGhlcmUgYXJlIGR1cGxpY2F0ZSBrZXlzIE9SIHRoZSBrZXkgYWxyZWFkeSBkb2Vzbid0IGV4aXN0LlxuICAgIGlmIChleGlzdGluZ0tleXMubGVuZ3RoID4gMiB8fCAoZXhpc3RpbmdLZXlzLmxlbmd0aCA9PSAwICYmICF2YWx1ZSkpIHJldHVybiBzb3VyY2U7XG4gICAgbGV0IGV4aXN0aW5nS2V5ID0gZXhpc3RpbmdLZXlzWzBdO1xuXG4gICAgbGV0IGFubm90YXRpb24gPSB2YWx1ZSA/IGBbJHtrZXl9OjogJHt2YWx1ZX1dYCA6IFwiXCI7XG4gICAgaWYgKGV4aXN0aW5nS2V5KSB7XG4gICAgICAgIGxldCBwcmVmaXggPSBzb3VyY2Uuc3Vic3RyaW5nKDAsIGV4aXN0aW5nS2V5LnN0YXJ0KTtcbiAgICAgICAgbGV0IHN1ZmZpeCA9IHNvdXJjZS5zdWJzdHJpbmcoZXhpc3RpbmdLZXkuZW5kKTtcblxuICAgICAgICBpZiAoYW5ub3RhdGlvbikgcmV0dXJuIGAke3ByZWZpeH0ke2Fubm90YXRpb259JHtzdWZmaXh9YDtcbiAgICAgICAgZWxzZSByZXR1cm4gYCR7cHJlZml4fSR7c3VmZml4LnRyaW1TdGFydCgpfWA7XG4gICAgfSBlbHNlIGlmIChhbm5vdGF0aW9uKSB7XG4gICAgICAgIHJldHVybiBgJHtzb3VyY2UudHJpbUVuZCgpfSAke2Fubm90YXRpb259YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RW1vamlTaG9ydGhhbmRDb21wbGV0aW9uRmllbGQoc291cmNlOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleGlzdGluZyA9IGV4dHJhY3RJbmxpbmVGaWVsZHMoc291cmNlLCB0cnVlKTtcbiAgICBjb25zdCBleGlzdGluZ0tleXMgPSBleGlzdGluZy5maWx0ZXIoKGYpID0+IGYua2V5ID09PSBcImNvbXBsZXRpb25cIiAmJiBmLndyYXBwaW5nID09PSBcImVtb2ppLXNob3J0aGFuZFwiKTtcblxuICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyBPUiB0aGUga2V5IGFscmVhZHkgZG9lc24ndCBleGlzdC5cbiAgICBpZiAoZXhpc3RpbmdLZXlzLmxlbmd0aCA+IDIgfHwgKGV4aXN0aW5nS2V5cy5sZW5ndGggPT0gMCAmJiAhdmFsdWUpKSByZXR1cm4gc291cmNlO1xuXG4gICAgLyogTm8gd3JhcHBlciwgYWRkIG93biBzcGFjaW5nIGF0IHN0YXJ0ICovXG4gICAgY29uc3QgYW5ub3RhdGlvbiA9IHZhbHVlID8gYCBcdTI3MDUgJHt2YWx1ZX1gIDogXCJcIjtcbiAgICBsZXQgZXhpc3RpbmdLZXkgPSBleGlzdGluZ0tleXNbMF07XG4gICAgaWYgKGV4aXN0aW5nS2V5KSB7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHNvdXJjZS5zdWJzdHJpbmcoMCwgZXhpc3RpbmdLZXkuc3RhcnQpO1xuICAgICAgICBjb25zdCBzdWZmaXggPSBzb3VyY2Uuc3Vic3RyaW5nKGV4aXN0aW5nS2V5LmVuZCk7XG4gICAgICAgIHJldHVybiBgJHtwcmVmaXgudHJpbUVuZCgpfSR7YW5ub3RhdGlvbn0ke3N1ZmZpeH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgJHtzb3VyY2UudHJpbUVuZCgpfSR7YW5ub3RhdGlvbn1gO1xuICAgIH1cbn1cbiIsICIvKiogTWFwIHRoZSB2YWx1ZXMgb2YgYW4gb2JqZWN0LCByZXR1cm5pbmcgYSBuZXcgb2JqZWN0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcE9iamVjdFZhbHVlczxWLCBVPihvYmplY3Q6IFJlY29yZDxzdHJpbmcsIFY+LCBmdW5jOiAoeDogVikgPT4gVSk6IFJlY29yZDxzdHJpbmcsIFU+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFU+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqZWN0KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IGZ1bmModmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG4iLCAiaW1wb3J0IHsgTGluaywgSnNvbkxpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IERhdGVUaW1lLCBEdXJhdGlvbiB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgbWFwT2JqZWN0VmFsdWVzIH0gZnJvbSBcInV0aWxzL2RhdGFcIjtcblxuLyoqIEpTT04tc2VyaWFsaXplZCBlcXVpdmFsZW50cyBmb3IgbGl0ZXJhbHMuICovXG5leHBvcnQgdHlwZSBKc29uTGl0ZXJhbCA9XG4gICAgfCBib29sZWFuXG4gICAgfCBudW1iZXJcbiAgICB8IHN0cmluZ1xuICAgIHwgeyAkX3R5cGU6IFwiZGF0ZVwiOyB2YWx1ZTogc3RyaW5nIH1cbiAgICB8IHsgJF90eXBlOiBcImR1cmF0aW9uXCI7IHZhbHVlOiBzdHJpbmcgfVxuICAgIHwgeyAkX3R5cGU6IFwibGlua1wiOyB2YWx1ZTogSnNvbkxpbmsgfVxuICAgIHwgQXJyYXk8SnNvbkxpdGVyYWw+XG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgfCBudWxsO1xuXG5leHBvcnQgbmFtZXNwYWNlIEpzb25Db252ZXJzaW9uIHtcbiAgICBleHBvcnQgY29uc3QgTk9PUF9OT1JNQUxJWkVSOiAoaW5wdXQ6IExpdGVyYWwpID0+IExpdGVyYWwgPSAoaW5wdXQpID0+IGlucHV0O1xuXG4gICAgLyoqIENvbnZlcnQgYSBsaXRlcmFsIHZhbHVlIHRvIGEgc2FmZSwgcGVyc2lzdGVudCBKU09OIGVxdWl2YWxlbnQuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGpzb24obGl0ZXJhbDogTGl0ZXJhbCk6IEpzb25MaXRlcmFsIHtcbiAgICAgICAgY29uc3Qgd3JhcHBlZCA9IExpdGVyYWxzLndyYXBWYWx1ZShsaXRlcmFsKTtcbiAgICAgICAgaWYgKCF3cmFwcGVkKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBzd2l0Y2ggKHdyYXBwZWQ/LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm1hcChKc29uQ29udmVyc2lvbi5qc29uKTtcbiAgICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwT2JqZWN0VmFsdWVzKHdyYXBwZWQudmFsdWUsIEpzb25Db252ZXJzaW9uLmpzb24pO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyAkX3R5cGU6IFwiZGF0ZVwiLCB2YWx1ZTogd3JhcHBlZC52YWx1ZS50b0lTTyh7IGV4dGVuZGVkWm9uZTogdHJ1ZSwgaW5jbHVkZU9mZnNldDogdHJ1ZSB9KSB9O1xuICAgICAgICAgICAgY2FzZSBcImxpbmtcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyAkX3R5cGU6IFwibGlua1wiLCB2YWx1ZTogd3JhcHBlZC52YWx1ZS50b09iamVjdCgpIH07XG4gICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyAkX3R5cGU6IFwiZHVyYXRpb25cIiwgdmFsdWU6IHdyYXBwZWQudmFsdWUudG9JU08oKSB9O1xuICAgICAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnQgYSBKU09OIGxpdGVyYWwgdG8gaXQncyBjb3JyZXNwb25kaW5nIGh5ZHJhdGVkIHZhbHVlLCBvcHRpb25hbGx5IGFwcGx5aW5nXG4gICAgICogYSBub3JtYWxpemF0aW9uIHN0ZXAgdG8gdGhlIHJlc3VsdGluZyB2YWx1ZSBhbmQgYW55IGxpdGVyYWxzIGNvbnRhaW5lZCB3aXRoaW4gaXRcbiAgICAgKiAoc3VjaCBhcyBpZiB0aGUgbGl0ZXJhbCBpcyBhIGxpc3Qgb3Igb2JqZWN0KS5cbiAgICAgKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gdmFsdWUoanNvbjogSnNvbkxpdGVyYWwsIG5vcm1hbGl6ZXI6IChpbnB1dDogTGl0ZXJhbCkgPT4gTGl0ZXJhbCA9IE5PT1BfTk9STUFMSVpFUik6IExpdGVyYWwge1xuICAgICAgICBpZiAoanNvbiA9PT0gbnVsbCB8fCBqc29uID09PSB1bmRlZmluZWQpIHJldHVybiBudWxsO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGpzb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplcihqc29uLm1hcCgoaW5wdXQpID0+IEpzb25Db252ZXJzaW9uLnZhbHVlKGlucHV0LCBub3JtYWxpemVyKSkpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBqc29uID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoIShcIiRfdHlwZVwiIGluIGpzb24pKVxuICAgICAgICAgICAgICAgIHJldHVybiBtYXBPYmplY3RWYWx1ZXMoanNvbiwgKHYpID0+IEpzb25Db252ZXJzaW9uLnZhbHVlKHYgYXMgSnNvbkxpdGVyYWwsIG5vcm1hbGl6ZXIpKTtcblxuICAgICAgICAgICAgY29uc3QgdHlwZSA9IGpzb25bXCIkX3R5cGVcIl07XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiZGF0ZVwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplcihEYXRlVGltZS5mcm9tSVNPKGpzb24udmFsdWUpKTtcbiAgICAgICAgICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoRHVyYXRpb24uZnJvbUlTTyhqc29uLnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgY2FzZSBcImxpbmtcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoTGluay5mcm9tT2JqZWN0KGpzb24udmFsdWUpKTtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBzZXJpYWxpemVkIHR5cGUgJyR7dHlwZX0nIWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJpbWl0aXZlIHR5cGUsIHJldHVybiBhcyBpcy5cbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZXIoanNvbiBhcyBMaXRlcmFsKTtcbiAgICB9XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGluZGV4YWJsZXNcbiAqL1xuaW1wb3J0IHsgTGluaywgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBnZXRGaWxlVGl0bGUgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7XG4gICAgRklMRV9UWVBFLFxuICAgIEZpbGUsXG4gICAgSW5kZXhhYmxlLFxuICAgIExJTktBQkxFX1RZUEUsXG4gICAgTElOS0JFQVJJTkdfVFlQRSxcbiAgICBMaW5rYWJsZSxcbiAgICBMaW5rYmVhcmluZyxcbiAgICBUQUdHQUJMRV9UWVBFLFxuICAgIFRhZ2dhYmxlLFxufSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXhhYmxlXCI7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHtcbiAgICBFeHRyYWN0b3JzLFxuICAgIEZJRUxEQkVBUklOR19UWVBFLFxuICAgIEZpZWxkLFxuICAgIEZpZWxkRXh0cmFjdG9yLFxuICAgIEZpZWxkYmVhcmluZyxcbiAgICBGaWVsZGJlYXJpbmdzLFxufSBmcm9tIFwiLi4vLi4vZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgSW5saW5lRmllbGQsIGpzb25JbmxpbmVGaWVsZCwgdmFsdWVJbmxpbmVGaWVsZCB9IGZyb20gXCJpbmRleC9pbXBvcnQvaW5saW5lLWZpZWxkXCI7XG5pbXBvcnQge1xuICAgIExpbmVTcGFuLFxuICAgIEpzb25NYXJrZG93blBhZ2UsXG4gICAgSnNvbk1hcmtkb3duU2VjdGlvbixcbiAgICBKc29uTWFya2Rvd25CbG9jayxcbiAgICBKc29uTWFya2Rvd25MaXN0QmxvY2ssXG4gICAgSnNvbk1hcmtkb3duTGlzdEl0ZW0sXG4gICAgSnNvbk1hcmtkb3duVGFza0l0ZW0sXG4gICAgSnNvbk1hcmtkb3duRGF0YWJsb2NrIGFzIEpzb25NYXJrZG93bkRhdGFibG9jayxcbiAgICBKc29uTWFya2Rvd25Db2RlYmxvY2ssXG4gICAgSnNvbkZyb250bWF0dGVyRW50cnksXG59IGZyb20gXCIuL2pzb24vbWFya2Rvd25cIjtcbmltcG9ydCB7IG1hcE9iamVjdFZhbHVlcyB9IGZyb20gXCJ1dGlscy9kYXRhXCI7XG5pbXBvcnQgeyBKc29uQ29udmVyc2lvbiB9IGZyb20gXCIuL2pzb24vY29tbW9uXCI7XG5cbi8qKiBBIG1hcmtkb3duIGZpbGUgaW4gdGhlIHZhdWx0OyB0aGUgc291cmNlIG9mIG1vc3QgbWV0YWRhdGEuICovXG5leHBvcnQgY2xhc3MgTWFya2Rvd25QYWdlIGltcGxlbWVudHMgRmlsZSwgTGlua2JlYXJpbmcsIFRhZ2dhYmxlLCBJbmRleGFibGUsIEZpZWxkYmVhcmluZyB7XG4gICAgLyoqIEFsbCBvZiB0aGUgdHlwZXMgdGhhdCBhIG1hcmtkb3duIGZpbGUgaXMuICovXG4gICAgc3RhdGljIFRZUEVTID0gW0ZJTEVfVFlQRSwgXCJtYXJrZG93blwiLCBcInBhZ2VcIiwgVEFHR0FCTEVfVFlQRSwgTElOS0FCTEVfVFlQRSwgTElOS0JFQVJJTkdfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgLy8gVXNlIHN0YXRpYyB0eXBlcyBmb3IgYWxsIG1hcmtkb3duIGZpbGVzLlxuICAgICR0eXBlczogc3RyaW5nW10gPSBNYXJrZG93blBhZ2UuVFlQRVM7XG4gICAgJHR5cGVuYW1lOiBzdHJpbmcgPSBcIlBhZ2VcIjtcblxuICAgIC8vIE1hcmtkb3duIGZpbGUgSURzIGFyZSBhbHdheXMganVzdCB0aGUgZnVsbCBwYXRoLlxuICAgIGdldCAkaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiRwYXRoO1xuICAgIH1cbiAgICAvLyBUaGUgZmlsZSBvZiBhIGZpbGUgaXMuLi4gaXQncyBmaWxlLlxuICAgIGdldCAkZmlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBhdGg7XG4gICAgfVxuXG4gICAgLyoqIEZyb250bWF0dGVyIHZhbHVlcyBpbiB0aGUgZmlsZSwgaWYgcHJlc2VudC4gTWFwcyBsb3dlciBjYXNlIGZyb250bWF0dGVyIGtleSAtPiBlbnRyeS4gKi9cbiAgICAkZnJvbnRtYXR0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5PjtcbiAgICAvKiogTWFwIG9mIGFsbCBkaXN0aW5jdCBpbmxpbmUgZmllbGRzIGluIHRoZSBkb2N1bWVudC4gTWFwcyBsb3dlciBjYXNlIGtleSBuYW1lIC0+IGZ1bGwgbWV0YWRhdGEuICovXG4gICAgJGluZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVGaWVsZD47XG5cbiAgICAvKiogVGhlIHBhdGggdGhpcyBmaWxlIGV4aXN0cyBhdC4gKi9cbiAgICAkcGF0aDogc3RyaW5nO1xuICAgIC8qKiBPYnNpZGlhbi1wcm92aWRlZCBkYXRlIHRoaXMgcGFnZSB3YXMgY3JlYXRlZC4gKi9cbiAgICAkY3RpbWU6IERhdGVUaW1lO1xuICAgIC8qKiBPYnNpZGlhbi1wcm92aWRlZCBkYXRlIHRoaXMgcGFnZSB3YXMgbW9kaWZpZWQuICovXG4gICAgJG10aW1lOiBEYXRlVGltZTtcbiAgICAvKiogVGhlIGV4dGVuc2lvbjsgZm9yIG1hcmtkb3duIGZpbGVzLCBhbG1vc3QgYWx3YXlzICcubWQnLiAqL1xuICAgICRleHRlbnNpb246IHN0cmluZztcbiAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgc2l6ZSBvZiB0aGlzIHBhZ2UgaW4gYnl0ZXMuICovXG4gICAgJHNpemU6IG51bWJlciA9IDA7XG4gICAgLyoqIFRoZSBmdWxsIGV4dGVudCBvZiB0aGUgZmlsZSAoc3RhcnQgMCwgZW5kIHRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhlIGZpbGUuKSAqL1xuICAgICRwb3NpdGlvbjogTGluZVNwYW47XG4gICAgLyoqIFRoZSBleGFjdCB0YWdzIGluIHRoZSBmaWxlLiAqL1xuICAgICR0YWdzOiBzdHJpbmdbXTtcbiAgICAvKiogQWxsIGxpbmtzIGluIHRoZSBmaWxlLiAqL1xuICAgICRsaW5rczogTGlua1tdO1xuICAgIC8qKlxuICAgICAqIEFsbCBjaGlsZCBtYXJrZG93biBzZWN0aW9ucyBvZiB0aGlzIG1hcmtkb3duIGZpbGUuIFRoZSBpbml0aWFsIHNlY3Rpb24gYmVmb3JlIGFueSBjb250ZW50IGlzIHNwZWNpYWwgYW5kIGlzXG4gICAgICogbmFtZWQgd2l0aCB0aGUgdGl0bGUgb2YgdGhlIGZpbGUuXG4gICAgICovXG4gICAgJHNlY3Rpb25zOiBNYXJrZG93blNlY3Rpb25bXSA9IFtdO1xuXG4gICAgLyoqIENyZWF0ZSBhIG1hcmtkb3duIGZpbGUgZnJvbSB0aGUgZ2l2ZW4gcmF3IHZhbHVlcy4gKi9cbiAgICBzdGF0aWMgZnJvbShyYXc6IEpzb25NYXJrZG93blBhZ2UsIG5vcm1hbGl6ZXI6IExpbmtOb3JtYWxpemVyID0gTk9PUF9OT1JNQUxJWkVSKTogTWFya2Rvd25QYWdlIHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbnMgPSByYXcuJHNlY3Rpb25zLm1hcCgoc2VjdCkgPT4gTWFya2Rvd25TZWN0aW9uLmZyb20oc2VjdCwgcmF3LiRwYXRoLCBub3JtYWxpemVyKSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBNYXJrZG93blBhZ2Uoe1xuICAgICAgICAgICAgJHBhdGg6IHJhdy4kcGF0aCxcbiAgICAgICAgICAgICRmcm9udG1hdHRlcjogcmF3LiRmcm9udG1hdHRlclxuICAgICAgICAgICAgICAgID8gbWFwT2JqZWN0VmFsdWVzKHJhdy4kZnJvbnRtYXR0ZXIsIChmbSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVGcm9udG1hdHRlckVudHJ5KGZtKSwgbm9ybWFsaXplcikpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhyYXcuJGluZmllbGRzLCAoZmllbGQpID0+IG5vcm1hbGl6ZUxpbmtzKHZhbHVlSW5saW5lRmllbGQoZmllbGQpLCBub3JtYWxpemVyKSksXG4gICAgICAgICAgICAkY3RpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMocmF3LiRjdGltZSksXG4gICAgICAgICAgICAkbXRpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMocmF3LiRtdGltZSksXG4gICAgICAgICAgICAkZXh0ZW5zaW9uOiByYXcuJGV4dGVuc2lvbixcbiAgICAgICAgICAgICRzaXplOiByYXcuJHNpemUsXG4gICAgICAgICAgICAkcG9zaXRpb246IHJhdy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkdGFnczogcmF3LiR0YWdzLFxuICAgICAgICAgICAgJGxpbmtzOiByYXcuJGxpbmtzLm1hcCgobGluaykgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobGluaykpKSxcbiAgICAgICAgICAgICRzZWN0aW9uczogc2VjdGlvbnMsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoaW5pdDogUGFydGlhbDxNYXJrZG93blBhZ2U+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoZSBkb2N1bWVudC4gKi9cbiAgICBnZXQgJGxpbmVDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBvc2l0aW9uLmVuZDtcbiAgICB9XG5cbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIGZpbGUuICovXG4gICAgZ2V0ICRuYW1lKCkge1xuICAgICAgICByZXR1cm4gZ2V0RmlsZVRpdGxlKHRoaXMuJHBhdGgpO1xuICAgIH1cblxuICAgIC8qKiBBIGxpbmsgdG8gdGhpcyBmaWxlLiAqL1xuICAgIGdldCAkbGluaygpIHtcbiAgICAgICAgcmV0dXJuIExpbmsuZmlsZSh0aGlzLiRwYXRoKTtcbiAgICB9XG5cbiAgICAvKiogQWxsIG9mIHRoZSBpbmRleGVkIGZpZWxkcyBpbiB0aGlzIG9iamVjdC4gKi9cbiAgICBnZXQgZmllbGRzKCk6IEZpZWxkW10ge1xuICAgICAgICByZXR1cm4gTWFya2Rvd25QYWdlLkZJRUxEX0RFRih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHRoZSBmdWxsIGZpZWxkIGRlZmluaXRpb24gZm9yIHRoZSBnaXZlbiBmaWVsZC4gKi9cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpOiBGaWVsZCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBNYXJrZG93blBhZ2UuRklFTERfREVGKHRoaXMsIGtleSk/LlswXTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHRoZSB2YWx1ZSBmb3IgdGhlIGdpdmVuIGZpZWxkLiAqL1xuICAgIHB1YmxpYyB2YWx1ZShrZXk6IHN0cmluZyk6IExpdGVyYWwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZChrZXkpPy52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQ29udmVydCB0aGlzIHBhZ2UgaW50byBpdCdzIHBhcnRpYWwgcmVwcmVzZW50YXRpb24gZm9yIHNhdmluZy4gKi9cbiAgICBwdWJsaWMganNvbigpOiBKc29uTWFya2Rvd25QYWdlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRwYXRoOiB0aGlzLiRwYXRoLFxuICAgICAgICAgICAgJGZyb250bWF0dGVyOiB0aGlzLiRmcm9udG1hdHRlciA/IG1hcE9iamVjdFZhbHVlcyh0aGlzLiRmcm9udG1hdHRlciwganNvbkZyb250bWF0dGVyRW50cnkpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgJGluZmllbGRzOiBtYXBPYmplY3RWYWx1ZXModGhpcy4kaW5maWVsZHMsIGpzb25JbmxpbmVGaWVsZCksXG4gICAgICAgICAgICAkY3RpbWU6IHRoaXMuJGN0aW1lLnRvTWlsbGlzKCksXG4gICAgICAgICAgICAkbXRpbWU6IHRoaXMuJG10aW1lLnRvTWlsbGlzKCksXG4gICAgICAgICAgICAkZXh0ZW5zaW9uOiB0aGlzLiRleHRlbnNpb24sXG4gICAgICAgICAgICAkc2l6ZTogdGhpcy4kc2l6ZSxcbiAgICAgICAgICAgICRwb3NpdGlvbjogdGhpcy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkdGFnczogdGhpcy4kdGFncyxcbiAgICAgICAgICAgICRsaW5rczogdGhpcy4kbGlua3MubWFwKChsaW5rKSA9PiBsaW5rLnRvT2JqZWN0KCkpLFxuICAgICAgICAgICAgJHNlY3Rpb25zOiB0aGlzLiRzZWN0aW9ucy5tYXAoKHNlY3QpID0+IHNlY3QuanNvbigpKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBGSUVMRF9ERUY6IEZpZWxkRXh0cmFjdG9yPE1hcmtkb3duUGFnZT4gPSBFeHRyYWN0b3JzLm1lcmdlKFxuICAgICAgICBFeHRyYWN0b3JzLmludHJpbnNpY3MoKSxcbiAgICAgICAgRXh0cmFjdG9ycy5mcm9udG1hdHRlcigoZikgPT4gZi4kZnJvbnRtYXR0ZXIpLFxuICAgICAgICBFeHRyYWN0b3JzLmlubGluZUZpZWxkcygoZikgPT4gZi4kaW5maWVsZHMpXG4gICAgKTtcbn1cblxuZXhwb3J0IGNsYXNzIE1hcmtkb3duU2VjdGlvbiBpbXBsZW1lbnRzIEluZGV4YWJsZSwgVGFnZ2FibGUsIExpbmthYmxlLCBMaW5rYmVhcmluZywgRmllbGRiZWFyaW5nIHtcbiAgICAvKiogQWxsIG9mIHRoZSB0eXBlcyB0aGF0IGEgbWFya2Rvd24gc2VjdGlvbiBpcy4gKi9cbiAgICBzdGF0aWMgVFlQRVMgPSBbXCJtYXJrZG93blwiLCBcInNlY3Rpb25cIiwgVEFHR0FCTEVfVFlQRSwgTElOS0FCTEVfVFlQRSwgTElOS0JFQVJJTkdfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgLyoqIFBhdGggb2YgdGhlIGZpbGUgdGhhdCB0aGlzIHNlY3Rpb24gaXMgaW4uICovXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IE1hcmtkb3duU2VjdGlvbi5UWVBFUztcbiAgICAkdHlwZW5hbWU6IHN0cmluZyA9IFwiU2VjdGlvblwiO1xuICAgICRpZDogc3RyaW5nO1xuICAgICRmaWxlOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIGluZGV4IG9mIHRoaXMgc2VjdGlvbiBpbiB0aGUgZmlsZS4gKi9cbiAgICAkb3JkaW5hbDogbnVtYmVyO1xuICAgIC8qKiBUaGUgdGl0bGUgb2YgdGhlIHNlY3Rpb247IHRoZSByb290IChpbXBsaWNpdCkgc2VjdGlvbiB3aWxsIGhhdmUgdGhlIHRpdGxlIG9mIHRoZSBwYWdlLiAqL1xuICAgICR0aXRsZTogc3RyaW5nO1xuICAgIC8qKiBUaGUgaW5kZW50YXRpb24gbGV2ZWwgb2YgdGhlIHNlY3Rpb24gKDEgLSA2KS4gKi9cbiAgICAkbGV2ZWw6IG51bWJlcjtcbiAgICAvKiogVGhlIHNwYW4gb2YgbGluZXMgaW5kaWNhdGluZyB0aGUgcG9zaXRpb24gb2YgdGhlIHNlY3Rpb24uICovXG4gICAgJHBvc2l0aW9uOiBMaW5lU3BhbjtcbiAgICAvKiogQWxsIHRhZ3Mgb24gdGhlIGZpbGUuICovXG4gICAgJHRhZ3M6IHN0cmluZ1tdO1xuICAgIC8qKiBBbGwgbGlua3MgaW4gdGhlIGZpbGUuICovXG4gICAgJGxpbmtzOiBMaW5rW107XG4gICAgLyoqIEFsbCBvZiB0aGUgbWFya2Rvd24gYmxvY2tzIGluIHRoaXMgc2VjdGlvbi4gKi9cbiAgICAkYmxvY2tzOiBNYXJrZG93bkJsb2NrW107XG4gICAgLyoqIE1hcCBvZiBhbGwgZGlzdGluY3QgaW5saW5lIGZpZWxkcyBpbiB0aGUgZG9jdW1lbnQsIGZyb20ga2V5IG5hbWUgLT4gbWV0YWRhdGEuICovXG4gICAgJGluZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVGaWVsZD47XG5cbiAgICAvKiogQ29udmVydCByYXcgbWFya2Rvd24gc2VjdGlvbiBkYXRhIHRvIHRoZSBhcHByb3ByaWF0ZSBjbGFzcy4gKi9cbiAgICBzdGF0aWMgZnJvbShyYXc6IEpzb25NYXJrZG93blNlY3Rpb24sIGZpbGU6IHN0cmluZywgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVIpOiBNYXJrZG93blNlY3Rpb24ge1xuICAgICAgICBjb25zdCBibG9ja3MgPSByYXcuJGJsb2Nrcy5tYXAoKGJsb2NrKSA9PiBNYXJrZG93bkJsb2NrLmZyb20oYmxvY2ssIGZpbGUsIG5vcm1hbGl6ZXIpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBNYXJrZG93blNlY3Rpb24oe1xuICAgICAgICAgICAgJGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAkaWQ6IE1hcmtkb3duU2VjdGlvbi5yZWFkYWJsZUlkKGZpbGUsIHJhdy4kdGl0bGUsIHJhdy4kb3JkaW5hbCksXG4gICAgICAgICAgICAkb3JkaW5hbDogcmF3LiRvcmRpbmFsLFxuICAgICAgICAgICAgJHRpdGxlOiByYXcuJHRpdGxlLFxuICAgICAgICAgICAgJGxldmVsOiByYXcuJGxldmVsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiByYXcuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJHRhZ3M6IHJhdy4kdGFncyxcbiAgICAgICAgICAgICRsaW5rczogcmF3LiRsaW5rcy5tYXAoKGwpID0+IG5vcm1hbGl6ZXIoTGluay5mcm9tT2JqZWN0KGwpKSksXG4gICAgICAgICAgICAkYmxvY2tzOiBibG9ja3MsXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhyYXcuJGluZmllbGRzLCAoaSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVJbmxpbmVGaWVsZChpKSwgbm9ybWFsaXplcikpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGluaXQ6IFBhcnRpYWw8TWFya2Rvd25TZWN0aW9uPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gdGhlIG51bWJlciBvZiBsaW5lcyBpbiB0aGUgc2VjdGlvbi4gKi9cbiAgICBnZXQgJGxpbmVDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy4kcG9zaXRpb24uZW5kIC0gdGhpcy4kcG9zaXRpb24uc3RhcnQ7XG4gICAgfVxuXG4gICAgLyoqIEFsaWFzIGZvciB0aXRsZSB3aGljaCBhbGxvd3Mgc2VhcmNoaW5nIG92ZXIgcGFnZXMgYW5kIHNlY3Rpb25zIGJ5ICduYW1lJy4gKi9cbiAgICBnZXQgJG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHRpdGxlO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYSBsaW5rIHRvIHRoaXMgc2VjdGlvbi4gKi9cbiAgICBnZXQgJGxpbmsoKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmhlYWRlcih0aGlzLiRmaWxlLCB0aGlzLiR0aXRsZSk7XG4gICAgfVxuXG4gICAgLyoqIEFsbCBvZiB0aGUgaW5kZXhlZCBmaWVsZHMgaW4gdGhpcyBvYmplY3QuICovXG4gICAgZ2V0IGZpZWxkcygpOiBGaWVsZFtdIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duU2VjdGlvbi5GSUVMRF9ERUYodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIEZldGNoIGEgc3BlY2lmaWMgZmllbGQgYnkga2V5LiAqL1xuICAgIHB1YmxpYyBmaWVsZChrZXk6IHN0cmluZyk6IEZpZWxkIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duU2VjdGlvbi5GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdID8/IEZpZWxkYmVhcmluZ3MuZ2V0V2l0aERlZmF1bHQodGhpcywga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWUoa2V5OiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoa2V5KT8udmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbk1hcmtkb3duU2VjdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkb3JkaW5hbDogdGhpcy4kb3JkaW5hbCxcbiAgICAgICAgICAgICR0aXRsZTogdGhpcy4kdGl0bGUsXG4gICAgICAgICAgICAkbGV2ZWw6IHRoaXMuJGxldmVsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiB0aGlzLiRwb3NpdGlvbixcbiAgICAgICAgICAgICR0YWdzOiB0aGlzLiR0YWdzLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLiRsaW5rcy5tYXAoKGxpbmspID0+IGxpbmsudG9PYmplY3QoKSksXG4gICAgICAgICAgICAkYmxvY2tzOiB0aGlzLiRibG9ja3MubWFwKChibG9jaykgPT4gYmxvY2suanNvbigpKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKHRoaXMuJGluZmllbGRzLCBqc29uSW5saW5lRmllbGQpLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIEZJRUxEX0RFRjogRmllbGRFeHRyYWN0b3I8TWFya2Rvd25TZWN0aW9uPiA9IEV4dHJhY3RvcnMubWVyZ2UoXG4gICAgICAgIEV4dHJhY3RvcnMuaW50cmluc2ljcygpLFxuICAgICAgICBFeHRyYWN0b3JzLmlubGluZUZpZWxkcygoZikgPT4gZi4kaW5maWVsZHMpXG4gICAgKTtcblxuICAgIC8qKiBHZW5lcmF0ZSBhIHJlYWRhYmxlIElEIGZvciB0aGlzIHNlY3Rpb24gdXNpbmcgdGhlIGZpcnN0IDggY2hhcmFjdGVycyBvZiB0aGUgc3RyaW5nIGFuZCB0aGUgb3JkaW5hbC4gKi9cbiAgICBzdGF0aWMgcmVhZGFibGVJZChmaWxlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIG9yZGluYWw6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpcnN0OCA9IHRpdGxlLnN1YnN0cmluZygwLCBNYXRoLm1pbih0aXRsZS5sZW5ndGgsIDgpKS5yZXBsYWNlKC9bXkEtWmEtejAtOS1fXSsvZ2ksIFwiLVwiKTtcblxuICAgICAgICByZXR1cm4gYCR7ZmlsZX0vc2VjdGlvbiR7b3JkaW5hbH0vJHtmaXJzdDh9YDtcbiAgICB9XG59XG5cbi8qKiBCYXNlIGNsYXNzIGZvciBhbGwgbWFya2Rvd24gYmxvY2tzLiAqL1xuZXhwb3J0IGNsYXNzIE1hcmtkb3duQmxvY2sgaW1wbGVtZW50cyBJbmRleGFibGUsIExpbmtiZWFyaW5nLCBUYWdnYWJsZSwgRmllbGRiZWFyaW5nIHtcbiAgICBzdGF0aWMgVFlQRVMgPSBbXCJtYXJrZG93blwiLCBcImJsb2NrXCIsIExJTktCRUFSSU5HX1RZUEUsIFRBR0dBQkxFX1RZUEUsIEZJRUxEQkVBUklOR19UWVBFXTtcblxuICAgICR0eXBlczogc3RyaW5nW10gPSBNYXJrZG93bkJsb2NrLlRZUEVTO1xuICAgICR0eXBlbmFtZTogc3RyaW5nID0gXCJCbG9ja1wiO1xuICAgICRpZDogc3RyaW5nO1xuICAgICRmaWxlOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIGluZGV4IG9mIHRoaXMgYmxvY2sgaW4gdGhlIGZpbGUuICovXG4gICAgJG9yZGluYWw6IG51bWJlcjtcbiAgICAvKiogVGhlIHBvc2l0aW9uL2V4dGVudCBvZiB0aGUgYmxvY2suICovXG4gICAgJHBvc2l0aW9uOiBMaW5lU3BhbjtcbiAgICAvKiogQWxsIHRhZ3Mgb24gdGhlIGJsb2NrLiAqL1xuICAgICR0YWdzOiBzdHJpbmdbXTtcbiAgICAvKiogQWxsIGxpbmtzIGluIHRoZSBmaWxlLiAqL1xuICAgICRsaW5rczogTGlua1tdO1xuICAgIC8qKiBNYXAgb2YgYWxsIGRpc3RpbmN0IGlubGluZSBmaWVsZHMgaW4gdGhlIGRvY3VtZW50LCBmcm9tIGtleSBuYW1lIC0+IG1ldGFkYXRhLiAqL1xuICAgICRpbmZpZWxkczogUmVjb3JkPHN0cmluZywgSW5saW5lRmllbGQ+O1xuICAgIC8qKiBJZiBwcmVzZW50LCB0aGUgZGlzdGluY3QgYmxvY2sgSUQgZm9yIHRoaXMgYmxvY2suICovXG4gICAgJGJsb2NrSWQ/OiBzdHJpbmc7XG4gICAgLyoqIFRoZSB0eXBlIG9mIGJsb2NrIC0gcGFyYWdyYXBoLCBsaXN0LCBhbmQgc28gb24uICovXG4gICAgJHR5cGU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tKG9iamVjdDogSnNvbk1hcmtkb3duQmxvY2ssIGZpbGU6IHN0cmluZywgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVIpOiBNYXJrZG93bkJsb2NrIHtcbiAgICAgICAgaWYgKG9iamVjdC4kdHlwZSA9PT0gXCJsaXN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXJrZG93bkxpc3RCbG9jay5mcm9tKG9iamVjdCBhcyBKc29uTWFya2Rvd25MaXN0QmxvY2ssIGZpbGUsIG5vcm1hbGl6ZXIpO1xuICAgICAgICB9IGVsc2UgaWYgKG9iamVjdC4kdHlwZSA9PT0gXCJkYXRhYmxvY2tcIikge1xuICAgICAgICAgICAgcmV0dXJuIE1hcmtkb3duRGF0YWJsb2NrLmZyb20ob2JqZWN0IGFzIEpzb25NYXJrZG93bkRhdGFibG9jaywgZmlsZSwgbm9ybWFsaXplcik7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqZWN0LiR0eXBlID09PSBcImNvZGVibG9ja1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gTWFya2Rvd25Db2RlYmxvY2suZnJvbShvYmplY3QgYXMgSnNvbk1hcmtkb3duQ29kZWJsb2NrLCBmaWxlLCBub3JtYWxpemVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgTWFya2Rvd25CbG9jayh7XG4gICAgICAgICAgICAkZmlsZTogZmlsZSxcbiAgICAgICAgICAgICRpZDogTWFya2Rvd25CbG9jay5yZWFkYWJsZUlkKGZpbGUsIG9iamVjdC4kb3JkaW5hbCksXG4gICAgICAgICAgICAkb3JkaW5hbDogb2JqZWN0LiRvcmRpbmFsLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiBvYmplY3QuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJHRhZ3M6IG9iamVjdC4kdGFncyxcbiAgICAgICAgICAgICRsaW5rczogb2JqZWN0LiRsaW5rcy5tYXAoKGwpID0+IG5vcm1hbGl6ZXIoTGluay5mcm9tT2JqZWN0KGwpKSksXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhvYmplY3QuJGluZmllbGRzLCAoaSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVJbmxpbmVGaWVsZChpKSwgbm9ybWFsaXplcikpLFxuICAgICAgICAgICAgJGJsb2NrSWQ6IG9iamVjdC4kYmxvY2tJZCxcbiAgICAgICAgICAgICR0eXBlOiBvYmplY3QuJHR5cGUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPE1hcmtkb3duQmxvY2s+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgfVxuXG4gICAgLyoqIElmIHRoaXMgYmxvY2sgaGFzIGEgYmxvY2sgSUQsIHRoZSBsaW5rIHRvIHRoaXMgYmxvY2suICovXG4gICAgZ2V0ICRsaW5rKCk6IExpbmsgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodGhpcy4kYmxvY2tJZCkgcmV0dXJuIExpbmsuYmxvY2sodGhpcy4kZmlsZSwgdGhpcy4kYmxvY2tJZCk7XG4gICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQWxsIG9mIHRoZSBpbmRleGVkIGZpZWxkcyBpbiB0aGlzIG9iamVjdC4gKi9cbiAgICBnZXQgZmllbGRzKCkge1xuICAgICAgICByZXR1cm4gTWFya2Rvd25CbG9jay5GSUVMRF9ERUYodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIEZldGNoIGEgc3BlY2lmaWMgZmllbGQgYnkga2V5LiAqL1xuICAgIHB1YmxpYyBmaWVsZChrZXk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gTWFya2Rvd25CbG9jay5GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdID8/IEZpZWxkYmVhcmluZ3MuZ2V0V2l0aERlZmF1bHQodGhpcywga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWUoa2V5OiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoa2V5KT8udmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbk1hcmtkb3duQmxvY2sge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJG9yZGluYWw6IHRoaXMuJG9yZGluYWwsXG4gICAgICAgICAgICAkcG9zaXRpb246IHRoaXMuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJHRhZ3M6IHRoaXMuJHRhZ3MsXG4gICAgICAgICAgICAkbGlua3M6IHRoaXMuJGxpbmtzLm1hcCgobCkgPT4gbC50b09iamVjdCgpKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKHRoaXMuJGluZmllbGRzLCBqc29uSW5saW5lRmllbGQpLFxuICAgICAgICAgICAgJGJsb2NrSWQ6IHRoaXMuJGJsb2NrSWQsXG4gICAgICAgICAgICAkdHlwZTogdGhpcy4kdHlwZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgRklFTERfREVGOiBGaWVsZEV4dHJhY3RvcjxNYXJrZG93bkJsb2NrPiA9IEV4dHJhY3RvcnMubWVyZ2UoXG4gICAgICAgIEV4dHJhY3RvcnMuaW50cmluc2ljcygpLFxuICAgICAgICBFeHRyYWN0b3JzLmlubGluZUZpZWxkcygoZikgPT4gZi4kaW5maWVsZHMpXG4gICAgKTtcblxuICAgIC8qKiBHZW5lcmF0ZSBhIHJlYWRhYmxlIElEIGZvciB0aGlzIGJsb2NrIHVzaW5nIHRoZSBvcmRpbmFsIG9mIHRoZSBibG9jay4gKi9cbiAgICBzdGF0aWMgcmVhZGFibGVJZChmaWxlOiBzdHJpbmcsIG9yZGluYWw6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtmaWxlfS9ibG9jayR7b3JkaW5hbH1gO1xuICAgIH1cbn1cblxuLyoqIFNwZWNpYWwgYmxvY2sgZm9yIG1hcmtkb3duIGxpc3RzIChvZiBlaXRoZXIgcGxhaW4gbGlzdCBlbnRyaWVzIG9yIHRhc2tzKS4gKi9cbmV4cG9ydCBjbGFzcyBNYXJrZG93bkxpc3RCbG9jayBleHRlbmRzIE1hcmtkb3duQmxvY2sgaW1wbGVtZW50cyBUYWdnYWJsZSwgTGlua2JlYXJpbmcge1xuICAgIHN0YXRpYyBUWVBFUyA9IFtcIm1hcmtkb3duXCIsIFwiYmxvY2tcIiwgXCJibG9jay1saXN0XCIsIFRBR0dBQkxFX1RZUEUsIExJTktCRUFSSU5HX1RZUEVdO1xuXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IE1hcmtkb3duTGlzdEJsb2NrLlRZUEVTO1xuICAgICR0eXBlbmFtZTogc3RyaW5nID0gXCJMaXN0IEJsb2NrXCI7XG5cbiAgICAvKiogVGhlIGxpc3QgaXRlbXMgaW5zaWRlIG9mIHRoaXMgYmxvY2suICovXG4gICAgJGVsZW1lbnRzOiBNYXJrZG93bkxpc3RJdGVtW107XG5cbiAgICAvKiogQ3JlYXRlIGEgbGlzdCBibG9jayBmcm9tIGEgc2VyaWFsaXplZCB2YWx1ZS4gKi9cbiAgICBzdGF0aWMgZnJvbShcbiAgICAgICAgb2JqZWN0OiBKc29uTWFya2Rvd25MaXN0QmxvY2ssXG4gICAgICAgIGZpbGU6IHN0cmluZyxcbiAgICAgICAgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVJcbiAgICApOiBNYXJrZG93bkxpc3RCbG9jayB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gb2JqZWN0LiRlbGVtZW50cy5tYXAoKGVsZW0pID0+IE1hcmtkb3duTGlzdEl0ZW0uZnJvbShlbGVtLCBmaWxlLCBub3JtYWxpemVyKSk7XG4gICAgICAgIHJldHVybiBuZXcgTWFya2Rvd25MaXN0QmxvY2soe1xuICAgICAgICAgICAgLy8gVE9ETzogVGhpcyBpcyBzaGFyZWQgd2l0aCBvdGhlciBibG9ja3MsIHNob3VsZCBwcm9iYWJseSBiZSBmaXhlZC5cbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiBNYXJrZG93bkJsb2NrLnJlYWRhYmxlSWQoZmlsZSwgb2JqZWN0LiRvcmRpbmFsKSxcbiAgICAgICAgICAgICRvcmRpbmFsOiBvYmplY3QuJG9yZGluYWwsXG4gICAgICAgICAgICAkcG9zaXRpb246IG9iamVjdC4kcG9zaXRpb24sXG4gICAgICAgICAgICAkdGFnczogb2JqZWN0LiR0YWdzLFxuICAgICAgICAgICAgJGxpbmtzOiBvYmplY3QuJGxpbmtzLm1hcCgobCkgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobCkpKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKG9iamVjdC4kaW5maWVsZHMsIChpKSA9PiBub3JtYWxpemVMaW5rcyh2YWx1ZUlubGluZUZpZWxkKGkpLCBub3JtYWxpemVyKSksXG4gICAgICAgICAgICAkYmxvY2tJZDogb2JqZWN0LiRibG9ja0lkLFxuICAgICAgICAgICAgJGVsZW1lbnRzOiBlbGVtZW50cyxcbiAgICAgICAgICAgICR0eXBlOiBcImxpc3RcIixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbk1hcmtkb3duTGlzdEJsb2NrIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkZWxlbWVudHM6IHRoaXMuJGVsZW1lbnRzLm1hcCgoZWxlbSkgPT4gZWxlbS5qc29uKCkpLFxuICAgICAgICB9KSBhcyBKc29uTWFya2Rvd25MaXN0QmxvY2s7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGluaXQ6IFBhcnRpYWw8TWFya2Rvd25MaXN0QmxvY2s+KSB7XG4gICAgICAgIHN1cGVyKGluaXQpO1xuICAgIH1cbn1cblxuLyoqIEEgYmxvY2sgY29udGFpbmluZyBtYXJrZG93biBjb2RlLiAqL1xuZXhwb3J0IGNsYXNzIE1hcmtkb3duQ29kZWJsb2NrIGV4dGVuZHMgTWFya2Rvd25CbG9jayBpbXBsZW1lbnRzIEluZGV4YWJsZSwgRmllbGRiZWFyaW5nLCBMaW5rYmVhcmluZyB7XG4gICAgc3RhdGljIFRZUEVTID0gW1wibWFya2Rvd25cIiwgXCJibG9ja1wiLCBcImNvZGVibG9ja1wiLCBUQUdHQUJMRV9UWVBFLCBMSU5LQkVBUklOR19UWVBFLCBGSUVMREJFQVJJTkdfVFlQRV07XG5cbiAgICAkdHlwZXM6IHN0cmluZ1tdID0gTWFya2Rvd25Db2RlYmxvY2suVFlQRVM7XG4gICAgJGxhbmd1YWdlczogc3RyaW5nW107XG4gICAgJGNvbnRlbnRQb3NpdGlvbjogeyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9O1xuICAgICRzdHlsZTogXCJmZW5jZWRcIiB8IFwiaW5kZW50XCI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdDogUGFydGlhbDxNYXJrZG93bkNvZGVibG9jaz4pIHtcbiAgICAgICAgc3VwZXIoaW5pdCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGZyb20oXG4gICAgICAgIG9iamVjdDogSnNvbk1hcmtkb3duQ29kZWJsb2NrLFxuICAgICAgICBmaWxlOiBzdHJpbmcsXG4gICAgICAgIG5vcm1hbGl6ZXI6IExpbmtOb3JtYWxpemVyID0gTk9PUF9OT1JNQUxJWkVSXG4gICAgKTogTWFya2Rvd25Db2RlYmxvY2sge1xuICAgICAgICByZXR1cm4gbmV3IE1hcmtkb3duQ29kZWJsb2NrKHtcbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiBNYXJrZG93bkNvZGVibG9jay5yZWFkYWJsZUlkKGZpbGUsIG9iamVjdC4kcG9zaXRpb24uc3RhcnQpLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiBvYmplY3QuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJG9yZGluYWw6IG9iamVjdC4kb3JkaW5hbCxcbiAgICAgICAgICAgICR0eXBlbmFtZTogXCJDb2RlYmxvY2tcIixcbiAgICAgICAgICAgICR0eXBlOiBcImNvZGVibG9ja1wiLFxuICAgICAgICAgICAgJGJsb2NrSWQ6IG9iamVjdC4kYmxvY2tJZCxcbiAgICAgICAgICAgICRsYW5ndWFnZXM6IG9iamVjdC4kbGFuZ3VhZ2VzLFxuICAgICAgICAgICAgJGxpbmtzOiBvYmplY3QuJGxpbmtzLm1hcCgobGluaykgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobGluaykpKSxcbiAgICAgICAgICAgICR0YWdzOiBvYmplY3QuJHRhZ3MsXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhvYmplY3QuJGluZmllbGRzLCB2YWx1ZUlubGluZUZpZWxkKSxcbiAgICAgICAgICAgICRjb250ZW50UG9zaXRpb246IG9iamVjdC4kY29udGVudFBvc2l0aW9uLFxuICAgICAgICAgICAgJHN0eWxlOiBvYmplY3QuJHN0eWxlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQWxsIG9mIHRoZSBpbmRleGVkIGZpZWxkcyBpbiB0aGlzIG9iamVjdC4gKi9cbiAgICBnZXQgZmllbGRzKCkge1xuICAgICAgICByZXR1cm4gTWFya2Rvd25Db2RlYmxvY2suU1VCX0ZJRUxEX0RFRih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogRmV0Y2ggYSBzcGVjaWZpYyBmaWVsZCBieSBrZXkuICovXG4gICAgcHVibGljIGZpZWxkKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBNYXJrZG93bkNvZGVibG9jay5TVUJfRklFTERfREVGKHRoaXMsIGtleSk/LlswXSA/PyBGaWVsZGJlYXJpbmdzLmdldFdpdGhEZWZhdWx0KHRoaXMsIGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbHVlKGtleTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKGtleSk/LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25NYXJrZG93bkNvZGVibG9jayB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN1cGVyLmpzb24oKSwge1xuICAgICAgICAgICAgJGxhbmd1YWdlczogdGhpcy4kbGFuZ3VhZ2VzLFxuICAgICAgICAgICAgJGNvbnRlbnRQb3NpdGlvbjogdGhpcy4kY29udGVudFBvc2l0aW9uLFxuICAgICAgICAgICAgJHN0eWxlOiB0aGlzLiRzdHlsZSxcbiAgICAgICAgfSkgYXMgSnNvbk1hcmtkb3duQ29kZWJsb2NrO1xuICAgIH1cblxuICAgIHN0YXRpYyByZWFkYWJsZUlkKGZpbGU6IHN0cmluZywgbGluZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2ZpbGV9L2NvZGVibG9jayR7bGluZX1gO1xuICAgIH1cblxuICAgIHN0YXRpYyBTVUJfRklFTERfREVGOiBGaWVsZEV4dHJhY3RvcjxNYXJrZG93bkNvZGVibG9jaz4gPSBFeHRyYWN0b3JzLm1lcmdlPE1hcmtkb3duQ29kZWJsb2NrPihcbiAgICAgICAgTWFya2Rvd25CbG9jay5GSUVMRF9ERUZcbiAgICApO1xufVxuXG4vKiogQSBkYXRhLWFubm90YXRlZCBZQU1MIGNvZGVibG9jay4gKi9cbmV4cG9ydCBjbGFzcyBNYXJrZG93bkRhdGFibG9jayBleHRlbmRzIE1hcmtkb3duQmxvY2sgaW1wbGVtZW50cyBJbmRleGFibGUsIEZpZWxkYmVhcmluZywgTGlua2JlYXJpbmcge1xuICAgIHN0YXRpYyBUWVBFUyA9IFtcIm1hcmtkb3duXCIsIFwiYmxvY2tcIiwgXCJkYXRhYmxvY2tcIiwgVEFHR0FCTEVfVFlQRSwgTElOS0JFQVJJTkdfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IE1hcmtkb3duRGF0YWJsb2NrLlRZUEVTO1xuICAgICRkYXRhOiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5PjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPE1hcmtkb3duRGF0YWJsb2NrPikge1xuICAgICAgICBzdXBlcihpbml0KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZnJvbShcbiAgICAgICAgb2JqZWN0OiBKc29uTWFya2Rvd25EYXRhYmxvY2ssXG4gICAgICAgIGZpbGU6IHN0cmluZyxcbiAgICAgICAgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVJcbiAgICApOiBNYXJrZG93bkRhdGFibG9jayB7XG4gICAgICAgIC8vIERhdGFibG9ja3MgYXJlIGJhc2VkIG9uIHdoYXQgaXMgZXNzZW50aWFsbHkganVzdCBmcm9udG1hdHRlcjsgd2UgY2FuIGFwcGx5XG4gICAgICAgIC8vIHRoZSBzYW1lIG5vcm1hbGl6YXRpb24gbG9naWMgdG8gdGhlbS5cbiAgICAgICAgY29uc3Qgbm9ybWRhdGEgPSBub3JtYWxpemVMaW5rcyhtYXBPYmplY3RWYWx1ZXMob2JqZWN0LiRkYXRhLCB2YWx1ZUZyb250bWF0dGVyRW50cnkpLCBub3JtYWxpemVyKTtcbiAgICAgICAgY29uc3QgbGlua3MgPSBnYXRoZXJMaW5rcyhub3JtZGF0YSk7XG4gICAgICAgIGNvbnN0IHRhZ3MgPSBnYXRoZXJUYWdzKG5vcm1kYXRhKTtcblxuICAgICAgICByZXR1cm4gbmV3IE1hcmtkb3duRGF0YWJsb2NrKHtcbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiBNYXJrZG93bkRhdGFibG9jay5yZWFkYWJsZUlkKGZpbGUsIG9iamVjdC4kcG9zaXRpb24uc3RhcnQpLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiBvYmplY3QuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJGluZmllbGRzOiB7fSxcbiAgICAgICAgICAgICRvcmRpbmFsOiBvYmplY3QuJG9yZGluYWwsXG4gICAgICAgICAgICAkZGF0YTogbm9ybWRhdGEsXG4gICAgICAgICAgICAkbGlua3M6IGxpbmtzLFxuICAgICAgICAgICAgJHR5cGVuYW1lOiBcIkRhdGFibG9ja1wiLFxuICAgICAgICAgICAgJHRhZ3M6IHRhZ3MsXG4gICAgICAgICAgICAkdHlwZTogXCJkYXRhYmxvY2tcIixcbiAgICAgICAgICAgICRibG9ja0lkOiBvYmplY3QuJGJsb2NrSWQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBBbGwgb2YgdGhlIGluZGV4ZWQgZmllbGRzIGluIHRoaXMgb2JqZWN0LiAqL1xuICAgIGdldCBmaWVsZHMoKSB7XG4gICAgICAgIHJldHVybiBNYXJrZG93bkRhdGFibG9jay5TVUJfRklFTERfREVGKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKiBGZXRjaCBhIHNwZWNpZmljIGZpZWxkIGJ5IGtleS4gKi9cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duRGF0YWJsb2NrLlNVQl9GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdID8/IEZpZWxkYmVhcmluZ3MuZ2V0V2l0aERlZmF1bHQodGhpcywga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWUoa2V5OiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoa2V5KT8udmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbk1hcmtkb3duRGF0YWJsb2NrIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkZGF0YTogbWFwT2JqZWN0VmFsdWVzKHRoaXMuJGRhdGEsIGpzb25Gcm9udG1hdHRlckVudHJ5KSxcbiAgICAgICAgfSkgYXMgSnNvbk1hcmtkb3duRGF0YWJsb2NrO1xuICAgIH1cblxuICAgIHN0YXRpYyByZWFkYWJsZUlkKGZpbGU6IHN0cmluZywgbGluZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2ZpbGV9L2RhdGFibG9jayR7bGluZX1gO1xuICAgIH1cblxuICAgIHN0YXRpYyBTVUJfRklFTERfREVGOiBGaWVsZEV4dHJhY3RvcjxNYXJrZG93bkRhdGFibG9jaz4gPSBFeHRyYWN0b3JzLm1lcmdlPE1hcmtkb3duRGF0YWJsb2NrPihcbiAgICAgICAgTWFya2Rvd25CbG9jay5GSUVMRF9ERUYsXG4gICAgICAgIEV4dHJhY3RvcnMuZnJvbnRtYXR0ZXIoKGYpID0+IGYuJGRhdGEpXG4gICAgKTtcbn1cblxuLyoqIEEgc3BlY2lmaWMgbGlzdCBpdGVtIGluIGEgbGlzdC4gKi9cbmV4cG9ydCBjbGFzcyBNYXJrZG93bkxpc3RJdGVtIGltcGxlbWVudHMgSW5kZXhhYmxlLCBMaW5rYmVhcmluZywgVGFnZ2FibGUsIEZpZWxkYmVhcmluZyB7XG4gICAgc3RhdGljIFRZUEVTID0gW1wibWFya2Rvd25cIiwgXCJsaXN0LWl0ZW1cIiwgTElOS0JFQVJJTkdfVFlQRSwgVEFHR0FCTEVfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IE1hcmtkb3duTGlzdEl0ZW0uVFlQRVM7XG4gICAgJHR5cGVuYW1lOiBzdHJpbmcgPSBcIkxpc3QgSXRlbVwiO1xuICAgICRpZDogc3RyaW5nO1xuICAgICRmaWxlOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSBsaXN0IGl0ZW0gaW4gdGhlIGZpbGUuICovXG4gICAgJHBvc2l0aW9uOiBMaW5lU3BhbjtcbiAgICAvKiogQ2hpbGQgZWxlbWVudHMgb2YgdGhpcyBsaXN0IGl0ZW0uICovXG4gICAgJGVsZW1lbnRzOiBNYXJrZG93bkxpc3RJdGVtW107XG4gICAgLyoqIFRoZSB0eXBlIG9mIGxpc3QgaXRlbSB0aGF0IHRoaXMgZWxlbWVudCBpcy4gKi9cbiAgICAkdHlwZTogc3RyaW5nO1xuICAgIC8qKiBFeGFjdCB0YWdzIG9uIHRoaXMgbGlzdCBpdGVtLiAqL1xuICAgICR0YWdzOiBzdHJpbmdbXTtcbiAgICAvKiogTWFwIG9mIGFsbCBkaXN0aW5jdCBpbmxpbmUgZmllbGRzIGluIHRoZSBkb2N1bWVudCwgZnJvbSBrZXkgbmFtZSAtPiBtZXRhZGF0YS4gKi9cbiAgICAkaW5maWVsZHM6IFJlY29yZDxzdHJpbmcsIElubGluZUZpZWxkPjtcbiAgICAvKiogQWxsIGxpbmtzIGluIHRoZSBmaWxlLiAqL1xuICAgICRsaW5rczogTGlua1tdO1xuICAgIC8qKiBUaGUgYmxvY2sgSUQgb2YgdGhpcyBsaXN0IGl0ZW0gaWYgcHJlc2VudC4gKi9cbiAgICAkYmxvY2tJZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbGluZSBudW1iZXIgb2YgdGhlIHBhcmVudCBvZiB0aGlzIGxpc3QgaXRlbS5cbiAgICAgKiBJZiBhIHBvc2l0aXZlIG51bWJlciwgdGhlbiB0aGlzIGxpc3QgZWxlbWVudCBpcyBhIGNoaWxkXG4gICAgICogb2YgdGhlIGxpc3QgZWxlbWVudCBhdCB0aGF0IGxpbmUuXG4gICAgICpcbiAgICAgKiBJZiBhIG5lZ2F0aXZlIG51bWJlciwgdGhlbiB0aGlzIGxpc3QgZWxlbWVudCBpcyBhIHJvb3QgZWxlbWVudFxuICAgICAqIG9mIGEgbGlzdCBzdGFydGluZyBhdCB0aGF0IGxpbmUgKG5lZ2F0ZWQpLiBJLmUuLCAtNyBtZWFuc1xuICAgICAqIHRoaXMgaXMgYSByb290IGVsZW1lbnQgb2YgdGhlIGxpc3Qgc3RhcnRpbmcgYXQgbGluZSA3LlxuICAgICAqL1xuICAgICRwYXJlbnRMaW5lOiBudW1iZXI7XG4gICAgLyoqIFRoZSBtYXJrZXIgdXNlZCB0byBzdGFydCB0aGUgbGlzdCBpdGVtIChzdWNoIGFzIC0gb3IgKyBvciAqKS4gT24gYSBtYWxmb3JtZWQgdGFzaywgbWF5IGJlIHVuZGVmaW5lZC4gKi9cbiAgICAkc3ltYm9sPzogc3RyaW5nO1xuICAgIC8qKiBUaGUgdGV4dCBjb250ZW50cyBvZiB0aGUgbGlzdCBpdGVtLiAqL1xuICAgICR0ZXh0Pzogc3RyaW5nO1xuXG4gICAgLyoqIENyZWF0ZSBhIGxpc3QgaXRlbSBmcm9tIGEgc2VyaWFsaXplZCBvYmplY3QuICovXG4gICAgc3RhdGljIGZyb20oXG4gICAgICAgIG9iamVjdDogSnNvbk1hcmtkb3duTGlzdEl0ZW0sXG4gICAgICAgIGZpbGU6IHN0cmluZyxcbiAgICAgICAgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVJcbiAgICApOiBNYXJrZG93bkxpc3RJdGVtIHtcbiAgICAgICAgaWYgKG9iamVjdC4kdHlwZSA9PT0gXCJ0YXNrXCIpIHJldHVybiBNYXJrZG93blRhc2tJdGVtLmZyb20ob2JqZWN0IGFzIEpzb25NYXJrZG93blRhc2tJdGVtLCBmaWxlLCBub3JtYWxpemVyKTtcblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IG9iamVjdC4kZWxlbWVudHMubWFwKChlbGVtKSA9PiBNYXJrZG93bkxpc3RJdGVtLmZyb20oZWxlbSwgZmlsZSwgbm9ybWFsaXplcikpO1xuICAgICAgICByZXR1cm4gbmV3IE1hcmtkb3duTGlzdEl0ZW0oe1xuICAgICAgICAgICAgJGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAkaWQ6IE1hcmtkb3duTGlzdEl0ZW0ucmVhZGFibGVJZChmaWxlLCBvYmplY3QuJHBvc2l0aW9uLnN0YXJ0KSxcbiAgICAgICAgICAgICRwb3NpdGlvbjogb2JqZWN0LiRwb3NpdGlvbixcbiAgICAgICAgICAgICRlbGVtZW50czogZWxlbWVudHMsXG4gICAgICAgICAgICAkdHlwZTogb2JqZWN0LiR0eXBlLFxuICAgICAgICAgICAgJHRhZ3M6IG9iamVjdC4kdGFncyxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKG9iamVjdC4kaW5maWVsZHMsIChpKSA9PiBub3JtYWxpemVMaW5rcyh2YWx1ZUlubGluZUZpZWxkKGkpLCBub3JtYWxpemVyKSksXG4gICAgICAgICAgICAkbGlua3M6IG9iamVjdC4kbGlua3MubWFwKChsKSA9PiBub3JtYWxpemVyKExpbmsuZnJvbU9iamVjdChsKSkpLFxuICAgICAgICAgICAgJGJsb2NrSWQ6IG9iamVjdC4kYmxvY2tJZCxcbiAgICAgICAgICAgICRwYXJlbnRMaW5lOiBvYmplY3QuJHBhcmVudExpbmUsXG4gICAgICAgICAgICAkdGV4dDogb2JqZWN0LiR0ZXh0LFxuICAgICAgICAgICAgJHN5bWJvbDogb2JqZWN0LiRzeW1ib2wsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPE1hcmtkb3duTGlzdEl0ZW0+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgfVxuXG4gICAgLyoqIEdldCB0aGUgbGluZSB0aGF0IHRoaXMgbGlzdCBpdGVtIHN0YXJ0cyBvbi4gKi9cbiAgICBnZXQgJGxpbmUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBvc2l0aW9uLnN0YXJ0O1xuICAgIH1cblxuICAgIC8qKiBUaGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoaXMgbGlzdCBpdGVtLiAqL1xuICAgIGdldCAkbGluZUNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLiRwb3NpdGlvbi5lbmQgLSB0aGlzLiRwb3NpdGlvbi5zdGFydCArIDE7XG4gICAgfVxuXG4gICAgLyoqIENsZWFuZWQgdGV4dCB0aGF0IGlzIGdhcmF1bnRlZWQgdG8gYmUgbm9uLW51bGwgYW5kIGhhcyBpbmRlbmF0aW9uIGFuZCBpbmxpbmUgZmllbGRzIHJlbW92ZWQuICovXG4gICAgZ2V0ICRjbGVhbnRleHQoKSB7XG4gICAgICAgIGlmICghdGhpcy4kdGV4dCkgcmV0dXJuIFwiXCI7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuJHRleHRcbiAgICAgICAgICAgICAgICAvLyBFbGltaW5hdGUgW2tleTo6IHZhbHVlXSBhbm5vdGF0aW9ucy5cbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvKC4qPykoW1xcW1xcKF1bXjooXFxbXSs6OlxccyouKj9bXFxdXFwpXVxccyopJC9nbSwgXCIkMVwiKVxuICAgICAgICAgICAgICAgIC8vIFRyaW0gd2hpdGVzcGFjZS5cbiAgICAgICAgICAgICAgICAudHJpbSgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEFsbCBvZiB0aGUgaW5kZXhlZCBmaWVsZHMgaW4gdGhpcyBvYmplY3QuICovXG4gICAgZ2V0IGZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duTGlzdEl0ZW0uRklFTERfREVGKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKiBGZXRjaCBhIHNwZWNpZmljIGZpZWxkIGJ5IGtleS4gKi9cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIE1hcmtkb3duTGlzdEl0ZW0uRklFTERfREVGKHRoaXMsIGtleSk/LlswXSA/PyBGaWVsZGJlYXJpbmdzLmdldFdpdGhEZWZhdWx0KHRoaXMsIGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbHVlKGtleTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKGtleSk/LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25NYXJrZG93bkxpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRwb3NpdGlvbjogdGhpcy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkZWxlbWVudHM6IHRoaXMuJGVsZW1lbnRzLm1hcCgoZWxlbSkgPT4gZWxlbS5qc29uKCkpLFxuICAgICAgICAgICAgJHR5cGU6IHRoaXMuJHR5cGUsXG4gICAgICAgICAgICAkdGFnczogdGhpcy4kdGFncyxcbiAgICAgICAgICAgICRpbmZpZWxkczogbWFwT2JqZWN0VmFsdWVzKHRoaXMuJGluZmllbGRzLCBqc29uSW5saW5lRmllbGQpLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLiRsaW5rcyxcbiAgICAgICAgICAgICRibG9ja0lkOiB0aGlzLiRibG9ja0lkLFxuICAgICAgICAgICAgJHBhcmVudExpbmU6IHRoaXMuJHBhcmVudExpbmUsXG4gICAgICAgICAgICAkc3ltYm9sOiB0aGlzLiRzeW1ib2wsXG4gICAgICAgICAgICAkdGV4dDogdGhpcy4kdGV4dCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBGSUVMRF9ERUY6IEZpZWxkRXh0cmFjdG9yPE1hcmtkb3duTGlzdEl0ZW0+ID0gRXh0cmFjdG9ycy5tZXJnZShcbiAgICAgICAgRXh0cmFjdG9ycy5pbnRyaW5zaWNzKCksXG4gICAgICAgIEV4dHJhY3RvcnMuaW5saW5lRmllbGRzKChmKSA9PiBmLiRpbmZpZWxkcylcbiAgICApO1xuXG4gICAgLyoqIEdlbmVyYXRlIGEgcmVhZGFibGUgSUQgZm9yIHRoaXMgaXRlbSB1c2luZyB0aGUgbGluZSBudW1iZXIuICovXG4gICAgc3RhdGljIHJlYWRhYmxlSWQoZmlsZTogc3RyaW5nLCBsaW5lOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7ZmlsZX0vbGlzdCR7bGluZX1gO1xuICAgIH1cbn1cblxuLyoqIEEgc3BlY2lmaWMgdGFzayBpbnNpZGUgb2YgYSBtYXJrZG93biBsaXN0LiAqL1xuZXhwb3J0IGNsYXNzIE1hcmtkb3duVGFza0l0ZW0gZXh0ZW5kcyBNYXJrZG93bkxpc3RJdGVtIGltcGxlbWVudHMgSW5kZXhhYmxlLCBMaW5rYmVhcmluZywgVGFnZ2FibGUsIEZpZWxkYmVhcmluZyB7XG4gICAgc3RhdGljIFRZUEVTID0gW1wibWFya2Rvd25cIiwgXCJsaXN0LWl0ZW1cIiwgXCJ0YXNrXCIsIExJTktCRUFSSU5HX1RZUEUsIFRBR0dBQkxFX1RZUEUsIEZJRUxEQkVBUklOR19UWVBFXTtcblxuICAgICR0eXBlczogc3RyaW5nW10gPSBNYXJrZG93blRhc2tJdGVtLlRZUEVTO1xuICAgICR0eXBlbmFtZTogc3RyaW5nID0gXCJUYXNrXCI7XG5cbiAgICAvKiogVGhlIHRleHQgaW5zaWRlIG9mIHRoZSB0YXNrIGl0ZW0uICovXG4gICAgJHN0YXR1czogc3RyaW5nO1xuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tKG9iamVjdDogSnNvbk1hcmtkb3duVGFza0l0ZW0sIGZpbGU6IHN0cmluZywgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIpOiBNYXJrZG93blRhc2tJdGVtIHtcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBvYmplY3QuJGVsZW1lbnRzLm1hcCgoZWxlbSkgPT4gTWFya2Rvd25MaXN0SXRlbS5mcm9tKGVsZW0sIGZpbGUsIG5vcm1hbGl6ZXIpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBNYXJrZG93blRhc2tJdGVtKHtcbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiBNYXJrZG93bkxpc3RJdGVtLnJlYWRhYmxlSWQoZmlsZSwgb2JqZWN0LiRwb3NpdGlvbi5zdGFydCksXG4gICAgICAgICAgICAkcG9zaXRpb246IG9iamVjdC4kcG9zaXRpb24sXG4gICAgICAgICAgICAkZWxlbWVudHM6IGVsZW1lbnRzLFxuICAgICAgICAgICAgJHR5cGU6IG9iamVjdC4kdHlwZSxcbiAgICAgICAgICAgICR0YWdzOiBvYmplY3QuJHRhZ3MsXG4gICAgICAgICAgICAkaW5maWVsZHM6IG1hcE9iamVjdFZhbHVlcyhvYmplY3QuJGluZmllbGRzLCAoaSkgPT4gbm9ybWFsaXplTGlua3ModmFsdWVJbmxpbmVGaWVsZChpKSwgbm9ybWFsaXplcikpLFxuICAgICAgICAgICAgJGxpbmtzOiBvYmplY3QuJGxpbmtzLm1hcCgobCkgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobCkpKSxcbiAgICAgICAgICAgICRibG9ja0lkOiBvYmplY3QuJGJsb2NrSWQsXG4gICAgICAgICAgICAkcGFyZW50TGluZTogb2JqZWN0LiRwYXJlbnRMaW5lLFxuICAgICAgICAgICAgJHN0YXR1czogb2JqZWN0LiRzdGF0dXMsXG4gICAgICAgICAgICAkc3ltYm9sOiBvYmplY3QuJHN5bWJvbCxcbiAgICAgICAgICAgICR0ZXh0OiBvYmplY3QuJHRleHQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPE1hcmtkb3duVGFza0l0ZW0+KSB7XG4gICAgICAgIHN1cGVyKGluaXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25NYXJrZG93bkxpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkc3RhdHVzOiB0aGlzLiRzdGF0dXMsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIHRhc2sgaXMgY29tcGxldGVkLiAqL1xuICAgIHB1YmxpYyBnZXQgJGNvbXBsZXRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHN0YXR1cyA9PT0gXCJ4XCIgfHwgdGhpcy4kc3RhdHVzID09PSBcIlhcIjtcbiAgICB9XG59XG5cbi8qKiBBbiBlbnRyeSBpbiB0aGUgZnJvbnRtYXR0ZXI7IGluY2x1ZGVzIHRoZSByYXcgdmFsdWUsIHBhcnNlZCB2YWx1ZSwgYW5kIHJhdyBrZXkgKGJlZm9yZSBsb3dlci1jYXNpbmcpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGcm9udG1hdHRlckVudHJ5IHtcbiAgICAvKiogVGhlIGFjdHVhbCBzdHJpbmcgaW4gZnJvbnRtYXR0ZXIgd2l0aCBleGFjdCBjYXNpbmcuICovXG4gICAga2V5OiBzdHJpbmc7XG4gICAgLyoqIFRoZSBwYXJzZWQgdmFsdWUgb2YgdGhlIGZyb250bWF0dGVyIGVudHJ5IChkYXRlLCBkdXJhdGlvbiwgZXRjLikuICovXG4gICAgdmFsdWU6IExpdGVyYWw7XG4gICAgLyoqIFRoZSByYXcgdmFsdWUgb2YgdGhlIGZyb250bWF0dGVyIGVudHJ5IGJlZm9yZSBwYXJzaW5nOyBnZW5lcmFsbHkgYSBzdHJpbmcgb3IgbnVtYmVyLiAqL1xuICAgIHJhdzogc3RyaW5nO1xufVxuXG4vKiogQ29udmVydCBhIHJlZ3VsYXIgZnJvbnRtYXR0ZXIgZW50cnkgaW50byBhIEpTT04gZnJvbnRtYXR0ZXIgZW50cnkuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqc29uRnJvbnRtYXR0ZXJFbnRyeShyYXc6IEZyb250bWF0dGVyRW50cnkpOiBKc29uRnJvbnRtYXR0ZXJFbnRyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiByYXcua2V5LFxuICAgICAgICB2YWx1ZTogSnNvbkNvbnZlcnNpb24uanNvbihyYXcudmFsdWUpLFxuICAgICAgICByYXc6IHJhdy5yYXcsXG4gICAgfTtcbn1cblxuLyoqIENvbnZlcnQgYSBqc29uIGZyb250bWF0dGVyIGVudHJ5IHRvIGEgcmVndWxhciBmcm9udG1hdHRlciBlbnRyeS5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlRnJvbnRtYXR0ZXJFbnRyeShyYXc6IEpzb25Gcm9udG1hdHRlckVudHJ5KTogRnJvbnRtYXR0ZXJFbnRyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiByYXcua2V5LFxuICAgICAgICB2YWx1ZTogSnNvbkNvbnZlcnNpb24udmFsdWUocmF3LnZhbHVlKSxcbiAgICAgICAgcmF3OiByYXcucmF3LFxuICAgIH07XG59XG5cbi8qKiBOb3JtYWxpemUgbGlua3MgZGVlcGx5IGluIHRoZSBvYmplY3QuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVMaW5rczxUIGV4dGVuZHMgTGl0ZXJhbD4oaW5wdXQ6IFQsIG5vcm1hbGl6ZXI6IExpbmtOb3JtYWxpemVyKTogVCB7XG4gICAgcmV0dXJuIExpdGVyYWxzLm1hcExlYXZlcyhpbnB1dCwgKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChMaXRlcmFscy5pc0xpbmsodmFsdWUpKSByZXR1cm4gbm9ybWFsaXplcih2YWx1ZSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIHZhbHVlO1xuICAgIH0pIGFzIFQ7XG59XG5cbi8qKiBSZWN1cnNpdmVseSBnYXRoZXIgbGlua3MgZnJvbSBhIGxpdGVyYWwgb2JqZWN0LlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2F0aGVyTGlua3MoaW5wdXQ6IExpdGVyYWwpOiBMaW5rW10ge1xuICAgIGNvbnN0IHJlc3VsdDogTGlua1tdID0gW107XG5cbiAgICBMaXRlcmFscy5tYXBMZWF2ZXMoaW5wdXQsICh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAoTGl0ZXJhbHMuaXNMaW5rKHZhbHVlKSkgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKiBHYXRoZXIgdGFncyBmcm9tIGEgZGF0YWJsb2NrLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2F0aGVyVGFncyhkYXRhOiBSZWNvcmQ8c3RyaW5nLCBGcm9udG1hdHRlckVudHJ5Pik6IHN0cmluZ1tdIHtcbiAgICBmdW5jdGlvbiByZWN1cnNlKGlucHV0OiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgICAgIGlmIChMaXRlcmFscy5pc1N0cmluZyhpbnB1dCkpIHJldHVybiBbaW5wdXQuc3RhcnRzV2l0aChcIiNcIikgPyBpbnB1dCA6IFwiI1wiICsgaW5wdXRdO1xuICAgICAgICBlbHNlIGlmIChMaXRlcmFscy5pc0FycmF5KGlucHV0KSkgcmV0dXJuIGlucHV0LmZsYXRNYXAocmVjdXJzZSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGxldCB0YWdzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChcInRhZ1wiIGluIGRhdGEpIHRhZ3MgPSB0YWdzLmNvbmNhdChyZWN1cnNlKGRhdGFbXCJ0YWdzXCJdKSk7XG4gICAgaWYgKFwidGFnc1wiIGluIGRhdGEpIHRhZ3MgPSB0YWdzLmNvbmNhdChyZWN1cnNlKGRhdGFbXCJ0YWdzXCJdKSk7XG5cbiAgICByZXR1cm4gdGFncztcbn1cblxuLyoqIEEgbGluayBub3JtYWxpemVyIHdoaWNoIHRha2VzIGluIGEgcmF3IGxpbmsgYW5kIHByb2R1Y2VzIGEgbm9ybWFsaXplZCBsaW5rLiAqL1xuZXhwb3J0IHR5cGUgTGlua05vcm1hbGl6ZXIgPSAobGluazogTGluaykgPT4gTGluaztcbmV4cG9ydCBjb25zdCBOT09QX05PUk1BTElaRVI6IExpbmtOb3JtYWxpemVyID0gKHgpID0+IHg7XG4iLCAiZnVuY3Rpb24gX3R5cGVvZihvKSB7XG4gIFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjtcblxuICByZXR1cm4gX3R5cGVvZiA9IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgU3ltYm9sICYmIFwic3ltYm9sXCIgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA/IGZ1bmN0aW9uIChvKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvO1xuICB9IDogZnVuY3Rpb24gKG8pIHtcbiAgICByZXR1cm4gbyAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBvLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgbyAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2YgbztcbiAgfSwgX3R5cGVvZihvKTtcbn1cbmV4cG9ydCB7IF90eXBlb2YgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiLi90eXBlb2YuanNcIjtcbmZ1bmN0aW9uIHRvUHJpbWl0aXZlKHQsIHIpIHtcbiAgaWYgKFwib2JqZWN0XCIgIT0gX3R5cGVvZih0KSB8fCAhdCkgcmV0dXJuIHQ7XG4gIHZhciBlID0gdFtTeW1ib2wudG9QcmltaXRpdmVdO1xuICBpZiAodm9pZCAwICE9PSBlKSB7XG4gICAgdmFyIGkgPSBlLmNhbGwodCwgciB8fCBcImRlZmF1bHRcIik7XG4gICAgaWYgKFwib2JqZWN0XCIgIT0gX3R5cGVvZihpKSkgcmV0dXJuIGk7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuXCIpO1xuICB9XG4gIHJldHVybiAoXCJzdHJpbmdcIiA9PT0gciA/IFN0cmluZyA6IE51bWJlcikodCk7XG59XG5leHBvcnQgeyB0b1ByaW1pdGl2ZSBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBfdHlwZW9mIGZyb20gXCIuL3R5cGVvZi5qc1wiO1xuaW1wb3J0IHRvUHJpbWl0aXZlIGZyb20gXCIuL3RvUHJpbWl0aXZlLmpzXCI7XG5mdW5jdGlvbiB0b1Byb3BlcnR5S2V5KHQpIHtcbiAgdmFyIGkgPSB0b1ByaW1pdGl2ZSh0LCBcInN0cmluZ1wiKTtcbiAgcmV0dXJuIFwic3ltYm9sXCIgPT0gX3R5cGVvZihpKSA/IGkgOiBpICsgXCJcIjtcbn1cbmV4cG9ydCB7IHRvUHJvcGVydHlLZXkgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgdG9Qcm9wZXJ0eUtleSBmcm9tIFwiLi90b1Byb3BlcnR5S2V5LmpzXCI7XG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSwgciwgdCkge1xuICByZXR1cm4gKHIgPSB0b1Byb3BlcnR5S2V5KHIpKSBpbiBlID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIHIsIHtcbiAgICB2YWx1ZTogdCxcbiAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICBjb25maWd1cmFibGU6ICEwLFxuICAgIHdyaXRhYmxlOiAhMFxuICB9KSA6IGVbcl0gPSB0LCBlO1xufVxuZXhwb3J0IHsgX2RlZmluZVByb3BlcnR5IGFzIGRlZmF1bHQgfTsiLCAiaW1wb3J0IGRlZmluZVByb3BlcnR5IGZyb20gXCIuL2RlZmluZVByb3BlcnR5LmpzXCI7XG5mdW5jdGlvbiBvd25LZXlzKGUsIHIpIHtcbiAgdmFyIHQgPSBPYmplY3Qua2V5cyhlKTtcbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgbyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7XG4gICAgciAmJiAobyA9IG8uZmlsdGVyKGZ1bmN0aW9uIChyKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLCByKS5lbnVtZXJhYmxlO1xuICAgIH0pKSwgdC5wdXNoLmFwcGx5KHQsIG8pO1xuICB9XG4gIHJldHVybiB0O1xufVxuZnVuY3Rpb24gX29iamVjdFNwcmVhZDIoZSkge1xuICBmb3IgKHZhciByID0gMTsgciA8IGFyZ3VtZW50cy5sZW5ndGg7IHIrKykge1xuICAgIHZhciB0ID0gbnVsbCAhPSBhcmd1bWVudHNbcl0gPyBhcmd1bWVudHNbcl0gOiB7fTtcbiAgICByICUgMiA/IG93bktleXMoT2JqZWN0KHQpLCAhMCkuZm9yRWFjaChmdW5jdGlvbiAocikge1xuICAgICAgZGVmaW5lUHJvcGVydHkoZSwgciwgdFtyXSk7XG4gICAgfSkgOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHQpKSA6IG93bktleXMoT2JqZWN0KHQpKS5mb3JFYWNoKGZ1bmN0aW9uIChyKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgciwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LCByKSk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGU7XG59XG5leHBvcnQgeyBfb2JqZWN0U3ByZWFkMiBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9hcnJheVdpdGhIb2xlcyhyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHIpKSByZXR1cm4gcjtcbn1cbmV4cG9ydCB7IF9hcnJheVdpdGhIb2xlcyBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChyLCBsKSB7XG4gIHZhciB0ID0gbnVsbCA9PSByID8gbnVsbCA6IFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIFN5bWJvbCAmJiByW1N5bWJvbC5pdGVyYXRvcl0gfHwgcltcIkBAaXRlcmF0b3JcIl07XG4gIGlmIChudWxsICE9IHQpIHtcbiAgICB2YXIgZSxcbiAgICAgIG4sXG4gICAgICBpLFxuICAgICAgdSxcbiAgICAgIGEgPSBbXSxcbiAgICAgIGYgPSAhMCxcbiAgICAgIG8gPSAhMTtcbiAgICB0cnkge1xuICAgICAgaWYgKGkgPSAodCA9IHQuY2FsbChyKSkubmV4dCwgMCA9PT0gbCkge1xuICAgICAgICBpZiAoT2JqZWN0KHQpICE9PSB0KSByZXR1cm47XG4gICAgICAgIGYgPSAhMTtcbiAgICAgIH0gZWxzZSBmb3IgKDsgIShmID0gKGUgPSBpLmNhbGwodCkpLmRvbmUpICYmIChhLnB1c2goZS52YWx1ZSksIGEubGVuZ3RoICE9PSBsKTsgZiA9ICEwKTtcbiAgICB9IGNhdGNoIChyKSB7XG4gICAgICBvID0gITAsIG4gPSByO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIWYgJiYgbnVsbCAhPSB0W1wicmV0dXJuXCJdICYmICh1ID0gdFtcInJldHVyblwiXSgpLCBPYmplY3QodSkgIT09IHUpKSByZXR1cm47XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAobykgdGhyb3cgbjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGE7XG4gIH1cbn1cbmV4cG9ydCB7IF9pdGVyYWJsZVRvQXJyYXlMaW1pdCBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KHIsIGEpIHtcbiAgKG51bGwgPT0gYSB8fCBhID4gci5sZW5ndGgpICYmIChhID0gci5sZW5ndGgpO1xuICBmb3IgKHZhciBlID0gMCwgbiA9IEFycmF5KGEpOyBlIDwgYTsgZSsrKSBuW2VdID0gcltlXTtcbiAgcmV0dXJuIG47XG59XG5leHBvcnQgeyBfYXJyYXlMaWtlVG9BcnJheSBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBhcnJheUxpa2VUb0FycmF5IGZyb20gXCIuL2FycmF5TGlrZVRvQXJyYXkuanNcIjtcbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShyLCBhKSB7XG4gIGlmIChyKSB7XG4gICAgaWYgKFwic3RyaW5nXCIgPT0gdHlwZW9mIHIpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KHIsIGEpO1xuICAgIHZhciB0ID0ge30udG9TdHJpbmcuY2FsbChyKS5zbGljZSg4LCAtMSk7XG4gICAgcmV0dXJuIFwiT2JqZWN0XCIgPT09IHQgJiYgci5jb25zdHJ1Y3RvciAmJiAodCA9IHIuY29uc3RydWN0b3IubmFtZSksIFwiTWFwXCIgPT09IHQgfHwgXCJTZXRcIiA9PT0gdCA/IEFycmF5LmZyb20ocikgOiBcIkFyZ3VtZW50c1wiID09PSB0IHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHQpID8gYXJyYXlMaWtlVG9BcnJheShyLCBhKSA6IHZvaWQgMDtcbiAgfVxufVxuZXhwb3J0IHsgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IGFzIGRlZmF1bHQgfTsiLCAiZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbn1cbmV4cG9ydCB7IF9ub25JdGVyYWJsZVJlc3QgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgYXJyYXlXaXRoSG9sZXMgZnJvbSBcIi4vYXJyYXlXaXRoSG9sZXMuanNcIjtcbmltcG9ydCBpdGVyYWJsZVRvQXJyYXlMaW1pdCBmcm9tIFwiLi9pdGVyYWJsZVRvQXJyYXlMaW1pdC5qc1wiO1xuaW1wb3J0IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IGZyb20gXCIuL3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5LmpzXCI7XG5pbXBvcnQgbm9uSXRlcmFibGVSZXN0IGZyb20gXCIuL25vbkl0ZXJhYmxlUmVzdC5qc1wiO1xuZnVuY3Rpb24gX3NsaWNlZFRvQXJyYXkociwgZSkge1xuICByZXR1cm4gYXJyYXlXaXRoSG9sZXMocikgfHwgaXRlcmFibGVUb0FycmF5TGltaXQociwgZSkgfHwgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkociwgZSkgfHwgbm9uSXRlcmFibGVSZXN0KCk7XG59XG5leHBvcnQgeyBfc2xpY2VkVG9BcnJheSBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHIsIGUpIHtcbiAgaWYgKG51bGwgPT0gcikgcmV0dXJuIHt9O1xuICB2YXIgdCA9IHt9O1xuICBmb3IgKHZhciBuIGluIHIpIGlmICh7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsIG4pKSB7XG4gICAgaWYgKGUuaW5jbHVkZXMobikpIGNvbnRpbnVlO1xuICAgIHRbbl0gPSByW25dO1xuICB9XG4gIHJldHVybiB0O1xufVxuZXhwb3J0IHsgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSBmcm9tIFwiLi9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLmpzXCI7XG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoZSwgdCkge1xuICBpZiAobnVsbCA9PSBlKSByZXR1cm4ge307XG4gIHZhciBvLFxuICAgIHIsXG4gICAgaSA9IG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UoZSwgdCk7XG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO1xuICAgIGZvciAociA9IDA7IHIgPCBzLmxlbmd0aDsgcisrKSBvID0gc1tyXSwgdC5pbmNsdWRlcyhvKSB8fCB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsIG8pICYmIChpW29dID0gZVtvXSk7XG4gIH1cbiAgcmV0dXJuIGk7XG59XG5leHBvcnQgeyBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyJztcbmltcG9ydCBfc2xpY2VkVG9BcnJheSBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zbGljZWRUb0FycmF5JztcbmltcG9ydCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0V2l0aG91dFByb3BlcnRpZXMnO1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuXG52YXIgX2V4Y2x1ZGVkID0gW1wiZGVmYXVsdElucHV0VmFsdWVcIiwgXCJkZWZhdWx0TWVudUlzT3BlblwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcImlucHV0VmFsdWVcIiwgXCJtZW51SXNPcGVuXCIsIFwib25DaGFuZ2VcIiwgXCJvbklucHV0Q2hhbmdlXCIsIFwib25NZW51Q2xvc2VcIiwgXCJvbk1lbnVPcGVuXCIsIFwidmFsdWVcIl07XG5mdW5jdGlvbiB1c2VTdGF0ZU1hbmFnZXIoX3JlZikge1xuICB2YXIgX3JlZiRkZWZhdWx0SW5wdXRWYWx1ID0gX3JlZi5kZWZhdWx0SW5wdXRWYWx1ZSxcbiAgICBkZWZhdWx0SW5wdXRWYWx1ZSA9IF9yZWYkZGVmYXVsdElucHV0VmFsdSA9PT0gdm9pZCAwID8gJycgOiBfcmVmJGRlZmF1bHRJbnB1dFZhbHUsXG4gICAgX3JlZiRkZWZhdWx0TWVudUlzT3BlID0gX3JlZi5kZWZhdWx0TWVudUlzT3BlbixcbiAgICBkZWZhdWx0TWVudUlzT3BlbiA9IF9yZWYkZGVmYXVsdE1lbnVJc09wZSA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGRlZmF1bHRNZW51SXNPcGUsXG4gICAgX3JlZiRkZWZhdWx0VmFsdWUgPSBfcmVmLmRlZmF1bHRWYWx1ZSxcbiAgICBkZWZhdWx0VmFsdWUgPSBfcmVmJGRlZmF1bHRWYWx1ZSA9PT0gdm9pZCAwID8gbnVsbCA6IF9yZWYkZGVmYXVsdFZhbHVlLFxuICAgIHByb3BzSW5wdXRWYWx1ZSA9IF9yZWYuaW5wdXRWYWx1ZSxcbiAgICBwcm9wc01lbnVJc09wZW4gPSBfcmVmLm1lbnVJc09wZW4sXG4gICAgcHJvcHNPbkNoYW5nZSA9IF9yZWYub25DaGFuZ2UsXG4gICAgcHJvcHNPbklucHV0Q2hhbmdlID0gX3JlZi5vbklucHV0Q2hhbmdlLFxuICAgIHByb3BzT25NZW51Q2xvc2UgPSBfcmVmLm9uTWVudUNsb3NlLFxuICAgIHByb3BzT25NZW51T3BlbiA9IF9yZWYub25NZW51T3BlbixcbiAgICBwcm9wc1ZhbHVlID0gX3JlZi52YWx1ZSxcbiAgICByZXN0U2VsZWN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZiwgX2V4Y2x1ZGVkKTtcbiAgdmFyIF91c2VTdGF0ZSA9IHVzZVN0YXRlKHByb3BzSW5wdXRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gcHJvcHNJbnB1dFZhbHVlIDogZGVmYXVsdElucHV0VmFsdWUpLFxuICAgIF91c2VTdGF0ZTIgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGUsIDIpLFxuICAgIHN0YXRlSW5wdXRWYWx1ZSA9IF91c2VTdGF0ZTJbMF0sXG4gICAgc2V0U3RhdGVJbnB1dFZhbHVlID0gX3VzZVN0YXRlMlsxXTtcbiAgdmFyIF91c2VTdGF0ZTMgPSB1c2VTdGF0ZShwcm9wc01lbnVJc09wZW4gIT09IHVuZGVmaW5lZCA/IHByb3BzTWVudUlzT3BlbiA6IGRlZmF1bHRNZW51SXNPcGVuKSxcbiAgICBfdXNlU3RhdGU0ID0gX3NsaWNlZFRvQXJyYXkoX3VzZVN0YXRlMywgMiksXG4gICAgc3RhdGVNZW51SXNPcGVuID0gX3VzZVN0YXRlNFswXSxcbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4gPSBfdXNlU3RhdGU0WzFdO1xuICB2YXIgX3VzZVN0YXRlNSA9IHVzZVN0YXRlKHByb3BzVmFsdWUgIT09IHVuZGVmaW5lZCA/IHByb3BzVmFsdWUgOiBkZWZhdWx0VmFsdWUpLFxuICAgIF91c2VTdGF0ZTYgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGU1LCAyKSxcbiAgICBzdGF0ZVZhbHVlID0gX3VzZVN0YXRlNlswXSxcbiAgICBzZXRTdGF0ZVZhbHVlID0gX3VzZVN0YXRlNlsxXTtcbiAgdmFyIG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wc09uQ2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwcm9wc09uQ2hhbmdlKHZhbHVlLCBhY3Rpb25NZXRhKTtcbiAgICB9XG4gICAgc2V0U3RhdGVWYWx1ZSh2YWx1ZSk7XG4gIH0sIFtwcm9wc09uQ2hhbmdlXSk7XG4gIHZhciBvbklucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgdmFyIG5ld1ZhbHVlO1xuICAgIGlmICh0eXBlb2YgcHJvcHNPbklucHV0Q2hhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBuZXdWYWx1ZSA9IHByb3BzT25JbnB1dENoYW5nZSh2YWx1ZSwgYWN0aW9uTWV0YSk7XG4gICAgfVxuICAgIHNldFN0YXRlSW5wdXRWYWx1ZShuZXdWYWx1ZSAhPT0gdW5kZWZpbmVkID8gbmV3VmFsdWUgOiB2YWx1ZSk7XG4gIH0sIFtwcm9wc09uSW5wdXRDaGFuZ2VdKTtcbiAgdmFyIG9uTWVudU9wZW4gPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wc09uTWVudU9wZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BzT25NZW51T3BlbigpO1xuICAgIH1cbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4odHJ1ZSk7XG4gIH0sIFtwcm9wc09uTWVudU9wZW5dKTtcbiAgdmFyIG9uTWVudUNsb3NlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKCkge1xuICAgIGlmICh0eXBlb2YgcHJvcHNPbk1lbnVDbG9zZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJvcHNPbk1lbnVDbG9zZSgpO1xuICAgIH1cbiAgICBzZXRTdGF0ZU1lbnVJc09wZW4oZmFsc2UpO1xuICB9LCBbcHJvcHNPbk1lbnVDbG9zZV0pO1xuICB2YXIgaW5wdXRWYWx1ZSA9IHByb3BzSW5wdXRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gcHJvcHNJbnB1dFZhbHVlIDogc3RhdGVJbnB1dFZhbHVlO1xuICB2YXIgbWVudUlzT3BlbiA9IHByb3BzTWVudUlzT3BlbiAhPT0gdW5kZWZpbmVkID8gcHJvcHNNZW51SXNPcGVuIDogc3RhdGVNZW51SXNPcGVuO1xuICB2YXIgdmFsdWUgPSBwcm9wc1ZhbHVlICE9PSB1bmRlZmluZWQgPyBwcm9wc1ZhbHVlIDogc3RhdGVWYWx1ZTtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgcmVzdFNlbGVjdFByb3BzKSwge30sIHtcbiAgICBpbnB1dFZhbHVlOiBpbnB1dFZhbHVlLFxuICAgIG1lbnVJc09wZW46IG1lbnVJc09wZW4sXG4gICAgb25DaGFuZ2U6IG9uQ2hhbmdlLFxuICAgIG9uSW5wdXRDaGFuZ2U6IG9uSW5wdXRDaGFuZ2UsXG4gICAgb25NZW51Q2xvc2U6IG9uTWVudUNsb3NlLFxuICAgIG9uTWVudU9wZW46IG9uTWVudU9wZW4sXG4gICAgdmFsdWU6IHZhbHVlXG4gIH0pO1xufVxuXG5leHBvcnQgeyB1c2VTdGF0ZU1hbmFnZXIgYXMgdSB9O1xuIiwgImZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICByZXR1cm4gX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduID8gT2JqZWN0LmFzc2lnbi5iaW5kKCkgOiBmdW5jdGlvbiAobikge1xuICAgIGZvciAodmFyIGUgPSAxOyBlIDwgYXJndW1lbnRzLmxlbmd0aDsgZSsrKSB7XG4gICAgICB2YXIgdCA9IGFyZ3VtZW50c1tlXTtcbiAgICAgIGZvciAodmFyIHIgaW4gdCkgKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIHIpICYmIChuW3JdID0gdFtyXSk7XG4gICAgfVxuICAgIHJldHVybiBuO1xuICB9LCBfZXh0ZW5kcy5hcHBseShudWxsLCBhcmd1bWVudHMpO1xufVxuZXhwb3J0IHsgX2V4dGVuZHMgYXMgZGVmYXVsdCB9OyIsICJmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soYSwgbikge1xuICBpZiAoIShhIGluc3RhbmNlb2YgbikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG59XG5leHBvcnQgeyBfY2xhc3NDYWxsQ2hlY2sgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgdG9Qcm9wZXJ0eUtleSBmcm9tIFwiLi90b1Byb3BlcnR5S2V5LmpzXCI7XG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyhlLCByKSB7XG4gIGZvciAodmFyIHQgPSAwOyB0IDwgci5sZW5ndGg7IHQrKykge1xuICAgIHZhciBvID0gclt0XTtcbiAgICBvLmVudW1lcmFibGUgPSBvLmVudW1lcmFibGUgfHwgITEsIG8uY29uZmlndXJhYmxlID0gITAsIFwidmFsdWVcIiBpbiBvICYmIChvLndyaXRhYmxlID0gITApLCBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgdG9Qcm9wZXJ0eUtleShvLmtleSksIG8pO1xuICB9XG59XG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoZSwgciwgdCkge1xuICByZXR1cm4gciAmJiBfZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSwgciksIHQgJiYgX2RlZmluZVByb3BlcnRpZXMoZSwgdCksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCBcInByb3RvdHlwZVwiLCB7XG4gICAgd3JpdGFibGU6ICExXG4gIH0pLCBlO1xufVxuZXhwb3J0IHsgX2NyZWF0ZUNsYXNzIGFzIGRlZmF1bHQgfTsiLCAiZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKHQsIGUpIHtcbiAgcmV0dXJuIF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCkgOiBmdW5jdGlvbiAodCwgZSkge1xuICAgIHJldHVybiB0Ll9fcHJvdG9fXyA9IGUsIHQ7XG4gIH0sIF9zZXRQcm90b3R5cGVPZih0LCBlKTtcbn1cbmV4cG9ydCB7IF9zZXRQcm90b3R5cGVPZiBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBzZXRQcm90b3R5cGVPZiBmcm9tIFwiLi9zZXRQcm90b3R5cGVPZi5qc1wiO1xuZnVuY3Rpb24gX2luaGVyaXRzKHQsIGUpIHtcbiAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgZSAmJiBudWxsICE9PSBlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7XG4gIHQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlICYmIGUucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiB0LFxuICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgY29uZmlndXJhYmxlOiAhMFxuICAgIH1cbiAgfSksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBcInByb3RvdHlwZVwiLCB7XG4gICAgd3JpdGFibGU6ICExXG4gIH0pLCBlICYmIHNldFByb3RvdHlwZU9mKHQsIGUpO1xufVxuZXhwb3J0IHsgX2luaGVyaXRzIGFzIGRlZmF1bHQgfTsiLCAiZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKHQpIHtcbiAgcmV0dXJuIF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZi5iaW5kKCkgOiBmdW5jdGlvbiAodCkge1xuICAgIHJldHVybiB0Ll9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7XG4gIH0sIF9nZXRQcm90b3R5cGVPZih0KTtcbn1cbmV4cG9ydCB7IF9nZXRQcm90b3R5cGVPZiBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7XG4gIHRyeSB7XG4gICAgdmFyIHQgPSAhQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sIFtdLCBmdW5jdGlvbiAoKSB7fSkpO1xuICB9IGNhdGNoICh0KSB7fVxuICByZXR1cm4gKF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBmdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkge1xuICAgIHJldHVybiAhIXQ7XG4gIH0pKCk7XG59XG5leHBvcnQgeyBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IGFzIGRlZmF1bHQgfTsiLCAiZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChlKSB7XG4gIGlmICh2b2lkIDAgPT09IGUpIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtcbiAgcmV0dXJuIGU7XG59XG5leHBvcnQgeyBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGFzIGRlZmF1bHQgfTsiLCAiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5pbXBvcnQgYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gXCIuL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qc1wiO1xuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odCwgZSkge1xuICBpZiAoZSAmJiAoXCJvYmplY3RcIiA9PSBfdHlwZW9mKGUpIHx8IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZSkpIHJldHVybiBlO1xuICBpZiAodm9pZCAwICE9PSBlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRGVyaXZlZCBjb25zdHJ1Y3RvcnMgbWF5IG9ubHkgcmV0dXJuIG9iamVjdCBvciB1bmRlZmluZWRcIik7XG4gIHJldHVybiBhc3NlcnRUaGlzSW5pdGlhbGl6ZWQodCk7XG59XG5leHBvcnQgeyBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBnZXRQcm90b3R5cGVPZiBmcm9tIFwiLi9nZXRQcm90b3R5cGVPZi5qc1wiO1xuaW1wb3J0IGlzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCBmcm9tIFwiLi9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QuanNcIjtcbmltcG9ydCBwb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGZyb20gXCIuL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4uanNcIjtcbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcih0KSB7XG4gIHZhciByID0gaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGUsXG4gICAgICBvID0gZ2V0UHJvdG90eXBlT2YodCk7XG4gICAgaWYgKHIpIHtcbiAgICAgIHZhciBzID0gZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7XG4gICAgICBlID0gUmVmbGVjdC5jb25zdHJ1Y3QobywgYXJndW1lbnRzLCBzKTtcbiAgICB9IGVsc2UgZSA9IG8uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICByZXR1cm4gcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBlKTtcbiAgfTtcbn1cbmV4cG9ydCB7IF9jcmVhdGVTdXBlciBhcyBkZWZhdWx0IH07IiwgImltcG9ydCBhcnJheUxpa2VUb0FycmF5IGZyb20gXCIuL2FycmF5TGlrZVRvQXJyYXkuanNcIjtcbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHIpKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShyKTtcbn1cbmV4cG9ydCB7IF9hcnJheVdpdGhvdXRIb2xlcyBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkocikge1xuICBpZiAoXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgU3ltYm9sICYmIG51bGwgIT0gcltTeW1ib2wuaXRlcmF0b3JdIHx8IG51bGwgIT0gcltcIkBAaXRlcmF0b3JcIl0pIHJldHVybiBBcnJheS5mcm9tKHIpO1xufVxuZXhwb3J0IHsgX2l0ZXJhYmxlVG9BcnJheSBhcyBkZWZhdWx0IH07IiwgImZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59XG5leHBvcnQgeyBfbm9uSXRlcmFibGVTcHJlYWQgYXMgZGVmYXVsdCB9OyIsICJpbXBvcnQgYXJyYXlXaXRob3V0SG9sZXMgZnJvbSBcIi4vYXJyYXlXaXRob3V0SG9sZXMuanNcIjtcbmltcG9ydCBpdGVyYWJsZVRvQXJyYXkgZnJvbSBcIi4vaXRlcmFibGVUb0FycmF5LmpzXCI7XG5pbXBvcnQgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgZnJvbSBcIi4vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanNcIjtcbmltcG9ydCBub25JdGVyYWJsZVNwcmVhZCBmcm9tIFwiLi9ub25JdGVyYWJsZVNwcmVhZC5qc1wiO1xuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KHIpIHtcbiAgcmV0dXJuIGFycmF5V2l0aG91dEhvbGVzKHIpIHx8IGl0ZXJhYmxlVG9BcnJheShyKSB8fCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShyKSB8fCBub25JdGVyYWJsZVNwcmVhZCgpO1xufVxuZXhwb3J0IHsgX3RvQ29uc3VtYWJsZUFycmF5IGFzIGRlZmF1bHQgfTsiLCAidmFyIGlzRGV2ZWxvcG1lbnQgPSBmYWxzZTtcblxuLypcblxuQmFzZWQgb2ZmIGdsYW1vcidzIFN0eWxlU2hlZXQsIHRoYW5rcyBTdW5pbCBcdTI3NjRcdUZFMEZcblxuaGlnaCBwZXJmb3JtYW5jZSBTdHlsZVNoZWV0IGZvciBjc3MtaW4tanMgc3lzdGVtc1xuXG4tIHVzZXMgbXVsdGlwbGUgc3R5bGUgdGFncyBiZWhpbmQgdGhlIHNjZW5lcyBmb3IgbWlsbGlvbnMgb2YgcnVsZXNcbi0gdXNlcyBgaW5zZXJ0UnVsZWAgZm9yIGFwcGVuZGluZyBpbiBwcm9kdWN0aW9uIGZvciAqbXVjaCogZmFzdGVyIHBlcmZvcm1hbmNlXG5cbi8vIHVzYWdlXG5cbmltcG9ydCB7IFN0eWxlU2hlZXQgfSBmcm9tICdAZW1vdGlvbi9zaGVldCdcblxubGV0IHN0eWxlU2hlZXQgPSBuZXcgU3R5bGVTaGVldCh7IGtleTogJycsIGNvbnRhaW5lcjogZG9jdW1lbnQuaGVhZCB9KVxuXG5zdHlsZVNoZWV0Lmluc2VydCgnI2JveCB7IGJvcmRlcjogMXB4IHNvbGlkIHJlZDsgfScpXG4tIGFwcGVuZHMgYSBjc3MgcnVsZSBpbnRvIHRoZSBzdHlsZXNoZWV0XG5cbnN0eWxlU2hlZXQuZmx1c2goKVxuLSBlbXB0aWVzIHRoZSBzdHlsZXNoZWV0IG9mIGFsbCBpdHMgY29udGVudHNcblxuKi9cblxuZnVuY3Rpb24gc2hlZXRGb3JUYWcodGFnKSB7XG4gIGlmICh0YWcuc2hlZXQpIHtcbiAgICByZXR1cm4gdGFnLnNoZWV0O1xuICB9IC8vIHRoaXMgd2VpcmRuZXNzIGJyb3VnaHQgdG8geW91IGJ5IGZpcmVmb3hcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBkb2N1bWVudC5zdHlsZVNoZWV0cy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChkb2N1bWVudC5zdHlsZVNoZWV0c1tpXS5vd25lck5vZGUgPT09IHRhZykge1xuICAgICAgcmV0dXJuIGRvY3VtZW50LnN0eWxlU2hlZXRzW2ldO1xuICAgIH1cbiAgfSAvLyB0aGlzIGZ1bmN0aW9uIHNob3VsZCBhbHdheXMgcmV0dXJuIHdpdGggYSB2YWx1ZVxuICAvLyBUUyBjYW4ndCB1bmRlcnN0YW5kIGl0IHRob3VnaCBzbyB3ZSBtYWtlIGl0IHN0b3AgY29tcGxhaW5pbmcgaGVyZVxuXG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlU3R5bGVFbGVtZW50KG9wdGlvbnMpIHtcbiAgdmFyIHRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHRhZy5zZXRBdHRyaWJ1dGUoJ2RhdGEtZW1vdGlvbicsIG9wdGlvbnMua2V5KTtcblxuICBpZiAob3B0aW9ucy5ub25jZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdGFnLnNldEF0dHJpYnV0ZSgnbm9uY2UnLCBvcHRpb25zLm5vbmNlKTtcbiAgfVxuXG4gIHRhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJykpO1xuICB0YWcuc2V0QXR0cmlidXRlKCdkYXRhLXMnLCAnJyk7XG4gIHJldHVybiB0YWc7XG59XG5cbnZhciBTdHlsZVNoZWV0ID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgLy8gVXNpbmcgTm9kZSBpbnN0ZWFkIG9mIEhUTUxFbGVtZW50IHNpbmNlIGNvbnRhaW5lciBtYXkgYmUgYSBTaGFkb3dSb290XG4gIGZ1bmN0aW9uIFN0eWxlU2hlZXQob3B0aW9ucykge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB0aGlzLl9pbnNlcnRUYWcgPSBmdW5jdGlvbiAodGFnKSB7XG4gICAgICB2YXIgYmVmb3JlO1xuXG4gICAgICBpZiAoX3RoaXMudGFncy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKF90aGlzLmluc2VydGlvblBvaW50KSB7XG4gICAgICAgICAgYmVmb3JlID0gX3RoaXMuaW5zZXJ0aW9uUG9pbnQubmV4dFNpYmxpbmc7XG4gICAgICAgIH0gZWxzZSBpZiAoX3RoaXMucHJlcGVuZCkge1xuICAgICAgICAgIGJlZm9yZSA9IF90aGlzLmNvbnRhaW5lci5maXJzdENoaWxkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJlZm9yZSA9IF90aGlzLmJlZm9yZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmVmb3JlID0gX3RoaXMudGFnc1tfdGhpcy50YWdzLmxlbmd0aCAtIDFdLm5leHRTaWJsaW5nO1xuICAgICAgfVxuXG4gICAgICBfdGhpcy5jb250YWluZXIuaW5zZXJ0QmVmb3JlKHRhZywgYmVmb3JlKTtcblxuICAgICAgX3RoaXMudGFncy5wdXNoKHRhZyk7XG4gICAgfTtcblxuICAgIHRoaXMuaXNTcGVlZHkgPSBvcHRpb25zLnNwZWVkeSA9PT0gdW5kZWZpbmVkID8gIWlzRGV2ZWxvcG1lbnQgOiBvcHRpb25zLnNwZWVkeTtcbiAgICB0aGlzLnRhZ3MgPSBbXTtcbiAgICB0aGlzLmN0ciA9IDA7XG4gICAgdGhpcy5ub25jZSA9IG9wdGlvbnMubm9uY2U7IC8vIGtleSBpcyB0aGUgdmFsdWUgb2YgdGhlIGRhdGEtZW1vdGlvbiBhdHRyaWJ1dGUsIGl0J3MgdXNlZCB0byBpZGVudGlmeSBkaWZmZXJlbnQgc2hlZXRzXG5cbiAgICB0aGlzLmtleSA9IG9wdGlvbnMua2V5O1xuICAgIHRoaXMuY29udGFpbmVyID0gb3B0aW9ucy5jb250YWluZXI7XG4gICAgdGhpcy5wcmVwZW5kID0gb3B0aW9ucy5wcmVwZW5kO1xuICAgIHRoaXMuaW5zZXJ0aW9uUG9pbnQgPSBvcHRpb25zLmluc2VydGlvblBvaW50O1xuICAgIHRoaXMuYmVmb3JlID0gbnVsbDtcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBTdHlsZVNoZWV0LnByb3RvdHlwZTtcblxuICBfcHJvdG8uaHlkcmF0ZSA9IGZ1bmN0aW9uIGh5ZHJhdGUobm9kZXMpIHtcbiAgICBub2Rlcy5mb3JFYWNoKHRoaXMuX2luc2VydFRhZyk7XG4gIH07XG5cbiAgX3Byb3RvLmluc2VydCA9IGZ1bmN0aW9uIGluc2VydChydWxlKSB7XG4gICAgLy8gdGhlIG1heCBsZW5ndGggaXMgaG93IG1hbnkgcnVsZXMgd2UgaGF2ZSBwZXIgc3R5bGUgdGFnLCBpdCdzIDY1MDAwIGluIHNwZWVkeSBtb2RlXG4gICAgLy8gaXQncyAxIGluIGRldiBiZWNhdXNlIHdlIGluc2VydCBzb3VyY2UgbWFwcyB0aGF0IG1hcCBhIHNpbmdsZSBydWxlIHRvIGEgbG9jYXRpb25cbiAgICAvLyBhbmQgeW91IGNhbiBvbmx5IGhhdmUgb25lIHNvdXJjZSBtYXAgcGVyIHN0eWxlIHRhZ1xuICAgIGlmICh0aGlzLmN0ciAlICh0aGlzLmlzU3BlZWR5ID8gNjUwMDAgOiAxKSA9PT0gMCkge1xuICAgICAgdGhpcy5faW5zZXJ0VGFnKGNyZWF0ZVN0eWxlRWxlbWVudCh0aGlzKSk7XG4gICAgfVxuXG4gICAgdmFyIHRhZyA9IHRoaXMudGFnc1t0aGlzLnRhZ3MubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAodGhpcy5pc1NwZWVkeSkge1xuICAgICAgdmFyIHNoZWV0ID0gc2hlZXRGb3JUYWcodGFnKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gdGhpcyBpcyB0aGUgdWx0cmFmYXN0IHZlcnNpb24sIHdvcmtzIGFjcm9zcyBicm93c2Vyc1xuICAgICAgICAvLyB0aGUgYmlnIGRyYXdiYWNrIGlzIHRoYXQgdGhlIGNzcyB3b24ndCBiZSBlZGl0YWJsZSBpbiBkZXZ0b29sc1xuICAgICAgICBzaGVldC5pbnNlcnRSdWxlKHJ1bGUsIHNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShydWxlKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jdHIrKztcbiAgfTtcblxuICBfcHJvdG8uZmx1c2ggPSBmdW5jdGlvbiBmbHVzaCgpIHtcbiAgICB0aGlzLnRhZ3MuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7XG4gICAgICB2YXIgX3RhZyRwYXJlbnROb2RlO1xuXG4gICAgICByZXR1cm4gKF90YWckcGFyZW50Tm9kZSA9IHRhZy5wYXJlbnROb2RlKSA9PSBudWxsID8gdm9pZCAwIDogX3RhZyRwYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRhZyk7XG4gICAgfSk7XG4gICAgdGhpcy50YWdzID0gW107XG4gICAgdGhpcy5jdHIgPSAwO1xuICB9O1xuXG4gIHJldHVybiBTdHlsZVNoZWV0O1xufSgpO1xuXG5leHBvcnQgeyBTdHlsZVNoZWV0IH07XG4iLCAiZXhwb3J0IHZhciBNUyA9ICctbXMtJ1xuZXhwb3J0IHZhciBNT1ogPSAnLW1vei0nXG5leHBvcnQgdmFyIFdFQktJVCA9ICctd2Via2l0LSdcblxuZXhwb3J0IHZhciBDT01NRU5UID0gJ2NvbW0nXG5leHBvcnQgdmFyIFJVTEVTRVQgPSAncnVsZSdcbmV4cG9ydCB2YXIgREVDTEFSQVRJT04gPSAnZGVjbCdcblxuZXhwb3J0IHZhciBQQUdFID0gJ0BwYWdlJ1xuZXhwb3J0IHZhciBNRURJQSA9ICdAbWVkaWEnXG5leHBvcnQgdmFyIElNUE9SVCA9ICdAaW1wb3J0J1xuZXhwb3J0IHZhciBDSEFSU0VUID0gJ0BjaGFyc2V0J1xuZXhwb3J0IHZhciBWSUVXUE9SVCA9ICdAdmlld3BvcnQnXG5leHBvcnQgdmFyIFNVUFBPUlRTID0gJ0BzdXBwb3J0cydcbmV4cG9ydCB2YXIgRE9DVU1FTlQgPSAnQGRvY3VtZW50J1xuZXhwb3J0IHZhciBOQU1FU1BBQ0UgPSAnQG5hbWVzcGFjZSdcbmV4cG9ydCB2YXIgS0VZRlJBTUVTID0gJ0BrZXlmcmFtZXMnXG5leHBvcnQgdmFyIEZPTlRfRkFDRSA9ICdAZm9udC1mYWNlJ1xuZXhwb3J0IHZhciBDT1VOVEVSX1NUWUxFID0gJ0Bjb3VudGVyLXN0eWxlJ1xuZXhwb3J0IHZhciBGT05UX0ZFQVRVUkVfVkFMVUVTID0gJ0Bmb250LWZlYXR1cmUtdmFsdWVzJ1xuZXhwb3J0IHZhciBMQVlFUiA9ICdAbGF5ZXInXG4iLCAiLyoqXG4gKiBAcGFyYW0ge251bWJlcn1cbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IHZhciBhYnMgPSBNYXRoLmFic1xuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfVxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgdmFyIGZyb20gPSBTdHJpbmcuZnJvbUNoYXJDb2RlXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9XG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCB2YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnblxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzaCAodmFsdWUsIGxlbmd0aCkge1xuXHRyZXR1cm4gY2hhcmF0KHZhbHVlLCAwKSBeIDQ1ID8gKCgoKCgoKGxlbmd0aCA8PCAyKSBeIGNoYXJhdCh2YWx1ZSwgMCkpIDw8IDIpIF4gY2hhcmF0KHZhbHVlLCAxKSkgPDwgMikgXiBjaGFyYXQodmFsdWUsIDIpKSA8PCAyKSBeIGNoYXJhdCh2YWx1ZSwgMykgOiAwXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmltICh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUudHJpbSgpXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge1JlZ0V4cH0gcGF0dGVyblxuICogQHJldHVybiB7c3RyaW5nP31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoICh2YWx1ZSwgcGF0dGVybikge1xuXHRyZXR1cm4gKHZhbHVlID0gcGF0dGVybi5leGVjKHZhbHVlKSkgPyB2YWx1ZVswXSA6IHZhbHVlXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0geyhzdHJpbmd8UmVnRXhwKX0gcGF0dGVyblxuICogQHBhcmFtIHtzdHJpbmd9IHJlcGxhY2VtZW50XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlICh2YWx1ZSwgcGF0dGVybiwgcmVwbGFjZW1lbnQpIHtcblx0cmV0dXJuIHZhbHVlLnJlcGxhY2UocGF0dGVybiwgcmVwbGFjZW1lbnQpXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmRleG9mICh2YWx1ZSwgc2VhcmNoKSB7XG5cdHJldHVybiB2YWx1ZS5pbmRleE9mKHNlYXJjaClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hhcmF0ICh2YWx1ZSwgaW5kZXgpIHtcblx0cmV0dXJuIHZhbHVlLmNoYXJDb2RlQXQoaW5kZXgpIHwgMFxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtudW1iZXJ9IGJlZ2luXG4gKiBAcGFyYW0ge251bWJlcn0gZW5kXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJzdHIgKHZhbHVlLCBiZWdpbiwgZW5kKSB7XG5cdHJldHVybiB2YWx1ZS5zbGljZShiZWdpbiwgZW5kKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RybGVuICh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUubGVuZ3RoXG59XG5cbi8qKlxuICogQHBhcmFtIHthbnlbXX0gdmFsdWVcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpemVvZiAodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlLmxlbmd0aFxufVxuXG4vKipcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICogQHBhcmFtIHthbnlbXX0gYXJyYXlcbiAqIEByZXR1cm4ge2FueX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZCAodmFsdWUsIGFycmF5KSB7XG5cdHJldHVybiBhcnJheS5wdXNoKHZhbHVlKSwgdmFsdWVcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBhcnJheVxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmUgKGFycmF5LCBjYWxsYmFjaykge1xuXHRyZXR1cm4gYXJyYXkubWFwKGNhbGxiYWNrKS5qb2luKCcnKVxufVxuIiwgImltcG9ydCB7ZnJvbSwgdHJpbSwgY2hhcmF0LCBzdHJsZW4sIHN1YnN0ciwgYXBwZW5kLCBhc3NpZ259IGZyb20gJy4vVXRpbGl0eS5qcydcblxuZXhwb3J0IHZhciBsaW5lID0gMVxuZXhwb3J0IHZhciBjb2x1bW4gPSAxXG5leHBvcnQgdmFyIGxlbmd0aCA9IDBcbmV4cG9ydCB2YXIgcG9zaXRpb24gPSAwXG5leHBvcnQgdmFyIGNoYXJhY3RlciA9IDBcbmV4cG9ydCB2YXIgY2hhcmFjdGVycyA9ICcnXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdCB8IG51bGx9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0IHwgbnVsbH0gcGFyZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gdHlwZVxuICogQHBhcmFtIHtzdHJpbmdbXSB8IHN0cmluZ30gcHJvcHNcbiAqIEBwYXJhbSB7b2JqZWN0W10gfCBzdHJpbmd9IGNoaWxkcmVuXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub2RlICh2YWx1ZSwgcm9vdCwgcGFyZW50LCB0eXBlLCBwcm9wcywgY2hpbGRyZW4sIGxlbmd0aCkge1xuXHRyZXR1cm4ge3ZhbHVlOiB2YWx1ZSwgcm9vdDogcm9vdCwgcGFyZW50OiBwYXJlbnQsIHR5cGU6IHR5cGUsIHByb3BzOiBwcm9wcywgY2hpbGRyZW46IGNoaWxkcmVuLCBsaW5lOiBsaW5lLCBjb2x1bW46IGNvbHVtbiwgbGVuZ3RoOiBsZW5ndGgsIHJldHVybjogJyd9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHJldHVybiB7b2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29weSAocm9vdCwgcHJvcHMpIHtcblx0cmV0dXJuIGFzc2lnbihub2RlKCcnLCBudWxsLCBudWxsLCAnJywgbnVsbCwgbnVsbCwgMCksIHJvb3QsIHtsZW5ndGg6IC1yb290Lmxlbmd0aH0sIHByb3BzKVxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoYXIgKCkge1xuXHRyZXR1cm4gY2hhcmFjdGVyXG59XG5cbi8qKlxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJldiAoKSB7XG5cdGNoYXJhY3RlciA9IHBvc2l0aW9uID4gMCA/IGNoYXJhdChjaGFyYWN0ZXJzLCAtLXBvc2l0aW9uKSA6IDBcblxuXHRpZiAoY29sdW1uLS0sIGNoYXJhY3RlciA9PT0gMTApXG5cdFx0Y29sdW1uID0gMSwgbGluZS0tXG5cblx0cmV0dXJuIGNoYXJhY3RlclxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5leHQgKCkge1xuXHRjaGFyYWN0ZXIgPSBwb3NpdGlvbiA8IGxlbmd0aCA/IGNoYXJhdChjaGFyYWN0ZXJzLCBwb3NpdGlvbisrKSA6IDBcblxuXHRpZiAoY29sdW1uKyssIGNoYXJhY3RlciA9PT0gMTApXG5cdFx0Y29sdW1uID0gMSwgbGluZSsrXG5cblx0cmV0dXJuIGNoYXJhY3RlclxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBlZWsgKCkge1xuXHRyZXR1cm4gY2hhcmF0KGNoYXJhY3RlcnMsIHBvc2l0aW9uKVxufVxuXG4vKipcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhcmV0ICgpIHtcblx0cmV0dXJuIHBvc2l0aW9uXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IGJlZ2luXG4gKiBAcGFyYW0ge251bWJlcn0gZW5kXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzbGljZSAoYmVnaW4sIGVuZCkge1xuXHRyZXR1cm4gc3Vic3RyKGNoYXJhY3RlcnMsIGJlZ2luLCBlbmQpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuICh0eXBlKSB7XG5cdHN3aXRjaCAodHlwZSkge1xuXHRcdC8vIFxcMCBcXHQgXFxuIFxcciBcXHMgd2hpdGVzcGFjZSB0b2tlblxuXHRcdGNhc2UgMDogY2FzZSA5OiBjYXNlIDEwOiBjYXNlIDEzOiBjYXNlIDMyOlxuXHRcdFx0cmV0dXJuIDVcblx0XHQvLyAhICsgLCAvID4gQCB+IGlzb2xhdGUgdG9rZW5cblx0XHRjYXNlIDMzOiBjYXNlIDQzOiBjYXNlIDQ0OiBjYXNlIDQ3OiBjYXNlIDYyOiBjYXNlIDY0OiBjYXNlIDEyNjpcblx0XHQvLyA7IHsgfSBicmVha3BvaW50IHRva2VuXG5cdFx0Y2FzZSA1OTogY2FzZSAxMjM6IGNhc2UgMTI1OlxuXHRcdFx0cmV0dXJuIDRcblx0XHQvLyA6IGFjY29tcGFuaWVkIHRva2VuXG5cdFx0Y2FzZSA1ODpcblx0XHRcdHJldHVybiAzXG5cdFx0Ly8gXCIgJyAoIFsgb3BlbmluZyBkZWxpbWl0IHRva2VuXG5cdFx0Y2FzZSAzNDogY2FzZSAzOTogY2FzZSA0MDogY2FzZSA5MTpcblx0XHRcdHJldHVybiAyXG5cdFx0Ly8gKSBdIGNsb3NpbmcgZGVsaW1pdCB0b2tlblxuXHRcdGNhc2UgNDE6IGNhc2UgOTM6XG5cdFx0XHRyZXR1cm4gMVxuXHR9XG5cblx0cmV0dXJuIDBcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge2FueVtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWxsb2MgKHZhbHVlKSB7XG5cdHJldHVybiBsaW5lID0gY29sdW1uID0gMSwgbGVuZ3RoID0gc3RybGVuKGNoYXJhY3RlcnMgPSB2YWx1ZSksIHBvc2l0aW9uID0gMCwgW11cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAqIEByZXR1cm4ge2FueX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlYWxsb2MgKHZhbHVlKSB7XG5cdHJldHVybiBjaGFyYWN0ZXJzID0gJycsIHZhbHVlXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGltaXQgKHR5cGUpIHtcblx0cmV0dXJuIHRyaW0oc2xpY2UocG9zaXRpb24gLSAxLCBkZWxpbWl0ZXIodHlwZSA9PT0gOTEgPyB0eXBlICsgMiA6IHR5cGUgPT09IDQwID8gdHlwZSArIDEgOiB0eXBlKSkpXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcmV0dXJuIHtzdHJpbmdbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuaXplICh2YWx1ZSkge1xuXHRyZXR1cm4gZGVhbGxvYyh0b2tlbml6ZXIoYWxsb2ModmFsdWUpKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gdHlwZVxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gd2hpdGVzcGFjZSAodHlwZSkge1xuXHR3aGlsZSAoY2hhcmFjdGVyID0gcGVlaygpKVxuXHRcdGlmIChjaGFyYWN0ZXIgPCAzMylcblx0XHRcdG5leHQoKVxuXHRcdGVsc2Vcblx0XHRcdGJyZWFrXG5cblx0cmV0dXJuIHRva2VuKHR5cGUpID4gMiB8fCB0b2tlbihjaGFyYWN0ZXIpID4gMyA/ICcnIDogJyAnXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gY2hpbGRyZW5cbiAqIEByZXR1cm4ge3N0cmluZ1tdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemVyIChjaGlsZHJlbikge1xuXHR3aGlsZSAobmV4dCgpKVxuXHRcdHN3aXRjaCAodG9rZW4oY2hhcmFjdGVyKSkge1xuXHRcdFx0Y2FzZSAwOiBhcHBlbmQoaWRlbnRpZmllcihwb3NpdGlvbiAtIDEpLCBjaGlsZHJlbilcblx0XHRcdFx0YnJlYWtcblx0XHRcdGNhc2UgMjogYXBwZW5kKGRlbGltaXQoY2hhcmFjdGVyKSwgY2hpbGRyZW4pXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHRkZWZhdWx0OiBhcHBlbmQoZnJvbShjaGFyYWN0ZXIpLCBjaGlsZHJlbilcblx0XHR9XG5cblx0cmV0dXJuIGNoaWxkcmVuXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge251bWJlcn0gY291bnRcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwaW5nIChpbmRleCwgY291bnQpIHtcblx0d2hpbGUgKC0tY291bnQgJiYgbmV4dCgpKVxuXHRcdC8vIG5vdCAwLTkgQS1GIGEtZlxuXHRcdGlmIChjaGFyYWN0ZXIgPCA0OCB8fCBjaGFyYWN0ZXIgPiAxMDIgfHwgKGNoYXJhY3RlciA+IDU3ICYmIGNoYXJhY3RlciA8IDY1KSB8fCAoY2hhcmFjdGVyID4gNzAgJiYgY2hhcmFjdGVyIDwgOTcpKVxuXHRcdFx0YnJlYWtcblxuXHRyZXR1cm4gc2xpY2UoaW5kZXgsIGNhcmV0KCkgKyAoY291bnQgPCA2ICYmIHBlZWsoKSA9PSAzMiAmJiBuZXh0KCkgPT0gMzIpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB0eXBlXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxpbWl0ZXIgKHR5cGUpIHtcblx0d2hpbGUgKG5leHQoKSlcblx0XHRzd2l0Y2ggKGNoYXJhY3Rlcikge1xuXHRcdFx0Ly8gXSApIFwiICdcblx0XHRcdGNhc2UgdHlwZTpcblx0XHRcdFx0cmV0dXJuIHBvc2l0aW9uXG5cdFx0XHQvLyBcIiAnXG5cdFx0XHRjYXNlIDM0OiBjYXNlIDM5OlxuXHRcdFx0XHRpZiAodHlwZSAhPT0gMzQgJiYgdHlwZSAhPT0gMzkpXG5cdFx0XHRcdFx0ZGVsaW1pdGVyKGNoYXJhY3Rlcilcblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIChcblx0XHRcdGNhc2UgNDA6XG5cdFx0XHRcdGlmICh0eXBlID09PSA0MSlcblx0XHRcdFx0XHRkZWxpbWl0ZXIodHlwZSlcblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIFxcXG5cdFx0XHRjYXNlIDkyOlxuXHRcdFx0XHRuZXh0KClcblx0XHRcdFx0YnJlYWtcblx0XHR9XG5cblx0cmV0dXJuIHBvc2l0aW9uXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IHR5cGVcbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tbWVudGVyICh0eXBlLCBpbmRleCkge1xuXHR3aGlsZSAobmV4dCgpKVxuXHRcdC8vIC8vXG5cdFx0aWYgKHR5cGUgKyBjaGFyYWN0ZXIgPT09IDQ3ICsgMTApXG5cdFx0XHRicmVha1xuXHRcdC8vIC8qXG5cdFx0ZWxzZSBpZiAodHlwZSArIGNoYXJhY3RlciA9PT0gNDIgKyA0MiAmJiBwZWVrKCkgPT09IDQ3KVxuXHRcdFx0YnJlYWtcblxuXHRyZXR1cm4gJy8qJyArIHNsaWNlKGluZGV4LCBwb3NpdGlvbiAtIDEpICsgJyonICsgZnJvbSh0eXBlID09PSA0NyA/IHR5cGUgOiBuZXh0KCkpXG59XG5cbi8qKlxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpZGVudGlmaWVyIChpbmRleCkge1xuXHR3aGlsZSAoIXRva2VuKHBlZWsoKSkpXG5cdFx0bmV4dCgpXG5cblx0cmV0dXJuIHNsaWNlKGluZGV4LCBwb3NpdGlvbilcbn1cbiIsICJpbXBvcnQge0NPTU1FTlQsIFJVTEVTRVQsIERFQ0xBUkFUSU9OfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge2FicywgY2hhcmF0LCB0cmltLCBmcm9tLCBzaXplb2YsIHN0cmxlbiwgc3Vic3RyLCBhcHBlbmQsIHJlcGxhY2UsIGluZGV4b2Z9IGZyb20gJy4vVXRpbGl0eS5qcydcbmltcG9ydCB7bm9kZSwgY2hhciwgcHJldiwgbmV4dCwgcGVlaywgY2FyZXQsIGFsbG9jLCBkZWFsbG9jLCBkZWxpbWl0LCB3aGl0ZXNwYWNlLCBlc2NhcGluZywgaWRlbnRpZmllciwgY29tbWVudGVyfSBmcm9tICcuL1Rva2VuaXplci5qcydcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4ge29iamVjdFtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcGlsZSAodmFsdWUpIHtcblx0cmV0dXJuIGRlYWxsb2MocGFyc2UoJycsIG51bGwsIG51bGwsIG51bGwsIFsnJ10sIHZhbHVlID0gYWxsb2ModmFsdWUpLCAwLCBbMF0sIHZhbHVlKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7b2JqZWN0fSByb290XG4gKiBAcGFyYW0ge29iamVjdD99IHBhcmVudFxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gcnVsZXNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHJ1bGVzZXRzXG4gKiBAcGFyYW0ge251bWJlcltdfSBwc2V1ZG9cbiAqIEBwYXJhbSB7bnVtYmVyW119IHBvaW50c1xuICogQHBhcmFtIHtzdHJpbmdbXX0gZGVjbGFyYXRpb25zXG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZSAodmFsdWUsIHJvb3QsIHBhcmVudCwgcnVsZSwgcnVsZXMsIHJ1bGVzZXRzLCBwc2V1ZG8sIHBvaW50cywgZGVjbGFyYXRpb25zKSB7XG5cdHZhciBpbmRleCA9IDBcblx0dmFyIG9mZnNldCA9IDBcblx0dmFyIGxlbmd0aCA9IHBzZXVkb1xuXHR2YXIgYXRydWxlID0gMFxuXHR2YXIgcHJvcGVydHkgPSAwXG5cdHZhciBwcmV2aW91cyA9IDBcblx0dmFyIHZhcmlhYmxlID0gMVxuXHR2YXIgc2Nhbm5pbmcgPSAxXG5cdHZhciBhbXBlcnNhbmQgPSAxXG5cdHZhciBjaGFyYWN0ZXIgPSAwXG5cdHZhciB0eXBlID0gJydcblx0dmFyIHByb3BzID0gcnVsZXNcblx0dmFyIGNoaWxkcmVuID0gcnVsZXNldHNcblx0dmFyIHJlZmVyZW5jZSA9IHJ1bGVcblx0dmFyIGNoYXJhY3RlcnMgPSB0eXBlXG5cblx0d2hpbGUgKHNjYW5uaW5nKVxuXHRcdHN3aXRjaCAocHJldmlvdXMgPSBjaGFyYWN0ZXIsIGNoYXJhY3RlciA9IG5leHQoKSkge1xuXHRcdFx0Ly8gKFxuXHRcdFx0Y2FzZSA0MDpcblx0XHRcdFx0aWYgKHByZXZpb3VzICE9IDEwOCAmJiBjaGFyYXQoY2hhcmFjdGVycywgbGVuZ3RoIC0gMSkgPT0gNTgpIHtcblx0XHRcdFx0XHRpZiAoaW5kZXhvZihjaGFyYWN0ZXJzICs9IHJlcGxhY2UoZGVsaW1pdChjaGFyYWN0ZXIpLCAnJicsICcmXFxmJyksICcmXFxmJykgIT0gLTEpXG5cdFx0XHRcdFx0XHRhbXBlcnNhbmQgPSAtMVxuXHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdH1cblx0XHRcdC8vIFwiICcgW1xuXHRcdFx0Y2FzZSAzNDogY2FzZSAzOTogY2FzZSA5MTpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSBkZWxpbWl0KGNoYXJhY3Rlcilcblx0XHRcdFx0YnJlYWtcblx0XHRcdC8vIFxcdCBcXG4gXFxyIFxcc1xuXHRcdFx0Y2FzZSA5OiBjYXNlIDEwOiBjYXNlIDEzOiBjYXNlIDMyOlxuXHRcdFx0XHRjaGFyYWN0ZXJzICs9IHdoaXRlc3BhY2UocHJldmlvdXMpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyBcXFxuXHRcdFx0Y2FzZSA5Mjpcblx0XHRcdFx0Y2hhcmFjdGVycyArPSBlc2NhcGluZyhjYXJldCgpIC0gMSwgNylcblx0XHRcdFx0Y29udGludWVcblx0XHRcdC8vIC9cblx0XHRcdGNhc2UgNDc6XG5cdFx0XHRcdHN3aXRjaCAocGVlaygpKSB7XG5cdFx0XHRcdFx0Y2FzZSA0MjogY2FzZSA0Nzpcblx0XHRcdFx0XHRcdGFwcGVuZChjb21tZW50KGNvbW1lbnRlcihuZXh0KCksIGNhcmV0KCkpLCByb290LCBwYXJlbnQpLCBkZWNsYXJhdGlvbnMpXG5cdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRjaGFyYWN0ZXJzICs9ICcvJ1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrXG5cdFx0XHQvLyB7XG5cdFx0XHRjYXNlIDEyMyAqIHZhcmlhYmxlOlxuXHRcdFx0XHRwb2ludHNbaW5kZXgrK10gPSBzdHJsZW4oY2hhcmFjdGVycykgKiBhbXBlcnNhbmRcblx0XHRcdC8vIH0gOyBcXDBcblx0XHRcdGNhc2UgMTI1ICogdmFyaWFibGU6IGNhc2UgNTk6IGNhc2UgMDpcblx0XHRcdFx0c3dpdGNoIChjaGFyYWN0ZXIpIHtcblx0XHRcdFx0XHQvLyBcXDAgfVxuXHRcdFx0XHRcdGNhc2UgMDogY2FzZSAxMjU6IHNjYW5uaW5nID0gMFxuXHRcdFx0XHRcdC8vIDtcblx0XHRcdFx0XHRjYXNlIDU5ICsgb2Zmc2V0OiBpZiAoYW1wZXJzYW5kID09IC0xKSBjaGFyYWN0ZXJzID0gcmVwbGFjZShjaGFyYWN0ZXJzLCAvXFxmL2csICcnKVxuXHRcdFx0XHRcdFx0aWYgKHByb3BlcnR5ID4gMCAmJiAoc3RybGVuKGNoYXJhY3RlcnMpIC0gbGVuZ3RoKSlcblx0XHRcdFx0XHRcdFx0YXBwZW5kKHByb3BlcnR5ID4gMzIgPyBkZWNsYXJhdGlvbihjaGFyYWN0ZXJzICsgJzsnLCBydWxlLCBwYXJlbnQsIGxlbmd0aCAtIDEpIDogZGVjbGFyYXRpb24ocmVwbGFjZShjaGFyYWN0ZXJzLCAnICcsICcnKSArICc7JywgcnVsZSwgcGFyZW50LCBsZW5ndGggLSAyKSwgZGVjbGFyYXRpb25zKVxuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyBAIDtcblx0XHRcdFx0XHRjYXNlIDU5OiBjaGFyYWN0ZXJzICs9ICc7J1xuXHRcdFx0XHRcdC8vIHsgcnVsZS9hdC1ydWxlXG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdGFwcGVuZChyZWZlcmVuY2UgPSBydWxlc2V0KGNoYXJhY3RlcnMsIHJvb3QsIHBhcmVudCwgaW5kZXgsIG9mZnNldCwgcnVsZXMsIHBvaW50cywgdHlwZSwgcHJvcHMgPSBbXSwgY2hpbGRyZW4gPSBbXSwgbGVuZ3RoKSwgcnVsZXNldHMpXG5cblx0XHRcdFx0XHRcdGlmIChjaGFyYWN0ZXIgPT09IDEyMylcblx0XHRcdFx0XHRcdFx0aWYgKG9mZnNldCA9PT0gMClcblx0XHRcdFx0XHRcdFx0XHRwYXJzZShjaGFyYWN0ZXJzLCByb290LCByZWZlcmVuY2UsIHJlZmVyZW5jZSwgcHJvcHMsIHJ1bGVzZXRzLCBsZW5ndGgsIHBvaW50cywgY2hpbGRyZW4pXG5cdFx0XHRcdFx0XHRcdGVsc2Vcblx0XHRcdFx0XHRcdFx0XHRzd2l0Y2ggKGF0cnVsZSA9PT0gOTkgJiYgY2hhcmF0KGNoYXJhY3RlcnMsIDMpID09PSAxMTAgPyAxMDAgOiBhdHJ1bGUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGQgbCBtIHNcblx0XHRcdFx0XHRcdFx0XHRcdGNhc2UgMTAwOiBjYXNlIDEwODogY2FzZSAxMDk6IGNhc2UgMTE1OlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYXJzZSh2YWx1ZSwgcmVmZXJlbmNlLCByZWZlcmVuY2UsIHJ1bGUgJiYgYXBwZW5kKHJ1bGVzZXQodmFsdWUsIHJlZmVyZW5jZSwgcmVmZXJlbmNlLCAwLCAwLCBydWxlcywgcG9pbnRzLCB0eXBlLCBydWxlcywgcHJvcHMgPSBbXSwgbGVuZ3RoKSwgY2hpbGRyZW4pLCBydWxlcywgY2hpbGRyZW4sIGxlbmd0aCwgcG9pbnRzLCBydWxlID8gcHJvcHMgOiBjaGlsZHJlbilcblx0XHRcdFx0XHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhcnNlKGNoYXJhY3RlcnMsIHJlZmVyZW5jZSwgcmVmZXJlbmNlLCByZWZlcmVuY2UsIFsnJ10sIGNoaWxkcmVuLCAwLCBwb2ludHMsIGNoaWxkcmVuKVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGluZGV4ID0gb2Zmc2V0ID0gcHJvcGVydHkgPSAwLCB2YXJpYWJsZSA9IGFtcGVyc2FuZCA9IDEsIHR5cGUgPSBjaGFyYWN0ZXJzID0gJycsIGxlbmd0aCA9IHBzZXVkb1xuXHRcdFx0XHRicmVha1xuXHRcdFx0Ly8gOlxuXHRcdFx0Y2FzZSA1ODpcblx0XHRcdFx0bGVuZ3RoID0gMSArIHN0cmxlbihjaGFyYWN0ZXJzKSwgcHJvcGVydHkgPSBwcmV2aW91c1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0aWYgKHZhcmlhYmxlIDwgMSlcblx0XHRcdFx0XHRpZiAoY2hhcmFjdGVyID09IDEyMylcblx0XHRcdFx0XHRcdC0tdmFyaWFibGVcblx0XHRcdFx0XHRlbHNlIGlmIChjaGFyYWN0ZXIgPT0gMTI1ICYmIHZhcmlhYmxlKysgPT0gMCAmJiBwcmV2KCkgPT0gMTI1KVxuXHRcdFx0XHRcdFx0Y29udGludWVcblxuXHRcdFx0XHRzd2l0Y2ggKGNoYXJhY3RlcnMgKz0gZnJvbShjaGFyYWN0ZXIpLCBjaGFyYWN0ZXIgKiB2YXJpYWJsZSkge1xuXHRcdFx0XHRcdC8vICZcblx0XHRcdFx0XHRjYXNlIDM4OlxuXHRcdFx0XHRcdFx0YW1wZXJzYW5kID0gb2Zmc2V0ID4gMCA/IDEgOiAoY2hhcmFjdGVycyArPSAnXFxmJywgLTEpXG5cdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdC8vICxcblx0XHRcdFx0XHRjYXNlIDQ0OlxuXHRcdFx0XHRcdFx0cG9pbnRzW2luZGV4KytdID0gKHN0cmxlbihjaGFyYWN0ZXJzKSAtIDEpICogYW1wZXJzYW5kLCBhbXBlcnNhbmQgPSAxXG5cdFx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHRcdC8vIEBcblx0XHRcdFx0XHRjYXNlIDY0OlxuXHRcdFx0XHRcdFx0Ly8gLVxuXHRcdFx0XHRcdFx0aWYgKHBlZWsoKSA9PT0gNDUpXG5cdFx0XHRcdFx0XHRcdGNoYXJhY3RlcnMgKz0gZGVsaW1pdChuZXh0KCkpXG5cblx0XHRcdFx0XHRcdGF0cnVsZSA9IHBlZWsoKSwgb2Zmc2V0ID0gbGVuZ3RoID0gc3RybGVuKHR5cGUgPSBjaGFyYWN0ZXJzICs9IGlkZW50aWZpZXIoY2FyZXQoKSkpLCBjaGFyYWN0ZXIrK1xuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHQvLyAtXG5cdFx0XHRcdFx0Y2FzZSA0NTpcblx0XHRcdFx0XHRcdGlmIChwcmV2aW91cyA9PT0gNDUgJiYgc3RybGVuKGNoYXJhY3RlcnMpID09IDIpXG5cdFx0XHRcdFx0XHRcdHZhcmlhYmxlID0gMFxuXHRcdFx0XHR9XG5cdFx0fVxuXG5cdHJldHVybiBydWxlc2V0c1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0P30gcGFyZW50XG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAqIEBwYXJhbSB7c3RyaW5nW119IHJ1bGVzXG4gKiBAcGFyYW0ge251bWJlcltdfSBwb2ludHNcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwcm9wc1xuICogQHBhcmFtIHtzdHJpbmdbXX0gY2hpbGRyZW5cbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzZXQgKHZhbHVlLCByb290LCBwYXJlbnQsIGluZGV4LCBvZmZzZXQsIHJ1bGVzLCBwb2ludHMsIHR5cGUsIHByb3BzLCBjaGlsZHJlbiwgbGVuZ3RoKSB7XG5cdHZhciBwb3N0ID0gb2Zmc2V0IC0gMVxuXHR2YXIgcnVsZSA9IG9mZnNldCA9PT0gMCA/IHJ1bGVzIDogWycnXVxuXHR2YXIgc2l6ZSA9IHNpemVvZihydWxlKVxuXG5cdGZvciAodmFyIGkgPSAwLCBqID0gMCwgayA9IDA7IGkgPCBpbmRleDsgKytpKVxuXHRcdGZvciAodmFyIHggPSAwLCB5ID0gc3Vic3RyKHZhbHVlLCBwb3N0ICsgMSwgcG9zdCA9IGFicyhqID0gcG9pbnRzW2ldKSksIHogPSB2YWx1ZTsgeCA8IHNpemU7ICsreClcblx0XHRcdGlmICh6ID0gdHJpbShqID4gMCA/IHJ1bGVbeF0gKyAnICcgKyB5IDogcmVwbGFjZSh5LCAvJlxcZi9nLCBydWxlW3hdKSkpXG5cdFx0XHRcdHByb3BzW2srK10gPSB6XG5cblx0cmV0dXJuIG5vZGUodmFsdWUsIHJvb3QsIHBhcmVudCwgb2Zmc2V0ID09PSAwID8gUlVMRVNFVCA6IHR5cGUsIHByb3BzLCBjaGlsZHJlbiwgbGVuZ3RoKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICogQHBhcmFtIHtvYmplY3R9IHJvb3RcbiAqIEBwYXJhbSB7b2JqZWN0P30gcGFyZW50XG4gKiBAcmV0dXJuIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21tZW50ICh2YWx1ZSwgcm9vdCwgcGFyZW50KSB7XG5cdHJldHVybiBub2RlKHZhbHVlLCByb290LCBwYXJlbnQsIENPTU1FTlQsIGZyb20oY2hhcigpKSwgc3Vic3RyKHZhbHVlLCAyLCAtMiksIDApXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge29iamVjdH0gcm9vdFxuICogQHBhcmFtIHtvYmplY3Q/fSBwYXJlbnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGhcbiAqIEByZXR1cm4ge29iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uICh2YWx1ZSwgcm9vdCwgcGFyZW50LCBsZW5ndGgpIHtcblx0cmV0dXJuIG5vZGUodmFsdWUsIHJvb3QsIHBhcmVudCwgREVDTEFSQVRJT04sIHN1YnN0cih2YWx1ZSwgMCwgbGVuZ3RoKSwgc3Vic3RyKHZhbHVlLCBsZW5ndGggKyAxLCAtMSksIGxlbmd0aClcbn1cbiIsICJpbXBvcnQge0lNUE9SVCwgTEFZRVIsIENPTU1FTlQsIFJVTEVTRVQsIERFQ0xBUkFUSU9OLCBLRVlGUkFNRVN9IGZyb20gJy4vRW51bS5qcydcbmltcG9ydCB7c3RybGVuLCBzaXplb2Z9IGZyb20gJy4vVXRpbGl0eS5qcydcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdFtdfSBjaGlsZHJlblxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZSAoY2hpbGRyZW4sIGNhbGxiYWNrKSB7XG5cdHZhciBvdXRwdXQgPSAnJ1xuXHR2YXIgbGVuZ3RoID0gc2l6ZW9mKGNoaWxkcmVuKVxuXG5cdGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspXG5cdFx0b3V0cHV0ICs9IGNhbGxiYWNrKGNoaWxkcmVuW2ldLCBpLCBjaGlsZHJlbiwgY2FsbGJhY2spIHx8ICcnXG5cblx0cmV0dXJuIG91dHB1dFxufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBlbGVtZW50XG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5IChlbGVtZW50LCBpbmRleCwgY2hpbGRyZW4sIGNhbGxiYWNrKSB7XG5cdHN3aXRjaCAoZWxlbWVudC50eXBlKSB7XG5cdFx0Y2FzZSBMQVlFUjogaWYgKGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKSBicmVha1xuXHRcdGNhc2UgSU1QT1JUOiBjYXNlIERFQ0xBUkFUSU9OOiByZXR1cm4gZWxlbWVudC5yZXR1cm4gPSBlbGVtZW50LnJldHVybiB8fCBlbGVtZW50LnZhbHVlXG5cdFx0Y2FzZSBDT01NRU5UOiByZXR1cm4gJydcblx0XHRjYXNlIEtFWUZSQU1FUzogcmV0dXJuIGVsZW1lbnQucmV0dXJuID0gZWxlbWVudC52YWx1ZSArICd7JyArIHNlcmlhbGl6ZShlbGVtZW50LmNoaWxkcmVuLCBjYWxsYmFjaykgKyAnfSdcblx0XHRjYXNlIFJVTEVTRVQ6IGVsZW1lbnQudmFsdWUgPSBlbGVtZW50LnByb3BzLmpvaW4oJywnKVxuXHR9XG5cblx0cmV0dXJuIHN0cmxlbihjaGlsZHJlbiA9IHNlcmlhbGl6ZShlbGVtZW50LmNoaWxkcmVuLCBjYWxsYmFjaykpID8gZWxlbWVudC5yZXR1cm4gPSBlbGVtZW50LnZhbHVlICsgJ3snICsgY2hpbGRyZW4gKyAnfScgOiAnJ1xufVxuIiwgImltcG9ydCB7TVMsIE1PWiwgV0VCS0lULCBSVUxFU0VULCBLRVlGUkFNRVMsIERFQ0xBUkFUSU9OfSBmcm9tICcuL0VudW0uanMnXG5pbXBvcnQge21hdGNoLCBjaGFyYXQsIHN1YnN0ciwgc3RybGVuLCBzaXplb2YsIHJlcGxhY2UsIGNvbWJpbmV9IGZyb20gJy4vVXRpbGl0eS5qcydcbmltcG9ydCB7Y29weSwgdG9rZW5pemV9IGZyb20gJy4vVG9rZW5pemVyLmpzJ1xuaW1wb3J0IHtzZXJpYWxpemV9IGZyb20gJy4vU2VyaWFsaXplci5qcydcbmltcG9ydCB7cHJlZml4fSBmcm9tICcuL1ByZWZpeGVyLmpzJ1xuXG4vKipcbiAqIEBwYXJhbSB7ZnVuY3Rpb25bXX0gY29sbGVjdGlvblxuICogQHJldHVybiB7ZnVuY3Rpb259XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtaWRkbGV3YXJlIChjb2xsZWN0aW9uKSB7XG5cdHZhciBsZW5ndGggPSBzaXplb2YoY29sbGVjdGlvbilcblxuXHRyZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcblx0XHR2YXIgb3V0cHV0ID0gJydcblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspXG5cdFx0XHRvdXRwdXQgKz0gY29sbGVjdGlvbltpXShlbGVtZW50LCBpbmRleCwgY2hpbGRyZW4sIGNhbGxiYWNrKSB8fCAnJ1xuXG5cdFx0cmV0dXJuIG91dHB1dFxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge2Z1bmN0aW9ufVxuICovXG5leHBvcnQgZnVuY3Rpb24gcnVsZXNoZWV0IChjYWxsYmFjaykge1xuXHRyZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQpIHtcblx0XHRpZiAoIWVsZW1lbnQucm9vdClcblx0XHRcdGlmIChlbGVtZW50ID0gZWxlbWVudC5yZXR1cm4pXG5cdFx0XHRcdGNhbGxiYWNrKGVsZW1lbnQpXG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gZWxlbWVudFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XG4gKiBAcGFyYW0ge29iamVjdFtdfSBjaGlsZHJlblxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZWZpeGVyIChlbGVtZW50LCBpbmRleCwgY2hpbGRyZW4sIGNhbGxiYWNrKSB7XG5cdGlmIChlbGVtZW50Lmxlbmd0aCA+IC0xKVxuXHRcdGlmICghZWxlbWVudC5yZXR1cm4pXG5cdFx0XHRzd2l0Y2ggKGVsZW1lbnQudHlwZSkge1xuXHRcdFx0XHRjYXNlIERFQ0xBUkFUSU9OOiBlbGVtZW50LnJldHVybiA9IHByZWZpeChlbGVtZW50LnZhbHVlLCBlbGVtZW50Lmxlbmd0aCwgY2hpbGRyZW4pXG5cdFx0XHRcdFx0cmV0dXJuXG5cdFx0XHRcdGNhc2UgS0VZRlJBTUVTOlxuXHRcdFx0XHRcdHJldHVybiBzZXJpYWxpemUoW2NvcHkoZWxlbWVudCwge3ZhbHVlOiByZXBsYWNlKGVsZW1lbnQudmFsdWUsICdAJywgJ0AnICsgV0VCS0lUKX0pXSwgY2FsbGJhY2spXG5cdFx0XHRcdGNhc2UgUlVMRVNFVDpcblx0XHRcdFx0XHRpZiAoZWxlbWVudC5sZW5ndGgpXG5cdFx0XHRcdFx0XHRyZXR1cm4gY29tYmluZShlbGVtZW50LnByb3BzLCBmdW5jdGlvbiAodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0c3dpdGNoIChtYXRjaCh2YWx1ZSwgLyg6OnBsYWNcXHcrfDpyZWFkLVxcdyspLykpIHtcblx0XHRcdFx0XHRcdFx0XHQvLyA6cmVhZC0ob25seXx3cml0ZSlcblx0XHRcdFx0XHRcdFx0XHRjYXNlICc6cmVhZC1vbmx5JzogY2FzZSAnOnJlYWQtd3JpdGUnOlxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNlcmlhbGl6ZShbY29weShlbGVtZW50LCB7cHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihyZWFkLVxcdyspLywgJzonICsgTU9aICsgJyQxJyldfSldLCBjYWxsYmFjaylcblx0XHRcdFx0XHRcdFx0XHQvLyA6cGxhY2Vob2xkZXJcblx0XHRcdFx0XHRcdFx0XHRjYXNlICc6OnBsYWNlaG9sZGVyJzpcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXJpYWxpemUoW1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb3B5KGVsZW1lbnQsIHtwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHBsYWNcXHcrKS8sICc6JyArIFdFQktJVCArICdpbnB1dC0kMScpXX0pLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb3B5KGVsZW1lbnQsIHtwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHBsYWNcXHcrKS8sICc6JyArIE1PWiArICckMScpXX0pLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb3B5KGVsZW1lbnQsIHtwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHBsYWNcXHcrKS8sIE1TICsgJ2lucHV0LSQxJyldfSlcblx0XHRcdFx0XHRcdFx0XHRcdF0sIGNhbGxiYWNrKVxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0cmV0dXJuICcnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBlbGVtZW50XG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAqIEBwYXJhbSB7b2JqZWN0W119IGNoaWxkcmVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuYW1lc3BhY2UgKGVsZW1lbnQpIHtcblx0c3dpdGNoIChlbGVtZW50LnR5cGUpIHtcblx0XHRjYXNlIFJVTEVTRVQ6XG5cdFx0XHRlbGVtZW50LnByb3BzID0gZWxlbWVudC5wcm9wcy5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7XG5cdFx0XHRcdHJldHVybiBjb21iaW5lKHRva2VuaXplKHZhbHVlKSwgZnVuY3Rpb24gKHZhbHVlLCBpbmRleCwgY2hpbGRyZW4pIHtcblx0XHRcdFx0XHRzd2l0Y2ggKGNoYXJhdCh2YWx1ZSwgMCkpIHtcblx0XHRcdFx0XHRcdC8vIFxcZlxuXHRcdFx0XHRcdFx0Y2FzZSAxMjpcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHN1YnN0cih2YWx1ZSwgMSwgc3RybGVuKHZhbHVlKSlcblx0XHRcdFx0XHRcdC8vIFxcMCAoICsgPiB+XG5cdFx0XHRcdFx0XHRjYXNlIDA6IGNhc2UgNDA6IGNhc2UgNDM6IGNhc2UgNjI6IGNhc2UgMTI2OlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWVcblx0XHRcdFx0XHRcdC8vIDpcblx0XHRcdFx0XHRcdGNhc2UgNTg6XG5cdFx0XHRcdFx0XHRcdGlmIChjaGlsZHJlblsrK2luZGV4XSA9PT0gJ2dsb2JhbCcpXG5cdFx0XHRcdFx0XHRcdFx0Y2hpbGRyZW5baW5kZXhdID0gJycsIGNoaWxkcmVuWysraW5kZXhdID0gJ1xcZicgKyBzdWJzdHIoY2hpbGRyZW5baW5kZXhdLCBpbmRleCA9IDEsIC0xKVxuXHRcdFx0XHRcdFx0Ly8gXFxzXG5cdFx0XHRcdFx0XHRjYXNlIDMyOlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gaW5kZXggPT09IDEgPyAnJyA6IHZhbHVlXG5cdFx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0XHRzd2l0Y2ggKGluZGV4KSB7XG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAwOiBlbGVtZW50ID0gdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzaXplb2YoY2hpbGRyZW4pID4gMSA/ICcnIDogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRjYXNlIGluZGV4ID0gc2l6ZW9mKGNoaWxkcmVuKSAtIDE6IGNhc2UgMjpcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBpbmRleCA9PT0gMiA/IHZhbHVlICsgZWxlbWVudCArIGVsZW1lbnQgOiB2YWx1ZSArIGVsZW1lbnRcblx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhbHVlXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9KVxuXHR9XG59XG4iLCAiZnVuY3Rpb24gbWVtb2l6ZShmbikge1xuICB2YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICByZXR1cm4gZnVuY3Rpb24gKGFyZykge1xuICAgIGlmIChjYWNoZVthcmddID09PSB1bmRlZmluZWQpIGNhY2hlW2FyZ10gPSBmbihhcmcpO1xuICAgIHJldHVybiBjYWNoZVthcmddO1xuICB9O1xufVxuXG5leHBvcnQgeyBtZW1vaXplIGFzIGRlZmF1bHQgfTtcbiIsICJpbXBvcnQgeyBTdHlsZVNoZWV0IH0gZnJvbSAnQGVtb3Rpb24vc2hlZXQnO1xuaW1wb3J0IHsgZGVhbGxvYywgYWxsb2MsIG5leHQsIHRva2VuLCBmcm9tLCBwZWVrLCBkZWxpbWl0LCBzbGljZSwgcG9zaXRpb24sIFJVTEVTRVQsIGNvbWJpbmUsIG1hdGNoLCBzZXJpYWxpemUsIGNvcHksIHJlcGxhY2UsIFdFQktJVCwgTU9aLCBNUywgS0VZRlJBTUVTLCBERUNMQVJBVElPTiwgaGFzaCwgY2hhcmF0LCBzdHJsZW4sIGluZGV4b2YsIHN0cmluZ2lmeSwgcnVsZXNoZWV0LCBtaWRkbGV3YXJlLCBjb21waWxlIH0gZnJvbSAnc3R5bGlzJztcbmltcG9ydCAnQGVtb3Rpb24vd2Vhay1tZW1vaXplJztcbmltcG9ydCAnQGVtb3Rpb24vbWVtb2l6ZSc7XG5cbnZhciBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcgPSBmdW5jdGlvbiBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcoYmVnaW4sIHBvaW50cywgaW5kZXgpIHtcbiAgdmFyIHByZXZpb3VzID0gMDtcbiAgdmFyIGNoYXJhY3RlciA9IDA7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBwcmV2aW91cyA9IGNoYXJhY3RlcjtcbiAgICBjaGFyYWN0ZXIgPSBwZWVrKCk7IC8vICZcXGZcblxuICAgIGlmIChwcmV2aW91cyA9PT0gMzggJiYgY2hhcmFjdGVyID09PSAxMikge1xuICAgICAgcG9pbnRzW2luZGV4XSA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuKGNoYXJhY3RlcikpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIG5leHQoKTtcbiAgfVxuXG4gIHJldHVybiBzbGljZShiZWdpbiwgcG9zaXRpb24pO1xufTtcblxudmFyIHRvUnVsZXMgPSBmdW5jdGlvbiB0b1J1bGVzKHBhcnNlZCwgcG9pbnRzKSB7XG4gIC8vIHByZXRlbmQgd2UndmUgc3RhcnRlZCB3aXRoIGEgY29tbWFcbiAgdmFyIGluZGV4ID0gLTE7XG4gIHZhciBjaGFyYWN0ZXIgPSA0NDtcblxuICBkbyB7XG4gICAgc3dpdGNoICh0b2tlbihjaGFyYWN0ZXIpKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIC8vICZcXGZcbiAgICAgICAgaWYgKGNoYXJhY3RlciA9PT0gMzggJiYgcGVlaygpID09PSAxMikge1xuICAgICAgICAgIC8vIHRoaXMgaXMgbm90IDEwMCUgY29ycmVjdCwgd2UgZG9uJ3QgYWNjb3VudCBmb3IgbGl0ZXJhbCBzZXF1ZW5jZXMgaGVyZSAtIGxpa2UgZm9yIGV4YW1wbGUgcXVvdGVkIHN0cmluZ3NcbiAgICAgICAgICAvLyBzdHlsaXMgaW5zZXJ0cyBcXGYgYWZ0ZXIgJiB0byBrbm93IHdoZW4gJiB3aGVyZSBpdCBzaG91bGQgcmVwbGFjZSB0aGlzIHNlcXVlbmNlIHdpdGggdGhlIGNvbnRleHQgc2VsZWN0b3JcbiAgICAgICAgICAvLyBhbmQgd2hlbiBpdCBzaG91bGQganVzdCBjb25jYXRlbmF0ZSB0aGUgb3V0ZXIgYW5kIGlubmVyIHNlbGVjdG9yc1xuICAgICAgICAgIC8vIGl0J3MgdmVyeSB1bmxpa2VseSBmb3IgdGhpcyBzZXF1ZW5jZSB0byBhY3R1YWxseSBhcHBlYXIgaW4gYSBkaWZmZXJlbnQgY29udGV4dCwgc28gd2UganVzdCBsZXZlcmFnZSB0aGlzIGZhY3QgaGVyZVxuICAgICAgICAgIHBvaW50c1tpbmRleF0gPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyc2VkW2luZGV4XSArPSBpZGVudGlmaWVyV2l0aFBvaW50VHJhY2tpbmcocG9zaXRpb24gLSAxLCBwb2ludHMsIGluZGV4KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgMjpcbiAgICAgICAgcGFyc2VkW2luZGV4XSArPSBkZWxpbWl0KGNoYXJhY3Rlcik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDQ6XG4gICAgICAgIC8vIGNvbW1hXG4gICAgICAgIGlmIChjaGFyYWN0ZXIgPT09IDQ0KSB7XG4gICAgICAgICAgLy8gY29sb25cbiAgICAgICAgICBwYXJzZWRbKytpbmRleF0gPSBwZWVrKCkgPT09IDU4ID8gJyZcXGYnIDogJyc7XG4gICAgICAgICAgcG9pbnRzW2luZGV4XSA9IHBhcnNlZFtpbmRleF0ubGVuZ3RoO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIC8vIGZhbGx0aHJvdWdoXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHBhcnNlZFtpbmRleF0gKz0gZnJvbShjaGFyYWN0ZXIpO1xuICAgIH1cbiAgfSB3aGlsZSAoY2hhcmFjdGVyID0gbmV4dCgpKTtcblxuICByZXR1cm4gcGFyc2VkO1xufTtcblxudmFyIGdldFJ1bGVzID0gZnVuY3Rpb24gZ2V0UnVsZXModmFsdWUsIHBvaW50cykge1xuICByZXR1cm4gZGVhbGxvYyh0b1J1bGVzKGFsbG9jKHZhbHVlKSwgcG9pbnRzKSk7XG59OyAvLyBXZWFrU2V0IHdvdWxkIGJlIG1vcmUgYXBwcm9wcmlhdGUsIGJ1dCBvbmx5IFdlYWtNYXAgaXMgc3VwcG9ydGVkIGluIElFMTFcblxuXG52YXIgZml4ZWRFbGVtZW50cyA9IC8qICNfX1BVUkVfXyAqL25ldyBXZWFrTWFwKCk7XG52YXIgY29tcGF0ID0gZnVuY3Rpb24gY29tcGF0KGVsZW1lbnQpIHtcbiAgaWYgKGVsZW1lbnQudHlwZSAhPT0gJ3J1bGUnIHx8ICFlbGVtZW50LnBhcmVudCB8fCAvLyBwb3NpdGl2ZSAubGVuZ3RoIGluZGljYXRlcyB0aGF0IHRoaXMgcnVsZSBjb250YWlucyBwc2V1ZG9cbiAgLy8gbmVnYXRpdmUgLmxlbmd0aCBpbmRpY2F0ZXMgdGhhdCB0aGlzIHJ1bGUgaGFzIGJlZW4gYWxyZWFkeSBwcmVmaXhlZFxuICBlbGVtZW50Lmxlbmd0aCA8IDEpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgdmFsdWUgPSBlbGVtZW50LnZhbHVlLFxuICAgICAgcGFyZW50ID0gZWxlbWVudC5wYXJlbnQ7XG4gIHZhciBpc0ltcGxpY2l0UnVsZSA9IGVsZW1lbnQuY29sdW1uID09PSBwYXJlbnQuY29sdW1uICYmIGVsZW1lbnQubGluZSA9PT0gcGFyZW50LmxpbmU7XG5cbiAgd2hpbGUgKHBhcmVudC50eXBlICE9PSAncnVsZScpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICAgIGlmICghcGFyZW50KSByZXR1cm47XG4gIH0gLy8gc2hvcnQtY2lyY3VpdCBmb3IgdGhlIHNpbXBsZXN0IGNhc2VcblxuXG4gIGlmIChlbGVtZW50LnByb3BzLmxlbmd0aCA9PT0gMSAmJiB2YWx1ZS5jaGFyQ29kZUF0KDApICE9PSA1OFxuICAvKiBjb2xvbiAqL1xuICAmJiAhZml4ZWRFbGVtZW50cy5nZXQocGFyZW50KSkge1xuICAgIHJldHVybjtcbiAgfSAvLyBpZiB0aGlzIGlzIGFuIGltcGxpY2l0bHkgaW5zZXJ0ZWQgcnVsZSAodGhlIG9uZSBlYWdlcmx5IGluc2VydGVkIGF0IHRoZSBlYWNoIG5ldyBuZXN0ZWQgbGV2ZWwpXG4gIC8vIHRoZW4gdGhlIHByb3BzIGhhcyBhbHJlYWR5IGJlZW4gbWFuaXB1bGF0ZWQgYmVmb3JlaGFuZCBhcyB0aGV5IHRoYXQgYXJyYXkgaXMgc2hhcmVkIGJldHdlZW4gaXQgYW5kIGl0cyBcInJ1bGUgcGFyZW50XCJcblxuXG4gIGlmIChpc0ltcGxpY2l0UnVsZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZpeGVkRWxlbWVudHMuc2V0KGVsZW1lbnQsIHRydWUpO1xuICB2YXIgcG9pbnRzID0gW107XG4gIHZhciBydWxlcyA9IGdldFJ1bGVzKHZhbHVlLCBwb2ludHMpO1xuICB2YXIgcGFyZW50UnVsZXMgPSBwYXJlbnQucHJvcHM7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGsgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBhcmVudFJ1bGVzLmxlbmd0aDsgaisrLCBrKyspIHtcbiAgICAgIGVsZW1lbnQucHJvcHNba10gPSBwb2ludHNbaV0gPyBydWxlc1tpXS5yZXBsYWNlKC8mXFxmL2csIHBhcmVudFJ1bGVzW2pdKSA6IHBhcmVudFJ1bGVzW2pdICsgXCIgXCIgKyBydWxlc1tpXTtcbiAgICB9XG4gIH1cbn07XG52YXIgcmVtb3ZlTGFiZWwgPSBmdW5jdGlvbiByZW1vdmVMYWJlbChlbGVtZW50KSB7XG4gIGlmIChlbGVtZW50LnR5cGUgPT09ICdkZWNsJykge1xuICAgIHZhciB2YWx1ZSA9IGVsZW1lbnQudmFsdWU7XG5cbiAgICBpZiAoIC8vIGNoYXJjb2RlIGZvciBsXG4gICAgdmFsdWUuY2hhckNvZGVBdCgwKSA9PT0gMTA4ICYmIC8vIGNoYXJjb2RlIGZvciBiXG4gICAgdmFsdWUuY2hhckNvZGVBdCgyKSA9PT0gOTgpIHtcbiAgICAgIC8vIHRoaXMgaWdub3JlcyBsYWJlbFxuICAgICAgZWxlbWVudFtcInJldHVyblwiXSA9ICcnO1xuICAgICAgZWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxufTtcblxuLyogZXNsaW50LWRpc2FibGUgbm8tZmFsbHRocm91Z2ggKi9cblxuZnVuY3Rpb24gcHJlZml4KHZhbHVlLCBsZW5ndGgpIHtcbiAgc3dpdGNoIChoYXNoKHZhbHVlLCBsZW5ndGgpKSB7XG4gICAgLy8gY29sb3ItYWRqdXN0XG4gICAgY2FzZSA1MTAzOlxuICAgICAgcmV0dXJuIFdFQktJVCArICdwcmludC0nICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBhbmltYXRpb24sIGFuaW1hdGlvbi0oZGVsYXl8ZGlyZWN0aW9ufGR1cmF0aW9ufGZpbGwtbW9kZXxpdGVyYXRpb24tY291bnR8bmFtZXxwbGF5LXN0YXRlfHRpbWluZy1mdW5jdGlvbilcblxuICAgIGNhc2UgNTczNzpcbiAgICBjYXNlIDQyMDE6XG4gICAgY2FzZSAzMTc3OlxuICAgIGNhc2UgMzQzMzpcbiAgICBjYXNlIDE2NDE6XG4gICAgY2FzZSA0NDU3OlxuICAgIGNhc2UgMjkyMTogLy8gdGV4dC1kZWNvcmF0aW9uLCBmaWx0ZXIsIGNsaXAtcGF0aCwgYmFja2ZhY2UtdmlzaWJpbGl0eSwgY29sdW1uLCBib3gtZGVjb3JhdGlvbi1icmVha1xuXG4gICAgY2FzZSA1NTcyOlxuICAgIGNhc2UgNjM1NjpcbiAgICBjYXNlIDU4NDQ6XG4gICAgY2FzZSAzMTkxOlxuICAgIGNhc2UgNjY0NTpcbiAgICBjYXNlIDMwMDU6IC8vIG1hc2ssIG1hc2staW1hZ2UsIG1hc2stKG1vZGV8Y2xpcHxzaXplKSwgbWFzay0ocmVwZWF0fG9yaWdpbiksIG1hc2stcG9zaXRpb24sIG1hc2stY29tcG9zaXRlLFxuXG4gICAgY2FzZSA2MzkxOlxuICAgIGNhc2UgNTg3OTpcbiAgICBjYXNlIDU2MjM6XG4gICAgY2FzZSA2MTM1OlxuICAgIGNhc2UgNDU5OTpcbiAgICBjYXNlIDQ4NTU6IC8vIGJhY2tncm91bmQtY2xpcCwgY29sdW1ucywgY29sdW1uLShjb3VudHxmaWxsfGdhcHxydWxlfHJ1bGUtY29sb3J8cnVsZS1zdHlsZXxydWxlLXdpZHRofHNwYW58d2lkdGgpXG5cbiAgICBjYXNlIDQyMTU6XG4gICAgY2FzZSA2Mzg5OlxuICAgIGNhc2UgNTEwOTpcbiAgICBjYXNlIDUzNjU6XG4gICAgY2FzZSA1NjIxOlxuICAgIGNhc2UgMzgyOTpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIHZhbHVlO1xuICAgIC8vIGFwcGVhcmFuY2UsIHVzZXItc2VsZWN0LCB0cmFuc2Zvcm0sIGh5cGhlbnMsIHRleHQtc2l6ZS1hZGp1c3RcblxuICAgIGNhc2UgNTM0OTpcbiAgICBjYXNlIDQyNDY6XG4gICAgY2FzZSA0ODEwOlxuICAgIGNhc2UgNjk2ODpcbiAgICBjYXNlIDI3NTY6XG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNT1ogKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LCBmbGV4LWRpcmVjdGlvblxuXG4gICAgY2FzZSA2ODI4OlxuICAgIGNhc2UgNDI2ODpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBvcmRlclxuXG4gICAgY2FzZSA2MTY1OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC0nICsgdmFsdWUgKyB2YWx1ZTtcbiAgICAvLyBhbGlnbi1pdGVtc1xuXG4gICAgY2FzZSA1MTg3OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgcmVwbGFjZSh2YWx1ZSwgLyhcXHcrKS4rKDpbXl0rKS8sIFdFQktJVCArICdib3gtJDEkMicgKyBNUyArICdmbGV4LSQxJDInKSArIHZhbHVlO1xuICAgIC8vIGFsaWduLXNlbGZcblxuICAgIGNhc2UgNTQ0MzpcbiAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgJ2ZsZXgtaXRlbS0nICsgcmVwbGFjZSh2YWx1ZSwgL2ZsZXgtfC1zZWxmLywgJycpICsgdmFsdWU7XG4gICAgLy8gYWxpZ24tY29udGVudFxuXG4gICAgY2FzZSA0Njc1OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyAnZmxleC1saW5lLXBhY2snICsgcmVwbGFjZSh2YWx1ZSwgL2FsaWduLWNvbnRlbnR8ZmxleC18LXNlbGYvLCAnJykgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LXNocmlua1xuXG4gICAgY2FzZSA1NTQ4OlxuICAgICAgcmV0dXJuIFdFQktJVCArIHZhbHVlICsgTVMgKyByZXBsYWNlKHZhbHVlLCAnc2hyaW5rJywgJ25lZ2F0aXZlJykgKyB2YWx1ZTtcbiAgICAvLyBmbGV4LWJhc2lzXG5cbiAgICBjYXNlIDUyOTI6XG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsICdiYXNpcycsICdwcmVmZXJyZWQtc2l6ZScpICsgdmFsdWU7XG4gICAgLy8gZmxleC1ncm93XG5cbiAgICBjYXNlIDYwNjA6XG4gICAgICByZXR1cm4gV0VCS0lUICsgJ2JveC0nICsgcmVwbGFjZSh2YWx1ZSwgJy1ncm93JywgJycpICsgV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsICdncm93JywgJ3Bvc2l0aXZlJykgKyB2YWx1ZTtcbiAgICAvLyB0cmFuc2l0aW9uXG5cbiAgICBjYXNlIDQ1NTQ6XG4gICAgICByZXR1cm4gV0VCS0lUICsgcmVwbGFjZSh2YWx1ZSwgLyhbXi1dKSh0cmFuc2Zvcm0pL2csICckMScgKyBXRUJLSVQgKyAnJDInKSArIHZhbHVlO1xuICAgIC8vIGN1cnNvclxuXG4gICAgY2FzZSA2MTg3OlxuICAgICAgcmV0dXJuIHJlcGxhY2UocmVwbGFjZShyZXBsYWNlKHZhbHVlLCAvKHpvb20tfGdyYWIpLywgV0VCS0lUICsgJyQxJyksIC8oaW1hZ2Utc2V0KS8sIFdFQktJVCArICckMScpLCB2YWx1ZSwgJycpICsgdmFsdWU7XG4gICAgLy8gYmFja2dyb3VuZCwgYmFja2dyb3VuZC1pbWFnZVxuXG4gICAgY2FzZSA1NDk1OlxuICAgIGNhc2UgMzk1OTpcbiAgICAgIHJldHVybiByZXBsYWNlKHZhbHVlLCAvKGltYWdlLXNldFxcKFteXSopLywgV0VCS0lUICsgJyQxJyArICckYCQxJyk7XG4gICAgLy8ganVzdGlmeS1jb250ZW50XG5cbiAgICBjYXNlIDQ5Njg6XG4gICAgICByZXR1cm4gcmVwbGFjZShyZXBsYWNlKHZhbHVlLCAvKC4rOikoZmxleC0pPyguKikvLCBXRUJLSVQgKyAnYm94LXBhY2s6JDMnICsgTVMgKyAnZmxleC1wYWNrOiQzJyksIC9zListYlteO10rLywgJ2p1c3RpZnknKSArIFdFQktJVCArIHZhbHVlICsgdmFsdWU7XG4gICAgLy8gKG1hcmdpbnxwYWRkaW5nKS1pbmxpbmUtKHN0YXJ0fGVuZClcblxuICAgIGNhc2UgNDA5NTpcbiAgICBjYXNlIDM1ODM6XG4gICAgY2FzZSA0MDY4OlxuICAgIGNhc2UgMjUzMjpcbiAgICAgIHJldHVybiByZXBsYWNlKHZhbHVlLCAvKC4rKS1pbmxpbmUoLispLywgV0VCS0lUICsgJyQxJDInKSArIHZhbHVlO1xuICAgIC8vIChtaW58bWF4KT8od2lkdGh8aGVpZ2h0fGlubGluZS1zaXplfGJsb2NrLXNpemUpXG5cbiAgICBjYXNlIDgxMTY6XG4gICAgY2FzZSA3MDU5OlxuICAgIGNhc2UgNTc1MzpcbiAgICBjYXNlIDU1MzU6XG4gICAgY2FzZSA1NDQ1OlxuICAgIGNhc2UgNTcwMTpcbiAgICBjYXNlIDQ5MzM6XG4gICAgY2FzZSA0Njc3OlxuICAgIGNhc2UgNTUzMzpcbiAgICBjYXNlIDU3ODk6XG4gICAgY2FzZSA1MDIxOlxuICAgIGNhc2UgNDc2NTpcbiAgICAgIC8vIHN0cmV0Y2gsIG1heC1jb250ZW50LCBtaW4tY29udGVudCwgZmlsbC1hdmFpbGFibGVcbiAgICAgIGlmIChzdHJsZW4odmFsdWUpIC0gMSAtIGxlbmd0aCA+IDYpIHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxKSkge1xuICAgICAgICAvLyAobSlheC1jb250ZW50LCAobSlpbi1jb250ZW50XG4gICAgICAgIGNhc2UgMTA5OlxuICAgICAgICAgIC8vIC1cbiAgICAgICAgICBpZiAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyA0KSAhPT0gNDUpIGJyZWFrO1xuICAgICAgICAvLyAoZilpbGwtYXZhaWxhYmxlLCAoZilpdC1jb250ZW50XG5cbiAgICAgICAgY2FzZSAxMDI6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLis6KSguKyktKFteXSspLywgJyQxJyArIFdFQktJVCArICckMi0kMycgKyAnJDEnICsgTU9aICsgKGNoYXJhdCh2YWx1ZSwgbGVuZ3RoICsgMykgPT0gMTA4ID8gJyQzJyA6ICckMi0kMycpKSArIHZhbHVlO1xuICAgICAgICAvLyAocyl0cmV0Y2hcblxuICAgICAgICBjYXNlIDExNTpcbiAgICAgICAgICByZXR1cm4gfmluZGV4b2YodmFsdWUsICdzdHJldGNoJykgPyBwcmVmaXgocmVwbGFjZSh2YWx1ZSwgJ3N0cmV0Y2gnLCAnZmlsbC1hdmFpbGFibGUnKSwgbGVuZ3RoKSArIHZhbHVlIDogdmFsdWU7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICAvLyBwb3NpdGlvbjogc3RpY2t5XG5cbiAgICBjYXNlIDQ5NDk6XG4gICAgICAvLyAocyl0aWNreT9cbiAgICAgIGlmIChjaGFyYXQodmFsdWUsIGxlbmd0aCArIDEpICE9PSAxMTUpIGJyZWFrO1xuICAgIC8vIGRpc3BsYXk6IChmbGV4fGlubGluZS1mbGV4KVxuXG4gICAgY2FzZSA2NDQ0OlxuICAgICAgc3dpdGNoIChjaGFyYXQodmFsdWUsIHN0cmxlbih2YWx1ZSkgLSAzIC0gKH5pbmRleG9mKHZhbHVlLCAnIWltcG9ydGFudCcpICYmIDEwKSkpIHtcbiAgICAgICAgLy8gc3RpYyhrKXlcbiAgICAgICAgY2FzZSAxMDc6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsICc6JywgJzonICsgV0VCS0lUKSArIHZhbHVlO1xuICAgICAgICAvLyAoaW5saW5lLSk/ZmwoZSl4XG5cbiAgICAgICAgY2FzZSAxMDE6XG4gICAgICAgICAgcmV0dXJuIHJlcGxhY2UodmFsdWUsIC8oLis6KShbXjshXSspKDt8IS4rKT8vLCAnJDEnICsgV0VCS0lUICsgKGNoYXJhdCh2YWx1ZSwgMTQpID09PSA0NSA/ICdpbmxpbmUtJyA6ICcnKSArICdib3gkMycgKyAnJDEnICsgV0VCS0lUICsgJyQyJDMnICsgJyQxJyArIE1TICsgJyQyYm94JDMnKSArIHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICAvLyB3cml0aW5nLW1vZGVcblxuICAgIGNhc2UgNTkzNjpcbiAgICAgIHN3aXRjaCAoY2hhcmF0KHZhbHVlLCBsZW5ndGggKyAxMSkpIHtcbiAgICAgICAgLy8gdmVydGljYWwtbChyKVxuICAgICAgICBjYXNlIDExNDpcbiAgICAgICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHJlcGxhY2UodmFsdWUsIC9bc3ZoXVxcdystW3RibHJdezJ9LywgJ3RiJykgKyB2YWx1ZTtcbiAgICAgICAgLy8gdmVydGljYWwtcihsKVxuXG4gICAgICAgIGNhc2UgMTA4OlxuICAgICAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAndGItcmwnKSArIHZhbHVlO1xuICAgICAgICAvLyBob3Jpem9udGFsKC0pdGJcblxuICAgICAgICBjYXNlIDQ1OlxuICAgICAgICAgIHJldHVybiBXRUJLSVQgKyB2YWx1ZSArIE1TICsgcmVwbGFjZSh2YWx1ZSwgL1tzdmhdXFx3Ky1bdGJscl17Mn0vLCAnbHInKSArIHZhbHVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gV0VCS0lUICsgdmFsdWUgKyBNUyArIHZhbHVlICsgdmFsdWU7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbnZhciBwcmVmaXhlciA9IGZ1bmN0aW9uIHByZWZpeGVyKGVsZW1lbnQsIGluZGV4LCBjaGlsZHJlbiwgY2FsbGJhY2spIHtcbiAgaWYgKGVsZW1lbnQubGVuZ3RoID4gLTEpIGlmICghZWxlbWVudFtcInJldHVyblwiXSkgc3dpdGNoIChlbGVtZW50LnR5cGUpIHtcbiAgICBjYXNlIERFQ0xBUkFUSU9OOlxuICAgICAgZWxlbWVudFtcInJldHVyblwiXSA9IHByZWZpeChlbGVtZW50LnZhbHVlLCBlbGVtZW50Lmxlbmd0aCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgS0VZRlJBTUVTOlxuICAgICAgcmV0dXJuIHNlcmlhbGl6ZShbY29weShlbGVtZW50LCB7XG4gICAgICAgIHZhbHVlOiByZXBsYWNlKGVsZW1lbnQudmFsdWUsICdAJywgJ0AnICsgV0VCS0lUKVxuICAgICAgfSldLCBjYWxsYmFjayk7XG5cbiAgICBjYXNlIFJVTEVTRVQ6XG4gICAgICBpZiAoZWxlbWVudC5sZW5ndGgpIHJldHVybiBjb21iaW5lKGVsZW1lbnQucHJvcHMsIGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKG1hdGNoKHZhbHVlLCAvKDo6cGxhY1xcdyt8OnJlYWQtXFx3KykvKSkge1xuICAgICAgICAgIC8vIDpyZWFkLShvbmx5fHdyaXRlKVxuICAgICAgICAgIGNhc2UgJzpyZWFkLW9ubHknOlxuICAgICAgICAgIGNhc2UgJzpyZWFkLXdyaXRlJzpcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemUoW2NvcHkoZWxlbWVudCwge1xuICAgICAgICAgICAgICBwcm9wczogW3JlcGxhY2UodmFsdWUsIC86KHJlYWQtXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV1cbiAgICAgICAgICAgIH0pXSwgY2FsbGJhY2spO1xuICAgICAgICAgIC8vIDpwbGFjZWhvbGRlclxuXG4gICAgICAgICAgY2FzZSAnOjpwbGFjZWhvbGRlcic6XG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplKFtjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCAnOicgKyBXRUJLSVQgKyAnaW5wdXQtJDEnKV1cbiAgICAgICAgICAgIH0pLCBjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCAnOicgKyBNT1ogKyAnJDEnKV1cbiAgICAgICAgICAgIH0pLCBjb3B5KGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgcHJvcHM6IFtyZXBsYWNlKHZhbHVlLCAvOihwbGFjXFx3KykvLCBNUyArICdpbnB1dC0kMScpXVxuICAgICAgICAgICAgfSldLCBjYWxsYmFjayk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9KTtcbiAgfVxufTtcblxudmFyIGRlZmF1bHRTdHlsaXNQbHVnaW5zID0gW3ByZWZpeGVyXTtcblxudmFyIGNyZWF0ZUNhY2hlID0gZnVuY3Rpb25cbiAgLyo6IEVtb3Rpb25DYWNoZSAqL1xuY3JlYXRlQ2FjaGUob3B0aW9uc1xuLyo6IE9wdGlvbnMgKi9cbikge1xuICB2YXIga2V5ID0gb3B0aW9ucy5rZXk7XG5cbiAgaWYgKGtleSA9PT0gJ2NzcycpIHtcbiAgICB2YXIgc3NyU3R5bGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcInN0eWxlW2RhdGEtZW1vdGlvbl06bm90KFtkYXRhLXNdKVwiKTsgLy8gZ2V0IFNTUmVkIHN0eWxlcyBvdXQgb2YgdGhlIHdheSBvZiBSZWFjdCdzIGh5ZHJhdGlvblxuICAgIC8vIGRvY3VtZW50LmhlYWQgaXMgYSBzYWZlIHBsYWNlIHRvIG1vdmUgdGhlbSB0byh0aG91Z2ggbm90ZSBkb2N1bWVudC5oZWFkIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgbGFzdCBwbGFjZSB0aGV5IHdpbGwgYmUpXG4gICAgLy8gbm90ZSB0aGlzIHZlcnkgdmVyeSBpbnRlbnRpb25hbGx5IHRhcmdldHMgYWxsIHN0eWxlIGVsZW1lbnRzIHJlZ2FyZGxlc3Mgb2YgdGhlIGtleSB0byBlbnN1cmVcbiAgICAvLyB0aGF0IGNyZWF0aW5nIGEgY2FjaGUgd29ya3MgaW5zaWRlIG9mIHJlbmRlciBvZiBhIFJlYWN0IGNvbXBvbmVudFxuXG4gICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChzc3JTdHlsZXMsIGZ1bmN0aW9uIChub2RlXG4gICAgLyo6IEhUTUxTdHlsZUVsZW1lbnQgKi9cbiAgICApIHtcbiAgICAgIC8vIHdlIHdhbnQgdG8gb25seSBtb3ZlIGVsZW1lbnRzIHdoaWNoIGhhdmUgYSBzcGFjZSBpbiB0aGUgZGF0YS1lbW90aW9uIGF0dHJpYnV0ZSB2YWx1ZVxuICAgICAgLy8gYmVjYXVzZSB0aGF0IGluZGljYXRlcyB0aGF0IGl0IGlzIGFuIEVtb3Rpb24gMTEgc2VydmVyLXNpZGUgcmVuZGVyZWQgc3R5bGUgZWxlbWVudHNcbiAgICAgIC8vIHdoaWxlIHdlIHdpbGwgYWxyZWFkeSBpZ25vcmUgRW1vdGlvbiAxMSBjbGllbnQtc2lkZSBpbnNlcnRlZCBzdHlsZXMgYmVjYXVzZSBvZiB0aGUgOm5vdChbZGF0YS1zXSkgcGFydCBpbiB0aGUgc2VsZWN0b3JcbiAgICAgIC8vIEVtb3Rpb24gMTAgY2xpZW50LXNpZGUgaW5zZXJ0ZWQgc3R5bGVzIGRpZCBub3QgaGF2ZSBkYXRhLXMgKGJ1dCBpbXBvcnRhbnRseSBkaWQgbm90IGhhdmUgYSBzcGFjZSBpbiB0aGVpciBkYXRhLWVtb3Rpb24gYXR0cmlidXRlcylcbiAgICAgIC8vIHNvIGNoZWNraW5nIGZvciB0aGUgc3BhY2UgZW5zdXJlcyB0aGF0IGxvYWRpbmcgRW1vdGlvbiAxMSBhZnRlciBFbW90aW9uIDEwIGhhcyBpbnNlcnRlZCBzb21lIHN0eWxlc1xuICAgICAgLy8gd2lsbCBub3QgcmVzdWx0IGluIHRoZSBFbW90aW9uIDEwIHN0eWxlcyBiZWluZyBkZXN0cm95ZWRcbiAgICAgIHZhciBkYXRhRW1vdGlvbkF0dHJpYnV0ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWVtb3Rpb24nKTtcblxuICAgICAgaWYgKGRhdGFFbW90aW9uQXR0cmlidXRlLmluZGV4T2YoJyAnKSA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG5vZGUpO1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2RhdGEtcycsICcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhciBzdHlsaXNQbHVnaW5zID0gb3B0aW9ucy5zdHlsaXNQbHVnaW5zIHx8IGRlZmF1bHRTdHlsaXNQbHVnaW5zO1xuXG4gIHZhciBpbnNlcnRlZCA9IHt9O1xuICB2YXIgY29udGFpbmVyO1xuICAvKiA6IE5vZGUgKi9cblxuICB2YXIgbm9kZXNUb0h5ZHJhdGUgPSBbXTtcblxuICB7XG4gICAgY29udGFpbmVyID0gb3B0aW9ucy5jb250YWluZXIgfHwgZG9jdW1lbnQuaGVhZDtcbiAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKCAvLyB0aGlzIG1lYW5zIHdlIHdpbGwgaWdub3JlIGVsZW1lbnRzIHdoaWNoIGRvbid0IGhhdmUgYSBzcGFjZSBpbiB0aGVtIHdoaWNoXG4gICAgLy8gbWVhbnMgdGhhdCB0aGUgc3R5bGUgZWxlbWVudHMgd2UncmUgbG9va2luZyBhdCBhcmUgb25seSBFbW90aW9uIDExIHNlcnZlci1yZW5kZXJlZCBzdHlsZSBlbGVtZW50c1xuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJzdHlsZVtkYXRhLWVtb3Rpb25ePVxcXCJcIiArIGtleSArIFwiIFxcXCJdXCIpLCBmdW5jdGlvbiAobm9kZVxuICAgIC8qOiBIVE1MU3R5bGVFbGVtZW50ICovXG4gICAgKSB7XG4gICAgICB2YXIgYXR0cmliID0gbm9kZS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWVtb3Rpb25cIikuc3BsaXQoJyAnKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhdHRyaWIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaW5zZXJ0ZWRbYXR0cmliW2ldXSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIG5vZGVzVG9IeWRyYXRlLnB1c2gobm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICB2YXIgX2luc2VydDtcbiAgLyo6IChcbiAgc2VsZWN0b3I6IHN0cmluZyxcbiAgc2VyaWFsaXplZDogU2VyaWFsaXplZFN0eWxlcyxcbiAgc2hlZXQ6IFN0eWxlU2hlZXQsXG4gIHNob3VsZENhY2hlOiBib29sZWFuXG4gICkgPT4gc3RyaW5nIHwgdm9pZCAqL1xuXG5cbiAgdmFyIG9tbmlwcmVzZW50UGx1Z2lucyA9IFtjb21wYXQsIHJlbW92ZUxhYmVsXTtcblxuICB7XG4gICAgdmFyIGN1cnJlbnRTaGVldDtcbiAgICB2YXIgZmluYWxpemluZ1BsdWdpbnMgPSBbc3RyaW5naWZ5LCBydWxlc2hlZXQoZnVuY3Rpb24gKHJ1bGUpIHtcbiAgICAgIGN1cnJlbnRTaGVldC5pbnNlcnQocnVsZSk7XG4gICAgfSldO1xuICAgIHZhciBzZXJpYWxpemVyID0gbWlkZGxld2FyZShvbW5pcHJlc2VudFBsdWdpbnMuY29uY2F0KHN0eWxpc1BsdWdpbnMsIGZpbmFsaXppbmdQbHVnaW5zKSk7XG5cbiAgICB2YXIgc3R5bGlzID0gZnVuY3Rpb24gc3R5bGlzKHN0eWxlcykge1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZShjb21waWxlKHN0eWxlcyksIHNlcmlhbGl6ZXIpO1xuICAgIH07XG5cbiAgICBfaW5zZXJ0ID0gZnVuY3Rpb25cbiAgICAgIC8qOiB2b2lkICovXG4gICAgaW5zZXJ0KHNlbGVjdG9yXG4gICAgLyo6IHN0cmluZyAqL1xuICAgICwgc2VyaWFsaXplZFxuICAgIC8qOiBTZXJpYWxpemVkU3R5bGVzICovXG4gICAgLCBzaGVldFxuICAgIC8qOiBTdHlsZVNoZWV0ICovXG4gICAgLCBzaG91bGRDYWNoZVxuICAgIC8qOiBib29sZWFuICovXG4gICAgKSB7XG4gICAgICBjdXJyZW50U2hlZXQgPSBzaGVldDtcblxuICAgICAgc3R5bGlzKHNlbGVjdG9yID8gc2VsZWN0b3IgKyBcIntcIiArIHNlcmlhbGl6ZWQuc3R5bGVzICsgXCJ9XCIgOiBzZXJpYWxpemVkLnN0eWxlcyk7XG5cbiAgICAgIGlmIChzaG91bGRDYWNoZSkge1xuICAgICAgICBjYWNoZS5pbnNlcnRlZFtzZXJpYWxpemVkLm5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgdmFyIGNhY2hlXG4gIC8qOiBFbW90aW9uQ2FjaGUgKi9cbiAgPSB7XG4gICAga2V5OiBrZXksXG4gICAgc2hlZXQ6IG5ldyBTdHlsZVNoZWV0KHtcbiAgICAgIGtleToga2V5LFxuICAgICAgY29udGFpbmVyOiBjb250YWluZXIsXG4gICAgICBub25jZTogb3B0aW9ucy5ub25jZSxcbiAgICAgIHNwZWVkeTogb3B0aW9ucy5zcGVlZHksXG4gICAgICBwcmVwZW5kOiBvcHRpb25zLnByZXBlbmQsXG4gICAgICBpbnNlcnRpb25Qb2ludDogb3B0aW9ucy5pbnNlcnRpb25Qb2ludFxuICAgIH0pLFxuICAgIG5vbmNlOiBvcHRpb25zLm5vbmNlLFxuICAgIGluc2VydGVkOiBpbnNlcnRlZCxcbiAgICByZWdpc3RlcmVkOiB7fSxcbiAgICBpbnNlcnQ6IF9pbnNlcnRcbiAgfTtcbiAgY2FjaGUuc2hlZXQuaHlkcmF0ZShub2Rlc1RvSHlkcmF0ZSk7XG4gIHJldHVybiBjYWNoZTtcbn07XG5cbmV4cG9ydCB7IGNyZWF0ZUNhY2hlIGFzIGRlZmF1bHQgfTtcbiIsICJ2YXIgaXNCcm93c2VyID0gdHJ1ZTtcblxuZnVuY3Rpb24gZ2V0UmVnaXN0ZXJlZFN0eWxlcyhyZWdpc3RlcmVkLCByZWdpc3RlcmVkU3R5bGVzLCBjbGFzc05hbWVzKSB7XG4gIHZhciByYXdDbGFzc05hbWUgPSAnJztcbiAgY2xhc3NOYW1lcy5zcGxpdCgnICcpLmZvckVhY2goZnVuY3Rpb24gKGNsYXNzTmFtZSkge1xuICAgIGlmIChyZWdpc3RlcmVkW2NsYXNzTmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVnaXN0ZXJlZFN0eWxlcy5wdXNoKHJlZ2lzdGVyZWRbY2xhc3NOYW1lXSArIFwiO1wiKTtcbiAgICB9IGVsc2UgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgcmF3Q2xhc3NOYW1lICs9IGNsYXNzTmFtZSArIFwiIFwiO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByYXdDbGFzc05hbWU7XG59XG52YXIgcmVnaXN0ZXJTdHlsZXMgPSBmdW5jdGlvbiByZWdpc3RlclN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpIHtcbiAgdmFyIGNsYXNzTmFtZSA9IGNhY2hlLmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuXG4gIGlmICggLy8gd2Ugb25seSBuZWVkIHRvIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSByZWdpc3RlcmVkIGNhY2hlIGlmIHRoZVxuICAvLyBjbGFzcyBuYW1lIGNvdWxkIGJlIHVzZWQgZnVydGhlciBkb3duXG4gIC8vIHRoZSB0cmVlIGJ1dCBpZiBpdCdzIGEgc3RyaW5nIHRhZywgd2Uga25vdyBpdCB3b24ndFxuICAvLyBzbyB3ZSBkb24ndCBoYXZlIHRvIGFkZCBpdCB0byByZWdpc3RlcmVkIGNhY2hlLlxuICAvLyB0aGlzIGltcHJvdmVzIG1lbW9yeSB1c2FnZSBzaW5jZSB3ZSBjYW4gYXZvaWQgc3RvcmluZyB0aGUgd2hvbGUgc3R5bGUgc3RyaW5nXG4gIChpc1N0cmluZ1RhZyA9PT0gZmFsc2UgfHwgLy8gd2UgbmVlZCB0byBhbHdheXMgc3RvcmUgaXQgaWYgd2UncmUgaW4gY29tcGF0IG1vZGUgYW5kXG4gIC8vIGluIG5vZGUgc2luY2UgZW1vdGlvbi1zZXJ2ZXIgcmVsaWVzIG9uIHdoZXRoZXIgYSBzdHlsZSBpcyBpblxuICAvLyB0aGUgcmVnaXN0ZXJlZCBjYWNoZSB0byBrbm93IHdoZXRoZXIgYSBzdHlsZSBpcyBnbG9iYWwgb3Igbm90XG4gIC8vIGFsc28sIG5vdGUgdGhhdCB0aGlzIGNoZWNrIHdpbGwgYmUgZGVhZCBjb2RlIGVsaW1pbmF0ZWQgaW4gdGhlIGJyb3dzZXJcbiAgaXNCcm93c2VyID09PSBmYWxzZSApICYmIGNhY2hlLnJlZ2lzdGVyZWRbY2xhc3NOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FjaGUucmVnaXN0ZXJlZFtjbGFzc05hbWVdID0gc2VyaWFsaXplZC5zdHlsZXM7XG4gIH1cbn07XG52YXIgaW5zZXJ0U3R5bGVzID0gZnVuY3Rpb24gaW5zZXJ0U3R5bGVzKGNhY2hlLCBzZXJpYWxpemVkLCBpc1N0cmluZ1RhZykge1xuICByZWdpc3RlclN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpO1xuICB2YXIgY2xhc3NOYW1lID0gY2FjaGUua2V5ICsgXCItXCIgKyBzZXJpYWxpemVkLm5hbWU7XG5cbiAgaWYgKGNhY2hlLmluc2VydGVkW3NlcmlhbGl6ZWQubmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBjdXJyZW50ID0gc2VyaWFsaXplZDtcblxuICAgIGRvIHtcbiAgICAgIGNhY2hlLmluc2VydChzZXJpYWxpemVkID09PSBjdXJyZW50ID8gXCIuXCIgKyBjbGFzc05hbWUgOiAnJywgY3VycmVudCwgY2FjaGUuc2hlZXQsIHRydWUpO1xuXG4gICAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICAgIH0gd2hpbGUgKGN1cnJlbnQgIT09IHVuZGVmaW5lZCk7XG4gIH1cbn07XG5cbmV4cG9ydCB7IGdldFJlZ2lzdGVyZWRTdHlsZXMsIGluc2VydFN0eWxlcywgcmVnaXN0ZXJTdHlsZXMgfTtcbiIsICIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuLy8gSW5zcGlyZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2dhcnljb3VydC9tdXJtdXJoYXNoLWpzXG4vLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYWFwcGxlYnkvc21oYXNoZXIvYmxvYi82MWEwNTMwZjI4Mjc3ZjJlODUwYmZjMzk2MDBjZTYxZDAyYjUxOGRlL3NyYy9NdXJtdXJIYXNoMi5jcHAjTDM3LUw4NlxuZnVuY3Rpb24gbXVybXVyMihzdHIpIHtcbiAgLy8gJ20nIGFuZCAncicgYXJlIG1peGluZyBjb25zdGFudHMgZ2VuZXJhdGVkIG9mZmxpbmUuXG4gIC8vIFRoZXkncmUgbm90IHJlYWxseSAnbWFnaWMnLCB0aGV5IGp1c3QgaGFwcGVuIHRvIHdvcmsgd2VsbC5cbiAgLy8gY29uc3QgbSA9IDB4NWJkMWU5OTU7XG4gIC8vIGNvbnN0IHIgPSAyNDtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGFzaFxuICB2YXIgaCA9IDA7IC8vIE1peCA0IGJ5dGVzIGF0IGEgdGltZSBpbnRvIHRoZSBoYXNoXG5cbiAgdmFyIGssXG4gICAgICBpID0gMCxcbiAgICAgIGxlbiA9IHN0ci5sZW5ndGg7XG5cbiAgZm9yICg7IGxlbiA+PSA0OyArK2ksIGxlbiAtPSA0KSB7XG4gICAgayA9IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhmZiB8IChzdHIuY2hhckNvZGVBdCgrK2kpICYgMHhmZikgPDwgOCB8IChzdHIuY2hhckNvZGVBdCgrK2kpICYgMHhmZikgPDwgMTYgfCAoc3RyLmNoYXJDb2RlQXQoKytpKSAmIDB4ZmYpIDw8IDI0O1xuICAgIGsgPVxuICAgIC8qIE1hdGguaW11bChrLCBtKTogKi9cbiAgICAoayAmIDB4ZmZmZikgKiAweDViZDFlOTk1ICsgKChrID4+PiAxNikgKiAweGU5OTUgPDwgMTYpO1xuICAgIGsgXj1cbiAgICAvKiBrID4+PiByOiAqL1xuICAgIGsgPj4+IDI0O1xuICAgIGggPVxuICAgIC8qIE1hdGguaW11bChrLCBtKTogKi9cbiAgICAoayAmIDB4ZmZmZikgKiAweDViZDFlOTk1ICsgKChrID4+PiAxNikgKiAweGU5OTUgPDwgMTYpIF5cbiAgICAvKiBNYXRoLmltdWwoaCwgbSk6ICovXG4gICAgKGggJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoaCA+Pj4gMTYpICogMHhlOTk1IDw8IDE2KTtcbiAgfSAvLyBIYW5kbGUgdGhlIGxhc3QgZmV3IGJ5dGVzIG9mIHRoZSBpbnB1dCBhcnJheVxuXG5cbiAgc3dpdGNoIChsZW4pIHtcbiAgICBjYXNlIDM6XG4gICAgICBoIF49IChzdHIuY2hhckNvZGVBdChpICsgMikgJiAweGZmKSA8PCAxNjtcblxuICAgIGNhc2UgMjpcbiAgICAgIGggXj0gKHN0ci5jaGFyQ29kZUF0KGkgKyAxKSAmIDB4ZmYpIDw8IDg7XG5cbiAgICBjYXNlIDE6XG4gICAgICBoIF49IHN0ci5jaGFyQ29kZUF0KGkpICYgMHhmZjtcbiAgICAgIGggPVxuICAgICAgLyogTWF0aC5pbXVsKGgsIG0pOiAqL1xuICAgICAgKGggJiAweGZmZmYpICogMHg1YmQxZTk5NSArICgoaCA+Pj4gMTYpICogMHhlOTk1IDw8IDE2KTtcbiAgfSAvLyBEbyBhIGZldyBmaW5hbCBtaXhlcyBvZiB0aGUgaGFzaCB0byBlbnN1cmUgdGhlIGxhc3QgZmV3XG4gIC8vIGJ5dGVzIGFyZSB3ZWxsLWluY29ycG9yYXRlZC5cblxuXG4gIGggXj0gaCA+Pj4gMTM7XG4gIGggPVxuICAvKiBNYXRoLmltdWwoaCwgbSk6ICovXG4gIChoICYgMHhmZmZmKSAqIDB4NWJkMWU5OTUgKyAoKGggPj4+IDE2KSAqIDB4ZTk5NSA8PCAxNik7XG4gIHJldHVybiAoKGggXiBoID4+PiAxNSkgPj4+IDApLnRvU3RyaW5nKDM2KTtcbn1cblxuZXhwb3J0IHsgbXVybXVyMiBhcyBkZWZhdWx0IH07XG4iLCAidmFyIHVuaXRsZXNzS2V5cyA9IHtcbiAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IDEsXG4gIGFzcGVjdFJhdGlvOiAxLFxuICBib3JkZXJJbWFnZU91dHNldDogMSxcbiAgYm9yZGVySW1hZ2VTbGljZTogMSxcbiAgYm9yZGVySW1hZ2VXaWR0aDogMSxcbiAgYm94RmxleDogMSxcbiAgYm94RmxleEdyb3VwOiAxLFxuICBib3hPcmRpbmFsR3JvdXA6IDEsXG4gIGNvbHVtbkNvdW50OiAxLFxuICBjb2x1bW5zOiAxLFxuICBmbGV4OiAxLFxuICBmbGV4R3JvdzogMSxcbiAgZmxleFBvc2l0aXZlOiAxLFxuICBmbGV4U2hyaW5rOiAxLFxuICBmbGV4TmVnYXRpdmU6IDEsXG4gIGZsZXhPcmRlcjogMSxcbiAgZ3JpZFJvdzogMSxcbiAgZ3JpZFJvd0VuZDogMSxcbiAgZ3JpZFJvd1NwYW46IDEsXG4gIGdyaWRSb3dTdGFydDogMSxcbiAgZ3JpZENvbHVtbjogMSxcbiAgZ3JpZENvbHVtbkVuZDogMSxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG4gIGdyaWRDb2x1bW5TdGFydDogMSxcbiAgbXNHcmlkUm93OiAxLFxuICBtc0dyaWRSb3dTcGFuOiAxLFxuICBtc0dyaWRDb2x1bW46IDEsXG4gIG1zR3JpZENvbHVtblNwYW46IDEsXG4gIGZvbnRXZWlnaHQ6IDEsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG9wYWNpdHk6IDEsXG4gIG9yZGVyOiAxLFxuICBvcnBoYW5zOiAxLFxuICBzY2FsZTogMSxcbiAgdGFiU2l6ZTogMSxcbiAgd2lkb3dzOiAxLFxuICB6SW5kZXg6IDEsXG4gIHpvb206IDEsXG4gIFdlYmtpdExpbmVDbGFtcDogMSxcbiAgLy8gU1ZHLXJlbGF0ZWQgcHJvcGVydGllc1xuICBmaWxsT3BhY2l0eTogMSxcbiAgZmxvb2RPcGFjaXR5OiAxLFxuICBzdG9wT3BhY2l0eTogMSxcbiAgc3Ryb2tlRGFzaGFycmF5OiAxLFxuICBzdHJva2VEYXNob2Zmc2V0OiAxLFxuICBzdHJva2VNaXRlcmxpbWl0OiAxLFxuICBzdHJva2VPcGFjaXR5OiAxLFxuICBzdHJva2VXaWR0aDogMVxufTtcblxuZXhwb3J0IHsgdW5pdGxlc3NLZXlzIGFzIGRlZmF1bHQgfTtcbiIsICJpbXBvcnQgaGFzaFN0cmluZyBmcm9tICdAZW1vdGlvbi9oYXNoJztcbmltcG9ydCB1bml0bGVzcyBmcm9tICdAZW1vdGlvbi91bml0bGVzcyc7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdAZW1vdGlvbi9tZW1vaXplJztcblxudmFyIGlzRGV2ZWxvcG1lbnQgPSBmYWxzZTtcblxudmFyIGh5cGhlbmF0ZVJlZ2V4ID0gL1tBLVpdfF5tcy9nO1xudmFyIGFuaW1hdGlvblJlZ2V4ID0gL19FTU9fKFteX10rPylfKFteXSo/KV9FTU9fL2c7XG5cbnZhciBpc0N1c3RvbVByb3BlcnR5ID0gZnVuY3Rpb24gaXNDdXN0b21Qcm9wZXJ0eShwcm9wZXJ0eSkge1xuICByZXR1cm4gcHJvcGVydHkuY2hhckNvZGVBdCgxKSA9PT0gNDU7XG59O1xuXG52YXIgaXNQcm9jZXNzYWJsZVZhbHVlID0gZnVuY3Rpb24gaXNQcm9jZXNzYWJsZVZhbHVlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nO1xufTtcblxudmFyIHByb2Nlc3NTdHlsZU5hbWUgPSAvKiAjX19QVVJFX18gKi9tZW1vaXplKGZ1bmN0aW9uIChzdHlsZU5hbWUpIHtcbiAgcmV0dXJuIGlzQ3VzdG9tUHJvcGVydHkoc3R5bGVOYW1lKSA/IHN0eWxlTmFtZSA6IHN0eWxlTmFtZS5yZXBsYWNlKGh5cGhlbmF0ZVJlZ2V4LCAnLSQmJykudG9Mb3dlckNhc2UoKTtcbn0pO1xuXG52YXIgcHJvY2Vzc1N0eWxlVmFsdWUgPSBmdW5jdGlvbiBwcm9jZXNzU3R5bGVWYWx1ZShrZXksIHZhbHVlKSB7XG4gIHN3aXRjaCAoa2V5KSB7XG4gICAgY2FzZSAnYW5pbWF0aW9uJzpcbiAgICBjYXNlICdhbmltYXRpb25OYW1lJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShhbmltYXRpb25SZWdleCwgZnVuY3Rpb24gKG1hdGNoLCBwMSwgcDIpIHtcbiAgICAgICAgICAgIGN1cnNvciA9IHtcbiAgICAgICAgICAgICAgbmFtZTogcDEsXG4gICAgICAgICAgICAgIHN0eWxlczogcDIsXG4gICAgICAgICAgICAgIG5leHQ6IGN1cnNvclxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBwMTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgaWYgKHVuaXRsZXNzW2tleV0gIT09IDEgJiYgIWlzQ3VzdG9tUHJvcGVydHkoa2V5KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIHZhbHVlICE9PSAwKSB7XG4gICAgcmV0dXJuIHZhbHVlICsgJ3B4JztcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn07XG5cbnZhciBub0NvbXBvbmVudFNlbGVjdG9yTWVzc2FnZSA9ICdDb21wb25lbnQgc2VsZWN0b3JzIGNhbiBvbmx5IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCAnICsgJ0BlbW90aW9uL2JhYmVsLXBsdWdpbiwgdGhlIHN3YyBFbW90aW9uIHBsdWdpbiwgb3IgYW5vdGhlciBFbW90aW9uLWF3YXJlICcgKyAnY29tcGlsZXIgdHJhbnNmb3JtLic7XG5cbmZ1bmN0aW9uIGhhbmRsZUludGVycG9sYXRpb24obWVyZ2VkUHJvcHMsIHJlZ2lzdGVyZWQsIGludGVycG9sYXRpb24pIHtcbiAgaWYgKGludGVycG9sYXRpb24gPT0gbnVsbCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHZhciBjb21wb25lbnRTZWxlY3RvciA9IGludGVycG9sYXRpb247XG5cbiAgaWYgKGNvbXBvbmVudFNlbGVjdG9yLl9fZW1vdGlvbl9zdHlsZXMgIT09IHVuZGVmaW5lZCkge1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFNlbGVjdG9yO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgaW50ZXJwb2xhdGlvbikge1xuICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG5cbiAgICBjYXNlICdvYmplY3QnOlxuICAgICAge1xuICAgICAgICB2YXIga2V5ZnJhbWVzID0gaW50ZXJwb2xhdGlvbjtcblxuICAgICAgICBpZiAoa2V5ZnJhbWVzLmFuaW0gPT09IDEpIHtcbiAgICAgICAgICBjdXJzb3IgPSB7XG4gICAgICAgICAgICBuYW1lOiBrZXlmcmFtZXMubmFtZSxcbiAgICAgICAgICAgIHN0eWxlczoga2V5ZnJhbWVzLnN0eWxlcyxcbiAgICAgICAgICAgIG5leHQ6IGN1cnNvclxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIGtleWZyYW1lcy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNlcmlhbGl6ZWRTdHlsZXMgPSBpbnRlcnBvbGF0aW9uO1xuXG4gICAgICAgIGlmIChzZXJpYWxpemVkU3R5bGVzLnN0eWxlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdmFyIG5leHQgPSBzZXJpYWxpemVkU3R5bGVzLm5leHQ7XG5cbiAgICAgICAgICBpZiAobmV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBub3QgdGhlIG1vc3QgZWZmaWNpZW50IHRoaW5nIGV2ZXIgYnV0IHRoaXMgaXMgYSBwcmV0dHkgcmFyZSBjYXNlXG4gICAgICAgICAgICAvLyBhbmQgdGhlcmUgd2lsbCBiZSB2ZXJ5IGZldyBpdGVyYXRpb25zIG9mIHRoaXMgZ2VuZXJhbGx5XG4gICAgICAgICAgICB3aGlsZSAobmV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGN1cnNvciA9IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBuZXh0Lm5hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGVzOiBuZXh0LnN0eWxlcyxcbiAgICAgICAgICAgICAgICBuZXh0OiBjdXJzb3JcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgbmV4dCA9IG5leHQubmV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgc3R5bGVzID0gc2VyaWFsaXplZFN0eWxlcy5zdHlsZXMgKyBcIjtcIjtcblxuICAgICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3JlYXRlU3RyaW5nRnJvbU9iamVjdChtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgaW50ZXJwb2xhdGlvbik7XG4gICAgICB9XG5cbiAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICB7XG4gICAgICAgIGlmIChtZXJnZWRQcm9wcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdmFyIHByZXZpb3VzQ3Vyc29yID0gY3Vyc29yO1xuICAgICAgICAgIHZhciByZXN1bHQgPSBpbnRlcnBvbGF0aW9uKG1lcmdlZFByb3BzKTtcbiAgICAgICAgICBjdXJzb3IgPSBwcmV2aW91c0N1cnNvcjtcbiAgICAgICAgICByZXR1cm4gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgcmVzdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9IC8vIGZpbmFsaXplIHN0cmluZyB2YWx1ZXMgKHJlZ3VsYXIgc3RyaW5ncyBhbmQgZnVuY3Rpb25zIGludGVycG9sYXRlZCBpbnRvIGNzcyBjYWxscylcblxuXG4gIHZhciBhc1N0cmluZyA9IGludGVycG9sYXRpb247XG5cbiAgaWYgKHJlZ2lzdGVyZWQgPT0gbnVsbCkge1xuICAgIHJldHVybiBhc1N0cmluZztcbiAgfVxuXG4gIHZhciBjYWNoZWQgPSByZWdpc3RlcmVkW2FzU3RyaW5nXTtcbiAgcmV0dXJuIGNhY2hlZCAhPT0gdW5kZWZpbmVkID8gY2FjaGVkIDogYXNTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0cmluZ0Zyb21PYmplY3QobWVyZ2VkUHJvcHMsIHJlZ2lzdGVyZWQsIG9iaikge1xuICB2YXIgc3RyaW5nID0gJyc7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSsrKSB7XG4gICAgICBzdHJpbmcgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgb2JqW2ldKSArIFwiO1wiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICB2YXIgdmFsdWUgPSBvYmpba2V5XTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgdmFyIGFzU3RyaW5nID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHJlZ2lzdGVyZWQgIT0gbnVsbCAmJiByZWdpc3RlcmVkW2FzU3RyaW5nXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc3RyaW5nICs9IGtleSArIFwie1wiICsgcmVnaXN0ZXJlZFthc1N0cmluZ10gKyBcIn1cIjtcbiAgICAgICAgfSBlbHNlIGlmIChpc1Byb2Nlc3NhYmxlVmFsdWUoYXNTdHJpbmcpKSB7XG4gICAgICAgICAgc3RyaW5nICs9IHByb2Nlc3NTdHlsZU5hbWUoa2V5KSArIFwiOlwiICsgcHJvY2Vzc1N0eWxlVmFsdWUoa2V5LCBhc1N0cmluZykgKyBcIjtcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ05PX0NPTVBPTkVOVF9TRUxFQ1RPUicgJiYgaXNEZXZlbG9wbWVudCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihub0NvbXBvbmVudFNlbGVjdG9yTWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdHlwZW9mIHZhbHVlWzBdID09PSAnc3RyaW5nJyAmJiAocmVnaXN0ZXJlZCA9PSBudWxsIHx8IHJlZ2lzdGVyZWRbdmFsdWVbMF1dID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IHZhbHVlLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgaWYgKGlzUHJvY2Vzc2FibGVWYWx1ZSh2YWx1ZVtfaV0pKSB7XG4gICAgICAgICAgICAgIHN0cmluZyArPSBwcm9jZXNzU3R5bGVOYW1lKGtleSkgKyBcIjpcIiArIHByb2Nlc3NTdHlsZVZhbHVlKGtleSwgdmFsdWVbX2ldKSArIFwiO1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgaW50ZXJwb2xhdGVkID0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgdmFsdWUpO1xuXG4gICAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2FuaW1hdGlvbic6XG4gICAgICAgICAgICBjYXNlICdhbmltYXRpb25OYW1lJzpcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHN0cmluZyArPSBwcm9jZXNzU3R5bGVOYW1lKGtleSkgKyBcIjpcIiArIGludGVycG9sYXRlZCArIFwiO1wiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHtcblxuICAgICAgICAgICAgICAgIHN0cmluZyArPSBrZXkgKyBcIntcIiArIGludGVycG9sYXRlZCArIFwifVwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxudmFyIGxhYmVsUGF0dGVybiA9IC9sYWJlbDpcXHMqKFteXFxzO3tdKylcXHMqKDt8JCkvZztcbi8vIGtleWZyYW1lcyBhcmUgc3RvcmVkIG9uIHRoZSBTZXJpYWxpemVkU3R5bGVzIG9iamVjdCBhcyBhIGxpbmtlZCBsaXN0XG5cblxudmFyIGN1cnNvcjtcbmZ1bmN0aW9uIHNlcmlhbGl6ZVN0eWxlcyhhcmdzLCByZWdpc3RlcmVkLCBtZXJnZWRQcm9wcykge1xuICBpZiAoYXJncy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIGFyZ3NbMF0gPT09ICdvYmplY3QnICYmIGFyZ3NbMF0gIT09IG51bGwgJiYgYXJnc1swXS5zdHlsZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBhcmdzWzBdO1xuICB9XG5cbiAgdmFyIHN0cmluZ01vZGUgPSB0cnVlO1xuICB2YXIgc3R5bGVzID0gJyc7XG4gIGN1cnNvciA9IHVuZGVmaW5lZDtcbiAgdmFyIHN0cmluZ3MgPSBhcmdzWzBdO1xuXG4gIGlmIChzdHJpbmdzID09IG51bGwgfHwgc3RyaW5ncy5yYXcgPT09IHVuZGVmaW5lZCkge1xuICAgIHN0cmluZ01vZGUgPSBmYWxzZTtcbiAgICBzdHlsZXMgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgc3RyaW5ncyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGFzVGVtcGxhdGVTdHJpbmdzQXJyID0gc3RyaW5ncztcblxuICAgIHN0eWxlcyArPSBhc1RlbXBsYXRlU3RyaW5nc0FyclswXTtcbiAgfSAvLyB3ZSBzdGFydCBhdCAxIHNpbmNlIHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCB0aGUgZmlyc3QgYXJnXG5cblxuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcbiAgICBzdHlsZXMgKz0gaGFuZGxlSW50ZXJwb2xhdGlvbihtZXJnZWRQcm9wcywgcmVnaXN0ZXJlZCwgYXJnc1tpXSk7XG5cbiAgICBpZiAoc3RyaW5nTW9kZSkge1xuICAgICAgdmFyIHRlbXBsYXRlU3RyaW5nc0FyciA9IHN0cmluZ3M7XG5cbiAgICAgIHN0eWxlcyArPSB0ZW1wbGF0ZVN0cmluZ3NBcnJbaV07XG4gICAgfVxuICB9XG5cblxuICBsYWJlbFBhdHRlcm4ubGFzdEluZGV4ID0gMDtcbiAgdmFyIGlkZW50aWZpZXJOYW1lID0gJyc7XG4gIHZhciBtYXRjaDsgLy8gaHR0cHM6Ly9lc2JlbmNoLmNvbS9iZW5jaC81YjgwOWMyY2YyOTQ5ODAwYTBmNjFmYjVcblxuICB3aGlsZSAoKG1hdGNoID0gbGFiZWxQYXR0ZXJuLmV4ZWMoc3R5bGVzKSkgIT09IG51bGwpIHtcbiAgICBpZGVudGlmaWVyTmFtZSArPSAnLScgKyBtYXRjaFsxXTtcbiAgfVxuXG4gIHZhciBuYW1lID0gaGFzaFN0cmluZyhzdHlsZXMpICsgaWRlbnRpZmllck5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lLFxuICAgIHN0eWxlczogc3R5bGVzLFxuICAgIG5leHQ6IGN1cnNvclxuICB9O1xufVxuXG5leHBvcnQgeyBzZXJpYWxpemVTdHlsZXMgfTtcbiIsICJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbnZhciBzeW5jRmFsbGJhY2sgPSBmdW5jdGlvbiBzeW5jRmFsbGJhY2soY3JlYXRlKSB7XG4gIHJldHVybiBjcmVhdGUoKTtcbn07XG5cbnZhciB1c2VJbnNlcnRpb25FZmZlY3QgPSBSZWFjdFsndXNlSW5zZXJ0aW9uJyArICdFZmZlY3QnXSA/IFJlYWN0Wyd1c2VJbnNlcnRpb24nICsgJ0VmZmVjdCddIDogZmFsc2U7XG52YXIgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjayA9IHVzZUluc2VydGlvbkVmZmVjdCB8fCBzeW5jRmFsbGJhY2s7XG52YXIgdXNlSW5zZXJ0aW9uRWZmZWN0V2l0aExheW91dEZhbGxiYWNrID0gdXNlSW5zZXJ0aW9uRWZmZWN0IHx8IFJlYWN0LnVzZUxheW91dEVmZmVjdDtcblxuZXhwb3J0IHsgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjaywgdXNlSW5zZXJ0aW9uRWZmZWN0V2l0aExheW91dEZhbGxiYWNrIH07XG4iLCAiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjcmVhdGVDYWNoZSBmcm9tICdAZW1vdGlvbi9jYWNoZSc7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcyc7XG5pbXBvcnQgd2Vha01lbW9pemUgZnJvbSAnQGVtb3Rpb24vd2Vhay1tZW1vaXplJztcbmltcG9ydCBob2lzdE5vblJlYWN0U3RhdGljcyBmcm9tICcuLi9faXNvbGF0ZWQtaG5ycy9kaXN0L2Vtb3Rpb24tcmVhY3QtX2lzb2xhdGVkLWhucnMuYnJvd3Nlci5lc20uanMnO1xuaW1wb3J0IHsgZ2V0UmVnaXN0ZXJlZFN0eWxlcywgcmVnaXN0ZXJTdHlsZXMsIGluc2VydFN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3V0aWxzJztcbmltcG9ydCB7IHNlcmlhbGl6ZVN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3NlcmlhbGl6ZSc7XG5pbXBvcnQgeyB1c2VJbnNlcnRpb25FZmZlY3RBbHdheXNXaXRoU3luY0ZhbGxiYWNrIH0gZnJvbSAnQGVtb3Rpb24vdXNlLWluc2VydGlvbi1lZmZlY3Qtd2l0aC1mYWxsYmFja3MnO1xuXG52YXIgaXNEZXZlbG9wbWVudCA9IGZhbHNlO1xuXG4vKiBpbXBvcnQgeyB0eXBlIEVtb3Rpb25DYWNoZSB9IGZyb20gJ0BlbW90aW9uL3V0aWxzJyAqL1xudmFyIEVtb3Rpb25DYWNoZUNvbnRleHRcbi8qOiBSZWFjdC5Db250ZXh0PEVtb3Rpb25DYWNoZSB8IG51bGw+ICovXG49IC8qICNfX1BVUkVfXyAqL1JlYWN0LmNyZWF0ZUNvbnRleHQoIC8vIHdlJ3JlIGRvaW5nIHRoaXMgdG8gYXZvaWQgcHJlY29uc3RydWN0J3MgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIGluIHRoaXMgb25lIGNhc2Vcbi8vIGJlY2F1c2UgdGhpcyBtb2R1bGUgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciB0aGUgYnJvd3NlciBhbmQgbm9kZVxuLy8gYnV0IGl0J3MgYWxzbyByZXF1aXJlZCBpbiByZWFjdCBuYXRpdmUgYW5kIHNpbWlsYXIgZW52aXJvbm1lbnRzIHNvbWV0aW1lc1xuLy8gYW5kIHdlIGNvdWxkIGhhdmUgYSBzcGVjaWFsIGJ1aWxkIGp1c3QgZm9yIHRoYXRcbi8vIGJ1dCB0aGlzIGlzIG11Y2ggZWFzaWVyIGFuZCB0aGUgbmF0aXZlIHBhY2thZ2VzXG4vLyBtaWdodCB1c2UgYSBkaWZmZXJlbnQgdGhlbWUgY29udGV4dCBpbiB0aGUgZnV0dXJlIGFueXdheVxudHlwZW9mIEhUTUxFbGVtZW50ICE9PSAndW5kZWZpbmVkJyA/IC8qICNfX1BVUkVfXyAqL2NyZWF0ZUNhY2hlKHtcbiAga2V5OiAnY3NzJ1xufSkgOiBudWxsKTtcblxudmFyIENhY2hlUHJvdmlkZXIgPSBFbW90aW9uQ2FjaGVDb250ZXh0LlByb3ZpZGVyO1xudmFyIF9fdW5zYWZlX3VzZUVtb3Rpb25DYWNoZSA9IGZ1bmN0aW9uIHVzZUVtb3Rpb25DYWNoZSgpXG4vKjogRW1vdGlvbkNhY2hlIHwgbnVsbCovXG57XG4gIHJldHVybiB1c2VDb250ZXh0KEVtb3Rpb25DYWNoZUNvbnRleHQpO1xufTtcblxudmFyIHdpdGhFbW90aW9uQ2FjaGUgPSBmdW5jdGlvbiB3aXRoRW1vdGlvbkNhY2hlXG4vKiA8UHJvcHMsIFJlZjogUmVhY3QuUmVmPCo+PiAqL1xuKGZ1bmNcbi8qOiAocHJvcHM6IFByb3BzLCBjYWNoZTogRW1vdGlvbkNhY2hlLCByZWY6IFJlZikgPT4gUmVhY3QuTm9kZSAqL1xuKVxuLyo6IFJlYWN0LkFic3RyYWN0Q29tcG9uZW50PFByb3BzPiAqL1xue1xuICByZXR1cm4gLyojX19QVVJFX18qL2ZvcndhcmRSZWYoZnVuY3Rpb24gKHByb3BzXG4gIC8qOiBQcm9wcyAqL1xuICAsIHJlZlxuICAvKjogUmVmICovXG4gICkge1xuICAgIC8vIHRoZSBjYWNoZSB3aWxsIG5ldmVyIGJlIG51bGwgaW4gdGhlIGJyb3dzZXJcbiAgICB2YXIgY2FjaGUgPSB1c2VDb250ZXh0KEVtb3Rpb25DYWNoZUNvbnRleHQpO1xuICAgIHJldHVybiBmdW5jKHByb3BzLCBjYWNoZSwgcmVmKTtcbiAgfSk7XG59O1xuXG52YXIgVGhlbWVDb250ZXh0ID0gLyogI19fUFVSRV9fICovUmVhY3QuY3JlYXRlQ29udGV4dCh7fSk7XG5cbnZhciB1c2VUaGVtZSA9IGZ1bmN0aW9uIHVzZVRoZW1lKCkge1xuICByZXR1cm4gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xufTtcblxudmFyIGdldFRoZW1lID0gZnVuY3Rpb24gZ2V0VGhlbWUob3V0ZXJUaGVtZVxuLyo6IE9iamVjdCAqL1xuLCB0aGVtZVxuLyo6IE9iamVjdCB8IChPYmplY3QgPT4gT2JqZWN0KSAqL1xuKSB7XG4gIGlmICh0eXBlb2YgdGhlbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgbWVyZ2VkVGhlbWUgPSB0aGVtZShvdXRlclRoZW1lKTtcblxuICAgIHJldHVybiBtZXJnZWRUaGVtZTtcbiAgfVxuXG4gIHJldHVybiBfZXh0ZW5kcyh7fSwgb3V0ZXJUaGVtZSwgdGhlbWUpO1xufTtcblxudmFyIGNyZWF0ZUNhY2hlV2l0aFRoZW1lID0gLyogI19fUFVSRV9fICovd2Vha01lbW9pemUoZnVuY3Rpb24gKG91dGVyVGhlbWUpIHtcbiAgcmV0dXJuIHdlYWtNZW1vaXplKGZ1bmN0aW9uICh0aGVtZSkge1xuICAgIHJldHVybiBnZXRUaGVtZShvdXRlclRoZW1lLCB0aGVtZSk7XG4gIH0pO1xufSk7XG4vKlxudHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgPSB7XG4gIHRoZW1lOiBPYmplY3QgfCAoT2JqZWN0ID0+IE9iamVjdCksXG4gIGNoaWxkcmVuOiBSZWFjdC5Ob2RlXG59XG4qL1xuXG52YXIgVGhlbWVQcm92aWRlciA9IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIocHJvcHNcbi8qOiBUaGVtZVByb3ZpZGVyUHJvcHMgKi9cbikge1xuICB2YXIgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XG5cbiAgaWYgKHByb3BzLnRoZW1lICE9PSB0aGVtZSkge1xuICAgIHRoZW1lID0gY3JlYXRlQ2FjaGVXaXRoVGhlbWUodGhlbWUpKHByb3BzLnRoZW1lKTtcbiAgfVxuXG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogdGhlbWVcbiAgfSwgcHJvcHMuY2hpbGRyZW4pO1xufTtcbmZ1bmN0aW9uIHdpdGhUaGVtZVxuLyogPENvbmZpZzoge30+ICovXG4oQ29tcG9uZW50XG4vKjogUmVhY3QuQWJzdHJhY3RDb21wb25lbnQ8Q29uZmlnPiAqL1xuKVxuLyo6IFJlYWN0LkFic3RyYWN0Q29tcG9uZW50PCREaWZmPENvbmZpZywgeyB0aGVtZTogT2JqZWN0IH0+PiAqL1xue1xuICB2YXIgY29tcG9uZW50TmFtZSA9IENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnQ29tcG9uZW50JztcblxuICB2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKHByb3BzLCByZWYpIHtcbiAgICB2YXIgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KENvbXBvbmVudCwgX2V4dGVuZHMoe1xuICAgICAgdGhlbWU6IHRoZW1lLFxuICAgICAgcmVmOiByZWZcbiAgICB9LCBwcm9wcykpO1xuICB9O1xuXG4gIHZhciBXaXRoVGhlbWUgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihyZW5kZXIpO1xuICBXaXRoVGhlbWUuZGlzcGxheU5hbWUgPSBcIldpdGhUaGVtZShcIiArIGNvbXBvbmVudE5hbWUgKyBcIilcIjtcbiAgcmV0dXJuIGhvaXN0Tm9uUmVhY3RTdGF0aWNzKFdpdGhUaGVtZSwgQ29tcG9uZW50KTtcbn1cblxudmFyIGhhc093biA9IHt9Lmhhc093blByb3BlcnR5O1xuXG52YXIgdHlwZVByb3BOYW1lID0gJ19fRU1PVElPTl9UWVBFX1BMRUFTRV9ET19OT1RfVVNFX18nO1xudmFyIGNyZWF0ZUVtb3Rpb25Qcm9wcyA9IGZ1bmN0aW9uIGNyZWF0ZUVtb3Rpb25Qcm9wcyh0eXBlXG4vKjogUmVhY3QuRWxlbWVudFR5cGUgKi9cbiwgcHJvcHNcbi8qOiBPYmplY3QgKi9cbikge1xuXG4gIHZhciBuZXdQcm9wc1xuICAvKjogYW55ICovXG4gID0ge307XG5cbiAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgaWYgKGhhc093bi5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICBuZXdQcm9wc1trZXldID0gcHJvcHNba2V5XTtcbiAgICB9XG4gIH1cblxuICBuZXdQcm9wc1t0eXBlUHJvcE5hbWVdID0gdHlwZTsgLy8gUnVudGltZSBsYWJlbGluZyBpcyBhbiBvcHQtaW4gZmVhdHVyZSBiZWNhdXNlOlxuXG4gIHJldHVybiBuZXdQcm9wcztcbn07XG5cbnZhciBJbnNlcnRpb24gPSBmdW5jdGlvbiBJbnNlcnRpb24oX3JlZikge1xuICB2YXIgY2FjaGUgPSBfcmVmLmNhY2hlLFxuICAgICAgc2VyaWFsaXplZCA9IF9yZWYuc2VyaWFsaXplZCxcbiAgICAgIGlzU3RyaW5nVGFnID0gX3JlZi5pc1N0cmluZ1RhZztcbiAgcmVnaXN0ZXJTdHlsZXMoY2FjaGUsIHNlcmlhbGl6ZWQsIGlzU3RyaW5nVGFnKTtcbiAgdXNlSW5zZXJ0aW9uRWZmZWN0QWx3YXlzV2l0aFN5bmNGYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGluc2VydFN0eWxlcyhjYWNoZSwgc2VyaWFsaXplZCwgaXNTdHJpbmdUYWcpO1xuICB9KTtcblxuICByZXR1cm4gbnVsbDtcbn07XG5cbnZhciBFbW90aW9uID0gLyogI19fUFVSRV9fICovd2l0aEVtb3Rpb25DYWNoZShcbi8qIDxhbnksIGFueT4gKi9cbmZ1bmN0aW9uIChwcm9wcywgY2FjaGUsIHJlZikge1xuICB2YXIgY3NzUHJvcCA9IHByb3BzLmNzczsgLy8gc28gdGhhdCB1c2luZyBgY3NzYCBmcm9tIGBlbW90aW9uYCBhbmQgcGFzc2luZyB0aGUgcmVzdWx0IHRvIHRoZSBjc3MgcHJvcCB3b3Jrc1xuICAvLyBub3QgcGFzc2luZyB0aGUgcmVnaXN0ZXJlZCBjYWNoZSB0byBzZXJpYWxpemVTdHlsZXMgYmVjYXVzZSBpdCB3b3VsZFxuICAvLyBtYWtlIGNlcnRhaW4gYmFiZWwgb3B0aW1pc2F0aW9ucyBub3QgcG9zc2libGVcblxuICBpZiAodHlwZW9mIGNzc1Byb3AgPT09ICdzdHJpbmcnICYmIGNhY2hlLnJlZ2lzdGVyZWRbY3NzUHJvcF0gIT09IHVuZGVmaW5lZCkge1xuICAgIGNzc1Byb3AgPSBjYWNoZS5yZWdpc3RlcmVkW2Nzc1Byb3BdO1xuICB9XG5cbiAgdmFyIFdyYXBwZWRDb21wb25lbnQgPSBwcm9wc1t0eXBlUHJvcE5hbWVdO1xuICB2YXIgcmVnaXN0ZXJlZFN0eWxlcyA9IFtjc3NQcm9wXTtcbiAgdmFyIGNsYXNzTmFtZSA9ICcnO1xuXG4gIGlmICh0eXBlb2YgcHJvcHMuY2xhc3NOYW1lID09PSAnc3RyaW5nJykge1xuICAgIGNsYXNzTmFtZSA9IGdldFJlZ2lzdGVyZWRTdHlsZXMoY2FjaGUucmVnaXN0ZXJlZCwgcmVnaXN0ZXJlZFN0eWxlcywgcHJvcHMuY2xhc3NOYW1lKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5jbGFzc05hbWUgIT0gbnVsbCkge1xuICAgIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZSArIFwiIFwiO1xuICB9XG5cbiAgdmFyIHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVTdHlsZXMocmVnaXN0ZXJlZFN0eWxlcywgdW5kZWZpbmVkLCBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCkpO1xuXG4gIGNsYXNzTmFtZSArPSBjYWNoZS5rZXkgKyBcIi1cIiArIHNlcmlhbGl6ZWQubmFtZTtcbiAgdmFyIG5ld1Byb3BzID0ge307XG5cbiAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgaWYgKGhhc093bi5jYWxsKHByb3BzLCBrZXkpICYmIGtleSAhPT0gJ2NzcycgJiYga2V5ICE9PSB0eXBlUHJvcE5hbWUgJiYgKCFpc0RldmVsb3BtZW50ICkpIHtcbiAgICAgIG5ld1Byb3BzW2tleV0gPSBwcm9wc1trZXldO1xuICAgIH1cbiAgfVxuXG4gIG5ld1Byb3BzLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcblxuICBpZiAocmVmKSB7XG4gICAgbmV3UHJvcHMucmVmID0gcmVmO1xuICB9XG5cbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChJbnNlcnRpb24sIHtcbiAgICBjYWNoZTogY2FjaGUsXG4gICAgc2VyaWFsaXplZDogc2VyaWFsaXplZCxcbiAgICBpc1N0cmluZ1RhZzogdHlwZW9mIFdyYXBwZWRDb21wb25lbnQgPT09ICdzdHJpbmcnXG4gIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChXcmFwcGVkQ29tcG9uZW50LCBuZXdQcm9wcykpO1xufSk7XG5cbnZhciBFbW90aW9uJDEgPSBFbW90aW9uO1xuXG5leHBvcnQgeyBDYWNoZVByb3ZpZGVyIGFzIEMsIEVtb3Rpb24kMSBhcyBFLCBUaGVtZUNvbnRleHQgYXMgVCwgX191bnNhZmVfdXNlRW1vdGlvbkNhY2hlIGFzIF8sIFRoZW1lUHJvdmlkZXIgYXMgYSwgd2l0aFRoZW1lIGFzIGIsIGNyZWF0ZUVtb3Rpb25Qcm9wcyBhcyBjLCBoYXNPd24gYXMgaCwgaXNEZXZlbG9wbWVudCBhcyBpLCB1c2VUaGVtZSBhcyB1LCB3aXRoRW1vdGlvbkNhY2hlIGFzIHcgfTtcbiIsICJpbXBvcnQgeyBoIGFzIGhhc093biwgRSBhcyBFbW90aW9uLCBjIGFzIGNyZWF0ZUVtb3Rpb25Qcm9wcywgdyBhcyB3aXRoRW1vdGlvbkNhY2hlLCBUIGFzIFRoZW1lQ29udGV4dCwgaSBhcyBpc0RldmVsb3BtZW50IH0gZnJvbSAnLi9lbW90aW9uLWVsZW1lbnQtNTQ4NmM1MWMuYnJvd3Nlci5lc20uanMnO1xuZXhwb3J0IHsgQyBhcyBDYWNoZVByb3ZpZGVyLCBUIGFzIFRoZW1lQ29udGV4dCwgYSBhcyBUaGVtZVByb3ZpZGVyLCBfIGFzIF9fdW5zYWZlX3VzZUVtb3Rpb25DYWNoZSwgdSBhcyB1c2VUaGVtZSwgdyBhcyB3aXRoRW1vdGlvbkNhY2hlLCBiIGFzIHdpdGhUaGVtZSB9IGZyb20gJy4vZW1vdGlvbi1lbGVtZW50LTU0ODZjNTFjLmJyb3dzZXIuZXNtLmpzJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGluc2VydFN0eWxlcywgcmVnaXN0ZXJTdHlsZXMsIGdldFJlZ2lzdGVyZWRTdHlsZXMgfSBmcm9tICdAZW1vdGlvbi91dGlscyc7XG5pbXBvcnQgeyB1c2VJbnNlcnRpb25FZmZlY3RXaXRoTGF5b3V0RmFsbGJhY2ssIHVzZUluc2VydGlvbkVmZmVjdEFsd2F5c1dpdGhTeW5jRmFsbGJhY2sgfSBmcm9tICdAZW1vdGlvbi91c2UtaW5zZXJ0aW9uLWVmZmVjdC13aXRoLWZhbGxiYWNrcyc7XG5pbXBvcnQgeyBzZXJpYWxpemVTdHlsZXMgfSBmcm9tICdAZW1vdGlvbi9zZXJpYWxpemUnO1xuaW1wb3J0ICdAZW1vdGlvbi9jYWNoZSc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcyc7XG5pbXBvcnQgJ0BlbW90aW9uL3dlYWstbWVtb2l6ZSc7XG5pbXBvcnQgJy4uL19pc29sYXRlZC1obnJzL2Rpc3QvZW1vdGlvbi1yZWFjdC1faXNvbGF0ZWQtaG5ycy5icm93c2VyLmVzbS5qcyc7XG5pbXBvcnQgJ2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzJztcblxudmFyIGpzeFxuLyo6IHR5cGVvZiBSZWFjdC5jcmVhdGVFbGVtZW50ICovXG49IGZ1bmN0aW9uIGpzeFxuLyo6IHR5cGVvZiBSZWFjdC5jcmVhdGVFbGVtZW50ICovXG4odHlwZVxuLyo6IFJlYWN0LkVsZW1lbnRUeXBlICovXG4sIHByb3BzXG4vKjogT2JqZWN0ICovXG4pIHtcbiAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG5cbiAgaWYgKHByb3BzID09IG51bGwgfHwgIWhhc093bi5jYWxsKHByb3BzLCAnY3NzJykpIHtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudC5hcHBseSh1bmRlZmluZWQsIGFyZ3MpO1xuICB9XG5cbiAgdmFyIGFyZ3NMZW5ndGggPSBhcmdzLmxlbmd0aDtcbiAgdmFyIGNyZWF0ZUVsZW1lbnRBcmdBcnJheSA9IG5ldyBBcnJheShhcmdzTGVuZ3RoKTtcbiAgY3JlYXRlRWxlbWVudEFyZ0FycmF5WzBdID0gRW1vdGlvbjtcbiAgY3JlYXRlRWxlbWVudEFyZ0FycmF5WzFdID0gY3JlYXRlRW1vdGlvblByb3BzKHR5cGUsIHByb3BzKTtcblxuICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3NMZW5ndGg7IGkrKykge1xuICAgIGNyZWF0ZUVsZW1lbnRBcmdBcnJheVtpXSA9IGFyZ3NbaV07XG4gIH1cblxuICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudC5hcHBseShudWxsLCBjcmVhdGVFbGVtZW50QXJnQXJyYXkpO1xufTtcblxuLy8gaW5pdGlhbCByZW5kZXIgZnJvbSBicm93c2VyLCBpbnNlcnRCZWZvcmUgY29udGV4dC5zaGVldC50YWdzWzBdIG9yIGlmIGEgc3R5bGUgaGFzbid0IGJlZW4gaW5zZXJ0ZWQgdGhlcmUgeWV0LCBhcHBlbmRDaGlsZFxuLy8gaW5pdGlhbCBjbGllbnQtc2lkZSByZW5kZXIgZnJvbSBTU1IsIHVzZSBwbGFjZSBvZiBoeWRyYXRpbmcgdGFnXG5cbnZhciBHbG9iYWxcbi8qOiBSZWFjdC5BYnN0cmFjdENvbXBvbmVudDxcbkdsb2JhbFByb3BzXG4+ICovXG49IC8qICNfX1BVUkVfXyAqL3dpdGhFbW90aW9uQ2FjaGUoZnVuY3Rpb24gKHByb3BzXG4vKjogR2xvYmFsUHJvcHMgKi9cbiwgY2FjaGUpIHtcblxuICB2YXIgc3R5bGVzID0gcHJvcHMuc3R5bGVzO1xuICB2YXIgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZVN0eWxlcyhbc3R5bGVzXSwgdW5kZWZpbmVkLCBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCkpO1xuICAvLyBidXQgaXQgaXMgYmFzZWQgb24gYSBjb25zdGFudCB0aGF0IHdpbGwgbmV2ZXIgY2hhbmdlIGF0IHJ1bnRpbWVcbiAgLy8gaXQncyBlZmZlY3RpdmVseSBsaWtlIGhhdmluZyB0d28gaW1wbGVtZW50YXRpb25zIGFuZCBzd2l0Y2hpbmcgdGhlbSBvdXRcbiAgLy8gc28gaXQncyBub3QgYWN0dWFsbHkgYnJlYWtpbmcgYW55dGhpbmdcblxuXG4gIHZhciBzaGVldFJlZiA9IFJlYWN0LnVzZVJlZigpO1xuICB1c2VJbnNlcnRpb25FZmZlY3RXaXRoTGF5b3V0RmFsbGJhY2soZnVuY3Rpb24gKCkge1xuICAgIHZhciBrZXkgPSBjYWNoZS5rZXkgKyBcIi1nbG9iYWxcIjsgLy8gdXNlIGNhc2Ugb2YgaHR0cHM6Ly9naXRodWIuY29tL2Vtb3Rpb24tanMvZW1vdGlvbi9pc3N1ZXMvMjY3NVxuXG4gICAgdmFyIHNoZWV0ID0gbmV3IGNhY2hlLnNoZWV0LmNvbnN0cnVjdG9yKHtcbiAgICAgIGtleToga2V5LFxuICAgICAgbm9uY2U6IGNhY2hlLnNoZWV0Lm5vbmNlLFxuICAgICAgY29udGFpbmVyOiBjYWNoZS5zaGVldC5jb250YWluZXIsXG4gICAgICBzcGVlZHk6IGNhY2hlLnNoZWV0LmlzU3BlZWR5XG4gICAgfSk7XG4gICAgdmFyIHJlaHlkcmF0aW5nID0gZmFsc2U7XG4gICAgdmFyIG5vZGVcbiAgICAvKjogSFRNTFN0eWxlRWxlbWVudCB8IG51bGwqL1xuICAgID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcInN0eWxlW2RhdGEtZW1vdGlvbj1cXFwiXCIgKyBrZXkgKyBcIiBcIiArIHNlcmlhbGl6ZWQubmFtZSArIFwiXFxcIl1cIik7XG5cbiAgICBpZiAoY2FjaGUuc2hlZXQudGFncy5sZW5ndGgpIHtcbiAgICAgIHNoZWV0LmJlZm9yZSA9IGNhY2hlLnNoZWV0LnRhZ3NbMF07XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIHJlaHlkcmF0aW5nID0gdHJ1ZTsgLy8gY2xlYXIgdGhlIGhhc2ggc28gdGhpcyBub2RlIHdvbid0IGJlIHJlY29nbml6YWJsZSBhcyByZWh5ZHJhdGFibGUgYnkgb3RoZXIgPEdsb2JhbC8+c1xuXG4gICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1lbW90aW9uJywga2V5KTtcbiAgICAgIHNoZWV0Lmh5ZHJhdGUoW25vZGVdKTtcbiAgICB9XG5cbiAgICBzaGVldFJlZi5jdXJyZW50ID0gW3NoZWV0LCByZWh5ZHJhdGluZ107XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHNoZWV0LmZsdXNoKCk7XG4gICAgfTtcbiAgfSwgW2NhY2hlXSk7XG4gIHVzZUluc2VydGlvbkVmZmVjdFdpdGhMYXlvdXRGYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNoZWV0UmVmQ3VycmVudCA9IHNoZWV0UmVmLmN1cnJlbnQ7XG4gICAgdmFyIHNoZWV0ID0gc2hlZXRSZWZDdXJyZW50WzBdLFxuICAgICAgICByZWh5ZHJhdGluZyA9IHNoZWV0UmVmQ3VycmVudFsxXTtcblxuICAgIGlmIChyZWh5ZHJhdGluZykge1xuICAgICAgc2hlZXRSZWZDdXJyZW50WzFdID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNlcmlhbGl6ZWQubmV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBpbnNlcnQga2V5ZnJhbWVzXG4gICAgICBpbnNlcnRTdHlsZXMoY2FjaGUsIHNlcmlhbGl6ZWQubmV4dCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHNoZWV0LnRhZ3MubGVuZ3RoKSB7XG4gICAgICAvLyBpZiB0aGlzIGRvZXNuJ3QgZXhpc3QgdGhlbiBpdCB3aWxsIGJlIG51bGwgc28gdGhlIHN0eWxlIGVsZW1lbnQgd2lsbCBiZSBhcHBlbmRlZFxuICAgICAgdmFyIGVsZW1lbnQgPSBzaGVldC50YWdzW3NoZWV0LnRhZ3MubGVuZ3RoIC0gMV0ubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgICAgc2hlZXQuYmVmb3JlID0gZWxlbWVudDtcbiAgICAgIHNoZWV0LmZsdXNoKCk7XG4gICAgfVxuXG4gICAgY2FjaGUuaW5zZXJ0KFwiXCIsIHNlcmlhbGl6ZWQsIHNoZWV0LCBmYWxzZSk7XG4gIH0sIFtjYWNoZSwgc2VyaWFsaXplZC5uYW1lXSk7XG4gIHJldHVybiBudWxsO1xufSk7XG5cbi8qIGltcG9ydCB0eXBlIHsgSW50ZXJwb2xhdGlvbiwgU2VyaWFsaXplZFN0eWxlcyB9IGZyb20gJ0BlbW90aW9uL3V0aWxzJyAqL1xuXG5mdW5jdGlvbiBjc3MoKVxuLyo6IFNlcmlhbGl6ZWRTdHlsZXMgKi9cbntcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiBzZXJpYWxpemVTdHlsZXMoYXJncyk7XG59XG5cbi8qXG50eXBlIEtleWZyYW1lcyA9IHt8XG4gIG5hbWU6IHN0cmluZyxcbiAgc3R5bGVzOiBzdHJpbmcsXG4gIGFuaW06IDEsXG4gIHRvU3RyaW5nOiAoKSA9PiBzdHJpbmdcbnx9ICYgc3RyaW5nXG4qL1xuXG52YXIga2V5ZnJhbWVzID0gZnVuY3Rpb25cbiAgLyo6IEtleWZyYW1lcyAqL1xua2V5ZnJhbWVzKCkge1xuICB2YXIgaW5zZXJ0YWJsZSA9IGNzcy5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG4gIHZhciBuYW1lID0gXCJhbmltYXRpb24tXCIgKyBpbnNlcnRhYmxlLm5hbWU7XG4gIHJldHVybiB7XG4gICAgbmFtZTogbmFtZSxcbiAgICBzdHlsZXM6IFwiQGtleWZyYW1lcyBcIiArIG5hbWUgKyBcIntcIiArIGluc2VydGFibGUuc3R5bGVzICsgXCJ9XCIsXG4gICAgYW5pbTogMSxcbiAgICB0b1N0cmluZzogZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgICByZXR1cm4gXCJfRU1PX1wiICsgdGhpcy5uYW1lICsgXCJfXCIgKyB0aGlzLnN0eWxlcyArIFwiX0VNT19cIjtcbiAgICB9XG4gIH07XG59O1xuXG4vKlxudHlwZSBDbGFzc05hbWVBcmcgPVxuICB8IHN0cmluZ1xuICB8IGJvb2xlYW5cbiAgfCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfVxuICB8IEFycmF5PENsYXNzTmFtZUFyZz5cbiAgfCBudWxsXG4gIHwgdm9pZFxuKi9cblxudmFyIGNsYXNzbmFtZXMgPSBmdW5jdGlvblxuICAvKjogc3RyaW5nICovXG5jbGFzc25hbWVzKGFyZ3Ncbi8qOiBBcnJheTxDbGFzc05hbWVBcmc+ICovXG4pIHtcbiAgdmFyIGxlbiA9IGFyZ3MubGVuZ3RoO1xuICB2YXIgaSA9IDA7XG4gIHZhciBjbHMgPSAnJztcblxuICBmb3IgKDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgdmFyIGFyZyA9IGFyZ3NbaV07XG4gICAgaWYgKGFyZyA9PSBudWxsKSBjb250aW51ZTtcbiAgICB2YXIgdG9BZGQgPSB2b2lkIDA7XG5cbiAgICBzd2l0Y2ggKHR5cGVvZiBhcmcpIHtcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgICAgICAgIHRvQWRkID0gY2xhc3NuYW1lcyhhcmcpO1xuICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgIHRvQWRkID0gJyc7XG5cbiAgICAgICAgICAgIGZvciAodmFyIGsgaW4gYXJnKSB7XG4gICAgICAgICAgICAgIGlmIChhcmdba10gJiYgaykge1xuICAgICAgICAgICAgICAgIHRvQWRkICYmICh0b0FkZCArPSAnICcpO1xuICAgICAgICAgICAgICAgIHRvQWRkICs9IGs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB7XG4gICAgICAgICAgdG9BZGQgPSBhcmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodG9BZGQpIHtcbiAgICAgIGNscyAmJiAoY2xzICs9ICcgJyk7XG4gICAgICBjbHMgKz0gdG9BZGQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNscztcbn07XG5cbmZ1bmN0aW9uIG1lcmdlKHJlZ2lzdGVyZWRcbi8qOiBPYmplY3QgKi9cbiwgY3NzXG4vKjogKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IHN0cmluZyAqL1xuLCBjbGFzc05hbWVcbi8qOiBzdHJpbmcgKi9cbikge1xuICB2YXIgcmVnaXN0ZXJlZFN0eWxlcyA9IFtdO1xuICB2YXIgcmF3Q2xhc3NOYW1lID0gZ2V0UmVnaXN0ZXJlZFN0eWxlcyhyZWdpc3RlcmVkLCByZWdpc3RlcmVkU3R5bGVzLCBjbGFzc05hbWUpO1xuXG4gIGlmIChyZWdpc3RlcmVkU3R5bGVzLmxlbmd0aCA8IDIpIHtcbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG5cbiAgcmV0dXJuIHJhd0NsYXNzTmFtZSArIGNzcyhyZWdpc3RlcmVkU3R5bGVzKTtcbn1cblxudmFyIEluc2VydGlvbiA9IGZ1bmN0aW9uIEluc2VydGlvbihfcmVmKSB7XG4gIHZhciBjYWNoZSA9IF9yZWYuY2FjaGUsXG4gICAgICBzZXJpYWxpemVkQXJyID0gX3JlZi5zZXJpYWxpemVkQXJyO1xuICB1c2VJbnNlcnRpb25FZmZlY3RBbHdheXNXaXRoU3luY0ZhbGxiYWNrKGZ1bmN0aW9uICgpIHtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VyaWFsaXplZEFyci5sZW5ndGg7IGkrKykge1xuICAgICAgaW5zZXJ0U3R5bGVzKGNhY2hlLCBzZXJpYWxpemVkQXJyW2ldLCBmYWxzZSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbnVsbDtcbn07XG4vKlxudHlwZSBQcm9wcyA9IHtcbiAgY2hpbGRyZW46ICh7XG4gICAgY3NzOiAoLi4uYXJnczogYW55KSA9PiBzdHJpbmcsXG4gICAgY3g6ICguLi5hcmdzOiBBcnJheTxDbGFzc05hbWVBcmc+KSA9PiBzdHJpbmcsXG4gICAgdGhlbWU6IE9iamVjdFxuICB9KSA9PiBSZWFjdC5Ob2RlXG59ICovXG5cblxudmFyIENsYXNzTmFtZXNcbi8qOiBSZWFjdC5BYnN0cmFjdENvbXBvbmVudDxQcm9wcz4qL1xuPSAvKiAjX19QVVJFX18gKi93aXRoRW1vdGlvbkNhY2hlKGZ1bmN0aW9uIChwcm9wcywgY2FjaGUpIHtcbiAgdmFyIGhhc1JlbmRlcmVkID0gZmFsc2U7XG4gIHZhciBzZXJpYWxpemVkQXJyID0gW107XG5cbiAgdmFyIGNzcyA9IGZ1bmN0aW9uIGNzcygpIHtcbiAgICBpZiAoaGFzUmVuZGVyZWQgJiYgaXNEZXZlbG9wbWVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjc3MgY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgcmVuZGVyJyk7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cblxuICAgIHZhciBzZXJpYWxpemVkID0gc2VyaWFsaXplU3R5bGVzKGFyZ3MsIGNhY2hlLnJlZ2lzdGVyZWQpO1xuICAgIHNlcmlhbGl6ZWRBcnIucHVzaChzZXJpYWxpemVkKTsgLy8gcmVnaXN0cmF0aW9uIGhhcyB0byBoYXBwZW4gaGVyZSBhcyB0aGUgcmVzdWx0IG9mIHRoaXMgbWlnaHQgZ2V0IGNvbnN1bWVkIGJ5IGBjeGBcblxuICAgIHJlZ2lzdGVyU3R5bGVzKGNhY2hlLCBzZXJpYWxpemVkLCBmYWxzZSk7XG4gICAgcmV0dXJuIGNhY2hlLmtleSArIFwiLVwiICsgc2VyaWFsaXplZC5uYW1lO1xuICB9O1xuXG4gIHZhciBjeCA9IGZ1bmN0aW9uIGN4KCkge1xuICAgIGlmIChoYXNSZW5kZXJlZCAmJiBpc0RldmVsb3BtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2N4IGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIHJlbmRlcicpO1xuICAgIH1cblxuICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgYXJnc1tfa2V5Ml0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgIH1cblxuICAgIHJldHVybiBtZXJnZShjYWNoZS5yZWdpc3RlcmVkLCBjc3MsIGNsYXNzbmFtZXMoYXJncykpO1xuICB9O1xuXG4gIHZhciBjb250ZW50ID0ge1xuICAgIGNzczogY3NzLFxuICAgIGN4OiBjeCxcbiAgICB0aGVtZTogUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpXG4gIH07XG4gIHZhciBlbGUgPSBwcm9wcy5jaGlsZHJlbihjb250ZW50KTtcbiAgaGFzUmVuZGVyZWQgPSB0cnVlO1xuICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEluc2VydGlvbiwge1xuICAgIGNhY2hlOiBjYWNoZSxcbiAgICBzZXJpYWxpemVkQXJyOiBzZXJpYWxpemVkQXJyXG4gIH0pLCBlbGUpO1xufSk7XG5cbmV4cG9ydCB7IENsYXNzTmFtZXMsIEdsb2JhbCwganN4IGFzIGNyZWF0ZUVsZW1lbnQsIGNzcywganN4LCBrZXlmcmFtZXMgfTtcbiIsICJmdW5jdGlvbiBfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsKGUsIHQpIHtcbiAgcmV0dXJuIHQgfHwgKHQgPSBlLnNsaWNlKDApKSwgT2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLCB7XG4gICAgcmF3OiB7XG4gICAgICB2YWx1ZTogT2JqZWN0LmZyZWV6ZSh0KVxuICAgIH1cbiAgfSkpO1xufVxuZXhwb3J0IHsgX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCBhcyBkZWZhdWx0IH07IiwgIi8qKlxuICogQ3VzdG9tIHBvc2l0aW9uaW5nIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3ZpcnR1YWwtZWxlbWVudHNcbiAqL1xuXG5jb25zdCBzaWRlcyA9IFsndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J107XG5jb25zdCBhbGlnbm1lbnRzID0gWydzdGFydCcsICdlbmQnXTtcbmNvbnN0IHBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovc2lkZXMucmVkdWNlKChhY2MsIHNpZGUpID0+IGFjYy5jb25jYXQoc2lkZSwgc2lkZSArIFwiLVwiICsgYWxpZ25tZW50c1swXSwgc2lkZSArIFwiLVwiICsgYWxpZ25tZW50c1sxXSksIFtdKTtcbmNvbnN0IG1pbiA9IE1hdGgubWluO1xuY29uc3QgbWF4ID0gTWF0aC5tYXg7XG5jb25zdCByb3VuZCA9IE1hdGgucm91bmQ7XG5jb25zdCBmbG9vciA9IE1hdGguZmxvb3I7XG5jb25zdCBjcmVhdGVDb29yZHMgPSB2ID0+ICh7XG4gIHg6IHYsXG4gIHk6IHZcbn0pO1xuY29uc3Qgb3Bwb3NpdGVTaWRlTWFwID0ge1xuICBsZWZ0OiAncmlnaHQnLFxuICByaWdodDogJ2xlZnQnLFxuICBib3R0b206ICd0b3AnLFxuICB0b3A6ICdib3R0b20nXG59O1xuY29uc3Qgb3Bwb3NpdGVBbGlnbm1lbnRNYXAgPSB7XG4gIHN0YXJ0OiAnZW5kJyxcbiAgZW5kOiAnc3RhcnQnXG59O1xuZnVuY3Rpb24gY2xhbXAoc3RhcnQsIHZhbHVlLCBlbmQpIHtcbiAgcmV0dXJuIG1heChzdGFydCwgbWluKHZhbHVlLCBlbmQpKTtcbn1cbmZ1bmN0aW9uIGV2YWx1YXRlKHZhbHVlLCBwYXJhbSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nID8gdmFsdWUocGFyYW0pIDogdmFsdWU7XG59XG5mdW5jdGlvbiBnZXRTaWRlKHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQXhpcyhheGlzKSB7XG4gIHJldHVybiBheGlzID09PSAneCcgPyAneScgOiAneCc7XG59XG5mdW5jdGlvbiBnZXRBeGlzTGVuZ3RoKGF4aXMpIHtcbiAgcmV0dXJuIGF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbn1cbmZ1bmN0aW9uIGdldFNpZGVBeGlzKHBsYWNlbWVudCkge1xuICByZXR1cm4gWyd0b3AnLCAnYm90dG9tJ10uaW5jbHVkZXMoZ2V0U2lkZShwbGFjZW1lbnQpKSA/ICd5JyA6ICd4Jztcbn1cbmZ1bmN0aW9uIGdldEFsaWdubWVudEF4aXMocGxhY2VtZW50KSB7XG4gIHJldHVybiBnZXRPcHBvc2l0ZUF4aXMoZ2V0U2lkZUF4aXMocGxhY2VtZW50KSk7XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnRTaWRlcyhwbGFjZW1lbnQsIHJlY3RzLCBydGwpIHtcbiAgaWYgKHJ0bCA9PT0gdm9pZCAwKSB7XG4gICAgcnRsID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCk7XG4gIGNvbnN0IGFsaWdubWVudEF4aXMgPSBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCk7XG4gIGNvbnN0IGxlbmd0aCA9IGdldEF4aXNMZW5ndGgoYWxpZ25tZW50QXhpcyk7XG4gIGxldCBtYWluQWxpZ25tZW50U2lkZSA9IGFsaWdubWVudEF4aXMgPT09ICd4JyA/IGFsaWdubWVudCA9PT0gKHJ0bCA/ICdlbmQnIDogJ3N0YXJ0JykgPyAncmlnaHQnIDogJ2xlZnQnIDogYWxpZ25tZW50ID09PSAnc3RhcnQnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgaWYgKHJlY3RzLnJlZmVyZW5jZVtsZW5ndGhdID4gcmVjdHMuZmxvYXRpbmdbbGVuZ3RoXSkge1xuICAgIG1haW5BbGlnbm1lbnRTaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpbkFsaWdubWVudFNpZGUpO1xuICB9XG4gIHJldHVybiBbbWFpbkFsaWdubWVudFNpZGUsIGdldE9wcG9zaXRlUGxhY2VtZW50KG1haW5BbGlnbm1lbnRTaWRlKV07XG59XG5mdW5jdGlvbiBnZXRFeHBhbmRlZFBsYWNlbWVudHMocGxhY2VtZW50KSB7XG4gIGNvbnN0IG9wcG9zaXRlUGxhY2VtZW50ID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgcmV0dXJuIFtnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudChwbGFjZW1lbnQpLCBvcHBvc2l0ZVBsYWNlbWVudCwgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQob3Bwb3NpdGVQbGFjZW1lbnQpXTtcbn1cbmZ1bmN0aW9uIGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnJlcGxhY2UoL3N0YXJ0fGVuZC9nLCBhbGlnbm1lbnQgPT4gb3Bwb3NpdGVBbGlnbm1lbnRNYXBbYWxpZ25tZW50XSk7XG59XG5mdW5jdGlvbiBnZXRTaWRlTGlzdChzaWRlLCBpc1N0YXJ0LCBydGwpIHtcbiAgY29uc3QgbHIgPSBbJ2xlZnQnLCAncmlnaHQnXTtcbiAgY29uc3QgcmwgPSBbJ3JpZ2h0JywgJ2xlZnQnXTtcbiAgY29uc3QgdGIgPSBbJ3RvcCcsICdib3R0b20nXTtcbiAgY29uc3QgYnQgPSBbJ2JvdHRvbScsICd0b3AnXTtcbiAgc3dpdGNoIChzaWRlKSB7XG4gICAgY2FzZSAndG9wJzpcbiAgICBjYXNlICdib3R0b20nOlxuICAgICAgaWYgKHJ0bCkgcmV0dXJuIGlzU3RhcnQgPyBybCA6IGxyO1xuICAgICAgcmV0dXJuIGlzU3RhcnQgPyBsciA6IHJsO1xuICAgIGNhc2UgJ2xlZnQnOlxuICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgIHJldHVybiBpc1N0YXJ0ID8gdGIgOiBidDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFtdO1xuICB9XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZUF4aXNQbGFjZW1lbnRzKHBsYWNlbWVudCwgZmxpcEFsaWdubWVudCwgZGlyZWN0aW9uLCBydGwpIHtcbiAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCk7XG4gIGxldCBsaXN0ID0gZ2V0U2lkZUxpc3QoZ2V0U2lkZShwbGFjZW1lbnQpLCBkaXJlY3Rpb24gPT09ICdzdGFydCcsIHJ0bCk7XG4gIGlmIChhbGlnbm1lbnQpIHtcbiAgICBsaXN0ID0gbGlzdC5tYXAoc2lkZSA9PiBzaWRlICsgXCItXCIgKyBhbGlnbm1lbnQpO1xuICAgIGlmIChmbGlwQWxpZ25tZW50KSB7XG4gICAgICBsaXN0ID0gbGlzdC5jb25jYXQobGlzdC5tYXAoZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGxpc3Q7XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgc2lkZSA9PiBvcHBvc2l0ZVNpZGVNYXBbc2lkZV0pO1xufVxuZnVuY3Rpb24gZXhwYW5kUGFkZGluZ09iamVjdChwYWRkaW5nKSB7XG4gIHJldHVybiB7XG4gICAgdG9wOiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwLFxuICAgIC4uLnBhZGRpbmdcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFBhZGRpbmdPYmplY3QocGFkZGluZykge1xuICByZXR1cm4gdHlwZW9mIHBhZGRpbmcgIT09ICdudW1iZXInID8gZXhwYW5kUGFkZGluZ09iamVjdChwYWRkaW5nKSA6IHtcbiAgICB0b3A6IHBhZGRpbmcsXG4gICAgcmlnaHQ6IHBhZGRpbmcsXG4gICAgYm90dG9tOiBwYWRkaW5nLFxuICAgIGxlZnQ6IHBhZGRpbmdcbiAgfTtcbn1cbmZ1bmN0aW9uIHJlY3RUb0NsaWVudFJlY3QocmVjdCkge1xuICBjb25zdCB7XG4gICAgeCxcbiAgICB5LFxuICAgIHdpZHRoLFxuICAgIGhlaWdodFxuICB9ID0gcmVjdDtcbiAgcmV0dXJuIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgdG9wOiB5LFxuICAgIGxlZnQ6IHgsXG4gICAgcmlnaHQ6IHggKyB3aWR0aCxcbiAgICBib3R0b206IHkgKyBoZWlnaHQsXG4gICAgeCxcbiAgICB5XG4gIH07XG59XG5cbmV4cG9ydCB7IGFsaWdubWVudHMsIGNsYW1wLCBjcmVhdGVDb29yZHMsIGV2YWx1YXRlLCBleHBhbmRQYWRkaW5nT2JqZWN0LCBmbG9vciwgZ2V0QWxpZ25tZW50LCBnZXRBbGlnbm1lbnRBeGlzLCBnZXRBbGlnbm1lbnRTaWRlcywgZ2V0QXhpc0xlbmd0aCwgZ2V0RXhwYW5kZWRQbGFjZW1lbnRzLCBnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudCwgZ2V0T3Bwb3NpdGVBeGlzLCBnZXRPcHBvc2l0ZUF4aXNQbGFjZW1lbnRzLCBnZXRPcHBvc2l0ZVBsYWNlbWVudCwgZ2V0UGFkZGluZ09iamVjdCwgZ2V0U2lkZSwgZ2V0U2lkZUF4aXMsIG1heCwgbWluLCBwbGFjZW1lbnRzLCByZWN0VG9DbGllbnRSZWN0LCByb3VuZCwgc2lkZXMgfTtcbiIsICJmdW5jdGlvbiBoYXNXaW5kb3coKSB7XG4gIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztcbn1cbmZ1bmN0aW9uIGdldE5vZGVOYW1lKG5vZGUpIHtcbiAgaWYgKGlzTm9kZShub2RlKSkge1xuICAgIHJldHVybiAobm9kZS5ub2RlTmFtZSB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgfVxuICAvLyBNb2NrZWQgbm9kZXMgaW4gdGVzdGluZyBlbnZpcm9ubWVudHMgbWF5IG5vdCBiZSBpbnN0YW5jZXMgb2YgTm9kZS4gQnlcbiAgLy8gcmV0dXJuaW5nIGAjZG9jdW1lbnRgIGFuIGluZmluaXRlIGxvb3Agd29uJ3Qgb2NjdXIuXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG9hdGluZy11aS9mbG9hdGluZy11aS9pc3N1ZXMvMjMxN1xuICByZXR1cm4gJyNkb2N1bWVudCc7XG59XG5mdW5jdGlvbiBnZXRXaW5kb3cobm9kZSkge1xuICB2YXIgX25vZGUkb3duZXJEb2N1bWVudDtcbiAgcmV0dXJuIChub2RlID09IG51bGwgfHwgKF9ub2RlJG93bmVyRG9jdW1lbnQgPSBub2RlLm93bmVyRG9jdW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfbm9kZSRvd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSB8fCB3aW5kb3c7XG59XG5mdW5jdGlvbiBnZXREb2N1bWVudEVsZW1lbnQobm9kZSkge1xuICB2YXIgX3JlZjtcbiAgcmV0dXJuIChfcmVmID0gKGlzTm9kZShub2RlKSA/IG5vZGUub3duZXJEb2N1bWVudCA6IG5vZGUuZG9jdW1lbnQpIHx8IHdpbmRvdy5kb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9yZWYuZG9jdW1lbnRFbGVtZW50O1xufVxuZnVuY3Rpb24gaXNOb2RlKHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgTm9kZSB8fCB2YWx1ZSBpbnN0YW5jZW9mIGdldFdpbmRvdyh2YWx1ZSkuTm9kZTtcbn1cbmZ1bmN0aW9uIGlzRWxlbWVudCh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLkVsZW1lbnQ7XG59XG5mdW5jdGlvbiBpc0hUTUxFbGVtZW50KHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLkhUTUxFbGVtZW50O1xufVxuZnVuY3Rpb24gaXNTaGFkb3dSb290KHZhbHVlKSB7XG4gIGlmICghaGFzV2luZG93KCkgfHwgdHlwZW9mIFNoYWRvd1Jvb3QgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLlNoYWRvd1Jvb3Q7XG59XG5mdW5jdGlvbiBpc092ZXJmbG93RWxlbWVudChlbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICBvdmVyZmxvdyxcbiAgICBvdmVyZmxvd1gsXG4gICAgb3ZlcmZsb3dZLFxuICAgIGRpc3BsYXlcbiAgfSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIHJldHVybiAvYXV0b3xzY3JvbGx8b3ZlcmxheXxoaWRkZW58Y2xpcC8udGVzdChvdmVyZmxvdyArIG92ZXJmbG93WSArIG92ZXJmbG93WCkgJiYgIVsnaW5saW5lJywgJ2NvbnRlbnRzJ10uaW5jbHVkZXMoZGlzcGxheSk7XG59XG5mdW5jdGlvbiBpc1RhYmxlRWxlbWVudChlbGVtZW50KSB7XG4gIHJldHVybiBbJ3RhYmxlJywgJ3RkJywgJ3RoJ10uaW5jbHVkZXMoZ2V0Tm9kZU5hbWUoZWxlbWVudCkpO1xufVxuZnVuY3Rpb24gaXNUb3BMYXllcihlbGVtZW50KSB7XG4gIHJldHVybiBbJzpwb3BvdmVyLW9wZW4nLCAnOm1vZGFsJ10uc29tZShzZWxlY3RvciA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0pO1xufVxuZnVuY3Rpb24gaXNDb250YWluaW5nQmxvY2soZWxlbWVudE9yQ3NzKSB7XG4gIGNvbnN0IHdlYmtpdCA9IGlzV2ViS2l0KCk7XG4gIGNvbnN0IGNzcyA9IGlzRWxlbWVudChlbGVtZW50T3JDc3MpID8gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50T3JDc3MpIDogZWxlbWVudE9yQ3NzO1xuXG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9Db250YWluaW5nX2Jsb2NrI2lkZW50aWZ5aW5nX3RoZV9jb250YWluaW5nX2Jsb2NrXG4gIHJldHVybiBjc3MudHJhbnNmb3JtICE9PSAnbm9uZScgfHwgY3NzLnBlcnNwZWN0aXZlICE9PSAnbm9uZScgfHwgKGNzcy5jb250YWluZXJUeXBlID8gY3NzLmNvbnRhaW5lclR5cGUgIT09ICdub3JtYWwnIDogZmFsc2UpIHx8ICF3ZWJraXQgJiYgKGNzcy5iYWNrZHJvcEZpbHRlciA/IGNzcy5iYWNrZHJvcEZpbHRlciAhPT0gJ25vbmUnIDogZmFsc2UpIHx8ICF3ZWJraXQgJiYgKGNzcy5maWx0ZXIgPyBjc3MuZmlsdGVyICE9PSAnbm9uZScgOiBmYWxzZSkgfHwgWyd0cmFuc2Zvcm0nLCAncGVyc3BlY3RpdmUnLCAnZmlsdGVyJ10uc29tZSh2YWx1ZSA9PiAoY3NzLndpbGxDaGFuZ2UgfHwgJycpLmluY2x1ZGVzKHZhbHVlKSkgfHwgWydwYWludCcsICdsYXlvdXQnLCAnc3RyaWN0JywgJ2NvbnRlbnQnXS5zb21lKHZhbHVlID0+IChjc3MuY29udGFpbiB8fCAnJykuaW5jbHVkZXModmFsdWUpKTtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG4gIHdoaWxlIChpc0hUTUxFbGVtZW50KGN1cnJlbnROb2RlKSAmJiAhaXNMYXN0VHJhdmVyc2FibGVOb2RlKGN1cnJlbnROb2RlKSkge1xuICAgIGlmIChpc0NvbnRhaW5pbmdCbG9jayhjdXJyZW50Tm9kZSkpIHtcbiAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICB9IGVsc2UgaWYgKGlzVG9wTGF5ZXIoY3VycmVudE5vZGUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGN1cnJlbnROb2RlKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzV2ViS2l0KCkge1xuICBpZiAodHlwZW9mIENTUyA9PT0gJ3VuZGVmaW5lZCcgfHwgIUNTUy5zdXBwb3J0cykgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gQ1NTLnN1cHBvcnRzKCctd2Via2l0LWJhY2tkcm9wLWZpbHRlcicsICdub25lJyk7XG59XG5mdW5jdGlvbiBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUobm9kZSkge1xuICByZXR1cm4gWydodG1sJywgJ2JvZHknLCAnI2RvY3VtZW50J10uaW5jbHVkZXMoZ2V0Tm9kZU5hbWUobm9kZSkpO1xufVxuZnVuY3Rpb24gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KSB7XG4gIHJldHVybiBnZXRXaW5kb3coZWxlbWVudCkuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbn1cbmZ1bmN0aW9uIGdldE5vZGVTY3JvbGwoZWxlbWVudCkge1xuICBpZiAoaXNFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjcm9sbExlZnQ6IGVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxUb3BcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogZWxlbWVudC5zY3JvbGxYLFxuICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxZXG4gIH07XG59XG5mdW5jdGlvbiBnZXRQYXJlbnROb2RlKG5vZGUpIHtcbiAgaWYgKGdldE5vZGVOYW1lKG5vZGUpID09PSAnaHRtbCcpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuICBjb25zdCByZXN1bHQgPVxuICAvLyBTdGVwIGludG8gdGhlIHNoYWRvdyBET00gb2YgdGhlIHBhcmVudCBvZiBhIHNsb3R0ZWQgbm9kZS5cbiAgbm9kZS5hc3NpZ25lZFNsb3QgfHxcbiAgLy8gRE9NIEVsZW1lbnQgZGV0ZWN0ZWQuXG4gIG5vZGUucGFyZW50Tm9kZSB8fFxuICAvLyBTaGFkb3dSb290IGRldGVjdGVkLlxuICBpc1NoYWRvd1Jvb3Qobm9kZSkgJiYgbm9kZS5ob3N0IHx8XG4gIC8vIEZhbGxiYWNrLlxuICBnZXREb2N1bWVudEVsZW1lbnQobm9kZSk7XG4gIHJldHVybiBpc1NoYWRvd1Jvb3QocmVzdWx0KSA/IHJlc3VsdC5ob3N0IDogcmVzdWx0O1xufVxuZnVuY3Rpb24gZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3Iobm9kZSkge1xuICBjb25zdCBwYXJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShub2RlKTtcbiAgaWYgKGlzTGFzdFRyYXZlcnNhYmxlTm9kZShwYXJlbnROb2RlKSkge1xuICAgIHJldHVybiBub2RlLm93bmVyRG9jdW1lbnQgPyBub2RlLm93bmVyRG9jdW1lbnQuYm9keSA6IG5vZGUuYm9keTtcbiAgfVxuICBpZiAoaXNIVE1MRWxlbWVudChwYXJlbnROb2RlKSAmJiBpc092ZXJmbG93RWxlbWVudChwYXJlbnROb2RlKSkge1xuICAgIHJldHVybiBwYXJlbnROb2RlO1xuICB9XG4gIHJldHVybiBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3RvcihwYXJlbnROb2RlKTtcbn1cbmZ1bmN0aW9uIGdldE92ZXJmbG93QW5jZXN0b3JzKG5vZGUsIGxpc3QsIHRyYXZlcnNlSWZyYW1lcykge1xuICB2YXIgX25vZGUkb3duZXJEb2N1bWVudDI7XG4gIGlmIChsaXN0ID09PSB2b2lkIDApIHtcbiAgICBsaXN0ID0gW107XG4gIH1cbiAgaWYgKHRyYXZlcnNlSWZyYW1lcyA9PT0gdm9pZCAwKSB7XG4gICAgdHJhdmVyc2VJZnJhbWVzID0gdHJ1ZTtcbiAgfVxuICBjb25zdCBzY3JvbGxhYmxlQW5jZXN0b3IgPSBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3Rvcihub2RlKTtcbiAgY29uc3QgaXNCb2R5ID0gc2Nyb2xsYWJsZUFuY2VzdG9yID09PSAoKF9ub2RlJG93bmVyRG9jdW1lbnQyID0gbm9kZS5vd25lckRvY3VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkb3duZXJEb2N1bWVudDIuYm9keSk7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhzY3JvbGxhYmxlQW5jZXN0b3IpO1xuICBpZiAoaXNCb2R5KSB7XG4gICAgY29uc3QgZnJhbWVFbGVtZW50ID0gZ2V0RnJhbWVFbGVtZW50KHdpbik7XG4gICAgcmV0dXJuIGxpc3QuY29uY2F0KHdpbiwgd2luLnZpc3VhbFZpZXdwb3J0IHx8IFtdLCBpc092ZXJmbG93RWxlbWVudChzY3JvbGxhYmxlQW5jZXN0b3IpID8gc2Nyb2xsYWJsZUFuY2VzdG9yIDogW10sIGZyYW1lRWxlbWVudCAmJiB0cmF2ZXJzZUlmcmFtZXMgPyBnZXRPdmVyZmxvd0FuY2VzdG9ycyhmcmFtZUVsZW1lbnQpIDogW10pO1xuICB9XG4gIHJldHVybiBsaXN0LmNvbmNhdChzY3JvbGxhYmxlQW5jZXN0b3IsIGdldE92ZXJmbG93QW5jZXN0b3JzKHNjcm9sbGFibGVBbmNlc3RvciwgW10sIHRyYXZlcnNlSWZyYW1lcykpO1xufVxuZnVuY3Rpb24gZ2V0RnJhbWVFbGVtZW50KHdpbikge1xuICByZXR1cm4gd2luLnBhcmVudCAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yod2luLnBhcmVudCkgPyB3aW4uZnJhbWVFbGVtZW50IDogbnVsbDtcbn1cblxuZXhwb3J0IHsgZ2V0Q29tcHV0ZWRTdHlsZSwgZ2V0Q29udGFpbmluZ0Jsb2NrLCBnZXREb2N1bWVudEVsZW1lbnQsIGdldEZyYW1lRWxlbWVudCwgZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3IsIGdldE5vZGVOYW1lLCBnZXROb2RlU2Nyb2xsLCBnZXRPdmVyZmxvd0FuY2VzdG9ycywgZ2V0UGFyZW50Tm9kZSwgZ2V0V2luZG93LCBpc0NvbnRhaW5pbmdCbG9jaywgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50LCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUsIGlzTm9kZSwgaXNPdmVyZmxvd0VsZW1lbnQsIGlzU2hhZG93Um9vdCwgaXNUYWJsZUVsZW1lbnQsIGlzVG9wTGF5ZXIsIGlzV2ViS2l0IH07XG4iLCAiaW1wb3J0IHsgcmVjdFRvQ2xpZW50UmVjdCwgZGV0ZWN0T3ZlcmZsb3cgYXMgZGV0ZWN0T3ZlcmZsb3ckMSwgb2Zmc2V0IGFzIG9mZnNldCQxLCBhdXRvUGxhY2VtZW50IGFzIGF1dG9QbGFjZW1lbnQkMSwgc2hpZnQgYXMgc2hpZnQkMSwgZmxpcCBhcyBmbGlwJDEsIHNpemUgYXMgc2l6ZSQxLCBoaWRlIGFzIGhpZGUkMSwgYXJyb3cgYXMgYXJyb3ckMSwgaW5saW5lIGFzIGlubGluZSQxLCBsaW1pdFNoaWZ0IGFzIGxpbWl0U2hpZnQkMSwgY29tcHV0ZVBvc2l0aW9uIGFzIGNvbXB1dGVQb3NpdGlvbiQxIH0gZnJvbSAnQGZsb2F0aW5nLXVpL2NvcmUnO1xuaW1wb3J0IHsgcm91bmQsIGNyZWF0ZUNvb3JkcywgbWF4LCBtaW4sIGZsb29yIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzJztcbmltcG9ydCB7IGdldENvbXB1dGVkU3R5bGUsIGlzSFRNTEVsZW1lbnQsIGlzRWxlbWVudCwgZ2V0V2luZG93LCBpc1dlYktpdCwgZ2V0RnJhbWVFbGVtZW50LCBnZXREb2N1bWVudEVsZW1lbnQsIGlzVG9wTGF5ZXIsIGdldE5vZGVOYW1lLCBpc092ZXJmbG93RWxlbWVudCwgZ2V0Tm9kZVNjcm9sbCwgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMsIGdldFBhcmVudE5vZGUsIGlzTGFzdFRyYXZlcnNhYmxlTm9kZSwgaXNDb250YWluaW5nQmxvY2ssIGlzVGFibGVFbGVtZW50LCBnZXRDb250YWluaW5nQmxvY2sgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMvZG9tJztcbmV4cG9ydCB7IGdldE92ZXJmbG93QW5jZXN0b3JzIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3V0aWxzL2RvbSc7XG5cbmZ1bmN0aW9uIGdldENzc0RpbWVuc2lvbnMoZWxlbWVudCkge1xuICBjb25zdCBjc3MgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAvLyBJbiB0ZXN0aW5nIGVudmlyb25tZW50cywgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIHByb3BlcnRpZXMgYXJlIGVtcHR5XG4gIC8vIHN0cmluZ3MgZm9yIFNWRyBlbGVtZW50cywgcmV0dXJuaW5nIE5hTi4gRmFsbGJhY2sgdG8gYDBgIGluIHRoaXMgY2FzZS5cbiAgbGV0IHdpZHRoID0gcGFyc2VGbG9hdChjc3Mud2lkdGgpIHx8IDA7XG4gIGxldCBoZWlnaHQgPSBwYXJzZUZsb2F0KGNzcy5oZWlnaHQpIHx8IDA7XG4gIGNvbnN0IGhhc09mZnNldCA9IGlzSFRNTEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IG9mZnNldFdpZHRoID0gaGFzT2Zmc2V0ID8gZWxlbWVudC5vZmZzZXRXaWR0aCA6IHdpZHRoO1xuICBjb25zdCBvZmZzZXRIZWlnaHQgPSBoYXNPZmZzZXQgPyBlbGVtZW50Lm9mZnNldEhlaWdodCA6IGhlaWdodDtcbiAgY29uc3Qgc2hvdWxkRmFsbGJhY2sgPSByb3VuZCh3aWR0aCkgIT09IG9mZnNldFdpZHRoIHx8IHJvdW5kKGhlaWdodCkgIT09IG9mZnNldEhlaWdodDtcbiAgaWYgKHNob3VsZEZhbGxiYWNrKSB7XG4gICAgd2lkdGggPSBvZmZzZXRXaWR0aDtcbiAgICBoZWlnaHQgPSBvZmZzZXRIZWlnaHQ7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgJDogc2hvdWxkRmFsbGJhY2tcbiAgfTtcbn1cblxuZnVuY3Rpb24gdW53cmFwRWxlbWVudChlbGVtZW50KSB7XG4gIHJldHVybiAhaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudC5jb250ZXh0RWxlbWVudCA6IGVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGdldFNjYWxlKGVsZW1lbnQpIHtcbiAgY29uc3QgZG9tRWxlbWVudCA9IHVud3JhcEVsZW1lbnQoZWxlbWVudCk7XG4gIGlmICghaXNIVE1MRWxlbWVudChkb21FbGVtZW50KSkge1xuICAgIHJldHVybiBjcmVhdGVDb29yZHMoMSk7XG4gIH1cbiAgY29uc3QgcmVjdCA9IGRvbUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgJFxuICB9ID0gZ2V0Q3NzRGltZW5zaW9ucyhkb21FbGVtZW50KTtcbiAgbGV0IHggPSAoJCA/IHJvdW5kKHJlY3Qud2lkdGgpIDogcmVjdC53aWR0aCkgLyB3aWR0aDtcbiAgbGV0IHkgPSAoJCA/IHJvdW5kKHJlY3QuaGVpZ2h0KSA6IHJlY3QuaGVpZ2h0KSAvIGhlaWdodDtcblxuICAvLyAwLCBOYU4sIG9yIEluZmluaXR5IHNob3VsZCBhbHdheXMgZmFsbGJhY2sgdG8gMS5cblxuICBpZiAoIXggfHwgIU51bWJlci5pc0Zpbml0ZSh4KSkge1xuICAgIHggPSAxO1xuICB9XG4gIGlmICgheSB8fCAhTnVtYmVyLmlzRmluaXRlKHkpKSB7XG4gICAgeSA9IDE7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuY29uc3Qgbm9PZmZzZXRzID0gLyojX19QVVJFX18qL2NyZWF0ZUNvb3JkcygwKTtcbmZ1bmN0aW9uIGdldFZpc3VhbE9mZnNldHMoZWxlbWVudCkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGlmICghaXNXZWJLaXQoKSB8fCAhd2luLnZpc3VhbFZpZXdwb3J0KSB7XG4gICAgcmV0dXJuIG5vT2Zmc2V0cztcbiAgfVxuICByZXR1cm4ge1xuICAgIHg6IHdpbi52aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0LFxuICAgIHk6IHdpbi52aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3BcbiAgfTtcbn1cbmZ1bmN0aW9uIHNob3VsZEFkZFZpc3VhbE9mZnNldHMoZWxlbWVudCwgaXNGaXhlZCwgZmxvYXRpbmdPZmZzZXRQYXJlbnQpIHtcbiAgaWYgKGlzRml4ZWQgPT09IHZvaWQgMCkge1xuICAgIGlzRml4ZWQgPSBmYWxzZTtcbiAgfVxuICBpZiAoIWZsb2F0aW5nT2Zmc2V0UGFyZW50IHx8IGlzRml4ZWQgJiYgZmxvYXRpbmdPZmZzZXRQYXJlbnQgIT09IGdldFdpbmRvdyhlbGVtZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gaXNGaXhlZDtcbn1cblxuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIGluY2x1ZGVTY2FsZSwgaXNGaXhlZFN0cmF0ZWd5LCBvZmZzZXRQYXJlbnQpIHtcbiAgaWYgKGluY2x1ZGVTY2FsZSA9PT0gdm9pZCAwKSB7XG4gICAgaW5jbHVkZVNjYWxlID0gZmFsc2U7XG4gIH1cbiAgaWYgKGlzRml4ZWRTdHJhdGVneSA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZFN0cmF0ZWd5ID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgY2xpZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGRvbUVsZW1lbnQgPSB1bndyYXBFbGVtZW50KGVsZW1lbnQpO1xuICBsZXQgc2NhbGUgPSBjcmVhdGVDb29yZHMoMSk7XG4gIGlmIChpbmNsdWRlU2NhbGUpIHtcbiAgICBpZiAob2Zmc2V0UGFyZW50KSB7XG4gICAgICBpZiAoaXNFbGVtZW50KG9mZnNldFBhcmVudCkpIHtcbiAgICAgICAgc2NhbGUgPSBnZXRTY2FsZShvZmZzZXRQYXJlbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY2FsZSA9IGdldFNjYWxlKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBjb25zdCB2aXN1YWxPZmZzZXRzID0gc2hvdWxkQWRkVmlzdWFsT2Zmc2V0cyhkb21FbGVtZW50LCBpc0ZpeGVkU3RyYXRlZ3ksIG9mZnNldFBhcmVudCkgPyBnZXRWaXN1YWxPZmZzZXRzKGRvbUVsZW1lbnQpIDogY3JlYXRlQ29vcmRzKDApO1xuICBsZXQgeCA9IChjbGllbnRSZWN0LmxlZnQgKyB2aXN1YWxPZmZzZXRzLngpIC8gc2NhbGUueDtcbiAgbGV0IHkgPSAoY2xpZW50UmVjdC50b3AgKyB2aXN1YWxPZmZzZXRzLnkpIC8gc2NhbGUueTtcbiAgbGV0IHdpZHRoID0gY2xpZW50UmVjdC53aWR0aCAvIHNjYWxlLng7XG4gIGxldCBoZWlnaHQgPSBjbGllbnRSZWN0LmhlaWdodCAvIHNjYWxlLnk7XG4gIGlmIChkb21FbGVtZW50KSB7XG4gICAgY29uc3Qgd2luID0gZ2V0V2luZG93KGRvbUVsZW1lbnQpO1xuICAgIGNvbnN0IG9mZnNldFdpbiA9IG9mZnNldFBhcmVudCAmJiBpc0VsZW1lbnQob2Zmc2V0UGFyZW50KSA/IGdldFdpbmRvdyhvZmZzZXRQYXJlbnQpIDogb2Zmc2V0UGFyZW50O1xuICAgIGxldCBjdXJyZW50V2luID0gd2luO1xuICAgIGxldCBjdXJyZW50SUZyYW1lID0gZ2V0RnJhbWVFbGVtZW50KGN1cnJlbnRXaW4pO1xuICAgIHdoaWxlIChjdXJyZW50SUZyYW1lICYmIG9mZnNldFBhcmVudCAmJiBvZmZzZXRXaW4gIT09IGN1cnJlbnRXaW4pIHtcbiAgICAgIGNvbnN0IGlmcmFtZVNjYWxlID0gZ2V0U2NhbGUoY3VycmVudElGcmFtZSk7XG4gICAgICBjb25zdCBpZnJhbWVSZWN0ID0gY3VycmVudElGcmFtZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGNzcyA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudElGcmFtZSk7XG4gICAgICBjb25zdCBsZWZ0ID0gaWZyYW1lUmVjdC5sZWZ0ICsgKGN1cnJlbnRJRnJhbWUuY2xpZW50TGVmdCArIHBhcnNlRmxvYXQoY3NzLnBhZGRpbmdMZWZ0KSkgKiBpZnJhbWVTY2FsZS54O1xuICAgICAgY29uc3QgdG9wID0gaWZyYW1lUmVjdC50b3AgKyAoY3VycmVudElGcmFtZS5jbGllbnRUb3AgKyBwYXJzZUZsb2F0KGNzcy5wYWRkaW5nVG9wKSkgKiBpZnJhbWVTY2FsZS55O1xuICAgICAgeCAqPSBpZnJhbWVTY2FsZS54O1xuICAgICAgeSAqPSBpZnJhbWVTY2FsZS55O1xuICAgICAgd2lkdGggKj0gaWZyYW1lU2NhbGUueDtcbiAgICAgIGhlaWdodCAqPSBpZnJhbWVTY2FsZS55O1xuICAgICAgeCArPSBsZWZ0O1xuICAgICAgeSArPSB0b3A7XG4gICAgICBjdXJyZW50V2luID0gZ2V0V2luZG93KGN1cnJlbnRJRnJhbWUpO1xuICAgICAgY3VycmVudElGcmFtZSA9IGdldEZyYW1lRWxlbWVudChjdXJyZW50V2luKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlY3RUb0NsaWVudFJlY3Qoe1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KF9yZWYpIHtcbiAgbGV0IHtcbiAgICBlbGVtZW50cyxcbiAgICByZWN0LFxuICAgIG9mZnNldFBhcmVudCxcbiAgICBzdHJhdGVneVxuICB9ID0gX3JlZjtcbiAgY29uc3QgaXNGaXhlZCA9IHN0cmF0ZWd5ID09PSAnZml4ZWQnO1xuICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSBnZXREb2N1bWVudEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgY29uc3QgdG9wTGF5ZXIgPSBlbGVtZW50cyA/IGlzVG9wTGF5ZXIoZWxlbWVudHMuZmxvYXRpbmcpIDogZmFsc2U7XG4gIGlmIChvZmZzZXRQYXJlbnQgPT09IGRvY3VtZW50RWxlbWVudCB8fCB0b3BMYXllciAmJiBpc0ZpeGVkKSB7XG4gICAgcmV0dXJuIHJlY3Q7XG4gIH1cbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBsZXQgc2NhbGUgPSBjcmVhdGVDb29yZHMoMSk7XG4gIGNvbnN0IG9mZnNldHMgPSBjcmVhdGVDb29yZHMoMCk7XG4gIGNvbnN0IGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCBpc092ZXJmbG93RWxlbWVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuICAgIGlmIChpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCkpIHtcbiAgICAgIGNvbnN0IG9mZnNldFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qob2Zmc2V0UGFyZW50KTtcbiAgICAgIHNjYWxlID0gZ2V0U2NhbGUob2Zmc2V0UGFyZW50KTtcbiAgICAgIG9mZnNldHMueCA9IG9mZnNldFJlY3QueCArIG9mZnNldFBhcmVudC5jbGllbnRMZWZ0O1xuICAgICAgb2Zmc2V0cy55ID0gb2Zmc2V0UmVjdC55ICsgb2Zmc2V0UGFyZW50LmNsaWVudFRvcDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogcmVjdC53aWR0aCAqIHNjYWxlLngsXG4gICAgaGVpZ2h0OiByZWN0LmhlaWdodCAqIHNjYWxlLnksXG4gICAgeDogcmVjdC54ICogc2NhbGUueCAtIHNjcm9sbC5zY3JvbGxMZWZ0ICogc2NhbGUueCArIG9mZnNldHMueCxcbiAgICB5OiByZWN0LnkgKiBzY2FsZS55IC0gc2Nyb2xsLnNjcm9sbFRvcCAqIHNjYWxlLnkgKyBvZmZzZXRzLnlcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2xpZW50UmVjdHMoZWxlbWVudCkge1xuICByZXR1cm4gQXJyYXkuZnJvbShlbGVtZW50LmdldENsaWVudFJlY3RzKCkpO1xufVxuXG4vLyBJZiA8aHRtbD4gaGFzIGEgQ1NTIHdpZHRoIGdyZWF0ZXIgdGhhbiB0aGUgdmlld3BvcnQsIHRoZW4gdGhpcyB3aWxsIGJlXG4vLyBpbmNvcnJlY3QgZm9yIFJUTC5cbmZ1bmN0aW9uIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCwgcmVjdCkge1xuICBjb25zdCBsZWZ0U2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChlbGVtZW50KS5zY3JvbGxMZWZ0O1xuICBpZiAoIXJlY3QpIHtcbiAgICByZXR1cm4gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSkubGVmdCArIGxlZnRTY3JvbGw7XG4gIH1cbiAgcmV0dXJuIHJlY3QubGVmdCArIGxlZnRTY3JvbGw7XG59XG5cbi8vIEdldHMgdGhlIGVudGlyZSBzaXplIG9mIHRoZSBzY3JvbGxhYmxlIGRvY3VtZW50IGFyZWEsIGV2ZW4gZXh0ZW5kaW5nIG91dHNpZGVcbi8vIG9mIHRoZSBgPGh0bWw+YCBhbmQgYDxib2R5PmAgcmVjdCBib3VuZHMgaWYgaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUuXG5mdW5jdGlvbiBnZXREb2N1bWVudFJlY3QoZWxlbWVudCkge1xuICBjb25zdCBodG1sID0gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpO1xuICBjb25zdCBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKGVsZW1lbnQpO1xuICBjb25zdCBib2R5ID0gZWxlbWVudC5vd25lckRvY3VtZW50LmJvZHk7XG4gIGNvbnN0IHdpZHRoID0gbWF4KGh0bWwuc2Nyb2xsV2lkdGgsIGh0bWwuY2xpZW50V2lkdGgsIGJvZHkuc2Nyb2xsV2lkdGgsIGJvZHkuY2xpZW50V2lkdGgpO1xuICBjb25zdCBoZWlnaHQgPSBtYXgoaHRtbC5zY3JvbGxIZWlnaHQsIGh0bWwuY2xpZW50SGVpZ2h0LCBib2R5LnNjcm9sbEhlaWdodCwgYm9keS5jbGllbnRIZWlnaHQpO1xuICBsZXQgeCA9IC1zY3JvbGwuc2Nyb2xsTGVmdCArIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCk7XG4gIGNvbnN0IHkgPSAtc2Nyb2xsLnNjcm9sbFRvcDtcbiAgaWYgKGdldENvbXB1dGVkU3R5bGUoYm9keSkuZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgIHggKz0gbWF4KGh0bWwuY2xpZW50V2lkdGgsIGJvZHkuY2xpZW50V2lkdGgpIC0gd2lkdGg7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgeCxcbiAgICB5XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFZpZXdwb3J0UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGNvbnN0IGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IHZpc3VhbFZpZXdwb3J0ID0gd2luLnZpc3VhbFZpZXdwb3J0O1xuICBsZXQgd2lkdGggPSBodG1sLmNsaWVudFdpZHRoO1xuICBsZXQgaGVpZ2h0ID0gaHRtbC5jbGllbnRIZWlnaHQ7XG4gIGxldCB4ID0gMDtcbiAgbGV0IHkgPSAwO1xuICBpZiAodmlzdWFsVmlld3BvcnQpIHtcbiAgICB3aWR0aCA9IHZpc3VhbFZpZXdwb3J0LndpZHRoO1xuICAgIGhlaWdodCA9IHZpc3VhbFZpZXdwb3J0LmhlaWdodDtcbiAgICBjb25zdCB2aXN1YWxWaWV3cG9ydEJhc2VkID0gaXNXZWJLaXQoKTtcbiAgICBpZiAoIXZpc3VhbFZpZXdwb3J0QmFzZWQgfHwgdmlzdWFsVmlld3BvcnRCYXNlZCAmJiBzdHJhdGVneSA9PT0gJ2ZpeGVkJykge1xuICAgICAgeCA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQ7XG4gICAgICB5ID0gdmlzdWFsVmlld3BvcnQub2Zmc2V0VG9wO1xuICAgIH1cbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuLy8gUmV0dXJucyB0aGUgaW5uZXIgY2xpZW50IHJlY3QsIHN1YnRyYWN0aW5nIHNjcm9sbGJhcnMgaWYgcHJlc2VudC5cbmZ1bmN0aW9uIGdldElubmVyQm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSB7XG4gIGNvbnN0IGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgc3RyYXRlZ3kgPT09ICdmaXhlZCcpO1xuICBjb25zdCB0b3AgPSBjbGllbnRSZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50VG9wO1xuICBjb25zdCBsZWZ0ID0gY2xpZW50UmVjdC5sZWZ0ICsgZWxlbWVudC5jbGllbnRMZWZ0O1xuICBjb25zdCBzY2FsZSA9IGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgPyBnZXRTY2FsZShlbGVtZW50KSA6IGNyZWF0ZUNvb3JkcygxKTtcbiAgY29uc3Qgd2lkdGggPSBlbGVtZW50LmNsaWVudFdpZHRoICogc2NhbGUueDtcbiAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQgKiBzY2FsZS55O1xuICBjb25zdCB4ID0gbGVmdCAqIHNjYWxlLng7XG4gIGNvbnN0IHkgPSB0b3AgKiBzY2FsZS55O1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldENsaWVudFJlY3RGcm9tQ2xpcHBpbmdBbmNlc3RvcihlbGVtZW50LCBjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkge1xuICBsZXQgcmVjdDtcbiAgaWYgKGNsaXBwaW5nQW5jZXN0b3IgPT09ICd2aWV3cG9ydCcpIHtcbiAgICByZWN0ID0gZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KTtcbiAgfSBlbHNlIGlmIChjbGlwcGluZ0FuY2VzdG9yID09PSAnZG9jdW1lbnQnKSB7XG4gICAgcmVjdCA9IGdldERvY3VtZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpO1xuICB9IGVsc2UgaWYgKGlzRWxlbWVudChjbGlwcGluZ0FuY2VzdG9yKSkge1xuICAgIHJlY3QgPSBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmlzdWFsT2Zmc2V0cyA9IGdldFZpc3VhbE9mZnNldHMoZWxlbWVudCk7XG4gICAgcmVjdCA9IHtcbiAgICAgIC4uLmNsaXBwaW5nQW5jZXN0b3IsXG4gICAgICB4OiBjbGlwcGluZ0FuY2VzdG9yLnggLSB2aXN1YWxPZmZzZXRzLngsXG4gICAgICB5OiBjbGlwcGluZ0FuY2VzdG9yLnkgLSB2aXN1YWxPZmZzZXRzLnlcbiAgICB9O1xuICB9XG4gIHJldHVybiByZWN0VG9DbGllbnRSZWN0KHJlY3QpO1xufVxuZnVuY3Rpb24gaGFzRml4ZWRQb3NpdGlvbkFuY2VzdG9yKGVsZW1lbnQsIHN0b3BOb2RlKSB7XG4gIGNvbnN0IHBhcmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuICBpZiAocGFyZW50Tm9kZSA9PT0gc3RvcE5vZGUgfHwgIWlzRWxlbWVudChwYXJlbnROb2RlKSB8fCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUocGFyZW50Tm9kZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUocGFyZW50Tm9kZSkucG9zaXRpb24gPT09ICdmaXhlZCcgfHwgaGFzRml4ZWRQb3NpdGlvbkFuY2VzdG9yKHBhcmVudE5vZGUsIHN0b3BOb2RlKTtcbn1cblxuLy8gQSBcImNsaXBwaW5nIGFuY2VzdG9yXCIgaXMgYW4gYG92ZXJmbG93YCBlbGVtZW50IHdpdGggdGhlIGNoYXJhY3RlcmlzdGljIG9mXG4vLyBjbGlwcGluZyAob3IgaGlkaW5nKSBjaGlsZCBlbGVtZW50cy4gVGhpcyByZXR1cm5zIGFsbCBjbGlwcGluZyBhbmNlc3RvcnNcbi8vIG9mIHRoZSBnaXZlbiBlbGVtZW50IHVwIHRoZSB0cmVlLlxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdFbGVtZW50QW5jZXN0b3JzKGVsZW1lbnQsIGNhY2hlKSB7XG4gIGNvbnN0IGNhY2hlZFJlc3VsdCA9IGNhY2hlLmdldChlbGVtZW50KTtcbiAgaWYgKGNhY2hlZFJlc3VsdCkge1xuICAgIHJldHVybiBjYWNoZWRSZXN1bHQ7XG4gIH1cbiAgbGV0IHJlc3VsdCA9IGdldE92ZXJmbG93QW5jZXN0b3JzKGVsZW1lbnQsIFtdLCBmYWxzZSkuZmlsdGVyKGVsID0+IGlzRWxlbWVudChlbCkgJiYgZ2V0Tm9kZU5hbWUoZWwpICE9PSAnYm9keScpO1xuICBsZXQgY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUgPSBudWxsO1xuICBjb25zdCBlbGVtZW50SXNGaXhlZCA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24gPT09ICdmaXhlZCc7XG4gIGxldCBjdXJyZW50Tm9kZSA9IGVsZW1lbnRJc0ZpeGVkID8gZ2V0UGFyZW50Tm9kZShlbGVtZW50KSA6IGVsZW1lbnQ7XG5cbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0NvbnRhaW5pbmdfYmxvY2sjaWRlbnRpZnlpbmdfdGhlX2NvbnRhaW5pbmdfYmxvY2tcbiAgd2hpbGUgKGlzRWxlbWVudChjdXJyZW50Tm9kZSkgJiYgIWlzTGFzdFRyYXZlcnNhYmxlTm9kZShjdXJyZW50Tm9kZSkpIHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50Tm9kZSk7XG4gICAgY29uc3QgY3VycmVudE5vZGVJc0NvbnRhaW5pbmcgPSBpc0NvbnRhaW5pbmdCbG9jayhjdXJyZW50Tm9kZSk7XG4gICAgaWYgKCFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBjb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgICBjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSA9IG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHNob3VsZERyb3BDdXJyZW50Tm9kZSA9IGVsZW1lbnRJc0ZpeGVkID8gIWN1cnJlbnROb2RlSXNDb250YWluaW5nICYmICFjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSA6ICFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBjb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnc3RhdGljJyAmJiAhIWN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlICYmIFsnYWJzb2x1dGUnLCAnZml4ZWQnXS5pbmNsdWRlcyhjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZS5wb3NpdGlvbikgfHwgaXNPdmVyZmxvd0VsZW1lbnQoY3VycmVudE5vZGUpICYmICFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiBoYXNGaXhlZFBvc2l0aW9uQW5jZXN0b3IoZWxlbWVudCwgY3VycmVudE5vZGUpO1xuICAgIGlmIChzaG91bGREcm9wQ3VycmVudE5vZGUpIHtcbiAgICAgIC8vIERyb3Agbm9uLWNvbnRhaW5pbmcgYmxvY2tzLlxuICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihhbmNlc3RvciA9PiBhbmNlc3RvciAhPT0gY3VycmVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZWNvcmQgbGFzdCBjb250YWluaW5nIGJsb2NrIGZvciBuZXh0IGl0ZXJhdGlvbi5cbiAgICAgIGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlID0gY29tcHV0ZWRTdHlsZTtcbiAgICB9XG4gICAgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGN1cnJlbnROb2RlKTtcbiAgfVxuICBjYWNoZS5zZXQoZWxlbWVudCwgcmVzdWx0KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gR2V0cyB0aGUgbWF4aW11bSBhcmVhIHRoYXQgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiBkdWUgdG8gYW55IG51bWJlciBvZlxuLy8gY2xpcHBpbmcgYW5jZXN0b3JzLlxuZnVuY3Rpb24gZ2V0Q2xpcHBpbmdSZWN0KF9yZWYpIHtcbiAgbGV0IHtcbiAgICBlbGVtZW50LFxuICAgIGJvdW5kYXJ5LFxuICAgIHJvb3RCb3VuZGFyeSxcbiAgICBzdHJhdGVneVxuICB9ID0gX3JlZjtcbiAgY29uc3QgZWxlbWVudENsaXBwaW5nQW5jZXN0b3JzID0gYm91bmRhcnkgPT09ICdjbGlwcGluZ0FuY2VzdG9ycycgPyBpc1RvcExheWVyKGVsZW1lbnQpID8gW10gOiBnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnMoZWxlbWVudCwgdGhpcy5fYykgOiBbXS5jb25jYXQoYm91bmRhcnkpO1xuICBjb25zdCBjbGlwcGluZ0FuY2VzdG9ycyA9IFsuLi5lbGVtZW50Q2xpcHBpbmdBbmNlc3RvcnMsIHJvb3RCb3VuZGFyeV07XG4gIGNvbnN0IGZpcnN0Q2xpcHBpbmdBbmNlc3RvciA9IGNsaXBwaW5nQW5jZXN0b3JzWzBdO1xuICBjb25zdCBjbGlwcGluZ1JlY3QgPSBjbGlwcGluZ0FuY2VzdG9ycy5yZWR1Y2UoKGFjY1JlY3QsIGNsaXBwaW5nQW5jZXN0b3IpID0+IHtcbiAgICBjb25zdCByZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21DbGlwcGluZ0FuY2VzdG9yKGVsZW1lbnQsIGNsaXBwaW5nQW5jZXN0b3IsIHN0cmF0ZWd5KTtcbiAgICBhY2NSZWN0LnRvcCA9IG1heChyZWN0LnRvcCwgYWNjUmVjdC50b3ApO1xuICAgIGFjY1JlY3QucmlnaHQgPSBtaW4ocmVjdC5yaWdodCwgYWNjUmVjdC5yaWdodCk7XG4gICAgYWNjUmVjdC5ib3R0b20gPSBtaW4ocmVjdC5ib3R0b20sIGFjY1JlY3QuYm90dG9tKTtcbiAgICBhY2NSZWN0LmxlZnQgPSBtYXgocmVjdC5sZWZ0LCBhY2NSZWN0LmxlZnQpO1xuICAgIHJldHVybiBhY2NSZWN0O1xuICB9LCBnZXRDbGllbnRSZWN0RnJvbUNsaXBwaW5nQW5jZXN0b3IoZWxlbWVudCwgZmlyc3RDbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSkpO1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiBjbGlwcGluZ1JlY3QucmlnaHQgLSBjbGlwcGluZ1JlY3QubGVmdCxcbiAgICBoZWlnaHQ6IGNsaXBwaW5nUmVjdC5ib3R0b20gLSBjbGlwcGluZ1JlY3QudG9wLFxuICAgIHg6IGNsaXBwaW5nUmVjdC5sZWZ0LFxuICAgIHk6IGNsaXBwaW5nUmVjdC50b3BcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCxcbiAgICBoZWlnaHRcbiAgfSA9IGdldENzc0RpbWVuc2lvbnMoZWxlbWVudCk7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFJlY3RSZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGVsZW1lbnQsIG9mZnNldFBhcmVudCwgc3RyYXRlZ3kpIHtcbiAgY29uc3QgaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgPSBpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIGNvbnN0IGRvY3VtZW50RWxlbWVudCA9IGdldERvY3VtZW50RWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBjb25zdCBpc0ZpeGVkID0gc3RyYXRlZ3kgPT09ICdmaXhlZCc7XG4gIGNvbnN0IHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgdHJ1ZSwgaXNGaXhlZCwgb2Zmc2V0UGFyZW50KTtcbiAgbGV0IHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICBjb25zdCBvZmZzZXRzID0gY3JlYXRlQ29vcmRzKDApO1xuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCBpc092ZXJmbG93RWxlbWVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuICAgIGlmIChpc09mZnNldFBhcmVudEFuRWxlbWVudCkge1xuICAgICAgY29uc3Qgb2Zmc2V0UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChvZmZzZXRQYXJlbnQsIHRydWUsIGlzRml4ZWQsIG9mZnNldFBhcmVudCk7XG4gICAgICBvZmZzZXRzLnggPSBvZmZzZXRSZWN0LnggKyBvZmZzZXRQYXJlbnQuY2xpZW50TGVmdDtcbiAgICAgIG9mZnNldHMueSA9IG9mZnNldFJlY3QueSArIG9mZnNldFBhcmVudC5jbGllbnRUb3A7XG4gICAgfSBlbHNlIGlmIChkb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIC8vIElmIHRoZSA8Ym9keT4gc2Nyb2xsYmFyIGFwcGVhcnMgb24gdGhlIGxlZnQgKGUuZy4gUlRMIHN5c3RlbXMpLiBVc2VcbiAgICAgIC8vIEZpcmVmb3ggd2l0aCBsYXlvdXQuc2Nyb2xsYmFyLnNpZGUgPSAzIGluIGFib3V0OmNvbmZpZyB0byB0ZXN0IHRoaXMuXG4gICAgICBvZmZzZXRzLnggPSBnZXRXaW5kb3dTY3JvbGxCYXJYKGRvY3VtZW50RWxlbWVudCk7XG4gICAgfVxuICB9XG4gIGxldCBodG1sWCA9IDA7XG4gIGxldCBodG1sWSA9IDA7XG4gIGlmIChkb2N1bWVudEVsZW1lbnQgJiYgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgY29uc3QgaHRtbFJlY3QgPSBkb2N1bWVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgaHRtbFkgPSBodG1sUmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wO1xuICAgIGh0bWxYID0gaHRtbFJlY3QubGVmdCArIHNjcm9sbC5zY3JvbGxMZWZ0IC1cbiAgICAvLyBSVEwgPGJvZHk+IHNjcm9sbGJhci5cbiAgICBnZXRXaW5kb3dTY3JvbGxCYXJYKGRvY3VtZW50RWxlbWVudCwgaHRtbFJlY3QpO1xuICB9XG4gIGNvbnN0IHggPSByZWN0LmxlZnQgKyBzY3JvbGwuc2Nyb2xsTGVmdCAtIG9mZnNldHMueCAtIGh0bWxYO1xuICBjb25zdCB5ID0gcmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wIC0gb2Zmc2V0cy55IC0gaHRtbFk7XG4gIHJldHVybiB7XG4gICAgeCxcbiAgICB5LFxuICAgIHdpZHRoOiByZWN0LndpZHRoLFxuICAgIGhlaWdodDogcmVjdC5oZWlnaHRcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNTdGF0aWNQb3NpdGlvbmVkKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnO1xufVxuXG5mdW5jdGlvbiBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQsIHBvbHlmaWxsKSB7XG4gIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKHBvbHlmaWxsKSB7XG4gICAgcmV0dXJuIHBvbHlmaWxsKGVsZW1lbnQpO1xuICB9XG4gIGxldCByYXdPZmZzZXRQYXJlbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudDtcblxuICAvLyBGaXJlZm94IHJldHVybnMgdGhlIDxodG1sPiBlbGVtZW50IGFzIHRoZSBvZmZzZXRQYXJlbnQgaWYgaXQncyBub24tc3RhdGljLFxuICAvLyB3aGlsZSBDaHJvbWUgYW5kIFNhZmFyaSByZXR1cm4gdGhlIDxib2R5PiBlbGVtZW50LiBUaGUgPGJvZHk+IGVsZW1lbnQgbXVzdFxuICAvLyBiZSB1c2VkIHRvIHBlcmZvcm0gdGhlIGNvcnJlY3QgY2FsY3VsYXRpb25zIGV2ZW4gaWYgdGhlIDxodG1sPiBlbGVtZW50IGlzXG4gIC8vIG5vbi1zdGF0aWMuXG4gIGlmIChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkgPT09IHJhd09mZnNldFBhcmVudCkge1xuICAgIHJhd09mZnNldFBhcmVudCA9IHJhd09mZnNldFBhcmVudC5vd25lckRvY3VtZW50LmJvZHk7XG4gIH1cbiAgcmV0dXJuIHJhd09mZnNldFBhcmVudDtcbn1cblxuLy8gR2V0cyB0aGUgY2xvc2VzdCBhbmNlc3RvciBwb3NpdGlvbmVkIGVsZW1lbnQuIEhhbmRsZXMgc29tZSBlZGdlIGNhc2VzLFxuLy8gc3VjaCBhcyB0YWJsZSBhbmNlc3RvcnMgYW5kIGNyb3NzIGJyb3dzZXIgYnVncy5cbmZ1bmN0aW9uIGdldE9mZnNldFBhcmVudChlbGVtZW50LCBwb2x5ZmlsbCkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGlmIChpc1RvcExheWVyKGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBsZXQgc3ZnT2Zmc2V0UGFyZW50ID0gZ2V0UGFyZW50Tm9kZShlbGVtZW50KTtcbiAgICB3aGlsZSAoc3ZnT2Zmc2V0UGFyZW50ICYmICFpc0xhc3RUcmF2ZXJzYWJsZU5vZGUoc3ZnT2Zmc2V0UGFyZW50KSkge1xuICAgICAgaWYgKGlzRWxlbWVudChzdmdPZmZzZXRQYXJlbnQpICYmICFpc1N0YXRpY1Bvc2l0aW9uZWQoc3ZnT2Zmc2V0UGFyZW50KSkge1xuICAgICAgICByZXR1cm4gc3ZnT2Zmc2V0UGFyZW50O1xuICAgICAgfVxuICAgICAgc3ZnT2Zmc2V0UGFyZW50ID0gZ2V0UGFyZW50Tm9kZShzdmdPZmZzZXRQYXJlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gd2luO1xuICB9XG4gIGxldCBvZmZzZXRQYXJlbnQgPSBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQsIHBvbHlmaWxsKTtcbiAgd2hpbGUgKG9mZnNldFBhcmVudCAmJiBpc1RhYmxlRWxlbWVudChvZmZzZXRQYXJlbnQpICYmIGlzU3RhdGljUG9zaXRpb25lZChvZmZzZXRQYXJlbnQpKSB7XG4gICAgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChvZmZzZXRQYXJlbnQsIHBvbHlmaWxsKTtcbiAgfVxuICBpZiAob2Zmc2V0UGFyZW50ICYmIGlzTGFzdFRyYXZlcnNhYmxlTm9kZShvZmZzZXRQYXJlbnQpICYmIGlzU3RhdGljUG9zaXRpb25lZChvZmZzZXRQYXJlbnQpICYmICFpc0NvbnRhaW5pbmdCbG9jayhvZmZzZXRQYXJlbnQpKSB7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuICByZXR1cm4gb2Zmc2V0UGFyZW50IHx8IGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB8fCB3aW47XG59XG5cbmNvbnN0IGdldEVsZW1lbnRSZWN0cyA9IGFzeW5jIGZ1bmN0aW9uIChkYXRhKSB7XG4gIGNvbnN0IGdldE9mZnNldFBhcmVudEZuID0gdGhpcy5nZXRPZmZzZXRQYXJlbnQgfHwgZ2V0T2Zmc2V0UGFyZW50O1xuICBjb25zdCBnZXREaW1lbnNpb25zRm4gPSB0aGlzLmdldERpbWVuc2lvbnM7XG4gIGNvbnN0IGZsb2F0aW5nRGltZW5zaW9ucyA9IGF3YWl0IGdldERpbWVuc2lvbnNGbihkYXRhLmZsb2F0aW5nKTtcbiAgcmV0dXJuIHtcbiAgICByZWZlcmVuY2U6IGdldFJlY3RSZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGRhdGEucmVmZXJlbmNlLCBhd2FpdCBnZXRPZmZzZXRQYXJlbnRGbihkYXRhLmZsb2F0aW5nKSwgZGF0YS5zdHJhdGVneSksXG4gICAgZmxvYXRpbmc6IHtcbiAgICAgIHg6IDAsXG4gICAgICB5OiAwLFxuICAgICAgd2lkdGg6IGZsb2F0aW5nRGltZW5zaW9ucy53aWR0aCxcbiAgICAgIGhlaWdodDogZmxvYXRpbmdEaW1lbnNpb25zLmhlaWdodFxuICAgIH1cbiAgfTtcbn07XG5cbmZ1bmN0aW9uIGlzUlRMKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZGlyZWN0aW9uID09PSAncnRsJztcbn1cblxuY29uc3QgcGxhdGZvcm0gPSB7XG4gIGNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0LFxuICBnZXREb2N1bWVudEVsZW1lbnQsXG4gIGdldENsaXBwaW5nUmVjdCxcbiAgZ2V0T2Zmc2V0UGFyZW50LFxuICBnZXRFbGVtZW50UmVjdHMsXG4gIGdldENsaWVudFJlY3RzLFxuICBnZXREaW1lbnNpb25zLFxuICBnZXRTY2FsZSxcbiAgaXNFbGVtZW50LFxuICBpc1JUTFxufTtcblxuLy8gaHR0cHM6Ly9zYW10aG9yLmF1LzIwMjEvb2JzZXJ2aW5nLWRvbS9cbmZ1bmN0aW9uIG9ic2VydmVNb3ZlKGVsZW1lbnQsIG9uTW92ZSkge1xuICBsZXQgaW8gPSBudWxsO1xuICBsZXQgdGltZW91dElkO1xuICBjb25zdCByb290ID0gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpO1xuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIHZhciBfaW87XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgKF9pbyA9IGlvKSA9PSBudWxsIHx8IF9pby5kaXNjb25uZWN0KCk7XG4gICAgaW8gPSBudWxsO1xuICB9XG4gIGZ1bmN0aW9uIHJlZnJlc2goc2tpcCwgdGhyZXNob2xkKSB7XG4gICAgaWYgKHNraXAgPT09IHZvaWQgMCkge1xuICAgICAgc2tpcCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhyZXNob2xkID09PSB2b2lkIDApIHtcbiAgICAgIHRocmVzaG9sZCA9IDE7XG4gICAgfVxuICAgIGNsZWFudXAoKTtcbiAgICBjb25zdCB7XG4gICAgICBsZWZ0LFxuICAgICAgdG9wLFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICB9ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAoIXNraXApIHtcbiAgICAgIG9uTW92ZSgpO1xuICAgIH1cbiAgICBpZiAoIXdpZHRoIHx8ICFoZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaW5zZXRUb3AgPSBmbG9vcih0b3ApO1xuICAgIGNvbnN0IGluc2V0UmlnaHQgPSBmbG9vcihyb290LmNsaWVudFdpZHRoIC0gKGxlZnQgKyB3aWR0aCkpO1xuICAgIGNvbnN0IGluc2V0Qm90dG9tID0gZmxvb3Iocm9vdC5jbGllbnRIZWlnaHQgLSAodG9wICsgaGVpZ2h0KSk7XG4gICAgY29uc3QgaW5zZXRMZWZ0ID0gZmxvb3IobGVmdCk7XG4gICAgY29uc3Qgcm9vdE1hcmdpbiA9IC1pbnNldFRvcCArIFwicHggXCIgKyAtaW5zZXRSaWdodCArIFwicHggXCIgKyAtaW5zZXRCb3R0b20gKyBcInB4IFwiICsgLWluc2V0TGVmdCArIFwicHhcIjtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcm9vdE1hcmdpbixcbiAgICAgIHRocmVzaG9sZDogbWF4KDAsIG1pbigxLCB0aHJlc2hvbGQpKSB8fCAxXG4gICAgfTtcbiAgICBsZXQgaXNGaXJzdFVwZGF0ZSA9IHRydWU7XG4gICAgZnVuY3Rpb24gaGFuZGxlT2JzZXJ2ZShlbnRyaWVzKSB7XG4gICAgICBjb25zdCByYXRpbyA9IGVudHJpZXNbMF0uaW50ZXJzZWN0aW9uUmF0aW87XG4gICAgICBpZiAocmF0aW8gIT09IHRocmVzaG9sZCkge1xuICAgICAgICBpZiAoIWlzRmlyc3RVcGRhdGUpIHtcbiAgICAgICAgICByZXR1cm4gcmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmF0aW8pIHtcbiAgICAgICAgICAvLyBJZiB0aGUgcmVmZXJlbmNlIGlzIGNsaXBwZWQsIHRoZSByYXRpbyBpcyAwLiBUaHJvdHRsZSB0aGUgcmVmcmVzaFxuICAgICAgICAgIC8vIHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCBvZiB1cGRhdGVzLlxuICAgICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgcmVmcmVzaChmYWxzZSwgMWUtNyk7XG4gICAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmcmVzaChmYWxzZSwgcmF0aW8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpc0ZpcnN0VXBkYXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gT2xkZXIgYnJvd3NlcnMgZG9uJ3Qgc3VwcG9ydCBhIGBkb2N1bWVudGAgYXMgdGhlIHJvb3QgYW5kIHdpbGwgdGhyb3cgYW5cbiAgICAvLyBlcnJvci5cbiAgICB0cnkge1xuICAgICAgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoaGFuZGxlT2JzZXJ2ZSwge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAvLyBIYW5kbGUgPGlmcmFtZT5zXG4gICAgICAgIHJvb3Q6IHJvb3Qub3duZXJEb2N1bWVudFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoaGFuZGxlT2JzZXJ2ZSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGlvLm9ic2VydmUoZWxlbWVudCk7XG4gIH1cbiAgcmVmcmVzaCh0cnVlKTtcbiAgcmV0dXJuIGNsZWFudXA7XG59XG5cbi8qKlxuICogQXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCB3aGVuIG5lY2Vzc2FyeS5cbiAqIFNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzIG1vdW50ZWQgb24gdGhlIERPTSBvclxuICogdmlzaWJsZSBvbiB0aGUgc2NyZWVuLlxuICogQHJldHVybnMgY2xlYW51cCBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBpbnZva2VkIHdoZW4gdGhlIGZsb2F0aW5nIGVsZW1lbnQgaXNcbiAqIHJlbW92ZWQgZnJvbSB0aGUgRE9NIG9yIGhpZGRlbiBmcm9tIHRoZSBzY3JlZW4uXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1VwZGF0ZVxuICovXG5mdW5jdGlvbiBhdXRvVXBkYXRlKHJlZmVyZW5jZSwgZmxvYXRpbmcsIHVwZGF0ZSwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICBhbmNlc3RvclNjcm9sbCA9IHRydWUsXG4gICAgYW5jZXN0b3JSZXNpemUgPSB0cnVlLFxuICAgIGVsZW1lbnRSZXNpemUgPSB0eXBlb2YgUmVzaXplT2JzZXJ2ZXIgPT09ICdmdW5jdGlvbicsXG4gICAgbGF5b3V0U2hpZnQgPSB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPT09ICdmdW5jdGlvbicsXG4gICAgYW5pbWF0aW9uRnJhbWUgPSBmYWxzZVxuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgcmVmZXJlbmNlRWwgPSB1bndyYXBFbGVtZW50KHJlZmVyZW5jZSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGFuY2VzdG9yU2Nyb2xsIHx8IGFuY2VzdG9yUmVzaXplID8gWy4uLihyZWZlcmVuY2VFbCA/IGdldE92ZXJmbG93QW5jZXN0b3JzKHJlZmVyZW5jZUVsKSA6IFtdKSwgLi4uZ2V0T3ZlcmZsb3dBbmNlc3RvcnMoZmxvYXRpbmcpXSA6IFtdO1xuICBhbmNlc3RvcnMuZm9yRWFjaChhbmNlc3RvciA9PiB7XG4gICAgYW5jZXN0b3JTY3JvbGwgJiYgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdXBkYXRlLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlXG4gICAgfSk7XG4gICAgYW5jZXN0b3JSZXNpemUgJiYgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKTtcbiAgfSk7XG4gIGNvbnN0IGNsZWFudXBJbyA9IHJlZmVyZW5jZUVsICYmIGxheW91dFNoaWZ0ID8gb2JzZXJ2ZU1vdmUocmVmZXJlbmNlRWwsIHVwZGF0ZSkgOiBudWxsO1xuICBsZXQgcmVvYnNlcnZlRnJhbWUgPSAtMTtcbiAgbGV0IHJlc2l6ZU9ic2VydmVyID0gbnVsbDtcbiAgaWYgKGVsZW1lbnRSZXNpemUpIHtcbiAgICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihfcmVmID0+IHtcbiAgICAgIGxldCBbZmlyc3RFbnRyeV0gPSBfcmVmO1xuICAgICAgaWYgKGZpcnN0RW50cnkgJiYgZmlyc3RFbnRyeS50YXJnZXQgPT09IHJlZmVyZW5jZUVsICYmIHJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICAgIC8vIFByZXZlbnQgdXBkYXRlIGxvb3BzIHdoZW4gdXNpbmcgdGhlIGBzaXplYCBtaWRkbGV3YXJlLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzE3NDBcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmVvYnNlcnZlRnJhbWUpO1xuICAgICAgICByZW9ic2VydmVGcmFtZSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgdmFyIF9yZXNpemVPYnNlcnZlcjtcbiAgICAgICAgICAoX3Jlc2l6ZU9ic2VydmVyID0gcmVzaXplT2JzZXJ2ZXIpID09IG51bGwgfHwgX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoZmxvYXRpbmcpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHVwZGF0ZSgpO1xuICAgIH0pO1xuICAgIGlmIChyZWZlcmVuY2VFbCAmJiAhYW5pbWF0aW9uRnJhbWUpIHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUocmVmZXJlbmNlRWwpO1xuICAgIH1cbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgfVxuICBsZXQgZnJhbWVJZDtcbiAgbGV0IHByZXZSZWZSZWN0ID0gYW5pbWF0aW9uRnJhbWUgPyBnZXRCb3VuZGluZ0NsaWVudFJlY3QocmVmZXJlbmNlKSA6IG51bGw7XG4gIGlmIChhbmltYXRpb25GcmFtZSkge1xuICAgIGZyYW1lTG9vcCgpO1xuICB9XG4gIGZ1bmN0aW9uIGZyYW1lTG9vcCgpIHtcbiAgICBjb25zdCBuZXh0UmVmUmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChyZWZlcmVuY2UpO1xuICAgIGlmIChwcmV2UmVmUmVjdCAmJiAobmV4dFJlZlJlY3QueCAhPT0gcHJldlJlZlJlY3QueCB8fCBuZXh0UmVmUmVjdC55ICE9PSBwcmV2UmVmUmVjdC55IHx8IG5leHRSZWZSZWN0LndpZHRoICE9PSBwcmV2UmVmUmVjdC53aWR0aCB8fCBuZXh0UmVmUmVjdC5oZWlnaHQgIT09IHByZXZSZWZSZWN0LmhlaWdodCkpIHtcbiAgICAgIHVwZGF0ZSgpO1xuICAgIH1cbiAgICBwcmV2UmVmUmVjdCA9IG5leHRSZWZSZWN0O1xuICAgIGZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnJhbWVMb29wKTtcbiAgfVxuICB1cGRhdGUoKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICB2YXIgX3Jlc2l6ZU9ic2VydmVyMjtcbiAgICBhbmNlc3RvcnMuZm9yRWFjaChhbmNlc3RvciA9PiB7XG4gICAgICBhbmNlc3RvclNjcm9sbCAmJiBhbmNlc3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB1cGRhdGUpO1xuICAgICAgYW5jZXN0b3JSZXNpemUgJiYgYW5jZXN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKTtcbiAgICB9KTtcbiAgICBjbGVhbnVwSW8gPT0gbnVsbCB8fCBjbGVhbnVwSW8oKTtcbiAgICAoX3Jlc2l6ZU9ic2VydmVyMiA9IHJlc2l6ZU9ic2VydmVyKSA9PSBudWxsIHx8IF9yZXNpemVPYnNlcnZlcjIuZGlzY29ubmVjdCgpO1xuICAgIHJlc2l6ZU9ic2VydmVyID0gbnVsbDtcbiAgICBpZiAoYW5pbWF0aW9uRnJhbWUpIHtcbiAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lSWQpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB3aXRoIGFuIG9iamVjdCBvZiBvdmVyZmxvdyBzaWRlIG9mZnNldHMgdGhhdCBkZXRlcm1pbmUgaG93IG11Y2ggdGhlXG4gKiBlbGVtZW50IGlzIG92ZXJmbG93aW5nIGEgZ2l2ZW4gY2xpcHBpbmcgYm91bmRhcnkgb24gZWFjaCBzaWRlLlxuICogLSBwb3NpdGl2ZSA9IG92ZXJmbG93aW5nIHRoZSBib3VuZGFyeSBieSB0aGF0IG51bWJlciBvZiBwaXhlbHNcbiAqIC0gbmVnYXRpdmUgPSBob3cgbWFueSBwaXhlbHMgbGVmdCBiZWZvcmUgaXQgd2lsbCBvdmVyZmxvd1xuICogLSAwID0gbGllcyBmbHVzaCB3aXRoIHRoZSBib3VuZGFyeVxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2RldGVjdE92ZXJmbG93XG4gKi9cbmNvbnN0IGRldGVjdE92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3ckMTtcblxuLyoqXG4gKiBNb2RpZmllcyB0aGUgcGxhY2VtZW50IGJ5IHRyYW5zbGF0aW5nIHRoZSBmbG9hdGluZyBlbGVtZW50IGFsb25nIHRoZVxuICogc3BlY2lmaWVkIGF4ZXMuXG4gKiBBIG51bWJlciAoc2hvcnRoYW5kIGZvciBgbWFpbkF4aXNgIG9yIGRpc3RhbmNlKSwgb3IgYW4gYXhlcyBjb25maWd1cmF0aW9uXG4gKiBvYmplY3QgbWF5IGJlIHBhc3NlZC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9vZmZzZXRcbiAqL1xuY29uc3Qgb2Zmc2V0ID0gb2Zmc2V0JDE7XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGNob29zaW5nIHRoZSBwbGFjZW1lbnRcbiAqIHRoYXQgaGFzIHRoZSBtb3N0IHNwYWNlIGF2YWlsYWJsZSBhdXRvbWF0aWNhbGx5LCB3aXRob3V0IG5lZWRpbmcgdG8gc3BlY2lmeSBhXG4gKiBwcmVmZXJyZWQgcGxhY2VtZW50LiBBbHRlcm5hdGl2ZSB0byBgZmxpcGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1BsYWNlbWVudFxuICovXG5jb25zdCBhdXRvUGxhY2VtZW50ID0gYXV0b1BsYWNlbWVudCQxO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBzaGlmdGluZyBpdCBpbiBvcmRlciB0b1xuICoga2VlcCBpdCBpbiB2aWV3IHdoZW4gaXQgd2lsbCBvdmVyZmxvdyB0aGUgY2xpcHBpbmcgYm91bmRhcnkuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvc2hpZnRcbiAqL1xuY29uc3Qgc2hpZnQgPSBzaGlmdCQxO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBmbGlwcGluZyB0aGUgYHBsYWNlbWVudGBcbiAqIGluIG9yZGVyIHRvIGtlZXAgaXQgaW4gdmlldyB3aGVuIHRoZSBwcmVmZXJyZWQgcGxhY2VtZW50KHMpIHdpbGwgb3ZlcmZsb3cgdGhlXG4gKiBjbGlwcGluZyBib3VuZGFyeS4gQWx0ZXJuYXRpdmUgdG8gYGF1dG9QbGFjZW1lbnRgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2ZsaXBcbiAqL1xuY29uc3QgZmxpcCA9IGZsaXAkMTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRoYXQgYWxsb3dzIHlvdSB0byBjaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgXHUyMDE0XG4gKiBmb3IgaW5zdGFuY2UsIHByZXZlbnQgaXQgZnJvbSBvdmVyZmxvd2luZyB0aGUgY2xpcHBpbmcgYm91bmRhcnkgb3IgbWF0Y2ggdGhlXG4gKiB3aWR0aCBvZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvc2l6ZVxuICovXG5jb25zdCBzaXplID0gc2l6ZSQxO1xuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdG8gaGlkZSB0aGUgZmxvYXRpbmcgZWxlbWVudCBpbiBhcHBsaWNhYmxlIHNpdHVhdGlvbnMsIHN1Y2ggYXNcbiAqIHdoZW4gaXQgaXMgbm90IGluIHRoZSBzYW1lIGNsaXBwaW5nIGNvbnRleHQgYXMgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2hpZGVcbiAqL1xuY29uc3QgaGlkZSA9IGhpZGUkMTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIHBvc2l0aW9uIGFuIGlubmVyIGVsZW1lbnQgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgc28gdGhhdCBpdFxuICogYXBwZWFycyBjZW50ZXJlZCB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXJyb3dcbiAqL1xuY29uc3QgYXJyb3cgPSBhcnJvdyQxO1xuXG4vKipcbiAqIFByb3ZpZGVzIGltcHJvdmVkIHBvc2l0aW9uaW5nIGZvciBpbmxpbmUgcmVmZXJlbmNlIGVsZW1lbnRzIHRoYXQgY2FuIHNwYW5cbiAqIG92ZXIgbXVsdGlwbGUgbGluZXMsIHN1Y2ggYXMgaHlwZXJsaW5rcyBvciByYW5nZSBzZWxlY3Rpb25zLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2lubGluZVxuICovXG5jb25zdCBpbmxpbmUgPSBpbmxpbmUkMTtcblxuLyoqXG4gKiBCdWlsdC1pbiBgbGltaXRlcmAgdGhhdCB3aWxsIHN0b3AgYHNoaWZ0KClgIGF0IGEgY2VydGFpbiBwb2ludC5cbiAqL1xuY29uc3QgbGltaXRTaGlmdCA9IGxpbWl0U2hpZnQkMTtcblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgYHhgIGFuZCBgeWAgY29vcmRpbmF0ZXMgdGhhdCB3aWxsIHBsYWNlIHRoZSBmbG9hdGluZyBlbGVtZW50XG4gKiBuZXh0IHRvIGEgZ2l2ZW4gcmVmZXJlbmNlIGVsZW1lbnQuXG4gKi9cbmNvbnN0IGNvbXB1dGVQb3NpdGlvbiA9IChyZWZlcmVuY2UsIGZsb2F0aW5nLCBvcHRpb25zKSA9PiB7XG4gIC8vIFRoaXMgY2FjaGVzIHRoZSBleHBlbnNpdmUgYGdldENsaXBwaW5nRWxlbWVudEFuY2VzdG9yc2AgZnVuY3Rpb24gc28gdGhhdFxuICAvLyBtdWx0aXBsZSBsaWZlY3ljbGUgcmVzZXRzIHJlLXVzZSB0aGUgc2FtZSByZXN1bHQuIEl0IG9ubHkgbGl2ZXMgZm9yIGFcbiAgLy8gc2luZ2xlIGNhbGwuIElmIG90aGVyIGZ1bmN0aW9ucyBiZWNvbWUgZXhwZW5zaXZlLCB3ZSBjYW4gYWRkIHRoZW0gYXMgd2VsbC5cbiAgY29uc3QgY2FjaGUgPSBuZXcgTWFwKCk7XG4gIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSB7XG4gICAgcGxhdGZvcm0sXG4gICAgLi4ub3B0aW9uc1xuICB9O1xuICBjb25zdCBwbGF0Zm9ybVdpdGhDYWNoZSA9IHtcbiAgICAuLi5tZXJnZWRPcHRpb25zLnBsYXRmb3JtLFxuICAgIF9jOiBjYWNoZVxuICB9O1xuICByZXR1cm4gY29tcHV0ZVBvc2l0aW9uJDEocmVmZXJlbmNlLCBmbG9hdGluZywge1xuICAgIC4uLm1lcmdlZE9wdGlvbnMsXG4gICAgcGxhdGZvcm06IHBsYXRmb3JtV2l0aENhY2hlXG4gIH0pO1xufTtcblxuZXhwb3J0IHsgYXJyb3csIGF1dG9QbGFjZW1lbnQsIGF1dG9VcGRhdGUsIGNvbXB1dGVQb3NpdGlvbiwgZGV0ZWN0T3ZlcmZsb3csIGZsaXAsIGhpZGUsIGlubGluZSwgbGltaXRTaGlmdCwgb2Zmc2V0LCBwbGF0Zm9ybSwgc2hpZnQsIHNpemUgfTtcbiIsICJpbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbnZhciBpbmRleCA9ICB1c2VMYXlvdXRFZmZlY3QgO1xuXG5leHBvcnQgZGVmYXVsdCBpbmRleDtcbiIsICJpbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyJztcbmltcG9ydCBfZXh0ZW5kcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzJztcbmltcG9ydCB7IGpzeCwga2V5ZnJhbWVzLCBjc3MgYXMgY3NzJDIgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgX3NsaWNlZFRvQXJyYXkgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vc2xpY2VkVG9BcnJheSc7XG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzJztcbmltcG9ydCBfdHlwZW9mIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3R5cGVvZic7XG5pbXBvcnQgX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90YWdnZWRUZW1wbGF0ZUxpdGVyYWwnO1xuaW1wb3J0IF9kZWZpbmVQcm9wZXJ0eSBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eSc7XG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VNZW1vLCB1c2VDYWxsYmFjaywgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBhdXRvVXBkYXRlIH0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5pbXBvcnQgdXNlTGF5b3V0RWZmZWN0IGZyb20gJ3VzZS1pc29tb3JwaGljLWxheW91dC1lZmZlY3QnO1xuXG52YXIgX2V4Y2x1ZGVkJDQgPSBbXCJjbGFzc05hbWVcIiwgXCJjbGVhclZhbHVlXCIsIFwiY3hcIiwgXCJnZXRTdHlsZXNcIiwgXCJnZXRDbGFzc05hbWVzXCIsIFwiZ2V0VmFsdWVcIiwgXCJoYXNWYWx1ZVwiLCBcImlzTXVsdGlcIiwgXCJpc1J0bFwiLCBcIm9wdGlvbnNcIiwgXCJzZWxlY3RPcHRpb25cIiwgXCJzZWxlY3RQcm9wc1wiLCBcInNldFZhbHVlXCIsIFwidGhlbWVcIl07XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5PIE9QXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudmFyIG5vb3AgPSBmdW5jdGlvbiBub29wKCkge307XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2xhc3MgTmFtZSBQcmVmaXhlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBjb21wb25lbnQgc3RhdGUgZm9yIHN0eWxpbmcgd2l0aCBjbGFzcyBuYW1lcy5cblxuIEV4cGVjdHMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBPUiBhIHN0cmluZy9vYmplY3QgcGFpcjpcbiAtIGNsYXNzTmFtZShbJ2NvbXAnLCAnY29tcC1hcmcnLCAnY29tcC1hcmctMiddKVxuICAgQHJldHVybnMgJ3JlYWN0LXNlbGVjdF9fY29tcCByZWFjdC1zZWxlY3RfX2NvbXAtYXJnIHJlYWN0LXNlbGVjdF9fY29tcC1hcmctMidcbiAtIGNsYXNzTmFtZSgnY29tcCcsIHsgc29tZTogdHJ1ZSwgc3RhdGU6IGZhbHNlIH0pXG4gICBAcmV0dXJucyAncmVhY3Qtc2VsZWN0X19jb21wIHJlYWN0LXNlbGVjdF9fY29tcC0tc29tZSdcbiovXG5mdW5jdGlvbiBhcHBseVByZWZpeFRvTmFtZShwcmVmaXgsIG5hbWUpIHtcbiAgaWYgKCFuYW1lKSB7XG4gICAgcmV0dXJuIHByZWZpeDtcbiAgfSBlbHNlIGlmIChuYW1lWzBdID09PSAnLScpIHtcbiAgICByZXR1cm4gcHJlZml4ICsgbmFtZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcHJlZml4ICsgJ19fJyArIG5hbWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNsYXNzTmFtZXMocHJlZml4LCBzdGF0ZSkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgY2xhc3NOYW1lTGlzdCA9IG5ldyBBcnJheShfbGVuID4gMiA/IF9sZW4gLSAyIDogMCksIF9rZXkgPSAyOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgY2xhc3NOYW1lTGlzdFtfa2V5IC0gMl0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cbiAgdmFyIGFyciA9IFtdLmNvbmNhdChjbGFzc05hbWVMaXN0KTtcbiAgaWYgKHN0YXRlICYmIHByZWZpeCkge1xuICAgIGZvciAodmFyIGtleSBpbiBzdGF0ZSkge1xuICAgICAgaWYgKHN0YXRlLmhhc093blByb3BlcnR5KGtleSkgJiYgc3RhdGVba2V5XSkge1xuICAgICAgICBhcnIucHVzaChcIlwiLmNvbmNhdChhcHBseVByZWZpeFRvTmFtZShwcmVmaXgsIGtleSkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFyci5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICByZXR1cm4gaTtcbiAgfSkubWFwKGZ1bmN0aW9uIChpKSB7XG4gICAgcmV0dXJuIFN0cmluZyhpKS50cmltKCk7XG4gIH0pLmpvaW4oJyAnKTtcbn1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2xlYW4gVmFsdWVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgY2xlYW5WYWx1ZSA9IGZ1bmN0aW9uIGNsZWFuVmFsdWUodmFsdWUpIHtcbiAgaWYgKGlzQXJyYXkodmFsdWUpKSByZXR1cm4gdmFsdWUuZmlsdGVyKEJvb2xlYW4pO1xuICBpZiAoX3R5cGVvZih2YWx1ZSkgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSByZXR1cm4gW3ZhbHVlXTtcbiAgcmV0dXJuIFtdO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDbGVhbiBDb21tb24gUHJvcHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgY2xlYW5Db21tb25Qcm9wcyA9IGZ1bmN0aW9uIGNsZWFuQ29tbW9uUHJvcHMocHJvcHMpIHtcbiAgLy9jbGFzc05hbWVcbiAgcHJvcHMuY2xhc3NOYW1lO1xuICAgIHByb3BzLmNsZWFyVmFsdWU7XG4gICAgcHJvcHMuY3g7XG4gICAgcHJvcHMuZ2V0U3R5bGVzO1xuICAgIHByb3BzLmdldENsYXNzTmFtZXM7XG4gICAgcHJvcHMuZ2V0VmFsdWU7XG4gICAgcHJvcHMuaGFzVmFsdWU7XG4gICAgcHJvcHMuaXNNdWx0aTtcbiAgICBwcm9wcy5pc1J0bDtcbiAgICBwcm9wcy5vcHRpb25zO1xuICAgIHByb3BzLnNlbGVjdE9wdGlvbjtcbiAgICBwcm9wcy5zZWxlY3RQcm9wcztcbiAgICBwcm9wcy5zZXRWYWx1ZTtcbiAgICBwcm9wcy50aGVtZTtcbiAgICB2YXIgaW5uZXJQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhwcm9wcywgX2V4Y2x1ZGVkJDQpO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgaW5uZXJQcm9wcyk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdldCBTdHlsZSBQcm9wc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBnZXRTdHlsZVByb3BzID0gZnVuY3Rpb24gZ2V0U3R5bGVQcm9wcyhwcm9wcywgbmFtZSwgY2xhc3NOYW1lc1N0YXRlKSB7XG4gIHZhciBjeCA9IHByb3BzLmN4LFxuICAgIGdldFN0eWxlcyA9IHByb3BzLmdldFN0eWxlcyxcbiAgICBnZXRDbGFzc05hbWVzID0gcHJvcHMuZ2V0Q2xhc3NOYW1lcyxcbiAgICBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWU7XG4gIHJldHVybiB7XG4gICAgY3NzOiBnZXRTdHlsZXMobmFtZSwgcHJvcHMpLFxuICAgIGNsYXNzTmFtZTogY3goY2xhc3NOYW1lc1N0YXRlICE9PSBudWxsICYmIGNsYXNzTmFtZXNTdGF0ZSAhPT0gdm9pZCAwID8gY2xhc3NOYW1lc1N0YXRlIDoge30sIGdldENsYXNzTmFtZXMobmFtZSwgcHJvcHMpLCBjbGFzc05hbWUpXG4gIH07XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhhbmRsZSBJbnB1dCBDaGFuZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5mdW5jdGlvbiBoYW5kbGVJbnB1dENoYW5nZShpbnB1dFZhbHVlLCBhY3Rpb25NZXRhLCBvbklucHV0Q2hhbmdlKSB7XG4gIGlmIChvbklucHV0Q2hhbmdlKSB7XG4gICAgdmFyIF9uZXdWYWx1ZSA9IG9uSW5wdXRDaGFuZ2UoaW5wdXRWYWx1ZSwgYWN0aW9uTWV0YSk7XG4gICAgaWYgKHR5cGVvZiBfbmV3VmFsdWUgPT09ICdzdHJpbmcnKSByZXR1cm4gX25ld1ZhbHVlO1xuICB9XG4gIHJldHVybiBpbnB1dFZhbHVlO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjcm9sbCBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZnVuY3Rpb24gaXNEb2N1bWVudEVsZW1lbnQoZWwpIHtcbiAgcmV0dXJuIFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIGRvY3VtZW50LmJvZHksIHdpbmRvd10uaW5kZXhPZihlbCkgPiAtMTtcbn1cblxuLy8gTm9ybWFsaXplZCBTY3JvbGwgVG9wXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZnVuY3Rpb24gbm9ybWFsaXplZEhlaWdodChlbCkge1xuICBpZiAoaXNEb2N1bWVudEVsZW1lbnQoZWwpKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodDtcbiAgfVxuICByZXR1cm4gZWwuY2xpZW50SGVpZ2h0O1xufVxuXG4vLyBOb3JtYWxpemVkIHNjcm9sbFRvICYgc2Nyb2xsVG9wXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZnVuY3Rpb24gZ2V0U2Nyb2xsVG9wKGVsKSB7XG4gIGlmIChpc0RvY3VtZW50RWxlbWVudChlbCkpIHtcbiAgICByZXR1cm4gd2luZG93LnBhZ2VZT2Zmc2V0O1xuICB9XG4gIHJldHVybiBlbC5zY3JvbGxUb3A7XG59XG5mdW5jdGlvbiBzY3JvbGxUbyhlbCwgdG9wKSB7XG4gIC8vIHdpdGggYSBzY3JvbGwgZGlzdGFuY2UsIHdlIHBlcmZvcm0gc2Nyb2xsIG9uIHRoZSBlbGVtZW50XG4gIGlmIChpc0RvY3VtZW50RWxlbWVudChlbCkpIHtcbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgdG9wKTtcbiAgICByZXR1cm47XG4gIH1cbiAgZWwuc2Nyb2xsVG9wID0gdG9wO1xufVxuXG4vLyBHZXQgU2Nyb2xsIFBhcmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIGdldFNjcm9sbFBhcmVudChlbGVtZW50KSB7XG4gIHZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIHZhciBleGNsdWRlU3RhdGljUGFyZW50ID0gc3R5bGUucG9zaXRpb24gPT09ICdhYnNvbHV0ZSc7XG4gIHZhciBvdmVyZmxvd1J4ID0gLyhhdXRvfHNjcm9sbCkvO1xuICBpZiAoc3R5bGUucG9zaXRpb24gPT09ICdmaXhlZCcpIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIGZvciAodmFyIHBhcmVudCA9IGVsZW1lbnQ7IHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50Oykge1xuICAgIHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpO1xuICAgIGlmIChleGNsdWRlU3RhdGljUGFyZW50ICYmIHN0eWxlLnBvc2l0aW9uID09PSAnc3RhdGljJykge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChvdmVyZmxvd1J4LnRlc3Qoc3R5bGUub3ZlcmZsb3cgKyBzdHlsZS5vdmVyZmxvd1kgKyBzdHlsZS5vdmVyZmxvd1gpKSB7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH1cbiAgfVxuICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xufVxuXG4vLyBBbmltYXRlZCBTY3JvbGwgVG9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAgQHBhcmFtIHQ6IHRpbWUgKGVsYXBzZWQpXG4gIEBwYXJhbSBiOiBpbml0aWFsIHZhbHVlXG4gIEBwYXJhbSBjOiBhbW91bnQgb2YgY2hhbmdlXG4gIEBwYXJhbSBkOiBkdXJhdGlvblxuKi9cbmZ1bmN0aW9uIGVhc2VPdXRDdWJpYyh0LCBiLCBjLCBkKSB7XG4gIHJldHVybiBjICogKCh0ID0gdCAvIGQgLSAxKSAqIHQgKiB0ICsgMSkgKyBiO1xufVxuZnVuY3Rpb24gYW5pbWF0ZWRTY3JvbGxUbyhlbGVtZW50LCB0bykge1xuICB2YXIgZHVyYXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IDIwMDtcbiAgdmFyIGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiBub29wO1xuICB2YXIgc3RhcnQgPSBnZXRTY3JvbGxUb3AoZWxlbWVudCk7XG4gIHZhciBjaGFuZ2UgPSB0byAtIHN0YXJ0O1xuICB2YXIgaW5jcmVtZW50ID0gMTA7XG4gIHZhciBjdXJyZW50VGltZSA9IDA7XG4gIGZ1bmN0aW9uIGFuaW1hdGVTY3JvbGwoKSB7XG4gICAgY3VycmVudFRpbWUgKz0gaW5jcmVtZW50O1xuICAgIHZhciB2YWwgPSBlYXNlT3V0Q3ViaWMoY3VycmVudFRpbWUsIHN0YXJ0LCBjaGFuZ2UsIGR1cmF0aW9uKTtcbiAgICBzY3JvbGxUbyhlbGVtZW50LCB2YWwpO1xuICAgIGlmIChjdXJyZW50VGltZSA8IGR1cmF0aW9uKSB7XG4gICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGVTY3JvbGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWxsYmFjayhlbGVtZW50KTtcbiAgICB9XG4gIH1cbiAgYW5pbWF0ZVNjcm9sbCgpO1xufVxuXG4vLyBTY3JvbGwgSW50byBWaWV3XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZnVuY3Rpb24gc2Nyb2xsSW50b1ZpZXcobWVudUVsLCBmb2N1c2VkRWwpIHtcbiAgdmFyIG1lbnVSZWN0ID0gbWVudUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB2YXIgZm9jdXNlZFJlY3QgPSBmb2N1c2VkRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHZhciBvdmVyU2Nyb2xsID0gZm9jdXNlZEVsLm9mZnNldEhlaWdodCAvIDM7XG4gIGlmIChmb2N1c2VkUmVjdC5ib3R0b20gKyBvdmVyU2Nyb2xsID4gbWVudVJlY3QuYm90dG9tKSB7XG4gICAgc2Nyb2xsVG8obWVudUVsLCBNYXRoLm1pbihmb2N1c2VkRWwub2Zmc2V0VG9wICsgZm9jdXNlZEVsLmNsaWVudEhlaWdodCAtIG1lbnVFbC5vZmZzZXRIZWlnaHQgKyBvdmVyU2Nyb2xsLCBtZW51RWwuc2Nyb2xsSGVpZ2h0KSk7XG4gIH0gZWxzZSBpZiAoZm9jdXNlZFJlY3QudG9wIC0gb3ZlclNjcm9sbCA8IG1lbnVSZWN0LnRvcCkge1xuICAgIHNjcm9sbFRvKG1lbnVFbCwgTWF0aC5tYXgoZm9jdXNlZEVsLm9mZnNldFRvcCAtIG92ZXJTY3JvbGwsIDApKTtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdldCBib3VuZGluZyBjbGllbnQgb2JqZWN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gY2Fubm90IGdldCBrZXlzIHVzaW5nIGFycmF5IG5vdGF0aW9uIHdpdGggRE9NUmVjdFxuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRPYmooZWxlbWVudCkge1xuICB2YXIgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHJldHVybiB7XG4gICAgYm90dG9tOiByZWN0LmJvdHRvbSxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0LFxuICAgIGxlZnQ6IHJlY3QubGVmdCxcbiAgICByaWdodDogcmVjdC5yaWdodCxcbiAgICB0b3A6IHJlY3QudG9wLFxuICAgIHdpZHRoOiByZWN0LndpZHRoXG4gIH07XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVG91Y2ggQ2FwYWJpbGl0eSBEZXRlY3RvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmZ1bmN0aW9uIGlzVG91Y2hDYXBhYmxlKCkge1xuICB0cnkge1xuICAgIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdUb3VjaEV2ZW50Jyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgRGV2aWNlIERldGVjdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZnVuY3Rpb24gaXNNb2JpbGVEZXZpY2UoKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhc3NpdmUgRXZlbnQgRGV0ZWN0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vcmFmZ3JhcGgvZGV0ZWN0LWl0L2Jsb2IvbWFpbi9zcmMvaW5kZXgudHMjTDE5LUwzNlxudmFyIHBhc3NpdmVPcHRpb25BY2Nlc3NlZCA9IGZhbHNlO1xudmFyIG9wdGlvbnMgPSB7XG4gIGdldCBwYXNzaXZlKCkge1xuICAgIHJldHVybiBwYXNzaXZlT3B0aW9uQWNjZXNzZWQgPSB0cnVlO1xuICB9XG59O1xuLy8gY2hlY2sgZm9yIFNTUlxudmFyIHcgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHt9O1xuaWYgKHcuYWRkRXZlbnRMaXN0ZW5lciAmJiB3LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHtcbiAgdy5hZGRFdmVudExpc3RlbmVyKCdwJywgbm9vcCwgb3B0aW9ucyk7XG4gIHcucmVtb3ZlRXZlbnRMaXN0ZW5lcigncCcsIG5vb3AsIGZhbHNlKTtcbn1cbnZhciBzdXBwb3J0c1Bhc3NpdmVFdmVudHMgPSBwYXNzaXZlT3B0aW9uQWNjZXNzZWQ7XG5mdW5jdGlvbiBub3ROdWxsaXNoKGl0ZW0pIHtcbiAgcmV0dXJuIGl0ZW0gIT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzQXJyYXkoYXJnKSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KGFyZyk7XG59XG5mdW5jdGlvbiB2YWx1ZVRlcm5hcnkoaXNNdWx0aSwgbXVsdGlWYWx1ZSwgc2luZ2xlVmFsdWUpIHtcbiAgcmV0dXJuIGlzTXVsdGkgPyBtdWx0aVZhbHVlIDogc2luZ2xlVmFsdWU7XG59XG5mdW5jdGlvbiBzaW5nbGVWYWx1ZUFzVmFsdWUoc2luZ2xlVmFsdWUpIHtcbiAgcmV0dXJuIHNpbmdsZVZhbHVlO1xufVxuZnVuY3Rpb24gbXVsdGlWYWx1ZUFzVmFsdWUobXVsdGlWYWx1ZSkge1xuICByZXR1cm4gbXVsdGlWYWx1ZTtcbn1cbnZhciByZW1vdmVQcm9wcyA9IGZ1bmN0aW9uIHJlbW92ZVByb3BzKHByb3BzT2JqKSB7XG4gIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgcHJvcGVydGllcyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgcHJvcGVydGllc1tfa2V5MiAtIDFdID0gYXJndW1lbnRzW19rZXkyXTtcbiAgfVxuICB2YXIgcHJvcHNNYXAgPSBPYmplY3QuZW50cmllcyhwcm9wc09iaikuZmlsdGVyKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIF9yZWYyID0gX3NsaWNlZFRvQXJyYXkoX3JlZiwgMSksXG4gICAgICBrZXkgPSBfcmVmMlswXTtcbiAgICByZXR1cm4gIXByb3BlcnRpZXMuaW5jbHVkZXMoa2V5KTtcbiAgfSk7XG4gIHJldHVybiBwcm9wc01hcC5yZWR1Y2UoZnVuY3Rpb24gKG5ld1Byb3BzLCBfcmVmMykge1xuICAgIHZhciBfcmVmNCA9IF9zbGljZWRUb0FycmF5KF9yZWYzLCAyKSxcbiAgICAgIGtleSA9IF9yZWY0WzBdLFxuICAgICAgdmFsID0gX3JlZjRbMV07XG4gICAgbmV3UHJvcHNba2V5XSA9IHZhbDtcbiAgICByZXR1cm4gbmV3UHJvcHM7XG4gIH0sIHt9KTtcbn07XG5cbnZhciBfZXhjbHVkZWQkMyA9IFtcImNoaWxkcmVuXCIsIFwiaW5uZXJQcm9wc1wiXSxcbiAgX2V4Y2x1ZGVkMiQxID0gW1wiY2hpbGRyZW5cIiwgXCJpbm5lclByb3BzXCJdO1xuZnVuY3Rpb24gZ2V0TWVudVBsYWNlbWVudChfcmVmKSB7XG4gIHZhciBwcmVmZXJyZWRNYXhIZWlnaHQgPSBfcmVmLm1heEhlaWdodCxcbiAgICBtZW51RWwgPSBfcmVmLm1lbnVFbCxcbiAgICBtaW5IZWlnaHQgPSBfcmVmLm1pbkhlaWdodCxcbiAgICBwcmVmZXJyZWRQbGFjZW1lbnQgPSBfcmVmLnBsYWNlbWVudCxcbiAgICBzaG91bGRTY3JvbGwgPSBfcmVmLnNob3VsZFNjcm9sbCxcbiAgICBpc0ZpeGVkUG9zaXRpb24gPSBfcmVmLmlzRml4ZWRQb3NpdGlvbixcbiAgICBjb250cm9sSGVpZ2h0ID0gX3JlZi5jb250cm9sSGVpZ2h0O1xuICB2YXIgc2Nyb2xsUGFyZW50ID0gZ2V0U2Nyb2xsUGFyZW50KG1lbnVFbCk7XG4gIHZhciBkZWZhdWx0U3RhdGUgPSB7XG4gICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICBtYXhIZWlnaHQ6IHByZWZlcnJlZE1heEhlaWdodFxuICB9O1xuXG4gIC8vIHNvbWV0aGluZyB3ZW50IHdyb25nLCByZXR1cm4gZGVmYXVsdCBzdGF0ZVxuICBpZiAoIW1lbnVFbCB8fCAhbWVudUVsLm9mZnNldFBhcmVudCkgcmV0dXJuIGRlZmF1bHRTdGF0ZTtcblxuICAvLyB3ZSBjYW4ndCB0cnVzdCBgc2Nyb2xsUGFyZW50LnNjcm9sbEhlaWdodGAgLS0+IGl0IG1heSBpbmNyZWFzZSB3aGVuXG4gIC8vIHRoZSBtZW51IGlzIHJlbmRlcmVkXG4gIHZhciBfc2Nyb2xsUGFyZW50JGdldEJvdW4gPSBzY3JvbGxQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgc2Nyb2xsSGVpZ2h0ID0gX3Njcm9sbFBhcmVudCRnZXRCb3VuLmhlaWdodDtcbiAgdmFyIF9tZW51RWwkZ2V0Qm91bmRpbmdDbCA9IG1lbnVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICBtZW51Qm90dG9tID0gX21lbnVFbCRnZXRCb3VuZGluZ0NsLmJvdHRvbSxcbiAgICBtZW51SGVpZ2h0ID0gX21lbnVFbCRnZXRCb3VuZGluZ0NsLmhlaWdodCxcbiAgICBtZW51VG9wID0gX21lbnVFbCRnZXRCb3VuZGluZ0NsLnRvcDtcbiAgdmFyIF9tZW51RWwkb2Zmc2V0UGFyZW50JCA9IG1lbnVFbC5vZmZzZXRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgY29udGFpbmVyVG9wID0gX21lbnVFbCRvZmZzZXRQYXJlbnQkLnRvcDtcbiAgdmFyIHZpZXdIZWlnaHQgPSBpc0ZpeGVkUG9zaXRpb24gPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiBub3JtYWxpemVkSGVpZ2h0KHNjcm9sbFBhcmVudCk7XG4gIHZhciBzY3JvbGxUb3AgPSBnZXRTY3JvbGxUb3Aoc2Nyb2xsUGFyZW50KTtcbiAgdmFyIG1hcmdpbkJvdHRvbSA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUobWVudUVsKS5tYXJnaW5Cb3R0b20sIDEwKTtcbiAgdmFyIG1hcmdpblRvcCA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUobWVudUVsKS5tYXJnaW5Ub3AsIDEwKTtcbiAgdmFyIHZpZXdTcGFjZUFib3ZlID0gY29udGFpbmVyVG9wIC0gbWFyZ2luVG9wO1xuICB2YXIgdmlld1NwYWNlQmVsb3cgPSB2aWV3SGVpZ2h0IC0gbWVudVRvcDtcbiAgdmFyIHNjcm9sbFNwYWNlQWJvdmUgPSB2aWV3U3BhY2VBYm92ZSArIHNjcm9sbFRvcDtcbiAgdmFyIHNjcm9sbFNwYWNlQmVsb3cgPSBzY3JvbGxIZWlnaHQgLSBzY3JvbGxUb3AgLSBtZW51VG9wO1xuICB2YXIgc2Nyb2xsRG93biA9IG1lbnVCb3R0b20gLSB2aWV3SGVpZ2h0ICsgc2Nyb2xsVG9wICsgbWFyZ2luQm90dG9tO1xuICB2YXIgc2Nyb2xsVXAgPSBzY3JvbGxUb3AgKyBtZW51VG9wIC0gbWFyZ2luVG9wO1xuICB2YXIgc2Nyb2xsRHVyYXRpb24gPSAxNjA7XG4gIHN3aXRjaCAocHJlZmVycmVkUGxhY2VtZW50KSB7XG4gICAgY2FzZSAnYXV0byc6XG4gICAgY2FzZSAnYm90dG9tJzpcbiAgICAgIC8vIDE6IHRoZSBtZW51IHdpbGwgZml0LCBkbyBub3RoaW5nXG4gICAgICBpZiAodmlld1NwYWNlQmVsb3cgPj0gbWVudUhlaWdodCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICAgICAgbWF4SGVpZ2h0OiBwcmVmZXJyZWRNYXhIZWlnaHRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gMjogdGhlIG1lbnUgd2lsbCBmaXQsIGlmIHNjcm9sbGVkXG4gICAgICBpZiAoc2Nyb2xsU3BhY2VCZWxvdyA+PSBtZW51SGVpZ2h0ICYmICFpc0ZpeGVkUG9zaXRpb24pIHtcbiAgICAgICAgaWYgKHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgIGFuaW1hdGVkU2Nyb2xsVG8oc2Nyb2xsUGFyZW50LCBzY3JvbGxEb3duLCBzY3JvbGxEdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgIG1heEhlaWdodDogcHJlZmVycmVkTWF4SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIDM6IHRoZSBtZW51IHdpbGwgZml0LCBpZiBjb25zdHJhaW5lZFxuICAgICAgaWYgKCFpc0ZpeGVkUG9zaXRpb24gJiYgc2Nyb2xsU3BhY2VCZWxvdyA+PSBtaW5IZWlnaHQgfHwgaXNGaXhlZFBvc2l0aW9uICYmIHZpZXdTcGFjZUJlbG93ID49IG1pbkhlaWdodCkge1xuICAgICAgICBpZiAoc2hvdWxkU2Nyb2xsKSB7XG4gICAgICAgICAgYW5pbWF0ZWRTY3JvbGxUbyhzY3JvbGxQYXJlbnQsIHNjcm9sbERvd24sIHNjcm9sbER1cmF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHdlIHdhbnQgdG8gcHJvdmlkZSBhcyBtdWNoIG9mIHRoZSBtZW51IGFzIHBvc3NpYmxlIHRvIHRoZSB1c2VyLFxuICAgICAgICAvLyBzbyBnaXZlIHRoZW0gd2hhdGV2ZXIgaXMgYXZhaWxhYmxlIGJlbG93IHJhdGhlciB0aGFuIHRoZSBtaW5IZWlnaHQuXG4gICAgICAgIHZhciBjb25zdHJhaW5lZEhlaWdodCA9IGlzRml4ZWRQb3NpdGlvbiA/IHZpZXdTcGFjZUJlbG93IC0gbWFyZ2luQm90dG9tIDogc2Nyb2xsU3BhY2VCZWxvdyAtIG1hcmdpbkJvdHRvbTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgIG1heEhlaWdodDogY29uc3RyYWluZWRIZWlnaHRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gNC4gRm9ya2VkIGJldmlvdXIgd2hlbiB0aGVyZSBpc24ndCBlbm91Z2ggc3BhY2UgYmVsb3dcblxuICAgICAgLy8gQVVUTzogZmxpcCB0aGUgbWVudSwgcmVuZGVyIGFib3ZlXG4gICAgICBpZiAocHJlZmVycmVkUGxhY2VtZW50ID09PSAnYXV0bycgfHwgaXNGaXhlZFBvc2l0aW9uKSB7XG4gICAgICAgIC8vIG1heSBuZWVkIHRvIGJlIGNvbnN0cmFpbmVkIGFmdGVyIGZsaXBwaW5nXG4gICAgICAgIHZhciBfY29uc3RyYWluZWRIZWlnaHQgPSBwcmVmZXJyZWRNYXhIZWlnaHQ7XG4gICAgICAgIHZhciBzcGFjZUFib3ZlID0gaXNGaXhlZFBvc2l0aW9uID8gdmlld1NwYWNlQWJvdmUgOiBzY3JvbGxTcGFjZUFib3ZlO1xuICAgICAgICBpZiAoc3BhY2VBYm92ZSA+PSBtaW5IZWlnaHQpIHtcbiAgICAgICAgICBfY29uc3RyYWluZWRIZWlnaHQgPSBNYXRoLm1pbihzcGFjZUFib3ZlIC0gbWFyZ2luQm90dG9tIC0gY29udHJvbEhlaWdodCwgcHJlZmVycmVkTWF4SGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgICAgICAgbWF4SGVpZ2h0OiBfY29uc3RyYWluZWRIZWlnaHRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gQk9UVE9NOiBhbGxvdyBicm93c2VyIHRvIGluY3JlYXNlIHNjcm9sbGFibGUgYXJlYSBhbmQgaW1tZWRpYXRlbHkgc2V0IHNjcm9sbFxuICAgICAgaWYgKHByZWZlcnJlZFBsYWNlbWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgaWYgKHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgIHNjcm9sbFRvKHNjcm9sbFBhcmVudCwgc2Nyb2xsRG93bik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgIG1heEhlaWdodDogcHJlZmVycmVkTWF4SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0b3AnOlxuICAgICAgLy8gMTogdGhlIG1lbnUgd2lsbCBmaXQsIGRvIG5vdGhpbmdcbiAgICAgIGlmICh2aWV3U3BhY2VBYm92ZSA+PSBtZW51SGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IHByZWZlcnJlZE1heEhlaWdodFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyAyOiB0aGUgbWVudSB3aWxsIGZpdCwgaWYgc2Nyb2xsZWRcbiAgICAgIGlmIChzY3JvbGxTcGFjZUFib3ZlID49IG1lbnVIZWlnaHQgJiYgIWlzRml4ZWRQb3NpdGlvbikge1xuICAgICAgICBpZiAoc2hvdWxkU2Nyb2xsKSB7XG4gICAgICAgICAgYW5pbWF0ZWRTY3JvbGxUbyhzY3JvbGxQYXJlbnQsIHNjcm9sbFVwLCBzY3JvbGxEdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgICAgIG1heEhlaWdodDogcHJlZmVycmVkTWF4SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIDM6IHRoZSBtZW51IHdpbGwgZml0LCBpZiBjb25zdHJhaW5lZFxuICAgICAgaWYgKCFpc0ZpeGVkUG9zaXRpb24gJiYgc2Nyb2xsU3BhY2VBYm92ZSA+PSBtaW5IZWlnaHQgfHwgaXNGaXhlZFBvc2l0aW9uICYmIHZpZXdTcGFjZUFib3ZlID49IG1pbkhlaWdodCkge1xuICAgICAgICB2YXIgX2NvbnN0cmFpbmVkSGVpZ2h0MiA9IHByZWZlcnJlZE1heEhlaWdodDtcblxuICAgICAgICAvLyB3ZSB3YW50IHRvIHByb3ZpZGUgYXMgbXVjaCBvZiB0aGUgbWVudSBhcyBwb3NzaWJsZSB0byB0aGUgdXNlcixcbiAgICAgICAgLy8gc28gZ2l2ZSB0aGVtIHdoYXRldmVyIGlzIGF2YWlsYWJsZSBiZWxvdyByYXRoZXIgdGhhbiB0aGUgbWluSGVpZ2h0LlxuICAgICAgICBpZiAoIWlzRml4ZWRQb3NpdGlvbiAmJiBzY3JvbGxTcGFjZUFib3ZlID49IG1pbkhlaWdodCB8fCBpc0ZpeGVkUG9zaXRpb24gJiYgdmlld1NwYWNlQWJvdmUgPj0gbWluSGVpZ2h0KSB7XG4gICAgICAgICAgX2NvbnN0cmFpbmVkSGVpZ2h0MiA9IGlzRml4ZWRQb3NpdGlvbiA/IHZpZXdTcGFjZUFib3ZlIC0gbWFyZ2luVG9wIDogc2Nyb2xsU3BhY2VBYm92ZSAtIG1hcmdpblRvcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2hvdWxkU2Nyb2xsKSB7XG4gICAgICAgICAgYW5pbWF0ZWRTY3JvbGxUbyhzY3JvbGxQYXJlbnQsIHNjcm9sbFVwLCBzY3JvbGxEdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgICAgIG1heEhlaWdodDogX2NvbnN0cmFpbmVkSGVpZ2h0MlxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyA0LiBub3QgZW5vdWdoIHNwYWNlLCB0aGUgYnJvd3NlciBXSUxMIE5PVCBpbmNyZWFzZSBzY3JvbGxhYmxlIGFyZWEgd2hlblxuICAgICAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIGVsZW1lbnQgcmVuZGVyZWQgYWJvdmUgdGhlIHZpZXdwb3J0IChvbmx5IGJlbG93KS5cbiAgICAgIC8vIEZsaXAgdGhlIG1lbnUsIHJlbmRlciBiZWxvd1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgICAgbWF4SGVpZ2h0OiBwcmVmZXJyZWRNYXhIZWlnaHRcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgcGxhY2VtZW50IHByb3ZpZGVkIFxcXCJcIi5jb25jYXQocHJlZmVycmVkUGxhY2VtZW50LCBcIlxcXCIuXCIpKTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdFN0YXRlO1xufVxuXG4vLyBNZW51IENvbXBvbmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIGFsaWduVG9Db250cm9sKHBsYWNlbWVudCkge1xuICB2YXIgcGxhY2VtZW50VG9DU1NQcm9wID0ge1xuICAgIGJvdHRvbTogJ3RvcCcsXG4gICAgdG9wOiAnYm90dG9tJ1xuICB9O1xuICByZXR1cm4gcGxhY2VtZW50ID8gcGxhY2VtZW50VG9DU1NQcm9wW3BsYWNlbWVudF0gOiAnYm90dG9tJztcbn1cbnZhciBjb2VyY2VQbGFjZW1lbnQgPSBmdW5jdGlvbiBjb2VyY2VQbGFjZW1lbnQocCkge1xuICByZXR1cm4gcCA9PT0gJ2F1dG8nID8gJ2JvdHRvbScgOiBwO1xufTtcbnZhciBtZW51Q1NTID0gZnVuY3Rpb24gbWVudUNTUyhfcmVmMiwgdW5zdHlsZWQpIHtcbiAgdmFyIF9vYmplY3RTcHJlYWQyO1xuICB2YXIgcGxhY2VtZW50ID0gX3JlZjIucGxhY2VtZW50LFxuICAgIF9yZWYyJHRoZW1lID0gX3JlZjIudGhlbWUsXG4gICAgYm9yZGVyUmFkaXVzID0gX3JlZjIkdGhlbWUuYm9yZGVyUmFkaXVzLFxuICAgIHNwYWNpbmcgPSBfcmVmMiR0aGVtZS5zcGFjaW5nLFxuICAgIGNvbG9ycyA9IF9yZWYyJHRoZW1lLmNvbG9ycztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoKF9vYmplY3RTcHJlYWQyID0ge1xuICAgIGxhYmVsOiAnbWVudSdcbiAgfSwgX2RlZmluZVByb3BlcnR5KF9vYmplY3RTcHJlYWQyLCBhbGlnblRvQ29udHJvbChwbGFjZW1lbnQpLCAnMTAwJScpLCBfZGVmaW5lUHJvcGVydHkoX29iamVjdFNwcmVhZDIsIFwicG9zaXRpb25cIiwgJ2Fic29sdXRlJyksIF9kZWZpbmVQcm9wZXJ0eShfb2JqZWN0U3ByZWFkMiwgXCJ3aWR0aFwiLCAnMTAwJScpLCBfZGVmaW5lUHJvcGVydHkoX29iamVjdFNwcmVhZDIsIFwiekluZGV4XCIsIDEpLCBfb2JqZWN0U3ByZWFkMiksIHVuc3R5bGVkID8ge30gOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMubmV1dHJhbDAsXG4gICAgYm9yZGVyUmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgYm94U2hhZG93OiAnMCAwIDAgMXB4IGhzbGEoMCwgMCUsIDAlLCAwLjEpLCAwIDRweCAxMXB4IGhzbGEoMCwgMCUsIDAlLCAwLjEpJyxcbiAgICBtYXJnaW5Cb3R0b206IHNwYWNpbmcubWVudUd1dHRlcixcbiAgICBtYXJnaW5Ub3A6IHNwYWNpbmcubWVudUd1dHRlclxuICB9KTtcbn07XG52YXIgUG9ydGFsUGxhY2VtZW50Q29udGV4dCA9IC8qI19fUFVSRV9fKi9jcmVhdGVDb250ZXh0KG51bGwpO1xuXG4vLyBOT1RFOiBpbnRlcm5hbCBvbmx5XG52YXIgTWVudVBsYWNlciA9IGZ1bmN0aW9uIE1lbnVQbGFjZXIocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgbWluTWVudUhlaWdodCA9IHByb3BzLm1pbk1lbnVIZWlnaHQsXG4gICAgbWF4TWVudUhlaWdodCA9IHByb3BzLm1heE1lbnVIZWlnaHQsXG4gICAgbWVudVBsYWNlbWVudCA9IHByb3BzLm1lbnVQbGFjZW1lbnQsXG4gICAgbWVudVBvc2l0aW9uID0gcHJvcHMubWVudVBvc2l0aW9uLFxuICAgIG1lbnVTaG91bGRTY3JvbGxJbnRvVmlldyA9IHByb3BzLm1lbnVTaG91bGRTY3JvbGxJbnRvVmlldyxcbiAgICB0aGVtZSA9IHByb3BzLnRoZW1lO1xuICB2YXIgX3JlZjMgPSB1c2VDb250ZXh0KFBvcnRhbFBsYWNlbWVudENvbnRleHQpIHx8IHt9LFxuICAgIHNldFBvcnRhbFBsYWNlbWVudCA9IF9yZWYzLnNldFBvcnRhbFBsYWNlbWVudDtcbiAgdmFyIHJlZiA9IHVzZVJlZihudWxsKTtcbiAgdmFyIF91c2VTdGF0ZSA9IHVzZVN0YXRlKG1heE1lbnVIZWlnaHQpLFxuICAgIF91c2VTdGF0ZTIgPSBfc2xpY2VkVG9BcnJheShfdXNlU3RhdGUsIDIpLFxuICAgIG1heEhlaWdodCA9IF91c2VTdGF0ZTJbMF0sXG4gICAgc2V0TWF4SGVpZ2h0ID0gX3VzZVN0YXRlMlsxXTtcbiAgdmFyIF91c2VTdGF0ZTMgPSB1c2VTdGF0ZShudWxsKSxcbiAgICBfdXNlU3RhdGU0ID0gX3NsaWNlZFRvQXJyYXkoX3VzZVN0YXRlMywgMiksXG4gICAgcGxhY2VtZW50ID0gX3VzZVN0YXRlNFswXSxcbiAgICBzZXRQbGFjZW1lbnQgPSBfdXNlU3RhdGU0WzFdO1xuICB2YXIgY29udHJvbEhlaWdodCA9IHRoZW1lLnNwYWNpbmcuY29udHJvbEhlaWdodDtcbiAgdXNlTGF5b3V0RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbWVudUVsID0gcmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFtZW51RWwpIHJldHVybjtcblxuICAgIC8vIERPIE5PVCBzY3JvbGwgaWYgcG9zaXRpb24gaXMgZml4ZWRcbiAgICB2YXIgaXNGaXhlZFBvc2l0aW9uID0gbWVudVBvc2l0aW9uID09PSAnZml4ZWQnO1xuICAgIHZhciBzaG91bGRTY3JvbGwgPSBtZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXcgJiYgIWlzRml4ZWRQb3NpdGlvbjtcbiAgICB2YXIgc3RhdGUgPSBnZXRNZW51UGxhY2VtZW50KHtcbiAgICAgIG1heEhlaWdodDogbWF4TWVudUhlaWdodCxcbiAgICAgIG1lbnVFbDogbWVudUVsLFxuICAgICAgbWluSGVpZ2h0OiBtaW5NZW51SGVpZ2h0LFxuICAgICAgcGxhY2VtZW50OiBtZW51UGxhY2VtZW50LFxuICAgICAgc2hvdWxkU2Nyb2xsOiBzaG91bGRTY3JvbGwsXG4gICAgICBpc0ZpeGVkUG9zaXRpb246IGlzRml4ZWRQb3NpdGlvbixcbiAgICAgIGNvbnRyb2xIZWlnaHQ6IGNvbnRyb2xIZWlnaHRcbiAgICB9KTtcbiAgICBzZXRNYXhIZWlnaHQoc3RhdGUubWF4SGVpZ2h0KTtcbiAgICBzZXRQbGFjZW1lbnQoc3RhdGUucGxhY2VtZW50KTtcbiAgICBzZXRQb3J0YWxQbGFjZW1lbnQgPT09IG51bGwgfHwgc2V0UG9ydGFsUGxhY2VtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZXRQb3J0YWxQbGFjZW1lbnQoc3RhdGUucGxhY2VtZW50KTtcbiAgfSwgW21heE1lbnVIZWlnaHQsIG1lbnVQbGFjZW1lbnQsIG1lbnVQb3NpdGlvbiwgbWVudVNob3VsZFNjcm9sbEludG9WaWV3LCBtaW5NZW51SGVpZ2h0LCBzZXRQb3J0YWxQbGFjZW1lbnQsIGNvbnRyb2xIZWlnaHRdKTtcbiAgcmV0dXJuIGNoaWxkcmVuKHtcbiAgICByZWY6IHJlZixcbiAgICBwbGFjZXJQcm9wczogX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBwcm9wcyksIHt9LCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCB8fCBjb2VyY2VQbGFjZW1lbnQobWVudVBsYWNlbWVudCksXG4gICAgICBtYXhIZWlnaHQ6IG1heEhlaWdodFxuICAgIH0pXG4gIH0pO1xufTtcbnZhciBNZW51ID0gZnVuY3Rpb24gTWVudShwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpbm5lclJlZiA9IHByb3BzLmlubmVyUmVmLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnbWVudScsIHtcbiAgICBtZW51OiB0cnVlXG4gIH0pLCB7XG4gICAgcmVmOiBpbm5lclJlZlxuICB9LCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcbnZhciBNZW51JDEgPSBNZW51O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbnUgTGlzdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBtZW51TGlzdENTUyA9IGZ1bmN0aW9uIG1lbnVMaXN0Q1NTKF9yZWY0LCB1bnN0eWxlZCkge1xuICB2YXIgbWF4SGVpZ2h0ID0gX3JlZjQubWF4SGVpZ2h0LFxuICAgIGJhc2VVbml0ID0gX3JlZjQudGhlbWUuc3BhY2luZy5iYXNlVW5pdDtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIG1heEhlaWdodDogbWF4SGVpZ2h0LFxuICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIC8vIHJlcXVpcmVkIGZvciBvZmZzZXRbSGVpZ2h0LCBUb3BdID4ga2V5Ym9hcmQgc2Nyb2xsXG4gICAgV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6ICd0b3VjaCdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBwYWRkaW5nQm90dG9tOiBiYXNlVW5pdCxcbiAgICBwYWRkaW5nVG9wOiBiYXNlVW5pdFxuICB9KTtcbn07XG52YXIgTWVudUxpc3QgPSBmdW5jdGlvbiBNZW51TGlzdChwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBpbm5lclJlZiA9IHByb3BzLmlubmVyUmVmLFxuICAgIGlzTXVsdGkgPSBwcm9wcy5pc011bHRpO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnbWVudUxpc3QnLCB7XG4gICAgJ21lbnUtbGlzdCc6IHRydWUsXG4gICAgJ21lbnUtbGlzdC0taXMtbXVsdGknOiBpc011bHRpXG4gIH0pLCB7XG4gICAgcmVmOiBpbm5lclJlZlxuICB9LCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZW51IE5vdGljZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgbm90aWNlQ1NTID0gZnVuY3Rpb24gbm90aWNlQ1NTKF9yZWY1LCB1bnN0eWxlZCkge1xuICB2YXIgX3JlZjUkdGhlbWUgPSBfcmVmNS50aGVtZSxcbiAgICBiYXNlVW5pdCA9IF9yZWY1JHRoZW1lLnNwYWNpbmcuYmFzZVVuaXQsXG4gICAgY29sb3JzID0gX3JlZjUkdGhlbWUuY29sb3JzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgdGV4dEFsaWduOiAnY2VudGVyJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGNvbG9yOiBjb2xvcnMubmV1dHJhbDQwLFxuICAgIHBhZGRpbmc6IFwiXCIuY29uY2F0KGJhc2VVbml0ICogMiwgXCJweCBcIikuY29uY2F0KGJhc2VVbml0ICogMywgXCJweFwiKVxuICB9KTtcbn07XG52YXIgbm9PcHRpb25zTWVzc2FnZUNTUyA9IG5vdGljZUNTUztcbnZhciBsb2FkaW5nTWVzc2FnZUNTUyA9IG5vdGljZUNTUztcbnZhciBOb09wdGlvbnNNZXNzYWdlID0gZnVuY3Rpb24gTm9PcHRpb25zTWVzc2FnZShfcmVmNikge1xuICB2YXIgX3JlZjYkY2hpbGRyZW4gPSBfcmVmNi5jaGlsZHJlbixcbiAgICBjaGlsZHJlbiA9IF9yZWY2JGNoaWxkcmVuID09PSB2b2lkIDAgPyAnTm8gb3B0aW9ucycgOiBfcmVmNiRjaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gX3JlZjYuaW5uZXJQcm9wcyxcbiAgICByZXN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZjYsIF9leGNsdWRlZCQzKTtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIHJlc3RQcm9wcyksIHt9LCB7XG4gICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHNcbiAgfSksICdub09wdGlvbnNNZXNzYWdlJywge1xuICAgICdtZW51LW5vdGljZSc6IHRydWUsXG4gICAgJ21lbnUtbm90aWNlLS1uby1vcHRpb25zJzogdHJ1ZVxuICB9KSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG52YXIgTG9hZGluZ01lc3NhZ2UgPSBmdW5jdGlvbiBMb2FkaW5nTWVzc2FnZShfcmVmNykge1xuICB2YXIgX3JlZjckY2hpbGRyZW4gPSBfcmVmNy5jaGlsZHJlbixcbiAgICBjaGlsZHJlbiA9IF9yZWY3JGNoaWxkcmVuID09PSB2b2lkIDAgPyAnTG9hZGluZy4uLicgOiBfcmVmNyRjaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gX3JlZjcuaW5uZXJQcm9wcyxcbiAgICByZXN0UHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZjcsIF9leGNsdWRlZDIkMSk7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCByZXN0UHJvcHMpLCB7fSwge1xuICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcbiAgICBpbm5lclByb3BzOiBpbm5lclByb3BzXG4gIH0pLCAnbG9hZGluZ01lc3NhZ2UnLCB7XG4gICAgJ21lbnUtbm90aWNlJzogdHJ1ZSxcbiAgICAnbWVudS1ub3RpY2UtLWxvYWRpbmcnOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZW51IFBvcnRhbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBtZW51UG9ydGFsQ1NTID0gZnVuY3Rpb24gbWVudVBvcnRhbENTUyhfcmVmOCkge1xuICB2YXIgcmVjdCA9IF9yZWY4LnJlY3QsXG4gICAgb2Zmc2V0ID0gX3JlZjgub2Zmc2V0LFxuICAgIHBvc2l0aW9uID0gX3JlZjgucG9zaXRpb247XG4gIHJldHVybiB7XG4gICAgbGVmdDogcmVjdC5sZWZ0LFxuICAgIHBvc2l0aW9uOiBwb3NpdGlvbixcbiAgICB0b3A6IG9mZnNldCxcbiAgICB3aWR0aDogcmVjdC53aWR0aCxcbiAgICB6SW5kZXg6IDFcbiAgfTtcbn07XG52YXIgTWVudVBvcnRhbCA9IGZ1bmN0aW9uIE1lbnVQb3J0YWwocHJvcHMpIHtcbiAgdmFyIGFwcGVuZFRvID0gcHJvcHMuYXBwZW5kVG8sXG4gICAgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBjb250cm9sRWxlbWVudCA9IHByb3BzLmNvbnRyb2xFbGVtZW50LFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzLFxuICAgIG1lbnVQbGFjZW1lbnQgPSBwcm9wcy5tZW51UGxhY2VtZW50LFxuICAgIG1lbnVQb3NpdGlvbiA9IHByb3BzLm1lbnVQb3NpdGlvbjtcbiAgdmFyIG1lbnVQb3J0YWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gIHZhciBjbGVhbnVwUmVmID0gdXNlUmVmKG51bGwpO1xuICB2YXIgX3VzZVN0YXRlNSA9IHVzZVN0YXRlKGNvZXJjZVBsYWNlbWVudChtZW51UGxhY2VtZW50KSksXG4gICAgX3VzZVN0YXRlNiA9IF9zbGljZWRUb0FycmF5KF91c2VTdGF0ZTUsIDIpLFxuICAgIHBsYWNlbWVudCA9IF91c2VTdGF0ZTZbMF0sXG4gICAgc2V0UG9ydGFsUGxhY2VtZW50ID0gX3VzZVN0YXRlNlsxXTtcbiAgdmFyIHBvcnRhbFBsYWNlbWVudENvbnRleHQgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0UG9ydGFsUGxhY2VtZW50OiBzZXRQb3J0YWxQbGFjZW1lbnRcbiAgICB9O1xuICB9LCBbXSk7XG4gIHZhciBfdXNlU3RhdGU3ID0gdXNlU3RhdGUobnVsbCksXG4gICAgX3VzZVN0YXRlOCA9IF9zbGljZWRUb0FycmF5KF91c2VTdGF0ZTcsIDIpLFxuICAgIGNvbXB1dGVkUG9zaXRpb24gPSBfdXNlU3RhdGU4WzBdLFxuICAgIHNldENvbXB1dGVkUG9zaXRpb24gPSBfdXNlU3RhdGU4WzFdO1xuICB2YXIgdXBkYXRlQ29tcHV0ZWRQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIWNvbnRyb2xFbGVtZW50KSByZXR1cm47XG4gICAgdmFyIHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudE9iaihjb250cm9sRWxlbWVudCk7XG4gICAgdmFyIHNjcm9sbERpc3RhbmNlID0gbWVudVBvc2l0aW9uID09PSAnZml4ZWQnID8gMCA6IHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICB2YXIgb2Zmc2V0ID0gcmVjdFtwbGFjZW1lbnRdICsgc2Nyb2xsRGlzdGFuY2U7XG4gICAgaWYgKG9mZnNldCAhPT0gKGNvbXB1dGVkUG9zaXRpb24gPT09IG51bGwgfHwgY29tcHV0ZWRQb3NpdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY29tcHV0ZWRQb3NpdGlvbi5vZmZzZXQpIHx8IHJlY3QubGVmdCAhPT0gKGNvbXB1dGVkUG9zaXRpb24gPT09IG51bGwgfHwgY29tcHV0ZWRQb3NpdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY29tcHV0ZWRQb3NpdGlvbi5yZWN0LmxlZnQpIHx8IHJlY3Qud2lkdGggIT09IChjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ucmVjdC53aWR0aCkpIHtcbiAgICAgIHNldENvbXB1dGVkUG9zaXRpb24oe1xuICAgICAgICBvZmZzZXQ6IG9mZnNldCxcbiAgICAgICAgcmVjdDogcmVjdFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbY29udHJvbEVsZW1lbnQsIG1lbnVQb3NpdGlvbiwgcGxhY2VtZW50LCBjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ub2Zmc2V0LCBjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ucmVjdC5sZWZ0LCBjb21wdXRlZFBvc2l0aW9uID09PSBudWxsIHx8IGNvbXB1dGVkUG9zaXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbXB1dGVkUG9zaXRpb24ucmVjdC53aWR0aF0pO1xuICB1c2VMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZUNvbXB1dGVkUG9zaXRpb24oKTtcbiAgfSwgW3VwZGF0ZUNvbXB1dGVkUG9zaXRpb25dKTtcbiAgdmFyIHJ1bkF1dG9VcGRhdGUgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHR5cGVvZiBjbGVhbnVwUmVmLmN1cnJlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNsZWFudXBSZWYuY3VycmVudCgpO1xuICAgICAgY2xlYW51cFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGNvbnRyb2xFbGVtZW50ICYmIG1lbnVQb3J0YWxSZWYuY3VycmVudCkge1xuICAgICAgY2xlYW51cFJlZi5jdXJyZW50ID0gYXV0b1VwZGF0ZShjb250cm9sRWxlbWVudCwgbWVudVBvcnRhbFJlZi5jdXJyZW50LCB1cGRhdGVDb21wdXRlZFBvc2l0aW9uLCB7XG4gICAgICAgIGVsZW1lbnRSZXNpemU6ICdSZXNpemVPYnNlcnZlcicgaW4gd2luZG93XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtjb250cm9sRWxlbWVudCwgdXBkYXRlQ29tcHV0ZWRQb3NpdGlvbl0pO1xuICB1c2VMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHJ1bkF1dG9VcGRhdGUoKTtcbiAgfSwgW3J1bkF1dG9VcGRhdGVdKTtcbiAgdmFyIHNldE1lbnVQb3J0YWxFbGVtZW50ID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKG1lbnVQb3J0YWxFbGVtZW50KSB7XG4gICAgbWVudVBvcnRhbFJlZi5jdXJyZW50ID0gbWVudVBvcnRhbEVsZW1lbnQ7XG4gICAgcnVuQXV0b1VwZGF0ZSgpO1xuICB9LCBbcnVuQXV0b1VwZGF0ZV0pO1xuXG4gIC8vIGJhaWwgZWFybHkgaWYgcmVxdWlyZWQgZWxlbWVudHMgYXJlbid0IHByZXNlbnRcbiAgaWYgKCFhcHBlbmRUbyAmJiBtZW51UG9zaXRpb24gIT09ICdmaXhlZCcgfHwgIWNvbXB1dGVkUG9zaXRpb24pIHJldHVybiBudWxsO1xuXG4gIC8vIHNhbWUgd3JhcHBlciBlbGVtZW50IHdoZXRoZXIgZml4ZWQgb3IgcG9ydGFsbGVkXG4gIHZhciBtZW51V3JhcHBlciA9IGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgcmVmOiBzZXRNZW51UG9ydGFsRWxlbWVudFxuICB9LCBnZXRTdHlsZVByb3BzKF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgcHJvcHMpLCB7fSwge1xuICAgIG9mZnNldDogY29tcHV0ZWRQb3NpdGlvbi5vZmZzZXQsXG4gICAgcG9zaXRpb246IG1lbnVQb3NpdGlvbixcbiAgICByZWN0OiBjb21wdXRlZFBvc2l0aW9uLnJlY3RcbiAgfSksICdtZW51UG9ydGFsJywge1xuICAgICdtZW51LXBvcnRhbCc6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG4gIHJldHVybiBqc3goUG9ydGFsUGxhY2VtZW50Q29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBwb3J0YWxQbGFjZW1lbnRDb250ZXh0XG4gIH0sIGFwcGVuZFRvID8gLyojX19QVVJFX18qL2NyZWF0ZVBvcnRhbChtZW51V3JhcHBlciwgYXBwZW5kVG8pIDogbWVudVdyYXBwZXIpO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb290IENvbnRhaW5lclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBjb250YWluZXJDU1MgPSBmdW5jdGlvbiBjb250YWluZXJDU1MoX3JlZikge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9yZWYuaXNEaXNhYmxlZCxcbiAgICBpc1J0bCA9IF9yZWYuaXNSdGw7XG4gIHJldHVybiB7XG4gICAgbGFiZWw6ICdjb250YWluZXInLFxuICAgIGRpcmVjdGlvbjogaXNSdGwgPyAncnRsJyA6IHVuZGVmaW5lZCxcbiAgICBwb2ludGVyRXZlbnRzOiBpc0Rpc2FibGVkID8gJ25vbmUnIDogdW5kZWZpbmVkLFxuICAgIC8vIGNhbmNlbCBtb3VzZSBldmVudHMgd2hlbiBkaXNhYmxlZFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gIH07XG59O1xudmFyIFNlbGVjdENvbnRhaW5lciA9IGZ1bmN0aW9uIFNlbGVjdENvbnRhaW5lcihwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpc1J0bCA9IHByb3BzLmlzUnRsO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnY29udGFpbmVyJywge1xuICAgICctLWlzLWRpc2FibGVkJzogaXNEaXNhYmxlZCxcbiAgICAnLS1pcy1ydGwnOiBpc1J0bFxuICB9KSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVmFsdWUgQ29udGFpbmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudmFyIHZhbHVlQ29udGFpbmVyQ1NTID0gZnVuY3Rpb24gdmFsdWVDb250YWluZXJDU1MoX3JlZjIsIHVuc3R5bGVkKSB7XG4gIHZhciBzcGFjaW5nID0gX3JlZjIudGhlbWUuc3BhY2luZyxcbiAgICBpc011bHRpID0gX3JlZjIuaXNNdWx0aSxcbiAgICBoYXNWYWx1ZSA9IF9yZWYyLmhhc1ZhbHVlLFxuICAgIGNvbnRyb2xTaG91bGRSZW5kZXJWYWx1ZSA9IF9yZWYyLnNlbGVjdFByb3BzLmNvbnRyb2xTaG91bGRSZW5kZXJWYWx1ZTtcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGRpc3BsYXk6IGlzTXVsdGkgJiYgaGFzVmFsdWUgJiYgY29udHJvbFNob3VsZFJlbmRlclZhbHVlID8gJ2ZsZXgnIDogJ2dyaWQnLFxuICAgIGZsZXg6IDEsXG4gICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICBXZWJraXRPdmVyZmxvd1Njcm9sbGluZzogJ3RvdWNoJyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbidcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBwYWRkaW5nOiBcIlwiLmNvbmNhdChzcGFjaW5nLmJhc2VVbml0IC8gMiwgXCJweCBcIikuY29uY2F0KHNwYWNpbmcuYmFzZVVuaXQgKiAyLCBcInB4XCIpXG4gIH0pO1xufTtcbnZhciBWYWx1ZUNvbnRhaW5lciA9IGZ1bmN0aW9uIFZhbHVlQ29udGFpbmVyKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzLFxuICAgIGlzTXVsdGkgPSBwcm9wcy5pc011bHRpLFxuICAgIGhhc1ZhbHVlID0gcHJvcHMuaGFzVmFsdWU7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICd2YWx1ZUNvbnRhaW5lcicsIHtcbiAgICAndmFsdWUtY29udGFpbmVyJzogdHJ1ZSxcbiAgICAndmFsdWUtY29udGFpbmVyLS1pcy1tdWx0aSc6IGlzTXVsdGksXG4gICAgJ3ZhbHVlLWNvbnRhaW5lci0taGFzLXZhbHVlJzogaGFzVmFsdWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEluZGljYXRvciBDb250YWluZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgaW5kaWNhdG9yc0NvbnRhaW5lckNTUyA9IGZ1bmN0aW9uIGluZGljYXRvcnNDb250YWluZXJDU1MoKSB7XG4gIHJldHVybiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYWxpZ25TZWxmOiAnc3RyZXRjaCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhTaHJpbms6IDBcbiAgfTtcbn07XG52YXIgSW5kaWNhdG9yc0NvbnRhaW5lciA9IGZ1bmN0aW9uIEluZGljYXRvcnNDb250YWluZXIocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JzQ29udGFpbmVyJywge1xuICAgIGluZGljYXRvcnM6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xuXG52YXIgX3RlbXBsYXRlT2JqZWN0O1xudmFyIF9leGNsdWRlZCQyID0gW1wic2l6ZVwiXSxcbiAgX2V4Y2x1ZGVkMiA9IFtcImlubmVyUHJvcHNcIiwgXCJpc1J0bFwiLCBcInNpemVcIl07XG5mdW5jdGlvbiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXygpIHsgcmV0dXJuIFwiWW91IGhhdmUgdHJpZWQgdG8gc3RyaW5naWZ5IG9iamVjdCByZXR1cm5lZCBmcm9tIGBjc3NgIGZ1bmN0aW9uLiBJdCBpc24ndCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5IChlLmcuIGFzIHZhbHVlIG9mIHRoZSBgY2xhc3NOYW1lYCBwcm9wKSwgYnV0IHJhdGhlciBoYW5kZWQgdG8gZW1vdGlvbiBzbyBpdCBjYW4gaGFuZGxlIGl0IChlLmcuIGFzIHZhbHVlIG9mIGBjc3NgIHByb3ApLlwiOyB9XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG52YXIgX3JlZjIgPSBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyB7XG4gIG5hbWU6IFwiOG1ta2NnXCIsXG4gIHN0eWxlczogXCJkaXNwbGF5OmlubGluZS1ibG9jaztmaWxsOmN1cnJlbnRDb2xvcjtsaW5lLWhlaWdodDoxO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLXdpZHRoOjBcIlxufSA6IHtcbiAgbmFtZTogXCJ0ajViZGUtU3ZnXCIsXG4gIHN0eWxlczogXCJkaXNwbGF5OmlubGluZS1ibG9jaztmaWxsOmN1cnJlbnRDb2xvcjtsaW5lLWhlaWdodDoxO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLXdpZHRoOjA7bGFiZWw6U3ZnO1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHbGpZWFJ2Y25NdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRWGxDU1NJc0ltWnBiR1VpT2lKcGJtUnBZMkYwYjNKekxuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtpQkFhbk40SUdwemVDQXFMMXh1YVcxd2IzSjBJSHNnVW1WaFkzUk9iMlJsSUgwZ1puSnZiU0FuY21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnYW5ONExDQnJaWGxtY21GdFpYTWdmU0JtY205dElDZEFaVzF2ZEdsdmJpOXlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjdYRzRnSUVOdmJXMXZibEJ5YjNCelFXNWtRMnhoYzNOT1lXMWxMRnh1SUNCRFUxTlBZbXBsWTNSWGFYUm9UR0ZpWld3c1hHNGdJRWR5YjNWd1FtRnpaU3hjYm4wZ1puSnZiU0FuTGk0dmRIbHdaWE1uTzF4dWFXMXdiM0owSUhzZ1oyVjBVM1I1YkdWUWNtOXdjeUI5SUdaeWIyMGdKeTR1TDNWMGFXeHpKenRjYmx4dUx5OGdQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0dkx5QkVjbTl3Wkc5M2JpQW1JRU5zWldGeUlFbGpiMjV6WEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmx4dVkyOXVjM1FnVTNabklEMGdLSHRjYmlBZ2MybDZaU3hjYmlBZ0xpNHVjSEp2Y0hOY2JuMDZJRXBUV0M1SmJuUnlhVzV6YVdORmJHVnRaVzUwYzFzbmMzWm5KMTBnSmlCN0lITnBlbVU2SUc1MWJXSmxjaUI5S1NBOVBpQW9YRzRnSUR4emRtZGNiaUFnSUNCb1pXbG5hSFE5ZTNOcGVtVjlYRzRnSUNBZ2QybGtkR2c5ZTNOcGVtVjlYRzRnSUNBZ2RtbGxkMEp2ZUQxY0lqQWdNQ0F5TUNBeU1Gd2lYRzRnSUNBZ1lYSnBZUzFvYVdSa1pXNDlYQ0owY25WbFhDSmNiaUFnSUNCbWIyTjFjMkZpYkdVOVhDSm1ZV3h6WlZ3aVhHNGdJQ0FnWTNOelBYdDdYRzRnSUNBZ0lDQmthWE53YkdGNU9pQW5hVzVzYVc1bExXSnNiMk5ySnl4Y2JpQWdJQ0FnSUdacGJHdzZJQ2RqZFhKeVpXNTBRMjlzYjNJbkxGeHVJQ0FnSUNBZ2JHbHVaVWhsYVdkb2REb2dNU3hjYmlBZ0lDQWdJSE4wY205clpUb2dKMk4xY25KbGJuUkRiMnh2Y2ljc1hHNGdJQ0FnSUNCemRISnZhMlZYYVdSMGFEb2dNQ3hjYmlBZ0lDQjlmVnh1SUNBZ0lIc3VMaTV3Y205d2MzMWNiaUFnTHo1Y2JpazdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFTnliM056U1dOdmJsQnliM0J6SUQwZ1NsTllMa2x1ZEhKcGJuTnBZMFZzWlcxbGJuUnpXeWR6ZG1jblhTQW1JSHNnYzJsNlpUODZJRzUxYldKbGNpQjlPMXh1Wlhod2IzSjBJR052Ym5OMElFTnliM056U1dOdmJpQTlJQ2h3Y205d2N6b2dRM0p2YzNOSlkyOXVVSEp2Y0hNcElEMCtJQ2hjYmlBZ1BGTjJaeUJ6YVhwbFBYc3lNSDBnZXk0dUxuQnliM0J6ZlQ1Y2JpQWdJQ0E4Y0dGMGFDQmtQVndpVFRFMExqTTBPQ0F4TkM0NE5EbGpMVEF1TkRZNUlEQXVORFk1TFRFdU1qSTVJREF1TkRZNUxURXVOamszSURCc0xUSXVOalV4TFRNdU1ETXdMVEl1TmpVeElETXVNREk1WXkwd0xqUTJPU0F3TGpRMk9TMHhMakl5T1NBd0xqUTJPUzB4TGpZNU55QXdMVEF1TkRZNUxUQXVORFk1TFRBdU5EWTVMVEV1TWpJNUlEQXRNUzQyT1Rkc01pNDNOVGd0TXk0eE5TMHlMamMxT1MwekxqRTFNbU10TUM0ME5qa3RNQzQwTmprdE1DNDBOamt0TVM0eU1qZ2dNQzB4TGpZNU4zTXhMakl5T0Mwd0xqUTJPU0F4TGpZNU55QXdiREl1TmpVeUlETXVNRE14SURJdU5qVXhMVE11TURNeFl6QXVORFk1TFRBdU5EWTVJREV1TWpJNExUQXVORFk1SURFdU5qazNJREJ6TUM0ME5qa2dNUzR5TWprZ01DQXhMalk1TjJ3dE1pNDNOVGdnTXk0eE5USWdNaTQzTlRnZ015NHhOV013TGpRMk9TQXdMalEyT1NBd0xqUTJPU0F4TGpJeU9TQXdJREV1TmprNGVsd2lJQzgrWEc0Z0lEd3ZVM1puUGx4dUtUdGNibVY0Y0c5eWRDQjBlWEJsSUVSdmQyNURhR1YyY205dVVISnZjSE1nUFNCS1UxZ3VTVzUwY21sdWMybGpSV3hsYldWdWRITmJKM04yWnlkZElDWWdleUJ6YVhwbFB6b2diblZ0WW1WeUlIMDdYRzVsZUhCdmNuUWdZMjl1YzNRZ1JHOTNia05vWlhaeWIyNGdQU0FvY0hKdmNITTZJRVJ2ZDI1RGFHVjJjbTl1VUhKdmNITXBJRDArSUNoY2JpQWdQRk4yWnlCemFYcGxQWHN5TUgwZ2V5NHVMbkJ5YjNCemZUNWNiaUFnSUNBOGNHRjBhQ0JrUFZ3aVRUUXVOVEUySURjdU5UUTRZekF1TkRNMkxUQXVORFEySURFdU1EUXpMVEF1TkRneElERXVOVGMySURCc015NDVNRGdnTXk0M05EY2dNeTQ1TURndE15NDNORGRqTUM0MU16TXRNQzQwT0RFZ01TNHhOREV0TUM0ME5EWWdNUzQxTnpRZ01DQXdMalF6TmlBd0xqUTBOU0F3TGpRd09DQXhMakU1TnlBd0lERXVOakUxTFRBdU5EQTJJREF1TkRFNExUUXVOamsxSURRdU5UQXlMVFF1TmprMUlEUXVOVEF5TFRBdU1qRTNJREF1TWpJekxUQXVOVEF5SURBdU16TTFMVEF1TnpnM0lEQXVNek0xY3kwd0xqVTNMVEF1TVRFeUxUQXVOemc1TFRBdU16TTFZekFnTUMwMExqSTROeTAwTGpBNE5DMDBMalk1TlMwMExqVXdNbk10TUM0ME16WXRNUzR4TnlBd0xURXVOakUxZWx3aUlDOCtYRzRnSUR3dlUzWm5QbHh1S1R0Y2JseHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNHZMeUJFY205d1pHOTNiaUFtSUVOc1pXRnlJRUoxZEhSdmJuTmNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRVJ5YjNCa2IzZHVTVzVrYVdOaGRHOXlVSEp2Y0hNOFhHNGdJRTl3ZEdsdmJpQTlJSFZ1YTI1dmQyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVJRDBnWW05dmJHVmhiaXhjYmlBZ1IzSnZkWEFnWlhoMFpXNWtjeUJIY205MWNFSmhjMlU4VDNCMGFXOXVQaUE5SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0lHVjRkR1Z1WkhNZ1EyOXRiVzl1VUhKdmNITkJibVJEYkdGemMwNWhiV1U4VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENGdlMXh1SUNBdktpb2dWR2hsSUdOb2FXeGtjbVZ1SUhSdklHSmxJSEpsYm1SbGNtVmtJR2x1YzJsa1pTQjBhR1VnYVc1a2FXTmhkRzl5TGlBcUwxeHVJQ0JqYUdsc1pISmxiajg2SUZKbFlXTjBUbTlrWlR0Y2JpQWdMeW9xSUZCeWIzQnpJSFJvWVhRZ2QybHNiQ0JpWlNCd1lYTnpaV1FnYjI0Z2RHOGdkR2hsSUdOb2FXeGtjbVZ1TGlBcUwxeHVJQ0JwYm01bGNsQnliM0J6T2lCS1UxZ3VTVzUwY21sdWMybGpSV3hsYldWdWRITmJKMlJwZGlkZE8xeHVJQ0F2S2lvZ1ZHaGxJR1p2WTNWelpXUWdjM1JoZEdVZ2IyWWdkR2hsSUhObGJHVmpkQzRnS2k5Y2JpQWdhWE5HYjJOMWMyVmtPaUJpYjI5c1pXRnVPMXh1SUNCcGMwUnBjMkZpYkdWa09pQmliMjlzWldGdU8xeHVmVnh1WEc1amIyNXpkQ0JpWVhObFExTlRJRDBnUEZ4dUlDQlBjSFJwYjI0c1hHNGdJRWx6VFhWc2RHa2daWGgwWlc1a2N5QmliMjlzWldGdUxGeHVJQ0JIY205MWNDQmxlSFJsYm1SeklFZHliM1Z3UW1GelpUeFBjSFJwYjI0K1hHNCtLRnh1SUNCN1hHNGdJQ0FnYVhOR2IyTjFjMlZrTEZ4dUlDQWdJSFJvWlcxbE9pQjdYRzRnSUNBZ0lDQnpjR0ZqYVc1bk9pQjdJR0poYzJWVmJtbDBJSDBzWEc0Z0lDQWdJQ0JqYjJ4dmNuTXNYRzRnSUNBZ2ZTeGNiaUFnZlRwY2JpQWdJQ0I4SUVSeWIzQmtiM2R1U1c1a2FXTmhkRzl5VUhKdmNITThUM0IwYVc5dUxDQkpjMDExYkhScExDQkhjbTkxY0Q1Y2JpQWdJQ0I4SUVOc1pXRnlTVzVrYVdOaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDRzWEc0Z0lIVnVjM1I1YkdWa09pQmliMjlzWldGdVhHNHBPaUJEVTFOUFltcGxZM1JYYVhSb1RHRmlaV3dnUFQ0Z0tIdGNiaUFnYkdGaVpXdzZJQ2RwYm1ScFkyRjBiM0pEYjI1MFlXbHVaWEluTEZ4dUlDQmthWE53YkdGNU9pQW5abXhsZUNjc1hHNGdJSFJ5WVc1emFYUnBiMjQ2SUNkamIyeHZjaUF4TlRCdGN5Y3NYRzRnSUM0dUxpaDFibk4wZVd4bFpGeHVJQ0FnSUQ4Z2UzMWNiaUFnSUNBNklIdGNiaUFnSUNBZ0lDQWdZMjlzYjNJNklHbHpSbTlqZFhObFpDQS9JR052Ykc5eWN5NXVaWFYwY21Gc05qQWdPaUJqYjJ4dmNuTXVibVYxZEhKaGJESXdMRnh1SUNBZ0lDQWdJQ0J3WVdSa2FXNW5PaUJpWVhObFZXNXBkQ0FxSURJc1hHNGdJQ0FnSUNBZ0lDYzZhRzkyWlhJbk9pQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5c2IzSTZJR2x6Um05amRYTmxaQ0EvSUdOdmJHOXljeTV1WlhWMGNtRnNPREFnT2lCamIyeHZjbk11Ym1WMWRISmhiRFF3TEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2ZTa3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHTnZibk4wSUdSeWIzQmtiM2R1U1c1a2FXTmhkRzl5UTFOVElEMGdZbUZ6WlVOVFV6dGNibVY0Y0c5eWRDQmpiMjV6ZENCRWNtOXdaRzkzYmtsdVpHbGpZWFJ2Y2lBOUlEeGNiaUFnVDNCMGFXOXVMRnh1SUNCSmMwMTFiSFJwSUdWNGRHVnVaSE1nWW05dmJHVmhiaXhjYmlBZ1IzSnZkWEFnWlhoMFpXNWtjeUJIY205MWNFSmhjMlU4VDNCMGFXOXVQbHh1UGloY2JpQWdjSEp2Y0hNNklFUnliM0JrYjNkdVNXNWthV05oZEc5eVVISnZjSE04VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENWNiaWtnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJR05vYVd4a2NtVnVMQ0JwYm01bGNsQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFpHbDJYRzRnSUNBZ0lDQjdMaTR1WjJWMFUzUjViR1ZRY205d2N5aHdjbTl3Y3l3Z0oyUnliM0JrYjNkdVNXNWthV05oZEc5eUp5d2dlMXh1SUNBZ0lDQWdJQ0JwYm1ScFkyRjBiM0k2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ2RrY205d1pHOTNiaTFwYm1ScFkyRjBiM0luT2lCMGNuVmxMRnh1SUNBZ0lDQWdmU2w5WEc0Z0lDQWdJQ0I3TGk0dWFXNXVaWEpRY205d2MzMWNiaUFnSUNBK1hHNGdJQ0FnSUNCN1kyaHBiR1J5Wlc0Z2ZId2dQRVJ2ZDI1RGFHVjJjbTl1SUM4K2ZWeHVJQ0FnSUR3dlpHbDJQbHh1SUNBcE8xeHVmVHRjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCRGJHVmhja2x1WkdsallYUnZjbEJ5YjNCelBGeHVJQ0JQY0hScGIyNGdQU0IxYm10dWIzZHVMRnh1SUNCSmMwMTFiSFJwSUdWNGRHVnVaSE1nWW05dmJHVmhiaUE5SUdKdmIyeGxZVzRzWEc0Z0lFZHliM1Z3SUdWNGRHVnVaSE1nUjNKdmRYQkNZWE5sUEU5d2RHbHZiajRnUFNCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGx4dVBpQmxlSFJsYm1SeklFTnZiVzF2YmxCeWIzQnpRVzVrUTJ4aGMzTk9ZVzFsUEU5d2RHbHZiaXdnU1hOTmRXeDBhU3dnUjNKdmRYQStJSHRjYmlBZ0x5b3FJRlJvWlNCamFHbHNaSEpsYmlCMGJ5QmlaU0J5Wlc1a1pYSmxaQ0JwYm5OcFpHVWdkR2hsSUdsdVpHbGpZWFJ2Y2k0Z0tpOWNiaUFnWTJocGJHUnlaVzQvT2lCU1pXRmpkRTV2WkdVN1hHNGdJQzhxS2lCUWNtOXdjeUIwYUdGMElIZHBiR3dnWW1VZ2NHRnpjMlZrSUc5dUlIUnZJSFJvWlNCamFHbHNaSEpsYmk0Z0tpOWNiaUFnYVc1dVpYSlFjbTl3Y3pvZ1NsTllMa2x1ZEhKcGJuTnBZMFZzWlcxbGJuUnpXeWRrYVhZblhUdGNiaUFnTHlvcUlGUm9aU0JtYjJOMWMyVmtJSE4wWVhSbElHOW1JSFJvWlNCelpXeGxZM1F1SUNvdlhHNGdJR2x6Um05amRYTmxaRG9nWW05dmJHVmhianRjYm4xY2JseHVaWGh3YjNKMElHTnZibk4wSUdOc1pXRnlTVzVrYVdOaGRHOXlRMU5USUQwZ1ltRnpaVU5UVXp0Y2JtVjRjRzl5ZENCamIyNXpkQ0JEYkdWaGNrbHVaR2xqWVhSdmNpQTlJRHhjYmlBZ1QzQjBhVzl1TEZ4dUlDQkpjMDExYkhScElHVjRkR1Z1WkhNZ1ltOXZiR1ZoYml4Y2JpQWdSM0p2ZFhBZ1pYaDBaVzVrY3lCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGx4dVBpaGNiaUFnY0hKdmNITTZJRU5zWldGeVNXNWthV05oZEc5eVVISnZjSE04VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENWNiaWtnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdJR05vYVd4a2NtVnVMQ0JwYm01bGNsQnliM0J6SUgwZ1BTQndjbTl3Y3p0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNBOFpHbDJYRzRnSUNBZ0lDQjdMaTR1WjJWMFUzUjViR1ZRY205d2N5aHdjbTl3Y3l3Z0oyTnNaV0Z5U1c1a2FXTmhkRzl5Snl3Z2UxeHVJQ0FnSUNBZ0lDQnBibVJwWTJGMGIzSTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDZGpiR1ZoY2kxcGJtUnBZMkYwYjNJbk9pQjBjblZsTEZ4dUlDQWdJQ0FnZlNsOVhHNGdJQ0FnSUNCN0xpNHVhVzV1WlhKUWNtOXdjMzFjYmlBZ0lDQStYRzRnSUNBZ0lDQjdZMmhwYkdSeVpXNGdmSHdnUEVOeWIzTnpTV052YmlBdlBuMWNiaUFnSUNBOEwyUnBkajVjYmlBZ0tUdGNibjA3WEc1Y2JpOHZJRDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZ4dUx5OGdVMlZ3WVhKaGRHOXlYRzR2THlBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JKYm1ScFkyRjBiM0pUWlhCaGNtRjBiM0pRY205d2N6eGNiaUFnVDNCMGFXOXVJRDBnZFc1cmJtOTNiaXhjYmlBZ1NYTk5kV3gwYVNCbGVIUmxibVJ6SUdKdmIyeGxZVzRnUFNCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrSUQwZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo1Y2JqNGdaWGgwWlc1a2N5QkRiMjF0YjI1UWNtOXdjMEZ1WkVOc1lYTnpUbUZ0WlR4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaUI3WEc0Z0lHbHpSR2x6WVdKc1pXUTZJR0p2YjJ4bFlXNDdYRzRnSUdselJtOWpkWE5sWkRvZ1ltOXZiR1ZoYmp0Y2JpQWdhVzV1WlhKUWNtOXdjejg2SUVwVFdDNUpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxc25jM0JoYmlkZE8xeHVmVnh1WEc1bGVIQnZjblFnWTI5dWMzUWdhVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlRMU5USUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0Z4dUlDQjdYRzRnSUNBZ2FYTkVhWE5oWW14bFpDeGNiaUFnSUNCMGFHVnRaVG9nZTF4dUlDQWdJQ0FnYzNCaFkybHVaem9nZXlCaVlYTmxWVzVwZENCOUxGeHVJQ0FnSUNBZ1kyOXNiM0p6TEZ4dUlDQWdJSDBzWEc0Z0lIMDZJRWx1WkdsallYUnZjbE5sY0dGeVlYUnZjbEJ5YjNCelBFOXdkR2x2Yml3Z1NYTk5kV3gwYVN3Z1IzSnZkWEErTEZ4dUlDQjFibk4wZVd4bFpEb2dZbTl2YkdWaGJseHVLVG9nUTFOVFQySnFaV04wVjJsMGFFeGhZbVZzSUQwK0lDaDdYRzRnSUd4aFltVnNPaUFuYVc1a2FXTmhkRzl5VTJWd1lYSmhkRzl5Snl4Y2JpQWdZV3hwWjI1VFpXeG1PaUFuYzNSeVpYUmphQ2NzWEc0Z0lIZHBaSFJvT2lBeExGeHVJQ0F1TGk0b2RXNXpkSGxzWldSY2JpQWdJQ0EvSUh0OVhHNGdJQ0FnT2lCN1hHNGdJQ0FnSUNBZ0lHSmhZMnRuY205MWJtUkRiMnh2Y2pvZ2FYTkVhWE5oWW14bFpDQS9JR052Ykc5eWN5NXVaWFYwY21Gc01UQWdPaUJqYjJ4dmNuTXVibVYxZEhKaGJESXdMRnh1SUNBZ0lDQWdJQ0J0WVhKbmFXNUNiM1IwYjIwNklHSmhjMlZWYm1sMElDb2dNaXhjYmlBZ0lDQWdJQ0FnYldGeVoybHVWRzl3T2lCaVlYTmxWVzVwZENBcUlESXNYRzRnSUNBZ0lDQjlLU3hjYm4wcE8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1NXNWthV05oZEc5eVUyVndZWEpoZEc5eUlEMGdQRnh1SUNCUGNIUnBiMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0tGeHVJQ0J3Y205d2N6b2dTVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDVjYmlrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUdsdWJtVnlVSEp2Y0hNZ2ZTQTlJSEJ5YjNCek8xeHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeHpjR0Z1WEc0Z0lDQWdJQ0I3TGk0dWFXNXVaWEpRY205d2MzMWNiaUFnSUNBZ0lIc3VMaTVuWlhSVGRIbHNaVkJ5YjNCektIQnliM0J6TENBbmFXNWthV05oZEc5eVUyVndZWEpoZEc5eUp5d2dlMXh1SUNBZ0lDQWdJQ0FuYVc1a2FXTmhkRzl5TFhObGNHRnlZWFJ2Y2ljNklIUnlkV1VzWEc0Z0lDQWdJQ0I5S1gxY2JpQWdJQ0F2UGx4dUlDQXBPMXh1ZlR0Y2JseHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNHZMeUJNYjJGa2FXNW5YRzR2THlBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNibHh1WTI5dWMzUWdiRzloWkdsdVowUnZkRUZ1YVcxaGRHbHZibk1nUFNCclpYbG1jbUZ0WlhOZ1hHNGdJREFsTENBNE1DVXNJREV3TUNVZ2V5QnZjR0ZqYVhSNU9pQXdPeUI5WEc0Z0lEUXdKU0I3SUc5d1lXTnBkSGs2SURFN0lIMWNibUE3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JzYjJGa2FXNW5TVzVrYVdOaGRHOXlRMU5USUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0Z4dUlDQjdYRzRnSUNBZ2FYTkdiMk4xYzJWa0xGeHVJQ0FnSUhOcGVtVXNYRzRnSUNBZ2RHaGxiV1U2SUh0Y2JpQWdJQ0FnSUdOdmJHOXljeXhjYmlBZ0lDQWdJSE53WVdOcGJtYzZJSHNnWW1GelpWVnVhWFFnZlN4Y2JpQWdJQ0I5TEZ4dUlDQjlPaUJNYjJGa2FXNW5TVzVrYVdOaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDRzWEc0Z0lIVnVjM1I1YkdWa09pQmliMjlzWldGdVhHNHBPaUJEVTFOUFltcGxZM1JYYVhSb1RHRmlaV3dnUFQ0Z0tIdGNiaUFnYkdGaVpXdzZJQ2RzYjJGa2FXNW5TVzVrYVdOaGRHOXlKeXhjYmlBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQjBjbUZ1YzJsMGFXOXVPaUFuWTI5c2IzSWdNVFV3YlhNbkxGeHVJQ0JoYkdsbmJsTmxiR1k2SUNkalpXNTBaWEluTEZ4dUlDQm1iMjUwVTJsNlpUb2djMmw2WlN4Y2JpQWdiR2x1WlVobGFXZG9kRG9nTVN4Y2JpQWdiV0Z5WjJsdVVtbG5hSFE2SUhOcGVtVXNYRzRnSUhSbGVIUkJiR2xuYmpvZ0oyTmxiblJsY2ljc1hHNGdJSFpsY25ScFkyRnNRV3hwWjI0NklDZHRhV1JrYkdVbkxGeHVJQ0F1TGk0b2RXNXpkSGxzWldSY2JpQWdJQ0EvSUh0OVhHNGdJQ0FnT2lCN1hHNGdJQ0FnSUNBZ0lHTnZiRzl5T2lCcGMwWnZZM1Z6WldRZ1B5QmpiMnh2Y25NdWJtVjFkSEpoYkRZd0lEb2dZMjlzYjNKekxtNWxkWFJ5WVd3eU1DeGNiaUFnSUNBZ0lDQWdjR0ZrWkdsdVp6b2dZbUZ6WlZWdWFYUWdLaUF5TEZ4dUlDQWdJQ0FnZlNrc1hHNTlLVHRjYmx4dWFXNTBaWEptWVdObElFeHZZV1JwYm1kRWIzUlFjbTl3Y3lCN1hHNGdJR1JsYkdGNU9pQnVkVzFpWlhJN1hHNGdJRzltWm5ObGREb2dZbTl2YkdWaGJqdGNibjFjYm1OdmJuTjBJRXh2WVdScGJtZEViM1FnUFNBb2V5QmtaV3hoZVN3Z2IyWm1jMlYwSUgwNklFeHZZV1JwYm1kRWIzUlFjbTl3Y3lrZ1BUNGdLRnh1SUNBOGMzQmhibHh1SUNBZ0lHTnpjejE3ZTF4dUlDQWdJQ0FnWVc1cGJXRjBhVzl1T2lCZ0pIdHNiMkZrYVc1blJHOTBRVzVwYldGMGFXOXVjMzBnTVhNZ1pXRnpaUzFwYmkxdmRYUWdKSHRrWld4aGVYMXRjeUJwYm1acGJtbDBaVHRnTEZ4dUlDQWdJQ0FnWW1GamEyZHliM1Z1WkVOdmJHOXlPaUFuWTNWeWNtVnVkRU52Ykc5eUp5eGNiaUFnSUNBZ0lHSnZjbVJsY2xKaFpHbDFjem9nSnpGbGJTY3NYRzRnSUNBZ0lDQmthWE53YkdGNU9pQW5hVzVzYVc1bExXSnNiMk5ySnl4Y2JpQWdJQ0FnSUcxaGNtZHBia3hsWm5RNklHOW1abk5sZENBL0lDY3haVzBuSURvZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ2FHVnBaMmgwT2lBbk1XVnRKeXhjYmlBZ0lDQWdJSFpsY25ScFkyRnNRV3hwWjI0NklDZDBiM0FuTEZ4dUlDQWdJQ0FnZDJsa2RHZzZJQ2N4WlcwbkxGeHVJQ0FnSUgxOVhHNGdJQzgrWEc0cE8xeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRXh2WVdScGJtZEpibVJwWTJGMGIzSlFjbTl3Y3p4Y2JpQWdUM0IwYVc5dUlEMGdkVzVyYm05M2JpeGNiaUFnU1hOTmRXeDBhU0JsZUhSbGJtUnpJR0p2YjJ4bFlXNGdQU0JpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtJRDBnUjNKdmRYQkNZWE5sUEU5d2RHbHZiajVjYmo0Z1pYaDBaVzVrY3lCRGIyMXRiMjVRY205d2MwRnVaRU5zWVhOelRtRnRaVHhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1BpQjdYRzRnSUM4cUtpQlFjbTl3Y3lCMGFHRjBJSGRwYkd3Z1ltVWdjR0Z6YzJWa0lHOXVJSFJ2SUhSb1pTQmphR2xzWkhKbGJpNGdLaTljYmlBZ2FXNXVaWEpRY205d2N6b2dTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lka2FYWW5YVHRjYmlBZ0x5b3FJRlJvWlNCbWIyTjFjMlZrSUhOMFlYUmxJRzltSUhSb1pTQnpaV3hsWTNRdUlDb3ZYRzRnSUdselJtOWpkWE5sWkRvZ1ltOXZiR1ZoYmp0Y2JpQWdhWE5FYVhOaFlteGxaRG9nWW05dmJHVmhianRjYmlBZ0x5b3FJRk5sZENCemFYcGxJRzltSUhSb1pTQmpiMjUwWVdsdVpYSXVJQ292WEc0Z0lITnBlbVU2SUc1MWJXSmxjanRjYm4xY2JtVjRjRzl5ZENCamIyNXpkQ0JNYjJGa2FXNW5TVzVrYVdOaGRHOXlJRDBnUEZ4dUlDQlBjSFJwYjI0c1hHNGdJRWx6VFhWc2RHa2daWGgwWlc1a2N5QmliMjlzWldGdUxGeHVJQ0JIY205MWNDQmxlSFJsYm1SeklFZHliM1Z3UW1GelpUeFBjSFJwYjI0K1hHNCtLSHRjYmlBZ2FXNXVaWEpRY205d2N5eGNiaUFnYVhOU2RHd3NYRzRnSUhOcGVtVWdQU0EwTEZ4dUlDQXVMaTV5WlhOMFVISnZjSE5jYm4wNklFeHZZV1JwYm1kSmJtUnBZMkYwYjNKUWNtOXdjenhQY0hScGIyNHNJRWx6VFhWc2RHa3NJRWR5YjNWd1Bpa2dQVDRnZTF4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUR4a2FYWmNiaUFnSUNBZ0lIc3VMaTVuWlhSVGRIbHNaVkJ5YjNCektGeHVJQ0FnSUNBZ0lDQjdJQzR1TG5KbGMzUlFjbTl3Y3l3Z2FXNXVaWEpRY205d2N5d2dhWE5TZEd3c0lITnBlbVVnZlN4Y2JpQWdJQ0FnSUNBZ0oyeHZZV1JwYm1kSmJtUnBZMkYwYjNJbkxGeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnYVc1a2FXTmhkRzl5T2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNkc2IyRmthVzVuTFdsdVpHbGpZWFJ2Y2ljNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNsOVhHNGdJQ0FnSUNCN0xpNHVhVzV1WlhKUWNtOXdjMzFjYmlBZ0lDQStYRzRnSUNBZ0lDQThURzloWkdsdVowUnZkQ0JrWld4aGVUMTdNSDBnYjJabWMyVjBQWHRwYzFKMGJIMGdMejVjYmlBZ0lDQWdJRHhNYjJGa2FXNW5SRzkwSUdSbGJHRjVQWHN4TmpCOUlHOW1abk5sZENBdlBseHVJQ0FnSUNBZ1BFeHZZV1JwYm1kRWIzUWdaR1ZzWVhrOWV6TXlNSDBnYjJabWMyVjBQWHNoYVhOU2RHeDlJQzgrWEc0Z0lDQWdQQzlrYVhZK1hHNGdJQ2s3WEc1OU8xeHVJbDE5ICovXCIsXG4gIHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfX1xufTtcbnZhciBTdmcgPSBmdW5jdGlvbiBTdmcoX3JlZikge1xuICB2YXIgc2l6ZSA9IF9yZWYuc2l6ZSxcbiAgICBwcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBfZXhjbHVkZWQkMik7XG4gIHJldHVybiBqc3goXCJzdmdcIiwgX2V4dGVuZHMoe1xuICAgIGhlaWdodDogc2l6ZSxcbiAgICB3aWR0aDogc2l6ZSxcbiAgICB2aWV3Qm94OiBcIjAgMCAyMCAyMFwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgZm9jdXNhYmxlOiBcImZhbHNlXCIsXG4gICAgY3NzOiBfcmVmMlxuICB9LCBwcm9wcykpO1xufTtcbnZhciBDcm9zc0ljb24gPSBmdW5jdGlvbiBDcm9zc0ljb24ocHJvcHMpIHtcbiAgcmV0dXJuIGpzeChTdmcsIF9leHRlbmRzKHtcbiAgICBzaXplOiAyMFxuICB9LCBwcm9wcyksIGpzeChcInBhdGhcIiwge1xuICAgIGQ6IFwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiXG4gIH0pKTtcbn07XG52YXIgRG93bkNoZXZyb24gPSBmdW5jdGlvbiBEb3duQ2hldnJvbihwcm9wcykge1xuICByZXR1cm4ganN4KFN2ZywgX2V4dGVuZHMoe1xuICAgIHNpemU6IDIwXG4gIH0sIHByb3BzKSwganN4KFwicGF0aFwiLCB7XG4gICAgZDogXCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCJcbiAgfSkpO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEJ1dHRvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgYmFzZUNTUyA9IGZ1bmN0aW9uIGJhc2VDU1MoX3JlZjMsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0ZvY3VzZWQgPSBfcmVmMy5pc0ZvY3VzZWQsXG4gICAgX3JlZjMkdGhlbWUgPSBfcmVmMy50aGVtZSxcbiAgICBiYXNlVW5pdCA9IF9yZWYzJHRoZW1lLnNwYWNpbmcuYmFzZVVuaXQsXG4gICAgY29sb3JzID0gX3JlZjMkdGhlbWUuY29sb3JzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdpbmRpY2F0b3JDb250YWluZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgICAnOmhvdmVyJzoge1xuICAgICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsODAgOiBjb2xvcnMubmV1dHJhbDQwXG4gICAgfVxuICB9KTtcbn07XG52YXIgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xudmFyIERyb3Bkb3duSW5kaWNhdG9yID0gZnVuY3Rpb24gRHJvcGRvd25JbmRpY2F0b3IocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdkcm9wZG93bkluZGljYXRvcicsIHtcbiAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgJ2Ryb3Bkb3duLWluZGljYXRvcic6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbiB8fCBqc3goRG93bkNoZXZyb24sIG51bGwpKTtcbn07XG52YXIgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xudmFyIENsZWFySW5kaWNhdG9yID0gZnVuY3Rpb24gQ2xlYXJJbmRpY2F0b3IocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdjbGVhckluZGljYXRvcicsIHtcbiAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgJ2NsZWFyLWluZGljYXRvcic6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbiB8fCBqc3goQ3Jvc3NJY29uLCBudWxsKSk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlcGFyYXRvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnZhciBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSBmdW5jdGlvbiBpbmRpY2F0b3JTZXBhcmF0b3JDU1MoX3JlZjQsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0Rpc2FibGVkID0gX3JlZjQuaXNEaXNhYmxlZCxcbiAgICBfcmVmNCR0aGVtZSA9IF9yZWY0LnRoZW1lLFxuICAgIGJhc2VVbml0ID0gX3JlZjQkdGhlbWUuc3BhY2luZy5iYXNlVW5pdCxcbiAgICBjb2xvcnMgPSBfcmVmNCR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gICAgYWxpZ25TZWxmOiAnc3RyZXRjaCcsXG4gICAgd2lkdGg6IDFcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgICBtYXJnaW5Cb3R0b206IGJhc2VVbml0ICogMixcbiAgICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMlxuICB9KTtcbn07XG52YXIgSW5kaWNhdG9yU2VwYXJhdG9yID0gZnVuY3Rpb24gSW5kaWNhdG9yU2VwYXJhdG9yKHByb3BzKSB7XG4gIHZhciBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcInNwYW5cIiwgX2V4dGVuZHMoe30sIGlubmVyUHJvcHMsIGdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JTZXBhcmF0b3InLCB7XG4gICAgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlXG4gIH0pKSk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG52YXIgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXMoX3RlbXBsYXRlT2JqZWN0IHx8IChfdGVtcGxhdGVPYmplY3QgPSBfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsKFtcIlxcbiAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDA7IH1cXG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cXG5cIl0pKSk7XG52YXIgbG9hZGluZ0luZGljYXRvckNTUyA9IGZ1bmN0aW9uIGxvYWRpbmdJbmRpY2F0b3JDU1MoX3JlZjUsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0ZvY3VzZWQgPSBfcmVmNS5pc0ZvY3VzZWQsXG4gICAgc2l6ZSA9IF9yZWY1LnNpemUsXG4gICAgX3JlZjUkdGhlbWUgPSBfcmVmNS50aGVtZSxcbiAgICBjb2xvcnMgPSBfcmVmNSR0aGVtZS5jb2xvcnMsXG4gICAgYmFzZVVuaXQgPSBfcmVmNSR0aGVtZS5zcGFjaW5nLmJhc2VVbml0O1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICAgIGZvbnRTaXplOiBzaXplLFxuICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJ1xuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgICBwYWRkaW5nOiBiYXNlVW5pdCAqIDJcbiAgfSk7XG59O1xudmFyIExvYWRpbmdEb3QgPSBmdW5jdGlvbiBMb2FkaW5nRG90KF9yZWY2KSB7XG4gIHZhciBkZWxheSA9IF9yZWY2LmRlbGF5LFxuICAgIG9mZnNldCA9IF9yZWY2Lm9mZnNldDtcbiAgcmV0dXJuIGpzeChcInNwYW5cIiwge1xuICAgIGNzczogLyojX19QVVJFX18qL2NzcyQyKHtcbiAgICAgIGFuaW1hdGlvbjogXCJcIi5jb25jYXQobG9hZGluZ0RvdEFuaW1hdGlvbnMsIFwiIDFzIGVhc2UtaW4tb3V0IFwiKS5jb25jYXQoZGVsYXksIFwibXMgaW5maW5pdGU7XCIpLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGJvcmRlclJhZGl1czogJzFlbScsXG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgIG1hcmdpbkxlZnQ6IG9mZnNldCA/ICcxZW0nIDogdW5kZWZpbmVkLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nXG4gICAgfSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiO2xhYmVsOkxvYWRpbmdEb3Q7XCIsIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiBcIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR2xqWVhSdmNuTXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVcxUlNTSXNJbVpwYkdVaU9pSnBibVJwWTJGMGIzSnpMblJ6ZUNJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaUJBYW5ONElHcHplQ0FxTDF4dWFXMXdiM0owSUhzZ1VtVmhZM1JPYjJSbElIMGdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2FuTjRMQ0JyWlhsbWNtRnRaWE1nZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVjYm1sdGNHOXlkQ0I3WEc0Z0lFTnZiVzF2YmxCeWIzQnpRVzVrUTJ4aGMzTk9ZVzFsTEZ4dUlDQkRVMU5QWW1wbFkzUlhhWFJvVEdGaVpXd3NYRzRnSUVkeWIzVndRbUZ6WlN4Y2JuMGdabkp2YlNBbkxpNHZkSGx3WlhNbk8xeHVhVzF3YjNKMElIc2daMlYwVTNSNWJHVlFjbTl3Y3lCOUlHWnliMjBnSnk0dUwzVjBhV3h6Snp0Y2JseHVMeThnUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNHZMeUJFY205d1pHOTNiaUFtSUVOc1pXRnlJRWxqYjI1elhHNHZMeUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JseHVZMjl1YzNRZ1UzWm5JRDBnS0h0Y2JpQWdjMmw2WlN4Y2JpQWdMaTR1Y0hKdmNITmNibjA2SUVwVFdDNUpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxc25jM1puSjEwZ0ppQjdJSE5wZW1VNklHNTFiV0psY2lCOUtTQTlQaUFvWEc0Z0lEeHpkbWRjYmlBZ0lDQm9aV2xuYUhROWUzTnBlbVY5WEc0Z0lDQWdkMmxrZEdnOWUzTnBlbVY5WEc0Z0lDQWdkbWxsZDBKdmVEMWNJakFnTUNBeU1DQXlNRndpWEc0Z0lDQWdZWEpwWVMxb2FXUmtaVzQ5WENKMGNuVmxYQ0pjYmlBZ0lDQm1iMk4xYzJGaWJHVTlYQ0ptWVd4elpWd2lYRzRnSUNBZ1kzTnpQWHQ3WEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV0pzYjJOckp5eGNiaUFnSUNBZ0lHWnBiR3c2SUNkamRYSnlaVzUwUTI5c2IzSW5MRnh1SUNBZ0lDQWdiR2x1WlVobGFXZG9kRG9nTVN4Y2JpQWdJQ0FnSUhOMGNtOXJaVG9nSjJOMWNuSmxiblJEYjJ4dmNpY3NYRzRnSUNBZ0lDQnpkSEp2YTJWWGFXUjBhRG9nTUN4Y2JpQWdJQ0I5ZlZ4dUlDQWdJSHN1TGk1d2NtOXdjMzFjYmlBZ0x6NWNiaWs3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRU55YjNOelNXTnZibEJ5YjNCeklEMGdTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lkemRtY25YU0FtSUhzZ2MybDZaVDg2SUc1MWJXSmxjaUI5TzF4dVpYaHdiM0owSUdOdmJuTjBJRU55YjNOelNXTnZiaUE5SUNod2NtOXdjem9nUTNKdmMzTkpZMjl1VUhKdmNITXBJRDArSUNoY2JpQWdQRk4yWnlCemFYcGxQWHN5TUgwZ2V5NHVMbkJ5YjNCemZUNWNiaUFnSUNBOGNHRjBhQ0JrUFZ3aVRURTBMak0wT0NBeE5DNDRORGxqTFRBdU5EWTVJREF1TkRZNUxURXVNakk1SURBdU5EWTVMVEV1TmprM0lEQnNMVEl1TmpVeExUTXVNRE13TFRJdU5qVXhJRE11TURJNVl5MHdMalEyT1NBd0xqUTJPUzB4TGpJeU9TQXdMalEyT1MweExqWTVOeUF3TFRBdU5EWTVMVEF1TkRZNUxUQXVORFk1TFRFdU1qSTVJREF0TVM0Mk9UZHNNaTQzTlRndE15NHhOUzB5TGpjMU9TMHpMakUxTW1NdE1DNDBOamt0TUM0ME5qa3RNQzQwTmprdE1TNHlNamdnTUMweExqWTVOM014TGpJeU9DMHdMalEyT1NBeExqWTVOeUF3YkRJdU5qVXlJRE11TURNeElESXVOalV4TFRNdU1ETXhZekF1TkRZNUxUQXVORFk1SURFdU1qSTRMVEF1TkRZNUlERXVOamszSURCek1DNDBOamtnTVM0eU1qa2dNQ0F4TGpZNU4yd3RNaTQzTlRnZ015NHhOVElnTWk0M05UZ2dNeTR4TldNd0xqUTJPU0F3TGpRMk9TQXdMalEyT1NBeExqSXlPU0F3SURFdU5qazRlbHdpSUM4K1hHNGdJRHd2VTNablBseHVLVHRjYm1WNGNHOXlkQ0IwZVhCbElFUnZkMjVEYUdWMmNtOXVVSEp2Y0hNZ1BTQktVMWd1U1c1MGNtbHVjMmxqUld4bGJXVnVkSE5iSjNOMlp5ZGRJQ1lnZXlCemFYcGxQem9nYm5WdFltVnlJSDA3WEc1bGVIQnZjblFnWTI5dWMzUWdSRzkzYmtOb1pYWnliMjRnUFNBb2NISnZjSE02SUVSdmQyNURhR1YyY205dVVISnZjSE1wSUQwK0lDaGNiaUFnUEZOMlp5QnphWHBsUFhzeU1IMGdleTR1TG5CeWIzQnpmVDVjYmlBZ0lDQThjR0YwYUNCa1BWd2lUVFF1TlRFMklEY3VOVFE0WXpBdU5ETTJMVEF1TkRRMklERXVNRFF6TFRBdU5EZ3hJREV1TlRjMklEQnNNeTQ1TURnZ015NDNORGNnTXk0NU1EZ3RNeTQzTkRkak1DNDFNek10TUM0ME9ERWdNUzR4TkRFdE1DNDBORFlnTVM0MU56UWdNQ0F3TGpRek5pQXdMalEwTlNBd0xqUXdPQ0F4TGpFNU55QXdJREV1TmpFMUxUQXVOREEySURBdU5ERTRMVFF1TmprMUlEUXVOVEF5TFRRdU5qazFJRFF1TlRBeUxUQXVNakUzSURBdU1qSXpMVEF1TlRBeUlEQXVNek0xTFRBdU56ZzNJREF1TXpNMWN5MHdMalUzTFRBdU1URXlMVEF1TnpnNUxUQXVNek0xWXpBZ01DMDBMakk0TnkwMExqQTROQzAwTGpZNU5TMDBMalV3TW5NdE1DNDBNell0TVM0eE55QXdMVEV1TmpFMWVsd2lJQzgrWEc0Z0lEd3ZVM1puUGx4dUtUdGNibHh1THk4Z1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzR2THlCRWNtOXdaRzkzYmlBbUlFTnNaV0Z5SUVKMWRIUnZibk5jYmk4dklEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVSeWIzQmtiM2R1U1c1a2FXTmhkRzl5VUhKdmNITThYRzRnSUU5d2RHbHZiaUE5SUhWdWEyNXZkMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1SUQwZ1ltOXZiR1ZoYml4Y2JpQWdSM0p2ZFhBZ1pYaDBaVzVrY3lCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGlBOUlFZHliM1Z3UW1GelpUeFBjSFJwYjI0K1hHNCtJR1Y0ZEdWdVpITWdRMjl0Ylc5dVVISnZjSE5CYm1SRGJHRnpjMDVoYldVOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDRnZTF4dUlDQXZLaW9nVkdobElHTm9hV3hrY21WdUlIUnZJR0psSUhKbGJtUmxjbVZrSUdsdWMybGtaU0IwYUdVZ2FXNWthV05oZEc5eUxpQXFMMXh1SUNCamFHbHNaSEpsYmo4NklGSmxZV04wVG05a1pUdGNiaUFnTHlvcUlGQnliM0J6SUhSb1lYUWdkMmxzYkNCaVpTQndZWE56WldRZ2IyNGdkRzhnZEdobElHTm9hV3hrY21WdUxpQXFMMXh1SUNCcGJtNWxjbEJ5YjNCek9pQktVMWd1U1c1MGNtbHVjMmxqUld4bGJXVnVkSE5iSjJScGRpZGRPMXh1SUNBdktpb2dWR2hsSUdadlkzVnpaV1FnYzNSaGRHVWdiMllnZEdobElITmxiR1ZqZEM0Z0tpOWNiaUFnYVhOR2IyTjFjMlZrT2lCaWIyOXNaV0Z1TzF4dUlDQnBjMFJwYzJGaWJHVmtPaUJpYjI5c1pXRnVPMXh1ZlZ4dVhHNWpiMjV6ZENCaVlYTmxRMU5USUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0Z4dUlDQjdYRzRnSUNBZ2FYTkdiMk4xYzJWa0xGeHVJQ0FnSUhSb1pXMWxPaUI3WEc0Z0lDQWdJQ0J6Y0dGamFXNW5PaUI3SUdKaGMyVlZibWwwSUgwc1hHNGdJQ0FnSUNCamIyeHZjbk1zWEc0Z0lDQWdmU3hjYmlBZ2ZUcGNiaUFnSUNCOElFUnliM0JrYjNkdVNXNWthV05oZEc5eVVISnZjSE04VDNCMGFXOXVMQ0JKYzAxMWJIUnBMQ0JIY205MWNENWNiaUFnSUNCOElFTnNaV0Z5U1c1a2FXTmhkRzl5VUhKdmNITThUM0IwYVc5dUxDQkpjMDExYkhScExDQkhjbTkxY0Q0c1hHNGdJSFZ1YzNSNWJHVmtPaUJpYjI5c1pXRnVYRzRwT2lCRFUxTlBZbXBsWTNSWGFYUm9UR0ZpWld3Z1BUNGdLSHRjYmlBZ2JHRmlaV3c2SUNkcGJtUnBZMkYwYjNKRGIyNTBZV2x1WlhJbkxGeHVJQ0JrYVhOd2JHRjVPaUFuWm14bGVDY3NYRzRnSUhSeVlXNXphWFJwYjI0NklDZGpiMnh2Y2lBeE5UQnRjeWNzWEc0Z0lDNHVMaWgxYm5OMGVXeGxaRnh1SUNBZ0lEOGdlMzFjYmlBZ0lDQTZJSHRjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJR2x6Um05amRYTmxaQ0EvSUdOdmJHOXljeTV1WlhWMGNtRnNOakFnT2lCamIyeHZjbk11Ym1WMWRISmhiREl3TEZ4dUlDQWdJQ0FnSUNCd1lXUmthVzVuT2lCaVlYTmxWVzVwZENBcUlESXNYRzRnSUNBZ0lDQWdJQ2M2YUc5MlpYSW5PaUI3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXNiM0k2SUdselJtOWpkWE5sWkNBL0lHTnZiRzl5Y3k1dVpYVjBjbUZzT0RBZ09pQmpiMnh2Y25NdWJtVjFkSEpoYkRRd0xGeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdmU2tzWEc1OUtUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHUnliM0JrYjNkdVNXNWthV05oZEc5eVExTlRJRDBnWW1GelpVTlRVenRjYm1WNGNHOXlkQ0JqYjI1emRDQkVjbTl3Wkc5M2JrbHVaR2xqWVhSdmNpQTlJRHhjYmlBZ1QzQjBhVzl1TEZ4dUlDQkpjMDExYkhScElHVjRkR1Z1WkhNZ1ltOXZiR1ZoYml4Y2JpQWdSM0p2ZFhBZ1pYaDBaVzVrY3lCSGNtOTFjRUpoYzJVOFQzQjBhVzl1UGx4dVBpaGNiaUFnY0hKdmNITTZJRVJ5YjNCa2IzZHVTVzVrYVdOaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDVjYmlrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUdOb2FXeGtjbVZ1TENCcGJtNWxjbEJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThaR2wyWEc0Z0lDQWdJQ0I3TGk0dVoyVjBVM1I1YkdWUWNtOXdjeWh3Y205d2N5d2dKMlJ5YjNCa2IzZHVTVzVrYVdOaGRHOXlKeXdnZTF4dUlDQWdJQ0FnSUNCcGJtUnBZMkYwYjNJNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNka2NtOXdaRzkzYmkxcGJtUnBZMkYwYjNJbk9pQjBjblZsTEZ4dUlDQWdJQ0FnZlNsOVhHNGdJQ0FnSUNCN0xpNHVhVzV1WlhKUWNtOXdjMzFjYmlBZ0lDQStYRzRnSUNBZ0lDQjdZMmhwYkdSeVpXNGdmSHdnUEVSdmQyNURhR1YyY205dUlDOCtmVnh1SUNBZ0lEd3ZaR2wyUGx4dUlDQXBPMXh1ZlR0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkRiR1ZoY2tsdVpHbGpZWFJ2Y2xCeWIzQnpQRnh1SUNCUGNIUnBiMjRnUFNCMWJtdHViM2R1TEZ4dUlDQkpjMDExYkhScElHVjRkR1Z1WkhNZ1ltOXZiR1ZoYmlBOUlHSnZiMnhsWVc0c1hHNGdJRWR5YjNWd0lHVjRkR1Z1WkhNZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo0Z1BTQkhjbTkxY0VKaGMyVThUM0IwYVc5dVBseHVQaUJsZUhSbGJtUnpJRU52YlcxdmJsQnliM0J6UVc1a1EyeGhjM05PWVcxbFBFOXdkR2x2Yml3Z1NYTk5kV3gwYVN3Z1IzSnZkWEErSUh0Y2JpQWdMeW9xSUZSb1pTQmphR2xzWkhKbGJpQjBieUJpWlNCeVpXNWtaWEpsWkNCcGJuTnBaR1VnZEdobElHbHVaR2xqWVhSdmNpNGdLaTljYmlBZ1kyaHBiR1J5Wlc0L09pQlNaV0ZqZEU1dlpHVTdYRzRnSUM4cUtpQlFjbTl3Y3lCMGFHRjBJSGRwYkd3Z1ltVWdjR0Z6YzJWa0lHOXVJSFJ2SUhSb1pTQmphR2xzWkhKbGJpNGdLaTljYmlBZ2FXNXVaWEpRY205d2N6b2dTbE5ZTGtsdWRISnBibk5wWTBWc1pXMWxiblJ6V3lka2FYWW5YVHRjYmlBZ0x5b3FJRlJvWlNCbWIyTjFjMlZrSUhOMFlYUmxJRzltSUhSb1pTQnpaV3hsWTNRdUlDb3ZYRzRnSUdselJtOWpkWE5sWkRvZ1ltOXZiR1ZoYmp0Y2JuMWNibHh1Wlhod2IzSjBJR052Ym5OMElHTnNaV0Z5U1c1a2FXTmhkRzl5UTFOVElEMGdZbUZ6WlVOVFV6dGNibVY0Y0c5eWRDQmpiMjV6ZENCRGJHVmhja2x1WkdsallYUnZjaUE5SUR4Y2JpQWdUM0IwYVc5dUxGeHVJQ0JKYzAxMWJIUnBJR1Y0ZEdWdVpITWdZbTl2YkdWaGJpeGNiaUFnUjNKdmRYQWdaWGgwWlc1a2N5QkhjbTkxY0VKaGMyVThUM0IwYVc5dVBseHVQaWhjYmlBZ2NISnZjSE02SUVOc1pXRnlTVzVrYVdOaGRHOXlVSEp2Y0hNOFQzQjBhVzl1TENCSmMwMTFiSFJwTENCSGNtOTFjRDVjYmlrZ1BUNGdlMXh1SUNCamIyNXpkQ0I3SUdOb2FXeGtjbVZ1TENCcGJtNWxjbEJ5YjNCeklIMGdQU0J3Y205d2N6dGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQThaR2wyWEc0Z0lDQWdJQ0I3TGk0dVoyVjBVM1I1YkdWUWNtOXdjeWh3Y205d2N5d2dKMk5zWldGeVNXNWthV05oZEc5eUp5d2dlMXh1SUNBZ0lDQWdJQ0JwYm1ScFkyRjBiM0k2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ2RqYkdWaGNpMXBibVJwWTJGMGIzSW5PaUIwY25WbExGeHVJQ0FnSUNBZ2ZTbDlYRzRnSUNBZ0lDQjdMaTR1YVc1dVpYSlFjbTl3YzMxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0I3WTJocGJHUnlaVzRnZkh3Z1BFTnliM056U1dOdmJpQXZQbjFjYmlBZ0lDQThMMlJwZGo1Y2JpQWdLVHRjYm4wN1hHNWNiaTh2SUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWeHVMeThnVTJWd1lYSmhkRzl5WEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSmJtUnBZMkYwYjNKVFpYQmhjbUYwYjNKUWNtOXdjenhjYmlBZ1QzQjBhVzl1SUQwZ2RXNXJibTkzYml4Y2JpQWdTWE5OZFd4MGFTQmxlSFJsYm1SeklHSnZiMnhsWVc0Z1BTQmliMjlzWldGdUxGeHVJQ0JIY205MWNDQmxlSFJsYm1SeklFZHliM1Z3UW1GelpUeFBjSFJwYjI0K0lEMGdSM0p2ZFhCQ1lYTmxQRTl3ZEdsdmJqNWNiajRnWlhoMFpXNWtjeUJEYjIxdGIyNVFjbTl3YzBGdVpFTnNZWE56VG1GdFpUeFBjSFJwYjI0c0lFbHpUWFZzZEdrc0lFZHliM1Z3UGlCN1hHNGdJR2x6UkdsellXSnNaV1E2SUdKdmIyeGxZVzQ3WEc0Z0lHbHpSbTlqZFhObFpEb2dZbTl2YkdWaGJqdGNiaUFnYVc1dVpYSlFjbTl3Y3o4NklFcFRXQzVKYm5SeWFXNXphV05GYkdWdFpXNTBjMXNuYzNCaGJpZGRPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnYVc1a2FXTmhkRzl5VTJWd1lYSmhkRzl5UTFOVElEMGdQRnh1SUNCUGNIUnBiMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0tGeHVJQ0I3WEc0Z0lDQWdhWE5FYVhOaFlteGxaQ3hjYmlBZ0lDQjBhR1Z0WlRvZ2UxeHVJQ0FnSUNBZ2MzQmhZMmx1WnpvZ2V5QmlZWE5sVlc1cGRDQjlMRnh1SUNBZ0lDQWdZMjlzYjNKekxGeHVJQ0FnSUgwc1hHNGdJSDA2SUVsdVpHbGpZWFJ2Y2xObGNHRnlZWFJ2Y2xCeWIzQnpQRTl3ZEdsdmJpd2dTWE5OZFd4MGFTd2dSM0p2ZFhBK0xGeHVJQ0IxYm5OMGVXeGxaRG9nWW05dmJHVmhibHh1S1RvZ1ExTlRUMkpxWldOMFYybDBhRXhoWW1Wc0lEMCtJQ2g3WEc0Z0lHeGhZbVZzT2lBbmFXNWthV05oZEc5eVUyVndZWEpoZEc5eUp5eGNiaUFnWVd4cFoyNVRaV3htT2lBbmMzUnlaWFJqYUNjc1hHNGdJSGRwWkhSb09pQXhMRnh1SUNBdUxpNG9kVzV6ZEhsc1pXUmNiaUFnSUNBL0lIdDlYRzRnSUNBZ09pQjdYRzRnSUNBZ0lDQWdJR0poWTJ0bmNtOTFibVJEYjJ4dmNqb2dhWE5FYVhOaFlteGxaQ0EvSUdOdmJHOXljeTV1WlhWMGNtRnNNVEFnT2lCamIyeHZjbk11Ym1WMWRISmhiREl3TEZ4dUlDQWdJQ0FnSUNCdFlYSm5hVzVDYjNSMGIyMDZJR0poYzJWVmJtbDBJQ29nTWl4Y2JpQWdJQ0FnSUNBZ2JXRnlaMmx1Vkc5d09pQmlZWE5sVlc1cGRDQXFJRElzWEc0Z0lDQWdJQ0I5S1N4Y2JuMHBPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdTVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlJRDBnUEZ4dUlDQlBjSFJwYjI0c1hHNGdJRWx6VFhWc2RHa2daWGgwWlc1a2N5QmliMjlzWldGdUxGeHVJQ0JIY205MWNDQmxlSFJsYm1SeklFZHliM1Z3UW1GelpUeFBjSFJwYjI0K1hHNCtLRnh1SUNCd2NtOXdjem9nU1c1a2FXTmhkRzl5VTJWd1lYSmhkRzl5VUhKdmNITThUM0IwYVc5dUxDQkpjMDExYkhScExDQkhjbTkxY0Q1Y2Jpa2dQVDRnZTF4dUlDQmpiMjV6ZENCN0lHbHVibVZ5VUhKdmNITWdmU0E5SUhCeWIzQnpPMXh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHh6Y0dGdVhHNGdJQ0FnSUNCN0xpNHVhVzV1WlhKUWNtOXdjMzFjYmlBZ0lDQWdJSHN1TGk1blpYUlRkSGxzWlZCeWIzQnpLSEJ5YjNCekxDQW5hVzVrYVdOaGRHOXlVMlZ3WVhKaGRHOXlKeXdnZTF4dUlDQWdJQ0FnSUNBbmFXNWthV05oZEc5eUxYTmxjR0Z5WVhSdmNpYzZJSFJ5ZFdVc1hHNGdJQ0FnSUNCOUtYMWNiaUFnSUNBdlBseHVJQ0FwTzF4dWZUdGNibHh1THk4Z1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzR2THlCTWIyRmthVzVuWEc0dkx5QTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmx4dVkyOXVjM1FnYkc5aFpHbHVaMFJ2ZEVGdWFXMWhkR2x2Ym5NZ1BTQnJaWGxtY21GdFpYTmdYRzRnSURBbExDQTRNQ1VzSURFd01DVWdleUJ2Y0dGamFYUjVPaUF3T3lCOVhHNGdJRFF3SlNCN0lHOXdZV05wZEhrNklERTdJSDFjYm1BN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCc2IyRmthVzVuU1c1a2FXTmhkRzl5UTFOVElEMGdQRnh1SUNCUGNIUnBiMjRzWEc0Z0lFbHpUWFZzZEdrZ1pYaDBaVzVrY3lCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrWEc0K0tGeHVJQ0I3WEc0Z0lDQWdhWE5HYjJOMWMyVmtMRnh1SUNBZ0lITnBlbVVzWEc0Z0lDQWdkR2hsYldVNklIdGNiaUFnSUNBZ0lHTnZiRzl5Y3l4Y2JpQWdJQ0FnSUhOd1lXTnBibWM2SUhzZ1ltRnpaVlZ1YVhRZ2ZTeGNiaUFnSUNCOUxGeHVJQ0I5T2lCTWIyRmthVzVuU1c1a2FXTmhkRzl5VUhKdmNITThUM0IwYVc5dUxDQkpjMDExYkhScExDQkhjbTkxY0Q0c1hHNGdJSFZ1YzNSNWJHVmtPaUJpYjI5c1pXRnVYRzRwT2lCRFUxTlBZbXBsWTNSWGFYUm9UR0ZpWld3Z1BUNGdLSHRjYmlBZ2JHRmlaV3c2SUNkc2IyRmthVzVuU1c1a2FXTmhkRzl5Snl4Y2JpQWdaR2x6Y0d4aGVUb2dKMlpzWlhnbkxGeHVJQ0IwY21GdWMybDBhVzl1T2lBblkyOXNiM0lnTVRVd2JYTW5MRnh1SUNCaGJHbG5ibE5sYkdZNklDZGpaVzUwWlhJbkxGeHVJQ0JtYjI1MFUybDZaVG9nYzJsNlpTeGNiaUFnYkdsdVpVaGxhV2RvZERvZ01TeGNiaUFnYldGeVoybHVVbWxuYUhRNklITnBlbVVzWEc0Z0lIUmxlSFJCYkdsbmJqb2dKMk5sYm5SbGNpY3NYRzRnSUhabGNuUnBZMkZzUVd4cFoyNDZJQ2R0YVdSa2JHVW5MRnh1SUNBdUxpNG9kVzV6ZEhsc1pXUmNiaUFnSUNBL0lIdDlYRzRnSUNBZ09pQjdYRzRnSUNBZ0lDQWdJR052Ykc5eU9pQnBjMFp2WTNWelpXUWdQeUJqYjJ4dmNuTXVibVYxZEhKaGJEWXdJRG9nWTI5c2IzSnpMbTVsZFhSeVlXd3lNQ3hjYmlBZ0lDQWdJQ0FnY0dGa1pHbHVaem9nWW1GelpWVnVhWFFnS2lBeUxGeHVJQ0FnSUNBZ2ZTa3NYRzU5S1R0Y2JseHVhVzUwWlhKbVlXTmxJRXh2WVdScGJtZEViM1JRY205d2N5QjdYRzRnSUdSbGJHRjVPaUJ1ZFcxaVpYSTdYRzRnSUc5bVpuTmxkRG9nWW05dmJHVmhianRjYm4xY2JtTnZibk4wSUV4dllXUnBibWRFYjNRZ1BTQW9leUJrWld4aGVTd2diMlptYzJWMElIMDZJRXh2WVdScGJtZEViM1JRY205d2N5a2dQVDRnS0Z4dUlDQThjM0JoYmx4dUlDQWdJR056Y3oxN2UxeHVJQ0FnSUNBZ1lXNXBiV0YwYVc5dU9pQmdKSHRzYjJGa2FXNW5SRzkwUVc1cGJXRjBhVzl1YzMwZ01YTWdaV0Z6WlMxcGJpMXZkWFFnSkh0a1pXeGhlWDF0Y3lCcGJtWnBibWwwWlR0Z0xGeHVJQ0FnSUNBZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lBblkzVnljbVZ1ZEVOdmJHOXlKeXhjYmlBZ0lDQWdJR0p2Y21SbGNsSmhaR2wxY3pvZ0p6RmxiU2NzWEc0Z0lDQWdJQ0JrYVhOd2JHRjVPaUFuYVc1c2FXNWxMV0pzYjJOckp5eGNiaUFnSUNBZ0lHMWhjbWRwYmt4bFpuUTZJRzltWm5ObGRDQS9JQ2N4WlcwbklEb2dkVzVrWldacGJtVmtMRnh1SUNBZ0lDQWdhR1ZwWjJoME9pQW5NV1Z0Snl4Y2JpQWdJQ0FnSUhabGNuUnBZMkZzUVd4cFoyNDZJQ2QwYjNBbkxGeHVJQ0FnSUNBZ2QybGtkR2c2SUNjeFpXMG5MRnh1SUNBZ0lIMTlYRzRnSUM4K1hHNHBPMXh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUV4dllXUnBibWRKYm1ScFkyRjBiM0pRY205d2N6eGNiaUFnVDNCMGFXOXVJRDBnZFc1cmJtOTNiaXhjYmlBZ1NYTk5kV3gwYVNCbGVIUmxibVJ6SUdKdmIyeGxZVzRnUFNCaWIyOXNaV0Z1TEZ4dUlDQkhjbTkxY0NCbGVIUmxibVJ6SUVkeWIzVndRbUZ6WlR4UGNIUnBiMjQrSUQwZ1IzSnZkWEJDWVhObFBFOXdkR2x2Ymo1Y2JqNGdaWGgwWlc1a2N5QkRiMjF0YjI1UWNtOXdjMEZ1WkVOc1lYTnpUbUZ0WlR4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaUI3WEc0Z0lDOHFLaUJRY205d2N5QjBhR0YwSUhkcGJHd2dZbVVnY0dGemMyVmtJRzl1SUhSdklIUm9aU0JqYUdsc1pISmxiaTRnS2k5Y2JpQWdhVzV1WlhKUWNtOXdjem9nU2xOWUxrbHVkSEpwYm5OcFkwVnNaVzFsYm5Seld5ZGthWFluWFR0Y2JpQWdMeW9xSUZSb1pTQm1iMk4xYzJWa0lITjBZWFJsSUc5bUlIUm9aU0J6Wld4bFkzUXVJQ292WEc0Z0lHbHpSbTlqZFhObFpEb2dZbTl2YkdWaGJqdGNiaUFnYVhORWFYTmhZbXhsWkRvZ1ltOXZiR1ZoYmp0Y2JpQWdMeW9xSUZObGRDQnphWHBsSUc5bUlIUm9aU0JqYjI1MFlXbHVaWEl1SUNvdlhHNGdJSE5wZW1VNklHNTFiV0psY2p0Y2JuMWNibVY0Y0c5eWRDQmpiMjV6ZENCTWIyRmthVzVuU1c1a2FXTmhkRzl5SUQwZ1BGeHVJQ0JQY0hScGIyNHNYRzRnSUVselRYVnNkR2tnWlhoMFpXNWtjeUJpYjI5c1pXRnVMRnh1SUNCSGNtOTFjQ0JsZUhSbGJtUnpJRWR5YjNWd1FtRnpaVHhQY0hScGIyNCtYRzQrS0h0Y2JpQWdhVzV1WlhKUWNtOXdjeXhjYmlBZ2FYTlNkR3dzWEc0Z0lITnBlbVVnUFNBMExGeHVJQ0F1TGk1eVpYTjBVSEp2Y0hOY2JuMDZJRXh2WVdScGJtZEpibVJwWTJGMGIzSlFjbTl3Y3p4UGNIUnBiMjRzSUVselRYVnNkR2tzSUVkeWIzVndQaWtnUFQ0Z2UxeHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeGthWFpjYmlBZ0lDQWdJSHN1TGk1blpYUlRkSGxzWlZCeWIzQnpLRnh1SUNBZ0lDQWdJQ0I3SUM0dUxuSmxjM1JRY205d2N5d2dhVzV1WlhKUWNtOXdjeXdnYVhOU2RHd3NJSE5wZW1VZ2ZTeGNiaUFnSUNBZ0lDQWdKMnh2WVdScGJtZEpibVJwWTJGMGIzSW5MRnh1SUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXNWthV05oZEc5eU9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDZHNiMkZrYVc1bkxXbHVaR2xqWVhSdmNpYzZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDbDlYRzRnSUNBZ0lDQjdMaTR1YVc1dVpYSlFjbTl3YzMxY2JpQWdJQ0ErWEc0Z0lDQWdJQ0E4VEc5aFpHbHVaMFJ2ZENCa1pXeGhlVDE3TUgwZ2IyWm1jMlYwUFh0cGMxSjBiSDBnTHo1Y2JpQWdJQ0FnSUR4TWIyRmthVzVuUkc5MElHUmxiR0Y1UFhzeE5qQjlJRzltWm5ObGRDQXZQbHh1SUNBZ0lDQWdQRXh2WVdScGJtZEViM1FnWkdWc1lYazllek15TUgwZ2IyWm1jMlYwUFhzaGFYTlNkR3g5SUM4K1hHNGdJQ0FnUEM5a2FYWStYRzRnSUNrN1hHNTlPMXh1SWwxOSAqL1wiKVxuICB9KTtcbn07XG52YXIgTG9hZGluZ0luZGljYXRvciA9IGZ1bmN0aW9uIExvYWRpbmdJbmRpY2F0b3IoX3JlZjcpIHtcbiAgdmFyIGlubmVyUHJvcHMgPSBfcmVmNy5pbm5lclByb3BzLFxuICAgIGlzUnRsID0gX3JlZjcuaXNSdGwsXG4gICAgX3JlZjckc2l6ZSA9IF9yZWY3LnNpemUsXG4gICAgc2l6ZSA9IF9yZWY3JHNpemUgPT09IHZvaWQgMCA/IDQgOiBfcmVmNyRzaXplLFxuICAgIHJlc3RQcm9wcyA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmNywgX2V4Y2x1ZGVkMik7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCByZXN0UHJvcHMpLCB7fSwge1xuICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsXG4gICAgaXNSdGw6IGlzUnRsLFxuICAgIHNpemU6IHNpemVcbiAgfSksICdsb2FkaW5nSW5kaWNhdG9yJywge1xuICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSwganN4KExvYWRpbmdEb3QsIHtcbiAgICBkZWxheTogMCxcbiAgICBvZmZzZXQ6IGlzUnRsXG4gIH0pLCBqc3goTG9hZGluZ0RvdCwge1xuICAgIGRlbGF5OiAxNjAsXG4gICAgb2Zmc2V0OiB0cnVlXG4gIH0pLCBqc3goTG9hZGluZ0RvdCwge1xuICAgIGRlbGF5OiAzMjAsXG4gICAgb2Zmc2V0OiAhaXNSdGxcbiAgfSkpO1xufTtcblxudmFyIGNzcyQxID0gZnVuY3Rpb24gY3NzKF9yZWYsIHVuc3R5bGVkKSB7XG4gIHZhciBpc0Rpc2FibGVkID0gX3JlZi5pc0Rpc2FibGVkLFxuICAgIGlzRm9jdXNlZCA9IF9yZWYuaXNGb2N1c2VkLFxuICAgIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIGNvbG9ycyA9IF9yZWYkdGhlbWUuY29sb3JzLFxuICAgIGJvcmRlclJhZGl1cyA9IF9yZWYkdGhlbWUuYm9yZGVyUmFkaXVzLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmc7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ2NvbnRyb2wnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGN1cnNvcjogJ2RlZmF1bHQnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgbWluSGVpZ2h0OiBzcGFjaW5nLmNvbnRyb2xIZWlnaHQsXG4gICAgb3V0bGluZTogJzAgIWltcG9ydGFudCcsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgdHJhbnNpdGlvbjogJ2FsbCAxMDBtcydcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDUgOiBjb2xvcnMubmV1dHJhbDAsXG4gICAgYm9yZGVyQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogaXNGb2N1c2VkID8gY29sb3JzLnByaW1hcnkgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICAgIGJvcmRlcldpZHRoOiAxLFxuICAgIGJveFNoYWRvdzogaXNGb2N1c2VkID8gXCIwIDAgMCAxcHggXCIuY29uY2F0KGNvbG9ycy5wcmltYXJ5KSA6IHVuZGVmaW5lZCxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGJvcmRlckNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMucHJpbWFyeSA6IGNvbG9ycy5uZXV0cmFsMzBcbiAgICB9XG4gIH0pO1xufTtcbnZhciBDb250cm9sID0gZnVuY3Rpb24gQ29udHJvbChwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpc0ZvY3VzZWQgPSBwcm9wcy5pc0ZvY3VzZWQsXG4gICAgaW5uZXJSZWYgPSBwcm9wcy5pbm5lclJlZixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBtZW51SXNPcGVuID0gcHJvcHMubWVudUlzT3BlbjtcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7XG4gICAgcmVmOiBpbm5lclJlZlxuICB9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnY29udHJvbCcsIHtcbiAgICBjb250cm9sOiB0cnVlLFxuICAgICdjb250cm9sLS1pcy1kaXNhYmxlZCc6IGlzRGlzYWJsZWQsXG4gICAgJ2NvbnRyb2wtLWlzLWZvY3VzZWQnOiBpc0ZvY3VzZWQsXG4gICAgJ2NvbnRyb2wtLW1lbnUtaXMtb3Blbic6IG1lbnVJc09wZW5cbiAgfSksIGlubmVyUHJvcHMsIHtcbiAgICBcImFyaWEtZGlzYWJsZWRcIjogaXNEaXNhYmxlZCB8fCB1bmRlZmluZWRcbiAgfSksIGNoaWxkcmVuKTtcbn07XG52YXIgQ29udHJvbCQxID0gQ29udHJvbDtcblxudmFyIF9leGNsdWRlZCQxID0gW1wiZGF0YVwiXTtcbnZhciBncm91cENTUyA9IGZ1bmN0aW9uIGdyb3VwQ1NTKF9yZWYsIHVuc3R5bGVkKSB7XG4gIHZhciBzcGFjaW5nID0gX3JlZi50aGVtZS5zcGFjaW5nO1xuICByZXR1cm4gdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBwYWRkaW5nQm90dG9tOiBzcGFjaW5nLmJhc2VVbml0ICogMixcbiAgICBwYWRkaW5nVG9wOiBzcGFjaW5nLmJhc2VVbml0ICogMlxuICB9O1xufTtcbnZhciBHcm91cCA9IGZ1bmN0aW9uIEdyb3VwKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGN4ID0gcHJvcHMuY3gsXG4gICAgZ2V0U3R5bGVzID0gcHJvcHMuZ2V0U3R5bGVzLFxuICAgIGdldENsYXNzTmFtZXMgPSBwcm9wcy5nZXRDbGFzc05hbWVzLFxuICAgIEhlYWRpbmcgPSBwcm9wcy5IZWFkaW5nLFxuICAgIGhlYWRpbmdQcm9wcyA9IHByb3BzLmhlYWRpbmdQcm9wcyxcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcyxcbiAgICBsYWJlbCA9IHByb3BzLmxhYmVsLFxuICAgIHRoZW1lID0gcHJvcHMudGhlbWUsXG4gICAgc2VsZWN0UHJvcHMgPSBwcm9wcy5zZWxlY3RQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ2dyb3VwJywge1xuICAgIGdyb3VwOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSwganN4KEhlYWRpbmcsIF9leHRlbmRzKHt9LCBoZWFkaW5nUHJvcHMsIHtcbiAgICBzZWxlY3RQcm9wczogc2VsZWN0UHJvcHMsXG4gICAgdGhlbWU6IHRoZW1lLFxuICAgIGdldFN0eWxlczogZ2V0U3R5bGVzLFxuICAgIGdldENsYXNzTmFtZXM6IGdldENsYXNzTmFtZXMsXG4gICAgY3g6IGN4XG4gIH0pLCBsYWJlbCksIGpzeChcImRpdlwiLCBudWxsLCBjaGlsZHJlbikpO1xufTtcbnZhciBncm91cEhlYWRpbmdDU1MgPSBmdW5jdGlvbiBncm91cEhlYWRpbmdDU1MoX3JlZjIsIHVuc3R5bGVkKSB7XG4gIHZhciBfcmVmMiR0aGVtZSA9IF9yZWYyLnRoZW1lLFxuICAgIGNvbG9ycyA9IF9yZWYyJHRoZW1lLmNvbG9ycyxcbiAgICBzcGFjaW5nID0gX3JlZjIkdGhlbWUuc3BhY2luZztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe1xuICAgIGxhYmVsOiAnZ3JvdXAnLFxuICAgIGN1cnNvcjogJ2RlZmF1bHQnLFxuICAgIGRpc3BsYXk6ICdibG9jaydcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBjb2xvcjogY29sb3JzLm5ldXRyYWw0MCxcbiAgICBmb250U2l6ZTogJzc1JScsXG4gICAgZm9udFdlaWdodDogNTAwLFxuICAgIG1hcmdpbkJvdHRvbTogJzAuMjVlbScsXG4gICAgcGFkZGluZ0xlZnQ6IHNwYWNpbmcuYmFzZVVuaXQgKiAzLFxuICAgIHBhZGRpbmdSaWdodDogc3BhY2luZy5iYXNlVW5pdCAqIDMsXG4gICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZSdcbiAgfSk7XG59O1xudmFyIEdyb3VwSGVhZGluZyA9IGZ1bmN0aW9uIEdyb3VwSGVhZGluZyhwcm9wcykge1xuICB2YXIgX2NsZWFuQ29tbW9uUHJvcHMgPSBjbGVhbkNvbW1vblByb3BzKHByb3BzKTtcbiAgICBfY2xlYW5Db21tb25Qcm9wcy5kYXRhO1xuICAgIHZhciBpbm5lclByb3BzID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF9jbGVhbkNvbW1vblByb3BzLCBfZXhjbHVkZWQkMSk7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdncm91cEhlYWRpbmcnLCB7XG4gICAgJ2dyb3VwLWhlYWRpbmcnOiB0cnVlXG4gIH0pLCBpbm5lclByb3BzKSk7XG59O1xudmFyIEdyb3VwJDEgPSBHcm91cDtcblxudmFyIF9leGNsdWRlZCA9IFtcImlubmVyUmVmXCIsIFwiaXNEaXNhYmxlZFwiLCBcImlzSGlkZGVuXCIsIFwiaW5wdXRDbGFzc05hbWVcIl07XG52YXIgaW5wdXRDU1MgPSBmdW5jdGlvbiBpbnB1dENTUyhfcmVmLCB1bnN0eWxlZCkge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9yZWYuaXNEaXNhYmxlZCxcbiAgICB2YWx1ZSA9IF9yZWYudmFsdWUsXG4gICAgX3JlZiR0aGVtZSA9IF9yZWYudGhlbWUsXG4gICAgc3BhY2luZyA9IF9yZWYkdGhlbWUuc3BhY2luZyxcbiAgICBjb2xvcnMgPSBfcmVmJHRoZW1lLmNvbG9ycztcbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7XG4gICAgdmlzaWJpbGl0eTogaXNEaXNhYmxlZCA/ICdoaWRkZW4nIDogJ3Zpc2libGUnLFxuICAgIC8vIGZvcmNlIGNzcyB0byByZWNvbXB1dGUgd2hlbiB2YWx1ZSBjaGFuZ2UgZHVlIHRvIEBlbW90aW9uIGJ1Zy5cbiAgICAvLyBXZSBjYW4gcmVtb3ZlIGl0IHdoZW5ldmVyIHRoZSBidWcgaXMgZml4ZWQuXG4gICAgdHJhbnNmb3JtOiB2YWx1ZSA/ICd0cmFuc2xhdGVaKDApJyA6ICcnXG4gIH0sIGNvbnRhaW5lclN0eWxlKSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBtYXJnaW46IHNwYWNpbmcuYmFzZVVuaXQgLyAyLFxuICAgIHBhZGRpbmdCb3R0b206IHNwYWNpbmcuYmFzZVVuaXQgLyAyLFxuICAgIHBhZGRpbmdUb3A6IHNwYWNpbmcuYmFzZVVuaXQgLyAyLFxuICAgIGNvbG9yOiBjb2xvcnMubmV1dHJhbDgwXG4gIH0pO1xufTtcbnZhciBzcGFjaW5nU3R5bGUgPSB7XG4gIGdyaWRBcmVhOiAnMSAvIDInLFxuICBmb250OiAnaW5oZXJpdCcsXG4gIG1pbldpZHRoOiAnMnB4JyxcbiAgYm9yZGVyOiAwLFxuICBtYXJnaW46IDAsXG4gIG91dGxpbmU6IDAsXG4gIHBhZGRpbmc6IDBcbn07XG52YXIgY29udGFpbmVyU3R5bGUgPSB7XG4gIGZsZXg6ICcxIDEgYXV0bycsXG4gIGRpc3BsYXk6ICdpbmxpbmUtZ3JpZCcsXG4gIGdyaWRBcmVhOiAnMSAvIDEgLyAyIC8gMycsXG4gIGdyaWRUZW1wbGF0ZUNvbHVtbnM6ICcwIG1pbi1jb250ZW50JyxcbiAgJyY6YWZ0ZXInOiBfb2JqZWN0U3ByZWFkKHtcbiAgICBjb250ZW50OiAnYXR0cihkYXRhLXZhbHVlKSBcIiBcIicsXG4gICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgd2hpdGVTcGFjZTogJ3ByZSdcbiAgfSwgc3BhY2luZ1N0eWxlKVxufTtcbnZhciBpbnB1dFN0eWxlID0gZnVuY3Rpb24gaW5wdXRTdHlsZShpc0hpZGRlbikge1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdpbnB1dCcsXG4gICAgY29sb3I6ICdpbmhlcml0JyxcbiAgICBiYWNrZ3JvdW5kOiAwLFxuICAgIG9wYWNpdHk6IGlzSGlkZGVuID8gMCA6IDEsXG4gICAgd2lkdGg6ICcxMDAlJ1xuICB9LCBzcGFjaW5nU3R5bGUpO1xufTtcbnZhciBJbnB1dCA9IGZ1bmN0aW9uIElucHV0KHByb3BzKSB7XG4gIHZhciBjeCA9IHByb3BzLmN4LFxuICAgIHZhbHVlID0gcHJvcHMudmFsdWU7XG4gIHZhciBfY2xlYW5Db21tb25Qcm9wcyA9IGNsZWFuQ29tbW9uUHJvcHMocHJvcHMpLFxuICAgIGlubmVyUmVmID0gX2NsZWFuQ29tbW9uUHJvcHMuaW5uZXJSZWYsXG4gICAgaXNEaXNhYmxlZCA9IF9jbGVhbkNvbW1vblByb3BzLmlzRGlzYWJsZWQsXG4gICAgaXNIaWRkZW4gPSBfY2xlYW5Db21tb25Qcm9wcy5pc0hpZGRlbixcbiAgICBpbnB1dENsYXNzTmFtZSA9IF9jbGVhbkNvbW1vblByb3BzLmlucHV0Q2xhc3NOYW1lLFxuICAgIGlubmVyUHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX2NsZWFuQ29tbW9uUHJvcHMsIF9leGNsdWRlZCk7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe30sIGdldFN0eWxlUHJvcHMocHJvcHMsICdpbnB1dCcsIHtcbiAgICAnaW5wdXQtY29udGFpbmVyJzogdHJ1ZVxuICB9KSwge1xuICAgIFwiZGF0YS12YWx1ZVwiOiB2YWx1ZSB8fCAnJ1xuICB9KSwganN4KFwiaW5wdXRcIiwgX2V4dGVuZHMoe1xuICAgIGNsYXNzTmFtZTogY3goe1xuICAgICAgaW5wdXQ6IHRydWVcbiAgICB9LCBpbnB1dENsYXNzTmFtZSksXG4gICAgcmVmOiBpbm5lclJlZixcbiAgICBzdHlsZTogaW5wdXRTdHlsZShpc0hpZGRlbiksXG4gICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWRcbiAgfSwgaW5uZXJQcm9wcykpKTtcbn07XG52YXIgSW5wdXQkMSA9IElucHV0O1xuXG52YXIgbXVsdGlWYWx1ZUNTUyA9IGZ1bmN0aW9uIG11bHRpVmFsdWVDU1MoX3JlZiwgdW5zdHlsZWQpIHtcbiAgdmFyIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmcsXG4gICAgYm9yZGVyUmFkaXVzID0gX3JlZiR0aGVtZS5ib3JkZXJSYWRpdXMsXG4gICAgY29sb3JzID0gX3JlZiR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ211bHRpVmFsdWUnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBtaW5XaWR0aDogMFxuICB9LCB1bnN0eWxlZCA/IHt9IDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLm5ldXRyYWwxMCxcbiAgICBib3JkZXJSYWRpdXM6IGJvcmRlclJhZGl1cyAvIDIsXG4gICAgbWFyZ2luOiBzcGFjaW5nLmJhc2VVbml0IC8gMlxuICB9KTtcbn07XG52YXIgbXVsdGlWYWx1ZUxhYmVsQ1NTID0gZnVuY3Rpb24gbXVsdGlWYWx1ZUxhYmVsQ1NTKF9yZWYyLCB1bnN0eWxlZCkge1xuICB2YXIgX3JlZjIkdGhlbWUgPSBfcmVmMi50aGVtZSxcbiAgICBib3JkZXJSYWRpdXMgPSBfcmVmMiR0aGVtZS5ib3JkZXJSYWRpdXMsXG4gICAgY29sb3JzID0gX3JlZjIkdGhlbWUuY29sb3JzLFxuICAgIGNyb3BXaXRoRWxsaXBzaXMgPSBfcmVmMi5jcm9wV2l0aEVsbGlwc2lzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHRleHRPdmVyZmxvdzogY3JvcFdpdGhFbGxpcHNpcyB8fCBjcm9wV2l0aEVsbGlwc2lzID09PSB1bmRlZmluZWQgPyAnZWxsaXBzaXMnIDogdW5kZWZpbmVkLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgYm9yZGVyUmFkaXVzOiBib3JkZXJSYWRpdXMgLyAyLFxuICAgIGNvbG9yOiBjb2xvcnMubmV1dHJhbDgwLFxuICAgIGZvbnRTaXplOiAnODUlJyxcbiAgICBwYWRkaW5nOiAzLFxuICAgIHBhZGRpbmdMZWZ0OiA2XG4gIH0pO1xufTtcbnZhciBtdWx0aVZhbHVlUmVtb3ZlQ1NTID0gZnVuY3Rpb24gbXVsdGlWYWx1ZVJlbW92ZUNTUyhfcmVmMywgdW5zdHlsZWQpIHtcbiAgdmFyIF9yZWYzJHRoZW1lID0gX3JlZjMudGhlbWUsXG4gICAgc3BhY2luZyA9IF9yZWYzJHRoZW1lLnNwYWNpbmcsXG4gICAgYm9yZGVyUmFkaXVzID0gX3JlZjMkdGhlbWUuYm9yZGVyUmFkaXVzLFxuICAgIGNvbG9ycyA9IF9yZWYzJHRoZW1lLmNvbG9ycyxcbiAgICBpc0ZvY3VzZWQgPSBfcmVmMy5pc0ZvY3VzZWQ7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBkaXNwbGF5OiAnZmxleCdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBib3JkZXJSYWRpdXM6IGJvcmRlclJhZGl1cyAvIDIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMuZGFuZ2VyTGlnaHQgOiB1bmRlZmluZWQsXG4gICAgcGFkZGluZ0xlZnQ6IHNwYWNpbmcuYmFzZVVuaXQsXG4gICAgcGFkZGluZ1JpZ2h0OiBzcGFjaW5nLmJhc2VVbml0LFxuICAgICc6aG92ZXInOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5kYW5nZXJMaWdodCxcbiAgICAgIGNvbG9yOiBjb2xvcnMuZGFuZ2VyXG4gICAgfVxuICB9KTtcbn07XG52YXIgTXVsdGlWYWx1ZUdlbmVyaWMgPSBmdW5jdGlvbiBNdWx0aVZhbHVlR2VuZXJpYyhfcmVmNCkge1xuICB2YXIgY2hpbGRyZW4gPSBfcmVmNC5jaGlsZHJlbixcbiAgICBpbm5lclByb3BzID0gX3JlZjQuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBpbm5lclByb3BzLCBjaGlsZHJlbik7XG59O1xudmFyIE11bHRpVmFsdWVDb250YWluZXIgPSBNdWx0aVZhbHVlR2VuZXJpYztcbnZhciBNdWx0aVZhbHVlTGFiZWwgPSBNdWx0aVZhbHVlR2VuZXJpYztcbmZ1bmN0aW9uIE11bHRpVmFsdWVSZW1vdmUoX3JlZjUpIHtcbiAgdmFyIGNoaWxkcmVuID0gX3JlZjUuY2hpbGRyZW4sXG4gICAgaW5uZXJQcm9wcyA9IF9yZWY1LmlubmVyUHJvcHM7XG4gIHJldHVybiBqc3goXCJkaXZcIiwgX2V4dGVuZHMoe1xuICAgIHJvbGU6IFwiYnV0dG9uXCJcbiAgfSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuIHx8IGpzeChDcm9zc0ljb24sIHtcbiAgICBzaXplOiAxNFxuICB9KSk7XG59XG52YXIgTXVsdGlWYWx1ZSA9IGZ1bmN0aW9uIE11bHRpVmFsdWUocHJvcHMpIHtcbiAgdmFyIGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4sXG4gICAgY29tcG9uZW50cyA9IHByb3BzLmNvbXBvbmVudHMsXG4gICAgZGF0YSA9IHByb3BzLmRhdGEsXG4gICAgaW5uZXJQcm9wcyA9IHByb3BzLmlubmVyUHJvcHMsXG4gICAgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQsXG4gICAgcmVtb3ZlUHJvcHMgPSBwcm9wcy5yZW1vdmVQcm9wcyxcbiAgICBzZWxlY3RQcm9wcyA9IHByb3BzLnNlbGVjdFByb3BzO1xuICB2YXIgQ29udGFpbmVyID0gY29tcG9uZW50cy5Db250YWluZXIsXG4gICAgTGFiZWwgPSBjb21wb25lbnRzLkxhYmVsLFxuICAgIFJlbW92ZSA9IGNvbXBvbmVudHMuUmVtb3ZlO1xuICByZXR1cm4ganN4KENvbnRhaW5lciwge1xuICAgIGRhdGE6IGRhdGEsXG4gICAgaW5uZXJQcm9wczogX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAnbXVsdGlWYWx1ZScsIHtcbiAgICAgICdtdWx0aS12YWx1ZSc6IHRydWUsXG4gICAgICAnbXVsdGktdmFsdWUtLWlzLWRpc2FibGVkJzogaXNEaXNhYmxlZFxuICAgIH0pKSwgaW5uZXJQcm9wcyksXG4gICAgc2VsZWN0UHJvcHM6IHNlbGVjdFByb3BzXG4gIH0sIGpzeChMYWJlbCwge1xuICAgIGRhdGE6IGRhdGEsXG4gICAgaW5uZXJQcm9wczogX29iamVjdFNwcmVhZCh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ211bHRpVmFsdWVMYWJlbCcsIHtcbiAgICAgICdtdWx0aS12YWx1ZV9fbGFiZWwnOiB0cnVlXG4gICAgfSkpLFxuICAgIHNlbGVjdFByb3BzOiBzZWxlY3RQcm9wc1xuICB9LCBjaGlsZHJlbiksIGpzeChSZW1vdmUsIHtcbiAgICBkYXRhOiBkYXRhLFxuICAgIGlubmVyUHJvcHM6IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ211bHRpVmFsdWVSZW1vdmUnLCB7XG4gICAgICAnbXVsdGktdmFsdWVfX3JlbW92ZSc6IHRydWVcbiAgICB9KSksIHt9LCB7XG4gICAgICAnYXJpYS1sYWJlbCc6IFwiUmVtb3ZlIFwiLmNvbmNhdChjaGlsZHJlbiB8fCAnb3B0aW9uJylcbiAgICB9LCByZW1vdmVQcm9wcyksXG4gICAgc2VsZWN0UHJvcHM6IHNlbGVjdFByb3BzXG4gIH0pKTtcbn07XG52YXIgTXVsdGlWYWx1ZSQxID0gTXVsdGlWYWx1ZTtcblxudmFyIG9wdGlvbkNTUyA9IGZ1bmN0aW9uIG9wdGlvbkNTUyhfcmVmLCB1bnN0eWxlZCkge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9yZWYuaXNEaXNhYmxlZCxcbiAgICBpc0ZvY3VzZWQgPSBfcmVmLmlzRm9jdXNlZCxcbiAgICBpc1NlbGVjdGVkID0gX3JlZi5pc1NlbGVjdGVkLFxuICAgIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmcsXG4gICAgY29sb3JzID0gX3JlZiR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ29wdGlvbicsXG4gICAgY3Vyc29yOiAnZGVmYXVsdCcsXG4gICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgdXNlclNlbGVjdDogJ25vbmUnLFxuICAgIFdlYmtpdFRhcEhpZ2hsaWdodENvbG9yOiAncmdiYSgwLCAwLCAwLCAwKSdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzU2VsZWN0ZWQgPyBjb2xvcnMucHJpbWFyeSA6IGlzRm9jdXNlZCA/IGNvbG9ycy5wcmltYXJ5MjUgOiAndHJhbnNwYXJlbnQnLFxuICAgIGNvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwyMCA6IGlzU2VsZWN0ZWQgPyBjb2xvcnMubmV1dHJhbDAgOiAnaW5oZXJpdCcsXG4gICAgcGFkZGluZzogXCJcIi5jb25jYXQoc3BhY2luZy5iYXNlVW5pdCAqIDIsIFwicHggXCIpLmNvbmNhdChzcGFjaW5nLmJhc2VVbml0ICogMywgXCJweFwiKSxcbiAgICAvLyBwcm92aWRlIHNvbWUgYWZmb3JkYW5jZSBvbiB0b3VjaCBkZXZpY2VzXG4gICAgJzphY3RpdmUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICFpc0Rpc2FibGVkID8gaXNTZWxlY3RlZCA/IGNvbG9ycy5wcmltYXJ5IDogY29sb3JzLnByaW1hcnk1MCA6IHVuZGVmaW5lZFxuICAgIH1cbiAgfSk7XG59O1xudmFyIE9wdGlvbiA9IGZ1bmN0aW9uIE9wdGlvbihwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpc0ZvY3VzZWQgPSBwcm9wcy5pc0ZvY3VzZWQsXG4gICAgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQsXG4gICAgaW5uZXJSZWYgPSBwcm9wcy5pbm5lclJlZixcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ29wdGlvbicsIHtcbiAgICBvcHRpb246IHRydWUsXG4gICAgJ29wdGlvbi0taXMtZGlzYWJsZWQnOiBpc0Rpc2FibGVkLFxuICAgICdvcHRpb24tLWlzLWZvY3VzZWQnOiBpc0ZvY3VzZWQsXG4gICAgJ29wdGlvbi0taXMtc2VsZWN0ZWQnOiBpc1NlbGVjdGVkXG4gIH0pLCB7XG4gICAgcmVmOiBpbm5lclJlZixcbiAgICBcImFyaWEtZGlzYWJsZWRcIjogaXNEaXNhYmxlZFxuICB9LCBpbm5lclByb3BzKSwgY2hpbGRyZW4pO1xufTtcbnZhciBPcHRpb24kMSA9IE9wdGlvbjtcblxudmFyIHBsYWNlaG9sZGVyQ1NTID0gZnVuY3Rpb24gcGxhY2Vob2xkZXJDU1MoX3JlZiwgdW5zdHlsZWQpIHtcbiAgdmFyIF9yZWYkdGhlbWUgPSBfcmVmLnRoZW1lLFxuICAgIHNwYWNpbmcgPSBfcmVmJHRoZW1lLnNwYWNpbmcsXG4gICAgY29sb3JzID0gX3JlZiR0aGVtZS5jb2xvcnM7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKHtcbiAgICBsYWJlbDogJ3BsYWNlaG9sZGVyJyxcbiAgICBncmlkQXJlYTogJzEgLyAxIC8gMiAvIDMnXG4gIH0sIHVuc3R5bGVkID8ge30gOiB7XG4gICAgY29sb3I6IGNvbG9ycy5uZXV0cmFsNTAsXG4gICAgbWFyZ2luTGVmdDogc3BhY2luZy5iYXNlVW5pdCAvIDIsXG4gICAgbWFyZ2luUmlnaHQ6IHNwYWNpbmcuYmFzZVVuaXQgLyAyXG4gIH0pO1xufTtcbnZhciBQbGFjZWhvbGRlciA9IGZ1bmN0aW9uIFBsYWNlaG9sZGVyKHByb3BzKSB7XG4gIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgIGlubmVyUHJvcHMgPSBwcm9wcy5pbm5lclByb3BzO1xuICByZXR1cm4ganN4KFwiZGl2XCIsIF9leHRlbmRzKHt9LCBnZXRTdHlsZVByb3BzKHByb3BzLCAncGxhY2Vob2xkZXInLCB7XG4gICAgcGxhY2Vob2xkZXI6IHRydWVcbiAgfSksIGlubmVyUHJvcHMpLCBjaGlsZHJlbik7XG59O1xudmFyIFBsYWNlaG9sZGVyJDEgPSBQbGFjZWhvbGRlcjtcblxudmFyIGNzcyA9IGZ1bmN0aW9uIGNzcyhfcmVmLCB1bnN0eWxlZCkge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9yZWYuaXNEaXNhYmxlZCxcbiAgICBfcmVmJHRoZW1lID0gX3JlZi50aGVtZSxcbiAgICBzcGFjaW5nID0gX3JlZiR0aGVtZS5zcGFjaW5nLFxuICAgIGNvbG9ycyA9IF9yZWYkdGhlbWUuY29sb3JzO1xuICByZXR1cm4gX29iamVjdFNwcmVhZCh7XG4gICAgbGFiZWw6ICdzaW5nbGVWYWx1ZScsXG4gICAgZ3JpZEFyZWE6ICcxIC8gMSAvIDIgLyAzJyxcbiAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCdcbiAgfSwgdW5zdHlsZWQgPyB7fSA6IHtcbiAgICBjb2xvcjogaXNEaXNhYmxlZCA/IGNvbG9ycy5uZXV0cmFsNDAgOiBjb2xvcnMubmV1dHJhbDgwLFxuICAgIG1hcmdpbkxlZnQ6IHNwYWNpbmcuYmFzZVVuaXQgLyAyLFxuICAgIG1hcmdpblJpZ2h0OiBzcGFjaW5nLmJhc2VVbml0IC8gMlxuICB9KTtcbn07XG52YXIgU2luZ2xlVmFsdWUgPSBmdW5jdGlvbiBTaW5nbGVWYWx1ZShwcm9wcykge1xuICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcbiAgICBpc0Rpc2FibGVkID0gcHJvcHMuaXNEaXNhYmxlZCxcbiAgICBpbm5lclByb3BzID0gcHJvcHMuaW5uZXJQcm9wcztcbiAgcmV0dXJuIGpzeChcImRpdlwiLCBfZXh0ZW5kcyh7fSwgZ2V0U3R5bGVQcm9wcyhwcm9wcywgJ3NpbmdsZVZhbHVlJywge1xuICAgICdzaW5nbGUtdmFsdWUnOiB0cnVlLFxuICAgICdzaW5nbGUtdmFsdWUtLWlzLWRpc2FibGVkJzogaXNEaXNhYmxlZFxuICB9KSwgaW5uZXJQcm9wcyksIGNoaWxkcmVuKTtcbn07XG52YXIgU2luZ2xlVmFsdWUkMSA9IFNpbmdsZVZhbHVlO1xuXG52YXIgY29tcG9uZW50cyA9IHtcbiAgQ2xlYXJJbmRpY2F0b3I6IENsZWFySW5kaWNhdG9yLFxuICBDb250cm9sOiBDb250cm9sJDEsXG4gIERyb3Bkb3duSW5kaWNhdG9yOiBEcm9wZG93bkluZGljYXRvcixcbiAgRG93bkNoZXZyb246IERvd25DaGV2cm9uLFxuICBDcm9zc0ljb246IENyb3NzSWNvbixcbiAgR3JvdXA6IEdyb3VwJDEsXG4gIEdyb3VwSGVhZGluZzogR3JvdXBIZWFkaW5nLFxuICBJbmRpY2F0b3JzQ29udGFpbmVyOiBJbmRpY2F0b3JzQ29udGFpbmVyLFxuICBJbmRpY2F0b3JTZXBhcmF0b3I6IEluZGljYXRvclNlcGFyYXRvcixcbiAgSW5wdXQ6IElucHV0JDEsXG4gIExvYWRpbmdJbmRpY2F0b3I6IExvYWRpbmdJbmRpY2F0b3IsXG4gIE1lbnU6IE1lbnUkMSxcbiAgTWVudUxpc3Q6IE1lbnVMaXN0LFxuICBNZW51UG9ydGFsOiBNZW51UG9ydGFsLFxuICBMb2FkaW5nTWVzc2FnZTogTG9hZGluZ01lc3NhZ2UsXG4gIE5vT3B0aW9uc01lc3NhZ2U6IE5vT3B0aW9uc01lc3NhZ2UsXG4gIE11bHRpVmFsdWU6IE11bHRpVmFsdWUkMSxcbiAgTXVsdGlWYWx1ZUNvbnRhaW5lcjogTXVsdGlWYWx1ZUNvbnRhaW5lcixcbiAgTXVsdGlWYWx1ZUxhYmVsOiBNdWx0aVZhbHVlTGFiZWwsXG4gIE11bHRpVmFsdWVSZW1vdmU6IE11bHRpVmFsdWVSZW1vdmUsXG4gIE9wdGlvbjogT3B0aW9uJDEsXG4gIFBsYWNlaG9sZGVyOiBQbGFjZWhvbGRlciQxLFxuICBTZWxlY3RDb250YWluZXI6IFNlbGVjdENvbnRhaW5lcixcbiAgU2luZ2xlVmFsdWU6IFNpbmdsZVZhbHVlJDEsXG4gIFZhbHVlQ29udGFpbmVyOiBWYWx1ZUNvbnRhaW5lclxufTtcbnZhciBkZWZhdWx0Q29tcG9uZW50cyA9IGZ1bmN0aW9uIGRlZmF1bHRDb21wb25lbnRzKHByb3BzKSB7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIGNvbXBvbmVudHMpLCBwcm9wcy5jb21wb25lbnRzKTtcbn07XG5cbmV4cG9ydCB7IGlzTW9iaWxlRGV2aWNlIGFzIEEsIG11bHRpVmFsdWVBc1ZhbHVlIGFzIEIsIHNpbmdsZVZhbHVlQXNWYWx1ZSBhcyBDLCB2YWx1ZVRlcm5hcnkgYXMgRCwgY2xhc3NOYW1lcyBhcyBFLCBkZWZhdWx0Q29tcG9uZW50cyBhcyBGLCBpc0RvY3VtZW50RWxlbWVudCBhcyBHLCBjbGVhblZhbHVlIGFzIEgsIHNjcm9sbEludG9WaWV3IGFzIEksIG5vb3AgYXMgSiwgbm90TnVsbGlzaCBhcyBLLCBoYW5kbGVJbnB1dENoYW5nZSBhcyBMLCBNZW51UGxhY2VyIGFzIE0sIGNsZWFySW5kaWNhdG9yQ1NTIGFzIGEsIGNvbnRhaW5lckNTUyBhcyBiLCBjb21wb25lbnRzIGFzIGMsIGNzcyQxIGFzIGQsIGRyb3Bkb3duSW5kaWNhdG9yQ1NTIGFzIGUsIGdyb3VwSGVhZGluZ0NTUyBhcyBmLCBncm91cENTUyBhcyBnLCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgYXMgaCwgaW5kaWNhdG9yc0NvbnRhaW5lckNTUyBhcyBpLCBpbnB1dENTUyBhcyBqLCBsb2FkaW5nTWVzc2FnZUNTUyBhcyBrLCBsb2FkaW5nSW5kaWNhdG9yQ1NTIGFzIGwsIG1lbnVDU1MgYXMgbSwgbWVudUxpc3RDU1MgYXMgbiwgbWVudVBvcnRhbENTUyBhcyBvLCBtdWx0aVZhbHVlQ1NTIGFzIHAsIG11bHRpVmFsdWVMYWJlbENTUyBhcyBxLCByZW1vdmVQcm9wcyBhcyByLCBzdXBwb3J0c1Bhc3NpdmVFdmVudHMgYXMgcywgbXVsdGlWYWx1ZVJlbW92ZUNTUyBhcyB0LCBub09wdGlvbnNNZXNzYWdlQ1NTIGFzIHUsIG9wdGlvbkNTUyBhcyB2LCBwbGFjZWhvbGRlckNTUyBhcyB3LCBjc3MgYXMgeCwgdmFsdWVDb250YWluZXJDU1MgYXMgeSwgaXNUb3VjaENhcGFibGUgYXMgeiB9O1xuIiwgInZhciBzYWZlSXNOYU4gPSBOdW1iZXIuaXNOYU4gfHxcbiAgICBmdW5jdGlvbiBwb255ZmlsbCh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gdmFsdWU7XG4gICAgfTtcbmZ1bmN0aW9uIGlzRXF1YWwoZmlyc3QsIHNlY29uZCkge1xuICAgIGlmIChmaXJzdCA9PT0gc2Vjb25kKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoc2FmZUlzTmFOKGZpcnN0KSAmJiBzYWZlSXNOYU4oc2Vjb25kKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gYXJlSW5wdXRzRXF1YWwobmV3SW5wdXRzLCBsYXN0SW5wdXRzKSB7XG4gICAgaWYgKG5ld0lucHV0cy5sZW5ndGggIT09IGxhc3RJbnB1dHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdJbnB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKCFpc0VxdWFsKG5ld0lucHV0c1tpXSwgbGFzdElucHV0c1tpXSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbWVtb2l6ZU9uZShyZXN1bHRGbiwgaXNFcXVhbCkge1xuICAgIGlmIChpc0VxdWFsID09PSB2b2lkIDApIHsgaXNFcXVhbCA9IGFyZUlucHV0c0VxdWFsOyB9XG4gICAgdmFyIGNhY2hlID0gbnVsbDtcbiAgICBmdW5jdGlvbiBtZW1vaXplZCgpIHtcbiAgICAgICAgdmFyIG5ld0FyZ3MgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIG5ld0FyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FjaGUgJiYgY2FjaGUubGFzdFRoaXMgPT09IHRoaXMgJiYgaXNFcXVhbChuZXdBcmdzLCBjYWNoZS5sYXN0QXJncykpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWNoZS5sYXN0UmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHZhciBsYXN0UmVzdWx0ID0gcmVzdWx0Rm4uYXBwbHkodGhpcywgbmV3QXJncyk7XG4gICAgICAgIGNhY2hlID0ge1xuICAgICAgICAgICAgbGFzdFJlc3VsdDogbGFzdFJlc3VsdCxcbiAgICAgICAgICAgIGxhc3RBcmdzOiBuZXdBcmdzLFxuICAgICAgICAgICAgbGFzdFRoaXM6IHRoaXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgIH1cbiAgICBtZW1vaXplZC5jbGVhciA9IGZ1bmN0aW9uIGNsZWFyKCkge1xuICAgICAgICBjYWNoZSA9IG51bGw7XG4gICAgfTtcbiAgICByZXR1cm4gbWVtb2l6ZWQ7XG59XG5cbmV4cG9ydCB7IG1lbW9pemVPbmUgYXMgZGVmYXVsdCB9O1xuIiwgImltcG9ydCBfZXh0ZW5kcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzJztcbmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDInO1xuaW1wb3J0IF9jbGFzc0NhbGxDaGVjayBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jbGFzc0NhbGxDaGVjayc7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzJztcbmltcG9ydCBfaW5oZXJpdHMgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaW5oZXJpdHMnO1xuaW1wb3J0IF9jcmVhdGVTdXBlciBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jcmVhdGVTdXBlcic7XG5pbXBvcnQgX3RvQ29uc3VtYWJsZUFycmF5IGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW8sIEZyYWdtZW50LCB1c2VSZWYsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHIgYXMgcmVtb3ZlUHJvcHMsIHMgYXMgc3VwcG9ydHNQYXNzaXZlRXZlbnRzLCBhIGFzIGNsZWFySW5kaWNhdG9yQ1NTLCBiIGFzIGNvbnRhaW5lckNTUywgZCBhcyBjc3MkMSwgZSBhcyBkcm9wZG93bkluZGljYXRvckNTUywgZyBhcyBncm91cENTUywgZiBhcyBncm91cEhlYWRpbmdDU1MsIGkgYXMgaW5kaWNhdG9yc0NvbnRhaW5lckNTUywgaCBhcyBpbmRpY2F0b3JTZXBhcmF0b3JDU1MsIGogYXMgaW5wdXRDU1MsIGwgYXMgbG9hZGluZ0luZGljYXRvckNTUywgayBhcyBsb2FkaW5nTWVzc2FnZUNTUywgbSBhcyBtZW51Q1NTLCBuIGFzIG1lbnVMaXN0Q1NTLCBvIGFzIG1lbnVQb3J0YWxDU1MsIHAgYXMgbXVsdGlWYWx1ZUNTUywgcSBhcyBtdWx0aVZhbHVlTGFiZWxDU1MsIHQgYXMgbXVsdGlWYWx1ZVJlbW92ZUNTUywgdSBhcyBub09wdGlvbnNNZXNzYWdlQ1NTLCB2IGFzIG9wdGlvbkNTUywgdyBhcyBwbGFjZWhvbGRlckNTUywgeCBhcyBjc3MkMiwgeSBhcyB2YWx1ZUNvbnRhaW5lckNTUywgeiBhcyBpc1RvdWNoQ2FwYWJsZSwgQSBhcyBpc01vYmlsZURldmljZSwgQiBhcyBtdWx0aVZhbHVlQXNWYWx1ZSwgQyBhcyBzaW5nbGVWYWx1ZUFzVmFsdWUsIEQgYXMgdmFsdWVUZXJuYXJ5LCBFIGFzIGNsYXNzTmFtZXMsIEYgYXMgZGVmYXVsdENvbXBvbmVudHMsIEcgYXMgaXNEb2N1bWVudEVsZW1lbnQsIEggYXMgY2xlYW5WYWx1ZSwgSSBhcyBzY3JvbGxJbnRvVmlldywgSiBhcyBub29wLCBNIGFzIE1lbnVQbGFjZXIsIEsgYXMgbm90TnVsbGlzaCB9IGZyb20gJy4vaW5kZXgtYTMwMWY1MjYuZXNtLmpzJztcbmltcG9ydCB7IGpzeCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IG1lbW9pemVPbmUgZnJvbSAnbWVtb2l6ZS1vbmUnO1xuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllcyc7XG5cbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fJDIoKSB7IHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjsgfVxuXG4vLyBBc3Npc3RpdmUgdGV4dCB0byBkZXNjcmliZSB2aXN1YWwgZWxlbWVudHMuIEhpZGRlbiBmb3Igc2lnaHRlZCB1c2Vycy5cbnZhciBfcmVmID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8ge1xuICBuYW1lOiBcIjdwZzBjai1hMTF5VGV4dFwiLFxuICBzdHlsZXM6IFwibGFiZWw6YTExeVRleHQ7ei1pbmRleDo5OTk5O2JvcmRlcjowO2NsaXA6cmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO2hlaWdodDoxcHg7d2lkdGg6MXB4O3Bvc2l0aW9uOmFic29sdXRlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm93cmFwXCJcbn0gOiB7XG4gIG5hbWU6IFwiMWY0M2F2ei1hMTF5VGV4dC1BMTF5VGV4dFwiLFxuICBzdHlsZXM6IFwibGFiZWw6YTExeVRleHQ7ei1pbmRleDo5OTk5O2JvcmRlcjowO2NsaXA6cmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO2hlaWdodDoxcHg7d2lkdGg6MXB4O3Bvc2l0aW9uOmFic29sdXRlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm93cmFwO2xhYmVsOkExMXlUZXh0O1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtFeE1YbFVaWGgwTG5SemVDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRk5TU0lzSW1acGJHVWlPaUpCTVRGNVZHVjRkQzUwYzNnaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaW9nUUdwemVDQnFjM2dnS2k5Y2JtbHRjRzl5ZENCN0lHcHplQ0I5SUdaeWIyMGdKMEJsYlc5MGFXOXVMM0psWVdOMEp6dGNibHh1THk4Z1FYTnphWE4wYVhabElIUmxlSFFnZEc4Z1pHVnpZM0pwWW1VZ2RtbHpkV0ZzSUdWc1pXMWxiblJ6TGlCSWFXUmtaVzRnWm05eUlITnBaMmgwWldRZ2RYTmxjbk11WEc1amIyNXpkQ0JCTVRGNVZHVjRkQ0E5SUNod2NtOXdjem9nU2xOWUxrbHVkSEpwYm5OcFkwVnNaVzFsYm5Seld5ZHpjR0Z1SjEwcElEMCtJQ2hjYmlBZ1BITndZVzVjYmlBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUd4aFltVnNPaUFuWVRFeGVWUmxlSFFuTEZ4dUlDQWdJQ0FnZWtsdVpHVjRPaUE1T1RrNUxGeHVJQ0FnSUNBZ1ltOXlaR1Z5T2lBd0xGeHVJQ0FnSUNBZ1kyeHBjRG9nSjNKbFkzUW9NWEI0TENBeGNIZ3NJREZ3ZUN3Z01YQjRLU2NzWEc0Z0lDQWdJQ0JvWldsbmFIUTZJREVzWEc0Z0lDQWdJQ0IzYVdSMGFEb2dNU3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQWdJQ0FnYjNabGNtWnNiM2M2SUNkb2FXUmtaVzRuTEZ4dUlDQWdJQ0FnY0dGa1pHbHVaem9nTUN4Y2JpQWdJQ0FnSUhkb2FYUmxVM0JoWTJVNklDZHViM2R5WVhBbkxGeHVJQ0FnSUgxOVhHNGdJQ0FnZXk0dUxuQnliM0J6ZlZ4dUlDQXZQbHh1S1R0Y2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1FURXhlVlJsZUhRN1hHNGlYWDA9ICovXCIsXG4gIHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXyQyXG59O1xudmFyIEExMXlUZXh0ID0gZnVuY3Rpb24gQTExeVRleHQocHJvcHMpIHtcbiAgcmV0dXJuIGpzeChcInNwYW5cIiwgX2V4dGVuZHMoe1xuICAgIGNzczogX3JlZlxuICB9LCBwcm9wcykpO1xufTtcbnZhciBBMTF5VGV4dCQxID0gQTExeVRleHQ7XG5cbnZhciBkZWZhdWx0QXJpYUxpdmVNZXNzYWdlcyA9IHtcbiAgZ3VpZGFuY2U6IGZ1bmN0aW9uIGd1aWRhbmNlKHByb3BzKSB7XG4gICAgdmFyIGlzU2VhcmNoYWJsZSA9IHByb3BzLmlzU2VhcmNoYWJsZSxcbiAgICAgIGlzTXVsdGkgPSBwcm9wcy5pc011bHRpLFxuICAgICAgdGFiU2VsZWN0c1ZhbHVlID0gcHJvcHMudGFiU2VsZWN0c1ZhbHVlLFxuICAgICAgY29udGV4dCA9IHByb3BzLmNvbnRleHQsXG4gICAgICBpc0luaXRpYWxGb2N1cyA9IHByb3BzLmlzSW5pdGlhbEZvY3VzO1xuICAgIHN3aXRjaCAoY29udGV4dCkge1xuICAgICAgY2FzZSAnbWVudSc6XG4gICAgICAgIHJldHVybiBcIlVzZSBVcCBhbmQgRG93biB0byBjaG9vc2Ugb3B0aW9ucywgcHJlc3MgRW50ZXIgdG8gc2VsZWN0IHRoZSBjdXJyZW50bHkgZm9jdXNlZCBvcHRpb24sIHByZXNzIEVzY2FwZSB0byBleGl0IHRoZSBtZW51XCIuY29uY2F0KHRhYlNlbGVjdHNWYWx1ZSA/ICcsIHByZXNzIFRhYiB0byBzZWxlY3QgdGhlIG9wdGlvbiBhbmQgZXhpdCB0aGUgbWVudScgOiAnJywgXCIuXCIpO1xuICAgICAgY2FzZSAnaW5wdXQnOlxuICAgICAgICByZXR1cm4gaXNJbml0aWFsRm9jdXMgPyBcIlwiLmNvbmNhdChwcm9wc1snYXJpYS1sYWJlbCddIHx8ICdTZWxlY3QnLCBcIiBpcyBmb2N1c2VkIFwiKS5jb25jYXQoaXNTZWFyY2hhYmxlID8gJyx0eXBlIHRvIHJlZmluZSBsaXN0JyA6ICcnLCBcIiwgcHJlc3MgRG93biB0byBvcGVuIHRoZSBtZW51LCBcIikuY29uY2F0KGlzTXVsdGkgPyAnIHByZXNzIGxlZnQgdG8gZm9jdXMgc2VsZWN0ZWQgdmFsdWVzJyA6ICcnKSA6ICcnO1xuICAgICAgY2FzZSAndmFsdWUnOlxuICAgICAgICByZXR1cm4gJ1VzZSBsZWZ0IGFuZCByaWdodCB0byB0b2dnbGUgYmV0d2VlbiBmb2N1c2VkIHZhbHVlcywgcHJlc3MgQmFja3NwYWNlIHRvIHJlbW92ZSB0aGUgY3VycmVudGx5IGZvY3VzZWQgdmFsdWUnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfSxcbiAgb25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHByb3BzKSB7XG4gICAgdmFyIGFjdGlvbiA9IHByb3BzLmFjdGlvbixcbiAgICAgIF9wcm9wcyRsYWJlbCA9IHByb3BzLmxhYmVsLFxuICAgICAgbGFiZWwgPSBfcHJvcHMkbGFiZWwgPT09IHZvaWQgMCA/ICcnIDogX3Byb3BzJGxhYmVsLFxuICAgICAgbGFiZWxzID0gcHJvcHMubGFiZWxzLFxuICAgICAgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQ7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2Rlc2VsZWN0LW9wdGlvbic6XG4gICAgICBjYXNlICdwb3AtdmFsdWUnOlxuICAgICAgY2FzZSAncmVtb3ZlLXZhbHVlJzpcbiAgICAgICAgcmV0dXJuIFwib3B0aW9uIFwiLmNvbmNhdChsYWJlbCwgXCIsIGRlc2VsZWN0ZWQuXCIpO1xuICAgICAgY2FzZSAnY2xlYXInOlxuICAgICAgICByZXR1cm4gJ0FsbCBzZWxlY3RlZCBvcHRpb25zIGhhdmUgYmVlbiBjbGVhcmVkLic7XG4gICAgICBjYXNlICdpbml0aWFsLWlucHV0LWZvY3VzJzpcbiAgICAgICAgcmV0dXJuIFwib3B0aW9uXCIuY29uY2F0KGxhYmVscy5sZW5ndGggPiAxID8gJ3MnIDogJycsIFwiIFwiKS5jb25jYXQobGFiZWxzLmpvaW4oJywnKSwgXCIsIHNlbGVjdGVkLlwiKTtcbiAgICAgIGNhc2UgJ3NlbGVjdC1vcHRpb24nOlxuICAgICAgICByZXR1cm4gaXNEaXNhYmxlZCA/IFwib3B0aW9uIFwiLmNvbmNhdChsYWJlbCwgXCIgaXMgZGlzYWJsZWQuIFNlbGVjdCBhbm90aGVyIG9wdGlvbi5cIikgOiBcIm9wdGlvbiBcIi5jb25jYXQobGFiZWwsIFwiLCBzZWxlY3RlZC5cIik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9LFxuICBvbkZvY3VzOiBmdW5jdGlvbiBvbkZvY3VzKHByb3BzKSB7XG4gICAgdmFyIGNvbnRleHQgPSBwcm9wcy5jb250ZXh0LFxuICAgICAgZm9jdXNlZCA9IHByb3BzLmZvY3VzZWQsXG4gICAgICBvcHRpb25zID0gcHJvcHMub3B0aW9ucyxcbiAgICAgIF9wcm9wcyRsYWJlbDIgPSBwcm9wcy5sYWJlbCxcbiAgICAgIGxhYmVsID0gX3Byb3BzJGxhYmVsMiA9PT0gdm9pZCAwID8gJycgOiBfcHJvcHMkbGFiZWwyLFxuICAgICAgc2VsZWN0VmFsdWUgPSBwcm9wcy5zZWxlY3RWYWx1ZSxcbiAgICAgIGlzRGlzYWJsZWQgPSBwcm9wcy5pc0Rpc2FibGVkLFxuICAgICAgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQsXG4gICAgICBpc0FwcGxlRGV2aWNlID0gcHJvcHMuaXNBcHBsZURldmljZTtcbiAgICB2YXIgZ2V0QXJyYXlJbmRleCA9IGZ1bmN0aW9uIGdldEFycmF5SW5kZXgoYXJyLCBpdGVtKSB7XG4gICAgICByZXR1cm4gYXJyICYmIGFyci5sZW5ndGggPyBcIlwiLmNvbmNhdChhcnIuaW5kZXhPZihpdGVtKSArIDEsIFwiIG9mIFwiKS5jb25jYXQoYXJyLmxlbmd0aCkgOiAnJztcbiAgICB9O1xuICAgIGlmIChjb250ZXh0ID09PSAndmFsdWUnICYmIHNlbGVjdFZhbHVlKSB7XG4gICAgICByZXR1cm4gXCJ2YWx1ZSBcIi5jb25jYXQobGFiZWwsIFwiIGZvY3VzZWQsIFwiKS5jb25jYXQoZ2V0QXJyYXlJbmRleChzZWxlY3RWYWx1ZSwgZm9jdXNlZCksIFwiLlwiKTtcbiAgICB9XG4gICAgaWYgKGNvbnRleHQgPT09ICdtZW51JyAmJiBpc0FwcGxlRGV2aWNlKSB7XG4gICAgICB2YXIgZGlzYWJsZWQgPSBpc0Rpc2FibGVkID8gJyBkaXNhYmxlZCcgOiAnJztcbiAgICAgIHZhciBzdGF0dXMgPSBcIlwiLmNvbmNhdChpc1NlbGVjdGVkID8gJyBzZWxlY3RlZCcgOiAnJykuY29uY2F0KGRpc2FibGVkKTtcbiAgICAgIHJldHVybiBcIlwiLmNvbmNhdChsYWJlbCkuY29uY2F0KHN0YXR1cywgXCIsIFwiKS5jb25jYXQoZ2V0QXJyYXlJbmRleChvcHRpb25zLCBmb2N1c2VkKSwgXCIuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH0sXG4gIG9uRmlsdGVyOiBmdW5jdGlvbiBvbkZpbHRlcihwcm9wcykge1xuICAgIHZhciBpbnB1dFZhbHVlID0gcHJvcHMuaW5wdXRWYWx1ZSxcbiAgICAgIHJlc3VsdHNNZXNzYWdlID0gcHJvcHMucmVzdWx0c01lc3NhZ2U7XG4gICAgcmV0dXJuIFwiXCIuY29uY2F0KHJlc3VsdHNNZXNzYWdlKS5jb25jYXQoaW5wdXRWYWx1ZSA/ICcgZm9yIHNlYXJjaCB0ZXJtICcgKyBpbnB1dFZhbHVlIDogJycsIFwiLlwiKTtcbiAgfVxufTtcblxudmFyIExpdmVSZWdpb24gPSBmdW5jdGlvbiBMaXZlUmVnaW9uKHByb3BzKSB7XG4gIHZhciBhcmlhU2VsZWN0aW9uID0gcHJvcHMuYXJpYVNlbGVjdGlvbixcbiAgICBmb2N1c2VkT3B0aW9uID0gcHJvcHMuZm9jdXNlZE9wdGlvbixcbiAgICBmb2N1c2VkVmFsdWUgPSBwcm9wcy5mb2N1c2VkVmFsdWUsXG4gICAgZm9jdXNhYmxlT3B0aW9ucyA9IHByb3BzLmZvY3VzYWJsZU9wdGlvbnMsXG4gICAgaXNGb2N1c2VkID0gcHJvcHMuaXNGb2N1c2VkLFxuICAgIHNlbGVjdFZhbHVlID0gcHJvcHMuc2VsZWN0VmFsdWUsXG4gICAgc2VsZWN0UHJvcHMgPSBwcm9wcy5zZWxlY3RQcm9wcyxcbiAgICBpZCA9IHByb3BzLmlkLFxuICAgIGlzQXBwbGVEZXZpY2UgPSBwcm9wcy5pc0FwcGxlRGV2aWNlO1xuICB2YXIgYXJpYUxpdmVNZXNzYWdlcyA9IHNlbGVjdFByb3BzLmFyaWFMaXZlTWVzc2FnZXMsXG4gICAgZ2V0T3B0aW9uTGFiZWwgPSBzZWxlY3RQcm9wcy5nZXRPcHRpb25MYWJlbCxcbiAgICBpbnB1dFZhbHVlID0gc2VsZWN0UHJvcHMuaW5wdXRWYWx1ZSxcbiAgICBpc011bHRpID0gc2VsZWN0UHJvcHMuaXNNdWx0aSxcbiAgICBpc09wdGlvbkRpc2FibGVkID0gc2VsZWN0UHJvcHMuaXNPcHRpb25EaXNhYmxlZCxcbiAgICBpc1NlYXJjaGFibGUgPSBzZWxlY3RQcm9wcy5pc1NlYXJjaGFibGUsXG4gICAgbWVudUlzT3BlbiA9IHNlbGVjdFByb3BzLm1lbnVJc09wZW4sXG4gICAgb3B0aW9ucyA9IHNlbGVjdFByb3BzLm9wdGlvbnMsXG4gICAgc2NyZWVuUmVhZGVyU3RhdHVzID0gc2VsZWN0UHJvcHMuc2NyZWVuUmVhZGVyU3RhdHVzLFxuICAgIHRhYlNlbGVjdHNWYWx1ZSA9IHNlbGVjdFByb3BzLnRhYlNlbGVjdHNWYWx1ZSxcbiAgICBpc0xvYWRpbmcgPSBzZWxlY3RQcm9wcy5pc0xvYWRpbmc7XG4gIHZhciBhcmlhTGFiZWwgPSBzZWxlY3RQcm9wc1snYXJpYS1sYWJlbCddO1xuICB2YXIgYXJpYUxpdmUgPSBzZWxlY3RQcm9wc1snYXJpYS1saXZlJ107XG5cbiAgLy8gVXBkYXRlIGFyaWEgbGl2ZSBtZXNzYWdlIGNvbmZpZ3VyYXRpb24gd2hlbiBwcm9wIGNoYW5nZXNcbiAgdmFyIG1lc3NhZ2VzID0gdXNlTWVtbyhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgZGVmYXVsdEFyaWFMaXZlTWVzc2FnZXMpLCBhcmlhTGl2ZU1lc3NhZ2VzIHx8IHt9KTtcbiAgfSwgW2FyaWFMaXZlTWVzc2FnZXNdKTtcblxuICAvLyBVcGRhdGUgYXJpYSBsaXZlIHNlbGVjdGVkIG9wdGlvbiB3aGVuIHByb3AgY2hhbmdlc1xuICB2YXIgYXJpYVNlbGVjdGVkID0gdXNlTWVtbyhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG1lc3NhZ2UgPSAnJztcbiAgICBpZiAoYXJpYVNlbGVjdGlvbiAmJiBtZXNzYWdlcy5vbkNoYW5nZSkge1xuICAgICAgdmFyIG9wdGlvbiA9IGFyaWFTZWxlY3Rpb24ub3B0aW9uLFxuICAgICAgICBzZWxlY3RlZE9wdGlvbnMgPSBhcmlhU2VsZWN0aW9uLm9wdGlvbnMsXG4gICAgICAgIHJlbW92ZWRWYWx1ZSA9IGFyaWFTZWxlY3Rpb24ucmVtb3ZlZFZhbHVlLFxuICAgICAgICByZW1vdmVkVmFsdWVzID0gYXJpYVNlbGVjdGlvbi5yZW1vdmVkVmFsdWVzLFxuICAgICAgICB2YWx1ZSA9IGFyaWFTZWxlY3Rpb24udmFsdWU7XG4gICAgICAvLyBzZWxlY3Qtb3B0aW9uIHdoZW4gIWlzTXVsdGkgZG9lcyBub3QgcmV0dXJuIG9wdGlvbiBzbyB3ZSBhc3N1bWUgc2VsZWN0ZWQgb3B0aW9uIGlzIHZhbHVlXG4gICAgICB2YXIgYXNPcHRpb24gPSBmdW5jdGlvbiBhc09wdGlvbih2YWwpIHtcbiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KHZhbCkgPyB2YWwgOiBudWxsO1xuICAgICAgfTtcblxuICAgICAgLy8gSWYgdGhlcmUgaXMganVzdCBvbmUgaXRlbSBmcm9tIHRoZSBhY3Rpb24gdGhlbiBnZXQgaXRzIGxhYmVsXG4gICAgICB2YXIgc2VsZWN0ZWQgPSByZW1vdmVkVmFsdWUgfHwgb3B0aW9uIHx8IGFzT3B0aW9uKHZhbHVlKTtcbiAgICAgIHZhciBsYWJlbCA9IHNlbGVjdGVkID8gZ2V0T3B0aW9uTGFiZWwoc2VsZWN0ZWQpIDogJyc7XG5cbiAgICAgIC8vIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBpdGVtcyBmcm9tIHRoZSBhY3Rpb24gdGhlbiByZXR1cm4gYW4gYXJyYXkgb2YgbGFiZWxzXG4gICAgICB2YXIgbXVsdGlTZWxlY3RlZCA9IHNlbGVjdGVkT3B0aW9ucyB8fCByZW1vdmVkVmFsdWVzIHx8IHVuZGVmaW5lZDtcbiAgICAgIHZhciBsYWJlbHMgPSBtdWx0aVNlbGVjdGVkID8gbXVsdGlTZWxlY3RlZC5tYXAoZ2V0T3B0aW9uTGFiZWwpIDogW107XG4gICAgICB2YXIgb25DaGFuZ2VQcm9wcyA9IF9vYmplY3RTcHJlYWQoe1xuICAgICAgICAvLyBtdWx0aVNlbGVjdGVkIGl0ZW1zIGFyZSB1c3VhbGx5IGl0ZW1zIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gc2VsZWN0ZWRcbiAgICAgICAgLy8gb3Igc2V0IGJ5IHRoZSB1c2VyIGFzIGEgZGVmYXVsdCB2YWx1ZSBzbyB3ZSBhc3N1bWUgdGhleSBhcmUgbm90IGRpc2FibGVkXG4gICAgICAgIGlzRGlzYWJsZWQ6IHNlbGVjdGVkICYmIGlzT3B0aW9uRGlzYWJsZWQoc2VsZWN0ZWQsIHNlbGVjdFZhbHVlKSxcbiAgICAgICAgbGFiZWw6IGxhYmVsLFxuICAgICAgICBsYWJlbHM6IGxhYmVsc1xuICAgICAgfSwgYXJpYVNlbGVjdGlvbik7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZXMub25DaGFuZ2Uob25DaGFuZ2VQcm9wcyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LCBbYXJpYVNlbGVjdGlvbiwgbWVzc2FnZXMsIGlzT3B0aW9uRGlzYWJsZWQsIHNlbGVjdFZhbHVlLCBnZXRPcHRpb25MYWJlbF0pO1xuICB2YXIgYXJpYUZvY3VzZWQgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZm9jdXNNc2cgPSAnJztcbiAgICB2YXIgZm9jdXNlZCA9IGZvY3VzZWRPcHRpb24gfHwgZm9jdXNlZFZhbHVlO1xuICAgIHZhciBpc1NlbGVjdGVkID0gISEoZm9jdXNlZE9wdGlvbiAmJiBzZWxlY3RWYWx1ZSAmJiBzZWxlY3RWYWx1ZS5pbmNsdWRlcyhmb2N1c2VkT3B0aW9uKSk7XG4gICAgaWYgKGZvY3VzZWQgJiYgbWVzc2FnZXMub25Gb2N1cykge1xuICAgICAgdmFyIG9uRm9jdXNQcm9wcyA9IHtcbiAgICAgICAgZm9jdXNlZDogZm9jdXNlZCxcbiAgICAgICAgbGFiZWw6IGdldE9wdGlvbkxhYmVsKGZvY3VzZWQpLFxuICAgICAgICBpc0Rpc2FibGVkOiBpc09wdGlvbkRpc2FibGVkKGZvY3VzZWQsIHNlbGVjdFZhbHVlKSxcbiAgICAgICAgaXNTZWxlY3RlZDogaXNTZWxlY3RlZCxcbiAgICAgICAgb3B0aW9uczogZm9jdXNhYmxlT3B0aW9ucyxcbiAgICAgICAgY29udGV4dDogZm9jdXNlZCA9PT0gZm9jdXNlZE9wdGlvbiA/ICdtZW51JyA6ICd2YWx1ZScsXG4gICAgICAgIHNlbGVjdFZhbHVlOiBzZWxlY3RWYWx1ZSxcbiAgICAgICAgaXNBcHBsZURldmljZTogaXNBcHBsZURldmljZVxuICAgICAgfTtcbiAgICAgIGZvY3VzTXNnID0gbWVzc2FnZXMub25Gb2N1cyhvbkZvY3VzUHJvcHMpO1xuICAgIH1cbiAgICByZXR1cm4gZm9jdXNNc2c7XG4gIH0sIFtmb2N1c2VkT3B0aW9uLCBmb2N1c2VkVmFsdWUsIGdldE9wdGlvbkxhYmVsLCBpc09wdGlvbkRpc2FibGVkLCBtZXNzYWdlcywgZm9jdXNhYmxlT3B0aW9ucywgc2VsZWN0VmFsdWUsIGlzQXBwbGVEZXZpY2VdKTtcbiAgdmFyIGFyaWFSZXN1bHRzID0gdXNlTWVtbyhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHJlc3VsdHNNc2cgPSAnJztcbiAgICBpZiAobWVudUlzT3BlbiAmJiBvcHRpb25zLmxlbmd0aCAmJiAhaXNMb2FkaW5nICYmIG1lc3NhZ2VzLm9uRmlsdGVyKSB7XG4gICAgICB2YXIgcmVzdWx0c01lc3NhZ2UgPSBzY3JlZW5SZWFkZXJTdGF0dXMoe1xuICAgICAgICBjb3VudDogZm9jdXNhYmxlT3B0aW9ucy5sZW5ndGhcbiAgICAgIH0pO1xuICAgICAgcmVzdWx0c01zZyA9IG1lc3NhZ2VzLm9uRmlsdGVyKHtcbiAgICAgICAgaW5wdXRWYWx1ZTogaW5wdXRWYWx1ZSxcbiAgICAgICAgcmVzdWx0c01lc3NhZ2U6IHJlc3VsdHNNZXNzYWdlXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHNNc2c7XG4gIH0sIFtmb2N1c2FibGVPcHRpb25zLCBpbnB1dFZhbHVlLCBtZW51SXNPcGVuLCBtZXNzYWdlcywgb3B0aW9ucywgc2NyZWVuUmVhZGVyU3RhdHVzLCBpc0xvYWRpbmddKTtcbiAgdmFyIGlzSW5pdGlhbEZvY3VzID0gKGFyaWFTZWxlY3Rpb24gPT09IG51bGwgfHwgYXJpYVNlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYXJpYVNlbGVjdGlvbi5hY3Rpb24pID09PSAnaW5pdGlhbC1pbnB1dC1mb2N1cyc7XG4gIHZhciBhcmlhR3VpZGFuY2UgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZ3VpZGFuY2VNc2cgPSAnJztcbiAgICBpZiAobWVzc2FnZXMuZ3VpZGFuY2UpIHtcbiAgICAgIHZhciBjb250ZXh0ID0gZm9jdXNlZFZhbHVlID8gJ3ZhbHVlJyA6IG1lbnVJc09wZW4gPyAnbWVudScgOiAnaW5wdXQnO1xuICAgICAgZ3VpZGFuY2VNc2cgPSBtZXNzYWdlcy5ndWlkYW5jZSh7XG4gICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgICBpc0Rpc2FibGVkOiBmb2N1c2VkT3B0aW9uICYmIGlzT3B0aW9uRGlzYWJsZWQoZm9jdXNlZE9wdGlvbiwgc2VsZWN0VmFsdWUpLFxuICAgICAgICBpc011bHRpOiBpc011bHRpLFxuICAgICAgICBpc1NlYXJjaGFibGU6IGlzU2VhcmNoYWJsZSxcbiAgICAgICAgdGFiU2VsZWN0c1ZhbHVlOiB0YWJTZWxlY3RzVmFsdWUsXG4gICAgICAgIGlzSW5pdGlhbEZvY3VzOiBpc0luaXRpYWxGb2N1c1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBndWlkYW5jZU1zZztcbiAgfSwgW2FyaWFMYWJlbCwgZm9jdXNlZE9wdGlvbiwgZm9jdXNlZFZhbHVlLCBpc011bHRpLCBpc09wdGlvbkRpc2FibGVkLCBpc1NlYXJjaGFibGUsIG1lbnVJc09wZW4sIG1lc3NhZ2VzLCBzZWxlY3RWYWx1ZSwgdGFiU2VsZWN0c1ZhbHVlLCBpc0luaXRpYWxGb2N1c10pO1xuICB2YXIgU2NyZWVuUmVhZGVyVGV4dCA9IGpzeChGcmFnbWVudCwgbnVsbCwganN4KFwic3BhblwiLCB7XG4gICAgaWQ6IFwiYXJpYS1zZWxlY3Rpb25cIlxuICB9LCBhcmlhU2VsZWN0ZWQpLCBqc3goXCJzcGFuXCIsIHtcbiAgICBpZDogXCJhcmlhLWZvY3VzZWRcIlxuICB9LCBhcmlhRm9jdXNlZCksIGpzeChcInNwYW5cIiwge1xuICAgIGlkOiBcImFyaWEtcmVzdWx0c1wiXG4gIH0sIGFyaWFSZXN1bHRzKSwganN4KFwic3BhblwiLCB7XG4gICAgaWQ6IFwiYXJpYS1ndWlkYW5jZVwiXG4gIH0sIGFyaWFHdWlkYW5jZSkpO1xuICByZXR1cm4ganN4KEZyYWdtZW50LCBudWxsLCBqc3goQTExeVRleHQkMSwge1xuICAgIGlkOiBpZFxuICB9LCBpc0luaXRpYWxGb2N1cyAmJiBTY3JlZW5SZWFkZXJUZXh0KSwganN4KEExMXlUZXh0JDEsIHtcbiAgICBcImFyaWEtbGl2ZVwiOiBhcmlhTGl2ZSxcbiAgICBcImFyaWEtYXRvbWljXCI6IFwiZmFsc2VcIixcbiAgICBcImFyaWEtcmVsZXZhbnRcIjogXCJhZGRpdGlvbnMgdGV4dFwiLFxuICAgIHJvbGU6IFwibG9nXCJcbiAgfSwgaXNGb2N1c2VkICYmICFpc0luaXRpYWxGb2N1cyAmJiBTY3JlZW5SZWFkZXJUZXh0KSk7XG59O1xudmFyIExpdmVSZWdpb24kMSA9IExpdmVSZWdpb247XG5cbnZhciBkaWFjcml0aWNzID0gW3tcbiAgYmFzZTogJ0EnLFxuICBsZXR0ZXJzOiBcIkFcXHUyNEI2XFx1RkYyMVxceEMwXFx4QzFcXHhDMlxcdTFFQTZcXHUxRUE0XFx1MUVBQVxcdTFFQThcXHhDM1xcdTAxMDBcXHUwMTAyXFx1MUVCMFxcdTFFQUVcXHUxRUI0XFx1MUVCMlxcdTAyMjZcXHUwMUUwXFx4QzRcXHUwMURFXFx1MUVBMlxceEM1XFx1MDFGQVxcdTAxQ0RcXHUwMjAwXFx1MDIwMlxcdTFFQTBcXHUxRUFDXFx1MUVCNlxcdTFFMDBcXHUwMTA0XFx1MDIzQVxcdTJDNkZcIlxufSwge1xuICBiYXNlOiAnQUEnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzJcIlxufSwge1xuICBiYXNlOiAnQUUnLFxuICBsZXR0ZXJzOiBcIlxceEM2XFx1MDFGQ1xcdTAxRTJcIlxufSwge1xuICBiYXNlOiAnQU8nLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzRcIlxufSwge1xuICBiYXNlOiAnQVUnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzZcIlxufSwge1xuICBiYXNlOiAnQVYnLFxuICBsZXR0ZXJzOiBcIlxcdUE3MzhcXHVBNzNBXCJcbn0sIHtcbiAgYmFzZTogJ0FZJyxcbiAgbGV0dGVyczogXCJcXHVBNzNDXCJcbn0sIHtcbiAgYmFzZTogJ0InLFxuICBsZXR0ZXJzOiBcIkJcXHUyNEI3XFx1RkYyMlxcdTFFMDJcXHUxRTA0XFx1MUUwNlxcdTAyNDNcXHUwMTgyXFx1MDE4MVwiXG59LCB7XG4gIGJhc2U6ICdDJyxcbiAgbGV0dGVyczogXCJDXFx1MjRCOFxcdUZGMjNcXHUwMTA2XFx1MDEwOFxcdTAxMEFcXHUwMTBDXFx4QzdcXHUxRTA4XFx1MDE4N1xcdTAyM0JcXHVBNzNFXCJcbn0sIHtcbiAgYmFzZTogJ0QnLFxuICBsZXR0ZXJzOiBcIkRcXHUyNEI5XFx1RkYyNFxcdTFFMEFcXHUwMTBFXFx1MUUwQ1xcdTFFMTBcXHUxRTEyXFx1MUUwRVxcdTAxMTBcXHUwMThCXFx1MDE4QVxcdTAxODlcXHVBNzc5XCJcbn0sIHtcbiAgYmFzZTogJ0RaJyxcbiAgbGV0dGVyczogXCJcXHUwMUYxXFx1MDFDNFwiXG59LCB7XG4gIGJhc2U6ICdEeicsXG4gIGxldHRlcnM6IFwiXFx1MDFGMlxcdTAxQzVcIlxufSwge1xuICBiYXNlOiAnRScsXG4gIGxldHRlcnM6IFwiRVxcdTI0QkFcXHVGRjI1XFx4QzhcXHhDOVxceENBXFx1MUVDMFxcdTFFQkVcXHUxRUM0XFx1MUVDMlxcdTFFQkNcXHUwMTEyXFx1MUUxNFxcdTFFMTZcXHUwMTE0XFx1MDExNlxceENCXFx1MUVCQVxcdTAxMUFcXHUwMjA0XFx1MDIwNlxcdTFFQjhcXHUxRUM2XFx1MDIyOFxcdTFFMUNcXHUwMTE4XFx1MUUxOFxcdTFFMUFcXHUwMTkwXFx1MDE4RVwiXG59LCB7XG4gIGJhc2U6ICdGJyxcbiAgbGV0dGVyczogXCJGXFx1MjRCQlxcdUZGMjZcXHUxRTFFXFx1MDE5MVxcdUE3N0JcIlxufSwge1xuICBiYXNlOiAnRycsXG4gIGxldHRlcnM6IFwiR1xcdTI0QkNcXHVGRjI3XFx1MDFGNFxcdTAxMUNcXHUxRTIwXFx1MDExRVxcdTAxMjBcXHUwMUU2XFx1MDEyMlxcdTAxRTRcXHUwMTkzXFx1QTdBMFxcdUE3N0RcXHVBNzdFXCJcbn0sIHtcbiAgYmFzZTogJ0gnLFxuICBsZXR0ZXJzOiBcIkhcXHUyNEJEXFx1RkYyOFxcdTAxMjRcXHUxRTIyXFx1MUUyNlxcdTAyMUVcXHUxRTI0XFx1MUUyOFxcdTFFMkFcXHUwMTI2XFx1MkM2N1xcdTJDNzVcXHVBNzhEXCJcbn0sIHtcbiAgYmFzZTogJ0knLFxuICBsZXR0ZXJzOiBcIklcXHUyNEJFXFx1RkYyOVxceENDXFx4Q0RcXHhDRVxcdTAxMjhcXHUwMTJBXFx1MDEyQ1xcdTAxMzBcXHhDRlxcdTFFMkVcXHUxRUM4XFx1MDFDRlxcdTAyMDhcXHUwMjBBXFx1MUVDQVxcdTAxMkVcXHUxRTJDXFx1MDE5N1wiXG59LCB7XG4gIGJhc2U6ICdKJyxcbiAgbGV0dGVyczogXCJKXFx1MjRCRlxcdUZGMkFcXHUwMTM0XFx1MDI0OFwiXG59LCB7XG4gIGJhc2U6ICdLJyxcbiAgbGV0dGVyczogXCJLXFx1MjRDMFxcdUZGMkJcXHUxRTMwXFx1MDFFOFxcdTFFMzJcXHUwMTM2XFx1MUUzNFxcdTAxOThcXHUyQzY5XFx1QTc0MFxcdUE3NDJcXHVBNzQ0XFx1QTdBMlwiXG59LCB7XG4gIGJhc2U6ICdMJyxcbiAgbGV0dGVyczogXCJMXFx1MjRDMVxcdUZGMkNcXHUwMTNGXFx1MDEzOVxcdTAxM0RcXHUxRTM2XFx1MUUzOFxcdTAxM0JcXHUxRTNDXFx1MUUzQVxcdTAxNDFcXHUwMjNEXFx1MkM2MlxcdTJDNjBcXHVBNzQ4XFx1QTc0NlxcdUE3ODBcIlxufSwge1xuICBiYXNlOiAnTEonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQzdcIlxufSwge1xuICBiYXNlOiAnTGonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQzhcIlxufSwge1xuICBiYXNlOiAnTScsXG4gIGxldHRlcnM6IFwiTVxcdTI0QzJcXHVGRjJEXFx1MUUzRVxcdTFFNDBcXHUxRTQyXFx1MkM2RVxcdTAxOUNcIlxufSwge1xuICBiYXNlOiAnTicsXG4gIGxldHRlcnM6IFwiTlxcdTI0QzNcXHVGRjJFXFx1MDFGOFxcdTAxNDNcXHhEMVxcdTFFNDRcXHUwMTQ3XFx1MUU0NlxcdTAxNDVcXHUxRTRBXFx1MUU0OFxcdTAyMjBcXHUwMTlEXFx1QTc5MFxcdUE3QTRcIlxufSwge1xuICBiYXNlOiAnTkonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQ0FcIlxufSwge1xuICBiYXNlOiAnTmonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQ0JcIlxufSwge1xuICBiYXNlOiAnTycsXG4gIGxldHRlcnM6IFwiT1xcdTI0QzRcXHVGRjJGXFx4RDJcXHhEM1xceEQ0XFx1MUVEMlxcdTFFRDBcXHUxRUQ2XFx1MUVENFxceEQ1XFx1MUU0Q1xcdTAyMkNcXHUxRTRFXFx1MDE0Q1xcdTFFNTBcXHUxRTUyXFx1MDE0RVxcdTAyMkVcXHUwMjMwXFx4RDZcXHUwMjJBXFx1MUVDRVxcdTAxNTBcXHUwMUQxXFx1MDIwQ1xcdTAyMEVcXHUwMUEwXFx1MUVEQ1xcdTFFREFcXHUxRUUwXFx1MUVERVxcdTFFRTJcXHUxRUNDXFx1MUVEOFxcdTAxRUFcXHUwMUVDXFx4RDhcXHUwMUZFXFx1MDE4NlxcdTAxOUZcXHVBNzRBXFx1QTc0Q1wiXG59LCB7XG4gIGJhc2U6ICdPSScsXG4gIGxldHRlcnM6IFwiXFx1MDFBMlwiXG59LCB7XG4gIGJhc2U6ICdPTycsXG4gIGxldHRlcnM6IFwiXFx1QTc0RVwiXG59LCB7XG4gIGJhc2U6ICdPVScsXG4gIGxldHRlcnM6IFwiXFx1MDIyMlwiXG59LCB7XG4gIGJhc2U6ICdQJyxcbiAgbGV0dGVyczogXCJQXFx1MjRDNVxcdUZGMzBcXHUxRTU0XFx1MUU1NlxcdTAxQTRcXHUyQzYzXFx1QTc1MFxcdUE3NTJcXHVBNzU0XCJcbn0sIHtcbiAgYmFzZTogJ1EnLFxuICBsZXR0ZXJzOiBcIlFcXHUyNEM2XFx1RkYzMVxcdUE3NTZcXHVBNzU4XFx1MDI0QVwiXG59LCB7XG4gIGJhc2U6ICdSJyxcbiAgbGV0dGVyczogXCJSXFx1MjRDN1xcdUZGMzJcXHUwMTU0XFx1MUU1OFxcdTAxNThcXHUwMjEwXFx1MDIxMlxcdTFFNUFcXHUxRTVDXFx1MDE1NlxcdTFFNUVcXHUwMjRDXFx1MkM2NFxcdUE3NUFcXHVBN0E2XFx1QTc4MlwiXG59LCB7XG4gIGJhc2U6ICdTJyxcbiAgbGV0dGVyczogXCJTXFx1MjRDOFxcdUZGMzNcXHUxRTlFXFx1MDE1QVxcdTFFNjRcXHUwMTVDXFx1MUU2MFxcdTAxNjBcXHUxRTY2XFx1MUU2MlxcdTFFNjhcXHUwMjE4XFx1MDE1RVxcdTJDN0VcXHVBN0E4XFx1QTc4NFwiXG59LCB7XG4gIGJhc2U6ICdUJyxcbiAgbGV0dGVyczogXCJUXFx1MjRDOVxcdUZGMzRcXHUxRTZBXFx1MDE2NFxcdTFFNkNcXHUwMjFBXFx1MDE2MlxcdTFFNzBcXHUxRTZFXFx1MDE2NlxcdTAxQUNcXHUwMUFFXFx1MDIzRVxcdUE3ODZcIlxufSwge1xuICBiYXNlOiAnVFonLFxuICBsZXR0ZXJzOiBcIlxcdUE3MjhcIlxufSwge1xuICBiYXNlOiAnVScsXG4gIGxldHRlcnM6IFwiVVxcdTI0Q0FcXHVGRjM1XFx4RDlcXHhEQVxceERCXFx1MDE2OFxcdTFFNzhcXHUwMTZBXFx1MUU3QVxcdTAxNkNcXHhEQ1xcdTAxREJcXHUwMUQ3XFx1MDFENVxcdTAxRDlcXHUxRUU2XFx1MDE2RVxcdTAxNzBcXHUwMUQzXFx1MDIxNFxcdTAyMTZcXHUwMUFGXFx1MUVFQVxcdTFFRThcXHUxRUVFXFx1MUVFQ1xcdTFFRjBcXHUxRUU0XFx1MUU3MlxcdTAxNzJcXHUxRTc2XFx1MUU3NFxcdTAyNDRcIlxufSwge1xuICBiYXNlOiAnVicsXG4gIGxldHRlcnM6IFwiVlxcdTI0Q0JcXHVGRjM2XFx1MUU3Q1xcdTFFN0VcXHUwMUIyXFx1QTc1RVxcdTAyNDVcIlxufSwge1xuICBiYXNlOiAnVlknLFxuICBsZXR0ZXJzOiBcIlxcdUE3NjBcIlxufSwge1xuICBiYXNlOiAnVycsXG4gIGxldHRlcnM6IFwiV1xcdTI0Q0NcXHVGRjM3XFx1MUU4MFxcdTFFODJcXHUwMTc0XFx1MUU4NlxcdTFFODRcXHUxRTg4XFx1MkM3MlwiXG59LCB7XG4gIGJhc2U6ICdYJyxcbiAgbGV0dGVyczogXCJYXFx1MjRDRFxcdUZGMzhcXHUxRThBXFx1MUU4Q1wiXG59LCB7XG4gIGJhc2U6ICdZJyxcbiAgbGV0dGVyczogXCJZXFx1MjRDRVxcdUZGMzlcXHUxRUYyXFx4RERcXHUwMTc2XFx1MUVGOFxcdTAyMzJcXHUxRThFXFx1MDE3OFxcdTFFRjZcXHUxRUY0XFx1MDFCM1xcdTAyNEVcXHUxRUZFXCJcbn0sIHtcbiAgYmFzZTogJ1onLFxuICBsZXR0ZXJzOiBcIlpcXHUyNENGXFx1RkYzQVxcdTAxNzlcXHUxRTkwXFx1MDE3QlxcdTAxN0RcXHUxRTkyXFx1MUU5NFxcdTAxQjVcXHUwMjI0XFx1MkM3RlxcdTJDNkJcXHVBNzYyXCJcbn0sIHtcbiAgYmFzZTogJ2EnLFxuICBsZXR0ZXJzOiBcImFcXHUyNEQwXFx1RkY0MVxcdTFFOUFcXHhFMFxceEUxXFx4RTJcXHUxRUE3XFx1MUVBNVxcdTFFQUJcXHUxRUE5XFx4RTNcXHUwMTAxXFx1MDEwM1xcdTFFQjFcXHUxRUFGXFx1MUVCNVxcdTFFQjNcXHUwMjI3XFx1MDFFMVxceEU0XFx1MDFERlxcdTFFQTNcXHhFNVxcdTAxRkJcXHUwMUNFXFx1MDIwMVxcdTAyMDNcXHUxRUExXFx1MUVBRFxcdTFFQjdcXHUxRTAxXFx1MDEwNVxcdTJDNjVcXHUwMjUwXCJcbn0sIHtcbiAgYmFzZTogJ2FhJyxcbiAgbGV0dGVyczogXCJcXHVBNzMzXCJcbn0sIHtcbiAgYmFzZTogJ2FlJyxcbiAgbGV0dGVyczogXCJcXHhFNlxcdTAxRkRcXHUwMUUzXCJcbn0sIHtcbiAgYmFzZTogJ2FvJyxcbiAgbGV0dGVyczogXCJcXHVBNzM1XCJcbn0sIHtcbiAgYmFzZTogJ2F1JyxcbiAgbGV0dGVyczogXCJcXHVBNzM3XCJcbn0sIHtcbiAgYmFzZTogJ2F2JyxcbiAgbGV0dGVyczogXCJcXHVBNzM5XFx1QTczQlwiXG59LCB7XG4gIGJhc2U6ICdheScsXG4gIGxldHRlcnM6IFwiXFx1QTczRFwiXG59LCB7XG4gIGJhc2U6ICdiJyxcbiAgbGV0dGVyczogXCJiXFx1MjREMVxcdUZGNDJcXHUxRTAzXFx1MUUwNVxcdTFFMDdcXHUwMTgwXFx1MDE4M1xcdTAyNTNcIlxufSwge1xuICBiYXNlOiAnYycsXG4gIGxldHRlcnM6IFwiY1xcdTI0RDJcXHVGRjQzXFx1MDEwN1xcdTAxMDlcXHUwMTBCXFx1MDEwRFxceEU3XFx1MUUwOVxcdTAxODhcXHUwMjNDXFx1QTczRlxcdTIxODRcIlxufSwge1xuICBiYXNlOiAnZCcsXG4gIGxldHRlcnM6IFwiZFxcdTI0RDNcXHVGRjQ0XFx1MUUwQlxcdTAxMEZcXHUxRTBEXFx1MUUxMVxcdTFFMTNcXHUxRTBGXFx1MDExMVxcdTAxOENcXHUwMjU2XFx1MDI1N1xcdUE3N0FcIlxufSwge1xuICBiYXNlOiAnZHonLFxuICBsZXR0ZXJzOiBcIlxcdTAxRjNcXHUwMUM2XCJcbn0sIHtcbiAgYmFzZTogJ2UnLFxuICBsZXR0ZXJzOiBcImVcXHUyNEQ0XFx1RkY0NVxceEU4XFx4RTlcXHhFQVxcdTFFQzFcXHUxRUJGXFx1MUVDNVxcdTFFQzNcXHUxRUJEXFx1MDExM1xcdTFFMTVcXHUxRTE3XFx1MDExNVxcdTAxMTdcXHhFQlxcdTFFQkJcXHUwMTFCXFx1MDIwNVxcdTAyMDdcXHUxRUI5XFx1MUVDN1xcdTAyMjlcXHUxRTFEXFx1MDExOVxcdTFFMTlcXHUxRTFCXFx1MDI0N1xcdTAyNUJcXHUwMUREXCJcbn0sIHtcbiAgYmFzZTogJ2YnLFxuICBsZXR0ZXJzOiBcImZcXHUyNEQ1XFx1RkY0NlxcdTFFMUZcXHUwMTkyXFx1QTc3Q1wiXG59LCB7XG4gIGJhc2U6ICdnJyxcbiAgbGV0dGVyczogXCJnXFx1MjRENlxcdUZGNDdcXHUwMUY1XFx1MDExRFxcdTFFMjFcXHUwMTFGXFx1MDEyMVxcdTAxRTdcXHUwMTIzXFx1MDFFNVxcdTAyNjBcXHVBN0ExXFx1MUQ3OVxcdUE3N0ZcIlxufSwge1xuICBiYXNlOiAnaCcsXG4gIGxldHRlcnM6IFwiaFxcdTI0RDdcXHVGRjQ4XFx1MDEyNVxcdTFFMjNcXHUxRTI3XFx1MDIxRlxcdTFFMjVcXHUxRTI5XFx1MUUyQlxcdTFFOTZcXHUwMTI3XFx1MkM2OFxcdTJDNzZcXHUwMjY1XCJcbn0sIHtcbiAgYmFzZTogJ2h2JyxcbiAgbGV0dGVyczogXCJcXHUwMTk1XCJcbn0sIHtcbiAgYmFzZTogJ2knLFxuICBsZXR0ZXJzOiBcImlcXHUyNEQ4XFx1RkY0OVxceEVDXFx4RURcXHhFRVxcdTAxMjlcXHUwMTJCXFx1MDEyRFxceEVGXFx1MUUyRlxcdTFFQzlcXHUwMUQwXFx1MDIwOVxcdTAyMEJcXHUxRUNCXFx1MDEyRlxcdTFFMkRcXHUwMjY4XFx1MDEzMVwiXG59LCB7XG4gIGJhc2U6ICdqJyxcbiAgbGV0dGVyczogXCJqXFx1MjREOVxcdUZGNEFcXHUwMTM1XFx1MDFGMFxcdTAyNDlcIlxufSwge1xuICBiYXNlOiAnaycsXG4gIGxldHRlcnM6IFwia1xcdTI0REFcXHVGRjRCXFx1MUUzMVxcdTAxRTlcXHUxRTMzXFx1MDEzN1xcdTFFMzVcXHUwMTk5XFx1MkM2QVxcdUE3NDFcXHVBNzQzXFx1QTc0NVxcdUE3QTNcIlxufSwge1xuICBiYXNlOiAnbCcsXG4gIGxldHRlcnM6IFwibFxcdTI0REJcXHVGRjRDXFx1MDE0MFxcdTAxM0FcXHUwMTNFXFx1MUUzN1xcdTFFMzlcXHUwMTNDXFx1MUUzRFxcdTFFM0JcXHUwMTdGXFx1MDE0MlxcdTAxOUFcXHUwMjZCXFx1MkM2MVxcdUE3NDlcXHVBNzgxXFx1QTc0N1wiXG59LCB7XG4gIGJhc2U6ICdsaicsXG4gIGxldHRlcnM6IFwiXFx1MDFDOVwiXG59LCB7XG4gIGJhc2U6ICdtJyxcbiAgbGV0dGVyczogXCJtXFx1MjREQ1xcdUZGNERcXHUxRTNGXFx1MUU0MVxcdTFFNDNcXHUwMjcxXFx1MDI2RlwiXG59LCB7XG4gIGJhc2U6ICduJyxcbiAgbGV0dGVyczogXCJuXFx1MjRERFxcdUZGNEVcXHUwMUY5XFx1MDE0NFxceEYxXFx1MUU0NVxcdTAxNDhcXHUxRTQ3XFx1MDE0NlxcdTFFNEJcXHUxRTQ5XFx1MDE5RVxcdTAyNzJcXHUwMTQ5XFx1QTc5MVxcdUE3QTVcIlxufSwge1xuICBiYXNlOiAnbmonLFxuICBsZXR0ZXJzOiBcIlxcdTAxQ0NcIlxufSwge1xuICBiYXNlOiAnbycsXG4gIGxldHRlcnM6IFwib1xcdTI0REVcXHVGRjRGXFx4RjJcXHhGM1xceEY0XFx1MUVEM1xcdTFFRDFcXHUxRUQ3XFx1MUVENVxceEY1XFx1MUU0RFxcdTAyMkRcXHUxRTRGXFx1MDE0RFxcdTFFNTFcXHUxRTUzXFx1MDE0RlxcdTAyMkZcXHUwMjMxXFx4RjZcXHUwMjJCXFx1MUVDRlxcdTAxNTFcXHUwMUQyXFx1MDIwRFxcdTAyMEZcXHUwMUExXFx1MUVERFxcdTFFREJcXHUxRUUxXFx1MUVERlxcdTFFRTNcXHUxRUNEXFx1MUVEOVxcdTAxRUJcXHUwMUVEXFx4RjhcXHUwMUZGXFx1MDI1NFxcdUE3NEJcXHVBNzREXFx1MDI3NVwiXG59LCB7XG4gIGJhc2U6ICdvaScsXG4gIGxldHRlcnM6IFwiXFx1MDFBM1wiXG59LCB7XG4gIGJhc2U6ICdvdScsXG4gIGxldHRlcnM6IFwiXFx1MDIyM1wiXG59LCB7XG4gIGJhc2U6ICdvbycsXG4gIGxldHRlcnM6IFwiXFx1QTc0RlwiXG59LCB7XG4gIGJhc2U6ICdwJyxcbiAgbGV0dGVyczogXCJwXFx1MjRERlxcdUZGNTBcXHUxRTU1XFx1MUU1N1xcdTAxQTVcXHUxRDdEXFx1QTc1MVxcdUE3NTNcXHVBNzU1XCJcbn0sIHtcbiAgYmFzZTogJ3EnLFxuICBsZXR0ZXJzOiBcInFcXHUyNEUwXFx1RkY1MVxcdTAyNEJcXHVBNzU3XFx1QTc1OVwiXG59LCB7XG4gIGJhc2U6ICdyJyxcbiAgbGV0dGVyczogXCJyXFx1MjRFMVxcdUZGNTJcXHUwMTU1XFx1MUU1OVxcdTAxNTlcXHUwMjExXFx1MDIxM1xcdTFFNUJcXHUxRTVEXFx1MDE1N1xcdTFFNUZcXHUwMjREXFx1MDI3RFxcdUE3NUJcXHVBN0E3XFx1QTc4M1wiXG59LCB7XG4gIGJhc2U6ICdzJyxcbiAgbGV0dGVyczogXCJzXFx1MjRFMlxcdUZGNTNcXHhERlxcdTAxNUJcXHUxRTY1XFx1MDE1RFxcdTFFNjFcXHUwMTYxXFx1MUU2N1xcdTFFNjNcXHUxRTY5XFx1MDIxOVxcdTAxNUZcXHUwMjNGXFx1QTdBOVxcdUE3ODVcXHUxRTlCXCJcbn0sIHtcbiAgYmFzZTogJ3QnLFxuICBsZXR0ZXJzOiBcInRcXHUyNEUzXFx1RkY1NFxcdTFFNkJcXHUxRTk3XFx1MDE2NVxcdTFFNkRcXHUwMjFCXFx1MDE2M1xcdTFFNzFcXHUxRTZGXFx1MDE2N1xcdTAxQURcXHUwMjg4XFx1MkM2NlxcdUE3ODdcIlxufSwge1xuICBiYXNlOiAndHonLFxuICBsZXR0ZXJzOiBcIlxcdUE3MjlcIlxufSwge1xuICBiYXNlOiAndScsXG4gIGxldHRlcnM6IFwidVxcdTI0RTRcXHVGRjU1XFx4RjlcXHhGQVxceEZCXFx1MDE2OVxcdTFFNzlcXHUwMTZCXFx1MUU3QlxcdTAxNkRcXHhGQ1xcdTAxRENcXHUwMUQ4XFx1MDFENlxcdTAxREFcXHUxRUU3XFx1MDE2RlxcdTAxNzFcXHUwMUQ0XFx1MDIxNVxcdTAyMTdcXHUwMUIwXFx1MUVFQlxcdTFFRTlcXHUxRUVGXFx1MUVFRFxcdTFFRjFcXHUxRUU1XFx1MUU3M1xcdTAxNzNcXHUxRTc3XFx1MUU3NVxcdTAyODlcIlxufSwge1xuICBiYXNlOiAndicsXG4gIGxldHRlcnM6IFwidlxcdTI0RTVcXHVGRjU2XFx1MUU3RFxcdTFFN0ZcXHUwMjhCXFx1QTc1RlxcdTAyOENcIlxufSwge1xuICBiYXNlOiAndnknLFxuICBsZXR0ZXJzOiBcIlxcdUE3NjFcIlxufSwge1xuICBiYXNlOiAndycsXG4gIGxldHRlcnM6IFwid1xcdTI0RTZcXHVGRjU3XFx1MUU4MVxcdTFFODNcXHUwMTc1XFx1MUU4N1xcdTFFODVcXHUxRTk4XFx1MUU4OVxcdTJDNzNcIlxufSwge1xuICBiYXNlOiAneCcsXG4gIGxldHRlcnM6IFwieFxcdTI0RTdcXHVGRjU4XFx1MUU4QlxcdTFFOERcIlxufSwge1xuICBiYXNlOiAneScsXG4gIGxldHRlcnM6IFwieVxcdTI0RThcXHVGRjU5XFx1MUVGM1xceEZEXFx1MDE3N1xcdTFFRjlcXHUwMjMzXFx1MUU4RlxceEZGXFx1MUVGN1xcdTFFOTlcXHUxRUY1XFx1MDFCNFxcdTAyNEZcXHUxRUZGXCJcbn0sIHtcbiAgYmFzZTogJ3onLFxuICBsZXR0ZXJzOiBcInpcXHUyNEU5XFx1RkY1QVxcdTAxN0FcXHUxRTkxXFx1MDE3Q1xcdTAxN0VcXHUxRTkzXFx1MUU5NVxcdTAxQjZcXHUwMjI1XFx1MDI0MFxcdTJDNkNcXHVBNzYzXCJcbn1dO1xudmFyIGFueURpYWNyaXRpYyA9IG5ldyBSZWdFeHAoJ1snICsgZGlhY3JpdGljcy5tYXAoZnVuY3Rpb24gKGQpIHtcbiAgcmV0dXJuIGQubGV0dGVycztcbn0pLmpvaW4oJycpICsgJ10nLCAnZycpO1xudmFyIGRpYWNyaXRpY1RvQmFzZSA9IHt9O1xuZm9yICh2YXIgaSA9IDA7IGkgPCBkaWFjcml0aWNzLmxlbmd0aDsgaSsrKSB7XG4gIHZhciBkaWFjcml0aWMgPSBkaWFjcml0aWNzW2ldO1xuICBmb3IgKHZhciBqID0gMDsgaiA8IGRpYWNyaXRpYy5sZXR0ZXJzLmxlbmd0aDsgaisrKSB7XG4gICAgZGlhY3JpdGljVG9CYXNlW2RpYWNyaXRpYy5sZXR0ZXJzW2pdXSA9IGRpYWNyaXRpYy5iYXNlO1xuICB9XG59XG52YXIgc3RyaXBEaWFjcml0aWNzID0gZnVuY3Rpb24gc3RyaXBEaWFjcml0aWNzKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoYW55RGlhY3JpdGljLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICByZXR1cm4gZGlhY3JpdGljVG9CYXNlW21hdGNoXTtcbiAgfSk7XG59O1xuXG52YXIgbWVtb2l6ZWRTdHJpcERpYWNyaXRpY3NGb3JJbnB1dCA9IG1lbW9pemVPbmUoc3RyaXBEaWFjcml0aWNzKTtcbnZhciB0cmltU3RyaW5nID0gZnVuY3Rpb24gdHJpbVN0cmluZyhzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCAnJyk7XG59O1xudmFyIGRlZmF1bHRTdHJpbmdpZnkgPSBmdW5jdGlvbiBkZWZhdWx0U3RyaW5naWZ5KG9wdGlvbikge1xuICByZXR1cm4gXCJcIi5jb25jYXQob3B0aW9uLmxhYmVsLCBcIiBcIikuY29uY2F0KG9wdGlvbi52YWx1ZSk7XG59O1xudmFyIGNyZWF0ZUZpbHRlciA9IGZ1bmN0aW9uIGNyZWF0ZUZpbHRlcihjb25maWcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChvcHRpb24sIHJhd0lucHV0KSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgaWYgKG9wdGlvbi5kYXRhLl9faXNOZXdfXykgcmV0dXJuIHRydWU7XG4gICAgdmFyIF9pZ25vcmVDYXNlJGlnbm9yZUFjYyA9IF9vYmplY3RTcHJlYWQoe1xuICAgICAgICBpZ25vcmVDYXNlOiB0cnVlLFxuICAgICAgICBpZ25vcmVBY2NlbnRzOiB0cnVlLFxuICAgICAgICBzdHJpbmdpZnk6IGRlZmF1bHRTdHJpbmdpZnksXG4gICAgICAgIHRyaW06IHRydWUsXG4gICAgICAgIG1hdGNoRnJvbTogJ2FueSdcbiAgICAgIH0sIGNvbmZpZyksXG4gICAgICBpZ25vcmVDYXNlID0gX2lnbm9yZUNhc2UkaWdub3JlQWNjLmlnbm9yZUNhc2UsXG4gICAgICBpZ25vcmVBY2NlbnRzID0gX2lnbm9yZUNhc2UkaWdub3JlQWNjLmlnbm9yZUFjY2VudHMsXG4gICAgICBzdHJpbmdpZnkgPSBfaWdub3JlQ2FzZSRpZ25vcmVBY2Muc3RyaW5naWZ5LFxuICAgICAgdHJpbSA9IF9pZ25vcmVDYXNlJGlnbm9yZUFjYy50cmltLFxuICAgICAgbWF0Y2hGcm9tID0gX2lnbm9yZUNhc2UkaWdub3JlQWNjLm1hdGNoRnJvbTtcbiAgICB2YXIgaW5wdXQgPSB0cmltID8gdHJpbVN0cmluZyhyYXdJbnB1dCkgOiByYXdJbnB1dDtcbiAgICB2YXIgY2FuZGlkYXRlID0gdHJpbSA/IHRyaW1TdHJpbmcoc3RyaW5naWZ5KG9wdGlvbikpIDogc3RyaW5naWZ5KG9wdGlvbik7XG4gICAgaWYgKGlnbm9yZUNhc2UpIHtcbiAgICAgIGlucHV0ID0gaW5wdXQudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNhbmRpZGF0ZSA9IGNhbmRpZGF0ZS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbiAgICBpZiAoaWdub3JlQWNjZW50cykge1xuICAgICAgaW5wdXQgPSBtZW1vaXplZFN0cmlwRGlhY3JpdGljc0ZvcklucHV0KGlucHV0KTtcbiAgICAgIGNhbmRpZGF0ZSA9IHN0cmlwRGlhY3JpdGljcyhjYW5kaWRhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gbWF0Y2hGcm9tID09PSAnc3RhcnQnID8gY2FuZGlkYXRlLnN1YnN0cigwLCBpbnB1dC5sZW5ndGgpID09PSBpbnB1dCA6IGNhbmRpZGF0ZS5pbmRleE9mKGlucHV0KSA+IC0xO1xuICB9O1xufTtcblxudmFyIF9leGNsdWRlZCA9IFtcImlubmVyUmVmXCJdO1xuZnVuY3Rpb24gRHVtbXlJbnB1dChfcmVmKSB7XG4gIHZhciBpbm5lclJlZiA9IF9yZWYuaW5uZXJSZWYsXG4gICAgcHJvcHMgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3JlZiwgX2V4Y2x1ZGVkKTtcbiAgLy8gUmVtb3ZlIGFuaW1hdGlvbiBwcm9wcyBub3QgbWVhbnQgZm9yIEhUTUwgZWxlbWVudHNcbiAgdmFyIGZpbHRlcmVkUHJvcHMgPSByZW1vdmVQcm9wcyhwcm9wcywgJ29uRXhpdGVkJywgJ2luJywgJ2VudGVyJywgJ2V4aXQnLCAnYXBwZWFyJyk7XG4gIHJldHVybiBqc3goXCJpbnB1dFwiLCBfZXh0ZW5kcyh7XG4gICAgcmVmOiBpbm5lclJlZlxuICB9LCBmaWx0ZXJlZFByb3BzLCB7XG4gICAgY3NzOiAvKiNfX1BVUkVfXyovY3NzKHtcbiAgICAgIGxhYmVsOiAnZHVtbXlJbnB1dCcsXG4gICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgYmFja2dyb3VuZDogMCxcbiAgICAgIGJvcmRlcjogMCxcbiAgICAgIC8vIGltcG9ydGFudCEgdGhpcyBoaWRlcyB0aGUgZmxhc2hpbmcgY3Vyc29yXG4gICAgICBjYXJldENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICAgIGdyaWRBcmVhOiAnMSAvIDEgLyAyIC8gMycsXG4gICAgICBvdXRsaW5lOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICB3aWR0aDogMSxcbiAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgY29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICBsZWZ0OiAtMTAwLFxuICAgICAgb3BhY2l0eTogMCxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoLjAxKSdcbiAgICB9LCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIgPyBcIlwiIDogXCI7bGFiZWw6RHVtbXlJbnB1dDtcIiwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtSMWJXMTVTVzV3ZFhRdWRITjRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRWGxDVFNJc0ltWnBiR1VpT2lKRWRXMXRlVWx1Y0hWMExuUnplQ0lzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtpQkFhbk40SUdwemVDQXFMMXh1YVcxd2IzSjBJSHNnVW1WbUlIMGdabkp2YlNBbmNtVmhZM1FuTzF4dWFXMXdiM0owSUhzZ2FuTjRJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZjbVZoWTNRbk8xeHVhVzF3YjNKMElIc2djbVZ0YjNabFVISnZjSE1nZlNCbWNtOXRJQ2N1TGk5MWRHbHNjeWM3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUdaMWJtTjBhVzl1SUVSMWJXMTVTVzV3ZFhRb2UxeHVJQ0JwYm01bGNsSmxaaXhjYmlBZ0xpNHVjSEp2Y0hOY2JuMDZJRXBUV0M1SmJuUnlhVzV6YVdORmJHVnRaVzUwYzFzbmFXNXdkWFFuWFNBbUlIdGNiaUFnY21WaFpHOXViSGtnYVc1dVpYSlNaV1k2SUZKbFpqeElWRTFNU1c1d2RYUkZiR1Z0Wlc1MFBqdGNibjBwSUh0Y2JpQWdMeThnVW1WdGIzWmxJR0Z1YVcxaGRHbHZiaUJ3Y205d2N5QnViM1FnYldWaGJuUWdabTl5SUVoVVRVd2daV3hsYldWdWRITmNiaUFnWTI5dWMzUWdabWxzZEdWeVpXUlFjbTl3Y3lBOUlISmxiVzkyWlZCeWIzQnpLRnh1SUNBZ0lIQnliM0J6TEZ4dUlDQWdJQ2R2YmtWNGFYUmxaQ2NzWEc0Z0lDQWdKMmx1Snl4Y2JpQWdJQ0FuWlc1MFpYSW5MRnh1SUNBZ0lDZGxlR2wwSnl4Y2JpQWdJQ0FuWVhCd1pXRnlKMXh1SUNBcE8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQR2x1Y0hWMFhHNGdJQ0FnSUNCeVpXWTllMmx1Ym1WeVVtVm1mVnh1SUNBZ0lDQWdleTR1TG1acGJIUmxjbVZrVUhKdmNITjlYRzRnSUNBZ0lDQmpjM005ZTN0Y2JpQWdJQ0FnSUNBZ2JHRmlaV3c2SUNka2RXMXRlVWx1Y0hWMEp5eGNiaUFnSUNBZ0lDQWdMeThnWjJWMElISnBaQ0J2WmlCaGJua2daR1ZtWVhWc2RDQnpkSGxzWlhOY2JpQWdJQ0FnSUNBZ1ltRmphMmR5YjNWdVpEb2dNQ3hjYmlBZ0lDQWdJQ0FnWW05eVpHVnlPaUF3TEZ4dUlDQWdJQ0FnSUNBdkx5QnBiWEJ2Y25SaGJuUWhJSFJvYVhNZ2FHbGtaWE1nZEdobElHWnNZWE5vYVc1bklHTjFjbk52Y2x4dUlDQWdJQ0FnSUNCallYSmxkRU52Ykc5eU9pQW5kSEpoYm5Od1lYSmxiblFuTEZ4dUlDQWdJQ0FnSUNCbWIyNTBVMmw2WlRvZ0oybHVhR1Z5YVhRbkxGeHVJQ0FnSUNBZ0lDQm5jbWxrUVhKbFlUb2dKekVnTHlBeElDOGdNaUF2SURNbkxGeHVJQ0FnSUNBZ0lDQnZkWFJzYVc1bE9pQXdMRnh1SUNBZ0lDQWdJQ0J3WVdSa2FXNW5PaUF3TEZ4dUlDQWdJQ0FnSUNBdkx5QnBiWEJ2Y25SaGJuUWhJSGRwZEdodmRYUWdZSGRwWkhSb1lDQmljbTkzYzJWeWN5QjNiMjRuZENCaGJHeHZkeUJtYjJOMWMxeHVJQ0FnSUNBZ0lDQjNhV1IwYURvZ01TeGNibHh1SUNBZ0lDQWdJQ0F2THlCeVpXMXZkbVVnWTNWeWMyOXlJRzl1SUdSbGMydDBiM0JjYmlBZ0lDQWdJQ0FnWTI5c2IzSTZJQ2QwY21GdWMzQmhjbVZ1ZENjc1hHNWNiaUFnSUNBZ0lDQWdMeThnY21WdGIzWmxJR04xY25OdmNpQnZiaUJ0YjJKcGJHVWdkMmhwYkhOMElHMWhhVzUwWVdsdWFXNW5JRndpYzJOeWIyeHNJR2x1ZEc4Z2RtbGxkMXdpSUdKbGFHRjJhVzkxY2x4dUlDQWdJQ0FnSUNCc1pXWjBPaUF0TVRBd0xGeHVJQ0FnSUNBZ0lDQnZjR0ZqYVhSNU9pQXdMRnh1SUNBZ0lDQWdJQ0J3YjNOcGRHbHZiam9nSjNKbGJHRjBhWFpsSnl4Y2JpQWdJQ0FnSUNBZ2RISmhibk5tYjNKdE9pQW5jMk5oYkdVb0xqQXhLU2NzWEc0Z0lDQWdJQ0I5ZlZ4dUlDQWdJQzgrWEc0Z0lDazdYRzU5WEc0aVhYMD0gKi9cIilcbiAgfSkpO1xufVxuXG52YXIgY2FuY2VsU2Nyb2xsID0gZnVuY3Rpb24gY2FuY2VsU2Nyb2xsKGV2ZW50KSB7XG4gIGlmIChldmVudC5jYW5jZWxhYmxlKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn07XG5mdW5jdGlvbiB1c2VTY3JvbGxDYXB0dXJlKF9yZWYpIHtcbiAgdmFyIGlzRW5hYmxlZCA9IF9yZWYuaXNFbmFibGVkLFxuICAgIG9uQm90dG9tQXJyaXZlID0gX3JlZi5vbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlID0gX3JlZi5vbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlID0gX3JlZi5vblRvcEFycml2ZSxcbiAgICBvblRvcExlYXZlID0gX3JlZi5vblRvcExlYXZlO1xuICB2YXIgaXNCb3R0b20gPSB1c2VSZWYoZmFsc2UpO1xuICB2YXIgaXNUb3AgPSB1c2VSZWYoZmFsc2UpO1xuICB2YXIgdG91Y2hTdGFydCA9IHVzZVJlZigwKTtcbiAgdmFyIHNjcm9sbFRhcmdldCA9IHVzZVJlZihudWxsKTtcbiAgdmFyIGhhbmRsZUV2ZW50RGVsdGEgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoZXZlbnQsIGRlbHRhKSB7XG4gICAgaWYgKHNjcm9sbFRhcmdldC5jdXJyZW50ID09PSBudWxsKSByZXR1cm47XG4gICAgdmFyIF9zY3JvbGxUYXJnZXQkY3VycmVudCA9IHNjcm9sbFRhcmdldC5jdXJyZW50LFxuICAgICAgc2Nyb2xsVG9wID0gX3Njcm9sbFRhcmdldCRjdXJyZW50LnNjcm9sbFRvcCxcbiAgICAgIHNjcm9sbEhlaWdodCA9IF9zY3JvbGxUYXJnZXQkY3VycmVudC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQgPSBfc2Nyb2xsVGFyZ2V0JGN1cnJlbnQuY2xpZW50SGVpZ2h0O1xuICAgIHZhciB0YXJnZXQgPSBzY3JvbGxUYXJnZXQuY3VycmVudDtcbiAgICB2YXIgaXNEZWx0YVBvc2l0aXZlID0gZGVsdGEgPiAwO1xuICAgIHZhciBhdmFpbGFibGVTY3JvbGwgPSBzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQgLSBzY3JvbGxUb3A7XG4gICAgdmFyIHNob3VsZENhbmNlbFNjcm9sbCA9IGZhbHNlO1xuXG4gICAgLy8gcmVzZXQgYm90dG9tL3RvcCBmbGFnc1xuICAgIGlmIChhdmFpbGFibGVTY3JvbGwgPiBkZWx0YSAmJiBpc0JvdHRvbS5jdXJyZW50KSB7XG4gICAgICBpZiAob25Cb3R0b21MZWF2ZSkgb25Cb3R0b21MZWF2ZShldmVudCk7XG4gICAgICBpc0JvdHRvbS5jdXJyZW50ID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpc0RlbHRhUG9zaXRpdmUgJiYgaXNUb3AuY3VycmVudCkge1xuICAgICAgaWYgKG9uVG9wTGVhdmUpIG9uVG9wTGVhdmUoZXZlbnQpO1xuICAgICAgaXNUb3AuY3VycmVudCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIGJvdHRvbSBsaW1pdFxuICAgIGlmIChpc0RlbHRhUG9zaXRpdmUgJiYgZGVsdGEgPiBhdmFpbGFibGVTY3JvbGwpIHtcbiAgICAgIGlmIChvbkJvdHRvbUFycml2ZSAmJiAhaXNCb3R0b20uY3VycmVudCkge1xuICAgICAgICBvbkJvdHRvbUFycml2ZShldmVudCk7XG4gICAgICB9XG4gICAgICB0YXJnZXQuc2Nyb2xsVG9wID0gc2Nyb2xsSGVpZ2h0O1xuICAgICAgc2hvdWxkQ2FuY2VsU2Nyb2xsID0gdHJ1ZTtcbiAgICAgIGlzQm90dG9tLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgICAvLyB0b3AgbGltaXRcbiAgICB9IGVsc2UgaWYgKCFpc0RlbHRhUG9zaXRpdmUgJiYgLWRlbHRhID4gc2Nyb2xsVG9wKSB7XG4gICAgICBpZiAob25Ub3BBcnJpdmUgJiYgIWlzVG9wLmN1cnJlbnQpIHtcbiAgICAgICAgb25Ub3BBcnJpdmUoZXZlbnQpO1xuICAgICAgfVxuICAgICAgdGFyZ2V0LnNjcm9sbFRvcCA9IDA7XG4gICAgICBzaG91bGRDYW5jZWxTY3JvbGwgPSB0cnVlO1xuICAgICAgaXNUb3AuY3VycmVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gY2FuY2VsIHNjcm9sbFxuICAgIGlmIChzaG91bGRDYW5jZWxTY3JvbGwpIHtcbiAgICAgIGNhbmNlbFNjcm9sbChldmVudCk7XG4gICAgfVxuICB9LCBbb25Cb3R0b21BcnJpdmUsIG9uQm90dG9tTGVhdmUsIG9uVG9wQXJyaXZlLCBvblRvcExlYXZlXSk7XG4gIHZhciBvbldoZWVsID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgaGFuZGxlRXZlbnREZWx0YShldmVudCwgZXZlbnQuZGVsdGFZKTtcbiAgfSwgW2hhbmRsZUV2ZW50RGVsdGFdKTtcbiAgdmFyIG9uVG91Y2hTdGFydCA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIHNldCB0b3VjaCBzdGFydCBzbyB3ZSBjYW4gY2FsY3VsYXRlIHRvdWNobW92ZSBkZWx0YVxuICAgIHRvdWNoU3RhcnQuY3VycmVudCA9IGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFk7XG4gIH0sIFtdKTtcbiAgdmFyIG9uVG91Y2hNb3ZlID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgdmFyIGRlbHRhWSA9IHRvdWNoU3RhcnQuY3VycmVudCAtIGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFk7XG4gICAgaGFuZGxlRXZlbnREZWx0YShldmVudCwgZGVsdGFZKTtcbiAgfSwgW2hhbmRsZUV2ZW50RGVsdGFdKTtcbiAgdmFyIHN0YXJ0TGlzdGVuaW5nID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKGVsKSB7XG4gICAgLy8gYmFpbCBlYXJseSBpZiBubyBlbGVtZW50IGlzIGF2YWlsYWJsZSB0byBhdHRhY2ggdG9cbiAgICBpZiAoIWVsKSByZXR1cm47XG4gICAgdmFyIG5vdFBhc3NpdmUgPSBzdXBwb3J0c1Bhc3NpdmVFdmVudHMgPyB7XG4gICAgICBwYXNzaXZlOiBmYWxzZVxuICAgIH0gOiBmYWxzZTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIG9uV2hlZWwsIG5vdFBhc3NpdmUpO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBvblRvdWNoU3RhcnQsIG5vdFBhc3NpdmUpO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIG9uVG91Y2hNb3ZlLCBub3RQYXNzaXZlKTtcbiAgfSwgW29uVG91Y2hNb3ZlLCBvblRvdWNoU3RhcnQsIG9uV2hlZWxdKTtcbiAgdmFyIHN0b3BMaXN0ZW5pbmcgPSB1c2VDYWxsYmFjayhmdW5jdGlvbiAoZWwpIHtcbiAgICAvLyBiYWlsIGVhcmx5IGlmIG5vIGVsZW1lbnQgaXMgYXZhaWxhYmxlIHRvIGRldGFjaCBmcm9tXG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgb25XaGVlbCwgZmFsc2UpO1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBvblRvdWNoU3RhcnQsIGZhbHNlKTtcbiAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBvblRvdWNoTW92ZSwgZmFsc2UpO1xuICB9LCBbb25Ub3VjaE1vdmUsIG9uVG91Y2hTdGFydCwgb25XaGVlbF0pO1xuICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIGlmICghaXNFbmFibGVkKSByZXR1cm47XG4gICAgdmFyIGVsZW1lbnQgPSBzY3JvbGxUYXJnZXQuY3VycmVudDtcbiAgICBzdGFydExpc3RlbmluZyhlbGVtZW50KTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgc3RvcExpc3RlbmluZyhlbGVtZW50KTtcbiAgICB9O1xuICB9LCBbaXNFbmFibGVkLCBzdGFydExpc3RlbmluZywgc3RvcExpc3RlbmluZ10pO1xuICByZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICBzY3JvbGxUYXJnZXQuY3VycmVudCA9IGVsZW1lbnQ7XG4gIH07XG59XG5cbnZhciBTVFlMRV9LRVlTID0gWydib3hTaXppbmcnLCAnaGVpZ2h0JywgJ292ZXJmbG93JywgJ3BhZGRpbmdSaWdodCcsICdwb3NpdGlvbiddO1xudmFyIExPQ0tfU1RZTEVTID0ge1xuICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgLy8gYWNjb3VudCBmb3IgcG9zc2libGUgZGVjbGFyYXRpb24gYHdpZHRoOiAxMDAlO2Agb24gYm9keVxuICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBoZWlnaHQ6ICcxMDAlJ1xufTtcbmZ1bmN0aW9uIHByZXZlbnRUb3VjaE1vdmUoZSkge1xuICBpZiAoZS5jYW5jZWxhYmxlKSBlLnByZXZlbnREZWZhdWx0KCk7XG59XG5mdW5jdGlvbiBhbGxvd1RvdWNoTW92ZShlKSB7XG4gIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG5mdW5jdGlvbiBwcmV2ZW50SW5lcnRpYVNjcm9sbCgpIHtcbiAgdmFyIHRvcCA9IHRoaXMuc2Nyb2xsVG9wO1xuICB2YXIgdG90YWxTY3JvbGwgPSB0aGlzLnNjcm9sbEhlaWdodDtcbiAgdmFyIGN1cnJlbnRTY3JvbGwgPSB0b3AgKyB0aGlzLm9mZnNldEhlaWdodDtcbiAgaWYgKHRvcCA9PT0gMCkge1xuICAgIHRoaXMuc2Nyb2xsVG9wID0gMTtcbiAgfSBlbHNlIGlmIChjdXJyZW50U2Nyb2xsID09PSB0b3RhbFNjcm9sbCkge1xuICAgIHRoaXMuc2Nyb2xsVG9wID0gdG9wIC0gMTtcbiAgfVxufVxuXG4vLyBgb250b3VjaHN0YXJ0YCBjaGVjayB3b3JrcyBvbiBtb3N0IGJyb3dzZXJzXG4vLyBgbWF4VG91Y2hQb2ludHNgIHdvcmtzIG9uIElFMTAvMTEgYW5kIFN1cmZhY2VcbmZ1bmN0aW9uIGlzVG91Y2hEZXZpY2UoKSB7XG4gIHJldHVybiAnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cgfHwgbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzO1xufVxudmFyIGNhblVzZURPTSA9ICEhKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kb2N1bWVudCAmJiB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG52YXIgYWN0aXZlU2Nyb2xsTG9ja3MgPSAwO1xudmFyIGxpc3RlbmVyT3B0aW9ucyA9IHtcbiAgY2FwdHVyZTogZmFsc2UsXG4gIHBhc3NpdmU6IGZhbHNlXG59O1xuZnVuY3Rpb24gdXNlU2Nyb2xsTG9jayhfcmVmKSB7XG4gIHZhciBpc0VuYWJsZWQgPSBfcmVmLmlzRW5hYmxlZCxcbiAgICBfcmVmJGFjY291bnRGb3JTY3JvbGwgPSBfcmVmLmFjY291bnRGb3JTY3JvbGxiYXJzLFxuICAgIGFjY291bnRGb3JTY3JvbGxiYXJzID0gX3JlZiRhY2NvdW50Rm9yU2Nyb2xsID09PSB2b2lkIDAgPyB0cnVlIDogX3JlZiRhY2NvdW50Rm9yU2Nyb2xsO1xuICB2YXIgb3JpZ2luYWxTdHlsZXMgPSB1c2VSZWYoe30pO1xuICB2YXIgc2Nyb2xsVGFyZ2V0ID0gdXNlUmVmKG51bGwpO1xuICB2YXIgYWRkU2Nyb2xsTG9jayA9IHVzZUNhbGxiYWNrKGZ1bmN0aW9uICh0b3VjaFNjcm9sbFRhcmdldCkge1xuICAgIGlmICghY2FuVXNlRE9NKSByZXR1cm47XG4gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmJvZHk7XG4gICAgdmFyIHRhcmdldFN0eWxlID0gdGFyZ2V0ICYmIHRhcmdldC5zdHlsZTtcbiAgICBpZiAoYWNjb3VudEZvclNjcm9sbGJhcnMpIHtcbiAgICAgIC8vIHN0b3JlIGFueSBzdHlsZXMgYWxyZWFkeSBhcHBsaWVkIHRvIHRoZSBib2R5XG4gICAgICBTVFlMRV9LRVlTLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICB2YXIgdmFsID0gdGFyZ2V0U3R5bGUgJiYgdGFyZ2V0U3R5bGVba2V5XTtcbiAgICAgICAgb3JpZ2luYWxTdHlsZXMuY3VycmVudFtrZXldID0gdmFsO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gYXBwbHkgdGhlIGxvY2sgc3R5bGVzIGFuZCBwYWRkaW5nIGlmIHRoaXMgaXMgdGhlIGZpcnN0IHNjcm9sbCBsb2NrXG4gICAgaWYgKGFjY291bnRGb3JTY3JvbGxiYXJzICYmIGFjdGl2ZVNjcm9sbExvY2tzIDwgMSkge1xuICAgICAgdmFyIGN1cnJlbnRQYWRkaW5nID0gcGFyc2VJbnQob3JpZ2luYWxTdHlsZXMuY3VycmVudC5wYWRkaW5nUmlnaHQsIDEwKSB8fCAwO1xuICAgICAgdmFyIGNsaWVudFdpZHRoID0gZG9jdW1lbnQuYm9keSA/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggOiAwO1xuICAgICAgdmFyIGFkanVzdGVkUGFkZGluZyA9IHdpbmRvdy5pbm5lcldpZHRoIC0gY2xpZW50V2lkdGggKyBjdXJyZW50UGFkZGluZyB8fCAwO1xuICAgICAgT2JqZWN0LmtleXMoTE9DS19TVFlMRVMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICB2YXIgdmFsID0gTE9DS19TVFlMRVNba2V5XTtcbiAgICAgICAgaWYgKHRhcmdldFN0eWxlKSB7XG4gICAgICAgICAgdGFyZ2V0U3R5bGVba2V5XSA9IHZhbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAodGFyZ2V0U3R5bGUpIHtcbiAgICAgICAgdGFyZ2V0U3R5bGUucGFkZGluZ1JpZ2h0ID0gXCJcIi5jb25jYXQoYWRqdXN0ZWRQYWRkaW5nLCBcInB4XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGFjY291bnQgZm9yIHRvdWNoIGRldmljZXNcbiAgICBpZiAodGFyZ2V0ICYmIGlzVG91Y2hEZXZpY2UoKSkge1xuICAgICAgLy8gTW9iaWxlIFNhZmFyaSBpZ25vcmVzIHsgb3ZlcmZsb3c6IGhpZGRlbiB9IGRlY2xhcmF0aW9uIG9uIHRoZSBib2R5LlxuICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHByZXZlbnRUb3VjaE1vdmUsIGxpc3RlbmVyT3B0aW9ucyk7XG5cbiAgICAgIC8vIEFsbG93IHNjcm9sbCBvbiBwcm92aWRlZCB0YXJnZXRcbiAgICAgIGlmICh0b3VjaFNjcm9sbFRhcmdldCkge1xuICAgICAgICB0b3VjaFNjcm9sbFRhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgcHJldmVudEluZXJ0aWFTY3JvbGwsIGxpc3RlbmVyT3B0aW9ucyk7XG4gICAgICAgIHRvdWNoU2Nyb2xsVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGFsbG93VG91Y2hNb3ZlLCBsaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGluY3JlbWVudCBhY3RpdmUgc2Nyb2xsIGxvY2tzXG4gICAgYWN0aXZlU2Nyb2xsTG9ja3MgKz0gMTtcbiAgfSwgW2FjY291bnRGb3JTY3JvbGxiYXJzXSk7XG4gIHZhciByZW1vdmVTY3JvbGxMb2NrID0gdXNlQ2FsbGJhY2soZnVuY3Rpb24gKHRvdWNoU2Nyb2xsVGFyZ2V0KSB7XG4gICAgaWYgKCFjYW5Vc2VET00pIHJldHVybjtcbiAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuYm9keTtcbiAgICB2YXIgdGFyZ2V0U3R5bGUgPSB0YXJnZXQgJiYgdGFyZ2V0LnN0eWxlO1xuXG4gICAgLy8gc2FmZWx5IGRlY3JlbWVudCBhY3RpdmUgc2Nyb2xsIGxvY2tzXG4gICAgYWN0aXZlU2Nyb2xsTG9ja3MgPSBNYXRoLm1heChhY3RpdmVTY3JvbGxMb2NrcyAtIDEsIDApO1xuXG4gICAgLy8gcmVhcHBseSBvcmlnaW5hbCBib2R5IHN0eWxlcywgaWYgYW55XG4gICAgaWYgKGFjY291bnRGb3JTY3JvbGxiYXJzICYmIGFjdGl2ZVNjcm9sbExvY2tzIDwgMSkge1xuICAgICAgU1RZTEVfS0VZUy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgdmFyIHZhbCA9IG9yaWdpbmFsU3R5bGVzLmN1cnJlbnRba2V5XTtcbiAgICAgICAgaWYgKHRhcmdldFN0eWxlKSB7XG4gICAgICAgICAgdGFyZ2V0U3R5bGVba2V5XSA9IHZhbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIHRvdWNoIGxpc3RlbmVyc1xuICAgIGlmICh0YXJnZXQgJiYgaXNUb3VjaERldmljZSgpKSB7XG4gICAgICB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgcHJldmVudFRvdWNoTW92ZSwgbGlzdGVuZXJPcHRpb25zKTtcbiAgICAgIGlmICh0b3VjaFNjcm9sbFRhcmdldCkge1xuICAgICAgICB0b3VjaFNjcm9sbFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgcHJldmVudEluZXJ0aWFTY3JvbGwsIGxpc3RlbmVyT3B0aW9ucyk7XG4gICAgICAgIHRvdWNoU2Nyb2xsVGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGFsbG93VG91Y2hNb3ZlLCBsaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2FjY291bnRGb3JTY3JvbGxiYXJzXSk7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFpc0VuYWJsZWQpIHJldHVybjtcbiAgICB2YXIgZWxlbWVudCA9IHNjcm9sbFRhcmdldC5jdXJyZW50O1xuICAgIGFkZFNjcm9sbExvY2soZWxlbWVudCk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJlbW92ZVNjcm9sbExvY2soZWxlbWVudCk7XG4gICAgfTtcbiAgfSwgW2lzRW5hYmxlZCwgYWRkU2Nyb2xsTG9jaywgcmVtb3ZlU2Nyb2xsTG9ja10pO1xuICByZXR1cm4gZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICBzY3JvbGxUYXJnZXQuY3VycmVudCA9IGVsZW1lbnQ7XG4gIH07XG59XG5cbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fJDEoKSB7IHJldHVybiBcIllvdSBoYXZlIHRyaWVkIHRvIHN0cmluZ2lmeSBvYmplY3QgcmV0dXJuZWQgZnJvbSBgY3NzYCBmdW5jdGlvbi4gSXQgaXNuJ3Qgc3VwcG9zZWQgdG8gYmUgdXNlZCBkaXJlY3RseSAoZS5nLiBhcyB2YWx1ZSBvZiB0aGUgYGNsYXNzTmFtZWAgcHJvcCksIGJ1dCByYXRoZXIgaGFuZGVkIHRvIGVtb3Rpb24gc28gaXQgY2FuIGhhbmRsZSBpdCAoZS5nLiBhcyB2YWx1ZSBvZiBgY3NzYCBwcm9wKS5cIjsgfVxudmFyIGJsdXJTZWxlY3RJbnB1dCA9IGZ1bmN0aW9uIGJsdXJTZWxlY3RJbnB1dChldmVudCkge1xuICB2YXIgZWxlbWVudCA9IGV2ZW50LnRhcmdldDtcbiAgcmV0dXJuIGVsZW1lbnQub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmIGVsZW1lbnQub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbn07XG52YXIgX3JlZjIkMSA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcbiAgbmFtZTogXCIxa2ZkYjBlXCIsXG4gIHN0eWxlczogXCJwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MDt0b3A6MFwiXG59IDoge1xuICBuYW1lOiBcImJwOGN1YS1TY3JvbGxNYW5hZ2VyXCIsXG4gIHN0eWxlczogXCJwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MDt0b3A6MDtsYWJlbDpTY3JvbGxNYW5hZ2VyO1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxOamNtOXNiRTFoYm1GblpYSXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVc5RVZTSXNJbVpwYkdVaU9pSlRZM0p2Ykd4TllXNWhaMlZ5TG5SemVDSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2lCQWFuTjRJR3B6ZUNBcUwxeHVhVzF3YjNKMElIc2dhbk40SUgwZ1puSnZiU0FuUUdWdGIzUnBiMjR2Y21WaFkzUW5PMXh1YVcxd2IzSjBJSHNnUm5KaFoyMWxiblFzSUZKbFlXTjBSV3hsYldWdWRDd2dVbVZtUTJGc2JHSmhZMnNzSUUxdmRYTmxSWFpsYm5RZ2ZTQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnZFhObFUyTnliMnhzUTJGd2RIVnlaU0JtY205dElDY3VMM1Z6WlZOamNtOXNiRU5oY0hSMWNtVW5PMXh1YVcxd2IzSjBJSFZ6WlZOamNtOXNiRXh2WTJzZ1puSnZiU0FuTGk5MWMyVlRZM0p2Ykd4TWIyTnJKenRjYmx4dWFXNTBaWEptWVdObElGQnliM0J6SUh0Y2JpQWdjbVZoWkc5dWJIa2dZMmhwYkdSeVpXNDZJQ2h5WldZNklGSmxaa05oYkd4aVlXTnJQRWhVVFV4RmJHVnRaVzUwUGlrZ1BUNGdVbVZoWTNSRmJHVnRaVzUwTzF4dUlDQnlaV0ZrYjI1c2VTQnNiMk5yUlc1aFlteGxaRG9nWW05dmJHVmhianRjYmlBZ2NtVmhaRzl1YkhrZ1kyRndkSFZ5WlVWdVlXSnNaV1E2SUdKdmIyeGxZVzQ3WEc0Z0lISmxZV1J2Ym14NUlHOXVRbTkwZEc5dFFYSnlhWFpsUHpvZ0tHVjJaVzUwT2lCWGFHVmxiRVYyWlc1MElId2dWRzkxWTJoRmRtVnVkQ2tnUFQ0Z2RtOXBaRHRjYmlBZ2NtVmhaRzl1YkhrZ2IyNUNiM1IwYjIxTVpXRjJaVDg2SUNobGRtVnVkRG9nVjJobFpXeEZkbVZ1ZENCOElGUnZkV05vUlhabGJuUXBJRDArSUhadmFXUTdYRzRnSUhKbFlXUnZibXg1SUc5dVZHOXdRWEp5YVhabFB6b2dLR1YyWlc1ME9pQlhhR1ZsYkVWMlpXNTBJSHdnVkc5MVkyaEZkbVZ1ZENrZ1BUNGdkbTlwWkR0Y2JpQWdjbVZoWkc5dWJIa2diMjVVYjNCTVpXRjJaVDg2SUNobGRtVnVkRG9nVjJobFpXeEZkbVZ1ZENCOElGUnZkV05vUlhabGJuUXBJRDArSUhadmFXUTdYRzU5WEc1Y2JtTnZibk4wSUdKc2RYSlRaV3hsWTNSSmJuQjFkQ0E5SUNobGRtVnVkRG9nVFc5MWMyVkZkbVZ1ZER4SVZFMU1SR2wyUld4bGJXVnVkRDRwSUQwK0lIdGNiaUFnWTI5dWMzUWdaV3hsYldWdWRDQTlJR1YyWlc1MExuUmhjbWRsZENCaGN5QklWRTFNUkdsMlJXeGxiV1Z1ZER0Y2JpQWdjbVYwZFhKdUlDaGNiaUFnSUNCbGJHVnRaVzUwTG05M2JtVnlSRzlqZFcxbGJuUXVZV04wYVhabFJXeGxiV1Z1ZENBbUpseHVJQ0FnSUNobGJHVnRaVzUwTG05M2JtVnlSRzlqZFcxbGJuUXVZV04wYVhabFJXeGxiV1Z1ZENCaGN5QklWRTFNUld4bGJXVnVkQ2t1WW14MWNpZ3BYRzRnSUNrN1hHNTlPMXh1WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JtZFc1amRHbHZiaUJUWTNKdmJHeE5ZVzVoWjJWeUtIdGNiaUFnWTJocGJHUnlaVzRzWEc0Z0lHeHZZMnRGYm1GaWJHVmtMRnh1SUNCallYQjBkWEpsUlc1aFlteGxaQ0E5SUhSeWRXVXNYRzRnSUc5dVFtOTBkRzl0UVhKeWFYWmxMRnh1SUNCdmJrSnZkSFJ2YlV4bFlYWmxMRnh1SUNCdmJsUnZjRUZ5Y21sMlpTeGNiaUFnYjI1VWIzQk1aV0YyWlN4Y2JuMDZJRkJ5YjNCektTQjdYRzRnSUdOdmJuTjBJSE5sZEZOamNtOXNiRU5oY0hSMWNtVlVZWEpuWlhRZ1BTQjFjMlZUWTNKdmJHeERZWEIwZFhKbEtIdGNiaUFnSUNCcGMwVnVZV0pzWldRNklHTmhjSFIxY21WRmJtRmliR1ZrTEZ4dUlDQWdJRzl1UW05MGRHOXRRWEp5YVhabExGeHVJQ0FnSUc5dVFtOTBkRzl0VEdWaGRtVXNYRzRnSUNBZ2IyNVViM0JCY25KcGRtVXNYRzRnSUNBZ2IyNVViM0JNWldGMlpTeGNiaUFnZlNrN1hHNGdJR052Ym5OMElITmxkRk5qY205c2JFeHZZMnRVWVhKblpYUWdQU0IxYzJWVFkzSnZiR3hNYjJOcktIc2dhWE5GYm1GaWJHVmtPaUJzYjJOclJXNWhZbXhsWkNCOUtUdGNibHh1SUNCamIyNXpkQ0IwWVhKblpYUlNaV1k2SUZKbFprTmhiR3hpWVdOclBFaFVUVXhGYkdWdFpXNTBQaUE5SUNobGJHVnRaVzUwS1NBOVBpQjdYRzRnSUNBZ2MyVjBVMk55YjJ4c1EyRndkSFZ5WlZSaGNtZGxkQ2hsYkdWdFpXNTBLVHRjYmlBZ0lDQnpaWFJUWTNKdmJHeE1iMk5yVkdGeVoyVjBLR1ZzWlcxbGJuUXBPMXh1SUNCOU8xeHVYRzRnSUhKbGRIVnliaUFvWEc0Z0lDQWdQRVp5WVdkdFpXNTBQbHh1SUNBZ0lDQWdlMnh2WTJ0RmJtRmliR1ZrSUNZbUlDaGNiaUFnSUNBZ0lDQWdQR1JwZGx4dUlDQWdJQ0FnSUNBZ0lHOXVRMnhwWTJzOWUySnNkWEpUWld4bFkzUkpibkIxZEgxY2JpQWdJQ0FnSUNBZ0lDQmpjM005ZTNzZ2NHOXphWFJwYjI0NklDZG1hWGhsWkNjc0lHeGxablE2SURBc0lHSnZkSFJ2YlRvZ01Dd2djbWxuYUhRNklEQXNJSFJ2Y0RvZ01DQjlmVnh1SUNBZ0lDQWdJQ0F2UGx4dUlDQWdJQ0FnS1gxY2JpQWdJQ0FnSUh0amFHbHNaSEpsYmloMFlYSm5aWFJTWldZcGZWeHVJQ0FnSUR3dlJuSmhaMjFsYm5RK1hHNGdJQ2s3WEc1OVhHNGlYWDA9ICovXCIsXG4gIHRvU3RyaW5nOiBfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXyQxXG59O1xuZnVuY3Rpb24gU2Nyb2xsTWFuYWdlcihfcmVmKSB7XG4gIHZhciBjaGlsZHJlbiA9IF9yZWYuY2hpbGRyZW4sXG4gICAgbG9ja0VuYWJsZWQgPSBfcmVmLmxvY2tFbmFibGVkLFxuICAgIF9yZWYkY2FwdHVyZUVuYWJsZWQgPSBfcmVmLmNhcHR1cmVFbmFibGVkLFxuICAgIGNhcHR1cmVFbmFibGVkID0gX3JlZiRjYXB0dXJlRW5hYmxlZCA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9yZWYkY2FwdHVyZUVuYWJsZWQsXG4gICAgb25Cb3R0b21BcnJpdmUgPSBfcmVmLm9uQm90dG9tQXJyaXZlLFxuICAgIG9uQm90dG9tTGVhdmUgPSBfcmVmLm9uQm90dG9tTGVhdmUsXG4gICAgb25Ub3BBcnJpdmUgPSBfcmVmLm9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmUgPSBfcmVmLm9uVG9wTGVhdmU7XG4gIHZhciBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0ID0gdXNlU2Nyb2xsQ2FwdHVyZSh7XG4gICAgaXNFbmFibGVkOiBjYXB0dXJlRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZTogb25Cb3R0b21BcnJpdmUsXG4gICAgb25Cb3R0b21MZWF2ZTogb25Cb3R0b21MZWF2ZSxcbiAgICBvblRvcEFycml2ZTogb25Ub3BBcnJpdmUsXG4gICAgb25Ub3BMZWF2ZTogb25Ub3BMZWF2ZVxuICB9KTtcbiAgdmFyIHNldFNjcm9sbExvY2tUYXJnZXQgPSB1c2VTY3JvbGxMb2NrKHtcbiAgICBpc0VuYWJsZWQ6IGxvY2tFbmFibGVkXG4gIH0pO1xuICB2YXIgdGFyZ2V0UmVmID0gZnVuY3Rpb24gdGFyZ2V0UmVmKGVsZW1lbnQpIHtcbiAgICBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0KGVsZW1lbnQpO1xuICAgIHNldFNjcm9sbExvY2tUYXJnZXQoZWxlbWVudCk7XG4gIH07XG4gIHJldHVybiBqc3goRnJhZ21lbnQsIG51bGwsIGxvY2tFbmFibGVkICYmIGpzeChcImRpdlwiLCB7XG4gICAgb25DbGljazogYmx1clNlbGVjdElucHV0LFxuICAgIGNzczogX3JlZjIkMVxuICB9KSwgY2hpbGRyZW4odGFyZ2V0UmVmKSk7XG59XG5cbmZ1bmN0aW9uIF9FTU9USU9OX1NUUklOR0lGSUVEX0NTU19FUlJPUl9fKCkgeyByZXR1cm4gXCJZb3UgaGF2ZSB0cmllZCB0byBzdHJpbmdpZnkgb2JqZWN0IHJldHVybmVkIGZyb20gYGNzc2AgZnVuY3Rpb24uIEl0IGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZGlyZWN0bHkgKGUuZy4gYXMgdmFsdWUgb2YgdGhlIGBjbGFzc05hbWVgIHByb3ApLCBidXQgcmF0aGVyIGhhbmRlZCB0byBlbW90aW9uIHNvIGl0IGNhbiBoYW5kbGUgaXQgKGUuZy4gYXMgdmFsdWUgb2YgYGNzc2AgcHJvcCkuXCI7IH1cbnZhciBfcmVmMiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IHtcbiAgbmFtZTogXCIxYTBybzRuLXJlcXVpcmVkSW5wdXRcIixcbiAgc3R5bGVzOiBcImxhYmVsOnJlcXVpcmVkSW5wdXQ7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7d2lkdGg6MTAwJVwiXG59IDoge1xuICBuYW1lOiBcIjVra3hiMi1yZXF1aXJlZElucHV0LVJlcXVpcmVkSW5wdXRcIixcbiAgc3R5bGVzOiBcImxhYmVsOnJlcXVpcmVkSW5wdXQ7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7d2lkdGg6MTAwJTtsYWJlbDpSZXF1aXJlZElucHV0O1wiLFxuICBtYXA6IFwiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxKbGNYVnBjbVZrU1c1d2RYUXVkSE40SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVdOSklpd2labWxzWlNJNklsSmxjWFZwY21Wa1NXNXdkWFF1ZEhONElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xSUVCcWMzZ2dhbk40SUNvdlhHNXBiWEJ2Y25RZ2V5QkdiMk4xYzBWMlpXNTBTR0Z1Wkd4bGNpd2dSblZ1WTNScGIyNURiMjF3YjI1bGJuUWdmU0JtY205dElDZHlaV0ZqZENjN1hHNXBiWEJ2Y25RZ2V5QnFjM2dnZlNCbWNtOXRJQ2RBWlcxdmRHbHZiaTl5WldGamRDYzdYRzVjYm1OdmJuTjBJRkpsY1hWcGNtVmtTVzV3ZFhRNklFWjFibU4wYVc5dVEyOXRjRzl1Wlc1MFBIdGNiaUFnY21WaFpHOXViSGtnYm1GdFpUODZJSE4wY21sdVp6dGNiaUFnY21WaFpHOXViSGtnYjI1R2IyTjFjem9nUm05amRYTkZkbVZ1ZEVoaGJtUnNaWEk4U0ZSTlRFbHVjSFYwUld4bGJXVnVkRDQ3WEc1OVBpQTlJQ2g3SUc1aGJXVXNJRzl1Um05amRYTWdmU2tnUFQ0Z0tGeHVJQ0E4YVc1d2RYUmNiaUFnSUNCeVpYRjFhWEpsWkZ4dUlDQWdJRzVoYldVOWUyNWhiV1Y5WEc0Z0lDQWdkR0ZpU1c1a1pYZzlleTB4ZlZ4dUlDQWdJR0Z5YVdFdGFHbGtaR1Z1UFZ3aWRISjFaVndpWEc0Z0lDQWdiMjVHYjJOMWN6MTdiMjVHYjJOMWMzMWNiaUFnSUNCamMzTTllM3RjYmlBZ0lDQWdJR3hoWW1Wc09pQW5jbVZ4ZFdseVpXUkpibkIxZENjc1hHNGdJQ0FnSUNCdmNHRmphWFI1T2lBd0xGeHVJQ0FnSUNBZ2NHOXBiblJsY2tWMlpXNTBjem9nSjI1dmJtVW5MRnh1SUNBZ0lDQWdjRzl6YVhScGIyNDZJQ2RoWW5OdmJIVjBaU2NzWEc0Z0lDQWdJQ0JpYjNSMGIyMDZJREFzWEc0Z0lDQWdJQ0JzWldaME9pQXdMRnh1SUNBZ0lDQWdjbWxuYUhRNklEQXNYRzRnSUNBZ0lDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQWdJSDE5WEc0Z0lDQWdMeThnVUhKbGRtVnVkQ0JnVTNkcGRHTm9hVzVuSUdaeWIyMGdkVzVqYjI1MGNtOXNiR1ZrSUhSdklHTnZiblJ5YjJ4c1pXUmdJR1Z5Y205eVhHNGdJQ0FnZG1Gc2RXVTlYQ0pjSWx4dUlDQWdJRzl1UTJoaGJtZGxQWHNvS1NBOVBpQjdmWDFjYmlBZ0x6NWNiaWs3WEc1Y2JtVjRjRzl5ZENCa1pXWmhkV3gwSUZKbGNYVnBjbVZrU1c1d2RYUTdYRzRpWFgwPSAqL1wiLFxuICB0b1N0cmluZzogX0VNT1RJT05fU1RSSU5HSUZJRURfQ1NTX0VSUk9SX19cbn07XG52YXIgUmVxdWlyZWRJbnB1dCA9IGZ1bmN0aW9uIFJlcXVpcmVkSW5wdXQoX3JlZikge1xuICB2YXIgbmFtZSA9IF9yZWYubmFtZSxcbiAgICBvbkZvY3VzID0gX3JlZi5vbkZvY3VzO1xuICByZXR1cm4ganN4KFwiaW5wdXRcIiwge1xuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIG5hbWU6IG5hbWUsXG4gICAgdGFiSW5kZXg6IC0xLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgb25Gb2N1czogb25Gb2N1cyxcbiAgICBjc3M6IF9yZWYyXG4gICAgLy8gUHJldmVudCBgU3dpdGNoaW5nIGZyb20gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWRgIGVycm9yXG4gICAgLFxuICAgIHZhbHVlOiBcIlwiLFxuICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSgpIHt9XG4gIH0pO1xufTtcbnZhciBSZXF1aXJlZElucHV0JDEgPSBSZXF1aXJlZElucHV0O1xuXG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cInVzZXItYWdlbnQtZGF0YS10eXBlc1wiIC8+XG5cbmZ1bmN0aW9uIHRlc3RQbGF0Zm9ybShyZSkge1xuICB2YXIgX3dpbmRvdyRuYXZpZ2F0b3IkdXNlO1xuICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lm5hdmlnYXRvciAhPSBudWxsID8gcmUudGVzdCgoKF93aW5kb3ckbmF2aWdhdG9yJHVzZSA9IHdpbmRvdy5uYXZpZ2F0b3JbJ3VzZXJBZ2VudERhdGEnXSkgPT09IG51bGwgfHwgX3dpbmRvdyRuYXZpZ2F0b3IkdXNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfd2luZG93JG5hdmlnYXRvciR1c2UucGxhdGZvcm0pIHx8IHdpbmRvdy5uYXZpZ2F0b3IucGxhdGZvcm0pIDogZmFsc2U7XG59XG5mdW5jdGlvbiBpc0lQaG9uZSgpIHtcbiAgcmV0dXJuIHRlc3RQbGF0Zm9ybSgvXmlQaG9uZS9pKTtcbn1cbmZ1bmN0aW9uIGlzTWFjKCkge1xuICByZXR1cm4gdGVzdFBsYXRmb3JtKC9eTWFjL2kpO1xufVxuZnVuY3Rpb24gaXNJUGFkKCkge1xuICByZXR1cm4gdGVzdFBsYXRmb3JtKC9eaVBhZC9pKSB8fFxuICAvLyBpUGFkT1MgMTMgbGllcyBhbmQgc2F5cyBpdCdzIGEgTWFjLCBidXQgd2UgY2FuIGRpc3Rpbmd1aXNoIGJ5IGRldGVjdGluZyB0b3VjaCBzdXBwb3J0LlxuICBpc01hYygpICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDE7XG59XG5mdW5jdGlvbiBpc0lPUygpIHtcbiAgcmV0dXJuIGlzSVBob25lKCkgfHwgaXNJUGFkKCk7XG59XG5mdW5jdGlvbiBpc0FwcGxlRGV2aWNlKCkge1xuICByZXR1cm4gaXNNYWMoKSB8fCBpc0lPUygpO1xufVxuXG52YXIgZm9ybWF0R3JvdXBMYWJlbCA9IGZ1bmN0aW9uIGZvcm1hdEdyb3VwTGFiZWwoZ3JvdXApIHtcbiAgcmV0dXJuIGdyb3VwLmxhYmVsO1xufTtcbnZhciBnZXRPcHRpb25MYWJlbCQxID0gZnVuY3Rpb24gZ2V0T3B0aW9uTGFiZWwob3B0aW9uKSB7XG4gIHJldHVybiBvcHRpb24ubGFiZWw7XG59O1xudmFyIGdldE9wdGlvblZhbHVlJDEgPSBmdW5jdGlvbiBnZXRPcHRpb25WYWx1ZShvcHRpb24pIHtcbiAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbn07XG52YXIgaXNPcHRpb25EaXNhYmxlZCA9IGZ1bmN0aW9uIGlzT3B0aW9uRGlzYWJsZWQob3B0aW9uKSB7XG4gIHJldHVybiAhIW9wdGlvbi5pc0Rpc2FibGVkO1xufTtcblxudmFyIGRlZmF1bHRTdHlsZXMgPSB7XG4gIGNsZWFySW5kaWNhdG9yOiBjbGVhckluZGljYXRvckNTUyxcbiAgY29udGFpbmVyOiBjb250YWluZXJDU1MsXG4gIGNvbnRyb2w6IGNzcyQxLFxuICBkcm9wZG93bkluZGljYXRvcjogZHJvcGRvd25JbmRpY2F0b3JDU1MsXG4gIGdyb3VwOiBncm91cENTUyxcbiAgZ3JvdXBIZWFkaW5nOiBncm91cEhlYWRpbmdDU1MsXG4gIGluZGljYXRvcnNDb250YWluZXI6IGluZGljYXRvcnNDb250YWluZXJDU1MsXG4gIGluZGljYXRvclNlcGFyYXRvcjogaW5kaWNhdG9yU2VwYXJhdG9yQ1NTLFxuICBpbnB1dDogaW5wdXRDU1MsXG4gIGxvYWRpbmdJbmRpY2F0b3I6IGxvYWRpbmdJbmRpY2F0b3JDU1MsXG4gIGxvYWRpbmdNZXNzYWdlOiBsb2FkaW5nTWVzc2FnZUNTUyxcbiAgbWVudTogbWVudUNTUyxcbiAgbWVudUxpc3Q6IG1lbnVMaXN0Q1NTLFxuICBtZW51UG9ydGFsOiBtZW51UG9ydGFsQ1NTLFxuICBtdWx0aVZhbHVlOiBtdWx0aVZhbHVlQ1NTLFxuICBtdWx0aVZhbHVlTGFiZWw6IG11bHRpVmFsdWVMYWJlbENTUyxcbiAgbXVsdGlWYWx1ZVJlbW92ZTogbXVsdGlWYWx1ZVJlbW92ZUNTUyxcbiAgbm9PcHRpb25zTWVzc2FnZTogbm9PcHRpb25zTWVzc2FnZUNTUyxcbiAgb3B0aW9uOiBvcHRpb25DU1MsXG4gIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlckNTUyxcbiAgc2luZ2xlVmFsdWU6IGNzcyQyLFxuICB2YWx1ZUNvbnRhaW5lcjogdmFsdWVDb250YWluZXJDU1Ncbn07XG4vLyBNZXJnZSBVdGlsaXR5XG4vLyBBbGxvd3MgY29uc3VtZXJzIHRvIGV4dGVuZCBhIGJhc2UgU2VsZWN0IHdpdGggYWRkaXRpb25hbCBzdHlsZXNcblxuZnVuY3Rpb24gbWVyZ2VTdHlsZXMoc291cmNlKSB7XG4gIHZhciB0YXJnZXQgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICAvLyBpbml0aWFsaXplIHdpdGggc291cmNlIHN0eWxlc1xuICB2YXIgc3R5bGVzID0gX29iamVjdFNwcmVhZCh7fSwgc291cmNlKTtcblxuICAvLyBtYXNzYWdlIGluIHRhcmdldCBzdHlsZXNcbiAgT2JqZWN0LmtleXModGFyZ2V0KS5mb3JFYWNoKGZ1bmN0aW9uIChrZXlBc1N0cmluZykge1xuICAgIHZhciBrZXkgPSBrZXlBc1N0cmluZztcbiAgICBpZiAoc291cmNlW2tleV0pIHtcbiAgICAgIHN0eWxlc1trZXldID0gZnVuY3Rpb24gKHJzQ3NzLCBwcm9wcykge1xuICAgICAgICByZXR1cm4gdGFyZ2V0W2tleV0oc291cmNlW2tleV0ocnNDc3MsIHByb3BzKSwgcHJvcHMpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzW2tleV0gPSB0YXJnZXRba2V5XTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gc3R5bGVzO1xufVxuXG52YXIgY29sb3JzID0ge1xuICBwcmltYXJ5OiAnIzI2ODRGRicsXG4gIHByaW1hcnk3NTogJyM0QzlBRkYnLFxuICBwcmltYXJ5NTA6ICcjQjJENEZGJyxcbiAgcHJpbWFyeTI1OiAnI0RFRUJGRicsXG4gIGRhbmdlcjogJyNERTM1MEInLFxuICBkYW5nZXJMaWdodDogJyNGRkJEQUQnLFxuICBuZXV0cmFsMDogJ2hzbCgwLCAwJSwgMTAwJSknLFxuICBuZXV0cmFsNTogJ2hzbCgwLCAwJSwgOTUlKScsXG4gIG5ldXRyYWwxMDogJ2hzbCgwLCAwJSwgOTAlKScsXG4gIG5ldXRyYWwyMDogJ2hzbCgwLCAwJSwgODAlKScsXG4gIG5ldXRyYWwzMDogJ2hzbCgwLCAwJSwgNzAlKScsXG4gIG5ldXRyYWw0MDogJ2hzbCgwLCAwJSwgNjAlKScsXG4gIG5ldXRyYWw1MDogJ2hzbCgwLCAwJSwgNTAlKScsXG4gIG5ldXRyYWw2MDogJ2hzbCgwLCAwJSwgNDAlKScsXG4gIG5ldXRyYWw3MDogJ2hzbCgwLCAwJSwgMzAlKScsXG4gIG5ldXRyYWw4MDogJ2hzbCgwLCAwJSwgMjAlKScsXG4gIG5ldXRyYWw5MDogJ2hzbCgwLCAwJSwgMTAlKSdcbn07XG52YXIgYm9yZGVyUmFkaXVzID0gNDtcbi8vIFVzZWQgdG8gY2FsY3VsYXRlIGNvbnNpc3RlbnQgbWFyZ2luL3BhZGRpbmcgb24gZWxlbWVudHNcbnZhciBiYXNlVW5pdCA9IDQ7XG4vLyBUaGUgbWluaW11bSBoZWlnaHQgb2YgdGhlIGNvbnRyb2xcbnZhciBjb250cm9sSGVpZ2h0ID0gMzg7XG4vLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIGNvbnRyb2wgYW5kIG1lbnUgKi9cbnZhciBtZW51R3V0dGVyID0gYmFzZVVuaXQgKiAyO1xudmFyIHNwYWNpbmcgPSB7XG4gIGJhc2VVbml0OiBiYXNlVW5pdCxcbiAgY29udHJvbEhlaWdodDogY29udHJvbEhlaWdodCxcbiAgbWVudUd1dHRlcjogbWVudUd1dHRlclxufTtcbnZhciBkZWZhdWx0VGhlbWUgPSB7XG4gIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzLFxuICBjb2xvcnM6IGNvbG9ycyxcbiAgc3BhY2luZzogc3BhY2luZ1xufTtcblxudmFyIGRlZmF1bHRQcm9wcyA9IHtcbiAgJ2FyaWEtbGl2ZSc6ICdwb2xpdGUnLFxuICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU6IHRydWUsXG4gIGJsdXJJbnB1dE9uU2VsZWN0OiBpc1RvdWNoQ2FwYWJsZSgpLFxuICBjYXB0dXJlTWVudVNjcm9sbDogIWlzVG91Y2hDYXBhYmxlKCksXG4gIGNsYXNzTmFtZXM6IHt9LFxuICBjbG9zZU1lbnVPblNlbGVjdDogdHJ1ZSxcbiAgY2xvc2VNZW51T25TY3JvbGw6IGZhbHNlLFxuICBjb21wb25lbnRzOiB7fSxcbiAgY29udHJvbFNob3VsZFJlbmRlclZhbHVlOiB0cnVlLFxuICBlc2NhcGVDbGVhcnNWYWx1ZTogZmFsc2UsXG4gIGZpbHRlck9wdGlvbjogY3JlYXRlRmlsdGVyKCksXG4gIGZvcm1hdEdyb3VwTGFiZWw6IGZvcm1hdEdyb3VwTGFiZWwsXG4gIGdldE9wdGlvbkxhYmVsOiBnZXRPcHRpb25MYWJlbCQxLFxuICBnZXRPcHRpb25WYWx1ZTogZ2V0T3B0aW9uVmFsdWUkMSxcbiAgaXNEaXNhYmxlZDogZmFsc2UsXG4gIGlzTG9hZGluZzogZmFsc2UsXG4gIGlzTXVsdGk6IGZhbHNlLFxuICBpc1J0bDogZmFsc2UsXG4gIGlzU2VhcmNoYWJsZTogdHJ1ZSxcbiAgaXNPcHRpb25EaXNhYmxlZDogaXNPcHRpb25EaXNhYmxlZCxcbiAgbG9hZGluZ01lc3NhZ2U6IGZ1bmN0aW9uIGxvYWRpbmdNZXNzYWdlKCkge1xuICAgIHJldHVybiAnTG9hZGluZy4uLic7XG4gIH0sXG4gIG1heE1lbnVIZWlnaHQ6IDMwMCxcbiAgbWluTWVudUhlaWdodDogMTQwLFxuICBtZW51SXNPcGVuOiBmYWxzZSxcbiAgbWVudVBsYWNlbWVudDogJ2JvdHRvbScsXG4gIG1lbnVQb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsOiBmYWxzZSxcbiAgbWVudVNob3VsZFNjcm9sbEludG9WaWV3OiAhaXNNb2JpbGVEZXZpY2UoKSxcbiAgbm9PcHRpb25zTWVzc2FnZTogZnVuY3Rpb24gbm9PcHRpb25zTWVzc2FnZSgpIHtcbiAgICByZXR1cm4gJ05vIG9wdGlvbnMnO1xuICB9LFxuICBvcGVuTWVudU9uRm9jdXM6IGZhbHNlLFxuICBvcGVuTWVudU9uQ2xpY2s6IHRydWUsXG4gIG9wdGlvbnM6IFtdLFxuICBwYWdlU2l6ZTogNSxcbiAgcGxhY2Vob2xkZXI6ICdTZWxlY3QuLi4nLFxuICBzY3JlZW5SZWFkZXJTdGF0dXM6IGZ1bmN0aW9uIHNjcmVlblJlYWRlclN0YXR1cyhfcmVmKSB7XG4gICAgdmFyIGNvdW50ID0gX3JlZi5jb3VudDtcbiAgICByZXR1cm4gXCJcIi5jb25jYXQoY291bnQsIFwiIHJlc3VsdFwiKS5jb25jYXQoY291bnQgIT09IDEgPyAncycgOiAnJywgXCIgYXZhaWxhYmxlXCIpO1xuICB9LFxuICBzdHlsZXM6IHt9LFxuICB0YWJJbmRleDogMCxcbiAgdGFiU2VsZWN0c1ZhbHVlOiB0cnVlLFxuICB1bnN0eWxlZDogZmFsc2Vcbn07XG5mdW5jdGlvbiB0b0NhdGVnb3JpemVkT3B0aW9uKHByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlLCBpbmRleCkge1xuICB2YXIgaXNEaXNhYmxlZCA9IF9pc09wdGlvbkRpc2FibGVkKHByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlKTtcbiAgdmFyIGlzU2VsZWN0ZWQgPSBfaXNPcHRpb25TZWxlY3RlZChwcm9wcywgb3B0aW9uLCBzZWxlY3RWYWx1ZSk7XG4gIHZhciBsYWJlbCA9IGdldE9wdGlvbkxhYmVsKHByb3BzLCBvcHRpb24pO1xuICB2YXIgdmFsdWUgPSBnZXRPcHRpb25WYWx1ZShwcm9wcywgb3B0aW9uKTtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnb3B0aW9uJyxcbiAgICBkYXRhOiBvcHRpb24sXG4gICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICBpc1NlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgIGxhYmVsOiBsYWJlbCxcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgaW5kZXg6IGluZGV4XG4gIH07XG59XG5mdW5jdGlvbiBidWlsZENhdGVnb3JpemVkT3B0aW9ucyhwcm9wcywgc2VsZWN0VmFsdWUpIHtcbiAgcmV0dXJuIHByb3BzLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChncm91cE9yT3B0aW9uLCBncm91cE9yT3B0aW9uSW5kZXgpIHtcbiAgICBpZiAoJ29wdGlvbnMnIGluIGdyb3VwT3JPcHRpb24pIHtcbiAgICAgIHZhciBjYXRlZ29yaXplZE9wdGlvbnMgPSBncm91cE9yT3B0aW9uLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24sIG9wdGlvbkluZGV4KSB7XG4gICAgICAgIHJldHVybiB0b0NhdGVnb3JpemVkT3B0aW9uKHByb3BzLCBvcHRpb24sIHNlbGVjdFZhbHVlLCBvcHRpb25JbmRleCk7XG4gICAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKGNhdGVnb3JpemVkT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiBpc0ZvY3VzYWJsZShwcm9wcywgY2F0ZWdvcml6ZWRPcHRpb24pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gY2F0ZWdvcml6ZWRPcHRpb25zLmxlbmd0aCA+IDAgPyB7XG4gICAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICAgIGRhdGE6IGdyb3VwT3JPcHRpb24sXG4gICAgICAgIG9wdGlvbnM6IGNhdGVnb3JpemVkT3B0aW9ucyxcbiAgICAgICAgaW5kZXg6IGdyb3VwT3JPcHRpb25JbmRleFxuICAgICAgfSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdmFyIGNhdGVnb3JpemVkT3B0aW9uID0gdG9DYXRlZ29yaXplZE9wdGlvbihwcm9wcywgZ3JvdXBPck9wdGlvbiwgc2VsZWN0VmFsdWUsIGdyb3VwT3JPcHRpb25JbmRleCk7XG4gICAgcmV0dXJuIGlzRm9jdXNhYmxlKHByb3BzLCBjYXRlZ29yaXplZE9wdGlvbikgPyBjYXRlZ29yaXplZE9wdGlvbiA6IHVuZGVmaW5lZDtcbiAgfSkuZmlsdGVyKG5vdE51bGxpc2gpO1xufVxuZnVuY3Rpb24gYnVpbGRGb2N1c2FibGVPcHRpb25zRnJvbUNhdGVnb3JpemVkT3B0aW9ucyhjYXRlZ29yaXplZE9wdGlvbnMpIHtcbiAgcmV0dXJuIGNhdGVnb3JpemVkT3B0aW9ucy5yZWR1Y2UoZnVuY3Rpb24gKG9wdGlvbnNBY2N1bXVsYXRvciwgY2F0ZWdvcml6ZWRPcHRpb24pIHtcbiAgICBpZiAoY2F0ZWdvcml6ZWRPcHRpb24udHlwZSA9PT0gJ2dyb3VwJykge1xuICAgICAgb3B0aW9uc0FjY3VtdWxhdG9yLnB1c2guYXBwbHkob3B0aW9uc0FjY3VtdWxhdG9yLCBfdG9Db25zdW1hYmxlQXJyYXkoY2F0ZWdvcml6ZWRPcHRpb24ub3B0aW9ucy5tYXAoZnVuY3Rpb24gKG9wdGlvbikge1xuICAgICAgICByZXR1cm4gb3B0aW9uLmRhdGE7XG4gICAgICB9KSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zQWNjdW11bGF0b3IucHVzaChjYXRlZ29yaXplZE9wdGlvbi5kYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnNBY2N1bXVsYXRvcjtcbiAgfSwgW10pO1xufVxuZnVuY3Rpb24gYnVpbGRGb2N1c2FibGVPcHRpb25zV2l0aElkcyhjYXRlZ29yaXplZE9wdGlvbnMsIG9wdGlvbklkKSB7XG4gIHJldHVybiBjYXRlZ29yaXplZE9wdGlvbnMucmVkdWNlKGZ1bmN0aW9uIChvcHRpb25zQWNjdW11bGF0b3IsIGNhdGVnb3JpemVkT3B0aW9uKSB7XG4gICAgaWYgKGNhdGVnb3JpemVkT3B0aW9uLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICAgIG9wdGlvbnNBY2N1bXVsYXRvci5wdXNoLmFwcGx5KG9wdGlvbnNBY2N1bXVsYXRvciwgX3RvQ29uc3VtYWJsZUFycmF5KGNhdGVnb3JpemVkT3B0aW9uLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiBvcHRpb24uZGF0YSxcbiAgICAgICAgICBpZDogXCJcIi5jb25jYXQob3B0aW9uSWQsIFwiLVwiKS5jb25jYXQoY2F0ZWdvcml6ZWRPcHRpb24uaW5kZXgsIFwiLVwiKS5jb25jYXQob3B0aW9uLmluZGV4KVxuICAgICAgICB9O1xuICAgICAgfSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9uc0FjY3VtdWxhdG9yLnB1c2goe1xuICAgICAgICBkYXRhOiBjYXRlZ29yaXplZE9wdGlvbi5kYXRhLFxuICAgICAgICBpZDogXCJcIi5jb25jYXQob3B0aW9uSWQsIFwiLVwiKS5jb25jYXQoY2F0ZWdvcml6ZWRPcHRpb24uaW5kZXgpXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnNBY2N1bXVsYXRvcjtcbiAgfSwgW10pO1xufVxuZnVuY3Rpb24gYnVpbGRGb2N1c2FibGVPcHRpb25zKHByb3BzLCBzZWxlY3RWYWx1ZSkge1xuICByZXR1cm4gYnVpbGRGb2N1c2FibGVPcHRpb25zRnJvbUNhdGVnb3JpemVkT3B0aW9ucyhidWlsZENhdGVnb3JpemVkT3B0aW9ucyhwcm9wcywgc2VsZWN0VmFsdWUpKTtcbn1cbmZ1bmN0aW9uIGlzRm9jdXNhYmxlKHByb3BzLCBjYXRlZ29yaXplZE9wdGlvbikge1xuICB2YXIgX3Byb3BzJGlucHV0VmFsdWUgPSBwcm9wcy5pbnB1dFZhbHVlLFxuICAgIGlucHV0VmFsdWUgPSBfcHJvcHMkaW5wdXRWYWx1ZSA9PT0gdm9pZCAwID8gJycgOiBfcHJvcHMkaW5wdXRWYWx1ZTtcbiAgdmFyIGRhdGEgPSBjYXRlZ29yaXplZE9wdGlvbi5kYXRhLFxuICAgIGlzU2VsZWN0ZWQgPSBjYXRlZ29yaXplZE9wdGlvbi5pc1NlbGVjdGVkLFxuICAgIGxhYmVsID0gY2F0ZWdvcml6ZWRPcHRpb24ubGFiZWwsXG4gICAgdmFsdWUgPSBjYXRlZ29yaXplZE9wdGlvbi52YWx1ZTtcbiAgcmV0dXJuICghc2hvdWxkSGlkZVNlbGVjdGVkT3B0aW9ucyhwcm9wcykgfHwgIWlzU2VsZWN0ZWQpICYmIF9maWx0ZXJPcHRpb24ocHJvcHMsIHtcbiAgICBsYWJlbDogbGFiZWwsXG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIGRhdGE6IGRhdGFcbiAgfSwgaW5wdXRWYWx1ZSk7XG59XG5mdW5jdGlvbiBnZXROZXh0Rm9jdXNlZFZhbHVlKHN0YXRlLCBuZXh0U2VsZWN0VmFsdWUpIHtcbiAgdmFyIGZvY3VzZWRWYWx1ZSA9IHN0YXRlLmZvY3VzZWRWYWx1ZSxcbiAgICBsYXN0U2VsZWN0VmFsdWUgPSBzdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgdmFyIGxhc3RGb2N1c2VkSW5kZXggPSBsYXN0U2VsZWN0VmFsdWUuaW5kZXhPZihmb2N1c2VkVmFsdWUpO1xuICBpZiAobGFzdEZvY3VzZWRJbmRleCA+IC0xKSB7XG4gICAgdmFyIG5leHRGb2N1c2VkSW5kZXggPSBuZXh0U2VsZWN0VmFsdWUuaW5kZXhPZihmb2N1c2VkVmFsdWUpO1xuICAgIGlmIChuZXh0Rm9jdXNlZEluZGV4ID4gLTEpIHtcbiAgICAgIC8vIHRoZSBmb2N1c2VkIHZhbHVlIGlzIHN0aWxsIGluIHRoZSBzZWxlY3RWYWx1ZSwgcmV0dXJuIGl0XG4gICAgICByZXR1cm4gZm9jdXNlZFZhbHVlO1xuICAgIH0gZWxzZSBpZiAobGFzdEZvY3VzZWRJbmRleCA8IG5leHRTZWxlY3RWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIC8vIHRoZSBmb2N1c2VkVmFsdWUgaXMgbm90IHByZXNlbnQgaW4gdGhlIG5leHQgc2VsZWN0VmFsdWUgYXJyYXkgYnlcbiAgICAgIC8vIHJlZmVyZW5jZSwgc28gcmV0dXJuIHRoZSBuZXcgdmFsdWUgYXQgdGhlIHNhbWUgaW5kZXhcbiAgICAgIHJldHVybiBuZXh0U2VsZWN0VmFsdWVbbGFzdEZvY3VzZWRJbmRleF07XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZ2V0TmV4dEZvY3VzZWRPcHRpb24oc3RhdGUsIG9wdGlvbnMpIHtcbiAgdmFyIGxhc3RGb2N1c2VkT3B0aW9uID0gc3RhdGUuZm9jdXNlZE9wdGlvbjtcbiAgcmV0dXJuIGxhc3RGb2N1c2VkT3B0aW9uICYmIG9wdGlvbnMuaW5kZXhPZihsYXN0Rm9jdXNlZE9wdGlvbikgPiAtMSA/IGxhc3RGb2N1c2VkT3B0aW9uIDogb3B0aW9uc1swXTtcbn1cbnZhciBnZXRGb2N1c2VkT3B0aW9uSWQgPSBmdW5jdGlvbiBnZXRGb2N1c2VkT3B0aW9uSWQoZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMsIGZvY3VzZWRPcHRpb24pIHtcbiAgdmFyIF9mb2N1c2FibGVPcHRpb25zV2l0aDtcbiAgdmFyIGZvY3VzZWRPcHRpb25JZCA9IChfZm9jdXNhYmxlT3B0aW9uc1dpdGggPSBmb2N1c2FibGVPcHRpb25zV2l0aElkcy5maW5kKGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uLmRhdGEgPT09IGZvY3VzZWRPcHRpb247XG4gIH0pKSA9PT0gbnVsbCB8fCBfZm9jdXNhYmxlT3B0aW9uc1dpdGggPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9mb2N1c2FibGVPcHRpb25zV2l0aC5pZDtcbiAgcmV0dXJuIGZvY3VzZWRPcHRpb25JZCB8fCBudWxsO1xufTtcbnZhciBnZXRPcHRpb25MYWJlbCA9IGZ1bmN0aW9uIGdldE9wdGlvbkxhYmVsKHByb3BzLCBkYXRhKSB7XG4gIHJldHVybiBwcm9wcy5nZXRPcHRpb25MYWJlbChkYXRhKTtcbn07XG52YXIgZ2V0T3B0aW9uVmFsdWUgPSBmdW5jdGlvbiBnZXRPcHRpb25WYWx1ZShwcm9wcywgZGF0YSkge1xuICByZXR1cm4gcHJvcHMuZ2V0T3B0aW9uVmFsdWUoZGF0YSk7XG59O1xuZnVuY3Rpb24gX2lzT3B0aW9uRGlzYWJsZWQocHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiBwcm9wcy5pc09wdGlvbkRpc2FibGVkID09PSAnZnVuY3Rpb24nID8gcHJvcHMuaXNPcHRpb25EaXNhYmxlZChvcHRpb24sIHNlbGVjdFZhbHVlKSA6IGZhbHNlO1xufVxuZnVuY3Rpb24gX2lzT3B0aW9uU2VsZWN0ZWQocHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpIHtcbiAgaWYgKHNlbGVjdFZhbHVlLmluZGV4T2Yob3B0aW9uKSA+IC0xKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKHR5cGVvZiBwcm9wcy5pc09wdGlvblNlbGVjdGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHByb3BzLmlzT3B0aW9uU2VsZWN0ZWQob3B0aW9uLCBzZWxlY3RWYWx1ZSk7XG4gIH1cbiAgdmFyIGNhbmRpZGF0ZSA9IGdldE9wdGlvblZhbHVlKHByb3BzLCBvcHRpb24pO1xuICByZXR1cm4gc2VsZWN0VmFsdWUuc29tZShmdW5jdGlvbiAoaSkge1xuICAgIHJldHVybiBnZXRPcHRpb25WYWx1ZShwcm9wcywgaSkgPT09IGNhbmRpZGF0ZTtcbiAgfSk7XG59XG5mdW5jdGlvbiBfZmlsdGVyT3B0aW9uKHByb3BzLCBvcHRpb24sIGlucHV0VmFsdWUpIHtcbiAgcmV0dXJuIHByb3BzLmZpbHRlck9wdGlvbiA/IHByb3BzLmZpbHRlck9wdGlvbihvcHRpb24sIGlucHV0VmFsdWUpIDogdHJ1ZTtcbn1cbnZhciBzaG91bGRIaWRlU2VsZWN0ZWRPcHRpb25zID0gZnVuY3Rpb24gc2hvdWxkSGlkZVNlbGVjdGVkT3B0aW9ucyhwcm9wcykge1xuICB2YXIgaGlkZVNlbGVjdGVkT3B0aW9ucyA9IHByb3BzLmhpZGVTZWxlY3RlZE9wdGlvbnMsXG4gICAgaXNNdWx0aSA9IHByb3BzLmlzTXVsdGk7XG4gIGlmIChoaWRlU2VsZWN0ZWRPcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiBpc011bHRpO1xuICByZXR1cm4gaGlkZVNlbGVjdGVkT3B0aW9ucztcbn07XG52YXIgaW5zdGFuY2VJZCA9IDE7XG52YXIgU2VsZWN0ID0gLyojX19QVVJFX18qL2Z1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhTZWxlY3QsIF9Db21wb25lbnQpO1xuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKFNlbGVjdCk7XG4gIC8vIE1pc2MuIEluc3RhbmNlIFByb3BlcnRpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gVE9ET1xuXG4gIC8vIFJlZnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gTGlmZWN5Y2xlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGZ1bmN0aW9uIFNlbGVjdChfcHJvcHMpIHtcbiAgICB2YXIgX3RoaXM7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFNlbGVjdCk7XG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBfcHJvcHMpO1xuICAgIF90aGlzLnN0YXRlID0ge1xuICAgICAgYXJpYVNlbGVjdGlvbjogbnVsbCxcbiAgICAgIGZvY3VzZWRPcHRpb246IG51bGwsXG4gICAgICBmb2N1c2VkT3B0aW9uSWQ6IG51bGwsXG4gICAgICBmb2N1c2FibGVPcHRpb25zV2l0aElkczogW10sXG4gICAgICBmb2N1c2VkVmFsdWU6IG51bGwsXG4gICAgICBpbnB1dElzSGlkZGVuOiBmYWxzZSxcbiAgICAgIGlzRm9jdXNlZDogZmFsc2UsXG4gICAgICBzZWxlY3RWYWx1ZTogW10sXG4gICAgICBjbGVhckZvY3VzVmFsdWVPblVwZGF0ZTogZmFsc2UsXG4gICAgICBwcmV2V2FzRm9jdXNlZDogZmFsc2UsXG4gICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZQcm9wczogdW5kZWZpbmVkLFxuICAgICAgaW5zdGFuY2VQcmVmaXg6ICcnXG4gICAgfTtcbiAgICBfdGhpcy5ibG9ja09wdGlvbkhvdmVyID0gZmFsc2U7XG4gICAgX3RoaXMuaXNDb21wb3NpbmcgPSBmYWxzZTtcbiAgICBfdGhpcy5jb21tb25Qcm9wcyA9IHZvaWQgMDtcbiAgICBfdGhpcy5pbml0aWFsVG91Y2hYID0gMDtcbiAgICBfdGhpcy5pbml0aWFsVG91Y2hZID0gMDtcbiAgICBfdGhpcy5vcGVuQWZ0ZXJGb2N1cyA9IGZhbHNlO1xuICAgIF90aGlzLnNjcm9sbFRvRm9jdXNlZE9wdGlvbk9uVXBkYXRlID0gZmFsc2U7XG4gICAgX3RoaXMudXNlcklzRHJhZ2dpbmcgPSB2b2lkIDA7XG4gICAgX3RoaXMuaXNBcHBsZURldmljZSA9IGlzQXBwbGVEZXZpY2UoKTtcbiAgICBfdGhpcy5jb250cm9sUmVmID0gbnVsbDtcbiAgICBfdGhpcy5nZXRDb250cm9sUmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgICAgX3RoaXMuY29udHJvbFJlZiA9IHJlZjtcbiAgICB9O1xuICAgIF90aGlzLmZvY3VzZWRPcHRpb25SZWYgPSBudWxsO1xuICAgIF90aGlzLmdldEZvY3VzZWRPcHRpb25SZWYgPSBmdW5jdGlvbiAocmVmKSB7XG4gICAgICBfdGhpcy5mb2N1c2VkT3B0aW9uUmVmID0gcmVmO1xuICAgIH07XG4gICAgX3RoaXMubWVudUxpc3RSZWYgPSBudWxsO1xuICAgIF90aGlzLmdldE1lbnVMaXN0UmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgICAgX3RoaXMubWVudUxpc3RSZWYgPSByZWY7XG4gICAgfTtcbiAgICBfdGhpcy5pbnB1dFJlZiA9IG51bGw7XG4gICAgX3RoaXMuZ2V0SW5wdXRSZWYgPSBmdW5jdGlvbiAocmVmKSB7XG4gICAgICBfdGhpcy5pbnB1dFJlZiA9IHJlZjtcbiAgICB9O1xuICAgIF90aGlzLmZvY3VzID0gX3RoaXMuZm9jdXNJbnB1dDtcbiAgICBfdGhpcy5ibHVyID0gX3RoaXMuYmx1cklucHV0O1xuICAgIF90aGlzLm9uQ2hhbmdlID0gZnVuY3Rpb24gKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgb25DaGFuZ2UgPSBfdGhpcyRwcm9wcy5vbkNoYW5nZSxcbiAgICAgICAgbmFtZSA9IF90aGlzJHByb3BzLm5hbWU7XG4gICAgICBhY3Rpb25NZXRhLm5hbWUgPSBuYW1lO1xuICAgICAgX3RoaXMuYXJpYU9uQ2hhbmdlKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKTtcbiAgICAgIG9uQ2hhbmdlKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKTtcbiAgICB9O1xuICAgIF90aGlzLnNldFZhbHVlID0gZnVuY3Rpb24gKG5ld1ZhbHVlLCBhY3Rpb24sIG9wdGlvbikge1xuICAgICAgdmFyIF90aGlzJHByb3BzMiA9IF90aGlzLnByb3BzLFxuICAgICAgICBjbG9zZU1lbnVPblNlbGVjdCA9IF90aGlzJHByb3BzMi5jbG9zZU1lbnVPblNlbGVjdCxcbiAgICAgICAgaXNNdWx0aSA9IF90aGlzJHByb3BzMi5pc011bHRpLFxuICAgICAgICBpbnB1dFZhbHVlID0gX3RoaXMkcHJvcHMyLmlucHV0VmFsdWU7XG4gICAgICBfdGhpcy5vbklucHV0Q2hhbmdlKCcnLCB7XG4gICAgICAgIGFjdGlvbjogJ3NldC12YWx1ZScsXG4gICAgICAgIHByZXZJbnB1dFZhbHVlOiBpbnB1dFZhbHVlXG4gICAgICB9KTtcbiAgICAgIGlmIChjbG9zZU1lbnVPblNlbGVjdCkge1xuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlOiAhaXNNdWx0aVxuICAgICAgICB9KTtcbiAgICAgICAgX3RoaXMub25NZW51Q2xvc2UoKTtcbiAgICAgIH1cbiAgICAgIC8vIHdoZW4gdGhlIHNlbGVjdCB2YWx1ZSBzaG91bGQgY2hhbmdlLCB3ZSBzaG91bGQgcmVzZXQgZm9jdXNlZFZhbHVlXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGNsZWFyRm9jdXNWYWx1ZU9uVXBkYXRlOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIF90aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlLCB7XG4gICAgICAgIGFjdGlvbjogYWN0aW9uLFxuICAgICAgICBvcHRpb246IG9wdGlvblxuICAgICAgfSk7XG4gICAgfTtcbiAgICBfdGhpcy5zZWxlY3RPcHRpb24gPSBmdW5jdGlvbiAobmV3VmFsdWUpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczMgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgYmx1cklucHV0T25TZWxlY3QgPSBfdGhpcyRwcm9wczMuYmx1cklucHV0T25TZWxlY3QsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczMuaXNNdWx0aSxcbiAgICAgICAgbmFtZSA9IF90aGlzJHByb3BzMy5uYW1lO1xuICAgICAgdmFyIHNlbGVjdFZhbHVlID0gX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICB2YXIgZGVzZWxlY3RlZCA9IGlzTXVsdGkgJiYgX3RoaXMuaXNPcHRpb25TZWxlY3RlZChuZXdWYWx1ZSwgc2VsZWN0VmFsdWUpO1xuICAgICAgdmFyIGlzRGlzYWJsZWQgPSBfdGhpcy5pc09wdGlvbkRpc2FibGVkKG5ld1ZhbHVlLCBzZWxlY3RWYWx1ZSk7XG4gICAgICBpZiAoZGVzZWxlY3RlZCkge1xuICAgICAgICB2YXIgY2FuZGlkYXRlID0gX3RoaXMuZ2V0T3B0aW9uVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICBfdGhpcy5zZXRWYWx1ZShtdWx0aVZhbHVlQXNWYWx1ZShzZWxlY3RWYWx1ZS5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMuZ2V0T3B0aW9uVmFsdWUoaSkgIT09IGNhbmRpZGF0ZTtcbiAgICAgICAgfSkpLCAnZGVzZWxlY3Qtb3B0aW9uJywgbmV3VmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICghaXNEaXNhYmxlZCkge1xuICAgICAgICAvLyBTZWxlY3Qgb3B0aW9uIGlmIG9wdGlvbiBpcyBub3QgZGlzYWJsZWRcbiAgICAgICAgaWYgKGlzTXVsdGkpIHtcbiAgICAgICAgICBfdGhpcy5zZXRWYWx1ZShtdWx0aVZhbHVlQXNWYWx1ZShbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KHNlbGVjdFZhbHVlKSwgW25ld1ZhbHVlXSkpLCAnc2VsZWN0LW9wdGlvbicsIG5ld1ZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpcy5zZXRWYWx1ZShzaW5nbGVWYWx1ZUFzVmFsdWUobmV3VmFsdWUpLCAnc2VsZWN0LW9wdGlvbicpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfdGhpcy5hcmlhT25DaGFuZ2Uoc2luZ2xlVmFsdWVBc1ZhbHVlKG5ld1ZhbHVlKSwge1xuICAgICAgICAgIGFjdGlvbjogJ3NlbGVjdC1vcHRpb24nLFxuICAgICAgICAgIG9wdGlvbjogbmV3VmFsdWUsXG4gICAgICAgICAgbmFtZTogbmFtZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGJsdXJJbnB1dE9uU2VsZWN0KSB7XG4gICAgICAgIF90aGlzLmJsdXJJbnB1dCgpO1xuICAgICAgfVxuICAgIH07XG4gICAgX3RoaXMucmVtb3ZlVmFsdWUgPSBmdW5jdGlvbiAocmVtb3ZlZFZhbHVlKSB7XG4gICAgICB2YXIgaXNNdWx0aSA9IF90aGlzLnByb3BzLmlzTXVsdGk7XG4gICAgICB2YXIgc2VsZWN0VmFsdWUgPSBfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgICAgIHZhciBjYW5kaWRhdGUgPSBfdGhpcy5nZXRPcHRpb25WYWx1ZShyZW1vdmVkVmFsdWUpO1xuICAgICAgdmFyIG5ld1ZhbHVlQXJyYXkgPSBzZWxlY3RWYWx1ZS5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzLmdldE9wdGlvblZhbHVlKGkpICE9PSBjYW5kaWRhdGU7XG4gICAgICB9KTtcbiAgICAgIHZhciBuZXdWYWx1ZSA9IHZhbHVlVGVybmFyeShpc011bHRpLCBuZXdWYWx1ZUFycmF5LCBuZXdWYWx1ZUFycmF5WzBdIHx8IG51bGwpO1xuICAgICAgX3RoaXMub25DaGFuZ2UobmV3VmFsdWUsIHtcbiAgICAgICAgYWN0aW9uOiAncmVtb3ZlLXZhbHVlJyxcbiAgICAgICAgcmVtb3ZlZFZhbHVlOiByZW1vdmVkVmFsdWVcbiAgICAgIH0pO1xuICAgICAgX3RoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH07XG4gICAgX3RoaXMuY2xlYXJWYWx1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IF90aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xuICAgICAgX3RoaXMub25DaGFuZ2UodmFsdWVUZXJuYXJ5KF90aGlzLnByb3BzLmlzTXVsdGksIFtdLCBudWxsKSwge1xuICAgICAgICBhY3Rpb246ICdjbGVhcicsXG4gICAgICAgIHJlbW92ZWRWYWx1ZXM6IHNlbGVjdFZhbHVlXG4gICAgICB9KTtcbiAgICB9O1xuICAgIF90aGlzLnBvcFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGlzTXVsdGkgPSBfdGhpcy5wcm9wcy5pc011bHRpO1xuICAgICAgdmFyIHNlbGVjdFZhbHVlID0gX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICB2YXIgbGFzdFNlbGVjdGVkVmFsdWUgPSBzZWxlY3RWYWx1ZVtzZWxlY3RWYWx1ZS5sZW5ndGggLSAxXTtcbiAgICAgIHZhciBuZXdWYWx1ZUFycmF5ID0gc2VsZWN0VmFsdWUuc2xpY2UoMCwgc2VsZWN0VmFsdWUubGVuZ3RoIC0gMSk7XG4gICAgICB2YXIgbmV3VmFsdWUgPSB2YWx1ZVRlcm5hcnkoaXNNdWx0aSwgbmV3VmFsdWVBcnJheSwgbmV3VmFsdWVBcnJheVswXSB8fCBudWxsKTtcbiAgICAgIGlmIChsYXN0U2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICBfdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSwge1xuICAgICAgICAgIGFjdGlvbjogJ3BvcC12YWx1ZScsXG4gICAgICAgICAgcmVtb3ZlZFZhbHVlOiBsYXN0U2VsZWN0ZWRWYWx1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLmdldEZvY3VzZWRPcHRpb25JZCA9IGZ1bmN0aW9uIChmb2N1c2VkT3B0aW9uKSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZE9wdGlvbklkKF90aGlzLnN0YXRlLmZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzLCBmb2N1c2VkT3B0aW9uKTtcbiAgICB9O1xuICAgIF90aGlzLmdldEZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1aWxkRm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMoYnVpbGRDYXRlZ29yaXplZE9wdGlvbnMoX3RoaXMucHJvcHMsIF90aGlzLnN0YXRlLnNlbGVjdFZhbHVlKSwgX3RoaXMuZ2V0RWxlbWVudElkKCdvcHRpb24nKSk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRWYWx1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgICB9O1xuICAgIF90aGlzLmN4ID0gZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG4gICAgICByZXR1cm4gY2xhc3NOYW1lcy5hcHBseSh2b2lkIDAsIFtfdGhpcy5wcm9wcy5jbGFzc05hbWVQcmVmaXhdLmNvbmNhdChhcmdzKSk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRPcHRpb25MYWJlbCA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICByZXR1cm4gZ2V0T3B0aW9uTGFiZWwoX3RoaXMucHJvcHMsIGRhdGEpO1xuICAgIH07XG4gICAgX3RoaXMuZ2V0T3B0aW9uVmFsdWUgPSBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgcmV0dXJuIGdldE9wdGlvblZhbHVlKF90aGlzLnByb3BzLCBkYXRhKTtcbiAgICB9O1xuICAgIF90aGlzLmdldFN0eWxlcyA9IGZ1bmN0aW9uIChrZXksIHByb3BzKSB7XG4gICAgICB2YXIgdW5zdHlsZWQgPSBfdGhpcy5wcm9wcy51bnN0eWxlZDtcbiAgICAgIHZhciBiYXNlID0gZGVmYXVsdFN0eWxlc1trZXldKHByb3BzLCB1bnN0eWxlZCk7XG4gICAgICBiYXNlLmJveFNpemluZyA9ICdib3JkZXItYm94JztcbiAgICAgIHZhciBjdXN0b20gPSBfdGhpcy5wcm9wcy5zdHlsZXNba2V5XTtcbiAgICAgIHJldHVybiBjdXN0b20gPyBjdXN0b20oYmFzZSwgcHJvcHMpIDogYmFzZTtcbiAgICB9O1xuICAgIF90aGlzLmdldENsYXNzTmFtZXMgPSBmdW5jdGlvbiAoa2V5LCBwcm9wcykge1xuICAgICAgdmFyIF90aGlzJHByb3BzJGNsYXNzTmFtZSwgX3RoaXMkcHJvcHMkY2xhc3NOYW1lMjtcbiAgICAgIHJldHVybiAoX3RoaXMkcHJvcHMkY2xhc3NOYW1lID0gKF90aGlzJHByb3BzJGNsYXNzTmFtZTIgPSBfdGhpcy5wcm9wcy5jbGFzc05hbWVzKVtrZXldKSA9PT0gbnVsbCB8fCBfdGhpcyRwcm9wcyRjbGFzc05hbWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJHByb3BzJGNsYXNzTmFtZS5jYWxsKF90aGlzJHByb3BzJGNsYXNzTmFtZTIsIHByb3BzKTtcbiAgICB9O1xuICAgIF90aGlzLmdldEVsZW1lbnRJZCA9IGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICByZXR1cm4gXCJcIi5jb25jYXQoX3RoaXMuc3RhdGUuaW5zdGFuY2VQcmVmaXgsIFwiLVwiKS5jb25jYXQoZWxlbWVudCk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRDb21wb25lbnRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRDb21wb25lbnRzKF90aGlzLnByb3BzKTtcbiAgICB9O1xuICAgIF90aGlzLmJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKF90aGlzLnByb3BzLCBfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZSk7XG4gICAgfTtcbiAgICBfdGhpcy5nZXRDYXRlZ29yaXplZE9wdGlvbnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gX3RoaXMucHJvcHMubWVudUlzT3BlbiA/IF90aGlzLmJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKCkgOiBbXTtcbiAgICB9O1xuICAgIF90aGlzLmJ1aWxkRm9jdXNhYmxlT3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBidWlsZEZvY3VzYWJsZU9wdGlvbnNGcm9tQ2F0ZWdvcml6ZWRPcHRpb25zKF90aGlzLmJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKCkpO1xuICAgIH07XG4gICAgX3RoaXMuZ2V0Rm9jdXNhYmxlT3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfdGhpcy5wcm9wcy5tZW51SXNPcGVuID8gX3RoaXMuYnVpbGRGb2N1c2FibGVPcHRpb25zKCkgOiBbXTtcbiAgICB9O1xuICAgIF90aGlzLmFyaWFPbkNoYW5nZSA9IGZ1bmN0aW9uICh2YWx1ZSwgYWN0aW9uTWV0YSkge1xuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBhcmlhU2VsZWN0aW9uOiBfb2JqZWN0U3ByZWFkKHtcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSwgYWN0aW9uTWV0YSlcbiAgICAgIH0pO1xuICAgIH07XG4gICAgX3RoaXMub25NZW51TW91c2VEb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBpZiAoZXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIF90aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9O1xuICAgIF90aGlzLm9uTWVudU1vdXNlTW92ZSA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgX3RoaXMuYmxvY2tPcHRpb25Ib3ZlciA9IGZhbHNlO1xuICAgIH07XG4gICAgX3RoaXMub25Db250cm9sTW91c2VEb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAvLyBFdmVudCBjYXB0dXJlZCBieSBkcm9wZG93biBpbmRpY2F0b3JcbiAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBvcGVuTWVudU9uQ2xpY2sgPSBfdGhpcy5wcm9wcy5vcGVuTWVudU9uQ2xpY2s7XG4gICAgICBpZiAoIV90aGlzLnN0YXRlLmlzRm9jdXNlZCkge1xuICAgICAgICBpZiAob3Blbk1lbnVPbkNsaWNrKSB7XG4gICAgICAgICAgX3RoaXMub3BlbkFmdGVyRm9jdXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIF90aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgIH0gZWxzZSBpZiAoIV90aGlzLnByb3BzLm1lbnVJc09wZW4pIHtcbiAgICAgICAgaWYgKG9wZW5NZW51T25DbGljaykge1xuICAgICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYgZXZlbnQudGFyZ2V0LnRhZ05hbWUgIT09ICdURVhUQVJFQScpIHtcbiAgICAgICAgICBfdGhpcy5vbk1lbnVDbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYgZXZlbnQudGFyZ2V0LnRhZ05hbWUgIT09ICdURVhUQVJFQScpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLm9uRHJvcGRvd25JbmRpY2F0b3JNb3VzZURvd24gPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIC8vIGlnbm9yZSBtb3VzZSBldmVudHMgdGhhdCB3ZXJlbid0IHRyaWdnZXJlZCBieSB0aGUgcHJpbWFyeSBidXR0b25cbiAgICAgIGlmIChldmVudCAmJiBldmVudC50eXBlID09PSAnbW91c2Vkb3duJyAmJiBldmVudC5idXR0b24gIT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKF90aGlzLnByb3BzLmlzRGlzYWJsZWQpIHJldHVybjtcbiAgICAgIHZhciBfdGhpcyRwcm9wczQgPSBfdGhpcy5wcm9wcyxcbiAgICAgICAgaXNNdWx0aSA9IF90aGlzJHByb3BzNC5pc011bHRpLFxuICAgICAgICBtZW51SXNPcGVuID0gX3RoaXMkcHJvcHM0Lm1lbnVJc09wZW47XG4gICAgICBfdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICBpZiAobWVudUlzT3Blbikge1xuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgaW5wdXRJc0hpZGRlbkFmdGVyVXBkYXRlOiAhaXNNdWx0aVxuICAgICAgICB9KTtcbiAgICAgICAgX3RoaXMub25NZW51Q2xvc2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgfVxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9O1xuICAgIF90aGlzLm9uQ2xlYXJJbmRpY2F0b3JNb3VzZURvd24gPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIC8vIGlnbm9yZSBtb3VzZSBldmVudHMgdGhhdCB3ZXJlbid0IHRyaWdnZXJlZCBieSB0aGUgcHJpbWFyeSBidXR0b25cbiAgICAgIGlmIChldmVudCAmJiBldmVudC50eXBlID09PSAnbW91c2Vkb3duJyAmJiBldmVudC5idXR0b24gIT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgX3RoaXMuY2xlYXJWYWx1ZSgpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIF90aGlzLm9wZW5BZnRlckZvY3VzID0gZmFsc2U7XG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ3RvdWNoZW5kJykge1xuICAgICAgICBfdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLm9uU2Nyb2xsID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBpZiAodHlwZW9mIF90aGlzLnByb3BzLmNsb3NlTWVudU9uU2Nyb2xsID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmIGlzRG9jdW1lbnRFbGVtZW50KGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICBfdGhpcy5wcm9wcy5vbk1lbnVDbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBfdGhpcy5wcm9wcy5jbG9zZU1lbnVPblNjcm9sbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAoX3RoaXMucHJvcHMuY2xvc2VNZW51T25TY3JvbGwoZXZlbnQpKSB7XG4gICAgICAgICAgX3RoaXMucHJvcHMub25NZW51Q2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgX3RoaXMub25Db21wb3NpdGlvblN0YXJ0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuaXNDb21wb3NpbmcgPSB0cnVlO1xuICAgIH07XG4gICAgX3RoaXMub25Db21wb3NpdGlvbkVuZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIF90aGlzLmlzQ29tcG9zaW5nID0gZmFsc2U7XG4gICAgfTtcbiAgICBfdGhpcy5vblRvdWNoU3RhcnQgPSBmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICAgIHZhciB0b3VjaGVzID0gX3JlZjIudG91Y2hlcztcbiAgICAgIHZhciB0b3VjaCA9IHRvdWNoZXMgJiYgdG91Y2hlcy5pdGVtKDApO1xuICAgICAgaWYgKCF0b3VjaCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBfdGhpcy5pbml0aWFsVG91Y2hYID0gdG91Y2guY2xpZW50WDtcbiAgICAgIF90aGlzLmluaXRpYWxUb3VjaFkgPSB0b3VjaC5jbGllbnRZO1xuICAgICAgX3RoaXMudXNlcklzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB9O1xuICAgIF90aGlzLm9uVG91Y2hNb3ZlID0gZnVuY3Rpb24gKF9yZWYzKSB7XG4gICAgICB2YXIgdG91Y2hlcyA9IF9yZWYzLnRvdWNoZXM7XG4gICAgICB2YXIgdG91Y2ggPSB0b3VjaGVzICYmIHRvdWNoZXMuaXRlbSgwKTtcbiAgICAgIGlmICghdG91Y2gpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdmFyIGRlbHRhWCA9IE1hdGguYWJzKHRvdWNoLmNsaWVudFggLSBfdGhpcy5pbml0aWFsVG91Y2hYKTtcbiAgICAgIHZhciBkZWx0YVkgPSBNYXRoLmFicyh0b3VjaC5jbGllbnRZIC0gX3RoaXMuaW5pdGlhbFRvdWNoWSk7XG4gICAgICB2YXIgbW92ZVRocmVzaG9sZCA9IDU7XG4gICAgICBfdGhpcy51c2VySXNEcmFnZ2luZyA9IGRlbHRhWCA+IG1vdmVUaHJlc2hvbGQgfHwgZGVsdGFZID4gbW92ZVRocmVzaG9sZDtcbiAgICB9O1xuICAgIF90aGlzLm9uVG91Y2hFbmQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGlmIChfdGhpcy51c2VySXNEcmFnZ2luZykgcmV0dXJuO1xuXG4gICAgICAvLyBjbG9zZSB0aGUgbWVudSBpZiB0aGUgdXNlciB0YXBzIG91dHNpZGVcbiAgICAgIC8vIHdlJ3JlIGNoZWNraW5nIG9uIGV2ZW50LnRhcmdldCBoZXJlIGluc3RlYWQgb2YgZXZlbnQuY3VycmVudFRhcmdldCwgYmVjYXVzZSB3ZSB3YW50IHRvIGFzc2VydCBpbmZvcm1hdGlvblxuICAgICAgLy8gb24gZXZlbnRzIG9uIGNoaWxkIGVsZW1lbnRzLCBub3QgdGhlIGRvY3VtZW50ICh3aGljaCB3ZSd2ZSBhdHRhY2hlZCB0aGlzIGhhbmRsZXIgdG8pLlxuICAgICAgaWYgKF90aGlzLmNvbnRyb2xSZWYgJiYgIV90aGlzLmNvbnRyb2xSZWYuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJiBfdGhpcy5tZW51TGlzdFJlZiAmJiAhX3RoaXMubWVudUxpc3RSZWYuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICBfdGhpcy5ibHVySW5wdXQoKTtcbiAgICAgIH1cblxuICAgICAgLy8gcmVzZXQgbW92ZSB2YXJzXG4gICAgICBfdGhpcy5pbml0aWFsVG91Y2hYID0gMDtcbiAgICAgIF90aGlzLmluaXRpYWxUb3VjaFkgPSAwO1xuICAgIH07XG4gICAgX3RoaXMub25Db250cm9sVG91Y2hFbmQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGlmIChfdGhpcy51c2VySXNEcmFnZ2luZykgcmV0dXJuO1xuICAgICAgX3RoaXMub25Db250cm9sTW91c2VEb3duKGV2ZW50KTtcbiAgICB9O1xuICAgIF90aGlzLm9uQ2xlYXJJbmRpY2F0b3JUb3VjaEVuZCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKF90aGlzLnVzZXJJc0RyYWdnaW5nKSByZXR1cm47XG4gICAgICBfdGhpcy5vbkNsZWFySW5kaWNhdG9yTW91c2VEb3duKGV2ZW50KTtcbiAgICB9O1xuICAgIF90aGlzLm9uRHJvcGRvd25JbmRpY2F0b3JUb3VjaEVuZCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKF90aGlzLnVzZXJJc0RyYWdnaW5nKSByZXR1cm47XG4gICAgICBfdGhpcy5vbkRyb3Bkb3duSW5kaWNhdG9yTW91c2VEb3duKGV2ZW50KTtcbiAgICB9O1xuICAgIF90aGlzLmhhbmRsZUlucHV0Q2hhbmdlID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICB2YXIgcHJldklucHV0VmFsdWUgPSBfdGhpcy5wcm9wcy5pbnB1dFZhbHVlO1xuICAgICAgdmFyIGlucHV0VmFsdWUgPSBldmVudC5jdXJyZW50VGFyZ2V0LnZhbHVlO1xuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIF90aGlzLm9uSW5wdXRDaGFuZ2UoaW5wdXRWYWx1ZSwge1xuICAgICAgICBhY3Rpb246ICdpbnB1dC1jaGFuZ2UnLFxuICAgICAgICBwcmV2SW5wdXRWYWx1ZTogcHJldklucHV0VmFsdWVcbiAgICAgIH0pO1xuICAgICAgaWYgKCFfdGhpcy5wcm9wcy5tZW51SXNPcGVuKSB7XG4gICAgICAgIF90aGlzLm9uTWVudU9wZW4oKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF90aGlzLm9uSW5wdXRGb2N1cyA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKF90aGlzLnByb3BzLm9uRm9jdXMpIHtcbiAgICAgICAgX3RoaXMucHJvcHMub25Gb2N1cyhldmVudCk7XG4gICAgICB9XG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZTogZmFsc2UsXG4gICAgICAgIGlzRm9jdXNlZDogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBpZiAoX3RoaXMub3BlbkFmdGVyRm9jdXMgfHwgX3RoaXMucHJvcHMub3Blbk1lbnVPbkZvY3VzKSB7XG4gICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgfVxuICAgICAgX3RoaXMub3BlbkFmdGVyRm9jdXMgPSBmYWxzZTtcbiAgICB9O1xuICAgIF90aGlzLm9uSW5wdXRCbHVyID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICB2YXIgcHJldklucHV0VmFsdWUgPSBfdGhpcy5wcm9wcy5pbnB1dFZhbHVlO1xuICAgICAgaWYgKF90aGlzLm1lbnVMaXN0UmVmICYmIF90aGlzLm1lbnVMaXN0UmVmLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgIF90aGlzLmlucHV0UmVmLmZvY3VzKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChfdGhpcy5wcm9wcy5vbkJsdXIpIHtcbiAgICAgICAgX3RoaXMucHJvcHMub25CbHVyKGV2ZW50KTtcbiAgICAgIH1cbiAgICAgIF90aGlzLm9uSW5wdXRDaGFuZ2UoJycsIHtcbiAgICAgICAgYWN0aW9uOiAnaW5wdXQtYmx1cicsXG4gICAgICAgIHByZXZJbnB1dFZhbHVlOiBwcmV2SW5wdXRWYWx1ZVxuICAgICAgfSk7XG4gICAgICBfdGhpcy5vbk1lbnVDbG9zZSgpO1xuICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICBmb2N1c2VkVmFsdWU6IG51bGwsXG4gICAgICAgIGlzRm9jdXNlZDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH07XG4gICAgX3RoaXMub25PcHRpb25Ib3ZlciA9IGZ1bmN0aW9uIChmb2N1c2VkT3B0aW9uKSB7XG4gICAgICBpZiAoX3RoaXMuYmxvY2tPcHRpb25Ib3ZlciB8fCBfdGhpcy5zdGF0ZS5mb2N1c2VkT3B0aW9uID09PSBmb2N1c2VkT3B0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBvcHRpb25zID0gX3RoaXMuZ2V0Rm9jdXNhYmxlT3B0aW9ucygpO1xuICAgICAgdmFyIGZvY3VzZWRPcHRpb25JbmRleCA9IG9wdGlvbnMuaW5kZXhPZihmb2N1c2VkT3B0aW9uKTtcbiAgICAgIF90aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogZm9jdXNlZE9wdGlvbixcbiAgICAgICAgZm9jdXNlZE9wdGlvbklkOiBmb2N1c2VkT3B0aW9uSW5kZXggPiAtMSA/IF90aGlzLmdldEZvY3VzZWRPcHRpb25JZChmb2N1c2VkT3B0aW9uKSA6IG51bGxcbiAgICAgIH0pO1xuICAgIH07XG4gICAgX3RoaXMuc2hvdWxkSGlkZVNlbGVjdGVkT3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBzaG91bGRIaWRlU2VsZWN0ZWRPcHRpb25zKF90aGlzLnByb3BzKTtcbiAgICB9O1xuICAgIF90aGlzLm9uVmFsdWVJbnB1dEZvY3VzID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBfdGhpcy5mb2N1cygpO1xuICAgIH07XG4gICAgX3RoaXMub25LZXlEb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICB2YXIgX3RoaXMkcHJvcHM1ID0gX3RoaXMucHJvcHMsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczUuaXNNdWx0aSxcbiAgICAgICAgYmFja3NwYWNlUmVtb3Zlc1ZhbHVlID0gX3RoaXMkcHJvcHM1LmJhY2tzcGFjZVJlbW92ZXNWYWx1ZSxcbiAgICAgICAgZXNjYXBlQ2xlYXJzVmFsdWUgPSBfdGhpcyRwcm9wczUuZXNjYXBlQ2xlYXJzVmFsdWUsXG4gICAgICAgIGlucHV0VmFsdWUgPSBfdGhpcyRwcm9wczUuaW5wdXRWYWx1ZSxcbiAgICAgICAgaXNDbGVhcmFibGUgPSBfdGhpcyRwcm9wczUuaXNDbGVhcmFibGUsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczUuaXNEaXNhYmxlZCxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzNS5tZW51SXNPcGVuLFxuICAgICAgICBvbktleURvd24gPSBfdGhpcyRwcm9wczUub25LZXlEb3duLFxuICAgICAgICB0YWJTZWxlY3RzVmFsdWUgPSBfdGhpcyRwcm9wczUudGFiU2VsZWN0c1ZhbHVlLFxuICAgICAgICBvcGVuTWVudU9uRm9jdXMgPSBfdGhpcyRwcm9wczUub3Blbk1lbnVPbkZvY3VzO1xuICAgICAgdmFyIF90aGlzJHN0YXRlID0gX3RoaXMuc3RhdGUsXG4gICAgICAgIGZvY3VzZWRPcHRpb24gPSBfdGhpcyRzdGF0ZS5mb2N1c2VkT3B0aW9uLFxuICAgICAgICBmb2N1c2VkVmFsdWUgPSBfdGhpcyRzdGF0ZS5mb2N1c2VkVmFsdWUsXG4gICAgICAgIHNlbGVjdFZhbHVlID0gX3RoaXMkc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICBpZiAoaXNEaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgaWYgKHR5cGVvZiBvbktleURvd24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQmxvY2sgb3B0aW9uIGhvdmVyIGV2ZW50cyB3aGVuIHRoZSB1c2VyIGhhcyBqdXN0IHByZXNzZWQgYSBrZXlcbiAgICAgIF90aGlzLmJsb2NrT3B0aW9uSG92ZXIgPSB0cnVlO1xuICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICBpZiAoIWlzTXVsdGkgfHwgaW5wdXRWYWx1ZSkgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLmZvY3VzVmFsdWUoJ3ByZXZpb3VzJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgIGlmICghaXNNdWx0aSB8fCBpbnB1dFZhbHVlKSByZXR1cm47XG4gICAgICAgICAgX3RoaXMuZm9jdXNWYWx1ZSgnbmV4dCcpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdEZWxldGUnOlxuICAgICAgICBjYXNlICdCYWNrc3BhY2UnOlxuICAgICAgICAgIGlmIChpbnB1dFZhbHVlKSByZXR1cm47XG4gICAgICAgICAgaWYgKGZvY3VzZWRWYWx1ZSkge1xuICAgICAgICAgICAgX3RoaXMucmVtb3ZlVmFsdWUoZm9jdXNlZFZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFiYWNrc3BhY2VSZW1vdmVzVmFsdWUpIHJldHVybjtcbiAgICAgICAgICAgIGlmIChpc011bHRpKSB7XG4gICAgICAgICAgICAgIF90aGlzLnBvcFZhbHVlKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzQ2xlYXJhYmxlKSB7XG4gICAgICAgICAgICAgIF90aGlzLmNsZWFyVmFsdWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgICAgaWYgKF90aGlzLmlzQ29tcG9zaW5nKSByZXR1cm47XG4gICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5IHx8ICFtZW51SXNPcGVuIHx8ICF0YWJTZWxlY3RzVmFsdWUgfHwgIWZvY3VzZWRPcHRpb24gfHxcbiAgICAgICAgICAvLyBkb24ndCBjYXB0dXJlIHRoZSBldmVudCBpZiB0aGUgbWVudSBvcGVucyBvbiBmb2N1cyBhbmQgdGhlIGZvY3VzZWRcbiAgICAgICAgICAvLyBvcHRpb24gaXMgYWxyZWFkeSBzZWxlY3RlZDsgaXQgYnJlYWtzIHRoZSBmbG93IG9mIG5hdmlnYXRpb25cbiAgICAgICAgICBvcGVuTWVudU9uRm9jdXMgJiYgX3RoaXMuaXNPcHRpb25TZWxlY3RlZChmb2N1c2VkT3B0aW9uLCBzZWxlY3RWYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgX3RoaXMuc2VsZWN0T3B0aW9uKGZvY3VzZWRPcHRpb24pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDIyOSkge1xuICAgICAgICAgICAgLy8gaWdub3JlIHRoZSBrZXlkb3duIGV2ZW50IGZyb20gYW4gSW5wdXQgTWV0aG9kIEVkaXRvcihJTUUpXG4gICAgICAgICAgICAvLyByZWYuIGh0dHBzOi8vd3d3LnczLm9yZy9UUi91aWV2ZW50cy8jZGV0ZXJtaW5lLWtleWRvd24ta2V5dXAta2V5Q29kZVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChtZW51SXNPcGVuKSB7XG4gICAgICAgICAgICBpZiAoIWZvY3VzZWRPcHRpb24pIHJldHVybjtcbiAgICAgICAgICAgIGlmIChfdGhpcy5pc0NvbXBvc2luZykgcmV0dXJuO1xuICAgICAgICAgICAgX3RoaXMuc2VsZWN0T3B0aW9uKGZvY3VzZWRPcHRpb24pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgICBpZiAobWVudUlzT3Blbikge1xuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGU6IGZhbHNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIF90aGlzLm9uSW5wdXRDaGFuZ2UoJycsIHtcbiAgICAgICAgICAgICAgYWN0aW9uOiAnbWVudS1jbG9zZScsXG4gICAgICAgICAgICAgIHByZXZJbnB1dFZhbHVlOiBpbnB1dFZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIF90aGlzLm9uTWVudUNsb3NlKCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChpc0NsZWFyYWJsZSAmJiBlc2NhcGVDbGVhcnNWYWx1ZSkge1xuICAgICAgICAgICAgX3RoaXMuY2xlYXJWYWx1ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgLy8gc3BhY2VcbiAgICAgICAgICBpZiAoaW5wdXRWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIW1lbnVJc09wZW4pIHtcbiAgICAgICAgICAgIF90aGlzLm9wZW5NZW51KCdmaXJzdCcpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZm9jdXNlZE9wdGlvbikgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLnNlbGVjdE9wdGlvbihmb2N1c2VkT3B0aW9uKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgICAgaWYgKG1lbnVJc09wZW4pIHtcbiAgICAgICAgICAgIF90aGlzLmZvY3VzT3B0aW9uKCd1cCcpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBfdGhpcy5vcGVuTWVudSgnbGFzdCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICBpZiAobWVudUlzT3Blbikge1xuICAgICAgICAgICAgX3RoaXMuZm9jdXNPcHRpb24oJ2Rvd24nKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMub3Blbk1lbnUoJ2ZpcnN0Jyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgICAgIGlmICghbWVudUlzT3BlbikgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLmZvY3VzT3B0aW9uKCdwYWdldXAnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnUGFnZURvd24nOlxuICAgICAgICAgIGlmICghbWVudUlzT3BlbikgcmV0dXJuO1xuICAgICAgICAgIF90aGlzLmZvY3VzT3B0aW9uKCdwYWdlZG93bicpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgICBpZiAoIW1lbnVJc09wZW4pIHJldHVybjtcbiAgICAgICAgICBfdGhpcy5mb2N1c09wdGlvbignZmlyc3QnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgICBpZiAoIW1lbnVJc09wZW4pIHJldHVybjtcbiAgICAgICAgICBfdGhpcy5mb2N1c09wdGlvbignbGFzdCcpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfTtcbiAgICBfdGhpcy5zdGF0ZS5pbnN0YW5jZVByZWZpeCA9ICdyZWFjdC1zZWxlY3QtJyArIChfdGhpcy5wcm9wcy5pbnN0YW5jZUlkIHx8ICsraW5zdGFuY2VJZCk7XG4gICAgX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWUgPSBjbGVhblZhbHVlKF9wcm9wcy52YWx1ZSk7XG4gICAgLy8gU2V0IGZvY3VzZWRPcHRpb24gaWYgbWVudUlzT3BlbiBpcyBzZXQgb24gaW5pdCAoZS5nLiBkZWZhdWx0TWVudUlzT3BlbilcbiAgICBpZiAoX3Byb3BzLm1lbnVJc09wZW4gJiYgX3RoaXMuc3RhdGUuc2VsZWN0VmFsdWUubGVuZ3RoKSB7XG4gICAgICB2YXIgZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMgPSBfdGhpcy5nZXRGb2N1c2FibGVPcHRpb25zV2l0aElkcygpO1xuICAgICAgdmFyIGZvY3VzYWJsZU9wdGlvbnMgPSBfdGhpcy5idWlsZEZvY3VzYWJsZU9wdGlvbnMoKTtcbiAgICAgIHZhciBvcHRpb25JbmRleCA9IGZvY3VzYWJsZU9wdGlvbnMuaW5kZXhPZihfdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZVswXSk7XG4gICAgICBfdGhpcy5zdGF0ZS5mb2N1c2FibGVPcHRpb25zV2l0aElkcyA9IGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzO1xuICAgICAgX3RoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbiA9IGZvY3VzYWJsZU9wdGlvbnNbb3B0aW9uSW5kZXhdO1xuICAgICAgX3RoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbklkID0gZ2V0Rm9jdXNlZE9wdGlvbklkKGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzLCBmb2N1c2FibGVPcHRpb25zW29wdGlvbkluZGV4XSk7XG4gICAgfVxuICAgIHJldHVybiBfdGhpcztcbiAgfVxuICBfY3JlYXRlQ2xhc3MoU2VsZWN0LCBbe1xuICAgIGtleTogXCJjb21wb25lbnREaWRNb3VudFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIHRoaXMuc3RhcnRMaXN0ZW5pbmdDb21wb3NpdGlvbigpO1xuICAgICAgdGhpcy5zdGFydExpc3RlbmluZ1RvVG91Y2goKTtcbiAgICAgIGlmICh0aGlzLnByb3BzLmNsb3NlTWVudU9uU2Nyb2xsICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgLy8gTGlzdGVuIHRvIGFsbCBzY3JvbGwgZXZlbnRzLCBhbmQgZmlsdGVyIHRoZW0gb3V0IGluc2lkZSBvZiAnb25TY3JvbGwnXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMuYXV0b0ZvY3VzKSB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTY3JvbGwgZm9jdXNlZE9wdGlvbiBpbnRvIHZpZXcgaWYgbWVudUlzT3BlbiBpcyBzZXQgb24gbW91bnQgKGUuZy4gZGVmYXVsdE1lbnVJc09wZW4pXG4gICAgICBpZiAodGhpcy5wcm9wcy5tZW51SXNPcGVuICYmIHRoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbiAmJiB0aGlzLm1lbnVMaXN0UmVmICYmIHRoaXMuZm9jdXNlZE9wdGlvblJlZikge1xuICAgICAgICBzY3JvbGxJbnRvVmlldyh0aGlzLm1lbnVMaXN0UmVmLCB0aGlzLmZvY3VzZWRPcHRpb25SZWYpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb21wb25lbnREaWRVcGRhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgICAgdmFyIF90aGlzJHByb3BzNiA9IHRoaXMucHJvcHMsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczYuaXNEaXNhYmxlZCxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzNi5tZW51SXNPcGVuO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgaWYgKFxuICAgICAgLy8gZW5zdXJlIGZvY3VzIGlzIHJlc3RvcmVkIGNvcnJlY3RseSB3aGVuIHRoZSBjb250cm9sIGJlY29tZXMgZW5hYmxlZFxuICAgICAgaXNGb2N1c2VkICYmICFpc0Rpc2FibGVkICYmIHByZXZQcm9wcy5pc0Rpc2FibGVkIHx8XG4gICAgICAvLyBlbnN1cmUgZm9jdXMgaXMgb24gdGhlIElucHV0IHdoZW4gdGhlIG1lbnUgb3BlbnNcbiAgICAgIGlzRm9jdXNlZCAmJiBtZW51SXNPcGVuICYmICFwcmV2UHJvcHMubWVudUlzT3Blbikge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0ZvY3VzZWQgJiYgaXNEaXNhYmxlZCAmJiAhcHJldlByb3BzLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgLy8gZW5zdXJlIHNlbGVjdCBzdGF0ZSBnZXRzIGJsdXJyZWQgaW4gY2FzZSBTZWxlY3QgaXMgcHJvZ3JhbW1hdGljYWxseSBkaXNhYmxlZCB3aGlsZSBmb2N1c2VkXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kaWQtdXBkYXRlLXNldC1zdGF0ZVxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBpc0ZvY3VzZWQ6IGZhbHNlXG4gICAgICAgIH0sIHRoaXMub25NZW51Q2xvc2UpO1xuICAgICAgfSBlbHNlIGlmICghaXNGb2N1c2VkICYmICFpc0Rpc2FibGVkICYmIHByZXZQcm9wcy5pc0Rpc2FibGVkICYmIHRoaXMuaW5wdXRSZWYgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgLy8gZW5zdXJlIHNlbGVjdCBzdGF0ZSBnZXRzIGZvY3VzZWQgaW4gY2FzZSBTZWxlY3QgaXMgcHJvZ3JhbWF0aWNhbGx5IHJlLWVuYWJsZWQgd2hpbGUgZm9jdXNlZCAoRmlyZWZveClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRpZC11cGRhdGUtc2V0LXN0YXRlXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGlzRm9jdXNlZDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gc2Nyb2xsIHRoZSBmb2N1c2VkIG9wdGlvbiBpbnRvIHZpZXcgaWYgbmVjZXNzYXJ5XG4gICAgICBpZiAodGhpcy5tZW51TGlzdFJlZiAmJiB0aGlzLmZvY3VzZWRPcHRpb25SZWYgJiYgdGhpcy5zY3JvbGxUb0ZvY3VzZWRPcHRpb25PblVwZGF0ZSkge1xuICAgICAgICBzY3JvbGxJbnRvVmlldyh0aGlzLm1lbnVMaXN0UmVmLCB0aGlzLmZvY3VzZWRPcHRpb25SZWYpO1xuICAgICAgICB0aGlzLnNjcm9sbFRvRm9jdXNlZE9wdGlvbk9uVXBkYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNvbXBvbmVudFdpbGxVbm1vdW50XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgdGhpcy5zdG9wTGlzdGVuaW5nQ29tcG9zaXRpb24oKTtcbiAgICAgIHRoaXMuc3RvcExpc3RlbmluZ1RvVG91Y2goKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIENvbnN1bWVyIEhhbmRsZXJzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIH0sIHtcbiAgICBrZXk6IFwib25NZW51T3BlblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbk1lbnVPcGVuKCkge1xuICAgICAgdGhpcy5wcm9wcy5vbk1lbnVPcGVuKCk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIm9uTWVudUNsb3NlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uTWVudUNsb3NlKCkge1xuICAgICAgdGhpcy5vbklucHV0Q2hhbmdlKCcnLCB7XG4gICAgICAgIGFjdGlvbjogJ21lbnUtY2xvc2UnLFxuICAgICAgICBwcmV2SW5wdXRWYWx1ZTogdGhpcy5wcm9wcy5pbnB1dFZhbHVlXG4gICAgICB9KTtcbiAgICAgIHRoaXMucHJvcHMub25NZW51Q2xvc2UoKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwib25JbnB1dENoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbklucHV0Q2hhbmdlKG5ld1ZhbHVlLCBhY3Rpb25NZXRhKSB7XG4gICAgICB0aGlzLnByb3BzLm9uSW5wdXRDaGFuZ2UobmV3VmFsdWUsIGFjdGlvbk1ldGEpO1xuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIE1ldGhvZHNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c0lucHV0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzSW5wdXQoKSB7XG4gICAgICBpZiAoIXRoaXMuaW5wdXRSZWYpIHJldHVybjtcbiAgICAgIHRoaXMuaW5wdXRSZWYuZm9jdXMoKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiYmx1cklucHV0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGJsdXJJbnB1dCgpIHtcbiAgICAgIGlmICghdGhpcy5pbnB1dFJlZikgcmV0dXJuO1xuICAgICAgdGhpcy5pbnB1dFJlZi5ibHVyKCk7XG4gICAgfVxuXG4gICAgLy8gYWxpYXNlZCBmb3IgY29uc3VtZXJzXG4gIH0sIHtcbiAgICBrZXk6IFwib3Blbk1lbnVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb3Blbk1lbnUoZm9jdXNPcHRpb24pIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuICAgICAgdmFyIF90aGlzJHN0YXRlMiA9IHRoaXMuc3RhdGUsXG4gICAgICAgIHNlbGVjdFZhbHVlID0gX3RoaXMkc3RhdGUyLnNlbGVjdFZhbHVlLFxuICAgICAgICBpc0ZvY3VzZWQgPSBfdGhpcyRzdGF0ZTIuaXNGb2N1c2VkO1xuICAgICAgdmFyIGZvY3VzYWJsZU9wdGlvbnMgPSB0aGlzLmJ1aWxkRm9jdXNhYmxlT3B0aW9ucygpO1xuICAgICAgdmFyIG9wZW5BdEluZGV4ID0gZm9jdXNPcHRpb24gPT09ICdmaXJzdCcgPyAwIDogZm9jdXNhYmxlT3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmlzTXVsdGkpIHtcbiAgICAgICAgdmFyIHNlbGVjdGVkSW5kZXggPSBmb2N1c2FibGVPcHRpb25zLmluZGV4T2Yoc2VsZWN0VmFsdWVbMF0pO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgb3BlbkF0SW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIG9ubHkgc2Nyb2xsIGlmIHRoZSBtZW51IGlzbid0IGFscmVhZHkgb3BlblxuICAgICAgdGhpcy5zY3JvbGxUb0ZvY3VzZWRPcHRpb25PblVwZGF0ZSA9ICEoaXNGb2N1c2VkICYmIHRoaXMubWVudUxpc3RSZWYpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZTogZmFsc2UsXG4gICAgICAgIGZvY3VzZWRWYWx1ZTogbnVsbCxcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogZm9jdXNhYmxlT3B0aW9uc1tvcGVuQXRJbmRleF0sXG4gICAgICAgIGZvY3VzZWRPcHRpb25JZDogdGhpcy5nZXRGb2N1c2VkT3B0aW9uSWQoZm9jdXNhYmxlT3B0aW9uc1tvcGVuQXRJbmRleF0pXG4gICAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfdGhpczIub25NZW51T3BlbigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzVmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNWYWx1ZShkaXJlY3Rpb24pIHtcbiAgICAgIHZhciBfdGhpcyRzdGF0ZTMgPSB0aGlzLnN0YXRlLFxuICAgICAgICBzZWxlY3RWYWx1ZSA9IF90aGlzJHN0YXRlMy5zZWxlY3RWYWx1ZSxcbiAgICAgICAgZm9jdXNlZFZhbHVlID0gX3RoaXMkc3RhdGUzLmZvY3VzZWRWYWx1ZTtcblxuICAgICAgLy8gT25seSBtdWx0aXNlbGVjdHMgc3VwcG9ydCB2YWx1ZSBmb2N1c2luZ1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmlzTXVsdGkpIHJldHVybjtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBmb2N1c2VkT3B0aW9uOiBudWxsXG4gICAgICB9KTtcbiAgICAgIHZhciBmb2N1c2VkSW5kZXggPSBzZWxlY3RWYWx1ZS5pbmRleE9mKGZvY3VzZWRWYWx1ZSk7XG4gICAgICBpZiAoIWZvY3VzZWRWYWx1ZSkge1xuICAgICAgICBmb2N1c2VkSW5kZXggPSAtMTtcbiAgICAgIH1cbiAgICAgIHZhciBsYXN0SW5kZXggPSBzZWxlY3RWYWx1ZS5sZW5ndGggLSAxO1xuICAgICAgdmFyIG5leHRGb2N1cyA9IC0xO1xuICAgICAgaWYgKCFzZWxlY3RWYWx1ZS5sZW5ndGgpIHJldHVybjtcbiAgICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgIGNhc2UgJ3ByZXZpb3VzJzpcbiAgICAgICAgICBpZiAoZm9jdXNlZEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAvLyBkb24ndCBjeWNsZSBmcm9tIHRoZSBzdGFydCB0byB0aGUgZW5kXG4gICAgICAgICAgICBuZXh0Rm9jdXMgPSAwO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZm9jdXNlZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgLy8gaWYgbm90aGluZyBpcyBmb2N1c2VkLCBmb2N1cyB0aGUgbGFzdCB2YWx1ZSBmaXJzdFxuICAgICAgICAgICAgbmV4dEZvY3VzID0gbGFzdEluZGV4O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXh0Rm9jdXMgPSBmb2N1c2VkSW5kZXggLSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbmV4dCc6XG4gICAgICAgICAgaWYgKGZvY3VzZWRJbmRleCA+IC0xICYmIGZvY3VzZWRJbmRleCA8IGxhc3RJbmRleCkge1xuICAgICAgICAgICAgbmV4dEZvY3VzID0gZm9jdXNlZEluZGV4ICsgMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaW5wdXRJc0hpZGRlbjogbmV4dEZvY3VzICE9PSAtMSxcbiAgICAgICAgZm9jdXNlZFZhbHVlOiBzZWxlY3RWYWx1ZVtuZXh0Rm9jdXNdXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNPcHRpb24oKSB7XG4gICAgICB2YXIgZGlyZWN0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnZmlyc3QnO1xuICAgICAgdmFyIHBhZ2VTaXplID0gdGhpcy5wcm9wcy5wYWdlU2l6ZTtcbiAgICAgIHZhciBmb2N1c2VkT3B0aW9uID0gdGhpcy5zdGF0ZS5mb2N1c2VkT3B0aW9uO1xuICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLmdldEZvY3VzYWJsZU9wdGlvbnMoKTtcbiAgICAgIGlmICghb3B0aW9ucy5sZW5ndGgpIHJldHVybjtcbiAgICAgIHZhciBuZXh0Rm9jdXMgPSAwOyAvLyBoYW5kbGVzICdmaXJzdCdcbiAgICAgIHZhciBmb2N1c2VkSW5kZXggPSBvcHRpb25zLmluZGV4T2YoZm9jdXNlZE9wdGlvbik7XG4gICAgICBpZiAoIWZvY3VzZWRPcHRpb24pIHtcbiAgICAgICAgZm9jdXNlZEluZGV4ID0gLTE7XG4gICAgICB9XG4gICAgICBpZiAoZGlyZWN0aW9uID09PSAndXAnKSB7XG4gICAgICAgIG5leHRGb2N1cyA9IGZvY3VzZWRJbmRleCA+IDAgPyBmb2N1c2VkSW5kZXggLSAxIDogb3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdkb3duJykge1xuICAgICAgICBuZXh0Rm9jdXMgPSAoZm9jdXNlZEluZGV4ICsgMSkgJSBvcHRpb25zLmxlbmd0aDtcbiAgICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAncGFnZXVwJykge1xuICAgICAgICBuZXh0Rm9jdXMgPSBmb2N1c2VkSW5kZXggLSBwYWdlU2l6ZTtcbiAgICAgICAgaWYgKG5leHRGb2N1cyA8IDApIG5leHRGb2N1cyA9IDA7XG4gICAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ3BhZ2Vkb3duJykge1xuICAgICAgICBuZXh0Rm9jdXMgPSBmb2N1c2VkSW5kZXggKyBwYWdlU2l6ZTtcbiAgICAgICAgaWYgKG5leHRGb2N1cyA+IG9wdGlvbnMubGVuZ3RoIC0gMSkgbmV4dEZvY3VzID0gb3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdsYXN0Jykge1xuICAgICAgICBuZXh0Rm9jdXMgPSBvcHRpb25zLmxlbmd0aCAtIDE7XG4gICAgICB9XG4gICAgICB0aGlzLnNjcm9sbFRvRm9jdXNlZE9wdGlvbk9uVXBkYXRlID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBmb2N1c2VkT3B0aW9uOiBvcHRpb25zW25leHRGb2N1c10sXG4gICAgICAgIGZvY3VzZWRWYWx1ZTogbnVsbCxcbiAgICAgICAgZm9jdXNlZE9wdGlvbklkOiB0aGlzLmdldEZvY3VzZWRPcHRpb25JZChvcHRpb25zW25leHRGb2N1c10pXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0VGhlbWVcIixcbiAgICB2YWx1ZTpcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBHZXR0ZXJzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBmdW5jdGlvbiBnZXRUaGVtZSgpIHtcbiAgICAgIC8vIFVzZSB0aGUgZGVmYXVsdCB0aGVtZSBpZiB0aGVyZSBhcmUgbm8gY3VzdG9taXNhdGlvbnMuXG4gICAgICBpZiAoIXRoaXMucHJvcHMudGhlbWUpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRUaGVtZTtcbiAgICAgIH1cbiAgICAgIC8vIElmIHRoZSB0aGVtZSBwcm9wIGlzIGEgZnVuY3Rpb24sIGFzc3VtZSB0aGUgZnVuY3Rpb25cbiAgICAgIC8vIGtub3dzIGhvdyB0byBtZXJnZSB0aGUgcGFzc2VkLWluIGRlZmF1bHQgdGhlbWUgd2l0aFxuICAgICAgLy8gaXRzIG93biBtb2RpZmljYXRpb25zLlxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLnRoZW1lID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLnRoZW1lKGRlZmF1bHRUaGVtZSk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIGlmIGEgcGxhaW4gdGhlbWUgb2JqZWN0IHdhcyBwYXNzZWQgaW4sXG4gICAgICAvLyBvdmVybGF5IGl0IHdpdGggdGhlIGRlZmF1bHQgdGhlbWUuXG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBkZWZhdWx0VGhlbWUpLCB0aGlzLnByb3BzLnRoZW1lKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0Q29tbW9uUHJvcHNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0Q29tbW9uUHJvcHMoKSB7XG4gICAgICB2YXIgY2xlYXJWYWx1ZSA9IHRoaXMuY2xlYXJWYWx1ZSxcbiAgICAgICAgY3ggPSB0aGlzLmN4LFxuICAgICAgICBnZXRTdHlsZXMgPSB0aGlzLmdldFN0eWxlcyxcbiAgICAgICAgZ2V0Q2xhc3NOYW1lcyA9IHRoaXMuZ2V0Q2xhc3NOYW1lcyxcbiAgICAgICAgZ2V0VmFsdWUgPSB0aGlzLmdldFZhbHVlLFxuICAgICAgICBzZWxlY3RPcHRpb24gPSB0aGlzLnNlbGVjdE9wdGlvbixcbiAgICAgICAgc2V0VmFsdWUgPSB0aGlzLnNldFZhbHVlLFxuICAgICAgICBwcm9wcyA9IHRoaXMucHJvcHM7XG4gICAgICB2YXIgaXNNdWx0aSA9IHByb3BzLmlzTXVsdGksXG4gICAgICAgIGlzUnRsID0gcHJvcHMuaXNSdGwsXG4gICAgICAgIG9wdGlvbnMgPSBwcm9wcy5vcHRpb25zO1xuICAgICAgdmFyIGhhc1ZhbHVlID0gdGhpcy5oYXNWYWx1ZSgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2xlYXJWYWx1ZTogY2xlYXJWYWx1ZSxcbiAgICAgICAgY3g6IGN4LFxuICAgICAgICBnZXRTdHlsZXM6IGdldFN0eWxlcyxcbiAgICAgICAgZ2V0Q2xhc3NOYW1lczogZ2V0Q2xhc3NOYW1lcyxcbiAgICAgICAgZ2V0VmFsdWU6IGdldFZhbHVlLFxuICAgICAgICBoYXNWYWx1ZTogaGFzVmFsdWUsXG4gICAgICAgIGlzTXVsdGk6IGlzTXVsdGksXG4gICAgICAgIGlzUnRsOiBpc1J0bCxcbiAgICAgICAgb3B0aW9uczogb3B0aW9ucyxcbiAgICAgICAgc2VsZWN0T3B0aW9uOiBzZWxlY3RPcHRpb24sXG4gICAgICAgIHNlbGVjdFByb3BzOiBwcm9wcyxcbiAgICAgICAgc2V0VmFsdWU6IHNldFZhbHVlLFxuICAgICAgICB0aGVtZTogdGhpcy5nZXRUaGVtZSgpXG4gICAgICB9O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJoYXNWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBoYXNWYWx1ZSgpIHtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICByZXR1cm4gc2VsZWN0VmFsdWUubGVuZ3RoID4gMDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaGFzT3B0aW9uc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBoYXNPcHRpb25zKCkge1xuICAgICAgcmV0dXJuICEhdGhpcy5nZXRGb2N1c2FibGVPcHRpb25zKCkubGVuZ3RoO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpc0NsZWFyYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc0NsZWFyYWJsZSgpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczcgPSB0aGlzLnByb3BzLFxuICAgICAgICBpc0NsZWFyYWJsZSA9IF90aGlzJHByb3BzNy5pc0NsZWFyYWJsZSxcbiAgICAgICAgaXNNdWx0aSA9IF90aGlzJHByb3BzNy5pc011bHRpO1xuXG4gICAgICAvLyBzaW5nbGUgc2VsZWN0LCBieSBkZWZhdWx0LCBJUyBOT1QgY2xlYXJhYmxlXG4gICAgICAvLyBtdWx0aSBzZWxlY3QsIGJ5IGRlZmF1bHQsIElTIGNsZWFyYWJsZVxuICAgICAgaWYgKGlzQ2xlYXJhYmxlID09PSB1bmRlZmluZWQpIHJldHVybiBpc011bHRpO1xuICAgICAgcmV0dXJuIGlzQ2xlYXJhYmxlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpc09wdGlvbkRpc2FibGVkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzT3B0aW9uRGlzYWJsZWQob3B0aW9uLCBzZWxlY3RWYWx1ZSkge1xuICAgICAgcmV0dXJuIF9pc09wdGlvbkRpc2FibGVkKHRoaXMucHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpc09wdGlvblNlbGVjdGVkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzT3B0aW9uU2VsZWN0ZWQob3B0aW9uLCBzZWxlY3RWYWx1ZSkge1xuICAgICAgcmV0dXJuIF9pc09wdGlvblNlbGVjdGVkKHRoaXMucHJvcHMsIG9wdGlvbiwgc2VsZWN0VmFsdWUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJmaWx0ZXJPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZmlsdGVyT3B0aW9uKG9wdGlvbiwgaW5wdXRWYWx1ZSkge1xuICAgICAgcmV0dXJuIF9maWx0ZXJPcHRpb24odGhpcy5wcm9wcywgb3B0aW9uLCBpbnB1dFZhbHVlKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZm9ybWF0T3B0aW9uTGFiZWxcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9ybWF0T3B0aW9uTGFiZWwoZGF0YSwgY29udGV4dCkge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLmZvcm1hdE9wdGlvbkxhYmVsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHZhciBfaW5wdXRWYWx1ZSA9IHRoaXMucHJvcHMuaW5wdXRWYWx1ZTtcbiAgICAgICAgdmFyIF9zZWxlY3RWYWx1ZSA9IHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmZvcm1hdE9wdGlvbkxhYmVsKGRhdGEsIHtcbiAgICAgICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgICAgIGlucHV0VmFsdWU6IF9pbnB1dFZhbHVlLFxuICAgICAgICAgIHNlbGVjdFZhbHVlOiBfc2VsZWN0VmFsdWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRPcHRpb25MYWJlbChkYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZm9ybWF0R3JvdXBMYWJlbFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXRHcm91cExhYmVsKGRhdGEpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmZvcm1hdEdyb3VwTGFiZWwoZGF0YSk7XG4gICAgfVxuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gTW91c2UgSGFuZGxlcnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgfSwge1xuICAgIGtleTogXCJzdGFydExpc3RlbmluZ0NvbXBvc2l0aW9uXCIsXG4gICAgdmFsdWU6XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gQ29tcG9zaXRpb24gSGFuZGxlcnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIGZ1bmN0aW9uIHN0YXJ0TGlzdGVuaW5nQ29tcG9zaXRpb24oKSB7XG4gICAgICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbnN0YXJ0JywgdGhpcy5vbkNvbXBvc2l0aW9uU3RhcnQsIGZhbHNlKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25lbmQnLCB0aGlzLm9uQ29tcG9zaXRpb25FbmQsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic3RvcExpc3RlbmluZ0NvbXBvc2l0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHN0b3BMaXN0ZW5pbmdDb21wb3NpdGlvbigpIHtcbiAgICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uc3RhcnQnLCB0aGlzLm9uQ29tcG9zaXRpb25TdGFydCk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uZW5kJywgdGhpcy5vbkNvbXBvc2l0aW9uRW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic3RhcnRMaXN0ZW5pbmdUb1RvdWNoXCIsXG4gICAgdmFsdWU6XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gVG91Y2ggSGFuZGxlcnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIGZ1bmN0aW9uIHN0YXJ0TGlzdGVuaW5nVG9Ub3VjaCgpIHtcbiAgICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uVG91Y2hTdGFydCwgZmFsc2UpO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLm9uVG91Y2hNb3ZlLCBmYWxzZSk7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5vblRvdWNoRW5kLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInN0b3BMaXN0ZW5pbmdUb1RvdWNoXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHN0b3BMaXN0ZW5pbmdUb1RvdWNoKCkge1xuICAgICAgaWYgKGRvY3VtZW50ICYmIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Ub3VjaFN0YXJ0KTtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSk7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5vblRvdWNoRW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVySW5wdXRcIixcbiAgICB2YWx1ZTpcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBSZW5kZXJlcnNcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBmdW5jdGlvbiByZW5kZXJJbnB1dCgpIHtcbiAgICAgIHZhciBfdGhpcyRwcm9wczggPSB0aGlzLnByb3BzLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHM4LmlzRGlzYWJsZWQsXG4gICAgICAgIGlzU2VhcmNoYWJsZSA9IF90aGlzJHByb3BzOC5pc1NlYXJjaGFibGUsXG4gICAgICAgIGlucHV0SWQgPSBfdGhpcyRwcm9wczguaW5wdXRJZCxcbiAgICAgICAgaW5wdXRWYWx1ZSA9IF90aGlzJHByb3BzOC5pbnB1dFZhbHVlLFxuICAgICAgICB0YWJJbmRleCA9IF90aGlzJHByb3BzOC50YWJJbmRleCxcbiAgICAgICAgZm9ybSA9IF90aGlzJHByb3BzOC5mb3JtLFxuICAgICAgICBtZW51SXNPcGVuID0gX3RoaXMkcHJvcHM4Lm1lbnVJc09wZW4sXG4gICAgICAgIHJlcXVpcmVkID0gX3RoaXMkcHJvcHM4LnJlcXVpcmVkO1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHMgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgSW5wdXQgPSBfdGhpcyRnZXRDb21wb25lbnRzLklucHV0O1xuICAgICAgdmFyIF90aGlzJHN0YXRlNCA9IHRoaXMuc3RhdGUsXG4gICAgICAgIGlucHV0SXNIaWRkZW4gPSBfdGhpcyRzdGF0ZTQuaW5wdXRJc0hpZGRlbixcbiAgICAgICAgYXJpYVNlbGVjdGlvbiA9IF90aGlzJHN0YXRlNC5hcmlhU2VsZWN0aW9uO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBpZCA9IGlucHV0SWQgfHwgdGhpcy5nZXRFbGVtZW50SWQoJ2lucHV0Jyk7XG5cbiAgICAgIC8vIGFyaWEgYXR0cmlidXRlcyBtYWtlcyB0aGUgSlNYIFwibm9pc3lcIiwgc2VwYXJhdGVkIGZvciBjbGFyaXR5XG4gICAgICB2YXIgYXJpYUF0dHJpYnV0ZXMgPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7XG4gICAgICAgICdhcmlhLWF1dG9jb21wbGV0ZSc6ICdsaXN0JyxcbiAgICAgICAgJ2FyaWEtZXhwYW5kZWQnOiBtZW51SXNPcGVuLFxuICAgICAgICAnYXJpYS1oYXNwb3B1cCc6IHRydWUsXG4gICAgICAgICdhcmlhLWVycm9ybWVzc2FnZSc6IHRoaXMucHJvcHNbJ2FyaWEtZXJyb3JtZXNzYWdlJ10sXG4gICAgICAgICdhcmlhLWludmFsaWQnOiB0aGlzLnByb3BzWydhcmlhLWludmFsaWQnXSxcbiAgICAgICAgJ2FyaWEtbGFiZWwnOiB0aGlzLnByb3BzWydhcmlhLWxhYmVsJ10sXG4gICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiB0aGlzLnByb3BzWydhcmlhLWxhYmVsbGVkYnknXSxcbiAgICAgICAgJ2FyaWEtcmVxdWlyZWQnOiByZXF1aXJlZCxcbiAgICAgICAgcm9sZTogJ2NvbWJvYm94JyxcbiAgICAgICAgJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc6IHRoaXMuaXNBcHBsZURldmljZSA/IHVuZGVmaW5lZCA6IHRoaXMuc3RhdGUuZm9jdXNlZE9wdGlvbklkIHx8ICcnXG4gICAgICB9LCBtZW51SXNPcGVuICYmIHtcbiAgICAgICAgJ2FyaWEtY29udHJvbHMnOiB0aGlzLmdldEVsZW1lbnRJZCgnbGlzdGJveCcpXG4gICAgICB9KSwgIWlzU2VhcmNoYWJsZSAmJiB7XG4gICAgICAgICdhcmlhLXJlYWRvbmx5JzogdHJ1ZVxuICAgICAgfSksIHRoaXMuaGFzVmFsdWUoKSA/IChhcmlhU2VsZWN0aW9uID09PSBudWxsIHx8IGFyaWFTZWxlY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFyaWFTZWxlY3Rpb24uYWN0aW9uKSA9PT0gJ2luaXRpYWwtaW5wdXQtZm9jdXMnICYmIHtcbiAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiB0aGlzLmdldEVsZW1lbnRJZCgnbGl2ZS1yZWdpb24nKVxuICAgICAgfSA6IHtcbiAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiB0aGlzLmdldEVsZW1lbnRJZCgncGxhY2Vob2xkZXInKVxuICAgICAgfSk7XG4gICAgICBpZiAoIWlzU2VhcmNoYWJsZSkge1xuICAgICAgICAvLyB1c2UgYSBkdW1teSBpbnB1dCB0byBtYWludGFpbiBmb2N1cy9ibHVyIGZ1bmN0aW9uYWxpdHlcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KER1bW15SW5wdXQsIF9leHRlbmRzKHtcbiAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgaW5uZXJSZWY6IHRoaXMuZ2V0SW5wdXRSZWYsXG4gICAgICAgICAgb25CbHVyOiB0aGlzLm9uSW5wdXRCbHVyLFxuICAgICAgICAgIG9uQ2hhbmdlOiBub29wLFxuICAgICAgICAgIG9uRm9jdXM6IHRoaXMub25JbnB1dEZvY3VzLFxuICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICAgIHRhYkluZGV4OiB0YWJJbmRleCxcbiAgICAgICAgICBpbnB1dE1vZGU6IFwibm9uZVwiLFxuICAgICAgICAgIGZvcm06IGZvcm0sXG4gICAgICAgICAgdmFsdWU6IFwiXCJcbiAgICAgICAgfSwgYXJpYUF0dHJpYnV0ZXMpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dCwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGF1dG9DYXBpdGFsaXplOiBcIm5vbmVcIixcbiAgICAgICAgYXV0b0NvbXBsZXRlOiBcIm9mZlwiLFxuICAgICAgICBhdXRvQ29ycmVjdDogXCJvZmZcIixcbiAgICAgICAgaWQ6IGlkLFxuICAgICAgICBpbm5lclJlZjogdGhpcy5nZXRJbnB1dFJlZixcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgaXNIaWRkZW46IGlucHV0SXNIaWRkZW4sXG4gICAgICAgIG9uQmx1cjogdGhpcy5vbklucHV0Qmx1cixcbiAgICAgICAgb25DaGFuZ2U6IHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2UsXG4gICAgICAgIG9uRm9jdXM6IHRoaXMub25JbnB1dEZvY3VzLFxuICAgICAgICBzcGVsbENoZWNrOiBcImZhbHNlXCIsXG4gICAgICAgIHRhYkluZGV4OiB0YWJJbmRleCxcbiAgICAgICAgZm9ybTogZm9ybSxcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgIHZhbHVlOiBpbnB1dFZhbHVlXG4gICAgICB9LCBhcmlhQXR0cmlidXRlcykpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJQbGFjZWhvbGRlck9yVmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyUGxhY2Vob2xkZXJPclZhbHVlKCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG4gICAgICB2YXIgX3RoaXMkZ2V0Q29tcG9uZW50czIgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgTXVsdGlWYWx1ZSA9IF90aGlzJGdldENvbXBvbmVudHMyLk11bHRpVmFsdWUsXG4gICAgICAgIE11bHRpVmFsdWVDb250YWluZXIgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5NdWx0aVZhbHVlQ29udGFpbmVyLFxuICAgICAgICBNdWx0aVZhbHVlTGFiZWwgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5NdWx0aVZhbHVlTGFiZWwsXG4gICAgICAgIE11bHRpVmFsdWVSZW1vdmUgPSBfdGhpcyRnZXRDb21wb25lbnRzMi5NdWx0aVZhbHVlUmVtb3ZlLFxuICAgICAgICBTaW5nbGVWYWx1ZSA9IF90aGlzJGdldENvbXBvbmVudHMyLlNpbmdsZVZhbHVlLFxuICAgICAgICBQbGFjZWhvbGRlciA9IF90aGlzJGdldENvbXBvbmVudHMyLlBsYWNlaG9sZGVyO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBfdGhpcyRwcm9wczkgPSB0aGlzLnByb3BzLFxuICAgICAgICBjb250cm9sU2hvdWxkUmVuZGVyVmFsdWUgPSBfdGhpcyRwcm9wczkuY29udHJvbFNob3VsZFJlbmRlclZhbHVlLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHM5LmlzRGlzYWJsZWQsXG4gICAgICAgIGlzTXVsdGkgPSBfdGhpcyRwcm9wczkuaXNNdWx0aSxcbiAgICAgICAgaW5wdXRWYWx1ZSA9IF90aGlzJHByb3BzOS5pbnB1dFZhbHVlLFxuICAgICAgICBwbGFjZWhvbGRlciA9IF90aGlzJHByb3BzOS5wbGFjZWhvbGRlcjtcbiAgICAgIHZhciBfdGhpcyRzdGF0ZTUgPSB0aGlzLnN0YXRlLFxuICAgICAgICBzZWxlY3RWYWx1ZSA9IF90aGlzJHN0YXRlNS5zZWxlY3RWYWx1ZSxcbiAgICAgICAgZm9jdXNlZFZhbHVlID0gX3RoaXMkc3RhdGU1LmZvY3VzZWRWYWx1ZSxcbiAgICAgICAgaXNGb2N1c2VkID0gX3RoaXMkc3RhdGU1LmlzRm9jdXNlZDtcbiAgICAgIGlmICghdGhpcy5oYXNWYWx1ZSgpIHx8ICFjb250cm9sU2hvdWxkUmVuZGVyVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0VmFsdWUgPyBudWxsIDogLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoUGxhY2Vob2xkZXIsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICAgIGtleTogXCJwbGFjZWhvbGRlclwiLFxuICAgICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgICAgaW5uZXJQcm9wczoge1xuICAgICAgICAgICAgaWQ6IHRoaXMuZ2V0RWxlbWVudElkKCdwbGFjZWhvbGRlcicpXG4gICAgICAgICAgfVxuICAgICAgICB9KSwgcGxhY2Vob2xkZXIpO1xuICAgICAgfVxuICAgICAgaWYgKGlzTXVsdGkpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdFZhbHVlLm1hcChmdW5jdGlvbiAob3B0LCBpbmRleCkge1xuICAgICAgICAgIHZhciBpc09wdGlvbkZvY3VzZWQgPSBvcHQgPT09IGZvY3VzZWRWYWx1ZTtcbiAgICAgICAgICB2YXIga2V5ID0gXCJcIi5jb25jYXQoX3RoaXMzLmdldE9wdGlvbkxhYmVsKG9wdCksIFwiLVwiKS5jb25jYXQoX3RoaXMzLmdldE9wdGlvblZhbHVlKG9wdCkpO1xuICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChNdWx0aVZhbHVlLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgQ29udGFpbmVyOiBNdWx0aVZhbHVlQ29udGFpbmVyLFxuICAgICAgICAgICAgICBMYWJlbDogTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgICAgICBSZW1vdmU6IE11bHRpVmFsdWVSZW1vdmVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc0ZvY3VzZWQ6IGlzT3B0aW9uRm9jdXNlZCxcbiAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgIHJlbW92ZVByb3BzOiB7XG4gICAgICAgICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMy5yZW1vdmVWYWx1ZShvcHQpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvblRvdWNoRW5kOiBmdW5jdGlvbiBvblRvdWNoRW5kKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfdGhpczMucmVtb3ZlVmFsdWUob3B0KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb25Nb3VzZURvd246IGZ1bmN0aW9uIG9uTW91c2VEb3duKGUpIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkYXRhOiBvcHRcbiAgICAgICAgICB9KSwgX3RoaXMzLmZvcm1hdE9wdGlvbkxhYmVsKG9wdCwgJ3ZhbHVlJykpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgdmFyIHNpbmdsZVZhbHVlID0gc2VsZWN0VmFsdWVbMF07XG4gICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoU2luZ2xlVmFsdWUsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBkYXRhOiBzaW5nbGVWYWx1ZSxcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZFxuICAgICAgfSksIHRoaXMuZm9ybWF0T3B0aW9uTGFiZWwoc2luZ2xlVmFsdWUsICd2YWx1ZScpKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyQ2xlYXJJbmRpY2F0b3JcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyQ2xlYXJJbmRpY2F0b3IoKSB7XG4gICAgICB2YXIgX3RoaXMkZ2V0Q29tcG9uZW50czMgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgQ2xlYXJJbmRpY2F0b3IgPSBfdGhpcyRnZXRDb21wb25lbnRzMy5DbGVhckluZGljYXRvcjtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMxMCA9IHRoaXMucHJvcHMsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczEwLmlzRGlzYWJsZWQsXG4gICAgICAgIGlzTG9hZGluZyA9IF90aGlzJHByb3BzMTAuaXNMb2FkaW5nO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgaWYgKCF0aGlzLmlzQ2xlYXJhYmxlKCkgfHwgIUNsZWFySW5kaWNhdG9yIHx8IGlzRGlzYWJsZWQgfHwgIXRoaXMuaGFzVmFsdWUoKSB8fCBpc0xvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICB2YXIgaW5uZXJQcm9wcyA9IHtcbiAgICAgICAgb25Nb3VzZURvd246IHRoaXMub25DbGVhckluZGljYXRvck1vdXNlRG93bixcbiAgICAgICAgb25Ub3VjaEVuZDogdGhpcy5vbkNsZWFySW5kaWNhdG9yVG91Y2hFbmQsXG4gICAgICAgICdhcmlhLWhpZGRlbic6ICd0cnVlJ1xuICAgICAgfTtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckluZGljYXRvciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkXG4gICAgICB9KSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlckxvYWRpbmdJbmRpY2F0b3JcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyTG9hZGluZ0luZGljYXRvcigpIHtcbiAgICAgIHZhciBfdGhpcyRnZXRDb21wb25lbnRzNCA9IHRoaXMuZ2V0Q29tcG9uZW50cygpLFxuICAgICAgICBMb2FkaW5nSW5kaWNhdG9yID0gX3RoaXMkZ2V0Q29tcG9uZW50czQuTG9hZGluZ0luZGljYXRvcjtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgX3RoaXMkcHJvcHMxMSA9IHRoaXMucHJvcHMsXG4gICAgICAgIGlzRGlzYWJsZWQgPSBfdGhpcyRwcm9wczExLmlzRGlzYWJsZWQsXG4gICAgICAgIGlzTG9hZGluZyA9IF90aGlzJHByb3BzMTEuaXNMb2FkaW5nO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgaWYgKCFMb2FkaW5nSW5kaWNhdG9yIHx8ICFpc0xvYWRpbmcpIHJldHVybiBudWxsO1xuICAgICAgdmFyIGlubmVyUHJvcHMgPSB7XG4gICAgICAgICdhcmlhLWhpZGRlbic6ICd0cnVlJ1xuICAgICAgfTtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChMb2FkaW5nSW5kaWNhdG9yLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgaW5uZXJQcm9wczogaW5uZXJQcm9wcyxcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWRcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVySW5kaWNhdG9yU2VwYXJhdG9yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlckluZGljYXRvclNlcGFyYXRvcigpIHtcbiAgICAgIHZhciBfdGhpcyRnZXRDb21wb25lbnRzNSA9IHRoaXMuZ2V0Q29tcG9uZW50cygpLFxuICAgICAgICBEcm9wZG93bkluZGljYXRvciA9IF90aGlzJGdldENvbXBvbmVudHM1LkRyb3Bkb3duSW5kaWNhdG9yLFxuICAgICAgICBJbmRpY2F0b3JTZXBhcmF0b3IgPSBfdGhpcyRnZXRDb21wb25lbnRzNS5JbmRpY2F0b3JTZXBhcmF0b3I7XG5cbiAgICAgIC8vIHNlcGFyYXRvciBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCB0aGUgZHJvcGRvd24gaW5kaWNhdG9yXG4gICAgICBpZiAoIURyb3Bkb3duSW5kaWNhdG9yIHx8ICFJbmRpY2F0b3JTZXBhcmF0b3IpIHJldHVybiBudWxsO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBpc0Rpc2FibGVkID0gdGhpcy5wcm9wcy5pc0Rpc2FibGVkO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KEluZGljYXRvclNlcGFyYXRvciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkXG4gICAgICB9KSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlbmRlckRyb3Bkb3duSW5kaWNhdG9yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlckRyb3Bkb3duSW5kaWNhdG9yKCkge1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHM2ID0gdGhpcy5nZXRDb21wb25lbnRzKCksXG4gICAgICAgIERyb3Bkb3duSW5kaWNhdG9yID0gX3RoaXMkZ2V0Q29tcG9uZW50czYuRHJvcGRvd25JbmRpY2F0b3I7XG4gICAgICBpZiAoIURyb3Bkb3duSW5kaWNhdG9yKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBjb21tb25Qcm9wcyA9IHRoaXMuY29tbW9uUHJvcHM7XG4gICAgICB2YXIgaXNEaXNhYmxlZCA9IHRoaXMucHJvcHMuaXNEaXNhYmxlZDtcbiAgICAgIHZhciBpc0ZvY3VzZWQgPSB0aGlzLnN0YXRlLmlzRm9jdXNlZDtcbiAgICAgIHZhciBpbm5lclByb3BzID0ge1xuICAgICAgICBvbk1vdXNlRG93bjogdGhpcy5vbkRyb3Bkb3duSW5kaWNhdG9yTW91c2VEb3duLFxuICAgICAgICBvblRvdWNoRW5kOiB0aGlzLm9uRHJvcGRvd25JbmRpY2F0b3JUb3VjaEVuZCxcbiAgICAgICAgJ2FyaWEtaGlkZGVuJzogJ3RydWUnXG4gICAgICB9O1xuICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgaW5uZXJQcm9wczogaW5uZXJQcm9wcyxcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWRcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyTWVudVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXJNZW51KCkge1xuICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG4gICAgICB2YXIgX3RoaXMkZ2V0Q29tcG9uZW50czcgPSB0aGlzLmdldENvbXBvbmVudHMoKSxcbiAgICAgICAgR3JvdXAgPSBfdGhpcyRnZXRDb21wb25lbnRzNy5Hcm91cCxcbiAgICAgICAgR3JvdXBIZWFkaW5nID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuR3JvdXBIZWFkaW5nLFxuICAgICAgICBNZW51ID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuTWVudSxcbiAgICAgICAgTWVudUxpc3QgPSBfdGhpcyRnZXRDb21wb25lbnRzNy5NZW51TGlzdCxcbiAgICAgICAgTWVudVBvcnRhbCA9IF90aGlzJGdldENvbXBvbmVudHM3Lk1lbnVQb3J0YWwsXG4gICAgICAgIExvYWRpbmdNZXNzYWdlID0gX3RoaXMkZ2V0Q29tcG9uZW50czcuTG9hZGluZ01lc3NhZ2UsXG4gICAgICAgIE5vT3B0aW9uc01lc3NhZ2UgPSBfdGhpcyRnZXRDb21wb25lbnRzNy5Ob09wdGlvbnNNZXNzYWdlLFxuICAgICAgICBPcHRpb24gPSBfdGhpcyRnZXRDb21wb25lbnRzNy5PcHRpb247XG4gICAgICB2YXIgY29tbW9uUHJvcHMgPSB0aGlzLmNvbW1vblByb3BzO1xuICAgICAgdmFyIGZvY3VzZWRPcHRpb24gPSB0aGlzLnN0YXRlLmZvY3VzZWRPcHRpb247XG4gICAgICB2YXIgX3RoaXMkcHJvcHMxMiA9IHRoaXMucHJvcHMsXG4gICAgICAgIGNhcHR1cmVNZW51U2Nyb2xsID0gX3RoaXMkcHJvcHMxMi5jYXB0dXJlTWVudVNjcm9sbCxcbiAgICAgICAgaW5wdXRWYWx1ZSA9IF90aGlzJHByb3BzMTIuaW5wdXRWYWx1ZSxcbiAgICAgICAgaXNMb2FkaW5nID0gX3RoaXMkcHJvcHMxMi5pc0xvYWRpbmcsXG4gICAgICAgIGxvYWRpbmdNZXNzYWdlID0gX3RoaXMkcHJvcHMxMi5sb2FkaW5nTWVzc2FnZSxcbiAgICAgICAgbWluTWVudUhlaWdodCA9IF90aGlzJHByb3BzMTIubWluTWVudUhlaWdodCxcbiAgICAgICAgbWF4TWVudUhlaWdodCA9IF90aGlzJHByb3BzMTIubWF4TWVudUhlaWdodCxcbiAgICAgICAgbWVudUlzT3BlbiA9IF90aGlzJHByb3BzMTIubWVudUlzT3BlbixcbiAgICAgICAgbWVudVBsYWNlbWVudCA9IF90aGlzJHByb3BzMTIubWVudVBsYWNlbWVudCxcbiAgICAgICAgbWVudVBvc2l0aW9uID0gX3RoaXMkcHJvcHMxMi5tZW51UG9zaXRpb24sXG4gICAgICAgIG1lbnVQb3J0YWxUYXJnZXQgPSBfdGhpcyRwcm9wczEyLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgICAgIG1lbnVTaG91bGRCbG9ja1Njcm9sbCA9IF90aGlzJHByb3BzMTIubWVudVNob3VsZEJsb2NrU2Nyb2xsLFxuICAgICAgICBtZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXcgPSBfdGhpcyRwcm9wczEyLm1lbnVTaG91bGRTY3JvbGxJbnRvVmlldyxcbiAgICAgICAgbm9PcHRpb25zTWVzc2FnZSA9IF90aGlzJHByb3BzMTIubm9PcHRpb25zTWVzc2FnZSxcbiAgICAgICAgb25NZW51U2Nyb2xsVG9Ub3AgPSBfdGhpcyRwcm9wczEyLm9uTWVudVNjcm9sbFRvVG9wLFxuICAgICAgICBvbk1lbnVTY3JvbGxUb0JvdHRvbSA9IF90aGlzJHByb3BzMTIub25NZW51U2Nyb2xsVG9Cb3R0b207XG4gICAgICBpZiAoIW1lbnVJc09wZW4pIHJldHVybiBudWxsO1xuXG4gICAgICAvLyBUT0RPOiBJbnRlcm5hbCBPcHRpb24gVHlwZSBoZXJlXG4gICAgICB2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKHByb3BzLCBpZCkge1xuICAgICAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGUsXG4gICAgICAgICAgZGF0YSA9IHByb3BzLmRhdGEsXG4gICAgICAgICAgaXNEaXNhYmxlZCA9IHByb3BzLmlzRGlzYWJsZWQsXG4gICAgICAgICAgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQsXG4gICAgICAgICAgbGFiZWwgPSBwcm9wcy5sYWJlbCxcbiAgICAgICAgICB2YWx1ZSA9IHByb3BzLnZhbHVlO1xuICAgICAgICB2YXIgaXNGb2N1c2VkID0gZm9jdXNlZE9wdGlvbiA9PT0gZGF0YTtcbiAgICAgICAgdmFyIG9uSG92ZXIgPSBpc0Rpc2FibGVkID8gdW5kZWZpbmVkIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczQub25PcHRpb25Ib3ZlcihkYXRhKTtcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIG9uU2VsZWN0ID0gaXNEaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXM0LnNlbGVjdE9wdGlvbihkYXRhKTtcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIG9wdGlvbklkID0gXCJcIi5jb25jYXQoX3RoaXM0LmdldEVsZW1lbnRJZCgnb3B0aW9uJyksIFwiLVwiKS5jb25jYXQoaWQpO1xuICAgICAgICB2YXIgaW5uZXJQcm9wcyA9IHtcbiAgICAgICAgICBpZDogb3B0aW9uSWQsXG4gICAgICAgICAgb25DbGljazogb25TZWxlY3QsXG4gICAgICAgICAgb25Nb3VzZU1vdmU6IG9uSG92ZXIsXG4gICAgICAgICAgb25Nb3VzZU92ZXI6IG9uSG92ZXIsXG4gICAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogX3RoaXM0LmlzQXBwbGVEZXZpY2UgPyB1bmRlZmluZWQgOiBpc1NlbGVjdGVkIC8vIGlzIG5vdCBzdXBwb3J0ZWQgb24gQXBwbGUgZGV2aWNlc1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChPcHRpb24sIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICAgIGlubmVyUHJvcHM6IGlubmVyUHJvcHMsXG4gICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICBpc0Rpc2FibGVkOiBpc0Rpc2FibGVkLFxuICAgICAgICAgIGlzU2VsZWN0ZWQ6IGlzU2VsZWN0ZWQsXG4gICAgICAgICAga2V5OiBvcHRpb25JZCxcbiAgICAgICAgICBsYWJlbDogbGFiZWwsXG4gICAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgICAgaW5uZXJSZWY6IGlzRm9jdXNlZCA/IF90aGlzNC5nZXRGb2N1c2VkT3B0aW9uUmVmIDogdW5kZWZpbmVkXG4gICAgICAgIH0pLCBfdGhpczQuZm9ybWF0T3B0aW9uTGFiZWwocHJvcHMuZGF0YSwgJ21lbnUnKSk7XG4gICAgICB9O1xuICAgICAgdmFyIG1lbnVVSTtcbiAgICAgIGlmICh0aGlzLmhhc09wdGlvbnMoKSkge1xuICAgICAgICBtZW51VUkgPSB0aGlzLmdldENhdGVnb3JpemVkT3B0aW9ucygpLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICAgICAgICAgIHZhciBfZGF0YSA9IGl0ZW0uZGF0YSxcbiAgICAgICAgICAgICAgb3B0aW9ucyA9IGl0ZW0ub3B0aW9ucyxcbiAgICAgICAgICAgICAgZ3JvdXBJbmRleCA9IGl0ZW0uaW5kZXg7XG4gICAgICAgICAgICB2YXIgZ3JvdXBJZCA9IFwiXCIuY29uY2F0KF90aGlzNC5nZXRFbGVtZW50SWQoJ2dyb3VwJyksIFwiLVwiKS5jb25jYXQoZ3JvdXBJbmRleCk7XG4gICAgICAgICAgICB2YXIgaGVhZGluZ0lkID0gXCJcIi5jb25jYXQoZ3JvdXBJZCwgXCItaGVhZGluZ1wiKTtcbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChHcm91cCwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgICAgICAgIGtleTogZ3JvdXBJZCxcbiAgICAgICAgICAgICAgZGF0YTogX2RhdGEsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICAgICAgICAgIEhlYWRpbmc6IEdyb3VwSGVhZGluZyxcbiAgICAgICAgICAgICAgaGVhZGluZ1Byb3BzOiB7XG4gICAgICAgICAgICAgICAgaWQ6IGhlYWRpbmdJZCxcbiAgICAgICAgICAgICAgICBkYXRhOiBpdGVtLmRhdGFcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbGFiZWw6IF90aGlzNC5mb3JtYXRHcm91cExhYmVsKGl0ZW0uZGF0YSlcbiAgICAgICAgICAgIH0pLCBpdGVtLm9wdGlvbnMubWFwKGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlbmRlcihvcHRpb24sIFwiXCIuY29uY2F0KGdyb3VwSW5kZXgsIFwiLVwiKS5jb25jYXQob3B0aW9uLmluZGV4KSk7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdvcHRpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVuZGVyKGl0ZW0sIFwiXCIuY29uY2F0KGl0ZW0uaW5kZXgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChpc0xvYWRpbmcpIHtcbiAgICAgICAgdmFyIG1lc3NhZ2UgPSBsb2FkaW5nTWVzc2FnZSh7XG4gICAgICAgICAgaW5wdXRWYWx1ZTogaW5wdXRWYWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG1lc3NhZ2UgPT09IG51bGwpIHJldHVybiBudWxsO1xuICAgICAgICBtZW51VUkgPSAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChMb2FkaW5nTWVzc2FnZSwgY29tbW9uUHJvcHMsIG1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIF9tZXNzYWdlID0gbm9PcHRpb25zTWVzc2FnZSh7XG4gICAgICAgICAgaW5wdXRWYWx1ZTogaW5wdXRWYWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKF9tZXNzYWdlID09PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgbWVudVVJID0gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoTm9PcHRpb25zTWVzc2FnZSwgY29tbW9uUHJvcHMsIF9tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHZhciBtZW51UGxhY2VtZW50UHJvcHMgPSB7XG4gICAgICAgIG1pbk1lbnVIZWlnaHQ6IG1pbk1lbnVIZWlnaHQsXG4gICAgICAgIG1heE1lbnVIZWlnaHQ6IG1heE1lbnVIZWlnaHQsXG4gICAgICAgIG1lbnVQbGFjZW1lbnQ6IG1lbnVQbGFjZW1lbnQsXG4gICAgICAgIG1lbnVQb3NpdGlvbjogbWVudVBvc2l0aW9uLFxuICAgICAgICBtZW51U2hvdWxkU2Nyb2xsSW50b1ZpZXc6IG1lbnVTaG91bGRTY3JvbGxJbnRvVmlld1xuICAgICAgfTtcbiAgICAgIHZhciBtZW51RWxlbWVudCA9IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KE1lbnVQbGFjZXIsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywgbWVudVBsYWNlbWVudFByb3BzKSwgZnVuY3Rpb24gKF9yZWY0KSB7XG4gICAgICAgIHZhciByZWYgPSBfcmVmNC5yZWYsXG4gICAgICAgICAgX3JlZjQkcGxhY2VyUHJvcHMgPSBfcmVmNC5wbGFjZXJQcm9wcyxcbiAgICAgICAgICBwbGFjZW1lbnQgPSBfcmVmNCRwbGFjZXJQcm9wcy5wbGFjZW1lbnQsXG4gICAgICAgICAgbWF4SGVpZ2h0ID0gX3JlZjQkcGxhY2VyUHJvcHMubWF4SGVpZ2h0O1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoTWVudSwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCBtZW51UGxhY2VtZW50UHJvcHMsIHtcbiAgICAgICAgICBpbm5lclJlZjogcmVmLFxuICAgICAgICAgIGlubmVyUHJvcHM6IHtcbiAgICAgICAgICAgIG9uTW91c2VEb3duOiBfdGhpczQub25NZW51TW91c2VEb3duLFxuICAgICAgICAgICAgb25Nb3VzZU1vdmU6IF90aGlzNC5vbk1lbnVNb3VzZU1vdmVcbiAgICAgICAgICB9LFxuICAgICAgICAgIGlzTG9hZGluZzogaXNMb2FkaW5nLFxuICAgICAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50XG4gICAgICAgIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChTY3JvbGxNYW5hZ2VyLCB7XG4gICAgICAgICAgY2FwdHVyZUVuYWJsZWQ6IGNhcHR1cmVNZW51U2Nyb2xsLFxuICAgICAgICAgIG9uVG9wQXJyaXZlOiBvbk1lbnVTY3JvbGxUb1RvcCxcbiAgICAgICAgICBvbkJvdHRvbUFycml2ZTogb25NZW51U2Nyb2xsVG9Cb3R0b20sXG4gICAgICAgICAgbG9ja0VuYWJsZWQ6IG1lbnVTaG91bGRCbG9ja1Njcm9sbFxuICAgICAgICB9LCBmdW5jdGlvbiAoc2Nyb2xsVGFyZ2V0UmVmKSB7XG4gICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KE1lbnVMaXN0LCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgICAgIGlubmVyUmVmOiBmdW5jdGlvbiBpbm5lclJlZihpbnN0YW5jZSkge1xuICAgICAgICAgICAgICBfdGhpczQuZ2V0TWVudUxpc3RSZWYoaW5zdGFuY2UpO1xuICAgICAgICAgICAgICBzY3JvbGxUYXJnZXRSZWYoaW5zdGFuY2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlubmVyUHJvcHM6IHtcbiAgICAgICAgICAgICAgcm9sZTogJ2xpc3Rib3gnLFxuICAgICAgICAgICAgICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiBjb21tb25Qcm9wcy5pc011bHRpLFxuICAgICAgICAgICAgICBpZDogX3RoaXM0LmdldEVsZW1lbnRJZCgnbGlzdGJveCcpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNMb2FkaW5nOiBpc0xvYWRpbmcsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6IG1heEhlaWdodCxcbiAgICAgICAgICAgIGZvY3VzZWRPcHRpb246IGZvY3VzZWRPcHRpb25cbiAgICAgICAgICB9KSwgbWVudVVJKTtcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIHBvc2l0aW9uaW5nIGJlaGF2aW91ciBpcyBhbG1vc3QgaWRlbnRpY2FsIGZvciBwb3J0YWxsZWQgYW5kIGZpeGVkLFxuICAgICAgLy8gc28gd2UgdXNlIHRoZSBzYW1lIGNvbXBvbmVudC4gdGhlIGFjdHVhbCBwb3J0YWxsaW5nIGxvZ2ljIGlzIGZvcmtlZFxuICAgICAgLy8gd2l0aGluIHRoZSBjb21wb25lbnQgYmFzZWQgb24gYG1lbnVQb3NpdGlvbmBcbiAgICAgIHJldHVybiBtZW51UG9ydGFsVGFyZ2V0IHx8IG1lbnVQb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KE1lbnVQb3J0YWwsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBhcHBlbmRUbzogbWVudVBvcnRhbFRhcmdldCxcbiAgICAgICAgY29udHJvbEVsZW1lbnQ6IHRoaXMuY29udHJvbFJlZixcbiAgICAgICAgbWVudVBsYWNlbWVudDogbWVudVBsYWNlbWVudCxcbiAgICAgICAgbWVudVBvc2l0aW9uOiBtZW51UG9zaXRpb25cbiAgICAgIH0pLCBtZW51RWxlbWVudCkgOiBtZW51RWxlbWVudDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyRm9ybUZpZWxkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlckZvcm1GaWVsZCgpIHtcbiAgICAgIHZhciBfdGhpczUgPSB0aGlzO1xuICAgICAgdmFyIF90aGlzJHByb3BzMTMgPSB0aGlzLnByb3BzLFxuICAgICAgICBkZWxpbWl0ZXIgPSBfdGhpcyRwcm9wczEzLmRlbGltaXRlcixcbiAgICAgICAgaXNEaXNhYmxlZCA9IF90aGlzJHByb3BzMTMuaXNEaXNhYmxlZCxcbiAgICAgICAgaXNNdWx0aSA9IF90aGlzJHByb3BzMTMuaXNNdWx0aSxcbiAgICAgICAgbmFtZSA9IF90aGlzJHByb3BzMTMubmFtZSxcbiAgICAgICAgcmVxdWlyZWQgPSBfdGhpcyRwcm9wczEzLnJlcXVpcmVkO1xuICAgICAgdmFyIHNlbGVjdFZhbHVlID0gdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcbiAgICAgIGlmIChyZXF1aXJlZCAmJiAhdGhpcy5oYXNWYWx1ZSgpICYmICFpc0Rpc2FibGVkKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChSZXF1aXJlZElucHV0JDEsIHtcbiAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgIG9uRm9jdXM6IHRoaXMub25WYWx1ZUlucHV0Rm9jdXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoIW5hbWUgfHwgaXNEaXNhYmxlZCkgcmV0dXJuO1xuICAgICAgaWYgKGlzTXVsdGkpIHtcbiAgICAgICAgaWYgKGRlbGltaXRlcikge1xuICAgICAgICAgIHZhciB2YWx1ZSA9IHNlbGVjdFZhbHVlLm1hcChmdW5jdGlvbiAob3B0KSB7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXM1LmdldE9wdGlvblZhbHVlKG9wdCk7XG4gICAgICAgICAgfSkuam9pbihkZWxpbWl0ZXIpO1xuICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICB0eXBlOiBcImhpZGRlblwiLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIGlucHV0ID0gc2VsZWN0VmFsdWUubGVuZ3RoID4gMCA/IHNlbGVjdFZhbHVlLm1hcChmdW5jdGlvbiAob3B0LCBpKSB7XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgIGtleTogXCJpLVwiLmNvbmNhdChpKSxcbiAgICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogXCJoaWRkZW5cIixcbiAgICAgICAgICAgICAgdmFsdWU6IF90aGlzNS5nZXRPcHRpb25WYWx1ZShvcHQpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSA6IC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgIHR5cGU6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICB2YWx1ZTogXCJcIlxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLCBpbnB1dCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBfdmFsdWUgPSBzZWxlY3RWYWx1ZVswXSA/IHRoaXMuZ2V0T3B0aW9uVmFsdWUoc2VsZWN0VmFsdWVbMF0pIDogJyc7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtcbiAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgIHR5cGU6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgdmFsdWU6IF92YWx1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVuZGVyTGl2ZVJlZ2lvblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXJMaXZlUmVnaW9uKCkge1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcztcbiAgICAgIHZhciBfdGhpcyRzdGF0ZTYgPSB0aGlzLnN0YXRlLFxuICAgICAgICBhcmlhU2VsZWN0aW9uID0gX3RoaXMkc3RhdGU2LmFyaWFTZWxlY3Rpb24sXG4gICAgICAgIGZvY3VzZWRPcHRpb24gPSBfdGhpcyRzdGF0ZTYuZm9jdXNlZE9wdGlvbixcbiAgICAgICAgZm9jdXNlZFZhbHVlID0gX3RoaXMkc3RhdGU2LmZvY3VzZWRWYWx1ZSxcbiAgICAgICAgaXNGb2N1c2VkID0gX3RoaXMkc3RhdGU2LmlzRm9jdXNlZCxcbiAgICAgICAgc2VsZWN0VmFsdWUgPSBfdGhpcyRzdGF0ZTYuc2VsZWN0VmFsdWU7XG4gICAgICB2YXIgZm9jdXNhYmxlT3B0aW9ucyA9IHRoaXMuZ2V0Rm9jdXNhYmxlT3B0aW9ucygpO1xuICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KExpdmVSZWdpb24kMSwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlkOiB0aGlzLmdldEVsZW1lbnRJZCgnbGl2ZS1yZWdpb24nKSxcbiAgICAgICAgYXJpYVNlbGVjdGlvbjogYXJpYVNlbGVjdGlvbixcbiAgICAgICAgZm9jdXNlZE9wdGlvbjogZm9jdXNlZE9wdGlvbixcbiAgICAgICAgZm9jdXNlZFZhbHVlOiBmb2N1c2VkVmFsdWUsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkLFxuICAgICAgICBzZWxlY3RWYWx1ZTogc2VsZWN0VmFsdWUsXG4gICAgICAgIGZvY3VzYWJsZU9wdGlvbnM6IGZvY3VzYWJsZU9wdGlvbnMsXG4gICAgICAgIGlzQXBwbGVEZXZpY2U6IHRoaXMuaXNBcHBsZURldmljZVxuICAgICAgfSkpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW5kZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzJGdldENvbXBvbmVudHM4ID0gdGhpcy5nZXRDb21wb25lbnRzKCksXG4gICAgICAgIENvbnRyb2wgPSBfdGhpcyRnZXRDb21wb25lbnRzOC5Db250cm9sLFxuICAgICAgICBJbmRpY2F0b3JzQ29udGFpbmVyID0gX3RoaXMkZ2V0Q29tcG9uZW50czguSW5kaWNhdG9yc0NvbnRhaW5lcixcbiAgICAgICAgU2VsZWN0Q29udGFpbmVyID0gX3RoaXMkZ2V0Q29tcG9uZW50czguU2VsZWN0Q29udGFpbmVyLFxuICAgICAgICBWYWx1ZUNvbnRhaW5lciA9IF90aGlzJGdldENvbXBvbmVudHM4LlZhbHVlQ29udGFpbmVyO1xuICAgICAgdmFyIF90aGlzJHByb3BzMTQgPSB0aGlzLnByb3BzLFxuICAgICAgICBjbGFzc05hbWUgPSBfdGhpcyRwcm9wczE0LmNsYXNzTmFtZSxcbiAgICAgICAgaWQgPSBfdGhpcyRwcm9wczE0LmlkLFxuICAgICAgICBpc0Rpc2FibGVkID0gX3RoaXMkcHJvcHMxNC5pc0Rpc2FibGVkLFxuICAgICAgICBtZW51SXNPcGVuID0gX3RoaXMkcHJvcHMxNC5tZW51SXNPcGVuO1xuICAgICAgdmFyIGlzRm9jdXNlZCA9IHRoaXMuc3RhdGUuaXNGb2N1c2VkO1xuICAgICAgdmFyIGNvbW1vblByb3BzID0gdGhpcy5jb21tb25Qcm9wcyA9IHRoaXMuZ2V0Q29tbW9uUHJvcHMoKTtcbiAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RDb250YWluZXIsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZSxcbiAgICAgICAgaW5uZXJQcm9wczoge1xuICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICBvbktleURvd246IHRoaXMub25LZXlEb3duXG4gICAgICAgIH0sXG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIGlzRm9jdXNlZDogaXNGb2N1c2VkXG4gICAgICB9KSwgdGhpcy5yZW5kZXJMaXZlUmVnaW9uKCksIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KENvbnRyb2wsIF9leHRlbmRzKHt9LCBjb21tb25Qcm9wcywge1xuICAgICAgICBpbm5lclJlZjogdGhpcy5nZXRDb250cm9sUmVmLFxuICAgICAgICBpbm5lclByb3BzOiB7XG4gICAgICAgICAgb25Nb3VzZURvd246IHRoaXMub25Db250cm9sTW91c2VEb3duLFxuICAgICAgICAgIG9uVG91Y2hFbmQ6IHRoaXMub25Db250cm9sVG91Y2hFbmRcbiAgICAgICAgfSxcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZCxcbiAgICAgICAgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsXG4gICAgICAgIG1lbnVJc09wZW46IG1lbnVJc09wZW5cbiAgICAgIH0pLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChWYWx1ZUNvbnRhaW5lciwgX2V4dGVuZHMoe30sIGNvbW1vblByb3BzLCB7XG4gICAgICAgIGlzRGlzYWJsZWQ6IGlzRGlzYWJsZWRcbiAgICAgIH0pLCB0aGlzLnJlbmRlclBsYWNlaG9sZGVyT3JWYWx1ZSgpLCB0aGlzLnJlbmRlcklucHV0KCkpLCAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChJbmRpY2F0b3JzQ29udGFpbmVyLCBfZXh0ZW5kcyh7fSwgY29tbW9uUHJvcHMsIHtcbiAgICAgICAgaXNEaXNhYmxlZDogaXNEaXNhYmxlZFxuICAgICAgfSksIHRoaXMucmVuZGVyQ2xlYXJJbmRpY2F0b3IoKSwgdGhpcy5yZW5kZXJMb2FkaW5nSW5kaWNhdG9yKCksIHRoaXMucmVuZGVySW5kaWNhdG9yU2VwYXJhdG9yKCksIHRoaXMucmVuZGVyRHJvcGRvd25JbmRpY2F0b3IoKSkpLCB0aGlzLnJlbmRlck1lbnUoKSwgdGhpcy5yZW5kZXJGb3JtRmllbGQoKSk7XG4gICAgfVxuICB9XSwgW3tcbiAgICBrZXk6IFwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIHZhciBwcmV2UHJvcHMgPSBzdGF0ZS5wcmV2UHJvcHMsXG4gICAgICAgIGNsZWFyRm9jdXNWYWx1ZU9uVXBkYXRlID0gc3RhdGUuY2xlYXJGb2N1c1ZhbHVlT25VcGRhdGUsXG4gICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZSA9IHN0YXRlLmlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZSxcbiAgICAgICAgYXJpYVNlbGVjdGlvbiA9IHN0YXRlLmFyaWFTZWxlY3Rpb24sXG4gICAgICAgIGlzRm9jdXNlZCA9IHN0YXRlLmlzRm9jdXNlZCxcbiAgICAgICAgcHJldldhc0ZvY3VzZWQgPSBzdGF0ZS5wcmV2V2FzRm9jdXNlZCxcbiAgICAgICAgaW5zdGFuY2VQcmVmaXggPSBzdGF0ZS5pbnN0YW5jZVByZWZpeDtcbiAgICAgIHZhciBvcHRpb25zID0gcHJvcHMub3B0aW9ucyxcbiAgICAgICAgdmFsdWUgPSBwcm9wcy52YWx1ZSxcbiAgICAgICAgbWVudUlzT3BlbiA9IHByb3BzLm1lbnVJc09wZW4sXG4gICAgICAgIGlucHV0VmFsdWUgPSBwcm9wcy5pbnB1dFZhbHVlLFxuICAgICAgICBpc011bHRpID0gcHJvcHMuaXNNdWx0aTtcbiAgICAgIHZhciBzZWxlY3RWYWx1ZSA9IGNsZWFuVmFsdWUodmFsdWUpO1xuICAgICAgdmFyIG5ld01lbnVPcHRpb25zU3RhdGUgPSB7fTtcbiAgICAgIGlmIChwcmV2UHJvcHMgJiYgKHZhbHVlICE9PSBwcmV2UHJvcHMudmFsdWUgfHwgb3B0aW9ucyAhPT0gcHJldlByb3BzLm9wdGlvbnMgfHwgbWVudUlzT3BlbiAhPT0gcHJldlByb3BzLm1lbnVJc09wZW4gfHwgaW5wdXRWYWx1ZSAhPT0gcHJldlByb3BzLmlucHV0VmFsdWUpKSB7XG4gICAgICAgIHZhciBmb2N1c2FibGVPcHRpb25zID0gbWVudUlzT3BlbiA/IGJ1aWxkRm9jdXNhYmxlT3B0aW9ucyhwcm9wcywgc2VsZWN0VmFsdWUpIDogW107XG4gICAgICAgIHZhciBmb2N1c2FibGVPcHRpb25zV2l0aElkcyA9IG1lbnVJc09wZW4gPyBidWlsZEZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzKGJ1aWxkQ2F0ZWdvcml6ZWRPcHRpb25zKHByb3BzLCBzZWxlY3RWYWx1ZSksIFwiXCIuY29uY2F0KGluc3RhbmNlUHJlZml4LCBcIi1vcHRpb25cIikpIDogW107XG4gICAgICAgIHZhciBmb2N1c2VkVmFsdWUgPSBjbGVhckZvY3VzVmFsdWVPblVwZGF0ZSA/IGdldE5leHRGb2N1c2VkVmFsdWUoc3RhdGUsIHNlbGVjdFZhbHVlKSA6IG51bGw7XG4gICAgICAgIHZhciBmb2N1c2VkT3B0aW9uID0gZ2V0TmV4dEZvY3VzZWRPcHRpb24oc3RhdGUsIGZvY3VzYWJsZU9wdGlvbnMpO1xuICAgICAgICB2YXIgZm9jdXNlZE9wdGlvbklkID0gZ2V0Rm9jdXNlZE9wdGlvbklkKGZvY3VzYWJsZU9wdGlvbnNXaXRoSWRzLCBmb2N1c2VkT3B0aW9uKTtcbiAgICAgICAgbmV3TWVudU9wdGlvbnNTdGF0ZSA9IHtcbiAgICAgICAgICBzZWxlY3RWYWx1ZTogc2VsZWN0VmFsdWUsXG4gICAgICAgICAgZm9jdXNlZE9wdGlvbjogZm9jdXNlZE9wdGlvbixcbiAgICAgICAgICBmb2N1c2VkT3B0aW9uSWQ6IGZvY3VzZWRPcHRpb25JZCxcbiAgICAgICAgICBmb2N1c2FibGVPcHRpb25zV2l0aElkczogZm9jdXNhYmxlT3B0aW9uc1dpdGhJZHMsXG4gICAgICAgICAgZm9jdXNlZFZhbHVlOiBmb2N1c2VkVmFsdWUsXG4gICAgICAgICAgY2xlYXJGb2N1c1ZhbHVlT25VcGRhdGU6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICAvLyBzb21lIHVwZGF0ZXMgc2hvdWxkIHRvZ2dsZSB0aGUgc3RhdGUgb2YgdGhlIGlucHV0IHZpc2liaWxpdHlcbiAgICAgIHZhciBuZXdJbnB1dElzSGlkZGVuU3RhdGUgPSBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGUgIT0gbnVsbCAmJiBwcm9wcyAhPT0gcHJldlByb3BzID8ge1xuICAgICAgICBpbnB1dElzSGlkZGVuOiBpbnB1dElzSGlkZGVuQWZ0ZXJVcGRhdGUsXG4gICAgICAgIGlucHV0SXNIaWRkZW5BZnRlclVwZGF0ZTogdW5kZWZpbmVkXG4gICAgICB9IDoge307XG4gICAgICB2YXIgbmV3QXJpYVNlbGVjdGlvbiA9IGFyaWFTZWxlY3Rpb247XG4gICAgICB2YXIgaGFzS2VwdEZvY3VzID0gaXNGb2N1c2VkICYmIHByZXZXYXNGb2N1c2VkO1xuICAgICAgaWYgKGlzRm9jdXNlZCAmJiAhaGFzS2VwdEZvY3VzKSB7XG4gICAgICAgIC8vIElmIGB2YWx1ZWAgb3IgYGRlZmF1bHRWYWx1ZWAgcHJvcHMgYXJlIG5vdCBlbXB0eSB0aGVuIGFubm91bmNlIHRoZW1cbiAgICAgICAgLy8gd2hlbiB0aGUgU2VsZWN0IGlzIGluaXRpYWxseSBmb2N1c2VkXG4gICAgICAgIG5ld0FyaWFTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgdmFsdWU6IHZhbHVlVGVybmFyeShpc011bHRpLCBzZWxlY3RWYWx1ZSwgc2VsZWN0VmFsdWVbMF0gfHwgbnVsbCksXG4gICAgICAgICAgb3B0aW9uczogc2VsZWN0VmFsdWUsXG4gICAgICAgICAgYWN0aW9uOiAnaW5pdGlhbC1pbnB1dC1mb2N1cydcbiAgICAgICAgfTtcbiAgICAgICAgaGFzS2VwdEZvY3VzID0gIXByZXZXYXNGb2N1c2VkO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgJ2luaXRpYWwtaW5wdXQtZm9jdXMnIGFjdGlvbiBoYXMgYmVlbiBzZXQgYWxyZWFkeVxuICAgICAgLy8gdGhlbiByZXNldCB0aGUgYXJpYVNlbGVjdGlvbiB0byBudWxsXG4gICAgICBpZiAoKGFyaWFTZWxlY3Rpb24gPT09IG51bGwgfHwgYXJpYVNlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYXJpYVNlbGVjdGlvbi5hY3Rpb24pID09PSAnaW5pdGlhbC1pbnB1dC1mb2N1cycpIHtcbiAgICAgICAgbmV3QXJpYVNlbGVjdGlvbiA9IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIG5ld01lbnVPcHRpb25zU3RhdGUpLCBuZXdJbnB1dElzSGlkZGVuU3RhdGUpLCB7fSwge1xuICAgICAgICBwcmV2UHJvcHM6IHByb3BzLFxuICAgICAgICBhcmlhU2VsZWN0aW9uOiBuZXdBcmlhU2VsZWN0aW9uLFxuICAgICAgICBwcmV2V2FzRm9jdXNlZDogaGFzS2VwdEZvY3VzXG4gICAgICB9KTtcbiAgICB9XG4gIH1dKTtcbiAgcmV0dXJuIFNlbGVjdDtcbn0oQ29tcG9uZW50KTtcblNlbGVjdC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbmV4cG9ydCB7IFNlbGVjdCBhcyBTLCBkZWZhdWx0UHJvcHMgYXMgYSwgZ2V0T3B0aW9uTGFiZWwkMSBhcyBiLCBjcmVhdGVGaWx0ZXIgYXMgYywgZGVmYXVsdFRoZW1lIGFzIGQsIGdldE9wdGlvblZhbHVlJDEgYXMgZywgbWVyZ2VTdHlsZXMgYXMgbSB9O1xuIiwgImltcG9ydCB7IHUgYXMgdXNlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi91c2VTdGF0ZU1hbmFnZXItN2UxZTg0ODkuZXNtLmpzJztcbmV4cG9ydCB7IHUgYXMgdXNlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi91c2VTdGF0ZU1hbmFnZXItN2UxZTg0ODkuZXNtLmpzJztcbmltcG9ydCBfZXh0ZW5kcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGZvcndhcmRSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTIGFzIFNlbGVjdCB9IGZyb20gJy4vU2VsZWN0LTFmZDU4OGM5LmVzbS5qcyc7XG5leHBvcnQgeyBjIGFzIGNyZWF0ZUZpbHRlciwgZCBhcyBkZWZhdWx0VGhlbWUsIG0gYXMgbWVyZ2VTdHlsZXMgfSBmcm9tICcuL1NlbGVjdC0xZmQ1ODhjOS5lc20uanMnO1xuaW1wb3J0IHsgQ2FjaGVQcm92aWRlciB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBjcmVhdGVDYWNoZSBmcm9tICdAZW1vdGlvbi9jYWNoZSc7XG5leHBvcnQgeyBjIGFzIGNvbXBvbmVudHMgfSBmcm9tICcuL2luZGV4LWEzMDFmNTI2LmVzbS5qcyc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0U3ByZWFkMic7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvc2xpY2VkVG9BcnJheSc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXMnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcyc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHMnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZVN1cGVyJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy90b0NvbnN1bWFibGVBcnJheSc7XG5pbXBvcnQgJ21lbW9pemUtb25lJztcbmltcG9ydCAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YnO1xuaW1wb3J0ICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCc7XG5pbXBvcnQgJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHknO1xuaW1wb3J0ICdyZWFjdC1kb20nO1xuaW1wb3J0ICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCAndXNlLWlzb21vcnBoaWMtbGF5b3V0LWVmZmVjdCc7XG5cbnZhciBTdGF0ZU1hbmFnZWRTZWxlY3QgPSAvKiNfX1BVUkVfXyovZm9yd2FyZFJlZihmdW5jdGlvbiAocHJvcHMsIHJlZikge1xuICB2YXIgYmFzZVNlbGVjdFByb3BzID0gdXNlU3RhdGVNYW5hZ2VyKHByb3BzKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFNlbGVjdCwgX2V4dGVuZHMoe1xuICAgIHJlZjogcmVmXG4gIH0sIGJhc2VTZWxlY3RQcm9wcykpO1xufSk7XG52YXIgU3RhdGVNYW5hZ2VkU2VsZWN0JDEgPSBTdGF0ZU1hbmFnZWRTZWxlY3Q7XG5cbnZhciBOb25jZVByb3ZpZGVyID0gKGZ1bmN0aW9uIChfcmVmKSB7XG4gIHZhciBub25jZSA9IF9yZWYubm9uY2UsXG4gICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLFxuICAgIGNhY2hlS2V5ID0gX3JlZi5jYWNoZUtleTtcbiAgdmFyIGVtb3Rpb25DYWNoZSA9IHVzZU1lbW8oZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBjcmVhdGVDYWNoZSh7XG4gICAgICBrZXk6IGNhY2hlS2V5LFxuICAgICAgbm9uY2U6IG5vbmNlXG4gICAgfSk7XG4gIH0sIFtjYWNoZUtleSwgbm9uY2VdKTtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KENhY2hlUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogZW1vdGlvbkNhY2hlXG4gIH0sIGNoaWxkcmVuKTtcbn0pO1xuXG5leHBvcnQgeyBOb25jZVByb3ZpZGVyLCBTdGF0ZU1hbmFnZWRTZWxlY3QkMSBhcyBkZWZhdWx0IH07XG4iLCAiLyoqXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCB7IHVzZUVkaXRhYmxlRGlzcGF0Y2ggfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyBGaWVsZENvbnRyb2xQcm9wcyB9IGZyb20gXCIuL2NvbW1vbi1wcm9wc1wiO1xuaW1wb3J0IHsgVGFyZ2V0ZWRFdmVudCB9IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5pbXBvcnQgeyB1c2VTdGFibGVDYWxsYmFjayB9IGZyb20gXCJ1aS9ob29rc1wiO1xuXG4vKiogRWRpdGFibGUgZmllbGQgZm9yIGEgYm9vbGVhbiAodHJ1ZS9mYWxzZSkgdmFsdWUuXG4gKiBAZ3JvdXAgRWRpdGFibGUgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gQm9vbGVhbkVkaXRhYmxlKHByb3BzOiBGaWVsZENvbnRyb2xQcm9wczxib29sZWFuPikge1xuICAgIGNvbnN0IFtzdGF0ZSwgZGlzcGF0Y2hdID0gdXNlRWRpdGFibGVEaXNwYXRjaDxib29sZWFuPih7XG4gICAgICAgIGNvbnRlbnQ6IHByb3BzLnZhbHVlID8/IHByb3BzLmRlZmF1bHRWYWx1ZSxcbiAgICAgICAgdXBkYXRlcjogcHJvcHMudXBkYXRlciEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICAoZXZ0OiBUYXJnZXRlZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+ICYgTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld1ZhbHVlID0gIWV2dC5jdXJyZW50VGFyZ2V0Lmhhc0NsYXNzKFwiaXMtZW5hYmxlZFwiKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWUgfSk7XG4gICAgICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IFwiY29tbWl0XCIsIG5ld1ZhbHVlIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbc3RhdGUuY29udGVudCwgc3RhdGUsIHByb3BzLnZhbHVlXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IG9uQ2xpY2s9e29uQ2hhbmdlfSBjbGFzc05hbWU9e2BjaGVja2JveC1jb250YWluZXIke3N0YXRlLmNvbnRlbnQgPyBcIiBpcy1lbmFibGVkXCIgOiBcIlwifWB9PlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCB7IENoYW5nZUV2ZW50IH0gZnJvbSBcInByZWFjdC9jb21wYXRcIjtcbmltcG9ydCB7IERpc3BhdGNoLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IEVkaXRhYmxlLCBFZGl0YWJsZUFjdGlvbiwgRWRpdGFibGVTdGF0ZSB9IGZyb20gXCJ1aS9maWVsZHMvZWRpdGFibGVcIjtcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5cbmltcG9ydCBcIi4vZmllbGRzLmNzc1wiO1xuXG4vKiogRWRpdGFibGUgZmllbGQgZm9yIG11bHRpLXN0ZXAgcHJvZ3Jlc3MuXG4gKiBAZ3JvdXAgRWRpdGFibGUgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gUHJvZ3Jlc3NFZGl0YWJsZShcbiAgICBwcm9wczogRWRpdGFibGVTdGF0ZTxudW1iZXI+ICYge1xuICAgICAgICBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gICAgICAgIG1pbjogbnVtYmVyO1xuICAgICAgICBtYXg6IG51bWJlcjtcbiAgICAgICAgc3RlcDogbnVtYmVyO1xuICAgICAgICBkaXNwYXRjaDogRGlzcGF0Y2g8RWRpdGFibGVBY3Rpb248bnVtYmVyPj47XG4gICAgfVxuKSB7XG4gICAgY29uc3QgdmFsID0gdXNlUmVmKHByb3BzLmNvbnRlbnQpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHByb3BzLmRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWU6IHZhbC5jdXJyZW50IH0pO1xuICAgIH0sIFt2YWwuY3VycmVudF0pO1xuICAgIGNvbnN0IGZpbmFsaXplID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBwcm9wcy5kaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBcImNvbW1pdFwiLFxuICAgICAgICAgICAgbmV3VmFsdWU6IHZhbC5jdXJyZW50LFxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGNvbnN0IGNoYW5nZUNCID0gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIChlOiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgZmluYWxpemUoKTtcbiAgICAgICAgICAgIHZhbC5jdXJyZW50ID0gcGFyc2VGbG9hdChlLmN1cnJlbnRUYXJnZXQudmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBbdmFsLmN1cnJlbnQsIHByb3BzLnNvdXJjZVBhdGhdXG4gICAgKTtcbiAgICBjb25zdCByZWFkT25seSA9IDxwcm9ncmVzcyB2YWx1ZT17dmFsLmN1cnJlbnR9IG1pbj17cHJvcHMubWlufSBtYXg9e3Byb3BzLm1heH0gc3RlcD17cHJvcHMuc3RlcH0gLz47XG5cbiAgICBjb25zdCBlZGl0b3IgPSAoXG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzc05hbWU9XCJkYXRhY29yZS1wcm9ncmVzcy1lZGl0YWJsZVwiIHZhbHVlPXt2YWwuY3VycmVudH0gb25DaGFuZ2U9e2NoYW5nZUNCfSAvPlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoYXMtdGV4dGVkaXRhYmxlXCI+XG4gICAgICAgICAgICA8RWRpdGFibGU8bnVtYmVyPlxuICAgICAgICAgICAgICAgIGRpc3BhdGNoPXtwcm9wcy5kaXNwYXRjaH1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICAgICAgICBzdGF0ZT17eyAuLi5wcm9wcywgY29udGVudDogdmFsLmN1cnJlbnQsIGlzRWRpdGluZzogcHJvcHMuaXNFZGl0aW5nIH19XG4gICAgICAgICAgICAgICAgZGVmYXVsdFJlbmRlcj17cmVhZE9ubHl9XG4gICAgICAgICAgICAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgKTtcbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgdWlcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5pbXBvcnQgeyBGaWVsZENvbnRyb2xQcm9wcyB9IGZyb20gXCIuL2NvbW1vbi1wcm9wc1wiO1xuaW1wb3J0IHsgdXNlRWRpdGFibGVEaXNwYXRjaCB9IGZyb20gXCJ1aS9maWVsZHMvZWRpdGFibGVcIjtcblxuaW1wb3J0IFwiLi9maWVsZHMuY3NzXCI7XG5cbi8qKiBFZGl0YWJsZSBmaWVsZCBmb3IgYSBzdGFyLWJhc2VkIHJhdGluZyBmaWVsZC5cbiAqIEBncm91cCBFZGl0YWJsZSBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBSYXRpbmdFZGl0YWJsZSh7IHZhbHVlLCB1cGRhdGVyLCBjb25maWc6IGNvbmZpZywgZGVmYXVsdFZhbHVlIH06IEZpZWxkQ29udHJvbFByb3BzPG51bWJlciB8IHN0cmluZz4pIHtcbiAgICBjb25zdCBbc3RhdGUsIGRpc3BhdGNoXSA9IHVzZUVkaXRhYmxlRGlzcGF0Y2g8bnVtYmVyIHwgc3RyaW5nPih7XG4gICAgICAgIGNvbnRlbnQ6IHZhbHVlID8/IGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgdXBkYXRlcjogdXBkYXRlciEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHN0YXRlLmNvbnRlbnQgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgaWYgKHN0YXRlLmNvbnRlbnQuY29udGFpbnMoXCIvXCIpKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNwbGl0ID0gc3RhdGUuY29udGVudC5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHNwbGl0WzBdKSAvIHBhcnNlSW50KHNwbGl0WzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RhdGUuY29udGVudCA9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5taW4oc3RhdGUuY29udGVudCwgNSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfSwgW3N0YXRlLmNvbnRlbnRdKTtcblxuICAgIGNvbnN0IHN0YXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGxldCByOiBSZWFjdC5SZWFjdE5vZGVbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChjb25maWc/Lm1heCA/PyA1KTsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgY2xpY2tDYiA9IHVzZVN0YWJsZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbmV3VmFsdWU6IG51bWJlciB8IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RhdGUuY29udGVudCA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5jb250ZW50LmNvbnRhaW5zKFwiL1wiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBgJHtpICsgMX0vNWA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzdGF0ZS5jb250ZW50ID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBNYXRoLm1pbihpICsgMSwgY29uZmlnPy5tYXggPz8gNSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLCBuZXdWYWx1ZTogbmV3VmFsdWUgfHwgaSArIDEgfSk7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbW1pdFwiLCBuZXdWYWx1ZTogbmV3VmFsdWUgfHwgaSArIDEgfSk7XG4gICAgICAgICAgICB9LCBbc3RhdGUsIHBhcnNlZFZhbHVlLCBpXSk7XG4gICAgICAgICAgICBsZXQgY2xhc3NlcyA9IFtcImRhdGFjb3JlLXJhdGluZy1zdGFyXCJdO1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGkgPCBwYXJzZWRWYWx1ZSA/IFwiZmlsbGVkXCIgOiBcImVtcHR5XCIpO1xuICAgICAgICAgICAgci5wdXNoKFxuICAgICAgICAgICAgICAgIDxzcGFuIG9uQ2xpY2s9e2NsaWNrQ2J9IGNsYXNzTmFtZT17Y2xhc3Nlcy5qb2luKFwiIFwiKX0+XG4gICAgICAgICAgICAgICAgICAgICYjOTczMztcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByO1xuICAgIH0sIFtwYXJzZWRWYWx1ZSwgc3RhdGVdKTtcblxuICAgIHJldHVybiA8c3BhbiBjbGFzc05hbWU9XCJkYXRhY29yZS1yYXRpbmdcIj57c3RhcnN9PC9zcGFuPjtcbn1cbiIsICJpbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgU3Vic3RvcmVyIH0gZnJvbSBcImluZGV4L2RhdGFzdG9yZVwiO1xuaW1wb3J0IHsgc2V0RW1vamlTaG9ydGhhbmRDb21wbGV0aW9uRmllbGQsIHNldElubGluZUZpZWxkIH0gZnJvbSBcImluZGV4L2ltcG9ydC9pbmxpbmUtZmllbGRcIjtcbmltcG9ydCB7IEluZGV4YWJsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IE1hcmtkb3duUGFnZSwgTWFya2Rvd25TZWN0aW9uLCBNYXJrZG93bkJsb2NrLCBNYXJrZG93bkxpc3RJdGVtLCBNYXJrZG93blRhc2tJdGVtIH0gZnJvbSBcImluZGV4L3R5cGVzL21hcmtkb3duXCI7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgVmF1bHQgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRG90RmllbGQocmF3OiBzdHJpbmcsIG9iajogYW55KSB7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCkgcmV0dXJuIG9iajtcbiAgICBpZiAocmF3LmNvbnRhaW5zKFwiLlwiKSlcbiAgICAgICAgcmV0dXJuIHJhdy5zcGxpdChcIi5cIikucmVkdWNlKCh0aWYsIGMpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGlmID09IFwib2JqZWN0XCIpIHJldHVybiB0aWZbY107XG4gICAgICAgICAgICBlbHNlIHJldHVybiB0aWY7XG4gICAgICAgIH0sIG9iaiB8fCB7fSk7XG4gICAgaWYgKHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgICByZXR1cm4gb2JqW3Jhd107XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZChpbnB1dDogSW5kZXhhYmxlLCBmaWVsZDogc3RyaW5nKSB7XG4gICAgaWYgKGlucHV0IGluc3RhbmNlb2YgTWFya2Rvd25QYWdlKSB7XG4gICAgICAgIHJldHVybiBpbnB1dC5maWVsZChmaWVsZCk/LnZhbHVlID8/IG51bGw7XG4gICAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIE1hcmtkb3duU2VjdGlvbikge1xuICAgICAgICByZXR1cm4gaW5wdXQuZmllbGQoZmllbGQpPy52YWx1ZSA/PyBudWxsO1xuICAgIH0gZWxzZSBpZiAoaW5wdXQgaW5zdGFuY2VvZiBNYXJrZG93bkJsb2NrKSB7XG4gICAgICAgIHJldHVybiBpbnB1dC5maWVsZChmaWVsZCk/LnZhbHVlID8/IG51bGw7XG4gICAgfSBlbHNlIGlmIChpbnB1dCBpbnN0YW5jZW9mIE1hcmtkb3duTGlzdEl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGlucHV0LmZpZWxkKGZpZWxkKT8udmFsdWUgPz8gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxufSAvKiogVHJpbSBlbXB0eSBlbmRpbmcgbGluZXMuICovXG5mdW5jdGlvbiB0cmltRW5kaW5nTGluZXModGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgcGFydHMgPSB0ZXh0LnNwbGl0KC9cXHI/XFxuL3UpO1xuICAgIGxldCB0cmltID0gcGFydHMubGVuZ3RoIC0gMTtcbiAgICB3aGlsZSAodHJpbSA+IDAgJiYgcGFydHNbdHJpbV0udHJpbSgpID09IFwiXCIpIHRyaW0tLTtcblxuICAgIHJldHVybiBwYXJ0cy5qb2luKFwiXFxuXCIpO1xufVxuLyoqIFNldCB0aGUgdGFzayBjb21wbGV0aW9uIGtleSBvbiBjaGVjay4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRUYXNrQ29tcGxldGlvbihcbiAgICB0YXNrOiBNYXJrZG93blRhc2tJdGVtLFxuICAgIG9yaWdpbmFsVGV4dDogc3RyaW5nLFxuICAgIHVzZUVtb2ppU2hvcnRoYW5kOiBib29sZWFuLFxuICAgIGNvbXBsZXRpb25LZXk6IHN0cmluZyxcbiAgICBjb21wbGV0aW9uRGF0ZUZvcm1hdDogc3RyaW5nLFxuICAgIGNvbXBsZXRlOiBib29sZWFuXG4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGJsb2NrSWRSZWdleCA9IC9cXF5bYS16MC05XFwtXSsvaTtcblxuICAgIGlmICghY29tcGxldGUgJiYgIXVzZUVtb2ppU2hvcnRoYW5kKSB7XG4gICAgICAgIGRlbGV0ZSB0YXNrLiRpbmZpZWxkc1tjb21wbGV0aW9uS2V5XTtcbiAgICAgICAgcmV0dXJuIHRyaW1FbmRpbmdMaW5lcyhzZXRJbmxpbmVGaWVsZChvcmlnaW5hbFRleHQudHJpbUVuZCgpLCBjb21wbGV0aW9uS2V5KSkudHJpbUVuZCgpO1xuICAgIH1cblxuICAgIGxldCBwYXJ0cyA9IG9yaWdpbmFsVGV4dC5zcGxpdCgvXFxyP1xcbi91KTtcbiAgICBjb25zdCBtYXRjaGVzID0gYmxvY2tJZFJlZ2V4LmV4ZWMocGFydHNbcGFydHMubGVuZ3RoIC0gMV0pO1xuXG4gICAgbGV0IHByb2Nlc3NlZFBhcnQgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXS5zcGxpdChibG9ja0lkUmVnZXgpLmpvaW4oXCJcIik7IC8vIGxhc3QgcGFydCB3aXRob3V0IGJsb2NrIGlkXG4gICAgaWYgKHVzZUVtb2ppU2hvcnRoYW5kKSB7XG4gICAgICAgIHByb2Nlc3NlZFBhcnQgPSBzZXRFbW9qaVNob3J0aGFuZENvbXBsZXRpb25GaWVsZChcbiAgICAgICAgICAgIHByb2Nlc3NlZFBhcnQsXG4gICAgICAgICAgICBjb21wbGV0ZSA/IERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KFwieXl5eS1NTS1kZFwiKSA6IFwiXCJcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBwcm9jZXNzZWRQYXJ0ID0gc2V0SW5saW5lRmllbGQocHJvY2Vzc2VkUGFydCwgY29tcGxldGlvbktleSwgRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoY29tcGxldGlvbkRhdGVGb3JtYXQpKTtcbiAgICAgICAgdGFzay4kaW5maWVsZHNbY29tcGxldGlvbktleV0gPSB7XG4gICAgICAgICAgICByYXc6IERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KGNvbXBsZXRpb25EYXRlRm9ybWF0KSxcbiAgICAgICAgICAgIHZhbHVlOiBEYXRlVGltZS5ub3coKSxcbiAgICAgICAgICAgIGtleTogY29tcGxldGlvbktleSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgbGluZTogdGFzay4kbGluZSxcbiAgICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAwLFxuICAgICAgICAgICAgICAgIGVuZDogRGF0ZVRpbWUubm93KCkudG9Gb3JtYXQoY29tcGxldGlvbkRhdGVGb3JtYXQpLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbiAgICBwcm9jZXNzZWRQYXJ0ID0gYCR7cHJvY2Vzc2VkUGFydC50cmltRW5kKCl9JHttYXRjaGVzPy5sZW5ndGggPyBcIiBcIiArIG1hdGNoZXNbMF0udHJpbSgpIDogXCJcIn1gLnRyaW1FbmQoKTsgLy8gYWRkIGJhY2sgYmxvY2sgaWRcbiAgICBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSA9IHByb2Nlc3NlZFBhcnQudHJpbVN0YXJ0KCk7XG5cbiAgICByZXR1cm4gcGFydHMuam9pbihcIlxcblwiKTtcbn1cblxuZXhwb3J0IGNvbnN0IExJU1RfSVRFTV9SRUdFWCA9IC9eW1xccz5cXHRdKihcXGQrXFwufFxcZCtcXCl8XFwqfC18XFwrKVxccyooXFxbLnswLDF9XFxdKT9cXHMqKC4qKSQvbXU7XG5cbi8qKiBSZXdyaXRlIGEgdGFzayB3aXRoIHRoZSBnaXZlbiBjb21wbGV0aW9uIHN0YXR1cyBhbmQgbmV3IHRleHQuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV3cml0ZVRhc2soXG4gICAgdmF1bHQ6IFZhdWx0LFxuICAgIGNvcmU6IERhdGFjb3JlLFxuICAgIHRhc2s6IE1hcmtkb3duVGFza0l0ZW0gfCBNYXJrZG93bkxpc3RJdGVtLFxuICAgIGRlc2lyZWRTdGF0dXM6IHN0cmluZyxcbiAgICBkZXNpcmVkVGV4dD86IHN0cmluZ1xuKSB7XG4gICAgY29uc29sZS5sb2coXCJDSEVDS1NcIik7XG4gICAgY29uc29sZS5sb2coXCJzdGF0dXMgZXF1YWw/XCIsIHRhc2sgaW5zdGFuY2VvZiBNYXJrZG93blRhc2tJdGVtICYmIGRlc2lyZWRTdGF0dXMgPT0gdGFzay4kc3RhdHVzKTtcbiAgICBjb25zb2xlLmxvZyhcInRleHQgdW5kZWZpbmVkP1wiLCBkZXNpcmVkVGV4dCA9PSB1bmRlZmluZWQpO1xuICAgIGNvbnNvbGUubG9nKFwic2FtZSBhcyBwcmV2P1wiLCBkZXNpcmVkVGV4dCA9PSB0YXNrLiR0ZXh0KTtcbiAgICAvKiBpZiAoXG4gICAgICAgIHRhc2sgaW5zdGFuY2VvZiBNYXJrZG93blRhc2tJdGVtICYmXG4gICAgICAgIGRlc2lyZWRTdGF0dXMgPT0gdGFzay4kc3RhdHVzICYmXG4gICAgICAgIChkZXNpcmVkVGV4dCA9PSB0YXNrLiR0ZXh0KVxuICAgIClcbiAgICAgICAgcmV0dXJuOyAqL1xuICAgIGNvbnNvbGUubG9nKFwiYWZ0ZXIgZmlyc3RcIik7XG4gICAgZGVzaXJlZFN0YXR1cyA9IGRlc2lyZWRTdGF0dXMgPT0gXCJcIiA/IFwiIFwiIDogZGVzaXJlZFN0YXR1cztcblxuICAgIGNvbnN0IHRmaWxlID0gdmF1bHQuZ2V0RmlsZUJ5UGF0aCh0YXNrLiRmaWxlKSE7XG4gICAgbGV0IHJhd0ZpbGV0ZXh0ID0gYXdhaXQgdmF1bHQucmVhZCh0ZmlsZSk7XG4gICAgbGV0IGhhc1JOID0gcmF3RmlsZXRleHQuY29udGFpbnMoXCJcXHJcIik7XG4gICAgbGV0IGZpbGV0ZXh0ID0gcmF3RmlsZXRleHQuc3BsaXQoL1xcclxcbnxcXHJ8XFxuL3UpO1xuXG4gICAgaWYgKGZpbGV0ZXh0Lmxlbmd0aCA8IHRhc2suJGxpbmUpIHJldHVybjtcbiAgICBjb25zb2xlLmxvZyhcImFmdGVyIDJuY1wiKTtcbiAgICBsZXQgbWF0Y2ggPSBMSVNUX0lURU1fUkVHRVguZXhlYyhmaWxldGV4dFt0YXNrLiRsaW5lXSk7XG4gICAgaWYgKCFtYXRjaCB8fCBtYXRjaFsyXT8ubGVuZ3RoID09IDApIHJldHVybjtcblxuICAgIGNvbnNvbGUubG9nKFwiYWZ0ZXIgM3JkXCIpO1xuICAgIGxldCB0YXNrVGV4dFBhcnRzID0gdGFzay4kdGV4dCEuc3BsaXQoXCJcXG5cIik7XG4gICAgLy8gaWYgKHRhc2tUZXh0UGFydHNbMF0udHJpbSgpICE9IG1hdGNoWzNdLnRyaW0oKSkgcmV0dXJuO1xuXG4gICAgLy8gV2UgaGF2ZSBhIHBvc2l0aXZlIG1hdGNoIGhlcmUgYXQgdGhpcyBwb2ludCwgc28gZ28gYWhlYWQgYW5kIGRvIHRoZSByZXdyaXRlIG9mIHRoZSBzdGF0dXMuXG4gICAgY29uc3Qgc3RhdHVzUGFydCA9IHRhc2sgaW5zdGFuY2VvZiBNYXJrZG93blRhc2tJdGVtID8gYFske2Rlc2lyZWRTdGF0dXN9XWAgOiBcIlwiO1xuICAgIGxldCBpbml0aWFsU3BhY2luZyA9IC9eW1xccz5dKi91LmV4ZWMoZmlsZXRleHRbdGFzay4kbGluZV0pISFbMF07XG4gICAgbGV0IGNudCA9IDA7XG4gICAgaWYgKGRlc2lyZWRUZXh0KSB7XG4gICAgICAgIGxldCBkZXNpcmVkUGFydHMgPSBkZXNpcmVkVGV4dC5zcGxpdChcIlxcblwiKTtcblxuICAgICAgICBsZXQgbmV3VGV4dExpbmVzOiBzdHJpbmdbXSA9IFtgJHtpbml0aWFsU3BhY2luZ30ke3Rhc2suJHN5bWJvbH0gJHtzdGF0dXNQYXJ0fSAke2Rlc2lyZWRQYXJ0c1swXX1gXS5jb25jYXQoXG4gICAgICAgICAgICBkZXNpcmVkUGFydHMuc2xpY2UoMSkubWFwKChsKSA9PiBpbml0aWFsU3BhY2luZyArIFwiXFx0XCIgKyBsLnRyaW1TdGFydCgpKVxuICAgICAgICApO1xuXG4gICAgICAgIGZpbGV0ZXh0LnNwbGljZSh0YXNrLiRsaW5lLCB0YXNrLiR0ZXh0IS5zcGxpdChcIlxcblwiKS5sZW5ndGgsIC4uLm5ld1RleHRMaW5lcyk7XG4gICAgICAgIGNudCA9IG5ld1RleHRMaW5lcy5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZmlsZXRleHRbdGFzay4kbGluZV0gPSBgJHtpbml0aWFsU3BhY2luZ30ke3Rhc2suJHN5bWJvbH0gJHtzdGF0dXNQYXJ0fSAke3Rhc2tUZXh0UGFydHNbMF0udHJpbSgpfWA7XG4gICAgICAgIGNudCA9IDE7XG4gICAgfVxuXG4gICAgbGV0IG5ld1RleHQgPSBmaWxldGV4dC5qb2luKGhhc1JOID8gXCJcXHJcXG5cIiA6IFwiXFxuXCIpO1xuICAgIGNvbnNvbGUubG9nKFwiYmVmb3JlIG1vZGlmeVwiKTtcbiAgICB0cnkge1xuICAgICAgICBhd2FpdCB2YXVsdC5tb2RpZnkodGZpbGUsIG5ld1RleHQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICB9XG4gICAgY29uc29sZS5sb2codGFzay4kZmlsZSwgXCJcXG5cIiwgZmlsZXRleHQuc2xpY2UodGFzay4kcG9zaXRpb24uc3RhcnQsIHRhc2suJHBvc2l0aW9uLnN0YXJ0ICsgY250KS5qb2luKFwiXFxuXCIpKTtcbiAgICBpZiAodGZpbGUpIGNvcmUucmVsb2FkKHRmaWxlKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb21wbGV0ZVRhc2soY29tcGxldGVkOiBib29sZWFuLCB0YXNrOiBNYXJrZG93blRhc2tJdGVtLCB2YXVsdDogVmF1bHQsIGNvcmU6IERhdGFjb3JlKSB7XG4gICAgY29uc3QgdGFza3NUb0NvbXBsZXRlID0gW3Rhc2tdO1xuICAgIGlmIChjb3JlLnNldHRpbmdzLnJlY3Vyc2l2ZVRhc2tDb21wbGV0aW9uKSB7XG4gICAgICAgIGNvbnN0IGZvckVhY2ggPSAoeDogTWFya2Rvd25UYXNrSXRlbSB8IE1hcmtkb3duTGlzdEl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICh4IGluc3RhbmNlb2YgTWFya2Rvd25UYXNrSXRlbSkgdGFza3NUb0NvbXBsZXRlLnB1c2goeCk7XG4gICAgICAgICAgICB4LiRlbGVtZW50cy5mb3JFYWNoKGZvckVhY2gpO1xuICAgICAgICB9O1xuICAgICAgICB0YXNrLiRlbGVtZW50cy5mb3JFYWNoKGZvckVhY2gpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHQgb2YgdGFza3NUb0NvbXBsZXRlKSB7XG4gICAgICAgIGxldCBuZXdUZXh0ID0gc2V0VGFza0NvbXBsZXRpb24oXG4gICAgICAgICAgICB0LFxuICAgICAgICAgICAgdC4kdGV4dCEsXG4gICAgICAgICAgICBjb3JlLnNldHRpbmdzLnRhc2tDb21wbGV0aW9uVXNlRW1vamlTaG9ydGhhbmQsXG4gICAgICAgICAgICBjb3JlLnNldHRpbmdzLnRhc2tDb21wbGV0aW9uVGV4dCxcbiAgICAgICAgICAgIGNvcmUuc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQsXG4gICAgICAgICAgICBjb21wbGV0ZWRcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgcmV3cml0ZVRhc2sodmF1bHQsIGNvcmUsIHQsIGNvbXBsZXRlZCA/IFwieFwiIDogXCIgXCIsIG5ld1RleHQpO1xuICAgIH1cbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgaW5kZXhhYmxlc1xuICovXG4vKiogVXRpbGl0aWVzIGZvciBjb252ZXJ0aW5nIGxpdGVyYWwgdHlwZXMgdG8gYW5kIGZyb20gdGhlaXIgWUFNTCBmcm9udG1hdHRlciByZXByZXNlbnRhdGlvbi4gKi9cblxuaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBQUklNSVRJVkVTIH0gZnJvbSBcImV4cHJlc3Npb24vcGFyc2VyXCI7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgbWFwT2JqZWN0VmFsdWVzIH0gZnJvbSBcInV0aWxzL2RhdGFcIjtcblxuLyoqIFlBTUwtZnJpZW5kbHkgcmVwcmVzZW50YXRpb24gZm9yIGEgbGl0ZXJhbC4gKi9cbmV4cG9ydCB0eXBlIFlhbWxMaXRlcmFsID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgQXJyYXk8WWFtbExpdGVyYWw+O1xuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBZYW1sQ29udmVyc2lvbiB7XG4gICAgLyoqIENvbnZlcnQgYSBsaXRlcmFsIGludG8gYSB5YW1sIGZyaWVuZGx5IHJlcHJlc2VudGF0aW9uLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiB5YW1sKHZhbHVlOiBMaXRlcmFsKTogWWFtbExpdGVyYWwge1xuICAgICAgICBjb25zdCB3cmFwcGVkID0gTGl0ZXJhbHMud3JhcFZhbHVlKGxpdGVyYWwpO1xuICAgICAgICBpZiAoIXdyYXBwZWQpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgY2FzZSBcIm51bGxcIjpcbiAgICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm1hcCh5YW1sKTtcbiAgICAgICAgICAgIGNhc2UgXCJkYXRlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUudG9JU08oKTtcbiAgICAgICAgICAgIGNhc2UgXCJkdXJhdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLnRvSHVtYW4oKTtcbiAgICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgY2FzZSBcImxpbmtcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5tYXJrZG93bigpO1xuICAgICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBtYXBPYmplY3RWYWx1ZXMod3JhcHBlZC52YWx1ZSwgeWFtbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlbHkgY29udmVydCBhIFlBTUwgbGl0ZXJhbCBpbnRvIGEgcmVndWxhciBsaXRlcmFsIHZhbHVlLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBsaXRlcmFsKHZhbHVlOiBZYW1sTGl0ZXJhbCk6IExpdGVyYWwge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgdmFsdWUgYXMgQXJyYXk8YW55Pikge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChsaXRlcmFsKGNoaWxkKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGVQYXJzZSA9IERhdGVUaW1lLmZyb21KU0RhdGUodmFsdWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlUGFyc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBvYmplY3QgPSB2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIExpdGVyYWw+ID0ge307XG4gICAgICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIG9iamVjdCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IGxpdGVyYWwob2JqZWN0W2tleV0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgbGV0IGRhdGVQYXJzZSA9IFBSSU1JVElWRVMuZGF0ZS5wYXJzZSh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoZGF0ZVBhcnNlLnN0YXR1cykgcmV0dXJuIGRhdGVQYXJzZS52YWx1ZTtcblxuICAgICAgICAgICAgbGV0IGR1cmF0aW9uUGFyc2UgPSBQUklNSVRJVkVTLmR1cmF0aW9uLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChkdXJhdGlvblBhcnNlLnN0YXR1cykgcmV0dXJuIGR1cmF0aW9uUGFyc2UudmFsdWU7XG5cbiAgICAgICAgICAgIGxldCBsaW5rUGFyc2UgPSBQUklNSVRJVkVTLmxpbmsucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGxpbmtQYXJzZS5zdGF0dXMpIHJldHVybiBsaW5rUGFyc2UudmFsdWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJhY2t1cCBpZiB3ZSBkb24ndCB1bmRlcnN0YW5kIHRoZSB0eXBlLlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iLCAiLyoqIENlbnRyYWwgdXRpbGl0aWVzIGZvciBlZGl0aW5nIGZpZWxkcyBieSBzZXR0aW5nIG5ldyB2YWx1ZXMgaW4gZmlsZXMsIGFuZCB0cmFja2luZyBvdXRzdGFuZGluZyBlZGl0cy4gKi9cblxuaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcbmltcG9ydCB7IFByb3ZlbmFuY2UgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgTGl0ZXJhbCB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IHNldElubGluZUZpZWxkIH0gZnJvbSBcImluZGV4L2ltcG9ydC9pbmxpbmUtZmllbGRcIjtcbmltcG9ydCB7IFlhbWxDb252ZXJzaW9uIH0gZnJvbSBcImluZGV4L3R5cGVzL3lhbWxcIjtcbmltcG9ydCB7IEFwcCwgVEZpbGUgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IGxpbmVSZXBsYWNlIH0gZnJvbSBcInV0aWxzL25vcm1hbGl6ZXJzXCI7XG5cbi8qKiBFZGl0IGEgZmllbGQgYnkgaXQncyBwcm92ZW5hbmNlIChpLmUuLCBzb3VyY2UpOyByZXR1cm5zIGEgcHJvbWlzZSB3aGljaCBjYW4gYmUgYXdhaXRlZCB0byB3YWl0IGZvciB0aGUgZmlsZSB3cml0ZSB0byBjb21wbGV0ZS4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlZGl0UHJvdmVuYW5jZShhcHA6IEFwcCwgcHJvdmVuYW5jZTogUHJvdmVuYW5jZSwgdmFsdWU6IExpdGVyYWwpOiBQcm9taXNlPFJlc3VsdDxudWxsLCBzdHJpbmc+PiB7XG4gICAgY29uc3QgZmlsZSA9IGFwcC52YXVsdC5nZXRGaWxlQnlQYXRoKHByb3ZlbmFuY2UuZmlsZSk7XG4gICAgaWYgKCFmaWxlKSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYEZpbGUgd2l0aCBwYXRoICR7cHJvdmVuYW5jZS5maWxlfSBkb2VzIG5vdCBleGlzdC5gKTtcblxuICAgIC8vIFRPRE86IElmIHdlIGV2ZXIgc3VwcG9ydCBjdXN0b20gdHlwZXMsIHdlJ2xsIHdhbnQgdG8gY2hhbmdlIHRoaXMgc3dpdGNoIGludG8gc29tZSBraW5kIG9mIGR5bmFtaWMgbG9va3VwLlxuICAgIHN3aXRjaCAocHJvdmVuYW5jZS50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJmcm9udG1hdHRlclwiOlxuICAgICAgICAgICAgYXdhaXQgYXBwLmZpbGVNYW5hZ2VyLnByb2Nlc3NGcm9udE1hdHRlcihmaWxlLCAoZnJvbnRtYXR0ZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCAmJiBwcm92ZW5hbmNlLmtleSBpbiBmcm9udG1hdHRlcikge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgZnJvbnRtYXR0ZXJbcHJvdmVuYW5jZS5rZXldO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZyb250bWF0dGVyW3Byb3ZlbmFuY2Uua2V5XSA9IFlhbWxDb252ZXJzaW9uLnlhbWwodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhudWxsKTtcbiAgICAgICAgY2FzZSBcImlubGluZS1maWVsZFwiOlxuICAgICAgICAgICAgcmV0dXJuIGVkaXRJbmxpbmVGaWVsZChhcHAsIGZpbGUsIHByb3ZlbmFuY2UubGluZSwgcHJvdmVuYW5jZS5rZXksIHZhbHVlKTtcbiAgICB9XG59XG5cbi8qKiBDb21wbGV0ZSB3b3JrZmxvdyBmb3IgZWRpdGluZyBhbiBpbmxpbmUgZmllbGQuICAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVkaXRJbmxpbmVGaWVsZChcbiAgICBhcHA6IEFwcCxcbiAgICBmaWxlOiBURmlsZSxcbiAgICBsaW5lOiBudW1iZXIsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IExpdGVyYWxcbik6IFByb21pc2U8UmVzdWx0PG51bGwsIHN0cmluZz4+IHtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQoZmlsZSk7XG4gICAgaWYgKCFjb250ZW50KSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYEZpbGUgd2l0aCBwYXRoICR7ZmlsZS5wYXRofSBkb2VzIG5vdCBleGlzdC5gKTtcblxuICAgIC8vIEZpbmQgdGhlIGV4dGVudCBvZiB0aGUgZ2l2ZW4gbGluZSAoMC1pbmRleGVkKSwgZXh0cmFjdCBpdCBhbmQgdXBkYXRlLlxuICAgIGNvbnN0IHVwZGF0ZWQgPSBsaW5lUmVwbGFjZShjb250ZW50LCBsaW5lLCBsaW5lICsgMSwgKGxpbmUpID0+IHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBzdHJpbmdpZi1pY2F0aW9uIG9mIHRoZSB2YWx1ZSBpcyBub3QgY29ycmVjdCBhbmQgd2lsbCBub3Qgd29ya1xuICAgICAgICAvLyBmb3IgYXJyYXlzIG9yIG9iamVjdHMsIGJ1dCB3aWxsIHNlcnZlIHB1cnBvc2UgZm9yIG5vdy4uLlxuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuIHNldElubGluZUZpZWxkKGxpbmUsIGtleSwgdW5kZWZpbmVkKTtcbiAgICAgICAgZWxzZSByZXR1cm4gc2V0SW5saW5lRmllbGQobGluZSwga2V5LCBcIlwiICsgWWFtbENvbnZlcnNpb24ueWFtbCh2YWx1ZSkpO1xuICAgIH0pO1xuXG4gICAgaWYgKHVwZGF0ZWQgPT0gY29udGVudCkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKG51bGwpO1xuXG4gICAgYXdhaXQgYXBwLnZhdWx0Lm1vZGlmeShmaWxlLCB1cGRhdGVkKTtcbiAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobnVsbCk7XG59XG4iLCAiaW1wb3J0IHsgRmllbGQgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgTGl0ZXJhbCB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IHNldElubGluZUZpZWxkIH0gZnJvbSBcImluZGV4L2ltcG9ydC9pbmxpbmUtZmllbGRcIjtcbmltcG9ydCB7IE1hcmtkb3duVGFza0l0ZW0gfSBmcm9tIFwiaW5kZXgvdHlwZXMvbWFya2Rvd25cIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0IH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgQVBQX0NPTlRFWFQgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IHJld3JpdGVUYXNrIH0gZnJvbSBcIi4vdGFza1wiO1xuaW1wb3J0IHsgRWRpdGFibGVBY3Rpb24gfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgZWRpdFByb3ZlbmFuY2UgfSBmcm9tIFwiaW5kZXgvZWRpdC9maWVsZFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlU2V0RmllbGQ8VCBleHRlbmRzIExpdGVyYWw+KGZpZWxkOiBGaWVsZCwgb25DaGFuZ2U/OiAobmV3VmFsdWU6IFQpID0+IHZvaWQpIHtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcbiAgICByZXR1cm4gdXNlQ2FsbGJhY2soXG4gICAgICAgIChuZXdWYWx1ZTogVCkgPT4ge1xuICAgICAgICAgICAgZWRpdFByb3ZlbmFuY2UoYXBwLCBmaWVsZC5wcm92ZW5hbmNlISwgbmV3VmFsdWUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtmaWVsZCwgb25DaGFuZ2VdXG4gICAgKTtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRUYXNrVGV4dChhcHA6IEFwcCwgY29yZTogRGF0YWNvcmUsIHRleHQ6IHN0cmluZywgaXRlbTogTWFya2Rvd25UYXNrSXRlbSkge1xuICAgIGxldCB3aXRoRmllbGRzID0gYCR7dGV4dH0ke09iamVjdC5rZXlzKGl0ZW0uJGluZmllbGRzKS5sZW5ndGggPyBcIiBcIiA6IFwiXCJ9YDtcbiAgICBmb3IgKGxldCBmaWVsZCBpbiBpdGVtLiRpbmZpZWxkcykge1xuICAgICAgICB3aXRoRmllbGRzID0gc2V0SW5saW5lRmllbGQod2l0aEZpZWxkcywgZmllbGQsIGl0ZW0uJGluZmllbGRzW2ZpZWxkXS5yYXcpO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZyhcImJlZm9yZVwiKTtcbiAgICBhd2FpdCByZXdyaXRlVGFzayhhcHAudmF1bHQsIGNvcmUsIGl0ZW0sIGl0ZW0uJHN0YXR1cywgd2l0aEZpZWxkcyk7XG4gICAgY29uc29sZS5sb2coXCJuZXcgdGV4dFwiLCB3aXRoRmllbGRzKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGaW5hbGl6ZXI8VD4obmV3VmFsdWU6IFQsIGRpc3BhdGNoOiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxUPj4pIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLFxuICAgICAgICAgICAgbmV3VmFsdWU6IG5ld1ZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogXCJlZGl0aW5nLXRvZ2dsZWRcIixcbiAgICAgICAgICAgIG5ld1ZhbHVlOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgdWlcbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgRnJhZ21lbnQsIFZOb2RlIH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIFJlZHVjZXIsIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IENoYW5nZUV2ZW50LCB1c2VSZWR1Y2VyIH0gZnJvbSBcInByZWFjdC9jb21wYXRcIjtcbmltcG9ydCBTZWxlY3QsIHsgQWN0aW9uTWV0YSB9IGZyb20gXCJyZWFjdC1zZWxlY3RcIjtcbmltcG9ydCB7IHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSBcIi4uL2hvb2tzXCI7XG5pbXBvcnQgeyBDVVJSRU5UX0ZJTEVfQ09OVEVYVCwgTGl0LCBNYXJrZG93biwgU0VUVElOR1NfQ09OVEVYVCB9IGZyb20gXCIuLi9tYXJrZG93blwiO1xuaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbFR5cGUsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IEJhc2VGaWVsZFByb3BzLCBGaWVsZENvbnRyb2xQcm9wcyB9IGZyb20gXCIuL2NvbW1vbi1wcm9wc1wiO1xuaW1wb3J0IHsgTWFya2Rvd25MaXN0SXRlbSwgTWFya2Rvd25UYXNrSXRlbSB9IGZyb20gXCJpbmRleC90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgQm9vbGVhbkVkaXRhYmxlIH0gZnJvbSBcIi4vYm9vbGVhbi1maWVsZFwiO1xuaW1wb3J0IHsgUHJvZ3Jlc3NFZGl0YWJsZSB9IGZyb20gXCIuL3Byb2dyZXNzLWZpZWxkXCI7XG5pbXBvcnQgeyBSYXRpbmdFZGl0YWJsZSB9IGZyb20gXCIuL3JhdGluZ1wiO1xuaW1wb3J0IHsgdXNlRmluYWxpemVyIH0gZnJvbSBcInV0aWxzL2ZpZWxkc1wiO1xuXG5pbXBvcnQgXCIuL2ZpZWxkcy5jc3NcIjtcblxuLyoqIENvcmUgc3RhdGUgZm9yIHRyYWNraW5nIGFuIGVkaXRhYmxlIG9iamVjdC5cbiAqIEBncm91cCBTdGF0ZXNcbiAqIEB0eXBlUGFyYW0gVCAtIHRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBiZWluZyBlZGl0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGl0YWJsZVN0YXRlPFQ+IHtcbiAgICAvKiogV2hldGhlciB0aGUgdmFsdWUgaXMgY3VycmVudGx5IGJlaW5nIGVkaXRlZC4gKi9cbiAgICBpc0VkaXRpbmc/OiBib29sZWFuO1xuICAgIC8qKiBUaGUgY3VycmVudCAoYXJiaXRyYXJ5KSBjb250ZW50IG9mIHRoZSBlZGl0YWJsZS4gKi9cbiAgICBjb250ZW50OiBUO1xuICAgIC8qKiBDYWxsYmFjayB3aGVuZXZlciB0aGUgZWRpdGFibGUgdmFsdWUgaXMgY2hhbmdlZC4gKi9cbiAgICB1cGRhdGVyOiAodmFsOiBUKSA9PiB1bmtub3duO1xuICAgIC8qKiBXaGV0aGVyIHRoZSBlZGl0b3IgaXMgYmVpbmcgcmVuZGVyZWQgaW5saW5lIGluIGEgcGFyYWdyYXBoIG9yIG5vdC4gKi9cbiAgICBpbmxpbmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBncm91cCBQcm9wc1xuICogQHR5cGVQYXJhbSBUIC0gdGhlIHR5cGUgb2YgdGhlIHZhbHVlIGJlaW5nIGVkaXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRhYmxlUHJvcHM8VD4ge1xuICAgIC8qKiBTb3VyY2UgZmlsZSBmcm9tIHdoaWNoIHRoZSBlZGl0YWJsZSB2YWx1ZSBvcmlnaW5hdGVzLiAqL1xuICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG4gICAgLyoqIEJhY2t1cCBkZWZhdWx0IHJlbmRlcmVyIGZvciB0aGlzIG9iamVjdC4gKi9cbiAgICBkZWZhdWx0UmVuZGVyPzogVk5vZGU7XG4gICAgLyoqIE5vZGUgd2hpY2ggcG9pbnRzIHRvIHRoZSBhY3R1YWwgZWRpdG9yLiAqL1xuICAgIGVkaXRvcjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIC8qKiBEaXNwYXRjaGVyIGZvciBjb250cm9sbGluZyB0aGUgZWRpdCBzdGF0ZSwgdHJhY2tpbmcgdXBkYXRlcywgY29tbWl0cywgYW5kIHNvIG9uLiAqL1xuICAgIGRpc3BhdGNoOiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxUPj47XG4gICAgLyoqIFRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBlZGl0b3IuICovXG4gICAgc3RhdGU6IEVkaXRhYmxlU3RhdGU8VD47XG59XG5cbnR5cGUgRWRpdGFibGVFbGVtZW50UHJvcHM8VCwgUD4gPSBFZGl0YWJsZVN0YXRlPFQ+ICYgUDtcbmV4cG9ydCB0eXBlIEVkaXRhYmxlRWxlbWVudDxULCBQID0gYW55PiA9IENvbXBvbmVudFR5cGU8RWRpdGFibGVFbGVtZW50UHJvcHM8VCwgUD4gJiBQPjtcblxuLyoqXG4gKiAgQWN0aW9ucyB3aGljaCB1cGRhdGUvY2hhbmdlIHRoZSBzdGF0ZSBvZiBhbiBlZGl0YWJsZS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqICovXG5leHBvcnQgdHlwZSBFZGl0YWJsZUFjdGlvbjxUPiA9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogXCJjb21taXRcIjtcbiAgICAgICAgICAvLyBvbGRWYWx1ZTogYW55LFxuICAgICAgICAgIG5ld1ZhbHVlOiBUO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICAgIHR5cGU6IFwiZWRpdGluZy10b2dnbGVkXCI7XG4gICAgICAgICAgbmV3VmFsdWU6IGJvb2xlYW47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIjtcbiAgICAgICAgICBuZXdWYWx1ZTogVDtcbiAgICAgIH07XG5cbi8qKiBEZWZhdWx0IHJlZHVjZXIgZm9yIGFwcGx5aW5nIGFjdGlvbnMgdG8gdGhlIGVkaXRhYmxlIHN0YXRlLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdGFibGVSZWR1Y2VyPFQ+KFxuICAgIHsgY29udGVudCwgdXBkYXRlciwgLi4ucmVzdCB9OiBFZGl0YWJsZVN0YXRlPFQ+LFxuICAgIGFjdGlvbjogRWRpdGFibGVBY3Rpb248VD5cbik6IEVkaXRhYmxlU3RhdGU8VD4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBcImNvbW1pdFwiOlxuICAgICAgICAgICAgdXBkYXRlcihhY3Rpb24ubmV3VmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucmVzdCwgdXBkYXRlciwgY29udGVudDogYWN0aW9uLm5ld1ZhbHVlIH07XG4gICAgICAgIGNhc2UgXCJlZGl0aW5nLXRvZ2dsZWRcIjpcbiAgICAgICAgICAgICFhY3Rpb24ubmV3VmFsdWUgJiYgdXBkYXRlcihjb250ZW50KTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnJlc3QsIHVwZGF0ZXIsIGNvbnRlbnQsIGlzRWRpdGluZzogYWN0aW9uLm5ld1ZhbHVlIH07XG4gICAgICAgIGNhc2UgXCJjb250ZW50LWNoYW5nZWRcIjpcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnJlc3QsIHVwZGF0ZXIsIGNvbnRlbnQ6IGFjdGlvbi5uZXdWYWx1ZSB9O1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHsgY29udGVudCwgdXBkYXRlciwgLi4ucmVzdCB9O1xuICAgIH1cbn1cblxuLyoqIFByb3ZpZGVzIHN0YXRlIG1hbmFnZW1lbnQgZm9yIGFuIGVkaXRhYmxlIGZpZWxkLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VFZGl0YWJsZURpc3BhdGNoPFQ+KFxuICAgIGluaXRpYWw6IEVkaXRhYmxlU3RhdGU8VD4gfCAoKCkgPT4gRWRpdGFibGVTdGF0ZTxUPilcbik6IFtFZGl0YWJsZVN0YXRlPFQ+LCBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxUPj5dIHtcbiAgICBjb25zdCBpbml0ID0gdXNlTWVtbygoKSA9PiAodHlwZW9mIGluaXRpYWwgPT0gXCJmdW5jdGlvblwiID8gaW5pdGlhbCgpIDogaW5pdGlhbCksIFtpbml0aWFsXSk7XG4gICAgcmV0dXJuIHVzZVJlZHVjZXIoZWRpdGFibGVSZWR1Y2VyIGFzIFJlZHVjZXI8RWRpdGFibGVTdGF0ZTxUPiwgRWRpdGFibGVBY3Rpb248VD4+LCBpbml0LCAocykgPT4gaW5pdCk7XG59XG4vKipcbiAqIGEgaGlnaGVyLW9yZGVyLWNvbXBvbmVudCBmb3IgZWRpdGluZyBmaWVsZHMuXG4gKiBAcGFyYW0gcHJvcHNcbiAqIEBncm91cCBFZGl0YWJsZSBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFZGl0YWJsZTxUPih7IHNvdXJjZVBhdGgsIGRlZmF1bHRSZW5kZXIsIGVkaXRvciwgZGlzcGF0Y2gsIHN0YXRlIH06IEVkaXRhYmxlUHJvcHM8VD4pIHtcbiAgICBjb25zdCBjdXJyZW50UmVmID0gdXNlUmVmKG51bGwpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoc3RhdGUuaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gZWRpdG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRlZmF1bHRSZW5kZXIpIHJldHVybiBkZWZhdWx0UmVuZGVyO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gPExpdCB2YWx1ZT17c3RhdGUuY29udGVudCBhcyBMaXRlcmFsfSBpbmxpbmU9e3RydWV9IHNvdXJjZVBhdGg9XCJcIiAvPjtcbiAgICAgICAgfVxuICAgIH0sIFtzdGF0ZS5pc0VkaXRpbmcsIHN0YXRlLmNvbnRlbnQsIHNvdXJjZVBhdGgsIGRlZmF1bHRSZW5kZXJdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoICYmIGRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWU6IHN0YXRlLmNvbnRlbnQgfSk7XG4gICAgfSwgW3N0YXRlLmNvbnRlbnQsIHN0YXRlLmlzRWRpdGluZ10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGF0YWNvcmUtZWRpdGFibGUtb3V0ZXJcIiByZWY9e2N1cnJlbnRSZWZ9PlxuICAgICAgICAgICAge2VsZW1lbnR9XG4gICAgICAgIDwvc3Bhbj5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlZEVkaXRhYmxlPFQsIFAgPSB1bmtub3duPih7XG4gICAgZGVmYXVsdFJlbmRlcixcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICBvblVwZGF0ZSxcbiAgICBjb250ZW50LFxuICAgIHByb3BzLFxuICAgIHNvdXJjZVBhdGgsXG59OiBPbWl0PEVkaXRhYmxlUHJvcHM8VD4sIFwiZGlzcGF0Y2hcIiB8IFwic3RhdGVcIiB8IFwiZWRpdG9yXCI+ICYge1xuICAgIG9uVXBkYXRlOiAodjogVCkgPT4gdW5rbm93bjtcbiAgICBjb250ZW50OiBUO1xuICAgIGVkaXRvcjogRWRpdGFibGVFbGVtZW50PFQsIFA+O1xuICAgIHByb3BzOiBQO1xuICAgIHNvdXJjZVBhdGg6IHN0cmluZztcbn0pIHtcbiAgICBjb25zdCBbc3RhdGUsIGRpc3BhdGNoXSA9IHVzZUVkaXRhYmxlRGlzcGF0Y2g8VD4oKCkgPT4gKHtcbiAgICAgICAgdXBkYXRlcjogb25VcGRhdGUsXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGlubGluZTogZmFsc2UsXG4gICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgfSkpO1xuICAgIGNvbnN0IGVkaXRvciA9IDxFZGl0b3IgZGlzcGF0Y2g9e2Rpc3BhdGNofSB7Li4ucHJvcHN9IHsuLi5zdGF0ZX0gLz47XG4gICAgcmV0dXJuIDxFZGl0YWJsZTxUPiBkaXNwYXRjaD17ZGlzcGF0Y2h9IGVkaXRvcj17ZWRpdG9yfSBzb3VyY2VQYXRoPXtzb3VyY2VQYXRofSBzdGF0ZT17c3RhdGV9IC8+O1xufVxuXG4vKiogQSBzaW5nbGUgc2VsZWN0YWJsZSB2YWx1ZS5cbiAqL1xudHlwZSBTZWxlY3RhYmxlQmFzZSA9IHN0cmluZyB8IG51bWJlcjtcbi8qKiBBIHR5cGUgZm9yIGVpdGhlciBtdWx0aS0gb3Igc2luZ2xlLXNlbGVjdCB2YWx1ZXMuICovXG50eXBlIFNlbGVjdGFibGVUeXBlID0gU2VsZWN0YWJsZUJhc2UgfCBTZWxlY3RhYmxlQmFzZVtdO1xuXG4vKiogRWRpdGFibGUgd2hpY2ggYWxsb3dzIGZvciBzZWxlY3Rpb24gZnJvbSBhIGxpc3Qgb2Ygb3B0aW9ucy5cbiAqIEBncm91cCBFZGl0YWJsZSBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RhYmxlRWRpdGFibGUoe1xuICAgIGlzRWRpdGluZyxcbiAgICBjb250ZW50LFxuICAgIHVwZGF0ZXIsXG4gICAgY29uZmlnLFxuICAgIGRpc3BhdGNoLFxufTogRWRpdGFibGVTdGF0ZTxTZWxlY3RhYmxlVHlwZT4gJlxuICAgIEJhc2VGaWVsZFByb3BzPFNlbGVjdGFibGVUeXBlPiAmIHtcbiAgICAgICAgZGlzcGF0Y2g6IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPFNlbGVjdGFibGVUeXBlPj47XG4gICAgfSkge1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIChuZXdWYWx1ZTogYW55LCBhY3Rpb25NZXRhOiBBY3Rpb25NZXRhPFNlbGVjdGFibGVUeXBlPikgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLFxuICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZTogbmV3VmFsdWUubWFwKCh4KSA9PiB4LnZhbHVlKSBhcyBTZWxlY3RhYmxlVHlwZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLFxuICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZTogbmV3VmFsdWUudmFsdWUgYXMgU2VsZWN0YWJsZVR5cGUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtjb25maWcsIGNvbnRlbnQsIHVwZGF0ZXIsIGlzRWRpdGluZ11cbiAgICApO1xuXG4gICAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PVwiZGF0YWNvcmUtc2VsZWN0YWJsZVwiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICAgIHVuc3R5bGVkXG4gICAgICAgICAgICAgICAgaXNNdWx0aT17Y29uZmlnPy5tdWx0aSA/PyBmYWxzZX1cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtjb25maWc/Lm9wdGlvbnMgPz8gW119XG4gICAgICAgICAgICAgICAgbWVudVBvcnRhbFRhcmdldD17ZG9jdW1lbnQuYm9keX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZz8ub3B0aW9ucy5maWx0ZXIoKHg6IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICgoQXJyYXkuaXNBcnJheShjb250ZW50KSA/IGNvbnRlbnQgOiBbY29udGVudF0pIGFzIGFueVtdKS5jb250YWlucyh4LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICApIHx8IFtdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM9e3tcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IChwcm9wczogYW55KSA9PiBcInByb21wdC1pbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZUNvbnRhaW5lcjogKHByb3BzOiBhbnkpID0+IFwic3VnZ2VzdGlvbi1pdGVtIHZhbHVlLWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXI6IChwcm9wczogYW55KSA9PiBcInN1Z2dlc3Rpb24tY29udGFpbmVyXCIsXG4gICAgICAgICAgICAgICAgICAgIG1lbnU6IChwcm9wczogYW55KSA9PiBcInN1Z2dlc3Rpb24tY29udGVudCBzdWdnZXN0aW9uLWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb246IChwcm9wczogYW55KSA9PiBgc3VnZ2VzdGlvbi1pdGVtJHtwcm9wcy5pc1NlbGVjdGVkID8gXCIgaXMtc2VsZWN0ZWRcIiA6IFwiXCJ9YCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9LCBbY29udGVudCwgdXBkYXRlciwgaXNFZGl0aW5nLCBjb25maWddKTtcblxuICAgIHJldHVybiA8RWRpdGFibGUgZWRpdG9yPXtlZGl0b3J9IGRpc3BhdGNoPXtkaXNwYXRjaH0gc3RhdGU9e3sgaXNFZGl0aW5nLCBjb250ZW50LCB1cGRhdGVyIH19IC8+O1xufVxuXG4vKiogRWRpdGFibGUgd2hpY2ggYWxsb3dzIGZvciBzZWxlY3RpbmcgYSBkYXRlLlxuICogQGdyb3VwIEVkaXRhYmxlIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERhdGVFZGl0YWJsZSh7XG4gICAgZGlzcGF0Y2gsXG4gICAgc291cmNlUGF0aCxcbiAgICAuLi5yZXN0XG59OiBFZGl0YWJsZVN0YXRlPERhdGVUaW1lIHwgc3RyaW5nIHwgbnVsbD4gJiB7XG4gICAgc291cmNlUGF0aDogc3RyaW5nO1xuICAgIGRpc3BhdGNoOiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxEYXRlVGltZSB8IHN0cmluZyB8IG51bGw+Pjtcbn0pIHtcbiAgICAvKiogdGhlIGV4dHJhIGRpc3BhdGNoIGlzIF9qdXN0XyBpbiBjYXNlLi4uICovXG4gICAgY29uc3QgW3N0YXRlLCBvXSA9IHVzZUVkaXRhYmxlRGlzcGF0Y2g8RGF0ZVRpbWUgfCBzdHJpbmcgfCBudWxsPigoKSA9PiAoe1xuICAgICAgICBpc0VkaXRpbmc6IHJlc3QuaXNFZGl0aW5nLFxuICAgICAgICBjb250ZW50OiByZXN0LmNvbnRlbnQsXG4gICAgICAgIHVwZGF0ZXI6IHJlc3QudXBkYXRlcixcbiAgICAgICAgaW5saW5lOiByZXN0LmlubGluZSA/PyBmYWxzZSxcbiAgICB9KSk7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB1c2VDb250ZXh0KFNFVFRJTkdTX0NPTlRFWFQpO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSAoZXZ0OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICBsZXQgdiA9IG5ldyBEYXRlKERhdGUucGFyc2UoZXZ0LmN1cnJlbnRUYXJnZXQudmFsdWUpKTtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIixcbiAgICAgICAgICAgIG5ld1ZhbHVlOiAhIXYgPyBEYXRlVGltZS5mcm9tSlNEYXRlKHYpLnRvRm9ybWF0KHNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0KSA6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBcImNvbW1pdFwiLFxuICAgICAgICAgICAgbmV3VmFsdWU6ICEhdiA/IERhdGVUaW1lLmZyb21KU0RhdGUodikudG9Gb3JtYXQoc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQpIDogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIG8oe1xuICAgICAgICAgICAgdHlwZTogXCJjb21taXRcIixcbiAgICAgICAgICAgIG5ld1ZhbHVlOiAhIXYgPyBEYXRlVGltZS5mcm9tSlNEYXRlKHYpLnRvRm9ybWF0KHNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0KSA6IG51bGwsXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBqc0RhdGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlLmNvbnRlbnQgaW5zdGFuY2VvZiBEYXRlVGltZVxuICAgICAgICAgICAgPyBzdGF0ZS5jb250ZW50XG4gICAgICAgICAgICA6IHR5cGVvZiBzdGF0ZS5jb250ZW50ID09IFwic3RyaW5nXCIgJiYgISFzdGF0ZS5jb250ZW50XG4gICAgICAgICAgICA/IERhdGVUaW1lLmZyb21KU0RhdGUobmV3IERhdGUoRGF0ZS5wYXJzZShzdGF0ZS5jb250ZW50KSkpXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfSwgW3N0YXRlLmNvbnRlbnRdKTtcblxuICAgIGNvbnN0IGVkaXRvck5vZGUgPSA8aW5wdXQgdHlwZT1cImRhdGVcIiBvbkNoYW5nZT17b25DaGFuZ2V9IHZhbHVlPXtqc0RhdGU/LnRvRm9ybWF0KFwieXl5eS1NTS1kZFwiKX0gLz47XG4gICAgcmV0dXJuIDxFZGl0YWJsZTxEYXRlVGltZSB8IHN0cmluZyB8IG51bGw+IGRpc3BhdGNoPXtkaXNwYXRjaH0gc3RhdGU9e3Jlc3R9IGVkaXRvcj17ZWRpdG9yTm9kZX0gLz47XG59XG5cbi8qKiBBbiBlZGl0b3Igd2hpY2ggYWxsb3dzIHNlbGVjdGluZyBhIG51bW5lcmljIHZhbHVlLlxuICogQGdyb3VwIEVkaXRhYmxlIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIE51bWJlckVkaXRhYmxlKHByb3BzOiBFZGl0YWJsZVN0YXRlPG51bWJlcj4pIHtcbiAgICBjb25zdCBjZmMgPSB1c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcblxuICAgIGNvbnN0IFtzdGF0ZSwgZGlzcGF0Y2hdID0gdXNlRWRpdGFibGVEaXNwYXRjaDxudW1iZXI+KCgpID0+ICh7XG4gICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgIGNvbnRlbnQ6IHByb3BzLmNvbnRlbnQsXG4gICAgICAgIHVwZGF0ZXI6IHByb3BzLnVwZGF0ZXIsXG4gICAgICAgIGlubGluZTogdHJ1ZSxcbiAgICB9KSk7XG4gICAgY29uc3QgdmFsdWUgPSB1c2VSZWYocHJvcHMuY29udGVudCk7XG5cbiAgICBjb25zdCBvbkNoYW5nZUNiID0gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jIChldnQ6IENoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICB2YWx1ZS5jdXJyZW50ID0gcGFyc2VGbG9hdCgoZXZ0LmN1cnJlbnRUYXJnZXQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBbdmFsdWUuY3VycmVudCwgc3RhdGUuY29udGVudCwgc3RhdGUudXBkYXRlciwgc3RhdGUuaXNFZGl0aW5nXVxuICAgICk7XG5cbiAgICBjb25zdCBmaW5hbGl6ZSA9IHVzZUZpbmFsaXplcih2YWx1ZS5jdXJyZW50LCBkaXNwYXRjaCk7XG4gICAgY29uc3Qgb25JbnB1dCA9IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICBhc3luYyAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBmaW5hbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbdmFsdWUuY3VycmVudCwgc3RhdGUudXBkYXRlciwgc3RhdGUuY29udGVudCwgc3RhdGUuaXNFZGl0aW5nXVxuICAgICk7XG5cbiAgICBjb25zdCBkYmxDbGljayA9IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiZWRpdGluZy10b2dnbGVkXCIsXG4gICAgICAgICAgICAgICAgbmV3VmFsdWU6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgW3ZhbHVlLmN1cnJlbnQsIHN0YXRlLnVwZGF0ZXIsIHN0YXRlLmlzRWRpdGluZywgc3RhdGUuY29udGVudF1cbiAgICApO1xuXG4gICAgY29uc3QgcmVhZG9ubHlFbCA9IDxMaXQgaW5saW5lPXtmYWxzZX0gc291cmNlUGF0aD17Y2ZjfSB2YWx1ZT17dmFsdWUuY3VycmVudCBhcyBMaXRlcmFsfSAvPjtcbiAgICBjb25zdCBlZGl0b3IgPSA8aW5wdXQgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZWRpdGFibGVcIiB0eXBlPVwibnVtYmVyXCIgb25DaGFuZ2U9e29uQ2hhbmdlQ2J9IG9uS2V5VXA9e29uSW5wdXR9IC8+O1xuICAgIHJldHVybiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImhhcy10ZXh0ZWRpdGFibGVcIiBvbkRibENsaWNrPXtkYmxDbGlja30+XG4gICAgICAgICAgICA8RWRpdGFibGU8bnVtYmVyPiBkaXNwYXRjaD17ZGlzcGF0Y2h9IGVkaXRvcj17ZWRpdG9yfSBkZWZhdWx0UmVuZGVyPXtyZWFkb25seUVsfSBzdGF0ZT17c3RhdGV9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICApO1xufVxuXG4vKiogRWRpdG9yIHdoaWNoIHN1cHBvcnRzIG11bHRpLWxpbmUgdGV4dCBlZGl0aW5nOyBub3RlIHRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBpbnB1dCBhbmQgZG9lcyBub3Qgc3VwcG9ydCBtb3N0IG1hcmtkb3duIG1ldGFkYXRhLlxuICogQGdyb3VwIEVkaXRhYmxlIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRleHRFZGl0YWJsZShwcm9wczogRWRpdGFibGVTdGF0ZTxzdHJpbmc+ICYgeyBtYXJrZG93bj86IGJvb2xlYW47IHNvdXJjZVBhdGg6IHN0cmluZyB9KSB7XG4gICAgY29uc3QgY2ZjID0gdXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgY29uc3QgW3N0YXRlLCBkaXNwYXRjaF0gPSB1c2VFZGl0YWJsZURpc3BhdGNoPHN0cmluZz4oKCkgPT4gKHtcbiAgICAgICAgaXNFZGl0aW5nOiBwcm9wcy5pc0VkaXRpbmcsXG4gICAgICAgIGNvbnRlbnQ6IHByb3BzLmNvbnRlbnQsXG4gICAgICAgIHVwZGF0ZXI6IHByb3BzLnVwZGF0ZXIsXG4gICAgICAgIGlubGluZTogcHJvcHMuaW5saW5lID8/IGZhbHNlLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHRleHQgPSB1c2VSZWYocHJvcHMuY29udGVudCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdGV4dC5jdXJyZW50ID0gc3RhdGUuY29udGVudDtcbiAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLCBuZXdWYWx1ZTogc3RhdGUuY29udGVudCB9KTtcbiAgICB9LCBbcHJvcHMuY29udGVudCwgc3RhdGUuY29udGVudF0pO1xuXG4gICAgY29uc3Qgb25JbnB1dCA9IGFzeW5jIChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbmFsaXplID0gdXNlRmluYWxpemVyKHN0YXRlLmNvbnRlbnQsIGRpc3BhdGNoKTtcbiAgICAgICAgaWYgKHByb3BzLmlubGluZSkge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBmaW5hbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIgJiYgZS5jdHJsS2V5KSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGF3YWl0IGZpbmFsaXplKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgZGJsQ2xpY2sgPSB1c2VTdGFibGVDYWxsYmFjayhcbiAgICAgICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImVkaXRpbmctdG9nZ2xlZFwiLFxuICAgICAgICAgICAgICAgIG5ld1ZhbHVlOiAhc3RhdGUuaXNFZGl0aW5nLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFt0ZXh0LmN1cnJlbnQsIHByb3BzLnNvdXJjZVBhdGgsIHN0YXRlLnVwZGF0ZXIsIHN0YXRlLmlzRWRpdGluZywgc3RhdGUuY29udGVudF1cbiAgICApO1xuICAgIGNvbnN0IHJlYWRvbmx5RWwgPSAoXG4gICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIHtwcm9wcy5tYXJrZG93biA/IChcbiAgICAgICAgICAgICAgICA8TWFya2Rvd24gY29udGVudD17dGV4dC5jdXJyZW50IGFzIHN0cmluZ30gc291cmNlUGF0aD17cHJvcHMuc291cmNlUGF0aCB8fCBjZmN9IGlubGluZT17ZmFsc2V9IC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxMaXQgaW5saW5lPXtmYWxzZX0gc291cmNlUGF0aD17cHJvcHMuc291cmNlUGF0aCB8fCBjZmN9IHZhbHVlPXt0ZXh0LmN1cnJlbnQgYXMgTGl0ZXJhbH0gLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgKTtcbiAgICBjb25zdCBlZGl0b3IgPSAoXG4gICAgICAgIDxVbmNvbnRyb2xsZWRUZXh0RWRpdGFibGVcbiAgICAgICAgICAgIHRvZ2dsZXI9e2RibENsaWNrfVxuICAgICAgICAgICAgb25JbnB1dD17b25JbnB1dH1cbiAgICAgICAgICAgIGlubGluZT17cHJvcHMuaW5saW5lfVxuICAgICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgICAgdGV4dD17dGV4dC5jdXJyZW50fVxuICAgICAgICAvPlxuICAgICk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaGFzLXRleHRlZGl0YWJsZVwiIG9uRGJsQ2xpY2s9e2RibENsaWNrfT5cbiAgICAgICAgICAgIDxFZGl0YWJsZTxzdHJpbmc+IGRpc3BhdGNoPXtkaXNwYXRjaH0gZWRpdG9yPXtlZGl0b3J9IGRlZmF1bHRSZW5kZXI9e3JlYWRvbmx5RWx9IHN0YXRlPXtzdGF0ZX0gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBVbmNvbnRyb2xsZWRUZXh0RWRpdGFibGUoe1xuICAgIGlubGluZSxcbiAgICB0ZXh0LFxuICAgIGRpc3BhdGNoLFxuICAgIG9uSW5wdXQsXG4gICAgdG9nZ2xlcixcbn06IHtcbiAgICBpbmxpbmU/OiBib29sZWFuO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBkaXNwYXRjaD86IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPHN0cmluZz4+O1xuICAgIG9uSW5wdXQ/OiAoZTogS2V5Ym9hcmRFdmVudCkgPT4gdW5rbm93bjtcbiAgICB0b2dnbGVyPzogKGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG59KSB7XG4gICAgY29uc3QgW3R4dCwgc2V0VGV4dF0gPSB1c2VTdGF0ZSh0ZXh0KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkaXNwYXRjaCAmJiBkaXNwYXRjaCh7IG5ld1ZhbHVlOiB0eHQsIHR5cGU6IFwiY29udGVudC1jaGFuZ2VkXCIgfSk7XG4gICAgfSwgW3R4dF0pO1xuICAgIGNvbnN0IG9uQ2hhbmdlQ2IgPSB1c2VTdGFibGVDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGV2dDogQ2hhbmdlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHNldFRleHQoKGV2dC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQpLnZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgW3RleHQsIGRpc3BhdGNoXVxuICAgICk7XG5cbiAgICByZXR1cm4gIWlubGluZSA/IChcbiAgICAgICAgPHRleHRhcmVhIG9uRGJsQ2xpY2s9e3RvZ2dsZXJ9IGNsYXNzTmFtZT1cImRhdGFjb3JlLWVkaXRhYmxlXCIgb25DaGFuZ2U9e29uQ2hhbmdlQ2J9IG9uS2V5VXA9e29uSW5wdXR9PlxuICAgICAgICAgICAge3R4dH1cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICApIDogKFxuICAgICAgICA8aW5wdXQgb25EYmxDbGljaz17dG9nZ2xlcn0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtZWRpdGFibGVcIiB0eXBlPVwidGV4dFwiIG9uQ2hhbmdlPXtvbkNoYW5nZUNifSBvbktleVVwPXtvbklucHV0fSAvPlxuICAgICk7XG59XG4vKiogQW4gZWRpdGFibGUgbGlzdCBvZiBpdGVtcy5cbiAqXG4gKiBAZ3JvdXAgRWRpdGFibGUgQ29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gRWRpdGFibGVMaXN0RmllbGQoe1xuICAgIHByb3BzLFxuICAgIGZpZWxkLFxuICAgIHBhcmVudCxcbiAgICB0eXBlLFxuICAgIGRpc3BhdGNoLFxuICAgIHJlbmRlckFzLFxuICAgIGNvbmZpZyxcbn06IHsgcHJvcHM6IEVkaXRhYmxlU3RhdGU8TGl0ZXJhbD4gfSAmIEZpZWxkQ29udHJvbFByb3BzPExpdGVyYWw+ICYge1xuICAgICAgICBwYXJlbnQ6IE1hcmtkb3duVGFza0l0ZW0gfCBNYXJrZG93bkxpc3RJdGVtO1xuICAgICAgICB0eXBlOiBMaXRlcmFsVHlwZTtcbiAgICAgICAgZGlzcGF0Y2g6IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPExpdGVyYWw+PjtcbiAgICB9KSB7XG4gICAgY29uc3Qgc3ViRWRpdG9yID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmVuZGVyQXMpIHtcbiAgICAgICAgICAgIGNhc2UgXCJwcm9ncmVzc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0eXBlID09IFwibnVtYmVyXCIgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxQcm9ncmVzc0VkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc9e3Byb3BzLmlzRWRpdGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e3Byb3BzLmNvbnRlbnQgYXMgbnVtYmVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcj17cHJvcHMudXBkYXRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1heD17Y29uZmlnPy5tYXggfHwgMTAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlUGF0aD17cGFyZW50LiRmaWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcD17Y29uZmlnPy5zdGVwIHx8IDAuMX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbj17Y29uZmlnPy5taW4gfHwgMH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogbnVsbDtcbiAgICAgICAgICAgIGNhc2UgXCJyYXRpbmdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8UmF0aW5nRWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU9e3BhcmVudC4kZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbmZpZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwcm9wcy5jb250ZW50IGFzIHN0cmluZyB8IG51bWJlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXI9e3Byb3BzLnVwZGF0ZXJ9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0YWJsZUVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc9e3Byb3BzLmlzRWRpdGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcj17cHJvcHMudXBkYXRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50PXtwcm9wcy5jb250ZW50IGFzIFNlbGVjdGFibGVUeXBlfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfSwgW3BhcmVudCwgZmllbGQsIHByb3BzLmNvbnRlbnQsIHByb3BzLmNvbnRlbnQsIHByb3BzLCBjb25maWcsIHJlbmRlckFzXSk7XG4gICAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8RGF0ZUVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VQYXRoPXtwYXJlbnQuJGZpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc9e3Byb3BzLmlzRWRpdGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e3Byb3BzLmNvbnRlbnQgYXMgRGF0ZVRpbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVyPXtwcm9wcy51cGRhdGVyIGFzICh2YWw6IHN0cmluZyB8IERhdGVUaW1lIHwgbnVsbCkgPT4gYW55fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxCb29sZWFuRWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXI9e3Byb3BzLnVwZGF0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXt0eXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLmNvbnRlbnQgYXMgYm9vbGVhbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU9e3BhcmVudC4kZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7c3ViRWRpdG9yID8/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVBhdGg9e3BhcmVudC4kZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNFZGl0aW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD17cHJvcHMuY29udGVudCBhcyBzdHJpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXI9e3Byb3BzLnVwZGF0ZXIgYXMgKHZhbDogc3RyaW5nKSA9PiB1bmtub3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgICAgIHJldHVybiA8PntzdWJFZGl0b3IgPz8gPE51bWJlckVkaXRhYmxlIGNvbnRlbnQ9e3Byb3BzLmNvbnRlbnQgYXMgbnVtYmVyfSB1cGRhdGVyPXtwcm9wcy51cGRhdGVyfSAvPn08Lz47XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxUZXh0RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVBhdGg9e3BhcmVudC4kZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRWRpdGluZz17cHJvcHMuaXNFZGl0aW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD17TGl0ZXJhbHMudG9TdHJpbmcocHJvcHMuY29udGVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVyPXtwcm9wcy51cGRhdGVyIGFzICh2YWw6IHN0cmluZykgPT4gdW5rbm93bn1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSwgW3BhcmVudCwgZmllbGQsIHByb3BzLmNvbnRlbnQsIHByb3BzLmNvbnRlbnQsIHByb3BzLCBjb25maWcsIHJlbmRlckFzLCBzdWJFZGl0b3JdKTtcblxuICAgIGNvbnN0IGRibGNsaWNrID0gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHsgdHlwZTogXCJlZGl0aW5nLXRvZ2dsZWRcIiwgbmV3VmFsdWU6ICFwcm9wcy5pc0VkaXRpbmcgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtwcm9wcy5pc0VkaXRpbmddXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtZmllbGRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZpZWxkLXRpdGxlXCIgb25EYmxDbGljaz17ZGJsY2xpY2t9PlxuICAgICAgICAgICAgICAgIHtmaWVsZC5rZXl9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmaWVsZC12YWx1ZVwiIHRhYkluZGV4PXswfT5cbiAgICAgICAgICAgICAgICB7ZWRpdG9yfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufVxuIiwgIi8qKlxuICogQG1vZHVsZSB2aWV3c1xuICovXG5pbXBvcnQgeyBMaXRlcmFsIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgQVBQX0NPTlRFWFQsIENVUlJFTlRfRklMRV9DT05URVhULCBEQVRBQ09SRV9DT05URVhULCBMaXQgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcblxuaW1wb3J0IHsgVk5vZGUsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IEJhc2VGaWVsZFByb3BzIH0gZnJvbSBcInVpL2ZpZWxkcy9jb21tb24tcHJvcHNcIjtcbmltcG9ydCB7XG4gICAgQ29udHJvbGxlZEVkaXRhYmxlLFxuICAgIEVkaXRhYmxlLFxuICAgIEVkaXRhYmxlRWxlbWVudCxcbiAgICBFZGl0YWJsZVN0YXRlLFxuICAgIFRleHRFZGl0YWJsZSxcbiAgICB1c2VFZGl0YWJsZURpc3BhdGNoLFxufSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyB1c2VTdGFibGVDYWxsYmFjayB9IGZyb20gXCJ1aS9ob29rc1wiO1xuaW1wb3J0IHsgTWFya2Rvd25MaXN0SXRlbSwgTWFya2Rvd25UYXNrSXRlbSB9IGZyb20gXCJpbmRleC90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgcmV3cml0ZVRhc2sgfSBmcm9tIFwidXRpbHMvdGFza1wiO1xuaW1wb3J0IHsgc2V0SW5saW5lRmllbGQgfSBmcm9tIFwiaW5kZXgvaW1wb3J0L2lubGluZS1maWVsZFwiO1xuXG4vKipcbiAqIFN0YXRlIGZvciBhIHtAbGluayBMaXN0Vmlld31cbiAqIEB0eXBlUGFyYW0gVCAtIHRoZSB0eXBlIG9mIHRoZSBpdGVtcyBjb250YWluZWQgaW4gdGhlIGxpc3RcbiAqIEBncm91cCBTdGF0ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0U3RhdGU8VD4ge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGxpc3Qgc2hvdWxkIGJlIG9yZGVyZWQgKG9sKSwgdW5vcmRlcmVkICh1bCksIG9yIGhhdmUgbm8gc3BlY2lhbCBtYXJrdXAgKG5vbmUpLlxuICAgICAqXG4gICAgICogTGlzdHMgd2l0aCBubyBzcGVjaWFsIG1hcmt1cCBqdXN0IGhhdmUgZWFjaCBlbGVtZW50IHJlbmRlcmVkIGRpcmVjdGx5IGFzLWlzIHdpdGhvdXQgYW55IHdyYXBwaW5nXG4gICAgICogaW5zaWRlIG9mIGEgc2luZ2xlIGRpdi5cbiAgICAgKlxuICAgICAqL1xuICAgIHR5cGU/OiBcIm9yZGVyZWRcIiB8IFwidW5vcmRlcmVkXCIgfCBcIm5vbmVcIjtcblxuICAgIC8qKiBUaGUgZnVsbCBjb2xsZWN0aW9uIG9mIGVsZW1lbnRzIGluIHRoZSBsaXN0LiAqL1xuICAgIHJvd3M/OiBUW107XG5cbiAgICAvKiogQ29udHJvbHMgd2hldGhlciBwYWdpbmcgaXMgZW5hYmxlZCBmb3IgdGhpcyBlbGVtZW50LiBJZiB0cnVlLCB1c2VzIGRlZmF1bHQgcGFnZSBzaXplLiBJZiBhIG51bWJlciwgcGFnaW5nIGlzIGVuYWJsZWQgd2l0aCB0aGUgZ2l2ZW4gcGFnZSBzaXplLiAqL1xuICAgIHBhZ2luZz86IGJvb2xlYW4gfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gcmVuZGVyIGZ1bmN0aW9uIHRvIHVzZSBmb3IgcmVuZGVyaW5nIGVhY2ggZWxlbWVudC4gQ2FuIHByb2R1Y2UgZWl0aGVyIEpTWCBvciBhIHBsYWluIHZhbHVlIHdoaWNoIHdpbGwgYmVcbiAgICAgKiByZW5kZXJlZCBhcyBhIGxpdGVyYWwuXG4gICAgICovXG4gICAgcmVuZGVyZXI/OiAoZWxlbWVudDogVCwgaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlIHwgTGl0ZXJhbDtcblxuICAgIC8qKiBmaWVsZHMgdG8gZGlzcGxheSB1bmRlciBlYWNoIGl0ZW0gaW4gdGhpcyB0YXNrIGxpc3QgKi9cbiAgICBkaXNwbGF5ZWRGaWVsZHM/OiAoQmFzZUZpZWxkUHJvcHM8TGl0ZXJhbD4gJiB7IGtleTogc3RyaW5nIH0pW107XG59XG5cbi8qKlxuICpcbiAqIEEgc2ltcGxlIGFuZCByZXNwb25zaXZlIGxpc3Qgdmlldy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBMaXN0VmlldzxUPihzdGF0ZTogTGlzdFN0YXRlPFQ+KSB7XG4gICAgLy8gY29uc3Qgc2V0dGluZ3MgPSB1c2VDb250ZXh0KFNFVFRJTkdTX0NPTlRFWFQpO1xuXG4gICAgY29uc3QgdHlwZSA9IHN0YXRlLnR5cGUgPz8gXCJ1bm9yZGVyZWRcIjtcbiAgICBjb25zdCBlbGVtZW50cyA9IHN0YXRlLnJvd3MgPz8gW107XG4gICAgY29uc3QgcmVuZGVyZXIgPSBzdGF0ZS5yZW5kZXJlciA/PyBpZGVudGl0eTtcblxuICAgIGlmICh0eXBlID09IFwibm9uZVwiKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWxpc3QgZGF0YWNvcmUtbGlzdC1ub25lXCI+XG4gICAgICAgICAgICAgICAge2VsZW1lbnRzLm1hcCgoZWxlbWVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhY29yZS11bndyYXBwZWQtbGlzdC1pdGVtXCIga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZW5zdXJlRWxlbWVudChyZW5kZXJlcihlbGVtZW50LCBpbmRleCkpfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcIm9yZGVyZWRcIikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPG9sIGNsYXNzTmFtZT17XCJkYXRhY29yZS1saXN0IGRhdGFjb3JlLWxpc3Qtb3JkZXJlZFwifT5cbiAgICAgICAgICAgICAgICB7ZWxlbWVudHMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpbmRleH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZW5zdXJlRWxlbWVudChyZW5kZXJlcihlbGVtZW50LCBpbmRleCkpfVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImRhdGFjb3JlLWxpc3QgZGF0YWNvcmUtbGlzdC11bm9yZGVyZWRcIj5cbiAgICAgICAgICAgICAgICB7ZWxlbWVudHMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtpbmRleH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZW5zdXJlRWxlbWVudChyZW5kZXJlcihlbGVtZW50LCBpbmRleCkpfVxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi8qKiBOby1vcCBlbGVtZW50IHJlbmRlcmVyLlxuICogQGhpZGRlblxuICovXG5mdW5jdGlvbiBpZGVudGl0eTxUPihlbGVtZW50OiBUKTogVCB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbi8qKlxuICogQGhpZGRlblxuICogIEVuc3VyZXMgdGhlIGdpdmVuIGVsZW1lbnQgaXMgYSByZW5kZXJhYmxlIHJlYWN0IG5vZGUuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlRWxlbWVudDxUPihlbGVtZW50OiBUKTogVk5vZGUge1xuICAgIGlmIChpc1ZhbGlkRWxlbWVudChlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gPERlZmF1bHRMaXN0RWxlbWVudCBlbGVtZW50PXtlbGVtZW50fSAvPjtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICogIERlZmF1bHQgbGlzdCBlbGVtZW50IHdoaWNoIGp1c3QgdHJpZXMgdG8gcmVuZGVyIHRoZSB2YWx1ZSBhcyBhIGxpdGVyYWwuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdExpc3RFbGVtZW50PFQ+KHsgZWxlbWVudCB9OiB7IGVsZW1lbnQ6IFQgfSkge1xuICAgIGNvbnN0IHNvdXJjZVBhdGggPSB1c2VDb250ZXh0KENVUlJFTlRfRklMRV9DT05URVhUKTtcblxuICAgIHJldHVybiA8TGl0IGlubGluZT17dHJ1ZX0gdmFsdWU9e2VsZW1lbnQgYXMgTGl0ZXJhbH0gc291cmNlUGF0aD17c291cmNlUGF0aH0gLz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFZGl0YWJsZUxpc3RFbGVtZW50PFQ+KHtcbiAgICBlbGVtZW50OiBpdGVtLFxuICAgIGVkaXRvcixcbiAgICBvblVwZGF0ZSxcbiAgICBmaWxlLFxuICAgIGVkaXRvclByb3BzLFxufToge1xuICAgIGVkaXRvcjogKHZhbHVlOiBUKSA9PiBFZGl0YWJsZUVsZW1lbnQ8VD47XG4gICAgZWxlbWVudDogVDtcbiAgICBmaWxlOiBzdHJpbmc7XG4gICAgb25VcGRhdGU6ICh2YWx1ZTogVCkgPT4gdW5rbm93bjtcbiAgICBlZGl0b3JQcm9wczogdW5rbm93bjtcbn0pIHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8Q29udHJvbGxlZEVkaXRhYmxlPFQ+XG4gICAgICAgICAgICBwcm9wcz17ZWRpdG9yUHJvcHN9XG4gICAgICAgICAgICBzb3VyY2VQYXRoPXtmaWxlfVxuICAgICAgICAgICAgY29udGVudD17aXRlbX1cbiAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yKGl0ZW0pfVxuICAgICAgICAgICAgb25VcGRhdGU9e29uVXBkYXRlfVxuICAgICAgICAgICAgZGVmYXVsdFJlbmRlcj17PERlZmF1bHRMaXN0RWxlbWVudCBlbGVtZW50PXtpdGVtfSAvPn1cbiAgICAgICAgLz5cbiAgICApO1xufVxuIiwgIi8qKlxuICogQG1vZHVsZSB2aWV3c1xuICovXG5cbmltcG9ydCB7IE1hcmtkb3duTGlzdEl0ZW0sIE1hcmtkb3duVGFza0l0ZW0gfSBmcm9tIFwiaW5kZXgvdHlwZXMvbWFya2Rvd25cIjtcbmltcG9ydCB7IEVkaXRhYmxlTGlzdEVsZW1lbnQsIExpc3RTdGF0ZSB9IGZyb20gXCJhcGkvdWkvdmlld3MvbGlzdFwiO1xuaW1wb3J0IHsgdXNlU3RhYmxlQ2FsbGJhY2sgfSBmcm9tIFwidWkvaG9va3NcIjtcbmltcG9ydCB7IEZyYWdtZW50IH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgQVBQX0NPTlRFWFQsIERBVEFDT1JFX0NPTlRFWFQgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IEpTWEludGVybmFsIH0gZnJvbSBcInByZWFjdC9zcmMvanN4XCI7XG5pbXBvcnQgeyBEaXNwYXRjaCwgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgY29tcGxldGVUYXNrLCByZXdyaXRlVGFzayB9IGZyb20gXCJ1dGlscy90YXNrXCI7XG5pbXBvcnQgeyBMaXRlcmFsLCBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7XG4gICAgRWRpdGFibGVBY3Rpb24sXG4gICAgRWRpdGFibGVMaXN0RmllbGQsXG4gICAgRWRpdGFibGVTdGF0ZSxcbiAgICBUZXh0RWRpdGFibGUsXG4gICAgdXNlRWRpdGFibGVEaXNwYXRjaCxcbn0gZnJvbSBcInVpL2ZpZWxkcy9lZGl0YWJsZVwiO1xuaW1wb3J0IHsgc2V0SW5saW5lRmllbGQgfSBmcm9tIFwiaW5kZXgvaW1wb3J0L2lubGluZS1maWVsZFwiO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWVsZFwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCBcIi4vbGlzdHMuY3NzXCI7XG5cbi8qKlxuICogUHJvcHMgcGFzc2VkIHRvIHRoZSB0YXNrIGxpc3QgY29tcG9uZW50LlxuICogQGdyb3VwIFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1Byb3BzIGV4dGVuZHMgTGlzdFN0YXRlPE1hcmtkb3duVGFza0l0ZW0gfCBNYXJrZG93bkxpc3RJdGVtPiB7XG4gICAgLyoqIHRhc2sgc3RhdGVzIHRvIGN5Y2xlIHRocm91Z2gsIGlmIHNwZWNpZmllZCAqL1xuICAgIGFkZGl0aW9uYWxTdGF0ZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGlzdCBvZiB0YXNrcy5cbiAqIEBwYXJhbSBwcm9wc1xuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRhc2tMaXN0KHtcbiAgICByb3dzOiBpdGVtcyxcbiAgICBhZGRpdGlvbmFsU3RhdGVzOiBzdGF0ZXMsXG4gICAgcmVuZGVyZXI6IGxpc3RSZW5kZXJlciA9IChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICA8RWRpdGFibGVMaXN0RWxlbWVudDxzdHJpbmc+XG4gICAgICAgICAgICBvblVwZGF0ZT17dXNlTGlzdEl0ZW1FZGl0aW5nKGl0ZW0sIFwiXCIpfVxuICAgICAgICAgICAgZWxlbWVudD17aXRlbS4kY2xlYW50ZXh0IX1cbiAgICAgICAgICAgIGZpbGU9e2l0ZW0uJGZpbGV9XG4gICAgICAgICAgICBlZGl0b3JQcm9wcz17eyBtYXJrZG93bjogdHJ1ZSwgc291cmNlUGF0aDogaXRlbS4kZmlsZSB9fVxuICAgICAgICAgICAgZWRpdG9yPXsoaXQpID0+IFRleHRFZGl0YWJsZX1cbiAgICAgICAgLz5cbiAgICApLFxuICAgIC4uLnJlc3Rcbn06IFRhc2tQcm9wcykge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJkYXRhY29yZSBjb250YWlucy10YXNrLWxpc3RcIj5cbiAgICAgICAgICAgICAgICB7aXRlbXM/Lm1hcCgoaXRlbSwgaW5kKSA9PlxuICAgICAgICAgICAgICAgICAgICBpdGVtIGluc3RhbmNlb2YgTWFya2Rvd25UYXNrSXRlbSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUYXNrIGtleT17aXRlbS4kaWR9IHN0YXRlPXt7IC4uLnJlc3QsIGFkZGl0aW9uYWxTdGF0ZXM6IHN0YXRlcyB9fSBpdGVtPXtpdGVtfSAvPlxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtsaXN0UmVuZGVyZXIoaXRlbSwgaW5kKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWxpc3QtaXRlbS1maWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpc3RJdGVtRmllbGRzIGRpc3BsYXllZEZpZWxkcz17cmVzdC5kaXNwbGF5ZWRGaWVsZHN9IGl0ZW09e2l0ZW19IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICk7XG4gICAgfSwgW2l0ZW1zLCBzdGF0ZXNdKTtcbiAgICByZXR1cm4gPEZyYWdtZW50PnshIWl0ZW1zICYmIGNvbnRlbnR9PC9GcmFnbWVudD47XG59XG4vKipcbiAqIFJlcHJlc2VudHMgYSBzaW5nbGUgaXRlbSBpbiBhIHRhc2sgbGlzdGluZy5cbiAqIEBwYXJhbSBwcm9wcyAtIHRoZSBjb21wb25lbnQncyBwcm9wc1xuICogQHBhcmFtIHByb3BzLml0ZW0gLSB0aGUgY3VycmVudCB0YXNrIGJlaW5nIHJlbmRlcmVkXG4gKiBAcGFyYW0gcHJvcHMuc3RhdGUgLSB0aGUge0BsaW5rIFRhc2tQcm9wc30gb2YgdGhlIHtAbGluayBUYXNrTGlzdH0gaW4gd2hpY2ggdGhpcyBUYXNrIGFwcGVhcnNcbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUYXNrKHsgaXRlbSwgc3RhdGU6IHByb3BzIH06IHsgaXRlbTogTWFya2Rvd25UYXNrSXRlbTsgc3RhdGU6IFRhc2tQcm9wcyB9KSB7XG4gICAgY29uc3QgYXBwID0gdXNlQ29udGV4dChBUFBfQ09OVEVYVCk7XG4gICAgY29uc3QgY29yZSA9IHVzZUNvbnRleHQoREFUQUNPUkVfQ09OVEVYVCk7XG4gICAgY29uc3QgeyBzZXR0aW5ncyB9ID0gY29yZTtcbiAgICBjb25zdCBzdGF0ZXMgPSBbXCIgXCIsIC4uLihwcm9wcy5hZGRpdGlvbmFsU3RhdGVzIHx8IFtdKSwgXCJ4XCJdO1xuICAgIGNvbnN0IG5leHRTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzLmFkZGl0aW9uYWxTdGF0ZXMgJiYgcHJvcHMuYWRkaXRpb25hbFN0YXRlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IGN1ckluZGV4ID0gc3RhdGVzLmZpbmRJbmRleCgoYSkgPT4gYSA9PT0gaXRlbS4kc3RhdHVzKTtcbiAgICAgICAgICAgIGN1ckluZGV4Kys7XG4gICAgICAgICAgICBpZiAoY3VySW5kZXggPj0gc3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGN1ckluZGV4ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZXNbY3VySW5kZXhdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uJGNvbXBsZXRlZCA/IFwiIFwiIDogXCJ4XCI7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTxzdHJpbmc+KGl0ZW0uJHN0YXR1cyk7XG4gICAgY29uc3QgY29tcGxldGVkUmVmID0gdXNlUmVmPERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPExpdGVyYWw+Pj4obnVsbCk7XG4gICAgY29uc3Qgb25DaGVja2VkID0gdXNlU3RhYmxlQ2FsbGJhY2soYXN5bmMgKGV2dDogSlNYSW50ZXJuYWwuVGFyZ2V0ZWRNb3VzZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbXBsZXRlZCA9IGV2dC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQ7XG4gICAgICAgIGxldCBuZXdTdGF0dXM6IHN0cmluZztcbiAgICAgICAgaWYgKGV2dC5zaGlmdEtleSkge1xuICAgICAgICAgICAgbmV3U3RhdHVzID0gbmV4dFN0YXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdTdGF0dXMgPSBjb21wbGV0ZWQgPyBcInhcIiA6IFwiIFwiO1xuICAgICAgICB9XG4gICAgICAgIHNldFN0YXR1cyhuZXdTdGF0dXMpO1xuICAgICAgICBhd2FpdCBjb21wbGV0ZVRhc2soY29tcGxldGVkLCBpdGVtLCBhcHAudmF1bHQsIGNvcmUpO1xuICAgICAgICBjb25zdCBudiA9IGNvbXBsZXRlZCA/IERhdGVUaW1lLm5vdygpLnRvRm9ybWF0KHNldHRpbmdzLmRlZmF1bHREYXRlRm9ybWF0KSA6IG51bGw7XG4gICAgICAgIGNvbXBsZXRlZFJlZi5jdXJyZW50ICYmIGNvbXBsZXRlZFJlZi5jdXJyZW50KHsgdHlwZTogXCJjb21taXRcIiwgbmV3VmFsdWU6IG52IH0pO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGNoZWNrZWQgPSB1c2VNZW1vKCgpID0+IHN0YXR1cyAhPT0gXCIgXCIsIFtpdGVtLiRzdGF0dXMsIGl0ZW0sIHN0YXR1c10pO1xuICAgIGNvbnN0IGVTdGF0ZTogRWRpdGFibGVTdGF0ZTxzdHJpbmc+ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cGRhdGVyOiB1c2VMaXN0SXRlbUVkaXRpbmcoaXRlbSwgc3RhdHVzKSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGl0ZW0uJGNsZWFudGV4dCxcbiAgICAgICAgICAgIGlubGluZTogZmFsc2UsXG4gICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICB9IGFzIEVkaXRhYmxlU3RhdGU8c3RyaW5nPjtcbiAgICB9LCBbaXRlbS4kY2xlYW50ZXh0LCBpdGVtLiR0ZXh0XSk7XG4gICAgY29uc3QgdGhlRWxlbWVudCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IDxUZXh0RWRpdGFibGUgc291cmNlUGF0aD17aXRlbS4kZmlsZX0gey4uLmVTdGF0ZX0gLz4sXG4gICAgICAgIFtlU3RhdGUuY29udGVudCwgaXRlbSwgcHJvcHMucm93c11cbiAgICApO1xuXG4gICAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZVN0YXRlPGJvb2xlYW4+KHRydWUpO1xuICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gaXRlbS4kZWxlbWVudHMubGVuZ3RoID4gMDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxsaVxuICAgICAgICAgICAga2V5PXtpdGVtLiRpZH1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZGF0YWNvcmUtdGFzay1pdGVtXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17XCJkYXRhY29yZSB0YXNrLWxpc3QtaXRlbVwiICsgKGNoZWNrZWQgPyBcIiBpcy1jaGVja2VkXCIgOiBcIlwiKX1cbiAgICAgICAgICAgIGRhdGEtdGFzaz17c3RhdHVzfVxuICAgICAgICA+XG4gICAgICAgICAgICA8Q29sbGFwc2VJbmRpY2F0b3JcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRDb2xsYXBzZWQoKGMpID0+ICFjKX1cbiAgICAgICAgICAgICAgICBjb2xsYXBzZWQ9e2NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICBoYXNDaGlsZHJlbj17aGFzQ2hpbGRyZW59XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0YWNvcmUgdGFzay1saXN0LWl0ZW0tY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoZWNrZWR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBjb25zb2xlLmxvZyhlLmN1cnJlbnRUYXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhY29yZS1saXN0LWl0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICB7dGhlRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhY29yZS1saXN0LWl0ZW0tZmllbGRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TGlzdEl0ZW1GaWVsZHMgZGlzcGxheWVkRmllbGRzPXtwcm9wcy5kaXNwbGF5ZWRGaWVsZHN9IGl0ZW09e2l0ZW19IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7aGFzQ2hpbGRyZW4gJiYgIWNvbGxhcHNlZCAmJiA8VGFza0xpc3Qgey4uLnByb3BzfSByb3dzPXtpdGVtLiRlbGVtZW50c30gLz59XG4gICAgICAgIDwvbGk+XG4gICAgKTtcbn1cblxuZnVuY3Rpb24gQ29sbGFwc2VJbmRpY2F0b3Ioe1xuICAgIGNvbGxhcHNlZCxcbiAgICBvbkNsaWNrLFxuICAgIGhhc0NoaWxkcmVuLFxufToge1xuICAgIGNvbGxhcHNlZDogYm9vbGVhbjtcbiAgICBvbkNsaWNrOiAoKSA9PiB2b2lkO1xuICAgIGhhc0NoaWxkcmVuOiBib29sZWFuO1xufSkge1xuICAgIGNvbnN0IHRvZ2dsZUNuYW1lcyA9IFtcImRhdGFjb3JlLWNvbGxhcHNlclwiXTtcbiAgICBpZiAoY29sbGFwc2VkKSB0b2dnbGVDbmFtZXMucHVzaChcImlzLWNvbGxhcHNlZFwiKTtcbiAgICBpZiAoIWhhc0NoaWxkcmVuKSB0b2dnbGVDbmFtZXMucHVzaChcIm5vLWNoaWxkcmVuXCIpO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgb25DbGljaz17b25DbGlja30gY2xhc3NOYW1lPXt0b2dnbGVDbmFtZXMuam9pbihcIiBcIil9IGRpcj1cImF1dG9cIj5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInN2Zy1pY29uIHJpZ2h0LXRyaWFuZ2xlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMgOEwxMiAxN0wyMSA4XCI+PC9wYXRoPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gZWRpdGFibGUgc2V0IG9mIGZpZWxkcyBiZWxvdyBhIHRhc2sgb3IgbGlzdCBpdGVtLlxuICogQGhpZGRlblxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIExpc3RJdGVtRmllbGRzKHtcbiAgICBkaXNwbGF5ZWRGaWVsZHM6IGRpc3BsYXllZEZpZWxkc1Byb3AsXG4gICAgaXRlbSxcbn06IHtcbiAgICBkaXNwbGF5ZWRGaWVsZHM/OiBUYXNrUHJvcHNbXCJkaXNwbGF5ZWRGaWVsZHNcIl07XG4gICAgaXRlbTogTWFya2Rvd25UYXNrSXRlbSB8IE1hcmtkb3duTGlzdEl0ZW07XG59KSB7XG4gICAgY29uc3QgYXBwID0gdXNlQ29udGV4dChBUFBfQ09OVEVYVCk7XG4gICAgY29uc3QgY29yZSA9IHVzZUNvbnRleHQoREFUQUNPUkVfQ09OVEVYVCk7XG4gICAgY29uc3QgeyBzZXR0aW5ncyB9ID0gY29yZTtcbiAgICBjb25zdCBkaXNwbGF5ZWRGaWVsZHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKGRpc3BsYXllZEZpZWxkc1Byb3AgIT0gdW5kZWZpbmVkKSByZXR1cm4gZGlzcGxheWVkRmllbGRzUHJvcDtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhpdGVtLiRpbmZpZWxkcykubWFwKChmKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBmLmtleSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogTGl0ZXJhbHMudHlwZU9mKGYudmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICBjb25maWc6IHt9LFxuICAgICAgICAgICAgICAgICAgICBlZGl0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyQXM6IFwicmF3XCIsXG4gICAgICAgICAgICAgICAgfSBhcyBOb25OdWxsYWJsZTxUYXNrUHJvcHNbXCJkaXNwbGF5ZWRGaWVsZHNcIl0+WzBdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbZGlzcGxheWVkRmllbGRzUHJvcCwgaXRlbS4kaW5maWVsZHMsIGl0ZW1dKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAge2Rpc3BsYXllZEZpZWxkcy5tYXAoKGlmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmaWVsZC5rZXkgPSBpZmllbGQua2V5LnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgbGV0IGRlZlZhbCA9IHR5cGVvZiBpZmllbGQuZGVmYXVsdFZhbHVlID09IFwiZnVuY3Rpb25cIiA/IGlmaWVsZC5kZWZhdWx0VmFsdWUoKSA6IGlmaWVsZC5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgbGV0IGRlZkZpZWxkOiBGaWVsZCA9IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBpZmllbGQua2V5LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGVmVmFsLFxuICAgICAgICAgICAgICAgICAgICByYXc6IExpdGVyYWxzLnRvU3RyaW5nKGRlZlZhbCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBbZmllbGRWYWx1ZV0gPSB1c2VTdGF0ZTxMaXRlcmFsPihpdGVtLiRpbmZpZWxkc1tpZmllbGQ/LmtleV0/LnZhbHVlIHx8IGRlZkZpZWxkLnZhbHVlISk7XG4gICAgICAgICAgICAgICAgY29uc3QgW3N0YXRlMiwgZGlzcGF0Y2hdID0gdXNlRWRpdGFibGVEaXNwYXRjaDxMaXRlcmFsPih7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZXI6IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHZhbDogTGl0ZXJhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSAodjogTGl0ZXJhbCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdiBpbnN0YW5jZW9mIERhdGVUaW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHYudG9Gb3JtYXQoc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHYgIT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBMaXRlcmFscy50b1N0cmluZyh2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgd2l0aEZpZWxkcyA9IGl0ZW0uJHRleHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpdGhGaWVsZHMgJiYgaXRlbS4kdGV4dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS4kaW5maWVsZHNbaWZpZWxkLmtleV0pIGl0ZW0uJGluZmllbGRzW2lmaWVsZC5rZXldLnZhbHVlID0gZGF0ZVN0cmluZyh2YWwpITtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgZmllbGQgaW4gaXRlbS4kaW5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhGaWVsZHMgPSBzZXRJbmxpbmVGaWVsZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVTdHJpbmcoaXRlbS4kaW5maWVsZHNbZmllbGRdPy52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEZpZWxkcyA9IHNldElubGluZUZpZWxkKGl0ZW0uJHRleHQsIGlmaWVsZC5rZXksIGRhdGVTdHJpbmcodmFsKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJld3JpdGVUYXNrKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwLnZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtIGluc3RhbmNlb2YgTWFya2Rvd25UYXNrSXRlbSA/IGl0ZW0uJHN0YXR1cyA6IFwiIFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbS4kaW5maWVsZHNdXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGlmaWVsZC5rZXkgPT0gc2V0dGluZ3MudGFza0NvbXBsZXRpb25UZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZSBodWg/XG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZFJlZi5jdXJyZW50ID0gZGlzcGF0Y2g7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxFZGl0YWJsZUxpc3RGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM9e3N0YXRlMn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e2lmaWVsZC50eXBlIHx8IExpdGVyYWxzLndyYXBWYWx1ZShmaWVsZFZhbHVlKSEudHlwZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU9e2l0ZW0uJGZpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZD17aXRlbS4kaW5maWVsZHNbaWZpZWxkLmtleV0gfHwgZGVmRmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2lmaWVsZC5jb25maWd9XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ9e2l0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVyPXtzdGF0ZTIudXBkYXRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmaWVsZFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyQXM9e2lmaWVsZC5yZW5kZXJBc31cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgIDwvPlxuICAgICk7XG59XG5cbmZ1bmN0aW9uIHVzZUxpc3RJdGVtRWRpdGluZyhpdGVtOiBNYXJrZG93blRhc2tJdGVtIHwgTWFya2Rvd25MaXN0SXRlbSwgc3RhdHVzOiBzdHJpbmcpIHtcbiAgICBjb25zdCBhcHAgPSB1c2VDb250ZXh0KEFQUF9DT05URVhUKTtcbiAgICBjb25zdCBjb3JlID0gdXNlQ29udGV4dChEQVRBQ09SRV9DT05URVhUKTtcbiAgICByZXR1cm4gdXNlU3RhYmxlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jICh2YWw6IExpdGVyYWwpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgbGV0IHdpdGhGaWVsZHMgPSBgJHt2YWx9JHtPYmplY3Qua2V5cyhpdGVtLiRpbmZpZWxkcykubGVuZ3RoID8gXCIgXCIgOiBcIlwifWA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZmllbGQgaW4gaXRlbS4kaW5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgd2l0aEZpZWxkcyA9IHNldElubGluZUZpZWxkKHdpdGhGaWVsZHMsIGZpZWxkLCBpdGVtLiRpbmZpZWxkc1tmaWVsZF0ucmF3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ1c2VcIiwgd2l0aEZpZWxkcyk7XG4gICAgICAgICAgICAgICAgYXdhaXQgcmV3cml0ZVRhc2soYXBwLnZhdWx0LCBjb3JlLCBpdGVtLCBzdGF0dXMsIHdpdGhGaWVsZHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbc3RhdHVzLCBpdGVtXVxuICAgICk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIHVpXG4gKi9cbmltcG9ydCBcIi4vcGFnaW5nLmNzc1wiO1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwgUmVmT2JqZWN0IH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJwcmVhY3QvY29tcGF0XCI7XG5pbXBvcnQgeyBTRVRUSU5HU19DT05URVhUIH0gZnJvbSBcInVpL21hcmtkb3duXCI7XG5cbi8qKiAwLWluZGV4ZWQgcGFnZSBjb250cm9sLiBgcGFnZWAgc2hvdWxkIGJlIHRoZSBjdXJyZW50IDAtaW5kZXhlZCBwYWdlLCB3aGlsZSBgdG90YWxQYWdlc2AgaXMgdGhlIHRvdGFsIG51bWJlciBvZiBwYWdlcy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKiBAcGFyYW0gcHJvcHNcbiAqL1xuZnVuY3Rpb24gUmF3Q29udHJvbGxlZFBhZ2VyKHtcbiAgICBwYWdlLFxuICAgIHNldFBhZ2UsXG4gICAgdG90YWxQYWdlcyxcbn06IHtcbiAgICBwYWdlOiBudW1iZXI7XG4gICAgc2V0UGFnZTogKHBhZ2U6IG51bWJlcikgPT4gdm9pZDtcbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG59KSB7XG4gICAgLy8gQ2xhbXAgcGFnZSB0byBiZSB3aXRoaW4gdGhlIGFjdHVhbCBib3VuZHMgb2YgcGFnZXMuXG4gICAgdG90YWxQYWdlcyA9IE1hdGgubWF4KDEsIHRvdGFsUGFnZXMpO1xuXG4gICAgY29uc3QgcmVhbFBhZ2UgPSBjbGFtcChwYWdlLCAwLCB0b3RhbFBhZ2VzIC0gMSk7XG4gICAgY29uc3QgdmlzaWJsZVBhZ2VzID0gdXNlTWVtbygoKSA9PiBzcGxpdFBhZ2VzKHJlYWxQYWdlLCB0b3RhbFBhZ2VzKSwgW3JlYWxQYWdlLCB0b3RhbFBhZ2VzXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRjLXBhZ2luZy1jb250cm9sXCI+XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkYy1wYWdpbmctY29udHJvbC1wYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcGFnZSAhPSAwICYmIHNldFBhZ2UocGFnZSAtIDEpfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cGFnZSA9PSAwfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUuNSAxOWwtNy03IDctN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3BhdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3Zpc2libGVQYWdlcy5tYXAoKHBhZ2VzLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICB7aSA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRjLXBhZ2luZy1jb250cm9sLXBhZ2UgZGMtcGFnaW5nLWNvbnRyb2wtc2VwYXJhdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQYWdlKHJlYWxQYWdlICsgKGlzTGVmdFNlcGVyYXRvcihyZWFsUGFnZSwgdmlzaWJsZVBhZ2VzLmxlbmd0aCwgaSkgPyAtNSA6IDUpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcGUtcmVuZGVyaW5nPVwiZ2VvbWV0cmljUHJlY2lzaW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkYy1wYWdpbmctY29udHJvbC1lbGxpcHNpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHI9XCIxXCI+PC9jaXJjbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxOVwiIGN5PVwiMTJcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgcj1cIjFcIj48L2NpcmNsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjVcIiBjeT1cIjEyXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHI9XCIxXCI+PC9jaXJjbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXBlLXJlbmRlcmluZz1cImdlb21ldHJpY1ByZWNpc2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXtgZGMtcGFnaW5nLWNvbnRyb2wtbGVhcC0ke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMZWZ0U2VwZXJhdG9yKHJlYWxQYWdlLCB2aXNpYmxlUGFnZXMubGVuZ3RoLCBpKSA/IFwibGVmdFwiIDogXCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAxN2w1LTUtNS01XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTdsNS01LTUtNVwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7cGFnZXMubWFwKChwKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZGMtcGFnaW5nLWNvbnRyb2wtcGFnZSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID09PSByZWFsUGFnZSA/IFwiIGRjLXBhZ2luZy1jb250cm9sLXBhZ2UtYWN0aXZlXCIgOiBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGV2ZW50OiBhbnkpID0+IHNldFBhZ2UocCl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3AgKyAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRjLXBhZ2luZy1jb250cm9sLXBhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYWdlICE9PSB0b3RhbFBhZ2VzIC0gMSAmJiBzZXRQYWdlKHBhZ2UgKyAxKX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3BhZ2UgPT09IHRvdGFsUGFnZXMgLSAxfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC41IDVsNyA3LTcgN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3BhdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufVxuXG4vKiogMC1pbmRleGVkIHBhZ2UgY29udHJvbC4gYHBhZ2VgIHNob3VsZCBiZSB0aGUgY3VycmVudCAwLWluZGV4ZWQgcGFlZywgd2hpbGUgYG1heFBhZ2VgIGlzIHRoZSBtYXhpbXVtIHBhZ2UgKGluY2x1c2l2ZSkuICovXG5leHBvcnQgY29uc3QgQ29udHJvbGxlZFBhZ2VyID0gUmVhY3QubWVtbyhSYXdDb250cm9sbGVkUGFnZXIpO1xuXG4vKiogSG9vayB3aGljaCBwcm92aWRlcyBhdXRvbWF0aWMgcGFnZSByZWZsb3cgYW5kIHBhZ2Ugc3RhdGUgbWFuYWdlbWVudC5cbiAqIEBncm91cCBIb29rc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUGFnaW5nKHtcbiAgICBpbml0aWFsUGFnZSA9IDAsXG4gICAgcGFnZVNpemUsXG4gICAgZWxlbWVudHMsXG59OiB7XG4gICAgaW5pdGlhbFBhZ2U6IG51bWJlcjtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIGVsZW1lbnRzOiBudW1iZXI7XG59KTogW251bWJlciwgbnVtYmVyLCAocGFnZTogbnVtYmVyKSA9PiB2b2lkXSB7XG4gICAgLy8gV2UgdHJhY2sgdGhlIHN0YXJ0IGluZGV4IG9mIHRoZSBwYWdlIHNvIHRoYXQgd2hlbiBwYWdlIHNpemUgY2hhbmdlcyB3ZSBjYW4ganVzdCBhdXRvbWF0aWNhbGx5IHJlY29tcHV0ZSB0aGUgcGFnZSB3ZSBhcmUgb24gd2l0aG91dCBhbnkgc3RhdGUuXG4gICAgY29uc3QgdG90YWxQYWdlcyA9IE1hdGgubWF4KDEsIE1hdGguY2VpbChlbGVtZW50cyAvIHBhZ2VTaXplKSk7XG4gICAgY29uc3QgW3BhZ2VTdGFydCwgc2V0UGFnZVN0YXJ0XSA9IHVzZVN0YXRlKCgpID0+IGNsYW1wKGluaXRpYWxQYWdlLCAwLCB0b3RhbFBhZ2VzIC0gMSkpO1xuXG4gICAgY29uc3Qgc2V0Qm91bmRlZFBhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKHBhZ2U6IG51bWJlcikgPT4gc2V0UGFnZVN0YXJ0KGNsYW1wKHBhZ2UsIDAsIHRvdGFsUGFnZXMgLSAxKSAqIHBhZ2VTaXplKSxcbiAgICAgICAgW3BhZ2VTaXplLCB0b3RhbFBhZ2VzXVxuICAgICk7XG5cbiAgICBjb25zdCBwYWdlID0gY2xhbXAoTWF0aC5mbG9vcihwYWdlU3RhcnQgLyBwYWdlU2l6ZSksIDAsIHRvdGFsUGFnZXMgLSAxKTtcbiAgICByZXR1cm4gW3BhZ2UsIHRvdGFsUGFnZXMsIHNldEJvdW5kZWRQYWdlXTtcbn1cblxuLyoqIFByb3ZpZGVzIHVzZWZ1bCBtZXRhZGF0YSBhYm91dCBwYWdpbmcuXG4gKiBAZ3JvdXAgUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWdpbmcge1xuICAgIC8qKiBXaGV0aGVyIHBhZ2luZyBpcyBlbmFibGVkLiAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIFdoZXRoZXIgdGhlIHZpZXcgc2hvdWxkIHNjcm9sbCB3aGVuIHRoZSBwYWdlIGNoYW5nZXMuICovXG4gICAgc2Nyb2xsOiBib29sZWFuO1xuICAgIC8qKiBUaGUgY3VycmVudCBwYWdlLiAqL1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICAvKiogVGhlIHNpemUgb2YgZWFjaCBwYWdlLiAqL1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgLyoqIFRoZSB0b3RhbCBudW1iZXIgb2YgcGFnZXMgZm9yIHRoaXMgZGF0YS4gKi9cbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gICAgLyoqIFVwZGF0ZSB0aGUgY3VycmVudCBwYWdlLiAqL1xuICAgIHNldFBhZ2U6IChwYWdlOiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogQ2VudHJhbCBwYWdpbmcgaG9vayB3aGljaCBleHRyYWN0cyBwYWdlIG1ldGFkYXRhIG91dCBvZiBEYXRhY29yZSBzZXR0aW5ncywgaGFuZGxlcyBwYWdlIG92ZXJmbG93LCBjdXJyZW50IHBhZ2Ugc3RhdGUsIGFuZCB1cGRhdGluZyB0aGUgcGFnZVxuICogaWYgdGhlIGVsZW1lbnRzIGNoYW5nZS4gSWYgYSBjb250YWluZXIgaXMgc3BlY2lmaWVkLCBhbHNvIHN1cHBvcnRzIHNjcm9sbGluZyB0aGUgY29udGFpbmVyIHZpZXcgb24gcGFnZSBjaGFuZ2VzLlxuICogQGdyb3VwIEhvb2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VEYXRhY29yZVBhZ2luZyh7XG4gICAgaW5pdGlhbFBhZ2UgPSAwLFxuICAgIHBhZ2luZyxcbiAgICBzY3JvbGxPblBhZ2VDaGFuZ2UsXG4gICAgZWxlbWVudHMsXG4gICAgY29udGFpbmVyLFxufToge1xuICAgIGluaXRpYWxQYWdlOiBudW1iZXI7XG4gICAgcGFnaW5nOiBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIHNjcm9sbE9uUGFnZUNoYW5nZT86IGJvb2xlYW4gfCBudW1iZXI7XG4gICAgZWxlbWVudHM6IG51bWJlcjtcbiAgICBjb250YWluZXI/OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+O1xufSk6IFBhZ2luZyB7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB1c2VDb250ZXh0KFNFVFRJTkdTX0NPTlRFWFQpO1xuXG4gICAgY29uc3QgcGFnZVNpemUgPSB0eXBlb2YgcGFnaW5nID09PSBcIm51bWJlclwiID8gcGFnaW5nIDogc2V0dGluZ3MuZGVmYXVsdFBhZ2VTaXplO1xuICAgIGNvbnN0IHBhZ2luZ0VuYWJsZWQgPSB0eXBlb2YgcGFnaW5nID09PSBcIm51bWJlclwiIHx8IHBhZ2luZyA9PT0gdHJ1ZTtcbiAgICBjb25zdCBzaG91bGRTY3JvbGwgPVxuICAgICAgICAodHlwZW9mIHNjcm9sbE9uUGFnZUNoYW5nZSA9PT0gXCJudW1iZXJcIiAmJiBzY3JvbGxPblBhZ2VDaGFuZ2UgPj0gcGFnZVNpemUpIHx8XG4gICAgICAgICEhKHNjcm9sbE9uUGFnZUNoYW5nZSA/PyBzZXR0aW5ncy5zY3JvbGxPblBhZ2VDaGFuZ2UpO1xuXG4gICAgY29uc3QgW3BhZ2UsIHRvdGFsUGFnZXMsIHJhd1NldFBhZ2VdID0gdXNlUGFnaW5nKHsgaW5pdGlhbFBhZ2UsIHBhZ2VTaXplLCBlbGVtZW50cyB9KTtcblxuICAgIC8vIEhhbmRsZSBhdXRvLXNjcm9sbCBpZiBhIGNvbnRhaW5lciBpcyBwcm92aWRlZC5cbiAgICBjb25zdCBzZXRQYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIChuZXdQYWdlOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChwYWdlICE9IG5ld1BhZ2UgJiYgY29udGFpbmVyICYmIHNob3VsZFNjcm9sbCkge1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICAgICAgICAgICAgICBibG9jazogXCJzdGFydFwiLFxuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByYXdTZXRQYWdlKG5ld1BhZ2UpO1xuICAgICAgICB9LFxuICAgICAgICBbcGFnZSwgY29udGFpbmVyLCBzaG91bGRTY3JvbGwsIHJhd1NldFBhZ2VdXG4gICAgKTtcblxuICAgIHJldHVybiB7IGVuYWJsZWQ6IHBhZ2luZ0VuYWJsZWQsIHNjcm9sbDogc2hvdWxkU2Nyb2xsLCBwYWdlLCBwYWdlU2l6ZSwgdG90YWxQYWdlcywgc2V0UGFnZSB9O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZnVuY3Rpb24gY2xhbXAoaW5wdXQ6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoaW5wdXQgPCBtaW4pIHJldHVybiBtaW47XG4gICAgaWYgKGlucHV0ID4gbWF4KSByZXR1cm4gbWF4O1xuICAgIHJldHVybiBpbnB1dDtcbn1cblxuLyoqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIGZpbmRpbmcgdGhlIHNwZWNpZmljIHBhZ2UgbnVtYmVycyB0byByZW5kZXIuIEFsd2F5cyBhaW1zIHRvIHJlbmRlciA5IG9yIDEwIHBhZ2UgbnVtYmVycyB3aXRoIGEgc2VwYXJhdG9yLlxuICogQGhpZGRlblxuICovXG5mdW5jdGlvbiBzcGxpdFBhZ2VzKHBhZ2U6IG51bWJlciwgdG90YWxQYWdlczogbnVtYmVyKTogbnVtYmVyW11bXSB7XG4gICAgLy8gSWYgbGVzcyB0aGFuIDEyIHBhZ2VzLCBzaG93IGFsbCBvZiB0aGVtLlxuICAgIGlmICh0b3RhbFBhZ2VzIDwgMTIpIHJldHVybiBbQXJyYXkuZnJvbSh7IGxlbmd0aDogdG90YWxQYWdlcyB9LCAoXywgaSkgPT4gaSldO1xuXG4gICAgLy8gV2UgaGF2ZSBhdCBsZWFzdCAxMiBwYWdlcyAoMCAuLiAxMCBpbmNsdXNpdmUpLiBPdXIgZ29hbCBpcyB0byBoYXZlIDkgdG90YWwgdmlzaWJsZSBlbGVtZW50cywgc28gc3BsaXQgYmFzZWQgb24gdGhhdC5cbiAgICAvLyA1IHN1cnJvdW5kaW5nIHtwYWdlfSwgMCwgMSwgbWF4UGFnZSAtIDEsIG1heFBhZ2UuXG4gICAgaWYgKHBhZ2UgPCA1KVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDddLFxuICAgICAgICAgICAgW3RvdGFsUGFnZXMgLSAyLCB0b3RhbFBhZ2VzIC0gMV0sXG4gICAgICAgIF07XG4gICAgZWxzZSBpZiAocGFnZSA+IHRvdGFsUGFnZXMgLSA2KVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgWzAsIDFdLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA4LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA3LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA2LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA1LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSA0LFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSAzLFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSAyLFxuICAgICAgICAgICAgICAgIHRvdGFsUGFnZXMgLSAxLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgXTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBbMCwgMV0sXG4gICAgICAgICAgICBbcGFnZSAtIDIsIHBhZ2UgLSAxLCBwYWdlLCBwYWdlICsgMSwgcGFnZSArIDJdLFxuICAgICAgICAgICAgW3RvdGFsUGFnZXMgLSAyLCB0b3RhbFBhZ2VzIC0gMV0sXG4gICAgICAgIF07XG59XG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZnVuY3Rpb24gaXNMZWZ0U2VwZXJhdG9yKHJlYWxQYWdlOiBudW1iZXIsIHZpc2libGVQYWdlc0xlbmd0aDogbnVtYmVyLCBzZXBlcmF0b3JJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgLy8gSWYgd2UgaGF2ZSAyIHZpc2libGUgcGFnZXMsIHdlIGNhbiBkZXRlcm1pbmUgc2VwZXJhdG9yIGlzIGNsaWNrZWQgYnkgcmVhbFBhZ2UuXG4gICAgLy8gSWYgd2UgaGF2ZSAzIHZpc2libGUgcGFnZXMsIHdlIGNhbiBkZXRlcm1pbmUgc2VwZXJhdG9yIGlzIGNsaWNrZWQgYnkgaW5kZXguXG4gICAgaWYgKHZpc2libGVQYWdlc0xlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAocmVhbFBhZ2UgPCA1KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChzZXBlcmF0b3JJbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCAiY29uc3QgcHJlZml4ID0gXCJmYXNcIjtcbmNvbnN0IGZhMCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICcwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzMFwiLCBcIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMyczE2MCA3MS42IDE2MCAxNjBsMCAxMjhjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMEwwIDE5MnpNMTYwIDk2Yy01MyAwLTk2IDQzLTk2IDk2bDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xMjhjMC01My00My05Ni05Ni05NnpcIl1cbn07XG5jb25zdCBmYTEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMScsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiMzFcIiwgXCJNMTYwIDY0YzAtMTEuOC02LjUtMjIuNi0xNi45LTI4LjJzLTIzLTUtMzIuOCAxLjZsLTk2IDY0Qy0uNSAxMTEuMi00LjQgMTMxIDUuNCAxNDUuOHMyOS43IDE4LjcgNDQuNCA4LjlMOTYgMTIzLjggOTYgNDE2bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTM1MnpcIl1cbn07XG5jb25zdCBmYTIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzJcIiwgXCJNMTQyLjkgOTZjLTIxLjUgMC00Mi4yIDguNS01Ny40IDIzLjhMNTQuNiAxNTAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMNDAuMiA3NC41QzY3LjUgNDcuMyAxMDQuNCAzMiAxNDIuOSAzMkMyMjMgMzIgMjg4IDk3IDI4OCAxNzcuMWMwIDM4LjUtMTUuMyA3NS40LTQyLjUgMTAyLjZMMTA5LjMgNDE2IDI4OCA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOUwyMDAuMiAyMzQuNWMxNS4yLTE1LjIgMjMuOC0zNS45IDIzLjgtNTcuNGMwLTQ0LjgtMzYuMy04MS4xLTgxLjEtODEuMXpcIl1cbn07XG5jb25zdCBmYTMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnMycsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzNcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwyNDAgMGMxMy4yIDAgMjUgOC4xIDI5LjggMjAuNHMxLjUgMjYuMy04LjIgMzUuMkwxNjIuMyAyMDhsMjEuNyAwYzc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2cy02MC45IDEzNi0xMzYgMTM2bC03OC42IDBDNjMgNDgwIDI0LjIgNDU2IDUuMyA0MTguMWwtMS45LTMuOGMtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDEuOSAzLjhjOC4xIDE2LjMgMjQuOCAyNi41IDQyLjkgMjYuNWw3OC42IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJzLTMyLjItNzItNzItNzJMODAgMjcyYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuNHMtMS41LTI2LjMgOC4yLTM1LjJMMTg5LjcgOTYgMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpcIl1cbn07XG5jb25zdCBmYTQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnNCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiMzRcIiwgXCJNMTg5IDc3LjZjNy41LTE2IC43LTM1LjEtMTUuMy00Mi42cy0zNS4xLS43LTQyLjYgMTUuM0wzIDMyMi40Yy00LjcgOS45LTMuOSAyMS41IDEuOSAzMC44UzIxIDM2OCAzMiAzNjhsMjI0IDAgMCA4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtODAgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE0NEw4Mi40IDMwNCAxODkgNzcuNnpcIl1cbn07XG5jb25zdCBmYTUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnNScsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzVcIiwgXCJNMzIuNSA1OC4zQzM1LjMgNDMuMSA0OC41IDMyIDY0IDMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDkwLjcgOTYgNzAuMyAyMDggMTg0IDIwOGM3NS4xIDAgMTM2IDYwLjkgMTM2IDEzNnMtNjAuOSAxMzYtMTM2IDEzNmwtODMuNSAwYy0zOS40IDAtNzUuNC0yMi4zLTkzLTU3LjVsLTQuMS04LjJjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjlzMzUtMS41IDQyLjkgMTQuM2w0LjEgOC4yYzYuOCAxMy42IDIwLjYgMjIuMSAzNS44IDIyLjFsODMuNSAwYzM5LjggMCA3Mi0zMi4yIDcyLTcycy0zMi4yLTcyLTcyLTcyTDMyIDI3MmMtOS41IDAtMTguNS00LjItMjQuNi0xMS41cy04LjYtMTYuOS02LjktMjYuMmwzMi0xNzZ6XCJdXG59O1xuY29uc3QgZmE2ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzYnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjM2XCIsIFwiTTIzMi40IDg0LjdjMTEuNC0xMy41IDkuNy0zMy43LTMuOC00NS4xcy0zMy43LTkuNy00NS4xIDMuOEwzOC42IDIxNC43QzE0LjcgMjQyLjkgMS4xIDI3OC40IC4xIDMxNS4yYzAgMS40LS4xIDIuOS0uMSA0LjNsMCAuNWMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MHMxNjAtNzEuNiAxNjAtMTYwYzAtODUuNS02Ny4xLTE1NS40LTE1MS41LTE1OS44bDYzLjktNzUuNnpNMjU2IDMyMEE5NiA5NiAwIDEgMSA2NCAzMjBhOTYgOTYgMCAxIDEgMTkyIDB6XCJdXG59O1xuY29uc3QgZmE3ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJzcnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcIjM3XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMjU2IDBjMTEuNSAwIDIyIDYuMSAyNy43IDE2LjFzNS43IDIyLjItLjEgMzIuMWwtMjI0IDM4NGMtOC45IDE1LjMtMjguNSAyMC40LTQzLjggMTEuNXMtMjAuNC0yOC41LTExLjUtNDMuOEwyMzIuMyA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbmNvbnN0IGZhOCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICc4JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCIzOFwiLCBcIk0zMDQgMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC0zMiAwQzczLjMgMzIgMTYgODkuMyAxNiAxNjBjMCAzNC42IDEzLjcgNjYgMzYgODlDMjAuNSAyNzIuMyAwIDMwOS44IDAgMzUyYzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDY0IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhjMC00Mi4yLTIwLjUtNzkuNy01Mi0xMDNjMjIuMy0yMyAzNi01NC40IDM2LTg5ek0xNzYuMSAyODhsMTUuOSAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0bDE1LjkgMGMwIDAgLjEgMCAuMSAwbDMyIDBjMCAwIC4xIDAgLjEgMHptMC02NGMwIDAgMCAwIDAgMGwtMzIgMGMwIDAgMCAwIDAgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGMwIDM1LjMtMjguNiA2NC02NCA2NHpcIl1cbn07XG5jb25zdCBmYTkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnOScsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiMzlcIiwgXCJNNjQgMTkyYTk2IDk2IDAgMSAwIDE5MiAwQTk2IDk2IDAgMSAwIDY0IDE5MnptODcuNSAxNTkuOEM2Ny4xIDM0Ny40IDAgMjc3LjUgMCAxOTJDMCAxMDMuNiA3MS42IDMyIDE2MCAzMnMxNjAgNzEuNiAxNjAgMTYwYzAgMi42LS4xIDUuMy0uMiA3LjljLTEuNyAzNS43LTE1LjIgNzAtMzguNCA5Ny40bC0xNDUgMTcxLjRjLTExLjQgMTMuNS0zMS42IDE1LjItNDUuMSAzLjhzLTE1LjItMzEuNi0zLjgtNDUuMWw2My45LTc1LjZ6XCJdXG59O1xuY29uc3QgZmFGaWxsRHJpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxsLWRyaXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1NzZcIiwgXCJNNDEuNCA5LjRDNTMuOS0zLjEgNzQuMS0zLjEgODYuNiA5LjRMMTY4IDkwLjdsNTMuMS01My4xYzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEw0NzQuMyAxODkuMWMyOC4xIDI4LjEgMjguMSA3My43IDAgMTAxLjhMMjgzLjkgNDgxLjRjLTM3LjUgMzcuNS05OC4zIDM3LjUtMTM1LjggMEwzMC42IDM2My45Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjhMMTIyLjcgMTM2IDQxLjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6bTE3NiAyMjEuM0wxNjggMTgxLjMgNzUuOSAyNzMuNGMtNC4yIDQuMi03IDkuMy04LjQgMTQuNmwzMTkuMiAwIDQyLjMtNDIuM2MzLjEtMy4xIDMuMS04LjIgMC0xMS4zTDI3Ny43IDgyLjljLTMuMS0zLjEtOC4yLTMuMS0xMS4zIDBMMjEzLjMgMTM2bDQ5LjQgNDkuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHpNNTEyIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0yNS4yIDMyLjYtNzkuNiA1MS4yLTEwOC43YzYtOS40IDE5LjUtOS40IDI1LjUgMEM1NDMuNCAzNjguNCA1NzYgNDIyLjggNTc2IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NHpcIl1cbn07XG5jb25zdCBmYUFycm93c1RvQ2lyY2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10by1jaXJjbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YmRcIiwgXCJNOS40IDkuNEMyMS45LTMuMSA0Mi4xLTMuMSA1NC42IDkuNEwxNjAgMTE0LjcgMTYwIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NmMwIDQuMy0uOSA4LjUtMi40IDEyLjJjLTEuNiAzLjctMy44IDcuMy02LjkgMTAuM2wtLjEgLjFjLTMuMSAzLTYuNiA1LjMtMTAuMyA2LjljLTMuOCAxLjYtNy45IDIuNC0xMi4yIDIuNGwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC43IDBMOS40IDU0LjZDLTMuMSA0Mi4xLTMuMSAyMS45IDkuNCA5LjR6TTI1NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xMTQuNyAzNTJMOTYgMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBzMCAwIDAgMGwuMSAwYzguOCAwIDE2LjcgMy42IDIyLjUgOS4zbC4xIC4xYzMgMy4xIDUuMyA2LjYgNi45IDEwLjNjMS42IDMuOCAyLjQgNy45IDIuNCAxMi4ybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC43TDU0LjYgNTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDExNC43IDM1MnpNNDE2IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxOC43TDU4NS40IDkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDUyNS4zIDE2MGwxOC43IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTguOCAwLTE2LjgtMy42LTIyLjYtOS4zbC0uMS0uMWMtMy0zLjEtNS4zLTYuNi02LjktMTAuM3MtMi40LTcuOC0yLjQtMTIuMmwwLS4xczAgMCAwIDBsMC05NnpNNTI1LjMgMzUyTDYzMC42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDQ4MCAzOTcuM2wwIDE4LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NnMwIDAgMCAwbDAtLjFjMC00LjMgLjktOC40IDIuNC0xMi4yYzEuNi0zLjggMy45LTcuMyA2LjktMTAuNGM1LjgtNS44IDEzLjctOS4zIDIyLjUtOS40bC4xIDBzMCAwIDAgMGw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOC43IDB6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVDaGV2cm9uUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZXZyb24tcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNoZXZyb24tY2lyY2xlLXJpZ2h0XCJdLCBcImYxMzhcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMEEyNTYgMjU2IDAgMSAwIDAgMjU2ek0yNDEgMzc3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDg3LTg3LTg3LTg3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBMMzQ1IDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyNDEgMzc3elwiXVxufTtcbmNvbnN0IGZhQ2hldnJvbkNpcmNsZVJpZ2h0ID0gZmFDaXJjbGVDaGV2cm9uUmlnaHQ7XG5jb25zdCBmYUF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2F0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE5NDZdLCBcIjQwXCIsIFwiTTI1NiA2NEMxNTAgNjQgNjQgMTUwIDY0IDI1NnM4NiAxOTIgMTkyIDE5MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkMxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NlMxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2bDAgMzJjMCA1My00MyA5Ni05NiA5NmMtMjkuMyAwLTU1LjYtMTMuMi03My4yLTMzLjlDMzIwIDM3MS4xIDI4OS41IDM4NCAyNTYgMzg0Yy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4YzI3LjkgMCA1My43IDguOSA3NC43IDI0LjFjNS43LTUgMTMuMS04LjEgMjEuMy04LjFjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMmMwLTEwNi04Ni0xOTItMTkyLTE5MnptNjQgMTkyYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG5jb25zdCBmYVRyYXNoQ2FuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYXNoLWNhbicsXG4gIGljb246IFs0NDgsIDUxMiwgWzYxNDYwLCBcInRyYXNoLWFsdFwiXSwgXCJmMmVkXCIsIFwiTTEzNS4yIDE3LjdDMTQwLjYgNi44IDE1MS43IDAgMTYzLjggMEwyODQuMiAwYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDk2IDAgNy4yLTE0LjN6TTMyIDEyOGwzODQgMCAwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzIwem05NiA2NGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjI0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMjRjMC04LjgtNy4yLTE2LTE2LTE2em05NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyMjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTIyNGMwLTguOC03LjItMTYtMTYtMTZ6bTk2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDIyNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjI0YzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYVRyYXNoQWx0ID0gZmFUcmFzaENhbjtcbmNvbnN0IGZhVGV4dEhlaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZXh0LWhlaWdodCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjAzNFwiLCBcIk02NCAxMjhsMC0zMiA2NCAwIDAgMzIwLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMjAgNjQgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00OGMwLTI2LjUtMjEuNS00OC00OC00OEwxNjAgMzIgNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MGwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6TTUwMi42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGwzMiAwIDAgMTkyLTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44bC0zMiAwIDAtMTkyIDMyIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6XCJdXG59O1xuY29uc3QgZmFVc2VyWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW1widXNlci10aW1lc1wiXSwgXCJmMjM1XCIsIFwiTTk2IDEyOGExMjggMTI4IDAgMSAxIDI1NiAwQTEyOCAxMjggMCAxIDEgOTYgMTI4ek0wIDQ4Mi4zQzAgMzgzLjggNzkuOCAzMDQgMTc4LjMgMzA0bDkxLjQgMEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0wyOS43IDUxMkMxMy4zIDUxMiAwIDQ5OC43IDAgNDgyLjN6TTQ3MSAxNDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNDcgNDcgNDctNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00NyA0NyA0NyA0N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00Ny00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Ny00Ny00Ny00N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6XCJdXG59O1xuY29uc3QgZmFVc2VyVGltZXMgPSBmYVVzZXJYbWFyaztcbmNvbnN0IGZhU3RldGhvc2NvcGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RldGhvc2NvcGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjk2NThdLCBcImYwZjFcIiwgXCJNMTQyLjQgMjEuOWM1LjYgMTYuOC0zLjUgMzQuOS0yMC4yIDQwLjVMOTYgNzEuMSA5NiAxOTJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTEyMC45LTI2LjEtOC43Yy0xNi44LTUuNi0yNS44LTIzLjctMjAuMi00MC41czIzLjctMjUuOCA0MC41LTIwLjJsMjYuMSA4LjdDMzM0LjQgMTkuMSAzNTIgNDMuNSAzNTIgNzEuMUwzNTIgMTkyYzAgNzcuMi01NC42IDE0MS42LTEyNy4zIDE1Ni43QzIzMSA0MDQuNiAyNzguNCA0NDggMzM2IDQ0OGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMmwwLTcwLjdjLTI4LjMtMTIuMy00OC00MC41LTQ4LTczLjNjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgNzAuN2MwIDk3LjItNzguOCAxNzYtMTc2IDE3NmMtOTIuOSAwLTE2OC45LTcxLjktMTc1LjUtMTYzLjFDODcuMiAzMzQuMiAzMiAyNjkuNiAzMiAxOTJMMzIgNzEuMWMwLTI3LjUgMTcuNi01MiA0My44LTYwLjdsMjYuMS04LjdjMTYuOC01LjYgMzQuOSAzLjUgNDAuNSAyMC4yek00ODAgMjI0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYU1lc3NhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWVzc2FnZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29tbWVudC1hbHRcIl0sIFwiZjI3YVwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGw5NiAwIDAgODBjMCA2LjEgMy40IDExLjYgOC44IDE0LjNzMTEuOSAyLjEgMTYuOC0xLjVMMzA5LjMgNDE2IDQ0OCA0MTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpcIl1cbn07XG5jb25zdCBmYUNvbW1lbnRBbHQgPSBmYU1lc3NhZ2U7XG5jb25zdCBmYUluZm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5mbycsXG4gIGljb246IFsxOTIsIDUxMiwgW10sIFwiZjEyOVwiLCBcIk00OCA4MGE0OCA0OCAwIDEgMSA5NiAwQTQ4IDQ4IDAgMSAxIDQ4IDgwek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0xOTItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xuY29uc3QgZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29tcHJlc3MtYWx0XCJdLCBcImY0MjJcIiwgXCJNNDM5IDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMzIgMzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg3IDg3IDM5IDM5YzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJzLTEyLjUgMTQuOC0yMi4yIDE0LjhsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsMzkgMzlMNDM5IDd6TTcyIDI3MmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE0NGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zOS0zOUw3MyA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDcgNDczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4Ny04N0w1NSAzMTNjLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJzMTIuNS0xNC44IDIyLjItMTQuOHpcIl1cbn07XG5jb25zdCBmYUNvbXByZXNzQWx0ID0gZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlcjtcbmNvbnN0IGZhRXhwbG9zaW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V4cGxvc2lvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlOVwiLCBcIk00OTkuNiAxMS4zYzYuNy0xMC43IDIwLjUtMTQuNSAzMS43LTguNXMxNS44IDE5LjUgMTAuNiAzMUw0MDQuOCAzMzguNmMyLjIgMi4zIDQuMyA0LjcgNi4zIDcuMWw5Ny4yLTU0LjdjMTAuNS01LjkgMjMuNi0zLjEgMzAuOSA2LjRzNi4zIDIzLTIuMiAzMS41bC04NyA4Ny03MS40IDBjLTEzLjItMzcuMy00OC43LTY0LTkwLjUtNjRzLTc3LjQgMjYuNy05MC41IDY0bC03OS42IDBMNDIuMyAzNjMuN2MtOS43LTYuNy0xMy4xLTE5LjYtNy45LTMwLjNzMTcuNC0xNS45IDI4LjctMTIuNGw5Ny4yIDMwLjRjMy0zLjkgNi4xLTcuNyA5LjQtMTEuM0wxMDcuNCAyMzYuM2MtNi4xLTEwLjEtMy45LTIzLjEgNS4xLTMwLjdzMjIuMi03LjUgMzEuMSAuMUwyNDYgMjkzLjZjMS41LS40IDMtLjggNC41LTEuMWwxMy42LTE0Mi43YzEuMi0xMi4zIDExLjUtMjEuNyAyMy45LTIxLjdzMjIuNyA5LjQgMjMuOSAyMS43bDEzLjUgMTQxLjlMNDk5LjYgMTEuM3pNNjQgNDQ4czAgMCAwIDBsNDQ4IDBzMCAwIDAgMGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwek0yODggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjR6XCJdXG59O1xuY29uc3QgZmFGaWxlTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1saW5lcycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQ0MSwgMTI4NDYyLCA2MTY4NiwgXCJmaWxlLWFsdFwiLCBcImZpbGUtdGV4dFwiXSwgXCJmMTVjXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNMTEyIDI1NmwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUZpbGVBbHQgPSBmYUZpbGVMaW5lcztcbmNvbnN0IGZhRmlsZVRleHQgPSBmYUZpbGVMaW5lcztcbmNvbnN0IGZhV2F2ZVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YXZlLXNxdWFyZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjgzZVwiLCBcIk0xMjggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNTIgOTYgMCAwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzUyLTk2IDAgMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDAgMC0xNjB6XCJdXG59O1xuY29uc3QgZmFSaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3MGJcIiwgXCJNNjQgMjA4YzAgNy44IDQuNCAxOC43IDE3LjEgMzAuM0MxMjYuNSAyMTQuMSAxODguOSAyMDAgMjU2IDIwMHMxMjkuNSAxNC4xIDE3NC45IDM4LjNDNDQzLjYgMjI2LjcgNDQ4IDIxNS44IDQ0OCAyMDhjMC0xMi4zLTEwLjgtMzItNDcuOS01MC42QzM2NC45IDEzOS44IDMxNCAxMjggMjU2IDEyOHMtMTA4LjkgMTEuOC0xNDQuMSAyOS40Qzc0LjggMTc2IDY0IDE5NS43IDY0IDIwOHptMTkyIDQwYy00NyAwLTg5LjMgNy42LTEyMi45IDE5LjdDMTY2LjMgMjgwLjIgMjA4LjggMjg4IDI1NiAyODhzODkuNy03LjggMTIyLjktMjAuM0MzNDUuMyAyNTUuNiAzMDMgMjQ4IDI1NiAyNDh6TTAgMjA4YzAtNDkuNiAzOS40LTg1LjggODMuMy0xMDcuOEMxMjkuMSA3Ny4zIDE5MC4zIDY0IDI1NiA2NHMxMjYuOSAxMy4zIDE3Mi43IDM2LjJjNDMuOSAyMiA4My4zIDU4LjIgODMuMyAxMDcuOGwwIDk2YzAgNDkuNi0zOS40IDg1LjgtODMuMyAxMDcuOEMzODIuOSA0MzQuNyAzMjEuNyA0NDggMjU2IDQ0OHMtMTI2LjktMTMuMy0xNzIuNy0zNi4yQzM5LjQgMzg5LjggMCAzNTMuNiAwIDMwNGwwLTk2elwiXVxufTtcbmNvbnN0IGZhQnVpbGRpbmdVbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy11bicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRkOVwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC00MTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yMzcuMyA3MS4xbDM0LjcgNTJMMjcyIDgwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyIDAgNDMuMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTEyIDgwbDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA2NGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFEaWNlVGhyZWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS10aHJlZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4NThdLCBcImY1MjdcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTI4IDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUNhbGVuZGFyRGF5cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1kYXlzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJjYWxlbmRhci1hbHRcIl0sIFwiZjA3M1wiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnptNjQgODBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTI4IDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTQ0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTY0IDQwMGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFDYWxlbmRhckFsdCA9IGZhQ2FsZW5kYXJEYXlzO1xuY29uc3QgZmFBbmNob3JDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmNob3ItY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGFhXCIsIFwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0yMS4xIDgwQzM2NyAxNTguOCAzODQgMTI5LjQgMzg0IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMzMuNCAxNyA2Mi44IDQyLjkgODBMMjI0IDE3NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMjA4LTQ4IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC02LjEgNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw5NyAyNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDcgMzE5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNy03IDAgNi4xYzAgODguNCA3MS42IDE2MCAxNjAgMTYwbDgwIDAgODAgMGM4LjIgMCAxNi4zLS42IDI0LjItMS44Yy0yMi4yLTE2LjItNDAuNC0zNy41LTUzLTYyLjJMMzIwIDQ0OGwwLTgwIDAtMTI4IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEwLjkgMHpNNjQwIDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG5jb25zdCBmYUJ1aWxkaW5nQ2lyY2xlQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZDFcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBMMzM2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxODQuMmMtMzkuMSAzMi4zLTY0IDgxLjEtNjQgMTM1LjhjMCA0OS41IDIwLjQgOTQuMiA1My4zIDEyNi4yQzM2NC41IDUwNS4xIDM1MS4xIDUxMiAzMzYgNTEybC05NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCA4MC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTEyLTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTY0IDExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNkw4MCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNzYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptOTYgMjU2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0MC43LTY3LjNjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42TDUyMS40IDM1MiA0MzIgMzUyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDg5LjQgMC0yOC43IDI4LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni01NmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNTYtNTZjLTYuMi02LjItMTYuNC02LjItMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhVm9sbGV5YmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2b2xsZXliYWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTUyLCBcInZvbGxleWJhbGwtYmFsbFwiXSwgXCJmNDVmXCIsIFwiTTUxMS44IDI2Ny40Yy0yNi4xIDguNy01My40IDEzLjgtODEgMTUuMWM5LjItMTA1LjMtMzEuNS0yMDQuMi0xMDMuMi0yNzIuNEM0MzQuMSA0MS4xIDUxMiAxMzkuNSA1MTIgMjU2YzAgMy44LS4xIDcuNi0uMiAxMS40em0tMy45IDM0LjdjLTUuOCAzMi0xNy42IDYyLTM0LjIgODguN2MtOTcuNSA0OC41LTIxNy43IDQyLjYtMzExLjktMjQuNWMyMy43LTM2LjIgNTUuNC02Ny43IDk0LjUtOTEuOGM3OS45IDQzLjIgMTcwLjEgNTAuOCAyNTEuNiAyNy42em0tMjM2LTU1LjVjLTIuNS05MC45LTQxLjEtMTcyLjctMTAxLjktMjMxLjdDMTk2LjggNS4yIDIyNS44IDAgMjU2IDBjMi43IDAgNS4zIDAgNy45IC4xYzkwLjggNjAuMiAxNDUuNyAxNjcuMiAxMzQuNyAyODIuM2MtNDMuMS0yLjQtODYuNC0xNC4xLTEyNi44LTM1Ljl6TTEzOCAyOC44YzIwLjYgMTguMyAzOC43IDM5LjQgNTMuNyA2Mi42Qzk1LjkgMTM2LjEgMzAuNiAyMjAuOCA3LjMgMzE2LjlDMi41IDI5Ny40IDAgMjc3IDAgMjU2QzAgMTU3LjIgNTYgNzEuNSAxMzggMjguOHptNjkuNiA5MC41YzE5LjUgMzguNiAzMSA4MS45IDMyLjMgMTI3LjdDMTYyLjUgMjk0LjYgMTEwLjkgMzY4LjkgOTAuMiA0NTFDNjYgNDMwLjQgNDUuNiA0MDUuNCAzMC40IDM3Ny4yYzYuNy0xMDguNyA3MS45LTIwOS45IDE3Ny4xLTI1Ny45ek0yNTYgNTEyYy01MC43IDAtOTgtMTQuNy0xMzcuOC00MC4yYzUuNi0yNyAxNC44LTUzLjEgMjcuNC03Ny43QzIzMi4yIDQ1NC42IDMzOC4xIDQ2OC44IDQzMyA0NDFjLTQ2IDQ0LTEwOC4zIDcxLTE3NyA3MXpcIl1cbn07XG5jb25zdCBmYVZvbGxleWJhbGxCYWxsID0gZmFWb2xsZXliYWxsO1xuY29uc3QgZmFBcnJvd3NVcFRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdXAtdG8tbGluZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRjMlwiLCBcIk0zMiA5Nmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZ6TTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAyMzcuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIxMC43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2em0zMjAgNDUuM2MxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMEw0MTYgMjM3LjMgNDE2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjEwLjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zelwiXVxufTtcbmNvbnN0IGZhU29ydERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc29ydC1kb3duJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJzb3J0LWRlc2NcIl0sIFwiZjBkZFwiLCBcIk0xODIuNiA0NzAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTEyOC0xMjhjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45czE2LjYtMTkuOCAyOS42LTE5LjhsMjU2IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOWwtMTI4IDEyOHpcIl1cbn07XG5jb25zdCBmYVNvcnREZXNjID0gZmFTb3J0RG93bjtcbmNvbnN0IGZhQ2lyY2xlTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJtaW51cy1jaXJjbGVcIl0sIFwiZjA1NlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTg0IDIzMmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xuY29uc3QgZmFNaW51c0NpcmNsZSA9IGZhQ2lyY2xlTWludXM7XG5jb25zdCBmYURvb3JPcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvb3Itb3BlbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjUyYlwiLCBcIk0zMjAgMzJjMC05LjktNC41LTE5LjItMTIuMy0yNS4yUzI4OS44LTEuNCAyODAuMiAxbC0xNzkuOSA0NUM3OSA1MS4zIDY0IDcwLjUgNjQgOTIuNUw2NCA0NDhsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMCAxOTIgMCAzMiAwIDAtMzIgMC00NDh6TTI1NiAyNTZjMCAxNy43LTEwLjcgMzItMjQgMzJzLTI0LTE0LjMtMjQtMzJzMTAuNy0zMiAyNC0zMnMyNCAxNC4zIDI0IDMyem05Ni0xMjhsOTYgMCAwIDM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC05NiAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFSaWdodEZyb21CcmFja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpZ2h0LWZyb20tYnJhY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnbi1vdXQtYWx0XCJdLCBcImYyZjVcIiwgXCJNMzc3LjkgMTA1LjlMNTAwLjcgMjI4LjdjNy4yIDcuMiAxMS4zIDE3LjEgMTEuMyAyNy4zcy00LjEgMjAuMS0xMS4zIDI3LjNMMzc3LjkgNDA2LjFjLTYuNCA2LjQtMTUgOS45LTI0IDkuOWMtMTguNyAwLTMzLjktMTUuMi0zMy45LTMzLjlsMC02Mi4xLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwIDAtNjIuMWMwLTE4LjcgMTUuMi0zMy45IDMzLjktMzMuOWM5IDAgMTcuNiAzLjYgMjQgOS45ek0xNjAgOTZMOTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTUzIDAtOTYtNDMtOTYtOTZMMCAxMjhDMCA3NSA0MyAzMiA5NiAzMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhU2lnbk91dEFsdCA9IGZhUmlnaHRGcm9tQnJhY2tldDtcbmNvbnN0IGZhQXRvbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhdG9tJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg4M10sIFwiZjVkMlwiLCBcIk0yNTYgMzk4LjhjLTExLjggNS4xLTIzLjQgOS43LTM0LjkgMTMuNWMxNi43IDMzLjggMzEgMzUuNyAzNC45IDM1LjdzMTguMS0xLjkgMzQuOS0zNS43Yy0xMS40LTMuOS0yMy4xLTguNC0zNC45LTEzLjV6TTQ0NiAyNTZjMzMgNDUuMiA0NC4zIDkwLjkgMjMuNiAxMjhjLTIwLjIgMzYuMy02Mi41IDQ5LjMtMTE1LjIgNDMuMmMtMjIgNTIuMS01NS42IDg0LjgtOTguNCA4NC44cy03Ni40LTMyLjctOTguNC04NC44Yy01Mi43IDYuMS05NS02LjgtMTE1LjItNDMuMkMyMS43IDM0Ni45IDMzIDMwMS4yIDY2IDI1NmMtMzMtNDUuMi00NC4zLTkwLjktMjMuNi0xMjhjMjAuMi0zNi4zIDYyLjUtNDkuMyAxMTUuMi00My4yQzE3OS42IDMyLjcgMjEzLjIgMCAyNTYgMHM3Ni40IDMyLjcgOTguNCA4NC44YzUyLjctNi4xIDk1IDYuOCAxMTUuMiA0My4yYzIwLjcgMzcuMSA5LjQgODIuOC0yMy42IDEyOHptLTY1LjggNjcuNGMtMS43IDE0LjItMy45IDI4LTYuNyA0MS4yYzMxLjggMS40IDM4LjYtOC43IDQwLjItMTEuN2MyLjMtNC4yIDctMTcuOS0xMS45LTQ4LjFjLTYuOCA2LjMtMTQgMTIuNS0yMS42IDE4LjZ6bS02LjctMTc1LjljMi44IDEzLjEgNSAyNi45IDYuNyA0MS4yYzcuNiA2LjEgMTQuOCAxMi4zIDIxLjYgMTguNmMxOC45LTMwLjIgMTQuMi00NCAxMS45LTQ4LjFjLTEuNi0yLjktOC40LTEzLTQwLjItMTEuN3pNMjkwLjkgOTkuN0MyNzQuMSA2NS45IDI1OS45IDY0IDI1NiA2NHMtMTguMSAxLjktMzQuOSAzNS43YzExLjQgMy45IDIzLjEgOC40IDM0LjkgMTMuNWMxMS44LTUuMSAyMy40LTkuNyAzNC45LTEzLjV6bS0xNTkgODguOWMxLjctMTQuMyAzLjktMjggNi43LTQxLjJjLTMxLjgtMS40LTM4LjYgOC43LTQwLjIgMTEuN2MtMi4zIDQuMi03IDE3LjkgMTEuOSA0OC4xYzYuOC02LjMgMTQtMTIuNSAyMS42LTE4LjZ6TTExMC4yIDMwNC44QzkxLjQgMzM1IDk2IDM0OC43IDk4LjMgMzUyLjljMS42IDIuOSA4LjQgMTMgNDAuMiAxMS43Yy0yLjgtMTMuMS01LTI2LjktNi43LTQxLjJjLTcuNi02LjEtMTQuOC0xMi4zLTIxLjYtMTguNnpNMzM2IDI1NmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6bS04MC0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFTb2FwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvYXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MzJdLCBcImUwNmVcIiwgXCJNMjA4IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMzIwIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNNDE2IDMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAgMTYwYzAgMjcuNi0xMS43IDUyLjUtMzAuNCA3MC4xQzQyMi4xIDI3NS43IDQ0OCAzMTAuOCA0NDggMzUyYzAgNTMtNDMgOTYtOTYgOTZsLTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2bDg4LjQgMGMtMTUuMi0xNy0yNC40LTM5LjQtMjQuNC02NEw5NiAxOTJjLTUzIDAtOTYgNDMtOTYgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwzMjAgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZ6TTE2MCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0czI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRsLTMyIDAtMTYwIDB6XCJdXG59O1xuY29uc3QgZmFJY29ucyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpY29ucycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHRcIl0sIFwiZjg2ZFwiLCBcIk01MDAuMyA3LjNDNTA3LjcgMTMuMyA1MTIgMjIuNCA1MTIgMzJsMCAxNDRjMCAyNi41LTI4LjcgNDgtNjQgNDhzLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGwwLTU3TDM1MiA5MC4yIDM1MiAyMDhjMCAyNi41LTI4LjcgNDgtNjQgNDhzLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGwwLTk2YzAtMTUuMyAxMC44LTI4LjQgMjUuNy0zMS40bDE2MC0zMmM5LjQtMS45IDE5LjEgLjYgMjYuNiA2LjZ6TTc0LjcgMzA0bDExLjgtMTcuOGM1LjktOC45IDE1LjktMTQuMiAyNi42LTE0LjJsNjEuNyAwYzEwLjcgMCAyMC43IDUuMyAyNi42IDE0LjJMMjEzLjMgMzA0bDI2LjcgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzUyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI2LjcgMHpNMTkyIDQwOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NzguNyAyNzguM0w0NDAuMyAzNjhsNTUuNyAwYzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRzLjYgMTMuMy00LjQgMTcuN2wtMTI4IDExMmMtNS42IDQuOS0xMy45IDUuMy0xOS45IC45cy04LjItMTIuNC01LjMtMTkuMkwzOTEuNyA0MDAgMzM2IDQwMGMtNi43IDAtMTIuNi00LjEtMTUtMTAuNHMtLjYtMTMuMyA0LjQtMTcuN2wxMjgtMTEyYzUuNi00LjkgMTMuOS01LjMgMTkuOS0uOXM4LjIgMTIuNCA1LjMgMTkuMnptLTMzOS01OS4yYy02LjUgNi41LTE3IDYuNS0yMyAwTDE5LjkgMTE5LjJjLTI4LTI5LTI2LjUtNzYuOSA1LTEwMy45YzI3LTIzLjUgNjguNC0xOSA5My40IDYuNWwxMCAxMC41IDkuNS0xMC41YzI1LTI1LjUgNjUuOS0zMCA5My45LTYuNWMzMSAyNyAzMi41IDc0LjkgNC41IDEwMy45bC05Ni40IDk5Ljl6XCJdXG59O1xuY29uc3QgZmFIZWFydE11c2ljQ2FtZXJhQm9sdCA9IGZhSWNvbnM7XG5jb25zdCBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3JvcGhvbmUtbGluZXMtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcIm1pY3JvcGhvbmUtYWx0LXNsYXNoXCJdLCBcImY1MzlcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0NzIuMSAzNDQuN2MxNS4yLTI2IDIzLjktNTYuMyAyMy45LTg4LjdsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI0IDAgMTZjMCAyMS4yLTUuMSA0MS4xLTE0LjIgNTguN0w0MTYgMzAwLjhsMC00NC44LTU3LjEgMC0zNC41LTI3YzIuOS0zLjEgNy01IDExLjYtNWw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgNTQuM0wzOC44IDUuMXptMzYyLjUgNDA3bC00My4xLTMzLjlDMzQ2LjEgMzgyIDMzMy4zIDM4NCAzMjAgMzg0Yy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOGwwLTguN0wxNDQuNyAyMTBjLS41IDEuOS0uNyAzLjktLjcgNmwwIDQwYzAgODkuMSA2Ni4yIDE2Mi43IDE1MiAxNzQuNGwwIDMzLjYtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC0zMy42YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMnpcIl1cbn07XG5jb25zdCBmYU1pY3JvcGhvbmVBbHRTbGFzaCA9IGZhTWljcm9waG9uZUxpbmVzU2xhc2g7XG5jb25zdCBmYUJyaWRnZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YzlcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJsNDAgMCAwIDY0LTcyIDAgMCAxMjhjNTMgMCA5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2YzYuMyAwIDEyLjQgLjYgMTguMyAxLjdDMzY3LjEgMjMxLjggNDI2LjkgMTkyIDQ5NiAxOTJjNDIuNSAwIDgxLjYgMTUuMSAxMTIgNDAuMmwwLTcyLjItNzIgMCAwLTY0IDQwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMzJ6TTQ4OCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0zNjAgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjMyIDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTY0MCAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xuY29uc3QgZmFQdW1wTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwdW1wLW1lZGljYWwnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwNmFcIiwgXCJNMTI4IDMybDAgOTYgMTI4IDAgMC0zMiA2MC4xIDBjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2wzMy45IDMzLjljMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzNzIuNyA1NS40Yy0xNS0xNS0zNS40LTIzLjQtNTYuNi0yMy40TDI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTExNy40IDE2MGMtMzMuMyAwLTYxIDI1LjUtNjMuOCA1OC43TDM1IDQ0Mi43QzMxLjkgNDgwIDYxLjMgNTEyIDk4LjggNTEybDE4Ni40IDBjMzcuNCAwIDY2LjktMzIgNjMuOC02OS4zbC0xOC43LTIyNGMtMi44LTMzLjItMzAuNS01OC43LTYzLjgtNTguN2wtMTQ5LjEgMHpNMjE2IDI4MGwwIDMyIDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDAgMCAzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTMyLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzIgMCAwLTMyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xuY29uc3QgZmFGaW5nZXJwcmludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaW5nZXJwcmludCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU3N1wiLCBcIk00OCAyNTZDNDggMTQxLjEgMTQxLjEgNDggMjU2IDQ4YzYzLjEgMCAxMTkuNiAyOC4xIDE1Ny44IDcyLjVjOC42IDEwLjEgMjMuOCAxMS4yIDMzLjggMi42czExLjItMjMuOCAyLjYtMzMuOEM0MDMuMyAzNC42IDMzMy43IDAgMjU2IDBDMTE0LjYgMCAwIDExNC42IDAgMjU2bDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwem00NTguNS01Mi45Yy0yLjctMTMtMTUuNS0yMS4zLTI4LjQtMTguNXMtMjEuMyAxNS41LTE4LjUgMjguNGMyLjkgMTMuOSA0LjUgMjguMyA0LjUgNDMuMWwwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MGMwLTE4LjEtMS45LTM1LjgtNS41LTUyLjl6TTI1NiA4MGMtMTkgMC0zNy40IDMtNTQuNSA4LjZjLTE1LjIgNS0xOC43IDIzLjctOC4zIDM1LjljNy4xIDguMyAxOC44IDEwLjggMjkuNCA3LjljMTAuNi0yLjkgMjEuOC00LjQgMzMuNC00LjRjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAyNC45YzAgMjUuMi0xLjUgNTAuMy00LjQgNzUuM2MtMS43IDE0LjYgOS40IDI3LjggMjQuMiAyNy44YzExLjggMCAyMS45LTguNiAyMy4zLTIwLjNjMy4zLTI3LjQgNS01NSA1LTgyLjdsMC0yNC45YzAtOTcuMi03OC44LTE3Ni0xNzYtMTc2ek0xNTAuNyAxNDguN2MtOS4xLTEwLjYtMjUuMy0xMS40LTMzLjktLjRDOTMuNyAxNzggODAgMjE1LjQgODAgMjU2bDAgMjQuOWMwIDI0LjItMi42IDQ4LjQtNy44IDcxLjlDNjguOCAzNjguNCA4MC4xIDM4NCA5Ni4xIDM4NGMxMC41IDAgMTkuOS03IDIyLjItMTcuM2M2LjQtMjguMSA5LjctNTYuOCA5LjctODUuOGwwLTI0LjljMC0yNy4yIDguNS01Mi40IDIyLjktNzMuMWM3LjItMTAuNCA4LTI0LjYtLjItMzQuMnpNMjU2IDE2MGMtNTMgMC05NiA0My05NiA5NmwwIDI0LjljMCAzNS45LTQuNiA3MS41LTEzLjggMTA2LjFjLTMuOCAxNC4zIDYuNyAyOSAyMS41IDI5YzkuNSAwIDE3LjktNi4yIDIwLjQtMTUuNGMxMC41LTM5IDE1LjktNzkuMiAxNS45LTExOS43bDAtMjQuOWMwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUybDAgMjQuOWMwIDM2LjMtMy41IDcyLjQtMTAuNCAxMDcuOWMtMi43IDEzLjkgNy43IDI3LjIgMjEuOCAyNy4yYzEwLjIgMCAxOS03IDIxLTE3YzcuNy0zOC44IDExLjYtNzguMyAxMS42LTExOC4xbDAtMjQuOWMwLTUzLTQzLTk2LTk2LTk2em0yNCA5NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI0LjljMCA1OS45LTExIDExOS4zLTMyLjUgMTc1LjJsLTUuOSAxNS4zYy00LjggMTIuNCAxLjQgMjYuMyAxMy44IDMxczI2LjMtMS40IDMxLTEzLjhsNS45LTE1LjNDMjY3LjkgNDExLjkgMjgwIDM0Ni43IDI4MCAyODAuOWwwLTI0Ljl6XCJdXG59O1xuY29uc3QgZmFIYW5kUG9pbnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBvaW50LXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMGE0XCIsIFwiTTQ4MCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjA4IDAgMC02NCAyMDggMHpNMzIwIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwem02NC02NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0yODggMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDB6bS04OC05NmwuNiAwYy01LjQgOS40LTguNiAyMC4zLTguNiAzMmMwIDEzLjIgNCAyNS40IDEwLjggMzUuNkMxNzcuOSAzNjQuMyAxNjAgMzg4LjEgMTYwIDQxNmMwIDExLjcgMy4xIDIyLjYgOC42IDMybC04LjYgMEM3MS42IDQ0OCAwIDM3Ni40IDAgMjg4bDAtNjEuN2MwLTQyLjQgMTYuOS04My4xIDQ2LjktMTEzLjFsMTEuNi0xMS42QzgyLjUgNzcuNSAxMTUuMSA2NCAxNDkgNjRsMjcgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDg4YzAgMjIuMS0xNy45IDQwLTQwIDQwcy00MC0xNy45LTQwLTQwbDAtNTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA1NmMwIDM5LjggMzIuMiA3MiA3MiA3MnpcIl1cbn07XG5jb25zdCBmYU1hZ25pZnlpbmdHbGFzc0xvY2F0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNlYXJjaC1sb2NhdGlvblwiXSwgXCJmNjg5XCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTI4OCAxNzZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCA0OC44IDQ2LjUgMTExLjYgNjguNiAxMzguNmM2IDcuMyAxNi44IDcuMyAyMi43IDBjMjIuMS0yNyA2OC42LTg5LjggNjguNi0xMzguNnptLTExMiAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFTZWFyY2hMb2NhdGlvbiA9IGZhTWFnbmlmeWluZ0dsYXNzTG9jYXRpb247XG5jb25zdCBmYUZvcndhcmRTdGVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvcndhcmQtc3RlcCcsXG4gIGljb246IFszMjAsIDUxMiwgW1wic3RlcC1mb3J3YXJkXCJdLCBcImYwNTFcIiwgXCJNNTIuNSA0NDAuNmMtOS41IDcuOS0yMi44IDkuNy0zNC4xIDQuNFMwIDQyOC40IDAgNDE2TDAgOTZDMCA4My42IDcuMiA3Mi4zIDE4LjQgNjdzMjQuNS0zLjYgMzQuMSA0LjRsMTkyIDE2MEwyNTYgMjQxbDAtMTQ1YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDUtMTEuNSA5LjYtMTkyIDE2MHpcIl1cbn07XG5jb25zdCBmYVN0ZXBGb3J3YXJkID0gZmFGb3J3YXJkU3RlcDtcbmNvbnN0IGZhRmFjZVNtaWxlQmVhbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXNtaWxlLWJlYW0nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MjIsIFwic21pbGUtYmVhbVwiXSwgXCJmNWI4XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuMSAzMjUuNUMxODIgMzQ2LjIgMjEyLjYgMzY4IDI1NiAzNjhzNzQtMjEuOCA5MS45LTQyLjVjNS44LTYuNyAxNS45LTcuNCAyMi42LTEuNnM3LjQgMTUuOSAxLjYgMjIuNkMzNDkuOCAzNzIuMSAzMTEuMSA0MDAgMjU2IDQwMHMtOTMuOC0yNy45LTExNi4xLTUzLjVjLTUuOC02LjctNS4xLTE2LjggMS42LTIyLjZzMTYuOC01LjEgMjIuNiAxLjZ6bTUzLjUtOTYuN3MwIDAgMCAwYzAgMCAwIDAgMCAwbC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMmMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGMwIDAgMCAwIDAgMHMwIDAgMCAwem0xNjAgMGMwIDAgMCAwIDAgMGwtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjJjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwelwiXVxufTtcbmNvbnN0IGZhU21pbGVCZWFtID0gZmFGYWNlU21pbGVCZWFtO1xuY29uc3QgZmFGbGFnQ2hlY2tlcmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZsYWctY2hlY2tlcmVkJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3OTM3XSwgXCJmMTFlXCIsIFwiTTMyIDBDNDkuNyAwIDY0IDE0LjMgNjQgMzJsMCAxNiA2OS0xNy4yYzM4LjEtOS41IDc4LjMtNS4xIDExMy41IDEyLjVjNDYuMyAyMy4yIDEwMC44IDIzLjIgMTQ3LjEgMGw5LjYtNC44QzQyMy44IDI4LjEgNDQ4IDQzLjEgNDQ4IDY2LjFsMCAyNzkuN2MwIDEzLjMtOC4zIDI1LjMtMjAuOCAzMGwtMzQuNyAxM2MtNDYuMiAxNy4zLTk3LjYgMTQuNi0xNDEuNy03LjRjLTM3LjktMTktODEuMy0yMy43LTEyMi41LTEzLjRMNjQgMzg0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04MCAwLTY2TDAgNjQgMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDB6TTY0IDE4Ny4xbDY0LTEzLjkgMCA2NS41TDY0IDI1Mi42IDY0IDMxOGw0OC44LTEyLjJjNS4xLTEuMyAxMC4xLTIuNCAxNS4yLTMuM2wwLTYzLjkgMzguOS04LjRjOC4zLTEuOCAxNi43LTIuNSAyNS4xLTIuMWwwLTY0YzEzLjYgLjQgMjcuMiAyLjYgNDAuNCA2LjRsMjMuNiA2LjkgMCA2Ni43LTQxLjctMTIuM2MtNy4zLTIuMS0xNC44LTMuNC0yMi4zLTMuOGwwIDcxLjRjMjEuOCAxLjkgNDMuMyA2LjcgNjQgMTQuNGwwLTY5LjggMjIuNyA2LjdjMTMuNSA0IDI3LjMgNi40IDQxLjMgNy40bDAtNjQuMmMtNy44LS44LTE1LjYtMi4zLTIzLjItNC41bC00MC44LTEyIDAtNjJjLTEzLTMuOC0yNS44LTguOC0zOC4yLTE1Yy04LjItNC4xLTE2LjktNy0yNS44LTguOGwwIDcyLjRjLTEzLS40LTI2IC44LTM4LjcgMy42TDEyOCAxNzMuMiAxMjggOTggNjQgMTE0bDAgNzMuMXpNMzIwIDMzNS43YzE2LjggMS41IDMzLjktLjcgNTAtNi44bDE0LTUuMiAwLTcxLjctNy45IDEuOGMtMTguNCA0LjMtMzcuMyA1LjctNTYuMSA0LjVsMCA3Ny40em02NC0xNDkuNGwwLTcwLjhjLTIwLjkgNi4xLTQyLjQgOS4xLTY0IDkuMWwwIDY5LjRjMTMuOSAxLjQgMjggLjUgNDEuNy0yLjZsMjIuMy01LjJ6XCJdXG59O1xuY29uc3QgZmFGb290YmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb290YmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk0NCwgXCJmb290YmFsbC1iYWxsXCJdLCBcImY0NGVcIiwgXCJNMjQ3LjUgMjUuNGMtMTMuNSAzLjMtMjYuNCA3LjItMzguNiAxMS43QzE0Mi45IDYxLjYgOTYuNyAxMDMuNiA2NiAxNTMuNkM0Ny44IDE4My40IDM1LjEgMjE1LjkgMjYuOSAyNDlMMjY0LjUgNDg2LjZjMTMuNS0zLjMgMjYuNC03LjIgMzguNi0xMS43YzY2LTI0LjUgMTEyLjItNjYuNSAxNDIuOS0xMTYuNWMxOC4zLTI5LjggMzAuOS02Mi4zIDM5LjEtOTUuM0wyNDcuNSAyNS40ek00OTUuMiAyMDUuM2M2LjEtNTYuOCAxLjQtMTEyLjItNy43LTE1Ni40Yy0yLjctMTIuOS0xMy0yMi45LTI2LjEtMjUuMWMtNTguMi05LjctMTA5LjktMTItMTU1LjYtNy45TDQ5NS4yIDIwNS4zek0yMDYuMSA0OTZMMTYuOCAzMDYuN2MtNi4xIDU2LjgtMS40IDExMi4yIDcuNyAxNTYuNGMyLjcgMTIuOSAxMyAyMi45IDI2LjEgMjUuMWM1OC4yIDkuNyAxMDkuOSAxMiAxNTUuNiA3Ljl6bTU0LjYtMzMxLjNjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42em0tNDggNDhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42em0tNDggNDhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNjQgNjRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbmNvbnN0IGZhRm9vdGJhbGxCYWxsID0gZmFGb290YmFsbDtcbmNvbnN0IGZhU2Nob29sQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2Y1wiLCBcIk0zMzcuOCA1LjRDMzI3LTEuOCAzMTMtMS44IDMwMi4yIDUuNEwxNjYuMyA5NiA0OCA5NkMyMS41IDk2IDAgMTE3LjUgMCAxNDRMMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMjcyIDBzMCAwIDAgMGwtNjQgMCAwLTk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bC4zIDAgLjUgMGMzLjQtMzcuNyAxOC43LTcyLjEgNDIuMi05OS4xQzM1MC4yIDI2MCAzMzUuNiAyNjQgMzIwIDI2NGMtNDguNiAwLTg4LTM5LjQtODgtODhzMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgMTguMy01LjYgMzUuMy0xNS4xIDQ5LjRjMjktMjEgNjQuNi0zMy40IDEwMy4xLTMzLjRjNTkuNSAwIDExMi4xIDI5LjYgMTQ0IDc0LjhMNjQwIDE0NGMwLTI2LjUtMjEuNS00OC00OC00OEw0NzMuNyA5NiAzMzcuOCA1LjR6TTk2IDE5MmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDY0YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2em0wIDEyOGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDY0YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2ek0zMjAgMTI4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMCAwLTE2YzAtOC44LTcuMi0xNi0xNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUNyb3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JvcCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjEyNVwiLCBcIk00NDggMTA5LjNsNTQuNi01NC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDQwMi43IDY0IDE2MCA2NGwwIDY0IDE3OC43IDBMMTI4IDMzOC43IDEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMybDAgMzJMMzIgNjRDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDMyIDAgMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDAgMC02NC0xNzguNyAwTDM4NCAxNzMuMyAzODQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMjc0Ljd6XCJdXG59O1xuY29uc3QgZmFBbmdsZXNEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuZ2xlcy1kb3duJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJhbmdsZS1kb3VibGUtZG93blwiXSwgXCJmMTAzXCIsIFwiTTI0Ni42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwyMjQgNDAyLjcgMzYxLjQgMjY1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MHptMTYwLTM1MmwtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMjI0IDIxMC43IDM2MS40IDczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pcIl1cbn07XG5jb25zdCBmYUFuZ2xlRG91YmxlRG93biA9IGZhQW5nbGVzRG93bjtcbmNvbnN0IGZhVXNlcnNSZWN0YW5nbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtcmVjdGFuZ2xlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTk0XCIsIFwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5Nmw0NDggMGM1MyAwIDk2LTQzIDk2LTk2bDAtMzIwYzAtNTMtNDMtOTYtOTYtOTZMOTYgMHpNNjQgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMkw2NCA5NnptMTU5LjggODBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNOTYgMzA5LjNjMCAxNC43IDExLjkgMjYuNyAyNi43IDI2LjdsNTYuMSAwYzgtMzQuMSAzMi44LTYxLjcgNjUuMi03My42Yy03LjUtNC4xLTE2LjItNi40LTI1LjMtNi40bC02OS4zIDBDMTE5LjkgMjU2IDk2IDI3OS45IDk2IDMwOS4zek00NjEuMiAzMzZsNTYuMSAwYzE0LjcgMCAyNi43LTExLjkgMjYuNy0yNi43YzAtMjkuNS0yMy45LTUzLjMtNTMuMy01My4zbC02OS4zIDBjLTkuMiAwLTE3LjggMi4zLTI1LjMgNi40YzMyLjQgMTEuOSA1Ny4yIDM5LjUgNjUuMiA3My42ek0zNzIgMjg5Yy0zLjktLjctNy45LTEtMTItMWwtODAgMGMtNC4xIDAtOC4xIC4zLTEyIDFjLTI2IDQuNC00Ny4zIDIyLjctNTUuOSA0N2MtMi43IDcuNS00LjEgMTUuNi00LjEgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRjMC04LjQtMS40LTE2LjUtNC4xLTI0Yy04LjYtMjQuMy0yOS45LTQyLjYtNTUuOS00N3pNNTEyIDE3NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0zMjAgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4elwiXVxufTtcbmNvbnN0IGZhUGVvcGxlUm9vZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtcm9vZicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzN1wiLCBcIk0zMzUuNSA0bDI4OCAxNjBjMTUuNCA4LjYgMjEgMjguMSAxMi40IDQzLjVzLTI4LjEgMjEtNDMuNSAxMi40TDMyMCA2OC42IDQ3LjUgMjIwYy0xNS40IDguNi0zNC45IDMtNDMuNS0xMi40cy0zLTM0LjkgMTIuNC00My41TDMwNC41IDRjOS43LTUuNCAyMS40LTUuNCAzMS4xIDB6TTMyMCAxNjBhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwek0xNDQgMjU2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMzEyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTIyNi45IDQ5MS40TDIwMCA0NDEuNWwwIDM4LjVjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzguNUw2MS4xIDQ5MS40Yy02LjMgMTEuNy0yMC44IDE2LTMyLjUgOS44cy0xNi0yMC44LTkuOC0zMi41bDM3LjktNzAuM2MxNS4zLTI4LjUgNDUuMS00Ni4zIDc3LjUtNDYuM2wxOS41IDBjMTYuMyAwIDMxLjkgNC41IDQ1LjQgMTIuNmwzMy42LTYyLjNjMTUuMy0yOC41IDQ1LjEtNDYuMyA3Ny41LTQ2LjNsMTkuNSAwYzMyLjQgMCA2Mi4xIDE3LjggNzcuNSA0Ni4zbDMzLjYgNjIuM2MxMy41LTguMSAyOS4xLTEyLjYgNDUuNC0xMi42bDE5LjUgMGMzMi40IDAgNjIuMSAxNy44IDc3LjUgNDYuM2wzNy45IDcwLjNjNi4zIDExLjcgMS45IDI2LjItOS44IDMyLjVzLTI2LjIgMS45LTMyLjUtOS44TDU1MiA0NDEuNWwwIDM4LjVjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzguNS0yNi45IDQ5LjljLTYuMyAxMS43LTIwLjggMTYtMzIuNSA5LjhzLTE2LTIwLjgtOS44LTMyLjVsMzYuMy02Ny41Yy0xLjctMS43LTMuMi0zLjYtNC4zLTUuOEwzNzYgMzQ1LjVsMCA1NC41YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTU0LjUtMjYuOSA0OS45Yy0xLjIgMi4yLTIuNiA0LjEtNC4zIDUuOGwzNi4zIDY3LjVjNi4zIDExLjcgMS45IDI2LjItOS44IDMyLjVzLTI2LjIgMS45LTMyLjUtOS44elwiXVxufTtcbmNvbnN0IGZhUGVvcGxlTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzNFwiLCBcIk0zNjAgNzJhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHpNMTQ0IDIwOGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6TTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6TTQ5NiAyMDhhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek0yMDAgMzEzLjVsMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzYuMy02Ny41YzEuNy0xLjcgMy4yLTMuNiA0LjMtNS44TDI2NCAyMTcuNWwwIDU0LjVjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTU0LjUgMjYuOSA0OS45YzEuMiAyLjIgMi42IDQuMSA0LjMgNS44bC0zNi4zIDY3LjVjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDQ0MCAzMTMuNWwwIDM4LjVjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTM4LjUgMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzcuOS03MC4zYy0xNS4zLTI4LjUtNDUuMS00Ni4zLTc3LjUtNDYuM2wtMTkuNSAwYy0xNi4zIDAtMzEuOSA0LjUtNDUuNCAxMi42bC0zMy42LTYyLjNjLTE1LjMtMjguNS00NS4xLTQ2LjMtNzcuNS00Ni4zbC0xOS41IDBjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zbC0zMy42IDYyLjNjLTEzLjUtOC4xLTI5LjEtMTIuNi00NS40LTEyLjZsLTE5LjUgMGMtMzIuNCAwLTYyLjEgMTcuOC03Ny41IDQ2LjNMMTguOSAzNDAuNmMtNi4zIDExLjctMS45IDI2LjIgOS44IDMyLjVzMjYuMiAxLjkgMzIuNS05LjhMODggMzEzLjUgODggMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zOC41elwiXVxufTtcbmNvbnN0IGZhQmVlck11Z0VtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JlZXItbXVnLWVtcHR5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJiZWVyXCJdLCBcImYwZmNcIiwgXCJNMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiA1MS4yIDBjNDIuNCAwIDc2LjggMzQuNCA3Ni44IDc2LjhsMCAxMDIuMWMwIDMwLjQtMTcuOSA1Ny45LTQ1LjYgNzAuMkwzODQgMzgxLjdsMCAzNC4zYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgNjR6TTM4NCAzMTEuNmw1Ni40LTI1LjFjNC42LTIuMSA3LjYtNi42IDcuNi0xMS43bDAtMTAyLjFjMC03LjEtNS43LTEyLjgtMTIuOC0xMi44TDM4NCAxNjBsMCAxNTEuNnpNMTYwIDE0NGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDIyNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjI0em02NCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjI0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMjR6bTY0IDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyMjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTIyNHpcIl1cbn07XG5jb25zdCBmYUJlZXIgPSBmYUJlZXJNdWdFbXB0eTtcbmNvbnN0IGZhRGlhZ3JhbVByZWRlY2Vzc29yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYWdyYW0tcHJlZGVjZXNzb3InLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0NzdcIiwgXCJNNDQ4IDQxNmwwLTY0TDY0IDM1MmwwIDY0IDM4NCAwem0wIDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0ek0yODggMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDIyNGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxNDQgMCAxNiAwIDE0NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTYgMzguMSAwYzIxLjQgMCAzMi4xIDI1LjkgMTcgNDFMNDMzIDIzOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMzI5IDE2OWMtMTUuMS0xNS4xLTQuNC00MSAxNy00MWwzOC4xIDAgMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTgwIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUFycm93VXBMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWxvbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImxvbmctYXJyb3ctdXBcIl0sIFwiZjE3NlwiLCBcIk0yMTQuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxMDkuMyAxNjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNzAuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOHpcIl1cbn07XG5jb25zdCBmYUxvbmdBcnJvd1VwID0gZmFBcnJvd1VwTG9uZztcbmNvbnN0IGZhRmlyZUZsYW1lU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpcmUtZmxhbWUtc2ltcGxlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJidXJuXCJdLCBcImY0NmFcIiwgXCJNMzcyLjUgMjU2LjVsLS43LTEuOUMzMzcuOCAxNjAuOCAyODIgNzYuNSAyMDkuMSA4LjVsLTMuMy0zQzIwMi4xIDIgMTk3LjEgMCAxOTIgMHMtMTAuMSAyLTEzLjggNS41bC0zLjMgM0MxMDIgNzYuNSA0Ni4yIDE2MC44IDEyLjIgMjU0LjZsLS43IDEuOUMzLjkgMjc3LjMgMCAyOTkuNCAwIDMyMS42QzAgNDI2LjcgODYuOCA1MTIgMTkyIDUxMnMxOTItODUuMyAxOTItMTkwLjRjMC0yMi4yLTMuOS00NC4yLTExLjUtNjUuMXptLTkwLjggNDkuNWM0LjEgOS4zIDYuMiAxOS40IDYuMiAyOS41YzAgNTMtNDMgOTYuNS05NiA5Ni41cy05Ni00My41LTk2LTk2LjVjMC0xMC4xIDIuMS0yMC4zIDYuMi0yOS41bDEuOS00LjNjMTUuOC0zNS40IDM3LjktNjcuNyA2NS4zLTk1LjFsOC45LTguOWMzLjYtMy42IDguNS01LjYgMTMuNi01LjZzMTAgMiAxMy42IDUuNmw4LjkgOC45YzI3LjQgMjcuNCA0OS42IDU5LjcgNjUuMyA5NS4xbDEuOSA0LjN6XCJdXG59O1xuY29uc3QgZmFCdXJuID0gZmFGaXJlRmxhbWVTaW1wbGU7XG5jb25zdCBmYVBlcnNvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjk0ODUsIFwibWFsZVwiXSwgXCJmMTgzXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjMuMUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmwyOS43IDBjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNTguMyA5N2M5LjEgMTUuMSA0LjIgMzQuOC0xMC45IDQzLjlzLTM0LjggNC4yLTQzLjktMTAuOUwyMzIgMjU2LjkgMjMyIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwelwiXVxufTtcbmNvbnN0IGZhTWFsZSA9IGZhUGVyc29uO1xuY29uc3QgZmFMYXB0b3AgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFwdG9wJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MTg3XSwgXCJmMTA5XCIsIFwiTTEyOCAzMkM5Mi43IDMyIDY0IDYwLjcgNjQgOTZsMCAyNTYgNjQgMCAwLTI1NiAzODQgMCAwIDI1NiA2NCAwIDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOCAzMnpNMTkuMiAzODRDOC42IDM4NCAwIDM5Mi42IDAgNDAzLjJDMCA0NDUuNiAzNC40IDQ4MCA3Ni44IDQ4MGw0ODYuNCAwYzQyLjQgMCA3Ni44LTM0LjQgNzYuOC03Ni44YzAtMTAuNi04LjYtMTkuMi0xOS4yLTE5LjJMMTkuMiAzODR6XCJdXG59O1xuY29uc3QgZmFGaWxlQ3N2ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY3N2JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNmRkXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMTQ0LTIwOCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDE0NC00OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0zODQgNjRsLTEyOCAwTDI1NiAwIDM4NCAxMjh6TTIwMCAzNTJsMTYgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04YzAtNC40LTMuNi04LTgtOGwtMTYgMGMtNC40IDAtOCAzLjYtOCA4bDAgODBjMCA0LjQgMy42IDggOCA4bDE2IDBjNC40IDAgOC0zLjYgOC04bDAtOGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgOGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMTYgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC04MGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTMzLjEgMGwzNC45IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTM0LjkgMGMtNy4yIDAtMTMuMSA1LjktMTMuMSAxMy4xYzAgNS4yIDMgOS45IDcuOCAxMmwzNy40IDE2LjZjMTYuMyA3LjIgMjYuOCAyMy40IDI2LjggNDEuMmMwIDI0LjktMjAuMiA0NS4xLTQ1LjEgNDUuMUwzMDQgNTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDQyLjkgMGM3LjIgMCAxMy4xLTUuOSAxMy4xLTEzLjFjMC01LjItMy05LjktNy44LTEybC0zNy40LTE2LjZjLTE2LjMtNy4yLTI2LjgtMjMuNC0yNi44LTQxLjJjMC0yNC45IDIwLjItNDUuMSA0NS4xLTQ1LjF6bTk4LjkgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMS42YzAgMjMgNS41IDQ1LjYgMTYgNjZjMTAuNS0yMC4zIDE2LTQyLjkgMTYtNjZsMC0zMS42YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAzMS42YzAgMzQuNy0xMC4zIDY4LjctMjkuNiA5Ny42bC01LjEgNy43Yy0zIDQuNS04IDcuMS0xMy4zIDcuMXMtMTAuMy0yLjctMTMuMy03LjFsLTUuMS03LjdjLTE5LjMtMjguOS0yOS42LTYyLjktMjkuNi05Ny42bDAtMzEuNmMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFNZW5vcmFoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21lbm9yYWgnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2NzZcIiwgXCJNMjAuOCA3LjRDMjIuOCAyLjkgMjcuMSAwIDMyIDBzOS4yIDIuOSAxMS4yIDcuNEw2MS4zIDQ5LjdjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xTDY0IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgODEuNyAwIDY0bDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwyMC44IDcuNHptOTYgMEMxMTguOCAyLjkgMTIzLjEgMCAxMjggMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xTDExNi44IDcuNHptNzcuOCA0Mi40TDIxMi44IDcuNEMyMTQuOCAyLjkgMjE5LjEgMCAyMjQgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xek0zMDguOCA3LjRDMzEwLjggMi45IDMxNS4xIDAgMzIwIDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwzMDguOCA3LjR6bTc3LjggNDIuNEw0MDQuOCA3LjRDNDA2LjggMi45IDQxMS4xIDAgNDE2IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMXpNNTAwLjggNy40QzUwMi44IDIuOSA1MDcuMSAwIDUxMiAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMNTAwLjggNy40em03Ny44IDQyLjRMNTk2LjggNy40QzU5OC44IDIuOSA2MDMuMSAwIDYwOCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTMyIDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMCAwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTYwIDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxMjhjMCA1My00MyA5Ni05NiA5NmwtMTkyIDAgMCA2NCAxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYwIDAtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTI4IDAgMC02NEw5NiAzODRjLTUzIDAtOTYtNDMtOTYtOTZMMCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAwIDMyLTY0IDAgMC0zMiAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMCAzMi02NCAwIDAtMzIgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAwIDMyLTY0IDAgMC0zMiAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMCAzMi02NCAwIDAtMzIgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVRydWNrUGxhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stcGxhbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OGZcIiwgXCJNMjAwIDBjLTMwLjYgMC01NiA1NC43LTU2IDg2LjFsMCAxMDYuNUw3LjggMjc0LjNDMi45IDI3Ny4yIDAgMjgyLjQgMCAyODhsMCA2NGMwIDUuMSAyLjQgOS44IDYuNCAxMi44czkuMyAzLjkgMTQuMSAyLjVsMTIzLjQtMzcgMCA4MS4yLTUwIDQwYy0zLjggMy02IDcuNi02IDEyLjVsMCAzMmMwIDUuMSAyLjUgMTAgNi42IDEzczkuNSAzLjggMTQuNCAyLjJMMjAwIDQ4MC45IDI5MC40IDUxMWMtMS42LTQuNy0yLjQtOS44LTIuNC0xNWwwLTMyLjZjLTE4LjItMTAuNS0zMC43LTI5LjctMzEuOS01MS44bC0uMS0uMSAwLTMuNSAwLTgyLjVMMjU2IDE4NGwwLTEuMXMwIDAgMCAwbDAtOTYuOUMyNTYgNTQuNyAyMzEuNSAwIDIwMCAwem04OCAxNzZsMCAyMjRjMCAyMC45IDEzLjQgMzguNyAzMiA0NS4zbDAgNDIuN2MwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAgMTYwIDAgMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDIuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTI1NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OHptNzkuOCA3OC43YzMuMy04LjcgMTEuMi0xNC43IDIwLjUtMTQuN2wxNTEuNCAwYzkuMiAwIDE3LjIgNiAyMC41IDE0LjdMNTc2IDMwNGwtMjI0IDAgMTUuOC00OS4zek01NjggMzUyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzM2IDM3NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbmNvbnN0IGZhUmVjb3JkVmlueWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVjb3JkLXZpbnlsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmOGQ5XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptMjU2LTk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyem0wIDIyNGExMjggMTI4IDAgMSAwIDAtMjU2IDEyOCAxMjggMCAxIDAgMCAyNTZ6bTAtOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhRmFjZUdyaW5TdGFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tc3RhcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjkzMjEsIFwiZ3Jpbi1zdGFyc1wiXSwgXCJmNTg3XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnptNDA3LjQgNzUuNWM1LTExLjgtNy0yMi41LTE5LjMtMTguN2MtMzkuNyAxMi4yLTg0LjUgMTktMTMxLjggMTlzLTkyLjEtNi44LTEzMS44LTE5Yy0xMi4zLTMuOC0yNC4zIDYuOS0xOS4zIDE4LjdjMjUgNTkuMSA4My4yIDEwMC41IDE1MS4xIDEwMC41czEyNi4yLTQxLjQgMTUxLjEtMTAwLjV6TTE2MCAxMjBjLTMuMSAwLTUuOSAxLjgtNy4yIDQuNmwtMTYuNiAzNC43LTM4LjEgNWMtMy4xIC40LTUuNiAyLjUtNi42IDUuNXMtLjEgNi4yIDIuMSA4LjNsMjcuOSAyNi41LTcgMzcuOGMtLjYgMyAuNyA2LjEgMy4yIDcuOXM1LjggMiA4LjUgLjZMMTYwIDIzMi41bDMzLjggMTguM2MyLjcgMS41IDYgMS4zIDguNS0uNnMzLjctNC45IDMuMi03LjlsLTctMzcuOEwyMjYuNCAxNzhjMi4yLTIuMSAzLjEtNS4zIDIuMS04LjNzLTMuNS01LjEtNi42LTUuNWwtMzguMS01LTE2LjYtMzQuN2MtMS4zLTIuOC00LjEtNC42LTcuMi00LjZ6bTE5MiAwYy0zLjEgMC01LjkgMS44LTcuMiA0LjZsLTE2LjYgMzQuNy0zOC4xIDVjLTMuMSAuNC01LjYgMi41LTYuNiA1LjVzLS4xIDYuMiAyLjEgOC4zbDI3LjkgMjYuNS03IDM3LjhjLS42IDMgLjcgNi4xIDMuMiA3LjlzNS44IDIgOC41IC42TDM1MiAyMzIuNWwzMy44IDE4LjNjMi43IDEuNSA2IDEuMyA4LjUtLjZzMy43LTQuOSAzLjItNy45bC03LTM3LjhMNDE4LjQgMTc4YzIuMi0yLjEgMy4xLTUuMyAyLjEtOC4zcy0zLjUtNS4xLTYuNi01LjVsLTM4LjEtNS0xNi42LTM0LjdjLTEuMy0yLjgtNC4xLTQuNi03LjItNC42elwiXVxufTtcbmNvbnN0IGZhR3JpblN0YXJzID0gZmFGYWNlR3JpblN0YXJzO1xuY29uc3QgZmFCb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1NWNcIiwgXCJNMTYwIDIwOC41YzAgMjkuMS0xNS42IDUzLjktMzcuMiA2Ny44Yy0xNy4yIDExLjEtMzEuNSAyNi4xLTQxLjcgNDMuN2wyMjEuOCAwYy0xMC4yLTE3LjYtMjQuNS0zMi42LTQxLjctNDMuN2MtMjEuNi0xMy45LTM3LjItMzguNy0zNy4yLTY3LjhMMjI0IDY0bC02NCAwIDAgMTQ0LjV6TTI4OCA2NGwwIDE0NC41YzAgNS43IDMuMSAxMC45IDcuOSAxNGMxMS4yIDcuMiAyMS41IDE1LjUgMzAuOSAyNC44TDM2Ni4xIDIwOGwtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMjQgMjQgMjQgMjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNy03LTQzLjMgNDMuM0MzNzQgMzE0LjEgMzg0IDM0Ny45IDM4NCAzODRjMCAzOS40LTExLjkgNzYuMS0zMi4yIDEwNi41Yy05LjYgMTQuNC0yNi41IDIxLjUtNDMuOCAyMS41TDc2LjEgNTEyYy0xNy4zIDAtMzQuMi03LjEtNDMuOC0yMS41QzExLjkgNDYwLjEgMCA0MjMuNCAwIDM4NGMwLTY3LjggMzUuMS0xMjcuMyA4OC4xLTE2MS41YzQuOC0zLjEgNy45LTguMyA3LjktMTRMOTYgNjRDNzguMyA2NCA2NCA0OS43IDY0IDMyUzc4LjMgMCA5NiAwbDE2IDBMMjcyIDBsMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMnpcIl1cbn07XG5jb25zdCBmYVNwYWdoZXR0aU1vbnN0ZXJGbHlpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwYXN0YWZhcmlhbmlzbVwiXSwgXCJmNjdiXCIsIFwiTTIwOCA2NGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAwYzAgMTYuMi02IDMxLjEtMTYgNDIuM2wxNS42IDMxLjJjMTguNy02IDM5LjktOS41IDY0LjQtOS41czQ1LjggMy41IDY0LjQgOS41TDQwMCAxMDYuM0MzOTAgOTUuMSAzODQgODAuMiAzODQgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGMtMS43IDAtMy40LS4xLTUuMS0uMkw0MjcuOCAxNThjMjEuMSAxMy42IDM3LjcgMzAuMiA1MS40IDQ2LjRjNy4xIDguMyAxMy41IDE2LjYgMTkuMyAyNGwxLjQgMS44YzYuMyA4LjEgMTEuNiAxNC44IDE2LjcgMjAuNEM1MjcuMyAyNjIuMyA1MzIuNyAyNjQgNTM2IDI2NGMyLjUgMCA0LjMtLjYgNy4xLTMuM2MzLjctMy41IDcuMS04LjggMTIuNS0xNy40bC42LS45YzQuNi03LjQgMTEtMTcuNiAxOS40LTI1LjdjOS43LTkuMyAyMi45LTE2LjcgNDAuNC0xNi43YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yLjUgMC00LjMgLjYtNy4xIDMuM2MtMy43IDMuNS03LjEgOC44LTEyLjUgMTcuNGwtLjYgLjljLTQuNiA3LjQtMTEgMTcuNi0xOS40IDI1LjdjLTkuNyA5LjMtMjIuOSAxNi43LTQwLjQgMTYuN2MtMTguNSAwLTMyLjktOC41LTQ0LjMtMTguNmMtMy4xIDQtNi42IDguMy0xMC41IDEyLjdjMS40IDQuMyAyLjggOC41IDQgMTIuNWMuOSAzIDEuOCA1LjggMi42IDguNmMzIDkuOCA1LjUgMTguMiA4LjYgMjUuOWMzLjkgOS44IDcuNCAxNS40IDEwLjggMTguNWMyLjYgMi40IDUuOSA0LjMgMTIuOCA0LjNjOC43IDAgMTYuOS00LjIgMzMuNy0xMy4yYzE1LTggMzUuNy0xOC44IDYyLjMtMTguOGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMTMuNCAwLTI0LjcgNS4yLTM5LjcgMTMuMmMtMSAuNi0yLjEgMS4xLTMuMiAxLjdDNTU5LjkgNDE0IDU0MS40IDQyNCA1MjAgNDI0Yy0xOC40IDAtMzMuNi02LjEtNDUuNS0xNy4yYy0xMS4xLTEwLjMtMTcuOS0yMy43LTIyLjctMzZjLTMuNi05LTYuNy0xOS4xLTkuNS0yOC41Yy0xNi40IDEyLjMtMzYuMSAyMy42LTU4LjkgMzEuM2MzLjYgMTAuOCA4LjQgMjMuNSAxNC40IDM2LjJjNy41IDE1LjkgMTYuMiAzMC40IDI1LjggNDAuNUM0MzMgNDYwLjUgNDQxLjIgNDY0IDQ0OCA0NjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTI1LjIgMC00NS0xMy41LTU5LjUtMjguOGMtMTQuNS0xNS40LTI1LjctMzQuOS0zNC4yLTUzYy04LTE3LTE0LjEtMzMuOC0xOC4zLTQ2LjljLTUuMiAuNC0xMC42IC42LTE2IC42cy0xMC44LS4yLTE2LS42Yy00LjIgMTMtMTAuMyAyOS45LTE4LjMgNDYuOWMtOC41IDE4LjEtMTkuOCAzNy42LTM0LjIgNTNDMjM3IDQ5OC41IDIxNy4yIDUxMiAxOTIgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzYuOCAwIDE1LTMuNSAyNC41LTEzLjdjOS41LTEwLjEgMTguMy0yNC42IDI1LjgtNDAuNWM1LjktMTIuNiAxMC43LTI1LjQgMTQuNC0zNi4yYy0yMi44LTcuNy00Mi41LTE5LTU4LjktMzEuM2MtMi45IDkuNC02IDE5LjUtOS41IDI4LjVjLTQuOCAxMi4yLTExLjYgMjUuNi0yMi43IDM2QzE1My42IDQxNy45IDEzOC40IDQyNCAxMjAgNDI0Yy0yMS40IDAtMzkuOS0xMC01My4xLTE3LjFjMCAwIDAgMCAwIDBjLTEuMS0uNi0yLjItMS4yLTMuMi0xLjdjLTE1LTgtMjYuMy0xMy4yLTM5LjctMTMuMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyNi42IDAgNDcuMyAxMC44IDYyLjMgMTguOGMxNi44IDkgMjUgMTMuMiAzMy43IDEzLjJjNi44IDAgMTAuMi0xLjkgMTIuOC00LjNjMy40LTMuMiA3LTguOCAxMC44LTE4LjVjMy03LjcgNS42LTE2LjEgOC42LTI1LjljLjgtMi43IDEuNy01LjYgMi42LTguNmMxLjItNCAyLjYtOC4yIDQtMTIuNWMtMy45LTQuNS03LjQtOC44LTEwLjUtMTIuN0MxMzYuOSAzMDMuNSAxMjIuNSAzMTIgMTA0IDMxMmMtMTcuNSAwLTMwLjctNy40LTQwLjQtMTYuN2MtOC40LTguMS0xNC44LTE4LjMtMTkuNC0yNS43bC0uNi0uOWMtNS40LTguNi04LjgtMTMuOS0xMi41LTE3LjRjLTIuOC0yLjctNC42LTMuMy03LjEtMy4zYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzE3LjUgMCAzMC43IDcuNCA0MC40IDE2LjdjOC40IDguMSAxNC44IDE4LjMgMTkuNCAyNS43bC42IC45YzUuNCA4LjYgOC44IDEzLjkgMTIuNSAxNy40YzIuOCAyLjcgNC42IDMuMyA3LjEgMy4zYzMuMyAwIDguNy0xLjcgMTkuNC0xMy40YzUuMS01LjYgMTAuNC0xMi4zIDE2LjctMjAuNGwxLjQtMS44YzUuOC03LjQgMTIuMi0xNS43IDE5LjMtMjRjMTMuOC0xNi4yIDMwLjMtMzIuOCA1MS40LTQ2LjRsLTE1LjEtMzAuMmMtMS43IC4xLTMuNCAuMi01LjEgLjJjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHptMjA4IDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpcIl1cbn07XG5jb25zdCBmYVBhc3RhZmFyaWFuaXNtID0gZmFTcGFnaGV0dGlNb25zdGVyRmx5aW5nO1xuY29uc3QgZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRhZlwiLCBcIk0xMzcuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgNDAyLjcgMTkyIDI4OGwzNTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMCAwLTExNC43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDM4NCAxMDkuMyAzODQgMjI0bC0xOTIgMC02NCAwLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMCAwIDExNC43TDg2LjYgMzYxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2ek0xMjggMTkybDY0IDAgMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMjh6TTQ0OCAzMjBsLTY0IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOHpcIl1cbn07XG5jb25zdCBmYVNwb29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nwb29uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzQ4LCA2MTg3MywgXCJ1dGVuc2lsLXNwb29uXCJdLCBcImYyZTVcIiwgXCJNMjQ1LjggMjIwLjljLTE0LjUtMTcuNi0yMS44LTM5LjItMjEuOC02MC44QzIyNCA4MCAzMjAgMCA0MTYgMGM1MyAwIDk2IDQzIDk2IDk2YzAgOTYtODAgMTkyLTE2MC4yIDE5MmMtMjEuNiAwLTQzLjItNy4zLTYwLjgtMjEuOEw1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDUuOCAyMjAuOXpcIl1cbn07XG5jb25zdCBmYVV0ZW5zaWxTcG9vbiA9IGZhU3Bvb247XG5jb25zdCBmYUphcldoZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2phci13aGVhdCcsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTUxN1wiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwTDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDY0QzQ2LjMgNjQgMzIgNDkuNyAzMiAzMnpNMCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MHptMTEyIDBsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44QzY0IDE5OCA5MCAyMjQgMTIyLjIgMjI0bDIxLjggMCAzMiAwIDIxLjggMGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjJjMC0zLjItMi42LTUuOC01LjgtNS44TDIwOCAxNjBjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43Yy0xMS43LTEzLjMtMjguOS0yMS43LTQ4LTIxLjd6bTQ4IDExNy43Yy0xMS43LTEzLjMtMjguOS0yMS43LTQ4LTIxLjdsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44QzY0IDI5NCA5MCAzMjAgMTIyLjIgMzIwbDIxLjggMCAzMiAwIDIxLjggMGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjJjMC0zLjItMi42LTUuOC01LjgtNS44TDIwOCAyNTZjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43ek0xMTIgMzUybC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOEM2NCAzOTAgOTAgNDE2IDEyMi4yIDQxNmwyMS44IDAgMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMzIgMjEuOCAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMmMwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDM1MmMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjdjLTExLjctMTMuMy0yOC45LTIxLjctNDgtMjEuN3pcIl1cbn07XG5jb25zdCBmYUVudmVsb3Blc0J1bGsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZW52ZWxvcGVzLWJ1bGsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcIm1haWwtYnVsa1wiXSwgXCJmNjc0XCIsIFwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmwwIDE5MiA5NiAwIDAtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjI0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxMjggMHpNMjU2IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMiA5NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4IDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMjAgMHptMjQwIDY0bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTY0IDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxM0wxODcuMSA0MTUuOWMxLjQgMSAzLjEgMS42IDQuOSAxLjZzMy41LS42IDQuOS0xLjZMMzUyIDMwMWwwLTEzYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDY0IDI1NnptMjg4IDg0LjhMMjE2IDQ0MS42Yy02LjkgNS4xLTE1LjMgNy45LTI0IDcuOXMtMTctMi44LTI0LTcuOUwzMiAzNDAuOCAzMiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMzkuMnpcIl1cbn07XG5jb25zdCBmYU1haWxCdWxrID0gZmFFbnZlbG9wZXNCdWxrO1xuY29uc3QgZmFGaWxlQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZWJcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjI0IDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAzOC42QzMxMC4xIDIxOS41IDI1NiAyODcuNCAyNTYgMzY4YzAgNTkuMSAyOS4xIDExMS4zIDczLjcgMTQzLjNjLTMuMiAuNS02LjQgLjctOS43IC43TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMzg0IDY0bC0xMjggMEwyNTYgMCAzODQgMTI4em00OCA5NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMC0xOTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVIID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1oJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTQwNSwgXCJob3NwaXRhbC1zeW1ib2xcIl0sIFwiZjQ3ZVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzY4IDE1MmwwIDEwNCAwIDEwNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgwLTEyOCAwIDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDgwIDEyOCAwIDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpcIl1cbn07XG5jb25zdCBmYUhvc3BpdGFsU3ltYm9sID0gZmFDaXJjbGVIO1xuY29uc3QgZmFQYWdlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWdlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyM10sIFwiZjgxNVwiLCBcIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em02NCAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNODAgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTU2IDB6bTEzNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFBZGRyZXNzQm9vayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhZGRyZXNzLWJvb2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjEzOCwgXCJjb250YWN0LWJvb2tcIl0sIFwiZjJiOVwiLCBcIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6TTIwOCAyODhsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZsLTE5MiAwYy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS0zMi05NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTUxMiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHpNNDk2IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnptMTYgMTQ0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0elwiXVxufTtcbmNvbnN0IGZhQ29udGFjdEJvb2sgPSBmYUFkZHJlc3NCb29rO1xuY29uc3QgZmFTdHJpa2V0aHJvdWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0cmlrZXRocm91Z2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwY2NcIiwgXCJNMTYxLjMgMTQ0YzMuMi0xNy4yIDE0LTMwLjEgMzMuNy0zOC42YzIxLjEtOSA1MS44LTEyLjMgODguNi02LjVjMTEuOSAxLjkgNDguOCA5LjEgNjAuMSAxMmMxNy4xIDQuNSAzNC42LTUuNiAzOS4yLTIyLjdzLTUuNi0zNC42LTIyLjctMzkuMmMtMTQuMy0zLjgtNTMuNi0xMS40LTY2LjYtMTMuNGMtNDQuNy03LTg4LjMtNC4yLTEyMy43IDEwLjljLTM2LjUgMTUuNi02NC40IDQ0LjgtNzEuOCA4Ny4zYy0uMSAuNi0uMiAxLjEtLjIgMS43Yy0yLjggMjMuOSAuNSA0NS42IDEwLjEgNjQuNmM0LjUgOSAxMC4yIDE2LjkgMTYuNyAyMy45TDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjA5LjkgMC0uNC0uMS0xLjEtLjNjLTM2LTEwLjgtNjUuMi0xOS42LTg1LjItMzMuMWMtOS4zLTYuMy0xNS0xMi42LTE4LjItMTkuMWMtMy4xLTYuMS01LjItMTQuNi0zLjgtMjcuNHpNMzQ4LjkgMzM3LjJjMi43IDYuNSA0LjQgMTUuOCAxLjkgMzAuMWMtMyAxNy42LTEzLjggMzAuOC0zMy45IDM5LjRjLTIxLjEgOS01MS43IDEyLjMtODguNSA2LjVjLTE4LTIuOS00OS4xLTEzLjUtNzQuNC0yMi4xYy01LjYtMS45LTExLTMuNy0xNS45LTUuNGMtMTYuOC01LjYtMzQuOSAzLjUtNDAuNSAyMC4zczMuNSAzNC45IDIwLjMgNDAuNWMzLjYgMS4yIDcuOSAyLjcgMTIuNyA0LjNjMCAwIDAgMCAwIDBzMCAwIDAgMGMyNC45IDguNSA2My42IDIxLjcgODcuNiAyNS42YzAgMCAwIDAgMCAwbC4yIDBjNDQuNyA3IDg4LjMgNC4yIDEyMy43LTEwLjljMzYuNS0xNS42IDY0LjQtNDQuOCA3MS44LTg3LjNjMy42LTIxIDIuNy00MC40LTMuMS01OC4xbC03NS43IDBjNyA1LjYgMTEuNCAxMS4yIDEzLjkgMTcuMnpcIl1cbn07XG5jb25zdCBmYUsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaycsXG4gIGljb246IFszMjAsIDUxMiwgWzEwN10sIFwiNGJcIiwgXCJNMzExIDg2LjNjMTIuMy0xMi43IDEyLTMyLjktLjctNDUuMnMtMzIuOS0xMi00NS4yIC43bC0xNTUuMiAxNjBMNjQgMjQ5IDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgMzI4IDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMDcgNjQuNy02Ni43IDEzMyAxOTJjMTAuMSAxNC41IDMwIDE4LjEgNDQuNSA4LjFzMTguMS0zMCA4LjEtNDQuNUwxNzQuMSAyMjcuNCAzMTEgODYuM3pcIl1cbn07XG5jb25zdCBmYUxhbmRtYXJrRmxhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5kbWFyay1mbGFnJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTFjXCIsIFwiTTI3MiAwbDgwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC04MCAwIDAgMzIgMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNDggMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE5MiAwIDAtMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwek02NCAyMjRsNjQgMCAwIDE5MiA0MCAwIDAtMTkyIDY0IDAgMCAxOTIgNDggMCAwLTE5MiA2NCAwIDAgMTkyIDQwIDAgMC0xOTIgNjQgMCAwIDE5Ni4zYy42IC4zIDEuMiAuNyAxLjggMS4xbDQ4IDMyYzExLjcgNy44IDE3IDIyLjQgMTIuOSAzNS45UzQ5NC4xIDUxMiA0ODAgNTEyTDMyIDUxMmMtMTQuMSAwLTI2LjUtOS4yLTMwLjYtMjIuN3MxLjEtMjguMSAxMi45LTM1LjlsNDgtMzJjLjYtLjQgMS4yLS43IDEuOC0xLjFMNjQgMjI0elwiXVxufTtcbmNvbnN0IGZhUGVuY2lsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlbmNpbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5OTksIDYxNTA0LCBcInBlbmNpbC1hbHRcIl0sIFwiZjMwM1wiLCBcIk00MTAuMyAyMzFsMTEuMy0xMS4zLTMzLjktMzMuOS02Mi4xLTYyLjFMMjkxLjcgODkuOGwtMTEuMyAxMS4zLTIyLjYgMjIuNkw1OC42IDMyMi45Yy0xMC40IDEwLjQtMTggMjMuMy0yMi4yIDM3LjRMMSA0ODAuN2MtMi41IDguNC0uMiAxNy41IDYuMSAyMy43czE1LjMgOC41IDIzLjcgNi4xbDEyMC4zLTM1LjRjMTQuMS00LjIgMjctMTEuOCAzNy40LTIyLjJMMzg3LjcgMjUzLjcgNDEwLjMgMjMxek0xNjAgMzk5LjRsLTkuMSAyMi43Yy00IDMuMS04LjUgNS40LTEzLjMgNi45TDU5LjQgNDUybDIzLTc4LjFjMS40LTQuOSAzLjgtOS40IDYuOS0xMy4zbDIyLjctOS4xIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6TTM2Mi43IDE4LjdMMzQ4LjMgMzMuMiAzMjUuNyA1NS44IDMxNC4zIDY3LjFsMzMuOSAzMy45IDYyLjEgNjIuMSAzMy45IDMzLjkgMTEuMy0xMS4zIDIyLjYtMjIuNiAxNC41LTE0LjVjMjUtMjUgMjUtNjUuNSAwLTkwLjVMNDUzLjMgMTguN2MtMjUtMjUtNjUuNS0yNS05MC41IDB6bS00Ny40IDE2OGwtMTQ0IDE0NGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwxNDQtMTQ0YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG5jb25zdCBmYVBlbmNpbEFsdCA9IGZhUGVuY2lsO1xuY29uc3QgZmFCYWNrd2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWNrd2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTRdLCBcImYwNGFcIiwgXCJNNDU5LjUgNDQwLjZjOS41IDcuOSAyMi44IDkuNyAzNC4xIDQuNHMxOC40LTE2LjYgMTguNC0yOWwwLTMyMGMwLTEyLjQtNy4yLTIzLjctMTguNC0yOXMtMjQuNS0zLjYtMzQuMSA0LjRMMjg4IDIxNC4zbDAgNDEuNyAwIDQxLjdMNDU5LjUgNDQwLjZ6TTI1NiAzNTJsMC05NiAwLTEyOCAwLTMyYzAtMTIuNC03LjItMjMuNy0xOC40LTI5cy0yNC41LTMuNi0zNC4xIDQuNGwtMTkyIDE2MEM0LjIgMjM3LjUgMCAyNDYuNSAwIDI1NnM0LjIgMTguNSAxMS41IDI0LjZsMTkyIDE2MGM5LjUgNy45IDIyLjggOS43IDM0LjEgNC40czE4LjQtMTYuNiAxOC40LTI5bDAtNjR6XCJdXG59O1xuY29uc3QgZmFDYXJldFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcmV0LXJpZ2h0JyxcbiAgaWNvbjogWzI1NiwgNTEyLCBbXSwgXCJmMGRhXCIsIFwiTTI0Ni42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXMtMTkuOCAxNi42LTE5LjggMjkuNmwwIDI1NmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDEyOC0xMjh6XCJdXG59O1xuY29uc3QgZmFDb21tZW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODQ5MCwgNjE2NzBdLCBcImYwODZcIiwgXCJNMjA4IDM1MmMxMTQuOSAwIDIwOC03OC44IDIwOC0xNzZTMzIyLjkgMCAyMDggMFMwIDc4LjggMCAxNzZjMCAzOC42IDE0LjcgNzQuMyAzOS42IDEwMy40Yy0zLjUgOS40LTguNyAxNy43LTE0LjIgMjQuN2MtNC44IDYuMi05LjcgMTEtMTMuMyAxNC4zYy0xLjggMS42LTMuMyAyLjktNC4zIDMuN2MtLjUgLjQtLjkgLjctMS4xIC44bC0uMiAuMnMwIDAgMCAwczAgMCAwIDBDMSAzMjcuMi0xLjQgMzM0LjQgLjggMzQwLjlTOS4xIDM1MiAxNiAzNTJjMjEuOCAwIDQzLjgtNS42IDYyLjEtMTIuNWM5LjItMy41IDE3LjgtNy40IDI1LjItMTEuNEMxMzQuMSAzNDMuMyAxNjkuOCAzNTIgMjA4IDM1MnpNNDQ4IDE3NmMwIDExMi4zLTk5LjEgMTk2LjktMjE2LjUgMjA3QzI1NS44IDQ1Ny40IDMzNi40IDUxMiA0MzIgNTEyYzM4LjIgMCA3My45LTguNyAxMDQuNy0yMy45YzcuNSA0IDE2IDcuOSAyNS4yIDExLjRjMTguMyA2LjkgNDAuMyAxMi41IDYyLjEgMTIuNWM2LjkgMCAxMy4xLTQuNSAxNS4yLTExLjFjMi4xLTYuNi0uMi0xMy44LTUuOC0xNy45YzAgMCAwIDAgMCAwczAgMCAwIDBsLS4yLS4yYy0uMi0uMi0uNi0uNC0xLjEtLjhjLTEtLjgtMi41LTItNC4zLTMuN2MtMy42LTMuMy04LjUtOC4xLTEzLjMtMTQuM2MtNS41LTctMTAuNy0xNS40LTE0LjItMjQuN2MyNC45LTI5IDM5LjYtNjQuNyAzOS42LTEwMy40YzAtOTIuOC04NC45LTE2OC45LTE5Mi42LTE3NS41Yy40IDUuMSAuNiAxMC4zIC42IDE1LjV6XCJdXG59O1xuY29uc3QgZmFQYXN0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYXN0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZmlsZS1jbGlwYm9hcmRcIl0sIFwiZjBlYVwiLCBcIk0xNjAgMGMtMjMuNyAwLTQ0LjQgMTIuOS01NS40IDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MDBjMCAyNi41IDIxLjUgNDggNDggNDhsMTQ0IDAgMC0yNzJjMC00NC4yIDM1LjgtODAgODAtODBsNDggMCAwLTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC01Ni42IDBDMjA0LjQgMTIuOSAxODMuNyAwIDE2MCAwek0yNzIgMTI4Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDI3MiAwIDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjIwLjFjMC0xMi43LTUuMS0yNC45LTE0LjEtMzMuOWwtNjcuOS02Ny45Yy05LTktMjEuMi0xNC4xLTMzLjktMTQuMUwzMjAgMTI4bC00OCAwek0xNjAgNDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhRmlsZUNsaXBib2FyZCA9IGZhUGFzdGU7XG5jb25zdCBmYUNvZGVQdWxsUmVxdWVzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLXB1bGwtcmVxdWVzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTEzY1wiLCBcIk0zMDUuOCAyLjFDMzE0LjQgNS45IDMyMCAxNC41IDMyMCAyNGwwIDQwIDE2IDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAxNjYuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zYzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNMNDAwIDE5MmMwLTM1LjMtMjguNy02NC02NC02NGwtMTYgMCAwIDQwYzAgOS41LTUuNiAxOC4xLTE0LjIgMjEuOXMtMTguOCAyLjMtMjUuOC00LjFsLTgwLTcyYy01LjEtNC42LTcuOS0xMS03LjktMTcuOHMyLjktMTMuMyA3LjktMTcuOGw4MC03MmM3LTYuMyAxNy4yLTcuOSAyNS44LTQuMXpNMTA0IDgwQTI0IDI0IDAgMSAwIDU2IDgwYTI0IDI0IDAgMSAwIDQ4IDB6bTggNzMuM2wwIDIwNS4zYzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjNjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM2wwLTIwNS4zQzE5LjcgMTQxIDAgMTEyLjggMCA4MEMwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zek0xMDQgNDMyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTMyOCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFDbGlwYm9hcmRMaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC1saXN0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDZkXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTM3LjUgMEMyNjkuNCAyNi43IDIzMy44IDAgMTkyIDB6bTAgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek03MiAyNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTA0LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNNzIgMzY4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTg4IDBjMC04LjggNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbmNvbnN0IGZhVHJ1Y2tSYW1wQm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLXJhbXAtYm94JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ0cnVjay1sb2FkaW5nXCJdLCBcImY0ZGVcIiwgXCJNNjQwIDBsMCA0MDBjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJjLTYxIDAtMTEwLjUtNDguNy0xMTItMTA5LjNMNDguNCA1MDIuOWMtMTcuMSA0LjYtMzQuNi01LjQtMzkuMy0yMi41czUuNC0zNC42IDIyLjUtMzkuM0wzNTIgMzUzLjggMzUyIDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDY0MCAwek01NzYgNDAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTIzLjEgMjA3LjdjLTQuNi0xNy4xIDUuNi0zNC42IDIyLjYtMzkuMmw0Ni40LTEyLjQgMjAuNyA3Ny4zYzIuMyA4LjUgMTEuMSAxMy42IDE5LjYgMTEuM2wzMC45LTguM2M4LjUtMi4zIDEzLjYtMTEuMSAxMS4zLTE5LjZsLTIwLjctNzcuMyA0Ni40LTEyLjRjMTcuMS00LjYgMzQuNiA1LjYgMzkuMiAyMi42bDQxLjQgMTU0LjVjNC42IDE3LjEtNS42IDM0LjYtMjIuNiAzOS4yTDEwMy43IDM4NC45Yy0xNy4xIDQuNi0zNC42LTUuNi0zOS4yLTIyLjZMMjMuMSAyMDcuN3pcIl1cbn07XG5jb25zdCBmYVRydWNrTG9hZGluZyA9IGZhVHJ1Y2tSYW1wQm94O1xuY29uc3QgZmFVc2VyQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRmY1wiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGw5MS40IDBDMzY4LjIgMzA0IDQ0OCAzODMuOCA0NDggNDgyLjNjMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMMjkuNyA1MTJDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek02MjUgMTc3TDQ5NyAzMDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQ3IDQ3TDU5MSAxNDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45elwiXVxufTtcbmNvbnN0IGZhVmlhbFZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpYWwtdmlydXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1OTdcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDAgMjg4YzAgNTMgNDMgOTYgOTYgOTZjMjguNiAwIDU0LjItMTIuNSA3MS44LTMyLjNjLjEtMTQuMiA1LjYtMjguMyAxNi40LTM5LjFjLjItLjIgLjEtLjYtLjItLjZjLTMwLjkgMC01Ni0yNS4xLTU2LTU2czI1LjEtNTYgNTYtNTZjLjMgMCAuNC0uNCAuMi0uNmMtMjEuOS0yMS45LTIxLjktNTcuMyAwLTc5LjJjMi40LTIuNCA1LTQuNiA3LjgtNi41TDIyNCA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMEw5NiAzMiAzMiAzMnpNOTYgMTkybDAtOTYgNjQgMCAwIDk2LTY0IDB6TTIxNiAzNzZjMjguOCAwIDQzLjIgMzQuOCAyMi45IDU1LjJjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGMyMC40LTIwLjQgNTUuMi01LjkgNTUuMiAyMi45YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0yOC44IDM0LjgtNDMuMiA1NS4yLTIyLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45QzQ0NC44IDQxMC44IDQ1OS4yIDM3NiA0ODggMzc2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy0yOC44IDAtNDMuMi0zNC44LTIyLjktNTUuMmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwQzQxMC44IDI1OS4yIDM3NiAyNDQuOCAzNzYgMjE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMjguOC0zNC44IDQzLjItNTUuMiAyMi45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45YzIwLjQgMjAuNCA1LjkgNTUuMi0yMi45IDU1LjJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6bTEwNC04OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTQwIDk2YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFTaGVldFBsYXN0aWMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hlZXQtcGxhc3RpYycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTU3MVwiLCBcIk0wIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMCAwLTI4OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OHpNMTcxLjMgNzUuM2wtOTYgOTZjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsOTYtOTZjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42em05NiAzMmwtMTYwIDE2MGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwxNjAtMTYwYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpNMzg0IDM4NGwtMTI4IDAgMCAxMjhMMzg0IDM4NHpcIl1cbn07XG5jb25zdCBmYUJsb2cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmxvZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc4MVwiLCBcIk0xOTIgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyQzUxMiAxMjguOSAzODMuMSAwIDIyNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtMTA2LTg2LTE5Mi0xOTItMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNOTYgMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4UzAgMTE3LjUgMCAxNDRMMCAzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NHMtNjQuNS0xNDQtMTQ0LTE0NGwtMTYgMCAwIDk2IDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0yMjR6XCJdXG59O1xuY29uc3QgZmFVc2VyTmluamEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1uaW5qYScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTM5OV0sIFwiZjUwNFwiLCBcIk0yMjQgMjU2Yy01Ny4yIDAtMTA1LjYtMzcuNS0xMjItODkuM2MtMS4xIDEuMy0yLjIgMi42LTMuNSAzLjhjLTE1LjggMTUuOC0zOC44IDIwLjctNTMuNiAyMi4xYy04LjEgLjgtMTQuNi01LjctMTMuOC0xMy44YzEuNC0xNC43IDYuMy0zNy44IDIyLjEtNTMuNmM1LjgtNS44IDEyLjYtMTAuMSAxOS42LTEzLjRjLTctMy4yLTEzLjgtNy42LTE5LjYtMTMuNEMzNy40IDgyLjcgMzIuNiA1OS43IDMxLjEgNDQuOWMtLjgtOC4xIDUuNy0xNC42IDEzLjgtMTMuOGMxNC43IDEuNCAzNy44IDYuMyA1My42IDIyLjFjNC44IDQuOCA4LjcgMTAuNCAxMS43IDE2LjFDMTMxLjQgMjguMiAxNzQuNCAwIDIyNCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4cy01Ny4zIDEyOC0xMjggMTI4ek0wIDQ4Mi4zQzAgMzk5LjUgNTYuNCAzMzAgMTMyLjggMzA5LjljNi0xLjYgMTIuMiAuOSAxNS45IDUuOGw2Mi41IDgzLjNjNi40IDguNSAxOS4yIDguNSAyNS42IDBsNjIuNS04My4zYzMuNy00LjkgOS45LTcuNCAxNS45LTUuOEMzOTEuNiAzMzAgNDQ4IDM5OS41IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0wyOS43IDUxMkMxMy4zIDUxMiAwIDQ5OC43IDAgNDgyLjN6TTE2MCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkwxNjAgOTZ6XCJdXG59O1xuY29uc3QgZmFQZXJzb25BcnJvd1VwRnJvbUxpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWFycm93LXVwLWZyb20tbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzOVwiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzNTJsMC05NiAxNiAwIDAgOTYtMTYgMHptLTY0IDBsLTg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTIwIDAgODAgMCAzNzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzQ0IDAgMC0xOTEuMSAyOC42IDQ3LjVjOS4xIDE1LjEgMjguOCAyMCA0My45IDEwLjlzMjAtMjguOCAxMC45LTQzLjlsLTU4LjMtOTdjLTE3LjQtMjguOS00OC42LTQ2LjYtODIuMy00Ni42bC0yOS43IDBjLTMzLjcgMC02NC45IDE3LjctODIuMyA0Ni42bC01OC4zIDk3Yy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45TDEyMCAyNTYuOSAxMjAgNDQ4ek01OTguNiAxMjEuNGwtODAtODBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw0NjQgMTQxLjMgNDY0IDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQyLjcgMjUuNCAyNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xuY29uc3QgZmFTY3JvbGxUb3JhaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY3JvbGwtdG9yYWgnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInRvcmFoXCJdLCBcImY2YTBcIiwgXCJNOTYgNDgwTDk2IDMyQzk2IDE0LjMgNzQuNSAwIDQ4IDBTMCAxNC4zIDAgMzJMMCA0ODBjMCAxNy43IDIxLjUgMzIgNDggMzJzNDgtMTQuMyA0OC0zMnpNNTEyIDMyTDEyOCAzMmwwIDQ0OCAzODQgMCAwLTQ0OHpNNTkyIDBjLTI2LjUgMC00OCAxNC4zLTQ4IDMybDAgNDQ4YzAgMTcuNyAyMS41IDMyIDQ4IDMyczQ4LTE0LjMgNDgtMzJsMC00NDhjMC0xNy43LTIxLjUtMzItNDgtMzJ6TTE5NiAzMTMuN2MwLTMuMiAuOS02LjQgMi41LTkuMkwyMjYuNyAyNTZsLTI4LjMtNDguNWMtMS42LTIuOC0yLjUtNi0yLjUtOS4yYzAtMTAuMSA4LjItMTguMyAxOC4zLTE4LjNsNTYuNyAwIDMxLjQtNTMuOWMzLjYtNi4zIDEwLjMtMTAuMSAxNy42LTEwLjFzMTMuOSAzLjggMTcuNiAxMC4xTDM2OSAxODBsNTYuNyAwYzEwLjEgMCAxOC4zIDguMiAxOC4zIDE4LjNjMCAzLjItLjkgNi40LTIuNSA5LjJMNDEzLjMgMjU2bDI4LjMgNDguNWMxLjYgMi44IDIuNSA2IDIuNSA5LjJjMCAxMC4xLTguMiAxOC4zLTE4LjMgMTguM0wzNjkgMzMybC0zMS40IDUzLjljLTMuNiA2LjMtMTAuMyAxMC4xLTE3LjYgMTAuMXMtMTMuOS0zLjgtMTcuNi0xMC4xTDI3MSAzMzJsLTU2LjcgMGMtMTAuMSAwLTE4LjMtOC4yLTE4LjMtMTguM3ptMTI0IDU0LjdMMzQxLjIgMzMybC00Mi40IDBMMzIwIDM2OC40ek0yNTQuNSAyNTZsMzAuMyA1MiA3MC40IDAgMzAuMy01Mi0zMC4zLTUyLTcwLjQgMC0zMC4zIDUyem0xNDQuOSAyMy44TDM4MyAzMDhsMzIuOCAwLTE2LjQtMjguMnpNNDE1LjggMjA0TDM4MyAyMDRsMTYuNCAyOC4yTDQxNS44IDIwNHpNMzIwIDE0My42TDI5OC44IDE4MGw0Mi40IDBMMzIwIDE0My42ek0yMjQuMiAyMDRsMTYuNCAyOC4yTDI1NyAyMDRsLTMyLjggMHpNMjU3IDMwOGwtMTYuNC0yOC4yTDIyNC4yIDMwOGwzMi44IDB6XCJdXG59O1xuY29uc3QgZmFUb3JhaCA9IGZhU2Nyb2xsVG9yYWg7XG5jb25zdCBmYUJyb29tQmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicm9vbS1iYWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJxdWlkZGl0Y2hcIiwgXCJxdWlkZGl0Y2gtYnJvb20tYmFsbFwiXSwgXCJmNDU4XCIsIFwiTTU2Ni42IDkuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MiAzNC43IDM0LjdjNC4yIDQuMiA2LjYgMTAgNi42IDE2YzAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42bC0yOS4xIDBMMjU2IDIxMS43bDAtMjkuMWMwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmM2IDAgMTEuOCAyLjQgMTYgNi42bDM0LjcgMzQuNyAxOTItMTkyYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwem0tMzQ0IDIyNS41TDM0MS4xIDM1My40YzMuNyA0Mi43LTExLjcgODUuMi00Mi4zIDExNS44QzI3MS40IDQ5Ni42IDIzNC4yIDUxMiAxOTUuNSA1MTJMMjIuMSA1MTJDOS45IDUxMiAwIDUwMi4xIDAgNDg5LjljMC02LjMgMi43LTEyLjMgNy4zLTE2LjVMMTMzLjcgMzU5LjdjNC4yLTMuNy0uNC0xMC40LTUuNC03LjlMNzcuMiAzNzcuNGMtNi4xIDMtMTMuMi0xLjQtMTMuMi04LjJjMC0zMS41IDEyLjUtNjEuNyAzNC44LTg0bDgtOGMzMC42LTMwLjYgNzMuMS00NS45IDExNS44LTQyLjN6TTQ2NCAzNTJhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xuY29uc3QgZmFRdWlkZGl0Y2ggPSBmYUJyb29tQmFsbDtcbmNvbnN0IGZhUXVpZGRpdGNoQnJvb21CYWxsID0gZmFCcm9vbUJhbGw7XG5jb25zdCBmYVRvZ2dsZU9mZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b2dnbGUtb2ZmJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjA0XCIsIFwiTTM4NCAxMjhjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhzLTU3LjMgMTI4LTEyOCAxMjhsLTE5MiAwYy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4bDE5MiAwek01NzYgMjU2YzAtMTA2LTg2LTE5Mi0xOTItMTkyTDE5MiA2NEM4NiA2NCAwIDE1MCAwIDI1NlM4NiA0NDggMTkyIDQ0OGwxOTIgMGMxMDYgMCAxOTItODYgMTkyLTE5MnpNMTkyIDM1MmE5NiA5NiAwIDEgMCAwLTE5MiA5NiA5NiAwIDEgMCAwIDE5MnpcIl1cbn07XG5jb25zdCBmYUJveEFyY2hpdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94LWFyY2hpdmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFyY2hpdmVcIl0sIFwiZjE4N1wiLCBcIk0zMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptMCAxMjhsNDQ4IDAgMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTI1NnptMTI4IDgwYzAgOC44IDcuMiAxNiAxNiAxNmwxNjAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYUFyY2hpdmUgPSBmYUJveEFyY2hpdmU7XG5jb25zdCBmYVBlcnNvbkRyb3duaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1kcm93bmluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0NVwiLCBcIk0xOTIgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMi4yYzAgNTQuMSAyMy41IDEwNCA2Mi4yIDEzOC4zbC0yMSAxNDYuN2M3LjggMi4xIDE1LjUgMy4zIDIyLjggMy4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzEyLjQgOC41IDI2LjEgMTQuOCAzOS43IDE4bDE3LjctOTcuNmMxMC43LTEuMiAyMS4zLTMuMSAzMS45LTUuNWwxMDUtMjMuOWMxNy4yLTMuOSAyOC0yMS4xIDI0LjEtMzguM3MtMjEuMS0yOC0zOC4zLTI0LjFMNDAwIDIxNi42Yy00MSA5LjMtODMuNyA3LjUtMTIzLjctNS4yYy01MC4yLTE2LTg0LjMtNjIuNi04NC4zLTExNS4zTDE5MiA2NHpNMzIwIDE5MmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNMzA2LjUgMzg5LjljLTExLjEtNy45LTI1LjktNy45LTM3IDBDMjQ3IDQwNS40IDIxOS41IDQxNiAxOTIgNDE2Yy0yNi45IDAtNTUuMy0xMC44LTc3LjQtMjYuMWMwIDAgMCAwIDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSA0NjkuNyAxNTkgNDgwIDE5MiA0ODBjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNC0yNy4zLTEwLjEtMzkuMi0xLjdjMCAwIDAgMCAwIDBDNDM5LjQgNDA1LjIgNDEwLjkgNDE2IDM4NCA0MTZjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMXpcIl1cbn07XG5jb25zdCBmYUFycm93RG93bjkxID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tOS0xJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtZGVzY1wiLCBcInNvcnQtbnVtZXJpYy1kb3duLWFsdFwiXSwgXCJmODg2XCIsIFwiTTE2MCA0ODBjOSAwIDE3LjUtMy44IDIzLjYtMTAuNGw4OC05NmMxMS45LTEzIDExLjEtMzMuMy0yLTQ1LjJzLTMzLjMtMTEuMS00NS4yIDJMMTkyIDM2NS43IDE5MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMwMS43TDk1LjYgMzMwLjRjLTExLjktMTMtMzIuMi0xMy45LTQ1LjItMnMtMTMuOSAzMi4yLTIgNDUuMmw4OCA5NkMxNDIuNSA0NzYuMiAxNTEgNDgwIDE2MCA0ODB6TTQ1MC43IDI5NGMtOC4zLTYtMTkuMS03LjctMjguOC00LjRsLTQ4IDE2Yy0xNi44IDUuNi0yNS44IDIzLjctMjAuMiA0MC41czIzLjcgMjUuOCA0MC41IDIwLjJsNS45LTIgMCA1MS42LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNDggMCA0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6TTQxOC4zIDkxYTMyIDMyIDAgMSAxIDI3LjQgNTcuOUEzMiAzMiAwIDEgMSA0MTguMyA5MXpNNDA1LjEgMjAzLjhsLTYuOCA5LjJjLTEwLjUgMTQuMi03LjUgMzQuMiA2LjcgNDQuOHMzNC4yIDcuNSA0NC44LTYuN2w0OC44LTY1LjhjMTQtMTguOSAyMS41LTQxLjcgMjEuNS02NS4yYzAtNDguNi0zOS40LTg4LTg4LTg4cy04OCAzOS40LTg4IDg4YzAgMzkuMiAyNS42IDcyLjQgNjEuMSA4My44elwiXVxufTtcbmNvbnN0IGZhU29ydE51bWVyaWNEZXNjID0gZmFBcnJvd0Rvd245MTtcbmNvbnN0IGZhU29ydE51bWVyaWNEb3duQWx0ID0gZmFBcnJvd0Rvd245MTtcbmNvbnN0IGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NDEsIFwiZ3Jpbi10b25ndWUtc3F1aW50XCJdLCBcImY1OGFcIiwgXCJNMCAyNTZDMCAzNjguOSA3My4xIDQ2NC43IDE3NC41IDQ5OC44QzE2NS4zIDQ4NCAxNjAgNDY2LjYgMTYwIDQ0OGwwLTQ3LjNjLTI0LTE3LjUtNDMuMS00MS40LTU0LjgtNjkuMmMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTljMTIuMy0zLjggMjQuMyA2LjkgMTkuMyAxOC43Yy0xMS44IDI4LTMxLjEgNTItNTUuNCA2OS42bDAgNDYuOWMwIDE4LjYtNS4zIDM2LTE0LjUgNTAuOEM0MzguOSA0NjQuNyA1MTIgMzY4LjkgNTEyIDI1NkM1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2ek0xMTYgMTQxLjFjMC05IDkuNi0xNC43IDE3LjUtMTAuNWw4OS45IDQ3LjljMTAuNyA1LjcgMTAuNyAyMS4xIDAgMjYuOGwtODkuOSA0Ny45Yy03LjkgNC4yLTE3LjUtMS41LTE3LjUtMTAuNWMwLTIuOCAxLTUuNSAyLjgtNy42bDM2LTQzLjItMzYtNDMuMmMtMS44LTIuMS0yLjgtNC44LTIuOC03LjZ6bTI2Mi41LTEwLjVjNy45LTQuMiAxNy41IDEuNSAxNy41IDEwLjVjMCAyLjgtMSA1LjUtMi44IDcuNmwtMzYgNDMuMiAzNiA0My4yYzEuOCAyLjEgMi44IDQuOCAyLjggNy42YzAgOS05LjYgMTQuNy0xNy41IDEwLjVsLTg5LjktNDcuOWMtMTAuNy01LjctMTAuNy0yMS4xIDAtMjYuOGw4OS45LTQ3Ljl6TTMyMCA0NDhsMC00NS40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjljLTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDBjLTIuNS0xMS4xLTEyLjMtMTguOS0yMy42LTE4LjlsLTIgMGMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZsMCA0NS40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6XCJdXG59O1xuY29uc3QgZmFHcmluVG9uZ3VlU3F1aW50ID0gZmFGYWNlR3JpblRvbmd1ZVNxdWludDtcbmNvbnN0IGZhU3ByYXlDYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3ByYXktY2FuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWJkXCIsIFwiTTEyOCAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5Nkw5NiAxMjhsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAyNTZjMC01MyA0My05NiA5Ni05NmwxMjggMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjA4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAyNTZ6bTI0MCA4MEE4MCA4MCAwIDEgMCA4MCAzMzZhODAgODAgMCAxIDAgMTYwIDB6TTI1NiA2NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zODQgMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTQ0OCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMzg0IDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFUcnVja01vbnN0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stbW9uc3RlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjYzYlwiLCBcIk0yODggNjRsMCA2NCAxMjggMEwzNjggNjRsLTgwIDB6TTQxOS4yIDI1LjZMNDk2IDEyOGw4MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTI5LjItMzguOS03NS43LTY0LTEyOC02NHMtOTguOCAyNS4xLTEyOCA2NGwtNjQgMGMtMjkuMi0zOC45LTc1LjctNjQtMTI4LTY0cy05OC44IDI1LjEtMTI4IDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZ6TTE1MiAyNTZsMTYgMGMxMi4xIDAgMjIuMSA4LjkgMjMuOCAyMC42YzcuNiAyLjIgMTQuOSA1LjMgMjEuNyA5YzkuNC03IDIyLjgtNi4zIDMxLjMgMi4zbDExLjMgMTEuM2M4LjYgOC42IDkuMyAyMS45IDIuMyAzMS4zYzMuNyA2LjggNi44IDE0LjEgOSAyMS43YzExLjYgMS43IDIwLjYgMTEuNyAyMC42IDIzLjhsMCAxNmMwIDEyLjEtOC45IDIyLjEtMjAuNiAyMy44Yy0yLjIgNy42LTUuMyAxNC45LTkgMjEuN2M3IDkuNCA2LjMgMjIuOC0yLjMgMzEuM2wtMTEuMyAxMS4zYy04LjYgOC42LTIxLjkgOS4zLTMxLjMgMi4yYy02LjggMy43LTE0LjEgNi44LTIxLjcgOUMxOTAuMSA1MDMuMSAxODAuMSA1MTIgMTY4IDUxMmwtMTYgMGMtMTIuMSAwLTIyLjEtOC45LTIzLjgtMjAuNmMtNy42LTIuMi0xNC45LTUuMy0yMS43LTljLTkuNCA3LjEtMjIuOCA2LjMtMzEuMy0yLjJMNjMuOCA0NjguOWMtOC42LTguNi05LjMtMjEuOS0yLjMtMzEuM2MtMy43LTYuOS02LjgtMTQuMS05LTIxLjhDNDAuOSA0MTQuMSAzMiA0MDQuMSAzMiAzOTJsMC0xNmMwLTEyLjEgOC45LTIyLjEgMjAuNi0yMy44YzIuMi03LjYgNS4zLTE0LjkgOS0yMS44Yy03LTkuNC02LjMtMjIuOCAyLjMtMzEuM2wxMS4zLTExLjNjOC42LTguNiAyMS45LTkuMyAzMS4zLTIuM2M2LjgtMy43IDE0LjEtNi44IDIxLjctOWMxLjctMTEuNiAxMS43LTIwLjYgMjMuOC0yMC42em04IDE3NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTQ0OC4yIDI3Ni42YzEuNy0xMS42IDExLjctMjAuNiAyMy44LTIwLjZsMTYgMGMxMi4xIDAgMjIuMSA4LjkgMjMuOCAyMC42YzcuNiAyLjIgMTQuOSA1LjMgMjEuOCA5YzkuNC03IDIyLjgtNi4zIDMxLjMgMi4zbDExLjMgMTEuM2M4LjYgOC42IDkuMyAyMS45IDIuMiAzMS4zYzMuNyA2LjggNi44IDE0LjEgOSAyMS43YzExLjYgMS43IDIwLjYgMTEuNyAyMC42IDIzLjhsMCAxNmMwIDEyLjEtOC45IDIyLjEtMjAuNiAyMy44Yy0yLjIgNy42LTUuMyAxNC45LTkgMjEuN2M3IDkuNCA2LjMgMjIuOC0yLjIgMzEuM2wtMTEuMyAxMS4zYy04LjYgOC42LTIxLjkgOS4zLTMxLjMgMi4yYy02LjkgMy43LTE0LjEgNi44LTIxLjggOUM1MTAuMSA1MDMuMSA1MDAuMSA1MTIgNDg4IDUxMmwtMTYgMGMtMTIuMSAwLTIyLjEtOC45LTIzLjgtMjAuNmMtNy42LTIuMi0xNC45LTUuMy0yMS43LTljLTkuNCA3LjEtMjIuOCA2LjMtMzEuMy0yLjJsLTExLjMtMTEuM2MtOC42LTguNi05LjMtMjEuOS0yLjItMzEuM2MtMy43LTYuOS02LjgtMTQuMS05LTIxLjhDMzYwLjkgNDE0LjEgMzUyIDQwNC4xIDM1MiAzOTJsMC0xNmMwLTEyLjEgOC45LTIyLjEgMjAuNi0yMy44YzIuMi03LjYgNS4zLTE0LjkgOS0yMS44Yy03LTkuNC02LjMtMjIuOCAyLjItMzEuM2wxMS4zLTExLjNjOC42LTguNiAyMS45LTkuMyAzMS4zLTIuM2M2LjgtMy43IDE0LjEtNi44IDIxLjctOXpNNTI4IDM4NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwelwiXVxufTtcbmNvbnN0IGZhVyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTE5XSwgXCI1N1wiLCBcIk0yMC44IDM0YzE2LjUtNi4yIDM1IDIuMiA0MS4yIDE4LjdsMTEwLjIgMjk0TDI1Ny4zIDU1YzQtMTMuNyAxNi41LTIzIDMwLjctMjNzMjYuNyA5LjQgMzAuNyAyM2w4NS4xIDI5MS43TDUxNCA1Mi44YzYuMi0xNi41IDI0LjYtMjQuOSA0MS4yLTE4LjdzMjQuOSAyNC43IDE4LjcgNDEuMmwtMTQ0IDM4NGMtNC44IDEyLjktMTcuNCAyMS4zLTMxLjIgMjAuN3MtMjUuNy05LjgtMjkuNS0yM0wyODggMTc4LjMgMjA2LjcgNDU3Yy0zLjkgMTMuMi0xNS44IDIyLjUtMjkuNSAyM3MtMjYuMy03LjgtMzEuMi0yMC43TDIgNzUuMkMtNC4yIDU4LjcgNC4yIDQwLjIgMjAuOCAzNHpcIl1cbn07XG5jb25zdCBmYUVhcnRoQWZyaWNhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWFmcmljYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1NywgXCJnbG9iZS1hZnJpY2FcIl0sIFwiZjU3Y1wiLCBcIk0xNzcuOCA2My4ybDEwIDE3LjRjMi44IDQuOCA0LjIgMTAuMyA0LjIgMTUuOWwwIDQxLjRjMCAzLjkgMS42IDcuNyA0LjMgMTAuNGM2LjIgNi4yIDE2LjUgNS43IDIyLTEuMmwxMy42LTE3YzQuNy01LjkgMTIuOS03LjcgMTkuNi00LjNsMTUuMiA3LjZjMy40IDEuNyA3LjIgMi42IDExIDIuNmM2LjUgMCAxMi44LTIuNiAxNy40LTcuMmwzLjktMy45YzIuOS0yLjkgNy4zLTMuNiAxMS0xLjhsMjkuMiAxNC42YzcuOCAzLjkgMTIuNiAxMS44IDEyLjYgMjAuNWMwIDEwLjUtNy4xIDE5LjYtMTcuMyAyMi4ybC0zNS40IDguOGMtNy40IDEuOC0xNS4xIDEuNS0yMi40LS45bC0zMi0xMC43Yy0zLjMtMS4xLTYuNy0xLjctMTAuMi0xLjdjLTcgMC0xMy44IDIuMy0xOS40IDYuNUwxNzYgMjEyYy0xMC4xIDcuNi0xNiAxOS40LTE2IDMybDAgMjhjMCAyNi41IDIxLjUgNDggNDggNDhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmMxMC4xIDAgMTkuNi00LjcgMjUuNi0xMi44bDI1LjYtMzQuMWM4LjMtMTEuMSAxMi44LTI0LjYgMTIuOC0zOC40bDAtMTIuMWMwLTMuOSAyLjYtNy4zIDYuNC04LjJsNS4zLTEuM2MxMS45LTMgMjAuMy0xMy43IDIwLjMtMjZjMC03LjEtMi44LTEzLjktNy44LTE4LjlsLTMzLjUtMzMuNWMtMy43LTMuNy0zLjctOS43IDAtMTMuNGM1LjctNS43IDE0LjEtNy43IDIxLjgtNS4xbDE0LjEgNC43YzEyLjMgNC4xIDI1LjctMS41IDMxLjUtMTNjMy41LTcgMTEuMi0xMC44IDE4LjktOS4ybDI3LjQgNS41QzQzMiAxMTIuNCAzNTEuNSA0OCAyNTYgNDhjLTI3LjcgMC01NCA1LjQtNzguMiAxNS4yek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6XCJdXG59O1xuY29uc3QgZmFHbG9iZUFmcmljYSA9IGZhRWFydGhBZnJpY2E7XG5jb25zdCBmYVJhaW5ib3cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmFpbmJvdycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzc1Ml0sIFwiZjc1YlwiLCBcIk0zMjAgOTZDMTc4LjYgOTYgNjQgMjEwLjYgNjQgMzUybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NkMwIDE3NS4zIDE0My4zIDMyIDMyMCAzMnMzMjAgMTQzLjMgMzIwIDMyMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZDNTc2IDIxMC42IDQ2MS40IDk2IDMyMCA5NnptMCAxOTJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOHMxMjggNTcuMyAxMjggMTI4bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTM1LjMtMjguNy02NC02NC02NHpNMTYwIDM1MmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC0xMjMuNyAxMDAuMy0yMjQgMjI0LTIyNHMyMjQgMTAwLjMgMjI0IDIyNGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC04OC40LTcxLjYtMTYwLTE2MC0xNjBzLTE2MCA3MS42LTE2MCAxNjB6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVOb3RjaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbm90Y2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxY2VcIiwgXCJNMjIyLjcgMzIuMWM1IDE2LjktNC42IDM0LjgtMjEuNSAzOS44QzEyMS44IDk1LjYgNjQgMTY5LjEgNjQgMjU2YzAgMTA2IDg2IDE5MiAxOTIgMTkyczE5Mi04NiAxOTItMTkyYzAtODYuOS01Ny44LTE2MC40LTEzNy4xLTE4NC4xYy0xNi45LTUtMjYuNi0yMi45LTIxLjUtMzkuOHMyMi45LTI2LjYgMzkuOC0yMS41QzQzNC45IDQyLjEgNTEyIDE0MCA1MTIgMjU2YzAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTZTMCAzOTcuNCAwIDI1NkMwIDE0MCA3Ny4xIDQyLjEgMTgyLjkgMTAuNmMxNi45LTUgMzQuOCA0LjYgMzkuOCAyMS41elwiXVxufTtcbmNvbnN0IGZhVGFibGV0U2NyZWVuQnV0dG9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldC1zY3JlZW4tYnV0dG9uJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0YWJsZXQtYWx0XCJdLCBcImYzZmFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0yNTYgNDQ4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCA2NEw2NCA2NGwwIDMyMCAzMjAgMCAwLTMyMHpcIl1cbn07XG5jb25zdCBmYVRhYmxldEFsdCA9IGZhVGFibGV0U2NyZWVuQnV0dG9uO1xuY29uc3QgZmFQYXcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGF3JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMWIwXCIsIFwiTTIyNi41IDkyLjljMTQuMyA0Mi45LS4zIDg2LjItMzIuNiA5Ni44cy03MC4xLTE1LjYtODQuNC01OC41cy4zLTg2LjIgMzIuNi05Ni44czcwLjEgMTUuNiA4NC40IDU4LjV6TTEwMC40IDE5OC42YzE4LjkgMzIuNCAxNC4zIDcwLjEtMTAuMiA4NC4xcy01OS43LS45LTc4LjUtMzMuM1MtMi43IDE3OS4zIDIxLjggMTY1LjNzNTkuNyAuOSA3OC41IDMzLjN6TTY5LjIgNDAxLjJDMTIxLjYgMjU5LjkgMjE0LjcgMjI0IDI1NiAyMjRzMTM0LjQgMzUuOSAxODYuOCAxNzcuMmMzLjYgOS43IDUuMiAyMC4xIDUuMiAzMC41bDAgMS42YzAgMjUuOC0yMC45IDQ2LjctNDYuNyA0Ni43Yy0xMS41IDAtMjIuOS0xLjQtMzQtNC4ybC04OC0yMmMtMTUuMy0zLjgtMzEuMy0zLjgtNDYuNiAwbC04OCAyMmMtMTEuMSAyLjgtMjIuNSA0LjItMzQgNC4yQzg0LjkgNDgwIDY0IDQ1OS4xIDY0IDQzMy4zbDAtMS42YzAtMTAuNCAxLjYtMjAuOCA1LjItMzAuNXpNNDIxLjggMjgyLjdjLTI0LjUtMTQtMjkuMS01MS43LTEwLjItODQuMXM1NC00Ny4zIDc4LjUtMzMuM3MyOS4xIDUxLjcgMTAuMiA4NC4xcy01NCA0Ny4zLTc4LjUgMzMuM3pNMzEwLjEgMTg5LjdjLTMyLjMtMTAuNi00Ni45LTUzLjktMzIuNi05Ni44czUyLjEtNjkuMSA4NC40LTU4LjVzNDYuOSA1My45IDMyLjYgOTYuOHMtNTIuMSA2OS4xLTg0LjQgNTguNXpcIl1cbn07XG5jb25zdCBmYUNsb3VkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTcyOV0sIFwiZjBjMlwiLCBcIk0wIDMzNmMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NGwzNjggMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGMwLTYxLjktNDQtMTEzLjYtMTAyLjQtMTI1LjRjNC4xLTEwLjcgNi40LTIyLjQgNi40LTM0LjZjMC01My00My05Ni05Ni05NmMtMTkuNyAwLTM4LjEgNi01My4zIDE2LjJDMzY3IDY0LjIgMzE1LjMgMzIgMjU2IDMyQzE2Ny42IDMyIDk2IDEwMy42IDk2IDE5MmMwIDIuNyAuMSA1LjQgLjIgOC4xQzQwLjIgMjE5LjggMCAyNzMuMiAwIDMzNnpcIl1cbn07XG5jb25zdCBmYVRyb3dlbEJyaWNrcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cm93ZWwtYnJpY2tzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNThhXCIsIFwiTTI0MC44IDQuOEMyNTAuMyAxMC42IDI1NiAyMC45IDI1NiAzMmwwIDcyIDg5IDBjMy42LTEzLjggMTYuMS0yNCAzMS0yNGw4OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC04OCAwYy0xNC45IDAtMjcuNC0xMC4yLTMxLTI0bC04OSAwIDAgNzJjMCAxMS4xLTUuNyAyMS40LTE1LjIgMjcuMnMtMjEuMiA2LjQtMzEuMSAxLjRsLTE5Mi05NkM2LjggMTUxLjIgMCAxNDAuMSAwIDEyOHM2LjgtMjMuMiAxNy43LTI4LjZsMTkyLTk2YzkuOS01IDIxLjctNC40IDMxLjEgMS40ek0yODggMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0ek0zMiAzODRsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUZhY2VGbHVzaGVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZmx1c2hlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU2MywgXCJmbHVzaGVkXCJdLCBcImY1NzlcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0xNzYgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTI4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptLTE2LTg4YTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0em0yNjQtNzJhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAwem0tMjg4IDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTkyIDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG5jb25zdCBmYUZsdXNoZWQgPSBmYUZhY2VGbHVzaGVkO1xuY29uc3QgZmFIb3NwaXRhbFVzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9zcGl0YWwtdXNlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjgwZFwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDI1NmwxNDQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkwwIDI4OGwwIDY0IDE0NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDAgMzg0bDAgODBjMCAyNi41IDIxLjUgNDggNDggNDhsMjE3LjkgMGMtNi4zLTEwLjItOS45LTIyLjItOS45LTM1LjFjMC00Ni45IDI1LjgtODcuOCA2NC0xMDkuMmwwLTk1LjlMMzIwIDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDB6TTE1MiA2NGwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI0IDI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0yNCAwIDAgMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNC0yNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZsMjQgMCAwLTI0YzAtOC44IDcuMi0xNiAxNi0xNnpNNTEyIDI3MmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6TTI4OCA0NzcuMWMwIDE5LjMgMTUuNiAzNC45IDM0LjkgMzQuOWwyMTguMiAwYzE5LjMgMCAzNC45LTE1LjYgMzQuOS0zNC45YzAtNTEuNC00MS43LTkzLjEtOTMuMS05My4xbC0xMDEuOCAwYy01MS40IDAtOTMuMSA0MS43LTkzLjEgOTMuMXpcIl1cbn07XG5jb25zdCBmYVRlbnRBcnJvd0xlZnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93LWxlZnQtcmlnaHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1N2ZcIiwgXCJNNDg4LjEgNi4yYy05LjktOC45LTI1LTguMS0zMy45IDEuOHMtOC4xIDI1IDEuOCAzMy45TDQ4OS41IDcyIDg2LjUgNzJsMzMuNS0zMC4yYzkuOS04LjkgMTAuNy0yNCAxLjgtMzMuOVM5Ny44LTIuNyA4Ny45IDYuMmwtODAgNzJDMi45IDgyLjcgMCA4OS4yIDAgOTZzMi45IDEzLjMgNy45IDE3LjhsODAgNzJjOS45IDguOSAyNSA4LjEgMzMuOS0xLjhzOC4xLTI1LTEuOC0zMy45TDg2LjUgMTIwbDQwMi45IDAtMzMuNSAzMC4yYy05LjkgOC45LTEwLjcgMjQtMS44IDMzLjlzMjQgMTAuNyAzMy45IDEuOGw4MC03MmM1LjEtNC42IDcuOS0xMSA3LjktMTcuOHMtMi45LTEzLjMtNy45LTE3LjhsLTgwLTcyek0zMDcuNCAxNjYuNWMtMTEuNS04LjctMjcuMy04LjctMzguOCAwbC0xNjggMTI4Yy02LjYgNS0xMSAxMi41LTEyLjMgMjAuN2wtMjQgMTYwYy0xLjQgOS4yIDEuMyAxOC42IDcuNCAyNS42Uzg2LjcgNTEyIDk2IDUxMmwxNDQgMCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTE4LjFjMC01LjUgNC40LTkuOSA5LjktOS45YzMuNyAwIDcuMiAyLjEgOC44IDUuNWw2OC40IDEzNi44YzUuNCAxMC44IDE2LjUgMTcuNyAyOC42IDE3LjdsNjAuMiAwIDE2IDBjOS4zIDAgMTguMi00LjEgMjQuMi0xMS4xczguOC0xNi40IDcuNC0yNS42bC0yNC0xNjBjLTEuMi04LjItNS42LTE1LjctMTIuMy0yMC43bC0xNjgtMTI4elwiXVxufTtcbmNvbnN0IGZhR2F2ZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2F2ZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxlZ2FsXCJdLCBcImYwZTNcIiwgXCJNMzE4LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTIwIDEyMGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYgMTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNC00TDMyNS40IDI5My40bC00IDRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2IDE2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyMC0xMjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2LTE2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNCA0TDMzMC42IDc0LjZsNC00YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNi0xNnptLTE1MiAyODhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w0OCA0OGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xLjQtMS40TDI3MiAyODUuMyAyMjYuNyAyNDAgMTY4IDI5OC43bC0xLjQtMS40elwiXVxufTtcbmNvbnN0IGZhTGVnYWwgPSBmYUdhdmVsO1xuY29uc3QgZmFCaW5vY3VsYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jpbm9jdWxhcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxZTVcIiwgXCJNMTI4IDMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMkw5NiA5NmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem02NCA5NmwwIDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNTkuMWMwLTM0LjYgOS40LTY4LjYgMjcuMi05OC4zQzQwLjkgMjY3LjggNDkuNyAyNDIuNCA1MyAyMTZMNjAuNSAxNTZjMi0xNiAxNS42LTI4IDMxLjgtMjhsOTkuOCAwem0yMjcuOCAwYzE2LjEgMCAyOS44IDEyIDMxLjggMjhMNDU5IDIxNmMzLjMgMjYuNCAxMi4xIDUxLjggMjUuOCA3NC42YzE3LjggMjkuNyAyNy4yIDYzLjcgMjcuMiA5OC4zbDAgNTkuMWMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzIwIDk5LjggMHpNMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi05NiAwIDAtMzJ6bS0zMiA2NGwwIDE2MC02NCAwIDAtMTYwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFNaWNyb3Bob25lU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWljcm9waG9uZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjEzMVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ3Mi4xIDM0NC43YzE1LjItMjYgMjMuOS01Ni4zIDIzLjktODguN2wwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCAyMS4yLTUuMSA0MS4xLTE0LjIgNTguN0w0MTYgMzAwLjggNDE2IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgNTQuM0wzOC44IDUuMXpNMzQ0IDQzMC40YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMmwtNDMuMS0zMy45QzM0Ni4xIDM4MiAzMzMuMyAzODQgMzIwIDM4NGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjhsMC04LjdMMTQ0LjcgMjEwYy0uNSAxLjktLjcgMy45LS43IDZsMCA0MGMwIDg5LjEgNjYuMiAxNjIuNyAxNTIgMTc0LjRsMCAzMy42LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtMzMuNnpcIl1cbn07XG5jb25zdCBmYUJveFRpc3N1ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3gtdGlzc3VlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDViXCIsIFwiTTkyLjUgMEwyMDggMGM0MCAwIDUyIDI0IDY0IDQ4czI0IDQ4IDY0IDQ4bDg1LjIgMEM0MzYgOTYgNDQ4IDEwOCA0NDggMTIyLjhjMCAzLjQtLjcgNi44LTEuOSAxMEw0MDkuNiAyMjQgMzg0IDI4OGwtMjU2IDAtMTYtNjRMNjQuOSAzNS40Yy0uNi0yLjMtLjktNC42LS45LTYuOUM2NCAxMi44IDc2LjggMCA5Mi41IDB6TTc5IDIyNGwxNiA2NC0xNSAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDQ4IDAgMjU2IDAgNDggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTMuNSAwIDI1LjYtNjQgMTkuOSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTEyTDAgMzg0IDAgMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMxIDB6TTAgNDE2bDUxMiAwIDAgNDhjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQ4elwiXVxufTtcbmNvbnN0IGZhTW90b3JjeWNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3RvcmN5Y2xlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3OTQ5XSwgXCJmMjFjXCIsIFwiTTI4MCAzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1Ny43IDAgMTYuNCAzMC4zTDI1NiAxOTJsLTQ1LjMtNDUuM2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0w2NCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzIgOTYgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MGMwIDExLTEuMSAyMS43LTMuMiAzMmw3MC40IDBjLTIuMS0xMC4zLTMuMi0yMS0zLjItMzJjMC01Mi4yIDI1LTk4LjYgNjMuNy0xMjcuOGwxNS40IDI4LjZDNDAyLjQgMjc2LjMgMzg0IDMxMiAzODQgMzUyYzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhzLTU3LjMtMTI4LTEyOC0xMjhjLTEzLjUgMC0yNi41IDIuMS0zOC43IDZMNDE4LjIgMTI4bDYxLjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yMC40IDBjLTcuNSAwLTE0LjcgMi42LTIwLjUgNy40TDM5MS43IDc4LjlsLTE0LTI2Yy03LTEyLjktMjAuNS0yMS0zNS4yLTIxTDI4MCAzMnpNNDYyLjcgMzExLjJsMjguMiA1Mi4yYzYuMyAxMS43IDIwLjkgMTYgMzIuNSA5LjdzMTYtMjAuOSA5LjctMzIuNWwtMjguMi01Mi4yYzIuMy0uMyA0LjctLjQgNy4xLS40YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMTUuNSA1LjUtMjkuNyAxNC43LTQwLjh6TTE4Ny4zIDM3NmMtOS41IDIzLjUtMzIuNSA0MC01OS4zIDQwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzI2LjkgMCA0OS45IDE2LjUgNTkuMyA0MGw2Ni40IDBDMjQyLjUgMjY4LjggMTkwLjUgMjI0IDEyOCAyMjRDNTcuMyAyMjQgMCAyODEuMyAwIDM1MnM1Ny4zIDEyOCAxMjggMTI4YzYyLjUgMCAxMTQuNS00NC44IDEyNS44LTEwNGwtNjYuNCAwek0xMjggMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUJlbGxDb25jaWVyZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmVsbC1jb25jaWVyZ2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg3MTgsIFwiY29uY2llcmdlLWJlbGxcIl0sIFwiZjU2MlwiLCBcIk0yMTYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTYgMCAwIDMzLjNDMTE5LjYgMTU3LjIgMzIgMjUyLjQgMzIgMzY4bDQ0OCAwYzAtMTE1LjYtODcuNi0yMTAuOC0yMDAtMjIyLjdsMC0zMy4zIDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAtNDAgMHpNMjQgNDAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDQwMHpcIl1cbn07XG5jb25zdCBmYUNvbmNpZXJnZUJlbGwgPSBmYUJlbGxDb25jaWVyZ2U7XG5jb25zdCBmYVBlblJ1bGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blbi1ydWxlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wicGVuY2lsLXJ1bGVyXCJdLCBcImY1YWVcIiwgXCJNNDY5LjMgMTkuM2wyMy40IDIzLjRjMjUgMjUgMjUgNjUuNSAwIDkwLjVsLTU2LjQgNTYuNEwzMjIuMyA3NS43bDU2LjQtNTYuNGMyNS0yNSA2NS41LTI1IDkwLjUgMHpNNDQuOSAzNTMuMkwyOTkuNyA5OC4zIDQxMy43IDIxMi4zIDE1OC44IDQ2Ny4xYy02LjcgNi43LTE1LjEgMTEuNi0yNC4yIDE0LjJsLTEwNCAyOS43Yy04LjQgMi40LTE3LjQgLjEtMjMuNi02LjFzLTguNS0xNS4yLTYuMS0yMy42bDI5LjctMTA0YzIuNi05LjIgNy41LTE3LjUgMTQuMi0yNC4yek0yNDkuNCAxMDMuNEwxMDMuNCAyNDkuNCAxNiAxNjEuOWMtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlMOTQuMSAxNmMxOC43LTE4LjcgNDkuMS0xOC43IDY3LjkgMGwxOS44IDE5LjhjLS4zIC4zLS43IC42LTEgLjlsLTY0IDY0Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsNjQtNjRjLjMtLjMgLjYtLjcgLjktMWw0NS4xIDQ1LjF6TTQwOC42IDI2Mi42bDQ1LjEgNDUuMWMtLjMgLjMtLjcgLjYtMSAuOWwtNjQgNjRjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw2NC02NGMuMy0uMyAuNi0uNyAuOS0xTDQ5NiAzNTAuMWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUw0MTcuOSA0OTZjLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwbC04Ny40LTg3LjRMNDA4LjYgMjYyLjZ6XCJdXG59O1xuY29uc3QgZmFQZW5jaWxSdWxlciA9IGZhUGVuUnVsZXI7XG5jb25zdCBmYVBlb3BsZUFycm93cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtYXJyb3dzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHRcIl0sIFwiZTA2OFwiLCBcIk02NCA2NGE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA2NCA2NHpNMjUuOSAyMzMuNEMyOS4zIDE5MS45IDY0IDE2MCAxMDUuNiAxNjBsNDQuOCAwYzI3IDAgNTEgMTMuNCA2NS41IDM0LjFjLTIuNyAxLjktNS4yIDQtNy41IDYuM2wtNjQgNjRjLTIxLjkgMjEuOS0yMS45IDU3LjMgMCA3OS4yTDE5MiAzOTEuMmwwIDcyLjhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTE1LjdjLTI2LjUtOS41LTQ0LjctMzUuOC00Mi4yLTY1LjZsNC4xLTQ5LjN6TTQ0OCA2NGE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA0NDggNjR6TTQzMS42IDIwMC40Yy0yLjMtMi4zLTQuOS00LjQtNy41LTYuM2MxNC41LTIwLjcgMzguNi0zNC4xIDY1LjUtMzQuMWw0NC44IDBjNDEuNiAwIDc2LjMgMzEuOSA3OS43IDczLjRsNC4xIDQ5LjNjMi41IDI5LjgtMTUuNyA1Ni4xLTQyLjIgNjUuNkw1NzYgNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTcyLjggNDcuNi00Ny42YzIxLjktMjEuOSAyMS45LTU3LjMgMC03OS4ybC02NC02NHpNMjcyIDI0MGwwIDMyIDk2IDAgMC0zMmMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsNjQgNjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTY0IDY0Yy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4ycy0xNC44LTEyLjUtMTQuOC0yMi4ybDAtMzItOTYgMCAwIDMyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw2NC02NGM2LjktNi45IDE3LjItOC45IDI2LjItNS4yczE0LjggMTIuNSAxNC44IDIyLjJ6XCJdXG59O1xuY29uc3QgZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQgPSBmYVBlb3BsZUFycm93cztcbmNvbnN0IGZhTWFyc0FuZFZlbnVzQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycy1hbmQtdmVudXMtYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MjNcIiwgXCJNNTA0IDBjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzkgMzktMjIuMiAyMi4yQzQ3NS45IDc4LjQgNDM5LjYgNjQgNDAwIDY0Yy04OC40IDAtMTYwIDcxLjYtMTYwIDE2MGMwIDgwLjIgNTkuMSAxNDYuNyAxMzYuMSAxNTguMmMwIC42LS4xIDEuMi0uMSAxLjhsMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuNCAwIC40IDAgLjQgMCAuMyAwIC40IDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMgMCAuMyAwIC4zIDAgLjMtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4yIDAgLjIgMCAuMiAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xIDAgLjEgMCAuMSAwIC4xYzAgMCAwIC4xIDAgLjFzMCAuMSAwIC4xbDAgLjFjMCAwIDAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgLjEgMCAuMXMwIC4xIDAgLjFzMCAuMSAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIC4xczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGwyNCAwLTI0IDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwtMjQgMCAyNCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwIDAgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMXMwLS4xIDAtLjFzMC0uMSAwLS4xczAtLjEgMC0uMWwwLS4xYzAgMCAwLS4xIDAtLjFzMC0uMSAwLS4xbDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMSAwLS4xIDAtLjEgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDAtLjIgMC0uMiAwLS4yIDI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0IDAgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS4zIDAtLjMgMC0uMyAwLS40IDAtLjMgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjQgMC0uNCAwLS40IDAtLjRjMC0uNiAwLTEuMi0uMS0xLjhjNzctMTEuNiAxMzYuMS03OCAxMzYuMS0xNTguMmMwLTMxLjQtOS02MC43LTI0LjctODUuNEw1NjAgMTEzLjlsMzkgMzljNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMnMxNC44LTEyLjUgMTQuOC0yMi4ybDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0TDUwNCAwek00MDAgMTI4YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyek0xOTAuOSAxOC4xQzE4OC40IDEyIDE4Mi42IDggMTc2IDhzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMNTUuNiA2OC45Yy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNzLTQuNiAxMi4yLTEuNCAxNy45bDM5LjUgNjkuMUwxMC45IDIwNi40Yy01LjQgMy43LTggMTAuMy02LjUgMTYuN3M2LjcgMTEuMiAxMy4xIDEyLjJsNzguNyAxMi4yTDkwLjYgMzI3Yy0uNSA2LjUgMy4xIDEyLjcgOSAxNS41czEyLjkgMS44IDE3LjgtMi42TDE3NiAyODYuMWw1OC42IDUzLjljNC4xIDMuOCA5LjkgNS4xIDE1LjIgMy42QzIyMy42IDMxMC44IDIwOCAyNjkuMiAyMDggMjI0YzAtNjAuOCAyOC4zLTExNSA3Mi40LTE1MC4yTDIyMC4zIDkyLjFsLTI5LjQtNzR6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVDYXJldFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1jYXJldC1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiY2FyZXQtc3F1YXJlLXJpZ2h0XCJdLCBcImYxNTJcIiwgXCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTMyMCAyNTZjMCA2LjctMi44IDEzLTcuNyAxNy42bC0xMTIgMTA0Yy03IDYuNS0xNy4yIDguMi0yNS45IDQuNHMtMTQuNC0xMi41LTE0LjQtMjJsMC0yMDhjMC05LjUgNS43LTE4LjIgMTQuNC0yMnMxOC45LTIuMSAyNS45IDQuNGwxMTIgMTA0YzQuOSA0LjUgNy43IDEwLjkgNy43IDE3LjZ6XCJdXG59O1xuY29uc3QgZmFDYXJldFNxdWFyZVJpZ2h0ID0gZmFTcXVhcmVDYXJldFJpZ2h0O1xuY29uc3QgZmFTY2lzc29ycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2lzc29ycycsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5ODQsIDk5ODYsIDk5ODgsIFwiY3V0XCJdLCBcImYwYzRcIiwgXCJNMjU2IDE5MmwtMzkuNS0zOS41YzQuOS0xMi42IDcuNS0yNi4yIDcuNS00MC41QzIyNCA1MC4xIDE3My45IDAgMTEyIDBTMCA1MC4xIDAgMTEyczUwLjEgMTEyIDExMiAxMTJjMTQuMyAwIDI3LjktMi43IDQwLjUtNy41TDE5MiAyNTZsLTM5LjUgMzkuNWMtMTIuNi00LjktMjYuMi03LjUtNDAuNS03LjVDNTAuMSAyODggMCAzMzguMSAwIDQwMHM1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJjMC0xNC4zLTIuNy0yNy45LTcuNS00MC41TDQ5OS4yIDc2LjhjNy4xLTcuMSA3LjEtMTguNSAwLTI1LjZjLTI4LjMtMjguMy03NC4xLTI4LjMtMTAyLjQgMEwyNTYgMTkyem0yMi42IDE1MC42TDM5Ni44IDQ2MC44YzI4LjMgMjguMyA3NC4xIDI4LjMgMTAyLjQgMGM3LjEtNy4xIDcuMS0xOC41IDAtMjUuNkwzNDIuNiAyNzguNmwtNjQgNjR6TTY0IDExMmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00OCAyNDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbmNvbnN0IGZhQ3V0ID0gZmFTY2lzc29ycztcbmNvbnN0IGZhU3VuUGxhbnRXaWx0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1bi1wbGFudC13aWx0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTdhXCIsIFwiTTE2MCAwYy02LjMgMC0xMiAzLjctMTQuNiA5LjVMMTIwLjYgNjQuOSA2My45IDQzLjJjLTUuOS0yLjMtMTIuNi0uOC0xNyAzLjZzLTUuOSAxMS4xLTMuNiAxN2wyMS43IDU2LjdMOS41IDE0NS40QzMuNyAxNDggMCAxNTMuNyAwIDE2MHMzLjcgMTIgOS41IDE0LjZsNTUuNCAyNC44TDQzLjIgMjU2LjFjLTIuMyA1LjktLjggMTIuNiAzLjYgMTdzMTEuMSA1LjkgMTcgMy42bDU2LjctMjEuNyAyNC44IDU1LjRjMi42IDUuOCA4LjMgOS41IDE0LjYgOS41czEyLTMuNyAxNC42LTkuNWwyNC44LTU1LjQgNTYuNyAyMS43YzUuOSAyLjMgMTIuNiAuOCAxNy0zLjZzNS45LTExLjEgMy42LTE3bC0yMS43LTU2LjcgNTUuNC0yNC44YzUuOC0yLjYgOS41LTguMyA5LjUtMTQuNnMtMy43LTEyLTkuNS0xNC42bC01NS40LTI0LjggMjEuNy01Ni43YzIuMy01LjkgLjgtMTIuNi0zLjYtMTdzLTExLjEtNS45LTE3LTMuNkwxOTkuNCA2NC45IDE3NC42IDkuNUMxNzIgMy43IDE2Ni4zIDAgMTYwIDB6bTAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTMxMiAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNTMuNGMtMTQuOCA3LjctMjQgMjMuMS0yNCA0NC42YzAgMTYuOCAxNiA0NCAzNy40IDY3LjJjNS44IDYuMiAxNS41IDYuMiAyMS4yIDBDNjI0IDMxOCA2NDAgMjkwLjcgNjQwIDI3NGMwLTIxLjUtOS4yLTM3LTI0LTQ0LjZsMC01My40YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwbDAgMjIuN2MtOS44LTQuMy0yMC42LTYuNy0zMi02LjdjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjEuNGMtMTQuOCA3LjctMjQgMjMuMS0yNCA0NC42YzAgMTYuOCAxNiA0NCAzNy40IDY3LjJjNS44IDYuMiAxNS41IDYuMiAyMS4yIDBDNDAwIDM4MiA0MTYgMzU0LjcgNDE2IDMzOGMwLTIxLjUtOS4yLTM3LTI0LTQ0LjZsMC0yMS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA4IDAgMTY4TDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTA0IDAgMC0xNjggMC04IDAtOTZ6XCJdXG59O1xuY29uc3QgZmFUb2lsZXRzUG9ydGFibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9pbGV0cy1wb3J0YWJsZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU4NFwiLCBcIk0zMiAwTDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJMMCA2NCAwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHpNMCA5NmwyNCAwIDIwOCAwIDI0IDAgMCAyNCAwIDM2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLThMNDggNDgwbDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNEwwIDEyMCAwIDk2ek0xOTIgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2ek0zNTIgMEw1NDQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyTDMyMCA2NGwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zMjAgOTZsMjQgMCAyMDggMCAyNCAwIDAgMjQgMCAzNjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LTE2MCAwIDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTM2OCAwLTI0ek01MTIgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbmNvbnN0IGZhSG9ja2V5UHVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob2NrZXktcHVjaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQ1M1wiLCBcIk0yNTYgMjU2QzExNC42IDI1NiAwIDIxMyAwIDE2MHMxMTQuNi05NiAyNTYtOTZzMjU2IDQzIDI1NiA5NnMtMTE0LjYgOTYtMjU2IDk2em0xOTIuMyAxLjhjMjQuNy05LjMgNDYuOS0yMSA2My43LTM1LjZMNTEyIDM1MmMwIDUzLTExNC42IDk2LTI1NiA5NlMwIDQwNSAwIDM1MkwwIDIyMi4zYzE2LjggMTQuNiAzOSAyNi4zIDYzLjcgMzUuNkMxMTQuNSAyNzYuOSAxODIuNSAyODggMjU2IDI4OHMxNDEuNS0xMS4xIDE5Mi4zLTMwLjJ6XCJdXG59O1xuY29uc3QgZmFUYWJsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjBjZVwiLCBcIk02NCAyNTZsMC05NiAxNjAgMCAwIDk2TDY0IDI1NnptMCA2NGwxNjAgMCAwIDk2TDY0IDQxNmwwLTk2em0yMjQgOTZsMC05NiAxNjAgMCAwIDk2LTE2MCAwek00NDggMjU2bC0xNjAgMCAwLTk2IDE2MCAwIDAgOTZ6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6XCJdXG59O1xuY29uc3QgZmFNYWduaWZ5aW5nR2xhc3NBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MjFcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHpNMjQxIDExOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMSAzMUwxMjAgMTg0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExOC4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJ6XCJdXG59O1xuY29uc3QgZmFUYWNob2dyYXBoRGlnaXRhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWNob2dyYXBoLWRpZ2l0YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImRpZ2l0YWwtdGFjaG9ncmFwaFwiXSwgXCJmNTY2XCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDUxMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0zMiA2NGwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgMzY4YzAtOC44IDcuMi0xNiAxNi0xNmwyNTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw4MCAzODRjLTguOCAwLTE2LTcuMi0xNi0xNnptMzIwIDBjMC04LjggNy4yLTE2IDE2LTE2bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek04MCAyODhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem00OCAxNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwem04MC0xNmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTQ4IDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bTgwLTE2YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG5jb25zdCBmYURpZ2l0YWxUYWNob2dyYXBoID0gZmFUYWNob2dyYXBoRGlnaXRhbDtcbmNvbnN0IGZhVXNlcnNTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3M1wiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ0MC42IDMyMGwxNzguMSAwYzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNDNjQwIDIzOS44IDU5Mi4yIDE5MiA1MzMuMyAxOTJsLTQyLjcgMGMtMTUuOSAwLTMxIDMuNS00NC42IDkuN2MxLjMgNy4yIDEuOSAxNC43IDEuOSAyMi4zYzAgMzAuMi0xMC41IDU4LTI4IDc5LjlsLTI1LjItMTkuN0M0MDguMSAyNjcuNyA0MTYgMjQ2LjggNDE2IDIyNGMwLTUzLTQzLTk2LTk2LTk2Yy0zMS4xIDAtNTguNyAxNC44LTc2LjMgMzcuN2wtNDAuNi0zMS44YzEzLTE0LjIgMjAuOS0zMy4xIDIwLjktNTMuOWMwLTQ0LjItMzUuOC04MC04MC04MEMxMTYuMyAwIDkxLjkgMTQuMSA3Ny41IDM1LjVMMzguOCA1LjF6TTEwNi43IDE5MkM0Ny44IDE5MiAwIDIzOS44IDAgMjk4LjdDMCAzMTAuNCA5LjYgMzIwIDIxLjMgMzIwbDIxMy4zIDBjLjIgMCAuNCAwIC43IDBjLTIwLjYtMTguMi0zNS4yLTQyLjgtNDAuOC03MC44TDEyMS44IDE5MmwtMTUuMiAwek0yNjEuMyAzNTJDMTg3LjcgMzUyIDEyOCA0MTEuNyAxMjggNDg1LjNjMCAxNC43IDExLjkgMjYuNyAyNi43IDI2LjdsMzMwLjcgMGMxMC41IDAgMTkuNS02IDIzLjktMTQuOEwzMjQuOSAzNTJsLTYzLjYgMHpNNTEyIDE2MEE4MCA4MCAwIDEgMCA1MTIgMGE4MCA4MCAwIDEgMCAwIDE2MHpcIl1cbn07XG5jb25zdCBmYUNsb3ZlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG92ZXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUxMzlcIiwgXCJNMjE2LjYgNDkuOUMyMDUuMSAzOC41IDE4OS41IDMyIDE3My4zIDMyQzEzOS40IDMyIDExMiA1OS40IDExMiA5My4zbDAgNC45YzAgMTIgMy4zIDIzLjcgOS40IDM0bDE4LjggMzEuM2MxLjEgMS44IDEuMiAzLjEgMSA0LjJjLS4yIDEuMi0uOCAyLjUtMiAzLjZzLTIuNCAxLjgtMy42IDJjLTEgLjItMi40IC4xLTQuMi0xbC0zMS4zLTE4LjhjLTEwLjMtNi4yLTIyLTkuNC0zNC05LjRsLTQuOSAwQzI3LjQgMTQ0IDAgMTcxLjQgMCAyMDUuM2MwIDE2LjIgNi41IDMxLjggMTcuOSA0My4zbDEuMiAxLjJjMy40IDMuNCAzLjQgOSAwIDEyLjRsLTEuMiAxLjJDNi41IDI3NC45IDAgMjkwLjUgMCAzMDYuN0MwIDM0MC42IDI3LjQgMzY4IDYxLjMgMzY4bDQuOSAwYzEyIDAgMjMuNy0zLjMgMzQtOS40bDMxLjMtMTguOGMxLjgtMS4xIDMuMS0xLjIgNC4yLTFjMS4yIC4yIDIuNSAuOCAzLjYgMnMxLjggMi40IDIgMy42Yy4yIDEgLjEgMi40LTEgNC4ybC0xOC44IDMxLjNjLTYuMiAxMC4zLTkuNCAyMi05LjQgMzRsMCA0LjljMCAzMy44IDI3LjQgNjEuMyA2MS4zIDYxLjNjMTYuMiAwIDMxLjgtNi41IDQzLjMtMTcuOWwxLjItMS4yYzMuNC0zLjQgOS0zLjQgMTIuNCAwbDEuMiAxLjJjMTEuNSAxMS41IDI3LjEgMTcuOSA0My4zIDE3LjljMzMuOCAwIDYxLjMtMjcuNCA2MS4zLTYxLjNsMC00LjljMC0xMi0zLjMtMjMuNy05LjQtMzRsLTE4LjgtMzEuM2MtMS4xLTEuOC0xLjItMy4xLTEtNC4yYy4yLTEuMiAuOC0yLjUgMi0zLjZzMi40LTEuOCAzLjYtMmMxLS4yIDIuNC0uMSA0LjIgMWwzMS4zIDE4LjhjMTAuMyA2LjIgMjIgOS40IDM0IDkuNGw0LjkgMGMzMy44IDAgNjEuMy0yNy40IDYxLjMtNjEuM2MwLTE2LjItNi41LTMxLjgtMTcuOS00My4zbC0xLjItMS4yYy0zLjQtMy40LTMuNC05IDAtMTIuNGwxLjItMS4yYzExLjUtMTEuNSAxNy45LTI3LjEgMTcuOS00My4zYzAtMzMuOC0yNy40LTYxLjMtNjEuMy02MS4zbC00LjkgMGMtMTIgMC0yMy43IDMuMy0zNCA5LjRsLTMxLjMgMTguOGMtMS44IDEuMS0zLjEgMS4yLTQuMiAxYy0xLjItLjItMi41LS44LTMuNi0ycy0xLjgtMi40LTItMy42Yy0uMi0xLS4xLTIuNCAxLTQuMmwxOC44LTMxLjNjNi4yLTEwLjMgOS40LTIyIDkuNC0zNGwwLTQuOUMzMzYgNTkuNCAzMDguNiAzMiAyNzQuNyAzMmMtMTYuMiAwLTMxLjggNi41LTQzLjMgMTcuOWwtMS4yIDEuMmMtMy40IDMuNC05IDMuNC0xMi40IDBsLTEuMi0xLjJ6XCJdXG59O1xuY29uc3QgZmFSZXBseSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXBseScsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNzE0LCBcIm1haWwtcmVwbHlcIl0sIFwiZjNlNVwiLCBcIk0yMDUgMzQuOGMxMS41IDUuMSAxOSAxNi42IDE5IDI5LjJsMCA2NCAxMTIgMGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NmMwIDExMy4zLTgxLjUgMTYzLjktMTAwLjIgMTc0LjFjLTIuNSAxLjQtNS4zIDEuOS04LjEgMS45Yy0xMC45IDAtMTkuNy04LjktMTkuNy0xOS43YzAtNy41IDQuMy0xNC40IDkuOC0xOS41YzkuNC04LjggMjIuMi0yNi40IDIyLjItNTYuN2MwLTUzLTQzLTk2LTk2LTk2bC05NiAwIDAgNjRjMCAxMi42LTcuNCAyNC4xLTE5IDI5LjJzLTI1IDMtMzQuNC01LjRsLTE2MC0xNDRDMy45IDIyNS43IDAgMjE3LjEgMCAyMDhzMy45LTE3LjcgMTAuNi0yMy44bDE2MC0xNDRjOS40LTguNSAyMi45LTEwLjYgMzQuNC01LjR6XCJdXG59O1xuY29uc3QgZmFNYWlsUmVwbHkgPSBmYVJlcGx5O1xuY29uc3QgZmFTdGFyQW5kQ3Jlc2NlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Rhci1hbmQtY3Jlc2NlbnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NzcwXSwgXCJmNjk5XCIsIFwiTTAgMjU2QzAgMTE0LjYgMTE0LjYgMCAyNTYgMGMzMyAwIDY0LjYgNi4zIDkzLjYgMTcuN2M3LjQgMi45IDExLjUgMTAuNyA5LjggMTguNHMtOC44IDEzLTE2LjcgMTIuNGMtNC44LS4zLTkuNy0uNS0xNC42LS41Yy0xMTQuOSAwLTIwOCA5My4xLTIwOCAyMDhzOTMuMSAyMDggMjA4IDIwOGM0LjkgMCA5LjgtLjIgMTQuNi0uNWM3LjktLjUgMTUgNC43IDE2LjcgMTIuNHMtMi40IDE1LjUtOS44IDE4LjRDMzIwLjYgNTA1LjcgMjg5IDUxMiAyNTYgNTEyQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2ek0zNzUuNCAxMzcuNGMzLjUtNy4xIDEzLjctNy4xIDE3LjIgMGwzMS41IDYzLjhjMS40IDIuOCA0LjEgNC44IDcuMiA1LjNsNzAuNCAxMC4yYzcuOSAxLjEgMTEgMTAuOCA1LjMgMTYuNGwtNTAuOSA0OS42Yy0yLjMgMi4yLTMuMyA1LjQtMi44IDguNWwxMiA3MC4xYzEuMyA3LjgtNi45IDEzLjgtMTMuOSAxMC4xbC02My0zMy4xYy0yLjgtMS41LTYuMS0xLjUtOC45IDBsLTYzIDMzLjFjLTcgMy43LTE1LjMtMi4zLTEzLjktMTAuMWwxMi03MC4xYy41LTMuMS0uNS02LjMtMi44LTguNUwyNjEgMjMzLjFjLTUuNy01LjYtMi42LTE1LjIgNS4zLTE2LjRsNzAuNC0xMC4yYzMuMS0uNSA1LjgtMi40IDcuMi01LjNsMzEuNS02My44elwiXVxufTtcbmNvbnN0IGZhSG91c2VGaXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZpcmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGNcIiwgXCJNMjg4IDM1MC4xbDAgMS45LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjQgMCAyNGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMjQgMC0zMS45IDBjLTEuNSAwLTMtLjEtNC41LS4yYy0xLjIgLjEtMi40IC4yLTMuNiAuMmwtMTYgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xMTJjMC0uOSAwLTEuOSAuMS0yLjhsMC02OS43LTMyIDBjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQ0Ny4zIDEyOC4xYy0xMi4zLTEtMjUgMy0zNC44IDExLjdjLTM1LjQgMzEuNi02NS42IDY3LjctODcuMyAxMDIuOEMzMDQuMyAyNzYuNSAyODggMzE0LjkgMjg4IDM1MC4xek00ODAgNTEyYy04OC40IDAtMTYwLTcxLjYtMTYwLTE2MGMwLTc2LjcgNjIuNS0xNDQuNyAxMDcuMi0xNzkuNGM1LTMuOSAxMC45LTUuOCAxNi44LTUuOGM3LjktLjEgMTYgMy4xIDIyIDkuMmw0NiA0NiAxMS4zLTExLjNjMTEuNy0xMS43IDMwLjYtMTIuNyA0Mi4zLTFDNjI0LjUgMjY4IDY0MCAzMjAuMiA2NDAgMzUyYzAgODguNC03MS42IDE2MC0xNjAgMTYwem02NC0xMTEuOGMwLTM2LjUtMzctNzMtNTQuOC04OC40Yy01LjQtNC43LTEzLjEtNC43LTE4LjUgMEM0NTMgMzI3LjEgNDE2IDM2My42IDQxNiA0MDAuMmMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbmNvbnN0IGZhU3F1YXJlTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLW1pbnVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjE3NjcsIFwibWludXMtc3F1YXJlXCJdLCBcImYxNDZcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptODggMjAwbDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpcIl1cbn07XG5jb25zdCBmYU1pbnVzU3F1YXJlID0gZmFTcXVhcmVNaW51cztcbmNvbnN0IGZhSGVsaWNvcHRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWxpY29wdGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjQxXSwgXCJmNTMzXCIsIFwiTTEyOCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkw1NDQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzODQgNjRsMCA2NCAzMiAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwLTY0IDBjLTIwLjEgMC0zOS4xLTkuNS01MS4yLTI1LjZsLTcxLjQtOTUuMmMtMy41LTQuNy04LjMtOC4zLTEzLjctMTAuNUw0Ny4yIDE5OC4xYy05LjUtMy44LTE2LjctMTItMTkuMi0yMkw1IDgzLjlDMi40IDczLjggMTAuMSA2NCAyMC41IDY0TDQ4IDY0YzEwLjEgMCAxOS42IDQuNyAyNS42IDEyLjhMMTEyIDEyOGwyMDggMCAwLTY0TDE2MCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTM4NCAzMjBsMTI4IDAgMC0zMmMwLTUzLTQzLTk2LTk2LTk2bC0zMiAwIDAgMTI4ek02MzAuNiA0MjUuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMy45IDMuOWMtMjQgMjQtNTYuNiAzNy41LTkwLjUgMzcuNUwyNTYgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDI4MC4yIDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdsMy45LTMuOWMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHpcIl1cbn07XG5jb25zdCBmYUNvbXBhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcGFzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUxN10sIFwiZjE0ZVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptNTAuNy0xODYuOUwxNjIuNCAzODAuNmMtMTkuNCA3LjUtMzguNS0xMS42LTMxLTMxbDU1LjUtMTQ0LjNjMy4zLTguNSA5LjktMTUuMSAxOC40LTE4LjRsMTQ0LjMtNTUuNWMxOS40LTcuNSAzOC41IDExLjYgMzEgMzFMMzI1LjEgMzA2LjdjLTMuMiA4LjUtOS45IDE1LjEtMTguNCAxOC40ek0yODggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVDYXJldERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWNhcmV0LWRvd24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhcmV0LXNxdWFyZS1kb3duXCJdLCBcImYxNTBcIiwgXCJNMzg0IDQ4MGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwek0yMjQgMzUyYy02LjcgMC0xMy0yLjgtMTcuNi03LjdsLTEwNC0xMTJjLTYuNS03LTguMi0xNy4yLTQuNC0yNS45czEyLjUtMTQuNCAyMi0xNC40bDIwOCAwYzkuNSAwIDE4LjIgNS43IDIyIDE0LjRzMi4xIDE4LjktNC40IDI1LjlsLTEwNCAxMTJjLTQuNSA0LjktMTAuOSA3LjctMTcuNiA3Ljd6XCJdXG59O1xuY29uc3QgZmFDYXJldFNxdWFyZURvd24gPSBmYVNxdWFyZUNhcmV0RG93bjtcbmNvbnN0IGZhRmlsZUNpcmNsZVF1ZXN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLXF1ZXN0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGVmXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHptNDggOTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDI0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTM2OCAzMjEuNmwwIDYuNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNi40YzAtNS4zIDQuMy05LjYgOS42LTkuNmw0MC41IDBjNy43IDAgMTMuOSA2LjIgMTMuOSAxMy45YzAgNS4yLTIuOSA5LjktNy40IDEyLjNsLTMyIDE2LjhjLTUuMyAyLjgtOC42IDguMi04LjYgMTQuMmwwIDE0LjhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTUuMSAyMy41LTEyLjNjMTUuMS03LjkgMjQuNS0yMy42IDI0LjUtNDAuNmMwLTI1LjQtMjAuNi00NS45LTQ1LjktNDUuOWwtNDAuNSAwYy0yMyAwLTQxLjYgMTguNi00MS42IDQxLjZ6XCJdXG59O1xuY29uc3QgZmFMYXB0b3BDb2RlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhcHRvcC1jb2RlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNWZjXCIsIFwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2LTY0IDAgMC0yNTZMMTI4IDk2bDAgMjU2LTY0IDBMNjQgOTZ6TTAgNDAzLjJDMCAzOTIuNiA4LjYgMzg0IDE5LjIgMzg0bDYwMS42IDBjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMmMwIDQyLjQtMzQuNCA3Ni44LTc2LjggNzYuOEw3Ni44IDQ4MEMzNC40IDQ4MCAwIDQ0NS42IDAgNDAzLjJ6TTI4MSAyMDlsLTMxIDMxIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ4LTQ4Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw0OC00OGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6TTM5MyAxNzVsNDggNDhjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTQ4IDQ4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6XCJdXG59O1xuY29uc3QgZmFTd2F0Y2hib29rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N3YXRjaGJvb2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YzNcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzODRjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZMMCAzMnpNMjIzLjYgNDI1LjljLjMtMy4zIC40LTYuNiAuNC05LjlsMC0yNjIgNzUuNC03NS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDkwLjUgOTAuNWMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0wyMjMuNiA0MjUuOXpNMTgyLjggNTEybDE5Mi0xOTJMNDgwIDMyMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjk3LjIgMHpNMTI4IDY0TDY0IDY0bDAgNjQgNjQgMCAwLTY0ek02NCAxOTJsMCA2NCA2NCAwIDAtNjQtNjQgMHpNOTYgNDQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG5jb25zdCBmYVByZXNjcmlwdGlvbkJvdHRsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwcmVzY3JpcHRpb24tYm90dGxlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDg1XCIsIFwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NEwwIDMyem0zMiA5NmwzMjAgMCAwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzIgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMMzIgMzg0bDAtNjQgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMMzIgMjg4bDAtNjQgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMMzIgMTkybDAtNjR6XCJdXG59O1xuY29uc3QgZmFCYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhcnMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcIm5hdmljb25cIl0sIFwiZjBjOVwiLCBcIk0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZ6TTAgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ0OCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhTmF2aWNvbiA9IGZhQmFycztcbmNvbnN0IGZhUGVvcGxlR3JvdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVvcGxlLWdyb3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTMzXCIsIFwiTTcyIDg4YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDcyIDg4ek02NCAyNDUuN0M1NCAyNTYuOSA0OCAyNzEuOCA0OCAyODhzNiAzMS4xIDE2IDQyLjNsMC04NC43em0xNDQuNC00OS4zQzE3OC43IDIyMi43IDE2MCAyNjEuMiAxNjAgMzA0YzAgMzQuMyAxMiA2NS44IDMyIDkwLjVsMCAyMS41YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI2LjhDMjYuMiAzNzEuMiAwIDMzMi43IDAgMjg4YzAtNjEuOSA1MC4xLTExMiAxMTItMTEybDMyIDBjMjQgMCA0Ni4yIDcuNSA2NC40IDIwLjN6TTQ0OCA0MTZsMC0yMS41YzIwLTI0LjcgMzItNTYuMiAzMi05MC41YzAtNDIuOC0xOC43LTgxLjMtNDguNC0xMDcuN0M0NDkuOCAxODMuNSA0NzIgMTc2IDQ5NiAxNzZsMzIgMGM2MS45IDAgMTEyIDUwLjEgMTEyIDExMmMwIDQ0LjctMjYuMiA4My4yLTY0IDEwMS4ybDAgMjYuOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTgtMzI4YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDQ1NiA4OHpNNTc2IDI0NS43bDAgODQuN2MxMC0xMS4zIDE2LTI2LjEgMTYtNDIuM3MtNi0zMS4xLTE2LTQyLjN6TTMyMCAzMmE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNMjQwIDMwNGMwIDE2LjIgNiAzMSAxNiA0Mi4zbDAtODQuN2MtMTAgMTEuMy0xNiAyNi4xLTE2IDQyLjN6bTE0NC00Mi4zbDAgODQuN2MxMC0xMS4zIDE2LTI2LjEgMTYtNDIuM3MtNi0zMS4xLTE2LTQyLjN6TTQ0OCAzMDRjMCA0NC43LTI2LjIgODMuMi02NCAxMDEuMmwwIDQyLjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNDIuOGMtMzcuOC0xOC02NC01Ni41LTY0LTEwMS4yYzAtNjEuOSA1MC4xLTExMiAxMTItMTEybDMyIDBjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJ6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3NFbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91cmdsYXNzLWVuZCcsXG4gIGljb246IFszODQsIDUxMiwgWzg5ODcsIFwiaG91cmdsYXNzLTNcIl0sIFwiZjI1M1wiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDAgMTFjMCA0Mi40IDE2LjkgODMuMSA0Ni45IDExMy4xTDE0Ni43IDI1NiA3OC45IDMyMy45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAyNTYgMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTFjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xTDIzNy4zIDI1Nmw2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMjAgMCA2NCAwIDMyIDB6TTk2IDc1bDAtMTEgMTkyIDAgMCAxMWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUwxOTIgMjEwLjdsLTY3LjktNjcuOUMxMDYuMSAxMjQuOSA5NiAxMDAuNCA5NiA3NXpcIl1cbn07XG5jb25zdCBmYUhvdXJnbGFzczMgPSBmYUhvdXJnbGFzc0VuZDtcbmNvbnN0IGZhSGVhcnRDcmFjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jcmFjaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE0OCwgXCJoZWFydC1icm9rZW5cIl0sIFwiZjdhOVwiLCBcIk0xMTkuNCA0NC4xYzIzLjMtMy45IDQ2LjgtMS45IDY4LjYgNS4zbDQ5LjggNzcuNS03NS40IDc1LjRjLTEuNSAxLjUtMi40IDMuNi0yLjMgNS44czEgNC4yIDIuNiA1LjdsMTEyIDEwNGMyLjkgMi43IDcuNCAyLjkgMTAuNSAuM3MzLjgtNyAxLjctMTAuNGwtNjAuNC05OC4xIDkwLjctNzUuNmMyLjYtMi4xIDMuNS01LjcgMi40LTguOEwyOTYuOCA2MS44YzI4LjUtMTYuNyA2Mi40LTIzLjIgOTUuNy0xNy42QzQ2MS41IDU1LjYgNTEyIDExNS4yIDUxMiAxODUuMWwwIDUuOGMwIDQxLjUtMTcuMiA4MS4yLTQ3LjYgMTA5LjVMMjgzLjcgNDY5LjFjLTcuNSA3LTE3LjQgMTAuOS0yNy43IDEwLjlzLTIwLjItMy45LTI3LjctMTAuOUw0Ny42IDMwMC40QzE3LjIgMjcyLjEgMCAyMzIuNCAwIDE5MC45bDAtNS44YzAtNjkuOSA1MC41LTEyOS41IDExOS40LTE0MXpcIl1cbn07XG5jb25zdCBmYUhlYXJ0QnJva2VuID0gZmFIZWFydENyYWNrO1xuY29uc3QgZmFTcXVhcmVVcFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS11cC1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg1OTksIFwiZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0XCJdLCBcImYzNjBcIiwgXCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMTYwIDE2MGMtNi41IDAtMTIuMyAzLjktMTQuOCA5LjlzLTEuMSAxMi45IDMuNSAxNy40bDQwIDQwLTcxIDcxQzExNCAzMDIgMTEyIDMwNi45IDExMiAzMTJzMiAxMCA1LjcgMTMuN2wzNi43IDM2LjdjMy42IDMuNiA4LjUgNS43IDEzLjcgNS43czEwLTIgMTMuNy01LjdsNzEtNzEgNDAgNDBjNC42IDQuNiAxMS41IDUuOSAxNy40IDMuNXM5LjktOC4zIDkuOS0xNC44bDAtMTQ0YzAtOC44LTcuMi0xNi0xNi0xNmwtMTQ0IDB6XCJdXG59O1xuY29uc3QgZmFFeHRlcm5hbExpbmtTcXVhcmVBbHQgPSBmYVNxdWFyZVVwUmlnaHQ7XG5jb25zdCBmYUZhY2VLaXNzQmVhbSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWtpc3MtYmVhbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUzNywgXCJraXNzLWJlYW1cIl0sIFwiZjU5N1wiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptNDguNy0xOTguM2M0LjMgNS4xIDcuMyAxMS40IDcuMyAxOC4zcy0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRjLTIuNyAxLjUtNS43IDMtOC43IDQuM2MzLjEgMS4zIDYgMi43IDguNyA0LjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40QzI3NC43IDQ0My4xIDI1Ny40IDQ0OCAyNDAgNDQ4Yy0zLjYgMC02LjgtMi41LTcuNy02cy42LTcuMiAzLjgtOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMCAwIDAgMCAwIDBsLjItLjFjLjItLjEgLjUtLjMgLjktLjVjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFjLS40LS4yLS43LS40LS45LS41bC0uMi0uMWMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjUtMS40LTQuMS00LjEtNC4xLTdzMS42LTUuNiA0LjEtN2MwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMi0uMSAuMy0uMiAuNi0uNGMuOC0uNSAyLTEuMiAzLjQtMi4xYzIuOC0xLjkgNi41LTQuNSAxMC4yLTcuNmMzLjctMy4xIDcuMi02LjYgOS42LTEwLjFjMi41LTMuNSAzLjUtNi40IDMuNS04LjZzLTEtNS0zLjUtOC42Yy0yLjUtMy41LTUuOS02LjktOS42LTEwLjFjLTMuNy0zLjEtNy40LTUuNy0xMC4yLTcuNmMtMS40LS45LTIuNi0xLjYtMy40LTIuMWwtLjQtLjMtLjUtLjMtLjItLjFjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMy4yLTEuOC00LjctNS41LTMuOC05czQuMS02IDcuNy02YzE3LjQgMCAzNC43IDQuOSA0Ny45IDEyLjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjR6bS04Ny4xLTg0LjlzMCAwIDAgMGMwIDAgMCAwIDAgMGwtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjJjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMHptMTYwIDBjMCAwIDAgMCAwIDBsLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yYzAgMCAwIDAgMCAwYzAgMCAwIDAgMCAwczAgMCAwIDBjLTIuMSAyLjgtNS43IDMuOS04LjkgMi44cy01LjUtNC4xLTUuNS03LjZjMC0xNy45IDYuNy0zNS42IDE2LjYtNDguOGM5LjgtMTMgMjMuOS0yMy4yIDM5LjQtMjMuMnMyOS42IDEwLjIgMzkuNCAyMy4yYzkuOSAxMy4yIDE2LjYgMzAuOSAxNi42IDQ4LjhjMCAzLjQtMi4yIDYuNS01LjUgNy42cy02LjkgMC04LjktMi44YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHpcIl1cbn07XG5jb25zdCBmYUtpc3NCZWFtID0gZmFGYWNlS2lzc0JlYW07XG5jb25zdCBmYUZpbG0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkwMl0sIFwiZjAwOFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNNDggMzY4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTM2OC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek00OCAyNDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzY4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTQ4IDExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2ek00MTYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMTYwIDEyOGwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMTkyIDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwelwiXVxufTtcbmNvbnN0IGZhUnVsZXJIb3Jpem9udGFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1bGVyLWhvcml6b250YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1NDdcIiwgXCJNMCAzMzZjMCAyNi41IDIxLjUgNDggNDggNDhsNTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNjBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDAgMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzM2elwiXVxufTtcbmNvbnN0IGZhUGVvcGxlUm9iYmVyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtcm9iYmVyeScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUzNlwiLCBcIk00ODguMiA1OS4xQzQ3OC4xIDk5LjYgNDQxLjcgMTI4IDQwMCAxMjhzLTc4LjEtMjguNC04OC4yLTY4LjlMMzAzIDI0LjJDMjk4LjggNy4xIDI4MS40LTMuMyAyNjQuMiAxUzIzNi43IDIyLjYgMjQxIDM5LjhsOC43IDM0LjljMTEgNDQgNDAuMiA3OS42IDc4LjMgOTkuNkwzMjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA1LjdjMzguMS0yMCA2Ny4zLTU1LjYgNzguMy05OS42TDU1OSAzOS44YzQuMy0xNy4xLTYuMS0zNC41LTIzLjMtMzguOFM1MDEuMiA3LjEgNDk3IDI0LjJsLTguNyAzNC45ek00MDAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek04MCA5NkE0OCA0OCAwIDEgMCA4MCAwYTQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2IDAgLjZMOCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAxNiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMjcuMyAxMyAyMC41YzUuOSA5LjIgMTYuMSAxNC45IDI3IDE0LjlsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzAuNCAwLTM3LjQtNTguOUMxNTcuNiAxNDIgMTMyLjEgMTI4IDEwNC43IDEyOEw3MiAxMjh6XCJdXG59O1xuY29uc3QgZmFMaWdodGJ1bGIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlnaHRidWxiJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4MTYxXSwgXCJmMGViXCIsIFwiTTI3MiAzODRjOS42LTMxLjkgMjkuNS01OS4xIDQ5LjItODYuMmMwIDAgMCAwIDAgMGM1LjItNy4xIDEwLjQtMTQuMiAxNS40LTIxLjRjMTkuOC0yOC41IDMxLjQtNjMgMzEuNC0xMDAuM0MzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgMzcuMyAxMS42IDcxLjkgMzEuNCAxMDAuM2M1IDcuMiAxMC4yIDE0LjMgMTUuNCAyMS40YzAgMCAwIDAgMCAwYzE5LjggMjcuMSAzOS43IDU0LjQgNDkuMiA4Ni4ybDE2MCAwek0xOTIgNTEyYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMTYtMTYwIDAgMCAxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHpNMTEyIDE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwIDM1LjgtODAgODB6XCJdXG59O1xuY29uc3QgZmFDYXJldExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyZXQtbGVmdCcsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiZjBkOVwiLCBcIk05LjQgMjc4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlzMTkuOCAxNi42IDE5LjggMjkuNmwwIDI1NmMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTI4LTEyOHpcIl1cbn07XG5jb25zdCBmYUNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXhjbGFtYXRpb24tY2lyY2xlXCJdLCBcImYwNmFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMzg0YzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTEyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyYzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yMjQgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFFeGNsYW1hdGlvbkNpcmNsZSA9IGZhQ2lyY2xlRXhjbGFtYXRpb247XG5jb25zdCBmYVNjaG9vbENpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjaG9vbC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NmRcIiwgXCJNMzM3LjggNS40QzMyNy0xLjggMzEzLTEuOCAzMDIuMiA1LjRMMTY2LjMgOTYgNDggOTZDMjEuNSA5NiAwIDExNy41IDAgMTQ0TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDI3MiAwczAgMCAwIDBsLTY0IDAgMC05NmMwLTM1LjMgMjguNy02NCA2NC02NGwuMyAwIC41IDBjMy40LTM3LjcgMTguNy03Mi4xIDQyLjItOTkuMUMzNTAuMiAyNjAgMzM1LjYgMjY0IDMyMCAyNjRjLTQ4LjYgMC04OC0zOS40LTg4LTg4czM5LjQtODggODgtODhzODggMzkuNCA4OCA4OGMwIDE4LjMtNS42IDM1LjMtMTUuMSA0OS40YzI5LTIxIDY0LjYtMzMuNCAxMDMuMS0zMy40YzU5LjUgMCAxMTIuMSAyOS42IDE0NCA3NC44TDY0MCAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDczLjcgOTYgMzM3LjggNS40ek05NiAxOTJsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnptMCAxMjhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMzIwIDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDAgMC0xNmMwLTguOC03LjItMTYtMTYtMTZ6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0yMi42LTE0NGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDUxOC42IDM2OHpcIl1cbn07XG5jb25zdCBmYUFycm93UmlnaHRGcm9tQnJhY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC1mcm9tLWJyYWNrZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNpZ24tb3V0XCJdLCBcImYwOGJcIiwgXCJNNTAyLjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQwMi43IDIyNCAxOTIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIxMC43IDAtNzMuNCA3My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6TTE2MCA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAzMkM0MyAzMiAwIDc1IDAgMTI4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMHpcIl1cbn07XG5jb25zdCBmYVNpZ25PdXQgPSBmYUFycm93UmlnaHRGcm9tQnJhY2tldDtcbmNvbnN0IGZhQ2lyY2xlQ2hldnJvbkRvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWNoZXZyb24tZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2hldnJvbi1jaXJjbGUtZG93blwiXSwgXCJmMTNhXCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMHpNMTM1IDI0MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDg3IDg3IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwyNzMgMzQ1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwxMzUgMjQxelwiXVxufTtcbmNvbnN0IGZhQ2hldnJvbkNpcmNsZURvd24gPSBmYUNpcmNsZUNoZXZyb25Eb3duO1xuY29uc3QgZmFVbmxvY2tLZXlob2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VubG9jay1rZXlob2xlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ1bmxvY2stYWx0XCJdLCBcImYxM2VcIiwgXCJNMjI0IDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDQ4IDI0MCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyNTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYgMCAwLTQ4QzgwIDY0LjUgMTQ0LjUgMCAyMjQgMGM1Ny41IDAgMTA3IDMzLjcgMTMwLjEgODIuM2M3LjYgMTYgLjggMzUuMS0xNS4yIDQyLjZzLTM1LjEgLjgtNDIuNi0xNS4yQzI4My40IDgyLjYgMjU1LjkgNjQgMjI0IDY0em0zMiAzMjBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMHpcIl1cbn07XG5jb25zdCBmYVVubG9ja0FsdCA9IGZhVW5sb2NrS2V5aG9sZTtcbmNvbnN0IGZhQ2xvdWRTaG93ZXJzSGVhdnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtc2hvd2Vycy1oZWF2eScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjc0MFwiLCBcIk05NiAzMjBjLTUzIDAtOTYtNDMtOTYtOTZjMC00Mi41IDI3LjYtNzguNiA2NS45LTkxLjJDNjQuNyAxMjYuMSA2NCAxMTkuMSA2NCAxMTJDNjQgNTAuMSAxMTQuMSAwIDE3NiAwYzQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MGMxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgNS41LS42IDEwLjgtMS42IDE2Yy41IDAgMS4xIDAgMS42IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZMOTYgMzIwek04MS41IDM1My45YzEyLjIgNS4yIDE3LjggMTkuMyAxMi42IDMxLjVsLTQ4IDExMmMtNS4yIDEyLjItMTkuMyAxNy44LTMxLjUgMTIuNlMtMy4zIDQ5MC43IDEuOSA0NzguNWw0OC0xMTJjNS4yLTEyLjIgMTkuMy0xNy44IDMxLjUtMTIuNnptMTIwIDBjMTIuMiA1LjIgMTcuOCAxOS4zIDEyLjYgMzEuNWwtNDggMTEyYy01LjIgMTIuMi0xOS4zIDE3LjgtMzEuNSAxMi42cy0xNy44LTE5LjMtMTIuNi0zMS41bDQ4LTExMmM1LjItMTIuMiAxOS4zLTE3LjggMzEuNS0xMi42em0yNDQuNiAzMS41bC00OCAxMTJjLTUuMiAxMi4yLTE5LjMgMTcuOC0zMS41IDEyLjZzLTE3LjgtMTkuMy0xMi42LTMxLjVsNDgtMTEyYzUuMi0xMi4yIDE5LjMtMTcuOCAzMS41LTEyLjZzMTcuOCAxOS4zIDEyLjYgMzEuNXpNMzEzLjUgMzUzLjljMTIuMiA1LjIgMTcuOCAxOS4zIDEyLjYgMzEuNWwtNDggMTEyYy01LjIgMTIuMi0xOS4zIDE3LjgtMzEuNSAxMi42cy0xNy44LTE5LjMtMTIuNi0zMS41bDQ4LTExMmM1LjItMTIuMiAxOS4zLTE3LjggMzEuNS0xMi42elwiXVxufTtcbmNvbnN0IGZhSGVhZHBob25lc1NpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFkcGhvbmVzLXNpbXBsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhZHBob25lcy1hbHRcIl0sIFwiZjU4ZlwiLCBcIk0yNTYgODBDMTQxLjEgODAgNDggMTczLjEgNDggMjg4bDAgMTA0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0TDAgMjg4QzAgMTQ2LjYgMTE0LjYgMzIgMjU2IDMyczI1NiAxMTQuNiAyNTYgMjU2bDAgMTA0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTA0YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOHpNODAgMzUyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjR6bTI4OC02NGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xNiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNiAwelwiXVxufTtcbmNvbnN0IGZhSGVhZHBob25lc0FsdCA9IGZhSGVhZHBob25lc1NpbXBsZTtcbmNvbnN0IGZhU2l0ZW1hcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaXRlbWFwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMGU4XCIsIFwiTTIwOCA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGw2NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTggMCAwIDQwIDE1MiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgMzIgOCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTY0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNjRjMC0yNi41IDIxLjUtNDggNDgtNDhsOCAwIDAtMzJjMC00LjQtMy42LTgtOC04bC0xNTIgMCAwIDQwIDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC02NCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDggMCAwLTQwLTE1MiAwYy00LjQgMC04IDMuNi04IDhsMCAzMiA4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNjQgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTI2LjUgMjEuNS00OCA0OC00OGw4IDAgMC0zMmMwLTMwLjkgMjUuMS01NiA1Ni01NmwxNTIgMCAwLTQwLTggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02NHpcIl1cbn07XG5jb25zdCBmYUNpcmNsZURvbGxhclRvU2xvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtZG9sbGFyLXRvLXNsb3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRvbmF0ZVwiXSwgXCJmNGI5XCIsIFwiTTMyNi43IDQwMy43Yy0yMi4xIDgtNDUuOSAxMi4zLTcwLjcgMTIuM3MtNDguNy00LjQtNzAuNy0xMi4zbC0uOC0uM2MtMzAtMTEtNTYuOC0yOC43LTc4LjYtNTEuNEM3MCAzMTQuNiA0OCAyNjMuOSA0OCAyMDhDNDggOTMuMSAxNDEuMSAwIDI1NiAwUzQ2NCA5My4xIDQ2NCAyMDhjMCA1NS45LTIyIDEwNi42LTU3LjkgMTQ0Yy0xIDEtMiAyLjEtMyAzLjFjLTIxLjQgMjEuNC00Ny40IDM4LjEtNzYuMyA0OC42ek0yNTYgOTEuOWMtMTEuMSAwLTIwLjEgOS0yMC4xIDIwLjFsMCA2Yy01LjYgMS4yLTEwLjkgMi45LTE1LjkgNS4xYy0xNSA2LjgtMjcuOSAxOS40LTMxLjEgMzcuN2MtMS44IDEwLjItLjggMjAgMy40IDI5YzQuMiA4LjggMTAuNyAxNSAxNy4zIDE5LjVjMTEuNiA3LjkgMjYuOSAxMi41IDM4LjYgMTZsMi4yIC43YzEzLjkgNC4yIDIzLjQgNy40IDI5LjMgMTEuN2MyLjUgMS44IDMuNCAzLjIgMy43IDRjLjMgLjggLjkgMi42IC4yIDYuN2MtLjYgMy41LTIuNSA2LjQtOCA4LjhjLTYuMSAyLjYtMTYgMy45LTI4LjggMS45Yy02LTEtMTYuNy00LjYtMjYuMi03LjljMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYy0yLjItLjctNC4zLTEuNS02LjQtMi4xYy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjdzMi4yIDIxLjggMTIuNyAyNS4zYzEuMiAuNCAyLjcgLjkgNC40IDEuNWM3LjkgMi43IDIwLjMgNi45IDI5LjggOS4xbDAgNi40YzAgMTEuMSA5IDIwLjEgMjAuMSAyMC4xczIwLjEtOSAyMC4xLTIwLjFsMC01LjVjNS4zLTEgMTAuNS0yLjUgMTUuNC00LjZjMTUuNy02LjcgMjguNC0xOS43IDMxLjYtMzguN2MxLjgtMTAuNCAxLTIwLjMtMy0yOS40Yy0zLjktOS0xMC4yLTE1LjYtMTYuOS0yMC41Yy0xMi4yLTguOC0yOC4zLTEzLjctNDAuNC0xNy40bC0uOC0uMmMtMTQuMi00LjMtMjMuOC03LjMtMjkuOS0xMS40Yy0yLjYtMS44LTMuNC0zLTMuNi0zLjVjLS4yLS4zLS43LTEuNi0uMS01Yy4zLTEuOSAxLjktNS4yIDguMi04LjFjNi40LTIuOSAxNi40LTQuNSAyOC42LTIuNmM0LjMgLjcgMTcuOSAzLjMgMjEuNyA0LjNjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTQuNC0xLjItMTQuNC0zLjItMjEtNC40bDAtNi4zYzAtMTEuMS05LTIwLjEtMjAuMS0yMC4xek00OCAzNTJsMTYgMGMxOS41IDI1LjkgNDQgNDcuNyA3Mi4yIDY0TDY0IDQxNmwwIDMyIDE5MiAwIDE5MiAwIDAtMzItNzIuMiAwYzI4LjItMTYuMyA1Mi44LTM4LjEgNzIuMi02NGwxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhRG9uYXRlID0gZmFDaXJjbGVEb2xsYXJUb1Nsb3Q7XG5jb25zdCBmYU1lbW9yeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtZW1vcnknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1MzhcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhsMCA3LjRjMCA2LjggNC40IDEyLjYgMTAuMSAxNi4zQzIzLjMgMTYwLjMgMzIgMTc1LjEgMzIgMTkycy04LjcgMzEuNy0yMS45IDQwLjNDNC40IDIzNiAwIDI0MS44IDAgMjQ4LjZMMCAzMjBsNTc2IDAgMC03MS40YzAtNi44LTQuNC0xMi42LTEwLjEtMTYuM0M1NTIuNyAyMjMuNyA1NDQgMjA4LjkgNTQ0IDE5MnM4LjctMzEuNyAyMS45LTQwLjNjNS43LTMuNyAxMC4xLTkuNSAxMC4xLTE2LjNsMC03LjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTU3NiAzNTJMMCAzNTJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0OCAwIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDMyIDk2IDAgMC0zMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMzIgOTYgMCAwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAzMiA5NiAwIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDMyIDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NHpNMTkyIDE2MGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDBsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhUm9hZFNwaWtlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2FkLXNwaWtlcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2OFwiLCBcIk02NCAxMTYuOGMwLTE1LjggMjAuNS0yMiAyOS4zLTguOUwxOTIgMjU2bDAtMTM5LjJjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlMMzIwIDI1NmwwLTEzOS4yYzAtMTUuOCAyMC41LTIyIDI5LjMtOC45TDQ0OCAyNTZsMC0xMzkuMmMwLTE1LjggMjAuNS0yMiAyOS4zLTguOUw2MDYuOCAzMDIuMmMxNC4yIDIxLjMtMS4xIDQ5LjctMjYuNiA0OS43TDUxMiAzNTJsLTY0IDAtNjQgMC02NCAwLTY0IDAtNjQgMEw2NCAzNTJsMC0yMzUuMnpNMzIgMzg0bDU3NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUZpcmVCdXJuZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlyZS1idXJuZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZjFcIiwgXCJNMzQ1LjcgNDguM0wzNTggMzQuNWM1LjQtNi4xIDEzLjMtOC44IDIwLjktOC45YzcuMiAwIDE0LjMgMi42IDE5LjkgNy44YzE5LjcgMTguMyAzOS44IDQzLjIgNTUgNzAuNkM0NjkgMTMxLjIgNDgwIDE2Mi4yIDQ4MCAxOTIuMkM0ODAgMjgwLjggNDA4LjcgMzUyIDMyMCAzNTJjLTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjhjMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNWMyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjJDMjczLjQgMi4zIDI4MC43LS4yIDI4OCAwYzE0LjEgLjMgMjMuOCAxMS40IDMyLjcgMjEuNmMwIDAgMCAwIDAgMGMyIDIuMyA0IDQuNiA2IDYuN2wxOSAxOS45ek0zODQgMjQwLjJjMC0zNi41LTM3LTczLTU0LjgtODguNGMtNS40LTQuNy0xMy4xLTQuNy0xOC41IDBDMjkzIDE2Ny4xIDI1NiAyMDMuNiAyNTYgMjQwLjJjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMzIgMjg4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA2NCA0NDggMCAwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTk2ek0zMjAgNDgwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTYwLTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTE5MiA0ODBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhRmxhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFnJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3OTg4LCA2MTcyNV0sIFwiZjAyNFwiLCBcIk02NCAzMkM2NCAxNC4zIDQ5LjcgMCAzMiAwUzAgMTQuMyAwIDMyTDAgNjQgMCAzNjggMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCA2NC4zLTE2LjFjNDEuMS0xMC4zIDg0LjYtNS41IDEyMi41IDEzLjRjNDQuMiAyMi4xIDk1LjUgMjQuOCAxNDEuNyA3LjRsMzQuNy0xM2MxMi41LTQuNyAyMC44LTE2LjYgMjAuOC0zMGwwLTI0Ny43YzAtMjMtMjQuMi0zOC00NC44LTI3LjdsLTkuNiA0LjhjLTQ2LjMgMjMuMi0xMDAuOCAyMy4yLTE0Ny4xIDBjLTM1LjEtMTcuNi03NS40LTIyLTExMy41LTEyLjVMNjQgNDhsMC0xNnpcIl1cbn07XG5jb25zdCBmYUhhbnVraWFoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbnVraWFoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MzM0XSwgXCJmNmU2XCIsIFwiTTMxNC4yIDMuM0MzMDkuMSAxMi4xIDI5NiAzNi42IDI5NiA1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43QzMyNC42IDEuMiAzMjIuNCAwIDMyMCAwcy00LjYgMS4yLTUuOCAzLjN6bS0yODggNDhDMjEuMSA2MC4xIDggODQuNiA4IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43QzM2LjYgNDkuMiAzNC40IDQ4IDMyIDQ4cy00LjYgMS4yLTUuOCAzLjN6TTg4IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzEwMS4xIDYwLjEgODggODQuNiA4OCAxMDR6bTgyLjItNTIuN0MxNjUuMSA2MC4xIDE1MiA4NC42IDE1MiAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNMjE2IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzIyOS4xIDYwLjEgMjE2IDg0LjYgMjE2IDEwNHpNMzk0LjIgNTEuM0MzODkuMSA2MC4xIDM3NiA4NC42IDM3NiAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuN2MtMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNNDQwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzQ1My4xIDYwLjEgNDQwIDg0LjYgNDQwIDEwNHptODIuMi01Mi43QzUxNy4xIDYwLjEgNTA0IDg0LjYgNTA0IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43Yy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek01ODQgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjdjLTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDNTk3LjEgNjAuMSA1ODQgODQuNiA1ODQgMTA0ek0xMTIgMTYwYy04LjggMC0xNiA3LjItMTYgMTZsMCA5NiAwIDE2IDMyIDAgMC0xNiAwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTYgMCAxNiAzMiAwIDAtMTYgMC05NmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDk2IDAgMTYgMzIgMCAwLTE2IDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em0xNjAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTYgMCAxNiAzMiAwIDAtMTYgMC05NmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDk2IDAgMTYgMzIgMCAwLTE2IDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA5NiAwIDE2IDMyIDAgMC0xNiAwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnpNMzUyIDE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE3Nkw5NiAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDUzIDQzIDk2IDk2IDk2bDE5MiAwIDAgNjQtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDAgMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwIDAtNjQgMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwIDAtMTc2elwiXVxufTtcbmNvbnN0IGZhRmVhdGhlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmZWF0aGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NzE4XSwgXCJmNTJkXCIsIFwiTTI3OC41IDIxNS42TDIzIDQ3MWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU3LTU3IDY4IDBjNDkuNyAwIDk3LjktMTQuNCAxMzktNDFjMTEuMS03LjIgNS41LTIzLTcuOC0yM2MtNS4xIDAtOS4yLTQuMS05LjItOS4yYzAtNC4xIDIuNy03LjYgNi41LTguOGw4MS0yNC4zYzIuNS0uOCA0LjgtMi4xIDYuNy00bDIyLjQtMjIuNGMxMC4xLTEwLjEgMi45LTI3LjMtMTEuMy0yNy4zbC0zMi4yIDBjLTUuMSAwLTkuMi00LjEtOS4yLTkuMmMwLTQuMSAyLjctNy42IDYuNS04LjhsMTEyLTMzLjZjNC0xLjIgNy40LTMuOSA5LjMtNy43QzUwNi40IDIwNy42IDUxMiAxODQuMSA1MTIgMTYwYzAtNDEtMTYuMy04MC4zLTQ1LjMtMTA5LjNsLTUuNS01LjVDNDMyLjMgMTYuMyAzOTMgMCAzNTIgMHMtODAuMyAxNi4zLTEwOS4zIDQ1LjNMMTM5IDE0OUM5MSAxOTcgNjQgMjYyLjEgNjQgMzMwbDAgNTUuM0wyNTMuNiAxOTUuOGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGM1LjQgNS40IDYuMSAxMy42IDIuMiAxOS44elwiXVxufTtcbmNvbnN0IGZhVm9sdW1lTG93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbHVtZS1sb3cnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyNjQsIFwidm9sdW1lLWRvd25cIl0sIFwiZjAyN1wiLCBcIk0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NGwwIDM4NGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1MiA2NCAzNTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjcuOCAwTDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6TTQxMi42IDE4MS41QzQzNC4xIDE5OS4xIDQ0OCAyMjUuOSA0NDggMjU2cy0xMy45IDU2LjktMzUuNCA3NC41Yy0xMC4zIDguNC0yNS40IDYuOC0zMy44LTMuNXMtNi44LTI1LjQgMy41LTMzLjhDMzkzLjEgMjg0LjQgNDAwIDI3MSA0MDAgMjU2cy02LjktMjguNC0xNy43LTM3LjNjLTEwLjMtOC40LTExLjgtMjMuNS0zLjUtMzMuOHMyMy41LTExLjggMzMuOC0zLjV6XCJdXG59O1xuY29uc3QgZmFWb2x1bWVEb3duID0gZmFWb2x1bWVMb3c7XG5jb25zdCBmYUNvbW1lbnRTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21tZW50LXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGIzXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNTEyLjkgMzc2LjdDNTUyLjIgMzQwLjIgNTc2IDI5Mi4zIDU3NiAyNDBDNTc2IDEyNS4xIDQ2MS40IDMyIDMyMCAzMmMtNjcuNyAwLTEyOS4zIDIxLjQtMTc1LjEgNTYuM0wzOC44IDUuMXptMzg1LjIgNDI1TDgyLjkgMTYxLjNDNzAuNyAxODUuNiA2NCAyMTIuMiA2NCAyNDBjMCA0NS4xIDE3LjcgODYuOCA0Ny43IDEyMC45Yy0xLjkgMjQuNS0xMS40IDQ2LjMtMjEuNCA2Mi45Yy01LjUgOS4yLTExLjEgMTYuNi0xNS4yIDIxLjZjLTIuMSAyLjUtMy43IDQuNC00LjkgNS43Yy0uNiAuNi0xIDEuMS0xLjMgMS40bC0uMyAuM2MwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjLTQuNiA0LjYtNS45IDExLjQtMy40IDE3LjRjMi41IDYgOC4zIDkuOSAxNC44IDkuOWMyOC43IDAgNTcuNi04LjkgODEuNi0xOS4zYzIyLjktMTAgNDIuNC0yMS45IDU0LjMtMzAuNmMzMS44IDExLjUgNjcgMTcuOSAxMDQuMSAxNy45YzM3IDAgNzIuMy02LjQgMTA0LjEtMTcuOXpcIl1cbn07XG5jb25zdCBmYUNsb3VkU3VuUmFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1zdW4tcmFpbicsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzc4Ml0sIFwiZjc0M1wiLCBcIk0yOTQuMiAxLjJjNS4xIDIuMSA4LjcgNi43IDkuNiAxMi4xbDEwLjQgNjIuNGMtMjMuMyAxMC44LTQyLjkgMjguNC01NiA1MC4zYy0xNC42LTktMzEuOC0xNC4xLTUwLjItMTQuMWMtNTMgMC05NiA0My05NiA5NmMwIDM1LjUgMTkuMyA2Ni42IDQ4IDgzLjJjLjggMzEuOCAxMy4yIDYwLjcgMzMuMSA4Mi43bC01NiAzOS4yYy00LjUgMy4yLTEwLjMgMy44LTE1LjQgMS42cy04LjctNi43LTkuNi0xMi4xTDk4LjEgMzE3LjkgMTMuNCAzMDMuOGMtNS40LS45LTEwLTQuNS0xMi4xLTkuNnMtMS41LTEwLjkgMS42LTE1LjRMNTIuNSAyMDggMi45IDEzNy4yYy0zLjItNC41LTMuOC0xMC4zLTEuNi0xNS40czYuNy04LjcgMTIuMS05LjZMOTguMSA5OC4xbDE0LjEtODQuN2MuOS01LjQgNC41LTEwIDkuNi0xMi4xczEwLjktMS41IDE1LjQgMS42TDIwOCA1Mi41IDI3OC44IDIuOWM0LjUtMy4yIDEwLjMtMy44IDE1LjQtMS42ek0yMDggMTQ0YzEzLjggMCAyNi43IDQuNCAzNy4xIDExLjljLTEuMiA0LjEtMi4yIDguMy0zIDEyLjZjLTM3LjkgMTQuNi02Ny4yIDQ2LjYtNzcuOCA4Ni40QzE1MS44IDI0My4xIDE0NCAyMjYuNSAxNDQgMjA4YzAtMzUuMyAyOC43LTY0IDY0LTY0em02OS40IDI3NmMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43em05NiAwYzExIDcuNCAxNCAyMi4zIDYuNyAzMy4zbC0zMiA0OGMtNy40IDExLTIyLjMgMTQtMzMuMyA2LjdzLTE0LTIyLjMtNi43LTMzLjNsMzItNDhjNy40LTExIDIyLjMtMTQgMzMuMy02Ljd6bTk2IDBjMTEgNy40IDE0IDIyLjMgNi43IDMzLjNsLTMyIDQ4Yy03LjQgMTEtMjIuMyAxNC0zMy4zIDYuN3MtMTQtMjIuMy02LjctMzMuM2wzMi00OGM3LjQtMTEgMjIuMy0xNCAzMy4zLTYuN3ptOTYgMGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43em03NC41LTExNi4xYzAgNDQuMi0zNS44IDgwLTgwIDgwbC0yNzEuOSAwYy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3IDgwLTk0LjZsMC0xLjNjMC01MyA0My05NiA5Ni05NmMzNC45IDAgNjUuNCAxOC42IDgyLjIgNDYuNGMxMy05LjEgMjguOC0xNC40IDQ1LjgtMTQuNGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDUuOS0uNiAxMS43LTEuOSAxNy4yYzM3LjQgNi43IDY1LjggMzkuNCA2NS44IDc4Ljd6XCJdXG59O1xuY29uc3QgZmFDb21wcmVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wcmVzcycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjA2NlwiLCBcIk0xNjAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NnpNMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDB6TTM1MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC02NHpNMzIwIDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMHpcIl1cbn07XG5jb25zdCBmYVdoZWF0QXduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWF0LWF3bicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wid2hlYXQtYWx0XCJdLCBcImUyY2RcIiwgXCJNNTA1IDQxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMzgzIDk1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODgtODh6TTMwNS41IDI3LjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDI3MS41IDM4LjZjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44bC0xMS4zLTExLjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0xMS4zIDExLjNjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44TDEwMS44IDIzMWMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNjcuOSAyNDIuM2MtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNEw5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguOS02OC45IDEyLjIgMTIuMmMzNy41IDM3LjUgOTguMyAzNy41IDEzNS44IDBsMTEuMy0xMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMS4zLTExLjNjLTIxLjgtMjEuOC00OS42LTM0LjEtNzguMS0zNi45bDMxLjktMzEuOSAxMi4yIDEyLjJjMzcuNSAzNy41IDk4LjMgMzcuNSAxMzUuOCAwbDExLjMtMTEuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtMTEuMy0xMS4zYy0yMS44LTIxLjgtNDkuNi0zNC4xLTc4LjEtMzYuOWwzMS45LTMxLjkgMTIuMiAxMi4yYzM3LjUgMzcuNSA5OC4zIDM3LjUgMTM1LjggMEw0ODYuNSAyMzFjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZMNDc1LjIgMTk3Yy01LjItNS4yLTEwLjYtOS44LTE2LjQtMTMuOUw1MDUgMTM3YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU5LjQgNTkuNGMtMjAuNi00LjQtNDItMy43LTYyLjMgMi4xYzYuMS0yMS4zIDYuNi00My44IDEuNC02NS4zTDQwOSA0MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDMyOS4xIDUyLjljLTMuNy01LTcuOC05LjgtMTIuNC0xNC4zTDMwNS41IDI3LjN6XCJdXG59O1xuY29uc3QgZmFXaGVhdEFsdCA9IGZhV2hlYXRBd247XG5jb25zdCBmYUFua2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5raCcsXG4gIGljb246IFszMjAsIDUxMiwgWzk3NjVdLCBcImY2NDRcIiwgXCJNOTYgMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRjMCA0MS42LTIwLjcgNzYuNi00Ni42IDEwNC4xYy01LjkgNi4yLTExLjggMTEuOC0xNy40IDE2LjdjLTUuNi00LjktMTEuNS0xMC41LTE3LjQtMTYuN0MxMTYuNyAyMDQuNiA5NiAxNjkuNiA5NiAxMjh6TTE2MCAwQzg5LjMgMCAzMiA1Ny4zIDMyIDEyOGMwIDUyLjQgMjEuNSA5NS41IDQ2LjggMTI4TDMyIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwIDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDYuOCAwYzI1LjQtMzIuNSA0Ni44LTc1LjYgNDYuOC0xMjhDMjg4IDU3LjMgMjMwLjcgMCAxNjAgMHpcIl1cbn07XG5jb25zdCBmYUhhbmRzSG9sZGluZ0NoaWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWhvbGRpbmctY2hpbGQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZmFcIiwgXCJNMzIwIDBhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwem00NC43IDE2NC4zTDM3NS44IDI1M2MxLjYgMTMuMi03LjcgMjUuMS0yMC44IDI2LjhzLTI1LjEtNy43LTI2LjgtMjAuOGwtNC40LTM1LTcuNiAwLTQuNCAzNWMtMS42IDEzLjItMTMuNiAyMi41LTI2LjggMjAuOHMtMjIuNS0xMy42LTIwLjgtMjYuOGwxMS4xLTg4LjhMMjU1LjUgMTgxYy0xMC4xIDguNi0yNS4zIDcuMy0zMy44LTIuOHMtNy4zLTI1LjMgMi44LTMzLjhsMjcuOS0yMy42QzI3MS4zIDEwNC44IDI5NS4zIDk2IDMyMCA5NnM0OC43IDguOCA2Ny42IDI0LjdsMjcuOSAyMy42YzEwLjEgOC42IDExLjQgMjMuNyAyLjggMzMuOHMtMjMuNyAxMS40LTMzLjggMi44bC0xOS44LTE2Ljd6TTQwIDY0YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDAgMCA4MCAwIDQwLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsNTEuMSA1MS4xYzguMyA4LjMgMjEuMyA5LjYgMzEgMy4xYzEyLjktOC42IDE0LjctMjYuOSAzLjctMzcuOGwtMTUuMi0xNS4yLTMyLTMyYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDMyIDMyIDE1LjIgMTUuMmMwIDAgMCAwIDAgMGwyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMmwwIDc4LjljMCAyNi41LTIxLjUgNDgtNDggNDhsLTY2LjcgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVMMCAyMjRsMC02NCAwLTU2QzAgODEuOSAxNy45IDY0IDQwIDY0em01NjAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDU2IDAgNjQgMCAxMDEuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNDAwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC03OC45YzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuM2MwIDAgMCAwIDAgMGwxNS4yLTE1LjIgMzItMzJjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMzIgMzItMTUuMiAxNS4yYy0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOGM5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wwLTQwLjIgMC04MCAwLTQwYzAtMjIuMSAxNy45LTQwIDQwLTQwelwiXVxufTtcbmNvbnN0IGZhQXN0ZXJpc2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXN0ZXJpc2snLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMDAzMywgNjE1NDVdLCBcIjJhXCIsIFwiTTE5MiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEzNS41IDExMS41LTY2LjljMTUuMi05LjEgMzQuOC00LjIgNDMuOSAxMXM0LjIgMzQuOC0xMSA0My45TDI1NC4yIDI1NmwxMTQuMyA2OC42YzE1LjIgOS4xIDIwLjEgMjguNyAxMSA0My45cy0yOC43IDIwLjEtNDMuOSAxMUwyMjQgMzEyLjUgMjI0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEzNS41TDQ4LjUgMzc5LjRjLTE1LjIgOS4xLTM0LjggNC4yLTQzLjktMTFzLTQuMi0zNC44IDExLTQzLjlMMTI5LjggMjU2IDE1LjUgMTg3LjRjLTE1LjItOS4xLTIwLjEtMjguNy0xMS00My45czI4LjctMjAuMSA0My45LTExTDE2MCAxOTkuNSAxNjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2hlY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5NzQ1LCA5OTg5LCA2MTUxMCwgXCJjaGVjay1zcXVhcmVcIl0sIFwiZjE0YVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zMzcgMjA5TDIwOSAzMzdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQ3IDQ3TDMwMyAxNzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45elwiXVxufTtcbmNvbnN0IGZhQ2hlY2tTcXVhcmUgPSBmYVNxdWFyZUNoZWNrO1xuY29uc3QgZmFQZXNldGFTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blc2V0YS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMjIxXCIsIFwiTTY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NGwwIDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgOTYgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDk2IDBjNzcuNCAwIDE0Mi01NSAxNTYuOC0xMjhsMy4yIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMuMiAwQzMzNCA4NyAyNjkuNCAzMiAxOTIgMzJMNjQgMzJ6TTI4Mi41IDE2MEw5NiAxNjBsMC02NCA5NiAwYzQxLjggMCA3Ny40IDI2LjcgOTAuNSA2NHpNOTYgMjI0bDE4Ni41IDBjLTEzLjIgMzcuMy00OC43IDY0LTkwLjUgNjRsLTk2IDAgMC02NHpcIl1cbn07XG5jb25zdCBmYUhlYWRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZGluZycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiaGVhZGVyXCJdLCBcImYxZGNcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0OCAwIDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxMTIgMjI0IDAgMC0xMTItMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwIDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxNDQgMCAxNzYgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNDggMC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0xNDQtMjI0IDAgMCAxNDQgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNDggMC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0xNzZMNDggOTYgMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpcIl1cbn07XG5jb25zdCBmYUhlYWRlciA9IGZhSGVhZGluZztcbmNvbnN0IGZhR2hvc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2hvc3QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgxMjNdLCBcImY2ZTJcIiwgXCJNNDAuMSA0NjcuMWwtMTEuMiA5Yy0zLjIgMi41LTcuMSAzLjktMTEuMSAzLjlDOCA0ODAgMCA0NzIgMCA0NjIuMkwwIDE5MkMwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJsMCAyNzAuMmMwIDkuOC04IDE3LjgtMTcuOCAxNy44Yy00IDAtNy45LTEuNC0xMS4xLTMuOWwtMTEuMi05Yy0xMy40LTEwLjctMzIuOC05LTQ0LjEgMy45TDI2OS4zIDUwNmMtMy4zIDMuOC04LjIgNi0xMy4zIDZzLTkuOS0yLjItMTMuMy02bC0yNi42LTMwLjVjLTEyLjctMTQuNi0zNS40LTE0LjYtNDguMiAwTDE0MS4zIDUwNmMtMy4zIDMuOC04LjIgNi0xMy4zIDZzLTkuOS0yLjItMTMuMy02TDg0LjIgNDcxYy0xMS4zLTEyLjktMzAuNy0xNC42LTQ0LjEtMy45ek0xNjAgMTkyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUxpc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGlzdC1zcXVhcmVzXCJdLCBcImYwM2FcIiwgXCJNNDAgNDhDMjYuNyA0OCAxNiA1OC43IDE2IDcybDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0TDQwIDQ4ek0xOTIgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMTkyIDY0em0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yODggMHpNMTYgMjMybDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNNDAgMzY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMHpcIl1cbn07XG5jb25zdCBmYUxpc3RTcXVhcmVzID0gZmFMaXN0O1xuY29uc3QgZmFTcXVhcmVQaG9uZUZsaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBob25lLWZsaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBob25lLXNxdWFyZS1hbHRcIl0sIFwiZjg3YlwiLCBcIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwem0tOTAuNyA5Ni43Yy05LjctMi42LTE5LjkgMi4zLTIzLjcgMTEuNmwtMjAgNDhjLTMuNCA4LjItMSAxNy42IDUuOCAyMy4yTDI4MCAyMzEuN2MtMTYuNiAzNS4yLTQ1LjEgNjMuNy04MC4zIDgwLjNsLTIwLjItMjQuN2MtNS42LTYuOC0xNS05LjItMjMuMi01LjhsLTQ4IDIwYy05LjMgMy45LTE0LjIgMTQtMTEuNiAyMy43bDEyIDQ0QzExMS4xIDM3OCAxMTkgMzg0IDEyOCAzODRjMTIzLjcgMCAyMjQtMTAwLjMgMjI0LTIyNGMwLTktNi0xNi45LTE0LjctMTkuM2wtNDQtMTJ6XCJdXG59O1xuY29uc3QgZmFQaG9uZVNxdWFyZUFsdCA9IGZhU3F1YXJlUGhvbmVGbGlwO1xuY29uc3QgZmFDYXJ0UGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJ0LXBsdXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYyMTdcIiwgXCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMNjkuNSAwYzIyIDAgNDEuNSAxMi44IDUwLjYgMzJsNDExIDBjMjYuMyAwIDQ1LjUgMjUgMzguNiA1MC40bC00MSAxNTIuM2MtOC41IDMxLjQtMzcgNTMuMy02OS41IDUzLjNsLTI4OC41IDAgNS40IDI4LjVjMi4yIDExLjMgMTIuMSAxOS41IDIzLjYgMTkuNUw0ODggMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yODguMyAwYy0zNC42IDAtNjQuMy0yNC42LTcwLjctNTguNUw3Ny40IDU0LjVjLS43LTMuOC00LTYuNS03LjktNi41TDI0IDQ4QzEwLjcgNDggMCAzNy4zIDAgMjR6TTEyOCA0NjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMzM2LTQ4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNMjUyIDE2MGMwIDExIDkgMjAgMjAgMjBsNDQgMCAwIDQ0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNDQgNDQgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQ0IDAgMC00NGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCA0NC00NCAwYy0xMSAwLTIwIDktMjAgMjB6XCJdXG59O1xuY29uc3QgZmFHYW1lcGFkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dhbWVwYWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYxMWJcIiwgXCJNMTkyIDY0Qzg2IDY0IDAgMTUwIDAgMjU2Uzg2IDQ0OCAxOTIgNDQ4bDI1NiAwYzEwNiAwIDE5Mi04NiAxOTItMTkycy04Ni0xOTItMTkyLTE5MkwxOTIgNjR6TTQ5NiAxNjhhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwek0zOTIgMzA0YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTE2OCAyMDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDMyIDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDAgMCAzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTMyLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzIgMCAwLTMyelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlRG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1kb3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyODAsIFwiZG90LWNpcmNsZVwiXSwgXCJmMTkyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTM1MmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpcIl1cbn07XG5jb25zdCBmYURvdENpcmNsZSA9IGZhQ2lyY2xlRG90O1xuY29uc3QgZmFGYWNlRGl6enkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1kaXp6eScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZGl6enlcIl0sIFwiZjU2N1wiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMC0yMjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTEwMC43IDEzMi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwTDE2MCAxNjkuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDE4Mi42IDE5MmwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEwxNjAgMjE0LjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkwxMzcuNCAxOTJsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6bTE5MiAwYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwTDM1MiAxNjkuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDM3NC42IDE5MmwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEwzNTIgMjE0LjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkwzMjkuNCAxOTJsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFEaXp6eSA9IGZhRmFjZURpenp5O1xuY29uc3QgZmFFZ2cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWdnJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI5MzcwXSwgXCJmN2ZiXCIsIFwiTTE5MiA0OTZDODYgNDk2IDAgMzk0IDAgMjg4QzAgMTc2IDY0IDE2IDE5MiAxNnMxOTIgMTYwIDE5MiAyNzJjMCAxMDYtODYgMjA4LTE5MiAyMDh6TTE1NC44IDEzNGM2LjUtNiA3LTE2LjEgMS0yMi42cy0xNi4xLTctMjIuNi0xYy0yMy45IDIxLjgtNDEuMSA1Mi43LTUyLjMgODQuMkM2OS43IDIyNi4xIDY0IDI1OS43IDY0IDI4OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMjQuNSA1LTU0LjQgMTUuMS04Mi44YzEwLjEtMjguNSAyNS01NC4xIDQzLjctNzEuMnpcIl1cbn07XG5jb25zdCBmYUhvdXNlTWVkaWNhbENpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTEzXCIsIFwiTTMyMCAzNjhjMCA1OS41IDI5LjUgMTEyLjEgNzQuOCAxNDRsLTI2Ni43IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTYwLjQtMzIgMGMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTIyLjEgMTkzLjljLTguNS0xLjMtMTcuMy0xLjktMjYuMS0xLjljLTU0LjcgMC0xMDMuNSAyNC45LTEzNS44IDY0TDMyMCAyNTZsMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMjIuNiAxNDRsMzYuNy0zNi43YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBMNDk2IDM0NS40bC0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZMNDczLjQgMzY4bC0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0OTYgMzkwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw1MTguNiAzNjh6XCJdXG59O1xuY29uc3QgZmFDYW1wZ3JvdW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbXBncm91bmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs5OTc4XSwgXCJmNmJiXCIsIFwiTTM3NyA1MmMxMS0xMy44IDguOC0zMy45LTUtNDVzLTMzLjktOC44LTQ1IDVMMjg4IDYwLjggMjQ5IDEyYy0xMS0xMy44LTMxLjItMTYtNDUtNXMtMTYgMzEuMi01IDQ1bDQ4IDYwTDEyLjMgNDA1LjRDNC4zIDQxNS40IDAgNDI3LjcgMCA0NDAuNEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNDAgMCAyNDAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTIzLjZjMC0xMi43LTQuMy0yNS4xLTEyLjMtMzVMMzI5IDExMmw0OC02MHpNMjg4IDQ0OGwtMTE5LjUgMEwyODggMjkxLjcgNDA3LjUgNDQ4IDI4OCA0NDh6XCJdXG59O1xuY29uc3QgZmFGb2xkZXJQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci1wbHVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjVlXCIsIFwiTTUxMiA0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEyOCAwYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZsMTkuMiAyNS42YzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZ6TTIzMiAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0IDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTY0IDAgMC02NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDY0LTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjQgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhRnV0Ym9sID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Z1dGJvbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5MTcsIFwiZnV0Ym9sLWJhbGxcIiwgXCJzb2NjZXItYmFsbFwiXSwgXCJmMWUzXCIsIFwiTTQxNy4zIDM2MC4xbC03MS42LTQuOGMtNS4yLS4zLTEwLjMgMS4xLTE0LjUgNC4ycy03LjIgNy40LTguNCAxMi41bC0xNy42IDY5LjZDMjg5LjUgNDQ1LjggMjczIDQ0OCAyNTYgNDQ4cy0zMy41LTIuMi00OS4yLTYuNEwxODkuMiAzNzJjLTEuMy01LTQuMy05LjQtOC40LTEyLjVzLTkuMy00LjUtMTQuNS00LjJsLTcxLjYgNC44Yy0xNy42LTI3LjItMjguNS01OS4yLTMwLjQtOTMuNkwxMjUgMjI4LjNjNC40LTIuOCA3LjYtNyA5LjItMTEuOXMxLjQtMTAuMi0uNS0xNWwtMjYuNy02Ni42QzEyOCAxMDkuMiAxNTUuMyA4OSAxODYuNyA3Ni45bDU1LjIgNDZjNCAzLjMgOSA1LjEgMTQuMSA1LjFzMTAuMi0xLjggMTQuMS01LjFsNTUuMi00NmMzMS4zIDEyLjEgNTguNyAzMi4zIDc5LjYgNTcuOWwtMjYuNyA2Ni42Yy0xLjkgNC44LTIuMSAxMC4xLS41IDE1czQuOSA5LjEgOS4yIDExLjlsNjAuNyAzOC4yYy0xLjkgMzQuNC0xMi44IDY2LjQtMzAuNCA5My42ek0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMTQuMS0zMjUuN2MtOC40LTYuMS0xOS44LTYuMS0yOC4yIDBMMTk0IDIyMWMtOC40IDYuMS0xMS45IDE2LjktOC43IDI2LjhsMTguMyA1Ni4zYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNmw1OS4yIDBjMTAuNCAwIDE5LjYtNi43IDIyLjgtMTYuNmwxOC4zLTU2LjNjMy4yLTkuOS0uMy0yMC43LTguNy0yNi44bC00Ny45LTM0Ljh6XCJdXG59O1xuY29uc3QgZmFGdXRib2xCYWxsID0gZmFGdXRib2w7XG5jb25zdCBmYVNvY2NlckJhbGwgPSBmYUZ1dGJvbDtcbmNvbnN0IGZhUGFpbnRicnVzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWludGJydXNoJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4Mzk2LCBcInBhaW50LWJydXNoXCJdLCBcImYxZmNcIiwgXCJNMzM5LjMgMzY3LjFjMjcuMy0zLjkgNTEuOS0xOS40IDY3LjItNDIuOUw1NjguMiA3NC4xYzEyLjYtMTkuNSA5LjQtNDUuMy03LjYtNjEuMlM1MTcuNy00LjQgNDk5LjEgOS42TDI2Mi40IDE4Ny4yYy0yNCAxOC0zOC4yIDQ2LjEtMzguNCA3Ni4xTDMzOS4zIDM2Ny4xem0tMTkuNiAyNS40bC0xMTYtMTA0LjRDMTQzLjkgMjkwLjMgOTYgMzM5LjYgOTYgNDAwYzAgMy45IC4yIDcuOCAuNiAxMS42Qzk4LjQgNDI5LjEgODYuNCA0NDggNjguOCA0NDhMNjQgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE0NCAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyYzAtMi41LS4xLTUtLjItNy41elwiXVxufTtcbmNvbnN0IGZhUGFpbnRCcnVzaCA9IGZhUGFpbnRicnVzaDtcbmNvbnN0IGZhTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4Mjc0XSwgXCJmMDIzXCIsIFwiTTE0NCAxNDRsMCA0OCAxNjAgMCAwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwek04MCAxOTJsMC00OEM4MCA2NC41IDE0NC41IDAgMjI0IDBzMTQ0IDY0LjUgMTQ0IDE0NGwwIDQ4IDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDI1NmMwLTM1LjMgMjguNy02NCA2NC02NGwxNiAwelwiXVxufTtcbmNvbnN0IGZhR2FzUHVtcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXMtcHVtcCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzk5ODFdLCBcImY1MmZcIiwgXCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwyNTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MiA4IDBjNDguNiAwIDg4IDM5LjQgODggODhsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTU0Yy0yNy42LTcuMS00OC0zMi4yLTQ4LTYybDAtNjRMMzg0IDY0Yy04LjgtOC44LTguOC0yMy4yIDAtMzJzMjMuMi04LjggMzIgMGw3Ny4zIDc3LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM2wwIDEzLjUgMCAyNCAwIDMyIDAgMTUyYzAgMzkuOC0zMi4yIDcyLTcyIDcycy03Mi0zMi4yLTcyLTcybDAtMzJjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTggMCAwIDE0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJMMzIgNjR6TTk2IDgwbDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNkwxMTIgNjRjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYUhvdFR1YlBlcnNvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3QtdHViLXBlcnNvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaG90LXR1YlwiXSwgXCJmNTkzXCIsIFwiTTI3MiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDUuMmMwIDM0IDE0LjQgNjYuNCAzOS43IDg5LjJsMTYuNCAxNC44YzE1LjIgMTMuNyAyMy44IDMzLjEgMjMuOCA1My41bDAgMTMuMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTMuMmMwLTM0LTE0LjQtNjYuNC0zOS43LTg5LjJMMjk1LjggODIuOEMyODAuNyA2OS4xIDI3MiA0OS43IDI3MiAyOS4ybDAtNS4yek0wIDMyMGwwIDE2TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xNzAuNyAwYy0xMy44IDAtMjcuMy00LjUtMzguNC0xMi44bC04NS4zLTY0QzEzNyAxNjYuNyAxMTYuOCAxNjAgOTYgMTYwYy01MyAwLTk2IDQzLTk2IDk2bDAgNjR6bTEyOCAxNmwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptODAtMTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgOTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTguOCA3LjItMTYgMTYtMTZ6bTExMiAxNmwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptODAtMTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgOTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTguOCA3LjItMTYgMTYtMTZ6TTM2MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDUuMmMwIDM0IDE0LjQgNjYuNCAzOS43IDg5LjJsMTYuNCAxNC44YzE1LjIgMTMuNyAyMy44IDMzLjEgMjMuOCA1My41bDAgMTMuMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTMuMmMwLTM0LTE0LjQtNjYuNC0zOS43LTg5LjJMNDA3LjggODIuOEMzOTIuNyA2OS4xIDM4NCA0OS43IDM4NCAyOS4ybDAtNS4yYzAtMTMuMy0xMC43LTI0LTI0LTI0ek02NCAxMjhBNjQgNjQgMCAxIDAgNjQgMGE2NCA2NCAwIDEgMCAwIDEyOHpcIl1cbn07XG5jb25zdCBmYUhvdFR1YiA9IGZhSG90VHViUGVyc29uO1xuY29uc3QgZmFNYXBMb2NhdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXAtbG9jYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1hcC1tYXJrZWRcIl0sIFwiZjU5ZlwiLCBcIk0zMDIuOCAzMTJDMzM0LjkgMjcxLjkgNDA4IDE3NC42IDQwOCAxMjBDNDA4IDUzLjcgMzU0LjMgMCAyODggMFMxNjggNTMuNyAxNjggMTIwYzAgNTQuNiA3My4xIDE1MS45IDEwNS4yIDE5MmM3LjcgOS42IDIyIDkuNiAyOS42IDB6TTQxNiA1MDNsMTQ0LjktNThjOS4xLTMuNiAxNS4xLTEyLjUgMTUuMS0yMi4zTDU3NiAxNTJjMC0xNy0xNy4xLTI4LjYtMzIuOS0yMi4zbC0xMTYgNDYuNGMtLjUgMS4yLTEgMi41LTEuNSAzLjdjLTIuOSA2LjgtNi4xIDEzLjctOS42IDIwLjZMNDE2IDUwM3pNMTUuMSAxODcuM0M2IDE5MSAwIDE5OS44IDAgMjA5LjZMMCA0ODAuNGMwIDE3IDE3LjEgMjguNiAzMi45IDIyLjNMMTYwIDQ1MS44bDAtMjUxLjRjLTMuNS02LjktNi43LTEzLjgtOS42LTIwLjZjLTUuNi0xMy4yLTEwLjQtMjcuNC0xMi44LTQxLjVsLTEyMi42IDQ5ek0zODQgMjU1Yy0yMC41IDMxLjMtNDIuMyA1OS42LTU2LjIgNzdjLTIwLjUgMjUuNi01OS4xIDI1LjYtNzkuNiAwYy0xMy45LTE3LjQtMzUuNy00NS43LTU2LjItNzdsMCAxOTQuNCAxOTIgNTQuOUwzODQgMjU1elwiXVxufTtcbmNvbnN0IGZhTWFwTWFya2VkID0gZmFNYXBMb2NhdGlvbjtcbmNvbnN0IGZhSG91c2VGbG9vZFdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZsb29kLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTBlXCIsIFwiTTMwNi44IDYuMUMyOTUuNi0yIDI4MC40LTIgMjY5LjIgNi4xbC0xNzYgMTI4Yy0xMS4yIDguMi0xNS45IDIyLjYtMTEuNiAzNS44Uzk4LjEgMTkyIDExMiAxOTJsMTYgMCAwIDczYzEuNyAxIDMuMyAyIDQuOSAzLjFjMTggMTIuNCA0MC4xIDIwLjMgNTkuMiAyMC4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzEuNS0xIDMtMiA0LjUtMi45bC0uMy03My4yIDE2LjYgMGMxMy45IDAgMjYuMS04LjkgMzAuNC0yMi4xcy0uNC0yNy42LTExLjYtMzUuOGwtMTc2LTEyOHpNMjY5LjUgMzA5LjlDMjQ3IDMyNS40IDIxOS41IDMzNiAxOTIgMzM2Yy0yNi45IDAtNTUuMy0xMC44LTc3LjQtMjYuMWMwIDAgMCAwIDAgMGMtMTEuOS04LjUtMjguMS03LjgtMzkuMiAxLjdjLTE0LjQgMTEuOS0zMi41IDIxLTUwLjYgMjUuMmMtMTcuMiA0LTI3LjkgMjEuMi0yMy45IDM4LjRzMjEuMiAyNy45IDM4LjQgMjMuOWMyNC41LTUuNyA0NC45LTE2LjUgNTguMi0yNUMxMjYuNSAzODkuNyAxNTkgNDAwIDE5MiA0MDBjMzEuOSAwIDYwLjYtOS45IDgwLjQtMTguOWM1LjgtMi43IDExLjEtNS4zIDE1LjYtNy43YzQuNSAyLjQgOS43IDUuMSAxNS42IDcuN2MxOS44IDkgNDguNSAxOC45IDgwLjQgMTguOWMzMyAwIDY1LjUtMTAuMyA5NC41LTI1LjhjMTMuNCA4LjQgMzMuNyAxOS4zIDU4LjIgMjVjMTcuMiA0IDM0LjQtNi43IDM4LjQtMjMuOXMtNi43LTM0LjQtMjMuOS0zOC40Yy0xOC4xLTQuMi0zNi4yLTEzLjMtNTAuNi0yNS4yYy0xMS4xLTkuNS0yNy4zLTEwLjEtMzkuMi0xLjdjMCAwIDAgMCAwIDBDNDM5LjQgMzI1LjIgNDEwLjkgMzM2IDM4NCAzMzZjLTI3LjUgMC01NS0xMC42LTc3LjUtMjYuMWMtMTEuMS03LjktMjUuOS03LjktMzcgMHpNMzg0IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI0NyA0MzcuNCAyMTkuNSA0NDggMTkyIDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFjMCAwIDAgMCAwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgNTAxLjcgMTU5IDUxMiAxOTIgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43YzAgMCAwIDAgMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4elwiXVxufTtcbmNvbnN0IGZhVHJlZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmVlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3Nzk0XSwgXCJmMWJiXCIsIFwiTTIxMC42IDUuOUw2MiAxNjkuNGMtMy45IDQuMi02IDkuOC02IDE1LjVDNTYgMTk3LjcgNjYuMyAyMDggNzkuMSAyMDhsMjQuOSAwTDMwLjYgMjgxLjRjLTQuMiA0LjItNi42IDEwLTYuNiAxNkMyNCAzMDkuOSAzNC4xIDMyMCA0Ni42IDMyMEw4MCAzMjAgNS40IDQwOS41QzEuOSA0MTMuNyAwIDQxOSAwIDQyNC41YzAgMTMgMTAuNSAyMy41IDIzLjUgMjMuNUwxOTIgNDQ4bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDE2OC41IDBjMTMgMCAyMy41LTEwLjUgMjMuNS0yMy41YzAtNS41LTEuOS0xMC44LTUuNC0xNUwzNjggMzIwbDMzLjQgMGMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNmMwLTYtMi40LTExLjgtNi42LTE2TDM0NCAyMDhsMjQuOSAwYzEyLjcgMCAyMy4xLTEwLjMgMjMuMS0yMy4xYzAtNS43LTIuMS0xMS4zLTYtMTUuNUwyMzcuNCA1LjlDMjM0IDIuMSAyMjkuMSAwIDIyNCAwcy0xMCAyLjEtMTMuNCA1Ljl6XCJdXG59O1xuY29uc3QgZmFCcmlkZ2VMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGNjXCIsIFwiTTMyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDUxMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC00MCAwIDAgNjQtOCAwYy02MS45IDAtMTEyIDUwLjEtMTEyIDExMmwwIDI0LjZjLTkuOSA1LjgtMTguMiAxNC4xLTIzLjggMjQuMWMtMTcuNi0yMC00My40LTMyLjctNzIuMi0zMi43Yy01MyAwLTk2IDQzLTk2IDk2bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC01My00My05Ni05Ni05NmwwLTEyOCA3MiAwIDAtNjRMNjQgOTZDNDYuMyA5NiAzMiA4MS43IDMyIDY0ek00MDggOTZsMCA2NCA4MCAwIDAtNjQtODAgMHptLTQ4IDY0bDAtNjQtODAgMCAwIDY0IDgwIDB6TTE1MiA5NmwwIDY0IDgwIDAgMC02NC04MCAwek01MjggMjQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDh6XCJdXG59O1xuY29uc3QgZmFTYWNrRG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NhY2stZG9sbGFyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTc2XSwgXCJmODFkXCIsIFwiTTMyMCA5NkwxOTIgOTYgMTQ0LjYgMjQuOUMxMzcuNSAxNC4yIDE0NS4xIDAgMTU3LjkgMEwzNTQuMSAwYzEyLjggMCAyMC40IDE0LjIgMTMuMyAyNC45TDMyMCA5NnpNMTkyIDEyOGwxMjggMGMzLjggMi41IDguMSA1LjMgMTMgOC40QzM4OS43IDE3Mi43IDUxMiAyNTAuOSA1MTIgNDE2YzAgNTMtNDMgOTYtOTYgOTZMOTYgNTEyYy01MyAwLTk2LTQzLTk2LTk2QzAgMjUwLjkgMTIyLjMgMTcyLjcgMTc5IDEzNi40YzAgMCAwIDAgMCAwczAgMCAwIDBjNC44LTMuMSA5LjItNS45IDEzLTguNHptODQgODhjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMTRjLTcuNiAxLjctMTUuMiA0LjQtMjIuMiA4LjVjLTEzLjkgOC4zLTI1LjkgMjIuOC0yNS44IDQzLjljLjEgMjAuMyAxMiAzMy4xIDI0LjcgNDAuN2MxMSA2LjYgMjQuNyAxMC44IDM1LjYgMTRsMS43IC41YzEyLjYgMy44IDIxLjggNi44IDI4IDEwLjdjNS4xIDMuMiA1LjggNS40IDUuOSA4LjJjLjEgNS0xLjggOC01LjkgMTAuNWMtNSAzLjEtMTIuOSA1LTIxLjQgNC43Yy0xMS4xLS40LTIxLjUtMy45LTM1LjEtOC41Yy0yLjMtLjgtNC43LTEuNi03LjItMi40Yy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zYzEuOSAuNiA0IDEuMyA2LjEgMi4xYzAgMCAwIDAgMCAwczAgMCAwIDBjOC4zIDIuOSAxNy45IDYuMiAyOC4yIDguNGwwIDE0LjZjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMy44YzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVjMCAwIDAgMCAwIDBsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdsMC0xMy45elwiXVxufTtcbmNvbnN0IGZhUGVuVG9TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuLXRvLXNxdWFyZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZWRpdFwiXSwgXCJmMDQ0XCIsIFwiTTQ3MS42IDIxLjdjLTIxLjktMjEuOS01Ny4zLTIxLjktNzkuMiAwTDM2Mi4zIDUxLjdsOTcuOSA5Ny45IDMwLjEtMzAuMWMyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NzEuNiAyMS43em0tMjk5LjIgMjIwYy02LjEgNi4xLTEwLjggMTMuNi0xMy41IDIxLjlsLTI5LjYgODguOGMtMi45IDguNi0uNiAxOC4xIDUuOCAyNC42czE1LjkgOC43IDI0LjYgNS44bDg4LjgtMjkuNmM4LjItMi43IDE1LjctNy40IDIxLjktMTMuNUw0MzcuNyAxNzIuMyAzMzkuNyA3NC4zIDE3Mi40IDI0MS43ek05NiA2NEM0MyA2NCAwIDEwNyAwIDE2MEwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiA2NHpcIl1cbn07XG5jb25zdCBmYUVkaXQgPSBmYVBlblRvU3F1YXJlO1xuY29uc3QgZmFDYXJTaWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nhci1zaWRlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjYzXSwgXCJmNWU0XCIsIFwiTTE3MS4zIDk2TDIyNCA5NmwwIDk2LTExMi43IDAgMzAuNC03NS45QzE0Ni41IDEwNCAxNTguMiA5NiAxNzEuMyA5NnpNMjcyIDE5MmwwLTk2IDgxLjIgMGM5LjcgMCAxOC45IDQuNCAyNSAxMmw2Ny4yIDg0TDI3MiAxOTJ6bTI1Ni4yIDFMNDI4LjIgNjhjLTE4LjItMjIuOC00NS44LTM2LTc1LTM2TDE3MS4zIDMyYy0zOS4zIDAtNzQuNiAyMy45LTg5LjEgNjAuM0w0MC42IDE5Ni40QzE2LjggMjA1LjggMCAyMjguOSAwIDI1NkwwIDM2OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMy4zIDBjNy42IDQ1LjQgNDcuMSA4MCA5NC43IDgwczg3LjEtMzQuNiA5NC43LTgwbDEzMC43IDBjNy42IDQ1LjQgNDcuMSA4MCA5NC43IDgwczg3LjEtMzQuNiA5NC43LTgwbDMzLjMgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4YzAtNjUuMi00OC44LTExOS0xMTEuOC0xMjd6TTQzNC43IDM2OGE0OCA0OCAwIDEgMSA5MC41IDMyIDQ4IDQ4IDAgMSAxIC05MC41LTMyek0xNjAgMzM2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG5jb25zdCBmYVNoYXJlTm9kZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUtbm9kZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInNoYXJlLWFsdFwiXSwgXCJmMWUwXCIsIFwiTTM1MiAyMjRjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgNCAuMiA4IC43IDExLjlsLTk0LjEgNDdDMTQ1LjQgMTcwLjIgMTIxLjkgMTYwIDk2IDE2MGMtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMyNS45IDAgNDkuNC0xMC4yIDY2LjYtMjYuOWw5NC4xIDQ3Yy0uNSAzLjktLjcgNy44LS43IDExLjljMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLTI1LjkgMC00OS40IDEwLjItNjYuNiAyNi45bC05NC4xLTQ3Yy41LTMuOSAuNy03LjggLjctMTEuOXMtLjItOC0uNy0xMS45bDk0LjEtNDdDMzAyLjYgMjEzLjggMzI2LjEgMjI0IDM1MiAyMjR6XCJdXG59O1xuY29uc3QgZmFTaGFyZUFsdCA9IGZhU2hhcmVOb2RlcztcbmNvbnN0IGZhSGVhcnRDaXJjbGVNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtbWludXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZmZcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZsMC01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMWwwIDUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTU3NiAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTY0IDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3NIYWxmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXJnbGFzcy1oYWxmJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJob3VyZ2xhc3MtMlwiXSwgXCJmMjUyXCIsIFwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMCAxMWMwIDQyLjQgMTYuOSA4My4xIDQ2LjkgMTEzLjFMMTQ2LjcgMjU2IDc4LjkgMzIzLjlDNDguOSAzNTMuOSAzMiAzOTQuNiAzMiA0MzdsMCAxMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDI1NiAwIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFMMjM3LjMgMjU2bDY3LjktNjcuOWMzMC0zMCA0Ni45LTcwLjcgNDYuOS0xMTMuMWwwLTExYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyMCAwIDY0IDAgMzIgMHpNOTYgNzVsMC0xMSAxOTIgMCAwIDExYzAgMTktNS42IDM3LjQtMTYgNTNMMTEyIDEyOGMtMTAuMy0xNS42LTE2LTM0LTE2LTUzem0xNiAzMDljMy41LTUuMyA3LjYtMTAuMyAxMi4xLTE0LjlMMTkyIDMwMS4zbDY3LjkgNjcuOWM0LjYgNC42IDguNiA5LjYgMTIuMSAxNC45TDExMiAzODR6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3MyID0gZmFIb3VyZ2xhc3NIYWxmO1xuY29uc3QgZmFNaWNyb3Njb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3Jvc2NvcGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMDBdLCBcImY2MTBcIiwgXCJNMTYwIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIgNDQ4bDI4OCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4cy01Ny4zLTEyOC0xMjgtMTI4bDAtNjRjMTA2IDAgMTkyIDg2IDE5MiAxOTJjMCA0OS4yLTE4LjUgOTQtNDguOSAxMjhsMTYuOSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMEwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTgwLTY0bDE5MiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVNpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA2ZFwiLCBcIk0yODggOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnMxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAxOTItNjQgMCAwLTI0YzAtMzAuOS0yNS4xLTU2LTU2LTU2bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjNC40IDAgOCAzLjYgOCA4bDAgMjQtODAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMjQgMCAyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtODAgMCAwLTI0YzAtNC40IDMuNi04IDgtOGw1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NiAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDI0LTY0IDAgMC0xOTJ6TTQ4MCA0MTZsMC0zMkwzMiAzODRsMCAzMmMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZ6XCJdXG59O1xuY29uc3QgZmFCYWdTaG9wcGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWctc2hvcHBpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInNob3BwaW5nLWJhZ1wiXSwgXCJmMjkwXCIsIFwiTTE2MCAxMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDQ4LTEyOCAwIDAtNDh6bS00OCA0OGwtNjQgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjA4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwIDAtNDhDMzM2IDUwLjEgMjg1LjkgMCAyMjQgMFMxMTIgNTAuMSAxMTIgMTEybDAgNDh6bTI0IDQ4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMTUyIDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFTaG9wcGluZ0JhZyA9IGZhQmFnU2hvcHBpbmc7XG5jb25zdCBmYUFycm93RG93blpBID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tei1hJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFscGhhLWRlc2NcIiwgXCJzb3J0LWFscGhhLWRvd24tYWx0XCJdLCBcImY4ODFcIiwgXCJNMTgzLjYgNDY5LjZDMTc3LjUgNDc2LjIgMTY5IDQ4MCAxNjAgNDgwcy0xNy41LTMuOC0yMy42LTEwLjRsLTg4LTk2Yy0xMS45LTEzLTExLjEtMzMuMyAyLTQ1LjJzMzMuMy0xMS4xIDQ1LjIgMkwxMjggMzY1LjcgMTI4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDEuNyAzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUw0MjkuMyAxNjBsNTAuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlMNDAyLjcgOTYgMzUyIDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnptOTYgMTkyYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdsNjQgMTI4IDE2IDMyYzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNMNDYwLjIgNDQ4bC04OC40IDAtNy4yIDE0LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsMTYtMzIgNjQtMTI4YzUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3Ljd6TTM5NS44IDQwMGw0MC40IDBMNDE2IDM1OS42IDM5NS44IDQwMHpcIl1cbn07XG5jb25zdCBmYVNvcnRBbHBoYURlc2MgPSBmYUFycm93RG93blpBO1xuY29uc3QgZmFTb3J0QWxwaGFEb3duQWx0ID0gZmFBcnJvd0Rvd25aQTtcbmNvbnN0IGZhTWl0dGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pdHRlbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjdiNVwiLCBcIk0zNTIgMzg0TDY0IDM4NCA1LjQgMTc4LjlDMS44IDE2Ni40IDAgMTUzLjQgMCAxNDAuM0MwIDYyLjggNjIuOCAwIDE0MC4zIDBsMy40IDBjNjYgMCAxMjMuNSA0NC45IDEzOS41IDEwOC45bDMxLjQgMTI1LjggMTcuNi0yMC4xQzM0NC44IDIwMC4yIDM2Mi45IDE5MiAzODIgMTkybDIuOCAwYzM0LjkgMCA2My4zIDI4LjMgNjMuMyA2My4zYzAgMTUuOS02IDMxLjItMTYuOCA0Mi45TDM1MiAzODR6TTMyIDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMnpcIl1cbn07XG5jb25zdCBmYVBlcnNvblJheXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXJheXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NGRcIiwgXCJNMjA4IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyMy4xLTI4LjYgNDcuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZsMjkuNyAwYzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDU4LjMgOTdjOS4xIDE1LjEgNC4yIDM0LjgtMTAuOSA0My45cy0zNC44IDQuMi00My45LTEwLjlMMzI4IDI1Ni45IDMyOCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNNyA3QzE2LjQtMi4zIDMxLjYtMi4zIDQxIDdsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDQxQy0yLjMgMzEuNi0yLjMgMTYuNCA3IDd6TTQ3MSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODAgODBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMNDcxIDd6TTcgNTA1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4MC04MGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNDEgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHptNDY0IDBsLTgwLTgwYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMHpcIl1cbn07XG5jb25zdCBmYVVzZXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMGMwXCIsIFwiTTE0NCAwYTgwIDgwIDAgMSAxIDAgMTYwQTgwIDgwIDAgMSAxIDE0NCAwek01MTIgMGE4MCA4MCAwIDEgMSAwIDE2MEE4MCA4MCAwIDEgMSA1MTIgMHpNMCAyOTguN0MwIDIzOS44IDQ3LjggMTkyIDEwNi43IDE5Mmw0Mi43IDBjMTUuOSAwIDMxIDMuNSA0NC42IDkuN2MtMS4zIDcuMi0xLjkgMTQuNy0xLjkgMjIuM2MwIDM4LjIgMTYuOCA3Mi41IDQzLjMgOTZjLS4yIDAtLjQgMC0uNyAwTDIxLjMgMzIwQzkuNiAzMjAgMCAzMTAuNCAwIDI5OC43ek00MDUuMyAzMjBjLS4yIDAtLjQgMC0uNyAwYzI2LjYtMjMuNSA0My4zLTU3LjggNDMuMy05NmMwLTcuNi0uNy0xNS0xLjktMjIuM2MxMy42LTYuMyAyOC43LTkuNyA0NC42LTkuN2w0Mi43IDBDNTkyLjIgMTkyIDY0MCAyMzkuOCA2NDAgMjk4LjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM2wtMjEzLjMgMHpNMjI0IDIyNGE5NiA5NiAwIDEgMSAxOTIgMCA5NiA5NiAwIDEgMSAtMTkyIDB6TTEyOCA0ODUuM0MxMjggNDExLjcgMTg3LjcgMzUyIDI2MS4zIDM1MmwxMTcuMyAwQzQ1Mi4zIDM1MiA1MTIgNDExLjcgNTEyIDQ4NS4zYzAgMTQuNy0xMS45IDI2LjctMjYuNyAyNi43bC0zMzAuNyAwYy0xNC43IDAtMjYuNy0xMS45LTI2LjctMjYuN3pcIl1cbn07XG5jb25zdCBmYUV5ZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V5ZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjA3MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDUyNS42IDM4Ni43YzM5LjYtNDAuNiA2Ni40LTg2LjEgNzkuOS0xMTguNGMzLjMtNy45IDMuMy0xNi43IDAtMjQuNmMtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMUM0NjUuNSA2OC44IDQwMC44IDMyIDMyMCAzMmMtNjguMiAwLTEyNSAyNi4zLTE2OS4zIDYwLjhMMzguOCA1LjF6TTIyMy4xIDE0OS41QzI0OC42IDEyNi4yIDI4Mi43IDExMiAzMjAgMTEyYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0YzAgMjQuOS02LjMgNDguMy0xNy40IDY4LjdMNDA4IDI5NC41YzguNC0xOS4zIDEwLjYtNDEuNCA0LjgtNjMuM2MtMTEuMS00MS41LTQ3LjgtNjkuNC04OC42LTcxLjFjLTUuOC0uMi05LjIgNi4xLTcuNCAxMS43YzIuMSA2LjQgMy4zIDEzLjIgMy4zIDIwLjNjMCAxMC4yLTIuNCAxOS44LTYuNiAyOC4zbC05MC4zLTcwLjh6TTM3MyAzODkuOWMtMTYuNCA2LjUtMzQuMyAxMC4xLTUzIDEwLjFjLTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0YzAtNi45IC41LTEzLjYgMS40LTIwLjJMODMuMSAxNjEuNUM2MC4zIDE5MS4yIDQ0IDIyMC44IDM0LjUgMjQzLjdjLTMuMyA3LjktMy4zIDE2LjcgMCAyNC42YzE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjFDMTc0LjUgNDQzLjIgMjM5LjIgNDgwIDMyMCA0ODBjNDcuOCAwIDg5LjktMTIuOSAxMjYuMi0zMi41TDM3MyAzODkuOXpcIl1cbn07XG5jb25zdCBmYUZsYXNrVmlhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFzay12aWFsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGYzXCIsIFwiTTE3NSAzODkuNGMtOS44IDE2LTE1IDM0LjMtMTUgNTMuMWMtMTAgMy41LTIwLjggNS41LTMyIDUuNWMtNTMgMC05Ni00My05Ni05NkwzMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyUzE0LjMgMCAzMiAwTDk2IDBsNjQgMCA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMjQ1LjktNDkgNzkuNnpNOTYgNjRsMCA5NiA2NCAwIDAtOTZMOTYgNjR6TTM1MiAwTDQ4MCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNTAuOUw2MjkuNyA0MDYuMmM2LjcgMTAuOSAxMC4zIDIzLjUgMTAuMyAzNi40YzAgMzguMy0zMS4xIDY5LjQtNjkuNCA2OS40bC0zMDkuMiAwYy0zOC4zIDAtNjkuNC0zMS4xLTY5LjQtNjkuNGMwLTEyLjggMy42LTI1LjQgMTAuMy0zNi40TDMyMCAyMTQuOSAzMjAgNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMHptMzIgNjRsMCAxNjBjMCA1LjktMS42IDExLjctNC43IDE2LjhMMzMwLjUgMzIwbDE3MSAwLTQ4LjgtNzkuMmMtMy4xLTUtNC43LTEwLjgtNC43LTE2LjhsMC0xNjAtNjQgMHpcIl1cbn07XG5jb25zdCBmYUhhbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTMwNiwgOTk5NSwgXCJoYW5kLXBhcGVyXCJdLCBcImYyNTZcIiwgXCJNMjg4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjA4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjcyYzAgMS41IDAgMy4xIC4xIDQuNkw2Ny42IDI4M2MtMTYtMTUuMi00MS4zLTE0LjYtNTYuNiAxLjRzLTE0LjYgNDEuMyAxLjQgNTYuNkwxMjQuOCA0NDhjNDMuMSA0MS4xIDEwMC40IDY0IDE2MCA2NGwxOS4yIDBjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZsMC0yMDhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0yMDh6XCJdXG59O1xuY29uc3QgZmFIYW5kUGFwZXIgPSBmYUhhbmQ7XG5jb25zdCBmYU9tID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ29tJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzI5XSwgXCJmNjc5XCIsIFwiTTM3OS4zIDQuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTE2IDE2Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmwxNiAxNmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGwxNi0xNmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtMTYtMTZ6TTI4MSA2Ni43Yy0yLjItMS41LTQuOS0yLjUtNy43LTIuN2MtLjYgMC0xLjMtLjEtMS45IDBjLTMuOSAuMi03LjQgMS43LTEwLjEgNC4yYy0uOSAuOC0xLjYgMS43LTIuMyAyLjZjLTEuNyAyLjQtMi43IDUuMy0yLjkgOC41YzAgLjcgMCAxLjQgMCAyLjFjLjIgMi4yIC45IDQuMyAxLjkgNi4ybC4zIC42Yy4zIC42IC44IDEuNCAxLjQgMi40YzEuMiAyIDIuOSA0LjggNS4xIDguMmM0LjQgNi43IDExLjEgMTUuNSAyMCAyNC40QzMwMi40IDE0MS4xIDMzMC4zIDE2MCAzNjggMTYwYzMxLjIgMCA1Ni42LTEwLjQgNzMuOS0yMC4yYzguNy01IDE1LjYtOS45IDIwLjQtMTMuOGMyLjQtMS45IDQuMy0zLjYgNS43LTQuOWMuNy0uNiAxLjMtMS4yIDEuNy0xLjZsLjYtLjUgLjEtLjEgLjEtLjFzMCAwIDAgMHMwIDAgMCAwYzUuOS01LjggOS41LTEzLjkgOS41LTIyLjhjMC0xNy43LTE0LjMtMzItMzItMzJjLTguNyAwLTE2LjcgMy41LTIyLjQgOS4yYy0uMSAuMS0uMiAuMi0uNSAuNGMtLjUgLjUtMS41IDEuMy0yLjggMi40Yy0yLjcgMi4yLTYuOCA1LjItMTIuMSA4LjJDMzk5LjQgOTAuNCAzODQuOCA5NiAzNjggOTZjLTIwLjggMC00Mi40LTctNTkuNS0xNC42Yy04LjQtMy43LTE1LjQtNy41LTIwLjMtMTAuM2MtMi40LTEuNC00LjMtMi41LTUuNi0zLjNjLS42LS40LTEuMS0uNy0xLjQtLjlsLS4zLS4yek0xMTUuMiAxNjkuNmM4LTYgMTcuOS05LjYgMjguOC05LjZjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTM0LjIgMGMtNy42IDAtMTMuOCA2LjItMTMuOCAxMy44YzAgMS41IC4yIDIuOSAuNyA0LjRsOCAyNGM0LjQgMTMuMSAxNi42IDIxLjkgMzAuNCAyMS45bDguOSAwIDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRjLTUwLjggMC04Mi43LTIxLjUtMTAyLjItNDIuOGMtOS45LTEwLjgtMTYuNi0yMS42LTIwLjktMjkuN2MtMi4xLTQtMy42LTcuMy00LjUtOS42Yy0uNS0xLjEtLjgtMi0xLTIuNWwtLjItLjVjLS4zLS45LS43LTEuOC0xLjEtMi42Yy0xLjItMi4yLTIuOC00LTQuNy01LjRjLTEuOS0xLjQtNC4xLTIuMy02LjUtMi44Yy0xLjQtLjMtMi45LS4zLTQuNC0uMmMtMi41IC4yLTQuOCAxLTYuOCAyLjNjLTEuMSAuNy0yLjIgMS41LTMuMSAyLjVjLTIuNCAyLjUtNC4xIDUuOC00LjUgOS41Yy0uMSAuNi0uMSAxLjEtLjEgMS43YzAgMCAwIDAgMCAwYzAgLjggLjEgMS43IC4yIDIuNWwwIC4xYzAgLjMgLjEgLjggLjIgMS4zYy4yIDEuMSAuNCAyLjcgLjggNC42Yy44IDMuOSAyIDkuNCAzLjkgMTUuOWMzLjggMTMgMTAuMyAzMC40IDIxLjMgNDhDNDguNyA0NzYuMiA4OS40IDUxMiAxNjAgNTEyYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4YzAtMjMuMy02LjItNDUuMi0xNy4xLTY0bDIyLjYgMGMyNS41IDAgNDkuOS0xMC4xIDY3LjktMjguMWwyNi41LTI2LjVjNi02IDE0LjEtOS40IDIyLjYtOS40bDUuNSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJjLTI1LjcgMC00MS40LTEyLjUtNTEuMi0yNS42Yy01LTYuNy04LjQtMTMuNC0xMC41LTE4LjZjLTEuMS0yLjUtMS44LTQuNi0yLjItNmMtLjItLjctLjQtMS4yLS41LTEuNWwtLjEtLjJjLS4zLTEuMy0uOC0yLjYtMS41LTMuOGMtMS4xLTItMi42LTMuOC00LjQtNS4xYy0yLjctMi02LTMuMi05LjYtMy4ybC0uMiAwYy04IC4xLTE0LjYgNi4xLTE1LjYgMTMuOWMwIDAgMCAwIDAgMGMwIC4zLS4xIC42LS4yIDEuMWMtLjEgLjktLjMgMi4xLS40IDMuNmMtLjMgMy0uNiA3LjMtLjYgMTIuNGMwIDEwLjEgMS4xIDIzLjkgNS44IDM4LjFjNC44IDE0LjMgMTMuNCAyOS4zIDI4LjYgNDAuN0MzNjguNyA0NzMuMyAzODkuMyA0ODAgNDE2IDQ4MGM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMC01My00My05Ni05Ni05NmwtNS41IDBjLTI1LjUgMC00OS45IDEwLjEtNjcuOSAyOC4xbC0yNi41IDI2LjVjLTYgNi0xNC4xIDkuNC0yMi42IDkuNGwtNDguMyAwYzYuOS0xNC41IDEwLjgtMzAuOCAxMC44LTQ4YzAtNjEuOS01MC4xLTExMi0xMTItMTEyYy0yNS4yIDAtNDguNSA4LjMtNjcuMiAyMi40Yy0xNC4xIDEwLjYtMTcgMzAuNy02LjQgNDQuOHMzMC43IDE3IDQ0LjggNi40elwiXVxufTtcbmNvbnN0IGZhV29ybSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3b3JtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTk5XCIsIFwiTTI1NiA5NmMwLTUzIDQzLTk2IDk2LTk2bDM4LjQgMEM0MzkuOSAwIDQ4MCA0MC4xIDQ4MCA4OS42bDAgODYuNCAwIDE2IDAgMTg0YzAgNzUuMS02MC45IDEzNi0xMzYgMTM2cy0xMzYtNjAuOS0xMzYtMTM2bDAtODBjMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBsMCAxNjhjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0xNjhjMC03NS4xIDYwLjktMTM2IDEzNi0xMzZzMTM2IDYwLjkgMTM2IDEzNmwwIDgwYzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC0xODQtMzIgMGMtNTMgMC05Ni00My05Ni05NnptMTQ0LThhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTBiXCIsIFwiTTMyMC43IDM1MmM4LjEtODkuNyA4My41LTE2MCAxNzUuMy0xNjBjOC45IDAgMTcuNiAuNyAyNi4xIDEuOUwzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWwzMiAwIDAgNjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOGwwIDExMmMwIDIyLjEgMTcuOSA0MCA0MCA0MGwxNiAwYzEuMiAwIDIuNC0uMSAzLjYtLjJjMS41IC4xIDMgLjIgNC41IC4ybDMxLjkgMCAyNCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtMjQgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwIC43IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDUxOC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhUGx1ZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbHVnJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4MjY4XSwgXCJmMWU2XCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJsMCA5NiA2NCAwIDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCA2Ny4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Ny4yQzI5NyAzOTggMzUyIDMzMy40IDM1MiAyNTZsMC0zMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjB6XCJdXG59O1xuY29uc3QgZmFDaGV2cm9uVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hldnJvbi11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjA3N1wiLCBcIk0yMzMuNCAxMDUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDI1NiAxNzMuMyA4Ni42IDM0Mi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxOTItMTkyelwiXVxufTtcbmNvbnN0IGZhSGFuZFNwb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtc3BvY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg0MDZdLCBcImYyNTlcIiwgXCJNMjQ2LjkgMjMuN0MyNDIuMyA2LjYgMjI0LjgtMy41IDIwNy43IDEuMXMtMjcuMiAyMi4xLTIyLjYgMzkuMkwyMzggMjM3LjhjMi41IDkuMi00LjUgMTguMi0xNCAxOC4yYy02LjQgMC0xMi00LjItMTMuOS0xMC4zTDE2Ni42IDEwMi43Yy01LjEtMTYuOS0yMy0yNi40LTM5LjktMjEuM3MtMjYuNCAyMy0yMS4zIDM5LjlsNjIuOCAyMDYuNGMyLjQgNy45LTcuMiAxMy44LTEzLjIgOC4xTDk5LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNHMtMTQuNiA0MS4zIDEuNCA1Ni42TDE1Ni44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDEwLjkgMCA4LjIgMGMuMSAwIC4xLS4xIC4xLS4xcy4xLS4xIC4xLS4xYzU4LjMtMy41IDEwOC42LTQzLjIgMTI1LjMtOTkuN2w4MS4yLTI3NWM1LTE2LjktNC43LTM0LjctMjEuNi0zOS44cy0zNC43IDQuNy0zOS44IDIxLjZMNDQzLjUgMjQ3LjFjLTEuNiA1LjMtNi40IDguOS0xMiA4LjljLTcuOSAwLTEzLjgtNy4zLTEyLjItMTUuMWwzNi0xNzAuM2MzLjctMTcuMy03LjQtMzQuMy0yNC43LTM3LjlzLTM0LjMgNy40LTM3LjkgMjQuN0wzNTUuMSAyMzUuMWMtMi42IDEyLjItMTMuMyAyMC45LTI1LjggMjAuOWMtMTEuOSAwLTIyLjQtOC0yNS40LTE5LjVsLTU3LTIxMi44elwiXVxufTtcbmNvbnN0IGZhU3RvcHdhdGNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3B3YXRjaCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzkyMDFdLCBcImYyZjJcIiwgXCJNMTc2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYgMCAwIDM0LjRDOTIuMyAxMTMuOCAxNiAyMDAgMTYgMzA0YzAgMTE0LjkgOTMuMSAyMDggMjA4IDIwOHMyMDgtOTMuMSAyMDgtMjA4YzAtNDEuOC0xMi4zLTgwLjctMzMuNS0xMTMuMmwyNC4xLTI0LjFjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzU1LjcgMTQzYy0yOC4xLTIzLTYyLjItMzguOC05OS43LTQ0LjZMMjU2IDY0bDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMjI0IDAgMTc2IDB6bTcyIDE5MmwwIDEyOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEyOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbmNvbnN0IGZhRmFjZUtpc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1raXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTM1LCBcImtpc3NcIl0sIFwiZjU5NlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptNDguNy0xOTguM2M0LjMgNS4xIDcuMyAxMS40IDcuMyAxOC4zcy0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRjLTIuNyAxLjUtNS43IDMtOC43IDQuM2MzLjEgMS4zIDYgMi43IDguNyA0LjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40QzI3NC43IDQ0My4xIDI1Ny40IDQ0OCAyNDAgNDQ4Yy0zLjYgMC02LjgtMi41LTcuNy02cy42LTcuMiAzLjgtOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMCAwIDAgMCAwIDBsLjItLjFjLjItLjEgLjUtLjMgLjktLjVjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFjLS40LS4yLS43LS40LS45LS41bC0uMi0uMWMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjUtMS40LTQuMS00LjEtNC4xLTdzMS42LTUuNiA0LjEtN2MwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMi0uMSAuMy0uMiAuNi0uNGMuOC0uNSAyLTEuMiAzLjQtMi4xYzIuOC0xLjkgNi41LTQuNSAxMC4yLTcuNmMzLjctMy4xIDcuMi02LjYgOS42LTEwLjFjMi41LTMuNSAzLjUtNi40IDMuNS04LjZzLTEtNS0zLjUtOC42Yy0yLjUtMy41LTUuOS02LjktOS42LTEwLjFjLTMuNy0zLjEtNy40LTUuNy0xMC4yLTcuNmMtMS40LS45LTIuNi0xLjYtMy40LTIuMWwtLjQtLjMtLjUtLjMtLjItLjFjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMy4yLTEuOC00LjctNS41LTMuOC05czQuMS02IDcuNy02YzE3LjQgMCAzNC43IDQuOSA0Ny45IDEyLjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjR6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhS2lzcyA9IGZhRmFjZUtpc3M7XG5jb25zdCBmYUJyaWRnZUNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0Y2JcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJsNDAgMCAwIDY0LTcyIDAgMCAxMjhjNTMgMCA5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2YzYuMyAwIDEyLjQgLjYgMTguMyAxLjdDMzY3LjEgMjMxLjggNDI2LjkgMTkyIDQ5NiAxOTJjNDIuNSAwIDgxLjYgMTUuMSAxMTIgNDAuMmwwLTcyLjItNzIgMCAwLTY0IDQwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMzJ6TTQ4OCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0zNjAgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjMyIDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDUxOC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhRmFjZUdyaW5Ub25ndWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXRvbmd1ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUzOSwgXCJncmluLXRvbmd1ZVwiXSwgXCJmNTg5XCIsIFwiTTAgMjU2QzAgMzY4LjkgNzMuMSA0NjQuNyAxNzQuNSA0OTguOEMxNjUuMyA0ODQgMTYwIDQ2Ni42IDE2MCA0NDhsMC00Ny4zYy0yNC0xNy41LTQzLjEtNDEuNC01NC44LTY5LjJjLTUtMTEuOCA3LTIyLjUgMTkuMy0xOC43YzM5LjcgMTIuMiA4NC41IDE5IDEzMS44IDE5czkyLjEtNi44IDEzMS44LTE5YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN2MtMTEuOCAyOC0zMS4xIDUyLTU1LjQgNjkuNmwwIDQ2LjljMCAxOC42LTUuMyAzNi0xNC41IDUwLjhDNDM4LjkgNDY0LjcgNTEyIDM2OC45IDUxMiAyNTZDNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NnptMTc2LjQtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMzIwIDQ0OGwwLTQ1LjRjMC0xNC43LTExLjktMjYuNi0yNi42LTI2LjZsLTIgMGMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOWMtMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMGMtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDQ1LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpcIl1cbn07XG5jb25zdCBmYUdyaW5Ub25ndWUgPSBmYUZhY2VHcmluVG9uZ3VlO1xuY29uc3QgZmFDaGVzc0Jpc2hvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1iaXNob3AnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5ODIxXSwgXCJmNDNhXCIsIFwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmMwIDE2LjEgMTEuOSAyOS40IDI3LjQgMzEuN0M3OC40IDEwNi44IDggMTkwIDggMjg4YzAgNDcuNCAzMC44IDcyLjMgNTYgODQuN0w2NCA0MDBsMTkyIDAgMC0yNy4zYzI1LjItMTIuNSA1Ni0zNy40IDU2LTg0LjdjMC0zNy4zLTEwLjItNzIuNC0yNS4zLTEwNC4xbC05OS40IDk5LjRjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZMMjcwLjggMTU0LjZjLTIzLjItMzguMS01MS44LTY5LjUtNzQuMi05MC45QzIxMi4xIDYxLjQgMjI0IDQ4LjEgMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDEyOCAwek00OCA0MzJMNi42IDQ3My40Yy00LjIgNC4yLTYuNiAxMC02LjYgMTZDMCA1MDEuOSAxMC4xIDUxMiAyMi42IDUxMmwyNzQuNyAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZMMjcyIDQzMiA0OCA0MzJ6XCJdXG59O1xuY29uc3QgZmFGYWNlR3JpbldpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXdpbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImdyaW4td2lua1wiXSwgXCJmNThjXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6bS0xNi45LTc5LjJjLTE3LjYtMjMuNS01Mi44LTIzLjUtNzAuNCAwYy01LjMgNy4xLTE1LjMgOC41LTIyLjQgMy4ycy04LjUtMTUuMy0zLjItMjIuNGMzMC40LTQwLjUgOTEuMi00MC41IDEyMS42IDBjNS4zIDcuMSAzLjkgMTcuMS0zLjIgMjIuNHMtMTcuMSAzLjktMjIuNC0zLjJ6TTE3Ni40IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFHcmluV2luayA9IGZhRmFjZUdyaW5XaW5rO1xuY29uc3QgZmFFYXJEZWFmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Vhci1kZWFmJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkZWFmXCIsIFwiZGVhZm5lc3NcIiwgXCJoYXJkLW9mLWhlYXJpbmdcIl0sIFwiZjJhNFwiLCBcIk01MDIuNiA1NC42bC00MCA0MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNDAtNDBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptLTMyMCAzMjBsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMjQwIDEyOGMtNTcuNiAwLTEwNS4xIDQzLjYtMTExLjMgOTkuNWMtMS45IDE3LjYtMTcuOCAzMC4yLTM1LjMgMjguM3MtMzAuMi0xNy44LTI4LjMtMzUuM0M3NC44IDEzMi41IDE0OS40IDY0IDI0MCA2NGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NmMwIDQ2LTE3LjcgODcuOS00Ni42IDExOS4zYy0xMiAxMy0xNy40IDI0LjgtMTcuNCAzNC43bDAgNi4xYzAgNjEuOS01MC4xIDExMi0xMTIgMTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNi4xYzAtMzIuOSAxNy40LTU5LjYgMzQuNC03OGMxOC40LTIwIDI5LjYtNDYuNiAyOS42LTc1LjljMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6bTAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6XCJdXG59O1xuY29uc3QgZmFEZWFmID0gZmFFYXJEZWFmO1xuY29uc3QgZmFEZWFmbmVzcyA9IGZhRWFyRGVhZjtcbmNvbnN0IGZhSGFyZE9mSGVhcmluZyA9IGZhRWFyRGVhZjtcbmNvbnN0IGZhUm9hZENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY0XCIsIFwiTTIxMy4yIDMyTDI4OCAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA3NC44IDBjMjcuMSAwIDUxLjMgMTcuMSA2MC4zIDQyLjZsNDIuNyAxMjAuNmMtMTAuOS0yLjEtMjIuMi0zLjItMzMuOC0zLjJjLTU5LjUgMC0xMTIuMSAyOS42LTE0NCA3NC44bDAtNDIuOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyYzIuMyAwIDQuNi0uMyA2LjgtLjdjLTQuNSAxNS41LTYuOCAzMS44LTYuOCA0OC43YzAgNS40IC4yIDEwLjcgLjcgMTZsLS43IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRMODYuNiA0ODBDNTYuNSA0ODAgMzIgNDU1LjUgMzIgNDI1LjRjMC02LjIgMS4xLTEyLjQgMy4xLTE4LjJMMTUyLjkgNzQuNkMxNjIgNDkuMSAxODYuMSAzMiAyMTMuMiAzMnpNMzUyIDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw0ODAgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG5jb25zdCBmYURpY2VGaXZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2UtZml2ZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4NjBdLCBcImY1MjNcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek05NiAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMjI0IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0LTY0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDE2MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVSc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXJzcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicnNzLXNxdWFyZVwiXSwgXCJmMTQzXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTk2IDEzNmMwLTEzLjMgMTAuNy0yNCAyNC0yNGMxMzcgMCAyNDggMTExIDI0OCAyNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMTAuNS04OS41LTIwMC0yMDAtMjAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGM4My45IDAgMTUyIDY4LjEgMTUyIDE1MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTU3LjQtNDYuNi0xMDQtMTA0LTEwNGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTAgMTIwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFSc3NTcXVhcmUgPSBmYVNxdWFyZVJzcztcbmNvbnN0IGZhTGFuZE1pbmVPbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYW5kLW1pbmUtb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MWJcIiwgXCJNMzQ0IDI0bDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTE5MiAzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi0yNTYgMCAwLTMyem0tNzcuMyA5MC41YzguMS0xNi4zIDI0LjgtMjYuNSA0Mi45LTI2LjVsMzI0LjcgMGMxOC4yIDAgMzQuOCAxMC4zIDQyLjkgMjYuNWwyNy42IDU1LjJDNTYzLjUgNDg3IDU0OCA1MTIgNTI0LjIgNTEybC00MDguNCAwYy0yMy44IDAtMzkuMy0yNS0yOC42LTQ2LjNsMjcuNi01NS4yek0zNi4zIDEzOC4zYzcuNS0xMC45IDIyLjUtMTMuNiAzMy40LTYuMWwxMDQgNzJjMTAuOSA3LjUgMTMuNiAyMi41IDYuMSAzMy40cy0yMi41IDEzLjYtMzMuNCA2LjFsLTEwNC03MmMtMTAuOS03LjUtMTMuNi0yMi41LTYuMS0zMy40em01MzQuMS02LjFjMTAuOS03LjUgMjUuOC00LjggMzMuNCA2LjFzNC44IDI1LjgtNi4xIDMzLjRsLTEwNCA3MmMtMTAuOSA3LjUtMjUuOCA0LjgtMzMuNC02LjFzLTQuOC0yNS44IDYuMS0zMy40bDEwNC03MnpcIl1cbn07XG5jb25zdCBmYUlDdXJzb3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaS1jdXJzb3InLFxuICBpY29uOiBbMjU2LCA1MTIsIFtdLCBcImYyNDZcIiwgXCJNLjEgMjkuM0MtMS40IDQ3IDExLjcgNjIuNCAyOS4zIDYzLjlsOCAuN0M3MC41IDY3LjMgOTYgOTUgOTYgMTI4LjNMOTYgMjI0bC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCA5NS43YzAgMzMuMy0yNS41IDYxLTU4LjcgNjMuOGwtOCAuN0MxMS43IDQ0OS42LTEuNCA0NjUgLjEgNDgyLjdzMTYuOSAzMC43IDM0LjUgMjkuMmw4LS43YzM0LjEtMi44IDY0LjItMTguOSA4NS40LTQyLjljMjEuMiAyNCA1MS4yIDQwIDg1LjQgNDIuOWw4IC43YzE3LjYgMS41IDMzLjEtMTEuNiAzNC41LTI5LjJzLTExLjYtMzMuMS0yOS4yLTM0LjVsLTgtLjdDMTg1LjUgNDQ0LjcgMTYwIDQxNyAxNjAgMzgzLjdsMC05NS43IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC05NS43YzAtMzMuMyAyNS41LTYxIDU4LjctNjMuOGw4LS43YzE3LjYtMS41IDMwLjctMTYuOSAyOS4yLTM0LjVTMjM5LTEuNCAyMjEuMyAuMWwtOCAuN0MxNzkuMiAzLjYgMTQ5LjIgMTkuNyAxMjggNDMuN2MtMjEuMi0yNC01MS4yLTQwLTg1LjQtNDIuOWwtOC0uN0MxNy0xLjQgMS42IDExLjcgLjEgMjkuM3pcIl1cbn07XG5jb25zdCBmYVN0YW1wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YW1wJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNWJmXCIsIFwiTTMxMiAyMDEuOGMwLTE3LjQgOS4yLTMzLjIgMTkuOS00N0MzNDQuNSAxMzguNSAzNTIgMTE4LjEgMzUyIDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMjIuMSA3LjUgNDIuNSAyMC4xIDU4LjhjMTAuNyAxMy44IDE5LjkgMjkuNiAxOS45IDQ3YzAgMjkuOS0yNC4zIDU0LjItNTQuMiA1NC4yTDExMiAyNTZDNTAuMSAyNTYgMCAzMDYuMSAwIDM2OGMwIDIwLjkgMTMuNCAzOC43IDMyIDQ1LjNMMzIgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNTAuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNjMC02MS45LTUwLjEtMTEyLTExMi0xMTJsLTMzLjggMGMtMjkuOSAwLTU0LjItMjQuMy01NC4yLTU0LjJ6TTQxNiA0MTZsMCAzMkw5NiA0NDhsMC0zMiAzMjAgMHpcIl1cbn07XG5jb25zdCBmYVN0YWlycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGFpcnMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUyODlcIiwgXCJNMzg0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDAgMC05NnpcIl1cbn07XG5jb25zdCBmYUkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaScsXG4gIGljb246IFszMjAsIDUxMiwgWzEwNV0sIFwiNDlcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDk2IDAgMCAzMjAtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMCAwLTMyMCA5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE2MCAzMiAzMiAzMnpcIl1cbn07XG5jb25zdCBmYUhyeXZuaWFTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hyeXZuaWEtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgWzgzNzIsIFwiaHJ5dm5pYVwiXSwgXCJmNmYyXCIsIFwiTTEyMS45IDExNi4yQzEzOC4zIDEwMy4xIDE1OC43IDk2IDE3OS42IDk2TDIyMyA5NmMyNy4xIDAgNDkgMjEuOSA0OSA0OWMwIDExLjUtNCAyMi40LTExLjEgMzFMMzIgMTc2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyMy41IDAtNTAuNiAyOC45Yy0xLjcgMS0zLjQgMi01LjEgMy4xTDMyIDI3MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMC4zIDBjLTIuOCA5LjktNC4zIDIwLjQtNC4zIDMxYzAgNjIuNCA1MC42IDExMyAxMTMgMTEzbDQzLjQgMGMzNS41IDAgNzAtMTIuMSA5Ny43LTM0LjNMMzA4IDQ0MWMxMy44LTExIDE2LTMxLjIgNS00NXMtMzEuMi0xNi00NS01bC01LjkgNC43Yy0xNi40IDEzLjEtMzYuNyAyMC4yLTU3LjcgMjAuMkwxNjEgNDE2Yy0yNy4xIDAtNDktMjEuOS00OS00OWMwLTExLjUgNC0yMi40IDExLjEtMzFMMzUyIDMzNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTIzLjUgMCA1MC42LTI4LjljMS43LTEgMy40LTIgNS4xLTMuMWw2Ny44IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIwLjMgMGMyLjgtMTAgNC4zLTIwLjQgNC4zLTMxYzAtNjIuNC01MC42LTExMy0xMTMtMTEzbC00My40IDBjLTM1LjUgMC03MCAxMi4xLTk3LjcgMzQuM0w3NiA3MWMtMTMuOCAxMS0xNiAzMS4yLTUgNDVzMzEuMiAxNiA0NSA1bDUuOS00Ljd6XCJdXG59O1xuY29uc3QgZmFIcnl2bmlhID0gZmFIcnl2bmlhU2lnbjtcbmNvbnN0IGZhUGlsbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGlsbHMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0ODRcIiwgXCJNMTEyIDk2Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDExMiA5NiAwIDAtMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0wIDE0NEMwIDgyLjEgNTAuMSAzMiAxMTIgMzJzMTEyIDUwLjEgMTEyIDExMmwwIDIyNGMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMwIDQyOS45IDAgMzY4TDAgMTQ0ek01NTQuOSAzOTkuNGMtNy4xIDEyLjMtMjMuNyAxMy4xLTMzLjggMy4xTDMzMy41IDIxNC45Yy0xMC0xMC05LjMtMjYuNyAzLjEtMzMuOEMzNjAgMTY3LjcgMzg3LjEgMTYwIDQxNiAxNjBjODguNCAwIDE2MCA3MS42IDE2MCAxNjBjMCAyOC45LTcuNyA1Ni0yMS4xIDc5LjR6bS01OS41IDU5LjVDNDcyIDQ3Mi4zIDQ0NC45IDQ4MCA0MTYgNDgwYy04OC40IDAtMTYwLTcxLjYtMTYwLTE2MGMwLTI4LjkgNy43LTU2IDIxLjEtNzkuNGM3LjEtMTIuMyAyMy43LTEzLjEgMzMuOC0zLjFMNDk4LjUgNDI1LjFjMTAgMTAgOS4zIDI2LjctMy4xIDMzLjh6XCJdXG59O1xuY29uc3QgZmFGYWNlR3JpbldpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLXdpZGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1MTUsIFwiZ3Jpbi1hbHRcIl0sIFwiZjU4MVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg4LjEgMzEyLjhjMTIuMy0zLjggMjQuMyA2LjkgMTkuMyAxOC43QzM4Mi40IDM5MC42IDMyNC4yIDQzMiAyNTYuMyA0MzJzLTEyNi4yLTQxLjQtMTUxLjEtMTAwLjVjLTUtMTEuOCA3LTIyLjUgMTkuMy0xOC43YzM5LjcgMTIuMiA4NC41IDE5IDEzMS44IDE5czkyLjEtNi44IDEzMS44LTE5ek0yMDggMTkyYzAgMzUuMy0xNC4zIDY0LTMyIDY0cy0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjRzMzIgMjguNyAzMiA2NHptMTI4IDY0Yy0xNy43IDAtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0czMyIDI4LjcgMzIgNjRzLTE0LjMgNjQtMzIgNjR6XCJdXG59O1xuY29uc3QgZmFHcmluQWx0ID0gZmFGYWNlR3JpbldpZGU7XG5jb25zdCBmYVRvb3RoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvb3RoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI5NDYzXSwgXCJmNWM5XCIsIFwiTTE4Ni4xIDUyLjFDMTY5LjMgMzkuMSAxNDguNyAzMiAxMjcuNSAzMkM3NC43IDMyIDMyIDc0LjcgMzIgMTI3LjVsMCA2LjJjMCAxNS44IDMuNyAzMS4zIDEwLjcgNDUuNWwyMy41IDQ3LjFjNC41IDguOSA3LjYgMTguNCA5LjQgMjguMmwzNi43IDIwNS44YzIgMTEuMiAxMS42IDE5LjQgMjIuOSAxOS44czIxLjQtNy40IDI0LTE4LjRsMjguOS0xMjEuM0MxOTIuMiAzMjMuNyAyMDcgMzEyIDIyNCAzMTJzMzEuOCAxMS43IDM1LjggMjguM2wyOC45IDEyMS4zYzIuNiAxMS4xIDEyLjcgMTguOCAyNCAxOC40czIwLjktOC42IDIyLjktMTkuOGwzNi43LTIwNS44YzEuOC05LjggNC45LTE5LjMgOS40LTI4LjJsMjMuNS00Ny4xYzcuMS0xNC4xIDEwLjctMjkuNyAxMC43LTQ1LjVsMC0yLjFjMC01NS00NC42LTk5LjYtOTkuNi05OS42Yy0yNC4xIDAtNDcuNCA4LjgtNjUuNiAyNC42bC0zLjIgMi44IDE5LjUgMTUuMmM3IDUuNCA4LjIgMTUuNSAyLjggMjIuNXMtMTUuNSA4LjItMjIuNSAyLjhsLTI0LjQtMTktMzctMjguOHpcIl1cbn07XG5jb25zdCBmYVYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndicsXG4gIGljb246IFszODQsIDUxMiwgWzExOF0sIFwiNTZcIiwgXCJNMTkuNyAzNC41YzE2LjMtNi44IDM1IC45IDQxLjggMTcuMkwxOTIgMzY0LjggMzIyLjUgNTEuN2M2LjgtMTYuMyAyNS41LTI0IDQxLjgtMTcuMnMyNCAyNS41IDE3LjIgNDEuOGwtMTYwIDM4NGMtNSAxMS45LTE2LjYgMTkuNy0yOS41IDE5LjdzLTI0LjYtNy44LTI5LjUtMTkuN0wyLjUgNzYuM2MtNi44LTE2LjMgLjktMzUgMTcuMi00MS44elwiXVxufTtcbmNvbnN0IGZhQmFuZ2xhZGVzaGlUYWthU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYW5nbGFkZXNoaS10YWthLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUyZTZcIiwgXCJNMzYgMzIuM0MxOC40IDMwLjEgMi40IDQyLjUgLjIgNjBTMTAuNSA5My42IDI4IDk1LjhsNy45IDFjMTYgMiAyOCAxNS42IDI4IDMxLjhMNjQgMTYwbC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAxNjBjMCA1MyA0MyA5NiA5NiA5NmwzMiAwYzEwNiAwIDE5Mi04NiAxOTItMTkybDAtMzJjMC01My00My05Ni05Ni05NmwtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMS41YzAtNDguNC0zNi4xLTg5LjMtODQuMS05NS4zbC03LjktMXpcIl1cbn07XG5jb25zdCBmYUJpY3ljbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmljeWNsZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY5MF0sIFwiZjIwNlwiLCBcIk0zMTIgMzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjUuNyAwIDM0LjYgNjQtMTQ5LjQgMC0yNy40LTM4QzE5MSA5OS43IDE4My43IDk2IDE3NiA5NmwtNTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0My43IDAgMjIuMSAzMC43LTI2LjYgNTMuMWMtMTAtMi41LTIwLjUtMy44LTMxLjItMy44QzU3LjMgMjI0IDAgMjgxLjMgMCAzNTJzNTcuMyAxMjggMTI4IDEyOGM2NS4zIDAgMTE5LjEtNDguOSAxMjctMTEybDQ5IDBjOC41IDAgMTYuMy00LjUgMjAuNy0xMS44bDg0LjgtMTQzLjUgMjEuNyA0MC4xQzQwMi40IDI3Ni4zIDM4NCAzMTIgMzg0IDM1MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4cy01Ny4zLTEyOC0xMjgtMTI4Yy0xMy41IDAtMjYuNSAyLjEtMzguNyA2TDM3NS40IDQ4LjhDMzY5LjggMzguNCAzNTkgMzIgMzQ3LjIgMzJMMzEyIDMyek00NTguNiAzMDMuN2wzMi4zIDU5LjdjNi4zIDExLjcgMjAuOSAxNiAzMi41IDkuN3MxNi0yMC45IDkuNy0zMi41bC0zMi4zLTU5LjdjMy42LS42IDcuNC0uOSAxMS4yLS45YzM5LjggMCA3MiAzMi4yIDcyIDcycy0zMi4yIDcyLTcyIDcycy03Mi0zMi4yLTcyLTcyYzAtMTguNiA3LTM1LjUgMTguNi00OC4zek0xMzMuMiAzNjhsNjUgMGMtNy4zIDMyLjEtMzYgNTYtNzAuMiA1NmMtMzkuOCAwLTcyLTMyLjItNzItNzJzMzIuMi03MiA3Mi03MmMxLjcgMCAzLjQgLjEgNS4xIC4ybC0yNC4yIDQ4LjVjLTkgMTguMSA0LjEgMzkuNCAyNC4zIDM5LjR6bTMzLjctNDhsNTAuNy0xMDEuMyA3Mi45IDEwMS4yLS4xIC4xLTEyMy41IDB6bTkwLjYtMTI4bDEwOC41IDBMMzE3IDI3NC44IDI1Ny40IDE5MnpcIl1cbn07XG5jb25zdCBmYVN0YWZmU25ha2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RhZmYtc25ha2UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcInJvZC1hc2NsZXBpdXNcIiwgXCJyb2Qtc25ha2VcIiwgXCJzdGFmZi1hZXNjdWxhcGl1c1wiXSwgXCJlNTc5XCIsIFwiTTIyMi42IDQzLjJsLS4xIDQuOEwyODggNDhjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTQwIDAgMC04MCA0MCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC00MCAwLTI4IDAtNC41IDE0NCA0MC41IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTE2IDAgMC04MCAxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC00MyAwLTMuMSA5OS41TDIwOC41IDQ5NWwwIDFjLS4zIDguOS03LjYgMTYtMTYuNSAxNnMtMTYuMi03LjEtMTYuNS0xNmwwLTEtMS0zMUwxMzYgNDY0Yy0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwbDM2IDAtMS0zMi0xOSAwYy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3LjEgODAtOTQuN2wwIDk0LjdjMCA4LjggNy4yIDE2IDE2IDE2bDE2LjUgMEwxNjQgMTI4bC0yOCAwLTEzLjQgMGMtOSAxOC45LTI4LjMgMzItNTAuNiAzMmwtMTYgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZTMjUuMSA0OCA1NiA0OGw4IDAgOCAwIDg5LjUgMC0uMS00LjhMMTYxIDMyYzAtLjcgMC0xLjMgMC0xLjljLjUtMTYuNiAxNC4xLTMwIDMxLTMwczMwLjUgMTMuNCAzMSAzMGMwIC42IDAgMS4zIDAgMS45bC0uNCAxMS4yek02NCAxMTJhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbmNvbnN0IGZhUm9kQXNjbGVwaXVzID0gZmFTdGFmZlNuYWtlO1xuY29uc3QgZmFSb2RTbmFrZSA9IGZhU3RhZmZTbmFrZTtcbmNvbnN0IGZhU3RhZmZBZXNjdWxhcGl1cyA9IGZhU3RhZmZTbmFrZTtcbmNvbnN0IGZhSGVhZFNpZGVDb3VnaFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWQtc2lkZS1jb3VnaC1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MlwiLCBcIk00NDggMzI1LjhsNDQgMzQuNWM4LjEgMS40IDE0LjggNi44IDE4IDE0LjFMNTUyLjkgNDA4YzEwLjYgLjQgMTkuNSA3LjYgMjIuMiAxNy40bDM5LjEgMzAuNmMuNiAwIDEuMi0uMSAxLjgtLjFjMTEuMSAwIDIwLjQgNy41IDIzLjIgMTcuOGwtMy45IDBjNi4yIDguNSA2LjQgMjAuNC0uNCAyOWMtOC4yIDEwLjQtMjMuMyAxMi4zLTMzLjcgNC4xTDkuMiA0Mi45Qy0xLjIgMzQuNy0zLjEgMTkuNiA1LjEgOS4yUzI4LjQtMy4xIDM4LjggNS4xTDg5LjYgNDQuOUMxMjcgMTYuNyAxNzMuNSAwIDIyNCAwbDI0IDBjOTUuMiAwIDE4MS4yIDY5LjMgMTk3LjMgMTYwLjJjMi4zIDEzIDYuOCAyNS43IDE1LjEgMzZsNDIgNTIuNmM2LjIgNy44IDkuNiAxNy40IDkuNiAyNy40YzAgMjQuMi0xOS42IDQzLjgtNDMuOCA0My44TDQ0OCAzMjBzMCAwIDAgMGwwIDUuOHpNMCAyMjQuMmMwLTM4LjcgOS44LTc1LjEgMjcuMS0xMDYuOUwzNDEuOCAzNjUuM2wtMi41IC4zYy0xMSAxLjQtMTkuMiAxMC43LTE5LjIgMjEuOGMwIDExLjYgOSAyMS4yIDIwLjYgMjEuOWw2MiAzLjkgNDMgMzMuOUM0MzkuMyA0NjYuMiA0MjEuMiA0ODAgNDAwIDQ4MGwtODAgMCAwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQwIDBzMCAwIDAgMEw5NiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzIuN2MwLTE2LjctNi45LTMyLjUtMTcuMS00NS44QzE2LjYgMzIyLjQgMCAyNzQuMSAwIDIyNC4yek02MTYgMzYwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTY0LTQ4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAtMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG5jb25zdCBmYVRydWNrTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1tZWRpY2FsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjU3LCBcImFtYnVsYW5jZVwiXSwgXCJmMGY5XCIsIFwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDM2OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDggNTAuNyAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDU4OS4zIDE5MmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zbDAgMTguNyAwIDMyIDAgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsLTEyOCAwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bC0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek00MTYgMjU2bDEyOCAwIDAtMTguN0w0NjYuNyAxNjAgNDE2IDE2MGwwIDk2ek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptMzY4LTQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTE3NiA4MGwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYUFtYnVsYW5jZSA9IGZhVHJ1Y2tNZWRpY2FsO1xuY29uc3QgZmFXaGVhdEF3bkNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OThcIiwgXCJNNTA1IDQxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMzgzIDk1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODgtODh6TTMwNS41IDI3LjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDI3MS41IDM4LjZjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44bC0xMS4zLTExLjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0xMS4zIDExLjNjLTM3LjUgMzcuNS0zNy41IDk4LjMgMCAxMzUuOGwxMC40IDEwLjQtMzAuNSAzMC41Yy0zLjQtMjcuMy0xNS41LTUzLjgtMzYuNS03NC44TDEwMS44IDIzMWMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNjcuOSAyNDIuM2MtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44bDEwLjQgMTAuNEw5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguOS02OC45IDEyLjIgMTIuMmMzNy41IDM3LjUgOTguMyAzNy41IDEzNS44IDBsMTEuMy0xMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMS4zLTExLjNjLTIxLjgtMjEuOC00OS42LTM0LjEtNzguMS0zNi45bDMxLjktMzEuOSAxMi4yIDEyLjJjMjIuNSAyMi41IDUzLjMgMzEuNSA4Mi40IDI3YzAtMSAwLTIuMSAwLTMuMWMwLTMzLjEgOS4xLTY0LjEgMjUtOTAuNmMtMTUuNS04LjctMzIuNS0xMy44LTQ5LjgtMTUuNWwzMS45LTMxLjkgMTIuMiAxMi4yYzYgNiAxMi42IDExLjEgMTkuNyAxNS4yYzI3LjUtMzQgNjcuMy01Ny41IDExMi42LTYzLjhjLTQuMS0zLjgtOC40LTcuMy0xMi45LTEwLjVMNTA1IDEzN2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01OS40IDU5LjRjLTIwLjYtNC40LTQyLTMuNy02Mi4zIDIuMWM2LjEtMjEuMyA2LjYtNDMuOCAxLjQtNjUuM0w0MDkgNDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwzMjkuMSA1Mi45Yy0zLjctNS03LjgtOS44LTEyLjQtMTQuM0wzMDUuNSAyNy4zek00OTYgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhU25vd21hbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbm93bWFuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTczMSwgOTkyNF0sIFwiZjdkMFwiLCBcIk0zNDEuMSAxNDAuNmMtMiAzLjktMS42IDguNiAxLjIgMTJjNyA4LjUgMTIuOSAxOC4xIDE3LjIgMjguNEw0MDggMTYwLjJsMC00MC4yYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxOS42IDIyLjUtOS43YzEyLjItNS4yIDI2LjMgLjQgMzEuNSAxMi42cy0uNCAyNi4zLTEyLjYgMzEuNWwtNTYgMjQtNzMuNiAzMS41Yy0uNSA5LjUtMi4xIDE4LjYtNC44IDI3LjNjLTEuMiAzLjgtLjEgOCAyLjggMTAuOEMzOTYuNyAyOTYuOSA0MTYgMzM4LjIgNDE2IDM4NGMwIDQ0LjctMTguMyA4NS00Ny44IDExNC4xYy05LjkgOS43LTIzLjcgMTMuOS0zNy41IDEzLjlsLTE0OS4zIDBjLTEzLjkgMC0yNy43LTQuMi0zNy41LTEzLjlDMTE0LjMgNDY5IDk2IDQyOC43IDk2IDM4NGMwLTQ1LjggMTkuMy04Ny4xIDUwLjEtMTE2LjNjMi45LTIuOCA0LTYuOSAyLjgtMTAuOGMtMi43LTguNy00LjMtMTcuOS00LjgtMjcuM0w3MC41IDE5OC4xbC01Ni0yNEMyLjQgMTY4LjgtMy4zIDE1NC43IDEuOSAxNDIuNXMxOS4zLTE3LjggMzEuNS0xMi42TDU2IDEzOS42IDU2IDEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAuMkwxNTIuNiAxODFjNC4zLTEwLjMgMTAuMS0xOS45IDE3LjItMjguNGMyLjgtMy40IDMuMy04LjEgMS4yLTEyQzE2NCAxMjcuMiAxNjAgMTEyLjEgMTYwIDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAxNi4xLTQgMzEuMi0xMC45IDQ0LjZ6TTIyNCA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTQ4IDEyOGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0tMTYgODBhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0xNiA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwek0yODggOTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0tNDggMjRsMCAzLjJjMCAzLjIgLjggNi4zIDIuMyA5bDkgMTYuOWMuOSAxLjcgMi43IDIuOCA0LjcgMi44czMuOC0xLjEgNC43LTIuOGw5LTE2LjljMS41LTIuOCAyLjMtNS45IDIuMy05bDAtMy4yYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2elwiXVxufTtcbmNvbnN0IGZhTW9ydGFyUGVzdGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vcnRhci1wZXN0bGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YTdcIiwgXCJNNTA0LjMgMTEuMUM0OTMuMy0xLjYgNDc0LjUtMy43IDQ2MSA2LjJMMjUyLjMgMTYwbDE0NC45IDBMNTAyLjYgNTQuNmMxMS44LTExLjggMTIuNi0zMC44IDEuNi00My41ek0zMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJjMCA4Mi41IDQzLjQgMTQ3LjcgMTIzLjkgMTc2LjJjLTExLjEgMTMuOS0xOS40IDMwLjMtMjMuOSA0OC4xQzEyNy42IDQ5Ny40IDE0Mi4zIDUxMiAxNjAgNTEybDE5MiAwYzE3LjcgMCAzMi40LTE0LjYgMjguMS0zMS43Yy00LjUtMTcuOC0xMi44LTM0LjEtMjMuOS00OC4xQzQzNi42IDQwMy43IDQ4MCAzMzguNSA0ODAgMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDE5MnpcIl1cbn07XG5jb25zdCBmYVJvYWRCYXJyaWVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtYmFycmllcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2MlwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xODEuN0wxNDkuMiA5NiA2NCA5NmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek00MDUuMiA5NmwtNzQuMyAwLTUuNCAxMC43TDIzNC44IDI4OGw3NC4zIDAgNS40LTEwLjdMNDA1LjIgOTZ6TTM2Mi44IDI4OGw3NC4zIDAgNS40LTEwLjdMNTMzLjIgOTZsLTc0LjMgMC01LjQgMTAuN0wzNjIuOCAyODh6TTIwMi44IDk2bC01LjQgMTAuN0wxMDYuOCAyODhsNzQuMyAwIDUuNC0xMC43TDI3Ny4yIDk2bC03NC4zIDB6bTI4OCAxOTJsODUuMiAwIDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA1My43TDQ5MC44IDI4OHpcIl1cbn07XG5jb25zdCBmYVNjaG9vbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5NzldLCBcImY1NDlcIiwgXCJNMzM3LjggNS40QzMyNy0xLjggMzEzLTEuOCAzMDIuMiA1LjRMMTY2LjMgOTYgNDggOTZDMjEuNSA5NiAwIDExNy41IDAgMTQ0TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIwOCAwIDAtOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDk2IDIwOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzIwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ3My43IDk2IDMzNy44IDUuNHpNOTYgMTkybDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZ6bTQwMCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0ek05NiAzMjBsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNnptNDAwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDY0YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjR6TTIzMiAxNzZhODggODggMCAxIDEgMTc2IDAgODggODggMCAxIDEgLTE3NiAwem04OC00OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDAgMC0xNmMwLTguOC03LjItMTYtMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFJZ2xvbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpZ2xvbycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjdhZVwiLCBcIk0zMjAgMzMuOEwzMjAgMTYwIDQ4LjUgMTYwQzEwMC4yIDgyLjggMTg4LjEgMzIgMjg4IDMyYzEwLjggMCAyMS41IC42IDMyIDEuOHpNMzUyIDE2MGwwLTEyMC45QzQyNC45IDU1LjcgNDg3LjIgOTkuOCA1MjcuNSAxNjBMMzUyIDE2MHpNMjkuOSAxOTJMOTYgMTkybDAgMTI4TDAgMzIwYzAtNDYgMTAuOC04OS40IDI5LjktMTI4ek0xOTIgMzIwbC02NCAwIDAtMTI4IDMyMCAwIDAgMTI4LTY0IDAgMCAzMiAxOTIgMCAwIDgwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNzYgMCAwLTEyOGMwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NGwwIDEyOEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtODAgMTkyIDAgMC0zMnptMjg4IDBsMC0xMjggNjYuMSAwYzE5LjIgMzguNiAyOS45IDgyIDI5LjkgMTI4bC05NiAwelwiXVxufTtcbmNvbnN0IGZhSm9pbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnam9pbnQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1OTVcIiwgXCJNNDQ4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTFjMCA1NS4yIDIxLjkgMTA4LjEgNjAuOSAxNDcuMWwyMSAyMWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOWwwIDExYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMWMwLTI5LjctMTEuOC01OC4yLTMyLjgtNzkuMmwtMjEtMjFDNDYzLjIgMTE3LjggNDQ4IDgxLjIgNDQ4IDQzbDAtMTF6TTU3NiAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTExYzAtNTUuMi0yMS45LTEwOC4xLTYwLjktMTQ3LjFsLTIxLTIxYy05LTktMTQuMS0yMS4yLTE0LjEtMzMuOWwwLTExYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTFjMCAyOS43IDExLjggNTguMiAzMi44IDc5LjJsMjEgMjFjMjcgMjcgNDIuMiA2My42IDQyLjIgMTAxLjhsMCAxMXpNMjI5LjggMzYwYy00LjctMi4zLTEwLTIuNy0xNS4yLTJjLTM3LjggNS42LTc1LjIgMTQuMy0xMDYuOSAyMi44QzgxLjMgMzg4IDU4LjMgMzk1LjEgNDIgNDAwLjRjLTguMiAyLjctMTQuNyA0LjktMTkuMiA2LjVjLTIuMyAuOC00IDEuNC01LjIgMS44bC0xLjMgLjVDNi44IDQxMi41IDAgNDIxLjQgMCA0MzJzNi44IDE5LjUgMTYuMyAyMi43bDEuMyAuNWMxLjIgLjQgMyAxLjEgNS4yIDEuOGM0LjUgMS42IDExIDMuOCAxOS4yIDYuNWMxNi4zIDUuNCAzOS4yIDEyLjUgNjUuNyAxOS42QzE2MC4zIDQ5Ny4zIDIyOC44IDUxMiAyODggNTEybDY3LjMgMGM0LjEgMCA2LjMtNS4xIDMuNi04LjNMMjU2LjUgMzgwLjhjLTcuNC04LjktMTYuNS0xNS45LTI2LjctMjAuOHpNNDQ1IDUxMmwxOSAwIDUxLjMgMGM0LjEgMCA2LjMtNS4xIDMuNi04LjNMNDE2LjUgMzgwLjhDNDAxLjMgMzYyLjUgMzc4LjggMzUyIDM1NSAzNTJsLTE5IDAtNDggMGMtMS4xIDAtMi4zIDAtMy40IDBjLTQuMSAwLTYuMiA1LjEtMy41IDguM0wzODMuNSA0ODMuMkMzOTguNyA1MDEuNSA0MjEuMiA1MTIgNDQ1IDUxMnptLTMuOS0xNTEuN0w1NDMuNSA0ODMuMmMxNC42IDE3LjUgMzUuOSAyNy45IDU4LjYgMjguN2MyMS4xLTEuMSAzNy45LTE4LjYgMzcuOS0zOS45bDAtODBjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTE1NS4zIDBjLTQuMSAwLTYuMyA1LjEtMy42IDguM3pcIl1cbn07XG5jb25zdCBmYUFuZ2xlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtcmlnaHQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs4MjUwXSwgXCJmMTA1XCIsIFwiTTI3OC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyMTAuNyAyNTYgNzMuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwelwiXVxufTtcbmNvbnN0IGZhSG9yc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9yc2UnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMTRdLCBcImY2ZjBcIiwgXCJNNDQ4IDIzOC4xbDAtNzguMSAxNiAwIDkuOCAxOS42YzEyLjUgMjUuMSA0Mi4yIDM2LjQgNjguMyAyNmMyMC41LTguMiAzMy45LTI4IDMzLjktNTAuMUw1NzYgODBjMC0xOS4xLTguNC0zNi4zLTIxLjctNDhsNS43IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMNDgwIDAgNDQ4IDBDMzc3LjMgMCAzMjAgNTcuMyAzMjAgMTI4bC05NiAwLTIwLjggMC01NC40IDBjLTMwLjcgMC01Ny42IDE2LjMtNzIuNSA0MC44QzMzLjIgMTc0LjUgMCAyMTEuNCAwIDI1NmwwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC01NmMwLTEzLjQgNi42LTI1LjIgMTYuNy0zMi41YzEuNiAxMyA2LjMgMjUuNCAxMy42IDM2LjRsMjguMiA0Mi40YzguMyAxMi40IDYuNCAyOC43LTEuMiA0MS42Yy0xNi41IDI4LTIwLjYgNjIuMi0xMCA5My45bDE3LjUgNTIuNGM0LjQgMTMuMSAxNi42IDIxLjkgMzAuNCAyMS45bDMzLjcgMGMyMS44IDAgMzcuMy0yMS40IDMwLjQtNDIuMWwtMjAuOC02Mi41Yy0yLjEtNi40LS41LTEzLjQgNC4zLTE4LjJsMTIuNy0xMi43YzEzLjItMTMuMiAyMC42LTMxLjEgMjAuNi00OS43YzAtMi4zLS4xLTQuNi0uMy02LjlsODQgMjRjNC4xIDEuMiA4LjIgMi4xIDEyLjMgMi44TDMyMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2NC4zYzE5LjItMTkuMiAzMS41LTQ1LjcgMzItNzUuN2MwIDAgMCAwIDAgMGwwLTEuOXpNNDk2IDY0YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG5jb25zdCBmYVEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncScsXG4gIGljb246IFs0NDgsIDUxMiwgWzExM10sIFwiNTFcIiwgXCJNNjQgMjU2YzAgODguNCA3MS42IDE2MCAxNjAgMTYwYzI4LjkgMCA1Ni03LjcgNzkuNC0yMS4xbC03Mi04Ni40Yy0xMS4zLTEzLjYtOS41LTMzLjggNC4xLTQ1LjFzMzMuOC05LjUgNDUuMSA0LjFsNzAuOSA4NS4xQzM3MS45IDMyNS44IDM4NCAyOTIuMyAzODQgMjU2YzAtODguNC03MS42LTE2MC0xNjAtMTYwUzY0IDE2Ny42IDY0IDI1NnpNMzQ0LjkgNDQ0LjZDMzEwIDQ2NyAyNjguNSA0ODAgMjI0IDQ4MEMxMDAuMyA0ODAgMCAzNzkuNyAwIDI1NlMxMDAuMyAzMiAyMjQgMzJzMjI0IDEwMC4zIDIyNCAyMjRjMCA1Ni4xLTIwLjYgMTA3LjQtNTQuNyAxNDYuN2w0Ny4zIDU2LjhjMTEuMyAxMy42IDkuNSAzMy44LTQuMSA0NS4xcy0zMy44IDkuNS00NS4xLTQuMWwtNDYuNi01NS45elwiXVxufTtcbmNvbnN0IGZhRyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTAzXSwgXCI0N1wiLCBcIk0yMjQgOTZDMTM1LjYgOTYgNjQgMTY3LjYgNjQgMjU2czcxLjYgMTYwIDE2MCAxNjBjNzcuNCAwIDE0Mi01NSAxNTYuOC0xMjhMMjU2IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNDQgMGMyNS44IDAgNDkuNiAyMS40IDQ3LjIgNTAuNkM0MzcuOCAzODkuNiAzNDEuNCA0ODAgMjI0IDQ4MEMxMDAuMyA0ODAgMCAzNzkuNyAwIDI1NlMxMDAuMyAzMiAyMjQgMzJjNTcuNCAwIDEwOS43IDIxLjYgMTQ5LjMgNTdjMTMuMiAxMS44IDE0LjMgMzIgMi41IDQ1LjJzLTMyIDE0LjMtNDUuMiAyLjVDMzAyLjMgMTExLjQgMjY1IDk2IDIyNCA5NnpcIl1cbn07XG5jb25zdCBmYU5vdGVzTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdub3Rlcy1tZWRpY2FsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDgxXCIsIFwiTTk2IDM1Mkw5NiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyNTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5Ny41YzAgMTctNi43IDMzLjMtMTguNyA0NS4zbC01OC41IDU4LjVjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMMTYwIDQxNmMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTI3MiAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTI0IDMzNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYwIDBDNjAuOSA1MTIgMCA0NTEuMSAwIDM3NkwwIDE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjI0YzAgNDguNiAzOS40IDg4IDg4IDg4bDE2MCAwelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVIYWxmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWhhbGYnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjc3NzcsIFwidGVtcGVyYXR1cmUtMlwiLCBcInRoZXJtb21ldGVyLTJcIiwgXCJ0aGVybW9tZXRlci1oYWxmXCJdLCBcImYyYzlcIiwgXCJNMTYwIDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2NC41YzAgMTcuMy03LjEgMzEuOS0xNS4zIDQyLjVDODYuMiAzMzIuNiA4MCAzNDkuNSA4MCAzNjhjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTE4LjUtNi4yLTM1LjQtMTYuNy00OC45Yy04LjItMTAuNi0xNS4zLTI1LjItMTUuMy00Mi41TDIwOCAxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTQ4IDExMkM0OCA1MC4yIDk4LjEgMCAxNjAgMHMxMTIgNTAuMSAxMTIgMTEybDAgMTY0LjRjMCAuMSAuMSAuMyAuMiAuNmMuMiAuNiAuOCAxLjYgMS43IDIuOGMxOC45IDI0LjQgMzAuMSA1NSAzMC4xIDg4LjFjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTYgNDQ3LjUgMTYgMzY4YzAtMzMuMiAxMS4yLTYzLjggMzAuMS04OC4xYy45LTEuMiAxLjUtMi4yIDEuNy0yLjhjLjEtLjMgLjItLjUgLjItLjZMNDggMTEyek0yMDggMzY4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM0wxNDQgMjA4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMTQuN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjN6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZTIgPSBmYVRlbXBlcmF0dXJlSGFsZjtcbmNvbnN0IGZhVGhlcm1vbWV0ZXIyID0gZmFUZW1wZXJhdHVyZUhhbGY7XG5jb25zdCBmYVRoZXJtb21ldGVySGFsZiA9IGZhVGVtcGVyYXR1cmVIYWxmO1xuY29uc3QgZmFEb25nU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb25nLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxNjlcIiwgXCJNMjg4IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgNDkuMWMtMTguOC0xMC45LTQwLjctMTcuMS02NC0xNy4xYy03MC43IDAtMTI4IDU3LjMtMTI4IDEyOHM1Ny4zIDEyOCAxMjggMTI4YzI0LjUgMCA0Ny40LTYuOSA2Ni44LTE4LjhjNSAxMS4xIDE2LjIgMTguOCAyOS4yIDE4LjhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NiAwLTE2MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMTI4IDI4OGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0NDh6XCJdXG59O1xuY29uc3QgZmFDYXBzdWxlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXBzdWxlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjQ2YlwiLCBcIk02NCAxNDRjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMi05NiAwIDAtMTEyek0wIDE0NEwwIDM2OGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMnMxMTItNTAuMSAxMTItMTEybDAtMTc4LjRjMS44IDE5LjEgOC4yIDM4IDE5LjggNTQuOEwzNzIuMyA0MzEuN2MzNS41IDUxLjcgMTA1LjMgNjQuMyAxNTYgMjguMXM2My0xMDcuNSAyNy41LTE1OS4yTDQyNy4zIDExMy4zQzM5MS44IDYxLjUgMzIxLjkgNDkgMjcxLjMgODUuMmMtMjggMjAtNDQuMyA1MC44LTQ3LjMgODNsMC0yNC4yYzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzAgODIuMSAwIDE0NHptMjk2LjYgNjQuMmMtMTYtMjMuMy0xMC01NS4zIDExLjktNzFjMjEuMi0xNS4xIDUwLjUtMTAuMyA2NiAxMi4ybDY3IDk3LjZMMzYxLjYgMzAzbC02NS05NC44ek00OTEgNDA3LjdjLS44IC42LTEuNiAxLjEtMi40IDEuNmw0LTIuOGMtLjUgLjQtMSAuOC0xLjYgMS4yelwiXVxufTtcbmNvbnN0IGZhUG9vU3Rvcm0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncG9vLXN0b3JtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJwb28tYm9sdFwiXSwgXCJmNzVhXCIsIFwiTTIzNi45IC4yYy01LjUtLjctMTEgMS40LTE0LjUgNS43cy00LjYgMTAuMS0yLjggMTUuM2MyLjggOC4yIDQuMyAxNi45IDQuMyAyNi4xYzAgMjEuNy04LjUgMzcuMi0yMS45IDQ3LjZjLTEzLjggMTAuOC0zNCAxNy01Ny44IDE3TDEyOCAxMTJjLTM1LjMgMC02NCAyOC43LTY0IDY0YzAgMTIuMiAzLjQgMjMuNSA5LjMgMzMuMkMzMS43IDIxNi4yIDAgMjUyLjQgMCAyOTZjMCA0MC45IDI4IDc1LjQgNjUuOCA4NS4yYy01LjMtMTguNSAxLTM4LjUgMTYuMi01MC43bDE2MC0xMjhjMTcuNi0xNC4xIDQyLjYtMTQgNjAuMiAuMnMyMi44IDM4LjYgMTIuOCA1OC44TDI4NS43IDMyMGwxOC4zIDBjMjAuNCAwIDM4LjUgMTIuOSA0NS4zIDMyLjFjMy43IDEwLjYgMy41IDIxLjggMCAzMS45bDEwLjcgMGM0OC42IDAgODgtMzkuNCA4OC04OGMwLTQzLjYtMzEuNy03OS44LTczLjMtODYuOGM1LjktOS43IDkuMy0yMS4xIDkuMy0zMy4yYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xLjQgMGMuOS01LjQgMS40LTEwLjkgMS40LTE2LjZjMC00OC43LTM2LjEtODguOS04My4xLTk1LjJ6bTQ1LjEgMjI3LjRjLTUuOC00LjctMTQuMi00LjctMjAuMS0uMWwtMTYwIDEyOGMtNS4zIDQuMi03LjQgMTEuNC01LjEgMTcuOHM4LjMgMTAuNyAxNS4xIDEwLjdsNzAuMSAwTDEyOS43IDQ4OC44Yy0zLjQgNi43LTEuNiAxNC45IDQuMyAxOS42czE0LjIgNC43IDIwLjEgLjFsMTYwLTEyOGM1LjMtNC4yIDcuNC0xMS40IDUuMS0xNy44cy04LjMtMTAuNy0xNS4xLTEwLjdsLTcwLjEgMCA1Mi40LTEwNC44YzMuNC02LjcgMS42LTE0LjktNC4zLTE5LjZ6XCJdXG59O1xuY29uc3QgZmFQb29Cb2x0ID0gZmFQb29TdG9ybTtcbmNvbnN0IGZhRmFjZUZyb3duT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWZyb3duLW9wZW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NTAsIFwiZnJvd24tb3BlblwiXSwgXCJmNTdhXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYuNCAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptLTEyMiAxNzQuNWMtMTIuNCA1LjItMjYuNS00LjEtMjEuMS0xNi40YzE2LTM2LjYgNTIuNC02Mi4xIDk0LjgtNjIuMXM3OC44IDI1LjYgOTQuOCA2Mi4xYzUuNCAxMi4zLTguNyAyMS42LTIxLjEgMTYuNGMtMjIuNC05LjUtNDcuNC0xNC44LTczLjctMTQuOHMtNTEuMyA1LjMtNzMuNyAxNC44elwiXVxufTtcbmNvbnN0IGZhRnJvd25PcGVuID0gZmFGYWNlRnJvd25PcGVuO1xuY29uc3QgZmFIYW5kUG9pbnRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBvaW50LXVwJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbOTc1N10sIFwiZjBhNlwiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwUzk2IDE0LjMgOTYgMzJsMCAyMDgtNjQgMEwzMiAzMnpNMjI0IDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptLTY0LTY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTYwIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNmMxMy4yIDAgMjUuNC00IDM1LjYtMTAuOGM4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44YzExLjcgMCAyMi42LTMuMSAzMi04LjZsMCA4LjZjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBsLTYxLjcgMGMtNDIuNCAwLTgzLjEtMTYuOS0xMTMuMS00Ni45TDM3LjUgNDUzLjVDMTMuNSA0MjkuNSAwIDM5Ni45IDAgMzYzbDAtMjdjMC0zNS4zIDI4LjctNjQgNjQtNjRsODggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcyelwiXVxufTtcbmNvbnN0IGZhTW9uZXlCaWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYwZDZcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTY0IDMyMGwtNjQgMCAwLTY0YzM1LjMgMCA2NCAyOC43IDY0IDY0ek02NCAxOTJsMC02NCA2NCAwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek00NDggMzg0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDAgNjQtNjQgMHptNjQtMTkyYy0zNS4zIDAtNjQtMjguNy02NC02NGw2NCAwIDAgNjR6TTI4OCAxNjBhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6XCJdXG59O1xuY29uc3QgZmFCb29rbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rbWFyaycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODI3OCwgNjE1OTFdLCBcImYwMmVcIiwgXCJNMCA0OFY0ODcuN0MwIDUwMS4xIDEwLjkgNTEyIDI0LjMgNTEyYzUgMCA5LjktMS41IDE0LTQuNEwxOTIgNDAwIDM0NS43IDUwNy42YzQuMSAyLjkgOSA0LjQgMTQgNC40YzEzLjQgMCAyNC4zLTEwLjkgMjQuMy0yNC4zVjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4QzIxLjUgMCAwIDIxLjUgMCA0OHpcIl1cbn07XG5jb25zdCBmYUFsaWduSnVzdGlmeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbGlnbi1qdXN0aWZ5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDM5XCIsIFwiTTQ0OCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTAgMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpNMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNNDQ4IDQ0OGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFVbWJyZWxsYUJlYWNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VtYnJlbGxhLWJlYWNoJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTU4XSwgXCJmNWNhXCIsIFwiTTM0Ni4zIDI3MS44bC02MC4xLTIxLjlMMjE0IDQ0OCAzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI2MS45IDAgNjQuMS0xNzYuMnptMTIxLjEtLjJsLTMuMyA5LjEgNjcuNyAyNC42YzE4LjEgNi42IDM4LTQuMiAzOS42LTIzLjRjNi41LTc4LjUtMjMuOS0xNTUuNS04MC44LTIwOC41YzIgOCAzLjIgMTYuMyAzLjQgMjQuOGwuMiA2YzEuOCA1Ny03LjMgMTEzLjgtMjYuOCAxNjcuNHpNNDYyIDk5LjFjLTEuMS0zNC40LTIyLjUtNjQuOC01NC40LTc3LjRjLS45LS40LTEuOS0uNy0yLjgtMS4xYy0zMy0xMS43LTY5LjgtMi40LTkzLjEgMjMuOGwtNCA0LjVDMjcyLjQgODguMyAyNDUgMTM0LjIgMjI2LjggMTg0bC0zLjMgOS4xTDQzNCAyNjkuN2wzLjMtOS4xYzE4LjEtNDkuOCAyNi42LTEwMi41IDI0LjktMTU1LjVsLS4yLTZ6TTEwNy4yIDExMi45Yy0xMS4xIDE1LjctMi44IDM2LjggMTUuMyA0My40bDcxIDI1LjggMy4zLTkuMWMxOS41LTUzLjYgNDkuMS0xMDMgODcuMS0xNDUuNWw0LTQuNWM2LjItNi45IDEzLjEtMTMgMjAuNS0xOC4yYy03OS42IDIuNS0xNTQuNyA0Mi4yLTIwMS4yIDEwOHpcIl1cbn07XG5jb25zdCBmYUhlbG1ldFVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlbG1ldC11bicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUwM1wiLCBcIk00NzkuNSAyMjRDNDcxLjIgOTguOSAzNjcuMiAwIDI0MCAwQzEwNy41IDAgMCAxMDcuNSAwIDI0MGwwIDU2LjNDMCAzNDQuOCAzOS4yIDM4NCA4Ny43IDM4NEwyMDAgMzg0bDE0LjkgMEwzNDMuNSA1MDUuNGM0LjUgNC4yIDEwLjQgNi42IDE2LjUgNi42bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg2LjUgMC0xLjUtMS41TDM2OCAyODhsODAgMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0uNSAwek0zMjAgNDE3LjJsLTc4LTczLjdMMjc0LjQgMjg4bDQ1LjYgMCAwIDEyOS4yek0yODUuMyAxMDMuMWwzNC43IDUyIDAtNDMuMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgOTZjMCA3LjEtNC42IDEzLjMtMTEuNCAxNS4zcy0xNC0uNi0xNy45LTYuNGwtMzQuNy01MiAwIDQzLjJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTcuMSA0LjYtMTMuMyAxMS40LTE1LjNzMTQgLjYgMTcuOSA2LjR6TTE2MCAxMTJsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG5jb25zdCBmYUJ1bGxzZXllID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1bGxzZXllJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMTQwXCIsIFwiTTQ0OCAyNTZBMTkyIDE5MiAwIDEgMCA2NCAyNTZhMTkyIDE5MiAwIDEgMCAzODQgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0yNTYgODBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHpNMjI0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbmNvbnN0IGZhQmFjb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFjb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjkzNjNdLCBcImY3ZTVcIiwgXCJNNDM5LjIgMS4yYzExLjItMy4yIDIzLjItLjEgMzEuNCA4LjFMNTE4IDU2LjdsLTI2LjUgNy45Yy01OCAxNi42LTk4LjEgMzkuNi0xMjkuNiA2Ny40Yy0zMS4yIDI3LjUtNTMuMiA1OS4xLTc1LjEgOTAuOWwtMi4zIDMuM0MyNDEuNiAyODguNyAxOTUgMzU2LjYgNzIuOCA0MTcuN0wzNy45IDQzNS4yIDkuNCA0MDYuNmMtNy4zLTcuMy0xMC42LTE3LjYtOS0yNy44czguMS0xOC45IDE3LjMtMjMuNUMxMzYuMSAyOTYuMiAxODAuOSAyMzEgMjIzLjMgMTY5LjNsMi4zLTMuNGMyMS44LTMxLjggNDQuOS02NC45IDc3LjctOTMuOWMzMy40LTI5LjUgNzUuOC01My42IDEzNS45LTcwLjh6TTYxLjggNDU5bDI1LjQtMTIuN2MxMjkuNS02NC43IDE3OS45LTEzOC4xIDIyMy44LTIwMmwyLjItMy4zYzIyLjEtMzIuMSA0Mi4xLTYwLjUgNjkuOS04NS4xYzI3LjUtMjQuMyA2My40LTQ1LjIgMTE3LjMtNjAuNmMwIDAgMCAwIDAgMGwuMi0uMSA0My4xLTEyLjkgMjMgMjNjOCA4IDExLjIgMTkuNyA4LjMgMzAuN3MtMTEuMyAxOS42LTIyLjIgMjIuN2MtNTEuOSAxNC44LTg1LjYgMzQuNy0xMTEuMSA1Ny4yYy0yNi4xIDIzLTQ1LjEgNDkuOS02Ny4zIDgyLjFsLTIuMiAzLjJDMzI3LjggMzY1LjkgMjc1LjUgNDQyIDE0Mi4zIDUwOC42Yy0xMi4zIDYuMi0yNy4yIDMuNy0zNi45LTZMNjEuOCA0NTl6XCJdXG59O1xuY29uc3QgZmFIYW5kUG9pbnREb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtcG9pbnQtZG93bicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjBhN1wiLCBcIk0zMiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIwOC02NCAwIDAgMjA4ek0yMjQgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0em0tNjQgNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyem0xNjAtOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjR6bS05Ni04OGwwIC42YzkuNC01LjQgMjAuMy04LjYgMzItOC42YzEzLjIgMCAyNS40IDQgMzUuNiAxMC44YzguNy0yNC45IDMyLjUtNDIuOCA2MC40LTQyLjhjMTEuNyAwIDIyLjYgMy4xIDMyIDguNmwwLTguNkMzODQgNzEuNiAzMTIuNCAwIDIyNCAwTDE2Mi4zIDBDMTE5LjggMCA3OS4xIDE2LjkgNDkuMSA0Ni45TDM3LjUgNTguNUMxMy41IDgyLjUgMCAxMTUuMSAwIDE0OWwwIDI3YzAgMzUuMyAyOC43IDY0IDY0IDY0bDg4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBsLTU2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNTYgMGMzOS44IDAgNzIgMzIuMiA3MiA3MnpcIl1cbn07XG5jb25zdCBmYUFycm93VXBGcm9tQnJhY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1mcm9tLWJyYWNrZXQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwOWFcIiwgXCJNMjQ2LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIgMTA5LjMgMTkyIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjEwLjcgNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjh6TTY0IDM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0elwiXVxufTtcbmNvbnN0IGZhRm9sZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE5MywgMTI4NDQ3LCA2MTcxNiwgXCJmb2xkZXItYmxhbmtcIl0sIFwiZjA3YlwiLCBcIk02NCA0ODBINDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0VjE2MGMwLTM1LjMtMjguNy02NC02NC02NEgyODhjLTEwLjEgMC0xOS42LTQuNy0yNS42LTEyLjhMMjQzLjIgNTcuNkMyMzEuMSA0MS41IDIxMi4xIDMyIDE5MiAzMkg2NEMyOC43IDMyIDAgNjAuNyAwIDk2VjQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NHpcIl1cbn07XG5jb25zdCBmYUZvbGRlckJsYW5rID0gZmFGb2xkZXI7XG5jb25zdCBmYUZpbGVXYXZlZm9ybSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXdhdmVmb3JtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJmaWxlLW1lZGljYWwtYWx0XCJdLCBcImY0NzhcIiwgXCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDIyNCAxMTIgMGM2LjEgMCAxMS42IDMuNCAxNC4zIDguOEwxNzYgMzMyLjJsNDkuNy05OS40YzIuNy01LjQgOC4zLTguOCAxNC4zLTguOHMxMS42IDMuNCAxNC4zIDguOEwyODEuOSAyODhsNzAuMSAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC04MCAwYy02LjEgMC0xMS42LTMuNC0xNC4zLTguOEwyNDAgMjc1LjhsLTQ5LjcgOTkuNGMtMi43IDUuNC04LjMgOC44LTE0LjMgOC44cy0xMS42LTMuNC0xNC4zLTguOEwxMzQuMSAzMjAgMzIgMzIwbDAgMTI4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyNTYgMCA5NiAwek0yODggMGwwIDEyOCAxMjggMEwyODggMHpcIl1cbn07XG5jb25zdCBmYUZpbGVNZWRpY2FsQWx0ID0gZmFGaWxlV2F2ZWZvcm07XG5jb25zdCBmYVJhZGlhdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyYWRpYXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3YjlcIiwgXCJNMjE2IDE4Ni43Yy0yMy45IDEzLjgtNDAgMzkuNy00MCA2OS4zTDMyIDI1NkMxNC4zIDI1Ni0uMiAyNDEuNiAyIDIyNC4xQzEwLjcgMTU0IDQ3LjggOTIuNyAxMDEuMyA1MmMxNC4xLTEwLjcgMzMuOC01LjMgNDIuNyAxMGw3MiAxMjQuN3pNMjU2IDMzNmMxNC42IDAgMjguMi0zLjkgNDAtMTAuN2w3MiAxMjQuOGM4LjggMTUuMyAzLjcgMzUuMS0xMi42IDQxLjljLTMwLjYgMTIuOS02NC4yIDIwLTk5LjQgMjBzLTY4LjktNy4xLTk5LjQtMjBjLTE2LjMtNi45LTIxLjQtMjYuNi0xMi42LTQxLjlsNzItMTI0LjhjMTEuOCA2LjggMjUuNCAxMC43IDQwIDEwLjd6bTIyNC04MGwtMTQ0IDBjMC0yOS42LTE2LjEtNTUuNS00MC02OS4zTDM2OCA2MmM4LjgtMTUuMyAyOC42LTIwLjcgNDIuNy0xMGM1My42IDQwLjcgOTAuNiAxMDIgOTkuNCAxNzIuMWMyLjIgMTcuNS0xMi40IDMxLjktMzAgMzEuOXpNMjU2IDIwOGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFDaGFydFNpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFydC1zaW1wbGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU0NzNcIiwgXCJNMTYwIDgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzUyek0wIDI3MmMwLTI2LjUgMjEuNS00OCA0OC00OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDI3MnpNMzY4IDk2bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyODhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjg4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhTWFyc1N0cm9rZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLXN0cm9rZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4OTRdLCBcImYyMjlcIiwgXCJNMzc2IDBjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzMuNCAzMy40TDM3MC4zIDk2LjQgMzQ1IDcxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDI1LjQgMjUuNEwzMDcuOCAxNTljLTI4LjQtMTkuNS02Mi43LTMxLTk5LjgtMzFjLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2czc4LjggMTc2IDE3NiAxNzZzMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDI4LjYtMjguNkw0MDcgMjAxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMjUuNC0yNS40IDIyLjEtMjIuMUw0NzEgMTUzYzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzNzYgMHptODggNDhzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDB6TTk2IDMwNGExMTIgMTEyIDAgMSAxIDIyNCAwQTExMiAxMTIgMCAxIDEgOTYgMzA0elwiXVxufTtcbmNvbnN0IGZhVmlhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWFsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTE0XSwgXCJmNDkyXCIsIFwiTTM0Mi42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNEwyOC4xIDM0Mi42QzEwLjEgMzYwLjYgMCAzODUgMCA0MTAuNUwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDUuNSAwYzI1LjUgMCA0OS45LTEwLjEgNjcuOS0yOC4xTDQ0OCAyMDUuM2w5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTMyLTMyLTk2LTk2LTMyLTMyek0yMDUuMyAyNTZMMzUyIDEwOS4zIDQwMi43IDE2MGwtOTYgOTYtMTAxLjUgMHpcIl1cbn07XG5jb25zdCBmYUdhdWdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dhdWdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkYXNoYm9hcmRcIiwgXCJnYXVnZS1tZWRcIiwgXCJ0YWNob21ldGVyLWFsdC1hdmVyYWdlXCJdLCBcImY2MjRcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0zMjAgOTZjMC0yNi45LTE2LjUtNDkuOS00MC01OS4zTDI4MCA4OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwNC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjNjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMTQ0IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bS0xNiA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yODggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek00MDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFEYXNoYm9hcmQgPSBmYUdhdWdlO1xuY29uc3QgZmFHYXVnZU1lZCA9IGZhR2F1Z2U7XG5jb25zdCBmYVRhY2hvbWV0ZXJBbHRBdmVyYWdlID0gZmFHYXVnZTtcbmNvbnN0IGZhV2FuZE1hZ2ljU3BhcmtsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2FuZC1tYWdpYy1zcGFya2xlcycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibWFnaWMtd2FuZC1zcGFya2xlc1wiXSwgXCJlMmNhXCIsIFwiTTIzNC43IDQyLjdMMTk3IDU2LjhjLTMgMS4xLTUgNC01IDcuMnMyIDYuMSA1IDcuMmwzNy43IDE0LjFMMjQ4LjggMTIzYzEuMSAzIDQgNSA3LjIgNXM2LjEtMiA3LjItNWwxNC4xLTM3LjdMMzE1IDcxLjJjMy0xLjEgNS00IDUtNy4ycy0yLTYuMS01LTcuMkwyNzcuMyA0Mi43IDI2My4yIDVjLTEuMS0zLTQtNS03LjItNXMtNi4xIDItNy4yIDVMMjM0LjcgNDIuN3pNNDYuMSAzOTUuNGMtMTguNyAxOC43LTE4LjcgNDkuMSAwIDY3LjlsMzQuNiAzNC42YzE4LjcgMTguNyA0OS4xIDE4LjcgNjcuOSAwTDUyOS45IDExNi41YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45TDQ5NS4zIDE0LjFjLTE4LjctMTguNy00OS4xLTE4LjctNjcuOSAwTDQ2LjEgMzk1LjR6TTQ4NC42IDgyLjZsLTEwNSAxMDUtMjMuMy0yMy4zIDEwNS0xMDUgMjMuMyAyMy4zek03LjUgMTE3LjJDMyAxMTguOSAwIDEyMy4yIDAgMTI4czMgOS4xIDcuNSAxMC44TDY0IDE2MGwyMS4yIDU2LjVjMS43IDQuNSA2IDcuNSAxMC44IDcuNXM5LjEtMyAxMC44LTcuNUwxMjggMTYwbDU2LjUtMjEuMmM0LjUtMS43IDcuNS02IDcuNS0xMC44cy0zLTkuMS03LjUtMTAuOEwxMjggOTYgMTA2LjggMzkuNUMxMDUuMSAzNSAxMDAuOCAzMiA5NiAzMnMtOS4xIDMtMTAuOCA3LjVMNjQgOTYgNy41IDExNy4yem0zNTIgMjU2Yy00LjUgMS43LTcuNSA2LTcuNSAxMC44czMgOS4xIDcuNSAxMC44TDQxNiA0MTZsMjEuMiA1Ni41YzEuNyA0LjUgNiA3LjUgMTAuOCA3LjVzOS4xLTMgMTAuOC03LjVMNDgwIDQxNmw1Ni41LTIxLjJjNC41LTEuNyA3LjUtNiA3LjUtMTAuOHMtMy05LjEtNy41LTEwLjhMNDgwIDM1MmwtMjEuMi01Ni41Yy0xLjctNC41LTYtNy41LTEwLjgtNy41cy05LjEgMy0xMC44IDcuNUw0MTYgMzUybC01Ni41IDIxLjJ6XCJdXG59O1xuY29uc3QgZmFNYWdpY1dhbmRTcGFya2xlcyA9IGZhV2FuZE1hZ2ljU3BhcmtsZXM7XG5jb25zdCBmYUUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZScsXG4gIGljb246IFszMjAsIDUxMiwgWzEwMV0sIFwiNDVcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDI1NiAwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw2NCA0MTZsMC0xMjggMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMjI0IDY0IDk2bDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDY0IDMyelwiXVxufTtcbmNvbnN0IGZhUGVuQ2xpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4tY2xpcCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wicGVuLWFsdFwiXSwgXCJmMzA1XCIsIFwiTTQ1My4zIDE5LjNsMzkuNCAzOS40YzI1IDI1IDI1IDY1LjUgMCA5MC41bC01Mi4xIDUyLjFzMCAwIDAgMGwtMS0xczAgMCAwIDBsLTE2LTE2LTk2LTk2LTE3LTE3IDUyLjEtNTIuMWMyNS0yNSA2NS41LTI1IDkwLjUgMHpNMjQxIDExNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEwxMDUgMjE3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDE3My4xIDgxYzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEwyODggOTQuMWwxNyAxNyA5NiA5NiAxNiAxNiAxIDEtMTcgMTdMMjI5LjUgNDEyLjVjLTQ4IDQ4LTEwOS4yIDgwLjgtMTc1LjggOTQuMWwtMjUgNWMtNy45IDEuNi0xNi0uOS0yMS43LTYuNnMtOC4xLTEzLjgtNi42LTIxLjdsNS0yNWMxMy4zLTY2LjYgNDYuMS0xMjcuOCA5NC4xLTE3NS44TDI1NC4xIDEyOCAyNDEgMTE0Ljl6XCJdXG59O1xuY29uc3QgZmFQZW5BbHQgPSBmYVBlbkNsaXA7XG5jb25zdCBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0Y2FcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0czE0LjMgMzIgMzIgMzJsNDAgMCAwIDY0LTcyIDAgMCAxMjhjNTMgMCA5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2YzYuMyAwIDEyLjQgLjYgMTguMyAxLjdDMzY3LjEgMjMxLjggNDI2LjkgMTkyIDQ5NiAxOTJjNDIuNSAwIDgxLjYgMTUuMSAxMTIgNDAuMmwwLTcyLjItNzIgMCAwLTY0IDQwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMzJ6TTQ4OCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0zNjAgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjMyIDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgxMDAsIDYyMTQ0XSwgXCJmMDA3XCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMmwzODguNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43QzQ0OCAzODMuOCAzNjguMiAzMDQgMjY5LjcgMzA0bC05MS40IDB6XCJdXG59O1xuY29uc3QgZmFTY2hvb2xDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTZiXCIsIFwiTTMzNy44IDUuNEMzMjctMS44IDMxMy0xLjggMzAyLjIgNS40TDE2Ni4zIDk2IDQ4IDk2QzIxLjUgOTYgMCAxMTcuNSAwIDE0NEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNzIgMHMwIDAgMCAwbC02NCAwIDAtOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsLjMgMCAuNSAwYzMuNC0zNy43IDE4LjctNzIuMSA0Mi4yLTk5LjFDMzUwLjIgMjYwIDMzNS42IDI2NCAzMjAgMjY0Yy00OC42IDAtODgtMzkuNC04OC04OHMzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCAxOC4zLTUuNiAzNS4zLTE1LjEgNDkuNGMyOS0yMSA2NC42LTMzLjQgMTAzLjEtMzMuNGM1OS41IDAgMTEyLjEgMjkuNiAxNDQgNzQuOEw2NDAgMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ3My43IDk2IDMzNy44IDUuNHpNOTYgMTkybDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZ6bTAgMTI4bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZ6TTMyMCAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwIDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2ek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS05OS4zLTQzLjNjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN3pcIl1cbn07XG5jb25zdCBmYUR1bXBzdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2R1bXBzdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNzkzXCIsIFwiTTQ5LjcgMzJjLTEwLjUgMC0xOS44IDYuOS0yMi45IDE2LjlMLjkgMTMzYy0uNiAyLS45IDQuMS0uOSA2LjFDMCAxNTAuNyA5LjMgMTYwIDIwLjkgMTYwbDk0IDBMMTQwLjUgMzIgNDkuNyAzMnpNMjcyIDE2MGwwLTEyOC05OC45IDBMMTQ3LjUgMTYwIDI3MiAxNjB6bTMyIDBsMTI0LjUgMEw0MDIuOSAzMiAzMDQgMzJsMCAxMjh6bTE1Ny4xIDBsOTQgMGMxMS41IDAgMjAuOS05LjMgMjAuOS0yMC45YzAtMi4xLS4zLTQuMS0uOS02LjFMNTQ5LjIgNDguOUM1NDYuMSAzOC45IDUzNi44IDMyIDUyNi4zIDMybC05MC44IDAgMjUuNiAxMjh6TTMyIDE5Mmw0IDMyLTQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMiAwTDY0IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDMyMCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMjAtMTYwIDEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQgMCA0LTMyTDMyIDE5MnpcIl1cbn07XG5jb25zdCBmYVZhblNodXR0bGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmFuLXNodXR0bGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2NTYsIFwic2h1dHRsZS12YW5cIl0sIFwiZjViNlwiLCBcIk02NCAxMDRsMCA4OCA5NiAwIDAtOTZMNzIgOTZjLTQuNCAwLTggMy42LTggOHptNDgyIDg4TDQ2NS4xIDk2IDM4NCA5NmwwIDk2IDE2MiAwem0tMjI2IDBsMC05Ni05NiAwIDAgOTYgOTYgMHpNNTkyIDM4NGwtMTYgMGMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwtMTI4IDBjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsLTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTA0QzAgNjQuMiAzMi4yIDMyIDcyIDMybDEyMCAwIDE2MCAwIDExMy4xIDBjMTguOSAwIDM2LjggOC4zIDQ5IDIyLjhMNjI1IDE4Ni41YzkuNyAxMS41IDE1IDI2LjEgMTUgNDEuMkw2NDAgMzM2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em0tNjQgMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xNjAgNDMyYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG5jb25zdCBmYVNodXR0bGVWYW4gPSBmYVZhblNodXR0bGU7XG5jb25zdCBmYUJ1aWxkaW5nVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWlsZGluZy11c2VyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGRhXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAgODkuOSAwYy02LjMtMTAuMi05LjktMjIuMi05LjktMzUuMWMwLTQ2LjkgMjUuOC04Ny44IDY0LTEwOS4ybDAtOTUuOUwzODQgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek04MCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNTc2IDI3MmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6TTM1MiA0NzcuMWMwIDE5LjMgMTUuNiAzNC45IDM0LjkgMzQuOWwyMTguMiAwYzE5LjMgMCAzNC45LTE1LjYgMzQuOS0zNC45YzAtNTEuNC00MS43LTkzLjEtOTMuMS05My4xbC0xMDEuOCAwYy01MS40IDAtOTMuMSA0MS43LTkzLjEgOTMuMXpcIl1cbn07XG5jb25zdCBmYVNxdWFyZUNhcmV0TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2FyZXQtbGVmdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiY2FyZXQtc3F1YXJlLWxlZnRcIl0sIFwiZjE5MVwiLCBcIk0wIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2ek0xMjggMjU2YzAtNi43IDIuOC0xMyA3LjctMTcuNmwxMTItMTA0YzctNi41IDE3LjItOC4yIDI1LjktNC40czE0LjQgMTIuNSAxNC40IDIybDAgMjA4YzAgOS41LTUuNyAxOC4yLTE0LjQgMjJzLTE4LjkgMi4xLTI1LjktNC40bC0xMTItMTA0Yy00LjktNC41LTcuNy0xMC45LTcuNy0xNy42elwiXVxufTtcbmNvbnN0IGZhQ2FyZXRTcXVhcmVMZWZ0ID0gZmFTcXVhcmVDYXJldExlZnQ7XG5jb25zdCBmYUhpZ2hsaWdodGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hpZ2hsaWdodGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTkxXCIsIFwiTTMxNSAzMTVsMTU4LjQtMjE1TDQ0NC4xIDcwLjYgMjI5IDIyOSAzMTUgMzE1em0tMTg3IDVzMCAwIDAgMGwwLTcxLjdjMC0xNS4zIDcuMi0yOS42IDE5LjUtMzguNkw0MjAuNiA4LjRDNDI4IDIuOSA0MzcgMCA0NDYuMiAwYzExLjQgMCAyMi40IDQuNSAzMC41IDEyLjZsNTQuOCA1NC44YzguMSA4LjEgMTIuNiAxOSAxMi42IDMwLjVjMCA5LjItMi45IDE4LjItOC40IDI1LjZMMzM0LjQgMzk2LjVjLTkgMTIuMy0yMy40IDE5LjUtMzguNiAxOS41TDIyNCA0MTZsLTI1LjQgMjUuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTUwLjctNTAuN2MtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMMTI4IDMyMHpNNyA0NjYuM2w2My02MyA3MC42IDcwLjYtMzEgMzFjLTQuNSA0LjUtMTAuNiA3LTE3IDdMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQuN2MwLTYuNCAyLjUtMTIuNSA3LTE3elwiXVxufTtcbmNvbnN0IGZhS2V5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tleScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI3M10sIFwiZjA4NFwiLCBcIk0zMzYgMzUyYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2UzQzMy4yIDAgMzM2IDBTMTYwIDc4LjggMTYwIDE3NmMwIDE4LjcgMi45IDM2LjggOC4zIDUzLjdMNyAzOTFjLTQuNSA0LjUtNyAxMC42LTcgMTdsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQwIDQwIDBjNi40IDAgMTIuNS0yLjUgMTctN2wzMy4zLTMzLjNjMTYuOSA1LjQgMzUgOC4zIDUzLjcgOC4zek0zNzYgOTZhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwelwiXVxufTtcbmNvbnN0IGZhQnVsbGhvcm4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVsbGhvcm4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMjYsIDEyODM2M10sIFwiZjBhMVwiLCBcIk00ODAgMzJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlMMzgxLjcgNTNjLTQ4IDQ4LTExMy4xIDc1LTE4MSA3NWwtOC43IDAtMzIgMC05NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjggOC43IDBjNjcuOSAwIDEzMyAyNyAxODEgNzVsNDMuNiA0My42YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45czE5LjgtMTYuNiAxOS44LTI5LjZsMC0xNDcuNmMxOC42LTguOCAzMi0zMi41IDMyLTYwLjRzLTEzLjQtNTEuNi0zMi02MC40TDQ4MCAzMnptLTY0IDc2LjdMNDE2IDI0MGwwIDEzMS4zQzM1Ny4yIDMxNy44IDI4MC41IDI4OCAyMDAuNyAyODhsLTguNyAwIDAtOTYgOC43IDBjNzkuOCAwIDE1Ni41LTI5LjggMjE1LjMtODMuM3pcIl1cbn07XG5jb25zdCBmYUdsb2JlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dsb2JlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzYwXSwgXCJmMGFjXCIsIFwiTTM1MiAyNTZjMCAyMi4yLTEuMiA0My42LTMuMyA2NGwtMTg1LjMgMGMtMi4yLTIwLjQtMy4zLTQxLjgtMy4zLTY0czEuMi00My42IDMuMy02NGwxODUuMyAwYzIuMiAyMC40IDMuMyA0MS44IDMuMyA2NHptMjguOC02NGwxMjMuMSAwYzUuMyAyMC41IDguMSA0MS45IDguMSA2NHMtMi44IDQzLjUtOC4xIDY0bC0xMjMuMSAwYzIuMS0yMC42IDMuMi00MiAzLjItNjRzLTEuMS00My40LTMuMi02NHptMTEyLjYtMzJsLTExNi43IDBjLTEwLTYzLjktMjkuOC0xMTcuNC01NS4zLTE1MS42Yzc4LjMgMjAuNyAxNDIgNzcuNSAxNzEuOSAxNTEuNnptLTE0OS4xIDBsLTE3Ni42IDBjNi4xLTM2LjQgMTUuNS02OC42IDI3LTk0LjdjMTAuNS0yMy42IDIyLjItNDAuNyAzMy41LTUxLjVDMjM5LjQgMy4yIDI0OC43IDAgMjU2IDBzMTYuNiAzLjIgMjcuOCAxMy44YzExLjMgMTAuOCAyMyAyNy45IDMzLjUgNTEuNWMxMS42IDI2IDIwLjkgNTguMiAyNyA5NC43em0tMjA5IDBMMTguNiAxNjBDNDguNiA4NS45IDExMi4yIDI5LjEgMTkwLjYgOC40QzE2NS4xIDQyLjYgMTQ1LjMgOTYuMSAxMzUuMyAxNjB6TTguMSAxOTJsMTIzLjEgMGMtMi4xIDIwLjYtMy4yIDQyLTMuMiA2NHMxLjEgNDMuNCAzLjIgNjRMOC4xIDMyMEMyLjggMjk5LjUgMCAyNzguMSAwIDI1NnMyLjgtNDMuNSA4LjEtNjR6TTE5NC43IDQ0Ni42Yy0xMS42LTI2LTIwLjktNTguMi0yNy05NC42bDE3Ni42IDBjLTYuMSAzNi40LTE1LjUgNjguNi0yNyA5NC42Yy0xMC41IDIzLjYtMjIuMiA0MC43LTMzLjUgNTEuNUMyNzIuNiA1MDguOCAyNjMuMyA1MTIgMjU2IDUxMnMtMTYuNi0zLjItMjcuOC0xMy44Yy0xMS4zLTEwLjgtMjMtMjcuOS0zMy41LTUxLjV6TTEzNS4zIDM1MmMxMCA2My45IDI5LjggMTE3LjQgNTUuMyAxNTEuNkMxMTIuMiA0ODIuOSA0OC42IDQyNi4xIDE4LjYgMzUybDExNi43IDB6bTM1OC4xIDBjLTMwIDc0LjEtOTMuNiAxMzAuOS0xNzEuOSAxNTEuNmMyNS41LTM0LjIgNDUuMi04Ny43IDU1LjMtMTUxLjZsMTE2LjcgMHpcIl1cbn07XG5jb25zdCBmYVN5bmFnb2d1ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzeW5hZ29ndWUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjgzMzNdLCBcImY2OWJcIiwgXCJNMzA5LjggMy43YzUuOS00LjkgMTQuNi00LjkgMjAuNSAwbDEyMSAxMDAuOEM0NjkuNSAxMTkuNyA0ODAgMTQyLjIgNDgwIDE2NmwwIDExNC4xTDQ4MCA1MTJsLTE2IDAtMTEyIDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2LTExMiAwLTE2IDAgMC0yMzEuOUwxNjAgMTY2YzAtMjMuNyAxMC41LTQ2LjMgMjguOC02MS41TDMwOS44IDMuN3pNNTEyIDUxMmwwLTI2Ny41IDI4LjEtMzEuMmMzLTMuNCA3LjQtNS4zIDExLjktNS4zczguOSAxLjkgMTEuOSA1LjNsNjMuOCA3MC45YzcuOSA4LjggMTIuMyAyMC4zIDEyLjMgMzIuMUw2NDAgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwek0xMjggMjQ0LjVMMTI4IDUxMmwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAzMTYuM2MwLTExLjkgNC40LTIzLjMgMTIuMy0zMi4xbDYzLjgtNzAuOWMzLTMuNCA3LjQtNS4zIDExLjktNS4zczguOSAxLjkgMTEuOSA1LjNMMTI4IDI0NC41ek0zMjcgMTI0LjNjLTMuMS01LjQtMTAuOS01LjQtMTMuOSAwbC0xNS45IDI4LjEtMzIuMy0uM2MtNi4yLS4xLTEwLjEgNi43LTcgMTIuMUwyNzQuMyAxOTJsLTE2LjQgMjcuOGMtMy4yIDUuNCAuNyAxMi4xIDcgMTIuMWwzMi4zLS4zTDMxMyAyNTkuN2MzLjEgNS40IDEwLjkgNS40IDEzLjkgMGwxNS45LTI4LjEgMzIuMyAuM2M2LjIgLjEgMTAuMS02LjcgNy0xMi4xTDM2NS43IDE5MmwxNi40LTI3LjhjMy4yLTUuNC0uNy0xMi4xLTctMTIuMWwtMzIuMyAuM0wzMjcgMTI0LjN6XCJdXG59O1xuY29uc3QgZmFQZXJzb25IYWxmRHJlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWhhbGYtZHJlc3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImU1NDhcIiwgXCJNMTYwIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em04IDM1MmwwLTIyNCA2LjkgMGMzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw1OC4zIDk3YzkuMSAxNS4xIDQuMiAzNC44LTEwLjkgNDMuOXMtMzQuOCA0LjItNDMuOS0xMC45TDIzMiAyNTYuOSAyMzIgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4czAgMCAwIDB6TTU4LjIgMTgyLjNjMTkuOS0zMy4xIDU1LjMtNTMuNSA5My44LTU0LjNsMCAyNTZzMCAwIDAgMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTcuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMUw5My4zIDI0OC4xIDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1My42LTg5LjJ6XCJdXG59O1xuY29uc3QgZmFSb2FkQnJpZGdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQtYnJpZGdlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTYzXCIsIFwiTTM1MiAwTDYwOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC00NDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ4MCAyMDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0YzAtMTMuMy0xMC43LTI0LTI0LTI0em0yNCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjR6TTQ4MCA0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTMyIDk2bDI1NiAwIDAgNjQtNDAgMCAwIDY0IDQwIDAgMCA5NmMtNTMgMC05NiA0My05NiA5NmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtNTMtNDMtOTYtOTYtOTZsMC05NiA3MiAwIDAtNjQtNDAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMTY4IDY0bC04MCAwIDAgNjQgODAgMCAwLTY0elwiXVxufTtcbmNvbnN0IGZhTG9jYXRpb25BcnJvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1hcnJvdycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjEyNFwiLCBcIk00MjkuNiA5Mi4xYzQuOS0xMS45IDIuMS0yNS42LTctMzQuN3MtMjIuOC0xMS45LTM0LjctN2wtMzUyIDE0NGMtMTQuMiA1LjgtMjIuMiAyMC44LTE5LjMgMzUuOHMxNi4xIDI1LjggMzEuNCAyNS44bDE3NiAwIDAgMTc2YzAgMTUuMyAxMC44IDI4LjQgMjUuOCAzMS40czMwLTUuMSAzNS44LTE5LjNsMTQ0LTM1MnpcIl1cbn07XG5jb25zdCBmYUMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYycsXG4gIGljb246IFszODQsIDUxMiwgWzk5XSwgXCI0M1wiLCBcIk0zMjkuMSAxNDIuOWMtNjIuNS02Mi41LTE1NS44LTYyLjUtMjE4LjMgMHMtNjIuNSAxNjMuOCAwIDIyNi4zczE1NS44IDYyLjUgMjE4LjMgMGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy04Ny41IDg3LjUtMjIxLjMgODcuNS0zMDguOCAwcy04Ny41LTIyOS4zIDAtMzE2LjhzMjIxLjMtODcuNSAzMDguOCAwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwelwiXVxufTtcbmNvbnN0IGZhVGFibGV0QnV0dG9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldC1idXR0b24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYxMGFcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMjI0IDQwMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFCdWlsZGluZ0xvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctbG9jaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRkNlwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDg4LjYgMGMtNS40LTkuNC04LjYtMjAuMy04LjYtMzJsMC0xMjhjMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMjQuNmMwLTMwLjUgMTIuMi01OC4yIDMyLTc4LjRMMzg0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDB6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xMTItMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNODAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ2NCAyNDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OC02NCAwIDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMmwwIDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbmNvbnN0IGZhUGl6emFTbGljZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaXp6YS1zbGljZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjgxOFwiLCBcIk0xNjkuNyAuOWMtMjIuOC0xLjYtNDEuOSAxNC00Ny41IDM0LjdMMTEwLjQgODBjLjUgMCAxLjEgMCAxLjYgMGMxNzYuNyAwIDMyMCAxNDMuMyAzMjAgMzIwYzAgLjUgMCAxLjEgMCAxLjZsNDQuNC0xMS44YzIwLjgtNS41IDM2LjMtMjQuNyAzNC43LTQ3LjVDNDk4LjUgMTU5LjUgMzUyLjUgMTMuNSAxNjkuNyAuOXpNMzk5LjggNDEwLjJjLjEtMy40IC4yLTYuOCAuMi0xMC4yYzAtMTU5LjEtMTI4LjktMjg4LTI4OC0yODhjLTMuNCAwLTYuOCAuMS0xMC4yIC4yTC41IDQ5MS45Yy0xLjUgNS41IC4xIDExLjQgNC4xIDE1LjRzOS45IDUuNiAxNS40IDQuMUwzOTkuOCA0MTAuMnpNMTc2IDIwOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDEyOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek05NiAzODRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG5jb25zdCBmYU1vbmV5QmlsbFdhdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbC13YXZlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTNhXCIsIFwiTTAgMTEyLjVMMCA0MjIuM2MwIDE4IDEwLjEgMzUgMjcgNDEuM2M4NyAzMi41IDE3NCAxMC4zIDI2MS0xMS45Yzc5LjgtMjAuMyAxNTkuNi00MC43IDIzOS4zLTE4LjljMjMgNi4zIDQ4LjctOS41IDQ4LjctMzMuNGwwLTMwOS45YzAtMTgtMTAuMS0zNS0yNy00MS4zQzQ2MiAxNS45IDM3NSAzOC4xIDI4OCA2MC4zQzIwOC4yIDgwLjYgMTI4LjQgMTAwLjkgNDguNyA3OS4xQzI1LjYgNzIuOCAwIDg4LjYgMCAxMTIuNXpNMjg4IDM1MmMtNDQuMiAwLTgwLTQzLTgwLTk2czM1LjgtOTYgODAtOTZzODAgNDMgODAgOTZzLTM1LjggOTYtODAgOTZ6TTY0IDM1MmMzNS4zIDAgNjQgMjguNyA2NCA2NGwtNjQgMCAwLTY0em02NC0yMDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMC02NCA2NCAwek01MTIgMzA0bDAgNjQtNjQgMGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDQ4IDk2bDY0IDAgMCA2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6XCJdXG59O1xuY29uc3QgZmFDaGFydEFyZWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtYXJlYScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJlYS1jaGFydFwiXSwgXCJmMWZlXCIsIFwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwbDQwMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2TDY0IDY0em05NiAyODhsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02OC4yYzAtNy42LTIuNy0xNS03LjctMjAuOGwtNjUuOC03Ni44Yy0xMi4xLTE0LjItMzMuNy0xNS00Ni45LTEuOGwtMjEgMjFjLTEwIDEwLTI2LjQgOS4yLTM1LjQtMS42bC0zOS4yLTQ3Yy0xMi42LTE1LjEtMzUuNy0xNS40LTQ4LjctLjZMMTM1LjkgMjE1Yy01LjEgNS44LTcuOSAxMy4zLTcuOSAyMS4xbDAgODRjMCAxNy43IDE0LjMgMzIgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFBcmVhQ2hhcnQgPSBmYUNoYXJ0QXJlYTtcbmNvbnN0IGZhSG91c2VGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGRcIiwgXCJNNDgwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTYwIDAgMzIwIDY0IDAgMC0zMjAgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTI4YzAtOC44LTcuMi0xNi0xNi0xNkw1MTIgMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTQxNiAxNTlMMjc2LjggMzkuN2MtMTItMTAuMy0yOS43LTEwLjMtNDEuNyAwbC0yMjQgMTkyQzEgMjQwLjQtMi43IDI1NC41IDIgMjY3LjFTMTguNiAyODggMzIgMjg4bDMyIDAgMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NC43IDAgLjIgMC0xIDAgMC0zNTN6XCJdXG59O1xuY29uc3QgZmFQZXJzb25DaXJjbGVNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQwXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjMuMUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmwyOS43IDBjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45IDIzMiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHptMTM2IDE2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIyNCAwYzAtOC44LTcuMi0xNi0xNi0xNmwtMTI4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2elwiXVxufTtcbmNvbnN0IGZhQmFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY4MywgXCJjYW5jZWxcIl0sIFwiZjA1ZVwiLCBcIk0zNjcuMiA0MTIuNUw5OS41IDE0NC44Qzc3LjEgMTc2LjEgNjQgMjE0LjUgNjQgMjU2YzAgMTA2IDg2IDE5MiAxOTIgMTkyYzQxLjUgMCA3OS45LTEzLjEgMTExLjItMzUuNXptNDUuMy00NS4zQzQzNC45IDMzNS45IDQ0OCAyOTcuNSA0NDggMjU2YzAtMTA2LTg2LTE5Mi0xOTItMTkyYy00MS41IDAtNzkuOSAxMy4xLTExMS4yIDM1LjVMNDEyLjUgMzY3LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG5jb25zdCBmYUNhbmNlbCA9IGZhQmFuO1xuY29uc3QgZmFDYW1lcmFSb3RhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FtZXJhLXJvdGF0ZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTBkOFwiLCBcIk0yMTMuMSA2NC44TDIwMi43IDk2IDEyOCA5NmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTc0LjcgMEw0MjYuOSA2NC44QzQyMC40IDQ1LjIgNDAyLjEgMzIgMzgxLjQgMzJMMjU4LjYgMzJjLTIwLjcgMC0zOSAxMy4yLTQ1LjUgMzIuOHpNNDQ4IDI1NmMwIDguOC03LjIgMTYtMTYgMTZsLTc2LjcgMGMtNi4yIDAtMTEuMy01LjEtMTEuMy0xMS4zYzAtMyAxLjItNS45IDMuMy04TDM3MSAyMjljLTEzLjYtMTMuNC0zMS45LTIxLTUxLTIxYy0xOS4yIDAtMzcuNyA3LjYtNTEuMyAyMS4zTDI0OSAyNDljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMTkuNy0xOS43QzI1Ny40IDE3Mi43IDI4OCAxNjAgMzIwIDE2MGMzMS44IDAgNjIuNCAxMi42IDg1IDM1bDIzLjctMjMuN2MyLjEtMi4xIDUtMy4zIDgtMy4zYzYuMiAwIDExLjMgNS4xIDExLjMgMTEuM2wwIDc2Ljd6TTE5MiAzMjBjMC04LjggNy4yLTE2IDE2LTE2bDc2LjcgMGM2LjIgMCAxMS4zIDUuMSAxMS4zIDExLjNjMCAzLTEuMiA1LjktMy4zIDhMMjY5IDM0N2MxMy42IDEzLjQgMzEuOSAyMSA1MSAyMWMxOS4yIDAgMzcuNy03LjYgNTEuMy0yMS4zTDM5MSAzMjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0xOS43IDE5LjdDMzgyLjYgNDAzLjMgMzUyIDQxNiAzMjAgNDE2Yy0zMS44IDAtNjIuNC0xMi42LTg1LTM1bC0yMy43IDIzLjdjLTIuMSAyLjEtNSAzLjMtOCAzLjNjLTYuMiAwLTExLjMtNS4xLTExLjMtMTEuM2wwLTc2Ljd6XCJdXG59O1xuY29uc3QgZmFTcHJheUNhblNwYXJrbGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwcmF5LWNhbi1zcGFya2xlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYWlyLWZyZXNoZW5lclwiXSwgXCJmNWQwXCIsIFwiTTk2IDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJ6bTAgMTI4Yy01MyAwLTk2IDQzLTk2IDk2TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjA4YzAtNTMtNDMtOTYtOTYtOTZMOTYgMTYwem02NCA5NmE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNMzg0IDQ4YzAtMS40LTEtMy0yLjItMy42TDM1MiAzMiAzMzkuNiAyLjJDMzM5IDEgMzM3LjQgMCAzMzYgMHMtMyAxLTMuNiAyLjJMMzIwIDMyIDI5MC4yIDQ0LjRDMjg5IDQ1IDI4OCA0Ni42IDI4OCA0OGMwIDEuNCAxIDMgMi4yIDMuNkwzMjAgNjRsMTIuNCAyOS44QzMzMyA5NSAzMzQuNiA5NiAzMzYgOTZzMy0xIDMuNi0yLjJMMzUyIDY0bDI5LjgtMTIuNEMzODMgNTEgMzg0IDQ5LjQgMzg0IDQ4em03Ni40IDQ1LjhDNDYxIDk1IDQ2Mi42IDk2IDQ2NCA5NnMzLTEgMy42LTIuMkw0ODAgNjRsMjkuOC0xMi40QzUxMSA1MSA1MTIgNDkuNCA1MTIgNDhjMC0xLjQtMS0zLTIuMi0zLjZMNDgwIDMyIDQ2Ny42IDIuMkM0NjcgMSA0NjUuNCAwIDQ2NCAwcy0zIDEtMy42IDIuMkw0NDggMzIgNDE4LjIgNDQuNEM0MTcgNDUgNDE2IDQ2LjYgNDE2IDQ4YzAgMS40IDEgMyAyLjIgMy42TDQ0OCA2NGwxMi40IDI5Ljh6bTcuMiAxMDAuNGMtLjYtMS4yLTIuMi0yLjItMy42LTIuMnMtMyAxLTMuNiAyLjJMNDQ4IDIyNGwtMjkuOCAxMi40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42YzAgMS40IDEgMyAyLjIgMy42TDQ0OCAyNTZsMTIuNCAyOS44Yy42IDEuMiAyLjIgMi4yIDMuNiAyLjJzMy0xIDMuNi0yLjJMNDgwIDI1NmwyOS44LTEyLjRjMS4yLS42IDIuMi0yLjIgMi4yLTMuNmMwLTEuNC0xLTMtMi4yLTMuNkw0ODAgMjI0bC0xMi40LTI5Ljh6TTQ0OCAxNDRjMC0xLjQtMS0zLTIuMi0zLjZMNDE2IDEyOCA0MDMuNiA5OC4yQzQwMyA5NyA0MDEuNCA5NiA0MDAgOTZzLTMgMS0zLjYgMi4yTDM4NCAxMjhsLTI5LjggMTIuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNmMwIDEuNCAxIDMgMi4yIDMuNkwzODQgMTYwbDEyLjQgMjkuOGMuNiAxLjIgMi4yIDIuMiAzLjYgMi4yczMtMSAzLjYtMi4yTDQxNiAxNjBsMjkuOC0xMi40YzEuMi0uNiAyLjItMi4yIDIuMi0zLjZ6XCJdXG59O1xuY29uc3QgZmFBaXJGcmVzaGVuZXIgPSBmYVNwcmF5Q2FuU3BhcmtsZXM7XG5jb25zdCBmYVN0YXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RhcicsXG4gIGljb246IFs1NzYsIDUxMiwgWzExMDg4LCA2MTQ0Nl0sIFwiZjAwNVwiLCBcIk0zMTYuOSAxOEMzMTEuNiA3IDMwMC40IDAgMjg4LjEgMHMtMjMuNCA3LTI4LjggMThMMTk1IDE1MC4zIDUxLjQgMTcxLjVjLTEyIDEuOC0yMiAxMC4yLTI1LjcgMjEuN3MtLjcgMjQuMiA3LjkgMzIuN0wxMzcuOCAzMjkgMTEzLjIgNDc0LjdjLTIgMTIgMyAyNC4yIDEyLjkgMzEuM3MyMyA4IDMzLjggMi4zbDEyOC4zLTY4LjUgMTI4LjMgNjguNWMxMC44IDUuNyAyMy45IDQuOSAzMy44LTIuM3MxNC45LTE5LjMgMTIuOS0zMS4zTDQzOC41IDMyOSA1NDIuNyAyMjUuOWM4LjYtOC41IDExLjctMjEuMiA3LjktMzIuN3MtMTMuNy0xOS45LTI1LjctMjEuN0wzODEuMiAxNTAuMyAzMTYuOSAxOHpcIl1cbn07XG5jb25zdCBmYVJlcGVhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZXBlYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNTddLCBcImYzNjNcIiwgXCJNMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTUzIDQzLTk2IDk2LTk2bDE2MCAwIDAgMzJjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzMyMCAxOS4xIDMyMCAzMmwwIDMyTDE2MCA2NEM3MS42IDY0IDAgMTM1LjYgMCAyMjR6bTUxMiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDUzLTQzIDk2LTk2IDk2bC0xNjAgMCAwLTMyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNmwwLTMyIDE2MCAwYzg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwelwiXVxufTtcbmNvbnN0IGZhQ3Jvc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3Jvc3MnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgzMjcsIDEwMDEzXSwgXCJmNjU0XCIsIFwiTTE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDgwLTgwIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhsODAgMCAwIDIwOGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjA4IDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OGwtODAgMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDE3NiAwelwiXVxufTtcbmNvbnN0IGZhQm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JveCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODIzMF0sIFwiZjQ2NlwiLCBcIk01MC43IDU4LjVMMCAxNjBsMjA4IDAgMC0xMjhMOTMuNyAzMkM3NS41IDMyIDU4LjkgNDIuMyA1MC43IDU4LjV6TTI0MCAxNjBsMjA4IDBMMzk3LjMgNTguNUMzODkuMSA0Mi4zIDM3Mi41IDMyIDM1NC4zIDMyTDI0MCAzMmwwIDEyOHptMjA4IDMyTDAgMTkyIDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0elwiXVxufTtcbmNvbnN0IGZhVmVudXNNYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZlbnVzLW1hcnMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5ODkyXSwgXCJmMjI4XCIsIFwiTTE3NiAyODhhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0ek0zNTIgMTc2YzAgODYuMy02Mi4xIDE1OC4xLTE0NCAxNzMuMWwwIDM0LjkgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtMzQuOUM2Mi4xIDMzNC4xIDAgMjYyLjMgMCAxNzZDMCA3OC44IDc4LjggMCAxNzYgMHMxNzYgNzguOCAxNzYgMTc2ek0yNzEuOSAzNjAuNmMxOS4zLTEwLjEgMzYuOS0yMy4xIDUyLjEtMzguNGMyMCAxOC41IDQ2LjcgMjkuOCA3Ni4xIDI5LjhjNjEuOSAwIDExMi01MC4xIDExMi0xMTJzLTUwLjEtMTEyLTExMi0xMTJjLTcuMiAwLTE0LjMgLjctMjEuMSAyYy00LjktMjEuNS0xMy00MS43LTI0LTYwLjJDMzY5LjMgNjYgMzg0LjQgNjQgNDAwIDY0YzM3IDAgNzEuNCAxMS40IDk5LjggMzFsMjAuNi0yMC42TDQ4NyA0MWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlM0OTQuMyAwIDUwNCAwTDYxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTEyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTMzLjQtMzMuNEw1NDUgMTQwLjJjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOGMwIDk3LjItNzguOCAxNzYtMTc2IDE3NmMtNTAuNSAwLTk2LTIxLjMtMTI4LjEtNTUuNHpcIl1cbn07XG5jb25zdCBmYUFycm93UG9pbnRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1wb2ludGVyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJtb3VzZS1wb2ludGVyXCJdLCBcImYyNDVcIiwgXCJNMCA1NS4yTDAgNDI2YzAgMTIuMiA5LjkgMjIgMjIgMjJjNi4zIDAgMTIuNC0yLjcgMTYuNi03LjVMMTIxLjIgMzQ2bDU4LjEgMTE2LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45TDE3OS44IDMyMGwxMTguMSAwYzEyLjIgMCAyMi4xLTkuOSAyMi4xLTIyLjFjMC02LjMtMi43LTEyLjMtNy40LTE2LjVMMzguNiAzNy45QzM0LjMgMzQuMSAyOC45IDMyIDIzLjIgMzJDMTAuNCAzMiAwIDQyLjQgMCA1NS4yelwiXVxufTtcbmNvbnN0IGZhTW91c2VQb2ludGVyID0gZmFBcnJvd1BvaW50ZXI7XG5jb25zdCBmYU1heGltaXplID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21heGltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJleHBhbmQtYXJyb3dzLWFsdFwiXSwgXCJmMzFlXCIsIFwiTTIwMCAzMkw1NiAzMkM0Mi43IDMyIDMyIDQyLjcgMzIgNTZsMCAxNDRjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4ybDQwLTQwIDc5IDc5LTc5IDc5TDczIDI5NWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzMiAzMDIuMyAzMiAzMTJsMCAxNDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjOS43IDAgMTguNS01LjggMjIuMi0xNC44czEuNy0xOS4zLTUuMi0yNi4ybC00MC00MCA3OS03OSA3OSA3OS00MCA0MGMtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMnMxMi41IDE0LjggMjIuMiAxNC44bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTQ0YzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMnMtMTkuMy0xLjctMjYuMiA1LjJsLTQwIDQwLTc5LTc5IDc5LTc5IDQwIDQwYzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMmwwLTE0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzMTIgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsNDAgNDAtNzkgNzktNzktNzkgNDAtNDBjNi45LTYuOSA4LjktMTcuMiA1LjItMjYuMlMyMDkuNyAzMiAyMDAgMzJ6XCJdXG59O1xuY29uc3QgZmFFeHBhbmRBcnJvd3NBbHQgPSBmYU1heGltaXplO1xuY29uc3QgZmFDaGFyZ2luZ1N0YXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcmdpbmctc3RhdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjVlN1wiLCBcIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTQ0IDE2IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAzMmMwIDM5LjggMzIuMiA3MiA3MiA3MnM3Mi0zMi4yIDcyLTcybDAtMTIzLjdjMzIuNS0xMC4yIDU2LTQwLjUgNTYtNzYuM2wwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtMzIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCAzNS44IDIzLjUgNjYuMSA1NiA3Ni4zTDQ3MiAzNzZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zMmMwLTQ4LjYtMzkuNC04OC04OC04OGwtMTYgMCAwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwek0yMTYuOSA4Mi43YzYgNCA4LjUgMTEuNSA2LjMgMTguM2wtMjUgNzQuOSA1Ny44IDBjNi43IDAgMTIuNyA0LjIgMTUgMTAuNHMuNSAxMy4zLTQuNiAxNy43bC0xMTIgOTZjLTUuNSA0LjctMTMuNCA1LjEtMTkuMyAxLjFzLTguNS0xMS41LTYuMy0xOC4zbDI1LTc0LjlMOTYgMjA4Yy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43bDExMi05NmM1LjUtNC43IDEzLjQtNS4xIDE5LjMtMS4xelwiXVxufTtcbmNvbnN0IGZhU2hhcGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoYXBlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widHJpYW5nbGUtY2lyY2xlLXNxdWFyZVwiXSwgXCJmNjFmXCIsIFwiTTMxNS40IDE1LjVDMzA5LjcgNS45IDI5OS4yIDAgMjg4IDBzLTIxLjcgNS45LTI3LjQgMTUuNWwtOTYgMTYwYy01LjkgOS45LTYuMSAyMi4yLS40IDMyLjJzMTYuMyAxNi4yIDI3LjggMTYuMmwxOTIgMGMxMS41IDAgMjIuMi02LjIgMjcuOC0xNi4yczUuNS0yMi4zLS40LTMyLjJsLTk2LTE2MHpNMjg4IDMxMmwwIDE0NGMwIDIyLjEgMTcuOSA0MCA0MCA0MGwxNDQgMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTE0NGMwLTIyLjEtMTcuOS00MC00MC00MGwtMTQ0IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwek0xMjggNTEyYTEyOCAxMjggMCAxIDAgMC0yNTYgMTI4IDEyOCAwIDEgMCAwIDI1NnpcIl1cbn07XG5jb25zdCBmYVRyaWFuZ2xlQ2lyY2xlU3F1YXJlID0gZmFTaGFwZXM7XG5jb25zdCBmYVNodWZmbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2h1ZmZsZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI1NiwgXCJyYW5kb21cIl0sIFwiZjA3NFwiLCBcIk00MDMuOCAzNC40YzEyLTUgMjUuNy0yLjIgMzQuOSA2LjlsNjQgNjRjNiA2IDkuNCAxNC4xIDkuNCAyMi42cy0zLjQgMTYuNi05LjQgMjIuNmwtNjQgNjRjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45cy0xOS44LTE2LjYtMTkuOC0yOS42bDAtMzItMzIgMGMtMTAuMSAwLTE5LjYgNC43LTI1LjYgMTIuOEwyODQgMjI5LjMgMjQ0IDE3NmwzMS4yLTQxLjZDMjkzLjMgMTEwLjIgMzIxLjggOTYgMzUyIDk2bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42ek0xNjQgMjgyLjdMMjA0IDMzNmwtMzEuMiA0MS42QzE1NC43IDQwMS44IDEyNi4yIDQxNiA5NiA0MTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMGMxMC4xIDAgMTkuNi00LjcgMjUuNi0xMi44TDE2NCAyODIuN3ptMjc0LjYgMTg4Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNmwwLTMyLTMyIDBjLTMwLjIgMC01OC43LTE0LjItNzYuOC0zOC40TDEyMS42IDE3Mi44Yy02LTguMS0xNS41LTEyLjgtMjUuNi0xMi44bC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDBjMzAuMiAwIDU4LjcgMTQuMiA3Ni44IDM4LjRMMzI2LjQgMzM5LjJjNiA4LjEgMTUuNSAxMi44IDI1LjYgMTIuOGwzMiAwIDAtMzJjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWw2NCA2NGM2IDYgOS40IDE0LjEgOS40IDIyLjZzLTMuNCAxNi42LTkuNCAyMi42bC02NCA2NHpcIl1cbn07XG5jb25zdCBmYVJhbmRvbSA9IGZhU2h1ZmZsZTtcbmNvbnN0IGZhUGVyc29uUnVubmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tcnVubmluZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzkzOSwgXCJydW5uaW5nXCJdLCBcImY3MGNcIiwgXCJNMzIwIDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTEyNS43IDE3NS41YzkuOS05LjkgMjMuNC0xNS41IDM3LjUtMTUuNWMxLjkgMCAzLjggLjEgNS42IC4zTDEzNy42IDI1NGMtOS4zIDI4IDEuNyA1OC44IDI2LjggNzQuNWw4Ni4yIDUzLjktMjUuNCA4OC44Yy00LjkgMTcgNSAzNC43IDIyIDM5LjZzMzQuNy01IDM5LjYtMjJsMjguNy0xMDAuNGM1LjktMjAuNi0yLjYtNDIuNi0yMC43LTUzLjlMMjM4IDI5OWwzMC45LTgyLjQgNS4xIDEyLjNDMjg5IDI2NC43IDMyMy45IDI4OCAzNjIuNyAyODhsMjEuMyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMS4zIDBjLTEyLjkgMC0yNC42LTcuOC0yOS41LTE5LjdsLTYuMy0xNWMtMTQuNi0zNS4xLTQ0LjEtNjEuOS04MC41LTczLjFsLTQ4LjctMTVjLTExLjEtMy40LTIyLjctNS4yLTM0LjQtNS4yYy0zMSAwLTYwLjggMTIuMy04Mi43IDM0LjNMNTcuNCAxNTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwyMy4xLTIzLjF6TTkxLjIgMzUyTDMyIDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2OS42IDBjMTkgMCAzNi4yLTExLjIgNDMuOS0yOC41TDE1NyAzNjEuNmwtOS41LTZjLTE3LjUtMTAuOS0zMC41LTI2LjgtMzcuOS00NC45TDkxLjIgMzUyelwiXVxufTtcbmNvbnN0IGZhUnVubmluZyA9IGZhUGVyc29uUnVubmluZztcbmNvbnN0IGZhTW9iaWxlUmV0cm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9iaWxlLXJldHJvJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTI3XCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptNjQgOTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTgwIDM1MmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDU2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTU2LTU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNTZhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptNTYtNTZhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA1NmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0xMjggNDhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNjQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNjQgMHpcIl1cbn07XG5jb25zdCBmYUdyaXBMaW5lc1ZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAtbGluZXMtdmVydGljYWwnLFxuICBpY29uOiBbMTkyLCA1MTIsIFtdLCBcImY3YTVcIiwgXCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCA2NHptMTI4IDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NHpcIl1cbn07XG5jb25zdCBmYVNwaWRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcGlkZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzNzVdLCBcImY3MTdcIiwgXCJNMTU4LjQgMzIuNmM0LjgtMTIuNC0xLjQtMjYuMy0xMy44LTMxcy0yNi4zIDEuNC0zMSAxMy44TDgxLjEgMTAwYy03LjkgMjAuNy0zIDQ0LjEgMTIuNyA1OS43bDU3LjQgNTcuNEw3MC44IDE5MC4zYy0yLjQtLjgtNC4zLTIuNy01LjEtNS4xTDQ2LjggMTI4LjRDNDIuNiAxMTUuOCAyOSAxMDkgMTYuNCAxMTMuMlMtMyAxMzEgMS4yIDE0My42bDE4LjkgNTYuOGM1LjYgMTYuNyAxOC43IDI5LjggMzUuNCAzNS40TDExNi4xIDI1NiA1NS42IDI3Ni4yYy0xNi43IDUuNi0yOS44IDE4LjctMzUuNCAzNS40TDEuMiAzNjguNEMtMyAzODEgMy44IDM5NC42IDE2LjQgMzk4LjhzMjYuMi0yLjYgMzAuNC0xNS4ybDE4LjktNTYuOGMuOC0yLjQgMi43LTQuMyA1LjEtNS4xbDgwLjQtMjYuOEw5My43IDM1Mi4zQzc4LjEgMzY4IDczLjEgMzkxLjQgODEuMSA0MTJsMzIuNSA4NC42YzQuOCAxMi40IDE4LjYgMTguNSAzMSAxMy44czE4LjUtMTguNiAxMy44LTMxbC0zMi41LTg0LjZjLTEuMS0zLS40LTYuMyAxLjgtOC41TDE2MCAzNTMuOWMxIDUyLjEgNDMuNiA5NC4xIDk2IDk0LjFzOTUtNDEuOSA5Ni05NC4xbDMyLjMgMzIuM2MyLjIgMi4yIDIuOSA1LjYgMS44IDguNWwtMzIuNSA4NC42Yy00LjggMTIuNCAxLjQgMjYuMyAxMy44IDMxczI2LjMtMS40IDMxLTEzLjhMNDMwLjkgNDEyYzcuOS0yMC43IDMtNDQuMS0xMi43LTU5LjdsLTU3LjQtNTcuNCA4MC40IDI2LjhjMi40IC44IDQuMyAyLjcgNS4xIDUuMWwxOC45IDU2LjhjNC4yIDEyLjYgMTcuOCAxOS40IDMwLjQgMTUuMnMxOS40LTE3LjggMTUuMi0zMC40bC0xOC45LTU2LjhjLTUuNi0xNi43LTE4LjctMjkuOC0zNS40LTM1LjRMMzk1LjkgMjU2bDYwLjUtMjAuMmMxNi43LTUuNiAyOS44LTE4LjcgMzUuNC0zNS40bDE4LjktNTYuOGM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjRzLTI2LjIgMi42LTMwLjQgMTUuMmwtMTguOSA1Ni44Yy0uOCAyLjQtMi43IDQuMy01LjEgNS4xbC04MC40IDI2LjggNTcuNC01Ny40YzE1LjYtMTUuNiAyMC42LTM5IDEyLjctNTkuN0wzOTguNCAxNS40QzM5My42IDMgMzc5LjgtMy4yIDM2Ny40IDEuNnMtMTguNSAxOC42LTEzLjggMzFsMzIuNSA4NC42YzEuMSAzIC40IDYuMy0xLjggOC41TDMzNiAxNzQuMWwwLTE0LjFjMC0zMS44LTE4LjYtNTkuMy00NS41LTcyLjJjLTkuMS00LjQtMTguNSAzLjMtMTguNSAxMy40bDAgMTAuOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTEwLjhjMC0xMC4xLTkuNC0xNy43LTE4LjUtMTMuNEMxOTQuNiAxMDAuNyAxNzYgMTI4LjIgMTc2IDE2MGwwIDE0LjEtNDguMy00OC4zYy0yLjItMi4yLTIuOS01LjYtMS44LTguNWwzMi41LTg0LjZ6XCJdXG59O1xuY29uc3QgZmFIYW5kc0JvdW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWJvdW5kJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGY5XCIsIFwiTTk2IDMyQzk2IDE0LjMgODEuNyAwIDY0IDBTMzIgMTQuMyAzMiAzMmwwIDY0IDAgNTkuMSAwIC43TDMyIDE5MmwwIDIxLjljMCAxNC4yIDUuMSAyNy45IDE0LjMgMzguN0wxMzEuNiAzNTJsLTMuNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMTI4IDAgNjQgMCAxMjggMCAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zLjYgMCA4NS4zLTk5LjVjOS4yLTEwLjggMTQuMy0yNC41IDE0LjMtMzguN2wwLTIxLjkgMC0zNi4yIDAtLjdMNjA4IDk2bDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NCAwIDQ4LjgtNjkuMyA5Mi40Yy01LjcgNy42LTE2LjEgOS42LTI0LjIgNC44Yy05LjctNS43LTEyLjEtMTguNy01LjEtMjcuNUw0NzMgMTgwYzEwLjgtMTMuNSA4LjktMzMuMy00LjQtNDQuNXMtMzMtOS44LTQ0LjUgMy4ybC00Ni43IDUyLjVDMzYxIDIwOS43IDM1MiAyMzMuNCAzNTIgMjU4LjFsMCA2MS45IDAgMzItNjQgMCAwLTMyIDAtNjEuOWMwLTI0LjYtOS00OC40LTI1LjQtNjYuOGwtNDYuNy01Mi41Yy0xMS41LTEzLTMxLjMtMTQuNC00NC41LTMuMnMtMTUuMiAzMC45LTQuNCA0NC41bDI3LjYgMzQuNWM3IDguOCA0LjcgMjEuOC01LjEgMjcuNWMtOC4xIDQuOC0xOC42IDIuNy0yNC4yLTQuOEw5NiAxNDQuOCA5NiA5NmwwLTY0em02NCA0NDhsMCAzMiAxMjggMCAwLTMyIDY0IDAgMCAzMiAxMjggMCAwLTMyIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDAtMTI4IDAtNjQgMC0xMjggMC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDB6XCJdXG59O1xuY29uc3QgZmFGaWxlSW52b2ljZURvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWludm9pY2UtZG9sbGFyJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTcxXCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNNjQgODBjMC04LjggNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgOTZjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0xMjggNzJjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTcuM2M4LjUgMS4yIDE2LjcgMy4xIDI0LjEgNS4xYzguNSAyLjMgMTMuNiAxMSAxMS4zIDE5LjZzLTExIDEzLjYtMTkuNiAxMS4zYy0xMS4xLTMtMjItNS4yLTMyLjEtNS4zYy04LjQtLjEtMTcuNCAxLjgtMjMuNiA1LjVjLTUuNyAzLjQtOC4xIDcuMy04LjEgMTIuOGMwIDMuNyAxLjMgNi41IDcuMyAxMC4xYzYuOSA0LjEgMTYuNiA3LjEgMjkuMiAxMC45bC41IC4xczAgMCAwIDBzMCAwIDAgMGMxMS4zIDMuNCAyNS4zIDcuNiAzNi4zIDE0LjZjMTIuMSA3LjYgMjIuNCAxOS43IDIyLjcgMzguMmMuMyAxOS4zLTkuNiAzMy4zLTIyLjkgNDEuNmMtNy43IDQuOC0xNi40IDcuNi0yNS4xIDkuMWwwIDE3LjFjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNy44Yy0xMS4yLTIuMS0yMS43LTUuNy0zMC45LTguOWMwIDAgMCAwIDAgMGMtMi4xLS43LTQuMi0xLjQtNi4yLTIuMWMtOC40LTIuOC0xMi45LTExLjktMTAuMS0yMC4yczExLjktMTIuOSAyMC4yLTEwLjFjMi41IC44IDQuOCAxLjYgNy4xIDIuNGMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMTMuNiA0LjYgMjQuNiA4LjQgMzYuMyA4LjdjOS4xIC4zIDE3LjktMS43IDIzLjctNS4zYzUuMS0zLjIgNy45LTcuMyA3LjgtMTRjLS4xLTQuNi0xLjgtNy44LTcuNy0xMS42Yy02LjgtNC4zLTE2LjUtNy40LTI5LTExLjJsLTEuNi0uNXMwIDAgMCAwYy0xMS0zLjMtMjQuMy03LjMtMzQuOC0xMy43Yy0xMi03LjItMjIuNi0xOC45LTIyLjctMzcuM2MtLjEtMTkuNCAxMC44LTMyLjggMjMuOC00MC41YzcuNS00LjQgMTUuOC03LjIgMjQuMS04LjdsMC0xNy4zYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVBsYW5lQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTU2XCIsIFwiTTI1NiAwYy0zNSAwLTY0IDU5LjUtNjQgOTMuN2wwIDg0LjZMOC4xIDI4My40Yy01IDIuOC04LjEgOC4yLTguMSAxMy45bDAgNjUuNWMwIDEwLjYgMTAuMiAxOC4zIDIwLjQgMTUuNGwxNzEuNi00OSAwIDcwLjktNTcuNiA0My4yYy00IDMtNi40IDcuOC02LjQgMTIuOGwwIDQyYzAgNy44IDYuMyAxNCAxNCAxNGMxLjMgMCAyLjYtLjIgMy45LS41TDI1NiA0ODBsMTEwLjEgMzEuNWMxLjMgLjQgMi42IC41IDMuOSAuNWM2IDAgMTEuMS0zLjcgMTMuMS05QzM0NC41IDQ3MC43IDMyMCA0MjIuMiAzMjAgMzY4YzAtNjAuNiAzMC42LTExNCA3Ny4xLTE0NS42TDMyMCAxNzguM2wwLTg0LjZDMzIwIDU5LjUgMjkyIDAgMjU2IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFYUmF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3gtcmF5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDk3XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAzMjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTI1NiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzItODAgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw4MCAwIDAgNDgtMTEyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTEyIDAgMCA3MC42TDE4OS4xIDMwN2MtNS4yLTItMTAuNi0zLTE2LjItM2wtMi4xIDBjLTIzLjYgMC00Mi44IDE5LjItNDIuOCA0Mi44YzAgOS42IDMuMiAxOC45IDkuMSAyNi40bDE4LjIgMjMuMmM5LjcgMTIuNCAyNC42IDE5LjYgNDAuMyAxOS42bDEyMC44IDBjMTUuNyAwIDMwLjYtNy4yIDQwLjMtMTkuNmwxOC4yLTIzLjJjNS45LTcuNSA5LjEtMTYuOCA5LjEtMjYuNGMwLTIzLjYtMTkuMi00Mi44LTQyLjgtNDIuOGwtMi4yIDBjLTUuNSAwLTExIDEtMTYuMiAzTDI3MiAzMjYuNmwwLTcwLjYgMTEyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTExMiAwIDAtNDggODAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtODAgMCAwLTMyYzAtOC44LTcuMi0xNi0xNi0xNnpNMjA4IDM1MmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTgwIDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6XCJdXG59O1xuY29uc3QgZmFTcGVsbENoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwZWxsLWNoZWNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmODkxXCIsIFwiTTExMiAwQzk5LjEgMCA4Ny40IDcuOCA4Mi41IDE5LjdsLTY2LjcgMTYwLTEzLjMgMzJjLTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJMNjYuNyAyMjRsOTAuNyAwIDUuMSAxMi4zYzYuOCAxNi4zIDI1LjUgMjQgNDEuOCAxNy4yczI0LTI1LjUgMTcuMi00MS44bC0xMy4zLTMyLTY2LjctMTYwQzEzNi42IDcuOCAxMjQuOSAwIDExMiAwem0xOC43IDE2MGwtMzcuMyAwTDExMiAxMTUuMiAxMzAuNyAxNjB6TTI1NiAzMmwwIDk2IDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsODAgMGM0NC4yIDAgODAtMzUuOCA4MC04MGMwLTIzLjEtOS44LTQzLjgtMjUuNC01OC40YzYtMTEuMiA5LjQtMjQgOS40LTM3LjZjMC00NC4yLTM1LjgtODAtODAtODBMMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05NiA2NGwtMzIgMCAwLTMyIDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZ6bS0zMiA2NGwzMiAwIDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDAgMC0zMnpNNTY2LjYgMzEwLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzUyIDQzNC43bC03My40LTczLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE5Mi0xOTJ6XCJdXG59O1xuY29uc3QgZmFTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjcxNVwiLCBcIk01LjEgOS4yQzEzLjMtMS4yIDI4LjQtMy4xIDM4LjggNS4xbDU5MiA0NjRjMTAuNCA4LjIgMTIuMyAyMy4zIDQuMSAzMy43cy0yMy4zIDEyLjMtMzMuNyA0LjFMOS4yIDQyLjlDLTEuMiAzNC43LTMuMSAxOS42IDUuMSA5LjJ6XCJdXG59O1xuY29uc3QgZmFDb21wdXRlck1vdXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbXB1dGVyLW1vdXNlJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4NDMzLCBcIm1vdXNlXCJdLCBcImY4Y2NcIiwgXCJNMCAxOTJsMTc2IDBMMTc2IDAgMTYwIDBDNzEuNiAwIDAgNzEuNiAwIDE2MGwwIDMyem0wIDMyTDAgMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwbDY0IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC0xMjgtMTkyIDBMMCAyMjR6bTM4NC0zMmwwLTMyQzM4NCA3MS42IDMxMi40IDAgMjI0IDBMMjA4IDBsMCAxOTIgMTc2IDB6XCJdXG59O1xuY29uc3QgZmFNb3VzZSA9IGZhQ29tcHV0ZXJNb3VzZTtcbmNvbnN0IGZhQXJyb3dSaWdodFRvQnJhY2tldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC10by1icmFja2V0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzaWduLWluXCJdLCBcImYwOTBcIiwgXCJNMzUyIDk2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjU2YzAtNTMtNDMtOTYtOTYtOTZsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bS05LjQgMTgyLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDI0Mi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjEwLjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHpcIl1cbn07XG5jb25zdCBmYVNpZ25JbiA9IGZhQXJyb3dSaWdodFRvQnJhY2tldDtcbmNvbnN0IGZhU2hvcFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3Atc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInN0b3JlLWFsdC1zbGFzaFwiXSwgXCJlMDcwXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTU0LjgtNDNMNTc2IDIyNGwtNjQgMCAwIDE1MkwzODQgMjc1LjdsMC01MS43LTY0IDAgMCAxLjVMMjc3LjIgMTkybDMyNS45IDBjMjAuMyAwIDM2LjgtMTYuNSAzNi44LTM2LjhjMC03LjMtMi4yLTE0LjQtNi4yLTIwLjRMNTU4LjIgMjEuNEM1NDkuMyA4IDUzNC40IDAgNTE4LjMgMEwxMjEuNyAwYy0xNiAwLTMxIDgtMzkuOSAyMS40TDc0LjEgMzIuOCAzOC44IDUuMXpNMzYuOCAxOTJsODUgMEwyMSAxMTIuNSA2LjIgMTM0LjdjLTQgNi4xLTYuMiAxMy4yLTYuMiAyMC40QzAgMTc1LjUgMTYuNSAxOTIgMzYuOCAxOTJ6TTMyMCAzODRsLTE5MiAwIDAtMTYwLTY0IDAgMCAxNjAgMCA4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY1LjUtNjQtNTAuNCAwIDM1Ljl6XCJdXG59O1xuY29uc3QgZmFTdG9yZUFsdFNsYXNoID0gZmFTaG9wU2xhc2g7XG5jb25zdCBmYVNlcnZlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzZXJ2ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyMzNcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NmwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTI4MCA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQ4IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OHptMjgwIDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNTYgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG5jb25zdCBmYVZpcnVzQ292aWRTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aXJ1cy1jb3ZpZC1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRhOVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ3Mi4xIDM0NC43YzExLjQtMTkuNSAxOS4xLTQxLjQgMjIuMy02NC43bDMzLjYgMCAwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTMzLjYgMGMtNC4yLTMwLjctMTYuMy01OC44LTM0LjEtODIuM0w0ODQgMTI1LjlsMTEuMyAxMS4zYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0NzIuNyA0Ni43Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45TDQ1MC4xIDkybC0yMy44IDIzLjhDNDAyLjggOTcuOSAzNzQuNyA4NS44IDM0NCA4MS42TDM0NCA0OGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI4MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDAgMCAzMy42Yy0zMC43IDQuMi01OC44IDE2LjMtODIuMyAzNC4xTDE4OS45IDkybDExLjMtMTEuM2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDEzNC4xIDc5LjggMzguOCA1LjF6TTE0OS4yIDIxMy41Yy0xLjUgNi0yLjcgMTIuMi0zLjUgMTguNUwxMTIgMjMybDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMzMuNiAwYzQuMiAzMC43IDE2LjMgNTguOCAzNC4xIDgyLjNMMTU2IDM4Ni4xbC0xMS4zLTExLjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTYuNiA1Ni42YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwxODkuOSA0MjBsMjMuOC0yMy44YzIzLjUgMTcuOSA1MS43IDI5LjkgODIuMyAzNC4xbDAgMzMuNi0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2IDAgMC0zMy42YzIwLjQtMi44IDM5LjctOS4xIDU3LjMtMTguMkwxNDkuMiAyMTMuNXpcIl1cbn07XG5jb25zdCBmYVNob3BMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3AtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRhNVwiLCBcIk0zNi44IDE5Mmw0MTIuOCAwYzIwLjItMTkuOCA0Ny45LTMyIDc4LjQtMzJjMzAuNSAwIDU4LjEgMTIuMiA3OC4zIDMxLjljMTguOS0xLjYgMzMuNy0xNy40IDMzLjctMzYuN2MwLTcuMy0yLjItMTQuNC02LjItMjAuNEw1NTguMiAyMS40QzU0OS4zIDggNTM0LjQgMCA1MTguMyAwTDEyMS43IDBjLTE2IDAtMzEgOC0zOS45IDIxLjRMNi4yIDEzNC43Yy00IDYuMS02LjIgMTMuMi02LjIgMjAuNEMwIDE3NS41IDE2LjUgMTkyIDM2LjggMTkyek0zODQgMjI0bC02NCAwIDAgMTYwLTE5MiAwIDAtMTYwLTY0IDAgMCAxNjAgMCA4MGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTgwIDAtMzIgMC0xMjh6bTE0NCAxNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4LTY0IDAgMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTgwIDMybDAgNDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3NTdGFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VyZ2xhc3Mtc3RhcnQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImhvdXJnbGFzcy0xXCJdLCBcImYyNTFcIiwgXCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMUwxNDYuNyAyNTYgNzguOSAzMjMuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN2wwIDExYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMjU2IDAgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTExYzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMUwyMzcuMyAyNTZsNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xbDAtMTFjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIwIDAgNjQgMCAzMiAwek0yODggNDM3bDAgMTFMOTYgNDQ4bDAtMTFjMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlMMTkyIDMwMS4zbDY3LjkgNjcuOWMxOCAxOCAyOC4xIDQyLjQgMjguMSA2Ny45elwiXVxufTtcbmNvbnN0IGZhSG91cmdsYXNzMSA9IGZhSG91cmdsYXNzU3RhcnQ7XG5jb25zdCBmYUJsZW5kZXJQaG9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdibGVuZGVyLXBob25lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNmI2XCIsIFwiTTIyNCAzNTJMMTk2LjggNTIuM0MxOTQuMiAyNC4yIDIxNi4zIDAgMjQ0LjYgMEw1MzQuMSAwYzIxLjEgMCAzNi40IDIwLjEgMzAuOSA0MC40TDU1OC41IDY0IDQwMCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxNDkuOCAwLTE3LjUgNjRMNDAwIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjMuNiAwLTE3LjUgNjRMNDAwIDI1NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw5Ny41IDBMNDgwIDM1MmwtMjU2IDB6bS0xNiAzMmwyODggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yODggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zMmMwLTI2LjUgMjEuNS00OCA0OC00OHptMTQ0IDk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTQ3LjUgMzAuN2MxMC44IDYuNyAxNS4zIDIxIDEwLjYgMzMuNGwtMjIgNTcuOGMtNC4yIDEwLjktMTQuNSAxNy42LTI1LjMgMTYuNGwtMzMuMy0zLjZjLTEzLjYgNDIuMi0xMy42IDg4LjQgMCAxMzAuN2wzMy4zLTMuNmMxMC45LTEuMiAyMS4yIDUuNSAyNS4zIDE2LjRsMjIgNTcuOGM0LjcgMTIuNCAuMiAyNi43LTEwLjYgMzMuNGwtNDQgMjcuMmMtOS43IDYtMjEuOSA0LjItMjkuOC00LjNDLTI0LjYgMjg2LTI0LjYgMTE0IDczLjcgNy44QzgxLjYtLjcgOTMuOC0yLjUgMTAzLjUgMy41bDQ0IDI3LjJ6XCJdXG59O1xuY29uc3QgZmFCdWlsZGluZ1doZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLXdoZWF0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGRiXCIsIFwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCA4MC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTEyLTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTY0IDExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNkw4MCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNzYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzg0IDgwbDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDAgMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGwxNiAwem0wIDEyOGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtMTYgMCAwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2IDAgMCAxNnptMCAxMTJjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDAgMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGwxNiAwIDAgMTZ6TTUxMiA0OTZsMCAxNi0xNiAwYy00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2IDE2IDBjNDQuMiAwIDgwIDM1LjggODAgODB6bTAtOTZsLTE2IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTYgMTYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2em0wLTEyOGwwIDE2LTE2IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTYgMTYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MHpNNTI4IDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTA0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0em05NiA2NGwwIDMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNNDU2IDcyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkJyZWFzdGZlZWRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWJyZWFzdGZlZWRpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1M2FcIiwgXCJNMjI0IDBhODAgODAgMCAxIDEgMCAxNjBBODAgODAgMCAxIDEgMjI0IDB6TTQzNi44IDM4Mi44TDM3My41IDQ2MmMtMTYuNiAyMC43LTQ2LjggMjQuMS02Ny41IDcuNWMtMTcuNi0xNC4xLTIyLjctMzguMS0xMy41LTU3LjdsLS44LS4xYy0zOC45LTUuNi03NC4zLTI1LjEtOTkuNy01NC44bDAtMzYuOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgLjggMCAxLjYgLjEgMi40bDEwMS40IDUwLjdjMjMuNyAxMS45IDMzLjMgNDAuNyAyMS41IDY0LjRzLTQwLjcgMzMuMy02NC40IDIxLjVMMjcuMiA0MjcuM2MtMS4xLS41LTIuMi0xLjEtMy4zLTEuN2MtNC45LTIuOC05LjItNi40LTEyLjYtMTAuNmMtNC42LTUuNC03LjgtMTEuNy05LjYtMTguNGMtMy4zLTEyLTEuOS0yNS4yIDQuOC0zNi42Yy42LTEuMSAxLjMtMi4yIDItMy4yTDc1LjYgMjU2LjFjMjYuNy00MC4xIDcxLjctNjQuMSAxMTkuOC02NC4xbDc1LjIgMGM0Ni41IDAgOTAuMSAyMi41IDExNy4yIDYwLjNsNTAuNyA3MC45YzIuMiAzIDQgNi4xIDUuNSA5LjRjMi45IDYuNyA0LjMgMTMuOCA0IDIwLjhjLS4zIDEwLjYtNC4yIDIxLTExLjIgMjkuNHpNMzIwIDMzMmE0NCA0NCAwIDEgMCAtODggMCA0NCA0NCAwIDEgMCA4OCAwelwiXVxufTtcbmNvbnN0IGZhUmlnaHRUb0JyYWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmlnaHQtdG8tYnJhY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnbi1pbi1hbHRcIl0sIFwiZjJmNlwiLCBcIk0yMTcuOSAxMDUuOUwzNDAuNyAyMjguN2M3LjIgNy4yIDExLjMgMTcuMSAxMS4zIDI3LjNzLTQuMSAyMC4xLTExLjMgMjcuM0wyMTcuOSA0MDYuMWMtNi40IDYuNC0xNSA5LjktMjQgOS45Yy0xOC43IDAtMzMuOS0xNS4yLTMzLjktMzMuOWwwLTYyLjFMMzIgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwIDAtNjIuMWMwLTE4LjcgMTUuMi0zMy45IDMzLjktMzMuOWM5IDAgMTcuNiAzLjYgMjQgOS45ek0zNTIgNDE2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yNTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjU2YzAgNTMtNDMgOTYtOTYgOTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTaWduSW5BbHQgPSBmYVJpZ2h0VG9CcmFja2V0O1xuY29uc3QgZmFWZW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ZW51cycsXG4gIGljb246IFszODQsIDUxMiwgWzk3OTJdLCBcImYyMjFcIiwgXCJNODAgMTc2YTExMiAxMTIgMCAxIDEgMjI0IDBBMTEyIDExMiAwIDEgMSA4MCAxNzZ6TTIyNCAzNDkuMWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMUMzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMWwwIDM0LjktMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zNC45elwiXVxufTtcbmNvbnN0IGZhUGFzc3BvcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFzc3BvcnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1YWJcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0xODMgMjc4LjhjLTI3LjktMTMuMi00OC40LTM5LjQtNTMuNy03MC44bDM5LjEgMGMxLjYgMzAuNCA3LjcgNTMuOCAxNC42IDcwLjh6bTQxLjMgOS4ybC0uMyAwLS4zIDBjLTIuNC0zLjUtNS43LTguOS05LjEtMTYuNWMtNi0xMy42LTEyLjQtMzQuMy0xNC4yLTYzLjVsNDcuMSAwYy0xLjggMjkuMi04LjEgNDkuOS0xNC4yIDYzLjVjLTMuNCA3LjYtNi43IDEzLTkuMSAxNi41em00MC43LTkuMmM2LjgtMTcuMSAxMi45LTQwLjQgMTQuNi03MC44bDM5LjEgMGMtNS4zIDMxLjQtMjUuOCA1Ny42LTUzLjcgNzAuOHpNMjc5LjYgMTc2Yy0xLjYtMzAuNC03LjctNTMuOC0xNC42LTcwLjhjMjcuOSAxMy4yIDQ4LjQgMzkuNCA1My43IDcwLjhsLTM5LjEgMHpNMjIzLjcgOTZsLjMgMCAuMyAwYzIuNCAzLjUgNS43IDguOSA5LjEgMTYuNWM2IDEzLjYgMTIuNCAzNC4zIDE0LjIgNjMuNWwtNDcuMSAwYzEuOC0yOS4yIDguMS00OS45IDE0LjItNjMuNWMzLjQtNy42IDYuNy0xMyA5LjEtMTYuNXpNMTgzIDEwNS4yYy02LjggMTcuMS0xMi45IDQwLjQtMTQuNiA3MC44bC0zOS4xIDBjNS4zLTMxLjQgMjUuOC01Ny42IDUzLjctNzAuOHpNMzUyIDE5MkExMjggMTI4IDAgMSAwIDk2IDE5MmExMjggMTI4IDAgMSAwIDI1NiAwek0xMTIgMzg0Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDIyNCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0yMjQgMHpcIl1cbn07XG5jb25zdCBmYVRodW1idGFja1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1idGFjay1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1widGh1bWItdGFjay1zbGFzaFwiXSwgXCJlNjhmXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNDgxLjQgMzUyYzkuOC0uNCAxOC45LTUuMyAyNC42LTEzLjNjNi04LjMgNy43LTE5LjEgNC40LTI4LjhsLTEtM2MtMTMuOC00MS41LTQyLjgtNzQuOC03OS41LTk0LjdMNDE4LjUgNjQgNDQ4IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI5LjUgMC02LjEgNzkuNUwzOC44IDUuMXpNMzI0LjkgMzUyTDE3Ny4xIDIzNS42Yy0yMC45IDE4LjktMzcuMiA0My4zLTQ2LjUgNzEuM2wtMSAzYy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44czE1LjcgMTMuMyAyNiAxMy4zbDE2NC45IDB6TTI4OCAzODRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYtNjQgMHpcIl1cbn07XG5jb25zdCBmYVRodW1iVGFja1NsYXNoID0gZmFUaHVtYnRhY2tTbGFzaDtcbmNvbnN0IGZhSGVhcnRQdWxzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1wdWxzZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiaGVhcnRiZWF0XCJdLCBcImYyMWVcIiwgXCJNMjI4LjMgNDY5LjFMNDcuNiAzMDAuNGMtNC4yLTMuOS04LjItOC4xLTExLjktMTIuNGw4NyAwYzIyLjYgMCA0My0xMy42IDUxLjctMzQuNWwxMC41LTI1LjIgNDkuMyAxMDkuNWMzLjggOC41IDEyLjEgMTQgMjEuNCAxNC4xczE3LjgtNSAyMi0xMy4zTDMyMCAyNTMuN2wxLjcgMy40YzkuNSAxOSAyOC45IDMxIDUwLjEgMzFsMTA0LjUgMGMtMy43IDQuMy03LjcgOC41LTExLjkgMTIuNEwyODMuNyA0NjkuMWMtNy41IDctMTcuNCAxMC45LTI3LjcgMTAuOXMtMjAuMi0zLjktMjcuNy0xMC45ek01MDMuNyAyNDBsLTEzMiAwYy0zIDAtNS44LTEuNy03LjItNC40bC0yMy4yLTQ2LjNjLTQuMS04LjEtMTIuNC0xMy4zLTIxLjUtMTMuM3MtMTcuNCA1LjEtMjEuNSAxMy4zbC00MS40IDgyLjhMMjA1LjkgMTU4LjJjLTMuOS04LjctMTIuNy0xNC4zLTIyLjItMTQuMXMtMTguMSA1LjktMjEuOCAxNC44bC0zMS44IDc2LjNjLTEuMiAzLTQuMiA0LjktNy40IDQuOUwxNiAyNDBjLTIuNiAwLTUgLjQtNy4zIDEuMUMzIDIyNS4yIDAgMjA4LjIgMCAxOTAuOWwwLTUuOGMwLTY5LjkgNTAuNS0xMjkuNSAxMTkuNC0xNDFDMTY1IDM2LjUgMjExLjQgNTEuNCAyNDQgODRsMTIgMTIgMTItMTJjMzIuNi0zMi42IDc5LTQ3LjUgMTI0LjYtMzkuOUM0NjEuNSA1NS42IDUxMiAxMTUuMiA1MTIgMTg1LjFsMCA1LjhjMCAxNi45LTIuOCAzMy41LTguMyA0OS4xelwiXVxufTtcbmNvbnN0IGZhSGVhcnRiZWF0ID0gZmFIZWFydFB1bHNlO1xuY29uc3QgZmFQZW9wbGVDYXJyeUJveCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW9wbGUtY2FycnktYm94JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJwZW9wbGUtY2FycnlcIl0sIFwiZjRjZVwiLCBcIk04MCA0OGE0OCA0OCAwIDEgMSA5NiAwQTQ4IDQ4IDAgMSAxIDgwIDQ4em02NCAxOTMuN2wwIDY1LjEgNTEgNTFjNy4xIDcuMSAxMS44IDE2LjIgMTMuNCAyNi4xbDE1LjIgOTAuOWMyLjkgMTcuNC04LjkgMzMuOS0yNi4zIDM2LjhzLTMzLjktOC45LTM2LjgtMjYuM2wtMTQuMy04NS45TDY2LjggMzIwQzU0LjggMzA4IDQ4IDI5MS43IDQ4IDI3NC43bDAtODguMWMwLTMyLjQgMjYuMi01OC42IDU4LjYtNTguNmMyNC4xIDAgNDYuNSAxMiA1OS45IDMybDQ3LjQgNzEuMSAxMC4xIDUgMC03Ni4yYzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNzYuMiAxMC4xLTVMNDczLjUgMTYwYzEzLjMtMjAgMzUuOC0zMiA1OS45LTMyYzMyLjQgMCA1OC42IDI2LjIgNTguNiA1OC42bDAgODguMWMwIDE3LTYuNyAzMy4zLTE4LjcgNDUuM2wtNzkuNCA3OS40LTE0LjMgODUuOWMtMi45IDE3LjQtMTkuNCAyOS4yLTM2LjggMjYuM3MtMjkuMi0xOS40LTI2LjMtMzYuOGwxNS4yLTkwLjljMS42LTkuOSA2LjMtMTkgMTMuNC0yNi4xbDUxLTUxIDAtNjUuMS0xOSAyOC41Yy00LjYgNy0xMSAxMi42LTE4LjUgMTYuM2wtNTkuNiAyOS44Yy0yLjQgMS4zLTQuOSAyLjItNy42IDIuOGMtMi42IC42LTUuMyAuOS03LjkgLjhsLTEyNi43IDBjLTIuNSAuMS01LS4yLTcuNS0uN2MtMi45LS42LTUuNi0xLjYtOC4xLTNsLTU5LjUtMjkuOGMtNy41LTMuNy0xMy44LTkuNC0xOC41LTE2LjNsLTE5LTI4LjV6TTIuMyA0NjguMUw1MC4xIDM0OC42bDQ5LjIgNDkuMi0zNy42IDk0Yy02LjYgMTYuNC0yNS4yIDI0LjQtNDEuNiAxNy44Uy00LjMgNDg0LjUgMi4zIDQ2OC4xek01MTIgMGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTc3LjkgMzQ4LjZsNDcuOCAxMTkuNWM2LjYgMTYuNC0xLjQgMzUtMTcuOCA0MS42cy0zNS0xLjQtNDEuNi0xNy44bC0zNy42LTk0IDQ5LjItNDkuMnpcIl1cbn07XG5jb25zdCBmYVBlb3BsZUNhcnJ5ID0gZmFQZW9wbGVDYXJyeUJveDtcbmNvbnN0IGZhVGVtcGVyYXR1cmVIaWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWhpZ2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3NjlcIiwgXCJNNDE2IDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMCAxMjhBOTYgOTYgMCAxIDAgNDE2IDBhOTYgOTYgMCAxIDAgMCAxOTJ6TTk2IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTY0LjVjMCAxNy4zIDcuMSAzMS45IDE1LjMgNDIuNUMyMTcuOCAzMzIuNiAyMjQgMzQ5LjUgMjI0IDM2OGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTE4LjUgNi4yLTM1LjQgMTYuNy00OC45Qzg4LjkgMzA4LjQgOTYgMjkzLjggOTYgMjc2LjVMOTYgMTEyek0xNDQgMEM4Mi4xIDAgMzIgNTAuMiAzMiAxMTJsMCAxNjQuNGMwIC4xLS4xIC4zLS4yIC42Yy0uMiAuNi0uOCAxLjYtMS43IDIuOEMxMS4yIDMwNC4yIDAgMzM0LjggMCAzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGMwLTMzLjItMTEuMi02My44LTMwLjEtODguMWMtLjktMS4yLTEuNS0yLjItMS43LTIuOGMtLjEtLjMtLjItLjUtLjItLjZMMjU2IDExMkMyNTYgNTAuMiAyMDUuOSAwIDE0NCAwem0wIDQxNmMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTIwLjktMTMuNC0zOC43LTMyLTQ1LjNMMTYwIDExMmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDIxMC43Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjNjMCAyNi41IDIxLjUgNDggNDggNDh6XCJdXG59O1xuY29uc3QgZmFNaWNyb2NoaXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWljcm9jaGlwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMmRiXCIsIFwiTTE3NiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgNTYtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgNTYtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwYzAgMzUuMyAyOC43IDY0IDY0IDY0bDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwIDU2IDAgMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAgNTYgMCAwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MGMzNS4zIDAgNjQtMjguNyA2NC02NGw0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwIDAtNTYgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMCAwLTU2IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDBjMC0zNS4zLTI4LjctNjQtNjQtNjRsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwLTU2IDAgMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwLTU2IDAgMC00MHpNMTYwIDEyOGwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMzJsLTE5MiAwIDAgMTkyIDE5MiAwIDAtMTkyelwiXVxufTtcbmNvbnN0IGZhQ3Jvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3Jvd24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwODFdLCBcImY1MjFcIiwgXCJNMzA5IDEwNmMxMS40LTcgMTktMTkuNyAxOS0zNGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDE0LjQgNy42IDI3IDE5IDM0TDIwOS43IDIyMC42Yy05LjEgMTguMi0zMi43IDIzLjQtNDguNiAxMC43TDcyIDE2MGM1LTYuNyA4LTE1IDgtMjRjMC0yMi4xLTE3LjktNDAtNDAtNDBTMCAxMTMuOSAwIDEzNnMxNy45IDQwIDQwIDQwYy4yIDAgLjUgMCAuNyAwTDg2LjQgNDI3LjRjNS41IDMwLjQgMzIgNTIuNiA2MyA1Mi42bDI3Ny4yIDBjMzAuOSAwIDU3LjQtMjIuMSA2My01Mi42TDUzNS4zIDE3NmMuMiAwIC41IDAgLjcgMGMyMi4xIDAgNDAtMTcuOSA0MC00MHMtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDkgMyAxNy4zIDggMjRsLTg5LjEgNzEuM2MtMTUuOSAxMi43LTM5LjUgNy41LTQ4LjYtMTAuN0wzMDkgMTA2elwiXVxufTtcbmNvbnN0IGZhV2VpZ2h0SGFuZ2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3ZWlnaHQtaGFuZ2luZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjVjZFwiLCBcIk0yMjQgOTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTIyLjUgMzJjMy41LTEwIDUuNS0yMC44IDUuNS0zMmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDExLjIgMS45IDIyIDUuNSAzMkwxMjAgMTI4Yy0yMiAwLTQxLjIgMTUtNDYuNiAzNi40bC03MiAyODhjLTMuNiAxNC4zLS40IDI5LjUgOC43IDQxLjJTMzMuMiA1MTIgNDggNTEybDQxNiAwYzE0LjggMCAyOC43LTYuOCAzNy44LTE4LjVzMTIuMy0yNi44IDguNy00MS4ybC03Mi0yODhDNDMzLjIgMTQzIDQxNCAxMjggMzkyIDEyOGwtNDUuNSAwelwiXVxufTtcbmNvbnN0IGZhWG1hcmtzTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneG1hcmtzLWxpbmVzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTlhXCIsIFwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnptMCAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2ek03IDE2N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTUgNTVMNyAzMTFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1TDQxIDE2N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6TTI2NSAxNjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1ek00NTUgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhRmlsZVByZXNjcmlwdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXByZXNjcmlwdGlvbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU3MlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTEwNCAxOTZsNzIgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MGMwIDI1LjUtMTUuOSA0Ny4yLTM4LjMgNTUuOWw0MyA0MC4zIDMzLjgtMzFjOC4xLTcuNSAyMC44LTYuOSAyOC4zIDEuMnM2LjkgMjAuOC0xLjIgMjguM0wyNzAgMzc5LjdsMzEuNyAyOS43YzguMSA3LjYgOC41IDIwLjIgLjkgMjguM3MtMjAuMiA4LjUtMjguMyAuOWwtMzMuOS0zMS44LTM0LjkgMzJjLTguMSA3LjUtMjAuOCA2LjktMjguMy0xLjJzLTYuOS0yMC44IDEuMi0yOC4zbDMyLjYtMjkuOS02NC44LTYwLjhjLS45LS44LTEuNi0xLjctMi4zLTIuNmwtMjAgMCAwIDQ0YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTY0IDAtODBjMC0xMSA5LTIwIDIwLTIwem03MiA4MGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTUyIDAgMCA0MCA1MiAwelwiXVxufTtcbmNvbnN0IGZhV2VpZ2h0U2NhbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2VpZ2h0LXNjYWxlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ3ZWlnaHRcIl0sIFwiZjQ5NlwiLCBcIk0xMjggMTc2YTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6TTM5MS44IDY0QzM1OS41IDI0LjkgMzEwLjcgMCAyNTYgMFMxNTIuNSAyNC45IDEyMC4yIDY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC01Ni4yIDB6TTI5NiAyMjRjMC0xMC42LTQuMS0yMC4yLTEwLjktMjcuNGwzMy42LTc4LjNjMy41LTguMS0uMy0xNy41LTguNC0yMXMtMTcuNSAuMy0yMSA4LjRMMjU1LjcgMTg0Yy0yMiAuMS0zOS43IDE4LTM5LjcgNDBjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MHpcIl1cbn07XG5jb25zdCBmYVdlaWdodCA9IGZhV2VpZ2h0U2NhbGU7XG5jb25zdCBmYVVzZXJHcm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWdyb3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MTAxLCBcInVzZXItZnJpZW5kc1wiXSwgXCJmNTAwXCIsIFwiTTk2IDEyOGExMjggMTI4IDAgMSAxIDI1NiAwQTEyOCAxMjggMCAxIDEgOTYgMTI4ek0wIDQ4Mi4zQzAgMzgzLjggNzkuOCAzMDQgMTc4LjMgMzA0bDkxLjQgMEMzNjguMiAzMDQgNDQ4IDM4My44IDQ0OCA0ODIuM2MwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0wyOS43IDUxMkMxMy4zIDUxMiAwIDQ5OC43IDAgNDgyLjN6TTYwOS4zIDUxMmwtMTM3LjggMGM1LjQtOS40IDguNi0yMC4zIDguNi0zMmwwLThjMC02MC43LTI3LjEtMTE1LjItNjkuOC0xNTEuOGMyLjQtLjEgNC43LS4yIDcuMS0uMmw2MS40IDBDNTY3LjggMzIwIDY0MCAzOTIuMiA2NDAgNDgxLjNjMCAxNy0xMy44IDMwLjctMzAuNyAzMC43ek00MzIgMjU2Yy0zMSAwLTU5LTEyLjYtNzkuMy0zMi45QzM3Mi40IDE5Ni41IDM4NCAxNjMuNiAzODQgMTI4YzAtMjYuOC02LjYtNTIuMS0xOC4zLTc0LjNDMzg0LjMgNDAuMSA0MDcuMiAzMiA0MzIgMzJjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJzLTUwLjEgMTEyLTExMiAxMTJ6XCJdXG59O1xuY29uc3QgZmFVc2VyRnJpZW5kcyA9IGZhVXNlckdyb3VwO1xuY29uc3QgZmFBcnJvd1VwQVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtYS16JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFscGhhLXVwXCJdLCBcImYxNWVcIiwgXCJNMTgzLjYgNDIuNEMxNzcuNSAzNS44IDE2OSAzMiAxNjAgMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDEyOCAxNDYuMyAxMjggNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDEuNyAzMi40IDM1LjRjMTEuOSAxMyAzMi4yIDEzLjkgNDUuMiAyczEzLjktMzIuMiAyLTQ1LjJsLTg4LTk2ek0zMjAgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDUwLjcgMC03My40IDczLjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUwLjcgMCA3My40LTczLjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5LjhsLTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNNDE2IDMyYy0xMi4xIDAtMjMuMiA2LjgtMjguNiAxNy43bC02NCAxMjgtMTYgMzJjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w3LjItMTQuMyA4OC40IDAgNy4yIDE0LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45bC0xNi0zMi02NC0xMjhDNDM5LjIgMzguOCA0MjguMSAzMiA0MTYgMzJ6TTM5NS44IDE3Nkw0MTYgMTM1LjYgNDM2LjIgMTc2bC00MC40IDB6XCJdXG59O1xuY29uc3QgZmFTb3J0QWxwaGFVcCA9IGZhQXJyb3dVcEFaO1xuY29uc3QgZmFDaGVzc0tuaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1rbmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODIyXSwgXCJmNDQxXCIsIFwiTTk2IDQ4TDgyLjcgNjEuM0M3MC43IDczLjMgNjQgODkuNSA2NCAxMDYuNWwwIDEzMi40YzAgMTAuNyA1LjMgMjAuNyAxNC4yIDI2LjZsMTAuNiA3YzE0LjMgOS42IDMyLjcgMTAuNyA0OC4xIDNsMy4yLTEuNmMyLjYtMS4zIDUtMi44IDcuMy00LjVsNDkuNC0zN2M2LjYtNSAxNS43LTUgMjIuMyAwYzEwLjIgNy43IDkuOSAyMy4xLS43IDMwLjNMOTAuNCAzNTBDNzMuOSAzNjEuMyA2NCAzODAgNjQgNDAwbDMyMCAwIDI4LjktMTU5YzIuMS0xMS4zIDMuMS0yMi44IDMuMS0zNC4zbDAtMTQuN0M0MTYgODYgMzMwIDAgMjI0IDBMODMuOCAwQzcyLjkgMCA2NCA4LjkgNjQgMTkuOGMwIDcuNSA0LjIgMTQuMyAxMC45IDE3LjdMOTYgNDh6bTI0IDY4YTIwIDIwIDAgMSAxIDQwIDAgMjAgMjAgMCAxIDEgLTQwIDB6TTIyLjYgNDczLjRjLTQuMiA0LjItNi42IDEwLTYuNiAxNkMxNiA1MDEuOSAyNi4xIDUxMiAzOC42IDUxMmwzNzAuNyAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZMMzg0IDQzMiA2NCA0MzIgMjIuNiA0NzMuNHpcIl1cbn07XG5jb25zdCBmYUZhY2VMYXVnaFNxdWludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWxhdWdoLXNxdWludCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2gtc3F1aW50XCJdLCBcImY1OWJcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTk2LjggMzE0LjFjLTMuOC0xMy43IDcuNC0yNi4xIDIxLjYtMjYuMWwyNzUuMiAwYzE0LjIgMCAyNS41IDEyLjQgMjEuNiAyNi4xQzM5Ni4yIDM4MiAzMzIuMSA0MzIgMjU2IDQzMnMtMTQwLjItNTAtMTU5LjItMTE3Ljl6bTM2LjctMTk5LjRsODkuOSA0Ny45YzEwLjcgNS43IDEwLjcgMjEuMSAwIDI2LjhsLTg5LjkgNDcuOWMtNy45IDQuMi0xNy41LTEuNS0xNy41LTEwLjVjMC0yLjggMS01LjUgMi44LTcuNmwzNi00My4yLTM2LTQzLjJjLTEuOC0yLjEtMi44LTQuOC0yLjgtNy42YzAtOSA5LjYtMTQuNyAxNy41LTEwLjV6TTM5NiAxMjUuMWMwIDIuOC0xIDUuNS0yLjggNy42bC0zNiA0My4yIDM2IDQzLjJjMS44IDIuMSAyLjggNC44IDIuOCA3LjZjMCA5LTkuNiAxNC43LTE3LjUgMTAuNWwtODkuOS00Ny45Yy0xMC43LTUuNy0xMC43LTIxLjEgMC0yNi44bDg5LjktNDcuOWM3LjktNC4yIDE3LjUgMS41IDE3LjUgMTAuNXpcIl1cbn07XG5jb25zdCBmYUxhdWdoU3F1aW50ID0gZmFGYWNlTGF1Z2hTcXVpbnQ7XG5jb25zdCBmYVdoZWVsY2hhaXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hlZWxjaGFpcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjE5M1wiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xMjAuNSAyNDcuMmMxMi40LTQuNyAxOC43LTE4LjUgMTQtMzAuOXMtMTguNS0xOC43LTMwLjktMTRDNDMuMSAyMjUuMSAwIDI4My41IDAgMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwYzYxLjIgMCAxMTQuMy0zNC4zIDE0MS4yLTg0LjdjNi4yLTExLjcgMS44LTI2LjItOS45LTMyLjVzLTI2LjItMS44LTMyLjUgOS45QzI0MCA0NDAgMjAyLjggNDY0IDE2MCA0NjRDOTguMSA0NjQgNDggNDEzLjkgNDggMzUyYzAtNDcuOSAzMC4xLTg4LjggNzIuNS0xMDQuOHpNMjU5LjggMTc2bC0xLjktOS43Yy00LjUtMjIuMy0yNC0zOC4zLTQ2LjgtMzguM2MtMzAuMSAwLTUyLjcgMjcuNS00Ni44IDU3bDIzLjEgMTE1LjVjNiAyOS45IDMyLjIgNTEuNCA2Mi44IDUxLjRsNS4xIDBjLjQgMCAuOCAwIDEuMyAwbDk0LjEgMGM2LjcgMCAxMi42IDQuMSAxNSAxMC40TDQwMiA0NTkuMmM2IDE2LjEgMjMuOCAyNC42IDQwLjEgMTkuMWw0OC0xNmMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4ybC0xOC43IDYuMi0yNS41LTY4Yy0xMS43LTMxLjItNDEuNi01MS45LTc0LjktNTEuOWwtNjguNSAwLTkuNi00OCA2My40IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTc2LjIgMHpcIl1cbn07XG5jb25zdCBmYUNpcmNsZUFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWFycm93LXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtdXBcIl0sIFwiZjBhYVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg1IDIxNWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC03MS03MUwyODAgMzkyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMjE0LjEtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1elwiXVxufTtcbmNvbnN0IGZhQXJyb3dDaXJjbGVVcCA9IGZhQ2lyY2xlQXJyb3dVcDtcbmNvbnN0IGZhVG9nZ2xlT24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9nZ2xlLW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjA1XCIsIFwiTTE5MiA2NEM4NiA2NCAwIDE1MCAwIDI1NlM4NiA0NDggMTkyIDQ0OGwxOTIgMGMxMDYgMCAxOTItODYgMTkyLTE5MnMtODYtMTkyLTE5Mi0xOTJMMTkyIDY0em0xOTIgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6XCJdXG59O1xuY29uc3QgZmFQZXJzb25XYWxraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTI4Njk0LCBcIndhbGtpbmdcIl0sIFwiZjU1NFwiLCBcIk0xNjAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMTI2LjUgMTk5LjNjLTEgLjQtMS45IC44LTIuOSAxLjJsLTggMy41Yy0xNi40IDcuMy0yOSAyMS4yLTM0LjcgMzguMmwtMi42IDcuOGMtNS42IDE2LjgtMjMuNyAyNS44LTQwLjUgMjAuMnMtMjUuOC0yMy43LTIwLjItNDAuNWwyLjYtNy44YzExLjQtMzQuMSAzNi42LTYxLjkgNjkuNC03Ni41bDgtMy41YzIwLjgtOS4yIDQzLjMtMTQgNjYuMS0xNGM0NC42IDAgODQuOCAyNi44IDEwMS45IDY3LjlMMjgxIDIzMi43bDIxLjQgMTAuN2MxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zTDI0NyAyODcuM2MtMTAuMy01LjItMTguNC0xMy44LTIyLjgtMjQuNWwtOS42LTIzLTE5LjMgNjUuNSA0OS41IDU0YzUuNCA1LjkgOS4yIDEzIDExLjIgMjAuOGwyMyA5Mi4xYzQuMyAxNy4xLTYuMSAzNC41LTIzLjMgMzguOHMtMzQuNS02LjEtMzguOC0yMy4zbC0yMi04OC4xLTcwLjctNzcuMWMtMTQuOC0xNi4xLTIwLjMtMzguNi0xNC43LTU5LjdsMTYuOS02My41ek02OC43IDM5OGwyNS02Mi40YzIuMSAzIDQuNSA1LjggNyA4LjZsNDAuNyA0NC40LTE0LjUgMzYuMmMtMi40IDYtNiAxMS41LTEwLjYgMTYuMUw1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w2OC43IDM5OHpcIl1cbn07XG5jb25zdCBmYVdhbGtpbmcgPSBmYVBlcnNvbldhbGtpbmc7XG5jb25zdCBmYUwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbCcsXG4gIGljb246IFszMjAsIDUxMiwgWzEwOF0sIFwiNGNcIiwgXCJNNjQgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNTIgMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwzMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUZpcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlyZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODI5M10sIFwiZjA2ZFwiLCBcIk0xNTkuMyA1LjRjNy44LTcuMyAxOS45LTcuMiAyNy43IC4xYzI3LjYgMjUuOSA1My41IDUzLjggNzcuNyA4NGMxMS0xNC40IDIzLjUtMzAuMSAzNy00Mi45YzcuOS03LjQgMjAuMS03LjQgMjggLjFjMzQuNiAzMyA2My45IDc2LjYgODQuNSAxMThjMjAuMyA0MC44IDMzLjggODIuNSAzMy44IDExMS45QzQ0OCA0MDQuMiAzNDguMiA1MTIgMjI0IDUxMkM5OC40IDUxMiAwIDQwNC4xIDAgMjc2LjVjMC0zOC40IDE3LjgtODUuMyA0NS40LTEzMS43QzczLjMgOTcuNyAxMTIuNyA0OC42IDE1OS4zIDUuNHpNMjI1LjcgNDE2YzI1LjMgMCA0Ny43LTcgNjguOC0yMWM0Mi4xLTI5LjQgNTMuNC04OC4yIDI4LjEtMTM0LjRjLTQuNS05LTE2LTkuNi0yMi41LTJsLTI1LjIgMjkuM2MtNi42IDcuNi0xOC41IDcuNC0yNC43LS41Yy0xNi41LTIxLTQ2LTU4LjUtNjIuOC03OS44Yy02LjMtOC0xOC4zLTguMS0yNC43LS4xYy0zMy44IDQyLjUtNTAuOCA2OS4zLTUwLjggOTkuNEMxMTIgMzc1LjQgMTYyLjYgNDE2IDIyNS43IDQxNnpcIl1cbn07XG5jb25zdCBmYUJlZFB1bHNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JlZC1wdWxzZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wicHJvY2VkdXJlc1wiXSwgXCJmNDg3XCIsIFwiTTQ4My4yIDkuNkw1MjQgNjRsOTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTA0IDBjLTcuNiAwLTE0LjctMy42LTE5LjItOS42TDQ2OC43IDcwLjNsLTQ3IDk5LjljLTMuNyA3LjgtMTEuMyAxMy4xLTE5LjkgMTMuN3MtMTYuOS0zLjQtMjEuNy0xMC42TDMzOS4yIDExMiAyMTYgMTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEzNiAwYzggMCAxNS41IDQgMjAgMTAuN2wyNC40IDM2LjYgNDUuOS05Ny41QzQ0NS45IDYuMiA0NTMuMiAxIDQ2MS42IC4xczE2LjYgMi43IDIxLjYgOS41ek0zMjAgMTYwbDEyLjcgMCAyMC43IDMxLjFjMTEuMiAxNi44IDMwLjYgMjYuMyA1MC43IDI0LjhzMzcuOS0xMy43IDQ2LjUtMzJMNDYxLjkgMTYwbDgyLjEgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMjI0IDAtMzIgMEw2NCA0NDhsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkwwIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0czMyIDE0LjMgMzIgMzJsMCAyNTYgMjI0IDAgMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS0xNDQgMGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpcIl1cbn07XG5jb25zdCBmYVByb2NlZHVyZXMgPSBmYUJlZFB1bHNlO1xuY29uc3QgZmFTaHV0dGxlU3BhY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2h1dHRsZS1zcGFjZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wic3BhY2Utc2h1dHRsZVwiXSwgXCJmMTk3XCIsIFwiTTEzMCA0ODBjNDAuNiAwIDgwLjQtMTEgMTE1LjItMzEuOUwzNTIgMzg0bC0yMjQgMCAwIDk2IDIgMHpNMzUyIDEyOEwyNDUuMiA2My45QzIxMC40IDQzIDE3MC42IDMyIDEzMCAzMmwtMiAwIDAgOTYgMjI0IDB6TTk2IDEyOGwwLTk2TDgwIDMyQzUzLjUgMzIgMzIgNTMuNSAzMiA4MGwwIDQ4IDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCAxNkwwIDMyOGwwIDE2YzAgMjIuMSAxNy45IDQwIDQwIDQwbC04IDAgMCA0OGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNiAwIDAtOTYgOCAwYzI2LjIgMCA0OS40LTEyLjYgNjQtMzJsMjg4IDBjNjkuMyAwIDEzNS0yMi43IDE3OS4yLTgxLjZjNi40LTguNSA2LjQtMjAuMyAwLTI4LjhDNTkxIDE4Mi43IDUyNS4zIDE2MCA0NTYgMTYwbC0yODggMGMtMTQuNi0xOS40LTM3LjgtMzItNjQtMzJsLTggMHpNNTEyIDI0My42bDAgMjQuOWMwIDE5LjYtMTUuOSAzNS42LTM1LjYgMzUuNmMtMi41IDAtNC40LTItNC40LTQuNGwwLTg3LjFjMC0yLjUgMi00LjQgNC40LTQuNGMxOS42IDAgMzUuNiAxNS45IDM1LjYgMzUuNnpcIl1cbn07XG5jb25zdCBmYVNwYWNlU2h1dHRsZSA9IGZhU2h1dHRsZVNwYWNlO1xuY29uc3QgZmFGYWNlTGF1Z2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1sYXVnaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2hcIl0sIFwiZjU5OVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNOTYuOCAzMTQuMWMtMy44LTEzLjcgNy40LTI2LjEgMjEuNi0yNi4xbDI3NS4yIDBjMTQuMiAwIDI1LjUgMTIuNCAyMS42IDI2LjFDMzk2LjIgMzgyIDMzMi4xIDQzMiAyNTYgNDMycy0xNDAuMi01MC0xNTkuMi0xMTcuOXpNMTQ0LjQgMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFMYXVnaCA9IGZhRmFjZUxhdWdoO1xuY29uc3QgZmFGb2xkZXJPcGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MTk0LCAxMjg0NDksIDYxNzE3XSwgXCJmMDdjXCIsIFwiTTg4LjcgMjIzLjhMMCAzNzUuOCAwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDExNy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsMjYuNSAyNi41YzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdMNDE2IDk2YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzItMzM2IDBjLTIyLjggMC00My44IDEyLjEtNTUuMyAzMS44em0yNy42IDE2LjFDMTIyLjEgMjMwIDEzMi42IDIyNCAxNDQgMjI0bDQwMCAwYzExLjUgMCAyMiA2LjEgMjcuNyAxNi4xczUuNyAyMi4yLS4xIDMyLjFsLTExMiAxOTJDNDUzLjkgNDc0IDQ0My40IDQ4MCA0MzIgNDgwTDMyIDQ4MGMtMTEuNSAwLTIyLTYuMS0yNy43LTE2LjFzLTUuNy0yMi4yIC4xLTMyLjFsMTEyLTE5MnpcIl1cbn07XG5jb25zdCBmYUhlYXJ0Q2lyY2xlUGx1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUtcGx1cycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUwMFwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45bDIuNi0yLjRDMjY3LjIgNDM4LjYgMjU2IDQwNC42IDI1NiAzNjhjMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZjMjguMyAwIDU1IDYuNyA3OC43IDE4LjVjLjktNi41IDEuMy0xMyAxLjMtMTkuNmwwLTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xbDAgNS44YzAgNDEuNSAxNy4yIDgxLjIgNDcuNiAxMDkuNXpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTE2LTIwOGwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFDb2RlRm9yayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLWZvcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUxM2JcIiwgXCJNODAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODAtMjRjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDM4LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zOC43QzMwNy43IDE0MSAyODggMTEyLjggMjg4IDgwYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDM4LjdjMCA1My00MyA5Ni05NiA5NmwtNDggMCAwIDcwLjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuM2MwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zbDAtNzAuNy00OCAwYy01MyAwLTk2LTQzLTk2LTk2bDAtMzguN0MxOS43IDE0MSAwIDExMi44IDAgODBDMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODB6bTIwOCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI0OCA0MzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpcIl1cbn07XG5jb25zdCBmYUNpdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2l0eScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyNzk2MV0sIFwiZjY0ZlwiLCBcIk00ODAgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzM2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNDgtNjQgMCAwLTcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzItNjQgMCAwLTcyYzAtMTMuMy0xMC43LTI0LTI0LTI0UzY0IDEwLjcgNjQgMjRsMCA3Mkw0OCA5NkMyMS41IDk2IDAgMTE3LjUgMCAxNDRsMCA5NkwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNTYgMCAzMiAwIDk2IDAgMTYwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTExMiAwIDAtMTQ0em05NiAzMjBsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnpNMjQwIDQxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2ek0xMjggNDAwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJ6TTU2MCAyNTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMHpNMjU2IDE3NmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2ek0xMTIgMTYwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6TTI1NiAzMDRjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMnpNMTEyIDMyMGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2em0zMDQtNDhsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnpNNDAwIDY0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6bTE2IDExMmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2elwiXVxufTtcbmNvbnN0IGZhTWljcm9waG9uZUxpbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pY3JvcGhvbmUtbGluZXMnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjc4OTcsIFwibWljcm9waG9uZS1hbHRcIl0sIFwiZjNjOVwiLCBcIk05NiA5NmwwIDE2MGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bC04MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDgwIDAgMC0zMi04MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDgwIDAgMC0zMi04MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDgwIDBjMC01My00My05Ni05Ni05NlM5NiA0MyA5NiA5NnpNMzIwIDI0MGwwIDE2YzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4cy0xMjgtNTcuMy0xMjgtMTI4bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMwIDg5LjEgNjYuMiAxNjIuNyAxNTIgMTc0LjRsMCAzMy42LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtMzMuNmM4NS44LTExLjcgMTUyLTg1LjMgMTUyLTE3NC40bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNHpcIl1cbn07XG5jb25zdCBmYU1pY3JvcGhvbmVBbHQgPSBmYU1pY3JvcGhvbmVMaW5lcztcbmNvbnN0IGZhUGVwcGVySG90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcHBlci1ob3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc3OThdLCBcImY4MTZcIiwgXCJNNDI4LjMgM2MxMS42LTYuNCAyNi4yLTIuMyAzMi42IDkuM2w0LjggOC43YzE5LjMgMzQuNyAxOS44IDc1LjcgMy40IDExMEM0OTUuOCAxNTkuNiA1MTIgMTk3LjkgNTEyIDI0MGMwIDE4LjUtMy4xIDM2LjMtOC45IDUyLjhjLTYuMSAxNy4zLTI4LjUgMTYuMy0zNi44LS4xbC0xMS43LTIzLjRjLTQuMS04LjEtMTIuNC0xMy4zLTIxLjUtMTMuM0wzNjAgMjU2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNy4xIDBjLTIxLjMgMC0zMC0yMy45LTEwLjgtMzIuOUMzMDQuNyA4NS40IDMyNy43IDgwIDM1MiA4MGMyOC4zIDAgNTQuOCA3LjMgNzcuOCAyMC4yYzUuNS0xOC4yIDMuNy0zOC40LTYtNTUuOEw0MTkgMzUuN2MtNi40LTExLjYtMi4zLTI2LjIgOS4zLTMyLjZ6TTE3MS4yIDM0NS41TDI2NCAxNjBsNDAgMCAwIDgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDc2LjIgMCAyMy45IDQ3LjhDMzcyLjMgNDQzLjkgMjQ0LjMgNTEyIDEwMy4yIDUxMmwtNTguOCAwQzE5LjkgNTEyIDAgNDkyLjEgMCA0NjcuNmMwLTIwLjggMTQuNS0zOC44IDM0LjgtNDMuM2w0OS44LTExLjFjMzcuNi04LjQgNjkuNS0zMy4yIDg2LjctNjcuN3pcIl1cbn07XG5jb25zdCBmYVVubG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bmxvY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyNzVdLCBcImYwOWNcIiwgXCJNMTQ0IDE0NGMwLTQ0LjIgMzUuOC04MCA4MC04MGMzMS45IDAgNTkuNCAxOC42IDcyLjMgNDUuN2M3LjYgMTYgMjYuNyAyMi44IDQyLjYgMTUuMnMyMi44LTI2LjcgMTUuMi00Mi42QzMzMSAzMy43IDI4MS41IDAgMjI0IDBDMTQ0LjUgMCA4MCA2NC41IDgwIDE0NGwwIDQ4LTE2IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0yNDAgMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQ29sb25TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbG9uLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxNDBcIiwgXCJNMjU1IDM5LjhjNC4zLTE3LjEtNi4xLTM0LjUtMjMuMy0zOC44UzE5Ny4yIDcuMSAxOTMgMjQuMkwxODEuOSA2OC42Qzk2LjEgODcuOCAzMiAxNjQuNCAzMiAyNTZjMCA1OC4xIDI1LjggMTEwLjIgNjYuNyAxNDUuNEw4MSA0NzIuMmMtNC4zIDE3LjEgNi4xIDM0LjUgMjMuMyAzOC44czM0LjUtNi4xIDM4LjgtMjMuM2wxMy01Mi4xYzkgMy40IDE4LjQgNi4yIDI4IDguMkwxNzcgNDcyLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMTAuNC00MS40YzMzLjQtNC40IDY0LjEtMTcuNCA4OS44LTM2LjdjMTQuMS0xMC42IDE3LTMwLjcgNi40LTQ0LjhzLTMwLjctMTctNDQuOC02LjRjLTEwLjIgNy43LTIxLjcgMTMuOS0zNCAxOC4zTDMyMSAxNjBjOS40LS4zIDE4LjUtNC43IDI0LjYtMTIuOGMxMC42LTE0LjEgNy44LTM0LjItNi40LTQ0LjhjLTEuMS0uOC0yLjItMS42LTMuMy0yLjRMMzUxIDM5LjhjNC4zLTE3LjEtNi4xLTM0LjUtMjMuMy0zOC44UzI5My4yIDcuMSAyODkgMjQuMkwyNzcuMiA3MS41Yy05LjMtMi43LTE4LjgtNC42LTI4LjYtNS45TDI1NSAzOS44ek0xNjMuMiAxNDMuM0wxMTcuMyAzMjYuOEMxMDMuOSAzMDYuNSA5NiAyODIuMiA5NiAyNTZjMC00OC43IDI3LjItOTEgNjcuMi0xMTIuN3ptOC42IDIyOS41bDYxLjEtMjQ0LjZjOS45IC43IDE5LjUgMi41IDI4LjcgNS4zbC02MiAyNDguMWMtOS43LTEuOS0xOS00LjgtMjcuOC04Ljh6XCJdXG59O1xuY29uc3QgZmFIZWFkc2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWRzZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1OTBcIiwgXCJNMjU2IDQ4QzE0MS4xIDQ4IDQ4IDE0MS4xIDQ4IDI1NmwwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDBDMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2bDAgMTQ0LjFjMCA0OC42LTM5LjQgODgtODguMSA4OEwzMTMuNiA0ODhjLTguMyAxNC4zLTIzLjggMjQtNDEuNiAyNGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OGwzMiAwYzE3LjggMCAzMy4zIDkuNyA0MS42IDI0bDExMC40IC4xYzIyLjEgMCA0MC0xNy45IDQwLTQwTDQ2NCAyNTZjMC0xMTQuOS05My4xLTIwOC0yMDgtMjA4ek0xNDQgMjA4bDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNDhjMC0zNS4zIDI4LjctNjQgNjQtNjR6bTIyNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTEyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDE2IDB6XCJdXG59O1xuY29uc3QgZmFTdG9yZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3JlLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDcxXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTg2LjgtNjggMC0xNy4xIDAtMTMxLjRjLTQgMS04IDEuOC0xMi4zIDIuM2MwIDAgMCAwLS4xIDBjLTUuMyAuNy0xMC43IDEuMS0xNi4yIDEuMWMtMTIuNCAwLTI0LjMtMS45LTM1LjQtNS4zbDAgMTAwLjNMMzAxLjIgMjEwLjdjNy00LjQgMTMuMy05LjcgMTguOC0xNS43YzE1LjkgMTcuNiAzOS4xIDI5IDY1LjIgMjljMjYuMiAwIDQ5LjMtMTEuNCA2NS4yLTI5YzE2IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzQuMSAwIDguMS0uMyAxMi4xLS44YzU1LjUtNy40IDgxLjgtNzIuNSA1Mi4xLTExOS40TDUyMi4zIDEzLjFDNTE3LjIgNSA1MDguMSAwIDQ5OC40IDBMMTQxLjYgMGMtOS43IDAtMTguOCA1LTIzLjkgMTMuMWwtMjIuNyAzNkwzOC44IDUuMXptNzMuNCAyMTguMWM0IC41IDguMSAuOCAxMi4xIC44YzExIDAgMjEuNC0yIDMxLTUuNkw0OC45IDEzNC41Yy02LjEgNDAuNiAxOS41IDgyLjggNjMuMyA4OC43ek0xNjAgMzg0bDAtMTMzLjRjLTExLjIgMy41LTIzLjIgNS40LTM1LjYgNS40Yy01LjUgMC0xMS0uNC0xNi4zLTEuMWwtLjEgMGMtNC4xLS42LTguMS0xLjMtMTItMi4zTDk2IDM4NGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzEyLjkgMCAyNC44LTMuOCAzNC45LTEwLjNMMzY1LjUgMzg0IDE2MCAzODR6XCJdXG59O1xuY29uc3QgZmFSb2FkQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjZcIiwgXCJNMjEzLjIgMzJMMjg4IDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDc0LjggMGMyNy4xIDAgNTEuMyAxNy4xIDYwLjMgNDIuNmw0Mi43IDEyMC42Yy0xMC45LTIuMS0yMi4yLTMuMi0zMy44LTMuMmMtNTkuNSAwLTExMi4xIDI5LjYtMTQ0IDc0LjhsMC00Mi44YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJjMi4zIDAgNC42LS4zIDYuOC0uN2MtNC41IDE1LjUtNi44IDMxLjgtNi44IDQ4LjdjMCA1LjQgLjIgMTAuNyAuNyAxNmwtLjcgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NEw4Ni42IDQ4MEM1Ni41IDQ4MCAzMiA0NTUuNSAzMiA0MjUuNGMwLTYuMiAxLjEtMTIuNCAzLjEtMTguMkwxNTIuOSA3NC42QzE2MiA0OS4xIDE4Ni4xIDMyIDIxMy4yIDMyek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMjIuNiAxNDRsMzYuNy0zNi43YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBMNDk2IDM0NS40bC0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZMNDczLjQgMzY4bC0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0OTYgMzkwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw1MTguNiAzNjh6XCJdXG59O1xuY29uc3QgZmFVc2VyTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1taW51cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjUwM1wiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGw5MS40IDBDMzY4LjIgMzA0IDQ0OCAzODMuOCA0NDggNDgyLjNjMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMMjkuNyA1MTJDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek00NzIgMjAwbDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpcIl1cbn07XG5jb25zdCBmYU1hcnNTdHJva2VVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLXN0cm9rZS11cCcsXG4gIGljb246IFszMjAsIDUxMiwgWzk4OTYsIFwibWFycy1zdHJva2UtdlwiXSwgXCJmMjJhXCIsIFwiTTE0OC43IDQuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGw2NCA2NGM0LjYgNC42IDUuOSAxMS41IDMuNSAxNy40cy04LjMgOS45LTE0LjggOS45bC00MCAwIDAgMjQgMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMCAwIDI0YzAgLjYgMCAxLjItLjEgMS44Yzc3IDExLjYgMTM2LjEgNzggMTM2LjEgMTU4LjJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0NDAuNCAwIDM1MmMwLTgwLjIgNTkuMS0xNDYuNyAxMzYuMS0xNTguMmMwLS42LS4xLTEuMi0uMS0xLjhsMC0yNC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDMyIDAgMC0yNEw5NiA5NmMtNi41IDAtMTIuMy0zLjktMTQuOC05LjlzLTEuMS0xMi45IDMuNS0xNy40bDY0LTY0ek0yNTYgMzUyQTk2IDk2IDAgMSAwIDY0IDM1MmE5NiA5NiAwIDEgMCAxOTIgMHpcIl1cbn07XG5jb25zdCBmYU1hcnNTdHJva2VWID0gZmFNYXJzU3Ryb2tlVXA7XG5jb25zdCBmYUNoYW1wYWduZUdsYXNzZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhbXBhZ25lLWdsYXNzZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjkzNDYsIFwiZ2xhc3MtY2hlZXJzXCJdLCBcImY3OWZcIiwgXCJNMTU1LjYgMTcuM0MxNjMgMyAxNzkuOS0zLjYgMTk1IDEuOUwzMjAgNDcuNWwxMjUtNDUuNmMxNS4xLTUuNSAzMiAxLjEgMzkuNCAxNS40bDc4LjggMTUyLjljMjguOCA1NS44IDEwLjMgMTIyLjMtMzguNSAxNTYuNkw1NTYuMSA0MTNsNDEtMTVjMTYuNi02IDM1IDIuNSA0MSAxOS4xcy0yLjUgMzUtMTkuMSA0MWwtNzEuMSAyNS45TDQ3Ni44IDUxMGMtMTYuNiA2LjEtMzUtMi41LTQxLTE5LjFzMi41LTM1IDE5LjEtNDFsNDEtMTUtMzEuMy04Ni4yYy01OS40IDUuMi0xMTYuMi0zNC0xMzAtOTUuMkwzMjAgMTg4LjhsLTE0LjYgNjQuN2MtMTMuOCA2MS4zLTcwLjYgMTAwLjQtMTMwIDk1LjJsLTMxLjMgODYuMiA0MSAxNWMxNi42IDYgMjUuMiAyNC40IDE5LjEgNDFzLTI0LjQgMjUuMi00MSAxOS4xTDkyLjIgNDg0LjEgMjEuMSA0NTguMmMtMTYuNi02LjEtMjUuMi0yNC40LTE5LjEtNDFzMjQuNC0yNS4yIDQxLTE5LjFsNDEgMTUgMzEuMy04Ni4yQzY2LjUgMjkyLjUgNDguMSAyMjYgNzYuOSAxNzAuMkwxNTUuNiAxNy4zem00NCA1NC40bC0yNy4yIDUyLjhMMjYxLjYgMTU3bDEzLjEtNTcuOUwxOTkuNiA3MS43em0yNDAuOSAwTDM2NS40IDk5LjEgMzc4LjUgMTU3bDg5LjItMzIuNUw0NDAuNSA3MS43elwiXVxufTtcbmNvbnN0IGZhR2xhc3NDaGVlcnMgPSBmYUNoYW1wYWduZUdsYXNzZXM7XG5jb25zdCBmYUNsaXBib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbGlwYm9hcmQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgyMDNdLCBcImYzMjhcIiwgXCJNMTkyIDBjLTQxLjggMC03Ny40IDI2LjctOTAuNSA2NEw2NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NGwtMzcuNSAwQzI2OS40IDI2LjcgMjMzLjggMCAxOTIgMHptMCA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTExMiAxOTJsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhSG91c2VDaXJjbGVFeGNsYW1hdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MGFcIiwgXCJNMzIwLjcgMzUyYzguMS04OS43IDgzLjUtMTYwIDE3NS4zLTE2MGM4LjkgMCAxNy42IC43IDI2LjEgMS45TDMwOS41IDdjLTYtNS0xNC03LTIxLTdzLTE1IDEtMjIgOEwxMCAyMzEuNWMtNyA3LTEwIDE1LTEwIDI0YzAgMTggMTQgMzIuMSAzMiAzMi4xbDMyIDAgMCA2OS43Yy0uMSAuOS0uMSAxLjgtLjEgMi44bDAgMTEyYzAgMjIuMSAxNy45IDQwIDQwIDQwbDE2IDBjMS4yIDAgMi40LS4xIDMuNi0uMmMxLjUgLjEgMyAuMiA0LjUgLjJsMzEuOSAwIDI0IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC0yNCAwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDAgLjcgMHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUZpbGVBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtYXJyb3ctdXAnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpbGUtdXBsb2FkXCJdLCBcImY1NzRcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODgtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDIyNCAwIDY0IDB6TTI1NiAwbDAgMTI4IDEyOCAwTDI1NiAwek0yMTYgNDA4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTAyLjEtMzEgMzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNzItNzJjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzEtMzFMMjE2IDQwOHpcIl1cbn07XG5jb25zdCBmYUZpbGVVcGxvYWQgPSBmYUZpbGVBcnJvd1VwO1xuY29uc3QgZmFXaWZpID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpZmknLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcIndpZmktM1wiLCBcIndpZmktc3Ryb25nXCJdLCBcImYxZWJcIiwgXCJNNTQuMiAyMDIuOUMxMjMuMiAxMzYuNyAyMTYuOCA5NiAzMjAgOTZzMTk2LjggNDAuNyAyNjUuOCAxMDYuOWMxMi44IDEyLjIgMzMgMTEuOCA0NS4yLS45czExLjgtMzMtLjktNDUuMkM1NDkuNyA3OS41IDQ0MC40IDMyIDMyMCAzMlM5MC4zIDc5LjUgOS44IDE1Ni43Qy0yLjkgMTY5LTMuMyAxODkuMiA4LjkgMjAyczMyLjUgMTMuMiA0NS4yIC45ek0zMjAgMjU2YzU2LjggMCAxMDguNiAyMS4xIDE0OC4yIDU2YzEzLjMgMTEuNyAzMy41IDEwLjQgNDUuMi0yLjhzMTAuNC0zMy41LTIuOC00NS4yQzQ1OS44IDIxOS4yIDM5MyAxOTIgMzIwIDE5MnMtMTM5LjggMjcuMi0xOTAuNSA3MmMtMTMuMyAxMS43LTE0LjUgMzEuOS0yLjggNDUuMnMzMS45IDE0LjUgNDUuMiAyLjhjMzkuNS0zNC45IDkxLjMtNTYgMTQ4LjItNTZ6bTY0IDE2MGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6XCJdXG59O1xuY29uc3QgZmFXaWZpMyA9IGZhV2lmaTtcbmNvbnN0IGZhV2lmaVN0cm9uZyA9IGZhV2lmaTtcbmNvbnN0IGZhQmF0aCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXRoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NzA1LCBcImJhdGh0dWJcIl0sIFwiZjJjZFwiLCBcIk05NiA3Ny4zYzAtNy4zIDUuOS0xMy4zIDEzLjMtMTMuM2MzLjUgMCA2LjkgMS40IDkuNCAzLjlsMTQuOSAxNC45QzEzMCA5MS44IDEyOCAxMDEuNyAxMjggMTEyYzAgMTkuOSA3LjIgMzggMTkuMiA1MmMtNS4zIDkuMi00IDIxLjEgMy44IDI5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDI4OSA4OWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWMtNy45LTcuOS0xOS44LTkuMS0yOS0zLjhDMjQ2IDM5LjIgMjI3LjkgMzIgMjA4IDMyYy0xMC4zIDAtMjAuMiAyLTI5LjIgNS41TDE2My45IDIyLjZDMTQ5LjQgOC4xIDEyOS43IDAgMTA5LjMgMEM2Ni42IDAgMzIgMzQuNiAzMiA3Ny4zTDMyIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAyNTYgOTYgNzcuM3pNMzIgMzUybDAgMTZjMCAyOC40IDEyLjQgNTQgMzIgNzEuNkw2NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2IDI1NiAwIDAgMTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQwLjRjMTkuNi0xNy42IDMyLTQzLjEgMzItNzEuNmwwLTE2TDMyIDM1MnpcIl1cbn07XG5jb25zdCBmYUJhdGh0dWIgPSBmYUJhdGg7XG5jb25zdCBmYVVuZGVybGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bmRlcmxpbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwY2RcIiwgXCJNMTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTI4LTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDEyOGMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MHMtMTYwLTcxLjYtMTYwLTE2MEw2NCA5NiA0OCA5NkMzMC4zIDk2IDE2IDgxLjcgMTYgNjR6TTAgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xuY29uc3QgZmFVc2VyUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItcGVuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2VyLWVkaXRcIl0sIFwiZjRmZlwiLCBcIk0yMjQgMjU2QTEyOCAxMjggMCAxIDAgMjI0IDBhMTI4IDEyOCAwIDEgMCAwIDI1NnptLTQ1LjcgNDhDNzkuOCAzMDQgMCAzODMuOCAwIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJsMjkzLjEgMGMtMy4xLTguOC0zLjctMTguNC0xLjQtMjcuOGwxNS02MC4xYzIuOC0xMS4zIDguNi0yMS41IDE2LjgtMjkuN2w0MC4zLTQwLjNjLTMyLjEtMzEtNzUuNy01MC4xLTEyMy45LTUwLjFsLTkxLjQgMHptNDM1LjUtNjguM2MtMTUuNi0xNS42LTQwLjktMTUuNi01Ni42IDBsLTI5LjQgMjkuNCA3MSA3MSAyOS40LTI5LjRjMTUuNi0xNS42IDE1LjYtNDAuOSAwLTU2LjZsLTE0LjQtMTQuNHpNMzc1LjkgNDE3Yy00LjEgNC4xLTcgOS4yLTguNCAxNC45bC0xNSA2MC4xYy0xLjQgNS41IC4yIDExLjIgNC4yIDE1LjJzOS43IDUuNiAxNS4yIDQuMmw2MC4xLTE1YzUuNi0xLjQgMTAuOC00LjMgMTQuOS04LjRMNTc2LjEgMzU4LjdsLTcxLTcxTDM3NS45IDQxN3pcIl1cbn07XG5jb25zdCBmYVVzZXJFZGl0ID0gZmFVc2VyUGVuO1xuY29uc3QgZmFTaWduYXR1cmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2lnbmF0dXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNWI3XCIsIFwiTTE5MiAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDcuOGMwIDI3LjctMi40IDU1LjMtNy4xIDgyLjVsLTg0LjQgMjUuM2MtNDAuNiAxMi4yLTY4LjQgNDkuNi02OC40IDkybDAgNzEuOWMwIDQwIDMyLjUgNzIuNSA3Mi41IDcyLjVjMjYgMCA1MC0xMy45IDYyLjktMzYuNWwxMy45LTI0LjNjMjYuOC00NyA0Ni41LTk3LjcgNTguNC0xNTAuNWw5NC40LTI4LjMtMTIuNSAzNy41Yy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44czE1LjcgMTMuMyAyNiAxMy4zbDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04My42IDAgMTgtNTMuOWMzLjgtMTEuMyAuOS0yMy44LTcuNC0zMi40cy0yMC43LTExLjgtMzIuMi04LjRMMzE2LjQgMTk4LjFjMi40LTIwLjcgMy42LTQxLjQgMy42LTYyLjNsMC03LjhjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzJ6bS05LjIgMTc3bDQ5LTE0LjdjLTEwLjQgMzMuOC0yNC41IDY2LjQtNDIuMSA5Ny4ybC0xMy45IDI0LjNjLTEuNSAyLjYtNC4zIDQuMy03LjQgNC4zYy00LjcgMC04LjUtMy44LTguNS04LjVsMC03MS45YzAtMTQuMSA5LjMtMjYuNiAyMi44LTMwLjd6TTI0IDM2OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MC4zIDBjLS4yLTIuOC0uMy01LjYtLjMtOC41TDY0IDM2OGwtNDAgMHptNTkyIDQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMTAuMSAwYy02LjcgMTYuMy0xNC4yIDMyLjMtMjIuMyA0OEw2MTYgNDE2elwiXVxufTtcbmNvbnN0IGZhU3Ryb29wd2FmZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Ryb29wd2FmZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NTFcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0zMTIuNiA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyNTYgOTcuNiAyMjIuMSA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDMzLjkgMzMuOS00NS4zIDQ1LjMtNTYuNi01Ni42Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDU2LjYgNTYuNi00NS4zIDQ1LjNMODYuMyAxOTkuNGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw5Ny42IDI1NiA2My43IDI4OS45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzMuOS0zMy45IDQ1LjMgNDUuMy01Ni42IDU2LjZjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni42LTU2LjYgNDUuMyA0NS4zLTMzLjkgMzMuOWMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDI1NiA0MTQuNGwzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zMy45LTMzLjkgNDUuMy00NS4zIDU2LjYgNTYuNmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTU2LjYtNTYuNiA0NS4zLTQ1LjMgMzMuOSAzMy45YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw0MTQuNCAyNTZsMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTMzLjkgMzMuOS00NS4zLTQ1LjMgNTYuNi01Ni42YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTU2LjYgNTYuNi00NS4zLTQ1LjMgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42ek0xNDIuOSAyNTZsNDUuMy00NS4zTDIzMy40IDI1NmwtNDUuMyA0NS4zTDE0Mi45IDI1NnptNjcuOSA2Ny45TDI1NiAyNzguNmw0NS4zIDQ1LjNMMjU2IDM2OS4xbC00NS4zLTQ1LjN6TTI3OC42IDI1Nmw0NS4zLTQ1LjNMMzY5LjEgMjU2bC00NS4zIDQ1LjNMMjc4LjYgMjU2em0yMi42LTY3LjlMMjU2IDIzMy40bC00NS4zLTQ1LjNMMjU2IDE0Mi45bDQ1LjMgNDUuM3pcIl1cbn07XG5jb25zdCBmYUJvbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9sZCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjAzMlwiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDQ4IDAgMTYgMCAxMjggMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGMwIDMxLjMtMTEuMyA2MC4xLTMwIDgyLjNjMzcuMSAyMi40IDYyIDYzLjEgNjIgMTA5LjdjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhMOTYgNDgwbC0xNiAwLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTE2MEw0OCA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek0yMjQgMjI0YzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0TDExMiA5NmwwIDEyOCAxMTIgMHpNMTEyIDI4OGwwIDEyOCAxNDQgMGMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGwtMzIgMC0xMTIgMHpcIl1cbn07XG5jb25zdCBmYUFuY2hvckxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5jaG9yLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YWRcIiwgXCJNMzIwIDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTIxLjEgODBDMzY3IDE1OC44IDM4NCAxMjkuNCAzODQgOTZjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAzMy40IDE3IDYyLjggNDIuOSA4MEwyMjQgMTc2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAyMDgtNDggMGMtNTMgMC05Ni00My05Ni05NmwwLTYuMSA3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDk3IDI2M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNyAzMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3LTcgMCA2LjFjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBsODAgMCA4MCAwYzggMCAxNS45LS42IDIzLjYtMS43Yy00LjgtOS03LjYtMTkuMy03LjYtMzAuM2wwLTMzLjNjLTUuMiAuOS0xMC41IDEuMy0xNiAxLjNsLTQ4IDAgMC0yMDggMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTAuOSAwek01MjggMjQwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJsMCA0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG5jb25zdCBmYUJ1aWxkaW5nTmdvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLW5nbycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRkN1wiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC00MTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0xNjggNjRsNDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMCAwIDY0IDE2IDAgMC0xNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtODhjMC04LjggNy4yLTE2IDE2LTE2ek0zMDQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZ6bS00OCAxNmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMzJjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0zMnpNNjEuMyA3MS4xbDM0LjcgNTJMOTYgODBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDk2YzAgNy4xLTQuNiAxMy4zLTExLjQgMTUuM3MtMTQtLjYtMTcuOS02LjRMNjQgMTMyLjggNjQgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC03LjEgNC42LTEzLjMgMTEuNC0xNS4zczE0IC42IDE3LjkgNi40elwiXVxufTtcbmNvbnN0IGZhTWFuYXRTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hbmF0LXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZDVcIiwgXCJNMTkyIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM0LjdDNjkuMiAxMTMuOSAwIDE5Mi45IDAgMjg4TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC01OS42IDQwLjgtMTA5LjggOTYtMTI0bDAgMjg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yODRjNTUuMiAxNC4yIDk2IDY0LjMgOTYgMTI0bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC05NS4xLTY5LjItMTc0LjEtMTYwLTE4OS4zTDIyNCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnpcIl1cbn07XG5jb25zdCBmYU5vdEVxdWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25vdC1lcXVhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUzZVwiLCBcIk0zNjkuOCAzNy40YzE0LjcgOS44IDE4LjcgMjkuNyA4LjkgNDQuNEwzMzcuMSAxNDRsNjIuOSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMDUuNSAwLTY0IDk2TDQwMCAzMDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTIxMi4yIDAtNjUuMiA5Ny43Yy05LjggMTQuNy0yOS43IDE4LjctNDQuNCA4LjlzLTE4LjctMjkuNy04LjktNDQuNEwxMTAuOSAzNjggNDggMzY4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEwNS41IDAgNjQtOTZMNDggMjA4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDIxMi4yIDAgNjUuMi05Ny43YzkuOC0xNC43IDI5LjctMTguNyA0NC40LTguOXpcIl1cbn07XG5jb25zdCBmYUJvcmRlclRvcExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9yZGVyLXRvcC1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJib3JkZXItc3R5bGVcIl0sIFwiZjg1M1wiLCBcIk0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzM2YzAtOC44IDcuMi0xNiAxNi0xNmwzMzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCAzMkMzNS44IDMyIDAgNjcuOCAwIDExMkwwIDQ0OHptMTYwIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTkyIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptLTk2IDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTkyIDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDE2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTAgMzJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wLTEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFCb3JkZXJTdHlsZSA9IGZhQm9yZGVyVG9wTGVmdDtcbmNvbnN0IGZhTWFwTG9jYXRpb25Eb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFwLWxvY2F0aW9uLWRvdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibWFwLW1hcmtlZC1hbHRcIl0sIFwiZjVhMFwiLCBcIk00MDggMTIwYzAgNTQuNi03My4xIDE1MS45LTEwNS4yIDE5MmMtNy43IDkuNi0yMiA5LjYtMjkuNiAwQzI0MS4xIDI3MS45IDE2OCAxNzQuNiAxNjggMTIwQzE2OCA1My43IDIyMS43IDAgMjg4IDBzMTIwIDUzLjcgMTIwIDEyMHptOCA4MC40YzMuNS02LjkgNi43LTEzLjggOS42LTIwLjZjLjUtMS4yIDEtMi41IDEuNS0zLjdsMTE2LTQ2LjRDNTU4LjkgMTIzLjQgNTc2IDEzNSA1NzYgMTUybDAgMjcwLjhjMCA5LjgtNiAxOC42LTE1LjEgMjIuM0w0MTYgNTAzbDAtMzAyLjZ6TTEzNy42IDEzOC4zYzIuNCAxNC4xIDcuMiAyOC4zIDEyLjggNDEuNWMyLjkgNi44IDYuMSAxMy43IDkuNiAyMC42bDAgMjUxLjRMMzIuOSA1MDIuN0MxNy4xIDUwOSAwIDQ5Ny40IDAgNDgwLjRMMCAyMDkuNmMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zbDEyMi42LTQ5ek0zMjcuOCAzMzJjMTMuOS0xNy40IDM1LjctNDUuNyA1Ni4yLTc3bDAgMjQ5LjNMMTkyIDQ0OS40IDE5MiAyNTVjMjAuNSAzMS4zIDQyLjMgNTkuNiA1Ni4yIDc3YzIwLjUgMjUuNiA1OS4xIDI1LjYgNzkuNiAwek0yODggMTUyYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpcIl1cbn07XG5jb25zdCBmYU1hcE1hcmtlZEFsdCA9IGZhTWFwTG9jYXRpb25Eb3Q7XG5jb25zdCBmYUplZGkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnamVkaScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjY2OVwiLCBcIk0yNDYgMzE1LjdsLTIxLjItMzEuOWMtMi4xLTMuMi0xLjctNy40IDEtMTAuMXM2LjktMy4xIDEwLjEtMWwyOS41IDE5LjdjMi4xIDEuNCA0LjkgMCA1LTIuNkwyNzkuNyA4Yy4xLTQuNSAzLjgtOCA4LjMtOHM4LjEgMy41IDguMyA4bDkuNCAyODEuOWMuMSAyLjUgMi45IDMuOSA1IDIuNmwyOS41LTE5LjdjMy4yLTIuMSA3LjQtMS43IDEwLjEgMXMzLjEgNi45IDEgMTAuMUwzMzAgMzE1LjdjLTEuMyAxLjktLjIgNC41IDIgNC45bDM3LjYgNy41YzMuNyAuNyA2LjQgNCA2LjQgNy44cy0yLjcgNy4xLTYuNCA3LjhMMzMyIDM1MS40Yy0yLjIgLjQtMy4zIDMtMiA0LjlsMjEuMiAzMS45YzIuMSAzLjIgMS43IDcuNC0xIDEwLjFzLTYuOSAzLjEtMTAuMSAxbC0yNi4zLTE3LjZjLTIuMi0xLjQtNS4xIC4yLTUgMi44bDIuMSA2MS41QzM3MC42IDQzNS4yIDQxNiAzODIuOSA0MTYgMzIwYzAtMzctMTUuNy03MC40LTQwLjgtOTMuN2MtNy02LjUtNi41LTE4LjYgMS0yNC40QzQxMC4xIDE3NS41IDQzMiAxMzQuMyA0MzIgODhjMC0xNi44LTIuOS0zMy04LjItNDhjLTQuNi0xMyAxMC4yLTMwIDIxLjQtMjJjNTMuNSAzOCA5Mi43IDk0LjggMTA3LjggMTYwLjdjLjUgMi4xLS4yIDQuMy0xLjcgNS45bC0yOC40IDI4LjRjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOWwyNiAwYzMuNCAwIDYuMiAyLjYgNi4zIDZjLjEgMy4zIC4yIDYuNiAuMiAxMGMwIDE3LjUtMS43IDM0LjctNC44IDUxLjNjLS4yIDEuMi0uOSAyLjQtMS43IDMuM2wtNDYuNSA0Ni41Yy00IDQtMS4yIDEwLjkgNC41IDEwLjlsMTQuNiAwYzQuNiAwIDcuNyA0LjggNS43IDlDNDg3LjIgNDUwLjUgMzk0LjggNTEyIDI4OCA1MTJTODguOCA0NTAuNSA0NC4zIDM2MWMtMi4xLTQuMiAxLTkgNS43LTlsMTQuNiAwYzUuNyAwIDguNi02LjkgNC41LTEwLjlMMjIuNiAyOTQuNmMtLjktLjktMS41LTItMS43LTMuM0MxNy43IDI3NC43IDE2IDI1Ny41IDE2IDI0MGMwLTMuMyAuMS02LjcgLjItMTBjLjEtMy40IDIuOS02IDYuMy02bDI2IDBjNS43IDAgOC42LTYuOSA0LjUtMTAuOUwyNC42IDE4NC42Yy0xLjUtMS41LTIuMi0zLjgtMS43LTUuOUMzOC4xIDExMi44IDc3LjMgNTYgMTMwLjggMThjMTEuMy04IDI2IDguOSAyMS40IDIyYy01LjMgMTUtOC4yIDMxLjItOC4yIDQ4YzAgNDYuMyAyMS45IDg3LjUgNTUuOCAxMTMuOWM3LjUgNS44IDggMTcuOSAxIDI0LjRDMTc1LjcgMjQ5LjYgMTYwIDI4MyAxNjAgMzIwYzAgNjIuOSA0NS40IDExNS4yIDEwNS4xIDEyNmwyLjEtNjEuNWMuMS0yLjYtMi44LTQuMi01LTIuOGwtMjYuMyAxNy42Yy0zLjIgMi4xLTcuNCAxLjctMTAuMS0xcy0zLjEtNi45LTEtMTAuMUwyNDYgMzU2LjNjMS4zLTEuOSAuMi00LjUtMi00LjlsLTM3LjYtNy41Yy0zLjctLjctNi40LTQtNi40LTcuOHMyLjctNy4xIDYuNC03LjhsMzcuNi03LjVjMi4yLS40IDMuMy0zIDItNC45elwiXVxufTtcbmNvbnN0IGZhU3F1YXJlUG9sbFZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wb2xsLXZlcnRpY2FsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJwb2xsXCJdLCBcImY2ODFcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgMTkyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptNjQtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE5MnpNMzIwIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFQb2xsID0gZmFTcXVhcmVQb2xsVmVydGljYWw7XG5jb25zdCBmYU11Z0hvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtdWctaG90JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc0OV0sIFwiZjdiNlwiLCBcIk04OCAwQzc0LjcgMCA2NCAxMC43IDY0IDI0YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxQzEyMC41IDExMi4zIDEyOCAxMTkuOSAxMjggMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzExOS41IDQ3LjcgMTEyIDQwLjEgMTEyIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZsMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwxNiAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEybC00OCAwTDMyIDE5MnptMzUyIDY0bDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTE2IDAgMC05NnpNMjI0IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxQzIzMi41IDExMi4zIDI0MCAxMTkuOSAyNDAgMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzIzMS41IDQ3LjcgMjI0IDQwLjEgMjI0IDI0elwiXVxufTtcbmNvbnN0IGZhQ2FyQmF0dGVyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItYmF0dGVyeScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYmF0dGVyeS1jYXJcIl0sIFwiZjVkZlwiLCBcIk04MCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDk2IDBjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYgMHptMzA0IDk2YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMzItMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwzMiAwIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDAgMC0zMnpNODAgMjQwYzAgOC44IDcuMiAxNiAxNiAxNmw5NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC05NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5Q2FyID0gZmFDYXJCYXR0ZXJ5O1xuY29uc3QgZmFHaWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dpZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc4NzNdLCBcImYwNmJcIiwgXCJNMTkwLjUgNjguOEwyMjUuMyAxMjhsLTEuMyAwLTcyIDBjLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBsMi4yIDBjMTQuOSAwIDI4LjggNy45IDM2LjMgMjAuOHpNNjQgODhjMCAxNC40IDMuNSAyOCA5LjYgNDBMMzIgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTQxLjYgMGM2LjEtMTIgOS42LTI1LjYgOS42LTQwYzAtNDguNi0zOS40LTg4LTg4LTg4bC0yLjIgMGMtMzEuOSAwLTYxLjUgMTYuOS03Ny43IDQ0LjRMMjU2IDg1LjVsLTI0LjEtNDFDMjE1LjcgMTYuOSAxODYuMSAwIDE1NC4yIDBMMTUyIDBDMTAzLjQgMCA2NCAzOS40IDY0IDg4em0zMzYgMGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNzIgMC0xLjMgMCAzNC44LTU5LjJDMzI5LjEgNTUuOSAzNDIuOSA0OCAzNTcuOCA0OGwyLjIgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHpNMzIgMjg4bDAgMTc2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE0NCAwIDAtMjI0TDMyIDI4OHpNMjg4IDUxMmwxNDQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE3Ni0xOTIgMCAwIDIyNHpcIl1cbn07XG5jb25zdCBmYURpY2VUd28gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS10d28nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODU3XSwgXCJmNTI4XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0zNTIgMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhQ2hlc3NRdWVlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1xdWVlbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4MTldLCBcImY0NDVcIiwgXCJNMjU2IDBhNTYgNTYgMCAxIDEgMCAxMTJBNTYgNTYgMCAxIDEgMjU2IDB6TTEzNC4xIDE0My44YzMuMy0xMyAxNS0yMy44IDMwLjItMjMuOGMxMi4zIDAgMjIuNiA3LjIgMjcuNyAxN2MxMiAyMy4yIDM2LjIgMzkgNjQgMzlzNTItMTUuOCA2NC0zOWM1LjEtOS44IDE1LjQtMTcgMjcuNy0xN2MxNS4zIDAgMjcgMTAuOCAzMC4yIDIzLjhjNyAyNy44IDMyLjIgNDguMyA2Mi4xIDQ4LjNjMTAuOCAwIDIxLTIuNyAyOS44LTcuNGM4LjQtNC40IDE4LjktNC41IDI3LjYgLjljMTMgOCAxNy4xIDI1IDkuMiAzOEwzOTkuNyA0MDAgMzg0IDQwMGwtNDAuNCAwLTE3NS4xIDBMMTI4IDQwMGwtMTUuNyAwTDUuNCAyMjMuNmMtNy45LTEzLTMuOC0zMCA5LjItMzhjOC43LTUuMyAxOS4yLTUuMyAyNy42LS45YzguOSA0LjcgMTkgNy40IDI5LjggNy40YzI5LjkgMCA1NS4xLTIwLjUgNjIuMS00OC4zek0yNTYgMjI0czAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwek0xMTIgNDMybDI4OCAwIDQxLjQgNDEuNGM0LjIgNC4yIDYuNiAxMCA2LjYgMTZjMCAxMi41LTEwLjEgMjIuNi0yMi42IDIyLjZMODYuNiA1MTJDNzQuMSA1MTIgNjQgNTAxLjkgNjQgNDg5LjRjMC02IDIuNC0xMS44IDYuNi0xNkwxMTIgNDMyelwiXVxufTtcbmNvbnN0IGZhR2xhc3NlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnbGFzc2VzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTMwXCIsIFwiTTExOC42IDgwYy0xMS41IDAtMjEuNCA3LjktMjQgMTkuMUw1NyAyNjAuM2MyMC41LTYuMiA0OC4zLTEyLjMgNzguNy0xMi4zYzMyLjMgMCA2MS44IDYuOSA4Mi44IDEzLjVjMTAuNiAzLjMgMTkuMyA2LjcgMjUuNCA5LjJjMy4xIDEuMyA1LjUgMi40IDcuMyAzLjJjLjkgLjQgMS42IC43IDIuMSAxbC42IC4zIC4yIC4xYzAgMCAuMSAwIC4xIDBjMCAwIDAgMCAwIDBzMCAwIDAgMEwyNDcuOSAyODhzMCAwIDAgMGw2LjMtMTIuN2M1LjggMi45IDEwLjQgNy4zIDEzLjUgMTIuN2w0MC42IDBjMy4xLTUuMyA3LjctOS44IDEzLjUtMTIuN2w2LjMgMTIuN3MwIDAgMCAwYy02LjMtMTIuNy02LjMtMTIuNy02LjMtMTIuN3MwIDAgMCAwczAgMCAwIDBjMCAwIC4xIDAgLjEgMGwuMi0uMSAuNi0uM2MuNS0uMiAxLjItLjYgMi4xLTFjMS44LS44IDQuMi0xLjkgNy4zLTMuMmM2LjEtMi42IDE0LjgtNS45IDI1LjQtOS4yYzIxLTYuNiA1MC40LTEzLjUgODIuOC0xMy41YzMwLjQgMCA1OC4yIDYuMSA3OC43IDEyLjNMNDgxLjQgOTkuMWMtMi42LTExLjItMTIuNi0xOS4xLTI0LTE5LjFjLTMuMSAwLTYuMiAuNi05LjIgMS44TDQxNi45IDk0LjNjLTEyLjMgNC45LTI2LjMtMS4xLTMxLjItMTMuNHMxLjEtMjYuMyAxMy40LTMxLjJsMzEuMy0xMi41YzguNi0zLjQgMTcuNy01LjIgMjctNS4yYzMzLjggMCA2My4xIDIzLjMgNzAuOCA1Ni4ybDQzLjkgMTg4YzEuNyA3LjMgMi45IDE0LjcgMy41IDIyLjFjLjMgMS45IC41IDMuOCAuNSA1LjdsMCA2LjcgMCA0MS4zIDAgMTZjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsLTQ0LjMgMGMtNTkuNCAwLTEwOC41LTQ2LjQtMTExLjgtMTA1LjhMMzA2LjYgMzUybC0zNy4yIDAtMS4yIDIyLjJDMjY0LjkgNDMzLjYgMjE1LjggNDgwIDE1Ni4zIDQ4MEwxMTIgNDgwQzUwLjEgNDgwIDAgNDI5LjkgMCAzNjhsMC0xNiAwLTQxLjNMMCAzMDRjMC0xLjkgLjItMy44IC41LTUuN2MuNi03LjQgMS44LTE0LjggMy41LTIyLjFsNDMuOS0xODhDNTUuNSA1NS4zIDg0LjggMzIgMTE4LjYgMzJjOS4yIDAgMTguNCAxLjggMjcgNS4ybDMxLjMgMTIuNWMxMi4zIDQuOSAxOC4zIDE4LjkgMTMuNCAzMS4ycy0xOC45IDE4LjMtMzEuMiAxMy40TDEyNy44IDgxLjhjLTIuOS0xLjItNi0xLjgtOS4yLTEuOHpNNjQgMzI1LjRMNjQgMzY4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQ0LjMgMGMyNS41IDAgNDYuNS0xOS45IDQ3LjktNDUuM2wyLjUtNDUuNmMtMi4zLS44LTQuOS0xLjctNy41LTIuNWMtMTcuMi01LjQtMzkuOS0xMC41LTYzLjYtMTAuNWMtMjMuNyAwLTQ2LjIgNS4xLTYzLjIgMTAuNWMtMy4xIDEtNS45IDEuOS04LjUgMi45ek01MTIgMzY4bDAtNDIuNmMtMi42LS45LTUuNS0xLjktOC41LTIuOWMtMTctNS40LTM5LjUtMTAuNS02My4yLTEwLjVjLTIzLjcgMC00Ni40IDUuMS02My42IDEwLjVjLTIuNyAuOC01LjIgMS43LTcuNSAyLjVsMi41IDQ1LjZjMS40IDI1LjQgMjIuNSA0NS4zIDQ3LjkgNDUuM2w0NC4zIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6XCJdXG59O1xuY29uc3QgZmFDaGVzc0JvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLWJvYXJkJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNDNjXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDY0bDAgNjQgNjQgMCAwLTY0IDY0IDAgMCA2NCA2NCAwIDAtNjQgNjQgMCAwIDY0LTY0IDAgMCA2NCA2NCAwIDAgNjQtNjQgMCAwIDY0IDY0IDAgMCA2NC02NCAwIDAtNjQtNjQgMCAwIDY0LTY0IDAgMC02NC02NCAwIDAgNjQtNjQgMCAwLTY0IDY0IDAgMC02NC02NCAwIDAtNjQgNjQgMCAwLTY0LTY0IDAgMC02NCA2NCAwem02NCAxMjhsNjQgMCAwLTY0LTY0IDAgMCA2NHptMCA2NGwwLTY0LTY0IDAgMCA2NCA2NCAwem02NCAwbC02NCAwIDAgNjQgNjQgMCAwLTY0em0wIDBsNjQgMCAwLTY0LTY0IDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGQyXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAgOTYgMGMxNS4xIDAgMjguNS02LjkgMzcuMy0xNy44QzM0MC40IDQ2Mi4yIDMyMCA0MTcuNSAzMjAgMzY4YzAtNTQuNyAyNC45LTEwMy41IDY0LTEzNS44TDM4NCA0OGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAwek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTEyLTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTgwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek02NDAgMzY4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzg1LjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhUGVyc29uQ2hhbGtib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2hhbGtib2FyZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzZFwiLCBcIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzODRsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjg4IDU2IDAgNjQgMCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtNjQgMTkyIDAgMCAxOTItMTkyIDAgMC0zMi02NCAwIDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzY4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODAtNzYuOSAwLTY1LjkgMGMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMMTIwIDI1Ni45IDEyMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpcIl1cbn07XG5jb25zdCBmYU1hcnNTdHJva2VSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJzLXN0cm9rZS1yaWdodCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzk4OTcsIFwibWFycy1zdHJva2UtaFwiXSwgXCJmMjJiXCIsIFwiTTIwOCAzNjhhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0em0xNzQuNC04OEMzNzAuNyAzNjUuOCAyOTcuMSA0MzIgMjA4IDQzMmMtOTcuMiAwLTE3Ni03OC44LTE3Ni0xNzZzNzguOC0xNzYgMTc2LTE3NmM4OS4xIDAgMTYyLjcgNjYuMiAxNzQuNCAxNTJsMzMuNiAwIDAtNTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDU2IDMyIDAgMC01NmMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTgwIDgwYy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4ycy0xNC44LTEyLjUtMTQuOC0yMi4ybDAtNTYtMzIgMCAwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNTYtMzMuNiAwelwiXVxufTtcbmNvbnN0IGZhTWFyc1N0cm9rZUggPSBmYU1hcnNTdHJva2VSaWdodDtcbmNvbnN0IGZhSGFuZEJhY2tGaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtYmFjay1maXN0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJoYW5kLXJvY2tcIl0sIFwiZjI1NVwiLCBcIk0xNDQgMEMxMTcuNSAwIDk2IDIxLjUgOTYgNDhsMCA0OCAwIDI4LjVMOTYgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMjYuNy05IDcuNUM0MC40IDE2OSAzMiAxODcgMzIgMjA2TDMyIDI0NGMwIDM4IDE2LjkgNzQgNDYuMSA5OC4zTDEyOCAzODRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEwNS4zYzQ2LjktMTkgODAtNjUgODAtMTE4LjdsMC04MCAwLTE2IDAtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhjLTEyLjQgMC0yMy42IDQuNy0zMi4xIDEyLjNDMzUwIDgzLjUgMzI5LjMgNjQgMzA0IDY0Yy0xMi40IDAtMjMuNiA0LjctMzIuMSAxMi4zQzI3MCA1MS41IDI0OS4zIDMyIDIyNCAzMmMtMTIuNCAwLTIzLjYgNC43LTMyLjEgMTIuM0MxOTAgMTkuNSAxNjkuMyAwIDE0NCAwelwiXVxufTtcbmNvbnN0IGZhSGFuZFJvY2sgPSBmYUhhbmRCYWNrRmlzdDtcbmNvbnN0IGZhU3F1YXJlQ2FyZXRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtY2FyZXQtdXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImNhcmV0LXNxdWFyZS11cFwiXSwgXCJmMTUxXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIyNCAxNjBjNi43IDAgMTMgMi44IDE3LjYgNy43bDEwNCAxMTJjNi41IDcgOC4yIDE3LjIgNC40IDI1LjlzLTEyLjUgMTQuNC0yMiAxNC40bC0yMDggMGMtOS41IDAtMTguMi01LjctMjItMTQuNHMtMi4xLTE4LjkgNC40LTI1LjlsMTA0LTExMmM0LjUtNC45IDEwLjktNy43IDE3LjYtNy43elwiXVxufTtcbmNvbnN0IGZhQ2FyZXRTcXVhcmVVcCA9IGZhU3F1YXJlQ2FyZXRVcDtcbmNvbnN0IGZhQ2xvdWRTaG93ZXJzV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtc2hvd2Vycy13YXRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlNFwiLCBcIk0yMjQgMGMzOC42IDAgNzEuOSAyMi44IDg3LjIgNTUuN0MzMjUuNyA0MS4xIDM0NS44IDMyIDM2OCAzMmMzOC43IDAgNzEgMjcuNSA3OC40IDY0bDEuNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0zMjAgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMwLTUzIDQzLTk2IDk2LTk2ek0xNDAuNiAyOTIuM2wtNDggODBjLTYuOCAxMS40LTIxLjYgMTUtMzIuOSA4LjJzLTE1LjEtMjEuNi04LjItMzIuOWw0OC04MGM2LjgtMTEuNCAyMS42LTE1LjEgMzIuOS04LjJzMTUuMSAyMS42IDguMiAzMi45em0zMjcuOC0zMi45YzExLjQgNi44IDE1IDIxLjYgOC4yIDMyLjlsLTQ4IDgwYy02LjggMTEuNC0yMS42IDE1LTMyLjkgOC4ycy0xNS0yMS42LTguMi0zMi45bDQ4LTgwYzYuOC0xMS40IDIxLjYtMTUuMSAzMi45LTguMnpNMjUyLjYgMjkyLjNsLTQ4IDgwYy02LjggMTEuNC0yMS42IDE1LTMyLjkgOC4ycy0xNS4xLTIxLjYtOC4yLTMyLjlsNDgtODBjNi44LTExLjQgMjEuNi0xNS4xIDMyLjktOC4yczE1LjEgMjEuNiA4LjIgMzIuOXptMTAzLjgtMzIuOWMxMS40IDYuOCAxNSAyMS42IDguMiAzMi45bC00OCA4MGMtNi44IDExLjQtMjEuNiAxNS0zMi45IDguMnMtMTUuMS0yMS42LTguMi0zMi45bDQ4LTgwYzYuOC0xMS40IDIxLjYtMTUuMSAzMi45LTguMnpNMzA2LjUgNDIxLjlDMzI5IDQzNy40IDM1Ni41IDQ0OCAzODQgNDQ4YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xYzAgMCAwIDAgMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNTAxLjcgNDE3IDUxMiAzODQgNTEyYy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2MwIDAgMCAwIDAgMEMxMzYuNyA0MzcuMiAxNjUuMSA0NDggMTkyIDQ0OGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG5jb25zdCBmYUNoYXJ0QmFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LWJhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYmFyLWNoYXJ0XCJdLCBcImYwODBcIiwgXCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptOTYgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgNjRsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDk2bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUJhckNoYXJ0ID0gZmFDaGFydEJhcjtcbmNvbnN0IGZhSGFuZHNCdWJibGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWJ1YmJsZXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhhbmRzLXdhc2hcIl0sIFwiZTA1ZVwiLCBcIk00MTYgNjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em05NiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTMyIDE2MGwuMSA3Mi42Yy4xIDUyLjIgMjQgMTAxIDY0IDEzMy4xYy0uMS0xLjktLjEtMy44LS4xLTUuN2wwLThjMC03MS44IDM3LTEzOC42IDk3LjktMTc2LjdsNjAuMi0zNy42YzguNi01LjQgMTcuOS04LjQgMjcuMy05LjRsNDUuOS03OS41YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOGwtNzggMTM1LjFjLTMuMyA1LjctMTAuNyA3LjctMTYuNCA0LjRzLTcuNy0xMC43LTQuNC0xNi40bDYyLTEwNy40YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44UzIxNCA1IDIwNy40IDE2LjVsLTY4IDExNy44czAgMCAwIDBzMCAwIDAgMGwtNDMuMyA3NUw5NiAxNjBjMC0xNy43LTE0LjQtMzItMzItMzJzLTMyIDE0LjQtMzIgMzJ6TTMzMi4xIDg4LjVMMzA3LjUgMTMxYzEzLjkgNC41IDI2LjQgMTMuNyAzNC43IDI3Yy45IDEuNSAxLjggMi45IDIuNSA0LjRsMjguOS01MGM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4Ljh6bTQ2LjQgNjMuN2wtMjYuOCA0Ni40Yy0uNiA2LTIuMSAxMS44LTQuMyAxNy40bDQuNyAwIDEzLjMgMHMwIDAgMCAwbDMxLjggMCAyMy0zOS44YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOHpNMzE1LjEgMTc1Yy05LjQtMTUtMjkuMS0xOS41LTQ0LjEtMTAuMmwtNjAuMiAzNy42QzE1OS4zIDIzNC43IDEyOCAyOTEuMiAxMjggMzUybDAgOGMwIDguOSAuOCAxNy42IDIuMiAyNi4xYzM1LjQgOC4yIDYxLjggNDAgNjEuOCA3Ny45YzAgNi4zLS43IDEyLjUtMi4xIDE4LjRDMjE1LjEgNTAxIDI0Ni4zIDUxMiAyODAgNTEybDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC05MiAwYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDEyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMjQgMGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMmwxNTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTU2IDBjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJsMTI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEzNiAwczAgMCAwIDBzMCAwIDAgMGwtOTMuMiAwTDMwNSAyMTkuMWMxNS05LjQgMTkuNS0yOS4xIDEwLjItNDQuMXpcIl1cbn07XG5jb25zdCBmYUhhbmRzV2FzaCA9IGZhSGFuZHNCdWJibGVzO1xuY29uc3QgZmFMZXNzVGhhbkVxdWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xlc3MtdGhhbi1lcXVhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUzN1wiLCBcIk0zOTUuOSA5My43YzE2LjQtNi42IDI0LjQtMjUuMiAxNy44LTQxLjZzLTI1LjItMjQuNC00MS42LTE3LjhsLTMyMCAxMjhDNDAgMTY3LjEgMzIgMTc4LjkgMzIgMTkyczggMjQuOSAyMC4xIDI5LjdsMzIwIDEyOGMxNi40IDYuNiAzNS0xLjQgNDEuNi0xNy44cy0xLjQtMzUtMTcuOC00MS42TDE1MC4yIDE5MiAzOTUuOSA5My43ek0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2elwiXVxufTtcbmNvbnN0IGZhVHJhaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaW4nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjg2NDZdLCBcImYyMzhcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDM1MmMwIDQ4IDM1LjIgODcuNyA4MS4xIDk0LjlsLTQ2IDQ2QzI4LjEgNDk5LjkgMzMuMSA1MTIgNDMgNTEybDM5LjcgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNEwxNjAgNDQ4bDEyOCAwIDU0LjYgNTQuNmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRsMzkuNyAwYzEwIDAgMTUtMTIuMSA3LjktMTkuMWwtNDYtNDZjNDYtNy4xIDgxLjEtNDYuOSA4MS4xLTk0LjlsMC0yNTZjMC01My00My05Ni05Ni05Nkw5NiAwek02NCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnpNMjI0IDI4OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFFeWVMb3dWaXNpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXllLWxvdy12aXNpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImxvdy12aXNpb25cIl0sIFwiZjJhOFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDUyNS42IDM4Ni43YzM5LjYtNDAuNiA2Ni40LTg2LjEgNzkuOS0xMTguNGMzLjMtNy45IDMuMy0xNi43IDAtMjQuNmMtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMUM0NjUuNSA2OC44IDQwMC44IDMyIDMyMCAzMmMtNjguMiAwLTEyNSAyNi4zLTE2OS4zIDYwLjhMMzguOCA1LjF6TTIyMyAxNDkuNWM0OC42LTQ0LjMgMTIzLTUwLjggMTc5LjMtMTEuN2M2MC44IDQyLjQgNzguOSAxMjMuMiA0NC4yIDE4Ni45TDQwOCAyOTQuNWM4LjQtMTkuMyAxMC42LTQxLjQgNC44LTYzLjNjLTExLjEtNDEuNS00Ny44LTY5LjQtODguNi03MS4xYy01LjgtLjItOS4yIDYuMS03LjQgMTEuN2MyLjEgNi40IDMuMyAxMy4yIDMuMyAyMC4zYzAgMTAuMi0yLjQgMTkuOC02LjYgMjguM0wyMjMgMTQ5LjV6bTIyMy4xIDI5OEw4My4xIDE2MS41Yy0xMSAxNC40LTIwLjUgMjguNy0yOC40IDQyLjJsMzM5IDI2NS43YzE4LjctNS41IDM2LjItMTMgNTIuNi0yMS44ek0zNC41IDI2OC4zYzE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjFDMTc0LjUgNDQzLjIgMjM5LjIgNDgwIDMyMCA0ODBjMy4xIDAgNi4xLS4xIDkuMi0uMkwzMy4xIDI0Ny44Yy0xLjggNi44LTEuMyAxNCAxLjQgMjAuNXpcIl1cbn07XG5jb25zdCBmYUxvd1Zpc2lvbiA9IGZhRXllTG93VmlzaW9uO1xuY29uc3QgZmFDcm93ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nyb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MjBcIiwgXCJNNDU2IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4bDAgMjkuMkwxMi41IDM5MC42Yy0xNCAxMC44LTE2LjYgMzAuOS01LjkgNDQuOXMzMC45IDE2LjYgNDQuOSA1LjlMMTI2LjEgMzg0bDEzMy4xIDAgNDYuNiAxMTMuMWM1IDEyLjMgMTkuMSAxOC4xIDMxLjMgMTMuMXMxOC4xLTE5LjEgMTMuMS0zMS4zTDMxMS4xIDM4NGw0MC45IDBjMS4xIDAgMi4xIDAgMy4yIDBsNDYuNiAxMTMuMmM1IDEyLjMgMTkuMSAxOC4xIDMxLjMgMTMuMXMxOC4xLTE5LjEgMTMuMS0zMS4zbC00Mi0xMDJDNDg0LjkgMzU0LjEgNTQ0IDI4MCA1NDQgMTkybDAtNjQgMC04IDgwLjUtMjAuMWM4LjYtMi4xIDEzLjgtMTAuOCAxMS42LTE5LjRDNjI5IDUyIDYwMy40IDMyIDU3NCAzMmwtNTAuMSAwQzUwNy43IDEyLjUgNDgzLjMgMCA0NTYgMHptMCA2NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xuY29uc3QgZmFTYWlsYm9hdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzYWlsYm9hdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTQ0NVwiLCBcIk0yNTYgMTZjMC03IDQuNS0xMy4yIDExLjItMTUuM3MxMy45IC40IDE3LjkgNi4xbDIyNCAzMjBjMy40IDQuOSAzLjggMTEuMyAxLjEgMTYuNnMtOC4yIDguNi0xNC4yIDguNmwtMjI0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyMHpNMjEyLjEgOTYuNWM3IDEuOSAxMS45IDguMiAxMS45IDE1LjVsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2TDgwIDM1MmMtNS43IDAtMTEtMy0xMy44LThzLTIuOS0xMS0uMS0xNmwxMjgtMjI0YzMuNi02LjMgMTEtOS40IDE4LTcuNXpNNS43IDQwNC4zQzIuOCAzOTQuMSAxMC41IDM4NCAyMS4xIDM4NGw1MzMuOCAwYzEwLjYgMCAxOC4zIDEwLjEgMTUuNCAyMC4zbC00IDE0LjNDNTUwLjcgNDczLjkgNTAwLjQgNTEyIDQ0MyA1MTJMMTMzIDUxMkM3NS42IDUxMiAyNS4zIDQ3My45IDkuNyA0MTguN2wtNC0xNC4zelwiXVxufTtcbmNvbnN0IGZhV2luZG93UmVzdG9yZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5kb3ctcmVzdG9yZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjJkMlwiLCBcIk00MzIgNjRMMjA4IDY0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi02NCAwIDAtMTZjMC00NC4yIDM1LjgtODAgODAtODBMNDMyIDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAyMjRjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDAgMC02NCAxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTIyNGMwLTguOC03LjItMTYtMTYtMTZ6TTAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJ6bTY0IDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wbHVzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjE4NDYsIFwicGx1cy1zcXVhcmVcIl0sIFwiZjBmZVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDAgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG5jb25zdCBmYVBsdXNTcXVhcmUgPSBmYVNxdWFyZVBsdXM7XG5jb25zdCBmYVRvcmlpR2F0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3JpaS1nYXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTk2MV0sIFwiZjZhMVwiLCBcIk0wIDgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2IDAgMCA2NCA2NCAwIDAtNjQgOTYgMCAwIDY0IDY0IDAgMC02NCA5NiAwIDAgNjQgNjQgMCAwLTY0IDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02Ni42QzUxMiA2IDUwNiAwIDQ5OC42IDBjLTEuNyAwLTMuNCAuMy01IDFsLTQ5IDE5LjZDNDI1LjcgMjguMSA0MDUuNSAzMiAzODUuMiAzMkwxMjYuOCAzMmMtMjAuNCAwLTQwLjUtMy45LTU5LjQtMTEuNEwxOC40IDFjLTEuNi0uNi0zLjMtMS01LTFDNiAwIDAgNiAwIDEzLjRMMCA4MHpNNjQgMjg4bDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTIgMjU2IDAgMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE5MiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwelwiXVxufTtcbmNvbnN0IGZhRnJvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmcm9nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTJlXCIsIFwiTTM2OCAzMmM0MS43IDAgNzUuOSAzMS44IDc5LjcgNzIuNWw4NS42IDI2LjNjMjUuNCA3LjggNDIuOCAzMS4zIDQyLjggNTcuOWMwIDIxLjgtMTEuNyA0MS45LTMwLjcgNTIuN0w0MDAuOCAzMjMuNSA0OTMuMyA0MTZsNTAuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNEwzNDYuOSAzNjAuMmMxMS43LTM2IDMuMi03Ny4xLTI1LjQtMTA1LjdjLTQwLjYtNDAuNi0xMDYuMy00MC42LTE0Ni45LS4xTDEwMSAzMjQuNGMtNi40IDYuMS02LjcgMTYuMi0uNiAyMi42czE2LjIgNi42IDIyLjYgLjZsNzMuOC03MC4yIC4xLS4xIC4xLS4xYzMuNS0zLjUgNy4zLTYuNiAxMS4zLTkuMmMyNy45LTE4LjUgNjUuOS0xNS40IDkwLjUgOS4yYzI0LjcgMjQuNyAyNy43IDYyLjkgOSA5MC45Yy0yLjYgMy44LTUuNiA3LjUtOSAxMC45TDI2MS44IDQxNmw5MC4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEMwIDI0OS42IDEyNyAxMTIuOSAyODkuMyA5Ny41QzI5Ni4yIDYwLjIgMzI4LjggMzIgMzY4IDMyem0wIDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFCdWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVja2V0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJlNGNmXCIsIFwiTTk2IDE1MmwwIDgtNDggMCAwLThDNDggNjguMSAxMTYuMSAwIDIwMCAwbDQ4IDBjODMuOSAwIDE1MiA2OC4xIDE1MiAxNTJsMCA4LTQ4IDAgMC04YzAtNTcuNC00Ni42LTEwNC0xMDQtMTA0bC00OCAwQzE0Mi42IDQ4IDk2IDk0LjYgOTYgMTUyek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNS4xIDBMMzg4LjUgNDY5Yy0yLjYgMjQuNC0yMy4yIDQzLTQ3LjcgNDNsLTIzMy42IDBjLTI0LjYgMC00NS4yLTE4LjUtNDcuNy00M0wzNy4xIDI1NiAzMiAyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhSW1hZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW1hZ2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwM2VcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTMyMy44IDIwMi41Yy00LjUtNi42LTExLjktMTAuNS0xOS44LTEwLjVzLTE1LjQgMy45LTE5LjggMTAuNWwtODcgMTI3LjZMMTcwLjcgMjk3Yy00LjYtNS43LTExLjUtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRzMTIuNCAxMy42IDIxLjYgMTMuNmw5NiAwIDMyIDAgMjA4IDBjOC45IDAgMTcuMS00LjkgMjEuMi0xMi44czMuNi0xNy40LTEuNC0yNC43bC0xMjAtMTc2ek0xMTIgMTkyYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG5jb25zdCBmYU1pY3JvcGhvbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWljcm9waG9uZScsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjEzMFwiLCBcIk0xOTIgMEMxMzkgMCA5NiA0MyA5NiA5NmwwIDE2MGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTYwYzAtNTMtNDMtOTYtOTYtOTZ6TTY0IDIxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgODkuMSA2Ni4yIDE2Mi43IDE1MiAxNzQuNGwwIDMzLjYtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC0zMy42Yzg1LjgtMTEuNyAxNTItODUuMyAxNTItMTc0LjRsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4cy0xMjgtNTcuMy0xMjgtMTI4bDAtNDB6XCJdXG59O1xuY29uc3QgZmFDb3cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY293JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4MDA0XSwgXCJmNmM4XCIsIFwiTTk2IDIyNGwwIDMyIDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC04OC4yYzkuOSA2LjYgMjAuNiAxMiAzMiAxNi4xbDAgMjQuMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTYuOWM1LjMgLjYgMTAuNiAuOSAxNiAuOXMxMC43LS4zIDE2LS45bDAgMTYuOWMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjQuMmMxMS40LTQgMjIuMS05LjQgMzItMTYuMWwwIDg4LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2MCAzMiAzMiAwIDQ5LjVjMCA5LjUgMi44IDE4LjcgOC4xIDI2LjZMNTMwIDQyN2M4LjggMTMuMSAyMy41IDIxIDM5LjMgMjFjMjIuNSAwIDQxLjktMTUuOSA0Ni4zLTM4bDIwLjMtMTAxLjZjMi42LTEzLS4zLTI2LjUtOC0zNy4zbC0zLjktNS41IDAtODEuNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE0LjQtNTIuOS03NC4xQzQ5NiA4Ni41IDQ1Mi40IDY0IDQwNS45IDY0TDI3MiA2NGwtMTYgMC02NCAwLTQ4IDBDNzcuNyA2NCAyNCAxMTcuNyAyNCAxODRsMCA1NEM5LjQgMjQ5LjggMCAyNjcuOCAwIDI4OGwwIDE3LjZjMCA4IDYuNCAxNC40IDE0LjQgMTQuNEM0Ni4yIDMyMCA3MiAyOTQuMiA3MiAyNjIuNGwwLTYuNCAwLTMyIDAtNDBjMC0yNC4zIDEyLjEtNDUuOCAzMC41LTU4LjlDOTguMyAxMzUuOSA5NiAxNDcuNyA5NiAxNjBsMCA2NHpNNTYwIDMzNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0xNjYuNiAxNjYuNmMtNC4yLTQuMi02LjYtMTAtNi42LTE2YzAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDE3OC43IDBjMTIuNSAwIDIyLjYgMTAuMSAyMi42IDIyLjZjMCA2LTIuNCAxMS44LTYuNiAxNmwtMjMuNCAyMy40QzMzMi4yIDIxMS44IDMwMi43IDIyNCAyNzIgMjI0cy02MC4yLTEyLjItODEuOS0zMy45bC0yMy40LTIzLjR6XCJdXG59O1xuY29uc3QgZmFDYXJldFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcmV0LXVwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJmMGQ4XCIsIFwiTTE4Mi42IDEzNy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGwyNTYgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC0xMjgtMTI4elwiXVxufTtcbmNvbnN0IGZhU2NyZXdkcml2ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NyZXdkcml2ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk2OTFdLCBcImY1NGFcIiwgXCJNNDY1IDdjLTguNS04LjUtMjItOS40LTMxLjYtMi4xbC0xMDQgODBjLTUuOSA0LjUtOS40IDExLjYtOS40IDE5bDAgNTQuMS04NS42IDg1LjZjNi43IDQuMiAxMyA5LjMgMTguOCAxNS4xczEwLjkgMTIuMiAxNS4xIDE4LjhMMzUzLjkgMTkybDU0LjEgMGM3LjUgMCAxNC41LTMuNSAxOS05LjRsODAtMTA0YzcuNC05LjYgNi41LTIzLjEtMi4xLTMxLjZMNDY1IDd6TTEyMS40IDI4MS40bC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzMwLjItMzAuMiAzMC4yLTc5LjEgMC0xMDkuM3MtNzkuMS0zMC4yLTEwOS4zIDB6XCJdXG59O1xuY29uc3QgZmFGb2xkZXJDbG9zZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9sZGVyLWNsb3NlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTE4NVwiLCBcIk00NDggNDgwTDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJsNTEyIDAgMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjR6bTY0LTMyMEwwIDE2MCAwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEyOCAwYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZsMTkuMiAyNS42YzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjR6XCJdXG59O1xuY29uc3QgZmFIb3VzZVRzdW5hbWkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtdHN1bmFtaScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUxNVwiLCBcIk04MC44IDEzNi41QzEwNC45IDkzLjggMTUyLjYgNjQgMjA5IDY0YzE2LjkgMCAzMy4xIDIuNyA0OC4yIDcuN2MxNi44IDUuNSAzNC45LTMuNiA0MC40LTIwLjRzLTMuNi0zNC45LTIwLjQtNDAuNEMyNTUuOCAzLjggMjMyLjggMCAyMDkgMEM5NS4yIDAgMCA4OCAwIDIwMGMwIDkxLjYgNTMuNSAxNzIuMSAxNDIuMiAxOTQuMWMxMy40IDMuOCAyNy41IDUuOSA0Mi4yIDUuOWMuNyAwIDEuNCAwIDIuMS0uMWMxLjggMCAzLjcgLjEgNS41IC4xYzAgMCAwIDAgMCAwYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjUtMjcuMy0xMC4xLTM5LjItMS43YzAgMCAwIDAgMCAwQzQzOS40IDMyNS4yIDQxMC45IDMzNiAzODQgMzM2Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjFjLTExLjEtNy45LTI1LjktNy45LTM3IDBjLTIyLjQgMTUuNS00OS45IDI2LjEtNzcuNCAyNi4xYzAgMC0uMSAwLS4xIDBjLTEyLjQgMC0yNC0xLjUtMzQuOS00LjNDMTIxLjYgMzIwLjIgOTYgMjg3IDk2IDI0OGMwLTQ4LjUgMzkuNS04OCA4OC40LTg4YzEzLjUgMCAyNi4xIDMgMzcuNSA4LjNjMTYgNy41IDM1LjEgLjYgNDIuNS0xNS41cy42LTM1LjEtMTUuNS00Mi41QzIyOS4zIDEwMS4xIDIwNy40IDk2IDE4NC40IDk2Yy00MCAwLTc2LjQgMTUuNC0xMDMuNiA0MC41em0yNTItMTguMWMtOC4xIDYtMTIuOCAxNS41LTEyLjggMjUuNmwwIDEyMWMxLjYgMSAzLjMgMiA0LjggMy4xYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjMgNzguMSAzLjRjMTAuNiA4LjggMjQuMiAxNS42IDM3LjMgMTguNmM1LjggMS40IDExLjIgMy40IDE2LjIgNi4yYy43LTIuNyAxLjEtNS41IDEuMS04LjRsLS40LTE0NGMwLTEwLTQuNy0xOS40LTEyLjctMjUuNWwtOTUuNS03MmMtMTEuNC04LjYtMjcuMS04LjYtMzguNSAwbC05NiA3MnpNMzg0IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI0NyA0MzcuNCAyMTkuNSA0NDggMTkyIDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFjMCAwIDAgMCAwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgNTAxLjcgMTU5IDUxMiAxOTIgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43YzAgMCAwIDAgMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4elwiXVxufTtcbmNvbnN0IGZhU3F1YXJlTmZpID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1uZmknLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1NzZcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTc1LjcgNjQuNkM2OC44IDE2Mi41IDY0IDE2OC44IDY0IDE3NmwwIDE2MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTAyLjIgNjYuMyAxMTAuNWMzLjcgNi4yIDExLjEgOS4xIDE4IDcuMnMxMS43LTguMiAxMS43LTE1LjRsMC0xNjBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxMDIuMkw5My43IDE2Ny44Yy0zLjctNi4yLTExLjEtOS4xLTE4LTcuMnpNMjI0IDE3NmwwIDY0IDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwIDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC0zMiA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2MCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMTYwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0xNjB6XCJdXG59O1xuY29uc3QgZmFBcnJvd1VwRnJvbUdyb3VuZFdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGI1XCIsIFwiTTI4OCAzNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yMTAuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNTYgMTA5LjMgMjU2IDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnptLTE4LjUgNjkuOUMyNDcgNDM3LjQgMjE5LjUgNDQ4IDE5MiA0NDhjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xYzAgMCAwIDAgMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzEyNi41IDUwMS43IDE1OSA1MTIgMTkyIDUxMmMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC41IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS40LTI3LjMtMTAuMS0zOS4yLTEuN2MwIDAgMCAwIDAgMEM0MzkuNCA0MzcuMiA0MTAuOSA0NDggMzg0IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xYy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwek0xOTIgMTkyTDQ4IDE5MmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhMMCA0MjVjNS4zLTMuMSAxMS4yLTUuNCAxNy41LTYuOWMxMy4xLTMuMSAyNi43LTkuOCAzNy4zLTE4LjZjMjIuMi0xOC43IDU0LjMtMjAuMSA3OC4xLTMuNGMxOCAxMi40IDQwLjEgMjAuMyA1OS4xIDIwLjNMMTkyIDE5MnptMzg0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNDQgMCAwIDIyNC41czAgMCAwIDBjMTkgMCA0MS4yLTcuOSA1OS4yLTIwLjNjMjMuOC0xNi43IDU1LjgtMTUuNCA3OC4xIDMuNGMxMC42IDguOCAyNC4yIDE1LjYgMzcuMyAxOC42YzYuMyAxLjUgMTIuMSAzLjggMTcuNSA2LjlsMC0xODV6XCJdXG59O1xuY29uc3QgZmFNYXJ0aW5pR2xhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzg2NCwgXCJnbGFzcy1tYXJ0aW5pLWFsdFwiXSwgXCJmNTdiXCIsIFwiTTMyIDBDMTkuMSAwIDcuNCA3LjggMi40IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45TDIyNCAyNjkuMyAyMjQgNDQ4bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTE3OC43TDUwMi42IDU0LjZjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDkyLjkgMCA0ODAgMEwzMiAwek0xNzMuMyAxMjhsLTY0LTY0IDI5My41IDAtNjQgNjQtMTY1LjUgMHpcIl1cbn07XG5jb25zdCBmYUdsYXNzTWFydGluaUFsdCA9IGZhTWFydGluaUdsYXNzO1xuY29uc3QgZmFSb3RhdGVMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdGF0ZS1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJyb3RhdGUtYmFja1wiLCBcInJvdGF0ZS1iYWNrd2FyZFwiLCBcInVuZG8tYWx0XCJdLCBcImYyZWFcIiwgXCJNNDguNSAyMjRMNDAgMjI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwxNiA3MmMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJMOTguNiA5Ni42Yzg3LjYtODYuNSAyMjguNy04Ni4yIDMxNS44IDFjODcuNSA4Ny41IDg3LjUgMjI5LjMgMCAzMTYuOHMtMjI5LjMgODcuNS0zMTYuOCAwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwYzYyLjUgNjIuNSAxNjMuOCA2Mi41IDIyNi4zIDBzNjIuNS0xNjMuOCAwLTIyNi4zYy02Mi4yLTYyLjItMTYyLjctNjIuNS0yMjUuMy0xTDE4NSAxODNjNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMnMtMTIuNSAxNC44LTIyLjIgMTQuOEw0OC41IDIyNHpcIl1cbn07XG5jb25zdCBmYVJvdGF0ZUJhY2sgPSBmYVJvdGF0ZUxlZnQ7XG5jb25zdCBmYVJvdGF0ZUJhY2t3YXJkID0gZmFSb3RhdGVMZWZ0O1xuY29uc3QgZmFVbmRvQWx0ID0gZmFSb3RhdGVMZWZ0O1xuY29uc3QgZmFUYWJsZUNvbHVtbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtY29sdW1ucycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29sdW1uc1wiXSwgXCJmMGRiXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em02NCA2NGwwIDI1NiAxNjAgMCAwLTI1Nkw2NCAxNjB6bTM4NCAwbC0xNjAgMCAwIDI1NiAxNjAgMCAwLTI1NnpcIl1cbn07XG5jb25zdCBmYUNvbHVtbnMgPSBmYVRhYmxlQ29sdW1ucztcbmNvbnN0IGZhTGVtb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVtb24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc4MTldLCBcImYwOTRcIiwgXCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0Yy02LjYgMC0xMyAxLTE5IDIuOWMtMjIuNSA3LTQ4LjEgMTQuOS03MSA5Yy03NS4yLTE5LjEtMTU2LjQgMTEtMjEzLjcgNjguM1MtNy4yIDI1MC44IDExLjkgMzI2YzUuOCAyMi45LTIgNDguNC05IDcxQzEgNDAzIDAgNDA5LjQgMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRjNi42IDAgMTMtMSAxOS4xLTIuOWMyMi41LTcgNDguMS0xNC45IDcxLTljNzUuMiAxOS4xIDE1Ni40LTExIDIxMy43LTY4LjNzODcuNS0xMzguNSA2OC4zLTIxMy43Yy01LjgtMjIuOSAyLTQ4LjQgOS03MWMxLjktNiAyLjktMTIuNCAyLjktMTkuMXpNMjEyLjUgMTI3LjRjLTU0LjYgMTYtMTAxLjEgNjIuNS0xMTcuMSAxMTcuMUM5Mi45IDI1MyA4NCAyNTcuOCA3NS41IDI1NS40UzYyLjIgMjQ0IDY0LjYgMjM1LjVjMTkuMS02NS4xIDczLjctMTE5LjggMTM4LjktMTM4LjljOC41LTIuNSAxNy40IDIuNCAxOS45IDEwLjlzLTIuNCAxNy40LTEwLjkgMTkuOXpcIl1cbn07XG5jb25zdCBmYUhlYWRTaWRlTWFzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFkLXNpZGUtbWFzaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTA2M1wiLCBcIk0zMiAyMjQuMmMwLTIyLjIgMy4yLTQzLjYgOS4yLTYzLjlMMjYyLjIgMzIxYy00IDkuNS02LjIgMjAtNi4yIDMxbDAgMTYwLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTcyLjdjMC0xNi43LTYuOS0zMi41LTE3LjEtNDUuOEM0OC42IDMyMi40IDMyIDI3NC4xIDMyIDIyNC4yem0yNDguMyA3MC40TDUzIDEyOS4zQzg4LjcgNTMgMTY2LjIgMCAyNTYgMGwyNCAwYzk1LjIgMCAxODEuMiA2OS4zIDE5Ny4zIDE2MC4yYzIuMyAxMyA2LjggMjUuNyAxNS4xIDM2bDQyIDUyLjZjNS40IDYuNyA4LjYgMTQuOCA5LjQgMjMuMkwzMzYgMjcyYy0yMS43IDAtNDEuMyA4LjYtNTUuNyAyMi42ek0zMzYgMzA0bDE5OCAwczAgMCAwIDBsMTAgMC0xOS43IDY0TDM2OCAzNjhjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTQ2LjUgMC05LjggMzJMMzY4IDQzMmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjYuOCAwLS45IDIuOGMtOC4zIDI2LjktMzMuMSA0NS4yLTYxLjIgNDUuMkwyODggNTEybDAtMTYwYzAtMTQgNi0yNi43IDE1LjYtMzUuNGMwIDAgMCAwIDAgMGM4LjUtNy44IDE5LjktMTIuNiAzMi40LTEyLjZ6bTQ4LTgwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUhhbmRzaGFrZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kc2hha2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYyYjVcIiwgXCJNMzIzLjQgODUuMmwtOTYuOCA3OC40Yy0xNi4xIDEzLTE5LjIgMzYuNC03IDUzLjFjMTIuOSAxNy44IDM4IDIxLjMgNTUuMyA3LjhsOTkuMy03Ny4yYzctNS40IDE3LTQuMiAyMi41IDIuOHM0LjIgMTctMi44IDIyLjVsLTIwLjkgMTYuMkw1MTIgMzE2LjggNTEyIDEyOGwtLjcgMC0zLjktMi41TDQzNC44IDc5Yy0xNS4zLTkuOC0zMy4yLTE1LTUxLjQtMTVjLTIxLjggMC00MyA3LjUtNjAgMjEuMnptMjIuOCAxMjQuNGwtNTEuNyA0MC4yQzI2MyAyNzQuNCAyMTcuMyAyNjggMTkzLjcgMjM1LjZjLTIyLjItMzAuNS0xNi42LTczLjEgMTIuNy05Ni44bDgzLjItNjcuM2MtMTEuNi00LjktMjQuMS03LjQtMzYuOC03LjRDMjM0IDY0IDIxNS43IDY5LjYgMjAwIDgwbC03MiA0OCAwIDIyNCAyOC4yIDAgOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45YzQuNS00LjkgNy44LTEwLjYgOS45LTE2LjVjMTkuNCAxMyA0NS44IDEwLjMgNjIuMS03LjVjMTcuOS0xOS41IDE2LjYtNDkuOS0yLjktNjcuOGwtMTM0LjItMTIzek0xNiAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNkwwIDM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjI0LTgwIDB6TTQ4IDMyMGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6TTU0NCAxMjhsMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTIwOGMwLTguOC03LjItMTYtMTYtMTZsLTgwIDB6bTMyIDIwOGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbmNvbnN0IGZhR2VtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dlbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODE0Ml0sIFwiZjNhNVwiLCBcIk0xMTYuNyAzMy44YzQuNS02LjEgMTEuNy05LjggMTkuMy05LjhsMjQwIDBjNy42IDAgMTQuOCAzLjYgMTkuMyA5LjhsMTEyIDE1MmM2LjggOS4yIDYuMSAyMS45LTEuNSAzMC40bC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJ6bTM4LjUgMzkuOGMtMy4zIDIuNS00LjIgNy0yLjEgMTAuNWw1Ny40IDk1LjZMNjMuMyAxOTJjLTQuMSAuMy03LjMgMy44LTcuMyA4czMuMiA3LjYgNy4zIDhsMTkyIDE2Yy40IDAgLjkgMCAxLjMgMGwxOTItMTZjNC4xLS4zIDcuMy0zLjggNy4zLThzLTMuMi03LjYtNy4zLThMMzAxLjUgMTc5LjhsNTcuNC05NS42YzIuMS0zLjUgMS4yLTguMS0yLjEtMTAuNXMtNy45LTItMTAuNyAxTDI1NiAxNzIuMiAxNjUuOSA3NC42Yy0yLjgtMy03LjQtMy40LTEwLjctMXpcIl1cbn07XG5jb25zdCBmYURvbGx5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RvbGx5JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJkb2xseS1ib3hcIl0sIFwiZjQ3MlwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMGw3Mi45IDBjMjcuNSAwIDUyIDE3LjYgNjAuNyA0My44TDI1Ny43IDMyMGMzMC4xIC41IDU2LjggMTQuOSA3NCAzN2wyMDIuMS02Ny40YzE2LjgtNS42IDM0LjkgMy41IDQwLjUgMjAuMnMtMy41IDM0LjktMjAuMiA0MC41TDM1MiA0MTcuN2MtLjkgNTIuMi00My41IDk0LjMtOTYgOTQuM2MtNTMgMC05Ni00My05Ni05NmMwLTMwLjggMTQuNS01OC4yIDM3LTc1LjhMMTA0LjkgNjQgMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMnpNMjQ0LjggMTM0LjVjLTUuNS0xNi44IDMuNy0zNC45IDIwLjUtNDAuM0wzMTEgNzkuNGwxOS44IDYwLjkgNjAuOS0xOS44TDM3MS44IDU5LjZsNDUuNy0xNC44YzE2LjgtNS41IDM0LjkgMy43IDQwLjMgMjAuNWw0OS40IDE1Mi4yYzUuNSAxNi44LTMuNyAzNC45LTIwLjUgNDAuM0wzMzQuNSAzMDcuMmMtMTYuOCA1LjUtMzQuOS0zLjctNDAuMy0yMC41TDI0NC44IDEzNC41elwiXVxufTtcbmNvbnN0IGZhRG9sbHlCb3ggPSBmYURvbGx5O1xuY29uc3QgZmFTbW9raW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Ntb2tpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2ODRdLCBcImY0OGRcIiwgXCJNNDQ4IDMybDAgMTFjMCAzOC4yIDE1LjIgNzQuOCA0Mi4yIDEwMS44bDIxIDIxYzIxIDIxIDMyLjggNDkuNSAzMi44IDc5LjJsMCAxMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTExYzAtMTIuNy01LjEtMjQuOS0xNC4xLTMzLjlsLTIxLTIxQzQwNS45IDE1MS4xIDM4NCA5OC4xIDM4NCA0M2wwLTExYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTU3NiAyNTZsMC0xMWMwLTM4LjItMTUuMi03NC44LTQyLjItMTAxLjhsLTIxLTIxYy0yMS0yMS0zMi44LTQ5LjUtMzIuOC03OS4ybDAtMTFjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDExYzAgMTIuNyA1LjEgMjQuOSAxNC4xIDMzLjlsMjEgMjFjMzkgMzkgNjAuOSA5MS45IDYwLjkgMTQ3LjFsMCAxMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnpNMCA0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzJ6bTIyNCAwbDAgMzIgMTYwIDAgMC0zMi0xNjAgMHptMjg4LTY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFNaW5pbWl6ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaW5pbWl6ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY29tcHJlc3MtYXJyb3dzLWFsdFwiXSwgXCJmNzhjXCIsIFwiTTQ1NiAyMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsNDAgNDBMNDQyLjMgNS43QzQ0NiAyIDQ1MC45IDAgNDU2IDBzMTAgMiAxMy43IDUuN2wzNi43IDM2LjdDNTEwIDQ2IDUxMiA1MC45IDUxMiA1NnMtMiAxMC01LjcgMTMuN0w0MzMgMTQzbDQwIDQwYzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJzLTEyLjUgMTQuOC0yMi4yIDE0Ljh6bTAgNjRjOS43IDAgMTguNSA1LjggMjIuMiAxNC44czEuNyAxOS4zLTUuMiAyNi4ybC00MCA0MCA3My40IDczLjRjMy42IDMuNiA1LjcgOC41IDUuNyAxMy43cy0yIDEwLTUuNyAxMy43bC0zNi43IDM2LjdDNDY2IDUxMCA0NjEuMSA1MTIgNDU2IDUxMnMtMTAtMi0xMy43LTUuN0wzNjkgNDMzbC00MCA0MGMtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMnMtMTQuOC0xMi41LTE0LjgtMjIuMmwwLTE0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNDQgMHptLTI1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTQwLTQwTDY5LjcgNTA2LjNDNjYgNTEwIDYxLjEgNTEyIDU2IDUxMnMtMTAtMi0xMy43LTUuN0w1LjcgNDY5LjdDMiA0NjYgMCA0NjEuMSAwIDQ1NnMyLTEwIDUuNy0xMy43TDc5IDM2OSAzOSAzMjljLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJzMTIuNS0xNC44IDIyLjItMTQuOGwxNDQgMHpNNTYgMjI0Yy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhzLTEuNy0xOS4zIDUuMi0yNi4ybDQwLTQwTDUuNyA2OS43QzIgNjYgMCA2MS4xIDAgNTZzMi0xMCA1LjctMTMuN0w0Mi4zIDUuN0M0NiAyIDUwLjkgMCA1NiAwczEwIDIgMTMuNyA1LjdMMTQzIDc5bDQwLTQwYzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJzMTQuOCAxMi41IDE0LjggMjIuMmwwIDE0NGMwIDEzLjMtMTAuNyAyNC0yNCAyNEw1NiAyMjR6XCJdXG59O1xuY29uc3QgZmFDb21wcmVzc0Fycm93c0FsdCA9IGZhTWluaW1pemU7XG5jb25zdCBmYU1vbnVtZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbnVtZW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNWE2XCIsIFwiTTE4MC43IDQuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGw4MCA4MGMyLjUgMi41IDQuMSA1LjggNC42IDkuM2w0MC4yIDMyMkw1NS45IDQxNiA5Ni4xIDk0Yy40LTMuNSAyLTYuOCA0LjYtOS4zbDgwLTgwek0xNTIgMjcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6TTMyIDQ0OGwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTbm93cGxvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbm93cGxvdycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjdkMlwiLCBcIk0yOTguOSA2NGw2OC42IDE2MEwyNTYgMjI0bC02NC02NCAwLTk2IDEwNi45IDB6TTQ0NS4xIDI0Mi43bC04Ny40LTIwNEMzNDcuNiAxNS4zIDMyNC41IDAgMjk4LjkgMEwxNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMTItMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMDYuOEMyNi4yIDMxNi44IDAgMzU1LjMgMCA0MDBjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJsMjU2IDBjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC0xNy4yLTMuOS0zMy41LTEwLjgtNDhsNDIuOCAwIDAgNTAuN2MwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2w1NC42IDU0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w1NzYgNDAyLjdsMC04Mi43IDAtODQuOEw2MzMgMTY0YzExLTEzLjggOC44LTMzLjktNS00NXMtMzMuOS04LjgtNDUgNWwtNTcgNzEuMmMtOS4xIDExLjMtMTQgMjUuNC0xNCA0MGwwIDUyLjgtNjQgMCAwLTMxLjNjLjEtMi40LS4yLTQuOC0uNi03LjFzLTEuMi00LjctMi4yLTYuOHpNMzY4IDM1MmMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMjU2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDhsMjU2IDB6TTE0NCA0MDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptMjE2IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptLTU2LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTIwMCA0MjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbmNvbnN0IGZhQW5nbGVzUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGVzLXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTg3LCBcImFuZ2xlLWRvdWJsZS1yaWdodFwiXSwgXCJmMTAxXCIsIFwiTTQ3MC42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0MDIuNyAyNTYgMjY1LjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MHptLTM1MiAxNjBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMjEwLjcgMjU2IDczLjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6XCJdXG59O1xuY29uc3QgZmFBbmdsZURvdWJsZVJpZ2h0ID0gZmFBbmdsZXNSaWdodDtcbmNvbnN0IGZhQ2FubmFiaXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FubmFiaXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NWZcIiwgXCJNMjU2IDBjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjFjMTUuOCAyMy41IDM2LjcgNjMuNyA0OS4yIDEwOWM3LjIgMjYuNCAxMS44IDU1LjIgMTAuNCA4NGMxMS41LTguOCAyMy43LTE2LjcgMzUuOC0yMy42YzQxLTIzLjMgODQuNC0zNi45IDExMi4yLTQyLjVjNS4yLTEgMTAuNyAuNiAxNC40IDQuNHM1LjQgOS4yIDQuNCAxNC41Yy01LjYgMjcuNy0xOS4zIDcwLjktNDIuNyAxMTEuN2MtOS4xIDE1LjktMTkuOSAzMS43LTMyLjQgNDYuM2MyNy44IDYuNiA1Mi40IDE3LjMgNjcuMiAyNS41YzUuMSAyLjggOC4yIDguMiA4LjIgMTRzLTMuMiAxMS4yLTguMiAxNGMtMTUuMiA4LjQtNDAuOSAxOS41LTY5LjggMjYuMWMtMjAuMiA0LjYtNDIuOSA3LjItNjUuMiA0LjZsOC4zIDMzLjFjMS41IDYuMS0uNiAxMi40LTUuNSAxNi40cy0xMS42IDQuNi0xNy4yIDEuOUwyODAgNDE3LjJsMCA3MC44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzAuOC01OC41IDI5LjFjLTUuNiAyLjgtMTIuMyAyLjEtMTcuMi0xLjlzLTctMTAuMy01LjUtMTYuNGw4LjMtMzMuMWMtMjIuMiAyLjYtNDUgMC02NS4yLTQuNmMtMjguOS02LjYtNTQuNi0xNy42LTY5LjgtMjYuMWMtNS4xLTIuOC04LjItOC4yLTguMi0xNHMzLjItMTEuMiA4LjItMTRjMTQuOC04LjIgMzkuNC0xOC44IDY3LjItMjUuNUM3OC45IDI5Ni4zIDY4LjEgMjgwLjUgNTkgMjY0LjZjLTIzLjQtNDAuOC0zNy4xLTg0LTQyLjctMTExLjdjLTEuMS01LjIgLjYtMTAuNyA0LjQtMTQuNXM5LjItNS40IDE0LjQtNC40YzI3LjkgNS41IDcxLjIgMTkuMiAxMTIuMiA0Mi41YzEyLjEgNi45IDI0LjMgMTQuNyAzNS44IDIzLjZjLTEuNC0yOC43IDMuMS01Ny42IDEwLjQtODRjMTIuNS00NS4zIDMzLjQtODUuNSA0OS4yLTEwOWMzLTQuNCA4LTcuMSAxMy4zLTcuMXpcIl1cbn07XG5jb25zdCBmYUNpcmNsZVBsYXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXBsYXknLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTQ2OSwgXCJwbGF5LWNpcmNsZVwiXSwgXCJmMTQ0XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpNMTg4LjMgMTQ3LjFjLTcuNiA0LjItMTIuMyAxMi4zLTEyLjMgMjAuOWwwIDE3NmMwIDguNyA0LjcgMTYuNyAxMi4zIDIwLjlzMTYuOCA0LjEgMjQuMy0uNWwxNDQtODhjNy4xLTQuNCAxMS41LTEyLjEgMTEuNS0yMC41cy00LjQtMTYuMS0xMS41LTIwLjVsLTE0NC04OGMtNy40LTQuNS0xNi43LTQuNy0yNC4zLS41elwiXVxufTtcbmNvbnN0IGZhUGxheUNpcmNsZSA9IGZhQ2lyY2xlUGxheTtcbmNvbnN0IGZhVGFibGV0cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZXRzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDkwXCIsIFwiTTYxNC4zIDI0N2MtNS4yIDcuOS0xNi4yIDguNS0yMi45IDEuOEwzOTEuMiA0OC42Yy02LjctNi43LTYuMi0xNy44IDEuOC0yMi45QzQxOC4xIDkuNCA0NDcuOSAwIDQ4MCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwYzAgMzIuMS05LjQgNjEuOS0yNS43IDg3ek01NjcgMjk0LjNjLTI1IDE2LjMtNTQuOSAyNS43LTg3IDI1LjdjLTg4LjQgMC0xNjAtNzEuNi0xNjAtMTYwYzAtMzIuMSA5LjQtNjEuOSAyNS43LTg3YzUuMi03LjkgMTYuMi04LjUgMjIuOS0xLjhMNTY4LjggMjcxLjRjNi43IDYuNyA2LjIgMTcuOC0xLjggMjIuOXpNMzAxLjUgMzY4YzkuNSAwIDE2LjkgOC4yIDE1IDE3LjVDMzAxLjEgNDU3LjggMjM2LjkgNTEyIDE2MCA1MTJTMTguOSA0NTcuOCAzLjUgMzg1LjVjLTItOS4zIDUuNS0xNy41IDE1LTE3LjVsMjgzLjEgMHptMC0zMkwxOC41IDMzNmMtOS41IDAtMTYuOS04LjItMTUtMTcuNUMxOC45IDI0Ni4yIDgzLjEgMTkyIDE2MCAxOTJzMTQxLjEgNTQuMiAxNTYuNSAxMjYuNWMyIDkuMy01LjUgMTcuNS0xNSAxNy41elwiXVxufTtcbmNvbnN0IGZhRXRoZXJuZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXRoZXJuZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3OTZcIiwgXCJNMCAyMjRMMCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMCAwLTExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTEyIDY0IDAgMC0xMTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDExMiA2NCAwIDAtMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMTIgNjQgMCAwLTExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTEyIDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE2MCA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhRXVyb1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXVyby1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbODM2NCwgXCJldXJcIiwgXCJldXJvXCJdLCBcImYxNTNcIiwgXCJNNDguMSAyNDBjLS4xIDIuNy0uMSA1LjMtLjEgOGwwIDE2YzAgMi43IDAgNS4zIC4xIDhMMzIgMjcyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4LjMgMEM4OS45IDQxOS45IDE3MCA0ODAgMjY0IDQ4MGwyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNCAwYy01Ny45IDAtMTA4LjItMzIuNC0xMzMuOS04MEwyNTYgMzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNDMuOCAwYy0uMS0yLjYtLjItNS4zLS4yLThsMC0xNmMwLTIuNyAuMS01LjQgLjItOEwyNTYgMjQwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMjUuOSAwYzI1LjctNDcuNiA3Ni04MCAxMzMuOS04MGwyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNCAwQzE3MCAzMiA4OS45IDkyLjEgNjAuMyAxNzZMMzIgMTc2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2LjEgMHpcIl1cbn07XG5jb25zdCBmYUV1ciA9IGZhRXVyb1NpZ247XG5jb25zdCBmYUV1cm8gPSBmYUV1cm9TaWduO1xuY29uc3QgZmFDaGFpciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFpcicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTY4MV0sIFwiZjZjMFwiLCBcIk0yNDggNDhsMCAyMDggNDggMCAwLTE5Ny4zYzIzLjkgMTMuOCA0MCAzOS43IDQwIDY5LjNsMCAxMjggNDggMCAwLTEyOEMzODQgNTcuMyAzMjYuNyAwIDI1NiAwTDE5MiAwQzEyMS4zIDAgNjQgNTcuMyA2NCAxMjhsMCAxMjggNDggMCAwLTEyOGMwLTI5LjYgMTYuMS01NS41IDQwLTY5LjNMMTUyIDI1Nmw0OCAwIDAtMjA4IDQ4IDB6TTQ4IDI4OGMtMTIuMSAwLTIzLjIgNi44LTI4LjYgMTcuN2wtMTYgMzJjLTUgOS45LTQuNCAyMS43IDEuNCAzMS4xUzIwLjkgMzg0IDMyIDM4NGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAyNTYgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMxMS4xIDAgMjEuNC01LjcgMjcuMi0xNS4yczYuNC0yMS4yIDEuNC0zMS4xbC0xNi0zMkM0MjMuMiAyOTQuOCA0MTIuMSAyODggNDAwIDI4OEw0OCAyODh6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTUzMywgXCJjaGVjay1jaXJjbGVcIl0sIFwiZjA1OFwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzY5IDIwOUwyNDEgMzM3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtNjQtNjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NyA0N0wzMzUgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG5jb25zdCBmYUNoZWNrQ2lyY2xlID0gZmFDaXJjbGVDaGVjaztcbmNvbnN0IGZhQ2lyY2xlU3RvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtc3RvcCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMDk0LCBcInN0b3AtY2lyY2xlXCJdLCBcImYyOGRcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAxNjBsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVN0b3BDaXJjbGUgPSBmYUNpcmNsZVN0b3A7XG5jb25zdCBmYUNvbXBhc3NEcmFmdGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wYXNzLWRyYWZ0aW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJkcmFmdGluZy1jb21wYXNzXCJdLCBcImY1NjhcIiwgXCJNMzUyIDk2YzAgMTQuMy0zLjEgMjcuOS04LjggNDAuMkwzOTYgMjI3LjRjLTIzLjcgMjUuMy01NC4yIDQ0LjEtODguNSA1My42TDI1NiAxOTJjMCAwIDAgMCAwIDBzMCAwIDAgMGwtNjggMTE3LjVjMjEuNSA2LjggNDQuMyAxMC41IDY4LjEgMTAuNWM3MC43IDAgMTMzLjgtMzIuNyAxNzQuOS04NGMxMS4xLTEzLjggMzEuMi0xNiA0NS01czE2IDMxLjIgNSA0NUM0MjguMSAzNDEuOCAzNDcgMzg0IDI1NiAzODRjLTM1LjQgMC02OS40LTYuNC0xMDAuNy0xOC4xTDk4LjcgNDYzLjdDOTQgNDcxLjggODcgNDc4LjQgNzguNiA0ODIuNkwyMy4yIDUxMC4zYy01IDIuNS0xMC45IDIuMi0xNS42LS43UzAgNTAxLjUgMCA0OTZsMC01NS40YzAtOC40IDIuMi0xNi43IDYuNS0yNC4xbDYwLTEwMy43QzUzLjcgMzAxLjYgNDEuOCAyODkuMyAzMS4yIDI3NmMtMTEuMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWM1LjcgNy4xIDExLjggMTMuOCAxOC4yIDIwLjFsNjkuNC0xMTkuOWMtNS42LTEyLjItOC44LTI1LjgtOC44LTQwLjJjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnptMjEgMjk3LjljMzIuNi0xMi44IDYyLjUtMzAuOCA4OC45LTUyLjlsNDMuNyA3NS41YzQuMiA3LjMgNi41IDE1LjYgNi41IDI0LjFsMCA1NS40YzAgNS41LTIuOSAxMC43LTcuNiAxMy42cy0xMC42IDMuMi0xNS42IC43bC01NS40LTI3LjdjLTguNC00LjItMTUuNC0xMC44LTIwLjEtMTguOUwzNzMgMzkzLjl6TTI1NiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhRHJhZnRpbmdDb21wYXNzID0gZmFDb21wYXNzRHJhZnRpbmc7XG5jb25zdCBmYVBsYXRlV2hlYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhdGUtd2hlYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NWFcIiwgXCJNMTc2IDMyYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjQgMTM2bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDE4NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDQ4YzAtOC44IDcuMi0xNiAxNi0xNmM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNnpNNDAwIDMyYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2Yy00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTYwbDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwYzguOCAwIDE2IDcuMiAxNiAxNnpNMzUyIDE3NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGM4LjggMCAxNiA3LjIgMTYgMTZ6TTMuNSAzNDcuNkMxLjYgMzMyLjkgMTMgMzIwIDI3LjggMzIwbDQ1Ni40IDBjMTQuOCAwIDI2LjIgMTIuOSAyNC40IDI3LjZDNTAyLjMgMzk3LjggNDY0LjIgNDM3IDQxNiA0NDZsMCAyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yYy00OC4yLTktODYuMy00OC4yLTkyLjUtOTguNHpcIl1cbn07XG5jb25zdCBmYUljaWNsZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWNpY2xlcycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdhZFwiLCBcIk03NS44IDMwNC44TDEgMzUuN2MtLjctMi41LTEtNS0xLTcuNUMwIDEyLjYgMTIuNiAwIDI4LjIgMEg0ODIuNEM0OTguOCAwIDUxMiAxMy4yIDUxMiAyOS42YzAgMS42LS4xIDMuMy0uNCA0LjlMNDM0LjYgNDk2LjFjLTEuNSA5LjItOS41IDE1LjktMTguOCAxNS45Yy05LjIgMC0xNy4xLTYuNi0xOC43LTE1LjZMMzM2IDE2MCAzMDcuMiAzMDMuOWMtMS45IDkuMy0xMC4xIDE2LjEtMTkuNiAxNi4xYy05LjIgMC0xNy4yLTYuMi0xOS40LTE1LjFMMjQwIDE5MiAyMTAuNiAzNjguMmMtMS41IDkuMS05LjQgMTUuOC0xOC42IDE1LjhzLTE3LjEtNi43LTE4LjYtMTUuOEwxNDQgMTkyIDExNS45IDMwNC4zYy0yLjMgOS4yLTEwLjYgMTUuNy0yMC4xIDE1LjdjLTkuMyAwLTE3LjUtNi4yLTIwLTE1LjJ6XCJdXG59O1xuY29uc3QgZmFQZXJzb25TaGVsdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1zaGVsdGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTRmXCIsIFwiTTI3MS45IDQuMmMtOS44LTUuNi0yMS45LTUuNi0zMS44IDBsLTIyNCAxMjhDNi4yIDEzNy45IDAgMTQ4LjUgMCAxNjBMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwMS40TDI1NiA2OC45IDQ0OCAxNzguNiA0NDggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMjBjMC0xMS41LTYuMi0yMi4xLTE2LjEtMjcuOGwtMjI0LTEyOHpNMjU2IDIwOGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bS04IDI4MGwwLTg4IDE2IDAgMCA4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc0LjUgMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzcuOS03MC4zYy0xNS4zLTI4LjUtNDUuMS00Ni4zLTc3LjUtNDYuM2wtMTkuNSAwYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM2wtMzcuOSA3MC4zYy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEwyMDAgMzEzLjUgMjAwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhTmV1dGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ25ldXRlcicsXG4gIGljb246IFszODQsIDUxMiwgWzk5MDZdLCBcImYyMmNcIiwgXCJNODAgMTc2YTExMiAxMTIgMCAxIDEgMjI0IDBBMTEyIDExMiAwIDEgMSA4MCAxNzZ6TTIyNCAzNDkuMWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMUMzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMUwxNjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMzAuOXpcIl1cbn07XG5jb25zdCBmYUlkQmFkZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWQtYmFkZ2UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYyYzFcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHptOTYgMzIwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwem0tMzItOTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xNDQgNjRsOTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtOTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYU1hcmtlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXJrZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YTFcIiwgXCJNNDgxIDMxQzQ0NS4xLTQuOCAzODYuOS00LjggMzUxIDMxbC0xNSAxNUwzMjIuOSAzM0MyOTQuOCA0LjkgMjQ5LjIgNC45IDIyMS4xIDMzTDEzNSAxMTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMEwyNTUgNjYuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzMDIuMSA4MCAxODYuMyAxOTUuNyAzMTYuMyAzMjUuNyA0ODEgMTYxYzM1LjktMzUuOSAzNS45LTk0LjEgMC0xMjkuOXpNMjkzLjcgMzQ4LjNMMTYzLjcgMjE4LjMgOTkuNSAyODIuNWMtNDggNDgtODAuOCAxMDkuMi05NC4xIDE3NS44bC01IDI1Yy0xLjYgNy45IC45IDE2IDYuNiAyMS43czEzLjggOC4xIDIxLjcgNi42bDI1LTVjNjYuNi0xMy4zIDEyNy44LTQ2LjEgMTc1LjgtOTQuMWw2NC4yLTY0LjJ6XCJdXG59O1xuY29uc3QgZmFGYWNlTGF1Z2hCZWFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtbGF1Z2gtYmVhbScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxMywgXCJsYXVnaC1iZWFtXCJdLCBcImY1OWFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTk2LjggMzE0LjFjLTMuOC0xMy43IDcuNC0yNi4xIDIxLjYtMjYuMWwyNzUuMiAwYzE0LjIgMCAyNS41IDEyLjQgMjEuNiAyNi4xQzM5Ni4yIDM4MiAzMzIuMSA0MzIgMjU2IDQzMnMtMTQwLjItNTAtMTU5LjItMTE3Ljl6TTIxNy42IDIxMi44czAgMCAwIDBjMCAwIDAgMCAwIDBsLS4yLS4yYy0uMi0uMi0uNC0uNS0uNy0uOWMtLjYtLjgtMS42LTItMi44LTMuNGMtMi41LTIuOC02LTYuNi0xMC4yLTEwLjNjLTguOC03LjgtMTguOC0xNC0yNy43LTE0cy0xOC45IDYuMi0yNy43IDE0Yy00LjIgMy43LTcuNyA3LjUtMTAuMiAxMC4zYy0xLjIgMS40LTIuMiAyLjYtMi44IDMuNGMtLjMgLjQtLjYgLjctLjcgLjlsLS4yIC4yYzAgMCAwIDAgMCAwYzAgMCAwIDAgMCAwczAgMCAwIDBjLTIuMSAyLjgtNS43IDMuOS04LjkgMi44cy01LjUtNC4xLTUuNS03LjZjMC0xNy45IDYuNy0zNS42IDE2LjYtNDguOGM5LjgtMTMgMjMuOS0yMy4yIDM5LjQtMjMuMnMyOS42IDEwLjIgMzkuNCAyMy4yYzkuOSAxMy4yIDE2LjYgMzAuOSAxNi42IDQ4LjhjMCAzLjQtMi4yIDYuNS01LjUgNy42cy02LjkgMC04LjktMi44YzAgMCAwIDAgMCAwczAgMCAwIDB6bTE2MCAwYzAgMCAwIDAgMCAwbC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMmMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDB6XCJdXG59O1xuY29uc3QgZmFMYXVnaEJlYW0gPSBmYUZhY2VMYXVnaEJlYW07XG5jb25zdCBmYUhlbGljb3B0ZXJTeW1ib2wgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVsaWNvcHRlci1zeW1ib2wnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MDJcIiwgXCJNNDQ1LjMgMjI0bDY0LjcgMEM0OTUuNiAxMDguMiA0MDMuOCAxNi40IDI4OCAybDAgNjQuN0MzNjguNCA4MC4xIDQzMS45IDE0My42IDQ0NS4zIDIyNHpNNTEwIDI4OGwtNjQuNyAwQzQzMS45IDM2OC40IDM2OC40IDQzMS45IDI4OCA0NDUuM2wwIDY0LjdjMTE1LjgtMTQuNCAyMDcuNi0xMDYuMiAyMjItMjIyek0yIDI4OEMxNi40IDQwMy44IDEwOC4yIDQ5NS42IDIyNCA1MTBsMC02NC43QzE0My42IDQzMS45IDgwLjEgMzY4LjQgNjYuNyAyODhMMiAyODh6bTAtNjRsNjQuNyAwQzgwLjEgMTQzLjYgMTQzLjYgODAuMSAyMjQgNjYuN0wyMjQgMkMxMDguMiAxNi40IDE2LjQgMTA4LjIgMiAyMjR6bTIwNi02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgOTYgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NC05NiAwIDAtNjR6XCJdXG59O1xuY29uc3QgZmFVbml2ZXJzYWxBY2Nlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndW5pdmVyc2FsLWFjY2VzcycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjI5YVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTE2MS41LTg2LjFjLTEyLjItNS4yLTI2LjMgLjQtMzEuNSAxMi42cy40IDI2LjMgMTIuNiAzMS41bDExLjkgNS4xYzE3LjMgNy40IDM1LjIgMTIuOSA1My42IDE2LjNsMCA1MC4xYzAgNC4zLS43IDguNi0yLjEgMTIuNmwtMjguNyA4Ni4xYy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDI0LjQtNzMuMmMxLjMtMy44IDQuOC02LjQgOC44LTYuNHM3LjYgMi42IDguOCA2LjRsMjQuNCA3My4yYzQuMiAxMi42IDE3LjggMTkuNCAzMC40IDE1LjJzMTkuNC0xNy44IDE1LjItMzAuNGwtMjguNy04Ni4xYy0xLjQtNC4xLTIuMS04LjMtMi4xLTEyLjZsMC01MC4xYzE4LjQtMy41IDM2LjMtOC45IDUzLjYtMTYuM2wxMS45LTUuMWMxMi4yLTUuMiAxNy44LTE5LjMgMTIuNi0zMS41cy0xOS4zLTE3LjgtMzEuNS0xMi42TDMzOC43IDE3NWMtMjYuMSAxMS4yLTU0LjIgMTctODIuNyAxN3MtNTYuNS01LjgtODIuNy0xN2wtMTEuOS01LjF6TTI1NiAxNjBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlQ2hldnJvblVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1jaGV2cm9uLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjaGV2cm9uLWNpcmNsZS11cFwiXSwgXCJmMTM5XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zNzcgMjcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTg3LTg3LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIzOSAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMzc3IDI3MXpcIl1cbn07XG5jb25zdCBmYUNoZXZyb25DaXJjbGVVcCA9IGZhQ2lyY2xlQ2hldnJvblVwO1xuY29uc3QgZmFMYXJpU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXJpLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxYzhcIiwgXCJNMTQ0IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIuN2M1LjMtLjQgMTAuNi0uNyAxNi0uN3MxMC43IC4yIDE2IC43TDIwOCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDkuNGM1NC45IDI1LjIgOTUuOCA3NS41IDEwOC4yIDEzNi4yYzMuNSAxNy4zLTcuNyAzNC4yLTI1IDM3LjdzLTM0LjItNy43LTM3LjctMjVjLTYuMS0yOS45LTIyLjUtNTUuOS00NS40LTc0LjNsMCA2Ny45YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTVjLTUuMi0uNy0xMC42LTEtMTYtMXMtMTAuOCAuMy0xNiAxbDAgOTVjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ny45QzgyLjcgMjExLjUgNjQgMjQ3LjYgNjQgMjg4YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMEwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYuOSAwQzE4LjUgMzgyIDAgMzM3LjIgMCAyODhjMC03Ny41IDQ1LjktMTQ0LjMgMTEyLTE3NC42TDExMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVZvbGNhbm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sY2FubycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1NV0sIFwiZjc3MFwiLCBcIk0xNjAgMTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE1LjcgMCAzMCA1LjYgNDEuMiAxNUMyMTIuNCAxMi40IDIzMi43IDAgMjU2IDBzNDMuNiAxMi40IDU0LjggMzFDMzIyIDIxLjYgMzM2LjMgMTYgMzUyIDE2YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0Yy0xNC43IDAtMjguMy01LTM5LjEtMTMuM2wtMzIgNDhDMjc1LjMgMTg3IDI2NiAxOTIgMjU2IDE5MnMtMTkuMy01LTI0LjktMTMuM2wtMzItNDhDMTg4LjMgMTM5IDE3NC43IDE0NCAxNjAgMTQ0ek0xNDQgMzUybDQ4LjQtMjQuMmMxMC4yLTUuMSAyMS42LTcuOCAzMy03LjhjMTkuNiAwIDM4LjQgNy44IDUyLjIgMjEuNmwzMi41IDMyLjVjNi4zIDYuMyAxNC45IDkuOSAyMy44IDkuOWMxMS4zIDAgMjEuOC01LjYgMjgtMTVsOS43LTE0LjYtNTguOS02Ni4zYy05LjEtMTAuMi0yMi4yLTE2LjEtMzUuOS0xNi4xbC00MS44IDBjLTEzLjcgMC0yNi44IDUuOS0zNS45IDE2LjFsLTU5LjkgNjcuNEwxNDQgMzUyem0xOS40LTk1LjhjMTguMi0yMC41IDQ0LjMtMzIuMiA3MS44LTMyLjJsNDEuOCAwYzI3LjQgMCA1My41IDExLjcgNzEuOCAzMi4ybDE1MC4yIDE2OWM4LjUgOS41IDEzLjIgMjEuOSAxMy4yIDM0LjdjMCAyOC44LTIzLjQgNTIuMi01Mi4yIDUyLjJMNTIuMiA1MTJDMjMuNCA1MTIgMCA0ODguNiAwIDQ1OS44YzAtMTIuOCA0LjctMjUuMSAxMy4yLTM0LjdsMTUwLjItMTY5elwiXVxufTtcbmNvbnN0IGZhUGVyc29uV2Fsa2luZ0Rhc2hlZExpbmVBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTUzXCIsIFwiTTIwOCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTEyMy43IDIwMC41YzEtLjQgMS45LS44IDIuOS0xLjJsLTE2LjkgNjMuNWMtNS42IDIxLjEtLjEgNDMuNiAxNC43IDU5LjdsNzAuNyA3Ny4xIDIyIDg4LjFjNC4zIDE3LjEgMjEuNyAyNy42IDM4LjggMjMuM3MyNy42LTIxLjcgMjMuMy0zOC44bC0yMy05Mi4xYy0xLjktNy44LTUuOC0xNC45LTExLjItMjAuOGwtNDkuNS01NCAxOS4zLTY1LjUgOS42IDIzYzQuNCAxMC42IDEyLjUgMTkuMyAyMi44IDI0LjVsMjYuNyAxMy4zYzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOUwyODEgMjMyLjdsLTE1LjMtMzYuOEMyNDguNSAxNTQuOCAyMDguMyAxMjggMTYzLjcgMTI4Yy0yMi44IDAtNDUuMyA0LjgtNjYuMSAxNGwtOCAzLjVjLTMyLjkgMTQuNi01OC4xIDQyLjQtNjkuNCA3Ni41bC0yLjYgNy44Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDIuNi03LjhjNS43LTE3LjEgMTguMy0zMC45IDM0LjctMzguMmw4LTMuNXptLTMwIDEzNS4xTDY4LjcgMzk4IDkuNCA0NTcuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxMTYuMyA0NDFjNC42LTQuNiA4LjItMTAuMSAxMC42LTE2LjFsMTQuNS0zNi4yLTQwLjctNDQuNGMtMi41LTIuNy00LjgtNS42LTctOC42ek01NTAuNiAxNTMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNTMwLjcgMjI0IDM4NCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTQ2LjcgMC0yNS40IDI1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsODAtODBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgwek0zOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTI0IDE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNnpNMzkyIDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTI0IDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OHpcIl1cbn07XG5jb25zdCBmYVN0ZXJsaW5nU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdGVybGluZy1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTYzLCBcImdicFwiLCBcInBvdW5kLXNpZ25cIl0sIFwiZjE1NFwiLCBcIk0xMTIgMTYwLjRjMC0zNS41IDI4LjgtNjQuNCA2NC40LTY0LjRjNi45IDAgMTMuOCAxLjEgMjAuNCAzLjNsODEuMiAyNy4xYzE2LjggNS42IDM0LjktMy41IDQwLjUtMjAuMnMtMy41LTM0LjktMjAuMi00MC41TDIxNyAzOC42Yy0xMy4xLTQuNC0yNi44LTYuNi00MC42LTYuNkMxMDUuNSAzMiA0OCA4OS41IDQ4IDE2MC40TDQ4IDIyNGwtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwIDAgNDQuNWMwIDE3LjQtNC43IDM0LjUtMTMuNyA0OS40TDQuNiA0MzEuNWMtNS45IDkuOS02LjEgMjIuMi0uNCAzMi4yUzIwLjUgNDgwIDMyIDQ4MGwyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4OC41IDQxNmwuNy0xLjFDMTA0LjEgMzkwIDExMiAzNjEuNSAxMTIgMzMyLjVsMC00NC41IDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMTIgMCAwLTYzLjZ6XCJdXG59O1xuY29uc3QgZmFHYnAgPSBmYVN0ZXJsaW5nU2lnbjtcbmNvbnN0IGZhUG91bmRTaWduID0gZmFTdGVybGluZ1NpZ247XG5jb25zdCBmYVZpcnVzZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlydXNlcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3NlwiLCBcIk0xOTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDEzLjVjMCAzNS42IDQzLjEgNTMuNSA2OC4zIDI4LjNsOS41LTkuNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTkuNSA5LjVDMjkzIDEyNC45IDMxMC45IDE2OCAzNDYuNSAxNjhsMTMuNSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMy41IDBjLTM1LjYgMC01My41IDQzLjEtMjguMyA2OC4zbDkuNSA5LjVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtOS41LTkuNUMyNTkuMSAyOTMgMjE2IDMxMC45IDIxNiAzNDYuNWwwIDEzLjVjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMy41YzAtMzUuNi00My4xLTUzLjUtNjguMy0yOC4zbC05LjUgOS41Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDkuNS05LjVDOTEgMjU5LjEgNzMuMSAyMTYgMzcuNSAyMTZMMjQgMjE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEzLjUgMGMzNS42IDAgNTMuNS00My4xIDI4LjMtNjguM2wtOS41LTkuNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDkuNSA5LjVDMTI0LjkgOTEgMTY4IDczLjEgMTY4IDM3LjVMMTY4IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0em00OCAyMjRhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0tNDgtNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMzIwIDgwYzAgMzMgMzkuOSA0OS41IDYzLjIgMjYuMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZDNTc0LjUgMzEyLjEgNTkxIDM1MiA2MjQgMzUyYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2Yy0zMyAwLTQ5LjUgMzkuOS0yNi4yIDYzLjJjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEM1NTEuOSA0NDYuNSA1MTIgNDYzIDUxMiA0OTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZjMC0zMy0zOS45LTQ5LjUtNjMuMi0yNi4yYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42QzQxNy41IDQyMy45IDQwMSAzODQgMzY4IDM4NGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmMzMyAwIDQ5LjUtMzkuOSAyNi4yLTYzLjJjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEM0NDAuMSAyODkuNSA0ODAgMjczIDQ4MCAyNDBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptMCAxMTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpcIl1cbn07XG5jb25zdCBmYVNxdWFyZVBlcnNvbkNvbmZpbmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wZXJzb24tY29uZmluZWQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1NzdcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptOTYgMTEyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTgwIDEwNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTAyLjFjMCAzNi40LTI5LjUgNjUuOS02NS45IDY1LjljLTE3LjUgMC0zNC4zLTYuOS00Ni42LTE5LjNMMTg0LjggMzQybC0yOC4xIDU2LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsNDgtOTZjNC42LTkuMiAxMy4zLTE1LjYgMjMuNS0xNy4zczIwLjUgMS43IDI3LjggOUwyNDAgMzA2LjdsMC01OC43elwiXVxufTtcbmNvbnN0IGZhVXNlclRpZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXRpZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUwOFwiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMCAyNTYgMEExMjggMTI4IDAgMSAwIDk2IDEyOHptOTQuNSAyMDAuMmwxOC42IDMxTDE3NS44IDQ4My4xbC0zNi0xNDYuOWMtMi04LjEtOS44LTEzLjQtMTcuOS0xMS4zQzUxLjkgMzQyLjQgMCA0MDUuOCAwIDQ4MS4zYzAgMTcgMTMuOCAzMC43IDMwLjcgMzAuN2wxMzEuNyAwYzAgMCAwIDAgLjEgMGw1LjUgMCAxMTIgMCA1LjUgMGMwIDAgMCAwIC4xIDBsMTMxLjcgMGMxNyAwIDMwLjctMTMuOCAzMC43LTMwLjdjMC03NS41LTUxLjktMTM4LjktMTIxLjktMTU2LjRjLTguMS0yLTE1LjkgMy4zLTE3LjkgMTEuM2wtMzYgMTQ2LjlMMjM4LjkgMzU5LjJsMTguNi0zMWM2LjQtMTAuNy0xLjMtMjQuMi0xMy43LTI0LjJMMjI0IDMwNGwtMTkuNyAwYy0xMi40IDAtMjAuMSAxMy42LTEzLjcgMjQuMnpcIl1cbn07XG5jb25zdCBmYUFycm93RG93bkxvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1sb25nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJsb25nLWFycm93LWRvd25cIl0sIFwiZjE3NVwiLCBcIk0xNjkuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDIyNCA0MDIuNyAyMjQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzNzAuN0w4Ni42IDMyOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4elwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93RG93biA9IGZhQXJyb3dEb3duTG9uZztcbmNvbnN0IGZhVGVudEFycm93RG93blRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93LWRvd24tdG8tbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU3ZVwiLCBcIk0yNDEuOCAxMTEuOWM4LjkgOS45IDguMSAyNS0xLjggMzMuOWwtODAgNzJjLTkuMSA4LjItMjMgOC4yLTMyLjEgMGwtODAtNzJjLTkuOS04LjktMTAuNy0yNC0xLjgtMzMuOXMyNC0xMC43IDMzLjktMS44bDM5LjkgMzZMMTIwIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMjIuMSAzOS45LTM2YzkuOS04LjkgMjUtOC4xIDMzLjkgMS44em0xMjIuOCAyMi42YzExLjUtOC43IDI3LjMtOC43IDM4LjggMGwxNjggMTI4YzYuNiA1IDExIDEyLjUgMTIuMyAyMC43bDI0IDE2MCAuNyA0LjdjMTcuNSAuMiAzMS42IDE0LjQgMzEuNiAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTI3LjYgMCAuNy00LjcgMjQtMTYwYzEuMi04LjIgNS42LTE1LjcgMTIuMy0yMC43bDE2OC0xMjh6TTM4NCA0NDhsODAgMEw0MDIuNyAzMjUuNWMtMS43LTMuNC01LjEtNS41LTguOC01LjVjLTUuNSAwLTkuOSA0LjQtOS45IDkuOUwzODQgNDQ4elwiXVxufTtcbmNvbnN0IGZhQ2VydGlmaWNhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2VydGlmaWNhdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwYTNcIiwgXCJNMjExIDcuM0MyMDUgMSAxOTYtMS40IDE4Ny42IC44cy0xNC45IDguOS0xNy4xIDE3LjNMMTU0LjcgODAuNmwtNjItMTcuNWMtOC40LTIuNC0xNy40IDAtMjMuNSA2LjFzLTguNSAxNS4xLTYuMSAyMy41bDE3LjUgNjJMMTguMSAxNzAuNmMtOC40IDIuMS0xNSA4LjctMTcuMyAxNy4xUzEgMjA1IDcuMyAyMTFsNDYuMiA0NUw3LjMgMzAxQzEgMzA3LTEuNCAzMTYgLjggMzI0LjRzOC45IDE0LjkgMTcuMyAxNy4xbDYyLjUgMTUuOC0xNy41IDYyYy0yLjQgOC40IDAgMTcuNCA2LjEgMjMuNXMxNS4xIDguNSAyMy41IDYuMWw2Mi0xNy41IDE1LjggNjIuNWMyLjEgOC40IDguNyAxNSAxNy4xIDE3LjNzMTcuMy0uMiAyMy40LTYuNGw0NS00Ni4yIDQ1IDQ2LjJjNi4xIDYuMiAxNSA4LjcgMjMuNCA2LjRzMTQuOS04LjkgMTcuMS0xNy4zbDE1LjgtNjIuNSA2MiAxNy41YzguNCAyLjQgMTcuNCAwIDIzLjUtNi4xczguNS0xNS4xIDYuMS0yMy41bC0xNy41LTYyIDYyLjUtMTUuOGM4LjQtMi4xIDE1LTguNyAxNy4zLTE3LjFzLS4yLTE3LjQtNi40LTIzLjRsLTQ2LjItNDUgNDYuMi00NWM2LjItNi4xIDguNy0xNSA2LjQtMjMuNHMtOC45LTE0LjktMTcuMy0xNy4xbC02Mi41LTE1LjggMTcuNS02MmMyLjQtOC40IDAtMTcuNC02LjEtMjMuNXMtMTUuMS04LjUtMjMuNS02LjFsLTYyIDE3LjVMMzQxLjQgMTguMWMtMi4xLTguNC04LjctMTUtMTcuMS0xNy4zUzMwNyAxIDMwMSA3LjNMMjU2IDUzLjUgMjExIDcuM3pcIl1cbn07XG5jb25zdCBmYVJlcGx5QWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlcGx5LWFsbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibWFpbC1yZXBseS1hbGxcIl0sIFwiZjEyMlwiLCBcIk0yMDkuNCAzOS41Yy05LjEtOS42LTI0LjMtMTAtMzMuOS0uOUwzMy44IDE3My4yYy0xOS45IDE4LjktMTkuOSA1MC43IDAgNjkuNkwxNzUuNSAzNzcuNGM5LjYgOS4xIDI0LjggOC43IDMzLjktLjlzOC43LTI0LjgtLjktMzMuOUw2Ni44IDIwOCAyMDguNSA3My40YzkuNi05LjEgMTAtMjQuMyAuOS0zMy45ek0zNTIgNjRjMC0xMi42LTcuNC0yNC4xLTE5LTI5LjJzLTI1LTMtMzQuNCA1LjRsLTE2MCAxNDRjLTYuNyA2LjEtMTAuNiAxNC43LTEwLjYgMjMuOHMzLjkgMTcuNyAxMC42IDIzLjhsMTYwIDE0NGM5LjQgOC41IDIyLjkgMTAuNiAzNC40IDUuNHMxOS0xNi42IDE5LTI5LjJsMC02NCAzMiAwYzUzIDAgOTYgNDMgOTYgOTZjMCAzMC40LTEyLjggNDcuOS0yMi4yIDU2LjdjLTUuNSA1LjEtOS44IDEyLTkuOCAxOS41YzAgMTAuOSA4LjggMTkuNyAxOS43IDE5LjdjMi44IDAgNS42LS42IDguMS0xLjlDNDk0LjUgNDY3LjkgNTc2IDQxNy4zIDU3NiAzMDRjMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZsLTQ4IDAgMC02NHpcIl1cbn07XG5jb25zdCBmYU1haWxSZXBseUFsbCA9IGZhUmVwbHlBbGw7XG5jb25zdCBmYVN1aXRjYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1aXRjYXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTIzXSwgXCJmMGYyXCIsIFwiTTE3NiA1NmwwIDQwIDE2MCAwIDAtNDBjMC00LjQtMy42LTgtOC04TDE4NCA0OGMtNC40IDAtOCAzLjYtOCA4ek0xMjggOTZsMC00MGMwLTMwLjkgMjUuMS01NiA1Ni01NkwzMjggMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDQwIDAgMzIgMCAzNTItMjU2IDAgMC0zNTIgMC0zMnpNNjQgOTZsMzIgMCAwIDM4NC0zMiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDQ4IDQ4MGwtMzIgMCAwLTM4NCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0elwiXVxufTtcbmNvbnN0IGZhUGVyc29uU2thdGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tc2thdGluZycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic2thdGluZ1wiXSwgXCJmN2M1XCIsIFwiTTM1MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0xMjggMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE1OS40IDBjNDMuNiAwIDY0LjYgNTMuNCAzMi44IDgzLjFsLTc0LjQgNjkuNCA2MC4yIDYwLjJjOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlsMCA3My40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuNy03Ny45LTc3LjhjLTI2LjYtMjYuNi0yNC42LTcwLjMgNC4zLTk0LjRsMjAuNC0xN0wxNjAgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNODEuNCAzNTMuNGw4Ni45LTg2LjljNC42IDEwIDExIDE5LjMgMTkuMyAyNy41bDIxLjggMjEuOC04Mi43IDgyLjdjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zem0zMjIuNSA5NS4xYzguNiAyLjEgMTMuOCAxMC44IDExLjYgMTkuNGwtLjQgMS43Yy02LjIgMjQuOS0yOC42IDQyLjQtNTQuMyA0Mi40TDI3MiA1MTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODguOCAwYzExIDAgMjAuNi03LjUgMjMuMy0xOC4ybC40LTEuN2MyLjEtOC42IDEwLjgtMTMuOCAxOS40LTExLjZ6TTEzNS4yIDQ3OC4zbC02LjIgMy4xYy0yMS42IDEwLjgtNDcuNiA2LjYtNjQuNi0xMC41TDQuNyA0MTEuM2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDU5LjYgNTkuNmM3LjMgNy4zIDE4LjUgOS4xIDI3LjcgNC41bDYuMi0zLjFjNy45LTQgMTcuNS0uNyAyMS41IDcuMnMuNyAxNy41LTcuMiAyMS41elwiXVxufTtcbmNvbnN0IGZhU2thdGluZyA9IGZhUGVyc29uU2thdGluZztcbmNvbnN0IGZhRmlsdGVyQ2lyY2xlRG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbHRlci1jaXJjbGUtZG9sbGFyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJmdW5uZWwtZG9sbGFyXCJdLCBcImY2NjJcIiwgXCJNMy45IDIyLjlDMTAuNSA4LjkgMjQuNSAwIDQwIDBMNDcyIDBjMTUuNSAwIDI5LjUgOC45IDM2LjEgMjIuOXM0LjYgMzAuNS01LjIgNDIuNUwzOTYuNCAxOTUuNkMzMTYuMiAyMTIuMSAyNTYgMjgzIDI1NiAzNjhjMCAyNy40IDYuMyA1My40IDE3LjUgNzYuNWMtMS42LS44LTMuMi0xLjgtNC43LTIuOWwtNjQtNDhjLTguMS02LTEyLjgtMTUuNS0xMi44LTI1LjZsMC03OS4xTDkgNjUuM0MtLjcgNTMuNC0yLjggMzYuOCAzLjkgMjIuOXpNMjg4IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xMjAuOC0zMi42Yy42LS45IDEuOC0yLjEgNC4yLTMuNGM1LjEtMi43IDEyLjUtNC4xIDE4LjctNGM4LjIgLjEgMTcuMSAxLjggMjYuNCA0LjFjOC42IDIuMSAxNy4zLTMuMSAxOS40LTExLjdzLTMuMS0xNy4zLTExLjctMTkuNGMtNS42LTEuNC0xMS42LTIuNy0xNy45LTMuN2wwLTkuNGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDkuNWMtNi4xIDEuMi0xMi4zIDMuMi0xOCA2LjNjLTExLjggNi4zLTIzIDE4LjQtMjEuOCAzNy4yYzEgMTYgMTEuNyAyNS4zIDIxLjYgMzAuN2M4LjggNC43IDE5LjcgNy44IDI4LjYgMTAuM2wxLjggLjVjMTAuMyAyLjkgMTcuOSA1LjIgMjMuMiA4LjNjNC41IDIuNyA0LjcgNC4yIDQuNyA1LjZjLjEgMi40LS41IDMuNy0xIDQuNWMtLjYgMS0xLjggMi4yLTQgMy4zYy00LjcgMi41LTExLjggMy44LTE4LjUgMy42Yy05LjUtLjMtMTguNS0zLjEtMjkuOS02LjhjLTEuOS0uNi0zLjgtMS4yLTUuOC0xLjhjLTguNC0yLjYtMTcuNCAyLjEtMjAgMTAuNXMyLjEgMTcuNCAxMC41IDIwYzEuNiAuNSAzLjMgMSA1IDEuNmMwIDAgMCAwIDAgMHMwIDAgMCAwYzcgMi4zIDE1LjEgNC44IDIzLjcgNi42bDAgMTEuNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTAuOGM2LjItMS4xIDEyLjUtMy4xIDE4LjMtNi4yYzEyLjEtNi41IDIyLjMtMTguNyAyMS43LTM2LjljLS41LTE2LjItMTAuMy0yNi4zLTIwLjUtMzIuM2MtOS40LTUuNi0yMS4yLTguOS0zMC41LTExLjVsLS4yIDBjLTEwLjQtMi45LTE4LjMtNS4yLTIzLjktOC4yYy00LjgtMi42LTQuOC00LTQuOC00LjVjMCAwIDAgMCAwLS4xYy0uMS0xLjkgLjMtMi45IC44LTMuNnpcIl1cbn07XG5jb25zdCBmYUZ1bm5lbERvbGxhciA9IGZhRmlsdGVyQ2lyY2xlRG9sbGFyO1xuY29uc3QgZmFDYW1lcmFSZXRybyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYW1lcmEtcmV0cm8nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNDddLCBcImYwODNcIiwgXCJNMjIwLjYgMTIxLjJMMjcxLjEgOTYgNDQ4IDk2bDAgOTYtMTE0LjggMGMtMjEuOS0xNS4xLTQ4LjUtMjQtNzcuMi0yNHMtNTUuMiA4LjktNzcuMiAyNEw2NCAxOTJsMC02NCAxMjggMGM5LjkgMCAxOS43LTIuMyAyOC42LTYuOHpNMCAxMjhMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMMjcxLjEgMzJjLTkuOSAwLTE5LjcgMi4zLTI4LjYgNi44TDE5MiA2NGwtMzIgMCAwLTE2YzAtOC44LTcuMi0xNi0xNi0xNkw4MCAzMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZDMjguNyA2NCAwIDkyLjcgMCAxMjh6TTE2OCAzMDRhODggODggMCAxIDEgMTc2IDAgODggODggMCAxIDEgLTE3NiAwelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlQXJyb3dEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtZG93blwiXSwgXCJmMGFiXCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMHpNMTI3IDI5N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDcxIDcxTDIzMiAxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDIxNC4xIDcxLTcxYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwyNzMgNDA5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwxMjcgMjk3elwiXVxufTtcbmNvbnN0IGZhQXJyb3dDaXJjbGVEb3duID0gZmFDaXJjbGVBcnJvd0Rvd247XG5jb25zdCBmYUZpbGVJbXBvcnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1pbXBvcnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImFycm93LXJpZ2h0LXRvLWZpbGVcIl0sIFwiZjU2ZlwiLCBcIk0xMjggNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMMzUyIDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI1NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTExMiAxNzQuMSAwLTM5IDM5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODAtODBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTgwLTgwYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDM5IDM5TDEyOCAyODhsMC0yMjR6bTAgMjI0bDAgNDhMMjQgMzM2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwNCAwek01MTIgMTI4bC0xMjggMEwzODQgMCA1MTIgMTI4elwiXVxufTtcbmNvbnN0IGZhQXJyb3dSaWdodFRvRmlsZSA9IGZhRmlsZUltcG9ydDtcbmNvbnN0IGZhU3F1YXJlQXJyb3dVcFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1hcnJvdy11cC1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZXh0ZXJuYWwtbGluay1zcXVhcmVcIl0sIFwiZjE0Y1wiLCBcIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0xNjAgMTQ0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk0LjEgMEwxMTkgMzI3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTM1LTEzNUwyODggMzI4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTE1MiAwelwiXVxufTtcbmNvbnN0IGZhRXh0ZXJuYWxMaW5rU3F1YXJlID0gZmFTcXVhcmVBcnJvd1VwUmlnaHQ7XG5jb25zdCBmYUJveE9wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94LW9wZW4nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0OWVcIiwgXCJNNTguOSA0Mi4xYzMtNi4xIDkuNi05LjYgMTYuMy04LjdMMzIwIDY0IDU2NC44IDMzLjRjNi43LS44IDEzLjMgMi43IDE2LjMgOC43bDQxLjcgODMuNGM5IDE3LjktLjYgMzkuNi0xOS44IDQ1LjFMNDM5LjYgMjE3LjNjLTEzLjkgNC0yOC44LTEuOS0zNi4yLTE0LjNMMzIwIDY0IDIzNi42IDIwM2MtNy40IDEyLjQtMjIuMyAxOC4zLTM2LjIgMTQuM0wzNy4xIDE3MC42Yy0xOS4zLTUuNS0yOC44LTI3LjItMTkuOC00NS4xTDU4LjkgNDIuMXpNMzIxLjEgMTI4bDU0LjkgOTEuNGMxNC45IDI0LjggNDQuNiAzNi42IDcyLjUgMjguNkw1NzYgMjExLjZsMCAxNjdjMCAyMi0xNSA0MS4yLTM2LjQgNDYuNmwtMjA0LjEgNTFjLTEwLjIgMi42LTIwLjkgMi42LTMxIDBsLTIwNC4xLTUxQzc5IDQxOS43IDY0IDQwMC41IDY0IDM3OC41bDAtMTY3TDE5MS42IDI0OGMyNy44IDggNTcuNi0zLjggNzIuNS0yOC42TDMxOC45IDEyOGwyLjIgMHpcIl1cbn07XG5jb25zdCBmYVNjcm9sbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY3JvbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgyMjBdLCBcImY3MGVcIiwgXCJNMCA4MGwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgNDggMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4UzAgNTMuNSAwIDgwek0xMTIgMzJjMTAgMTMuNCAxNiAzMCAxNiA0OGwwIDMwNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtNS4zYzAtMzIuNCAyNi4zLTU4LjcgNTguNy01OC43TDQ4MCAzMjBsMC0xOTJjMC01My00My05Ni05Ni05NkwxMTIgMzJ6TTQ2NCA0ODBjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC04LjgtNy4yLTE2LTE2LTE2bC0yNDUuMyAwYy0xNC43IDAtMjYuNyAxMS45LTI2LjcgMjYuN2wwIDUuM2MwIDUzLTQzIDk2LTk2IDk2bDE3NiAwIDk2IDB6XCJdXG59O1xuY29uc3QgZmFTcGEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3BhJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNWJiXCIsIFwiTTE4My4xIDIzNS4zYzMzLjcgMjAuNyA2Mi45IDQ4LjEgODUuOCA4MC41YzcgOS45IDEzLjQgMjAuMyAxOS4xIDMxYzUuNy0xMC44IDEyLjEtMjEuMSAxOS4xLTMxYzIyLjktMzIuNCA1Mi4xLTU5LjggODUuOC04MC41QzQzNy42IDIwNy44IDQ5MC4xIDE5MiA1NDYgMTkybDkuOSAwYzExLjEgMCAyMC4xIDkgMjAuMSAyMC4xQzU3NiAzNjAuMSA0NTYuMSA0ODAgMzA4LjEgNDgwTDI4OCA0ODBsLTIwLjEgMEMxMTkuOSA0ODAgMCAzNjAuMSAwIDIxMi4xQzAgMjAxIDkgMTkyIDIwLjEgMTkybDkuOSAwYzU1LjkgMCAxMDguNCAxNS44IDE1My4xIDQzLjN6TTMwMS41IDM3LjZjMTUuNyAxNi45IDYxLjEgNzEuOCA4NC40IDE2NC42Yy0zOCAyMS42LTcxLjQgNTAuOC05Ny45IDg1LjZjLTI2LjUtMzQuOC01OS45LTYzLjktOTcuOS04NS42YzIzLjItOTIuOCA2OC42LTE0Ny43IDg0LjQtMTY0LjZDMjc4IDMzLjkgMjgyLjkgMzIgMjg4IDMyczEwIDEuOSAxMy41IDUuNnpcIl1cbn07XG5jb25zdCBmYUxvY2F0aW9uUGluTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1waW4tbG9jaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUxZlwiLCBcIk0yMTUuNyA0OTkuMmMxMS0xMy44IDI1LjEtMzEuNyA0MC4zLTUyLjNsMC05NC44YzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTI0LjZjMC01NS42IDQwLjUtMTAxLjcgOTMuNi0xMTAuNUMzNjcgNzAgMjg3LjcgMCAxOTIgMEM4NiAwIDAgODYgMCAxOTJjMCA4Ny40IDExNyAyNDMgMTY4LjMgMzA3LjJjMTIuMyAxNS4zIDM1LjEgMTUuMyA0Ny40IDB6TTE5MiAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQwMCAyNDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OC02NCAwIDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS04MCAzMmwwIDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwelwiXVxufTtcbmNvbnN0IGZhUGF1c2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGF1c2UnLFxuICBpY29uOiBbMzIwLCA1MTIsIFs5MjA4XSwgXCJmMDRjXCIsIFwiTTQ4IDY0QzIxLjUgNjQgMCA4NS41IDAgMTEyTDAgNDAwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggNjR6bTE5MiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDI4OGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjg4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhSGlsbEF2YWxhbmNoZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoaWxsLWF2YWxhbmNoZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTUwN1wiLCBcIk00MzkuNyA0MDEuOWMzNC4yIDIzLjEgODEuMSAxOS41IDExMS40LTEwLjhjMzQuNC0zNC40IDM0LjQtOTAuMSAwLTEyNC40Yy0yNy44LTI3LjgtNjkuNS0zMy4xLTEwMi42LTE2Yy0xMS44IDYuMS0xNi40IDIwLjYtMTAuMyAzMi4zczIwLjYgMTYuNCAzMi4zIDEwLjNjMTUuMS03LjggMzQtNS4zIDQ2LjYgNy4zYzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42cy00MC45IDE1LjYtNTYuNiAwbC04MS43LTgxLjdDNDAxLjIgMjYxLjMgNDE2IDIzNi40IDQxNiAyMDhjMC0zMy45LTIxLjEtNjIuOS01MC45LTc0LjVjMS45LTYuOCAyLjktMTQgMi45LTIxLjVjMC00NC4yLTM1LjgtODAtODAtODBjLTI3LjMgMC01MS41IDEzLjctNjUuOSAzNC42QzIxNi4zIDQ2LjYgMTk3LjkgMzIgMTc2IDMyYy0yNi41IDAtNDggMjEuNS00OCA0OGMwIDQgLjUgNy45IDEuNCAxMS42TDQzOS43IDQwMS45ek00ODAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMCAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek02OC4zIDg3QzQzLjEgNjEuOCAwIDc5LjcgMCAxMTUuM0wwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMTYuNyAwYzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zTDY4LjMgODd6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZUVtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWVtcHR5JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS0wXCIsIFwidGhlcm1vbWV0ZXItMFwiLCBcInRoZXJtb21ldGVyLWVtcHR5XCJdLCBcImYyY2JcIiwgXCJNMTEyIDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTY0LjVjMCAxNy4zIDcuMSAzMS45IDE1LjMgNDIuNUMyMzMuOCAzMzIuNiAyNDAgMzQ5LjUgMjQwIDM2OGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTE4LjUgNi4yLTM1LjQgMTYuNy00OC45YzguMi0xMC42IDE1LjMtMjUuMiAxNS4zLTQyLjVMMTEyIDExMnpNMTYwIDBDOTguMSAwIDQ4IDUwLjIgNDggMTEybDAgMTY0LjRjMCAuMS0uMSAuMy0uMiAuNmMtLjIgLjYtLjggMS42LTEuNyAyLjhDMjcuMiAzMDQuMiAxNiAzMzQuOCAxNiAzNjhjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGMwLTMzLjItMTEuMi02My44LTMwLjEtODguMWMtLjktMS4yLTEuNS0yLjItMS43LTIuOGMtLjEtLjMtLjItLjUtLjItLjZMMjcyIDExMkMyNzIgNTAuMiAyMjEuOSAwIDE2MCAwem0wIDQxNmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZTAgPSBmYVRlbXBlcmF0dXJlRW1wdHk7XG5jb25zdCBmYVRoZXJtb21ldGVyMCA9IGZhVGVtcGVyYXR1cmVFbXB0eTtcbmNvbnN0IGZhVGhlcm1vbWV0ZXJFbXB0eSA9IGZhVGVtcGVyYXR1cmVFbXB0eTtcbmNvbnN0IGZhQm9tYiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib21iJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTYzXSwgXCJmMWUyXCIsIFwiTTQ1OS4xIDUyLjRMNDQyLjYgNi41QzQ0MC43IDIuNiA0MzYuNSAwIDQzMi4xIDBzLTguNSAyLjYtMTAuNCA2LjVMNDA1LjIgNTIuNGwtNDYgMTYuOGMtNC4zIDEuNi03LjMgNS45LTcuMiAxMC40YzAgNC41IDMgOC43IDcuMiAxMC4ybDQ1LjcgMTYuOCAxNi44IDQ1LjhjMS41IDQuNCA1LjggNy41IDEwLjQgNy41czguOS0zLjEgMTAuNC03LjVsMTYuNS00NS44IDQ1LjctMTYuOGM0LjItMS41IDcuMi01LjcgNy4yLTEwLjJjMC00LjYtMy04LjktNy4yLTEwLjRMNDU5LjEgNTIuNHptLTEzMi40IDUzYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMi45IDIuOUMyNTYuNSAxMDAuMyAyMzIuNyA5NiAyMDggOTZDOTMuMSA5NiAwIDE4OS4xIDAgMzA0UzkzLjEgNTEyIDIwOCA1MTJzMjA4LTkzLjEgMjA4LTIwOGMwLTI0LjctNC4zLTQ4LjUtMTIuMi03MC41bDIuOS0yLjljMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgwek0yMDAgMTkyYy01Ny40IDAtMTA0IDQ2LjYtMTA0IDEwNGwwIDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04YzAtNzUuMSA2MC45LTEzNiAxMzYtMTM2bDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtOCAwelwiXVxufTtcbmNvbnN0IGZhUmVnaXN0ZXJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWdpc3RlcmVkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTc0XSwgXCJmMjVkXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjAgMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDg4IDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCAyOC0xNC40IDUyLjctMzYuMyA2N2wzNC4xIDc1LjFjNS41IDEyLjEgLjEgMjYuMy0xMS45IDMxLjhzLTI2LjMgLjEtMzEuOC0xMS45TDI2OC45IDI4OCAyMDggMjg4bDAgNzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC05NiAwLTExMnptNDggODhsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhQWRkcmVzc0NhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYWRkcmVzcy1jYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNjIxNDAsIFwiY29udGFjdC1jYXJkXCIsIFwidmNhcmRcIl0sIFwiZjJiYlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem04MCAyNTZsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZMODAgMzg0Yy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS0zMi05NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6bTI1Ni0zMmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUNvbnRhY3RDYXJkID0gZmFBZGRyZXNzQ2FyZDtcbmNvbnN0IGZhVmNhcmQgPSBmYUFkZHJlc3NDYXJkO1xuY29uc3QgZmFTY2FsZVVuYmFsYW5jZWRGbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NjYWxlLXVuYmFsYW5jZWQtZmxpcCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiYmFsYW5jZS1zY2FsZS1yaWdodFwiXSwgXCJmNTE2XCIsIFwiTTExNy45IDYyLjRjLTE2LjgtNS42LTI1LjgtMjMuNy0yMC4yLTQwLjVzMjMuNy0yNS44IDQwLjUtMjAuMmwxMTMgMzcuN0MyNjUgMTUuOCAyOTAuNyAwIDMyMCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgMy0uMiA1LjktLjUgOC44bDEyMi42IDQwLjljMTYuOCA1LjYgMjUuOCAyMy43IDIwLjIgNDAuNXMtMjMuNyAyNS44LTQwLjUgMjAuMkwzNjYuNCAxNDUuMmMtNC41IDMuMi05LjMgNS45LTE0LjQgOC4yTDM1MiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwIDAtMjk0LjdjLTIxLTkuMi0zNy4yLTI3LTQ0LjItNDlsLTEyNS45LTQyek0yMDAuNCAyODhMMTI4IDE2My44IDU1LjYgMjg4bDE0NC45IDB6TTEyOCAzODRDNjUuMSAzODQgMTIuOCAzNTAgMiAzMDUuMWMtMi42LTExIDEtMjIuMyA2LjctMzIuMWw5NS4yLTE2My4yYzUtOC42IDE0LjItMTMuOCAyNC4xLTEzLjhzMTkuMSA1LjMgMjQuMSAxMy44bDk1LjIgMTYzLjJjNS43IDkuOCA5LjMgMjEuMSA2LjcgMzIuMUMyNDMuMiAzNTAgMTkwLjkgMzg0IDEyOCAzODR6bTM4Mi44LTkyLjJMNDM4LjQgNDE2bDE0NC45IDBMNTEwLjggMjkxLjh6bTEyNiAxNDEuM0M2MjYgNDc4IDU3My43IDUxMiA1MTAuOCA1MTJzLTExNS4yLTM0LTEyNi03OC45Yy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xelwiXVxufTtcbmNvbnN0IGZhQmFsYW5jZVNjYWxlUmlnaHQgPSBmYVNjYWxlVW5iYWxhbmNlZEZsaXA7XG5jb25zdCBmYVN1YnNjcmlwdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdWJzY3JpcHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxMmNcIiwgXCJNMzIgNjRDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDE1LjMgMCA4OS42IDEyOEw0Ny4zIDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMxMC40IDAgMjAuMi01LjEgMjYuMi0xMy42TDE3NiAzMTEuOGw4NS44IDEyMi42YzYgOC42IDE1LjggMTMuNiAyNi4yIDEzLjZsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUuMyAwTDIxNS4xIDI1Nmw4OS42LTEyOCAxNS4zIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTEwLjQgMC0yMC4yIDUuMS0yNi4yIDEzLjZMMTc2IDIwMC4yIDkwLjIgNzcuNkM4NC4yIDY5LjEgNzQuNCA2NCA2NCA2NEwzMiA2NHpNNDgwIDMyMGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNGwtMzIgMTZjLTE1LjggNy45LTIyLjIgMjcuMS0xNC4zIDQyLjlDMzkzIDM2MS41IDQwNC4zIDM2OCA0MTYgMzY4bDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4elwiXVxufTtcbmNvbnN0IGZhRGlhbW9uZFR1cm5SaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWFtb25kLXR1cm4tcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImRpcmVjdGlvbnNcIl0sIFwiZjVlYlwiLCBcIk0yMjcuNyAxMS43YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwbDIxNiAyMTZjMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZsLTIxNiAyMTZjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwbC0yMTYtMjE2Yy0xNS42LTE1LjYtMTUuNi00MC45IDAtNTYuNmwyMTYtMjE2em04Ny42IDEzN2MtNC42LTQuNi0xMS41LTUuOS0xNy40LTMuNXMtOS45IDguMy05LjkgMTQuOGwwIDU2LTY0IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNmw2NCAwIDAgNTZjMCA2LjUgMy45IDEyLjMgOS45IDE0LjhzMTIuOSAxLjEgMTcuNC0zLjVsODAtODBjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTgwLTgwelwiXVxufTtcbmNvbnN0IGZhRGlyZWN0aW9ucyA9IGZhRGlhbW9uZFR1cm5SaWdodDtcbmNvbnN0IGZhQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVyc3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZGNcIiwgXCJNMzcuNiA0LjJDMjgtMi4zIDE1LjItMS4xIDcgN3MtOS40IDIxLTIuOCAzMC41bDExMiAxNjMuM0wxNi42IDIzMy4yQzYuNyAyMzYuNCAwIDI0NS42IDAgMjU2czYuNyAxOS42IDE2LjYgMjIuOGwxMDMuMSAzMy40TDY2LjggNDEyLjhjLTQuOSA5LjMtMy4yIDIwLjcgNC4zIDI4LjFzMTguOCA5LjIgMjguMSA0LjNsMTAwLjYtNTIuOSAzMy40IDEwMy4xYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNnMxOS42LTYuNyAyMi44LTE2LjZsMzMuNC0xMDMuMSAxMDAuNiA1Mi45YzkuMyA0LjkgMjAuNyAzLjIgMjguMS00LjNzOS4yLTE4LjggNC4zLTI4LjFMMzkyLjMgMzEyLjJsMTAzLjEtMzMuNGM5LjktMy4yIDE2LjYtMTIuNCAxNi42LTIyLjhzLTYuNy0xOS42LTE2LjYtMjIuOEwzODguOSAxOTguN2wyNS43LTcwLjRjMy4yLTguOCAxLTE4LjYtNS42LTI1LjJzLTE2LjQtOC44LTI1LjItNS42bC03MC40IDI1LjdMMjc4LjggMTYuNkMyNzUuNiA2LjcgMjY2LjQgMCAyNTYgMHMtMTkuNiA2LjctMjIuOCAxNi42bC0zMi4zIDk5LjZMMzcuNiA0LjJ6XCJdXG59O1xuY29uc3QgZmFIb3VzZUxhcHRvcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1sYXB0b3AnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImxhcHRvcC1ob3VzZVwiXSwgXCJlMDY2XCIsIFwiTTIxOC4zIDguNWMxMi4zLTExLjMgMzEuMi0xMS4zIDQzLjQgMGwyMDggMTkyYzYuNyA2LjIgMTAuMyAxNC44IDEwLjMgMjMuNWwtMTQ0IDBjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43bDAtMzcuN2MwLTguOC03LjItMTYtMTYtMTZsLTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw2NCAwIDAgMTI4LTE2MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTExMi0zMiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC4xLTM1LjJsMjA4LTE5MnpNMzUyIDMwNGwwIDE0NCAxOTIgMCAwLTE0NC0xOTIgMHptLTQ4LTE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwIDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC00OCAwLTE5MiAwLTQ4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwIDAtMTYwelwiXVxufTtcbmNvbnN0IGZhTGFwdG9wSG91c2UgPSBmYUhvdXNlTGFwdG9wO1xuY29uc3QgZmFGYWNlVGlyZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS10aXJlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1NSwgXCJ0aXJlZFwiXSwgXCJmNWM4XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuNyAzMjguN2MyMi0yMiA1My45LTQwLjcgOTEuMy00MC43czY5LjMgMTguNyA5MS4zIDQwLjdjMTEuMSAxMS4xIDIwLjEgMjMuNCAyNi40IDM1LjRjNi4yIDExLjcgMTAuMyAyNC40IDEwLjMgMzUuOWMwIDUuMi0yLjYgMTAuMi02LjkgMTMuMnMtOS44IDMuNy0xNC43IDEuOGwtMjAuNS03LjdjLTI2LjktMTAuMS01NS41LTE1LjMtODQuMy0xNS4zbC0zLjIgMGMtMjguOCAwLTU3LjMgNS4yLTg0LjMgMTUuM0wxNDkuNiA0MTVjLTQuOSAxLjgtMTAuNCAxLjItMTQuNy0xLjhzLTYuOS03LjktNi45LTEzLjJjMC0xMS42IDQuMi0yNC4yIDEwLjMtMzUuOWM2LjMtMTIgMTUuMy0yNC4zIDI2LjQtMzUuNHptLTMxLjItMTgybDg5LjkgNDcuOWMxMC43IDUuNyAxMC43IDIxLjEgMCAyNi44bC04OS45IDQ3LjljLTcuOSA0LjItMTcuNS0xLjUtMTcuNS0xMC41YzAtMi44IDEtNS41IDIuOC03LjZsMzYtNDMuMi0zNi00My4yYy0xLjgtMi4xLTIuOC00LjgtMi44LTcuNmMwLTkgOS42LTE0LjcgMTcuNS0xMC41ek0zOTYgMTU3LjFjMCAyLjgtMSA1LjUtMi44IDcuNmwtMzYgNDMuMiAzNiA0My4yYzEuOCAyLjEgMi44IDQuOCAyLjggNy42YzAgOS05LjYgMTQuNy0xNy41IDEwLjVsLTg5LjktNDcuOWMtMTAuNy01LjctMTAuNy0yMS4xIDAtMjYuOGw4OS45LTQ3LjljNy45LTQuMiAxNy41IDEuNSAxNy41IDEwLjV6XCJdXG59O1xuY29uc3QgZmFUaXJlZCA9IGZhRmFjZVRpcmVkO1xuY29uc3QgZmFNb25leUJpbGxzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGxzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMWYzXCIsIFwiTTk2IDk2bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQxNiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjR6bTY0IDE2MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwtNjQgMCAwLTY0ek0yMjQgOTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMC02NCA2NCAwek01NzYgMjU2bDAgNjQtNjQgMGMwLTM1LjMgMjguNy02NCA2NC02NHpNNTEyIDk2bDY0IDAgMCA2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTI4OCAyMDhhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAwek00OCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxMDYuNyAwIDEyMEwwIDM2MGMwIDY2LjMgNTMuNyAxMjAgMTIwIDEyMGw0MDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAwIDBjLTM5LjggMC03Mi0zMi4yLTcyLTcybDAtMjQwelwiXVxufTtcbmNvbnN0IGZhU21vZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbW9nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzVmXCIsIFwiTTMyIDE0NGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NGwxMjMuMyAwYzIyLjYgMTkuOSA1Mi4yIDMyIDg0LjcgMzJzNjIuMS0xMi4xIDg0LjctMzJsMjcuMyAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEyYy0xMC43IDAtMjEgMS41LTMwLjggNC4zQzQ0My44IDI3LjcgNDAxLjEgMCAzNTIgMGMtMzIuNiAwLTYyLjQgMTIuMi04NS4xIDMyLjNDMjQyLjEgMTIuMSAyMTAuNSAwIDE3NiAwQzk2LjUgMCAzMiA2NC41IDMyIDE0NHpNNjE2IDM2OGwtMzM2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6bS02NCA5NmwtMTEyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6bS0xOTIgMEwyNCA0NjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6TTIyNCAzOTJjMC0xMy4zLTEwLjctMjQtMjQtMjRMOTYgMzY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhQ3J1dGNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NydXRjaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdmN1wiLCBcIk0yOTcuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDB6bS05NiAxNDRsLTM0LjggMzQuOGMtMTIuOSAxMi45LTIxLjkgMjkuMi0yNS44IDQ3LjFMMTE2LjggMzQyLjljLTEuMyA1LjktNC4zIDExLjQtOC42IDE1LjdMOS40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDk4LjgtOTguOGM0LjMtNC4zIDkuNy03LjMgMTUuNy04LjZsMTA3LjYtMjMuOWMxNy44LTQgMzQuMS0xMi45IDQ3LjEtMjUuOGwzNC43LTM0LjdjMCAwIC4xLS4xIC4xLS4xcy4xLS4xIC4xLS4xbDc0LjYtNzQuNi00NS4zLTQ1LjNMMzM2IDI0Mi43IDI2OS4zIDE3Nmw1Mi4xLTUyLjFMMjc2LjEgNzguNmwtNzQuNyA3NC43ek0yMjQgMjIxLjNMMjkwLjcgMjg4bC0xMi4yIDEyLjJjLTQuMyA0LjMtOS43IDcuMy0xNS43IDguNmwtNzYuNyAxNyAxNy03Ni43YzEuMy01LjkgNC4zLTExLjQgOC42LTE1LjdMMjI0IDIyMS4zelwiXVxufTtcbmNvbnN0IGZhRm9udEF3ZXNvbWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9udC1hd2Vzb21lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjI1MDEsIDYyNjk0LCBcImZvbnQtYXdlc29tZS1mbGFnXCIsIFwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbFwiXSwgXCJmMmI0XCIsIFwiTTkxLjcgOTZDMTA2LjMgODYuOCAxMTYgNzAuNSAxMTYgNTJDMTE2IDIzLjMgOTIuNyAwIDY0IDBTMTIgMjMuMyAxMiA1MmMwIDE2LjcgNy44IDMxLjUgMjAgNDFsMCAzIDAgMzUyIDAgNjQgNjQgMCAwLTY0IDM3My42IDBjMTQuNiAwIDI2LjQtMTEuOCAyNi40LTI2LjRjMC0zLjctLjgtNy4zLTIuMy0xMC43TDQzMiAyNzJsNjEuNy0xMzguOWMxLjUtMy40IDIuMy03IDIuMy0xMC43YzAtMTQuNi0xMS44LTI2LjQtMjYuNC0yNi40TDkxLjcgOTZ6XCJdXG59O1xuY29uc3QgZmFGb250QXdlc29tZUZsYWcgPSBmYUZvbnRBd2Vzb21lO1xuY29uc3QgZmFGb250QXdlc29tZUxvZ29GdWxsID0gZmFGb250QXdlc29tZTtcbmNvbnN0IGZhQ2xvdWRBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLWFycm93LXVwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbNjIzMzgsIFwiY2xvdWQtdXBsb2FkXCIsIFwiY2xvdWQtdXBsb2FkLWFsdFwiXSwgXCJmMGVlXCIsIFwiTTE0NCA0ODBDNjQuNSA0ODAgMCA0MTUuNSAwIDMzNmMwLTYyLjggNDAuMi0xMTYuMiA5Ni4yLTEzNS45Yy0uMS0yLjctLjItNS40LS4yLTguMWMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MGM1OS4zIDAgMTExIDMyLjIgMTM4LjcgODAuMkM0MDkuOSAxMDIgNDI4LjMgOTYgNDQ4IDk2YzUzIDAgOTYgNDMgOTYgOTZjMCAxMi4yLTIuMyAyMy44LTYuNCAzNC42QzU5NiAyMzguNCA2NDAgMjkwLjEgNjQwIDM1MmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMzY4IDB6bTc5LTIxN2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDM5LTM5TDI5NiAzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEzNC4xIDM5IDM5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODAtODBjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC04MCA4MHpcIl1cbn07XG5jb25zdCBmYUNsb3VkVXBsb2FkID0gZmFDbG91ZEFycm93VXA7XG5jb25zdCBmYUNsb3VkVXBsb2FkQWx0ID0gZmFDbG91ZEFycm93VXA7XG5jb25zdCBmYVBhbGV0dGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFsZXR0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkxMl0sIFwiZjUzZlwiLCBcIk01MTIgMjU2YzAgLjkgMCAxLjggMCAyLjdjLS40IDM2LjUtMzMuNiA2MS4zLTcwLjEgNjEuM0wzNDQgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGMwIDMuNCAuNCA2LjcgMSA5LjljMi4xIDEwLjIgNi41IDIwIDEwLjggMjkuOWM2LjEgMTMuOCAxMi4xIDI3LjUgMTIuMSA0MmMwIDMxLjgtMjEuNiA2MC43LTUzLjQgNjJjLTMuNSAuMS03IC4yLTEwLjYgLjJDMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZTMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NnpNMTI4IDI4OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wLTk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMjg4IDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUFycm93c1R1cm5SaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdHVybi1yaWdodCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTRjMFwiLCBcIk0yOTcuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wzMzguNyAxNjAgMTI4IDE2MGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyQzAgMTUzLjMgNTcuMyA5NiAxMjggOTZsMjEwLjcgMEwyOTcuNCA1NC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3ptLTk2IDI1NmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw5NiA5NmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0Mi43IDQxNiA5NiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMmMwLTUzIDQzLTk2IDk2LTk2bDE0Ni43IDAtNDEuNC00MS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG5jb25zdCBmYVZlc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmVzdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA4NVwiLCBcIk0yMDcuMSAyMzcuNEwxNTEuMiA2OS43QzE2OC42IDc5LjcgMTkyLjYgODggMjI0IDg4czU1LjQtOC4zIDcyLjgtMTguM0wyMjYuNSAyODAuNmMtMS42IDQuOS0yLjUgMTAtMi41IDE1LjJMMjI0IDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5My41YzAtOS41LTIuOC0xOC43LTguMS0yNi42bC00Ny45LTcxLjhjLTUuMy03LjktOC4xLTE3LjEtOC4xLTI2LjZsMC0xNy41IDAtNzMuNyAwLTYuM2MwLTI2LjUtMjEuNS00OC00OC00OGwtNC41IDBjLS4yIDAtLjQgMC0uNiAwYy0uNCAwLS44IDAtMS4yIDBDMzExIDAgMjk1LjcgOS43IDI4NS43IDE4LjhDMjc2LjQgMjcuMiAyNTcuMiA0MCAyMjQgNDBzLTUyLjQtMTIuOC02MS43LTIxLjJDMTUyLjMgOS43IDEzNyAwIDExOC4zIDBjLS40IDAtLjggMC0xLjIgMGMtLjIgMC0uNCAwLS42IDBMMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCA2LjNMNjQgMTI4bDAgMTcuNWMwIDkuNS0yLjggMTguNy04LjEgMjYuNkw4LjEgMjQzLjlDMi44IDI1MS44IDAgMjYxLjEgMCAyNzAuNUwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGM5LjkgMCAxOS0zIDI2LjctOC4xQzE5NS45IDQ5Mi4yIDE5MiA0NzguNSAxOTIgNDY0bDAtMTY4LjJjMC04LjYgMS40LTE3LjEgNC4xLTI1LjNsMTEtMzMuMXpNMzQ3LjMgMzU2LjdsNDggNDhjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNDgtNDhjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMHptLTI5NC42IDQ4bDQ4LTQ4YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNmwtNDggNDhjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFGZXJyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmZXJyeScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRlYVwiLCBcIk0yMjQgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmw3NS4xIDBjMjAuNiAwIDMxLjYgMjQuMyAxOC4xIDM5LjhMNDU2IDk2IDEyMCA5NiA5OC44IDcxLjhDODUuMyA1Ni4zIDk2LjMgMzIgMTE2LjkgMzJMMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiAxMjhsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjMuNWMwIDEzLjMtNC4yIDI2LjMtMTEuOSAzNy4ybC01MS40IDcxLjljLTEuOSAxLjEtMy43IDIuMi01LjUgMy41Yy0xNS41IDEwLjctMzQgMTgtNTEgMTkuOWwtMTYuNSAwYy0xNy4xLTEuOC0zNS05LTUwLjgtMTkuOWMtMjIuMS0xNS41LTUxLjYtMTUuNS03My43IDBjLTE0LjggMTAuMi0zMi41IDE4LTUwLjYgMTkuOWwtMTYuNiAwYy0xNy0xLjgtMzUuNi05LjItNTEtMTkuOWMtMS44LTEuMy0zLjctMi40LTUuNi0zLjVMNzUuOSAzMjAuN0M2OC4yIDMwOS44IDY0IDI5Ni44IDY0IDI4My41TDY0IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMzIgNjRsMCA5NiAzMjAgMCAwLTk2LTMyMCAwek0zMDYuNSA0MjEuOUMzMjkgNDM3LjQgMzU2LjUgNDQ4IDM4NCA0NDhjMjYuOSAwIDU1LjMtMTAuOCA3Ny40LTI2LjFjMCAwIDAgMCAwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA1MDEuNyA0MTcgNTEyIDM4NCA1MTJjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43YzAgMCAwIDAgMCAwQzEzNi43IDQzNy4yIDE2NS4xIDQ0OCAxOTIgNDQ4YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dzRG93blRvUGVvcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1kb3duLXRvLXBlb3BsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRiOVwiLCBcIk0xNDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTguMUw5NyAxMTljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNjQgNjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNjQtNjRjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjNMMTY4IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zNjAgMjAwYTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6TTE4NCAyOTZhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMzEyIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHpNMjAwIDQ0MS41bDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM2LjMtNjcuNWMxLjctMS43IDMuMi0zLjYgNC4zLTUuOEwyNjQgMzQ1LjVsMCA1NC41YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC01NC41IDI2LjkgNDkuOWMxLjIgMi4yIDIuNiA0LjEgNC4zIDUuOGwtMzYuMyA2Ny41Yy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEw0NDAgNDQxLjVsMCAzOC41YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zOC41IDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTM3LjktNzAuM2MtMTUuMy0yOC41LTQ1LjEtNDYuMy03Ny41LTQ2LjNsLTE5LjUgMGMtMTYuMyAwLTMxLjkgNC41LTQ1LjQgMTIuNmwtMzMuNi02Mi4zYy0xNS4zLTI4LjUtNDUuMS00Ni4zLTc3LjUtNDYuM2wtMTkuNSAwYy0zMi40IDAtNjIuMSAxNy44LTc3LjUgNDYuM2wtMzMuNiA2Mi4zYy0xMy41LTguMS0yOS4xLTEyLjYtNDUuNC0xMi42bC0xOS41IDBjLTMyLjQgMC02Mi4xIDE3LjgtNzcuNSA0Ni4zTDE4LjkgNDY4LjZjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDg4IDQ0MS41IDg4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzguNXpNNDE1IDE1M2w2NCA2NGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw2NC02NGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0yMyAyM0w1MjAgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMTguMS0yMy0yM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG5jb25zdCBmYVNlZWRsaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NlZWRsaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzkzLCBcInNwcm91dFwiXSwgXCJmNGQ4XCIsIFwiTTUxMiAzMmMwIDExMy42LTg0LjYgMjA3LjUtMTk0LjIgMjIyYy03LjEtNTMuNC0zMC42LTEwMS42LTY1LjMtMTM5LjNDMjkwLjggNDYuMyAzNjQgMCA0NDggMGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDMyIDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNGwwIDMyIDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwQzEwMC4zIDMyMCAwIDIxOS43IDAgOTZ6XCJdXG59O1xuY29uc3QgZmFTcHJvdXQgPSBmYVNlZWRsaW5nO1xuY29uc3QgZmFMZWZ0UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVmdC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzg1OTYsIFwiYXJyb3dzLWFsdC1oXCJdLCBcImYzMzdcIiwgXCJNNTA0LjMgMjczLjZjNC45LTQuNSA3LjctMTAuOSA3LjctMTcuNnMtMi44LTEzLTcuNy0xNy42bC0xMTItMTA0Yy03LTYuNS0xNy4yLTguMi0yNS45LTQuNHMtMTQuNCAxMi41LTE0LjQgMjJsMCA1Ni0xOTIgMCAwLTU2YzAtOS41LTUuNy0xOC4yLTE0LjQtMjJzLTE4LjktMi4xLTI1LjkgNC40bC0xMTIgMTA0QzIuOCAyNDMgMCAyNDkuMyAwIDI1NnMyLjggMTMgNy43IDE3LjZsMTEyIDEwNGM3IDYuNSAxNy4yIDguMiAyNS45IDQuNHMxNC40LTEyLjUgMTQuNC0yMmwwLTU2IDE5MiAwIDAgNTZjMCA5LjUgNS43IDE4LjIgMTQuNCAyMnMxOC45IDIuMSAyNS45LTQuNGwxMTItMTA0elwiXVxufTtcbmNvbnN0IGZhQXJyb3dzQWx0SCA9IGZhTGVmdFJpZ2h0O1xuY29uc3QgZmFCb3hlc1BhY2tpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm94ZXMtcGFja2luZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRjN1wiLCBcIk0yNTYgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhMNTkyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTIxMC43IDBjMS44LTUgMi43LTEwLjQgMi43LTE2bDAtMjQyLjdjMTguNi02LjYgMzItMjQuNCAzMi00NS4zbDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTExMiAwIDAtODB6TTU3MS4zIDM0Ny4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC02NC02NGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTY0IDY0Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDgwIDMxMC42IDQ4MCA0MzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTEyMS40IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHpNMCAxNzZjMC04LjggNy4yLTE2IDE2LTE2bDM1MiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNkwxNiAyMjRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0zNTIgODBsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJMNjQgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIyNCAzMjAgMHpNMTQ0IDMyMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw5NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC05NiAwelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlQXJyb3dMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1hcnJvdy1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtbGVmdFwiXSwgXCJmMGE4XCIsIFwiTTUxMiAyNTZBMjU2IDI1NiAwIDEgMCAwIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwek0yMTUgMTI3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNzEgNzFMMzkyIDIzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjE0LjEgMCA3MSA3MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDEwMyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDIxNSAxMjd6XCJdXG59O1xuY29uc3QgZmFBcnJvd0NpcmNsZUxlZnQgPSBmYUNpcmNsZUFycm93TGVmdDtcbmNvbnN0IGZhR3JvdXBBcnJvd3NSb3RhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JvdXAtYXJyb3dzLXJvdGF0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRmNlwiLCBcIk0yMDEuMSA3MS45YzE2LjktNSAyNi42LTIyLjkgMjEuNS0zOS44cy0yMi45LTI2LjYtMzkuOC0yMS41Yy0yMS41IDYuNC00MS44IDE1LjUtNjAuNiAyN0MxMTQuMyAzNCAxMDUuNCAzMiA5NiAzMkM2MC43IDMyIDMyIDYwLjcgMzIgOTZjMCA5LjQgMiAxOC4zIDUuNiAyNi4zYy0xMS41IDE4LjctMjAuNiAzOS0yNyA2MC42Yy01IDE2LjkgNC42IDM0LjggMjEuNSAzOS44czM0LjgtNC42IDM5LjgtMjEuNWM0LjMtMTQuNiAxMC40LTI4LjUgMTcuOS00MS40YzIgLjIgNC4xIC4zIDYuMSAuM2MzNS4zIDAgNjQtMjguNyA2NC02NGMwLTIuMS0uMS00LjEtLjMtNi4xYzEyLjktNy41IDI2LjgtMTMuNiA0MS40LTE3Ljl6bTEyOC02MS4zYy0xNi45LTUtMzQuOCA0LjYtMzkuOCAyMS41czQuNiAzNC44IDIxLjUgMzkuOGMxNC42IDQuMyAyOC41IDEwLjQgNDEuNCAxNy45Yy0uMiAyLS4zIDQuMS0uMyA2LjFjMCAzNS4zIDI4LjcgNjQgNjQgNjRjMi4xIDAgNC4xLS4xIDYuMi0uM2M3LjUgMTIuOSAxMy42IDI2LjggMTcuOSA0MS40YzUgMTYuOSAyMi45IDI2LjYgMzkuOCAyMS41czI2LjYtMjIuOSAyMS41LTM5LjhjLTYuNC0yMS41LTE1LjUtNDEuOC0yNy02MC42YzMuNi04IDUuNi0xNi45IDUuNi0yNi4zYzAtMzUuMy0yOC43LTY0LTY0LTY0Yy05LjQgMC0xOC4zIDItMjYuMyA1LjZjLTE4LjctMTEuNS0zOS0yMC42LTYwLjYtMjd6TTcxLjkgMzEwLjljLTUtMTYuOS0yMi45LTI2LjYtMzkuOC0yMS41cy0yNi42IDIyLjktMjEuNSAzOS44YzYuNCAyMS41IDE1LjUgNDEuOCAyNyA2MC42QzM0IDM5Ny43IDMyIDQwNi42IDMyIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGM5LjQgMCAxOC4zLTIgMjYuMy01LjZjMTguNyAxMS41IDM5IDIwLjYgNjAuNiAyN2MxNi45IDUgMzQuOC00LjYgMzkuOC0yMS41cy00LjYtMzQuOC0yMS41LTM5LjhjLTE0LjYtNC4zLTI4LjUtMTAuNC00MS40LTE3LjljLjItMiAuMy00LjEgLjMtNi4yYzAtMzUuMy0yOC43LTY0LTY0LTY0Yy0yLjEgMC00LjEgLjEtNi4yIC4zYy03LjUtMTIuOS0xMy42LTI2LjgtMTcuOS00MS40em00MjkuNCAxOC4zYzUtMTYuOS00LjYtMzQuOC0yMS41LTM5LjhzLTM0LjggNC42LTM5LjggMjEuNWMtNC4zIDE0LjYtMTAuNCAyOC41LTE3LjkgNDEuNGMtMi0uMi00LjEtLjMtNi4yLS4zYy0zNS4zIDAtNjQgMjguNy02NCA2NGMwIDIuMSAuMSA0LjEgLjMgNi4yYy0xMi45IDcuNS0yNi44IDEzLjYtNDEuNCAxNy45Yy0xNi45IDUtMjYuNiAyMi45LTIxLjUgMzkuOHMyMi45IDI2LjYgMzkuOCAyMS41YzIxLjUtNi40IDQxLjgtMTUuNSA2MC42LTI3YzggMy42IDE2LjkgNS42IDI2LjMgNS42YzM1LjMgMCA2NC0yOC43IDY0LTY0YzAtOS40LTItMTguMy01LjYtMjYuM2MxMS41LTE4LjcgMjAuNi0zOSAyNy02MC42ek0xOTIuOCAyNTYuOGMwLTE1LjYgNS42LTI5LjkgMTQuOS00MS4xTDIyMyAyMzFjNi42IDYuNiAxNy44IDEuOSAxNy44LTcuNGwwLTYwLjVjMC01LjctNC43LTEwLjQtMTAuNC0xMC40bC02MC41IDBjLTkuMyAwLTEzLjkgMTEuMi03LjQgMTcuOGwxMS4yIDExLjJjLTE3LjkgMTkuOC0yOC45IDQ2LjItMjguOSA3NS4xYzAgNDMuNiAyNC45IDgxLjMgNjEuMSA5OS44YzExLjggNiAyNi4zIDEuNCAzMi4zLTEwLjRzMS40LTI2LjMtMTAuNC0zMi4zYy0yMC44LTEwLjYtMzQuOS0zMi4yLTM0LjktNTd6bTkzLjEtNTguNmMyMC44IDEwLjYgMzQuOSAzMi4yIDM0LjkgNTdjMCAxNS42LTUuNiAyOS45LTE0LjkgNDEuMUwyOTAuNiAyODFjLTYuNi02LjYtMTcuOC0xLjktMTcuOCA3LjRsMCA2MC41YzAgNS43IDQuNyAxMC40IDEwLjQgMTAuNGw2MC41IDBjOS4zIDAgMTMuOS0xMS4yIDcuNC0xNy44bC0xMS4yLTExLjJjMTcuOS0xOS44IDI4LjktNDYuMiAyOC45LTc1LjFjMC00My42LTI0LjktODEuMy02MS4xLTk5LjhjLTExLjgtNi0yNi4zLTEuNC0zMi4zIDEwLjRzLTEuNCAyNi4zIDEwLjQgMzIuM3pcIl1cbn07XG5jb25zdCBmYUJvd2xGb29kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvd2wtZm9vZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRjNlwiLCBcIk0wIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGMuNSAwIDEuMSAwIDEuNiAwQzczIDkxLjUgMTA1LjMgNjQgMTQ0IDY0YzE1IDAgMjkgNC4xIDQwLjkgMTEuMkMxOTguMiA0OS42IDIyNS4xIDMyIDI1NiAzMnM1Ny44IDE3LjYgNzEuMSA0My4yQzMzOSA2OC4xIDM1MyA2NCAzNjggNjRjMzguNyAwIDcxIDI3LjUgNzguNCA2NGMuNSAwIDEuMSAwIDEuNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0YzAgMTEuNy0zLjEgMjIuNi04LjYgMzJMOC42IDIyNEMzLjEgMjE0LjYgMCAyMDMuNyAwIDE5MnptMCA5MS40QzAgMjY4LjMgMTIuMyAyNTYgMjcuNCAyNTZsNDU3LjEgMGMxNS4xIDAgMjcuNCAxMi4zIDI3LjQgMjcuNGMwIDcwLjUtNDQuNCAxMzAuNy0xMDYuNyAxNTQuMUw0MDMuNSA0NTJjLTIgMTYtMTUuNiAyOC0zMS44IDI4bC0yMzEuNSAwYy0xNi4xIDAtMjkuOC0xMi0zMS44LTI4bC0xLjgtMTQuNEM0NC40IDQxNC4xIDAgMzUzLjkgMCAyODMuNHpcIl1cbn07XG5jb25zdCBmYUNhbmR5Q2FuZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYW5keS1jYW5lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzg2XCIsIFwiTTM0OC44IDEzMS41YzMuNy0yLjMgNy45LTMuNSAxMi4yLTMuNWMxMi43IDAgMjMgMTAuMyAyMyAyM2wwIDUuNmMwIDkuOS01LjEgMTkuMS0xMy41IDI0LjNMMzAuMSAzOTMuN0MuMSA0MTIuNS05IDQ1MS45IDkuNyA0ODEuOXM1OC4yIDM5LjEgODguMiAyMC40TDQzOC40IDI4OS41YzQ1LjgtMjguNiA3My42LTc4LjggNzMuNi0xMzIuOGwwLTUuNkM1MTIgNjcuNiA0NDQuNCAwIDM2MSAwYy0yOC4zIDAtNTYgOC04MC4xIDIzTDI1NC4xIDM5LjdjLTMwIDE4LjctMzkuMSA1OC4yLTIwLjQgODguMnM1OC4yIDM5LjEgODguMiAyMC40bDI2LjgtMTYuOHpNMjk4LjQgNDkuOGM5LjItNS43IDE5LjEtMTAuMSAyOS40LTEzLjFMMzQ4IDk3LjVjLTUuNyAxLjQtMTEuMiAzLjctMTYuMyA2LjhsLTEyLjYgNy45TDI5OC40IDQ5Ljh6bTg4LjUgNTIuN2w0Ni4yLTQ2LjJjOC41IDYuNSAxNi4xIDE0LjEgMjIuNiAyMi42bC00Ni4yIDQ2LjJjLTUuMS05LjYtMTMtMTcuNS0yMi42LTIyLjZ6bTI4LjkgNTkuM2w2MS42IDIwLjVjLTIuMiAxMC41LTUuOCAyMC43LTEwLjUgMzAuMmwtNjItMjAuN2M2LjItOC44IDEwLjEtMTkuMSAxMS0zMC4xem0tODYuMSA4Mi41bDYwLjQgMzcuNy0zMC4yIDE4LjktNjAuNC0zNy43IDMwLjItMTguOXptLTEwNy4yIDY3bDYwLjQgMzcuNy0zMC4yIDE4LjktNjAuNC0zNy43IDMwLjItMTguOXpNMTE5LjMgMzc1LjdsNjAuNCAzNy43LTMwLjIgMTguOUw4OS4xIDM5NC42bDMwLjItMTguOXpcIl1cbn07XG5jb25zdCBmYUFycm93RG93bldpZGVTaG9ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1kb3duLXdpZGUtc2hvcnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYW1vdW50LWFzY1wiLCBcInNvcnQtYW1vdW50LWRvd25cIl0sIFwiZjE2MFwiLCBcIk0xNTEuNiA0NjkuNkMxNDUuNSA0NzYuMiAxMzcgNDgwIDEyOCA0ODBzLTE3LjUtMy44LTIzLjYtMTAuNGwtODgtOTZjLTExLjktMTMtMTEuMS0zMy4zIDItNDUuMnMzMy4zLTExLjEgNDUuMiAyTDk2IDM2NS43IDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDEuNyAzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIwIDk2elwiXVxufTtcbmNvbnN0IGZhU29ydEFtb3VudEFzYyA9IGZhQXJyb3dEb3duV2lkZVNob3J0O1xuY29uc3QgZmFTb3J0QW1vdW50RG93biA9IGZhQXJyb3dEb3duV2lkZVNob3J0O1xuY29uc3QgZmFDbG91ZEJvbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtYm9sdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc4NSwgXCJ0aHVuZGVyc3Rvcm1cIl0sIFwiZjc2Y1wiLCBcIk0wIDIyNGMwIDUzIDQzIDk2IDk2IDk2bDQ3LjIgMEwyOTAgMjAyLjVjMTcuNi0xNC4xIDQyLjYtMTQgNjAuMiAuMnMyMi44IDM4LjYgMTIuOCA1OC44TDMzMy43IDMyMGwxOC4zIDAgNjQgMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtLjUgMC0xLjEgMC0xLjYgMGMxLjEtNS4yIDEuNi0xMC41IDEuNi0xNmMwLTQ0LjItMzUuOC04MC04MC04MGMtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4QzI1Ni41IDI0LjMgMjE5LjEgMCAxNzYgMEMxMTQuMSAwIDY0IDUwLjEgNjQgMTEyYzAgNy4xIC43IDE0LjEgMS45IDIwLjhDMjcuNiAxNDUuNCAwIDE4MS41IDAgMjI0em0zMzAuMSAzLjZjLTUuOC00LjctMTQuMi00LjctMjAuMS0uMWwtMTYwIDEyOGMtNS4zIDQuMi03LjQgMTEuNC01LjEgMTcuOHM4LjMgMTAuNyAxNS4xIDEwLjdsNzAuMSAwTDE3Ny43IDQ4OC44Yy0zLjQgNi43LTEuNiAxNC45IDQuMyAxOS42czE0LjIgNC43IDIwLjEgLjFsMTYwLTEyOGM1LjMtNC4yIDcuNC0xMS40IDUuMS0xNy44cy04LjMtMTAuNy0xNS4xLTEwLjdsLTcwLjEgMCA1Mi40LTEwNC44YzMuNC02LjcgMS42LTE0LjktNC4yLTE5LjZ6XCJdXG59O1xuY29uc3QgZmFUaHVuZGVyc3Rvcm0gPSBmYUNsb3VkQm9sdDtcbmNvbnN0IGZhVGV4dFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RleHQtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInJlbW92ZS1mb3JtYXRcIl0sIFwiZjg3ZFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDM1NS43IDI1My41IDQwMC4yIDk2IDUwMyA5NiA0OTcgMTIwLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMTEtNDQuMUM1NzcuNiA2MS4zIDU1NC43IDMyIDUyMy41IDMyTDM3Ni4xIDMybC0uMyAwTDIwNC41IDMyYy0yMiAwLTQxLjIgMTUtNDYuNiAzNi40bC02LjMgMjUuMkwzOC44IDUuMXptMTY4IDEzMS43Yy4xLS4zIC4yLS43IC4zLTFMMjE3IDk2bDExNi43IDBMMzAxLjMgMjEwLjhsLTk0LjUtNzQuMXpNMjQzLjMgNDE2TDE5MiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQyLjIgMCAxNy42LTYyLjFMMjcyLjkgMzExIDI0My4zIDQxNnpcIl1cbn07XG5jb25zdCBmYVJlbW92ZUZvcm1hdCA9IGZhVGV4dFNsYXNoO1xuY29uc3QgZmFGYWNlU21pbGVXaW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Utc21pbGUtd2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUyMSwgXCJzbWlsZS13aW5rXCJdLCBcImY0ZGFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC4xIDMyNS41QzE4MiAzNDYuMiAyMTIuNiAzNjggMjU2IDM2OHM3NC0yMS44IDkxLjktNDIuNWM1LjgtNi43IDE1LjktNy40IDIyLjYtMS42czcuNCAxNS45IDEuNiAyMi42QzM0OS44IDM3Mi4xIDMxMS4xIDQwMCAyNTYgNDAwcy05My44LTI3LjktMTE2LjEtNTMuNWMtNS44LTYuNy01LjEtMTYuOCAxLjYtMjIuNnMxNi44LTUuMSAyMi42IDEuNnpNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE1Ni40IDI1LjZjLTUuMyA3LjEtMTUuMyA4LjUtMjIuNCAzLjJzLTguNS0xNS4zLTMuMi0yMi40YzMwLjQtNDAuNSA5MS4yLTQwLjUgMTIxLjYgMGM1LjMgNy4xIDMuOSAxNy4xLTMuMiAyMi40cy0xNy4xIDMuOS0yMi40LTMuMmMtMTcuNi0yMy41LTUyLjgtMjMuNS03MC40IDB6XCJdXG59O1xuY29uc3QgZmFTbWlsZVdpbmsgPSBmYUZhY2VTbWlsZVdpbms7XG5jb25zdCBmYUZpbGVXb3JkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtd29yZCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjFjMlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTExMSAyNTcuMWwyNi44IDg5LjIgMzEuNi05MC4zYzMuNC05LjYgMTIuNS0xNi4xIDIyLjctMTYuMXMxOS4zIDYuNCAyMi43IDE2LjFsMzEuNiA5MC4zTDI3MyAyNTcuMWMzLjgtMTIuNyAxNy4yLTE5LjkgMjkuOS0xNi4xczE5LjkgMTcuMiAxNi4xIDI5LjlsLTQ4IDE2MGMtMyAxMC0xMiAxNi45LTIyLjQgMTcuMXMtMTkuOC02LjItMjMuMi0xNi4xTDE5MiAzMzYuNmwtMzMuMyA5NS4zYy0zLjQgOS44LTEyLjggMTYuMy0yMy4yIDE2LjFzLTE5LjUtNy4xLTIyLjQtMTcuMWwtNDgtMTYwYy0zLjgtMTIuNyAzLjQtMjYuMSAxNi4xLTI5LjlzMjYuMSAzLjQgMjkuOSAxNi4xelwiXVxufTtcbmNvbnN0IGZhRmlsZVBvd2VycG9pbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1wb3dlcnBvaW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMWM0XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNMTM2IDI0MGw2OCAwYzQyIDAgNzYgMzQgNzYgNzZzLTM0IDc2LTc2IDc2bC00NCAwIDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC01NiAwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptNjggMTA0YzE1LjUgMCAyOC0xMi41IDI4LTI4cy0xMi41LTI4LTI4LTI4bC00NCAwIDAgNTYgNDQgMHpcIl1cbn07XG5jb25zdCBmYUFycm93c0xlZnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtbGVmdC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3dzLWhcIl0sIFwiZjA3ZVwiLCBcIk00MDYuNiAzNzQuNmw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQwMi43IDIyNGwtMjkzLjUgMCA0MS40LTQxLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDI4OGwyOTMuNSAwLTQxLjQgNDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHpcIl1cbn07XG5jb25zdCBmYUFycm93c0ggPSBmYUFycm93c0xlZnRSaWdodDtcbmNvbnN0IGZhSG91c2VMb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTBcIiwgXCJNMzg0IDQ4MGMwIDExLjcgMy4xIDIyLjYgOC42IDMybC0uNiAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTI0IDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjQgMCAyNGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMjQgMC0zMS45IDBjLTEuNSAwLTMtLjEtNC41LS4yYy0xLjIgLjEtMi40IC4yLTMuNiAuMmwtMTYgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xMTJjMC0uOSAwLTEuOSAuMS0yLjhsMC02OS43LTMyIDBjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQ5MC43IDE2Ni4zQzQ0Ny4yIDE4MS43IDQxNiAyMjMuMiA0MTYgMjcybDAgMjQuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwwIDEyOHpNNTI4IDI0MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OCA2NCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS04MCAzMmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTQ4elwiXVxufTtcbmNvbnN0IGZhQ2xvdWRBcnJvd0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtYXJyb3ctZG93bicsXG4gIGljb246IFs2NDAsIDUxMiwgWzYyMzM3LCBcImNsb3VkLWRvd25sb2FkXCIsIFwiY2xvdWQtZG93bmxvYWQtYWx0XCJdLCBcImYwZWRcIiwgXCJNMTQ0IDQ4MEM2NC41IDQ4MCAwIDQxNS41IDAgMzM2YzAtNjIuOCA0MC4yLTExNi4yIDk2LjItMTM1LjljLS4xLTIuNy0uMi01LjQtLjItOC4xYzAtODguNCA3MS42LTE2MCAxNjAtMTYwYzU5LjMgMCAxMTEgMzIuMiAxMzguNyA4MC4yQzQwOS45IDEwMiA0MjguMyA5NiA0NDggOTZjNTMgMCA5NiA0MyA5NiA5NmMwIDEyLjItMi4zIDIzLjgtNi40IDM0LjZDNTk2IDIzOC40IDY0MCAyOTAuMSA2NDAgMzUyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0zNjggMHptNzktMTY3bDgwIDgwYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDgwLTgwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTM5IDM5TDM0NCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMzQuMS0zOS0zOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOXpcIl1cbn07XG5jb25zdCBmYUNsb3VkRG93bmxvYWQgPSBmYUNsb3VkQXJyb3dEb3duO1xuY29uc3QgZmFDbG91ZERvd25sb2FkQWx0ID0gZmFDbG91ZEFycm93RG93bjtcbmNvbnN0IGZhQ2hpbGRyZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGRyZW4nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZTFcIiwgXCJNMTYwIDBhNjQgNjQgMCAxIDEgMCAxMjhBNjQgNjQgMCAxIDEgMTYwIDB6TTg4IDQ4MGwwLTgwLTE3LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFsMzEuMS05My40TDU3LjUgMzIzLjNjLTEwLjcgMTQuMS0zMC44IDE2LjgtNDQuOCA2LjJzLTE2LjgtMzAuNy02LjItNDQuOEw2NS40IDIwN2MyMi40LTI5LjYgNTcuNS00NyA5NC42LTQ3czcyLjIgMTcuNCA5NC42IDQ3bDU4LjkgNzcuN2MxMC43IDE0LjEgNy45IDM0LjItNi4yIDQ0LjhzLTM0LjIgNy45LTQ0LjgtNi4ybC0yOC42LTM3LjhMMjY1IDM3OC45YzMuNSAxMC40LTQuMyAyMS4xLTE1LjIgMjEuMUwyMzIgNDAwbDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04MC0xNiAwIDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6TTQ4MCAwYTY0IDY0IDAgMSAxIDAgMTI4QTY0IDY0IDAgMSAxIDQ4MCAwem0tOCAzODRsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE3OS41TDM5NS4xIDMyMWMtOS40IDE1LTI5LjIgMTkuNC00NC4xIDEwcy0xOS40LTI5LjItMTAtNDQuMWw1MS43LTgyLjFjMTcuNi0yNy45IDQ4LjMtNDQuOSA4MS4yLTQ0LjlsMTIuMyAwYzMzIDAgNjMuNyAxNi45IDgxLjIgNDQuOUw2MTkuMSAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBMNTUyIDMwMC41IDU1MiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0xNiAwelwiXVxufTtcbmNvbnN0IGZhQ2hhbGtib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFsa2JvYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJibGFja2JvYXJkXCJdLCBcImY1MWJcIiwgXCJNOTYgMzJDNjAuNyAzMiAzMiA2MC43IDMyIDk2bDAgMjg4IDY0IDBMOTYgOTZsMzg0IDAgMCAyODggNjQgMCAwLTI4OGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAzMnpNMjI0IDM4NGwwIDMyTDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhQmxhY2tib2FyZCA9IGZhQ2hhbGtib2FyZDtcbmNvbnN0IGZhVXNlckxhcmdlU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1sYXJnZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1widXNlci1hbHQtc2xhc2hcIl0sIFwiZjRmYVwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDM4MS45IDI3NGM0OC41LTIzLjIgODIuMS03Mi43IDgyLjEtMTMwQzQ2NCA2NC41IDM5OS41IDAgMzIwIDBDMjUwLjQgMCAxOTIuNCA0OS4zIDE3OC45IDExNC45TDM4LjggNS4xek01NDUuNSA1MTJMNTI4IDUxMiAyODQuMyAzMjBsLTU5IDBDMTM2LjIgMzIwIDY0IDM5Mi4yIDY0IDQ4MS4zYzAgMTcgMTMuOCAzMC43IDMwLjcgMzAuN2w0NTAuNiAwIC4zIDB6XCJdXG59O1xuY29uc3QgZmFVc2VyQWx0U2xhc2ggPSBmYVVzZXJMYXJnZVNsYXNoO1xuY29uc3QgZmFFbnZlbG9wZU9wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZW52ZWxvcGUtb3BlbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMTM1XSwgXCJmMmI2XCIsIFwiTTY0IDIwOC4xTDI1NiA2NS45IDQ0OCAyMDguMWwwIDQ3LjRMMjg5LjUgMzczYy05LjcgNy4yLTIxLjQgMTEtMzMuNSAxMXMtMjMuOC0zLjktMzMuNS0xMUw2NCAyNTUuNWwwLTQ3LjR6TTI1NiAwYy0xMi4xIDAtMjMuOCAzLjktMzMuNSAxMUwyNS45IDE1Ni43QzkuNiAxNjguOCAwIDE4Ny44IDAgMjA4LjFMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMzkuOWMwLTIwLjMtOS42LTM5LjQtMjUuOS01MS40TDI4OS41IDExQzI3OS44IDMuOSAyNjguMSAwIDI1NiAwelwiXVxufTtcbmNvbnN0IGZhSGFuZHNoYWtlU2ltcGxlU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHNoYWtlLXNpbXBsZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiaGFuZHNoYWtlLWFsdC1zbGFzaFwiXSwgXCJlMDVmXCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdsLTEzNS0xMDUuOGMtMS4xLTExLjQtNi4zLTIyLjMtMTUuMy0zMC43bC0xMzQuMi0xMjMtMjMuNCAxOC4yLTI2LTIwLjMgNzcuMi02MC4xYzctNS40IDE3LTQuMiAyMi41IDIuOHM0LjIgMTctMi44IDIyLjVsLTIwLjkgMTYuMkw1NTAuMiAzNTJsNDEuOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC03NiAwLTQgMC0uNyAwLTMuOS0yLjVMNDM0LjggNzljLTE1LjMtOS44LTMzLjItMTUtNTEuNC0xNWMtMjEuOCAwLTQzIDcuNS02MCAyMS4ybC04OS43IDcyLjYtMjUuOC0yMC4zIDgxLjgtNjYuMmMtMTEuNi00LjktMjQuMS03LjQtMzYuOC03LjRDMjM0IDY0IDIxNS43IDY5LjYgMjAwIDgwbC0zNS41IDIzLjdMMzguOCA1LjF6TTAgMTc2TDAgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEwOC4yIDAgOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45Yy44LS44IDEuNS0xLjcgMi4yLTIuNkw0MS4yIDEyOC41QzE3LjkgMTMxLjggMCAxNTEuOCAwIDE3NnpcIl1cbn07XG5jb25zdCBmYUhhbmRzaGFrZUFsdFNsYXNoID0gZmFIYW5kc2hha2VTaW1wbGVTbGFzaDtcbmNvbnN0IGZhTWF0dHJlc3NQaWxsb3cgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWF0dHJlc3MtcGlsbG93JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTI1XCIsIFwiTTI1NiA2NEw2NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMCAwLTM4NHptMzIgMzg0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDI4OCA2NGwwIDM4NHpNNjQgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTkyelwiXVxufTtcbmNvbnN0IGZhR3VhcmFuaVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3VhcmFuaS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMTlhXCIsIFwiTTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM0LjdDNjkuMiA4MS45IDAgMTYwLjkgMCAyNTZzNjkuMiAxNzQuMSAxNjAgMTg5LjNsMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNC43YzkwLjgtMTUuMiAxNjAtOTQuMiAxNjAtMTg5LjNjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwIDAtOTJjMjIuMSA1LjcgNDEuOCAxNy4xIDU3LjYgMzIuNmMxMi42IDEyLjQgMzIuOSAxMi4yIDQ1LjMtLjRzMTIuMi0zMi45LS41LTQ1LjNDMjk5IDkyIDI2My41IDczLjMgMjI0IDY2LjdMMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0xNjAgMTMyTDE2MCAzODBjLTU1LjItMTQuMi05Ni02NC4zLTk2LTEyNHM0MC44LTEwOS44IDk2LTEyNHpNMjI0IDM4MGwwLTkyIDkyIDBjLTExLjYgNDUtNDcgODAuNC05MiA5MnpcIl1cbn07XG5jb25zdCBmYUFycm93c1JvdGF0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3Mtcm90YXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDcyLCBcInJlZnJlc2hcIiwgXCJzeW5jXCJdLCBcImYwMjFcIiwgXCJNMTA1LjEgMjAyLjZjNy43LTIxLjggMjAuMi00Mi4zIDM3LjgtNTkuOGM2Mi41LTYyLjUgMTYzLjgtNjIuNSAyMjYuMyAwTDM4Ni4zIDE2MCAzNTIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExMS41IDBjMCAwIDAgMCAwIDBsLjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDM1LjJMNDE0LjQgOTcuNmMtODcuNS04Ny41LTIyOS4zLTg3LjUtMzE2LjggMEM3My4yIDEyMiA1NS42IDE1MC43IDQ0LjggMTgxLjRjLTUuOSAxNi43IDIuOSAzNC45IDE5LjUgNDAuOHMzNC45LTIuOSA0MC44LTE5LjV6TTM5IDI4OS4zYy01IDEuNS05LjggNC4yLTEzLjcgOC4yYy00IDQtNi43IDguOC04LjEgMTRjLS4zIDEuMi0uNiAyLjUtLjggMy44Yy0uMyAxLjctLjQgMy40LS40IDUuMUwxNiA0MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1LjEgMTcuNiAxNy41YzAgMCAwIDAgMCAwYzg3LjUgODcuNCAyMjkuMyA4Ny40IDMxNi43IDBjMjQuNC0yNC40IDQyLjEtNTMuMSA1Mi45LTgzLjhjNS45LTE2LjctMi45LTM0LjktMTkuNS00MC44cy0zNC45IDIuOS00MC44IDE5LjVjLTcuNyAyMS44LTIwLjIgNDIuMy0zNy44IDU5LjhjLTYyLjUgNjIuNS0xNjMuOCA2Mi41LTIyNi4zIDBsLS4xLS4xTDEyNS42IDM1MmwzNC40IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNDguNCAyODhjLTEuNiAwLTMuMiAuMS00LjggLjNzLTMuMSAuNS00LjYgMXpcIl1cbn07XG5jb25zdCBmYVJlZnJlc2ggPSBmYUFycm93c1JvdGF0ZTtcbmNvbnN0IGZhU3luYyA9IGZhQXJyb3dzUm90YXRlO1xuY29uc3QgZmFGaXJlRXh0aW5ndWlzaGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpcmUtZXh0aW5ndWlzaGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTE5XSwgXCJmMTM0XCIsIFwiTTUwMC4zIDcuM0M1MDcuNyAxMy4zIDUxMiAyMi40IDUxMiAzMmwwIDk2YzAgOS42LTQuMyAxOC43LTExLjcgMjQuN3MtMTcuMiA4LjUtMjYuNiA2LjZsLTE2MC0zMkMzMDEuNSAxMjQuOSAyOTIgMTE1LjcgMjg5IDEwNGwtNjUgMCAwIDM0LjhjMzcuOCAxOCA2NCA1Ni41IDY0IDEwMS4ybDAgMTQ0TDY0IDM4NGwwLTE0NGMwLTQ0LjcgMjYuMi04My4yIDY0LTEwMS4ybDAtMjguOGMtMzYuMiAxMS4xLTY2IDM2LjktODIuMyA3MC41Yy01LjggMTEuOS0yMC4yIDE2LjktMzIuMSAxMS4xUy0zLjMgMTcxLjQgMi41IDE1OS41QzI2LjcgMTA5LjggNzIuNyA3Mi42IDEyOCA2MC40TDEyOCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjQgNjUgMGMzLTExLjcgMTIuNS0yMC45IDI0LjctMjMuNGwxNjAtMzJjOS40LTEuOSAxOS4xIC42IDI2LjYgNi42ek0yODggNDE2bDAgMzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzIgMjI0IDB6TTE3NiA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6XCJdXG59O1xuY29uc3QgZmFDcnV6ZWlyb1NpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3J1emVpcm8tc2lnbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTE1MlwiLCBcIk05NiAyNTZjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBjNDEgMCA3OC4zIDE1LjQgMTA2LjcgNDAuN2MxMy4yIDExLjggMzMuNCAxMC43IDQ1LjItMi41czEwLjctMzMuNC0yLjUtNDUuMmMtMzkuNi0zNS41LTkyLTU3LTE0OS4zLTU3QzEzMi4zIDMyIDMyIDEzMi4zIDMyIDI1NnMxMDAuMyAyMjQgMjI0IDIyNGM1Ny40IDAgMTA5LjctMjEuNiAxNDkuMy01N2MxMy4yLTExLjggMTQuMy0zMiAyLjUtNDUuMnMtMzItMTQuMy00NS4yLTIuNUMzMzQuMyA0MDAuNiAyOTcgNDE2IDI1NiA0MTZsMC05NiAwLTguN2MwLTEyLjggMTAuNC0yMy4zIDIzLjMtMjMuM2M0LjYgMCA5LjEgMS40IDEyLjkgMy45bDEwLjEgNi43YzE0LjcgOS44IDM0LjYgNS44IDQ0LjQtOC45czUuOC0zNC42LTguOS00NC40bC0xMC4xLTYuN2MtMTQuMy05LjYtMzEuMi0xNC43LTQ4LjQtMTQuN2MtMTIuNCAwLTI0LjIgMi42LTM0LjkgNy4zYy01LjUtNC41LTEyLjYtNy4zLTIwLjMtNy4zYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDU1LjMgMCA4LjcgMCA4Mi43QzEzNS41IDM3OCA5NiAzMjEuNiA5NiAyNTZ6XCJdXG59O1xuY29uc3QgZmFHcmVhdGVyVGhhbkVxdWFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyZWF0ZXItdGhhbi1lcXVhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUzMlwiLCBcIk01Mi4xIDkzLjdDMzUuNyA4Ny4xIDI3LjcgNjguNSAzNC4zIDUyLjFzMjUuMi0yNC40IDQxLjYtMTcuOGwzMjAgMTI4QzQwOCAxNjcuMSA0MTYgMTc4LjkgNDE2IDE5MnMtOCAyNC45LTIwLjEgMjkuN2wtMzIwIDEyOGMtMTYuNCA2LjYtMzUtMS40LTQxLjYtMTcuOHMxLjQtMzUgMTcuOC00MS42TDI5Ny44IDE5MiA1Mi4xIDkzLjd6TTQxNiA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwelwiXVxufTtcbmNvbnN0IGZhU2hpZWxkSGFsdmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1oYWx2ZWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNoaWVsZC1hbHRcIl0sIFwiZjNlZFwiLCBcIk0yNTYgMGM0LjYgMCA5LjIgMSAxMy40IDIuOUw0NTcuNyA4Mi44YzIyIDkuMyAzOC40IDMxIDM4LjMgNTcuMmMtLjUgOTkuMi00MS4zIDI4MC43LTIxMy42IDM2My4yYy0xNi43IDgtMzYuMSA4LTUyLjggMEM1Ny4zIDQyMC43IDE2LjUgMjM5LjIgMTYgMTQwYy0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni44IDEgMjUxLjQgMCAyNTYgMHptMCA2Ni44bDAgMzc4LjFDMzk0IDM3OCA0MzEuMSAyMzAuMSA0MzIgMTQxLjRMMjU2IDY2LjhzMCAwIDAgMHpcIl1cbn07XG5jb25zdCBmYVNoaWVsZEFsdCA9IGZhU2hpZWxkSGFsdmVkO1xuY29uc3QgZmFCb29rQXRsYXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1hdGxhcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYXRsYXNcIl0sIFwiZjU1OFwiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDM4NCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMEw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjRMOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMjQ3LjQgMjgzLjhjLTMuNyAzLjctNi4yIDQuMi03LjQgNC4ycy0zLjctLjUtNy40LTQuMmMtMy44LTMuNy04LTEwLTExLjgtMTguOWMtNi4yLTE0LjUtMTAuOC0zNC4zLTEyLjItNTYuOWw2MyAwYy0xLjUgMjIuNi02IDQyLjQtMTIuMiA1Ni45Yy0zLjggOC45LTggMTUuMi0xMS44IDE4Ljl6bTQyLjctOS45YzcuMy0xOC4zIDEyLTQxLjEgMTMuNC02NS45bDMxLjEgMGMtNC43IDI3LjktMjEuNCA1MS43LTQ0LjUgNjUuOXptMC0xNjMuOGMyMy4yIDE0LjIgMzkuOSAzOCA0NC41IDY1LjlsLTMxLjEgMGMtMS40LTI0LjctNi4xLTQ3LjUtMTMuNC02NS45ek0zNjggMTkyYTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6TTE0NS4zIDIwOGwzMS4xIDBjMS40IDI0LjcgNi4xIDQ3LjUgMTMuNCA2NS45Yy0yMy4yLTE0LjItMzkuOS0zOC00NC41LTY1Ljl6bTMxLjEtMzJsLTMxLjEgMGM0LjctMjcuOSAyMS40LTUxLjcgNDQuNS02NS45Yy03LjMgMTguMy0xMiA0MS4xLTEzLjQgNjUuOXptNTYuMS03NS44YzMuNy0zLjcgNi4yLTQuMiA3LjQtNC4yczMuNyAuNSA3LjQgNC4yYzMuOCAzLjcgOCAxMCAxMS44IDE4LjljNi4yIDE0LjUgMTAuOCAzNC4zIDEyLjIgNTYuOWwtNjMgMGMxLjUtMjIuNiA2LTQyLjQgMTIuMi01Ni45YzMuOC04LjkgOC0xNS4yIDExLjgtMTguOXpcIl1cbn07XG5jb25zdCBmYUF0bGFzID0gZmFCb29rQXRsYXM7XG5jb25zdCBmYVZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpcnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDc0XCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExLjVjMCA0OS45LTYwLjMgNzQuOS05NS42IDM5LjZMMTIwLjIgNzVDMTA3LjcgNjIuNSA4Ny41IDYyLjUgNzUgNzVzLTEyLjUgMzIuOCAwIDQ1LjNsOC4yIDguMkMxMTguNCAxNjMuNyA5My40IDIyNCA0My41IDIyNEwzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTEuNSAwYzQ5LjkgMCA3NC45IDYwLjMgMzkuNiA5NS42TDc1IDM5MS44Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDguMi04LjJjMzUuMy0zNS4zIDk1LjYtMTAuMyA5NS42IDM5LjZsMCAxMS41YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMS41YzAtNDkuOSA2MC4zLTc0LjkgOTUuNi0zOS42bDguMiA4LjJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOC4yLTguMmMtMzUuMy0zNS4zLTEwLjMtOTUuNiAzOS42LTk1LjZsMTEuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMS41IDBjLTQ5LjkgMC03NC45LTYwLjMtMzkuNi05NS42bDguMi04LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTguMiA4LjJDMzQ4LjMgMTE4LjQgMjg4IDkzLjQgMjg4IDQzLjVMMjg4IDMyek0xNzYgMjI0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTEyOCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xuY29uc3QgZmFFbnZlbG9wZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlLWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRlOFwiLCBcIk00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMmMwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40TDIzNi44IDMxMy42YzExLjQgOC41IDI3IDguNSAzOC40IDBsNTcuNC00M2MyMy45LTU5LjggNzkuNy0xMDMuMyAxNDYuMy0xMDkuOGwxMy45LTEwLjRjMTIuMS05LjEgMTkuMi0yMy4zIDE5LjItMzguNGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCA2NHpNMjk0LjQgMzM5LjJjLTIyLjggMTcuMS01NCAxNy4xLTc2LjggMEwwIDE3NiAwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyOTYuMiAwQzMzNS4xIDQxNy42IDMyMCAzNzguNSAzMjAgMzM2YzAtNS42IC4zLTExLjEgLjgtMTYuNmwtMjYuNCAxOS44ek02NDAgMzM2YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS03Ni43LTQzLjNjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcyIDcyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEw0ODAgMzUzLjRsNjAuNy02MC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhTGF5ZXJHcm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXllci1ncm91cCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjVmZFwiLCBcIk0yNjQuNSA1LjJjMTQuOS02LjkgMzIuMS02LjkgNDcgMGwyMTguNiAxMDFjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEw0NS45IDE0OS44QzM3LjQgMTQ1LjggMzIgMTM3LjMgMzIgMTI4czUuNC0xNy45IDEzLjktMjEuOEwyNjQuNSA1LjJ6TTQ3Ni45IDIwOS42bDUzLjIgMjQuNmM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDQ1LjkgMjc3LjhDMzcuNCAyNzMuOCAzMiAyNjUuMyAzMiAyNTZzNS40LTE3LjkgMTMuOS0yMS44bDUzLjItMjQuNiAxNTIgNzAuMmMyMy40IDEwLjggNTAuNCAxMC44IDczLjggMGwxNTItNzAuMnptLTE1MiAxOTguMmwxNTItNzAuMiA1My4yIDI0LjZjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEw0NS45IDQwNS44QzM3LjQgNDAxLjggMzIgMzkzLjMgMzIgMzg0czUuNC0xNy45IDEzLjktMjEuOGw1My4yLTI0LjYgMTUyIDcwLjJjMjMuNCAxMC44IDUwLjQgMTAuOCA3My44IDB6XCJdXG59O1xuY29uc3QgZmFBcnJvd3NUb0RvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdG8tZG90JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGJlXCIsIFwiTTI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45bC02NCA2NGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTY0LTY0Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOXMxNi42LTE5LjggMjkuNi0xOS44bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTY5LjQgMzkzLjRsNjQtNjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNjQgNjRjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlzLTE2LjYgMTkuOC0yOS42IDE5LjhsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45ek0zMiAyMjRsMzIgMCAwLTMyYzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsNjQgNjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTY0IDY0Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTI5Ny40IDU0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDY0LTY0YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45czE5LjggMTYuNiAxOS44IDI5LjZsMCAzMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTY0LTY0ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUFyY2h3YXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJjaHdheScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU1N1wiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDAgNjQgMCAwLTEyOGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTI4IDY0IDAgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTI4OEwzMiAxMjhsMCAyODh6XCJdXG59O1xuY29uc3QgZmFIZWFydENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYXJ0LWNpcmNsZS1jaGVjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmZFwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45bDIuNi0yLjRDMjY3LjIgNDM4LjYgMjU2IDQwNC42IDI1NiAzNjhjMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZjMjguMyAwIDU1IDYuNyA3OC43IDE4LjVjLjktNi41IDEuMy0xMyAxLjMtMTkuNmwwLTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xbDAgNS44YzAgNDEuNSAxNy4yIDgxLjIgNDcuNiAxMDkuNXpNNTc2IDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDE2IDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlQ2hpbW5leUNyYWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNoaW1uZXktY3JhY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhvdXNlLWRhbWFnZVwiXSwgXCJmNmYxXCIsIFwiTTU3NS44IDI1NS41YzAgMTgtMTUgMzIuMS0zMiAzMi4xbC0zMiAwIC43IDE2MC4yYy4yIDM1LjUtMjguNSA2NC4zLTY0IDY0LjNsLTEyMi4xIDBMMjg4IDQ0OGw4MC44LTY3LjNjNy44LTYuNSA3LjYtMTguNi0uNC0yNC45TDI1MC42IDI2My4yYy0xNC42LTExLjUtMzMuOCA3LTIyLjggMjJMMjg4IDM2OGwtODUuNSA3MS4yYy02LjEgNS03LjUgMTMuOC0zLjUgMjAuNUwyMzAuNCA1MTJsLTEwMi4zIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTYwLjQtMzIgMGMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNDE2IDEwMC43IDQxNiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTIxIDUyLjggNDYuNGM4IDcgMTIgMTUgMTEgMjR6XCJdXG59O1xuY29uc3QgZmFIb3VzZURhbWFnZSA9IGZhSG91c2VDaGltbmV5Q3JhY2s7XG5jb25zdCBmYUZpbGVaaXBwZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS16aXBwZXInLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpbGUtYXJjaGl2ZVwiXSwgXCJmMWM2XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNOTYgNDhjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0wIDY0YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZ6bS02LjMgNzEuOGMzLjctMTQgMTYuNC0yMy44IDMwLjktMjMuOGwxNC44IDBjMTQuNSAwIDI3LjIgOS43IDMwLjkgMjMuOGwyMy41IDg4LjJjMS40IDUuNCAyLjEgMTAuOSAyLjEgMTYuNGMwIDM1LjItMjguOCA2My43LTY0IDYzLjdzLTY0LTI4LjUtNjQtNjMuN2MwLTUuNSAuNy0xMS4xIDIuMS0xNi40bDIzLjUtODguMnpNMTEyIDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhRmlsZUFyY2hpdmUgPSBmYUZpbGVaaXBwZXI7XG5jb25zdCBmYVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5NjMyLCA5NzIzLCA5NzI0LCA2MTU5MF0sIFwiZjBjOFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMySDM4NGMzNS4zIDAgNjQgMjguNyA2NCA2NFY0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0Vjk2elwiXVxufTtcbmNvbnN0IGZhTWFydGluaUdsYXNzRW1wdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcy1lbXB0eScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ2xhc3MtbWFydGluaVwiXSwgXCJmMDAwXCIsIFwiTTMyIDBDMTkuMSAwIDcuNCA3LjggMi40IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45TDIyNCAyNjkuMyAyMjQgNDQ4bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTE3OC43TDUwMi42IDU0LjZjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDkyLjkgMCA0ODAgMEwzMiAwek0yNTYgMjEwLjdMMTA5LjMgNjRsMjkzLjUgMEwyNTYgMjEwLjd6XCJdXG59O1xuY29uc3QgZmFHbGFzc01hcnRpbmkgPSBmYU1hcnRpbmlHbGFzc0VtcHR5O1xuY29uc3QgZmFDb3VjaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb3VjaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRiOFwiLCBcIk02NCAxNjBDNjQgODkuMyAxMjEuMyAzMiAxOTIgMzJsMjU2IDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAzMy42Yy0zNi41IDcuNC02NCAzOS43LTY0IDc4LjRsMCA0OC0zODQgMCAwLTQ4YzAtMzguNy0yNy41LTcxLTY0LTc4LjRMNjQgMTYwek01NDQgMjcyYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2M1LTEuOCAxMC40LTIuNyAxNi0yLjdjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNzZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDk2IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhjNS42IDAgMTEgMSAxNiAyLjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgNDggMCAzMiAzMiAwIDM4NCAwIDMyIDAgMC0zMiAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQ2VkaVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2VkaS1zaWduJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMGRmXCIsIFwiTTI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDM0LjdDMTAxLjIgODEuOSAzMiAxNjAuOSAzMiAyNTZzNjkuMiAxNzQuMSAxNjAgMTg5LjNsMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNC43YzMwLjktNS4yIDU5LjItMTcuNyA4My4yLTM1LjhjMTQuMS0xMC42IDE3LTMwLjcgNi40LTQ0LjhzLTMwLjctMTctNDQuOC02LjRjLTEzLjIgOS45LTI4LjMgMTcuMy00NC44IDIxLjZMMjU2IDEzMmMxNi40IDQuMiAzMS42IDExLjYgNDQuOCAyMS42YzE0LjEgMTAuNiAzNC4yIDcuOCA0NC44LTYuNHM3LjgtMzQuMi02LjQtNDQuOGMtMjQtMTgtNTIuNC0zMC42LTgzLjItMzUuOEwyNTYgMzJ6TTE5MiAxMzJMMTkyIDM4MGMtNTUuMi0xNC4yLTk2LTY0LjMtOTYtMTI0czQwLjgtMTA5LjggOTYtMTI0elwiXVxufTtcbmNvbnN0IGZhSXRhbGljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2l0YWxpYycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjAzM1wiLCBcIk0xMjggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTU4LjcgMEwxNjAgNDE2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDU4LjcgMEwyMjQgOTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhVGFibGVDZWxsc0NvbHVtbkxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtY2VsbHMtY29sdW1uLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU2NzhcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY1LjFjLTM3LjggNS40LTY5LjQgMjkuNi04NS4yIDYyLjlMMzYwIDIyNGwwIDY0IDU2IDAgMCA4LjZjLTE5LjEgMTEuMS0zMiAzMS43LTMyIDU1LjRsLTI0IDAgMCA2NCAyNCAwIDAgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0yMDggMGwwIDY0IDg4IDAgMC02NC04OCAwem0yNDAgMGwtODggMCAwIDY0IDg4IDAgMC02NHpNMjA4IDIyNGwwIDY0IDg4IDAgMC02NC04OCAwem0wIDEyOGwwIDY0IDg4IDAgMC02NC04OCAwek01MjggMjQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDh6XCJdXG59O1xuY29uc3QgZmFDaHVyY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2h1cmNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTk2Ml0sIFwiZjUxZFwiLCBcIk0zNDQgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCA0Ni40TDE4My4zIDIxMGMtMTQuNSA4LjctMjMuMyAyNC4zLTIzLjMgNDEuMkwxNjAgNTEybDk2IDAgMC05NmMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0bDAgOTYgOTYgMCAwLTI2MC44YzAtMTYuOS04LjgtMzIuNS0yMy4zLTQxLjJMMzQ0IDE0Mi40IDM0NCA5NmwzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMjR6TTI0LjkgMzMwLjNDOS41IDMzOC44IDAgMzU0LjkgMCAzNzIuNEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw4MCAwIDAtMjM4LjRMMjQuOSAzMzAuM3pNNTkyIDUxMmMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTkxLjZjMC0xNy41LTkuNS0zMy42LTI0LjktNDIuMUw1MTIgMjczLjYgNTEyIDUxMmw4MCAwelwiXVxufTtcbmNvbnN0IGZhQ29tbWVudHNEb2xsYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudHMtZG9sbGFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNjUzXCIsIFwiTTQxNiAxNzZjMCA5Ny4yLTkzLjEgMTc2LTIwOCAxNzZjLTM4LjIgMC03My45LTguNy0xMDQuNy0yMy45Yy03LjUgNC0xNiA3LjktMjUuMiAxMS40QzU5LjggMzQ2LjQgMzcuOCAzNTIgMTYgMzUyYy02LjkgMC0xMy4xLTQuNS0xNS4yLTExLjFzLjItMTMuOCA1LjgtMTcuOWMwIDAgMCAwIDAgMHMwIDAgMCAwbC4yLS4yYy4yLS4yIC42LS40IDEuMS0uOGMxLS44IDIuNS0yIDQuMy0zLjdjMy42LTMuMyA4LjUtOC4xIDEzLjMtMTQuM2M1LjUtNyAxMC43LTE1LjQgMTQuMi0yNC43QzE0LjcgMjUwLjMgMCAyMTQuNiAwIDE3NkMwIDc4LjggOTMuMSAwIDIwOCAwUzQxNiA3OC44IDQxNiAxNzZ6TTIzMS41IDM4M0MzNDguOSAzNzIuOSA0NDggMjg4LjMgNDQ4IDE3NmMwLTUuMi0uMi0xMC40LS42LTE1LjVDNTU1LjEgMTY3LjEgNjQwIDI0My4yIDY0MCAzMzZjMCAzOC42LTE0LjcgNzQuMy0zOS42IDEwMy40YzMuNSA5LjQgOC43IDE3LjcgMTQuMiAyNC43YzQuOCA2LjIgOS43IDExIDEzLjMgMTQuM2MxLjggMS42IDMuMyAyLjkgNC4zIDMuN2MuNSAuNCAuOSAuNyAxLjEgLjhsLjIgLjJzMCAwIDAgMHMwIDAgMCAwYzUuNiA0LjEgNy45IDExLjMgNS44IDE3LjljLTIuMSA2LjYtOC4zIDExLjEtMTUuMiAxMS4xYy0yMS44IDAtNDMuOC01LjYtNjIuMS0xMi41Yy05LjItMy41LTE3LjgtNy40LTI1LjItMTEuNEM1MDUuOSA1MDMuMyA0NzAuMiA1MTIgNDMyIDUxMmMtOTUuNiAwLTE3Ni4yLTU0LjYtMjAwLjUtMTI5ek0yMjggNzJjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMTRjLTcuNiAxLjctMTUuMiA0LjQtMjIuMiA4LjVjLTEzLjkgOC4zLTI1LjkgMjIuOC0yNS44IDQzLjljLjEgMjAuMyAxMiAzMy4xIDI0LjcgNDAuN2MxMSA2LjYgMjQuNyAxMC44IDM1LjYgMTRsMS43IC41YzEyLjYgMy44IDIxLjggNi44IDI4IDEwLjdjNS4xIDMuMiA1LjggNS40IDUuOSA4LjJjLjEgNS0xLjggOC01LjkgMTAuNWMtNSAzLjEtMTIuOSA1LTIxLjQgNC43Yy0xMS4xLS40LTIxLjUtMy45LTM1LjEtOC41Yy0yLjMtLjgtNC43LTEuNi03LjItMi40Yy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zYzEuOSAuNiA0IDEuMyA2LjEgMi4xYzAgMCAwIDAgMCAwczAgMCAwIDBjOC4zIDIuOSAxNy45IDYuMiAyOC4yIDguNGwwIDE0LjZjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMy44YzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdMMjI4IDcyelwiXVxufTtcbmNvbnN0IGZhRGVtb2NyYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGVtb2NyYXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3NDdcIiwgXCJNNjQgMzJjMC04LjkgMy44LTIwLjkgNi4yLTI3LjNDNzEuMiAxLjggNzQgMCA3NyAwYzEuOSAwIDMuOCAuNyA1LjIgMi4xTDEyOCA0NS43IDE3My44IDIuMUMxNzUuMiAuNyAxNzcuMSAwIDE3OSAwYzMgMCA1LjggMS44IDYuOCA0LjdjMi40IDYuNSA2LjIgMTguNCA2LjIgMjcuM2MwIDI2LjUtMjEuOSA0Mi0yOS41IDQ2LjZsNzYuMiA3Mi42YzYgNS43IDEzLjkgOC44IDIyLjEgOC44TDQ4MCAxNjBsMzIgMGM0MC4zIDAgNzguMiAxOSAxMDIuNCA1MS4ybDE5LjIgMjUuNmMxMC42IDE0LjEgNy43IDM0LjItNi40IDQ0LjhzLTM0LjIgNy43LTQ0LjgtNi40bC0xOS4yLTI1LjZjLTUuMy03LTExLjgtMTIuOC0xOS4yLTE3bDAgODcuNC0zNTIgMC00MC40LTk0LjNjLTMuOS05LjItMTUuMy0xMi42LTIzLjYtN2wtNDIuMSAyOGMtOS4xIDYuMS0xOS43IDkuMy0zMC43IDkuM2wtMiAwQzIzLjkgMjU2IDAgMjMyLjEgMCAyMDIuN2MwLTEyLjEgNC4xLTIzLjggMTEuNy0zMy4zTDg3LjYgNzQuNkM3OC4xIDY3LjQgNjQgNTMuMiA2NCAzMnpNNDQ4IDM1Mmw5NiAwIDAgNjQgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NC0xNjAgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0IDAtNjQgOTYgMCAxNjAgMHpNMjYwLjkgMjEwLjljLS45LTEuOC0yLjgtMi45LTQuOC0yLjlzLTMuOSAxLjEtNC44IDIuOWwtMTAuNSAyMC41LTIzLjUgMy4zYy0yIC4zLTMuNyAxLjYtNC4zIDMuNXMtLjEgMy45IDEuMyA1LjNsMTcgMTYtNCAyMi42Yy0uMyAxLjkgLjUgMy45IDIuMSA1czMuOCAxLjMgNS42IC40bDIxLTEwLjcgMjEgMTAuN2MxLjggLjkgNCAuOCA1LjYtLjRzMi41LTMuMSAyLjEtNWwtNC0yMi42IDE3LTE2YzEuNS0xLjQgMi0zLjQgMS4zLTUuM3MtMi4zLTMuMi00LjMtMy41bC0yMy41LTMuMy0xMC41LTIwLjV6TTM2OC4xIDIwOGMtMiAwLTMuOSAxLjEtNC44IDIuOWwtMTAuNSAyMC41LTIzLjUgMy4zYy0yIC4zLTMuNyAxLjYtNC4zIDMuNXMtLjEgMy45IDEuMyA1LjNsMTcgMTYtNCAyMi42Yy0uMyAxLjkgLjUgMy45IDIuMSA1czMuOCAxLjMgNS42IC40bDIxLTEwLjcgMjEgMTAuN2MxLjggLjkgNCAuOCA1LjYtLjRzMi41LTMuMSAyLjEtNWwtNC0yMi42IDE3LTE2YzEuNS0xLjQgMi0zLjQgMS40LTUuM3MtMi4zLTMuMi00LjMtMy41bC0yMy41LTMuMy0xMC41LTIwLjVjLS45LTEuOC0yLjgtMi45LTQuOC0yLjl6bTExNi44IDIuOWMtLjktMS44LTIuOC0yLjktNC44LTIuOXMtMy45IDEuMS00LjggMi45bC0xMC41IDIwLjUtMjMuNSAzLjNjLTIgLjMtMy43IDEuNi00LjMgMy41cy0uMSAzLjkgMS4zIDUuM2wxNyAxNi00IDIyLjZjLS4zIDEuOSAuNSAzLjkgMi4xIDVzMy44IDEuMyA1LjYgLjRsMjEtMTAuNyAyMSAxMC43YzEuOCAuOSA0IC44IDUuNi0uNHMyLjUtMy4xIDIuMS01bC00LTIyLjYgMTctMTZjMS41LTEuNCAyLTMuNCAxLjQtNS4zcy0yLjMtMy4yLTQuMy0zLjVsLTIzLjUtMy4zLTEwLjUtMjAuNXpcIl1cbn07XG5jb25zdCBmYVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneicsXG4gIGljb246IFszODQsIDUxMiwgWzEyMl0sIFwiNWFcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwzMjAgMGMxMi40IDAgMjMuNyA3LjIgMjkgMTguNHMzLjYgMjQuNS00LjQgMzQuMUwxMDAuMyA0MTYgMzUyIDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTEyLjQgMC0yMy43LTcuMi0yOS0xOC40cy0zLjYtMjQuNSA0LjQtMzQuMUwyODMuNyA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbmNvbnN0IGZhUGVyc29uU2tpaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1za2lpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTc1LCBcInNraWluZ1wiXSwgXCJmN2M5XCIsIFwiTTM4MC43IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTIuNyAyNjguOWM2LjEtMTEuOCAyMC42LTE2LjMgMzIuNC0xMC4yTDIzMi43IDM2MS4zbDQ2LjItNjkuMi03NS4xLTc1LjFjLTE0LjYtMTQuNi0yMC40LTMzLjktMTguNC01Mi4xbDEwOC44IDUyIDM5LjMgMzkuM2MxNi4yIDE2LjIgMTguNyA0MS41IDYgNjAuNkwyODkuOCAzOTFsMTI4LjcgNjYuOGMxMy42IDcuMSAyOS44IDcuMiA0My42IC4zbDE1LjItNy42YzExLjktNS45IDI2LjMtMS4xIDMyLjIgMTAuN3MxLjEgMjYuMy0xMC43IDMyLjJsLTE1LjIgNy42Yy0yNy41IDEzLjctNTkuOSAxMy41LTg3LjItLjdMMTIuOSAzMDEuM0MxLjIgMjk1LjItMy40IDI4MC43IDIuNyAyNjguOXpNMTE4LjkgNjUuNkwxMzcgNzQuMmw4LjctMTcuNGM0LTcuOSAxMy42LTExLjEgMjEuNS03LjJzMTEuMSAxMy42IDcuMiAyMS41bC04LjUgMTYuOSA1NC43IDI2LjJjMS41LS43IDMuMS0xLjQgNC43LTIuMWw4My40LTMzLjRjMzQuMi0xMy43IDcyLjggNC4yIDg0LjUgMzkuMmwxNy4xIDUxLjIgNTIuMSAyNi4xYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNsLTU4LjEtMjljLTExLjQtNS43LTIwLTE1LjctMjQuMS0yNy44bC01LjgtMTcuMy0yNy4zIDEyLjEtNi44IDMtNi43LTMuMkwxNTEuNSAxMTYuN2wtOS4yIDE4LjRjLTQgNy45LTEzLjYgMTEuMS0yMS41IDcuMnMtMTEuMS0xMy42LTcuMi0yMS41bDktMTgtMTcuNi04LjRjLTgtMy44LTExLjMtMTMuNC03LjUtMjEuM3MxMy40LTExLjMgMjEuMy03LjV6XCJdXG59O1xuY29uc3QgZmFTa2lpbmcgPSBmYVBlcnNvblNraWluZztcbmNvbnN0IGZhUm9hZExvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY3XCIsIFwiTTI4OCAzMmwtNzQuOCAwYy0yNy4xIDAtNTEuMyAxNy4xLTYwLjMgNDIuNkwzNS4xIDQwNy4yYy0yLjEgNS45LTMuMSAxMi0zLjEgMTguMkMzMiA0NTUuNSA1Ni41IDQ4MCA4Ni42IDQ4MEwyODggNDgwbDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0IDMyIDAgMC0xMjhjMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMjQuNmMwLTU4LjMgNDQuNi0xMDYuMiAxMDEuNS0xMTEuNUw0ODcuMSA3NC42QzQ3OCA0OS4xIDQ1My45IDMyIDQyNi44IDMyTDM1MiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bTY0IDE5MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTc2IDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJsMCA0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG5jb25zdCBmYUEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYScsXG4gIGljb246IFszODQsIDUxMiwgWzk3XSwgXCI0MVwiLCBcIk0yMjEuNSA1MS43QzIxNi42IDM5LjggMjA0LjkgMzIgMTkyIDMycy0yNC42IDcuOC0yOS41IDE5LjdsLTEyMCAyODgtNDAgOTZjLTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJMOTMuMyAzODRsMTk3LjMgMCAzMS44IDc2LjNjNi44IDE2LjMgMjUuNSAyNCA0MS44IDE3LjJzMjQtMjUuNSAxNy4yLTQxLjhsLTQwLTk2LTEyMC0yODh6TTI2NCAzMjBsLTE0NCAwIDcyLTE3Mi44TDI2NCAzMjB6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZUFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS1kb3duXCJdLCBcImUwM2ZcIiwgXCJNMTI4IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTY0LjVjMCAxNy4zIDcuMSAzMS45IDE1LjMgNDIuNUMyNDkuOCAzMzIuNiAyNTYgMzQ5LjUgMjU2IDM2OGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTE4LjUgNi4yLTM1LjQgMTYuNy00OC45YzguMi0xMC42IDE1LjMtMjUuMiAxNS4zLTQyLjVMMTI4IDExMnpNMTc2IDBDMTE0LjEgMCA2NCA1MC4xIDY0IDExMmwwIDE2NC40YzAgLjEtLjEgLjMtLjIgLjZjLS4yIC42LS44IDEuNi0xLjcgMi44QzQzLjIgMzA0LjIgMzIgMzM0LjggMzIgMzY4YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0czE0NC02NC41IDE0NC0xNDRjMC0zMy4yLTExLjItNjMuOC0zMC4xLTg4LjFjLS45LTEuMi0xLjUtMi4yLTEuNy0yLjhjLS4xLS4zLS4yLS41LS4yLS42TDI4OCAxMTJDMjg4IDUwLjEgMjM3LjkgMCAxNzYgMHptMCA0MTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC0yMC45LTEzLjQtMzguNy0zMi00NS4zbDAtNTAuN2MwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDUwLjdjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OHptMzM2LTY0bC0zMiAwIDAtMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjg4LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzYgNiAxNC4xIDkuNCAyMi42IDkuNHMxNi42LTMuNCAyMi42LTkuNGw2NC02NGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOHpcIl1cbn07XG5jb25zdCBmYVRlbXBlcmF0dXJlRG93biA9IGZhVGVtcGVyYXR1cmVBcnJvd0Rvd247XG5jb25zdCBmYUZlYXRoZXJQb2ludGVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZlYXRoZXItcG9pbnRlZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZmVhdGhlci1hbHRcIl0sIFwiZjU2YlwiLCBcIk0yNzguNSAyMTUuNkwyMyA0NzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3NC44LTc0LjhjNy40IDQuNiAxNS4zIDguMiAyMy44IDEwLjVDMjAwLjMgNDUyLjggMjcwIDQ1NC41IDMzOCA0MDkuNGMxMi4yLTguMSA1LjgtMjUuNC04LjgtMjUuNGwtMTYuMSAwYy01LjEgMC05LjItNC4xLTkuMi05LjJjMC00LjEgMi43LTcuNiA2LjUtOC44bDk3LjctMjkuM2MzLjQtMSA2LjQtMy4xIDguNC02LjFjNC40LTYuNCA4LjYtMTIuOSAxMi42LTE5LjZjNi4yLTEwLjMtMS41LTIzLTEzLjUtMjNsLTM4LjYgMGMtNS4xIDAtOS4yLTQuMS05LjItOS4yYzAtNC4xIDIuNy03LjYgNi41LTguOGw4MC45LTI0LjNjNC42LTEuNCA4LjQtNC44IDEwLjItOS4zQzQ5NC41IDE2MyA1MDcuOCA4Ni4xIDUxMS45IDM2LjhjLjgtOS45LTMtMTkuNi0xMC0yNi42cy0xNi43LTEwLjgtMjYuNi0xMEMzOTEuNSA3IDIyOC41IDQwLjUgMTM3LjQgMTMxLjZDNTcuMyAyMTEuNyA1Ni43IDMwMi4zIDcxLjMgMzU2LjRjMi4xIDcuOSAxMiA5LjYgMTcuOCAzLjhMMjUzLjYgMTk1LjhjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBjNS40IDUuNCA2LjEgMTMuNiAyLjIgMTkuOHpcIl1cbn07XG5jb25zdCBmYUZlYXRoZXJBbHQgPSBmYUZlYXRoZXJQb2ludGVkO1xuY29uc3QgZmFQID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3AnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMTJdLCBcIjUwXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOTYgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MHMtNzEuNiAxNjAtMTYwIDE2MGwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDAgMzIwIDAgOTZ6TTY0IDI4OGw5NiAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2TDY0IDk2bDAgMTkyelwiXVxufTtcbmNvbnN0IGZhU25vd2ZsYWtlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nub3dmbGFrZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwMDUyLCAxMDA1NF0sIFwiZjJkY1wiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMwLjEgMTUtMTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00OSA0OSAwIDcwLjMgNjEuNC0zNS44IDE3LjctNjYuMWMzLjQtMTIuOCAxNi42LTIwLjQgMjkuNC0xN3MyMC40IDE2LjYgMTcgMjkuNGwtNS4yIDE5LjMgMjMuNi0xMy44YzE1LjMtOC45IDM0LjktMy43IDQzLjggMTEuNXMzLjggMzQuOS0xMS41IDQzLjhsLTI1LjMgMTQuOCAyMS43IDUuOGMxMi44IDMuNCAyMC40IDE2LjYgMTcgMjkuNHMtMTYuNiAyMC40LTI5LjQgMTdsLTY3LjctMTguMUwyODcuNSAyNTZsNjAuOSAzNS41IDY3LjctMTguMWMxMi44LTMuNCAyNiA0LjIgMjkuNCAxN3MtNC4yIDI2LTE3IDI5LjRsLTIxLjcgNS44IDI1LjMgMTQuOGMxNS4zIDguOSAyMC40IDI4LjUgMTEuNSA0My44cy0yOC41IDIwLjQtNDMuOCAxMS41bC0yMy42LTEzLjggNS4yIDE5LjNjMy40IDEyLjgtNC4yIDI2LTE3IDI5LjRzLTI2LTQuMi0yOS40LTE3bC0xNy43LTY2LjFMMjU2IDMxMS43bDAgNzAuMyA0OSA0OWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xNS0xNSAwIDMwLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMC4xLTE1IDE1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ5LTQ5IDAtNzAuMy02MS40IDM1LjgtMTcuNyA2Ni4xYy0zLjQgMTIuOC0xNi42IDIwLjQtMjkuNCAxN3MtMjAuNC0xNi42LTE3LTI5LjRsNS4yLTE5LjNMNDguMSAzOTUuNmMtMTUuMyA4LjktMzQuOSAzLjctNDMuOC0xMS41cy0zLjctMzQuOSAxMS41LTQzLjhsMjUuMy0xNC44LTIxLjctNS44Yy0xMi44LTMuNC0yMC40LTE2LjYtMTctMjkuNHMxNi42LTIwLjQgMjkuNC0xN2w2Ny43IDE4LjFMMTYwLjUgMjU2IDk5LjYgMjIwLjUgMzEuOSAyMzguNmMtMTIuOCAzLjQtMjYtNC4yLTI5LjQtMTdzNC4yLTI2IDE3LTI5LjRsMjEuNy01LjhMMTUuOSAxNzEuNkMuNiAxNjIuNy00LjUgMTQzLjEgNC40IDEyNy45czI4LjUtMjAuNCA0My44LTExLjVsMjMuNiAxMy44LTUuMi0xOS4zYy0zLjQtMTIuOCA0LjItMjYgMTctMjkuNHMyNiA0LjIgMjkuNCAxN2wxNy43IDY2LjFMMTkyIDIwMC4zbDAtNzAuM0wxNDMgODFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxNSAxNUwxOTIgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFOZXdzcGFwZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmV3c3BhcGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MjQwXSwgXCJmMWVhXCIsIFwiTTk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDI3MmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2TDk2IDk2em02NCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjRMMTg0IDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjA4LThjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNDggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNjAgMzA0YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMjU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsMjU2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTI1NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFSZWN0YW5nbGVBZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWN0YW5nbGUtYWQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImFkXCJdLCBcImY2NDFcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjI5LjUgMTczLjNsNzIgMTQ0YzUuOSAxMS45IDEuMSAyNi4zLTEwLjcgMzIuMnMtMjYuMyAxLjEtMzIuMi0xMC43TDI1My4yIDMyOGwtOTAuMyAwLTUuNCAxMC43Yy01LjkgMTEuOS0yMC4zIDE2LjctMzIuMiAxMC43cy0xNi43LTIwLjMtMTAuNy0zMi4ybDcyLTE0NGM0LjEtOC4xIDEyLjQtMTMuMyAyMS41LTEzLjNzMTcuNCA1LjEgMjEuNSAxMy4zek0yMDggMjM3LjdMMTg2LjggMjgwbDQyLjMgMEwyMDggMjM3Ljd6TTM5MiAyNTZhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4em0yNC00My45bDAtMjguMWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOTYgMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGMtNi42IDAtMTIuNi0yLjctMTctN2MtOS40IDQuNS0xOS45IDctMzEgN2MtMzkuOCAwLTcyLTMyLjItNzItNzJzMzIuMi03MiA3Mi03MmM4LjQgMCAxNi41IDEuNCAyNCA0LjF6XCJdXG59O1xuY29uc3QgZmFBZCA9IGZhUmVjdGFuZ2xlQWQ7XG5jb25zdCBmYUNpcmNsZUFycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWFycm93LXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvdy1jaXJjbGUtcmlnaHRcIl0sIFwiZjBhOVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwQTI1NiAyNTYgMCAxIDAgMCAyNTZ6TTI5NyAzODVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNzEtNzFMMTIwIDI4MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyMTQuMSAwLTcxLTcxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBMNDA5IDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyOTcgMzg1elwiXVxufTtcbmNvbnN0IGZhQXJyb3dDaXJjbGVSaWdodCA9IGZhQ2lyY2xlQXJyb3dSaWdodDtcbmNvbnN0IGZhRmlsdGVyQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsdGVyLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTE3YlwiLCBcIk0zLjkgMjIuOUMxMC41IDguOSAyNC41IDAgNDAgMEw0NzIgMGMxNS41IDAgMjkuNSA4LjkgMzYuMSAyMi45czQuNiAzMC41LTUuMiA0Mi41TDM5Ni40IDE5NS42QzMxNi4yIDIxMi4xIDI1NiAyODMgMjU2IDM2OGMwIDI3LjQgNi4zIDUzLjQgMTcuNSA3Ni41Yy0xLjYtLjgtMy4yLTEuOC00LjctMi45bC02NC00OGMtOC4xLTYtMTIuOC0xNS41LTEyLjgtMjUuNmwwLTc5LjFMOSA2NS4zQy0uNyA1My40LTIuOCAzNi44IDMuOSAyMi45ek00MzIgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptNTkuMyAxMDcuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwTDQzMiAzNDUuNGwtMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDQwOS40IDM2OGwtMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBMNDMyIDM5MC42bDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZMNDU0LjYgMzY4bDM2LjctMzYuN3pcIl1cbn07XG5jb25zdCBmYUxvY3VzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2N1c3QnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MjBcIiwgXCJNMzEyIDMyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDBjOTguNyAwIDE4MC42IDcxLjQgMTk3IDE2NS40Yy05LTMuNS0xOC44LTUuNC0yOS01LjRsLTY0LjIgMC00MS44LTk3LjVjLTMuNC03LjktMTAuOC0xMy40LTE5LjMtMTQuNHMtMTcgMi43LTIyLjEgOS42bC00MC45IDU1LjUtMjEuNy01MC43Yy0zLjMtNy44LTEwLjUtMTMuMi0xOC45LTE0LjNzLTE2LjcgMi4zLTIyIDguOWwtMjQwIDMwNGMtOC4yIDEwLjQtNi40IDI1LjUgNCAzMy43czI1LjUgNi40IDMzLjctNGw3OS40LTEwMC41IDQzIDE2LjQtNDAuNSA1NWMtNy45IDEwLjctNS42IDI1LjcgNS4xIDMzLjZzMjUuNyA1LjYgMzMuNi01LjFMMjE1LjEgNDAwbDc0LjUgMC0yOS4zIDQyLjNjLTcuNSAxMC45LTQuOCAyNS44IDYuMSAzMy40czI1LjggNC44IDMzLjQtNi4xTDM0OCA0MDBsODAuNCAwIDM4LjggNjcuOWM2LjYgMTEuNSAyMS4yIDE1LjUgMzIuNyA4LjlzMTUuNS0yMS4yIDguOS0zMi43TDQ4My42IDQwMGwxMi40IDBjNDQuMSAwIDc5LjgtMzUuNyA4MC03OS43YzAtLjEgMC0uMiAwLS4zbDAtNDBDNTc2IDE0MyA0NjUgMzIgMzI4IDMybC0xNiAwem01MC41IDE2OGwxNy4xIDQwTDMzMyAyNDBsMjkuNS00MHptLTg3LjcgMzguMWwtMS40IDEuOS00OC4yIDAgMzIuNy00MS41IDE2LjkgMzkuNXpNODguOCAyNDBDNTcuNCAyNDAgMzIgMjY1LjQgMzIgMjk2LjhjMCAxNS41IDYuMyAzMCAxNi45IDQwLjRMMTI2LjcgMjQwbC0zNy45IDB6TTQ5NiAyODhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbmNvbnN0IGZhU29ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzb3J0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ1bnNvcnRlZFwiXSwgXCJmMGRjXCIsIFwiTTEzNy40IDQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTI4IDEyOGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOXMtMTYuNiAxOS44LTI5LjYgMTkuOEwzMiAyMjRjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45bDEyOC0xMjh6bTAgNDI5LjNsLTEyOC0xMjhjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45czE2LjYtMTkuOCAyOS42LTE5LjhsMjU2IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOWwtMTI4IDEyOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDB6XCJdXG59O1xuY29uc3QgZmFVbnNvcnRlZCA9IGZhU29ydDtcbmNvbnN0IGZhTGlzdE9sID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpc3Qtb2wnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxpc3QtMS0yXCIsIFwibGlzdC1udW1lcmljXCJdLCBcImYwY2JcIiwgXCJNMjQgNTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDEyMCAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDAgMC05Ni04IDBDMzQuNyA4MCAyNCA2OS4zIDI0IDU2ek04Ni43IDM0MS4yYy02LjUtNy40LTE4LjMtNi45LTI0IDEuMkw1MS41IDM1Ny45Yy03LjcgMTAuOC0yMi43IDEzLjMtMzMuNSA1LjZzLTEzLjMtMjIuNy01LjYtMzMuNWwxMS4xLTE1LjZjMjMuNy0zMy4yIDcyLjMtMzUuNiA5OS4yLTQuOWMyMS4zIDI0LjQgMjAuOCA2MC45LTEuMSA4NC43TDg2LjggNDMybDMzLjIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODggMGMtOS41IDAtMTguMi01LjYtMjItMTQuNHMtMi4xLTE4LjkgNC4zLTI1LjlsNzItNzhjNS4zLTUuOCA1LjQtMTQuNiAuMy0yMC41ek0yMjQgNjRsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDE2MGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTYwbDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUxpc3QxMiA9IGZhTGlzdE9sO1xuY29uc3QgZmFMaXN0TnVtZXJpYyA9IGZhTGlzdE9sO1xuY29uc3QgZmFQZXJzb25EcmVzc0J1cnN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1kcmVzcy1idXJzdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU0NFwiLCBcIk01MjggNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMzkwLjIgMzg0bDE3LjggMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAxNiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDE3LjggMGMxMC45IDAgMTguNi0xMC43IDE1LjItMjEuMUw1NDYuNyAyNDguMWwzMy45IDU2LjNjOS4xIDE1LjEgMjguOCAyMCA0My45IDEwLjlzMjAtMjguOCAxMC45LTQzLjlsLTUzLjYtODkuMmMtMjAuMi0zMy43LTU2LjctNTQuMy05Ni01NC4zbC0xMS42IDBjLTM5LjMgMC03NS43IDIwLjYtOTYgNTQuM2wtNTMuNiA4OS4yYy05LjEgMTUuMS00LjIgMzQuOCAxMC45IDQzLjlzMzQuOCA0LjIgNDMuOS0xMC45bDMzLjktNTYuM0wzNzUgMzYyLjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMXpNMTkwLjkgMTguMUMxODguNCAxMiAxODIuNiA4IDE3NiA4cy0xMi40IDQtMTQuOSAxMC4xbC0yOS40IDc0TDU1LjYgNjguOWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zcy00LjYgMTIuMi0xLjQgMTcuOWwzOS41IDY5LjFMMTAuOSAyMDYuNGMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdzNi43IDExLjIgMTMuMSAxMi4ybDc4LjcgMTIuMkw5MC42IDMyN2MtLjUgNi41IDMuMSAxMi43IDkgMTUuNXMxMi45IDEuOCAxNy44LTIuNkwxNzYgMjg2LjFsNTguNiA1My45YzQuOCA0LjQgMTEuOSA1LjUgMTcuOCAyLjZzOS41LTkgOS0xNS41bC01LjYtNzkuNCA1MC41LTcuOCAyNC40LTQwLjUtNTUuMi0zOEwzMTUgOTIuMmMzLjMtNS43IDIuNy0xMi44LTEuNC0xNy45cy0xMC45LTcuMi0xNy4yLTUuM0wyMjAuMyA5Mi4xbC0yOS40LTc0elwiXVxufTtcbmNvbnN0IGZhTW9uZXlDaGVja0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1jaGVjay1kb2xsYXInLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1vbmV5LWNoZWNrLWFsdFwiXSwgXCJmNTNkXCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek0yNzIgMTkybDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0yMjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNMjU2IDMwNGMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZ6TTE2NCAxNTJsMCAxMy45YzcuNSAxLjIgMTQuNiAyLjkgMjEuMSA0LjdjMTAuNyAyLjggMTcgMTMuOCAxNC4yIDI0LjVzLTEzLjggMTctMjQuNSAxNC4yYy0xMS0yLjktMjEuNi01LTMxLjItNS4yYy03LjktLjEtMTYgMS44LTIxLjUgNWMtNC44IDIuOC02LjIgNS42LTYuMiA5LjNjMCAxLjggLjEgMy41IDUuMyA2LjdjNi4zIDMuOCAxNS41IDYuNyAyOC4zIDEwLjVsLjcgLjJjMTEuMiAzLjQgMjUuNiA3LjcgMzcuMSAxNWMxMi45IDguMSAyNC4zIDIxLjMgMjQuNiA0MS42Yy4zIDIwLjktMTAuNSAzNi4xLTI0LjggNDVjLTcuMiA0LjUtMTUuMiA3LjMtMjMuMiA5bDAgMTMuOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0xNC42Yy0xMC4zLTIuMi0yMC01LjUtMjguMi04LjRjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMi4xLS43LTQuMS0xLjQtNi4xLTIuMWMtMTAuNS0zLjUtMTYuMS0xNC44LTEyLjYtMjUuM3MxNC44LTE2LjEgMjUuMy0xMi42YzIuNSAuOCA0LjkgMS43IDcuMiAyLjRjMTMuNiA0LjYgMjQgOC4xIDM1LjEgOC41YzguNiAuMyAxNi41LTEuNiAyMS40LTQuN2M0LjEtMi41IDYtNS41IDUuOS0xMC41YzAtMi45LS44LTUtNS45LTguMmMtNi4zLTQtMTUuNC02LjktMjgtMTAuN2wtMS43LS41Yy0xMC45LTMuMy0yNC42LTcuNC0zNS42LTE0Yy0xMi43LTcuNy0yNC42LTIwLjUtMjQuNy00MC43Yy0uMS0yMS4xIDExLjgtMzUuNyAyNS44LTQzLjljNi45LTQuMSAxNC41LTYuOCAyMi4yLTguNWwwLTE0YzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIwelwiXVxufTtcbmNvbnN0IGZhTW9uZXlDaGVja0FsdCA9IGZhTW9uZXlDaGVja0RvbGxhcjtcbmNvbnN0IGZhVmVjdG9yU3F1YXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZlY3Rvci1zcXVhcmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImY1Y2JcIiwgXCJNMzY4IDgwbDMyIDAgMCAzMi0zMiAwIDAtMzJ6TTM1MiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJMMTI4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwwIDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDE5MiAwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTE5MmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwek05NiAxNjBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMTkyIDBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMCAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybC0xOTIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTE5MnpNNDggNDAwbDMyIDAgMCAzMi0zMiAwIDAtMzJ6bTMyMCAzMmwwLTMyIDMyIDAgMCAzMi0zMiAwek00OCAxMTJsMC0zMiAzMiAwIDAgMzItMzIgMHpcIl1cbn07XG5jb25zdCBmYUJyZWFkU2xpY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJlYWQtc2xpY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZWNcIiwgXCJNMjU2IDMyQzE5MiAzMiAwIDY0IDAgMTkyYzAgMzUuMyAyOC43IDY0IDY0IDY0VjQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OEg0MDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjU2YzM1LjMgMCA2NC0yOC43IDY0LTY0QzUxMiA2NCAzMjAgMzIgMjU2IDMyelwiXVxufTtcbmNvbnN0IGZhTGFuZ3VhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFuZ3VhZ2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYxYWJcIiwgXCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTkyIDAgNDggMCAxNiAwIDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yNTYgMC0xNiAwLTQ4IDBMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMzIwIDBsMCAyNTYgMjU2IDAgMC0yNTYtMjU2IDB6TTE3OC4zIDE3NS45Yy0zLjItNy4yLTEwLjQtMTEuOS0xOC4zLTExLjlzLTE1LjEgNC43LTE4LjMgMTEuOWwtNjQgMTQ0Yy00LjUgMTAuMSAuMSAyMS45IDEwLjIgMjYuNHMyMS45LS4xIDI2LjQtMTAuMmw4LjktMjAuMSA3My42IDAgOC45IDIwLjFjNC41IDEwLjEgMTYuMyAxNC42IDI2LjQgMTAuMnMxNC42LTE2LjMgMTAuMi0yNi40bC02NC0xNDR6TTE2MCAyMzMuMkwxNzkgMjc2bC0zOCAwIDE5LTQyLjh6TTQ0OCAxNjRjMTEgMCAyMCA5IDIwIDIwbDAgNCA0NCAwIDE2IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC0yIDAtMS42IDQuNWMtOC45IDI0LjQtMjIuNCA0Ni42LTM5LjYgNjUuNGMuOSAuNiAxLjggMS4xIDIuNyAxLjZsMTguOSAxMS4zYzkuNSA1LjcgMTIuNSAxOCA2LjkgMjcuNHMtMTggMTIuNS0yNy40IDYuOWwtMTguOS0xMS4zYy00LjUtMi43LTguOC01LjUtMTMuMS04LjVjLTEwLjYgNy41LTIxLjkgMTQtMzQgMTkuNGwtMy42IDEuNmMtMTAuMSA0LjUtMjEuOS0uMS0yNi40LTEwLjJzLjEtMjEuOSAxMC4yLTI2LjRsMy42LTEuNmM2LjQtMi45IDEyLjYtNi4xIDE4LjUtOS44bC0xMi4yLTEyLjJjLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMGwxNC42IDE0LjYgLjUgLjVjMTIuNC0xMy4xIDIyLjUtMjguMyAyOS44LTQ1TDQ0OCAyMjhsLTcyIDBjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDUyIDAgMC00YzAtMTEgOS0yMCAyMC0yMHpcIl1cbn07XG5jb25zdCBmYUZhY2VLaXNzV2lua0hlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2Uta2lzcy13aW5rLWhlYXJ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTM2LCBcImtpc3Mtd2luay1oZWFydFwiXSwgXCJmNTk4XCIsIFwiTTQ5OCAzMzkuN2M5LjEtMjYuMiAxNC01NC40IDE0LTgzLjdDNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NlMxMTQuNiA1MTIgMjU2IDUxMmMzNS40IDAgNjkuMS03LjIgOTkuNy0yMC4yYy00LjgtNS41LTguNS0xMi4yLTEwLjQtMTkuN2wtMjIuOS04OS4zYy0xMC0zOSAxMS44LTgwLjkgNTEuOC05Mi4xYzM3LjItMTAuNCA3My44IDEwLjEgODcuNSA0NGMxMi43LTEuNiAyNS4xIC40IDM2LjIgNXpNMjk2IDMzMmMwIDYuOS0zLjEgMTMuMi03LjMgMTguM2MtNC4zIDUuMi0xMC4xIDkuNy0xNi43IDEzLjRjLTIuNyAxLjUtNS43IDMtOC43IDQuM2MzLjEgMS4zIDYgMi43IDguNyA0LjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3MtMy4xIDEzLjItNy4zIDE4LjNjLTQuMyA1LjItMTAuMSA5LjctMTYuNyAxMy40QzI1OC43IDQ0My4xIDI0MS40IDQ0OCAyMjQgNDQ4Yy0zLjYgMC02LjgtMi41LTcuNy02cy42LTcuMiAzLjgtOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMCAwIDAgMCAwIDBsLjItLjFjLjItLjEgLjUtLjMgLjktLjVjLjgtLjUgMi0xLjIgMy40LTIuMWMyLjgtMS45IDYuNS00LjUgMTAuMi03LjZjMy43LTMuMSA3LjItNi42IDkuNi0xMC4xYzIuNS0zLjUgMy41LTYuNCAzLjUtOC42cy0xLTUtMy41LTguNmMtMi41LTMuNS01LjktNi45LTkuNi0xMC4xYy0zLjctMy4xLTcuNC01LjctMTAuMi03LjZjLTEuNC0uOS0yLjYtMS42LTMuNC0yLjFsLS42LS40LS4zLS4yLS4yLS4xYzAgMCAwIDAgMCAwYzAgMCAwIDAgMCAwczAgMCAwIDBjLTIuNS0xLjQtNC4xLTQuMS00LjEtN3MxLjYtNS42IDQuMS03YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYzAgMCAwIDAgMCAwbC4yLS4xYy4yLS4xIC41LS4zIC45LS41Yy44LS41IDItMS4yIDMuNC0yLjFjMi44LTEuOSA2LjUtNC41IDEwLjItNy42YzMuNy0zLjEgNy4yLTYuNiA5LjYtMTAuMWMyLjUtMy41IDMuNS02LjQgMy41LTguNnMtMS01LTMuNS04LjZjLTIuNS0zLjUtNS45LTYuOS05LjYtMTAuMWMtMy43LTMuMS03LjQtNS43LTEwLjItNy42Yy0xLjQtLjktMi42LTEuNi0zLjQtMi4xYy0uNC0uMi0uNy0uNC0uOS0uNWwtLjItLjFjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMy4yLTEuOC00LjctNS41LTMuOC05czQuMS02IDcuNy02YzE3LjQgMCAzNC43IDQuOSA0Ny45IDEyLjNjNi42IDMuNyAxMi41IDguMiAxNi43IDEzLjRjNC4zIDUuMSA3LjMgMTEuNCA3LjMgMTguM3pNMTc2LjQgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTk0LjggNTcuNmMtMTcuNi0yMy41LTUyLjgtMjMuNS03MC40IDBjLTUuMyA3LjEtMTUuMyA4LjUtMjIuNCAzLjJzLTguNS0xNS4zLTMuMi0yMi40YzMwLjQtNDAuNSA5MS4yLTQwLjUgMTIxLjYgMGM1LjMgNy4xIDMuOSAxNy4xLTMuMiAyMi40cy0xNy4xIDMuOS0yMi40LTMuMnpNNDM0IDM1Mi4zYy02LTIzLjItMjguOC0zNy01MS4xLTMwLjhzLTM1LjQgMzAuMS0yOS41IDUzLjRsMjIuOSA4OS4zYzIuMiA4LjcgMTEuMiAxMy45IDE5LjggMTEuNGw4NC45LTIzLjhjMjIuMi02LjIgMzUuNC0zMC4xIDI5LjUtNTMuNHMtMjguOC0zNy01MS4xLTMwLjhsLTIwLjIgNS42LTUuNC0yMXpcIl1cbn07XG5jb25zdCBmYUtpc3NXaW5rSGVhcnQgPSBmYUZhY2VLaXNzV2lua0hlYXJ0O1xuY29uc3QgZmFGaWx0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsdGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMGIwXCIsIFwiTTMuOSA1NC45QzEwLjUgNDAuOSAyNC41IDMyIDQwIDMybDQzMiAwYzE1LjUgMCAyOS41IDguOSAzNi4xIDIyLjlzNC42IDMwLjUtNS4yIDQyLjVMMzIwIDMyMC45IDMyMCA0NDhjMCAxMi4xLTYuOCAyMy4yLTE3LjcgMjguNnMtMjMuOCA0LjMtMzMuNS0zbC02NC00OGMtOC4xLTYtMTIuOC0xNS41LTEyLjgtMjUuNmwwLTc5LjFMOSA5Ny4zQy0uNyA4NS40LTIuOCA2OC44IDMuOSA1NC45elwiXVxufTtcbmNvbnN0IGZhUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncXVlc3Rpb24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMDA2NywgMTAwNjgsIDYxNzM2XSwgXCIzZlwiLCBcIk04MCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMuNmMwIDIxLjgtMTEuMSA0Mi4xLTI5LjQgNTMuOGwtNDIuMiAyNy4xYy0yNS4yIDE2LjItNDAuNCA0NC4xLTQwLjQgNzRsMCAxLjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEuNGMwLTguMiA0LjItMTUuOCAxMS0yMC4ybDQyLjItMjcuMWMzNi42LTIzLjYgNTguOC02NC4xIDU4LjgtMTA3LjdsMC0zLjZjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhsLTMyIDBDNzMuMyAzMiAxNiA4OS4zIDE2IDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyem04MCAzMjBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbmNvbnN0IGZhRmlsZVNpZ25hdHVyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXNpZ25hdHVyZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjU3M1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5LjNjLTIuNyAxLjEtNS40IDItOC4yIDIuN2wtNjAuMSAxNWMtMyAuNy02IDEuMi05IDEuNGMtLjkgLjEtMS44IC4yLTIuNyAuMmwtNjQgMGMtNi4xIDAtMTEuNi0zLjQtMTQuMy04LjhsLTguOC0xNy43Yy0xLjctMy40LTUuMS01LjUtOC44LTUuNXMtNy4yIDIuMS04LjggNS41bC04LjggMTcuN2MtMi45IDUuOS05LjIgOS40LTE1LjcgOC44cy0xMi4xLTUuMS0xMy45LTExLjNMMTQ0IDM4MWwtOS44IDMyLjhjLTYuMSAyMC4zLTI0LjggMzQuMi00NiAzNC4yTDgwIDQ0OGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4LjIgMGM3LjEgMCAxMy4zLTQuNiAxNS4zLTExLjRsMTQuOS00OS41YzMuNC0xMS4zIDEzLjgtMTkuMSAyNS42LTE5LjFzMjIuMiA3LjggMjUuNiAxOS4xbDExLjYgMzguNmM3LjQtNi4yIDE2LjgtOS43IDI2LjgtOS43YzE1LjkgMCAzMC40IDkgMzcuNSAyMy4ybDQuNCA4LjggOC45IDBjLTMuMS04LjgtMy43LTE4LjQtMS40LTI3LjhsMTUtNjAuMWMyLjgtMTEuMyA4LjYtMjEuNSAxNi44LTI5LjdMMzg0IDIwMy42bDAtNDMuNi0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTU0OS44IDEzOS43Yy0xNS42LTE1LjYtNDAuOS0xNS42LTU2LjYgMGwtMjkuNCAyOS40IDcxIDcxIDI5LjQtMjkuNGMxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNmwtMTQuNC0xNC40ek0zMTEuOSAzMjFjLTQuMSA0LjEtNyA5LjItOC40IDE0LjlsLTE1IDYwLjFjLTEuNCA1LjUgLjIgMTEuMiA0LjIgMTUuMnM5LjcgNS42IDE1LjIgNC4ybDYwLjEtMTVjNS42LTEuNCAxMC44LTQuMyAxNC45LTguNEw1MTIuMSAyNjIuN2wtNzEtNzFMMzExLjkgMzIxelwiXVxufTtcbmNvbnN0IGZhVXBEb3duTGVmdFJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VwLWRvd24tbGVmdC1yaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYXJyb3dzLWFsdFwiXSwgXCJmMGIyXCIsIFwiTTI3OC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXMxNi42IDE5LjggMjkuNiAxOS44bDMyIDAgMCA5Ni05NiAwIDAtMzJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42bDAtMzIgOTYgMCAwIDk2LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44bC0zMiAwIDAtOTYgOTYgMCAwIDMyYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXMtMTkuOCAxNi42LTE5LjggMjkuNmwwIDMyLTk2IDAgMC05NiAzMiAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0elwiXVxufTtcbmNvbnN0IGZhQXJyb3dzQWx0ID0gZmFVcERvd25MZWZ0UmlnaHQ7XG5jb25zdCBmYUhvdXNlQ2hpbW5leVVzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2hpbW5leS11c2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDY1XCIsIFwiTTU0My44IDI4Ny42YzE3IDAgMzItMTQgMzItMzIuMWMxLTktMy0xNy0xMS0yNEw1MTIgMTg1bDAtMTIxYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM2LjdMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFsMzIgMCAwIDE2MC40YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMC40IDBjMzUuNSAwIDY0LjItMjguOCA2NC02NC4zbC0uNy0xNjAuMiAzMiAwek0yODggMTYwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0xNzYgNDAwYzAtNDQuMiAzNS44LTgwIDgwLTgwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbmNvbnN0IGZhSGFuZEhvbGRpbmdIZWFydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctaGVhcnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0YmVcIiwgXCJNMTYzLjkgMTM2LjljLTI5LjQtMjkuOC0yOS40LTc4LjIgMC0xMDhzNzctMjkuOCAxMDYuNCAwbDE3LjcgMTggMTcuNy0xOGMyOS40LTI5LjggNzctMjkuOCAxMDYuNCAwczI5LjQgNzguMiAwIDEwOEwzMTAuNSAyNDAuMWMtNi4yIDYuMy0xNC4zIDkuNC0yMi41IDkuNHMtMTYuMy0zLjEtMjIuNS05LjRMMTYzLjkgMTM2Ljl6TTU2OC4yIDMzNi4zYzEzLjEgMTcuOCA5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVMMTkyIDUxMiAzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzYuOCAwIDQ0LjktMzZjMjIuNy0xOC4yIDUwLjktMjggODAtMjhsNzguMyAwIDE2IDAgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyMC42IDAgMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjV6TTE5My42IDM4NGMwIDAgMCAwIDAgMGwtLjkgMGMuMyAwIC42IDAgLjkgMHpcIl1cbn07XG5jb25zdCBmYVB1enpsZVBpZWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3B1enpsZS1waWVjZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTUxM10sIFwiZjEyZVwiLCBcIk0xOTIgMTA0LjhjMC05LjItNS44LTE3LjMtMTMuMi0yMi44QzE2Ny4yIDczLjMgMTYwIDYxLjMgMTYwIDQ4YzAtMjYuNSAyOC43LTQ4IDY0LTQ4czY0IDIxLjUgNjQgNDhjMCAxMy4zLTcuMiAyNS4zLTE4LjggMzRjLTcuNCA1LjUtMTMuMiAxMy42LTEzLjIgMjIuOGMwIDEyLjggMTAuNCAyMy4yIDIzLjIgMjMuMmw1Ni44IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA1Ni44YzAgMTIuOCAxMC40IDIzLjIgMjMuMiAyMy4yYzkuMiAwIDE3LjMtNS44IDIyLjgtMTMuMmM4LjctMTEuNiAyMC43LTE4LjggMzQtMTguOGMyNi41IDAgNDggMjguNyA0OCA2NHMtMjEuNSA2NC00OCA2NGMtMTMuMyAwLTI1LjMtNy4yLTM0LTE4LjhjLTUuNS03LjQtMTMuNi0xMy4yLTIyLjgtMTMuMmMtMTIuOCAwLTIzLjIgMTAuNC0yMy4yIDIzLjJMMzg0IDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNTYuOCAwYy0xMi44IDAtMjMuMi0xMC40LTIzLjItMjMuMmMwLTkuMiA1LjgtMTcuMyAxMy4yLTIyLjhjMTEuNi04LjcgMTguOC0yMC43IDE4LjgtMzRjMC0yNi41LTI4LjctNDgtNjQtNDhzLTY0IDIxLjUtNjQgNDhjMCAxMy4zIDcuMiAyNS4zIDE4LjggMzRjNy40IDUuNSAxMy4yIDEzLjYgMTMuMiAyMi44YzAgMTIuOC0xMC40IDIzLjItMjMuMiAyMy4yTDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAzNDMuMkMwIDMzMC40IDEwLjQgMzIwIDIzLjIgMzIwYzkuMiAwIDE3LjMgNS44IDIyLjggMTMuMkM1NC43IDM0NC44IDY2LjcgMzUyIDgwIDM1MmMyNi41IDAgNDgtMjguNyA0OC02NHMtMjEuNS02NC00OC02NGMtMTMuMyAwLTI1LjMgNy4yLTM0IDE4LjhDNDAuNSAyNTAuMiAzMi40IDI1NiAyMy4yIDI1NkMxMC40IDI1NiAwIDI0NS42IDAgMjMyLjhMMCAxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTIwLjggMGMxMi44IDAgMjMuMi0xMC40IDIzLjItMjMuMnpcIl1cbn07XG5jb25zdCBmYU1vbmV5Q2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1M2NcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTQ4IDE2MGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTk2IDMzNmMwLTguOCA3LjItMTYgMTYtMTZsMzUyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTM1MiAwYy04LjggMC0xNi03LjItMTYtMTZ6TTM3NiAxNjBsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhU3RhckhhbGZTdHJva2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Rhci1oYWxmLXN0cm9rZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic3Rhci1oYWxmLWFsdFwiXSwgXCJmNWMwXCIsIFwiTTI4OCAzNzYuNGwuMS0uMSAyNi40IDE0LjEgODUuMiA0NS41LTE2LjUtOTcuNi00LjgtMjguNyAyMC43LTIwLjUgNzAuMS02OS4zLTk2LjEtMTQuMi0yOS4zLTQuMy0xMi45LTI2LjZMMjg4LjEgODYuOWwtLjEgLjMgMCAyODkuMnptMTc1LjEgOTguM2MyIDEyLTMgMjQuMi0xMi45IDMxLjNzLTIzIDgtMzMuOCAyLjNMMjg4LjEgNDM5LjggMTU5LjggNTA4LjNDMTQ5IDUxNCAxMzUuOSA1MTMuMSAxMjYgNTA2cy0xNC45LTE5LjMtMTIuOS0zMS4zTDEzNy44IDMyOSAzMy42IDIyNS45Yy04LjYtOC41LTExLjctMjEuMi03LjktMzIuN3MxMy43LTE5LjkgMjUuNy0yMS43TDE5NSAxNTAuMyAyNTkuNCAxOGM1LjQtMTEgMTYuNS0xOCAyOC44LTE4czIzLjQgNyAyOC44IDE4bDY0LjMgMTMyLjMgMTQzLjYgMjEuMmMxMiAxLjggMjIgMTAuMiAyNS43IDIxLjdzLjcgMjQuMi03LjkgMzIuN0w0MzguNSAzMjlsMjQuNiAxNDUuN3pcIl1cbn07XG5jb25zdCBmYVN0YXJIYWxmQWx0ID0gZmFTdGFySGFsZlN0cm9rZTtcbmNvbnN0IGZhQ29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmMTIxXCIsIFwiTTM5Mi44IDEuMmMtMTctNC45LTM0LjcgNS0zOS42IDIybC0xMjggNDQ4Yy00LjkgMTcgNSAzNC43IDIyIDM5LjZzMzQuNy01IDM5LjYtMjJsMTI4LTQ0OGM0LjktMTctNS0zNC43LTIyLTM5LjZ6bTgwLjYgMTIwLjFjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zTDU2Mi43IDI1NmwtODkuNCA4OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDExMi0xMTJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTExMi0xMTJjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwem0tMzA2LjcgMGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTExMiAxMTJjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDExMiAxMTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1Nmw4OS40LTg5LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xuY29uc3QgZmFXaGlza2V5R2xhc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2hpc2tleS1nbGFzcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM0NywgXCJnbGFzcy13aGlza2V5XCJdLCBcImY3YTBcIiwgXCJNMzIgMzJjLTkuMyAwLTE4LjEgNC0yNC4yIDExLjFTLTEgNTkuNCAuMyA2OC42bDUwIDM0Mi45YzUuNyAzOS4zIDM5LjQgNjguNSA3OS4yIDY4LjVsMjUzIDBjMzkuNyAwIDczLjQtMjkuMSA3OS4yLTY4LjVsNTAtMzQyLjljMS4zLTkuMi0xLjQtMTguNS03LjUtMjUuNVM0ODkuMyAzMiA0ODAgMzJMMzIgMzJ6TTg3LjcgMjI0TDY5IDk2bDM3NCAwTDQyNC4zIDIyNCA4Ny43IDIyNHpcIl1cbn07XG5jb25zdCBmYUdsYXNzV2hpc2tleSA9IGZhV2hpc2tleUdsYXNzO1xuY29uc3QgZmFCdWlsZGluZ0NpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkM1wiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDk2IDBjMTUuMSAwIDI4LjUtNi45IDM3LjMtMTcuOEMzNDAuNCA0NjIuMiAzMjAgNDE3LjUgMzIwIDM2OGMwLTU0LjcgMjQuOS0xMDMuNSA2NC0xMzUuOEwzODQgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek04MCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wLTE0NGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYU1hZ25pZnlpbmdHbGFzc0NoYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtY2hhcnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1MjJcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHptLTMxMiA4bDAgNjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MC05NmwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MCA2NGwwIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC05NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHpcIl1cbn07XG5jb25zdCBmYUFycm93VXBSaWdodEZyb21TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImV4dGVybmFsLWxpbmtcIl0sIFwiZjA4ZVwiLCBcIk0zMjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4Mi43IDBMMjAxLjQgMjY1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMNDQ4IDEwOS4zbDAgODIuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyMCAwek04MCAzMkMzNS44IDMyIDAgNjcuOCAwIDExMkwwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMjAgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTExMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZMODAgNDQ4Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMjBjMC04LjggNy4yLTE2IDE2LTE2bDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDMyelwiXVxufTtcbmNvbnN0IGZhRXh0ZXJuYWxMaW5rID0gZmFBcnJvd1VwUmlnaHRGcm9tU3F1YXJlO1xuY29uc3QgZmFDdWJlc1N0YWNrZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3ViZXMtc3RhY2tlZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTRlNlwiLCBcIk0xOTIgNjRsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04Mi43IDIwN2MtMTUuMyA4LjgtMjAuNSAyOC40LTExLjcgNDMuN2wzMiA1NS40YzguOCAxNS4zIDI4LjQgMjAuNSA0My43IDExLjdsNTUuNC0zMmMxNS4zLTguOCAyMC41LTI4LjQgMTEuNy00My43bC0zMi01NS40Yy04LjgtMTUuMy0yOC40LTIwLjUtNDMuNy0xMS43TDgyLjcgMjA3ek0yODggMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMHptNjQgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMHpNMTYwIDM4NGwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTMyIDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDB6XCJdXG59O1xuY29uc3QgZmFXb25TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dvbi1zaWduJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbODM2MSwgXCJrcndcIiwgXCJ3b25cIl0sIFwiZjE1OVwiLCBcIk02Mi40IDUzLjlDNTYuOCAzNy4xIDM4LjYgMjguMSAyMS45IDMzLjZTLTMuOSA1Ny40IDEuNiA3NC4xTDUxLjYgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0MC45IDAgNTYuNyAxNzAuMWM0LjUgMTMuNSAxNy40IDIyLjQgMzEuNiAyMS45czI2LjQtMTAuNCAyOS44LTI0LjJMMjMzIDI4OGw0NiAwTDMyMSA0NTUuOGMzLjQgMTMuOCAxNS42IDIzLjcgMjkuOCAyNC4yczI3LjEtOC40IDMxLjYtMjEuOUw0MzkuMSAyODhsNDAuOSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOS42IDAgNTAtMTQ5LjljNS42LTE2LjgtMy41LTM0LjktMjAuMi00MC41cy0zNC45IDMuNS00MC41IDIwLjJMMzkyLjkgMjI0bC02NCAwTDI4NyA1Ni4yQzI4My41IDQyIDI3MC43IDMyIDI1NiAzMnMtMjcuNSAxMC0zMSAyNC4yTDE4MyAyMjRsLTY0IDBMNjIuNCA1My45em03OCAyMzQuMWwyNi42IDAtMTEuNCA0NS42TDE0MC40IDI4OHpNMjQ5IDIyNGw3LTI4LjEgNyAyOC4xLTE0IDB6bTk2IDY0bDI2LjYgMC0xNS4yIDQ1LjZMMzQ1IDI4OHpcIl1cbn07XG5jb25zdCBmYUtydyA9IGZhV29uU2lnbjtcbmNvbnN0IGZhV29uID0gZmFXb25TaWduO1xuY29uc3QgZmFWaXJ1c0NvdmlkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpcnVzLWNvdmlkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGE4XCIsIFwiTTE5MiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgMzMuNmMzMC43IDQuMiA1OC44IDE2LjMgODIuMyAzNC4xTDM4Ni4xIDkyIDM3NC44IDgwLjZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1Ni42IDU2LjZjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw0MjAgMTI1LjlsLTIzLjggMjMuOGMxNy45IDIzLjUgMjkuOSA1MS43IDM0LjEgODIuM2wzMy42IDAgMC0xNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNi0zMy42IDBjLTQuMiAzMC43LTE2LjMgNTguOC0zNC4xIDgyLjNMNDIwIDM4Ni4xbDExLjMtMTEuM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU2LjYgNTYuNmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwzODYuMSA0MjBsLTIzLjgtMjMuOGMtMjMuNSAxNy45LTUxLjcgMjkuOS04Mi4zIDM0LjFsMCAzMy42IDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTYgMCAwLTMzLjZjLTMwLjctNC4yLTU4LjgtMTYuMy04Mi4zLTM0LjFMMTI1LjkgNDIwbDExLjMgMTEuM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDQ2LjcgNDA4LjdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMEw5MiAzODYuMWwyMy44LTIzLjhDOTcuOSAzMzguOCA4NS44IDMxMC43IDgxLjYgMjgwTDQ4IDI4MGwwIDE2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE2IDMzLjYgMGM0LjItMzAuNyAxNi4zLTU4LjggMzQuMS04Mi4zTDkyIDEyNS45IDgwLjYgMTM3LjJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTYuNi01Ni42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwxMjUuOSA5MmwyMy44IDIzLjhjMjMuNS0xNy45IDUxLjctMjkuOSA4Mi4zLTM0LjFMMjMyIDQ4bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptNDggMjAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTY0IDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFBdXN0cmFsU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhdXN0cmFsLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwYTlcIiwgXCJNMjUzLjUgNTEuN0MyNDguNiAzOS44IDIzNi45IDMyIDIyNCAzMnMtMjQuNiA3LjgtMjkuNSAxOS43TDEyMi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMEw4Mi43IDMyMCAzMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjQgMEwzNC41IDQzNS43Yy02LjggMTYuMyAuOSAzNSAxNy4yIDQxLjhzMzUtLjkgNDEuOC0xNy4yTDEyNS4zIDM4NGwxOTcuMyAwIDMxLjggNzYuM2M2LjggMTYuMyAyNS41IDI0IDQxLjggMTcuMnMyNC0yNS41IDE3LjItNDEuOEwzOTIgMzg0bDI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUwLjcgMEwzNTIgMjg4bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTkwLjcgMEwyNTMuNSA1MS43ek0yNTYgMjI0bC02NCAwIDMyLTc2LjhMMjU2IDIyNHptLTkwLjcgNjRsMTE3LjMgMEwyOTYgMzIwbC0xNDQgMCAxMy4zLTMyelwiXVxufTtcbmNvbnN0IGZhRiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTAyXSwgXCI0NlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMjU2IDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjAgMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMjI0IDY0IDk2bDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDY0IDMyelwiXVxufTtcbmNvbnN0IGZhTGVhZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsZWFmJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDZjXCIsIFwiTTI3MiA5NmMtNzguNiAwLTE0NS4xIDUxLjUtMTY3LjcgMTIyLjVjMzMuNi0xNyA3MS41LTI2LjUgMTExLjctMjYuNWw4OCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwLTcyIDBzMCAwIDAgMGMtMTYuNiAwLTMyLjcgMS45LTQ4LjMgNS40Yy0yNS45IDUuOS00OS45IDE2LjQtNzEuNCAzMC43YzAgMCAwIDAgMCAwQzM4LjMgMjk4LjggMCAzNjQuOSAwIDQ0MGwwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNmMwLTQ4LjcgMjAuNy05Mi41IDUzLjgtMTIzLjJDMTIxLjYgMzkyLjMgMTkwLjMgNDQ4IDI3MiA0NDhsMSAwYzEzMi4xLS43IDIzOS0xMzAuOSAyMzktMjkxLjRjMC00Mi42LTcuNS04My4xLTIxLjEtMTE5LjZjLTIuNi02LjktMTIuNy02LjYtMTYuMi0uMUM0NTUuOSA3Mi4xIDQxOC43IDk2IDM3NiA5NkwyNzIgOTZ6XCJdXG59O1xuY29uc3QgZmFSb2FkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvYWQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg3MzldLCBcImYwMThcIiwgXCJNMjU2IDMybC03NC44IDBjLTI3LjEgMC01MS4zIDE3LjEtNjAuMyA0Mi42TDMuMSA0MDcuMkMxLjEgNDEzIDAgNDE5LjIgMCA0MjUuNEMwIDQ1NS41IDI0LjUgNDgwIDU0LjYgNDgwTDI1NiA0ODBsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjQgMjAxLjQgMGMzMC4yIDAgNTQuNi0yNC41IDU0LjYtNTQuNmMwLTYuMi0xLjEtMTIuNC0zLjEtMTguMkw0NTUuMSA3NC42QzQ0NiA0OS4xIDQyMS45IDMyIDM5NC44IDMyTDMyMCAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bTY0IDE5MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpcIl1cbn07XG5jb25zdCBmYVRheGkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGF4aScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY2MiwgXCJjYWJcIl0sIFwiZjFiYVwiLCBcIk0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMiAwIC4yYy0zOC42IDIuMi03Mi4zIDI3LjMtODUuMiA2NC4xTDM5LjYgMjI4LjhDMTYuNCAyMzguNCAwIDI2MS4zIDAgMjg4TDAgNDMybDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4IDMyMCAwIDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4IDAtMTQ0YzAtMjYuNy0xNi40LTQ5LjYtMzkuNi01OS4yTDQzNy4yIDEyOC4zYy0xMi45LTM2LjgtNDYuNi02Mi04NS4yLTY0LjFsMC0uMiAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE5MiAwek0xNjUuNCAxMjhsMTgxLjIgMGMxMy42IDAgMjUuNyA4LjYgMzAuMiAyMS40TDQwMi45IDIyNGwtMjkzLjggMCAyNi4xLTc0LjZjNC41LTEyLjggMTYuNi0yMS40IDMwLjItMjEuNHpNOTYgMjg4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMjg4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFDYWIgPSBmYVRheGk7XG5jb25zdCBmYVBlcnNvbkNpcmNsZVBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQxXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjMuMUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmwyOS43IDBjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45IDIzMiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNNDMyIDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTQ4IDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC00OHpcIl1cbn07XG5jb25zdCBmYUNoYXJ0UGllID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoYXJ0LXBpZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wicGllLWNoYXJ0XCJdLCBcImYyMDBcIiwgXCJNMzA0IDI0MGwwLTIyMy40YzAtOSA3LTE2LjYgMTYtMTYuNkM0NDMuNyAwIDU0NCAxMDAuMyA1NDQgMjI0YzAgOS03LjYgMTYtMTYuNiAxNkwzMDQgMjQwek0zMiAyNzJDMzIgMTUwLjcgMTIyLjEgNTAuMyAyMzkgMzQuM2M5LjItMS4zIDE3IDYuMSAxNyAxNS40TDI1NiAyODggNDEyLjUgNDQ0LjVjNi43IDYuNyA2LjIgMTcuNy0xLjUgMjMuMUMzNzEuOCA0OTUuNiAzMjMuOCA1MTIgMjcyIDUxMkMxMzkuNSA1MTIgMzIgNDA0LjYgMzIgMjcyem01MjYuNCAxNmM5LjMgMCAxNi42IDcuOCAxNS40IDE3Yy03LjcgNTUuOS0zNC42IDEwNS42LTczLjkgMTQyLjNjLTYgNS42LTE1LjQgNS4yLTIxLjItLjdMMzIwIDI4OGwyMzguNCAwelwiXVxufTtcbmNvbnN0IGZhUGllQ2hhcnQgPSBmYUNoYXJ0UGllO1xuY29uc3QgZmFCb2x0TGlnaHRuaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbHQtbGlnaHRuaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlMGI3XCIsIFwiTTAgMjU2TDI4LjUgMjhjMi0xNiAxNS42LTI4IDMxLjgtMjhIMjI4LjljMTUgMCAyNy4xIDEyLjEgMjcuMSAyNy4xYzAgMy4yLS42IDYuNS0xLjcgOS41TDIwOCAxNjBIMzQ3LjNjMjAuMiAwIDM2LjcgMTYuNCAzNi43IDM2LjdjMCA3LjQtMi4yIDE0LjYtNi40IDIwLjdsLTE5Mi4yIDI4MWMtNS45IDguNi0xNS42IDEzLjctMjUuOSAxMy43aC0yLjljLTE1LjcgMC0yOC41LTEyLjgtMjguNS0yOC41YzAtMi4zIC4zLTQuNiAuOS02LjlMMTc2IDI4OEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTYWNrWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Fjay14bWFyaycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU2YVwiLCBcIk0xOTIgOTZsMTI4IDAgNDcuNC03MS4xQzM3NC41IDE0LjIgMzY2LjkgMCAzNTQuMSAwTDE1Ny45IDBjLTEyLjggMC0yMC40IDE0LjItMTMuMyAyNC45TDE5MiA5NnptMTI4IDMybC0xMjggMGMtMy44IDIuNS04LjEgNS4zLTEzIDguNGMwIDAgMCAwIDAgMHMwIDAgMCAwQzEyMi4zIDE3Mi43IDAgMjUwLjkgMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwzMjAgMGM1MyAwIDk2LTQzIDk2LTk2YzAtMTY1LjEtMTIyLjMtMjQzLjMtMTc5LTI3OS42Yy00LjgtMy4xLTkuMi01LjktMTMtOC40ek0yODkuOSAzMzZsNDcgNDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDctNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDctNDctNDctNDdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3elwiXVxufTtcbmNvbnN0IGZhRmlsZUV4Y2VsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtZXhjZWwnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzNcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODgtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDIyNCAwIDY0IDB6TTI1NiAwbDAgMTI4IDEyOCAwTDI1NiAwek0xNTUuNyAyNTAuMkwxOTIgMzAyLjFsMzYuMy01MS45YzcuNi0xMC45IDIyLjYtMTMuNSAzMy40LTUuOXMxMy41IDIyLjYgNS45IDMzLjRMMjIxLjMgMzQ0bDQ2LjQgNjYuMmM3LjYgMTAuOSA1IDI1LjgtNS45IDMzLjRzLTI1LjggNS0zMy40LTUuOUwxOTIgMzg1LjhsLTM2LjMgNTEuOWMtNy42IDEwLjktMjIuNiAxMy41LTMzLjQgNS45cy0xMy41LTIyLjYtNS45LTMzLjRMMTYyLjcgMzQ0bC00Ni40LTY2LjJjLTcuNi0xMC45LTUtMjUuOCA1LjktMzMuNHMyNS44LTUgMzMuNCA1Ljl6XCJdXG59O1xuY29uc3QgZmFGaWxlQ29udHJhY3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jb250cmFjdCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU2Y1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTgwIDY0bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgOTZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptNTQuMiAyNTMuOGMtNi4xIDIwLjMtMjQuOCAzNC4yLTQ2IDM0LjJMODAgNDE2Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDguMiAwYzcuMSAwIDEzLjMtNC42IDE1LjMtMTEuNGwxNC45LTQ5LjVjMy40LTExLjMgMTMuOC0xOS4xIDI1LjYtMTkuMXMyMi4yIDcuNyAyNS42IDE5LjFsMTEuNiAzOC42YzcuNC02LjIgMTYuOC05LjcgMjYuOC05LjdjMTUuOSAwIDMwLjQgOSAzNy41IDIzLjJsNC40IDguOCA1NC4xIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTY0IDBjLTYuMSAwLTExLjYtMy40LTE0LjMtOC44bC04LjgtMTcuN2MtMS43LTMuNC01LjEtNS41LTguOC01LjVzLTcuMiAyLjEtOC44IDUuNWwtOC44IDE3LjdjLTIuOSA1LjktOS4yIDkuNC0xNS43IDguOHMtMTIuMS01LjEtMTMuOS0xMS4zTDE0NCAzNDlsLTkuOCAzMi44elwiXVxufTtcbmNvbnN0IGZhRmlzaEZpbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlzaC1maW5zJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGYyXCIsIFwiTTI3NS4yIDM4LjRjLTEwLjYtOC0yNS04LjUtMzYuMy0xLjVTMjIyIDU3LjMgMjI0LjYgNzAuM2w5LjcgNDguNmMtMTkuNCA5LTM2LjkgMTkuOS01Mi40IDMxLjVjLTE1LjMgMTEuNS0yOSAyMy45LTQwLjcgMzYuM0w0OC4xIDEzMi40Yy0xMi41LTcuMy0yOC40LTUuMy0zOC42IDQuOVMtMyAxNjMuMyA0LjIgMTc1LjlMNTAgMjU2IDQuMiAzMzYuMWMtNy4yIDEyLjYtNSAyOC40IDUuMyAzOC42czI2LjEgMTIuMiAzOC42IDQuOWw5My4xLTU0LjNjMTEuOCAxMi4zIDI1LjQgMjQuOCA0MC43IDM2LjNjMTUuNSAxMS42IDMzIDIyLjUgNTIuNCAzMS41bC05LjcgNDguNmMtMi42IDEzIDMuMSAyNi4zIDE0LjMgMzMuM3MyNS42IDYuNSAzNi4zLTEuNWw3Ny42LTU4LjJjNTQuOS00IDEwMS41LTI3IDEzNy4yLTUzLjhjMzkuMi0yOS40IDY3LjItNjQuNyA4MS42LTg5LjVjNS44LTkuOSA1LjgtMjIuMiAwLTMyLjFjLTE0LjQtMjQuOC00Mi41LTYwLjEtODEuNi04OS41Yy0zNS44LTI2LjgtODIuMy00OS44LTEzNy4yLTUzLjhMMjc1LjIgMzguNHpNMzg0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbmNvbnN0IGZhQnVpbGRpbmdGbGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0ZDVcIiwgXCJNNDggMEMyMS41IDAgMCAyMS41IDAgNDhMMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsOTYgMCAwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCA4MCA5NiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNDE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDB6TTY0IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xMTItMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNODAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAgMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ0OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4MCA2NCAwIDAtMzIwIDE0NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZMNDgwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhRmFjZUdyaW5CZWFtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi1iZWFtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTE2LCBcImdyaW4tYmVhbVwiXSwgXCJmNTgyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6bS0xNzAuNS04NHMwIDAgMCAwYzAgMCAwIDAgMCAwbC0uMi0uMmMtLjItLjItLjQtLjUtLjctLjljLS42LS44LTEuNi0yLTIuOC0zLjRjLTIuNS0yLjgtNi02LjYtMTAuMi0xMC4zYy04LjgtNy44LTE4LjgtMTQtMjcuNy0xNHMtMTguOSA2LjItMjcuNyAxNGMtNC4yIDMuNy03LjcgNy41LTEwLjIgMTAuM2MtMS4yIDEuNC0yLjIgMi42LTIuOCAzLjRjLS4zIC40LS42IC43LS43IC45bC0uMiAuMmMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwYy0yLjEgMi44LTUuNyAzLjktOC45IDIuOHMtNS41LTQuMS01LjUtNy42YzAtMTcuOSA2LjctMzUuNiAxNi42LTQ4LjhjOS44LTEzIDIzLjktMjMuMiAzOS40LTIzLjJzMjkuNiAxMC4yIDM5LjQgMjMuMmM5LjkgMTMuMiAxNi42IDMwLjkgMTYuNiA0OC44YzAgMy40LTIuMiA2LjUtNS41IDcuNnMtNi45IDAtOC45LTIuOGMwIDAgMCAwIDAgMHMwIDAgMCAwem0xNjAgMGMwIDAgMCAwIDAgMGwtLjItLjJjLS4yLS4yLS40LS41LS43LS45Yy0uNi0uOC0xLjYtMi0yLjgtMy40Yy0yLjUtMi44LTYtNi42LTEwLjItMTAuM2MtOC44LTcuOC0xOC44LTE0LTI3LjctMTRzLTE4LjkgNi4yLTI3LjcgMTRjLTQuMiAzLjctNy43IDcuNS0xMC4yIDEwLjNjLTEuMiAxLjQtMi4yIDIuNi0yLjggMy40Yy0uMyAuNC0uNiAuNy0uNyAuOWwtLjIgLjJjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMGMtMi4xIDIuOC01LjcgMy45LTguOSAyLjhzLTUuNS00LjEtNS41LTcuNmMwLTE3LjkgNi43LTM1LjYgMTYuNi00OC44YzkuOC0xMyAyMy45LTIzLjIgMzkuNC0yMy4yczI5LjYgMTAuMiAzOS40IDIzLjJjOS45IDEzLjIgMTYuNiAzMC45IDE2LjYgNDguOGMwIDMuNC0yLjIgNi41LTUuNSA3LjZzLTYuOSAwLTguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwelwiXVxufTtcbmNvbnN0IGZhR3JpbkJlYW0gPSBmYUZhY2VHcmluQmVhbTtcbmNvbnN0IGZhT2JqZWN0VW5ncm91cCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdvYmplY3QtdW5ncm91cCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjI0OFwiLCBcIk0zMiAxMTkuNEMxMi45IDEwOC40IDAgODcuNyAwIDY0QzAgMjguNyAyOC43IDAgNjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsMjA5LjEgMEMzMzkuNiAxMi45IDM2MC4zIDAgMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMTEzLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0xMTMuMXpNMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNGwwIDExMy4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyMDkuMSAwYzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNGwwLTExMy4xYy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjRMMTE5LjQgOTZ6bTE5MiAzODRjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzJjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTQwLjYgNjQgMCAwIDQwLjZjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40bDIwOS4xIDBjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40bDAtMTEzLjFjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNGwtNDYgMGMtNS40LTE1LjQtMTQuNi0yOC45LTI2LjUtMzkuNmwwLTI0LjQgNzIuNiAwYzExLjEtMTkuMSAzMS43LTMyIDU1LjQtMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMTEzLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwelwiXVxufTtcbmNvbnN0IGZhUG9vcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwb29wJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjE5XCIsIFwiTTI1NC40IDYuNmMzLjUtNC4zIDktNi41IDE0LjUtNS43QzMxNS44IDcuMiAzNTIgNDcuNCAzNTIgOTZjMCAxMS4yLTEuOSAyMi01LjUgMzJsNS41IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAxOS4xLTguNCAzNi4zLTIxLjcgNDhsMTMuNyAwYzM5LjggMCA3MiAzMi4yIDcyIDcyYzAgMjMuMi0xMSA0My44LTI4IDU3YzM0LjEgNS43IDYwIDM1LjMgNjAgNzFjMCAzOS44LTMyLjIgNzItNzIgNzJMNzIgNTEyYy0zOS44IDAtNzItMzIuMi03Mi03MmMwLTM1LjcgMjUuOS02NS4zIDYwLTcxYy0xNy0xMy4yLTI4LTMzLjgtMjgtNTdjMC0zOS44IDMyLjItNzIgNzItNzJsMTMuNyAwQzEwNC40IDIyOC4zIDk2IDIxMS4xIDk2IDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGwxNi4yIDBjNDQuMS0uMSA3OS44LTM1LjkgNzkuOC04MGMwLTkuMi0xLjUtMTcuOS00LjMtMjYuMWMtMS44LTUuMi0uOC0xMS4xIDIuOC0xNS40elwiXVxufTtcbmNvbnN0IGZhTG9jYXRpb25QaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jYXRpb24tcGluJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJtYXAtbWFya2VyXCJdLCBcImYwNDFcIiwgXCJNMzg0IDE5MmMwIDg3LjQtMTE3IDI0My0xNjguMyAzMDcuMmMtMTIuMyAxNS4zLTM1LjEgMTUuMy00Ny40IDBDMTE3IDQzNSAwIDI3OS40IDAgMTkyQzAgODYgODYgMCAxOTIgMFMzODQgODYgMzg0IDE5MnpcIl1cbn07XG5jb25zdCBmYU1hcE1hcmtlciA9IGZhTG9jYXRpb25QaW47XG5jb25zdCBmYUthYWJhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2thYWJhJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MzMxXSwgXCJmNjZiXCIsIFwiTTYwIDEyMGwyMjggNzEuMkw1MTYgMTIwIDI4OCA0OC44IDYwIDEyMHpNMjc4LjUgMS41YzYuMi0xLjkgMTIuOS0xLjkgMTkuMSAwbDI1NiA4MEM1NjYuOSA4NS42IDU3NiA5OCA1NzYgMTEybDAgMTZzMCAwIDAgMGwwIDIxLjJMMjkyLjggMjM3LjdjLTMuMSAxLTYuNCAxLTkuNSAwTDAgMTQ5LjIgMCAxMjhsMC0xNkMwIDk4IDkuMSA4NS42IDIyLjUgODEuNWwyNTYtODB6bTIzLjkgMjY2LjhMNTc2IDE4Mi44bDAgNDYuNS01Mi44IDE2LjVjLTguNCAyLjYtMTMuMSAxMS42LTEwLjUgMjBzMTEuNiAxMy4xIDIwIDEwLjVMNTc2IDI2Mi44IDU3NiA0MDBjMCAxNC05LjEgMjYuNC0yMi41IDMwLjVsLTI1NiA4MGMtNi4yIDEuOS0xMi45IDEuOS0xOS4xIDBsLTI1Ni04MEM5LjEgNDI2LjQgMCA0MTQgMCA0MDBMMCAyNjIuOGw0My4yIDEzLjVjOC40IDIuNiAxNy40LTIuMSAyMC0xMC41cy0yLjEtMTcuNC0xMC41LTIwTDAgMjI5LjJsMC00Ni41IDI3My43IDg1LjVjOS4zIDIuOSAxOS4zIDIuOSAyOC42IDB6bS0xODUuNS0yLjZjLTguNC0yLjYtMTcuNCAyLjEtMjAgMTAuNXMyLjEgMTcuNCAxMC41IDIwbDY0IDIwYzguNCAyLjYgMTcuNC0yLjEgMjAtMTAuNXMtMi4xLTE3LjQtMTAuNS0yMGwtNjQtMjB6bTM1MiAzMC41YzguNC0yLjYgMTMuMS0xMS42IDEwLjUtMjBzLTExLjYtMTMuMS0yMC0xMC41bC02NCAyMGMtOC40IDIuNi0xMy4xIDExLjYtMTAuNSAyMHMxMS42IDEzLjEgMjAgMTAuNWw2NC0yMHptLTIyNCA5LjVjLTguNC0yLjYtMTcuNCAyLjEtMjAgMTAuNXMyLjEgMTcuNCAxMC41IDIwbDM4LjUgMTJjOS4zIDIuOSAxOS4zIDIuOSAyOC42IDBsMzguNS0xMmM4LjQtMi42IDEzLjEtMTEuNiAxMC41LTIwcy0xMS42LTEzLjEtMjAtMTAuNWwtMzguNSAxMmMtMy4xIDEtNi40IDEtOS41IDBsLTM4LjUtMTJ6XCJdXG59O1xuY29uc3QgZmFUb2lsZXRQYXBlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b2lsZXQtcGFwZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjk1MzFdLCBcImY3MWVcIiwgXCJNNDQ0LjIgMEMzOTcuMiA0OS42IDM4NCAxMjYuNSAzODQgMTkyYzAgMTU4LjgtMjcuMyAyNDctNDIuNyAyODMuOWMtMTAgMjQtMzMuMiAzNi4xLTU1LjQgMzYuMUw0OCA1MTJjLTExLjUgMC0yMi4yLTYuMi0yNy44LTE2LjJzLTUuNi0yMi4zIC40LTMyLjJjOS44LTE3LjcgMTUuNC0zOC4yIDIwLjUtNTcuN0M1Mi4zIDM2Mi44IDY0IDI5My41IDY0IDE5MkM2NCA4NiAxMDcgMCAxNjAgMEw0NDQuMiAwek01MTIgMzg0Yy01MyAwLTk2LTg2LTk2LTE5MlM0NTkgMCA1MTIgMHM5NiA4NiA5NiAxOTJzLTQzIDE5Mi05NiAxOTJ6bTAtMTI4YzE3LjcgMCAzMi0yOC43IDMyLTY0cy0xNC4zLTY0LTMyLTY0cy0zMiAyOC43LTMyIDY0czE0LjMgNjQgMzIgNjR6TTE0NCAyMDhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNjQgMGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAxNmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTgwLTE2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xuY29uc3QgZmFIZWxtZXRTYWZldHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVsbWV0LXNhZmV0eScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaGFyZC1oYXRcIiwgXCJoYXQtaGFyZFwiXSwgXCJmODA3XCIsIFwiTTI1NiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyLjMgMCA5OS42YzAgNS42LTQuNSAxMC4xLTEwLjEgMTAuMWMtMy42IDAtNy0xLjktOC44LTUuMUwxNTcuMSA4N0M4MyAxMjMuNSAzMiAxOTkuOCAzMiAyODhsMCA2NCA1MTIgMCAwLTY2LjRjLS45LTg3LjItNTEuNy0xNjIuNC0xMjUuMS0xOTguNmwtNDggODMuOWMtMS44IDMuMi01LjIgNS4xLTguOCA1LjFjLTUuNiAwLTEwLjEtNC41LTEwLjEtMTAuMWwwLTk5LjYgMC0yLjNjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDB6TTE2LjYgMzg0QzcuNCAzODQgMCAzOTEuNCAwIDQwMC42YzAgNC43IDIgOS4yIDUuOCAxMS45QzI3LjUgNDI4LjQgMTExLjggNDgwIDI4OCA0ODBzMjYwLjUtNTEuNiAyODIuMi02Ny41YzMuOC0yLjggNS44LTcuMiA1LjgtMTEuOWMwLTkuMi03LjQtMTYuNi0xNi42LTE2LjZMMTYuNiAzODR6XCJdXG59O1xuY29uc3QgZmFIYXJkSGF0ID0gZmFIZWxtZXRTYWZldHk7XG5jb25zdCBmYUhhdEhhcmQgPSBmYUhlbG1ldFNhZmV0eTtcbmNvbnN0IGZhRWplY3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWplY3QnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5MTY3XSwgXCJmMDUyXCIsIFwiTTIyNCAzMmMxMy41IDAgMjYuMyA1LjYgMzUuNCAxNS42bDE3NiAxOTJjMTIuOSAxNCAxNi4yIDM0LjMgOC42IDUxLjhTNDE5IDMyMCA0MDAgMzIwTDQ4IDMyMGMtMTkgMC0zNi4zLTExLjItNDMuOS0yOC43cy00LjMtMzcuNyA4LjYtNTEuOGwxNzYtMTkyQzE5Ny43IDM3LjYgMjEwLjUgMzIgMjI0IDMyek0wIDQzMmMwLTI2LjUgMjEuNS00OCA0OC00OGwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE4MzgsIFwiYXJyb3ctYWx0LWNpcmNsZS1yaWdodFwiXSwgXCJmMzVhXCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDBBMjU2IDI1NiAwIDEgMCAwIDI1NnptMzk1LjMgMTEuM2wtMTEyIDExMmMtNC42IDQuNi0xMS41IDUuOS0xNy40IDMuNXMtOS45LTguMy05LjktMTQuOGwwLTY0LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTY0YzAtNi41IDMuOS0xMi4zIDkuOS0xNC44czEyLjktMS4xIDE3LjQgMy41bDExMiAxMTJjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xuY29uc3QgZmFBcnJvd0FsdENpcmNsZVJpZ2h0ID0gZmFDaXJjbGVSaWdodDtcbmNvbnN0IGZhUGxhbmVDaXJjbGVDaGVjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NTVcIiwgXCJNMjU2IDBjLTM1IDAtNjQgNTkuNS02NCA5My43bDAgODQuNkw4LjEgMjgzLjRjLTUgMi44LTguMSA4LjItOC4xIDEzLjlsMCA2NS41YzAgMTAuNiAxMC4yIDE4LjMgMjAuNCAxNS40bDE3MS42LTQ5IDAgNzAuOS01Ny42IDQzLjJjLTQgMy02LjQgNy44LTYuNCAxMi44bDAgNDJjMCA3LjggNi4zIDE0IDE0IDE0YzEuMyAwIDIuNi0uMiAzLjktLjVMMjU2IDQ4MGwxMTAuMSAzMS41YzEuMyAuNCAyLjYgLjUgMy45IC41YzYgMCAxMS4xLTMuNyAxMy4xLTlDMzQ0LjUgNDcwLjcgMzIwIDQyMi4yIDMyMCAzNjhjMC02MC42IDMwLjYtMTE0IDc3LjEtMTQ1LjZMMzIwIDE3OC4zbDAtODQuNkMzMjAgNTkuNSAyOTIgMCAyNTYgMHpNNjQwIDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDgwIDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG5jb25zdCBmYUZhY2VSb2xsaW5nRXllcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLXJvbGxpbmctZXllcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU4MCwgXCJtZWgtcm9sbGluZy1leWVzXCJdLCBcImY1YTVcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAzNjhsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0zMi0xNDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNiAxNS41LTQ4LjQgMzcuOC01OC40Yy0zLjcgNS4yLTUuOCAxMS42LTUuOCAxOC40YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC02LjktMi4yLTEzLjItNS44LTE4LjRDMjA4LjUgMTc1LjYgMjI0IDE5OCAyMjQgMjI0em0xMjggNjRjLTM1LjMgMC02NC0yOC43LTY0LTY0YzAtMjYgMTUuNS00OC40IDM3LjgtNTguNGMtMy43IDUuMi01LjggMTEuNi01LjggMTguNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40QzQwMC41IDE3NS42IDQxNiAxOTggNDE2IDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NHpcIl1cbn07XG5jb25zdCBmYU1laFJvbGxpbmdFeWVzID0gZmFGYWNlUm9sbGluZ0V5ZXM7XG5jb25zdCBmYU9iamVjdEdyb3VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ29iamVjdC1ncm91cCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjI0N1wiLCBcIk0zMiAxMTkuNEMxMi45IDEwOC40IDAgODcuNyAwIDY0QzAgMjguNyAyOC43IDAgNjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsMzM3LjEgMEM0NjcuNiAxMi45IDQ4OC4zIDAgNTEyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMjczLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0zMzcuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yNzMuMXpNNDU2LjYgOTZMMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNGwwIDI3My4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwzMzcuMSAwYzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNGwwLTI3My4xYy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjR6TTEyOCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZ6TTI1NiAzMjBsMzIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJ6XCJdXG59O1xuY29uc3QgZmFDaGFydExpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtbGluZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGluZS1jaGFydFwiXSwgXCJmMjAxXCIsIFwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwbDQwMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2TDY0IDY0em00MDYuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDMyMCAyMTAuN2wtNTcuNC01Ny40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTEyIDExMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNDAgMjIxLjNsNTcuNCA1Ny40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6XCJdXG59O1xuY29uc3QgZmFMaW5lQ2hhcnQgPSBmYUNoYXJ0TGluZTtcbmNvbnN0IGZhTWFza1ZlbnRpbGF0b3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFzay12ZW50aWxhdG9yJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTI0XCIsIFwiTTE1OS4xIDE3NkMxMzkuNCAyMTkuMiAxMjggMjY0LjcgMTI4IDMwMC44YzAgMTUuOSAyLjIgMzEuNCA2LjMgNDZsLTMxLjgtNy45QzcwLjUgMzMwLjkgNDggMzAyLjEgNDggMjY5bDAtODVjMC00LjQgMy42LTggOC04bDEwMy4xIDB6bTI2LTQ4TDU2IDEyOGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4NWMwIDU1LjEgMzcuNSAxMDMuMSA5MC45IDExNi40bDcxLjMgMTcuOGMyMi43IDMwLjUgNTUuNCA1NC4xIDkzLjggNjYuNmwwLTc2LjZjLTE5LjctMTYuNC0zMi00MC4zLTMyLTY2LjljMC00OS41IDQzLTEzNC40IDk2LTEzNC40YzUyLjUgMCA5NiA4NC45IDk2IDEzNC40YzAgMjYuNy0xMi40IDUwLjQtMzIgNjYuOGwwIDc2LjZjMzgtMTIuNiA3MC42LTM2IDkzLjUtNjYuNGw3MS42LTE3LjlDNjAyLjUgMzcyLjEgNjQwIDMyNC4xIDY0MCAyNjlsMC04NWMwLTMwLjktMjUuMS01Ni01Ni01NmwtMTI5LjUgMEM0MTkuNyA3My44IDM3Mi4xIDMyIDMyMCAzMmMtNTIuNiAwLTEwMC4yIDQxLjgtMTM0LjkgOTZ6bTI5NS42IDQ4TDU4NCAxNzZjNC40IDAgOCAzLjYgOCA4bDAgODVjMCAzMy0yMi41IDYxLjgtNTQuNSA2OS45bC0zMS44IDhjNC4yLTE0LjcgNi40LTMwLjEgNi40LTQ2LjFjMC0zNi4xLTExLjYtODEuNi0zMS4zLTEyNC44ek0yODggMzIwbDAgMTkyIDY0IDAgMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFBcnJvd1JpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXJpZ2h0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODU5NF0sIFwiZjA2MVwiLCBcIk00MzguNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMzM4LjggMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMDYuNyAwTDIzMy40IDM5My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjB6XCJdXG59O1xuY29uc3QgZmFTaWduc1Bvc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2lnbnMtcG9zdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibWFwLXNpZ25zXCJdLCBcImYyNzdcIiwgXCJNMjI0IDMyTDY0IDMyQzQ2LjMgMzIgMzIgNDYuMyAzMiA2NGwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDM3Ny40IDBjNC4yIDAgOC4zLTEuNyAxMS4zLTQuN2w0OC00OGM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNDgtNDhjLTMtMy03LjEtNC43LTExLjMtNC43TDI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpNNDgwIDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0zMi02NCAwIDAgMzJMNzAuNiAyMjRjLTQuMiAwLTguMyAxLjctMTEuMyA0LjdsLTQ4IDQ4Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmw0OCA0OGMzIDMgNy4xIDQuNyAxMS4zIDQuN0w0NDggMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjR6TTI4OCA0ODBsMC05Ni02NCAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpcIl1cbn07XG5jb25zdCBmYU1hcFNpZ25zID0gZmFTaWduc1Bvc3Q7XG5jb25zdCBmYUNhc2hSZWdpc3RlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXNoLXJlZ2lzdGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzg4XCIsIFwiTTY0IDBDNDYuMyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw4MCAwIDAgMzItNTcgMGMtMzEuNiAwLTU4LjUgMjMuMS02My4zIDU0LjRMMS4xIDM2NC4xQy40IDM2OC44IDAgMzczLjYgMCAzNzguNEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY5LjZjMC00LjgtLjQtOS42LTEuMS0xNC40TDQ4OC4yIDIxNC40QzQ4My41IDE4My4xIDQ1Ni42IDE2MCA0MjUgMTYwbC0yMTcgMCAwLTMyIDgwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkw2NCAwek05NiA0OGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw5NiA4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNNjQgNDMyYzAtOC44IDcuMi0xNiAxNi0xNmwzNTIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw4MCA0NDhjLTguOCAwLTE2LTcuMi0xNi0xNnptNDgtMTY4YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptMTIwLTI0YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTE2MCAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek0zMjggMjQwYTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTI1NiAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek00MjQgMjQwYTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTM1MiAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4elwiXVxufTtcbmNvbnN0IGZhUGVyc29uQ2lyY2xlUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNpcmNsZS1xdWVzdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0MlwiLCBcIk0xMTIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0bDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjIzLjFMNTkuNCAzMDQuNWMtOS4xIDE1LjEtMjguOCAyMC00My45IDEwLjlzLTIwLTI4LjgtMTAuOS00My45bDU4LjMtOTdjMTcuNC0yOC45IDQ4LjYtNDYuNiA4Mi4zLTQ2LjZsMjkuNyAwYzMzLjcgMCA2NC45IDE3LjcgODIuMyA0Ni42bDQ0LjkgNzQuN2MtMTYuMSAxNy42LTI4LjYgMzguNS0zNi42IDYxLjVjLTEuOS0xLjgtMy41LTMuOS00LjktNi4zTDIzMiAyNTYuOSAyMzIgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4LTE2IDB6TTQzMiAyMjRhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDI0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTM2OCAzMjEuNmwwIDYuNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNi40YzAtNS4zIDQuMy05LjYgOS42LTkuNmw0MC41IDBjNy43IDAgMTMuOSA2LjIgMTMuOSAxMy45YzAgNS4yLTIuOSA5LjktNy40IDEyLjNsLTMyIDE2LjhjLTUuMyAyLjgtOC42IDguMi04LjYgMTQuMmwwIDE0LjhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTUuMSAyMy41LTEyLjNjMTUuMS03LjkgMjQuNS0yMy42IDI0LjUtNDAuNmMwLTI1LjQtMjAuNi00NS45LTQ1LjktNDUuOWwtNDAuNSAwYy0yMyAwLTQxLjYgMTguNi00MS42IDQxLjZ6XCJdXG59O1xuY29uc3QgZmFIID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2gnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMDRdLCBcIjQ4XCIsIFwiTTMyMCAyNTZsMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNCAwLTE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDEyOEw2NCAxOTIgNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE5MiAyNTYgMHpcIl1cbn07XG5jb25zdCBmYVRhcnAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFycCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU3YlwiLCBcIk01NzYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM1MiAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwIDAtMTYwek00NDggNDQ4TDU3NiAzMjBsLTEyOCAwIDAgMTI4ek05NiAxMjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhU2NyZXdkcml2ZXJXcmVuY2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NyZXdkcml2ZXItd3JlbmNoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0b29sc1wiXSwgXCJmN2Q5XCIsIFwiTTc4LjYgNUM2OS4xLTIuNCA1NS42LTEuNSA0NyA3TDcgNDdjLTguNSA4LjUtOS40IDIyLTIuMSAzMS42bDgwIDEwNGM0LjUgNS45IDExLjYgOS40IDE5IDkuNGw1NC4xIDAgMTA5IDEwOWMtMTQuNyAyOS0xMCA2NS40IDE0LjMgODkuNmwxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0yNC4yLTI0LjItNjAuNi0yOS04OS42LTE0LjNsLTEwOS0xMDkgMC01NC4xYzAtNy41LTMuNS0xNC41LTkuNC0xOUw3OC42IDV6TTE5LjkgMzk2LjFDNy4yIDQwOC44IDAgNDI2LjEgMCA0NDQuMUMwIDQ4MS42IDMwLjQgNTEyIDY3LjkgNTEyYzE4IDAgMzUuMy03LjIgNDgtMTkuOUwyMzMuNyAzNzQuM2MtNy44LTIwLjktOS00My42LTMuNi02NS4xbC02MS43LTYxLjdMMTkuOSAzOTYuMXpNNTEyIDE0NGMwLTEwLjUtMS4xLTIwLjctMy4yLTMwLjVjLTIuNC0xMS4yLTE2LjEtMTQuMS0yNC4yLTZsLTYzLjkgNjMuOWMtMyAzLTcuMSA0LjctMTEuMyA0LjdMMzUyIDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNTcuNGMwLTQuMiAxLjctOC4zIDQuNy0xMS4zbDYzLjktNjMuOWM4LjEtOC4xIDUuMi0yMS44LTYtMjQuMkMzODguNyAxLjEgMzc4LjUgMCAzNjggMEMyODguNSAwIDIyNCA2NC41IDIyNCAxNDRsMCAuOCA4NS4zIDg1LjNjMzYtOS4xIDc1LjggLjUgMTA0IDI4LjdMNDI5IDI3NC41YzQ5LTIzIDgzLTcyLjggODMtMTMwLjV6TTU2IDQzMmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwelwiXVxufTtcbmNvbnN0IGZhVG9vbHMgPSBmYVNjcmV3ZHJpdmVyV3JlbmNoO1xuY29uc3QgZmFBcnJvd3NUb0V5ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdG8tZXllJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGJmXCIsIFwiTTE1IDE1QzI0LjQgNS43IDM5LjYgNS43IDQ5IDE1bDYzIDYzTDExMiA0MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTk2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzguMSAwTDE1IDQ5QzUuNyAzOS42IDUuNyAyNC40IDE1IDE1ek0xMzMuNSAyNDMuOUMxNTguNiAxOTMuNiAyMjIuNyAxMTIgMzIwIDExMnMxNjEuNCA4MS42IDE4Ni41IDEzMS45YzMuOCA3LjYgMy44IDE2LjUgMCAyNC4yQzQ4MS40IDMxOC40IDQxNy4zIDQwMCAzMjAgNDAwcy0xNjEuNC04MS42LTE4Ni41LTEzMS45Yy0zLjgtNy42LTMuOC0xNi41IDAtMjQuMnpNMzIwIDMyMGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNNTkxIDE1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNjMgNjMgMzguMSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC05NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTk2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAzOC4xIDYzLTYzek0xNSA0OTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDYzLTYzTDQwIDQwMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zOC4xTDQ5IDQ5N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDB6bTU3NiAwbC02My02MyAwIDM4LjFjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC05NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zOC4xIDAgNjMgNjNjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMHpcIl1cbn07XG5jb25zdCBmYVBsdWdDaXJjbGVCb2x0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLWJvbHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWJcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYgNjQgMCAwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOGwwIDY3LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY3LjJjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMTYwek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNDcuOS0yMjVjNC4zIDMuNyA1LjQgOS45IDIuNiAxNC45TDQ1Mi40IDM1NmwzNS42IDBjNS4yIDAgOS44IDMuMyAxMS40IDguMnMtLjEgMTAuMy00LjIgMTMuNGwtOTYgNzJjLTQuNSAzLjQtMTAuOCAzLjItMTUuMS0uNnMtNS40LTkuOS0yLjYtMTQuOUw0MTEuNiAzODAgMzc2IDM4MGMtNS4yIDAtOS44LTMuMy0xMS40LTguMnMuMS0xMC4zIDQuMi0xMy40bDk2LTcyYzQuNS0zLjQgMTAuOC0zLjIgMTUuMSAuNnpcIl1cbn07XG5jb25zdCBmYUhlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYXJ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTUzLCAxMjgxNTQsIDEyODE1NSwgMTI4MTU2LCAxMjg0MjAsIDEyOTI5MywgMTI5Mjk0LCAxMjk1MDUsIDk4MjksIDEwMDg0LCA2MTU3OF0sIFwiZjAwNFwiLCBcIk00Ny42IDMwMC40TDIyOC4zIDQ2OS4xYzcuNSA3IDE3LjQgMTAuOSAyNy43IDEwLjlzMjAuMi0zLjkgMjcuNy0xMC45TDQ2NC40IDMwMC40YzMwLjQtMjguMyA0Ny42LTY4IDQ3LjYtMTA5LjV2LTUuOGMwLTY5LjktNTAuNS0xMjkuNS0xMTkuNC0xNDFDMzQ3IDM2LjUgMzAwLjYgNTEuNCAyNjggODRMMjU2IDk2IDI0NCA4NGMtMzIuNi0zMi42LTc5LTQ3LjUtMTI0LjYtMzkuOUM1MC41IDU1LjYgMCAxMTUuMiAwIDE4NS4xdjUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6XCJdXG59O1xuY29uc3QgZmFNYXJzQW5kVmVudXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycy1hbmQtdmVudXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODkzXSwgXCJmMjI0XCIsIFwiTTMzNy44IDE0LjhDMzQxLjUgNS44IDM1MC4zIDAgMzYwIDBMNDcyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMTJjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtMzktMzktMjQuNyAyNC43QzQwNyAxNjMuMyA0MTYgMTkyLjYgNDE2IDIyNGMwIDgwLjItNTkgMTQ2LjYtMTM2IDE1OC4ybDAgMjUuOCAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNCAwIDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zMi0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0IDAgMC0yNS44QzE1NSAzNzAuNiA5NiAzMDQuMiA5NiAyMjRjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBjMzkuNiAwIDc1LjkgMTQuNCAxMDMuOCAzOC4yTDM4Mi4xIDgwIDM0MyA0MWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMnpNNDQ4IDQ4czAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwek0zNTIgMjI0YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS11c2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJob21lLXVzZXJcIl0sIFwiZTFiMFwiLCBcIk01NzUuOCAyNTUuNWMwIDE4LTE1IDMyLjEtMzIgMzIuMWwtMzIgMCAuNyAxNjAuMmMuMiAzNS41LTI4LjUgNjQuMy02NCA2NC4zbC0zMjAuNCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE2MC40LTMyIDBjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDU2NC44IDIzMS41YzggNyAxMiAxNSAxMSAyNHpNMzUyIDIyNGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6bS05NiA5NmMtNDQuMiAwLTgwIDM1LjgtODAgODBjMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNmMwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMHpcIl1cbn07XG5jb25zdCBmYUhvbWVVc2VyID0gZmFIb3VzZVVzZXI7XG5jb25zdCBmYUR1bXBzdGVyRmlyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkdW1wc3Rlci1maXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNzk0XCIsIFwiTTQ5LjcgMzJsOTAuOCAwTDExNC45IDE2MGwtOTQgMEM5LjMgMTYwIDAgMTUwLjcgMCAxMzkuMWMwLTIuMSAuMy00LjEgLjktNi4xTDI2LjggNDguOUMyOS45IDM4LjkgMzkuMiAzMiA0OS43IDMyek0yNzIgMTYwbC0xMjQuNSAwTDE3My4xIDMyIDI3MiAzMmwwIDEyOHptMzIgMGwwLTEyOCA5OC45IDAgMTQuNCA3Mi4xYy0xLjcgMS4xLTMuMyAyLjQtNC44IDMuOGMtMTguNCAxNi40LTM1LjQgMzQtNTAuNSA1Mi4xbC01OCAwem0yMDkuOS0yMy43Yy0xLjcgMS42LTMuNCAzLjItNSA0LjhDNDk4IDEyOS42IDQ4Ni43IDExOC42IDQ3NSAxMDhjLTcuNi02LjktMTctMTAuOC0yNi42LTExLjhMNDM1LjUgMzJsOTAuOCAwYzEwLjUgMCAxOS44IDYuOSAyMi45IDE2LjlMNTc1LjEgMTMzYy4yIC43IC40IDEuNCAuNSAyLjFjLTE3LjgtMTUtNDQuMy0xNC42LTYxLjcgMS4yek0zMjUuMiAyMTAuN0MzMDQuMyAyNDQuNSAyODggMjgyLjkgMjg4IDMxOC4xYzAgNDkuMyAxOC42IDk1LjIgNDkuNiAxMjkuOUwxMjggNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDQ0IDI4OGwtMTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0IDAtNC0zMiAzMDUuNSAwYy00LjQgNi4yLTguNSAxMi41LTEyLjMgMTguN3ptMTgwLjYtMzQuNUw1MTggMTYyLjVjNS40LTYuMSAxMy4zLTguOCAyMC45LTguOWM3LjIgMCAxNC4zIDIuNiAxOS45IDcuOGMxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjZDNjI5IDI1OS4yIDY0MCAyOTAuMiA2NDAgMzIwLjJDNjQwIDQwOC44IDU2OC43IDQ4MCA0ODAgNDgwYy04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44YzAtMzcuMyAxNi03My40IDM2LjgtMTA0LjVjMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yYzUuNy01LjIgMTMuMS03LjcgMjAuMy03LjVjMTQuMSAuMyAyMy44IDExLjQgMzIuNyAyMS42YzAgMCAwIDAgMCAwYzIgMi4zIDQgNC42IDYgNi43bDE5IDE5Ljl6TTU0NCAzNjguMmMwLTM2LjUtMzctNzMtNTQuOC04OC40Yy01LjQtNC43LTEzLjEtNC43LTE4LjUgMEM0NTMgMjk1LjEgNDE2IDMzMS42IDQxNiAzNjguMmMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbmNvbnN0IGZhSG91c2VDcmFjayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jcmFjaycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTNiMVwiLCBcIk01NDMuOCAyODcuNmMxNyAwIDMyLTE0IDMyLTMyLjFjMS05LTMtMTctMTEtMjRMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFsMzIgMCAwIDE2MC40YzAgMzUuMyAyOC43IDY0IDY0IDY0bDEwMi4zIDAtMzEuMy01Mi4yYy00LjEtNi44LTIuNi0xNS41IDMuNS0yMC41TDI4OCAzNjhsLTYwLjItODIuOGMtMTAuOS0xNSA4LjItMzMuNSAyMi44LTIybDExNy45IDkyLjZjOCA2LjMgOC4yIDE4LjQgLjQgMjQuOUwyODggNDQ4bDM4LjQgNjQgMTIyLjEgMGMzNS41IDAgNjQuMi0yOC44IDY0LTY0LjNsLS43LTE2MC4yIDMyIDB6XCJdXG59O1xuY29uc3QgZmFNYXJ0aW5pR2xhc3NDaXRydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFydGluaS1nbGFzcy1jaXRydXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImNvY2t0YWlsXCJdLCBcImY1NjFcIiwgXCJNNDMyIDI0MGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtMzUuNSAwLTY2LjYgMTkuMy04My4yIDQ4bC01Mi42IDBDMzE2IDQwLjEgMzY5LjMgMCA0MzIgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NHMtNjQuNSAxNDQtMTQ0IDE0NGMtMjcuNyAwLTUzLjUtNy44LTc1LjUtMjEuM2wzNS40LTM1LjRjMTIuMiA1LjYgMjUuOCA4LjcgNDAuMSA4Ljd6TTEuOCAxNDIuOEM1LjUgMTMzLjggMTQuMyAxMjggMjQgMTI4bDM2OCAwYzkuNyAwIDE4LjUgNS44IDIyLjIgMTQuOHMxLjcgMTkuMy01LjIgMjYuMmwtMTc3IDE3N0wyMzIgNDY0bDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTg4IDAtODggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtMTE4LjFMNyAxNjljLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJ6XCJdXG59O1xuY29uc3QgZmFDb2NrdGFpbCA9IGZhTWFydGluaUdsYXNzQ2l0cnVzO1xuY29uc3QgZmFGYWNlU3VycHJpc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zdXJwcmlzZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1OCwgXCJzdXJwcmlzZVwiXSwgXCJmNWMyXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYuNCAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMjU2IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG5jb25zdCBmYVN1cnByaXNlID0gZmFGYWNlU3VycHJpc2U7XG5jb25zdCBmYUJvdHRsZVdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvdHRsZS13YXRlcicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTRjNVwiLCBcIk0xMjAgMGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDBMOTYgNjRsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMzIgMTY3LjVjMC0xOS41IDEwLTM3LjYgMjYuNi00Ny45bDE1LjgtOS45Qzg4LjcgMTAwLjcgMTA1LjIgOTYgMTIyLjEgOTZsNzUuOCAwYzE2LjkgMCAzMy40IDQuNyA0Ny43IDEzLjdsMTUuOCA5LjlDMjc4IDEyOS45IDI4OCAxNDggMjg4IDE2Ny41YzAgMTctNy41IDMyLjMtMTkuNCA0Mi42QzI4MC42IDIyMS43IDI4OCAyMzggMjg4IDI1NmMwIDE5LjEtOC40IDM2LjMtMjEuNyA0OGMxMy4zIDExLjcgMjEuNyAyOC45IDIxLjcgNDhzLTguNCAzNi4zLTIxLjcgNDhjMTMuMyAxMS43IDIxLjcgMjguOSAyMS43IDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC0xOS4xIDguNC0zNi4zIDIxLjctNDhDNDAuNCAzODguMyAzMiAzNzEuMSAzMiAzNTJzOC40LTM2LjMgMjEuNy00OEM0MC40IDI5Mi4zIDMyIDI3NS4xIDMyIDI1NmMwLTE4IDcuNC0zNC4zIDE5LjQtNDUuOUMzOS41IDE5OS43IDMyIDE4NC41IDMyIDE2Ny41ek05NiAyNDBjMCA4LjggNy4yIDE2IDE2IDE2bDk2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTk2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgMTEyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDk2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTk2IDB6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVQYXVzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtcGF1c2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjA5MiwgXCJwYXVzZS1jaXJjbGVcIl0sIFwiZjI4YlwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjI0IDE5MmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xMjggMGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhUGF1c2VDaXJjbGUgPSBmYUNpcmNsZVBhdXNlO1xuY29uc3QgZmFUb2lsZXRQYXBlclNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvaWxldC1wYXBlci1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA3MlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC0xMDkuNy04NkM1NjkuOSAzNzQgNjA4IDI5MS45IDYwOCAxOTJDNjA4IDg2IDU2NSAwIDUxMiAwcy05NiA4Ni05NiAxOTJjMCA0OS4xIDkuMiA5My45IDI0LjQgMTI3LjlsLTU5LTQ2LjJjMS42LTI0LjggMi42LTUyIDIuNi04MS42YzAtNjUuNSAxMy4yLTE0Mi40IDYwLjItMTkyTDE2MCAwYy0yNC44IDAtNDcuNCAxOC44LTY0LjQgNDkuNkwzOC44IDUuMXpNMzY3LjMgMzg1LjRMNjYuNSAxNDguNEM2NC45IDE2Mi40IDY0IDE3NyA2NCAxOTJjMCAxMDEuNS0xMS43IDE3MC44LTIzIDIxMy45Yy01LjEgMTkuNC0xMC43IDM5LjktMjAuNSA1Ny43Yy01LjkgOS45LTYuMSAyMi4xLS40IDMyLjJTMzYuNSA1MTIgNDggNTEybDIzNy45IDBjMjIuMyAwIDQ1LjQtMTIuMSA1NS40LTM2LjFjNy40LTE3LjcgMTcuNS00Ny4yIDI2LTkwLjZ6TTU0NCAxOTJjMCAzNS4zLTE0LjMgNjQtMzIgNjRzLTMyLTI4LjctMzItNjRzMTQuMy02NCAzMi02NHMzMiAyOC43IDMyIDY0elwiXVxufTtcbmNvbnN0IGZhQXBwbGVXaG9sZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcHBsZS13aG9sZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzgyMiwgMTI3ODIzLCBcImFwcGxlLWFsdFwiXSwgXCJmNWQxXCIsIFwiTTIyNCAxMTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDB6TTAgMjg4YzAtNzYuMyAzNS43LTE2MCAxMTItMTYwYzI3LjMgMCA1OS43IDEwLjMgODIuNyAxOS4zYzE4LjggNy4zIDM5LjkgNy4zIDU4LjcgMGMyMi45LTguOSA1NS40LTE5LjMgODIuNy0xOS4zYzc2LjMgMCAxMTIgODMuNyAxMTIgMTYwYzAgMTI4LTgwIDIyNC0xNjAgMjI0Yy0xNi41IDAtMzguMS02LjYtNTEuNS0xMS4zYy04LjEtMi44LTE2LjktMi44LTI1IDBjLTEzLjQgNC43LTM1IDExLjMtNTEuNSAxMS4zQzgwIDUxMiAwIDQxNiAwIDI4OHpcIl1cbn07XG5jb25zdCBmYUFwcGxlQWx0ID0gZmFBcHBsZVdob2xlO1xuY29uc3QgZmFLaXRjaGVuU2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tpdGNoZW4tc2V0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTFhXCIsIFwiTTI0MCAxNDRBOTYgOTYgMCAxIDAgNDggMTQ0YTk2IDk2IDAgMSAwIDE5MiAwem00NC40IDMyQzI2OS45IDI0MC4xIDIxMi41IDI4OCAxNDQgMjg4QzY0LjUgMjg4IDAgMjIzLjUgMCAxNDRTNjQuNSAwIDE0NCAwYzY4LjUgMCAxMjUuOSA0Ny45IDE0MC40IDExMmw3MS44IDBjOC44LTkuOCAyMS42LTE2IDM1LjgtMTZsMTA0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTEwNCAwYy0xNC4yIDAtMjctNi4yLTM1LjgtMTZsLTcxLjggMHpNMTQ0IDgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek00MDAgMjQwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOCA5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw5NiAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjg4IDQ2NGwwLTExMiAyMjQgMCAwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4ek00OCAzMjBsODAgMCAxNiAwIDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTE2IDBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtODBjMC04LjggNy4yLTE2IDE2LTE2em0xMjggNjRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDAgMCAzMiAxNiAwek0yNCA0NjRsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhUiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTE0XSwgXCI1MlwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMjg4IDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggOTUuMyAwTDI2MS44IDQ2Ni40YzEwLjEgMTQuNSAzMC4xIDE4IDQ0LjYgNy45czE4LTMwLjEgNy45LTQ0LjZMMjMwLjEgMzA5LjVDMjgyLjggMjg4LjEgMzIwIDIzNi40IDMyMCAxNzZjMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRMNjQgMzJ6TTE3NiAyNTZMNjQgMjU2IDY0IDk2bDExMiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwcy0zNS44IDgwLTgwIDgwelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVRdWFydGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLXF1YXJ0ZXInLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInRlbXBlcmF0dXJlLTFcIiwgXCJ0aGVybW9tZXRlci0xXCIsIFwidGhlcm1vbWV0ZXItcXVhcnRlclwiXSwgXCJmMmNhXCIsIFwiTTE2MCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjQuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41Qzg2LjIgMzMyLjYgODAgMzQ5LjUgODAgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNUwyMDggMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00OCAxMTJDNDggNTAuMiA5OC4xIDAgMTYwIDBzMTEyIDUwLjEgMTEyIDExMmwwIDE2NC40YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTMzLjIgMTEuMi02My44IDMwLjEtODguMWMuOS0xLjIgMS41LTIuMiAxLjctMi44Yy4xLS4zIC4yLS41IC4yLS42TDQ4IDExMnpNMjA4IDM2OGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC43YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA1MC43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM3pcIl1cbn07XG5jb25zdCBmYVRlbXBlcmF0dXJlMSA9IGZhVGVtcGVyYXR1cmVRdWFydGVyO1xuY29uc3QgZmFUaGVybW9tZXRlcjEgPSBmYVRlbXBlcmF0dXJlUXVhcnRlcjtcbmNvbnN0IGZhVGhlcm1vbWV0ZXJRdWFydGVyID0gZmFUZW1wZXJhdHVyZVF1YXJ0ZXI7XG5jb25zdCBmYUN1YmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3ViZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjFiMlwiLCBcIk0yMzQuNSA1LjdjMTMuOS01IDI5LjEtNSA0My4xIDBsMTkyIDY4LjZDNDk1IDgzLjQgNTEyIDEwNy41IDUxMiAxMzQuNmwwIDI0Mi45YzAgMjctMTcgNTEuMi00Mi41IDYwLjNsLTE5MiA2OC42Yy0xMy45IDUtMjkuMSA1LTQzLjEgMGwtMTkyLTY4LjZDMTcgNDI4LjYgMCA0MDQuNSAwIDM3Ny40TDAgMTM0LjZjMC0yNyAxNy01MS4yIDQyLjUtNjAuM2wxOTItNjguNnpNMjU2IDY2TDgyLjMgMTI4IDI1NiAxOTBsMTczLjctNjJMMjU2IDY2em0zMiAzNjguNmwxNjAtNTcuMSAwLTE4OEwyODggMjQ2LjZsMCAxODh6XCJdXG59O1xuY29uc3QgZmFCaXRjb2luU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiaXRjb2luLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImUwYjRcIiwgXCJNNDggMzJDNDggMTQuMyA2Mi4zIDAgODAgMHMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMmMwIDEuNS0uMSAzLjEtLjMgNC41QzI1NC4xIDgyLjIgMjg4IDEyNS4xIDI4OCAxNzZjMCAyNC4yLTcuNyA0Ni42LTIwLjcgNjQuOWMzMS43IDE5LjggNTIuNyA1NSA1Mi43IDk1LjFjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTYuMyAwQzE4LjcgNDQ4IDAgNDI5LjMgMCA0MDYuM0wwIDI4OGwwLTIyLjNMMCAyMjQgMCAxMDEuNkMwIDgwLjggMTYuOCA2NCAzNy42IDY0TDQ4IDY0bDAtMzJ6TTY0IDIyNGwxMTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OEw2NCAxMjhsMCA5NnptMTEyIDY0TDY0IDI4OGwwIDk2IDE0NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhU2hpZWxkRG9nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1kb2cnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NzNcIiwgXCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjJjLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yYzE2LjcgOCAzNi4xIDggNTIuOCAwQzQ1NC43IDQyMC43IDQ5NS41IDIzOS4yIDQ5NiAxNDBjLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTYwLjkgMjg2LjJjNC44IDEuMiA5LjkgMS44IDE1LjEgMS44YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjQgNDQuMiAwYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDE5Mmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgNDQuMi0zNS44IDgwLTgwIDgwbC00OCAwIDAgNTAuN2MwIDcuMy01LjkgMTMuMy0xMy4zIDEzLjNjLTEuOCAwLTMuNi0uNC01LjItMS4xbC05OC43LTQyLjNjLTYuNi0yLjgtMTAuOC05LjMtMTAuOC0xNi40YzAtMi44IC42LTUuNSAxLjktOGwxNS0zMHpNMTYwIDE2MGw0MCAwIDggMCAwIDMyIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00OGMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbmNvbnN0IGZhU29sYXJQYW5lbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzb2xhci1wYW5lbCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjViYVwiLCBcIk0xMjIuMiAwQzkxLjcgMCA2NS41IDIxLjUgNTkuNSA1MS40TDguMyAzMDcuNEMuNCAzNDcgMzAuNiAzODQgNzEgMzg0bDIxNyAwIDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTY0IDIxNyAwYzQwLjQgMCA3MC43LTM2LjkgNjIuOC03Ni42bC01MS4yLTI1NkM1NzQuNSAyMS41IDU0OC4zIDAgNTE3LjggMEwxMjIuMiAwek0yNjAuOSA2NGwxMTguMiAwIDEwLjQgMTA0LTEzOSAwTDI2MC45IDY0ek0yMDIuMyAxNjhsLTEwMC44IDBMMTIyLjIgNjRsOTAuNCAwTDIwMi4zIDE2OHpNOTEuOCAyMTZsMTA1LjYgMEwxODcuMSAzMjAgNzEgMzIwIDkxLjggMjE2em0xNTMuOSAwbDE0OC42IDAgMTAuNCAxMDQtMTY5LjQgMCAxMC40LTEwNHptMTk2LjggMGwxMDUuNiAwTDU2OSAzMjBsLTExNiAwTDQ0Mi41IDIxNnptOTYtNDhsLTEwMC44IDBMNDI3LjMgNjRsOTAuNCAwIDMxLjQtNi4zTDUxNy44IDY0bDIwLjggMTA0elwiXVxufTtcbmNvbnN0IGZhTG9ja09wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbG9jay1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmM2MxXCIsIFwiTTM1MiAxNDRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00OEM1NzYgNjQuNSA1MTEuNSAwIDQzMiAwUzI4OCA2NC41IDI4OCAxNDRsMCA0OEw2NCAxOTJjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAtNDh6XCJdXG59O1xuY29uc3QgZmFFbGV2YXRvciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGV2YXRvcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTE2ZFwiLCBcIk0xMzIuNyA0LjdsLTY0IDY0Yy00LjYgNC42LTUuOSAxMS41LTMuNSAxNy40czguMyA5LjkgMTQuOCA5LjlsMTI4IDBjNi41IDAgMTIuMy0zLjkgMTQuOC05LjlzMS4xLTEyLjktMy41LTE3LjRsLTY0LTY0Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAxMjh6bTk2IDk2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNODAgNDAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDY0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNnptMTkyIDBjMC0yNi41IDIxLjUtNDggNDgtNDhsNjQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2em0zMi0xMjhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMzU2LjcgOTEuM2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzQzOC41IDAgNDMyIDBMMzA0IDBjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGw2NCA2NHpcIl1cbn07XG5jb25zdCBmYU1vbmV5QmlsbFRyYW5zZmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vbmV5LWJpbGwtdHJhbnNmZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MjhcIiwgXCJNNTM1IDQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNjQgNjRjNC41IDQuNSA3IDEwLjYgNyAxN3MtMi41IDEyLjUtNyAxN2wtNjQgNjRjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMjMtMjNMMzg0IDExMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNzQuMSAwTDUzNSA0MXpNMTA1IDM3N2wtMjMgMjNMMjU2IDQwMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4MS45IDQ0OGwyMyAyM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgNDQxYy00LjUtNC41LTctMTAuNi03LTE3czIuNS0xMi41IDctMTdsNjQtNjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45ek05NiA2NGwyNDEuOSAwYy0zLjcgNy4yLTUuOSAxNS4zLTUuOSAyNGMwIDI4LjcgMjMuMyA1MiA1MiA1MmwxMTcuNCAwYy00IDE3IC42IDM1LjUgMTMuOCA0OC44YzIwLjMgMjAuMyA1My4yIDIwLjMgNzMuNSAwTDYwOCAxNjkuNSA2MDggMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yNDEuOSAwYzMuNy03LjIgNS45LTE1LjMgNS45LTI0YzAtMjguNy0yMy4zLTUyLTUyLTUybC0xMTcuNCAwYzQtMTctLjYtMzUuNS0xMy44LTQ4LjhjLTIwLjMtMjAuMy01My4yLTIwLjMtNzMuNSAwTDMyIDM0Mi41IDMyIDEyOGMwLTM1LjMgMjguNy02NCA2NC02NHptNjQgNjRsLTY0IDAgMCA2NGMzNS4zIDAgNjQtMjguNyA2NC02NHpNNTQ0IDMyMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsNjQgMCAwLTY0ek0zMjAgMzUyYTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyelwiXVxufTtcbmNvbnN0IGZhTW9uZXlCaWxsVHJlbmRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLXRyZW5kLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTI5XCIsIFwiTTQ3MC43IDkuNGMzIDMuMSA1LjMgNi42IDYuOSAxMC4zczIuNCA3LjggMi40IDEyLjJjMCAwIDAgLjEgMCAuMWMwIDAgMCAwIDAgMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguN0wzMTAuNiAyMTQuNmMtMTEuOCAxMS44LTMwLjggMTIuNi00My41IDEuN0wxNzYgMTM4LjEgODQuOCAyMTYuM2MtMTMuNCAxMS41LTMzLjYgOS45LTQ1LjEtMy41cy05LjktMzMuNiAzLjUtNDUuMWwxMTItOTZjMTItMTAuMyAyOS43LTEwLjMgNDEuNyAwbDg5LjUgNzYuN0wzNzAuNyA2NCAzNTIgNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMHMwIDAgMCAwYzguOCAwIDE2LjggMy42IDIyLjYgOS4zbC4xIC4xek0wIDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OGw0MTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzA0ek00OCA0MTZsMCA0OCA0OCAwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek05NiAzMDRsLTQ4IDAgMCA0OGMyNi41IDAgNDgtMjEuNSA0OC00OHpNNDY0IDQxNmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsNDggMCAwLTQ4ek00MTYgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDAtNDgtNDggMHptLTk2IDgwYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTBmXCIsIFwiTTI4OCAxNDRBMTQ0IDE0NCAwIDEgMCAwIDE0NGExNDQgMTQ0IDAgMSAwIDI4OCAwek0xNDAuNyA3Ni43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDU2IDU2YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC01NiA1NmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkwxNjkuNCAxNjAgODAgMTYwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDg5LjQgMEwxNDAuNyA5OS4zYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnpNMzIwIDE0NGMwIDU3LjMtMjcuNCAxMDguMi02OS44IDE0MC4zYzExLjgtMy42IDIzLTkuNCAzMy0xNi4yYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjQgNzguMSAzLjRjMi4xIDEuNyA0LjIgMy4zIDYuNSA0LjlsLS4zLTg0LjQgMTYuNiAwYzEzLjkgMCAyNi4xLTguOSAzMC40LTIyLjFzLS40LTI3LjYtMTEuNi0zNS44bC0xNzYtMTI4QzQwNy42LTIgMzkyLjQtMiAzODEuMiA2LjFMMzAxIDY0LjRjMTIuMSAyMy45IDE5IDUwLjkgMTkgNzkuNnptMTguNSAxNjUuOWMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNzkgMzI1LjQgMjUxLjUgMzM2IDIyNCAzMzZjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xYzAgMCAwIDAgMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzE1OC41IDM4OS43IDE5MSA0MDAgMjI0IDQwMGMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC42IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS41LTI3LjMtMTAuMS0zOS4yLTEuN2MwIDAgMCAwIDAgMEM0NzEuNCAzMjUuMiA0NDIuOSAzMzYgNDE2IDMzNmMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xem0wIDExMmMtMTEuMS03LjktMjUuOS03LjktMzcgMEMyNzkgNDM3LjQgMjUxLjUgNDQ4IDIyNCA0NDhjLTI2LjkgMC01NS4zLTEwLjgtNzcuNC0yNi4xYzAgMCAwIDAgMCAwYy0xMS45LTguNS0yOC4xLTcuOC0zOS4yIDEuN2MtMTQuNCAxMS45LTMyLjUgMjEtNTAuNiAyNS4yYy0xNy4yIDQtMjcuOSAyMS4yLTIzLjkgMzguNHMyMS4yIDI3LjkgMzguNCAyMy45YzI0LjUtNS43IDQ0LjktMTYuNSA1OC4yLTI1QzE1OC41IDUwMS43IDE5MSA1MTIgMjI0IDUxMmMzMS45IDAgNjAuNi05LjkgODAuNC0xOC45YzUuOC0yLjcgMTEuMS01LjMgMTUuNi03LjdjNC41IDIuNCA5LjcgNS4xIDE1LjYgNy43YzE5LjggOSA0OC42IDE4LjkgODAuNCAxOC45YzMzIDAgNjUuNS0xMC4zIDk0LjUtMjUuOGMxMy40IDguNCAzMy43IDE5LjMgNTguMiAyNWMxNy4yIDQgMzQuNC02LjcgMzguNC0yMy45cy02LjctMzQuNC0yMy45LTM4LjRjLTE4LjEtNC4yLTM2LjItMTMuMy01MC42LTI1LjJjLTExLjEtOS40LTI3LjMtMTAuMS0zOS4yLTEuN2MwIDAgMCAwIDAgMEM0NzEuNCA0MzcuMiA0NDIuOSA0NDggNDE2IDQ0OGMtMjcuNSAwLTU1LTEwLjYtNzcuNS0yNi4xelwiXVxufTtcbmNvbnN0IGZhU3F1YXJlUG9sbEhvcml6b250YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLXBvbGwtaG9yaXpvbnRhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicG9sbC1oXCJdLCBcImY2ODJcIiwgXCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI1NiAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnptNjQgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE5MiAwek0xOTIgMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFQb2xsSCA9IGZhU3F1YXJlUG9sbEhvcml6b250YWw7XG5jb25zdCBmYUNpcmNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMDgsIDEyODMwOSwgMTI4OTkyLCAxMjg5OTMsIDEyODk5NCwgMTI4OTk1LCAxMjg5OTYsIDk2NzksIDk4OTgsIDk4OTksIDExMDQ0LCA2MTcwOCwgNjE5MTVdLCBcImYxMTFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6XCJdXG59O1xuY29uc3QgZmFCYWNrd2FyZEZhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFja3dhcmQtZmFzdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTgsIFwiZmFzdC1iYWNrd2FyZFwiXSwgXCJmMDQ5XCIsIFwiTTQ5My42IDQ0NWMtMTEuMiA1LjMtMjQuNSAzLjYtMzQuMS00LjRMMjg4IDI5Ny43IDI4OCA0MTZjMCAxMi40LTcuMiAyMy43LTE4LjQgMjlzLTI0LjUgMy42LTM0LjEtNC40TDY0IDI5Ny43IDY0IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkwwIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0czMyIDE0LjMgMzIgMzJsMCAxMTguM0wyMzUuNSA3MS40YzkuNS03LjkgMjIuOC05LjcgMzQuMS00LjRTMjg4IDgzLjYgMjg4IDk2bDAgMTE4LjNMNDU5LjUgNzEuNGM5LjUtNy45IDIyLjgtOS43IDM0LjEtNC40UzUxMiA4My42IDUxMiA5NmwwIDMyMGMwIDEyLjQtNy4yIDIzLjctMTguNCAyOXpcIl1cbn07XG5jb25zdCBmYUZhc3RCYWNrd2FyZCA9IGZhQmFja3dhcmRGYXN0O1xuY29uc3QgZmFSZWN5Y2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY3ljbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODQyLCA5ODUwLCA5ODUxXSwgXCJmMWI4XCIsIFwiTTE3NC43IDQ1LjFDMTkyLjIgMTcgMjIzIDAgMjU2IDBzNjMuOCAxNyA4MS4zIDQ1LjFsMzguNiA2MS43IDI3LTE1LjZjOC40LTQuOSAxOC45LTQuMiAyNi42IDEuN3MxMS4xIDE1LjkgOC42IDI1LjNsLTIzLjQgODcuNGMtMy40IDEyLjgtMTYuNiAyMC40LTI5LjQgMTdsLTg3LjQtMjMuNGMtOS40LTIuNS0xNi4zLTEwLjQtMTcuNi0yMHMzLjQtMTkuMSAxMS44LTIzLjlsMjguNC0xNi40TDI4MyA3OWMtNS44LTkuMy0xNi0xNS0yNy0xNXMtMjEuMiA1LjctMjcgMTVsLTE3LjUgMjhjLTkuMiAxNC44LTI4LjYgMTkuNS00My42IDEwLjVjLTE1LjMtOS4yLTIwLjItMjkuMi0xMC43LTQ0LjRsMTcuNS0yOHpNNDI5LjUgMjUxLjljMTUtOSAzNC40LTQuMyA0My42IDEwLjVsMjQuNCAzOS4xYzkuNCAxNS4xIDE0LjQgMzIuNCAxNC42IDUwLjJjLjMgNTMuMS00Mi43IDk2LjQtOTUuOCA5Ni40TDMyMCA0NDhsMCAzMmMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNjQtNjRjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4ybDAgMzIgOTYuMiAwYzE3LjYgMCAzMS45LTE0LjQgMzEuOC0zMmMwLTUuOS0xLjctMTEuNy00LjgtMTYuN2wtMjQuNC0zOS4xYy05LjUtMTUuMi00LjctMzUuMiAxMC43LTQ0LjR6bS0zNjQuNi0zMUwzNiAyMDQuMmMtOC40LTQuOS0xMy4xLTE0LjMtMTEuOC0yMy45czguMi0xNy41IDE3LjYtMjBsODcuNC0yMy40YzEyLjgtMy40IDI2IDQuMiAyOS40IDE3TDE4MiAyNDEuMmMyLjUgOS40LS45IDE5LjMtOC42IDI1LjNzLTE4LjIgNi42LTI2LjYgMS43bC0yNi41LTE1LjNMNjguOCAzMzUuM2MtMy4xIDUtNC44IDEwLjgtNC44IDE2LjdjLS4xIDE3LjYgMTQuMiAzMiAzMS44IDMybDMyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIuMiAwQzQyLjcgNDQ4LS4zIDQwNC44IDAgMzUxLjZjLjEtMTcuOCA1LjEtMzUuMSAxNC42LTUwLjJsNTAuMy04MC41elwiXVxufTtcbmNvbnN0IGZhVXNlckFzdHJvbmF1dCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWFzdHJvbmF1dCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjRmYlwiLCBcIk0zNzAuNyA5Ni4xQzM0Ni4xIDM5LjUgMjg5LjcgMCAyMjQgMFMxMDEuOSAzOS41IDc3LjMgOTYuMUM2MC45IDk3LjUgNDggMTExLjIgNDggMTI4bDAgNjRjMCAxNi44IDEyLjkgMzAuNSAyOS4zIDMxLjlDMTAxLjkgMjgwLjUgMTU4LjMgMzIwIDIyNCAzMjBzMTIyLjEtMzkuNSAxNDYuNy05Ni4xYzE2LjQtMS40IDI5LjMtMTUuMSAyOS4zLTMxLjlsMC02NGMwLTE2LjgtMTIuOS0zMC41LTI5LjMtMzEuOXpNMzM2IDE0NGwwIDE2YzAgNTMtNDMgOTYtOTYgOTZsLTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZsMC0xNmMwLTI2LjUgMjEuNS00OCA0OC00OGwxMjggMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTg5LjMgMTYyLjdsLTYtMjEuMmMtLjktMy4zLTMuOS01LjUtNy4zLTUuNXMtNi40IDIuMi03LjMgNS41bC02IDIxLjItMjEuMiA2Yy0zLjMgLjktNS41IDMuOS01LjUgNy4zczIuMiA2LjQgNS41IDcuM2wyMS4yIDYgNiAyMS4yYy45IDMuMyAzLjkgNS41IDcuMyA1LjVzNi40LTIuMiA3LjMtNS41bDYtMjEuMiAyMS4yLTZjMy4zLS45IDUuNS0zLjkgNS41LTcuM3MtMi4yLTYuNC01LjUtNy4zbC0yMS4yLTZ6TTExMi43IDMxNi41QzQ2LjcgMzQyLjYgMCA0MDcgMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEybDk4LjMgMCAwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjQgOTguMyAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43YzAtNzUuMy00Ni43LTEzOS43LTExMi43LTE2NS44QzMwMy45IDMzOC44IDI2NS41IDM1MiAyMjQgMzUycy03OS45LTEzLjItMTExLjMtMzUuNXpNMTc2IDQ0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDggMzIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNnptOTYgMzJhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbmNvbnN0IGZhUGxhbmVTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFuZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2OVwiLCBcIk01MTQuMyAxOTJjMzQuMiAwIDkzLjcgMjkgOTMuNyA2NGMwIDM2LTU5LjUgNjQtOTMuNyA2NGwtNzMuOCAwTDYzMC44IDQ2OS4xYzEwLjQgOC4yIDEyLjMgMjMuMyA0LjEgMzMuN3MtMjMuMyAxMi4zLTMzLjcgNC4xTDkuMiA0Mi45Qy0xLjIgMzQuNy0zLjEgMTkuNiA1LjEgOS4yUzI4LjQtMy4xIDM4LjggNS4xTDIzOC4xIDE2MS4zIDE5Ny44IDIwLjRDMTk0LjkgMTAuMiAyMDIuNiAwIDIxMy4yIDBsNTYuMiAwYzExLjUgMCAyMi4xIDYuMiAyNy44IDE2LjFMMzk3LjcgMTkybDExNi42IDB6TTQxLjUgMTI4LjdsMzIxIDI1Mi45TDI5Ny4yIDQ5NS45Yy01LjcgMTAtMTYuMyAxNi4xLTI3LjggMTYuMWwtNTYuMiAwYy0xMC42IDAtMTguMy0xMC4yLTE1LjQtMjAuNGw0OS0xNzEuNkwxNDQgMzIwbC00My4yIDU3LjZjLTMgNC03LjggNi40LTEyLjggNi40bC00MiAwYy03LjggMC0xNC02LjMtMTQtMTRjMC0xLjMgLjItMi42IC41LTMuOUw2NCAyNTYgMzIuNSAxNDUuOWMtLjQtMS4zLS41LTIuNi0uNS0zLjljMC02LjIgNC0xMS40IDkuNS0xMy4zelwiXVxufTtcbmNvbnN0IGZhVHJhZGVtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWRlbWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgWzg0ODJdLCBcImYyNWNcIiwgXCJNMzQ1LjYgMTA4LjhjLTguMy0xMS0yMi43LTE1LjUtMzUuNy0xMS4yUzI4OCAxMTQuMiAyODggMTI4bDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjAgODYuNCAxMTUuMmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44czE5LjYtNC43IDI1LjYtMTIuOEw1NzYgMjI0bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTZjMC0xMy44LTguOC0yNi0yMS45LTMwLjRzLTI3LjUgLjEtMzUuNyAxMS4yTDQ2NCAyNjYuNyAzNDUuNiAxMDguOHpNMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMCAwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4elwiXVxufTtcbmNvbnN0IGZhQmFza2V0YmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXNrZXRiYWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTM2LCBcImJhc2tldGJhbGwtYmFsbFwiXSwgXCJmNDM0XCIsIFwiTTg2LjYgNjRsODUuMiA4NS4yQzE5NC41IDEyMS43IDIwOCA4Ni40IDIwOCA0OGMwLTE0LjctMi0yOC45LTUuNy00Mi40QzE1OC42IDE1IDExOSAzNS41IDg2LjYgNjR6TTY0IDg2LjZDMzUuNSAxMTkgMTUgMTU4LjYgNS42IDIwMi4zQzE5LjEgMjA2IDMzLjMgMjA4IDQ4IDIwOGMzOC40IDAgNzMuNy0xMy41IDEwMS4zLTM2LjFMNjQgODYuNnpNMjU2IDBjLTcuMyAwLTE0LjYgLjMtMjEuOCAuOUMyMzggMTYgMjQwIDMxLjggMjQwIDQ4YzAgNDcuMy0xNy4xIDkwLjUtNDUuNCAxMjRMMjU2IDIzMy40IDQyNS40IDY0QzM4MC4yIDI0LjIgMzIwLjkgMCAyNTYgMHpNNDggMjQwYy0xNi4yIDAtMzItMi00Ny4xLTUuOEMuMyAyNDEuNCAwIDI0OC43IDAgMjU2YzAgNjQuOSAyNC4yIDEyNC4yIDY0IDE2OS40TDIzMy40IDI1NiAxNzIgMTk0LjZDMTM4LjUgMjIyLjkgOTUuMyAyNDAgNDggMjQwem00NjMuMSAzNy44Yy42LTcuMiAuOS0xNC41IC45LTIxLjhjMC02NC45LTI0LjItMTI0LjItNjQtMTY5LjRMMjc4LjYgMjU2IDM0MCAzMTcuNGMzMy40LTI4LjMgNzYuNy00NS40IDEyNC00NS40YzE2LjIgMCAzMiAyIDQ3LjEgNS44em0tNC43IDMxLjlDNDkyLjkgMzA2IDQ3OC43IDMwNCA0NjQgMzA0Yy0zOC40IDAtNzMuNyAxMy41LTEwMS4zIDM2LjFMNDQ4IDQyNS40YzI4LjUtMzIuMyA0OS4xLTcxLjkgNTguNC0xMTUuN3pNMzQwLjEgMzYyLjdDMzE3LjUgMzkwLjMgMzA0IDQyNS42IDMwNCA0NjRjMCAxNC43IDIgMjguOSA1LjcgNDIuNEMzNTMuNCA0OTcgMzkzIDQ3Ni41IDQyNS40IDQ0OGwtODUuMi04NS4yek0zMTcuNCAzNDBMMjU2IDI3OC42IDg2LjYgNDQ4YzQ1LjEgMzkuOCAxMDQuNCA2NCAxNjkuNCA2NGM3LjMgMCAxNC42LS4zIDIxLjgtLjlDMjc0IDQ5NiAyNzIgNDgwLjIgMjcyIDQ2NGMwLTQ3LjMgMTcuMS05MC41IDQ1LjQtMTI0elwiXVxufTtcbmNvbnN0IGZhQmFza2V0YmFsbEJhbGwgPSBmYUJhc2tldGJhbGw7XG5jb25zdCBmYVNhdGVsbGl0ZURpc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2F0ZWxsaXRlLWRpc2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyMjVdLCBcImY3YzBcIiwgXCJNMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyQzM4My4xIDAgNTEyIDEyOC45IDUxMiAyODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJDNDQ4IDE2NC4zIDM0Ny43IDY0IDIyNCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTYwLjYgMjIwLjZMMTY0LjcgMzI0LjdsMjguNC0yOC40Yy0uNy0yLjYtMS4xLTUuNC0xLjEtOC4zYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTIuOSAwLTUuNi0uNC04LjMtMS4xbC0yOC40IDI4LjRMMjkxLjQgNDUxLjRjMTQuNSAxNC41IDExLjggMzguOC03LjMgNDYuM0MyNjAuNSA1MDYuOSAyMzQuOSA1MTIgMjA4IDUxMkM5My4xIDUxMiAwIDQxOC45IDAgMzA0YzAtMjYuOSA1LjEtNTIuNSAxNC40LTc2LjFjNy41LTE5IDMxLjgtMjEuOCA0Ni4zLTcuM3pNMjI0IDk2YzEwNiAwIDE5MiA4NiAxOTIgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE0NjcsIFwiYXJyb3ctYWx0LWNpcmNsZS11cFwiXSwgXCJmMzViXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyem0xMS4zLTM5NS4zbDExMiAxMTJjNC42IDQuNiA1LjkgMTEuNSAzLjUgMTcuNHMtOC4zIDkuOS0xNC44IDkuOWwtNjQgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2LTY0IDBjLTYuNSAwLTEyLjMtMy45LTE0LjgtOS45cy0xLjEtMTIuOSAzLjUtMTcuNGwxMTItMTEyYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dBbHRDaXJjbGVVcCA9IGZhQ2lyY2xlVXA7XG5jb25zdCBmYU1vYmlsZVNjcmVlbkJ1dHRvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb2JpbGUtc2NyZWVuLWJ1dHRvbicsXG4gIGljb246IFszODQsIDUxMiwgW1wibW9iaWxlLWFsdFwiXSwgXCJmM2NkXCIsIFwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBMMzA0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwxNiA2NHpNMjI0IDQ0OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMDQgNjRMODAgNjRsMCAzMjAgMjI0IDAgMC0zMjB6XCJdXG59O1xuY29uc3QgZmFNb2JpbGVBbHQgPSBmYU1vYmlsZVNjcmVlbkJ1dHRvbjtcbmNvbnN0IGZhVm9sdW1lSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2b2x1bWUtaGlnaCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODI2NiwgXCJ2b2x1bWUtdXBcIl0sIFwiZjAyOFwiLCBcIk01MzMuNiAzMi41QzU5OC41IDg1LjIgNjQwIDE2NS44IDY0MCAyNTZzLTQxLjUgMTcwLjctMTA2LjQgMjIzLjVjLTEwLjMgOC40LTI1LjQgNi44LTMzLjgtMy41cy02LjgtMjUuNCAzLjUtMzMuOEM1NTcuNSAzOTguMiA1OTIgMzMxLjIgNTkyIDI1NnMtMzQuNS0xNDIuMi04OC43LTE4Ni4zYy0xMC4zLTguNC0xMS44LTIzLjUtMy41LTMzLjhzMjMuNS0xMS44IDMzLjgtMy41ek00NzMuMSAxMDdjNDMuMiAzNS4yIDcwLjkgODguOSA3MC45IDE0OXMtMjcuNyAxMTMuOC03MC45IDE0OWMtMTAuMyA4LjQtMjUuNCA2LjgtMzMuOC0zLjVzLTYuOC0yNS40IDMuNS0zMy44QzQ3NS4zIDM0MS4zIDQ5NiAzMDEuMSA0OTYgMjU2cy0yMC43LTg1LjMtNTMuMi0xMTEuOGMtMTAuMy04LjQtMTEuOC0yMy41LTMuNS0zMy44czIzLjUtMTEuOCAzMy44LTMuNXptLTYwLjUgNzQuNUM0MzQuMSAxOTkuMSA0NDggMjI1LjkgNDQ4IDI1NnMtMTMuOSA1Ni45LTM1LjQgNzQuNWMtMTAuMyA4LjQtMjUuNCA2LjgtMzMuOC0zLjVzLTYuOC0yNS40IDMuNS0zMy44QzM5My4xIDI4NC40IDQwMCAyNzEgNDAwIDI1NnMtNi45LTI4LjQtMTcuNy0zNy4zYy0xMC4zLTguNC0xMS44LTIzLjUtMy41LTMzLjhzMjMuNS0xMS44IDMzLjgtMy41ek0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NGwwIDM4NGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1MiA2NCAzNTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjcuOCAwTDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6XCJdXG59O1xuY29uc3QgZmFWb2x1bWVVcCA9IGZhVm9sdW1lSGlnaDtcbmNvbnN0IGZhVXNlcnNSYXlzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLXJheXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTNcIiwgXCJNNDEgN0MzMS42LTIuMyAxNi40LTIuMyA3IDdTLTIuMyAzMS42IDcgNDFsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQxIDd6TTU5OSA3TDUyNyA3OWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDcyLTcyYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDB6TTcgNTA1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDcyLTcyYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNyA0NzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45em01OTIgMGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTcyLTcyYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyek0zMjAgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4ek0yMTIuMSAzMzZjLTIuNyA3LjUtNC4xIDE1LjYtNC4xIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0YzAtOC40LTEuNC0xNi41LTQuMS0yNGMtLjUtMS40LTEtMi43LTEuNi00Yy05LjQtMjIuMy0yOS44LTM4LjktNTQuMy00M2MtMy45LS43LTcuOS0xLTEyLTFsLTgwIDBjLTQuMSAwLTguMSAuMy0xMiAxYy0uOCAuMS0xLjcgLjMtMi41IC41Yy0yNC45IDUuMS00NS4xIDIzLTUzLjQgNDYuNXpNMTc1LjggMjI0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTI2LjUgMzJDMTE5LjkgMjU2IDk2IDI3OS45IDk2IDMwOS4zYzAgMTQuNyAxMS45IDI2LjcgMjYuNyAyNi43bDU2LjEgMGM4LTM0LjEgMzIuOC02MS43IDY1LjItNzMuNmMtNy41LTQuMS0xNi4yLTYuNC0yNS4zLTYuNGwtNjkuMyAwem0zNjggODBjMTQuNyAwIDI2LjctMTEuOSAyNi43LTI2LjdjMC0yOS41LTIzLjktNTMuMy01My4zLTUzLjNsLTY5LjMgMGMtOS4yIDAtMTcuOCAyLjMtMjUuMyA2LjRjMzIuNCAxMS45IDU3LjIgMzkuNSA2NS4yIDczLjZsNTYuMSAwek00NjQgMjI0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG5jb25zdCBmYVdhbGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YWxsZXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1NTVcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NEw4MCAxMjhjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMzY4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNjQgMzJ6TTQxNiAyNzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQ2xpcGJvYXJkQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xpcGJvYXJkLWNoZWNrJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDZjXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTM3LjUgMEMyNjkuNCAyNi43IDIzMy44IDAgMTkyIDB6bTAgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0zMDUgMjczTDE3NyA0MDFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDc5IDMzN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQ3IDQ3TDI3MSAyMzljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45elwiXVxufTtcbmNvbnN0IGZhRmlsZUF1ZGlvID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtYXVkaW8nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzdcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODgtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDIyNCAwIDY0IDB6TTI1NiAwbDAgMTI4IDEyOCAwTDI1NiAwem0yIDIyNi4zYzM3LjEgMjIuNCA2MiA2My4xIDYyIDEwOS43cy0yNC45IDg3LjMtNjIgMTA5LjdjLTcuNiA0LjYtMTcuNCAyLjEtMjItNS40cy0yLjEtMTcuNCA1LjQtMjJDMjY5LjQgNDAxLjUgMjg4IDM3MC45IDI4OCAzMzZzLTE4LjYtNjUuNS00Ni41LTgyLjNjLTcuNi00LjYtMTAtMTQuNC01LjQtMjJzMTQuNC0xMCAyMi01LjR6bS05MS45IDMwLjljNiAyLjUgOS45IDguMyA5LjkgMTQuOGwwIDEyOGMwIDYuNS0zLjkgMTIuMy05LjkgMTQuOHMtMTIuOSAxLjEtMTcuNC0zLjVMMTEzLjQgMzc2IDgwIDM3NmMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDhjMC04LjggNy4yLTE2IDE2LTE2bDMzLjQgMCAzNS4zLTM1LjNjNC42LTQuNiAxMS41LTUuOSAxNy40LTMuNXptNTEgMzQuOWM2LjYtNS45IDE2LjctNS4zIDIyLjYgMS4zQzI0OS44IDMwNC42IDI1NiAzMTkuNiAyNTYgMzM2cy02LjIgMzEuNC0xNi4zIDQyLjdjLTUuOSA2LjYtMTYgNy4xLTIyLjYgMS4zcy03LjEtMTYtMS4zLTIyLjZjNS4xLTUuNyA4LjEtMTMuMSA4LjEtMjEuM3MtMy4xLTE1LjctOC4xLTIxLjNjLTUuOS02LjYtNS4zLTE2LjcgMS4zLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFCdXJnZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVyZ2VyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJoYW1idXJnZXJcIl0sIFwiZjgwNVwiLCBcIk02MS4xIDIyNEM0NSAyMjQgMzIgMjExIDMyIDE5NC45YzAtMS45IC4yLTMuNyAuNi01LjZDMzcuOSAxNjguMyA3OC44IDMyIDI1NiAzMnMyMTguMSAxMzYuMyAyMjMuNCAxNTcuM2MuNSAxLjkgLjYgMy43IC42IDUuNmMwIDE2LjEtMTMgMjkuMS0yOS4xIDI5LjFMNjEuMSAyMjR6TTE0NCAxMjhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMjQwIDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpNMjcyIDk2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6TTE2IDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OGwzODQgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEw2NCAzNTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4em0xNiA5NmMwLTguOCA3LjItMTYgMTYtMTZsNDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE2elwiXVxufTtcbmNvbnN0IGZhSGFtYnVyZ2VyID0gZmFCdXJnZXI7XG5jb25zdCBmYVdyZW5jaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3cmVuY2gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyOTVdLCBcImYwYWRcIiwgXCJNMzUyIDMyMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MGMwLTE1LjMtMi4yLTMwLjEtNi4yLTQ0LjJjLTMuMS0xMC44LTE2LjQtMTMuMi0yNC4zLTUuM2wtNzYuOCA3Ni44Yy0zIDMtNy4xIDQuNy0xMS4zIDQuN0wzMzYgMTkyYy04LjggMC0xNi03LjItMTYtMTZsMC01Ny40YzAtNC4yIDEuNy04LjMgNC43LTExLjNsNzYuOC03Ni44YzcuOS03LjkgNS40LTIxLjItNS4zLTI0LjNDMzgyLjEgMi4yIDM2Ny4zIDAgMzUyIDBDMjYzLjYgMCAxOTIgNzEuNiAxOTIgMTYwYzAgMTkuMSAzLjQgMzcuNSA5LjUgNTQuNUwxOS45IDM5Ni4xQzcuMiA0MDguOCAwIDQyNi4xIDAgNDQ0LjFDMCA0ODEuNiAzMC40IDUxMiA2Ny45IDUxMmMxOCAwIDM1LjMtNy4yIDQ4LTE5LjlMMjk3LjUgMzEwLjVjMTcgNi4yIDM1LjQgOS41IDU0LjUgOS41ek04MCA0MDhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQnVncyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidWdzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGQwXCIsIFwiTTE2NC41IDEwNy40bDMzLjQtNzMuNWM1LjUtMTIuMSAuMS0yNi4zLTExLjktMzEuOHMtMjYuMy0uMS0zMS44IDExLjlMMTI4IDcxLjcgMTAxLjkgMTQuMUM5Ni40IDIgODIuMS0zLjMgNzAuMSAyLjFTNTIuNyAyMS45IDU4LjEgMzMuOWwzMy40IDczLjVjLTEwLjIgNy4xLTE4LjIgMTctMjIuOSAyOC42bC0xNyAwLTQuMS0yMC43Yy0yLjYtMTMtMTUuMi0yMS40LTI4LjItMTguOFMtMi4xIDExMS43IC41IDEyNC43bDggNDBDMTAuNyAxNzUuOSAyMC42IDE4NCAzMiAxODRsMzIgMCAwIDIzLjMtMzcuOCA5LjVjLTkuNSAyLjQtMTYuNiAxMC4yLTE3LjkgMTkuOWwtOCA1NmMtMS45IDEzLjEgNy4yIDI1LjMgMjAuNCAyNy4yczI1LjMtNy4yIDI3LjItMjAuNGw1LjctNDAgMTguNC00LjZDODIuNyAyNzQuNiAxMDMuOCAyODggMTI4IDI4OHM0NS4zLTEzLjQgNTYuMS0zMy4ybDE4LjQgNC42IDUuNyA0MGMxLjkgMTMuMSAxNCAyMi4yIDI3LjIgMjAuNHMyMi4yLTE0IDIwLjQtMjcuMmwtOC01NmMtMS40LTkuNy04LjUtMTcuNS0xNy45LTE5LjlMMTkyIDIwNy4zbDAtMjMuMyAzMiAwYzExLjQgMCAyMS4zLTguMSAyMy41LTE5LjNsOC00MGMyLjYtMTMtNS44LTI1LjYtMTguOC0yOC4ycy0yNS42IDUuOC0yOC4yIDE4LjhMMjA0LjMgMTM2bC0xNyAwYy00LjctMTEuNi0xMi43LTIxLjUtMjIuOS0yOC42ek00OTYgMjg2LjVsNjUuNi00N2MxMC44LTcuNyAxMy4zLTIyLjcgNS42LTMzLjVzLTIyLjctMTMuMy0zMy41LTUuNmwtNTEuNCAzNi44IDYuMS02Mi45YzEuMy0xMy4yLTguNC0yNC45LTIxLjYtMjYuMnMtMjQuOSA4LjQtMjYuMiAyMS42TDQzMi44IDI1MGMtMTIuMyAxLTI0LjIgNS42LTM0LjEgMTMuM0wzODQgMjU0LjhsNi44LTIwYzQuMi0xMi42LTIuNS0yNi4yLTE1LTMwLjRzLTI2LjIgMi41LTMwLjQgMTVsLTEzLjEgMzguNmMtMy43IDEwLjggLjggMjIuOCAxMC43IDI4LjVsMjcuNyAxNkwzNTkgMzIyLjcgMzIxLjUgMzEyYy05LjQtMi43LTE5LjUgLjYtMjUuNSA4LjNsLTM0LjkgNDQuNWMtOC4yIDEwLjQtNi40IDI1LjUgNC4xIDMzLjdzMjUuNSA2LjQgMzMuNy00LjFsMjUtMzEuOCAxOC4yIDUuMmMtLjUgMjIuNiAxMSA0NC43IDMyIDU2LjhzNDUuOSAxMSA2NS4yLS43bDEzLjYgMTMuMi0xNS4xIDM3LjVjLTQuOSAxMi4zIDEgMjYuMyAxMy4zIDMxLjJzMjYuMy0xIDMxLjItMTMuM0w1MDMuNSA0NDBjMy42LTkuMSAxLjQtMTkuNC01LjYtMjYuMmwtMjgtMjcuMSAxMS42LTIwLjEgMjcuNyAxNmM5LjkgNS43IDIyLjUgMy43IDMwLTQuOUw1NjYuMiAzNDdjOC43LTEwIDcuOC0yNS4xLTIuMi0zMy45cy0yNS4xLTcuOC0zMy45IDIuMmwtMTMuOSAxNS45LTE0LjctOC41YzEuNy0xMi40LS4yLTI1LTUuNS0zNi4yelwiXVxufTtcbmNvbnN0IGZhUnVwZWVTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1cGVlLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MzYwLCBcInJ1cGVlXCJdLCBcImYxNTZcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw4MCAwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0YzAgNTguOC0zNS4yIDEwOS4zLTg1LjcgMTMxLjdsNTEuNCAxMjguNGM2LjYgMTYuNC0xLjQgMzUtMTcuOCA0MS42cy0zNS0xLjQtNDEuNi0xNy44TDEwNi4zIDMyMCA2NCAzMjBsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMMCAyODggMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBMNjQgOTZsMCAxNjB6bTI1Ni41IDE2LjRjLS45IDYgMCA4LjcgLjQgOS44Yy40IDEuMSAxLjQgMi42IDQuMiA0LjljNy4yIDUuNyAxOC43IDEwIDM3LjkgMTYuOGwxLjMgLjVjMTYgNS42IDM4LjcgMTMuNiA1NS43IDI4LjFjOS41IDguMSAxNy45IDE4LjYgMjMuMSAzMi4zYzUuMSAxMy43IDYuMSAyOC41IDMuOCA0NGMtNC4yIDI4LjEtMjAuNSA0OS4zLTQzLjggNjAuOWMtMjIuMSAxMS00OC4xIDEyLjUtNzMuMiA4bC0uMiAwczAgMCAwIDBjLTkuMy0xLjgtMjAuNS01LjctMjkuMy05Yy02LTIuMy0xMi42LTQuOS0xNy43LTYuOWMwIDAgMCAwIDAgMGMtMi41LTEtNC42LTEuOC02LjMtMi41Yy0xNi41LTYuNC0yNC42LTI1LTE4LjItNDEuNHMyNC45LTI0LjYgNDEuNC0xOC4yYzIuNiAxIDUuMiAyIDcuOSAzLjFjMCAwIDAgMCAwIDBjNC44IDEuOSA5LjggMy45IDE1LjQgNmM4LjggMy4zIDE1LjMgNS40IDE4LjcgNmMxNS43IDIuOCAyNi43IC44IDMyLjktMi4zYzUtMi41IDgtNiA5LjEtMTNjMS02LjkgLjItMTAuNS0uNS0xMi4zYy0uNi0xLjctMS44LTMuNi00LjUtNS45Yy02LjktNS44LTE4LjItMTAuNC0zNi45LTE3bC0zLTEuMWMtMTUuNS01LjQtMzctMTMtNTMuMy0yNS45Yy05LjUtNy41LTE4LjMtMTcuNi0yMy43LTMxYy01LjUtMTMuNC02LjYtMjgtNC40LTQzLjJjOC40LTU3LjEgNjctNzggMTE2LjktNjguOWM2LjkgMS4zIDI3LjMgNS44IDM1LjQgOC40YzE2LjkgNS4yIDI2LjMgMjMuMiAyMS4xIDQwLjFzLTIzLjIgMjYuMy00MC4xIDIxLjFjLTQuNy0xLjQtMjIuMy01LjUtMjcuOS02LjVjLTE0LjYtMi43LTI1LjgtLjQtMzIuNiAzLjJjLTYuMyAzLjMtOC45IDcuNi05LjUgMTJ6XCJdXG59O1xuY29uc3QgZmFSdXBlZSA9IGZhUnVwZWVTaWduO1xuY29uc3QgZmFGaWxlSW1hZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1pbWFnZScsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQ0M10sIFwiZjFjNVwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTY0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNTIgMzJjNS4zIDAgMTAuMiAyLjYgMTMuMiA2LjlsODggMTI4YzMuNCA0LjkgMy43IDExLjMgMSAxNi41cy04LjIgOC42LTE0LjIgOC42bC04OCAwLTQwIDAtNDggMC00OCAwYy01LjggMC0xMS4xLTMuMS0xMy45LTguMXMtMi44LTExLjIgLjItMTYuMWw0OC04MGMyLjktNC44IDguMS03LjggMTMuNy03LjhzMTAuOCAyLjkgMTMuNyA3LjhsMTIuOCAyMS40IDQ4LjMtNzAuMmMzLTQuMyA3LjktNi45IDEzLjItNi45elwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlUXVlc3Rpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXF1ZXN0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjIxMDgsIFwicXVlc3Rpb24tY2lyY2xlXCJdLCBcImYwNTlcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2OS44IDE2NS4zYzcuOS0yMi4zIDI5LjEtMzcuMyA1Mi44LTM3LjNsNTguMyAwYzM0LjkgMCA2My4xIDI4LjMgNjMuMSA2My4xYzAgMjIuNi0xMi4xIDQzLjUtMzEuNyA1NC44TDI4MCAyNjQuNGMtLjIgMTMtMTAuOSAyMy42LTI0IDIzLjZjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTMuNWMwLTguNiA0LjYtMTYuNSAxMi4xLTIwLjhsNDQuMy0yNS40YzQuNy0yLjcgNy42LTcuNyA3LjYtMTMuMWMwLTguNC02LjgtMTUuMS0xNS4xLTE1LjFsLTU4LjMgMGMtMy40IDAtNi40IDIuMS03LjUgNS4zbC0uNCAxLjJjLTQuNCAxMi41LTE4LjIgMTktMzAuNiAxNC42cy0xOS0xOC4yLTE0LjYtMzAuNmwuNC0xLjJ6TTIyNCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG5jb25zdCBmYVF1ZXN0aW9uQ2lyY2xlID0gZmFDaXJjbGVRdWVzdGlvbjtcbmNvbnN0IGZhUGxhbmVEZXBhcnR1cmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtZGVwYXJ0dXJlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzQ3XSwgXCJmNWIwXCIsIFwiTTM4MSAxMTQuOUwxODYuMSA0MS44Yy0xNi43LTYuMi0zNS4yLTUuMy01MS4xIDIuN0w4OS4xIDY3LjRDNzggNzMgNzcuMiA4OC41IDg3LjYgOTUuMmwxNDYuOSA5NC41TDEzNiAyNDAgNzcuOCAyMTQuMWMtOC43LTMuOS0xOC44LTMuNy0yNy4zIC42TDE4LjMgMjMwLjhjLTkuMyA0LjctMTEuOCAxNi44LTUgMjQuN2w3My4xIDg1LjNjNi4xIDcuMSAxNSAxMS4yIDI0LjMgMTEuMmwxMzcuNyAwYzUgMCA5LjktMS4yIDE0LjMtMy40TDUzNS42IDIxMi4yYzQ2LjUtMjMuMyA4Mi41LTYzLjMgMTAwLjgtMTEyQzY0NS45IDc1IDYyNy4yIDQ4IDYwMC4yIDQ4bC01Ny40IDBjLTIwLjIgMC00MC4yIDQuOC01OC4yIDE0TDM4MSAxMTQuOXpNMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG5jb25zdCBmYUhhbmRzaGFrZVNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZS1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC0xMzUtMTA1LjhjLTEuMS0xMS40LTYuMy0yMi4zLTE1LjMtMzAuN2wtMTM0LjItMTIzLTIzLjQgMTguMi0yNi0yMC4zIDc3LjItNjAuMWM3LTUuNCAxNy00LjIgMjIuNSAyLjhzNC4yIDE3LTIuOCAyMi41bC0yMC45IDE2LjJMNTEyIDMxNi44IDUxMiAxMjhsLS43IDAtMy45LTIuNUw0MzQuOCA3OWMtMTUuMy05LjgtMzMuMi0xNS01MS40LTE1Yy0yMS44IDAtNDMgNy41LTYwIDIxLjJsLTg5LjcgNzIuNi0yNS44LTIwLjMgODEuOC02Ni4yYy0xMS42LTQuOS0yNC4xLTcuNC0zNi44LTcuNEMyMzQgNjQgMjE1LjcgNjkuNiAyMDAgODBsLTM1LjUgMjMuN0wzOC44IDUuMXpNOTYgMTcxLjZMNDAuNiAxMjggMCAxMjggMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE4MC40ek00MTMuNiA0MjEuOUwxMjggMTk2LjkgMTI4IDM1MmwyOC4yIDAgOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45Yy44LS44IDEuNS0xLjcgMi4yLTIuNnpNNDggMzIwYTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpNNTQ0IDEyOGwwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjI0LTk2IDB6bTMyIDIwOGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbmNvbnN0IGZhQm9va0Jvb2ttYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stYm9va21hcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwYmJcIiwgXCJNMCA5NkMwIDQzIDQzIDAgOTYgMGw5NiAwIDAgMTkwLjdjMCAxMy40IDE1LjUgMjAuOSAyNiAxMi41TDI3MiAxNjBsNTQgNDMuMmMxMC41IDguNCAyNiAuOSAyNi0xMi41TDM1MiAwbDMyIDAgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwTDk2IDUxMmMtNTMgMC05Ni00My05Ni05NkwwIDk2ek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDAgMC02NEw5NiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhQ29kZUJyYW5jaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLWJyYW5jaCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjEyNlwiLCBcIk04MCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04MC0yNGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgODcuOGMxOC44LTEwLjkgNDAuNy0xNy4xIDY0LTE3LjFsOTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTYuN0MzMDcuNyAxNDEgMjg4IDExMi44IDI4OCA4MGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCA2LjdjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTk2IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNi43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjNjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM2wwLTYuNyAwLTE5OC43QzE5LjcgMTQxIDAgMTEyLjggMCA4MEMwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MHptMjMyIDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNODAgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG5jb25zdCBmYUhhdENvd2JveSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXQtY293Ym95JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmOGMwXCIsIFwiTTMyMCA2NGMxNC40IDAgMjIuMy03IDMwLjgtMTQuNEMzNjAuNCA0MS4xIDM3MC43IDMyIDM5MiAzMmM0OS4zIDAgODQuNCAxNTIuMiA5Ny45IDIyMS45QzQ0Ny44IDI3Mi4xIDM5MC45IDI4OCAzMjAgMjg4cy0xMjcuOC0xNS45LTE2OS45LTM0LjFDMTYzLjYgMTg0LjIgMTk4LjcgMzIgMjQ4IDMyYzIxLjMgMCAzMS42IDkuMSA0MS4yIDE3LjZDMjk3LjcgNTcgMzA1LjYgNjQgMzIwIDY0ek0xMTEuMSAyNzAuN2M0Ny4yIDI0LjUgMTE3LjUgNDkuMyAyMDkgNDkuM3MxNjEuOC0yNC44IDIwOC45LTQ5LjNjMjQuOC0xMi45IDQ5LjgtMjguMyA3MC4xLTQ3LjdjNy45LTcuOSAyMC4yLTkuMiAyOS42LTMuM2M5LjUgNS45IDEzLjUgMTcuOSA5LjkgMjguNWMtMTMuNSAzNy43LTM4LjQgNzIuMy02Ni4xIDEwMC42QzUyMy43IDM5OC45IDQ0My42IDQ0OCAzMjAgNDQ4cy0yMDMuNi00OS4xLTI1Mi41LTk5LjJDMzkuOCAzMjAuNCAxNC45IDI4NS44IDEuNCAyNDguMWMtMy42LTEwLjYgLjQtMjIuNiA5LjktMjguNWM5LjUtNS45IDIxLjctNC41IDI5LjYgMy4zYzIwLjQgMTkuNCA0NS4zIDM0LjggNzAuMSA0Ny43elwiXVxufTtcbmNvbnN0IGZhQnJpZGdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyaWRnZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRjOFwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNDAgMCAwIDY0TDAgMTYwIDAgMjg4YzUzIDAgOTYgNDMgOTYgOTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2bDAtMTI4LTcyIDAgMC02NCA0MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00NTYgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMzI4IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTIwMCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwelwiXVxufTtcbmNvbnN0IGZhUGhvbmVGbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bob25lLWZsaXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzODEsIFwicGhvbmUtYWx0XCJdLCBcImY4NzlcIiwgXCJNMzQ3LjEgMjQuNmM3LjctMTguNiAyOC0yOC41IDQ3LjQtMjMuMmw4OCAyNEM0OTkuOSAzMC4yIDUxMiA0NiA1MTIgNjRjMCAyNDcuNC0yMDAuNiA0NDgtNDQ4IDQ0OGMtMTggMC0zMy44LTEyLjEtMzguNi0yOS41bC0yNC04OGMtNS4zLTE5LjQgNC42LTM5LjcgMjMuMi00Ny40bDk2LTQwYzE2LjMtNi44IDM1LjItMi4xIDQ2LjMgMTEuNkwyMDcuMyAzNjhjNzAuNC0zMy4zIDEyNy40LTkwLjMgMTYwLjctMTYwLjdMMzE4LjcgMTY3Yy0xMy43LTExLjItMTguNC0zMC0xMS42LTQ2LjNsNDAtOTZ6XCJdXG59O1xuY29uc3QgZmFQaG9uZUFsdCA9IGZhUGhvbmVGbGlwO1xuY29uc3QgZmFUcnVja0Zyb250ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZyb250JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMmI3XCIsIFwiTTAgODBDMCAzNS44IDM1LjggMCA4MCAwTDQzMiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMjg4YzAgMjYuMi0xMi42IDQ5LjQtMzIgNjRsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMi0yNTYgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4QzEyLjYgNDE3LjQgMCAzOTQuMiAwIDM2OEwwIDgwem0xMjkuOSA3Mi4yTDExMiAyMjRsMjg4IDAtMTcuOS03MS44QzM3OC41IDEzOCAzNjUuNyAxMjggMzUxIDEyOGwtMTkwIDBjLTE0LjcgMC0yNy41IDEwLTMxIDI0LjJ6TTEyOCAzMjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjg4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUNhdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMDhdLCBcImY2YmVcIiwgXCJNMzIwIDE5MmwxNy4xIDBjMjIuMSAzOC4zIDYzLjUgNjQgMTEwLjkgNjRjMTEgMCAyMS44LTEuNCAzMi00bDAgNCAwIDMyIDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTQwLjhMMjgwIDQ0OGw1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNDQgMGMtNTMgMC05Ni00My05Ni05NmwwLTIyMy41YzAtMTYuMS0xMi0yOS44LTI4LTMxLjhsLTcuOS0xYy0xNy41LTIuMi0zMC0xOC4yLTI3LjgtMzUuN3MxOC4yLTMwIDM1LjctMjcuOGw3LjkgMWM0OCA2IDg0LjEgNDYuOCA4NC4xIDk1LjNsMCA4NS4zYzM0LjQtNTEuNyA5My4yLTg1LjggMTYwLTg1Ljh6bTE2MCAyNi41czAgMCAwIDBjLTEwIDMuNS0yMC44IDUuNS0zMiA1LjVjLTI4LjQgMC01NC0xMi40LTcxLjYtMzJjMCAwIDAgMCAwIDBjLTMuNy00LjEtNy04LjUtOS45LTEzLjJDMzU3LjMgMTY0IDM1MiAxNDYuNiAzNTIgMTI4YzAgMCAwIDAgMCAwbDAtOTYgMC0yMCAwLTEuM0MzNTIgNC44IDM1Ni43IC4xIDM2Mi42IDBsLjIgMGMzLjMgMCA2LjQgMS42IDguNCA0LjJjMCAwIDAgMCAwIC4xTDM4NCAyMS4zbDI3LjIgMzYuM0w0MTYgNjRsNjQgMCA0LjgtNi40TDUxMiAyMS4zIDUyNC44IDQuM2MwIDAgMCAwIDAtLjFjMi0yLjYgNS4xLTQuMiA4LjQtNC4ybC4yIDBDNTM5LjMgLjEgNTQ0IDQuOCA1NDQgMTAuN2wwIDEuMyAwIDIwIDAgOTZjMCAxNy4zLTQuNiAzMy42LTEyLjYgNDcuNmMtMTEuMyAxOS44LTI5LjYgMzUuMi01MS40IDQyLjl6TTQzMiAxMjhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbmNvbnN0IGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRhYlwiLCBcIk0zMjAgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptMjEuMSA4MEMzNjcgMTU4LjggMzg0IDEyOS40IDM4NCA5NmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDMzLjQgMTcgNjIuOCA0Mi45IDgwTDIyNCAxNzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDIwOC00OCAwYy01MyAwLTk2LTQzLTk2LTk2bDAtNi4xIDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctNyAwIDYuMWMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MGw4MCAwIDgwIDBjOC4yIDAgMTYuMy0uNiAyNC4yLTEuOGMtMjIuMi0xNi4yLTQwLjQtMzcuNS01My02Mi4yTDMyMCA0NDhsMC04MCAwLTEyOCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMC45IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTk2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMC0xNDRjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFUcnVja0ZpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZpZWxkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNThkXCIsIFwiTTMyIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDIyNCAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMmw1MS44IDBjMjUuMyAwIDQ4LjIgMTQuOSA1OC41IDM4bDUyLjggMTE4LjhjLjUgMS4xIC45IDIuMSAxLjMgMy4ybDQuMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsLTEyOCAwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMC0zMnpNMzg0IDIyNGw4NS45IDAtNDIuNy05NkwzODQgMTI4bDAgOTZ6TTE2MCA0MzJhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zNjgtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG5jb25zdCBmYVJvdXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNGQ3XCIsIFwiTTUxMiA5NmMwIDUwLjItNTkuMSAxMjUuMS04NC42IDE1NWMtMy44IDQuNC05LjQgNi4xLTE0LjUgNUwzMjAgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTI3Ni40IDBjOC43LTkuOSAxOS4zLTIyLjYgMzAtMzYuOGM2LjMtOC40IDEyLjgtMTcuNiAxOS0yNy4yTDQxNiA0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDBjLTUzIDAtOTYtNDMtOTYtOTZzNDMtOTYgOTYtOTZsMzkuOCAwYy0yMS0zMS41LTM5LjgtNjcuNy0zOS44LTk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZ6TTExNy4xIDQ4OS4xYy0zLjggNC4zLTcuMiA4LjEtMTAuMSAxMS4zbC0xLjggMi0uMi0uMmMtNiA0LjYtMTQuNiA0LTIwLTEuOEM1OS44IDQ3MyAwIDQwMi41IDAgMzUyYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAzMC0yMS4xIDY3LTQzLjUgOTcuOWMtMTAuNyAxNC43LTIxLjcgMjgtMzAuOCAzOC41bC0uNiAuN3pNMTI4IDM1MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek00MTYgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUNsaXBib2FyZFF1ZXN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC1xdWVzdGlvbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRlM1wiLCBcIk0xOTIgMGMtNDEuOCAwLTc3LjQgMjYuNy05MC41IDY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zNy41IDBDMjY5LjQgMjYuNyAyMzMuOCAwIDE5MiAwem0wIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTA1LjggMjI5LjNjNy45LTIyLjMgMjkuMS0zNy4zIDUyLjgtMzcuM2w1OC4zIDBjMzQuOSAwIDYzLjEgMjguMyA2My4xIDYzLjFjMCAyMi42LTEyLjEgNDMuNS0zMS43IDU0LjhMMjE2IDMyOC40Yy0uMiAxMy0xMC45IDIzLjYtMjQgMjMuNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0xMy41YzAtOC42IDQuNi0xNi41IDEyLjEtMjAuOGw0NC4zLTI1LjRjNC43LTIuNyA3LjYtNy43IDcuNi0xMy4xYzAtOC40LTYuOC0xNS4xLTE1LjEtMTUuMWwtNTguMyAwYy0zLjQgMC02LjQgMi4xLTcuNSA1LjNsLS40IDEuMmMtNC40IDEyLjUtMTguMiAxOS0zMC42IDE0LjZzLTE5LTE4LjItMTQuNi0zMC42bC40LTEuMnpNMTYwIDQxNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbmNvbnN0IGZhUGFub3JhbWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFub3JhbWEnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUyMDlcIiwgXCJNNDUuNiAzMkMyMC40IDMyIDAgNTIuNCAwIDc3LjZMMCA0MzQuNEMwIDQ1OS42IDIwLjQgNDgwIDQ1LjYgNDgwYzUuMSAwIDEwLS44IDE0LjctMi40Qzc0LjYgNDcyLjggMTc3LjYgNDQwIDMyMCA0NDBzMjQ1LjQgMzIuOCAyNTkuNiAzNy42YzQuNyAxLjYgOS43IDIuNCAxNC43IDIuNGMyNS4yIDAgNDUuNi0yMC40IDQ1LjYtNDUuNmwwLTM1Ni43QzY0MCA1Mi40IDYxOS42IDMyIDU5NC40IDMyYy01IDAtMTAgLjgtMTQuNyAyLjRDNTY1LjQgMzkuMiA0NjIuNCA3MiAzMjAgNzJTNzQuNiAzOS4yIDYwLjQgMzQuNEM1NS42IDMyLjggNTAuNyAzMiA0NS42IDMyek05NiAxNjBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjcyIDBjNy45IDAgMTUuNCAzLjkgMTkuOCAxMC41TDUxMi4zIDM1M2M1LjQgOCA1LjYgMTguNCAuNCAyNi41cy0xNC43IDEyLjMtMjQuMiAxMC43QzQ0Mi43IDM4Mi40IDM4NS4yIDM3NiAzMjAgMzc2Yy02NS42IDAtMTIzLjQgNi41LTE2OS4zIDE0LjRjLTkuOCAxLjctMTkuNy0yLjktMjQuNy0xMS41cy00LjMtMTkuNCAxLjktMjcuMkwxOTcuMyAyNjVjNC42LTUuNyAxMS40LTkgMTguNy05czE0LjIgMy4zIDE4LjcgOWwyNi40IDMzLjEgODctMTI3LjZjNC41LTYuNiAxMS45LTEwLjUgMTkuOC0xMC41elwiXVxufTtcbmNvbnN0IGZhQ29tbWVudE1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1tZWRpY2FsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmN2Y1XCIsIFwiTTI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMlMwIDEyNS4xIDAgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjNjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOXpNMjI0IDE2MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OCA0OCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDAgMC00OHpcIl1cbn07XG5jb25zdCBmYVRlZXRoT3BlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZWV0aC1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNjJmXCIsIFwiTTk2IDMyQzQzIDMyIDAgNzUgMCAxMjhsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtNTMtNDMtOTYtOTYtOTZMOTYgMzJ6TTIyNCA5NmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTU2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em04MCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgNTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNTZ6TTk2IDEyOGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em0zMzYgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0ek05NiA0ODBsMzg0IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDUzIDQzIDk2IDk2IDk2em0wLTY0Yy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDI2LjUtMjEuNSA0OC00OCA0OHptODAtNDhsMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDh6bTE3NiA0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCAyNi41LTIxLjUgNDgtNDggNDh6bTgwLTQ4bDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhRmlsZUNpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGVkXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNMjg4IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMjQgMGMwLTguOC03LjItMTYtMTYtMTZsLTEyOCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVRhZ3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFncycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjAyY1wiLCBcIk0zNDUgMzkuMUw0NzIuOCAxNjguNGM1Mi40IDUzIDUyLjQgMTM4LjIgMCAxOTEuMkwzNjAuOCA0NzIuOWMtOS4zIDkuNC0yNC41IDkuNS0zMy45IC4ycy05LjUtMjQuNS0uMi0zMy45TDQzOC42IDMyNS45YzMzLjktMzQuMyAzMy45LTg5LjQgMC0xMjMuN0wzMTAuOSA3Mi45Yy05LjMtOS40LTkuMi0yNC42IC4yLTMzLjlzMjQuNi05LjIgMzMuOSAuMnpNMCAyMjkuNUwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDE0OS41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsMTY4IDE2OGMyNSAyNSAyNSA2NS41IDAgOTAuNUwyNzcuMyA0NDIuN2MtMjUgMjUtNjUuNSAyNS05MC41IDBsLTE2OC0xNjhDNi43IDI2Mi43IDAgMjQ2LjUgMCAyMjkuNXpNMTQ0IDE0NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbmNvbnN0IGZhV2luZUdsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dpbmUtZ2xhc3MnLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjc4NjNdLCBcImY0ZTNcIiwgXCJNMzIuMSAyOS4zQzMzLjUgMTIuOCA0Ny40IDAgNjQgMEwyNTYgMGMxNi42IDAgMzAuNSAxMi44IDMxLjkgMjkuM2wxNCAxNjguNGM2IDcyLTQyLjUgMTM1LjItMTA5LjkgMTUwLjZsMCA5OS42IDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTgwIDAtODAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwIDAtOTkuNkM2MC42IDMzMyAxMi4xIDI2OS44IDE4LjEgMTk3LjhsMTQtMTY4LjR6bTU2IDk4LjdsMTQzLjggMC01LjMtNjRMOTMuNCA2NGwtNS4zIDY0elwiXVxufTtcbmNvbnN0IGZhRm9yd2FyZEZhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9yd2FyZC1mYXN0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTE5NywgXCJmYXN0LWZvcndhcmRcIl0sIFwiZjA1MFwiLCBcIk0xOC40IDQ0NWMxMS4yIDUuMyAyNC41IDMuNiAzNC4xLTQuNEwyMjQgMjk3LjcgMjI0IDQxNmMwIDEyLjQgNy4yIDIzLjcgMTguNCAyOXMyNC41IDMuNiAzNC4xLTQuNEw0NDggMjk3LjcgNDQ4IDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTE4LjNMMjc2LjUgNzEuNGMtOS41LTcuOS0yMi44LTkuNy0zNC4xLTQuNFMyMjQgODMuNiAyMjQgOTZsMCAxMTguM0w1Mi41IDcxLjRjLTkuNS03LjktMjIuOC05LjctMzQuMS00LjRTMCA4My42IDAgOTZMMCA0MTZjMCAxMi40IDcuMiAyMy43IDE4LjQgMjl6XCJdXG59O1xuY29uc3QgZmFGYXN0Rm9yd2FyZCA9IGZhRm9yd2FyZEZhc3Q7XG5jb25zdCBmYUZhY2VNZWhCbGFuayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLW1laC1ibGFuaycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU2NiwgXCJtZWgtYmxhbmtcIl0sIFwiZjVhNFwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTIwOC40LTQ4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTEyOCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFNZWhCbGFuayA9IGZhRmFjZU1laEJsYW5rO1xuY29uc3QgZmFTcXVhcmVQYXJraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wYXJraW5nJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3MzU5LCBcInBhcmtpbmdcIl0sIFwiZjU0MFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0xOTIgMjU2bDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ4IDAgMCA2NHptNDggNjRsLTQ4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0IDAtMTIwYzAtMjIuMSAxNy45LTQwIDQwLTQwbDcyIDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZ6XCJdXG59O1xuY29uc3QgZmFQYXJraW5nID0gZmFTcXVhcmVQYXJraW5nO1xuY29uc3QgZmFIb3VzZVNpZ25hbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1zaWduYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUwMTJcIiwgXCJNMzU3LjcgOC41Yy0xMi4zLTExLjMtMzEuMi0xMS4zLTQzLjQgMGwtMjA4IDE5MmMtOS40IDguNi0xMi43IDIyLTguNSAzNGM4Ny4xIDI1LjMgMTU1LjYgOTQuMiAxODAuMyAxODEuNkw0NjQgNDE2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTEyIDMyIDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC4xLTM1LjJsLTIwOC0xOTJ6TTI4OCAyMDhjMC04LjggNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NHpNMjQgMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0YzEwMS42IDAgMTg0IDgyLjQgMTg0IDE4NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTI4LjEtMTAzLjktMjMyLTIzMi0yMzJ6bTggMjU2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMCAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRjNDguNiAwIDg4IDM5LjQgODggODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTc1LjEtNjAuOS0xMzYtMTM2LTEzNmMtMTMuMyAwLTI0IDEwLjctMjQgMjR6XCJdXG59O1xuY29uc3QgZmFCYXJzUHJvZ3Jlc3MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFycy1wcm9ncmVzcycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGFza3MtYWx0XCJdLCBcImY4MjhcIiwgXCJNNDQ4IDE2MGwtMTI4IDAgMC0zMiAxMjggMCAwIDMyek00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMmwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggNjR6TTQ0OCAzNTJsMCAzMi0yNTYgMCAwLTMyIDI1NiAwek00OCAyODhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAyODh6XCJdXG59O1xuY29uc3QgZmFUYXNrc0FsdCA9IGZhQmFyc1Byb2dyZXNzO1xuY29uc3QgZmFGYXVjZXREcmlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhdWNldC1kcmlwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Njg4XSwgXCJlMDA2XCIsIFwiTTIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTIgOTYtMTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMjU2IDg0bC0zMS0zLjktMS0uMS0xIC4xTDE5MiA4NCA5NiA5NkM3OC4zIDk2IDY0IDgxLjcgNjQgNjRzMTQuMy0zMiAzMi0zMmw5NiAxMiAwLTEyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0wIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwIDIyLjYtMjIuNmM2LTYgMTQuMS05LjQgMjIuNi05LjRsMTguNyAwIDAtNDMuOCAzMi00IDMyIDQgMCA0My44IDE4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNEwzMjAgMTkybDMyIDBjODguNCAwIDE2MCA3MS42IDE2MCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMycy0xNC4zLTMyLTMyLTMybC0zNi4xIDBjLTIwLjIgMjktNTMuOSA0OC05MS45IDQ4cy03MS43LTE5LTkxLjktNDhMMzIgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0ek00MzYuOCA0MjMuNGMxLjktNC41IDYuMy03LjQgMTEuMi03LjRzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMWwxOC4yLTQyLjR6XCJdXG59O1xuY29uc3QgZmFDYXJ0RmxhdGJlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJ0LWZsYXRiZWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImRvbGx5LWZsYXRiZWRcIl0sIFwiZjQ3NFwiLCBcIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjg4YzAgNDQuMiAzNS44IDgwIDgwIDgwbDE4LjcgMGMtMS44IDUtMi43IDEwLjQtMi43IDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhjMC01LjYtMS0xMS0yLjctMTZsMTk3LjUgMGMtMS44IDUtMi43IDEwLjQtMi43IDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhjMC01LjYtMS0xMS0yLjctMTZsNjYuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00NjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjg4QzEyOCAzNS44IDkyLjIgMCA0OCAwTDMyIDB6TTE5MiA4MGwwIDE5MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMjAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5MmMwLTI2LjUtMjEuNS00OC00OC00OGwtOTYgMCAwIDE0NGMwIDUuOS0zLjIgMTEuMy04LjUgMTQuMXMtMTEuNSAyLjUtMTYuNC0uOEw0MDAgMTYzLjJsLTM5LjEgMjYuMWMtNC45IDMuMy0xMS4yIDMuNi0xNi40IC44cy04LjUtOC4yLTguNS0xNC4xbDAtMTQ0LTk2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4elwiXVxufTtcbmNvbnN0IGZhRG9sbHlGbGF0YmVkID0gZmFDYXJ0RmxhdGJlZDtcbmNvbnN0IGZhQmFuU21va2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYW4tc21va2luZycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODY4NSwgXCJzbW9raW5nLWJhblwiXSwgXCJmNTRkXCIsIFwiTTk5LjUgMTQ0LjhMMTc4LjcgMjI0bDk2IDk2IDkyLjUgOTIuNUMzMzUuOSA0MzQuOSAyOTcuNSA0NDggMjU2IDQ0OEMxNTAgNDQ4IDY0IDM2MiA2NCAyNTZjMC00MS41IDEzLjEtNzkuOSAzNS41LTExMS4yek0zMzMuMyAyODhsLTMyLTMyIDgyLjcgMCAwIDMyLTUwLjcgMHptMzIgMzJsMzQuNyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtMTMwLjcgMEwxNDQuOCA5OS41QzE3Ni4xIDc3LjEgMjE0LjUgNjQgMjU2IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkyYzAgNDEuNS0xMy4xIDc5LjktMzUuNSAxMTEuMkwzNjUuMyAzMjB6TTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yNzIgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnM3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzLTcuMi0xNi0xNi0xNnpNMjI5LjUgMzIwbC05Ni05NkwxMTIgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMTE3LjUgMHpcIl1cbn07XG5jb25zdCBmYVNtb2tpbmdCYW4gPSBmYUJhblNtb2tpbmc7XG5jb25zdCBmYVRlcm1pbmFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rlcm1pbmFsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMTIwXCIsIFwiTTkuNCA4Ni42Qy0zLjEgNzQuMS0zLjEgNTMuOSA5LjQgNDEuNHMzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE5MiAxOTJjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE3OC43IDI1NiA5LjQgODYuNnpNMjU2IDQxNmwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjg4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFNb2JpbGVCdXR0b24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9iaWxlLWJ1dHRvbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjEwYlwiLCBcIk04MCAwQzQ0LjcgMCAxNiAyOC43IDE2IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDgwIDB6TTE5MiA0MDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhSG91c2VNZWRpY2FsRmxhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1tZWRpY2FsLWZsYWcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTRcIiwgXCJNNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMTEyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTI4YzAgOC44LTcuMiAxNi0xNiAxNmwtMTEyIDAgMCAzMjAtNjQgMCAwLTMyMCAwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjc2LjggMzkuN0w0MTYgMTU5bDAgMzUzIDEgMC0uMiAwTDk2IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTItMzIgMGMtMTMuNCAwLTI1LjQtOC4zLTMwLTIwLjlzLTEtMjYuNyA5LjItMzUuNGwyMjQtMTkyYzEyLTEwLjMgMjkuNy0xMC4zIDQxLjcgMHpNMjI0IDIwOGwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYUJhc2tldFNob3BwaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jhc2tldC1zaG9wcGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic2hvcHBpbmctYmFza2V0XCJdLCBcImYyOTFcIiwgXCJNMjUzLjMgMzUuMWM2LjEtMTEuOCAxLjUtMjYuMy0xMC4yLTMyLjRzLTI2LjMtMS41LTMyLjQgMTAuMkwxMTcuNiAxOTIgMzIgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyTDgzLjkgNDYzLjVDOTEgNDkyIDExNi42IDUxMiAxNDYgNTEyTDQzMCA1MTJjMjkuNCAwIDU1LTIwIDYyLjEtNDguNUw1NDQgMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04NS42IDBMMzY1LjMgMTIuOUMzNTkuMiAxLjIgMzQ0LjctMy40IDMzMi45IDIuN3MtMTYuMyAyMC42LTEwLjIgMzIuNEw0MDQuMyAxOTJsLTIzMi42IDBMMjUzLjMgMzUuMXpNMTkyIDMwNGwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnptOTYtMTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgOTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCAxNmwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG5jb25zdCBmYVNob3BwaW5nQmFza2V0ID0gZmFCYXNrZXRTaG9wcGluZztcbmNvbnN0IGZhVGFwZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YXBlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNGRiXCIsIFwiTTM4MC44IDQxNmM0MS41LTQwLjcgNjcuMi05Ny4zIDY3LjItMTYwQzQ0OCAxMzIuMyAzNDcuNyAzMiAyMjQgMzJTMCAxMzIuMyAwIDI1NlMxMDAuMyA0ODAgMjI0IDQ4MGwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYzLjIgMHpNMjI0IDE2MGE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnptNjQgOTZhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwelwiXVxufTtcbmNvbnN0IGZhQnVzU2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1cy1zaW1wbGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImJ1cy1hbHRcIl0sIFwiZjU1ZVwiLCBcIk0yMjQgMEMzNDguOCAwIDQ0OCAzNS4yIDQ0OCA4MGwwIDE2IDAgMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzItMTkyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCA5NiAwIDgwQzAgMzUuMiA5OS4yIDAgMjI0IDB6TTY0IDEyOGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiA5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTgwIDQwMGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTI4OCAwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYUJ1c0FsdCA9IGZhQnVzU2ltcGxlO1xuY29uc3QgZmFFeWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXllJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MDY1XSwgXCJmMDZlXCIsIFwiTTI4OCAzMmMtODAuOCAwLTE0NS41IDM2LjgtMTkyLjYgODAuNkM0OC42IDE1NiAxNy4zIDIwOCAyLjUgMjQzLjdjLTMuMyA3LjktMy4zIDE2LjcgMCAyNC42QzE3LjMgMzA0IDQ4LjYgMzU2IDk1LjQgMzk5LjRDMTQyLjUgNDQzLjIgMjA3LjIgNDgwIDI4OCA0ODBzMTQ1LjUtMzYuOCAxOTIuNi04MC42YzQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjFjMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjZjLTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjFDNDMzLjUgNjguOCAzNjguOCAzMiAyODggMzJ6TTE0NCAyNTZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQ0LTY0YzAgMzUuMy0yOC43IDY0LTY0IDY0Yy03LjEgMC0xMy45LTEuMi0yMC4zLTMuM2MtNS41LTEuOC0xMS45IDEuNi0xMS43IDcuNGMuMyA2LjkgMS4zIDEzLjggMy4yIDIwLjdjMTMuNyA1MS4yIDY2LjQgODEuNiAxMTcuNiA2Ny45czgxLjYtNjYuNCA2Ny45LTExNy42Yy0xMS4xLTQxLjUtNDcuOC02OS40LTg4LjYtNzEuMWMtNS44LS4yLTkuMiA2LjEtNy40IDExLjdjMi4xIDYuNCAzLjMgMTMuMiAzLjMgMjAuM3pcIl1cbn07XG5jb25zdCBmYUZhY2VTYWRDcnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zYWQtY3J5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTU3LCBcInNhZC1jcnlcIl0sIFwiZjViM1wiLCBcIk0zNTIgNDkzLjRjLTI5LjYgMTItNjIuMSAxOC42LTk2IDE4LjZzLTY2LjQtNi42LTk2LTE4LjZMMTYwIDI4OGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDE4OS44QzUxLjUgNDMzLjUgMCAzNTAuOCAwIDI1NkMwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCA5NC44LTUxLjUgMTc3LjUtMTI4IDIyMS44TDM4NCAyODhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyMDUuNHpNMTk1LjIgMjMzLjZjNS4zIDcuMSAxNS4zIDguNSAyMi40IDMuMnM4LjUtMTUuMyAzLjItMjIuNGMtMzAuNC00MC41LTkxLjItNDAuNS0xMjEuNiAwYy01LjMgNy4xLTMuOSAxNy4xIDMuMiAyMi40czE3LjEgMy45IDIyLjQtMy4yYzE3LjYtMjMuNSA1Mi44LTIzLjUgNzAuNCAwem0xMjEuNiAwYzE3LjYtMjMuNSA1Mi44LTIzLjUgNzAuNCAwYzUuMyA3LjEgMTUuMyA4LjUgMjIuNCAzLjJzOC41LTE1LjMgMy4yLTIyLjRjLTMwLjQtNDAuNS05MS4yLTQwLjUtMTIxLjYgMGMtNS4zIDcuMS0zLjkgMTcuMSAzLjIgMjIuNHMxNy4xIDMuOSAyMi40LTMuMnpNMjA4IDMzNmwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHpcIl1cbn07XG5jb25zdCBmYVNhZENyeSA9IGZhRmFjZVNhZENyeTtcbmNvbnN0IGZhQXVkaW9EZXNjcmlwdGlvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhdWRpby1kZXNjcmlwdGlvbicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjI5ZVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMTMuNSAxNzMuM2w3MiAxNDRjNS45IDExLjkgMS4xIDI2LjMtMTAuNyAzMi4ycy0yNi4zIDEuMS0zMi4yLTEwLjdsLTkuNC0xOC45LTgyLjIgMC05LjQgMTguOWMtNS45IDExLjktMjAuMyAxNi43LTMyLjIgMTAuN3MtMTYuNy0yMC4zLTEwLjctMzIuMmw3Mi0xNDRjNC4xLTguMSAxMi40LTEzLjMgMjEuNS0xMy4zczE3LjQgNS4xIDIxLjUgMTMuM3ptLS40IDEwNi42TDE5MiAyMzcuN2wtMjEuMSA0Mi4yIDQyLjIgMHpNMzA0IDE4NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw1NiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC01NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NHptNDggMjRsMCA5NiAzMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tbWlsaXRhcnktdG8tcGVyc29uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTRjXCIsIFwiTTcxIDEyLjVjLTguNiAxLTE1IDguMi0xNSAxNi44YzAgOS4zIDcuNSAxNi44IDE2LjcgMTYuOWwxMTEuNCAwYzguOC0uMSAxNS45LTcuMiAxNS45LTE2TDIwMCAxNmMwLTkuNS04LjMtMTctMTcuOC0xNS45TDcxIDEyLjV6TTE4OS41IDc4LjFsLTEyMi45IDBDNjQuOSA4My44IDY0IDg5LjggNjQgOTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTYuMi0uOS0xMi4yLTIuNS0xNy45ek0zMiAyNTZsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxLjggMCAzLjUtLjEgNS4yLS40TDUzIDIwOC42QzQwLjEgMjIwLjMgMzIgMjM3LjIgMzIgMjU2em0xOTAuMiA0Mi41YzEuMS0zLjMgMS44LTYuOCAxLjgtMTAuNWwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwYy0zLjcgMC03LjQgLjMtMTAuOSAuOUwyMjIuMiAyOTguNXpNMzg0IDE2MGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptLTMyIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDB6TTIxNS44IDQ1MC4xYzUuMi00LjYgOC4yLTExLjEgOC4yLTE4LjFzLTMtMTMuNS04LjItMTguMWwtNjQtNTZjLTcuMS02LjItMTcuMS03LjctMjUuNy0zLjhTMTEyIDM2Ni42IDExMiAzNzZsMCAzMi04OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDg4IDAgMCAzMmMwIDkuNCA1LjUgMTggMTQuMSAyMS45czE4LjYgMi40IDI1LjctMy44bDY0LTU2ek0yODggNDMxLjljMCA2LjkgMi45IDEzLjUgOC4xIDE4LjFsNjQgNTYuNGM3LjEgNi4yIDE3LjEgNy44IDI1LjcgMy45czE0LjEtMTIuNCAxNC4xLTIxLjlsMC0zMi40IDg4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg4IDAgMC0zMmMwLTkuNC01LjUtMTgtMTQuMS0yMS45cy0xOC42LTIuNC0yNS43IDMuOGwtNjQgNTZjLTUuMiA0LjUtOC4yIDExLjEtOC4yIDE4elwiXVxufTtcbmNvbnN0IGZhRmlsZVNoaWVsZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLXNoaWVsZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmMFwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMjQgMGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMCAwIDQ3LTkyLjggMzcuMWMtMjEuMyA4LjUtMzUuMiAyOS4xLTM1LjIgNTJjMCA1Ni42IDE4LjkgMTQ4IDk0LjIgMjA4LjNjLTkgNC44LTE5LjMgNy42LTMwLjIgNy42TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMzg0IDY0bC0xMjggMEwyNTYgMCAzODQgMTI4em0zOS4xIDk3LjdjNS43LTIuMyAxMi4xLTIuMyAxNy44IDBsMTIwIDQ4QzU3MCAyNzcuNCA1NzYgMjg2LjIgNTc2IDI5NmMwIDYzLjMtMjUuOSAxNjguOC0xMzQuOCAyMTQuMmMtNS45IDIuNS0xMi42IDIuNS0xOC41IDBDMzEzLjkgNDY0LjggMjg4IDM1OS4zIDI4OCAyOTZjMC05LjggNi0xOC42IDE1LjEtMjIuM2wxMjAtNDh6TTUyNy40IDMxMkw0MzIgMjczLjhsMCAxODcuOGM2OC4yLTMzIDkxLjUtOTkgOTUuNC0xNDkuN3pcIl1cbn07XG5jb25zdCBmYVVzZXJTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTA2XCIsIFwiTTM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMMzUzLjMgMjUxLjZDNDA3LjkgMjM3IDQ0OCAxODcuMiA0NDggMTI4QzQ0OCA1Ny4zIDM5MC43IDAgMzIwIDBDMjUwLjIgMCAxOTMuNSA1NS44IDE5MiAxMjUuMkwzOC44IDUuMXpNMjY0LjMgMzA0LjNDMTcwLjUgMzA5LjQgOTYgMzg3LjIgOTYgNDgyLjNjMCAxNi40IDEzLjMgMjkuNyAyOS43IDI5LjdsMzg4LjYgMGMzLjkgMCA3LjYtLjcgMTEtMi4xbC0yNjEtMjA1LjZ6XCJdXG59O1xuY29uc3QgZmFQZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Mzk0XSwgXCJmMzA0XCIsIFwiTTM2Mi43IDE5LjNMMzE0LjMgNjcuNyA0NDQuMyAxOTcuN2w0OC40LTQ4LjRjMjUtMjUgMjUtNjUuNSAwLTkwLjVMNDUzLjMgMTkuM2MtMjUtMjUtNjUuNS0yNS05MC41IDB6bS03MSA3MUw1OC42IDMyMy41Yy0xMC40IDEwLjQtMTggMjMuMy0yMi4yIDM3LjRMMSA0ODEuMkMtMS41IDQ4OS43IC44IDQ5OC44IDcgNTA1czE1LjMgOC41IDIzLjcgNi4xbDEyMC4zLTM1LjRjMTQuMS00LjIgMjctMTEuOCAzNy40LTIyLjJMNDIxLjcgMjIwLjMgMjkxLjcgOTAuM3pcIl1cbn07XG5jb25zdCBmYVRvd2VyT2JzZXJ2YXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG93ZXItb2JzZXJ2YXRpb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1ODZcIiwgXCJNMjQxLjcgMy40YzktNC41IDE5LjYtNC41IDI4LjYgMGwxNjAgODBjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOUM0MzkgMTM3LjUgNDI3LjcgMTQ0IDQxNiAxNDRsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNC45IDAgMzIgMTkyIDY4LjkgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTUuNSAwYy0uNCAwLS44IDAtMS4xIDBsLTI1NC44IDBjLS40IDAtLjggMC0xLjEgMEwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjguOSAwIDMyLTE5Mi00LjkgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC04MGMtMTEuNyAwLTIzLTYuNS0yOC42LTE3LjdjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjlsMTYwLTgwek0zMTQuNSA0NDhMMjU2IDM5OS4yIDE5Ny41IDQ0OGwxMTcgMHpNMTk3LjggMjU2bC00LjcgMjguM0wyNTYgMzM2LjhsNjIuOS01Mi41TDMxNC4yIDI1NmwtMTE2LjUgMHptLTEzLjkgODMuMmwtMTEuMiA2N0wyMTguNSAzNjhsLTM0LjYtMjguOHpNMjkzLjUgMzY4bDQ1LjggMzguMS0xMS4yLTY3TDI5My41IDM2OHpNMTc2IDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxNjAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYwIDB6XCJdXG59O1xuY29uc3QgZmFGaWxlQ29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWNvZGUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImYxYzlcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODgtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDIyNCAwIDY0IDB6TTI1NiAwbDAgMTI4IDEyOCAwTDI1NiAwek0xNTMgMjg5bC0zMSAzMSAzMSAzMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcxIDMzN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNDgtNDhjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45ek0yNjUgMjU1bDQ4IDQ4YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC00OCA0OGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhU2lnbmFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpZ25hbCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODI0NiwgXCJzaWduYWwtNVwiLCBcInNpZ25hbC1wZXJmZWN0XCJdLCBcImYwMTJcIiwgXCJNNTc2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00NDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ0OCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM1MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDIyNGwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek0xOTIgMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiA0MTZsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFTaWduYWw1ID0gZmFTaWduYWw7XG5jb25zdCBmYVNpZ25hbFBlcmZlY3QgPSBmYVNpZ25hbDtcbmNvbnN0IGZhQnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1cycsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODY1M10sIFwiZjIwN1wiLCBcIk0yODggMEM0MjIuNCAwIDUxMiAzNS4yIDUxMiA4MGwwIDE2IDAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyLTE5MiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyYzAgMCAwIDAgMCAwbDAtMzJzMCAwIDAgMGwwLTE2QzY0IDM1LjIgMTUzLjYgMCAyODggMHpNMTI4IDE2MGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDExMiAwIDAtMTYwLTExMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzA0IDI4OGwxMTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMTIgMCAwIDE2MHpNMTQ0IDQwMGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTI4OCAwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMzg0IDgwYzAtOC44LTcuMi0xNi0xNi0xNkwyMDggNjRjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTYwIDBjOC44IDAgMTYtNy4yIDE2LTE2elwiXVxufTtcbmNvbnN0IGZhSGVhcnRDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoZWFydC1jaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MDFcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZsMC01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMWwwIDUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDQ1NC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0MzIgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0MDkuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQzMiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhSG91c2VDaGltbmV5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLWNoaW1uZXknLFxuICBpY29uOiBbNTc2LCA1MTIsIFs2MzQ5OSwgXCJob21lLWxnXCJdLCBcImUzYWZcIiwgXCJNNTQzLjggMjg3LjZjMTcgMCAzMi0xNCAzMi0zMi4xYzEtOS0zLTE3LTExLTI0TDUxMiAxODVsMC0xMjFjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzYuN0wzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWwzMiAwIDAgNjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOGwwIDExMmMwIDIyLjEgMTcuOSA0MCA0MCA0MGwxNiAwYzEuMiAwIDIuNC0uMSAzLjYtLjJjMS41IC4xIDMgLjIgNC41IC4ybDMxLjkgMCAyNCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtMjQgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjQgMCAyNGMwIDIyLjEgMTcuOSA0MCA0MCA0MGwyNCAwIDMyLjUgMGMxLjQgMCAyLjggMCA0LjItLjFjMS4xIC4xIDIuMiAuMSAzLjMgLjFsMTYgMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTE2LjJjLjMtMi42IC41LTUuMyAuNS04LjFsLS43LTE2MC4yIDMyIDB6XCJdXG59O1xuY29uc3QgZmFIb21lTGcgPSBmYUhvdXNlQ2hpbW5leTtcbmNvbnN0IGZhV2luZG93TWF4aW1pemUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZG93LW1heGltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDcwXSwgXCJmMmQwXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTk2IDk2bDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDk2IDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUZhY2VGcm93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWZyb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTc4NSwgXCJmcm93blwiXSwgXCJmMTE5XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNTkuMyAzODguN2MtMi42IDguNC0xMS42IDEzLjItMjAgMTAuNXMtMTMuMi0xMS42LTEwLjUtMjBDMTQ1LjIgMzI2LjEgMTk2LjMgMjg4IDI1NiAyODhzMTEwLjggMzguMSAxMjcuMyA5MS4zYzIuNiA4LjQtMi4xIDE3LjQtMTAuNSAyMHMtMTcuNC0yLjEtMjAtMTAuNUMzNDAuNSAzNDkuNCAzMDIuMSAzMjAgMjU2IDMyMHMtODQuNSAyOS40LTk2LjcgNjguN3pNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFGcm93biA9IGZhRmFjZUZyb3duO1xuY29uc3QgZmFQcmVzY3JpcHRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncHJlc2NyaXB0aW9uJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNWIxXCIsIFwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyTDAgMTkybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDUwLjcgMCAxMjggMTI4TDEzNy40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI4OCAzOTcuMyAzOTMuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDMzMy4zIDM1MiA0MzguNiAyNDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyODggMzA2LjdsLTg1LjgtODUuOEMyNTEuNCAyMDkuMSAyODggMTY0LjggMjg4IDExMkMyODggNTAuMSAyMzcuOSAwIDE3NiAwTDMyIDB6TTE3NiAxNjBMNjQgMTYwbDAtOTYgMTEyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDh6XCJdXG59O1xuY29uc3QgZmFTaG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3AnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInN0b3JlLWFsdFwiXSwgXCJmNTRmXCIsIFwiTTM2LjggMTkybDU2Ni4zIDBjMjAuMyAwIDM2LjgtMTYuNSAzNi44LTM2LjhjMC03LjMtMi4yLTE0LjQtNi4yLTIwLjRMNTU4LjIgMjEuNEM1NDkuMyA4IDUzNC40IDAgNTE4LjMgMEwxMjEuNyAwYy0xNiAwLTMxIDgtMzkuOSAyMS40TDYuMiAxMzQuN2MtNCA2LjEtNi4yIDEzLjItNi4yIDIwLjRDMCAxNzUuNSAxNi41IDE5MiAzNi44IDE5MnpNNjQgMjI0bDAgMTYwIDAgODBjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC04MCAwLTE2MC02NCAwIDAgMTYwLTE5MiAwIDAtMTYwLTY0IDB6bTQ0OCAwbDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTYtNjQgMHpcIl1cbn07XG5jb25zdCBmYVN0b3JlQWx0ID0gZmFTaG9wO1xuY29uc3QgZmFGbG9wcHlEaXNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Zsb3BweS1kaXNrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MTkwLCAxMjg0MjYsIFwic2F2ZVwiXSwgXCJmMGM3XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNDIuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzNTIgNTAuN0MzNDAgMzguNyAzMjMuNyAzMiAzMDYuNyAzMkw2NCAzMnptMCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHpNMjI0IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG5jb25zdCBmYVNhdmUgPSBmYUZsb3BweURpc2s7XG5jb25zdCBmYVZpaGFyYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWhhcmEnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2YTdcIiwgXCJNMjgxIDIyTDMwNS44IDQuN2MxLjMtLjkgMi43LTEuOCA0LjEtMi40QzMxMy4xIC43IDMxNi42IDAgMzIwIDBzNi45IC43IDEwLjEgMi4yYzEuNCAuNyAyLjggMS41IDQuMSAyLjRMMzU5IDIyQzM5MyA0NS44IDQzMC44IDYzLjUgNDcwLjggNzQuNGwyMyA2LjNjMS44IC41IDMuNiAxLjEgNS4yIDJjMy4yIDEuNyA1LjkgNCA4LjEgNi44YzMuOCA0LjkgNS42IDExLjMgNC43IDE3LjhjLS40IDIuOC0xLjIgNS40LTIuNSA3LjhjLTEuNyAzLjItNCA1LjktNi44IDguMWMtNC4zIDMuMi05LjYgNS4xLTE1LjEgNC45bC03LjUgMCAwIDU2LjEgNi40IDUuMSA1LjIgNC4xYzIxLjEgMTYuNyA0NSAyOS42IDcwLjUgMzguMWwyOC45IDkuNmMxLjYgLjUgMy4yIDEuMiA0LjYgMmMzLjEgMS43IDUuOCA0LjEgNy44IDYuOXMzLjUgNi4xIDQuMSA5LjZjLjUgMi43IC42IDUuNSAuMSA4LjNzLTEuNCA1LjQtMi43IDcuOGMtMS43IDMuMS00LjEgNS44LTYuOSA3LjhzLTYuMSAzLjUtOS42IDQuMWMtMS42IC4zLTMuMyAuNC01IC40TDU0NCAyODhsMCA2NS45YzIwLjUgMjIuOCA0Ny40IDM5LjIgNzcuNCA0Ni43QzYzMiA0MDMgNjQwIDQxMi42IDY0MCA0MjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTE2MCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0xNjAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRjMC0xMS40IDgtMjEgMTguNi0yMy40YzMwLTcuNiA1Ni45LTIzLjkgNzcuNC00Ni43TDk2IDI4OGwtMzkuNCAwYy0xLjcgMC0zLjQtLjEtNS0uNGMtMy41LS43LTYuOC0yLjEtOS42LTQuMXMtNS4yLTQuNy03LTcuOGMtMS4zLTIuNC0yLjMtNS0yLjctNy44cy0uNC01LjYgLjEtOC4zYy43LTMuNSAyLjEtNi44IDQuMS05LjZzNC43LTUuMiA3LjgtNi45YzEuNC0uOCAzLTEuNSA0LjYtMmwyOC45LTkuNmMyNS41LTguNSA0OS40LTIxLjQgNzAuNS0zOC4xbDUuMi00LjEgNi40LTUuMSAwLTguMSAwLTQ4LTcuNSAwYy01LjUgLjEtMTAuOC0xLjctMTUuMS00LjljLTIuOC0yLjEtNS4xLTQuOC02LjgtOC4xYy0xLjItMi40LTIuMS01LTIuNS03LjhjLS45LTYuNSAuOS0xMi44IDQuNy0xNy44YzIuMS0yLjggNC44LTUuMSA4LjEtNi44YzEuNi0uOCAzLjQtMS41IDUuMi0ybDIzLTYuM0MyMDkuMiA2My41IDI0NyA0NS44IDI4MSAyMnpNNDE2IDEyOGwtOTYgMC05NiAwIDAgNjQgNzIgMCA0OCAwIDcyIDAgMC02NHpNMTYwIDI4OGwwIDY0IDEzNiAwIDI0IDAgMjQgMCAxMzYgMCAwLTY0LTEzNiAwLTI0IDBzMCAwIDAgMGwtMjQgMC0xMzYgMHpcIl1cbn07XG5jb25zdCBmYVNjYWxlVW5iYWxhbmNlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2FsZS11bmJhbGFuY2VkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJiYWxhbmNlLXNjYWxlLWxlZnRcIl0sIFwiZjUxNVwiLCBcIk01MjIuMSA2Mi40YzE2LjgtNS42IDI1LjgtMjMuNyAyMC4yLTQwLjVTNTE4LjYtMy45IDUwMS45IDEuNmwtMTEzIDM3LjdDMzc1IDE1LjggMzQ5LjMgMCAzMjAgMGMtNDQuMiAwLTgwIDM1LjgtODAgODBjMCAzIC4yIDUuOSAuNSA4LjhMMTE3LjkgMTI5LjZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmwxMzUuNS00NS4yYzQuNSAzLjIgOS4zIDUuOSAxNC40IDguMkwyODggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTI5NC43YzIxLTkuMiAzNy4yLTI3IDQ0LjItNDlsMTI1LjktNDJ6TTQzOS42IDI4OEw1MTIgMTYzLjggNTg0LjQgMjg4bC0xNDQuOSAwek01MTIgMzg0YzYyLjkgMCAxMTUuMi0zNCAxMjYtNzguOWMyLjYtMTEtMS0yMi4zLTYuNy0zMi4xTDUzNi4xIDEwOS44Yy01LTguNi0xNC4yLTEzLjgtMjQuMS0xMy44cy0xOS4xIDUuMy0yNC4xIDEzLjhMMzkyLjcgMjczLjFjLTUuNyA5LjgtOS4zIDIxLjEtNi43IDMyLjFDMzk2LjggMzUwIDQ0OS4xIDM4NCA1MTIgMzg0ek0xMjkuMiAyOTEuOEwyMDEuNiA0MTYgNTYuNyA0MTZsNzIuNC0xMjQuMnpNMy4yIDQzMy4xQzE0IDQ3OCA2Ni4zIDUxMiAxMjkuMiA1MTJzMTE1LjItMzQgMTI2LTc4LjljMi42LTExLTEtMjIuMy02LjctMzIuMUwxNTMuMiAyMzcuOGMtNS04LjYtMTQuMi0xMy44LTI0LjEtMTMuOHMtMTkuMSA1LjMtMjQuMSAxMy44TDkuOSA0MDEuMWMtNS43IDkuOC05LjMgMjEuMS02LjcgMzIuMXpcIl1cbn07XG5jb25zdCBmYUJhbGFuY2VTY2FsZUxlZnQgPSBmYVNjYWxlVW5iYWxhbmNlZDtcbmNvbnN0IGZhU29ydFVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvcnQtdXAnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInNvcnQtYXNjXCJdLCBcImYwZGVcIiwgXCJNMTgyLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhsMjU2IDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtMTI4LTEyOHpcIl1cbn07XG5jb25zdCBmYVNvcnRBc2MgPSBmYVNvcnRVcDtcbmNvbnN0IGZhQ29tbWVudERvdHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1kb3RzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTcyLCA2MjA3NSwgXCJjb21tZW50aW5nXCJdLCBcImY0YWRcIiwgXCJNMjU2IDQ0OGMxNDEuNCAwIDI1Ni05My4xIDI1Ni0yMDhTMzk3LjQgMzIgMjU2IDMyUzAgMTI1LjEgMCAyNDBjMCA0NS4xIDE3LjcgODYuOCA0Ny43IDEyMC45Yy0xLjkgMjQuNS0xMS40IDQ2LjMtMjEuNCA2Mi45Yy01LjUgOS4yLTExLjEgMTYuNi0xNS4yIDIxLjZjLTIuMSAyLjUtMy43IDQuNC00LjkgNS43Yy0uNiAuNi0xIDEuMS0xLjMgMS40bC0uMyAuM2MwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjLTQuNiA0LjYtNS45IDExLjQtMy40IDE3LjRjMi41IDYgOC4zIDkuOSAxNC44IDkuOWMyOC43IDAgNTcuNi04LjkgODEuNi0xOS4zYzIyLjktMTAgNDIuNC0yMS45IDU0LjMtMzAuNmMzMS44IDExLjUgNjcgMTcuOSAxMDQuMSAxNy45ek0xMjggMjA4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwelwiXVxufTtcbmNvbnN0IGZhQ29tbWVudGluZyA9IGZhQ29tbWVudERvdHM7XG5jb25zdCBmYVBsYW50V2lsdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwbGFudC13aWx0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNWFhXCIsIFwiTTI4OCAxMjBjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEzYy0yOS4zIDEwLTQ4IDM0LjUtNDggNzAuMWMwIDI3LjkgMjUuMyA3NC44IDY2IDExMS42YzMuOCAzLjUgOC45IDUuMyAxNCA1LjNzMTAuMi0xLjggMTQtNS4zYzQwLjctMzYuOCA2Ni04My43IDY2LTExMS42YzAtMzUuNi0xOC43LTYwLjItNDgtNzAuMWwwLTEzQzQ2NCA1My43IDQxMC4zIDAgMzQ0IDBTMjI0IDUzLjcgMjI0IDEyMGwwIDIxLjhDMjA3LjMgMTMzIDE4OC4yIDEyOCAxNjggMTI4Yy02Ni4zIDAtMTIwIDUzLjctMTIwIDEyMGwwIDEzYy0yOS4zIDEwLTQ4IDM0LjUtNDggNzAuMUMwIDM1OSAyNS4zIDQwNS45IDY2IDQ0Mi43YzMuOCAzLjUgOC45IDUuMyAxNCA1LjNzMTAuMi0xLjggMTQtNS4zYzQwLjctMzYuOCA2Ni04My43IDY2LTExMS42YzAtMzUuNi0xOC43LTYwLjItNDgtNzAuMWwwLTEzYzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAzMiAwIDIwMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjAwIDAtMzIgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFEaWFtb25kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYW1vbmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5ODMwXSwgXCJmMjE5XCIsIFwiTTI4NC4zIDExLjdjLTE1LjYtMTUuNi00MC45LTE1LjYtNTYuNiAwbC0yMTYgMjE2Yy0xNS42IDE1LjYtMTUuNiA0MC45IDAgNTYuNmwyMTYgMjE2YzE1LjYgMTUuNiA0MC45IDE1LjYgNTYuNiAwbDIxNi0yMTZjMTUuNi0xNS42IDE1LjYtNDAuOSAwLTU2LjZsLTIxNi0yMTZ6XCJdXG59O1xuY29uc3QgZmFGYWNlR3JpblNxdWludCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tc3F1aW50JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTE4LCBcImdyaW4tc3F1aW50XCJdLCBcImY1ODVcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4OC4xIDMxMi44YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN0MzODIuNCAzOTAuNiAzMjQuMiA0MzIgMjU2LjMgNDMycy0xMjYuMi00MS40LTE1MS4xLTEwMC41Yy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOXpNMTMzLjUgMTQ2LjdsODkuOSA0Ny45YzEwLjcgNS43IDEwLjcgMjEuMSAwIDI2LjhsLTg5LjkgNDcuOWMtNy45IDQuMi0xNy41LTEuNS0xNy41LTEwLjVjMC0yLjggMS01LjUgMi44LTcuNmwzNi00My4yLTM2LTQzLjJjLTEuOC0yLjEtMi44LTQuOC0yLjgtNy42YzAtOSA5LjYtMTQuNyAxNy41LTEwLjV6TTM5NiAxNTcuMWMwIDIuOC0xIDUuNS0yLjggNy42bC0zNiA0My4yIDM2IDQzLjJjMS44IDIuMSAyLjggNC44IDIuOCA3LjZjMCA5LTkuNiAxNC43LTE3LjUgMTAuNWwtODkuOS00Ny45Yy0xMC43LTUuNy0xMC43LTIxLjEgMC0yNi44bDg5LjktNDcuOWM3LjktNC4yIDE3LjUgMS41IDE3LjUgMTAuNXpcIl1cbn07XG5jb25zdCBmYUdyaW5TcXVpbnQgPSBmYUZhY2VHcmluU3F1aW50O1xuY29uc3QgZmFIYW5kSG9sZGluZ0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctZG9sbGFyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJoYW5kLWhvbGRpbmctdXNkXCJdLCBcImY0YzBcIiwgXCJNMzEyIDI0bDAgMTAuNWM2LjQgMS4yIDEyLjYgMi43IDE4LjIgNC4yYzEyLjggMy40IDIwLjQgMTYuNiAxNyAyOS40cy0xNi42IDIwLjQtMjkuNCAxN2MtMTAuOS0yLjktMjEuMS00LjktMzAuMi01Yy03LjMtLjEtMTQuNyAxLjctMTkuNCA0LjRjLTIuMSAxLjMtMy4xIDIuNC0zLjUgM2MtLjMgLjUtLjcgMS4yLS43IDIuOGMwIC4zIDAgLjUgMCAuNmMuMiAuMiAuOSAxLjIgMy4zIDIuNmM1LjggMy41IDE0LjQgNi4yIDI3LjQgMTAuMWwuOSAuM3MwIDAgMCAwYzExLjEgMy4zIDI1LjkgNy44IDM3LjkgMTUuM2MxMy43IDguNiAyNi4xIDIyLjkgMjYuNCA0NC45Yy4zIDIyLjUtMTEuNCAzOC45LTI2LjcgNDguNWMtNi43IDQuMS0xMy45IDctMjEuMyA4LjhsMCAxMC42YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEuNGMtOS41LTIuMy0xOC4yLTUuMy0yNS42LTcuOGMtMi4xLS43LTQuMS0xLjQtNi0yYy0xMi42LTQuMi0xOS40LTE3LjgtMTUuMi0zMC40czE3LjgtMTkuNCAzMC40LTE1LjJjMi42IC45IDUgMS43IDcuMyAyLjVjMTMuNiA0LjYgMjMuNCA3LjkgMzMuOSA4LjNjOCAuMyAxNS4xLTEuNiAxOS4yLTQuMWMxLjktMS4yIDIuOC0yLjIgMy4yLTIuOWMuNC0uNiAuOS0xLjggLjgtNC4xbDAtLjJjMC0xIDAtMi4xLTQtNC42Yy01LjctMy42LTE0LjMtNi40LTI3LjEtMTAuM2wtMS45LS42Yy0xMC44LTMuMi0yNS03LjUtMzYuNC0xNC40Yy0xMy41LTguMS0yNi41LTIyLTI2LjYtNDQuMWMtLjEtMjIuOSAxMi45LTM4LjYgMjcuNy00Ny40YzYuNC0zLjggMTMuMy02LjQgMjAuMi04LjJMMjY0IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTU2OC4yIDMzNi4zYzEzLjEgMTcuOCA5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVMMTkyIDUxMiAzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzYuOCAwIDQ0LjktMzZjMjIuNy0xOC4yIDUwLjktMjggODAtMjhsNzguMyAwIDE2IDAgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyMC42IDAgMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjV6TTE5My42IDM4NGMwIDAgMCAwIDAgMGwtLjkgMGMuMyAwIC42IDAgLjkgMHpcIl1cbn07XG5jb25zdCBmYUhhbmRIb2xkaW5nVXNkID0gZmFIYW5kSG9sZGluZ0RvbGxhcjtcbmNvbnN0IGZhQmFjdGVyaXVtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhY3Rlcml1bScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA1YVwiLCBcIk00MjMuMSAzMC42YzMuNi0xMi43LTMuNy0yNi0xNi41LTI5LjdzLTI2IDMuNy0yOS43IDE2LjVsLTQuMiAxNC43Yy05LjgtLjQtMTkuOSAuNS0yOS45IDIuOGMtMTIuMSAyLjgtMjMuNyA1LjktMzQuOSA5LjRsLTUuOS0xMy43Yy01LjItMTIuMi0xOS4zLTE3LjgtMzEuNS0xMi42cy0xNy44IDE5LjMtMTIuNiAzMS41bDQuOSAxMS4zYy0yMiA5LjQtNDIgMjAuMS02MC4yIDMxLjhMMTk2IDgyLjdjLTcuNC0xMS0yMi4zLTE0LTMzLjMtNi43cy0xNCAyMi4zLTYuNyAzMy4zbDcuOCAxMS42Yy0xOCAxNS0zMy43IDMwLjgtNDcuMyA0Ny4xTDEwMyAxNTcuM2MtMTAuNC04LjMtMjUuNS02LjYtMzMuNyAzLjdzLTYuNiAyNS41IDMuNyAzMy43bDE1IDEyYy0yLjEgMy4yLTQuMSA2LjUtNiA5LjdjLTkuNCAxNS43LTE3IDMxLTIzLjIgNDUuM2wtOS45LTMuOWMtMTIuMy00LjktMjYuMyAxLjEtMzEuMiAxMy40czEuMSAyNi4zIDEzLjQgMzEuMmwxMS42IDQuNmMtLjMgMS4xLS42IDIuMS0uOSAzLjFjLTMuNSAxMi41LTUuNyAyMy4yLTcuMSAzMS4zYy0uNyA0LjEtMS4yIDcuNS0xLjYgMTAuM2MtLjIgMS40LS4zIDIuNi0uNCAzLjZsLS4xIDEuNC0uMSAuNiAwIC4zIDAgLjFjMCAwIDAgLjEgMzkuMiAzLjdjMCAwIDAgMCAwIDBsLTM5LjItMy42Yy0uNSA1LS42IDEwLS40IDE0LjlsLTE0LjcgNC4yQzQuNyAzODAuNi0yLjcgMzkzLjggLjkgNDA2LjZzMTYuOSAyMC4xIDI5LjcgMTYuNWwxMy44LTMuOWMxMC42IDIwLjcgMjcuNiAzNy44IDQ4LjUgNDguNWwtMy45IDEzLjdjLTMuNiAxMi43IDMuNyAyNiAxNi41IDI5LjdzMjYtMy43IDI5LjctMTYuNWw0LjItMTQuN2MyMy44IDEgNDYuMy01LjUgNjUuMS0xNy42TDIxNSA0NzNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xMC42LTEwLjZjOS4xLTE0LjEgMTUuMS0zMC41IDE3LTQ4LjNsLjEtLjhjLjMtMS43IDEtNS4xIDIuMy05LjhsLjItLjggMTIuNiA1LjRjMTIuMiA1LjIgMjYuMy0uNCAzMS41LTEyLjZzLS40LTI2LjMtMTIuNi0zMS41bC0xMS4zLTQuOGM5LjktMTQuOSAyNC45LTMxLjYgNDguNi00NmwyLjEgNy41YzMuNiAxMi43IDE2LjkgMjAuMSAyOS43IDE2LjVzMjAuMS0xNi45IDE2LjUtMjkuN0wzNzEgMjU5LjJjNi45LTIuMiAxNC4zLTQuMyAyMi4yLTYuMWMxMi45LTMgMjQuNy04IDM1LjItMTQuOEw0MzkgMjQ5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTAuNi0xMC42YzEyLjItMTkgMTguNi00MS42IDE3LjYtNjUuMWwxNC43LTQuMmMxMi43LTMuNiAyMC4xLTE2LjkgMTYuNS0yOS43cy0xNi45LTIwLjEtMjkuNy0xNi41bC0xMy43IDMuOWMtMTAuOC0yMS4yLTI4LTM4LTQ4LjUtNDguNWwzLjktMTMuOHpNOTIuMSAzNjMuM3MwIDAgMCAwTDE0NCAzNjhsLTUxLjktNC43ek0xMTIgMzIwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTI0MCAxODRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhSGFuZFBvaW50ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1wb2ludGVyJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMjVhXCIsIFwiTTEyOCA0MGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMTQ4LjJjOC41LTcuNiAxOS43LTEyLjIgMzItMTIuMmMyMC42IDAgMzguMiAxMyA0NSAzMS4yYzguOC05LjMgMjEuMi0xNS4yIDM1LTE1LjJjMjUuMyAwIDQ2IDE5LjUgNDcuOSA0NC4zYzguNS03LjcgMTkuOC0xMi4zIDMyLjEtMTIuM2MyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4IDAgMTYgMCA0OGMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMTYgMC02NCAwLS4xIDAtNS4yIDBjLTUgMC05LjktLjMtMTQuNy0xYy01NS4zLTUuNi0xMDYuMi0zNC0xNDAtNzlMOCAzMzZjLTEzLjMtMTcuNy05LjctNDIuNyA4LTU2czQyLjctOS43IDU2IDhsNTYgNzQuN0wxMjggNDB6TTI0MCAzMDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6bTQ4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em04MCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC05NnpcIl1cbn07XG5jb25zdCBmYURydW1TdGVlbHBhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcnVtLXN0ZWVscGFuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTZhXCIsIFwiTTI4OCAzMmMxNTkuMSAwIDI4OCA0OCAyODggMTI4bDAgMTkyYzAgODAtMTI4LjkgMTI4LTI4OCAxMjhTMCA0MzIgMCAzNTJMMCAxNjBDMCA4MCAxMjguOSAzMiAyODggMzJ6TTUyOCAxNjBjMC05LjktOC0yOS45LTU1LTQ5LjhjLTE4LjYtNy45LTQwLjktMTQuNC02Ni0xOS40bC0yNy44IDQzLjZjLTcuMyAxMS41LTExLjIgMjQuOC0xMS4yIDM4LjRjMCAxNy41IDYuNCAzNC40IDE4LjEgNDcuNWw5LjggMTFjMjkuOC01LjIgNTUuOS0xMi41IDc3LjItMjEuNWM0Ny4xLTE5LjkgNTUtMzkuOSA1NS00OS44ek0zNDkuMiAyMzcuM2MtOC0yNi4yLTMyLjQtNDUuMy02MS4yLTQ1LjNzLTUzLjMgMTkuMS02MS4yIDQ1LjNjMTkuNCAxLjcgMzkuOSAyLjcgNjEuMiAyLjdzNDEuOC0uOSA2MS4yLTIuN3pNMTY5IDkwLjhjLTI1LjIgNS00Ny40IDExLjYtNjYgMTkuNEM1NiAxMzAuMSA0OCAxNTAuMSA0OCAxNjBzOCAyOS45IDU1IDQ5LjhjMjEuMyA5IDQ3LjQgMTYuMyA3Ny4yIDIxLjVsOS44LTExYzExLjYtMTMuMSAxOC4xLTMwIDE4LjEtNDcuNWMwLTEzLjYtMy45LTI2LjktMTEuMi0zOC40TDE2OSA5MC44em01Ni4zLThDMjI0LjUgODcgMjI0IDkxLjUgMjI0IDk2YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC00LjUtLjUtOS0xLjQtMTMuMkMzMzAuOCA4MSAzMDkuOCA4MCAyODggODBzLTQyLjggMS02Mi42IDIuOHpcIl1cbn07XG5jb25zdCBmYUhhbmRTY2lzc29ycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXNjaXNzb3JzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMjU3XCIsIFwiTTQwIDIwOGMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGwxODAuMiAwYy03LjYgOC41LTEyLjIgMTkuNy0xMi4yIDMyYzAgMjUuMyAxOS41IDQ2IDQ0LjMgNDcuOWMtNy43IDguNS0xMi4zIDE5LjgtMTIuMyAzMi4xYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDAgNjQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTExMy4xYzAtNDAuMi0xNi03OC44LTQ0LjQtMTA3LjNDNDQ0LjggNzYuOCA0MTMuOSA2NCAzODEuNyA2NEwzMzYgNjRjLTIxLjMgMC0zOS4zIDEzLjktNDUuNiAzMy4xbDc0LjUgMjMuN2M4LjQgMi43IDEzLjEgMTEuNyAxMC40IDIwLjFzLTExLjcgMTMuMS0yMC4xIDEwLjRMMjg4IDEyOS45YzAgMCAwIC4xIDAgLjFMODQgNjUuOEM2Mi45IDU5LjIgNDAuNSA3MC45IDMzLjggOTJzNS4xIDQzLjUgMjYuMiA1MC4yTDI2OS41IDIwOCA0MCAyMDh6XCJdXG59O1xuY29uc3QgZmFIYW5kc1ByYXlpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtcHJheWluZycsXG4gIGljb246IFs2NDAsIDUxMiwgW1wicHJheWluZy1oYW5kc1wiXSwgXCJmNjg0XCIsIFwiTTM1MS4yIDQuOGMzLjItMiA2LjYtMy4zIDEwLTQuMWM0LjctMSA5LjYtLjkgMTQuMSAuMWM3LjcgMS44IDE0LjggNi41IDE5LjQgMTMuNkw1MTQuNiAxOTQuMmM4LjggMTMuMSAxMy40IDI4LjYgMTMuNCA0NC40bDAgNzMuNWMwIDYuOSA0LjQgMTMgMTAuOSAxNS4ybDc5LjIgMjYuNEM2MzEuMiAzNTggNjQwIDM3MC4yIDY0MCAzODRsMCA5NmMwIDkuOS00LjYgMTkuMy0xMi41IDI1LjRzLTE4LjEgOC4xLTI3LjcgNS41TDQzMSA0NjUuOWMtNTYtMTQuOS05NS02NS43LTk1LTEyMy43TDMzNiAyMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04NC45YzAtNy0xLjgtMTMuOC01LjMtMTkuOEwzNDAuMyA0OC4xYy0xLjctMy0yLjktNi4xLTMuNi05LjNjLTEtNC43LTEtOS42IC4xLTE0LjFjMS45LTggNi44LTE1LjIgMTQuMy0xOS45em0tNjIuNCAwYzcuNSA0LjYgMTIuNCAxMS45IDE0LjMgMTkuOWMxLjEgNC42IDEuMiA5LjQgLjEgMTQuMWMtLjcgMy4yLTEuOSA2LjMtMy42IDkuM0wyMTMuMyAxOTkuM2MtMy41IDYtNS4zIDEyLjktNS4zIDE5LjhsMCA4NC45YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTE4LjJjMCA1OC0zOSAxMDguNy05NSAxMjMuN2wtMTY4LjcgNDVjLTkuNiAyLjYtMTkuOSAuNS0yNy43LTUuNVMwIDQ5MCAwIDQ4MGwwLTk2YzAtMTMuOCA4LjgtMjYgMjEuOS0zMC40bDc5LjItMjYuNGM2LjUtMi4yIDEwLjktOC4zIDEwLjktMTUuMmwwLTczLjVjMC0xNS44IDQuNy0zMS4yIDEzLjQtNDQuNEwyNDUuMiAxNC41YzQuNi03LjEgMTEuNy0xMS44IDE5LjQtMTMuNmM0LjYtMS4xIDkuNC0xLjIgMTQuMS0uMWMzLjUgLjggNi45IDIuMSAxMCA0LjF6XCJdXG59O1xuY29uc3QgZmFQcmF5aW5nSGFuZHMgPSBmYUhhbmRzUHJheWluZztcbmNvbnN0IGZhQXJyb3dSb3RhdGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yb3RhdGUtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs4NjM1LCBcImFycm93LXJpZ2h0LXJvdGF0ZVwiLCBcImFycm93LXJvdGF0ZS1mb3J3YXJkXCIsIFwicmVkb1wiXSwgXCJmMDFlXCIsIFwiTTM4Ni4zIDE2MEwzMzYgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTEuMkw0MTQuNCA5Ny42Yy04Ny41LTg3LjUtMjI5LjMtODcuNS0zMTYuOCAwcy04Ny41IDIyOS4zIDAgMzE2LjhzMjI5LjMgODcuNSAzMTYuOCAwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwYy02Mi41IDYyLjUtMTYzLjggNjIuNS0yMjYuMyAwcy02Mi41LTE2My44IDAtMjI2LjNzMTYzLjgtNjIuNSAyMjYuMyAwTDM4Ni4zIDE2MHpcIl1cbn07XG5jb25zdCBmYUFycm93UmlnaHRSb3RhdGUgPSBmYUFycm93Um90YXRlUmlnaHQ7XG5jb25zdCBmYUFycm93Um90YXRlRm9yd2FyZCA9IGZhQXJyb3dSb3RhdGVSaWdodDtcbmNvbnN0IGZhUmVkbyA9IGZhQXJyb3dSb3RhdGVSaWdodDtcbmNvbnN0IGZhV2ViQXdlc29tZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3ZWItYXdlc29tZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTY4MlwiLCBcIk0zNzIuMiA1MmMwIDIwLjktMTIuNCAzOS0zMC4yIDQ3LjJMNDQ4IDE5MmwxMDQuNC0yMC45Yy01LjMtNy43LTguNC0xNy4xLTguNC0yNy4xYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhjMCAyNi0yMC42IDQ3LjEtNDYuNCA0OEw0ODEgNDQyLjNjLTEwLjMgMjMtMzMuMiAzNy43LTU4LjQgMzcuN2wtMjA1LjIgMGMtMjUuMiAwLTQ4LTE0LjgtNTguNC0zNy43TDQ2LjQgMTkyQzIwLjYgMTkxLjEgMCAxNzAgMCAxNDRjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGMwIDEwLjEtMy4xIDE5LjQtOC40IDI3LjFMMTkyIDE5MiAyOTguMSA5OS4xYy0xNy43LTguMy0zMC0yNi4zLTMwLTQ3LjFjMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MnpcIl1cbn07XG5jb25zdCBmYUJpb2hhemFyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiaW9oYXphcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs5NzYzXSwgXCJmNzgwXCIsIFwiTTE3My4yIDBjLTEuOCAwLTMuNSAuNy00LjggMkMxMzguNSAzMi4zIDEyMCA3NCAxMjAgMTIwYzAgMjYuMiA2IDUwLjkgMTYuNiA3M2MtMjIgMi40LTQzLjggOS4xLTY0LjIgMjAuNUMzNy45IDIzMi44IDEzLjMgMjYyLjQgLjQgMjk2Yy0uNyAxLjctLjUgMy43IC41IDUuMmMyLjIgMy43IDcuNCA0LjMgMTAuNiAxLjNDNjQuMiAyNTQuMyAxNTggMjQ1LjEgMjA1IDMyNHMtOC4xIDE1My4xLTc3LjYgMTczLjJjLTQuMiAxLjItNi4zIDUuOS00LjEgOS42YzEgMS42IDIuNiAyLjcgNC41IDNjMzYuNSA1LjkgNzUuMiAuMSAxMDkuNy0xOS4yYzIwLjQtMTEuNCAzNy40LTI2LjUgNTAuNS00My44YzEzLjEgMTcuMyAzMC4xIDMyLjQgNTAuNSA0My44YzM0LjUgMTkuMyA3My4zIDI1LjIgMTA5LjcgMTkuMmMxLjktLjMgMy41LTEuNCA0LjUtM2MyLjItMy43IC4xLTguNC00LjEtOS42QzM3OS4xIDQ3Ny4xIDMyNCA0MDMgMzcxIDMyNHMxNDAuNy02OS44IDE5My41LTIxLjRjMy4yIDIuOSA4LjQgMi4zIDEwLjYtMS4zYzEtMS42IDEuMS0zLjUgLjUtNS4yYy0xMi45LTMzLjYtMzcuNS02My4yLTcyLjEtODIuNWMtMjAuNC0xMS40LTQyLjItMTguMS02NC4yLTIwLjVDNDUwIDE3MC45IDQ1NiAxNDYuMiA0NTYgMTIwYzAtNDYtMTguNS04Ny43LTQ4LjQtMTE4Yy0xLjMtMS4zLTMtMi00LjgtMmMtNSAwLTguNCA1LjItNi43IDkuOUM0MjEuNyA4MC41IDM4NS42IDE3NiAyODggMTc2UzE1NC4zIDgwLjUgMTc5LjkgOS45YzEuNy00LjctMS42LTkuOS02LjctOS45ek0yNDAgMjcyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTE4MS43IDQxNy42YzYuMy0xMS44IDkuOC0yNS4xIDguNi0zOS44Yy0xOS41LTE4LTM0LTQxLjQtNDEuMi02Ny44Yy0xMi41LTguMS0yNi4yLTExLjgtNDAtMTIuNGMtOS0uNC0xOC4xIC42LTI3LjEgMi43YzcuOCA1Ny4xIDM4LjcgMTA2LjggODIuOSAxMzkuNGM2LjgtNi43IDEyLjYtMTQuMSAxNi44LTIyLjF6TTI4OCA2NGMtMjguOCAwLTU2LjMgNS45LTgxLjIgMTYuNWMyIDguMyA1IDE2LjIgOSAyMy41YzYuOCAxMi40IDE2LjcgMjMuMSAzMC4xIDMwLjNjMTMuMy00LjEgMjcuNS02LjMgNDIuMi02LjNzMjguOCAyLjIgNDIuMiA2LjNjMTMuNC03LjIgMjMuMy0xNy45IDMwLjEtMzAuM2M0LTcuMyA3LTE1LjIgOS0yMy41QzM0NC4zIDY5LjkgMzE2LjggNjQgMjg4IDY0ek00MjYuOSAzMTBjLTcuMiAyNi40LTIxLjcgNDkuNy00MS4yIDY3LjhjLTEuMiAxNC43IDIuMiAyOC4xIDguNiAzOS44YzQuMyA4IDEwIDE1LjQgMTYuOCAyMi4xYzQ0LjMtMzIuNiA3NS4yLTgyLjMgODIuOS0xMzkuNGMtOS0yLjItMTguMS0zLjEtMjcuMS0yLjdjLTEzLjggLjYtMjcuNSA0LjQtNDAgMTIuNHpcIl1cbn07XG5jb25zdCBmYUxvY2F0aW9uQ3Jvc3NoYWlycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1jcm9zc2hhaXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb2NhdGlvblwiXSwgXCJmNjAxXCIsIFwiTTI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzQuN0MzNjguNCA4MC4xIDQzMS45IDE0My42IDQ0NS4zIDIyNGwzNC43IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM0LjcgMEM0MzEuOSAzNjguNCAzNjguNCA0MzEuOSAyODggNDQ1LjNsMCAzNC43YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzQuN0MxNDMuNiA0MzEuOSA4MC4xIDM2OC40IDY2LjcgMjg4TDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzNC43IDBDODAuMSAxNDMuNiAxNDMuNiA4MC4xIDIyNCA2Ni43TDIyNCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTI4IDI1NmExMjggMTI4IDAgMSAwIDI1NiAwIDEyOCAxMjggMCAxIDAgLTI1NiAwem0xMjgtODBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6XCJdXG59O1xuY29uc3QgZmFMb2NhdGlvbiA9IGZhTG9jYXRpb25Dcm9zc2hhaXJzO1xuY29uc3QgZmFNYXJzRG91YmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcnMtZG91YmxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTg5MV0sIFwiZjIyN1wiLCBcIk0zMTIgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOHMtMS43IDE5LjMgNS4yIDI2LjJsMzMuNCAzMy40TDI3NS44IDE1OWMtMjguNC0xOS41LTYyLjctMzEtOTkuOC0zMUM3OC44IDEyOCAwIDIwNi44IDAgMzA0czc4LjggMTc2IDE3NiAxNzZzMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDUyLjYtNTIuNkw0MDcgMTg1YzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzMTIgMzJ6bTg4IDQ4czAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwek02NCAzMDRhMTEyIDExMiAwIDEgMSAyMjQgMEExMTIgMTEyIDAgMSAxIDY0IDMwNHpNMzY4IDQ4MGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDUyLjYtNTIuNkw1OTkgMTg1YzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJzMTQuOC0xMi41IDE0LjgtMjIuMmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEw1MDQgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOGMtMS4yIDIuOS0xLjggNi0xLjggOWwwIC4yIDAgLjJjMCA2LjIgMi41IDEyLjIgNyAxNi44bDMzLjQgMzMuNEw0ODAgMTQ2LjdsMCAyMS4zYzAgMjIuNi0xMy42IDQzLjEtMzQuNiA1MS43Yy0uOCAuMy0xLjcgLjctMi41IDFDNDY1LjcgMjQxLjIgNDgwIDI3MC45IDQ4MCAzMDRjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJjLTUuNCAwLTEwLjgtLjQtMTYtMS4xYy0xMi45IDIwLjQtMjkuMSAzOC4zLTQ4LjEgNTMuMWMxOS44IDcuOCA0MS40IDEyIDY0IDEyelwiXVxufTtcbmNvbnN0IGZhQ2hpbGREcmVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGlsZC1kcmVzcycsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZTU5Y1wiLCBcIk0yMjQgNjRBNjQgNjQgMCAxIDAgOTYgNjRhNjQgNjQgMCAxIDAgMTI4IDB6TTg4IDQwMGwwIDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC04MCAxNiAwIDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDE3LjggMGMxMC45IDAgMTguNi0xMC43IDE1LjItMjEuMWwtMzEuMS05My40IDI4LjYgMzcuOGMxMC43IDE0LjEgMzAuOCAxNi44IDQ0LjggNi4yczE2LjgtMzAuNyA2LjItNDQuOEwyNTQuNiAyMDdjLTIyLjQtMjkuNi01Ny41LTQ3LTk0LjYtNDdzLTcyLjIgMTcuNC05NC42IDQ3TDYuNSAyODQuN2MtMTAuNyAxNC4xLTcuOSAzNC4yIDYuMiA0NC44czM0LjIgNy45IDQ0LjgtNi4ybDI4LjctMzcuOEw1NSAzNzguOUM1MS42IDM4OS4zIDU5LjMgNDAwIDcwLjIgNDAwTDg4IDQwMHpcIl1cbn07XG5jb25zdCBmYVVzZXJzQmV0d2VlbkxpbmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLWJldHdlZW4tbGluZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTFcIiwgXCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMNjE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNDhDMTAuNyA0OCAwIDM3LjMgMCAyNHpNMCA0ODhjMC0xMy4zIDEwLjctMjQgMjQtMjRsNTkyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNODMuMiAxNjBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0zMiAzMjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsOTYgMGMxMi4yIDAgMjMuNyAzLjQgMzMuNCA5LjRjLTM3LjIgMTUuMS02NS42IDQ3LjItNzUuOCA4Ni42TDY0IDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTQ2MS42IDMyYy0xMC4zLTQwLjEtMzkuNi03Mi42LTc3LjctODcuNGM5LjQtNS41IDIwLjQtOC42IDMyLjEtOC42bDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTgyLjQgMHpNMzkxLjIgMjkwLjRjMzIuMSA3LjQgNTguMSAzMC45IDY4LjkgNjEuNmMzLjUgMTAgNS41IDIwLjggNS41IDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJjMC0xMS4yIDEuOS0yMiA1LjUtMzJjMTAuNS0yOS43IDM1LjMtNTIuOCA2Ni4xLTYwLjljNy44LTIuMSAxNi0zLjEgMjQuNS0zLjFsOTYgMGM3LjQgMCAxNC43IC44IDIxLjYgMi40em00NC0xMzAuNGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTMyMS42IDk2YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbmNvbnN0IGZhTHVuZ3NWaXJ1cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsdW5ncy12aXJ1cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2N1wiLCBcIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyNC4yYy04LjUtNy42LTE5LjctMTIuMi0zMi0xMi4ycy0yMy41IDQuNi0zMiAxMi4yTDI4OCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDQ0LjUgMTk1LjVjLTE2LjQtMTYuNC00MS44LTE4LjUtNjAuNS02LjFsMC0yNC4xQzM4NCAxMjcgNDE1IDk2IDQ1My4zIDk2YzIxLjcgMCA0Mi44IDEwLjIgNTUuOCAyOC44YzE1LjQgMjIuMSA0NC4zIDY1LjQgNzEgMTE2LjljMjYuNSA1MC45IDUyLjQgMTEyLjUgNTkuNiAxNzAuM2MuMiAxLjMgLjIgMi42IC4yIDRsMCA3YzAgNDkuMS0zOS44IDg5LTg5IDg5Yy03LjMgMC0xNC41LS45LTIxLjYtMi43bC03Mi43LTE4LjJjLTIwLjktNS4yLTM4LjctMTcuMS01MS41LTMyLjljMTQgMS41IDI4LjUtMyAzOS4yLTEzLjhsLTIyLjYtMjIuNiAyMi42IDIyLjZjMTguNy0xOC43IDE4LjctNDkuMSAwLTY3LjljLTEuMS0xLjEtMS40LTItMS41LTIuNWMtLjEtLjgtLjEtMS44IC40LTIuOXMxLjItMS45IDEuOC0yLjNjLjUtLjMgMS4zLS44IDIuOS0uOGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGMtMS42IDAtMi40LS40LTIuOS0uOGMtLjYtLjQtMS4zLTEuMi0xLjgtMi4zcy0uNS0yLjItLjQtMi45Yy4xLS42IC40LTEuNCAxLjUtMi41YzE4LjctMTguNyAxOC43LTQ5LjEgMC02Ny45ek00MjEuOCA0MjEuOGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBDMzc1LjkgMzk4LjUgMzM2IDQxNSAzMzYgNDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2YzAtMzMtMzkuOS00OS41LTYzLjItMjYuMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkMyNDEuNSAzNzUuOSAyMjUgMzM2IDE5MiAzMzZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZjMzMgMCA0OS41LTM5LjkgMjYuMi02My4yYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBDMjY0LjEgMjQxLjUgMzA0IDIyNSAzMDQgMTkyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZjMCAzMyAzOS45IDQ5LjUgNjMuMiAyNi4yYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkMzOTguNSAyNjQuMSA0MTUgMzA0IDQ0OCAzMDRjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZjLTMzIDAtNDkuNSAzOS45LTI2LjIgNjMuMmM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnpNMTgzLjMgNDkxLjJsLTcyLjcgMTguMmMtNy4xIDEuOC0xNC4zIDIuNy0yMS42IDIuN2MtNDkuMSAwLTg5LTM5LjgtODktODlsMC03YzAtMS4zIC4xLTIuNyAuMi00YzcuMi01Ny45IDMzLjEtMTE5LjQgNTkuNi0xNzAuM2MyNi44LTUxLjUgNTUuNi05NC44IDcxLTExNi45YzEzLTE4LjYgMzQtMjguOCA1NS44LTI4LjhDMjI1IDk2IDI1NiAxMjcgMjU2IDE2NS4zbDAgMjQuMWMtMTguNi0xMi40LTQ0LTEwLjMtNjAuNSA2LjFjLTE4LjcgMTguNy0xOC43IDQ5LjEgMCA2Ny45YzEuMSAxLjEgMS40IDIgMS41IDIuNWMuMSAuOCAuMSAxLjgtLjQgMi45cy0xLjIgMS45LTEuOCAyLjNjLS41IC4zLTEuMyAuOC0yLjkgLjhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhjMS42IDAgMi40IC40IDIuOSAuOGMuNiAuNCAxLjMgMS4yIDEuOCAyLjNzLjUgMi4yIC40IDIuOWMtLjEgLjYtLjQgMS40LTEuNSAyLjVjLTE4LjcgMTguNy0xOC43IDQ5LjEgMCA2Ny45YzEwLjcgMTAuNyAyNS4zIDE1LjMgMzkuMiAxMy44Yy0xMi44IDE1LjktMzAuNiAyNy43LTUxLjUgMzIuOXpNMjk2IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTcyIDMyYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xuY29uc3QgZmFGYWNlR3JpblRlYXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi10ZWFycycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODUxNCwgXCJncmluLXRlYXJzXCJdLCBcImY1ODhcIiwgXCJNNTQ4LjYgMzcxLjRDNTA2LjQgNDU0LjggNDE5LjkgNTEyIDMyMCA1MTJzLTE4Ni40LTU3LjItMjI4LjYtMTQwLjZjNC41LTIuOSA4LjctNi4zIDEyLjctMTAuM2M4LjEtOC4xIDEzLjItMTguNiAxNi41LTI2LjZjMy42LTguOCA2LjUtMTguNCA4LjgtMjcuNWM0LjYtMTguMiA3LjctMzcgOS4zLTQ4LjJjMy45LTI2LjUtMTguOC00OS4yLTQ1LjItNDUuNGMtNi44IC45LTE2LjIgMi40LTI2LjYgNC40Qzg1LjMgOTQuNSAxOTEuNiAwIDMyMCAwUzU1NC43IDk0LjUgNTczLjIgMjE3LjdjLTEwLjMtMi0xOS44LTMuNS0yNi42LTQuNGMtMjYuNS0zLjktNDkuMiAxOC44LTQ1LjIgNDUuNGMxLjYgMTEuMyA0LjYgMzAgOS4zIDQ4LjJjMi4zIDkuMSA1LjIgMTguOCA4LjggMjcuNWMzLjMgOC4xIDguNCAxOC41IDE2LjUgMjYuNmMzLjkgMy45IDguMiA3LjQgMTIuNyAxMC4zek0xMDcgMjU0LjFjLTMuMSAyMS41LTExLjQgNzAuMi0yNS41IDg0LjRjLS45IDEtMS45IDEuOC0yLjkgMi43QzYwIDM1Ni43IDMyIDM1NS41IDE0LjMgMzM3LjdjLTE4LjctMTguNy0xOS4xLTQ4LjgtLjctNjcuMmM4LjYtOC42IDMwLjEtMTUuMSA1MC41LTE5LjZjMTMtMi44IDI1LjUtNC44IDMzLjktNmM1LjQtLjggOS45IDMuNyA5IDl6bTQ1NC41IDg3LjFjLS44LS42LTEuNS0xLjMtMi4zLTJjLS4yLS4yLS41LS40LS43LS43Yy0xNC4xLTE0LjEtMjIuNS02Mi45LTI1LjUtODQuNGMtLjgtNS40IDMuNy05LjkgOS05YzEgLjEgMi4yIC4zIDMuMyAuNWM4LjIgMS4yIDE5LjIgMyAzMC42IDUuNWMyMC40IDQuNCA0MS45IDEwLjkgNTAuNSAxOS42YzE4LjQgMTguNCAxOCA0OC41LS43IDY3LjJjLTE3LjcgMTcuNy00NS43IDE5LTY0LjIgMy40em0tOTAuMS05LjdjNS0xMS44LTctMjIuNS0xOS4zLTE4LjdjLTM5LjcgMTIuMi04NC41IDE5LTEzMS44IDE5cy05Mi4xLTYuOC0xMzEuOC0xOWMtMTIuMy0zLjgtMjQuMyA2LjktMTkuMyAxOC43YzI1IDU5LjEgODMuMiAxMDAuNSAxNTEuMSAxMDAuNXMxMjYuMi00MS40IDE1MS4xLTEwMC41ek0yODEuNiAyMjguOHMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMyLjEgMi44IDUuNyAzLjkgOC45IDIuOHM1LjUtNC4xIDUuNS03LjZjMC0xNy45LTYuNy0zNS42LTE2LjYtNDguOGMtOS44LTEzLTIzLjktMjMuMi0zOS40LTIzLjJzLTI5LjYgMTAuMi0zOS40IDIzLjJDMTkwLjcgMTg4LjQgMTg0IDIwNi4xIDE4NCAyMjRjMCAzLjQgMi4yIDYuNSA1LjUgNy42czYuOSAwIDguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMi0uMmMuMi0uMiAuNC0uNSAuNy0uOWMuNi0uOCAxLjYtMiAyLjgtMy40YzIuNS0yLjggNi02LjYgMTAuMi0xMC4zYzguOC03LjggMTguOC0xNCAyNy43LTE0czE4LjkgNi4yIDI3LjcgMTRjNC4yIDMuNyA3LjcgNy41IDEwLjIgMTAuM2MxLjIgMS40IDIuMiAyLjYgMi44IDMuNGMuMyAuNCAuNiAuNyAuNyAuOWwuMiAuMmMwIDAgMCAwIDAgMHptMTYwIDBzMCAwIDAgMHMwIDAgMCAwYzIuMSAyLjggNS43IDMuOSA4LjkgMi44czUuNS00LjEgNS41LTcuNmMwLTE3LjktNi43LTM1LjYtMTYuNi00OC44Yy05LjgtMTMtMjMuOS0yMy4yLTM5LjQtMjMuMnMtMjkuNiAxMC4yLTM5LjQgMjMuMkMzNTAuNyAxODguNCAzNDQgMjA2LjEgMzQ0IDIyNGMwIDMuNCAyLjIgNi41IDUuNSA3LjZzNi45IDAgOC45LTIuOGMwIDAgMCAwIDAgMHMwIDAgMCAwYzAgMCAwIDAgMCAwbC4yLS4yYy4yLS4yIC40LS41IC43LS45Yy42LS44IDEuNi0yIDIuOC0zLjRjMi41LTIuOCA2LTYuNiAxMC4yLTEwLjNjOC44LTcuOCAxOC44LTE0IDI3LjctMTRzMTguOSA2LjIgMjcuNyAxNGM0LjIgMy43IDcuNyA3LjUgMTAuMiAxMC4zYzEuMiAxLjQgMi4yIDIuNiAyLjggMy40Yy4zIC40IC42IC43IC43IC45bC4yIC4yYzAgMCAwIDAgMCAwYzAgMCAwIDAgMCAwelwiXVxufTtcbmNvbnN0IGZhR3JpblRlYXJzID0gZmFGYWNlR3JpblRlYXJzO1xuY29uc3QgZmFQaG9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaG9uZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyMiwgMTI4Mzc5XSwgXCJmMDk1XCIsIFwiTTE2NC45IDI0LjZjLTcuNy0xOC42LTI4LTI4LjUtNDcuNC0yMy4ybC04OCAyNEMxMi4xIDMwLjIgMCA0NiAwIDY0QzAgMzExLjQgMjAwLjYgNTEyIDQ0OCA1MTJjMTggMCAzMy44LTEyLjEgMzguNi0yOS41bDI0LTg4YzUuMy0xOS40LTQuNi0zOS43LTIzLjItNDcuNGwtOTYtNDBjLTE2LjMtNi44LTM1LjItMi4xLTQ2LjMgMTEuNkwzMDQuNyAzNjhDMjM0LjMgMzM0LjcgMTc3LjMgMjc3LjcgMTQ0IDIwNy4zTDE5My4zIDE2N2MxMy43LTExLjIgMTguNC0zMCAxMS42LTQ2LjNsLTQwLTk2elwiXVxufTtcbmNvbnN0IGZhQ2FsZW5kYXJYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci14bWFyaycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiY2FsZW5kYXItdGltZXNcIl0sIFwiZjI3M1wiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnpNMzA1IDMwNWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC00NyA0Ny00Ny00N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw0NyA0Ny00NyA0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ3LTQ3IDQ3IDQ3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDctNDcgNDctNDd6XCJdXG59O1xuY29uc3QgZmFDYWxlbmRhclRpbWVzID0gZmFDYWxlbmRhclhtYXJrO1xuY29uc3QgZmFDaGlsZFJlYWNoaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoaWxkLXJlYWNoaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNTlkXCIsIFwiTTI1NiA2NEE2NCA2NCAwIDEgMCAxMjggNjRhNjQgNjQgMCAxIDAgMTI4IDB6TTE1Mi45IDE2OS4zYy0yMy43LTguNC00NC41LTI0LjMtNTguOC00NS44TDc0LjYgOTQuMkM2NC44IDc5LjUgNDUgNzUuNiAzMC4yIDg1LjRzLTE4LjcgMjkuNy04LjkgNDQuNEw0MC45IDE1OWMxOC4xIDI3LjEgNDIuOCA0OC40IDcxLjEgNjIuNEwxMTIgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1OC40YzI5LjEtMTQuMiA1NC40LTM2LjIgNzIuNy02NC4ybDE4LjItMjcuOWM5LjYtMTQuOCA1LjQtMzQuNi05LjQtNDQuM3MtMzQuNi01LjUtNDQuMyA5LjRMMjkxIDEyMi40Yy0yMS44IDMzLjQtNTguOSA1My42LTk4LjggNTMuNmMtMTIuNiAwLTI0LjktMi0zNi42LTUuOGMtLjktLjMtMS44LS43LTIuNy0uOXpcIl1cbn07XG5jb25zdCBmYUhlYWRTaWRlVmlydXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZC1zaWRlLXZpcnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDY0XCIsIFwiTTAgMjI0LjJDMCAxMDAuNiAxMDAuMiAwIDIyNCAwbDI0IDBjOTUuMiAwIDE4MS4yIDY5LjMgMTk3LjMgMTYwLjJjMi4zIDEzIDYuOCAyNS43IDE1LjEgMzZsNDIgNTIuNmM2LjIgNy44IDkuNiAxNy40IDkuNiAyNy40YzAgMjQuMi0xOS42IDQzLjgtNDMuOCA0My44TDQ0OCAzMjBsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNjQgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03Mi43YzAtMTYuNy02LjktMzIuNS0xNy4xLTQ1LjhDMTYuNiAzMjIuNCAwIDI3NC4xIDAgMjI0LjJ6TTIyNCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2YzAgMzMtMzkuOSA0OS41LTYzLjIgMjYuMmMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkMxNDUuNSAxNTIuMSAxMjkgMTkyIDk2IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmMzMyAwIDQ5LjUgMzkuOSAyNi4yIDYzLjJjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEMxNjguMSAyODYuNSAyMDggMzAzIDIwOCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmMwLTMzIDM5LjktNDkuNSA2My4yLTI2LjJjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42QzMwMi41IDI2My45IDMxOSAyMjQgMzUyIDIyNGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtMzMgMC00OS41LTM5LjktMjYuMi02My4yYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBDMjc5LjkgMTI5LjUgMjQwIDExMyAyNDAgODBjMC04LjgtNy4yLTE2LTE2LTE2em0tMjQgOTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4MGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwelwiXVxufTtcbmNvbnN0IGZhVXNlckdlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1nZWFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2VyLWNvZ1wiXSwgXCJmNGZlXCIsIFwiTTIyNCAwYTEyOCAxMjggMCAxIDEgMCAyNTZBMTI4IDEyOCAwIDEgMSAyMjQgMHpNMTc4LjMgMzA0bDkxLjQgMGMxMS44IDAgMjMuNCAxLjIgMzQuNSAzLjNjLTIuMSAxOC41IDcuNCAzNS42IDIxLjggNDQuOGMtMTYuNiAxMC42LTI2LjcgMzEuNi0yMCA1My4zYzQgMTIuOSA5LjQgMjUuNSAxNi40IDM3LjZzMTUuMiAyMy4xIDI0LjQgMzNjMTUuNyAxNi45IDM5LjYgMTguNCA1Ny4yIDguN2wwIC45YzAgOS4yIDIuNyAxOC41IDcuOSAyNi4zTDI5LjcgNTEyQzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNHpNNDM2IDIxOC4yYzAtNyA0LjUtMTMuMyAxMS4zLTE0LjhjMTAuNS0yLjQgMjEuNS0zLjcgMzIuNy0zLjdzMjIuMiAxLjMgMzIuNyAzLjdjNi44IDEuNSAxMS4zIDcuOCAxMS4zIDE0LjhsMCAzMC42YzcuOSAzLjQgMTUuNCA3LjcgMjIuMyAxMi44bDI0LjktMTQuM2M2LjEtMy41IDEzLjctMi43IDE4LjUgMi40YzcuNiA4LjEgMTQuMyAxNy4yIDIwLjEgMjcuMnMxMC4zIDIwLjQgMTMuNSAzMWMyLjEgNi43LTEuMSAxMy43LTcuMiAxNy4ybC0yNSAxNC40Yy40IDQgLjcgOC4xIC43IDEyLjNzLS4yIDguMi0uNyAxMi4zbDI1IDE0LjRjNi4xIDMuNSA5LjIgMTAuNSA3LjIgMTcuMmMtMy4zIDEwLjYtNy44IDIxLTEzLjUgMzFzLTEyLjUgMTkuMS0yMC4xIDI3LjJjLTQuOCA1LjEtMTIuNSA1LjktMTguNSAyLjRsLTI0LjktMTQuM2MtNi45IDUuMS0xNC4zIDkuNC0yMi4zIDEyLjhsMCAzMC42YzAgNy00LjUgMTMuMy0xMS4zIDE0LjhjLTEwLjUgMi40LTIxLjUgMy43LTMyLjcgMy43cy0yMi4yLTEuMy0zMi43LTMuN2MtNi44LTEuNS0xMS4zLTcuOC0xMS4zLTE0LjhsMC0zMC41Yy04LTMuNC0xNS42LTcuNy0yMi41LTEyLjlsLTI0LjcgMTQuM2MtNi4xIDMuNS0xMy43IDIuNy0xOC41LTIuNGMtNy42LTguMS0xNC4zLTE3LjItMjAuMS0yNy4ycy0xMC4zLTIwLjQtMTMuNS0zMWMtMi4xLTYuNyAxLjEtMTMuNyA3LjItMTcuMmwyNC44LTE0LjNjLS40LTQuMS0uNy04LjItLjctMTIuNHMuMi04LjMgLjctMTIuNEwzNDMuOCAzMjVjLTYuMS0zLjUtOS4yLTEwLjUtNy4yLTE3LjJjMy4zLTEwLjYgNy43LTIxIDEzLjUtMzFzMTIuNS0xOS4xIDIwLjEtMjcuMmM0LjgtNS4xIDEyLjQtNS45IDE4LjUtMi40bDI0LjggMTQuM2M2LjktNS4xIDE0LjUtOS40IDIyLjUtMTIuOWwwLTMwLjV6bTkyLjEgMTMzLjVhNDguMSA0OC4xIDAgMSAwIC05Ni4xIDAgNDguMSA0OC4xIDAgMSAwIDk2LjEgMHpcIl1cbn07XG5jb25zdCBmYVVzZXJDb2cgPSBmYVVzZXJHZWFyO1xuY29uc3QgZmFBcnJvd1VwMTkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtMS05JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtdXBcIl0sIFwiZjE2M1wiLCBcIk00NTAuNyAzOGM4LjMgNiAxMy4zIDE1LjcgMTMuMyAyNmwwIDk2IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTQ4IDAtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtNTEuNi01LjkgMmMtMTYuOCA1LjYtMzQuOS0zLjUtNDAuNS0yMC4yczMuNS0zNC45IDIwLjItNDAuNWw0OC0xNmM5LjgtMy4zIDIwLjUtMS42IDI4LjggNC40ek0xNjAgMzJjOSAwIDE3LjUgMy44IDIzLjYgMTAuNGw4OCA5NmMxMS45IDEzIDExLjEgMzMuMy0yIDQ1LjJzLTMzLjMgMTEuMS00NS4yLTJMMTkyIDE0Ni4zIDE5MiA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMDEuN0w5NS42IDE4MS42Yy0xMS45IDEzLTMyLjIgMTMuOS00NS4yIDJzLTEzLjktMzIuMi0yLTQ1LjJsODgtOTZDMTQyLjUgMzUuOCAxNTEgMzIgMTYwIDMyek00NDUuNyAzNjQuOUEzMiAzMiAwIDEgMCA0MTguMyAzMDdhMzIgMzIgMCAxIDAgMjcuNCA1Ny45em0tNDAuNyA1NC45QzM2OS42IDQwOC40IDM0NCAzNzUuMiAzNDQgMzM2YzAtNDguNiAzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCAyMy41LTcuNSA0Ni4zLTIxLjUgNjUuMkw0NDkuNyA0NjdjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjdzLTE3LjItMzAuNi02LjctNDQuOGw2LjgtOS4yelwiXVxufTtcbmNvbnN0IGZhU29ydE51bWVyaWNVcCA9IGZhQXJyb3dVcDE5O1xuY29uc3QgZmFEb29yQ2xvc2VkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvb3ItY2xvc2VkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4NjgyXSwgXCJmNTJhXCIsIFwiTTk2IDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDQxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTExMiAwLTI4OCAwTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwTDk2IDY0ek0zODQgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYVNoaWVsZFZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC12aXJ1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTA2Y1wiLCBcIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMmMuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjJjMTYuNyA4IDM2LjEgOCA1Mi44IDBDNDU0LjcgNDIwLjcgNDk1LjUgMjM5LjIgNDk2IDE0MGMuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0yNTYgMTEyYzguOCAwIDE2IDcuMiAxNiAxNmMwIDMzIDM5LjkgNDkuNSA2My4yIDI2LjJjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42QzMzNC41IDIwMC4xIDM1MSAyNDAgMzg0IDI0MGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtMzMgMC00OS41IDM5LjktMjYuMiA2My4yYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBDMzExLjkgMzM0LjUgMjcyIDM1MSAyNzIgMzg0YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2YzAtMzMtMzkuOS00OS41LTYzLjItMjYuMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkMxNzcuNSAzMTEuOSAxNjEgMjcyIDEyOCAyNzJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZjMzMgMCA0OS41LTM5LjkgMjYuMi02My4yYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBDMjAwLjEgMTc3LjUgMjQwIDE2MSAyNDAgMTI4YzAtOC44IDcuMi0xNiAxNi0xNnpNMjMyIDI1NmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTcyIDMyYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6XCJdXG59O1xuY29uc3QgZmFEaWNlU2l4ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2Utc2l4JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbOTg2MV0sIFwiZjUyNlwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptMTYwIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMiA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMjAgMTkyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFNb3NxdWl0b05ldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3NxdWl0by1uZXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MmNcIiwgXCJNMTY4LjggNDYyLjNjLTcuOS00LTExLjEtMTMuNi03LjItMjEuNUwxOTIgMzgwLjJsMC00NC4yYzAtNC4yIDEuNy04LjMgNC43LTExLjNMMjU2IDI2NS40bDAtMjMuMUwxMzkuMiAzNDRDODcuOCAzOTUuMyAwIDM1OC45IDAgMjg2LjNjMC00MS4xIDMwLjYtNzUuOCA3MS40LTgwLjlsMTU5LjktMjMuOS00OS42LTQxLjNjLTUuMS00LjItNy0xMS4xLTQuOS0xNy40bDEzLjktNDEuNy0yOS01OC4xYy00LTcuOS0uNy0xNy41IDcuMi0yMS41czE3LjUtLjcgMjEuNSA3LjJsMzIgNjRjMS45IDMuOCAyLjIgOC4yIC45IDEyLjJsLTEyLjUgMzcuNkwyNTYgMTYwLjVsMC0yMi42YzAtMTQuOSAxMC4xLTI3LjMgMjMuOC0zMWwwLTQzLjNjMC00LjUgMy43LTguMiA4LjItOC4yczguMiAzLjcgOC4yIDguMmwwIDQzLjNjMTMuNyAzLjYgMjMuOCAxNi4xIDIzLjggMzFsMCAyMi42IDQ1LjQtMzcuOEwzNTIuOCA4NS4xYy0xLjMtNC0xLTguNCAuOS0xMi4ybDMyLTY0YzQtNy45IDEzLjYtMTEuMSAyMS41LTcuMnMxMS4xIDEzLjYgNy4yIDIxLjVsLTI5IDU4LjEgMTMuOSA0MS43YzIuMSA2LjIgLjEgMTMuMS00LjkgMTcuNGwtNDkuNiA0MS4zIDE1OS45IDIzLjljMjIuNSAyLjggNDEuOCAxNC42IDU0LjcgMzEuNGMtMi43IDIuNi01LjIgNS40LTcuMyA4LjZjLTguNi0xMi45LTIzLjMtMjEuNS00MC0yMS41cy0zMS40IDguNS00MCAyMS41Yy04LjYtMTIuOS0yMy4zLTIxLjUtNDAtMjEuNWMtMjEuNyAwLTQwIDE0LjMtNDUuOSAzNC4xYy0xMC43IDMuMi0xOS44IDEwLjEtMjUuOSAxOS4ybC00MC4yLTM1IDAgMjMuMSAzMi40IDMyLjRjLS4zIDItLjQgNC4xLS40IDYuMmMwIDE2LjcgOC41IDMxLjQgMjEuNSA0MGMtNCAyLjYtNy41IDUuOS0xMC42IDkuNUwzMjAgMzEwLjZsMCA1MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTUwLTMyIDMyIDAgNDEuNGMwIDIuNS0uNiA0LjktMS43IDcuMmwtMzIgNjRjLTQgNy45LTEzLjYgMTEuMS0yMS41IDcuMnpNNTEyIDI1NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNiA0OCAwIDAtMTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2IDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2IDAgMCA0OCAxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwIDAgNDggMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYgMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTYtNDggMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTYtNDggMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTYtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDAtNDgtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDAtNDgtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDAtMTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2IDQ4IDAgMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTE2IDExMmw0OCAwIDAtNDgtNDggMCAwIDQ4em0wIDgwbDQ4IDAgMC00OC00OCAwIDAgNDh6TTQ0OCAzMjBsMCA0OCA0OCAwIDAtNDgtNDggMHptMCA4MGwwIDQ4IDQ4IDAgMC00OC00OCAwelwiXVxufTtcbmNvbnN0IGZhQnJpZGdlV2F0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJpZGdlLXdhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGNlXCIsIFwiTTAgOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRsNTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNS42YzAgMTUuNy0xMi43IDI4LjQtMjguNCAyOC40Yy0zNy4zIDAtNjcuNiAzMC4yLTY3LjYgNjcuNmwwIDEyNC45Yy0xMi45IDAtMjUuOCAzLjktMzYuOCAxMS43Yy0xOCAxMi40LTQwLjEgMjAuMy01OS4yIDIwLjNjMCAwIDAgMCAwIDBsMC0uNSAwLTEyOGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDEyOCAwIC41Yy0xOSAwLTQxLjItNy45LTU5LjEtMjAuM2MtMTEuMS03LjgtMjQtMTEuNy0zNi45LTExLjdsMC0xMjQuOUM5NiAxOTAuMiA2NS44IDE2MCAyOC40IDE2MEMxMi43IDE2MCAwIDE0Ny4zIDAgMTMxLjZMMCA5NnpNMzA2LjUgMzg5LjlDMzI5IDQwNS40IDM1Ni41IDQxNiAzODQgNDE2YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xYzAgMCAwIDAgMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNDY5LjcgNDE3IDQ4MCAzODQgNDgwYy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2MwIDAgMCAwIDAgMEMxMzYuNyA0MDUuMiAxNjUuMSA0MTYgMTkyIDQxNmMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkJvb3RoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1ib290aCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjc1NlwiLCBcIk0yNTYgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNjAgNjQgMCAwLTE2MHptMzIwIDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ0OHpNMjI0IDUxMmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2MC02NCAwIDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyek0zMjAgMGMtOS4zIDAtMTguMSA0LTI0LjIgMTFzLTguOCAxNi4zLTcuNSAyNS41bDMxLjIgMjE4LjZMMjg4LjYgNDA5LjdjLTMuNSAxNy4zIDcuOCAzNC4yIDI1LjEgMzcuN3MzNC4yLTcuOCAzNy43LTI1LjFsLjctMy42YzEuMyAxNi40IDE1LjEgMjkuNCAzMS45IDI5LjRjMTcuNyAwIDMyLTE0LjMgMzItMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMjAgMHpNMTEyIDgwQTQ4IDQ4IDAgMSAwIDE2IDgwYTQ4IDQ4IDAgMSAwIDk2IDB6bTAgMjYxLjNsMC03Mi4xIDQuNyA0LjdjOSA5IDIxLjIgMTQuMSAzMy45IDE0LjFsNzMuNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02Ni43IDAtNDEuNi00MS42Yy0xNC4zLTE0LjMtMzMuOC0yMi40LTU0LTIyLjRDMjcuNiAxNjAgMCAxODcuNiAwIDIyMS42bDAgNTUuNyAwIC45TDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiA0Mi43TDk2IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNTguN2MwLTEwLjQtMy40LTIwLjUtOS42LTI4LjhMMTEyIDM0MS4zelwiXVxufTtcbmNvbnN0IGZhVGV4dFdpZHRoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RleHQtd2lkdGgnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwMzVcIiwgXCJNNjQgMTI4bDAtMzIgMTI4IDAgMCAxMjgtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtMTI4IDEyOCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDIyNCAzMiA0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwbDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpNOS40IDM2MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42bDAtMzIgMTkyIDAgMCAzMmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlzLTE5LjggMTYuNi0xOS44IDI5LjZsMCAzMi0xOTIgMCAwLTMyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NHpcIl1cbn07XG5jb25zdCBmYUhhdFdpemFyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXQtd2l6YXJkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNmU4XCIsIFwiTTY0IDQxNkwxNjguNiAxODAuN2MxNS4zLTM0LjQgNDAuMy02My41IDcyLTgzLjdsMTQ2LjktOTRjMy0xLjkgNi41LTIuOSAxMC0yLjlDNDA3LjcgMCA0MTYgOC4zIDQxNiAxOC42bDAgMS42YzAgMi42LS41IDUuMS0xLjQgNy41TDM1NC44IDE3Ni45Yy0xLjkgNC43LTIuOCA5LjctMi44IDE0LjdjMCA1LjUgMS4yIDExIDMuNCAxNi4xTDQ0OCA0MTZsLTIwNy4xIDAgMTEuOC0zNS40IDQwLjQtMTMuNWM2LjUtMi4yIDEwLjktOC4zIDEwLjktMTUuMnMtNC40LTEzLTEwLjktMTUuMmwtNDAuNC0xMy41LTEzLjUtNDAuNEMyMzcgMjc2LjQgMjMwLjkgMjcyIDIyNCAyNzJzLTEzIDQuNC0xNS4yIDEwLjlsLTEzLjUgNDAuNC00MC40IDEzLjVDMTQ4LjQgMzM5IDE0NCAzNDUuMSAxNDQgMzUyczQuNCAxMyAxMC45IDE1LjJsNDAuNCAxMy41TDIwNy4xIDQxNiA2NCA0MTZ6TTI3OS42IDE0MS41Yy0xLjEtMy4zLTQuMS01LjUtNy42LTUuNXMtNi41IDIuMi03LjYgNS41bC02LjcgMjAuMi0yMC4yIDYuN2MtMy4zIDEuMS01LjUgNC4xLTUuNSA3LjZzMi4yIDYuNSA1LjUgNy42bDIwLjIgNi43IDYuNyAyMC4yYzEuMSAzLjMgNC4xIDUuNSA3LjYgNS41czYuNS0yLjIgNy42LTUuNWw2LjctMjAuMiAyMC4yLTYuN2MzLjMtMS4xIDUuNS00LjEgNS41LTcuNnMtMi4yLTYuNS01LjUtNy42bC0yMC4yLTYuNy02LjctMjAuMnpNMzIgNDQ4bDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVBlbkZhbmN5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blbi1mYW5jeScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODM5NSwgMTAwMDJdLCBcImY1YWNcIiwgXCJNMzczLjUgMjcuMUMzODguNSA5LjkgNDEwLjIgMCA0MzMgMGM0My42IDAgNzkgMzUuNCA3OSA3OWMwIDIyLjgtOS45IDQ0LjYtMjcuMSA1OS42TDI3Ny43IDMxOWwtMTAuMy0xMC4zLTY0LTY0TDE5MyAyMzQuMyAzNzMuNSAyNy4xek0xNzAuMyAyNTYuOWwxMC40IDEwLjQgNjQgNjQgMTAuNCAxMC40LTE5LjIgODMuNGMtMy45IDE3LjEtMTYuOSAzMC43LTMzLjggMzUuNEwyNC4zIDUxMC4zbDk1LjQtOTUuNGMyLjYgLjcgNS40IDEuMSA4LjMgMS4xYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyYzAgMi45IC40IDUuNiAxLjEgOC4zTDEuNyA0ODcuNiA1MS41IDMxMGM0LjctMTYuOSAxOC4zLTI5LjkgMzUuNC0zMy44bDgzLjQtMTkuMnpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkRpZ2dpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWRpZ2dpbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImRpZ2dpbmdcIl0sIFwiZjg1ZVwiLCBcIk0yMDggNjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNOS44IDIxNC44YzUuMS0xMi4yIDE5LjEtMTggMzEuNC0xMi45TDYwLjcgMjEwbDIyLjktMzguMUM5OS45IDE0NC42IDEyOS4zIDEyOCAxNjEgMTI4YzUxLjQgMCA5NyAzMi45IDExMy4zIDgxLjdsMzQuNiAxMDMuNyA3OS4zIDMzLjEgMzQuMi00NS42YzYuNC04LjUgMTYuNi0xMy4zIDI3LjItMTIuOHMyMC4zIDYuNCAyNS44IDE1LjVsOTYgMTYwYzUuOSA5LjkgNi4xIDIyLjIgLjQgMzIuMnMtMTYuMyAxNi4yLTI3LjggMTYuMmwtMjU2IDBjLTExLjEgMC0yMS40LTUuNy0yNy4yLTE1LjJzLTYuNC0yMS4yLTEuNC0zMS4xbDE2LTMyYzUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3LjdsMzIgMCAyMi41LTMwTDIyLjggMjQ2LjJjLTEyLjItNS4xLTE4LTE5LjEtMTIuOS0zMS40em04Mi44IDkxLjhsMTEyIDQ4YzExLjggNSAxOS40IDE2LjYgMTkuNCAyOS40bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC03NC45LTYwLjYtMjYtMzcgMTExYy01LjYgMTYuOC0yMy43IDI1LjgtNDAuNSAyMC4yUy0zLjkgNDg2LjYgMS42IDQ2OS45bDQ4LTE0NCAxMS0zMyAzMiAxMy43elwiXVxufTtcbmNvbnN0IGZhRGlnZ2luZyA9IGZhUGVyc29uRGlnZ2luZztcbmNvbnN0IGZhVHJhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhc2gnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYxZjhcIiwgXCJNMTM1LjIgMTcuN0wxMjggMzIgMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwLTcuMi0xNC4zQzMwNy40IDYuOCAyOTYuMyAwIDI4NC4yIDBMMTYzLjggMGMtMTIuMSAwLTIzLjIgNi44LTI4LjYgMTcuN3pNNDE2IDEyOEwzMiAxMjggNTMuMiA0NjdjMS42IDI1LjMgMjIuNiA0NSA0Ny45IDQ1bDI0NS44IDBjMjUuMyAwIDQ2LjMtMTkuNyA0Ny45LTQ1TDQxNiAxMjh6XCJdXG59O1xuY29uc3QgZmFHYXVnZVNpbXBsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1zaW1wbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImdhdWdlLXNpbXBsZS1tZWRcIiwgXCJ0YWNob21ldGVyLWF2ZXJhZ2VcIl0sIFwiZjYyOVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTMyMCA5NmMwLTI2LjktMTYuNS00OS45LTQwLTU5LjNMMjgwIDg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA0LjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuM2MwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0elwiXVxufTtcbmNvbnN0IGZhR2F1Z2VTaW1wbGVNZWQgPSBmYUdhdWdlU2ltcGxlO1xuY29uc3QgZmFUYWNob21ldGVyQXZlcmFnZSA9IGZhR2F1Z2VTaW1wbGU7XG5jb25zdCBmYUJvb2tNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stbWVkaWNhbCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjdlNlwiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDM4NCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMEw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjRMOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMjA4IDExMmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYVBvbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwb28nLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgxNjldLCBcImYyZmVcIiwgXCJNMjY4LjkgLjljLTUuNS0uNy0xMSAxLjQtMTQuNSA1LjdzLTQuNiAxMC4xLTIuOCAxNS40YzIuOCA4LjIgNC4zIDE2LjkgNC4zIDI2LjFjMCA0NC4xLTM1LjcgNzkuOS03OS44IDgwTDE2MCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0YzAgMTkuMSA4LjQgMzYuMyAyMS43IDQ4TDEwNCAyNDBjLTM5LjggMC03MiAzMi4yLTcyIDcyYzAgMjMuMiAxMSA0My44IDI4IDU3Yy0zNC4xIDUuNy02MCAzNS4zLTYwIDcxYzAgMzkuOCAzMi4yIDcyIDcyIDcybDM2OCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcyYzAtMzUuNy0yNS45LTY1LjMtNjAtNzFjMTctMTMuMiAyOC0zMy44IDI4LTU3YzAtMzkuOC0zMi4yLTcyLTcyLTcybC0xMy43IDBjMTMuMy0xMS43IDIxLjctMjguOSAyMS43LTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC01LjUgMGMzLjUtMTAgNS41LTIwLjggNS41LTMyYzAtNDguNi0zNi4yLTg4LjgtODMuMS05NS4xek0xOTIgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptNjQgMTA4LjNjMCAyLjQtLjcgNC44LTIuMiA2LjdjLTguMiAxMC41LTM5LjUgNDUtOTMuOCA0NXMtODUuNi0zNC42LTkzLjgtNDVjLTEuNS0xLjktMi4yLTQuMy0yLjItNi43YzAtNi44IDUuNS0xMi4zIDEyLjMtMTIuM2wxNjcuNCAwYzYuOCAwIDEyLjMgNS41IDEyLjMgMTIuM3pcIl1cbn07XG5jb25zdCBmYVF1b3RlUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncXVvdGUtcmlnaHQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MjIxLCBcInF1b3RlLXJpZ2h0LWFsdFwiXSwgXCJmMTBlXCIsIFwiTTQ0OCAyOTZjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4IDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZsMC04LTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyIDAgMzIgMCA3MnptLTI1NiAwYzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC04IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMiAwIDMyIDAgNzJ6XCJdXG59O1xuY29uc3QgZmFRdW90ZVJpZ2h0QWx0ID0gZmFRdW90ZVJpZ2h0O1xuY29uc3QgZmFTaGlydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaGlydCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODA4NSwgXCJ0LXNoaXJ0XCIsIFwidHNoaXJ0XCJdLCBcImY1NTNcIiwgXCJNMjExLjggMGM3LjggMCAxNC4zIDUuNyAxNi43IDEzLjJDMjQwLjggNTEuOSAyNzcuMSA4MCAzMjAgODBzNzkuMi0yOC4xIDkxLjUtNjYuOEM0MTMuOSA1LjcgNDIwLjQgMCA0MjguMiAwbDEyLjYgMGMyMi41IDAgNDQuMiA3LjkgNjEuNSAyMi4zTDYyOC41IDEyNy40YzYuNiA1LjUgMTAuNyAxMy41IDExLjQgMjIuMXMtMi4xIDE3LjEtNy44IDIzLjZsLTU2IDY0Yy0xMS40IDEzLjEtMzEuMiAxNC42LTQ0LjYgMy41TDQ4MCAxOTcuNyA0ODAgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xOTIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yNTAuMy01MS41IDQyLjljLTEzLjMgMTEuMS0zMy4xIDkuNi00NC42LTMuNWwtNTYtNjRjLTUuNy02LjUtOC41LTE1LTcuOC0yMy42czQuOC0xNi42IDExLjQtMjIuMUwxMzcuNyAyMi4zQzE1NSA3LjkgMTc2LjcgMCAxOTkuMiAwbDEyLjYgMHpcIl1cbn07XG5jb25zdCBmYVRTaGlydCA9IGZhU2hpcnQ7XG5jb25zdCBmYVRzaGlydCA9IGZhU2hpcnQ7XG5jb25zdCBmYUN1YmVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2N1YmVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMWIzXCIsIFwiTTI5MC44IDQ4LjZsNzguNCAyOS43TDI4OCAxMDkuNSAyMDYuOCA3OC4zbDc4LjQtMjkuN2MxLjgtLjcgMy44LS43IDUuNyAwek0xMzYgOTIuNWwwIDExMi4yYy0xLjMgLjQtMi42IC44LTMuOSAxLjNsLTk2IDM2LjRDMTQuNCAyNTAuNiAwIDI3MS41IDAgMjk0LjdMMCA0MTMuOWMwIDIyLjIgMTMuMSA0Mi4zIDMzLjUgNTEuM2w5NiA0Mi4yYzE0LjQgNi4zIDMwLjcgNi4zIDQ1LjEgMEwyODggNDU3LjVsMTEzLjUgNDkuOWMxNC40IDYuMyAzMC43IDYuMyA0NS4xIDBsOTYtNDIuMmMyMC4zLTguOSAzMy41LTI5LjEgMzMuNS01MS4zbDAtMTE5LjFjMC0yMy4zLTE0LjQtNDQuMS0zNi4xLTUyLjRsLTk2LTM2LjRjLTEuMy0uNS0yLjYtLjktMy45LTEuM2wwLTExMi4yYzAtMjMuMy0xNC40LTQ0LjEtMzYuMS01Mi40bC05Ni0zNi40Yy0xMi44LTQuOC0yNi45LTQuOC0zOS43IDBsLTk2IDM2LjRDMTUwLjQgNDguNCAxMzYgNjkuMyAxMzYgOTIuNXpNMzkyIDIxMC42bC04Mi40IDMxLjIgMC04OS4yTDM5MiAxMjFsMCA4OS42ek0xNTQuOCAyNTAuOWw3OC40IDI5LjdMMTUyIDMxMS43IDcwLjggMjgwLjZsNzguNC0yOS43YzEuOC0uNyAzLjgtLjcgNS43IDB6bTE4LjggMjA0LjRsMC0xMDAuNUwyNTYgMzIzLjJsMCA5NS45LTgyLjQgMzYuMnpNNDIxLjIgMjUwLjljMS44LS43IDMuOC0uNyA1LjcgMGw3OC40IDI5LjdMNDI0IDMxMS43bC04MS4yLTMxLjEgNzguNC0yOS43ek01MjMuMiA0MjEuMmwtNzcuNiAzNC4xIDAtMTAwLjVMNTI4IDMyMy4ybDAgOTAuN2MwIDMuMi0xLjkgNi00LjggNy4zelwiXVxufTtcbmNvbnN0IGZhRGl2aWRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpdmlkZScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEwMTM1LCAyNDddLCBcImY1MjlcIiwgXCJNMjcyIDk2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTAgMzIwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQwMCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMNDggMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM1MiAwelwiXVxufTtcbmNvbnN0IGZhVGVuZ2VTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbmdlLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs4Mzc2LCBcInRlbmdlXCJdLCBcImY3ZDdcIiwgXCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek0wIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNjAgMCAxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDAgMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjRMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpcIl1cbn07XG5jb25zdCBmYVRlbmdlID0gZmFUZW5nZVNpZ247XG5jb25zdCBmYUhlYWRwaG9uZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhZHBob25lcycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzkxMV0sIFwiZjAyNVwiLCBcIk0yNTYgODBDMTQ5LjkgODAgNjIuNCAxNTkuNCA0OS42IDI2MmM5LjQtMy44IDE5LjYtNiAzMC40LTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTYgMC00OCAwLTQ4QzAgMTQ2LjYgMTE0LjYgMzIgMjU2IDMyczI1NiAxMTQuNiAyNTYgMjU2bDAgNDggMCA0OCAwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTEyOGMwLTI2LjUgMjEuNS00OCA0OC00OGMxMC44IDAgMjEgMi4xIDMwLjQgNkM0NDkuNiAxNTkuNCAzNjIuMSA4MCAyNTYgODB6XCJdXG59O1xuY29uc3QgZmFIYW5kc0hvbGRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtaG9sZGluZycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRjMlwiLCBcIk04MCAxMDRjMC0yMi4xLTE3LjktNDAtNDAtNDBTMCA4MS45IDAgMTA0bDAgNTYgMCA2NEwwIDMyNS41YzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45TDEyOCA0OTMuM2MxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43bDY2LjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTc4LjljMC0yOS43LTExLjgtNTguMi0zMi44LTc5LjJsLTI1LjMtMjUuM2MwIDAgMCAwIDAgMGwtMTUuMi0xNS4yLTMyLTMyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wzMiAzMiAxNS4yIDE1LjJjMTEgMTEgOS4yIDI5LjItMy43IDM3LjhjLTkuNyA2LjUtMjIuNyA1LjItMzEtMy4xTDk4LjcgMzA5LjVjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjNMODAgMjI0bDAtODAgMC00MHptNDgwIDBsMCA0MCAwIDgwIDAgNDAuMmMwIDE3LTYuNyAzMy4zLTE4LjcgNDUuM2wtNTEuMSA1MS4xYy04LjMgOC4zLTIxLjMgOS42LTMxIDMuMWMtMTIuOS04LjYtMTQuNy0yNi45LTMuNy0zNy44bDE1LjItMTUuMiAzMi0zMmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMzIgMzItMTUuMiAxNS4yYzAgMCAwIDAgMCAwbC0yNS4zIDI1LjNjLTIxIDIxLTMyLjggNDkuNS0zMi44IDc5LjJsMCA3OC45YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY2LjcgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2w5OS45LTk5LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOUw2NDAgMjI0bDAtNjQgMC01NmMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MHpcIl1cbn07XG5jb25zdCBmYUhhbmRzQ2xhcHBpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMtY2xhcHBpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUxYThcIiwgXCJNMzM2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em0tOTguNyA3LjFsMzIgNDhjNC45IDcuNCAyLjkgMTcuMy00LjQgMjIuMnMtMTcuMyAyLjktMjIuMi00LjRsLTMyLTQ4Yy00LjktNy40LTIuOS0xNy4zIDQuNC0yMi4yczE3LjMtMi45IDIyLjIgNC40ek0xMzUgMTE5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDI5Mi43IDI0Mi43YzEwLjEgMTAuMSAyNy4zIDIuOSAyNy4zLTExLjNsMC0zOS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNTMuNmMwIDU3LjEtMzAgMTEwLTc4LjkgMTM5LjRjLTY0IDM4LjQtMTQ1LjggMjguMy0xOTguNS0yNC40TDcgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTMgNTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMMjMgMjY1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsOTMgOTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMNTUgMTg1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMTE3IDExN2M2LjEgNi4xIDE2IDYuMSAyMi4xIDBzNi4xLTE2IDAtMjIuMWwtOTMtOTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45ek00MzMuMSA0ODQuOWMtMjQuMiAxNC41LTUwLjkgMjIuMS03Ny43IDIzLjFjNDguMS0zOS42IDc2LjYtOTkgNzYuNi0xNjIuNGwwLTk4LjFjOC4yLS4xIDE2LTYuNCAxNi0xNmwwLTM5LjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE1My42YzAgNTcuMS0zMCAxMTAtNzguOSAxMzkuNHpNNDI0LjkgMTguN2M3LjQgNC45IDkuMyAxNC44IDQuNCAyMi4ybC0zMiA0OGMtNC45IDcuNC0xNC44IDkuMy0yMi4yIDQuNHMtOS4zLTE0LjgtNC40LTIyLjJsMzItNDhjNC45LTcuNCAxNC44LTkuMyAyMi4yLTQuNHpcIl1cbn07XG5jb25zdCBmYVJlcHVibGljYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVwdWJsaWNhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjc1ZVwiLCBcIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMybDIyNCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgNjRMMCAyNTZsMC02NHptNDE1LjktNjRjLTIuNCAwLTQuNyAxLjMtNS43IDMuNGwtMTIuNiAyNC42LTI4LjIgNGMtMi40IC4zLTQuNCAyLTUuMiA0LjJzLS4xIDQuNyAxLjYgNi4zbDIwLjQgMTkuMi00LjggMjcuMWMtLjQgMi4zIC42IDQuNyAyLjUgNnM0LjYgMS42IDYuNyAuNWwyNS4yLTEyLjggMjUuMiAxMi44YzIuMiAxLjEgNC44IC45IDYuNy0uNXMzLTMuNyAyLjUtNmwtNC44LTI3LjFMNDY2IDE3MC41YzEuNy0xLjYgMi40LTQuMSAxLjYtNi4zcy0yLjgtMy45LTUuMi00LjJsLTI4LjItNC0xMi42LTI0LjZjLTEuMS0yLjEtMy4zLTMuNC01LjctMy40em0tMTM4LjMgMy40Yy0xLjEtMi4xLTMuMy0zLjQtNS43LTMuNHMtNC43IDEuMy01LjcgMy40bC0xMi42IDI0LjYtMjguMiA0Yy0yLjQgLjMtNC40IDItNS4yIDQuMnMtLjEgNC43IDEuNiA2LjNsMjAuNCAxOS4yLTQuOCAyNy4xYy0uNCAyLjMgLjYgNC43IDIuNSA2czQuNiAxLjYgNi43IC41bDI1LjItMTIuOCAyNS4yIDEyLjhjMi4yIDEuMSA0LjggLjkgNi43LS41czMtMy43IDIuNS02bC00LjgtMjcuMUwzMjIgMTcwLjVjMS43LTEuNiAyLjQtNC4xIDEuNi02LjNzLTIuOC0zLjktNS4yLTQuMmwtMjguMi00LTEyLjYtMjQuNnpNMTI3LjkgMTI4Yy0yLjQgMC00LjcgMS4zLTUuNyAzLjRsLTEyLjYgMjQuNi0yOC4yIDRjLTIuNCAuMy00LjQgMi01LjIgNC4ycy0uMSA0LjcgMS42IDYuM2wyMC40IDE5LjItNC44IDI3LjFjLS40IDIuMyAuNiA0LjcgMi41IDZzNC42IDEuNiA2LjcgLjVsMjUuMi0xMi44IDI1LjIgMTIuOGMyLjIgMS4xIDQuOCAuOSA2LjctLjVzMy0zLjcgMi41LTZsLTQuOC0yNy4xTDE3OCAxNzAuNWMxLjctMS42IDIuNC00LjEgMS42LTYuM3MtMi44LTMuOS01LjItNC4ybC0yOC4yLTQtMTIuNi0yNC42Yy0xLjEtMi4xLTMuMy0zLjQtNS43LTMuNHptLjEgMTYwbDE5MiAwIDk2IDAgMzIgMCA2NCAwIDMyIDAgMCAzMiAwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBsMC00OC0zMiAwIDAgMzIgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NC0xOTIgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0IDAtOTYgMTI4IDB6XCJdXG59O1xuY29uc3QgZmFBcnJvd0xlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctbGVmdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg1OTJdLCBcImYwNjBcIiwgXCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjIgMjg4IDQxNiAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMwNi43IDBMMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6XCJdXG59O1xuY29uc3QgZmFQZXJzb25DaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQzXCIsIFwiTTExMiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjMuMUw1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTguMy05N2MxNy40LTI4LjkgNDguNi00Ni42IDgyLjMtNDYuNmwyOS43IDBjMzMuNyAwIDY0LjkgMTcuNyA4Mi4zIDQ2LjZsNDQuOSA3NC43Yy0xNi4xIDE3LjYtMjguNiAzOC41LTM2LjYgNjEuNWMtMS45LTEuOC0zLjUtMy45LTQuOS02LjNMMjMyIDI1Ni45IDIzMiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNNDMyIDIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMEw0MzIgMzQ1LjRsLTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw0MDkuNCAzNjhsLTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwTDQzMiAzOTAuNmwzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42TDQ1NC42IDM2OGwzNi43LTM2Ljd6XCJdXG59O1xuY29uc3QgZmFSdWxlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIwN10sIFwiZjU0NVwiLCBcIk0xNzcuOSA0OTQuMWMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBMMTcuOSA0MDEuOWMtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlsNTAuNy01MC43IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNDEuNC00MS40IDQ4IDQ4YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNDgtNDggNTAuNy01MC43YzE4LjctMTguNyA0OS4xLTE4LjcgNjcuOSAwbDkyLjEgOTIuMWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUwxNzcuOSA0OTQuMXpcIl1cbn07XG5jb25zdCBmYUFsaWduTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbGlnbi1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDM2XCIsIFwiTTI4OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFEaWNlRDYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1kNicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjZkMVwiLCBcIk0yMDEgMTAuM2MxNC4zLTcuOCAzMS42LTcuOCA0NiAwTDQyMi4zIDEwNmM1LjEgMi44IDguMyA4LjIgOC4zIDE0cy0zLjIgMTEuMi04LjMgMTRMMjMxLjcgMjM4Yy00LjggMi42LTEwLjUgMi42LTE1LjMgMEwyNS43IDEzNGMtNS4xLTIuOC04LjMtOC4yLTguMy0xNHMzLjItMTEuMiA4LjMtMTRMMjAxIDEwLjN6TTIzLjcgMTcwbDE3NiA5NmM1LjEgMi44IDguMyA4LjIgOC4zIDE0bDAgMjE2YzAgNS42LTMgMTAuOS03LjggMTMuOHMtMTAuOSAzLTE1LjggLjNMMjUgNDIzLjFDOS42IDQxNC43IDAgMzk4LjYgMCAzODFMMCAxODRjMC01LjYgMy0xMC45IDcuOC0xMy44czEwLjktMyAxNS44LS4zem00MDAuNyAwYzUtMi43IDExLTIuNiAxNS44IC4zczcuOCA4LjEgNy44IDEzLjhsMCAxOTdjMCAxNy42LTkuNiAzMy43LTI1IDQyLjFMMjYzLjcgNTEwYy01IDIuNy0xMSAyLjYtMTUuOC0uM3MtNy44LTguMS03LjgtMTMuOGwwLTIxNmMwLTUuOSAzLjItMTEuMiA4LjMtMTRsMTc2LTk2elwiXVxufTtcbmNvbnN0IGZhUmVzdHJvb20gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmVzdHJvb20nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3YmRcIiwgXCJNODAgNDhhNDggNDggMCAxIDEgOTYgMEE0OCA0OCAwIDEgMSA4MCA0OHptNDAgMzA0bDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTU0LjhjLTguMSA5LjItMjEuMSAxMy4yLTMzLjUgOS40Yy0xNi45LTUuMy0yNi4zLTIzLjItMjEtNDAuMWwzMC45LTk5LjFDNDQuOSAxNTUuMyA4MiAxMjggMTI0IDEyOGw4IDBjNDIgMCA3OS4xIDI3LjMgOTEuNiA2Ny40bDMwLjkgOTkuMWM1LjMgMTYuOS00LjEgMzQuOC0yMSA0MC4xYy0xMi40IDMuOS0yNS40LS4yLTMzLjUtOS40TDIwMCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNMzIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0NjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00NjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQ2NCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek00NDAgNDgwbDAtOTYtMTcuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw5LTI2LjljLTMuMiAwLTYuNC0uNS05LjUtMS41Yy0xNi45LTUuMy0yNi4zLTIzLjItMjEtNDAuMWwyOS43LTk1LjJDNDI4LjQgMTU2LjkgNDY3LjYgMTI4IDUxMiAxMjhzODMuNiAyOC45IDk2LjggNzEuMmwyOS43IDk1LjJjNS4zIDE2LjktNC4xIDM0LjgtMjEgNDAuMWMtMy4yIDEtNi40IDEuNS05LjUgMS41bDkgMjYuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFMNTg0IDM4NGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhSiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTA2XSwgXCI0YVwiLCBcIk0yODggMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMGwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhVXNlcnNWaWV3ZmluZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXJzLXZpZXdmaW5kZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OTVcIiwgXCJNNDggNDhsODggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwzMiAwQzE0LjMgMCAwIDE0LjMgMCAzMkwwIDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODh6TTE3NS44IDIyNGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS0yNi41IDMyQzExOS45IDI1NiA5NiAyNzkuOSA5NiAzMDkuM2MwIDE0LjcgMTEuOSAyNi43IDI2LjcgMjYuN2w1Ni4xIDBjOC0zNC4xIDMyLjgtNjEuNyA2NS4yLTczLjZjLTcuNS00LjEtMTYuMi02LjQtMjUuMy02LjRsLTY5LjMgMHptMzY4IDgwYzE0LjcgMCAyNi43LTExLjkgMjYuNy0yNi43YzAtMjkuNS0yMy45LTUzLjMtNTMuMy01My4zbC02OS4zIDBjLTkuMiAwLTE3LjggMi4zLTI1LjMgNi40YzMyLjQgMTEuOSA1Ny4yIDM5LjUgNjUuMiA3My42bDU2LjEgMHptLTg5LjQgMGMtOC42LTI0LjMtMjkuOS00Mi42LTU1LjktNDdjLTMuOS0uNy03LjktMS0xMi0xbC04MCAwYy00LjEgMC04LjEgLjMtMTIgMWMtMjYgNC40LTQ3LjMgMjIuNy01NS45IDQ3Yy0yLjcgNy41LTQuMSAxNS42LTQuMSAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGMwLTguNC0xLjQtMTYuNS00LjEtMjR6TTQ2NCAyMjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tODAtMzJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek01MDQgNDhsODggMCAwIDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDRjMC0xNy43LTE0LjMtMzItMzItMzJMNTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6TTQ4IDQ2NGwwLTg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0TDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04OCAwem00NTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDg4LTg4IDB6XCJdXG59O1xuY29uc3QgZmFGaWxlVmlkZW8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS12aWRlbycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjFjOFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTY0IDI4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZ6TTMwMC45IDM5Ny45TDI1NiAzNjhsMC02NCA0NC45LTI5LjljMi0xLjMgNC40LTIuMSA2LjgtMi4xYzYuOCAwIDEyLjMgNS41IDEyLjMgMTIuM2wwIDEwMy40YzAgNi44LTUuNSAxMi4zLTEyLjMgMTIuM2MtMi40IDAtNC44LS43LTYuOC0yLjF6XCJdXG59O1xuY29uc3QgZmFVcFJpZ2h0RnJvbVNxdWFyZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cC1yaWdodC1mcm9tLXNxdWFyZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXh0ZXJuYWwtbGluay1hbHRcIl0sIFwiZjM1ZFwiLCBcIk0zNTIgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlMMzcwLjcgOTYgMjAxLjQgMjY1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMNDE2IDE0MS4zbDQxLjQgNDEuNGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOXMxOS44LTE2LjYgMTkuOC0yOS42bDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDM1MiAwek04MCAzMkMzNS44IDMyIDAgNjcuOCAwIDExMkwwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMjAgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTExMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZMODAgNDQ4Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMjBjMC04LjggNy4yLTE2IDE2LTE2bDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDMyelwiXVxufTtcbmNvbnN0IGZhRXh0ZXJuYWxMaW5rQWx0ID0gZmFVcFJpZ2h0RnJvbVNxdWFyZTtcbmNvbnN0IGZhVGFibGVDZWxscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1jZWxscycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGhcIl0sIFwiZjAwYVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem04OCA2NGwwIDY0LTg4IDAgMC02NCA4OCAwem01NiAwbDg4IDAgMCA2NC04OCAwIDAtNjR6bTI0MCAwbDAgNjQtODggMCAwLTY0IDg4IDB6TTY0IDIyNGw4OCAwIDAgNjQtODggMCAwLTY0em0yMzIgMGwwIDY0LTg4IDAgMC02NCA4OCAwem02NCAwbDg4IDAgMCA2NC04OCAwIDAtNjR6TTE1MiAzNTJsMCA2NC04OCAwIDAtNjQgODggMHptNTYgMGw4OCAwIDAgNjQtODggMCAwLTY0em0yNDAgMGwwIDY0LTg4IDAgMC02NCA4OCAwelwiXVxufTtcbmNvbnN0IGZhVGggPSBmYVRhYmxlQ2VsbHM7XG5jb25zdCBmYUZpbGVQZGYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1wZGYnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxYzFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjI0IDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAxNDQtMjA4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMTQ0LTQ4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNMTc2IDM1MmwzMiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2cy0yNS4xIDU2LTU2IDU2bC0xNiAwIDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OCAwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnptMzIgODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2IDAgMCA0OCAxNiAwem05Ni04MGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTEyOGMwLTguOCA3LjItMTYgMTYtMTZ6bTMyIDEyOGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTE2IDAgMCA5NiAxNiAwem04MC0xMTJjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDAgMCAzMiAzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NCAwLTY0elwiXVxufTtcbmNvbnN0IGZhQm9va0JpYmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stYmlibGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImJpYmxlXCJdLCBcImY2NDdcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDI4OCAwIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02NGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzODQgMCA5NiAwem0wIDM4NGwyNTYgMCAwIDY0TDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpNMjA4IDgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgMTEyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTEyLTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0OCAwIDAtNDh6XCJdXG59O1xuY29uc3QgZmFCaWJsZSA9IGZhQm9va0JpYmxlO1xuY29uc3QgZmFPID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ28nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMTFdLCBcIjRmXCIsIFwiTTIyNCA5NmExNjAgMTYwIDAgMSAwIDAgMzIwIDE2MCAxNjAgMCAxIDAgMC0zMjB6TTQ0OCAyNTZBMjI0IDIyNCAwIDEgMSAwIDI1NmEyMjQgMjI0IDAgMSAxIDQ0OCAwelwiXVxufTtcbmNvbnN0IGZhU3VpdGNhc2VNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1aXRjYXNlLW1lZGljYWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIm1lZGtpdFwiXSwgXCJmMGZhXCIsIFwiTTE4NCA0OGwxNDQgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MEwxNzYgOTZsMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDAgMCAzMiAwIDM1MiAyNTYgMCAwLTM1MiAwLTMyIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMTg0IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek05NiA5Nkw2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMEw5NiA5NnpNNDE2IDQ4MGwzMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAgMzg0ek0yMjQgMjA4YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhTWVka2l0ID0gZmFTdWl0Y2FzZU1lZGljYWw7XG5jb25zdCBmYVVzZXJTZWNyZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1zZWNyZXQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgzNzNdLCBcImYyMWJcIiwgXCJNMjI0IDE2Yy02LjcgMC0xMC44LTIuOC0xNS41LTYuMUMyMDEuOSA1LjQgMTk0IDAgMTc2IDBjLTMwLjUgMC01MiA0My43LTY2IDg5LjRDNjIuNyA5OC4xIDMyIDExMi4yIDMyIDEyOGMwIDE0LjMgMjUgMjcuMSA2NC42IDM1LjljLS40IDQtLjYgOC0uNiAxMi4xYzAgMTcgMy4zIDMzLjIgOS4zIDQ4bC01OS45IDBDMzggMjI0IDMyIDIzMCAzMiAyMzcuNGMwIDEuNyAuMyAzLjQgMSA1bDM4LjggOTYuOUMyOC4yIDM3MS44IDAgNDIzLjggMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEybDM4OC42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjdjMC01OC41LTI4LjItMTEwLjQtNzEuNy0xNDNMNDE1IDI0Mi40Yy42LTEuNiAxLTMuMyAxLTVjMC03LjQtNi0xMy40LTEzLjQtMTMuNGwtNTkuOSAwYzYtMTQuOCA5LjMtMzEgOS4zLTQ4YzAtNC4xLS4yLTguMS0uNi0xMi4xQzM5MSAxNTUuMSA0MTYgMTQyLjMgNDE2IDEyOGMwLTE1LjgtMzAuNy0yOS45LTc4LTM4LjZDMzI0IDQzLjcgMzAyLjUgMCAyNzIgMGMtMTggMC0yNS45IDUuNC0zMi41IDkuOWMtNC44IDMuMy04LjggNi4xLTE1LjUgNi4xem01NiAyMDhsLTEyLjQgMGMtMTYuNSAwLTMxLjEtMTAuNi0zNi4zLTI2LjJjLTIuMy03LTEyLjItNy0xNC41IDBjLTUuMiAxNS42LTE5LjkgMjYuMi0zNi4zIDI2LjJMMTY4IDIyNGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xNC40YzI4LjIgNC4xIDYxIDYuNCA5NiA2LjRzNjcuOC0yLjMgOTYtNi40bDAgMTQuNGMwIDIyLjEtMTcuOSA0MC00MCA0MHptLTg4IDk2bDE2IDMyTDE3NiA0ODAgMTI4IDI4OGw2NCAzMnptMTI4LTMyTDI3MiA0ODAgMjQwIDM1MmwxNi0zMiA2NC0zMnpcIl1cbn07XG5jb25zdCBmYU90dGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ290dGVyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NDQ2XSwgXCJmNzAwXCIsIFwiTTE4MS41IDE5Ny4xbDEyLjkgNi40YzUuOSAzIDEyLjQgNC41IDE5LjEgNC41YzIzLjUgMCA0Mi42LTE5LjEgNDIuNi00Mi42bDAtMjEuNGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMS40YzAgMjMuNSAxOS4xIDQyLjYgNDIuNiA0Mi42YzYuNiAwIDEzLjEtMS41IDE5LjEtNC41bDEyLjktNi40IDguNC00LjJMMTM1LjEgMTg1Yy00LjUtMy03LjEtOC03LjEtMTMuM2wwLTMuN2MwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMy43YzAgNS4zLTIuNyAxMC4zLTcuMSAxMy4zbC0xMS44IDcuOSA4LjQgNC4yem0tOC42IDQ5LjRMMTYwIDI0MGwtMTIuOSA2LjRjLTEyLjYgNi4zLTI2LjUgOS42LTQwLjUgOS42Yy0zLjYgMC03LjEtLjItMTAuNi0uNmwwIC42YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMTYwIDAgMC00OCAwLTE2YzAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGM5LjQtNS40IDIwLjMtOC42IDMyLTguNmwwLTE2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyIDAgMTYgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTkuN2MwLTQ4LjItMzAuOC05MS03Ni42LTEwNi4zbC04LjUtMi44Yy04LTIuNy0xMi42LTExLjEtMTAuNC0xOS4zczEwLjMtMTMuMiAxOC42LTExLjZsMTkuOSA0QzU3NiA4Ni4xIDY0MCAxNjQuMiA2NDAgMjU0LjlsMCAxLjFzMCAwIDAgMGMwIDEyMy43LTEwMC4zIDIyNC0yMjQgMjI0bC0xLjEgMEwyNTYgNDgwbC0uNiAwQzEzMiA0ODAgMzIgMzgwIDMyIDI1Ni42bDAtLjYgMC0zOS4yYy0xMC4xLTE0LjYtMTYtMzIuMy0xNi01MS40TDE2IDE0NGwwLTEuNEM2LjcgMTM5LjMgMCAxMzAuNSAwIDEyMGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwyLjggMEM0NC44IDU4LjIgODMuMyAzMiAxMjggMzJsNjQgMGM0NC43IDAgODMuMiAyNi4yIDEwMS4yIDY0bDIuOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0YzAgMTAuNS02LjcgMTkuMy0xNiAyMi42bDAgMS40IDAgMjEuNGMwIDEuNCAwIDIuOC0uMSA0LjNjMTItNi4yIDI1LjctOS42IDQwLjEtOS42bDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDggNTYuNCAwYy0xNS4yIDE3LTI0LjQgMzkuNC0yNC40IDY0bC0zMiAwYy00Mi4zIDAtNzguMi0yNy40LTkxLTY1LjNjLTUuMSAuOS0xMC4zIDEuMy0xNS42IDEuM2MtMTQuMSAwLTI3LjktMy4zLTQwLjUtOS42ek05NiAxMjhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem0xMTIgMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkRyZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1kcmVzcycsXG4gIGljb246IFszMjAsIDUxMiwgW1wiZmVtYWxlXCJdLCBcImYxODJcIiwgXCJNMTYwIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek04OCAzODRsLTE3LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFMOTMuMyAyNDguMSA1OS40IDMwNC41Yy05LjEgMTUuMS0yOC44IDIwLTQzLjkgMTAuOXMtMjAtMjguOC0xMC45LTQzLjlsNTMuNi04OS4yYzIwLjMtMzMuNyA1Ni43LTU0LjMgOTYtNTQuM2wxMS42IDBjMzkuMyAwIDc1LjcgMjAuNiA5NiA1NC4zbDUzLjYgODkuMmM5LjEgMTUuMSA0LjIgMzQuOC0xMC45IDQzLjlzLTM0LjggNC4yLTQzLjktMTAuOWwtMzMuOS01Ni4zTDI2NSAzNjIuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFMMjMyIDM4NGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZ6XCJdXG59O1xuY29uc3QgZmFGZW1hbGUgPSBmYVBlcnNvbkRyZXNzO1xuY29uc3QgZmFDb21tZW50RG9sbGFyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvbW1lbnQtZG9sbGFyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjUxXCIsIFwiTTI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMlMwIDEyNS4xIDAgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjNjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOXptMjAtMzEybDAgMTMuOWM3LjUgMS4yIDE0LjYgMi45IDIxLjEgNC43YzEwLjcgMi44IDE3IDEzLjggMTQuMiAyNC41cy0xMy44IDE3LTI0LjUgMTQuMmMtMTEtMi45LTIxLjYtNS0zMS4yLTUuMmMtNy45LS4xLTE2IDEuOC0yMS41IDVjLTQuOCAyLjgtNi4yIDUuNi02LjIgOS4zYzAgMS44IC4xIDMuNSA1LjMgNi43YzYuMyAzLjggMTUuNSA2LjcgMjguMyAxMC41bC43IC4yYzExLjIgMy40IDI1LjYgNy43IDM3LjEgMTVjMTIuOSA4LjEgMjQuMyAyMS4zIDI0LjYgNDEuNmMuMyAyMC45LTEwLjUgMzYuMS0yNC44IDQ1Yy03LjIgNC41LTE1LjIgNy4zLTIzLjIgOWwwIDEzLjhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMTQuNmMtMTAuMy0yLjItMjAtNS41LTI4LjItOC40YzAgMCAwIDAgMCAwczAgMCAwIDBjLTIuMS0uNy00LjEtMS40LTYuMS0yLjFjLTEwLjUtMy41LTE2LjEtMTQuOC0xMi42LTI1LjNzMTQuOC0xNi4xIDI1LjMtMTIuNmMyLjUgLjggNC45IDEuNyA3LjIgMi40YzAgMCAwIDAgMCAwYzEzLjYgNC42IDI0IDguMSAzNS4xIDguNWM4LjYgLjMgMTYuNS0xLjYgMjEuNC00LjdjNC4xLTIuNSA2LTUuNSA1LjktMTAuNWMwLTIuOS0uOC01LTUuOS04LjJjLTYuMy00LTE1LjQtNi45LTI4LTEwLjdsLTEuNy0uNWMtMTAuOS0zLjMtMjQuNi03LjQtMzUuNi0xNGMtMTIuNy03LjctMjQuNi0yMC41LTI0LjctNDAuN2MtLjEtMjEuMSAxMS44LTM1LjcgMjUuOC00My45YzYuOS00LjEgMTQuNS02LjggMjIuMi04LjVsMC0xNGMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMHpcIl1cbn07XG5jb25zdCBmYUJ1c2luZXNzVGltZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdidXNpbmVzcy10aW1lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJicmllZmNhc2UtY2xvY2tcIl0sIFwiZjY0YVwiLCBcIk0xODQgNDhsMTQ0IDBjNC40IDAgOCAzLjYgOCA4bDAgNDBMMTc2IDk2bDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwTDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MGwwIDk2IDE5MiAwIDE2MCAwIDguMiAwYzMyLjMtMzkuMSA4MS4xLTY0IDEzNS44LTY0YzUuNCAwIDEwLjcgLjIgMTYgLjdsMC0zMi43YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMTg0IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek0zMjAgMzUybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyTDAgMjg4IDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI5Ni4yIDBDMzM1LjEgNDQ5LjYgMzIwIDQxMC41IDMyMCAzNjhjMC01LjQgLjItMTAuNyAuNy0xNmwtLjcgMHptMzIwIDE2YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTQ5NiAyODhjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhQnJpZWZjYXNlQ2xvY2sgPSBmYUJ1c2luZXNzVGltZTtcbmNvbnN0IGZhVGFibGVDZWxsc0xhcmdlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLWNlbGxzLWxhcmdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0aC1sYXJnZVwiXSwgXCJmMDA5XCIsIFwiTTQ0OCA5NmwwIDEyOC0xNjAgMCAwLTEyOCAxNjAgMHptMCAxOTJsMCAxMjgtMTYwIDAgMC0xMjggMTYwIDB6TTIyNCAyMjRMNjQgMjI0IDY0IDk2bDE2MCAwIDAgMTI4ek02NCAyODhsMTYwIDAgMCAxMjhMNjQgNDE2bDAtMTI4ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyelwiXVxufTtcbmNvbnN0IGZhVGhMYXJnZSA9IGZhVGFibGVDZWxsc0xhcmdlO1xuY29uc3QgZmFCb29rVGFuYWtoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jvb2stdGFuYWtoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0YW5ha2hcIl0sIFwiZjgyN1wiLCBcIk0zNTIgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzIwYzAgNTMtNDMgOTYtOTYgOTZMNjQgNTEybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDY0IDAgMzUyIDB6bTAgMzg0TDk2IDM4NGwwIDY0IDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyek0xMzguNyAyMDhsMTMuOSAyNC0yNy43IDAgMTMuOS0yNHptLTEzLjktMjRMOTcuMSAyMzJjLTYuMiAxMC43IDEuNSAyNCAxMy45IDI0bDU1LjQgMCAyNy43IDQ4YzYuMiAxMC43IDIxLjYgMTAuNyAyNy43IDBsMjcuNy00OCA1NS40IDBjMTIuMyAwIDIwLTEzLjMgMTMuOS0yNGwtMjcuNy00OCAyNy43LTQ4YzYuMi0xMC43LTEuNS0yNC0xMy45LTI0bC01NS40IDBMMjIxLjkgNjRjLTYuMi0xMC43LTIxLjYtMTAuNy0yNy43IDBsLTI3LjcgNDhMMTExIDExMmMtMTIuMyAwLTIwIDEzLjMtMTMuOSAyNGwyNy43IDQ4em0yNy43IDBsMjcuNy00OCA1NS40IDAgMjcuNyA0OC0yNy43IDQ4LTU1LjQgMC0yNy43LTQ4em0wLTQ4bC0xMy45IDI0LTEzLjktMjQgMjcuNyAwem00MS42LTI0TDIwOCA4OGwxMy45IDI0LTI3LjcgMHptNjkuMyAyNGwyNy43IDAtMTMuOSAyNC0xMy45LTI0em0xMy45IDcybDEzLjkgMjQtMjcuNyAwIDEzLjktMjR6bS01NS40IDQ4TDIwOCAyODBsLTEzLjktMjQgMjcuNyAwelwiXVxufTtcbmNvbnN0IGZhVGFuYWtoID0gZmFCb29rVGFuYWtoO1xuY29uc3QgZmFQaG9uZVZvbHVtZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwaG9uZS12b2x1bWUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInZvbHVtZS1jb250cm9sLXBob25lXCJdLCBcImYyYTBcIiwgXCJNMjgwIDBDNDA4LjEgMCA1MTIgMTAzLjkgNTEyIDIzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTEwMS42LTgyLjQtMTg0LTE4NC0xODRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptLTMyLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0Yzc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDguNi0zOS40LTg4LTg4LTg4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMTE3LjUgMS40YzE5LjQtNS4zIDM5LjcgNC42IDQ3LjQgMjMuMmw0MCA5NmM2LjggMTYuMyAyLjEgMzUuMi0xMS42IDQ2LjNMMTQ0IDIwNy4zYzMzLjMgNzAuNCA5MC4zIDEyNy40IDE2MC43IDE2MC43TDM0NSAzMTguN2MxMS4yLTEzLjcgMzAtMTguNCA0Ni4zLTExLjZsOTYgNDBjMTguNiA3LjcgMjguNSAyOCAyMy4yIDQ3LjRsLTI0IDg4QzQ4MS44IDQ5OS45IDQ2NiA1MTIgNDQ4IDUxMkMyMDAuNiA1MTIgMCAzMTEuNCAwIDY0QzAgNDYgMTIuMSAzMC4yIDI5LjUgMjUuNGw4OC0yNHpcIl1cbn07XG5jb25zdCBmYVZvbHVtZUNvbnRyb2xQaG9uZSA9IGZhUGhvbmVWb2x1bWU7XG5jb25zdCBmYUhhdENvd2JveVNpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGF0LWNvd2JveS1zaWRlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmOGMxXCIsIFwiTTE1Mi43IDEzNS45bC0xMC40IDU3LjJjNi44LS43IDEzLjYtMS4xIDIwLjUtMS4xbDEwLjcgMGMzOS40IDAgNzcuOCAxMi4xIDExMC4xIDM0LjdMNTYyLjQgNDIxLjhsMzUuMSAyNC42YzI0LjQtNiA0Mi41LTI4LjEgNDIuNS01NC40YzAtNzUuOC05NC43LTEyNi42LTEzNC42LTE0NC43TDQ3NCA4My45QzQ2OC4yIDUzLjggNDQxLjggMzIgNDExLjEgMzJsLTIuNyAwYy01LjYgMC0xMS4xIC43LTE2LjUgMi4yTDE5OS4yIDg1LjVjLTIzLjkgNi40LTQyIDI2LTQ2LjUgNTAuNHpNMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDgwIDBMMjY1LjMgMjUyLjljLTI2LjktMTguOC01OC45LTI4LjktOTEuOC0yOC45bC0xMC43IDBjLTYwLjYgMC0xMTYgMzQuMi0xNDMuMSA4OC40TDEzLjUgMzI1QzQuNiAzNDIuNyAwIDM2Mi4zIDAgMzgyLjJMMCAzODR6XCJdXG59O1xuY29uc3QgZmFDbGlwYm9hcmRVc2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsaXBib2FyZC11c2VyJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmN2YzXCIsIFwiTTE5MiAwYy00MS44IDAtNzcuNCAyNi43LTkwLjUgNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTM3LjUgMEMyNjkuNCAyNi43IDIzMy44IDAgMTkyIDB6bTAgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0xMjggMjU2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNODAgNDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODBjMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQ0OGMtOC44IDAtMTYtNy4yLTE2LTE2elwiXVxufTtcbmNvbnN0IGZhQ2hpbGQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hpbGQnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImYxYWVcIiwgXCJNOTYgNjRhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgOTYgNjR6bTQ4IDMyMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTkyLjJMNTkuMSAzMjFjLTkuNCAxNS0yOS4yIDE5LjQtNDQuMSAxMFMtNC41IDMwMS45IDQuOSAyODdsMzkuOS02My4zQzY5LjcgMTg0IDExMy4yIDE2MCAxNjAgMTYwczkwLjMgMjQgMTE1LjIgNjMuNkwzMTUuMSAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBMMjQwIDI4Ny44IDI0MCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAwelwiXVxufTtcbmNvbnN0IGZhTGlyYVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlyYS1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbODM1Nl0sIFwiZjE5NVwiLCBcIk0xMTIgMTYwLjRjMC0zNS41IDI4LjgtNjQuNCA2NC40LTY0LjRjNi45IDAgMTMuOCAxLjEgMjAuNCAzLjNsODEuMiAyNy4xYzE2LjggNS42IDM0LjktMy41IDQwLjUtMjAuMnMtMy41LTM0LjktMjAuMi00MC41TDIxNyAzOC42Yy0xMy4xLTQuNC0yNi44LTYuNi00MC42LTYuNkMxMDUuNSAzMiA0OCA4OS41IDQ4IDE2MC40TDQ4IDE5MmwtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwIDAgMzItMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNCAwYy0yLjIgMTAuNS02LjEgMjAuNi0xMS43IDI5LjlMNC42IDQzMS41Yy01LjkgOS45LTYuMSAyMi4yLS40IDMyLjJTMjAuNSA0ODAgMzIgNDgwbDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDg4LjUgNDE2bC43LTEuMWMxMS42LTE5LjMgMTguOS00MC43IDIxLjYtNjIuOUwyMjQgMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMTIgMCAwLTMyIDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMTIgMCAwLTMxLjZ6XCJdXG59O1xuY29uc3QgZmFTYXRlbGxpdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2F0ZWxsaXRlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NzUyXSwgXCJmN2JmXCIsIFwiTTIzMyA3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtOTYgOTZjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDg5LjQgODkuNC0xNS41IDE1LjVDMTUyLjMgMjMwLjQgMTI0LjkgMjI0IDk2IDIyNGMtMzEuNyAwLTYxLjUgNy43LTg3LjggMjEuMmMtOSA0LjctMTAuMyAxNi43LTMuMSAyMy44TDExMi43IDM3Ni43IDk2LjMgMzkzLjFjLTIuNi0uNy01LjQtMS4xLTguMy0xLjFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTIuOS0uNC01LjYtMS4xLTguM2wxNi40LTE2LjRMMjQyLjkgNTA2LjljNy4yIDcuMiAxOS4yIDUuOSAyMy44LTMuMUMyODAuMyA0NzcuNSAyODggNDQ3LjcgMjg4IDQxNmMwLTI4LjktNi40LTU2LjMtMTcuOC04MC45bDE1LjUtMTUuNUwzNzUgNDA5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDk2LTk2YzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC04OS40LTg5LjQgNTUtNTVjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTQ4LTQ4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNTUgNTVMMjMzIDd6bTE1OSAzNTFsLTcyLjQtNzIuNCA2Mi4xLTYyLjFMNDU0LjEgMjk2IDM5MiAzNTguMXpNMjI2LjMgMTkyLjRMMTUzLjkgMTIwIDIxNiA1Ny45bDcyLjQgNzIuNC02Mi4xIDYyLjF6XCJdXG59O1xuY29uc3QgZmFQbGFuZUxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1OFwiLCBcIk0xOTIgOTMuN0MxOTIgNTkuNSAyMjEgMCAyNTYgMGMzNiAwIDY0IDU5LjUgNjQgOTMuN2wwIDg0LjYgMTAxLjggNTguMkM0MTggMjQ3LjYgNDE2IDI1OS42IDQxNiAyNzJsMCAyNC42Yy0xNy45IDEwLjQtMzAuMyAyOS4xLTMxLjggNTAuOUwzMjAgMzI5LjFsMCA3MC45IDU3LjYgNDMuMmM0IDMgNi40IDcuOCA2LjQgMTIuOGwwIDI0IDAgMThjMCA3LjgtNi4zIDE0LTE0IDE0Yy0xLjMgMC0yLjYtLjItMy45LS41TDI1NiA0ODAgMTQ1LjkgNTExLjVjLTEuMyAuNC0yLjYgLjUtMy45IC41Yy03LjggMC0xNC02LjMtMTQtMTRsMC00MmMwLTUgMi40LTkuOCA2LjQtMTIuOEwxOTIgNDAwbDAtNzAuOS0xNzEuNiA0OUMxMC4yIDM4MS4xIDAgMzczLjQgMCAzNjIuOGwwLTY1LjVjMC01LjcgMy4xLTExIDguMS0xMy45TDE5MiAxNzguM2wwLTg0LjZ6TTUyOCAyNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tODAgMzJjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMC00OHpcIl1cbn07XG5jb25zdCBmYVRhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc5OTFdLCBcImYwMmJcIiwgXCJNMCA4MEwwIDIyOS41YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDE3NiAxNzZjMjUgMjUgNjUuNSAyNSA5MC41IDBMNDE4LjcgMzE3LjNjMjUtMjUgMjUtNjUuNSAwLTkwLjVsLTE3Ni0xNzZjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MHptMTEyIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUNvbW1lbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODQ4OSwgNjE2NjldLCBcImYwNzVcIiwgXCJNNTEyIDI0MGMwIDExNC45LTExNC42IDIwOC0yNTYgMjA4Yy0zNy4xIDAtNzIuMy02LjQtMTA0LjEtMTcuOWMtMTEuOSA4LjctMzEuMyAyMC42LTU0LjMgMzAuNkM3My42IDQ3MS4xIDQ0LjcgNDgwIDE2IDQ4MGMtNi41IDAtMTIuMy0zLjktMTQuOC05LjljLTIuNS02LTEuMS0xMi44IDMuNC0xNy40YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMy0uM2MuMy0uMyAuNy0uNyAxLjMtMS40YzEuMS0xLjIgMi44LTMuMSA0LjktNS43YzQuMS01IDkuNi0xMi40IDE1LjItMjEuNmMxMC0xNi42IDE5LjUtMzguNCAyMS40LTYyLjlDMTcuNyAzMjYuOCAwIDI4NS4xIDAgMjQwQzAgMTI1LjEgMTE0LjYgMzIgMjU2IDMyczI1NiA5My4xIDI1NiAyMDh6XCJdXG59O1xuY29uc3QgZmFDYWtlQ2FuZGxlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWtlLWNhbmRsZXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjc4NzQsIFwiYmlydGhkYXktY2FrZVwiLCBcImNha2VcIl0sIFwiZjFmZFwiLCBcIk04Ni40IDUuNUw2MS44IDQ3LjZDNTggNTQuMSA1NiA2MS42IDU2IDY5LjJMNTYgNzJjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTIuOGMwLTcuNi0yLTE1LTUuOC0yMS42TDEwNS42IDUuNUMxMDMuNiAyLjEgMTAwIDAgOTYgMHMtNy42IDIuMS05LjYgNS41em0xMjggMEwxODkuOCA0Ny42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNmwwIDIuOGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMjMzLjYgNS41QzIzMS42IDIuMSAyMjggMCAyMjQgMHMtNy42IDIuMS05LjYgNS41ek0zMTcuOCA0Ny42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNmwwIDIuOGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMzYxLjYgNS41QzM1OS42IDIuMSAzNTYgMCAzNTIgMHMtNy42IDIuMS05LjYgNS41TDMxNy44IDQ3LjZ6TTEyOCAxNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA3MWM4LjMgNS4yIDE4LjEgOSAyOC44IDljMTMuNSAwIDI3LjItNi4xIDM4LjQtMTMuNGM1LjQtMy41IDkuOS03LjEgMTMtOS43YzEuNS0xLjMgMi43LTIuNCAzLjUtMy4xYy40LS40IC43LS42IC44LS44bC4xLS4xczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMy4xLTMuMiA3LjQtNC45IDExLjktNC44czguNiAyLjEgMTEuNiA1LjRjMCAwIDAgMCAwIDBzMCAwIDAgMGwuMSAuMWMuMSAuMSAuNCAuNCAuNyAuN2MuNyAuNyAxLjcgMS43IDMuMSAzYzIuOCAyLjYgNi44IDYuMSAxMS44IDkuNWMxMC4yIDcuMSAyMyAxMy4xIDM2LjMgMTMuMXMyNi4xLTYgMzYuMy0xMy4xYzUtMy41IDktNi45IDExLjgtOS41YzEuNC0xLjMgMi40LTIuMyAzLjEtM2MuMy0uMyAuNi0uNiAuNy0uN2wuMS0uMWMzLTMuNSA3LjQtNS40IDEyLTUuNHM5IDIgMTIgNS40bC4xIC4xYy4xIC4xIC40IC40IC43IC43Yy43IC43IDEuNyAxLjcgMy4xIDNjMi44IDIuNiA2LjggNi4xIDExLjggOS41YzEwLjIgNy4xIDIzIDEzLjEgMzYuMyAxMy4xczI2LjEtNiAzNi4zLTEzLjFjNS0zLjUgOS02LjkgMTEuOC05LjVjMS40LTEuMyAyLjQtMi4zIDMuMS0zYy4zLS4zIC42LS42IC43LS43bC4xLS4xYzIuOS0zLjQgNy4xLTUuMyAxMS42LTUuNHM4LjcgMS42IDExLjkgNC44YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGwuMSAuMWMuMiAuMiAuNCAuNCAuOCAuOGMuOCAuNyAxLjkgMS44IDMuNSAzLjFjMy4xIDIuNiA3LjUgNi4yIDEzIDkuN2MxMS4yIDcuMyAyNC45IDEzLjQgMzguNCAxMy40YzEwLjcgMCAyMC41LTMuOSAyOC44LTlsMC03MWMwLTM1LjMtMjguNy02NC02NC02NGwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDgtNjQgMCAwLTQ4ek00NDggMzk0LjZjLTguNSAzLjMtMTguMiA1LjQtMjguOCA1LjRjLTIyLjUgMC00Mi40LTkuOS01NS44LTE4LjZjLTQuMS0yLjctNy44LTUuNC0xMC45LTcuOGMtMi44IDIuNC02LjEgNS05LjggNy41QzMyOS44IDM5MCAzMTAuNiA0MDAgMjg4IDQwMHMtNDEuOC0xMC01NC42LTE4LjljLTMuNS0yLjQtNi43LTQuOS05LjQtNy4yYy0yLjcgMi4zLTUuOSA0LjctOS40IDcuMkMyMDEuOCAzOTAgMTgyLjYgNDAwIDE2MCA0MDBzLTQxLjgtMTAtNTQuNi0xOC45Yy0zLjctMi42LTctNS4yLTkuOC03LjVjLTMuMSAyLjQtNi44IDUuMS0xMC45IDcuOEM3MS4yIDM5MC4xIDUxLjMgNDAwIDI4LjggNDAwYy0xMC42IDAtMjAuMy0yLjItMjguOC01LjRMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC04NS40elwiXVxufTtcbmNvbnN0IGZhQmlydGhkYXlDYWtlID0gZmFDYWtlQ2FuZGxlcztcbmNvbnN0IGZhQ2FrZSA9IGZhQ2FrZUNhbmRsZXM7XG5jb25zdCBmYUVudmVsb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4Mzg2LCA5OTkzLCA2MTQ0M10sIFwiZjBlMFwiLCBcIk00OCA2NEMyMS41IDY0IDAgODUuNSAwIDExMmMwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40TDIzNi44IDMxMy42YzExLjQgOC41IDI3IDguNSAzOC40IDBMNDkyLjggMTUwLjRjMTIuMS05LjEgMTkuMi0yMy4zIDE5LjItMzguNGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCA2NHpNMCAxNzZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMDhMMjk0LjQgMzM5LjJjLTIyLjggMTcuMS01NCAxNy4xLTc2LjggMEwwIDE3NnpcIl1cbn07XG5jb25zdCBmYUFuZ2xlc1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FuZ2xlcy11cCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiYW5nbGUtZG91YmxlLXVwXCJdLCBcImYxMDJcIiwgXCJNMjQ2LjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMjI0IDEwOS4zIDM2MS40IDI0Ni42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6bTE2MCAzNTJsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDIyNCAzMDEuMyAzNjEuNCA0MzguNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zelwiXVxufTtcbmNvbnN0IGZhQW5nbGVEb3VibGVVcCA9IGZhQW5nbGVzVXA7XG5jb25zdCBmYVBhcGVyY2xpcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYXBlcmNsaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgyMDZdLCBcImYwYzZcIiwgXCJNMzY0LjIgODMuOGMtMjQuNC0yNC40LTY0LTI0LjQtODguNCAwbC0xODQgMTg0Yy00Mi4xIDQyLjEtNDIuMSAxMTAuMyAwIDE1Mi40czExMC4zIDQyLjEgMTUyLjQgMGwxNTItMTUyYzEwLjktMTAuOSAyOC43LTEwLjkgMzkuNiAwczEwLjkgMjguNyAwIDM5LjZsLTE1MiAxNTJjLTY0IDY0LTE2Ny42IDY0LTIzMS42IDBzLTY0LTE2Ny42IDAtMjMxLjZsMTg0LTE4NGM0Ni4zLTQ2LjMgMTIxLjMtNDYuMyAxNjcuNiAwczQ2LjMgMTIxLjMgMCAxNjcuNmwtMTc2IDE3NmMtMjguNiAyOC42LTc1IDI4LjYtMTAzLjYgMHMtMjguNi03NSAwLTEwMy42bDE0NC0xNDRjMTAuOS0xMC45IDI4LjctMTAuOSAzOS42IDBzMTAuOSAyOC43IDAgMzkuNmwtMTQ0IDE0NGMtNi43IDYuNy02LjcgMTcuNyAwIDI0LjRzMTcuNyA2LjcgMjQuNCAwbDE3Ni0xNzZjMjQuNC0yNC40IDI0LjQtNjQgMC04OC40elwiXVxufTtcbmNvbnN0IGZhQXJyb3dSaWdodFRvQ2l0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC10by1jaXR5JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGIzXCIsIFwiTTI4OCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTQ0IDQwIDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNzIgMjQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIyNGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYwIDAtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC00MTZ6bTY0IDMybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTM1MiAyNzJsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTc2LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTUxMiAzNjhsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTY2LjYgMTUzLjRsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxNDYuNyAyODggMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDExNC43IDAtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwelwiXVxufTtcbmNvbnN0IGZhUmliYm9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JpYmJvbicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyNzg5NV0sIFwiZjRkNlwiLCBcIk0zMzMuMiAzMjIuOHMwIDAgMCAwbC0xMzMuOS0xNDZzMCAwIDAgMEwxNDYgMTE4LjZjNy44LTUuMSAzNy0yMi42IDc4LTIyLjZzNzAuMiAxNy40IDc4IDIyLjZMMjQ1LjcgMTgwbDg1LjYgOTMuNCAyNy40LTI5LjhjMTYuMy0xNy43IDI1LjMtNDAuOSAyNS4zLTY1bDAtMjkuNWMwLTE5LTUuNi0zNy41LTE2LjEtNTMuM0wzMjcuOCAzNS42QzMxMi45IDEzLjQgMjg3LjkgMCAyNjEuMiAwbC03NiAwYy0yNS44IDAtNTAuMSAxMi41LTY1LjEgMzMuNUw4MS45IDg3QzcwLjMgMTAzLjIgNjQgMTIyLjggNjQgMTQyLjhMNjQgMTY0YzAgMjMuMiA4LjQgNDUuNiAyMy42IDYzLjFsNTYgNjQuMnMwIDAgMCAwbDgzLjMgOTUuNnMwIDAgMCAwbDkxLjggMTA1LjNjMTAgMTEuNSAyNi44IDE0LjMgNDAgNi44bDU0LjUtMzEuMWMxNy44LTEwLjIgMjEuNi0zNC4zIDcuNy00OS40bC04Ny43LTk1Ljd6TTIwNS4yIDQxMC42bC04My4zLTk1LjZMMjcuMSA0MTguNWMtMTMuOSAxNS4xLTEwLjEgMzkuMiA3LjcgNDkuNGw1NS4xIDMxLjVjMTMgNy40IDI5LjMgNC45IDM5LjQtNi4xbDc1LjktODIuNnpcIl1cbn07XG5jb25zdCBmYUx1bmdzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2x1bmdzJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI5NzI5XSwgXCJmNjA0XCIsIFwiTTMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTMyLjFjMCAxNi40IDguNCAzMS43IDIyLjIgNDAuNWw5LjggNi4yIDAtNDUuNUMzODQgMTI3IDQxNSA5NiA0NTMuMyA5NmMyMS43IDAgNDIuOCAxMC4yIDU1LjggMjguOGMxNS40IDIyLjEgNDQuMyA2NS40IDcxIDExNi45YzI2LjUgNTAuOSA1Mi40IDExMi41IDU5LjYgMTcwLjNjLjIgMS4zIC4yIDIuNiAuMiA0bDAgN2MwIDQ5LjEtMzkuOCA4OS04OSA4OWMtNy4zIDAtMTQuNS0uOS0yMS42LTIuN2wtNzIuNy0xOC4yQzQxNCA0ODAuNSAzODQgNDQyLjEgMzg0IDM5OGwwLTczIDkwLjUgNTcuNmM3LjUgNC43IDE3LjMgMi41IDIyLjEtNC45czIuNS0xNy4zLTQuOS0yMi4xTDM4NCAyODcuMWwwLS40LTQ0LjEtMjguMWMtNy4zLTQuNi0xMy45LTEwLjEtMTkuOS0xNi4xYy01LjkgNi0xMi42IDExLjUtMTkuOSAxNi4xTDI1NiAyODYuNyAxNjEuMiAzNDdsLTEzLjUgOC42YzAgMCAwIDAtLjEgMGMtNy40IDQuOC05LjYgMTQuNi00LjggMjIuMWM0LjcgNy41IDE0LjYgOS43IDIyLjEgNC45bDkxLjEtNTggMCA3My40YzAgNDQuMS0zMCA4Mi41LTcyLjcgOTMuMWwtNzIuNyAxOC4yYy03LjEgMS44LTE0LjMgMi43LTIxLjYgMi43Yy00OS4xIDAtODktMzkuOC04OS04OWwwLTdjMC0xLjMgLjEtMi43IC4yLTRjNy4yLTU3LjkgMzMuMS0xMTkuNCA1OS42LTE3MC4zYzI2LjgtNTEuNSA1NS42LTk0LjggNzEtMTE2LjljMTMtMTguNiAzNC0yOC44IDU1LjgtMjguOEMyMjUgOTYgMjU2IDEyNyAyNTYgMTY1LjNsMCA0NS41IDkuOC02LjJjMTMuOC04LjggMjIuMi0yNC4xIDIyLjItNDAuNUwyODggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFBcnJvd1VwOTEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtOS0xJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtdXAtYWx0XCJdLCBcImY4ODdcIiwgXCJNMTYwIDMyYzkgMCAxNy41IDMuOCAyMy42IDEwLjRsODggOTZjMTEuOSAxMyAxMS4xIDMzLjMtMiA0NS4ycy0zMy4zIDExLjEtNDUuMi0yTDE5MiAxNDYuMyAxOTIgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzAxLjdMOTUuNiAxODEuNmMtMTEuOSAxMy0zMi4yIDEzLjktNDUuMiAycy0xMy45LTMyLjItMi00NS4ybDg4LTk2QzE0Mi41IDM1LjggMTUxIDMyIDE2MCAzMnpNNDUwLjcgMjk0YzguMyA2IDEzLjMgMTUuNyAxMy4zIDI2bDAgOTYgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNDggMC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC01MS42LTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6bS01LTE0NS4xQTMyIDMyIDAgMSAwIDQxOC4zIDkxYTMyIDMyIDAgMSAwIDI3LjQgNTcuOXptLTQwLjcgNTQuOUMzNjkuNiAxOTIuNCAzNDQgMTU5LjIgMzQ0IDEyMGMwLTQ4LjYgMzkuNC04OCA4OC04OHM4OCAzOS40IDg4IDg4YzAgMjMuNS03LjUgNDYuMy0yMS41IDY1LjJMNDQ5LjcgMjUxYy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi43cy0xNy4yLTMwLjYtNi43LTQ0LjhsNi44LTkuMnpcIl1cbn07XG5jb25zdCBmYVNvcnROdW1lcmljVXBBbHQgPSBmYUFycm93VXA5MTtcbmNvbnN0IGZhTGl0ZWNvaW5TaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpdGVjb2luLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZDNcIiwgXCJNMTI4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDQ2LjMgNjQgNjRsMCAxNDkuNkwyMy4yIDIyNS4yYy0xNyA0LjktMjYuOCAyMi42LTIyIDM5LjZzMjIuNiAyNi44IDM5LjYgMjJMNjQgMjgwLjEgNjQgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMjQgMCAwLTE1NC4xIDEzNi44LTM5LjFjMTctNC45IDI2LjgtMjIuNiAyMi0zOS42cy0yMi42LTI2LjgtMzkuNi0yMkwxMjggMTk1LjMgMTI4IDY0elwiXVxufTtcbmNvbnN0IGZhQm9yZGVyTm9uZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3JkZXItbm9uZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjg1MFwiLCBcIk0zMiA0ODBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em05Ni02NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAtMzg0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMCAyNTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek0zMjAgNDE2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMC0zMjBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wIDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTIyNCA0ODBhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wLTQ0OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAgMjU2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpNNDE2IDQxNmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTAtMzg0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIgOTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0ek00MTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIgMjg4YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMTkyIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTkyIDY0YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHpNMzIgMzIwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNNDE2IDE5MmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6TTMyIDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTE5MiA2NGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVOb2RlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbm9kZXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZTJcIiwgXCJNNDE4LjQgMTU3LjljMzUuMy04LjMgNjEuNi00MCA2MS42LTc3LjljMC00NC4yLTM1LjgtODAtODAtODBjLTQzLjQgMC03OC43IDM0LjUtODAgNzcuNUwxMzYuMiAxNTEuMUMxMjEuNyAxMzYuOCAxMDEuOSAxMjggODAgMTI4Yy00NC4yIDAtODAgMzUuOC04MCA4MHMzNS44IDgwIDgwIDgwYzEyLjIgMCAyMy44LTIuNyAzNC4xLTcuNkwyNTkuNyA0MDcuOGMtMi40IDcuNi0zLjcgMTUuOC0zLjcgMjQuMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMjcuNy0xNC01Mi4xLTM1LjQtNjYuNGwzNy44LTIwNy43ek0xNTYuMyAyMzIuMmMyLjItNi45IDMuNS0xNC4yIDMuNy0yMS43bDE4My44LTczLjVjMy42IDMuNSA3LjQgNi43IDExLjYgOS41TDMxNy42IDM1NC4xYy01LjUgMS4zLTEwLjggMy4xLTE1LjggNS41TDE1Ni4zIDIzMi4yelwiXVxufTtcbmNvbnN0IGZhUGFyYWNodXRlQm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhcmFjaHV0ZS1ib3gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0Y2RcIiwgXCJNMzgzLjUgMTkyYy4zLTUuMyAuNS0xMC42IC41LTE2YzAtNTEtMTUuOS05Ni00MC4yLTEyNy42QzMxOS41IDE2LjkgMjg4LjIgMCAyNTYgMHMtNjMuNSAxNi45LTg3LjggNDguNEMxNDMuOSA4MCAxMjggMTI1IDEyOCAxNzZjMCA1LjQgLjIgMTAuNyAuNSAxNkwyNDAgMTkybDAgMTI4LTMyIDBjLTcgMC0xMy43IDEuNS0xOS43IDQuMkw2OC4yIDE5MmwyOC4zIDBjLS4zLTUuMy0uNS0xMC42LS41LTE2YzAtNjQgMjIuMi0xMjEuMiA1Ny4xLTE1OS4zQzYyIDQ5LjMgMTguNiAxMjIuNiA0LjIgMTczLjZDMS41IDE4My4xIDkgMTkyIDE4LjkgMTkybDYgMEwxNjUuMiAzNDYuM2MtMy4zIDYuNS01LjIgMTMuOS01LjIgMjEuN2wwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTcuOC0xLjktMTUuMi01LjItMjEuN0w0ODcuMSAxOTJsNiAwYzkuOSAwIDE3LjQtOC45IDE0LjctMTguNEM0OTMuNCAxMjIuNiA0NTAgNDkuMyAzNTguOSAxNi43QzM5My44IDU0LjggNDE2IDExMi4xIDQxNiAxNzZjMCA1LjQtLjIgMTAuNy0uNSAxNmwyOC4zIDBMMzIzLjcgMzI0LjJjLTYtMi43LTEyLjctNC4yLTE5LjctNC4ybC0zMiAwIDAtMTI4IDExMS41IDB6XCJdXG59O1xuY29uc3QgZmFJbmRlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5kZW50JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDNjXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMTkyIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA5NmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TTAgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTEyNy44IDI2OC42TDI1LjggMzQ3LjlDMTUuMyAzNTYuMSAwIDM0OC42IDAgMzM1LjNMMCAxNzYuN2MwLTEzLjMgMTUuMy0yMC44IDI1LjgtMTIuNmwxMDEuOSA3OS4zYzguMiA2LjQgOC4yIDE4LjkgMCAyNS4zelwiXVxufTtcbmNvbnN0IGZhVHJ1Y2tGaWVsZFVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWZpZWxkLXVuJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNThlXCIsIFwiTTk2IDMyQzYwLjcgMzIgMzIgNjAuNyAzMiA5NmwwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDEyOCAwYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00LjIgMGMtLjQtMS4xLS45LTIuMS0xLjMtMy4yTDQ4NS43IDEwMmMtMTAuMy0yMy4xLTMzLjItMzgtNTguNS0zOGwtNTEuOCAwQzM2NC40IDQ0LjkgMzQzLjcgMzIgMzIwIDMyTDk2IDMyem0yODggOTZsNDMuMiAwIDQyLjcgOTZMMzg0IDIyNGwwLTk2ek0xMTIgMzg0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM2OC00OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTI1My4zIDEzNS4xbDM0LjcgNTIgMC00My4yYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyIDAgNDMuMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTI4IDE0NGwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbmNvbnN0IGZhSG91cmdsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXJnbGFzcycsXG4gIGljb246IFszODQsIDUxMiwgWzkyMDMsIDYyMDMyLCBcImhvdXJnbGFzcy1lbXB0eVwiXSwgXCJmMjU0XCIsIFwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDY0IDAgMzIwIDBsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDExYzAgNDIuNC0xNi45IDgzLjEtNDYuOSAxMTMuMUwyMzcuMyAyNTZsNjcuOSA2Ny45YzMwIDMwIDQ2LjkgNzAuNyA0Ni45IDExMy4xbDAgMTFjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBMNjQgNTEybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtMTFjMC00Mi40IDE2LjktODMuMSA0Ni45LTExMy4xTDE0Ni43IDI1NiA3OC45IDE4OC4xQzQ4LjkgMTU4LjEgMzIgMTE3LjQgMzIgNzVsMC0xMUMxNC4zIDY0IDAgNDkuNyAwIDMyek05NiA2NGwwIDExYzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45TDE5MiAyMTAuN2w2Ny45LTY3LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOWwwLTExTDk2IDY0em0wIDM4NGwxOTIgMCAwLTExYzAtMjUuNS0xMC4xLTQ5LjktMjguMS02Ny45TDE5MiAzMDEuM2wtNjcuOSA2Ny45Yy0xOCAxOC0yOC4xIDQyLjQtMjguMSA2Ny45bDAgMTF6XCJdXG59O1xuY29uc3QgZmFIb3VyZ2xhc3NFbXB0eSA9IGZhSG91cmdsYXNzO1xuY29uc3QgZmFNb3VudGFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3VudGFpbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk1Nl0sIFwiZjZmY1wiLCBcIk0yNTYgMzJjMTIuNSAwIDI0LjEgNi40IDMwLjggMTdMNTAzLjQgMzk0LjRjNS42IDguOSA4LjYgMTkuMiA4LjYgMjkuN2MwIDMwLjktMjUgNTUuOS01NS45IDU1LjlMNTUuOSA0ODBDMjUgNDgwIDAgNDU1IDAgNDI0LjFjMC0xMC41IDMtMjAuOCA4LjYtMjkuN0wyMjUuMiA0OWM2LjYtMTAuNiAxOC4zLTE3IDMwLjgtMTd6bTY1IDE5MkwyNTYgMTIwLjQgMTc2LjkgMjQ2LjVsMTguMyAyNC40YzYuNCA4LjUgMTkuMiA4LjUgMjUuNiAwbDI1LjYtMzQuMWM2LTguMSAxNS41LTEyLjggMjUuNi0xMi44bDQ5IDB6XCJdXG59O1xuY29uc3QgZmFVc2VyRG9jdG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItZG9jdG9yJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ1c2VyLW1kXCJdLCBcImYwZjBcIiwgXCJNMjI0IDI1NkExMjggMTI4IDAgMSAwIDIyNCAwYTEyOCAxMjggMCAxIDAgMCAyNTZ6bS05NiA1NS4yQzU0IDMzMi45IDAgNDAxLjMgMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEybDM4OC42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjdjMC04MS01NC0xNDkuNC0xMjgtMTcxLjFsMCA1MC44YzI3LjYgNy4xIDQ4IDMyLjIgNDggNjJsMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MGMwLTI5LjggMjAuNC01NC45IDQ4LTYybDAtNTcuMWMtNi0uNi0xMi4xLS45LTE4LjMtLjlsLTkxLjQgMGMtNi4yIDAtMTIuMyAuMy0xOC4zIC45bDAgNjUuNGMyMy4xIDYuOSA0MCAyOC4zIDQwIDUzLjdjMCAzMC45LTI1LjEgNTYtNTYgNTZzLTU2LTI1LjEtNTYtNTZjMC0yNS40IDE2LjktNDYuOCA0MC01My43bDAtNTkuMXpNMTQ0IDQ0OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFVc2VyTWQgPSBmYVVzZXJEb2N0b3I7XG5jb25zdCBmYUNpcmNsZUluZm8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLWluZm8nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImluZm8tY2lyY2xlXCJdLCBcImYwNWFcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIxNiAzMzZsMjQgMCAwLTY0LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDg4IDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptNDAtMjA4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUluZm9DaXJjbGUgPSBmYUNpcmNsZUluZm87XG5jb25zdCBmYUNsb3VkTWVhdGJhbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtbWVhdGJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3M2JcIiwgXCJNMCAyMjRjMCA1MyA0MyA5NiA5NiA5Nmw0NC43IDBjOS41LTIzLjUgMzIuNS00MCA1OS4zLTQwYzIgMCAzLjkgLjEgNS44IC4zQzIxNy42IDI2NS41IDIzNS43IDI1NiAyNTYgMjU2czM4LjQgOS41IDUwLjIgMjQuM2MxLjktLjIgMy45LS4zIDUuOC0uM2MyNi45IDAgNDkuOSAxNi41IDU5LjMgNDBsNDQuNyAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2Yy0uNSAwLTEuMSAwLTEuNiAwYzEuMS01LjIgMS42LTEwLjUgMS42LTE2YzAtNDQuMi0zNS44LTgwLTgwLTgwYy0yNC4zIDAtNDYuMSAxMC45LTYwLjggMjhDMjU2LjUgMjQuMyAyMTkuMSAwIDE3NiAwQzExNC4xIDAgNjQgNTAuMSA2NCAxMTJjMCA3LjEgLjcgMTQuMSAxLjkgMjAuOEMyNy42IDE0NS40IDAgMTgxLjUgMCAyMjR6bTI4OCA5NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDEgLjEgMi4xIC4xIDMuMWMtLjctLjgtMS40LTEuNi0yLjEtMi4zYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2MuNyAuNyAxLjUgMS40IDIuMyAyLjFjLTEtLjEtMi4xLS4xLTMuMS0uMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmMxIDAgMi4xLS4xIDMuMS0uMWMtLjggLjctMS42IDEuMy0yLjMgMi4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwYy43LS43IDEuNC0xLjUgMi4xLTIuM2MtLjEgMS0uMSAyLjEtLjEgMy4xYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC0xLS4xLTIuMS0uMS0zLjFjLjcgLjggMS4zIDEuNiAyLjEgMi4zYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNjLS43LS43LTEuNS0xLjQtMi4zLTIuMWMxIC4xIDIuMSAuMSAzLjEgLjFjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJjLTEgMC0yLjEgLjEtMy4xIC4xYy44LS43IDEuNi0xLjMgMi4zLTIuMWMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGMtLjcgLjctMS40IDEuNS0yLjEgMi4zYy4xLTEgLjEtMi4xIC4xLTMuMXpNNDggNDQ4YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDE2IDBhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2elwiXVxufTtcbmNvbnN0IGZhQ2FtZXJhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbWVyYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMjU4LCBcImNhbWVyYS1hbHRcIl0sIFwiZjAzMFwiLCBcIk0xNDkuMSA2NC44TDEzOC43IDk2IDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtNzQuNyAwTDM2Mi45IDY0LjhDMzU2LjQgNDUuMiAzMzguMSAzMiAzMTcuNCAzMkwxOTQuNiAzMmMtMjAuNyAwLTM5IDEzLjItNDUuNSAzMi44ek0yNTYgMTkyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyelwiXVxufTtcbmNvbnN0IGZhQ2FtZXJhQWx0ID0gZmFDYW1lcmE7XG5jb25zdCBmYVNxdWFyZVZpcnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS12aXJ1cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTU3OFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjMuOCA5My43YzEzLjMgMCAyNCAxMC43IDI0IDI0YzAgMjkuMyAzNS40IDQzLjkgNTYuMSAyMy4yYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtMjAuNyAyMC43LTYgNTYuMSAyMy4yIDU2LjFjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTI5LjMgMC00My45IDM1LjQtMjMuMiA1Ni4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTIwLjctMjAuNy01Ni4xLTYtNTYuMSAyMy4yYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMjkuMy0zNS40LTQzLjktNTYuMS0yMy4yYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45YzIwLjctMjAuNyA2LTU2LjEtMjMuMi01Ni4xYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzI5LjMgMCA0My45LTM1LjQgMjMuMi01Ni4xYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMjAuNyAyMC43IDU2LjEgNiA1Ni4xLTIzLjJjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTE5MiAyNTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em04OCAzMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwelwiXVxufTtcbmNvbnN0IGZhTWV0ZW9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21ldGVvcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3MzJdLCBcImY3NTNcIiwgXCJNNDkzLjcgLjlMMjk5LjQgNzUuNmwyLjMtMjkuM2MxLTEyLjgtMTIuOC0yMS41LTI0LTE1LjFMMTAxLjMgMTMzLjRDMzguNiAxNjkuNyAwIDIzNi42IDAgMzA5QzAgNDIxLjEgOTAuOSA1MTIgMjAzIDUxMmM3Mi40IDAgMTM5LjQtMzguNiAxNzUuNy0xMDEuM0w0ODAuOCAyMzQuM2M2LjUtMTEuMS0yLjItMjUtMTUuMS0yNGwtMjkuMyAyLjNMNTExLjEgMTguM2MuNi0xLjUgLjktMy4yIC45LTQuOEM1MTIgNiA1MDYgMCA0OTguNSAwYy0xLjcgMC0zLjMgLjMtNC44IC45ek0xOTIgMTkyYTEyOCAxMjggMCAxIDEgMCAyNTYgMTI4IDEyOCAwIDEgMSAwLTI1NnptMCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xNiA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6XCJdXG59O1xuY29uc3QgZmFDYXJPbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItb24nLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0ZGRcIiwgXCJNMjgwIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwek0xODUuOCAyMjRsMTQwLjMgMGM2LjggMCAxMi44IDQuMyAxNS4xIDEwLjZMMzYwLjMgMjg4bC0yMDguNiAwIDE5LjEtNTMuNGMyLjMtNi40IDguMy0xMC42IDE1LjEtMTAuNnptLTc1LjMtMTAuOUw4Mi4yIDI5Mi40QzYyLjEgMzAwLjkgNDggMzIwLjggNDggMzQ0bDAgNDAgMCA2NCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAyNTYgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAwLTY0IDAtNDBjMC0yMy4yLTE0LjEtNDMuMS0zNC4yLTUxLjZsLTI4LjMtNzkuM0MzOTAuMSAxODEuMyAzNjAgMTYwIDMyNi4yIDE2MGwtMTQwLjMgMGMtMzMuOCAwLTY0IDIxLjMtNzUuMyA1My4xek0xMjggMzQ0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMjMyIDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTM5IDM5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw0OCA0OGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNzMgMzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwem00MDAgMEwzOTEgODdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw0OC00OGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhU2xlaWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NsZWlnaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjdjY1wiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMCAxNjBjMCA1MyA0MyA5NiA5NiA5NmwwIDMyIDY0IDAgMC0zMiAxOTIgMCAwIDMyIDY0IDAgMC0zMmM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0MS4zYzAgMzAuMi0yNC41IDU0LjctNTQuNyA1NC43Yy03NS41IDAtMTQ1LjYtMzguOS0xODUuNi0xMDIuOWwtNC4zLTYuOUMxNzQuMiA2Ny42IDEyNSAzNy42IDcwLjcgMzIuN2MtMi4yLS41LTQuNC0uNy02LjctLjdsLTkgMEwzMiAzMnpNNjQwIDM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRMNjQgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDQ4OCAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4bDAtOHpcIl1cbn07XG5jb25zdCBmYUFycm93RG93bjE5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24tMS05JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LW51bWVyaWMtYXNjXCIsIFwic29ydC1udW1lcmljLWRvd25cIl0sIFwiZjE2MlwiLCBcIk00NTAuNyAzOGMtOC4zLTYtMTkuMS03LjctMjguOC00LjRsLTQ4IDE2Yy0xNi44IDUuNi0yNS44IDIzLjctMjAuMiA0MC41czIzLjcgMjUuOCA0MC41IDIwLjJsNS45LTIgMCA1MS42LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNDggMCA0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6TTE2MCA0ODBjOSAwIDE3LjUtMy44IDIzLjYtMTAuNGw4OC05NmMxMS45LTEzIDExLjEtMzMuMy0yLTQ1LjJzLTMzLjMtMTEuMS00NS4yIDJMMTkyIDM2NS43IDE5MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMwMS43TDk1LjYgMzMwLjRjLTExLjktMTMtMzIuMi0xMy45LTQ1LjItMnMtMTMuOSAzMi4yLTIgNDUuMmw4OCA5NkMxNDIuNSA0NzYuMiAxNTEgNDgwIDE2MCA0ODB6TTQxOC4zIDMwN2EzMiAzMiAwIDEgMSAyNy40IDU3LjlBMzIgMzIgMCAxIDEgNDE4LjMgMzA3ek00MDUuMSA0MTkuOGwtNi44IDkuMmMtMTAuNSAxNC4yLTcuNSAzNC4yIDYuNyA0NC44czM0LjIgNy41IDQ0LjgtNi43bDQ4LjgtNjUuOGMxNC0xOC45IDIxLjUtNDEuNyAyMS41LTY1LjJjMC00OC42LTM5LjQtODgtODgtODhzLTg4IDM5LjQtODggODhjMCAzOS4yIDI1LjYgNzIuNCA2MS4xIDgzLjh6XCJdXG59O1xuY29uc3QgZmFTb3J0TnVtZXJpY0FzYyA9IGZhQXJyb3dEb3duMTk7XG5jb25zdCBmYVNvcnROdW1lcmljRG93biA9IGZhQXJyb3dEb3duMTk7XG5jb25zdCBmYUhhbmRIb2xkaW5nRHJvcGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctZHJvcGxldCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaGFuZC1ob2xkaW5nLXdhdGVyXCJdLCBcImY0YzFcIiwgXCJNMjc1LjUgNi42QzI3OC4zIDIuNSAyODMgMCAyODggMHM5LjcgMi41IDEyLjUgNi42TDM2Ni44IDEwM0MzNzggMTE5LjMgMzg0IDEzOC42IDM4NCAxNTguM2wwIDEuN2MwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwwLTEuN2MwLTE5LjggNi0zOSAxNy4yLTU1LjNMMjc1LjUgNi42ek01NjguMiAzMzYuM2MxMy4xIDE3LjggOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDg1LjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41TDE5MiA1MTIgMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM2LjggMCA0NC45LTM2YzIyLjctMTguMiA1MC45LTI4IDgwLTI4bDc4LjMgMCAxNiAwIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDAtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjAuNiAwIDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41ek0xOTMuNiAzODRjMCAwIDAgMCAwIDBsLS45IDBjLjMgMCAuNiAwIC45IDB6XCJdXG59O1xuY29uc3QgZmFIYW5kSG9sZGluZ1dhdGVyID0gZmFIYW5kSG9sZGluZ0Ryb3BsZXQ7XG5jb25zdCBmYVdhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhdGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNzczXCIsIFwiTTI2OS41IDY5LjljMTEuMS03LjkgMjUuOS03LjkgMzcgMEMzMjkgODUuNCAzNTYuNSA5NiAzODQgOTZjMjYuOSAwIDU1LjQtMTAuOCA3Ny40LTI2LjFjMCAwIDAgMCAwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSAxNDkuNyA0MTcgMTYwIDM4NCAxNjBjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40QzQyLjggOTIuNiA2MSA4My41IDc1LjMgNzEuNmMxMS4xLTkuNSAyNy4zLTEwLjEgMzkuMi0xLjdjMCAwIDAgMCAwIDBDMTM2LjcgODUuMiAxNjUuMSA5NiAxOTIgOTZjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xem0zNyAyODhDMzI5IDM3My40IDM1Ni41IDM4NCAzODQgMzg0YzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xYzAgMCAwIDAgMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgNDM3LjcgNDE3IDQ0OCAzODQgNDQ4Yy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS40IDI3LjMtMTAuMSAzOS4yLTEuN2MwIDAgMCAwIDAgMEMxMzYuNyAzNzMuMiAxNjUuMSAzODQgMTkyIDM4NGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHptMC0xNDRDMzI5IDIyOS40IDM1Ni41IDI0MCAzODQgMjQwYzI2LjkgMCA1NS40LTEwLjggNzcuNC0yNi4xYzAgMCAwIDAgMCAwYzExLjktOC41IDI4LjEtNy44IDM5LjIgMS43YzE0LjQgMTEuOSAzMi41IDIxIDUwLjYgMjUuMmMxNy4yIDQgMjcuOSAyMS4yIDIzLjkgMzguNHMtMjEuMiAyNy45LTM4LjQgMjMuOWMtMjQuNS01LjctNDQuOS0xNi41LTU4LjItMjVDNDQ5LjUgMjkzLjcgNDE3IDMwNCAzODQgMzA0Yy0zMS45IDAtNjAuNi05LjktODAuNC0xOC45Yy01LjgtMi43LTExLjEtNS4zLTE1LjYtNy43Yy00LjUgMi40LTkuNyA1LjEtMTUuNiA3LjdjLTE5LjggOS00OC41IDE4LjktODAuNCAxOC45Yy0zMyAwLTY1LjUtMTAuMy05NC41LTI1LjhjLTEzLjQgOC40LTMzLjcgMTkuMy01OC4yIDI1Yy0xNy4yIDQtMzQuNC02LjctMzguNC0yMy45czYuNy0zNC40IDIzLjktMzguNGMxOC4xLTQuMiAzNi4yLTEzLjMgNTAuNi0yNS4yYzExLjEtOS41IDI3LjMtMTAuMSAzOS4yLTEuN2MwIDAgMCAwIDAgMEMxMzYuNyAyMjkuMiAxNjUuMSAyNDAgMTkyIDI0MGMyNy41IDAgNTUtMTAuNiA3Ny41LTI2LjFjMTEuMS03LjkgMjUuOS03LjkgMzcgMHpcIl1cbn07XG5jb25zdCBmYUNhbGVuZGFyQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItY2hlY2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYyNzRcIiwgXCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiA0OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDhMMCAxNjBsMC00OEMwIDg1LjUgMjEuNSA2NCA0OCA2NGw0OCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgMTkybDQ0OCAwIDAgMjcyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAxOTJ6TTMyOSAzMDVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtOTUgOTUtNDctNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNjQgNjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBMMzI5IDMwNXpcIl1cbn07XG5jb25zdCBmYUJyYWlsbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJhaWxsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjJhMVwiLCBcIk0wIDk2YTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDAgOTZ6TTIyNCAyNzJhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0wLTgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek04MCA0MTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpNMCA0MTZhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgMCA0MTZ6bTI0MCAwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjQgMTkyYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0yMjQgMzJhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTM1MiA5NmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSAzNTIgOTZ6bTI0MCAwYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwQTY0IDY0IDAgMSAxIDUxMiA5NnptNjQgMTc2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptMC04MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptMTYgMjI0YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bS04MCAwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNDE2IDI3MmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTAtODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTE2IDIyNGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0tODAgMGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6XCJdXG59O1xuY29uc3QgZmFQcmVzY3JpcHRpb25Cb3R0bGVNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbCcsXG4gIGljb246IFszODQsIDUxMiwgW1wicHJlc2NyaXB0aW9uLWJvdHRsZS1hbHRcIl0sIFwiZjQ4NlwiLCBcIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRMMCAzMnptMzIgOTZsMzIwIDAgMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyMHpNMTYwIDI0MGwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYVByZXNjcmlwdGlvbkJvdHRsZUFsdCA9IGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbDtcbmNvbnN0IGZhTGFuZG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFuZG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5NjNdLCBcImY2NmZcIiwgXCJNMjQwLjEgNC4yYzkuOC01LjYgMjEuOS01LjYgMzEuOCAwbDE3MS44IDk4LjFMNDQ4IDEwNGwwIC45IDQ3LjkgMjcuNGMxMi42IDcuMiAxOC44IDIyIDE1LjEgMzZzLTE2LjQgMjMuOC0zMC45IDIzLjhMMzIgMTkyYy0xNC41IDAtMjcuMi05LjgtMzAuOS0yMy44czIuNS0yOC44IDE1LjEtMzZMNjQgMTA0LjlsMC0uOSA0LjQtMS42TDI0MC4xIDQuMnpNNjQgMjI0bDY0IDAgMCAxOTIgNDAgMCAwLTE5MiA2NCAwIDAgMTkyIDQ4IDAgMC0xOTIgNjQgMCAwIDE5MiA0MCAwIDAtMTkyIDY0IDAgMCAxOTYuM2MuNiAuMyAxLjIgLjcgMS44IDEuMWw0OCAzMmMxMS43IDcuOCAxNyAyMi40IDEyLjkgMzUuOVM0OTQuMSA1MTIgNDgwIDUxMkwzMiA1MTJjLTE0LjEgMC0yNi41LTkuMi0zMC42LTIyLjdzMS4xLTI4LjEgMTIuOS0zNS45bDQ4LTMyYy42LS40IDEuMi0uNyAxLjgtMS4xTDY0IDIyNHpcIl1cbn07XG5jb25zdCBmYVRydWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NjY2LCA5OTUxXSwgXCJmMGQxXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgMzY4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2IDBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwxMjggMGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02NCAwLTMyIDAtMTguN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTE0LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMNDE2IDk2bDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNDE2IDE2MGw1MC43IDBMNTQ0IDIzNy4zbDAgMTguNy0xMjggMCAwLTk2ek0xMTIgNDE2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM2OC00OGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFDcm9zc2hhaXJzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nyb3NzaGFpcnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwNWJcIiwgXCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMC40YzkzLjcgMTMuOSAxNjcuNyA4OCAxODEuNiAxODEuNmwxMC40IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwLjQgMGMtMTMuOSA5My43LTg4IDE2Ny43LTE4MS42IDE4MS42bDAgMTAuNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEwLjRDMTMwLjMgNDU1LjcgNTYuMyAzODEuNyA0Mi40IDI4OEwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTAuNCAwQzU2LjMgMTMwLjMgMTMwLjMgNTYuMyAyMjQgNDIuNEwyMjQgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTEwNy40IDI4OGMxMi41IDU4LjMgNTguNCAxMDQuMSAxMTYuNiAxMTYuNmwwLTIwLjZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDIwLjZjNTguMy0xMi41IDEwNC4xLTU4LjQgMTE2LjYtMTE2LjZMMzg0IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMC42IDBDMzkyLjEgMTY1LjcgMzQ2LjMgMTE5LjkgMjg4IDEwNy40bDAgMjAuNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIwLjZDMTY1LjcgMTE5LjkgMTE5LjkgMTY1LjcgMTA3LjQgMjI0bDIwLjYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjAuNiAwek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkNhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWNhbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImU1M2NcIiwgXCJNMjcyIDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bS04IDE4Ny4zbDQ3LjQgNTcuMWMxMS4zIDEzLjYgMzEuNSAxNS41IDQ1LjEgNC4yczE1LjUtMzEuNSA0LjItNDUuMWwtNzMuNy04OC45Yy0xOC4yLTIyLTQ1LjMtMzQuNy03My45LTM0LjdsLTM1LjkgMGMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMMTIwIDI1Ni45IDEyMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAxNiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNDQuN3pNMzUyIDM3NmMwLTQuNCAzLjYtOCA4LThzOCAzLjYgOCA4bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZsMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04elwiXVxufTtcbmNvbnN0IGZhVGVudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTdkXCIsIFwiTTI2OS40IDZDMjgwLjUtMiAyOTUuNS0yIDMwNi42IDZsMjI0IDE2MGM3LjQgNS4zIDEyLjIgMTMuNSAxMy4yIDIyLjVsMzIgMjg4YzEgOS0xLjkgMTguMS04IDI0LjlzLTE0LjcgMTAuNy0yMy44IDEwLjdsLTgwIDAtMjguMiAwYy0xMi4xIDAtMjMuMi02LjgtMjguNi0xNy43TDMwNi43IDI5My41Yy0xLjctMy40LTUuMS01LjUtOC44LTUuNWMtNS41IDAtOS45IDQuNC05LjkgOS45TDI4OCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2IDBMMzIgNTEyYy05LjEgMC0xNy44LTMuOS0yMy44LTEwLjdzLTktMTUuOC04LTI0LjlsMzItMjg4YzEtOSA1LjgtMTcuMiAxMy4yLTIyLjVMMjY5LjQgNnpcIl1cbn07XG5jb25zdCBmYVZlc3RQYXRjaGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Zlc3QtcGF0Y2hlcycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA4NlwiLCBcIk0xNTEuMiA2OS43bDU1LjkgMTY3LjctMTEgMzMuMWMtMi43IDguMi00LjEgMTYuNy00LjEgMjUuM0wxOTIgNDY0YzAgMTQuNSAzLjkgMjguMiAxMC43IDM5LjlDMTk1IDUwOSAxODUuOSA1MTIgMTc2IDUxMkw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMjcwLjVjMC05LjUgMi44LTE4LjcgOC4xLTI2LjZsNDcuOS03MS44YzUuMy03LjkgOC4xLTE3LjEgOC4xLTI2LjZMNjQgMTI4bDAtNzMuN0w2NCA0OEM2NCAyMS41IDg1LjUgMCAxMTIgMGw0LjUgMGMuMiAwIC40IDAgLjYgMGMuNCAwIC44IDAgMS4yIDBjMTguOCAwIDM0LjEgOS43IDQ0LjEgMTguOEMxNzEuNiAyNy4yIDE5MC44IDQwIDIyNCA0MHM1Mi40LTEyLjggNjEuNy0yMS4yQzI5NS43IDkuNyAzMTEgMCAzMjkuNyAwYy40IDAgLjggMCAxLjIgMGMuMiAwIC40IDAgLjYgMEwzMzYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDYuMyAwIDczLjcgMCAxNy41YzAgOS41IDIuOCAxOC43IDguMSAyNi42bDQ3LjkgNzEuOGM1LjMgNy45IDguMSAxNy4xIDguMSAyNi42TDQ0OCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2OC4yYzAtNS4yIC44LTEwLjMgMi41LTE1LjJMMjk2LjggNjkuN0MyNzkuNCA3OS43IDI1NS40IDg4IDIyNCA4OHMtNTUuNC04LjMtNzIuOC0xOC4zek05NiA0NTZhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek02My41IDI1NS41Yy00LjcgNC43LTQuNyAxMi4zIDAgMTdMNzkgMjg4IDYzLjUgMzAzLjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN3MxMi4zIDQuNyAxNyAwTDk2IDMwNWwxNS41IDE1LjVjNC43IDQuNyAxMi4zIDQuNyAxNyAwczQuNy0xMi4zIDAtMTdMMTEzIDI4OGwxNS41LTE1LjVjNC43LTQuNyA0LjctMTIuMyAwLTE3cy0xMi4zLTQuNy0xNyAwTDk2IDI3MSA4MC41IDI1NS41Yy00LjctNC43LTEyLjMtNC43LTE3IDB6TTMwNCAyODBsMCA4IDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDAgOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04IDAgMC04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0elwiXVxufTtcbmNvbnN0IGZhQ2hlY2tEb3VibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlY2stZG91YmxlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNTYwXCIsIFwiTTM0Mi42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTYwIDE3OC43bC01Ny40LTU3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDgwIDgwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjB6bTk2IDEyOGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxNjAgNDAyLjcgNTQuNiAyOTcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwyNTYtMjU2elwiXVxufTtcbmNvbnN0IGZhQXJyb3dEb3duQVogPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1hLXonLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYWxwaGEtYXNjXCIsIFwic29ydC1hbHBoYS1kb3duXCJdLCBcImYxNWRcIiwgXCJNMTgzLjYgNDY5LjZDMTc3LjUgNDc2LjIgMTY5IDQ4MCAxNjAgNDgwcy0xNy41LTMuOC0yMy42LTEwLjRsLTg4LTk2Yy0xMS45LTEzLTExLjEtMzMuMyAyLTQ1LjJzMzMuMy0xMS4xIDQ1LjIgMkwxMjggMzY1LjcgMTI4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDEuNyAzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlMNDI5LjMgNDE2bDUwLjcgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45TDQwMi43IDM1MiAzNTIgMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDE2IDMyYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdsNjQgMTI4IDE2IDMyYzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNMNDYwLjIgMjI0bC04OC40IDAtNy4yIDE0LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsMTYtMzIgNjQtMTI4QzM5Mi44IDM4LjggNDAzLjkgMzIgNDE2IDMyek0zOTUuOCAxNzZsNDAuNCAwTDQxNiAxMzUuNiAzOTUuOCAxNzZ6XCJdXG59O1xuY29uc3QgZmFTb3J0QWxwaGFBc2MgPSBmYUFycm93RG93bkFaO1xuY29uc3QgZmFTb3J0QWxwaGFEb3duID0gZmFBcnJvd0Rvd25BWjtcbmNvbnN0IGZhTW9uZXlCaWxsV2hlYXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbW9uZXktYmlsbC13aGVhdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTUyYVwiLCBcIk0xNzYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDguOC03LjIgMTYtMTYgMTZjLTQ0LjIgMC04MC0zNS44LTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgMTZsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw1NiA2NEM0Mi43IDY0IDMyIDUzLjMgMzIgNDBzMTAuNy0yNCAyNC0yNHpNMjQgODhsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgMTM2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFMxMC43IDg4IDI0IDg4em04IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yNzIgMTZjMC04LjggNy4yLTE2IDE2LTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgOC44LTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwLTM1LjgtODAtODB6TTQwMCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgOC44LTcuMiAxNi0xNiAxNmMtNDQuMiAwLTgwLTM1LjgtODAtODBjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNDRjMCA0NC4yLTM1LjggODAtODAgODBjLTguOCAwLTE2LTcuMi0xNi0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGM4LjggMCAxNiA3LjIgMTYgMTZ6TTM1MiAxMjhjOC44IDAgMTYgNy4yIDE2IDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwYy04LjggMC0xNi03LjItMTYtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MGMtOC44IDAtMTYtNy4yLTE2LTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwYzguOCAwIDE2IDcuMiAxNiAxNnpNMCAzMDRjMC0yNi41IDIxLjUtNDggNDgtNDhsNDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjBjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDMwNHpNNDggNDE2bDAgNDggNDggMGMwLTI2LjUtMjEuNS00OC00OC00OHpNOTYgMzA0bC00OCAwIDAgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6TTQ2NCA0MTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDQ4IDAgMC00OHpNNDE2IDMwNGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwwLTQ4LTQ4IDB6bS05NiA4MGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6XCJdXG59O1xuY29uc3QgZmFDb29raWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29va2llJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3ODUwXSwgXCJmNTYzXCIsIFwiTTI0Ny4yIDE3Yy0yMi4xLTMuMS00NC42IC45LTY0LjQgMTEuNGwtNzQgMzkuNUM4OS4xIDc4LjQgNzMuMiA5NC45IDYzLjQgMTE1TDI2LjcgMTkwLjZjLTkuOCAyMC4xLTEzIDQyLjktOS4xIDY0LjlsMTQuNSA4Mi44YzMuOSAyMi4xIDE0LjYgNDIuMyAzMC43IDU3LjlsNjAuMyA1OC40YzE2LjEgMTUuNiAzNi42IDI1LjYgNTguNyAyOC43bDgzIDExLjdjMjIuMSAzLjEgNDQuNi0uOSA2NC40LTExLjRsNzQtMzkuNWMxOS43LTEwLjUgMzUuNi0yNyA0NS40LTQ3LjJsMzYuNy03NS41YzkuOC0yMC4xIDEzLTQyLjkgOS4xLTY0LjlsLTE0LjYtODIuOGMtMy45LTIyLjEtMTQuNi00Mi4zLTMwLjctNTcuOUwzODguOSA1Ny41Yy0xNi4xLTE1LjYtMzYuNi0yNS42LTU4LjctMjguN0wyNDcuMiAxN3pNMjA4IDE0NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE0NCAzMzZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjI0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUFycm93Um90YXRlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yb3RhdGUtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzg2MzQsIFwiYXJyb3ctbGVmdC1yb3RhdGVcIiwgXCJhcnJvdy1yb3RhdGUtYmFja1wiLCBcImFycm93LXJvdGF0ZS1iYWNrd2FyZFwiLCBcInVuZG9cIl0sIFwiZjBlMlwiLCBcIk0xMjUuNyAxNjBsNTAuMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDQ4IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDUxLjJMOTcuNiA5Ny42Yzg3LjUtODcuNSAyMjkuMy04Ny41IDMxNi44IDBzODcuNSAyMjkuMyAwIDMxNi44cy0yMjkuMyA4Ny41LTMxNi44IDBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBjNjIuNSA2Mi41IDE2My44IDYyLjUgMjI2LjMgMHM2Mi41LTE2My44IDAtMjI2LjNzLTE2My44LTYyLjUtMjI2LjMgMEwxMjUuNyAxNjB6XCJdXG59O1xuY29uc3QgZmFBcnJvd0xlZnRSb3RhdGUgPSBmYUFycm93Um90YXRlTGVmdDtcbmNvbnN0IGZhQXJyb3dSb3RhdGVCYWNrID0gZmFBcnJvd1JvdGF0ZUxlZnQ7XG5jb25zdCBmYUFycm93Um90YXRlQmFja3dhcmQgPSBmYUFycm93Um90YXRlTGVmdDtcbmNvbnN0IGZhVW5kbyA9IGZhQXJyb3dSb3RhdGVMZWZ0O1xuY29uc3QgZmFIYXJkRHJpdmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFyZC1kcml2ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODQzNiwgXCJoZGRcIl0sIFwiZjBhMFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTg0LjRjLTE3LTE1LjItMzkuNC0yNC40LTY0LTI0LjRMNjQgMjU2Yy0yNC42IDAtNDcgOS4yLTY0IDI0LjRMMCA5NnpNNjQgMjg4bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0ek0zMjAgNDE2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTI4LTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFIZGQgPSBmYUhhcmREcml2ZTtcbmNvbnN0IGZhRmFjZUdyaW5TcXVpbnRUZWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tc3F1aW50LXRlYXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzE1LCBcImdyaW4tc3F1aW50LXRlYXJzXCJdLCBcImY1ODZcIiwgXCJNNDI2LjggMTQuMkM0NDYtNSA0NzcuNS00LjYgNDk3LjEgMTQuOXMyMCA1MSAuNyA3MC4zYy02LjggNi44LTIxLjQgMTIuNC0zNy40IDE2LjdjLTE2LjMgNC40LTM0LjEgNy41LTQ2LjMgOS4zYy0xLjYgLjItMy4xIC41LTQuNiAuNmMtNC45IC44LTkuMS0yLjgtOS41LTcuNGMtLjEtLjcgMC0xLjQgLjEtMi4xYzEuNi0xMS4yIDQuNi0yOS42IDktNDdjLjMtMS4zIC43LTIuNiAxLTMuOWM0LjMtMTUuOSA5LjgtMzAuNSAxNi43LTM3LjR6bS00NC43IDE5Yy0xLjUgNC44LTIuOSA5LjYtNC4xIDE0LjNjLTQuOCAxOC45LTggMzguNS05LjcgNTAuM2MtNCAyNi44IDE4LjkgNDkuNyA0NS43IDQ1LjhjMTEuOS0xLjYgMzEuNS00LjggNTAuNC05LjdjNC43LTEuMiA5LjUtMi41IDE0LjMtNC4xQzUzNC4yIDIyNy41IDUyMC4yIDM1My44IDQzNyA0MzdjLTgzLjIgODMuMi0yMDkuNSA5Ny4yLTMwNy4yIDQxLjhjMS41LTQuOCAyLjgtOS42IDQtMTQuM2M0LjgtMTguOSA4LTM4LjUgOS43LTUwLjNjNC0yNi44LTE4LjktNDkuNy00NS43LTQ1LjhjLTExLjkgMS42LTMxLjUgNC44LTUwLjQgOS43Yy00LjcgMS4yLTkuNSAyLjUtMTQuMyA0LjFDLTIyLjIgMjg0LjUtOC4yIDE1OC4yIDc1IDc1QzE1OC4yLTguMyAyODQuNS0yMi4yIDM4Mi4yIDMzLjJ6TTUxLjUgNDEwLjFjMTguNS01IDM4LjgtOC4zIDUwLjktMTBjLjQtLjEgLjctLjEgMS0uMWM1LjEtLjIgOS4yIDQuMyA4LjQgOS42Yy0xLjcgMTIuMS01IDMyLjQtMTAgNTAuOUM5Ny42IDQ3Ni40IDkyIDQ5MSA4NS4yIDQ5Ny44QzY2IDUxNyAzNC41IDUxNi42IDE0LjkgNDk3LjFzLTIwLTUxLS43LTcwLjNjNi44LTYuOCAyMS40LTEyLjQgMzcuNC0xNi43ek00MTYuOSAyMDljLTQuNy0xMS45LTIwLjgtMTEtMjYuOCAuM2MtMTkgMzUuNS00NSA3MC44LTc3LjUgMTAzLjNTMjQ0LjggMzcxLjEgMjA5LjMgMzkwYy0xMS4zIDYtMTIuMiAyMi4xLS4zIDI2LjhjNTcuNiAyMi45IDEyNS44IDExIDE3Mi4zLTM1LjVzNTguNC0xMTQuOCAzNS41LTE3Mi4zek04Ny4xIDI4NS4xYzIgMiA0LjYgMy4yIDcuMyAzLjRsNTYuMSA1LjEgNS4xIDU2LjFjLjMgMi44IDEuNSA1LjQgMy40IDcuM2M2LjMgNi4zIDE3LjIgMy42IDE5LjgtNC45bDI5LjctOTcuNGMzLjUtMTEuNi03LjMtMjIuNS0xOS0xOUw5MiAyNjUuM2MtOC42IDIuNi0xMS4zIDEzLjQtNC45IDE5Ljh6TTI2NS4zIDkybC0yOS43IDk3LjRjLTMuNSAxMS42IDcuMyAyMi41IDE5IDE5bDk3LjQtMjkuN2M4LjYtMi42IDExLjMtMTMuNCA0LjktMTkuOGMtMi0yLTQuNi0zLjItNy4zLTMuNGwtNTYuMS01LjEtNS4xLTU2LjFjLS4zLTIuOC0xLjUtNS40LTMuNC03LjNjLTYuMy02LjMtMTcuMi0zLjYtMTkuOCA0Ljl6XCJdXG59O1xuY29uc3QgZmFHcmluU3F1aW50VGVhcnMgPSBmYUZhY2VHcmluU3F1aW50VGVhcnM7XG5jb25zdCBmYUR1bWJiZWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2R1bWJiZWxsJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDRiXCIsIFwiTTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjAgMCA2NCAwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMCAwLTY0em00NDggMGwwIDY0IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwIDAtNjQgMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNNDE2IDIyNGwwIDY0LTE5MiAwIDAtNjQgMTkyIDB6XCJdXG59O1xuY29uc3QgZmFSZWN0YW5nbGVMaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JlY3RhbmdsZS1saXN0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJsaXN0LWFsdFwiXSwgXCJmMDIyXCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xMjggMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzItMTI4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em05Ni0yNDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTIyNCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDIyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yMjQgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyMjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjI0IDB6XCJdXG59O1xuY29uc3QgZmFMaXN0QWx0ID0gZmFSZWN0YW5nbGVMaXN0O1xuY29uc3QgZmFUYXJwRHJvcGxldCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YXJwLWRyb3BsZXQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1N2NcIiwgXCJNMjg4IDE2MGMtMzUuMyAwLTY0LTI2LjktNjQtNjBjMC0yNCAzMy43LTcwLjEgNTIuMi05My41YzYuMS03LjcgMTcuNS03LjcgMjMuNiAwQzMxOC4zIDI5LjkgMzUyIDc2IDM1MiAxMDBjMCAzMy4xLTI4LjcgNjAtNjQgNjB6TTY0IDEyOGwxMzMuNSAwYzEzLjIgMzcuMyA0OC43IDY0IDkwLjUgNjRzNzcuNC0yNi43IDkwLjUtNjRMNTEyIDEyOGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2MC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NHpNNDQ4IDUxMmwwLTEyOCAxMjggMEw0NDggNTEyek05NiAyNTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhSG91c2VNZWRpY2FsQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MTFcIiwgXCJNMzIwIDM2OGMwIDU5LjUgMjkuNSAxMTIuMSA3NC44IDE0NGwtMjY2LjcgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjAuNC0zMiAwYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w1MjIuMSAxOTMuOWMtOC41LTEuMy0xNy4zLTEuOS0yNi4xLTEuOWMtNTQuNyAwLTEwMy41IDI0LjktMTM1LjggNjRMMzIwIDI1NmwwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6bTMyIDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNDgwIDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFQZXJzb25Ta2lpbmdOb3JkaWMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXNraWluZy1ub3JkaWMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNraWluZy1ub3JkaWNcIl0sIFwiZjdjYVwiLCBcIk0zMzYgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0yMjcuMiAxNjBjMS45IDAgMy44IC4xIDUuNiAuM0wyMDEuNiAyNTRjLTkuMyAyOCAxLjcgNTguOCAyNi44IDc0LjVsODYuMiA1My45TDI5MS4zIDQ2NGwtODguNSAwIDQxLjEtODguMS0zMi40LTIwLjNjLTcuOC00LjktMTQuNy0xMC43LTIwLjYtMTcuM0wxMzIuMiA0NjRsLTMyLjQgMCA1NC4yLTI1Ny42YzQuNi0xLjUgOS00LjEgMTIuNy03LjhsMjMuMS0yMy4xYzkuOS05LjkgMjMuNC0xNS41IDM3LjUtMTUuNXpNMTIxLjQgMTk4LjZjLjQgLjQgLjggLjggMS4zIDEuMkw2NyA0NjRsLTQzIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTM1LjMgMGMuNSAwIC45IDAgMS40IDBsMTU4LjYgMGMuNSAwIDEgMCAxLjQgMEw1MDQgNTEyYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTY5LjQgMCAyNy42LTE3OS4zYzEwLjUtNS4yIDE3LjgtMTYuMSAxNy44LTI4LjdjMC0xNy43LTE0LjMtMzItMzItMzJsLTIxLjMgMGMtMTIuOSAwLTI0LjYtNy44LTI5LjUtMTkuN2wtNi4zLTE1Yy0xNC42LTM1LjEtNDQuMS02MS45LTgwLjUtNzMuMWwtNDguNy0xNWMtMTEuMS0zLjQtMjIuNy01LjItMzQuNC01LjJjLTMxIDAtNjAuOCAxMi4zLTgyLjcgMzQuM2wtMjMuMSAyMy4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3ptMzA4IDg5LjRMNDAyLjMgNDY0bC00NC40IDAgMjEuNi03NS42YzUuOS0yMC42LTIuNi00Mi42LTIwLjctNTMuOUwzMDIgMjk5bDMwLjktODIuNCA1LjEgMTIuM0MzNTMgMjY0LjcgMzg3LjkgMjg4IDQyNi43IDI4OGwyLjcgMHpcIl1cbn07XG5jb25zdCBmYVNraWluZ05vcmRpYyA9IGZhUGVyc29uU2tpaW5nTm9yZGljO1xuY29uc3QgZmFDYWxlbmRhclBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItcGx1cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjI3MVwiLCBcIk05NiAzMmwwIDMyTDQ4IDY0QzIxLjUgNjQgMCA4NS41IDAgMTEybDAgNDggNDQ4IDAgMC00OGMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzJMMTYwIDY0bDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJTOTYgMTQuMyA5NiAzMnpNNDQ4IDE5MkwwIDE5MiAwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI3MnpNMjI0IDI0OGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDU2IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDAgMCA1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTU2LTU2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNTYgMCAwLTU2YzAtMTMuMyAxMC43LTI0IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhUGxhbmVBcnJpdmFsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYW5lLWFycml2YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg3NDhdLCBcImY1YWZcIiwgXCJNLjMgMTY2LjlMMCA2OEMwIDU3LjcgOS41IDUwLjEgMTkuNSA1Mi4zbDM1LjYgNy45YzEwLjYgMi4zIDE5LjIgOS45IDIzIDIwTDk2IDEyOGwxMjcuMyAzNy42TDE4MS44IDIwLjRDMTc4LjkgMTAuMiAxODYuNiAwIDE5Ny4yIDBsNDAuMSAwYzExLjYgMCAyMi4yIDYuMiAyNy45IDE2LjNsMTA5IDE5My44IDEwNy4yIDMxLjdjMTUuOSA0LjcgMzAuOCAxMi41IDQzLjcgMjIuOGwzNC40IDI3LjZjMjQgMTkuMiAxOC4xIDU3LjMtMTAuNyA2OC4yYy00MS4yIDE1LjYtODYuMiAxOC4xLTEyOC44IDdMMTIxLjcgMjg5LjhjLTExLjEtMi45LTIxLjItOC43LTI5LjMtMTYuOUw5LjUgMTg5LjRjLTUuOS02LTkuMy0xNC4xLTkuMy0yMi41ek0zMiA0NDhsNTc2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem05Ni04MGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjgtMTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxODQwLCBcImFycm93LWFsdC1jaXJjbGUtbGVmdFwiXSwgXCJmMzU5XCIsIFwiTTUxMiAyNTZBMjU2IDI1NiAwIDEgMCAwIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwek0xMTYuNyAyNDQuN2wxMTItMTEyYzQuNi00LjYgMTEuNS01LjkgMTcuNC0zLjVzOS45IDguMyA5LjkgMTQuOGwwIDY0IDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDY0YzAgNi41LTMuOSAxMi4zLTkuOSAxNC44cy0xMi45IDEuMS0xNy40LTMuNWwtMTEyLTExMmMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFBcnJvd0FsdENpcmNsZUxlZnQgPSBmYUNpcmNsZUxlZnQ7XG5jb25zdCBmYVRyYWluU3Vid2F5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWluLXN1YndheScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic3Vid2F5XCJdLCBcImYyMzlcIiwgXCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDM1MmMwIDQ4IDM1LjIgODcuNyA4MS4xIDk0LjlsLTQ2IDQ2QzI4LjEgNDk5LjkgMzMuMSA1MTIgNDMgNTEybDM5LjcgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNEwxNjAgNDQ4bDEyOCAwIDU0LjYgNTQuNmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRsMzkuNyAwYzEwIDAgMTUtMTIuMSA3LjktMTkuMWwtNDYtNDZjNDYtNy4xIDgxLjEtNDYuOSA4MS4xLTk0LjlsMC0yNTZjMC01My00My05Ni05Ni05Nkw5NiAwek02NCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC04MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2ek0yNzIgOTZsODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC04MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek02NCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjg4LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYVN1YndheSA9IGZhVHJhaW5TdWJ3YXk7XG5jb25zdCBmYUNoYXJ0R2FudHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtZ2FudHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUwZTRcIiwgXCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptOTYgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTk2IDY0bDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMTYwIDk2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFJbmRpYW5SdXBlZVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5kaWFuLXJ1cGVlLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImluZGlhbi1ydXBlZVwiLCBcImluclwiXSwgXCJlMWJjXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNjQgMCAxNiAwIDE3NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC01Ni4yIDBjOS42IDE0LjQgMTYuNyAzMC42IDIwLjcgNDhsMzUuNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNS42IDBjLTEzLjIgNTguMy02MS45IDEwMy4yLTEyMi4yIDExMC45TDI3NC42IDQyMmMxNC40IDEwLjMgMTcuNyAzMC4zIDcuNCA0NC42cy0zMC4zIDE3LjctNDQuNiA3LjRMMTMuNCAzMTRDMi4xIDMwNi0yLjcgMjkxLjUgMS41IDI3OC4yUzE4LjEgMjU2IDMyIDI1Nmw4MCAwYzMyLjggMCA2MS0xOS43IDczLjMtNDhMMzIgMjA4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE1My4zIDBDMTczIDExNS43IDE0NC44IDk2IDExMiA5Nkw5NiA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0elwiXVxufTtcbmNvbnN0IGZhSW5kaWFuUnVwZWUgPSBmYUluZGlhblJ1cGVlU2lnbjtcbmNvbnN0IGZhSW5yID0gZmFJbmRpYW5SdXBlZVNpZ247XG5jb25zdCBmYUNyb3BTaW1wbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JvcC1zaW1wbGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImNyb3AtYWx0XCJdLCBcImY1NjVcIiwgXCJNMTI4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDE0LjMgNjQgMzJsMCAzMkwzMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMzIgMCAwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMCAwLTY0LTIyNCAwIDAtMzUyek0zODQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCA2NGwwIDY0IDIyNCAwIDAgMzUyelwiXVxufTtcbmNvbnN0IGZhQ3JvcEFsdCA9IGZhQ3JvcFNpbXBsZTtcbmNvbnN0IGZhTW9uZXlCaWxsMSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLTEnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcIm1vbmV5LWJpbGwtYWx0XCJdLCBcImYzZDFcIiwgXCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTY0IDMyMGwtNjQgMCAwLTY0YzM1LjMgMCA2NCAyOC43IDY0IDY0ek02NCAxOTJsMC02NCA2NCAwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek00NDggMzg0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDAgNjQtNjQgMHptNjQtMTkyYy0zNS4zIDAtNjQtMjguNy02NC02NGw2NCAwIDAgNjR6TTE3NiAyNTZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHptNzYtNDhjMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDI0IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC00IDAgMC02OGMwLTExLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHpcIl1cbn07XG5jb25zdCBmYU1vbmV5QmlsbEFsdCA9IGZhTW9uZXlCaWxsMTtcbmNvbnN0IGZhTGVmdExvbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGVmdC1sb25nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb25nLWFycm93LWFsdC1sZWZ0XCJdLCBcImYzMGFcIiwgXCJNMTc3LjUgNDE0Yy04LjggMy44LTE5IDItMjYtNC42bC0xNDQtMTM2QzIuNyAyNjguOSAwIDI2Mi42IDAgMjU2czIuNy0xMi45IDcuNS0xNy40bDE0NC0xMzZjNy02LjYgMTcuMi04LjQgMjYtNC42czE0LjUgMTIuNSAxNC41IDIybDAgNzIgMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjg4IDAgMCA3MmMwIDkuNi01LjcgMTguMi0xNC41IDIyelwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93QWx0TGVmdCA9IGZhTGVmdExvbmc7XG5jb25zdCBmYURuYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkbmEnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjk1MTZdLCBcImY0NzFcIiwgXCJNNDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJjMCA1OS44LTMwLjMgMTA3LjUtNjkuNCAxNDYuNmMtMjggMjgtNjIuNSA1My41LTk3LjMgNzcuNGwtMi41IDEuN2MtMTEuOSA4LjEtMjMuOCAxNi4xLTM1LjUgMjMuOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBsLTEuNiAxYy02IDQtMTEuOSA3LjktMTcuOCAxMS45Yy0yMC45IDE0LTQwLjggMjcuNy01OS4zIDQxLjVsMTE4LjUgMGMtOS44LTcuNC0yMC4xLTE0LjctMzAuNy0yMi4xbDctNC43IDMtMmMxNS4xLTEwLjEgMzAuOS0yMC42IDQ2LjctMzEuNmMyNSAxOC4xIDQ4LjkgMzcuMyA2OS40IDU3LjdDNDE3LjcgMzcyLjUgNDQ4IDQyMC4yIDQ0OCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMNjQgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtNTkuOCAzMC4zLTEwNy41IDY5LjQtMTQ2LjZjMjgtMjggNjIuNS01My41IDk3LjMtNzcuNGMtMzQuOC0yMy45LTY5LjMtNDkuMy05Ny4zLTc3LjRDMzAuMyAxMzkuNSAwIDkxLjggMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBTNjQgMTQuMyA2NCAzMmwzMjAgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzM4LjYgMzg0bC0yMjkuMiAwYy0xMC4xIDEwLjYtMTguNiAyMS4zLTI1LjUgMzJsMjgwLjIgMGMtNi44LTEwLjctMTUuMy0yMS40LTI1LjUtMzJ6TTEwOS40IDEyOGwyMjkuMiAwYzEwLjEtMTAuNyAxOC42LTIxLjMgMjUuNS0zMkw4My45IDk2YzYuOCAxMC43IDE1LjMgMjEuMyAyNS41IDMyem01NS40IDQ4YzE4LjQgMTMuOCAzOC40IDI3LjUgNTkuMyA0MS41YzIwLjktMTQgNDAuOC0yNy43IDU5LjMtNDEuNWwtMTE4LjUgMHpcIl1cbn07XG5jb25zdCBmYVZpcnVzU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlydXMtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNzVcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN2wtMTU0LjMtMTIxYy0yLTMwLjEgMjAuOC02MC4xIDU2LTYwLjFsMTEuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMS41IDBjLTQ5LjkgMC03NC45LTYwLjMtMzkuNi05NS42bDguMi04LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTguMiA4LjJDNDEyLjMgMTE4LjQgMzUyIDkzLjQgMzUyIDQzLjVMMzUyIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEuNWMwIDQ5LjktNjAuMyA3NC45LTk1LjYgMzkuNkwxODQuMiA3NWMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBjLTEuNiAxLjYtMy4xIDMuNC00LjMgNS4zTDM4LjggNS4xem0yMjUuOCAxNzdjNi45LTMuOSAxNC45LTYuMSAyMy40LTYuMWMyNi41IDAgNDggMjEuNSA0OCA0OGMwIDQuNC0uNiA4LjctMS43IDEyLjdsLTY5LjctNTQuNnpNNDAyIDQxMi43TDE0NC43IDIxMGMtOS41IDguNS0yMi4yIDE0LTM3LjIgMTRMOTYgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExLjUgMGM0OS45IDAgNzQuOSA2MC4zIDM5LjYgOTUuNmwtOC4yIDguMmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw4LjItOC4yYzM1LjMtMzUuMyA5NS42LTEwLjMgOTUuNiAzOS42bDAgMTEuNWMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTEuNWMwLTMxLjIgMjMuNi01Mi43IDUwLTU1Ljd6XCJdXG59O1xuY29uc3QgZmFNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtaW51cycsXG4gIGljb246IFs0NDgsIDUxMiwgWzgyMTEsIDg3MjIsIDEwMTM0LCBcInN1YnRyYWN0XCJdLCBcImYwNjhcIiwgXCJNNDMyIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw0OCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFTdWJ0cmFjdCA9IGZhTWludXM7XG5jb25zdCBmYUNoZXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNDM5XCIsIFwiTTE0NCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDE2TDk2IDMyYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDE2IDAgMCAzMkw2MC4yIDk2QzQ5LjEgOTYgNDAgMTA1LjEgNDAgMTE2LjJjMCAyLjUgLjUgNC45IDEuMyA3LjNMNzMuOCAyMDggNzIgMjA4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQgMEw2MCAzODRsMTM2IDBMMTgwIDI1Nmw0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEuOCAwIDMyLjUtODQuNWMuOS0yLjMgMS4zLTQuOCAxLjMtNy4zYzAtMTEuMi05LjEtMjAuMi0yMC4yLTIwLjJMMTQ0IDk2bDAtMzIgMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMCAwLTE2ek00OCA0MTZMNC44IDQ3My42QzEuNyA0NzcuOCAwIDQ4Mi44IDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDIwOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0YzAtNS4yLTEuNy0xMC4yLTQuOC0xNC40TDIwOCA0MTYgNDggNDE2em0yODggMGwtNDMuMiA1Ny42Yy0zLjEgNC4yLTQuOCA5LjItNC44IDE0LjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRjMC01LjItMS43LTEwLjItNC44LTE0LjRMNDY0IDQxNmwtMTI4IDB6TTMwNCAyMDhsMCA1MS45YzAgNy44IDIuOCAxNS4zIDggMjEuMUwzMzkuMiAzMTIgMzM3IDM4NGwxMjUuNSAwLTMuMy03MiAyOC4zLTMwLjhjNS40LTUuOSA4LjUtMTMuNiA4LjUtMjEuN2wwLTUxLjVjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi0yNCAwIDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi0yNCAwIDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTgwIDk2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAzMi0zMiAwIDAtMzJ6XCJdXG59O1xuY29uc3QgZmFBcnJvd0xlZnRMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWxlZnQtbG9uZycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibG9uZy1hcnJvdy1sZWZ0XCJdLCBcImYxNzdcIiwgXCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4IDQ4MCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTM3MC43IDAgNzMuNC03My40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4elwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93TGVmdCA9IGZhQXJyb3dMZWZ0TG9uZztcbmNvbnN0IGZhUGx1Z0NpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTVjXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJsMCA5NiA2NCAwIDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCA2Ny4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Ny4yYzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MHpNNTc2IDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNzYuNy00My4zYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03MiA3MmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDE2IDM4NS40bDYwLjctNjAuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHpcIl1cbn07XG5jb25zdCBmYVN0cmVldFZpZXcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RyZWV0LXZpZXcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyMWRcIiwgXCJNMzIwIDY0QTY0IDY0IDAgMSAwIDE5MiA2NGE2NCA2NCAwIDEgMCAxMjggMHptLTk2IDk2Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEuOCAwIDExLjEgOTkuNWMxLjggMTYuMiAxNS41IDI4LjUgMzEuOCAyOC41bDM4LjcgMGMxNi4zIDAgMzAtMTIuMyAzMS44LTI4LjVMMzE4LjIgMzA0bDEuOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDB6TTEzMi4zIDM5NC4yYzEzLTIuNCAyMS43LTE0LjkgMTkuMy0yNy45cy0xNC45LTIxLjctMjcuOS0xOS4zYy0zMi40IDUuOS02MC45IDE0LjItODIgMjQuOGMtMTAuNSA1LjMtMjAuMyAxMS43LTI3LjggMTkuNkM2LjQgMzk5LjUgMCA0MTAuNSAwIDQyNGMwIDIxLjQgMTUuNSAzNi4xIDI5LjEgNDVjMTQuNyA5LjYgMzQuMyAxNy4zIDU2LjQgMjMuNEMxMzAuMiA1MDQuNyAxOTAuNCA1MTIgMjU2IDUxMnMxMjUuOC03LjMgMTcwLjQtMTkuNmMyMi4xLTYuMSA0MS44LTEzLjggNTYuNC0yMy40YzEzLjctOC45IDI5LjEtMjMuNiAyOS4xLTQ1YzAtMTMuNS02LjQtMjQuNS0xNC0zMi42Yy03LjUtNy45LTE3LjMtMTQuMy0yNy44LTE5LjZjLTIxLTEwLjYtNDkuNS0xOC45LTgyLTI0LjhjLTEzLTIuNC0yNS41IDYuMy0yNy45IDE5LjNzNi4zIDI1LjUgMTkuMyAyNy45YzMwLjIgNS41IDUzLjcgMTIuOCA2OSAyMC41YzMuMiAxLjYgNS44IDMuMSA3LjkgNC41YzMuNiAyLjQgMy42IDcuMiAwIDkuNmMtOC44IDUuNy0yMy4xIDExLjgtNDMgMTcuM0MzNzQuMyA0NTcgMzE4LjUgNDY0IDI1NiA0NjRzLTExOC4zLTctMTU3LjctMTcuOWMtMTkuOS01LjUtMzQuMi0xMS42LTQzLTE3LjNjLTMuNi0yLjQtMy42LTcuMiAwLTkuNmMyLjEtMS40IDQuOC0yLjkgNy45LTQuNWMxNS4zLTcuNyAzOC44LTE0LjkgNjktMjAuNXpcIl1cbn07XG5jb25zdCBmYUZyYW5jU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmcmFuYy1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlMThmXCIsIFwiTTgwIDMyQzYyLjMgMzIgNDggNDYuMyA0OCA2NGwwIDE2MCAwIDk2LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04MCAwIDAtNjQgMTQ0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE0NCAwIDAtOTYgMTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMODAgMzJ6XCJdXG59O1xuY29uc3QgZmFWb2x1bWVPZmYgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndm9sdW1lLW9mZicsXG4gIGljb246IFszMjAsIDUxMiwgW10sIFwiZjAyNlwiLCBcIk0zMjAgNjRjMC0xMi42LTcuNC0yNC0xOC45LTI5LjJzLTI1LTMuMS0zNC40IDUuM0wxMzEuOCAxNjAgNjQgMTYwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY3LjggMEwyNjYuNyA0NzEuOWM5LjQgOC40IDIyLjkgMTAuNCAzNC40IDUuM1MzMjAgNDYwLjYgMzIwIDQ0OGwwLTM4NHpcIl1cbn07XG5jb25zdCBmYUhhbmRzQXNsSW50ZXJwcmV0aW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzLWFzbC1pbnRlcnByZXRpbmcnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCIsIFwiYXNsLWludGVycHJldGluZ1wiLCBcImhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCJdLCBcImYyYTNcIiwgXCJNMTU2LjYgNDYuM2M3LjktMTUuOCAxLjUtMzUtMTQuMy00Mi45cy0zNS0xLjUtNDIuOSAxNC4zTDEzLjUgMTg5LjRDNC42IDIwNy4yIDAgMjI2LjggMCAyNDYuN0wwIDI1NmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGw3MiAwIDggMCAwLS4zYzM1LjItMi43IDY1LjQtMjIuOCA4Mi4xLTUxLjdjOC44LTE1LjMgMy42LTM0LjktMTEuNy00My43cy0zNC45LTMuNi00My43IDExLjdjLTcgMTItMTkuOSAyMC0zNC43IDIwYy0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwYzE0LjggMCAyNy43IDggMzQuNyAyMGM4LjggMTUuMyAyOC40IDIwLjUgNDMuNyAxMS43czIwLjUtMjguNCAxMS43LTQzLjdjLTEyLjgtMjIuMS0zMy42LTM5LjEtNTguNC00Ny4xbDgwLjgtMjJjMTctNC42IDI3LjEtMjIuMiAyMi41LTM5LjNzLTIyLjItMjcuMS0zOS4zLTIyLjVMMTk0LjkgMTI0LjZsODEuNi02OGMxMy42LTExLjMgMTUuNC0zMS41IDQuMS00NS4xUzI0OS4xLTMuOSAyMzUuNSA3LjRMMTMzLjYgOTIuM2wyMy00NnpNNDgzLjQgNDY1LjdjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w4NS45LTE3MS43YzguOS0xNy44IDEzLjUtMzcuNCAxMy41LTU3LjJsMC05LjNjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhsLTcyIDAtOCAwIDAgLjNjLTM1LjIgMi43LTY1LjQgMjIuOC04Mi4xIDUxLjdjLTguOSAxNS4zLTMuNiAzNC45IDExLjcgNDMuN3MzNC45IDMuNiA0My43LTExLjdjNy0xMiAxOS45LTIwIDM0LjctMjBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBjLTE0LjggMC0yNy43LTgtMzQuNy0yMGMtOC45LTE1LjMtMjguNC0yMC41LTQzLjctMTEuN3MtMjAuNSAyOC40LTExLjcgNDMuN2MxMi44IDIyLjEgMzMuNiAzOS4xIDU4LjQgNDcuMWwtODAuOCAyMmMtMTcuMSA0LjctMjcuMSAyMi4yLTIyLjUgMzkuM3MyMi4yIDI3LjEgMzkuMyAyMi41bDEwMC43LTI3LjUtODEuNiA2OGMtMTMuNiAxMS4zLTE1LjQgMzEuNS00LjEgNDUuMXMzMS41IDE1LjQgNDUuMSA0LjFsMTAxLjktODQuOS0yMyA0NnpcIl1cbn07XG5jb25zdCBmYUFtZXJpY2FuU2lnbkxhbmd1YWdlSW50ZXJwcmV0aW5nID0gZmFIYW5kc0FzbEludGVycHJldGluZztcbmNvbnN0IGZhQXNsSW50ZXJwcmV0aW5nID0gZmFIYW5kc0FzbEludGVycHJldGluZztcbmNvbnN0IGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyA9IGZhSGFuZHNBc2xJbnRlcnByZXRpbmc7XG5jb25zdCBmYUdlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2VhcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk4ODEsIFwiY29nXCJdLCBcImYwMTNcIiwgXCJNNDk1LjkgMTY2LjZjMy4yIDguNyAuNSAxOC40LTYuNCAyNC42bC00My4zIDM5LjRjMS4xIDguMyAxLjcgMTYuOCAxLjcgMjUuNHMtLjYgMTcuMS0xLjcgMjUuNGw0My4zIDM5LjRjNi45IDYuMiA5LjYgMTUuOSA2LjQgMjQuNmMtNC40IDExLjktOS43IDIzLjMtMTUuOCAzNC4zbC00LjcgOC4xYy02LjYgMTEtMTQgMjEuNC0yMi4xIDMxLjJjLTUuOSA3LjItMTUuNyA5LjYtMjQuNSA2LjhsLTU1LjctMTcuN2MtMTMuNCAxMC4zLTI4LjIgMTguOS00NCAyNS40bC0xMi41IDU3LjFjLTIgOS4xLTkgMTYuMy0xOC4yIDE3LjhjLTEzLjggMi4zLTI4IDMuNS00Mi41IDMuNXMtMjguNy0xLjItNDIuNS0zLjVjLTkuMi0xLjUtMTYuMi04LjctMTguMi0xNy44bC0xMi41LTU3LjFjLTE1LjgtNi41LTMwLjYtMTUuMS00NC0yNS40TDgzLjEgNDI1LjljLTguOCAyLjgtMTguNiAuMy0yNC41LTYuOGMtOC4xLTkuOC0xNS41LTIwLjItMjIuMS0zMS4ybC00LjctOC4xYy02LjEtMTEtMTEuNC0yMi40LTE1LjgtMzQuM2MtMy4yLTguNy0uNS0xOC40IDYuNC0yNC42bDQzLjMtMzkuNEM2NC42IDI3My4xIDY0IDI2NC42IDY0IDI1NnMuNi0xNy4xIDEuNy0yNS40TDIyLjQgMTkxLjJjLTYuOS02LjItOS42LTE1LjktNi40LTI0LjZjNC40LTExLjkgOS43LTIzLjMgMTUuOC0zNC4zbDQuNy04LjFjNi42LTExIDE0LTIxLjQgMjIuMS0zMS4yYzUuOS03LjIgMTUuNy05LjYgMjQuNS02LjhsNTUuNyAxNy43YzEzLjQtMTAuMyAyOC4yLTE4LjkgNDQtMjUuNGwxMi41LTU3LjFjMi05LjEgOS0xNi4zIDE4LjItMTcuOEMyMjcuMyAxLjIgMjQxLjUgMCAyNTYgMHMyOC43IDEuMiA0Mi41IDMuNWM5LjIgMS41IDE2LjIgOC43IDE4LjIgMTcuOGwxMi41IDU3LjFjMTUuOCA2LjUgMzAuNiAxNS4xIDQ0IDI1LjRsNTUuNy0xNy43YzguOC0yLjggMTguNi0uMyAyNC41IDYuOGM4LjEgOS44IDE1LjUgMjAuMiAyMi4xIDMxLjJsNC43IDguMWM2LjEgMTEgMTEuNCAyMi40IDE1LjggMzQuM3pNMjU2IDMzNmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHpcIl1cbn07XG5jb25zdCBmYUNvZyA9IGZhR2VhcjtcbmNvbnN0IGZhRHJvcGxldFNsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Ryb3BsZXQtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInRpbnQtc2xhc2hcIl0sIFwiZjVjN1wiLCBcIk0zMjAgNTEyYzUzLjIgMCAxMDEuNC0yMS42IDEzNi4xLTU2LjZsLTI5OC4zLTIzNUMxNDAgMjU3LjEgMTI4IDI5Mi4zIDEyOCAzMjBjMCAxMDYgODYgMTkyIDE5MiAxOTJ6TTUwNS4yIDM3MC43YzQuNC0xNi4yIDYuOC0zMy4xIDYuOC01MC43YzAtOTEuMi0xMzAuMi0yNjIuMy0xNjYuNi0zMDguM0MzMzkuNCA0LjIgMzMwLjUgMCAzMjAuOSAwbC0xLjggMGMtOS42IDAtMTguNSA0LjItMjQuNSAxMS43QzI3Ny44IDMzIDI0MC43IDgxLjMgMjA1LjggMTM2TDM4LjggNS4xQzI4LjQtMy4xIDEzLjMtMS4yIDUuMSA5LjJTLTEuMiAzNC43IDkuMiA0Mi45bDU5MiA0NjRjMTAuNCA4LjIgMjUuNSA2LjMgMzMuNy00LjFzNi4zLTI1LjUtNC4xLTMzLjdMNTA1LjIgMzcwLjd6TTIyNCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZjLTYxLjkgMC0xMTItNTAuMS0xMTItMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFUaW50U2xhc2ggPSBmYURyb3BsZXRTbGFzaDtcbmNvbnN0IGZhTW9zcXVlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vc3F1ZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODMzMl0sIFwiZjY3OFwiLCBcIk00MDAgMGM1IDAgOS44IDIuNCAxMi44IDYuNGMzNC43IDQ2LjMgNzguMSA3NC45IDEzMy41IDExMS41YzAgMCAwIDAgMCAwczAgMCAwIDBjNS4yIDMuNCAxMC41IDcgMTYgMTAuNmMyOC45IDE5LjIgNDUuNyA1MS43IDQ1LjcgODYuMWMwIDI4LjYtMTEuMyA1NC41LTI5LjggNzMuNGwtMzU2LjQgMGMtMTguNC0xOS0yOS44LTQ0LjktMjkuOC03My40YzAtMzQuNCAxNi43LTY2LjkgNDUuNy04Ni4xYzUuNC0zLjYgMTAuOC03LjEgMTYtMTAuNmMwIDAgMCAwIDAgMHMwIDAgMCAwQzMwOS4xIDgxLjMgMzUyLjUgNTIuNyAzODcuMiA2LjRjMy00IDcuOC02LjQgMTIuOC02LjR6TTI4OCA1MTJsMC03MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDcyLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDQxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwIDAtNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3Mi02NCAwIDAtNThjMC0xOS04LjQtMzctMjMtNDkuMkw0MDAgMzg0bC0yNSAyMC44QzM2MC40IDQxNyAzNTIgNDM1IDM1MiA0NTRsMCA1OC02NCAwek03MC40IDUuMmM1LjctNC4zIDEzLjUtNC4zIDE5LjIgMGwxNiAxMkMxMzkuOCA0Mi45IDE2MCA4My4yIDE2MCAxMjZsMCAyTDAgMTI4bDAtMkMwIDgzLjIgMjAuMiA0Mi45IDU0LjQgMTcuMmwxNi0xMnpNMCAxNjBsMTYwIDAgMCAxMzYuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwwIDEyOGMwIDkuNiAyLjEgMTguNiA1LjggMjYuOGMtNi42IDMuNC0xNCA1LjItMjEuOCA1LjJsLTY0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTc2bDAtMTZ6XCJdXG59O1xuY29uc3QgZmFNb3NxdWl0byA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb3NxdWl0bycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyYlwiLCBcIk00NjMuNyA1MDUuOWM5LjgtOC45IDEwLjctMjQuMyAyLjEtMzQuM2wtNDIuMS00OSAwLTU0LjdjMC01LjUtMS44LTEwLjgtNS4xLTE1LjFMMzUyIDI2Ni4zbDAtLjNMNDg1LjQgMzg3LjhDNTQyLjQgNDQ3LjYgNjQwIDQwNS4yIDY0MCAzMjAuNmMwLTQ3LjktMzQtODguMy03OS40LTk0LjJsLTE1My0yMy45IDQwLjgtNDAuOWM3LjgtNy44IDkuNC0yMC4xIDMuOS0yOS44TDQyOC41IDkwLjFsMzguMi01MC45YzgtMTAuNiA2LjEtMjUuOS00LjMtMzQuMXMtMjUuMi02LjMtMzMuMiA0LjRsLTQ4IDYzLjljLTUuOSA3LjktNi42IDE4LjYtMS43IDI3LjJMNDAyLjIgMTQwIDM1MiAxOTAuM2wwLTM4LjJjMC0xNC45LTEwLjItMjcuNC0yNC0zMWwwLTU3LjJjMC00LjQtMy42LTgtOC04cy04IDMuNi04IDhsMCA1Ny4yYy0xMy44IDMuNi0yNCAxNi4xLTI0IDMxbDAgMzguMUwyMzcuOCAxNDBsMjIuNi0zOS41YzQuOS04LjYgNC4yLTE5LjMtMS43LTI3LjJsLTQ4LTYzLjljLTgtMTAuNi0yMi44LTEyLjYtMzMuMi00LjRzLTEyLjIgMjMuNS00LjMgMzQuMWwzOC4yIDUwLjktMjMuOSA0MS43Yy01LjUgOS43LTMuOSAyMiAzLjkgMjkuOGw0MC44IDQwLjktMTUzIDIzLjlDMzQgMjMyLjMgMCAyNzIuNyAwIDMyMC42YzAgODQuNiA5Ny42IDEyNyAxNTQuNiA2Ny4xTDI4OCAyNjZsMCAuMy02Ni41IDg2LjRjLTMuMyA0LjMtNS4xIDkuNi01LjEgMTUuMWwwIDU0LjctNDIuMSA0OWMtOC42IDEwLjEtNy43IDI1LjUgMi4xIDM0LjNzMjQuNyA3LjkgMzMuNC0yLjFsNDgtNTUuOWMzLjgtNC40IDUuOS0xMC4yIDUuOS0xNi4xbDAtNTUuNEwyODggMzQ0LjdsMCA2My4xYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02My4xIDI0LjMgMzEuNiAwIDU1LjRjMCA1LjkgMi4xIDExLjcgNS45IDE2LjFsNDggNTUuOWM4LjYgMTAuMSAyMy42IDExIDMzLjQgMi4xelwiXVxufTtcbmNvbnN0IGZhU3Rhck9mRGF2aWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Rhci1vZi1kYXZpZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEwMDE3XSwgXCJmNjlhXCIsIFwiTTQwNC4yIDMwOS41TDM4My4xIDM0NGw0Mi4zIDAtMjEuMS0zNC41ek0zNzEuNCAyNTZsLTU0LTg4LTEyMi44IDAtNTQgODggNTQgODggMTIyLjggMCA1NC04OHptNjUuNyAwbDUzLjQgODdjMy42IDUuOSA1LjUgMTIuNyA1LjUgMTkuNmMwIDIwLjctMTYuOCAzNy40LTM3LjQgMzcuNGwtMTA5LjggMC01Ni4yIDkxLjVDMjg0LjggNTA0LjMgMjcwLjkgNTEyIDI1NiA1MTJzLTI4LjgtNy43LTM2LjYtMjAuNUwxNjMuMyA0MDAgNTMuNCA0MDBDMzIuOCA0MDAgMTYgMzgzLjIgMTYgMzYyLjZjMC02LjkgMS45LTEzLjcgNS41LTE5LjZsNTMuNC04N0wyMS41IDE2OWMtMy42LTUuOS01LjUtMTIuNy01LjUtMTkuNkMxNiAxMjguOCAzMi44IDExMiA1My40IDExMmwxMDkuOCAwIDU2LjItOTEuNUMyMjcuMiA3LjcgMjQxLjEgMCAyNTYgMHMyOC44IDcuNyAzNi42IDIwLjVMMzQ4LjcgMTEybDEwOS44IDBjMjAuNyAwIDM3LjQgMTYuOCAzNy40IDM3LjRjMCA2LjktMS45IDEzLjctNS41IDE5LjZsLTUzLjQgODd6bS01NC04OGwyMS4xIDM0LjVMNDI1LjQgMTY4bC00Mi4zIDB6TTI4MyAxMTJMMjU2IDY4bC0yNyA0NCA1NCAwek0xMjguOSAxNjhsLTQyLjMgMCAyMS4xIDM0LjVMMTI4LjkgMTY4ek0xMDcuOCAzMDkuNUw4Ni42IDM0NGw0Mi4zIDAtMjEuMS0zNC41ek0yMjkgNDAwbDI3IDQ0IDI3LTQ0LTU0IDB6XCJdXG59O1xuY29uc3QgZmFQZXJzb25NaWxpdGFyeVJpZmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1taWxpdGFyeS1yaWZsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU0YlwiLCBcIk0xNjAgMzljMC0xMyAxMC0yMy44IDIyLjktMjQuOUwzMzQuNyAxLjRDMzQ0IC43IDM1MiA4IDM1MiAxNy40TDM1MiA0OGMwIDguOC03LjIgMTYtMTYgMTZMMTg1IDY0Yy0xMy44IDAtMjUtMTEuMi0yNS0yNXptMTcuNiA1N2wxNTYuOCAwYzEgNS4yIDEuNiAxMC41IDEuNiAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTUuNSAuNi0xMC44IDEuNi0xNnptMjI4IDM2NC4zTDM1MiAzNjkuNyAzNTIgNDgwYzAgMS4zLS4xIDIuNS0uMiAzLjhMMTc3LjUgMjM0LjljMTYuNi03LjEgMzQuNi0xMC45IDUzLjMtMTAuOWw1MC40IDBjMTUuOSAwIDMxLjMgMi44IDQ1LjggNy45TDQyMS45IDY3LjdjLTcuNy00LjQtMTAuMy0xNC4yLTUuOS0yMS45czE0LjItMTAuMyAyMS45LTUuOWwxMy45IDggMTMuOSA4YzcuNyA0LjQgMTAuMyAxNC4yIDUuOSAyMS45TDQxNiAxNzMuOWwxLjYgLjljMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN0wzOTIuNiAyODJjMiAyLjggMy45IDUuOCA1LjcgOC44bDc2LjEgMTI4LjhjMTEuMiAxOSA0LjkgNDMuNS0xNC4xIDU0LjhzLTQzLjUgNC45LTU0LjgtMTQuMXpNMzIwIDUxMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTEwLjMtNTMuNiA5MC42Yy0xMS4yIDE5LTM1LjggMjUuMy01NC44IDE0LjFzLTI1LjMtMzUuOC0xNC4xLTU0LjhsNzYuMS0xMjguOGM5LjQtMTUuOCAyMS43LTI5LjMgMzYtNDBMMzMxLjEgNTEwYy0zLjUgMS4zLTcuMiAyLTExLjEgMnpNMjk2IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6XCJdXG59O1xuY29uc3QgZmFDYXJ0U2hvcHBpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FydC1zaG9wcGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODcyMiwgXCJzaG9wcGluZy1jYXJ0XCJdLCBcImYwN2FcIiwgXCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMNjkuNSAwYzIyIDAgNDEuNSAxMi44IDUwLjYgMzJsNDExIDBjMjYuMyAwIDQ1LjUgMjUgMzguNiA1MC40bC00MSAxNTIuM2MtOC41IDMxLjQtMzcgNTMuMy02OS41IDUzLjNsLTI4OC41IDAgNS40IDI4LjVjMi4yIDExLjMgMTIuMSAxOS41IDIzLjYgMTkuNUw0ODggMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yODguMyAwYy0zNC42IDAtNjQuMy0yNC42LTcwLjctNTguNUw3Ny40IDU0LjVjLS43LTMuOC00LTYuNS03LjktNi41TDI0IDQ4QzEwLjcgNDggMCAzNy4zIDAgMjR6TTEyOCA0NjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMzM2LTQ4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG5jb25zdCBmYVNob3BwaW5nQ2FydCA9IGZhQ2FydFNob3BwaW5nO1xuY29uc3QgZmFWaWFscyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWFscycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQ5M1wiLCBcIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDU2IDAgNDggMCA1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMzA0YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTEzNiA5Nkw4OCA5NmwwIDE2MCA0OCAwIDAtMTYwek0yODggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsNTYgMCA0OCAwIDU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAzMDRjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBsMC0zMDRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00MjQgOTZsLTQ4IDAgMCAxNjAgNDggMCAwLTE2MHpcIl1cbn07XG5jb25zdCBmYVBsdWdDaXJjbGVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLXBsdXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWZcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYgNjQgMCAwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOGwwIDY3LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY3LjJjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMTYwek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMTYtMjA4bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw0OCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpcIl1cbn07XG5jb25zdCBmYVBsYWNlT2ZXb3JzaGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYWNlLW9mLXdvcnNoaXAnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY2N2ZcIiwgXCJNMjI0IDEwOS4zbDAgMTA4LjNMMTgzLjMgMjQyYy0xNC41IDguNy0yMy4zIDI0LjMtMjMuMyA0MS4yTDE2MCA1MTJsOTYgMCAwLTk2YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCA5NiA5NiAwIDAtMjI4LjhjMC0xNi45LTguOC0zMi41LTIzLjMtNDEuMkw0MTYgMjE3LjZsMC0xMDguM2MwLTguNS0zLjQtMTYuNi05LjQtMjIuNkwzMzEuMyAxMS4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyMzMuNCA4Ni42Yy02IDYtOS40IDE0LjEtOS40IDIyLjZ6TTI0LjkgMzMwLjNDOS41IDMzOC44IDAgMzU0LjkgMCAzNzIuNEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw4MCAwIDAtMjM4LjRMMjQuOSAzMzAuM3pNNTkyIDUxMmMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTkxLjZjMC0xNy41LTkuNS0zMy42LTI0LjktNDIuMUw1MTIgMjczLjYgNTEyIDUxMmw4MCAwelwiXVxufTtcbmNvbnN0IGZhR3JpcFZlcnRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAtdmVydGljYWwnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtdLCBcImY1OGVcIiwgXCJNNDAgMzUybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTkyIDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwek00MCAzMjBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC00OCAwek0yMzIgMTkybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHpNNDAgMTYwYy0yMi4xIDAtNDAtMTcuOS00MC00MEwwIDcyQzAgNDkuOSAxNy45IDMyIDQwIDMybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMHpNMjMyIDMybDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHpcIl1cbn07XG5jb25zdCBmYUFycm93VHVyblVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXR1cm4tdXAnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImxldmVsLXVwXCJdLCBcImYxNDhcIiwgXCJNMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMwNi43IDczLjQgNzMuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTA5LjMgMTYwIDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMHpcIl1cbn07XG5jb25zdCBmYUxldmVsVXAgPSBmYUFycm93VHVyblVwO1xuY29uc3QgZmFVID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3UnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMTddLCBcIjU1XCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhsMC0yMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDIyNGMwIDEwNi04NiAxOTItMTkyIDE5MlMwIDM5NCAwIDI4OEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhU3F1YXJlUm9vdFZhcmlhYmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1yb290LXZhcmlhYmxlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzcXVhcmUtcm9vdC1hbHRcIl0sIFwiZjY5OFwiLCBcIk0yODIuNiA3OC4xYzgtMjcuMyAzMy00Ni4xIDYxLjQtNDYuMWwyMDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzNDQgOTYgMjM4LjcgNDU3Yy0zLjYgMTIuMy0xNC4xIDIxLjItMjYuOCAyMi44cy0yNS4xLTQuNi0zMS41LTE1LjZMNzcuNiAyODggMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ1LjYgMGMyMi44IDAgNDMuOCAxMi4xIDU1LjMgMzEuOGw2NS4yIDExMS44TDI4Mi42IDc4LjF6TTM5My40IDIzMy40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwTDQ4MCAyNzQuN2w0MS40LTQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0w1MjUuMyAzMjBsNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDQ4MCAzNjUuM2wtNDEuNCA0MS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MzQuNyAzMjBsLTQxLjQtNDEuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVSb290QWx0ID0gZmFTcXVhcmVSb290VmFyaWFibGU7XG5jb25zdCBmYUNsb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb2NrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MzM5LCBcImNsb2NrLWZvdXJcIl0sIFwiZjAxN1wiLCBcIk0yNTYgMGEyNTYgMjU2IDAgMSAxIDAgNTEyQTI1NiAyNTYgMCAxIDEgMjU2IDB6TTIzMiAxMjBsMCAxMzZjMCA4IDQgMTUuNSAxMC43IDIwbDk2IDY0YzExIDcuNCAyNS45IDQuNCAzMy4zLTYuN3M0LjQtMjUuOS02LjctMzMuM0wyODAgMjQzLjIgMjgwIDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHpcIl1cbn07XG5jb25zdCBmYUNsb2NrRm91ciA9IGZhQ2xvY2s7XG5jb25zdCBmYUJhY2t3YXJkU3RlcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWNrd2FyZC1zdGVwJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJzdGVwLWJhY2t3YXJkXCJdLCBcImYwNDhcIiwgXCJNMjY3LjUgNDQwLjZjOS41IDcuOSAyMi44IDkuNyAzNC4xIDQuNHMxOC40LTE2LjYgMTguNC0yOWwwLTMyMGMwLTEyLjQtNy4yLTIzLjctMTguNC0yOXMtMjQuNS0zLjYtMzQuMSA0LjRsLTE5MiAxNjBMNjQgMjQxIDY0IDk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNzguMyAwIDk2TDAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNDUgMTEuNSA5LjYgMTkyIDE2MHpcIl1cbn07XG5jb25zdCBmYVN0ZXBCYWNrd2FyZCA9IGZhQmFja3dhcmRTdGVwO1xuY29uc3QgZmFQYWxsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFsbGV0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNDgyXCIsIFwiTTMyIDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgNjQtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDIyNCAwIDIyNCAwIDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC02NCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwLTIyNCAwTDk2IDMyMGwtNjQgMHptOTYgNjRsMTYwIDAgMCA2NC0xNjAgMCAwLTY0em0yMjQgMGwxNjAgMCAwIDY0LTE2MCAwIDAtNjR6XCJdXG59O1xuY29uc3QgZmFGYXVjZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmF1Y2V0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMDA1XCIsIFwiTTE5MiA5NmwwIDEyTDk2IDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2LTEyIDMxLTMuOSAxLS4xIDEgLjEgMzEgMy45IDk2IDEyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAxMiAwLTEyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyek0zMiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTAwLjEgMGMyMC4yIDI5IDUzLjkgNDggOTEuOSA0OHM3MS43LTE5IDkxLjktNDhsMzYuMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmMwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MGwtMzIgMC0yMi42LTIyLjZjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEwyNTYgMjI0bDAtNDMuOC0zMi00LTMyIDQgMCA0My44LTE4LjcgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRMMTI4IDI1NmwtOTYgMHpcIl1cbn07XG5jb25zdCBmYUJhc2ViYWxsQmF0QmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXNlYmFsbC1iYXQtYmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQzMlwiLCBcIk00MjQgMGMtMTIuNCAwLTI0LjIgNC45LTMzIDEzLjdMMjMzLjUgMTcxLjJjLTEwLjUgMTAuNS0xOS44IDIyLjEtMjcuNyAzNC42TDEzMi43IDMyMS42Yy03LjMgMTEuNS0xNS44IDIyLjItMjUuNSAzMS45TDY5LjkgMzkwLjdsNTEuMyA1MS4zIDM3LjMtMzcuM2M5LjYtOS42IDIwLjMtMTguMiAzMS45LTI1LjVsMTE1LjgtNzMuMWMxMi41LTcuOSAyNC4xLTE3LjIgMzQuNi0yNy43TDQ5OC4zIDEyMWM4LjctOC43IDEzLjctMjAuNiAxMy43LTMzcy00LjktMjQuMi0xMy43LTMzTDQ1NyAxMy43QzQ0OC4yIDQuOSA0MzYuNCAwIDQyNCAwem04OCA0MzJhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwek0xNSAzOTljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDY0IDY0YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0OSAzOTljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhUyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTE1XSwgXCI1M1wiLCBcIk05OS4xIDEwNS40Qzc5IDExNCA2OC4yIDEyNy4yIDY1LjIgMTQ0LjhjLTIuNCAxNC4xLS43IDIzLjIgMiAyOS40YzIuOCA2LjMgNy45IDEyLjQgMTYuNyAxOC42YzE5LjIgMTMuNCA0OC4zIDIyLjEgODQuOSAzMi41YzEgLjMgMS45IC42IDIuOSAuOGMzMi43IDkuMyA3MiAyMC42IDEwMC45IDQwLjdjMTUuNyAxMC45IDI5LjkgMjUuNSAzOC42IDQ1LjFjOC44IDE5LjggMTAuOCA0MiA2LjYgNjYuM2MtNy4zIDQyLjUtMzUuMyA3MS43LTcxLjggODcuM2MtMzUuNCAxNS4yLTc5LjEgMTcuOS0xMjMuNyAxMC45bC0uMiAwczAgMCAwIDBjLTI0LTMuOS02Mi43LTE3LjEtODcuNi0yNS42Yy00LjgtMS43LTkuMi0zLjEtMTIuOC00LjNDNS4xIDQ0MC44LTMuOSA0MjIuNyAxLjYgNDA1LjlzMjMuNy0yNS44IDQwLjUtMjAuM2M0LjkgMS42IDEwLjIgMy40IDE1LjkgNS40YzI1LjQgOC42IDU2LjQgMTkuMiA3NC40IDIyLjFjMzYuOCA1LjcgNjcuNSAyLjUgODguNS02LjVjMjAuMS04LjYgMzAuOC0yMS44IDMzLjktMzkuNGMyLjQtMTQuMSAuNy0yMy4yLTItMjkuNGMtMi44LTYuMy03LjktMTIuNC0xNi43LTE4LjZjLTE5LjItMTMuNC00OC4zLTIyLjEtODQuOS0zMi41Yy0xLS4zLTEuOS0uNi0yLjktLjhjLTMyLjctOS4zLTcyLTIwLjYtMTAwLjktNDAuN2MtMTUuNy0xMC45LTI5LjktMjUuNS0zOC42LTQ1LjFjLTguOC0xOS44LTEwLjgtNDItNi42LTY2LjNsMzEuNSA1LjVMMi4xIDEzMy45QzkuNCA5MS40IDM3LjQgNjIuMiA3My45IDQ2LjZjMzUuNC0xNS4yIDc5LjEtMTcuOSAxMjMuNy0xMC45YzEzIDIgNTIuNCA5LjYgNjYuNiAxMy40YzE3LjEgNC41IDI3LjIgMjIuMSAyMi43IDM5LjJzLTIyLjEgMjcuMi0zOS4yIDIyLjdjLTExLjItMy00OC4xLTEwLjItNjAuMS0xMmw0LjktMzEuNS00LjkgMzEuNWMtMzYuOS01LjgtNjcuNS0yLjUtODguNiA2LjV6XCJdXG59O1xuY29uc3QgZmFUaW1lbGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0aW1lbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTI5Y1wiLCBcIk0xMjggNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0zMiA5Ny4zYzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjNjMC00NC4yLTM1LjgtODAtODAtODBTNDggNTEuOCA0OCA5NmMwIDMyLjggMTkuNyA2MSA0OCA3My4zTDk2IDIyNGwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNTYgMCAwIDU0LjdjLTI4LjMgMTIuMy00OCA0MC41LTQ4IDczLjNjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTMyLjgtMTkuNy02MS00OC03My4zbDAtNTQuNyAyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTU0LjdjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuM2MwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgNTQuNy0zMjAgMCAwLTU0Ljd6TTQ4OCA5NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek0zMjAgMzkyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG5jb25zdCBmYUtleWJvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tleWJvYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbOTAwMF0sIFwiZjExY1wiLCBcIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptMTYgNjRsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTE3NmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMzM2YzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDEyOGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0yNTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTM2OCAxMjhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMzUyIDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00NjQgMTI4bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ0OCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTYgODBsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYUNhcmV0RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXJldC1kb3duJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJmMGQ3XCIsIFwiTTEzNy40IDM3NC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5LjhMMzIgMTkyYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWwxMjggMTI4elwiXVxufTtcbmNvbnN0IGZhSG91c2VDaGltbmV5TWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaGltbmV5LW1lZGljYWwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImNsaW5pYy1tZWRpY2FsXCJdLCBcImY3ZjJcIiwgXCJNNTc1LjggMjU1LjVjMCAxOC0xNSAzMi4xLTMyIDMyLjFsLTMyIDAgLjcgMTYwLjJjLjIgMzUuNS0yOC41IDY0LjMtNjQgNjQuM2wtMzIwLjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjAuNC0zMiAwYy0xOCAwLTMyLTE0LTMyLTMyLjFjMC05IDMtMTcgMTAtMjRMMjY2LjQgOGM3LTcgMTUtOCAyMi04czE1IDIgMjEgN0w0MTYgMTAwLjcgNDE2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjEgNTIuOCA0Ni40YzggNyAxMiAxNSAxMSAyNHpNMjcyIDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtNDggMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpcIl1cbn07XG5jb25zdCBmYUNsaW5pY01lZGljYWwgPSBmYUhvdXNlQ2hpbW5leU1lZGljYWw7XG5jb25zdCBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVycycsXG4gIGljb246IFszMjAsIDUxMiwgW1widGVtcGVyYXR1cmUtM1wiLCBcInRoZXJtb21ldGVyLTNcIiwgXCJ0aGVybW9tZXRlci10aHJlZS1xdWFydGVyc1wiXSwgXCJmMmM4XCIsIFwiTTE2MCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjQuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41Qzg2LjIgMzMyLjYgODAgMzQ5LjUgODAgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNUwyMDggMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00OCAxMTJDNDggNTAuMiA5OC4xIDAgMTYwIDBzMTEyIDUwLjEgMTEyIDExMmwwIDE2NC40YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTMzLjIgMTEuMi02My44IDMwLjEtODguMWMuOS0xLjIgMS41LTIuMiAxLjctMi44Yy4xLS4zIC4yLS41IC4yLS42TDQ4IDExMnpNMjA4IDM2OGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNMMTQ0IDE0NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTc4LjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmUzID0gZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnM7XG5jb25zdCBmYVRoZXJtb21ldGVyMyA9IGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzO1xuY29uc3QgZmFUaGVybW9tZXRlclRocmVlUXVhcnRlcnMgPSBmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVycztcbmNvbnN0IGZhTW9iaWxlU2NyZWVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vYmlsZS1zY3JlZW4nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcIm1vYmlsZS1hbmRyb2lkLWFsdFwiXSwgXCJmM2NmXCIsIFwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBMMzA0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwxNiA2NHpNMTQ0IDQ0OGMwIDguOCA3LjIgMTYgMTYgMTZsNjQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0zMDQgNjRMODAgNjRsMCAzMjAgMjI0IDAgMC0zMjB6XCJdXG59O1xuY29uc3QgZmFNb2JpbGVBbmRyb2lkQWx0ID0gZmFNb2JpbGVTY3JlZW47XG5jb25zdCBmYVBsYW5lVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtdXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUyMmRcIiwgXCJNMTkyIDkzLjdDMTkyIDU5LjUgMjIxIDAgMjU2IDBjMzYgMCA2NCA1OS41IDY0IDkzLjdsMCA2Ni4zTDQ5Ny44IDI3OC41YzguOSA1LjkgMTQuMiAxNS45IDE0LjIgMjYuNmwwIDU2LjdjMCAxMC45LTEwLjcgMTguNi0yMS4xIDE1LjJMMzIwIDMyMGwwIDgwIDU3LjYgNDMuMmM0IDMgNi40IDcuOCA2LjQgMTIuOGwwIDQyYzAgNy44LTYuMyAxNC0xNCAxNGMtMS4zIDAtMi42LS4yLTMuOS0uNUwyNTYgNDgwIDE0NS45IDUxMS41Yy0xLjMgLjQtMi42IC41LTMuOSAuNWMtNy44IDAtMTQtNi4zLTE0LTE0bDAtNDJjMC01IDIuNC05LjggNi40LTEyLjhMMTkyIDQwMGwwLTgwTDIxLjEgMzc3QzEwLjcgMzgwLjQgMCAzNzIuNyAwIDM2MS44bDAtNTYuN2MwLTEwLjcgNS4zLTIwLjcgMTQuMi0yNi42TDE5MiAxNjBsMC02Ni4zelwiXVxufTtcbmNvbnN0IGZhUGlnZ3lCYW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BpZ2d5LWJhbmsnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY0ZDNcIiwgXCJNNDAwIDk2bDAgLjdjLTUuMy0uNC0xMC42LS43LTE2LS43TDI1NiA5NmMtMTYuNSAwLTMyLjUgMi4xLTQ3LjggNmMtLjEtMi0uMi00LS4yLTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnptLTE2IDMyYzMuNSAwIDcgLjEgMTAuNCAuM2M0LjIgLjMgOC40IC43IDEyLjYgMS4zQzQyNC42IDEwOS4xIDQ1MC44IDk2IDQ4MCA5NmwxMS41IDBjMTAuNCAwIDE4IDkuOCAxNS41IDE5LjlsLTEzLjggNTUuMmMxNS44IDE0LjggMjguNyAzMi44IDM3LjUgNTIuOWwxMy4zIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtOS4xIDEyLjEtMTkuOSAyMi45LTMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzItMTI4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMtMzQuOS0yNi4yLTU4LjctNjYuMy02My4yLTExMkw2OCAzMDRjLTM3LjYgMC02OC0zMC40LTY4LTY4czMwLjQtNjggNjgtNjhsNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00IDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDMxLjIgMGMxMi4xLTU5LjggNTcuNy0xMDcuNSAxMTYuMy0xMjIuOGMxMi45LTMuNCAyNi41LTUuMiA0MC41LTUuMmwxMjggMHptNjQgMTM2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5SGFsZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXR0ZXJ5LWhhbGYnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJhdHRlcnktM1wiXSwgXCJmMjQyXCIsIFwiTTQ2NCAxNjBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTYwYzAgOC44LTcuMiAxNi0xNiAxNkw4MCAzNTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZsMzg0IDB6TTgwIDk2QzM1LjggOTYgMCAxMzEuOCAwIDE3NkwwIDMzNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzODQgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTE2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC0xNmMwLTQ0LjItMzUuOC04MC04MC04MEw4MCA5NnptMjA4IDk2TDk2IDE5MmwwIDEyOCAxOTIgMCAwLTEyOHpcIl1cbn07XG5jb25zdCBmYUJhdHRlcnkzID0gZmFCYXR0ZXJ5SGFsZjtcbmNvbnN0IGZhTW91bnRhaW5DaXR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW50YWluLWNpdHknLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MmVcIiwgXCJNMzM2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTIuMSA3MS40IDExOC40YzIuNS0xLjYgNS40LTIuNSA4LjYtMi41bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zLjUgMCA3My44IDEyMi40YzEyLjQgMjAuNiAxMi45IDQ2LjMgMS4yIDY3LjNjLS40IC44LS45IDEuNi0xLjQgMi4zTDU5MiA1MTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTI0IDAgMC03MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDcyLTQwIDAgMC0xNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzM2IDB6bTMyIDY0bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTM1MiAxNzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTYwIDk2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCAxODguOUwyODMuOCAyODggMjIzIDI4OGwtNDggNjQtMjQuNi00MS4yTDIyNCAxODguOXptMjkuNC00NC4yQzI0Ny4xIDEzNC4zIDIzNiAxMjggMjI0IDEyOHMtMjMuMSA2LjMtMjkuNCAxNi43TDUuMSA0NTguOWMtNi41IDEwLjgtNi43IDI0LjMtLjcgMzUuM1MyMiA1MTIgMzQuNSA1MTJsMzc5LjEgMGMxMi41IDAgMjQtNi44IDMwLjEtMTcuOHM1LjgtMjQuNS0uNy0zNS4zTDI1My40IDE0NC43elwiXVxufTtcbmNvbnN0IGZhQ29pbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29pbnMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1MWVcIiwgXCJNNTEyIDgwYzAgMTgtMTQuMyAzNC42LTM4LjQgNDhjLTI5LjEgMTYuMS03Mi41IDI3LjUtMTIyLjMgMzAuOWMtMy43LTEuOC03LjQtMy41LTExLjMtNUMzMDAuNiAxMzcuNCAyNDguMiAxMjggMTkyIDEyOGMtOC4zIDAtMTYuNCAuMi0yNC41IC42bC0xLjEtLjZDMTQyLjMgMTE0LjYgMTI4IDk4IDEyOCA4MGMwLTQ0LjIgODYtODAgMTkyLTgwUzUxMiAzNS44IDUxMiA4MHpNMTYwLjcgMTYxLjFjMTAuMi0uNyAyMC43LTEuMSAzMS4zLTEuMWM2Mi4yIDAgMTE3LjQgMTIuMyAxNTIuNSAzMS40QzM2OS4zIDIwNC45IDM4NCAyMjEuNyAzODQgMjQwYzAgNC0uNyA3LjktMi4xIDExLjdjLTQuNiAxMy4yLTE3IDI1LjMtMzUgMzUuNWMwIDAgMCAwIDAgMGMtLjEgLjEtLjMgLjEtLjQgLjJjMCAwIDAgMCAwIDBzMCAwIDAgMGMtLjMgLjItLjYgLjMtLjkgLjVjLTM1IDE5LjQtOTAuOCAzMi0xNTMuNiAzMmMtNTkuNiAwLTExMi45LTExLjMtMTQ4LjItMjkuMWMtMS45LS45LTMuNy0xLjktNS41LTIuOUMxNC4zIDI3NC42IDAgMjU4IDAgMjQwYzAtMzQuOCA1My40LTY0LjUgMTI4LTc1LjRjMTAuNS0xLjUgMjEuNC0yLjcgMzIuNy0zLjV6TTQxNiAyNDBjMC0yMS45LTEwLjYtMzkuOS0yNC4xLTUzLjRjMjguMy00LjQgNTQuMi0xMS40IDc2LjItMjAuNWMxNi4zLTYuOCAzMS41LTE1LjIgNDMuOS0yNS41bDAgMzUuNGMwIDE5LjMtMTYuNSAzNy4xLTQzLjggNTAuOWMtMTQuNiA3LjQtMzIuNCAxMy43LTUyLjQgMTguNWMuMS0xLjggLjItMy41IC4yLTUuM3ptLTMyIDk2YzAgMTgtMTQuMyAzNC42LTM4LjQgNDhjLTEuOCAxLTMuNiAxLjktNS41IDIuOUMzMDQuOSA0MDQuNyAyNTEuNiA0MTYgMTkyIDQxNmMtNjIuOCAwLTExOC42LTEyLjYtMTUzLjYtMzJDMTQuMyAzNzAuNiAwIDM1NCAwIDMzNmwwLTM1LjRjMTIuNSAxMC4zIDI3LjYgMTguNyA0My45IDI1LjVDODMuNCAzNDIuNiAxMzUuOCAzNTIgMTkyIDM1MnMxMDguNi05LjQgMTQ4LjEtMjUuOWM3LjgtMy4yIDE1LjMtNi45IDIyLjQtMTAuOWM2LjEtMy40IDExLjgtNy4yIDE3LjItMTEuMmMxLjUtMS4xIDIuOS0yLjMgNC4zLTMuNGwwIDMuNCAwIDUuNyAwIDI2LjN6bTMyIDBsMC0zMiAwLTI1LjljMTktNC4yIDM2LjUtOS41IDUyLjEtMTZjMTYuMy02LjggMzEuNS0xNS4yIDQzLjktMjUuNWwwIDM1LjRjMCAxMC41LTUgMjEtMTQuOSAzMC45Yy0xNi4zIDE2LjMtNDUgMjkuNy04MS4zIDM4LjRjLjEtMS43IC4yLTMuNSAuMi01LjN6TTE5MiA0NDhjNTYuMiAwIDEwOC42LTkuNCAxNDguMS0yNS45YzE2LjMtNi44IDMxLjUtMTUuMiA0My45LTI1LjVsMCAzNS40YzAgNDQuMi04NiA4MC0xOTIgODBTMCA0NzYuMiAwIDQzMmwwLTM1LjRjMTIuNSAxMC4zIDI3LjYgMTguNyA0My45IDI1LjVDODMuNCA0MzguNiAxMzUuOCA0NDggMTkyIDQ0OHpcIl1cbn07XG5jb25zdCBmYUtoYW5kYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdraGFuZGEnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NzcyXSwgXCJmNjZkXCIsIFwiTTI0NS44IDMuN2M1LjktNC45IDE0LjYtNC45IDIwLjUgMGw0OCA0MGM1LjkgNC45IDcuNSAxMy4yIDMuOCAxOS45YzAgMCAwIDAgMCAwczAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwbC0uMSAuMS0uMyAuNmMtLjMgLjUtLjcgMS4zLTEuMiAyLjNjLTEgMi0yLjYgNS00LjQgOC42Yy0uNSAuOS0uOSAxLjktMS40IDIuOUMzNDQuOSA5Ny40IDM2OCAxMzQgMzY4IDE3NnMtMjMuMSA3OC42LTU3LjMgOTcuOGMuNSAxIDEgMiAxLjQgMi45YzEuOCAzLjcgMy4zIDYuNiA0LjQgOC42Yy41IDEgLjkgMS44IDEuMiAyLjNsLjMgLjYgLjEgLjFzMCAwIDAgMHMwIDAgMCAwYzMuNiA2LjcgMiAxNS0zLjggMTkuOUwyNzIgMzQzLjVsMCAxOS44IDM1LjYtMjQuNSA0MS4xLTI4LjJjNDIuOC0yOS40IDY4LjQtNzggNjguNC0xMzBjMC0zMS4xLTkuMi02MS42LTI2LjUtODcuNWwtMi44LTQuMmMtNC02LTMuNS0xNCAxLjMtMTkuNXMxMi43LTcgMTkuMi0zLjdMNDAxLjEgODBjNy4yLTE0LjMgNy4yLTE0LjMgNy4yLTE0LjNzMCAwIDAgMHMwIDAgMCAwbC4xIDAgLjMgLjIgMSAuNWMuOCAuNCAyIDEuMSAzLjUgMS45YzIuOSAxLjcgNyA0LjEgMTEuOCA3LjNjOS42IDYuNCAyMi41IDE2LjEgMzUuNCAyOWMyNS43IDI1LjcgNTIuNyA2NS42IDUyLjcgMTE5LjNjMCA1My4xLTI2LjQgMTAwLjUtNTEuMiAxMzMuNmMtMTIuNiAxNi43LTI1LjEgMzAuMy0zNC41IDM5LjdjLTQuNyA0LjctOC43IDguNC0xMS41IDEwLjljLTEuNCAxLjMtMi41IDIuMi0zLjMgMi45bC0uOSAuOC0uMyAuMi0uMSAuMWMwIDAgMCAwIDAgMHMwIDAgMCAwTDQwMS4xIDQwMGwxMC4yIDEyLjNjLTUuMSA0LjMtMTIuNCA0LjktMTguMiAxLjZsLTc1LjYtNDMtMzIuNyAyMi41IDQ1LjUgMzEuM2MxLjgtLjQgMy43LS43IDUuNy0uN2MxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMTIuMiAwLTIyLjMtOS4xLTIzLjgtMjFMMjcyIDQyMy40bDAgMjguOWM5LjYgNS41IDE2IDE1LjkgMTYgMjcuN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTExLjggNi40LTIyLjIgMTYtMjcuN2wwLTI4LjEtNDAuMyAyNy43QzE5Ny44IDQ2My4zIDE4Ny45IDQ3MiAxNzYgNDcyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzIuMiAwIDQuNCAuMyA2LjUgLjlsNDUuOC0zMS41LTMyLjctMjIuNS03NS42IDQzYy01LjggMy4zLTEzIDIuNy0xOC4yLTEuNkwxMTIgNDAwYy0xMC4yIDEyLjMtMTAuMiAxMi4zLTEwLjMgMTIuM3MwIDAgMCAwczAgMCAwIDBsLS4xLS4xLS4zLS4yLS45LS44Yy0uOC0uNy0xLjktMS43LTMuMy0yLjljLTIuOC0yLjUtNi43LTYuMi0xMS41LTEwLjljLTkuNC05LjQtMjEuOS0yMy0zNC41LTM5LjdDMjYuNCAzMjQuNSAwIDI3Ny4xIDAgMjI0YzAtNTMuNyAyNi45LTkzLjYgNTIuNy0xMTkuM2MxMi45LTEyLjkgMjUuOC0yMi42IDM1LjQtMjlDOTMgNzIuNSA5NyA3MCA5OS45IDY4LjRjMS41LS44IDIuNi0xLjUgMy41LTEuOWwxLS41IC4zLS4yIC4xIDBjMCAwIDAgMCAwIDBzMCAwIDAgMEwxMTIgODBsLTcuMi0xNC4zYzYuNS0zLjIgMTQuMy0xLjcgMTkuMiAzLjdzNS4zIDEzLjQgMS4zIDE5LjVsLTIuOCA0LjJDMTA1LjIgMTE5IDk2IDE0OS41IDk2IDE4MC42YzAgNTEuOSAyNS42IDEwMC42IDY4LjQgMTMwbDQxLjEgMjguMkwyNDAgMzYyLjZsMC0xOS4xLTQyLjItMzUuMmMtNS45LTQuOS03LjUtMTMuMi0zLjgtMTkuOWMwIDAgMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBsLjEtLjEgLjMtLjZjLjMtLjUgLjctMS4zIDEuMi0yLjNjMS0yIDIuNi01IDQuNC04LjZjLjUtLjkgLjktMS45IDEuNC0yLjlDMTY3LjEgMjU0LjYgMTQ0IDIxOCAxNDQgMTc2czIzLjEtNzguNiA1Ny4zLTk3LjhjLS41LTEtMS0yLTEuNC0yLjljLTEuOC0zLjctMy4zLTYuNi00LjQtOC42Yy0uNS0xLS45LTEuOC0xLjItMi4zbC0uMy0uNi0uMS0uMXMwIDAgMCAwczAgMCAwIDBzMCAwIDAgMGMtMy42LTYuNy0yLTE1IDMuOC0xOS45bDQ4LTQwek0yMjAuMiAxMjIuOWMtMTcgMTEuNS0yOC4yIDMxLTI4LjIgNTMuMXMxMS4yIDQxLjYgMjguMiA1My4xQzIyNyAyMTAuMiAyMzIgMTkwLjkgMjMyIDE3NnMtNS0zNC4yLTExLjgtNTMuMXptNzEuNSAxMDYuMmMxNy0xMS41IDI4LjItMzEgMjguMi01My4xcy0xMS4yLTQxLjYtMjguMi01My4xQzI4NSAxNDEuOCAyODAgMTYxLjEgMjgwIDE3NnM1IDM0LjIgMTEuOCA1My4xelwiXVxufTtcbmNvbnN0IGZhU2xpZGVycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzbGlkZXJzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzbGlkZXJzLWhcIl0sIFwiZjFkZVwiLCBcIk0wIDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw1NC43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhMNDgwIDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjQ2LjcgMGMtMTIuMy0yOC4zLTQwLjUtNDgtNzMuMy00OHMtNjEgMTkuNy03My4zIDQ4TDMyIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTEyOCAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTMyMCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzItODBjLTMyLjggMC02MSAxOS43LTczLjMgNDhMMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI0Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhsNTQuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01NC43IDBjLTEyLjMtMjguMy00MC41LTQ4LTczLjMtNDh6TTE5MiAxMjhhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em03My4zLTY0QzI1MyAzNS43IDIyNC44IDE2IDE5MiAxNnMtNjEgMTkuNy03My4zIDQ4TDMyIDY0QzE0LjMgNjQgMCA3OC4zIDAgOTZzMTQuMyAzMiAzMiAzMmw4Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhMNDgwIDEyOGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwyNjUuMyA2NHpcIl1cbn07XG5jb25zdCBmYVNsaWRlcnNIID0gZmFTbGlkZXJzO1xuY29uc3QgZmFGb2xkZXJUcmVlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZvbGRlci10cmVlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmODAyXCIsIFwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJsMCA5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMCAwLTY0TDY0IDM4NGwwLTIyNCAxOTIgMCAwLTY0TDY0IDk2bDAtNjR6TTI4OCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsLTk4LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMNDA5LjQgOS40Yy02LTYtMTQuMS05LjQtMjIuNi05LjRMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTYwem0wIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTguNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTMuMy0xMy4zYy02LTYtMTQuMS05LjQtMjIuNi05LjRMMzIwIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxNjB6XCJdXG59O1xuY29uc3QgZmFOZXR3b3JrV2lyZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmV0d29yay13aXJlZCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjZmZlwiLCBcIk0yNTYgNjRsMTI4IDAgMCA2NC0xMjggMCAwLTY0ek0yNDAgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0OCAwIDAgMzJMMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgMCAzMi00OCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMC0zMiAyNTYgMCAwIDMyLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDhsMTYwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwLTMyIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI1NiAwIDAtMzIgNDggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDI0MCAwek05NiA0NDhsMC02NCAxMjggMCAwIDY0TDk2IDQ0OHptMzIwLTY0bDEyOCAwIDAgNjQtMTI4IDAgMC02NHpcIl1cbn07XG5jb25zdCBmYU1hcFBpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXAtcGluJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbMTI4MjA1XSwgXCJmMjc2XCIsIFwiTTE2IDE0NGExNDQgMTQ0IDAgMSAxIDI4OCAwQTE0NCAxNDQgMCAxIDEgMTYgMTQ0ek0xNjAgODBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZjLTUzIDAtOTYgNDMtOTYgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmMwLTM1LjMgMjguNy02NCA2NC02NHpNMTI4IDQ4MGwwLTE2Mi45YzEwLjQgMS45IDIxLjEgMi45IDMyIDIuOXMyMS42LTEgMzItMi45TDE5MiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6XCJdXG59O1xuY29uc3QgZmFIYW1zYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW1zYScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY2NVwiLCBcIk0zNC42IDI4OEw4MCAyODhjOC44IDAgMTYtNy4yIDE2LTE2TDk2IDcyYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxMzJjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xNjRjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDE2NGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTEzMmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjAwYzAgOC44IDcuMiAxNiAxNiAxNmw0NS40IDBjMTkuMSAwIDM0LjYgMTUuNSAzNC42IDM0LjZjMCA4LjYtMy4yIDE2LjktOSAyMy4zTDQxNi42IDQ0MWMtNDEuMSA0NS4yLTk5LjQgNzEtMTYwLjYgNzFzLTExOS40LTI1LjgtMTYwLjYtNzFMOSAzNDUuOWMtNS44LTYuNC05LTE0LjctOS0yMy4zQzAgMzAzLjUgMTUuNSAyODggMzQuNiAyODh6TTI1NiAyODhjLTM4LjQgMC03Ni44IDM1LjgtOTAuNiA1MC4yYy0zLjYgMy43LTUuNCA4LjctNS40IDEzLjhzMS44IDEwLjEgNS40IDEzLjhDMTc5LjIgMzgwLjIgMjE3LjYgNDE2IDI1NiA0MTZzNzYuOC0zNS44IDkwLjYtNTAuMmMzLjYtMy43IDUuNC04LjcgNS40LTEzLjhzLTEuOC0xMC4xLTUuNC0xMy44QzMzMi44IDMyMy44IDI5NC40IDI4OCAyNTYgMjg4em0wIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUNlbnRTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NlbnQtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTNmNVwiLCBcIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDM0LjdjMzAuOSA1LjIgNTkuMiAxNy43IDgzLjIgMzUuOGMxNC4xIDEwLjYgMTcgMzAuNyA2LjQgNDQuOHMtMzAuNyAxNy00NC44IDYuNEMyNzkuNCAxMzcuNSAyNTIuOSAxMjggMjI0IDEyOGMtNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhzNTcuMyAxMjggMTI4IDEyOGMyOC45IDAgNTUuNC05LjUgNzYuOC0yNS42YzE0LjEtMTAuNiAzNC4yLTcuOCA0NC44IDYuNHM3LjggMzQuMi02LjQgNDQuOGMtMjQgMTgtNTIuNCAzMC42LTgzLjIgMzUuOGwwIDM0LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNC43QzEwMS4yIDQzMC4xIDMyIDM1MS4xIDMyIDI1NnM2OS4yLTE3NC4xIDE2MC0xODkuM0wxOTIgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFGbGFzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFzaycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjBjM1wiLCBcIk0yODggMEwxNjAgMCAxMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJzMTQuMyAzMiAzMiAzMmwwIDEzMi44YzAgMTEuOC0zLjMgMjMuNS05LjUgMzMuNUwxMC4zIDQwNi4yQzMuNiA0MTcuMiAwIDQyOS43IDAgNDQyLjZDMCA0ODAuOSAzMS4xIDUxMiA2OS40IDUxMmwzMDkuMiAwYzM4LjMgMCA2OS40LTMxLjEgNjkuNC02OS40YzAtMTIuOC0zLjYtMjUuNC0xMC4zLTM2LjRMMzI5LjUgMjMwLjRjLTYuMi0xMC4xLTkuNS0yMS43LTkuNS0zMy41TDMyMCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwyODggMHpNMTkyIDE5Ni44TDE5MiA2NGw2NCAwIDAgMTMyLjhjMCAyMy43IDYuNiA0Ni45IDE5IDY3LjFMMzA5LjUgMzIwbC0xNzEgMEwxNzMgMjYzLjljMTIuNC0yMC4yIDE5LTQzLjQgMTktNjcuMXpcIl1cbn07XG5jb25zdCBmYVBlcnNvblByZWduYW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1wcmVnbmFudCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTMxZVwiLCBcIk0xOTIgMGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTEyMCAzODNjLTEzLjgtMy42LTI0LTE2LjEtMjQtMzFsMC01NS4xLTQuNiA3LjZjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE1LTI0LjkgNDAuMy00MS41IDY4LjctNDUuNmM0LjEtLjYgOC4yLTEgMTIuNS0xbDEuMSAwIDEyLjUgMCAyLjQgMGMxLjQgMCAyLjggLjEgNC4xIC4zYzM1LjcgMi45IDY1LjQgMjkuMyA3Mi4xIDY1bDYuMSAzMi41YzQ0LjMgOC42IDc3LjcgNDcuNSA3Ny43IDk0LjNsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYgMC00MCAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni04IDAtOCAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05N3pcIl1cbn07XG5jb25zdCBmYVdhbmRTcGFya2xlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YW5kLXNwYXJrbGVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNzJiXCIsIFwiTTQ2NCA2LjFjOS41LTguNSAyNC04LjEgMzMgLjlsOCA4YzkgOSA5LjQgMjMuNSAuOSAzM2wtODUuOCA5NS45Yy0yLjYgMi45LTQuMSA2LjctNC4xIDEwLjdsMCAyMS40YzAgOC44LTcuMiAxNi0xNiAxNmwtMTUuOCAwYy00LjYgMC04LjkgMS45LTExLjkgNS4zTDEwMC43IDUwMC45Qzk0LjMgNTA4IDg1LjMgNTEyIDc1LjggNTEyYy04LjggMC0xNy4zLTMuNS0yMy41LTkuOEw5LjcgNDU5LjdDMy41IDQ1My40IDAgNDQ1IDAgNDM2LjJjMC05LjUgNC0xOC41IDExLjEtMjQuOGwxMTEuNi05OS44YzMuNC0zIDUuMy03LjQgNS4zLTExLjlsMC0yNy42YzAtOC44IDcuMi0xNiAxNi0xNmwzNC42IDBjMy45IDAgNy43LTEuNSAxMC43LTQuMUw0NjQgNi4xek00MzIgMjg4YzMuNiAwIDYuNyAyLjQgNy43IDUuOGwxNC44IDUxLjcgNTEuNyAxNC44YzMuNCAxIDUuOCA0LjEgNS44IDcuN3MtMi40IDYuNy01LjggNy43bC01MS43IDE0LjgtMTQuOCA1MS43Yy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOGwtMTQuOC01MS43LTUxLjctMTQuOGMtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjggMTQuOC01MS43YzEtMy40IDQuMS01LjggNy43LTUuOHpNODcuNyA2OS44bDE0LjggNTEuNyA1MS43IDE0LjhjMy40IDEgNS44IDQuMSA1LjggNy43cy0yLjQgNi43LTUuOCA3LjdsLTUxLjcgMTQuOEw4Ny43IDIxOC4yYy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOEw1Ny41IDE2Ni41IDUuOCAxNTEuN2MtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjhMNzIuMyA2OS44YzEtMy40IDQuMS01LjggNy43LTUuOHM2LjcgMi40IDcuNyA1Ljh6TTIwOCAwYzMuNyAwIDYuOSAyLjUgNy44IDYuMWw2LjggMjcuMyAyNy4zIDYuOGMzLjYgLjkgNi4xIDQuMSA2LjEgNy44cy0yLjUgNi45LTYuMSA3LjhsLTI3LjMgNi44LTYuOCAyNy4zYy0uOSAzLjYtNC4xIDYuMS03LjggNi4xcy02LjktMi41LTcuOC02LjFsLTYuOC0yNy4zLTI3LjMtNi44Yy0zLjYtLjktNi4xLTQuMS02LjEtNy44czIuNS02LjkgNi4xLTcuOGwyNy4zLTYuOCA2LjgtMjcuM2MuOS0zLjYgNC4xLTYuMSA3LjgtNi4xelwiXVxufTtcbmNvbnN0IGZhRWxsaXBzaXNWZXJ0aWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGxpcHNpcy12ZXJ0aWNhbCcsXG4gIGljb246IFsxMjgsIDUxMiwgW1wiZWxsaXBzaXMtdlwiXSwgXCJmMTQyXCIsIFwiTTY0IDM2MGE1NiA1NiAwIDEgMCAwIDExMiA1NiA1NiAwIDEgMCAwLTExMnptMC0xNjBhNTYgNTYgMCAxIDAgMCAxMTIgNTYgNTYgMCAxIDAgMC0xMTJ6TTEyMCA5NkE1NiA1NiAwIDEgMCA4IDk2YTU2IDU2IDAgMSAwIDExMiAwelwiXVxufTtcbmNvbnN0IGZhRWxsaXBzaXNWID0gZmFFbGxpcHNpc1ZlcnRpY2FsO1xuY29uc3QgZmFUaWNrZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGlja2V0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTAzXSwgXCJmMTQ1XCIsIFwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4bDAgNjRjMCA4LjggNy40IDE1LjcgMTUuNyAxOC42QzM0LjUgMjE3LjEgNDggMjM1IDQ4IDI1NnMtMTMuNSAzOC45LTMyLjMgNDUuNEM3LjQgMzA0LjMgMCAzMTEuMiAwIDMyMGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC04LjgtNy40LTE1LjctMTUuNy0xOC42QzU0MS41IDI5NC45IDUyOCAyNzcgNTI4IDI1NnMxMy41LTM4LjkgMzIuMy00NS40YzguMy0yLjkgMTUuNy05LjggMTUuNy0xOC42bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTY0IDExMmwwIDE2MGMwIDguOCA3LjIgMTYgMTYgMTZsMjg4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTYwYzAtOC44LTcuMi0xNi0xNi0xNmwtMjg4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNOTYgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTJ6XCJdXG59O1xuY29uc3QgZmFQb3dlck9mZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwb3dlci1vZmYnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5MjExXSwgXCJmMDExXCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0ek0xNDMuNSAxMjAuNmMxMy42LTExLjMgMTUuNC0zMS41IDQuMS00NS4xcy0zMS41LTE1LjQtNDUuMS00LjFDNDkuNyAxMTUuNCAxNiAxODEuOCAxNiAyNTZjMCAxMzIuNSAxMDcuNSAyNDAgMjQwIDI0MHMyNDAtMTA3LjUgMjQwLTI0MGMwLTc0LjItMzMuOC0xNDAuNi04Ni42LTE4NC42Yy0xMy42LTExLjMtMzMuOC05LjQtNDUuMSA0LjFzLTkuNCAzMy44IDQuMSA0NS4xYzM4LjkgMzIuMyA2My41IDgxIDYzLjUgMTM1LjRjMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZzLTE3Ni03OC44LTE3Ni0xNzZjMC01NC40IDI0LjctMTAzLjEgNjMuNS0xMzUuNHpcIl1cbn07XG5jb25zdCBmYVJpZ2h0TG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyaWdodC1sb25nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJsb25nLWFycm93LWFsdC1yaWdodFwiXSwgXCJmMzBiXCIsIFwiTTMzNC41IDQxNGM4LjggMy44IDE5IDIgMjYtNC42bDE0NC0xMzZjNC44LTQuNSA3LjUtMTAuOCA3LjUtMTcuNHMtMi43LTEyLjktNy41LTE3LjRsLTE0NC0xMzZjLTctNi42LTE3LjItOC40LTI2LTQuNnMtMTQuNSAxMi41LTE0LjUgMjJsMCA3MkwzMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjg4IDAgMCA3MmMwIDkuNiA1LjcgMTguMiAxNC41IDIyelwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93QWx0UmlnaHQgPSBmYVJpZ2h0TG9uZztcbmNvbnN0IGZhRmxhZ1VzYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmbGFnLXVzYScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc0ZFwiLCBcIk0zMiAwQzQ5LjcgMCA2NCAxNC4zIDY0IDMybDAgMTYgNjktMTcuMmMzOC4xLTkuNSA3OC4zLTUuMSAxMTMuNSAxMi41YzQ2LjMgMjMuMiAxMDAuOCAyMy4yIDE0Ny4xIDBsOS42LTQuOEM0MjMuOCAyOC4xIDQ0OCA0My4xIDQ0OCA2Ni4xbDAgMzYuMS00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTIwLjMtOS00MS44LTE0LjctNjMuNi0xNi45bDAgMzIuMmMxNy40IDIuMSAzNC40IDYuNyA1MC42IDEzLjlsMTYuMSA3LjJjNDkuMiAyMS45IDEwNSAyMy44IDE1NS42IDUuNEw0NDggMTM2LjNsMCA2Mi00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTQwLjItMTcuOS04NS0yMi41LTEyOC4xLTEzLjNMNjQgMjAzLjFsMCAzMi43IDcwLjItMTUuMWMzNi40LTcuOCA3NC4zLTMuOSAxMDguNCAxMS4zbDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRMNDQ4IDIzMi4zbDAgNjItNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy00MC4yLTE3LjktODUtMjIuNS0xMjguMS0xMy4zTDY0IDI5OS4xbDAgMzIuNyA3MC4yLTE1LjFjMzYuNC03LjggNzQuMy0zLjkgMTA4LjQgMTEuM2wxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40TDQ0OCAzMjguM2wwIDMzLjVjMCAxMy4zLTguMyAyNS4zLTIwLjggMzBsLTM0LjcgMTNjLTQ2LjIgMTcuMy05Ny42IDE0LjYtMTQxLjctNy40Yy0zNy45LTE5LTgxLjMtMjMuNy0xMjIuNS0xMy40TDY0IDQwMGwwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjQgMC03MC41IDAtMzIuNyAwLTYzLjMgMC0zMi43IDAtNjMuMyAwLTMyLjdMMCA2NCAwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHptODAgOTZBMTYgMTYgMCAxIDAgODAgOTZhMTYgMTYgMCAxIDAgMzIgMHptMzIgMGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bS0zMiA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0zMiAwYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG5jb25zdCBmYUxhcHRvcEZpbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGFwdG9wLWZpbGUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1MWRcIiwgXCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjRsMCAyMjQtNDQuOCAwQzguNiAyODggMCAyOTYuNiAwIDMwNy4yQzAgMzQ5LjYgMzQuNCAzODQgNzYuOCAzODRMMzIwIDM4NGwwLTk2LTE5MiAwIDAtMjI0IDMyMCAwIDAgMzIgNjQgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOCAwek01MTIgMTI4bC0xMTIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAyODhjMCAyNi41IDIxLjUgNDggNDggNDhsMTkyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMDgtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnptMzIgMGwwIDk2IDk2IDAtOTYtOTZ6XCJdXG59O1xuY29uc3QgZmFUdHkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHR5JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ0ZWxldHlwZVwiXSwgXCJmMWU0XCIsIFwiTTM4LjMgMjQxLjNMMTUuMSAyMDAuNmMtOS4yLTE2LjItOC40LTM2LjUgNC41LTUwQzYxLjQgMTA2LjggMTQ0LjcgNDggMjU2IDQ4czE5NC42IDU4LjggMjM2LjQgMTAyLjZjMTIuOSAxMy41IDEzLjcgMzMuOCA0LjUgNTBsLTIzLjEgNDAuN2MtNy41IDEzLjItMjMuMyAxOS4zLTM3LjggMTQuNmwtODEuMS0yNi42Yy0xMy4xLTQuMy0yMi0xNi42LTIyLTMwLjRsMC01NC44Yy00OS42LTE4LjEtMTA0LTE4LjEtMTUzLjYgMGwwIDU0LjhjMCAxMy44LTguOSAyNi4xLTIyIDMwLjRMNzYuMSAyNTUuOGMtMTQuNSA0LjctMzAuMy0xLjQtMzcuOC0xNC42ek0zMiAzMzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0xNDQgMzIwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggNDMyYzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpcIl1cbn07XG5jb25zdCBmYVRlbGV0eXBlID0gZmFUdHk7XG5jb25zdCBmYURpYWdyYW1OZXh0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpYWdyYW0tbmV4dCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTQ3NlwiLCBcIk01MTIgMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xNjggMCAwIDY0IDQ2LjEgMGMyMS40IDAgMzIuMSAyNS45IDE3IDQxTDI3MyAzOTljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDE2OSAzMjljLTE1LjEtMTUuMS00LjQtNDEgMTctNDFsNDYuMSAwIDAtNjRMNjQgMjI0Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjR6TTQ0OCA0MTZsMC02NC04Mi43IDAgLjQtLjRjMTguNC0xOC40IDIwLjQtNDMuNyAxMS02My42bDcxLjMgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGw3MS4zIDBjLTkuNCAxOS45LTcuNCA0NS4yIDExIDYzLjZsLjQgLjRMNjQgMzUybDAgNjQgMTQ2LjcgMCA1LjcgNS43YzIxLjkgMjEuOSA1Ny4zIDIxLjkgNzkuMiAwbDUuNy01LjdMNDQ4IDQxNnpcIl1cbn07XG5jb25zdCBmYVBlcnNvblJpZmxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1yaWZsZScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0ZVwiLCBcIk0yNjUuMiAxOTJjMjUuNCAwIDQ5LjggNy4xIDcwLjggMTkuOUwzMzYgNTEybC0xOTIgMCAwLTE3NC4zTDkwLjQgNDI4LjNjLTExLjIgMTktMzUuOCAyNS4zLTU0LjggMTQuMXMtMjUuMy0zNS44LTE0LjEtNTQuOEw5Ny43IDI1OC44YzI0LjUtNDEuNCA2OS02Ni44IDExNy4xLTY2LjhsNTAuNCAwek0xNjAgODBhODAgODAgMCAxIDEgMTYwIDBBODAgODAgMCAxIDEgMTYwIDgwek00NDggMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxMTYuM2M5LjYgNS41IDE2IDE1LjkgMTYgMjcuN2wwIDEwOS4zIDE2LTUuMyAwLTU2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDg0LjVjMCA2LjktNC40IDEzLTEwLjkgMTUuMkw0ODAgMzI1LjNsMCAyNi43IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC00NCAwIDIzIDkyLjFjMi41IDEwLjEtNS4xIDE5LjktMTUuNSAxOS45TDQzMiA1MTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTk2LTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTQ0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtMzJjMC0xMS44IDYuNC0yMi4yIDE2LTI3LjdMNDE2IDMyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDAgMTYgMHpcIl1cbn07XG5jb25zdCBmYUhvdXNlTWVkaWNhbENpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTEyXCIsIFwiTTMyMCAzNjhjMCA1OS41IDI5LjUgMTEyLjEgNzQuOCAxNDRsLTI2Ni43IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTYwLjQtMzIgMGMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTIyLjEgMTkzLjljLTguNS0xLjMtMTcuMy0xLjktMjYuMS0xLjljLTU0LjcgMC0xMDMuNSAyNC45LTEzNS44IDY0TDMyMCAyNTZsMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wLTE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYUNsb3NlZENhcHRpb25pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvc2VkLWNhcHRpb25pbmcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYyMGFcIiwgXCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTIwMCAyMDhjMTQuMiAwIDI3IDYuMSAzNS44IDE2YzguOCA5LjkgMjQgMTAuNyAzMy45IDEuOXMxMC43LTI0IDEuOS0zMy45Yy0xNy41LTE5LjYtNDMuMS0zMi03MS41LTMyYy01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2YzI4LjQgMCA1NC0xMi40IDcxLjUtMzJjOC44LTkuOSA4LTI1LTEuOS0zMy45cy0yNS04LTMzLjkgMS45Yy04LjggOS45LTIxLjYgMTYtMzUuOCAxNmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OHptMTQ0IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4YzE0LjIgMCAyNyA2LjEgMzUuOCAxNmM4LjggOS45IDI0IDEwLjcgMzMuOSAxLjlzMTAuNy0yNCAxLjktMzMuOWMtMTcuNS0xOS42LTQzLjEtMzItNzEuNS0zMmMtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMyOC40IDAgNTQtMTIuNCA3MS41LTMyYzguOC05LjkgOC0yNS0xLjktMzMuOXMtMjUtOC0zMy45IDEuOWMtOC44IDkuOS0yMS42IDE2LTM1LjggMTZjLTI2LjUgMC00OC0yMS41LTQ4LTQ4elwiXVxufTtcbmNvbnN0IGZhUGVyc29uSGlraW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1oaWtpbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImhpa2luZ1wiXSwgXCJmNmVjXCIsIFwiTTE5MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem01MS4zIDE4Mi43TDIyNC4yIDMwN2w0OS43IDQ5LjdjOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlsMCA4OS40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODIuNy03My45LTczLjljLTE1LjgtMTUuOC0yMi4yLTM4LjYtMTYuOS02MC4zbDIwLjQtODRjOC4zLTM0LjEgNDIuNy01NC45IDc2LjctNDYuNGMxOSA0LjggMzUuNiAxNi40IDQ2LjQgMzIuN0wzMDUuMSAyMDhsMzAuOSAwIDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDU1LjhjMCAuMSAwIC4yIDAgLjJzMCAuMiAwIC4yTDM4NCA0ODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMTYtMzkuNCAwYy0xNiAwLTMxLTgtMzkuOS0yMS40bC0xMy4zLTIwek04MS4xIDQ3MS45TDExNy4zIDMzNGMzIDQuMiA2LjQgOC4yIDEwLjEgMTEuOWw0MS45IDQxLjlMMTQyLjkgNDg4LjFjLTQuNSAxNy4xLTIyIDI3LjMtMzkuMSAyMi44cy0yNy4zLTIyLTIyLjgtMzkuMXptNTUuNS0zNDZMMTAxLjQgMjY2LjVjLTMgMTIuMS0xNC45IDE5LjktMjcuMiAxNy45bC00Ny45LThjLTE0LTIuMy0yMi45LTE2LjMtMTkuMi0zMEwzMS45IDE1NWM5LjUtMzQuOCA0MS4xLTU5IDc3LjItNTlsNC4yIDBjMTUuNiAwIDI3LjEgMTQuNyAyMy4zIDI5Ljh6XCJdXG59O1xuY29uc3QgZmFIaWtpbmcgPSBmYVBlcnNvbkhpa2luZztcbmNvbnN0IGZhVmVudXNEb3VibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmVudXMtZG91YmxlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbOTg5MF0sIFwiZjIyNlwiLCBcIk0xOTIgMjg4YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHpNMzY4IDE3NmMwIDg2LjMtNjIuMSAxNTguMS0xNDQgMTczLjFsMCAzNC45IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTM0LjlDNzguMSAzMzQuMSAxNiAyNjIuMyAxNiAxNzZDMTYgNzguOCA5NC44IDAgMTkyIDBzMTc2IDc4LjggMTc2IDE3NnpNMzQ0IDMxOGMxNC42LTE1LjYgMjYuOC0zMy40IDM2LTUzYzE4LjggMTQuNCA0Mi40IDIzIDY4IDIzYzYxLjkgMCAxMTItNTAuMSAxMTItMTEycy01MC4xLTExMi0xMTItMTEyYy0yNS42IDAtNDkuMSA4LjYtNjggMjNjLTkuMy0xOS41LTIxLjUtMzcuNC0zNi01M0MzNzMuMSAxMi42IDQwOS4xIDAgNDQ4IDBjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzZjMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0IDE3My4xbDAgMzQuOSAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0zNC45Yy0yNi42LTQuOS01MS4xLTE1LjctNzItMzEuMXpcIl1cbn07XG5jb25zdCBmYUltYWdlcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbWFnZXMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYzMDJcIiwgXCJNMTYwIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzNTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NEwxNjAgMzJ6TTM5NiAxMzguN2w5NiAxNDRjNC45IDcuNCA1LjQgMTYuOCAxLjIgMjQuNlM0ODAuOSAzMjAgNDcyIDMyMGwtMTQ0IDAtNDggMC04MCAwYy05LjIgMC0xNy42LTUuMy0yMS42LTEzLjZzLTIuOS0xOC4yIDIuOS0yNS40bDY0LTgwYzQuNi01LjcgMTEuNC05IDE4LjctOXMxNC4yIDMuMyAxOC43IDlsMTcuMyAyMS42IDU2LTg0QzM2MC41IDEzMiAzNjggMTI4IDM3NiAxMjhzMTUuNSA0IDIwIDEwLjd6TTE5MiAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNNDggMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTA2LjcgMCAxMjBMMCAzNDRjMCA3NS4xIDYwLjkgMTM2IDEzNiAxMzZsMzIwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyMCAwYy00OC42IDAtODgtMzkuNC04OC04OGwwLTIyNHpcIl1cbn07XG5jb25zdCBmYUNhbGN1bGF0b3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsY3VsYXRvcicsXG4gIGljb246IFszODQsIDUxMiwgWzEyODQyNV0sIFwiZjFlY1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek05NiA2NGwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMzIgMTYwYTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6TTk2IDM1MmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTkyIDI1NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bTY0LTY0YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNMjg4IDQ0OGEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6XCJdXG59O1xuY29uc3QgZmFQZW9wbGVQdWxsaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Blb3BsZS1wdWxsaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTM1XCIsIFwiTTgwIDk2QTQ4IDQ4IDAgMSAwIDgwIDBhNDggNDggMCAxIDAgMCA5NnpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmM5LjggMCAxOC41LTQuNCAyNC40LTExLjJMODAuNCA0ODUuM2MyLjkgMTcuNCAxOS40IDI5LjIgMzYuOCAyNi4zczI5LjItMTkuNCAyNi4zLTM2LjhMMTIzLjEgMzUybDE1LjcgMCAzMCAxMzQuOWMzLjggMTcuMyAyMC45IDI4LjEgMzguMiAyNC4zczI4LjEtMjAuOSAyNC4zLTM4LjJsLTU3LjMtMjU4IDExNi4zIDUzLjhjLjUgLjMgMS4xIC41IDEuNiAuN2M4LjYgMy42IDE4IDMuMSAyNS45LS43YzMuNC0xLjYgNi42LTMuOSA5LjMtNi43YzMuMS0zLjIgNS41LTcgNy4xLTExLjRjLjEtLjMgLjItLjcgLjMtMWwyLjUtNy41YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45TDUzNyAyMzIuN2wtMTUuMy0zNi44QzUwNC41IDE1NC44IDQ2NC4zIDEyOCA0MTkuNyAxMjhjLTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMjQuNCAxMC45LTQ0LjYgMjktNTguMSA1MS42TDE1Ny4zIDEzNi45QzE0NC43IDEzMSAxMzAuOSAxMjggMTE3IDEyOGwtNTMgMHpNNDY0IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMzQ5LjcgMzM1LjZsLTI1IDYyLjQtNTkuNCA1OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDM3Mi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6XCJdXG59O1xuY29uc3QgZmFOID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMTBdLCBcIjRlXCIsIFwiTTIxLjEgMzMuOWMxMi43LTQuNiAyNi45LS43IDM1LjUgOS42TDMyMCAzNTkuNiAzMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDM4NGMwIDEzLjUtOC40IDI1LjUtMjEuMSAzMC4xcy0yNi45IC43LTM1LjUtOS42TDY0IDE1Mi40IDY0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkwwIDY0QzAgNTAuNSA4LjQgMzguNSAyMS4xIDMzLjl6XCJdXG59O1xuY29uc3QgZmFDYWJsZUNhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWJsZS1jYXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg2NzMsIDU3NTUxLCBcInRyYW1cIl0sIFwiZjdkYVwiLCBcIk0yODggMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE2MCA1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zMiAyODhjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTM2IDAgMC02Ni41LTIwMy4xIDQyYy0xMyAyLjctMjUuNy01LjctMjguNC0xOC42czUuNy0yNS43IDE4LjYtMjguNGwyMzItNDggMjMyLTQ4YzEzLTIuNyAyNS43IDUuNyAyOC40IDE4LjZzLTUuNyAyNS43LTE4LjYgMjguNEwyODAgMTQ3LjVsMCA3Ni41IDEzNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjB6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw2NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtNjQgMHptMTEyIDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDY0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDY0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2bC02NCAwelwiXVxufTtcbmNvbnN0IGZhVHJhbSA9IGZhQ2FibGVDYXI7XG5jb25zdCBmYUNsb3VkUmFpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1yYWluJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzgzLCA5OTI2XSwgXCJmNzNkXCIsIFwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NmMwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMkM2NC43IDEyNi4xIDY0IDExOS4xIDY0IDExMkM2NCA1MC4xIDExNC4xIDAgMTc2IDBjNDMuMSAwIDgwLjUgMjQuMyA5OS4yIDYwYzE0LjctMTcuMSAzNi41LTI4IDYwLjgtMjhjNDQuMiAwIDgwIDM1LjggODAgODBjMCA1LjUtLjYgMTAuOC0xLjYgMTZjLjUgMCAxLjEgMCAxLjYgMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5Nkw5NiAzMjB6bS02LjggNTJjMS4zLTIuNSAzLjktNCA2LjgtNHM1LjQgMS41IDYuOCA0bDM1LjEgNjQuNmM0LjEgNy41IDYuMiAxNS44IDYuMiAyNC4zbDAgM2MwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTNjMC04LjUgMi4xLTE2LjkgNi4yLTI0LjNMODkuMiAzNzJ6bTE2MCAwYzEuMy0yLjUgMy45LTQgNi44LTRzNS40IDEuNSA2LjggNGwzNS4xIDY0LjZjNC4xIDcuNSA2LjIgMTUuOCA2LjIgMjQuM2wwIDNjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0zYzAtOC41IDIuMS0xNi45IDYuMi0yNC4zTDI0OS4yIDM3MnptMTI0LjkgNjQuNkw0MDkuMiAzNzJjMS4zLTIuNSAzLjktNCA2LjgtNHM1LjQgMS41IDYuOCA0bDM1LjEgNjQuNmM0LjEgNy41IDYuMiAxNS44IDYuMiAyNC4zbDAgM2MwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTNjMC04LjUgMi4xLTE2LjkgNi4yLTI0LjN6XCJdXG59O1xuY29uc3QgZmFCdWlsZGluZ0NpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLWNpcmNsZS14bWFyaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRkNFwiLCBcIk00OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDk2IDBjMTUuMSAwIDI4LjUtNi45IDM3LjMtMTcuOEMzNDAuNCA0NjIuMiAzMjAgNDE3LjUgMzIwIDM2OGMwLTU0LjcgMjQuOS0xMDMuNSA2NC0xMzUuOEwzODQgNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMHpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTExMi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek04MCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNTE4LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQ5NiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQ3My40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDk2IDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xuY29uc3QgZmFTaGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg2NzRdLCBcImYyMWFcIiwgXCJNMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyTDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgNDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDEyOCA0NC40IDE0LjhjMjMuMSA3LjcgMjkuNSAzNy41IDExLjUgNTMuOWwtMTAxIDkyLjZjLTE2LjIgOS40LTM0LjcgMTUuMS01MC45IDE1LjFjLTE5LjYgMC00MC44LTcuNy01OS4yLTIwLjNjLTIyLjEtMTUuNS01MS42LTE1LjUtNzMuNyAwYy0xNy4xIDExLjgtMzggMjAuMy01OS4yIDIwLjNjLTE2LjIgMC0zNC43LTUuNy01MC45LTE1LjFsLTEwMS05Mi42Yy0xOC0xNi41LTExLjYtNDYuMiAxMS41LTUzLjlMOTYgMjQwbDAtMTI4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQ4IDAgMC0zMnpNMTYwIDIxOC43bDEwNy44LTM1LjljMTMuMS00LjQgMjcuMy00LjQgNDAuNSAwTDQxNiAyMTguN2wwLTkwLjctMjU2IDAgMCA5MC43ek0zMDYuNSA0MjEuOUMzMjkgNDM3LjQgMzU2LjUgNDQ4IDM4NCA0NDhjMjYuOSAwIDU1LjQtMTAuOCA3Ny40LTI2LjFjMCAwIDAgMCAwIDBjMTEuOS04LjUgMjguMS03LjggMzkuMiAxLjdjMTQuNCAxMS45IDMyLjUgMjEgNTAuNiAyNS4yYzE3LjIgNCAyNy45IDIxLjIgMjMuOSAzOC40cy0yMS4yIDI3LjktMzguNCAyMy45Yy0yNC41LTUuNy00NC45LTE2LjUtNTguMi0yNUM0NDkuNSA1MDEuNyA0MTcgNTEyIDM4NCA1MTJjLTMxLjkgMC02MC42LTkuOS04MC40LTE4LjljLTUuOC0yLjctMTEuMS01LjMtMTUuNi03LjdjLTQuNSAyLjQtOS43IDUuMS0xNS42IDcuN2MtMTkuOCA5LTQ4LjUgMTguOS04MC40IDE4LjljLTMzIDAtNjUuNS0xMC4zLTk0LjUtMjUuOGMtMTMuNCA4LjQtMzMuNyAxOS4zLTU4LjIgMjVjLTE3LjIgNC0zNC40LTYuNy0zOC40LTIzLjlzNi43LTM0LjQgMjMuOS0zOC40YzE4LjEtNC4yIDM2LjItMTMuMyA1MC42LTI1LjJjMTEuMS05LjQgMjcuMy0xMC4xIDM5LjItMS43YzAgMCAwIDAgMCAwQzEzNi43IDQzNy4yIDE2NS4xIDQ0OCAxOTIgNDQ4YzI3LjUgMCA1NS0xMC42IDc3LjUtMjYuMWMxMS4xLTcuOSAyNS45LTcuOSAzNyAwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dzRG93blRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtZG93bi10by1saW5lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGI4XCIsIFwiTTU0NCA0MTZMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyem0yMi42LTEzNy40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDQ4MCAyNzQuNyA0ODAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMTAuNy00MS40LTQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDk2LTk2em0tMzIwLTQ1LjNjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwTDE2MCAyNzQuNyAxNjAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMTAuN0w1NC42IDIzMy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG5jb25zdCBmYURvd25sb2FkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rvd25sb2FkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDE5XCIsIFwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI0Mi43LTczLjQtNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDI4OCAyNzQuNyAyODggMzJ6TTY0IDM1MmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMDEuNSAwLTQ1LjMgNDUuM2MtMjUgMjUtNjUuNSAyNS05MC41IDBMMTY1LjUgMzUyIDY0IDM1MnptMzY4IDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG5jb25zdCBmYUZhY2VHcmluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3JpbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUxMiwgXCJncmluXCJdLCBcImY1ODBcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4OC4xIDMxMi44YzEyLjMtMy44IDI0LjMgNi45IDE5LjMgMTguN0MzODIuNCAzOTAuNiAzMjQuMiA0MzIgMjU2LjMgNDMycy0xMjYuMi00MS40LTE1MS4xLTEwMC41Yy01LTExLjggNy0yMi41IDE5LjMtMTguN2MzOS43IDEyLjIgODQuNSAxOSAxMzEuOCAxOXM5Mi4xLTYuOCAxMzEuOC0xOXpNMTQ0LjQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFHcmluID0gZmFGYWNlR3JpbjtcbmNvbnN0IGZhRGVsZXRlTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkZWxldGUtbGVmdCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzkwMDMsIFwiYmFja3NwYWNlXCJdLCBcImY1NWFcIiwgXCJNNTc2IDEyOGMwLTM1LjMtMjguNy02NC02NC02NEwyMDUuMyA2NGMtMTcgMC0zMy4zIDYuNy00NS4zIDE4LjdMOS40IDIzMy40Yy02IDYtOS40IDE0LjEtOS40IDIyLjZzMy40IDE2LjYgOS40IDIyLjZMMTYwIDQyOS4zYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdMNTEyIDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NnpNMjcxIDE3NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3IDQ3IDQ3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3LTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ3LTQ3LTQ3LTQ3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpcIl1cbn07XG5jb25zdCBmYUJhY2tzcGFjZSA9IGZhRGVsZXRlTGVmdDtcbmNvbnN0IGZhRXllRHJvcHBlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdleWUtZHJvcHBlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXllLWRyb3BwZXItZW1wdHlcIiwgXCJleWVkcm9wcGVyXCJdLCBcImYxZmJcIiwgXCJNMzQxLjYgMjkuMkwyNDAuMSAxMzAuOGwtOS40LTkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05LjQtOS40TDQ4Mi44IDE3MC40YzM5LTM5IDM5LTEwMi4yIDAtMTQxLjFzLTEwMi4yLTM5LTE0MS4xIDB6TTU1LjQgMzIzLjNjLTE1IDE1LTIzLjQgMzUuNC0yMy40IDU2LjZsMCA0Mi40TDUuNCA0NjIuMmMtOC41IDEyLjctNi44IDI5LjYgNCA0MC40czI3LjcgMTIuNSA0MC40IDRMODkuNyA0ODBsNDIuNCAwYzIxLjIgMCA0MS42LTguNCA1Ni42LTIzLjRMMzA5LjQgMzM1LjlsLTQ1LjMtNDUuM0wxNDMuNCA0MTEuM2MtMyAzLTcuMSA0LjctMTEuMyA0LjdMOTYgNDE2bDAtMzYuMWMwLTQuMiAxLjctOC4zIDQuNy0xMS4zTDIyMS40IDI0Ny45bC00NS4zLTQ1LjNMNTUuNCAzMjMuM3pcIl1cbn07XG5jb25zdCBmYUV5ZURyb3BwZXJFbXB0eSA9IGZhRXllRHJvcHBlcjtcbmNvbnN0IGZhRXllZHJvcHBlciA9IGZhRXllRHJvcHBlcjtcbmNvbnN0IGZhRmlsZUNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNWEwXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNMjg4IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEw0MTYgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG5jb25zdCBmYUZvcndhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9yd2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzkxOTNdLCBcImYwNGVcIiwgXCJNNTIuNSA0NDAuNmMtOS41IDcuOS0yMi44IDkuNy0zNC4xIDQuNFMwIDQyOC40IDAgNDE2TDAgOTZDMCA4My42IDcuMiA3Mi4zIDE4LjQgNjdzMjQuNS0zLjYgMzQuMSA0LjRMMjI0IDIxNC4zbDAgNDEuNyAwIDQxLjdMNTIuNSA0NDAuNnpNMjU2IDM1MmwwLTk2IDAtMTI4IDAtMzJjMC0xMi40IDcuMi0yMy43IDE4LjQtMjlzMjQuNS0zLjYgMzQuMSA0LjRsMTkyIDE2MGM3LjMgNi4xIDExLjUgMTUuMSAxMS41IDI0LjZzLTQuMiAxOC41LTExLjUgMjQuNmwtMTkyIDE2MGMtOS41IDcuOS0yMi44IDkuNy0zNC4xIDQuNHMtMTguNC0xNi42LTE4LjQtMjlsMC02NHpcIl1cbn07XG5jb25zdCBmYU1vYmlsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb2JpbGUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgyNDEsIFwibW9iaWxlLWFuZHJvaWRcIiwgXCJtb2JpbGUtcGhvbmVcIl0sIFwiZjNjZVwiLCBcIk04MCAwQzQ0LjcgMCAxNiAyOC43IDE2IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDgwIDB6bTgwIDQzMmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhTW9iaWxlQW5kcm9pZCA9IGZhTW9iaWxlO1xuY29uc3QgZmFNb2JpbGVQaG9uZSA9IGZhTW9iaWxlO1xuY29uc3QgZmFGYWNlTWVoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtbWVoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTI4LCBcIm1laFwiXSwgXCJmMTFhXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYuNCAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMTYwIDMzNmwxOTIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFNZWggPSBmYUZhY2VNZWg7XG5jb25zdCBmYUFsaWduQ2VudGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FsaWduLWNlbnRlcicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjAzN1wiLCBcIk0zNTIgNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMTI4IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyem05NiAxMjhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0zNTIgMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpcIl1cbn07XG5jb25zdCBmYUJvb2tTa3VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLXNrdWxsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJib29rLWRlYWRcIl0sIFwiZjZiN1wiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDM4NCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMEw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjRMOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzIwIDExMmMwLTM1LjMtMzUuOC02NC04MC02NHMtODAgMjguNy04MCA2NGMwIDIwLjkgMTIuNiAzOS41IDMyIDUxLjJsMCAxMi44YzAgOC44IDcuMiAxNiAxNiAxNmw2NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyLjhjMTkuNC0xMS43IDMyLTMwLjMgMzItNTEuMnpNMjA4IDk2YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnptNDggMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpNMTM0LjMgMjA5LjNjLTguMS0zLjUtMTcuNSAuMy0yMSA4LjRzLjMgMTcuNSA4LjQgMjFMMTk5LjQgMjcybC03Ny43IDMzLjNjLTguMSAzLjUtMTEuOSAxMi45LTguNCAyMXMxMi45IDExLjkgMjEgOC40TDI0MCAyODkuNGwxMDUuNyA0NS4zYzguMSAzLjUgMTcuNS0uMyAyMS04LjRzLS4zLTE3LjUtOC40LTIxTDI4MC42IDI3Mmw3Ny43LTMzLjNjOC4xLTMuNSAxMS45LTEyLjkgOC40LTIxcy0xMi45LTExLjktMjEtOC40TDI0MCAyNTQuNiAxMzQuMyAyMDkuM3pcIl1cbn07XG5jb25zdCBmYUJvb2tEZWFkID0gZmFCb29rU2t1bGw7XG5jb25zdCBmYUlkQ2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpZC1jYXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNjIxNDcsIFwiZHJpdmVycy1saWNlbnNlXCJdLCBcImYyYzJcIiwgXCJNMCA5Nmw1NzYgMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2em0wIDMyTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4TDAgMTI4ek02NCA0MDUuM2MwLTI5LjUgMjMuOS01My4zIDUzLjMtNTMuM2wxMTcuMyAwYzI5LjUgMCA1My4zIDIzLjkgNTMuMyA1My4zYzAgNS45LTQuOCAxMC43LTEwLjcgMTAuN0w3NC43IDQxNmMtNS45IDAtMTAuNy00LjgtMTAuNy0xMC43ek0xNzYgMTkyYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em0xNzYgMTZjMC04LjggNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2em0wIDY0YzAtOC44IDcuMi0xNiAxNi0xNmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnptMCA2NGMwLTguOCA3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFEcml2ZXJzTGljZW5zZSA9IGZhSWRDYXJkO1xuY29uc3QgZmFPdXRkZW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ291dGRlbnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImRlZGVudFwiXSwgXCJmMDNiXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMTkyIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA5NmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TTAgNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TS4yIDI2OC42Yy04LjItNi40LTguMi0xOC45IDAtMjUuM2wxMDEuOS03OS4zYzEwLjUtOC4yIDI1LjgtLjcgMjUuOCAxMi42bDAgMTU4LjZjMCAxMy4zLTE1LjMgMjAuOC0yNS44IDEyLjZMLjIgMjY4LjZ6XCJdXG59O1xuY29uc3QgZmFEZWRlbnQgPSBmYU91dGRlbnQ7XG5jb25zdCBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNGZlXCIsIFwiTTQ3LjYgMzAwLjRMMjI4LjMgNDY5LjFjNy41IDcgMTcuNCAxMC45IDI3LjcgMTAuOXMyMC4yLTMuOSAyNy43LTEwLjlsMi42LTIuNEMyNjcuMiA0MzguNiAyNTYgNDA0LjYgMjU2IDM2OGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NmMyOC4zIDAgNTUgNi43IDc4LjcgMTguNWMuOS02LjUgMS4zLTEzIDEuMy0xOS42bDAtNS44YzAtNjkuOS01MC41LTEyOS41LTExOS40LTE0MUMzNDcgMzYuNSAzMDAuNiA1MS40IDI2OCA4NEwyNTYgOTYgMjQ0IDg0Yy0zMi42LTMyLjYtNzktNDcuNS0xMjQuNi0zOS45QzUwLjUgNTUuNiAwIDExNS4yIDAgMTg1LjFsMCA1LjhjMCA0MS41IDE3LjIgODEuMiA0Ny42IDEwOS41ek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhSG91c2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjc5NjgsIDYzNDk4LCA2MzUwMCwgXCJob21lXCIsIFwiaG9tZS1hbHRcIiwgXCJob21lLWxnLWFsdFwiXSwgXCJmMDE1XCIsIFwiTTU3NS44IDI1NS41YzAgMTgtMTUgMzIuMS0zMiAzMi4xbC0zMiAwIC43IDE2MC4yYzAgMi43LS4yIDUuNC0uNSA4LjFsMCAxNi4yYzAgMjIuMS0xNy45IDQwLTQwIDQwbC0xNiAwYy0xLjEgMC0yLjIgMC0zLjMtLjFjLTEuNCAuMS0yLjggLjEtNC4yIC4xTDQxNiA1MTJsLTI0IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtMjQgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NCAwIDI0YzAgMjIuMS0xNy45IDQwLTQwIDQwbC0yNCAwLTMxLjkgMGMtMS41IDAtMy0uMS00LjUtLjJjLTEuMiAuMS0yLjQgLjItMy42IC4ybC0xNiAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTExMmMwLS45IDAtMS45IC4xLTIuOGwwLTY5LjctMzIgMGMtMTggMC0zMi0xNC0zMi0zMi4xYzAtOSAzLTE3IDEwLTI0TDI2Ni40IDhjNy03IDE1LTggMjItOHMxNSAyIDIxIDdMNTY0LjggMjMxLjVjOCA3IDEyIDE1IDExIDI0elwiXVxufTtcbmNvbnN0IGZhSG9tZSA9IGZhSG91c2U7XG5jb25zdCBmYUhvbWVBbHQgPSBmYUhvdXNlO1xuY29uc3QgZmFIb21lTGdBbHQgPSBmYUhvdXNlO1xuY29uc3QgZmFDYWxlbmRhcldlZWsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXItd2VlaycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc4NFwiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnptODAgNjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwyODggMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZMODAgMjU2elwiXVxufTtcbmNvbnN0IGZhTGFwdG9wTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsYXB0b3AtbWVkaWNhbCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjgxMlwiLCBcIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1Ni02NCAwIDAtMjU2TDEyOCA5NmwwIDI1Ni02NCAwTDY0IDk2ek0wIDQwMy4yQzAgMzkyLjYgOC42IDM4NCAxOS4yIDM4NGw2MDEuNiAwYzEwLjYgMCAxOS4yIDguNiAxOS4yIDE5LjJjMCA0Mi40LTM0LjQgNzYuOC03Ni44IDc2LjhMNzYuOCA0ODBDMzQuNCA0ODAgMCA0NDUuNiAwIDQwMy4yek0yODggMTYwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOThdLCBcIjQyXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAyNTYgMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTI4IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhjMC00Ni41LTI0LjgtODcuMy02Mi0xMDkuN2MxOC43LTIyLjMgMzAtNTEgMzAtODIuM2MwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEw2NCAzMnptOTYgMTkybC05NiAwTDY0IDk2bDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjR6TTY0IDI4OGw5NiAwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRMNjQgNDE2bDAtMTI4elwiXVxufTtcbmNvbnN0IGZhRmlsZU1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1tZWRpY2FsJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNDc3XCIsIFwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwyMjQgMCA2NCAwek0yNTYgMGwwIDEyOCAxMjggMEwyNTYgMHpNMTYwIDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OCA0OCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDAgMC00OHpcIl1cbn07XG5jb25zdCBmYURpY2VPbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGljZS1vbmUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODU2XSwgXCJmNTI1XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIyNCAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhS2l3aUJpcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAna2l3aS1iaXJkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNTM1XCIsIFwiTTI5MS4yIDM4OC40YzMxLjItMTguOCA2NC43LTM2LjQgMTAxLjEtMzYuNGw1NS43IDBjNC42IDAgOS4xLS4yIDEzLjYtLjdsODUuMyAxMjEuOWM0IDUuNyAxMS4zIDguMiAxNy45IDYuMXMxMS4yLTguMyAxMS4yLTE1LjNsMC0yNDBjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhsLTU1LjcgMGMtMzYuNCAwLTY5LjktMTcuNi0xMDEuMS0zNi40QzI2Mi4zIDQyLjEgMjI4LjMgMzIgMTkyIDMyQzg2IDMyIDAgMTE4IDAgMjI0YzAgNzEuMSAzOC42IDEzMy4xIDk2IDE2Ni4zTDk2IDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDZjMTUuMyAzLjkgMzEuNCA2IDQ4IDZjNS40IDAgMTAuNy0uMiAxNi0uN2wwIDQwLjdjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTUwLjljMTIuNC00LjQgMjQuMi0xMCAzNS4yLTE2Ljd6TTQ0OCAyMDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQXJyb3dSaWdodEFycm93TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy1yaWdodC1hcnJvdy1sZWZ0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbODY0NCwgXCJleGNoYW5nZVwiXSwgXCJmMGVjXCIsIFwiTTQzOC42IDE1MC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMzM4LjcgOTYgMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMzA2LjcgMC00MS40IDQxLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOTYtOTZ6bS0zMzMuMyAzNTJjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyA0MTYgNDE2IDQxNmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzA2LjcgMCA0MS40LTQxLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w5NiA5NnpcIl1cbn07XG5jb25zdCBmYUV4Y2hhbmdlID0gZmFBcnJvd1JpZ2h0QXJyb3dMZWZ0O1xuY29uc3QgZmFSb3RhdGVSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb3RhdGUtcmlnaHQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInJlZG8tYWx0XCIsIFwicm90YXRlLWZvcndhcmRcIl0sIFwiZjJmOVwiLCBcIk00NjMuNSAyMjRsOC41IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMjhjMC05LjctNS44LTE4LjUtMTQuOC0yMi4ycy0xOS4zLTEuNy0yNi4yIDUuMkw0MTMuNCA5Ni42Yy04Ny42LTg2LjUtMjI4LjctODYuMi0zMTUuOCAxYy04Ny41IDg3LjUtODcuNSAyMjkuMyAwIDMxNi44czIyOS4zIDg3LjUgMzE2LjggMGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGMtNjIuNSA2Mi41LTE2My44IDYyLjUtMjI2LjMgMHMtNjIuNS0xNjMuOCAwLTIyNi4zYzYyLjItNjIuMiAxNjIuNy02Mi41IDIyNS4zLTFMMzI3IDE4M2MtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMnMxMi41IDE0LjggMjIuMiAxNC44bDExOS41IDB6XCJdXG59O1xuY29uc3QgZmFSZWRvQWx0ID0gZmFSb3RhdGVSaWdodDtcbmNvbnN0IGZhUm90YXRlRm9yd2FyZCA9IGZhUm90YXRlUmlnaHQ7XG5jb25zdCBmYVV0ZW5zaWxzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3V0ZW5zaWxzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3ODYwLCA2MTY4NSwgXCJjdXRsZXJ5XCJdLCBcImYyZTdcIiwgXCJNNDE2IDBDNDAwIDAgMjg4IDMyIDI4OCAxNzZsMCAxMTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDAtMTEyIDAtMjA4YzAtMTcuNy0xNC4zLTMyLTMyLTMyek02NCAxNkM2NCA3LjggNTcuOSAxIDQ5LjcgLjFTMzQuMiA0LjYgMzIuNCAxMi41TDIuMSAxNDguOEMuNyAxNTUuMSAwIDE2MS41IDAgMTY3LjljMCA0NS45IDM1LjEgODMuNiA4MCA4Ny43TDgwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0LjRjNDQuOS00LjEgODAtNDEuOCA4MC04Ny43YzAtNi40LS43LTEyLjgtMi4xLTE5LjFMMTkxLjYgMTIuNWMtMS44LTgtOS4zLTEzLjMtMTcuNC0xMi40UzE2MCA3LjggMTYwIDE2bDAgMTM0LjJjMCA1LjQtNC40IDkuOC05LjggOS44Yy01LjEgMC05LjMtMy45LTkuOC05TDEyNy45IDE0LjZDMTI3LjIgNi4zIDEyMC4zIDAgMTEyIDBzLTE1LjIgNi4zLTE1LjkgMTQuNkw4My43IDE1MWMtLjUgNS4xLTQuNyA5LTkuOCA5Yy01LjQgMC05LjgtNC40LTkuOC05LjhMNjQgMTZ6bTQ4LjMgMTUybC0uMyAwLS4zIDAgLjMtLjcgLjMgLjd6XCJdXG59O1xuY29uc3QgZmFDdXRsZXJ5ID0gZmFVdGVuc2lscztcbmNvbnN0IGZhQXJyb3dVcFdpZGVTaG9ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC13aWRlLXNob3J0JyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFtb3VudC11cFwiXSwgXCJmMTYxXCIsIFwiTTE1MS42IDQyLjRDMTQ1LjUgMzUuOCAxMzcgMzIgMTI4IDMycy0xNy41IDMuOC0yMy42IDEwLjRsLTg4IDk2Yy0xMS45IDEzLTExLjEgMzMuMyAyIDQ1LjJzMzMuMyAxMS4xIDQ1LjItMkw5NiAxNDYuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwMS43IDMyLjQgMzUuNGMxMS45IDEzIDMyLjIgMTMuOSA0NS4yIDJzMTMuOS0zMi4yIDItNDUuMmwtODgtOTZ6TTMyMCA0ODBsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0wLTEyOGwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFTb3J0QW1vdW50VXAgPSBmYUFycm93VXBXaWRlU2hvcnQ7XG5jb25zdCBmYU1pbGxTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21pbGwtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFlZFwiLCBcIk0zMDIuMSA0Mi44YzUuOS0xNi42LTIuNy0zNS0xOS40LTQwLjlzLTM1IDIuNy00MC45IDE5LjRMMjA4IDExNi4xYy01LjcgNC0xMS4xIDguNS0xNiAxMy41QzE3MS43IDEwOC45IDE0My4zIDk2IDExMiA5NmMtMTkuNSAwLTM3LjggNS01My43IDEzLjdDNTIuNSAxMDEuNCA0Mi45IDk2IDMyIDk2QzE0LjMgOTYgMCAxMTAuMyAwIDEyOGwwIDgwTDAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMDhjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDQyLjVMODEuOSA0NjkuMmMtNS45IDE2LjYgMi43IDM1IDE5LjQgNDAuOXMzNS0yLjcgNDAuOS0xOS40bDIxLjQtNjBDMTY4LjkgNDQxIDE3OS42IDQ0OCAxOTIgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTU0LjUgMzUuNy0xMDBjMy45LTEgOC4xLTEuNiAxMi4zLTEuNmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIwOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjA4YzAtNTguMi00NC4zLTEwNi0xMDEuMS0xMTEuNWwxOS4yLTUzLjh6XCJdXG59O1xuY29uc3QgZmFCb3dsUmljZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3dsLXJpY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImUyZWJcIiwgXCJNMTc2IDU2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0yNCA0OGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek01NiAxNzZsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMCAyODMuNEMwIDI2OC4zIDEyLjMgMjU2IDI3LjQgMjU2bDQ1Ny4xIDBjMTUuMSAwIDI3LjQgMTIuMyAyNy40IDI3LjRjMCA3MC41LTQ0LjQgMTMwLjctMTA2LjcgMTU0LjFMNDAzLjUgNDUyYy0yIDE2LTE1LjYgMjgtMzEuOCAyOGwtMjMxLjUgMGMtMTYuMSAwLTI5LjgtMTItMzEuOC0yOGwtMS44LTE0LjRDNDQuNCA0MTQuMSAwIDM1My45IDAgMjgzLjR6TTIyNCAyMDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bS05NiAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tMjQtOTZsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMjE2IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tMjQtOTZsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMTIwIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tMjQtOTZsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjk2IDMybDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6XCJdXG59O1xuY29uc3QgZmFTa3VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdza3VsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODEyOF0sIFwiZjU0Y1wiLCBcIk00MTYgMzk4LjljNTguNS00MS4xIDk2LTEwNC4xIDk2LTE3NC45QzUxMiAxMDAuMyAzOTcuNCAwIDI1NiAwUzAgMTAwLjMgMCAyMjRjMCA3MC43IDM3LjUgMTMzLjggOTYgMTc0LjljMCAuNCAwIC43IDAgMS4xbDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA0OCA2NCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLS40IDAtLjcgMC0xLjF6TTk2IDI1NmE2NCA2NCAwIDEgMSAxMjggMEE2NCA2NCAwIDEgMSA5NiAyNTZ6bTI1Ni02NGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG5jb25zdCBmYVRvd2VyQnJvYWRjYXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvd2VyLWJyb2FkY2FzdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYnJvYWRjYXN0LXRvd2VyXCJdLCBcImY1MTlcIiwgXCJNODAuMyA0NEM2OS44IDY5LjkgNjQgOTguMiA2NCAxMjhzNS44IDU4LjEgMTYuMyA4NGM2LjYgMTYuNC0xLjMgMzUtMTcuNyA0MS43cy0zNS0xLjMtNDEuNy0xNy43QzcuNCAyMDIuNiAwIDE2Ni4xIDAgMTI4UzcuNCA1My40IDIwLjkgMjBDMjcuNiAzLjYgNDYuMi00LjMgNjIuNiAyLjNTODYuOSAyNy42IDgwLjMgNDR6TTU1NS4xIDIwQzU2OC42IDUzLjQgNTc2IDg5LjkgNTc2IDEyOHMtNy40IDc0LjYtMjAuOSAxMDhjLTYuNiAxNi40LTI1LjMgMjQuMy00MS43IDE3LjdTNDg5LjEgMjI4LjQgNDk1LjcgMjEyYzEwLjUtMjUuOSAxNi4zLTU0LjIgMTYuMy04NHMtNS44LTU4LjEtMTYuMy04NEM0ODkuMSAyNy42IDQ5NyA5IDUxMy40IDIuM3MzNSAxLjMgNDEuNyAxNy43ek0zNTIgMTI4YzAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNEwzMjAgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjk2LjZjLTE5LjEtMTEuMS0zMi0zMS43LTMyLTU1LjRjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHpNMTcwLjYgNzYuOEMxNjMuOCA5Mi40IDE2MCAxMDkuNyAxNjAgMTI4czMuOCAzNS42IDEwLjYgNTEuMmM3LjEgMTYuMi0uMyAzNS4xLTE2LjUgNDIuMXMtMzUuMS0uMy00Mi4xLTE2LjVjLTEwLjMtMjMuNi0xNi00OS42LTE2LTc2LjhzNS43LTUzLjIgMTYtNzYuOGM3LjEtMTYuMiAyNS45LTIzLjYgNDIuMS0xNi41czIzLjYgMjUuOSAxNi41IDQyLjF6TTQ2NCA1MS4yYzEwLjMgMjMuNiAxNiA0OS42IDE2IDc2LjhzLTUuNyA1My4yLTE2IDc2LjhjLTcuMSAxNi4yLTI1LjkgMjMuNi00Mi4xIDE2LjVzLTIzLjYtMjUuOS0xNi41LTQyLjFjNi44LTE1LjYgMTAuNi0zMi45IDEwLjYtNTEuMnMtMy44LTM1LjYtMTAuNi01MS4yYy03LjEtMTYuMiAuMy0zNS4xIDE2LjUtNDIuMXMzNS4xIC4zIDQyLjEgMTYuNXpcIl1cbn07XG5jb25zdCBmYUJyb2FkY2FzdFRvd2VyID0gZmFUb3dlckJyb2FkY2FzdDtcbmNvbnN0IGZhVHJ1Y2tQaWNrdXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stcGlja3VwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzYzXSwgXCJmNjNjXCIsIFwiTTM2OC42IDk2bDc2LjggOTZMMjg4IDE5MmwwLTk2IDgwLjYgMHpNMjI0IDgwbDAgMTEyTDY0IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMy4xIDBjLS43IDUuMi0xLjEgMTAuNi0xLjEgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmMwLTUuNC0uNC0xMC44LTEuMS0xNmw2Ni4zIDBjLS43IDUuMi0xLjEgMTAuNi0xLjEgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmMwLTUuNC0uNC0xMC44LTEuMS0xNmwzMy4xIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNDguNiAwTDQxOC42IDU2Yy0xMi4xLTE1LjItMzAuNS0yNC01MC0yNEwyNzIgMzJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4em0wIDI4OGE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwem0yODggMGE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwelwiXVxufTtcbmNvbnN0IGZhVXBMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VwLWxvbmcnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImxvbmctYXJyb3ctYWx0LXVwXCJdLCBcImYzMGNcIiwgXCJNMzE4IDE3Ny41YzMuOC04LjggMi0xOS00LjYtMjZsLTEzNi0xNDRDMTcyLjkgMi43IDE2Ni42IDAgMTYwIDBzLTEyLjkgMi43LTE3LjQgNy41bC0xMzYgMTQ0Yy02LjYgNy04LjQgMTcuMi00LjYgMjZTMTQuNCAxOTIgMjQgMTkybDcyIDAgMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTI4OCA3MiAwYzkuNiAwIDE4LjItNS43IDIyLTE0LjV6XCJdXG59O1xuY29uc3QgZmFMb25nQXJyb3dBbHRVcCA9IGZhVXBMb25nO1xuY29uc3QgZmFTdG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3AnLFxuICBpY29uOiBbMzg0LCA1MTIsIFs5MjA5XSwgXCJmMDRkXCIsIFwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0SDMyMGMzNS4zIDAgNjQgMjguNyA2NCA2NFYzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRINjRjLTM1LjMgMC02NC0yOC43LTY0LTY0VjEyOHpcIl1cbn07XG5jb25zdCBmYUNvZGVNZXJnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb2RlLW1lcmdlJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMzg3XCIsIFwiTTgwIDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMzIuNCA5Ny4yYzI4LTEyLjQgNDcuNi00MC41IDQ3LjYtNzMuMmMwLTQ0LjItMzUuOC04MC04MC04MFMwIDM1LjggMCA4MGMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgMjA1LjNDMTkuNyAzNzEgMCAzOTkuMiAwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC04Ni42YzI2LjcgMjAuMSA2MCAzMiA5NiAzMmw4Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OGM0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGMtMzIuOCAwLTYxIDE5LjctNzMuMyA0OEwyMDggMjQwYy00OS45IDAtOTEtMzguMS05NS42LTg2Ljh6TTgwIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTM0NCAyNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpcIl1cbn07XG5jb25zdCBmYVVwbG9hZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1cGxvYWQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwOTNcIiwgXCJNMjg4IDEwOS4zTDI4OCAzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNDIuNy03My40IDczLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTI4IDEyOGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwyODggMTA5LjN6TTY0IDM1MmwxMjggMGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyYzAtMzUuMyAyOC43LTY0IDY0LTY0ek00MzIgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpcIl1cbn07XG5jb25zdCBmYUh1cnJpY2FuZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdodXJyaWNhbmUnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImY3NTFcIiwgXCJNMCAyMDhDMCAxMDQuNCA3NS43IDE4LjUgMTc0LjkgMi42QzE4NCAxLjIgMTkyIDguNiAxOTIgMTcuOWwwIDYzLjNjMCA4LjQgNi41IDE1LjMgMTQuNyAxNi41QzMwNyAxMTIuNSAzODQgMTk5IDM4NCAzMDMuNGMwIDEwMy42LTc1LjcgMTg5LjUtMTc0LjkgMjA1LjRjLTkuMiAxLjUtMTcuMS01LjktMTcuMS0xNS4ybDAtNjMuM2MwLTguNC02LjUtMTUuMy0xNC43LTE2LjVDNzcgMzk4LjkgMCAzMTIuNCAwIDIwOHptMjg4IDQ4QTk2IDk2IDAgMSAwIDk2IDI1NmE5NiA5NiAwIDEgMCAxOTIgMHptLTk2LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYU1vdW5kID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW5kJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTJkXCIsIFwiTTE0NC4xIDE3OS4yQzE3My44IDEyNy43IDIyOC42IDk2IDI4OCA5NnMxMTQuMiAzMS43IDE0My45IDgzLjJMNTQwLjQgMzY4YzEyLjMgMjEuMy0zLjEgNDgtMjcuNyA0OEg2My4zYy0yNC42IDAtNDAtMjYuNi0yNy43LTQ4TDE0NC4xIDE3OS4yelwiXVxufTtcbmNvbnN0IGZhVG9pbGV0UG9ydGFibGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndG9pbGV0LXBvcnRhYmxlJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTgzXCIsIFwiTTAgMzJMMCA2NGwzMjAgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyek0yNCA5NkwwIDk2bDAgMjRMMCA0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTggMjI0IDAgMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zNjggMC0yNC0yNCAwTDI0IDk2ek0yNTYgMjQwbDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2elwiXVxufTtcbmNvbnN0IGZhQ29tcGFjdERpc2MgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tcGFjdC1kaXNjJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTkxLCAxMjgxOTIsIDEyODQ0MF0sIFwiZjUxZlwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTI1NiAzMmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bS05Ni0zMmE5NiA5NiAwIDEgMCAxOTIgMCA5NiA5NiAwIDEgMCAtMTkyIDB6TTk2IDI0MGMwLTM1IDE3LjUtNzEuMSA0NS4yLTk4LjhTMjA1IDk2IDI0MCA5NmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtNDUuNCAwLTg5LjIgMjIuMy0xMjEuNSA1NC41UzY0IDE5NC42IDY0IDI0MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2elwiXVxufTtcbmNvbnN0IGZhRmlsZUFycm93RG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWFycm93LWRvd24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImZpbGUtZG93bmxvYWRcIl0sIFwiZjU2ZFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTIxNiAyMzJsMCAxMDIuMSAzMS0zMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtNzItNzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzMSAzMUwxNjggMjMyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6XCJdXG59O1xuY29uc3QgZmFGaWxlRG93bmxvYWQgPSBmYUZpbGVBcnJvd0Rvd247XG5jb25zdCBmYUNhcmF2YW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyYXZhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjhmZlwiLCBcIk0wIDExMkMwIDY3LjggMzUuOCAzMiA4MCAzMmwzMzYgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MGwwIDE2MCAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwLTI4OCAwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bC0xNiAwYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDExMnpNMzIwIDM1MmwxMjggMCAwLTk2LTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMzIgMCAwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE5MnpNOTYgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMTI4em05NiAzMzZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2elwiXVxufTtcbmNvbnN0IGZhU2hpZWxkQ2F0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1jYXQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NzJcIiwgXCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjJjLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yYzE2LjcgOCAzNi4xIDggNTIuOCAwQzQ1NC43IDQyMC43IDQ5NS41IDIzOS4yIDQ5NiAxNDBjLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTYwIDE1NC40YzAtNS44IDQuNy0xMC40IDEwLjQtMTAuNGwuMiAwYzMuNCAwIDYuNSAxLjYgOC41IDQuM2w0MCA1My4zYzMgNCA3LjggNi40IDEyLjggNi40bDQ4IDBjNSAwIDkuOC0yLjQgMTIuOC02LjRsNDAtNTMuM2MyLTIuNyA1LjItNC4zIDguNS00LjNsLjIgMGM1LjggMCAxMC40IDQuNyAxMC40IDEwLjRMMzUyIDI3MmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwwLTExNy42ek0yMTYgMjg4YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptOTYtMTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHpcIl1cbn07XG5jb25zdCBmYUJvbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9sdCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzk4ODksIFwiemFwXCJdLCBcImYwZTdcIiwgXCJNMzQ5LjQgNDQuNmM1LjktMTMuNyAxLjUtMjkuNy0xMC42LTM4LjVzLTI4LjYtOC0zOS45IDEuOGwtMjU2IDIyNGMtMTAgOC44LTEzLjYgMjIuOS04LjkgMzUuM1M1MC43IDI4OCA2NCAyODhsMTExLjUgMEw5OC42IDQ2Ny40Yy01LjkgMTMuNy0xLjUgMjkuNyAxMC42IDM4LjVzMjguNiA4IDM5LjktMS44bDI1Ni0yMjRjMTAtOC44IDEzLjYtMjIuOSA4LjktMzUuM3MtMTYuNi0yMC43LTMwLTIwLjdsLTExMS41IDBMMzQ5LjQgNDQuNnpcIl1cbn07XG5jb25zdCBmYVphcCA9IGZhQm9sdDtcbmNvbnN0IGZhR2xhc3NXYXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnbGFzcy13YXRlcicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRmNFwiLCBcIk0zMiAwQzIzLjEgMCAxNC42IDMuNyA4LjYgMTAuMlMtLjYgMjUuNCAuMSAzNC4zTDI4LjkgNDM3LjdjMyA0MS45IDM3LjggNzQuMyA3OS44IDc0LjNsMTY2LjYgMGM0MiAwIDc2LjgtMzIuNCA3OS44LTc0LjNMMzgzLjkgMzQuM2MuNi04LjktMi40LTE3LjYtOC41LTI0LjFTMzYwLjkgMCAzNTIgMEwzMiAwek03MyAxNTYuNUw2Ni40IDY0bDI1MS4zIDBMMzExIDE1Ni41bC0yNC4yIDEyLjFjLTE5LjQgOS43LTQyLjIgOS43LTYxLjYgMGMtMjAuOS0xMC40LTQ1LjUtMTAuNC02Ni40IDBjLTE5LjQgOS43LTQyLjIgOS43LTYxLjYgMEw3MyAxNTYuNXpcIl1cbn07XG5jb25zdCBmYU9pbFdlbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb2lsLXdlbGwnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MzJcIiwgXCJNNTI4LjMgNjEuM2MtMTEuNC00Mi43LTU1LjMtNjgtOTgtNTYuNkw0MTQuOSA4LjhDMzk3LjggMTMuNCAzODcuNyAzMSAzOTIuMyA0OGwyNC41IDkxLjRMMzA4LjUgMTY3LjVsLTYuMy0xOC4xQzI5Ny43IDEzNi42IDI4NS42IDEyOCAyNzIgMTI4cy0yNS43IDguNi0zMC4yIDIxLjRsLTEzLjYgMzlMOTYgMjIyLjYgOTYgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjY0LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEzNy4zIDBMMzQwIDI1Ny41bC02Mi4yIDE2LjFMMzA1LjMgMzUybC02Ni42IDBMMjY1IDI3N2wtNzQuNiAxOS4zTDEzNy4zIDQ0OCA5NiA0NDhsMC0xNTkuMiAzMzcuNC04Ny41IDI1LjIgOTRjNC42IDE3LjEgMjIuMSAyNy4yIDM5LjIgMjIuNmwxNS41LTQuMWM0Mi43LTExLjQgNjgtNTUuMyA1Ni42LTk4TDUyOC4zIDYxLjN6TTIwNS4xIDQ0OGwxMS4yLTMyIDExMS40IDAgMTEuMiAzMi0xMzMuOCAwelwiXVxufTtcbmNvbnN0IGZhVmF1bHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmF1bHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUyYzVcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTYgMCAxNiAzMiA2NCAwIDE2LTMyIDIyNCAwIDE2IDMyIDY0IDAgMTYtMzIgMTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM1MmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0yMjQgMzIwYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wLTI0MGExNjAgMTYwIDAgMSAxIDAgMzIwIDE2MCAxNjAgMCAxIDEgMC0zMjB6TTQ4MCAyMjEuM0w0ODAgMzM2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTE0LjdjLTE4LjYtNi42LTMyLTI0LjQtMzItNDUuM2MwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4YzAgMjAuOS0xMy40IDM4LjctMzIgNDUuM3pcIl1cbn07XG5jb25zdCBmYU1hcnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFycycsXG4gIGljb246IFs0NDgsIDUxMiwgWzk3OTRdLCBcImYyMjJcIiwgXCJNMjg5LjggNDYuOGMzLjctOSAxMi41LTE0LjggMjIuMi0xNC44bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTEyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTMzLjQtMzMuNEwzMjEgMjA0LjJjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOGMwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMwIDQwMS4yIDAgMzA0czc4LjgtMTc2IDE3Ni0xNzZjMzcgMCA3MS40IDExLjQgOTkuOCAzMWw1Mi42LTUyLjZMMjk1IDczYy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yek00MDAgODBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDB6TTE3NiA0MTZhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0elwiXVxufTtcbmNvbnN0IGZhVG9pbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RvaWxldCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODcwMV0sIFwiZjdkOFwiLCBcIk0yNCAwQzEwLjcgMCAwIDEwLjcgMCAyNFMxMC43IDQ4IDI0IDQ4bDggMCAwIDE0OC45Yy0xLjkgMS40LTMuOCAyLjktNS42IDQuNEMxMC45IDIxNC41IDAgMjMyLjkgMCAyNTZjMCA0Ni45IDE0LjMgODQuMSAzNyAxMTIuNWMxNC4yIDE3LjcgMzEuMSAzMS4zIDQ4LjUgNDEuOEw2NS42IDQ2OS45Yy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44czE1LjcgMTMuMyAyNiAxMy4zbDI1NiAwYzEwLjMgMCAxOS45LTQuOSAyNi0xMy4zczcuNy0xOS4xIDQuNC0yOC44bC0xOS44LTU5LjVjMTcuNC0xMC41IDM0LjMtMjQuMSA0OC41LTQxLjhjMjIuNy0yOC40IDM3LTY1LjUgMzctMTEyLjVjMC0yMy4xLTEwLjktNDEuNS0yNi40LTU0LjZjLTEuOC0xLjUtMy43LTMtNS42LTQuNEw0MTYgNDhsOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDB6TTM4NCAyNTYuM2MwIDEtLjMgMi42LTMuOCA1LjZjLTQuOCA0LjEtMTQgOS0yOS4zIDEzLjRDMzIwLjUgMjg0IDI3Ni4xIDI4OCAyMjQgMjg4cy05Ni41LTQtMTI2LjktMTIuOGMtMTUuMy00LjQtMjQuNS05LjMtMjkuMy0xMy40Yy0zLjUtMy0zLjgtNC42LTMuOC01LjZsMC0uM2MwIDAgMC0uMSAwLS4xYzAtMSAwLTIuNSAzLjgtNS44YzQuOC00LjEgMTQtOSAyOS4zLTEzLjRDMTI3LjUgMjI4IDE3MS45IDIyNCAyMjQgMjI0czk2LjUgNCAxMjYuOSAxMi44YzE1LjMgNC40IDI0LjUgOS4zIDI5LjMgMTMuNGMzLjggMy4yIDMuOCA0LjggMy44IDUuOGMwIDAgMCAuMSAwIC4xbDAgLjN6TTMyOC4yIDM4NGwtLjIgLjUgMC0uNSAuMiAwek0xMTIgNjRsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVBsYW5lQ2lyY2xlWG1hcmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTU3XCIsIFwiTTI1NiAwYy0zNSAwLTY0IDU5LjUtNjQgOTMuN2wwIDg0LjZMOC4xIDI4My40Yy01IDIuOC04LjEgOC4yLTguMSAxMy45bDAgNjUuNWMwIDEwLjYgMTAuMiAxOC4zIDIwLjQgMTUuNGwxNzEuNi00OSAwIDcwLjktNTcuNiA0My4yYy00IDMtNi40IDcuOC02LjQgMTIuOGwwIDQyYzAgNy44IDYuMyAxNCAxNCAxNGMxLjMgMCAyLjYtLjIgMy45LS41TDI1NiA0ODBsMTEwLjEgMzEuNWMxLjMgLjQgMi42IC41IDMuOSAuNWM2IDAgMTEuMS0zLjcgMTMuMS05QzM0NC41IDQ3MC43IDMyMCA0MjIuMiAzMjAgMzY4YzAtNjAuNiAzMC42LTExNCA3Ny4xLTE0NS42TDMyMCAxNzguM2wwLTg0LjZDMzIwIDU5LjUgMjkyIDAgMjU2IDB6TTQ5NiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43TDUxOC42IDM2OGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMEw0OTYgMzkwLjZsLTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkw0NzMuNCAzNjhsLTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ5NiAzNDUuNGwzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhWWVuU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd5ZW4tc2lnbicsXG4gIGljb246IFszMjAsIDUxMiwgWzE2NSwgXCJjbnlcIiwgXCJqcHlcIiwgXCJybWJcIiwgXCJ5ZW5cIl0sIFwiZjE1N1wiLCBcIk01OC42IDQ2LjNDNDguOCAzMS41IDI5IDI3LjYgMTQuMiAzNy40Uy00LjQgNjcgNS40IDgxLjhMMTAwLjIgMjI0IDQ4IDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4MCAwIDAgMzItODAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4MCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDgwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgwIDAgMC0zMiA4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01Mi4yIDBMMzE0LjYgODEuOGM5LjgtMTQuNyA1LjgtMzQuNi04LjktNDQuNHMtMzQuNi01LjgtNDQuNCA4LjlMMTYwIDE5OC4zIDU4LjYgNDYuM3pcIl1cbn07XG5jb25zdCBmYUNueSA9IGZhWWVuU2lnbjtcbmNvbnN0IGZhSnB5ID0gZmFZZW5TaWduO1xuY29uc3QgZmFSbWIgPSBmYVllblNpZ247XG5jb25zdCBmYVllbiA9IGZhWWVuU2lnbjtcbmNvbnN0IGZhUnVibGVTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1YmxlLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs4MzgxLCBcInJvdWJsZVwiLCBcInJ1YlwiLCBcInJ1YmxlXCJdLCBcImYxNThcIiwgXCJNOTYgMzJDNzguMyAzMiA2NCA0Ni4zIDY0IDY0bDAgMTkyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0zMiAxMTIgMGM3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NHMtNjQuNS0xNDQtMTQ0LTE0NEw5NiAzMnpNMjQwIDI1NmwtMTEyIDAgMC0xNjAgMTEyIDBjNDQuMiAwIDgwIDM1LjggODAgODBzLTM1LjggODAtODAgODB6XCJdXG59O1xuY29uc3QgZmFSb3VibGUgPSBmYVJ1YmxlU2lnbjtcbmNvbnN0IGZhUnViID0gZmFSdWJsZVNpZ247XG5jb25zdCBmYVJ1YmxlID0gZmFSdWJsZVNpZ247XG5jb25zdCBmYVN1biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdW4nLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NzI4XSwgXCJmMTg1XCIsIFwiTTM2MS41IDEuMmM1IDIuMSA4LjYgNi42IDkuNiAxMS45TDM5MSAxMjFsMTA3LjkgMTkuOGM1LjMgMSA5LjggNC42IDExLjkgOS42czEuNSAxMC43LTEuNiAxNS4yTDQ0Ni45IDI1Nmw2Mi4zIDkwLjNjMy4xIDQuNSAzLjcgMTAuMiAxLjYgMTUuMnMtNi42IDguNi0xMS45IDkuNkwzOTEgMzkxIDM3MS4xIDQ5OC45Yy0xIDUuMy00LjYgOS44LTkuNiAxMS45cy0xMC43IDEuNS0xNS4yLTEuNkwyNTYgNDQ2LjlsLTkwLjMgNjIuM2MtNC41IDMuMS0xMC4yIDMuNy0xNS4yIDEuNnMtOC42LTYuNi05LjYtMTEuOUwxMjEgMzkxIDEzLjEgMzcxLjFjLTUuMy0xLTkuOC00LjYtMTEuOS05LjZzLTEuNS0xMC43IDEuNi0xNS4yTDY1LjEgMjU2IDIuOCAxNjUuN2MtMy4xLTQuNS0zLjctMTAuMi0xLjYtMTUuMnM2LjYtOC42IDExLjktOS42TDEyMSAxMjEgMTQwLjkgMTMuMWMxLTUuMyA0LjYtOS44IDkuNi0xMS45czEwLjctMS41IDE1LjIgMS42TDI1NiA2NS4xIDM0Ni4zIDIuOGM0LjUtMy4xIDEwLjItMy43IDE1LjItMS42ek0xNjAgMjU2YTk2IDk2IDAgMSAxIDE5MiAwIDk2IDk2IDAgMSAxIC0xOTIgMHptMjI0IDBhMTI4IDEyOCAwIDEgMCAtMjU2IDAgMTI4IDEyOCAwIDEgMCAyNTYgMHpcIl1cbn07XG5jb25zdCBmYUd1aXRhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdndWl0YXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3YTZcIiwgXCJNNDY1IDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDM4MyA1NWMtMi40IDIuNC00LjMgNS4zLTUuNSA4LjVsLTE1LjQgNDEtNzcuNSA3Ny42Yy00NS4xLTI5LjQtOTkuMy0zMC4yLTEzMSAxLjZjLTExIDExLTE4IDI0LjYtMjEuNCAzOS42Yy0zLjcgMTYuNi0xOS4xIDMwLjctMzYuMSAzMS42Yy0yNS42IDEuMy00OS4zIDEwLjctNjcuMyAyOC42Qy0xNiAzMjguNC03LjYgNDA5LjQgNDcuNSA0NjQuNXMxMzYuMSA2My41IDE4MC45IDE4LjdjMTcuOS0xNy45IDI3LjQtNDEuNyAyOC42LTY3LjNjLjktMTcgMTUtMzIuMyAzMS42LTM2LjFjMTUtMy40IDI4LjYtMTAuNSAzOS42LTIxLjRjMzEuOC0zMS44IDMxLTg1LjkgMS42LTEzMWw3Ny42LTc3LjYgNDEtMTUuNGMzLjItMS4yIDYuMS0zLjEgOC41LTUuNWw0OC00OGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0NjUgN3pNMjA4IDI1NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFGYWNlTGF1Z2hXaW5rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtbGF1Z2gtd2luaycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGF1Z2gtd2lua1wiXSwgXCJmNTljXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek05Ni44IDMxNC4xYy0zLjgtMTMuNyA3LjQtMjYuMSAyMS42LTI2LjFsMjc1LjIgMGMxNC4yIDAgMjUuNSAxMi40IDIxLjYgMjYuMUMzOTYuMiAzODIgMzMyLjEgNDMyIDI1NiA0MzJzLTE0MC4yLTUwLTE1OS4yLTExNy45ek0xNDQuNCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTU2LjQgMjUuNmMtNS4zIDcuMS0xNS4zIDguNS0yMi40IDMuMnMtOC41LTE1LjMtMy4yLTIyLjRjMzAuNC00MC41IDkxLjItNDAuNSAxMjEuNiAwYzUuMyA3LjEgMy45IDE3LjEtMy4yIDIyLjRzLTE3LjEgMy45LTIyLjQtMy4yYy0xNy42LTIzLjUtNTIuOC0yMy41LTcwLjQgMHpcIl1cbn07XG5jb25zdCBmYUxhdWdoV2luayA9IGZhRmFjZUxhdWdoV2luaztcbmNvbnN0IGZhSG9yc2VIZWFkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hvcnNlLWhlYWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3YWJcIiwgXCJNNjQgNDY0bDAtMTQ3LjFjMC0xMDguNCA2OC4zLTIwNS4xIDE3MC41LTI0MS4zTDQwNC4yIDE1LjVDNDI1LjYgNy45IDQ0OCAyMy44IDQ0OCA0Ni40YzAgMTEtNS41IDIxLjItMTQuNiAyNy4zTDQwMCA5NmM0OC4xIDAgOTEuMiAyOS44IDEwOC4xIDc0LjlsNDguNiAxMjkuNWMxMS44IDMxLjQgNC4xIDY2LjgtMTkuNiA5MC41Yy0xNiAxNi0zNy44IDI1LjEtNjAuNSAyNS4xbC0zLjQgMGMtMjYuMSAwLTUwLjktMTEuNi02Ny42LTMxLjdsLTMyLjMtMzguN2MtMTEuNyA0LjEtMjQuMiA2LjQtMzcuMyA2LjRjMCAwIDAgMC0uMSAwYzAgMCAwIDAgMCAwYy02LjMgMC0xMi41LS41LTE4LjYtMS41Yy0zLjYtLjYtNy4yLTEuNC0xMC43LTIuM2MwIDAgMCAwIDAgMGMtMjguOS03LjgtNTMuMS0yNi44LTY3LjgtNTIuMmMtNC40LTcuNi0xNC4yLTEwLjMtMjEuOS01LjhzLTEwLjMgMTQuMi01LjggMjEuOWMyNCA0MS41IDY4LjMgNzAgMTE5LjMgNzEuOWw0Ny4yIDcwLjhjNCA2LjEgNi4yIDEzLjIgNi4yIDIwLjRjMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhMMTEyIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTM5MiAyMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4elwiXVxufTtcbmNvbnN0IGZhQm9yZUhvbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9yZS1ob2xlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGMzXCIsIFwiTTI1NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDI2NC42Yy0xOS4xIDExLjEtMzIgMzEuNy0zMiA1NS40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC0yMy43LTEyLjktNDQuNC0zMi01NS40TDI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDggMTI4Yy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OGwtODAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJsLTgwIDB6XCJdXG59O1xuY29uc3QgZmFJbmR1c3RyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdpbmR1c3RyeScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjI3NVwiLCBcIk02NCAzMkM0Ni4zIDMyIDMyIDQ2LjMgMzIgNjRsMCAyNDAgMCA0OCAwIDgwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4IDAtMTUxLjhjMC0xOC4yLTE5LjQtMjkuNy0zNS40LTIxLjFMMzUyIDIxNS40bDAtNjMuMmMwLTE4LjItMTkuNC0yOS43LTM1LjQtMjEuMUwxNjAgMjE1LjQgMTYwIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDY0IDMyelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNDY2LCBcImFycm93LWFsdC1jaXJjbGUtZG93blwiXSwgXCJmMzU4XCIsIFwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMHpNMjQ0LjcgMzk1LjNsLTExMi0xMTJjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjRzOC4zLTkuOSAxNC44LTkuOWw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTExMiAxMTJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dBbHRDaXJjbGVEb3duID0gZmFDaXJjbGVEb3duO1xuY29uc3QgZmFBcnJvd3NUdXJuVG9Eb3RzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy10dXJuLXRvLWRvdHMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YzFcIiwgXCJNMjQ5LjQgMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDI2OS4zIDk2IDQxNiA5NmM1MyAwIDk2IDQzIDk2IDk2bDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTQ2LjcgMCAyNS40IDI1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w4MC04MHptMTMuMyAyNTZsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDIuNyA0MTYgOTYgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzJjMC01MyA0My05NiA5Ni05NmwxNDYuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMHpNMzg0IDM4NGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTY0IDE5MkE2NCA2NCAwIDEgMSA2NCA2NGE2NCA2NCAwIDEgMSAwIDEyOHpcIl1cbn07XG5jb25zdCBmYUZsb3JpblNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmxvcmluLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxODRcIiwgXCJNMzE0LjcgMzJjLTM4LjggMC03My43IDIzLjMtODguNiA1OS4xTDE3MC43IDIyNCA2NCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODAgMEw5OC45IDM5Ni4zYy01IDExLjktMTYuNiAxOS43LTI5LjUgMTkuN0wzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzcuMyAwYzM4LjggMCA3My43LTIzLjMgODguNi01OS4xTDIxMy4zIDI4OCAzMjAgMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04MCAwIDQ1LjEtMTA4LjNjNS0xMS45IDE2LjYtMTkuNyAyOS41LTE5LjdMMzUyIDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zNy4zIDB6XCJdXG59O1xuY29uc3QgZmFBcnJvd0Rvd25TaG9ydFdpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi1zaG9ydC13aWRlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJzb3J0LWFtb3VudC1kZXNjXCIsIFwic29ydC1hbW91bnQtZG93bi1hbHRcIl0sIFwiZjg4NFwiLCBcIk0xNTEuNiA0NjkuNkMxNDUuNSA0NzYuMiAxMzcgNDgwIDEyOCA0ODBzLTE3LjUtMy44LTIzLjYtMTAuNGwtODgtOTZjLTExLjktMTMtMTEuMS0zMy4zIDItNDUuMnMzMy4zLTExLjEgNDUuMiAyTDk2IDM2NS43IDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDEuNyAzMi40LTM1LjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yczEzLjkgMzIuMiAyIDQ1LjJsLTg4IDk2ek0zMjAgMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOGwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTb3J0QW1vdW50RGVzYyA9IGZhQXJyb3dEb3duU2hvcnRXaWRlO1xuY29uc3QgZmFTb3J0QW1vdW50RG93bkFsdCA9IGZhQXJyb3dEb3duU2hvcnRXaWRlO1xuY29uc3QgZmFMZXNzVGhhbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsZXNzLXRoYW4nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs2Mjc3NF0sIFwiM2NcIiwgXCJNMzgwLjYgODEuN2M3LjkgMTUuOCAxLjUgMzUtMTQuMyA0Mi45TDEwMy42IDI1NiAzNjYuMyAzODcuNGMxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zbC0zMjAtMTYwQzYuOCAyNzkuMiAwIDI2OC4xIDAgMjU2czYuOC0yMy4yIDE3LjctMjguNmwzMjAtMTYwYzE1LjgtNy45IDM1LTEuNSA0Mi45IDE0LjN6XCJdXG59O1xuY29uc3QgZmFBbmdsZURvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtZG93bicsXG4gIGljb246IFs0NDgsIDUxMiwgWzg5NjRdLCBcImYxMDdcIiwgXCJNMjAxLjQgMzc0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgMzA2LjcgODYuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MHpcIl1cbn07XG5jb25zdCBmYUNhclR1bm5lbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItdHVubmVsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNGRlXCIsIFwiTTI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0Mi44IDBjLTYuNi01LjktMTAuOC0xNC40LTEwLjgtMjRsMC0xMTJjMC0yMC44IDExLjMtMzguOSAyOC4xLTQ4LjZsMjEtNjQuN2M3LjUtMjMuMSAyOS0zOC43IDUzLjMtMzguN2wxMTUuMiAwYzI0LjMgMCA0NS44IDE1LjYgNTMuMyAzOC43bDIxIDY0LjdjMTYuOCA5LjcgMjguMiAyNy44IDI4LjIgNDguNmwwIDExMmMwIDkuNi00LjIgMTguMS0xMC44IDI0bDQyLjggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MkM1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMHpNMzYyLjggNTEyYy02LjYtNS45LTEwLjgtMTQuNC0xMC44LTI0bDAtNDAtMTkyIDAgMCA0MGMwIDkuNi00LjIgMTguMS0xMC44IDI0bDIxMy43IDB6TTE5MC44IDI3Ny41TDE3NyAzMjBsMTU4IDAtMTMuOC00Mi41Yy0xLjEtMy4zLTQuMS01LjUtNy42LTUuNWwtMTE1LjIgMGMtMy41IDAtNi41IDIuMi03LjYgNS41ek0xNjggNDA4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjAwLTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6XCJdXG59O1xuY29uc3QgZmFIZWFkU2lkZUNvdWdoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hlYWQtc2lkZS1jb3VnaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA2MVwiLCBcIk0wIDIyNC4yQzAgMTAwLjYgMTAwLjIgMCAyMjQgMGwyNCAwYzk1LjIgMCAxODEuMiA2OS4zIDE5Ny4zIDE2MC4yYzIuMyAxMyA2LjggMjUuNyAxNS4xIDM2bDQyIDUyLjZjNi4yIDcuOCA5LjYgMTcuNCA5LjYgMjcuNGMwIDI0LjItMTkuNiA0My44LTQzLjggNDMuOEw0NDggMzIwczAgMCAwIDBsMCAzMkwzMzkuMiAzNjUuNmMtMTEgMS40LTE5LjIgMTAuNy0xOS4yIDIxLjhjMCAxMS42IDkgMjEuMiAyMC42IDIxLjlMNDQ4IDQxNmwwIDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC04MCAwIDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDAgMHMwIDAgMCAwTDk2IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03Mi43YzAtMTYuNy02LjktMzIuNS0xNy4xLTQ1LjhDMTYuNiAzMjIuNCAwIDI3NC4xIDAgMjI0LjJ6bTM1Mi0uMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTQ2NCAzODRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTUyLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNNTkyIDQ4MGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek01NTIgMzEyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAtMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNTUyIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xuY29uc3QgZmFHcmlwTGluZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ3JpcC1saW5lcycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjdhNFwiLCBcIk0zMiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMjg4em0wLTEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjB6XCJdXG59O1xuY29uc3QgZmFUaHVtYnNEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1icy1kb3duJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MDc4LCA2MTU3Nl0sIFwiZjE2NVwiLCBcIk0zMTMuNCA0NzkuMWMyNi01LjIgNDIuOS0zMC41IDM3LjctNTYuNWwtMi4zLTExLjRjLTUuMy0yNi43LTE1LjEtNTIuMS0yOC44LTc1LjJsMTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhjMC0xOC41LTEwLjUtMzQuNi0yNS45LTQyLjZDNDk3IDIzNi42IDUwNCAyMjMuMSA1MDQgMjA4YzAtMjMuNC0xNi44LTQyLjktMzguOS00Ny4xYzQuNC03LjMgNi45LTE1LjggNi45LTI0LjljMC0yMS4zLTEzLjktMzkuNC0zMy4xLTQ1LjZjLjctMy4zIDEuMS02LjggMS4xLTEwLjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTk3LjUgMGMtMTkgMC0zNy41IDUuNi01My4zIDE2LjFMMjAyLjcgNzMuOEMxNzYgOTEuNiAxNjAgMTIxLjYgMTYwIDE1My43bDAgMzguMyAwIDQ4IDAgMjQuOWMwIDI5LjIgMTMuMyA1Ni43IDM2IDc1bDcuNCA1LjljMjYuNSAyMS4yIDQ0LjYgNTEgNTEuMiA4NC4ybDIuMyAxMS40YzUuMiAyNiAzMC41IDQyLjkgNTYuNSAzNy43ek0zMiAzODRsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA5NkMxNC4zIDk2IDAgMTEwLjMgMCAxMjhMMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFVc2VyTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWxvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY1MDJcIiwgXCJNMjI0IDI1NkExMjggMTI4IDAgMSAwIDIyNCAwYTEyOCAxMjggMCAxIDAgMCAyNTZ6bS00NS43IDQ4Qzc5LjggMzA0IDAgMzgzLjggMCA0ODIuM0MwIDQ5OC43IDEzLjMgNTEyIDI5LjcgNTEybDM2Mi44IDBjLTUuNC05LjQtOC42LTIwLjMtOC42LTMybDAtMTI4YzAtMi4xIC4xLTQuMiAuMy02LjNjLTMxLTI2LTcxLTQxLjctMTE0LjYtNDEuN2wtOTEuNCAwek01MjggMjQwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tODAgMzJsMCA0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MHpcIl1cbn07XG5jb25zdCBmYUFycm93UmlnaHRMb25nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXJpZ2h0LWxvbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxvbmctYXJyb3ctcmlnaHRcIl0sIFwiZjE3OFwiLCBcIk01MDIuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNzAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4elwiXVxufTtcbmNvbnN0IGZhTG9uZ0Fycm93UmlnaHQgPSBmYUFycm93UmlnaHRMb25nO1xuY29uc3QgZmFBbmNob3JDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmNob3ItY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGFjXCIsIFwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0yMS4xIDgwQzM2NyAxNTguOCAzODQgMTI5LjQgMzg0IDk2YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMzMuNCAxNyA2Mi44IDQyLjkgODBMMjI0IDE3NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMjA4LTQ4IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC02LjEgNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw5NyAyNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDcgMzE5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNy03IDAgNi4xYzAgODguNCA3MS42IDE2MCAxNjAgMTYwbDgwIDAgODAgMGM4LjIgMCAxNi4zLS42IDI0LjItMS44Yy0yMi4yLTE2LjItNDAuNC0zNy41LTUzLTYyLjJMMzIwIDQ0OGwwLTgwIDAtMTI4IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEwLjkgMHpNNDk2IDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNTE4LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQ5NiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQ3My40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDk2IDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xuY29uc3QgZmFFbGxpcHNpcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlbGxpcHNpcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZWxsaXBzaXMtaFwiXSwgXCJmMTQxXCIsIFwiTTggMjU2YTU2IDU2IDAgMSAxIDExMiAwQTU2IDU2IDAgMSAxIDggMjU2em0xNjAgMGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTIxNi01NmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpcIl1cbn07XG5jb25zdCBmYUVsbGlwc2lzSCA9IGZhRWxsaXBzaXM7XG5jb25zdCBmYUNoZXNzUGF3biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVzcy1wYXduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbOTgyM10sIFwiZjQ0M1wiLCBcIk0yMTUuNSAyMjRjMjkuMi0xOC40IDQ4LjUtNTAuOSA0OC41LTg4YzAtNTcuNC00Ni42LTEwNC0xMDQtMTA0UzU2IDc4LjYgNTYgMTM2YzAgMzcuMSAxOS40IDY5LjYgNDguNSA4OEw5NiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyYzAgMTYuNSAxMi41IDMwIDI4LjUgMzEuOEw4MCA0MDBsMTYwIDBMMjI3LjUgMjg3LjhjMTYtMS44IDI4LjUtMTUuMyAyOC41LTMxLjhjMC0xNy43LTE0LjMtMzItMzItMzJsLTguNSAwek0yMi42IDQ3My40Yy00LjIgNC4yLTYuNiAxMC02LjYgMTZDMTYgNTAxLjkgMjYuMSA1MTIgMzguNiA1MTJsMjQyLjcgMGMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNmMwLTYtMi40LTExLjgtNi42LTE2TDI1NiA0MzIgNjQgNDMyIDIyLjYgNDczLjR6XCJdXG59O1xuY29uc3QgZmFLaXRNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2tpdC1tZWRpY2FsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJmaXJzdC1haWRcIl0sIFwiZjQ3OVwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyIDBMOTYgMzIgNjQgMzJ6bTY0IDBsMCA0NDggMzIwIDAgMC00NDhMMTI4IDMyek01MTIgNDgwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAgNDQ4IDMyIDB6TTI1NiAxNzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0OCAwIDAtNDh6XCJdXG59O1xuY29uc3QgZmFGaXJzdEFpZCA9IGZhS2l0TWVkaWNhbDtcbmNvbnN0IGZhUGVyc29uVGhyb3VnaFdpbmRvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tdGhyb3VnaC13aW5kb3cnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1YTlcIiwgXCJNNjQgNjRsMjI0IDAgMCA5LjhjMCAzOS0yMy43IDc0LTU5LjkgODguNEMxNjcuNiAxODYuNSAxMjggMjQ1IDEyOCAzMTAuMmwwIDczLjhzMCAwIDAgMGwtNjQgMEw2NCA2NHptMjg4IDBsMjI0IDAgMCAzMjAtNjcuNyAwLTMuNy00LjUtNzUuMi05MC4yYy05LjEtMTAuOS0yMi42LTE3LjMtMzYuOS0xNy4zbC03MS4xIDAtNDEtNjMuMWMtLjMtLjUtLjYtMS0xLTEuNGM0NC43LTI5IDcyLjUtNzkgNzIuNS0xMzMuNmwwLTkuOHptNzMgMzIwbC00NS44IDAgNDIuNyA2NEw1OTIgNDQ4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgNDAwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDI2MC4yIDAgMzMuMiA0OS44YzkuOCAxNC43IDI5LjcgMTguNyA0NC40IDguOXMxOC43LTI5LjcgOC45LTQ0LjRMMzEwLjUgMzM2bDc0LjYgMCA0MCA0OHptLTE1OS41IDBMMTkyIDM4NHMwIDAgMCAwbDAtNzMuOGMwLTEwLjIgMS42LTIwLjEgNC43LTI5LjVMMjY1LjUgMzg0ek0xOTIgMTI4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6XCJdXG59O1xuY29uc3QgZmFUb29sYm94ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Rvb2xib3gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk1MjBdLCBcImY1NTJcIiwgXCJNMTc2IDg4bDAgNDAgMTYwIDAgMC00MGMwLTQuNC0zLjYtOC04LThMMTg0IDgwYy00LjQgMC04IDMuNi04IDh6bS00OCA0MGwwLTQwYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDE0NCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDAgMjguMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFsNTEuOSA1MS45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45bDAgOTIuMS0xMjggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzItMTI4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyTDAgMzIwbDAtOTIuMWMwLTEyLjcgNS4xLTI0LjkgMTQuMS0zMy45bDUxLjktNTEuOWM5LTkgMjEuMi0xNC4xIDMzLjktMTQuMWwyOC4xIDB6TTAgNDE2bDAtNjQgMTI4IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwxMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDEyOCAwIDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NHpcIl1cbn07XG5jb25zdCBmYUhhbmRzSG9sZGluZ0NpcmNsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kcy1ob2xkaW5nLWNpcmNsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRmYlwiLCBcIk0zMjAgMGExMjggMTI4IDAgMSAxIDAgMjU2QTEyOCAxMjggMCAxIDEgMzIwIDB6TTQwIDY0YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDAgMCA4MCAwIDQwLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsNTEuMSA1MS4xYzguMyA4LjMgMjEuMyA5LjYgMzEgMy4xYzEyLjktOC42IDE0LjctMjYuOSAzLjctMzcuOGwtMTUuMi0xNS4yLTMyLTMyYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDMyIDMyIDE1LjIgMTUuMmMwIDAgMCAwIDAgMGwyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMmwwIDc4LjljMCAyNi41LTIxLjUgNDgtNDggNDhsLTY2LjcgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVMMCAyMjRsMC02NCAwLTU2QzAgODEuOSAxNy45IDY0IDQwIDY0em01NjAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDU2IDAgNjQgMCAxMDEuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNDAwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC03OC45YzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuM2MwIDAgMCAwIDAgMGwxNS4yLTE1LjIgMzItMzJjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMzIgMzItMTUuMiAxNS4yYy0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOGM5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wwLTQwLjIgMC04MCAwLTQwYzAtMjIuMSAxNy45LTQwIDQwLTQwelwiXVxufTtcbmNvbnN0IGZhQnVnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1ZycsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjE4OFwiLCBcIk0yNTYgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMy42YzAgMTUuNy0xMi43IDI4LjQtMjguNCAyOC40bC0xMzUuMSAwYy0xNS43IDAtMjguNC0xMi43LTI4LjQtMjguNGwwLTMuNmMwLTUzIDQzLTk2IDk2LTk2ek00MS40IDEwNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDY0IDY0Yy43IC43IDEuMyAxLjQgMS45IDIuMWMxNC4yLTcuMyAzMC40LTExLjQgNDcuNS0xMS40bDExMiAwYzE3LjEgMCAzMy4yIDQuMSA0Ny41IDExLjRjLjYtLjcgMS4yLTEuNCAxLjktMi4xbDY0LTY0YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTY0IDY0Yy0uNyAuNy0xLjQgMS4zLTIuMSAxLjljNi4yIDEyIDEwLjEgMjUuMyAxMS4xIDM5LjVsNjQuMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYzAgMjQuNi01LjUgNDcuOC0xNS40IDY4LjZjMi4yIDEuMyA0LjIgMi45IDYgNC44bDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC02My4xLTYzLjFjLTI0LjUgMjEuOC01NS44IDM2LjItOTAuMyAzOS42TDI3MiAyNDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyMzkuMmMtMzQuNS0zLjQtNjUuOC0xNy44LTkwLjMtMzkuNkw4Ni42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2NC02NGMxLjktMS45IDMuOS0zLjQgNi00LjhDMTAxLjUgMzY3LjggOTYgMzQ0LjYgOTYgMzIwbC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0LjMgMGMxLjEtMTQuMSA1LTI3LjUgMTEuMS0zOS41Yy0uNy0uNi0xLjQtMS4yLTIuMS0xLjlsLTY0LTY0Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pcIl1cbn07XG5jb25zdCBmYUNyZWRpdENhcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY3JlZGl0LWNhcmQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgxNzksIDYyMDgzLCBcImNyZWRpdC1jYXJkLWFsdFwiXSwgXCJmMDlkXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCAzMiA1NzYgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01NzYgMjI0TDAgMjI0IDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyek0xMTIgMzUybDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTY0IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTExMiAxNmMwLTguOCA3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFDcmVkaXRDYXJkQWx0ID0gZmFDcmVkaXRDYXJkO1xuY29uc3QgZmFDYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NjY0LCBcImF1dG9tb2JpbGVcIl0sIFwiZjFiOVwiLCBcIk0xMzUuMiAxMTcuNEwxMDkuMSAxOTJsMjkzLjggMC0yNi4xLTc0LjZDMzcyLjMgMTA0LjYgMzYwLjIgOTYgMzQ2LjYgOTZMMTY1LjQgOTZjLTEzLjYgMC0yNS43IDguNi0zMC4yIDIxLjR6TTM5LjYgMTk2LjhMNzQuOCA5Ni4zQzg4LjMgNTcuOCAxMjQuNiAzMiAxNjUuNCAzMmwxODEuMiAwYzQwLjggMCA3Ny4xIDI1LjggOTAuNiA2NC4zbDM1LjIgMTAwLjVjMjMuMiA5LjYgMzkuNiAzMi41IDM5LjYgNTkuMmwwIDE0NCAwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4TDk2IDQwMGwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4TDAgMjU2YzAtMjYuNyAxNi40LTQ5LjYgMzkuNi01OS4yek0xMjggMjg4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI4OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFBdXRvbW9iaWxlID0gZmFDYXI7XG5jb25zdCBmYUhhbmRIb2xkaW5nSGFuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWhvbGRpbmctaGFuZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRmN1wiLCBcIk03LjggMjA3LjdjLTEzLjEtMTcuOC05LjMtNDIuOCA4LjUtNTUuOUwxNDIuOSA1OC41QzE2Ni4yIDQxLjMgMTk0LjUgMzIgMjIzLjUgMzJMMzg0IDMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTM2LjggMC00NC45IDM2Yy0yMi43IDE4LjItNTAuOSAyOC04MCAyOEwzMDQgMjI0bC0xNiAwLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xMjAuNiAwTDYzLjcgMjE2LjJjLTE3LjggMTMuMS00Mi44IDkuMy01NS45LTguNXpNMzgyLjQgMTYwYzAgMCAwIDAgMCAwbC45IDBjLS4zIDAtLjYgMC0uOSAwek01NjguMiAzMDQuM2MxMy4xIDE3LjggOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDUzLjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41TDE5MiA0ODAgMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM2LjggMCA0NC45LTM2YzIyLjctMTguMiA1MC45LTI4IDgwLTI4bDc4LjMgMCAxNiAwIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDAtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjAuNiAwIDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41ek0xOTMuNiAzNTJjMCAwIDAgMCAwIDBsLS45IDBjLjMgMCAuNiAwIC45IDB6XCJdXG59O1xuY29uc3QgZmFCb29rT3BlblJlYWRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rLW9wZW4tcmVhZGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJib29rLXJlYWRlclwiXSwgXCJmNWRhXCIsIFwiTTE2MCA5NmE5NiA5NiAwIDEgMSAxOTIgMEE5NiA5NiAwIDEgMSAxNjAgOTZ6bTgwIDE1MmwwIDI2NC00OC40LTI0LjJjLTIwLjktMTAuNC00My41LTE3LTY2LjgtMTkuM2wtOTYtOS42QzEyLjUgNDU3LjIgMCA0NDMuNSAwIDQyN0wwIDIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMC4zIDBjNjMuNiAwIDEyNS42IDE5LjYgMTc3LjcgNTZ6bTMyIDI2NGwwLTI2NGM1Mi4xLTM2LjQgMTE0LjEtNTYgMTc3LjctNTZsMzAuMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjAzYzAgMTYuNC0xMi41IDMwLjItMjguOCAzMS44bC05NiA5LjZjLTIzLjIgMi4zLTQ1LjkgOC45LTY2LjggMTkuM0wyNzIgNTEyelwiXVxufTtcbmNvbnN0IGZhQm9va1JlYWRlciA9IGZhQm9va09wZW5SZWFkZXI7XG5jb25zdCBmYU1vdW50YWluU3VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21vdW50YWluLXN1bicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUyZlwiLCBcIk01NjAgMTYwQTgwIDgwIDAgMSAwIDU2MCAwYTgwIDgwIDAgMSAwIDAgMTYwek01NS45IDUxMmwzMjUuMiAwIDc1IDAgMTIyLjggMGMzMy44IDAgNjEuMS0yNy40IDYxLjEtNjEuMWMwLTExLjItMy4xLTIyLjItOC45LTMxLjhsLTEzMi0yMTYuM0M0OTUgMTk2LjEgNDg3LjggMTkyIDQ4MCAxOTJzLTE1IDQuMS0xOS4xIDEwLjdsLTQ4LjIgNzlMMjg2LjggODFjLTYuNi0xMC42LTE4LjMtMTctMzAuOC0xN3MtMjQuMSA2LjQtMzAuOCAxN0w4LjYgNDI2LjRDMyA0MzUuMyAwIDQ0NS42IDAgNDU2LjFDMCA0ODcgMjUgNTEyIDU1LjkgNTEyelwiXVxufTtcbmNvbnN0IGZhQXJyb3dzTGVmdFJpZ2h0VG9MaW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmUnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU0YmFcIiwgXCJNMzIgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NHptMjE0LjYgNzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0wyMDUuMyAyMjRsMjI5LjUgMC00MS40LTQxLjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MzQuNyAyODhsLTIyOS41IDAgNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDB6TTY0MCA5NmwwIDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhRGljZUQyMCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLWQyMCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjZjZlwiLCBcIk00OC43IDEyNS44bDUzLjIgMzEuOWM3LjggNC43IDE3LjggMiAyMi4yLTUuOUwyMDEuNiAxMi4xYzMtNS40LS45LTEyLjEtNy4xLTEyLjFjLTEuNiAwLTMuMiAuNS00LjYgMS40TDQ3LjkgOTguOGMtOS42IDYuNi05LjIgMjAuOSAuOCAyNi45ek0xNiAxNzEuN2wwIDEyMy41YzAgOCAxMC40IDExIDE0LjcgNC40bDYwLTkyYzUtNy42IDIuNi0xNy44LTUuMi0yMi41TDQwLjIgMTU4QzI5LjYgMTUxLjYgMTYgMTU5LjMgMTYgMTcxLjd6TTMxMC40IDEyLjFsNzcuNiAxMzkuNmM0LjQgNy45IDE0LjUgMTAuNiAyMi4yIDUuOWw1My4yLTMxLjljMTAtNiAxMC40LTIwLjMgLjgtMjYuOUwzMjIuMSAxLjRjLTEuNC0uOS0zLTEuNC00LjYtMS40Yy02LjIgMC0xMC4xIDYuNy03LjEgMTIuMXpNNDk2IDE3MS43YzAtMTIuNC0xMy42LTIwLjEtMjQuMi0xMy43bC00NS4zIDI3LjJjLTcuOCA0LjctMTAuMSAxNC45LTUuMiAyMi41bDYwIDkyYzQuMyA2LjcgMTQuNyAzLjYgMTQuNy00LjRsMC0xMjMuNXptLTQ5LjMgMjQ2TDI4Ni4xIDQzNi42Yy04LjEgLjktMTQuMSA3LjgtMTQuMSAxNS45bDAgNTIuOGMwIDMuNyAzIDYuOCA2LjggNi44Yy44IDAgMS42LS4xIDIuNC0uNGwxNzIuNy02NGM2LjEtMi4yIDEwLjEtOCAxMC4xLTE0LjVjMC05LjMtOC4xLTE2LjUtMTcuMy0xNS40ek0yMzMuMiA1MTJjMy43IDAgNi44LTMgNi44LTYuOGwwLTUyLjZjMC04LjEtNi4xLTE0LjktMTQuMS0xNS45bC0xNjAuNi0xOWMtOS4yLTEuMS0xNy4zIDYuMS0xNy4zIDE1LjRjMCA2LjUgNCAxMi4zIDEwLjEgMTQuNWwxNzIuNyA2NGMuOCAuMyAxLjYgLjQgMi40IC40ek00MS43IDM4Mi45bDE3MC45IDIwLjJjNy44IC45IDEzLjQtNy41IDkuNS0xNC4zbC04NS43LTE1MGMtNS45LTEwLjQtMjAuNy0xMC44LTI3LjMtLjhMMzAuMiAzNTguMmMtNi41IDkuOS0uMyAyMy4zIDExLjUgMjQuN3ptNDM5LjYtMjQuOEw0MDIuOSAyMzguMWMtNi41LTEwLTIxLjQtOS42LTI3LjMgLjhMMjkwLjIgMzg4LjVjLTMuOSA2LjggMS42IDE1LjIgOS41IDE0LjNsMTcwLjEtMjBjMTEuOC0xLjQgMTgtMTQuNyAxMS41LTI0LjZ6bS0yMTYuOSAxMWw3OC40LTEzNy4yYzYuMS0xMC43LTEuNi0yMy45LTEzLjktMjMuOWwtMTQ1LjcgMGMtMTIuMyAwLTIwIDEzLjMtMTMuOSAyMy45bDc4LjQgMTM3LjJjMy43IDYuNCAxMyA2LjQgMTYuNyAwek0xNzQuNCAxNzZsMTYzLjIgMGMxMi4yIDAgMTkuOS0xMy4xIDE0LTIzLjhsLTgwLTE0NGMtMi44LTUuMS04LjItOC4yLTE0LTguMmwtMy4yIDBjLTUuOCAwLTExLjIgMy4yLTE0IDguMmwtODAgMTQ0Yy01LjkgMTAuNyAxLjggMjMuOCAxNCAyMy44elwiXVxufTtcbmNvbnN0IGZhVHJ1Y2tEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RydWNrLWRyb3BsZXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1OGNcIiwgXCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBMMzY4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OCA1MC43IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNTg5LjMgMTkyYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNsMCAxOC43IDAgMzIgMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwtMTI4IDBjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsLTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgNDh6TTQxNiAyNTZsMTI4IDAgMC0xOC43TDQ2Ni43IDE2MCA0MTYgMTYwbDAgOTZ6TTE2MCA0NjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zNjgtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMjA4IDI3MmMzOS44IDAgNzItMjkuNiA3Mi02NmMwLTI3LTM5LjQtODIuOS01OS45LTExMC4zYy02LjEtOC4yLTE4LjEtOC4yLTI0LjIgMEMxNzUuNCAxMjMgMTM2IDE3OSAxMzYgMjA2YzAgMzYuNSAzMi4yIDY2IDcyIDY2elwiXVxufTtcbmNvbnN0IGZhRmlsZUNpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNWExXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHptNDggOTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em01OS4zIDEwNy4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBMNDMyIDM0NS40bC0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZMNDA5LjQgMzY4bC0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMEw0MzIgMzkwLjZsMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNkw0NTQuNiAzNjhsMzYuNy0zNi43elwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWFycm93LXVwJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJ0ZW1wZXJhdHVyZS11cFwiXSwgXCJlMDQwXCIsIFwiTTEyOCAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDE2NC41YzAgMTcuMyA3LjEgMzEuOSAxNS4zIDQyLjVDMjQ5LjggMzMyLjYgMjU2IDM0OS41IDI1NiAzNjhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0xOC41IDYuMi0zNS40IDE2LjctNDguOWM4LjItMTAuNiAxNS4zLTI1LjIgMTUuMy00Mi41TDEyOCAxMTJ6TTE3NiAwQzExNC4xIDAgNjQgNTAuMSA2NCAxMTJsMCAxNjQuNGMwIC4xLS4xIC4zLS4yIC42Yy0uMiAuNi0uOCAxLjYtMS43IDIuOEM0My4yIDMwNC4yIDMyIDMzNC44IDMyIDM2OGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NHMxNDQtNjQuNSAxNDQtMTQ0YzAtMzMuMi0xMS4yLTYzLjgtMzAuMS04OC4xYy0uOS0xLjItMS41LTIuMi0xLjctMi44Yy0uMS0uMy0uMi0uNS0uMi0uNkwyODggMTEyQzI4OCA1MC4xIDIzNy45IDAgMTc2IDB6bTAgNDE2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM0wxOTIgMTEyYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjEwLjdjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OHpNNDgwIDE2MGwzMiAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45czE2LjYgMTkuOCAyOS42IDE5LjhsMzIgMCAwIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjg4elwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVVcCA9IGZhVGVtcGVyYXR1cmVBcnJvd1VwO1xuY29uc3QgZmFNZWRhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtZWRhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk0MV0sIFwiZjVhMlwiLCBcIk00LjEgMzguMkMxLjQgMzQuMiAwIDI5LjQgMCAyNC42QzAgMTEgMTEgMCAyNC42IDBMMTMzLjkgMGMxMS4yIDAgMjEuNyA1LjkgMjcuNCAxNS41bDY4LjUgMTE0LjFjLTQ4LjIgNi4xLTkxLjMgMjguNi0xMjMuNCA2MS45TDQuMSAzOC4yem01MDMuNyAwTDQwNS42IDE5MS41Yy0zMi4xLTMzLjMtNzUuMi01NS44LTEyMy40LTYxLjlMMzUwLjcgMTUuNUMzNTYuNSA1LjkgMzY2LjkgMCAzNzguMSAwTDQ4Ny40IDBDNTAxIDAgNTEyIDExIDUxMiAyNC42YzAgNC44LTEuNCA5LjYtNC4xIDEzLjZ6TTgwIDMzNmExNzYgMTc2IDAgMSAxIDM1MiAwQTE3NiAxNzYgMCAxIDEgODAgMzM2em0xODQuNC05NC45Yy0zLjQtNy0xMy4zLTctMTYuOCAwbC0yMi40IDQ1LjRjLTEuNCAyLjgtNCA0LjctNyA1LjFMMTY4IDI5OC45Yy03LjcgMS4xLTEwLjcgMTAuNS01LjIgMTZsMzYuMyAzNS40YzIuMiAyLjIgMy4yIDUuMiAyLjcgOC4zbC04LjYgNDkuOWMtMS4zIDcuNiA2LjcgMTMuNSAxMy42IDkuOWw0NC44LTIzLjZjMi43LTEuNCA2LTEuNCA4LjcgMGw0NC44IDIzLjZjNi45IDMuNiAxNC45LTIuMiAxMy42LTkuOWwtOC42LTQ5LjljLS41LTMgLjUtNi4xIDIuNy04LjNsMzYuMy0zNS40YzUuNi01LjQgMi41LTE0LjgtNS4yLTE2bC01MC4xLTcuM2MtMy0uNC01LjctMi40LTctNS4xbC0yMi40LTQ1LjR6XCJdXG59O1xuY29uc3QgZmFCZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmVkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4NzE2XSwgXCJmMjM2XCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2IDIyNCAwIDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0yMjQgMC0zMiAwTDY0IDQxNmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6bTE0NCA5NmE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpcIl1cbn07XG5jb25zdCBmYVNxdWFyZUggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3F1YXJlLWgnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImgtc3F1YXJlXCJdLCBcImYwZmRcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzM2IDE1MmwwIDEwNCAwIDEwNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgwLTEyOCAwIDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDgwIDEyOCAwIDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpcIl1cbn07XG5jb25zdCBmYUhTcXVhcmUgPSBmYVNxdWFyZUg7XG5jb25zdCBmYVBvZGNhc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncG9kY2FzdCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjJjZVwiLCBcIk0zMTkuNCAzNzJjNDguNS0zMS4zIDgwLjYtODUuOSA4MC42LTE0OGMwLTk3LjItNzguOC0xNzYtMTc2LTE3NlM0OCAxMjYuOCA0OCAyMjRjMCA2Mi4xIDMyLjEgMTE2LjYgODAuNiAxNDhjMS4yIDE3LjMgNCAzOCA3LjIgNTcuMWwuMiAxQzU2IDM5NS44IDAgMzE2LjUgMCAyMjRDMCAxMDAuMyAxMDAuMyAwIDIyNCAwUzQ0OCAxMDAuMyA0NDggMjI0YzAgOTIuNS01NiAxNzEuOS0xMzYgMjA2LjFsLjItMS4xYzMuMS0xOS4yIDYtMzkuOCA3LjItNTd6bS0yLjMtMzguMWMtMS42LTUuNy0zLjktMTEuMS03LTE2LjJjLTUuOC05LjctMTMuNS0xNy0yMS45LTIyLjRjMTkuNS0xNy42IDMxLjgtNDMgMzEuOC03MS4zYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2YzAgMjguMyAxMi4zIDUzLjggMzEuOCA3MS4zYy04LjQgNS40LTE2LjEgMTIuNy0yMS45IDIyLjRjLTMuMSA1LjEtNS40IDEwLjUtNyAxNi4yQzk5LjggMzA3LjUgODAgMjY4IDgwIDIyNGMwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NHMxNDQgNjQuNSAxNDQgMTQ0YzAgNDQtMTkuOCA4My41LTUwLjkgMTA5Ljl6TTIyNCAzMTJjMzIuOSAwIDY0IDguNiA2NCA0My44YzAgMzMtMTIuOSAxMDQuMS0yMC42IDEzMi45Yy01LjEgMTktMjQuNSAyMy40LTQzLjQgMjMuNHMtMzguMi00LjQtNDMuNC0yMy40Yy03LjgtMjguNS0yMC42LTk5LjctMjAuNi0xMzIuOGMwLTM1LjEgMzEuMS00My44IDY0LTQzLjh6bTAtMTQ0YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmVGdWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RlbXBlcmF0dXJlLWZ1bGwnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcInRlbXBlcmF0dXJlLTRcIiwgXCJ0aGVybW9tZXRlci00XCIsIFwidGhlcm1vbWV0ZXItZnVsbFwiXSwgXCJmMmM3XCIsIFwiTTE2MCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjQuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41Qzg2LjIgMzMyLjYgODAgMzQ5LjUgODAgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNUwyMDggMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00OCAxMTJDNDggNTAuMiA5OC4xIDAgMTYwIDBzMTEyIDUwLjEgMTEyIDExMmwwIDE2NC40YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzE2IDQ0Ny41IDE2IDM2OGMwLTMzLjIgMTEuMi02My44IDMwLjEtODguMWMuOS0xLjIgMS41LTIuMiAxLjctMi44Yy4xLS4zIC4yLS41IC4yLS42TDQ4IDExMnpNMjA4IDM2OGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNMMTQ0IDExMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMjEwLjdjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zelwiXVxufTtcbmNvbnN0IGZhVGVtcGVyYXR1cmU0ID0gZmFUZW1wZXJhdHVyZUZ1bGw7XG5jb25zdCBmYVRoZXJtb21ldGVyNCA9IGZhVGVtcGVyYXR1cmVGdWxsO1xuY29uc3QgZmFUaGVybW9tZXRlckZ1bGwgPSBmYVRlbXBlcmF0dXJlRnVsbDtcbmNvbnN0IGZhQmVsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWxsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4Mjc2LCA2MTYwMl0sIFwiZjBmM1wiLCBcIk0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOS4yQzExOSA2NiA2NCAxMzAuNiA2NCAyMDhsMCAxOC44YzAgNDctMTcuMyA5Mi40LTQ4LjUgMTI3LjZsLTcuNCA4LjNjLTguNCA5LjQtMTAuNCAyMi45LTUuMyAzNC40UzE5LjQgNDE2IDMyIDQxNmwzODQgMGMxMi42IDAgMjQtNy40IDI5LjItMTguOXMzLjEtMjUtNS4zLTM0LjRsLTcuNC04LjNDNDAxLjMgMzE5LjIgMzg0IDI3My45IDM4NCAyMjYuOGwwLTE4LjhjMC03Ny40LTU1LTE0Mi0xMjgtMTU2LjhMMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyem00NS4zIDQ5My4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNsLTY0IDAtNjQgMGMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM3MyOC4zIDE4LjcgNDUuMyAxOC43czMzLjMtNi43IDQ1LjMtMTguN3pcIl1cbn07XG5jb25zdCBmYVN1cGVyc2NyaXB0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N1cGVyc2NyaXB0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMTJiXCIsIFwiTTQ4MCAzMmMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNGwtMzIgMTZjLTE1LjggNy45LTIyLjIgMjcuMS0xNC4zIDQyLjlDMzkzIDczLjUgNDA0LjMgODAgNDE2IDgwbDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4ek0zMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMTUuMyAwIDg5LjYgMTI4TDQ3LjMgMzg0IDMyIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwYzEwLjQgMCAyMC4yLTUuMSAyNi4yLTEzLjZMMTc2IDMxMS44bDg1LjggMTIyLjZjNiA4LjYgMTUuOCAxMy42IDI2LjIgMTMuNmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNS4zIDBMMjE1LjEgMjU2bDg5LjYtMTI4IDE1LjMgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTAuNCAwLTIwLjIgNS4xLTI2LjIgMTMuNkwxNzYgMjAwLjIgOTAuMiA3Ny42Qzg0LjIgNjkuMSA3NC40IDY0IDY0IDY0TDMyIDY0elwiXVxufTtcbmNvbnN0IGZhUGx1Z0NpcmNsZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLXhtYXJrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTYwXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJsMCA5NiA2NCAwIDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCA2Ny4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Ny4yYzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MHpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdMNDU0LjYgMzY4bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwTDQzMiAzOTAuNmwtMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42TDQwOS40IDM2OGwtMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBMNDMyIDM0NS40bDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6XCJdXG59O1xuY29uc3QgZmFTdGFyT2ZMaWZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXItb2YtbGlmZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjYyMVwiLCBcIk0yMDggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE0MC45IDEyMi03MC40YzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN2wxNiAyNy43YzguOCAxNS4zIDMuNiAzNC45LTExLjcgNDMuN0wzNTIgMjU2bDEyMiA3MC40YzE1LjMgOC44IDIwLjYgMjguNCAxMS43IDQzLjdsLTE2IDI3LjdjLTguOCAxNS4zLTI4LjQgMjAuNi00My43IDExLjdMMzA0IDMzOS4xIDMwNCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTQwLjlMODYgNDA5LjZjLTE1LjMgOC44LTM0LjkgMy42LTQzLjctMTEuN2wtMTYtMjcuN2MtOC44LTE1LjMtMy42LTM0LjkgMTEuNy00My43TDE2MCAyNTYgMzggMTg1LjZjLTE1LjMtOC44LTIwLjUtMjguNC0xMS43LTQzLjdsMTYtMjcuN0M1MS4xIDk4LjggNzAuNyA5My42IDg2IDEwMi40bDEyMiA3MC40TDIwOCAzMnpcIl1cbn07XG5jb25zdCBmYVBob25lU2xhc2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGhvbmUtc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYzZGRcIiwgXCJNMjI4LjkgMjQuNmMtNy43LTE4LjYtMjgtMjguNS00Ny40LTIzLjJsLTg4IDI0Qzc2LjEgMzAuMiA2NCA0NiA2NCA2NGMwIDEwNy40IDM3LjggMjA2IDEwMC44IDI4My4xTDkuMiA0NjkuMWMtMTAuNCA4LjItMTIuMyAyMy4zLTQuMSAzMy43czIzLjMgMTIuMyAzMy43IDQuMWw1OTItNDY0YzEwLjQtOC4yIDEyLjMtMjMuMyA0LjEtMzMuN3MtMjMuMy0xMi4zLTMzLjctNC4xTDI1MyAyNzhjLTE3LjgtMjEuNS0zMi45LTQ1LjItNDUtNzAuN0wyNTcuMyAxNjdjMTMuNy0xMS4yIDE4LjQtMzAgMTEuNi00Ni4zbC00MC05NnptOTYuOCAzMTlsLTkxLjMgNzJDMzEwLjcgNDc2IDQwNy4xIDUxMiA1MTIgNTEyYzE4IDAgMzMuOC0xMi4xIDM4LjYtMjkuNWwyNC04OGM1LjMtMTkuNC00LjYtMzkuNy0yMy4yLTQ3LjRsLTk2LTQwYy0xNi4zLTYuOC0zNS4yLTIuMS00Ni4zIDExLjZMMzY4LjcgMzY4Yy0xNS03LjEtMjkuMy0xNS4yLTQzLTI0LjN6XCJdXG59O1xuY29uc3QgZmFQYWludFJvbGxlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwYWludC1yb2xsZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY1YWFcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCAxOTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTE2MCAzNTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGwxNDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDAtOTAuNWMzNy4zIDEzLjIgNjQgNDguNyA2NCA5MC41bDAgMzJjMCA1My00MyA5Ni05NiA5NmwtMTQ0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOHpcIl1cbn07XG5jb25zdCBmYUhhbmRzaGFrZUFuZ2xlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRzaGFrZS1hbmdsZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiaGFuZHMtaGVscGluZ1wiXSwgXCJmNGM0XCIsIFwiTTU0NCAyNDhsMCAzLjMgNjkuNy02OS43YzIxLjktMjEuOSAyMS45LTU3LjMgMC03OS4yTDUzNS42IDI0LjRjLTIxLjktMjEuOS01Ny4zLTIxLjktNzkuMiAwTDQxNi4zIDY0LjVjLTIuNy0uMy01LjUtLjUtOC4zLS41TDI5NiA2NGMtMzcuMSAwLTY3LjYgMjgtNzEuNiA2NGwtLjQgMCAwIDEyMGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtNzJjMCAwIDAtLjEgMC0uMWwwLTE1LjkgMTYgMCAxMzYgMGMwIDAgMCAwIC4xIDBsNy45IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCA4ek0zMzYgMTkybDAgNTZjMCAzOS44LTMyLjIgNzItNzIgNzJzLTcyLTMyLjItNzItNzJsMC0xMTguNmMtMzUuOSA2LjItNjUuOCAzMi4zLTc2IDY4LjJMOTkuNSAyNTUuMiAyNi4zIDMyOC40Yy0yMS45IDIxLjktMjEuOSA1Ny4zIDAgNzkuMmw3OC4xIDc4LjFjMjEuOSAyMS45IDU3LjMgMjEuOSA3OS4yIDBsMzcuNy0zNy43Yy45IDAgMS44IC4xIDIuNyAuMWwxNjAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNmwyLjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGMwLTEyLjgtNS0yNC40LTEzLjItMzNjMjUuNy01IDQ1LjEtMjcuNiA0NS4yLTU0LjhsMC0uNGMtLjEtMzAuOC0yNS4xLTU1LjgtNTYtNTUuOGMwIDAgMCAwIDAgMGwtMTIwIDB6XCJdXG59O1xuY29uc3QgZmFIYW5kc0hlbHBpbmcgPSBmYUhhbmRzaGFrZUFuZ2xlO1xuY29uc3QgZmFMb2NhdGlvbkRvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsb2NhdGlvbi1kb3QnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcIm1hcC1tYXJrZXItYWx0XCJdLCBcImYzYzVcIiwgXCJNMjE1LjcgNDk5LjJDMjY3IDQzNSAzODQgMjc5LjQgMzg0IDE5MkMzODQgODYgMjk4IDAgMTkyIDBTMCA4NiAwIDE5MmMwIDg3LjQgMTE3IDI0MyAxNjguMyAzMDcuMmMxMi4zIDE1LjMgMzUuMSAxNS4zIDQ3LjQgMHpNMTkyIDEyOGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpcIl1cbn07XG5jb25zdCBmYU1hcE1hcmtlckFsdCA9IGZhTG9jYXRpb25Eb3Q7XG5jb25zdCBmYUZpbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZScsXG4gIGljb246IFszODQsIDUxMiwgWzEyODE5NiwgMTI4NDU5LCA2MTQ2Ml0sIFwiZjE1YlwiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMjQgMGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMCAwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpcIl1cbn07XG5jb25zdCBmYUdyZWF0ZXJUaGFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyZWF0ZXItdGhhbicsXG4gIGljb246IFszODQsIDUxMiwgWzYyNzY5XSwgXCIzZVwiLCBcIk0zLjQgODEuN2MtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOUwyODAuNSAyNTYgMTcuNyAzODcuNEMxLjkgMzk1LjMtNC41IDQxNC41IDMuNCA0MzAuM3MyNy4xIDIyLjIgNDIuOSAxNC4zbDMyMC0xNjBjMTAuOC01LjQgMTcuNy0xNi41IDE3LjctMjguNnMtNi44LTIzLjItMTcuNy0yOC42bC0zMjAtMTYwYy0xNS44LTcuOS0zNS0xLjUtNDIuOSAxNC4zelwiXVxufTtcbmNvbnN0IGZhUGVyc29uU3dpbW1pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXN3aW1taW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI3OTQ2LCBcInN3aW1tZXJcIl0sIFwiZjVjNFwiLCBcIk0zMDkuNSAxNzguNEw0NDcuOSAyOTcuMWMtMS42IC45LTMuMiAyLTQuOCAzYy0xOCAxMi40LTQwLjEgMjAuMy01OS4yIDIwLjNjLTE5LjYgMC00MC44LTcuNy01OS4yLTIwLjNjLTIyLjEtMTUuNS01MS42LTE1LjUtNzMuNyAwYy0xNy4xIDExLjgtMzggMjAuMy01OS4yIDIwLjNjLTEwLjEgMC0yMS4xLTIuMi0zMS45LTYuMkMxNjMuMSAxOTMuMiAyNjIuMiA5NiAzODQgOTZsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMjYuOSAwLTUyLjMgNi42LTc0LjUgMTguNHpNMTYwIDE2MEE2NCA2NCAwIDEgMSAzMiAxNjBhNjQgNjQgMCAxIDEgMTI4IDB6TTMwNi41IDMyNS45QzMyOSAzNDEuNCAzNTYuNSAzNTIgMzg0IDM1MmMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWMwIDAgMCAwIDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDQwNS43IDQxNyA0MTYgMzg0IDQxNmMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNCAyNy4zLTEwLjEgMzkuMi0xLjdjMCAwIDAgMCAwIDBDMTM2LjcgMzQxLjIgMTY1LjEgMzUyIDE5MiAzNTJjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xuY29uc3QgZmFTd2ltbWVyID0gZmFQZXJzb25Td2ltbWluZztcbmNvbnN0IGZhQXJyb3dEb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LWRvd24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFs4NTk1XSwgXCJmMDYzXCIsIFwiTTE2OS40IDQ3MC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDM3MC44IDIyNCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMwNi43TDU0LjYgMjY1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6XCJdXG59O1xuY29uc3QgZmFEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Ryb3BsZXQnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjgxNjcsIFwidGludFwiXSwgXCJmMDQzXCIsIFwiTTE5MiA1MTJDODYgNTEyIDAgNDI2IDAgMzIwQzAgMjI4LjggMTMwLjIgNTcuNyAxNjYuNiAxMS43QzE3Mi42IDQuMiAxODEuNSAwIDE5MS4xIDBsMS44IDBjOS42IDAgMTguNSA0LjIgMjQuNSAxMS43QzI1My44IDU3LjcgMzg0IDIyOC44IDM4NCAzMjBjMCAxMDYtODYgMTkyLTE5MiAxOTJ6TTk2IDMzNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmMtNDQuMiAwLTgwLTM1LjgtODAtODB6XCJdXG59O1xuY29uc3QgZmFUaW50ID0gZmFEcm9wbGV0O1xuY29uc3QgZmFFcmFzZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXJhc2VyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMTJkXCIsIFwiTTI5MC43IDU3LjRMNTcuNCAyOTAuN2MtMjUgMjUtMjUgNjUuNSAwIDkwLjVsODAgODBjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0wyODggNDgwbDkuNCAwTDUxMiA0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyNC4xIDBMNTE4LjYgMjg1LjNjMjUtMjUgMjUtNjUuNSAwLTkwLjVMMzgxLjMgNTcuNGMtMjUtMjUtNjUuNS0yNS05MC41IDB6TTI5Ny40IDQxNmwtOS40IDAtMTA1LjQgMC04MC04MEwyMjcuMyAyMTEuMyAzNjQuNyAzNDguNyAyOTcuNCA0MTZ6XCJdXG59O1xuY29uc3QgZmFFYXJ0aEFtZXJpY2FzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWFtZXJpY2FzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3NzU4LCBcImVhcnRoXCIsIFwiZWFydGgtYW1lcmljYVwiLCBcImdsb2JlLWFtZXJpY2FzXCJdLCBcImY1N2RcIiwgXCJNNTcuNyAxOTNsOS40IDE2LjRjOC4zIDE0LjUgMjEuOSAyNS4yIDM4IDI5LjhMMTYzIDI1NS43YzE3LjIgNC45IDI5IDIwLjYgMjkgMzguNWwwIDM5LjljMCAxMSA2LjIgMjEgMTYgMjUuOXMxNiAxNC45IDE2IDI1LjlsMCAzOWMwIDE1LjYgMTQuOSAyNi45IDI5LjkgMjIuNmMxNi4xLTQuNiAyOC42LTE3LjUgMzIuNy0zMy44bDIuOC0xMS4yYzQuMi0xNi45IDE1LjItMzEuNCAzMC4zLTQwbDguMS00LjZjMTUtOC41IDI0LjItMjQuNSAyNC4yLTQxLjdsMC04LjNjMC0xMi43LTUuMS0yNC45LTE0LjEtMzMuOWwtMy45LTMuOWMtOS05LTIxLjItMTQuMS0zMy45LTE0LjFMMjU3IDI1NmMtMTEuMSAwLTIyLjEtMi45LTMxLjgtOC40bC0zNC41LTE5LjdjLTQuMy0yLjUtNy42LTYuNS05LjItMTEuMmMtMy4yLTkuNiAxLjEtMjAgMTAuMi0yNC41bDUuOS0zYzYuNi0zLjMgMTQuMy0zLjkgMjEuMy0xLjVsMjMuMiA3LjdjOC4yIDIuNyAxNy4yLS40IDIxLjktNy41YzQuNy03IDQuMi0xNi4zLTEuMi0yMi44bC0xMy42LTE2LjNjLTEwLTEyLTkuOS0yOS41IC4zLTQxLjNsMTUuNy0xOC4zYzguOC0xMC4zIDEwLjItMjUgMy41LTM2LjdsLTIuNC00LjJjLTMuNS0uMi02LjktLjMtMTAuNC0uM0MxNjMuMSA0OCA4NC40IDEwOC45IDU3LjcgMTkzek00NjQgMjU2YzAtMzYuOC05LjYtNzEuNC0yNi40LTEwMS41TDQxMiAxNjQuOGMtMTUuNyA2LjMtMjMuOCAyMy44LTE4LjUgMzkuOGwxNi45IDUwLjdjMy41IDEwLjQgMTIgMTguMyAyMi42IDIwLjlsMjkuMSA3LjNjMS4yLTkgMS44LTE4LjIgMS44LTI3LjV6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG5jb25zdCBmYUVhcnRoID0gZmFFYXJ0aEFtZXJpY2FzO1xuY29uc3QgZmFFYXJ0aEFtZXJpY2EgPSBmYUVhcnRoQW1lcmljYXM7XG5jb25zdCBmYUdsb2JlQW1lcmljYXMgPSBmYUVhcnRoQW1lcmljYXM7XG5jb25zdCBmYVBlcnNvbkJ1cnN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1idXJzdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTUzYlwiLCBcIk00ODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzODRsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjIzLjEgMjguNiA0Ny41YzkuMSAxNS4xIDI4LjggMjAgNDMuOSAxMC45czIwLTI4LjggMTAuOS00My45bC01OC4zLTk3Yy0xNy40LTI4LjktNDguNi00Ni42LTgyLjMtNDYuNmwtMjkuNyAwYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOUw0MDggMjU2LjkgNDA4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyek0xOTAuOSAxOC4xQzE4OC40IDEyIDE4Mi42IDggMTc2IDhzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMNTUuNiA2OC45Yy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNzLTQuNiAxMi4yLTEuNCAxNy45bDM5LjUgNjkuMUwxMC45IDIwNi40Yy01LjQgMy43LTggMTAuMy02LjUgMTYuN3M2LjcgMTEuMiAxMy4xIDEyLjJsNzguNyAxMi4yTDkwLjYgMzI3Yy0uNSA2LjUgMy4xIDEyLjcgOSAxNS41czEyLjkgMS44IDE3LjgtMi42TDE3NiAyODYuMWw1OC42IDUzLjljNC44IDQuNCAxMS45IDUuNSAxNy44IDIuNnM5LjUtOSA5LTE1LjVsLTUuNi03OS40IDUwLjUtNy44IDI0LjMtNDAuNS01NS4yLTM4TDMxNSA5Mi4yYzMuMy01LjcgMi43LTEyLjgtMS40LTE3LjlzLTEwLjktNy4yLTE3LjItNS4zTDIyMC4zIDkyLjFsLTI5LjQtNzR6XCJdXG59O1xuY29uc3QgZmFEb3ZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RvdmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgzMzBdLCBcImY0YmFcIiwgXCJNMTYwLjggOTYuNWMxNCAxNyAzMSAzMC45IDQ5LjUgNDIuMmMyNS45IDE1LjggNTMuNyAyNS45IDc3LjcgMzEuNmwwLTMxLjVDMjY1LjggMTA4LjUgMjUwIDcxLjUgMjQ4LjYgMjhjLS40LTExLjMtNy41LTIxLjUtMTguNC0yNC40Yy03LjYtMi0xNS44LS4yLTIxIDUuOGMtMTMuMyAxNS40LTMyLjcgNDQuNi00OC40IDg3LjJ6TTMyMCAxNDRsMCAzMC42czAgMCAwIDBsMCAxLjNzMCAwIDAgMGwwIDMyLjFjLTYwLjgtNS4xLTE4NS00My44LTIxOS4zLTE1Ny4yQzk3LjQgNDAgODcuOSAzMiA3Ni42IDMyYy03LjkgMC0xNS4zIDMuOS0xOC44IDExQzQ2LjggNjUuOSAzMiAxMTIuMSAzMiAxNzZjMCAxMTYuOSA4MC4xIDE4MC41IDExOC40IDIwMi44TDExLjggNDE2LjZDNi43IDQxOCAyLjYgNDIxLjggLjkgNDI2LjhzLS44IDEwLjYgMi4zIDE0LjhDMjEuNyA0NjYuMiA3Ny4zIDUxMiAxNjAgNTEyYzMuNiAwIDcuMi0xLjIgMTAtMy41TDI0NS42IDQ0OGw3NC40IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC0xNjAgMjkuOS00NC45YzEuMy0yIDIuMS00LjQgMi4xLTYuOGMwLTYuOC01LjUtMTIuMy0xMi4zLTEyLjNMNDAwIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MHptODAtMTZhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbmNvbnN0IGZhQmF0dGVyeUVtcHR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhdHRlcnktZW1wdHknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImJhdHRlcnktMFwiXSwgXCJmMjQ0XCIsIFwiTTgwIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTYwYzAgOC44IDcuMiAxNiAxNiAxNmwzODQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNjBjMC04LjgtNy4yLTE2LTE2LTE2TDgwIDE2MHpNMCAxNzZjMC00NC4yIDM1LjgtODAgODAtODBsMzg0IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBMODAgNDE2Yy00NC4yIDAtODAtMzUuOC04MC04MEwwIDE3NnpcIl1cbn07XG5jb25zdCBmYUJhdHRlcnkwID0gZmFCYXR0ZXJ5RW1wdHk7XG5jb25zdCBmYVNvY2tzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NvY2tzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTEwXSwgXCJmNjk2XCIsIFwiTTE3NS4yIDQ3Ni42Yy05LjctMTgtMTUuMi0zOC43LTE1LjItNjAuNmMwLTQwLjMgMTktNzguMiA1MS4yLTEwMi40bDY0LTQ4YzguMS02IDEyLjgtMTUuNSAxMi44LTI1LjZsMC0xNDRMMTI4IDk2bDAgMTQ0YzAgMjAuMS05LjUgMzkuMS0yNS42IDUxLjJsLTY0IDQ4QzE0LjIgMzU3LjMgMCAzODUuOCAwIDQxNmMwIDUzIDQzIDk2IDk2IDk2YzIwLjggMCA0MS02LjcgNTcuNi0xOS4ybDIxLjYtMTYuMnpNMTI4IDY0bDE2MCAwIDAtMTZjMC0xNC41IDMuOS0yOC4yIDEwLjctMzkuOUMyOTEgMyAyODEuOSAwIDI3MiAwTDE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2ek0zMjAgOTZsMCAxNDRjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhDMjA2LjIgMzU3LjMgMTkyIDM4NS44IDE5MiA0MTZjMCA1MyA0MyA5NiA5NiA5NmMyMC44IDAgNDEtNi43IDU3LjYtMTkuMmwxMTUuMi04Ni40QzQ5MyAzODIuMiA1MTIgMzQ0LjMgNTEyIDMwNGwwLTIwOEwzMjAgOTZ6TTUxMiA2NGwwLTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDM2OCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2IDE5MiAwelwiXVxufTtcbmNvbnN0IGZhSW5ib3ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaW5ib3gnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwMWNcIiwgXCJNMTIxIDMyQzkxLjYgMzIgNjYgNTIgNTguOSA4MC41TDEuOSAzMDguNEMuNiAzMTMuNSAwIDMxOC43IDAgMzIzLjlMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC05Mi4xYzAtNS4yLS42LTEwLjQtMS45LTE1LjVsLTU3LTIyNy45QzQ0NiA1MiA0MjAuNCAzMiAzOTEgMzJMMTIxIDMyem0wIDY0bDI3MCAwIDQ4IDE5Mi01MS4yIDBjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTE0LjMgMjguNmMtNS40IDEwLjgtMTYuNSAxNy43LTI4LjYgMTcuN2wtMTIwLjQgMGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN2wtMTQuMy0yOC42Yy01LjQtMTAuOC0xNi41LTE3LjctMjguNi0xNy43TDczIDI4OCAxMjEgOTZ6XCJdXG59O1xuY29uc3QgZmFTZWN0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NlY3Rpb24nLFxuICBpY29uOiBbMjU2LCA1MTIsIFtdLCBcImU0NDdcIiwgXCJNNjQuOSA5NkM2Ny4xIDg0LjQgNzMuNyA3Ni4yIDg2IDcwLjZjMTMuOC02LjIgMzQuOC04LjkgNjEuMi00LjVjOC44IDEuNCAzNi4xIDcuMSA0NC4xIDkuM2MxNyA0LjggMzQuNy01LjEgMzkuNS0yMi4ycy01LjEtMzQuNy0yMi4yLTM5LjVjLTExLjEtMy4xLTQxLTkuMi01MC45LTEwLjhDMTIzLTIuNyA4OC4zLS42IDU5LjcgMTIuM0MyOS45IDI1LjggNy41IDUwLjkgMS42IDg2LjVjLS4xIC41LS4yIDEuMS0uMiAxLjZjLTIuMiAxOS43IC4zIDM3LjkgOC4xIDU0LjFjNy43IDE2LjEgMTkuNCAyOCAzMiAzNi45Yy42IC41IDEuMyAuOSAyIDEuNEMyMi4zIDE5NC4yIDYuNSAyMTUuMSAxLjcgMjQzYy0uMSAuNi0uMiAxLjEtLjIgMS43Yy0yLjMgMTkuMyAuNCAzNy4xIDguNCA1M2M3LjkgMTUuNiAxOS44IDI3IDMyLjMgMzUuNWMyMi40IDE1LjIgNTEuOSAyNCA3NS40IDMxYzAgMCAwIDAgMCAwbDMuNyAxLjFjMjcuMiA4LjIgNDYuOSAxNC42IDU5LjQgMjMuOGM1LjUgNCA4LjIgNy42IDkuNSAxMC45YzEuMyAzLjIgMi42IDguNiAuOSAxOC4xYy0xLjcgMTAuMS03LjcgMTgtMjAuNyAyMy41Yy0xNCA2LTM1LjQgOC41LTYyIDQuNGMtMTIuOC0yLjEtMzUuMS05LjctNTQuMS0xNi4yYzAgMCAwIDAgMCAwYy00LjMtMS41LTguNS0yLjktMTIuMy00LjJDMjUuMyA0MjAgNy4yIDQyOS4xIDEuNiA0NDUuOHMzLjUgMzQuOSAyMC4zIDQwLjVjMi42IC44IDUuNyAxLjkgOS4yIDMuMWMxOC42IDYuMyA0OC41IDE2LjYgNjcuMyAxOS42YzAgMCAwIDAgMCAwbC4yIDBjMzQuNSA1LjQgNjguOCAzLjQgOTcuMi04LjdjMjkuNC0xMi42IDUyLjUtMzYuNSA1OC41LTcxLjVjMy4zLTE5LjMgMS45LTM3LjQtNS01My45Yy02LjMtMTUtMTYuNC0yNi40LTI3LjYtMzUuMmMxNi41LTEzLjkgMjguNS0zMy4yIDMyLjYtNTguMmMzLjItMTkuOCAxLjktMzguMy00LjgtNTUuMWMtNi43LTE2LjgtMTcuOC0yOS40LTMwLjItMzljLTIyLjgtMTcuNi01My42LTI3LjQtNzcuNy0zNWwtMS40LS41Yy0yNy40LTguNy00Ny44LTE1LjMtNjEuNS0yNWMtNi4xLTQuNC05LjUtOC41LTExLjQtMTIuNGMtMS44LTMuNy0zLjItOS4zLTIuMy0xOC41em03Ni43IDIwOC41bC0uNi0uMi0xLjQtLjRjLTI3LjQtOC4yLTQ3LjktMTQuNS02MS43LTIzLjhjLTYuMi00LjItOS4zLTcuOS0xMS0xMS4zYy0xLjUtMy0yLjktNy43LTIuMS0xNS43YzEuOS05LjcgNy45LTE3LjMgMjAuNS0yMi43YzE0LTYgMzUuNC04LjUgNjIuMS00LjNsMTYuNCAyLjZjNi4zIDIuOSAxMS43IDYgMTYuMiA5LjVjNS41IDQuMiA4LjQgOC4yIDEwIDEyLjJjMS42IDQgMi44IDEwLjQgMS4xIDIwLjljLTIuNCAxNC43LTEyLjggMjYuNC0zNy4xIDMxbC0xMi40IDIuM3pcIl1cbn07XG5jb25zdCBmYUdhdWdlSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1oaWdoJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjI0NjEsIFwidGFjaG9tZXRlci1hbHRcIiwgXCJ0YWNob21ldGVyLWFsdC1mYXN0XCJdLCBcImY2MjVcIiwgXCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2ek0yODggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMjU2IDQxNmMzNS4zIDAgNjQtMjguNyA2NC02NGMwLTE3LjQtNi45LTMzLjEtMTguMS00NC42TDM2NiAxNjEuN2M1LjMtMTIuMS0uMi0yNi4zLTEyLjMtMzEuNnMtMjYuMyAuMi0zMS42IDEyLjNMMjU3LjkgMjg4Yy0uNiAwLTEuMyAwLTEuOSAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHMyOC43IDY0IDY0IDY0ek0xNzYgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTk2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTM1Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwelwiXVxufTtcbmNvbnN0IGZhVGFjaG9tZXRlckFsdCA9IGZhR2F1Z2VIaWdoO1xuY29uc3QgZmFUYWNob21ldGVyQWx0RmFzdCA9IGZhR2F1Z2VIaWdoO1xuY29uc3QgZmFFbnZlbG9wZU9wZW5UZXh0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VudmVsb3BlLW9wZW4tdGV4dCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY1OFwiLCBcIk0yMTUuNCA5NkwxNDQgOTZsLTM2LjIgMEw5NiA5NmwwIDguOEw5NiAxNDRsMCA0MC40IDAgODlMLjIgMjAyLjVjMS42LTE4LjEgMTAuOS0zNC45IDI1LjctNDUuOEw0OCAxNDAuMyA0OCA5NmMwLTI2LjUgMjEuNS00OCA0OC00OGw3Ni42IDAgNDkuOS0zNi45QzIzMi4yIDMuOSAyNDMuOSAwIDI1NiAwczIzLjggMy45IDMzLjUgMTFMMzM5LjQgNDggNDE2IDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDQuMyAyMi4xIDE2LjRjMTQuOCAxMC45IDI0LjEgMjcuNyAyNS43IDQ1LjhMNDE2IDI3My40bDAtODkgMC00MC40IDAtMzkuMiAwLTguOC0xMS44IDBMMzY4IDk2bC03MS40IDAtODEuMyAwek0wIDQ0OEwwIDI0Mi4xIDIxNy42IDQwMy4zYzExLjEgOC4yIDI0LjYgMTIuNyAzOC40IDEyLjdzMjcuMy00LjQgMzguNC0xMi43TDUxMiAyNDIuMSA1MTIgNDQ4czAgMCAwIDBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwIDAgMCAwIDAgMHpNMTc2IDE2MGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhSG9zcGl0YWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG9zcGl0YWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5NzMsIDYyNTg5LCBcImhvc3BpdGFsLWFsdFwiLCBcImhvc3BpdGFsLXdpZGVcIl0sIFwiZjBmOFwiLCBcIk0xOTIgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhMNDAwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0NjQtODAgMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4bDAgODAtODAgMCAwLTQ2NHpNNDggOTZsMTEyIDAgMCA0MTZMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDMyMGw4MCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDAgMjg4bDAtNjQgODAgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkwwIDE5MmwwLTQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em01NDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDY0LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDE0NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTEyIDAgMC00MTYgMTEyIDB6TTMxMiA2NGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjQtMjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDAgMCAyNGMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNCAyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMCAwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMHpcIl1cbn07XG5jb25zdCBmYUhvc3BpdGFsQWx0ID0gZmFIb3NwaXRhbDtcbmNvbnN0IGZhSG9zcGl0YWxXaWRlID0gZmFIb3NwaXRhbDtcbmNvbnN0IGZhV2luZUJvdHRsZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5lLWJvdHRsZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjcyZlwiLCBcIk0zOTMuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNjQgNjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNjLTExLjggMTEuOC0zMC43IDEyLjUtNDMuMiAxLjlsLTkuNSA5LjUtNDguOCA0OC44Yy05LjIgOS4yLTExLjUgMjIuOS04LjYgMzUuNmM5LjQgNDAuOS0xLjkgODUuNi0zMy44IDExNy41TDE5Ny4zIDQ5My4zYy0yNSAyNS02NS41IDI1LTkwLjUgMGwtODgtODhjLTI1LTI1LTI1LTY1LjUgMC05MC41TDE4MC4yIDE1My4zYzMxLjktMzEuOSA3Ni42LTQzLjEgMTE3LjUtMzMuOGMxMi42IDIuOSAyNi40IC41IDM1LjUtOC42bDQ4LjgtNDguOCA5LjUtOS41Yy0xMC42LTEyLjYtMTAtMzEuNCAxLjktNDMuMnpNOTkuMyAzNDcuM2w2NS40IDY1LjRjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsOTcuNC05Ny40YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC02NS40LTY1LjRjLTYuMi02LjItMTYuNC02LjItMjIuNiAwTDk5LjMgMzI0LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42elwiXVxufTtcbmNvbnN0IGZhQ2hlc3NSb29rID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLXJvb2snLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODIwXSwgXCJmNDQ3XCIsIFwiTTMyIDE5MkwzMiA0OGMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MGMwIDQuNCAzLjYgOCA4IDhsMzIgMGM0LjQgMCA4LTMuNiA4LThsMC00MGMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MGMwIDQuNCAzLjYgOCA4IDhsMzIgMGM0LjQgMCA4LTMuNiA4LThsMC00MGMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNDRjMCAxMC4xLTQuNyAxOS42LTEyLjggMjUuNkwzNTIgMjU2bDE2IDE0NEw4MCA0MDAgOTYgMjU2IDQ0LjggMjE3LjZDMzYuNyAyMTEuNiAzMiAyMDIuMSAzMiAxOTJ6bTE3NiA5NmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2ek0yMi42IDQ3My40TDY0IDQzMmwzMjAgMCA0MS40IDQxLjRjNC4yIDQuMiA2LjYgMTAgNi42IDE2YzAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42TDM4LjYgNTEyQzI2LjEgNTEyIDE2IDUwMS45IDE2IDQ4OS40YzAtNiAyLjQtMTEuOCA2LjYtMTZ6XCJdXG59O1xuY29uc3QgZmFCYXJzU3RhZ2dlcmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhcnMtc3RhZ2dlcmVkJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJyZW9yZGVyXCIsIFwic3RyZWFtXCJdLCBcImY1NTBcIiwgXCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2ek02NCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMOTYgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFSZW9yZGVyID0gZmFCYXJzU3RhZ2dlcmVkO1xuY29uc3QgZmFTdHJlYW0gPSBmYUJhcnNTdGFnZ2VyZWQ7XG5jb25zdCBmYURoYXJtYWNoYWtyYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaGFybWFjaGFrcmEnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5Nzg0XSwgXCJmNjU1XCIsIFwiTTMzNy44IDIwNS43bDQ4LjYtNDIuNWMxMy44IDE5LjMgMjMuNCA0MS45IDI3LjQgNjYuMmwtNjQuNCA0LjNjLTIuNC0xMC4xLTYuNC0xOS41LTExLjYtMjh6bTE0MC4xIDE5LjVjLTUuMy0zOC44LTIwLjYtNzQuNS00My4yLTEwNC4zbC44LS43QzQ0OSAxMDguNCA0NDkuNyA4Ny42IDQzNyA3NXMtMzMuNC0xMi00NS4yIDEuNWwtLjcgLjhjLTI5LjgtMjIuNi02NS41LTM3LjktMTA0LjMtNDMuMmwuMS0xLjFjMS4yLTE3LjktMTMtMzMtMzAuOS0zM3MtMzIuMSAxNS4yLTMwLjkgMzNsLjEgMS4xYy0zOC44IDUuMy03NC41IDIwLjYtMTA0LjMgNDMuMmwtLjctLjhDMTA4LjQgNjMgODcuNiA2Mi4zIDc1IDc1cy0xMiAzMy40IDEuNSA0NS4ybC44IC43Yy0yMi42IDI5LjgtMzcuOSA2NS41LTQzLjIgMTA0LjNsLTEuMS0uMWMtMTcuOS0xLjItMzMgMTMtMzMgMzAuOXMxNS4yIDMyLjEgMzMgMzAuOWwxLjEtLjFjNS4zIDM4LjggMjAuNiA3NC41IDQzLjIgMTA0LjNsLS44IC43QzYzIDQwMy42IDYyLjMgNDI0LjQgNzUgNDM3czMzLjQgMTIgNDUuMi0xLjVsLjctLjhjMjkuOCAyMi42IDY1LjUgMzcuOSAxMDQuMyA0My4ybC0uMSAxLjFjLTEuMiAxNy45IDEzIDMzIDMwLjkgMzNzMzIuMS0xNS4yIDMwLjktMzNsLS4xLTEuMWMzOC44LTUuMyA3NC41LTIwLjYgMTA0LjMtNDMuMmwuNyAuOGMxMS44IDEzLjUgMzIuNSAxNC4yIDQ1LjIgMS41czEyLTMzLjQtMS41LTQ1LjJsLS44LS43YzIyLjYtMjkuOCAzNy45LTY1LjUgNDMuMi0xMDQuM2wxLjEgLjFjMTcuOSAxLjIgMzMtMTMgMzMtMzAuOXMtMTUuMi0zMi4xLTMzLTMwLjlsLTEuMSAuMXpNMTYzLjIgMTI1LjZjMTkuMy0xMy44IDQxLjktMjMuNCA2Ni4yLTI3LjVsNC4zIDY0LjRjLTEwIDIuNC0xOS41IDYuNC0yOCAxMS42bC00Mi41LTQ4LjZ6bS02NSAxMDMuOGM0LjEtMjQuNCAxMy43LTQ2LjkgMjcuNS02Ni4ybDQ4LjYgNDIuNWMtNS4zIDguNS05LjIgMTgtMTEuNiAyOGwtNjQuNC00LjN6bTI3LjUgMTE5LjRjLTEzLjgtMTkuMy0yMy40LTQxLjktMjcuNS02Ni4ybDY0LjQtNC4zYzIuNCAxMCA2LjQgMTkuNSAxMS42IDI4bC00OC42IDQyLjV6bTEwMy44IDY1Yy0yNC40LTQuMS00Ni45LTEzLjctNjYuMi0yNy40bDQyLjUtNDguNmM4LjUgNS4zIDE4IDkuMiAyOCAxMS42bC00LjMgNjQuNHptMTE5LjQtMjcuNGMtMTkuMyAxMy44LTQxLjkgMjMuNC02Ni4yIDI3LjRsLTQuMy02NC40YzEwLTIuNCAxOS41LTYuNCAyOC0xMS42bDQyLjUgNDguNnptNjUtMTAzLjhjLTQuMSAyNC40LTEzLjcgNDYuOS0yNy40IDY2LjJsLTQ4LjYtNDIuNWM1LjMtOC41IDkuMi0xOCAxMS42LTI4bDY0LjQgNC4zem0tNjUtMTU2LjlsLTQyLjUgNDguNmMtOC41LTUuMy0xOC05LjItMjgtMTEuNmw0LjMtNjQuNGMyNC40IDQuMSA0Ni45IDEzLjcgNjYuMiAyNy41ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUhvdGRvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3Rkb2cnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc3ODldLCBcImY4MGZcIiwgXCJNNDg4LjYgMjMuNGMzMS4yIDMxLjIgMzEuMiA4MS45IDAgMTEzLjFsLTM1MiAzNTJjLTMxLjIgMzEuMi04MS45IDMxLjItMTEzLjEgMHMtMzEuMi04MS45IDAtMTEzLjFsMzUyLTM1MmMzMS4yLTMxLjIgODEuOS0zMS4yIDExMy4xIDB6TTQ0My4zIDkyLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwYy0xMi41IDEyLjUtMjMuOCAxNS4xLTM3LjUgMTcuNmwtMi41IC40Yy0xMy44IDIuNS0zMS42IDUuNi00OCAyMmMtMTYuNyAxNi43LTIwLjkgMzYtMjQuMSA1MC45YzAgMCAwIDAgMCAwczAgMCAwIDBsLS4yIDFjLTMuNCAxNS42LTYgMjYuNC0xNS43IDM2LjFzLTIwLjUgMTIuMy0zNi4xIDE1LjdsLTEgLjJjLTE0LjkgMy4yLTM0LjIgNy40LTUwLjkgMjQuMXMtMjAuOSAzNi0yNC4xIDUwLjlsLS4yIDFjLTMuNCAxNS42LTYgMjYuNC0xNS43IDM2LjFjLTkuMiA5LjItMTggMTAuOC0zMi43IDEzLjRjMCAwIDAgMCAwIDBsLS45IC4yYy0xNS42IDIuOC0zNC45IDYuOS01NC40IDI2LjRjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGMxMi41LTEyLjUgMjMuOC0xNS4xIDM3LjUtMTcuNmwyLjUtLjRjMTMuOC0yLjUgMzEuNi01LjYgNDgtMjJjMTYuNy0xNi43IDIwLjktMzYgMjQuMS01MC45bC4yLTFjMy40LTE1LjYgNi0yNi40IDE1LjctMzYuMXMyMC41LTEyLjMgMzYuMS0xNS43bDEtLjJjMTQuOS0zLjIgMzQuMi03LjQgNTAuOS0yNC4xczIwLjktMzYgMjQuMS01MC45bC4yLTFjMy40LTE1LjYgNi0yNi40IDE1LjctMzYuMWM5LjItOS4yIDE4LTEwLjggMzIuNy0xMy40bC45LS4yYzE1LjYtMi44IDM0LjktNi45IDU0LjQtMjYuNGM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpNMTkxLjIgNDc5LjJsMjg4LTI4OEw0OTUgMjA3YzEwLjkgMTAuOSAxNyAyNS42IDE3IDQxcy02LjEgMzAuMS0xNyA0MUwyODkgNDk1Yy0xMC45IDEwLjktMjUuNiAxNy00MSAxN3MtMzAuMS02LjEtNDEtMTdsLTE1LjgtMTUuOHpNMTcgMzA1QzYuMSAyOTQuMSAwIDI3OS40IDAgMjY0czYuMS0zMC4xIDE3LTQxTDIyMyAxN0MyMzMuOSA2LjEgMjQ4LjYgMCAyNjQgMHMzMC4xIDYuMSA0MSAxN2wxNS44IDE1LjgtMjg4IDI4OEwxNyAzMDV6XCJdXG59O1xuY29uc3QgZmFQZXJzb25XYWxraW5nV2l0aENhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmctd2l0aC1jYW5lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJibGluZFwiXSwgXCJmMjlkXCIsIFwiTTE3NiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04LjQgMzJjLTM2LjQgMC02OS42IDIwLjUtODUuOSA1My4xTDM1LjQgMjczLjdjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM0wxMjggMjMxLjZsMCA0My4yYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zTDIyNCAzOTcuM2wwIDgyLjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTg5LjRjMC0xMi43LTUuMS0yNC45LTE0LjEtMzMuOUwyMjQgMzA2LjdsMC05My40IDcwLjQgOTMuOWMxMC42IDE0LjEgMzAuNyAxNyA0NC44IDYuNHMxNy0zMC43IDYuNC00NC44TDI2OC44IDE2Ni40QzI1MC43IDE0Mi4yIDIyMi4yIDEyOCAxOTIgMTI4bC0yNC40IDB6TTEyOC4zIDM0Ni44TDk3IDQ3Mi4yYy00LjMgMTcuMSA2LjEgMzQuNSAyMy4zIDM4LjhzMzQuNS02LjEgMzguOC0yMy4zbDIyLTg4LjItNTIuOC01Mi44ek00NTAuOCA1MDUuMWM1IDcuMyAxNSA5LjEgMjIuMyA0czkuMS0xNSA0LTIyLjNMMzU4LjkgMzE2LjFjLTIuOCAzLjgtNi4xIDcuMy0xMC4xIDEwLjNjLTUgMy44LTEwLjUgNi40LTE2LjIgNy45TDQ1MC44IDUwNS4xelwiXVxufTtcbmNvbnN0IGZhQmxpbmQgPSBmYVBlcnNvbldhbGtpbmdXaXRoQ2FuZTtcbmNvbnN0IGZhRHJ1bSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkcnVtJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzQ1XSwgXCJmNTY5XCIsIFwiTTUwMS4yIDc2LjFjMTEuMS03LjMgMTQuMi0yMi4xIDYuOS0zMy4ycy0yMi4xLTE0LjItMzMuMi02LjlMMzcwLjIgMTA0LjVDMzM1LjggOTguNyAyOTcgOTYgMjU2IDk2QzExNC42IDk2IDAgMTI4IDAgMjA4TDAgMzY4YzAgMzEuMyAyNy40IDU4LjggNzIgNzguN0w3MiAzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDExOS40YzMzIDguOSA3MS4xIDE0LjUgMTEyIDE2LjFMMjMyIDM3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTAzLjVjNDAuOS0xLjYgNzktNy4yIDExMi0xNi4xTDM5MiAzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwMi43YzQ0LjYtMTkuOSA3Mi00Ny40IDcyLTc4LjdsMC0xNjBjMC00MS4xLTMwLjItNjkuNS03OC44LTg3LjRsNjcuOS00NC41ek0zMDcuNCAxNDUuNmwtNjQuNiA0Mi4zYy0xMS4xIDcuMy0xNC4yIDIyLjEtNi45IDMzLjJzMjIuMSAxNC4yIDMzLjIgNi45bDExMS4xLTcyLjhjMTQuNyAzLjIgMjcuOSA3IDM5LjQgMTEuNUM0NTguNCAxODEuOCA0NjQgMTk3LjQgNDY0IDIwOGMwIC44LTIuNyAxNy4yLTQ2IDM1LjlDMzc5LjEgMjYwLjcgMzIyIDI3MiAyNTYgMjcycy0xMjMuMS0xMS4zLTE2Mi0yOC4xQzUwLjcgMjI1LjIgNDggMjA4LjggNDggMjA4YzAtMTAuNiA1LjYtMjYuMiA0NC40LTQxLjNDMTMwLjYgMTUxLjkgMTg3LjggMTQ0IDI1NiAxNDRjMTggMCAzNS4xIC41IDUxLjQgMS42elwiXVxufTtcbmNvbnN0IGZhSWNlQ3JlYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaWNlLWNyZWFtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3ODQ4XSwgXCJmODEwXCIsIFwiTTM2Ny4xIDE2MGMuNi01LjMgLjktMTAuNiAuOS0xNkMzNjggNjQuNSAzMDMuNSAwIDIyNCAwUzgwIDY0LjUgODAgMTQ0YzAgNS40IC4zIDEwLjcgLjkgMTZsLS45IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDhsNTMuNSAwIDE4MSAwIDUzLjUgMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtLjkgMHpNOTYgMjg4TDIwMC44IDQ5Ny43YzQuNCA4LjggMTMuMyAxNC4zIDIzLjIgMTQuM3MxOC44LTUuNSAyMy4yLTE0LjNMMzUyIDI4OCA5NiAyODh6XCJdXG59O1xuY29uc3QgZmFIZWFydENpcmNsZUJvbHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGVhcnQtY2lyY2xlLWJvbHQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0ZmNcIiwgXCJNNDcuNiAzMDAuNEwyMjguMyA0NjkuMWM3LjUgNyAxNy40IDEwLjkgMjcuNyAxMC45czIwLjItMy45IDI3LjctMTAuOWwyLjYtMi40QzI2Ny4yIDQzOC42IDI1NiA0MDQuNiAyNTYgMzY4YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2YzI4LjMgMCA1NSA2LjcgNzguNyAxOC41Yy45LTYuNSAxLjMtMTMgMS4zLTE5LjZsMC01LjhjMC02OS45LTUwLjUtMTI5LjUtMTE5LjQtMTQxQzM0NyAzNi41IDMwMC42IDUxLjQgMjY4IDg0TDI1NiA5NiAyNDQgODRjLTMyLjYtMzIuNi03OS00Ny41LTEyNC42LTM5LjlDNTAuNSA1NS42IDAgMTE1LjIgMCAxODUuMWwwIDUuOGMwIDQxLjUgMTcuMiA4MS4yIDQ3LjYgMTA5LjV6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em00Ny45LTIyNWM0LjMgMy43IDUuNCA5LjkgMi42IDE0LjlMNDUyLjQgMzU2bDM1LjYgMGM1LjIgMCA5LjggMy4zIDExLjQgOC4ycy0uMSAxMC4zLTQuMiAxMy40bC05NiA3MmMtNC41IDMuNC0xMC44IDMuMi0xNS4xLS42cy01LjQtOS45LTIuNi0xNC45TDQxMS42IDM4MCAzNzYgMzgwYy01LjIgMC05LjgtMy4zLTExLjQtOC4ycy4xLTEwLjMgNC4yLTEzLjRsOTYtNzJjNC41LTMuNCAxMC44LTMuMiAxNS4xIC42elwiXVxufTtcbmNvbnN0IGZhRmF4ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZheCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODIyNCwgMTI4NDM5XSwgXCJmMWFjXCIsIFwiTTEyOCA2NGwwIDk2IDY0IDAgMC05NiAxOTQuNyAwTDQxNiA5My4zbDAgNjYuNyA2NCAwIDAtNjYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w0MzIgMTguN0M0MjAgNi43IDQwMy43IDAgMzg2LjcgMEwxOTIgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6TTAgMTYwTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMjBjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem00ODAgMzJsLTM1MiAwIDAgMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yNTYgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzIgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0yMjQgNDE2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6XCJdXG59O1xuY29uc3QgZmFQYXJhZ3JhcGggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGFyYWdyYXBoJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTgyXSwgXCJmMWRkXCIsIFwiTTE5MiAzMmw2NCAwIDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzUyLTMyIDAgMCAzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAwYy04OC40IDAtMTYwLTcxLjYtMTYwLTE2MHM3MS42LTE2MCAxNjAtMTYwelwiXVxufTtcbmNvbnN0IGZhQ2hlY2tUb1Nsb3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hlY2stdG8tc2xvdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1widm90ZS15ZWFcIl0sIFwiZjc3MlwiLCBcIk05NiA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGwyODggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDMwNEw5NiAzODQgOTYgODB6bTMxMyA0N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTExMSAxMTEtNDctNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNjQgNjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBMNDA5IDE2MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXpNMCAzMzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYgMCAwIDEyOCA0NDggMCAwLTEyOCAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2elwiXVxufTtcbmNvbnN0IGZhVm90ZVllYSA9IGZhQ2hlY2tUb1Nsb3Q7XG5jb25zdCBmYVN0YXJIYWxmID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXItaGFsZicsXG4gIGljb246IFs1NzYsIDUxMiwgWzYxNzMxXSwgXCJmMDg5XCIsIFwiTTI4OCAwYy0xMi4yIC4xLTIzLjMgNy0yOC42IDE4TDE5NSAxNTAuMyA1MS40IDE3MS41Yy0xMiAxLjgtMjIgMTAuMi0yNS43IDIxLjdzLS43IDI0LjIgNy45IDMyLjdMMTM3LjggMzI5IDExMy4yIDQ3NC43Yy0yIDEyIDMgMjQuMiAxMi45IDMxLjNzMjMgOCAzMy44IDIuM0wyODggNDM5LjggMjg4IDB6TTQyOS45IDUxMmMxLjEgLjEgMi4xIC4xIDMuMiAwbC0zLjIgMHpcIl1cbn07XG5jb25zdCBmYUJveGVzU3RhY2tlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3hlcy1zdGFja2VkJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbNjI2MjUsIFwiYm94ZXNcIiwgXCJib3hlcy1hbHRcIl0sIFwiZjQ2OFwiLCBcIk0yNDggMEwyMDggMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTI4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xMTJjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzI4IDBsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZsLTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTgwek02NCAyNTZjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE2MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC00MCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC04MC00MCAwek0zNTIgNTEybDE2MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC00MCAwIDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC04MC00MCAwYy0xNSAwLTI4LjggNS4xLTM5LjcgMTMuOGM0LjkgMTAuNCA3LjcgMjIgNy43IDM0LjJsMCAxNjBjMCAxMi4yLTIuOCAyMy44LTcuNyAzNC4yQzMyMy4yIDUwNi45IDMzNyA1MTIgMzUyIDUxMnpcIl1cbn07XG5jb25zdCBmYUJveGVzID0gZmFCb3hlc1N0YWNrZWQ7XG5jb25zdCBmYUJveGVzQWx0ID0gZmFCb3hlc1N0YWNrZWQ7XG5jb25zdCBmYUxpbmsgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGluaycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODI3OSwgXCJjaGFpblwiXSwgXCJmMGMxXCIsIFwiTTU3OS44IDI2Ny43YzU2LjUtNTYuNSA1Ni41LTE0OCAwLTIwNC41Yy01MC01MC0xMjguOC01Ni41LTE4Ni4zLTE1LjRsLTEuNiAxLjFjLTE0LjQgMTAuMy0xNy43IDMwLjMtNy40IDQ0LjZzMzAuMyAxNy43IDQ0LjYgNy40bDEuNi0xLjFjMzIuMS0yMi45IDc2LTE5LjMgMTAzLjggOC42YzMxLjUgMzEuNSAzMS41IDgyLjUgMCAxMTRMNDIyLjMgMzM0LjhjLTMxLjUgMzEuNS04Mi41IDMxLjUtMTE0IDBjLTI3LjktMjcuOS0zMS41LTcxLjgtOC42LTEwMy44bDEuMS0xLjZjMTAuMy0xNC40IDYuOS0zNC40LTcuNC00NC42cy0zNC40LTYuOS00NC42IDcuNGwtMS4xIDEuNkMyMDYuNSAyNTEuMiAyMTMgMzMwIDI2MyAzODBjNTYuNSA1Ni41IDE0OCA1Ni41IDIwNC41IDBMNTc5LjggMjY3Ljd6TTYwLjIgMjQ0LjNjLTU2LjUgNTYuNS01Ni41IDE0OCAwIDIwNC41YzUwIDUwIDEyOC44IDU2LjUgMTg2LjMgMTUuNGwxLjYtMS4xYzE0LjQtMTAuMyAxNy43LTMwLjMgNy40LTQ0LjZzLTMwLjMtMTcuNy00NC42LTcuNGwtMS42IDEuMWMtMzIuMSAyMi45LTc2IDE5LjMtMTAzLjgtOC42Qzc0IDM3MiA3NCAzMjEgMTA1LjUgMjg5LjVMMjE3LjcgMTc3LjJjMzEuNS0zMS41IDgyLjUtMzEuNSAxMTQgMGMyNy45IDI3LjkgMzEuNSA3MS44IDguNiAxMDMuOWwtMS4xIDEuNmMtMTAuMyAxNC40LTYuOSAzNC40IDcuNCA0NC42czM0LjQgNi45IDQ0LjYtNy40bDEuMS0xLjZDNDMzLjUgMjYwLjggNDI3IDE4MiAzNzcgMTMyYy01Ni41LTU2LjUtMTQ4LTU2LjUtMjA0LjUgMEw2MC4yIDI0NC4zelwiXVxufTtcbmNvbnN0IGZhQ2hhaW4gPSBmYUxpbms7XG5jb25zdCBmYUVhckxpc3RlbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdlYXItbGlzdGVuJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXNcIl0sIFwiZjJhMlwiLCBcIk0zOTguMyAzLjRjLTE1LjgtNy45LTM1LTEuNS00Mi45IDE0LjNjLTcuOSAxNS44LTEuNSAzNC45IDE0LjIgNDIuOWwuNCAuMmMuNCAuMiAxLjEgLjYgMi4xIDEuMmMyIDEuMiA1IDMgOC43IDUuNmM3LjUgNS4yIDE3LjYgMTMuMiAyNy43IDI0LjJDNDI4LjUgMTEzLjQgNDQ4IDE0NiA0NDggMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC02Ni0yOC41LTExMy40LTU2LjUtMTQzLjdDNDQxLjYgMzMuMiA0MjcuNyAyMi4yIDQxNy4zIDE1Yy01LjMtMy43LTkuNy02LjQtMTMtOC4zYy0xLjYtMS0zLTEuNy00LTIuMmMtLjUtLjMtLjktLjUtMS4yLS43bC0uNC0uMi0uMi0uMWMwIDAgMCAwLS4xIDBjMCAwIDAgMCAwIDBMMzg0IDMyIDM5OC4zIDMuNHpNMTI4LjcgMjI3LjVjNi4yLTU2IDUzLjctOTkuNSAxMTEuMy05OS41YzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyYzAgMjkuMy0xMS4yIDU1LjktMjkuNiA3NS45Yy0xNyAxOC40LTM0LjQgNDUuMS0zNC40IDc4bDAgNi4xYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyYzYxLjkgMCAxMTItNTAuMSAxMTItMTEybDAtNi4xYzAtOS44IDUuNC0yMS43IDE3LjQtMzQuN0MzOTguMyAzMjcuOSA0MTYgMjg2IDQxNiAyNDBjMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZDMTQ5LjQgNjQgNzQuOCAxMzIuNSA2NS4xIDIyMC41Yy0xLjkgMTcuNiAxMC43IDMzLjQgMjguMyAzNS4zczMzLjQtMTAuNyAzNS4zLTI4LjN6TTMyIDUxMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTE5MiAzNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDEuNCAzNjEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwek0yMDggMjQwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhQXNzaXN0aXZlTGlzdGVuaW5nU3lzdGVtcyA9IGZhRWFyTGlzdGVuO1xuY29uc3QgZmFUcmVlQ2l0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cmVlLWNpdHknLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1ODdcIiwgXCJNMjg4IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNDQgNDAgMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiAyNCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQxNnptNjQgMzJsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzUyIDI3MmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNzYtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNTEyIDM2OGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0yMjQgMTYwYzAgNi0xIDExLTIgMTZjMjAgMTQgMzQgMzggMzQgNjRjMCA0NS0zNiA4MC04MCA4MGwtMTYgMCAwIDE2MGMwIDE4LTE1IDMyLTMyIDMyYy0xOCAwLTMyLTE0LTMyLTMybDAtMTYwLTE2IDBjLTQ1IDAtODAtMzUtODAtODBjMC0yNiAxMy01MCAzMy02NGMtMS01LTEtMTAtMS0xNmMwLTUzIDQyLTk2IDk2LTk2YzUzIDAgOTYgNDMgOTYgOTZ6XCJdXG59O1xuY29uc3QgZmFQbGF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsYXknLFxuICBpY29uOiBbMzg0LCA1MTIsIFs5NjU0XSwgXCJmMDRiXCIsIFwiTTczIDM5Yy0xNC44LTkuMS0zMy40LTkuNC00OC41LS45UzAgNjIuNiAwIDgwTDAgNDMyYzAgMTcuNCA5LjQgMzMuNCAyNC41IDQxLjlzMzMuNyA4LjEgNDguNS0uOUwzNjEgMjk3YzE0LjMtOC43IDIzLTI0LjIgMjMtNDFzLTguNy0zMi4yLTIzLTQxTDczIDM5elwiXVxufTtcbmNvbnN0IGZhRm9udCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmb250JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDMxXCIsIFwiTTI1NCA1Mi44QzI0OS4zIDQwLjMgMjM3LjMgMzIgMjI0IDMycy0yNS4zIDguMy0zMCAyMC44TDU3LjggNDE2IDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xLjggMCAxOC00OCAxNTkuNiAwIDE4IDQ4LTEuOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI1LjggMEwyNTQgNTIuOHpNMjc5LjggMzA0bC0xMTEuNiAwTDIyNCAxNTUuMSAyNzkuOCAzMDR6XCJdXG59O1xuY29uc3QgZmFUYWJsZUNlbGxzUm93TG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0YWJsZS1jZWxscy1yb3ctbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTY3YVwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjUuMWMtMzcuOCA1LjQtNjkuNCAyOS42LTg1LjIgNjIuOUwzNjAgMjI0bDAgNjQgNTYgMCAwIDguNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwtMjQgMCAwIDY0IDI0IDAgMCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTY0IDIyNGwwIDY0IDg4IDAgMC02NC04OCAwem0yMzIgMGwtODggMCAwIDY0IDg4IDAgMC02NHpNMTUyIDM1MmwtODggMCAwIDY0IDg4IDAgMC02NHptNTYgMGwwIDY0IDg4IDAgMC02NC04OCAwek01MjggMjQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTgwIDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDh6XCJdXG59O1xuY29uc3QgZmFSdXBpYWhTaWduID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3J1cGlhaC1zaWduJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMjNkXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsODAgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGMwIDU4LjgtMzUuMiAxMDkuMy04NS43IDEzMS43bDUxLjQgMTI4LjRjNi42IDE2LjQtMS40IDM1LTE3LjggNDEuNnMtMzUtMS40LTQxLjYtMTcuOEwxMDYuMyAzMjAgNjQgMzIwbDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDAgMjg4IDAgNjR6TTY0IDI1Nmw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwTDY0IDk2bDAgMTYwem0yNTYtOTZsODAgMGM2MS45IDAgMTEyIDUwLjEgMTEyIDExMnMtNTAuMSAxMTItMTEyIDExMmwtNDggMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4IDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyem04MCAxNjBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCA5NiA0OCAwelwiXVxufTtcbmNvbnN0IGZhTWFnbmlmeWluZ0dsYXNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjgyNjksIFwic2VhcmNoXCJdLCBcImYwMDJcIiwgXCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NmMtMzQuNCAyNS4yLTc2LjggNDAtMTIyLjcgNDBDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBTNDE2IDkzLjEgNDE2IDIwOHpNMjA4IDM1MmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6XCJdXG59O1xuY29uc3QgZmFTZWFyY2ggPSBmYU1hZ25pZnlpbmdHbGFzcztcbmNvbnN0IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzk1NSwgXCJwaW5nLXBvbmctcGFkZGxlLWJhbGxcIiwgXCJ0YWJsZS10ZW5uaXNcIl0sIFwiZjQ1ZFwiLCBcIk00MTYgMjg4Yy01MC4xIDAtOTMuNiAyOC44LTExNC42IDcwLjhMNjguOSAxMjYuM2wuNi0uNiA2MC4xLTYwLjFjODcuNS04Ny41IDIyOS4zLTg3LjUgMzE2LjggMGM2Ny4xIDY3LjEgODIuNyAxNjYuMyA0Ni44IDI0OC4zQzQ3MS44IDI5Ny42IDQ0NSAyODggNDE2IDI4OHpNNDkuMyAxNTEuOUwyOTAuMSAzOTIuN2MtMS40IDcuNS0yLjEgMTUuMy0yLjEgMjMuM2MwIDIzLjIgNi4yIDQ0LjkgMTYuOSA2My43Yy0zIC4yLTYuMSAuMy05LjIgLjNsLTIuNyAwYy0zMy45IDAtNjYuNS0xMy41LTkwLjUtMzcuNWwtOS44LTkuOGMtMTMuMS0xMy4xLTM0LjYtMTIuNC00Ni44IDEuN0w4OC4yIDUwMWMtNS44IDYuNy0xNC4yIDEwLjctMjMgMTFzLTE3LjUtMy4xLTIzLjgtOS40bC0zMi0zMkMzLjEgNDY0LjMtLjMgNDU1LjcgMCA0NDYuOXM0LjMtMTcuMiAxMS0yM2w2Ni42LTU3LjdjMTQtMTIuMiAxNC44LTMzLjcgMS43LTQ2LjhsLTkuOC05LjhDNDUuNSAyODUuNSAzMiAyNTIuOSAzMiAyMTlsMC0yLjdjMC0yMi44IDYuMS00NC45IDE3LjMtNjQuM3pNNDE2IDMyMGE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnpcIl1cbn07XG5jb25zdCBmYVBpbmdQb25nUGFkZGxlQmFsbCA9IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsO1xuY29uc3QgZmFUYWJsZVRlbm5pcyA9IGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsO1xuY29uc3QgZmFQZXJzb25Eb3RzRnJvbUxpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWRvdHMtZnJvbS1saW5lJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJkaWFnbm9zZXNcIl0sIFwiZjQ3MFwiLCBcIk0yODggMTc2QTg4IDg4IDAgMSAwIDI4OCAwYTg4IDg4IDAgMSAwIDAgMTc2ek03OC43IDM3Mi45YzE1LTEyLjUgNTAtMzQuNCA5Ny4zLTUwLjFMMTc2IDQzMmwyMjQgMCAwLTEwOS4zYzQ3LjMgMTUuOCA4Mi4zIDM3LjcgOTcuMyA1MC4xYzIwLjQgMTcgNTAuNiAxNC4yIDY3LjYtNi4xczE0LjItNTAuNi02LjEtNjcuNmMtMTItMTAtMzAuMS0yMi41LTUzLjItMzVDNDk3LjIgMjc4LjQgNDgxLjcgMjg4IDQ2NCAyODhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4YzAtNC4zIC42LTguNCAxLjYtMTIuNEMzNzkuMSAyMTUuOSAzMzUuMyAyMDggMjg4IDIwOGMtNjAuMiAwLTExNC45IDEyLjktMTYwIDI5LjljMCAuNyAwIDEuNCAwIDIuMWMwIDI2LjUtMjEuNSA0OC00OCA0OGMtMTEuOCAwLTIyLjctNC4zLTMxLTExLjRjLTEzLjEgOC4xLTIzLjcgMTUuOS0zMS43IDIyLjVjLTIwLjQgMTctMjMuMSA0Ny4yLTYuMSA2Ny42czQ3LjIgMjMuMSA2Ny42IDYuMXpNMjQgNDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDUyOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDQ2NHpNMjI0IDI4MGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMDQgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek05NiAyNDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMzY4IDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnpcIl1cbn07XG5jb25zdCBmYURpYWdub3NlcyA9IGZhUGVyc29uRG90c0Zyb21MaW5lO1xuY29uc3QgZmFUcmFzaENhbkFycm93VXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhc2gtY2FuLWFycm93LXVwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0cmFzaC1yZXN0b3JlLWFsdFwiXSwgXCJmODJhXCIsIFwiTTE2My44IDBMMjg0LjIgMGMxMi4xIDAgMjMuMiA2LjggMjguNiAxNy43TDMyMCAzMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmw5NiAwIDcuMi0xNC4zQzE0MC42IDYuOCAxNTEuNyAwIDE2My44IDB6TTMyIDEyOGwzODQgMCAwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzIwem0xOTIgNjRjLTYuNCAwLTEyLjUgMi41LTE3IDdsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzktMzlMMjAwIDQwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM0LjEgMzkgMzljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtNC41LTQuNS0xMC42LTctMTctN3pcIl1cbn07XG5jb25zdCBmYVRyYXNoUmVzdG9yZUFsdCA9IGZhVHJhc2hDYW5BcnJvd1VwO1xuY29uc3QgZmFOYWlyYVNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbmFpcmEtc2lnbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTFmNlwiLCBcIk0xMjIuNiA0Ni4zYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVM2NCA0OS45IDY0IDY0bDAgMTkyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDEwMC4yIDAgOTcuMiAxNDUuOGM3LjggMTEuNyAyMi40IDE3IDM1LjkgMTIuOXMyMi43LTE2LjUgMjIuNy0zMC42bDAtMTI4IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxOTItNTcuNSAwTDEyMi42IDQ2LjN6TTMwNS4xIDMyMGwxNC45IDAgMCAyMi4zTDMwNS4xIDMyMHpNMTg1LjUgMjU2TDEyOCAyNTZsMC04Ni4zTDE4NS41IDI1NnpcIl1cbn07XG5jb25zdCBmYUNhcnRBcnJvd0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FydC1hcnJvdy1kb3duJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmMjE4XCIsIFwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhsNDUuNSAwYzMuOCAwIDcuMSAyLjcgNy45IDYuNWw1MS42IDI3MWM2LjUgMzQgMzYuMiA1OC41IDcwLjcgNTguNUw0ODggMzg0YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yODguMyAwYy0xMS41IDAtMjEuNC04LjItMjMuNi0xOS41TDE3MC43IDI4OGwyODguNSAwYzMyLjYgMCA2MS4xLTIxLjggNjkuNS01My4zbDQxLTE1Mi4zQzU3Ni42IDU3IDU1Ny40IDMyIDUzMS4xIDMyTDM2MCAzMmwwIDEwMi4xIDIzLTIzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNjQgNjRjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDIzIDIzTDMxMiAzMiAxMjAuMSAzMkMxMTEgMTIuOCA5MS42IDAgNjkuNSAwTDI0IDB6TTE3NiA1MTJhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0zMzYtNDhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG5jb25zdCBmYVdhbGtpZVRhbGtpZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YWxraWUtdGFsa2llJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmOGVmXCIsIFwiTTExMiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNFM2NCAxMC43IDY0IDI0bDAgNzJMNDggOTZDMjEuNSA5NiAwIDExNy41IDAgMTQ0TDAgMzAwLjFjMCAxMi43IDUuMSAyNC45IDE0LjEgMzMuOWwzLjkgMy45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45TDMyIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTkyLjFjMC0xMi43IDUuMS0yNC45IDE0LjEtMzMuOWwzLjktMy45YzktOSAxNC4xLTIxLjIgMTQuMS0zMy45TDM4NCAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTE2IDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsLTMyIDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsLTQ4IDAgMC03MnptMCAxMzZsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0wIDY0bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMCA2NGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFGaWxlUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjIxLCBcImZpbGUtZWRpdFwiXSwgXCJmMzFjXCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMTI1LjctODYuOCA4Ni44Yy0xMC4zIDEwLjMtMTcuNSAyMy4xLTIxIDM3LjJsLTE4LjcgNzQuOWMtMi4zIDkuMi0xLjggMTguOCAxLjMgMjcuNUw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpNNTQ5LjggMjM1LjdsMTQuNCAxNC40YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC0yOS40IDI5LjQtNzEtNzEgMjkuNC0yOS40YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwek0zMTEuOSA0MTdMNDQxLjEgMjg3LjhsNzEgNzFMMzgyLjkgNDg3LjljLTQuMSA0LjEtOS4yIDctMTQuOSA4LjRsLTYwLjEgMTVjLTUuNSAxLjQtMTEuMi0uMi0xNS4yLTQuMnMtNS42LTkuNy00LjItMTUuMmwxNS02MC4xYzEuNC01LjYgNC4zLTEwLjggOC40LTE0Ljl6XCJdXG59O1xuY29uc3QgZmFGaWxlRWRpdCA9IGZhRmlsZVBlbjtcbmNvbnN0IGZhUmVjZWlwdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWNlaXB0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI5NTM0XSwgXCJmNTQzXCIsIFwiTTE0IDIuMkMyMi41LTEuNyAzMi41LS4zIDM5LjYgNS44TDgwIDQwLjQgMTIwLjQgNS44YzktNy43IDIyLjMtNy43IDMxLjIgMEwxOTIgNDAuNCAyMzIuNCA1LjhjOS03LjcgMjIuMy03LjcgMzEuMiAwTDMwNCA0MC40IDM0NC40IDUuOGM3LjEtNi4xIDE3LjEtNy41IDI1LjYtMy42czE0IDEyLjQgMTQgMjEuOGwwIDQ2NGMwIDkuNC01LjUgMTcuOS0xNCAyMS44cy0xOC41IDIuNS0yNS42LTMuNkwzMDQgNDcxLjZsLTQwLjQgMzQuNmMtOSA3LjctMjIuMyA3LjctMzEuMiAwTDE5MiA0NzEuNmwtNDAuNCAzNC42Yy05IDcuNy0yMi4zIDcuNy0zMS4yIDBMODAgNDcxLjYgMzkuNiA1MDYuMmMtNy4xIDYuMS0xNy4xIDcuNS0yNS42IDMuNlMwIDQ5Ny40IDAgNDg4TDAgMjRDMCAxNC42IDUuNSA2LjEgMTQgMi4yek05NiAxNDRjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMOTYgMTQ0ek04MCAzNTJjMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDk2IDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2ek05NiAyNDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMOTYgMjQwelwiXVxufTtcbmNvbnN0IGZhU3F1YXJlUGVuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1wZW4nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcInBlbi1zcXVhcmVcIiwgXCJwZW5jaWwtc3F1YXJlXCJdLCBcImYxNGJcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzI1LjggMTM5LjdsMTQuNCAxNC40YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC0yMS40IDIxLjQtNzEtNzEgMjEuNC0yMS40YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwek0xMTkuOSAyODlMMjI1LjEgMTgzLjhsNzEgNzFMMTkwLjkgMzU5LjljLTQuMSA0LjEtOS4yIDctMTQuOSA4LjRsLTYwLjEgMTVjLTUuNSAxLjQtMTEuMi0uMi0xNS4yLTQuMnMtNS42LTkuNy00LjItMTUuMmwxNS02MC4xYzEuNC01LjYgNC4zLTEwLjggOC40LTE0Ljl6XCJdXG59O1xuY29uc3QgZmFQZW5TcXVhcmUgPSBmYVNxdWFyZVBlbjtcbmNvbnN0IGZhUGVuY2lsU3F1YXJlID0gZmFTcXVhcmVQZW47XG5jb25zdCBmYVN1aXRjYXNlUm9sbGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzdWl0Y2FzZS1yb2xsaW5nJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNWMxXCIsIFwiTTE0NCA1NmMwLTQuNCAzLjYtOCA4LThsODAgMGM0LjQgMCA4IDMuNiA4IDhsMCA3Mi05NiAwIDAtNzJ6bTE3NiA3MmwtMzIgMCAwLTcyYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDE1MiAwQzEyMS4xIDAgOTYgMjUuMSA5NiA1NmwwIDcyLTMyIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMTI4IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NHpNMTEyIDIyNGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgMTI4bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkNpcmNsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1M2ZcIiwgXCJNMTEyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyMy4xTDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42bDI5LjcgMGMzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw0NC45IDc0LjdjLTE2LjEgMTcuNi0yOC42IDM4LjUtMzYuNiA2MS41Yy0xLjktMS44LTMuNS0zLjktNC45LTYuM0wyMzIgMjU2LjkgMjMyIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwek00MzIgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wLTE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYUNoZXZyb25Eb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXZyb24tZG93bicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjA3OFwiLCBcIk0yMzMuNCA0MDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxOTItMTkyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDI1NiAzMzguNyA4Ni42IDE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxOTIgMTkyelwiXVxufTtcbmNvbnN0IGZhQmF0dGVyeUZ1bGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS1mdWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjY3LCBcImJhdHRlcnlcIiwgXCJiYXR0ZXJ5LTVcIl0sIFwiZjI0MFwiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2MGMwIDguOC03LjIgMTYtMTYgMTZMODAgMzUyYy04LjggMC0xNi03LjItMTYtMTZsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZMMCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBsMzg0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMODAgOTZ6bTM2OCA5Nkw5NiAxOTJsMCAxMjggMzUyIDAgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5ID0gZmFCYXR0ZXJ5RnVsbDtcbmNvbnN0IGZhQmF0dGVyeTUgPSBmYUJhdHRlcnlGdWxsO1xuY29uc3QgZmFTa3VsbENyb3NzYm9uZXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2t1bGwtY3Jvc3Nib25lcycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODM2OSwgOTc2MF0sIFwiZjcxNFwiLCBcIk0zNjggMTI4YzAgNDQuNC0yNS40IDgzLjUtNjQgMTA2LjRsMCAyMS42YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIxLjZjLTM4LjYtMjMtNjQtNjIuMS02NC0xMDYuNEM4MCA1Ny4zIDE0NC41IDAgMjI0IDBzMTQ0IDU3LjMgMTQ0IDEyOHpNMTY4IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE0NC0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zLjQgMjczLjdjNy45LTE1LjggMjcuMS0yMi4yIDQyLjktMTQuM0wyMjQgMzQ4LjJsMTc3LjctODguOGMxNS44LTcuOSAzNS0xLjUgNDIuOSAxNC4zczEuNSAzNS0xNC4zIDQyLjlMMjk1LjYgMzg0bDEzNC44IDY3LjRjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM0wyMjQgNDE5LjggNDYuMyA1MDguNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOUwxNTIuNCAzODQgMTcuNyAzMTYuNkMxLjkgMzA4LjctNC41IDI4OS41IDMuNCAyNzMuN3pcIl1cbn07XG5jb25zdCBmYUNvZGVDb21wYXJlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvZGUtY29tcGFyZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTEzYVwiLCBcIk0zMjAgNDg4YzAgOS41LTUuNiAxOC4xLTE0LjIgMjEuOXMtMTguOCAyLjMtMjUuOC00LjFsLTgwLTcyYy01LjEtNC42LTcuOS0xMS03LjktMTcuOHMyLjktMTMuMyA3LjktMTcuOGw4MC03MmM3LTYuMyAxNy4yLTcuOSAyNS44LTQuMXMxNC4yIDEyLjQgMTQuMiAyMS45bDAgNDAgMTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2Ni43QzM3MS43IDE0MSAzNTIgMTEyLjggMzUyIDgwYzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM0w0NjQgMzIwYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0xNiAwIDAgNDB6TTQ1NiA4MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0xOTIgMjRjMC05LjUgNS42LTE4LjEgMTQuMi0yMS45czE4LjgtMi4zIDI1LjggNC4xbDgwIDcyYzUuMSA0LjYgNy45IDExIDcuOSAxNy44cy0yLjkgMTMuMy03LjkgMTcuOGwtODAgNzJjLTcgNi4zLTE3LjIgNy45LTI1LjggNC4xcy0xNC4yLTEyLjQtMTQuMi0yMS45bDAtNDAtMTYgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAxNjYuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zYzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNMNDggMTkyYzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4bDE2IDAgMC00MHpNNTYgNDMyYTI0IDI0IDAgMSAwIDQ4IDAgMjQgMjQgMCAxIDAgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFMaXN0VWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlzdC11bCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibGlzdC1kb3RzXCJdLCBcImYwY2FcIiwgXCJNNjQgMTQ0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6TTY0IDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTQ4LTIwOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwelwiXVxufTtcbmNvbnN0IGZhTGlzdERvdHMgPSBmYUxpc3RVbDtcbmNvbnN0IGZhU2Nob29sTG9jayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzY2hvb2wtbG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU2ZlwiLCBcIk0zMDIuMiA1LjRjMTAuNy03LjIgMjQuOC03LjIgMzUuNSAwTDQ3My43IDk2IDU5MiA5NmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDEyOGMwLTYxLjktNTAuMS0xMTItMTEyLTExMnMtMTEyIDUwLjEtMTEyIDExMmwwIDI0LjZjLTE5LjEgMTEuMS0zMiAzMS43LTMyIDU1LjRsLTYzLjcgMC0uMyAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2IDY0IDBzMCAwIDAgMEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDExOC4zIDBMMzAyLjIgNS40ek04MCAyMDhsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMCAxMjhsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMjQwLTcyYTg4IDg4IDAgMSAwIDAtMTc2IDg4IDg4IDAgMSAwIDAgMTc2em0xNi0xMjBsMCAxNiAxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2em0xOTIgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tODAgMzJjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMC00OHpcIl1cbn07XG5jb25zdCBmYVRvd2VyQ2VsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3dlci1jZWxsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTg1XCIsIFwiTTYyLjYgMi4zQzQ2LjItNC4zIDI3LjYgMy42IDIwLjkgMjBDNy40IDUzLjQgMCA4OS45IDAgMTI4czcuNCA3NC42IDIwLjkgMTA4YzYuNiAxNi40IDI1LjMgMjQuMyA0MS43IDE3LjdTODYuOSAyMjguNCA4MC4zIDIxMkM2OS44IDE4Ni4xIDY0IDE1Ny44IDY0IDEyOHM1LjgtNTguMSAxNi4zLTg0Qzg2LjkgMjcuNiA3OSA5IDYyLjYgMi4zem00NTAuOCAwQzQ5NyA5IDQ4OS4xIDI3LjYgNDk1LjcgNDRDNTA2LjIgNjkuOSA1MTIgOTguMiA1MTIgMTI4cy01LjggNTguMS0xNi4zIDg0Yy02LjYgMTYuNCAxLjMgMzUgMTcuNyA0MS43czM1LTEuMyA0MS43LTE3LjdjMTMuNS0zMy40IDIwLjktNjkuOSAyMC45LTEwOHMtNy40LTc0LjYtMjAuOS0xMDhDNTQ4LjQgMy42IDUyOS44LTQuMyA1MTMuNCAyLjN6TTM0MC4xIDE2NS4yYzcuNS0xMC41IDExLjktMjMuMyAxMS45LTM3LjJjMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRjMCAxMy45IDQuNCAyNi43IDExLjkgMzcuMkw5OC45IDQ2Ni44Yy03LjMgMTYuMS0uMiAzNS4xIDE1LjkgNDIuNHMzNS4xIC4yIDQyLjQtMTUuOUwxNzcuNyA0NDhsMjIwLjYgMCAyMC42IDQ1LjJjNy4zIDE2LjEgMjYuMyAyMy4yIDQyLjQgMTUuOXMyMy4yLTI2LjMgMTUuOS00Mi40TDM0MC4xIDE2NS4yek0zNjkuMiAzODRsLTE2Mi40IDAgMTQuNS0zMiAxMzMuMyAwIDE0LjUgMzJ6TTI4OCAyMDUuM0wzMjUuNiAyODhsLTc1LjIgMEwyODggMjA1LjN6TTE2My4zIDczLjZjNS4zLTEyLjEtLjItMjYuMy0xMi40LTMxLjZzLTI2LjMgLjItMzEuNiAxMi40QzEwOS41IDc3IDEwNCAxMDEuOSAxMDQgMTI4czUuNSA1MSAxNS4zIDczLjZjNS4zIDEyLjEgMTkuNSAxNy43IDMxLjYgMTIuNHMxNy43LTE5LjUgMTIuNC0zMS42QzE1NiAxNjUuOCAxNTIgMTQ3LjQgMTUyIDEyOHM0LTM3LjggMTEuMy01NC40ek00NTYuNyA1NC40Yy01LjMtMTIuMS0xOS41LTE3LjctMzEuNi0xMi40cy0xNy43IDE5LjUtMTIuNCAzMS42QzQyMCA5MC4yIDQyNCAxMDguNiA0MjQgMTI4cy00IDM3LjgtMTEuMyA1NC40Yy01LjMgMTIuMSAuMiAyNi4zIDEyLjQgMzEuNnMyNi4zLS4yIDMxLjYtMTIuNEM0NjYuNSAxNzkgNDcyIDE1NC4xIDQ3MiAxMjhzLTUuNS01MS0xNS4zLTczLjZ6XCJdXG59O1xuY29uc3QgZmFEb3duTG9uZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb3duLWxvbmcnLFxuICBpY29uOiBbMzIwLCA1MTIsIFtcImxvbmctYXJyb3ctYWx0LWRvd25cIl0sIFwiZjMwOVwiLCBcIk0yIDMzNC41Yy0zLjggOC44LTIgMTkgNC42IDI2bDEzNiAxNDRjNC41IDQuOCAxMC44IDcuNSAxNy40IDcuNXMxMi45LTIuNyAxNy40LTcuNWwxMzYtMTQ0YzYuNi03IDguNC0xNy4yIDQuNi0yNnMtMTIuNS0xNC41LTIyLTE0LjVsLTcyIDAgMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJMMTI4IDBDMTEwLjMgMCA5NiAxNC4zIDk2IDMybDAgMjg4LTcyIDBjLTkuNiAwLTE4LjIgNS43LTIyIDE0LjV6XCJdXG59O1xuY29uc3QgZmFMb25nQXJyb3dBbHREb3duID0gZmFEb3duTG9uZztcbmNvbnN0IGZhUmFua2luZ1N0YXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmFua2luZy1zdGFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTYxXCIsIFwiTTM1My44IDU0LjFMMzMwLjIgNi4zYy0zLjktOC4zLTE2LjEtOC42LTIwLjQgMEwyODYuMiA1NC4xbC01Mi4zIDcuNWMtOS4zIDEuNC0xMy4zIDEyLjktNi40IDE5LjhsMzggMzctOSA1Mi4xYy0xLjQgOS4zIDguMiAxNi41IDE2LjggMTIuMmw0Ni45LTI0LjggNDYuNiAyNC40YzguNiA0LjMgMTguMy0yLjkgMTYuOC0xMi4ybC05LTUyLjEgMzgtMzYuNmM2LjgtNi44IDIuOS0xOC4zLTYuNC0xOS44bC01Mi4zLTcuNXpNMjU2IDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwek0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyMHptNDE2IDk2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhQ2hlc3NLaW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXNzLWtpbmcnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODE4XSwgXCJmNDNmXCIsIFwiTTIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDQ4IDE1MiAwYzIyLjEgMCA0MCAxNy45IDQwIDQwYzAgNS4zLTEgMTAuNS0zLjEgMTUuNEwzNjggNDAwIDgwIDQwMCAzLjEgMjE1LjRDMSAyMTAuNSAwIDIwNS4zIDAgMjAwYzAtMjIuMSAxNy45LTQwIDQwLTQwbDE1MiAwIDAtNDgtMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtMTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTM4LjYgNDczLjRMODAgNDMybDI4OCAwIDQxLjQgNDEuNGM0LjIgNC4yIDYuNiAxMCA2LjYgMTZjMCAxMi41LTEwLjEgMjIuNi0yMi42IDIyLjZMNTQuNiA1MTJDNDIuMSA1MTIgMzIgNTAxLjkgMzIgNDg5LjRjMC02IDIuNC0xMS44IDYuNi0xNnpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkhhcmFzc2luZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24taGFyYXNzaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTQ5XCIsIFwiTTE5MiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTU5LjQgMzA0LjVMODggMjU2LjkgODggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQ0LjcgNDcuNCA1Ny4xYzExLjMgMTMuNiAzMS41IDE1LjUgNDUuMSA0LjJzMTUuNS0zMS41IDQuMi00NS4xbC03My43LTg4LjljLTE4LjItMjItNDUuMy0zNC43LTczLjktMzQuN2wtMzUuOSAwYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOXpNNDgwIDI0MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NjQgMzQ0bDAgNTguNy00MS40LTQxLjRjLTcuMy03LjMtMTcuNi0xMC42LTI3LjgtOXMtMTguOSA4LjEtMjMuNSAxNy4zbC00OCA5NmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zTDQwOC44IDQzOGw1NC43IDU0LjdjMTIuNCAxMi40IDI5LjEgMTkuMyA0Ni42IDE5LjNjMzYuNCAwIDY1LjktMjkuNSA2NS45LTY1LjlMNTc2IDM0NGMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NnpNMjg4IDQ4YzAgOC44IDcuMiAxNiAxNiAxNmw1NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bS0uOCA0OS43Yy03LjktNC0xNy41LS43LTIxLjUgNy4ycy0uNyAxNy41IDcuMiAyMS41bDQ4IDI0YzcuOSA0IDE3LjUgLjcgMjEuNS03LjJzLjctMTcuNS03LjItMjEuNWwtNDgtMjR6XCJdXG59O1xuY29uc3QgZmFCcmF6aWxpYW5SZWFsU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmF6aWxpYW4tcmVhbC1zaWduJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNDZjXCIsIFwiTTQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTguMmMxMi41IDIuMyAyNC43IDYuNCAzNi4yIDEyLjFsMTAuMSA1LjFjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM2wtMTAuMi01LjFjLTkuOS01LTIwLjktNy41LTMyLTcuNWwtMS43IDBjLTI5LjggMC01My45IDI0LjEtNTMuOSA1My45YzAgMjIgMTMuNCA0MS44IDMzLjkgNTBsNTIgMjAuOGM0NC43IDE3LjkgNzQuMSA2MS4yIDc0LjEgMTA5LjRsMCAzLjRjMCA1MS4yLTMzLjYgOTQuNi04MCAxMDkuMmwwIDIxLjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOS40Yy0xNS0zLjUtMjkuNC05LjctNDIuMy0xOC4zbC0yMy40LTE1LjZjLTE0LjctOS44LTE4LjctMjkuNy04LjktNDQuNHMyOS43LTE4LjcgNDQuNC04LjlMMzYxLjIgMzg5YzEwLjggNy4yIDIzLjQgMTEgMzYuMyAxMWMyNy45IDAgNTAuNS0yMi42IDUwLjUtNTAuNWwwLTMuNGMwLTIyLTEzLjQtNDEuOC0zMy45LTUwbC01Mi0yMC44QzMxNy4zIDI1Ny40IDI4OCAyMTQuMSAyODggMTY1LjlDMjg4IDExNCAzMjEuNSA3MCAzNjggNTQuMkwzNjggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsODAgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGMwIDU4LjgtMzUuMiAxMDkuMy04NS43IDEzMS43bDUxLjQgMTI4LjRjNi42IDE2LjQtMS40IDM1LTE3LjggNDEuNnMtMzUtMS40LTQxLjYtMTcuOEwxMDYuMyAzMjAgNjQgMzIwbDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDAgMjg4IDAgNjR6TTY0IDI1Nmw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwTDY0IDk2bDAgMTYwelwiXVxufTtcbmNvbnN0IGZhTGFuZG1hcmtEb21lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xhbmRtYXJrLWRvbWUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImxhbmRtYXJrLWFsdFwiXSwgXCJmNzUyXCIsIFwiTTI0OCAwbDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMC43QzM2OC40IDQ4LjEgNDMxLjkgMTExLjYgNDQ1LjMgMTkybDIuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDI1NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyLjcgMEM4MC4xIDExMS42IDE0My42IDQ4LjEgMjI0IDM0LjdMMjI0IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0ek02NCAyODhsNjQgMCAwIDEyOCA0MCAwIDAtMTI4IDY0IDAgMCAxMjggNDggMCAwLTEyOCA2NCAwIDAgMTI4IDQwIDAgMC0xMjggNjQgMCAwIDEzMi4zYy42IC4zIDEuMiAuNyAxLjggMS4xbDQ4IDMyYzExLjcgNy44IDE3IDIyLjQgMTIuOSAzNS45UzQ5NC4xIDUxMiA0ODAgNTEyTDMyIDUxMmMtMTQuMSAwLTI2LjUtOS4yLTMwLjYtMjIuN3MxLjEtMjguMSAxMi45LTM1LjlsNDgtMzJjLjYtLjQgMS4yLS43IDEuOC0xLjFMNjQgMjg4elwiXVxufTtcbmNvbnN0IGZhTGFuZG1hcmtBbHQgPSBmYUxhbmRtYXJrRG9tZTtcbmNvbnN0IGZhQXJyb3dVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cCcsXG4gIGljb246IFszODQsIDUxMiwgWzg1OTNdLCBcImYwNjJcIiwgXCJNMjE0LjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDE0MS4yIDE2MCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43TDMyOS40IDI0Ni42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6XCJdXG59O1xuY29uc3QgZmFUdiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0dicsXG4gIGljb246IFs2NDAsIDUxMiwgWzYzNzE3LCBcInRlbGV2aXNpb25cIiwgXCJ0di1hbHRcIl0sIFwiZjI2Y1wiLCBcIk02NCA2NGwwIDI4OCA1MTIgMCAwLTI4OEw2NCA2NHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMNTc2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDE2Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0xMjggNDQ4bDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zODQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVRlbGV2aXNpb24gPSBmYVR2O1xuY29uc3QgZmFUdkFsdCA9IGZhVHY7XG5jb25zdCBmYVNocmltcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaHJpbXAnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjk0MjRdLCBcImU0NDhcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NnMyOC43IDY0IDY0IDY0bDEgMGMzLjcgODguOSA3NyAxNjAgMTY3IDE2MGw1NiAwIDAtMTkyLTI0IDBMODguOCAxMjggNjQgMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQwMCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDY0IDMyek0yMjQgNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDcyIDAgMC03Mi4yLTY0LjEtMjIuNGMtMTIuNS00LjQtMjYuMiAyLjItMzAuNiAxNC43czIuMiAyNi4yIDE0LjcgMzAuNmw0LjUgMS42QzIzMyA0MzMuOSAyMjQgNDQzLjkgMjI0IDQ1NnptMTI4IDIzLjNjMzYuNC0zLjMgNjkuNS0xNy42IDk2LjEtMzkuNmwtODYuNS0zNC42Yy0zIDEuOC02LjIgMy4yLTkuNiA0LjNsMCA2OS45ek00NzIuNiA0MTVjMjQuNi0zMC4zIDM5LjQtNjguOSAzOS40LTExMWMwLTEyLjMtMS4zLTI0LjMtMy43LTM1LjlMMzgyLjggMzU1LjFjLjggMy40IDEuMiA3IDEuMiAxMC42YzAgNC42LS43IDktMS45IDEzLjFMNDcyLjYgNDE1ek0zMzYgMTI4bC0xNiAwIDAgMTkyIDE4LjMgMGM5LjkgMCAxOS4xIDMuMiAyNi42IDguNWwxMzMuNS05Mi40QzQ3MS44IDE3Mi42IDQwOS4xIDEyOCAzMzYgMTI4ek0xNjggMTkyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFMaXN0Q2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGlzdC1jaGVjaycsXG4gIGljb246IFs1MTIsIDUxMiwgW1widGFza3NcIl0sIFwiZjBhZVwiLCBcIk0xNTIuMSAzOC4yYzkuOSA4LjkgMTAuNyAyNCAxLjggMzMuOWwtNzIgODBjLTQuNCA0LjktMTAuNiA3LjgtMTcuMiA3LjlzLTEyLjktMi40LTE3LjYtN0w3IDExM0MtMi4zIDEwMy42LTIuMyA4OC40IDcgNzlzMjQuNi05LjQgMzMuOSAwbDIyLjEgMjIuMSA1NS4xLTYxLjJjOC45LTkuOSAyNC0xMC43IDMzLjktMS44em0wIDE2MGM5LjkgOC45IDEwLjcgMjQgMS44IDMzLjlsLTcyIDgwYy00LjQgNC45LTEwLjYgNy44LTE3LjIgNy45cy0xMi45LTIuNC0xNy42LTdMNyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyMi4xIDIyLjEgNTUuMS02MS4yYzguOS05LjkgMjQtMTAuNyAzMy45LTEuOHpNMjI0IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2MCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI4OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDggMzY4YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpcIl1cbn07XG5jb25zdCBmYVRhc2tzID0gZmFMaXN0Q2hlY2s7XG5jb25zdCBmYUp1Z0RldGVyZ2VudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdqdWctZGV0ZXJnZW50JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJlNTE5XCIsIFwiTTk2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggOTZDNzQuNyA5NiA2NCA4NS4zIDY0IDcyczEwLjctMjQgMjQtMjRsOCAwIDAtMjR6TTAgMjU2YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4bDEyOCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyNTZ6bTI1NiAwbDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtdXNlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzYyMTQyLCBcInVzZXItY2lyY2xlXCJdLCBcImYyYmRcIiwgXCJNMzk5IDM4NC4yQzM3Ni45IDM0NS44IDMzNS40IDMyMCAyODggMzIwbC02NCAwYy00Ny40IDAtODguOSAyNS44LTExMSA2NC4yYzM1LjIgMzkuMiA4Ni4yIDYzLjggMTQzIDYzLjhzMTA3LjgtMjQuNyAxNDMtNjMuOHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0yNTYgMTZhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6XCJdXG59O1xuY29uc3QgZmFVc2VyQ2lyY2xlID0gZmFDaXJjbGVVc2VyO1xuY29uc3QgZmFVc2VyU2hpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItc2hpZWxkJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTA1XCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMmwzODguNiAwYzEuOCAwIDMuNS0uMiA1LjMtLjVjLTc2LjMtNTUuMS05OS44LTE0MS0xMDMuMS0yMDAuMmMtMTYuMS00LjgtMzMuMS03LjMtNTAuNy03LjNsLTkxLjQgMHptMzA4LjgtNzguM2wtMTIwIDQ4QzM1OCAyNzcuNCAzNTIgMjg2LjIgMzUyIDI5NmMwIDYzLjMgMjUuOSAxNjguOCAxMzQuOCAyMTQuMmM1LjkgMi41IDEyLjYgMi41IDE4LjUgMEM2MTQuMSA0NjQuOCA2NDAgMzU5LjMgNjQwIDI5NmMwLTkuOC02LTE4LjYtMTUuMS0yMi4zbC0xMjAtNDhjLTUuNy0yLjMtMTIuMS0yLjMtMTcuOCAwek01OTEuNCAzMTJjLTMuOSA1MC43LTI3LjIgMTE2LjctOTUuNCAxNDkuN2wwLTE4Ny44TDU5MS40IDMxMnpcIl1cbn07XG5jb25zdCBmYVdpbmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjcyZVwiLCBcIk0yODggMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem02NCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NkwzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xMjggNTEybDMyIDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZMMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyelwiXVxufTtcbmNvbnN0IGZhQ2FyQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FyLWJ1cnN0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJjYXItY3Jhc2hcIl0sIFwiZjVlMVwiLCBcIk0xNzYgOGMtNi42IDAtMTIuNCA0LTE0LjkgMTAuMWwtMjkuNCA3NEw1NS42IDY4LjljLTYuMy0xLjktMTMuMSAuMi0xNy4yIDUuM3MtNC42IDEyLjItMS40IDE3LjlsMzkuNSA2OS4xTDEwLjkgMjA2LjRjLTUuNCAzLjctOCAxMC4zLTYuNSAxNi43czYuNyAxMS4yIDEzLjEgMTIuMmw3OC43IDEyLjJMOTAuNiAzMjdjLS41IDYuNSAzLjEgMTIuNyA5IDE1LjVzMTIuOSAxLjggMTcuOC0yLjZsMzUuMy0zMi41IDkuNS0zNS40IDEwLjQtMzguNmM4LTI5LjkgMzAuNS01Mi4xIDU3LjktNjAuOWw0MS01OS4yYzExLjMtMTYuMyAyNi40LTI4LjkgNDMuNS0zNy4yYy0uNC0uNi0uOC0xLjItMS4zLTEuOGMtNC4xLTUuMS0xMC45LTcuMi0xNy4yLTUuM0wyMjAuMyA5Mi4xbC0yOS40LTc0QzE4OC40IDEyIDE4Mi42IDggMTc2IDh6TTM2Ny43IDE2MS41bDEzNS42IDM2LjNjNi41IDEuOCAxMS4zIDcuNCAxMS44IDE0LjJsNC42IDU2LjUtMjAxLjUtNTQgMzIuMi00Ni42YzMuOC01LjYgMTAuOC04LjEgMTcuMy02LjR6bS02OS45LTMwbC00Ny45IDY5LjNjLTIxLjYgMy00MC4zIDE4LjYtNDYuMyA0MWwtMTAuNCAzOC42LTE2LjYgNjEuOC04LjMgMzAuOWMtNC42IDE3LjEgNS42IDM0LjYgMjIuNiAzOS4ybDE1LjUgNC4xYzE3LjEgNC42IDM0LjYtNS42IDM5LjItMjIuNmw4LjMtMzAuOSAyNDcuMyA2Ni4zLTguMyAzMC45Yy00LjYgMTcuMSA1LjYgMzQuNiAyMi42IDM5LjJsMTUuNSA0LjFjMTcuMSA0LjYgMzQuNi01LjYgMzkuMi0yMi42bDguMy0zMC45TDU5NSAzODhsMTAuNC0zOC42YzYtMjIuNC0yLjUtNDUuMi0xOS42LTU4LjdsLTYuOC04NGMtMi43LTMzLjctMjYuNC02Mi01OS03MC44TDM4NC4yIDk5LjdjLTMyLjctOC44LTY3LjMgNC04Ni41IDMxLjh6bS0xNyAxMzFhMjQgMjQgMCAxIDEgLTEyLjQgNDYuNCAyNCAyNCAwIDEgMSAxMi40LTQ2LjR6bTIxNy45IDgzLjJBMjQgMjQgMCAxIDEgNTQ1IDM1OC4xYTI0IDI0IDAgMSAxIC00Ni40LTEyLjR6XCJdXG59O1xuY29uc3QgZmFDYXJDcmFzaCA9IGZhQ2FyQnVyc3Q7XG5jb25zdCBmYVkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneScsXG4gIGljb246IFszODQsIDUxMiwgWzEyMV0sIFwiNTlcIiwgXCJNNTggNDUuNEM0Ny44IDMxIDI3LjggMjcuNyAxMy40IDM4Uy00LjMgNjguMiA2IDgyLjZMMTYwIDI5OC4zIDE2MCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE0OS43TDM3OCA4Mi42YzEwLjMtMTQuNCA2LjktMzQuNC03LjQtNDQuNlMzMzYuMiAzMSAzMjYgNDUuNEwxOTIgMjMyLjkgNTggNDUuNHpcIl1cbn07XG5jb25zdCBmYVBlcnNvblNub3dib2FyZGluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tc25vd2JvYXJkaW5nJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTM4LCBcInNub3dib2FyZGluZ1wiXSwgXCJmN2NlXCIsIFwiTTIwOS43IDMuNGMxNS44LTcuOSAzNS0xLjUgNDIuOSAxNC4zbDI1IDUwIDQyLjQgOC41YzE5LjUgMy45IDM3LjggMTIuMyA1My41IDI0LjVsMTI2LjEgOTguMWMxNCAxMC45IDE2LjUgMzEgNS42IDQ0LjlzLTMxIDE2LjUtNDQuOSA1LjZsLTcyLjEtNTYuMS03MS41IDMxLjggMzMuMSAyNy42YzIzLjIgMTkuMyAzMy41IDUwIDI2LjcgNzkuNGwtMTcuNCA3NS4yYy0yLjIgOS40LTguMiAxNi44LTE2LjEgMjFsODYuNSAzMy4xYzQuNiAxLjggOS40IDIuNiAxNC4zIDIuNmwyOC4yIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI4LjIgMGMtMTAuOCAwLTIxLjQtMi0zMS41LTUuOEw2MC4xIDM3MS4zYy0xMS41LTQuNC0yMi0xMS4yLTMwLjgtMjBMNyAzMjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyMi40IDIyLjRjNCA0IDguNyA3LjEgMTQgOS4xbDIyLjQgOC42Yy0uOC0xLjYtMS41LTMuMi0yLjEtNC45Yy01LjYtMTYuOCAzLjUtMzQuOSAyMC4yLTQwLjVMMTkyIDI2NC45bDAtNTMuMmMwLTI0LjIgMTMuNy00Ni40IDM1LjQtNTcuMmw0NS4yLTIyLjYtNy41LTEuNWMtMTkuNC0zLjktMzUuOS0xNi41LTQ0LjctMzQuMWwtMjUtNTBjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjl6TTEzOSAzNTAuMWwxNTkgNjAuOWMtMi4xLTUuNi0yLjYtMTEuOS0xLjEtMTguMmwxNy40LTc1LjJjMS40LTUuOS0uNy0xMi01LjMtMTUuOWwtNTIuOC00NCAwIDE4LjhjMCAyMC43LTEzLjIgMzktMzIuOCA0NS41TDEzOSAzNTAuMXpNNDMyIDBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbmNvbnN0IGZhU25vd2JvYXJkaW5nID0gZmFQZXJzb25Tbm93Ym9hcmRpbmc7XG5jb25zdCBmYVRydWNrRmFzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1mYXN0JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJzaGlwcGluZy1mYXN0XCJdLCBcImY0OGJcIiwgXCJNMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCA0OEwxNiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDIwOCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDY0IDE2MGwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxNiAwIDE3NiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDY0IDIyNGwtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDE0NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDY0IDI4OGwwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDEyOCAwYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTY0IDAtMzIgMC0xOC43YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDUxMiAxMTQuN2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0w0MTYgOTZsMC00OGMwLTI2LjUtMjEuNS00OC00OC00OEwxMTIgMHpNNTQ0IDIzNy4zbDAgMTguNy0xMjggMCAwLTk2IDUwLjcgMEw1NDQgMjM3LjN6TTE2MCAzNjhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0yNzIgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpcIl1cbn07XG5jb25zdCBmYVNoaXBwaW5nRmFzdCA9IGZhVHJ1Y2tGYXN0O1xuY29uc3QgZmFGaXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Zpc2gnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMzFdLCBcImY1NzhcIiwgXCJNMTgwLjUgMTQxLjVDMjE5LjcgMTA4LjUgMjcyLjYgODAgMzM2IDgwczExNi4zIDI4LjUgMTU1LjUgNjEuNWMzOS4xIDMzIDY2LjkgNzIuNCA4MSA5OS44YzQuNyA5LjIgNC43IDIwLjEgMCAyOS4zYy0xNC4xIDI3LjQtNDEuOSA2Ni44LTgxIDk5LjhDNDUyLjMgNDAzLjUgMzk5LjQgNDMyIDMzNiA0MzJzLTExNi4zLTI4LjUtMTU1LjUtNjEuNWMtMTYuMi0xMy43LTMwLjUtMjguNS00Mi43LTQzLjFMNDguMSAzNzkuNmMtMTIuNSA3LjMtMjguNCA1LjMtMzguNy00LjlTLTMgMzQ4LjcgNC4yIDMzNi4xTDUwIDI1NiA0LjIgMTc1LjljLTcuMi0xMi42LTUtMjguNCA1LjMtMzguNnMyNi4xLTEyLjIgMzguNy00LjlsODkuNyA1Mi4zYzEyLjItMTQuNiAyNi41LTI5LjQgNDIuNy00My4xek00NDggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFVc2VyR3JhZHVhdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1ncmFkdWF0ZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjUwMVwiLCBcIk0yMTkuMyAuNWMzLjEtLjYgNi4zLS42IDkuNCAwbDIwMCA0MEM0MzkuOSA0Mi43IDQ0OCA1Mi42IDQ0OCA2NHMtOC4xIDIxLjMtMTkuMyAyMy41TDM1MiAxMDIuOWwwIDU3LjFjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhzLTEyOC01Ny4zLTEyOC0xMjhsMC01Ny4xTDQ4IDkzLjNsMCA2NS4xIDE1LjcgNzguNGMuOSA0LjctLjMgOS42LTMuMyAxMy4zcy03LjYgNS45LTEyLjQgNS45bC0zMiAwYy00LjggMC05LjMtMi4xLTEyLjQtNS45cy00LjMtOC42LTMuMy0xMy4zTDE2IDE1OC40bDAtNzEuOEM2LjUgODMuMyAwIDc0LjMgMCA2NEMwIDUyLjYgOC4xIDQyLjcgMTkuMyA0MC41bDIwMC00MHpNMTExLjkgMzI3LjdjMTAuNS0zLjQgMjEuOCAuNCAyOS40IDguNWw3MSA3NS41YzYuMyA2LjcgMTcgNi43IDIzLjMgMGw3MS03NS41YzcuNi04LjEgMTguOS0xMS45IDI5LjQtOC41QzQwMSAzNDguNiA0NDggNDA5LjQgNDQ4IDQ4MS4zYzAgMTctMTMuOCAzMC43LTMwLjcgMzAuN0wzMC43IDUxMkMxMy44IDUxMiAwIDQ5OC4yIDAgNDgxLjNjMC03MS45IDQ3LTEzMi43IDExMS45LTE1My42elwiXVxufTtcbmNvbnN0IGZhQ2lyY2xlSGFsZlN0cm9rZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtaGFsZi1zdHJva2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5NjgwLCBcImFkanVzdFwiXSwgXCJmMDQyXCIsIFwiTTQ0OCAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJsMCAzODRjMTA2IDAgMTkyLTg2IDE5Mi0xOTJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpcIl1cbn07XG5jb25zdCBmYUFkanVzdCA9IGZhQ2lyY2xlSGFsZlN0cm9rZTtcbmNvbnN0IGZhQ2xhcHBlcmJvYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NsYXBwZXJib2FyZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTEzMVwiLCBcIk00NDggMzJsLTg2LjEgMC0xIDEtMTI3IDEyNyA5Mi4xIDAgMS0xTDQ1My44IDMyLjNjLTEuOS0uMi0zLjgtLjMtNS44LS4zem02NCAxMjhsMC02NGMwLTE1LjEtNS4zLTI5LjEtMTQtNDBsLTEwNCAxMDRMNTEyIDE2MHpNMjk0LjEgMzJsLTkyLjEgMC0xIDFMNzMuOSAxNjBsOTIuMSAwIDEtMSAxMjctMTI3ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgNjQgNi4xIDAgMS0xIDEyNy0xMjdMNjQgMzJ6TTUxMiAxOTJMMCAxOTIgMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjR6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVSYWRpYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2lyY2xlLXJhZGlhdGlvbicsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3NjIsIFwicmFkaWF0aW9uLWFsdFwiXSwgXCJmN2JhXCIsIFwiTTI1NiA2NGExOTIgMTkyIDAgMSAxIDAgMzg0IDE5MiAxOTIgMCAxIDEgMC0zODR6bTAgNDQ4QTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjAwIDI1NmMwLTIwLjcgMTEuMy0zOC44IDI4LTQ4LjVsLTM2LTYyLjNjLTguOC0xNS4zLTI4LjctMjAuOC00Mi05Yy0yNS42IDIyLjYtNDMuOSA1My4zLTUwLjkgODguMUM5NS43IDI0MS41IDExMC4zIDI1NiAxMjggMjU2bDcyIDB6bTI4IDQ4LjVsLTM2IDYyLjRjLTguOCAxNS4zLTMuNiAzNS4yIDEzLjEgNDAuOGMxNiA1LjQgMzMuMSA4LjMgNTAuOSA4LjNzMzQuOS0yLjkgNTAuOS04LjNjMTYuNy01LjYgMjEuOS0yNS41IDEzLjEtNDAuOGwtMzYtNjIuNGMtOC4yIDQuOC0xNy44IDcuNS0yOCA3LjVzLTE5LjgtMi43LTI4LTcuNXpNMzEyIDI1Nmw3MiAwYzE3LjcgMCAzMi4zLTE0LjUgMjguOC0zMS44Yy03LTM0LjgtMjUuMy02NS41LTUwLjktODguMWMtMTMuMi0xMS43LTMzLjEtNi4zLTQyIDlsLTM2IDYyLjNjMTYuNyA5LjcgMjggMjcuOCAyOCA0OC41em0tNTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0elwiXVxufTtcbmNvbnN0IGZhUmFkaWF0aW9uQWx0ID0gZmFDaXJjbGVSYWRpYXRpb247XG5jb25zdCBmYUJhc2ViYWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jhc2ViYWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5MzU4LCA5OTE4LCBcImJhc2ViYWxsLWJhbGxcIl0sIFwiZjQzM1wiLCBcIk02Mi43IDIyMy40Yy00LjggLjQtOS43IC42LTE0LjcgLjZjLTE1LjYgMC0zMC44LTItNDUuMi01LjlDMTkuMiAxMDcuMSAxMDcuMSAxOS4yIDIxOC4xIDIuOEMyMjIgMTcuMiAyMjQgMzIuNCAyMjQgNDhjMCA0LjktLjIgOS44LS42IDE0LjdjLS43IDguOCA1LjggMTYuNSAxNC42IDE3LjNzMTYuNS01LjggMTcuMy0xNC42Yy41LTUuNyAuNy0xMS41IC43LTE3LjNjMC0xNi41LTEuOS0zMi42LTUuNi00Ny45YzEuOCAwIDMuNy0uMSA1LjYtLjFDMzk3LjQgMCA1MTIgMTE0LjYgNTEyIDI1NmMwIDEuOSAwIDMuNy0uMSA1LjZjLTE1LjQtMy42LTMxLjQtNS42LTQ3LjktNS42Yy01LjggMC0xMS42IC4yLTE3LjMgLjdjLTguOCAuNy0xNS40IDguNS0xNC42IDE3LjNzOC41IDE1LjQgMTcuMyAxNC42YzQuOC0uNCA5LjctLjYgMTQuNy0uNmMxNS42IDAgMzAuOCAyIDQ1LjIgNS45QzQ5Mi44IDQwNC45IDQwNC45IDQ5Mi44IDI5My45IDUwOS4yQzI5MCA0OTQuOCAyODggNDc5LjYgMjg4IDQ2NGMwLTQuOSAuMi05LjggLjYtMTQuN2MuNy04LjgtNS44LTE2LjUtMTQuNi0xNy4zcy0xNi41IDUuOC0xNy4zIDE0LjZjLS41IDUuNy0uNyAxMS41LS43IDE3LjNjMCAxNi41IDEuOSAzMi42IDUuNiA0Ny45Yy0xLjggMC0zLjcgLjEtNS42IC4xQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2YzAtMS45IDAtMy43IC4xLTUuNkMxNS40IDI1NC4xIDMxLjUgMjU2IDQ4IDI1NmM1LjggMCAxMS42LS4yIDE3LjMtLjdjOC44LS43IDE1LjQtOC41IDE0LjYtMTcuM3MtOC41LTE1LjQtMTcuMy0xNC42ek0xMjEuMyAyMDhjLTggMy43LTExLjYgMTMuMi03LjkgMjEuMnMxMy4yIDExLjYgMjEuMiA3LjljNDUuMi0yMC44IDgxLjctNTcuMiAxMDIuNS0xMDIuNWMzLjctOCAuMi0xNy41LTcuOS0yMS4ycy0xNy41LS4yLTIxLjIgNy45Yy0xNy42IDM4LjMtNDguNSA2OS4yLTg2LjcgODYuN3ptMjc3LjIgNzQuN2MtMy43LTgtMTMuMi0xMS42LTIxLjItNy45Yy00NS4yIDIwLjgtODEuNyA1Ny4yLTEwMi41IDEwMi41Yy0zLjcgOC0uMiAxNy41IDcuOSAyMS4yczE3LjUgLjIgMjEuMi03LjljMTcuNi0zOC4zIDQ4LjUtNjkuMiA4Ni43LTg2LjdjOC0zLjcgMTEuNi0xMy4yIDcuOS0yMS4yelwiXVxufTtcbmNvbnN0IGZhQmFzZWJhbGxCYWxsID0gZmFCYXNlYmFsbDtcbmNvbnN0IGZhSmV0RmlnaHRlclVwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2pldC1maWdodGVyLXVwJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTE4XCIsIFwiTTI3MC43IDkuN0MyNjguMiAzLjggMjYyLjQgMCAyNTYgMHMtMTIuMiAzLjgtMTQuNyA5LjdMMTk3LjIgMTEyLjZjLTMuNCA4LTUuMiAxNi41LTUuMiAyNS4ybDAgNzctMTQ0IDg0TDQ4IDI4MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDU2IDAgMzIgMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOCAxNDQgMCAwIDMyLjdMMTMzLjUgNDY4Yy0zLjUgMy01LjUgNy40LTUuNSAxMmwwIDE2YzAgOC44IDcuMiAxNiAxNiAxNmw5NiAwIDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDY0IDk2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC00LjYtMi05LTUuNS0xMkwzMjAgNDE2LjdsMC0zMi43IDE0NCAwIDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjQgMC0zMiAwLTU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTguOC0xNDQtODQgMC03N2MwLTguNy0xLjgtMTcuMi01LjItMjUuMkwyNzAuNyA5Ljd6XCJdXG59O1xuY29uc3QgZmFEaWFncmFtUHJvamVjdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWFncmFtLXByb2plY3QnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInByb2plY3QtZGlhZ3JhbVwiXSwgXCJmNTQyXCIsIFwiTTAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2IDE5MiAwIDAtMTZjMC0yNi41IDIxLjUtNDggNDgtNDhsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2LTE5MiAwIDAgMTZjMCAxLjctLjEgMy40LS4zIDVMMjcyIDI4OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0xLjcgLjEtMy40IC4zLTVMMTQ0IDIyNGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MHpcIl1cbn07XG5jb25zdCBmYVByb2plY3REaWFncmFtID0gZmFEaWFncmFtUHJvamVjdDtcbmNvbnN0IGZhQ29weSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb3B5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMGM1XCIsIFwiTTIwOCAwTDMzMi4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMWw2Ny45IDY3LjljOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlMNDQ4IDMzNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjg4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4ek00OCAxMjhsODAgMCAwIDY0LTY0IDAgMCAyNTYgMTkyIDAgMC0zMiA2NCAwIDAgNDhjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE3NmMwLTI2LjUgMjEuNS00OCA0OC00OHpcIl1cbn07XG5jb25zdCBmYVZvbHVtZVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZvbHVtZS14bWFyaycsXG4gIGljb246IFs1NzYsIDUxMiwgW1widm9sdW1lLW11dGVcIiwgXCJ2b2x1bWUtdGltZXNcIl0sIFwiZjZhOVwiLCBcIk0zMDEuMSAzNC44QzMxMi42IDQwIDMyMCA1MS40IDMyMCA2NGwwIDM4NGMwIDEyLjYtNy40IDI0LTE4LjkgMjkuMnMtMjUgMy4xLTM0LjQtNS4zTDEzMS44IDM1MiA2NCAzNTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjcuOCAwTDI2Ni43IDQwLjFjOS40LTguNCAyMi45LTEwLjQgMzQuNC01LjN6TTQyNSAxNjdsNTUgNTUgNTUtNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC01NSA1NSA1NSA1NWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC01NS01NS01NSA1NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1NS01NS01NS01NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwelwiXVxufTtcbmNvbnN0IGZhVm9sdW1lTXV0ZSA9IGZhVm9sdW1lWG1hcms7XG5jb25zdCBmYVZvbHVtZVRpbWVzID0gZmFWb2x1bWVYbWFyaztcbmNvbnN0IGZhSGFuZFNwYXJrbGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtc3BhcmtsZXMnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImUwNWRcIiwgXCJNMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTE3NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0xMTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE5NS4xYy0xMS45IDQuOC0yMS4zIDE0LjktMjUgMjcuOGwtOC45IDMxLjJMNDc4LjkgMzkxQzQ2MC42IDM5Ni4zIDQ0OCA0MTMgNDQ4IDQzMmMwIDE4LjkgMTIuNSAzNS42IDMwLjYgNDAuOUM0NDguNCA0OTcuNCA0MDkuOSA1MTIgMzY4IDUxMmwtMTkuMiAwYy01OS42IDAtMTE2LjktMjIuOS0xNjAtNjRMNzYuNCAzNDFjLTE2LTE1LjItMTYuNi00MC42LTEuNC01Ni42czQwLjYtMTYuNiA1Ni42LTEuNGw2MC41IDU3LjZjMC0xLjUtLjEtMy4xLS4xLTQuNmwwLTI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS03LjMgMzI2LjZjLTEuMS0zLjktNC43LTYuNi04LjctNi42cy03LjYgMi43LTguNyA2LjZMMjg4IDM1MmwtMjUuNCA3LjNjLTMuOSAxLjEtNi42IDQuNy02LjYgOC43czIuNyA3LjYgNi42IDguN0wyODggMzg0bDcuMyAyNS40YzEuMSAzLjkgNC43IDYuNiA4LjcgNi42czcuNi0yLjcgOC43LTYuNkwzMjAgMzg0bDI1LjQtNy4zYzMuOS0xLjEgNi42LTQuNyA2LjYtOC43cy0yLjctNy42LTYuNi04LjdMMzIwIDM1MmwtNy4zLTI1LjR6TTEwNCAxMjBsNDguMyAxMy44YzQuNiAxLjMgNy43IDUuNSA3LjcgMTAuMnMtMy4xIDguOS03LjcgMTAuMkwxMDQgMTY4IDkwLjIgMjE2LjNjLTEuMyA0LjYtNS41IDcuNy0xMC4yIDcuN3MtOC45LTMuMS0xMC4yLTcuN0w1NiAxNjggNy43IDE1NC4yQzMuMSAxNTIuOSAwIDE0OC43IDAgMTQ0czMuMS04LjkgNy43LTEwLjJMNTYgMTIwIDY5LjggNzEuN0M3MS4xIDY3LjEgNzUuMyA2NCA4MCA2NHM4LjkgMy4xIDEwLjIgNy43TDEwNCAxMjB6TTU4NCA0MDhsNDguMyAxMy44YzQuNiAxLjMgNy43IDUuNSA3LjcgMTAuMnMtMy4xIDguOS03LjcgMTAuMkw1ODQgNDU2bC0xMy44IDQ4LjNjLTEuMyA0LjYtNS41IDcuNy0xMC4yIDcuN3MtOC45LTMuMS0xMC4yLTcuN0w1MzYgNDU2bC00OC4zLTEzLjhjLTQuNi0xLjMtNy43LTUuNS03LjctMTAuMnMzLjEtOC45IDcuNy0xMC4yTDUzNiA0MDhsMTMuOC00OC4zYzEuMy00LjYgNS41LTcuNyAxMC4yLTcuN3M4LjkgMy4xIDEwLjIgNy43TDU4NCA0MDh6XCJdXG59O1xuY29uc3QgZmFHcmlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyaXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImdyaXAtaG9yaXpvbnRhbFwiXSwgXCJmNThkXCIsIFwiTTEyOCAxMzZjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgOTZDMTcuOSA5NiAwIDExMy45IDAgMTM2bDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4em0wIDE5MmMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6bTMyLTE5MmwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OGMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6TTI4OCAzMjhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4em0zMi0xOTJsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwek00NDggMzI4YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHpcIl1cbn07XG5jb25zdCBmYUdyaXBIb3Jpem9udGFsID0gZmFHcmlwO1xuY29uc3QgZmFTaGFyZUZyb21TcXVhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUtZnJvbS1zcXVhcmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFs2MTUwOSwgXCJzaGFyZS1zcXVhcmVcIl0sIFwiZjE0ZFwiLCBcIk0zNTIgMjI0bC00Ni41IDBjLTQ1IDAtODEuNSAzNi41LTgxLjUgODEuNWMwIDIyLjMgMTAuMyAzNC4zIDE5LjIgNDAuNWM2LjggNC43IDEyLjggMTIgMTIuOCAyMC4zYzAgOS44LTggMTcuOC0xNy44IDE3LjhsLTIuNSAwYy0yLjQgMC00LjgtLjQtNy4xLTEuNEMyMTAuOCAzNzQuOCAxMjggMzMzLjQgMTI4IDI0MGMwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NGw4MCAwIDAtNjEuM0MzNTIgMTUuNSAzNjcuNSAwIDM4Ni43IDBjOC42IDAgMTYuOCAzLjIgMjMuMiA4LjlMNTQ4LjEgMTMzLjNjNy42IDYuOCAxMS45IDE2LjUgMTEuOSAyNi43cy00LjMgMTkuOS0xMS45IDI2LjdsLTEzOSAxMjUuMWMtNS45IDUuMy0xMy41IDguMi0yMS40IDguMmwtMy43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6TTgwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OGMwIDQ0LjItMzUuOCA4MC04MCA4MEw4MCA1MTJjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgMTEyQzAgNjcuOCAzNS44IDMyIDgwIDMybDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMODAgOTZ6XCJdXG59O1xuY29uc3QgZmFTaGFyZVNxdWFyZSA9IGZhU2hhcmVGcm9tU3F1YXJlO1xuY29uc3QgZmFDaGlsZENvbWJhdGFudCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGlsZC1jb21iYXRhbnQnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImNoaWxkLXJpZmxlXCJdLCBcImU0ZTBcIiwgXCJNMTc2IDEyOEE2NCA2NCAwIDEgMCAxNzYgMGE2NCA2NCAwIDEgMCAwIDEyOHptLTggMzUybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE3OS41TDI2MC45IDMyMWM5LjQgMTUgMjkuMiAxOS40IDQ0LjEgMTBzMTkuNC0yOS4yIDEwLTQ0LjFsLTUxLjctODIuMWMtMTcuNi0yNy45LTQ4LjMtNDQuOS04MS4yLTQ0LjlsLTEyLjMgMGMtMzMgMC02My43IDE2LjktODEuMiA0NC45TDM2LjkgMjg3Yy05LjQgMTUtNC45IDM0LjcgMTAgNDQuMXMzNC43IDQuOSA0NC4xLTEwTDEwNCAzMDAuNSAxMDQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6TTQ0OCAwTDQzMiAwIDQxNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDAgMTAwLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTQ0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNTkuNSAwYzEwLjQgMCAxOC05LjggMTUuNS0xOS45TDQ4NCA0MDBsNDQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC0yNi43IDUzLjEtMTcuN2M2LjUtMi4yIDEwLjktOC4zIDEwLjktMTUuMmwwLTg0LjVjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA1Ni0xNiA1LjNMNDgwIDE2MGMwLTExLjgtNi40LTIyLjItMTYtMjcuN0w0NjQgMTZjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbmNvbnN0IGZhQ2hpbGRSaWZsZSA9IGZhQ2hpbGRDb21iYXRhbnQ7XG5jb25zdCBmYUd1biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdndW4nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImUxOWJcIiwgXCJNNTI4IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOEwzMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2TDAgMjA4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwIDBjMjAuOCAwIDM2LjEgMTkuNiAzMSAzOS44TDMzIDQ0MC4yYy0yLjQgOS42LS4yIDE5LjcgNS44IDI3LjVTNTQuMSA0ODAgNjQgNDgwbDk2IDBjMTQuNyAwIDI3LjUtMTAgMzEtMjQuMkwyMTcgMzUybDEwNC41IDBjMjMuNyAwIDQ0LjgtMTQuOSA1Mi43LTM3LjJMNDAwLjkgMjQwbDMxLjEgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNEw0NzcuMyAyMDhsNjYuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtODBjMC0xNy43LTE0LjMtMzItMzItMzJsLTE2IDAgMC04ek0zMjEuNCAzMDRMMjI5IDMwNGwxNi02NCAxMDUgMC0yMSA1OC43Yy0xLjEgMy4yLTQuMiA1LjMtNy41IDUuM3pNODAgMTI4bDM4NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDgwIDE2MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVNxdWFyZVBob25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1waG9uZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicGhvbmUtc3F1YXJlXCJdLCBcImYwOThcIiwgXCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptOTAuNyA5Ni43YzkuNy0yLjYgMTkuOSAyLjMgMjMuNyAxMS42bDIwIDQ4YzMuNCA4LjIgMSAxNy42LTUuOCAyMy4yTDE2OCAyMzEuN2MxNi42IDM1LjIgNDUuMSA2My43IDgwLjMgODAuM2wyMC4yLTI0LjdjNS42LTYuOCAxNS05LjIgMjMuMi01LjhsNDggMjBjOS4zIDMuOSAxNC4yIDE0IDExLjYgMjMuN2wtMTIgNDRDMzM2LjkgMzc4IDMyOSAzODQgMzIwIDM4NEMxOTYuMyAzODQgOTYgMjgzLjcgOTYgMTYwYzAtOSA2LTE2LjkgMTQuNy0xOS4zbDQ0LTEyelwiXVxufTtcbmNvbnN0IGZhUGhvbmVTcXVhcmUgPSBmYVNxdWFyZVBob25lO1xuY29uc3QgZmFQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdXMnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMDEzMywgNjE1NDMsIFwiYWRkXCJdLCBcIjJiXCIsIFwiTTI1NiA4MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE0NEw0OCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTQ0IDAgMCAxNDRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE0NCAxNDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTQ0IDAgMC0xNDR6XCJdXG59O1xuY29uc3QgZmFBZGQgPSBmYVBsdXM7XG5jb25zdCBmYUV4cGFuZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdleHBhbmQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwNjVcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek02NCAzNTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjR6TTMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwek00NDggMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZ6XCJdXG59O1xuY29uc3QgZmFDb21wdXRlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb21wdXRlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRlNVwiLCBcIk0zODQgOTZsMCAyMjRMNjQgMzIwIDY0IDk2bDMyMCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzIwYzAgMzUuMyAyOC43IDY0IDY0IDY0bDExNy4zIDAtMTAuNyAzMkw5NiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTc0LjcgMC0xMC43LTMyTDM4NCAzODRjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTQ2NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwem0xNiA2NGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tMTYgODBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnptMzIgMTYwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYVhtYXJrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3htYXJrJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI4NDczLCAxMDAwNSwgMTAwMDYsIDEwMDYwLCAyMTUsIFwiY2xvc2VcIiwgXCJtdWx0aXBseVwiLCBcInJlbW92ZVwiLCBcInRpbWVzXCJdLCBcImYwMGRcIiwgXCJNMzQyLjYgMTUwLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyIDIxMC43IDg2LjYgMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDE0Ni43IDI1NiA0MS40IDM2MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE5MiAzMDEuMyAyOTcuNCA0MDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDIzNy4zIDI1NiAzNDIuNiAxNTAuNnpcIl1cbn07XG5jb25zdCBmYUNsb3NlID0gZmFYbWFyaztcbmNvbnN0IGZhTXVsdGlwbHkgPSBmYVhtYXJrO1xuY29uc3QgZmFSZW1vdmUgPSBmYVhtYXJrO1xuY29uc3QgZmFUaW1lcyA9IGZhWG1hcms7XG5jb25zdCBmYUFycm93c1VwRG93bkxlZnRSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhcnJvd3NcIl0sIFwiZjA0N1wiLCBcIk0yNzguNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5LjQtOS40TDIyNCAyMjRsLTExNC43IDAgOS40LTkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjRMMjI0IDI4OGwwIDExNC43LTkuNC05LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05LjQgOS40TDI4OCAyODhsMTE0LjcgMC05LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNEwyODggMjI0bDAtMTE0LjcgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NHpcIl1cbn07XG5jb25zdCBmYUFycm93cyA9IGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0O1xuY29uc3QgZmFDaGFsa2JvYXJkVXNlciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGFsa2JvYXJkLXVzZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImNoYWxrYm9hcmQtdGVhY2hlclwiXSwgXCJmNTFjXCIsIFwiTTE2MCA2NGMwLTM1LjMgMjguNy02NCA2NC02NEw1NzYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjM5LjIgMGMtMTEuOC0yNS41LTI5LjktNDcuNS01Mi40LTY0bDk5LjYgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiA2NCAwIDAtMjg4TDIyNCA2NGwwIDQ5LjFDMjA1LjIgMTAyLjIgMTgzLjMgOTYgMTYwIDk2bDAtMzJ6bTAgNjRhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6TTEzMy4zIDM1Mmw1My4zIDBDMjYwLjMgMzUyIDMyMCA0MTEuNyAzMjAgNDg1LjNjMCAxNC43LTExLjkgMjYuNy0yNi43IDI2LjdMMjYuNyA1MTJDMTEuOSA1MTIgMCA1MDAuMSAwIDQ4NS4zQzAgNDExLjcgNTkuNyAzNTIgMTMzLjMgMzUyelwiXVxufTtcbmNvbnN0IGZhQ2hhbGtib2FyZFRlYWNoZXIgPSBmYUNoYWxrYm9hcmRVc2VyO1xuY29uc3QgZmFQZXNvU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXNvLXNpZ24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUyMjJcIiwgXCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0bDAgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDY0IDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDgwIDBjNjguNCAwIDEyNy43LTM5IDE1Ni44LTk2bDE5LjIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtLjcgMGMuNS01LjMgLjctMTAuNiAuNy0xNnMtLjItMTAuNy0uNy0xNmwuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOS4yIDBDMzAzLjcgNzEgMjQ0LjQgMzIgMTc2IDMyTDY0IDMyem0xOTAuNCA5Nkw5NiAxMjhsMC0zMiA4MCAwYzMwLjUgMCA1OC4yIDEyLjIgNzguNCAzMnpNOTYgMTkybDE5MC45IDBjLjcgNS4yIDEuMSAxMC42IDEuMSAxNnMtLjQgMTAuOC0xLjEgMTZMOTYgMjI0bDAtMzJ6bTE1OC40IDk2Yy0yMC4yIDE5LjgtNDcuOSAzMi03OC40IDMybC04MCAwIDAtMzIgMTU4LjQgMHpcIl1cbn07XG5jb25zdCBmYUJ1aWxkaW5nU2hpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1aWxkaW5nLXNoaWVsZCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTRkOFwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEwzMzYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE1OS00Mi40IDE3TDMwNCAyMjRsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyIDAgMjQuMiAwIDcuOGMwIC45IC4xIDEuNyAuMiAyLjZjMi4zIDU4LjEgMjQuMSAxNDQuOCA5OC43IDIwMS41Yy01LjggMi41LTEyLjIgMy45LTE4LjkgMy45bC05NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCA4MC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek04MCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptODAgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNNjQgMTEybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2TDgwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZ6TTE3NiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem04MCAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek00MjMuMSAyMjUuN2M1LjctMi4zIDEyLjEtMi4zIDE3LjggMGwxMjAgNDhDNTcwIDI3Ny40IDU3NiAyODYuMiA1NzYgMjk2YzAgNjMuMy0yNS45IDE2OC44LTEzNC44IDIxNC4yYy01LjkgMi41LTEyLjYgMi41LTE4LjUgMEMzMTMuOSA0NjQuOCAyODggMzU5LjMgMjg4IDI5NmMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zbDEyMC00OHpNNTI3LjQgMzEyTDQzMiAyNzMuOGwwIDE4Ny44YzY4LjItMzMgOTEuNS05OSA5NS40LTE0OS43elwiXVxufTtcbmNvbnN0IGZhQmFieSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYWJ5JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmNzdjXCIsIFwiTTE1MiA4OGE3MiA3MiAwIDEgMSAxNDQgMEE3MiA3MiAwIDEgMSAxNTIgODh6TTM5LjcgMTQ0LjVjMTMtMTcuOSAzOC0yMS44IDU1LjktOC44TDEzMS44IDE2MmMyNi44IDE5LjUgNTkuMSAzMCA5Mi4yIDMwczY1LjQtMTAuNSA5Mi4yLTMwbDM2LjItMjYuNGMxNy45LTEzIDQyLjktOSA1NS45IDguOHM5IDQyLjktOC44IDU1LjlsLTM2LjIgMjYuNGMtMTMuNiA5LjktMjguMSAxOC4yLTQzLjMgMjVsMCAzNi4zLTE5MiAwIDAtMzYuM2MtMTUuMi02LjctMjkuNy0xNS4xLTQzLjMtMjVMNDguNSAyMDAuM2MtMTcuOS0xMy0yMS44LTM4LTguOC01NS45em04OS44IDE4NC44bDYwLjYgNTMtMjYgMzcuMiAyNC4zIDI0LjNjMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZzLTQwLjkgMTUuNi01Ni42IDBsLTQ4LTQ4QzcwIDQzOC42IDY4LjEgNDE3IDc5LjIgNDAxLjFsNTAuMi03MS44em0xMjguNSA1M2w2MC42LTUzIDUwLjIgNzEuOGMxMS4xIDE1LjkgOS4yIDM3LjUtNC41IDUxLjJsLTQ4IDQ4Yy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMHMtMTUuNi00MC45IDAtNTYuNkwyODQgNDE5LjRsLTI2LTM3LjJ6XCJdXG59O1xuY29uc3QgZmFVc2Vyc0xpbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlcnMtbGluZScsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU5MlwiLCBcIk0yMTEuMiA5NmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTMyIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw4NS42IDBjMTAuMS0zOS40IDM4LjYtNzEuNSA3NS44LTg2LjZjLTkuNy02LTIxLjItOS40LTMzLjQtOS40bC05NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHptNDYxLjYgMzJsODIuNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC05NiAwYy0xMS43IDAtMjIuNyAzLjEtMzIuMSA4LjZjMzguMSAxNC44IDY3LjQgNDcuMyA3Ny43IDg3LjR6TTM5MS4yIDIyNi40Yy02LjktMS42LTE0LjItMi40LTIxLjYtMi40bC05NiAwYy04LjUgMC0xNi43IDEuMS0yNC41IDMuMWMtMzAuOCA4LjEtNTUuNiAzMS4xLTY2LjEgNjAuOWMtMy41IDEwLTUuNSAyMC44LTUuNSAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmMwLTExLjItMS45LTIyLTUuNS0zMmMtMTAuOC0zMC43LTM2LjgtNTQuMi02OC45LTYxLjZ6TTU2My4yIDk2YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNMzIxLjYgMTkyYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwek0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2elwiXVxufTtcbmNvbnN0IGZhUXVvdGVMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3F1b3RlLWxlZnQnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MjIwLCBcInF1b3RlLWxlZnQtYWx0XCJdLCBcImYxMGRcIiwgXCJNMCAyMTZDMCAxNDkuNyA1My43IDk2IDEyMCA5Nmw4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTggMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMiAwLTMyIDAtNzJ6bTI1NiAwYzAtNjYuMyA1My43LTEyMCAxMjAtMTIwbDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyIDAtMzIgMC03MnpcIl1cbn07XG5jb25zdCBmYVF1b3RlTGVmdEFsdCA9IGZhUXVvdGVMZWZ0O1xuY29uc3QgZmFUcmFjdG9yID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYWN0b3InLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjg2NjhdLCBcImY3MjJcIiwgXCJNOTYgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMMjY2LjMgMGMyNi4yIDAgNDkuNyAxNS45IDU5LjQgNDAuMkwzNzMuNyAxNjAgNDgwIDE2MGwwLTMzLjhjMC0yNC44IDUuOC00OS4zIDE2LjktNzEuNmwyLjUtNWM3LjktMTUuOCAyNy4xLTIyLjIgNDIuOS0xNC4zczIyLjIgMjcuMSAxNC4zIDQyLjlsLTIuNSA1Yy02LjcgMTMuMy0xMC4xIDI4LTEwLjEgNDIuOWwwIDMzLjggNTYgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ1LjRjMCAxNi41LTguNSAzMS45LTIyLjYgNDAuN2wtNDMuMyAyNy4xYy0xNC4yLTUuOS0yOS44LTkuMi00Ni4xLTkuMmMtMzkuMyAwLTc0LjEgMTguOS05NiA0OGwtODAgMGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOC4yIDBjLTEuNyA0LjgtMy43IDkuNS01LjggMTQuMWw1LjggNS44YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0yMi42IDIyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC01LjgtNS44Yy00LjYgMi4yLTkuMyA0LjEtMTQuMSA1LjhsMCA4LjJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOC4yYy00LjgtMS43LTkuNS0zLjctMTQuMS01LjhsLTUuOCA1LjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDQwLjIgNDQ5LjFjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDUuOC01LjhjLTIuMi00LjYtNC4xLTkuMy01LjgtMTQuMUwzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOC4yIDBjMS43LTQuOCAzLjctOS41IDUuOC0xNC4xbC01LjgtNS44Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wyMi42LTIyLjZjOS05IDIxLjktMTEuNSAzMy4xLTcuNmwwLS42IDAtMzIgMC05NnptMTcwLjMgMEwxNjAgNjRsMCA5NiAzMiAwIDExMi43IDBMMjY2LjMgNjR6TTE3NiAyNTZhODAgODAgMCAxIDAgMCAxNjAgODAgODAgMCAxIDAgMC0xNjB6TTUyOCA0NDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wIDY0Yy00OC42IDAtODgtMzkuNC04OC04OGMwLTI5LjggMTQuOC01Ni4xIDM3LjQtNzJjMTQuMy0xMC4xIDMxLjgtMTYgNTAuNi0xNmMyLjcgMCA1LjMgLjEgNy45IC4zYzQ0LjkgNCA4MC4xIDQxLjcgODAuMSA4Ny43YzAgNDguNi0zOS40IDg4LTg4IDg4elwiXVxufTtcbmNvbnN0IGZhVHJhc2hBcnJvd1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYXNoLWFycm93LXVwJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXCJ0cmFzaC1yZXN0b3JlXCJdLCBcImY4MjlcIiwgXCJNMTYzLjggMEwyODQuMiAwYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdMMzIwIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDk2IDAgNy4yLTE0LjNDMTQwLjYgNi44IDE1MS43IDAgMTYzLjggMHpNMzIgMTI4bDM4NCAwTDM5NC44IDQ2N2MtMS42IDI1LjMtMjIuNiA0NS00Ny45IDQ1bC0yNDUuOCAwYy0yNS4zIDAtNDYuMy0xOS43LTQ3LjktNDVMMzIgMTI4em0xOTIgNjRjLTYuNCAwLTEyLjUgMi41LTE3IDdsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzktMzlMMjAwIDQwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM0LjEgMzkgMzljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtNC41LTQuNS0xMC42LTctMTctN3pcIl1cbn07XG5jb25zdCBmYVRyYXNoUmVzdG9yZSA9IGZhVHJhc2hBcnJvd1VwO1xuY29uc3QgZmFBcnJvd0Rvd25VcExvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctZG93bi11cC1sb2NrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNGIwXCIsIFwiTTE1MC42IDUwMi42bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE2MCA0MDIuNyAxNjAgMjg4bDI1NiAwIDAtMTZjMC0xNy4yIDMuOS0zMy41IDEwLjgtNDhMMzUyIDIyNGwwLTExNC43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NmMtNi02LTE0LjEtOS40LTIyLjYtOS40cy0xNi42IDMuNC0yMi42IDkuNGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMjg4IDEwOS4zIDI4OCAyMjRsLTEyOCAwLTY0IDAtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgMTE0LjdMNTQuNiAzNjEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDB6TTE2MCAxOTJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMjggNjQgMHpNMjg4IDMyMGwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4LTY0IDB6bTI0MC04MGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4LTY0IDAgMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptLTgwIDMybDAgNDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODB6XCJdXG59O1xuY29uc3QgZmFMaW5lc0xlYW5pbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbGluZXMtbGVhbmluZycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTUxZVwiLCBcIk0xOTAuNCA3NC4xYzUuNi0xNi44LTMuNS0zNC45LTIwLjItNDAuNXMtMzQuOSAzLjUtNDAuNSAyMC4ybC0xMjggMzg0Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDEyOC0zODR6bTcwLjktNDEuN2MtMTcuNC0yLjktMzMuOSA4LjktMzYuOCAyNi4zbC02NCAzODRjLTIuOSAxNy40IDguOSAzMy45IDI2LjMgMzYuOHMzMy45LTguOSAzNi44LTI2LjNsNjQtMzg0YzIuOS0xNy40LTguOS0zMy45LTI2LjMtMzYuOHpNMzUyIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhUnVsZXJDb21iaW5lZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlci1jb21iaW5lZCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU0NlwiLCBcIk0uMiA0NjguOUMyLjcgNDkzLjEgMjMuMSA1MTIgNDggNTEybDk2IDAgMzIwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtNjQgMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtNjQgMCAwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODAtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNjQtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNjQtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMEMyMS41IDAgMCAyMS41IDAgNDhMMCAzNjhsMCA5NmMwIDEuNyAuMSAzLjMgLjIgNC45elwiXVxufTtcbmNvbnN0IGZhQ29weXJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NvcHlyaWdodCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzE2OV0sIFwiZjFmOVwiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTk5LjQgMzEyLjZjMzEuMiAzMS4yIDgxLjkgMzEuMiAxMTMuMSAwYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtNTAgNTAtMTMxIDUwLTE4MSAwcy01MC0xMzEgMC0xODFzMTMxLTUwIDE4MSAwYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTMxLjItMzEuMi04MS45LTMxLjItMTEzLjEgMHMtMzEuMiA4MS45IDAgMTEzLjF6XCJdXG59O1xuY29uc3QgZmFFcXVhbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZXF1YWxzJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjI3NjRdLCBcIjNkXCIsIFwiTTQ4IDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw0OCAxMjh6bTAgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM1MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDQ4IDMyMHpcIl1cbn07XG5jb25zdCBmYUJsZW5kZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmxlbmRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjUxN1wiLCBcIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMGw2NCAwIDMyIDBMNDcwLjEgMGMyMS4xIDAgMzYuNCAyMC4xIDMwLjkgNDAuNEw0OTQuNSA2NCAzMzYgNjRjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTQ5LjggMC0xNy41IDY0TDMzNiAxNjBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTIzLjYgMC0xNy41IDY0TDMzNiAyNTZjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsOTcuNSAwTDQxNiAzNTJsLTI1NiAwLTguNy05Nkw2NCAyNTZjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTE0NS41IDE5MkwxMzMuOCA2NCA2NCA2NGwwIDEyOCA4MS41IDB6TTE0NCAzODRsMjg4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjg4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzJjMC0yNi41IDIxLjUtNDggNDgtNDh6bTE0NCA5NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFUZWV0aCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZWV0aCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjYyZVwiLCBcIk0wIDEyOEMwIDc1IDQzIDMyIDk2IDMybDM4NCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyNTZjMCA1My00MyA5Ni05NiA5Nkw5NiA0ODBjLTUzIDAtOTYtNDMtOTYtOTZMMCAxMjh6bTE3NiA0OGwwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC01NmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHptMTc2LTQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC01NmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDggMjA4bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4ek05NiAzODRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHptODAtNDhjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGwwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDI0em0xNzYgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHptODAtMTc2bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4em00OCAxNzZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHpcIl1cbn07XG5jb25zdCBmYVNoZWtlbFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hla2VsLXNpZ24nLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs4MzYyLCBcImlsc1wiLCBcInNoZWtlbFwiLCBcInNoZXFlbFwiLCBcInNoZXFlbC1zaWduXCJdLCBcImYyMGJcIiwgXCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDk2bDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhMMzIgMzJ6TTMyMCA0ODBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEyOCAwIDAtMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwelwiXVxufTtcbmNvbnN0IGZhSWxzID0gZmFTaGVrZWxTaWduO1xuY29uc3QgZmFTaGVrZWwgPSBmYVNoZWtlbFNpZ247XG5jb25zdCBmYVNoZXFlbCA9IGZhU2hla2VsU2lnbjtcbmNvbnN0IGZhU2hlcWVsU2lnbiA9IGZhU2hla2VsU2lnbjtcbmNvbnN0IGZhTWFwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hcCcsXG4gIGljb246IFs1NzYsIDUxMiwgWzEyODUwNiwgNjIwNzJdLCBcImYyNzlcIiwgXCJNMzg0IDQ3Ni4xTDE5MiA0MjEuMmwwLTM4NS4zTDM4NCA5MC44bDAgMzg1LjN6bTMyLTEuMmwwLTM4Ni41TDU0My4xIDM3LjVjMTUuOC02LjMgMzIuOSA1LjMgMzIuOSAyMi4zbDAgMzM0LjhjMCA5LjgtNiAxOC42LTE1LjEgMjIuM0w0MTYgNDc0Ljh6TTE1LjEgOTUuMUwxNjAgMzcuMmwwIDM4Ni41TDMyLjkgNDc0LjVDMTcuMSA0ODAuOCAwIDQ2OS4yIDAgNDUyLjJMMCAxMTcuNGMwLTkuOCA2LTE4LjYgMTUuMS0yMi4zelwiXVxufTtcbmNvbnN0IGZhUm9ja2V0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvY2tldCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjEzNVwiLCBcIk0xNTYuNiAzODQuOUwxMjUuNyAzNTRjLTguNS04LjUtMTEuNS0yMC44LTcuNy0zMi4yYzMtOC45IDctMjAuNSAxMS44LTMzLjhMMjQgMjg4Yy04LjYgMC0xNi42LTQuNi0yMC45LTEyLjFzLTQuMi0xNi43IC4yLTI0LjFsNTIuNS04OC41YzEzLTIxLjkgMzYuNS0zNS4zIDYxLjktMzUuM2w4Mi4zIDBjMi40LTQgNC44LTcuNyA3LjItMTEuM0MyODkuMS00LjEgNDExLjEtOC4xIDQ4My45IDUuM2MxMS42IDIuMSAyMC42IDExLjIgMjIuOCAyMi44YzEzLjQgNzIuOSA5LjMgMTk0LjgtMTExLjQgMjc2LjdjLTMuNSAyLjQtNy4zIDQuOC0xMS4zIDcuMmwwIDgyLjNjMCAyNS40LTEzLjQgNDktMzUuMyA2MS45bC04OC41IDUyLjVjLTcuNCA0LjQtMTYuNiA0LjUtMjQuMSAuMnMtMTIuMS0xMi4yLTEyLjEtMjAuOWwwLTEwNy4yYy0xNC4xIDQuOS0yNi40IDguOS0zNS43IDExLjljLTExLjIgMy42LTIzLjQgLjUtMzEuOC03Ljh6TTM4NCAxNjhhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbmNvbnN0IGZhUGhvdG9GaWxtID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Bob3RvLWZpbG0nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcInBob3RvLXZpZGVvXCJdLCBcImY4N2NcIiwgXCJNMjU2IDBMNTc2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMyMCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIyNGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDc2IDEwNi43QzQ3MS41IDEwMCA0NjQgOTYgNDU2IDk2cy0xNS41IDQtMjAgMTAuN2wtNTYgODRMMzYyLjcgMTY5Yy00LjYtNS43LTExLjUtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRzMTIuNCAxMy42IDIxLjYgMTMuNmw4MCAwIDQ4IDAgMTQ0IDBjOC45IDAgMTctNC45IDIxLjItMTIuN3MzLjctMTcuMy0xLjItMjQuNmwtOTYtMTQ0ek0zMzYgOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNjQgMTI4bDk2IDAgMCAyNTYgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDE2MCAwIDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NHptOCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0wIDEwNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0wIDEwNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0zMzYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnpcIl1cbn07XG5jb25zdCBmYVBob3RvVmlkZW8gPSBmYVBob3RvRmlsbTtcbmNvbnN0IGZhRm9sZGVyTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZm9sZGVyLW1pbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmNjVkXCIsIFwiTTQ0OCA0ODBMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEyOCAwYzIwLjEgMCAzOS4xIDkuNSA1MS4yIDI1LjZsMTkuMiAyNS42YzYgOC4xIDE1LjUgMTIuOCAyNS42IDEyLjhsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjR6TTE4NCAyNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwelwiXVxufTtcbmNvbnN0IGZhU3RvcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3RvcmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImY1NGVcIiwgXCJNNTQ3LjYgMTAzLjhMNDkwLjMgMTMuMUM0ODUuMiA1IDQ3Ni4xIDAgNDY2LjQgMEwxMDkuNiAwQzk5LjkgMCA5MC44IDUgODUuNyAxMy4xTDI4LjMgMTAzLjhjLTI5LjYgNDYuOC0zLjQgMTExLjkgNTEuOSAxMTkuNGM0IC41IDguMSAuOCAxMi4xIC44YzI2LjEgMCA0OS4zLTExLjQgNjUuMi0yOWMxNS45IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzI2LjEgMCA0OS4zLTExLjQgNjUuMi0yOWMxNS45IDE3LjYgMzkuMSAyOSA2NS4yIDI5YzI2LjIgMCA0OS4zLTExLjQgNjUuMi0yOWMxNiAxNy42IDM5LjEgMjkgNjUuMiAyOWM0LjEgMCA4LjEtLjMgMTIuMS0uOGM1NS41LTcuNCA4MS44LTcyLjUgNTIuMS0xMTkuNHpNNDk5LjcgMjU0LjljMCAwIDAgMC0uMSAwYy01LjMgLjctMTAuNyAxLjEtMTYuMiAxLjFjLTEyLjQgMC0yNC4zLTEuOS0zNS40LTUuM0w0NDggMzg0bC0zMjAgMCAwLTEzMy40Yy0xMS4yIDMuNS0yMy4yIDUuNC0zNS42IDUuNGMtNS41IDAtMTEtLjQtMTYuMy0xLjFsLS4xIDBjLTQuMS0uNi04LjEtMS4zLTEyLTIuM0w2NCAzODRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0IDAtMTMxLjRjLTQgMS04IDEuOC0xMi4zIDIuM3pcIl1cbn07XG5jb25zdCBmYUFycm93VHJlbmRVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy10cmVuZC11cCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTA5OFwiLCBcIk0zODQgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODIuN0wzNDIuNiAzNzQuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBMMTkyIDI2OS4zIDU0LjYgNDA2LjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE2MC0xNjBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBMMzIwIDMwNi43IDQ2Ni43IDE2MCAzODQgMTYwelwiXVxufTtcbmNvbnN0IGZhUGx1Z0NpcmNsZU1pbnVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BsdWctY2lyY2xlLW1pbnVzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTVlXCIsIFwiTTk2IDBDNzguMyAwIDY0IDE0LjMgNjQgMzJsMCA5NiA2NCAwIDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTI4OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMzJjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCA2Ny4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02Ny4yYzEyLjMtMi41IDI0LjEtNi40IDM1LjEtMTEuNWMtMi4xLTEwLjgtMy4xLTIxLjktMy4xLTMzLjNjMC04MC4zIDUzLjgtMTQ4IDEyNy4zLTE2OS4yYy41LTIuMiAuNy00LjUgLjctNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MHpNNTc2IDM2OGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNjQgMGMwIDguOC03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnpcIl1cbn07XG5jb25zdCBmYVNpZ25IYW5naW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpZ24taGFuZ2luZycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2lnblwiXSwgXCJmNGQ5XCIsIFwiTTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzUyIDAgMCAzNTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNTItMzIgMEMxNC4zIDEyOCAwIDExMy43IDAgOTZTMTQuMyA2NCAzMiA2NGwzMiAwIDAtMzJDNjQgMTQuMyA3OC4zIDAgOTYgMHptOTYgMTYwbDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFTaWduID0gZmFTaWduSGFuZ2luZztcbmNvbnN0IGZhQmV6aWVyQ3VydmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmV6aWVyLWN1cnZlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTViXCIsIFwiTTI5NiAxMzZsMC00OCA0OCAwIDAgNDgtNDggMHpNMjg4IDMyYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDRMMTIxLjYgODRDMTExLjIgNjIuNyA4OS4zIDQ4IDY0IDQ4QzI4LjcgNDggMCA3Ni43IDAgMTEyczI4LjcgNjQgNjQgNjRjMjUuMyAwIDQ3LjItMTQuNyA1Ny42LTM2bDY2LjkgMGMtNTguOSAzOS42LTk4LjkgMTA1LTEwNCAxODBMODAgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMy4zIDBjNS45LTY3IDQ4LjUtMTIzLjQgMTA3LjUtMTQ5LjFjOC42IDEyLjcgMjMuMiAyMS4xIDM5LjggMjEuMWw2NCAwYzE2LjYgMCAzMS4xLTguNCAzOS44LTIxLjFjNTkgMjUuNyAxMDEuNiA4Mi4xIDEwNy41IDE0OS4xbC0zLjMgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQuNSAwYy01LTc1LTQ1LjEtMTQwLjQtMTA0LTE4MGw2Ni45IDBjMTAuNCAyMS4zIDMyLjMgMzYgNTcuNiAzNmMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2TDQwMCA4NGwwLTRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTg4IDM3Nmw0OCAwIDAgNDgtNDggMCAwLTQ4em00MTYgNDhsMC00OCA0OCAwIDAgNDgtNDggMHpcIl1cbn07XG5jb25zdCBmYUJlbGxTbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiZWxsLXNsYXNoJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI4Mjc3LCA2MTk0M10sIFwiZjFmNlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC05MC4yLTcwLjdjLjItLjQgLjQtLjkgLjYtMS4zYzUuMi0xMS41IDMuMS0yNS01LjMtMzQuNGwtNy40LTguM0M0OTcuMyAzMTkuMiA0ODAgMjczLjkgNDgwIDIyNi44bDAtMTguOGMwLTc3LjQtNTUtMTQyLTEyOC0xNTYuOEwzNTIgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxOS4yYy00Mi42IDguNi03OSAzNC4yLTEwMiA2OS4zTDM4LjggNS4xek00MDYuMiA0MTZMMTYwIDIyMi4xbDAgNC44YzAgNDctMTcuMyA5Mi40LTQ4LjUgMTI3LjZsLTcuNCA4LjNjLTguNCA5LjQtMTAuNCAyMi45LTUuMyAzNC40UzExNS40IDQxNiAxMjggNDE2bDI3OC4yIDB6bS00MC45IDc3LjNjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wtNjQgMC02NCAwYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zczI4LjMgMTguNyA0NS4zIDE4LjdzMzMuMy02LjcgNDUuMy0xOC43elwiXVxufTtcbmNvbnN0IGZhVGFibGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxldCcsXG4gIGljb246IFs0NDgsIDUxMiwgW1widGFibGV0LWFuZHJvaWRcIl0sIFwiZjNmYlwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0xNzYgNDMybDk2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTk2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFUYWJsZXRBbmRyb2lkID0gZmFUYWJsZXQ7XG5jb25zdCBmYVNjaG9vbEZsYWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2Nob29sLWZsYWcnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NmVcIiwgXCJNMjg4IDBMNDAwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2bC03OS4zIDAgODkuNiA2NEw1MTIgMTYwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xNzYgMCAwLTExMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDExMkw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDEwMS43IDBMMjU2IDk1LjUgMjU2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem00OCAyNDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNODAgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTM2OCAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek04MCAzNTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMzg0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpcIl1cbn07XG5jb25zdCBmYUZpbGwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU3NVwiLCBcIk04Ni42IDkuNEM3NC4xLTMuMSA1My45LTMuMSA0MS40IDkuNHMtMTIuNSAzMi44IDAgNDUuM0wxMjIuNyAxMzYgMzAuNiAyMjguMWMtMzcuNSAzNy41LTM3LjUgOTguMyAwIDEzNS44TDE0OC4xIDQ4MS40YzM3LjUgMzcuNSA5OC4zIDM3LjUgMTM1LjggMEw0NzQuMyAyOTAuOWMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjhMMzIyLjkgMzcuN2MtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwTDE2OCA5MC43IDg2LjYgOS40ek0xNjggMTgxLjNsNDkuNCA0OS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMjEzLjMgMTM2bDUzLjEtNTMuMWMzLjEtMy4xIDguMi0zLjEgMTEuMyAwTDQyOS4xIDIzNC4zYzMuMSAzLjEgMy4xIDguMiAwIDExLjNMMzg2LjcgMjg4IDY3LjUgMjg4YzEuNC01LjQgNC4yLTEwLjQgOC40LTE0LjZMMTY4IDE4MS4zelwiXVxufTtcbmNvbnN0IGZhQW5nbGVVcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZS11cCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzg5NjNdLCBcImYxMDZcIiwgXCJNMjAxLjQgMTM3LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwyMjQgMjA1LjMgODYuNiAzNDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MHpcIl1cbn07XG5jb25zdCBmYURydW1zdGlja0JpdGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHJ1bXN0aWNrLWJpdGUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY2ZDdcIiwgXCJNMTYwIDI2NS4yYzAgOC41LTMuNCAxNi42LTkuNCAyMi42bC0yNi44IDI2LjhjLTEyLjMgMTIuMy0zMi41IDExLjQtNDkuNCA3LjJDNjkuOCAzMjAuNiA2NSAzMjAgNjAgMzIwYy0zMy4xIDAtNjAgMjYuOS02MCA2MHMyNi45IDYwIDYwIDYwYzYuMyAwIDEyIDUuNyAxMiAxMmMwIDMzLjEgMjYuOSA2MCA2MCA2MHM2MC0yNi45IDYwLTYwYzAtNS0uNi05LjgtMS44LTE0LjVjLTQuMi0xNi45LTUuMi0zNy4xIDcuMi00OS40bDI2LjgtMjYuOGM2LTYgMTQuMS05LjQgMjIuNi05LjRsODkuMiAwYzYuMyAwIDEyLjQtLjMgMTguNS0xYzExLjktMS4yIDE2LjQtMTUuNSAxMC44LTI2Yy04LjUtMTUuOC0xMy4zLTMzLjgtMTMuMy01M2MwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmM4IDAgMTUuNyAuOCAyMy4yIDIuNGMxMS43IDIuNSAyNC4xLTUuOSAyMi0xNy42QzQ5NC41IDYyLjUgNDIyLjUgMCAzMzYgMEMyMzguOCAwIDE2MCA3OC44IDE2MCAxNzZsMCA4OS4yelwiXVxufTtcbmNvbnN0IGZhSG9sbHlCZXJyeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob2xseS1iZXJyeScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdhYVwiLCBcIk0yNTYgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0yNzYuOCAzODMuOGMxIC4xIDIuMSAuMiAzLjIgLjJjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyMi43YzAgMTYuNCAxNiAyNy45IDMxLjYgMjIuOGwxMi44LTQuM2MxOC02IDM3LjMtNi41IDU1LjYtMS41bDE5LjQgNS4zYzE3LjkgNC45IDM0LjQtMTEuNiAyOS41LTI5LjVMNDk1LjYgNDUyYy01LTE4LjMtNC40LTM3LjYgMS41LTU1LjZsNC4zLTEyLjhjNS4yLTE1LjUtNi40LTMxLjYtMjIuOC0zMS42Yy0zNC42IDAtNjIuNy0yOC4xLTYyLjctNjIuN2wwLTMyYzAtMTYuNC0xNi0yNy45LTMxLjYtMjIuOGwtMTIuOCA0LjNjLTE4IDYtMzcuMyA2LjUtNTUuNiAxLjVsLTI5LjYtOC4xYy0yLjktLjgtNS45LTEtOC43LS43YzQuMiA5LjcgNS44IDIwLjggMy43IDMyLjNMMjc1IDI5OC43Yy0xLjUgOC40LTEuNCAxNyAuNSAyNS4zbDUuMyAyMy45YzIuOCAxMi43IDEuMSAyNS4yLTQgMzUuOXpNMTI3LjYgMjM0LjVjLTE1LjUtNS4yLTMxLjYgNi40LTMxLjYgMjIuOGwwIDMyQzk2IDMyMy45IDY3LjkgMzUyIDMzLjMgMzUyYy0xNi40IDAtMjcuOSAxNi0yMi44IDMxLjZsNC4zIDEyLjhjNiAxOCA2LjUgMzcuMyAxLjUgNTUuNmwtNS4zIDE5LjRDNi4yIDQ4OS40IDIyLjYgNTA1LjggNDAuNSA1MDFMNjAgNDk1LjZjMTguMy01IDM3LjYtNC41IDU1LjYgMS41bDEyLjggNC4zYzE1LjUgNS4yIDMxLjYtNi40IDMxLjYtMjIuOGwwLTMyYzAtMzQuNiAyOC4xLTYyLjcgNjIuNy02Mi43YzE2LjQgMCAyNy45LTE2IDIyLjgtMzEuNmwtNC4zLTEyLjhjLTYtMTgtNi41LTM3LjMtMS41LTU1LjZsNS4zLTE5LjRjNC45LTE3LjktMTEuNi0zNC40LTI5LjUtMjkuNUwxOTYgMjQwLjRjLTE4LjMgNS0zNy42IDQuNC01NS42LTEuNWwtMTIuOC00LjN6TTM4NCAxNDRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpcIl1cbn07XG5jb25zdCBmYUNoZXZyb25MZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZXZyb24tbGVmdCcsXG4gIGljb246IFszMjAsIDUxMiwgWzkwMDFdLCBcImYwNTNcIiwgXCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxOTIgMTkyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjQ2LjYgODYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTkyIDE5MnpcIl1cbn07XG5jb25zdCBmYUJhY3RlcmlhID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JhY3RlcmlhJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMDU5XCIsIFwiTTMwNC45IC43Yy05LjYtMi43LTE5LjUgMi44LTIyLjMgMTIuNGwtNC4zIDE1LjJjLTguMy0uNi0xNi44IDAtMjUuMiAxLjljLTcuMyAxLjctMTQuMyAzLjUtMjEuMSA1LjVsLTUuNS0xMi43Yy0zLjktOS4xLTE0LjUtMTMuNC0yMy42LTkuNXMtMTMuNCAxNC41LTkuNSAyMy42bDQuNCAxMC40Yy0xNi42IDYuNy0zMS43IDE0LjQtNDUuNCAyMi44TDE0NyA2MmMtNS41LTguMy0xNi43LTEwLjUtMjUtNXMtMTAuNSAxNi43LTUgMjVsNiA5Yy0xMy43IDExLTI1LjUgMjIuOC0zNS44IDM0LjlsLTEwLThjLTcuOC02LjItMTkuMS01LTI1LjMgMi44cy01IDE5LjEgMi44IDI1LjNMNjUuOSAxNTVjLTEuOCAyLjgtMy41IDUuNy01LjEgOC41Yy02LjYgMTEuNC0xMS44IDIyLjYtMTYgMzNsLTgtMy4yYy05LjItMy43LTE5LjcgLjgtMjMuNCAxMHMuOCAxOS43IDEwIDIzLjRsMTAuNCA0LjJjLS4yIC44LS40IDEuNS0uNSAyLjNjLTIuMiA5LjMtMy40IDE3LjMtNC4xIDIzLjRjLS40IDMuMS0uNiA1LjctLjggNy44Yy0uMSAxLjEtLjEgMi0uMiAyLjhsLS4xIDEuMSAwIC41IDAgLjIgMCAuMWMwIDAgMCAuMSAyOS4xIDFjMCAwIDAgMC0uMSAwTDI4IDI2OS4zYy0uMSAzLjEgMCA2LjEgLjIgOS4xbC0xNS4yIDQuM0MzLjUgMjg1LjQtMiAyOTUuNCAuNyAzMDQuOXMxMi43IDE1LjEgMjIuMyAxMi40bDE1LjYtNC41YzcuNiAxMy42IDE4LjkgMjUgMzIuNiAzMi42TDY2LjcgMzYxYy0yLjcgOS42IDIuOCAxOS41IDEyLjQgMjIuM3MxOS41LTIuOCAyMi4zLTEyLjRsNC4zLTE1LjJjMS4yIC4xIDIuNCAuMiAzLjYgLjJjMTUuNiAuNSAzMC4zLTMuMyA0My0xMC4ybDkgOWM3IDcgMTguNCA3IDI1LjUgMHM3LTE4LjQgMC0yNS41bC03LjItNy4yYzkuMy0xMi42IDE1LjItMjcuOCAxNi4zLTQ0LjVsNy4xIDNjOS4xIDMuOSAxOS43LS4zIDIzLjYtOS41cy0uMy0xOS43LTkuNS0yMy42bC04LjYtMy43YzYuNC05LjkgMTcuMy0yMi40IDM2LjktMzMuM2wxLjMgNC40YzIuNyA5LjYgMTIuNyAxNS4xIDIyLjMgMTIuNHMxNS4xLTEyLjcgMTIuNC0yMi4zbC0yLjMtOC4xYzMuOC0xLjEgNy43LTIuMSAxMS45LTMuMWMxMS42LTIuNyAyMi4xLTcuNyAzMS4xLTE0LjRsNy4yIDcuMmM3IDcgMTguNCA3IDI1LjUgMHM3LTE4LjQgMC0yNS41bC05LTljNy42LTEzLjkgMTEuMy0zMC4xIDEwLjEtNDYuNmwxNS4yLTQuM2M5LjYtMi43IDE1LjEtMTIuNyAxMi40LTIyLjNTMzcwLjYgNjQgMzYxIDY2LjdsLTE1LjYgNC41Yy03LjctMTMuOS0xOS4xLTI1LjEtMzIuNi0zMi42bDQuNS0xNS42YzIuNy05LjYtMi44LTE5LjUtMTIuNC0yMi4zek0xMTIgMjcybC00OC0xLjVjMCAwIDAgMCAwIDBjMTEuNyAuNCAyNy4zIC45IDQ4IDEuNnptMTYtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NC00OGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0zMjIuNyA0ODljLTIuNyA5LjYgMi44IDE5LjUgMTIuNCAyMi4zczE5LjUtMi44IDIyLjItMTIuNGw0LjMtMTUuMmM4LjMgLjYgMTYuOCAwIDI1LjItMS45YzcuMy0xLjcgMTQuMy0zLjUgMjEuMS01LjVsNS41IDEyLjdjMy45IDkuMSAxNC41IDEzLjQgMjMuNiA5LjVzMTMuNC0xNC41IDkuNS0yMy42bC00LjQtMTAuNGMxNi42LTYuNyAzMS43LTE0LjQgNDUuNC0yMi44TDQ5MyA0NTBjNS41IDguMyAxNi43IDEwLjUgMjUgNXMxMC41LTE2LjcgNS0yNWwtNi05YzEzLjctMTEgMjUuNS0yMi44IDM1LjgtMzQuOWwxMCA4YzcuOCA2LjIgMTkuMSA1IDI1LjMtMi44czUtMTkuMS0yLjgtMjUuM0w1NzQuMSAzNTdjMS44LTIuOCAzLjUtNS43IDUuMS04LjVjNi42LTExLjQgMTEuOC0yMi42IDE2LTMzbDggMy4yYzkuMiAzLjcgMTkuNy0uOCAyMy40LTEwcy0uOC0xOS43LTEwLTIzLjRsLTEwLjQtNC4yYy4yLS44IC40LTEuNSAuNS0yLjNjMi4yLTkuMyAzLjQtMTcuMyA0LjEtMjMuNGMuNC0zLjEgLjYtNS43IC44LTcuOGMuMS0xLjEgLjEtMiAuMi0yLjhsLjEtMS4xIDAtLjUgMC0uMiAwLS4xYzAgMCAwLS4xLTI5LjEtMWMwIDAgMCAwIC4xIDBsMjkuMSAuOWMuMS0zLjEgMC02LjEtLjItOS4xbDE1LjItNC4zYzkuNi0yLjcgMTUuMS0xMi43IDEyLjQtMjIuM3MtMTIuNy0xNS4xLTIyLjMtMTIuNGwtMTUuNiA0LjVjLTcuNi0xMy42LTE4LjktMjUtMzIuNi0zMi42bDQuNS0xNS42YzIuNy05LjYtMi44LTE5LjUtMTIuNC0yMi4zcy0xOS41IDIuOC0yMi4zIDEyLjRsLTQuMyAxNS4yYy0xLjItLjEtMi40LS4yLTMuNi0uMmMtMTUuNi0uNS0zMC4zIDMuMy00MyAxMC4ybC05LTljLTctNy0xOC40LTctMjUuNSAwcy03IDE4LjQgMCAyNS41bDcuMiA3LjJjLTkuMyAxMi42LTE1LjIgMjcuOC0xNi4zIDQ0LjVsLTcuMS0zYy05LjEtMy45LTE5LjcgLjMtMjMuNiA5LjVzLjMgMTkuNyA5LjUgMjMuNmw4LjYgMy43Yy02LjQgOS45LTE3LjMgMjIuNC0zNi45IDMzLjNsLTEuMy00LjRjLTIuNy05LjYtMTIuNy0xNS4xLTIyLjMtMTIuNHMtMTUuMSAxMi43LTEyLjQgMjIuM2wyLjMgOC4xYy0zLjggMS4xLTcuNyAyLjEtMTEuOSAzLjFjLTExLjYgMi43LTIyLjEgNy43LTMxLjEgMTQuNGwtNy4yLTcuMmMtNy03LTE4LjQtNy0yNS41IDBzLTcgMTguNCAwIDI1LjVsOSA5Yy03LjYgMTMuOS0xMS4zIDMwLjEtMTAuMSA0Ni42bC0xNS4yIDQuM2MtOS42IDIuNy0xNS4xIDEyLjctMTIuNCAyMi4yczEyLjcgMTUuMSAyMi4zIDEyLjRsMTUuNi00LjVjNy43IDEzLjkgMTkuMSAyNS4xIDMyLjYgMzIuNkwzMjIuNyA0ODl6TTU3NiAyNDEuNWMwIDAgMCAwIDAgMGMtMTEuNy0uNC0yNy4zLS45LTQ4LTEuNmw0OCAxLjV6TTQ0OCAzODRhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpcIl1cbn07XG5jb25zdCBmYUhhbmRMaXphcmQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1saXphcmQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYyNThcIiwgXCJNMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRsMTEyIDAgODAgMCA0Ni41IDBjMzYuOCAwIDcxLjIgMTggOTIuMSA0OC4ybDExMy41IDE2NGMxMyAxOC43IDE5LjkgNDEgMTkuOSA2My44bDAgMTIgMCAxNiAwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEzLjhMMjczLjkgMzUyIDI0MCAzNTJsLTgwIDAtNDggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OGw0OCAwIDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTgwIDBMNDggMTYwYy0yNi41IDAtNDgtMjEuNS00OC00OHpcIl1cbn07XG5jb25zdCBmYU5vdGRlZiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdub3RkZWYnLFxuICBpY29uOiBbMzg0LCA1MTIsIFtdLCBcImUxZmVcIiwgXCJNNjQgMzkwLjNMMTUzLjUgMjU2IDY0IDEyMS43bDAgMjY4LjZ6TTEwMi41IDQ0OGwxNzkuMSAwTDE5MiAzMTMuNyAxMDIuNSA0NDh6bTEyOC0xOTJMMzIwIDM5MC4zbDAtMjY4LjZMMjMwLjUgMjU2ek0yODEuNSA2NEwxMDIuNSA2NCAxOTIgMTk4LjMgMjgxLjUgNjR6TTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA0OHpcIl1cbn07XG5jb25zdCBmYURpc2Vhc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlzZWFzZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjdmYVwiLCBcIk0yMzYuNCA2MS40TDIyNyA3NS41Yy0yMS4zIDMyLTU5LjQgNDguNS05Ny4zIDQyLjFsLTU5LjYtOS45QzMzLjQgMTAxLjYgMCAxMjkuOSAuMSAxNjcuMWMwIDE1LjkgNi40IDMxLjIgMTcuNiA0Mi41bDI5LjIgMjkuMmMxMSAxMSAxNy4yIDI1LjkgMTcuMiA0MS41YzAgMTUuOC02LjQgMzAuOS0xNy43IDQyTDMzLjMgMzM1LjFDMjIuMiAzNDUuOSAxNiAzNjAuNyAxNiAzNzYuMmMwIDM2LjggMzQuMSA2NC4yIDcwLjEgNTYuMmw2Mi4zLTEzLjhjNy43LTEuNyAxNS43LTIuNiAyMy42LTIuNmwxMCAwYzI3LjIgMCA1My43IDkuMyA3NSAyNi4zTDI4Ny44IDQ2N2MxMC41IDguNCAyMy42IDEzIDM3IDEzYzMyLjcgMCA1OS4zLTI2LjUgNTkuMy01OS4zbDAtMjUuMmMwLTM0LjkgMjEuNC02Ni4yIDUzLjktNzguOGwzNi45LTE0LjNjMjIuNC04LjcgMzcuMi0zMC4zIDM3LjItNTQuM2MwLTI4LjEtMjAuMS01Mi4zLTQ3LjgtNTcuM2wtMjgtNS4xYy0zNi41LTYuNy02NS40LTM0LjUtNzMuNi03MC43bC03LjEtMzEuNUMzNDguOSA1My40IDMyMi4xIDMyIDI5MS4zIDMyYy0yMiAwLTQyLjYgMTEtNTQuOSAyOS40ek0xNjAgMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bTAgODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQnJpZWZjYXNlTWVkaWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdicmllZmNhc2UtbWVkaWNhbCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjQ2OVwiLCBcIk0xODQgNDhsMTQ0IDBjNC40IDAgOCAzLjYgOCA4bDAgNDBMMTc2IDk2bDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwTDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDE4NCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnptOTYgMTUyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhR2VuZGVybGVzcyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnZW5kZXJsZXNzJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmMjJkXCIsIFwiTTE5MiAxNDRhMTEyIDExMiAwIDEgMSAwIDIyNCAxMTIgMTEyIDAgMSAxIDAtMjI0em0wIDI4OGExNzYgMTc2IDAgMSAwIDAtMzUyIDE3NiAxNzYgMCAxIDAgMCAzNTJ6XCJdXG59O1xuY29uc3QgZmFDaGV2cm9uUmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hldnJvbi1yaWdodCcsXG4gIGljb246IFszMjAsIDUxMiwgWzkwMDJdLCBcImYwNTRcIiwgXCJNMzEwLjYgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE5MiAxOTJjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0Mi43IDI1NiA3My40IDg2LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTkyIDE5MnpcIl1cbn07XG5jb25zdCBmYVJldHdlZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmV0d2VldCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjA3OVwiLCBcIk0yNzIgNDE2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjggMzIgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXMxNi42IDE5LjggMjkuNiAxOS44bDMyIDAgMCAxMjhjMCA1MyA0MyA5NiA5NiA5NmwxMTIgMHpNMzA0IDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45cy0xNi42LTE5LjgtMjkuNi0xOS44bC0zMiAwIDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZMMzA0IDk2elwiXVxufTtcbmNvbnN0IGZhQ2FyUmVhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYXItcmVhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2FyLWFsdFwiXSwgXCJmNWRlXCIsIFwiTTE2NS40IDk2bDE4MS4yIDBjMTMuNiAwIDI1LjcgOC42IDMwLjIgMjEuNEw0MDIuOSAxOTJsLTI5My44IDAgMjYuMS03NC42YzQuNS0xMi44IDE2LjYtMjEuNCAzMC4yLTIxLjR6bS05MC42IC4zTDM5LjYgMTk2LjhDMTYuNCAyMDYuNCAwIDIyOS4zIDAgMjU2bDAgODBjMCAyMy43IDEyLjkgNDQuNCAzMiA1NS40TDMyIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDggMjU2IDAgMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNTYuNmMxOS4xLTExLjEgMzItMzEuNyAzMi01NS40bDAtODBjMC0yNi43LTE2LjQtNDkuNi0zOS42LTU5LjJMNDM3LjIgOTYuM0M0MjMuNyA1Ny44IDM4Ny40IDMyIDM0Ni42IDMyTDE2NS40IDMyYy00MC44IDAtNzcuMSAyNS44LTkwLjYgNjQuM3pNMjA4IDI3Mmw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtOTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek00OCAyODBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTM2MC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0elwiXVxufTtcbmNvbnN0IGZhQ2FyQWx0ID0gZmFDYXJSZWFyO1xuY29uc3QgZmFQdW1wU29hcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwdW1wLXNvYXAnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImUwNmJcIiwgXCJNMTI4IDMybDAgOTYgMTI4IDAgMC0zMiA2MC4xIDBjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2wzMy45IDMzLjljMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzNzIuNyA1NS40Yy0xNS0xNS0zNS40LTIzLjQtNTYuNi0yMy40TDI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTExNy40IDE2MGMtMzMuMyAwLTYxIDI1LjUtNjMuOCA1OC43TDM1IDQ0Mi43QzMxLjkgNDgwIDYxLjMgNTEyIDk4LjggNTEybDE4Ni40IDBjMzcuNCAwIDY2LjktMzIgNjMuOC02OS4zbC0xOC43LTIyNGMtMi44LTMzLjItMzAuNS01OC43LTYzLjgtNTguN2wtMTQ5LjEgMHpNMjU2IDM2MGMwIDM1LjMtMjguNyA1Ni02NCA1NnMtNjQtMjAuNy02NC01NmMwLTMyLjUgMzctODAuOSA1MC45LTk3LjljMy4yLTMuOSA4LjEtNi4xIDEzLjEtNi4xczkuOSAyLjIgMTMuMSA2LjFDMjE5IDI3OS4xIDI1NiAzMjcuNSAyNTYgMzYwelwiXVxufTtcbmNvbnN0IGZhVmlkZW9TbGFzaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2aWRlby1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjRlMlwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43bC04Ni40LTY3LjcgMTMuOCA5LjJjOS44IDYuNSAyMi40IDcuMiAzMi45IDEuNnMxNi45LTE2LjQgMTYuOS0yOC4ybDAtMjU2YzAtMTEuOC02LjUtMjIuNi0xNi45LTI4LjJzLTIzLTUtMzIuOSAxLjZsLTk2IDY0TDQ0OCAxNzQuOWwwIDE3LjEgMCAxMjggMCA1LjgtMzItMjUuMUw0MTYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDExMy45IDY0IDM4LjggNS4xek00MDcgNDE2LjdMMzIuMyAxMjEuNWMtLjIgMi4xLS4zIDQuMy0uMyA2LjVsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMjMuNCAwIDQzLjktMTIuNiA1NS0zMS4zelwiXVxufTtcbmNvbnN0IGZhQmF0dGVyeVF1YXJ0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmF0dGVyeS1xdWFydGVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJiYXR0ZXJ5LTJcIl0sIFwiZjI0M1wiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2MGMwIDguOC03LjIgMTYtMTYgMTZMODAgMzUyYy04LjggMC0xNi03LjItMTYtMTZsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZMMCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBsMzg0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMODAgOTZ6bTExMiA5NmwtOTYgMCAwIDEyOCA5NiAwIDAtMTI4elwiXVxufTtcbmNvbnN0IGZhQmF0dGVyeTIgPSBmYUJhdHRlcnlRdWFydGVyO1xuY29uc3QgZmFSYWRpbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyYWRpbycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI1MV0sIFwiZjhkN1wiLCBcIk00OTQuOCA0N2MxMi43LTMuNyAyMC0xNy4xIDE2LjMtMjkuOFM0OTQtMi44IDQ4MS4yIDFMNTEuNyAxMjYuOWMtOS40IDIuNy0xNy45IDcuMy0yNS4xIDEzLjJDMTAuNSAxNTEuNyAwIDE3MC42IDAgMTkybDAgNEwwIDMwNCAwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtMjI5LjUgMEw0OTQuOCA0N3pNMzY4IDI0MGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNODAgMjU2YzAtOC44IDcuMi0xNiAxNi0xNmw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC05NiAwYy04LjggMC0xNi03LjItMTYtMTZ6TTY0IDMyMGMwLTguOCA3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgMzM2Yy04LjggMC0xNi03LjItMTYtMTZ6bTE2IDY0YzAtOC44IDcuMi0xNiAxNi0xNmw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC05NiAwYy04LjggMC0xNi03LjItMTYtMTZ6XCJdXG59O1xuY29uc3QgZmFCYWJ5Q2FycmlhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFieS1jYXJyaWFnZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiY2FycmlhZ2UtYmFieVwiXSwgXCJmNzdkXCIsIFwiTTI1NiAxOTJMLjEgMTkyQzIuNyAxMTcuOSA0MS4zIDUyLjkgOTkgMTQuMWMxMy4zLTguOSAzMC44LTQuMyAzOS45IDguOEwyNTYgMTkyem0xMjgtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDY0YzAgMjUuMi01LjggNTAuMi0xNyA3My41cy0yNy44IDQ0LjUtNDguNiA2Mi4zcy00NS41IDMyLTcyLjcgNDEuNlMyNTMuNCA0MTYgMjI0IDQxNnMtNTguNS01LTg1LjctMTQuNnMtNTEuOS0yMy44LTcyLjctNDEuNnMtMzcuMy0zOS00OC42LTYyLjNTMCAyNDkuMiAwIDIyNGwyMjQgMCAxNjAgMCAwLTY0ek04MCA0MTZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0yNDAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpcIl1cbn07XG5jb25zdCBmYUNhcnJpYWdlQmFieSA9IGZhQmFieUNhcnJpYWdlO1xuY29uc3QgZmFUcmFmZmljTGlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhZmZpYy1saWdodCcsXG4gIGljb246IFszMjAsIDUxMiwgWzEyODY3OF0sIFwiZjYzN1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM1MmMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MHMxNjAtNzEuNiAxNjAtMTYwbDAtMjg4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6bTk2IDQxNmE0OCA0OCAwIDEgMSAwLTk2IDQ4IDQ4IDAgMSAxIDAgOTZ6bTQ4LTE3NmE0OCA0OCAwIDEgMSAtOTYgMCA0OCA0OCAwIDEgMSA5NiAwem0tNDgtODBhNDggNDggMCAxIDEgMC05NiA0OCA0OCAwIDEgMSAwIDk2elwiXVxufTtcbmNvbnN0IGZhVGhlcm1vbWV0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGhlcm1vbWV0ZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0OTFcIiwgXCJNOTYgMzgyLjFsMC04OC44YzAtMTQuOSA1LjktMjkuMSAxNi40LTM5LjZsMjcuMy0yNy4zIDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDEuNC00MS40IDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDEuNC00MS40IDU3IDU3YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTctNTcgNDUuNS00NS41QzM1NS4yIDEwLjkgMzgxLjQgMCA0MDguOCAwQzQ2NS44IDAgNTEyIDQ2LjIgNTEyIDEwMy4yYzAgMjcuNC0xMC45IDUzLjYtMzAuMiA3M0wyNTguMyAzOTkuNmMtMTAuNSAxMC41LTI0LjcgMTYuNC0zOS42IDE2LjRsLTg4LjggMEw0MSA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsODktODl6XCJdXG59O1xuY29uc3QgZmFWckNhcmRib2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2ci1jYXJkYm9hcmQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY3MjlcIiwgXCJNNTc2IDY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDEyMC40IDBjMjQuMiAwIDQ2LjQtMTMuNyA1Ny4yLTM1LjRsMzItNjRjOC44LTE3LjUgMjYuNy0yOC42IDQ2LjMtMjguNnMzNy41IDExLjEgNDYuMyAyOC42bDMyIDY0YzEwLjggMjEuNyAzMyAzNS40IDU3LjIgMzUuNEw1NzYgNDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0ek05NiAyNDBhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgOTYgMjQwem0zODQtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFIYW5kTWlkZGxlRmluZ2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtbWlkZGxlLWZpbmdlcicsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODQwNV0sIFwiZjgwNlwiLCBcIk0yMzIgMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCAxNjQuMmMtOC41LTcuNi0xOS43LTEyLjItMzItMTIuMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA3IDAgNzNjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC01NS43Yy0yIDEuNC0zLjkgMy01LjggNC41TDU1IDI4NC44QzQwLjQgMjk3IDMyIDMxNSAzMiAzMzRMMzIgMzcyYzAgMzggMTYuOSA3NCA0Ni4xIDk4LjNsNS40IDQuNWMyOC44IDI0IDY1IDM3LjEgMTAyLjQgMzcuMUwzMDQgNTEyYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4bDAtNjQgMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OGMtMTIuNCAwLTIzLjYgNC43LTMyLjEgMTIuM0MzNTAgMjI3LjUgMzI5LjMgMjA4IDMwNCAyMDhjLTEyLjMgMC0yMy41IDQuNi0zMiAxMi4yTDI3MiA0MGMwLTIyLjEtMTcuOS00MC00MC00MHpcIl1cbn07XG5jb25zdCBmYVBlcmNlbnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyY2VudCcsXG4gIGljb246IFszODQsIDUxMiwgWzYyMTAxLCA2Mjc4NSwgXCJwZXJjZW50YWdlXCJdLCBcIjI1XCIsIFwiTTM3NC42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0zMjAgMzIwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDMyMC0zMjB6TTEyOCAxMjhBNjQgNjQgMCAxIDAgMCAxMjhhNjQgNjQgMCAxIDAgMTI4IDB6TTM4NCAzODRhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwelwiXVxufTtcbmNvbnN0IGZhUGVyY2VudGFnZSA9IGZhUGVyY2VudDtcbmNvbnN0IGZhVHJ1Y2tNb3ZpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJ1Y2stbW92aW5nJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNGRmXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzMDRsMCA4MCAwIDE2YzAgNDQuMiAzNS44IDgwIDgwIDgwYzI2LjIgMCA0OS40LTEyLjYgNjQtMzJjMTQuNiAxOS40IDM3LjggMzIgNjQgMzJjNDQuMiAwIDgwLTM1LjggODAtODBjMC01LjUtLjYtMTAuOC0xLjYtMTZMNDE2IDM4NGwzMy42IDBjLTEgNS4yLTEuNiAxMC41LTEuNiAxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtNS41LS42LTEwLjgtMS42LTE2bDEuNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjQgMC0xNiAwLTEwLjNjMC05LjItMy4yLTE4LjItOS0yNS4zbC01OC44LTcxLjhjLTEwLjYtMTMtMjYuNS0yMC41LTQzLjMtMjAuNUw0ODAgMTQ0bDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTU4NSAyNTZsLTEwNSAwIDAtNjQgNDguOCAwYzIuNCAwIDQuNyAxLjEgNi4yIDIuOUw1ODUgMjU2ek01MjggMzY4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTc2IDQwMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek04MCAzNjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhR2xhc3NXYXRlckRyb3BsZXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ2xhc3Mtd2F0ZXItZHJvcGxldCcsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTRmNVwiLCBcIk0zMiAwQzIzLjEgMCAxNC42IDMuNyA4LjYgMTAuMlMtLjYgMjUuNCAuMSAzNC4zTDI4LjkgNDM3LjdjMyA0MS45IDM3LjggNzQuMyA3OS44IDc0LjNsMTY2LjYgMGM0MiAwIDc2LjgtMzIuNCA3OS44LTc0LjNMMzgzLjkgMzQuM2MuNi04LjktMi40LTE3LjYtOC41LTI0LjFTMzYwLjkgMCAzNTIgMEwzMiAwek04MyAyOTcuNUw2Ni40IDY0bDI1MS4zIDBMMzAxIDI5Ny41IDI4OCAzMDRjLTIwLjEgMTAuMS00My45IDEwLjEtNjQgMHMtNDMuOS0xMC4xLTY0IDBzLTQzLjkgMTAuMS02NCAwbC0xMy02LjV6TTI1NiAxOTZjMC0yNC0zMy43LTcwLjEtNTIuMi05My41Yy02LjEtNy43LTE3LjUtNy43LTIzLjYgMEMxNjEuNyAxMjUuOSAxMjggMTcyIDEyOCAxOTZjMCAzMy4xIDI4LjcgNjAgNjQgNjBzNjQtMjYuOSA2NC02MHpcIl1cbn07XG5jb25zdCBmYURpc3BsYXkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlzcGxheScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTE2M1wiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNzYgMC0xMC43IDMyTDE2MCA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY5LjMgMEwzMzYgNDE2bDE3NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTUxMiA2NGwwIDI4OEw2NCAzNTIgNjQgNjRsNDQ4IDB6XCJdXG59O1xuY29uc3QgZmFGYWNlU21pbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zbWlsZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU3OCwgXCJzbWlsZVwiXSwgXCJmMTE4XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuMSAzMjUuNUMxODIgMzQ2LjIgMjEyLjYgMzY4IDI1NiAzNjhzNzQtMjEuOCA5MS45LTQyLjVjNS44LTYuNyAxNS45LTcuNCAyMi42LTEuNnM3LjQgMTUuOSAxLjYgMjIuNkMzNDkuOCAzNzIuMSAzMTEuMSA0MDAgMjU2IDQwMHMtOTMuOC0yNy45LTExNi4xLTUzLjVjLTUuOC02LjctNS4xLTE2LjggMS42LTIyLjZzMTYuOC01LjEgMjIuNiAxLjZ6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhU21pbGUgPSBmYUZhY2VTbWlsZTtcbmNvbnN0IGZhVGh1bWJ0YWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1idGFjaycsXG4gIGljb246IFszODQsIDUxMiwgWzEyODIwNCwgMTI4MzkyLCBcInRodW1iLXRhY2tcIl0sIFwiZjA4ZFwiLCBcIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwTDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yOS41IDAgMTEuNCAxNDguMmMzNi43IDE5LjkgNjUuNyA1My4yIDc5LjUgOTQuN2wxIDNjMy4zIDkuOCAxLjYgMjAuNS00LjQgMjguOHMtMTUuNyAxMy4zLTI2IDEzLjNMMzIgMzUyYy0xMC4zIDAtMTkuOS00LjktMjYtMTMuM3MtNy43LTE5LjEtNC40LTI4LjhsMS0zYzEzLjgtNDEuNSA0Mi44LTc0LjggNzkuNS05NC43TDkzLjUgNjQgNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyek0xNjAgMzg0bDY0IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2elwiXVxufTtcbmNvbnN0IGZhVGh1bWJUYWNrID0gZmFUaHVtYnRhY2s7XG5jb25zdCBmYVRyb3BoeSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cm9waHknLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjc5NDJdLCBcImYwOTFcIiwgXCJNNDAwIDBMMTc2IDBjLTI2LjUgMC00OC4xIDIxLjgtNDcuMSA0OC4yYy4yIDUuMyAuNCAxMC42IC43IDE1LjhMMjQgNjRDMTAuNyA2NCAwIDc0LjcgMCA4OGMwIDkyLjYgMzMuNSAxNTcgNzguNSAyMDAuN2M0NC4zIDQzLjEgOTguMyA2NC44IDEzOC4xIDc1LjhjMjMuNCA2LjUgMzkuNCAyNiAzOS40IDQ1LjZjMCAyMC45LTE3IDM3LjktMzcuOSAzNy45TDE5MiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI2LjEgMEMzMzcgNDQ4IDMyMCA0MzEgMzIwIDQxMC4xYzAtMTkuNiAxNS45LTM5LjIgMzkuNC00NS42YzM5LjktMTEgOTMuOS0zMi43IDEzOC4yLTc1LjhDNTQyLjUgMjQ1IDU3NiAxODAuNiA1NzYgODhjMC0xMy4zLTEwLjctMjQtMjQtMjRMNDQ2LjQgNjRjLjMtNS4yIC41LTEwLjQgLjctMTUuOEM0NDguMSAyMS44IDQyNi41IDAgNDAwIDB6TTQ4LjkgMTEybDg0LjQgMGM5LjEgOTAuMSAyOS4yIDE1MC4zIDUxLjkgMTkwLjZjLTI0LjktMTEtNTAuOC0yNi41LTczLjItNDguM2MtMzItMzEuMS01OC03Ni02My0xNDIuM3pNNDY0LjEgMjU0LjNjLTIyLjQgMjEuOC00OC4zIDM3LjMtNzMuMiA0OC4zYzIyLjctNDAuMyA0Mi44LTEwMC41IDUxLjktMTkwLjZsODQuNCAwYy01LjEgNjYuMy0zMS4xIDExMS4yLTYzIDE0Mi4zelwiXVxufTtcbmNvbnN0IGZhUGVyc29uUHJheWluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tcHJheWluZycsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODcyMCwgXCJwcmF5XCJdLCBcImY2ODNcIiwgXCJNMzUyIDY0QTY0IDY0IDAgMSAwIDIyNCA2NGE2NCA2NCAwIDEgMCAxMjggMHpNMjMyLjcgMjY0bDIyLjkgMzEuNWM2LjUgOC45IDE2LjMgMTQuNyAyNy4yIDE2LjFzMjEuOS0xLjcgMzAuNC04LjdsODgtNzJjMTcuMS0xNCAxOS42LTM5LjIgNS42LTU2LjNzLTM5LjItMTkuNi01Ni4zLTUuNmwtNTUuMiA0NS4yLTI2LjItMzZDMjUzLjYgMTU2LjcgMjI4LjYgMTQ0IDIwMiAxNDRjLTMwLjkgMC01OS4yIDE3LjEtNzMuNiA0NC40TDc5LjggMjgwLjljLTIwLjIgMzguNS05LjQgODUuOSAyNS42IDExMS44TDE1OC42IDQzMiA3MiA0MzJjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMjA4IDBjMTcuMyAwIDMyLjYtMTEuMSAzOC0yNy41cy0uMy0zNC40LTE0LjItNDQuN0wxODcuNyAzNTRsNDUtOTB6XCJdXG59O1xuY29uc3QgZmFQcmF5ID0gZmFQZXJzb25QcmF5aW5nO1xuY29uc3QgZmFIYW1tZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFtbWVyJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4Mjk2XSwgXCJmNmUzXCIsIFwiTTQxMy41IDIzNy41Yy0yOC4yIDQuOC01OC4yLTMuNi04MC0yNS40bC0zOC4xLTM4LjFDMjgwLjQgMTU5IDI3MiAxMzguOCAyNzIgMTE3LjZsMC0xMi4xTDE5Mi4zIDYyYy01LjMtMi45LTguNi04LjYtOC4zLTE0LjdzMy45LTExLjUgOS41LTE0bDQ3LjItMjFDMjU5LjEgNC4yIDI3OSAwIDI5OS4yIDBsMTguMSAwYzM2LjcgMCA3MiAxNCA5OC43IDM5LjFsNDQuNiA0MmMyNC4yIDIyLjggMzMuMiA1NS43IDI2LjYgODZMNTAzIDE4M2w4LThjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjQgMjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg4IDg4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMjQtMjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDgtOC0xNy41LTE3LjV6TTI3LjQgMzc3LjFMMjYwLjkgMTgyLjZjMy41IDQuOSA3LjUgOS42IDExLjggMTRsMzguMSAzOC4xYzYgNiAxMi40IDExLjIgMTkuMiAxNS43TDEzNC45IDQ4NC42Yy0xNC41IDE3LjQtMzYgMjcuNC01OC42IDI3LjRDMzQuMSA1MTIgMCA0NzcuOCAwIDQzNS43YzAtMjIuNiAxMC4xLTQ0LjEgMjcuNC01OC42elwiXVxufTtcbmNvbnN0IGZhSGFuZFBlYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtcGVhY2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5OTk2XSwgXCJmMjViXCIsIFwiTTIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjA4LTY0IDAgMC0yMDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDE2MGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTY0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek05My4zIDUxLjJMMTc1LjkgMjQwbC02OS45IDBMMzQuNyA3Ni44QzI3LjYgNjAuNiAzNSA0MS44IDUxLjIgMzQuN3MzNS4xIC4zIDQyLjEgMTYuNXptMjcgMjIxLjNsLS4yLS41IDY5LjkgMCAyNi4xIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MmwwLS42YzkuNCA1LjQgMjAuMyA4LjYgMzIgOC42YzEzLjIgMCAyNS40LTQgMzUuNi0xMC44YzguNyAyNC45IDMyLjUgNDIuOCA2MC40IDQyLjhjMTEuNyAwIDIyLjYtMy4xIDMyLTguNmwwIDguNmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MGwtNjEuNyAwYy00Mi40IDAtODMuMS0xNi45LTExMy4xLTQ2LjlsLTExLjYtMTEuNkM3Ny41IDQyOS41IDY0IDM5Ni45IDY0IDM2M2wwLTI3YzAtMzIuNyAyNC42LTU5LjcgNTYuMy02My41elwiXVxufTtcbmNvbnN0IGZhUm90YXRlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JvdGF0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODI2MCwgXCJzeW5jLWFsdFwiXSwgXCJmMmYxXCIsIFwiTTE0Mi45IDE0Mi45Yy0xNy41IDE3LjUtMzAuMSAzOC0zNy44IDU5LjhjLTUuOSAxNi43LTI0LjIgMjUuNC00MC44IDE5LjVzLTI1LjQtMjQuMi0xOS41LTQwLjhDNTUuNiAxNTAuNyA3My4yIDEyMiA5Ny42IDk3LjZjODcuMi04Ny4yIDIyOC4zLTg3LjUgMzE1LjgtMUw0NTUgNTVjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4ybDAgMTI4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC04LjQgMGMwIDAgMCAwIDAgMEwzNDQgMjI0Yy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhzLTEuNy0xOS4zIDUuMi0yNi4ybDQxLjEtNDEuMWMtNjIuNi02MS41LTE2My4xLTYxLjItMjI1LjMgMXpNMTYgMzEyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDcuNiAwIC43IDBMMTY4IDI4OGM5LjcgMCAxOC41IDUuOCAyMi4yIDE0LjhzMS43IDE5LjMtNS4yIDI2LjJsLTQxLjEgNDEuMWM2Mi42IDYxLjUgMTYzLjEgNjEuMiAyMjUuMy0xYzE3LjUtMTcuNSAzMC4xLTM4IDM3LjgtNTkuOGM1LjktMTYuNyAyNC4yLTI1LjQgNDAuOC0xOS41czI1LjQgMjQuMiAxOS41IDQwLjhjLTEwLjggMzAuNi0yOC40IDU5LjMtNTIuOSA4My44Yy04Ny4yIDg3LjItMjI4LjMgODcuNS0zMTUuOCAxTDU3IDQ1N2MtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMlMxNiA0NDkuNyAxNiA0NDBsMC0xMTkuNiAwLS43IDAtNy42elwiXVxufTtcbmNvbnN0IGZhU3luY0FsdCA9IGZhUm90YXRlO1xuY29uc3QgZmFTcGlubmVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NwaW5uZXInLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxMTBcIiwgXCJNMzA0IDQ4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTAgNDE2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQ4IDMwNGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTQ2NC00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xNDIuOSA0MzdBNDggNDggMCAxIDAgNzUgMzY5LjEgNDggNDggMCAxIDAgMTQyLjkgNDM3em0wLTI5NC4yQTQ4IDQ4IDAgMSAwIDc1IDc1YTQ4IDQ4IDAgMSAwIDY3LjkgNjcuOXpNMzY5LjEgNDM3QTQ4IDQ4IDAgMSAwIDQzNyAzNjkuMSA0OCA0OCAwIDEgMCAzNjkuMSA0Mzd6XCJdXG59O1xuY29uc3QgZmFSb2JvdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyb2JvdCcsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTMwMl0sIFwiZjU0NFwiLCBcIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0IDEyMCAwYzM5LjggMCA3MiAzMi4yIDcyIDcybDAgMjcyYzAgMzkuOC0zMi4yIDcyLTcyIDcybC0zMDQgMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC0yNzJjMC0zOS44IDMyLjItNzIgNzItNzJsMTIwIDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjA4IDM4NGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwem05NiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDB6bTk2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMzIgMHpNMjY0IDI1NmE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwem0xNTIgNDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek00OCAyMjRsMTYgMCAwIDE5Mi0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em01NDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNiAwIDAtMTkyIDE2IDB6XCJdXG59O1xuY29uc3QgZmFQZWFjZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZWFjZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzk3NzRdLCBcImY2N2NcIiwgXCJNMjI0IDQ0NS4zbDAtMTIxLjgtOTQuMyA3Ny4xYzI2LjEgMjIuOCA1OC41IDM4LjcgOTQuMyA0NC43ek04OS4yIDM1MS4xTDIyNCAyNDAuOGwwLTE3NC4yQzEzMy4yIDgxLjkgNjQgMTYwLjkgNjQgMjU2YzAgMzQuNiA5LjIgNjcuMSAyNS4yIDk1LjF6bTI5My4xIDQ5LjVMMjg4IDMyMy41bDAgMTIxLjhjMzUuNy02IDY4LjEtMjEuOSA5NC4zLTQ0Ljd6bTQwLjYtNDkuNWMxNi0yOCAyNS4yLTYwLjUgMjUuMi05NS4xYzAtOTUuMS02OS4yLTE3NC4xLTE2MC0xODkuM2wwIDE3NC4yTDQyMi44IDM1MS4xek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6XCJdXG59O1xuY29uc3QgZmFHZWFycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnZWFycycsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY29nc1wiXSwgXCJmMDg1XCIsIFwiTTMwOC41IDEzNS4zYzcuMS02LjMgOS45LTE2LjIgNi4yLTI1Yy0yLjMtNS4zLTQuOC0xMC41LTcuNi0xNS41TDMwNCA4OS40Yy0zLTUtNi4zLTkuOS05LjgtMTQuNmMtNS43LTcuNi0xNS43LTEwLjEtMjQuNy03LjFsLTI4LjIgOS4zYy0xMC43LTguOC0yMy0xNi0zNi4yLTIwLjlMMTk5IDI3LjFjLTEuOS05LjMtOS4xLTE2LjctMTguNS0xNy44QzE3My45IDguNCAxNjcuMiA4IDE2MC40IDhsLS43IDBjLTYuOCAwLTEzLjUgLjQtMjAuMSAxLjJjLTkuNCAxLjEtMTYuNiA4LjYtMTguNSAxNy44TDExNSA1Ni4xYy0xMy4zIDUtMjUuNSAxMi4xLTM2LjIgMjAuOUw1MC41IDY3LjhjLTktMy0xOS0uNS0yNC43IDcuMWMtMy41IDQuNy02LjggOS42LTkuOSAxNC42bC0zIDUuM2MtMi44IDUtNS4zIDEwLjItNy42IDE1LjZjLTMuNyA4LjctLjkgMTguNiA2LjIgMjVsMjIuMiAxOS44QzMyLjYgMTYxLjkgMzIgMTY4LjkgMzIgMTc2cy42IDE0LjEgMS43IDIwLjlMMTEuNSAyMTYuN2MtNy4xIDYuMy05LjkgMTYuMi02LjIgMjVjMi4zIDUuMyA0LjggMTAuNSA3LjYgMTUuNmwzIDUuMmMzIDUuMSA2LjMgOS45IDkuOSAxNC42YzUuNyA3LjYgMTUuNyAxMC4xIDI0LjcgNy4xbDI4LjItOS4zYzEwLjcgOC44IDIzIDE2IDM2LjIgMjAuOWw2LjEgMjkuMWMxLjkgOS4zIDkuMSAxNi43IDE4LjUgMTcuOGM2LjcgLjggMTMuNSAxLjIgMjAuNCAxLjJzMTMuNy0uNCAyMC40LTEuMmM5LjQtMS4xIDE2LjYtOC42IDE4LjUtMTcuOGw2LjEtMjkuMWMxMy4zLTUgMjUuNS0xMi4xIDM2LjItMjAuOWwyOC4yIDkuM2M5IDMgMTkgLjUgMjQuNy03LjFjMy41LTQuNyA2LjgtOS41IDkuOC0xNC42bDMuMS01LjRjMi44LTUgNS4zLTEwLjIgNy42LTE1LjVjMy43LTguNyAuOS0xOC42LTYuMi0yNWwtMjIuMi0xOS44YzEuMS02LjggMS43LTEzLjggMS43LTIwLjlzLS42LTE0LjEtMS43LTIwLjlsMjIuMi0xOS44ek0xMTIgMTc2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTUwNC43IDUwMC41YzYuMyA3LjEgMTYuMiA5LjkgMjUgNi4yYzUuMy0yLjMgMTAuNS00LjggMTUuNS03LjZsNS40LTMuMWM1LTMgOS45LTYuMyAxNC42LTkuOGM3LjYtNS43IDEwLjEtMTUuNyA3LjEtMjQuN2wtOS4zLTI4LjJjOC44LTEwLjcgMTYtMjMgMjAuOS0zNi4ybDI5LjEtNi4xYzkuMy0xLjkgMTYuNy05LjEgMTcuOC0xOC41Yy44LTYuNyAxLjItMTMuNSAxLjItMjAuNHMtLjQtMTMuNy0xLjItMjAuNGMtMS4xLTkuNC04LjYtMTYuNi0xNy44LTE4LjVMNTgzLjkgMzA3Yy01LTEzLjMtMTIuMS0yNS41LTIwLjktMzYuMmw5LjMtMjguMmMzLTkgLjUtMTktNy4xLTI0LjdjLTQuNy0zLjUtOS42LTYuOC0xNC42LTkuOWwtNS4zLTNjLTUtMi44LTEwLjItNS4zLTE1LjYtNy42Yy04LjctMy43LTE4LjYtLjktMjUgNi4ybC0xOS44IDIyLjJjLTYuOC0xLjEtMTMuOC0xLjctMjAuOS0xLjdzLTE0LjEgLjYtMjAuOSAxLjdsLTE5LjgtMjIuMmMtNi4zLTcuMS0xNi4yLTkuOS0yNS02LjJjLTUuMyAyLjMtMTAuNSA0LjgtMTUuNiA3LjZsLTUuMiAzYy01LjEgMy05LjkgNi4zLTE0LjYgOS45Yy03LjYgNS43LTEwLjEgMTUuNy03LjEgMjQuN2w5LjMgMjguMmMtOC44IDEwLjctMTYgMjMtMjAuOSAzNi4yTDMxNS4xIDMxM2MtOS4zIDEuOS0xNi43IDkuMS0xNy44IDE4LjVjLS44IDYuNy0xLjIgMTMuNS0xLjIgMjAuNHMuNCAxMy43IDEuMiAyMC40YzEuMSA5LjQgOC42IDE2LjYgMTcuOCAxOC41bDI5LjEgNi4xYzUgMTMuMyAxMi4xIDI1LjUgMjAuOSAzNi4ybC05LjMgMjguMmMtMyA5LS41IDE5IDcuMSAyNC43YzQuNyAzLjUgOS41IDYuOCAxNC42IDkuOGw1LjQgMy4xYzUgMi44IDEwLjIgNS4zIDE1LjUgNy42YzguNyAzLjcgMTguNiAuOSAyNS02LjJsMTkuOC0yMi4yYzYuOCAxLjEgMTMuOCAxLjcgMjAuOSAxLjdzMTQuMS0uNiAyMC45LTEuN2wxOS44IDIyLjJ6TTQ2NCAzMDRhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2elwiXVxufTtcbmNvbnN0IGZhQ29ncyA9IGZhR2VhcnM7XG5jb25zdCBmYVdhcmVob3VzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3YXJlaG91c2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0OTRcIiwgXCJNMCA0ODhMMCAxNzEuM2MwLTI2LjIgMTUuOS00OS43IDQwLjItNTkuNEwzMDguMSA0LjhjNy42LTMuMSAxNi4xLTMuMSAyMy44IDBMNTk5LjggMTExLjljMjQuMyA5LjcgNDAuMiAzMy4zIDQwLjIgNTkuNEw2NDAgNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI2NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzg0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjY0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptNDg4IDI0bC0zMzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC01NiAzODQgMCAwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0ek0xMjggNDAwbDAtNjQgMzg0IDAgMCA2NC0zODQgMHptMC05NmwwLTgwIDM4NCAwIDAgODAtMzg0IDB6XCJdXG59O1xuY29uc3QgZmFBcnJvd1VwUmlnaHREb3RzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Fycm93LXVwLXJpZ2h0LWRvdHMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YjdcIiwgXCJNMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTAuNyAwTDkuNCAyNjUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyNTYgMTA5LjNsMCA1MC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJMMTYwIDB6TTU3NiA4MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NDggMjA4YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTQwMCAzODRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em00OCA4MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0xMjggMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0yNzIgMzg0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDggODBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTQ0IDUxMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTU3NiAzMzZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHptLTQ4LTgwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpcIl1cbn07XG5jb25zdCBmYVNwbG90Y2ggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3Bsb3RjaCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjViY1wiLCBcIk0yMDguNSA2Mi4zbDI4LjEtMzYuOUMyNDguOCA5LjQgMjY3LjggMCAyODggMGMyOC41IDAgNTMuNiAxOC43IDYxLjggNDZsMTcuOCA1OS40YzEwLjMgMzQuNCAzNi4xIDYyIDY5LjggNzQuNmwzOS44IDE0LjljMjAuOSA3LjkgMzQuOCAyNy45IDM0LjggNTAuMmMwIDE2LjktNy45IDMyLjgtMjEuNSA0Mi45bC02Ny4zIDUwLjVjLTI0LjMgMTguMi0zNy4yIDQ3LjktMzMuOCA3OC4xbDIuNSAyMi43YzQuMyAzOC43LTI2IDcyLjYtNjUgNzIuNmMtMTQuOCAwLTI5LjMtNS4xLTQwLjgtMTQuM2wtNTUuNC00NC4zYy00LjUtMy42LTkuMy02LjctMTQuNS05LjJjLTE1LjgtNy45LTMzLjctMTAuNC01MS03LjNMODIuNCA0NTEuOUM0Ny44IDQ1OC4yIDE2IDQzMS42IDE2IDM5Ni41YzAtMTMuMiA0LjctMjYgMTMuMS0zNi4ybDExLjItMTMuNGMxNC42LTE3LjQgMjIuNi0zOS40IDIyLjYtNjIuMWMwLTE4LjgtNS41LTM3LjItMTUuOC01M0w4LjggMTczLjVDMy4xIDE2NC43IDAgMTU0LjQgMCAxNDMuOWMwLTMzLjQgMzAuMS01OC44IDYzLTUzLjJsNTEuMyA4LjdjMzUuOSA2LjEgNzIuMi04LjIgOTQuMi0zNy4xelwiXVxufTtcbmNvbnN0IGZhRmFjZUdyaW5IZWFydHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1ncmluLWhlYXJ0cycsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODUyNSwgXCJncmluLWhlYXJ0c1wiXSwgXCJmNTg0XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0zODguMSAzMTIuOGMxMi4zLTMuOCAyNC4zIDYuOSAxOS4zIDE4LjdDMzgyLjQgMzkwLjYgMzI0LjIgNDMyIDI1Ni4zIDQzMnMtMTI2LjItNDEuNC0xNTEuMS0xMDAuNWMtNS0xMS44IDctMjIuNSAxOS4zLTE4LjdjMzkuNyAxMi4yIDg0LjUgMTkgMTMxLjggMTlzOTIuMS02LjggMTMxLjgtMTl6TTE5OS4zIDEyOS4xYzE3LjggNC44IDI4LjQgMjMuMSAyMy42IDQwLjhsLTE3LjQgNjVjLTIuMyA4LjUtMTEuMSAxMy42LTE5LjYgMTEuM2wtNjUuMS0xNy40Yy0xNy44LTQuOC0yOC40LTIzLjEtMjMuNi00MC44czIzLjEtMjguNCA0MC44LTIzLjZsMTYuMSA0LjMgNC4zLTE2LjFjNC44LTE3LjggMjMuMS0yOC40IDQwLjgtMjMuNnptMTU0LjMgMjMuNmw0LjMgMTYuMSAxNi4xLTQuM2MxNy44LTQuOCAzNi4xIDUuOCA0MC44IDIzLjZzLTUuOCAzNi4xLTIzLjYgNDAuOGwtNjUuMSAxNy40Yy04LjUgMi4zLTE3LjMtMi44LTE5LjYtMTEuM2wtMTcuNC02NWMtNC44LTE3LjggNS44LTM2LjEgMjMuNi00MC44czM2LjEgNS44IDQwLjkgMjMuNnpcIl1cbn07XG5jb25zdCBmYUdyaW5IZWFydHMgPSBmYUZhY2VHcmluSGVhcnRzO1xuY29uc3QgZmFEaWNlRm91ciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkaWNlLWZvdXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5ODU5XSwgXCJmNTI0XCIsIFwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNjAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTM1MiAxNjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFTaW1DYXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NpbS1jYXJkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmN2M0XCIsIFwiTTY0IDBMMjQyLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyA5NmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0QzAgMjguNyAyOC43IDAgNjQgMHpNOTYgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyIDY0IDAgMC02NC0zMiAwek02NCAzNTJsODAgMCA5NiAwIDgwIDAgMC02NC04MCAwLTk2IDAtODAgMCAwIDY0ek0zMjAgMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwIDAgNjQgNjQgMCAwLTMyek0xNjAgMTkybDAgNjQgNjQgMCAwLTY0LTY0IDB6TTI4OCA0NDhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMi02NCAwIDAgNjQgMzIgMHpNMTYwIDM4NGwwIDY0IDY0IDAgMC02NC02NCAwek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMCAwLTY0LTY0IDAgMCAzMnpcIl1cbn07XG5jb25zdCBmYVRyYW5zZ2VuZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyYW5zZ2VuZGVyJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg5NSwgXCJ0cmFuc2dlbmRlci1hbHRcIl0sIFwiZjIyNVwiLCBcIk0xMTIgMGM2LjUgMCAxMi4zIDMuOSAxNC44IDkuOXMxLjEgMTIuOS0zLjUgMTcuNGwtMzEgMzFMMTEyIDc4LjFsNy03YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNyA3IDE1LjIgMTUuMkMxODcuNyAxMDcuNiAyMjAuNSA5NiAyNTYgOTZzNjguMyAxMS42IDk0LjkgMzEuMmw2OC44LTY4LjgtMzEtMzFjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjRzOC4zLTkuOSAxNC44LTkuOWw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDk2YzAgNi41LTMuOSAxMi4zLTkuOSAxNC44cy0xMi45IDEuMS0xNy40LTMuNWwtMzEtMzEtNjguOCA2OC44QzQwNC40IDE4Ny43IDQxNiAyMjAuNSA0MTYgMjU2YzAgODAuMi01OSAxNDYuNi0xMzYgMTU4LjJsMCAxNy44IDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDAgMC0xNy44QzE1NSA0MDIuNiA5NiAzMzYuMiA5NiAyNTZjMC0zNS41IDExLjYtNjguMyAzMS4yLTk0LjlMMTEyIDE0NS45bC03IDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNy03TDU4LjMgOTIuM2wtMzEgMzFjLTQuNiA0LjYtMTEuNSA1LjktMTcuNCAzLjVTMCAxMTguNSAwIDExMkwwIDE2QzAgNy4yIDcuMiAwIDE2IDBsOTYgMHpNMzUyIDI1NmE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6XCJdXG59O1xuY29uc3QgZmFUcmFuc2dlbmRlckFsdCA9IGZhVHJhbnNnZW5kZXI7XG5jb25zdCBmYU1lcmN1cnkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWVyY3VyeScsXG4gIGljb246IFszODQsIDUxMiwgWzk3OTFdLCBcImYyMjNcIiwgXCJNNzIuMSA3Qzg1LjgtNCAxMDYtMS44IDExNyAxMmMxNy42IDIyIDQ0LjcgMzYgNzUgMzZzNTcuMy0xNCA3NS0zNmMxMS4xLTEzLjggMzEuMi0xNiA0NS01czE2IDMxLjIgNSA0NWMtNy44IDkuNy0xNi42IDE4LjQtMjYuNCAyNi4xQzMzNy4zIDEwOS43IDM2OCAxNjMuMyAzNjggMjI0YzAgODkuMS02Ni4yIDE2Mi43LTE1MiAxNzQuNGwwIDI1LjYgMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMCAwIDE2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTYtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwzMiAwIDAtMjUuNkM4Mi4yIDM4Ni43IDE2IDMxMy4xIDE2IDIyNGMwLTYwLjcgMzAuNy0xMTQuMyA3Ny41LTE0NS45QzgzLjcgNzAuNSA3NC45IDYxLjcgNjcuMSA1MmMtMTEuMS0xMy44LTguOC0zMy45IDUtNDV6TTgwIDIyNGExMTIgMTEyIDAgMSAwIDIyNCAwQTExMiAxMTIgMCAxIDAgODAgMjI0elwiXVxufTtcbmNvbnN0IGZhQXJyb3dUdXJuRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy10dXJuLWRvd24nLFxuICBpY29uOiBbMzg0LCA1MTIsIFtcImxldmVsLWRvd25cIl0sIFwiZjE0OVwiLCBcIk0zMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyUzE0LjMgMCAzMiAwbDk2IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDMwNi43IDczLjQtNzMuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0xMjggMTI4Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxNjAgNDAyLjcgMTYwIDk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDY0elwiXVxufTtcbmNvbnN0IGZhTGV2ZWxEb3duID0gZmFBcnJvd1R1cm5Eb3duO1xuY29uc3QgZmFQZXJzb25GYWxsaW5nQnVyc3QgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWZhbGxpbmctYnVyc3QnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NDdcIiwgXCJNMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOS44YzAgMzktMjMuNyA3NC01OS45IDg4LjRDNzEuNiAxNTQuNSAzMiAyMTMgMzIgMjc4LjJMMzIgMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC03My44YzAtMTAgMS42LTE5LjggNC41LTI5TDI2MS4xIDQ5Ny40YzkuNiAxNC44IDI5LjQgMTkuMSA0NC4zIDkuNXMxOS4xLTI5LjQgOS41LTQ0LjNMMjIyLjYgMzIwbDEuNCAwIDgwIDAgMzguNCA1MS4yYzEwLjYgMTQuMSAzMC43IDE3IDQ0LjggNi40czE3LTMwLjcgNi40LTQ0LjhsLTQzLjItNTcuNkMzNDEuMyAyNjMuMSAzMjcuMSAyNTYgMzEyIDI1NmwtNzEuNSAwLTU2LjgtODAuMi0uMi0uM2M0NC43LTI5IDcyLjUtNzkgNzIuNS0xMzMuNmwwLTkuOHpNOTYgODBBNDggNDggMCAxIDAgMCA4MGE0OCA0OCAwIDEgMCA5NiAwek00NjQgMjg2LjFsNTguNiA1My45YzQuOCA0LjQgMTEuOSA1LjUgMTcuOCAyLjZzOS41LTkgOS0xNS41bC01LjYtNzkuNCA3OC43LTEyLjJjNi41LTEgMTEuNy01LjkgMTMuMS0xMi4ycy0xLjEtMTMtNi41LTE2LjdsLTY1LjYtNDUuMUw2MDMgOTIuMmMzLjMtNS43IDIuNy0xMi44LTEuNC0xNy45cy0xMC45LTcuMi0xNy4yLTUuM0w1MDguMyA5Mi4xbC0yOS40LTc0QzQ3Ni40IDEyIDQ3MC42IDggNDY0IDhzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzRMMzQzLjYgNjguOWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zcy00LjYgMTIuMi0xLjQgMTcuOWwzOS41IDY5LjEtNjUuNiA0NS4xYy01LjQgMy43LTggMTAuMy02LjUgMTYuN2MuMSAuMyAuMSAuNiAuMiAuOGwxOS40IDBjMjAuMSAwIDM5LjIgNy41IDUzLjggMjAuOGwxOC40IDIuOUwzODMgMjY1LjNsMzYuMiA0OC4zYzIuMSAyLjggMy45IDUuNyA1LjUgOC42TDQ2NCAyODYuMXpcIl1cbn07XG5jb25zdCBmYUF3YXJkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2F3YXJkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTU5XCIsIFwiTTE3My44IDUuNWMxMS03LjMgMjUuNC03LjMgMzYuNCAwTDIyOCAxNy4yYzYgMy45IDEzIDUuOCAyMC4xIDUuNGwyMS4zLTEuM2MxMy4yLS44IDI1LjYgNi40IDMxLjUgMTguMmw5LjYgMTkuMWMzLjIgNi40IDguNCAxMS41IDE0LjcgMTQuN0wzNDQuNSA4M2MxMS44IDUuOSAxOSAxOC4zIDE4LjIgMzEuNWwtMS4zIDIxLjNjLS40IDcuMSAxLjUgMTQuMiA1LjQgMjAuMWwxMS44IDE3LjhjNy4zIDExIDcuMyAyNS40IDAgMzYuNEwzNjYuOCAyMjhjLTMuOSA2LTUuOCAxMy01LjQgMjAuMWwxLjMgMjEuM2MuOCAxMy4yLTYuNCAyNS42LTE4LjIgMzEuNWwtMTkuMSA5LjZjLTYuNCAzLjItMTEuNSA4LjQtMTQuNyAxNC43TDMwMSAzNDQuNWMtNS45IDExLjgtMTguMyAxOS0zMS41IDE4LjJsLTIxLjMtMS4zYy03LjEtLjQtMTQuMiAxLjUtMjAuMSA1LjRsLTE3LjggMTEuOGMtMTEgNy4zLTI1LjQgNy4zLTM2LjQgMEwxNTYgMzY2LjhjLTYtMy45LTEzLTUuOC0yMC4xLTUuNGwtMjEuMyAxLjNjLTEzLjIgLjgtMjUuNi02LjQtMzEuNS0xOC4ybC05LjYtMTkuMWMtMy4yLTYuNC04LjQtMTEuNS0xNC43LTE0LjdMMzkuNSAzMDFjLTExLjgtNS45LTE5LTE4LjMtMTguMi0zMS41bDEuMy0yMS4zYy40LTcuMS0xLjUtMTQuMi01LjQtMjAuMUw1LjUgMjEwLjJjLTcuMy0xMS03LjMtMjUuNCAwLTM2LjRMMTcuMiAxNTZjMy45LTYgNS44LTEzIDUuNC0yMC4xbC0xLjMtMjEuM2MtLjgtMTMuMiA2LjQtMjUuNiAxOC4yLTMxLjVsMTkuMS05LjZDNjUgNzAuMiA3MC4yIDY1IDczLjQgNTguNkw4MyAzOS41YzUuOS0xMS44IDE4LjMtMTkgMzEuNS0xOC4ybDIxLjMgMS4zYzcuMSAuNCAxNC4yLTEuNSAyMC4xLTUuNEwxNzMuOCA1LjV6TTI3MiAxOTJhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwek0xLjMgNDQxLjhMNDQuNCAzMzkuM2MuMiAuMSAuMyAuMiAuNCAuNGw5LjYgMTkuMWMxMS43IDIzLjIgMzYgMzcuMyA2MiAzNS44bDIxLjMtMS4zYy4yIDAgLjUgMCAuNyAuMmwxNy44IDExLjhjNS4xIDMuMyAxMC41IDUuOSAxNi4xIDcuN2wtMzcuNiA4OS4zYy0yLjMgNS41LTcuNCA5LjItMTMuMyA5LjdzLTExLjYtMi4yLTE0LjgtNy4yTDc0LjQgNDU1LjVsLTU2LjEgOC4zYy01LjcgLjgtMTEuNC0xLjUtMTUtNnMtNC4zLTEwLjctMi4xLTE2em0yNDggNjAuNEwyMTEuNyA0MTNjNS42LTEuOCAxMS00LjMgMTYuMS03LjdsMTcuOC0xMS44Yy4yLS4xIC40LS4yIC43LS4ybDIxLjMgMS4zYzI2IDEuNSA1MC4zLTEyLjYgNjItMzUuOGw5LjYtMTkuMWMuMS0uMiAuMi0uMyAuNC0uNGw0My4yIDEwMi41YzIuMiA1LjMgMS40IDExLjQtMi4xIDE2cy05LjMgNi45LTE1IDZsLTU2LjEtOC4zLTMyLjIgNDkuMmMtMy4yIDUtOC45IDcuNy0xNC44IDcuMnMtMTEtNC4zLTEzLjMtOS43elwiXVxufTtcbmNvbnN0IGZhVGlja2V0U2ltcGxlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RpY2tldC1zaW1wbGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInRpY2tldC1hbHRcIl0sIFwiZjNmZlwiLCBcIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgOC44LTcuNCAxNS43LTE1LjcgMTguNkM1NDEuNSAyMTcuMSA1MjggMjM1IDUyOCAyNTZzMTMuNSAzOC45IDMyLjMgNDUuNGM4LjMgMi45IDE1LjcgOS44IDE1LjcgMTguNmwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTguOCA3LjQtMTUuNyAxNS43LTE4LjZDMzQuNSAyOTQuOSA0OCAyNzcgNDggMjU2cy0xMy41LTM4LjktMzIuMy00NS40QzcuNCAyMDcuNyAwIDIwMC44IDAgMTkybDAtNjR6XCJdXG59O1xuY29uc3QgZmFUaWNrZXRBbHQgPSBmYVRpY2tldFNpbXBsZTtcbmNvbnN0IGZhQnVpbGRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmcnLFxuICBpY29uOiBbMzg0LCA1MTIsIFsxMjc5NzAsIDYxNjg3XSwgXCJmMWFkXCIsIFwiTTQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAgOTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTQxNmMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAwek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTEyLTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTgwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhQW5nbGVzTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhbmdsZXMtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzE3MSwgXCJhbmdsZS1kb3VibGUtbGVmdFwiXSwgXCJmMTAwXCIsIFwiTTQxLjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAyNTYgMjQ2LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6bTM1Mi0xNjBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzMDEuMyAyNTYgNDM4LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDB6XCJdXG59O1xuY29uc3QgZmFBbmdsZURvdWJsZUxlZnQgPSBmYUFuZ2xlc0xlZnQ7XG5jb25zdCBmYVFyY29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdxcmNvZGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtdLCBcImYwMjlcIiwgXCJNMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODB6TTY0IDk2bDAgNjQgNjQgMCAwLTY0TDY0IDk2ek0wIDMzNmMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6bTY0IDE2bDAgNjQgNjQgMCAwLTY0LTY0IDB6TTMwNCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6bTgwIDY0bC02NCAwIDAgNjQgNjQgMCAwLTY0ek0yNTYgMzA0YzAtOC44IDcuMi0xNiAxNi0xNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNnM3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZzNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDk2YzAgOC44LTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2cy03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTYwek0zNjggNDgwYTE2IDE2IDAgMSAxIDAtMzIgMTYgMTYgMCAxIDEgMCAzMnptNjQgMGExNiAxNiAwIDEgMSAwLTMyIDE2IDE2IDAgMSAxIDAgMzJ6XCJdXG59O1xuY29uc3QgZmFDbG9ja1JvdGF0ZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvY2stcm90YXRlLWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcImhpc3RvcnlcIl0sIFwiZjFkYVwiLCBcIk03NSA3NUw0MSA0MUMyNS45IDI1LjkgMCAzNi42IDAgNTcuOUwwIDE2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTAuMSAwYzIxLjQgMCAzMi4xLTI1LjkgMTctNDFsLTMwLjgtMzAuOEMxNTUgODUuNSAyMDMgNjQgMjU2IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkycy04NiAxOTItMTkyIDE5MmMtNDAuOCAwLTc4LjYtMTIuNy0xMDkuNy0zNC40Yy0xNC41LTEwLjEtMzQuNC02LjYtNDQuNiA3LjlzLTYuNiAzNC40IDcuOSA0NC42QzE1MS4yIDQ5NSAyMDEuNyA1MTIgMjU2IDUxMmMxNDEuNCAwIDI1Ni0xMTQuNiAyNTYtMjU2UzM5Ny40IDAgMjU2IDBDMTg1LjMgMCAxMjEuMyAyOC43IDc1IDc1em0xODEgNTNjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTA0YzAgNi40IDIuNSAxMi41IDcgMTdsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NS02NSAwLTk0LjFjMC0xMy4zLTEwLjctMjQtMjQtMjR6XCJdXG59O1xuY29uc3QgZmFIaXN0b3J5ID0gZmFDbG9ja1JvdGF0ZUxlZnQ7XG5jb25zdCBmYUZhY2VHcmluQmVhbVN3ZWF0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3Jpbi1iZWFtLXN3ZWF0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NTE3LCBcImdyaW4tYmVhbS1zd2VhdFwiXSwgXCJmNTgzXCIsIFwiTTQ3Ni44IDEyNi4zYy00LjEgMS4xLTguNCAxLjctMTIuOCAxLjdjLTI2LjUgMC00OC0yMS00OC00N2MwLTUgMS44LTExLjMgNC42LTE4LjFjLjMtLjcgLjYtMS40IC45LTIuMWM5LTIwLjIgMjYuNS00NC45IDM2LTU3LjVjMy4yLTQuNCA5LjYtNC40IDEyLjggMEM0ODMuNCAyMC42IDUxMiA2MSA1MTIgODFjMCAyMS43LTE0LjkgMzkuOC0zNS4yIDQ1LjN6TTI1NiAwYzUxLjQgMCA5OS4zIDE1LjIgMTM5LjQgNDEuMmMtMS41IDMuMS0zIDYuMi00LjMgOS4zYy0zLjQgOC03LjEgMTktNy4xIDMwLjVjMCA0NC4zIDM2LjYgNzkgODAgNzljOS42IDAgMTguOC0xLjcgMjcuNC00LjhjMTMuMyAzMC45IDIwLjYgNjUgMjAuNiAxMDAuOGMwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzAgMzk3LjQgMCAyNTZTMTE0LjYgMCAyNTYgMHpNMzgzLjggMzE3LjhDMzQ1LjMgMzI5LjQgMzAxLjkgMzM2IDI1NiAzMzZzLTg5LjMtNi42LTEyNy44LTE4LjJjLTEyLjMtMy43LTI0LjMgNy0xOS4yIDE4LjdjMjQuNSA1Ni45IDgxLjEgOTYuNyAxNDcgOTYuN3MxMjIuNS0zOS44IDE0Ny05Ni43YzUuMS0xMS44LTYuOS0yMi40LTE5LjItMTguN3ptLTE2Ni4yLTg5czAgMCAwIDBzMCAwIDAgMGMyLjEgMi44IDUuNyAzLjkgOC45IDIuOHM1LjUtNC4xIDUuNS03LjZjMC0xNy45LTYuNy0zNS42LTE2LjYtNDguOGMtOS44LTEzLTIzLjktMjMuMi0zOS40LTIzLjJzLTI5LjYgMTAuMi0zOS40IDIzLjJDMTI2LjcgMTg4LjQgMTIwIDIwNi4xIDEyMCAyMjRjMCAzLjQgMi4yIDYuNSA1LjUgNy42czYuOSAwIDguOS0yLjhjMCAwIDAgMCAwIDBzMCAwIDAgMGMwIDAgMCAwIDAgMGwuMi0uMmMuMi0uMiAuNC0uNSAuNy0uOWMuNi0uOCAxLjYtMiAyLjgtMy40YzIuNS0yLjggNi02LjYgMTAuMi0xMC4zYzguOC03LjggMTguOC0xNCAyNy43LTE0czE4LjkgNi4yIDI3LjcgMTRjNC4yIDMuNyA3LjcgNy41IDEwLjIgMTAuM2MxLjIgMS40IDIuMiAyLjYgMi44IDMuNGMuMyAuNCAuNiAuNyAuNyAuOWwuMiAuMmMwIDAgMCAwIDAgMGMwIDAgMCAwIDAgMHptMTYwIDBzMCAwIDAgMHMwIDAgMCAwczAgMCAwIDBjMi4xIDIuOCA1LjcgMy45IDguOSAyLjhzNS41LTQuMSA1LjUtNy42YzAtMTcuOS02LjctMzUuNi0xNi42LTQ4LjhjLTkuOC0xMy0yMy45LTIzLjItMzkuNC0yMy4ycy0yOS42IDEwLjItMzkuNCAyMy4yQzI4Ni43IDE4OC40IDI4MCAyMDYuMSAyODAgMjI0YzAgMy40IDIuMiA2LjUgNS41IDcuNnM2LjkgMCA4LjktMi44YzAgMCAwIDAgMCAwczAgMCAwIDBjMCAwIDAgMCAwIDBsLjItLjJjLjItLjIgLjQtLjUgLjctLjljLjYtLjggMS42LTIgMi44LTMuNGMyLjUtMi44IDYtNi42IDEwLjItMTAuM2M4LjgtNy44IDE4LjgtMTQgMjcuNy0xNHMxOC45IDYuMiAyNy43IDE0YzQuMiAzLjcgNy43IDcuNSAxMC4yIDEwLjNjMS4yIDEuNCAyLjIgMi42IDIuOCAzLjRjLjMgLjQgLjYgLjcgLjcgLjlsLjIgLjJjMCAwIDAgMCAwIDB6XCJdXG59O1xuY29uc3QgZmFHcmluQmVhbVN3ZWF0ID0gZmFGYWNlR3JpbkJlYW1Td2VhdDtcbmNvbnN0IGZhRmlsZUV4cG9ydCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaWxlLWV4cG9ydCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiYXJyb3ctcmlnaHQtZnJvbS1maWxlXCJdLCBcImY1NmVcIiwgXCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjI0IDBsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDAgMCAxMjgtMTY4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTY4IDAgMCAxMTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0zODQgMzM2bDAtNDggMTEwLjEgMC0zOS0zOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDgwIDgwYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04MCA4MGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzOS0zOUwzODQgMzM2em0wLTIwOGwtMTI4IDBMMjU2IDAgMzg0IDEyOHpcIl1cbn07XG5jb25zdCBmYUFycm93UmlnaHRGcm9tRmlsZSA9IGZhRmlsZUV4cG9ydDtcbmNvbnN0IGZhU2hpZWxkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODczNywgXCJzaGllbGQtYmxhbmtcIl0sIFwiZjEzMlwiLCBcIk0yNTYgMGM0LjYgMCA5LjIgMSAxMy40IDIuOUw0NTcuNyA4Mi44YzIyIDkuMyAzOC40IDMxIDM4LjMgNTcuMmMtLjUgOTkuMi00MS4zIDI4MC43LTIxMy42IDM2My4yYy0xNi43IDgtMzYuMSA4LTUyLjggMEM1Ny4zIDQyMC43IDE2LjUgMjM5LjIgMTYgMTQwYy0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni44IDEgMjUxLjQgMCAyNTYgMHpcIl1cbn07XG5jb25zdCBmYVNoaWVsZEJsYW5rID0gZmFTaGllbGQ7XG5jb25zdCBmYUFycm93VXBTaG9ydFdpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdXAtc2hvcnQtd2lkZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wic29ydC1hbW91bnQtdXAtYWx0XCJdLCBcImY4ODVcIiwgXCJNMTUxLjYgNDIuNEMxNDUuNSAzNS44IDEzNyAzMiAxMjggMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDk2IDE0Ni4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzAxLjcgMzIuNCAzNS40YzExLjkgMTMgMzIuMiAxMy45IDQ1LjIgMnMxMy45LTMyLjIgMi00NS4ybC04OC05NnpNMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwelwiXVxufTtcbmNvbnN0IGZhU29ydEFtb3VudFVwQWx0ID0gZmFBcnJvd1VwU2hvcnRXaWRlO1xuY29uc3QgZmFIb3VzZU1lZGljYWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtbWVkaWNhbCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTNiMlwiLCBcIk01NDMuOCAyODcuNmMxNyAwIDMyLTE0IDMyLTMyLjFjMS05LTMtMTctMTEtMjRMMzA5LjUgN2MtNi01LTE0LTctMjEtN3MtMTUgMS0yMiA4TDEwIDIzMS41Yy03IDctMTAgMTUtMTAgMjRjMCAxOCAxNCAzMi4xIDMyIDMyLjFsMzIgMCAwIDE2MC40YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMC40IDBjMzUuNSAwIDY0LjItMjguOCA2NC02NC4zbC0uNy0xNjAuMiAzMiAwek0yNTYgMjA4YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4elwiXVxufTtcbmNvbnN0IGZhR29sZkJhbGxUZWUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ29sZi1iYWxsLXRlZScsXG4gIGljb246IFszODQsIDUxMiwgW1wiZ29sZi1iYWxsXCJdLCBcImY0NTBcIiwgXCJNMzg0IDE5MmMwIDY2LjgtMzQuMSAxMjUuNi04NS44IDE2MEw4NS44IDM1MkMzNC4xIDMxNy42IDAgMjU4LjggMCAxOTJDMCA4NiA4NiAwIDE5MiAwUzM4NCA4NiAzODQgMTkyek0yNDIuMSAyNTYuNmMwIDE4LjUtMTUgMzMuNS0zMy41IDMzLjVjLTQuOSAwLTkuMSA1LjEtNS40IDguNGM1LjkgNS4yIDEzLjcgOC40IDIyLjEgOC40YzE4LjUgMCAzMy41LTE1IDMzLjUtMzMuNWMwLTguNS0zLjItMTYuMi04LjQtMjIuMWMtMy4zLTMuNy04LjQgLjUtOC40IDUuNHptLTUyLjMtNDkuM2MtNC45IDAtOS4xIDUuMS01LjQgOC40YzUuOSA1LjIgMTMuNyA4LjQgMjIuMSA4LjRjMTguNSAwIDMzLjUtMTUgMzMuNS0zMy41YzAtOC41LTMuMi0xNi4yLTguNC0yMi4xYy0zLjMtMy43LTguNCAuNS04LjQgNS40YzAgMTguNS0xNSAzMy41LTMzLjUgMzMuNXptMTEzLjUtMTcuNWMwIDE4LjUtMTUgMzMuNS0zMy41IDMzLjVjLTQuOSAwLTkuMSA1LjEtNS40IDguNGM1LjkgNS4yIDEzLjcgOC40IDIyLjEgOC40YzE4LjUgMCAzMy41LTE1IDMzLjUtMzMuNWMwLTguNS0zLjItMTYuMi04LjQtMjIuMWMtMy4zLTMuNy04LjQgLjUtOC40IDUuNHpNOTYgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDAgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyelwiXVxufTtcbmNvbnN0IGZhR29sZkJhbGwgPSBmYUdvbGZCYWxsVGVlO1xuY29uc3QgZmFDaXJjbGVDaGV2cm9uTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUtY2hldnJvbi1sZWZ0JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCJdLCBcImYxMzdcIiwgXCJNNTEyIDI1NkEyNTYgMjU2IDAgMSAwIDAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDB6TTI3MSAxMzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC04NyA4NyA4NyA4N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE2NyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDI3MSAxMzV6XCJdXG59O1xuY29uc3QgZmFDaGV2cm9uQ2lyY2xlTGVmdCA9IGZhQ2lyY2xlQ2hldnJvbkxlZnQ7XG5jb25zdCBmYUhvdXNlQ2hpbW5leVdpbmRvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdob3VzZS1jaGltbmV5LXdpbmRvdycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTAwZFwiLCBcIk01NzUuOCAyNTUuNWMwIDE4LTE1IDMyLjEtMzIgMzIuMWwtMzIgMCAuNyAxNjAuMmMuMiAzNS41LTI4LjUgNjQuMy02NCA2NC4zbC0zMjAuNCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE2MC40LTMyIDBjLTE4IDAtMzItMTQtMzItMzIuMWMwLTkgMy0xNyAxMC0yNEwyNjYuNCA4YzctNyAxNS04IDIyLThzMTUgMiAyMSA3TDQxNiAxMDAuNyA0MTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyMSA1Mi44IDQ2LjRjOCA3IDEyIDE1IDExIDI0ek0yNDggMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtODAgMHpcIl1cbn07XG5jb25zdCBmYVBlbk5pYiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZW4tbmliJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTAwMDFdLCBcImY1YWRcIiwgXCJNMzY4LjQgMTguM0wzMTIuNyA3NC4xIDQzNy45IDE5OS4zbDU1LjctNTUuN2MyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NDcuNiAxOC4zYy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMHpNMjg4IDk0LjZsLTkuMiAyLjhMMTM0LjcgMTQwLjZjLTE5LjkgNi0zNS43IDIxLjItNDIuMyA0MUwzLjggNDQ1LjhjLTMuOCAxMS4zLTEgMjMuOSA3LjMgMzIuNEwxNjQuNyAzMjQuN2MtMy02LjMtNC43LTEzLjMtNC43LTIwLjdjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGMtNy40IDAtMTQuNC0xLjctMjAuNy00LjdMMzMuNyA1MDAuOWM4LjYgOC4zIDIxLjEgMTEuMiAzMi40IDcuM2wyNjQuMy04OC42YzE5LjctNi42IDM1LTIyLjQgNDEtNDIuM2w0My4yLTE0NC4xIDIuNy05LjJMMjg4IDk0LjZ6XCJdXG59O1xuY29uc3QgZmFUZW50QXJyb3dUdXJuTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50LWFycm93LXR1cm4tbGVmdCcsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU4MFwiLCBcIk0xMjAuMSA0MS44YzkuOS04LjkgMTAuNy0yNCAxLjgtMzMuOVM5Ny44LTIuNyA4Ny45IDYuMmwtODAgNzJDMi45IDgyLjcgMCA4OS4yIDAgOTZzMi45IDEzLjMgNy45IDE3LjhsODAgNzJjOS45IDguOSAyNSA4LjEgMzMuOS0xLjhzOC4xLTI1LTEuOC0zMy45TDg2LjUgMTIwIDQ1NiAxMjBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDBjMC02Ni4zLTUzLjctMTIwLTEyMC0xMjBMODYuNSA3MmwzMy41LTMwLjJ6TTMwNy40IDE2Ni41Yy0xMS41LTguNy0yNy4zLTguNy0zOC44IDBsLTE2OCAxMjhjLTYuNiA1LTExIDEyLjUtMTIuMyAyMC43bC0yNCAxNjBjLTEuNCA5LjIgMS4zIDE4LjYgNy40IDI1LjZTODYuNyA1MTIgOTYgNTEybDE0NCAwIDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMTguMWMwLTUuNSA0LjQtOS45IDkuOS05LjljMy43IDAgNy4yIDIuMSA4LjggNS41bDY4LjQgMTM2LjhjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w2MC4yIDAgMTYgMGM5LjMgMCAxOC4yLTQuMSAyNC4yLTExLjFzOC44LTE2LjQgNy40LTI1LjZsLTI0LTE2MGMtMS4yLTguMi01LjYtMTUuNy0xMi4zLTIwLjdsLTE2OC0xMjh6XCJdXG59O1xuY29uc3QgZmFUZW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU4MlwiLCBcIk0zOTYuNiA2LjVMMjM1LjggMTI5LjFjOS42IDEuOCAxOC45IDUuOCAyNyAxMmwxNjggMTI4YzEzLjIgMTAuMSAyMiAyNC45IDI0LjUgNDEuNGw2LjIgNDEuNUw2MDggMzUyYzkuMyAwIDE4LjItNC4xIDI0LjItMTEuMXM4LjgtMTYuNCA3LjQtMjUuNmwtMjQtMTYwYy0xLjItOC4yLTUuNi0xNS43LTEyLjMtMjAuN2wtMTY4LTEyOGMtMTEuNS04LjctMjcuMy04LjctMzguOCAwem0tMTUzLjIgMTYwYy0xMS41LTguNy0yNy4zLTguNy0zOC44IDBsLTE2OCAxMjhjLTYuNiA1LTExIDEyLjUtMTIuMyAyMC43bC0yNCAxNjBjLTEuNCA5LjIgMS4zIDE4LjYgNy40IDI1LjZTMjIuNyA1MTIgMzIgNTEybDE0NCAwIDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMTguMWMwLTUuNSA0LjQtOS45IDkuOS05LjljMy43IDAgNy4yIDIuMSA4LjggNS41bDY4LjQgMTM2LjhjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w2MC4yIDAgMTYgMGM5LjMgMCAxOC4yLTQuMSAyNC4yLTExLjFzOC44LTE2LjQgNy40LTI1LjZsLTI0LTE2MGMtMS4yLTguMi01LjYtMTUuNy0xMi4zLTIwLjdsLTE2OC0xMjh6XCJdXG59O1xuY29uc3QgZmFXYW5kTWFnaWMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2FuZC1tYWdpYycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wibWFnaWNcIl0sIFwiZjBkMFwiLCBcIk0xNC4xIDQ2My4zYy0xOC43LTE4LjctMTguNy00OS4xIDAtNjcuOUwzOTUuNCAxNC4xYzE4LjctMTguNyA0OS4xLTE4LjcgNjcuOSAwbDM0LjYgMzQuNmMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUwxMTYuNSA0OTcuOWMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBMMTQuMSA0NjMuM3pNMzQ3LjYgMTg3LjZsMTA1LTEwNUw0MjkuNCA1OS4zbC0xMDUgMTA1IDIzLjMgMjMuM3pcIl1cbn07XG5jb25zdCBmYU1hZ2ljID0gZmFXYW5kTWFnaWM7XG5jb25zdCBmYURvZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkb2cnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjgwMjFdLCBcImY2ZDNcIiwgXCJNMzA5LjYgMTU4LjVMMzMyLjcgMTkuOEMzMzQuNiA4LjQgMzQ0LjUgMCAzNTYuMSAwYzcuNSAwIDE0LjUgMy41IDE5IDkuNUwzOTIgMzJsNTIuMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFMNDk2IDY0bDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtMzIgMC0xNiAwLTIxLjMgMC01LjEgMzAuNS0xMTItNjR6TTQxNiAyNTYuMUw0MTYgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExNS4yYy0yNCAxMi4zLTUxLjIgMTkuMi04MCAxOS4ycy01Ni02LjktODAtMTkuMkwxNjAgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIzMC4yYy0yOC44LTEwLjktNTEuNC0zNS4zLTU5LjItNjYuNUwxIDE2Ny44Yy00LjMtMTcuMSA2LjEtMzQuNSAyMy4zLTM4LjhzMzQuNSA2LjEgMzguOCAyMy4zbDMuOSAxNS41QzcwLjUgMTgyIDgzLjMgMTkyIDk4IDE5MmwzMCAwIDE2IDAgMTU5LjggMEw0MTYgMjU2LjF6TTQ2NCA4MGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwelwiXVxufTtcbmNvbnN0IGZhQ2Fycm90ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcnJvdCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyOTM2NV0sIFwiZjc4N1wiLCBcIk0zNDYuNyA2QzMzNy42IDE3IDMyMCA0Mi4zIDMyMCA3MmMwIDQwIDE1LjMgNTUuMyA0MCA4MHM0MCA0MCA4MCA0MGMyOS43IDAgNTUtMTcuNiA2Ni0yNi43YzQtMy4zIDYtOC4yIDYtMTMuM3MtMi0xMC02LTEzLjJjLTExLjQtOS4xLTM4LjMtMjYuOC03NC0yNi44Yy0zMiAwLTQwIDgtNDAgOHM4LTggOC00MGMwLTM1LjctMTcuNy02Mi42LTI2LjgtNzRDMzcwIDIgMzY1LjEgMCAzNjAgMHMtMTAgMi0xMy4zIDZ6TTI0NC42IDEzNmMtNDAgMC03Ny4xIDE4LjEtMTAxLjcgNDguMmw2MC41IDYwLjVjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtNTUuMy01NS4zIDAgLjFMMi4yIDQ3Ny45Qy0yIDQ4Ny0uMSA0OTcuOCA3IDUwNXMxNy45IDkgMjcuMSA0LjhsMTM0LjctNjIuNC01Mi4xLTUyLjFjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMEwxOTkuNyA0MzNsMTAwLjItNDYuNGM0Ni40LTIxLjUgNzYuMi02OCA3Ni4yLTExOS4yQzM3NiAxOTQuOCAzMTcuMiAxMzYgMjQ0LjYgMTM2elwiXVxufTtcbmNvbnN0IGZhTW9vbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb29uJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTI3NzY5LCA5MjE0XSwgXCJmMTg2XCIsIFwiTTIyMy41IDMyQzEwMCAzMiAwIDEzMi4zIDAgMjU2UzEwMCA0ODAgMjIzLjUgNDgwYzYwLjYgMCAxMTUuNS0yNC4yIDE1NS44LTYzLjRjNS00LjkgNi4zLTEyLjUgMy4xLTE4LjdzLTEwLjEtOS43LTE3LTguNWMtOS44IDEuNy0xOS44IDIuNi0zMC4xIDIuNmMtOTYuOSAwLTE3NS41LTc4LjgtMTc1LjUtMTc2YzAtNjUuOCAzNi0xMjMuMSA4OS4zLTE1My4zYzYuMS0zLjUgOS4yLTEwLjUgNy43LTE3LjNzLTcuMy0xMS45LTE0LjMtMTIuNWMtNi4zLS41LTEyLjYtLjgtMTktLjh6XCJdXG59O1xuY29uc3QgZmFXaW5lR2xhc3NFbXB0eSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd3aW5lLWdsYXNzLWVtcHR5JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXCJ3aW5lLWdsYXNzLWFsdFwiXSwgXCJmNWNlXCIsIFwiTTY0IDBDNDcuNCAwIDMzLjUgMTIuOCAzMi4xIDI5LjNsLTE0IDE2OC40Yy02IDcyIDQyLjUgMTM1LjIgMTA5LjkgMTUwLjZsMCA5OS42LTQ4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODAgMCA4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00OCAwIDAtOTkuNmM2Ny40LTE1LjQgMTE1LjktNzguNiAxMDkuOS0xNTAuNmwtMTQtMTY4LjRDMjg2LjUgMTIuOCAyNzIuNiAwIDI1NiAwTDY0IDB6TTgxLjkgMjAzLjFMOTMuNCA2NGwxMzMuMSAwIDExLjYgMTM5LjFDMjQyIDI0OC44IDIwNS45IDI4OCAxNjAgMjg4cy04Mi0zOS4yLTc4LjEtODQuOXpcIl1cbn07XG5jb25zdCBmYVdpbmVHbGFzc0FsdCA9IGZhV2luZUdsYXNzRW1wdHk7XG5jb25zdCBmYUNoZWVzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaGVlc2UnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3ZWZcIiwgXCJNNTEyIDI0MC4ybDAgMTUuOEwwIDI1NmMwLTIwIDEwLTM4LjcgMjYuNi00OS44TDI3NC45IDQwLjdjOC42LTUuNyAxOC42LTguNyAyOC45LTguN0M0MTguOCAzMiA1MTIgMTI1LjIgNTEyIDI0MC4yem0wIDQ3LjhsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDI4OGw1MTIgMHpcIl1cbn07XG5jb25zdCBmYVlpbllhbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneWluLXlhbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs5Nzc1XSwgXCJmNmFkXCIsIFwiTTI1NiA2NGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NnMtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZDMTUwIDQ0OCA2NCAzNjIgNjQgMjU2UzE1MCA2NCAyNTYgNjR6bTAgNDQ4QTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnptMzItMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTIyNCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpcIl1cbn07XG5jb25zdCBmYU11c2ljID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ211c2ljJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI3OTI1XSwgXCJmMDAxXCIsIFwiTTQ5OS4xIDYuM2M4LjEgNiAxMi45IDE1LjYgMTIuOSAyNS43bDAgNzIgMCAyNjRjMCA0NC4yLTQzIDgwLTk2IDgwcy05Ni0zNS44LTk2LTgwczQzLTgwIDk2LTgwYzExLjIgMCAyMiAxLjYgMzIgNC42TDQ0OCAxNDcgMTkyIDIyMy44IDE5MiA0MzJjMCA0NC4yLTQzIDgwLTk2IDgwcy05Ni0zNS44LTk2LTgwczQzLTgwIDk2LTgwYzExLjIgMCAyMiAxLjYgMzIgNC42TDEyOCAyMDBsMC03MmMwLTE0LjEgOS4zLTI2LjYgMjIuOC0zMC43bDMyMC05NmM5LjctMi45IDIwLjItMS4xIDI4LjMgNXpcIl1cbn07XG5jb25zdCBmYUNvZGVDb21taXQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29kZS1jb21taXQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImYzODZcIiwgXCJNMzIwIDMzNmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMTU2LjgtNDhDNDYyIDM2MSAzOTcuNCA0MTYgMzIwIDQxNnMtMTQyLTU1LTE1Ni44LTEyOEwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTMxLjIgMEMxNzggMTUxIDI0Mi42IDk2IDMyMCA5NnMxNDIgNTUgMTU2LjggMTI4TDYwOCAyMjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEzMS4yIDB6XCJdXG59O1xuY29uc3QgZmFUZW1wZXJhdHVyZUxvdyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0ZW1wZXJhdHVyZS1sb3cnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY3NmJcIiwgXCJNNDQ4IDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCA5NmE5NiA5NiAwIDEgMSAxOTIgMEE5NiA5NiAwIDEgMSAzMjAgOTZ6TTE0NCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjQuNWMwIDE3LjMtNy4xIDMxLjktMTUuMyA0Mi41QzcwLjIgMzMyLjYgNjQgMzQ5LjUgNjQgMzY4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xOC41LTYuMi0zNS40LTE2LjctNDguOWMtOC4yLTEwLjYtMTUuMy0yNS4yLTE1LjMtNDIuNUwxOTIgMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0zMiAxMTJDMzIgNTAuMiA4Mi4xIDAgMTQ0IDBzMTEyIDUwLjEgMTEyIDExMmwwIDE2NC40YzAgLjEgLjEgLjMgLjIgLjZjLjIgLjYgLjggMS42IDEuNyAyLjhjMTguOSAyNC40IDMwLjEgNTUgMzAuMSA4OC4xYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzAgNDQ3LjUgMCAzNjhjMC0zMy4yIDExLjItNjMuOCAzMC4xLTg4LjFjLjktMS4yIDEuNS0yLjIgMS43LTIuOGMuMS0uMyAuMi0uNSAuMi0uNkwzMiAxMTJ6TTE5MiAzNjhjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuN2MwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNTAuN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjN6XCJdXG59O1xuY29uc3QgZmFQZXJzb25CaWtpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWJpa2luZycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODY5MiwgXCJiaWtpbmdcIl0sIFwiZjg0YVwiLCBcIk00MDAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0yNy4yIDY0bC02MS44LTQ4LjhjLTE3LjMtMTMuNi00MS43LTEzLjgtNTkuMS0uM2wtODMuMSA2NC4yYy0zMC43IDIzLjgtMjguNSA3MC44IDQuMyA5MS42TDI4OCAzMDUuMSAyODggNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjhjMC0xMC43LTUuMy0yMC43LTE0LjItMjYuNkwyOTUgMjMyLjlsNjAuMy00OC41TDM5NiAyMTdjNS43IDQuNSAxMi43IDcgMjAgN2w2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01Mi44IDB6TTU2IDM4NGE3MiA3MiAwIDEgMSAxNDQgMEE3MiA3MiAwIDEgMSA1NiAzODR6bTIwMCAwQTEyOCAxMjggMCAxIDAgMCAzODRhMTI4IDEyOCAwIDEgMCAyNTYgMHptMTg0IDBhNzIgNzIgMCAxIDEgMTQ0IDAgNzIgNzIgMCAxIDEgLTE0NCAwem0yMDAgMGExMjggMTI4IDAgMSAwIC0yNTYgMCAxMjggMTI4IDAgMSAwIDI1NiAwelwiXVxufTtcbmNvbnN0IGZhQmlraW5nID0gZmFQZXJzb25CaWtpbmc7XG5jb25zdCBmYUJyb29tID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Jyb29tJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI5NTI5XSwgXCJmNTFhXCIsIFwiTTU2Ni42IDU0LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTItMzQuNy0zNC43Yy00LjItNC4yLTEwLTYuNi0xNi02LjZjLTEyLjUgMC0yMi42IDEwLjEtMjIuNiAyMi42bDAgMjkuMUwzNjQuMyAzMjBsMjkuMSAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42YzAtNi0yLjQtMTEuOC02LjYtMTZsLTM0LjctMzQuNyAxOTItMTkyek0zNDEuMSAzNTMuNEwyMjIuNiAyMzQuOWMtNDIuNy0zLjctODUuMiAxMS43LTExNS44IDQyLjNsLTggOEM3Ni41IDMwNy41IDY0IDMzNy43IDY0IDM2OS4yYzAgNi44IDcuMSAxMS4yIDEzLjIgOC4ybDUxLjEtMjUuNWM1LTIuNSA5LjUgNC4xIDUuNCA3LjlMNy4zIDQ3My40QzIuNyA0NzcuNiAwIDQ4My42IDAgNDg5LjlDMCA1MDIuMSA5LjkgNTEyIDIyLjEgNTEybDE3My4zIDBjMzguOCAwIDc1LjktMTUuNCAxMDMuNC00Mi44YzMwLjYtMzAuNiA0NS45LTczLjEgNDIuMy0xMTUuOHpcIl1cbn07XG5jb25zdCBmYVNoaWVsZEhlYXJ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NoaWVsZC1oZWFydCcsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTU3NFwiLCBcIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMmMuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjJjMTYuNyA4IDM2LjEgOCA1Mi44IDBDNDU0LjcgNDIwLjcgNDk1LjUgMjM5LjIgNDk2IDE0MGMuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0xNDQgMjIxLjNjMC0zMy44IDI3LjQtNjEuMyA2MS4zLTYxLjNjMTYuMiAwIDMxLjggNi41IDQzLjMgMTcuOWw3LjQgNy40IDcuNC03LjRjMTEuNS0xMS41IDI3LjEtMTcuOSA0My4zLTE3LjljMzMuOCAwIDYxLjMgMjcuNCA2MS4zIDYxLjNjMCAxNi4yLTYuNSAzMS44LTE3LjkgNDMuM2wtODIuNyA4Mi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtODIuNy04Mi43Yy0xMS41LTExLjUtMTcuOS0yNy4xLTE3LjktNDMuM3pcIl1cbn07XG5jb25zdCBmYUdvcHVyYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZ29wdXJhbScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjY2NFwiLCBcIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDggNDAgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggNDggMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggNDAgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggMCAzMiAwIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwIDAtMTYwLTMyIDAgMC0xMjgtMzIgMCAwLTk2LTMyIDAgMCA5NiAzMiAwIDAgMTI4IDMyIDAgMCAxNjAtODAgMCAwLTQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4bDAgNDgtODAgMCAwLTE2MCAzMiAwIDAtMTI4IDMyIDAgMC05Ni0zMiAwIDAgOTYtMzIgMCAwIDEyOC0zMiAwIDAgMTYwLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNjQgMC0zMiAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTI1NiAyNzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tMzItODBsMCAzMiA2NCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFFYXJ0aE9jZWFuaWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWFydGgtb2NlYW5pYScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ2xvYmUtb2NlYW5pYVwiXSwgXCJlNDdiXCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yMDguNiAzNTcuM2wtMzktMTMuNWMtNi41LTIuMi0xMy42LTIuMy0yMC4xLS4zbC0xNS4zIDQuOWMtMTguNSA1LjktMzguNS0yLjQtNDcuNS0xOS41bC0zLjMtNi4yYy0xMC42LTIwLjEtMi4zLTQ1IDE4LjItNTQuN2wzNS4zLTE2LjhjMi4zLTEuMSA0LjQtMi44IDUuOS00LjhsNS4zLTdjNy4yLTkuNiAxOC42LTE1LjMgMzAuNi0xNS4zczIzLjQgNS43IDMwLjYgMTUuM2w0LjYgNi4xYzIgMi42IDQuOSA0LjUgOC4xIDUuMWM3LjggMS42IDE1LjctMS41IDIwLjQtNy45bDEwLjQtMTQuMmMyLTIuOCA1LjMtNC40IDguNy00LjRjNC40IDAgOC40IDIuNyAxMCA2LjhsMTAuMSAyNS45YzIuOCA3LjIgNi43IDE0IDExLjUgMjAuMkwzMTEgMjk5LjhjNS44IDcuNCA5IDE2LjYgOSAyNnMtMy4yIDE4LjYtOSAyNkwyOTkgMzY3LjJjLTguMyAxMC42LTIxIDE2LjgtMzQuNCAxNi44Yy04LjQgMC0xNi42LTIuNC0yMy43LTdsLTI1LjQtMTYuNGMtMi4yLTEuNC00LjUtMi41LTYuOS0zLjR6bTY1LjItMjE0LjhMMjk2IDE2NC43YzEwLjEgMTAuMSAyLjkgMjcuMy0xMS4zIDI3LjNsLTI5LjkgMGMtNS42IDAtMTEuMS0xLjItMTYuMi0zLjRsLTQyLjgtMTljLTE0LjMtNi4zLTExLjktMjcuMyAzLjQtMzAuM2wzOC41LTcuN2MxMy4xLTIuNiAyNi43IDEuNSAzNi4xIDEwLjl6TTI0OCA0MzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnpNNDMxLjIgMjk4LjlsOCAyNGMyLjggOC40LTEuNyAxNy40LTEwLjEgMjAuMnMtMTcuNC0xLjctMjAuMi0xMC4xbC04LTI0Yy0yLjgtOC40IDEuNy0xNy40IDEwLjEtMjAuMnMxNy40IDEuNyAyMC4yIDEwLjF6bS0xOS45IDgwLjRsLTMyIDMyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDMyLTMyYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpcIl1cbn07XG5jb25zdCBmYUdsb2JlT2NlYW5pYSA9IGZhRWFydGhPY2VhbmlhO1xuY29uc3QgZmFTcXVhcmVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUteG1hcmsnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMDA2MiwgXCJ0aW1lcy1zcXVhcmVcIiwgXCJ4bWFyay1zcXVhcmVcIl0sIFwiZjJkM1wiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem03OSAxNDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNDcgNDcgNDctNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC00NyA0NyA0NyA0N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00Ny00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0Ny00Ny00Ny00N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6XCJdXG59O1xuY29uc3QgZmFUaW1lc1NxdWFyZSA9IGZhU3F1YXJlWG1hcms7XG5jb25zdCBmYVhtYXJrU3F1YXJlID0gZmFTcXVhcmVYbWFyaztcbmNvbnN0IGZhSGFzaHRhZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYXNodGFnJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbNjIwOThdLCBcIjIzXCIsIFwiTTE4MS4zIDMyLjRjMTcuNCAyLjkgMjkuMiAxOS40IDI2LjMgMzYuOEwxOTcuOCAxMjhsOTUuMSAwIDExLjUtNjkuM2MyLjktMTcuNCAxOS40LTI5LjIgMzYuOC0yNi4zczI5LjIgMTkuNCAyNi4zIDM2LjhMMzU3LjggMTI4bDU4LjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjguOSAwTDMyNS44IDMyMGw1OC4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY4LjkgMC0xMS41IDY5LjNjLTIuOSAxNy40LTE5LjQgMjkuMi0zNi44IDI2LjNzLTI5LjItMTkuNC0yNi4zLTM2LjhsOS44LTU4LjctOTUuMSAwLTExLjUgNjkuM2MtMi45IDE3LjQtMTkuNCAyOS4yLTM2LjggMjYuM3MtMjkuMi0xOS40LTI2LjMtMzYuOEw5MC4yIDM4NCAzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjguOSAwIDIxLjMtMTI4TDY0IDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2OC45IDAgMTEuNS02OS4zYzIuOS0xNy40IDE5LjQtMjkuMiAzNi44LTI2LjN6TTE4Ny4xIDE5MkwxNjUuOCAzMjBsOTUuMSAwIDIxLjMtMTI4LTk1LjEgMHpcIl1cbn07XG5jb25zdCBmYVVwUmlnaHRBbmREb3duTGVmdEZyb21DZW50ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXhwYW5kLWFsdFwiXSwgXCJmNDI0XCIsIFwiTTM0NCAwTDQ4OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3TDMyNyA0MWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlMzMzQuMyAwIDM0NCAwek0xNjggNTEyTDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMCAzNDRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4ybDM5IDM5IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMyIDMyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04NyA4NyAzOSAzOWM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4ycy0xMi41IDE0LjgtMjIuMiAxNC44elwiXVxufTtcbmNvbnN0IGZhRXhwYW5kQWx0ID0gZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyO1xuY29uc3QgZmFPaWxDYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnb2lsLWNhbicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjYxM1wiLCBcIk0zMjAgMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzItODAgMC00OCAwLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjQuOGMwIDE5IDExLjIgMzYuMiAyOC41IDQzLjlsNjcuNSAzMEw5NiAzNjhjMCAyNi41IDIxLjUgNDggNDggNDhsMjU5LjEgMGMxOC40IDAgMzUuOC03LjkgNDgtMjEuN0w2MzMuNSAxODcuN2MxMi4zLTEzLjktLjMtMzUuNC0xOC40LTMxLjVMNDQ4IDE5MmwtNTAuNS0yNS4yYy04LjktNC40LTE4LjctNi44LTI4LjYtNi44TDI4OCAxNjBsMC0zMiAzMiAwek05NiAyMDhsMCA4Ni4xTDQ4IDI3Mi44IDQ4IDIwOGw0OCAwelwiXVxufTtcbmNvbnN0IGZhVCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTE2XSwgXCI1NFwiLCBcIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMTI4IDAgMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1MiAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwxOTIgMzIgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFIaXBwbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoaXBwbycsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTQzNV0sIFwiZjZlZFwiLCBcIk00MDcgNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMTcuMiAxNy4yYzEuOS0uMSAzLjktLjIgNS44LS4ybDMyIDBjMTEuMiAwIDIxLjkgMi4zIDMxLjYgNi41TDU0MyA1NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNTY0IDEwMS45YzcuNiAxMi4yIDEyIDI2LjcgMTIgNDIuMWMwIDEwLjIgNy40IDE4LjggMTYuNyAyM2MyNy45IDEyLjUgNDcuMyA0MC41IDQ3LjMgNzNjMCAyNi4yLTEyLjYgNDkuNC0zMiA2NGwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTYtNjQgMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTcuNmMtMTEuOC0yLjQtMjIuNy03LjQtMzItMTQuNGMtMS41LTEuMS0yLjktMi4zLTQuMy0zLjVjLTE3LTE0LjctMjcuNy0zNi40LTI3LjctNjAuNWMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmMwIDQ0LjcgMjYuMiA4My4yIDY0IDEwMS4ybDAgMTAuOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzZjLTE5LjggNy43LTQxLjQgMTItNjQgMTJzLTQ0LjItNC4zLTY0LTEybDAgNzZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTE4LjlMNDUuOSAzNjkuN2MtNS40IDEyLjEtMTkuNiAxNy42LTMxLjcgMTIuMlMtMy4zIDM2Mi40IDIuMSAzNTAuM0wyNCAzMDAuOWM1LjMtMTEuOSA4LTI0LjcgOC0zNy43QzMyIDE1NS43IDExNy4yIDY4IDIyMy44IDY0LjFsLjItLjEgNy4yIDBMMjU2IDY0bDMyIDBjNDEuNyAwIDgzLjQgMTIuMSAxMTcuMiAyNS43YzEuNy0xLjggMy41LTMuNiA1LjMtNS4yTDQwNyA4MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6bTczIDE4NWEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem04OCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTQ4MCAxNDRhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyelwiXVxufTtcbmNvbnN0IGZhQ2hhcnRDb2x1bW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2hhcnQtY29sdW1uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlMGUzXCIsIFwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6TTE2MCAyMjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xMjgtNjRsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptNjQgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek00ODAgOTZsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpcIl1cbn07XG5jb25zdCBmYUluZmluaXR5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2luZmluaXR5JyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbODczNCwgOTg1NF0sIFwiZjUzNFwiLCBcIk0wIDI0MS4xQzAgMTYxIDY1IDk2IDE0NS4xIDk2YzM4LjUgMCA3NS40IDE1LjMgMTAyLjYgNDIuNUwzMjAgMjEwLjdsNzIuMi03Mi4yQzQxOS41IDExMS4zIDQ1Ni40IDk2IDQ5NC45IDk2QzU3NSA5NiA2NDAgMTYxIDY0MCAyNDEuMWwwIDI5LjdDNjQwIDM1MSA1NzUgNDE2IDQ5NC45IDQxNmMtMzguNSAwLTc1LjQtMTUuMy0xMDIuNi00Mi41TDMyMCAzMDEuM2wtNzIuMiA3Mi4yQzIyMC41IDQwMC43IDE4My42IDQxNiAxNDUuMSA0MTZDNjUgNDE2IDAgMzUxIDAgMjcwLjlsMC0yOS43ek0yNzQuNyAyNTZsLTcyLjItNzIuMmMtMTUuMi0xNS4yLTM1LjktMjMuOC01Ny40LTIzLjhDMTAwLjMgMTYwIDY0IDE5Ni4zIDY0IDI0MS4xbDAgMjkuN2MwIDQ0LjggMzYuMyA4MS4xIDgxLjEgODEuMWMyMS41IDAgNDIuMi04LjUgNTcuNC0yMy44TDI3NC43IDI1NnptOTAuNSAwbDcyLjIgNzIuMmMxNS4yIDE1LjIgMzUuOSAyMy44IDU3LjQgMjMuOGM0NC44IDAgODEuMS0zNi4zIDgxLjEtODEuMWwwLTI5LjdjMC00NC44LTM2LjMtODEuMS04MS4xLTgxLjFjLTIxLjUgMC00Mi4yIDguNS01Ny40IDIzLjhMMzY1LjMgMjU2elwiXVxufTtcbmNvbnN0IGZhVmlhbENpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ZpYWwtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJlNTk2XCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNjQgMCA2NCAwIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNzAuOGMtMjAuMiAyOC42LTMyIDYzLjUtMzIgMTAxLjJjMCAyNS4yIDUuMyA0OS4xIDE0LjggNzAuOEMxODkuNSA0NjMuNyAxNjAuNiA0ODAgMTI4IDQ4MGMtNTMgMC05Ni00My05Ni05NkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek05NiA5NmwwIDk2IDY0IDAgMC05Nkw5NiA5NnpNMjI0IDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMTEuMy00My4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwzNTIgMzg1LjRsLTI4LjctMjguN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw3Mi03MmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkFycm93RG93blRvTGluZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24tYXJyb3ctZG93bi10by1saW5lJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTM4XCIsIFwiTTE5MiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDM1MmwwLTk2IDE2IDAgMCA5Ni0xNiAwem0tNjQgMGwtODggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjAgMCA4MCAwIDM3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zNDQgMCAwLTE5MS4xIDI4LjYgNDcuNWM5LjEgMTUuMSAyOC44IDIwIDQzLjkgMTAuOXMyMC0yOC44IDEwLjktNDMuOWwtNTguMy05N2MtMTcuNC0yOC45LTQ4LjYtNDYuNi04Mi4zLTQ2LjZsLTI5LjcgMGMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjlMMTIwIDI1Ni45IDEyMCA0NDh6TTQ2NCA2NGwwIDI0Mi43LTI1LjQtMjUuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsODAgODBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsODAtODBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMNTI4IDMwNi43IDUyOCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG5jb25zdCBmYVZvaWNlbWFpbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd2b2ljZW1haWwnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY4OTdcIiwgXCJNMTQ0IDMyMGE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHptMTE5LjggMGMxNS4zLTIyLjkgMjQuMi01MC40IDI0LjItODBjMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRTMCAxNjAuNSAwIDI0MHM2NC41IDE0NCAxNDQgMTQ0bDM1MiAwYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0cy02NC41LTE0NC0xNDQtMTQ0cy0xNDQgNjQuNS0xNDQgMTQ0YzAgMjkuNiA4LjkgNTcuMSAyNC4yIDgwbC0xMTIuNSAwek00OTYgMTYwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwelwiXVxufTtcbmNvbnN0IGZhRmFuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjg2M1wiLCBcIk0yNTguNiAwYy0xLjcgMC0zLjQgLjEtNS4xIC41QzE2OCAxNyAxMTUuNiAxMDIuMyAxMzAuNSAxODkuM2MyLjkgMTcgOC40IDMyLjkgMTUuOSA0Ny40TDMyIDIyNGwtMi42IDBDMTMuMiAyMjQgMCAyMzcuMiAwIDI1My40YzAgMS43IC4xIDMuNCAuNSA1LjFDMTcgMzQ0IDEwMi4zIDM5Ni40IDE4OS4zIDM4MS41YzE3LTIuOSAzMi45LTguNCA0Ny40LTE1LjlMMjI0IDQ4MGwwIDIuNmMwIDE2LjIgMTMuMiAyOS40IDI5LjQgMjkuNGMxLjcgMCAzLjQtLjEgNS4xLS41QzM0NCA0OTUgMzk2LjQgNDA5LjcgMzgxLjUgMzIyLjdjLTIuOS0xNy04LjQtMzIuOS0xNS45LTQ3LjRMNDgwIDI4OGwyLjYgMGMxNi4yIDAgMjkuNC0xMy4yIDI5LjQtMjkuNGMwLTEuNy0uMS0zLjQtLjUtNS4xQzQ5NSAxNjggNDA5LjcgMTE1LjYgMzIyLjcgMTMwLjVjLTE3IDIuOS0zMi45IDguNC00Ny40IDE1LjlMMjg4IDMybDAtMi42QzI4OCAxMy4yIDI3NC44IDAgMjU4LjYgMHpNMjU2IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFQZXJzb25XYWxraW5nTHVnZ2FnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdwZXJzb24td2Fsa2luZy1sdWdnYWdlJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlNTU0XCIsIFwiTTQzMiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTM0Ny43IDIwMC41YzEtLjQgMS45LS44IDIuOS0xLjJsLTE2LjkgNjMuNWMtNS42IDIxLjEtLjEgNDMuNiAxNC43IDU5LjdsNzAuNyA3Ny4xIDIyIDg4LjFjNC4zIDE3LjEgMjEuNyAyNy42IDM4LjggMjMuM3MyNy42LTIxLjcgMjMuMy0zOC44bC0yMy05Mi4xYy0xLjktNy44LTUuOC0xNC45LTExLjItMjAuOGwtNDkuNS01NCAxOS4zLTY1LjUgOS42IDIzYzQuNCAxMC42IDEyLjUgMTkuMyAyMi44IDI0LjVsMjYuNyAxMy4zYzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOUw1MDUgMjMyLjdsLTE1LjMtMzYuOEM0NzIuNSAxNTQuOCA0MzIuMyAxMjggMzg3LjcgMTI4Yy0yMi44IDAtNDUuMyA0LjgtNjYuMSAxNGwtOCAzLjVjLTMyLjkgMTQuNi01OC4xIDQyLjQtNjkuNCA3Ni41bC0yLjYgNy44Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDIuNi03LjhjNS43LTE3LjEgMTguMy0zMC45IDM0LjctMzguMmw4LTMuNXptLTMwIDEzNS4xbC0yNSA2Mi40LTU5LjQgNTkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwzNDAuMyA0NDFjNC42LTQuNiA4LjItMTAuMSAxMC42LTE2LjFsMTQuNS0zNi4yLTQwLjctNDQuNGMtMi41LTIuNy00LjgtNS42LTctOC42ek0yNTYgMjc0LjFjLTcuNy00LjQtMTcuNC0xLjgtMjEuOSA1LjlsLTMyIDU1LjRMMTQ3LjcgMzA0Yy0xNS4zLTguOC0zNC45LTMuNi00My43IDExLjdMNDAgNDI2LjZjLTguOCAxNS4zLTMuNiAzNC45IDExLjcgNDMuN2w1NS40IDMyYzE1LjMgOC44IDM0LjkgMy42IDQzLjctMTEuN2w2NC0xMTAuOWMxLjUtMi42IDIuNi01LjIgMy4zLThMMjYxLjkgMjk2YzQuNC03LjcgMS44LTE3LjQtNS45LTIxLjl6XCJdXG59O1xuY29uc3QgZmFVcERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXAtZG93bicsXG4gIGljb246IFsyNTYsIDUxMiwgWzg1OTcsIDExMDIxLCBcImFycm93cy1hbHQtdlwiXSwgXCJmMzM4XCIsIFwiTTE0NS42IDcuN0MxNDEgMi44IDEzNC43IDAgMTI4IDBzLTEzIDIuOC0xNy42IDcuN2wtMTA0IDExMmMtNi41IDctOC4yIDE3LjItNC40IDI1LjlTMTQuNSAxNjAgMjQgMTYwbDU2IDAgMCAxOTItNTYgMGMtOS41IDAtMTguMiA1LjctMjIgMTQuNHMtMi4xIDE4LjkgNC40IDI1LjlsMTA0IDExMmM0LjUgNC45IDEwLjkgNy43IDE3LjYgNy43czEzLTIuOCAxNy42LTcuN2wxMDQtMTEyYzYuNS03IDguMi0xNy4yIDQuNC0yNS45cy0xMi41LTE0LjQtMjItMTQuNGwtNTYgMCAwLTE5MiA1NiAwYzkuNSAwIDE4LjItNS43IDIyLTE0LjRzMi4xLTE4LjktNC40LTI1LjlsLTEwNC0xMTJ6XCJdXG59O1xuY29uc3QgZmFBcnJvd3NBbHRWID0gZmFVcERvd247XG5jb25zdCBmYUNsb3VkTW9vblJhaW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2xvdWQtbW9vbi1yYWluJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNzNjXCIsIFwiTTQ4MS4yIDBDNDE3IDAgMzYzLjUgNDYuNSAzNTMuNyAxMDcuNmMzNS40IDE3LjYgNjAuMiA1My4zIDYyLjEgOTUuMWMyMy4yIDExIDQyIDI5LjcgNTMuMSA1Mi43YzQgLjQgOC4xIC42IDEyLjMgLjZjMzQuOSAwIDY2LjctMTMuOCA4OS45LTM2LjFjNS4xLTQuOSA2LjQtMTIuNSAzLjItMTguN3MtMTAuMS05LjctMTctOC42Yy00LjkgLjgtMTAgMS4zLTE1LjIgMS4zYy00OSAwLTg4LjQtMzkuMy04OC40LTg3LjRjMC0zMi42IDE4LTYxLjEgNDQuOS03Ni4xYzYuMS0zLjQgOS4zLTEwLjUgNy44LTE3LjRzLTcuMy0xMi0xNC4zLTEyLjZjLTMuNi0uMy03LjMtLjUtMTAuOS0uNXpNMzY3LjkgMzgzLjljNDQuMiAwIDgwLTM1LjggODAtODBjMC0zOS4zLTI4LjQtNzIuMS02NS44LTc4LjdjMS4yLTUuNiAxLjktMTEuMyAxLjktMTcuMmMwLTQ0LjItMzUuOC04MC04MC04MGMtMTcgMC0zMi44IDUuMy00NS44IDE0LjRDMjQxLjMgMTE0LjYgMjEwLjggOTYgMTc2IDk2Yy01MyAwLTk2IDQzLTk2IDk2bDAgMS4zYy00NS40IDcuNi04MCA0Ny4xLTgwIDk0LjZjMCA1MyA0MyA5NiA5NiA5NmwyNzEuOSAwek04NS40IDQyMC4xYy0xMS03LjQtMjUuOS00LjQtMzMuMyA2LjdsLTMyIDQ4Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMzItNDhjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zem05NiAwYy0xMS03LjQtMjUuOS00LjQtMzMuMyA2LjdsLTMyIDQ4Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMzItNDhjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zem05NiAwYy0xMS03LjQtMjUuOS00LjQtMzMuMyA2LjdsLTMyIDQ4Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMzItNDhjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zem05NiAwYy0xMS03LjQtMjUuOS00LjQtMzMuMyA2LjdsLTMyIDQ4Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMzItNDhjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zelwiXVxufTtcbmNvbnN0IGZhQ2FsZW5kYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY2FsZW5kYXInLFxuICBpY29uOiBbNDQ4LCA1MTIsIFsxMjgxOTcsIDEyODE5OF0sIFwiZjEzM1wiLCBcIk05NiAzMmwwIDMyTDQ4IDY0QzIxLjUgNjQgMCA4NS41IDAgMTEybDAgNDggNDQ4IDAgMC00OGMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzJMMTYwIDY0bDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJTOTYgMTQuMyA5NiAzMnpNNDQ4IDE5MkwwIDE5MiAwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI3MnpcIl1cbn07XG5jb25zdCBmYVRyYWlsZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaWxlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTA0MVwiLCBcIk00OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgMzM2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE3LjEgMGM3LjgtNTQuMyA1NC40LTk2IDExMC45LTk2czEwMy4xIDQxLjcgMTEwLjkgOTZMNDg4IDM4NGw4IDAgMTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC0yNDBjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJ6TTgwIDk2YzguOCAwIDE2IDcuMiAxNiAxNmwwIDEzMS4yYy0xMS40IDUuOS0yMi4yIDEyLjktMzIgMjFMNjQgMTEyYzAtOC44IDcuMi0xNiAxNi0xNnptOTYgMTI4Yy01LjQgMC0xMC43IC4yLTE2IC43TDE2MCAxMTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDExMi43Yy01LjMtLjUtMTAuNi0uNy0xNi0uN3ptODAgMTkuMkwyNTYgMTEyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNTIuMmMtOS44LTguMS0yMC42LTE1LjItMzItMjF6TTM2OCA5NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxOTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xOTJjMC04LjggNy4yLTE2IDE2LTE2em0xMTIgMTZsMCAxOTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xOTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnpNMTc2IDQ4MGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMC0xMTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQmFoYWkgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFoYWknLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcImhheWthbFwiXSwgXCJmNjY2XCIsIFwiTTI4OCAwYzE0LjUgMCAyNy4yIDkuNyAzMC45IDIzLjhsMjMuOSA4OS42IDc1LjktNTMuM2MxMS45LTguMyAyNy44LTcuNiAzOSAxLjdzMTQuNiAyNC45IDguNCAzOC4xbC0zOS4zIDg0IDkyLjQgOGMxNC40IDEuMiAyNi4yIDEyIDI4LjggMjYuM3MtNC45IDI4LjUtMTggMzQuNmwtODQuMSAzOS4xIDY1LjcgNjUuNWMxMC4zIDEwLjIgMTIuNCAyNi4xIDUuMSAzOC43cy0yMiAxOC43LTM2IDE0LjlMMzkxIDM4Ni44bDguMiA5Mi40YzEuMyAxNC40LTcuMyAyNy45LTIwLjkgMzIuOXMtMjguOSAuMS0zNy4yLTExLjdsLTUzLjEtNzYtNTMuMSA3NmMtOC4zIDExLjktMjMuNiAxNi43LTM3LjIgMTEuN3MtMjIuMi0xOC41LTIwLjktMzIuOWw4LjItOTIuNEw5NS40IDQxMC45Yy0xNCAzLjgtMjguOC0yLjMtMzYtMTQuOXMtNS4yLTI4LjQgNS4xLTM4LjdsNjUuNy02NS41TDQ2IDI1Mi43Yy0xMy4xLTYuMS0yMC41LTIwLjMtMTgtMzQuNnMxNC4zLTI1LjEgMjguOC0yNi4zbDkyLjQtOC0zOS4zLTg0Yy02LjEtMTMuMS0yLjctMjguOCA4LjQtMzguMXMyNy4xLTEwIDM5LTEuN2w3NS45IDUzLjMgMjMuOS04OS42QzI2MC44IDkuNyAyNzMuNSAwIDI4OCAwem0wIDE1Ni4ybC00LjggMThjLTIuNyAxMC4xLTEwLjIgMTguMi0yMCAyMS44cy0yMC44IDIuMS0yOS4zLTMuOWwtMTUuMi0xMC43IDcuOSAxNi44YzQuNCA5LjUgNCAyMC41LTEuMyAyOS42cy0xNC41IDE1LTI1IDE1LjlsLTE4LjUgMS42IDE2LjggNy44YzkuNSA0LjQgMTYuMiAxMy4yIDE4IDIzLjVzLTEuNSAyMC44LTguOSAyOC4ybC0xMy4yIDEzLjEgMTcuOS00LjhjMTAuMS0yLjcgMjAuOS0uMyAyOC45IDYuNHMxMi4yIDE2LjkgMTEuMyAyNy4zbC0xLjYgMTguNSAxMC42LTE1LjJjNi04LjYgMTUuOC0xMy43IDI2LjItMTMuN3MyMC4yIDUuMSAyNi4yIDEzLjdsMTAuNiAxNS4yLTEuNi0xOC41Yy0uOS0xMC40IDMuMy0yMC42IDExLjMtMjcuM3MxOC44LTkuMSAyOC45LTYuNGwxNy45IDQuOC0xMy4yLTEzLjFjLTcuNC03LjQtMTAuNy0xNy45LTguOS0yOC4yczguNS0xOS4xIDE4LTIzLjVsMTYuOC03LjgtMTguNS0xLjZjLTEwLjQtLjktMTkuNy02LjgtMjUtMTUuOXMtNS43LTIwLjEtMS4zLTI5LjZsNy45LTE2LjgtMTUuMiAxMC43Yy04LjYgNi0xOS41IDcuNS0yOS4zIDMuOXMtMTcuMy0xMS43LTIwLTIxLjhsLTQuOC0xOHpcIl1cbn07XG5jb25zdCBmYUhheWthbCA9IGZhQmFoYWk7XG5jb25zdCBmYVNkQ2FyZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzZC1jYXJkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmN2MyXCIsIFwiTTMyMCAwTDE0MS4zIDBDMTI0LjMgMCAxMDggNi43IDk2IDE4LjdMMTguNyA5NkM2LjcgMTA4IDAgMTI0LjMgMCAxNDEuM0wwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NHpNMTYwIDg4bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04MCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04MCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0elwiXVxufTtcbmNvbnN0IGZhRHJhZ29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RyYWdvbicsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyODAwOV0sIFwiZjZkNVwiLCBcIk0zNTIgMTI0LjVsLTUxLjktMTNjLTYuNS0xLjYtMTEuMy03LjEtMTItMTMuOHMyLjgtMTMuMSA4LjctMTYuMWw0MC44LTIwLjRMMjk0LjQgMjguOGMtNS41LTQuMS03LjgtMTEuMy01LjYtMTcuOVMyOTcuMSAwIDMwNCAwTDQxNiAwbDMyIDAgMTYgMGMzMC4yIDAgNTguNyAxNC4yIDc2LjggMzguNGw1Ny42IDc2LjhjNi4yIDguMyA5LjYgMTguNCA5LjYgMjguOGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjEuNSAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0w0ODAgMTYwbC0zMiAwIDAgMjEuNWMwIDI0LjggMTIuOCA0Ny45IDMzLjggNjEuMWwxMDYuNiA2Ni42YzMyLjEgMjAuMSA1MS42IDU1LjIgNTEuNiA5My4xQzY0MCA0NjIuOSA1OTAuOSA1MTIgNTMwLjIgNTEyTDQ5NiA1MTJsLTY0IDBMMzIuMyA1MTJjLTMuMyAwLTYuNi0uNC05LjYtMS40QzEzLjUgNTA3LjggNiA1MDEgMi40IDQ5Mi4xQzEgNDg4LjcgLjIgNDg1LjIgMCA0ODEuNGMtLjItMy43IC4zLTcuMyAxLjMtMTAuN2MyLjgtOS4yIDkuNi0xNi43IDE4LjYtMjAuNGMzLTEuMiA2LjItMiA5LjUtMi4yTDQzMy4zIDQxMmM4LjMtLjcgMTQuNy03LjcgMTQuNy0xNi4xYzAtNC4zLTEuNy04LjQtNC43LTExLjRsLTQ0LjQtNDQuNGMtMzAtMzAtNDYuOS03MC43LTQ2LjktMTEzLjFsMC00NS41IDAtNTd6TTUxMiA3Mi4zYzAtLjEgMC0uMiAwLS4zczAtLjIgMC0uM2wwIC42em0tMS4zIDcuNEw0NjQuMyA2OC4xYy0uMiAxLjMtLjMgMi42LS4zIDMuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNGMxMC42IDAgMTkuNS02LjggMjIuNy0xNi4zek0xMzAuOSAxMTYuNWMxNi4zLTE0LjUgNDAuNC0xNi4yIDU4LjUtNC4xbDEzMC42IDg3IDAgMjcuNWMwIDMyLjggOC40IDY0LjggMjQgOTNsLTIzMiAwYy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43TDE3MSAyMzIuMyAxOC40IDI1NS44Yy03IDEuMS0xMy45LTIuNi0xNi45LTlzLTEuNS0xNC4xIDMuOC0xOC44TDEzMC45IDExNi41elwiXVxufTtcbmNvbnN0IGZhU2hvZVByaW50cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzaG9lLXByaW50cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjU0YlwiLCBcIk00MTYgMEMzNTIuMyAwIDI1NiAzMiAyNTYgMzJsMCAxMjhjNDggMCA3NiAxNiAxMDQgMzJzNTYgMzIgMTA0IDMyYzU2LjQgMCAxNzYtMTYgMTc2LTk2UzUxMiAwIDQxNiAwek0xMjggOTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMCAwLTEyOC0zMiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHpNMjg4IDUxMmM5NiAwIDIyNC00OCAyMjQtMTI4cy0xMTkuNi05Ni0xNzYtOTZjLTQ4IDAtNzYgMTYtMTA0IDMycy01NiAzMi0xMDQgMzJsMCAxMjhzOTYuMyAzMiAxNjAgMzJ6TTAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyIDAgMC0xMjgtMzIgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NpcmNsZS1wbHVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJwbHVzLWNpcmNsZVwiXSwgXCJmMDU1XCIsIFwiTTI1NiA1MTJBMjU2IDI1NiAwIDEgMCAyNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyek0yMzIgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG5jb25zdCBmYVBsdXNDaXJjbGUgPSBmYUNpcmNsZVBsdXM7XG5jb25zdCBmYUZhY2VHcmluVG9uZ3VlV2luayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmYWNlLWdyaW4tdG9uZ3VlLXdpbmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NDAsIFwiZ3Jpbi10b25ndWUtd2lua1wiXSwgXCJmNThiXCIsIFwiTTE3NC41IDQ5OC44QzczLjEgNDY0LjcgMCAzNjguOSAwIDI1NkMwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCAxMTIuOS03My4xIDIwOC43LTE3NC41IDI0Mi44QzM0Ni43IDQ4NCAzNTIgNDY2LjYgMzUyIDQ0OGwwLTQ2LjljMjQuMy0xNy41IDQzLjYtNDEuNiA1NS40LTY5LjZjNS0xMS44LTctMjIuNS0xOS4zLTE4LjdjLTM5LjcgMTIuMi04NC41IDE5LTEzMS44IDE5cy05Mi4xLTYuOC0xMzEuOC0xOWMtMTIuMy0zLjgtMjQuMyA2LjktMTkuMyAxOC43YzExLjcgMjcuOCAzMC44IDUxLjcgNTQuOCA2OS4ybDAgNDcuM2MwIDE4LjYgNS4zIDM2IDE0LjUgNTAuOHptMjAuNy0yNjUuMmM1LjMgNy4xIDE1LjMgOC41IDIyLjQgMy4yczguNS0xNS4zIDMuMi0yMi40Yy0zMC40LTQwLjUtOTEuMi00MC41LTEyMS42IDBjLTUuMyA3LjEtMy45IDE3LjEgMy4yIDIyLjRzMTcuMSAzLjkgMjIuNC0zLjJjMTcuNi0yMy41IDUyLjgtMjMuNSA3MC40IDB6TTMzNiAyNzJhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6TTMyMCA0MDIuNmwwIDQ1LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRsMC00NS40YzAtMTQuNyAxMS45LTI2LjYgMjYuNi0yNi42bDIgMGMxMS4zIDAgMjEuMSA3LjkgMjMuNiAxOC45YzIuOCAxMi42IDIwLjggMTIuNiAyMy42IDBjMi41LTExLjEgMTIuMy0xOC45IDIzLjYtMTguOWwyIDBjMTQuNyAwIDI2LjYgMTEuOSAyNi42IDI2LjZ6TTMzNiAxODRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhR3JpblRvbmd1ZVdpbmsgPSBmYUZhY2VHcmluVG9uZ3VlV2luaztcbmNvbnN0IGZhSGFuZEhvbGRpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1ob2xkaW5nJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNGJkXCIsIFwiTTU1OS43IDM5Mi4yYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjcyIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAtMTYgMC03OC4zIDBjLTI5LjEgMC01Ny4zIDkuOS04MCAyOEw2OC44IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDAgMTYwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zem0tMzY3LTguMmMuMyAwIC42IDAgLjkgMGMwIDAgMCAwIDAgMGMtLjMgMC0uNiAwLS45IDB6XCJdXG59O1xuY29uc3QgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1Zy1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1NWRcIiwgXCJNOTYgMEM3OC4zIDAgNjQgMTQuMyA2NCAzMmwwIDk2IDY0IDAgMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYgNjQgMCAwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0zMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAzMmMwIDc3LjQgNTUgMTQyIDEyOCAxNTYuOGwwIDY3LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY3LjJjMTIuMy0yLjUgMjQuMS02LjQgMzUuMS0xMS41Yy0yLjEtMTAuOC0zLjEtMjEuOS0zLjEtMzMuM2MwLTgwLjMgNTMuOC0xNDggMTI3LjMtMTY5LjJjLjUtMi4yIC43LTQuNSAuNy02LjhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMTYwek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC05NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAtMTQ0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhTGlua1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2xpbmstc2xhc2gnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImNoYWluLWJyb2tlblwiLCBcImNoYWluLXNsYXNoXCIsIFwidW5saW5rXCJdLCBcImYxMjdcIiwgXCJNMzguOCA1LjFDMjguNC0zLjEgMTMuMy0xLjIgNS4xIDkuMlMtMS4yIDM0LjcgOS4yIDQyLjlsNTkyIDQ2NGMxMC40IDguMiAyNS41IDYuMyAzMy43LTQuMXM2LjMtMjUuNS00LjEtMzMuN0w0ODkuMyAzNTguMmw5MC41LTkwLjVjNTYuNS01Ni41IDU2LjUtMTQ4IDAtMjA0LjVjLTUwLTUwLTEyOC44LTU2LjUtMTg2LjMtMTUuNGwtMS42IDEuMWMtMTQuNCAxMC4zLTE3LjcgMzAuMy03LjQgNDQuNnMzMC4zIDE3LjcgNDQuNiA3LjRsMS42LTEuMWMzMi4xLTIyLjkgNzYtMTkuMyAxMDMuOCA4LjZjMzEuNSAzMS41IDMxLjUgODIuNSAwIDExNGwtOTYgOTYtMzEuOS0yNUM0MzAuOSAyMzkuNiA0MjAuMSAxNzUuMSAzNzcgMTMyYy01Mi4yLTUyLjMtMTM0LjUtNTYuMi0xOTEuMy0xMS43TDM4LjggNS4xek0yMzkgMTYyYzMwLjEtMTQuOSA2Ny43LTkuOSA5Mi44IDE1LjNjMjAgMjAgMjcuNSA0OC4zIDIxLjcgNzQuNUwyMzkgMTYyek00MDYuNiA0MTYuNEwyMjAuOSAyNzBjLTIuMSAzOS44IDEyLjIgODAuMSA0Mi4yIDExMGMzOC45IDM4LjkgOTQuNCA1MSAxNDMuNiAzNi4zem0tMjkwLTIyOC41TDYwLjIgMjQ0LjNjLTU2LjUgNTYuNS01Ni41IDE0OCAwIDIwNC41YzUwIDUwIDEyOC44IDU2LjUgMTg2LjMgMTUuNGwxLjYtMS4xYzE0LjQtMTAuMyAxNy43LTMwLjMgNy40LTQ0LjZzLTMwLjMtMTcuNy00NC42LTcuNGwtMS42IDEuMWMtMzIuMSAyMi45LTc2IDE5LjMtMTAzLjgtOC42Qzc0IDM3MiA3NCAzMjEgMTA1LjUgMjg5LjVsNjEuOC02MS44LTUwLjYtMzkuOXpcIl1cbn07XG5jb25zdCBmYUNoYWluQnJva2VuID0gZmFMaW5rU2xhc2g7XG5jb25zdCBmYUNoYWluU2xhc2ggPSBmYUxpbmtTbGFzaDtcbmNvbnN0IGZhVW5saW5rID0gZmFMaW5rU2xhc2g7XG5jb25zdCBmYUNsb25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb25lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMjRkXCIsIFwiTTI4OCA0NDhMNjQgNDQ4bDAtMjI0IDY0IDAgMC02NC02NCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0LTY0IDAgMCA2NHptLTY0LTk2bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU1MVwiLCBcIk0yMDggOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0xMjMuNyAyMDAuNWMxLS40IDEuOS0uOCAyLjktMS4ybC0xNi45IDYzLjVjLTUuNiAyMS4xLS4xIDQzLjYgMTQuNyA1OS43bDcwLjcgNzcuMSAyMiA4OC4xYzQuMyAxNy4xIDIxLjcgMjcuNiAzOC44IDIzLjNzMjcuNi0yMS43IDIzLjMtMzguOGwtMjMtOTIuMWMtMS45LTcuOC01LjgtMTQuOS0xMS4yLTIwLjhsLTQ5LjUtNTQgMTkuMy02NS41IDkuNiAyM2M0LjQgMTAuNiAxMi41IDE5LjMgMjIuOCAyNC41bDI2LjcgMTMuM2MxNS44IDcuOSAzNSAxLjUgNDIuOS0xNC4zczEuNS0zNS0xNC4zLTQyLjlMMjgxIDIzMi43bC0xNS4zLTM2LjhDMjQ4LjUgMTU0LjggMjA4LjMgMTI4IDE2My43IDEyOGMtMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0zMi45IDE0LjYtNTguMSA0Mi40LTY5LjQgNzYuNWwtMi42IDcuOGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwyLjYtNy44YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjV6bS0zMCAxMzUuMUw2OC43IDM5OCA5LjQgNDU3LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTE2LjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnptMzQ3LjcgMTE5YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNDYxLjMgMzg0bDE4LjcgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MHMtNzEuNi0xNjAtMTYwLTE2MEwzNTIgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTE4LjcgMCAyNS40LTI1LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTgwIDgwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w4MCA4MHpcIl1cbn07XG5jb25zdCBmYUFycm93VXBaQSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC16LWEnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNvcnQtYWxwaGEtdXAtYWx0XCJdLCBcImY4ODJcIiwgXCJNMTgzLjYgNDIuNEMxNzcuNSAzNS44IDE2OSAzMiAxNjAgMzJzLTE3LjUgMy44LTIzLjYgMTAuNGwtODggOTZjLTExLjkgMTMtMTEuMSAzMy4zIDIgNDUuMnMzMy4zIDExLjEgNDUuMi0yTDEyOCAxNDYuMyAxMjggNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDEuNyAzMi40IDM1LjRjMTEuOSAxMyAzMi4yIDEzLjkgNDUuMiAyczEzLjktMzIuMiAyLTQ1LjJsLTg4LTk2ek0zMjAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNTAuNyAwLTczLjQgNzMuNGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlzMTYuNiAxOS44IDI5LjYgMTkuOGwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTAuNyAwIDczLjQtNzMuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOXMtMTYuNi0xOS44LTI5LjYtMTkuOEwzNTIgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05NiAxOTJjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTY0IDEyOC0xNiAzMmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDcuMi0xNC4zIDg4LjQgMCA3LjIgMTQuM2M3LjkgMTUuOCAyNy4xIDIyLjIgNDIuOSAxNC4zczIyLjItMjcuMSAxNC4zLTQyLjlsLTE2LTMyLTY0LTEyOEM0MzkuMiAyNjIuOCA0MjguMSAyNTYgNDE2IDI1NnpNMzk1LjggNDAwTDQxNiAzNTkuNiA0MzYuMiA0MDBsLTQwLjQgMHpcIl1cbn07XG5jb25zdCBmYVNvcnRBbHBoYVVwQWx0ID0gZmFBcnJvd1VwWkE7XG5jb25zdCBmYUZpcmVGbGFtZUN1cnZlZCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdmaXJlLWZsYW1lLWN1cnZlZCcsXG4gIGljb246IFszODQsIDUxMiwgW1wiZmlyZS1hbHRcIl0sIFwiZjdlNFwiLCBcIk0xNTMuNiAyOS45bDE2LTIxLjNDMTczLjYgMy4yIDE4MCAwIDE4Ni43IDBDMTk4LjQgMCAyMDggOS42IDIwOCAyMS4zVjQzLjVjMCAxMy4xIDUuNCAyNS43IDE0LjkgMzQuN0wzMDcuNiAxNTlDMzU2LjQgMjA1LjYgMzg0IDI3MC4yIDM4NCAzMzcuN0MzODQgNDM0IDMwNiA1MTIgMjA5LjcgNTEySDE5MkM4NiA1MTIgMCA0MjYgMCAzMjB2LTMuOGMwLTQ4LjggMTkuNC05NS42IDUzLjktMTMwLjFsMy41LTMuNWM0LjItNC4yIDEwLTYuNiAxNi02LjZDODUuOSAxNzYgOTYgMTg2LjEgOTYgMTk4LjZWMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR2LTMuOWMwLTE4LTcuMi0zNS4zLTE5LjktNDhsLTM4LjYtMzguNmMtMjQtMjQtMzcuNS01Ni43LTM3LjUtOTAuN2MwLTI3LjcgOS01NC44IDI1LjYtNzYuOXpcIl1cbn07XG5jb25zdCBmYUZpcmVBbHQgPSBmYUZpcmVGbGFtZUN1cnZlZDtcbmNvbnN0IGZhVG9ybmFkbyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0b3JuYWRvJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI3Nzg2XSwgXCJmNzZmXCIsIFwiTTAgMzJMMCA0NS42QzAgNjIuNyAxLjcgNzkuNiA1IDk2bDM1Mi44IDBjMy4yLTYuOSA3LjUtMTMuMyAxMy0xOC44bDM4LjYtMzguNmM0LjItNC4yIDYuNi0xMCA2LjYtMTZDNDE2IDEwLjEgNDA1LjkgMCAzOTMuNCAwTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyem0zNTIuMiA5NkwxMy42IDEyOGMxMi4yIDM1LjkgMzIuMyA2OC43IDU4LjggOTZMNDEyIDIyNGwtNDcuMi02Mi45Yy03LjMtOS43LTExLjYtMjEuMi0xMi42LTMzLjF6bS0yMjYgMTM4LjJsMTE2LjQgNjguNWM4LjIgNC44IDE1LjggMTAuNyAyMi41IDE3LjNMNDQ1IDM1MmMyLTkuOCAzLTE5LjkgMy0zMC4xYzAtMjMtNS4zLTQ1LjUtMTUuMy02NS45bC0zMjIuNSAwYzUuMiAzLjYgMTAuNSA3IDE2IDEwLjJ6TTI4OCAzODRjMTAuMyAyMS40IDEzLjggNDUuNSA5LjkgNjlsLTUuOSAzNS43Yy0yIDEyLjIgNy40IDIzLjQgMTkuOCAyMy40YzUuMyAwIDEwLjQtMi4xIDE0LjItNS45bDc4LjItNzguMmMxMi44LTEyLjggMjMuMS0yNy43IDMwLjQtNDMuOUwyODggMzg0elwiXVxufTtcbmNvbnN0IGZhRmlsZUNpcmNsZVBsdXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmlsZS1jaXJjbGUtcGx1cycsXG4gIGljb246IFs1NzYsIDUxMiwgWzU4NjA2XSwgXCJlNDk0XCIsIFwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIyNCAwbDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwIDAgMzguNkMzMTAuMSAyMTkuNSAyNTYgMjg3LjQgMjU2IDM2OGMwIDU5LjEgMjkuMSAxMTEuMyA3My43IDE0My4zYy0zLjIgLjUtNi40IC43LTkuNyAuN0w2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTM4NCA2NGwtMTI4IDBMMjU2IDAgMzg0IDEyOHptNDggOTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0xNiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNDggMCAwIDQ4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC00OCAwIDAtNDh6XCJdXG59O1xuY29uc3QgZmFCb29rUXVyYW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1xdXJhbicsXG4gIGljb246IFs0NDgsIDUxMiwgW1wicXVyYW5cIl0sIFwiZjY4N1wiLCBcIk0zNTIgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzIwYzAgNTMtNDMgOTYtOTYgOTZMNjQgNTEybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDY0IDAgMzUyIDB6bTAgMzg0TDk2IDM4NGwwIDY0IDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyek0yNzQuMSAxNTAuMmwtOC45IDIxLjQtMjMuMSAxLjljLTUuNyAuNS04IDcuNS0zLjcgMTEuMkwyNTYgMTk5LjhsLTUuNCAyMi42Yy0xLjMgNS41IDQuNyA5LjkgOS42IDYuOUwyODAgMjE3LjJsMTkuOCAxMi4xYzQuOSAzIDEwLjktMS40IDkuNi02LjlMMzA0IDE5OS44bDE3LjYtMTUuMWM0LjMtMy43IDItMTAuOC0zLjctMTEuMmwtMjMuMS0xLjktOC45LTIxLjRjLTIuMi01LjMtOS42LTUuMy0xMS44IDB6TTk2IDE5MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGMyNS42IDAgNDkuNS03LjUgNjkuNS0yMC41YzMuMi0yLjEgNC41LTYuMiAzLjEtOS43cy01LjItNS42LTktNC44Yy02LjEgMS4yLTEyLjUgMS45LTE5IDEuOWMtNTIuNCAwLTk0LjktNDIuNS05NC45LTk0LjlzNDIuNS05NC45IDk0LjktOTQuOWM2LjUgMCAxMi44IC43IDE5IDEuOWMzLjggLjggNy41LTEuMyA5LTQuOHMuMi03LjYtMy4xLTkuN0MyNzMuNSA3MS41IDI0OS42IDY0IDIyNCA2NEMxNTMuMyA2NCA5NiAxMjEuMyA5NiAxOTJ6XCJdXG59O1xuY29uc3QgZmFRdXJhbiA9IGZhQm9va1F1cmFuO1xuY29uc3QgZmFBbmNob3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5jaG9yJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbOTg3NV0sIFwiZjEzZFwiLCBcIk0zMjAgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptMjEuMSA4MEMzNjcgMTU4LjggMzg0IDEyOS40IDM4NCA5NmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDMzLjQgMTcgNjIuOCA0Mi45IDgwTDIyNCAxNzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDIwOC00OCAwYy01MyAwLTk2LTQzLTk2LTk2bDAtNi4xIDcgN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMOTcgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw3IDMxOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctNyAwIDYuMWMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MGw4MCAwIDgwIDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC02LjEgNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTYtNTZjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC01NiA1NmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDctNyAwIDYuMWMwIDUzLTQzIDk2LTk2IDk2bC00OCAwIDAtMjA4IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEwLjkgMHpcIl1cbn07XG5jb25zdCBmYUJvcmRlckFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3JkZXItYWxsJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmODRjXCIsIFwiTTM4NCA5NmwwIDEyOC0xMjggMCAwLTEyOCAxMjggMHptMCAxOTJsMCAxMjgtMTI4IDAgMC0xMjggMTI4IDB6TTE5MiAyMjRMNjQgMjI0IDY0IDk2bDEyOCAwIDAgMTI4ek02NCAyODhsMTI4IDAgMCAxMjhMNjQgNDE2bDAtMTI4ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyelwiXVxufTtcbmNvbnN0IGZhRmFjZUFuZ3J5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtYW5ncnknLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjg1NDQsIFwiYW5ncnlcIl0sIFwiZjU1NlwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6TTMzOC43IDM5NS45YzYuNi01LjkgNy4xLTE2IDEuMi0yMi42QzMyMy44IDM1NS40IDI5NS43IDMzNiAyNTYgMzM2cy02Ny44IDE5LjQtODMuOSAzNy4zYy01LjkgNi42LTUuNCAxNi43IDEuMiAyMi42czE2LjcgNS40IDIyLjYtMS4yYzExLjctMTMgMzEuNi0yNi43IDYwLjEtMjYuN3M0OC40IDEzLjcgNjAuMSAyNi43YzUuOSA2LjYgMTYgNy4xIDIyLjYgMS4yek0xNzYuNCAyNzJjMTcuNyAwIDMyLTE0LjMgMzItMzJjMC0xLjUtLjEtMy0uMy00LjRsMTAuOSAzLjZjOC40IDIuOCAxNy40LTEuNyAyMC4yLTEwLjFzLTEuNy0xNy40LTEwLjEtMjAuMmwtOTYtMzJjLTguNC0yLjgtMTcuNCAxLjctMjAuMiAxMC4xczEuNyAxNy40IDEwLjEgMjAuMmwzMC43IDEwLjJjLTUuOCA1LjgtOS4zIDEzLjgtOS4zIDIyLjZjMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTguOS0zLjYtMTctOS41LTIyLjhsMzAuMi0xMC4xYzguNC0yLjggMTIuOS0xMS45IDEwLjEtMjAuMnMtMTEuOS0xMi45LTIwLjItMTAuMWwtOTYgMzJjLTguNCAyLjgtMTIuOSAxMS45LTEwLjEgMjAuMnMxMS45IDEyLjkgMjAuMiAxMC4xbDExLjctMy45Yy0uMiAxLjUtLjMgMy4xLS4zIDQuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhQW5ncnkgPSBmYUZhY2VBbmdyeTtcbmNvbnN0IGZhQ29va2llQml0ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjb29raWUtYml0ZScsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjU2NFwiLCBcIk0yNTcuNSAyNy42Yy0uOC01LjQtNC45LTkuOC0xMC4zLTEwLjZjLTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOWMtLjktNS4zLTUuMy05LjMtMTAuNi0xMC4xYy01MS41LTguMi05Mi44LTQ3LjEtMTA0LjUtOTcuNGMtMS44LTcuNi04LTEzLjQtMTUuNy0xNC42Yy01NC42LTguNy05Ny43LTUyLTEwNi4yLTEwNi44ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQXJyb3dUcmVuZERvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYXJyb3ctdHJlbmQtZG93bicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTA5N1wiLCBcIk0zODQgMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgODIuN0wzNDIuNiAxMzcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBMMTkyIDI0Mi43IDU0LjYgMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBMMzIwIDIwNS4zIDQ2Ni43IDM1MiAzODQgMzUyelwiXVxufTtcbmNvbnN0IGZhUnNzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3JzcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiZmVlZFwiXSwgXCJmMDllXCIsIFwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJjMjI5LjggMCA0MTYgMTg2LjIgNDE2IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkMzODQgMjUzLjYgMjI2LjQgOTYgMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHpNMCA0MTZhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgMCA0MTZ6TTMyIDE2MGMxNTkuMSAwIDI4OCAxMjguOSAyODggMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtMTIzLjctMTAwLjMtMjI0LTIyNC0yMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6XCJdXG59O1xuY29uc3QgZmFGZWVkID0gZmFSc3M7XG5jb25zdCBmYURyYXdQb2x5Z29uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RyYXctcG9seWdvbicsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjVlZVwiLCBcIk05NiAxNTEuNGwwIDIwOS4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyMDkuMSAwYzAtLjEgLjEtLjIgLjEtLjNsLTQuNS03LjktMzItNTZzMCAwIDAgMGMtMS40IC4xLTIuOCAuMS00LjIgLjFjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRjMS40IDAgMi44IDAgNC4yIC4xYzAgMCAwIDAgMCAwbDMyLTU2IDQuNS03LjktLjEtLjMtMjA5LjEgMGMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40ek0zODQuMyAzNTJjMzUuMiAuMiA2My43IDI4LjcgNjMuNyA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGMtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyYy0zNS4zIDAtNjQtMjguNy02NC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yMDkuMUMxMi45IDE0MC40IDAgMTE5LjcgMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsMjA5LjEgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyYzM1LjMgMCA2NCAyOC43IDY0IDY0YzAgMzUuMy0yOC41IDYzLjgtNjMuNyA2NGwtNC41IDcuOS0zMiA1Ni0yLjMgNGM0LjIgOC41IDYuNSAxOCA2LjUgMjguMXMtMi4zIDE5LjYtNi41IDI4LjFsMi4zIDQgMzIgNTYgNC41IDcuOXpcIl1cbn07XG5jb25zdCBmYVNjYWxlQmFsYW5jZWQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2NhbGUtYmFsYW5jZWQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFs5ODc4LCBcImJhbGFuY2Utc2NhbGVcIl0sIFwiZjI0ZVwiLCBcIk0zODQgMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzk4LjQgOTZjLTUuMiAyNS44LTIyLjkgNDcuMS00Ni40IDU3LjNMMzUyIDQ0OGwxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDAtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDAgMC0yOTQuN2MtMjMuNS0xMC4zLTQxLjItMzEuNi00Ni40LTU3LjNMMTI4IDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEyOCAwYzE0LjYtMTkuNCAzNy44LTMyIDY0LTMyczQ5LjQgMTIuNiA2NCAzMnptNTUuNiAyODhsMTQ0LjkgMEw1MTIgMTk1LjggNDM5LjYgMzIwek01MTIgNDE2Yy02Mi45IDAtMTE1LjItMzQtMTI2LTc4LjljLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjFDNjI3LjIgMzgyIDU3NC45IDQxNiA1MTIgNDE2ek0xMjYuOCAxOTUuOEw1NC40IDMyMGwxNDQuOSAwTDEyNi44IDE5NS44ek0uOSAzMzcuMWMtMi42LTExIDEtMjIuMyA2LjctMzIuMWw5NS4yLTE2My4yYzUtOC42IDE0LjItMTMuOCAyNC4xLTEzLjhzMTkuMSA1LjMgMjQuMSAxMy44bDk1LjIgMTYzLjJjNS43IDkuOCA5LjMgMjEuMSA2LjcgMzIuMUMyNDIgMzgyIDE4OS43IDQxNiAxMjYuOCA0MTZTMTEuNyAzODIgLjkgMzM3LjF6XCJdXG59O1xuY29uc3QgZmFCYWxhbmNlU2NhbGUgPSBmYVNjYWxlQmFsYW5jZWQ7XG5jb25zdCBmYUdhdWdlU2ltcGxlSGlnaCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnYXVnZS1zaW1wbGUtaGlnaCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzYxNjY4LCBcInRhY2hvbWV0ZXJcIiwgXCJ0YWNob21ldGVyLWZhc3RcIl0sIFwiZjYyYVwiLCBcIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwQTI1NiAyNTYgMCAxIDEgMCAyNTZ6bTMyMCA5NmMwLTE1LjktNS44LTMwLjQtMTUuMy00MS42bDc2LjYtMTQ3LjRjNi4xLTExLjggMS41LTI2LjMtMTAuMi0zMi40cy0yNi4yLTEuNS0zMi40IDEwLjJMMjYyLjEgMjg4LjNjLTItLjItNC0uMy02LjEtLjNjLTM1LjMgMC02NCAyOC43LTY0IDY0czI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpcIl1cbn07XG5jb25zdCBmYVRhY2hvbWV0ZXIgPSBmYUdhdWdlU2ltcGxlSGlnaDtcbmNvbnN0IGZhVGFjaG9tZXRlckZhc3QgPSBmYUdhdWdlU2ltcGxlSGlnaDtcbmNvbnN0IGZhU2hvd2VyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3Nob3dlcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODcwM10sIFwiZjJjY1wiLCBcIk02NCAxMzEuOUM2NCAxMTIuMSA4MC4xIDk2IDk5LjkgOTZjOS41IDAgMTguNiAzLjggMjUuNCAxMC41bDE2LjIgMTYuMmMtMjEgMzguOS0xNy40IDg3LjUgMTAuOSAxMjNMMTUxIDI0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwTDM0NSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMS4zIDEuM2MtMzUuNS0yOC4zLTg0LjItMzEuOS0xMjMtMTAuOUwxNzAuNSA2MS4zQzE1MS44IDQyLjUgMTI2LjQgMzIgOTkuOSAzMkM0NC43IDMyIDAgNzYuNyAwIDEzMS45TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMTYuMXpNMjU2IDM1MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC0xMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0zMi0zMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFEZXNrdG9wID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Rlc2t0b3AnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjg0MjEsIDYxNzA0LCBcImRlc2t0b3AtYWx0XCJdLCBcImYzOTBcIiwgXCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTc2IDAtMTAuNyAzMkwxNjAgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02OS4zIDBMMzM2IDQxNmwxNzYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek01MTIgNjRsMCAyMjRMNjQgMjg4IDY0IDY0bDQ0OCAwelwiXVxufTtcbmNvbnN0IGZhRGVza3RvcEFsdCA9IGZhRGVza3RvcDtcbmNvbnN0IGZhTSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTA5XSwgXCI0ZFwiLCBcIk0yMi43IDMzLjRjMTMuNS00LjEgMjguMSAxLjEgMzUuOSAxMi45TDIyNCAyOTQuMyAzODkuNCA0Ni4zYzcuOC0xMS43IDIyLjQtMTcgMzUuOS0xMi45UzQ0OCA0OS45IDQ0OCA2NGwwIDM4NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI3OC4zTDI1MC42IDM2OS44Yy01LjkgOC45LTE1LjkgMTQuMi0yNi42IDE0LjJzLTIwLjctNS4zLTI2LjYtMTQuMkw2NCAxNjkuNyA2NCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMMCA2NEMwIDQ5LjkgOS4yIDM3LjUgMjIuNyAzMy40elwiXVxufTtcbmNvbnN0IGZhVGFibGVMaXN0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RhYmxlLWxpc3QnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInRoLWxpc3RcIl0sIFwiZjAwYlwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptNjQgMGwwIDY0IDY0IDAgMC02NEw2NCA5NnptMzg0IDBMMTkyIDk2bDAgNjQgMjU2IDAgMC02NHpNNjQgMjI0bDAgNjQgNjQgMCAwLTY0LTY0IDB6bTM4NCAwbC0yNTYgMCAwIDY0IDI1NiAwIDAtNjR6TTY0IDM1MmwwIDY0IDY0IDAgMC02NC02NCAwem0zODQgMGwtMjU2IDAgMCA2NCAyNTYgMCAwLTY0elwiXVxufTtcbmNvbnN0IGZhVGhMaXN0ID0gZmFUYWJsZUxpc3Q7XG5jb25zdCBmYUNvbW1lbnRTbXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnY29tbWVudC1zbXMnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcInNtc1wiXSwgXCJmN2NkXCIsIFwiTTI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMlMwIDEyNS4xIDAgMjQwYzAgNDUuMSAxNy43IDg2LjggNDcuNyAxMjAuOWMtMS45IDI0LjUtMTEuNCA0Ni4zLTIxLjQgNjIuOWMtNS41IDkuMi0xMS4xIDE2LjYtMTUuMiAyMS42Yy0yLjEgMi41LTMuNyA0LjQtNC45IDUuN2MtLjYgLjYtMSAxLjEtMS4zIDEuNGwtLjMgLjNjMCAwIDAgMCAwIDBjMCAwIDAgMCAwIDBzMCAwIDAgMHMwIDAgMCAwYy00LjYgNC42LTUuOSAxMS40LTMuNCAxNy40YzIuNSA2IDguMyA5LjkgMTQuOCA5LjljMjguNyAwIDU3LjYtOC45IDgxLjYtMTkuM2MyMi45LTEwIDQyLjQtMjEuOSA1NC4zLTMwLjZjMzEuOCAxMS41IDY3IDE3LjkgMTA0LjEgMTcuOXpNOTYgMjEyLjhjMC0yMC4zIDE2LjUtMzYuOCAzNi44LTM2LjhsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTIuNyAwLTQuOCAyLjItNC44IDQuOGMwIDEuNiAuOCAzLjEgMi4yIDRsMjkuNCAxOS42YzEwLjMgNi44IDE2LjQgMTguMyAxNi40IDMwLjdjMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhMMTEyIDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwyNy4yIDBjMi43IDAgNC44LTIuMiA0LjgtNC44YzAtMS42LS44LTMuMS0yLjItNGwtMjkuNC0xOS42QzEwMi4yIDIzNi43IDk2IDIyNS4yIDk2IDIxMi44ek0zNzIuOCAxNzZsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTIuNyAwLTQuOCAyLjItNC44IDQuOGMwIDEuNiAuOCAzLjEgMi4yIDRsMjkuNCAxOS42YzEwLjIgNi44IDE2LjQgMTguMyAxNi40IDMwLjdjMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhMMzUyIDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwyNy4yIDBjMi43IDAgNC44LTIuMiA0LjgtNC44YzAtMS42LS44LTMuMS0yLjItNGwtMjkuNC0xOS42Yy0xMC4yLTYuOC0xNi40LTE4LjMtMTYuNC0zMC43YzAtMjAuMyAxNi41LTM2LjggMzYuOC0zNi44em0tMTUyIDYuNEwyNTYgMjI5LjNsMzUuMi00Ni45YzQuMS01LjUgMTEuMy03LjggMTcuOS01LjZzMTAuOSA4LjMgMTAuOSAxNS4ybDAgOTZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OC0xOS4yIDI1LjZjLTMgNC03LjggNi40LTEyLjggNi40cy05LjgtMi40LTEyLjgtNi40TDIyNCAyNDBsMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNi45IDQuNC0xMyAxMC45LTE1LjJzMTMuNyAuMSAxNy45IDUuNnpcIl1cbn07XG5jb25zdCBmYVNtcyA9IGZhQ29tbWVudFNtcztcbmNvbnN0IGZhQm9vayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib29rJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTI4MjEyXSwgXCJmMDJkXCIsIFwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwyODggMCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMjBjMC0xNy43LTE0LjMtMzItMzItMzJMMzg0IDAgOTYgMHptMCAzODRsMjU2IDAgMCA2NEw5NiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTMyLTI0MGMwLTguOCA3LjItMTYgMTYtMTZsMTkyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE5MiAwYy04LjggMC0xNi03LjItMTYtMTZ6bTE2IDQ4bDE5MiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpcIl1cbn07XG5jb25zdCBmYVVzZXJQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItcGx1cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjIzNFwiLCBcIk05NiAxMjhhMTI4IDEyOCAwIDEgMSAyNTYgMEExMjggMTI4IDAgMSAxIDk2IDEyOHpNMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNGw5MS40IDBDMzY4LjIgMzA0IDQ0OCAzODMuOCA0NDggNDgyLjNjMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMMjkuNyA1MTJDMTMuMyA1MTIgMCA0OTguNyAwIDQ4Mi4zek01MDQgMzEybDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpcIl1cbn07XG5jb25zdCBmYUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NoZWNrJyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbMTAwMDMsIDEwMDA0XSwgXCJmMDBjXCIsIFwiTTQzOC42IDEwNS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0yNTYgMjU2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxNjAgMzM4LjcgMzkzLjQgMTA1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDB6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5VGhyZWVRdWFydGVycyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXCJiYXR0ZXJ5LTRcIl0sIFwiZjI0MVwiLCBcIk00NjQgMTYwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2MGMwIDguOC03LjIgMTYtMTYgMTZMODAgMzUyYy04LjggMC0xNi03LjItMTYtMTZsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZMMCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBsMzg0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMODAgOTZ6bTI3MiA5Nkw5NiAxOTJsMCAxMjggMjU2IDAgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFCYXR0ZXJ5NCA9IGZhQmF0dGVyeVRocmVlUXVhcnRlcnM7XG5jb25zdCBmYUhvdXNlQ2lyY2xlQ2hlY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG91c2UtY2lyY2xlLWNoZWNrJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTA5XCIsIFwiTTMyMC43IDM1MmM4LjEtODkuNyA4My41LTE2MCAxNzUuMy0xNjBjOC45IDAgMTcuNiAuNyAyNi4xIDEuOUwzMDkuNSA3Yy02LTUtMTQtNy0yMS03cy0xNSAxLTIyIDhMMTAgMjMxLjVjLTcgNy0xMCAxNS0xMCAyNGMwIDE4IDE0IDMyLjEgMzIgMzIuMWwzMiAwIDAgNjkuN2MtLjEgLjktLjEgMS44LS4xIDIuOGwwIDExMmMwIDIyLjEgMTcuOSA0MCA0MCA0MGwxNiAwYzEuMiAwIDIuNC0uMSAzLjYtLjJjMS41IC4xIDMgLjIgNC41IC4ybDMxLjkgMCAyNCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtMjQgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwIC43IDB6TTY0MCAzNjhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTc2LjctNDMuM2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNzIgNzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwTDQ4MCAzODUuNGw2MC43LTYwLjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6XCJdXG59O1xuY29uc3QgZmFBbmdsZUxlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYW5nbGUtbGVmdCcsXG4gIGljb246IFszMjAsIDUxMiwgWzgyNDldLCBcImYxMDRcIiwgXCJNNDEuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDI1NiAyNDYuNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHpcIl1cbn07XG5jb25zdCBmYURpYWdyYW1TdWNjZXNzb3IgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZGlhZ3JhbS1zdWNjZXNzb3InLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0N2FcIiwgXCJNNTEyIDQxNmwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NHpNNjQgMTYwbDAtNjQgMTQ0IDAgMTYgMCAwIDY0TDY0IDE2MHptMjI0IDBsMC02NCA4MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2LTM4LjEgMGMtMjEuNCAwLTMyLjEgMjUuOS0xNyA0MUwzOTkgMjM5YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDUwMyAxNjljMTUuMS0xNS4xIDQuNC00MS0xNy00MUw0NDggMTI4bDAtMTZjMC00NC4yLTM1LjgtODAtODAtODBMMjI0IDMybC0xNiAwTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NHpcIl1cbn07XG5jb25zdCBmYVRydWNrQXJyb3dSaWdodCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cnVjay1hcnJvdy1yaWdodCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTU4YlwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEwzNjggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4IDUwLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w1ODkuMyAxOTJjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM2wwIDE4LjcgMCAzMiAwIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bC0xMjggMGMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwtMTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA0OHpNNDE2IDI1NmwxMjggMCAwLTE4LjdMNDY2LjcgMTYwIDQxNiAxNjBsMCA5NnpNMTYwIDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTM2OC00OGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0yNTcgOTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzkgMzlMOTYgMTY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2Ni4xIDAtMzkgMzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4MC04MGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUwyNTcgOTV6XCJdXG59O1xuY29uc3QgZmFBcnJvd3NTcGxpdFVwQW5kTGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU0YmNcIiwgXCJNMjQ2LjYgMTUwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDM1MiAxMDkuMyAzNTIgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMTQuNyAwIDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMTA5LjMgMjU2IDIyNCAyNTZjMjMuMyAwIDQ1LjIgNi4yIDY0IDE3LjFsMC0xNjMuOS00MS40IDQxLjR6XCJdXG59O1xuY29uc3QgZmFIYW5kRmlzdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLWZpc3QnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs5OTk0LCBcImZpc3QtcmFpc2VkXCJdLCBcImY2ZGVcIiwgXCJNMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTItNjQgMCAwLTExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDgwLTY0IDAgMC04MHptMTkyIDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZ6bTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNmMxMy4yIDAgMjUuNC00IDM1LjYtMTAuOGM4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44YzExLjcgMCAyMi42LTMuMSAzMi04LjZsMCA4LjZjMCA1Mi4zLTI1LjEgOTguOC02NCAxMjhsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzguNGMtMTcuMy03LjktMzMuMi0xOC44LTQ2LjktMzIuNUw2OS41IDM1Ny41QzQ1LjUgMzMzLjUgMzIgMzAwLjkgMzIgMjY3bDAtMjdjMC0zNS4zIDI4LjctNjQgNjQtNjRsODggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcyelwiXVxufTtcbmNvbnN0IGZhRmlzdFJhaXNlZCA9IGZhSGFuZEZpc3Q7XG5jb25zdCBmYUNsb3VkTW9vbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjbG91ZC1tb29uJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNmMzXCIsIFwiTTQ5NS44IDBjNS41IDAgMTAuOSAuMiAxNi4zIC43YzcgLjYgMTIuOCA1LjcgMTQuMyAxMi41cy0xLjYgMTMuOS03LjcgMTcuM2MtNDQuNCAyNS4yLTc0LjQgNzMtNzQuNCAxMjcuOGMwIDgxIDY1LjUgMTQ2LjYgMTQ2LjIgMTQ2LjZjOC42IDAgMTctLjcgMjUuMS0yLjFjNi45LTEuMiAxMy44IDIuMiAxNyA4LjVzMS45IDEzLjgtMy4xIDE4LjdjLTM0LjUgMzMuNi04MS43IDU0LjQtMTMzLjYgNTQuNGMtOS4zIDAtMTguNC0uNy0yNy40LTEuOWMtMTEuMi0yMi42LTI5LjgtNDAuOS01Mi42LTUxLjdjLTIuNy01OC41LTUwLjMtMTA1LjMtMTA5LjItMTA2LjdjLTEuNy0xMC40LTIuNi0yMS0yLjYtMzEuOEMzMDQgODYuMSAzODkuOCAwIDQ5NS44IDB6TTQ0Ny45IDQzMS45YzAgNDQuMi0zNS44IDgwLTgwIDgwTDk2IDUxMS45Yy01MyAwLTk2LTQzLTk2LTk2YzAtNDcuNiAzNC42LTg3IDgwLTk0LjZsMC0xLjNjMC01MyA0My05NiA5Ni05NmMzNC45IDAgNjUuNCAxOC42IDgyLjIgNDYuNGMxMy05LjEgMjguOC0xNC40IDQ1LjgtMTQuNGM0NC4yIDAgODAgMzUuOCA4MCA4MGMwIDUuOS0uNiAxMS43LTEuOSAxNy4yYzM3LjQgNi43IDY1LjggMzkuNCA2NS44IDc4Ljd6XCJdXG59O1xuY29uc3QgZmFCcmllZmNhc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnJpZWZjYXNlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4MTg4XSwgXCJmMGIxXCIsIFwiTTE4NCA0OGwxNDQgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MEwxNzYgOTZsMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDBMNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwbDAgOTYgMTkyIDAgMTI4IDAgMTkyIDAgMC05NmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDE4NCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnpNNTEyIDI4OGwtMTkyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMkwwIDI4OCAwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTEyOHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkZhbGxpbmcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLWZhbGxpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1NDZcIiwgXCJNMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5LjhjMCA1NC42LTI3LjkgMTA0LjYtNzIuNSAxMzMuNmwuMiAuM0wzMDQuNSAyNTZsODcuNSAwYzE1LjEgMCAyOS4zIDcuMSAzOC40IDE5LjJsNDMuMiA1Ny42YzEwLjYgMTQuMSA3LjcgMzQuMi02LjQgNDQuOHMtMzQuMiA3LjctNDQuOC02LjRMMzg0IDMyMGwtOTYgMC0xLjQgMCA5Mi4zIDE0Mi42YzkuNiAxNC44IDUuNCAzNC42LTkuNSA0NC4zcy0zNC42IDUuNC00NC4zLTkuNUwxNjQuNSAyNDkuMmMtMi45IDkuMi00LjUgMTktNC41IDI5bDAgNzMuOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTczLjhjMC02NS4xIDM5LjYtMTIzLjcgMTAwLjEtMTQ3LjlDMjMyLjMgMTE1LjggMjU2IDgwLjggMjU2IDQxLjhsMC05LjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTExMiAzMmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6XCJdXG59O1xuY29uc3QgZmFJbWFnZVBvcnRyYWl0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ltYWdlLXBvcnRyYWl0JyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXCJwb3J0cmFpdFwiXSwgXCJmM2UwXCIsIFwiTTM4NCA2NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NHpNMTI4IDE5MmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTgwIDM1Ni42YzAtMzcuOSAzMC43LTY4LjYgNjguNi02OC42bDg2LjkgMGMzNy45IDAgNjguNiAzMC43IDY4LjYgNjguNmMwIDE1LjEtMTIuMyAyNy40LTI3LjQgMjcuNGwtMTY5LjEgMEM5Mi4zIDM4NCA4MCAzNzEuNyA4MCAzNTYuNnpcIl1cbn07XG5jb25zdCBmYVBvcnRyYWl0ID0gZmFJbWFnZVBvcnRyYWl0O1xuY29uc3QgZmFVc2VyVGFnID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItdGFnJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJmNTA3XCIsIFwiTTIyNCAyNTZBMTI4IDEyOCAwIDEgMCAyMjQgMGExMjggMTI4IDAgMSAwIDAgMjU2em0tNDUuNyA0OEM3OS44IDMwNCAwIDM4My44IDAgNDgyLjNDMCA0OTguNyAxMy4zIDUxMiAyOS43IDUxMmwzODguNiAwYzEwIDAgMTguOC00LjkgMjQuMi0xMi41bC05OS4yLTk5LjJjLTE0LjktMTQuOS0yMy4zLTM1LjEtMjMuMy01Ni4xbDAtMzNjLTE1LjktNC43LTMyLjgtNy4yLTUwLjMtNy4ybC05MS40IDB6TTM4NCAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgODIuN2MwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM0w0NzguMSA0OTEuM2MxOC43IDE4LjcgNDkuMSAxOC43IDY3LjkgMGw3My40LTczLjRjMTguNy0xOC43IDE4LjctNDkuMSAwLTY3LjlMNTEyIDI0Mi43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43TDM4NCAyMjR6bTI0IDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6XCJdXG59O1xuY29uc3QgZmFSdWcgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncnVnJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlNTY5XCIsIFwiTTI0IDY0bDMyIDAgMjQgMCAwIDI0IDAgODggMCA4MCAwIDgwIDAgODggMCAyNC0yNCAwLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTMyLTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0zMi04IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwQzEwLjcgMTEyIDAgMTAxLjMgMCA4OFMxMC43IDY0IDI0IDY0em04OCAwbDQxNiAwIDAgMzg0LTQxNiAwIDAtMzg0ek02NDAgODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTggMCAwIDQwIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgMzIgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCAzMiA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDQwIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMC0yNCAwIDAtMjQgMC04OCAwLTgwIDAtODAgMC04OCAwLTI0IDI0IDAgMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHpcIl1cbn07XG5jb25zdCBmYUVhcnRoRXVyb3BlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2VhcnRoLWV1cm9wZScsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZ2xvYmUtZXVyb3BlXCJdLCBcImY3YTJcIiwgXCJNMjY2LjMgNDguM0wyMzIuNSA3My42Yy01LjQgNC04LjUgMTAuNC04LjUgMTcuMWwwIDkuMWMwIDYuOCA1LjUgMTIuMyAxMi4zIDEyLjNjMi40IDAgNC44LS43IDYuOC0yLjFsNDEuOC0yNy45YzItMS4zIDQuNC0yLjEgNi44LTIuMWwxIDBjNi4yIDAgMTEuMyA1LjEgMTEuMyAxMS4zYzAgMy0xLjIgNS45LTMuMyA4bC0xOS45IDE5LjljLTUuOCA1LjgtMTIuOSAxMC4yLTIwLjcgMTIuOGwtMjYuNSA4LjhjLTUuOCAxLjktOS42IDcuMy05LjYgMTMuNGMwIDMuNy0xLjUgNy4zLTQuMSAxMGwtMTcuOSAxNy45Yy02LjQgNi40LTkuOSAxNS05LjkgMjRsMCA0LjNjMCAxNi40IDEzLjYgMjkuNyAyOS45IDI5LjdjMTEgMCAyMS4yLTYuMiAyNi4xLTE2bDQtOC4xYzIuNC00LjggNy40LTcuOSAxMi44LTcuOWM0LjUgMCA4LjcgMi4xIDExLjQgNS43bDE2LjMgMjEuN2MyLjEgMi45IDUuNSA0LjUgOS4xIDQuNWM4LjQgMCAxMy45LTguOSAxMC4xLTE2LjRsLTEuMS0yLjNjLTMuNS03IDAtMTUuNSA3LjUtMThsMjEuMi03LjFjNy42LTIuNSAxMi43LTkuNiAxMi43LTE3LjZjMC0xMC4zIDguMy0xOC42IDE4LjYtMTguNmwyOS40IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTIwLjcgMGMtNy4yIDAtMTQuMiAyLjktMTkuMyA4bC00LjcgNC43Yy0yLjEgMi4xLTMuMyA1LTMuMyA4YzAgNi4yIDUuMSAxMS4zIDExLjMgMTEuM2wxMS4zIDBjNiAwIDExLjggMi40IDE2IDYuNmw2LjUgNi41YzEuOCAxLjggMi44IDQuMyAyLjggNi44cy0xIDUtMi44IDYuOGwtNy41IDcuNUMzODYgMjYyIDM4NCAyNjYuOSAzODQgMjcyczIgMTAgNS43IDEzLjdMNDA4IDMwNGMxMC4yIDEwLjIgMjQuMSAxNiAzOC42IDE2bDcuMyAwYzYuNS0yMC4yIDEwLTQxLjcgMTAtNjRjMC0xMTEuNC04Ny42LTIwMi40LTE5Ny43LTIwNy43em0xNzIgMzA3LjljLTMuNy0yLjYtOC4yLTQuMS0xMy00LjFjLTYgMC0xMS44LTIuNC0xNi02LjZMMzk2IDMzMmMtNy43LTcuNy0xOC0xMi0yOC45LTEyYy05LjcgMC0xOS4yLTMuNS0yNi42LTkuOEwzMTQgMjg3LjRjLTExLjYtOS45LTI2LjQtMTUuNC00MS43LTE1LjRsLTIwLjkgMGMtMTIuNiAwLTI1IDMuNy0zNS41IDEwLjdMMTg4LjUgMzAxYy0xNy44IDExLjktMjguNSAzMS45LTI4LjUgNTMuM2wwIDMuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2wxNiAxNmM4LjUgOC41IDIwIDEzLjMgMzIgMTMuM2wyMS4zIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRjMCAyLjUgLjQgNSAxLjEgNy4zYzcxLjMtNS44IDEzMi41LTQ3LjYgMTY1LjItMTA3LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDBBMjU2IDI1NiAwIDEgMSAwIDI1NnpNMTg3LjMgMTAwLjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0zMiAzMmMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDMyLTMyYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42elwiXVxufTtcbmNvbnN0IGZhR2xvYmVFdXJvcGUgPSBmYUVhcnRoRXVyb3BlO1xuY29uc3QgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhcnQtZmxhdGJlZC1zdWl0Y2FzZScsXG4gIGljb246IFs2NDAsIDUxMiwgW1wibHVnZ2FnZS1jYXJ0XCJdLCBcImY1OWRcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMNDggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsNDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY2LjcgMGMxLjggNSAyLjcgMTAuNCAyLjcgMTZjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC01LjYgMS0xMSAyLjctMTZsLTE5Ny41IDBjMS44IDUgMi43IDEwLjQgMi43IDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtNS42IDEtMTEgMi43LTE2TDE0NCA0NDhjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDY0IDgwYzAtOC44LTcuMi0xNi0xNi0xNkwzMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyek00MzIgOTZsMC00MGMwLTQuNC0zLjYtOC04LThsLTgwIDBjLTQuNCAwLTggMy42LTggOGwwIDQwIDk2IDB6TTI4OCA5NmwwLTQwYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDgwIDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCA0MCAwIDIyNC0xOTIgMCAwLTIyNHpNNTEyIDMyMGwwLTIyNCAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNiAwek0yNDAgOTZsMTYgMCAwIDIyNC0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTEyOGMwLTI2LjUgMjEuNS00OCA0OC00OHpcIl1cbn07XG5jb25zdCBmYUx1Z2dhZ2VDYXJ0ID0gZmFDYXJ0RmxhdGJlZFN1aXRjYXNlO1xuY29uc3QgZmFSZWN0YW5nbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdyZWN0YW5nbGUteG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MjE2NCwgXCJyZWN0YW5nbGUtdGltZXNcIiwgXCJ0aW1lcy1yZWN0YW5nbGVcIiwgXCJ3aW5kb3ctY2xvc2VcIl0sIFwiZjQxMFwiLCBcIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0xNzUgMTc1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDQ3IDQ3IDQ3LTQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNDcgNDcgNDcgNDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDctNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDctNDctNDctNDdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45elwiXVxufTtcbmNvbnN0IGZhUmVjdGFuZ2xlVGltZXMgPSBmYVJlY3RhbmdsZVhtYXJrO1xuY29uc3QgZmFUaW1lc1JlY3RhbmdsZSA9IGZhUmVjdGFuZ2xlWG1hcms7XG5jb25zdCBmYVdpbmRvd0Nsb3NlID0gZmFSZWN0YW5nbGVYbWFyaztcbmNvbnN0IGZhQmFodFNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFodC1zaWduJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlMGFjXCIsIFwiTTE0NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyTDM3LjYgNjRDMTYuOCA2NCAwIDgwLjggMCAxMDEuNkwwIDIyNGwwIDQxLjdMMCAyODggMCA0MDYuM2MwIDIzIDE4LjcgNDEuNyA0MS43IDQxLjdsNzAuMyAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjNjEuOSAwIDExMi01MC4xIDExMi0xMTJjMC00MC4xLTIxLjEtNzUuMy01Mi43LTk1LjFDMjgwLjMgMjIyLjYgMjg4IDIwMC4yIDI4OCAxNzZjMC02MS45LTUwLjEtMTEyLTExMi0xMTJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMTEyIDEyOGwwIDk2LTQ4IDAgMC05NiA0OCAwem02NCA5NmwwLTk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4em0tNjQgNjRsMCA5Ni00OCAwIDAtOTYgNDggMHptNjQgOTZsMC05NiAzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC0zMiAwelwiXVxufTtcbmNvbnN0IGZhQm9va09wZW4gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1vcGVuJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbMTI4MjE0LCAxMjgzNjZdLCBcImY1MThcIiwgXCJNMjQ5LjYgNDcxLjVjMTAuOCAzLjggMjIuNC00LjEgMjIuNC0xNS41bDAtMzc3LjRjMC00LjItMS42LTguNC01LTExQzI0Ny40IDUyIDIwMi40IDMyIDE0NCAzMkM5My41IDMyIDQ2LjMgNDUuMyAxOC4xIDU2LjFDNi44IDYwLjUgMCA3MS43IDAgODMuOEwwIDQ1NC4xYzAgMTEuOSAxMi44IDIwLjIgMjQuMSAxNi41QzU1LjYgNDYwLjEgMTA1LjUgNDQ4IDE0NCA0NDhjMzMuOSAwIDc5IDE0IDEwNS42IDIzLjV6bTc2LjggMEMzNTMgNDYyIDM5OC4xIDQ0OCA0MzIgNDQ4YzM4LjUgMCA4OC40IDEyLjEgMTE5LjkgMjIuNmMxMS4zIDMuOCAyNC4xLTQuNiAyNC4xLTE2LjVsMC0zNzAuM2MwLTEyLjEtNi44LTIzLjMtMTguMS0yNy42QzUyOS43IDQ1LjMgNDgyLjUgMzIgNDMyIDMyYy01OC40IDAtMTAzLjQgMjAtMTIzIDM1LjZjLTMuMyAyLjYtNSA2LjgtNSAxMUwzMDQgNDU2YzAgMTEuNCAxMS43IDE5LjMgMjIuNCAxNS41elwiXVxufTtcbmNvbnN0IGZhQm9va0pvdXJuYWxXaGlsbHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYm9vay1qb3VybmFsLXdoaWxscycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wiam91cm5hbC13aGlsbHNcIl0sIFwiZjY2YVwiLCBcIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDM4NCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMEw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NnpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjRMOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnptOTAuNC0yMzQuNGwtMjEuMi0yMS4yYy0zIDEwLjEtNS4xIDIwLjYtNS4xIDMxLjZjMCAuMiAwIC41IC4xIC44cy4xIC41IC4xIC44TDE2NS4yIDIyNmMyLjUgMi4xIDMuNCA1LjggMi4zIDguOWMtMS4zIDMtNC4xIDUuMS03LjUgNS4xYy0xLjktLjEtMy44LS44LTUuMi0ybC0yMy42LTIwLjZDMTQyLjggMjY3IDE4Ni45IDMwNCAyNDAgMzA0czk3LjMtMzcgMTA4LjktODYuNkwzMjUuMyAyMzhjLTEuNCAxLjItMy4zIDItNS4zIDJjLTIuMi0uMS00LjQtMS4xLTYtMi44Yy0xLjItMS41LTEuOS0zLjQtMi01LjJjLjEtMi4yIDEuMS00LjQgMi44LTZsMzcuMS0zMi41YzAtLjMgMC0uNSAuMS0uOHMuMS0uNSAuMS0uOGMwLTExLTIuMS0yMS41LTUuMS0zMS42bC0yMS4yIDIxLjJjLTMuMSAzLjEtOC4xIDMuMS0xMS4zIDBzLTMuMS04LjEgMC0xMS4ybDI2LjQtMjYuNWMtOC4yLTE3LTIwLjUtMzEuNy0zNS45LTQyLjZjLTIuNy0xLjktNi4yIDEuNC01IDQuNWM4LjUgMjIuNCAzLjYgNDgtMTMgNjUuNmMtMy4yIDMuNC0zLjYgOC45LS45IDEyLjdjOS44IDE0IDEyLjcgMzEuOSA3LjUgNDguNWMtNS45IDE5LjQtMjIgMzQuMS00MS45IDM4LjNsLTEuNC0zNC4zIDEyLjYgOC42Yy42IC40IDEuNSAuNiAyLjMgLjZjMS41IDAgMi43LS44IDMuNS0ycy42LTIuOC0uMS00TDI2MCAyMjUuNGwxOC0zLjZjMS44LS40IDMuMS0yLjEgMy4xLTRzLTEuNC0zLjUtMy4xLTMuOWwtMTgtMy43IDguNS0xNC4zYy44LTEuMiAuOS0yLjkgLjEtNC4xcy0yLTItMy41LTJsLS4xIDBjLS43IC4xLTEuNSAuMy0yLjEgLjdsLTE0LjEgOS42TDI0NCA4Ny45Yy0uMS0yLjItMS45LTMuOS00LTMuOXMtMy45IDEuNi00IDMuOWwtNC42IDExMC44LTEyLTguMWMtMS41LTEuMS0zLjYtLjktNSAuNHMtMS42IDMuNC0uOCA1bDguNiAxNC4zLTE4IDMuN2MtMS44IC40LTMuMSAyLTMuMSAzLjlzMS40IDMuNiAzLjEgNGwxOCAzLjgtOC42IDE0LjJjLS4yIC42LS41IDEuNC0uNSAyYzAgMS4xIC41IDIuMSAxLjIgM2MuOCAuNiAxLjggMSAyLjggMWMuNyAwIDEuNi0uMiAyLjItLjZsMTAuNC03LjEtMS40IDMyLjhjLTE5LjktNC4xLTM2LTE4LjktNDEuOS0zOC4zYy01LjEtMTYuNi0yLjItMzQuNCA3LjYtNDguNWMyLjctMy45IDIuMy05LjMtLjktMTIuN2MtMTYuNi0xNy41LTIxLjYtNDMuMS0xMy4xLTY1LjVjMS4yLTMuMS0yLjMtNi40LTUtNC41Yy0xNS4zIDEwLjktMjcuNiAyNS42LTM1LjggNDIuNmwyNi40IDI2LjVjMy4xIDMuMSAzLjEgOC4xIDAgMTEuMnMtOC4xIDMuMS0xMS4yIDB6XCJdXG59O1xuY29uc3QgZmFKb3VybmFsV2hpbGxzID0gZmFCb29rSm91cm5hbFdoaWxscztcbmNvbnN0IGZhSGFuZGN1ZmZzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmRjdWZmcycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTRmOFwiLCBcIk0yNDAgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMTkyIDQ4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptLTMyIDgwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE2YzAgMS43LS4yIDMuNC0uNSA1LjFDMjgwLjMgMjI5LjYgMzIwIDI4Ni4yIDMyMCAzNTJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0NDAuNCAwIDM1MmMwLTY1LjggMzkuNy0xMjIuNCA5Ni41LTE0Ni45Yy0uNC0xLjYtLjUtMy4zLS41LTUuMWwwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDggMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAzMjBhOTYgOTYgMCAxIDAgMC0xOTIgOTYgOTYgMCAxIDAgMCAxOTJ6bTE5Mi05NmMwLTI1LjktNS4xLTUwLjUtMTQuNC03My4xYzE2LjktMzIuOSA0NC44LTU5LjEgNzguOS03My45Yy0uNC0xLjYtLjUtMy4zLS41LTUuMWwwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDggMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE2YzAgMS43LS4yIDMuNC0uNSA1LjFDNjAwLjMgMjI5LjYgNjQwIDI4Ni4yIDY0MCAzNTJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBjLTYyIDAtMTE1LjgtMzUuMy0xNDIuNC04Ni45YzkuMy0yMi41IDE0LjQtNDcuMiAxNC40LTczLjF6bTIyNCAwYTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHpNMzY4IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em04MCA0OGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFUcmlhbmdsZUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RyaWFuZ2xlLWV4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbOTg4OCwgXCJleGNsYW1hdGlvbi10cmlhbmdsZVwiLCBcIndhcm5pbmdcIl0sIFwiZjA3MVwiLCBcIk0yNTYgMzJjMTQuMiAwIDI3LjMgNy41IDM0LjUgMTkuOGwyMTYgMzY4YzcuMyAxMi40IDcuMyAyNy43IC4yIDQwLjFTNDg2LjMgNDgwIDQ3MiA0ODBMNDAgNDgwYy0xNC4zIDAtMjcuNi03LjctMzQuNy0yMC4xcy03LTI3LjggLjItNDAuMWwyMTYtMzY4QzIyOC43IDM5LjUgMjQxLjggMzIgMjU2IDMyem0wIDEyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMzIgMjI0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6XCJdXG59O1xuY29uc3QgZmFFeGNsYW1hdGlvblRyaWFuZ2xlID0gZmFUcmlhbmdsZUV4Y2xhbWF0aW9uO1xuY29uc3QgZmFXYXJuaW5nID0gZmFUcmlhbmdsZUV4Y2xhbWF0aW9uO1xuY29uc3QgZmFEYXRhYmFzZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkYXRhYmFzZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjFjMFwiLCBcIk00NDggODBsMCA0OGMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgMTcyLjIgMCAxMjhMMCA4MEMwIDM1LjggMTAwLjMgMCAyMjQgMFM0NDggMzUuOCA0NDggODB6TTM5My4yIDIxNC43YzIwLjgtNy40IDM5LjktMTYuOSA1NC44LTI4LjZMNDQ4IDI4OGMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgMzMyLjIgMCAyODhMMCAxODYuMWMxNC45IDExLjggMzQgMjEuMiA1NC44IDI4LjZDOTkuNyAyMzAuNyAxNTkuNSAyNDAgMjI0IDI0MHMxMjQuMy05LjMgMTY5LjItMjUuM3pNMCAzNDYuMWMxNC45IDExLjggMzQgMjEuMiA1NC44IDI4LjZDOTkuNyAzOTAuNyAxNTkuNSA0MDAgMjI0IDQwMHMxMjQuMy05LjMgMTY5LjItMjUuM2MyMC44LTcuNCAzOS45LTE2LjkgNTQuOC0yOC42bDAgODUuOWMwIDQ0LjItMTAwLjMgODAtMjI0IDgwUzAgNDc2LjIgMCA0MzJsMC04NS45elwiXVxufTtcbmNvbnN0IGZhU2hhcmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc2hhcmUnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtcIm1haWwtZm9yd2FyZFwiXSwgXCJmMDY0XCIsIFwiTTMwNyAzNC44Yy0xMS41IDUuMS0xOSAxNi42LTE5IDI5LjJsMCA2NC0xMTIgMEM3OC44IDEyOCAwIDIwNi44IDAgMzA0QzAgNDE3LjMgODEuNSA0NjcuOSAxMDAuMiA0NzguMWMyLjUgMS40IDUuMyAxLjkgOC4xIDEuOWMxMC45IDAgMTkuNy04LjkgMTkuNy0xOS43YzAtNy41LTQuMy0xNC40LTkuOC0xOS41QzEwOC44IDQzMS45IDk2IDQxNC40IDk2IDM4NGMwLTUzIDQzLTk2IDk2LTk2bDk2IDAgMCA2NGMwIDEyLjYgNy40IDI0LjEgMTkgMjkuMnMyNSAzIDM0LjQtNS40bDE2MC0xNDRjNi43LTYuMSAxMC42LTE0LjcgMTAuNi0yMy44cy0zLjgtMTcuNy0xMC42LTIzLjhsLTE2MC0xNDRjLTkuNC04LjUtMjIuOS0xMC42LTM0LjQtNS40elwiXVxufTtcbmNvbnN0IGZhTWFpbEZvcndhcmQgPSBmYVNoYXJlO1xuY29uc3QgZmFCb3R0bGVEcm9wbGV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvdHRsZS1kcm9wbGV0JyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNGM0XCIsIFwiTTk2IDBDODIuNyAwIDcyIDEwLjcgNzIgMjRzMTAuNyAyNCAyNCAyNGM0LjQgMCA4IDMuNiA4IDhsMCA2NC45YzAgMTIuMi03LjIgMjMuMS0xNy4yIDMwLjFDNTMuNyAxNzQuMSAzMiAyMTIuNSAzMiAyNTZsMCAxOTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTI4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC00My41LTIxLjctODEuOS01NC44LTEwNWMtMTAtNy0xNy4yLTE3LjktMTcuMi0zMC4xTDIxNiA1NmMwLTQuNCAzLjYtOCA4LThjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTggMHMwIDAgMCAwczAgMCAwIDBMMTA0IDBzMCAwIDAgMHMwIDAgMCAwTDk2IDB6bTY0IDM4MmMtMjYuNSAwLTQ4LTIwLjEtNDgtNDVjMC0xNi44IDIyLjEtNDguMSAzNi4zLTY2LjRjNi03LjggMTcuNS03LjggMjMuNSAwQzE4NS45IDI4OC45IDIwOCAzMjAuMiAyMDggMzM3YzAgMjQuOS0yMS41IDQ1LTQ4IDQ1elwiXVxufTtcbmNvbnN0IGZhTWFza0ZhY2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbWFzay1mYWNlJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXSwgXCJlMWQ3XCIsIFwiTTMyMCA2NGMtMjcuMiAwLTUzLjggOC03Ni40IDIzLjFsLTM3LjEgMjQuOGMtMTUuOCAxMC41LTM0LjMgMTYuMS01My4zIDE2LjFsLTkuMiAwLTE2IDAtNzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4NWMwIDU1LjEgMzcuNSAxMDMuMSA5MC45IDExNi40bDEwOCAyN0MyMzMuOCA0MzUgMjc1LjQgNDQ4IDMyMCA0NDhzODYuMi0xMyAxMjEuMS0zNS41bDEwOC0yN0M2MDIuNSAzNzIuMSA2NDAgMzI0LjEgNjQwIDI2OWwwLTg1YzAtMzAuOS0yNS4xLTU2LTU2LTU2bC03MiAwLTE2IDAtOS4yIDBjLTE5IDAtMzcuNS01LjYtNTMuMy0xNi4xTDM5Ni40IDg3LjFDMzczLjggNzIgMzQ3LjIgNjQgMzIwIDY0ek0xMzIuMyAzNDYuM2wtMjkuOC03LjRDNzAuNSAzMzAuOSA0OCAzMDIuMSA0OCAyNjlsMC04NWMwLTQuNCAzLjYtOCA4LThsNDAgMCAwIDQ4YzAgNDUuMSAxMy40IDg3LjIgMzYuMyAxMjIuM3ptNDA1LjEtNy40bC0yOS44IDcuNGMyMy0zNS4yIDM2LjMtNzcuMiAzNi4zLTEyMi4zbDAtNDggNDAgMGM0LjQgMCA4IDMuNiA4IDhsMCA4NWMwIDMzLTIyLjUgNjEuOC01NC41IDY5Ljl6TTE5MiAyMDhjMC04LjggNy4yLTE2IDE2LTE2bDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0yMjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0xNiA0OGwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMjI0IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTE2IDgwYzAtOC44IDcuMi0xNiAxNi0xNmwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYwIDBjLTguOCAwLTE2LTcuMi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYUhpbGxSb2Nrc2xpZGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGlsbC1yb2Nrc2xpZGUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1MDhcIiwgXCJNMjUyLjQgMTAzLjhsMjcgNDhjMi44IDUgOC4yIDguMiAxMy45IDguMmw1My4zIDBjNS44IDAgMTEuMS0zLjEgMTMuOS04LjJsMjctNDhjMi43LTQuOSAyLjctMTAuOCAwLTE1LjdsLTI3LTQ4Yy0yLjgtNS04LjItOC4yLTEzLjktOC4ybC01My4zIDBjLTUuOCAwLTExLjEgMy4xLTEzLjkgOC4ybC0yNyA0OGMtMi43IDQuOS0yLjcgMTAuOCAwIDE1Ljd6TTY4LjMgODdDNDMuMSA2MS44IDAgNzkuNyAwIDExNS4zTDAgNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwbDMxNi43IDBjMzUuNiAwIDUzLjUtNDMuMSAyOC4zLTY4LjNMNjguMyA4N3pNNTA0LjIgNDAzLjZjNC45IDIuNyAxMC44IDIuNyAxNS43IDBsNDgtMjdjNS0yLjggOC4yLTguMiA4LjItMTMuOWwwLTUzLjNjMC01LjgtMy4xLTExLjEtOC4yLTEzLjlsLTQ4LTI3Yy00LjktMi43LTEwLjgtMi43LTE1LjcgMGwtNDggMjdjLTUgMi44LTguMiA4LjItOC4yIDEzLjlsMCA1My4zYzAgNS44IDMuMSAxMS4xIDguMiAxMy45bDQ4IDI3ek0xOTIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzg0IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFSaWdodExlZnQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncmlnaHQtbGVmdCcsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiZXhjaGFuZ2UtYWx0XCJdLCBcImYzNjJcIiwgXCJNMzIgOTZsMzIwIDAgMC02NGMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDk2IDk2YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTk2IDk2Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOXMtMTkuOC0xNi42LTE5LjgtMjkuNmwwLTY0TDMyIDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpNNDgwIDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIwIDAgMCA2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtOTYtOTZjLTYtNi05LjQtMTQuMS05LjQtMjIuNnMzLjQtMTYuNiA5LjQtMjIuNmw5Ni05NmM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOXMxOS44IDE2LjYgMTkuOCAyOS42bDAgNjQgMzIwIDB6XCJdXG59O1xuY29uc3QgZmFFeGNoYW5nZUFsdCA9IGZhUmlnaHRMZWZ0O1xuY29uc3QgZmFQYXBlclBsYW5lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BhcGVyLXBsYW5lJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbNjE5MTNdLCBcImYxZDhcIiwgXCJNNDk4LjEgNS42YzEwLjEgNyAxNS40IDE5LjEgMTMuNSAzMS4ybC02NCA0MTZjLTEuNSA5LjctNy40IDE4LjItMTYgMjNzLTE4LjkgNS40LTI4IDEuNkwyODQgNDI3LjdsLTY4LjUgNzQuMWMtOC45IDkuNy0yMi45IDEyLjktMzUuMiA4LjFTMTYwIDQ5My4yIDE2MCA0ODBsMC04My42YzAtNCAxLjUtNy44IDQuMi0xMC44TDMzMS44IDIwMi44YzUuOC02LjMgNS42LTE2LS40LTIycy0xNS43LTYuNC0yMi0uN0wxMDYgMzYwLjggMTcuNyAzMTYuNkM3LjEgMzExLjMgLjMgMzAwLjcgMCAyODguOXM1LjktMjIuOCAxNi4xLTI4LjdsNDQ4LTI1NmMxMC43LTYuMSAyMy45LTUuNSAzNCAxLjR6XCJdXG59O1xuY29uc3QgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncm9hZC1jaXJjbGUtZXhjbGFtYXRpb24nLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NjVcIiwgXCJNMjEzLjIgMzJMMjg4IDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDc0LjggMGMyNy4xIDAgNTEuMyAxNy4xIDYwLjMgNDIuNmw0Mi43IDEyMC42Yy0xMC45LTIuMS0yMi4yLTMuMi0zMy44LTMuMmMtNTkuNSAwLTExMi4xIDI5LjYtMTQ0IDc0LjhsMC00Mi44YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJjMi4zIDAgNC42LS4zIDYuOC0uN2MtNC41IDE1LjUtNi44IDMxLjgtNi44IDQ4LjdjMCA1LjQgLjIgMTAuNyAuNyAxNmwtLjcgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NEw4Ni42IDQ4MEM1Ni41IDQ4MCAzMiA0NTUuNSAzMiA0MjUuNGMwLTYuMiAxLjEtMTIuNCAzLjEtMTguMkwxNTIuOSA3NC42QzE2MiA0OS4xIDE4Ni4xIDMyIDIxMy4yIDMyek00OTYgMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyNDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0wLTE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnpcIl1cbn07XG5jb25zdCBmYUR1bmdlb24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZHVuZ2VvbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZjZkOVwiLCBcIk0zMzYuNiAxNTYuNWMxLjMgMS4xIDIuNyAyLjIgMy45IDMuM2M5LjMgOC4yIDIzIDEwLjUgMzMuNCAzLjZsNjcuNi00NS4xYzExLjQtNy42IDE0LjItMjMuMiA1LjEtMzMuNEM0MzAgNjYuNiA0MTAuOSA1MC42IDM4OS43IDM3LjZjLTExLjktNy4zLTI2LjktMS40LTMyLjEgMTEuNmwtMzAuNSA3Ni4yYy00LjUgMTEuMSAuMiAyMy42IDkuNSAzMS4yek0zMjggMzYuOGM1LjEtMTIuOC0xLjYtMjcuNC0xNS0zMC41QzI5NC43IDIuMiAyNzUuNiAwIDI1NiAwcy0zOC43IDIuMi01NyA2LjRDMTg1LjUgOS40IDE3OC44IDI0IDE4NCAzNi44bDMwLjMgNzUuOGM0LjUgMTEuMyAxNi44IDE3LjIgMjkgMTZjNC4yLS40IDguNC0uNiAxMi43LS42czguNiAuMiAxMi43IC42YzEyLjEgMS4yIDI0LjQtNC43IDI5LTE2TDMyOCAzNi44ek02NS41IDg1Yy05LjEgMTAuMi02LjMgMjUuOCA1LjEgMzMuNGw2Ny42IDQ1LjFjMTAuMyA2LjkgMjQuMSA0LjYgMzMuNC0zLjZjMS4zLTEuMSAyLjYtMi4zIDQtMy4zYzkuMy03LjUgMTMuOS0yMC4xIDkuNS0zMS4yTDE1NC40IDQ5LjJjLTUuMi0xMi45LTIwLjMtMTguOC0zMi4xLTExLjZDMTAxLjEgNTAuNiA4MiA2Ni42IDY1LjUgODV6bTMxNCAxMzcuMWMuOSAzLjMgMS43IDYuNiAyLjMgMTBjMi41IDEzIDEzIDIzLjkgMjYuMiAyMy45bDgwIDBjMTMuMyAwIDI0LjEtMTAuOCAyMi45LTI0Yy0yLjUtMjcuMi05LjMtNTMuMi0xOS43LTc3LjNjLTUuNS0xMi45LTIxLjQtMTYuNi0zMy4xLTguOWwtNjguNiA0NS43Yy05LjggNi41LTEzLjIgMTkuMi0xMCAzMC41ek01My45IDE0NS44Yy0xMS42LTcuOC0yNy42LTQtMzMuMSA4LjlDMTAuNCAxNzguOCAzLjYgMjA0LjggMS4xIDIzMmMtMS4yIDEzLjIgOS42IDI0IDIyLjkgMjRsODAgMGMxMy4zIDAgMjMuOC0xMC44IDI2LjItMjMuOWMuNi0zLjQgMS40LTYuNyAyLjMtMTBjMy4xLTExLjQtLjItMjQtMTAtMzAuNUw1My45IDE0NS44ek0xMDQgMjg4bC04MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMzA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAwek0yNCA0MTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAwem0zODQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTgwIDB6TTI3MiAxOTJjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyNzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTI3MnptLTY0IDMyYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yNDB6bTEyOCAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMjQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yNDB6XCJdXG59O1xuY29uc3QgZmFBbGlnblJpZ2h0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2FsaWduLXJpZ2h0JyxcbiAgaWNvbjogWzQ0OCwgNTEyLCBbXSwgXCJmMDM4XCIsIFwiTTQ0OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwxOTIgOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6XCJdXG59O1xuY29uc3QgZmFNb25leUJpbGwxV2F2ZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtb25leS1iaWxsLTEtd2F2ZScsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibW9uZXktYmlsbC13YXZlLWFsdFwiXSwgXCJmNTNiXCIsIFwiTTAgMTEyLjVMMCA0MjIuM2MwIDE4IDEwLjEgMzUgMjcgNDEuM2M4NyAzMi41IDE3NCAxMC4zIDI2MS0xMS45Yzc5LjgtMjAuMyAxNTkuNi00MC43IDIzOS4zLTE4LjljMjMgNi4zIDQ4LjctOS41IDQ4LjctMzMuNGwwLTMwOS45YzAtMTgtMTAuMS0zNS0yNy00MS4zQzQ2MiAxNS45IDM3NSAzOC4xIDI4OCA2MC4zQzIwOC4yIDgwLjYgMTI4LjQgMTAwLjkgNDguNyA3OS4xQzI1LjYgNzIuOCAwIDg4LjYgMCAxMTIuNXpNMTI4IDQxNmwtNjQgMCAwLTY0YzM1LjMgMCA2NCAyOC43IDY0IDY0ek02NCAyMjRsMC02NCA2NCAwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek00NDggMzUyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDAgNjQtNjQgMHptNjQtMTkyYy0zNS4zIDAtNjQtMjguNy02NC02NGw2NCAwIDAgNjR6TTM4NCAyNTZjMCA2MS45LTQzIDExMi05NiAxMTJzLTk2LTUwLjEtOTYtMTEyczQzLTExMiA5Ni0xMTJzOTYgNTAuMSA5NiAxMTJ6TTI1MiAyMDhjMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDI0IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC00IDAgMC02OGMwLTExLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHpcIl1cbn07XG5jb25zdCBmYU1vbmV5QmlsbFdhdmVBbHQgPSBmYU1vbmV5QmlsbDFXYXZlO1xuY29uc3QgZmFMaWZlUmluZyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdsaWZlLXJpbmcnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYxY2RcIiwgXCJNMzY3LjIgNDEyLjVDMzM1LjkgNDM0LjkgMjk3LjUgNDQ4IDI1NiA0NDhzLTc5LjktMTMuMS0xMTEuMi0zNS41bDU4LTU4YzE1LjggOC42IDM0IDEzLjUgNTMuMyAxMy41czM3LjQtNC45IDUzLjMtMTMuNWw1OCA1OHptOTAuNyAuOGMzMy44LTQzLjQgNTQtOTggNTQtMTU3LjNzLTIwLjItMTEzLjktNTQtMTU3LjNjOS0xMi41IDcuOS0zMC4xLTMuNC00MS4zUzQyNS44IDQ1IDQxMy4zIDU0QzM2OS45IDIwLjIgMzE1LjMgMCAyNTYgMFMxNDIuMSAyMC4yIDk4LjcgNTRjLTEyLjUtOS0zMC4xLTcuOS00MS4zIDMuNFM0NSA4Ni4yIDU0IDk4LjdDMjAuMiAxNDIuMSAwIDE5Ni43IDAgMjU2czIwLjIgMTEzLjkgNTQgMTU3LjNjLTkgMTIuNS03LjkgMzAuMSAzLjQgNDEuM1M4Ni4yIDQ2NyA5OC43IDQ1OGM0My40IDMzLjggOTggNTQgMTU3LjMgNTRzMTEzLjktMjAuMiAxNTcuMy01NGMxMi41IDkgMzAuMSA3LjkgNDEuMy0zLjRzMTIuNC0yOC44IDMuNC00MS4zem0tNDUuNS00Ni4xbC01OC01OGM4LjYtMTUuOCAxMy41LTM0IDEzLjUtNTMuM3MtNC45LTM3LjQtMTMuNS01My4zbDU4LTU4QzQzNC45IDE3Ni4xIDQ0OCAyMTQuNSA0NDggMjU2cy0xMy4xIDc5LjktMzUuNSAxMTEuMnpNMzY3LjIgOTkuNWwtNTggNThjLTE1LjgtOC42LTM0LTEzLjUtNTMuMy0xMy41cy0zNy40IDQuOS01My4zIDEzLjVsLTU4LTU4QzE3Ni4xIDc3LjEgMjE0LjUgNjQgMjU2IDY0czc5LjkgMTMuMSAxMTEuMiAzNS41ek0xNTcuNSAzMDkuM2wtNTggNThDNzcuMSAzMzUuOSA2NCAyOTcuNSA2NCAyNTZzMTMuMS03OS45IDM1LjUtMTExLjJsNTggNThjLTguNiAxNS44LTEzLjUgMzQtMTMuNSA1My4zczQuOSAzNy40IDEzLjUgNTMuM3pNMjA4IDI1NmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwelwiXVxufTtcbmNvbnN0IGZhSGFuZHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHMnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInNpZ24tbGFuZ3VhZ2VcIiwgXCJzaWduaW5nXCJdLCBcImYyYTdcIiwgXCJNNTQ0IDE2MGwtLjEgNzIuNmMtLjEgNTIuMi0yNCAxMDEtNjQgMTMzLjFjLjEtMS45IC4xLTMuOCAuMS01LjdsMC04YzAtNzEuOC0zNy0xMzguNi05Ny45LTE3Ni43bC02MC4yLTM3LjZjLTguNi01LjQtMTcuOS04LjQtMjcuMy05LjRMMjQ4LjcgNDguOGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhzMjYuMi0yLjcgMzIuOCA4LjhsNzggMTM1LjFjMy4zIDUuNyAxMC43IDcuNyAxNi40IDQuNHM3LjctMTAuNyA0LjQtMTYuNGwtNjItMTA3LjRjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44UzM2MiA1IDM2OC42IDE2LjVsNjggMTE3LjhzMCAwIDAgMHMwIDAgMCAwbDQzLjMgNzVMNDgwIDE2MGMwLTE3LjcgMTQuNC0zMiAzMi0zMnMzMiAxNC40IDMyIDMyek0yNDMuOSA4OC41TDI2OC41IDEzMWMtMTMuOSA0LjUtMjYuNCAxMy43LTM0LjcgMjdjLS45IDEuNC0xLjcgMi45LTIuNSA0LjRsLTI4LjktNTBjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44em0tNDYuNCA2My43bDI2LjggNDYuNGMuNiA2IDIuMSAxMS44IDQuMyAxNy40bC00LjcgMC0xMy4zIDBzMCAwIDAgMEwxNzkgMjE2bC0yMy0zOS44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOHpNMjYwLjkgMTc1YzkuNC0xNSAyOS4xLTE5LjUgNDQuMS0xMC4ybDYwLjIgMzcuNkM0MTYuNyAyMzQuNyA0NDggMjkxLjIgNDQ4IDM1MmwwIDhjMCA4My45LTY4LjEgMTUyLTE1MiAxNTJsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDkyIDBjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJMODggNDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEyNCAwYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEyTDU2IDM2OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNTYgMGM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkw4OCAyOTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTM2IDBzMCAwIDAgMHMwIDAgMCAwbDkzLjIgMEwyNzEgMjE5LjFjLTE1LTkuNC0xOS41LTI5LjEtMTAuMi00NC4xelwiXVxufTtcbmNvbnN0IGZhU2lnbkxhbmd1YWdlID0gZmFIYW5kcztcbmNvbnN0IGZhU2lnbmluZyA9IGZhSGFuZHM7XG5jb25zdCBmYUNhbGVuZGFyRGF5ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2NhbGVuZGFyLWRheScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjc4M1wiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnptODAgNjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNmw5NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNmwtOTYgMHpcIl1cbn07XG5jb25zdCBmYVdhdGVyTGFkZGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3dhdGVyLWxhZGRlcicsXG4gIGljb246IFs1NzYsIDUxMiwgW1wibGFkZGVyLXdhdGVyXCIsIFwic3dpbW1pbmctcG9vbFwiXSwgXCJmNWM1XCIsIFwiTTEyOCAxMjcuN0MxMjggNzQuOSAxNzAuOSAzMiAyMjMuNyAzMmM0OC4zIDAgODkgMzYgOTUgODMuOWwxIDguMmMyLjIgMTcuNS0xMC4yIDMzLjUtMjcuOCAzNS43cy0zMy41LTEwLjItMzUuNy0yNy44bC0xLTguMmMtMi0xNS45LTE1LjUtMjcuOC0zMS41LTI3LjhjLTE3LjUgMC0zMS43IDE0LjItMzEuNyAzMS43bDAgOTYuMyAxOTIgMCAwLTk2LjNDMzg0IDc0LjkgNDI2LjkgMzIgNDc5LjcgMzJjNDguMyAwIDg5IDM2IDk1IDgzLjlsMSA4LjJjMi4yIDE3LjUtMTAuMiAzMy41LTI3LjggMzUuN3MtMzMuNS0xMC4yLTM1LjctMjcuOGwtMS04LjJjLTItMTUuOS0xNS41LTI3LjgtMzEuNS0yNy44Yy0xNy41IDAtMzEuNyAxNC4yLTMxLjcgMzEuN0w0NDggMzYxYy0xLjYgMS0zLjMgMi00LjggMy4xYy0xOCAxMi40LTQwLjEgMjAuMy01OS4yIDIwLjNjMCAwIDAgMCAwIDBsMC05Ni41LTE5MiAwIDAgOTYuNWMtMTkgMC00MS4yLTcuOS01OS4xLTIwLjNjLTEuNi0xLjEtMy4yLTIuMi00LjktMy4xbDAtMjMzLjN6TTMwNi41IDM4OS45QzMyOSA0MDUuNCAzNTYuNSA0MTYgMzg0IDQxNmMyNi45IDAgNTUuNC0xMC44IDc3LjQtMjYuMWMwIDAgMCAwIDAgMGMxMS45LTguNSAyOC4xLTcuOCAzOS4yIDEuN2MxNC40IDExLjkgMzIuNSAyMSA1MC42IDI1LjJjMTcuMiA0IDI3LjkgMjEuMiAyMy45IDM4LjRzLTIxLjIgMjcuOS0zOC40IDIzLjljLTI0LjUtNS43LTQ0LjktMTYuNS01OC4yLTI1QzQ0OS41IDQ2OS43IDQxNyA0ODAgMzg0IDQ4MGMtMzEuOSAwLTYwLjYtOS45LTgwLjQtMTguOWMtNS44LTIuNy0xMS4xLTUuMy0xNS42LTcuN2MtNC41IDIuNC05LjcgNS4xLTE1LjYgNy43Yy0xOS44IDktNDguNSAxOC45LTgwLjQgMTguOWMtMzMgMC02NS41LTEwLjMtOTQuNS0yNS44Yy0xMy40IDguNC0zMy43IDE5LjMtNTguMiAyNWMtMTcuMiA0LTM0LjQtNi43LTM4LjQtMjMuOXM2LjctMzQuNCAyMy45LTM4LjRjMTguMS00LjIgMzYuMi0xMy4zIDUwLjYtMjUuMmMxMS4xLTkuNCAyNy4zLTEwLjEgMzkuMi0xLjdjMCAwIDAgMCAwIDBDMTM2LjcgNDA1LjIgMTY1LjEgNDE2IDE5MiA0MTZjMjcuNSAwIDU1LTEwLjYgNzcuNS0yNi4xYzExLjEtNy45IDI1LjktNy45IDM3IDB6XCJdXG59O1xuY29uc3QgZmFMYWRkZXJXYXRlciA9IGZhV2F0ZXJMYWRkZXI7XG5jb25zdCBmYVN3aW1taW5nUG9vbCA9IGZhV2F0ZXJMYWRkZXI7XG5jb25zdCBmYUFycm93c1VwRG93biA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3MtdXAtZG93bicsXG4gIGljb246IFszMjAsIDUxMiwgW1wiYXJyb3dzLXZcIl0sIFwiZjA3ZFwiLCBcIk0xODIuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxMjggMTA5LjNsMCAyOTMuNUw4Ni42IDM2MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgNDAyLjdsMC0yOTMuNSA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6XCJdXG59O1xuY29uc3QgZmFBcnJvd3NWID0gZmFBcnJvd3NVcERvd247XG5jb25zdCBmYUZhY2VHcmltYWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZhY2UtZ3JpbWFjZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU1NiwgXCJncmltYWNlXCJdLCBcImY1N2ZcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6bTk2LTExMmwtOCAwIDAtNDAgNTUuMyAwYy0zLjggMjIuNy0yMy42IDQwLTQ3LjMgNDB6bTQ3LjMtNTZMMzQ0IDM0NGwwLTQwIDggMGMyMy44IDAgNDMuNSAxNy4zIDQ3LjMgNDB6TTMyOCAzNDRsLTY0IDAgMC00MCA2NCAwIDAgNDB6bTAgNTZsLTY0IDAgMC00MCA2NCAwIDAgNDB6bS04MC05NmwwIDQwLTY0IDAgMC00MCA2NCAwem0wIDU2bDAgNDAtNjQgMCAwLTQwIDY0IDB6bS04MC0xNmwtNTUuMyAwYzMuOC0yMi43IDIzLjYtNDAgNDcuMy00MGw4IDAgMCA0MHptMCA1NmwtOCAwYy0yMy44IDAtNDMuNS0xNy4zLTQ3LjMtNDBsNTUuMyAwIDAgNDB6TTE0NC40IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhR3JpbWFjZSA9IGZhRmFjZUdyaW1hY2U7XG5jb25zdCBmYVdoZWVsY2hhaXJNb3ZlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3doZWVsY2hhaXItbW92ZScsXG4gIGljb246IFs0NDgsIDUxMiwgW1wid2hlZWxjaGFpci1hbHRcIl0sIFwiZTJjZVwiLCBcIk0zMjAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMjA0LjUgMTIxLjNjLTUuNC0yLjUtMTEuNy0xLjktMTYuNCAxLjdsLTQwLjkgMzAuN2MtMTQuMSAxMC42LTM0LjIgNy43LTQ0LjgtNi40cy03LjctMzQuMiA2LjQtNDQuOGw0MC45LTMwLjdjMjMuNy0xNy44IDU1LjMtMjEgODIuMS04LjRsOTAuNCA0Mi41YzI5LjEgMTMuNyAzNi44IDUxLjYgMTUuMiA3NS41TDI5OS4xIDIyNGw5Ny40IDBjMzAuMyAwIDUzIDI3LjcgNDcuMSA1Ny40TDQxNS40IDQyMi4zYy0zLjUgMTcuMy0yMC4zIDI4LjYtMzcuNyAyNS4xcy0yOC42LTIwLjMtMjUuMS0zNy43TDM3NyAyODhsLTcwLjMgMGM4LjYgMTkuNiAxMy4zIDQxLjIgMTMuMyA2NGMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQ0MC40IDAgMzUyczcxLjYtMTYwIDE2MC0xNjBjMTEuMSAwIDIyIDEuMSAzMi40IDMuM2w1NC4yLTU0LjItNDIuMS0xOS44ek0xNjAgNDQ4YTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyelwiXVxufTtcbmNvbnN0IGZhV2hlZWxjaGFpckFsdCA9IGZhV2hlZWxjaGFpck1vdmU7XG5jb25zdCBmYVR1cm5Eb3duID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3R1cm4tZG93bicsXG4gIGljb246IFszODQsIDUxMiwgWzEwNTQ5LCBcImxldmVsLWRvd24tYWx0XCJdLCBcImYzYmVcIiwgXCJNMzUwIDMzNC41YzMuOCA4LjggMiAxOS00LjYgMjZsLTEzNiAxNDRjLTQuNSA0LjgtMTAuOCA3LjUtMTcuNCA3LjVzLTEyLjktMi43LTE3LjQtNy41bC0xMzYtMTQ0Yy02LjYtNy04LjQtMTcuMi00LjYtMjZzMTIuNS0xNC41IDIyLTE0LjVsODggMCAwLTE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0TDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwbDgwIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAxOTIgODggMGM5LjYgMCAxOC4yIDUuNyAyMiAxNC41elwiXVxufTtcbmNvbnN0IGZhTGV2ZWxEb3duQWx0ID0gZmFUdXJuRG93bjtcbmNvbnN0IGZhUGVyc29uV2Fsa2luZ0Fycm93UmlnaHQgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQnLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1NTJcIiwgXCJNMjA4IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTIzLjcgMjAwLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45TDI4MSAyMzIuN2wtMTUuMy0zNi44QzI0OC41IDE1NC44IDIwOC4zIDEyOCAxNjMuNyAxMjhjLTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMzIuOSAxNC42LTU4LjEgNDIuNC02OS40IDc2LjVsLTIuNiA3LjhjLTUuNiAxNi44IDMuNSAzNC45IDIwLjIgNDAuNXMzNC45LTMuNSA0MC41LTIwLjJsMi42LTcuOGM1LjctMTcuMSAxOC4zLTMwLjkgMzQuNy0zOC4ybDgtMy41em0tMzAgMTM1LjFMNjguNyAzOTggOS40IDQ1Ny40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDExNi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6TTU1MC42IDE1My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w1MzAuNyAyMjQgMzg0IDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNDYuNyAwLTI1LjQgMjUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw4MC04MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtODAtODB6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVFbnZlbG9wZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdzcXVhcmUtZW52ZWxvcGUnLFxuICBpY29uOiBbNDQ4LCA1MTIsIFtcImVudmVsb3BlLXNxdWFyZVwiXSwgXCJmMTk5XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIxOCAyNzEuN0w2NC4yIDE3Mi40QzY2IDE1Ni40IDc5LjUgMTQ0IDk2IDE0NGwyNTYgMGMxNi41IDAgMzAgMTIuNCAzMS44IDI4LjRMMjMwIDI3MS43Yy0xLjggMS4yLTMuOSAxLjgtNiAxLjhzLTQuMi0uNi02LTEuOHptMjkuNCAyNi45TDM4NCAyMTAuNCAzODQgMzM2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDM2OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjUuNiAxMzYuNiA4OC4yYzcgNC41IDE1LjEgNi45IDIzLjQgNi45czE2LjQtMi40IDIzLjQtNi45elwiXVxufTtcbmNvbnN0IGZhRW52ZWxvcGVTcXVhcmUgPSBmYVNxdWFyZUVudmVsb3BlO1xuY29uc3QgZmFEaWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2RpY2UnLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5MjJdLCBcImY1MjJcIiwgXCJNMjc0LjkgMzQuM2MtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwTDM0LjMgMTczLjFjLTI4LjEgMjguMS0yOC4xIDczLjcgMCAxMDEuOEwxNzMuMSA0MTMuN2MyOC4xIDI4LjEgNzMuNyAyOC4xIDEwMS44IDBMNDEzLjcgMjc0LjljMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44TDI3NC45IDM0LjN6TTIwMCAyMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNOTYgMjAwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjI0IDM3NmEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6TTM1MiAyMDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yMjQgMTIwYTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptOTYgMzI4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMTQuMyAwYzExLjYgMzYgMy4xIDc3LTI1LjQgMTA1LjVMMzIwIDQxMy44bDAgMzQuMnpNNDgwIDMyOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6XCJdXG59O1xuY29uc3QgZmFCb3dsaW5nQmFsbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdib3dsaW5nLWJhbGwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImY0MzZcIiwgXCJNMjU2IDUxMkEyNTYgMjU2IDAgMSAwIDI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTJ6TTI0MCA4MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTIwOCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptLTY0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpcIl1cbn07XG5jb25zdCBmYUJyYWluID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JyYWluJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI5NTA0XSwgXCJmNWRjXCIsIFwiTTE4NCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDAwYzAgMzAuOS0yNS4xIDU2LTU2IDU2Yy0yOC45IDAtNTIuNy0yMS45LTU1LjctNTAuMWMtNS4yIDEuNC0xMC43IDIuMS0xNi4zIDIuMWMtMzUuMyAwLTY0LTI4LjctNjQtNjRjMC03LjQgMS4zLTE0LjYgMy42LTIxLjJDMjEuNCAzNjcuNCAwIDMzOC4yIDAgMzA0YzAtMzEuOSAxOC43LTU5LjUgNDUuOC03Mi4zQzM3LjEgMjIwLjggMzIgMjA3IDMyIDE5MmMwLTMwLjcgMjEuNi01Ni4zIDUwLjQtNjIuNkM4MC44IDEyMy45IDgwIDExOCA4MCAxMTJjMC0yOS45IDIwLjYtNTUuMSA0OC4zLTYyLjFDMTMxLjMgMjEuOSAxNTUuMSAwIDE4NCAwek0zMjggMGMyOC45IDAgNTIuNiAyMS45IDU1LjcgNDkuOWMyNy44IDcgNDguMyAzMi4xIDQ4LjMgNjIuMWMwIDYtLjggMTEuOS0yLjQgMTcuNGMyOC44IDYuMiA1MC40IDMxLjkgNTAuNCA2Mi42YzAgMTUtNS4xIDI4LjgtMTMuOCAzOS43QzQ5My4zIDI0NC41IDUxMiAyNzIuMSA1MTIgMzA0YzAgMzQuMi0yMS40IDYzLjQtNTEuNiA3NC44YzIuMyA2LjYgMy42IDEzLjggMy42IDIxLjJjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTUuNiAwLTExLjEtLjctMTYuMy0yLjFjLTMgMjguMi0yNi44IDUwLjEtNTUuNyA1MC4xYy0zMC45IDAtNTYtMjUuMS01Ni01NmwwLTQwMGMwLTMwLjkgMjUuMS01NiA1Ni01NnpcIl1cbn07XG5jb25zdCBmYUJhbmRhZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYmFuZGFnZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTY1NywgXCJiYW5kLWFpZFwiXSwgXCJmNDYyXCIsIFwiTTQ4MCA0MTZsOTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NGwtOTYgMCAwIDMyMHpNNDQ4IDk2TDE5MiA5NmwwIDMyMCAyNTYgMCAwLTMyMHpNNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDk2IDAgMC0zMjBMNjQgOTZ6TTI0OCAyMDhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjQ4IDMwNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMjAtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4elwiXVxufTtcbmNvbnN0IGZhQmFuZEFpZCA9IGZhQmFuZGFnZTtcbmNvbnN0IGZhQ2FsZW5kYXJNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjYWxlbmRhci1taW51cycsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjI3MlwiLCBcIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OEwwIDE2MGwwLTQ4QzAgODUuNSAyMS41IDY0IDQ4IDY0bDQ4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMCAxOTJsNDQ4IDAgMCAyNzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE5MnpNMzEyIDM3NmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDB6XCJdXG59O1xuY29uc3QgZmFDaXJjbGVYbWFyayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdjaXJjbGUteG1hcmsnLFxuICBpY29uOiBbNTEyLCA1MTIsIFs2MTUzMiwgXCJ0aW1lcy1jaXJjbGVcIiwgXCJ4bWFyay1jaXJjbGVcIl0sIFwiZjA1N1wiLCBcIk0yNTYgNTEyQTI1NiAyNTYgMCAxIDAgMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc1IDE3NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw0NyA0NyA0Ny00N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTQ3IDQ3IDQ3IDQ3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3LTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ3LTQ3LTQ3LTQ3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpcIl1cbn07XG5jb25zdCBmYVRpbWVzQ2lyY2xlID0gZmFDaXJjbGVYbWFyaztcbmNvbnN0IGZhWG1hcmtDaXJjbGUgPSBmYUNpcmNsZVhtYXJrO1xuY29uc3QgZmFHaWZ0cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdnaWZ0cycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZjc5Y1wiLCBcIk0yMDAuNiAzMkMyMDUgMTkuNSAxOTguNSA1LjggMTg2IDEuNFMxNTkuOCAzLjUgMTU1LjQgMTZMMTQ0LjcgNDYuMmwtOS45LTI5LjhDMTMwLjYgMy44IDExNy0zIDEwNC40IDEuMlM4NSAxOSA4OS4yIDMxLjZsOC4zIDI1LTI3LjQtMjBjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zcy01LjQgMjUuNyA1LjMgMzMuNUw3MC4yIDk2IDQ4IDk2QzIxLjUgOTYgMCAxMTcuNSAwIDE0NEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNTIuNiAwYy01LjQtOS40LTguNi0yMC4zLTguNi0zMmwwLTIyNGMwLTI5LjkgMjAuNS01NSA0OC4yLTYyYzEuOC0zMSAxNy4xLTU4LjIgNDAuMS03Ni4xQzI3MS43IDEwNC43IDI1Ni45IDk2IDI0MCA5NmwtMjIuMiAwIDI4LjMtMjAuNmMxMC43LTcuOCAxMy4xLTIyLjggNS4zLTMzLjVzLTIyLjgtMTMuMS0zMy41LTUuM0wxOTIuNSA1NS4xIDIwMC42IDMyek0zNjMuNSAxODUuNUwzOTMuMSAyMjQgMzQ0IDIyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRjMC0xMy4xIDEwLjgtMjQgMjQuMi0yNGM3LjYgMCAxNC43IDMuNSAxOS4zIDkuNXpNMjcyIDIwMGMwIDguNCAxLjQgMTYuNSA0LjEgMjRsLTQuMSAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDgwIDE5MiAwIDAtOTYgMzIgMCAwIDk2IDE5MiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQuMSAwYzIuNy03LjUgNC4xLTE1LjYgNC4xLTI0YzAtMzkuOS0zMi41LTcyLTcyLjItNzJjLTIyLjQgMC00My42IDEwLjQtNTcuMyAyOC4yTDQzMiAxOTUuOGwtMzAuNS0zOS42Yy0xMy43LTE3LjgtMzUtMjguMi01Ny4zLTI4LjJjLTM5LjcgMC03Mi4yIDMyLjEtNzIuMiA3MnpNMjI0IDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNDQgMCAwLTEyOC0xOTIgMCAwIDgwem0yMjQgNDhsMTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC04MC0xOTIgMCAwIDEyOHptOTYtMzEyYzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OS4xIDAgMjkuNi0zOC41YzQuNi01LjkgMTEuNy05LjUgMTkuMy05LjVjMTMuNCAwIDI0LjIgMTAuOSAyNC4yIDI0elwiXVxufTtcbmNvbnN0IGZhSG90ZWwgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaG90ZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFsxMjc5NzZdLCBcImY1OTRcIiwgXCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE3NiAwIDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCA0OEwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJMMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMnptOTYgODBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMjQwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xMTIgMTkyYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzI4IDM4NGMxMy4zIDAgMjQuMy0xMC45IDIxLTIzLjhjLTEwLjYtNDEuNS00OC4yLTcyLjItOTMtNzIuMnMtODIuNSAzMC43LTkzIDcyLjJjLTMuMyAxMi44IDcuOCAyMy44IDIxIDIzLjhsMTQ0IDB6XCJdXG59O1xuY29uc3QgZmFFYXJ0aEFzaWEgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZWFydGgtYXNpYScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyNzc1OSwgXCJnbG9iZS1hc2lhXCJdLCBcImY1N2VcIiwgXCJNNTEuNyAyOTUuMWwzMS43IDYuM2M3LjkgMS42IDE2LS45IDIxLjctNi42bDE1LjQtMTUuNGMxMS42LTExLjYgMzEuMS04LjQgMzguNCA2LjJsOS4zIDE4LjVjNC44IDkuNiAxNC42IDE1LjcgMjUuNCAxNS43YzE1LjIgMCAyNi4xLTE0LjYgMjEuNy0yOS4ybC02LTE5LjljLTQuNi0xNS40IDYuOS0zMC45IDIzLTMwLjlsMi4zIDBjMTMuNCAwIDI1LjktNi43IDMzLjMtMTcuOGwxMC43LTE2LjFjNS42LTguNSA1LjMtMTkuNi0uOC0yNy43bC0xNi4xLTIxLjVjLTEwLjMtMTMuNy0zLjMtMzMuNSAxMy40LTM3LjdsMTctNC4zYzcuNS0xLjkgMTMuNi03LjIgMTYuNS0xNC40bDE2LjQtNDAuOUMzMDMuNCA1Mi4xIDI4MC4yIDQ4IDI1NiA0OEMxNDEuMSA0OCA0OCAxNDEuMSA0OCAyNTZjMCAxMy40IDEuMyAyNi41IDMuNyAzOS4xem00MDcuNyA0LjZjLTMtLjMtNi0uMS05IC44bC0xNS44IDQuNGMtNi43IDEuOS0xMy44LS45LTE3LjUtNi43bC0yLTMuMWMtNi05LjQtMTYuNC0xNS4xLTI3LjYtMTUuMXMtMjEuNiA1LjctMjcuNiAxNS4xbC02LjEgOS41Yy0xLjQgMi4yLTMuNCA0LjEtNS43IDUuM0wzMTIgMzMwLjFjLTE4LjEgMTAuMS0yNS41IDMyLjQtMTcgNTEuM2w1LjUgMTIuNGM4LjYgMTkuMiAzMC43IDI4LjUgNTAuNSAyMS4xbDIuNi0xYzEwLTMuNyAyMS4zLTIuMiAyOS45IDQuMWwxLjUgMS4xYzM3LjItMjkuNSA2NC4xLTcxLjQgNzQuNC0xMTkuNXpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMEEyNTYgMjU2IDAgMSAxIDAgMjU2em0xNDQuNSA5Mi4xYy0yLjEgOC42IDMuMSAxNy4zIDExLjYgMTkuNGwzMiA4YzguNiAyLjEgMTcuMy0zLjEgMTkuNC0xMS42cy0zLjEtMTcuMy0xMS42LTE5LjRsLTMyLThjLTguNi0yLjEtMTcuMyAzLjEtMTkuNCAxMS42em05Mi0yMGMtMi4xIDguNiAzLjEgMTcuMyAxMS42IDE5LjRzMTcuMy0zLjEgMTkuNC0xMS42bDgtMzJjMi4xLTguNi0zLjEtMTcuMy0xMS42LTE5LjRzLTE3LjMgMy4xLTE5LjQgMTEuNmwtOCAzMnpNMzQzLjIgMTEzLjdjLTcuOS00LTE3LjUtLjctMjEuNSA3LjJsLTE2IDMyYy00IDcuOS0uNyAxNy41IDcuMiAyMS41czE3LjUgLjcgMjEuNS03LjJsMTYtMzJjNC03LjkgLjctMTcuNS03LjItMjEuNXpcIl1cbn07XG5jb25zdCBmYUdsb2JlQXNpYSA9IGZhRWFydGhBc2lhO1xuY29uc3QgZmFJZENhcmRDbGlwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2lkLWNhcmQtY2xpcCcsXG4gIGljb246IFs1NzYsIDUxMiwgW1wiaWQtY2FyZC1hbHRcIl0sIFwiZjQ3ZlwiLCBcIk0yNTYgMGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDY0bDEyOCAwIDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhsOTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTQ4IDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjR6TTE3NiA0MzcuM2MwIDUuOSA0LjggMTAuNyAxMC43IDEwLjdsMjAyLjcgMGM1LjkgMCAxMC43LTQuOCAxMC43LTEwLjdjMC0yOS41LTIzLjktNTMuMy01My4zLTUzLjNsLTExNy4zIDBjLTI5LjUgMC01My4zIDIzLjktNTMuMyA1My4zek0yODggMzUyYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4elwiXVxufTtcbmNvbnN0IGZhSWRDYXJkQWx0ID0gZmFJZENhcmRDbGlwO1xuY29uc3QgZmFNYWduaWZ5aW5nR2xhc3NQbHVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25pZnlpbmctZ2xhc3MtcGx1cycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2VhcmNoLXBsdXNcIl0sIFwiZjAwZVwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4ek0xODQgMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC02NCA2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwIDAtNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA2NC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY0IDAgMCA2NHpcIl1cbn07XG5jb25zdCBmYVNlYXJjaFBsdXMgPSBmYU1hZ25pZnlpbmdHbGFzc1BsdXM7XG5jb25zdCBmYVRodW1ic1VwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3RodW1icy11cCcsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODA3NywgNjE1NzVdLCBcImYxNjRcIiwgXCJNMzEzLjQgMzIuOWMyNiA1LjIgNDIuOSAzMC41IDM3LjcgNTYuNWwtMi4zIDExLjRjLTUuMyAyNi43LTE1LjEgNTIuMS0yOC44IDc1LjJsMTQ0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhjMCAxOC41LTEwLjUgMzQuNi0yNS45IDQyLjZDNDk3IDI3NS40IDUwNCAyODguOSA1MDQgMzA0YzAgMjMuNC0xNi44IDQyLjktMzguOSA0Ny4xYzQuNCA3LjMgNi45IDE1LjggNi45IDI0LjljMCAyMS4zLTEzLjkgMzkuNC0zMy4xIDQ1LjZjLjcgMy4zIDEuMSA2LjggMS4xIDEwLjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk3LjUgMGMtMTkgMC0zNy41LTUuNi01My4zLTE2LjFsLTM4LjUtMjUuN0MxNzYgNDIwLjQgMTYwIDM5MC40IDE2MCAzNTguM2wwLTM4LjMgMC00OCAwLTI0LjljMC0yOS4yIDEzLjMtNTYuNyAzNi03NWw3LjQtNS45YzI2LjUtMjEuMiA0NC42LTUxIDUxLjItODQuMmwyLjMtMTEuNGM1LjItMjYgMzAuNS00Mi45IDU2LjUtMzcuN3pNMzIgMTkybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhVXNlckNsb2NrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItY2xvY2snLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImY0ZmRcIiwgXCJNMjI0IDBhMTI4IDEyOCAwIDEgMSAwIDI1NkExMjggMTI4IDAgMSAxIDIyNCAwek0xNzguMyAzMDRsOTEuNCAwYzIwLjYgMCA0MC40IDMuNSA1OC44IDkuOUMzMjMgMzMxIDMyMCAzNDkuMSAzMjAgMzY4YzAgNTkuNSAyOS41IDExMi4xIDc0LjggMTQ0TDI5LjcgNTEyQzEzLjMgNTEyIDAgNDk4LjcgMCA0ODIuM0MwIDM4My44IDc5LjggMzA0IDE3OC4zIDMwNHpNMzUyIDM2OGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNDQtODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwIDAtNDhjMC04LjgtNy4yLTE2LTE2LTE2elwiXVxufTtcbmNvbnN0IGZhSGFuZERvdHMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZC1kb3RzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJhbGxlcmdpZXNcIl0sIFwiZjQ2MVwiLCBcIk0yODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNzJjMCAxLjUgMCAzLjEgLjEgNC42TDY3LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNHMtMTQuNiA0MS4zIDEuNCA1Ni42TDEyNC44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDE5LjIgMGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NmwwLTIwOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTIwOHpNMjQwIDMzNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwem04MCAxNmExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTQ4LTE2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6bS0xNiA4MGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6TTI0MCA0MzJhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHptLTQ4LTQ4YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpcIl1cbn07XG5jb25zdCBmYUFsbGVyZ2llcyA9IGZhSGFuZERvdHM7XG5jb25zdCBmYUZpbGVJbnZvaWNlID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2ZpbGUtaW52b2ljZScsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZjU3MFwiLCBcIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI4OC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMjI0IDAgNjQgMHpNMjU2IDBsMCAxMjggMTI4IDBMMjU2IDB6TTgwIDY0bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgOTZjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTAgNjRsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptMTYgOTZsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiAzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTAgMzJsMCA2NCAxOTIgMCAwLTY0TDk2IDI1NnpNMjQwIDQxNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2elwiXVxufTtcbmNvbnN0IGZhV2luZG93TWluaW1pemUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnd2luZG93LW1pbmltaXplJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDY5XSwgXCJmMmQxXCIsIFwiTTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6XCJdXG59O1xuY29uc3QgZmFNdWdTYXVjZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbXVnLXNhdWNlcicsXG4gIGljb246IFs2NDAsIDUxMiwgW1wiY29mZmVlXCJdLCBcImYwZjRcIiwgXCJNOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIwIDAgNjQgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOHMtNTcuMyAxMjgtMTI4IDEyOGwtMzIgMGMwIDUzLTQzIDk2LTk2IDk2bC0xOTIgMGMtNTMgMC05Ni00My05Ni05Nkw5NiA2NHpNNDgwIDIyNGwzMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0bC0zMiAwIDAgMTI4ek0zMiA0MTZsNTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhQ29mZmVlID0gZmFNdWdTYXVjZXI7XG5jb25zdCBmYUJydXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JydXNoJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbXSwgXCJmNTVkXCIsIFwiTTE2Mi40IDZjLTEuNS0zLjYtNS02LTguOS02bC0xOSAwYy0zLjkgMC03LjUgMi40LTguOSA2TDEwNC45IDU3LjdjLTMuMiA4LTE0LjYgOC0xNy44IDBMNjYuNCA2Yy0xLjUtMy42LTUtNi04LjktNkw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDIyNGwwIDIyLjRMMCAyNTZsOS42IDAgMzY0LjggMCA5LjYgMCAwLTkuNiAwLTIyLjQgMC0xNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMjMwLjUgMGMtMy45IDAtNy41IDIuNC04LjkgNkwyMDAuOSA1Ny43Yy0zLjIgOC0xNC42IDgtMTcuOCAwTDE2Mi40IDZ6TTAgMjg4bDAgMzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNjQgMCAwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRsMC02NCA2NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzJMMCAyODh6TTE5MiA0MzJhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyelwiXVxufTtcbmNvbnN0IGZhTWFzayA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYXNrJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJmNmZhXCIsIFwiTTI4OCA2NEM2NCA2NCAwIDE2MCAwIDI3MlM4MCA0NDggMTc2IDQ0OGw4LjQgMGMyNC4yIDAgNDYuNC0xMy43IDU3LjItMzUuNGwyMy4yLTQ2LjNjNC40LTguOCAxMy4zLTE0LjMgMjMuMi0xNC4zczE4LjggNS41IDIzLjIgMTQuM2wyMy4yIDQ2LjNjMTAuOCAyMS43IDMzIDM1LjQgNTcuMiAzNS40bDguNCAwYzk2IDAgMTc2LTY0IDE3Ni0xNzZzLTY0LTIwOC0yODgtMjA4ek05NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDBBNjQgNjQgMCAxIDEgOTYgMjU2em0zMjAtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6XCJdXG59O1xuY29uc3QgZmFNYWduaWZ5aW5nR2xhc3NNaW51cyA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduaWZ5aW5nLWdsYXNzLW1pbnVzJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJzZWFyY2gtbWludXNcIl0sIFwiZjAxMFwiLCBcIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2Yy0zNC40IDI1LjItNzYuOCA0MC0xMjIuNyA0MEM5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMFM0MTYgOTMuMSA0MTYgMjA4ek0xMzYgMTg0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHpcIl1cbn07XG5jb25zdCBmYVNlYXJjaE1pbnVzID0gZmFNYWduaWZ5aW5nR2xhc3NNaW51cztcbmNvbnN0IGZhUnVsZXJWZXJ0aWNhbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdydWxlci12ZXJ0aWNhbCcsXG4gIGljb246IFsyNTYsIDUxMiwgW10sIFwiZjU0OFwiLCBcIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMEwyMDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDY0LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDY0LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDY0LTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODAgMCAwIDQ4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA0OHpcIl1cbn07XG5jb25zdCBmYVVzZXJMYXJnZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2VyLWxhcmdlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXCJ1c2VyLWFsdFwiXSwgXCJmNDA2XCIsIFwiTTI1NiAyODhBMTQ0IDE0NCAwIDEgMCAyNTYgMGExNDQgMTQ0IDAgMSAwIDAgMjg4em0tOTQuNyAzMkM3Mi4yIDMyMCAwIDM5Mi4yIDAgNDgxLjNjMCAxNyAxMy44IDMwLjcgMzAuNyAzMC43bDQ1MC42IDBjMTcgMCAzMC43LTEzLjggMzAuNy0zMC43QzUxMiAzOTIuMiA0MzkuOCAzMjAgMzUwLjcgMzIwbC0xODkuNCAwelwiXVxufTtcbmNvbnN0IGZhVXNlckFsdCA9IGZhVXNlckxhcmdlO1xuY29uc3QgZmFUcmFpblRyYW0gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHJhaW4tdHJhbScsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyODY1MF0sIFwiZTViNFwiLCBcIk04Ni44IDQ4Yy0xMi4yIDAtMjMuNiA1LjUtMzEuMiAxNUw0Mi43IDc5QzM0LjUgODkuMyAxOS40IDkxIDkgODIuN1MtMyA1OS40IDUuMyA0OUwxOCAzM0MzNC43IDEyLjIgNjAgMCA4Ni44IDBMMzYxLjIgMGMyNi43IDAgNTIgMTIuMiA2OC43IDMzbDEyLjggMTZjOC4zIDEwLjQgNi42IDI1LjUtMy44IDMzLjdzLTI1LjUgNi42LTMzLjctMy43TDM5Mi41IDYzYy03LjYtOS41LTE5LjEtMTUtMzEuMi0xNUwyNDggNDhsMCA0OCA0MCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAxNjBjMCAzMC42LTE0LjMgNTcuOC0zNi42IDc1LjRsNjUuNSA2NS41YzcuMSA3LjEgMi4xIDE5LjEtNy45IDE5LjFsLTM5LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMMjg4IDQ0OGwtMTI4IDAtNTQuNiA1NC42Yy02IDYtMTQuMSA5LjQtMjIuNiA5LjRMNDMgNTEyYy0xMCAwLTE1LTEyLjEtNy45LTE5LjFsNjUuNS02NS41Qzc4LjMgNDA5LjggNjQgMzgyLjYgNjQgMzUybDAtMTYwYzAtNTMgNDMtOTYgOTYtOTZsNDAgMCAwLTQ4TDg2LjggNDh6TTE2MCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDB6bTMyIDE5MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6XCJdXG59O1xuY29uc3QgZmFVc2VyTnVyc2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndXNlci1udXJzZScsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjgyZlwiLCBcIk05NiAxMjhsMC01Ny44YzAtMTMuMyA4LjMtMjUuMyAyMC44LTMwbDk2LTM2YzcuMi0yLjcgMTUuMi0yLjcgMjIuNSAwbDk2IDM2YzEyLjUgNC43IDIwLjggMTYuNiAyMC44IDMwbDAgNTcuOC0uMyAwYy4yIDIuNiAuMyA1LjMgLjMgOGwwIDQwYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4cy0xMjgtNTcuMy0xMjgtMTI4bDAtNDBjMC0yLjcgLjEtNS40IC4zLThsLS4zIDB6bTQ4IDQ4YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBsMC0xNi0xNjAgMCAwIDE2ek0xMTEuOSAzMjcuN2MxMC41LTMuNCAyMS44IC40IDI5LjQgOC41bDcxIDc1LjVjNi4zIDYuNyAxNyA2LjcgMjMuMyAwbDcxLTc1LjVjNy42LTguMSAxOC45LTExLjkgMjkuNC04LjVDNDAxIDM0OC42IDQ0OCA0MDkuNCA0NDggNDgxLjNjMCAxNy0xMy44IDMwLjctMzAuNyAzMC43TDMwLjcgNTEyQzEzLjggNTEyIDAgNDk4LjIgMCA0ODEuM2MwLTcxLjkgNDctMTMyLjcgMTExLjktMTUzLjZ6TTIwOCA0OGwwIDE2LTE2IDBjLTQuNCAwLTggMy42LTggOGwwIDE2YzAgNC40IDMuNiA4IDggOGwxNiAwIDAgMTZjMCA0LjQgMy42IDggOCA4bDE2IDBjNC40IDAgOC0zLjYgOC04bDAtMTYgMTYgMGM0LjQgMCA4LTMuNiA4LThsMC0xNmMwLTQuNC0zLjYtOC04LThsLTE2IDAgMC0xNmMwLTQuNC0zLjYtOC04LThsLTE2IDBjLTQuNCAwLTggMy42LTggOHpcIl1cbn07XG5jb25zdCBmYVN5cmluZ2UgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnc3lyaW5nZScsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODEzN10sIFwiZjQ4ZVwiLCBcIk00NDEgN2wzMiAzMiAzMiAzMmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xNS0xNUw0MTcuOSAxMjhsNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNzItNzJMMjk1IDczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTUgNTVMNDIyLjEgNTYgNDA3IDQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6TTIxMC4zIDE1NS43bDYxLjEtNjEuMWMuMyAuMyAuNiAuNyAxIDFsMTYgMTYgNTYgNTYgNTYgNTYgMTYgMTZjLjMgLjMgLjYgLjYgMSAxbC0xOTEgMTkxYy0xMC41IDEwLjUtMjQuNyAxNi40LTM5LjYgMTYuNGwtODguOCAwTDQxIDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1Ny01NyAwLTg4LjhjMC0xNC45IDUuOS0yOS4xIDE2LjQtMzkuNmw0My4zLTQzLjMgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01NyA0MS40LTQxLjQgNTcgNTdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC01Ny01N3pcIl1cbn07XG5jb25zdCBmYUNsb3VkU3VuID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2Nsb3VkLXN1bicsXG4gIGljb246IFs2NDAsIDUxMiwgWzk5MjVdLCBcImY2YzRcIiwgXCJNMjk0LjIgMS4yYzUuMSAyLjEgOC43IDYuNyA5LjYgMTIuMWwxNC4xIDg0LjcgODQuNyAxNC4xYzUuNCAuOSAxMCA0LjUgMTIuMSA5LjZzMS41IDEwLjktMS42IDE1LjRsLTM4LjUgNTVjLTIuMi0uMS00LjQtLjItNi43LS4yYy0yMy4zIDAtNDUuMSA2LjItNjQgMTcuMWwwLTEuMWMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NnM0MyA5NiA5NiA5NmM4LjEgMCAxNS45LTEgMjMuNC0yLjljLTM2LjYgMTguMS02My4zIDUzLjEtNjkuOCA5NC45bC0yNC40IDE3Yy00LjUgMy4yLTEwLjMgMy44LTE1LjQgMS42cy04LjctNi43LTkuNi0xMi4xTDk4LjEgMzE3LjkgMTMuNCAzMDMuOGMtNS40LS45LTEwLTQuNS0xMi4xLTkuNnMtMS41LTEwLjkgMS42LTE1LjRMNTIuNSAyMDggMi45IDEzNy4yYy0zLjItNC41LTMuOC0xMC4zLTEuNi0xNS40czYuNy04LjcgMTIuMS05LjZMOTguMSA5OC4xbDE0LjEtODQuN2MuOS01LjQgNC41LTEwIDkuNi0xMi4xczEwLjktMS41IDE1LjQgMS42TDIwOCA1Mi41IDI3OC44IDIuOWM0LjUtMy4yIDEwLjMtMy44IDE1LjQtMS42ek0xNDQgMjA4YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjM5LjkgNDMxLjljMCA0NC4yLTM1LjggODAtODAgODBsLTI3MS45IDBjLTUzIDAtOTYtNDMtOTYtOTZjMC00Ny42IDM0LjYtODcgODAtOTQuNmwwLTEuM2MwLTUzIDQzLTk2IDk2LTk2YzM0LjkgMCA2NS40IDE4LjYgODIuMiA0Ni40YzEzLTkuMSAyOC44LTE0LjQgNDUuOC0xNC40YzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgNS45LS42IDExLjctMS45IDE3LjJjMzcuNCA2LjcgNjUuOCAzOS40IDY1LjggNzguN3pcIl1cbn07XG5jb25zdCBmYVN0b3B3YXRjaDIwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0b3B3YXRjaC0yMCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZTA2ZlwiLCBcIk0xNzYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwIDAgMzQuNEM5Mi4zIDExMy44IDE2IDIwMCAxNiAzMDRjMCAxMTQuOSA5My4xIDIwOCAyMDggMjA4czIwOC05My4xIDIwOC0yMDhjMC00MS44LTEyLjMtODAuNy0zMy41LTExMy4ybDI0LjEtMjQuMWMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwzNTUuNyAxNDNjLTI4LjEtMjMtNjIuMi0zOC44LTk5LjctNDQuNkwyNTYgNjRsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwxNzYgMHpNMjg4IDIwNGMyOC43IDAgNTIgMjMuMyA1MiA1MmwwIDk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtOTZjMC0yOC43IDIzLjMtNTIgNTItNTJ6bS0xMiA1MmwwIDk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC05NmMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMnpNMTU5LjUgMjQ0Yy01LjQgMC0xMC4yIDMuNS0xMS45IDguNmwtLjYgMS43Yy0zLjUgMTAuNS0xNC44IDE2LjEtMjUuMyAxMi42cy0xNi4xLTE0LjgtMTIuNi0yNS4zbC42LTEuN2M3LjItMjEuNSAyNy4yLTM1LjkgNDkuOC0zNS45YzI5IDAgNTIuNSAyMy41IDUyLjUgNTIuNWwwIDIuMmMwIDEzLjQtNC45IDI2LjQtMTMuOCAzNi40bC0zOSA0My45Yy02LjIgNy0xMCAxNS43LTEwLjkgMjQuOWw0My44IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC02NCAwYy0xMSAwLTIwLTktMjAtMjBsMC0xNS43YzAtMjAuNiA3LjUtNDAuNCAyMS4yLTU1LjhsMzktNDMuOWMyLjQtMi43IDMuNy02LjIgMy43LTkuOGwwLTIuMmMwLTYuOS01LjYtMTIuNS0xMi41LTEyLjV6XCJdXG59O1xuY29uc3QgZmFTcXVhcmVGdWxsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1mdWxsJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4OTk3LCAxMjg5OTgsIDEyODk5OSwgMTI5MDAwLCAxMjkwMDEsIDEyOTAwMiwgMTI5MDAzLCAxMTAzNSwgMTEwMzZdLCBcImY0NWNcIiwgXCJNMCAwSDUxMlY1MTJIMFYwelwiXVxufTtcbmNvbnN0IGZhTWFnbmV0ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hZ25ldCcsXG4gIGljb246IFs0NDgsIDUxMiwgWzEyOTUyMl0sIFwiZjA3NlwiLCBcIk0wIDE2MGwwIDk2QzAgMzc5LjcgMTAwLjMgNDgwIDIyNCA0ODBzMjI0LTEwMC4zIDIyNC0yMjRsMC05Ni0xMjggMCAwIDk2YzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bDAtOTZMMCAxNjB6bTAtMzJsMTI4IDAgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0bDAgNjR6bTMyMCAwbDEyOCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjR6XCJdXG59O1xuY29uc3QgZmFKYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnamFyJyxcbiAgaWNvbjogWzMyMCwgNTEyLCBbXSwgXCJlNTE2XCIsIFwiTTMyIDMyQzMyIDE0LjMgNDYuMyAwIDY0IDBMMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyek0wIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NGwxOTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTYwem05NiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDIyNHpcIl1cbn07XG5jb25zdCBmYU5vdGVTdGlja3kgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnbm90ZS1zdGlja3knLFxuICBpY29uOiBbNDQ4LCA1MTIsIFs2MjAyNiwgXCJzdGlja3ktbm90ZVwiXSwgXCJmMjQ5XCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDAgMC0xMTJjMC0yNi41IDIxLjUtNDggNDgtNDhsMTEyIDAgMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTQ0OCAzNTJsLTQ1LjMgMEwzMzYgMzUyYy04LjggMC0xNiA3LjItMTYgMTZsMCA2Ni43IDAgNDUuMyAzMi0zMiA2NC02NCAzMi0zMnpcIl1cbn07XG5jb25zdCBmYVN0aWNreU5vdGUgPSBmYU5vdGVTdGlja3k7XG5jb25zdCBmYUJ1Z1NsYXNoID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2J1Zy1zbGFzaCcsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTQ5MFwiLCBcIk0zOC44IDUuMUMyOC40LTMuMSAxMy4zLTEuMiA1LjEgOS4yUy0xLjIgMzQuNyA5LjIgNDIuOWw1OTIgNDY0YzEwLjQgOC4yIDI1LjUgNi4zIDMzLjctNC4xczYuMy0yNS41LTQuMS0zMy43TDQ3Ny40IDM0OC45YzEuNy05LjQgMi42LTE5IDIuNi0yOC45bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0LjMgMGMtMS4xLTE0LjEtNS0yNy41LTExLjEtMzkuNWMuNy0uNiAxLjQtMS4yIDIuMS0xLjlsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0uNyAuNy0xLjMgMS40LTEuOSAyLjFDNDA5LjIgMTY0LjEgMzkzLjEgMTYwIDM3NiAxNjBsLTExMiAwYy04LjMgMC0xNi4zIDEtMjQgMi44TDM4LjggNS4xek0zMjAgMGMtNTMgMC05NiA0My05NiA5NmwwIDMuNmMwIDE1LjcgMTIuNyAyOC40IDI4LjQgMjguNGwxMzUuMSAwYzE1LjcgMCAyOC40LTEyLjcgMjguNC0yOC40bDAtMy42YzAtNTMtNDMtOTYtOTYtOTZ6TTE2MC4zIDI1Nkw5NiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMwIDI0LjYgNS41IDQ3LjggMTUuNCA2OC42Yy0yLjIgMS4zLTQuMiAyLjktNiA0LjhsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDYzLjEtNjMuMWMyNC41IDIxLjggNTUuOCAzNi4yIDkwLjMgMzkuNmwwLTE0My43TDE2Ni43IDIyNy4zYy0zLjQgOS01LjYgMTguNy02LjQgMjguN3pNMzM2IDQ3OS4yYzM2LjYtMy42IDY5LjctMTkuNiA5NC44LTQzLjhMMzM2IDM2MC43bDAgMTE4LjV6XCJdXG59O1xuY29uc3QgZmFBcnJvd1VwRnJvbVdhdGVyUHVtcCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvdy11cC1mcm9tLXdhdGVyLXB1bXAnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU0YjZcIiwgXCJNMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCAyMDgtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDggMiAxNS42IDUuNCAyMi4yYzMuOC0xLjcgNy44LTMuMSAxMi00LjFjMTMuMS0zLjEgMjYuNy05LjggMzcuMy0xOC42YzIyLjItMTguNyA1NC4zLTIwLjEgNzguMS0zLjRjMTggMTIuNCA0MC4xIDIwLjMgNTkuMiAyMC4zYzIxLjEgMCA0Mi04LjUgNTkuMi0yMC4zYzIyLjEtMTUuNSA1MS42LTE1LjUgNzMuNyAwYzE4LjQgMTIuNyAzOS42IDIwLjMgNTkuMiAyMC4zYzE5IDAgNDEuMi03LjkgNTkuMi0yMC4zYzIzLjgtMTYuNyA1NS44LTE1LjMgNzguMSAzLjRjMTAuNiA4LjggMjQuMiAxNS42IDM3LjMgMTguNmM0LjIgMSA4LjIgMi40IDEyIDQuMUM1NzQgNDE1LjYgNTc2IDQwOCA1NzYgNDAwbDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMC0xNDYuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw0MTYgMTA5LjMgNDE2IDI1NmwtMTI4IDAgMC0yMDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTEyIDB6TTMwNi41IDQyMS45Yy0xMS4xLTcuOS0yNS45LTcuOS0zNyAwQzI0NyA0MzcuNCAyMTkuNSA0NDggMTkyIDQ0OGMtMjYuOSAwLTU1LjMtMTAuOC03Ny40LTI2LjFjMCAwIDAgMCAwIDBjLTExLjktOC41LTI4LjEtNy44LTM5LjIgMS43Yy0xNC40IDExLjktMzIuNSAyMS01MC42IDI1LjJjLTE3LjIgNC0yNy45IDIxLjItMjMuOSAzOC40czIxLjIgMjcuOSAzOC40IDIzLjljMjQuNS01LjcgNDQuOS0xNi41IDU4LjItMjVDMTI2LjUgNTAxLjcgMTU5IDUxMiAxOTIgNTEyYzMxLjkgMCA2MC42LTkuOSA4MC40LTE4LjljNS44LTIuNyAxMS4xLTUuMyAxNS42LTcuN2M0LjUgMi40IDkuNyA1LjEgMTUuNiA3LjdjMTkuOCA5IDQ4LjUgMTguOSA4MC40IDE4LjljMzMgMCA2NS41LTEwLjMgOTQuNS0yNS44YzEzLjQgOC40IDMzLjcgMTkuMyA1OC4yIDI1YzE3LjIgNCAzNC40LTYuNyAzOC40LTIzLjlzLTYuNy0zNC40LTIzLjktMzguNGMtMTguMS00LjItMzYuMi0xMy4zLTUwLjYtMjUuMmMtMTEuMS05LjQtMjcuMy0xMC4xLTM5LjItMS43YzAgMCAwIDAgMCAwQzQzOS40IDQzNy4yIDQxMC45IDQ0OCAzODQgNDQ4Yy0yNy41IDAtNTUtMTAuNi03Ny41LTI2LjF6XCJdXG59O1xuY29uc3QgZmFCb25lID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2JvbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFsxMjk0NjBdLCBcImY1ZDdcIiwgXCJNMTUzLjcgMTQ0LjhjNi45IDE2LjMgMjAuNiAzMS4yIDM4LjMgMzEuMmwxOTIgMGMxNy43IDAgMzEuNC0xNC45IDM4LjMtMzEuMkM0MzQuNCAxMTYuMSA0NjIuOSA5NiA0OTYgOTZjNDQuMiAwIDgwIDM1LjggODAgODBjMCAzMC40LTE3IDU2LjktNDIgNzAuNGMtMy42IDEuOS02IDUuNS02IDkuNnMyLjQgNy43IDYgOS42YzI1IDEzLjUgNDIgNDAgNDIgNzAuNGMwIDQ0LjItMzUuOCA4MC04MCA4MGMtMzMuMSAwLTYxLjYtMjAuMS03My43LTQ4LjhDNDE1LjQgMzUwLjkgNDAxLjcgMzM2IDM4NCAzMzZsLTE5MiAwYy0xNy43IDAtMzEuNCAxNC45LTM4LjMgMzEuMkMxNDEuNiAzOTUuOSAxMTMuMSA0MTYgODAgNDE2Yy00NC4yIDAtODAtMzUuOC04MC04MGMwLTMwLjQgMTctNTYuOSA0Mi03MC40YzMuNi0xLjkgNi01LjUgNi05LjZzLTIuNC03LjctNi05LjZDMTcgMjMyLjkgMCAyMDYuNCAwIDE3NmMwLTQ0LjIgMzUuOC04MCA4MC04MGMzMy4xIDAgNjEuNiAyMC4xIDczLjcgNDguOHpcIl1cbn07XG5jb25zdCBmYVRhYmxlQ2VsbHNSb3dVbmxvY2sgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGFibGUtY2VsbHMtcm93LXVubG9jaycsXG4gIGljb246IFs2NDAsIDUxMiwgW10sIFwiZTY5MVwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjUuMWMtMzcuOCA1LjQtNjkuNCAyOS42LTg1LjIgNjIuOUwzNjAgMjI0bDAgNjQgNTYgMCAwIDguNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNGwtMjQgMCAwIDY0IDI0IDAgMCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTY0IDIyNGwwIDY0IDg4IDAgMC02NC04OCAwem0yMzIgMGwtODggMCAwIDY0IDg4IDAgMC02NHpNMTUyIDM1MmwtODggMCAwIDY0IDg4IDAgMC02NHptNTYgMGwwIDY0IDg4IDAgMC02NC04OCAwem0yODgtODBsMCA0OCAzMiAwIDMyIDAgNDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtNDhjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwtNDggMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpcIl1cbn07XG5jb25zdCBmYVVzZXJJbmp1cmVkID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3VzZXItaW5qdXJlZCcsXG4gIGljb246IFs0NDgsIDUxMiwgW10sIFwiZjcyOFwiLCBcIk0yNDAgODBsMTAyLjcgMGMtNy45LTE5LjUtMjAuNC0zNi41LTM2LjItNDkuOUwyNDAgODB6bTM3LjctNjguMkMyNjEuMyA0LjIgMjQzLjIgMCAyMjQgMGMtNTMuNyAwLTk5LjcgMzMuMS0xMTguNyA4MGw4MS40IDAgOTEtNjguMnpNMjI0IDI1NmM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGMwLTUuNC0uMy0xMC44LTEtMTZMOTcgMTEyYy0uNyA1LjItMSAxMC42LTEgMTZjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjh6TTEyNCAzMTIuNGMtOS43IDMuMS0xOS4xIDctMjggMTEuN0w5NiA1MTJsMTQ3LjcgMEwxODEuNSA0MDguMiAxMjQgMzEyLjR6bTMzLTcuMkwyMDQuMyAzODRsNjcuNyAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwYzAgMTgtNiAzNC42LTE2IDQ4bDgyLjMgMGMxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuN0M0NDggMzgzLjggMzY4LjIgMzA0IDI2OS43IDMwNGwtOTEuNCAwYy03LjIgMC0xNC4zIC40LTIxLjMgMS4zek0wIDQ4Mi4zQzAgNDk4LjcgMTMuMyA1MTIgMjkuNyA1MTJMNjQgNTEybDAtMTY2LjZDMjQuOSAzNzguMSAwIDQyNy4zIDAgNDgyLjN6TTMyMCA0NjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4LjUgMCA1Ny4xIDk1LjJDMzAzIDUwNy4yIDMyMCA0ODcuNiAzMjAgNDY0elwiXVxufTtcbmNvbnN0IGZhRmFjZVNhZFRlYXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZmFjZS1zYWQtdGVhcicsXG4gIGljb246IFs1MTIsIDUxMiwgWzEyODU0NiwgXCJzYWQtdGVhclwiXSwgXCJmNWI0XCIsIFwiTTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDBBMjU2IDI1NiAwIDEgMCAwIDI1NnptMjQwIDgwYzAtOC44IDcuMi0xNiAxNi0xNmM0NSAwIDg1LjYgMjAuNSAxMTUuNyA1My4xYzYgNi41IDUuNiAxNi42LS45IDIyLjZzLTE2LjYgNS42LTIyLjYtLjljLTI1LTI3LjEtNTcuNC00Mi45LTkyLjMtNDIuOWMtOC44IDAtMTYtNy4yLTE2LTE2em0tODAgODBjLTI2LjUgMC00OC0yMS00OC00N2MwLTIwIDI4LjYtNjAuNCA0MS42LTc3LjdjMy4yLTQuNCA5LjYtNC40IDEyLjggMEMxNzkuNiAzMDguNiAyMDggMzQ5IDIwOCAzNjljMCAyNi0yMS41IDQ3LTQ4IDQ3ek0zNjcuNiAyMDhhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6XCJdXG59O1xuY29uc3QgZmFTYWRUZWFyID0gZmFGYWNlU2FkVGVhcjtcbmNvbnN0IGZhUGxhbmUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGxhbmUnLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImYwNzJcIiwgXCJNNDgyLjMgMTkyYzM0LjIgMCA5My43IDI5IDkzLjcgNjRjMCAzNi01OS41IDY0LTkzLjcgNjRsLTExNi42IDBMMjY1LjIgNDk1LjljLTUuNyAxMC0xNi4zIDE2LjEtMjcuOCAxNi4xbC01Ni4yIDBjLTEwLjYgMC0xOC4zLTEwLjItMTUuNC0yMC40bDQ5LTE3MS42TDExMiAzMjAgNjguOCAzNzcuNmMtMyA0LTcuOCA2LjQtMTIuOCA2LjRsLTQyIDBjLTcuOCAwLTE0LTYuMy0xNC0xNGMwLTEuMyAuMi0yLjYgLjUtMy45TDMyIDI1NiAuNSAxNDUuOWMtLjQtMS4zLS41LTIuNi0uNS0zLjljMC03LjggNi4zLTE0IDE0LTE0bDQyIDBjNSAwIDkuOCAyLjQgMTIuOCA2LjRMMTEyIDE5MmwxMDIuOSAwLTQ5LTE3MS42QzE2Mi45IDEwLjIgMTcwLjYgMCAxODEuMiAwbDU2LjIgMGMxMS41IDAgMjIuMSA2LjIgMjcuOCAxNi4xTDM2NS43IDE5MmwxMTYuNiAwelwiXVxufTtcbmNvbnN0IGZhVGVudEFycm93c0Rvd24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndGVudC1hcnJvd3MtZG93bicsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU4MVwiLCBcIk0yMDkuOCAxMTEuOWMtOC45LTkuOS0yNC0xMC43LTMzLjktMS44bC0zOS45IDM2TDEzNiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNFM4OCAxMC43IDg4IDI0bDAgMTIyLjEtMzkuOS0zNmMtOS45LTguOS0yNS04LjEtMzMuOSAxLjhzLTguMSAyNSAxLjggMzMuOWw4MCA3MmM5LjEgOC4yIDIzIDguMiAzMi4xIDBsODAtNzJjOS45LTguOSAxMC43LTI0IDEuOC0zMy45em0zNTIgMGMtOC45LTkuOS0yNC0xMC43LTMzLjktMS44bC0zOS45IDM2TDQ4OCAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEyMi4xLTM5LjktMzZjLTkuOS04LjktMjUtOC4xLTMzLjkgMS44cy04LjEgMjUgMS44IDMzLjlsODAgNzJjOS4xIDguMiAyMyA4LjIgMzIuMSAwbDgwLTcyYzkuOS04LjkgMTAuNy0yNCAxLjgtMzMuOXpNMzA3LjQgMTY2LjVjLTExLjUtOC43LTI3LjMtOC43LTM4LjggMGwtMTY4IDEyOGMtNi42IDUtMTEgMTIuNS0xMi4zIDIwLjdsLTI0IDE2MGMtMS40IDkuMiAxLjMgMTguNiA3LjQgMjUuNlM4Ni43IDUxMiA5NiA1MTJsMTQ0IDAgMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExOC4xYzAtNS41IDQuNC05LjkgOS45LTkuOWMzLjcgMCA3LjIgMi4xIDguOCA1LjVsNjguNCAxMzYuOGM1LjQgMTAuOCAxNi41IDE3LjcgMjguNiAxNy43bDYwLjIgMCAxNiAwYzkuMyAwIDE4LjItNC4xIDI0LjItMTEuMXM4LjgtMTYuNCA3LjQtMjUuNmwtMjQtMTYwYy0xLjItOC4yLTUuNi0xNS43LTEyLjMtMjAuN2wtMTY4LTEyOHpcIl1cbn07XG5jb25zdCBmYUV4Y2xhbWF0aW9uID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2V4Y2xhbWF0aW9uJyxcbiAgaWNvbjogWzEyOCwgNTEyLCBbMTAwNjksIDEwMDcxLCA2MTczOF0sIFwiMjFcIiwgXCJNOTYgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMzIgNDYuMyAzMiA2NGwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDk2IDY0ek02NCA0ODBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwelwiXVxufTtcbmNvbnN0IGZhQXJyb3dzU3BpbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdhcnJvd3Mtc3BpbicsXG4gIGljb246IFs1MTIsIDUxMiwgW10sIFwiZTRiYlwiLCBcIk0yNTYgOTZjMzguNCAwIDczLjcgMTMuNSAxMDEuMyAzNi4xbC0zMi42IDMyLjZjLTQuNiA0LjYtNS45IDExLjUtMy41IDE3LjRzOC4zIDkuOSAxNC44IDkuOWwxMTIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMTJjMC02LjUtMy45LTEyLjMtOS45LTE0LjhzLTEyLjktMS4xLTE3LjQgMy41bC0zNCAzNEMzNjMuNCA1Mi42IDMxMi4xIDMyIDI1NiAzMmMtMTAuOSAwLTIxLjUgLjgtMzIgMi4zbDAgNjQuOWMxMC4zLTIuMSAyMS0zLjIgMzItMy4yek0xMzIuMSAxNTQuN2wzMi42IDMyLjZjNC42IDQuNiAxMS41IDUuOSAxNy40IDMuNXM5LjktOC4zIDkuOS0xNC44bDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA0OGMtNi41IDAtMTIuMyAzLjktMTQuOCA5LjlzLTEuMSAxMi45IDMuNSAxNy40bDM0IDM0QzUyLjYgMTQ4LjYgMzIgMTk5LjkgMzIgMjU2YzAgMTAuOSAuOCAyMS41IDIuMyAzMmw2NC45IDBjLTIuMS0xMC4zLTMuMi0yMS0zLjItMzJjMC0zOC40IDEzLjUtNzMuNyAzNi4xLTEwMS4zek00NzcuNyAyMjRsLTY0LjkgMGMyLjEgMTAuMyAzLjIgMjEgMy4yIDMyYzAgMzguNC0xMy41IDczLjctMzYuMSAxMDEuM2wtMzIuNi0zMi42Yy00LjYtNC42LTExLjUtNS45LTE3LjQtMy41cy05LjkgOC4zLTkuOSAxNC44bDAgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwxMTIgMGM2LjUgMCAxMi4zLTMuOSAxNC44LTkuOXMxLjEtMTIuOS0zLjUtMTcuNGwtMzQtMzRDNDU5LjQgMzYzLjQgNDgwIDMxMi4xIDQ4MCAyNTZjMC0xMC45LS44LTIxLjUtMi4zLTMyek0yNTYgNDE2Yy0zOC40IDAtNzMuNy0xMy41LTEwMS4zLTM2LjFsMzIuNi0zMi42YzQuNi00LjYgNS45LTExLjUgMy41LTE3LjRzLTguMy05LjktMTQuOC05LjlMNjQgMzIwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTJjMCA2LjUgMy45IDEyLjMgOS45IDE0LjhzMTIuOSAxLjEgMTcuNC0zLjVsMzQtMzRDMTQ4LjYgNDU5LjQgMTk5LjkgNDgwIDI1NiA0ODBjMTAuOSAwIDIxLjUtLjggMzItMi4zbDAtNjQuOWMtMTAuMyAyLjEtMjEgMy4yLTMyIDMuMnpcIl1cbn07XG5jb25zdCBmYVByaW50ID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3ByaW50JyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbMTI4NDI0LCAxMjg0MzgsIDkxMTNdLCBcImYwMmZcIiwgXCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjRsMCA5NiA2NCAwIDAtOTYgMjI2LjcgMEwzODQgOTMuM2wwIDY2LjcgNjQgMCAwLTY2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNDAwIDE4LjdDMzg4IDYuNyAzNzEuNyAwIDM1NC43IDBMMTI4IDB6TTM4NCAzNTJsMCAzMiAwIDY0LTI1NiAwIDAtNjQgMC0xNiAwLTE2IDI1NiAwem02NCAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMTkyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0ek00MzIgMjQ4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpcIl1cbn07XG5jb25zdCBmYVR1cmtpc2hMaXJhU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0dXJraXNoLWxpcmEtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW1widHJ5XCIsIFwidHVya2lzaC1saXJhXCJdLCBcImUyYmJcIiwgXCJNOTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNS4zTDI0Ny4yIDY1LjJjMTctNC45IDM0LjcgNSAzOS42IDIycy01IDM0LjctMjIgMzkuNkwxMjggMTY1LjlsMCAyOS40IDExOS4yLTM0LjFjMTctNC45IDM0LjcgNSAzOS42IDIycy01IDM0LjctMjIgMzkuNkwxMjggMjYxLjkgMTI4IDQxNmw2My44IDBjNjguMiAwIDEyNC40LTUzLjUgMTI3LjgtMTIxLjZsLjQtOGMuOS0xNy43IDE1LjktMzEuMiAzMy42LTMwLjRzMzEuMiAxNS45IDMwLjQgMzMuNmwtLjQgOEMzNzguNSAzOTkuOCAyOTQuMSA0ODAgMTkxLjggNDgwTDk2IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNjcuOS0yMy4yIDYuNmMtMTcgNC45LTM0LjctNS0zOS42LTIyczUtMzQuNyAyMi0zOS42TDY0IDIxMy42bDAtMjkuNC0yMy4yIDYuNmMtMTcgNC45LTM0LjctNS0zOS42LTIyczUtMzQuNyAyMi0zOS42TDY0IDExNy42IDY0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhVHJ5ID0gZmFUdXJraXNoTGlyYVNpZ247XG5jb25zdCBmYVR1cmtpc2hMaXJhID0gZmFUdXJraXNoTGlyYVNpZ247XG5jb25zdCBmYURvbGxhclNpZ24gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnZG9sbGFyLXNpZ24nLFxuICBpY29uOiBbMzIwLCA1MTIsIFsxMjgxNzgsIDYxNzgxLCBcImRvbGxhclwiLCBcInVzZFwiXSwgXCIyNFwiLCBcIk0xNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDM1LjdjMS42IC4yIDMuMSAuNCA0LjcgLjdjLjQgLjEgLjcgLjEgMS4xIC4ybDQ4IDguOGMxNy40IDMuMiAyOC45IDE5LjkgMjUuNyAzNy4ycy0xOS45IDI4LjktMzcuMiAyNS43bC00Ny41LTguN2MtMzEuMy00LjYtNTguOS0xLjUtNzguMyA2LjJzLTI3LjIgMTguMy0yOSAyOC4xYy0yIDEwLjctLjUgMTYuNyAxLjIgMjAuNGMxLjggMy45IDUuNSA4LjMgMTIuOCAxMy4yYzE2LjMgMTAuNyA0MS4zIDE3LjcgNzMuNyAyNi4zbDIuOSAuOGMyOC42IDcuNiA2My42IDE2LjggODkuNiAzMy44YzE0LjIgOS4zIDI3LjYgMjEuOSAzNS45IDM5LjVjOC41IDE3LjkgMTAuMyAzNy45IDYuNCA1OS4yYy02LjkgMzgtMzMuMSA2My40LTY1LjYgNzYuN2MtMTMuNyA1LjYtMjguNiA5LjItNDQuNCAxMWwwIDMzLjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNC45Yy0uNC0uMS0uOS0uMS0xLjMtLjJsLS4yIDBzMCAwIDAgMGMtMjQuNC0zLjgtNjQuNS0xNC4zLTkxLjUtMjYuM2MtMTYuMS03LjItMjMuNC0yNi4xLTE2LjItNDIuMnMyNi4xLTIzLjQgNDIuMi0xNi4yYzIwLjkgOS4zIDU1LjMgMTguNSA3NS4yIDIxLjZjMzEuOSA0LjcgNTguMiAyIDc2LTUuM2MxNi45LTYuOSAyNC42LTE2LjkgMjYuOC0yOC45YzEuOS0xMC42IC40LTE2LjctMS4zLTIwLjRjLTEuOS00LTUuNi04LjQtMTMtMTMuM2MtMTYuNC0xMC43LTQxLjUtMTcuNy03NC0yNi4zbC0yLjgtLjdzMCAwIDAgMEMxMTkuNCAyNzkuMyA4NC40IDI3MCA1OC40IDI1M2MtMTQuMi05LjMtMjcuNS0yMi0zNS44LTM5LjZjLTguNC0xNy45LTEwLjEtMzcuOS02LjEtNTkuMkMyMy43IDExNiA1Mi4zIDkxLjIgODQuOCA3OC4zYzEzLjMtNS4zIDI3LjktOC45IDQzLjItMTFMMTI4IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyelwiXVxufTtcbmNvbnN0IGZhRG9sbGFyID0gZmFEb2xsYXJTaWduO1xuY29uc3QgZmFVc2QgPSBmYURvbGxhclNpZ247XG5jb25zdCBmYVggPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAneCcsXG4gIGljb246IFszODQsIDUxMiwgWzEyMF0sIFwiNThcIiwgXCJNMzc2LjYgODQuNWMxMS4zLTEzLjYgOS41LTMzLjgtNC4xLTQ1LjFzLTMzLjgtOS41LTQ1LjEgNC4xTDE5MiAyMDYgNTYuNiA0My41QzQ1LjMgMjkuOSAyNS4xIDI4LjEgMTEuNSAzOS40Uy0zLjkgNzAuOSA3LjQgODQuNUwxNTAuMyAyNTYgNy40IDQyNy41Yy0xMS4zIDEzLjYtOS41IDMzLjggNC4xIDQ1LjFzMzMuOCA5LjUgNDUuMS00LjFMMTkyIDMwNiAzMjcuNCA0NjguNWMxMS4zIDEzLjYgMzEuNSAxNS40IDQ1LjEgNC4xczE1LjQtMzEuNSA0LjEtNDUuMUwyMzMuNyAyNTYgMzc2LjYgODQuNXpcIl1cbn07XG5jb25zdCBmYU1hZ25pZnlpbmdHbGFzc0RvbGxhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdtYWduaWZ5aW5nLWdsYXNzLWRvbGxhcicsXG4gIGljb246IFs1MTIsIDUxMiwgW1wic2VhcmNoLWRvbGxhclwiXSwgXCJmNjg4XCIsIFwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZjLTM0LjQgMjUuMi03Ni44IDQwLTEyMi43IDQwQzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwUzQxNiA5My4xIDQxNiAyMDh6TTIyOCAxMDRjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMTRjLTcuNiAxLjctMTUuMiA0LjQtMjIuMiA4LjVjLTEzLjkgOC4zLTI1LjkgMjIuOC0yNS44IDQzLjljLjEgMjAuMyAxMiAzMy4xIDI0LjcgNDAuN2MxMSA2LjYgMjQuNyAxMC44IDM1LjYgMTRsMS43IC41YzEyLjYgMy44IDIxLjggNi44IDI4IDEwLjdjNS4xIDMuMiA1LjggNS40IDUuOSA4LjJjLjEgNS0xLjggOC01LjkgMTAuNWMtNSAzLjEtMTIuOSA1LTIxLjQgNC43Yy0xMS4xLS40LTIxLjUtMy45LTM1LjEtOC41Yy0yLjMtLjgtNC43LTEuNi03LjItMi40Yy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zYzEuOSAuNiA0IDEuMyA2LjEgMi4xYzAgMCAwIDAgMCAwczAgMCAwIDBjOC4zIDIuOSAxNy45IDYuMiAyOC4yIDguNGwwIDE0LjZjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMy44YzgtMS43IDE2LTQuNSAyMy4yLTljMTQuMy04LjkgMjUuMS0yNC4xIDI0LjgtNDVjLS4zLTIwLjMtMTEuNy0zMy40LTI0LjYtNDEuNmMtMTEuNS03LjItMjUuOS0xMS42LTM3LjEtMTVsLS43LS4yYy0xMi44LTMuOS0yMS45LTYuNy0yOC4zLTEwLjVjLTUuMi0zLjEtNS4zLTQuOS01LjMtNi43YzAtMy43IDEuNC02LjUgNi4yLTkuM2M1LjQtMy4yIDEzLjYtNS4xIDIxLjUtNWM5LjYgLjEgMjAuMiAyLjIgMzEuMiA1LjJjMTAuNyAyLjggMjEuNi0zLjUgMjQuNS0xNC4ycy0zLjUtMjEuNi0xNC4yLTI0LjVjLTYuNS0xLjctMTMuNy0zLjQtMjEuMS00LjdsMC0xMy45elwiXVxufTtcbmNvbnN0IGZhU2VhcmNoRG9sbGFyID0gZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXI7XG5jb25zdCBmYVVzZXJzR2VhciA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1c2Vycy1nZWFyJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbXCJ1c2Vycy1jb2dcIl0sIFwiZjUwOVwiLCBcIk0xNDQgMTYwQTgwIDgwIDAgMSAwIDE0NCAwYTgwIDgwIDAgMSAwIDAgMTYwem0zNjggMEE4MCA4MCAwIDEgMCA1MTIgMGE4MCA4MCAwIDEgMCAwIDE2MHpNMCAyOTguN0MwIDMxMC40IDkuNiAzMjAgMjEuMyAzMjBsMjEzLjMgMGMuMiAwIC40IDAgLjcgMGMtMjYuNi0yMy41LTQzLjMtNTcuOC00My4zLTk2YzAtNy42IC43LTE1IDEuOS0yMi4zYy0xMy42LTYuMy0yOC43LTkuNy00NC42LTkuN2wtNDIuNyAwQzQ3LjggMTkyIDAgMjM5LjggMCAyOTguN3pNMzIwIDMyMGMyNCAwIDQ1LjktOC44IDYyLjctMjMuM2MyLjUtMy43IDUuMi03LjMgOC0xMC43YzIuNy0zLjMgNS43LTYuMSA5LTguM0M0MTAgMjYyLjMgNDE2IDI0My45IDQxNiAyMjRjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZ6bTY1LjQgNjAuMmMtMTAuMy01LjktMTguMS0xNi4yLTIwLjgtMjguMmwtMTAzLjIgMEMxODcuNyAzNTIgMTI4IDQxMS43IDEyOCA0ODUuM2MwIDE0LjcgMTEuOSAyNi43IDI2LjcgMjYuN2wzMDAuNiAwYy0yLjEtNS4yLTMuMi0xMC45LTMuMi0xNi40bDAtM2MtMS4zLS43LTIuNy0xLjUtNC0yLjNsLTIuNiAxLjVjLTE2LjggOS43LTQwLjUgOC01NC43LTkuN2MtNC41LTUuNi04LjYtMTEuNS0xMi40LTE3LjZsLS4xLS4yLS4xLS4yLTIuNC00LjEtLjEtLjItLjEtLjJjLTMuNC02LjItNi40LTEyLjYtOS0xOS4zYy04LjItMjEuMiAyLjItNDIuNiAxOS01Mi4zbDIuNy0xLjVjMC0uOCAwLTEuNSAwLTIuM3MwLTEuNSAwLTIuM2wtMi43LTEuNXpNNTMzLjMgMTkybC00Mi43IDBjLTE1LjkgMC0zMSAzLjUtNDQuNiA5LjdjMS4zIDcuMiAxLjkgMTQuNyAxLjkgMjIuM2MwIDE3LjQtMy41IDMzLjktOS43IDQ5YzIuNSAuOSA0LjkgMiA3LjEgMy4zbDIuNiAxLjVjMS4zLS44IDIuNi0xLjYgNC0yLjNsMC0zYzAtMTkuNCAxMy4zLTM5LjEgMzUuOC00Mi42YzcuOS0xLjIgMTYtMS45IDI0LjItMS45czE2LjMgLjYgMjQuMiAxLjljMjIuNSAzLjUgMzUuOCAyMy4yIDM1LjggNDIuNmwwIDNjMS4zIC43IDIuNyAxLjUgNCAyLjNsMi42LTEuNWMxNi44LTkuNyA0MC41LTggNTQuNyA5LjdjMi4zIDIuOCA0LjUgNS44IDYuNiA4LjdjLTIuMS01Ny4xLTQ5LTEwMi43LTEwNi42LTEwMi43em05MS4zIDE2My45YzYuMy0zLjYgOS41LTExLjEgNi44LTE4Yy0yLjEtNS41LTQuNi0xMC44LTcuNC0xNS45bC0yLjMtNGMtMy4xLTUuMS02LjUtOS45LTEwLjItMTQuNWMtNC42LTUuNy0xMi43LTYuNy0xOS0zbC0yLjkgMS43Yy05LjIgNS4zLTIwLjQgNC0yOS42LTEuM3MtMTYuMS0xNC41LTE2LjEtMjUuMWwwLTMuNGMwLTcuMy00LjktMTMuOC0xMi4xLTE0LjljLTYuNS0xLTEzLjEtMS41LTE5LjktMS41cy0xMy40IC41LTE5LjkgMS41Yy03LjIgMS4xLTEyLjEgNy42LTEyLjEgMTQuOWwwIDMuNGMwIDEwLjYtNi45IDE5LjgtMTYuMSAyNS4xcy0yMC40IDYuNi0yOS42IDEuM2wtMi45LTEuN2MtNi4zLTMuNi0xNC40LTIuNi0xOSAzYy0zLjcgNC42LTcuMSA5LjUtMTAuMiAxNC42bC0yLjMgMy45Yy0yLjggNS4xLTUuMyAxMC40LTcuNCAxNS45Yy0yLjYgNi44IC41IDE0LjMgNi44IDE3LjlsMi45IDEuN2M5LjIgNS4zIDEzLjcgMTUuOCAxMy43IDI2LjRzLTQuNSAyMS4xLTEzLjcgMjYuNGwtMyAxLjdjLTYuMyAzLjYtOS41IDExLjEtNi44IDE3LjljMi4xIDUuNSA0LjYgMTAuNyA3LjQgMTUuOGwyLjQgNC4xYzMgNS4xIDYuNCA5LjkgMTAuMSAxNC41YzQuNiA1LjcgMTIuNyA2LjcgMTkgM2wyLjktMS43YzkuMi01LjMgMjAuNC00IDI5LjYgMS4zczE2LjEgMTQuNSAxNi4xIDI1LjFsMCAzLjRjMCA3LjMgNC45IDEzLjggMTIuMSAxNC45YzYuNSAxIDEzLjEgMS41IDE5LjkgMS41czEzLjQtLjUgMTkuOS0xLjVjNy4yLTEuMSAxMi4xLTcuNiAxMi4xLTE0LjlsMC0zLjRjMC0xMC42IDYuOS0xOS44IDE2LjEtMjUuMXMyMC40LTYuNiAyOS42LTEuM2wyLjkgMS43YzYuMyAzLjYgMTQuNCAyLjYgMTktM2MzLjctNC42IDcuMS05LjQgMTAuMS0xNC41bDIuNC00LjJjMi44LTUuMSA1LjMtMTAuMyA3LjQtMTUuOGMyLjYtNi44LS41LTE0LjMtNi44LTE3LjlsLTMtMS43Yy05LjItNS4zLTEzLjctMTUuOC0xMy43LTI2LjRzNC41LTIxLjEgMTMuNy0yNi40bDMtMS43ek00NzIgMzg0YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6XCJdXG59O1xuY29uc3QgZmFVc2Vyc0NvZyA9IGZhVXNlcnNHZWFyO1xuY29uc3QgZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1taWxpdGFyeS1wb2ludGluZycsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZTU0YVwiLCBcIk0yNDYuOSAxNC4xQzIzNCAxNS4yIDIyNCAyNiAyMjQgMzljMCAxMy44IDExLjIgMjUgMjUgMjVsMTUxIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzAuNkM0MTYgOCA0MDggLjcgMzk4LjcgMS40TDI0Ni45IDE0LjF6TTI0MCAxMTJjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTUuNS0uNi0xMC44LTEuNi0xNkwyNDEuNiA5NmMtMSA1LjItMS42IDEwLjUtMS42IDE2ek03MiAyMjRjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMTUyIDAgMCA4OS40TDM4Ni44IDIzMC41Yy0xMy4zLTQuMy0yNy4zLTYuNS00MS42LTYuNUwyNDAgMjI0IDcyIDIyNHptMzQ1LjcgMjAuOUwyNDYuNiA0MTYgNDE2IDQxNmwwLTQ2LjMgNTMuNiA5MC42YzExLjIgMTkgMzUuOCAyNS4zIDU0LjggMTQuMXMyNS4zLTM1LjggMTQuMS01NC44TDQ2Mi4zIDI5MC44Yy0xMS4yLTE4LjktMjYuNi0zNC41LTQ0LjYtNDUuOXpNMjI0IDQ0OGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzItMTkyIDB6XCJdXG59O1xuY29uc3QgZmFCdWlsZGluZ0NvbHVtbnMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnYnVpbGRpbmctY29sdW1ucycsXG4gIGljb246IFs1MTIsIDUxMiwgW1wiYmFua1wiLCBcImluc3RpdHV0aW9uXCIsIFwibXVzZXVtXCIsIFwidW5pdmVyc2l0eVwiXSwgXCJmMTljXCIsIFwiTTI0My40IDIuNmwtMjI0IDk2Yy0xNCA2LTIxLjggMjEtMTguNyAzNS44UzE2LjggMTYwIDMyIDE2MGwwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDAwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC04YzE1LjIgMCAyOC4zLTEwLjcgMzEuMy0yNS42cy00LjgtMjkuOS0xOC43LTM1LjhsLTIyNC05NmMtOC0zLjQtMTcuMi0zLjQtMjUuMiAwek0xMjggMjI0bC02NCAwIDAgMTk2LjNjLS42IC4zLTEuMiAuNy0xLjggMS4xbC00OCAzMmMtMTEuNyA3LjgtMTcgMjIuNC0xMi45IDM1LjlTMTcuOSA1MTIgMzIgNTEybDQ0OCAwYzE0LjEgMCAyNi41LTkuMiAzMC42LTIyLjdzLTEuMS0yOC4xLTEyLjktMzUuOWwtNDgtMzJjLS42LS40LTEuMi0uNy0xLjgtMS4xTDQ0OCAyMjRsLTY0IDAgMCAxOTItNDAgMCAwLTE5Mi02NCAwIDAgMTkyLTQ4IDAgMC0xOTItNjQgMCAwIDE5Mi00MCAwIDAtMTkyek0yNTYgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0elwiXVxufTtcbmNvbnN0IGZhQmFuayA9IGZhQnVpbGRpbmdDb2x1bW5zO1xuY29uc3QgZmFJbnN0aXR1dGlvbiA9IGZhQnVpbGRpbmdDb2x1bW5zO1xuY29uc3QgZmFNdXNldW0gPSBmYUJ1aWxkaW5nQ29sdW1ucztcbmNvbnN0IGZhVW5pdmVyc2l0eSA9IGZhQnVpbGRpbmdDb2x1bW5zO1xuY29uc3QgZmFVbWJyZWxsYSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd1bWJyZWxsYScsXG4gIGljb246IFs1NzYsIDUxMiwgW10sIFwiZjBlOVwiLCBcIk0yODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE3LjdDNDUxLjggNjMuNCA1NTcuNyAxNjEgNTczLjkgMjg1LjljMiAxNS42LTE3LjMgMjQuNC0yNy44IDEyLjdDNTMyLjEgMjgzIDUwNC44IDI3MiA0ODAgMjcyYy0zOC43IDAtNzEgMjcuNS03OC40IDY0LjFjLTEuNyA4LjctOC43IDE1LjktMTcuNiAxNS45cy0xNS44LTcuMi0xNy42LTE1LjlDMzU5IDI5OS41IDMyNi43IDI3MiAyODggMjcycy03MSAyNy41LTc4LjQgNjQuMWMtMS43IDguNy04LjcgMTUuOS0xNy42IDE1LjlzLTE1LjgtNy4yLTE3LjYtMTUuOUMxNjcgMjk5LjUgMTM0LjcgMjcyIDk2IDI3MmMtMjQuOCAwLTUyLjEgMTEtNjYuMSAyNi43QzE5LjQgMzEwLjQgLjEgMzAxLjUgMi4xIDI4NS45QzE4LjMgMTYxIDEyNC4yIDYzLjQgMjU2IDQ5LjdMMjU2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0wIDMwNGMxMi4zIDAgMjMuNSA0LjYgMzIgMTIuMmwwIDExNC4zYzAgNDUtMzYuNSA4MS40LTgxLjQgODEuNGMtMzAuOCAwLTU5LTE3LjQtNzIuOC00NWwtMi4zLTQuN2MtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDIuMyA0LjdjMyA1LjkgOSA5LjYgMTUuNiA5LjZjOS42IDAgMTcuNC03LjggMTcuNC0xNy40bDAtMTE0LjNjOC41LTcuNiAxOS43LTEyLjIgMzItMTIuMnpcIl1cbn07XG5jb25zdCBmYVRyb3dlbCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICd0cm93ZWwnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImU1ODlcIiwgXCJNMzQzLjkgMjEzLjRMMjQ1LjMgMzEybDY1LjQgNjUuNGM3LjkgNy45IDExLjEgMTkuNCA4LjQgMzAuM3MtMTAuOCAxOS42LTIxLjUgMjIuOWwtMjU2IDgwYy0xMS40IDMuNS0yMy44IC41LTMyLjItNy45Uy0yLjEgNDgxLjggMS41IDQ3MC41bDgwLTI1NmMzLjMtMTAuNyAxMi0xOC45IDIyLjktMjEuNXMyMi40IC41IDMwLjMgOC40TDIwMCAyNjYuN2w5OC42LTk4LjZjLTE0LjMtMTQuNi0xNC4yLTM4IC4zLTUyLjVsOTUuNC05NS40YzI2LjktMjYuOSA3MC41LTI2LjkgOTcuNSAwczI2LjkgNzAuNSAwIDk3LjVsLTk1LjQgOTUuNGMtMTQuNSAxNC41LTM3LjkgMTQuNi01Mi41IC4zelwiXVxufTtcbmNvbnN0IGZhRCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdkJyxcbiAgaWNvbjogWzM4NCwgNTEyLCBbMTAwXSwgXCI0NFwiLCBcIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDk2IDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNHMtMTAwLjMgMjI0LTIyNCAyMjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE2MCAwTDY0IDk2bDAgMzIwIDk2IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBzLTcxLjYtMTYwLTE2MC0xNjB6XCJdXG59O1xuY29uc3QgZmFTdGFwbGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3N0YXBsZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtdLCBcImU1YWZcIiwgXCJNNjQwIDI5OS4zbDAgNC43IDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC04MCAwLTY0IDBMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwIDAtNDhMOTYgMzY4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExNi42TDMzLjggMjE0QzE0LjIgMjEwLjUgMCAxOTMuNSAwIDE3My43YzAtOC45IDIuOS0xNy41IDguMi0yNC42bDM1LjYtNDcuNUM3Ni43IDU3LjggMTI4LjIgMzIgMTgyLjkgMzJjMjcgMCA1My42IDYuMyA3Ny44IDE4LjRMNTg2LjkgMjEzLjVDNjE5LjUgMjI5LjcgNjQwIDI2MyA2NDAgMjk5LjN6TTQ0OCAzMDRsMC0xNkwxMjggMjMwLjlsMCA3My4xIDMyMCAwelwiXVxufTtcbmNvbnN0IGZhTWFza3NUaGVhdGVyID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ21hc2tzLXRoZWF0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFsxMjc5MTcsIFwidGhlYXRlci1tYXNrc1wiXSwgXCJmNjMwXCIsIFwiTTc0LjYgMzczLjJjNDEuNyAzNi4xIDEwOCA4Mi41IDE2Ni4xIDczLjdjNi4xLS45IDEyLjEtMi41IDE4LTQuNWMtOS4yLTEyLjMtMTcuMy0yNC40LTI0LjItMzUuNGMtMjEuOS0zNS0yOC44LTc1LjItMjUuOS0xMTMuNmMtMjAuNiA0LjEtMzkuMiAxMy01NC43IDI1LjRjLTYuNSA1LjItMTYuMyAxLjMtMTQuOC03YzYuNC0zMy41IDMzLTYwLjkgNjguMi02Ni4zYzIuNi0uNCA1LjMtLjcgNy45LS44bDE5LjQtMTMxLjNjMi0xMy44IDgtMzIuNyAyNS00NS45QzI3OC4yIDUzLjIgMzEwLjUgMzcgMzYzLjIgMzIuMmMtLjgtLjctMS42LTEuNC0yLjQtMi4xQzM0MC42IDE0LjUgMjg4LjQtMTEuNSAxNzUuNyA1LjZTMjAuNSA2MyA1LjcgODMuOUMwIDkxLjktLjggMTAyIC42IDExMS44TDI0LjggMjc2LjFjNS41IDM3LjMgMjEuNSA3Mi42IDQ5LjggOTcuMnptODcuNy0yMTkuNmM0LjQtMy4xIDEwLjgtMiAxMS44IDMuM2MuMSAuNSAuMiAxLjEgLjMgMS42YzMuMiAyMS44LTExLjYgNDItMzMuMSA0NS4zcy00MS41LTExLjgtNDQuNy0zMy41Yy0uMS0uNS0uMS0xLjEtLjItMS42Yy0uNi01LjQgNS4yLTguNCAxMC4zLTYuN2M5IDMgMTguOCAzLjkgMjguNyAyLjRzMTkuMS01LjMgMjYuOC0xMC44ek0yNjEuNiAzOTBjMjkuNCA0Ni45IDc5LjUgMTEwLjkgMTM3LjYgMTE5LjdzMTI0LjUtMzcuNSAxNjYuMS03My43YzI4LjMtMjQuNSA0NC4zLTU5LjggNDkuOC05Ny4ybDI0LjItMTY0LjNjMS40LTkuOCAuNi0xOS45LTUuMS0yNy45Yy0xNC44LTIwLjktNTcuMy02MS4yLTE3MC03OC4zUzI5OS40IDc3LjIgMjc5LjIgOTIuOGMtNy44IDYtMTEuNSAxNS40LTEyLjkgMjUuMkwyNDIuMSAyODIuM2MtNS41IDM3LjMtLjQgNzUuOCAxOS42IDEwNy43ek00MDQuNSAyMzUuM2MtNy43LTUuNS0xNi44LTkuMy0yNi44LTEwLjhzLTE5LjgtLjYtMjguNyAyLjRjLTUuMSAxLjctMTAuOS0xLjMtMTAuMy02LjdjLjEtLjUgLjEtMS4xIC4yLTEuNmMzLjItMjEuOCAyMy4yLTM2LjggNDQuNy0zMy41czM2LjMgMjMuNSAzMy4xIDQ1LjNjLS4xIC41LS4yIDEuMS0uMyAxLjZjLTEgNS4zLTcuNCA2LjQtMTEuOCAzLjN6bTEzNi4yIDE1LjVjLTEgNS4zLTcuNCA2LjQtMTEuOCAzLjNjLTcuNy01LjUtMTYuOC05LjMtMjYuOC0xMC44cy0xOS44LS42LTI4LjcgMi40Yy01LjEgMS43LTEwLjktMS4zLTEwLjMtNi43Yy4xLS41IC4xLTEuMSAuMi0xLjZjMy4yLTIxLjggMjMuMi0zNi44IDQ0LjctMzMuNXMzNi4zIDIzLjUgMzMuMSA0NS4zYy0uMSAuNS0uMiAxLjEtLjMgMS42ek01MzAgMzUwLjJjLTE5LjYgNDQuNy02Ni44IDcyLjUtMTE2LjggNjQuOXMtODcuMS00OC4yLTkzLTk2LjdjLTEtOC4zIDguOS0xMi4xIDE1LjItNi43YzIzLjkgMjAuOCA1My42IDM1LjMgODcgNDAuM3M2Ni4xIC4xIDk0LjktMTIuOGM3LjYtMy40IDE2IDMuMiAxMi42IDEwLjl6XCJdXG59O1xuY29uc3QgZmFUaGVhdGVyTWFza3MgPSBmYU1hc2tzVGhlYXRlcjtcbmNvbnN0IGZhS2lwU2lnbiA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdraXAtc2lnbicsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTFjNFwiLCBcIk0zNDAuOCA4OC4zYzEzLjQtMTEuNSAxNS0zMS43IDMuNS00NS4xcy0zMS43LTE1LTQ1LjEtMy41TDEyOCAxODYuNCAxMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NGwwIDE2MC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyMi40TDI5OS4yIDQ3Mi4zYzEzLjQgMTEuNSAzMy42IDkuOSA0NS4xLTMuNXM5LjktMzMuNi0zLjUtNDUuMUwxODIuNSAyODggMzUyIDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTY5LjUgMEwzNDAuOCA4OC4zelwiXVxufTtcbmNvbnN0IGZhSGFuZFBvaW50TGVmdCA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdoYW5kLXBvaW50LWxlZnQnLFxuICBpY29uOiBbNTEyLCA1MTIsIFtdLCBcImYwYTVcIiwgXCJNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMjA4IDAgMC02NEwzMiA5NnpNMTkyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem0tNjQtNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTk2IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem04OC05NmwtLjYgMGM1LjQgOS40IDguNiAyMC4zIDguNiAzMmMwIDEzLjItNCAyNS40LTEwLjggMzUuNmMyNC45IDguNyA0Mi44IDMyLjUgNDIuOCA2MC40YzAgMTEuNy0zLjEgMjIuNi04LjYgMzJsOC42IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC02MS43YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMWwtMTEuNi0xMS42QzQyOS41IDc3LjUgMzk2LjkgNjQgMzYzIDY0bC0yNyAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDg4YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC01NmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNTZjMCAzOS44LTMyLjIgNzItNzIgNzJ6XCJdXG59O1xuY29uc3QgZmFIYW5kc2hha2VTaW1wbGUgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnaGFuZHNoYWtlLXNpbXBsZScsXG4gIGljb246IFs2NDAsIDUxMiwgWzEyOTMwOSwgXCJoYW5kc2hha2UtYWx0XCJdLCBcImY0YzZcIiwgXCJNMzIzLjQgODUuMmwtOTYuOCA3OC40Yy0xNi4xIDEzLTE5LjIgMzYuNC03IDUzLjFjMTIuOSAxNy44IDM4IDIxLjMgNTUuMyA3LjhsOTkuMy03Ny4yYzctNS40IDE3LTQuMiAyMi41IDIuOHM0LjIgMTctMi44IDIyLjVsLTIwLjkgMTYuMkw1NTAuMiAzNTJsNDEuOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC03NiAwLTQgMC0uNyAwLTMuOS0yLjVMNDM0LjggNzljLTE1LjMtOS44LTMzLjItMTUtNTEuNC0xNWMtMjEuOCAwLTQzIDcuNS02MCAyMS4yem0yMi44IDEyNC40bC01MS43IDQwLjJDMjYzIDI3NC40IDIxNy4zIDI2OCAxOTMuNyAyMzUuNmMtMjIuMi0zMC41LTE2LjYtNzMuMSAxMi43LTk2LjhsODMuMi02Ny4zYy0xMS42LTQuOS0yNC4xLTcuNC0zNi44LTcuNEMyMzQgNjQgMjE1LjcgNjkuNiAyMDAgODBsLTcyIDQ4LTgwIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEwOC4yIDAgOTEuNCA4My40YzE5LjYgMTcuOSA0OS45IDE2LjUgNjcuOC0zLjFjNS41LTYuMSA5LjItMTMuMiAxMS4xLTIwLjZsMTcgMTUuNmMxOS41IDE3LjkgNDkuOSAxNi42IDY3LjgtMi45YzQuNS00LjkgNy44LTEwLjYgOS45LTE2LjVjMTkuNCAxMyA0NS44IDEwLjMgNjIuMS03LjVjMTcuOS0xOS41IDE2LjYtNDkuOS0yLjktNjcuOGwtMTM0LjItMTIzelwiXVxufTtcbmNvbnN0IGZhSGFuZHNoYWtlQWx0ID0gZmFIYW5kc2hha2VTaW1wbGU7XG5jb25zdCBmYUpldEZpZ2h0ZXIgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAnamV0LWZpZ2h0ZXInLFxuICBpY29uOiBbNjQwLCA1MTIsIFtcImZpZ2h0ZXItamV0XCJdLCBcImYwZmJcIiwgXCJNMTYwIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0TDI5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwTDM4NCAxOTJsMTE2LjQgMGM3LjcgMCAxNS4zIDEuNCAyMi41IDQuMUw2MjUgMjM0LjRjOSAzLjQgMTUgMTIgMTUgMjEuNnMtNiAxOC4yLTE1IDIxLjZMNTIyLjkgMzE1LjljLTcuMiAyLjctMTQuOCA0LjEtMjIuNSA0LjFMMzg0IDMyMCAyODAgNDY0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTE0NC0zMiAwLTU0LjYgNTQuNmMtNiA2LTE0LjEgOS40LTIyLjYgOS40TDY0IDM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNEwxNjAgMTkybDMyIDAgMC0xNDQtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNODAgMjQwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDY0IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTY0IDB6XCJdXG59O1xuY29uc3QgZmFGaWdodGVySmV0ID0gZmFKZXRGaWdodGVyO1xuY29uc3QgZmFTcXVhcmVTaGFyZU5vZGVzID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3NxdWFyZS1zaGFyZS1ub2RlcycsXG4gIGljb246IFs0NDgsIDUxMiwgW1wic2hhcmUtYWx0LXNxdWFyZVwiXSwgXCJmMWUxXCIsIFwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTM4NCAxNjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRjLTE1LjQgMC0yOS41LTUuNC00MC42LTE0LjVMMTk0LjEgMjU2bDg1LjMgNDYuNWMxMS05LjEgMjUuMi0xNC41IDQwLjYtMTQuNWMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTIuNSAuMS00LjkgLjQtNy4zTDE3NC41IDMwMGMtMTEuNyAxMi4zLTI4LjIgMjAtNDYuNSAyMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMxOC4zIDAgMzQuOCA3LjcgNDYuNSAyMGw4MS45LTQ0LjdjLS4zLTIuNC0uNC00LjktLjQtNy4zYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjR6XCJdXG59O1xuY29uc3QgZmFTaGFyZUFsdFNxdWFyZSA9IGZhU3F1YXJlU2hhcmVOb2RlcztcbmNvbnN0IGZhQmFyY29kZSA9IHtcbiAgcHJlZml4OiAnZmFzJyxcbiAgaWNvbk5hbWU6ICdiYXJjb2RlJyxcbiAgaWNvbjogWzUxMiwgNTEyLCBbXSwgXCJmMDJhXCIsIFwiTTI0IDMyQzEwLjcgMzIgMCA0Mi43IDAgNTZMMCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNEw2NCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwyNCAzMnptODggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDE2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00MTZjMC04LjgtNy4yLTE2LTE2LTE2em03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNiAwem05NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNiAwek00NDggNTZsMCA0MDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQwMGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bS02NC04bDAgNDE2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00MTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ6XCJdXG59O1xuY29uc3QgZmFQbHVzTWludXMgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAncGx1cy1taW51cycsXG4gIGljb246IFszODQsIDUxMiwgW10sIFwiZTQzY1wiLCBcIk0yMjQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTJMNDggMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDExMiAwIDAgMTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMTIgMTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTExMiAwIDAtMTEyek0wIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyelwiXVxufTtcbmNvbnN0IGZhVmlkZW8gPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndmlkZW8nLFxuICBpY29uOiBbNTc2LCA1MTIsIFtcInZpZGVvLWNhbWVyYVwiXSwgXCJmMDNkXCIsIFwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6TTU1OS4xIDk5LjhjMTAuNCA1LjYgMTYuOSAxNi40IDE2LjkgMjguMmwwIDI1NmMwIDExLjgtNi41IDIyLjYtMTYuOSAyOC4ycy0yMyA1LTMyLjktMS42bC05Ni02NEw0MTYgMzM3LjFsMC0xNy4xIDAtMTI4IDAtMTcuMSAxNC4yLTkuNSA5Ni02NGM5LjgtNi41IDIyLjQtNy4yIDMyLjktMS42elwiXVxufTtcbmNvbnN0IGZhVmlkZW9DYW1lcmEgPSBmYVZpZGVvO1xuY29uc3QgZmFHcmFkdWF0aW9uQ2FwID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2dyYWR1YXRpb24tY2FwJyxcbiAgaWNvbjogWzY0MCwgNTEyLCBbMTI3ODkxLCBcIm1vcnRhci1ib2FyZFwiXSwgXCJmMTlkXCIsIFwiTTMyMCAzMmMtOC4xIDAtMTYuMSAxLjQtMjMuNyA0LjFMMTUuOCAxMzcuNEM2LjMgMTQwLjkgMCAxNDkuOSAwIDE2MHM2LjMgMTkuMSAxNS44IDIyLjZsNTcuOSAyMC45QzU3LjMgMjI5LjMgNDggMjU5LjggNDggMjkxLjlsMCAyOC4xYzAgMjguNC0xMC44IDU3LjctMjIuMyA4MC44Yy02LjUgMTMtMTMuOSAyNS44LTIyLjUgMzcuNkMwIDQ0Mi43LS45IDQ0OC4zIC45IDQ1My40czYgOC45IDExLjIgMTAuMmw2NCAxNmM0LjIgMS4xIDguNyAuMyAxMi40LTJzNi4zLTYuMSA3LjEtMTAuNGM4LjYtNDIuOCA0LjMtODEuMi0yLjEtMTA4LjdDOTAuMyAzNDQuMyA4NiAzMjkuOCA4MCAzMTYuNWwwLTI0LjZjMC0zMC4yIDEwLjItNTguNyAyNy45LTgxLjVjMTIuOS0xNS41IDI5LjYtMjggNDkuMi0zNS43bDE1Ny02MS43YzguMi0zLjIgMTcuNSAuOCAyMC43IDlzLS44IDE3LjUtOSAyMC43bC0xNTcgNjEuN2MtMTIuNCA0LjktMjMuMyAxMi40LTMyLjIgMjEuNmwxNTkuNiA1Ny42YzcuNiAyLjcgMTUuNiA0LjEgMjMuNyA0LjFzMTYuMS0xLjQgMjMuNy00LjFMNjI0LjIgMTgyLjZjOS41LTMuNCAxNS44LTEyLjUgMTUuOC0yMi42cy02LjMtMTkuMS0xNS44LTIyLjZMMzQzLjcgMzYuMUMzMzYuMSAzMy40IDMyOC4xIDMyIDMyMCAzMnpNMTI4IDQwOGMwIDM1LjMgODYgNzIgMTkyIDcyczE5Mi0zNi43IDE5Mi03Mkw0OTYuNyAyNjIuNiAzNTQuNSAzMTRjLTExLjEgNC0yMi44IDYtMzQuNSA2cy0yMy41LTItMzQuNS02TDE0My4zIDI2Mi42IDEyOCA0MDh6XCJdXG59O1xuY29uc3QgZmFNb3J0YXJCb2FyZCA9IGZhR3JhZHVhdGlvbkNhcDtcbmNvbnN0IGZhSGFuZEhvbGRpbmdNZWRpY2FsID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ2hhbmQtaG9sZGluZy1tZWRpY2FsJyxcbiAgaWNvbjogWzU3NiwgNTEyLCBbXSwgXCJlMDVjXCIsIFwiTTIyNCAyNGwwIDU2LTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNTYgMCAwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC01NiA1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTU2IDAgMC01NmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwyNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTU1OS43IDM5Mi4yYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjcyIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwIDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAtMTYgMC03OC4zIDBjLTI5LjEgMC01Ny4zIDkuOS04MCAyOEw2OC44IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDAgMTYwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zem0tMzY3LTguMmwuOSAwYzAgMCAwIDAgMCAwYy0uMyAwLS42IDAtLjkgMHpcIl1cbn07XG5jb25zdCBmYVBlcnNvbkNpcmNsZUNoZWNrID0ge1xuICBwcmVmaXg6ICdmYXMnLFxuICBpY29uTmFtZTogJ3BlcnNvbi1jaXJjbGUtY2hlY2snLFxuICBpY29uOiBbNTc2LCA1MTIsIFtdLCBcImU1M2VcIiwgXCJNMTEyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQwIDMwNGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyMy4xTDU5LjQgMzA0LjVjLTkuMSAxNS4xLTI4LjggMjAtNDMuOSAxMC45cy0yMC0yOC44LTEwLjktNDMuOWw1OC4zLTk3YzE3LjQtMjguOSA0OC42LTQ2LjYgODIuMy00Ni42bDI5LjcgMGMzMy43IDAgNjQuOSAxNy43IDgyLjMgNDYuNmw0NC45IDc0LjdjLTE2LjEgMTcuNi0yOC42IDM4LjUtMzYuNiA2MS41Yy0xLjktMS44LTMuNS0zLjktNC45LTYuM0wyMzIgMjU2LjkgMjMyIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwem0xMzYgMTZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjExLjMtNDMuM2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMNDE2IDM4NS40bC0yOC43LTI4LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNzItNzJjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6XCJdXG59O1xuY29uc3QgZmFUdXJuVXAgPSB7XG4gIHByZWZpeDogJ2ZhcycsXG4gIGljb25OYW1lOiAndHVybi11cCcsXG4gIGljb246IFszODQsIDUxMiwgWzEwNTQ4LCBcImxldmVsLXVwLWFsdFwiXSwgXCJmM2JmXCIsIFwiTTM1MCAxNzcuNWMzLjgtOC44IDItMTktNC42LTI2bC0xMzYtMTQ0QzIwNC45IDIuNyAxOTguNiAwIDE5MiAwcy0xMi45IDIuNy0xNy40IDcuNWwtMTM2IDE0NGMtNi42IDctOC40IDE3LjItNC42IDI2czEyLjUgMTQuNSAyMiAxNC41bDg4IDAgMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTgwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsODAgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTE5MiA4OCAwYzkuNiAwIDE4LjItNS43IDIyLTE0LjV6XCJdXG59O1xuY29uc3QgZmFMZXZlbFVwQWx0ID0gZmFUdXJuVXA7XG52YXIgaWNvbnMgPSB7XG4gIGZhMCxcbiAgZmExLFxuICBmYTIsXG4gIGZhMyxcbiAgZmE0LFxuICBmYTUsXG4gIGZhNixcbiAgZmE3LFxuICBmYTgsXG4gIGZhOSxcbiAgZmFGaWxsRHJpcCxcbiAgZmFBcnJvd3NUb0NpcmNsZSxcbiAgZmFDaXJjbGVDaGV2cm9uUmlnaHQsXG4gIGZhQ2hldnJvbkNpcmNsZVJpZ2h0LFxuICBmYUF0LFxuICBmYVRyYXNoQ2FuLFxuICBmYVRyYXNoQWx0LFxuICBmYVRleHRIZWlnaHQsXG4gIGZhVXNlclhtYXJrLFxuICBmYVVzZXJUaW1lcyxcbiAgZmFTdGV0aG9zY29wZSxcbiAgZmFNZXNzYWdlLFxuICBmYUNvbW1lbnRBbHQsXG4gIGZhSW5mbyxcbiAgZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlcixcbiAgZmFDb21wcmVzc0FsdCxcbiAgZmFFeHBsb3Npb24sXG4gIGZhRmlsZUxpbmVzLFxuICBmYUZpbGVBbHQsXG4gIGZhRmlsZVRleHQsXG4gIGZhV2F2ZVNxdWFyZSxcbiAgZmFSaW5nLFxuICBmYUJ1aWxkaW5nVW4sXG4gIGZhRGljZVRocmVlLFxuICBmYUNhbGVuZGFyRGF5cyxcbiAgZmFDYWxlbmRhckFsdCxcbiAgZmFBbmNob3JDaXJjbGVDaGVjayxcbiAgZmFCdWlsZGluZ0NpcmNsZUFycm93UmlnaHQsXG4gIGZhVm9sbGV5YmFsbCxcbiAgZmFWb2xsZXliYWxsQmFsbCxcbiAgZmFBcnJvd3NVcFRvTGluZSxcbiAgZmFTb3J0RG93bixcbiAgZmFTb3J0RGVzYyxcbiAgZmFDaXJjbGVNaW51cyxcbiAgZmFNaW51c0NpcmNsZSxcbiAgZmFEb29yT3BlbixcbiAgZmFSaWdodEZyb21CcmFja2V0LFxuICBmYVNpZ25PdXRBbHQsXG4gIGZhQXRvbSxcbiAgZmFTb2FwLFxuICBmYUljb25zLFxuICBmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0LFxuICBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoLFxuICBmYU1pY3JvcGhvbmVBbHRTbGFzaCxcbiAgZmFCcmlkZ2VDaXJjbGVDaGVjayxcbiAgZmFQdW1wTWVkaWNhbCxcbiAgZmFGaW5nZXJwcmludCxcbiAgZmFIYW5kUG9pbnRSaWdodCxcbiAgZmFNYWduaWZ5aW5nR2xhc3NMb2NhdGlvbixcbiAgZmFTZWFyY2hMb2NhdGlvbixcbiAgZmFGb3J3YXJkU3RlcCxcbiAgZmFTdGVwRm9yd2FyZCxcbiAgZmFGYWNlU21pbGVCZWFtLFxuICBmYVNtaWxlQmVhbSxcbiAgZmFGbGFnQ2hlY2tlcmVkLFxuICBmYUZvb3RiYWxsLFxuICBmYUZvb3RiYWxsQmFsbCxcbiAgZmFTY2hvb2xDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFDcm9wLFxuICBmYUFuZ2xlc0Rvd24sXG4gIGZhQW5nbGVEb3VibGVEb3duLFxuICBmYVVzZXJzUmVjdGFuZ2xlLFxuICBmYVBlb3BsZVJvb2YsXG4gIGZhUGVvcGxlTGluZSxcbiAgZmFCZWVyTXVnRW1wdHksXG4gIGZhQmVlcixcbiAgZmFEaWFncmFtUHJlZGVjZXNzb3IsXG4gIGZhQXJyb3dVcExvbmcsXG4gIGZhTG9uZ0Fycm93VXAsXG4gIGZhRmlyZUZsYW1lU2ltcGxlLFxuICBmYUJ1cm4sXG4gIGZhUGVyc29uLFxuICBmYU1hbGUsXG4gIGZhTGFwdG9wLFxuICBmYUZpbGVDc3YsXG4gIGZhTWVub3JhaCxcbiAgZmFUcnVja1BsYW5lLFxuICBmYVJlY29yZFZpbnlsLFxuICBmYUZhY2VHcmluU3RhcnMsXG4gIGZhR3JpblN0YXJzLFxuICBmYUJvbmcsXG4gIGZhU3BhZ2hldHRpTW9uc3RlckZseWluZyxcbiAgZmFQYXN0YWZhcmlhbmlzbSxcbiAgZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmUsXG4gIGZhU3Bvb24sXG4gIGZhVXRlbnNpbFNwb29uLFxuICBmYUphcldoZWF0LFxuICBmYUVudmVsb3Blc0J1bGssXG4gIGZhTWFpbEJ1bGssXG4gIGZhRmlsZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUNpcmNsZUgsXG4gIGZhSG9zcGl0YWxTeW1ib2wsXG4gIGZhUGFnZXIsXG4gIGZhQWRkcmVzc0Jvb2ssXG4gIGZhQ29udGFjdEJvb2ssXG4gIGZhU3RyaWtldGhyb3VnaCxcbiAgZmFLLFxuICBmYUxhbmRtYXJrRmxhZyxcbiAgZmFQZW5jaWwsXG4gIGZhUGVuY2lsQWx0LFxuICBmYUJhY2t3YXJkLFxuICBmYUNhcmV0UmlnaHQsXG4gIGZhQ29tbWVudHMsXG4gIGZhUGFzdGUsXG4gIGZhRmlsZUNsaXBib2FyZCxcbiAgZmFDb2RlUHVsbFJlcXVlc3QsXG4gIGZhQ2xpcGJvYXJkTGlzdCxcbiAgZmFUcnVja1JhbXBCb3gsXG4gIGZhVHJ1Y2tMb2FkaW5nLFxuICBmYVVzZXJDaGVjayxcbiAgZmFWaWFsVmlydXMsXG4gIGZhU2hlZXRQbGFzdGljLFxuICBmYUJsb2csXG4gIGZhVXNlck5pbmphLFxuICBmYVBlcnNvbkFycm93VXBGcm9tTGluZSxcbiAgZmFTY3JvbGxUb3JhaCxcbiAgZmFUb3JhaCxcbiAgZmFCcm9vbUJhbGwsXG4gIGZhUXVpZGRpdGNoLFxuICBmYVF1aWRkaXRjaEJyb29tQmFsbCxcbiAgZmFUb2dnbGVPZmYsXG4gIGZhQm94QXJjaGl2ZSxcbiAgZmFBcmNoaXZlLFxuICBmYVBlcnNvbkRyb3duaW5nLFxuICBmYUFycm93RG93bjkxLFxuICBmYVNvcnROdW1lcmljRGVzYyxcbiAgZmFTb3J0TnVtZXJpY0Rvd25BbHQsXG4gIGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQsXG4gIGZhR3JpblRvbmd1ZVNxdWludCxcbiAgZmFTcHJheUNhbixcbiAgZmFUcnVja01vbnN0ZXIsXG4gIGZhVyxcbiAgZmFFYXJ0aEFmcmljYSxcbiAgZmFHbG9iZUFmcmljYSxcbiAgZmFSYWluYm93LFxuICBmYUNpcmNsZU5vdGNoLFxuICBmYVRhYmxldFNjcmVlbkJ1dHRvbixcbiAgZmFUYWJsZXRBbHQsXG4gIGZhUGF3LFxuICBmYUNsb3VkLFxuICBmYVRyb3dlbEJyaWNrcyxcbiAgZmFGYWNlRmx1c2hlZCxcbiAgZmFGbHVzaGVkLFxuICBmYUhvc3BpdGFsVXNlcixcbiAgZmFUZW50QXJyb3dMZWZ0UmlnaHQsXG4gIGZhR2F2ZWwsXG4gIGZhTGVnYWwsXG4gIGZhQmlub2N1bGFycyxcbiAgZmFNaWNyb3Bob25lU2xhc2gsXG4gIGZhQm94VGlzc3VlLFxuICBmYU1vdG9yY3ljbGUsXG4gIGZhQmVsbENvbmNpZXJnZSxcbiAgZmFDb25jaWVyZ2VCZWxsLFxuICBmYVBlblJ1bGVyLFxuICBmYVBlbmNpbFJ1bGVyLFxuICBmYVBlb3BsZUFycm93cyxcbiAgZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQsXG4gIGZhTWFyc0FuZFZlbnVzQnVyc3QsXG4gIGZhU3F1YXJlQ2FyZXRSaWdodCxcbiAgZmFDYXJldFNxdWFyZVJpZ2h0LFxuICBmYVNjaXNzb3JzLFxuICBmYUN1dCxcbiAgZmFTdW5QbGFudFdpbHQsXG4gIGZhVG9pbGV0c1BvcnRhYmxlLFxuICBmYUhvY2tleVB1Y2ssXG4gIGZhVGFibGUsXG4gIGZhTWFnbmlmeWluZ0dsYXNzQXJyb3dSaWdodCxcbiAgZmFUYWNob2dyYXBoRGlnaXRhbCxcbiAgZmFEaWdpdGFsVGFjaG9ncmFwaCxcbiAgZmFVc2Vyc1NsYXNoLFxuICBmYUNsb3ZlcixcbiAgZmFSZXBseSxcbiAgZmFNYWlsUmVwbHksXG4gIGZhU3RhckFuZENyZXNjZW50LFxuICBmYUhvdXNlRmlyZSxcbiAgZmFTcXVhcmVNaW51cyxcbiAgZmFNaW51c1NxdWFyZSxcbiAgZmFIZWxpY29wdGVyLFxuICBmYUNvbXBhc3MsXG4gIGZhU3F1YXJlQ2FyZXREb3duLFxuICBmYUNhcmV0U3F1YXJlRG93bixcbiAgZmFGaWxlQ2lyY2xlUXVlc3Rpb24sXG4gIGZhTGFwdG9wQ29kZSxcbiAgZmFTd2F0Y2hib29rLFxuICBmYVByZXNjcmlwdGlvbkJvdHRsZSxcbiAgZmFCYXJzLFxuICBmYU5hdmljb24sXG4gIGZhUGVvcGxlR3JvdXAsXG4gIGZhSG91cmdsYXNzRW5kLFxuICBmYUhvdXJnbGFzczMsXG4gIGZhSGVhcnRDcmFjayxcbiAgZmFIZWFydEJyb2tlbixcbiAgZmFTcXVhcmVVcFJpZ2h0LFxuICBmYUV4dGVybmFsTGlua1NxdWFyZUFsdCxcbiAgZmFGYWNlS2lzc0JlYW0sXG4gIGZhS2lzc0JlYW0sXG4gIGZhRmlsbSxcbiAgZmFSdWxlckhvcml6b250YWwsXG4gIGZhUGVvcGxlUm9iYmVyeSxcbiAgZmFMaWdodGJ1bGIsXG4gIGZhQ2FyZXRMZWZ0LFxuICBmYUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUV4Y2xhbWF0aW9uQ2lyY2xlLFxuICBmYVNjaG9vbENpcmNsZVhtYXJrLFxuICBmYUFycm93UmlnaHRGcm9tQnJhY2tldCxcbiAgZmFTaWduT3V0LFxuICBmYUNpcmNsZUNoZXZyb25Eb3duLFxuICBmYUNoZXZyb25DaXJjbGVEb3duLFxuICBmYVVubG9ja0tleWhvbGUsXG4gIGZhVW5sb2NrQWx0LFxuICBmYUNsb3VkU2hvd2Vyc0hlYXZ5LFxuICBmYUhlYWRwaG9uZXNTaW1wbGUsXG4gIGZhSGVhZHBob25lc0FsdCxcbiAgZmFTaXRlbWFwLFxuICBmYUNpcmNsZURvbGxhclRvU2xvdCxcbiAgZmFEb25hdGUsXG4gIGZhTWVtb3J5LFxuICBmYVJvYWRTcGlrZXMsXG4gIGZhRmlyZUJ1cm5lcixcbiAgZmFGbGFnLFxuICBmYUhhbnVraWFoLFxuICBmYUZlYXRoZXIsXG4gIGZhVm9sdW1lTG93LFxuICBmYVZvbHVtZURvd24sXG4gIGZhQ29tbWVudFNsYXNoLFxuICBmYUNsb3VkU3VuUmFpbixcbiAgZmFDb21wcmVzcyxcbiAgZmFXaGVhdEF3bixcbiAgZmFXaGVhdEFsdCxcbiAgZmFBbmtoLFxuICBmYUhhbmRzSG9sZGluZ0NoaWxkLFxuICBmYUFzdGVyaXNrLFxuICBmYVNxdWFyZUNoZWNrLFxuICBmYUNoZWNrU3F1YXJlLFxuICBmYVBlc2V0YVNpZ24sXG4gIGZhSGVhZGluZyxcbiAgZmFIZWFkZXIsXG4gIGZhR2hvc3QsXG4gIGZhTGlzdCxcbiAgZmFMaXN0U3F1YXJlcyxcbiAgZmFTcXVhcmVQaG9uZUZsaXAsXG4gIGZhUGhvbmVTcXVhcmVBbHQsXG4gIGZhQ2FydFBsdXMsXG4gIGZhR2FtZXBhZCxcbiAgZmFDaXJjbGVEb3QsXG4gIGZhRG90Q2lyY2xlLFxuICBmYUZhY2VEaXp6eSxcbiAgZmFEaXp6eSxcbiAgZmFFZ2csXG4gIGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcmssXG4gIGZhQ2FtcGdyb3VuZCxcbiAgZmFGb2xkZXJQbHVzLFxuICBmYUZ1dGJvbCxcbiAgZmFGdXRib2xCYWxsLFxuICBmYVNvY2NlckJhbGwsXG4gIGZhUGFpbnRicnVzaCxcbiAgZmFQYWludEJydXNoLFxuICBmYUxvY2ssXG4gIGZhR2FzUHVtcCxcbiAgZmFIb3RUdWJQZXJzb24sXG4gIGZhSG90VHViLFxuICBmYU1hcExvY2F0aW9uLFxuICBmYU1hcE1hcmtlZCxcbiAgZmFIb3VzZUZsb29kV2F0ZXIsXG4gIGZhVHJlZSxcbiAgZmFCcmlkZ2VMb2NrLFxuICBmYVNhY2tEb2xsYXIsXG4gIGZhUGVuVG9TcXVhcmUsXG4gIGZhRWRpdCxcbiAgZmFDYXJTaWRlLFxuICBmYVNoYXJlTm9kZXMsXG4gIGZhU2hhcmVBbHQsXG4gIGZhSGVhcnRDaXJjbGVNaW51cyxcbiAgZmFIb3VyZ2xhc3NIYWxmLFxuICBmYUhvdXJnbGFzczIsXG4gIGZhTWljcm9zY29wZSxcbiAgZmFTaW5rLFxuICBmYUJhZ1Nob3BwaW5nLFxuICBmYVNob3BwaW5nQmFnLFxuICBmYUFycm93RG93blpBLFxuICBmYVNvcnRBbHBoYURlc2MsXG4gIGZhU29ydEFscGhhRG93bkFsdCxcbiAgZmFNaXR0ZW4sXG4gIGZhUGVyc29uUmF5cyxcbiAgZmFVc2VycyxcbiAgZmFFeWVTbGFzaCxcbiAgZmFGbGFza1ZpYWwsXG4gIGZhSGFuZCxcbiAgZmFIYW5kUGFwZXIsXG4gIGZhT20sXG4gIGZhV29ybSxcbiAgZmFIb3VzZUNpcmNsZVhtYXJrLFxuICBmYVBsdWcsXG4gIGZhQ2hldnJvblVwLFxuICBmYUhhbmRTcG9jayxcbiAgZmFTdG9wd2F0Y2gsXG4gIGZhRmFjZUtpc3MsXG4gIGZhS2lzcyxcbiAgZmFCcmlkZ2VDaXJjbGVYbWFyayxcbiAgZmFGYWNlR3JpblRvbmd1ZSxcbiAgZmFHcmluVG9uZ3VlLFxuICBmYUNoZXNzQmlzaG9wLFxuICBmYUZhY2VHcmluV2luayxcbiAgZmFHcmluV2luayxcbiAgZmFFYXJEZWFmLFxuICBmYURlYWYsXG4gIGZhRGVhZm5lc3MsXG4gIGZhSGFyZE9mSGVhcmluZyxcbiAgZmFSb2FkQ2lyY2xlQ2hlY2ssXG4gIGZhRGljZUZpdmUsXG4gIGZhU3F1YXJlUnNzLFxuICBmYVJzc1NxdWFyZSxcbiAgZmFMYW5kTWluZU9uLFxuICBmYUlDdXJzb3IsXG4gIGZhU3RhbXAsXG4gIGZhU3RhaXJzLFxuICBmYUksXG4gIGZhSHJ5dm5pYVNpZ24sXG4gIGZhSHJ5dm5pYSxcbiAgZmFQaWxscyxcbiAgZmFGYWNlR3JpbldpZGUsXG4gIGZhR3JpbkFsdCxcbiAgZmFUb290aCxcbiAgZmFWLFxuICBmYUJhbmdsYWRlc2hpVGFrYVNpZ24sXG4gIGZhQmljeWNsZSxcbiAgZmFTdGFmZlNuYWtlLFxuICBmYVJvZEFzY2xlcGl1cyxcbiAgZmFSb2RTbmFrZSxcbiAgZmFTdGFmZkFlc2N1bGFwaXVzLFxuICBmYUhlYWRTaWRlQ291Z2hTbGFzaCxcbiAgZmFUcnVja01lZGljYWwsXG4gIGZhQW1idWxhbmNlLFxuICBmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhU25vd21hbixcbiAgZmFNb3J0YXJQZXN0bGUsXG4gIGZhUm9hZEJhcnJpZXIsXG4gIGZhU2Nob29sLFxuICBmYUlnbG9vLFxuICBmYUpvaW50LFxuICBmYUFuZ2xlUmlnaHQsXG4gIGZhSG9yc2UsXG4gIGZhUSxcbiAgZmFHLFxuICBmYU5vdGVzTWVkaWNhbCxcbiAgZmFUZW1wZXJhdHVyZUhhbGYsXG4gIGZhVGVtcGVyYXR1cmUyLFxuICBmYVRoZXJtb21ldGVyMixcbiAgZmFUaGVybW9tZXRlckhhbGYsXG4gIGZhRG9uZ1NpZ24sXG4gIGZhQ2Fwc3VsZXMsXG4gIGZhUG9vU3Rvcm0sXG4gIGZhUG9vQm9sdCxcbiAgZmFGYWNlRnJvd25PcGVuLFxuICBmYUZyb3duT3BlbixcbiAgZmFIYW5kUG9pbnRVcCxcbiAgZmFNb25leUJpbGwsXG4gIGZhQm9va21hcmssXG4gIGZhQWxpZ25KdXN0aWZ5LFxuICBmYVVtYnJlbGxhQmVhY2gsXG4gIGZhSGVsbWV0VW4sXG4gIGZhQnVsbHNleWUsXG4gIGZhQmFjb24sXG4gIGZhSGFuZFBvaW50RG93bixcbiAgZmFBcnJvd1VwRnJvbUJyYWNrZXQsXG4gIGZhRm9sZGVyLFxuICBmYUZvbGRlckJsYW5rLFxuICBmYUZpbGVXYXZlZm9ybSxcbiAgZmFGaWxlTWVkaWNhbEFsdCxcbiAgZmFSYWRpYXRpb24sXG4gIGZhQ2hhcnRTaW1wbGUsXG4gIGZhTWFyc1N0cm9rZSxcbiAgZmFWaWFsLFxuICBmYUdhdWdlLFxuICBmYURhc2hib2FyZCxcbiAgZmFHYXVnZU1lZCxcbiAgZmFUYWNob21ldGVyQWx0QXZlcmFnZSxcbiAgZmFXYW5kTWFnaWNTcGFya2xlcyxcbiAgZmFNYWdpY1dhbmRTcGFya2xlcyxcbiAgZmFFLFxuICBmYVBlbkNsaXAsXG4gIGZhUGVuQWx0LFxuICBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYVVzZXIsXG4gIGZhU2Nob29sQ2lyY2xlQ2hlY2ssXG4gIGZhRHVtcHN0ZXIsXG4gIGZhVmFuU2h1dHRsZSxcbiAgZmFTaHV0dGxlVmFuLFxuICBmYUJ1aWxkaW5nVXNlcixcbiAgZmFTcXVhcmVDYXJldExlZnQsXG4gIGZhQ2FyZXRTcXVhcmVMZWZ0LFxuICBmYUhpZ2hsaWdodGVyLFxuICBmYUtleSxcbiAgZmFCdWxsaG9ybixcbiAgZmFHbG9iZSxcbiAgZmFTeW5hZ29ndWUsXG4gIGZhUGVyc29uSGFsZkRyZXNzLFxuICBmYVJvYWRCcmlkZ2UsXG4gIGZhTG9jYXRpb25BcnJvdyxcbiAgZmFDLFxuICBmYVRhYmxldEJ1dHRvbixcbiAgZmFCdWlsZGluZ0xvY2ssXG4gIGZhUGl6emFTbGljZSxcbiAgZmFNb25leUJpbGxXYXZlLFxuICBmYUNoYXJ0QXJlYSxcbiAgZmFBcmVhQ2hhcnQsXG4gIGZhSG91c2VGbGFnLFxuICBmYVBlcnNvbkNpcmNsZU1pbnVzLFxuICBmYUJhbixcbiAgZmFDYW5jZWwsXG4gIGZhQ2FtZXJhUm90YXRlLFxuICBmYVNwcmF5Q2FuU3BhcmtsZXMsXG4gIGZhQWlyRnJlc2hlbmVyLFxuICBmYVN0YXIsXG4gIGZhUmVwZWF0LFxuICBmYUNyb3NzLFxuICBmYUJveCxcbiAgZmFWZW51c01hcnMsXG4gIGZhQXJyb3dQb2ludGVyLFxuICBmYU1vdXNlUG9pbnRlcixcbiAgZmFNYXhpbWl6ZSxcbiAgZmFFeHBhbmRBcnJvd3NBbHQsXG4gIGZhQ2hhcmdpbmdTdGF0aW9uLFxuICBmYVNoYXBlcyxcbiAgZmFUcmlhbmdsZUNpcmNsZVNxdWFyZSxcbiAgZmFTaHVmZmxlLFxuICBmYVJhbmRvbSxcbiAgZmFQZXJzb25SdW5uaW5nLFxuICBmYVJ1bm5pbmcsXG4gIGZhTW9iaWxlUmV0cm8sXG4gIGZhR3JpcExpbmVzVmVydGljYWwsXG4gIGZhU3BpZGVyLFxuICBmYUhhbmRzQm91bmQsXG4gIGZhRmlsZUludm9pY2VEb2xsYXIsXG4gIGZhUGxhbmVDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFYUmF5LFxuICBmYVNwZWxsQ2hlY2ssXG4gIGZhU2xhc2gsXG4gIGZhQ29tcHV0ZXJNb3VzZSxcbiAgZmFNb3VzZSxcbiAgZmFBcnJvd1JpZ2h0VG9CcmFja2V0LFxuICBmYVNpZ25JbixcbiAgZmFTaG9wU2xhc2gsXG4gIGZhU3RvcmVBbHRTbGFzaCxcbiAgZmFTZXJ2ZXIsXG4gIGZhVmlydXNDb3ZpZFNsYXNoLFxuICBmYVNob3BMb2NrLFxuICBmYUhvdXJnbGFzc1N0YXJ0LFxuICBmYUhvdXJnbGFzczEsXG4gIGZhQmxlbmRlclBob25lLFxuICBmYUJ1aWxkaW5nV2hlYXQsXG4gIGZhUGVyc29uQnJlYXN0ZmVlZGluZyxcbiAgZmFSaWdodFRvQnJhY2tldCxcbiAgZmFTaWduSW5BbHQsXG4gIGZhVmVudXMsXG4gIGZhUGFzc3BvcnQsXG4gIGZhVGh1bWJ0YWNrU2xhc2gsXG4gIGZhVGh1bWJUYWNrU2xhc2gsXG4gIGZhSGVhcnRQdWxzZSxcbiAgZmFIZWFydGJlYXQsXG4gIGZhUGVvcGxlQ2FycnlCb3gsXG4gIGZhUGVvcGxlQ2FycnksXG4gIGZhVGVtcGVyYXR1cmVIaWdoLFxuICBmYU1pY3JvY2hpcCxcbiAgZmFDcm93bixcbiAgZmFXZWlnaHRIYW5naW5nLFxuICBmYVhtYXJrc0xpbmVzLFxuICBmYUZpbGVQcmVzY3JpcHRpb24sXG4gIGZhV2VpZ2h0U2NhbGUsXG4gIGZhV2VpZ2h0LFxuICBmYVVzZXJHcm91cCxcbiAgZmFVc2VyRnJpZW5kcyxcbiAgZmFBcnJvd1VwQVosXG4gIGZhU29ydEFscGhhVXAsXG4gIGZhQ2hlc3NLbmlnaHQsXG4gIGZhRmFjZUxhdWdoU3F1aW50LFxuICBmYUxhdWdoU3F1aW50LFxuICBmYVdoZWVsY2hhaXIsXG4gIGZhQ2lyY2xlQXJyb3dVcCxcbiAgZmFBcnJvd0NpcmNsZVVwLFxuICBmYVRvZ2dsZU9uLFxuICBmYVBlcnNvbldhbGtpbmcsXG4gIGZhV2Fsa2luZyxcbiAgZmFMLFxuICBmYUZpcmUsXG4gIGZhQmVkUHVsc2UsXG4gIGZhUHJvY2VkdXJlcyxcbiAgZmFTaHV0dGxlU3BhY2UsXG4gIGZhU3BhY2VTaHV0dGxlLFxuICBmYUZhY2VMYXVnaCxcbiAgZmFMYXVnaCxcbiAgZmFGb2xkZXJPcGVuLFxuICBmYUhlYXJ0Q2lyY2xlUGx1cyxcbiAgZmFDb2RlRm9yayxcbiAgZmFDaXR5LFxuICBmYU1pY3JvcGhvbmVMaW5lcyxcbiAgZmFNaWNyb3Bob25lQWx0LFxuICBmYVBlcHBlckhvdCxcbiAgZmFVbmxvY2ssXG4gIGZhQ29sb25TaWduLFxuICBmYUhlYWRzZXQsXG4gIGZhU3RvcmVTbGFzaCxcbiAgZmFSb2FkQ2lyY2xlWG1hcmssXG4gIGZhVXNlck1pbnVzLFxuICBmYU1hcnNTdHJva2VVcCxcbiAgZmFNYXJzU3Ryb2tlVixcbiAgZmFDaGFtcGFnbmVHbGFzc2VzLFxuICBmYUdsYXNzQ2hlZXJzLFxuICBmYUNsaXBib2FyZCxcbiAgZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUZpbGVBcnJvd1VwLFxuICBmYUZpbGVVcGxvYWQsXG4gIGZhV2lmaSxcbiAgZmFXaWZpMyxcbiAgZmFXaWZpU3Ryb25nLFxuICBmYUJhdGgsXG4gIGZhQmF0aHR1YixcbiAgZmFVbmRlcmxpbmUsXG4gIGZhVXNlclBlbixcbiAgZmFVc2VyRWRpdCxcbiAgZmFTaWduYXR1cmUsXG4gIGZhU3Ryb29wd2FmZWwsXG4gIGZhQm9sZCxcbiAgZmFBbmNob3JMb2NrLFxuICBmYUJ1aWxkaW5nTmdvLFxuICBmYU1hbmF0U2lnbixcbiAgZmFOb3RFcXVhbCxcbiAgZmFCb3JkZXJUb3BMZWZ0LFxuICBmYUJvcmRlclN0eWxlLFxuICBmYU1hcExvY2F0aW9uRG90LFxuICBmYU1hcE1hcmtlZEFsdCxcbiAgZmFKZWRpLFxuICBmYVNxdWFyZVBvbGxWZXJ0aWNhbCxcbiAgZmFQb2xsLFxuICBmYU11Z0hvdCxcbiAgZmFDYXJCYXR0ZXJ5LFxuICBmYUJhdHRlcnlDYXIsXG4gIGZhR2lmdCxcbiAgZmFEaWNlVHdvLFxuICBmYUNoZXNzUXVlZW4sXG4gIGZhR2xhc3NlcyxcbiAgZmFDaGVzc0JvYXJkLFxuICBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2ssXG4gIGZhUGVyc29uQ2hhbGtib2FyZCxcbiAgZmFNYXJzU3Ryb2tlUmlnaHQsXG4gIGZhTWFyc1N0cm9rZUgsXG4gIGZhSGFuZEJhY2tGaXN0LFxuICBmYUhhbmRSb2NrLFxuICBmYVNxdWFyZUNhcmV0VXAsXG4gIGZhQ2FyZXRTcXVhcmVVcCxcbiAgZmFDbG91ZFNob3dlcnNXYXRlcixcbiAgZmFDaGFydEJhcixcbiAgZmFCYXJDaGFydCxcbiAgZmFIYW5kc0J1YmJsZXMsXG4gIGZhSGFuZHNXYXNoLFxuICBmYUxlc3NUaGFuRXF1YWwsXG4gIGZhVHJhaW4sXG4gIGZhRXllTG93VmlzaW9uLFxuICBmYUxvd1Zpc2lvbixcbiAgZmFDcm93LFxuICBmYVNhaWxib2F0LFxuICBmYVdpbmRvd1Jlc3RvcmUsXG4gIGZhU3F1YXJlUGx1cyxcbiAgZmFQbHVzU3F1YXJlLFxuICBmYVRvcmlpR2F0ZSxcbiAgZmFGcm9nLFxuICBmYUJ1Y2tldCxcbiAgZmFJbWFnZSxcbiAgZmFNaWNyb3Bob25lLFxuICBmYUNvdyxcbiAgZmFDYXJldFVwLFxuICBmYVNjcmV3ZHJpdmVyLFxuICBmYUZvbGRlckNsb3NlZCxcbiAgZmFIb3VzZVRzdW5hbWksXG4gIGZhU3F1YXJlTmZpLFxuICBmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXIsXG4gIGZhTWFydGluaUdsYXNzLFxuICBmYUdsYXNzTWFydGluaUFsdCxcbiAgZmFSb3RhdGVMZWZ0LFxuICBmYVJvdGF0ZUJhY2ssXG4gIGZhUm90YXRlQmFja3dhcmQsXG4gIGZhVW5kb0FsdCxcbiAgZmFUYWJsZUNvbHVtbnMsXG4gIGZhQ29sdW1ucyxcbiAgZmFMZW1vbixcbiAgZmFIZWFkU2lkZU1hc2ssXG4gIGZhSGFuZHNoYWtlLFxuICBmYUdlbSxcbiAgZmFEb2xseSxcbiAgZmFEb2xseUJveCxcbiAgZmFTbW9raW5nLFxuICBmYU1pbmltaXplLFxuICBmYUNvbXByZXNzQXJyb3dzQWx0LFxuICBmYU1vbnVtZW50LFxuICBmYVNub3dwbG93LFxuICBmYUFuZ2xlc1JpZ2h0LFxuICBmYUFuZ2xlRG91YmxlUmlnaHQsXG4gIGZhQ2FubmFiaXMsXG4gIGZhQ2lyY2xlUGxheSxcbiAgZmFQbGF5Q2lyY2xlLFxuICBmYVRhYmxldHMsXG4gIGZhRXRoZXJuZXQsXG4gIGZhRXVyb1NpZ24sXG4gIGZhRXVyLFxuICBmYUV1cm8sXG4gIGZhQ2hhaXIsXG4gIGZhQ2lyY2xlQ2hlY2ssXG4gIGZhQ2hlY2tDaXJjbGUsXG4gIGZhQ2lyY2xlU3RvcCxcbiAgZmFTdG9wQ2lyY2xlLFxuICBmYUNvbXBhc3NEcmFmdGluZyxcbiAgZmFEcmFmdGluZ0NvbXBhc3MsXG4gIGZhUGxhdGVXaGVhdCxcbiAgZmFJY2ljbGVzLFxuICBmYVBlcnNvblNoZWx0ZXIsXG4gIGZhTmV1dGVyLFxuICBmYUlkQmFkZ2UsXG4gIGZhTWFya2VyLFxuICBmYUZhY2VMYXVnaEJlYW0sXG4gIGZhTGF1Z2hCZWFtLFxuICBmYUhlbGljb3B0ZXJTeW1ib2wsXG4gIGZhVW5pdmVyc2FsQWNjZXNzLFxuICBmYUNpcmNsZUNoZXZyb25VcCxcbiAgZmFDaGV2cm9uQ2lyY2xlVXAsXG4gIGZhTGFyaVNpZ24sXG4gIGZhVm9sY2FubyxcbiAgZmFQZXJzb25XYWxraW5nRGFzaGVkTGluZUFycm93UmlnaHQsXG4gIGZhU3RlcmxpbmdTaWduLFxuICBmYUdicCxcbiAgZmFQb3VuZFNpZ24sXG4gIGZhVmlydXNlcyxcbiAgZmFTcXVhcmVQZXJzb25Db25maW5lZCxcbiAgZmFVc2VyVGllLFxuICBmYUFycm93RG93bkxvbmcsXG4gIGZhTG9uZ0Fycm93RG93bixcbiAgZmFUZW50QXJyb3dEb3duVG9MaW5lLFxuICBmYUNlcnRpZmljYXRlLFxuICBmYVJlcGx5QWxsLFxuICBmYU1haWxSZXBseUFsbCxcbiAgZmFTdWl0Y2FzZSxcbiAgZmFQZXJzb25Ta2F0aW5nLFxuICBmYVNrYXRpbmcsXG4gIGZhRmlsdGVyQ2lyY2xlRG9sbGFyLFxuICBmYUZ1bm5lbERvbGxhcixcbiAgZmFDYW1lcmFSZXRybyxcbiAgZmFDaXJjbGVBcnJvd0Rvd24sXG4gIGZhQXJyb3dDaXJjbGVEb3duLFxuICBmYUZpbGVJbXBvcnQsXG4gIGZhQXJyb3dSaWdodFRvRmlsZSxcbiAgZmFTcXVhcmVBcnJvd1VwUmlnaHQsXG4gIGZhRXh0ZXJuYWxMaW5rU3F1YXJlLFxuICBmYUJveE9wZW4sXG4gIGZhU2Nyb2xsLFxuICBmYVNwYSxcbiAgZmFMb2NhdGlvblBpbkxvY2ssXG4gIGZhUGF1c2UsXG4gIGZhSGlsbEF2YWxhbmNoZSxcbiAgZmFUZW1wZXJhdHVyZUVtcHR5LFxuICBmYVRlbXBlcmF0dXJlMCxcbiAgZmFUaGVybW9tZXRlcjAsXG4gIGZhVGhlcm1vbWV0ZXJFbXB0eSxcbiAgZmFCb21iLFxuICBmYVJlZ2lzdGVyZWQsXG4gIGZhQWRkcmVzc0NhcmQsXG4gIGZhQ29udGFjdENhcmQsXG4gIGZhVmNhcmQsXG4gIGZhU2NhbGVVbmJhbGFuY2VkRmxpcCxcbiAgZmFCYWxhbmNlU2NhbGVSaWdodCxcbiAgZmFTdWJzY3JpcHQsXG4gIGZhRGlhbW9uZFR1cm5SaWdodCxcbiAgZmFEaXJlY3Rpb25zLFxuICBmYUJ1cnN0LFxuICBmYUhvdXNlTGFwdG9wLFxuICBmYUxhcHRvcEhvdXNlLFxuICBmYUZhY2VUaXJlZCxcbiAgZmFUaXJlZCxcbiAgZmFNb25leUJpbGxzLFxuICBmYVNtb2csXG4gIGZhQ3J1dGNoLFxuICBmYUZvbnRBd2Vzb21lLFxuICBmYUZvbnRBd2Vzb21lRmxhZyxcbiAgZmFGb250QXdlc29tZUxvZ29GdWxsLFxuICBmYUNsb3VkQXJyb3dVcCxcbiAgZmFDbG91ZFVwbG9hZCxcbiAgZmFDbG91ZFVwbG9hZEFsdCxcbiAgZmFQYWxldHRlLFxuICBmYUFycm93c1R1cm5SaWdodCxcbiAgZmFWZXN0LFxuICBmYUZlcnJ5LFxuICBmYUFycm93c0Rvd25Ub1Blb3BsZSxcbiAgZmFTZWVkbGluZyxcbiAgZmFTcHJvdXQsXG4gIGZhTGVmdFJpZ2h0LFxuICBmYUFycm93c0FsdEgsXG4gIGZhQm94ZXNQYWNraW5nLFxuICBmYUNpcmNsZUFycm93TGVmdCxcbiAgZmFBcnJvd0NpcmNsZUxlZnQsXG4gIGZhR3JvdXBBcnJvd3NSb3RhdGUsXG4gIGZhQm93bEZvb2QsXG4gIGZhQ2FuZHlDYW5lLFxuICBmYUFycm93RG93bldpZGVTaG9ydCxcbiAgZmFTb3J0QW1vdW50QXNjLFxuICBmYVNvcnRBbW91bnREb3duLFxuICBmYUNsb3VkQm9sdCxcbiAgZmFUaHVuZGVyc3Rvcm0sXG4gIGZhVGV4dFNsYXNoLFxuICBmYVJlbW92ZUZvcm1hdCxcbiAgZmFGYWNlU21pbGVXaW5rLFxuICBmYVNtaWxlV2luayxcbiAgZmFGaWxlV29yZCxcbiAgZmFGaWxlUG93ZXJwb2ludCxcbiAgZmFBcnJvd3NMZWZ0UmlnaHQsXG4gIGZhQXJyb3dzSCxcbiAgZmFIb3VzZUxvY2ssXG4gIGZhQ2xvdWRBcnJvd0Rvd24sXG4gIGZhQ2xvdWREb3dubG9hZCxcbiAgZmFDbG91ZERvd25sb2FkQWx0LFxuICBmYUNoaWxkcmVuLFxuICBmYUNoYWxrYm9hcmQsXG4gIGZhQmxhY2tib2FyZCxcbiAgZmFVc2VyTGFyZ2VTbGFzaCxcbiAgZmFVc2VyQWx0U2xhc2gsXG4gIGZhRW52ZWxvcGVPcGVuLFxuICBmYUhhbmRzaGFrZVNpbXBsZVNsYXNoLFxuICBmYUhhbmRzaGFrZUFsdFNsYXNoLFxuICBmYU1hdHRyZXNzUGlsbG93LFxuICBmYUd1YXJhbmlTaWduLFxuICBmYUFycm93c1JvdGF0ZSxcbiAgZmFSZWZyZXNoLFxuICBmYVN5bmMsXG4gIGZhRmlyZUV4dGluZ3Vpc2hlcixcbiAgZmFDcnV6ZWlyb1NpZ24sXG4gIGZhR3JlYXRlclRoYW5FcXVhbCxcbiAgZmFTaGllbGRIYWx2ZWQsXG4gIGZhU2hpZWxkQWx0LFxuICBmYUJvb2tBdGxhcyxcbiAgZmFBdGxhcyxcbiAgZmFWaXJ1cyxcbiAgZmFFbnZlbG9wZUNpcmNsZUNoZWNrLFxuICBmYUxheWVyR3JvdXAsXG4gIGZhQXJyb3dzVG9Eb3QsXG4gIGZhQXJjaHdheSxcbiAgZmFIZWFydENpcmNsZUNoZWNrLFxuICBmYUhvdXNlQ2hpbW5leUNyYWNrLFxuICBmYUhvdXNlRGFtYWdlLFxuICBmYUZpbGVaaXBwZXIsXG4gIGZhRmlsZUFyY2hpdmUsXG4gIGZhU3F1YXJlLFxuICBmYU1hcnRpbmlHbGFzc0VtcHR5LFxuICBmYUdsYXNzTWFydGluaSxcbiAgZmFDb3VjaCxcbiAgZmFDZWRpU2lnbixcbiAgZmFJdGFsaWMsXG4gIGZhVGFibGVDZWxsc0NvbHVtbkxvY2ssXG4gIGZhQ2h1cmNoLFxuICBmYUNvbW1lbnRzRG9sbGFyLFxuICBmYURlbW9jcmF0LFxuICBmYVosXG4gIGZhUGVyc29uU2tpaW5nLFxuICBmYVNraWluZyxcbiAgZmFSb2FkTG9jayxcbiAgZmFBLFxuICBmYVRlbXBlcmF0dXJlQXJyb3dEb3duLFxuICBmYVRlbXBlcmF0dXJlRG93bixcbiAgZmFGZWF0aGVyUG9pbnRlZCxcbiAgZmFGZWF0aGVyQWx0LFxuICBmYVAsXG4gIGZhU25vd2ZsYWtlLFxuICBmYU5ld3NwYXBlcixcbiAgZmFSZWN0YW5nbGVBZCxcbiAgZmFBZCxcbiAgZmFDaXJjbGVBcnJvd1JpZ2h0LFxuICBmYUFycm93Q2lyY2xlUmlnaHQsXG4gIGZhRmlsdGVyQ2lyY2xlWG1hcmssXG4gIGZhTG9jdXN0LFxuICBmYVNvcnQsXG4gIGZhVW5zb3J0ZWQsXG4gIGZhTGlzdE9sLFxuICBmYUxpc3QxMixcbiAgZmFMaXN0TnVtZXJpYyxcbiAgZmFQZXJzb25EcmVzc0J1cnN0LFxuICBmYU1vbmV5Q2hlY2tEb2xsYXIsXG4gIGZhTW9uZXlDaGVja0FsdCxcbiAgZmFWZWN0b3JTcXVhcmUsXG4gIGZhQnJlYWRTbGljZSxcbiAgZmFMYW5ndWFnZSxcbiAgZmFGYWNlS2lzc1dpbmtIZWFydCxcbiAgZmFLaXNzV2lua0hlYXJ0LFxuICBmYUZpbHRlcixcbiAgZmFRdWVzdGlvbixcbiAgZmFGaWxlU2lnbmF0dXJlLFxuICBmYVVwRG93bkxlZnRSaWdodCxcbiAgZmFBcnJvd3NBbHQsXG4gIGZhSG91c2VDaGltbmV5VXNlcixcbiAgZmFIYW5kSG9sZGluZ0hlYXJ0LFxuICBmYVB1enpsZVBpZWNlLFxuICBmYU1vbmV5Q2hlY2ssXG4gIGZhU3RhckhhbGZTdHJva2UsXG4gIGZhU3RhckhhbGZBbHQsXG4gIGZhQ29kZSxcbiAgZmFXaGlza2V5R2xhc3MsXG4gIGZhR2xhc3NXaGlza2V5LFxuICBmYUJ1aWxkaW5nQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQsXG4gIGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZSxcbiAgZmFFeHRlcm5hbExpbmssXG4gIGZhQ3ViZXNTdGFja2VkLFxuICBmYVdvblNpZ24sXG4gIGZhS3J3LFxuICBmYVdvbixcbiAgZmFWaXJ1c0NvdmlkLFxuICBmYUF1c3RyYWxTaWduLFxuICBmYUYsXG4gIGZhTGVhZixcbiAgZmFSb2FkLFxuICBmYVRheGksXG4gIGZhQ2FiLFxuICBmYVBlcnNvbkNpcmNsZVBsdXMsXG4gIGZhQ2hhcnRQaWUsXG4gIGZhUGllQ2hhcnQsXG4gIGZhQm9sdExpZ2h0bmluZyxcbiAgZmFTYWNrWG1hcmssXG4gIGZhRmlsZUV4Y2VsLFxuICBmYUZpbGVDb250cmFjdCxcbiAgZmFGaXNoRmlucyxcbiAgZmFCdWlsZGluZ0ZsYWcsXG4gIGZhRmFjZUdyaW5CZWFtLFxuICBmYUdyaW5CZWFtLFxuICBmYU9iamVjdFVuZ3JvdXAsXG4gIGZhUG9vcCxcbiAgZmFMb2NhdGlvblBpbixcbiAgZmFNYXBNYXJrZXIsXG4gIGZhS2FhYmEsXG4gIGZhVG9pbGV0UGFwZXIsXG4gIGZhSGVsbWV0U2FmZXR5LFxuICBmYUhhcmRIYXQsXG4gIGZhSGF0SGFyZCxcbiAgZmFFamVjdCxcbiAgZmFDaXJjbGVSaWdodCxcbiAgZmFBcnJvd0FsdENpcmNsZVJpZ2h0LFxuICBmYVBsYW5lQ2lyY2xlQ2hlY2ssXG4gIGZhRmFjZVJvbGxpbmdFeWVzLFxuICBmYU1laFJvbGxpbmdFeWVzLFxuICBmYU9iamVjdEdyb3VwLFxuICBmYUNoYXJ0TGluZSxcbiAgZmFMaW5lQ2hhcnQsXG4gIGZhTWFza1ZlbnRpbGF0b3IsXG4gIGZhQXJyb3dSaWdodCxcbiAgZmFTaWduc1Bvc3QsXG4gIGZhTWFwU2lnbnMsXG4gIGZhQ2FzaFJlZ2lzdGVyLFxuICBmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uLFxuICBmYUgsXG4gIGZhVGFycCxcbiAgZmFTY3Jld2RyaXZlcldyZW5jaCxcbiAgZmFUb29scyxcbiAgZmFBcnJvd3NUb0V5ZSxcbiAgZmFQbHVnQ2lyY2xlQm9sdCxcbiAgZmFIZWFydCxcbiAgZmFNYXJzQW5kVmVudXMsXG4gIGZhSG91c2VVc2VyLFxuICBmYUhvbWVVc2VyLFxuICBmYUR1bXBzdGVyRmlyZSxcbiAgZmFIb3VzZUNyYWNrLFxuICBmYU1hcnRpbmlHbGFzc0NpdHJ1cyxcbiAgZmFDb2NrdGFpbCxcbiAgZmFGYWNlU3VycHJpc2UsXG4gIGZhU3VycHJpc2UsXG4gIGZhQm90dGxlV2F0ZXIsXG4gIGZhQ2lyY2xlUGF1c2UsXG4gIGZhUGF1c2VDaXJjbGUsXG4gIGZhVG9pbGV0UGFwZXJTbGFzaCxcbiAgZmFBcHBsZVdob2xlLFxuICBmYUFwcGxlQWx0LFxuICBmYUtpdGNoZW5TZXQsXG4gIGZhUixcbiAgZmFUZW1wZXJhdHVyZVF1YXJ0ZXIsXG4gIGZhVGVtcGVyYXR1cmUxLFxuICBmYVRoZXJtb21ldGVyMSxcbiAgZmFUaGVybW9tZXRlclF1YXJ0ZXIsXG4gIGZhQ3ViZSxcbiAgZmFCaXRjb2luU2lnbixcbiAgZmFTaGllbGREb2csXG4gIGZhU29sYXJQYW5lbCxcbiAgZmFMb2NrT3BlbixcbiAgZmFFbGV2YXRvcixcbiAgZmFNb25leUJpbGxUcmFuc2ZlcixcbiAgZmFNb25leUJpbGxUcmVuZFVwLFxuICBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQsXG4gIGZhU3F1YXJlUG9sbEhvcml6b250YWwsXG4gIGZhUG9sbEgsXG4gIGZhQ2lyY2xlLFxuICBmYUJhY2t3YXJkRmFzdCxcbiAgZmFGYXN0QmFja3dhcmQsXG4gIGZhUmVjeWNsZSxcbiAgZmFVc2VyQXN0cm9uYXV0LFxuICBmYVBsYW5lU2xhc2gsXG4gIGZhVHJhZGVtYXJrLFxuICBmYUJhc2tldGJhbGwsXG4gIGZhQmFza2V0YmFsbEJhbGwsXG4gIGZhU2F0ZWxsaXRlRGlzaCxcbiAgZmFDaXJjbGVVcCxcbiAgZmFBcnJvd0FsdENpcmNsZVVwLFxuICBmYU1vYmlsZVNjcmVlbkJ1dHRvbixcbiAgZmFNb2JpbGVBbHQsXG4gIGZhVm9sdW1lSGlnaCxcbiAgZmFWb2x1bWVVcCxcbiAgZmFVc2Vyc1JheXMsXG4gIGZhV2FsbGV0LFxuICBmYUNsaXBib2FyZENoZWNrLFxuICBmYUZpbGVBdWRpbyxcbiAgZmFCdXJnZXIsXG4gIGZhSGFtYnVyZ2VyLFxuICBmYVdyZW5jaCxcbiAgZmFCdWdzLFxuICBmYVJ1cGVlU2lnbixcbiAgZmFSdXBlZSxcbiAgZmFGaWxlSW1hZ2UsXG4gIGZhQ2lyY2xlUXVlc3Rpb24sXG4gIGZhUXVlc3Rpb25DaXJjbGUsXG4gIGZhUGxhbmVEZXBhcnR1cmUsXG4gIGZhSGFuZHNoYWtlU2xhc2gsXG4gIGZhQm9va0Jvb2ttYXJrLFxuICBmYUNvZGVCcmFuY2gsXG4gIGZhSGF0Q293Ym95LFxuICBmYUJyaWRnZSxcbiAgZmFQaG9uZUZsaXAsXG4gIGZhUGhvbmVBbHQsXG4gIGZhVHJ1Y2tGcm9udCxcbiAgZmFDYXQsXG4gIGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhVHJ1Y2tGaWVsZCxcbiAgZmFSb3V0ZSxcbiAgZmFDbGlwYm9hcmRRdWVzdGlvbixcbiAgZmFQYW5vcmFtYSxcbiAgZmFDb21tZW50TWVkaWNhbCxcbiAgZmFUZWV0aE9wZW4sXG4gIGZhRmlsZUNpcmNsZU1pbnVzLFxuICBmYVRhZ3MsXG4gIGZhV2luZUdsYXNzLFxuICBmYUZvcndhcmRGYXN0LFxuICBmYUZhc3RGb3J3YXJkLFxuICBmYUZhY2VNZWhCbGFuayxcbiAgZmFNZWhCbGFuayxcbiAgZmFTcXVhcmVQYXJraW5nLFxuICBmYVBhcmtpbmcsXG4gIGZhSG91c2VTaWduYWwsXG4gIGZhQmFyc1Byb2dyZXNzLFxuICBmYVRhc2tzQWx0LFxuICBmYUZhdWNldERyaXAsXG4gIGZhQ2FydEZsYXRiZWQsXG4gIGZhRG9sbHlGbGF0YmVkLFxuICBmYUJhblNtb2tpbmcsXG4gIGZhU21va2luZ0JhbixcbiAgZmFUZXJtaW5hbCxcbiAgZmFNb2JpbGVCdXR0b24sXG4gIGZhSG91c2VNZWRpY2FsRmxhZyxcbiAgZmFCYXNrZXRTaG9wcGluZyxcbiAgZmFTaG9wcGluZ0Jhc2tldCxcbiAgZmFUYXBlLFxuICBmYUJ1c1NpbXBsZSxcbiAgZmFCdXNBbHQsXG4gIGZhRXllLFxuICBmYUZhY2VTYWRDcnksXG4gIGZhU2FkQ3J5LFxuICBmYUF1ZGlvRGVzY3JpcHRpb24sXG4gIGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbixcbiAgZmFGaWxlU2hpZWxkLFxuICBmYVVzZXJTbGFzaCxcbiAgZmFQZW4sXG4gIGZhVG93ZXJPYnNlcnZhdGlvbixcbiAgZmFGaWxlQ29kZSxcbiAgZmFTaWduYWwsXG4gIGZhU2lnbmFsNSxcbiAgZmFTaWduYWxQZXJmZWN0LFxuICBmYUJ1cyxcbiAgZmFIZWFydENpcmNsZVhtYXJrLFxuICBmYUhvdXNlQ2hpbW5leSxcbiAgZmFIb21lTGcsXG4gIGZhV2luZG93TWF4aW1pemUsXG4gIGZhRmFjZUZyb3duLFxuICBmYUZyb3duLFxuICBmYVByZXNjcmlwdGlvbixcbiAgZmFTaG9wLFxuICBmYVN0b3JlQWx0LFxuICBmYUZsb3BweURpc2ssXG4gIGZhU2F2ZSxcbiAgZmFWaWhhcmEsXG4gIGZhU2NhbGVVbmJhbGFuY2VkLFxuICBmYUJhbGFuY2VTY2FsZUxlZnQsXG4gIGZhU29ydFVwLFxuICBmYVNvcnRBc2MsXG4gIGZhQ29tbWVudERvdHMsXG4gIGZhQ29tbWVudGluZyxcbiAgZmFQbGFudFdpbHQsXG4gIGZhRGlhbW9uZCxcbiAgZmFGYWNlR3JpblNxdWludCxcbiAgZmFHcmluU3F1aW50LFxuICBmYUhhbmRIb2xkaW5nRG9sbGFyLFxuICBmYUhhbmRIb2xkaW5nVXNkLFxuICBmYUJhY3Rlcml1bSxcbiAgZmFIYW5kUG9pbnRlcixcbiAgZmFEcnVtU3RlZWxwYW4sXG4gIGZhSGFuZFNjaXNzb3JzLFxuICBmYUhhbmRzUHJheWluZyxcbiAgZmFQcmF5aW5nSGFuZHMsXG4gIGZhQXJyb3dSb3RhdGVSaWdodCxcbiAgZmFBcnJvd1JpZ2h0Um90YXRlLFxuICBmYUFycm93Um90YXRlRm9yd2FyZCxcbiAgZmFSZWRvLFxuICBmYVdlYkF3ZXNvbWUsXG4gIGZhQmlvaGF6YXJkLFxuICBmYUxvY2F0aW9uQ3Jvc3NoYWlycyxcbiAgZmFMb2NhdGlvbixcbiAgZmFNYXJzRG91YmxlLFxuICBmYUNoaWxkRHJlc3MsXG4gIGZhVXNlcnNCZXR3ZWVuTGluZXMsXG4gIGZhTHVuZ3NWaXJ1cyxcbiAgZmFGYWNlR3JpblRlYXJzLFxuICBmYUdyaW5UZWFycyxcbiAgZmFQaG9uZSxcbiAgZmFDYWxlbmRhclhtYXJrLFxuICBmYUNhbGVuZGFyVGltZXMsXG4gIGZhQ2hpbGRSZWFjaGluZyxcbiAgZmFIZWFkU2lkZVZpcnVzLFxuICBmYVVzZXJHZWFyLFxuICBmYVVzZXJDb2csXG4gIGZhQXJyb3dVcDE5LFxuICBmYVNvcnROdW1lcmljVXAsXG4gIGZhRG9vckNsb3NlZCxcbiAgZmFTaGllbGRWaXJ1cyxcbiAgZmFEaWNlU2l4LFxuICBmYU1vc3F1aXRvTmV0LFxuICBmYUJyaWRnZVdhdGVyLFxuICBmYVBlcnNvbkJvb3RoLFxuICBmYVRleHRXaWR0aCxcbiAgZmFIYXRXaXphcmQsXG4gIGZhUGVuRmFuY3ksXG4gIGZhUGVyc29uRGlnZ2luZyxcbiAgZmFEaWdnaW5nLFxuICBmYVRyYXNoLFxuICBmYUdhdWdlU2ltcGxlLFxuICBmYUdhdWdlU2ltcGxlTWVkLFxuICBmYVRhY2hvbWV0ZXJBdmVyYWdlLFxuICBmYUJvb2tNZWRpY2FsLFxuICBmYVBvbyxcbiAgZmFRdW90ZVJpZ2h0LFxuICBmYVF1b3RlUmlnaHRBbHQsXG4gIGZhU2hpcnQsXG4gIGZhVFNoaXJ0LFxuICBmYVRzaGlydCxcbiAgZmFDdWJlcyxcbiAgZmFEaXZpZGUsXG4gIGZhVGVuZ2VTaWduLFxuICBmYVRlbmdlLFxuICBmYUhlYWRwaG9uZXMsXG4gIGZhSGFuZHNIb2xkaW5nLFxuICBmYUhhbmRzQ2xhcHBpbmcsXG4gIGZhUmVwdWJsaWNhbixcbiAgZmFBcnJvd0xlZnQsXG4gIGZhUGVyc29uQ2lyY2xlWG1hcmssXG4gIGZhUnVsZXIsXG4gIGZhQWxpZ25MZWZ0LFxuICBmYURpY2VENixcbiAgZmFSZXN0cm9vbSxcbiAgZmFKLFxuICBmYVVzZXJzVmlld2ZpbmRlcixcbiAgZmFGaWxlVmlkZW8sXG4gIGZhVXBSaWdodEZyb21TcXVhcmUsXG4gIGZhRXh0ZXJuYWxMaW5rQWx0LFxuICBmYVRhYmxlQ2VsbHMsXG4gIGZhVGgsXG4gIGZhRmlsZVBkZixcbiAgZmFCb29rQmlibGUsXG4gIGZhQmlibGUsXG4gIGZhTyxcbiAgZmFTdWl0Y2FzZU1lZGljYWwsXG4gIGZhTWVka2l0LFxuICBmYVVzZXJTZWNyZXQsXG4gIGZhT3R0ZXIsXG4gIGZhUGVyc29uRHJlc3MsXG4gIGZhRmVtYWxlLFxuICBmYUNvbW1lbnREb2xsYXIsXG4gIGZhQnVzaW5lc3NUaW1lLFxuICBmYUJyaWVmY2FzZUNsb2NrLFxuICBmYVRhYmxlQ2VsbHNMYXJnZSxcbiAgZmFUaExhcmdlLFxuICBmYUJvb2tUYW5ha2gsXG4gIGZhVGFuYWtoLFxuICBmYVBob25lVm9sdW1lLFxuICBmYVZvbHVtZUNvbnRyb2xQaG9uZSxcbiAgZmFIYXRDb3dib3lTaWRlLFxuICBmYUNsaXBib2FyZFVzZXIsXG4gIGZhQ2hpbGQsXG4gIGZhTGlyYVNpZ24sXG4gIGZhU2F0ZWxsaXRlLFxuICBmYVBsYW5lTG9jayxcbiAgZmFUYWcsXG4gIGZhQ29tbWVudCxcbiAgZmFDYWtlQ2FuZGxlcyxcbiAgZmFCaXJ0aGRheUNha2UsXG4gIGZhQ2FrZSxcbiAgZmFFbnZlbG9wZSxcbiAgZmFBbmdsZXNVcCxcbiAgZmFBbmdsZURvdWJsZVVwLFxuICBmYVBhcGVyY2xpcCxcbiAgZmFBcnJvd1JpZ2h0VG9DaXR5LFxuICBmYVJpYmJvbixcbiAgZmFMdW5ncyxcbiAgZmFBcnJvd1VwOTEsXG4gIGZhU29ydE51bWVyaWNVcEFsdCxcbiAgZmFMaXRlY29pblNpZ24sXG4gIGZhQm9yZGVyTm9uZSxcbiAgZmFDaXJjbGVOb2RlcyxcbiAgZmFQYXJhY2h1dGVCb3gsXG4gIGZhSW5kZW50LFxuICBmYVRydWNrRmllbGRVbixcbiAgZmFIb3VyZ2xhc3MsXG4gIGZhSG91cmdsYXNzRW1wdHksXG4gIGZhTW91bnRhaW4sXG4gIGZhVXNlckRvY3RvcixcbiAgZmFVc2VyTWQsXG4gIGZhQ2lyY2xlSW5mbyxcbiAgZmFJbmZvQ2lyY2xlLFxuICBmYUNsb3VkTWVhdGJhbGwsXG4gIGZhQ2FtZXJhLFxuICBmYUNhbWVyYUFsdCxcbiAgZmFTcXVhcmVWaXJ1cyxcbiAgZmFNZXRlb3IsXG4gIGZhQ2FyT24sXG4gIGZhU2xlaWdoLFxuICBmYUFycm93RG93bjE5LFxuICBmYVNvcnROdW1lcmljQXNjLFxuICBmYVNvcnROdW1lcmljRG93bixcbiAgZmFIYW5kSG9sZGluZ0Ryb3BsZXQsXG4gIGZhSGFuZEhvbGRpbmdXYXRlcixcbiAgZmFXYXRlcixcbiAgZmFDYWxlbmRhckNoZWNrLFxuICBmYUJyYWlsbGUsXG4gIGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbCxcbiAgZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQsXG4gIGZhTGFuZG1hcmssXG4gIGZhVHJ1Y2ssXG4gIGZhQ3Jvc3NoYWlycyxcbiAgZmFQZXJzb25DYW5lLFxuICBmYVRlbnQsXG4gIGZhVmVzdFBhdGNoZXMsXG4gIGZhQ2hlY2tEb3VibGUsXG4gIGZhQXJyb3dEb3duQVosXG4gIGZhU29ydEFscGhhQXNjLFxuICBmYVNvcnRBbHBoYURvd24sXG4gIGZhTW9uZXlCaWxsV2hlYXQsXG4gIGZhQ29va2llLFxuICBmYUFycm93Um90YXRlTGVmdCxcbiAgZmFBcnJvd0xlZnRSb3RhdGUsXG4gIGZhQXJyb3dSb3RhdGVCYWNrLFxuICBmYUFycm93Um90YXRlQmFja3dhcmQsXG4gIGZhVW5kbyxcbiAgZmFIYXJkRHJpdmUsXG4gIGZhSGRkLFxuICBmYUZhY2VHcmluU3F1aW50VGVhcnMsXG4gIGZhR3JpblNxdWludFRlYXJzLFxuICBmYUR1bWJiZWxsLFxuICBmYVJlY3RhbmdsZUxpc3QsXG4gIGZhTGlzdEFsdCxcbiAgZmFUYXJwRHJvcGxldCxcbiAgZmFIb3VzZU1lZGljYWxDaXJjbGVDaGVjayxcbiAgZmFQZXJzb25Ta2lpbmdOb3JkaWMsXG4gIGZhU2tpaW5nTm9yZGljLFxuICBmYUNhbGVuZGFyUGx1cyxcbiAgZmFQbGFuZUFycml2YWwsXG4gIGZhQ2lyY2xlTGVmdCxcbiAgZmFBcnJvd0FsdENpcmNsZUxlZnQsXG4gIGZhVHJhaW5TdWJ3YXksXG4gIGZhU3Vid2F5LFxuICBmYUNoYXJ0R2FudHQsXG4gIGZhSW5kaWFuUnVwZWVTaWduLFxuICBmYUluZGlhblJ1cGVlLFxuICBmYUlucixcbiAgZmFDcm9wU2ltcGxlLFxuICBmYUNyb3BBbHQsXG4gIGZhTW9uZXlCaWxsMSxcbiAgZmFNb25leUJpbGxBbHQsXG4gIGZhTGVmdExvbmcsXG4gIGZhTG9uZ0Fycm93QWx0TGVmdCxcbiAgZmFEbmEsXG4gIGZhVmlydXNTbGFzaCxcbiAgZmFNaW51cyxcbiAgZmFTdWJ0cmFjdCxcbiAgZmFDaGVzcyxcbiAgZmFBcnJvd0xlZnRMb25nLFxuICBmYUxvbmdBcnJvd0xlZnQsXG4gIGZhUGx1Z0NpcmNsZUNoZWNrLFxuICBmYVN0cmVldFZpZXcsXG4gIGZhRnJhbmNTaWduLFxuICBmYVZvbHVtZU9mZixcbiAgZmFIYW5kc0FzbEludGVycHJldGluZyxcbiAgZmFBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyxcbiAgZmFBc2xJbnRlcnByZXRpbmcsXG4gIGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZyxcbiAgZmFHZWFyLFxuICBmYUNvZyxcbiAgZmFEcm9wbGV0U2xhc2gsXG4gIGZhVGludFNsYXNoLFxuICBmYU1vc3F1ZSxcbiAgZmFNb3NxdWl0byxcbiAgZmFTdGFyT2ZEYXZpZCxcbiAgZmFQZXJzb25NaWxpdGFyeVJpZmxlLFxuICBmYUNhcnRTaG9wcGluZyxcbiAgZmFTaG9wcGluZ0NhcnQsXG4gIGZhVmlhbHMsXG4gIGZhUGx1Z0NpcmNsZVBsdXMsXG4gIGZhUGxhY2VPZldvcnNoaXAsXG4gIGZhR3JpcFZlcnRpY2FsLFxuICBmYUFycm93VHVyblVwLFxuICBmYUxldmVsVXAsXG4gIGZhVSxcbiAgZmFTcXVhcmVSb290VmFyaWFibGUsXG4gIGZhU3F1YXJlUm9vdEFsdCxcbiAgZmFDbG9jayxcbiAgZmFDbG9ja0ZvdXIsXG4gIGZhQmFja3dhcmRTdGVwLFxuICBmYVN0ZXBCYWNrd2FyZCxcbiAgZmFQYWxsZXQsXG4gIGZhRmF1Y2V0LFxuICBmYUJhc2ViYWxsQmF0QmFsbCxcbiAgZmFTLFxuICBmYVRpbWVsaW5lLFxuICBmYUtleWJvYXJkLFxuICBmYUNhcmV0RG93bixcbiAgZmFIb3VzZUNoaW1uZXlNZWRpY2FsLFxuICBmYUNsaW5pY01lZGljYWwsXG4gIGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzLFxuICBmYVRlbXBlcmF0dXJlMyxcbiAgZmFUaGVybW9tZXRlcjMsXG4gIGZhVGhlcm1vbWV0ZXJUaHJlZVF1YXJ0ZXJzLFxuICBmYU1vYmlsZVNjcmVlbixcbiAgZmFNb2JpbGVBbmRyb2lkQWx0LFxuICBmYVBsYW5lVXAsXG4gIGZhUGlnZ3lCYW5rLFxuICBmYUJhdHRlcnlIYWxmLFxuICBmYUJhdHRlcnkzLFxuICBmYU1vdW50YWluQ2l0eSxcbiAgZmFDb2lucyxcbiAgZmFLaGFuZGEsXG4gIGZhU2xpZGVycyxcbiAgZmFTbGlkZXJzSCxcbiAgZmFGb2xkZXJUcmVlLFxuICBmYU5ldHdvcmtXaXJlZCxcbiAgZmFNYXBQaW4sXG4gIGZhSGFtc2EsXG4gIGZhQ2VudFNpZ24sXG4gIGZhRmxhc2ssXG4gIGZhUGVyc29uUHJlZ25hbnQsXG4gIGZhV2FuZFNwYXJrbGVzLFxuICBmYUVsbGlwc2lzVmVydGljYWwsXG4gIGZhRWxsaXBzaXNWLFxuICBmYVRpY2tldCxcbiAgZmFQb3dlck9mZixcbiAgZmFSaWdodExvbmcsXG4gIGZhTG9uZ0Fycm93QWx0UmlnaHQsXG4gIGZhRmxhZ1VzYSxcbiAgZmFMYXB0b3BGaWxlLFxuICBmYVR0eSxcbiAgZmFUZWxldHlwZSxcbiAgZmFEaWFncmFtTmV4dCxcbiAgZmFQZXJzb25SaWZsZSxcbiAgZmFIb3VzZU1lZGljYWxDaXJjbGVFeGNsYW1hdGlvbixcbiAgZmFDbG9zZWRDYXB0aW9uaW5nLFxuICBmYVBlcnNvbkhpa2luZyxcbiAgZmFIaWtpbmcsXG4gIGZhVmVudXNEb3VibGUsXG4gIGZhSW1hZ2VzLFxuICBmYUNhbGN1bGF0b3IsXG4gIGZhUGVvcGxlUHVsbGluZyxcbiAgZmFOLFxuICBmYUNhYmxlQ2FyLFxuICBmYVRyYW0sXG4gIGZhQ2xvdWRSYWluLFxuICBmYUJ1aWxkaW5nQ2lyY2xlWG1hcmssXG4gIGZhU2hpcCxcbiAgZmFBcnJvd3NEb3duVG9MaW5lLFxuICBmYURvd25sb2FkLFxuICBmYUZhY2VHcmluLFxuICBmYUdyaW4sXG4gIGZhRGVsZXRlTGVmdCxcbiAgZmFCYWNrc3BhY2UsXG4gIGZhRXllRHJvcHBlcixcbiAgZmFFeWVEcm9wcGVyRW1wdHksXG4gIGZhRXllZHJvcHBlcixcbiAgZmFGaWxlQ2lyY2xlQ2hlY2ssXG4gIGZhRm9yd2FyZCxcbiAgZmFNb2JpbGUsXG4gIGZhTW9iaWxlQW5kcm9pZCxcbiAgZmFNb2JpbGVQaG9uZSxcbiAgZmFGYWNlTWVoLFxuICBmYU1laCxcbiAgZmFBbGlnbkNlbnRlcixcbiAgZmFCb29rU2t1bGwsXG4gIGZhQm9va0RlYWQsXG4gIGZhSWRDYXJkLFxuICBmYURyaXZlcnNMaWNlbnNlLFxuICBmYU91dGRlbnQsXG4gIGZhRGVkZW50LFxuICBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhSG91c2UsXG4gIGZhSG9tZSxcbiAgZmFIb21lQWx0LFxuICBmYUhvbWVMZ0FsdCxcbiAgZmFDYWxlbmRhcldlZWssXG4gIGZhTGFwdG9wTWVkaWNhbCxcbiAgZmFCLFxuICBmYUZpbGVNZWRpY2FsLFxuICBmYURpY2VPbmUsXG4gIGZhS2l3aUJpcmQsXG4gIGZhQXJyb3dSaWdodEFycm93TGVmdCxcbiAgZmFFeGNoYW5nZSxcbiAgZmFSb3RhdGVSaWdodCxcbiAgZmFSZWRvQWx0LFxuICBmYVJvdGF0ZUZvcndhcmQsXG4gIGZhVXRlbnNpbHMsXG4gIGZhQ3V0bGVyeSxcbiAgZmFBcnJvd1VwV2lkZVNob3J0LFxuICBmYVNvcnRBbW91bnRVcCxcbiAgZmFNaWxsU2lnbixcbiAgZmFCb3dsUmljZSxcbiAgZmFTa3VsbCxcbiAgZmFUb3dlckJyb2FkY2FzdCxcbiAgZmFCcm9hZGNhc3RUb3dlcixcbiAgZmFUcnVja1BpY2t1cCxcbiAgZmFVcExvbmcsXG4gIGZhTG9uZ0Fycm93QWx0VXAsXG4gIGZhU3RvcCxcbiAgZmFDb2RlTWVyZ2UsXG4gIGZhVXBsb2FkLFxuICBmYUh1cnJpY2FuZSxcbiAgZmFNb3VuZCxcbiAgZmFUb2lsZXRQb3J0YWJsZSxcbiAgZmFDb21wYWN0RGlzYyxcbiAgZmFGaWxlQXJyb3dEb3duLFxuICBmYUZpbGVEb3dubG9hZCxcbiAgZmFDYXJhdmFuLFxuICBmYVNoaWVsZENhdCxcbiAgZmFCb2x0LFxuICBmYVphcCxcbiAgZmFHbGFzc1dhdGVyLFxuICBmYU9pbFdlbGwsXG4gIGZhVmF1bHQsXG4gIGZhTWFycyxcbiAgZmFUb2lsZXQsXG4gIGZhUGxhbmVDaXJjbGVYbWFyayxcbiAgZmFZZW5TaWduLFxuICBmYUNueSxcbiAgZmFKcHksXG4gIGZhUm1iLFxuICBmYVllbixcbiAgZmFSdWJsZVNpZ24sXG4gIGZhUm91YmxlLFxuICBmYVJ1YixcbiAgZmFSdWJsZSxcbiAgZmFTdW4sXG4gIGZhR3VpdGFyLFxuICBmYUZhY2VMYXVnaFdpbmssXG4gIGZhTGF1Z2hXaW5rLFxuICBmYUhvcnNlSGVhZCxcbiAgZmFCb3JlSG9sZSxcbiAgZmFJbmR1c3RyeSxcbiAgZmFDaXJjbGVEb3duLFxuICBmYUFycm93QWx0Q2lyY2xlRG93bixcbiAgZmFBcnJvd3NUdXJuVG9Eb3RzLFxuICBmYUZsb3JpblNpZ24sXG4gIGZhQXJyb3dEb3duU2hvcnRXaWRlLFxuICBmYVNvcnRBbW91bnREZXNjLFxuICBmYVNvcnRBbW91bnREb3duQWx0LFxuICBmYUxlc3NUaGFuLFxuICBmYUFuZ2xlRG93bixcbiAgZmFDYXJUdW5uZWwsXG4gIGZhSGVhZFNpZGVDb3VnaCxcbiAgZmFHcmlwTGluZXMsXG4gIGZhVGh1bWJzRG93bixcbiAgZmFVc2VyTG9jayxcbiAgZmFBcnJvd1JpZ2h0TG9uZyxcbiAgZmFMb25nQXJyb3dSaWdodCxcbiAgZmFBbmNob3JDaXJjbGVYbWFyayxcbiAgZmFFbGxpcHNpcyxcbiAgZmFFbGxpcHNpc0gsXG4gIGZhQ2hlc3NQYXduLFxuICBmYUtpdE1lZGljYWwsXG4gIGZhRmlyc3RBaWQsXG4gIGZhUGVyc29uVGhyb3VnaFdpbmRvdyxcbiAgZmFUb29sYm94LFxuICBmYUhhbmRzSG9sZGluZ0NpcmNsZSxcbiAgZmFCdWcsXG4gIGZhQ3JlZGl0Q2FyZCxcbiAgZmFDcmVkaXRDYXJkQWx0LFxuICBmYUNhcixcbiAgZmFBdXRvbW9iaWxlLFxuICBmYUhhbmRIb2xkaW5nSGFuZCxcbiAgZmFCb29rT3BlblJlYWRlcixcbiAgZmFCb29rUmVhZGVyLFxuICBmYU1vdW50YWluU3VuLFxuICBmYUFycm93c0xlZnRSaWdodFRvTGluZSxcbiAgZmFEaWNlRDIwLFxuICBmYVRydWNrRHJvcGxldCxcbiAgZmFGaWxlQ2lyY2xlWG1hcmssXG4gIGZhVGVtcGVyYXR1cmVBcnJvd1VwLFxuICBmYVRlbXBlcmF0dXJlVXAsXG4gIGZhTWVkYWwsXG4gIGZhQmVkLFxuICBmYVNxdWFyZUgsXG4gIGZhSFNxdWFyZSxcbiAgZmFQb2RjYXN0LFxuICBmYVRlbXBlcmF0dXJlRnVsbCxcbiAgZmFUZW1wZXJhdHVyZTQsXG4gIGZhVGhlcm1vbWV0ZXI0LFxuICBmYVRoZXJtb21ldGVyRnVsbCxcbiAgZmFCZWxsLFxuICBmYVN1cGVyc2NyaXB0LFxuICBmYVBsdWdDaXJjbGVYbWFyayxcbiAgZmFTdGFyT2ZMaWZlLFxuICBmYVBob25lU2xhc2gsXG4gIGZhUGFpbnRSb2xsZXIsXG4gIGZhSGFuZHNoYWtlQW5nbGUsXG4gIGZhSGFuZHNIZWxwaW5nLFxuICBmYUxvY2F0aW9uRG90LFxuICBmYU1hcE1hcmtlckFsdCxcbiAgZmFGaWxlLFxuICBmYUdyZWF0ZXJUaGFuLFxuICBmYVBlcnNvblN3aW1taW5nLFxuICBmYVN3aW1tZXIsXG4gIGZhQXJyb3dEb3duLFxuICBmYURyb3BsZXQsXG4gIGZhVGludCxcbiAgZmFFcmFzZXIsXG4gIGZhRWFydGhBbWVyaWNhcyxcbiAgZmFFYXJ0aCxcbiAgZmFFYXJ0aEFtZXJpY2EsXG4gIGZhR2xvYmVBbWVyaWNhcyxcbiAgZmFQZXJzb25CdXJzdCxcbiAgZmFEb3ZlLFxuICBmYUJhdHRlcnlFbXB0eSxcbiAgZmFCYXR0ZXJ5MCxcbiAgZmFTb2NrcyxcbiAgZmFJbmJveCxcbiAgZmFTZWN0aW9uLFxuICBmYUdhdWdlSGlnaCxcbiAgZmFUYWNob21ldGVyQWx0LFxuICBmYVRhY2hvbWV0ZXJBbHRGYXN0LFxuICBmYUVudmVsb3BlT3BlblRleHQsXG4gIGZhSG9zcGl0YWwsXG4gIGZhSG9zcGl0YWxBbHQsXG4gIGZhSG9zcGl0YWxXaWRlLFxuICBmYVdpbmVCb3R0bGUsXG4gIGZhQ2hlc3NSb29rLFxuICBmYUJhcnNTdGFnZ2VyZWQsXG4gIGZhUmVvcmRlcixcbiAgZmFTdHJlYW0sXG4gIGZhRGhhcm1hY2hha3JhLFxuICBmYUhvdGRvZyxcbiAgZmFQZXJzb25XYWxraW5nV2l0aENhbmUsXG4gIGZhQmxpbmQsXG4gIGZhRHJ1bSxcbiAgZmFJY2VDcmVhbSxcbiAgZmFIZWFydENpcmNsZUJvbHQsXG4gIGZhRmF4LFxuICBmYVBhcmFncmFwaCxcbiAgZmFDaGVja1RvU2xvdCxcbiAgZmFWb3RlWWVhLFxuICBmYVN0YXJIYWxmLFxuICBmYUJveGVzU3RhY2tlZCxcbiAgZmFCb3hlcyxcbiAgZmFCb3hlc0FsdCxcbiAgZmFMaW5rLFxuICBmYUNoYWluLFxuICBmYUVhckxpc3RlbixcbiAgZmFBc3Npc3RpdmVMaXN0ZW5pbmdTeXN0ZW1zLFxuICBmYVRyZWVDaXR5LFxuICBmYVBsYXksXG4gIGZhRm9udCxcbiAgZmFUYWJsZUNlbGxzUm93TG9jayxcbiAgZmFSdXBpYWhTaWduLFxuICBmYU1hZ25pZnlpbmdHbGFzcyxcbiAgZmFTZWFyY2gsXG4gIGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsLFxuICBmYVBpbmdQb25nUGFkZGxlQmFsbCxcbiAgZmFUYWJsZVRlbm5pcyxcbiAgZmFQZXJzb25Eb3RzRnJvbUxpbmUsXG4gIGZhRGlhZ25vc2VzLFxuICBmYVRyYXNoQ2FuQXJyb3dVcCxcbiAgZmFUcmFzaFJlc3RvcmVBbHQsXG4gIGZhTmFpcmFTaWduLFxuICBmYUNhcnRBcnJvd0Rvd24sXG4gIGZhV2Fsa2llVGFsa2llLFxuICBmYUZpbGVQZW4sXG4gIGZhRmlsZUVkaXQsXG4gIGZhUmVjZWlwdCxcbiAgZmFTcXVhcmVQZW4sXG4gIGZhUGVuU3F1YXJlLFxuICBmYVBlbmNpbFNxdWFyZSxcbiAgZmFTdWl0Y2FzZVJvbGxpbmcsXG4gIGZhUGVyc29uQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhQ2hldnJvbkRvd24sXG4gIGZhQmF0dGVyeUZ1bGwsXG4gIGZhQmF0dGVyeSxcbiAgZmFCYXR0ZXJ5NSxcbiAgZmFTa3VsbENyb3NzYm9uZXMsXG4gIGZhQ29kZUNvbXBhcmUsXG4gIGZhTGlzdFVsLFxuICBmYUxpc3REb3RzLFxuICBmYVNjaG9vbExvY2ssXG4gIGZhVG93ZXJDZWxsLFxuICBmYURvd25Mb25nLFxuICBmYUxvbmdBcnJvd0FsdERvd24sXG4gIGZhUmFua2luZ1N0YXIsXG4gIGZhQ2hlc3NLaW5nLFxuICBmYVBlcnNvbkhhcmFzc2luZyxcbiAgZmFCcmF6aWxpYW5SZWFsU2lnbixcbiAgZmFMYW5kbWFya0RvbWUsXG4gIGZhTGFuZG1hcmtBbHQsXG4gIGZhQXJyb3dVcCxcbiAgZmFUdixcbiAgZmFUZWxldmlzaW9uLFxuICBmYVR2QWx0LFxuICBmYVNocmltcCxcbiAgZmFMaXN0Q2hlY2ssXG4gIGZhVGFza3MsXG4gIGZhSnVnRGV0ZXJnZW50LFxuICBmYUNpcmNsZVVzZXIsXG4gIGZhVXNlckNpcmNsZSxcbiAgZmFVc2VyU2hpZWxkLFxuICBmYVdpbmQsXG4gIGZhQ2FyQnVyc3QsXG4gIGZhQ2FyQ3Jhc2gsXG4gIGZhWSxcbiAgZmFQZXJzb25Tbm93Ym9hcmRpbmcsXG4gIGZhU25vd2JvYXJkaW5nLFxuICBmYVRydWNrRmFzdCxcbiAgZmFTaGlwcGluZ0Zhc3QsXG4gIGZhRmlzaCxcbiAgZmFVc2VyR3JhZHVhdGUsXG4gIGZhQ2lyY2xlSGFsZlN0cm9rZSxcbiAgZmFBZGp1c3QsXG4gIGZhQ2xhcHBlcmJvYXJkLFxuICBmYUNpcmNsZVJhZGlhdGlvbixcbiAgZmFSYWRpYXRpb25BbHQsXG4gIGZhQmFzZWJhbGwsXG4gIGZhQmFzZWJhbGxCYWxsLFxuICBmYUpldEZpZ2h0ZXJVcCxcbiAgZmFEaWFncmFtUHJvamVjdCxcbiAgZmFQcm9qZWN0RGlhZ3JhbSxcbiAgZmFDb3B5LFxuICBmYVZvbHVtZVhtYXJrLFxuICBmYVZvbHVtZU11dGUsXG4gIGZhVm9sdW1lVGltZXMsXG4gIGZhSGFuZFNwYXJrbGVzLFxuICBmYUdyaXAsXG4gIGZhR3JpcEhvcml6b250YWwsXG4gIGZhU2hhcmVGcm9tU3F1YXJlLFxuICBmYVNoYXJlU3F1YXJlLFxuICBmYUNoaWxkQ29tYmF0YW50LFxuICBmYUNoaWxkUmlmbGUsXG4gIGZhR3VuLFxuICBmYVNxdWFyZVBob25lLFxuICBmYVBob25lU3F1YXJlLFxuICBmYVBsdXMsXG4gIGZhQWRkLFxuICBmYUV4cGFuZCxcbiAgZmFDb21wdXRlcixcbiAgZmFYbWFyayxcbiAgZmFDbG9zZSxcbiAgZmFNdWx0aXBseSxcbiAgZmFSZW1vdmUsXG4gIGZhVGltZXMsXG4gIGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0LFxuICBmYUFycm93cyxcbiAgZmFDaGFsa2JvYXJkVXNlcixcbiAgZmFDaGFsa2JvYXJkVGVhY2hlcixcbiAgZmFQZXNvU2lnbixcbiAgZmFCdWlsZGluZ1NoaWVsZCxcbiAgZmFCYWJ5LFxuICBmYVVzZXJzTGluZSxcbiAgZmFRdW90ZUxlZnQsXG4gIGZhUXVvdGVMZWZ0QWx0LFxuICBmYVRyYWN0b3IsXG4gIGZhVHJhc2hBcnJvd1VwLFxuICBmYVRyYXNoUmVzdG9yZSxcbiAgZmFBcnJvd0Rvd25VcExvY2ssXG4gIGZhTGluZXNMZWFuaW5nLFxuICBmYVJ1bGVyQ29tYmluZWQsXG4gIGZhQ29weXJpZ2h0LFxuICBmYUVxdWFscyxcbiAgZmFCbGVuZGVyLFxuICBmYVRlZXRoLFxuICBmYVNoZWtlbFNpZ24sXG4gIGZhSWxzLFxuICBmYVNoZWtlbCxcbiAgZmFTaGVxZWwsXG4gIGZhU2hlcWVsU2lnbixcbiAgZmFNYXAsXG4gIGZhUm9ja2V0LFxuICBmYVBob3RvRmlsbSxcbiAgZmFQaG90b1ZpZGVvLFxuICBmYUZvbGRlck1pbnVzLFxuICBmYVN0b3JlLFxuICBmYUFycm93VHJlbmRVcCxcbiAgZmFQbHVnQ2lyY2xlTWludXMsXG4gIGZhU2lnbkhhbmdpbmcsXG4gIGZhU2lnbixcbiAgZmFCZXppZXJDdXJ2ZSxcbiAgZmFCZWxsU2xhc2gsXG4gIGZhVGFibGV0LFxuICBmYVRhYmxldEFuZHJvaWQsXG4gIGZhU2Nob29sRmxhZyxcbiAgZmFGaWxsLFxuICBmYUFuZ2xlVXAsXG4gIGZhRHJ1bXN0aWNrQml0ZSxcbiAgZmFIb2xseUJlcnJ5LFxuICBmYUNoZXZyb25MZWZ0LFxuICBmYUJhY3RlcmlhLFxuICBmYUhhbmRMaXphcmQsXG4gIGZhTm90ZGVmLFxuICBmYURpc2Vhc2UsXG4gIGZhQnJpZWZjYXNlTWVkaWNhbCxcbiAgZmFHZW5kZXJsZXNzLFxuICBmYUNoZXZyb25SaWdodCxcbiAgZmFSZXR3ZWV0LFxuICBmYUNhclJlYXIsXG4gIGZhQ2FyQWx0LFxuICBmYVB1bXBTb2FwLFxuICBmYVZpZGVvU2xhc2gsXG4gIGZhQmF0dGVyeVF1YXJ0ZXIsXG4gIGZhQmF0dGVyeTIsXG4gIGZhUmFkaW8sXG4gIGZhQmFieUNhcnJpYWdlLFxuICBmYUNhcnJpYWdlQmFieSxcbiAgZmFUcmFmZmljTGlnaHQsXG4gIGZhVGhlcm1vbWV0ZXIsXG4gIGZhVnJDYXJkYm9hcmQsXG4gIGZhSGFuZE1pZGRsZUZpbmdlcixcbiAgZmFQZXJjZW50LFxuICBmYVBlcmNlbnRhZ2UsXG4gIGZhVHJ1Y2tNb3ZpbmcsXG4gIGZhR2xhc3NXYXRlckRyb3BsZXQsXG4gIGZhRGlzcGxheSxcbiAgZmFGYWNlU21pbGUsXG4gIGZhU21pbGUsXG4gIGZhVGh1bWJ0YWNrLFxuICBmYVRodW1iVGFjayxcbiAgZmFUcm9waHksXG4gIGZhUGVyc29uUHJheWluZyxcbiAgZmFQcmF5LFxuICBmYUhhbW1lcixcbiAgZmFIYW5kUGVhY2UsXG4gIGZhUm90YXRlLFxuICBmYVN5bmNBbHQsXG4gIGZhU3Bpbm5lcixcbiAgZmFSb2JvdCxcbiAgZmFQZWFjZSxcbiAgZmFHZWFycyxcbiAgZmFDb2dzLFxuICBmYVdhcmVob3VzZSxcbiAgZmFBcnJvd1VwUmlnaHREb3RzLFxuICBmYVNwbG90Y2gsXG4gIGZhRmFjZUdyaW5IZWFydHMsXG4gIGZhR3JpbkhlYXJ0cyxcbiAgZmFEaWNlRm91cixcbiAgZmFTaW1DYXJkLFxuICBmYVRyYW5zZ2VuZGVyLFxuICBmYVRyYW5zZ2VuZGVyQWx0LFxuICBmYU1lcmN1cnksXG4gIGZhQXJyb3dUdXJuRG93bixcbiAgZmFMZXZlbERvd24sXG4gIGZhUGVyc29uRmFsbGluZ0J1cnN0LFxuICBmYUF3YXJkLFxuICBmYVRpY2tldFNpbXBsZSxcbiAgZmFUaWNrZXRBbHQsXG4gIGZhQnVpbGRpbmcsXG4gIGZhQW5nbGVzTGVmdCxcbiAgZmFBbmdsZURvdWJsZUxlZnQsXG4gIGZhUXJjb2RlLFxuICBmYUNsb2NrUm90YXRlTGVmdCxcbiAgZmFIaXN0b3J5LFxuICBmYUZhY2VHcmluQmVhbVN3ZWF0LFxuICBmYUdyaW5CZWFtU3dlYXQsXG4gIGZhRmlsZUV4cG9ydCxcbiAgZmFBcnJvd1JpZ2h0RnJvbUZpbGUsXG4gIGZhU2hpZWxkLFxuICBmYVNoaWVsZEJsYW5rLFxuICBmYUFycm93VXBTaG9ydFdpZGUsXG4gIGZhU29ydEFtb3VudFVwQWx0LFxuICBmYUhvdXNlTWVkaWNhbCxcbiAgZmFHb2xmQmFsbFRlZSxcbiAgZmFHb2xmQmFsbCxcbiAgZmFDaXJjbGVDaGV2cm9uTGVmdCxcbiAgZmFDaGV2cm9uQ2lyY2xlTGVmdCxcbiAgZmFIb3VzZUNoaW1uZXlXaW5kb3csXG4gIGZhUGVuTmliLFxuICBmYVRlbnRBcnJvd1R1cm5MZWZ0LFxuICBmYVRlbnRzLFxuICBmYVdhbmRNYWdpYyxcbiAgZmFNYWdpYyxcbiAgZmFEb2csXG4gIGZhQ2Fycm90LFxuICBmYU1vb24sXG4gIGZhV2luZUdsYXNzRW1wdHksXG4gIGZhV2luZUdsYXNzQWx0LFxuICBmYUNoZWVzZSxcbiAgZmFZaW5ZYW5nLFxuICBmYU11c2ljLFxuICBmYUNvZGVDb21taXQsXG4gIGZhVGVtcGVyYXR1cmVMb3csXG4gIGZhUGVyc29uQmlraW5nLFxuICBmYUJpa2luZyxcbiAgZmFCcm9vbSxcbiAgZmFTaGllbGRIZWFydCxcbiAgZmFHb3B1cmFtLFxuICBmYUVhcnRoT2NlYW5pYSxcbiAgZmFHbG9iZU9jZWFuaWEsXG4gIGZhU3F1YXJlWG1hcmssXG4gIGZhVGltZXNTcXVhcmUsXG4gIGZhWG1hcmtTcXVhcmUsXG4gIGZhSGFzaHRhZyxcbiAgZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyLFxuICBmYUV4cGFuZEFsdCxcbiAgZmFPaWxDYW4sXG4gIGZhVCxcbiAgZmFIaXBwbyxcbiAgZmFDaGFydENvbHVtbixcbiAgZmFJbmZpbml0eSxcbiAgZmFWaWFsQ2lyY2xlQ2hlY2ssXG4gIGZhUGVyc29uQXJyb3dEb3duVG9MaW5lLFxuICBmYVZvaWNlbWFpbCxcbiAgZmFGYW4sXG4gIGZhUGVyc29uV2Fsa2luZ0x1Z2dhZ2UsXG4gIGZhVXBEb3duLFxuICBmYUFycm93c0FsdFYsXG4gIGZhQ2xvdWRNb29uUmFpbixcbiAgZmFDYWxlbmRhcixcbiAgZmFUcmFpbGVyLFxuICBmYUJhaGFpLFxuICBmYUhheWthbCxcbiAgZmFTZENhcmQsXG4gIGZhRHJhZ29uLFxuICBmYVNob2VQcmludHMsXG4gIGZhQ2lyY2xlUGx1cyxcbiAgZmFQbHVzQ2lyY2xlLFxuICBmYUZhY2VHcmluVG9uZ3VlV2luayxcbiAgZmFHcmluVG9uZ3VlV2luayxcbiAgZmFIYW5kSG9sZGluZyxcbiAgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhTGlua1NsYXNoLFxuICBmYUNoYWluQnJva2VuLFxuICBmYUNoYWluU2xhc2gsXG4gIGZhVW5saW5rLFxuICBmYUNsb25lLFxuICBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0LFxuICBmYUFycm93VXBaQSxcbiAgZmFTb3J0QWxwaGFVcEFsdCxcbiAgZmFGaXJlRmxhbWVDdXJ2ZWQsXG4gIGZhRmlyZUFsdCxcbiAgZmFUb3JuYWRvLFxuICBmYUZpbGVDaXJjbGVQbHVzLFxuICBmYUJvb2tRdXJhbixcbiAgZmFRdXJhbixcbiAgZmFBbmNob3IsXG4gIGZhQm9yZGVyQWxsLFxuICBmYUZhY2VBbmdyeSxcbiAgZmFBbmdyeSxcbiAgZmFDb29raWVCaXRlLFxuICBmYUFycm93VHJlbmREb3duLFxuICBmYVJzcyxcbiAgZmFGZWVkLFxuICBmYURyYXdQb2x5Z29uLFxuICBmYVNjYWxlQmFsYW5jZWQsXG4gIGZhQmFsYW5jZVNjYWxlLFxuICBmYUdhdWdlU2ltcGxlSGlnaCxcbiAgZmFUYWNob21ldGVyLFxuICBmYVRhY2hvbWV0ZXJGYXN0LFxuICBmYVNob3dlcixcbiAgZmFEZXNrdG9wLFxuICBmYURlc2t0b3BBbHQsXG4gIGZhTSxcbiAgZmFUYWJsZUxpc3QsXG4gIGZhVGhMaXN0LFxuICBmYUNvbW1lbnRTbXMsXG4gIGZhU21zLFxuICBmYUJvb2ssXG4gIGZhVXNlclBsdXMsXG4gIGZhQ2hlY2ssXG4gIGZhQmF0dGVyeVRocmVlUXVhcnRlcnMsXG4gIGZhQmF0dGVyeTQsXG4gIGZhSG91c2VDaXJjbGVDaGVjayxcbiAgZmFBbmdsZUxlZnQsXG4gIGZhRGlhZ3JhbVN1Y2Nlc3NvcixcbiAgZmFUcnVja0Fycm93UmlnaHQsXG4gIGZhQXJyb3dzU3BsaXRVcEFuZExlZnQsXG4gIGZhSGFuZEZpc3QsXG4gIGZhRmlzdFJhaXNlZCxcbiAgZmFDbG91ZE1vb24sXG4gIGZhQnJpZWZjYXNlLFxuICBmYVBlcnNvbkZhbGxpbmcsXG4gIGZhSW1hZ2VQb3J0cmFpdCxcbiAgZmFQb3J0cmFpdCxcbiAgZmFVc2VyVGFnLFxuICBmYVJ1ZyxcbiAgZmFFYXJ0aEV1cm9wZSxcbiAgZmFHbG9iZUV1cm9wZSxcbiAgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlLFxuICBmYUx1Z2dhZ2VDYXJ0LFxuICBmYVJlY3RhbmdsZVhtYXJrLFxuICBmYVJlY3RhbmdsZVRpbWVzLFxuICBmYVRpbWVzUmVjdGFuZ2xlLFxuICBmYVdpbmRvd0Nsb3NlLFxuICBmYUJhaHRTaWduLFxuICBmYUJvb2tPcGVuLFxuICBmYUJvb2tKb3VybmFsV2hpbGxzLFxuICBmYUpvdXJuYWxXaGlsbHMsXG4gIGZhSGFuZGN1ZmZzLFxuICBmYVRyaWFuZ2xlRXhjbGFtYXRpb24sXG4gIGZhRXhjbGFtYXRpb25UcmlhbmdsZSxcbiAgZmFXYXJuaW5nLFxuICBmYURhdGFiYXNlLFxuICBmYVNoYXJlLFxuICBmYU1haWxGb3J3YXJkLFxuICBmYUJvdHRsZURyb3BsZXQsXG4gIGZhTWFza0ZhY2UsXG4gIGZhSGlsbFJvY2tzbGlkZSxcbiAgZmFSaWdodExlZnQsXG4gIGZhRXhjaGFuZ2VBbHQsXG4gIGZhUGFwZXJQbGFuZSxcbiAgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhRHVuZ2VvbixcbiAgZmFBbGlnblJpZ2h0LFxuICBmYU1vbmV5QmlsbDFXYXZlLFxuICBmYU1vbmV5QmlsbFdhdmVBbHQsXG4gIGZhTGlmZVJpbmcsXG4gIGZhSGFuZHMsXG4gIGZhU2lnbkxhbmd1YWdlLFxuICBmYVNpZ25pbmcsXG4gIGZhQ2FsZW5kYXJEYXksXG4gIGZhV2F0ZXJMYWRkZXIsXG4gIGZhTGFkZGVyV2F0ZXIsXG4gIGZhU3dpbW1pbmdQb29sLFxuICBmYUFycm93c1VwRG93bixcbiAgZmFBcnJvd3NWLFxuICBmYUZhY2VHcmltYWNlLFxuICBmYUdyaW1hY2UsXG4gIGZhV2hlZWxjaGFpck1vdmUsXG4gIGZhV2hlZWxjaGFpckFsdCxcbiAgZmFUdXJuRG93bixcbiAgZmFMZXZlbERvd25BbHQsXG4gIGZhUGVyc29uV2Fsa2luZ0Fycm93UmlnaHQsXG4gIGZhU3F1YXJlRW52ZWxvcGUsXG4gIGZhRW52ZWxvcGVTcXVhcmUsXG4gIGZhRGljZSxcbiAgZmFCb3dsaW5nQmFsbCxcbiAgZmFCcmFpbixcbiAgZmFCYW5kYWdlLFxuICBmYUJhbmRBaWQsXG4gIGZhQ2FsZW5kYXJNaW51cyxcbiAgZmFDaXJjbGVYbWFyayxcbiAgZmFUaW1lc0NpcmNsZSxcbiAgZmFYbWFya0NpcmNsZSxcbiAgZmFHaWZ0cyxcbiAgZmFIb3RlbCxcbiAgZmFFYXJ0aEFzaWEsXG4gIGZhR2xvYmVBc2lhLFxuICBmYUlkQ2FyZENsaXAsXG4gIGZhSWRDYXJkQWx0LFxuICBmYU1hZ25pZnlpbmdHbGFzc1BsdXMsXG4gIGZhU2VhcmNoUGx1cyxcbiAgZmFUaHVtYnNVcCxcbiAgZmFVc2VyQ2xvY2ssXG4gIGZhSGFuZERvdHMsXG4gIGZhQWxsZXJnaWVzLFxuICBmYUZpbGVJbnZvaWNlLFxuICBmYVdpbmRvd01pbmltaXplLFxuICBmYU11Z1NhdWNlcixcbiAgZmFDb2ZmZWUsXG4gIGZhQnJ1c2gsXG4gIGZhTWFzayxcbiAgZmFNYWduaWZ5aW5nR2xhc3NNaW51cyxcbiAgZmFTZWFyY2hNaW51cyxcbiAgZmFSdWxlclZlcnRpY2FsLFxuICBmYVVzZXJMYXJnZSxcbiAgZmFVc2VyQWx0LFxuICBmYVRyYWluVHJhbSxcbiAgZmFVc2VyTnVyc2UsXG4gIGZhU3lyaW5nZSxcbiAgZmFDbG91ZFN1bixcbiAgZmFTdG9wd2F0Y2gyMCxcbiAgZmFTcXVhcmVGdWxsLFxuICBmYU1hZ25ldCxcbiAgZmFKYXIsXG4gIGZhTm90ZVN0aWNreSxcbiAgZmFTdGlja3lOb3RlLFxuICBmYUJ1Z1NsYXNoLFxuICBmYUFycm93VXBGcm9tV2F0ZXJQdW1wLFxuICBmYUJvbmUsXG4gIGZhVGFibGVDZWxsc1Jvd1VubG9jayxcbiAgZmFVc2VySW5qdXJlZCxcbiAgZmFGYWNlU2FkVGVhcixcbiAgZmFTYWRUZWFyLFxuICBmYVBsYW5lLFxuICBmYVRlbnRBcnJvd3NEb3duLFxuICBmYUV4Y2xhbWF0aW9uLFxuICBmYUFycm93c1NwaW4sXG4gIGZhUHJpbnQsXG4gIGZhVHVya2lzaExpcmFTaWduLFxuICBmYVRyeSxcbiAgZmFUdXJraXNoTGlyYSxcbiAgZmFEb2xsYXJTaWduLFxuICBmYURvbGxhcixcbiAgZmFVc2QsXG4gIGZhWCxcbiAgZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXIsXG4gIGZhU2VhcmNoRG9sbGFyLFxuICBmYVVzZXJzR2VhcixcbiAgZmFVc2Vyc0NvZyxcbiAgZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nLFxuICBmYUJ1aWxkaW5nQ29sdW1ucyxcbiAgZmFCYW5rLFxuICBmYUluc3RpdHV0aW9uLFxuICBmYU11c2V1bSxcbiAgZmFVbml2ZXJzaXR5LFxuICBmYVVtYnJlbGxhLFxuICBmYVRyb3dlbCxcbiAgZmFELFxuICBmYVN0YXBsZXIsXG4gIGZhTWFza3NUaGVhdGVyLFxuICBmYVRoZWF0ZXJNYXNrcyxcbiAgZmFLaXBTaWduLFxuICBmYUhhbmRQb2ludExlZnQsXG4gIGZhSGFuZHNoYWtlU2ltcGxlLFxuICBmYUhhbmRzaGFrZUFsdCxcbiAgZmFKZXRGaWdodGVyLFxuICBmYUZpZ2h0ZXJKZXQsXG4gIGZhU3F1YXJlU2hhcmVOb2RlcyxcbiAgZmFTaGFyZUFsdFNxdWFyZSxcbiAgZmFCYXJjb2RlLFxuICBmYVBsdXNNaW51cyxcbiAgZmFWaWRlbyxcbiAgZmFWaWRlb0NhbWVyYSxcbiAgZmFHcmFkdWF0aW9uQ2FwLFxuICBmYU1vcnRhckJvYXJkLFxuICBmYUhhbmRIb2xkaW5nTWVkaWNhbCxcbiAgZmFQZXJzb25DaXJjbGVDaGVjayxcbiAgZmFUdXJuVXAsXG4gIGZhTGV2ZWxVcEFsdFxufTtcblxuZXhwb3J0IHsgaWNvbnMgYXMgZmFzLCBwcmVmaXgsIGZhMCwgZmExLCBmYTIsIGZhMywgZmE0LCBmYTUsIGZhNiwgZmE3LCBmYTgsIGZhOSwgZmFGaWxsRHJpcCwgZmFBcnJvd3NUb0NpcmNsZSwgZmFDaXJjbGVDaGV2cm9uUmlnaHQsIGZhQ2hldnJvbkNpcmNsZVJpZ2h0LCBmYUF0LCBmYVRyYXNoQ2FuLCBmYVRyYXNoQWx0LCBmYVRleHRIZWlnaHQsIGZhVXNlclhtYXJrLCBmYVVzZXJUaW1lcywgZmFTdGV0aG9zY29wZSwgZmFNZXNzYWdlLCBmYUNvbW1lbnRBbHQsIGZhSW5mbywgZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlciwgZmFDb21wcmVzc0FsdCwgZmFFeHBsb3Npb24sIGZhRmlsZUxpbmVzLCBmYUZpbGVBbHQsIGZhRmlsZVRleHQsIGZhV2F2ZVNxdWFyZSwgZmFSaW5nLCBmYUJ1aWxkaW5nVW4sIGZhRGljZVRocmVlLCBmYUNhbGVuZGFyRGF5cywgZmFDYWxlbmRhckFsdCwgZmFBbmNob3JDaXJjbGVDaGVjaywgZmFCdWlsZGluZ0NpcmNsZUFycm93UmlnaHQsIGZhVm9sbGV5YmFsbCwgZmFWb2xsZXliYWxsQmFsbCwgZmFBcnJvd3NVcFRvTGluZSwgZmFTb3J0RG93biwgZmFTb3J0RGVzYywgZmFDaXJjbGVNaW51cywgZmFNaW51c0NpcmNsZSwgZmFEb29yT3BlbiwgZmFSaWdodEZyb21CcmFja2V0LCBmYVNpZ25PdXRBbHQsIGZhQXRvbSwgZmFTb2FwLCBmYUljb25zLCBmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0LCBmYU1pY3JvcGhvbmVMaW5lc1NsYXNoLCBmYU1pY3JvcGhvbmVBbHRTbGFzaCwgZmFCcmlkZ2VDaXJjbGVDaGVjaywgZmFQdW1wTWVkaWNhbCwgZmFGaW5nZXJwcmludCwgZmFIYW5kUG9pbnRSaWdodCwgZmFNYWduaWZ5aW5nR2xhc3NMb2NhdGlvbiwgZmFTZWFyY2hMb2NhdGlvbiwgZmFGb3J3YXJkU3RlcCwgZmFTdGVwRm9yd2FyZCwgZmFGYWNlU21pbGVCZWFtLCBmYVNtaWxlQmVhbSwgZmFGbGFnQ2hlY2tlcmVkLCBmYUZvb3RiYWxsLCBmYUZvb3RiYWxsQmFsbCwgZmFTY2hvb2xDaXJjbGVFeGNsYW1hdGlvbiwgZmFDcm9wLCBmYUFuZ2xlc0Rvd24sIGZhQW5nbGVEb3VibGVEb3duLCBmYVVzZXJzUmVjdGFuZ2xlLCBmYVBlb3BsZVJvb2YsIGZhUGVvcGxlTGluZSwgZmFCZWVyTXVnRW1wdHksIGZhQmVlciwgZmFEaWFncmFtUHJlZGVjZXNzb3IsIGZhQXJyb3dVcExvbmcsIGZhTG9uZ0Fycm93VXAsIGZhRmlyZUZsYW1lU2ltcGxlLCBmYUJ1cm4sIGZhUGVyc29uLCBmYU1hbGUsIGZhTGFwdG9wLCBmYUZpbGVDc3YsIGZhTWVub3JhaCwgZmFUcnVja1BsYW5lLCBmYVJlY29yZFZpbnlsLCBmYUZhY2VHcmluU3RhcnMsIGZhR3JpblN0YXJzLCBmYUJvbmcsIGZhU3BhZ2hldHRpTW9uc3RlckZseWluZywgZmFQYXN0YWZhcmlhbmlzbSwgZmFBcnJvd0Rvd25VcEFjcm9zc0xpbmUsIGZhU3Bvb24sIGZhVXRlbnNpbFNwb29uLCBmYUphcldoZWF0LCBmYUVudmVsb3Blc0J1bGssIGZhTWFpbEJ1bGssIGZhRmlsZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUNpcmNsZUgsIGZhSG9zcGl0YWxTeW1ib2wsIGZhUGFnZXIsIGZhQWRkcmVzc0Jvb2ssIGZhQ29udGFjdEJvb2ssIGZhU3RyaWtldGhyb3VnaCwgZmFLLCBmYUxhbmRtYXJrRmxhZywgZmFQZW5jaWwsIGZhUGVuY2lsQWx0LCBmYUJhY2t3YXJkLCBmYUNhcmV0UmlnaHQsIGZhQ29tbWVudHMsIGZhUGFzdGUsIGZhRmlsZUNsaXBib2FyZCwgZmFDb2RlUHVsbFJlcXVlc3QsIGZhQ2xpcGJvYXJkTGlzdCwgZmFUcnVja1JhbXBCb3gsIGZhVHJ1Y2tMb2FkaW5nLCBmYVVzZXJDaGVjaywgZmFWaWFsVmlydXMsIGZhU2hlZXRQbGFzdGljLCBmYUJsb2csIGZhVXNlck5pbmphLCBmYVBlcnNvbkFycm93VXBGcm9tTGluZSwgZmFTY3JvbGxUb3JhaCwgZmFUb3JhaCwgZmFCcm9vbUJhbGwsIGZhUXVpZGRpdGNoLCBmYVF1aWRkaXRjaEJyb29tQmFsbCwgZmFUb2dnbGVPZmYsIGZhQm94QXJjaGl2ZSwgZmFBcmNoaXZlLCBmYVBlcnNvbkRyb3duaW5nLCBmYUFycm93RG93bjkxLCBmYVNvcnROdW1lcmljRGVzYywgZmFTb3J0TnVtZXJpY0Rvd25BbHQsIGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQsIGZhR3JpblRvbmd1ZVNxdWludCwgZmFTcHJheUNhbiwgZmFUcnVja01vbnN0ZXIsIGZhVywgZmFFYXJ0aEFmcmljYSwgZmFHbG9iZUFmcmljYSwgZmFSYWluYm93LCBmYUNpcmNsZU5vdGNoLCBmYVRhYmxldFNjcmVlbkJ1dHRvbiwgZmFUYWJsZXRBbHQsIGZhUGF3LCBmYUNsb3VkLCBmYVRyb3dlbEJyaWNrcywgZmFGYWNlRmx1c2hlZCwgZmFGbHVzaGVkLCBmYUhvc3BpdGFsVXNlciwgZmFUZW50QXJyb3dMZWZ0UmlnaHQsIGZhR2F2ZWwsIGZhTGVnYWwsIGZhQmlub2N1bGFycywgZmFNaWNyb3Bob25lU2xhc2gsIGZhQm94VGlzc3VlLCBmYU1vdG9yY3ljbGUsIGZhQmVsbENvbmNpZXJnZSwgZmFDb25jaWVyZ2VCZWxsLCBmYVBlblJ1bGVyLCBmYVBlbmNpbFJ1bGVyLCBmYVBlb3BsZUFycm93cywgZmFQZW9wbGVBcnJvd3NMZWZ0UmlnaHQsIGZhTWFyc0FuZFZlbnVzQnVyc3QsIGZhU3F1YXJlQ2FyZXRSaWdodCwgZmFDYXJldFNxdWFyZVJpZ2h0LCBmYVNjaXNzb3JzLCBmYUN1dCwgZmFTdW5QbGFudFdpbHQsIGZhVG9pbGV0c1BvcnRhYmxlLCBmYUhvY2tleVB1Y2ssIGZhVGFibGUsIGZhTWFnbmlmeWluZ0dsYXNzQXJyb3dSaWdodCwgZmFUYWNob2dyYXBoRGlnaXRhbCwgZmFEaWdpdGFsVGFjaG9ncmFwaCwgZmFVc2Vyc1NsYXNoLCBmYUNsb3ZlciwgZmFSZXBseSwgZmFNYWlsUmVwbHksIGZhU3RhckFuZENyZXNjZW50LCBmYUhvdXNlRmlyZSwgZmFTcXVhcmVNaW51cywgZmFNaW51c1NxdWFyZSwgZmFIZWxpY29wdGVyLCBmYUNvbXBhc3MsIGZhU3F1YXJlQ2FyZXREb3duLCBmYUNhcmV0U3F1YXJlRG93biwgZmFGaWxlQ2lyY2xlUXVlc3Rpb24sIGZhTGFwdG9wQ29kZSwgZmFTd2F0Y2hib29rLCBmYVByZXNjcmlwdGlvbkJvdHRsZSwgZmFCYXJzLCBmYU5hdmljb24sIGZhUGVvcGxlR3JvdXAsIGZhSG91cmdsYXNzRW5kLCBmYUhvdXJnbGFzczMsIGZhSGVhcnRDcmFjaywgZmFIZWFydEJyb2tlbiwgZmFTcXVhcmVVcFJpZ2h0LCBmYUV4dGVybmFsTGlua1NxdWFyZUFsdCwgZmFGYWNlS2lzc0JlYW0sIGZhS2lzc0JlYW0sIGZhRmlsbSwgZmFSdWxlckhvcml6b250YWwsIGZhUGVvcGxlUm9iYmVyeSwgZmFMaWdodGJ1bGIsIGZhQ2FyZXRMZWZ0LCBmYUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUV4Y2xhbWF0aW9uQ2lyY2xlLCBmYVNjaG9vbENpcmNsZVhtYXJrLCBmYUFycm93UmlnaHRGcm9tQnJhY2tldCwgZmFTaWduT3V0LCBmYUNpcmNsZUNoZXZyb25Eb3duLCBmYUNoZXZyb25DaXJjbGVEb3duLCBmYVVubG9ja0tleWhvbGUsIGZhVW5sb2NrQWx0LCBmYUNsb3VkU2hvd2Vyc0hlYXZ5LCBmYUhlYWRwaG9uZXNTaW1wbGUsIGZhSGVhZHBob25lc0FsdCwgZmFTaXRlbWFwLCBmYUNpcmNsZURvbGxhclRvU2xvdCwgZmFEb25hdGUsIGZhTWVtb3J5LCBmYVJvYWRTcGlrZXMsIGZhRmlyZUJ1cm5lciwgZmFGbGFnLCBmYUhhbnVraWFoLCBmYUZlYXRoZXIsIGZhVm9sdW1lTG93LCBmYVZvbHVtZURvd24sIGZhQ29tbWVudFNsYXNoLCBmYUNsb3VkU3VuUmFpbiwgZmFDb21wcmVzcywgZmFXaGVhdEF3biwgZmFXaGVhdEFsdCwgZmFBbmtoLCBmYUhhbmRzSG9sZGluZ0NoaWxkLCBmYUFzdGVyaXNrLCBmYVNxdWFyZUNoZWNrLCBmYUNoZWNrU3F1YXJlLCBmYVBlc2V0YVNpZ24sIGZhSGVhZGluZywgZmFIZWFkZXIsIGZhR2hvc3QsIGZhTGlzdCwgZmFMaXN0U3F1YXJlcywgZmFTcXVhcmVQaG9uZUZsaXAsIGZhUGhvbmVTcXVhcmVBbHQsIGZhQ2FydFBsdXMsIGZhR2FtZXBhZCwgZmFDaXJjbGVEb3QsIGZhRG90Q2lyY2xlLCBmYUZhY2VEaXp6eSwgZmFEaXp6eSwgZmFFZ2csIGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcmssIGZhQ2FtcGdyb3VuZCwgZmFGb2xkZXJQbHVzLCBmYUZ1dGJvbCwgZmFGdXRib2xCYWxsLCBmYVNvY2NlckJhbGwsIGZhUGFpbnRicnVzaCwgZmFQYWludEJydXNoLCBmYUxvY2ssIGZhR2FzUHVtcCwgZmFIb3RUdWJQZXJzb24sIGZhSG90VHViLCBmYU1hcExvY2F0aW9uLCBmYU1hcE1hcmtlZCwgZmFIb3VzZUZsb29kV2F0ZXIsIGZhVHJlZSwgZmFCcmlkZ2VMb2NrLCBmYVNhY2tEb2xsYXIsIGZhUGVuVG9TcXVhcmUsIGZhRWRpdCwgZmFDYXJTaWRlLCBmYVNoYXJlTm9kZXMsIGZhU2hhcmVBbHQsIGZhSGVhcnRDaXJjbGVNaW51cywgZmFIb3VyZ2xhc3NIYWxmLCBmYUhvdXJnbGFzczIsIGZhTWljcm9zY29wZSwgZmFTaW5rLCBmYUJhZ1Nob3BwaW5nLCBmYVNob3BwaW5nQmFnLCBmYUFycm93RG93blpBLCBmYVNvcnRBbHBoYURlc2MsIGZhU29ydEFscGhhRG93bkFsdCwgZmFNaXR0ZW4sIGZhUGVyc29uUmF5cywgZmFVc2VycywgZmFFeWVTbGFzaCwgZmFGbGFza1ZpYWwsIGZhSGFuZCwgZmFIYW5kUGFwZXIsIGZhT20sIGZhV29ybSwgZmFIb3VzZUNpcmNsZVhtYXJrLCBmYVBsdWcsIGZhQ2hldnJvblVwLCBmYUhhbmRTcG9jaywgZmFTdG9wd2F0Y2gsIGZhRmFjZUtpc3MsIGZhS2lzcywgZmFCcmlkZ2VDaXJjbGVYbWFyaywgZmFGYWNlR3JpblRvbmd1ZSwgZmFHcmluVG9uZ3VlLCBmYUNoZXNzQmlzaG9wLCBmYUZhY2VHcmluV2luaywgZmFHcmluV2luaywgZmFFYXJEZWFmLCBmYURlYWYsIGZhRGVhZm5lc3MsIGZhSGFyZE9mSGVhcmluZywgZmFSb2FkQ2lyY2xlQ2hlY2ssIGZhRGljZUZpdmUsIGZhU3F1YXJlUnNzLCBmYVJzc1NxdWFyZSwgZmFMYW5kTWluZU9uLCBmYUlDdXJzb3IsIGZhU3RhbXAsIGZhU3RhaXJzLCBmYUksIGZhSHJ5dm5pYVNpZ24sIGZhSHJ5dm5pYSwgZmFQaWxscywgZmFGYWNlR3JpbldpZGUsIGZhR3JpbkFsdCwgZmFUb290aCwgZmFWLCBmYUJhbmdsYWRlc2hpVGFrYVNpZ24sIGZhQmljeWNsZSwgZmFTdGFmZlNuYWtlLCBmYVJvZEFzY2xlcGl1cywgZmFSb2RTbmFrZSwgZmFTdGFmZkFlc2N1bGFwaXVzLCBmYUhlYWRTaWRlQ291Z2hTbGFzaCwgZmFUcnVja01lZGljYWwsIGZhQW1idWxhbmNlLCBmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb24sIGZhU25vd21hbiwgZmFNb3J0YXJQZXN0bGUsIGZhUm9hZEJhcnJpZXIsIGZhU2Nob29sLCBmYUlnbG9vLCBmYUpvaW50LCBmYUFuZ2xlUmlnaHQsIGZhSG9yc2UsIGZhUSwgZmFHLCBmYU5vdGVzTWVkaWNhbCwgZmFUZW1wZXJhdHVyZUhhbGYsIGZhVGVtcGVyYXR1cmUyLCBmYVRoZXJtb21ldGVyMiwgZmFUaGVybW9tZXRlckhhbGYsIGZhRG9uZ1NpZ24sIGZhQ2Fwc3VsZXMsIGZhUG9vU3Rvcm0sIGZhUG9vQm9sdCwgZmFGYWNlRnJvd25PcGVuLCBmYUZyb3duT3BlbiwgZmFIYW5kUG9pbnRVcCwgZmFNb25leUJpbGwsIGZhQm9va21hcmssIGZhQWxpZ25KdXN0aWZ5LCBmYVVtYnJlbGxhQmVhY2gsIGZhSGVsbWV0VW4sIGZhQnVsbHNleWUsIGZhQmFjb24sIGZhSGFuZFBvaW50RG93biwgZmFBcnJvd1VwRnJvbUJyYWNrZXQsIGZhRm9sZGVyLCBmYUZvbGRlckJsYW5rLCBmYUZpbGVXYXZlZm9ybSwgZmFGaWxlTWVkaWNhbEFsdCwgZmFSYWRpYXRpb24sIGZhQ2hhcnRTaW1wbGUsIGZhTWFyc1N0cm9rZSwgZmFWaWFsLCBmYUdhdWdlLCBmYURhc2hib2FyZCwgZmFHYXVnZU1lZCwgZmFUYWNob21ldGVyQWx0QXZlcmFnZSwgZmFXYW5kTWFnaWNTcGFya2xlcywgZmFNYWdpY1dhbmRTcGFya2xlcywgZmFFLCBmYVBlbkNsaXAsIGZhUGVuQWx0LCBmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYVVzZXIsIGZhU2Nob29sQ2lyY2xlQ2hlY2ssIGZhRHVtcHN0ZXIsIGZhVmFuU2h1dHRsZSwgZmFTaHV0dGxlVmFuLCBmYUJ1aWxkaW5nVXNlciwgZmFTcXVhcmVDYXJldExlZnQsIGZhQ2FyZXRTcXVhcmVMZWZ0LCBmYUhpZ2hsaWdodGVyLCBmYUtleSwgZmFCdWxsaG9ybiwgZmFHbG9iZSwgZmFTeW5hZ29ndWUsIGZhUGVyc29uSGFsZkRyZXNzLCBmYVJvYWRCcmlkZ2UsIGZhTG9jYXRpb25BcnJvdywgZmFDLCBmYVRhYmxldEJ1dHRvbiwgZmFCdWlsZGluZ0xvY2ssIGZhUGl6emFTbGljZSwgZmFNb25leUJpbGxXYXZlLCBmYUNoYXJ0QXJlYSwgZmFBcmVhQ2hhcnQsIGZhSG91c2VGbGFnLCBmYVBlcnNvbkNpcmNsZU1pbnVzLCBmYUJhbiwgZmFDYW5jZWwsIGZhQ2FtZXJhUm90YXRlLCBmYVNwcmF5Q2FuU3BhcmtsZXMsIGZhQWlyRnJlc2hlbmVyLCBmYVN0YXIsIGZhUmVwZWF0LCBmYUNyb3NzLCBmYUJveCwgZmFWZW51c01hcnMsIGZhQXJyb3dQb2ludGVyLCBmYU1vdXNlUG9pbnRlciwgZmFNYXhpbWl6ZSwgZmFFeHBhbmRBcnJvd3NBbHQsIGZhQ2hhcmdpbmdTdGF0aW9uLCBmYVNoYXBlcywgZmFUcmlhbmdsZUNpcmNsZVNxdWFyZSwgZmFTaHVmZmxlLCBmYVJhbmRvbSwgZmFQZXJzb25SdW5uaW5nLCBmYVJ1bm5pbmcsIGZhTW9iaWxlUmV0cm8sIGZhR3JpcExpbmVzVmVydGljYWwsIGZhU3BpZGVyLCBmYUhhbmRzQm91bmQsIGZhRmlsZUludm9pY2VEb2xsYXIsIGZhUGxhbmVDaXJjbGVFeGNsYW1hdGlvbiwgZmFYUmF5LCBmYVNwZWxsQ2hlY2ssIGZhU2xhc2gsIGZhQ29tcHV0ZXJNb3VzZSwgZmFNb3VzZSwgZmFBcnJvd1JpZ2h0VG9CcmFja2V0LCBmYVNpZ25JbiwgZmFTaG9wU2xhc2gsIGZhU3RvcmVBbHRTbGFzaCwgZmFTZXJ2ZXIsIGZhVmlydXNDb3ZpZFNsYXNoLCBmYVNob3BMb2NrLCBmYUhvdXJnbGFzc1N0YXJ0LCBmYUhvdXJnbGFzczEsIGZhQmxlbmRlclBob25lLCBmYUJ1aWxkaW5nV2hlYXQsIGZhUGVyc29uQnJlYXN0ZmVlZGluZywgZmFSaWdodFRvQnJhY2tldCwgZmFTaWduSW5BbHQsIGZhVmVudXMsIGZhUGFzc3BvcnQsIGZhVGh1bWJ0YWNrU2xhc2gsIGZhVGh1bWJUYWNrU2xhc2gsIGZhSGVhcnRQdWxzZSwgZmFIZWFydGJlYXQsIGZhUGVvcGxlQ2FycnlCb3gsIGZhUGVvcGxlQ2FycnksIGZhVGVtcGVyYXR1cmVIaWdoLCBmYU1pY3JvY2hpcCwgZmFDcm93biwgZmFXZWlnaHRIYW5naW5nLCBmYVhtYXJrc0xpbmVzLCBmYUZpbGVQcmVzY3JpcHRpb24sIGZhV2VpZ2h0U2NhbGUsIGZhV2VpZ2h0LCBmYVVzZXJHcm91cCwgZmFVc2VyRnJpZW5kcywgZmFBcnJvd1VwQVosIGZhU29ydEFscGhhVXAsIGZhQ2hlc3NLbmlnaHQsIGZhRmFjZUxhdWdoU3F1aW50LCBmYUxhdWdoU3F1aW50LCBmYVdoZWVsY2hhaXIsIGZhQ2lyY2xlQXJyb3dVcCwgZmFBcnJvd0NpcmNsZVVwLCBmYVRvZ2dsZU9uLCBmYVBlcnNvbldhbGtpbmcsIGZhV2Fsa2luZywgZmFMLCBmYUZpcmUsIGZhQmVkUHVsc2UsIGZhUHJvY2VkdXJlcywgZmFTaHV0dGxlU3BhY2UsIGZhU3BhY2VTaHV0dGxlLCBmYUZhY2VMYXVnaCwgZmFMYXVnaCwgZmFGb2xkZXJPcGVuLCBmYUhlYXJ0Q2lyY2xlUGx1cywgZmFDb2RlRm9yaywgZmFDaXR5LCBmYU1pY3JvcGhvbmVMaW5lcywgZmFNaWNyb3Bob25lQWx0LCBmYVBlcHBlckhvdCwgZmFVbmxvY2ssIGZhQ29sb25TaWduLCBmYUhlYWRzZXQsIGZhU3RvcmVTbGFzaCwgZmFSb2FkQ2lyY2xlWG1hcmssIGZhVXNlck1pbnVzLCBmYU1hcnNTdHJva2VVcCwgZmFNYXJzU3Ryb2tlViwgZmFDaGFtcGFnbmVHbGFzc2VzLCBmYUdsYXNzQ2hlZXJzLCBmYUNsaXBib2FyZCwgZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uLCBmYUZpbGVBcnJvd1VwLCBmYUZpbGVVcGxvYWQsIGZhV2lmaSwgZmFXaWZpMywgZmFXaWZpU3Ryb25nLCBmYUJhdGgsIGZhQmF0aHR1YiwgZmFVbmRlcmxpbmUsIGZhVXNlclBlbiwgZmFVc2VyRWRpdCwgZmFTaWduYXR1cmUsIGZhU3Ryb29wd2FmZWwsIGZhQm9sZCwgZmFBbmNob3JMb2NrLCBmYUJ1aWxkaW5nTmdvLCBmYU1hbmF0U2lnbiwgZmFOb3RFcXVhbCwgZmFCb3JkZXJUb3BMZWZ0LCBmYUJvcmRlclN0eWxlLCBmYU1hcExvY2F0aW9uRG90LCBmYU1hcE1hcmtlZEFsdCwgZmFKZWRpLCBmYVNxdWFyZVBvbGxWZXJ0aWNhbCwgZmFQb2xsLCBmYU11Z0hvdCwgZmFDYXJCYXR0ZXJ5LCBmYUJhdHRlcnlDYXIsIGZhR2lmdCwgZmFEaWNlVHdvLCBmYUNoZXNzUXVlZW4sIGZhR2xhc3NlcywgZmFDaGVzc0JvYXJkLCBmYUJ1aWxkaW5nQ2lyY2xlQ2hlY2ssIGZhUGVyc29uQ2hhbGtib2FyZCwgZmFNYXJzU3Ryb2tlUmlnaHQsIGZhTWFyc1N0cm9rZUgsIGZhSGFuZEJhY2tGaXN0LCBmYUhhbmRSb2NrLCBmYVNxdWFyZUNhcmV0VXAsIGZhQ2FyZXRTcXVhcmVVcCwgZmFDbG91ZFNob3dlcnNXYXRlciwgZmFDaGFydEJhciwgZmFCYXJDaGFydCwgZmFIYW5kc0J1YmJsZXMsIGZhSGFuZHNXYXNoLCBmYUxlc3NUaGFuRXF1YWwsIGZhVHJhaW4sIGZhRXllTG93VmlzaW9uLCBmYUxvd1Zpc2lvbiwgZmFDcm93LCBmYVNhaWxib2F0LCBmYVdpbmRvd1Jlc3RvcmUsIGZhU3F1YXJlUGx1cywgZmFQbHVzU3F1YXJlLCBmYVRvcmlpR2F0ZSwgZmFGcm9nLCBmYUJ1Y2tldCwgZmFJbWFnZSwgZmFNaWNyb3Bob25lLCBmYUNvdywgZmFDYXJldFVwLCBmYVNjcmV3ZHJpdmVyLCBmYUZvbGRlckNsb3NlZCwgZmFIb3VzZVRzdW5hbWksIGZhU3F1YXJlTmZpLCBmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXIsIGZhTWFydGluaUdsYXNzLCBmYUdsYXNzTWFydGluaUFsdCwgZmFSb3RhdGVMZWZ0LCBmYVJvdGF0ZUJhY2ssIGZhUm90YXRlQmFja3dhcmQsIGZhVW5kb0FsdCwgZmFUYWJsZUNvbHVtbnMsIGZhQ29sdW1ucywgZmFMZW1vbiwgZmFIZWFkU2lkZU1hc2ssIGZhSGFuZHNoYWtlLCBmYUdlbSwgZmFEb2xseSwgZmFEb2xseUJveCwgZmFTbW9raW5nLCBmYU1pbmltaXplLCBmYUNvbXByZXNzQXJyb3dzQWx0LCBmYU1vbnVtZW50LCBmYVNub3dwbG93LCBmYUFuZ2xlc1JpZ2h0LCBmYUFuZ2xlRG91YmxlUmlnaHQsIGZhQ2FubmFiaXMsIGZhQ2lyY2xlUGxheSwgZmFQbGF5Q2lyY2xlLCBmYVRhYmxldHMsIGZhRXRoZXJuZXQsIGZhRXVyb1NpZ24sIGZhRXVyLCBmYUV1cm8sIGZhQ2hhaXIsIGZhQ2lyY2xlQ2hlY2ssIGZhQ2hlY2tDaXJjbGUsIGZhQ2lyY2xlU3RvcCwgZmFTdG9wQ2lyY2xlLCBmYUNvbXBhc3NEcmFmdGluZywgZmFEcmFmdGluZ0NvbXBhc3MsIGZhUGxhdGVXaGVhdCwgZmFJY2ljbGVzLCBmYVBlcnNvblNoZWx0ZXIsIGZhTmV1dGVyLCBmYUlkQmFkZ2UsIGZhTWFya2VyLCBmYUZhY2VMYXVnaEJlYW0sIGZhTGF1Z2hCZWFtLCBmYUhlbGljb3B0ZXJTeW1ib2wsIGZhVW5pdmVyc2FsQWNjZXNzLCBmYUNpcmNsZUNoZXZyb25VcCwgZmFDaGV2cm9uQ2lyY2xlVXAsIGZhTGFyaVNpZ24sIGZhVm9sY2FubywgZmFQZXJzb25XYWxraW5nRGFzaGVkTGluZUFycm93UmlnaHQsIGZhU3RlcmxpbmdTaWduLCBmYUdicCwgZmFQb3VuZFNpZ24sIGZhVmlydXNlcywgZmFTcXVhcmVQZXJzb25Db25maW5lZCwgZmFVc2VyVGllLCBmYUFycm93RG93bkxvbmcsIGZhTG9uZ0Fycm93RG93biwgZmFUZW50QXJyb3dEb3duVG9MaW5lLCBmYUNlcnRpZmljYXRlLCBmYVJlcGx5QWxsLCBmYU1haWxSZXBseUFsbCwgZmFTdWl0Y2FzZSwgZmFQZXJzb25Ta2F0aW5nLCBmYVNrYXRpbmcsIGZhRmlsdGVyQ2lyY2xlRG9sbGFyLCBmYUZ1bm5lbERvbGxhciwgZmFDYW1lcmFSZXRybywgZmFDaXJjbGVBcnJvd0Rvd24sIGZhQXJyb3dDaXJjbGVEb3duLCBmYUZpbGVJbXBvcnQsIGZhQXJyb3dSaWdodFRvRmlsZSwgZmFTcXVhcmVBcnJvd1VwUmlnaHQsIGZhRXh0ZXJuYWxMaW5rU3F1YXJlLCBmYUJveE9wZW4sIGZhU2Nyb2xsLCBmYVNwYSwgZmFMb2NhdGlvblBpbkxvY2ssIGZhUGF1c2UsIGZhSGlsbEF2YWxhbmNoZSwgZmFUZW1wZXJhdHVyZUVtcHR5LCBmYVRlbXBlcmF0dXJlMCwgZmFUaGVybW9tZXRlcjAsIGZhVGhlcm1vbWV0ZXJFbXB0eSwgZmFCb21iLCBmYVJlZ2lzdGVyZWQsIGZhQWRkcmVzc0NhcmQsIGZhQ29udGFjdENhcmQsIGZhVmNhcmQsIGZhU2NhbGVVbmJhbGFuY2VkRmxpcCwgZmFCYWxhbmNlU2NhbGVSaWdodCwgZmFTdWJzY3JpcHQsIGZhRGlhbW9uZFR1cm5SaWdodCwgZmFEaXJlY3Rpb25zLCBmYUJ1cnN0LCBmYUhvdXNlTGFwdG9wLCBmYUxhcHRvcEhvdXNlLCBmYUZhY2VUaXJlZCwgZmFUaXJlZCwgZmFNb25leUJpbGxzLCBmYVNtb2csIGZhQ3J1dGNoLCBmYUZvbnRBd2Vzb21lLCBmYUZvbnRBd2Vzb21lRmxhZywgZmFGb250QXdlc29tZUxvZ29GdWxsLCBmYUNsb3VkQXJyb3dVcCwgZmFDbG91ZFVwbG9hZCwgZmFDbG91ZFVwbG9hZEFsdCwgZmFQYWxldHRlLCBmYUFycm93c1R1cm5SaWdodCwgZmFWZXN0LCBmYUZlcnJ5LCBmYUFycm93c0Rvd25Ub1Blb3BsZSwgZmFTZWVkbGluZywgZmFTcHJvdXQsIGZhTGVmdFJpZ2h0LCBmYUFycm93c0FsdEgsIGZhQm94ZXNQYWNraW5nLCBmYUNpcmNsZUFycm93TGVmdCwgZmFBcnJvd0NpcmNsZUxlZnQsIGZhR3JvdXBBcnJvd3NSb3RhdGUsIGZhQm93bEZvb2QsIGZhQ2FuZHlDYW5lLCBmYUFycm93RG93bldpZGVTaG9ydCwgZmFTb3J0QW1vdW50QXNjLCBmYVNvcnRBbW91bnREb3duLCBmYUNsb3VkQm9sdCwgZmFUaHVuZGVyc3Rvcm0sIGZhVGV4dFNsYXNoLCBmYVJlbW92ZUZvcm1hdCwgZmFGYWNlU21pbGVXaW5rLCBmYVNtaWxlV2luaywgZmFGaWxlV29yZCwgZmFGaWxlUG93ZXJwb2ludCwgZmFBcnJvd3NMZWZ0UmlnaHQsIGZhQXJyb3dzSCwgZmFIb3VzZUxvY2ssIGZhQ2xvdWRBcnJvd0Rvd24sIGZhQ2xvdWREb3dubG9hZCwgZmFDbG91ZERvd25sb2FkQWx0LCBmYUNoaWxkcmVuLCBmYUNoYWxrYm9hcmQsIGZhQmxhY2tib2FyZCwgZmFVc2VyTGFyZ2VTbGFzaCwgZmFVc2VyQWx0U2xhc2gsIGZhRW52ZWxvcGVPcGVuLCBmYUhhbmRzaGFrZVNpbXBsZVNsYXNoLCBmYUhhbmRzaGFrZUFsdFNsYXNoLCBmYU1hdHRyZXNzUGlsbG93LCBmYUd1YXJhbmlTaWduLCBmYUFycm93c1JvdGF0ZSwgZmFSZWZyZXNoLCBmYVN5bmMsIGZhRmlyZUV4dGluZ3Vpc2hlciwgZmFDcnV6ZWlyb1NpZ24sIGZhR3JlYXRlclRoYW5FcXVhbCwgZmFTaGllbGRIYWx2ZWQsIGZhU2hpZWxkQWx0LCBmYUJvb2tBdGxhcywgZmFBdGxhcywgZmFWaXJ1cywgZmFFbnZlbG9wZUNpcmNsZUNoZWNrLCBmYUxheWVyR3JvdXAsIGZhQXJyb3dzVG9Eb3QsIGZhQXJjaHdheSwgZmFIZWFydENpcmNsZUNoZWNrLCBmYUhvdXNlQ2hpbW5leUNyYWNrLCBmYUhvdXNlRGFtYWdlLCBmYUZpbGVaaXBwZXIsIGZhRmlsZUFyY2hpdmUsIGZhU3F1YXJlLCBmYU1hcnRpbmlHbGFzc0VtcHR5LCBmYUdsYXNzTWFydGluaSwgZmFDb3VjaCwgZmFDZWRpU2lnbiwgZmFJdGFsaWMsIGZhVGFibGVDZWxsc0NvbHVtbkxvY2ssIGZhQ2h1cmNoLCBmYUNvbW1lbnRzRG9sbGFyLCBmYURlbW9jcmF0LCBmYVosIGZhUGVyc29uU2tpaW5nLCBmYVNraWluZywgZmFSb2FkTG9jaywgZmFBLCBmYVRlbXBlcmF0dXJlQXJyb3dEb3duLCBmYVRlbXBlcmF0dXJlRG93biwgZmFGZWF0aGVyUG9pbnRlZCwgZmFGZWF0aGVyQWx0LCBmYVAsIGZhU25vd2ZsYWtlLCBmYU5ld3NwYXBlciwgZmFSZWN0YW5nbGVBZCwgZmFBZCwgZmFDaXJjbGVBcnJvd1JpZ2h0LCBmYUFycm93Q2lyY2xlUmlnaHQsIGZhRmlsdGVyQ2lyY2xlWG1hcmssIGZhTG9jdXN0LCBmYVNvcnQsIGZhVW5zb3J0ZWQsIGZhTGlzdE9sLCBmYUxpc3QxMiwgZmFMaXN0TnVtZXJpYywgZmFQZXJzb25EcmVzc0J1cnN0LCBmYU1vbmV5Q2hlY2tEb2xsYXIsIGZhTW9uZXlDaGVja0FsdCwgZmFWZWN0b3JTcXVhcmUsIGZhQnJlYWRTbGljZSwgZmFMYW5ndWFnZSwgZmFGYWNlS2lzc1dpbmtIZWFydCwgZmFLaXNzV2lua0hlYXJ0LCBmYUZpbHRlciwgZmFRdWVzdGlvbiwgZmFGaWxlU2lnbmF0dXJlLCBmYVVwRG93bkxlZnRSaWdodCwgZmFBcnJvd3NBbHQsIGZhSG91c2VDaGltbmV5VXNlciwgZmFIYW5kSG9sZGluZ0hlYXJ0LCBmYVB1enpsZVBpZWNlLCBmYU1vbmV5Q2hlY2ssIGZhU3RhckhhbGZTdHJva2UsIGZhU3RhckhhbGZBbHQsIGZhQ29kZSwgZmFXaGlza2V5R2xhc3MsIGZhR2xhc3NXaGlza2V5LCBmYUJ1aWxkaW5nQ2lyY2xlRXhjbGFtYXRpb24sIGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQsIGZhQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZSwgZmFFeHRlcm5hbExpbmssIGZhQ3ViZXNTdGFja2VkLCBmYVdvblNpZ24sIGZhS3J3LCBmYVdvbiwgZmFWaXJ1c0NvdmlkLCBmYUF1c3RyYWxTaWduLCBmYUYsIGZhTGVhZiwgZmFSb2FkLCBmYVRheGksIGZhQ2FiLCBmYVBlcnNvbkNpcmNsZVBsdXMsIGZhQ2hhcnRQaWUsIGZhUGllQ2hhcnQsIGZhQm9sdExpZ2h0bmluZywgZmFTYWNrWG1hcmssIGZhRmlsZUV4Y2VsLCBmYUZpbGVDb250cmFjdCwgZmFGaXNoRmlucywgZmFCdWlsZGluZ0ZsYWcsIGZhRmFjZUdyaW5CZWFtLCBmYUdyaW5CZWFtLCBmYU9iamVjdFVuZ3JvdXAsIGZhUG9vcCwgZmFMb2NhdGlvblBpbiwgZmFNYXBNYXJrZXIsIGZhS2FhYmEsIGZhVG9pbGV0UGFwZXIsIGZhSGVsbWV0U2FmZXR5LCBmYUhhcmRIYXQsIGZhSGF0SGFyZCwgZmFFamVjdCwgZmFDaXJjbGVSaWdodCwgZmFBcnJvd0FsdENpcmNsZVJpZ2h0LCBmYVBsYW5lQ2lyY2xlQ2hlY2ssIGZhRmFjZVJvbGxpbmdFeWVzLCBmYU1laFJvbGxpbmdFeWVzLCBmYU9iamVjdEdyb3VwLCBmYUNoYXJ0TGluZSwgZmFMaW5lQ2hhcnQsIGZhTWFza1ZlbnRpbGF0b3IsIGZhQXJyb3dSaWdodCwgZmFTaWduc1Bvc3QsIGZhTWFwU2lnbnMsIGZhQ2FzaFJlZ2lzdGVyLCBmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uLCBmYUgsIGZhVGFycCwgZmFTY3Jld2RyaXZlcldyZW5jaCwgZmFUb29scywgZmFBcnJvd3NUb0V5ZSwgZmFQbHVnQ2lyY2xlQm9sdCwgZmFIZWFydCwgZmFNYXJzQW5kVmVudXMsIGZhSG91c2VVc2VyLCBmYUhvbWVVc2VyLCBmYUR1bXBzdGVyRmlyZSwgZmFIb3VzZUNyYWNrLCBmYU1hcnRpbmlHbGFzc0NpdHJ1cywgZmFDb2NrdGFpbCwgZmFGYWNlU3VycHJpc2UsIGZhU3VycHJpc2UsIGZhQm90dGxlV2F0ZXIsIGZhQ2lyY2xlUGF1c2UsIGZhUGF1c2VDaXJjbGUsIGZhVG9pbGV0UGFwZXJTbGFzaCwgZmFBcHBsZVdob2xlLCBmYUFwcGxlQWx0LCBmYUtpdGNoZW5TZXQsIGZhUiwgZmFUZW1wZXJhdHVyZVF1YXJ0ZXIsIGZhVGVtcGVyYXR1cmUxLCBmYVRoZXJtb21ldGVyMSwgZmFUaGVybW9tZXRlclF1YXJ0ZXIsIGZhQ3ViZSwgZmFCaXRjb2luU2lnbiwgZmFTaGllbGREb2csIGZhU29sYXJQYW5lbCwgZmFMb2NrT3BlbiwgZmFFbGV2YXRvciwgZmFNb25leUJpbGxUcmFuc2ZlciwgZmFNb25leUJpbGxUcmVuZFVwLCBmYUhvdXNlRmxvb2RXYXRlckNpcmNsZUFycm93UmlnaHQsIGZhU3F1YXJlUG9sbEhvcml6b250YWwsIGZhUG9sbEgsIGZhQ2lyY2xlLCBmYUJhY2t3YXJkRmFzdCwgZmFGYXN0QmFja3dhcmQsIGZhUmVjeWNsZSwgZmFVc2VyQXN0cm9uYXV0LCBmYVBsYW5lU2xhc2gsIGZhVHJhZGVtYXJrLCBmYUJhc2tldGJhbGwsIGZhQmFza2V0YmFsbEJhbGwsIGZhU2F0ZWxsaXRlRGlzaCwgZmFDaXJjbGVVcCwgZmFBcnJvd0FsdENpcmNsZVVwLCBmYU1vYmlsZVNjcmVlbkJ1dHRvbiwgZmFNb2JpbGVBbHQsIGZhVm9sdW1lSGlnaCwgZmFWb2x1bWVVcCwgZmFVc2Vyc1JheXMsIGZhV2FsbGV0LCBmYUNsaXBib2FyZENoZWNrLCBmYUZpbGVBdWRpbywgZmFCdXJnZXIsIGZhSGFtYnVyZ2VyLCBmYVdyZW5jaCwgZmFCdWdzLCBmYVJ1cGVlU2lnbiwgZmFSdXBlZSwgZmFGaWxlSW1hZ2UsIGZhQ2lyY2xlUXVlc3Rpb24sIGZhUXVlc3Rpb25DaXJjbGUsIGZhUGxhbmVEZXBhcnR1cmUsIGZhSGFuZHNoYWtlU2xhc2gsIGZhQm9va0Jvb2ttYXJrLCBmYUNvZGVCcmFuY2gsIGZhSGF0Q293Ym95LCBmYUJyaWRnZSwgZmFQaG9uZUZsaXAsIGZhUGhvbmVBbHQsIGZhVHJ1Y2tGcm9udCwgZmFDYXQsIGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb24sIGZhVHJ1Y2tGaWVsZCwgZmFSb3V0ZSwgZmFDbGlwYm9hcmRRdWVzdGlvbiwgZmFQYW5vcmFtYSwgZmFDb21tZW50TWVkaWNhbCwgZmFUZWV0aE9wZW4sIGZhRmlsZUNpcmNsZU1pbnVzLCBmYVRhZ3MsIGZhV2luZUdsYXNzLCBmYUZvcndhcmRGYXN0LCBmYUZhc3RGb3J3YXJkLCBmYUZhY2VNZWhCbGFuaywgZmFNZWhCbGFuaywgZmFTcXVhcmVQYXJraW5nLCBmYVBhcmtpbmcsIGZhSG91c2VTaWduYWwsIGZhQmFyc1Byb2dyZXNzLCBmYVRhc2tzQWx0LCBmYUZhdWNldERyaXAsIGZhQ2FydEZsYXRiZWQsIGZhRG9sbHlGbGF0YmVkLCBmYUJhblNtb2tpbmcsIGZhU21va2luZ0JhbiwgZmFUZXJtaW5hbCwgZmFNb2JpbGVCdXR0b24sIGZhSG91c2VNZWRpY2FsRmxhZywgZmFCYXNrZXRTaG9wcGluZywgZmFTaG9wcGluZ0Jhc2tldCwgZmFUYXBlLCBmYUJ1c1NpbXBsZSwgZmFCdXNBbHQsIGZhRXllLCBmYUZhY2VTYWRDcnksIGZhU2FkQ3J5LCBmYUF1ZGlvRGVzY3JpcHRpb24sIGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbiwgZmFGaWxlU2hpZWxkLCBmYVVzZXJTbGFzaCwgZmFQZW4sIGZhVG93ZXJPYnNlcnZhdGlvbiwgZmFGaWxlQ29kZSwgZmFTaWduYWwsIGZhU2lnbmFsNSwgZmFTaWduYWxQZXJmZWN0LCBmYUJ1cywgZmFIZWFydENpcmNsZVhtYXJrLCBmYUhvdXNlQ2hpbW5leSwgZmFIb21lTGcsIGZhV2luZG93TWF4aW1pemUsIGZhRmFjZUZyb3duLCBmYUZyb3duLCBmYVByZXNjcmlwdGlvbiwgZmFTaG9wLCBmYVN0b3JlQWx0LCBmYUZsb3BweURpc2ssIGZhU2F2ZSwgZmFWaWhhcmEsIGZhU2NhbGVVbmJhbGFuY2VkLCBmYUJhbGFuY2VTY2FsZUxlZnQsIGZhU29ydFVwLCBmYVNvcnRBc2MsIGZhQ29tbWVudERvdHMsIGZhQ29tbWVudGluZywgZmFQbGFudFdpbHQsIGZhRGlhbW9uZCwgZmFGYWNlR3JpblNxdWludCwgZmFHcmluU3F1aW50LCBmYUhhbmRIb2xkaW5nRG9sbGFyLCBmYUhhbmRIb2xkaW5nVXNkLCBmYUJhY3Rlcml1bSwgZmFIYW5kUG9pbnRlciwgZmFEcnVtU3RlZWxwYW4sIGZhSGFuZFNjaXNzb3JzLCBmYUhhbmRzUHJheWluZywgZmFQcmF5aW5nSGFuZHMsIGZhQXJyb3dSb3RhdGVSaWdodCwgZmFBcnJvd1JpZ2h0Um90YXRlLCBmYUFycm93Um90YXRlRm9yd2FyZCwgZmFSZWRvLCBmYVdlYkF3ZXNvbWUsIGZhQmlvaGF6YXJkLCBmYUxvY2F0aW9uQ3Jvc3NoYWlycywgZmFMb2NhdGlvbiwgZmFNYXJzRG91YmxlLCBmYUNoaWxkRHJlc3MsIGZhVXNlcnNCZXR3ZWVuTGluZXMsIGZhTHVuZ3NWaXJ1cywgZmFGYWNlR3JpblRlYXJzLCBmYUdyaW5UZWFycywgZmFQaG9uZSwgZmFDYWxlbmRhclhtYXJrLCBmYUNhbGVuZGFyVGltZXMsIGZhQ2hpbGRSZWFjaGluZywgZmFIZWFkU2lkZVZpcnVzLCBmYVVzZXJHZWFyLCBmYVVzZXJDb2csIGZhQXJyb3dVcDE5LCBmYVNvcnROdW1lcmljVXAsIGZhRG9vckNsb3NlZCwgZmFTaGllbGRWaXJ1cywgZmFEaWNlU2l4LCBmYU1vc3F1aXRvTmV0LCBmYUJyaWRnZVdhdGVyLCBmYVBlcnNvbkJvb3RoLCBmYVRleHRXaWR0aCwgZmFIYXRXaXphcmQsIGZhUGVuRmFuY3ksIGZhUGVyc29uRGlnZ2luZywgZmFEaWdnaW5nLCBmYVRyYXNoLCBmYUdhdWdlU2ltcGxlLCBmYUdhdWdlU2ltcGxlTWVkLCBmYVRhY2hvbWV0ZXJBdmVyYWdlLCBmYUJvb2tNZWRpY2FsLCBmYVBvbywgZmFRdW90ZVJpZ2h0LCBmYVF1b3RlUmlnaHRBbHQsIGZhU2hpcnQsIGZhVFNoaXJ0LCBmYVRzaGlydCwgZmFDdWJlcywgZmFEaXZpZGUsIGZhVGVuZ2VTaWduLCBmYVRlbmdlLCBmYUhlYWRwaG9uZXMsIGZhSGFuZHNIb2xkaW5nLCBmYUhhbmRzQ2xhcHBpbmcsIGZhUmVwdWJsaWNhbiwgZmFBcnJvd0xlZnQsIGZhUGVyc29uQ2lyY2xlWG1hcmssIGZhUnVsZXIsIGZhQWxpZ25MZWZ0LCBmYURpY2VENiwgZmFSZXN0cm9vbSwgZmFKLCBmYVVzZXJzVmlld2ZpbmRlciwgZmFGaWxlVmlkZW8sIGZhVXBSaWdodEZyb21TcXVhcmUsIGZhRXh0ZXJuYWxMaW5rQWx0LCBmYVRhYmxlQ2VsbHMsIGZhVGgsIGZhRmlsZVBkZiwgZmFCb29rQmlibGUsIGZhQmlibGUsIGZhTywgZmFTdWl0Y2FzZU1lZGljYWwsIGZhTWVka2l0LCBmYVVzZXJTZWNyZXQsIGZhT3R0ZXIsIGZhUGVyc29uRHJlc3MsIGZhRmVtYWxlLCBmYUNvbW1lbnREb2xsYXIsIGZhQnVzaW5lc3NUaW1lLCBmYUJyaWVmY2FzZUNsb2NrLCBmYVRhYmxlQ2VsbHNMYXJnZSwgZmFUaExhcmdlLCBmYUJvb2tUYW5ha2gsIGZhVGFuYWtoLCBmYVBob25lVm9sdW1lLCBmYVZvbHVtZUNvbnRyb2xQaG9uZSwgZmFIYXRDb3dib3lTaWRlLCBmYUNsaXBib2FyZFVzZXIsIGZhQ2hpbGQsIGZhTGlyYVNpZ24sIGZhU2F0ZWxsaXRlLCBmYVBsYW5lTG9jaywgZmFUYWcsIGZhQ29tbWVudCwgZmFDYWtlQ2FuZGxlcywgZmFCaXJ0aGRheUNha2UsIGZhQ2FrZSwgZmFFbnZlbG9wZSwgZmFBbmdsZXNVcCwgZmFBbmdsZURvdWJsZVVwLCBmYVBhcGVyY2xpcCwgZmFBcnJvd1JpZ2h0VG9DaXR5LCBmYVJpYmJvbiwgZmFMdW5ncywgZmFBcnJvd1VwOTEsIGZhU29ydE51bWVyaWNVcEFsdCwgZmFMaXRlY29pblNpZ24sIGZhQm9yZGVyTm9uZSwgZmFDaXJjbGVOb2RlcywgZmFQYXJhY2h1dGVCb3gsIGZhSW5kZW50LCBmYVRydWNrRmllbGRVbiwgZmFIb3VyZ2xhc3MsIGZhSG91cmdsYXNzRW1wdHksIGZhTW91bnRhaW4sIGZhVXNlckRvY3RvciwgZmFVc2VyTWQsIGZhQ2lyY2xlSW5mbywgZmFJbmZvQ2lyY2xlLCBmYUNsb3VkTWVhdGJhbGwsIGZhQ2FtZXJhLCBmYUNhbWVyYUFsdCwgZmFTcXVhcmVWaXJ1cywgZmFNZXRlb3IsIGZhQ2FyT24sIGZhU2xlaWdoLCBmYUFycm93RG93bjE5LCBmYVNvcnROdW1lcmljQXNjLCBmYVNvcnROdW1lcmljRG93biwgZmFIYW5kSG9sZGluZ0Ryb3BsZXQsIGZhSGFuZEhvbGRpbmdXYXRlciwgZmFXYXRlciwgZmFDYWxlbmRhckNoZWNrLCBmYUJyYWlsbGUsIGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbCwgZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQsIGZhTGFuZG1hcmssIGZhVHJ1Y2ssIGZhQ3Jvc3NoYWlycywgZmFQZXJzb25DYW5lLCBmYVRlbnQsIGZhVmVzdFBhdGNoZXMsIGZhQ2hlY2tEb3VibGUsIGZhQXJyb3dEb3duQVosIGZhU29ydEFscGhhQXNjLCBmYVNvcnRBbHBoYURvd24sIGZhTW9uZXlCaWxsV2hlYXQsIGZhQ29va2llLCBmYUFycm93Um90YXRlTGVmdCwgZmFBcnJvd0xlZnRSb3RhdGUsIGZhQXJyb3dSb3RhdGVCYWNrLCBmYUFycm93Um90YXRlQmFja3dhcmQsIGZhVW5kbywgZmFIYXJkRHJpdmUsIGZhSGRkLCBmYUZhY2VHcmluU3F1aW50VGVhcnMsIGZhR3JpblNxdWludFRlYXJzLCBmYUR1bWJiZWxsLCBmYVJlY3RhbmdsZUxpc3QsIGZhTGlzdEFsdCwgZmFUYXJwRHJvcGxldCwgZmFIb3VzZU1lZGljYWxDaXJjbGVDaGVjaywgZmFQZXJzb25Ta2lpbmdOb3JkaWMsIGZhU2tpaW5nTm9yZGljLCBmYUNhbGVuZGFyUGx1cywgZmFQbGFuZUFycml2YWwsIGZhQ2lyY2xlTGVmdCwgZmFBcnJvd0FsdENpcmNsZUxlZnQsIGZhVHJhaW5TdWJ3YXksIGZhU3Vid2F5LCBmYUNoYXJ0R2FudHQsIGZhSW5kaWFuUnVwZWVTaWduLCBmYUluZGlhblJ1cGVlLCBmYUluciwgZmFDcm9wU2ltcGxlLCBmYUNyb3BBbHQsIGZhTW9uZXlCaWxsMSwgZmFNb25leUJpbGxBbHQsIGZhTGVmdExvbmcsIGZhTG9uZ0Fycm93QWx0TGVmdCwgZmFEbmEsIGZhVmlydXNTbGFzaCwgZmFNaW51cywgZmFTdWJ0cmFjdCwgZmFDaGVzcywgZmFBcnJvd0xlZnRMb25nLCBmYUxvbmdBcnJvd0xlZnQsIGZhUGx1Z0NpcmNsZUNoZWNrLCBmYVN0cmVldFZpZXcsIGZhRnJhbmNTaWduLCBmYVZvbHVtZU9mZiwgZmFIYW5kc0FzbEludGVycHJldGluZywgZmFBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZywgZmFBc2xJbnRlcnByZXRpbmcsIGZhSGFuZHNBbWVyaWNhblNpZ25MYW5ndWFnZUludGVycHJldGluZywgZmFHZWFyLCBmYUNvZywgZmFEcm9wbGV0U2xhc2gsIGZhVGludFNsYXNoLCBmYU1vc3F1ZSwgZmFNb3NxdWl0bywgZmFTdGFyT2ZEYXZpZCwgZmFQZXJzb25NaWxpdGFyeVJpZmxlLCBmYUNhcnRTaG9wcGluZywgZmFTaG9wcGluZ0NhcnQsIGZhVmlhbHMsIGZhUGx1Z0NpcmNsZVBsdXMsIGZhUGxhY2VPZldvcnNoaXAsIGZhR3JpcFZlcnRpY2FsLCBmYUFycm93VHVyblVwLCBmYUxldmVsVXAsIGZhVSwgZmFTcXVhcmVSb290VmFyaWFibGUsIGZhU3F1YXJlUm9vdEFsdCwgZmFDbG9jaywgZmFDbG9ja0ZvdXIsIGZhQmFja3dhcmRTdGVwLCBmYVN0ZXBCYWNrd2FyZCwgZmFQYWxsZXQsIGZhRmF1Y2V0LCBmYUJhc2ViYWxsQmF0QmFsbCwgZmFTLCBmYVRpbWVsaW5lLCBmYUtleWJvYXJkLCBmYUNhcmV0RG93biwgZmFIb3VzZUNoaW1uZXlNZWRpY2FsLCBmYUNsaW5pY01lZGljYWwsIGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzLCBmYVRlbXBlcmF0dXJlMywgZmFUaGVybW9tZXRlcjMsIGZhVGhlcm1vbWV0ZXJUaHJlZVF1YXJ0ZXJzLCBmYU1vYmlsZVNjcmVlbiwgZmFNb2JpbGVBbmRyb2lkQWx0LCBmYVBsYW5lVXAsIGZhUGlnZ3lCYW5rLCBmYUJhdHRlcnlIYWxmLCBmYUJhdHRlcnkzLCBmYU1vdW50YWluQ2l0eSwgZmFDb2lucywgZmFLaGFuZGEsIGZhU2xpZGVycywgZmFTbGlkZXJzSCwgZmFGb2xkZXJUcmVlLCBmYU5ldHdvcmtXaXJlZCwgZmFNYXBQaW4sIGZhSGFtc2EsIGZhQ2VudFNpZ24sIGZhRmxhc2ssIGZhUGVyc29uUHJlZ25hbnQsIGZhV2FuZFNwYXJrbGVzLCBmYUVsbGlwc2lzVmVydGljYWwsIGZhRWxsaXBzaXNWLCBmYVRpY2tldCwgZmFQb3dlck9mZiwgZmFSaWdodExvbmcsIGZhTG9uZ0Fycm93QWx0UmlnaHQsIGZhRmxhZ1VzYSwgZmFMYXB0b3BGaWxlLCBmYVR0eSwgZmFUZWxldHlwZSwgZmFEaWFncmFtTmV4dCwgZmFQZXJzb25SaWZsZSwgZmFIb3VzZU1lZGljYWxDaXJjbGVFeGNsYW1hdGlvbiwgZmFDbG9zZWRDYXB0aW9uaW5nLCBmYVBlcnNvbkhpa2luZywgZmFIaWtpbmcsIGZhVmVudXNEb3VibGUsIGZhSW1hZ2VzLCBmYUNhbGN1bGF0b3IsIGZhUGVvcGxlUHVsbGluZywgZmFOLCBmYUNhYmxlQ2FyLCBmYVRyYW0sIGZhQ2xvdWRSYWluLCBmYUJ1aWxkaW5nQ2lyY2xlWG1hcmssIGZhU2hpcCwgZmFBcnJvd3NEb3duVG9MaW5lLCBmYURvd25sb2FkLCBmYUZhY2VHcmluLCBmYUdyaW4sIGZhRGVsZXRlTGVmdCwgZmFCYWNrc3BhY2UsIGZhRXllRHJvcHBlciwgZmFFeWVEcm9wcGVyRW1wdHksIGZhRXllZHJvcHBlciwgZmFGaWxlQ2lyY2xlQ2hlY2ssIGZhRm9yd2FyZCwgZmFNb2JpbGUsIGZhTW9iaWxlQW5kcm9pZCwgZmFNb2JpbGVQaG9uZSwgZmFGYWNlTWVoLCBmYU1laCwgZmFBbGlnbkNlbnRlciwgZmFCb29rU2t1bGwsIGZhQm9va0RlYWQsIGZhSWRDYXJkLCBmYURyaXZlcnNMaWNlbnNlLCBmYU91dGRlbnQsIGZhRGVkZW50LCBmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb24sIGZhSG91c2UsIGZhSG9tZSwgZmFIb21lQWx0LCBmYUhvbWVMZ0FsdCwgZmFDYWxlbmRhcldlZWssIGZhTGFwdG9wTWVkaWNhbCwgZmFCLCBmYUZpbGVNZWRpY2FsLCBmYURpY2VPbmUsIGZhS2l3aUJpcmQsIGZhQXJyb3dSaWdodEFycm93TGVmdCwgZmFFeGNoYW5nZSwgZmFSb3RhdGVSaWdodCwgZmFSZWRvQWx0LCBmYVJvdGF0ZUZvcndhcmQsIGZhVXRlbnNpbHMsIGZhQ3V0bGVyeSwgZmFBcnJvd1VwV2lkZVNob3J0LCBmYVNvcnRBbW91bnRVcCwgZmFNaWxsU2lnbiwgZmFCb3dsUmljZSwgZmFTa3VsbCwgZmFUb3dlckJyb2FkY2FzdCwgZmFCcm9hZGNhc3RUb3dlciwgZmFUcnVja1BpY2t1cCwgZmFVcExvbmcsIGZhTG9uZ0Fycm93QWx0VXAsIGZhU3RvcCwgZmFDb2RlTWVyZ2UsIGZhVXBsb2FkLCBmYUh1cnJpY2FuZSwgZmFNb3VuZCwgZmFUb2lsZXRQb3J0YWJsZSwgZmFDb21wYWN0RGlzYywgZmFGaWxlQXJyb3dEb3duLCBmYUZpbGVEb3dubG9hZCwgZmFDYXJhdmFuLCBmYVNoaWVsZENhdCwgZmFCb2x0LCBmYVphcCwgZmFHbGFzc1dhdGVyLCBmYU9pbFdlbGwsIGZhVmF1bHQsIGZhTWFycywgZmFUb2lsZXQsIGZhUGxhbmVDaXJjbGVYbWFyaywgZmFZZW5TaWduLCBmYUNueSwgZmFKcHksIGZhUm1iLCBmYVllbiwgZmFSdWJsZVNpZ24sIGZhUm91YmxlLCBmYVJ1YiwgZmFSdWJsZSwgZmFTdW4sIGZhR3VpdGFyLCBmYUZhY2VMYXVnaFdpbmssIGZhTGF1Z2hXaW5rLCBmYUhvcnNlSGVhZCwgZmFCb3JlSG9sZSwgZmFJbmR1c3RyeSwgZmFDaXJjbGVEb3duLCBmYUFycm93QWx0Q2lyY2xlRG93biwgZmFBcnJvd3NUdXJuVG9Eb3RzLCBmYUZsb3JpblNpZ24sIGZhQXJyb3dEb3duU2hvcnRXaWRlLCBmYVNvcnRBbW91bnREZXNjLCBmYVNvcnRBbW91bnREb3duQWx0LCBmYUxlc3NUaGFuLCBmYUFuZ2xlRG93biwgZmFDYXJUdW5uZWwsIGZhSGVhZFNpZGVDb3VnaCwgZmFHcmlwTGluZXMsIGZhVGh1bWJzRG93biwgZmFVc2VyTG9jaywgZmFBcnJvd1JpZ2h0TG9uZywgZmFMb25nQXJyb3dSaWdodCwgZmFBbmNob3JDaXJjbGVYbWFyaywgZmFFbGxpcHNpcywgZmFFbGxpcHNpc0gsIGZhQ2hlc3NQYXduLCBmYUtpdE1lZGljYWwsIGZhRmlyc3RBaWQsIGZhUGVyc29uVGhyb3VnaFdpbmRvdywgZmFUb29sYm94LCBmYUhhbmRzSG9sZGluZ0NpcmNsZSwgZmFCdWcsIGZhQ3JlZGl0Q2FyZCwgZmFDcmVkaXRDYXJkQWx0LCBmYUNhciwgZmFBdXRvbW9iaWxlLCBmYUhhbmRIb2xkaW5nSGFuZCwgZmFCb29rT3BlblJlYWRlciwgZmFCb29rUmVhZGVyLCBmYU1vdW50YWluU3VuLCBmYUFycm93c0xlZnRSaWdodFRvTGluZSwgZmFEaWNlRDIwLCBmYVRydWNrRHJvcGxldCwgZmFGaWxlQ2lyY2xlWG1hcmssIGZhVGVtcGVyYXR1cmVBcnJvd1VwLCBmYVRlbXBlcmF0dXJlVXAsIGZhTWVkYWwsIGZhQmVkLCBmYVNxdWFyZUgsIGZhSFNxdWFyZSwgZmFQb2RjYXN0LCBmYVRlbXBlcmF0dXJlRnVsbCwgZmFUZW1wZXJhdHVyZTQsIGZhVGhlcm1vbWV0ZXI0LCBmYVRoZXJtb21ldGVyRnVsbCwgZmFCZWxsLCBmYVN1cGVyc2NyaXB0LCBmYVBsdWdDaXJjbGVYbWFyaywgZmFTdGFyT2ZMaWZlLCBmYVBob25lU2xhc2gsIGZhUGFpbnRSb2xsZXIsIGZhSGFuZHNoYWtlQW5nbGUsIGZhSGFuZHNIZWxwaW5nLCBmYUxvY2F0aW9uRG90LCBmYU1hcE1hcmtlckFsdCwgZmFGaWxlLCBmYUdyZWF0ZXJUaGFuLCBmYVBlcnNvblN3aW1taW5nLCBmYVN3aW1tZXIsIGZhQXJyb3dEb3duLCBmYURyb3BsZXQsIGZhVGludCwgZmFFcmFzZXIsIGZhRWFydGhBbWVyaWNhcywgZmFFYXJ0aCwgZmFFYXJ0aEFtZXJpY2EsIGZhR2xvYmVBbWVyaWNhcywgZmFQZXJzb25CdXJzdCwgZmFEb3ZlLCBmYUJhdHRlcnlFbXB0eSwgZmFCYXR0ZXJ5MCwgZmFTb2NrcywgZmFJbmJveCwgZmFTZWN0aW9uLCBmYUdhdWdlSGlnaCwgZmFUYWNob21ldGVyQWx0LCBmYVRhY2hvbWV0ZXJBbHRGYXN0LCBmYUVudmVsb3BlT3BlblRleHQsIGZhSG9zcGl0YWwsIGZhSG9zcGl0YWxBbHQsIGZhSG9zcGl0YWxXaWRlLCBmYVdpbmVCb3R0bGUsIGZhQ2hlc3NSb29rLCBmYUJhcnNTdGFnZ2VyZWQsIGZhUmVvcmRlciwgZmFTdHJlYW0sIGZhRGhhcm1hY2hha3JhLCBmYUhvdGRvZywgZmFQZXJzb25XYWxraW5nV2l0aENhbmUsIGZhQmxpbmQsIGZhRHJ1bSwgZmFJY2VDcmVhbSwgZmFIZWFydENpcmNsZUJvbHQsIGZhRmF4LCBmYVBhcmFncmFwaCwgZmFDaGVja1RvU2xvdCwgZmFWb3RlWWVhLCBmYVN0YXJIYWxmLCBmYUJveGVzU3RhY2tlZCwgZmFCb3hlcywgZmFCb3hlc0FsdCwgZmFMaW5rLCBmYUNoYWluLCBmYUVhckxpc3RlbiwgZmFBc3Npc3RpdmVMaXN0ZW5pbmdTeXN0ZW1zLCBmYVRyZWVDaXR5LCBmYVBsYXksIGZhRm9udCwgZmFUYWJsZUNlbGxzUm93TG9jaywgZmFSdXBpYWhTaWduLCBmYU1hZ25pZnlpbmdHbGFzcywgZmFTZWFyY2gsIGZhVGFibGVUZW5uaXNQYWRkbGVCYWxsLCBmYVBpbmdQb25nUGFkZGxlQmFsbCwgZmFUYWJsZVRlbm5pcywgZmFQZXJzb25Eb3RzRnJvbUxpbmUsIGZhRGlhZ25vc2VzLCBmYVRyYXNoQ2FuQXJyb3dVcCwgZmFUcmFzaFJlc3RvcmVBbHQsIGZhTmFpcmFTaWduLCBmYUNhcnRBcnJvd0Rvd24sIGZhV2Fsa2llVGFsa2llLCBmYUZpbGVQZW4sIGZhRmlsZUVkaXQsIGZhUmVjZWlwdCwgZmFTcXVhcmVQZW4sIGZhUGVuU3F1YXJlLCBmYVBlbmNpbFNxdWFyZSwgZmFTdWl0Y2FzZVJvbGxpbmcsIGZhUGVyc29uQ2lyY2xlRXhjbGFtYXRpb24sIGZhQ2hldnJvbkRvd24sIGZhQmF0dGVyeUZ1bGwsIGZhQmF0dGVyeSwgZmFCYXR0ZXJ5NSwgZmFTa3VsbENyb3NzYm9uZXMsIGZhQ29kZUNvbXBhcmUsIGZhTGlzdFVsLCBmYUxpc3REb3RzLCBmYVNjaG9vbExvY2ssIGZhVG93ZXJDZWxsLCBmYURvd25Mb25nLCBmYUxvbmdBcnJvd0FsdERvd24sIGZhUmFua2luZ1N0YXIsIGZhQ2hlc3NLaW5nLCBmYVBlcnNvbkhhcmFzc2luZywgZmFCcmF6aWxpYW5SZWFsU2lnbiwgZmFMYW5kbWFya0RvbWUsIGZhTGFuZG1hcmtBbHQsIGZhQXJyb3dVcCwgZmFUdiwgZmFUZWxldmlzaW9uLCBmYVR2QWx0LCBmYVNocmltcCwgZmFMaXN0Q2hlY2ssIGZhVGFza3MsIGZhSnVnRGV0ZXJnZW50LCBmYUNpcmNsZVVzZXIsIGZhVXNlckNpcmNsZSwgZmFVc2VyU2hpZWxkLCBmYVdpbmQsIGZhQ2FyQnVyc3QsIGZhQ2FyQ3Jhc2gsIGZhWSwgZmFQZXJzb25Tbm93Ym9hcmRpbmcsIGZhU25vd2JvYXJkaW5nLCBmYVRydWNrRmFzdCwgZmFTaGlwcGluZ0Zhc3QsIGZhRmlzaCwgZmFVc2VyR3JhZHVhdGUsIGZhQ2lyY2xlSGFsZlN0cm9rZSwgZmFBZGp1c3QsIGZhQ2xhcHBlcmJvYXJkLCBmYUNpcmNsZVJhZGlhdGlvbiwgZmFSYWRpYXRpb25BbHQsIGZhQmFzZWJhbGwsIGZhQmFzZWJhbGxCYWxsLCBmYUpldEZpZ2h0ZXJVcCwgZmFEaWFncmFtUHJvamVjdCwgZmFQcm9qZWN0RGlhZ3JhbSwgZmFDb3B5LCBmYVZvbHVtZVhtYXJrLCBmYVZvbHVtZU11dGUsIGZhVm9sdW1lVGltZXMsIGZhSGFuZFNwYXJrbGVzLCBmYUdyaXAsIGZhR3JpcEhvcml6b250YWwsIGZhU2hhcmVGcm9tU3F1YXJlLCBmYVNoYXJlU3F1YXJlLCBmYUNoaWxkQ29tYmF0YW50LCBmYUNoaWxkUmlmbGUsIGZhR3VuLCBmYVNxdWFyZVBob25lLCBmYVBob25lU3F1YXJlLCBmYVBsdXMsIGZhQWRkLCBmYUV4cGFuZCwgZmFDb21wdXRlciwgZmFYbWFyaywgZmFDbG9zZSwgZmFNdWx0aXBseSwgZmFSZW1vdmUsIGZhVGltZXMsIGZhQXJyb3dzVXBEb3duTGVmdFJpZ2h0LCBmYUFycm93cywgZmFDaGFsa2JvYXJkVXNlciwgZmFDaGFsa2JvYXJkVGVhY2hlciwgZmFQZXNvU2lnbiwgZmFCdWlsZGluZ1NoaWVsZCwgZmFCYWJ5LCBmYVVzZXJzTGluZSwgZmFRdW90ZUxlZnQsIGZhUXVvdGVMZWZ0QWx0LCBmYVRyYWN0b3IsIGZhVHJhc2hBcnJvd1VwLCBmYVRyYXNoUmVzdG9yZSwgZmFBcnJvd0Rvd25VcExvY2ssIGZhTGluZXNMZWFuaW5nLCBmYVJ1bGVyQ29tYmluZWQsIGZhQ29weXJpZ2h0LCBmYUVxdWFscywgZmFCbGVuZGVyLCBmYVRlZXRoLCBmYVNoZWtlbFNpZ24sIGZhSWxzLCBmYVNoZWtlbCwgZmFTaGVxZWwsIGZhU2hlcWVsU2lnbiwgZmFNYXAsIGZhUm9ja2V0LCBmYVBob3RvRmlsbSwgZmFQaG90b1ZpZGVvLCBmYUZvbGRlck1pbnVzLCBmYVN0b3JlLCBmYUFycm93VHJlbmRVcCwgZmFQbHVnQ2lyY2xlTWludXMsIGZhU2lnbkhhbmdpbmcsIGZhU2lnbiwgZmFCZXppZXJDdXJ2ZSwgZmFCZWxsU2xhc2gsIGZhVGFibGV0LCBmYVRhYmxldEFuZHJvaWQsIGZhU2Nob29sRmxhZywgZmFGaWxsLCBmYUFuZ2xlVXAsIGZhRHJ1bXN0aWNrQml0ZSwgZmFIb2xseUJlcnJ5LCBmYUNoZXZyb25MZWZ0LCBmYUJhY3RlcmlhLCBmYUhhbmRMaXphcmQsIGZhTm90ZGVmLCBmYURpc2Vhc2UsIGZhQnJpZWZjYXNlTWVkaWNhbCwgZmFHZW5kZXJsZXNzLCBmYUNoZXZyb25SaWdodCwgZmFSZXR3ZWV0LCBmYUNhclJlYXIsIGZhQ2FyQWx0LCBmYVB1bXBTb2FwLCBmYVZpZGVvU2xhc2gsIGZhQmF0dGVyeVF1YXJ0ZXIsIGZhQmF0dGVyeTIsIGZhUmFkaW8sIGZhQmFieUNhcnJpYWdlLCBmYUNhcnJpYWdlQmFieSwgZmFUcmFmZmljTGlnaHQsIGZhVGhlcm1vbWV0ZXIsIGZhVnJDYXJkYm9hcmQsIGZhSGFuZE1pZGRsZUZpbmdlciwgZmFQZXJjZW50LCBmYVBlcmNlbnRhZ2UsIGZhVHJ1Y2tNb3ZpbmcsIGZhR2xhc3NXYXRlckRyb3BsZXQsIGZhRGlzcGxheSwgZmFGYWNlU21pbGUsIGZhU21pbGUsIGZhVGh1bWJ0YWNrLCBmYVRodW1iVGFjaywgZmFUcm9waHksIGZhUGVyc29uUHJheWluZywgZmFQcmF5LCBmYUhhbW1lciwgZmFIYW5kUGVhY2UsIGZhUm90YXRlLCBmYVN5bmNBbHQsIGZhU3Bpbm5lciwgZmFSb2JvdCwgZmFQZWFjZSwgZmFHZWFycywgZmFDb2dzLCBmYVdhcmVob3VzZSwgZmFBcnJvd1VwUmlnaHREb3RzLCBmYVNwbG90Y2gsIGZhRmFjZUdyaW5IZWFydHMsIGZhR3JpbkhlYXJ0cywgZmFEaWNlRm91ciwgZmFTaW1DYXJkLCBmYVRyYW5zZ2VuZGVyLCBmYVRyYW5zZ2VuZGVyQWx0LCBmYU1lcmN1cnksIGZhQXJyb3dUdXJuRG93biwgZmFMZXZlbERvd24sIGZhUGVyc29uRmFsbGluZ0J1cnN0LCBmYUF3YXJkLCBmYVRpY2tldFNpbXBsZSwgZmFUaWNrZXRBbHQsIGZhQnVpbGRpbmcsIGZhQW5nbGVzTGVmdCwgZmFBbmdsZURvdWJsZUxlZnQsIGZhUXJjb2RlLCBmYUNsb2NrUm90YXRlTGVmdCwgZmFIaXN0b3J5LCBmYUZhY2VHcmluQmVhbVN3ZWF0LCBmYUdyaW5CZWFtU3dlYXQsIGZhRmlsZUV4cG9ydCwgZmFBcnJvd1JpZ2h0RnJvbUZpbGUsIGZhU2hpZWxkLCBmYVNoaWVsZEJsYW5rLCBmYUFycm93VXBTaG9ydFdpZGUsIGZhU29ydEFtb3VudFVwQWx0LCBmYUhvdXNlTWVkaWNhbCwgZmFHb2xmQmFsbFRlZSwgZmFHb2xmQmFsbCwgZmFDaXJjbGVDaGV2cm9uTGVmdCwgZmFDaGV2cm9uQ2lyY2xlTGVmdCwgZmFIb3VzZUNoaW1uZXlXaW5kb3csIGZhUGVuTmliLCBmYVRlbnRBcnJvd1R1cm5MZWZ0LCBmYVRlbnRzLCBmYVdhbmRNYWdpYywgZmFNYWdpYywgZmFEb2csIGZhQ2Fycm90LCBmYU1vb24sIGZhV2luZUdsYXNzRW1wdHksIGZhV2luZUdsYXNzQWx0LCBmYUNoZWVzZSwgZmFZaW5ZYW5nLCBmYU11c2ljLCBmYUNvZGVDb21taXQsIGZhVGVtcGVyYXR1cmVMb3csIGZhUGVyc29uQmlraW5nLCBmYUJpa2luZywgZmFCcm9vbSwgZmFTaGllbGRIZWFydCwgZmFHb3B1cmFtLCBmYUVhcnRoT2NlYW5pYSwgZmFHbG9iZU9jZWFuaWEsIGZhU3F1YXJlWG1hcmssIGZhVGltZXNTcXVhcmUsIGZhWG1hcmtTcXVhcmUsIGZhSGFzaHRhZywgZmFVcFJpZ2h0QW5kRG93bkxlZnRGcm9tQ2VudGVyLCBmYUV4cGFuZEFsdCwgZmFPaWxDYW4sIGZhVCwgZmFIaXBwbywgZmFDaGFydENvbHVtbiwgZmFJbmZpbml0eSwgZmFWaWFsQ2lyY2xlQ2hlY2ssIGZhUGVyc29uQXJyb3dEb3duVG9MaW5lLCBmYVZvaWNlbWFpbCwgZmFGYW4sIGZhUGVyc29uV2Fsa2luZ0x1Z2dhZ2UsIGZhVXBEb3duLCBmYUFycm93c0FsdFYsIGZhQ2xvdWRNb29uUmFpbiwgZmFDYWxlbmRhciwgZmFUcmFpbGVyLCBmYUJhaGFpLCBmYUhheWthbCwgZmFTZENhcmQsIGZhRHJhZ29uLCBmYVNob2VQcmludHMsIGZhQ2lyY2xlUGx1cywgZmFQbHVzQ2lyY2xlLCBmYUZhY2VHcmluVG9uZ3VlV2luaywgZmFHcmluVG9uZ3VlV2luaywgZmFIYW5kSG9sZGluZywgZmFQbHVnQ2lyY2xlRXhjbGFtYXRpb24sIGZhTGlua1NsYXNoLCBmYUNoYWluQnJva2VuLCBmYUNoYWluU2xhc2gsIGZhVW5saW5rLCBmYUNsb25lLCBmYVBlcnNvbldhbGtpbmdBcnJvd0xvb3BMZWZ0LCBmYUFycm93VXBaQSwgZmFTb3J0QWxwaGFVcEFsdCwgZmFGaXJlRmxhbWVDdXJ2ZWQsIGZhRmlyZUFsdCwgZmFUb3JuYWRvLCBmYUZpbGVDaXJjbGVQbHVzLCBmYUJvb2tRdXJhbiwgZmFRdXJhbiwgZmFBbmNob3IsIGZhQm9yZGVyQWxsLCBmYUZhY2VBbmdyeSwgZmFBbmdyeSwgZmFDb29raWVCaXRlLCBmYUFycm93VHJlbmREb3duLCBmYVJzcywgZmFGZWVkLCBmYURyYXdQb2x5Z29uLCBmYVNjYWxlQmFsYW5jZWQsIGZhQmFsYW5jZVNjYWxlLCBmYUdhdWdlU2ltcGxlSGlnaCwgZmFUYWNob21ldGVyLCBmYVRhY2hvbWV0ZXJGYXN0LCBmYVNob3dlciwgZmFEZXNrdG9wLCBmYURlc2t0b3BBbHQsIGZhTSwgZmFUYWJsZUxpc3QsIGZhVGhMaXN0LCBmYUNvbW1lbnRTbXMsIGZhU21zLCBmYUJvb2ssIGZhVXNlclBsdXMsIGZhQ2hlY2ssIGZhQmF0dGVyeVRocmVlUXVhcnRlcnMsIGZhQmF0dGVyeTQsIGZhSG91c2VDaXJjbGVDaGVjaywgZmFBbmdsZUxlZnQsIGZhRGlhZ3JhbVN1Y2Nlc3NvciwgZmFUcnVja0Fycm93UmlnaHQsIGZhQXJyb3dzU3BsaXRVcEFuZExlZnQsIGZhSGFuZEZpc3QsIGZhRmlzdFJhaXNlZCwgZmFDbG91ZE1vb24sIGZhQnJpZWZjYXNlLCBmYVBlcnNvbkZhbGxpbmcsIGZhSW1hZ2VQb3J0cmFpdCwgZmFQb3J0cmFpdCwgZmFVc2VyVGFnLCBmYVJ1ZywgZmFFYXJ0aEV1cm9wZSwgZmFHbG9iZUV1cm9wZSwgZmFDYXJ0RmxhdGJlZFN1aXRjYXNlLCBmYUx1Z2dhZ2VDYXJ0LCBmYVJlY3RhbmdsZVhtYXJrLCBmYVJlY3RhbmdsZVRpbWVzLCBmYVRpbWVzUmVjdGFuZ2xlLCBmYVdpbmRvd0Nsb3NlLCBmYUJhaHRTaWduLCBmYUJvb2tPcGVuLCBmYUJvb2tKb3VybmFsV2hpbGxzLCBmYUpvdXJuYWxXaGlsbHMsIGZhSGFuZGN1ZmZzLCBmYVRyaWFuZ2xlRXhjbGFtYXRpb24sIGZhRXhjbGFtYXRpb25UcmlhbmdsZSwgZmFXYXJuaW5nLCBmYURhdGFiYXNlLCBmYVNoYXJlLCBmYU1haWxGb3J3YXJkLCBmYUJvdHRsZURyb3BsZXQsIGZhTWFza0ZhY2UsIGZhSGlsbFJvY2tzbGlkZSwgZmFSaWdodExlZnQsIGZhRXhjaGFuZ2VBbHQsIGZhUGFwZXJQbGFuZSwgZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb24sIGZhRHVuZ2VvbiwgZmFBbGlnblJpZ2h0LCBmYU1vbmV5QmlsbDFXYXZlLCBmYU1vbmV5QmlsbFdhdmVBbHQsIGZhTGlmZVJpbmcsIGZhSGFuZHMsIGZhU2lnbkxhbmd1YWdlLCBmYVNpZ25pbmcsIGZhQ2FsZW5kYXJEYXksIGZhV2F0ZXJMYWRkZXIsIGZhTGFkZGVyV2F0ZXIsIGZhU3dpbW1pbmdQb29sLCBmYUFycm93c1VwRG93biwgZmFBcnJvd3NWLCBmYUZhY2VHcmltYWNlLCBmYUdyaW1hY2UsIGZhV2hlZWxjaGFpck1vdmUsIGZhV2hlZWxjaGFpckFsdCwgZmFUdXJuRG93biwgZmFMZXZlbERvd25BbHQsIGZhUGVyc29uV2Fsa2luZ0Fycm93UmlnaHQsIGZhU3F1YXJlRW52ZWxvcGUsIGZhRW52ZWxvcGVTcXVhcmUsIGZhRGljZSwgZmFCb3dsaW5nQmFsbCwgZmFCcmFpbiwgZmFCYW5kYWdlLCBmYUJhbmRBaWQsIGZhQ2FsZW5kYXJNaW51cywgZmFDaXJjbGVYbWFyaywgZmFUaW1lc0NpcmNsZSwgZmFYbWFya0NpcmNsZSwgZmFHaWZ0cywgZmFIb3RlbCwgZmFFYXJ0aEFzaWEsIGZhR2xvYmVBc2lhLCBmYUlkQ2FyZENsaXAsIGZhSWRDYXJkQWx0LCBmYU1hZ25pZnlpbmdHbGFzc1BsdXMsIGZhU2VhcmNoUGx1cywgZmFUaHVtYnNVcCwgZmFVc2VyQ2xvY2ssIGZhSGFuZERvdHMsIGZhQWxsZXJnaWVzLCBmYUZpbGVJbnZvaWNlLCBmYVdpbmRvd01pbmltaXplLCBmYU11Z1NhdWNlciwgZmFDb2ZmZWUsIGZhQnJ1c2gsIGZhTWFzaywgZmFNYWduaWZ5aW5nR2xhc3NNaW51cywgZmFTZWFyY2hNaW51cywgZmFSdWxlclZlcnRpY2FsLCBmYVVzZXJMYXJnZSwgZmFVc2VyQWx0LCBmYVRyYWluVHJhbSwgZmFVc2VyTnVyc2UsIGZhU3lyaW5nZSwgZmFDbG91ZFN1biwgZmFTdG9wd2F0Y2gyMCwgZmFTcXVhcmVGdWxsLCBmYU1hZ25ldCwgZmFKYXIsIGZhTm90ZVN0aWNreSwgZmFTdGlja3lOb3RlLCBmYUJ1Z1NsYXNoLCBmYUFycm93VXBGcm9tV2F0ZXJQdW1wLCBmYUJvbmUsIGZhVGFibGVDZWxsc1Jvd1VubG9jaywgZmFVc2VySW5qdXJlZCwgZmFGYWNlU2FkVGVhciwgZmFTYWRUZWFyLCBmYVBsYW5lLCBmYVRlbnRBcnJvd3NEb3duLCBmYUV4Y2xhbWF0aW9uLCBmYUFycm93c1NwaW4sIGZhUHJpbnQsIGZhVHVya2lzaExpcmFTaWduLCBmYVRyeSwgZmFUdXJraXNoTGlyYSwgZmFEb2xsYXJTaWduLCBmYURvbGxhciwgZmFVc2QsIGZhWCwgZmFNYWduaWZ5aW5nR2xhc3NEb2xsYXIsIGZhU2VhcmNoRG9sbGFyLCBmYVVzZXJzR2VhciwgZmFVc2Vyc0NvZywgZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nLCBmYUJ1aWxkaW5nQ29sdW1ucywgZmFCYW5rLCBmYUluc3RpdHV0aW9uLCBmYU11c2V1bSwgZmFVbml2ZXJzaXR5LCBmYVVtYnJlbGxhLCBmYVRyb3dlbCwgZmFELCBmYVN0YXBsZXIsIGZhTWFza3NUaGVhdGVyLCBmYVRoZWF0ZXJNYXNrcywgZmFLaXBTaWduLCBmYUhhbmRQb2ludExlZnQsIGZhSGFuZHNoYWtlU2ltcGxlLCBmYUhhbmRzaGFrZUFsdCwgZmFKZXRGaWdodGVyLCBmYUZpZ2h0ZXJKZXQsIGZhU3F1YXJlU2hhcmVOb2RlcywgZmFTaGFyZUFsdFNxdWFyZSwgZmFCYXJjb2RlLCBmYVBsdXNNaW51cywgZmFWaWRlbywgZmFWaWRlb0NhbWVyYSwgZmFHcmFkdWF0aW9uQ2FwLCBmYU1vcnRhckJvYXJkLCBmYUhhbmRIb2xkaW5nTWVkaWNhbCwgZmFQZXJzb25DaXJjbGVDaGVjaywgZmFUdXJuVXAsIGZhTGV2ZWxVcEFsdCB9O1xuIiwgImNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcblxubGV0IF9XSU5ET1cgPSB7fTtcbmxldCBfRE9DVU1FTlQgPSB7fTtcbmxldCBfTVVUQVRJT05fT0JTRVJWRVIgPSBudWxsO1xubGV0IF9QRVJGT1JNQU5DRSA9IHtcbiAgbWFyazogbm9vcCxcbiAgbWVhc3VyZTogbm9vcFxufTtcblxudHJ5IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSBfV0lORE9XID0gd2luZG93O1xuICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykgX0RPQ1VNRU5UID0gZG9jdW1lbnQ7XG4gIGlmICh0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIF9NVVRBVElPTl9PQlNFUlZFUiA9IE11dGF0aW9uT2JzZXJ2ZXI7XG4gIGlmICh0eXBlb2YgcGVyZm9ybWFuY2UgIT09ICd1bmRlZmluZWQnKSBfUEVSRk9STUFOQ0UgPSBwZXJmb3JtYW5jZTtcbn0gY2F0Y2ggKGUpIHt9XG5cbmNvbnN0IHtcbiAgdXNlckFnZW50ID0gJydcbn0gPSBfV0lORE9XLm5hdmlnYXRvciB8fCB7fTtcbmNvbnN0IFdJTkRPVyA9IF9XSU5ET1c7XG5jb25zdCBET0NVTUVOVCA9IF9ET0NVTUVOVDtcbmNvbnN0IE1VVEFUSU9OX09CU0VSVkVSID0gX01VVEFUSU9OX09CU0VSVkVSO1xuY29uc3QgUEVSRk9STUFOQ0UgPSBfUEVSRk9STUFOQ0U7XG5jb25zdCBJU19CUk9XU0VSID0gISFXSU5ET1cuZG9jdW1lbnQ7XG5jb25zdCBJU19ET00gPSAhIURPQ1VNRU5ULmRvY3VtZW50RWxlbWVudCAmJiAhIURPQ1VNRU5ULmhlYWQgJiYgdHlwZW9mIERPQ1VNRU5ULmFkZEV2ZW50TGlzdGVuZXIgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQgPT09ICdmdW5jdGlvbic7XG5jb25zdCBJU19JRSA9IH51c2VyQWdlbnQuaW5kZXhPZignTVNJRScpIHx8IH51c2VyQWdlbnQuaW5kZXhPZignVHJpZGVudC8nKTtcblxudmFyIGEgPSBcImNsYXNzaWNcIixcbiAgICB0ID0gXCJkdW90b25lXCIsXG4gICAgciA9IFwic2hhcnBcIixcbiAgICBvID0gXCJzaGFycC1kdW90b25lXCIsXG4gICAgYyA9IFthLCB0LCByLCBvXTtcblxudmFyIGV0JDEgPSB7XG4gIGNsYXNzaWM6IHtcbiAgICA5MDA6IFwiZmFzXCIsXG4gICAgNDAwOiBcImZhclwiLFxuICAgIG5vcm1hbDogXCJmYXJcIixcbiAgICAzMDA6IFwiZmFsXCIsXG4gICAgMTAwOiBcImZhdFwiXG4gIH0sXG4gIHNoYXJwOiB7XG4gICAgOTAwOiBcImZhc3NcIixcbiAgICA0MDA6IFwiZmFzclwiLFxuICAgIDMwMDogXCJmYXNsXCIsXG4gICAgMTAwOiBcImZhc3RcIlxuICB9LFxuICBcInNoYXJwLWR1b3RvbmVcIjoge1xuICAgIDkwMDogXCJmYXNkc1wiXG4gIH1cbn07XG52YXIgYnQgPSB7XG4gIGtpdDoge1xuICAgIGZhazogXCJraXRcIixcbiAgICBcImZhLWtpdFwiOiBcImtpdFwiXG4gIH0sXG4gIFwia2l0LWR1b3RvbmVcIjoge1xuICAgIGZha2Q6IFwia2l0LWR1b3RvbmVcIixcbiAgICBcImZhLWtpdC1kdW90b25lXCI6IFwia2l0LWR1b3RvbmVcIlxuICB9XG59LFxuICAgIEN0ID0gW1wia2l0XCJdO1xudmFyIER0ID0gL2ZhKHN8cnxsfHR8ZHxifGt8a2R8c3N8c3J8c2x8c3R8c2RzKT9bXFwtXFwgXS8sXG4gICAgS3QgPSAvRm9udCA/QXdlc29tZSA/KFs1NiBdKikoU29saWR8UmVndWxhcnxMaWdodHxUaGlufER1b3RvbmV8QnJhbmRzfEZyZWV8UHJvfFNoYXJwIER1b3RvbmV8U2hhcnB8S2l0KT8uKi9pO1xudmFyIGFvID0ge1xuICBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjoge1xuICAgIDkwMDogXCJmYXNcIixcbiAgICA0MDA6IFwiZmFyXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNSBQcm9cIjoge1xuICAgIDkwMDogXCJmYXNcIixcbiAgICA0MDA6IFwiZmFyXCIsXG4gICAgbm9ybWFsOiBcImZhclwiLFxuICAgIDMwMDogXCJmYWxcIlxuICB9LFxuICBcIkZvbnQgQXdlc29tZSA1IEJyYW5kc1wiOiB7XG4gICAgNDAwOiBcImZhYlwiLFxuICAgIG5vcm1hbDogXCJmYWJcIlxuICB9LFxuICBcIkZvbnQgQXdlc29tZSA1IER1b3RvbmVcIjoge1xuICAgIDkwMDogXCJmYWRcIlxuICB9XG59O1xudmFyIGVvID0ge1xuICBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIjoge1xuICAgIDkwMDogXCJmYXNcIixcbiAgICA0MDA6IFwiZmFyXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNiBQcm9cIjoge1xuICAgIDkwMDogXCJmYXNcIixcbiAgICA0MDA6IFwiZmFyXCIsXG4gICAgbm9ybWFsOiBcImZhclwiLFxuICAgIDMwMDogXCJmYWxcIixcbiAgICAxMDA6IFwiZmF0XCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcIjoge1xuICAgIDQwMDogXCJmYWJcIixcbiAgICBub3JtYWw6IFwiZmFiXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNiBEdW90b25lXCI6IHtcbiAgICA5MDA6IFwiZmFkXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgNiBTaGFycFwiOiB7XG4gICAgOTAwOiBcImZhc3NcIixcbiAgICA0MDA6IFwiZmFzclwiLFxuICAgIG5vcm1hbDogXCJmYXNyXCIsXG4gICAgMzAwOiBcImZhc2xcIixcbiAgICAxMDA6IFwiZmFzdFwiXG4gIH0sXG4gIFwiRm9udCBBd2Vzb21lIDYgU2hhcnAgRHVvdG9uZVwiOiB7XG4gICAgOTAwOiBcImZhc2RzXCJcbiAgfVxufSxcbiAgICBsbyA9IHtcbiAgY2xhc3NpYzoge1xuICAgIFwiZmEtYnJhbmRzXCI6IFwiZmFiXCIsXG4gICAgXCJmYS1kdW90b25lXCI6IFwiZmFkXCIsXG4gICAgXCJmYS1saWdodFwiOiBcImZhbFwiLFxuICAgIFwiZmEtcmVndWxhclwiOiBcImZhclwiLFxuICAgIFwiZmEtc29saWRcIjogXCJmYXNcIixcbiAgICBcImZhLXRoaW5cIjogXCJmYXRcIlxuICB9LFxuICBzaGFycDoge1xuICAgIFwiZmEtc29saWRcIjogXCJmYXNzXCIsXG4gICAgXCJmYS1yZWd1bGFyXCI6IFwiZmFzclwiLFxuICAgIFwiZmEtbGlnaHRcIjogXCJmYXNsXCIsXG4gICAgXCJmYS10aGluXCI6IFwiZmFzdFwiXG4gIH0sXG4gIFwic2hhcnAtZHVvdG9uZVwiOiB7XG4gICAgXCJmYS1zb2xpZFwiOiBcImZhc2RzXCJcbiAgfVxufSxcbiAgICB5ID0ge1xuICBjbGFzc2ljOiBbXCJmYXNcIiwgXCJmYXJcIiwgXCJmYWxcIiwgXCJmYXRcIl0sXG4gIHNoYXJwOiBbXCJmYXNzXCIsIFwiZmFzclwiLCBcImZhc2xcIiwgXCJmYXN0XCJdLFxuICBcInNoYXJwLWR1b3RvbmVcIjogW1wiZmFzZHNcIl1cbn0sXG4gICAgbm8gPSB7XG4gIGNsYXNzaWM6IHtcbiAgICBmYWI6IFwiZmEtYnJhbmRzXCIsXG4gICAgZmFkOiBcImZhLWR1b3RvbmVcIixcbiAgICBmYWw6IFwiZmEtbGlnaHRcIixcbiAgICBmYXI6IFwiZmEtcmVndWxhclwiLFxuICAgIGZhczogXCJmYS1zb2xpZFwiLFxuICAgIGZhdDogXCJmYS10aGluXCJcbiAgfSxcbiAgc2hhcnA6IHtcbiAgICBmYXNzOiBcImZhLXNvbGlkXCIsXG4gICAgZmFzcjogXCJmYS1yZWd1bGFyXCIsXG4gICAgZmFzbDogXCJmYS1saWdodFwiLFxuICAgIGZhc3Q6IFwiZmEtdGhpblwiXG4gIH0sXG4gIFwic2hhcnAtZHVvdG9uZVwiOiB7XG4gICAgZmFzZHM6IFwiZmEtc29saWRcIlxuICB9XG59LFxuICAgIGZvID0ge1xuICBjbGFzc2ljOiB7XG4gICAgc29saWQ6IFwiZmFzXCIsXG4gICAgcmVndWxhcjogXCJmYXJcIixcbiAgICBsaWdodDogXCJmYWxcIixcbiAgICB0aGluOiBcImZhdFwiLFxuICAgIGR1b3RvbmU6IFwiZmFkXCIsXG4gICAgYnJhbmRzOiBcImZhYlwiXG4gIH0sXG4gIHNoYXJwOiB7XG4gICAgc29saWQ6IFwiZmFzc1wiLFxuICAgIHJlZ3VsYXI6IFwiZmFzclwiLFxuICAgIGxpZ2h0OiBcImZhc2xcIixcbiAgICB0aGluOiBcImZhc3RcIlxuICB9LFxuICBcInNoYXJwLWR1b3RvbmVcIjoge1xuICAgIHNvbGlkOiBcImZhc2RzXCJcbiAgfVxufSxcbiAgICBobyA9IHtcbiAgY2xhc3NpYzoge1xuICAgIGZhOiBcInNvbGlkXCIsXG4gICAgZmFzOiBcInNvbGlkXCIsXG4gICAgXCJmYS1zb2xpZFwiOiBcInNvbGlkXCIsXG4gICAgZmFyOiBcInJlZ3VsYXJcIixcbiAgICBcImZhLXJlZ3VsYXJcIjogXCJyZWd1bGFyXCIsXG4gICAgZmFsOiBcImxpZ2h0XCIsXG4gICAgXCJmYS1saWdodFwiOiBcImxpZ2h0XCIsXG4gICAgZmF0OiBcInRoaW5cIixcbiAgICBcImZhLXRoaW5cIjogXCJ0aGluXCIsXG4gICAgZmFkOiBcImR1b3RvbmVcIixcbiAgICBcImZhLWR1b3RvbmVcIjogXCJkdW90b25lXCIsXG4gICAgZmFiOiBcImJyYW5kc1wiLFxuICAgIFwiZmEtYnJhbmRzXCI6IFwiYnJhbmRzXCJcbiAgfSxcbiAgc2hhcnA6IHtcbiAgICBmYTogXCJzb2xpZFwiLFxuICAgIGZhc3M6IFwic29saWRcIixcbiAgICBcImZhLXNvbGlkXCI6IFwic29saWRcIixcbiAgICBmYXNyOiBcInJlZ3VsYXJcIixcbiAgICBcImZhLXJlZ3VsYXJcIjogXCJyZWd1bGFyXCIsXG4gICAgZmFzbDogXCJsaWdodFwiLFxuICAgIFwiZmEtbGlnaHRcIjogXCJsaWdodFwiLFxuICAgIGZhc3Q6IFwidGhpblwiLFxuICAgIFwiZmEtdGhpblwiOiBcInRoaW5cIlxuICB9LFxuICBcInNoYXJwLWR1b3RvbmVcIjoge1xuICAgIGZhOiBcInNvbGlkXCIsXG4gICAgZmFzZHM6IFwic29saWRcIixcbiAgICBcImZhLXNvbGlkXCI6IFwic29saWRcIlxuICB9XG59LFxuICAgIHgkMSA9IFtcInNvbGlkXCIsIFwicmVndWxhclwiLCBcImxpZ2h0XCIsIFwidGhpblwiLCBcImR1b3RvbmVcIiwgXCJicmFuZHNcIl0sXG4gICAgdSQxID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXSxcbiAgICBtJDEgPSB1JDEuY29uY2F0KFsxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMF0pLFxuICAgIHQkMSA9IHtcbiAgR1JPVVA6IFwiZHVvdG9uZS1ncm91cFwiLFxuICBTV0FQX09QQUNJVFk6IFwic3dhcC1vcGFjaXR5XCIsXG4gIFBSSU1BUlk6IFwicHJpbWFyeVwiLFxuICBTRUNPTkRBUlk6IFwic2Vjb25kYXJ5XCJcbn0sXG4gICAgeW8gPSBbLi4uT2JqZWN0LmtleXMoeSksIC4uLngkMSwgXCIyeHNcIiwgXCJ4c1wiLCBcInNtXCIsIFwibGdcIiwgXCJ4bFwiLCBcIjJ4bFwiLCBcImJlYXRcIiwgXCJib3JkZXJcIiwgXCJmYWRlXCIsIFwiYmVhdC1mYWRlXCIsIFwiYm91bmNlXCIsIFwiZmxpcC1ib3RoXCIsIFwiZmxpcC1ob3Jpem9udGFsXCIsIFwiZmxpcC12ZXJ0aWNhbFwiLCBcImZsaXBcIiwgXCJmd1wiLCBcImludmVyc2VcIiwgXCJsYXllcnMtY291bnRlclwiLCBcImxheWVycy10ZXh0XCIsIFwibGF5ZXJzXCIsIFwibGlcIiwgXCJwdWxsLWxlZnRcIiwgXCJwdWxsLXJpZ2h0XCIsIFwicHVsc2VcIiwgXCJyb3RhdGUtMTgwXCIsIFwicm90YXRlLTI3MFwiLCBcInJvdGF0ZS05MFwiLCBcInJvdGF0ZS1ieVwiLCBcInNoYWtlXCIsIFwic3Bpbi1wdWxzZVwiLCBcInNwaW4tcmV2ZXJzZVwiLCBcInNwaW5cIiwgXCJzdGFjay0xeFwiLCBcInN0YWNrLTJ4XCIsIFwic3RhY2tcIiwgXCJ1bFwiLCB0JDEuR1JPVVAsIHQkMS5TV0FQX09QQUNJVFksIHQkMS5QUklNQVJZLCB0JDEuU0VDT05EQVJZXS5jb25jYXQodSQxLm1hcChvID0+IFwiXCIuY29uY2F0KG8sIFwieFwiKSkpLmNvbmNhdChtJDEubWFwKG8gPT4gXCJ3LVwiLmNvbmNhdChvKSkpO1xudmFyIG1vID0ge1xuICBcIkZvbnQgQXdlc29tZSBLaXRcIjoge1xuICAgIDQwMDogXCJmYWtcIixcbiAgICBub3JtYWw6IFwiZmFrXCJcbiAgfSxcbiAgXCJGb250IEF3ZXNvbWUgS2l0IER1b3RvbmVcIjoge1xuICAgIDQwMDogXCJmYWtkXCIsXG4gICAgbm9ybWFsOiBcImZha2RcIlxuICB9XG59LFxuICAgIElvID0ge1xuICBraXQ6IHtcbiAgICBcImZhLWtpdFwiOiBcImZha1wiXG4gIH0sXG4gIFwia2l0LWR1b3RvbmVcIjoge1xuICAgIFwiZmEta2l0LWR1b3RvbmVcIjogXCJmYWtkXCJcbiAgfVxufSxcbiAgICBGbyA9IHtcbiAga2l0OiB7XG4gICAgZmFrOiBcImZhLWtpdFwiXG4gIH0sXG4gIFwia2l0LWR1b3RvbmVcIjoge1xuICAgIGZha2Q6IFwiZmEta2l0LWR1b3RvbmVcIlxuICB9XG59LFxuICAgIFNvID0ge1xuICBraXQ6IHtcbiAgICBraXQ6IFwiZmFrXCJcbiAgfSxcbiAgXCJraXQtZHVvdG9uZVwiOiB7XG4gICAgXCJraXQtZHVvdG9uZVwiOiBcImZha2RcIlxuICB9XG59O1xuXG5jb25zdCBOQU1FU1BBQ0VfSURFTlRJRklFUiA9ICdfX19GT05UX0FXRVNPTUVfX18nO1xuY29uc3QgVU5JVFNfSU5fR1JJRCA9IDE2O1xuY29uc3QgREVGQVVMVF9DU1NfUFJFRklYID0gJ2ZhJztcbmNvbnN0IERFRkFVTFRfUkVQTEFDRU1FTlRfQ0xBU1MgPSAnc3ZnLWlubGluZS0tZmEnO1xuY29uc3QgREFUQV9GQV9JMlNWRyA9ICdkYXRhLWZhLWkyc3ZnJztcbmNvbnN0IERBVEFfRkFfUFNFVURPX0VMRU1FTlQgPSAnZGF0YS1mYS1wc2V1ZG8tZWxlbWVudCc7XG5jb25zdCBEQVRBX0ZBX1BTRVVET19FTEVNRU5UX1BFTkRJTkcgPSAnZGF0YS1mYS1wc2V1ZG8tZWxlbWVudC1wZW5kaW5nJztcbmNvbnN0IERBVEFfUFJFRklYID0gJ2RhdGEtcHJlZml4JztcbmNvbnN0IERBVEFfSUNPTiA9ICdkYXRhLWljb24nO1xuY29uc3QgSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTID0gJ2ZvbnRhd2Vzb21lLWkyc3ZnJztcbmNvbnN0IE1VVEFUSU9OX0FQUFJPQUNIX0FTWU5DID0gJ2FzeW5jJztcbmNvbnN0IFRBR05BTUVTX1RPX1NLSVBfRk9SX1BTRVVET0VMRU1FTlRTID0gWydIVE1MJywgJ0hFQUQnLCAnU1RZTEUnLCAnU0NSSVBUJ107XG5jb25zdCBQUk9EVUNUSU9OID0gKCgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcbiAgfSBjYXRjaCAoZSQkMSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSkoKTtcbmNvbnN0IEZBTUlMSUVTID0gW2EsIHIsIG9dO1xuXG5mdW5jdGlvbiBmYW1pbHlQcm94eShvYmopIHtcbiAgLy8gRGVmYXVsdHMgdG8gdGhlIGNsYXNzaWMgZmFtaWx5IGlmIGZhbWlseSBpcyBub3QgYXZhaWxhYmxlXG4gIHJldHVybiBuZXcgUHJveHkob2JqLCB7XG4gICAgZ2V0KHRhcmdldCwgcHJvcCkge1xuICAgICAgcmV0dXJuIHByb3AgaW4gdGFyZ2V0ID8gdGFyZ2V0W3Byb3BdIDogdGFyZ2V0W2FdO1xuICAgIH1cblxuICB9KTtcbn1cblxuY29uc3QgX1BSRUZJWF9UT19TVFlMRSA9IHsgLi4uaG9cbn07XG5fUFJFRklYX1RPX1NUWUxFW2FdID0geyAuLi5ob1thXSxcbiAgLi4uYnRbJ2tpdCddLFxuICAuLi5idFsna2l0LWR1b3RvbmUnXVxufTtcbmNvbnN0IFBSRUZJWF9UT19TVFlMRSA9IGZhbWlseVByb3h5KF9QUkVGSVhfVE9fU1RZTEUpO1xuY29uc3QgX1NUWUxFX1RPX1BSRUZJWCA9IHsgLi4uZm9cbn07XG5fU1RZTEVfVE9fUFJFRklYW2FdID0geyAuLi5fU1RZTEVfVE9fUFJFRklYW2FdLFxuICAuLi5Tb1sna2l0J10sXG4gIC4uLlNvWydraXQtZHVvdG9uZSddXG59O1xuY29uc3QgU1RZTEVfVE9fUFJFRklYID0gZmFtaWx5UHJveHkoX1NUWUxFX1RPX1BSRUZJWCk7XG5jb25zdCBfUFJFRklYX1RPX0xPTkdfU1RZTEUgPSB7IC4uLm5vXG59O1xuX1BSRUZJWF9UT19MT05HX1NUWUxFW2FdID0geyAuLi5fUFJFRklYX1RPX0xPTkdfU1RZTEVbYV0sXG4gIC4uLkZvWydraXQnXVxufTtcbmNvbnN0IFBSRUZJWF9UT19MT05HX1NUWUxFID0gZmFtaWx5UHJveHkoX1BSRUZJWF9UT19MT05HX1NUWUxFKTtcbmNvbnN0IF9MT05HX1NUWUxFX1RPX1BSRUZJWCA9IHsgLi4ubG9cbn07XG5fTE9OR19TVFlMRV9UT19QUkVGSVhbYV0gPSB7IC4uLl9MT05HX1NUWUxFX1RPX1BSRUZJWFthXSxcbiAgLi4uSW9bJ2tpdCddXG59O1xuY29uc3QgTE9OR19TVFlMRV9UT19QUkVGSVggPSBmYW1pbHlQcm94eShfTE9OR19TVFlMRV9UT19QUkVGSVgpO1xuY29uc3QgSUNPTl9TRUxFQ1RJT05fU1lOVEFYX1BBVFRFUk4gPSBEdDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11c2VsZXNzLWVzY2FwZVxuXG5jb25zdCBMQVlFUlNfVEVYVF9DTEFTU05BTUUgPSAnZmEtbGF5ZXJzLXRleHQnO1xuY29uc3QgRk9OVF9GQU1JTFlfUEFUVEVSTiA9IEt0O1xuY29uc3QgX0ZPTlRfV0VJR0hUX1RPX1BSRUZJWCA9IHsgLi4uZXQkMVxufTtcbmNvbnN0IEZPTlRfV0VJR0hUX1RPX1BSRUZJWCA9IGZhbWlseVByb3h5KF9GT05UX1dFSUdIVF9UT19QUkVGSVgpO1xuY29uc3QgQVRUUklCVVRFU19XQVRDSEVEX0ZPUl9NVVRBVElPTiA9IFsnY2xhc3MnLCAnZGF0YS1wcmVmaXgnLCAnZGF0YS1pY29uJywgJ2RhdGEtZmEtdHJhbnNmb3JtJywgJ2RhdGEtZmEtbWFzayddO1xuY29uc3QgRFVPVE9ORV9DTEFTU0VTID0gdCQxO1xuY29uc3QgcHJlZml4ZXMgPSBuZXcgU2V0KCk7XG5PYmplY3Qua2V5cyhTVFlMRV9UT19QUkVGSVhbYV0pLm1hcChwcmVmaXhlcy5hZGQuYmluZChwcmVmaXhlcykpO1xuT2JqZWN0LmtleXMoU1RZTEVfVE9fUFJFRklYW3JdKS5tYXAocHJlZml4ZXMuYWRkLmJpbmQocHJlZml4ZXMpKTtcbk9iamVjdC5rZXlzKFNUWUxFX1RPX1BSRUZJWFtvXSkubWFwKHByZWZpeGVzLmFkZC5iaW5kKHByZWZpeGVzKSk7XG5jb25zdCBSRVNFUlZFRF9DTEFTU0VTID0gWy4uLkN0LCAuLi55b107XG5cbmNvbnN0IGluaXRpYWwgPSBXSU5ET1cuRm9udEF3ZXNvbWVDb25maWcgfHwge307XG5cbmZ1bmN0aW9uIGdldEF0dHJDb25maWcoYXR0cikge1xuICB2YXIgZWxlbWVudCA9IERPQ1VNRU5ULnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFsnICsgYXR0ciArICddJyk7XG5cbiAgaWYgKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0cik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29lcmNlKHZhbCkge1xuICAvLyBHZXR0aW5nIGFuIGVtcHR5IHN0cmluZyB3aWxsIG9jY3VyIGlmIHRoZSBhdHRyaWJ1dGUgaXMgc2V0IG9uIHRoZSBIVE1MIHRhZyBidXQgd2l0aG91dCBhIHZhbHVlXG4gIC8vIFdlJ2xsIGFzc3VtZSB0aGF0IHRoaXMgaXMgYW4gaW5kaWNhdGlvbiB0aGF0IGl0IHNob3VsZCBiZSB0b2dnbGVkIHRvIHRydWVcbiAgaWYgKHZhbCA9PT0gJycpIHJldHVybiB0cnVlO1xuICBpZiAodmFsID09PSAnZmFsc2UnKSByZXR1cm4gZmFsc2U7XG4gIGlmICh2YWwgPT09ICd0cnVlJykgcmV0dXJuIHRydWU7XG4gIHJldHVybiB2YWw7XG59XG5cbmlmIChET0NVTUVOVCAmJiB0eXBlb2YgRE9DVU1FTlQucXVlcnlTZWxlY3RvciA9PT0gJ2Z1bmN0aW9uJykge1xuICBjb25zdCBhdHRycyA9IFtbJ2RhdGEtZmFtaWx5LXByZWZpeCcsICdmYW1pbHlQcmVmaXgnXSwgWydkYXRhLWNzcy1wcmVmaXgnLCAnY3NzUHJlZml4J10sIFsnZGF0YS1mYW1pbHktZGVmYXVsdCcsICdmYW1pbHlEZWZhdWx0J10sIFsnZGF0YS1zdHlsZS1kZWZhdWx0JywgJ3N0eWxlRGVmYXVsdCddLCBbJ2RhdGEtcmVwbGFjZW1lbnQtY2xhc3MnLCAncmVwbGFjZW1lbnRDbGFzcyddLCBbJ2RhdGEtYXV0by1yZXBsYWNlLXN2ZycsICdhdXRvUmVwbGFjZVN2ZyddLCBbJ2RhdGEtYXV0by1hZGQtY3NzJywgJ2F1dG9BZGRDc3MnXSwgWydkYXRhLWF1dG8tYTExeScsICdhdXRvQTExeSddLCBbJ2RhdGEtc2VhcmNoLXBzZXVkby1lbGVtZW50cycsICdzZWFyY2hQc2V1ZG9FbGVtZW50cyddLCBbJ2RhdGEtb2JzZXJ2ZS1tdXRhdGlvbnMnLCAnb2JzZXJ2ZU11dGF0aW9ucyddLCBbJ2RhdGEtbXV0YXRlLWFwcHJvYWNoJywgJ211dGF0ZUFwcHJvYWNoJ10sIFsnZGF0YS1rZWVwLW9yaWdpbmFsLXNvdXJjZScsICdrZWVwT3JpZ2luYWxTb3VyY2UnXSwgWydkYXRhLW1lYXN1cmUtcGVyZm9ybWFuY2UnLCAnbWVhc3VyZVBlcmZvcm1hbmNlJ10sIFsnZGF0YS1zaG93LW1pc3NpbmctaWNvbnMnLCAnc2hvd01pc3NpbmdJY29ucyddXTtcbiAgYXR0cnMuZm9yRWFjaChfcmVmID0+IHtcbiAgICBsZXQgW2F0dHIsIGtleV0gPSBfcmVmO1xuICAgIGNvbnN0IHZhbCA9IGNvZXJjZShnZXRBdHRyQ29uZmlnKGF0dHIpKTtcblxuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwgIT09IG51bGwpIHtcbiAgICAgIGluaXRpYWxba2V5XSA9IHZhbDtcbiAgICB9XG4gIH0pO1xufVxuXG5jb25zdCBfZGVmYXVsdCA9IHtcbiAgc3R5bGVEZWZhdWx0OiAnc29saWQnLFxuICBmYW1pbHlEZWZhdWx0OiAnY2xhc3NpYycsXG4gIGNzc1ByZWZpeDogREVGQVVMVF9DU1NfUFJFRklYLFxuICByZXBsYWNlbWVudENsYXNzOiBERUZBVUxUX1JFUExBQ0VNRU5UX0NMQVNTLFxuICBhdXRvUmVwbGFjZVN2ZzogdHJ1ZSxcbiAgYXV0b0FkZENzczogdHJ1ZSxcbiAgYXV0b0ExMXk6IHRydWUsXG4gIHNlYXJjaFBzZXVkb0VsZW1lbnRzOiBmYWxzZSxcbiAgb2JzZXJ2ZU11dGF0aW9uczogdHJ1ZSxcbiAgbXV0YXRlQXBwcm9hY2g6ICdhc3luYycsXG4gIGtlZXBPcmlnaW5hbFNvdXJjZTogdHJ1ZSxcbiAgbWVhc3VyZVBlcmZvcm1hbmNlOiBmYWxzZSxcbiAgc2hvd01pc3NpbmdJY29uczogdHJ1ZVxufTsgLy8gZmFtaWx5UHJlZml4IGlzIGRlcHJlY2F0ZWQgYnV0IHdlIG11c3Qgc3RpbGwgc3VwcG9ydCBpdCBpZiBwcmVzZW50XG5cbmlmIChpbml0aWFsLmZhbWlseVByZWZpeCkge1xuICBpbml0aWFsLmNzc1ByZWZpeCA9IGluaXRpYWwuZmFtaWx5UHJlZml4O1xufVxuXG5jb25zdCBfY29uZmlnID0geyAuLi5fZGVmYXVsdCxcbiAgLi4uaW5pdGlhbFxufTtcbmlmICghX2NvbmZpZy5hdXRvUmVwbGFjZVN2ZykgX2NvbmZpZy5vYnNlcnZlTXV0YXRpb25zID0gZmFsc2U7XG5jb25zdCBjb25maWcgPSB7fTtcbk9iamVjdC5rZXlzKF9kZWZhdWx0KS5mb3JFYWNoKGtleSA9PiB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25maWcsIGtleSwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgc2V0OiBmdW5jdGlvbiAodmFsKSB7XG4gICAgICBfY29uZmlnW2tleV0gPSB2YWw7XG5cbiAgICAgIF9vbkNoYW5nZUNiLmZvckVhY2goY2IgPT4gY2IoY29uZmlnKSk7XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfY29uZmlnW2tleV07XG4gICAgfVxuICB9KTtcbn0pOyAvLyBmYW1pbHlQcmVmaXggaXMgZGVwcmVjYXRlZCBhcyBvZiA2LjIuMCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgaW4gNy4wLjBcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbmZpZywgJ2ZhbWlseVByZWZpeCcsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgc2V0OiBmdW5jdGlvbiAodmFsKSB7XG4gICAgX2NvbmZpZy5jc3NQcmVmaXggPSB2YWw7XG5cbiAgICBfb25DaGFuZ2VDYi5mb3JFYWNoKGNiID0+IGNiKGNvbmZpZykpO1xuICB9LFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gX2NvbmZpZy5jc3NQcmVmaXg7XG4gIH1cbn0pO1xuV0lORE9XLkZvbnRBd2Vzb21lQ29uZmlnID0gY29uZmlnO1xuY29uc3QgX29uQ2hhbmdlQ2IgPSBbXTtcbmZ1bmN0aW9uIG9uQ2hhbmdlKGNiKSB7XG4gIF9vbkNoYW5nZUNiLnB1c2goY2IpO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgX29uQ2hhbmdlQ2Iuc3BsaWNlKF9vbkNoYW5nZUNiLmluZGV4T2YoY2IpLCAxKTtcbiAgfTtcbn1cblxuY29uc3QgZCQyID0gVU5JVFNfSU5fR1JJRDtcbmNvbnN0IG1lYW5pbmdsZXNzVHJhbnNmb3JtID0ge1xuICBzaXplOiAxNixcbiAgeDogMCxcbiAgeTogMCxcbiAgcm90YXRlOiAwLFxuICBmbGlwWDogZmFsc2UsXG4gIGZsaXBZOiBmYWxzZVxufTtcbmZ1bmN0aW9uIGluc2VydENzcyhjc3MpIHtcbiAgaWYgKCFjc3MgfHwgIUlTX0RPTSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHN0eWxlID0gRE9DVU1FTlQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgc3R5bGUuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XG4gIHN0eWxlLmlubmVySFRNTCA9IGNzcztcbiAgY29uc3QgaGVhZENoaWxkcmVuID0gRE9DVU1FTlQuaGVhZC5jaGlsZE5vZGVzO1xuICBsZXQgYmVmb3JlQ2hpbGQgPSBudWxsO1xuXG4gIGZvciAobGV0IGkgPSBoZWFkQ2hpbGRyZW4ubGVuZ3RoIC0gMTsgaSA+IC0xOyBpLS0pIHtcbiAgICBjb25zdCBjaGlsZCA9IGhlYWRDaGlsZHJlbltpXTtcbiAgICBjb25zdCB0YWdOYW1lID0gKGNoaWxkLnRhZ05hbWUgfHwgJycpLnRvVXBwZXJDYXNlKCk7XG5cbiAgICBpZiAoWydTVFlMRScsICdMSU5LJ10uaW5kZXhPZih0YWdOYW1lKSA+IC0xKSB7XG4gICAgICBiZWZvcmVDaGlsZCA9IGNoaWxkO1xuICAgIH1cbiAgfVxuXG4gIERPQ1VNRU5ULmhlYWQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBiZWZvcmVDaGlsZCk7XG4gIHJldHVybiBjc3M7XG59XG5jb25zdCBpZFBvb2wgPSAnMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonO1xuZnVuY3Rpb24gbmV4dFVuaXF1ZUlkKCkge1xuICBsZXQgc2l6ZSA9IDEyO1xuICBsZXQgaWQgPSAnJztcblxuICB3aGlsZSAoc2l6ZS0tID4gMCkge1xuICAgIGlkICs9IGlkUG9vbFtNYXRoLnJhbmRvbSgpICogNjIgfCAwXTtcbiAgfVxuXG4gIHJldHVybiBpZDtcbn1cbmZ1bmN0aW9uIHRvQXJyYXkob2JqKSB7XG4gIGNvbnN0IGFycmF5ID0gW107XG5cbiAgZm9yIChsZXQgaSA9IChvYmogfHwgW10pLmxlbmd0aCA+Pj4gMDsgaS0tOykge1xuICAgIGFycmF5W2ldID0gb2JqW2ldO1xuICB9XG5cbiAgcmV0dXJuIGFycmF5O1xufVxuZnVuY3Rpb24gY2xhc3NBcnJheShub2RlKSB7XG4gIGlmIChub2RlLmNsYXNzTGlzdCkge1xuICAgIHJldHVybiB0b0FycmF5KG5vZGUuY2xhc3NMaXN0KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKG5vZGUuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnKS5zcGxpdCgnICcpLmZpbHRlcihpID0+IGkpO1xuICB9XG59XG5mdW5jdGlvbiBodG1sRXNjYXBlKHN0cikge1xuICByZXR1cm4gXCJcIi5jb25jYXQoc3RyKS5yZXBsYWNlKC8mL2csICcmYW1wOycpLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKS5yZXBsYWNlKC8nL2csICcmIzM5OycpLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7XG59XG5mdW5jdGlvbiBqb2luQXR0cmlidXRlcyhhdHRyaWJ1dGVzKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzIHx8IHt9KS5yZWR1Y2UoKGFjYywgYXR0cmlidXRlTmFtZSkgPT4ge1xuICAgIHJldHVybiBhY2MgKyBcIlwiLmNvbmNhdChhdHRyaWJ1dGVOYW1lLCBcIj1cXFwiXCIpLmNvbmNhdChodG1sRXNjYXBlKGF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV0pLCBcIlxcXCIgXCIpO1xuICB9LCAnJykudHJpbSgpO1xufVxuZnVuY3Rpb24gam9pblN0eWxlcyhzdHlsZXMpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHN0eWxlcyB8fCB7fSkucmVkdWNlKChhY2MsIHN0eWxlTmFtZSkgPT4ge1xuICAgIHJldHVybiBhY2MgKyBcIlwiLmNvbmNhdChzdHlsZU5hbWUsIFwiOiBcIikuY29uY2F0KHN0eWxlc1tzdHlsZU5hbWVdLnRyaW0oKSwgXCI7XCIpO1xuICB9LCAnJyk7XG59XG5mdW5jdGlvbiB0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSB7XG4gIHJldHVybiB0cmFuc2Zvcm0uc2l6ZSAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0uc2l6ZSB8fCB0cmFuc2Zvcm0ueCAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0ueCB8fCB0cmFuc2Zvcm0ueSAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0ueSB8fCB0cmFuc2Zvcm0ucm90YXRlICE9PSBtZWFuaW5nbGVzc1RyYW5zZm9ybS5yb3RhdGUgfHwgdHJhbnNmb3JtLmZsaXBYIHx8IHRyYW5zZm9ybS5mbGlwWTtcbn1cbmZ1bmN0aW9uIHRyYW5zZm9ybUZvclN2ZyhfcmVmKSB7XG4gIGxldCB7XG4gICAgdHJhbnNmb3JtLFxuICAgIGNvbnRhaW5lcldpZHRoLFxuICAgIGljb25XaWR0aFxuICB9ID0gX3JlZjtcbiAgY29uc3Qgb3V0ZXIgPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIi5jb25jYXQoY29udGFpbmVyV2lkdGggLyAyLCBcIiAyNTYpXCIpXG4gIH07XG4gIGNvbnN0IGlubmVyVHJhbnNsYXRlID0gXCJ0cmFuc2xhdGUoXCIuY29uY2F0KHRyYW5zZm9ybS54ICogMzIsIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS55ICogMzIsIFwiKSBcIik7XG4gIGNvbnN0IGlubmVyU2NhbGUgPSBcInNjYWxlKFwiLmNvbmNhdCh0cmFuc2Zvcm0uc2l6ZSAvIDE2ICogKHRyYW5zZm9ybS5mbGlwWCA/IC0xIDogMSksIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gMTYgKiAodHJhbnNmb3JtLmZsaXBZID8gLTEgOiAxKSwgXCIpIFwiKTtcbiAgY29uc3QgaW5uZXJSb3RhdGUgPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCIgMCAwKVwiKTtcbiAgY29uc3QgaW5uZXIgPSB7XG4gICAgdHJhbnNmb3JtOiBcIlwiLmNvbmNhdChpbm5lclRyYW5zbGF0ZSwgXCIgXCIpLmNvbmNhdChpbm5lclNjYWxlLCBcIiBcIikuY29uY2F0KGlubmVyUm90YXRlKVxuICB9O1xuICBjb25zdCBwYXRoID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoXCIuY29uY2F0KGljb25XaWR0aCAvIDIgKiAtMSwgXCIgLTI1NilcIilcbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBvdXRlcixcbiAgICBpbm5lcixcbiAgICBwYXRoXG4gIH07XG59XG5mdW5jdGlvbiB0cmFuc2Zvcm1Gb3JDc3MoX3JlZjIpIHtcbiAgbGV0IHtcbiAgICB0cmFuc2Zvcm0sXG4gICAgd2lkdGggPSBVTklUU19JTl9HUklELFxuICAgIGhlaWdodCA9IFVOSVRTX0lOX0dSSUQsXG4gICAgc3RhcnRDZW50ZXJlZCA9IGZhbHNlXG4gIH0gPSBfcmVmMjtcbiAgbGV0IHZhbCA9ICcnO1xuXG4gIGlmIChzdGFydENlbnRlcmVkICYmIElTX0lFKSB7XG4gICAgdmFsICs9IFwidHJhbnNsYXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAvIGQkMiAtIHdpZHRoIC8gMiwgXCJlbSwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAvIGQkMiAtIGhlaWdodCAvIDIsIFwiZW0pIFwiKTtcbiAgfSBlbHNlIGlmIChzdGFydENlbnRlcmVkKSB7XG4gICAgdmFsICs9IFwidHJhbnNsYXRlKGNhbGMoLTUwJSArIFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAvIGQkMiwgXCJlbSksIGNhbGMoLTUwJSArIFwiKS5jb25jYXQodHJhbnNmb3JtLnkgLyBkJDIsIFwiZW0pKSBcIik7XG4gIH0gZWxzZSB7XG4gICAgdmFsICs9IFwidHJhbnNsYXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAvIGQkMiwgXCJlbSwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAvIGQkMiwgXCJlbSkgXCIpO1xuICB9XG5cbiAgdmFsICs9IFwic2NhbGUoXCIuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gZCQyICogKHRyYW5zZm9ybS5mbGlwWCA/IC0xIDogMSksIFwiLCBcIikuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gZCQyICogKHRyYW5zZm9ybS5mbGlwWSA/IC0xIDogMSksIFwiKSBcIik7XG4gIHZhbCArPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCJkZWcpIFwiKTtcbiAgcmV0dXJuIHZhbDtcbn1cblxudmFyIGJhc2VTdHlsZXMgPSBcIjpyb290LCA6aG9zdCB7XFxuICAtLWZhLWZvbnQtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IEZyZWVcXFwiO1xcbiAgLS1mYS1mb250LXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IEZyZWVcXFwiO1xcbiAgLS1mYS1mb250LWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBQcm9cXFwiO1xcbiAgLS1mYS1mb250LXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IFByb1xcXCI7XFxuICAtLWZhLWZvbnQtZHVvdG9uZTogbm9ybWFsIDkwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgRHVvdG9uZVxcXCI7XFxuICAtLWZhLWZvbnQtYnJhbmRzOiBub3JtYWwgNDAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBTaGFycFxcXCI7XFxuICAtLWZhLWZvbnQtc2hhcnAtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgU2hhcnBcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xIFxcXCJGb250IEF3ZXNvbWUgNiBTaGFycFxcXCI7XFxuICAtLWZhLWZvbnQtc2hhcnAtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSBcXFwiRm9udCBBd2Vzb21lIDYgU2hhcnBcXFwiO1xcbiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgXFxcIkZvbnQgQXdlc29tZSA2IFNoYXJwIER1b3RvbmVcXFwiO1xcbn1cXG5cXG5zdmc6bm90KDpyb290KS5zdmctaW5saW5lLS1mYSwgc3ZnOm5vdCg6aG9zdCkuc3ZnLWlubGluZS0tZmEge1xcbiAgb3ZlcmZsb3c6IHZpc2libGU7XFxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhIHtcXG4gIGRpc3BsYXk6IHZhcigtLWZhLWRpc3BsYXksIGlubGluZS1ibG9jayk7XFxuICBoZWlnaHQ6IDFlbTtcXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtMnhzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjFlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXhzIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAwZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1zbSB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDcxNDI4NTcwNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtbGcge1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjJlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLXhsIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4yNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtMnhsIHtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4zMTI1ZW07XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1wdWxsLWxlZnQge1xcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pO1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1wdWxsLXJpZ2h0IHtcXG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pO1xcbiAgd2lkdGg6IGF1dG87XFxufVxcbi5zdmctaW5saW5lLS1mYS5mYS1saSB7XFxuICB3aWR0aDogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSk7XFxuICB0b3A6IDAuMjVlbTtcXG59XFxuLnN2Zy1pbmxpbmUtLWZhLmZhLWZ3IHtcXG4gIHdpZHRoOiB2YXIoLS1mYS1mdy13aWR0aCwgMS4yNWVtKTtcXG59XFxuXFxuLmZhLWxheWVycyBzdmcuc3ZnLWlubGluZS0tZmEge1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIG1hcmdpbjogYXV0bztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHJpZ2h0OiAwO1xcbiAgdG9wOiAwO1xcbn1cXG5cXG4uZmEtbGF5ZXJzLWNvdW50ZXIsIC5mYS1sYXllcnMtdGV4dCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcblxcbi5mYS1sYXllcnMge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgaGVpZ2h0OiAxZW07XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XFxuICB3aWR0aDogMWVtO1xcbn1cXG4uZmEtbGF5ZXJzIHN2Zy5zdmctaW5saW5lLS1mYSB7XFxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xcbn1cXG5cXG4uZmEtbGF5ZXJzLXRleHQge1xcbiAgbGVmdDogNTAlO1xcbiAgdG9wOiA1MCU7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XFxufVxcblxcbi5mYS1sYXllcnMtY291bnRlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mYS1jb3VudGVyLWJhY2tncm91bmQtY29sb3IsICNmZjI1M2EpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZmEtY291bnRlci1ib3JkZXItcmFkaXVzLCAxZW0pO1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTtcXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1mYS1jb3VudGVyLWxpbmUtaGVpZ2h0LCAxKTtcXG4gIG1heC13aWR0aDogdmFyKC0tZmEtY291bnRlci1tYXgtd2lkdGgsIDVlbSk7XFxuICBtaW4td2lkdGg6IHZhcigtLWZhLWNvdW50ZXItbWluLXdpZHRoLCAxLjVlbSk7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogdmFyKC0tZmEtY291bnRlci1wYWRkaW5nLCAwLjI1ZW0gMC41ZW0pO1xcbiAgcmlnaHQ6IHZhcigtLWZhLXJpZ2h0LCAwKTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgdG9wOiB2YXIoLS1mYS10b3AsIDApO1xcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1jb3VudGVyLXNjYWxlLCAwLjI1KSk7XFxuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XFxufVxcblxcbi5mYS1sYXllcnMtYm90dG9tLXJpZ2h0IHtcXG4gIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTtcXG4gIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7XFxuICB0b3A6IGF1dG87XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xcbn1cXG5cXG4uZmEtbGF5ZXJzLWJvdHRvbS1sZWZ0IHtcXG4gIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTtcXG4gIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApO1xcbiAgcmlnaHQ6IGF1dG87XFxuICB0b3A6IGF1dG87XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XFxufVxcblxcbi5mYS1sYXllcnMtdG9wLXJpZ2h0IHtcXG4gIHRvcDogdmFyKC0tZmEtdG9wLCAwKTtcXG4gIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xcbn1cXG5cXG4uZmEtbGF5ZXJzLXRvcC1sZWZ0IHtcXG4gIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApO1xcbiAgcmlnaHQ6IGF1dG87XFxuICB0b3A6IHZhcigtLWZhLXRvcCwgMCk7XFxuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XFxufVxcblxcbi5mYS0xeCB7XFxuICBmb250LXNpemU6IDFlbTtcXG59XFxuXFxuLmZhLTJ4IHtcXG4gIGZvbnQtc2l6ZTogMmVtO1xcbn1cXG5cXG4uZmEtM3gge1xcbiAgZm9udC1zaXplOiAzZW07XFxufVxcblxcbi5mYS00eCB7XFxuICBmb250LXNpemU6IDRlbTtcXG59XFxuXFxuLmZhLTV4IHtcXG4gIGZvbnQtc2l6ZTogNWVtO1xcbn1cXG5cXG4uZmEtNngge1xcbiAgZm9udC1zaXplOiA2ZW07XFxufVxcblxcbi5mYS03eCB7XFxuICBmb250LXNpemU6IDdlbTtcXG59XFxuXFxuLmZhLTh4IHtcXG4gIGZvbnQtc2l6ZTogOGVtO1xcbn1cXG5cXG4uZmEtOXgge1xcbiAgZm9udC1zaXplOiA5ZW07XFxufVxcblxcbi5mYS0xMHgge1xcbiAgZm9udC1zaXplOiAxMGVtO1xcbn1cXG5cXG4uZmEtMnhzIHtcXG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAwLjFlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjIyNWVtO1xcbn1cXG5cXG4uZmEteHMge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBsaW5lLWhlaWdodDogMC4wODMzMzMzMzM3ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogMC4xMjVlbTtcXG59XFxuXFxuLmZhLXNtIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAwLjA3MTQyODU3MThlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjA1MzU3MTQyOTVlbTtcXG59XFxuXFxuLmZhLWxnIHtcXG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xcbiAgbGluZS1oZWlnaHQ6IDAuMDVlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAtMC4wNzVlbTtcXG59XFxuXFxuLmZhLXhsIHtcXG4gIGZvbnQtc2l6ZTogMS41ZW07XFxuICBsaW5lLWhlaWdodDogMC4wNDE2NjY2NjgyZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XFxufVxcblxcbi5mYS0yeGwge1xcbiAgZm9udC1zaXplOiAyZW07XFxuICBsaW5lLWhlaWdodDogMC4wMzEyNWVtO1xcbiAgdmVydGljYWwtYWxpZ246IC0wLjE4NzVlbTtcXG59XFxuXFxuLmZhLWZ3IHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHdpZHRoOiAxLjI1ZW07XFxufVxcblxcbi5mYS11bCB7XFxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XFxuICBtYXJnaW4tbGVmdDogdmFyKC0tZmEtbGktbWFyZ2luLCAyLjVlbSk7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxufVxcbi5mYS11bCA+IGxpIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuXFxuLmZhLWxpIHtcXG4gIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKSk7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aWR0aDogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSk7XFxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcXG59XFxuXFxuLmZhLWJvcmRlciB7XFxuICBib3JkZXItY29sb3I6IHZhcigtLWZhLWJvcmRlci1jb2xvciwgI2VlZSk7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mYS1ib3JkZXItcmFkaXVzLCAwLjFlbSk7XFxuICBib3JkZXItc3R5bGU6IHZhcigtLWZhLWJvcmRlci1zdHlsZSwgc29saWQpO1xcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1mYS1ib3JkZXItd2lkdGgsIDAuMDhlbSk7XFxuICBwYWRkaW5nOiB2YXIoLS1mYS1ib3JkZXItcGFkZGluZywgMC4yZW0gMC4yNWVtIDAuMTVlbSk7XFxufVxcblxcbi5mYS1wdWxsLWxlZnQge1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7XFxufVxcblxcbi5mYS1wdWxsLXJpZ2h0IHtcXG4gIGZsb2F0OiByaWdodDtcXG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pO1xcbn1cXG5cXG4uZmEtYmVhdCB7XFxuICBhbmltYXRpb24tbmFtZTogZmEtYmVhdDtcXG4gIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7XFxuICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpO1xcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTtcXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTtcXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGVhc2UtaW4tb3V0KTtcXG59XFxuXFxuLmZhLWJvdW5jZSB7XFxuICBhbmltYXRpb24tbmFtZTogZmEtYm91bmNlO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuMjgsIDAuODQsIDAuNDIsIDEpKTtcXG59XFxuXFxuLmZhLWZhZGUge1xcbiAgYW5pbWF0aW9uLW5hbWU6IGZhLWZhZGU7XFxuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTtcXG59XFxuXFxuLmZhLWJlYXQtZmFkZSB7XFxuICBhbmltYXRpb24tbmFtZTogZmEtYmVhdC1mYWRlO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSk7XFxufVxcblxcbi5mYS1mbGlwIHtcXG4gIGFuaW1hdGlvbi1uYW1lOiBmYS1mbGlwO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpO1xcbn1cXG5cXG4uZmEtc2hha2Uge1xcbiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNoYWtlO1xcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTtcXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7XFxuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpO1xcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTtcXG59XFxuXFxuLmZhLXNwaW4ge1xcbiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47XFxuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpO1xcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAycyk7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBsaW5lYXIpO1xcbn1cXG5cXG4uZmEtc3Bpbi1yZXZlcnNlIHtcXG4gIC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcXG59XFxuXFxuLmZhLXB1bHNlLFxcbi5mYS1zcGluLXB1bHNlIHtcXG4gIGFuaW1hdGlvbi1uYW1lOiBmYS1zcGluO1xcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTtcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7XFxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBzdGVwcyg4KSk7XFxufVxcblxcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XFxuICAuZmEtYmVhdCxcXG4uZmEtYm91bmNlLFxcbi5mYS1mYWRlLFxcbi5mYS1iZWF0LWZhZGUsXFxuLmZhLWZsaXAsXFxuLmZhLXB1bHNlLFxcbi5mYS1zaGFrZSxcXG4uZmEtc3BpbixcXG4uZmEtc3Bpbi1wdWxzZSB7XFxuICAgIGFuaW1hdGlvbi1kZWxheTogLTFtcztcXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXM7XFxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XFxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1iZWF0IHtcXG4gIDAlLCA5MCUge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xcbiAgfVxcbiAgNDUlIHtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LXNjYWxlLCAxLjI1KSk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtYm91bmNlIHtcXG4gIDAlIHtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xcbiAgfVxcbiAgMTAlIHtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwgMS4xKSwgdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksIDAuOSkpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxuICAzMCUge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsIDAuOSksIHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksIDEuMSkpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLWhlaWdodCwgLTAuNWVtKSk7XFxuICB9XFxuICA1MCUge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXgsIDEuMDUpLCB2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS15LCAwLjk1KSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDU3JSB7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtcmVib3VuZCwgLTAuMTI1ZW0pKTtcXG4gIH1cXG4gIDY0JSB7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcXG4gIH1cXG4gIDEwMCUge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtZmFkZSB7XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiB2YXIoLS1mYS1mYWRlLW9wYWNpdHksIDAuNCk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtYmVhdC1mYWRlIHtcXG4gIDAlLCAxMDAlIHtcXG4gICAgb3BhY2l0eTogdmFyKC0tZmEtYmVhdC1mYWRlLW9wYWNpdHksIDAuNCk7XFxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XFxuICB9XFxuICA1MCUge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwgMS4xMjUpKTtcXG4gIH1cXG59XFxuQGtleWZyYW1lcyBmYS1mbGlwIHtcXG4gIDUwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QodmFyKC0tZmEtZmxpcC14LCAwKSwgdmFyKC0tZmEtZmxpcC15LCAxKSwgdmFyKC0tZmEtZmxpcC16LCAwKSwgdmFyKC0tZmEtZmxpcC1hbmdsZSwgLTE4MGRlZykpO1xcbiAgfVxcbn1cXG5Aa2V5ZnJhbWVzIGZhLXNoYWtlIHtcXG4gIDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTtcXG4gIH1cXG4gIDQlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xcbiAgfVxcbiAgOCUsIDI0JSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7XFxuICB9XFxuICAxMiUsIDI4JSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4ZGVnKTtcXG4gIH1cXG4gIDE2JSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMmRlZyk7XFxuICB9XFxuICAyMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMmRlZyk7XFxuICB9XFxuICAzMiUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTJkZWcpO1xcbiAgfVxcbiAgMzYlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTJkZWcpO1xcbiAgfVxcbiAgNDAlLCAxMDAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICB9XFxufVxcbkBrZXlmcmFtZXMgZmEtc3BpbiB7XFxuICAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgfVxcbiAgMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICB9XFxufVxcbi5mYS1yb3RhdGUtOTAge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xcbn1cXG5cXG4uZmEtcm90YXRlLTE4MCB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbn1cXG5cXG4uZmEtcm90YXRlLTI3MCB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xcbn1cXG5cXG4uZmEtZmxpcC1ob3Jpem9udGFsIHtcXG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xcbn1cXG5cXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XFxuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcXG59XFxuXFxuLmZhLWZsaXAtYm90aCxcXG4uZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWwge1xcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpO1xcbn1cXG5cXG4uZmEtcm90YXRlLWJ5IHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLWZhLXJvdGF0ZS1hbmdsZSwgMCkpO1xcbn1cXG5cXG4uZmEtc3RhY2sge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIGhlaWdodDogMmVtO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgd2lkdGg6IDIuNWVtO1xcbn1cXG5cXG4uZmEtc3RhY2stMXgsXFxuLmZhLXN0YWNrLTJ4IHtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICBtYXJnaW46IGF1dG87XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICByaWdodDogMDtcXG4gIHRvcDogMDtcXG4gIHotaW5kZXg6IHZhcigtLWZhLXN0YWNrLXotaW5kZXgsIGF1dG8pO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEuZmEtc3RhY2stMXgge1xcbiAgaGVpZ2h0OiAxZW07XFxuICB3aWR0aDogMS4yNWVtO1xcbn1cXG4uc3ZnLWlubGluZS0tZmEuZmEtc3RhY2stMngge1xcbiAgaGVpZ2h0OiAyZW07XFxuICB3aWR0aDogMi41ZW07XFxufVxcblxcbi5mYS1pbnZlcnNlIHtcXG4gIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTtcXG59XFxuXFxuLnNyLW9ubHksXFxuLmZhLXNyLW9ubHkge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgd2lkdGg6IDFweDtcXG4gIGhlaWdodDogMXB4O1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogLTFweDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlci13aWR0aDogMDtcXG59XFxuXFxuLnNyLW9ubHktZm9jdXNhYmxlOm5vdCg6Zm9jdXMpLFxcbi5mYS1zci1vbmx5LWZvY3VzYWJsZTpub3QoOmZvY3VzKSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogMXB4O1xcbiAgaGVpZ2h0OiAxcHg7XFxuICBwYWRkaW5nOiAwO1xcbiAgbWFyZ2luOiAtMXB4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgYm9yZGVyLXdpZHRoOiAwO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEgLmZhLXByaW1hcnkge1xcbiAgZmlsbDogdmFyKC0tZmEtcHJpbWFyeS1jb2xvciwgY3VycmVudENvbG9yKTtcXG4gIG9wYWNpdHk6IHZhcigtLWZhLXByaW1hcnktb3BhY2l0eSwgMSk7XFxufVxcblxcbi5zdmctaW5saW5lLS1mYSAuZmEtc2Vjb25kYXJ5IHtcXG4gIGZpbGw6IHZhcigtLWZhLXNlY29uZGFyeS1jb2xvciwgY3VycmVudENvbG9yKTtcXG4gIG9wYWNpdHk6IHZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LCAwLjQpO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEuZmEtc3dhcC1vcGFjaXR5IC5mYS1wcmltYXJ5IHtcXG4gIG9wYWNpdHk6IHZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LCAwLjQpO1xcbn1cXG5cXG4uc3ZnLWlubGluZS0tZmEuZmEtc3dhcC1vcGFjaXR5IC5mYS1zZWNvbmRhcnkge1xcbiAgb3BhY2l0eTogdmFyKC0tZmEtcHJpbWFyeS1vcGFjaXR5LCAxKTtcXG59XFxuXFxuLnN2Zy1pbmxpbmUtLWZhIG1hc2sgLmZhLXByaW1hcnksXFxuLnN2Zy1pbmxpbmUtLWZhIG1hc2sgLmZhLXNlY29uZGFyeSB7XFxuICBmaWxsOiBibGFjaztcXG59XFxuXFxuLmZhZC5mYS1pbnZlcnNlLFxcbi5mYS1kdW90b25lLmZhLWludmVyc2Uge1xcbiAgY29sb3I6IHZhcigtLWZhLWludmVyc2UsICNmZmYpO1xcbn1cIjtcblxuZnVuY3Rpb24gY3NzKCkge1xuICBjb25zdCBkY3AgPSBERUZBVUxUX0NTU19QUkVGSVg7XG4gIGNvbnN0IGRyYyA9IERFRkFVTFRfUkVQTEFDRU1FTlRfQ0xBU1M7XG4gIGNvbnN0IGZwID0gY29uZmlnLmNzc1ByZWZpeDtcbiAgY29uc3QgcmMgPSBjb25maWcucmVwbGFjZW1lbnRDbGFzcztcbiAgbGV0IHMgPSBiYXNlU3R5bGVzO1xuXG4gIGlmIChmcCAhPT0gZGNwIHx8IHJjICE9PSBkcmMpIHtcbiAgICBjb25zdCBkUGF0dCA9IG5ldyBSZWdFeHAoXCJcXFxcLlwiLmNvbmNhdChkY3AsIFwiXFxcXC1cIiksICdnJyk7XG4gICAgY29uc3QgY3VzdG9tUHJvcFBhdHQgPSBuZXcgUmVnRXhwKFwiXFxcXC0tXCIuY29uY2F0KGRjcCwgXCJcXFxcLVwiKSwgJ2cnKTtcbiAgICBjb25zdCByUGF0dCA9IG5ldyBSZWdFeHAoXCJcXFxcLlwiLmNvbmNhdChkcmMpLCAnZycpO1xuICAgIHMgPSBzLnJlcGxhY2UoZFBhdHQsIFwiLlwiLmNvbmNhdChmcCwgXCItXCIpKS5yZXBsYWNlKGN1c3RvbVByb3BQYXR0LCBcIi0tXCIuY29uY2F0KGZwLCBcIi1cIikpLnJlcGxhY2UoclBhdHQsIFwiLlwiLmNvbmNhdChyYykpO1xuICB9XG5cbiAgcmV0dXJuIHM7XG59XG5cbmxldCBfY3NzSW5zZXJ0ZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gZW5zdXJlQ3NzKCkge1xuICBpZiAoY29uZmlnLmF1dG9BZGRDc3MgJiYgIV9jc3NJbnNlcnRlZCkge1xuICAgIGluc2VydENzcyhjc3MoKSk7XG4gICAgX2Nzc0luc2VydGVkID0gdHJ1ZTtcbiAgfVxufVxuXG52YXIgSW5qZWN0Q1NTID0ge1xuICBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRvbToge1xuICAgICAgICBjc3MsXG4gICAgICAgIGluc2VydENzczogZW5zdXJlQ3NzXG4gICAgICB9XG4gICAgfTtcbiAgfSxcblxuICBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uKCkge1xuICAgICAgICBlbnN1cmVDc3MoKTtcbiAgICAgIH0sXG5cbiAgICAgIGJlZm9yZUkyc3ZnKCkge1xuICAgICAgICBlbnN1cmVDc3MoKTtcbiAgICAgIH1cblxuICAgIH07XG4gIH1cblxufTtcblxuY29uc3QgdyQxID0gV0lORE9XIHx8IHt9O1xuaWYgKCF3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdKSB3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdID0ge307XG5pZiAoIXckMVtOQU1FU1BBQ0VfSURFTlRJRklFUl0uc3R5bGVzKSB3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdLnN0eWxlcyA9IHt9O1xuaWYgKCF3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzKSB3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzID0ge307XG5pZiAoIXckMVtOQU1FU1BBQ0VfSURFTlRJRklFUl0uc2hpbXMpIHckMVtOQU1FU1BBQ0VfSURFTlRJRklFUl0uc2hpbXMgPSBbXTtcbnZhciBuYW1lc3BhY2UgPSB3JDFbTkFNRVNQQUNFX0lERU5USUZJRVJdO1xuXG5jb25zdCBmdW5jdGlvbnMgPSBbXTtcblxuY29uc3QgbGlzdGVuZXIgPSBmdW5jdGlvbiAoKSB7XG4gIERPQ1VNRU5ULnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBsaXN0ZW5lcik7XG4gIGxvYWRlZCA9IDE7XG4gIGZ1bmN0aW9ucy5tYXAoZm4gPT4gZm4oKSk7XG59O1xuXG5sZXQgbG9hZGVkID0gZmFsc2U7XG5cbmlmIChJU19ET00pIHtcbiAgbG9hZGVkID0gKERPQ1VNRU5ULmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCA/IC9ebG9hZGVkfF5jLyA6IC9ebG9hZGVkfF5pfF5jLykudGVzdChET0NVTUVOVC5yZWFkeVN0YXRlKTtcbiAgaWYgKCFsb2FkZWQpIERPQ1VNRU5ULmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBsaXN0ZW5lcik7XG59XG5cbmZ1bmN0aW9uIGRvbXJlYWR5IChmbikge1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuO1xuICBsb2FkZWQgPyBzZXRUaW1lb3V0KGZuLCAwKSA6IGZ1bmN0aW9ucy5wdXNoKGZuKTtcbn1cblxuZnVuY3Rpb24gdG9IdG1sKGFic3RyYWN0Tm9kZXMpIHtcbiAgY29uc3Qge1xuICAgIHRhZyxcbiAgICBhdHRyaWJ1dGVzID0ge30sXG4gICAgY2hpbGRyZW4gPSBbXVxuICB9ID0gYWJzdHJhY3ROb2RlcztcblxuICBpZiAodHlwZW9mIGFic3RyYWN0Tm9kZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGh0bWxFc2NhcGUoYWJzdHJhY3ROb2Rlcyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFwiPFwiLmNvbmNhdCh0YWcsIFwiIFwiKS5jb25jYXQoam9pbkF0dHJpYnV0ZXMoYXR0cmlidXRlcyksIFwiPlwiKS5jb25jYXQoY2hpbGRyZW4ubWFwKHRvSHRtbCkuam9pbignJyksIFwiPC9cIikuY29uY2F0KHRhZywgXCI+XCIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGljb25Gcm9tTWFwcGluZyhtYXBwaW5nLCBwcmVmaXgsIGljb25OYW1lKSB7XG4gIGlmIChtYXBwaW5nICYmIG1hcHBpbmdbcHJlZml4XSAmJiBtYXBwaW5nW3ByZWZpeF1baWNvbk5hbWVdKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByZWZpeCxcbiAgICAgIGljb25OYW1lLFxuICAgICAgaWNvbjogbWFwcGluZ1twcmVmaXhdW2ljb25OYW1lXVxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBoZWxwZXIgdG8gYmluZCBhIGZ1bmN0aW9uIGtub3duIHRvIGhhdmUgNCBhcmd1bWVudHNcbiAqIHRvIGEgZ2l2ZW4gY29udGV4dC5cbiAqL1xuXG52YXIgYmluZEludGVybmFsNCA9IGZ1bmN0aW9uIGJpbmRJbnRlcm5hbDQoZnVuYywgdGhpc0NvbnRleHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7XG4gICAgcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQ29udGV4dCwgYSwgYiwgYywgZCk7XG4gIH07XG59O1xuXG4vKipcbiAqICMgUmVkdWNlXG4gKlxuICogQSBmYXN0IG9iamVjdCBgLnJlZHVjZSgpYCBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgc3ViamVjdCAgICAgIFRoZSBvYmplY3QgdG8gcmVkdWNlIG92ZXIuXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gZm4gICAgICAgICAgIFRoZSByZWR1Y2VyIGZ1bmN0aW9uLlxuICogQHBhcmFtICB7bWl4ZWR9ICAgIGluaXRpYWxWYWx1ZSBUaGUgaW5pdGlhbCB2YWx1ZSBmb3IgdGhlIHJlZHVjZXIsIGRlZmF1bHRzIHRvIHN1YmplY3RbMF0uXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgdGhpc0NvbnRleHQgIFRoZSBjb250ZXh0IGZvciB0aGUgcmVkdWNlci5cbiAqIEByZXR1cm4ge21peGVkfSAgICAgICAgICAgICAgICAgVGhlIGZpbmFsIHJlc3VsdC5cbiAqL1xuXG5cbnZhciByZWR1Y2UgPSBmdW5jdGlvbiBmYXN0UmVkdWNlT2JqZWN0KHN1YmplY3QsIGZuLCBpbml0aWFsVmFsdWUsIHRoaXNDb250ZXh0KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMoc3ViamVjdCksXG4gICAgICBsZW5ndGggPSBrZXlzLmxlbmd0aCxcbiAgICAgIGl0ZXJhdG9yID0gdGhpc0NvbnRleHQgIT09IHVuZGVmaW5lZCA/IGJpbmRJbnRlcm5hbDQoZm4sIHRoaXNDb250ZXh0KSA6IGZuLFxuICAgICAgaSxcbiAgICAgIGtleSxcbiAgICAgIHJlc3VsdDtcblxuICBpZiAoaW5pdGlhbFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICBpID0gMTtcbiAgICByZXN1bHQgPSBzdWJqZWN0W2tleXNbMF1dO1xuICB9IGVsc2Uge1xuICAgIGkgPSAwO1xuICAgIHJlc3VsdCA9IGluaXRpYWxWYWx1ZTtcbiAgfVxuXG4gIGZvciAoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBrZXlzW2ldO1xuICAgIHJlc3VsdCA9IGl0ZXJhdG9yKHJlc3VsdCwgc3ViamVjdFtrZXldLCBrZXksIHN1YmplY3QpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8qKlxuICogdWNzMmRlY29kZSgpIGFuZCBjb2RlUG9pbnRBdCgpIGFyZSBib3RoIHdvcmtzIG9mIE1hdGhpYXMgQnluZW5zIGFuZCBsaWNlbnNlZCB1bmRlciBNSVRcbiAqXG4gKiBDb3B5cmlnaHQgTWF0aGlhcyBCeW5lbnMgPGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS8+XG5cbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZ1xuICogYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4gKiBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbiAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbiAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0b1xuICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvXG4gKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gKiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCxcbiAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkRcbiAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkVcbiAqIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT05cbiAqIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTlxuICogV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4gKi9cbmZ1bmN0aW9uIHVjczJkZWNvZGUoc3RyaW5nKSB7XG4gIGNvbnN0IG91dHB1dCA9IFtdO1xuICBsZXQgY291bnRlciA9IDA7XG4gIGNvbnN0IGxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG5cbiAgd2hpbGUgKGNvdW50ZXIgPCBsZW5ndGgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHN0cmluZy5jaGFyQ29kZUF0KGNvdW50ZXIrKyk7XG5cbiAgICBpZiAodmFsdWUgPj0gMHhEODAwICYmIHZhbHVlIDw9IDB4REJGRiAmJiBjb3VudGVyIDwgbGVuZ3RoKSB7XG4gICAgICBjb25zdCBleHRyYSA9IHN0cmluZy5jaGFyQ29kZUF0KGNvdW50ZXIrKyk7XG5cbiAgICAgIGlmICgoZXh0cmEgJiAweEZDMDApID09IDB4REMwMCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGVxZXFlcVxuICAgICAgICBvdXRwdXQucHVzaCgoKHZhbHVlICYgMHgzRkYpIDw8IDEwKSArIChleHRyYSAmIDB4M0ZGKSArIDB4MTAwMDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0cHV0LnB1c2godmFsdWUpO1xuICAgICAgICBjb3VudGVyLS07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dHB1dC5wdXNoKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiB0b0hleCh1bmljb2RlKSB7XG4gIGNvbnN0IGRlY29kZWQgPSB1Y3MyZGVjb2RlKHVuaWNvZGUpO1xuICByZXR1cm4gZGVjb2RlZC5sZW5ndGggPT09IDEgPyBkZWNvZGVkWzBdLnRvU3RyaW5nKDE2KSA6IG51bGw7XG59XG5mdW5jdGlvbiBjb2RlUG9pbnRBdChzdHJpbmcsIGluZGV4KSB7XG4gIGNvbnN0IHNpemUgPSBzdHJpbmcubGVuZ3RoO1xuICBsZXQgZmlyc3QgPSBzdHJpbmcuY2hhckNvZGVBdChpbmRleCk7XG4gIGxldCBzZWNvbmQ7XG5cbiAgaWYgKGZpcnN0ID49IDB4RDgwMCAmJiBmaXJzdCA8PSAweERCRkYgJiYgc2l6ZSA+IGluZGV4ICsgMSkge1xuICAgIHNlY29uZCA9IHN0cmluZy5jaGFyQ29kZUF0KGluZGV4ICsgMSk7XG5cbiAgICBpZiAoc2Vjb25kID49IDB4REMwMCAmJiBzZWNvbmQgPD0gMHhERkZGKSB7XG4gICAgICByZXR1cm4gKGZpcnN0IC0gMHhEODAwKSAqIDB4NDAwICsgc2Vjb25kIC0gMHhEQzAwICsgMHgxMDAwMDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlyc3Q7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUljb25zKGljb25zKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhpY29ucykucmVkdWNlKChhY2MsIGljb25OYW1lKSA9PiB7XG4gICAgY29uc3QgaWNvbiA9IGljb25zW2ljb25OYW1lXTtcbiAgICBjb25zdCBleHBhbmRlZCA9ICEhaWNvbi5pY29uO1xuXG4gICAgaWYgKGV4cGFuZGVkKSB7XG4gICAgICBhY2NbaWNvbi5pY29uTmFtZV0gPSBpY29uLmljb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY1tpY29uTmFtZV0gPSBpY29uO1xuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbn1cblxuZnVuY3Rpb24gZGVmaW5lSWNvbnMocHJlZml4LCBpY29ucykge1xuICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcbiAgY29uc3Qge1xuICAgIHNraXBIb29rcyA9IGZhbHNlXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVJY29ucyhpY29ucyk7XG5cbiAgaWYgKHR5cGVvZiBuYW1lc3BhY2UuaG9va3MuYWRkUGFjayA9PT0gJ2Z1bmN0aW9uJyAmJiAhc2tpcEhvb2tzKSB7XG4gICAgbmFtZXNwYWNlLmhvb2tzLmFkZFBhY2socHJlZml4LCBub3JtYWxpemVJY29ucyhpY29ucykpO1xuICB9IGVsc2Uge1xuICAgIG5hbWVzcGFjZS5zdHlsZXNbcHJlZml4XSA9IHsgLi4uKG5hbWVzcGFjZS5zdHlsZXNbcHJlZml4XSB8fCB7fSksXG4gICAgICAuLi5ub3JtYWxpemVkXG4gICAgfTtcbiAgfVxuICAvKipcbiAgICogRm9udCBBd2Vzb21lIDQgdXNlZCB0aGUgcHJlZml4IG9mIGBmYWAgZm9yIGFsbCBpY29ucy4gV2l0aCB0aGUgaW50cm9kdWN0aW9uXG4gICAqIG9mIG5ldyBzdHlsZXMgd2UgbmVlZGVkIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGVtLiBQcmVmaXggYGZhYCBpcyBub3cgYW4gYWxpYXNcbiAgICogZm9yIGBmYXNgIHNvIHdlJ2xsIGVhc2UgdGhlIHVwZ3JhZGUgcHJvY2VzcyBmb3Igb3VyIHVzZXJzIGJ5IGF1dG9tYXRpY2FsbHkgZGVmaW5pbmdcbiAgICogdGhpcyBhcyB3ZWxsLlxuICAgKi9cblxuXG4gIGlmIChwcmVmaXggPT09ICdmYXMnKSB7XG4gICAgZGVmaW5lSWNvbnMoJ2ZhJywgaWNvbnMpO1xuICB9XG59XG5cbmNvbnN0IHtcbiAgc3R5bGVzLFxuICBzaGltc1xufSA9IG5hbWVzcGFjZTtcbmNvbnN0IExPTkdfU1RZTEUgPSB7XG4gIFthXTogT2JqZWN0LnZhbHVlcyhQUkVGSVhfVE9fTE9OR19TVFlMRVthXSksXG4gIFtyXTogT2JqZWN0LnZhbHVlcyhQUkVGSVhfVE9fTE9OR19TVFlMRVtyXSksXG4gIFtvXTogT2JqZWN0LnZhbHVlcyhQUkVGSVhfVE9fTE9OR19TVFlMRVtvXSlcbn07XG5sZXQgX2RlZmF1bHRVc2FibGVQcmVmaXggPSBudWxsO1xubGV0IF9ieVVuaWNvZGUgPSB7fTtcbmxldCBfYnlMaWdhdHVyZSA9IHt9O1xubGV0IF9ieU9sZE5hbWUgPSB7fTtcbmxldCBfYnlPbGRVbmljb2RlID0ge307XG5sZXQgX2J5QWxpYXMgPSB7fTtcbmNvbnN0IFBSRUZJWEVTID0ge1xuICBbYV06IE9iamVjdC5rZXlzKFBSRUZJWF9UT19TVFlMRVthXSksXG4gIFtyXTogT2JqZWN0LmtleXMoUFJFRklYX1RPX1NUWUxFW3JdKSxcbiAgW29dOiBPYmplY3Qua2V5cyhQUkVGSVhfVE9fU1RZTEVbb10pXG59O1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkKG5hbWUpIHtcbiAgcmV0dXJuIH5SRVNFUlZFRF9DTEFTU0VTLmluZGV4T2YobmFtZSk7XG59XG5cbmZ1bmN0aW9uIGdldEljb25OYW1lKGNzc1ByZWZpeCwgY2xzKSB7XG4gIGNvbnN0IHBhcnRzID0gY2xzLnNwbGl0KCctJyk7XG4gIGNvbnN0IHByZWZpeCA9IHBhcnRzWzBdO1xuICBjb25zdCBpY29uTmFtZSA9IHBhcnRzLnNsaWNlKDEpLmpvaW4oJy0nKTtcblxuICBpZiAocHJlZml4ID09PSBjc3NQcmVmaXggJiYgaWNvbk5hbWUgIT09ICcnICYmICFpc1Jlc2VydmVkKGljb25OYW1lKSkge1xuICAgIHJldHVybiBpY29uTmFtZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuY29uc3QgYnVpbGQgPSAoKSA9PiB7XG4gIGNvbnN0IGxvb2t1cCA9IHJlZHVjZXIgPT4ge1xuICAgIHJldHVybiByZWR1Y2Uoc3R5bGVzLCAobyQkMSwgc3R5bGUsIHByZWZpeCkgPT4ge1xuICAgICAgbyQkMVtwcmVmaXhdID0gcmVkdWNlKHN0eWxlLCByZWR1Y2VyLCB7fSk7XG4gICAgICByZXR1cm4gbyQkMTtcbiAgICB9LCB7fSk7XG4gIH07XG5cbiAgX2J5VW5pY29kZSA9IGxvb2t1cCgoYWNjLCBpY29uLCBpY29uTmFtZSkgPT4ge1xuICAgIGlmIChpY29uWzNdKSB7XG4gICAgICBhY2NbaWNvblszXV0gPSBpY29uTmFtZTtcbiAgICB9XG5cbiAgICBpZiAoaWNvblsyXSkge1xuICAgICAgY29uc3QgYWxpYXNlcyA9IGljb25bMl0uZmlsdGVyKGEkJDEgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGEkJDEgPT09ICdudW1iZXInO1xuICAgICAgfSk7XG4gICAgICBhbGlhc2VzLmZvckVhY2goYWxpYXMgPT4ge1xuICAgICAgICBhY2NbYWxpYXMudG9TdHJpbmcoMTYpXSA9IGljb25OYW1lO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSk7XG4gIF9ieUxpZ2F0dXJlID0gbG9va3VwKChhY2MsIGljb24sIGljb25OYW1lKSA9PiB7XG4gICAgYWNjW2ljb25OYW1lXSA9IGljb25OYW1lO1xuXG4gICAgaWYgKGljb25bMl0pIHtcbiAgICAgIGNvbnN0IGFsaWFzZXMgPSBpY29uWzJdLmZpbHRlcihhJCQxID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBhJCQxID09PSAnc3RyaW5nJztcbiAgICAgIH0pO1xuICAgICAgYWxpYXNlcy5mb3JFYWNoKGFsaWFzID0+IHtcbiAgICAgICAgYWNjW2FsaWFzXSA9IGljb25OYW1lO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSk7XG4gIF9ieUFsaWFzID0gbG9va3VwKChhY2MsIGljb24sIGljb25OYW1lKSA9PiB7XG4gICAgY29uc3QgYWxpYXNlcyA9IGljb25bMl07XG4gICAgYWNjW2ljb25OYW1lXSA9IGljb25OYW1lO1xuICAgIGFsaWFzZXMuZm9yRWFjaChhbGlhcyA9PiB7XG4gICAgICBhY2NbYWxpYXNdID0gaWNvbk5hbWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSk7IC8vIElmIHdlIGhhdmUgYSBLaXQsIHdlIGNhbid0IGRldGVybWluZSBpZiByZWd1bGFyIGlzIGF2YWlsYWJsZSBzaW5jZSB3ZVxuICAvLyBjb3VsZCBiZSBhdXRvLWZldGNoaW5nIGl0LiBXZSdsbCBoYXZlIHRvIGFzc3VtZSB0aGF0IGl0IGlzIGF2YWlsYWJsZS5cblxuICBjb25zdCBoYXNSZWd1bGFyID0gJ2ZhcicgaW4gc3R5bGVzIHx8IGNvbmZpZy5hdXRvRmV0Y2hTdmc7XG4gIGNvbnN0IHNoaW1Mb29rdXBzID0gcmVkdWNlKHNoaW1zLCAoYWNjLCBzaGltKSA9PiB7XG4gICAgY29uc3QgbWF5YmVOYW1lTWF5YmVVbmljb2RlID0gc2hpbVswXTtcbiAgICBsZXQgcHJlZml4ID0gc2hpbVsxXTtcbiAgICBjb25zdCBpY29uTmFtZSA9IHNoaW1bMl07XG5cbiAgICBpZiAocHJlZml4ID09PSAnZmFyJyAmJiAhaGFzUmVndWxhcikge1xuICAgICAgcHJlZml4ID0gJ2Zhcyc7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtYXliZU5hbWVNYXliZVVuaWNvZGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhY2MubmFtZXNbbWF5YmVOYW1lTWF5YmVVbmljb2RlXSA9IHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpY29uTmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heWJlTmFtZU1heWJlVW5pY29kZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGFjYy51bmljb2Rlc1ttYXliZU5hbWVNYXliZVVuaWNvZGUudG9TdHJpbmcoMTYpXSA9IHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpY29uTmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7XG4gICAgbmFtZXM6IHt9LFxuICAgIHVuaWNvZGVzOiB7fVxuICB9KTtcbiAgX2J5T2xkTmFtZSA9IHNoaW1Mb29rdXBzLm5hbWVzO1xuICBfYnlPbGRVbmljb2RlID0gc2hpbUxvb2t1cHMudW5pY29kZXM7XG4gIF9kZWZhdWx0VXNhYmxlUHJlZml4ID0gZ2V0Q2Fub25pY2FsUHJlZml4KGNvbmZpZy5zdHlsZURlZmF1bHQsIHtcbiAgICBmYW1pbHk6IGNvbmZpZy5mYW1pbHlEZWZhdWx0XG4gIH0pO1xufTtcbm9uQ2hhbmdlKGMkJDEgPT4ge1xuICBfZGVmYXVsdFVzYWJsZVByZWZpeCA9IGdldENhbm9uaWNhbFByZWZpeChjJCQxLnN0eWxlRGVmYXVsdCwge1xuICAgIGZhbWlseTogY29uZmlnLmZhbWlseURlZmF1bHRcbiAgfSk7XG59KTtcbmJ1aWxkKCk7XG5mdW5jdGlvbiBieVVuaWNvZGUocHJlZml4LCB1bmljb2RlKSB7XG4gIHJldHVybiAoX2J5VW5pY29kZVtwcmVmaXhdIHx8IHt9KVt1bmljb2RlXTtcbn1cbmZ1bmN0aW9uIGJ5TGlnYXR1cmUocHJlZml4LCBsaWdhdHVyZSkge1xuICByZXR1cm4gKF9ieUxpZ2F0dXJlW3ByZWZpeF0gfHwge30pW2xpZ2F0dXJlXTtcbn1cbmZ1bmN0aW9uIGJ5QWxpYXMocHJlZml4LCBhbGlhcykge1xuICByZXR1cm4gKF9ieUFsaWFzW3ByZWZpeF0gfHwge30pW2FsaWFzXTtcbn1cbmZ1bmN0aW9uIGJ5T2xkTmFtZShuYW1lKSB7XG4gIHJldHVybiBfYnlPbGROYW1lW25hbWVdIHx8IHtcbiAgICBwcmVmaXg6IG51bGwsXG4gICAgaWNvbk5hbWU6IG51bGxcbiAgfTtcbn1cbmZ1bmN0aW9uIGJ5T2xkVW5pY29kZSh1bmljb2RlKSB7XG4gIGNvbnN0IG9sZFVuaWNvZGUgPSBfYnlPbGRVbmljb2RlW3VuaWNvZGVdO1xuICBjb25zdCBuZXdVbmljb2RlID0gYnlVbmljb2RlKCdmYXMnLCB1bmljb2RlKTtcbiAgcmV0dXJuIG9sZFVuaWNvZGUgfHwgKG5ld1VuaWNvZGUgPyB7XG4gICAgcHJlZml4OiAnZmFzJyxcbiAgICBpY29uTmFtZTogbmV3VW5pY29kZVxuICB9IDogbnVsbCkgfHwge1xuICAgIHByZWZpeDogbnVsbCxcbiAgICBpY29uTmFtZTogbnVsbFxuICB9O1xufVxuZnVuY3Rpb24gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpIHtcbiAgcmV0dXJuIF9kZWZhdWx0VXNhYmxlUHJlZml4O1xufVxuY29uc3QgZW1wdHlDYW5vbmljYWxJY29uID0gKCkgPT4ge1xuICByZXR1cm4ge1xuICAgIHByZWZpeDogbnVsbCxcbiAgICBpY29uTmFtZTogbnVsbCxcbiAgICByZXN0OiBbXVxuICB9O1xufTtcbmZ1bmN0aW9uIGdldENhbm9uaWNhbFByZWZpeChzdHlsZU9yUHJlZml4KSB7XG4gIGxldCBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICBjb25zdCB7XG4gICAgZmFtaWx5ID0gYVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBzdHlsZSA9IFBSRUZJWF9UT19TVFlMRVtmYW1pbHldW3N0eWxlT3JQcmVmaXhdO1xuICBjb25zdCBwcmVmaXggPSBTVFlMRV9UT19QUkVGSVhbZmFtaWx5XVtzdHlsZU9yUHJlZml4XSB8fCBTVFlMRV9UT19QUkVGSVhbZmFtaWx5XVtzdHlsZV07XG4gIGNvbnN0IGRlZmluZWQgPSBzdHlsZU9yUHJlZml4IGluIG5hbWVzcGFjZS5zdHlsZXMgPyBzdHlsZU9yUHJlZml4IDogbnVsbDtcbiAgY29uc3QgcmVzdWx0ID0gcHJlZml4IHx8IGRlZmluZWQgfHwgbnVsbDtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmNvbnN0IFBSRUZJWEVTX0ZPUl9GQU1JTFkgPSB7XG4gIFthXTogT2JqZWN0LmtleXMoUFJFRklYX1RPX0xPTkdfU1RZTEVbYV0pLFxuICBbcl06IE9iamVjdC5rZXlzKFBSRUZJWF9UT19MT05HX1NUWUxFW3JdKSxcbiAgW29dOiBPYmplY3Qua2V5cyhQUkVGSVhfVE9fTE9OR19TVFlMRVtvXSlcbn07XG5mdW5jdGlvbiBnZXRDYW5vbmljYWxJY29uKHZhbHVlcykge1xuICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgY29uc3Qge1xuICAgIHNraXBMb29rdXBzID0gZmFsc2VcbiAgfSA9IHBhcmFtcztcbiAgY29uc3QgZmFtUHJvcHMgPSB7XG4gICAgW2FdOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KGEpLFxuICAgIFtyXTogXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItXCIpLmNvbmNhdChyKSxcbiAgICBbb106IFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQobylcbiAgfTtcbiAgbGV0IGdpdmVuUHJlZml4ID0gbnVsbDtcbiAgbGV0IGZhbWlseSA9IGE7XG4gIGNvbnN0IG5vbkR1b3RvbmVGYW1pbHlJZHMgPSBjLmZpbHRlcihmYW1pbHlJZCA9PiBmYW1pbHlJZCAhPT0gdCk7XG4gIG5vbkR1b3RvbmVGYW1pbHlJZHMuZm9yRWFjaChmYW1pbHlJZCA9PiB7XG4gICAgaWYgKHZhbHVlcy5pbmNsdWRlcyhmYW1Qcm9wc1tmYW1pbHlJZF0pIHx8IHZhbHVlcy5zb21lKHYkJDEgPT4gUFJFRklYRVNfRk9SX0ZBTUlMWVtmYW1pbHlJZF0uaW5jbHVkZXModiQkMSkpKSB7XG4gICAgICBmYW1pbHkgPSBmYW1pbHlJZDtcbiAgICB9XG4gIH0pO1xuICBjb25zdCBjYW5vbmljYWwgPSB2YWx1ZXMucmVkdWNlKChhY2MsIGNscykgPT4ge1xuICAgIGNvbnN0IGljb25OYW1lID0gZ2V0SWNvbk5hbWUoY29uZmlnLmNzc1ByZWZpeCwgY2xzKTtcblxuICAgIGlmIChzdHlsZXNbY2xzXSkge1xuICAgICAgY2xzID0gTE9OR19TVFlMRVtmYW1pbHldLmluY2x1ZGVzKGNscykgPyBMT05HX1NUWUxFX1RPX1BSRUZJWFtmYW1pbHldW2Nsc10gOiBjbHM7XG4gICAgICBnaXZlblByZWZpeCA9IGNscztcbiAgICAgIGFjYy5wcmVmaXggPSBjbHM7XG4gICAgfSBlbHNlIGlmIChQUkVGSVhFU1tmYW1pbHldLmluZGV4T2YoY2xzKSA+IC0xKSB7XG4gICAgICBnaXZlblByZWZpeCA9IGNscztcbiAgICAgIGFjYy5wcmVmaXggPSBnZXRDYW5vbmljYWxQcmVmaXgoY2xzLCB7XG4gICAgICAgIGZhbWlseVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpY29uTmFtZSkge1xuICAgICAgYWNjLmljb25OYW1lID0gaWNvbk5hbWU7XG4gICAgfSBlbHNlIGlmIChjbHMgIT09IGNvbmZpZy5yZXBsYWNlbWVudENsYXNzICYmICFub25EdW90b25lRmFtaWx5SWRzLnNvbWUoZmFtaWx5TmFtZSA9PiBjbHMgPT09IGZhbVByb3BzW2ZhbWlseU5hbWVdKSkge1xuICAgICAgYWNjLnJlc3QucHVzaChjbHMpO1xuICAgIH1cblxuICAgIGlmICghc2tpcExvb2t1cHMgJiYgYWNjLnByZWZpeCAmJiBhY2MuaWNvbk5hbWUpIHtcbiAgICAgIGNvbnN0IHNoaW0gPSBnaXZlblByZWZpeCA9PT0gJ2ZhJyA/IGJ5T2xkTmFtZShhY2MuaWNvbk5hbWUpIDoge307XG4gICAgICBjb25zdCBhbGlhc0ljb25OYW1lID0gYnlBbGlhcyhhY2MucHJlZml4LCBhY2MuaWNvbk5hbWUpO1xuXG4gICAgICBpZiAoc2hpbS5wcmVmaXgpIHtcbiAgICAgICAgZ2l2ZW5QcmVmaXggPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBhY2MuaWNvbk5hbWUgPSBzaGltLmljb25OYW1lIHx8IGFsaWFzSWNvbk5hbWUgfHwgYWNjLmljb25OYW1lO1xuICAgICAgYWNjLnByZWZpeCA9IHNoaW0ucHJlZml4IHx8IGFjYy5wcmVmaXg7XG5cbiAgICAgIGlmIChhY2MucHJlZml4ID09PSAnZmFyJyAmJiAhc3R5bGVzWydmYXInXSAmJiBzdHlsZXNbJ2ZhcyddICYmICFjb25maWcuYXV0b0ZldGNoU3ZnKSB7XG4gICAgICAgIC8vIEFsbG93IGEgZmFsbGJhY2sgZnJvbSB0aGUgcmVndWxhciBzdHlsZSB0byBzb2xpZCBpZiByZWd1bGFyIGlzIG5vdCBhdmFpbGFibGVcbiAgICAgICAgLy8gYnV0IG9ubHkgaWYgd2UgYXJlbid0IGF1dG8tZmV0Y2hpbmcgU1ZHc1xuICAgICAgICBhY2MucHJlZml4ID0gJ2Zhcyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgZW1wdHlDYW5vbmljYWxJY29uKCkpO1xuXG4gIGlmICh2YWx1ZXMuaW5jbHVkZXMoJ2ZhLWJyYW5kcycpIHx8IHZhbHVlcy5pbmNsdWRlcygnZmFiJykpIHtcbiAgICBjYW5vbmljYWwucHJlZml4ID0gJ2ZhYic7XG4gIH1cblxuICBpZiAodmFsdWVzLmluY2x1ZGVzKCdmYS1kdW90b25lJykgfHwgdmFsdWVzLmluY2x1ZGVzKCdmYWQnKSkge1xuICAgIGNhbm9uaWNhbC5wcmVmaXggPSAnZmFkJztcbiAgfVxuXG4gIGlmICghY2Fub25pY2FsLnByZWZpeCAmJiBmYW1pbHkgPT09IHIgJiYgKHN0eWxlc1snZmFzcyddIHx8IGNvbmZpZy5hdXRvRmV0Y2hTdmcpKSB7XG4gICAgY2Fub25pY2FsLnByZWZpeCA9ICdmYXNzJztcbiAgICBjYW5vbmljYWwuaWNvbk5hbWUgPSBieUFsaWFzKGNhbm9uaWNhbC5wcmVmaXgsIGNhbm9uaWNhbC5pY29uTmFtZSkgfHwgY2Fub25pY2FsLmljb25OYW1lO1xuICB9XG5cbiAgaWYgKCFjYW5vbmljYWwucHJlZml4ICYmIGZhbWlseSA9PT0gbyAmJiAoc3R5bGVzWydmYXNkcyddIHx8IGNvbmZpZy5hdXRvRmV0Y2hTdmcpKSB7XG4gICAgY2Fub25pY2FsLnByZWZpeCA9ICdmYXNkcyc7XG4gICAgY2Fub25pY2FsLmljb25OYW1lID0gYnlBbGlhcyhjYW5vbmljYWwucHJlZml4LCBjYW5vbmljYWwuaWNvbk5hbWUpIHx8IGNhbm9uaWNhbC5pY29uTmFtZTtcbiAgfVxuXG4gIGlmIChjYW5vbmljYWwucHJlZml4ID09PSAnZmEnIHx8IGdpdmVuUHJlZml4ID09PSAnZmEnKSB7XG4gICAgLy8gVGhlIGZhIHByZWZpeCBpcyBub3QgY2Fub25pY2FsLiBTbyBpZiBpdCBoYXMgbWFkZSBpdCB0aHJvdWdoIHVudGlsIHRoaXMgcG9pbnRcbiAgICAvLyB3ZSB3aWxsIHNoaWZ0IGl0IHRvIHRoZSBjb3JyZWN0IHByZWZpeC5cbiAgICBjYW5vbmljYWwucHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpIHx8ICdmYXMnO1xuICB9XG5cbiAgcmV0dXJuIGNhbm9uaWNhbDtcbn1cblxuY2xhc3MgTGlicmFyeSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVmaW5pdGlvbnMgPSB7fTtcbiAgfVxuXG4gIGFkZCgpIHtcbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgZGVmaW5pdGlvbnMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBkZWZpbml0aW9uc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBjb25zdCBhZGRpdGlvbnMgPSBkZWZpbml0aW9ucy5yZWR1Y2UodGhpcy5fcHVsbERlZmluaXRpb25zLCB7fSk7XG4gICAgT2JqZWN0LmtleXMoYWRkaXRpb25zKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICB0aGlzLmRlZmluaXRpb25zW2tleV0gPSB7IC4uLih0aGlzLmRlZmluaXRpb25zW2tleV0gfHwge30pLFxuICAgICAgICAuLi5hZGRpdGlvbnNba2V5XVxuICAgICAgfTtcbiAgICAgIGRlZmluZUljb25zKGtleSwgYWRkaXRpb25zW2tleV0pOyAvLyBUT0RPIGNhbiB3ZSBzdG9wIGRvaW5nIHRoaXM/IFdlIGNhbid0IGdldCB0aGUgaWNvbnMgYnkgJ2ZhLXNvbGlkJyBhbnkgbG9uZ2VyIHNvIHRoaXMgcHJvYmFibHkgbmVlZHMgdG8gY2hhbmdlXG5cbiAgICAgIGNvbnN0IGxvbmdQcmVmaXggPSBQUkVGSVhfVE9fTE9OR19TVFlMRVthXVtrZXldO1xuICAgICAgaWYgKGxvbmdQcmVmaXgpIGRlZmluZUljb25zKGxvbmdQcmVmaXgsIGFkZGl0aW9uc1trZXldKTtcbiAgICAgIGJ1aWxkKCk7XG4gICAgfSk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLmRlZmluaXRpb25zID0ge307XG4gIH1cblxuICBfcHVsbERlZmluaXRpb25zKGFkZGl0aW9ucywgZGVmaW5pdGlvbikge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBkZWZpbml0aW9uLnByZWZpeCAmJiBkZWZpbml0aW9uLmljb25OYW1lICYmIGRlZmluaXRpb24uaWNvbiA/IHtcbiAgICAgIDA6IGRlZmluaXRpb25cbiAgICB9IDogZGVmaW5pdGlvbjtcbiAgICBPYmplY3Qua2V5cyhub3JtYWxpemVkKS5tYXAoa2V5ID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpY29uTmFtZSxcbiAgICAgICAgaWNvblxuICAgICAgfSA9IG5vcm1hbGl6ZWRba2V5XTtcbiAgICAgIGNvbnN0IGFsaWFzZXMgPSBpY29uWzJdO1xuICAgICAgaWYgKCFhZGRpdGlvbnNbcHJlZml4XSkgYWRkaXRpb25zW3ByZWZpeF0gPSB7fTtcblxuICAgICAgaWYgKGFsaWFzZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBhbGlhc2VzLmZvckVhY2goYWxpYXMgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgYWxpYXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBhZGRpdGlvbnNbcHJlZml4XVthbGlhc10gPSBpY29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGFkZGl0aW9uc1twcmVmaXhdW2ljb25OYW1lXSA9IGljb247XG4gICAgfSk7XG4gICAgcmV0dXJuIGFkZGl0aW9ucztcbiAgfVxuXG59XG5cbmxldCBfcGx1Z2lucyA9IFtdO1xubGV0IF9ob29rcyA9IHt9O1xuY29uc3QgcHJvdmlkZXJzID0ge307XG5jb25zdCBkZWZhdWx0UHJvdmlkZXJLZXlzID0gT2JqZWN0LmtleXMocHJvdmlkZXJzKTtcbmZ1bmN0aW9uIHJlZ2lzdGVyUGx1Z2lucyhuZXh0UGx1Z2lucywgX3JlZikge1xuICBsZXQge1xuICAgIG1peG91dHNUbzogb2JqXG4gIH0gPSBfcmVmO1xuICBfcGx1Z2lucyA9IG5leHRQbHVnaW5zO1xuICBfaG9va3MgPSB7fTtcbiAgT2JqZWN0LmtleXMocHJvdmlkZXJzKS5mb3JFYWNoKGsgPT4ge1xuICAgIGlmIChkZWZhdWx0UHJvdmlkZXJLZXlzLmluZGV4T2YoaykgPT09IC0xKSB7XG4gICAgICBkZWxldGUgcHJvdmlkZXJzW2tdO1xuICAgIH1cbiAgfSk7XG5cbiAgX3BsdWdpbnMuZm9yRWFjaChwbHVnaW4gPT4ge1xuICAgIGNvbnN0IG1peG91dCA9IHBsdWdpbi5taXhvdXQgPyBwbHVnaW4ubWl4b3V0KCkgOiB7fTtcbiAgICBPYmplY3Qua2V5cyhtaXhvdXQpLmZvckVhY2godGsgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBtaXhvdXRbdGtdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9ialt0a10gPSBtaXhvdXRbdGtdO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIG1peG91dFt0a10gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKG1peG91dFt0a10pLmZvckVhY2goc2sgPT4ge1xuICAgICAgICAgIGlmICghb2JqW3RrXSkge1xuICAgICAgICAgICAgb2JqW3RrXSA9IHt9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG9ialt0a11bc2tdID0gbWl4b3V0W3RrXVtza107XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHBsdWdpbi5ob29rcykge1xuICAgICAgY29uc3QgaG9va3MgPSBwbHVnaW4uaG9va3MoKTtcbiAgICAgIE9iamVjdC5rZXlzKGhvb2tzKS5mb3JFYWNoKGhvb2sgPT4ge1xuICAgICAgICBpZiAoIV9ob29rc1tob29rXSkge1xuICAgICAgICAgIF9ob29rc1tob29rXSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgX2hvb2tzW2hvb2tdLnB1c2goaG9va3NbaG9va10pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBsdWdpbi5wcm92aWRlcykge1xuICAgICAgcGx1Z2luLnByb3ZpZGVzKHByb3ZpZGVycyk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gb2JqO1xufVxuZnVuY3Rpb24gY2hhaW5Ib29rcyhob29rLCBhY2N1bXVsYXRvcikge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMiA/IF9sZW4gLSAyIDogMCksIF9rZXkgPSAyOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgYXJnc1tfa2V5IC0gMl0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICBjb25zdCBob29rRm5zID0gX2hvb2tzW2hvb2tdIHx8IFtdO1xuICBob29rRm5zLmZvckVhY2goaG9va0ZuID0+IHtcbiAgICBhY2N1bXVsYXRvciA9IGhvb2tGbi5hcHBseShudWxsLCBbYWNjdW11bGF0b3IsIC4uLmFyZ3NdKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11c2VsZXNzLWNhbGxcbiAgfSk7XG4gIHJldHVybiBhY2N1bXVsYXRvcjtcbn1cbmZ1bmN0aW9uIGNhbGxIb29rcyhob29rKSB7XG4gIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgYXJnc1tfa2V5MiAtIDFdID0gYXJndW1lbnRzW19rZXkyXTtcbiAgfVxuXG4gIGNvbnN0IGhvb2tGbnMgPSBfaG9va3NbaG9va10gfHwgW107XG4gIGhvb2tGbnMuZm9yRWFjaChob29rRm4gPT4ge1xuICAgIGhvb2tGbi5hcHBseShudWxsLCBhcmdzKTtcbiAgfSk7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBjYWxsUHJvdmlkZWQoKSB7XG4gIGNvbnN0IGhvb2sgPSBhcmd1bWVudHNbMF07XG4gIGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuICByZXR1cm4gcHJvdmlkZXJzW2hvb2tdID8gcHJvdmlkZXJzW2hvb2tdLmFwcGx5KG51bGwsIGFyZ3MpIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBmaW5kSWNvbkRlZmluaXRpb24oaWNvbkxvb2t1cCkge1xuICBpZiAoaWNvbkxvb2t1cC5wcmVmaXggPT09ICdmYScpIHtcbiAgICBpY29uTG9va3VwLnByZWZpeCA9ICdmYXMnO1xuICB9XG5cbiAgbGV0IHtcbiAgICBpY29uTmFtZVxuICB9ID0gaWNvbkxvb2t1cDtcbiAgY29uc3QgcHJlZml4ID0gaWNvbkxvb2t1cC5wcmVmaXggfHwgZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuICBpZiAoIWljb25OYW1lKSByZXR1cm47XG4gIGljb25OYW1lID0gYnlBbGlhcyhwcmVmaXgsIGljb25OYW1lKSB8fCBpY29uTmFtZTtcbiAgcmV0dXJuIGljb25Gcm9tTWFwcGluZyhsaWJyYXJ5LmRlZmluaXRpb25zLCBwcmVmaXgsIGljb25OYW1lKSB8fCBpY29uRnJvbU1hcHBpbmcobmFtZXNwYWNlLnN0eWxlcywgcHJlZml4LCBpY29uTmFtZSk7XG59XG5jb25zdCBsaWJyYXJ5ID0gbmV3IExpYnJhcnkoKTtcbmNvbnN0IG5vQXV0byA9ICgpID0+IHtcbiAgY29uZmlnLmF1dG9SZXBsYWNlU3ZnID0gZmFsc2U7XG4gIGNvbmZpZy5vYnNlcnZlTXV0YXRpb25zID0gZmFsc2U7XG4gIGNhbGxIb29rcygnbm9BdXRvJyk7XG59O1xuY29uc3QgZG9tID0ge1xuICBpMnN2ZzogZnVuY3Rpb24gKCkge1xuICAgIGxldCBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuXG4gICAgaWYgKElTX0RPTSkge1xuICAgICAgY2FsbEhvb2tzKCdiZWZvcmVJMnN2ZycsIHBhcmFtcyk7XG4gICAgICBjYWxsUHJvdmlkZWQoJ3BzZXVkb0VsZW1lbnRzMnN2ZycsIHBhcmFtcyk7XG4gICAgICByZXR1cm4gY2FsbFByb3ZpZGVkKCdpMnN2ZycsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ09wZXJhdGlvbiByZXF1aXJlcyBhIERPTSBvZiBzb21lIGtpbmQuJykpO1xuICAgIH1cbiAgfSxcbiAgd2F0Y2g6IGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICBjb25zdCB7XG4gICAgICBhdXRvUmVwbGFjZVN2Z1Jvb3RcbiAgICB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKGNvbmZpZy5hdXRvUmVwbGFjZVN2ZyA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbmZpZy5hdXRvUmVwbGFjZVN2ZyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uZmlnLm9ic2VydmVNdXRhdGlvbnMgPSB0cnVlO1xuICAgIGRvbXJlYWR5KCgpID0+IHtcbiAgICAgIGF1dG9SZXBsYWNlKHtcbiAgICAgICAgYXV0b1JlcGxhY2VTdmdSb290XG4gICAgICB9KTtcbiAgICAgIGNhbGxIb29rcygnd2F0Y2gnLCBwYXJhbXMpO1xuICAgIH0pO1xuICB9XG59O1xuY29uc3QgcGFyc2UgPSB7XG4gIGljb246IGljb24gPT4ge1xuICAgIGlmIChpY29uID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGljb24gPT09ICdvYmplY3QnICYmIGljb24ucHJlZml4ICYmIGljb24uaWNvbk5hbWUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeDogaWNvbi5wcmVmaXgsXG4gICAgICAgIGljb25OYW1lOiBieUFsaWFzKGljb24ucHJlZml4LCBpY29uLmljb25OYW1lKSB8fCBpY29uLmljb25OYW1lXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGljb24pICYmIGljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBpY29uTmFtZSA9IGljb25bMV0uaW5kZXhPZignZmEtJykgPT09IDAgPyBpY29uWzFdLnNsaWNlKDMpIDogaWNvblsxXTtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGdldENhbm9uaWNhbFByZWZpeChpY29uWzBdKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByZWZpeCxcbiAgICAgICAgaWNvbk5hbWU6IGJ5QWxpYXMocHJlZml4LCBpY29uTmFtZSkgfHwgaWNvbk5hbWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpY29uID09PSAnc3RyaW5nJyAmJiAoaWNvbi5pbmRleE9mKFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKSkgPiAtMSB8fCBpY29uLm1hdGNoKElDT05fU0VMRUNUSU9OX1NZTlRBWF9QQVRURVJOKSkpIHtcbiAgICAgIGNvbnN0IGNhbm9uaWNhbEljb24gPSBnZXRDYW5vbmljYWxJY29uKGljb24uc3BsaXQoJyAnKSwge1xuICAgICAgICBza2lwTG9va3VwczogdHJ1ZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcmVmaXg6IGNhbm9uaWNhbEljb24ucHJlZml4IHx8IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKSxcbiAgICAgICAgaWNvbk5hbWU6IGJ5QWxpYXMoY2Fub25pY2FsSWNvbi5wcmVmaXgsIGNhbm9uaWNhbEljb24uaWNvbk5hbWUpIHx8IGNhbm9uaWNhbEljb24uaWNvbk5hbWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpY29uID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcHJlZml4ID0gZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCgpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpY29uTmFtZTogYnlBbGlhcyhwcmVmaXgsIGljb24pIHx8IGljb25cbiAgICAgIH07XG4gICAgfVxuICB9XG59O1xuY29uc3QgYXBpID0ge1xuICBub0F1dG8sXG4gIGNvbmZpZyxcbiAgZG9tLFxuICBwYXJzZSxcbiAgbGlicmFyeSxcbiAgZmluZEljb25EZWZpbml0aW9uLFxuICB0b0h0bWxcbn07XG5cbmNvbnN0IGF1dG9SZXBsYWNlID0gZnVuY3Rpb24gKCkge1xuICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgY29uc3Qge1xuICAgIGF1dG9SZXBsYWNlU3ZnUm9vdCA9IERPQ1VNRU5UXG4gIH0gPSBwYXJhbXM7XG4gIGlmICgoT2JqZWN0LmtleXMobmFtZXNwYWNlLnN0eWxlcykubGVuZ3RoID4gMCB8fCBjb25maWcuYXV0b0ZldGNoU3ZnKSAmJiBJU19ET00gJiYgY29uZmlnLmF1dG9SZXBsYWNlU3ZnKSBhcGkuZG9tLmkyc3ZnKHtcbiAgICBub2RlOiBhdXRvUmVwbGFjZVN2Z1Jvb3RcbiAgfSk7XG59O1xuXG5mdW5jdGlvbiBkb21WYXJpYW50cyh2YWwsIGFic3RyYWN0Q3JlYXRvcikge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsLCAnYWJzdHJhY3QnLCB7XG4gICAgZ2V0OiBhYnN0cmFjdENyZWF0b3JcbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWwsICdodG1sJywge1xuICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHZhbC5hYnN0cmFjdC5tYXAoYSA9PiB0b0h0bWwoYSkpO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWwsICdub2RlJywge1xuICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFJU19ET00pIHJldHVybjtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IHZhbC5odG1sO1xuICAgICAgcmV0dXJuIGNvbnRhaW5lci5jaGlsZHJlbjtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdmFsO1xufVxuXG5mdW5jdGlvbiBhc0ljb24gKF9yZWYpIHtcbiAgbGV0IHtcbiAgICBjaGlsZHJlbixcbiAgICBtYWluLFxuICAgIG1hc2ssXG4gICAgYXR0cmlidXRlcyxcbiAgICBzdHlsZXMsXG4gICAgdHJhbnNmb3JtXG4gIH0gPSBfcmVmO1xuXG4gIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSAmJiBtYWluLmZvdW5kICYmICFtYXNrLmZvdW5kKSB7XG4gICAgY29uc3Qge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICB9ID0gbWFpbjtcbiAgICBjb25zdCBvZmZzZXQgPSB7XG4gICAgICB4OiB3aWR0aCAvIGhlaWdodCAvIDIsXG4gICAgICB5OiAwLjVcbiAgICB9O1xuICAgIGF0dHJpYnV0ZXNbJ3N0eWxlJ10gPSBqb2luU3R5bGVzKHsgLi4uc3R5bGVzLFxuICAgICAgJ3RyYW5zZm9ybS1vcmlnaW4nOiBcIlwiLmNvbmNhdChvZmZzZXQueCArIHRyYW5zZm9ybS54IC8gMTYsIFwiZW0gXCIpLmNvbmNhdChvZmZzZXQueSArIHRyYW5zZm9ybS55IC8gMTYsIFwiZW1cIilcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBbe1xuICAgIHRhZzogJ3N2ZycsXG4gICAgYXR0cmlidXRlcyxcbiAgICBjaGlsZHJlblxuICB9XTtcbn1cblxuZnVuY3Rpb24gYXNTeW1ib2wgKF9yZWYpIHtcbiAgbGV0IHtcbiAgICBwcmVmaXgsXG4gICAgaWNvbk5hbWUsXG4gICAgY2hpbGRyZW4sXG4gICAgYXR0cmlidXRlcyxcbiAgICBzeW1ib2xcbiAgfSA9IF9yZWY7XG4gIGNvbnN0IGlkID0gc3ltYm9sID09PSB0cnVlID8gXCJcIi5jb25jYXQocHJlZml4LCBcIi1cIikuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoaWNvbk5hbWUpIDogc3ltYm9sO1xuICByZXR1cm4gW3tcbiAgICB0YWc6ICdzdmcnLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIHN0eWxlOiAnZGlzcGxheTogbm9uZTsnXG4gICAgfSxcbiAgICBjaGlsZHJlbjogW3tcbiAgICAgIHRhZzogJ3N5bWJvbCcsXG4gICAgICBhdHRyaWJ1dGVzOiB7IC4uLmF0dHJpYnV0ZXMsXG4gICAgICAgIGlkXG4gICAgICB9LFxuICAgICAgY2hpbGRyZW5cbiAgICB9XVxuICB9XTtcbn1cblxuZnVuY3Rpb24gbWFrZUlubGluZVN2Z0Fic3RyYWN0KHBhcmFtcykge1xuICBjb25zdCB7XG4gICAgaWNvbnM6IHtcbiAgICAgIG1haW4sXG4gICAgICBtYXNrXG4gICAgfSxcbiAgICBwcmVmaXgsXG4gICAgaWNvbk5hbWUsXG4gICAgdHJhbnNmb3JtLFxuICAgIHN5bWJvbCxcbiAgICB0aXRsZSxcbiAgICBtYXNrSWQsXG4gICAgdGl0bGVJZCxcbiAgICBleHRyYSxcbiAgICB3YXRjaGFibGUgPSBmYWxzZVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH0gPSBtYXNrLmZvdW5kID8gbWFzayA6IG1haW47XG4gIGNvbnN0IGlzVXBsb2FkZWRJY29uID0gcHJlZml4ID09PSAnZmFrJztcbiAgY29uc3QgYXR0ckNsYXNzID0gW2NvbmZpZy5yZXBsYWNlbWVudENsYXNzLCBpY29uTmFtZSA/IFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoaWNvbk5hbWUpIDogJyddLmZpbHRlcihjID0+IGV4dHJhLmNsYXNzZXMuaW5kZXhPZihjKSA9PT0gLTEpLmZpbHRlcihjID0+IGMgIT09ICcnIHx8ICEhYykuY29uY2F0KGV4dHJhLmNsYXNzZXMpLmpvaW4oJyAnKTtcbiAgbGV0IGNvbnRlbnQgPSB7XG4gICAgY2hpbGRyZW46IFtdLFxuICAgIGF0dHJpYnV0ZXM6IHsgLi4uZXh0cmEuYXR0cmlidXRlcyxcbiAgICAgICdkYXRhLXByZWZpeCc6IHByZWZpeCxcbiAgICAgICdkYXRhLWljb24nOiBpY29uTmFtZSxcbiAgICAgICdjbGFzcyc6IGF0dHJDbGFzcyxcbiAgICAgICdyb2xlJzogZXh0cmEuYXR0cmlidXRlcy5yb2xlIHx8ICdpbWcnLFxuICAgICAgJ3htbG5zJzogJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyxcbiAgICAgICd2aWV3Qm94JzogXCIwIDAgXCIuY29uY2F0KHdpZHRoLCBcIiBcIikuY29uY2F0KGhlaWdodClcbiAgICB9XG4gIH07XG4gIGNvbnN0IHVwbG9hZGVkSWNvbldpZHRoU3R5bGUgPSBpc1VwbG9hZGVkSWNvbiAmJiAhfmV4dHJhLmNsYXNzZXMuaW5kZXhPZignZmEtZncnKSA/IHtcbiAgICB3aWR0aDogXCJcIi5jb25jYXQod2lkdGggLyBoZWlnaHQgKiAxNiAqIDAuMDYyNSwgXCJlbVwiKVxuICB9IDoge307XG5cbiAgaWYgKHdhdGNoYWJsZSkge1xuICAgIGNvbnRlbnQuYXR0cmlidXRlc1tEQVRBX0ZBX0kyU1ZHXSA9ICcnO1xuICB9XG5cbiAgaWYgKHRpdGxlKSB7XG4gICAgY29udGVudC5jaGlsZHJlbi5wdXNoKHtcbiAgICAgIHRhZzogJ3RpdGxlJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgaWQ6IGNvbnRlbnQuYXR0cmlidXRlc1snYXJpYS1sYWJlbGxlZGJ5J10gfHwgXCJ0aXRsZS1cIi5jb25jYXQodGl0bGVJZCB8fCBuZXh0VW5pcXVlSWQoKSlcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3RpdGxlXVxuICAgIH0pO1xuICAgIGRlbGV0ZSBjb250ZW50LmF0dHJpYnV0ZXMudGl0bGU7XG4gIH1cblxuICBjb25zdCBhcmdzID0geyAuLi5jb250ZW50LFxuICAgIHByZWZpeCxcbiAgICBpY29uTmFtZSxcbiAgICBtYWluLFxuICAgIG1hc2ssXG4gICAgbWFza0lkLFxuICAgIHRyYW5zZm9ybSxcbiAgICBzeW1ib2wsXG4gICAgc3R5bGVzOiB7IC4uLnVwbG9hZGVkSWNvbldpZHRoU3R5bGUsXG4gICAgICAuLi5leHRyYS5zdHlsZXNcbiAgICB9XG4gIH07XG4gIGNvbnN0IHtcbiAgICBjaGlsZHJlbixcbiAgICBhdHRyaWJ1dGVzXG4gIH0gPSBtYXNrLmZvdW5kICYmIG1haW4uZm91bmQgPyBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlQWJzdHJhY3RNYXNrJywgYXJncykgfHwge1xuICAgIGNoaWxkcmVuOiBbXSxcbiAgICBhdHRyaWJ1dGVzOiB7fVxuICB9IDogY2FsbFByb3ZpZGVkKCdnZW5lcmF0ZUFic3RyYWN0SWNvbicsIGFyZ3MpIHx8IHtcbiAgICBjaGlsZHJlbjogW10sXG4gICAgYXR0cmlidXRlczoge31cbiAgfTtcbiAgYXJncy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICBhcmdzLmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuXG4gIGlmIChzeW1ib2wpIHtcbiAgICByZXR1cm4gYXNTeW1ib2woYXJncyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGFzSWNvbihhcmdzKTtcbiAgfVxufVxuZnVuY3Rpb24gbWFrZUxheWVyc1RleHRBYnN0cmFjdChwYXJhbXMpIHtcbiAgY29uc3Qge1xuICAgIGNvbnRlbnQsXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHRyYW5zZm9ybSxcbiAgICB0aXRsZSxcbiAgICBleHRyYSxcbiAgICB3YXRjaGFibGUgPSBmYWxzZVxuICB9ID0gcGFyYW1zO1xuICBjb25zdCBhdHRyaWJ1dGVzID0geyAuLi5leHRyYS5hdHRyaWJ1dGVzLFxuICAgIC4uLih0aXRsZSA/IHtcbiAgICAgICd0aXRsZSc6IHRpdGxlXG4gICAgfSA6IHt9KSxcbiAgICAnY2xhc3MnOiBleHRyYS5jbGFzc2VzLmpvaW4oJyAnKVxuICB9O1xuXG4gIGlmICh3YXRjaGFibGUpIHtcbiAgICBhdHRyaWJ1dGVzW0RBVEFfRkFfSTJTVkddID0gJyc7XG4gIH1cblxuICBjb25zdCBzdHlsZXMgPSB7IC4uLmV4dHJhLnN0eWxlc1xuICB9O1xuXG4gIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSkge1xuICAgIHN0eWxlc1sndHJhbnNmb3JtJ10gPSB0cmFuc2Zvcm1Gb3JDc3Moe1xuICAgICAgdHJhbnNmb3JtLFxuICAgICAgc3RhcnRDZW50ZXJlZDogdHJ1ZSxcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0XG4gICAgfSk7XG4gICAgc3R5bGVzWyctd2Via2l0LXRyYW5zZm9ybSddID0gc3R5bGVzWyd0cmFuc2Zvcm0nXTtcbiAgfVxuXG4gIGNvbnN0IHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhzdHlsZXMpO1xuXG4gIGlmIChzdHlsZVN0cmluZy5sZW5ndGggPiAwKSB7XG4gICAgYXR0cmlidXRlc1snc3R5bGUnXSA9IHN0eWxlU3RyaW5nO1xuICB9XG5cbiAgY29uc3QgdmFsID0gW107XG4gIHZhbC5wdXNoKHtcbiAgICB0YWc6ICdzcGFuJyxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIGNoaWxkcmVuOiBbY29udGVudF1cbiAgfSk7XG5cbiAgaWYgKHRpdGxlKSB7XG4gICAgdmFsLnB1c2goe1xuICAgICAgdGFnOiAnc3BhbicsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnc3Itb25seSdcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3RpdGxlXVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbDtcbn1cbmZ1bmN0aW9uIG1ha2VMYXllcnNDb3VudGVyQWJzdHJhY3QocGFyYW1zKSB7XG4gIGNvbnN0IHtcbiAgICBjb250ZW50LFxuICAgIHRpdGxlLFxuICAgIGV4dHJhXG4gIH0gPSBwYXJhbXM7XG4gIGNvbnN0IGF0dHJpYnV0ZXMgPSB7IC4uLmV4dHJhLmF0dHJpYnV0ZXMsXG4gICAgLi4uKHRpdGxlID8ge1xuICAgICAgJ3RpdGxlJzogdGl0bGVcbiAgICB9IDoge30pLFxuICAgICdjbGFzcyc6IGV4dHJhLmNsYXNzZXMuam9pbignICcpXG4gIH07XG4gIGNvbnN0IHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhleHRyYS5zdHlsZXMpO1xuXG4gIGlmIChzdHlsZVN0cmluZy5sZW5ndGggPiAwKSB7XG4gICAgYXR0cmlidXRlc1snc3R5bGUnXSA9IHN0eWxlU3RyaW5nO1xuICB9XG5cbiAgY29uc3QgdmFsID0gW107XG4gIHZhbC5wdXNoKHtcbiAgICB0YWc6ICdzcGFuJyxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIGNoaWxkcmVuOiBbY29udGVudF1cbiAgfSk7XG5cbiAgaWYgKHRpdGxlKSB7XG4gICAgdmFsLnB1c2goe1xuICAgICAgdGFnOiAnc3BhbicsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnc3Itb25seSdcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW3RpdGxlXVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbDtcbn1cblxuY29uc3Qge1xuICBzdHlsZXM6IHN0eWxlcyQxXG59ID0gbmFtZXNwYWNlO1xuZnVuY3Rpb24gYXNGb3VuZEljb24oaWNvbikge1xuICBjb25zdCB3aWR0aCA9IGljb25bMF07XG4gIGNvbnN0IGhlaWdodCA9IGljb25bMV07XG4gIGNvbnN0IFt2ZWN0b3JEYXRhXSA9IGljb24uc2xpY2UoNCk7XG4gIGxldCBlbGVtZW50ID0gbnVsbDtcblxuICBpZiAoQXJyYXkuaXNBcnJheSh2ZWN0b3JEYXRhKSkge1xuICAgIGVsZW1lbnQgPSB7XG4gICAgICB0YWc6ICdnJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6IFwiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLVwiKS5jb25jYXQoRFVPVE9ORV9DTEFTU0VTLkdST1VQKVxuICAgICAgfSxcbiAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGNsYXNzOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KERVT1RPTkVfQ0xBU1NFUy5TRUNPTkRBUlkpLFxuICAgICAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAgIGQ6IHZlY3RvckRhdGFbMF1cbiAgICAgICAgfVxuICAgICAgfSwge1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGNsYXNzOiBcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi1cIikuY29uY2F0KERVT1RPTkVfQ0xBU1NFUy5QUklNQVJZKSxcbiAgICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgICBkOiB2ZWN0b3JEYXRhWzFdXG4gICAgICAgIH1cbiAgICAgIH1dXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBlbGVtZW50ID0ge1xuICAgICAgdGFnOiAncGF0aCcsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICBkOiB2ZWN0b3JEYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZm91bmQ6IHRydWUsXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIGljb246IGVsZW1lbnRcbiAgfTtcbn1cbmNvbnN0IG1pc3NpbmdJY29uUmVzb2x1dGlvbk1peGluID0ge1xuICBmb3VuZDogZmFsc2UsXG4gIHdpZHRoOiA1MTIsXG4gIGhlaWdodDogNTEyXG59O1xuXG5mdW5jdGlvbiBtYXliZU5vdGlmeU1pc3NpbmcoaWNvbk5hbWUsIHByZWZpeCkge1xuICBpZiAoIVBST0RVQ1RJT04gJiYgIWNvbmZpZy5zaG93TWlzc2luZ0ljb25zICYmIGljb25OYW1lKSB7XG4gICAgY29uc29sZS5lcnJvcihcIkljb24gd2l0aCBuYW1lIFxcXCJcIi5jb25jYXQoaWNvbk5hbWUsIFwiXFxcIiBhbmQgcHJlZml4IFxcXCJcIikuY29uY2F0KHByZWZpeCwgXCJcXFwiIGlzIG1pc3NpbmcuXCIpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kSWNvbihpY29uTmFtZSwgcHJlZml4KSB7XG4gIGxldCBnaXZlblByZWZpeCA9IHByZWZpeDtcblxuICBpZiAocHJlZml4ID09PSAnZmEnICYmIGNvbmZpZy5zdHlsZURlZmF1bHQgIT09IG51bGwpIHtcbiAgICBwcmVmaXggPSBnZXREZWZhdWx0VXNhYmxlUHJlZml4KCk7XG4gIH1cblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmIChnaXZlblByZWZpeCA9PT0gJ2ZhJykge1xuICAgICAgY29uc3Qgc2hpbSA9IGJ5T2xkTmFtZShpY29uTmFtZSkgfHwge307XG4gICAgICBpY29uTmFtZSA9IHNoaW0uaWNvbk5hbWUgfHwgaWNvbk5hbWU7XG4gICAgICBwcmVmaXggPSBzaGltLnByZWZpeCB8fCBwcmVmaXg7XG4gICAgfVxuXG4gICAgaWYgKGljb25OYW1lICYmIHByZWZpeCAmJiBzdHlsZXMkMVtwcmVmaXhdICYmIHN0eWxlcyQxW3ByZWZpeF1baWNvbk5hbWVdKSB7XG4gICAgICBjb25zdCBpY29uID0gc3R5bGVzJDFbcHJlZml4XVtpY29uTmFtZV07XG4gICAgICByZXR1cm4gcmVzb2x2ZShhc0ZvdW5kSWNvbihpY29uKSk7XG4gICAgfVxuXG4gICAgbWF5YmVOb3RpZnlNaXNzaW5nKGljb25OYW1lLCBwcmVmaXgpO1xuICAgIHJlc29sdmUoeyAuLi5taXNzaW5nSWNvblJlc29sdXRpb25NaXhpbixcbiAgICAgIGljb246IGNvbmZpZy5zaG93TWlzc2luZ0ljb25zICYmIGljb25OYW1lID8gY2FsbFByb3ZpZGVkKCdtaXNzaW5nSWNvbkFic3RyYWN0JykgfHwge30gOiB7fVxuICAgIH0pO1xuICB9KTtcbn1cblxuY29uc3Qgbm9vcCQxID0gKCkgPT4ge307XG5cbmNvbnN0IHAkMiA9IGNvbmZpZy5tZWFzdXJlUGVyZm9ybWFuY2UgJiYgUEVSRk9STUFOQ0UgJiYgUEVSRk9STUFOQ0UubWFyayAmJiBQRVJGT1JNQU5DRS5tZWFzdXJlID8gUEVSRk9STUFOQ0UgOiB7XG4gIG1hcms6IG5vb3AkMSxcbiAgbWVhc3VyZTogbm9vcCQxXG59O1xuY29uc3QgcHJlYW1ibGUgPSBcIkZBIFxcXCI2LjYuMFxcXCJcIjtcblxuY29uc3QgYmVnaW4gPSBuYW1lID0+IHtcbiAgcCQyLm1hcmsoXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSwgXCIgYmVnaW5zXCIpKTtcbiAgcmV0dXJuICgpID0+IGVuZChuYW1lKTtcbn07XG5cbmNvbnN0IGVuZCA9IG5hbWUgPT4ge1xuICBwJDIubWFyayhcIlwiLmNvbmNhdChwcmVhbWJsZSwgXCIgXCIpLmNvbmNhdChuYW1lLCBcIiBlbmRzXCIpKTtcbiAgcCQyLm1lYXN1cmUoXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSksIFwiXCIuY29uY2F0KHByZWFtYmxlLCBcIiBcIikuY29uY2F0KG5hbWUsIFwiIGJlZ2luc1wiKSwgXCJcIi5jb25jYXQocHJlYW1ibGUsIFwiIFwiKS5jb25jYXQobmFtZSwgXCIgZW5kc1wiKSk7XG59O1xuXG52YXIgcGVyZiA9IHtcbiAgYmVnaW4sXG4gIGVuZFxufTtcblxuY29uc3Qgbm9vcCQyID0gKCkgPT4ge307XG5cbmZ1bmN0aW9uIGlzV2F0Y2hlZChub2RlKSB7XG4gIGNvbnN0IGkyc3ZnID0gbm9kZS5nZXRBdHRyaWJ1dGUgPyBub2RlLmdldEF0dHJpYnV0ZShEQVRBX0ZBX0kyU1ZHKSA6IG51bGw7XG4gIHJldHVybiB0eXBlb2YgaTJzdmcgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBoYXNQcmVmaXhBbmRJY29uKG5vZGUpIHtcbiAgY29uc3QgcHJlZml4ID0gbm9kZS5nZXRBdHRyaWJ1dGUgPyBub2RlLmdldEF0dHJpYnV0ZShEQVRBX1BSRUZJWCkgOiBudWxsO1xuICBjb25zdCBpY29uID0gbm9kZS5nZXRBdHRyaWJ1dGUgPyBub2RlLmdldEF0dHJpYnV0ZShEQVRBX0lDT04pIDogbnVsbDtcbiAgcmV0dXJuIHByZWZpeCAmJiBpY29uO1xufVxuXG5mdW5jdGlvbiBoYXNCZWVuUmVwbGFjZWQobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLmNsYXNzTGlzdCAmJiBub2RlLmNsYXNzTGlzdC5jb250YWlucyAmJiBub2RlLmNsYXNzTGlzdC5jb250YWlucyhjb25maWcucmVwbGFjZW1lbnRDbGFzcyk7XG59XG5cbmZ1bmN0aW9uIGdldE11dGF0b3IoKSB7XG4gIGlmIChjb25maWcuYXV0b1JlcGxhY2VTdmcgPT09IHRydWUpIHtcbiAgICByZXR1cm4gbXV0YXRvcnMucmVwbGFjZTtcbiAgfVxuXG4gIGNvbnN0IG11dGF0b3IgPSBtdXRhdG9yc1tjb25maWcuYXV0b1JlcGxhY2VTdmddO1xuICByZXR1cm4gbXV0YXRvciB8fCBtdXRhdG9ycy5yZXBsYWNlO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50TlModGFnKSB7XG4gIHJldHVybiBET0NVTUVOVC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgdGFnKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0YWcpIHtcbiAgcmV0dXJuIERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnQodGFnKTtcbn1cblxuZnVuY3Rpb24gY29udmVydFNWRyhhYnN0cmFjdE9iaikge1xuICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgY29uc3Qge1xuICAgIGNlRm4gPSBhYnN0cmFjdE9iai50YWcgPT09ICdzdmcnID8gY3JlYXRlRWxlbWVudE5TIDogY3JlYXRlRWxlbWVudFxuICB9ID0gcGFyYW1zO1xuXG4gIGlmICh0eXBlb2YgYWJzdHJhY3RPYmogPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIERPQ1VNRU5ULmNyZWF0ZVRleHROb2RlKGFic3RyYWN0T2JqKTtcbiAgfVxuXG4gIGNvbnN0IHRhZyA9IGNlRm4oYWJzdHJhY3RPYmoudGFnKTtcbiAgT2JqZWN0LmtleXMoYWJzdHJhY3RPYmouYXR0cmlidXRlcyB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgdGFnLnNldEF0dHJpYnV0ZShrZXksIGFic3RyYWN0T2JqLmF0dHJpYnV0ZXNba2V5XSk7XG4gIH0pO1xuICBjb25zdCBjaGlsZHJlbiA9IGFic3RyYWN0T2JqLmNoaWxkcmVuIHx8IFtdO1xuICBjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIHRhZy5hcHBlbmRDaGlsZChjb252ZXJ0U1ZHKGNoaWxkLCB7XG4gICAgICBjZUZuXG4gICAgfSkpO1xuICB9KTtcbiAgcmV0dXJuIHRhZztcbn1cblxuZnVuY3Rpb24gbm9kZUFzQ29tbWVudChub2RlKSB7XG4gIGxldCBjb21tZW50ID0gXCIgXCIuY29uY2F0KG5vZGUub3V0ZXJIVE1MLCBcIiBcIik7XG4gIC8qIEJFR0lOLkFUVFJJQlVUSU9OICovXG5cbiAgY29tbWVudCA9IFwiXCIuY29uY2F0KGNvbW1lbnQsIFwiRm9udCBBd2Vzb21lIGZvbnRhd2Vzb21lLmNvbSBcIik7XG4gIC8qIEVORC5BVFRSSUJVVElPTiAqL1xuXG4gIHJldHVybiBjb21tZW50O1xufVxuXG5jb25zdCBtdXRhdG9ycyA9IHtcbiAgcmVwbGFjZTogZnVuY3Rpb24gKG11dGF0aW9uKSB7XG4gICAgY29uc3Qgbm9kZSA9IG11dGF0aW9uWzBdO1xuXG4gICAgaWYgKG5vZGUucGFyZW50Tm9kZSkge1xuICAgICAgbXV0YXRpb25bMV0uZm9yRWFjaChhYnN0cmFjdCA9PiB7XG4gICAgICAgIG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY29udmVydFNWRyhhYnN0cmFjdCksIG5vZGUpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChub2RlLmdldEF0dHJpYnV0ZShEQVRBX0ZBX0kyU1ZHKSA9PT0gbnVsbCAmJiBjb25maWcua2VlcE9yaWdpbmFsU291cmNlKSB7XG4gICAgICAgIGxldCBjb21tZW50ID0gRE9DVU1FTlQuY3JlYXRlQ29tbWVudChub2RlQXNDb21tZW50KG5vZGUpKTtcbiAgICAgICAgbm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChjb21tZW50LCBub2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUucmVtb3ZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBuZXN0OiBmdW5jdGlvbiAobXV0YXRpb24pIHtcbiAgICBjb25zdCBub2RlID0gbXV0YXRpb25bMF07XG4gICAgY29uc3QgYWJzdHJhY3QgPSBtdXRhdGlvblsxXTsgLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGEgcmVwbGFjZWQgbm9kZSB3ZSBkbyBub3Qgd2FudCB0byBjb250aW51ZSBuZXN0aW5nIHdpdGhpbiBpdC5cbiAgICAvLyBTaG9ydC1jaXJjdWl0IHRvIHRoZSBzdGFuZGFyZCByZXBsYWNlbWVudFxuXG4gICAgaWYgKH5jbGFzc0FycmF5KG5vZGUpLmluZGV4T2YoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MpKSB7XG4gICAgICByZXR1cm4gbXV0YXRvcnMucmVwbGFjZShtdXRhdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgZm9yU3ZnID0gbmV3IFJlZ0V4cChcIlwiLmNvbmNhdChjb25maWcuY3NzUHJlZml4LCBcIi0uKlwiKSk7XG4gICAgZGVsZXRlIGFic3RyYWN0WzBdLmF0dHJpYnV0ZXMuaWQ7XG5cbiAgICBpZiAoYWJzdHJhY3RbMF0uYXR0cmlidXRlcy5jbGFzcykge1xuICAgICAgY29uc3Qgc3BsaXRDbGFzc2VzID0gYWJzdHJhY3RbMF0uYXR0cmlidXRlcy5jbGFzcy5zcGxpdCgnICcpLnJlZHVjZSgoYWNjLCBjbHMpID0+IHtcbiAgICAgICAgaWYgKGNscyA9PT0gY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MgfHwgY2xzLm1hdGNoKGZvclN2ZykpIHtcbiAgICAgICAgICBhY2MudG9TdmcucHVzaChjbHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjYy50b05vZGUucHVzaChjbHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHtcbiAgICAgICAgdG9Ob2RlOiBbXSxcbiAgICAgICAgdG9Tdmc6IFtdXG4gICAgICB9KTtcbiAgICAgIGFic3RyYWN0WzBdLmF0dHJpYnV0ZXMuY2xhc3MgPSBzcGxpdENsYXNzZXMudG9Tdmcuam9pbignICcpO1xuXG4gICAgICBpZiAoc3BsaXRDbGFzc2VzLnRvTm9kZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCBzcGxpdENsYXNzZXMudG9Ob2RlLmpvaW4oJyAnKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbmV3SW5uZXJIVE1MID0gYWJzdHJhY3QubWFwKGEgPT4gdG9IdG1sKGEpKS5qb2luKCdcXG4nKTtcbiAgICBub2RlLnNldEF0dHJpYnV0ZShEQVRBX0ZBX0kyU1ZHLCAnJyk7XG4gICAgbm9kZS5pbm5lckhUTUwgPSBuZXdJbm5lckhUTUw7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIHBlcmZvcm1PcGVyYXRpb25TeW5jKG9wKSB7XG4gIG9wKCk7XG59XG5cbmZ1bmN0aW9uIHBlcmZvcm0obXV0YXRpb25zLCBjYWxsYmFjaykge1xuICBjb25zdCBjYWxsYmFja0Z1bmN0aW9uID0gdHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nID8gY2FsbGJhY2sgOiBub29wJDI7XG5cbiAgaWYgKG11dGF0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICBjYWxsYmFja0Z1bmN0aW9uKCk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IGZyYW1lID0gcGVyZm9ybU9wZXJhdGlvblN5bmM7XG5cbiAgICBpZiAoY29uZmlnLm11dGF0ZUFwcHJvYWNoID09PSBNVVRBVElPTl9BUFBST0FDSF9BU1lOQykge1xuICAgICAgZnJhbWUgPSBXSU5ET1cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8IHBlcmZvcm1PcGVyYXRpb25TeW5jO1xuICAgIH1cblxuICAgIGZyYW1lKCgpID0+IHtcbiAgICAgIGNvbnN0IG11dGF0b3IgPSBnZXRNdXRhdG9yKCk7XG4gICAgICBjb25zdCBtYXJrID0gcGVyZi5iZWdpbignbXV0YXRlJyk7XG4gICAgICBtdXRhdGlvbnMubWFwKG11dGF0b3IpO1xuICAgICAgbWFyaygpO1xuICAgICAgY2FsbGJhY2tGdW5jdGlvbigpO1xuICAgIH0pO1xuICB9XG59XG5sZXQgZGlzYWJsZWQgPSBmYWxzZTtcbmZ1bmN0aW9uIGRpc2FibGVPYnNlcnZhdGlvbigpIHtcbiAgZGlzYWJsZWQgPSB0cnVlO1xufVxuZnVuY3Rpb24gZW5hYmxlT2JzZXJ2YXRpb24oKSB7XG4gIGRpc2FibGVkID0gZmFsc2U7XG59XG5sZXQgbW8kMSA9IG51bGw7XG5mdW5jdGlvbiBvYnNlcnZlKG9wdGlvbnMpIHtcbiAgaWYgKCFNVVRBVElPTl9PQlNFUlZFUikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghY29uZmlnLm9ic2VydmVNdXRhdGlvbnMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7XG4gICAgdHJlZUNhbGxiYWNrID0gbm9vcCQyLFxuICAgIG5vZGVDYWxsYmFjayA9IG5vb3AkMixcbiAgICBwc2V1ZG9FbGVtZW50c0NhbGxiYWNrID0gbm9vcCQyLFxuICAgIG9ic2VydmVNdXRhdGlvbnNSb290ID0gRE9DVU1FTlRcbiAgfSA9IG9wdGlvbnM7XG4gIG1vJDEgPSBuZXcgTVVUQVRJT05fT0JTRVJWRVIob2JqZWN0cyA9PiB7XG4gICAgaWYgKGRpc2FibGVkKSByZXR1cm47XG4gICAgY29uc3QgZGVmYXVsdFByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcbiAgICB0b0FycmF5KG9iamVjdHMpLmZvckVhY2gobXV0YXRpb25SZWNvcmQgPT4ge1xuICAgICAgaWYgKG11dGF0aW9uUmVjb3JkLnR5cGUgPT09ICdjaGlsZExpc3QnICYmIG11dGF0aW9uUmVjb3JkLmFkZGVkTm9kZXMubGVuZ3RoID4gMCAmJiAhaXNXYXRjaGVkKG11dGF0aW9uUmVjb3JkLmFkZGVkTm9kZXNbMF0pKSB7XG4gICAgICAgIGlmIChjb25maWcuc2VhcmNoUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgICBwc2V1ZG9FbGVtZW50c0NhbGxiYWNrKG11dGF0aW9uUmVjb3JkLnRhcmdldCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmVlQ2FsbGJhY2sobXV0YXRpb25SZWNvcmQudGFyZ2V0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG11dGF0aW9uUmVjb3JkLnR5cGUgPT09ICdhdHRyaWJ1dGVzJyAmJiBtdXRhdGlvblJlY29yZC50YXJnZXQucGFyZW50Tm9kZSAmJiBjb25maWcuc2VhcmNoUHNldWRvRWxlbWVudHMpIHtcbiAgICAgICAgcHNldWRvRWxlbWVudHNDYWxsYmFjayhtdXRhdGlvblJlY29yZC50YXJnZXQucGFyZW50Tm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtdXRhdGlvblJlY29yZC50eXBlID09PSAnYXR0cmlidXRlcycgJiYgaXNXYXRjaGVkKG11dGF0aW9uUmVjb3JkLnRhcmdldCkgJiYgfkFUVFJJQlVURVNfV0FUQ0hFRF9GT1JfTVVUQVRJT04uaW5kZXhPZihtdXRhdGlvblJlY29yZC5hdHRyaWJ1dGVOYW1lKSkge1xuICAgICAgICBpZiAobXV0YXRpb25SZWNvcmQuYXR0cmlidXRlTmFtZSA9PT0gJ2NsYXNzJyAmJiBoYXNQcmVmaXhBbmRJY29uKG11dGF0aW9uUmVjb3JkLnRhcmdldCkpIHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBpY29uTmFtZVxuICAgICAgICAgIH0gPSBnZXRDYW5vbmljYWxJY29uKGNsYXNzQXJyYXkobXV0YXRpb25SZWNvcmQudGFyZ2V0KSk7XG4gICAgICAgICAgbXV0YXRpb25SZWNvcmQudGFyZ2V0LnNldEF0dHJpYnV0ZShEQVRBX1BSRUZJWCwgcHJlZml4IHx8IGRlZmF1bHRQcmVmaXgpO1xuICAgICAgICAgIGlmIChpY29uTmFtZSkgbXV0YXRpb25SZWNvcmQudGFyZ2V0LnNldEF0dHJpYnV0ZShEQVRBX0lDT04sIGljb25OYW1lKTtcbiAgICAgICAgfSBlbHNlIGlmIChoYXNCZWVuUmVwbGFjZWQobXV0YXRpb25SZWNvcmQudGFyZ2V0KSkge1xuICAgICAgICAgIG5vZGVDYWxsYmFjayhtdXRhdGlvblJlY29yZC50YXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuO1xuICBtbyQxLm9ic2VydmUob2JzZXJ2ZU11dGF0aW9uc1Jvb3QsIHtcbiAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgIHN1YnRyZWU6IHRydWVcbiAgfSk7XG59XG5mdW5jdGlvbiBkaXNjb25uZWN0KCkge1xuICBpZiAoIW1vJDEpIHJldHVybjtcbiAgbW8kMS5kaXNjb25uZWN0KCk7XG59XG5cbmZ1bmN0aW9uIHN0eWxlUGFyc2VyIChub2RlKSB7XG4gIGNvbnN0IHN0eWxlID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7XG4gIGxldCB2YWwgPSBbXTtcblxuICBpZiAoc3R5bGUpIHtcbiAgICB2YWwgPSBzdHlsZS5zcGxpdCgnOycpLnJlZHVjZSgoYWNjLCBzdHlsZSkgPT4ge1xuICAgICAgY29uc3Qgc3R5bGVzID0gc3R5bGUuc3BsaXQoJzonKTtcbiAgICAgIGNvbnN0IHByb3AgPSBzdHlsZXNbMF07XG4gICAgICBjb25zdCB2YWx1ZSA9IHN0eWxlcy5zbGljZSgxKTtcblxuICAgICAgaWYgKHByb3AgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICBhY2NbcHJvcF0gPSB2YWx1ZS5qb2luKCc6JykudHJpbSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59XG5cbmZ1bmN0aW9uIGNsYXNzUGFyc2VyIChub2RlKSB7XG4gIGNvbnN0IGV4aXN0aW5nUHJlZml4ID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcHJlZml4Jyk7XG4gIGNvbnN0IGV4aXN0aW5nSWNvbk5hbWUgPSBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1pY29uJyk7XG4gIGNvbnN0IGlubmVyVGV4dCA9IG5vZGUuaW5uZXJUZXh0ICE9PSB1bmRlZmluZWQgPyBub2RlLmlubmVyVGV4dC50cmltKCkgOiAnJztcbiAgbGV0IHZhbCA9IGdldENhbm9uaWNhbEljb24oY2xhc3NBcnJheShub2RlKSk7XG5cbiAgaWYgKCF2YWwucHJlZml4KSB7XG4gICAgdmFsLnByZWZpeCA9IGdldERlZmF1bHRVc2FibGVQcmVmaXgoKTtcbiAgfVxuXG4gIGlmIChleGlzdGluZ1ByZWZpeCAmJiBleGlzdGluZ0ljb25OYW1lKSB7XG4gICAgdmFsLnByZWZpeCA9IGV4aXN0aW5nUHJlZml4O1xuICAgIHZhbC5pY29uTmFtZSA9IGV4aXN0aW5nSWNvbk5hbWU7XG4gIH1cblxuICBpZiAodmFsLmljb25OYW1lICYmIHZhbC5wcmVmaXgpIHtcbiAgICByZXR1cm4gdmFsO1xuICB9XG5cbiAgaWYgKHZhbC5wcmVmaXggJiYgaW5uZXJUZXh0Lmxlbmd0aCA+IDApIHtcbiAgICB2YWwuaWNvbk5hbWUgPSBieUxpZ2F0dXJlKHZhbC5wcmVmaXgsIG5vZGUuaW5uZXJUZXh0KSB8fCBieVVuaWNvZGUodmFsLnByZWZpeCwgdG9IZXgobm9kZS5pbm5lclRleHQpKTtcbiAgfVxuXG4gIGlmICghdmFsLmljb25OYW1lICYmIGNvbmZpZy5hdXRvRmV0Y2hTdmcgJiYgbm9kZS5maXJzdENoaWxkICYmIG5vZGUuZmlyc3RDaGlsZC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICB2YWwuaWNvbk5hbWUgPSBub2RlLmZpcnN0Q2hpbGQuZGF0YTtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59XG5cbmZ1bmN0aW9uIGF0dHJpYnV0ZXNQYXJzZXIgKG5vZGUpIHtcbiAgY29uc3QgZXh0cmFBdHRyaWJ1dGVzID0gdG9BcnJheShub2RlLmF0dHJpYnV0ZXMpLnJlZHVjZSgoYWNjLCBhdHRyKSA9PiB7XG4gICAgaWYgKGFjYy5uYW1lICE9PSAnY2xhc3MnICYmIGFjYy5uYW1lICE9PSAnc3R5bGUnKSB7XG4gICAgICBhY2NbYXR0ci5uYW1lXSA9IGF0dHIudmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICBjb25zdCB0aXRsZSA9IG5vZGUuZ2V0QXR0cmlidXRlKCd0aXRsZScpO1xuICBjb25zdCB0aXRsZUlkID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtdGl0bGUtaWQnKTtcblxuICBpZiAoY29uZmlnLmF1dG9BMTF5KSB7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICBleHRyYUF0dHJpYnV0ZXNbJ2FyaWEtbGFiZWxsZWRieSddID0gXCJcIi5jb25jYXQoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MsIFwiLXRpdGxlLVwiKS5jb25jYXQodGl0bGVJZCB8fCBuZXh0VW5pcXVlSWQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4dHJhQXR0cmlidXRlc1snYXJpYS1oaWRkZW4nXSA9ICd0cnVlJztcbiAgICAgIGV4dHJhQXR0cmlidXRlc1snZm9jdXNhYmxlJ10gPSAnZmFsc2UnO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHRyYUF0dHJpYnV0ZXM7XG59XG5cbmZ1bmN0aW9uIGJsYW5rTWV0YSgpIHtcbiAgcmV0dXJuIHtcbiAgICBpY29uTmFtZTogbnVsbCxcbiAgICB0aXRsZTogbnVsbCxcbiAgICB0aXRsZUlkOiBudWxsLFxuICAgIHByZWZpeDogbnVsbCxcbiAgICB0cmFuc2Zvcm06IG1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgIHN5bWJvbDogZmFsc2UsXG4gICAgbWFzazoge1xuICAgICAgaWNvbk5hbWU6IG51bGwsXG4gICAgICBwcmVmaXg6IG51bGwsXG4gICAgICByZXN0OiBbXVxuICAgIH0sXG4gICAgbWFza0lkOiBudWxsLFxuICAgIGV4dHJhOiB7XG4gICAgICBjbGFzc2VzOiBbXSxcbiAgICAgIHN0eWxlczoge30sXG4gICAgICBhdHRyaWJ1dGVzOiB7fVxuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIHBhcnNlTWV0YShub2RlKSB7XG4gIGxldCBwYXJzZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHtcbiAgICBzdHlsZVBhcnNlcjogdHJ1ZVxuICB9O1xuICBjb25zdCB7XG4gICAgaWNvbk5hbWUsXG4gICAgcHJlZml4LFxuICAgIHJlc3Q6IGV4dHJhQ2xhc3Nlc1xuICB9ID0gY2xhc3NQYXJzZXIobm9kZSk7XG4gIGNvbnN0IGV4dHJhQXR0cmlidXRlcyA9IGF0dHJpYnV0ZXNQYXJzZXIobm9kZSk7XG4gIGNvbnN0IHBsdWdpbk1ldGEgPSBjaGFpbkhvb2tzKCdwYXJzZU5vZGVBdHRyaWJ1dGVzJywge30sIG5vZGUpO1xuICBsZXQgZXh0cmFTdHlsZXMgPSBwYXJzZXIuc3R5bGVQYXJzZXIgPyBzdHlsZVBhcnNlcihub2RlKSA6IFtdO1xuICByZXR1cm4ge1xuICAgIGljb25OYW1lLFxuICAgIHRpdGxlOiBub2RlLmdldEF0dHJpYnV0ZSgndGl0bGUnKSxcbiAgICB0aXRsZUlkOiBub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1mYS10aXRsZS1pZCcpLFxuICAgIHByZWZpeCxcbiAgICB0cmFuc2Zvcm06IG1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgIG1hc2s6IHtcbiAgICAgIGljb25OYW1lOiBudWxsLFxuICAgICAgcHJlZml4OiBudWxsLFxuICAgICAgcmVzdDogW11cbiAgICB9LFxuICAgIG1hc2tJZDogbnVsbCxcbiAgICBzeW1ib2w6IGZhbHNlLFxuICAgIGV4dHJhOiB7XG4gICAgICBjbGFzc2VzOiBleHRyYUNsYXNzZXMsXG4gICAgICBzdHlsZXM6IGV4dHJhU3R5bGVzLFxuICAgICAgYXR0cmlidXRlczogZXh0cmFBdHRyaWJ1dGVzXG4gICAgfSxcbiAgICAuLi5wbHVnaW5NZXRhXG4gIH07XG59XG5cbmNvbnN0IHtcbiAgc3R5bGVzOiBzdHlsZXMkMlxufSA9IG5hbWVzcGFjZTtcblxuZnVuY3Rpb24gZ2VuZXJhdGVNdXRhdGlvbihub2RlKSB7XG4gIGNvbnN0IG5vZGVNZXRhID0gY29uZmlnLmF1dG9SZXBsYWNlU3ZnID09PSAnbmVzdCcgPyBwYXJzZU1ldGEobm9kZSwge1xuICAgIHN0eWxlUGFyc2VyOiBmYWxzZVxuICB9KSA6IHBhcnNlTWV0YShub2RlKTtcblxuICBpZiAofm5vZGVNZXRhLmV4dHJhLmNsYXNzZXMuaW5kZXhPZihMQVlFUlNfVEVYVF9DTEFTU05BTUUpKSB7XG4gICAgcmV0dXJuIGNhbGxQcm92aWRlZCgnZ2VuZXJhdGVMYXllcnNUZXh0Jywgbm9kZSwgbm9kZU1ldGEpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbicsIG5vZGUsIG5vZGVNZXRhKTtcbiAgfVxufVxuXG5sZXQga25vd25QcmVmaXhlcyA9IG5ldyBTZXQoKTtcbkZBTUlMSUVTLm1hcChmYW1pbHkgPT4ge1xuICBrbm93blByZWZpeGVzLmFkZChcImZhLVwiLmNvbmNhdChmYW1pbHkpKTtcbn0pO1xuT2JqZWN0LmtleXMoUFJFRklYX1RPX1NUWUxFW2FdKS5tYXAoa25vd25QcmVmaXhlcy5hZGQuYmluZChrbm93blByZWZpeGVzKSk7XG5PYmplY3Qua2V5cyhQUkVGSVhfVE9fU1RZTEVbcl0pLm1hcChrbm93blByZWZpeGVzLmFkZC5iaW5kKGtub3duUHJlZml4ZXMpKTtcbk9iamVjdC5rZXlzKFBSRUZJWF9UT19TVFlMRVtvXSkubWFwKGtub3duUHJlZml4ZXMuYWRkLmJpbmQoa25vd25QcmVmaXhlcykpO1xua25vd25QcmVmaXhlcyA9IFsuLi5rbm93blByZWZpeGVzXTtcblxuZnVuY3Rpb24gb25UcmVlKHJvb3QpIHtcbiAgbGV0IGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBudWxsO1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICBjb25zdCBodG1sQ2xhc3NMaXN0ID0gRE9DVU1FTlQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtcblxuICBjb25zdCBoY2xBZGQgPSBzdWZmaXggPT4gaHRtbENsYXNzTGlzdC5hZGQoXCJcIi5jb25jYXQoSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTLCBcIi1cIikuY29uY2F0KHN1ZmZpeCkpO1xuXG4gIGNvbnN0IGhjbFJlbW92ZSA9IHN1ZmZpeCA9PiBodG1sQ2xhc3NMaXN0LnJlbW92ZShcIlwiLmNvbmNhdChIVE1MX0NMQVNTX0kyU1ZHX0JBU0VfQ0xBU1MsIFwiLVwiKS5jb25jYXQoc3VmZml4KSk7XG5cbiAgY29uc3QgcHJlZml4ZXMgPSBjb25maWcuYXV0b0ZldGNoU3ZnID8ga25vd25QcmVmaXhlcyA6IEZBTUlMSUVTLm1hcChmJCQxID0+IFwiZmEtXCIuY29uY2F0KGYkJDEpKS5jb25jYXQoT2JqZWN0LmtleXMoc3R5bGVzJDIpKTtcblxuICBpZiAoIXByZWZpeGVzLmluY2x1ZGVzKCdmYScpKSB7XG4gICAgcHJlZml4ZXMucHVzaCgnZmEnKTtcbiAgfVxuXG4gIGNvbnN0IHByZWZpeGVzRG9tUXVlcnkgPSBbXCIuXCIuY29uY2F0KExBWUVSU19URVhUX0NMQVNTTkFNRSwgXCI6bm90KFtcIikuY29uY2F0KERBVEFfRkFfSTJTVkcsIFwiXSlcIildLmNvbmNhdChwcmVmaXhlcy5tYXAocCQkMSA9PiBcIi5cIi5jb25jYXQocCQkMSwgXCI6bm90KFtcIikuY29uY2F0KERBVEFfRkFfSTJTVkcsIFwiXSlcIikpKS5qb2luKCcsICcpO1xuXG4gIGlmIChwcmVmaXhlc0RvbVF1ZXJ5Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIGxldCBjYW5kaWRhdGVzID0gW107XG5cbiAgdHJ5IHtcbiAgICBjYW5kaWRhdGVzID0gdG9BcnJheShyb290LnF1ZXJ5U2VsZWN0b3JBbGwocHJlZml4ZXNEb21RdWVyeSkpO1xuICB9IGNhdGNoIChlJCQxKSB7Ly8gbm9vcFxuICB9XG5cbiAgaWYgKGNhbmRpZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgIGhjbEFkZCgncGVuZGluZycpO1xuICAgIGhjbFJlbW92ZSgnY29tcGxldGUnKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICBjb25zdCBtYXJrID0gcGVyZi5iZWdpbignb25UcmVlJyk7XG4gIGNvbnN0IG11dGF0aW9ucyA9IGNhbmRpZGF0ZXMucmVkdWNlKChhY2MsIG5vZGUpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbXV0YXRpb24gPSBnZW5lcmF0ZU11dGF0aW9uKG5vZGUpO1xuXG4gICAgICBpZiAobXV0YXRpb24pIHtcbiAgICAgICAgYWNjLnB1c2gobXV0YXRpb24pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUkJDEpIHtcbiAgICAgIGlmICghUFJPRFVDVElPTikge1xuICAgICAgICBpZiAoZSQkMS5uYW1lID09PSAnTWlzc2luZ0ljb24nKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlJCQxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBQcm9taXNlLmFsbChtdXRhdGlvbnMpLnRoZW4ocmVzb2x2ZWRNdXRhdGlvbnMgPT4ge1xuICAgICAgcGVyZm9ybShyZXNvbHZlZE11dGF0aW9ucywgKCkgPT4ge1xuICAgICAgICBoY2xBZGQoJ2FjdGl2ZScpO1xuICAgICAgICBoY2xBZGQoJ2NvbXBsZXRlJyk7XG4gICAgICAgIGhjbFJlbW92ZSgncGVuZGluZycpO1xuICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSBjYWxsYmFjaygpO1xuICAgICAgICBtYXJrKCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pLmNhdGNoKGUkJDEgPT4ge1xuICAgICAgbWFyaygpO1xuICAgICAgcmVqZWN0KGUkJDEpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gb25Ob2RlKG5vZGUpIHtcbiAgbGV0IGNhbGxiYWNrID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBudWxsO1xuICBnZW5lcmF0ZU11dGF0aW9uKG5vZGUpLnRoZW4obXV0YXRpb24gPT4ge1xuICAgIGlmIChtdXRhdGlvbikge1xuICAgICAgcGVyZm9ybShbbXV0YXRpb25dLCBjYWxsYmFjayk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZUljb25zKG5leHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChtYXliZUljb25EZWZpbml0aW9uKSB7XG4gICAgbGV0IHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gICAgY29uc3QgaWNvbkRlZmluaXRpb24gPSAobWF5YmVJY29uRGVmaW5pdGlvbiB8fCB7fSkuaWNvbiA/IG1heWJlSWNvbkRlZmluaXRpb24gOiBmaW5kSWNvbkRlZmluaXRpb24obWF5YmVJY29uRGVmaW5pdGlvbiB8fCB7fSk7XG4gICAgbGV0IHtcbiAgICAgIG1hc2tcbiAgICB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKG1hc2spIHtcbiAgICAgIG1hc2sgPSAobWFzayB8fCB7fSkuaWNvbiA/IG1hc2sgOiBmaW5kSWNvbkRlZmluaXRpb24obWFzayB8fCB7fSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoaWNvbkRlZmluaXRpb24sIHsgLi4ucGFyYW1zLFxuICAgICAgbWFza1xuICAgIH0pO1xuICB9O1xufVxuXG5jb25zdCByZW5kZXIgPSBmdW5jdGlvbiAoaWNvbkRlZmluaXRpb24pIHtcbiAgbGV0IHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gIGNvbnN0IHtcbiAgICB0cmFuc2Zvcm0gPSBtZWFuaW5nbGVzc1RyYW5zZm9ybSxcbiAgICBzeW1ib2wgPSBmYWxzZSxcbiAgICBtYXNrID0gbnVsbCxcbiAgICBtYXNrSWQgPSBudWxsLFxuICAgIHRpdGxlID0gbnVsbCxcbiAgICB0aXRsZUlkID0gbnVsbCxcbiAgICBjbGFzc2VzID0gW10sXG4gICAgYXR0cmlidXRlcyA9IHt9LFxuICAgIHN0eWxlcyA9IHt9XG4gIH0gPSBwYXJhbXM7XG4gIGlmICghaWNvbkRlZmluaXRpb24pIHJldHVybjtcbiAgY29uc3Qge1xuICAgIHByZWZpeCxcbiAgICBpY29uTmFtZSxcbiAgICBpY29uXG4gIH0gPSBpY29uRGVmaW5pdGlvbjtcbiAgcmV0dXJuIGRvbVZhcmlhbnRzKHtcbiAgICB0eXBlOiAnaWNvbicsXG4gICAgLi4uaWNvbkRlZmluaXRpb25cbiAgfSwgKCkgPT4ge1xuICAgIGNhbGxIb29rcygnYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uJywge1xuICAgICAgaWNvbkRlZmluaXRpb24sXG4gICAgICBwYXJhbXNcbiAgICB9KTtcblxuICAgIGlmIChjb25maWcuYXV0b0ExMXkpIHtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBhdHRyaWJ1dGVzWydhcmlhLWxhYmVsbGVkYnknXSA9IFwiXCIuY29uY2F0KGNvbmZpZy5yZXBsYWNlbWVudENsYXNzLCBcIi10aXRsZS1cIikuY29uY2F0KHRpdGxlSWQgfHwgbmV4dFVuaXF1ZUlkKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXR0cmlidXRlc1snYXJpYS1oaWRkZW4nXSA9ICd0cnVlJztcbiAgICAgICAgYXR0cmlidXRlc1snZm9jdXNhYmxlJ10gPSAnZmFsc2UnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYWtlSW5saW5lU3ZnQWJzdHJhY3Qoe1xuICAgICAgaWNvbnM6IHtcbiAgICAgICAgbWFpbjogYXNGb3VuZEljb24oaWNvbiksXG4gICAgICAgIG1hc2s6IG1hc2sgPyBhc0ZvdW5kSWNvbihtYXNrLmljb24pIDoge1xuICAgICAgICAgIGZvdW5kOiBmYWxzZSxcbiAgICAgICAgICB3aWR0aDogbnVsbCxcbiAgICAgICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICAgICAgaWNvbjoge31cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHByZWZpeCxcbiAgICAgIGljb25OYW1lLFxuICAgICAgdHJhbnNmb3JtOiB7IC4uLm1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgICAgICAuLi50cmFuc2Zvcm1cbiAgICAgIH0sXG4gICAgICBzeW1ib2wsXG4gICAgICB0aXRsZSxcbiAgICAgIG1hc2tJZCxcbiAgICAgIHRpdGxlSWQsXG4gICAgICBleHRyYToge1xuICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgICBzdHlsZXMsXG4gICAgICAgIGNsYXNzZXNcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xudmFyIFJlcGxhY2VFbGVtZW50cyA9IHtcbiAgbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiByZXNvbHZlSWNvbnMocmVuZGVyKVxuICAgIH07XG4gIH0sXG5cbiAgaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG11dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MoYWNjdW11bGF0b3IpIHtcbiAgICAgICAgYWNjdW11bGF0b3IudHJlZUNhbGxiYWNrID0gb25UcmVlO1xuICAgICAgICBhY2N1bXVsYXRvci5ub2RlQ2FsbGJhY2sgPSBvbk5vZGU7XG4gICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgIH1cblxuICAgIH07XG4gIH0sXG5cbiAgcHJvdmlkZXMocHJvdmlkZXJzJCQxKSB7XG4gICAgcHJvdmlkZXJzJCQxLmkyc3ZnID0gZnVuY3Rpb24gKHBhcmFtcykge1xuICAgICAgY29uc3Qge1xuICAgICAgICBub2RlID0gRE9DVU1FTlQsXG4gICAgICAgIGNhbGxiYWNrID0gKCkgPT4ge31cbiAgICAgIH0gPSBwYXJhbXM7XG4gICAgICByZXR1cm4gb25UcmVlKG5vZGUsIGNhbGxiYWNrKTtcbiAgICB9O1xuXG4gICAgcHJvdmlkZXJzJCQxLmdlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbiA9IGZ1bmN0aW9uIChub2RlLCBub2RlTWV0YSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBpY29uTmFtZSxcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIHRpdGxlSWQsXG4gICAgICAgIHByZWZpeCxcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICBzeW1ib2wsXG4gICAgICAgIG1hc2ssXG4gICAgICAgIG1hc2tJZCxcbiAgICAgICAgZXh0cmFcbiAgICAgIH0gPSBub2RlTWV0YTtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIFByb21pc2UuYWxsKFtmaW5kSWNvbihpY29uTmFtZSwgcHJlZml4KSwgbWFzay5pY29uTmFtZSA/IGZpbmRJY29uKG1hc2suaWNvbk5hbWUsIG1hc2sucHJlZml4KSA6IFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgZm91bmQ6IGZhbHNlLFxuICAgICAgICAgIHdpZHRoOiA1MTIsXG4gICAgICAgICAgaGVpZ2h0OiA1MTIsXG4gICAgICAgICAgaWNvbjoge31cbiAgICAgICAgfSldKS50aGVuKF9yZWYgPT4ge1xuICAgICAgICAgIGxldCBbbWFpbiwgbWFza10gPSBfcmVmO1xuICAgICAgICAgIHJlc29sdmUoW25vZGUsIG1ha2VJbmxpbmVTdmdBYnN0cmFjdCh7XG4gICAgICAgICAgICBpY29uczoge1xuICAgICAgICAgICAgICBtYWluLFxuICAgICAgICAgICAgICBtYXNrXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJlZml4LFxuICAgICAgICAgICAgaWNvbk5hbWUsXG4gICAgICAgICAgICB0cmFuc2Zvcm0sXG4gICAgICAgICAgICBzeW1ib2wsXG4gICAgICAgICAgICBtYXNrSWQsXG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIHRpdGxlSWQsXG4gICAgICAgICAgICBleHRyYSxcbiAgICAgICAgICAgIHdhdGNoYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pXSk7XG4gICAgICAgIH0pLmNhdGNoKHJlamVjdCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgcHJvdmlkZXJzJCQxLmdlbmVyYXRlQWJzdHJhY3RJY29uID0gZnVuY3Rpb24gKF9yZWYyKSB7XG4gICAgICBsZXQge1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgbWFpbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICBzdHlsZXNcbiAgICAgIH0gPSBfcmVmMjtcbiAgICAgIGNvbnN0IHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhzdHlsZXMpO1xuXG4gICAgICBpZiAoc3R5bGVTdHJpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICBhdHRyaWJ1dGVzWydzdHlsZSddID0gc3R5bGVTdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGxldCBuZXh0Q2hpbGQ7XG5cbiAgICAgIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSkge1xuICAgICAgICBuZXh0Q2hpbGQgPSBjYWxsUHJvdmlkZWQoJ2dlbmVyYXRlQWJzdHJhY3RUcmFuc2Zvcm1Hcm91cGluZycsIHtcbiAgICAgICAgICBtYWluLFxuICAgICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgICBjb250YWluZXJXaWR0aDogbWFpbi53aWR0aCxcbiAgICAgICAgICBpY29uV2lkdGg6IG1haW4ud2lkdGhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNoaWxkcmVuLnB1c2gobmV4dENoaWxkIHx8IG1haW4uaWNvbik7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgYXR0cmlidXRlc1xuICAgICAgfTtcbiAgICB9O1xuICB9XG5cbn07XG5cbnZhciBMYXllcnMgPSB7XG4gIG1peG91dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGF5ZXIoYXNzZW1ibGVyKSB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgY2xhc3NlcyA9IFtdXG4gICAgICAgIH0gPSBwYXJhbXM7XG4gICAgICAgIHJldHVybiBkb21WYXJpYW50cyh7XG4gICAgICAgICAgdHlwZTogJ2xheWVyJ1xuICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgY2FsbEhvb2tzKCdiZWZvcmVET01FbGVtZW50Q3JlYXRpb24nLCB7XG4gICAgICAgICAgICBhc3NlbWJsZXIsXG4gICAgICAgICAgICBwYXJhbXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICBhc3NlbWJsZXIoYXJncyA9PiB7XG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gYXJncy5tYXAoYSA9PiB7XG4gICAgICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW4uY29uY2F0KGEuYWJzdHJhY3QpO1xuICAgICAgICAgICAgfSkgOiBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChhcmdzLmFic3RyYWN0KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gW3tcbiAgICAgICAgICAgIHRhZzogJ3NwYW4nLFxuICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICBjbGFzczogW1wiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLWxheWVyc1wiKSwgLi4uY2xhc3Nlc10uam9pbignICcpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hpbGRyZW5cbiAgICAgICAgICB9XTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICB9O1xuICB9XG5cbn07XG5cbnZhciBMYXllcnNDb3VudGVyID0ge1xuICBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvdW50ZXIoY29udGVudCkge1xuICAgICAgICBsZXQgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHRpdGxlID0gbnVsbCxcbiAgICAgICAgICBjbGFzc2VzID0gW10sXG4gICAgICAgICAgYXR0cmlidXRlcyA9IHt9LFxuICAgICAgICAgIHN0eWxlcyA9IHt9XG4gICAgICAgIH0gPSBwYXJhbXM7XG4gICAgICAgIHJldHVybiBkb21WYXJpYW50cyh7XG4gICAgICAgICAgdHlwZTogJ2NvdW50ZXInLFxuICAgICAgICAgIGNvbnRlbnRcbiAgICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAgIGNhbGxIb29rcygnYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uJywge1xuICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgIHBhcmFtc1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBtYWtlTGF5ZXJzQ291bnRlckFic3RyYWN0KHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgICAgICAgc3R5bGVzLFxuICAgICAgICAgICAgICBjbGFzc2VzOiBbXCJcIi5jb25jYXQoY29uZmlnLmNzc1ByZWZpeCwgXCItbGF5ZXJzLWNvdW50ZXJcIiksIC4uLmNsYXNzZXNdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgfTtcbiAgfVxuXG59O1xuXG52YXIgTGF5ZXJzVGV4dCA9IHtcbiAgbWl4b3V0KCkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXh0KGNvbnRlbnQpIHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICB0cmFuc2Zvcm0gPSBtZWFuaW5nbGVzc1RyYW5zZm9ybSxcbiAgICAgICAgICB0aXRsZSA9IG51bGwsXG4gICAgICAgICAgY2xhc3NlcyA9IFtdLFxuICAgICAgICAgIGF0dHJpYnV0ZXMgPSB7fSxcbiAgICAgICAgICBzdHlsZXMgPSB7fVxuICAgICAgICB9ID0gcGFyYW1zO1xuICAgICAgICByZXR1cm4gZG9tVmFyaWFudHMoe1xuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICBjb250ZW50XG4gICAgICAgIH0sICgpID0+IHtcbiAgICAgICAgICBjYWxsSG9va3MoJ2JlZm9yZURPTUVsZW1lbnRDcmVhdGlvbicsIHtcbiAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICBwYXJhbXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gbWFrZUxheWVyc1RleHRBYnN0cmFjdCh7XG4gICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB7IC4uLm1lYW5pbmdsZXNzVHJhbnNmb3JtLFxuICAgICAgICAgICAgICAuLi50cmFuc2Zvcm1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgIHN0eWxlcyxcbiAgICAgICAgICAgICAgY2xhc3NlczogW1wiXCIuY29uY2F0KGNvbmZpZy5jc3NQcmVmaXgsIFwiLWxheWVycy10ZXh0XCIpLCAuLi5jbGFzc2VzXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgIH07XG4gIH0sXG5cbiAgcHJvdmlkZXMocHJvdmlkZXJzJCQxKSB7XG4gICAgcHJvdmlkZXJzJCQxLmdlbmVyYXRlTGF5ZXJzVGV4dCA9IGZ1bmN0aW9uIChub2RlLCBub2RlTWV0YSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICBleHRyYVxuICAgICAgfSA9IG5vZGVNZXRhO1xuICAgICAgbGV0IHdpZHRoID0gbnVsbDtcbiAgICAgIGxldCBoZWlnaHQgPSBudWxsO1xuXG4gICAgICBpZiAoSVNfSUUpIHtcbiAgICAgICAgY29uc3QgY29tcHV0ZWRGb250U2l6ZSA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUobm9kZSkuZm9udFNpemUsIDEwKTtcbiAgICAgICAgY29uc3QgYm91bmRpbmdDbGllbnRSZWN0ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgd2lkdGggPSBib3VuZGluZ0NsaWVudFJlY3Qud2lkdGggLyBjb21wdXRlZEZvbnRTaXplO1xuICAgICAgICBoZWlnaHQgPSBib3VuZGluZ0NsaWVudFJlY3QuaGVpZ2h0IC8gY29tcHV0ZWRGb250U2l6ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbmZpZy5hdXRvQTExeSAmJiAhdGl0bGUpIHtcbiAgICAgICAgZXh0cmEuYXR0cmlidXRlc1snYXJpYS1oaWRkZW4nXSA9ICd0cnVlJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbbm9kZSwgbWFrZUxheWVyc1RleHRBYnN0cmFjdCh7XG4gICAgICAgIGNvbnRlbnQ6IG5vZGUuaW5uZXJIVE1MLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICB0cmFuc2Zvcm0sXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBleHRyYSxcbiAgICAgICAgd2F0Y2hhYmxlOiB0cnVlXG4gICAgICB9KV0pO1xuICAgIH07XG4gIH1cblxufTtcblxuY29uc3QgQ0xFQU5fQ09OVEVOVF9QQVRURVJOID0gbmV3IFJlZ0V4cCgnXFx1ezIyfScsICd1ZycpO1xuY29uc3QgU0VDT05EQVJZX1VOSUNPREVfUkFOR0UgPSBbMTEwNTkyMCwgMTExMjMxOV07XG5jb25zdCBfRk9OVF9GQU1JTFlfV0VJR0hUX1RPX1BSRUZJWCA9IHsgLi4ue1xuICAgIEZvbnRBd2Vzb21lOiB7XG4gICAgICBub3JtYWw6ICdmYXMnLFxuICAgICAgNDAwOiAnZmFzJ1xuICAgIH1cbiAgfSxcbiAgLi4uZW8sXG4gIC4uLmFvLFxuICAuLi5tb1xufTtcbmNvbnN0IEZPTlRfRkFNSUxZX1dFSUdIVF9UT19QUkVGSVggPSBPYmplY3Qua2V5cyhfRk9OVF9GQU1JTFlfV0VJR0hUX1RPX1BSRUZJWCkucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICBhY2Nba2V5LnRvTG93ZXJDYXNlKCldID0gX0ZPTlRfRkFNSUxZX1dFSUdIVF9UT19QUkVGSVhba2V5XTtcbiAgcmV0dXJuIGFjYztcbn0sIHt9KTtcbmNvbnN0IEZPTlRfRkFNSUxZX1dFSUdIVF9GQUxMQkFDSyA9IE9iamVjdC5rZXlzKEZPTlRfRkFNSUxZX1dFSUdIVF9UT19QUkVGSVgpLnJlZHVjZSgoYWNjLCBmb250RmFtaWx5KSA9PiB7XG4gIGNvbnN0IHdlaWdodHMgPSBGT05UX0ZBTUlMWV9XRUlHSFRfVE9fUFJFRklYW2ZvbnRGYW1pbHldO1xuICBhY2NbZm9udEZhbWlseV0gPSB3ZWlnaHRzWzkwMF0gfHwgWy4uLk9iamVjdC5lbnRyaWVzKHdlaWdodHMpXVswXVsxXTtcbiAgcmV0dXJuIGFjYztcbn0sIHt9KTtcbmZ1bmN0aW9uIGhleFZhbHVlRnJvbUNvbnRlbnQoY29udGVudCkge1xuICBjb25zdCBjbGVhbmVkID0gY29udGVudC5yZXBsYWNlKENMRUFOX0NPTlRFTlRfUEFUVEVSTiwgJycpO1xuICBjb25zdCBjb2RlUG9pbnQgPSBjb2RlUG9pbnRBdChjbGVhbmVkLCAwKTtcbiAgY29uc3QgaXNQcmVwZW5kVGVuID0gY29kZVBvaW50ID49IFNFQ09OREFSWV9VTklDT0RFX1JBTkdFWzBdICYmIGNvZGVQb2ludCA8PSBTRUNPTkRBUllfVU5JQ09ERV9SQU5HRVsxXTtcbiAgY29uc3QgaXNEb3VibGVkID0gY2xlYW5lZC5sZW5ndGggPT09IDIgPyBjbGVhbmVkWzBdID09PSBjbGVhbmVkWzFdIDogZmFsc2U7XG4gIHJldHVybiB7XG4gICAgdmFsdWU6IGlzRG91YmxlZCA/IHRvSGV4KGNsZWFuZWRbMF0pIDogdG9IZXgoY2xlYW5lZCksXG4gICAgaXNTZWNvbmRhcnk6IGlzUHJlcGVuZFRlbiB8fCBpc0RvdWJsZWRcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFByZWZpeChmb250RmFtaWx5LCBmb250V2VpZ2h0KSB7XG4gIGNvbnN0IGZvbnRGYW1pbHlTYW5pdGl6ZWQgPSBmb250RmFtaWx5LnJlcGxhY2UoL15bJ1wiXXxbJ1wiXSQvZywgJycpLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IGZvbnRXZWlnaHRJbnRlZ2VyID0gcGFyc2VJbnQoZm9udFdlaWdodCk7XG4gIGNvbnN0IGZvbnRXZWlnaHRTYW5pdGl6ZWQgPSBpc05hTihmb250V2VpZ2h0SW50ZWdlcikgPyAnbm9ybWFsJyA6IGZvbnRXZWlnaHRJbnRlZ2VyO1xuICByZXR1cm4gKEZPTlRfRkFNSUxZX1dFSUdIVF9UT19QUkVGSVhbZm9udEZhbWlseVNhbml0aXplZF0gfHwge30pW2ZvbnRXZWlnaHRTYW5pdGl6ZWRdIHx8IEZPTlRfRkFNSUxZX1dFSUdIVF9GQUxMQkFDS1tmb250RmFtaWx5U2FuaXRpemVkXTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZUZvclBvc2l0aW9uKG5vZGUsIHBvc2l0aW9uKSB7XG4gIGNvbnN0IHBlbmRpbmdBdHRyaWJ1dGUgPSBcIlwiLmNvbmNhdChEQVRBX0ZBX1BTRVVET19FTEVNRU5UX1BFTkRJTkcpLmNvbmNhdChwb3NpdGlvbi5yZXBsYWNlKCc6JywgJy0nKSk7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlKHBlbmRpbmdBdHRyaWJ1dGUpICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIG5vZGUgaXMgYWxyZWFkeSBiZWluZyBwcm9jZXNzZWRcbiAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRyZW4gPSB0b0FycmF5KG5vZGUuY2hpbGRyZW4pO1xuICAgIGNvbnN0IGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50ID0gY2hpbGRyZW4uZmlsdGVyKGMgPT4gYy5nZXRBdHRyaWJ1dGUoREFUQV9GQV9QU0VVRE9fRUxFTUVOVCkgPT09IHBvc2l0aW9uKVswXTtcbiAgICBjb25zdCBzdHlsZXMgPSBXSU5ET1cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlLCBwb3NpdGlvbik7XG4gICAgY29uc3QgZm9udEZhbWlseSA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LWZhbWlseScpO1xuICAgIGNvbnN0IGZvbnRGYW1pbHlNYXRjaCA9IGZvbnRGYW1pbHkubWF0Y2goRk9OVF9GQU1JTFlfUEFUVEVSTik7XG4gICAgY29uc3QgZm9udFdlaWdodCA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXdlaWdodCcpO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBzdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnY29udGVudCcpO1xuXG4gICAgaWYgKGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50ICYmICFmb250RmFtaWx5TWF0Y2gpIHtcbiAgICAgIC8vIElmIHdlJ3ZlIGFscmVhZHkgcHJvY2Vzc2VkIGl0IGJ1dCB0aGUgY3VycmVudCBjb21wdXRlZCBzdHlsZSBkb2VzIG5vdCByZXN1bHQgaW4gYSBmb250LWZhbWlseSxcbiAgICAgIC8vIHRoYXQgcHJvYmFibHkgbWVhbnMgdGhhdCBhIGNsYXNzIG5hbWUgdGhhdCB3YXMgcHJldmlvdXNseSBwcmVzZW50IHRvIG1ha2UgdGhlIGljb24gaGFzIGJlZW5cbiAgICAgIC8vIHJlbW92ZWQuIFNvIHdlIG5vdyBzaG91bGQgZGVsZXRlIHRoZSBpY29uLlxuICAgICAgbm9kZS5yZW1vdmVDaGlsZChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCk7XG4gICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuICAgIH0gZWxzZSBpZiAoZm9udEZhbWlseU1hdGNoICYmIGNvbnRlbnQgIT09ICdub25lJyAmJiBjb250ZW50ICE9PSAnJykge1xuICAgICAgY29uc3QgY29udGVudCA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50Jyk7XG4gICAgICBsZXQgcHJlZml4ID0gZ2V0UHJlZml4KGZvbnRGYW1pbHksIGZvbnRXZWlnaHQpO1xuICAgICAgY29uc3Qge1xuICAgICAgICB2YWx1ZTogaGV4VmFsdWUsXG4gICAgICAgIGlzU2Vjb25kYXJ5XG4gICAgICB9ID0gaGV4VmFsdWVGcm9tQ29udGVudChjb250ZW50KTtcbiAgICAgIGNvbnN0IGlzVjQgPSBmb250RmFtaWx5TWF0Y2hbMF0uc3RhcnRzV2l0aCgnRm9udEF3ZXNvbWUnKTtcbiAgICAgIGxldCBpY29uTmFtZSA9IGJ5VW5pY29kZShwcmVmaXgsIGhleFZhbHVlKTtcbiAgICAgIGxldCBpY29uSWRlbnRpZmllciA9IGljb25OYW1lO1xuXG4gICAgICBpZiAoaXNWNCkge1xuICAgICAgICBjb25zdCBpY29uTmFtZTQgPSBieU9sZFVuaWNvZGUoaGV4VmFsdWUpO1xuXG4gICAgICAgIGlmIChpY29uTmFtZTQuaWNvbk5hbWUgJiYgaWNvbk5hbWU0LnByZWZpeCkge1xuICAgICAgICAgIGljb25OYW1lID0gaWNvbk5hbWU0Lmljb25OYW1lO1xuICAgICAgICAgIHByZWZpeCA9IGljb25OYW1lNC5wcmVmaXg7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gT25seSBjb252ZXJ0IHRoZSBwc2V1ZG8gZWxlbWVudCBpbiB0aGlzIDo6YmVmb3JlLzo6YWZ0ZXIgcG9zaXRpb24gaW50byBhbiBpY29uIGlmIHdlIGhhdmVuJ3RcbiAgICAgIC8vIGFscmVhZHkgZG9uZSBzbyB3aXRoIHRoZSBzYW1lIHByZWZpeCBhbmQgaWNvbk5hbWVcblxuXG4gICAgICBpZiAoaWNvbk5hbWUgJiYgIWlzU2Vjb25kYXJ5ICYmICghYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQgfHwgYWxyZWFkeVByb2Nlc3NlZFBzZXVkb0VsZW1lbnQuZ2V0QXR0cmlidXRlKERBVEFfUFJFRklYKSAhPT0gcHJlZml4IHx8IGFscmVhZHlQcm9jZXNzZWRQc2V1ZG9FbGVtZW50LmdldEF0dHJpYnV0ZShEQVRBX0lDT04pICE9PSBpY29uSWRlbnRpZmllcikpIHtcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUocGVuZGluZ0F0dHJpYnV0ZSwgaWNvbklkZW50aWZpZXIpO1xuXG4gICAgICAgIGlmIChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCkge1xuICAgICAgICAgIC8vIERlbGV0ZSB0aGUgb2xkIG9uZSwgc2luY2Ugd2UncmUgcmVwbGFjaW5nIGl0IHdpdGggYSBuZXcgb25lXG4gICAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChhbHJlYWR5UHJvY2Vzc2VkUHNldWRvRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZXRhID0gYmxhbmtNZXRhKCk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBleHRyYVxuICAgICAgICB9ID0gbWV0YTtcbiAgICAgICAgZXh0cmEuYXR0cmlidXRlc1tEQVRBX0ZBX1BTRVVET19FTEVNRU5UXSA9IHBvc2l0aW9uO1xuICAgICAgICBmaW5kSWNvbihpY29uTmFtZSwgcHJlZml4KS50aGVuKG1haW4gPT4ge1xuICAgICAgICAgIGNvbnN0IGFic3RyYWN0ID0gbWFrZUlubGluZVN2Z0Fic3RyYWN0KHsgLi4ubWV0YSxcbiAgICAgICAgICAgIGljb25zOiB7XG4gICAgICAgICAgICAgIG1haW4sXG4gICAgICAgICAgICAgIG1hc2s6IGVtcHR5Q2Fub25pY2FsSWNvbigpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJlZml4LFxuICAgICAgICAgICAgaWNvbk5hbWU6IGljb25JZGVudGlmaWVyLFxuICAgICAgICAgICAgZXh0cmEsXG4gICAgICAgICAgICB3YXRjaGFibGU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gRE9DVU1FTlQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdzdmcnKTtcblxuICAgICAgICAgIGlmIChwb3NpdGlvbiA9PT0gJzo6YmVmb3JlJykge1xuICAgICAgICAgICAgbm9kZS5pbnNlcnRCZWZvcmUoZWxlbWVudCwgbm9kZS5maXJzdENoaWxkKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9kZS5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlbGVtZW50Lm91dGVySFRNTCA9IGFic3RyYWN0Lm1hcChhID0+IHRvSHRtbChhKSkuam9pbignXFxuJyk7XG4gICAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUocGVuZGluZ0F0dHJpYnV0ZSk7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9KS5jYXRjaChyZWplY3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZShub2RlKSB7XG4gIHJldHVybiBQcm9taXNlLmFsbChbcmVwbGFjZUZvclBvc2l0aW9uKG5vZGUsICc6OmJlZm9yZScpLCByZXBsYWNlRm9yUG9zaXRpb24obm9kZSwgJzo6YWZ0ZXInKV0pO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzYWJsZShub2RlKSB7XG4gIHJldHVybiBub2RlLnBhcmVudE5vZGUgIT09IGRvY3VtZW50LmhlYWQgJiYgIX5UQUdOQU1FU19UT19TS0lQX0ZPUl9QU0VVRE9FTEVNRU5UUy5pbmRleE9mKG5vZGUudGFnTmFtZS50b1VwcGVyQ2FzZSgpKSAmJiAhbm9kZS5nZXRBdHRyaWJ1dGUoREFUQV9GQV9QU0VVRE9fRUxFTUVOVCkgJiYgKCFub2RlLnBhcmVudE5vZGUgfHwgbm9kZS5wYXJlbnROb2RlLnRhZ05hbWUgIT09ICdzdmcnKTtcbn1cblxuZnVuY3Rpb24gc2VhcmNoUHNldWRvRWxlbWVudHMocm9vdCkge1xuICBpZiAoIUlTX0RPTSkgcmV0dXJuO1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IG9wZXJhdGlvbnMgPSB0b0FycmF5KHJvb3QucXVlcnlTZWxlY3RvckFsbCgnKicpKS5maWx0ZXIocHJvY2Vzc2FibGUpLm1hcChyZXBsYWNlKTtcbiAgICBjb25zdCBlbmQgPSBwZXJmLmJlZ2luKCdzZWFyY2hQc2V1ZG9FbGVtZW50cycpO1xuICAgIGRpc2FibGVPYnNlcnZhdGlvbigpO1xuICAgIFByb21pc2UuYWxsKG9wZXJhdGlvbnMpLnRoZW4oKCkgPT4ge1xuICAgICAgZW5kKCk7XG4gICAgICBlbmFibGVPYnNlcnZhdGlvbigpO1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgIGVuZCgpO1xuICAgICAgZW5hYmxlT2JzZXJ2YXRpb24oKTtcbiAgICAgIHJlamVjdCgpO1xuICAgIH0pO1xuICB9KTtcbn1cblxudmFyIFBzZXVkb0VsZW1lbnRzID0ge1xuICBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyhhY2N1bXVsYXRvcikge1xuICAgICAgICBhY2N1bXVsYXRvci5wc2V1ZG9FbGVtZW50c0NhbGxiYWNrID0gc2VhcmNoUHNldWRvRWxlbWVudHM7XG4gICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgIH1cblxuICAgIH07XG4gIH0sXG5cbiAgcHJvdmlkZXMocHJvdmlkZXJzKSB7XG4gICAgcHJvdmlkZXJzLnBzZXVkb0VsZW1lbnRzMnN2ZyA9IGZ1bmN0aW9uIChwYXJhbXMpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbm9kZSA9IERPQ1VNRU5UXG4gICAgICB9ID0gcGFyYW1zO1xuXG4gICAgICBpZiAoY29uZmlnLnNlYXJjaFBzZXVkb0VsZW1lbnRzKSB7XG4gICAgICAgIHNlYXJjaFBzZXVkb0VsZW1lbnRzKG5vZGUpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxufTtcblxubGV0IF91bndhdGNoZWQgPSBmYWxzZTtcbnZhciBNdXRhdGlvbk9ic2VydmVyJDEgPSB7XG4gIG1peG91dCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZG9tOiB7XG4gICAgICAgIHVud2F0Y2goKSB7XG4gICAgICAgICAgZGlzYWJsZU9ic2VydmF0aW9uKCk7XG4gICAgICAgICAgX3Vud2F0Y2hlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH07XG4gIH0sXG5cbiAgaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvb3RzdHJhcCgpIHtcbiAgICAgICAgb2JzZXJ2ZShjaGFpbkhvb2tzKCdtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzJywge30pKTtcbiAgICAgIH0sXG5cbiAgICAgIG5vQXV0bygpIHtcbiAgICAgICAgZGlzY29ubmVjdCgpO1xuICAgICAgfSxcblxuICAgICAgd2F0Y2gocGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBvYnNlcnZlTXV0YXRpb25zUm9vdFxuICAgICAgICB9ID0gcGFyYW1zO1xuXG4gICAgICAgIGlmIChfdW53YXRjaGVkKSB7XG4gICAgICAgICAgZW5hYmxlT2JzZXJ2YXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYnNlcnZlKGNoYWluSG9va3MoJ211dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MnLCB7XG4gICAgICAgICAgICBvYnNlcnZlTXV0YXRpb25zUm9vdFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfTtcbiAgfVxuXG59O1xuXG5jb25zdCBwYXJzZVRyYW5zZm9ybVN0cmluZyA9IHRyYW5zZm9ybVN0cmluZyA9PiB7XG4gIGxldCB0cmFuc2Zvcm0gPSB7XG4gICAgc2l6ZTogMTYsXG4gICAgeDogMCxcbiAgICB5OiAwLFxuICAgIGZsaXBYOiBmYWxzZSxcbiAgICBmbGlwWTogZmFsc2UsXG4gICAgcm90YXRlOiAwXG4gIH07XG4gIHJldHVybiB0cmFuc2Zvcm1TdHJpbmcudG9Mb3dlckNhc2UoKS5zcGxpdCgnICcpLnJlZHVjZSgoYWNjLCBuKSA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBuLnRvTG93ZXJDYXNlKCkuc3BsaXQoJy0nKTtcbiAgICBjb25zdCBmaXJzdCA9IHBhcnRzWzBdO1xuICAgIGxldCByZXN0ID0gcGFydHMuc2xpY2UoMSkuam9pbignLScpO1xuXG4gICAgaWYgKGZpcnN0ICYmIHJlc3QgPT09ICdoJykge1xuICAgICAgYWNjLmZsaXBYID0gdHJ1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgaWYgKGZpcnN0ICYmIHJlc3QgPT09ICd2Jykge1xuICAgICAgYWNjLmZsaXBZID0gdHJ1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgcmVzdCA9IHBhcnNlRmxvYXQocmVzdCk7XG5cbiAgICBpZiAoaXNOYU4ocmVzdCkpIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaXJzdCkge1xuICAgICAgY2FzZSAnZ3Jvdyc6XG4gICAgICAgIGFjYy5zaXplID0gYWNjLnNpemUgKyByZXN0O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc2hyaW5rJzpcbiAgICAgICAgYWNjLnNpemUgPSBhY2Muc2l6ZSAtIHJlc3Q7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgYWNjLnggPSBhY2MueCAtIHJlc3Q7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIGFjYy54ID0gYWNjLnggKyByZXN0O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAndXAnOlxuICAgICAgICBhY2MueSA9IGFjYy55IC0gcmVzdDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICBhY2MueSA9IGFjYy55ICsgcmVzdDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3JvdGF0ZSc6XG4gICAgICAgIGFjYy5yb3RhdGUgPSBhY2Mucm90YXRlICsgcmVzdDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgdHJhbnNmb3JtKTtcbn07XG52YXIgUG93ZXJUcmFuc2Zvcm1zID0ge1xuICBtaXhvdXQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcnNlOiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtU3RyaW5nID0+IHtcbiAgICAgICAgICByZXR1cm4gcGFyc2VUcmFuc2Zvcm1TdHJpbmcodHJhbnNmb3JtU3RyaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG5cbiAgaG9va3MoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcnNlTm9kZUF0dHJpYnV0ZXMoYWNjdW11bGF0b3IsIG5vZGUpIHtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtU3RyaW5nID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtdHJhbnNmb3JtJyk7XG5cbiAgICAgICAgaWYgKHRyYW5zZm9ybVN0cmluZykge1xuICAgICAgICAgIGFjY3VtdWxhdG9yLnRyYW5zZm9ybSA9IHBhcnNlVHJhbnNmb3JtU3RyaW5nKHRyYW5zZm9ybVN0cmluZyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG5cbiAgICB9O1xuICB9LFxuXG4gIHByb3ZpZGVzKHByb3ZpZGVycykge1xuICAgIHByb3ZpZGVycy5nZW5lcmF0ZUFic3RyYWN0VHJhbnNmb3JtR3JvdXBpbmcgPSBmdW5jdGlvbiAoX3JlZikge1xuICAgICAgbGV0IHtcbiAgICAgICAgbWFpbixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICBjb250YWluZXJXaWR0aCxcbiAgICAgICAgaWNvbldpZHRoXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGNvbnN0IG91dGVyID0ge1xuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKFwiLmNvbmNhdChjb250YWluZXJXaWR0aCAvIDIsIFwiIDI1NilcIilcbiAgICAgIH07XG4gICAgICBjb25zdCBpbm5lclRyYW5zbGF0ZSA9IFwidHJhbnNsYXRlKFwiLmNvbmNhdCh0cmFuc2Zvcm0ueCAqIDMyLCBcIiwgXCIpLmNvbmNhdCh0cmFuc2Zvcm0ueSAqIDMyLCBcIikgXCIpO1xuICAgICAgY29uc3QgaW5uZXJTY2FsZSA9IFwic2NhbGUoXCIuY29uY2F0KHRyYW5zZm9ybS5zaXplIC8gMTYgKiAodHJhbnNmb3JtLmZsaXBYID8gLTEgOiAxKSwgXCIsIFwiKS5jb25jYXQodHJhbnNmb3JtLnNpemUgLyAxNiAqICh0cmFuc2Zvcm0uZmxpcFkgPyAtMSA6IDEpLCBcIikgXCIpO1xuICAgICAgY29uc3QgaW5uZXJSb3RhdGUgPSBcInJvdGF0ZShcIi5jb25jYXQodHJhbnNmb3JtLnJvdGF0ZSwgXCIgMCAwKVwiKTtcbiAgICAgIGNvbnN0IGlubmVyID0ge1xuICAgICAgICB0cmFuc2Zvcm06IFwiXCIuY29uY2F0KGlubmVyVHJhbnNsYXRlLCBcIiBcIikuY29uY2F0KGlubmVyU2NhbGUsIFwiIFwiKS5jb25jYXQoaW5uZXJSb3RhdGUpXG4gICAgICB9O1xuICAgICAgY29uc3QgcGF0aCA9IHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIi5jb25jYXQoaWNvbldpZHRoIC8gMiAqIC0xLCBcIiAtMjU2KVwiKVxuICAgICAgfTtcbiAgICAgIGNvbnN0IG9wZXJhdGlvbnMgPSB7XG4gICAgICAgIG91dGVyLFxuICAgICAgICBpbm5lcixcbiAgICAgICAgcGF0aFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRhZzogJ2cnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLm9wZXJhdGlvbnMub3V0ZXJcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFt7XG4gICAgICAgICAgdGFnOiAnZycsXG4gICAgICAgICAgYXR0cmlidXRlczogeyAuLi5vcGVyYXRpb25zLmlubmVyXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICAgIHRhZzogbWFpbi5pY29uLnRhZyxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBtYWluLmljb24uY2hpbGRyZW4sXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLm1haW4uaWNvbi5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICAuLi5vcGVyYXRpb25zLnBhdGhcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XVxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICB9O1xuICB9XG5cbn07XG5cbmNvbnN0IEFMTF9TUEFDRSA9IHtcbiAgeDogMCxcbiAgeTogMCxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgaGVpZ2h0OiAnMTAwJSdcbn07XG5cbmZ1bmN0aW9uIGZpbGxCbGFjayhhYnN0cmFjdCkge1xuICBsZXQgZm9yY2UgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHRydWU7XG5cbiAgaWYgKGFic3RyYWN0LmF0dHJpYnV0ZXMgJiYgKGFic3RyYWN0LmF0dHJpYnV0ZXMuZmlsbCB8fCBmb3JjZSkpIHtcbiAgICBhYnN0cmFjdC5hdHRyaWJ1dGVzLmZpbGwgPSAnYmxhY2snO1xuICB9XG5cbiAgcmV0dXJuIGFic3RyYWN0O1xufVxuXG5mdW5jdGlvbiBkZUdyb3VwKGFic3RyYWN0KSB7XG4gIGlmIChhYnN0cmFjdC50YWcgPT09ICdnJykge1xuICAgIHJldHVybiBhYnN0cmFjdC5jaGlsZHJlbjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW2Fic3RyYWN0XTtcbiAgfVxufVxuXG52YXIgTWFza3MgPSB7XG4gIGhvb2tzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJzZU5vZGVBdHRyaWJ1dGVzKGFjY3VtdWxhdG9yLCBub2RlKSB7XG4gICAgICAgIGNvbnN0IG1hc2tEYXRhID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtbWFzaycpO1xuICAgICAgICBjb25zdCBtYXNrID0gIW1hc2tEYXRhID8gZW1wdHlDYW5vbmljYWxJY29uKCkgOiBnZXRDYW5vbmljYWxJY29uKG1hc2tEYXRhLnNwbGl0KCcgJykubWFwKGkgPT4gaS50cmltKCkpKTtcblxuICAgICAgICBpZiAoIW1hc2sucHJlZml4KSB7XG4gICAgICAgICAgbWFzay5wcmVmaXggPSBnZXREZWZhdWx0VXNhYmxlUHJlZml4KCk7XG4gICAgICAgIH1cblxuICAgICAgICBhY2N1bXVsYXRvci5tYXNrID0gbWFzaztcbiAgICAgICAgYWNjdW11bGF0b3IubWFza0lkID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtbWFzay1pZCcpO1xuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG5cbiAgICB9O1xuICB9LFxuXG4gIHByb3ZpZGVzKHByb3ZpZGVycykge1xuICAgIHByb3ZpZGVycy5nZW5lcmF0ZUFic3RyYWN0TWFzayA9IGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgICBsZXQge1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgbWFpbixcbiAgICAgICAgbWFzayxcbiAgICAgICAgbWFza0lkOiBleHBsaWNpdE1hc2tJZCxcbiAgICAgICAgdHJhbnNmb3JtXG4gICAgICB9ID0gX3JlZjtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgd2lkdGg6IG1haW5XaWR0aCxcbiAgICAgICAgaWNvbjogbWFpblBhdGhcbiAgICAgIH0gPSBtYWluO1xuICAgICAgY29uc3Qge1xuICAgICAgICB3aWR0aDogbWFza1dpZHRoLFxuICAgICAgICBpY29uOiBtYXNrUGF0aFxuICAgICAgfSA9IG1hc2s7XG4gICAgICBjb25zdCB0cmFucyA9IHRyYW5zZm9ybUZvclN2Zyh7XG4gICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgY29udGFpbmVyV2lkdGg6IG1hc2tXaWR0aCxcbiAgICAgICAgaWNvbldpZHRoOiBtYWluV2lkdGhcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbWFza1JlY3QgPSB7XG4gICAgICAgIHRhZzogJ3JlY3QnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLkFMTF9TUEFDRSxcbiAgICAgICAgICBmaWxsOiAnd2hpdGUnXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBtYXNrSW5uZXJHcm91cENoaWxkcmVuTWl4aW4gPSBtYWluUGF0aC5jaGlsZHJlbiA/IHtcbiAgICAgICAgY2hpbGRyZW46IG1haW5QYXRoLmNoaWxkcmVuLm1hcChmaWxsQmxhY2spXG4gICAgICB9IDoge307XG4gICAgICBjb25zdCBtYXNrSW5uZXJHcm91cCA9IHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4udHJhbnMuaW5uZXJcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFtmaWxsQmxhY2soe1xuICAgICAgICAgIHRhZzogbWFpblBhdGgudGFnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4ubWFpblBhdGguYXR0cmlidXRlcyxcbiAgICAgICAgICAgIC4uLnRyYW5zLnBhdGhcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLm1hc2tJbm5lckdyb3VwQ2hpbGRyZW5NaXhpblxuICAgICAgICB9KV1cbiAgICAgIH07XG4gICAgICBjb25zdCBtYXNrT3V0ZXJHcm91cCA9IHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4udHJhbnMub3V0ZXJcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFttYXNrSW5uZXJHcm91cF1cbiAgICAgIH07XG4gICAgICBjb25zdCBtYXNrSWQgPSBcIm1hc2stXCIuY29uY2F0KGV4cGxpY2l0TWFza0lkIHx8IG5leHRVbmlxdWVJZCgpKTtcbiAgICAgIGNvbnN0IGNsaXBJZCA9IFwiY2xpcC1cIi5jb25jYXQoZXhwbGljaXRNYXNrSWQgfHwgbmV4dFVuaXF1ZUlkKCkpO1xuICAgICAgY29uc3QgbWFza1RhZyA9IHtcbiAgICAgICAgdGFnOiAnbWFzaycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4uQUxMX1NQQUNFLFxuICAgICAgICAgIGlkOiBtYXNrSWQsXG4gICAgICAgICAgbWFza1VuaXRzOiAndXNlclNwYWNlT25Vc2UnLFxuICAgICAgICAgIG1hc2tDb250ZW50VW5pdHM6ICd1c2VyU3BhY2VPblVzZSdcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFttYXNrUmVjdCwgbWFza091dGVyR3JvdXBdXG4gICAgICB9O1xuICAgICAgY29uc3QgZGVmcyA9IHtcbiAgICAgICAgdGFnOiAnZGVmcycsXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIHRhZzogJ2NsaXBQYXRoJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBpZDogY2xpcElkXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGlsZHJlbjogZGVHcm91cChtYXNrUGF0aClcbiAgICAgICAgfSwgbWFza1RhZ11cbiAgICAgIH07XG4gICAgICBjaGlsZHJlbi5wdXNoKGRlZnMsIHtcbiAgICAgICAgdGFnOiAncmVjdCcsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgICAnY2xpcC1wYXRoJzogXCJ1cmwoI1wiLmNvbmNhdChjbGlwSWQsIFwiKVwiKSxcbiAgICAgICAgICBtYXNrOiBcInVybCgjXCIuY29uY2F0KG1hc2tJZCwgXCIpXCIpLFxuICAgICAgICAgIC4uLkFMTF9TUEFDRVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICBhdHRyaWJ1dGVzXG4gICAgICB9O1xuICAgIH07XG4gIH1cblxufTtcblxudmFyIE1pc3NpbmdJY29uSW5kaWNhdG9yID0ge1xuICBwcm92aWRlcyhwcm92aWRlcnMpIHtcbiAgICBsZXQgcmVkdWNlTW90aW9uID0gZmFsc2U7XG5cbiAgICBpZiAoV0lORE9XLm1hdGNoTWVkaWEpIHtcbiAgICAgIHJlZHVjZU1vdGlvbiA9IFdJTkRPVy5tYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXM7XG4gICAgfVxuXG4gICAgcHJvdmlkZXJzLm1pc3NpbmdJY29uQWJzdHJhY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBnQ2hpbGRyZW4gPSBbXTtcbiAgICAgIGNvbnN0IEZJTEwgPSB7XG4gICAgICAgIGZpbGw6ICdjdXJyZW50Q29sb3InXG4gICAgICB9O1xuICAgICAgY29uc3QgQU5JTUFUSU9OX0JBU0UgPSB7XG4gICAgICAgIGF0dHJpYnV0ZVR5cGU6ICdYTUwnLFxuICAgICAgICByZXBlYXRDb3VudDogJ2luZGVmaW5pdGUnLFxuICAgICAgICBkdXI6ICcycydcbiAgICAgIH07IC8vIFJpbmdcblxuICAgICAgZ0NoaWxkcmVuLnB1c2goe1xuICAgICAgICB0YWc6ICdwYXRoJyxcbiAgICAgICAgYXR0cmlidXRlczogeyAuLi5GSUxMLFxuICAgICAgICAgIGQ6ICdNMTU2LjUsNDQ3LjdsLTEyLjYsMjkuNWMtMTguNy05LjUtMzUuOS0yMS4yLTUxLjUtMzQuOWwyMi43LTIyLjdDMTI3LjYsNDMwLjUsMTQxLjUsNDQwLDE1Ni41LDQ0Ny43eiBNNDAuNiwyNzJIOC41IGMxLjQsMjEuMiw1LjQsNDEuNywxMS43LDYxLjFMNTAsMzIxLjJDNDUuMSwzMDUuNSw0MS44LDI4OSw0MC42LDI3MnogTTQwLjYsMjQwYzEuNC0xOC44LDUuMi0zNywxMS4xLTU0LjFsLTI5LjUtMTIuNiBDMTQuNywxOTQuMywxMCwyMTYuNyw4LjUsMjQwSDQwLjZ6IE02NC4zLDE1Ni41YzcuOC0xNC45LDE3LjItMjguOCwyOC4xLTQxLjVMNjkuNyw5Mi4zYy0xMy43LDE1LjYtMjUuNSwzMi44LTM0LjksNTEuNSBMNjQuMywxNTYuNXogTTM5Nyw0MTkuNmMtMTMuOSwxMi0yOS40LDIyLjMtNDYuMSwzMC40bDExLjksMjkuOGMyMC43LTkuOSwzOS44LTIyLjYsNTYuOS0zNy42TDM5Nyw0MTkuNnogTTExNSw5Mi40IGMxMy45LTEyLDI5LjQtMjIuMyw0Ni4xLTMwLjRsLTExLjktMjkuOGMtMjAuNyw5LjktMzkuOCwyMi42LTU2LjgsMzcuNkwxMTUsOTIuNHogTTQ0Ny43LDM1NS41Yy03LjgsMTQuOS0xNy4yLDI4LjgtMjguMSw0MS41IGwyMi43LDIyLjdjMTMuNy0xNS42LDI1LjUtMzIuOSwzNC45LTUxLjVMNDQ3LjcsMzU1LjV6IE00NzEuNCwyNzJjLTEuNCwxOC44LTUuMiwzNy0xMS4xLDU0LjFsMjkuNSwxMi42IGM3LjUtMjEuMSwxMi4yLTQzLjUsMTMuNi02Ni44SDQ3MS40eiBNMzIxLjIsNDYyYy0xNS43LDUtMzIuMiw4LjItNDkuMiw5LjR2MzIuMWMyMS4yLTEuNCw0MS43LTUuNCw2MS4xLTExLjdMMzIxLjIsNDYyeiBNMjQwLDQ3MS40Yy0xOC44LTEuNC0zNy01LjItNTQuMS0xMS4xbC0xMi42LDI5LjVjMjEuMSw3LjUsNDMuNSwxMi4yLDY2LjgsMTMuNlY0NzEuNHogTTQ2MiwxOTAuOGM1LDE1LjcsOC4yLDMyLjIsOS40LDQ5LjJoMzIuMSBjLTEuNC0yMS4yLTUuNC00MS43LTExLjctNjEuMUw0NjIsMTkwLjh6IE05Mi40LDM5N2MtMTItMTMuOS0yMi4zLTI5LjQtMzAuNC00Ni4xbC0yOS44LDExLjljOS45LDIwLjcsMjIuNiwzOS44LDM3LjYsNTYuOSBMOTIuNCwzOTd6IE0yNzIsNDAuNmMxOC44LDEuNCwzNi45LDUuMiw1NC4xLDExLjFsMTIuNi0yOS41QzMxNy43LDE0LjcsMjk1LjMsMTAsMjcyLDguNVY0MC42eiBNMTkwLjgsNTAgYzE1LjctNSwzMi4yLTguMiw0OS4yLTkuNFY4LjVjLTIxLjIsMS40LTQxLjcsNS40LTYxLjEsMTEuN0wxOTAuOCw1MHogTTQ0Mi4zLDkyLjNMNDE5LjYsMTE1YzEyLDEzLjksMjIuMywyOS40LDMwLjUsNDYuMSBsMjkuOC0xMS45QzQ3MCwxMjguNSw0NTcuMywxMDkuNCw0NDIuMyw5Mi4zeiBNMzk3LDkyLjRsMjIuNy0yMi43Yy0xNS42LTEzLjctMzIuOC0yNS41LTUxLjUtMzQuOWwtMTIuNiwyOS41IEMzNzAuNCw3Mi4xLDM4NC40LDgxLjUsMzk3LDkyLjR6J1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IE9QQUNJVFlfQU5JTUFURSA9IHsgLi4uQU5JTUFUSU9OX0JBU0UsXG4gICAgICAgIGF0dHJpYnV0ZU5hbWU6ICdvcGFjaXR5J1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGRvdCA9IHtcbiAgICAgICAgdGFnOiAnY2lyY2xlJyxcbiAgICAgICAgYXR0cmlidXRlczogeyAuLi5GSUxMLFxuICAgICAgICAgIGN4OiAnMjU2JyxcbiAgICAgICAgICBjeTogJzM2NCcsXG4gICAgICAgICAgcjogJzI4J1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgIH07XG5cbiAgICAgIGlmICghcmVkdWNlTW90aW9uKSB7XG4gICAgICAgIGRvdC5jaGlsZHJlbi5wdXNoKHtcbiAgICAgICAgICB0YWc6ICdhbmltYXRlJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLkFOSU1BVElPTl9CQVNFLFxuICAgICAgICAgICAgYXR0cmlidXRlTmFtZTogJ3InLFxuICAgICAgICAgICAgdmFsdWVzOiAnMjg7MTQ7Mjg7Mjg7MTQ7Mjg7J1xuICAgICAgICAgIH1cbiAgICAgICAgfSwge1xuICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4uT1BBQ0lUWV9BTklNQVRFLFxuICAgICAgICAgICAgdmFsdWVzOiAnMTswOzE7MTswOzE7J1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGdDaGlsZHJlbi5wdXNoKGRvdCk7XG4gICAgICBnQ2hpbGRyZW4ucHVzaCh7XG4gICAgICAgIHRhZzogJ3BhdGgnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLkZJTEwsXG4gICAgICAgICAgb3BhY2l0eTogJzEnLFxuICAgICAgICAgIGQ6ICdNMjYzLjcsMzEyaC0xNmMtNi42LDAtMTItNS40LTEyLTEyYzAtNzEsNzcuNC02My45LDc3LjQtMTA3LjhjMC0yMC0xNy44LTQwLjItNTcuNC00MC4yYy0yOS4xLDAtNDQuMyw5LjYtNTkuMiwyOC43IGMtMy45LDUtMTEuMSw2LTE2LjIsMi40bC0xMy4xLTkuMmMtNS42LTMuOS02LjktMTEuOC0yLjYtMTcuMmMyMS4yLTI3LjIsNDYuNC00NC43LDkxLjItNDQuN2M1Mi4zLDAsOTcuNCwyOS44LDk3LjQsODAuMiBjMCw2Ny42LTc3LjQsNjMuNS03Ny40LDEwNy44QzI3NS43LDMwNi42LDI3MC4zLDMxMiwyNjMuNywzMTJ6J1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogcmVkdWNlTW90aW9uID8gW10gOiBbe1xuICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgLi4uT1BBQ0lUWV9BTklNQVRFLFxuICAgICAgICAgICAgdmFsdWVzOiAnMTswOzA7MDswOzE7J1xuICAgICAgICAgIH1cbiAgICAgICAgfV1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXJlZHVjZU1vdGlvbikge1xuICAgICAgICAvLyBFeGNsYW1hdGlvblxuICAgICAgICBnQ2hpbGRyZW4ucHVzaCh7XG4gICAgICAgICAgdGFnOiAncGF0aCcsXG4gICAgICAgICAgYXR0cmlidXRlczogeyAuLi5GSUxMLFxuICAgICAgICAgICAgb3BhY2l0eTogJzAnLFxuICAgICAgICAgICAgZDogJ00yMzIuNSwxMzQuNWw3LDE2OGMwLjMsNi40LDUuNiwxMS41LDEyLDExLjVoOWM2LjQsMCwxMS43LTUuMSwxMi0xMS41bDctMTY4YzAuMy02LjgtNS4yLTEyLjUtMTItMTIuNWgtMjMgQzIzNy43LDEyMiwyMzIuMiwxMjcuNywyMzIuNSwxMzQuNXonXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICAgIHRhZzogJ2FuaW1hdGUnLFxuICAgICAgICAgICAgYXR0cmlidXRlczogeyAuLi5PUEFDSVRZX0FOSU1BVEUsXG4gICAgICAgICAgICAgIHZhbHVlczogJzA7MDsxOzE7MDswOydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGFnOiAnZycsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAnY2xhc3MnOiAnbWlzc2luZydcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IGdDaGlsZHJlblxuICAgICAgfTtcbiAgICB9O1xuICB9XG5cbn07XG5cbnZhciBTdmdTeW1ib2xzID0ge1xuICBob29rcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyc2VOb2RlQXR0cmlidXRlcyhhY2N1bXVsYXRvciwgbm9kZSkge1xuICAgICAgICBjb25zdCBzeW1ib2xEYXRhID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtc3ltYm9sJyk7XG4gICAgICAgIGNvbnN0IHN5bWJvbCA9IHN5bWJvbERhdGEgPT09IG51bGwgPyBmYWxzZSA6IHN5bWJvbERhdGEgPT09ICcnID8gdHJ1ZSA6IHN5bWJvbERhdGE7XG4gICAgICAgIGFjY3VtdWxhdG9yWydzeW1ib2wnXSA9IHN5bWJvbDtcbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfVxuXG4gICAgfTtcbiAgfVxuXG59O1xuXG52YXIgcGx1Z2lucyA9IFtJbmplY3RDU1MsIFJlcGxhY2VFbGVtZW50cywgTGF5ZXJzLCBMYXllcnNDb3VudGVyLCBMYXllcnNUZXh0LCBQc2V1ZG9FbGVtZW50cywgTXV0YXRpb25PYnNlcnZlciQxLCBQb3dlclRyYW5zZm9ybXMsIE1hc2tzLCBNaXNzaW5nSWNvbkluZGljYXRvciwgU3ZnU3ltYm9sc107XG5cbnJlZ2lzdGVyUGx1Z2lucyhwbHVnaW5zLCB7XG4gIG1peG91dHNUbzogYXBpXG59KTtcbmNvbnN0IG5vQXV0byQxID0gYXBpLm5vQXV0bztcbmNvbnN0IGNvbmZpZyQxID0gYXBpLmNvbmZpZztcbmNvbnN0IGxpYnJhcnkkMSA9IGFwaS5saWJyYXJ5O1xuY29uc3QgZG9tJDEgPSBhcGkuZG9tO1xuY29uc3QgcGFyc2UkMSA9IGFwaS5wYXJzZTtcbmNvbnN0IGZpbmRJY29uRGVmaW5pdGlvbiQxID0gYXBpLmZpbmRJY29uRGVmaW5pdGlvbjtcbmNvbnN0IHRvSHRtbCQxID0gYXBpLnRvSHRtbDtcbmNvbnN0IGljb24gPSBhcGkuaWNvbjtcbmNvbnN0IGxheWVyID0gYXBpLmxheWVyO1xuY29uc3QgdGV4dCA9IGFwaS50ZXh0O1xuY29uc3QgY291bnRlciA9IGFwaS5jb3VudGVyO1xuXG5leHBvcnQgeyBub0F1dG8kMSBhcyBub0F1dG8sIGNvbmZpZyQxIGFzIGNvbmZpZywgbGlicmFyeSQxIGFzIGxpYnJhcnksIGRvbSQxIGFzIGRvbSwgcGFyc2UkMSBhcyBwYXJzZSwgZmluZEljb25EZWZpbml0aW9uJDEgYXMgZmluZEljb25EZWZpbml0aW9uLCB0b0h0bWwkMSBhcyB0b0h0bWwsIGljb24sIGxheWVyLCB0ZXh0LCBjb3VudGVyLCBhcGkgfTtcbiIsICJpbXBvcnQgeyBwYXJzZSwgaWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgIGVudW1lcmFibGVPbmx5ICYmIChzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7XG4gICAgfSkpLCBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7XG4gIH1cblxuICByZXR1cm4ga2V5cztcbn1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZDIodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IG51bGwgIT0gYXJndW1lbnRzW2ldID8gYXJndW1lbnRzW2ldIDoge307XG4gICAgaSAlIDIgPyBvd25LZXlzKE9iamVjdChzb3VyY2UpLCAhMCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICB9KSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzID8gT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKSA6IG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7XG5cbiAgcmV0dXJuIF90eXBlb2YgPSBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBcInN5bWJvbFwiID09IHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPyBmdW5jdGlvbiAob2JqKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmo7XG4gIH0gOiBmdW5jdGlvbiAob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajtcbiAgfSwgX3R5cGVvZihvYmopO1xufVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuXG4gIHZhciB0YXJnZXQgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKTtcblxuICB2YXIga2V5LCBpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHNvdXJjZVN5bWJvbEtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlU3ltYm9sS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAga2V5ID0gc291cmNlU3ltYm9sS2V5c1tpXTtcbiAgICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzb3VyY2UsIGtleSkpIGNvbnRpbnVlO1xuICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7XG4gIHJldHVybiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5KGFycikgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFycikgfHwgX25vbkl0ZXJhYmxlU3ByZWFkKCk7XG59XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KGFycik7XG59XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBpdGVyW1N5bWJvbC5pdGVyYXRvcl0gIT0gbnVsbCB8fCBpdGVyW1wiQEBpdGVyYXRvclwiXSAhPSBudWxsKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikge1xuICBpZiAoIW8pIHJldHVybjtcbiAgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbiAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xuICBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lO1xuICBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTtcbiAgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG5cbiAgcmV0dXJuIGFycjI7XG59XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59XG5cbi8vIEdldCBDU1MgY2xhc3MgbGlzdCBmcm9tIGEgcHJvcHMgb2JqZWN0XG5mdW5jdGlvbiBjbGFzc0xpc3QocHJvcHMpIHtcbiAgdmFyIF9jbGFzc2VzO1xuXG4gIHZhciBiZWF0ID0gcHJvcHMuYmVhdCxcbiAgICAgIGZhZGUgPSBwcm9wcy5mYWRlLFxuICAgICAgYmVhdEZhZGUgPSBwcm9wcy5iZWF0RmFkZSxcbiAgICAgIGJvdW5jZSA9IHByb3BzLmJvdW5jZSxcbiAgICAgIHNoYWtlID0gcHJvcHMuc2hha2UsXG4gICAgICBmbGFzaCA9IHByb3BzLmZsYXNoLFxuICAgICAgc3BpbiA9IHByb3BzLnNwaW4sXG4gICAgICBzcGluUHVsc2UgPSBwcm9wcy5zcGluUHVsc2UsXG4gICAgICBzcGluUmV2ZXJzZSA9IHByb3BzLnNwaW5SZXZlcnNlLFxuICAgICAgcHVsc2UgPSBwcm9wcy5wdWxzZSxcbiAgICAgIGZpeGVkV2lkdGggPSBwcm9wcy5maXhlZFdpZHRoLFxuICAgICAgaW52ZXJzZSA9IHByb3BzLmludmVyc2UsXG4gICAgICBib3JkZXIgPSBwcm9wcy5ib3JkZXIsXG4gICAgICBsaXN0SXRlbSA9IHByb3BzLmxpc3RJdGVtLFxuICAgICAgZmxpcCA9IHByb3BzLmZsaXAsXG4gICAgICBzaXplID0gcHJvcHMuc2l6ZSxcbiAgICAgIHJvdGF0aW9uID0gcHJvcHMucm90YXRpb24sXG4gICAgICBwdWxsID0gcHJvcHMucHVsbDsgLy8gbWFwIG9mIENTUyBjbGFzcyBuYW1lcyB0byBwcm9wZXJ0aWVzXG5cbiAgdmFyIGNsYXNzZXMgPSAoX2NsYXNzZXMgPSB7XG4gICAgJ2ZhLWJlYXQnOiBiZWF0LFxuICAgICdmYS1mYWRlJzogZmFkZSxcbiAgICAnZmEtYmVhdC1mYWRlJzogYmVhdEZhZGUsXG4gICAgJ2ZhLWJvdW5jZSc6IGJvdW5jZSxcbiAgICAnZmEtc2hha2UnOiBzaGFrZSxcbiAgICAnZmEtZmxhc2gnOiBmbGFzaCxcbiAgICAnZmEtc3Bpbic6IHNwaW4sXG4gICAgJ2ZhLXNwaW4tcmV2ZXJzZSc6IHNwaW5SZXZlcnNlLFxuICAgICdmYS1zcGluLXB1bHNlJzogc3BpblB1bHNlLFxuICAgICdmYS1wdWxzZSc6IHB1bHNlLFxuICAgICdmYS1mdyc6IGZpeGVkV2lkdGgsXG4gICAgJ2ZhLWludmVyc2UnOiBpbnZlcnNlLFxuICAgICdmYS1ib3JkZXInOiBib3JkZXIsXG4gICAgJ2ZhLWxpJzogbGlzdEl0ZW0sXG4gICAgJ2ZhLWZsaXAnOiBmbGlwID09PSB0cnVlLFxuICAgICdmYS1mbGlwLWhvcml6b250YWwnOiBmbGlwID09PSAnaG9yaXpvbnRhbCcgfHwgZmxpcCA9PT0gJ2JvdGgnLFxuICAgICdmYS1mbGlwLXZlcnRpY2FsJzogZmxpcCA9PT0gJ3ZlcnRpY2FsJyB8fCBmbGlwID09PSAnYm90aCdcbiAgfSwgX2RlZmluZVByb3BlcnR5KF9jbGFzc2VzLCBcImZhLVwiLmNvbmNhdChzaXplKSwgdHlwZW9mIHNpemUgIT09ICd1bmRlZmluZWQnICYmIHNpemUgIT09IG51bGwpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzZXMsIFwiZmEtcm90YXRlLVwiLmNvbmNhdChyb3RhdGlvbiksIHR5cGVvZiByb3RhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgcm90YXRpb24gIT09IG51bGwgJiYgcm90YXRpb24gIT09IDApLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzZXMsIFwiZmEtcHVsbC1cIi5jb25jYXQocHVsbCksIHR5cGVvZiBwdWxsICE9PSAndW5kZWZpbmVkJyAmJiBwdWxsICE9PSBudWxsKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzc2VzLCAnZmEtc3dhcC1vcGFjaXR5JywgcHJvcHMuc3dhcE9wYWNpdHkpLCBfY2xhc3Nlcyk7IC8vIG1hcCBvdmVyIGFsbCB0aGUga2V5cyBpbiB0aGUgY2xhc3NlcyBvYmplY3RcbiAgLy8gcmV0dXJuIGFuIGFycmF5IG9mIHRoZSBrZXlzIHdoZXJlIHRoZSB2YWx1ZSBmb3IgdGhlIGtleSBpcyBub3QgbnVsbFxuXG4gIHJldHVybiBPYmplY3Qua2V5cyhjbGFzc2VzKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBjbGFzc2VzW2tleV0gPyBrZXkgOiBudWxsO1xuICB9KS5maWx0ZXIoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBrZXk7XG4gIH0pO1xufVxuXG4vLyBDYW1lbGl6ZSB0YWtlbiBmcm9tIGh1bXBzXG4vLyBodW1wcyBpcyBjb3B5cmlnaHQgXHUwMEE5IDIwMTIrIERvbSBDaHJpc3RpZVxuLy8gUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuLy8gUGVyZm9ybWFudCB3YXkgdG8gZGV0ZXJtaW5lIGlmIG9iamVjdCBjb2VyY2VzIHRvIGEgbnVtYmVyXG5mdW5jdGlvbiBfaXNOdW1lcmljYWwob2JqKSB7XG4gIG9iaiA9IG9iaiAtIDA7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcblxuICByZXR1cm4gb2JqID09PSBvYmo7XG59XG5cbmZ1bmN0aW9uIGNhbWVsaXplKHN0cmluZykge1xuICBpZiAoX2lzTnVtZXJpY2FsKHN0cmluZykpIHtcbiAgICByZXR1cm4gc3RyaW5nO1xuICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWVzY2FwZVxuXG5cbiAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoL1tcXC1fXFxzXSsoLik/L2csIGZ1bmN0aW9uIChtYXRjaCwgY2hyKSB7XG4gICAgcmV0dXJuIGNociA/IGNoci50b1VwcGVyQ2FzZSgpIDogJyc7XG4gIH0pOyAvLyBFbnN1cmUgMXN0IGNoYXIgaXMgYWx3YXlzIGxvd2VyY2FzZVxuXG4gIHJldHVybiBzdHJpbmcuc3Vic3RyKDAsIDEpLnRvTG93ZXJDYXNlKCkgKyBzdHJpbmcuc3Vic3RyKDEpO1xufVxuXG52YXIgX2V4Y2x1ZGVkID0gW1wic3R5bGVcIl07XG5cbmZ1bmN0aW9uIGNhcGl0YWxpemUodmFsKSB7XG4gIHJldHVybiB2YWwuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB2YWwuc2xpY2UoMSk7XG59XG5cbmZ1bmN0aW9uIHN0eWxlVG9PYmplY3Qoc3R5bGUpIHtcbiAgcmV0dXJuIHN0eWxlLnNwbGl0KCc7JykubWFwKGZ1bmN0aW9uIChzKSB7XG4gICAgcmV0dXJuIHMudHJpbSgpO1xuICB9KS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcbiAgICByZXR1cm4gcztcbiAgfSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBhaXIpIHtcbiAgICB2YXIgaSA9IHBhaXIuaW5kZXhPZignOicpO1xuICAgIHZhciBwcm9wID0gY2FtZWxpemUocGFpci5zbGljZSgwLCBpKSk7XG4gICAgdmFyIHZhbHVlID0gcGFpci5zbGljZShpICsgMSkudHJpbSgpO1xuICAgIHByb3Auc3RhcnRzV2l0aCgnd2Via2l0JykgPyBhY2NbY2FwaXRhbGl6ZShwcm9wKV0gPSB2YWx1ZSA6IGFjY1twcm9wXSA9IHZhbHVlO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbn1cblxuZnVuY3Rpb24gY29udmVydChjcmVhdGVFbGVtZW50LCBlbGVtZW50KSB7XG4gIHZhciBleHRyYVByb3BzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcblxuICBpZiAodHlwZW9mIGVsZW1lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICB2YXIgY2hpbGRyZW4gPSAoZWxlbWVudC5jaGlsZHJlbiB8fCBbXSkubWFwKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIHJldHVybiBjb252ZXJ0KGNyZWF0ZUVsZW1lbnQsIGNoaWxkKTtcbiAgfSk7XG4gIC8qIGVzbGludC1kaXNhYmxlIGRvdC1ub3RhdGlvbiAqL1xuXG4gIHZhciBtaXhpbnMgPSBPYmplY3Qua2V5cyhlbGVtZW50LmF0dHJpYnV0ZXMgfHwge30pLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBrZXkpIHtcbiAgICB2YXIgdmFsID0gZWxlbWVudC5hdHRyaWJ1dGVzW2tleV07XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnY2xhc3MnOlxuICAgICAgICBhY2MuYXR0cnNbJ2NsYXNzTmFtZSddID0gdmFsO1xuICAgICAgICBkZWxldGUgZWxlbWVudC5hdHRyaWJ1dGVzWydjbGFzcyddO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc3R5bGUnOlxuICAgICAgICBhY2MuYXR0cnNbJ3N0eWxlJ10gPSBzdHlsZVRvT2JqZWN0KHZhbCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoa2V5LmluZGV4T2YoJ2FyaWEtJykgPT09IDAgfHwga2V5LmluZGV4T2YoJ2RhdGEtJykgPT09IDApIHtcbiAgICAgICAgICBhY2MuYXR0cnNba2V5LnRvTG93ZXJDYXNlKCldID0gdmFsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjYy5hdHRyc1tjYW1lbGl6ZShrZXkpXSA9IHZhbDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge1xuICAgIGF0dHJzOiB7fVxuICB9KTtcblxuICB2YXIgX2V4dHJhUHJvcHMkc3R5bGUgPSBleHRyYVByb3BzLnN0eWxlLFxuICAgICAgZXhpc3RpbmdTdHlsZSA9IF9leHRyYVByb3BzJHN0eWxlID09PSB2b2lkIDAgPyB7fSA6IF9leHRyYVByb3BzJHN0eWxlLFxuICAgICAgcmVtYWluaW5nID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKGV4dHJhUHJvcHMsIF9leGNsdWRlZCk7XG5cbiAgbWl4aW5zLmF0dHJzWydzdHlsZSddID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIG1peGlucy5hdHRyc1snc3R5bGUnXSksIGV4aXN0aW5nU3R5bGUpO1xuICAvKiBlc2xpbnQtZW5hYmxlICovXG5cbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQuYXBwbHkodm9pZCAwLCBbZWxlbWVudC50YWcsIF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBtaXhpbnMuYXR0cnMpLCByZW1haW5pbmcpXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGNoaWxkcmVuKSkpO1xufVxuXG52YXIgUFJPRFVDVElPTiA9IGZhbHNlO1xuXG50cnkge1xuICBQUk9EVUNUSU9OID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcbn0gY2F0Y2ggKGUpIHt9XG5cbmZ1bmN0aW9uIGxvZyAoKSB7XG4gIGlmICghUFJPRFVDVElPTiAmJiBjb25zb2xlICYmIHR5cGVvZiBjb25zb2xlLmVycm9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIF9jb25zb2xlO1xuXG4gICAgKF9jb25zb2xlID0gY29uc29sZSkuZXJyb3IuYXBwbHkoX2NvbnNvbGUsIGFyZ3VtZW50cyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplSWNvbkFyZ3MoaWNvbikge1xuICAvLyB0aGlzIGhhcyBldmVyeXRoaW5nIHRoYXQgaXQgbmVlZHMgdG8gYmUgcmVuZGVyZWQgd2hpY2ggbWVhbnMgaXQgd2FzIHByb2JhYmx5IGltcG9ydGVkXG4gIC8vIGRpcmVjdGx5IGZyb20gYW4gaWNvbiBzdmcgcGFja2FnZVxuICBpZiAoaWNvbiAmJiBfdHlwZW9mKGljb24pID09PSAnb2JqZWN0JyAmJiBpY29uLnByZWZpeCAmJiBpY29uLmljb25OYW1lICYmIGljb24uaWNvbikge1xuICAgIHJldHVybiBpY29uO1xuICB9XG5cbiAgaWYgKHBhcnNlLmljb24pIHtcbiAgICByZXR1cm4gcGFyc2UuaWNvbihpY29uKTtcbiAgfSAvLyBpZiB0aGUgaWNvbiBpcyBudWxsLCB0aGVyZSdzIG5vdGhpbmcgdG8gZG9cblxuXG4gIGlmIChpY29uID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gaWYgdGhlIGljb24gaXMgYW4gb2JqZWN0IGFuZCBoYXMgYSBwcmVmaXggYW5kIGFuIGljb24gbmFtZSwgcmV0dXJuIGl0XG5cblxuICBpZiAoaWNvbiAmJiBfdHlwZW9mKGljb24pID09PSAnb2JqZWN0JyAmJiBpY29uLnByZWZpeCAmJiBpY29uLmljb25OYW1lKSB7XG4gICAgcmV0dXJuIGljb247XG4gIH0gLy8gaWYgaXQncyBhbiBhcnJheSB3aXRoIGxlbmd0aCBvZiB0d29cblxuXG4gIGlmIChBcnJheS5pc0FycmF5KGljb24pICYmIGljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgLy8gdXNlIHRoZSBmaXJzdCBpdGVtIGFzIHByZWZpeCwgc2Vjb25kIGFzIGljb24gbmFtZVxuICAgIHJldHVybiB7XG4gICAgICBwcmVmaXg6IGljb25bMF0sXG4gICAgICBpY29uTmFtZTogaWNvblsxXVxuICAgIH07XG4gIH0gLy8gaWYgaXQncyBhIHN0cmluZywgdXNlIGl0IGFzIHRoZSBpY29uIG5hbWVcblxuXG4gIGlmICh0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJlZml4OiAnZmFzJyxcbiAgICAgIGljb25OYW1lOiBpY29uXG4gICAgfTtcbiAgfVxufVxuXG4vLyBjcmVhdGVzIGFuIG9iamVjdCB3aXRoIGEga2V5IG9mIGtleVxuLy8gYW5kIGEgdmFsdWUgb2YgdmFsdWVcbi8vIGlmIGNlcnRhaW4gY29uZGl0aW9ucyBhcmUgbWV0XG5mdW5jdGlvbiBvYmplY3RXaXRoS2V5KGtleSwgdmFsdWUpIHtcbiAgLy8gaWYgdGhlIHZhbHVlIGlzIGEgbm9uLWVtcHR5IGFycmF5XG4gIC8vIG9yIGl0J3Mgbm90IGFuIGFycmF5IGJ1dCBpdCBpcyB0cnV0aHlcbiAgLy8gdGhlbiBjcmVhdGUgdGhlIG9iamVjdCB3aXRoIHRoZSBrZXkgYW5kIHRoZSB2YWx1ZVxuICAvLyBpZiBub3QsIHJldHVybiBhbiBlbXB0eSBhcnJheVxuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMCB8fCAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUgPyBfZGVmaW5lUHJvcGVydHkoe30sIGtleSwgdmFsdWUpIDoge307XG59XG5cbnZhciBkZWZhdWx0UHJvcHMgPSB7XG4gIGJvcmRlcjogZmFsc2UsXG4gIGNsYXNzTmFtZTogJycsXG4gIG1hc2s6IG51bGwsXG4gIG1hc2tJZDogbnVsbCxcbiAgZml4ZWRXaWR0aDogZmFsc2UsXG4gIGludmVyc2U6IGZhbHNlLFxuICBmbGlwOiBmYWxzZSxcbiAgaWNvbjogbnVsbCxcbiAgbGlzdEl0ZW06IGZhbHNlLFxuICBwdWxsOiBudWxsLFxuICBwdWxzZTogZmFsc2UsXG4gIHJvdGF0aW9uOiBudWxsLFxuICBzaXplOiBudWxsLFxuICBzcGluOiBmYWxzZSxcbiAgc3BpblB1bHNlOiBmYWxzZSxcbiAgc3BpblJldmVyc2U6IGZhbHNlLFxuICBiZWF0OiBmYWxzZSxcbiAgZmFkZTogZmFsc2UsXG4gIGJlYXRGYWRlOiBmYWxzZSxcbiAgYm91bmNlOiBmYWxzZSxcbiAgc2hha2U6IGZhbHNlLFxuICBzeW1ib2w6IGZhbHNlLFxuICB0aXRsZTogJycsXG4gIHRpdGxlSWQ6IG51bGwsXG4gIHRyYW5zZm9ybTogbnVsbCxcbiAgc3dhcE9wYWNpdHk6IGZhbHNlXG59O1xudmFyIEZvbnRBd2Vzb21lSWNvbiA9IC8qI19fUFVSRV9fKi9SZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIChwcm9wcywgcmVmKSB7XG4gIHZhciBhbGxQcm9wcyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBkZWZhdWx0UHJvcHMpLCBwcm9wcyk7XG5cbiAgdmFyIGljb25BcmdzID0gYWxsUHJvcHMuaWNvbixcbiAgICAgIG1hc2tBcmdzID0gYWxsUHJvcHMubWFzayxcbiAgICAgIHN5bWJvbCA9IGFsbFByb3BzLnN5bWJvbCxcbiAgICAgIGNsYXNzTmFtZSA9IGFsbFByb3BzLmNsYXNzTmFtZSxcbiAgICAgIHRpdGxlID0gYWxsUHJvcHMudGl0bGUsXG4gICAgICB0aXRsZUlkID0gYWxsUHJvcHMudGl0bGVJZCxcbiAgICAgIG1hc2tJZCA9IGFsbFByb3BzLm1hc2tJZDtcbiAgdmFyIGljb25Mb29rdXAgPSBub3JtYWxpemVJY29uQXJncyhpY29uQXJncyk7XG4gIHZhciBjbGFzc2VzID0gb2JqZWN0V2l0aEtleSgnY2xhc3NlcycsIFtdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoY2xhc3NMaXN0KGFsbFByb3BzKSksIF90b0NvbnN1bWFibGVBcnJheSgoY2xhc3NOYW1lIHx8ICcnKS5zcGxpdCgnICcpKSkpO1xuICB2YXIgdHJhbnNmb3JtID0gb2JqZWN0V2l0aEtleSgndHJhbnNmb3JtJywgdHlwZW9mIGFsbFByb3BzLnRyYW5zZm9ybSA9PT0gJ3N0cmluZycgPyBwYXJzZS50cmFuc2Zvcm0oYWxsUHJvcHMudHJhbnNmb3JtKSA6IGFsbFByb3BzLnRyYW5zZm9ybSk7XG4gIHZhciBtYXNrID0gb2JqZWN0V2l0aEtleSgnbWFzaycsIG5vcm1hbGl6ZUljb25BcmdzKG1hc2tBcmdzKSk7XG4gIHZhciByZW5kZXJlZEljb24gPSBpY29uKGljb25Mb29rdXAsIF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBjbGFzc2VzKSwgdHJhbnNmb3JtKSwgbWFzayksIHt9LCB7XG4gICAgc3ltYm9sOiBzeW1ib2wsXG4gICAgdGl0bGU6IHRpdGxlLFxuICAgIHRpdGxlSWQ6IHRpdGxlSWQsXG4gICAgbWFza0lkOiBtYXNrSWRcbiAgfSkpO1xuXG4gIGlmICghcmVuZGVyZWRJY29uKSB7XG4gICAgbG9nKCdDb3VsZCBub3QgZmluZCBpY29uJywgaWNvbkxvb2t1cCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIgYWJzdHJhY3QgPSByZW5kZXJlZEljb24uYWJzdHJhY3Q7XG4gIHZhciBleHRyYVByb3BzID0ge1xuICAgIHJlZjogcmVmXG4gIH07XG4gIE9iamVjdC5rZXlzKGFsbFByb3BzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgaWYgKCFkZWZhdWx0UHJvcHMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgZXh0cmFQcm9wc1trZXldID0gYWxsUHJvcHNba2V5XTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gY29udmVydEN1cnJ5KGFic3RyYWN0WzBdLCBleHRyYVByb3BzKTtcbn0pO1xuRm9udEF3ZXNvbWVJY29uLmRpc3BsYXlOYW1lID0gJ0ZvbnRBd2Vzb21lSWNvbic7XG5Gb250QXdlc29tZUljb24ucHJvcFR5cGVzID0ge1xuICBiZWF0OiBQcm9wVHlwZXMuYm9vbCxcbiAgYm9yZGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgYmVhdEZhZGU6IFByb3BUeXBlcy5ib29sLFxuICBib3VuY2U6IFByb3BUeXBlcy5ib29sLFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGZhZGU6IFByb3BUeXBlcy5ib29sLFxuICBmbGFzaDogUHJvcFR5cGVzLmJvb2wsXG4gIG1hc2s6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5hcnJheSwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICBtYXNrSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGZpeGVkV2lkdGg6IFByb3BUeXBlcy5ib29sLFxuICBpbnZlcnNlOiBQcm9wVHlwZXMuYm9vbCxcbiAgZmxpcDogUHJvcFR5cGVzLm9uZU9mKFt0cnVlLCBmYWxzZSwgJ2hvcml6b250YWwnLCAndmVydGljYWwnLCAnYm90aCddKSxcbiAgaWNvbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmFycmF5LCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gIGxpc3RJdGVtOiBQcm9wVHlwZXMuYm9vbCxcbiAgcHVsbDogUHJvcFR5cGVzLm9uZU9mKFsncmlnaHQnLCAnbGVmdCddKSxcbiAgcHVsc2U6IFByb3BUeXBlcy5ib29sLFxuICByb3RhdGlvbjogUHJvcFR5cGVzLm9uZU9mKFswLCA5MCwgMTgwLCAyNzBdKSxcbiAgc2hha2U6IFByb3BUeXBlcy5ib29sLFxuICBzaXplOiBQcm9wVHlwZXMub25lT2YoWycyeHMnLCAneHMnLCAnc20nLCAnbGcnLCAneGwnLCAnMnhsJywgJzF4JywgJzJ4JywgJzN4JywgJzR4JywgJzV4JywgJzZ4JywgJzd4JywgJzh4JywgJzl4JywgJzEweCddKSxcbiAgc3BpbjogUHJvcFR5cGVzLmJvb2wsXG4gIHNwaW5QdWxzZTogUHJvcFR5cGVzLmJvb2wsXG4gIHNwaW5SZXZlcnNlOiBQcm9wVHlwZXMuYm9vbCxcbiAgc3ltYm9sOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgdGl0bGVJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgdHJhbnNmb3JtOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMub2JqZWN0XSksXG4gIHN3YXBPcGFjaXR5OiBQcm9wVHlwZXMuYm9vbFxufTtcbnZhciBjb252ZXJ0Q3VycnkgPSBjb252ZXJ0LmJpbmQobnVsbCwgUmVhY3QuY3JlYXRlRWxlbWVudCk7XG5cbmV4cG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9O1xuIiwgIi8qKlxuICogQG1vZHVsZSB2aWV3c1xuICovXG5pbXBvcnQgeyBHcm91cEVsZW1lbnQsIEdyb3VwaW5nLCBHcm91cGluZ3MsIExpdGVyYWwsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicHJlYWN0L2hvb2tzXCI7XG5pbXBvcnQgeyBDVVJSRU5UX0ZJTEVfQ09OVEVYVCwgTGl0IH0gZnJvbSBcInVpL21hcmtkb3duXCI7XG5pbXBvcnQgeyB1c2VJbnRlcm5pbmcgfSBmcm9tIFwidWkvaG9va3NcIjtcbmltcG9ydCB7IEZyYWdtZW50IH0gZnJvbSBcInByZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgVk5vZGUsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgQ29udHJvbGxlZFBhZ2VyLCB1c2VEYXRhY29yZVBhZ2luZyB9IGZyb20gXCIuL3BhZ2luZ1wiO1xuXG5pbXBvcnQgXCIuL3RhYmxlLmNzc1wiO1xuaW1wb3J0IHsgRWRpdGFibGUsIEVkaXRhYmxlQWN0aW9uLCBFZGl0YWJsZUVsZW1lbnQsIHVzZUVkaXRhYmxlRGlzcGF0Y2ggfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyBmYVNvcnREb3duLCBmYVNvcnRVcCwgZmFTb3J0IH0gZnJvbSBcIkBmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29uc1wiO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSBcIkBmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZVwiO1xuXG4vKiogQSBzaW1wbGUgY29sdW1uIGRlZmluaXRpb24gd2hpY2ggYWxsb3dzIGZvciBjdXN0b20gcmVuZGVyZXJzIGFuZCB0aXRsZXMuXG4gKiBAZ3JvdXAgUHJvcHNcbiAqIEB0eXBlUGFyYW0gVCAtIHRoZSB0eXBlIG9mIGVhY2ggcm93XG4gKiBAdHlwZVBhcmFtIFYgLSB0aGUgdHlwZSBvZiB0aGUgdmFsdWUgaW4gdGhpcyBjb2x1bW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYW5pbGxhQ29sdW1uPFQsIFYgPSBMaXRlcmFsPiB7XG4gICAgLyoqIFRoZSB1bmlxdWUgSUQgb2YgdGhpcyB0YWJsZSBjb2x1bW47IHlvdSBjYW5ub3QgaGF2ZSBtdWx0aXBsZSBjb2x1bW5zIHdpdGggdGhlIHNhbWUgSUQgaW4gYSBnaXZlbiB0YWJsZS4gKi9cbiAgICBpZDogc3RyaW5nO1xuXG4gICAgLyoqIFRoZSB0aXRsZSB3aGljaCB3aWxsIGRpc3BsYXkgYXQgdGhlIHRvcCBvZiB0aGUgY29sdW1uIGlmIHByZXNlbnQuICovXG4gICAgdGl0bGU/OiBzdHJpbmcgfCBWTm9kZSB8ICgoKSA9PiBzdHJpbmcgfCBWTm9kZSk7XG5cbiAgICAvKiogSWYgcHJlc2VudCwgdGhlIENTUyB3aWR0aCB0byBhcHBseSB0byB0aGUgY29sdW1uLiAnbWluaW11bScgd2lsbCBzZXQgdGhlIGNvbHVtbiBzaXplIHRvIGl0J3Mgc21hbGxlc3QgcG9zc2libGUgdmFsdWUsIHdoaWxlICdtYXhpbXVtJyB3aWxsIGRvIHRoZSBvcHBvc2l0ZS4gKi9cbiAgICB3aWR0aD86IFwibWluaW11bVwiIHwgXCJtYXhpbXVtXCIgfCBzdHJpbmc7XG5cbiAgICAvKiogVmFsdWUgZnVuY3Rpb24gd2hpY2ggbWFwcyB0aGUgcm93IHRvIHRoZSB2YWx1ZSBiZWluZyByZW5kZXJlZC4gKi9cbiAgICB2YWx1ZTogKG9iamVjdDogVCkgPT4gVjtcblxuICAgIC8qKiBDYWxsZWQgdG8gcmVuZGVyIHRoZSBnaXZlbiBjb2x1bW4gdmFsdWUuIENhbiBkZXBlbmQgb24gYm90aCB0aGUgc3BlY2lmaWMgdmFsdWUgYW5kIHRoZSByb3cgb2JqZWN0LiAqL1xuICAgIHJlbmRlcj86ICh2YWx1ZTogViwgb2JqZWN0OiBUKSA9PiBMaXRlcmFsIHwgVk5vZGU7XG5cbiAgICAvKiogd2hldGhlciB0aGlzIGNvbHVtbiBpcyBlZGl0YWJsZSBvciBub3QgKi9cbiAgICBlZGl0YWJsZT86IGJvb2xlYW47XG5cbiAgICAvKiogUmVuZGVyZWQgd2hlbiBlZGl0aW5nIHRoZSBjb2x1bW4gKi9cbiAgICBlZGl0b3I/OiBFZGl0YWJsZUVsZW1lbnQ8Vj47XG5cbiAgICAvKiogUHJvcHMgdG8gcGFzcyB0byB0aGUgZWRpdG9yIGNvbXBvbmVudCAoaWYgYW55KSAqL1xuICAgIGVkaXRvclByb3BzOiB1bmtub3duO1xuXG4gICAgLyoqIENhbGxlZCB3aGVuIHRoZSBjb2x1bW4gdmFsdWUgdXBkYXRlcy4gKi9cbiAgICBvblVwZGF0ZT86ICh2YWx1ZTogViwgb2JqZWN0OiBUKSA9PiB1bmtub3duO1xufVxuXG4vKiogTWV0YWRhdGEgZm9yIGNvbmZpZ3VyaW5nIGhvdyBncm91cGluZ3MgaW4gdGhlIGRhdGEgc2hvdWxkIGJlIGhhbmRsZWQuXG4gKiBAZ3JvdXAgUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcm91cGluZ0NvbmZpZzxUPiB7XG4gICAgLyoqIEhvdyBhIGdyb3VwaW5nIHdpdGggdGhlIGdpdmVuIGtleSBhbmQgc2V0IG9mIHJvd3Mgc2hvdWxkIGJlIGhhbmRsZWQuICovXG4gICAgcmVuZGVyPzogKGtleTogTGl0ZXJhbCwgcm93czogR3JvdXBpbmc8VD4pID0+IExpdGVyYWwgfCBWTm9kZTtcbn1cblxuLyoqIEFsbCBhdmFpbGFibGUgcHJvcHMgZm9yIGEgdmFuaWxsYSB0YWJsZS5cbiAqIEBncm91cCBQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbmlsbGFUYWJsZVByb3BzPFQ+IHtcbiAgICAvKiogVGhlIGNvbHVtbnMgdG8gcmVuZGVyIGluIHRoZSB0YWJsZS4gKi9cbiAgICBjb2x1bW5zOiBWYW5pbGxhQ29sdW1uPFQ+W107XG5cbiAgICAvKiogVGhlIHJvd3MgdG8gcmVuZGVyOyBtYXkgcG90ZW50aWFsbHkgYmUgZ3JvdXBlZCBvciBqdXN0IGEgcGxhaW4gYXJyYXkuICovXG4gICAgcm93czogR3JvdXBpbmc8VD47XG5cbiAgICAvKiogQWxsb3dzIGZvciBncm91cGluZyBoZWFkZXIgY29sdW1ucyB0byBiZSBvdmVycmlkZGVuIHdpdGggY3VzdG9tIHJlbmRlcmluZy9sb2dpYy4gKi9cbiAgICBncm91cGluZ3M/OiBHcm91cGluZ0NvbmZpZzxUPiB8IEdyb3VwaW5nQ29uZmlnPFQ+W10gfCAoKGtleTogTGl0ZXJhbCwgcm93czogR3JvdXBpbmc8VD4pID0+IExpdGVyYWwgfCBWTm9kZSk7XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gYSBib29sZWFuIC0gZW5hYmxlcyBvciBkaXNhYmxlcyBwYWdpbmcuXG4gICAgICogSWYgc2V0IHRvIGEgbnVtYmVyLCBwYWdpbmcgd2lsbCBiZSBlbmFibGVkIHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiByb3dzIHBlciBwYWdlLlxuICAgICAqL1xuICAgIHBhZ2luZz86IGJvb2xlYW4gfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB2aWV3IHdpbGwgc2Nyb2xsIHRvIHRoZSB0b3AgYXV0b21hdGljYWxseSBvbiBwYWdlIGNoYW5nZXMuIElmIHRydWUsIHdpbGwgYWx3YXlzIHNjcm9sbCBvbiBwYWdlIGNoYW5nZXMuXG4gICAgICogSWYgYSBudW1iZXIsIHdpbGwgc2Nyb2xsIG9ubHkgaWYgdGhlIG51bWJlciBpcyBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnQgcGFnZSBzaXplLlxuICAgICAqKi9cbiAgICBzY3JvbGxPblBhZ2luZz86IGJvb2xlYW4gfCBudW1iZXI7XG59XG5cbi8qKiBBIHNpbXBsZSB0YWJsZSB3aGljaCBzdXBwb3J0cyBncm91cGluZywgc29ydGluZywgcGFnaW5nLCBhbmQgY3VzdG9tIGNvbHVtbnMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICogQHBhcmFtIHByb3BzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBWYW5pbGxhVGFibGU8VD4ocHJvcHM6IFZhbmlsbGFUYWJsZVByb3BzPFQ+KSB7XG4gICAgLy8gQ2FjaGUgY29sdW1ucyBieSByZWZlcmVuY2UgZXF1YWxpdHkgb2YgdGhlIHNwZWNpZmljIGNvbHVtbnMuIENvbHVtbnMgaGF2ZSB2YXJpb3VzIGZ1bmN0aW9uIHJlZmVyZW5jZXNcbiAgICAvLyBpbnNpZGUgdGhlbSBhbmQgc28gY2Fubm90IGJlIGNvbXBhcmVkIGJ5IHZhbHVlIGVxdWFsaXR5LlxuICAgIGNvbnN0IGNvbHVtbnMgPSB1c2VJbnRlcm5pbmcocHJvcHMuY29sdW1ucywgKGEsIGIpID0+IHtcbiAgICAgICAgaWYgKGEubGVuZ3RoICE9IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBhLmV2ZXJ5KCh2YWx1ZSwgaW5kZXgpID0+IHZhbHVlID09IGJbaW5kZXhdKTtcbiAgICB9KTtcblxuICAgIC8vIENvdW50IHRvdGFsIGVsZW1lbnRzIGFuZCB0aGVuIHBhZ2UgYXBwcm9wcmlhdGVseS5cbiAgICBjb25zdCB0YWJsZVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgdG90YWxFbGVtZW50cyA9IHVzZU1lbW8oKCkgPT4gR3JvdXBpbmdzLmNvdW50KHByb3BzLnJvd3MpLCBbcHJvcHMucm93c10pO1xuICAgIGNvbnN0IHBhZ2luZyA9IHVzZURhdGFjb3JlUGFnaW5nKHtcbiAgICAgICAgaW5pdGlhbFBhZ2U6IDAsXG4gICAgICAgIHBhZ2luZzogcHJvcHMucGFnaW5nLFxuICAgICAgICBzY3JvbGxPblBhZ2VDaGFuZ2U6IHByb3BzLnNjcm9sbE9uUGFnaW5nLFxuICAgICAgICBlbGVtZW50czogdG90YWxFbGVtZW50cyxcbiAgICAgICAgY29udGFpbmVyOiB0YWJsZVJlZixcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhZ2VkUm93cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcInJlY2FsYyByb3dzXCIpO1xuICAgICAgICBpZiAocGFnaW5nLmVuYWJsZWQpXG4gICAgICAgICAgICByZXR1cm4gR3JvdXBpbmdzLnNsaWNlKHByb3BzLnJvd3MsIHBhZ2luZy5wYWdlICogcGFnaW5nLnBhZ2VTaXplLCAocGFnaW5nLnBhZ2UgKyAxKSAqIHBhZ2luZy5wYWdlU2l6ZSk7XG4gICAgICAgIGVsc2UgcmV0dXJuIHByb3BzLnJvd3M7XG4gICAgfSwgW3BhZ2luZy5wYWdlLCBwYWdpbmcucGFnZVNpemUsIHBhZ2luZy5lbmFibGVkLCBwcm9wcy5yb3dzXSk7XG5cbiAgICBjb25zdCBncm91cGluZ3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCFwcm9wcy5ncm91cGluZ3MpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BzLmdyb3VwaW5ncykpIHJldHVybiBwcm9wcy5ncm91cGluZ3M7XG5cbiAgICAgICAgaWYgKExpdGVyYWxzLmlzRnVuY3Rpb24ocHJvcHMuZ3JvdXBpbmdzKSkgcmV0dXJuIFt7IHJlbmRlcjogcHJvcHMuZ3JvdXBpbmdzIH1dO1xuICAgICAgICBlbHNlIHJldHVybiBbcHJvcHMuZ3JvdXBpbmdzXTtcbiAgICB9LCBbcHJvcHMuZ3JvdXBpbmdzXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IHJlZj17dGFibGVSZWZ9PlxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cImRhdGFjb3JlLXRhYmxlXCI+XG4gICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NvbHVtbnMubWFwKChjb2wpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFuaWxsYVRhYmxlSGVhZGVyQ2VsbCBjb2x1bW49e2NvbH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICB7cGFnZWRSb3dzLm1hcCgocm93KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8VmFuaWxsYVJvd0dyb3VwIGxldmVsPXswfSBncm91cGluZ3M9e2dyb3VwaW5nc30gY29sdW1ucz17Y29sdW1uc30gZWxlbWVudD17cm93fSAvPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIHtwYWdpbmcuZW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgICAgPENvbnRyb2xsZWRQYWdlciBwYWdlPXtwYWdpbmcucGFnZX0gdG90YWxQYWdlcz17cGFnaW5nLnRvdGFsUGFnZXN9IHNldFBhZ2U9e3BhZ2luZy5zZXRQYWdlfSAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cblxuLyoqIEFuIGluZGl2aWR1YWwgY29sdW1uIGNlbGwgaW4gdGhlIHRhYmxlLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gVmFuaWxsYVRhYmxlSGVhZGVyQ2VsbDxUPih7IGNvbHVtbiB9OiB7IGNvbHVtbjogVmFuaWxsYUNvbHVtbjxUPiB9KSB7XG4gICAgY29uc3QgaGVhZGVyOiBzdHJpbmcgfCBWTm9kZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoIWNvbHVtbi50aXRsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5pZDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29sdW1uLnRpdGxlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW4udGl0bGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW4udGl0bGU7XG4gICAgICAgIH1cbiAgICB9LCBbY29sdW1uLmlkLCBjb2x1bW4udGl0bGVdKTtcblxuICAgIGNvbnN0IHJlYWxXaWR0aCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IChjb2x1bW4ud2lkdGggPT09IFwibWluaW11bVwiID8gXCIxcHhcIiA6IGNvbHVtbi53aWR0aCA9PT0gXCJtYXhpbXVtXCIgPyBcImF1dG9cIiA6IGNvbHVtbi53aWR0aCksXG4gICAgICAgIFtjb2x1bW4ud2lkdGhdXG4gICAgKTtcblxuICAgIC8vIFdlIHVzZSBhbiBpbnRlcm5hbCBkaXYgdG8gYXZvaWQgZmxleCBtZXNzaW5nIHdpdGggdGhlIHRhYmxlIGxheW91dC5cbiAgICByZXR1cm4gKFxuICAgICAgICA8dGggd2lkdGg9e3JlYWxXaWR0aH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLWNlbGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLXRpdGxlXCI+e2hlYWRlcn08L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICApO1xufVxuXG4vKiogQSBncm91cGluZyBpbiB0aGUgdGFibGUsIG9yIGFuIGluZGl2aWR1YWwgcm93LlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gVmFuaWxsYVJvd0dyb3VwPFQ+KHtcbiAgICBsZXZlbCxcbiAgICBjb2x1bW5zLFxuICAgIGVsZW1lbnQsXG4gICAgZ3JvdXBpbmdzLFxufToge1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgY29sdW1uczogVmFuaWxsYUNvbHVtbjxUPltdO1xuICAgIGVsZW1lbnQ6IFQgfCBHcm91cEVsZW1lbnQ8VD47XG4gICAgZ3JvdXBpbmdzPzogR3JvdXBpbmdDb25maWc8VD5bXTtcbn0pIHtcbiAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGVsZW1lbnQpKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwaW5nQ29uZmlnID0gZ3JvdXBpbmdzID8gZ3JvdXBpbmdzW01hdGgubWluKGdyb3VwaW5ncy5sZW5ndGggLSAxLCBsZXZlbCldIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgPFRhYmxlR3JvdXBIZWFkZXIgbGV2ZWw9e2xldmVsfSB2YWx1ZT17ZWxlbWVudH0gd2lkdGg9e2NvbHVtbnMubGVuZ3RofSBjb25maWc9e2dyb3VwaW5nQ29uZmlnfSAvPlxuICAgICAgICAgICAgICAgIHtlbGVtZW50LnJvd3MubWFwKChyb3cpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPFZhbmlsbGFSb3dHcm91cCBsZXZlbD17bGV2ZWwgKyAxfSBjb2x1bW5zPXtjb2x1bW5zfSBlbGVtZW50PXtyb3d9IC8+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiA8VGFibGVSb3cgbGV2ZWw9e2xldmVsfSByb3c9e2VsZW1lbnR9IGNvbHVtbnM9e2NvbHVtbnN9IC8+O1xuICAgIH1cbn1cblxuLyoqIEEgaGVhZGVyIG9mIGEgZ3JvdXBlZCBzZXQgb2YgY29sdW1ucy5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRhYmxlR3JvdXBIZWFkZXI8VD4oe1xuICAgIGxldmVsLFxuICAgIHZhbHVlLFxuICAgIHdpZHRoLFxuICAgIGNvbmZpZyxcbn06IHtcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIHZhbHVlOiBHcm91cEVsZW1lbnQ8VD47XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBjb25maWc/OiBHcm91cGluZ0NvbmZpZzxUPjtcbn0pIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gdXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgY29uc3QgcmF3UmVuZGVyYWJsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoY29uZmlnPy5yZW5kZXIpIHJldHVybiBjb25maWcucmVuZGVyKHZhbHVlLmtleSwgdmFsdWUucm93cyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGgyPlxuICAgICAgICAgICAgICAgICAgICA8TGl0IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17dHJ1ZX0gdmFsdWU9e3ZhbHVlLmtleX0gLz5cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgKTtcbiAgICB9LCBbY29uZmlnPy5yZW5kZXIsIHZhbHVlLmtleSwgdmFsdWUucm93c10pO1xuICAgIGNvbnN0IHJlbmRlcmFibGUgPSB1c2VBc0VsZW1lbnQocmF3UmVuZGVyYWJsZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtZ3JvdXAtaGVhZGVyXCI+XG4gICAgICAgICAgICA8dGQgY29sU3Bhbj17d2lkdGh9PntyZW5kZXJhYmxlfTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgKTtcbn1cblxuLyoqIEEgc2luZ2xlIHJvdyBpbnNpZGUgdGhlIHRhYmxlLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gVGFibGVSb3c8VD4oeyBsZXZlbCwgcm93LCBjb2x1bW5zIH06IHsgbGV2ZWw6IG51bWJlcjsgcm93OiBUOyBjb2x1bW5zOiBWYW5pbGxhQ29sdW1uPFQ+W10gfSkge1xuICAgIHJldHVybiAoXG4gICAgICAgIDx0clxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtcm93XCJcbiAgICAgICAgICAgIHN0eWxlPXtsZXZlbCA/IGBwYWRkaW5nLWxlZnQ6ICR7bGV2ZWwgKiA1fXB4YCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGtleT17XCIkaWRcIiBpbiAocm93IGFzIGFueSkgPyAocm93IGFzIGFueSkuJGlkIDogdW5kZWZpbmVkfVxuICAgICAgICA+XG4gICAgICAgICAgICB7Y29sdW1ucy5tYXAoKGNvbCkgPT4gKFxuICAgICAgICAgICAgICAgIDxUYWJsZVJvd0NlbGwgcm93PXtyb3d9IGNvbHVtbj17Y29sfSAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvdHI+XG4gICAgKTtcbn1cblxuLyoqIEEgc2luZ2xlIGNlbGwgaW5zaWRlIG9mIGEgcm93IG9mIHRoZSB0YWJsZS5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRhYmxlUm93Q2VsbDxUPih7IHJvdywgY29sdW1uIH06IHsgcm93OiBUOyBjb2x1bW46IFZhbmlsbGFDb2x1bW48VD4gfSkge1xuICAgIGNvbnN0IHZhbHVlID0gY29sdW1uLnZhbHVlKHJvdyk7XG4gICAgY29uc3QgW2VkaXRhYmxlU3RhdGUsIGRpc3BhdGNoXSA9IHVzZUVkaXRhYmxlRGlzcGF0Y2g8dHlwZW9mIHZhbHVlPih7XG4gICAgICAgIGNvbnRlbnQ6IHZhbHVlLFxuICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICB1cGRhdGVyOiAodikgPT4gY29sdW1uLm9uVXBkYXRlICYmIGNvbHVtbi5vblVwZGF0ZSh2LCByb3cpLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlbmRlcmFibGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbi5yZW5kZXIpIHtcbiAgICAgICAgICAgIGxldCByID0gY29sdW1uLnJlbmRlcihjb2x1bW4uZWRpdGFibGUgPyBlZGl0YWJsZVN0YXRlLmNvbnRlbnQgOiB2YWx1ZSwgcm93KTtcbiAgICAgICAgICAgIHJldHVybiByO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIHZhbHVlO1xuICAgIH0sIFtyb3csIGNvbHVtbi5yZW5kZXIsIGVkaXRhYmxlU3RhdGUuY29udGVudCwgdmFsdWVdKTtcblxuICAgIGNvbnN0IHJlbmRlcmVkID0gdXNlQXNFbGVtZW50KHJlbmRlcmFibGUpO1xuXG4gICAgY29uc3QgeyBlZGl0b3I6IEVkaXRvciB9ID0gY29sdW1uO1xuICAgIHJldHVybiAoXG4gICAgICAgIDx0ZFxuICAgICAgICAgICAgb25EYmxDbGljaz17KCkgPT4gZGlzcGF0Y2goeyB0eXBlOiBcImVkaXRpbmctdG9nZ2xlZFwiLCBuZXdWYWx1ZTogIWVkaXRhYmxlU3RhdGUuaXNFZGl0aW5nIH0pfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtY2VsbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHtjb2x1bW4uZWRpdGFibGUgJiYgZWRpdGFibGVTdGF0ZS5pc0VkaXRpbmcgJiYgRWRpdG9yID8gKFxuICAgICAgICAgICAgICAgIDxFZGl0b3IgZGlzcGF0Y2g9e2Rpc3BhdGNofSB7Li4uKGNvbHVtbi5lZGl0b3JQcm9wcyA/PyB7fSl9IHsuLi5lZGl0YWJsZVN0YXRlfSAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICByZW5kZXJlZFxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC90ZD5cbiAgICApO1xufVxuXG4vKiogRW5zdXJlIHRoYXQgYSBnaXZlbiBsaXRlcmFsIG9yIGVsZW1lbnQgaW5wdXQgaXMgcmVuZGVyZWQgYXMgYSBKU1guRWxlbWVudC5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFzRWxlbWVudChlbGVtZW50OiBWTm9kZSB8IExpdGVyYWwpOiBWTm9kZSB7XG4gICAgY29uc3Qgc291cmNlUGF0aCA9IHVzZUNvbnRleHQoQ1VSUkVOVF9GSUxFX0NPTlRFWFQpO1xuXG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50IGFzIFZOb2RlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIDxMaXQgc291cmNlUGF0aD17c291cmNlUGF0aH0gaW5saW5lPXt0cnVlfSB2YWx1ZT17ZWxlbWVudCBhcyBhbnl9IC8+O1xuICAgICAgICB9XG4gICAgfSwgW2VsZW1lbnRdKTtcbn1cbi8qKiBQcm92aWRlcyBhIHNvcnQgYnV0dG9uIHRoYXQgaGFzIGEgY2xpY2sgaGFuZGxlci4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTb3J0QnV0dG9uKHtcbiAgICBkaXJlY3Rpb24sXG4gICAgb25DbGljayxcbiAgICBjbGFzc05hbWUsXG59OiB7XG4gICAgZGlyZWN0aW9uPzogU29ydERpcmVjdGlvbjtcbiAgICBvbkNsaWNrPzogKGV2dDogTW91c2VFdmVudCkgPT4gYW55O1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbn0pIHtcbiAgICBjb25zdCBpY29uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChkaXJlY3Rpb24gPT0gXCJhc2NlbmRpbmdcIikgcmV0dXJuIGZhU29ydERvd247XG4gICAgICAgIGVsc2UgaWYgKGRpcmVjdGlvbiA9PSBcImRlc2NlbmRpbmdcIikgcmV0dXJuIGZhU29ydFVwO1xuICAgICAgICByZXR1cm4gZmFTb3J0O1xuICAgIH0sIFtkaXJlY3Rpb25dKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgb25DbGljaz17b25DbGlja30gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtpY29ufSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufVxuXG4vKiogRGVmYXVsdCBjb21wYXJhdG9yIGZvciBzb3J0aW5nIG9uIGEgdGFibGUgY29sdW1uLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEFCTEVfQ09NUEFSQVRPUjogPFQ+KGE6IExpdGVyYWwsIGI6IExpdGVyYWwsIGFvOiBULCBibzogVCkgPT4gbnVtYmVyID0gKGEsIGIsIF9hbywgX2JvKSA9PlxuICAgIExpdGVyYWxzLmNvbXBhcmUoYSwgYik7XG5cbi8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUYWJsZSBIb29rcyAvL1xuLy8vLy8vLy8vLy8vLy8vLy9cblxuZXhwb3J0IHR5cGUgVGFibGVBY3Rpb24gPVxuICAgIHwgeyB0eXBlOiBcInJlc2V0LWFsbFwiIH1cbiAgICB8IHsgdHlwZTogXCJzZXQtcGFnZVwiOyBwYWdlOiBudW1iZXIgfVxuICAgIHwgeyB0eXBlOiBcInNvcnQtY29sdW1uXCI7IGNvbHVtbjogc3RyaW5nOyBkaXJlY3Rpb24/OiBcImFzY2VuZGluZ1wiIHwgXCJkZXNjZW5kaW5nXCIgfTtcblxuZXhwb3J0IHR5cGUgU29ydERpcmVjdGlvbiA9IFwiYXNjZW5kaW5nXCIgfCBcImRlc2NlbmRpbmdcIjtcblxuLyoqIFRoZSB3YXlzIHRoYXQgdGhlIHRhYmxlIGNhbiBiZSBzb3J0ZWQuICovXG5leHBvcnQgdHlwZSBTb3J0T24gPSB7IHR5cGU6IFwiY29sdW1uXCI7IGlkOiBzdHJpbmc7IGRpcmVjdGlvbjogU29ydERpcmVjdGlvbiB9O1xuIiwgIi8qKlxuICogQG1vZHVsZSB2aWV3c1xuICovXG5pbXBvcnQgeyBWTm9kZSB9IGZyb20gXCJwcmVhY3RcIjtcbmltcG9ydCB7IFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSBcInByZWFjdC9jb21wYXRcIjtcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSB9IGZyb20gXCJ1aS9ob29rc1wiO1xuXG5pbXBvcnQgXCIuL2NhbGxvdXQuY3NzXCI7XG5pbXBvcnQgeyBjb21iaW5lQ2xhc3NlcyB9IGZyb20gXCIuLi9iYXNpY3NcIjtcblxuLyoqIEdlbmVyYWwgcHJvcGVydGllcyBmb3IgY29uZmlndXJpbmcgYSBjYWxsb3V0LlxuICogQGdyb3VwIFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbG91dFByb3BzIHtcbiAgICAvKiogVGl0bGUgb2YgdGhlIGNhbGxvdXQuICovXG4gICAgdGl0bGU6IHN0cmluZyB8IFZOb2RlO1xuICAgIC8qKiBBcmJpdHJhcnkgaWNvbiB0byBzaG93IGF0IHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHRpdGxlIGluIHRoZSBjYWxsb3V0LiAqL1xuICAgIGljb24/OiBWTm9kZTtcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhlIGNhbGxvdXQuICovXG4gICAgdHlwZT86IHN0cmluZztcbiAgICAvKiogV2hldGhlciB0aGUgY2FsbG91dCBpcyBjb2xsYXBzaWJsZSAoZGVmYXVsdHMgdG8gdHJ1ZSkuICovXG4gICAgY29sbGFwc2libGU/OiBib29sZWFuO1xuXG4gICAgLyoqIENvbnRyb2xsZWQgcHJvcCBmb3Igc2V0dGluZyB3aGV0aGVyIHRoZSBjYWxsb3V0IGlzIG9wZW4uICovXG4gICAgb3BlbjogYm9vbGVhbjtcbiAgICAvKiogV2hldGhlciB0aGUgY2FsbG91dCBpcyBpbml0aWFsbHkgb3BlbiBpZiB1bmNvbnRyb2xsZWQuICovXG4gICAgaW5pdGlhbE9wZW4/OiBib29sZWFuO1xuICAgIC8qKiBDYWxsZWQgd2hlbmV2ZXIgdGhlIG9wZW4gc3RhdGUgb2YgdGhlIGNhbGxvdXQgY2hhbmdlcyBkdWUgdG8gdXNlciBhY3Rpb24uICovXG4gICAgb25PcGVuQ2hhbmdlPzogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG4vKiogU3BsaXRzIG9uIGB8PHN0dWZmPmAuICovXG5jb25zdCBNRVRBREFUQV9TUExJVF9SRUdFWCA9IC9cXHwoLiopL3M7XG5cbi8qKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqIEBwYXJhbSBwcm9wcyB7QGluaGVyaXREb2MgQ2FsbG91dFByb3BzfVxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2FsbG91dCh7XG4gICAgY29sbGFwc2libGUgPSB0cnVlLFxuICAgIG9wZW46IG9wZW5Qcm9wLFxuICAgIGluaXRpYWxPcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICB0aXRsZSxcbiAgICBpY29uLFxuICAgIGNoaWxkcmVuLFxuICAgIHR5cGUsXG59OiBQcm9wc1dpdGhDaGlsZHJlbjxDYWxsb3V0UHJvcHM+KSB7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlQ29udHJvbGxlZFN0YXRlKGluaXRpYWxPcGVuID8/IHRydWUsIG9wZW5Qcm9wLCBvbk9wZW5DaGFuZ2UpO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGRhdGEtY2FsbG91dC1tZXRhZGF0YT17dHlwZT8uc3BsaXQoTUVUQURBVEFfU1BMSVRfUkVHRVgpPy5bMV19XG4gICAgICAgICAgICBkYXRhLWNhbGxvdXQ9e3R5cGU/LnNwbGl0KE1FVEFEQVRBX1NQTElUX1JFR0VYKT8uWzBdfVxuICAgICAgICAgICAgZGF0YS1jYWxsb3V0LWZvbGQ9e29wZW4gPyBcIitcIiA6IFwiLVwifVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjb21iaW5lQ2xhc3NlcyhcImRhdGFjb3JlXCIsIFwiY2FsbG91dFwiLCBjb2xsYXBzaWJsZSA/IFwiaXMtY29sbGFwc2libGVcIiA6IHVuZGVmaW5lZCl9XG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FsbG91dC10aXRsZVwiIG9uQ2xpY2s9eygpID0+IGNvbGxhcHNpYmxlICYmIHNldE9wZW4oIW9wZW4pfT5cbiAgICAgICAgICAgICAgICB7aWNvbiAmJiA8ZGl2IGNsYXNzTmFtZT1cImNhbGxvdXQtaWNvblwiPntpY29ufTwvZGl2Pn1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhbGxvdXQtdGl0bGUtaW5uZXJcIj57dGl0bGV9PC9kaXY+XG4gICAgICAgICAgICAgICAge2NvbGxhcHNpYmxlICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NvbWJpbmVDbGFzc2VzKFwiY2FsbG91dC1mb2xkXCIsICFvcGVuID8gXCJpcy1jb2xsYXBzZWRcIiA6IHVuZGVmaW5lZCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdmctaWNvbiBsdWNpZGUtY2hldnJvbi1kb3duXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwibTYgOSA2IDYgNi02XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtvcGVuICYmIDxkaXYgY2xhc3NOYW1lPVwiY2FsbG91dC1jb250ZW50XCI+e2NoaWxkcmVufTwvZGl2Pn1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgdmlld3NcbiAqL1xuXG5pbXBvcnQgeyBMaXRlcmFsIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgVk5vZGUgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuXG5pbXBvcnQgXCIuL2NhcmRzLmNzc1wiO1xuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIGNhcmQgY29tcG9uZW50XG4gKlxuICogQGdyb3VwIFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZFByb3BzPFQ+IHtcbiAgICAvKiogdGhlIGFjdHVhbCB2YWx1ZSBoZWxkIGluIHRoaXMgY2FyZC4gKi9cbiAgICB2YWx1ZTogVDtcblxuICAgIC8qKiBUaGUgdGl0bGUgb2YgdGhlIGNhcmQuICovXG4gICAgdGl0bGU6IExpdGVyYWwgfCAoKHZhbDogVCkgPT4gTGl0ZXJhbCB8IFZOb2RlKTtcblxuICAgIC8qKiBUaGUgcmF3IGNvbnRlbnQgb2YgdGhlIGNhcmQuICovXG4gICAgY29udGVudDogTGl0ZXJhbCB8ICgodmFsOiBUKSA9PiBMaXRlcmFsIHwgVk5vZGUpO1xuXG4gICAgLyoqIG9wdGlvbmFsIGZvb3RlciAoYmVjYXVzZSB3aHkgbm90PykgKi9cbiAgICBmb290ZXI/OiBMaXRlcmFsIHwgKCh2YWw6IFQpID0+IExpdGVyYWwgfCBWTm9kZSk7XG5cbiAgICAvKiogSWYgdHJ1ZSwgdGhlIHRpdGxlIHdpbGwgYmUgcmVuZGVyZWQgY2VudGVyZWQuICovXG4gICAgY2VudGVyVGl0bGU/OiBib29sZWFuO1xufVxuLyoqXG4gKiBBIGNhcmQgd2l0aCBhIHRpdGxlIGFuZCBjb250ZW50XG4gKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENhcmQ8VD4ocHJvcHM6IENhcmRQcm9wczxUPikge1xuICAgIGNvbnN0IGNhcmRUaXRsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHByb3BzLnRpdGxlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aXRsZShwcm9wcy52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGl0bGU7XG4gICAgICAgIH1cbiAgICB9LCBbcHJvcHMudmFsdWUsIHByb3BzLnRpdGxlXSk7XG5cbiAgICBjb25zdCBpbm5lckNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBwcm9wcy5jb250ZW50ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBwcm9wcy5jb250ZW50KHByb3BzLnZhbHVlKTtcbiAgICAgICAgZWxzZSByZXR1cm4gcHJvcHMuY29udGVudDtcbiAgICB9LCBbcHJvcHMudmFsdWUsIHByb3BzLmNvbnRlbnRdKTtcblxuICAgIGNvbnN0IGZvb3RlckNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzLmZvb3RlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHByb3BzLmZvb3RlciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLmZvb3Rlcihwcm9wcy52YWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9wcy5mb290ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSwgW3Byb3BzLmZvb3RlciwgcHJvcHMudmFsdWVdKTtcblxuICAgIGNvbnN0IHRpdGxlQ2xhc3NlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBsZXQgYmFzZSA9IFtcImRhdGFjb3JlLWNhcmQtdGl0bGVcIl07XG4gICAgICAgIGlmIChwcm9wcy5jZW50ZXJUaXRsZSkgYmFzZSA9IGJhc2UuY29uY2F0KFwiY2VudGVyZWRcIik7XG4gICAgICAgIHJldHVybiBiYXNlO1xuICAgIH0sIFtwcm9wcy5jZW50ZXJUaXRsZSwgcHJvcHMudGl0bGUsIHByb3BzLmNvbnRlbnQsIHByb3BzLnZhbHVlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWNhcmRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXt0aXRsZUNsYXNzZXMuam9pbihcIiBcIil9PntjYXJkVGl0bGV9PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWNhcmQtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFjb3JlLWNhcmQtY29udGVudFwiPntpbm5lckNvbnRlbnR9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhY29yZS1jYXJkLWZvb3RlclwiPntmb290ZXJDb250ZW50fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIGFwaVxuICovXG5pbXBvcnQgeyBHcm91cGluZ3MsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuXG4vKiogQSBmdW5jdGlvbiB3aGljaCBtYXBzIGFuIGFycmF5IGVsZW1lbnQgdG8gc29tZSB2YWx1ZS4gKi9cbmV4cG9ydCB0eXBlIEFycmF5RnVuYzxULCBPPiA9IChlbGVtOiBULCBpbmRleDogbnVtYmVyLCBhcnI6IFRbXSkgPT4gTztcblxuLyoqIEEgZnVuY3Rpb24gd2hpY2ggY29tcGFyZXMgdHdvIHR5cGVzLiAqL1xuZXhwb3J0IHR5cGUgQXJyYXlDb21wYXJhdG9yPFQ+ID0gKGE6IFQsIGI6IFQpID0+IG51bWJlcjtcblxuLyoqIEZpbmRzIHRoZSB2YWx1ZSBvZiB0aGUgbG93ZXN0IHZhbHVlIHR5cGUgaW4gYSBncm91cGluZy4gKi9cbmV4cG9ydCB0eXBlIExvd2VzdEtleTxUPiA9IFQgZXh0ZW5kcyB7IGtleTogYW55OyByb3dzOiBhbnkgfSA/IExvd2VzdEtleTxUW1wicm93c1wiXVswXT4gOiBUO1xuXG4vKiogQSByaWRpY3Vsb3VzIHR5cGUgd2hpY2ggcHJvcGVybHkgdHlwZXMgdGhlIHJlc3VsdCBvZiB0aGUgJ2dyb3VwSW4nIGNvbW1hbmQuICovXG5leHBvcnQgdHlwZSBJbmdyb3VwZWQ8VSwgVD4gPSBUIGV4dGVuZHMgeyBrZXk6IGFueTsgcm93czogYW55IH1cbiAgICA/IHsga2V5OiBUW1wia2V5XCJdOyByb3dzOiBJbmdyb3VwZWQ8VSwgVFtcInJvd3NcIl1bMF0+IH1cbiAgICA6IHsga2V5OiBVOyByb3dzOiBUW10gfTtcblxuLyoqXG4gKiBQcm94aWVkIGludGVyZmFjZSB3aGljaCBhbGxvd3MgbWFuaXB1bGF0aW5nIGFycmF5LWJhc2VkIGRhdGEuIEFsbCBmdW5jdGlvbnMgb24gYSBkYXRhIGFycmF5IHByb2R1Y2UgYSBORVcgYXJyYXlcbiAqIChpLmUuLCB0aGUgYXJyYXlzIGFyZSBpbW11dGFibGUpLlxuICogQGdyb3VwIENvbW1vbiBUeXBlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFBcnJheTxUPiB7XG4gICAgLyoqIFRoZSB0b3RhbCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5LiAqL1xuICAgIGxlbmd0aDogbnVtYmVyO1xuXG4gICAgLyoqIEFwcGxpZXMgdGhlIGdpdmVuIGZ1bmN0aW9uIHRvIHRoZSBlbnRpcmUgZGF0YSBhcnJheS4gQWxsb3dzIHVzaW5nIGZ1bmN0aW9uIGNoYWluaW5nIHdoaWxlIGFwcGx5aW5nIGFuIGFyYml0cmFyeSBpbnRlcm1lZGlhdGUgZnVuY3Rpb24uICovXG4gICAgY2hhaW48VT4ob3A6IChhcnI6IERhdGFBcnJheTxUPikgPT4gRGF0YUFycmF5PFU+KTogRGF0YUFycmF5PFU+O1xuXG4gICAgLyoqIEZpbHRlciB0aGUgZGF0YSBhcnJheSBkb3duIHRvIGp1c3QgZWxlbWVudHMgd2hpY2ggbWF0Y2ggdGhlIGdpdmVuIHByZWRpY2F0ZS4gKi9cbiAgICB3aGVyZShwcmVkaWNhdGU6IEFycmF5RnVuYzxULCBib29sZWFuPik6IERhdGFBcnJheTxUPjtcbiAgICAvKiogQWxpYXMgZm9yICd3aGVyZScgZm9yIHBlb3BsZSB3aG8gd2FudCBhcnJheSBzZW1hbnRpY3MuICovXG4gICAgZmlsdGVyKHByZWRpY2F0ZTogQXJyYXlGdW5jPFQsIGJvb2xlYW4+KTogRGF0YUFycmF5PFQ+O1xuXG4gICAgLyoqIE1hcCBlbGVtZW50cyBpbiB0aGUgZGF0YSBhcnJheSBieSBhcHBseWluZyBhIGZ1bmN0aW9uIHRvIGVhY2guICovXG4gICAgbWFwPFU+KGY6IEFycmF5RnVuYzxULCBVPik6IERhdGFBcnJheTxVPjtcbiAgICAvKiogTWFwIGVsZW1lbnRzIGluIHRoZSBkYXRhIGFycmF5IGJ5IGFwcGx5aW5nIGEgZnVuY3Rpb24gdG8gZWFjaCwgdGhlbiBmbGF0dGVuIHRoZSByZXN1bHRzIHRvIHByb2R1Y2UgYSBuZXcgYXJyYXkuICovXG4gICAgZmxhdE1hcDxVPihmOiBBcnJheUZ1bmM8VCwgVVtdPik6IERhdGFBcnJheTxVPjtcbiAgICAvKiogTXV0YWJseSBjaGFuZ2UgZWFjaCB2YWx1ZSBpbiB0aGUgYXJyYXksIHJldHVybmluZyB0aGUgc2FtZSBhcnJheSB3aGljaCB5b3UgY2FuIGZ1cnRoZXIgY2hhaW4gb2ZmIG9mLiAqL1xuICAgIG11dGF0ZShmOiBBcnJheUZ1bmM8VCwgdm9pZD4pOiBEYXRhQXJyYXk8VD47XG5cbiAgICAvKiogTGltaXQgdGhlIHRvdGFsIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBhcnJheSB0byB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gICAgbGltaXQoY291bnQ6IG51bWJlcik6IERhdGFBcnJheTxUPjtcbiAgICAvKipcbiAgICAgKiBUYWtlIGEgc2xpY2Ugb2YgdGhlIGFycmF5LiBJZiBgc3RhcnRgIGlzIHVuZGVmaW5lZCwgaXQgaXMgYXNzdW1lZCB0byBiZSAwOyBpZiBgZW5kYCBpcyB1bmRlZmluZWQsIGl0IGlzIGFzc3VtYmVkXG4gICAgICogdG8gYmUgdGhlIGVuZCBvZiB0aGUgYXJyYXkuXG4gICAgICovXG4gICAgc2xpY2Uoc3RhcnQ/OiBudW1iZXIsIGVuZD86IG51bWJlcik6IERhdGFBcnJheTxUPjtcbiAgICAvKiogQ29uY2F0ZW5hdGUgdGhlIHZhbHVlcyBpbiB0aGlzIGRhdGEgYXJyYXkgd2l0aCB0aG9zZSBvZiBhbm90aGVyIGl0ZXJhYmxlIC8gZGF0YSBhcnJheSAvIGFycmF5LiAqL1xuICAgIGNvbmNhdChvdGhlcjogSXRlcmFibGU8VD4pOiBEYXRhQXJyYXk8VD47XG5cbiAgICAvKiogUmV0dXJuIHRoZSBmaXJzdCBpbmRleCBvZiB0aGUgZ2l2ZW4gKG9wdGlvbmFsbHkgc3RhcnRpbmcgdGhlIHNlYXJjaCkgKi9cbiAgICBpbmRleE9mKGVsZW1lbnQ6IFQsIGZyb21JbmRleD86IG51bWJlcik6IG51bWJlcjtcbiAgICAvKiogUmV0dXJuIHRoZSBmaXJzdCBlbGVtZW50IHRoYXQgc2F0aXNmaWVzIHRoZSBnaXZlbiBwcmVkaWNhdGUuICovXG4gICAgZmluZChwcmVkOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4pOiBUIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBGaW5kIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IHNhdGlzZmllcyB0aGUgZ2l2ZW4gcHJlZGljYXRlLiBSZXR1cm5zIC0xIGlmIG5vdGhpbmcgd2FzIGZvdW5kLiAqL1xuICAgIGZpbmRJbmRleChwcmVkOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4sIGZyb21JbmRleD86IG51bWJlcik6IG51bWJlcjtcbiAgICAvKiogUmV0dXJucyB0cnVlIGlmIHRoZSBhcnJheSBjb250YWlucyB0aGUgZ2l2ZW4gZWxlbWVudCwgYW5kIGZhbHNlIG90aGVyd2lzZS4gKi9cbiAgICBpbmNsdWRlcyhlbGVtZW50OiBUKTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHN0cmluZyBvYnRhaW5lZCBieSBjb252ZXJ0aW5nIGVhY2ggZWxlbWVudCBpbiB0aGUgYXJyYXkgdG8gYSBzdHJpbmcsIGFuZCBqb2luaW5nIGl0IHdpdGggdGhlXG4gICAgICogZ2l2ZW4gc2VwYXJhdG9yICh3aGljaCBkZWZhdWx0cyB0byAnLCAnKS5cbiAgICAgKi9cbiAgICBqb2luKHNlcD86IHN0cmluZyk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHNvcnRlZCBhcnJheSBzb3J0ZWQgYnkgdGhlIGdpdmVuIGtleTsgYW4gb3B0aW9uYWwgY29tcGFyYXRvciBjYW4gYmUgcHJvdmlkZWQsIHdoaWNoIHdpbGxcbiAgICAgKiBiZSB1c2VkIHRvIGNvbXBhcmUgdGhlIGtleXMgaW4gbGVpdSBvZiB0aGUgZGVmYXVsdCBkYXRhdmlldyBjb21wYXJhdG9yLlxuICAgICAqL1xuICAgIHNvcnQ8VT4oa2V5OiBBcnJheUZ1bmM8VCwgVT4sIGRpcmVjdGlvbj86IFwiYXNjXCIgfCBcImRlc2NcIiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPjtcblxuICAgIC8qKlxuICAgICAqIE11dGFibHkgbW9kaWZ5IHRoZSBjdXJyZW50IGFycmF5IHdpdGggYW4gaW4gcGxhY2Ugc29ydDsgdGhpcyBpcyBsZXNzIGZsZXhpYmxlIHRoYW4gYSByZWd1bGFyIHNvcnQgaW4gZXhjaGFuZ2VcbiAgICAgKiBmb3IgYmVpbmcgYSBsaXR0bGUgbW9yZSBwZXJmb3JtYW50LiBPbmx5IHVzZSB0aGlzIGlzIHBlcmZvcm1hbmNlIGlzIGEgc2VyaW91cyBjb25zaWRlcmF0aW9uLlxuICAgICAqL1xuICAgIHNvcnRJblBsYWNlPFU+KGtleTogKHY6IFQpID0+IFUsIGRpcmVjdGlvbj86IFwiYXNjXCIgfCBcImRlc2NcIiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhbiBhcnJheSB3aGVyZSBlbGVtZW50cyBhcmUgZ3JvdXBlZCBieSB0aGUgZ2l2ZW4ga2V5OyB0aGUgcmVzdWx0aW5nIGFycmF5IHdpbGwgaGF2ZSBvYmplY3RzIG9mIHRoZSBmb3JtXG4gICAgICogXFxgeyBrZXk6IFxcPGtleSB2YWx1ZVxcPiwgcm93czogRGF0YUFycmF5IH1gLlxuICAgICAqL1xuICAgIGdyb3VwQnk8VT4oa2V5OiBBcnJheUZ1bmM8VCwgVT4sIGNvbXBhcmF0b3I/OiBBcnJheUNvbXBhcmF0b3I8VT4pOiBEYXRhQXJyYXk8eyBrZXk6IFU7IHJvd3M6IFRbXSB9PjtcblxuICAgIC8qKlxuICAgICAqIElmIHRoZSBhcnJheSBpcyBub3QgZ3JvdXBlZCwgZ3JvdXBzIGl0IGFzIGBncm91cEJ5YCBkb2VzOyBvdGhlcndpc2UsIGdyb3VwcyB0aGUgZWxlbWVudHMgaW5zaWRlIGVhY2ggY3VycmVudFxuICAgICAqIGdyb3VwLiBUaGlzIGFsbG93cyBmb3IgdG9wLWRvd24gcmVjdXJzaXZlIGdyb3VwaW5nIHdoaWNoIG1heSBiZSBlYXNpZXIgdGhhbiBib3R0b20tdXAgZ3JvdXBpbmcuXG4gICAgICovXG4gICAgZ3JvdXBJbjxVPihrZXk6IEFycmF5RnVuYzxMb3dlc3RLZXk8VD4sIFU+LCBjb21wYXJhdG9yPzogQXJyYXlDb21wYXJhdG9yPFU+KTogRGF0YUFycmF5PEluZ3JvdXBlZDxVLCBUPj47XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gZGlzdGluY3QgZW50cmllcy4gSWYgYSBrZXkgaXMgcHJvdmlkZWQsIHRoZW4gcm93cyB3aXRoIGRpc3RpbmN0IGtleXMgYXJlIHJldHVybmVkLlxuICAgICAqL1xuICAgIGRpc3RpbmN0PFU+KGtleT86IEFycmF5RnVuYzxULCBVPiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPjtcblxuICAgIC8qKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgcHJlZGljYXRlIGlzIHRydWUgZm9yIGFsbCB2YWx1ZXMuICovXG4gICAgZXZlcnkoZjogQXJyYXlGdW5jPFQsIGJvb2xlYW4+KTogYm9vbGVhbjtcbiAgICAvKiogUmV0dXJuIHRydWUgaWYgdGhlIHByZWRpY2F0ZSBpcyB0cnVlIGZvciBhdCBsZWFzdCBvbmUgdmFsdWUuICovXG4gICAgc29tZShmOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4pOiBib29sZWFuO1xuICAgIC8qKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgcHJlZGljYXRlIGlzIEZBTFNFIGZvciBhbGwgdmFsdWVzLiAqL1xuICAgIG5vbmUoZjogQXJyYXlGdW5jPFQsIGJvb2xlYW4+KTogYm9vbGVhbjtcblxuICAgIC8qKiBSZXR1cm4gdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGRhdGEgYXJyYXkuIFJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBhcnJheSBpcyBlbXB0eS4gKi9cbiAgICBmaXJzdCgpOiBUO1xuICAgIC8qKiBSZXR1cm4gdGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgZGF0YSBhcnJheS4gUmV0dXJucyB1bmRlZmluZWQgaWYgdGhlIGFycmF5IGlzIGVtcHR5LiAqL1xuICAgIGxhc3QoKTogVDtcblxuICAgIC8qKiBNYXAgZXZlcnkgZWxlbWVudCBpbiB0aGlzIGRhdGEgYXJyYXkgdG8gdGhlIGdpdmVuIGtleSwgYW5kIHRoZW4gZmxhdHRlbiBpdC4qL1xuICAgIHRvKGtleTogc3RyaW5nKTogRGF0YUFycmF5PGFueT47XG4gICAgLyoqIE1hcCBldmVyeSBlbGVtZW50IGluIHRoaXMgZGF0YSBhcnJheSB0byB0aGUgZ2l2ZW4ga2V5OyB1bmxpa2UgdG8oKSwgZG9lcyBub3QgZmxhdHRlbiB0aGUgcmVzdWx0LiAqL1xuICAgIGludG8oa2V5OiBzdHJpbmcpOiBEYXRhQXJyYXk8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFJlY3Vyc2l2ZWx5IGV4cGFuZCB0aGUgZ2l2ZW4ga2V5LCBmbGF0dGVuaW5nIGEgdHJlZSBzdHJ1Y3R1cmUgYmFzZWQgb24gdGhlIGtleSBpbnRvIGEgZmxhdCBhcnJheS4gVXNlZnVsIGZvciBoYW5kbGluZ1xuICAgICAqIGhlaXJhcmNoaWNhbCBkYXRhIGxpa2UgdGFza3Mgd2l0aCAnc3VidGFza3MnLlxuICAgICAqL1xuICAgIGV4cGFuZChrZXk6IHN0cmluZyk6IERhdGFBcnJheTxhbnk+O1xuXG4gICAgLyoqIFJ1biBhIGxhbWJkYSBvbiBlYWNoIGVsZW1lbnQgaW4gdGhlIGFycmF5LiAqL1xuICAgIGZvckVhY2goZjogQXJyYXlGdW5jPFQsIHZvaWQ+KTogdm9pZDtcblxuICAgIC8qKiBDb252ZXJ0IHRoaXMgdG8gYSBwbGFpbiBqYXZhc2NyaXB0IGFycmF5LiAqL1xuICAgIGFycmF5KCk6IFRbXTtcblxuICAgIC8qKiBBbGxvdyBpdGVyYXRpbmcgZGlyZWN0bHkgb3ZlciB0aGUgYXJyYXkuICovXG4gICAgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmF0b3I8VD47XG5cbiAgICAvKiogTWFwIGluZGV4ZXMgdG8gdmFsdWVzLiAqL1xuICAgIFtpbmRleDogbnVtYmVyXTogYW55O1xuICAgIC8qKiBBdXRvbWF0aWMgZmxhdHRlbmluZyBvZiBmaWVsZHMuIEVxdWl2YWxlbnQgdG8gaW1wbGljaXRseSBjYWxsaW5nIGBhcnJheS50byhcImZpZWxkXCIpYCAqL1xuICAgIFtmaWVsZDogc3RyaW5nXTogYW55O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGhpZGRlblxuICogSW1wbGVtZW50YXRpb24gb2YgRGF0YUFycmF5LCBtaW51cyB0aGUgZHluYW1pYyB2YXJpYWJsZSBhY2Nlc3MsIHdoaWNoIGlzIGltcGxlbWVudGVkIHZpYSBwcm94eS5cbiAqICovXG5jbGFzcyBEYXRhQXJyYXlJbXBsPFQ+IGltcGxlbWVudHMgRGF0YUFycmF5PFQ+IHtcbiAgICBwcml2YXRlIHN0YXRpYyBBUlJBWV9GVU5DVElPTlM6IFNldDxzdHJpbmc+ID0gbmV3IFNldChbXG4gICAgICAgIFwiY2hhaW5cIixcbiAgICAgICAgXCJ3aGVyZVwiLFxuICAgICAgICBcImZpbHRlclwiLFxuICAgICAgICBcIm1hcFwiLFxuICAgICAgICBcImZsYXRNYXBcIixcbiAgICAgICAgXCJtdXRhdGVcIixcbiAgICAgICAgXCJzbGljZVwiLFxuICAgICAgICBcImNvbmNhdFwiLFxuICAgICAgICBcImluZGV4T2ZcIixcbiAgICAgICAgXCJsaW1pdFwiLFxuICAgICAgICBcImZpbmRcIixcbiAgICAgICAgXCJmaW5kSW5kZXhcIixcbiAgICAgICAgXCJpbmNsdWRlc1wiLFxuICAgICAgICBcImpvaW5cIixcbiAgICAgICAgXCJzb3J0XCIsXG4gICAgICAgIFwic29ydEluUGxhY2VcIixcbiAgICAgICAgXCJncm91cEJ5XCIsXG4gICAgICAgIFwiZ3JvdXBJblwiLFxuICAgICAgICBcImRpc3RpbmN0XCIsXG4gICAgICAgIFwiZXZlcnlcIixcbiAgICAgICAgXCJzb21lXCIsXG4gICAgICAgIFwibm9uZVwiLFxuICAgICAgICBcImZpcnN0XCIsXG4gICAgICAgIFwibGFzdFwiLFxuICAgICAgICBcInRvXCIsXG4gICAgICAgIFwiaW50b1wiLFxuICAgICAgICBcImx3cmFwXCIsXG4gICAgICAgIFwiZXhwYW5kXCIsXG4gICAgICAgIFwiZm9yRWFjaFwiLFxuICAgICAgICBcImxlbmd0aFwiLFxuICAgICAgICBcInZhbHVlc1wiLFxuICAgICAgICBcImFycmF5XCIsXG4gICAgICAgIFwiZGVmYXVsdENvbXBhcmF0b3JcIixcbiAgICAgICAgXCJ0b1N0cmluZ1wiLFxuICAgICAgICBcInNldHRpbmdzXCIsXG4gICAgXSk7XG5cbiAgICBwcml2YXRlIHN0YXRpYyBBUlJBWV9QUk9YWTogUHJveHlIYW5kbGVyPERhdGFBcnJheUltcGw8YW55Pj4gPSB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKHRhcmdldCwgcHJvcCwgcmVjaWV2ZXIpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcCA9PT0gXCJzeW1ib2xcIikgcmV0dXJuICh0YXJnZXQgYXMgYW55KVtwcm9wXTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBwcm9wID09PSBcIm51bWJlclwiKSByZXR1cm4gdGFyZ2V0LnZhbHVlc1twcm9wXTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHByb3AgPT09IFwiY29uc3RydWN0b3JcIikgcmV0dXJuIHRhcmdldC52YWx1ZXMuY29uc3RydWN0b3I7XG4gICAgICAgICAgICBlbHNlIGlmICghaXNOYU4ocGFyc2VJbnQocHJvcCkpKSByZXR1cm4gdGFyZ2V0LnZhbHVlc1twYXJzZUludChwcm9wKV07XG4gICAgICAgICAgICBlbHNlIGlmIChEYXRhQXJyYXlJbXBsLkFSUkFZX0ZVTkNUSU9OUy5oYXMocHJvcC50b1N0cmluZygpKSkgcmV0dXJuIHRhcmdldFtwcm9wLnRvU3RyaW5nKCldO1xuXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnRvKHByb3ApO1xuICAgICAgICB9LFxuICAgIH07XG5cbiAgICBwdWJsaWMgc3RhdGljIHdyYXA8VD4oYXJyOiBUW10sIGRlZmF1bHRDb21wYXJhdG9yOiBBcnJheUNvbXBhcmF0b3I8YW55PiA9IExpdGVyYWxzLmNvbXBhcmUpOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb3h5PERhdGFBcnJheUltcGw8VD4+KG5ldyBEYXRhQXJyYXlJbXBsPFQ+KGFyciwgZGVmYXVsdENvbXBhcmF0b3IpLCBEYXRhQXJyYXlJbXBsLkFSUkFZX1BST1hZKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGVuZ3RoOiBudW1iZXI7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWVzOiBhbnlbXSwgcHVibGljIGRlZmF1bHRDb21wYXJhdG9yOiBBcnJheUNvbXBhcmF0b3I8YW55PiA9IExpdGVyYWxzLmNvbXBhcmUpIHtcbiAgICAgICAgdGhpcy5sZW5ndGggPSB2YWx1ZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgbHdyYXA8VT4odmFsdWVzOiBVW10pOiBEYXRhQXJyYXk8VT4ge1xuICAgICAgICByZXR1cm4gRGF0YUFycmF5SW1wbC53cmFwKHZhbHVlcywgdGhpcy5kZWZhdWx0Q29tcGFyYXRvcik7XG4gICAgfVxuXG4gICAgcHVibGljIGNoYWluPFU+KG9wOiAoYXJyOiBEYXRhQXJyYXk8VD4pID0+IERhdGFBcnJheTxVPik6IERhdGFBcnJheTxVPiB7XG4gICAgICAgIHJldHVybiBvcCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2hlcmUocHJlZGljYXRlOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcCh0aGlzLnZhbHVlcy5maWx0ZXIocHJlZGljYXRlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlcihwcmVkaWNhdGU6IEFycmF5RnVuYzxULCBib29sZWFuPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLndoZXJlKHByZWRpY2F0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcDxVPihmOiBBcnJheUZ1bmM8VCwgVT4pOiBEYXRhQXJyYXk8VT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcCh0aGlzLnZhbHVlcy5tYXAoZikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmbGF0TWFwPFU+KGY6IEFycmF5RnVuYzxULCBVW10+KTogRGF0YUFycmF5PFU+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGYodGhpcy52YWx1ZXNbaW5kZXhdLCBpbmRleCwgdGhpcy52YWx1ZXMpO1xuICAgICAgICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPT0gMCkgY29udGludWU7XG5cbiAgICAgICAgICAgIGZvciAobGV0IHIgb2YgdmFsdWUpIHJlc3VsdC5wdXNoKHIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubHdyYXAocmVzdWx0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbXV0YXRlKGY6IEFycmF5RnVuYzxULCB2b2lkPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLnZhbHVlcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGYodGhpcy52YWx1ZXNbaW5kZXhdLCBpbmRleCwgdGhpcy52YWx1ZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55O1xuICAgIH1cblxuICAgIHB1YmxpYyBsaW1pdChjb3VudDogbnVtYmVyKTogRGF0YUFycmF5PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubHdyYXAodGhpcy52YWx1ZXMuc2xpY2UoMCwgY291bnQpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2xpY2Uoc3RhcnQ/OiBudW1iZXIsIGVuZD86IG51bWJlcik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmx3cmFwKHRoaXMudmFsdWVzLnNsaWNlKHN0YXJ0LCBlbmQpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uY2F0KG90aGVyOiBEYXRhQXJyYXk8VD4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcCh0aGlzLnZhbHVlcy5jb25jYXQob3RoZXIudmFsdWVzKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiB0aGUgZmlyc3QgaW5kZXggb2YgdGhlIGdpdmVuIChvcHRpb25hbGx5IHN0YXJ0aW5nIHRoZSBzZWFyY2gpICovXG4gICAgcHVibGljIGluZGV4T2YoZWxlbWVudDogVCwgZnJvbUluZGV4PzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZEluZGV4KChlKSA9PiB0aGlzLmRlZmF1bHRDb21wYXJhdG9yKGUsIGVsZW1lbnQpID09IDAsIGZyb21JbmRleCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IHNhdGlzZmllcyB0aGUgZ2l2ZW4gcHJlZGljYXRlLiAqL1xuICAgIHB1YmxpYyBmaW5kKHByZWQ6IEFycmF5RnVuYzxULCBib29sZWFuPik6IFQgfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLmZpbmRJbmRleChwcmVkKTtcbiAgICAgICAgaWYgKGluZGV4ID09IC0xKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBlbHNlIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XG4gICAgfVxuXG4gICAgcHVibGljIGZpbmRJbmRleChwcmVkOiBBcnJheUZ1bmM8VCwgYm9vbGVhbj4sIGZyb21JbmRleD86IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gZnJvbUluZGV4ID8/IDA7IGluZGV4IDwgdGhpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGlmIChwcmVkKHRoaXMudmFsdWVzW2luZGV4XSwgaW5kZXgsIHRoaXMudmFsdWVzKSkgcmV0dXJuIGluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbmNsdWRlcyhlbGVtZW50OiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4T2YoZWxlbWVudCwgMCkgIT0gLTE7XG4gICAgfVxuXG4gICAgcHVibGljIGpvaW4oc2VwPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwKChzKSA9PiBMaXRlcmFscy50b1N0cmluZyhzKSlcbiAgICAgICAgICAgIC5hcnJheSgpXG4gICAgICAgICAgICAuam9pbihzZXAgPz8gXCIsIFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc29ydDxVPihrZXk/OiBBcnJheUZ1bmM8VCwgVT4sIGRpcmVjdGlvbj86IFwiYXNjXCIgfCBcImRlc2NcIiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlcy5sZW5ndGggPT0gMCkgcmV0dXJuIHRoaXM7XG4gICAgICAgIGxldCByZWFsQ29tcGFyYXRvciA9IGNvbXBhcmF0b3IgPz8gdGhpcy5kZWZhdWx0Q29tcGFyYXRvcjtcbiAgICAgICAgbGV0IHJlYWxLZXkgPSBrZXkgPz8gKChsOiBUKSA9PiBsIGFzIGFueSBhcyBVKTtcblxuICAgICAgICAvLyBBc3NvY2lhdGUgZWFjaCBlbnRyeSB3aXRoIGl0J3MgaW5kZXggZm9yIHRoZSBrZXkgZnVuY3Rpb24sIGFuZCB0aGVuIGRvIGEgbm9ybWFsIHNvcnQuXG4gICAgICAgIGxldCBjb3B5ID0gKFtdIGFzIGFueVtdKS5jb25jYXQodGhpcy5hcnJheSgpKS5tYXAoKGVsZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4geyBpbmRleDogaW5kZXgsIHZhbHVlOiBlbGVtIH07XG4gICAgICAgIH0pO1xuICAgICAgICBjb3B5LnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGxldCBhS2V5ID0gcmVhbEtleShhLnZhbHVlLCBhLmluZGV4LCB0aGlzLnZhbHVlcyk7XG4gICAgICAgICAgICBsZXQgYktleSA9IHJlYWxLZXkoYi52YWx1ZSwgYi5pbmRleCwgdGhpcy52YWx1ZXMpO1xuICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gXCJkZXNjXCIgPyAtcmVhbENvbXBhcmF0b3IoYUtleSwgYktleSkgOiByZWFsQ29tcGFyYXRvcihhS2V5LCBiS2V5KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubHdyYXAoY29weS5tYXAoKGUpID0+IGUudmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc29ydEluUGxhY2U8VT4oXG4gICAgICAgIGtleT86ICh2YWx1ZTogVCkgPT4gVSxcbiAgICAgICAgZGlyZWN0aW9uPzogXCJhc2NcIiB8IFwiZGVzY1wiLFxuICAgICAgICBjb21wYXJhdG9yPzogQXJyYXlDb21wYXJhdG9yPFU+XG4gICAgKTogRGF0YUFycmF5PFQ+IHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCA9PSAwKSByZXR1cm4gdGhpcztcbiAgICAgICAgbGV0IHJlYWxDb21wYXJhdG9yID0gY29tcGFyYXRvciA/PyB0aGlzLmRlZmF1bHRDb21wYXJhdG9yO1xuICAgICAgICBsZXQgcmVhbEtleSA9IGtleSA/PyAoKGw6IFQpID0+IGwgYXMgYW55IGFzIFUpO1xuXG4gICAgICAgIHRoaXMudmFsdWVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGxldCBhS2V5ID0gcmVhbEtleShhKTtcbiAgICAgICAgICAgIGxldCBiS2V5ID0gcmVhbEtleShiKTtcblxuICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBcImRlc2NcIiA/IC1yZWFsQ29tcGFyYXRvcihhS2V5LCBiS2V5KSA6IHJlYWxDb21wYXJhdG9yKGFLZXksIGJLZXkpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ3JvdXBCeTxVPihrZXk6IEFycmF5RnVuYzxULCBVPiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTx7IGtleTogVTsgcm93czogVFtdIH0+IHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCA9PSAwKSByZXR1cm4gdGhpcy5sd3JhcChbXSk7XG5cbiAgICAgICAgLy8gSmF2YVNjcmlwdCBzdWNrcyBhbmQgd2UgY2FuJ3QgbWFrZSBoYXNoIG1hcHMgb3ZlciBhcmJpdHJhcnkgdHlwZXMgKG9ubHkgc3RyaW5ncy9pbnRzKSwgc29cbiAgICAgICAgLy8gd2UgZG8gYSBwb29yIG1hbiBhbGdvcml0aG0gd2hlcmUgd2UgU09SVCwgZm9sbG93ZWQgYnkgZ3JvdXBpbmcuXG4gICAgICAgIGxldCBpbnRlcm1lZGlhdGUgPSB0aGlzLnNvcnQoa2V5LCBcImFzY1wiLCBjb21wYXJhdG9yKTtcbiAgICAgICAgY29tcGFyYXRvciA9IGNvbXBhcmF0b3IgPz8gdGhpcy5kZWZhdWx0Q29tcGFyYXRvcjtcblxuICAgICAgICBsZXQgcmVzdWx0OiB7IGtleTogVTsgcm93czogVFtdIH1bXSA9IFtdO1xuICAgICAgICBsZXQgY3VycmVudFJvdyA9IFtpbnRlcm1lZGlhdGVbMF1dO1xuICAgICAgICBsZXQgY3VycmVudCA9IGtleShpbnRlcm1lZGlhdGVbMF0sIDAsIGludGVybWVkaWF0ZS52YWx1ZXMpO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgaW50ZXJtZWRpYXRlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgbGV0IG5ld0tleSA9IGtleShpbnRlcm1lZGlhdGVbaW5kZXhdLCBpbmRleCwgaW50ZXJtZWRpYXRlLnZhbHVlcyk7XG4gICAgICAgICAgICBpZiAoY29tcGFyYXRvcihjdXJyZW50LCBuZXdLZXkpICE9IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogY3VycmVudCwgcm93czogY3VycmVudFJvdyB9KTtcbiAgICAgICAgICAgICAgICBjdXJyZW50ID0gbmV3S2V5O1xuICAgICAgICAgICAgICAgIGN1cnJlbnRSb3cgPSBbaW50ZXJtZWRpYXRlW2luZGV4XV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRSb3cucHVzaChpbnRlcm1lZGlhdGVbaW5kZXhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaCh7IGtleTogY3VycmVudCwgcm93czogY3VycmVudFJvdyB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcChyZXN1bHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBncm91cEluPFU+KGtleTogQXJyYXlGdW5jPExvd2VzdEtleTxUPiwgVT4sIGNvbXBhcmF0b3I/OiBBcnJheUNvbXBhcmF0b3I8VT4pOiBEYXRhQXJyYXk8SW5ncm91cGVkPFUsIFQ+PiB7XG4gICAgICAgIGlmIChHcm91cGluZ3MuaXNHcm91cGluZyh0aGlzLnZhbHVlcykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1hcCgodikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogKHYgYXMgYW55KS5rZXksXG4gICAgICAgICAgICAgICAgICAgIHJvd3M6IERhdGFBcnJheS53cmFwKCh2IGFzIGFueSkucm93cykuZ3JvdXBJbihrZXkgYXMgYW55LCBjb21wYXJhdG9yIGFzIGFueSksXG4gICAgICAgICAgICAgICAgfSBhcyBhbnk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdyb3VwQnkoa2V5IGFzIGFueSwgY29tcGFyYXRvcikgYXMgYW55O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRpc3RpbmN0PFU+KGtleT86IEFycmF5RnVuYzxULCBVPiwgY29tcGFyYXRvcj86IEFycmF5Q29tcGFyYXRvcjxVPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlcy5sZW5ndGggPT0gMCkgcmV0dXJuIHRoaXM7XG4gICAgICAgIGxldCByZWFsS2V5ID0ga2V5ID8/ICgoeCkgPT4geCBhcyBhbnkgYXMgVSk7XG5cbiAgICAgICAgLy8gRm9yIHNpbWlsYXIgcmVhc29ucyB0byBncm91cEJ5LCBkbyBhIHNvcnQgYW5kIHRha2UgdGhlIGZpcnN0IGVsZW1lbnQgb2YgZWFjaCBibG9jay5cbiAgICAgICAgbGV0IGludGVybWVkaWF0ZSA9IHRoaXMubWFwKCh4LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsga2V5OiByZWFsS2V5KHgsIGluZGV4LCB0aGlzLnZhbHVlcyksIHZhbHVlOiB4IH07XG4gICAgICAgIH0pLnNvcnQoKHgpID0+IHgua2V5LCBcImFzY1wiLCBjb21wYXJhdG9yKTtcbiAgICAgICAgY29tcGFyYXRvciA9IGNvbXBhcmF0b3IgPz8gdGhpcy5kZWZhdWx0Q29tcGFyYXRvcjtcblxuICAgICAgICBsZXQgcmVzdWx0OiBUW10gPSBbaW50ZXJtZWRpYXRlWzBdLnZhbHVlXTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IGludGVybWVkaWF0ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGlmIChjb21wYXJhdG9yKGludGVybWVkaWF0ZVtpbmRleCAtIDFdLmtleSwgaW50ZXJtZWRpYXRlW2luZGV4XS5rZXkpICE9IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChpbnRlcm1lZGlhdGVbaW5kZXhdLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmx3cmFwKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGV2ZXJ5KGY6IEFycmF5RnVuYzxULCBib29sZWFuPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZXZlcnkoZik7XG4gICAgfVxuXG4gICAgcHVibGljIHNvbWUoZjogQXJyYXlGdW5jPFQsIGJvb2xlYW4+KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5zb21lKGYpO1xuICAgIH1cblxuICAgIHB1YmxpYyBub25lKGY6IEFycmF5RnVuYzxULCBib29sZWFuPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZXZlcnkoKHYsIGksIGEpID0+ICFmKHYsIGksIGEpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlyc3QoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5sZW5ndGggPiAwID8gdGhpcy52YWx1ZXNbMF0gOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBsYXN0KCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMubGVuZ3RoID4gMCA/IHRoaXMudmFsdWVzW3RoaXMudmFsdWVzLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyB0byhrZXk6IHN0cmluZyk6IERhdGFBcnJheTxhbnk+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogYW55W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgdGhpcy52YWx1ZXMpIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNoaWxkW2tleV07XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkgY29udGludWU7XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSB8fCBEYXRhQXJyYXkuaXNEYXRhQXJyYXkodmFsdWUpKSB2YWx1ZS5mb3JFYWNoKCh2KSA9PiByZXN1bHQucHVzaCh2KSk7XG4gICAgICAgICAgICBlbHNlIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmx3cmFwKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGludG8oa2V5OiBzdHJpbmcpOiBEYXRhQXJyYXk8YW55PiB7XG4gICAgICAgIGxldCByZXN1bHQ6IGFueVtdID0gW107XG4gICAgICAgIGZvciAobGV0IGNoaWxkIG9mIHRoaXMudmFsdWVzKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBjaGlsZFtrZXldO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5sd3JhcChyZXN1bHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBhbmQoa2V5OiBzdHJpbmcpOiBEYXRhQXJyYXk8YW55PiB7XG4gICAgICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICAgICAgbGV0IHF1ZXVlOiBhbnlbXSA9IChbXSBhcyBhbnlbXSkuY29uY2F0KHRoaXMudmFsdWVzKTtcblxuICAgICAgICB3aGlsZSAocXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IG5leHQgPSBxdWV1ZS5wb3AoKTtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IG5leHRba2V5XTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIGNvbnRpbnVlO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB2YWx1ZS5mb3JFYWNoKCh2KSA9PiBxdWV1ZS5wdXNoKHYpKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0YUFycmF5SW1wbCkgdmFsdWUuZm9yRWFjaCgodikgPT4gcXVldWUucHVzaCh2KSk7XG4gICAgICAgICAgICBlbHNlIHF1ZXVlLnB1c2godmFsdWUpO1xuXG4gICAgICAgICAgICByZXN1bHQucHVzaChuZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmx3cmFwKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGZvckVhY2goZjogQXJyYXlGdW5jPFQsIHZvaWQ+KSB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLnZhbHVlcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGYodGhpcy52YWx1ZXNbaW5kZXhdLCBpbmRleCwgdGhpcy52YWx1ZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFycmF5KCk6IFRbXSB7XG4gICAgICAgIHJldHVybiAoW10gYXMgYW55W10pLmNvbmNhdCh0aGlzLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzW1N5bWJvbC5pdGVyYXRvcl0oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFwiW1wiICsgdGhpcy52YWx1ZXMuam9pbihcIiwgXCIpICsgXCJdXCI7XG4gICAgfVxufVxuXG4vKiogUHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGdlbmVyYXRpbmcgZGF0YSBhcnJheXMuXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgRGF0YUFycmF5IHtcbiAgICAvKiogQ3JlYXRlIGEgbmV3IERhdGF2aWV3IGRhdGEgYXJyYXkuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIHdyYXA8VD4ocmF3OiBUW10gfCBEYXRhQXJyYXk8VD4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICBpZiAoaXNEYXRhQXJyYXkocmF3KSkgcmV0dXJuIHJhdztcbiAgICAgICAgcmV0dXJuIERhdGFBcnJheUltcGwud3JhcChyYXcpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBuZXcgRGF0YUFycmF5IGZyb20gYW4gaXRlcmFibGUgb2JqZWN0LiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBmcm9tPFQ+KHJhdzogSXRlcmFibGU8VD4pOiBEYXRhQXJyYXk8VD4ge1xuICAgICAgICBpZiAoaXNEYXRhQXJyYXkocmF3KSkgcmV0dXJuIHJhdztcblxuICAgICAgICBsZXQgZGF0YSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBlbGVtIG9mIHJhdykgZGF0YS5wdXNoKGVsZW0pO1xuICAgICAgICByZXR1cm4gRGF0YUFycmF5SW1wbC53cmFwKGRhdGEpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGEgZGF0YSBhcnJheS4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gaXNEYXRhQXJyYXkob2JqOiBhbnkpOiBvYmogaXMgRGF0YUFycmF5PGFueT4ge1xuICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0YUFycmF5SW1wbDtcbiAgICB9XG59XG5cbi8vIEEgc2NhcnkgbG9va2luZyBwb2x5ZmlsbCwgc3VyZSwgYnV0IGl0IGZpeGVzIHVwIGRhdGEgYXJyYXkvYXJyYXkgaW50ZXJvcCBmb3IgdXMuXG5jb25zdCBvbGRBcnJheUlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuQXJyYXkuaXNBcnJheSA9IChhcmcpOiBhcmcgaXMgYW55W10gPT4ge1xuICAgIHJldHVybiBvbGRBcnJheUlzQXJyYXkoYXJnKSB8fCBEYXRhQXJyYXkuaXNEYXRhQXJyYXkoYXJnKTtcbn07XG4iLCAiLyoqIEBpZ25vcmUgKi9cbi8vISBVdGlsaXRpZXMgZm9yIGZvcmNpbmcgdHlwZXMgdG8gYmUgb2YgYSBzcGVjaWZpYyB0eXBlIG9yIHJldHVybmluZyAndW5kZWZpbmVkJyBpZiBub3QsIGFsbG93aW5nIGZvciBtdWNoIG1vcmUgY29uY2lzZSB0eXBpbmcuXG5cbmltcG9ydCB7IExpbmssIExpdGVyYWwsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgUFJJTUlUSVZFUyB9IGZyb20gXCJleHByZXNzaW9uL3BhcnNlclwiO1xuaW1wb3J0IHsgRGF0ZVRpbWUsIER1cmF0aW9uIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyByZW5kZXJNaW5pbWFsRGF0ZSB9IGZyb20gXCJ1dGlscy9ub3JtYWxpemVyc1wiO1xuXG5leHBvcnQgbmFtZXNwYWNlIENvZXJjZSB7XG4gICAgLyoqIENvZXJjZXMgY29tbW9uIHR5cGVzIHRvIHN0cmluZyBvciBvdGhlcndpc2UgdW5kZWZpbmVkLiAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBzdHJpbmcodmFsdWU6IExpdGVyYWwpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB3cmFwcGVkID0gTGl0ZXJhbHMud3JhcFZhbHVlKHZhbHVlKTtcbiAgICAgICAgaWYgKCF3cmFwcGVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWU7XG4gICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyB3cmFwcGVkLnZhbHVlO1xuICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVuZGVyTWluaW1hbERhdGUod3JhcHBlZC52YWx1ZSwgXCJ5eXl5LU1NLWRkXCIsIFwieXl5eS1NTS1kZCBISDptbTpzc1wiKTtcbiAgICAgICAgICAgIGNhc2UgXCJsaW5rXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUubWFya2Rvd24oKTtcbiAgICAgICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyB3cmFwcGVkLnZhbHVlO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvZXJjZXMgYm9vbGVhbnMgYW5kIHN0cmluZy1ib29sZWFucy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gYm9vbGVhbih2YWx1ZTogTGl0ZXJhbCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIikgcmV0dXJuIHZhbHVlO1xuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gXCJ0cnVlXCIpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gXCJmYWxzZVwiKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ29lcmNlcyBudW1iZXJzIGFuZCBzdHJpbmdzIHRvIG51bWJlcnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG51bWJlcih2YWx1ZTogTGl0ZXJhbCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICAgICAgICAgIGlmICghaXNOYU4ocGFyc2VkKSkgcmV0dXJuIHBhcnNlZDtcbiAgICAgICAgICAgIGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIENvZXJjZXMgZGF0ZXMgYW5kIHN0cmluZ3MgaW50byBkYXRlcy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gZGF0ZSh2YWx1ZTogTGl0ZXJhbCk6IERhdGVUaW1lIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZVRpbWUpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBQUklNSVRJVkVTLmRhdGVQbHVzLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWQuc3RhdHVzKSByZXR1cm4gcGFyc2VkLnZhbHVlO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ29lcmNlcyBkdXJhdGlvbnMgYW5kIHN0cmluZ3MgaW50byBkdXJhdGlvbnMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGR1cmF0aW9uKHZhbHVlOiBMaXRlcmFsKTogRHVyYXRpb24gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEdXJhdGlvbikgcmV0dXJuIHZhbHVlO1xuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IFBSSU1JVElWRVMuZHVyYXRpb24ucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgaWYgKHBhcnNlZC5zdGF0dXMpIHJldHVybiBwYXJzZWQudmFsdWU7XG4gICAgICAgICAgICBlbHNlIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKiBDb2VyY2VzIGxpbmtzIGFuZCBzdHJpbmdzIGludG8gbGlua3MuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGxpbmsodmFsdWU6IExpdGVyYWwpOiBMaW5rIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTGluaykgcmV0dXJuIHZhbHVlO1xuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IFBSSU1JVElWRVMuZW1iZWRMaW5rLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWQuc3RhdHVzKSByZXR1cm4gcGFyc2VkLnZhbHVlO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ29lcmNlcyBhbnl0aGluZyBpbnRvIGFuIGFycmF5LCBieSBjb252ZXJ0aW5nIG5vbi1hcnJheXMgaW50byB1bml0IGxlbmd0aCBhcnJheXMuICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGFycmF5KHZhbHVlOiBMaXRlcmFsKTogTGl0ZXJhbFtdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gICAgICAgIGVsc2UgcmV0dXJuIFt2YWx1ZV07XG4gICAgfVxufVxuIiwgIi8qKiBBIHByb21pc2UgdGhhdCBjYW4gYmUgcmVzb2x2ZWQgZGlyZWN0bHkuICovXG5leHBvcnQgdHlwZSBEZWZlcnJlZDxUPiA9IFByb21pc2U8VD4gJiB7XG4gICAgcmVzb2x2ZTogKHZhbHVlOiBUKSA9PiB2b2lkO1xuICAgIHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWQ7XG59O1xuXG4vKiogQ3JlYXRlIGEgbmV3IGRlZmVycmVkIG9iamVjdCwgd2hpY2ggaXMgYSByZXNvbHZhYmxlIHByb21pc2UuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmZXJyZWQ8VD4oKTogRGVmZXJyZWQ8VD4ge1xuICAgIGxldCByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQ7XG4gICAgbGV0IHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG4gICAgICAgIHJlc29sdmUgPSByZXM7XG4gICAgICAgIHJlamVjdCA9IHJlajtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmVycmVkID0gcHJvbWlzZSBhcyBhbnkgYXMgRGVmZXJyZWQ8VD47XG4gICAgZGVmZXJyZWQucmVzb2x2ZSA9IHJlc29sdmUhO1xuICAgIGRlZmVycmVkLnJlamVjdCA9IHJlamVjdCE7XG5cbiAgICByZXR1cm4gZGVmZXJyZWQ7XG59XG4iLCAiaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IERhdGFzdG9yZSB9IGZyb20gXCJpbmRleC9kYXRhc3RvcmVcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCIuL3Jlc3VsdFwiO1xuaW1wb3J0IHsgTWFya2Rvd25Db2RlYmxvY2ssIE1hcmtkb3duU2VjdGlvbiB9IGZyb20gXCJpbmRleC90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgRGVmZXJyZWQsIGRlZmVycmVkIH0gZnJvbSBcInV0aWxzL2RlZmVycmVkXCI7XG5pbXBvcnQgeyBTY3JpcHRMYW5ndWFnZSwgYXN5bmNFdmFsSW5Db250ZXh0LCB0cmFuc3BpbGUgfSBmcm9tIFwidXRpbHMvamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgbGluZVJhbmdlIH0gZnJvbSBcInV0aWxzL25vcm1hbGl6ZXJzXCI7XG5pbXBvcnQgeyBURmlsZSB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGggfSBmcm9tIFwicHJlYWN0XCI7XG5cbi8qKiBBIHNjcmlwdCB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBsb2FkZWQuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRpbmdTY3JpcHQge1xuICAgIHR5cGU6IFwibG9hZGluZ1wiO1xuXG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHByb21pc2U6IERlZmVycmVkPFJlc3VsdDxhbnksIHN0cmluZz4+O1xufVxuXG4vKiogQSBzY3JpcHQgdGhhdCBoYXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVkU2NyaXB0IHtcbiAgICB0eXBlOiBcImxvYWRlZFwiO1xuXG4gICAgcGF0aDogc3RyaW5nO1xuICAgIG9iamVjdDogYW55O1xufVxuXG5leHBvcnQgdHlwZSBEYXRhY29yZVNjcmlwdCA9IExvYWRpbmdTY3JpcHQgfCBMb2FkZWRTY3JpcHQ7XG5cbi8qKiBBIHNpbXBsZSBjYWNoaW5nIHNjcmlwdCBsb2FkZXIgdGhhdCBjYW4gbG9hZCBhbnkgREFHIG9mIHNjcmlwdCBkZXBlbmRlbmNpZXMuICovXG5leHBvcnQgY2xhc3MgU2NyaXB0Q2FjaGUge1xuICAgIC8qKiBBbGwgb2YgdGhlIHRhZ3Mgd2UgcmVjb2duaXplIGZvciBzY3JpcHRzLiAqL1xuICAgIHByaXZhdGUgc3RhdGljIFNDUklQVF9MQU5HVUFHRVM6IFJlY29yZDxzdHJpbmcsIFNjcmlwdExhbmd1YWdlPiA9IHtcbiAgICAgICAganM6IFwianNcIixcbiAgICAgICAgamF2YXNjcmlwdDogXCJqc1wiLFxuICAgICAgICBkYXRhY29yZWpzOiBcImpzXCIsXG4gICAgICAgIHR5cGVzY3JpcHQ6IFwidHNcIixcbiAgICAgICAgdHM6IFwidHNcIixcbiAgICAgICAgZGF0YWNvcmV0czogXCJ0c1wiLFxuICAgICAgICBqc3g6IFwianN4XCIsXG4gICAgICAgIGRhdGFjb3JlanN4OiBcImpzeFwiLFxuICAgICAgICB0c3g6IFwidHN4XCIsXG4gICAgICAgIGRhdGFjb3JldHN4OiBcInRzeFwiLFxuICAgIH07XG5cbiAgICAvKiogQWxsIG9mIHRoZSBkaXJlY3QgZmlsZSBleHRlbnNpb25zIHdlIGNhbiBsb2FkLiAqL1xuICAgIHByaXZhdGUgc3RhdGljIEZJTEVfRVhURU5TSU9OUzogUmVjb3JkPHN0cmluZywgU2NyaXB0TGFuZ3VhZ2U+ID0ge1xuICAgICAgICB0c3g6IFwidHN4XCIsXG4gICAgICAgIGpzeDogXCJqc3hcIixcbiAgICAgICAganM6IFwianNcIixcbiAgICAgICAgdHM6IFwidHNcIixcbiAgICB9O1xuXG4gICAgLyoqIENhY2hlcyBzY3JpcHRzIGJ5IGZ1bGx5IHF1YWxpZmllZCBwYXRoLiAqL1xuICAgIHB1YmxpYyBzY3JpcHRzOiBNYXA8c3RyaW5nLCBEYXRhY29yZVNjcmlwdD4gPSBuZXcgTWFwPHN0cmluZywgRGF0YWNvcmVTY3JpcHQ+KCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogRGF0YXN0b3JlKSB7fVxuXG4gICAgLyoqIExvYWQgdGhlIGdpdmVuIHNjcmlwdCBhdCB0aGUgZ2l2ZW4gcGF0aCwgcmVjdXJzaXZlbHkgbG9hZGluZyBhbnkgc3Vic2NyaXB0cyBhcyB3ZWxsLiAgKi9cbiAgICBwdWJsaWMgYXN5bmMgbG9hZChwYXRoOiBzdHJpbmcgfCBMaW5rLCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxSZXN1bHQ8YW55LCBzdHJpbmc+PiB7XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGUgY2FjaGUgZmlyc3QuXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMucGF0aGtleShwYXRoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFNjcmlwdCA9IHRoaXMuc2NyaXB0cy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKGN1cnJlbnRTY3JpcHQpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50U2NyaXB0LnR5cGUgPT09IFwibG9hZGVkXCIpIHJldHVybiBSZXN1bHQuc3VjY2VzcyhjdXJyZW50U2NyaXB0Lm9iamVjdCk7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IElmIHdlIHRyeSB0byBsb2FkIGFuIGFscmVhZHktbG9hZGluZyBzY3JpcHQsIHdlIGFyZSBhbG1vc3QgY2VydGFpbmx5IGRvaW5nIHNvbWV0aGluZ1xuICAgICAgICAgICAgLy8gd2VpcmQuIEVpdGhlciB0aGUgY2FsbGVyIGlzIG5vdCBgYXdhaXRgLWluZyB0aGUgbG9hZCBhbmQgbG9hZGluZyBtdWx0aXBsZSB0aW1lcywgT1JcbiAgICAgICAgICAgIC8vIHdlIGFyZSBpbiBhIGByZXF1aXJlKClgIGxvb3AuIEVpdGhlciB3YXksIHdlJ2xsIGVycm9yIG91dCBmb3Igbm93IHNpbmNlIHdlIGNhbid0IGhhbmRsZVxuICAgICAgICAgICAgLy8gZWl0aGVyIGNhc2UgY3VycmVudGx5LlxuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKFxuICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gaW1wb3J0IHNjcmlwdCBcIiR7cGF0aC50b1N0cmluZygpfVwiLCBhcyBpdCBpcyBpbiB0aGUgbWlkZGxlIG9mIGJlaW5nIGxvYWRlZC4gRG8geW91IGhhdmVcbiAgICAgICAgICAgICAgICAgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGluIHlvdXIgcmVxdWlyZSgpIGNhbGxzPyBUaGUgY3VycmVudGx5IGxvYWRlZCBvciBsb2FkaW5nIHNjcmlwdHMgYXJlOiBcbiAgICAgICAgICAgICAgICAgJHtBcnJheS5mcm9tKHRoaXMuc2NyaXB0cy52YWx1ZXMoKSlcbiAgICAgICAgICAgICAgICAgICAgIC5tYXAoKHNjKSA9PiBcIlxcdFwiICsgc2MucGF0aClcbiAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWNoZSBoYXMgbWlzc2VkLCBzbyBhZGQgb3Vyc2VsdmVzIHRvIHRoZSBjYWNoZSBhbmQgdHJ5IGFuZCBsb2FkIGl0IGRpcmVjdGx5LlxuICAgICAgICBjb25zdCBkZWZlcnJhbCA9IGRlZmVycmVkPFJlc3VsdDxhbnksIHN0cmluZz4+KCk7XG4gICAgICAgIHRoaXMuc2NyaXB0cy5zZXQoa2V5LCB7IHR5cGU6IFwibG9hZGluZ1wiLCBwcm9taXNlOiBkZWZlcnJhbCwgcGF0aDoga2V5IH0pO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMubG9hZFVuY2FjaGVkKHBhdGgsIGNvbnRleHQpO1xuICAgICAgICBkZWZlcnJhbC5yZXNvbHZlKHJlc3VsdCk7XG5cbiAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzZnVsKSB7XG4gICAgICAgICAgICB0aGlzLnNjcmlwdHMuc2V0KGtleSwgeyB0eXBlOiBcImxvYWRlZFwiLCBwYXRoOiBrZXksIG9iamVjdDogcmVzdWx0LnZhbHVlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zY3JpcHRzLmRlbGV0ZShrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKiogTG9hZCBhIHNjcmlwdCwgZGlyZWN0bHkgYnlwYXNzaW5nIHRoZSBjYWNoZS4gKi9cbiAgICBwcml2YXRlIGFzeW5jIGxvYWRVbmNhY2hlZChwYXRoOiBzdHJpbmcgfCBMaW5rLCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxSZXN1bHQ8YW55LCBzdHJpbmc+PiB7XG4gICAgICAgIGNvbnN0IG1heWJlU291cmNlID0gYXdhaXQgdGhpcy5yZXNvbHZlU291cmNlKHBhdGgpO1xuICAgICAgICBpZiAoIW1heWJlU291cmNlLnN1Y2Nlc3NmdWwpIHJldHVybiBtYXliZVNvdXJjZTtcblxuICAgICAgICAvLyBUcmFuc3BpbGUgdG8gdmFuaWxsYSBqYXZhc2NyaXB0IGZpcnN0Li4uXG4gICAgICAgIGNvbnN0IHsgY29kZSwgbGFuZ3VhZ2UgfSA9IG1heWJlU291cmNlLnZhbHVlO1xuICAgICAgICBsZXQgYmFzaWM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBiYXNpYyA9IHRyYW5zcGlsZShjb2RlLCBsYW5ndWFnZSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYEZhaWxlZCB0byBpbXBvcnQgJHtwYXRoLnRvU3RyaW5nKCl9IHdoaWxlIHRyYW5zcGlsaW5nIGZyb20gJHtsYW5ndWFnZX06ICR7ZXJyb3J9YCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGVuIGZpbmFsbHkgZXhlY3V0ZSB0aGUgc2NyaXB0IHRvICdsb2FkJyBpdC5cbiAgICAgICAgY29uc3QgZmluYWxDb250ZXh0ID0gT2JqZWN0LmFzc2lnbih7IGg6IGgsIEZyYWdtZW50OiBGcmFnbWVudCB9LCBjb250ZXh0KTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2Vzcyhhd2FpdCBhc3luY0V2YWxJbkNvbnRleHQoYmFzaWMsIGZpbmFsQ29udGV4dCkpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBGYWlsZWQgdG8gZXhlY3V0ZSBzY3JpcHQgJyR7cGF0aC50b1N0cmluZygpfSc6ICR7ZXJyb3J9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTm9ybWFsaXplIGEgcGF0aCBvciBsaW5rIHRvIGEgdGV4dHVhbCBwYXRoLiAqL1xuICAgIHByaXZhdGUgcGF0aGtleShwYXRoOiBzdHJpbmcgfCBMaW5rKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHBhdGggaW5zdGFuY2VvZiBMaW5rKSByZXR1cm4gcGF0aC5vYnNpZGlhbkxpbmsoKTtcbiAgICAgICAgZWxzZSByZXR1cm4gcGF0aDtcbiAgICB9XG5cbiAgICAvKiogQXR0ZW1wdHMgdG8gcmVzb2x2ZSB0aGUgc291cmNlIHRvIGxvYWQgZ2l2ZW4gYSBwYXRoIG9yIGxpbmsgdG8gYSBtYXJrZG93biBzZWN0aW9uLiAqL1xuICAgIHByaXZhdGUgYXN5bmMgcmVzb2x2ZVNvdXJjZShcbiAgICAgICAgcGF0aDogc3RyaW5nIHwgTGlua1xuICAgICk6IFByb21pc2U8UmVzdWx0PHsgY29kZTogc3RyaW5nOyBsYW5ndWFnZTogU2NyaXB0TGFuZ3VhZ2UgfSwgc3RyaW5nPj4ge1xuICAgICAgICBjb25zdCBvYmplY3QgPSB0aGlzLnN0b3JlLnJlc29sdmVMaW5rKHBhdGgpO1xuICAgICAgICBpZiAoIW9iamVjdCkgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKFwiQ291bGQgbm90IGZpbmQgYSBzY3JpcHQgYXQgdGhlIGdpdmVuIHBhdGg6IFwiICsgcGF0aC50b1N0cmluZygpKTtcblxuICAgICAgICBjb25zdCB0ZmlsZSA9IHRoaXMuc3RvcmUudmF1bHQuZ2V0RmlsZUJ5UGF0aChvYmplY3QuJGZpbGUhKTtcbiAgICAgICAgaWYgKCF0ZmlsZSkgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBGaWxlIFwiJHtvYmplY3QuJGZpbGV9XCIgbm90IGZvdW5kLmApO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBKUyBmaWxlIHdlIHNob3VsZCBsb2FkIGRpcmVjdGx5LlxuICAgICAgICBpZiAodGZpbGUuZXh0ZW5zaW9uLnRvTG9jYWxlTG93ZXJDYXNlKCkgaW4gU2NyaXB0Q2FjaGUuRklMRV9FWFRFTlNJT05TKSB7XG4gICAgICAgICAgICBjb25zdCBsYW5ndWFnZSA9IFNjcmlwdENhY2hlLkZJTEVfRVhURU5TSU9OU1t0ZmlsZS5leHRlbnNpb24udG9Mb2NhbGVMb3dlckNhc2UoKV07XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29kZSA9IGF3YWl0IHRoaXMuc3RvcmUudmF1bHQuY2FjaGVkUmVhZCh0ZmlsZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHsgY29kZSwgbGFuZ3VhZ2UgfSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuZmFpbHVyZShcIkZhaWxlZCB0byBsb2FkIGphdmFzY3JpcHQvdHlwZXNjcmlwdCBzb3VyY2UgZmlsZTogXCIgKyBlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgb2JqZWN0IGlzIGEgbWFya2Rvd24gc2VjdGlvbiwgc2VhcmNoIGZvciBhbnkgamF2YXNjcmlwdCBjb2RlYmxvY2tzOyBvdGhlcndpc2UsIGNoZWNrIGlmIGl0IGlzIGEgZnVsbCBzY3JpcHQgZmlsZS5cbiAgICAgICAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIE1hcmtkb3duU2VjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgbWF5YmVCbG9jayA9IG9iamVjdC4kYmxvY2tzXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoYik6IGIgaXMgTWFya2Rvd25Db2RlYmxvY2sgPT4gYi4kdHlwZSA9PT0gXCJjb2RlYmxvY2tcIilcbiAgICAgICAgICAgICAgICAuZmluZCgoY2IpID0+XG4gICAgICAgICAgICAgICAgICAgIGNiLiRsYW5ndWFnZXMuc29tZSgobGFuZ3VhZ2UpID0+IGxhbmd1YWdlLnRvTG9jYWxlTG93ZXJDYXNlKCkgaW4gU2NyaXB0Q2FjaGUuU0NSSVBUX0xBTkdVQUdFUylcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIW1heWJlQmxvY2spXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKFwiQ291bGQgbm90IGZpbmQgYSBzY3JpcHQgaW4gdGhlIGdpdmVuIG1hcmtkb3duIHNlY3Rpb246IFwiICsgcGF0aC50b1N0cmluZygpKTtcblxuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPVxuICAgICAgICAgICAgICAgIFNjcmlwdENhY2hlLlNDUklQVF9MQU5HVUFHRVNbXG4gICAgICAgICAgICAgICAgICAgIG1heWJlQmxvY2suJGxhbmd1YWdlcy5maW5kKChsYW5nKSA9PiBsYW5nLnRvTG9jYWxlTG93ZXJDYXNlKCkgaW4gU2NyaXB0Q2FjaGUuU0NSSVBUX0xBTkdVQUdFUykhXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5yZWFkQ29kZWJsb2NrKHRmaWxlLCBtYXliZUJsb2NrKSkubWFwKChjb2RlKSA9PiAoeyBjb2RlLCBsYW5ndWFnZSB9KSk7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqZWN0IGluc3RhbmNlb2YgTWFya2Rvd25Db2RlYmxvY2spIHtcbiAgICAgICAgICAgIGNvbnN0IG1heWJlTGFuZ3VhZ2UgPSBvYmplY3QuJGxhbmd1YWdlcy5maW5kKFxuICAgICAgICAgICAgICAgIChsYW5nKSA9PiBsYW5nLnRvTG9jYWxlTG93ZXJDYXNlKCkgaW4gU2NyaXB0Q2FjaGUuU0NSSVBUX0xBTkdVQUdFU1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICghbWF5YmVMYW5ndWFnZSlcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYFRoZSBjb2RlYmxvY2sgcmVmZXJlbmNlZCBieSAnJHtwYXRofScgaXMgbm90IGEgSlMvVFMgY29kZWJsb2NrLmApO1xuXG4gICAgICAgICAgICBjb25zdCBsYW5ndWFnZSA9IFNjcmlwdENhY2hlLlNDUklQVF9MQU5HVUFHRVNbbWF5YmVMYW5ndWFnZV07XG4gICAgICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMucmVhZENvZGVibG9jayh0ZmlsZSwgb2JqZWN0KSkubWFwKChjb2RlKSA9PiAoeyBjb2RlLCBsYW5ndWFnZSB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYENhbm5vdCBpbXBvcnQgJyR7cGF0aC50b1N0cmluZygpfTogbm90IGEgSlMvVFMgZmlsZSBvciBjb2RlYmxvY2sgcmVmZXJlbmNlLmApO1xuICAgIH1cblxuICAgIC8qKiBSZWFkIHRoZSBjb250ZW50cyBvZiBhIGNvZGVibG9jayBmcm9tIGEgZmlsZS4gKi9cbiAgICBwcml2YXRlIGFzeW5jIHJlYWRDb2RlYmxvY2soZmlsZTogVEZpbGUsIGJsb2NrOiBNYXJrZG93bkNvZGVibG9jayk6IFByb21pc2U8UmVzdWx0PHN0cmluZywgc3RyaW5nPj4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmF3ID0gbGluZVJhbmdlKFxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RvcmUudmF1bHQuY2FjaGVkUmVhZChmaWxlKSxcbiAgICAgICAgICAgICAgICBibG9jay4kY29udGVudFBvc2l0aW9uLnN0YXJ0LFxuICAgICAgICAgICAgICAgIGJsb2NrLiRjb250ZW50UG9zaXRpb24uZW5kXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoYmxvY2suJHN0eWxlID09PSBcImZlbmNlZFwiKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MocmF3KTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgIHJhd1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKChsaW5lKSA9PiBsaW5lLnRyaW1TdGFydCgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBGYWlsZWQgdG8gcmVhZCBhIGNvZGVibG9jayBmcm9tICR7ZmlsZS5wYXRofTogJHtlcnJvcn1gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBDaGVja2JveCwgT21pdHRhYmxlLCBTbGlkZXIsIFN3aXRjaCB9IGZyb20gXCJhcGkvdWkvYmFzaWNzXCI7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gXCJleHByZXNzaW9uL2ZpZWxkXCI7XG5pbXBvcnQgeyBEaXNwYXRjaCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgdXNlRmluYWxpemVyLCB1c2VTZXRGaWVsZCB9IGZyb20gXCJ1dGlscy9maWVsZHNcIjtcbmltcG9ydCB7IEVkaXRhYmxlQWN0aW9uLCBVbmNvbnRyb2xsZWRUZXh0RWRpdGFibGUgfSBmcm9tIFwiLi9lZGl0YWJsZVwiO1xuaW1wb3J0IFNlbGVjdCBmcm9tIFwicmVhY3Qtc2VsZWN0XCI7XG5leHBvcnQgZnVuY3Rpb24gRmllbGRDaGVja2JveChcbiAgICBwcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgICAgIGZpZWxkOiBGaWVsZDtcbiAgICAgICAgZGVmYXVsdENoZWNrZWQ/OiBib29sZWFuO1xuICAgICAgICBkaXNwYXRjaDogRGlzcGF0Y2g8RWRpdGFibGVBY3Rpb248RmllbGQ+PjtcbiAgICB9ICYgUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+XG4pIHtcbiAgICBjb25zdCB7IGZpZWxkLCBkZWZhdWx0Q2hlY2tlZCA9IGZhbHNlLCBkaXNwYXRjaCwgLi4ucmVzdCB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgIGRpc2FibGVkPXt1bmRlZmluZWR9XG4gICAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17KGZpZWxkPy52YWx1ZSA/PyBkZWZhdWx0Q2hlY2tlZCkgYXMgYm9vbGVhbn1cbiAgICAgICAgICAgIG9uQ2hlY2tDaGFuZ2U9e3VzZVNldEZpZWxkKGZpZWxkLCAoYikgPT5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IFwiY29udGVudC1jaGFuZ2VkXCIsIG5ld1ZhbHVlOiB7IC4uLmZpZWxkLCB2YWx1ZTogYiB9IH0pXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgY2hlY2tlZD17dW5kZWZpbmVkfVxuICAgICAgICAvPlxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFZGl0YWJsZVRleHRGaWVsZChwcm9wczoge1xuICAgIGZpZWxkOiBGaWVsZDtcbiAgICBpbmxpbmU6IGJvb2xlYW47XG4gICAgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XG4gICAgZGlzcGF0Y2g6IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPHN0cmluZz4+O1xufSkge1xuICAgIGNvbnN0IHsgZmllbGQsIGRlZmF1bHRWYWx1ZSA9IFwiXCIsIGlubGluZSwgZGlzcGF0Y2ggfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxDb250cm9sbGVkRWRpdGFibGVUZXh0RmllbGRcbiAgICAgICAgICAgIGNvbnRlbnQ9eyhmaWVsZD8udmFsdWUgPz8gZGVmYXVsdFZhbHVlKSBhcyBzdHJpbmd9XG4gICAgICAgICAgICBpbmxpbmU9e2lubGluZX1cbiAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgLz5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlZEVkaXRhYmxlVGV4dEZpZWxkKHByb3BzOiB7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIGlubGluZTogYm9vbGVhbjtcbiAgICBkaXNwYXRjaDogRGlzcGF0Y2g8RWRpdGFibGVBY3Rpb248c3RyaW5nPj47XG59KSB7XG4gICAgY29uc3QgeyBjb250ZW50LCBpbmxpbmUsIGRpc3BhdGNoIH0gPSBwcm9wcztcbiAgICBjb25zdCBbdGV4dFN0YXRlLCBzZXRUZXh0XSA9IHVzZVN0YXRlKGNvbnRlbnQpO1xuICAgIGNvbnN0IG9uSW5wdXQgPSBhc3luYyAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBzZXRUZXh0KChlLmN1cnJlbnRUYXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuXG4gICAgICAgIGlmIChwcm9wcy5pbmxpbmUpIHtcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHVzZUZpbmFsaXplcih0ZXh0U3RhdGUsIGRpc3BhdGNoKSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIgJiYgZS5jdHJsS2V5KSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHVzZUZpbmFsaXplcih0ZXh0U3RhdGUsIGRpc3BhdGNoKSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gPFVuY29udHJvbGxlZFRleHRFZGl0YWJsZSB0ZXh0PXtjb250ZW50fSBpbmxpbmU9e2lubGluZX0gZGlzcGF0Y2g9e2Rpc3BhdGNofSBvbklucHV0PXtvbklucHV0fSAvPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZpZWxkU2xpZGVyKFxuICAgIHByb3BzOiB7XG4gICAgICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgICAgICBtaW46IG51bWJlcjtcbiAgICAgICAgbWF4OiBudW1iZXI7XG4gICAgICAgIHN0ZXA6IG51bWJlcjtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBudW1iZXI7XG4gICAgICAgIGZpZWxkOiBGaWVsZDtcbiAgICAgICAgZGlzcGF0Y2g6IERpc3BhdGNoPEVkaXRhYmxlQWN0aW9uPEZpZWxkPj47XG4gICAgfSAmIE9taXQ8UmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+LCBPbWl0dGFibGU+XG4pIHtcbiAgICBjb25zdCB7IGZpZWxkLCBkaXNwYXRjaCwgZGVmYXVsdFZhbHVlID0gMCwgbWluLCBtYXgsIHN0ZXAsIC4uLnJlc3QgfSA9IHByb3BzO1xuICAgIGNvbnN0IHZhbHVlID0gKGZpZWxkPy52YWx1ZSA/PyBkZWZhdWx0VmFsdWUpIGFzIG51bWJlcjtcbiAgICByZXR1cm4gKFxuICAgICAgICA8U2xpZGVyXG4gICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAgIHZhbHVlPXt1bmRlZmluZWR9XG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlPXt1c2VTZXRGaWVsZChmaWVsZCwgKGIpID0+XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBcImNvbnRlbnQtY2hhbmdlZFwiLCBuZXdWYWx1ZTogeyAuLi5maWVsZCwgdmFsdWU6IGIgfSB9KVxuICAgICAgICAgICAgKX1cbiAgICAgICAgLz5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRmllbGRTd2l0Y2goXG4gICAgcHJvcHM6IHtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICAgIGRlZmF1bHRWYWx1ZTogYm9vbGVhbjtcbiAgICAgICAgZmllbGQ6IEZpZWxkO1xuICAgICAgICBkaXNwYXRjaDogRGlzcGF0Y2g8RWRpdGFibGVBY3Rpb248RmllbGQ+PjtcbiAgICB9ICYgT21pdDxSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD4sIE9taXR0YWJsZT5cbikge1xuICAgIGNvbnN0IHsgZmllbGQsIGRpc3BhdGNoLCBkZWZhdWx0VmFsdWUgPSBmYWxzZSwgLi4ucmVzdCB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICBvblRvZ2dsZUNoYW5nZT17dXNlU2V0RmllbGQoZmllbGQsIChiKSA9PlxuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWU6IHsgLi4uZmllbGQsIHZhbHVlOiBiIH0gfSlcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17KGZpZWxkPy52YWx1ZSA/PyBkZWZhdWx0VmFsdWUpIGFzIGJvb2xlYW59XG4gICAgICAgICAgICBjaGVja2VkPXt1bmRlZmluZWR9XG4gICAgICAgIC8+XG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZpZWxkU2VsZWN0KHtcbiAgICBtdWx0aSA9IGZhbHNlLFxuICAgIG9wdGlvbnMsXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGZpZWxkLFxuICAgIGRpc3BhdGNoLFxufToge1xuICAgIG11bHRpPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIGZpZWxkOiBGaWVsZDtcbiAgICBvcHRpb25zOiB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdO1xuICAgIGRpc3BhdGNoOiBEaXNwYXRjaDxFZGl0YWJsZUFjdGlvbjxGaWVsZD4+O1xufSkge1xuICAgIGNvbnN0IGlubmVyQ2FsbGJhY2sgPSB1c2VTZXRGaWVsZChmaWVsZCwgKGIpID0+XG4gICAgICAgIGRpc3BhdGNoKHsgdHlwZTogXCJjb250ZW50LWNoYW5nZWRcIiwgbmV3VmFsdWU6IHsgLi4uZmllbGQsIHZhbHVlOiBiIH0gfSlcbiAgICApO1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIChuZXdWYWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICBsZXQgbm9ybWFsaXplZDtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5ld1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQgPSBuZXdWYWx1ZS5tYXAoKHgpID0+IHgudmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBub3JtYWxpemVkID0gbmV3VmFsdWUudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbm5lckNhbGxiYWNrKG5vcm1hbGl6ZWQpO1xuICAgICAgICB9LFxuICAgICAgICBbZmllbGQsIGlubmVyQ2FsbGJhY2tdXG4gICAgKTtcblxuICAgIGNvbnN0IGFycmF5VmFsID0gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gKEFycmF5LmlzQXJyYXkoZmllbGQ/LnZhbHVlKSA/IGZpZWxkLnZhbHVlIDogISFmaWVsZCA/IFtmaWVsZC52YWx1ZV0gOiBbZGVmYXVsdFZhbHVlXSksXG4gICAgICAgIFtmaWVsZF1cbiAgICApO1xuICAgIGNvbnN0IGRlZlZhbCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICBtdWx0aVxuICAgICAgICAgICAgICAgID8gb3B0aW9ucy5maWx0ZXIoKGEpID0+IGFycmF5VmFsLmZpbmRJbmRleCgoYikgPT4gYiA9PSBhLnZhbHVlKSAhPSAtMSlcbiAgICAgICAgICAgICAgICA6IG9wdGlvbnMuZmluZCgoYSkgPT4gYS52YWx1ZSA9PSBmaWVsZD8udmFsdWUpLFxuICAgICAgICBbb3B0aW9ucywgbXVsdGldXG4gICAgKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICBjbGFzc05hbWVQcmVmaXg9XCJkYXRhY29yZS1zZWxlY3RhYmxlXCJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXsobikgPT4gb25DaGFuZ2Uobil9XG4gICAgICAgICAgICB1bnN0eWxlZFxuICAgICAgICAgICAgaXNNdWx0aT17bXVsdGkgPz8gZmFsc2V9XG4gICAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgbWVudVBvcnRhbFRhcmdldD17ZG9jdW1lbnQuYm9keX1cbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmVmFsfVxuICAgICAgICAgICAgY2xhc3NOYW1lcz17e1xuICAgICAgICAgICAgICAgIGlucHV0OiAoKSA9PiBcInByb21wdC1pbnB1dFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlQ29udGFpbmVyOiAoKSA9PiBcInN1Z2dlc3Rpb24taXRlbSB2YWx1ZS1jb250YWluZXJcIixcbiAgICAgICAgICAgICAgICBjb250YWluZXI6ICgpID0+IFwic3VnZ2VzdGlvbi1jb250YWluZXJcIixcbiAgICAgICAgICAgICAgICBtZW51OiAoKSA9PiBcInN1Z2dlc3Rpb24tY29udGVudCBzdWdnZXN0aW9uLWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgICAgIG9wdGlvbjogKHByb3BzOiBhbnkpID0+IGBzdWdnZXN0aW9uLWl0ZW0ke3Byb3BzLmlzU2VsZWN0ZWQgPyBcIiBpcy1zZWxlY3RlZFwiIDogXCJcIn1gLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICApO1xufVxuIiwgImltcG9ydCB7IEdyb3VwRWxlbWVudCwgR3JvdXBpbmcsIEdyb3VwaW5ncywgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBHcm91cGluZ0NvbmZpZywgdXNlQXNFbGVtZW50LCBWYW5pbGxhQ29sdW1uLCBWYW5pbGxhVGFibGVQcm9wcyB9IGZyb20gXCIuL3RhYmxlXCI7XG5pbXBvcnQgeyB1c2VJbnRlcm5pbmcsIHVzZVN0YWJsZUNhbGxiYWNrIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5pbXBvcnQgeyBEaXNwYXRjaCwgUmVkdWNlciwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVkdWNlciwgdXNlUmVmIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgQ29udHJvbGxlZFBhZ2VyLCB1c2VEYXRhY29yZVBhZ2luZyB9IGZyb20gXCIuL3BhZ2luZ1wiO1xuaW1wb3J0IHsgREVGQVVMVF9UQUJMRV9DT01QQVJBVE9SLCBTb3J0QnV0dG9uLCBTb3J0RGlyZWN0aW9uLCBTb3J0T24gfSBmcm9tIFwiLi90YWJsZVwiO1xuaW1wb3J0IHsgQ29udGV4dCwgY3JlYXRlQ29udGV4dCwgRnJhZ21lbnQsIFZOb2RlIH0gZnJvbSBcInByZWFjdFwiO1xuaW1wb3J0IHsgQ1VSUkVOVF9GSUxFX0NPTlRFWFQsIExpdCB9IGZyb20gXCJ1aS9tYXJrZG93blwiO1xuaW1wb3J0IHsgRWRpdGFibGUsIHVzZUVkaXRhYmxlRGlzcGF0Y2ggfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5pbXBvcnQgeyBjb21iaW5lQ2xhc3NlcyB9IGZyb20gXCIuLi9iYXNpY3NcIjtcbmltcG9ydCB7IEluZGV4YWJsZSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUcmVlVGFibGVSb3dEYXRhPFQ+IHtcbiAgICB2YWx1ZTogVDtcbiAgICBjaGlsZHJlbjogVHJlZVRhYmxlUm93RGF0YTxUPltdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRyZWVVdGlscyB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzVHJlZVRhYmxlUm93RGF0YTxUPihkYXRhOiBhbnkpOiBkYXRhIGlzIFRyZWVUYWJsZVJvd0RhdGE8VD4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgXCJjaGlsZHJlblwiIGluIGRhdGEgJiZcbiAgICAgICAgICAgIFwidmFsdWVcIiBpbiBkYXRhICYmXG4gICAgICAgICAgICAhQXJyYXkuaXNBcnJheShkYXRhKSAmJlxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkubGVuZ3RoID09IDIgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZGF0YS5jaGlsZHJlbilcbiAgICAgICAgKTtcbiAgICB9XG4gICAgZXhwb3J0IGZ1bmN0aW9uIGNvdW50SW5UcmVlUm93PFQ+KG5vZGU6IFRyZWVUYWJsZVJvd0RhdGE8VD4sIHRvcDogYm9vbGVhbiA9IHRydWUpOiBudW1iZXIge1xuICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgaWYgKCF0b3ApIHJlc3VsdCsrO1xuICAgICAgICBmb3IgKGxldCBuIG9mIG5vZGUuY2hpbGRyZW4pIHJlc3VsdCArPSBjb3VudEluVHJlZVJvdyhuLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGV4cG9ydCBmdW5jdGlvbiBvZkFycmF5PFQ+KHNvdXJjZTogVFtdLCBjaGlsZEZuOiAoZWw6IFQpID0+IFRbXSk6IFRyZWVUYWJsZVJvd0RhdGE8VD5bXSB7XG4gICAgICAgIGNvbnN0IG1hcHBlciA9IChlbDogVCk6IFRyZWVUYWJsZVJvd0RhdGE8VD4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogZWwsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkRm4oZWwpLm1hcChtYXBwZXIpLFxuICAgICAgICAgICAgfSBhcyBUcmVlVGFibGVSb3dEYXRhPFQ+O1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc291cmNlLm1hcChtYXBwZXIpO1xuICAgIH1cbiAgICBleHBvcnQgZnVuY3Rpb24gb2ZOb2RlPFQ+KHNvdXJjZTogVCwgY2hpbGRGbjogKGVsOiBUKSA9PiBUW10pOiBUcmVlVGFibGVSb3dEYXRhPFQ+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiBzb3VyY2UsXG4gICAgICAgICAgICBjaGlsZHJlbjogb2ZBcnJheShjaGlsZEZuKHNvdXJjZSksIGNoaWxkRm4pLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBvZkdyb3VwaW5nPFQ+KGVsZW1lbnRzOiBHcm91cGluZzxUPiwgY2hpbGRGbjogKGVsOiBUKSA9PiBUW10pOiBHcm91cGluZzxUcmVlVGFibGVSb3dEYXRhPFQ+PiB7XG4gICAgICAgIGNvbnN0IG1hcHBlciA9IChsOiBUIHwgR3JvdXBFbGVtZW50PFQ+KTogR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+IHwgVHJlZVRhYmxlUm93RGF0YTxUPiA9PiB7XG4gICAgICAgICAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGwpKVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGtleTogbC5rZXksIHJvd3M6IGwucm93cy5tYXAobWFwcGVyKSB9IGFzIEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+PjtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGwsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkRm4obCkubWFwKG1hcHBlciksXG4gICAgICAgICAgICB9IGFzIFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBlbGVtZW50cy5tYXAobWFwcGVyKSBhcyBHcm91cGluZzxUcmVlVGFibGVSb3dEYXRhPFQ+PjtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gY291bnQ8VD4oZWxlbWVudHM6IEdyb3VwaW5nPFRyZWVUYWJsZVJvd0RhdGE8VD4+IHwgR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+KTogbnVtYmVyIHtcbiAgICAgICAgaWYgKEdyb3VwaW5ncy5pc0VsZW1lbnRHcm91cChlbGVtZW50cykpIHtcbiAgICAgICAgICAgIHJldHVybiBjb3VudChlbGVtZW50cy5yb3dzKTtcbiAgICAgICAgfSBlbHNlIGlmIChHcm91cGluZ3MuaXNHcm91cGluZyhlbGVtZW50cykpIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgZ3JvdXAgb2YgZWxlbWVudHMpIHJlc3VsdCArPSBjb3VudChncm91cC5yb3dzKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudHMucmVkdWNlKChwdiwgY3YpID0+IHB2ICsgY291bnRJblRyZWVSb3coY3YpLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNsaWNlSW5UcmVlUm93PFQ+KGVsZW1lbnRzOiBUcmVlVGFibGVSb3dEYXRhPFQ+W10sIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogVHJlZVRhYmxlUm93RGF0YTxUPltdIHtcbiAgICAgICAgaWYgKGVuZCA8PSBzdGFydCkgcmV0dXJuIFtdO1xuXG4gICAgICAgIGxldCBpbmRleCA9IDAsXG4gICAgICAgICAgICBzZWVuID0gMDtcbiAgICAgICAgd2hpbGUgKGluZGV4IDwgZWxlbWVudHMubGVuZ3RoICYmIHNlZW4gKyBjb3VudEluVHJlZVJvdyhlbGVtZW50c1tpbmRleF0pIDw9IHN0YXJ0KSB7XG4gICAgICAgICAgICBzZWVuICs9IGNvdW50SW5UcmVlUm93KGVsZW1lbnRzW2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGluZGV4ID49IGVsZW1lbnRzLmxlbmd0aCkgcmV0dXJuIFtdO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogVHJlZVRhYmxlUm93RGF0YTxUPltdID0gW107XG4gICAgICAgIHdoaWxlIChpbmRleCA8IGVsZW1lbnRzLmxlbmd0aCAmJiBzZWVuIDwgZW5kKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IGVsZW1lbnRzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU2l6ZSA9IGNvdW50SW5UcmVlUm93KGdyb3VwKTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwU3RhcnQgPSBNYXRoLm1heChzZWVuLCBzdGFydCk7XG4gICAgICAgICAgICBjb25zdCBncm91cEVuZCA9IE1hdGgubWluKGdyb3VwU2l6ZSArIHNlZW4sIGVuZCk7XG5cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogZ3JvdXAudmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IHNsaWNlSW5UcmVlUm93KGdyb3VwLmNoaWxkcmVuLCBncm91cFN0YXJ0IC0gc2VlbiwgZ3JvdXBFbmQgLSBzZWVuKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzZWVuICs9IGdyb3VwU2l6ZTtcbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBzbGljZTxUPihcbiAgICAgICAgZWxlbWVudHM6IEdyb3VwaW5nPFRyZWVUYWJsZVJvd0RhdGE8VD4+LFxuICAgICAgICBzdGFydDogbnVtYmVyLFxuICAgICAgICBlbmQ6IG51bWJlclxuICAgICk6IEdyb3VwaW5nPFRyZWVUYWJsZVJvd0RhdGE8VD4+IHtcbiAgICAgICAgbGV0IGluaXRpYWwgPSBbLi4uR3JvdXBpbmdzLnNsaWNlKGVsZW1lbnRzLCBzdGFydCwgZW5kKV0gYXMgR3JvdXBpbmc8VHJlZVRhYmxlUm93RGF0YTxUPj47XG4gICAgICAgIGxldCBpbmRleCA9IDAsXG4gICAgICAgICAgICBzZWVuID0gMDtcblxuICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIGluaXRpYWwpIHtcbiAgICAgICAgICAgIGlmIChHcm91cGluZ3MuaXNFbGVtZW50R3JvdXAoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBTaXplID0gR3JvdXBpbmdzLmNvdW50KGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBTdGFydCA9IE1hdGgubWluKHNlZW4sIHN0YXJ0KTtcbiAgICAgICAgICAgICAgICBsZXQgZ3JvdXBFbmQgPSBNYXRoLm1pbihncm91cFNpemUsIGVuZCk7XG4gICAgICAgICAgICAgICAgKGluaXRpYWxbaW5kZXhdIGFzIEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+Pikucm93cyA9IEdyb3VwaW5ncy5zbGljZShcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yb3dzLFxuICAgICAgICAgICAgICAgICAgICBncm91cFN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBncm91cEVuZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgc2VlbiArPSBncm91cFNpemU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNlZW4gKz0gY291bnRJblRyZWVSb3coZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbml0aWFsO1xuICAgIH1cbiAgICAvKiogcmVjdXJzaXZlbHkgc29ydCBhIHRyZWUgKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gc29ydDxULCBWID0gTGl0ZXJhbD4oXG4gICAgICAgIHJvd3M6IChUcmVlVGFibGVSb3dEYXRhPFQ+IHwgR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+KVtdLFxuICAgICAgICBjb21wYXJhdG9yczoge1xuICAgICAgICAgICAgZm46IChhOiBWLCBiOiBWLCBhbzogVCwgYWI6IFQpID0+IG51bWJlcjtcbiAgICAgICAgICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICAgICAgICAgIGFjdHVhbFZhbHVlOiAob2JqOiBUKSA9PiBWO1xuICAgICAgICB9W11cbiAgICApOiAoVHJlZVRhYmxlUm93RGF0YTxUPiB8IEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+PilbXSB7XG4gICAgICAgIGNvbnN0IHJlYWxDb21wYXJhdG9yID0gKFxuICAgICAgICAgICAgYTogVHJlZVRhYmxlUm93RGF0YTxUPiB8IEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+PixcbiAgICAgICAgICAgIGI6IFRyZWVUYWJsZVJvd0RhdGE8VD4gfCBHcm91cEVsZW1lbnQ8VHJlZVRhYmxlUm93RGF0YTxUPj5cbiAgICAgICAgKTogbnVtYmVyID0+IHtcbiAgICAgICAgICAgIGZvciAobGV0IGNvbXAgb2YgY29tcGFyYXRvcnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBjb21wLmRpcmVjdGlvbi50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBcImFzY2VuZGluZ1wiID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgIGlmIChHcm91cGluZ3MuaXNFbGVtZW50R3JvdXAoYSkgJiYgR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IDA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGEpICYmICFHcm91cGluZ3MuaXNFbGVtZW50R3JvdXAoYikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiAqIGNvbXAuZm4oY29tcC5hY3R1YWxWYWx1ZShhLnZhbHVlKSwgY29tcC5hY3R1YWxWYWx1ZShiLnZhbHVlKSwgYS52YWx1ZSwgYi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gMCkgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBtYXAgPSAoXG4gICAgICAgICAgICB0OiBUcmVlVGFibGVSb3dEYXRhPFQ+IHwgR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+XG4gICAgICAgICk6IFRyZWVUYWJsZVJvd0RhdGE8VD4gfCBHcm91cEVsZW1lbnQ8VHJlZVRhYmxlUm93RGF0YTxUPj4gPT4ge1xuICAgICAgICAgICAgbGV0IHI7XG4gICAgICAgICAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKHQpKVxuICAgICAgICAgICAgICAgIHIgPSB7IC4uLnQsIHJvd3M6IHNvcnQodC5yb3dzLCBjb21wYXJhdG9ycykubWFwKG1hcCkgfSBhcyBHcm91cEVsZW1lbnQ8VHJlZVRhYmxlUm93RGF0YTxUPj47XG4gICAgICAgICAgICBlbHNlIHIgPSB7IC4uLnQsIGNoaWxkcmVuOiBzb3J0KHQuY2hpbGRyZW4sIGNvbXBhcmF0b3JzKS5tYXAobWFwKSB9IGFzIFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJvd3MubWFwKG1hcCkuc29ydChyZWFsQ29tcGFyYXRvcik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB1c2VLZXlGbjxUPihpZDogVHJlZVRhYmxlU3RhdGU8VD5bXCJpZFwiXSwgLi4uZGVwczogYW55W10pIHtcbiAgICBjb25zdCByZXQgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKGVsOiBUcmVlVGFibGVSb3dEYXRhPFQ+IHwgR3JvdXBFbGVtZW50PFRyZWVUYWJsZVJvd0RhdGE8VD4+KSA9PiB7XG4gICAgICAgICAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGVsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbC5rZXk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBpZChlbC52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFsuLi5kZXBzXVxuICAgICk7XG4gICAgcmV0dXJuIHJldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmVlVGFibGVDb2x1bW48VCwgViA9IExpdGVyYWw+IGV4dGVuZHMgVmFuaWxsYUNvbHVtbjxULCBWPiB7XG4gICAgc29ydGFibGU/OiBib29sZWFuO1xuXG4gICAgY29tcGFyYXRvcj86IChmaXJzdDogViwgc2Vjb25kOiBWLCBmaXJzdE9iamVjdDogVCwgc2Vjb25kT2JqZWN0OiBUKSA9PiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVRhYmxlU3RhdGU8VD4ge1xuICAgIHNvcnRPbj86IFNvcnRPbltdO1xuICAgIG9wZW5NYXA/OiBNYXA8c3RyaW5nLCBib29sZWFuPjtcbiAgICBpZDogKG9iajogVCkgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVUYWJsZVByb3BzPFQ+IHtcbiAgICBjb2x1bW5zOiBUcmVlVGFibGVDb2x1bW48VD5bXTtcbiAgICByb3dzOiBUW10gfCBHcm91cGluZzxUPjtcbiAgICBwYWdpbmc/OiBib29sZWFuIHwgbnVtYmVyO1xuICAgIHNjcm9sbE9uUGFnaW5nPzogYm9vbGVhbiB8IG51bWJlcjtcbiAgICBncm91cGluZ3M/OiBWYW5pbGxhVGFibGVQcm9wczxUcmVlVGFibGVSb3dEYXRhPFQ+PltcImdyb3VwaW5nc1wiXTtcbiAgICBzb3J0T24/OiBTb3J0T25bXTtcbiAgICBjaGlsZFNlbGVjdG9yOiAocmF3OiBUKSA9PiBUW107XG4gICAgaWQ/OiAob2JqOiBUKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRyZWVUYWJsZUFjdGlvbjxUPiA9XG4gICAgfCB7IHR5cGU6IFwic29ydC1jb2x1bW5cIjsgY29sdW1uOiBzdHJpbmc7IGRpcmVjdGlvbjogU29ydERpcmVjdGlvbiB8IHVuZGVmaW5lZCB9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogXCJyb3ctZXhwYW5kXCI7XG4gICAgICAgICAgcm93OiBUO1xuICAgICAgICAgIG5ld1ZhbHVlOiBib29sZWFuO1xuICAgICAgfVxuICAgIHwgeyB0eXBlOiBcIm9wZW4tbWFwLWNoYW5nZWRcIjsgbmV3VmFsdWU6IE1hcDxzdHJpbmcsIGJvb2xlYW4+IH07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmVlVGFibGVSZWR1Y2VyPFQ+KHN0YXRlOiBUcmVlVGFibGVTdGF0ZTxUPiwgYWN0aW9uOiBUcmVlVGFibGVBY3Rpb248VD4pOiBUcmVlVGFibGVTdGF0ZTxUPiB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFwic29ydC1jb2x1bW5cIjpcbiAgICAgICAgICAgIGlmIChhY3Rpb24uZGlyZWN0aW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBzb3J0T246IHVuZGVmaW5lZCB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgc29ydE9uOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJjb2x1bW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogYWN0aW9uLmNvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IGFjdGlvbi5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJyb3ctZXhwYW5kXCI6XG4gICAgICAgICAgICBjb25zdCBuZXdNYXAgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcbiAgICAgICAgICAgIGlmICghc3RhdGUub3Blbk1hcCkgcmV0dXJuIHsgLi4uc3RhdGUgfTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgayBvZiBzdGF0ZS5vcGVuTWFwLmtleXMoKSkgbmV3TWFwLnNldChrLCBzdGF0ZS5vcGVuTWFwLmdldChrKSEpO1xuICAgICAgICAgICAgbmV3TWFwLnNldChzdGF0ZS5pZChhY3Rpb24ucm93KSwgYWN0aW9uLm5ld1ZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBvcGVuTWFwOiBuZXdNYXAgfTtcbiAgICAgICAgY2FzZSBcIm9wZW4tbWFwLWNoYW5nZWRcIjpcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBvcGVuTWFwOiBhY3Rpb24ubmV3VmFsdWUgfTtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKFwiZGF0YWNvcmU6IEVuY291bnRlcmVkIHVucmVjb2duaXplZCBvcGVyYXRpb246IFwiICsgKGFjdGlvbiBhcyBUcmVlVGFibGVBY3Rpb248VD4pLnR5cGUpO1xuICAgIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVRyZWVUYWJsZURpc3BhdGNoPFQ+KFxuICAgIGluaXRpYWw6IFRyZWVUYWJsZVN0YXRlPFQ+IHwgKCgpID0+IFRyZWVUYWJsZVN0YXRlPFQ+KVxuKTogW1RyZWVUYWJsZVN0YXRlPFQ+LCBEaXNwYXRjaDxUcmVlVGFibGVBY3Rpb248VD4+XSB7XG4gICAgY29uc3QgaW5pdCA9IHVzZU1lbW8oKCkgPT4gKHR5cGVvZiBpbml0aWFsID09IFwiZnVuY3Rpb25cIiA/IGluaXRpYWwoKSA6IGluaXRpYWwpLCBbXSk7XG4gICAgcmV0dXJuIHVzZVJlZHVjZXIodHJlZVRhYmxlUmVkdWNlciBhcyBSZWR1Y2VyPFRyZWVUYWJsZVN0YXRlPFQ+LCBUcmVlVGFibGVBY3Rpb248VD4+LCBpbml0KTtcbn1cblxuZXhwb3J0IHR5cGUgUm93RXhwYW5zaW9uQ29udGV4dFR5cGU8VD4gPSB7XG4gICAgZGlzcGF0Y2g6IERpc3BhdGNoPFRyZWVUYWJsZUFjdGlvbjxUPj47XG4gICAgb3Blbk1hcDogTWFwPHN0cmluZywgYm9vbGVhbj47XG4gICAgaWQ6IChvYmo6IFQpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBBTkRFRF9DT05URVhUID0gY3JlYXRlQ29udGV4dDxSb3dFeHBhbnNpb25Db250ZXh0VHlwZTx1bmtub3duPiB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgZnVuY3Rpb24gVHlwZWRFeHBhbmRlZENvbnRleHQ8VD4oKSB7XG4gICAgcmV0dXJuIEVYUEFOREVEX0NPTlRFWFQgYXMgQ29udGV4dDxSb3dFeHBhbnNpb25Db250ZXh0VHlwZTxUPj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUcmVlVGFibGVIZWFkZXJDZWxsPFQ+KHtcbiAgICBjb2x1bW4sXG4gICAgc29ydCxcbiAgICBzb3J0YWJsZSxcbn06IHtcbiAgICBjb2x1bW46IFRyZWVUYWJsZUNvbHVtbjxUPjtcbiAgICBzb3J0PzogU29ydERpcmVjdGlvbjtcbiAgICBzb3J0YWJsZTogYm9vbGVhbjtcbn0pIHtcbiAgICBjb25zdCB7IGRpc3BhdGNoIH0gPSB1c2VDb250ZXh0KFR5cGVkRXhwYW5kZWRDb250ZXh0PFQ+KCkpO1xuICAgIGNvbnN0IGhlYWRlcjogc3RyaW5nIHwgVk5vZGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCFjb2x1bW4udGl0bGUpIHJldHVybiBjb2x1bW4uaWQ7XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBjb2x1bW4udGl0bGUgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGNvbHVtbi50aXRsZSgpO1xuICAgICAgICBlbHNlIHJldHVybiBjb2x1bW4udGl0bGU7XG4gICAgfSwgW2NvbHVtbi5pZCwgY29sdW1uLnRpdGxlXSk7XG5cbiAgICBjb25zdCBzb3J0Q2xpY2tlZCA9IHVzZVN0YWJsZUNhbGxiYWNrKFxuICAgICAgICAoX2V2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoc29ydCA9PSB1bmRlZmluZWQpIGRpc3BhdGNoKHsgdHlwZTogXCJzb3J0LWNvbHVtblwiLCBjb2x1bW46IGNvbHVtbi5pZCwgZGlyZWN0aW9uOiBcImFzY2VuZGluZ1wiIH0pO1xuICAgICAgICAgICAgZWxzZSBpZiAoc29ydCA9PSBcImFzY2VuZGluZ1wiKSBkaXNwYXRjaCh7IHR5cGU6IFwic29ydC1jb2x1bW5cIiwgY29sdW1uOiBjb2x1bW4uaWQsIGRpcmVjdGlvbjogXCJkZXNjZW5kaW5nXCIgfSk7XG4gICAgICAgICAgICBlbHNlIGRpc3BhdGNoKHsgdHlwZTogXCJzb3J0LWNvbHVtblwiLCBjb2x1bW46IGNvbHVtbi5pZCwgZGlyZWN0aW9uOiB1bmRlZmluZWQgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjb2x1bW4uaWRdXG4gICAgKTtcblxuICAgIGNvbnN0IHJlYWxXaWR0aCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IChjb2x1bW4ud2lkdGggPT09IFwibWluaW11bVwiID8gXCIxcHhcIiA6IGNvbHVtbi53aWR0aCA9PT0gXCJtYXhpbXVtXCIgPyBcImF1dG9cIiA6IGNvbHVtbi53aWR0aCArIFwicHhcIiksXG4gICAgICAgIFtjb2x1bW4ud2lkdGhdXG4gICAgKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8dGggd2lkdGg9e3JlYWxXaWR0aH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLWNlbGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLWNlbGwtY29udGVudFwiPlxuICAgICAgICAgICAgICAgIHtzb3J0YWJsZSAmJiA8U29ydEJ1dHRvbiBjbGFzc05hbWU9XCJkYXRhY29yZS10YWJsZS1zb3J0XCIgZGlyZWN0aW9uPXtzb3J0fSBvbkNsaWNrPXtzb3J0Q2xpY2tlZH0gLz59XG4gICAgICAgICAgICAgICAgPGRpdiBvbkNsaWNrPXtzb3J0Q2xpY2tlZH0gY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVHJlZVRhYmxlR3JvdXBIZWFkZXI8VD4oe1xuICAgIGxldmVsLFxuICAgIHZhbHVlLFxuICAgIHdpZHRoLFxuICAgIGNvbmZpZyxcbn06IHtcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIHZhbHVlOiBHcm91cEVsZW1lbnQ8VHJlZVRhYmxlUm93RGF0YTxUPj47XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBjb25maWc/OiBHcm91cGluZ0NvbmZpZzxUcmVlVGFibGVSb3dEYXRhPFQ+Pjtcbn0pIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gdXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgY29uc3QgcmF3UmVuZGVyYWJsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoY29uZmlnPy5yZW5kZXIpIHJldHVybiBjb25maWcucmVuZGVyKHZhbHVlLmtleSwgdmFsdWUucm93cyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGgyPlxuICAgICAgICAgICAgICAgICAgICA8TGl0IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGh9IGlubGluZT17dHJ1ZX0gdmFsdWU9e3ZhbHVlLmtleX0gLz5cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgKTtcbiAgICB9LCBbY29uZmlnPy5yZW5kZXIsIHZhbHVlLmtleSwgdmFsdWUucm93c10pO1xuICAgIGNvbnN0IHJlbmRlcmFibGUgPSB1c2VBc0VsZW1lbnQocmF3UmVuZGVyYWJsZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtZ3JvdXAtaGVhZGVyXCI+XG4gICAgICAgICAgICA8dGQgc3R5bGU9e3sgcGFkZGluZ0xlZnQ6IGAke2xldmVsICogMS4xMn1lbWAgfX0gY29sU3Bhbj17d2lkdGggKyAxfT5cbiAgICAgICAgICAgICAgICB7cmVuZGVyYWJsZX1cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBUcmVlVGFibGVSb3dHcm91cDxUPih7XG4gICAgbGV2ZWwsXG4gICAgY29sdW1ucyxcbiAgICBlbGVtZW50LFxuICAgIGdyb3VwaW5ncyxcbn06IHtcbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIGNvbHVtbnM6IFRyZWVUYWJsZUNvbHVtbjxUPltdO1xuICAgIGVsZW1lbnQ6IEdyb3VwRWxlbWVudDxUcmVlVGFibGVSb3dEYXRhPFQ+PiB8IFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgZ3JvdXBpbmdzPzogR3JvdXBpbmdDb25maWc8VHJlZVRhYmxlUm93RGF0YTxUPj5bXTtcbn0pIHtcbiAgICBjb25zdCB7IGlkIH0gPSB1c2VDb250ZXh0KFR5cGVkRXhwYW5kZWRDb250ZXh0PFQ+KCkpO1xuICAgIGNvbnN0IGtleUZuID0gdXNlS2V5Rm4oaWQpO1xuICAgIGNvbnN0IGdyb3VwSW5kZXggPSBncm91cGluZ3MgPyBNYXRoLm1pbihncm91cGluZ3MubGVuZ3RoIC0gMSwgbGV2ZWwpIDogMDtcbiAgICBpZiAoR3JvdXBpbmdzLmlzRWxlbWVudEdyb3VwKGVsZW1lbnQpKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwaW5nQ29uZmlnID0gZ3JvdXBpbmdzID8gZ3JvdXBpbmdzW2dyb3VwSW5kZXhdIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEZyYWdtZW50IGtleT17a2V5Rm4oZWxlbWVudCl9PlxuICAgICAgICAgICAgICAgIDxUcmVlVGFibGVHcm91cEhlYWRlciBsZXZlbD17bGV2ZWx9IHZhbHVlPXtlbGVtZW50fSB3aWR0aD17Y29sdW1ucy5sZW5ndGh9IGNvbmZpZz17Z3JvdXBpbmdDb25maWd9IC8+XG4gICAgICAgICAgICAgICAge2VsZW1lbnQucm93cy5tYXAoKHJvdykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8VHJlZVRhYmxlUm93R3JvdXA8VD4gbGV2ZWw9e2xldmVsICsgMX0gY29sdW1ucz17Y29sdW1uc30gZWxlbWVudD17cm93fSBncm91cGluZ3M9e2dyb3VwaW5nc30gLz5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDxUcmVlVGFibGVSb3cgcm93PXtlbGVtZW50fSBjb2x1bW5zPXtjb2x1bW5zfSBsZXZlbD17bGV2ZWwgLSBncm91cEluZGV4ICsgMX0ga2V5PXtrZXlGbihlbGVtZW50KX0gLz47XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVHJlZVRhYmxlUm93RXhwYW5kZXI8VD4oeyByb3csIGxldmVsIH06IHsgcm93OiBUOyBsZXZlbDogbnVtYmVyIH0pIHtcbiAgICBjb25zdCB7IG9wZW5NYXAsIGRpc3BhdGNoLCBpZCB9ID0gdXNlQ29udGV4dChUeXBlZEV4cGFuZGVkQ29udGV4dDxUPigpKTtcbiAgICBjb25zdCBvcGVuID0gdXNlTWVtbygoKSA9PiBvcGVuTWFwLmdldChpZChyb3cpKSA/PyBmYWxzZSwgW3Jvdywgb3Blbk1hcCwgb3Blbk1hcC5nZXQoaWQocm93KSksIGRpc3BhdGNoXSk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHRkXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBkaXNwYXRjaCh7IHR5cGU6IFwicm93LWV4cGFuZFwiLCByb3csIG5ld1ZhbHVlOiAhb3BlbiB9KX1cbiAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmdMZWZ0OiBgJHsobGV2ZWwgLSAxKSAqIDEuMTI1fWVtYCB9fVxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y29tYmluZUNsYXNzZXMoXCJkYXRhY29yZS1jb2xsYXBzZXJcIiwgIW9wZW4gPyBcImlzLWNvbGxhcHNlZFwiIDogdW5kZWZpbmVkKX0gZGlyPVwiYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzdmctaWNvbiByaWdodC10cmlhbmdsZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMgOEwxMiAxN0wyMSA4XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRyZWVUYWJsZVJvdzxUPih7XG4gICAgbGV2ZWwsXG4gICAgcm93LFxuICAgIGNvbHVtbnMsXG59OiB7XG4gICAgbGV2ZWw6IG51bWJlcjtcbiAgICByb3c6IFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgY29sdW1uczogVHJlZVRhYmxlQ29sdW1uPFQ+W107XG59KSB7XG4gICAgY29uc3QgeyBvcGVuTWFwLCBpZCB9ID0gdXNlQ29udGV4dChUeXBlZEV4cGFuZGVkQ29udGV4dDxUPigpKTtcbiAgICBjb25zdCBvcGVuID0gdXNlTWVtbygoKSA9PiBvcGVuTWFwLmdldChpZChyb3cudmFsdWUpKSwgW29wZW5NYXAsIG9wZW5NYXAuZ2V0KGlkKHJvdy52YWx1ZSkpLCByb3csIHJvdy52YWx1ZV0pO1xuICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gdXNlTWVtbygoKSA9PiByb3cuY2hpbGRyZW4ubGVuZ3RoID4gMCwgW3Jvdywgcm93LmNoaWxkcmVuLCByb3cudmFsdWVdKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtcm93XCI+XG4gICAgICAgICAgICAgICAge2hhc0NoaWxkcmVuID8gPFRyZWVUYWJsZVJvd0V4cGFuZGVyPFQ+IGxldmVsPXtsZXZlbH0gcm93PXtyb3cudmFsdWV9IC8+IDogPHRkPjwvdGQ+fVxuICAgICAgICAgICAgICAgIHtjb2x1bW5zLm1hcCgoY29sLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxUcmVlVGFibGVSb3dDZWxsPFQ+IHJvdz17cm93fSBjb2x1bW49e2NvbH0gbGV2ZWw9e2xldmVsfSBpc0ZpcnN0PXtpID09IDB9IC8+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAge29wZW5cbiAgICAgICAgICAgICAgICA/IHJvdy5jaGlsZHJlbi5tYXAoKGNoaWxkKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPFRyZWVUYWJsZVJvdyByb3c9e2NoaWxkfSBjb2x1bW5zPXtjb2x1bW5zfSBsZXZlbD17bGV2ZWwgKyAxfSBrZXk9e2lkKGNoaWxkLnZhbHVlKX0gLz5cbiAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgOiBudWxsfVxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUcmVlVGFibGVSb3dDZWxsPFQ+KHtcbiAgICByb3csXG4gICAgY29sdW1uLFxuICAgIGxldmVsLFxuICAgIGlzRmlyc3QgPSBmYWxzZSxcbn06IHtcbiAgICByb3c6IFRyZWVUYWJsZVJvd0RhdGE8VD47XG4gICAgY29sdW1uOiBUcmVlVGFibGVDb2x1bW48VD47XG4gICAgbGV2ZWw6IG51bWJlcjtcbiAgICBpc0ZpcnN0OiBib29sZWFuO1xufSkge1xuICAgIGNvbnN0IHZhbHVlID0gY29sdW1uLnZhbHVlKHJvdy52YWx1ZSk7XG4gICAgY29uc3QgdXBkYXRlciA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAodjogTGl0ZXJhbCkgPT4ge1xuICAgICAgICAgICAgY29sdW1uLm9uVXBkYXRlICYmIGNvbHVtbi5vblVwZGF0ZSh2LCByb3cudmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBbdmFsdWUsIHJvdy52YWx1ZV1cbiAgICApO1xuICAgIGNvbnN0IFtlZGl0YWJsZVN0YXRlLCBkaXNwYXRjaF0gPSB1c2VFZGl0YWJsZURpc3BhdGNoPHR5cGVvZiB2YWx1ZT4oe1xuICAgICAgICBjb250ZW50OiB2YWx1ZSxcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgdXBkYXRlcjogKHYpID0+IGNvbHVtbi5vblVwZGF0ZSAmJiBjb2x1bW4ub25VcGRhdGUodiwgcm93LnZhbHVlKSxcbiAgICB9KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IFwiY29udGVudC1jaGFuZ2VkXCIsIG5ld1ZhbHVlOiB2YWx1ZSB9KTtcbiAgICB9LCBbdmFsdWUsIHVwZGF0ZXJdKTtcbiAgICBsZXQgcmVuZGVyZWRDb2x1bW4gPSBjb2x1bW4ucmVuZGVyID8gY29sdW1uLnJlbmRlcihlZGl0YWJsZVN0YXRlLmNvbnRlbnQsIHJvdy52YWx1ZSkgOiB2YWx1ZTtcbiAgICBjb25zdCByZW5kZXJhYmxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChyZW5kZXJlZENvbHVtbiAmJiB0eXBlb2YgcmVuZGVyZWRDb2x1bW4gPT0gXCJvYmplY3RcIiAmJiBcInByb3BzXCIgaW4gcmVuZGVyZWRDb2x1bW4pXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihyZW5kZXJlZENvbHVtbiwgeyBwcm9wczogT2JqZWN0LmFzc2lnbihyZW5kZXJlZENvbHVtbi5wcm9wcywgeyBkaXNwYXRjaCB9KSB9KTtcbiAgICAgICAgZWxzZSByZXR1cm4gcmVuZGVyZWRDb2x1bW47XG4gICAgfSwgW2NvbHVtbi5yZW5kZXIsIHZhbHVlLCBlZGl0YWJsZVN0YXRlLmNvbnRlbnQsIHJlbmRlcmVkQ29sdW1uLCByb3cudmFsdWUsIHVwZGF0ZXJdKTtcblxuICAgIGNvbnN0IHJlbmRlcmVkID0gdXNlQXNFbGVtZW50KHJlbmRlcmFibGUpO1xuXG4gICAgY29uc3QgeyBlZGl0b3I6IEVkaXRvciB9ID0gY29sdW1uO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPHRkXG4gICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nTGVmdDogaXNGaXJzdCA/IGAkeyhsZXZlbCAtIDEpICogMS4yfWVtYCA6IHVuZGVmaW5lZCB9fVxuICAgICAgICAgICAgb25EYmxDbGljaz17KCkgPT4gZGlzcGF0Y2goeyB0eXBlOiBcImVkaXRpbmctdG9nZ2xlZFwiLCBuZXdWYWx1ZTogIWVkaXRhYmxlU3RhdGUuaXNFZGl0aW5nIH0pfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0YWNvcmUtdGFibGUtY2VsbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHtjb2x1bW4uZWRpdGFibGUgJiYgZWRpdGFibGVTdGF0ZS5pc0VkaXRpbmcgJiYgRWRpdG9yID8gKFxuICAgICAgICAgICAgICAgIDxFZGl0b3IgZGlzcGF0Y2g9e2Rpc3BhdGNofSB7Li4uZWRpdGFibGVTdGF0ZX0gey4uLihjb2x1bW4uZWRpdG9yUHJvcHMgPz8ge30pfSAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICByZW5kZXJlZFxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC90ZD5cbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlZFRyZWVUYWJsZVZpZXc8VD4oXG4gICAgcHJvcHM6IFRyZWVUYWJsZVN0YXRlPFQ+ICYgVHJlZVRhYmxlUHJvcHM8VD4gJiB7IGRpc3BhdGNoOiBEaXNwYXRjaDxUcmVlVGFibGVBY3Rpb248VD4+IH1cbikge1xuICAgIGNvbnN0IGNvbHVtbnMgPSB1c2VJbnRlcm5pbmcocHJvcHMuY29sdW1ucywgKGEsIGIpID0+IHtcbiAgICAgICAgaWYgKGEubGVuZ3RoICE9IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBhLmV2ZXJ5KCh2YWx1ZSwgaW5kZXgpID0+IHZhbHVlID09IGJbaW5kZXhdKTtcbiAgICB9KTtcbiAgICBjb25zdCB0b3RhbEVsZW1lbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChHcm91cGluZ3MuaXNHcm91cGluZyhwcm9wcy5yb3dzKSkgcmV0dXJuIEdyb3VwaW5ncy5jb3VudChwcm9wcy5yb3dzKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnJvd3MucmVkdWNlKFxuICAgICAgICAgICAgICAgIChwdiwgY3YpID0+IHB2ICsgVHJlZVV0aWxzLmNvdW50SW5UcmVlUm93KFRyZWVVdGlscy5vZk5vZGUoY3YsIHByb3BzLmNoaWxkU2VsZWN0b3IpKSxcbiAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICApO1xuICAgIH0sIFtwcm9wcy5yb3dzXSk7XG4gICAgY29uc3QgdGFibGVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHBhZ2luZyA9IHVzZURhdGFjb3JlUGFnaW5nKHtcbiAgICAgICAgaW5pdGlhbFBhZ2U6IDAsXG4gICAgICAgIHBhZ2luZzogcHJvcHMucGFnaW5nLFxuICAgICAgICBzY3JvbGxPblBhZ2VDaGFuZ2U6IHByb3BzLnNjcm9sbE9uUGFnaW5nLFxuICAgICAgICBlbGVtZW50czogdG90YWxFbGVtZW50cyxcbiAgICAgICAgY29udGFpbmVyOiB0YWJsZVJlZixcbiAgICB9KTtcbiAgICBjb25zdCByYXdTb3J0cyA9IHVzZUludGVybmluZyhwcm9wcy5zb3J0T24sIChhLCBiKSA9PiBMaXRlcmFscy5jb21wYXJlKGEsIGIpID09IDApO1xuICAgIGNvbnN0IHNvcnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiByYXdTb3J0cz8uZmlsdGVyKChzb3J0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGNvbCkgPT4gY29sLmlkID09IHNvcnQuaWQpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbiAmJiAoY29sdW1uLnNvcnRhYmxlID8/IHRydWUpO1xuICAgICAgICB9KTtcbiAgICB9LCBbY29sdW1ucywgcmF3U29ydHNdKTtcbiAgICBjb25zdCBncm91cGluZ3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCFwcm9wcy5ncm91cGluZ3MpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BzLmdyb3VwaW5ncykpIHJldHVybiBwcm9wcy5ncm91cGluZ3M7XG5cbiAgICAgICAgaWYgKExpdGVyYWxzLmlzRnVuY3Rpb24ocHJvcHMuZ3JvdXBpbmdzKSkgcmV0dXJuIFt7IHJlbmRlcjogcHJvcHMuZ3JvdXBpbmdzIH1dO1xuICAgICAgICBlbHNlIHJldHVybiBbcHJvcHMuZ3JvdXBpbmdzXTtcbiAgICB9LCBbcHJvcHMuZ3JvdXBpbmdzXSk7XG4gICAgY29uc3QgcmF3Um93cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoIUdyb3VwaW5ncy5pc0dyb3VwaW5nKHByb3BzLnJvd3MpKSByZXR1cm4gVHJlZVV0aWxzLm9mQXJyYXkocHJvcHMucm93cywgcHJvcHMuY2hpbGRTZWxlY3Rvcik7XG4gICAgICAgIHJldHVybiBUcmVlVXRpbHMub2ZHcm91cGluZyhwcm9wcy5yb3dzLCBwcm9wcy5jaGlsZFNlbGVjdG9yKTtcbiAgICB9LCBbcHJvcHMucm93c10pO1xuICAgIGNvbnN0IHJvd3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHNvcnRzID09IHVuZGVmaW5lZCB8fCBzb3J0cy5sZW5ndGggPT0gMCkgcmV0dXJuIHJhd1Jvd3M7XG4gICAgICAgIGNvbnN0IGNvbXBhcmF0b3JzID0gc29ydHMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb2wgPSBjb2x1bW5zLmZpbmQoKHkpID0+IHkuaWQgPT0geC5pZCkhO1xuICAgICAgICAgICAgY29uc3QgY29tcCA9IGNvbD8uY29tcGFyYXRvciA/PyBERUZBVUxUX1RBQkxFX0NPTVBBUkFUT1I7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGZuOiBjb21wLFxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogeC5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgYWN0dWFsVmFsdWU6IGNvbC52YWx1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gVHJlZVV0aWxzLnNvcnQ8VCwgTGl0ZXJhbD4ocmF3Um93cywgY29tcGFyYXRvcnMpIGFzIEdyb3VwaW5nPFRyZWVUYWJsZVJvd0RhdGE8VD4+O1xuICAgIH0sIFtyYXdSb3dzLCBzb3J0c10pO1xuXG4gICAgY29uc3QgcGFnZWRSb3dzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChwYWdpbmcuZW5hYmxlZClcbiAgICAgICAgICAgIHJldHVybiBUcmVlVXRpbHMuc2xpY2Uocm93cywgcGFnaW5nLnBhZ2UgKiBwYWdpbmcucGFnZVNpemUsIChwYWdpbmcucGFnZSArIDEpICogcGFnaW5nLnBhZ2VTaXplKTtcbiAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgfSwgW3BhZ2luZy5wYWdlLCBwYWdpbmcucGFnZVNpemUsIHBhZ2luZy5lbmFibGVkLCBwcm9wcy5yb3dzLCByb3dzXSk7XG5cbiAgICBjb25zdCBrZXlGbiA9IHVzZUtleUZuKHByb3BzLmlkLCBwYWdlZFJvd3MpO1xuICAgIGNvbnN0IENvbnRleHQgPSBUeXBlZEV4cGFuZGVkQ29udGV4dDxUPigpO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IG9wZW5NYXA6IHByb3BzLm9wZW5NYXAhLCBkaXNwYXRjaDogcHJvcHMuZGlzcGF0Y2gsIGlkOiBwcm9wcy5pZCB9fT5cbiAgICAgICAgICAgIDxkaXYgcmVmPXt0YWJsZVJlZn0+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cImRhdGFjb3JlLXRhYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzc05hbWU9XCJkYXRhY29yZS10YWJsZS1oZWFkZXItcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cImRhdGFjb3JlLXRhYmxlLWhlYWRlci1jZWxsXCIgd2lkdGg9XCIxcHhcIj48L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb2x1bW5zLm1hcCgoeCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHJlZVRhYmxlSGVhZGVyQ2VsbDxUPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydD17cHJvcHMuc29ydE9uPy5maW5kKChzKSA9PiBzLmlkID09PSB4LmlkKT8uZGlyZWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uPXt4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydGFibGU9e3guc29ydGFibGUgPz8gdHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtwYWdlZFJvd3MubWFwKChyb3cpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHJlZVRhYmxlUm93R3JvdXA8VD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudD17cm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbD17MH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdzPXtncm91cGluZ3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17a2V5Rm4ocm93KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgICB7cGFnaW5nLmVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8Q29udHJvbGxlZFBhZ2VyIHBhZ2U9e3BhZ2luZy5wYWdlfSB0b3RhbFBhZ2VzPXtwYWdpbmcudG90YWxQYWdlc30gc2V0UGFnZT17cGFnaW5nLnNldFBhZ2V9IC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0NvbnRleHQuUHJvdmlkZXI+XG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRyZWVUYWJsZVZpZXc8VD4ocHJvcHM6IFRyZWVUYWJsZVByb3BzPFQ+KSB7XG4gICAgY29uc3QgW3N0YXRlLCBkaXNwYXRjaF0gPSB1c2VUcmVlVGFibGVEaXNwYXRjaDxUPih7XG4gICAgICAgIHNvcnRPbjogcHJvcHMuc29ydE9uID8/IFtdLFxuICAgICAgICBpZDogcHJvcHMuaWQgPyBwcm9wcy5pZCA6ICh4KSA9PiAoeCBhcyBJbmRleGFibGUpLiRpZCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlZlN0YXRlID0gdXNlTWVtbygoKSA9PiB1c2VSZWYoc3RhdGUpLCBbc3RhdGVdKTtcbiAgICBpZiAoc3RhdGUub3Blbk1hcCAhPT0gdW5kZWZpbmVkKSByZWZTdGF0ZS5jdXJyZW50ID0gc3RhdGU7XG4gICAgZWxzZSByZWZTdGF0ZS5jdXJyZW50Lm9wZW5NYXAgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IFwib3Blbi1tYXAtY2hhbmdlZFwiLCBuZXdWYWx1ZTogcmVmU3RhdGUuY3VycmVudC5vcGVuTWFwID8/IG5ldyBNYXA8c3RyaW5nLCBib29sZWFuPigpIH0pO1xuICAgIH0sIFtkaXNwYXRjaF0pO1xuICAgIGRlbGV0ZSBwcm9wcy5zb3J0T247XG4gICAgcmV0dXJuIDxDb250cm9sbGVkVHJlZVRhYmxlVmlldzxUPiBkaXNwYXRjaD17ZGlzcGF0Y2h9IHsuLi5zdGF0ZX0gey4uLnByb3BzfSAvPjtcbn1cbiIsICIvKipcbiAqIEBtb2R1bGUgYXBpXG4gKi9cbmltcG9ydCB7IERhdGFjb3JlQXBpIH0gZnJvbSBcImFwaS9hcGlcIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSBcImluZGV4L2RhdGFzdG9yZVwiO1xuaW1wb3J0IHsgSW5kZXhRdWVyeSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleC1xdWVyeVwiO1xuaW1wb3J0IHsgSW5kZXhhYmxlIH0gZnJvbSBcImluZGV4L3R5cGVzL2luZGV4YWJsZVwiO1xuaW1wb3J0IHsgTWFya2Rvd25QYWdlLCBNYXJrZG93blRhc2tJdGVtIH0gZnJvbSBcImluZGV4L3R5cGVzL21hcmtkb3duXCI7XG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IHVzZUZpbGVNZXRhZGF0YSwgdXNlRnVsbFF1ZXJ5LCB1c2VJbmRleFVwZGF0ZXMsIHVzZUludGVybmluZywgdXNlUXVlcnkgfSBmcm9tIFwidWkvaG9va3NcIjtcbmltcG9ydCAqIGFzIGx1eG9uIGZyb20gXCJsdXhvblwiO1xuaW1wb3J0ICogYXMgcHJlYWN0IGZyb20gXCJwcmVhY3RcIjtcbmltcG9ydCAqIGFzIGhvb2tzIGZyb20gXCJwcmVhY3QvaG9va3NcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCIuL3Jlc3VsdFwiO1xuaW1wb3J0IHsgR3JvdXAsIFN0YWNrIH0gZnJvbSBcIi4vdWkvbGF5b3V0XCI7XG5pbXBvcnQgeyBFbWJlZCwgTGluZVNwYW5FbWJlZCB9IGZyb20gXCJhcGkvdWkvZW1iZWRcIjtcbmltcG9ydCB7IENVUlJFTlRfRklMRV9DT05URVhULCBMaXQsIE1hcmtkb3duLCBPYnNpZGlhbkxpbmsgfSBmcm9tIFwidWkvbWFya2Rvd25cIjtcbmltcG9ydCB7IENTU1Byb3BlcnRpZXMgfSBmcm9tIFwicHJlYWN0L2NvbXBhdFwiO1xuaW1wb3J0IHsgTGl0ZXJhbCB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcbmltcG9ydCB7IEJ1dHRvbiwgQ2hlY2tib3gsIEljb24sIFNsaWRlciwgU3dpdGNoLCBUZXh0Ym94LCBWYW5pbGxhU2VsZWN0IH0gZnJvbSBcIi4vdWkvYmFzaWNzXCI7XG5pbXBvcnQgeyBUYXNrTGlzdCB9IGZyb20gXCIuL3VpL3ZpZXdzL3Rhc2tcIjtcbmltcG9ydCB7IFZhbmlsbGFUYWJsZSB9IGZyb20gXCIuL3VpL3ZpZXdzL3RhYmxlXCI7XG5pbXBvcnQgeyBDYWxsb3V0IH0gZnJvbSBcIi4vdWkvdmlld3MvY2FsbG91dFwiO1xuaW1wb3J0IHsgQ2FyZCB9IGZyb20gXCIuL3VpL3ZpZXdzL2NhcmRzXCI7XG5pbXBvcnQgeyBEYXRhQXJyYXkgfSBmcm9tIFwiLi9kYXRhLWFycmF5XCI7XG5pbXBvcnQgeyBDb2VyY2UgfSBmcm9tIFwiLi9jb2VyY2VcIjtcbmltcG9ydCB7IFNjcmlwdENhY2hlIH0gZnJvbSBcIi4vc2NyaXB0LWNhY2hlXCI7XG5pbXBvcnQgeyBzZXRUYXNrVGV4dCwgdXNlU2V0RmllbGQgfSBmcm9tIFwidXRpbHMvZmllbGRzXCI7XG5pbXBvcnQge1xuICAgIEZpZWxkQ2hlY2tib3gsXG4gICAgRWRpdGFibGVUZXh0RmllbGQsXG4gICAgRmllbGRTbGlkZXIsXG4gICAgRmllbGRTZWxlY3QsXG4gICAgRmllbGRTd2l0Y2gsXG4gICAgQ29udHJvbGxlZEVkaXRhYmxlVGV4dEZpZWxkLFxufSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlLWZpZWxkc1wiO1xuaW1wb3J0IHsgY29tcGxldGVUYXNrIH0gZnJvbSBcInV0aWxzL3Rhc2tcIjtcbmltcG9ydCB7IFRyZWVUYWJsZVZpZXcgfSBmcm9tIFwiLi91aS92aWV3cy90cmVlLXRhYmxlXCI7XG5pbXBvcnQgeyBUZXh0RWRpdGFibGUgfSBmcm9tIFwidWkvZmllbGRzL2VkaXRhYmxlXCI7XG5cbi8qKiBMb2NhbCBBUEkgcHJvdmlkZWQgdG8gc3BlY2lmaWMgY29kZWJsb2NrcyB3aGVuIHRoZXkgYXJlIGV4ZWN1dGluZy5cbiAqIEBncm91cCBDb3JlXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhY29yZUxvY2FsQXBpIHtcbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgc2NyaXB0Q2FjaGU6IFNjcmlwdENhY2hlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBhcGk6IERhdGFjb3JlQXBpLCBwdWJsaWMgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2NyaXB0Q2FjaGUgPSBuZXcgU2NyaXB0Q2FjaGUodGhpcy5jb3JlLmRhdGFzdG9yZSk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBjdXJyZW50IGZpbGUgcGF0aCBmb3IgdGhlIGxvY2FsIEFQSS4gKi9cbiAgICBwdWJsaWMgY3VycmVudFBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aDtcbiAgICB9XG5cbiAgICAvKiogVGhlIGZ1bGwgbWFya2Rvd24gZmlsZSBtZXRhZGF0YSBmb3IgdGhlIGN1cnJlbnQgZmlsZS4gKi9cbiAgICBwdWJsaWMgY3VycmVudEZpbGUoKTogTWFya2Rvd25QYWdlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBhZ2UodGhpcy5wYXRoKSE7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhY2VzcyB0byBsdXhvbiBmdW5jdGlvbnMuICovXG4gICAgZ2V0IGx1eG9uKCk6IHR5cGVvZiBsdXhvbiB7XG4gICAgICAgIHJldHVybiBsdXhvbjtcbiAgICB9XG5cbiAgICAvKiogR2V0IGFjY2VzcyB0byBwcmVhY3QgZnVuY3Rpb25zLiAqL1xuICAgIGdldCBwcmVhY3QoKTogdHlwZW9mIHByZWFjdCB7XG4gICAgICAgIHJldHVybiBwcmVhY3Q7XG4gICAgfVxuXG4gICAgLyoqIENlbnRyYWwgT2JzaWRpYW4gYXBwIG9iamVjdC4gKi9cbiAgICBnZXQgYXBwKCk6IEFwcCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvcmUuYXBwO1xuICAgIH1cblxuICAgIC8qKiBUaGUgaW50ZXJuYWwgcGx1Z2luIGNlbnRyYWwgZGF0YXN0cnVjdHVyZS4gKi9cbiAgICBnZXQgY29yZSgpOiBEYXRhY29yZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5jb3JlO1xuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFNjcmlwdCBsb2FkaW5nIHV0aWxpdGllcyAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgLyoqXG4gICAgICogQXN5bmNocm9ub3VzbHkgbG9hZCBhIGphdmFzY3JpcHQgYmxvY2sgZnJvbSB0aGUgZ2l2ZW4gcGF0aCBvciBsaW5rOyB5b3UgY2FuIGVpdGhlciBsb2FkIGZyb20gSlMvVFMvSlNYL1RTWCBmaWxlc1xuICAgICAqIGRpcmVjdGx5LCBvciBmcm9tIGNvZGVibG9ja3MgYnkgbG9hZGluZyBmcm9tIHRoZSBzZWN0aW9uIHRoZSBjb2RlYmxvY2sgaXMgaW5zaWRlIG9mLiBUaGVyZSBhcmUgYSBmZXcgc3RpcHVsYXRpb25zXG4gICAgICogdG8gbG9hZGluZzpcbiAgICAgKiAtIFlvdSBjYW5ub3QgbG9hZCBjeWNsaWNhbCBkZXBlbmRlbmNpZXMuXG4gICAgICogLSBUaGlzIGlzIHNpbWlsYXIgdG8gdmFuaWxsYSBqcyBgcmVxdWlyZSgpYCwgbm90IGBpbXBvcnQgLi4uIGAuIFlvdXIgc2NyaXB0cyB5b3UgYXJlIHJlcXVpcmluZyBuZWVkIHRvIGV4cGxpY2l0bHlcbiAgICAgKiAgIHJldHVybiB0aGUgdGhpbmdzIHRoZXkgYXJlIGV4cG9ydGluZywgbGlrZSB0aGUgZXhhbXBsZSBiZWxvdy4gVGhlIGBleHBvcnRgIGtleXdvcmQgZG9lcyBub3Qgd29yay5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogZnVuY3Rpb24gTXlFbGVtZW50KCkge1xuICAgICAqICAuLi5cbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiByZXR1cm4geyBNeUVsZW1lbnQgfTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgcmVxdWlyZShwYXRoOiBzdHJpbmcgfCBMaW5rKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zY3JpcHRDYWNoZS5sb2FkKHBhdGgsIHsgZGM6IHRoaXMgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQub3JFbHNlVGhyb3coKTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEdlbmVyYWwgdXRpbGl0aWVzIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIC8qKiBVdGlsaXRpZXMgZm9yIGNvZXJjaW5nIHR5cGVzIGludG8gb25lIHNwZWNpZmljIHR5cGUgZm9yIGVhc2llciBwcm9ncmFtbWluZy4gKi9cbiAgICBwdWJsaWMgY29lcmNlID0gQ29lcmNlO1xuXG4gICAgLyoqIFJlc29sdmUgYSBsb2NhbCBvciBhYnNvbHV0ZSBwYXRoIG9yIGxpbmsgdG8gYW4gYWJzb2x1dGUgcGF0aC4gKi9cbiAgICBwdWJsaWMgcmVzb2x2ZVBhdGgocGF0aDogc3RyaW5nIHwgTGluaywgc291cmNlUGF0aD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5yZXNvbHZlUGF0aChwYXRoLCBzb3VyY2VQYXRoID8/IHRoaXMucGF0aCk7XG4gICAgfVxuXG4gICAgLyoqIFRyeSB0byBwYXJzZSB0aGUgZ2l2ZW4gcXVlcnksIHJldHVybmluZyBhIG1vbmFkaWMgc3VjY2Vzcy9mYWlsdXJlIHJlc3VsdC4gKi9cbiAgICBwdWJsaWMgdHJ5UGFyc2VRdWVyeShxdWVyeTogc3RyaW5nIHwgSW5kZXhRdWVyeSk6IFJlc3VsdDxJbmRleFF1ZXJ5LCBzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnRyeVBhcnNlUXVlcnkocXVlcnkpO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgdGhlIGdpdmVuIHF1ZXJ5LCB0aHJvd2luZyBhbiBlcnJvciBpZiBpdCBpcyBpbnZhbGlkLiAqL1xuICAgIHB1YmxpYyBwYXJzZVF1ZXJ5KHF1ZXJ5OiBzdHJpbmcgfCBJbmRleFF1ZXJ5KTogSW5kZXhRdWVyeSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyeVBhcnNlUXVlcnkocXVlcnkpLm9yRWxzZVRocm93KChlKSA9PiBcIkZhaWxlZCB0byBwYXJzZSBxdWVyeTogXCIgKyBlKTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgZmlsZSBsaW5rIHBvaW50aW5nIHRvIHRoZSBnaXZlbiBwYXRoLiAqL1xuICAgIHB1YmxpYyBmaWxlTGluayhwYXRoOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuZmlsZShwYXRoKTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIGhlYWRlciB3aXRoIHRoZSBnaXZlbiBuYW1lLiAqL1xuICAgIHB1YmxpYyBoZWFkZXJMaW5rKHBhdGg6IHN0cmluZywgaGVhZGVyOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHBhdGgsIGhlYWRlcik7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSBhIGxpbmsgdG8gYSBibG9jayB3aXRoIHRoZSBnaXZlbiBwYXRoIGFuZCBibG9jayBJRC4gKi9cbiAgICBwdWJsaWMgYmxvY2tMaW5rKHBhdGg6IHN0cmluZywgYmxvY2s6IHN0cmluZyk6IExpbmsge1xuICAgICAgICByZXR1cm4gTGluay5ibG9jayhwYXRoLCBibG9jayk7XG4gICAgfVxuXG4gICAgLyoqIFRyeSB0byBwYXJzZSB0aGUgZ2l2ZW4gbGluaywgdGhyb3dpbmcgYW4gZXJyb3IgaWYgaXQgaXMgaW52YWxpZC4gKi9cbiAgICBwdWJsaWMgcGFyc2VMaW5rKGxpbmt0ZXh0OiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBhcnNlTGluayhsaW5rdGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIFRyeSB0byBwYXJzZSBhIGxpbmssIHJldHVybmluZyBhIG1vbmFkaWMgc3VjY2Vzcy9mYWlsdXJlIHJlc3VsdC4gKi9cbiAgICBwdWJsaWMgdHJ5UGFyc2VMaW5rKGxpbmt0ZXh0OiBzdHJpbmcpOiBSZXN1bHQ8TGluaywgc3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS50cnlQYXJzZUxpbmsobGlua3RleHQpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBkYXRhIGFycmF5IGZyb20gYSByZWd1bGFyIGFycmF5LiAqL1xuICAgIHB1YmxpYyBhcnJheTxUPihpbnB1dDogVFtdIHwgRGF0YUFycmF5PFQ+KTogRGF0YUFycmF5PFQ+IHtcbiAgICAgICAgcmV0dXJuIERhdGFBcnJheS53cmFwKGlucHV0KTtcbiAgICB9XG5cbiAgICAvKiogU2V0cyB0aGUgdGV4dCBvZiBhIGdpdmVuIHRhc2sgcHJvZ3JhbW1hdGljYWxseS4gKi9cblxuICAgIHB1YmxpYyBhc3luYyBzZXRUYXNrVGV4dChuZXdUZXh0OiBzdHJpbmcsIHRhc2s6IE1hcmtkb3duVGFza0l0ZW0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgc2V0VGFza1RleHQodGhpcy5hcHAsIHRoaXMuY29yZSwgbmV3VGV4dCwgdGFzayk7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdGhlIGNvbXBsZXRpb24gc3RhdHVzIG9mIGEgZ2l2ZW4gdGFzayBwcm9ncmFtbWF0aWNhbGx5LiAqL1xuICAgIHB1YmxpYyBhc3luYyBzZXRUYXNrQ29tcGxldGlvbihjb21wbGV0ZWQ6IGJvb2xlYW4sIHRhc2s6IE1hcmtkb3duVGFza0l0ZW0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgY29tcGxldGVUYXNrKGNvbXBsZXRlZCwgdGFzaywgdGhpcy5hcHAudmF1bHQsIHRoaXMuY29yZSk7XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vLy8vL1xuICAgIC8vICBIb29rcyAgLy9cbiAgICAvLy8vLy8vLy8vLy8vXG5cbiAgICAvLyBFeHBvcnQgdGhlIGNvbW1vbiBwcmVhY3QgaG9va3MgZm9yIHBlb3BsZSB0byB1c2UgdmlhIGBkYy5gOlxuICAgIHB1YmxpYyB1c2VTdGF0ZSA9IGhvb2tzLnVzZVN0YXRlO1xuICAgIHB1YmxpYyB1c2VDYWxsYmFjayA9IGhvb2tzLnVzZUNhbGxiYWNrO1xuICAgIHB1YmxpYyB1c2VSZWR1Y2VyID0gaG9va3MudXNlUmVkdWNlcjtcbiAgICBwdWJsaWMgdXNlTWVtbyA9IGhvb2tzLnVzZU1lbW87XG4gICAgcHVibGljIHVzZUVmZmVjdCA9IGhvb2tzLnVzZUVmZmVjdDtcbiAgICBwdWJsaWMgY3JlYXRlQ29udGV4dCA9IHByZWFjdC5jcmVhdGVDb250ZXh0O1xuICAgIHB1YmxpYyB1c2VDb250ZXh0ID0gaG9va3MudXNlQ29udGV4dDtcbiAgICBwdWJsaWMgdXNlUmVmID0gaG9va3MudXNlUmVmO1xuICAgIHB1YmxpYyB1c2VJbnRlcm5pbmcgPSB1c2VJbnRlcm5pbmc7XG4gICAgcHVibGljIHVzZVNldEZpZWxkID0gdXNlU2V0RmllbGQ7XG5cbiAgICAvKiogTWVtb2l6ZSB0aGUgaW5wdXQgYXV0b21hdGljYWxseSBhbmQgcHJvY2VzcyBpdCB1c2luZyBhIERhdGEgQXJyYXk7IHJldHVybnMgYSB2YW5pbGxhIGFycmF5IGJhY2suICovXG4gICAgcHVibGljIHVzZUFycmF5PFQsIFU+KGlucHV0OiBUW10gfCBEYXRhQXJyYXk8VD4sIHByb2Nlc3M6IChkYXRhOiBEYXRhQXJyYXk8VD4pID0+IERhdGFBcnJheTxVPiwgZGVwcz86IGFueVtdKTogVVtdIHtcbiAgICAgICAgcmV0dXJuIGhvb2tzLnVzZU1lbW8oKCkgPT4gcHJvY2VzcyhEYXRhQXJyYXkud3JhcChpbnB1dCkpLmFycmF5KCksIFtpbnB1dCwgLi4uKGRlcHMgPz8gW10pXSk7XG4gICAgfVxuXG4gICAgLyoqIFVzZSB0aGUgZmlsZSBtZXRhZGF0YSBmb3IgdGhlIGN1cnJlbnQgZmlsZS4gQXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSB2aWV3IHdoZW4gdGhlIGN1cnJlbnQgZmlsZSBtZXRhZGF0YSBjaGFuZ2VzLiAqL1xuICAgIHB1YmxpYyB1c2VDdXJyZW50RmlsZShzZXR0aW5ncz86IHsgZGVib3VuY2U/OiBudW1iZXIgfSk6IE1hcmtkb3duUGFnZSB7XG4gICAgICAgIHJldHVybiB1c2VGaWxlTWV0YWRhdGEodGhpcy5jb3JlLCB0aGlzLnBhdGgsIHNldHRpbmdzKSBhcyBNYXJrZG93blBhZ2U7XG4gICAgfVxuXG4gICAgLyoqIFVzZSB0aGUgY3VycmVudCBwYXRoLiBBdXRvbWF0aWNhbGx5IHVwZGF0ZXMgdGhlIHZpZXcgaWYgdGhlIHBhdGggY2hhbmdlcyAodGhvdWdoIHRoYXQgd291bGQgYmUgd2VpcmQpLiAqL1xuICAgIHB1YmxpYyB1c2VDdXJyZW50UGF0aChzZXR0aW5ncz86IHsgZGVib3VuY2U/OiBudW1iZXIgfSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1ldGEgPSB0aGlzLnVzZUN1cnJlbnRGaWxlKHNldHRpbmdzKTtcbiAgICAgICAgcmV0dXJuIG1ldGEuJHBhdGg7XG4gICAgfVxuXG4gICAgLyoqIFVzZSB0aGUgZmlsZSBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmaWxlLiBBdXRvbWF0aWNhbGx5IHVwZGF0ZXMgdGhlIHZpZXcgd2hlbiB0aGUgZmlsZSBjaGFuZ2VzLiAqL1xuICAgIHB1YmxpYyB1c2VGaWxlKHBhdGg6IHN0cmluZywgc2V0dGluZ3M/OiB7IGRlYm91bmNlPzogbnVtYmVyIH0pOiBJbmRleGFibGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdXNlRmlsZU1ldGFkYXRhKHRoaXMuY29yZSwgcGF0aCwgc2V0dGluZ3MpITtcbiAgICB9XG5cbiAgICAvKiogQXV0b21hdGljYWxseSByZWZyZXNoIHRoZSB2aWV3IHdoZW5ldmVyIHRoZSBpbmRleCB1cGRhdGVzOyByZXR1cm5zIHRoZSBsYXRlc3QgaW5kZXggcmV2aXNpb24gSUQuICovXG4gICAgcHVibGljIHVzZUluZGV4VXBkYXRlcyhzZXR0aW5ncz86IHsgZGVib3VuY2U/OiBudW1iZXIgfSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB1c2VJbmRleFVwZGF0ZXModGhpcy5jb3JlLCBzZXR0aW5ncyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUnVuIGEgcXVlcnksIGF1dG9tYXRpY2FsbHkgcmUtcnVubmluZyBpdCB3aGVuZXZlciB0aGUgdmF1bHQgY2hhbmdlcy4gUmV0dXJucyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBxdWVyeVxuICAgICAqIGV4ZWN1dGlvbiwgc3VjaCBhcyBpbmRleCByZXZpc2lvbiBhbmQgdG90YWwgc2VhcmNoIGR1cmF0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyB1c2VGdWxsUXVlcnkocXVlcnk6IHN0cmluZyB8IEluZGV4UXVlcnksIHNldHRpbmdzPzogeyBkZWJvdW5jZT86IG51bWJlciB9KTogU2VhcmNoUmVzdWx0PEluZGV4YWJsZT4ge1xuICAgICAgICByZXR1cm4gdXNlRnVsbFF1ZXJ5KHRoaXMuY29yZSwgdGhpcy5wYXJzZVF1ZXJ5KHF1ZXJ5KSwgc2V0dGluZ3MpO1xuICAgIH1cblxuICAgIC8qKiBSdW4gYSBxdWVyeSwgYXV0b21hdGljYWxseSByZS1ydW5uaW5nIGl0IHdoZW5ldmVyIHRoZSB2YXVsdCBjaGFuZ2VzLiAqL1xuICAgIHB1YmxpYyB1c2VRdWVyeShxdWVyeTogc3RyaW5nIHwgSW5kZXhRdWVyeSwgc2V0dGluZ3M/OiB7IGRlYm91bmNlPzogbnVtYmVyIH0pOiBJbmRleGFibGVbXSB7XG4gICAgICAgIC8vIEhvb2tzIG5lZWQgdG8gYmUgY2FsbGVkIGluIGEgY29uc2lzdGVudCBvcmRlciwgc28gd2UgZG9uJ3QgbmVzdCB0aGUgYHVzZVF1ZXJ5YCBjYWxsIGluIHRoZSBEYXRhQXJyYXkud3JhcCBfanVzdF8gaW4gY2FzZS5cbiAgICAgICAgcmV0dXJuIHVzZVF1ZXJ5KHRoaXMuY29yZSwgdGhpcy5wYXJzZVF1ZXJ5KHF1ZXJ5KSwgc2V0dGluZ3MpO1xuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFZpc3VhbCBFbGVtZW50cyAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgLyoqIFZlcnRpY2FsIGZsZXhib3ggY29udGFpbmVyOyBnb29kIGZvciBwdXR0aW5nIGl0ZW1zIHRvZ2V0aGVyIGluIGEgY29sdW1uLiAqL1xuICAgIHB1YmxpYyBTdGFjayA9IFN0YWNrO1xuICAgIC8qKiBIb3Jpem9udGFsIGZsZXhib3ggY29udGFpbmVyOyBnb29kIGZvciBwdXR0aW5nIGl0ZW1zIHRvZ2V0aGVyIGluIGEgcm93LiAqL1xuICAgIHB1YmxpYyBHcm91cCA9IEdyb3VwO1xuXG4gICAgLyoqIFJlbmRlcnMgYSBsaXRlcmFsIHZhbHVlIGluIGEgcHJldHR5IHdheSB0aGF0IHJlc3BlY3RzIHNldHRpbmdzLiAqL1xuICAgIHB1YmxpYyBMaXRlcmFsID0gKCh7IHZhbHVlLCBzb3VyY2VQYXRoLCBpbmxpbmUgfTogeyB2YWx1ZTogTGl0ZXJhbDsgc291cmNlUGF0aD86IHN0cmluZzsgaW5saW5lPzogYm9vbGVhbiB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGltcGxpY2l0U291cmNlUGF0aCA9IGhvb2tzLnVzZUNvbnRleHQoQ1VSUkVOVF9GSUxFX0NPTlRFWFQpO1xuICAgICAgICByZXR1cm4gPExpdCB2YWx1ZT17dmFsdWV9IHNvdXJjZVBhdGg9e3NvdXJjZVBhdGggPz8gaW1wbGljaXRTb3VyY2VQYXRoID8/IHRoaXMucGF0aH0gaW5saW5lPXtpbmxpbmV9IC8+O1xuICAgIH0pLmJpbmQodGhpcyk7XG5cbiAgICAvKiogUmVuZGVycyBtYXJrZG93biB1c2luZyB0aGUgT2JzaWRpYW4gbWFya2Rvd24gcmVuZGVyZXIsIG9wdGlvbmFsbHkgYXR0YWNoaW5nIGFkZGl0aW9uYWwgc3R5bGVzLiAqL1xuICAgIHB1YmxpYyBNYXJrZG93biA9ICgoe1xuICAgICAgICBjb250ZW50LFxuICAgICAgICBzb3VyY2VQYXRoLFxuICAgICAgICBpbmxpbmUsXG4gICAgICAgIHN0eWxlLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgfToge1xuICAgICAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG4gICAgICAgIGlubGluZT86IGJvb2xlYW47XG4gICAgICAgIHN0eWxlPzogQ1NTUHJvcGVydGllcztcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIH0pID0+IHtcbiAgICAgICAgY29uc3QgaW1wbGljaXRTb3VyY2VQYXRoID0gaG9va3MudXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8TWFya2Rvd25cbiAgICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxuICAgICAgICAgICAgICAgIHNvdXJjZVBhdGg9e3NvdXJjZVBhdGggPz8gaW1wbGljaXRTb3VyY2VQYXRoID8/IHRoaXMucGF0aH1cbiAgICAgICAgICAgICAgICBpbmxpbmU9e2lubGluZX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgY2xzPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgIH0pLmJpbmQodGhpcyk7XG5cbiAgICAvKiogUmVuZGVycyBhbiBvYnNpZGlhbi1zdHlsZSBsaW5rIGRpcmVjdGx5IGFuZCBtb3JlIGVmZmllaWNudGx5IHRoYW4gcmVuZGVyaW5nIG1hcmtkb3duLiAqL1xuICAgIHB1YmxpYyBMaW5rID0gT2JzaWRpYW5MaW5rO1xuXG4gICAgLyoqIENyZWF0ZSBhIHZhbmlsbGEgT2JzaWRpYW4gZW1iZWQgZm9yIHRoZSBnaXZlbiBsaW5rLiAqL1xuICAgIHB1YmxpYyBMaW5rRW1iZWQgPSAoKHtcbiAgICAgICAgbGluayxcbiAgICAgICAgaW5saW5lLFxuICAgICAgICBzb3VyY2VQYXRoLFxuICAgIH06IHtcbiAgICAgICAgbGluazogc3RyaW5nIHwgTGluaztcbiAgICAgICAgaW5saW5lPzogYm9vbGVhbjtcbiAgICAgICAgc291cmNlUGF0aD86IHN0cmluZztcbiAgICB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlYWxMaW5rID0gaG9va3MudXNlTWVtbygoKSA9PiAodHlwZW9mIGxpbmsgPT09IFwic3RyaW5nXCIgPyBMaW5rLmZpbGUobGluaykgOiBsaW5rKSwgW2xpbmtdKTtcbiAgICAgICAgY29uc3QgaW1wbGljaXRTb3VyY2VQYXRoID0gaG9va3MudXNlQ29udGV4dChDVVJSRU5UX0ZJTEVfQ09OVEVYVCk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8RW1iZWRcbiAgICAgICAgICAgICAgICBsaW5rPXtyZWFsTGlua31cbiAgICAgICAgICAgICAgICBpbmxpbmU9e2lubGluZSA/PyBmYWxzZX1cbiAgICAgICAgICAgICAgICBzb3VyY2VQYXRoPXtzb3VyY2VQYXRoID8/IGltcGxpY2l0U291cmNlUGF0aCA/PyB0aGlzLnBhdGh9XG4gICAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgIH0pLmJpbmQodGhpcyk7XG5cbiAgICAvKiogQ3JlYXRlIGFuIGV4cGxpY2l0ICdzcGFuJyBlbWJlZCB3aGljaCBleHRyYWN0cyBhIHNwYW4gb2YgbGluZXMgZnJvbSBhIG1hcmtkb3duIGZpbGUuICovXG4gICAgcHVibGljIFNwYW5FbWJlZCA9ICgoe1xuICAgICAgICBwYXRoLFxuICAgICAgICBzdGFydCxcbiAgICAgICAgZW5kLFxuICAgICAgICBleHBsYWluLFxuICAgICAgICBzaG93RXhwbGFpbixcbiAgICAgICAgc291cmNlUGF0aDogbWF5YmVTb3VyY2VQYXRoLFxuICAgIH06IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICAgICAgICBleHBsYWluPzogc3RyaW5nO1xuICAgICAgICBzaG93RXhwbGFpbj86IGJvb2xlYW47XG4gICAgICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgICAgIGVuZDogbnVtYmVyO1xuICAgIH0pID0+IHtcbiAgICAgICAgLy8gUmVzb2x2ZSB0aGUgcGF0aCB0byB0aGUgY29ycmVjdCBwYXRoIGlmIGEgc291cmNlIHBhdGggaXMgcHJvdmlkZWQuXG4gICAgICAgIGNvbnN0IHNvdXJjZVBhdGggPSBtYXliZVNvdXJjZVBhdGggPz8gdGhpcy5wYXRoO1xuICAgICAgICBjb25zdCByZXNvbHZlZFBhdGggPSBob29rcy51c2VNZW1vKCgpID0+IHRoaXMucmVzb2x2ZVBhdGgocGF0aCwgc291cmNlUGF0aCksIFtwYXRoLCBzb3VyY2VQYXRoXSk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxMaW5lU3BhbkVtYmVkIHBhdGg9e3Jlc29sdmVkUGF0aH0gc3RhcnQ9e3N0YXJ0fSBlbmQ9e2VuZH0gZXhwbGFpbj17ZXhwbGFpbn0gc2hvd0V4cGxhaW49e3Nob3dFeHBsYWlufSAvPlxuICAgICAgICApO1xuICAgIH0pLmJpbmQodGhpcyk7XG5cbiAgICAvKiogUmVuZGVycyBhbiBvYnNpZGlhbiBsdWNpZGUgaWNvbi4gKi9cbiAgICBwdWJsaWMgSWNvbiA9IEljb247XG5cbiAgICAvLy8vLy8vLy8vL1xuICAgIC8vIFZpZXdzIC8vXG4gICAgLy8vLy8vLy8vLy9cblxuICAgIHB1YmxpYyBUYXNrTGlzdCA9IFRhc2tMaXN0O1xuICAgIHB1YmxpYyBWYW5pbGxhVGFibGUgPSBWYW5pbGxhVGFibGU7XG4gICAgcHVibGljIFRyZWVUYWJsZSA9IFRyZWVUYWJsZVZpZXc7XG4gICAgcHVibGljIENhcmQgPSBDYXJkO1xuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEludGVyYXRpdmUgZWxlbWVudHMgLy9cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBwdWJsaWMgQnV0dG9uID0gQnV0dG9uO1xuICAgIHB1YmxpYyBUZXh0Ym94ID0gVGV4dGJveDtcbiAgICBwdWJsaWMgQ2FsbG91dCA9IENhbGxvdXQ7XG4gICAgcHVibGljIENoZWNrYm94ID0gQ2hlY2tib3g7XG4gICAgcHVibGljIFNsaWRlciA9IFNsaWRlcjtcbiAgICBwdWJsaWMgU3dpdGNoID0gU3dpdGNoO1xuICAgIHB1YmxpYyBWYW5pbGxhU2VsZWN0ID0gVmFuaWxsYVNlbGVjdDtcbiAgICBwdWJsaWMgVmFuaWxsYVRleHRCb3ggPSBDb250cm9sbGVkRWRpdGFibGVUZXh0RmllbGQ7XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gICAgZmllbGQgZWRpdG9ycyAgICAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBwdWJsaWMgRmllbGRDaGVja2JveCA9IEZpZWxkQ2hlY2tib3g7XG4gICAgcHVibGljIEZpZWxkU2xpZGVyID0gRmllbGRTbGlkZXI7XG4gICAgcHVibGljIEZpZWxkU2VsZWN0ID0gRmllbGRTZWxlY3Q7XG4gICAgcHVibGljIEZpZWxkU3dpdGNoID0gRmllbGRTd2l0Y2g7XG4gICAgcHVibGljIFRleHRGaWVsZCA9IEVkaXRhYmxlVGV4dEZpZWxkO1xufVxuIiwgIi8qKlxuICogQG1vZHVsZSBhcGlcbiAqL1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7IERhdGFjb3JlIH0gZnJvbSBcImluZGV4L2RhdGFjb3JlXCI7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tIFwiaW5kZXgvZGF0YXN0b3JlXCI7XG5pbXBvcnQgeyBQUklNSVRJVkVTLCBRVUVSWSB9IGZyb20gXCJleHByZXNzaW9uL3BhcnNlclwiO1xuaW1wb3J0IHsgSW5kZXhRdWVyeSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleC1xdWVyeVwiO1xuaW1wb3J0IHsgSW5kZXhhYmxlIH0gZnJvbSBcImluZGV4L3R5cGVzL2luZGV4YWJsZVwiO1xuaW1wb3J0IHsgTWFya2Rvd25QYWdlIH0gZnJvbSBcImluZGV4L3R5cGVzL21hcmtkb3duXCI7XG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tIFwiLi9yZXN1bHRcIjtcbmltcG9ydCB7IEFwcCwgQ29tcG9uZW50LCBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0LCBNYXJrZG93blJlbmRlckNoaWxkIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBEYXRhY29yZUpTUmVuZGVyZXIgfSBmcm9tIFwidWkvamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgRGF0YWNvcmVMb2NhbEFwaSB9IGZyb20gXCIuL2xvY2FsLWFwaVwiO1xuaW1wb3J0IFBhcnNpbW1vbiBmcm9tIFwicGFyc2ltbW9uXCI7XG5pbXBvcnQgeyBDb2VyY2UgfSBmcm9tIFwiLi9jb2VyY2VcIjtcbmltcG9ydCB7IERhdGFBcnJheSB9IGZyb20gXCIuL2RhdGEtYXJyYXlcIjtcbmltcG9ydCAqIGFzIGx1eG9uIGZyb20gXCJsdXhvblwiO1xuaW1wb3J0ICogYXMgcHJlYWN0IGZyb20gXCJwcmVhY3RcIjtcblxuLyoqIEV4dGVyYWxseSB2aXNpYmxlIEFQSSBmb3IgZGF0YWNvcmUuXG4gKiBAZ3JvdXAgQ29yZVxuICovXG5leHBvcnQgY2xhc3MgRGF0YWNvcmVBcGkge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgY29yZTogRGF0YWNvcmUpIHt9XG5cbiAgICAvKiogR2V0IGFjZXNzIHRvIGx1eG9uIGZ1bmN0aW9ucy4gKi9cbiAgICBnZXQgbHV4b24oKTogdHlwZW9mIGx1eG9uIHtcbiAgICAgICAgcmV0dXJuIGx1eG9uO1xuICAgIH1cblxuICAgIC8qKiBHZXQgYWNjZXNzIHRvIHByZWFjdCBmdW5jdGlvbnMuICovXG4gICAgZ2V0IHByZWFjdCgpOiB0eXBlb2YgcHJlYWN0IHtcbiAgICAgICAgcmV0dXJuIHByZWFjdDtcbiAgICB9XG5cbiAgICAvKiogQ2VudHJhbCBPYnNpZGlhbiBhcHAgb2JqZWN0LiAqL1xuICAgIGdldCBhcHAoKTogQXBwIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29yZS5hcHA7XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gTG9jYWwgQVBJIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAvKiogQ29uc3RydWN0IGEgbG9jYWwgQVBJIGZvciB0aGUgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aC4gKi9cbiAgICBwdWJsaWMgbG9jYWwocGF0aDogc3RyaW5nKTogRGF0YWNvcmVMb2NhbEFwaSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0YWNvcmVMb2NhbEFwaSh0aGlzLCBwYXRoKTtcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gUXVlcnlpbmcgKyBGZXRjaGluZyAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIC8qKiBMb2FkIGEgbWFya2Rvd24gZmlsZSBieSBmdWxsIHBhdGggb3IgbGluay4gKi9cbiAgICBwdWJsaWMgcGFnZShwYXRoOiBzdHJpbmcgfCBMaW5rKTogTWFya2Rvd25QYWdlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgcmVhbFBhdGggPSBwYXRoIGluc3RhbmNlb2YgTGluayA/IHBhdGgucGF0aCA6IHBhdGg7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29yZS5kYXRhc3RvcmUubG9hZChyZWFsUGF0aCkgYXMgTWFya2Rvd25QYWdlIHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKiBFeGVjdXRlIGEgdGV4dHVhbCBvciB0eXBlZCBpbmRleCBxdWVyeSwgcmV0dXJuaW5nIGFsbCByZXN1bHRzLiAqL1xuICAgIHB1YmxpYyBxdWVyeShxdWVyeTogc3RyaW5nIHwgSW5kZXhRdWVyeSk6IEluZGV4YWJsZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJ5UXVlcnkocXVlcnkpLm9yRWxzZVRocm93KCk7XG4gICAgfVxuXG4gICAgLyoqIEV4ZWN1dGUgYSB0ZXh0dWFsIG9yIHR5cGVkIGluZGV4IHF1ZXJ5LCByZXR1cm5pbmcgYWxsIHJlc3VsdHMuICovXG4gICAgcHVibGljIHRyeVF1ZXJ5KHF1ZXJ5OiBzdHJpbmcgfCBJbmRleFF1ZXJ5KTogUmVzdWx0PEluZGV4YWJsZVtdLCBzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJ5RnVsbFF1ZXJ5KHF1ZXJ5KS5tYXAoKHJlc3VsdCkgPT4gcmVzdWx0LnJlc3VsdHMpO1xuICAgIH1cblxuICAgIC8qKiBFeGVjdXRlIGEgdGV4dHVhbCBvciB0eXBlZCBpbmRleCBxdWVyeSwgcmV0dXJuaW5nIHJlc3VsdHMgcGx1cyBwZXJmb3JtYW5jZSBtZXRhZGF0YS4gKi9cbiAgICBwdWJsaWMgZnVsbHF1ZXJ5KHF1ZXJ5OiBzdHJpbmcgfCBJbmRleFF1ZXJ5KTogU2VhcmNoUmVzdWx0PEluZGV4YWJsZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cnlGdWxsUXVlcnkocXVlcnkpLm9yRWxzZVRocm93KCk7XG4gICAgfVxuXG4gICAgLyoqIEV4ZWN1dGUgYSB0ZXh0dWFsIG9yIHR5cGVkIGluZGV4IHF1ZXJ5LCByZXR1cm5pbmcgcmVzdWx0cyBwbHVzIHBlcmZvcm1hbmNlIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyB0cnlGdWxsUXVlcnkocXVlcnk6IHN0cmluZyB8IEluZGV4UXVlcnkpOiBSZXN1bHQ8U2VhcmNoUmVzdWx0PEluZGV4YWJsZT4sIHN0cmluZz4ge1xuICAgICAgICBjb25zdCBwYXJzZWRRdWVyeSA9IHR5cGVvZiBxdWVyeSA9PT0gXCJzdHJpbmdcIiA/IFFVRVJZLnF1ZXJ5LnRyeVBhcnNlKHF1ZXJ5KSA6IHF1ZXJ5O1xuICAgICAgICByZXR1cm4gdGhpcy5jb3JlLmRhdGFzdG9yZS5zZWFyY2gocGFyc2VkUXVlcnkpO1xuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gR2VuZXJhbCB1dGlsaXRpZXMgLy9cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgLyoqIFV0aWxpdGllcyBmb3IgY29lcmNpbmcgdHlwZXMgaW50byBvbmUgc3BlY2lmaWMgdHlwZSBmb3IgZWFzaWVyIHByb2dyYW1taW5nLiAqL1xuICAgIHB1YmxpYyBjb2VyY2UgPSBDb2VyY2U7XG5cbiAgICAvKiogUmVzb2x2ZSBhIGxvY2FsIG9yIGFic29sdXRlIHBhdGggb3IgbGluayB0byBhbiBhYnNvbHV0ZSBwYXRoLiAqL1xuICAgIHB1YmxpYyByZXNvbHZlUGF0aChwYXRoOiBzdHJpbmcgfCBMaW5rLCBzb3VyY2VQYXRoPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmF3cGF0aCA9IHBhdGggaW5zdGFuY2VvZiBMaW5rID8gcGF0aC5wYXRoIDogcGF0aDtcbiAgICAgICAgaWYgKHJhd3BhdGguc3RhcnRzV2l0aChcIi9cIikpIHJldHVybiByYXdwYXRoLnN1YnN0cmluZygxKTtcblxuICAgICAgICBjb25zdCBhYnNvbHV0ZSA9IHRoaXMuY29yZS5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KHJhd3BhdGgsIHNvdXJjZVBhdGggPz8gXCJcIik7XG4gICAgICAgIGlmIChhYnNvbHV0ZSkgcmV0dXJuIGFic29sdXRlLnBhdGg7XG5cbiAgICAgICAgcmV0dXJuIHJhd3BhdGg7XG4gICAgfVxuXG4gICAgLyoqIFRyeSB0byBwYXJzZSB0aGUgZ2l2ZW4gcXVlcnksIHJldHVybmluZyBhIG1vbmFkaWMgc3VjY2Vzcy9mYWlsdXJlIHJlc3VsdC4gKi9cbiAgICBwdWJsaWMgdHJ5UGFyc2VRdWVyeShxdWVyeTogc3RyaW5nIHwgSW5kZXhRdWVyeSk6IFJlc3VsdDxJbmRleFF1ZXJ5LCBzdHJpbmc+IHtcbiAgICAgICAgaWYgKCEodHlwZW9mIHF1ZXJ5ID09PSBcInN0cmluZ1wiKSkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHF1ZXJ5KTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBRVUVSWS5xdWVyeS5wYXJzZShxdWVyeSk7XG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgZWxzZSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoUGFyc2ltbW9uLmZvcm1hdEVycm9yKHF1ZXJ5LCByZXN1bHQpKTtcbiAgICB9XG5cbiAgICAvKiogVHJ5IHRvIHBhcnNlIHRoZSBnaXZlbiBxdWVyeSwgdGhyb3dpbmcgYW4gZXJyb3IgaWYgaXQgaXMgaW52YWxpZC4gKi9cbiAgICBwdWJsaWMgcGFyc2VRdWVyeShxdWVyeTogc3RyaW5nIHwgSW5kZXhRdWVyeSk6IEluZGV4UXVlcnkge1xuICAgICAgICByZXR1cm4gdGhpcy50cnlQYXJzZVF1ZXJ5KHF1ZXJ5KS5vckVsc2VUaHJvdygoZSkgPT4gXCJGYWlsZWQgdG8gcGFyc2UgcXVlcnk6IFwiICsgZSk7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSBhIGZpbGUgbGluayBwb2ludGluZyB0byB0aGUgZ2l2ZW4gcGF0aC4gKi9cbiAgICBwdWJsaWMgZmlsZUxpbmsocGF0aDogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUocGF0aCk7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSBhIGxpbmsgdG8gYSBoZWFkZXIgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gKi9cbiAgICBwdWJsaWMgaGVhZGVyTGluayhwYXRoOiBzdHJpbmcsIGhlYWRlcjogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmhlYWRlcihwYXRoLCBoZWFkZXIpO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBsaW5rIHRvIGEgYmxvY2sgd2l0aCB0aGUgZ2l2ZW4gcGF0aCBhbmQgYmxvY2sgSUQuICovXG4gICAgcHVibGljIGJsb2NrTGluayhwYXRoOiBzdHJpbmcsIGJsb2NrOiBzdHJpbmcpOiBMaW5rIHtcbiAgICAgICAgcmV0dXJuIExpbmsuYmxvY2socGF0aCwgYmxvY2spO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgdGhlIGdpdmVuIGxpbmssIHRocm93aW5nIGFuIGVycm9yIGlmIGl0IGlzIGludmFsaWQuICovXG4gICAgcHVibGljIHBhcnNlTGluayhsaW5rdGV4dDogc3RyaW5nKTogTGluayB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyeVBhcnNlTGluayhsaW5rdGV4dCkub3JFbHNlVGhyb3coKGUpID0+IFwiRmFpbGVkIHRvIHBhcnNlIGxpbms6IFwiICsgZSk7XG4gICAgfVxuXG4gICAgLyoqIFRyeSB0byBwYXJzZSBhIGxpbmssIHJldHVybmluZyBhIG1vbmFkaWMgc3VjY2Vzcy9mYWlsdXJlIHJlc3VsdC4gKi9cbiAgICBwdWJsaWMgdHJ5UGFyc2VMaW5rKGxpbmt0ZXh0OiBzdHJpbmcpOiBSZXN1bHQ8TGluaywgc3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IFBSSU1JVElWRVMuZW1iZWRMaW5rLnBhcnNlKGxpbmt0ZXh0KTtcbiAgICAgICAgaWYgKCFwYXJzZWQuc3RhdHVzKSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoUGFyc2ltbW9uLmZvcm1hdEVycm9yKGxpbmt0ZXh0LCBwYXJzZWQpKTtcblxuICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MocGFyc2VkLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgZGF0YSBhcnJheSBmcm9tIGEgcmVndWxhciBhcnJheS4gKi9cbiAgICBwdWJsaWMgYXJyYXk8VD4oaW5wdXQ6IFRbXSB8IERhdGFBcnJheTxUPik6IERhdGFBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiBEYXRhQXJyYXkud3JhcChpbnB1dCk7XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gVmlzdWFsIEVsZW1lbnRzIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAvKipcbiAgICAgKiBSdW4gdGhlIGdpdmVuIERhdGFjb3JlSlMgc2NyaXB0LCByZW5kZXJpbmcgaXQgaW50byB0aGUgZ2l2ZW4gY29udGFpbmVyLiBUaGlzIGZ1bmN0aW9uXG4gICAgICogd2lsbCByZXR1cm4gcXVpY2tseTsgYWN0dWFsIHJlbmRlcmluZyBpcyBkb25lIGFzeW5jaHJvbm91c2x5IGluIHRoZSBiYWNrZ3JvdW5kLlxuICAgICAqXG4gICAgICogUmV0dXJucyBhIG1hcmtkb3duIHJlbmRlciBjaGlsZCByZXByZXNlbnRpbmcgdGhlIHJlbmRlcmVkIG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXhlY3V0ZUpzKFxuICAgICAgICBzb3VyY2U6IHN0cmluZyxcbiAgICAgICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnQgfCBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0LFxuICAgICAgICBzb3VyY2VQYXRoOiBzdHJpbmdcbiAgICApOiBNYXJrZG93blJlbmRlckNoaWxkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbmRlckphdmFzY3JpcHQoc291cmNlLCBjb250YWluZXIsIGNvbXBvbmVudCwgc291cmNlUGF0aCwgXCJqc1wiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaW1pbGFyIHRvIGBleGVjdXRlSnNgLCBidXQgZm9yIEpTWCBzY3JpcHRzLiBJZiB5b3UgYXJlIHVuc3VyZSBpZiB5b3VyIGlucHV0IHdpbGwgYmUgSlNcbiAgICAgKiBvciBKU1gsIHVzZSB0aGlzIG9uZSwgYXMgaXQgYWxzbyBzdXBwb3J0cyByZWd1bGFyIGphdmFzY3JpcHQgKGFsYmVpdCBhdCBhdCBhIG1pbGQgcGVyZm9ybWFuY2VcbiAgICAgKiBoaXQgdG8gcmVuZGVyaW5nKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXhlY3V0ZUpzeChcbiAgICAgICAgc291cmNlOiBzdHJpbmcsXG4gICAgICAgIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50IHwgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCxcbiAgICAgICAgc291cmNlUGF0aDogc3RyaW5nXG4gICAgKTogTWFya2Rvd25SZW5kZXJDaGlsZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW5kZXJKYXZhc2NyaXB0KHNvdXJjZSwgY29udGFpbmVyLCBjb21wb25lbnQsIHNvdXJjZVBhdGgsIFwianN4XCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNpbWlsYXIgdG8gYGV4ZWN1dGVKc2AsIGJ1dCBmb3IgVHlwZVNjcmlwdCBzY3JpcHRzLiBVc2UgdGhlIFRTWCB2YXJpYW50IGZvciBUU1ggc3VwcHJvdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXhlY3V0ZVRzKFxuICAgICAgICBzb3VyY2U6IHN0cmluZyxcbiAgICAgICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnQgfCBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0LFxuICAgICAgICBzb3VyY2VQYXRoOiBzdHJpbmdcbiAgICApOiBNYXJrZG93blJlbmRlckNoaWxkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbmRlckphdmFzY3JpcHQoc291cmNlLCBjb250YWluZXIsIGNvbXBvbmVudCwgc291cmNlUGF0aCwgXCJ0c1wiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaW1pbGFyIHRvIGBleGVjdXRlVHNgLCBidXQgZm9yIFRTWCBzY3JpcHRzLiBJZiB5b3UgYXJlIHVuc3VyZSBpZiB5b3VyIGlucHV0IHdpbGwgYmUgVFNcbiAgICAgKiBvciBUU1gsIHVzZSB0aGlzIG9uZSwgYXMgaXQgYWxzbyBzdXBwb3J0cyByZWd1bGFyIGphdmFzY3JpcHQgKGFsYmVpdCBhdCBhdCBhIG1pbGQgcGVyZm9ybWFuY2VcbiAgICAgKiBoaXQgdG8gcmVuZGVyaW5nKS5cbiAgICAgKlxuICAgICAqIFRoaXMgZ2VuZXJhbGx5IHdpbGwgYWxzbyB3b3JrIGlmIHlvdSBhcmUgdW5zdXJlIGlmIHlvdXIgaW5wdXQgaXMgamF2YXNjcmlwdCBvciB0eXBlc2NyaXB0LFxuICAgICAqIHRob3VnaCBiZXdhcmUgdGhlcmUgYXJlIGEgZmV3IG5pY2hlIGNhc2VzIHdoZXJlIGphdmFzY3JpcHQgYW5kIHR5cGVzY3JpcHQgZGl2ZXJnZSBpbiBzeW50YXguXG4gICAgICovXG4gICAgcHVibGljIGV4ZWN1dGVUc3goXG4gICAgICAgIHNvdXJjZTogc3RyaW5nLFxuICAgICAgICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICAgICAgICBjb21wb25lbnQ6IENvbXBvbmVudCB8IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQsXG4gICAgICAgIHNvdXJjZVBhdGg6IHN0cmluZ1xuICAgICk6IE1hcmtkb3duUmVuZGVyQ2hpbGQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVuZGVySmF2YXNjcmlwdChzb3VyY2UsIGNvbnRhaW5lciwgY29tcG9uZW50LCBzb3VyY2VQYXRoLCBcInRzeFwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIFNoYXJlZCBsb2dpYyBmb3IgcmVuZGVyaW5nIGFueSBKUy9UUyBzY3JpcHQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfcmVuZGVySmF2YXNjcmlwdChcbiAgICAgICAgc291cmNlOiBzdHJpbmcsXG4gICAgICAgIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gICAgICAgIGNvbXBvbmVudDogQ29tcG9uZW50IHwgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCxcbiAgICAgICAgc291cmNlUGF0aDogc3RyaW5nLFxuICAgICAgICBsYW5ndWFnZTogXCJqc1wiIHwgXCJ0c1wiIHwgXCJqc3hcIiB8IFwidHN4XCJcbiAgICApIHtcbiAgICAgICAgbGV0IGxvY2FsID0gbmV3IERhdGFjb3JlTG9jYWxBcGkodGhpcywgc291cmNlUGF0aCk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gbmV3IERhdGFjb3JlSlNSZW5kZXJlcihsb2NhbCwgY29udGFpbmVyLCBzb3VyY2VQYXRoLCBzb3VyY2UsIGxhbmd1YWdlKTtcbiAgICAgICAgY29tcG9uZW50LmFkZENoaWxkKHJlbmRlcmVyKTtcblxuICAgICAgICByZXR1cm4gcmVuZGVyZXI7XG4gICAgfVxufVxuIiwgImltcG9ydCB7IGdldFBhcmVudEZvbGRlciB9IGZyb20gXCJ1dGlscy9ub3JtYWxpemVyc1wiO1xuaW1wb3J0IHsgVEZpbGUsIFRGb2xkZXIsIFZhdWx0IH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbi8qKiBTcGVjaWZpYyBpbmRleCBmb3IgdHJhY2tpbmcgb2JqZWN0cyBpbiByZWxhdGl2ZSBwYXRocy4gU3BlY2lmaWNhbGx5IHRyYWNrcyB0b3AtbGV2ZWwgcGFnZSBvYmplY3RzLiAqL1xuZXhwb3J0IGNsYXNzIEZvbGRlckluZGV4IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmF1bHQ6IFZhdWx0KSB7fVxuXG4gICAgLyoqIEdldCB0aGUgbGlzdCBvZiBhbGwgZmlsZXMgdW5kZXIgdGhlIGdpdmVuIHBhdGguICovXG4gICAgcHVibGljIGdldChwcmVmaXg6IHN0cmluZywgZmlsdGVyPzogKHBhdGg6IHN0cmluZykgPT4gYm9vbGVhbik6IFNldDxzdHJpbmc+IHtcbiAgICAgICAgbGV0IGZvbGRlciA9IHRoaXMudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKHByZWZpeCB8fCBcIi9cIik7XG4gICAgICAgIGlmICghZm9sZGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gRm9sZGVySW5kZXguRU1QVFlfU0VUO1xuICAgICAgICB9IGVsc2UgaWYgKGZvbGRlciBpbnN0YW5jZW9mIFRGb2xkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2V0KHRoaXMud2Fsayhmb2xkZXIsIGZpbHRlcikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKHByZWZpeCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNldChwcmVmaXgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRm9sZGVySW5kZXguRU1QVFlfU0VUO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdldCB0aGUgbGlzdCBvZiBmaWxlcyBzcGVjaWZpY2FsbHkgdW5kZXIgdGhlIGdpdmVuIHBhdGguICovXG4gICAgcHVibGljIGdldEV4YWN0KHByZWZpeDogc3RyaW5nLCBmaWx0ZXI/OiAocGF0aDogc3RyaW5nKSA9PiBib29sZWFuKTogU2V0PHN0cmluZz4ge1xuICAgICAgICBsZXQgZm9sZGVyID0gdGhpcy52YXVsdC5nZXRBYnN0cmFjdEZpbGVCeVBhdGgocHJlZml4IHx8IFwiL1wiKTtcbiAgICAgICAgaWYgKCFmb2xkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBGb2xkZXJJbmRleC5FTVBUWV9TRVQ7XG4gICAgICAgIH0gZWxzZSBpZiAoZm9sZGVyIGluc3RhbmNlb2YgVEZvbGRlcikge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmb2xkZXIuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpZiAoIShmaWxlIGluc3RhbmNlb2YgVEZpbGUpKSBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyICYmICFmaWx0ZXIoZmlsZS5wYXRoKSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICBlbGVtZW50cy5hZGQoZmlsZS5wYXRoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKHByZWZpeCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNldChwcmVmaXgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRm9sZGVySW5kZXguRU1QVFlfU0VUO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIHBhdGggZXhpc3RzIGluIHRoZSBpbmRleC4gKi9cbiAgICBwdWJsaWMgcGF0aEV4aXN0cyhwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKHBhdGggfHwgXCIvXCIpICE9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGZvbGRlciBleGlzdHMgaW4gdGhlIGluZGV4LiAqL1xuICAgIHB1YmxpYyBmb2xkZXJFeGlzdHMoZm9sZGVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmF1bHQuZ2V0QWJzdHJhY3RGaWxlQnlQYXRoKGZvbGRlciB8fCBcIi9cIikgaW5zdGFuY2VvZiBURm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZSB0aGUgaW4tbWVtb3J5IHByZWZpeCBpbmRleCB0byBjb252ZXJ0IGEgcmVsYXRpdmUgcGF0aCB0byBhbiBhYnNvbHV0ZSBvbmUuXG4gICAgICovXG4gICAgcHVibGljIHJlc29sdmVSZWxhdGl2ZShwYXRoOiBzdHJpbmcsIG9yaWdpbj86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghb3JpZ2luKSByZXR1cm4gcGF0aDtcbiAgICAgICAgZWxzZSBpZiAocGF0aC5zdGFydHNXaXRoKFwiL1wiKSkgcmV0dXJuIHBhdGguc3Vic3RyaW5nKDEpO1xuXG4gICAgICAgIGxldCByZWxhdGl2ZVBhdGggPSBnZXRQYXJlbnRGb2xkZXIob3JpZ2luKSArIFwiL1wiICsgcGF0aDtcbiAgICAgICAgaWYgKHRoaXMucGF0aEV4aXN0cyhyZWxhdGl2ZVBhdGgpKSByZXR1cm4gcmVsYXRpdmVQYXRoO1xuICAgICAgICBlbHNlIHJldHVybiBwYXRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgKndhbGsoZm9sZGVyOiBURm9sZGVyLCBmaWx0ZXI/OiAocGF0aDogc3RyaW5nKSA9PiBib29sZWFuKTogR2VuZXJhdG9yPHN0cmluZz4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZm9sZGVyLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIFRGb2xkZXIpIHtcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy53YWxrKGZpbGUsIGZpbHRlcik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpbHRlciA/IGZpbHRlcihmaWxlLnBhdGgpIDogdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHlpZWxkIGZpbGUucGF0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBFbXB0eSBwbGFjZWhvbGRlciBzZXQuICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgRU1QVFlfU0VUOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcbn1cbiIsICIvKiogVHJhY2tzIGFuIGludmVydGVkIGluZGV4IG9mIHZhbHVlIC0+IHNldFxcPGlkc1xcPi4gKi9cbmV4cG9ydCBjbGFzcyBJbnZlcnRlZEluZGV4PFY+IHtcbiAgICBwcml2YXRlIGludmVydGVkOiBNYXA8ViwgU2V0PHN0cmluZz4+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmludmVydGVkID0gbmV3IE1hcCgpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgdGhlIGtleSB0byB0aGUgZ2l2ZW4gdmFsdWVzLiAqL1xuICAgIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlczogSXRlcmFibGU8Vj4pIHtcbiAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgdmFsdWVzKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaW52ZXJ0ZWQuaGFzKHZhbHVlKSkgdGhpcy5pbnZlcnRlZC5zZXQodmFsdWUsIG5ldyBTZXQoKSk7XG4gICAgICAgICAgICB0aGlzLmludmVydGVkLmdldCh2YWx1ZSkhLmFkZChrZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdldCBhbGwga2V5cyB0aGF0IG1hcCB0byB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gICAgcHVibGljIGdldCh2YWx1ZTogVik6IFNldDxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW52ZXJ0ZWQuZ2V0KHZhbHVlKSA/PyBJbnZlcnRlZEluZGV4LkVNUFRZX1NFVDtcbiAgICB9XG5cbiAgICAvKiogRGVsZXRlIGEga2V5IGZyb20gdGhlIHNldCBvZiBhc3NvY2lhdGVkIHZhbHVlcy4gKi9cbiAgICBwdWJsaWMgZGVsZXRlKGtleTogc3RyaW5nLCB2YWx1ZXM6IEl0ZXJhYmxlPFY+KSB7XG4gICAgICAgIGZvciAobGV0IHZhbHVlIG9mIHZhbHVlcykge1xuICAgICAgICAgICAgY29uc3Qgc2V0ID0gdGhpcy5pbnZlcnRlZC5nZXQodmFsdWUpO1xuICAgICAgICAgICAgaWYgKHNldCkge1xuICAgICAgICAgICAgICAgIHNldC5kZWxldGUoa2V5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNldCAmJiBzZXQuc2l6ZSA9PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnZlcnRlZC5kZWxldGUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmludmVydGVkLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgRU1QVFlfU0VUOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcbn1cbiIsICJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZsYXRRdWV1ZSB7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pZHMgPSBbXTtcbiAgICAgICAgdGhpcy52YWx1ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5sZW5ndGggPSAwO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmxlbmd0aCA9IDA7XG4gICAgfVxuXG4gICAgcHVzaChpZCwgdmFsdWUpIHtcbiAgICAgICAgbGV0IHBvcyA9IHRoaXMubGVuZ3RoKys7XG5cbiAgICAgICAgd2hpbGUgKHBvcyA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IChwb3MgLSAxKSA+PiAxO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50VmFsdWUgPSB0aGlzLnZhbHVlc1twYXJlbnRdO1xuICAgICAgICAgICAgaWYgKHZhbHVlID49IHBhcmVudFZhbHVlKSBicmVhaztcbiAgICAgICAgICAgIHRoaXMuaWRzW3Bvc10gPSB0aGlzLmlkc1twYXJlbnRdO1xuICAgICAgICAgICAgdGhpcy52YWx1ZXNbcG9zXSA9IHBhcmVudFZhbHVlO1xuICAgICAgICAgICAgcG9zID0gcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pZHNbcG9zXSA9IGlkO1xuICAgICAgICB0aGlzLnZhbHVlc1twb3NdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcG9wKCkge1xuICAgICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3QgdG9wID0gdGhpcy5pZHNbMF07XG4gICAgICAgIHRoaXMubGVuZ3RoLS07XG5cbiAgICAgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgaWQgPSB0aGlzLmlkc1swXSA9IHRoaXMuaWRzW3RoaXMubGVuZ3RoXTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZXNbMF0gPSB0aGlzLnZhbHVlc1t0aGlzLmxlbmd0aF07XG4gICAgICAgICAgICBjb25zdCBoYWxmTGVuZ3RoID0gdGhpcy5sZW5ndGggPj4gMTtcbiAgICAgICAgICAgIGxldCBwb3MgPSAwO1xuXG4gICAgICAgICAgICB3aGlsZSAocG9zIDwgaGFsZkxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGxldCBsZWZ0ID0gKHBvcyA8PCAxKSArIDE7XG4gICAgICAgICAgICAgICAgY29uc3QgcmlnaHQgPSBsZWZ0ICsgMTtcbiAgICAgICAgICAgICAgICBsZXQgYmVzdEluZGV4ID0gdGhpcy5pZHNbbGVmdF07XG4gICAgICAgICAgICAgICAgbGV0IGJlc3RWYWx1ZSA9IHRoaXMudmFsdWVzW2xlZnRdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0VmFsdWUgPSB0aGlzLnZhbHVlc1tyaWdodF07XG5cbiAgICAgICAgICAgICAgICBpZiAocmlnaHQgPCB0aGlzLmxlbmd0aCAmJiByaWdodFZhbHVlIDwgYmVzdFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYmVzdEluZGV4ID0gdGhpcy5pZHNbcmlnaHRdO1xuICAgICAgICAgICAgICAgICAgICBiZXN0VmFsdWUgPSByaWdodFZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYmVzdFZhbHVlID49IHZhbHVlKSBicmVhaztcblxuICAgICAgICAgICAgICAgIHRoaXMuaWRzW3Bvc10gPSBiZXN0SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbcG9zXSA9IGJlc3RWYWx1ZTtcbiAgICAgICAgICAgICAgICBwb3MgPSBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmlkc1twb3NdID0gaWQ7XG4gICAgICAgICAgICB0aGlzLnZhbHVlc1twb3NdID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdG9wO1xuICAgIH1cblxuICAgIHBlZWsoKSB7XG4gICAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWRzWzBdO1xuICAgIH1cblxuICAgIHBlZWtWYWx1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXNbMF07XG4gICAgfVxuXG4gICAgc2hyaW5rKCkge1xuICAgICAgICB0aGlzLmlkcy5sZW5ndGggPSB0aGlzLnZhbHVlcy5sZW5ndGggPSB0aGlzLmxlbmd0aDtcbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgQlRyZWUgZnJvbSBcInNvcnRlZC1idHJlZVwiO1xuXG4vKiogR2VuZXJhbCBhYnN0cmFjdGlvbiBmb3IgYWxsIGZpZWxkIGluZGljZXM7IHNvbWUgbWF5IGJlIG9wdGltaXplZCBmb3Igc29tZSB0eXBlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRJbmRleCB7XG4gICAgLy8gVE9ETzogQ2hhbmdlIGFsbCgpIGFuZCBlcXVhbHMoKSB0byByZXR1cm4gRmlsdGVyPHN0cmluZz4gaW5zdGVhZCBmb3IgcGVyZm9ybWFuY2Ugb24gc29tZSBpbmRleCB0eXBlcy5cblxuICAgIC8qKiBBZGQgYW4gKG9iamVjdCwgdmFsdWUpIHBhaXJpbmcgdG8gdGhlIGNvbGxlY3Rpb24uICovXG4gICAgYWRkKGlkOiBzdHJpbmcsIHZhbHVlOiBMaXRlcmFsKTogdm9pZDtcblxuICAgIC8qKiBEZWxldGUgYW4gKG9iamVjdCwgdmFsdWUpIHBhaXJpbmcgZnJvbSB0aGUgY29sbGVjdGlvbi4gKi9cbiAgICBkZWxldGUoaWQ6IHN0cmluZywgdmFsdWU6IExpdGVyYWwpOiB2b2lkO1xuXG4gICAgLyoqIFJldHVybiBhIHNldCBvZiBhbGwgcGFnZXMgaW4gdGhlIGNvbGxlY3Rpb24uICovXG4gICAgYWxsKCk6IFNldDxzdHJpbmc+O1xuXG4gICAgLyoqIEZvciBpbmRpY2VzIHdoaWNoIHN1cHBvcnQgZmFzdCB2YWx1ZSBsb29rdXBzLCByZXR1cm5zIHRoZSBzZXQgb2YgYWxsIGRvY3VtZW50cyB3aXRoIHRoZSBnaXZlbiB2YWx1ZS4gKi9cbiAgICBlcXVhbHModmFsdWU6IExpdGVyYWwpOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZDtcbn1cblxuLyoqIEZpZWxkIGluZGV4IGZvciBhbnkgZmllbGQgd2hpY2ggaXMgYWx3YXlzIG9yIGFsbW9zdCBhbHdheXMgcHJlc2VudCAoJHJldmlzaW9uLCAkdHlwZXMpLiAqL1xuZXhwb3J0IGNsYXNzIEV2ZXJ5dGhpbmdGaWVsZEluZGV4IGltcGxlbWVudHMgRmllbGRJbmRleCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBhbGw6ICgpID0+IFNldDxzdHJpbmc+KSB7fVxuXG4gICAgcHVibGljIGFkZChpZDogc3RyaW5nLCB2YWx1ZTogTGl0ZXJhbCk6IHZvaWQge31cbiAgICBwdWJsaWMgZGVsZXRlKGlkOiBzdHJpbmcsIHZhbHVlOiBMaXRlcmFsKTogdm9pZCB7fVxuXG4gICAgcHVibGljIGVxdWFscyh2YWx1ZTogTGl0ZXJhbCk6IFNldDxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbi8qKiBTcGVjaWFsaXplZCBmaWVsZCBpbmRleCBmb3IgSURzIHdoaWNoIGtub3dzIHRvIGRpcmVjdGx5IGp1c3QgcmV0dXJuIHRoZSBJRC4gKi9cbmV4cG9ydCBjbGFzcyBJZEZpZWxkSW5kZXggaW1wbGVtZW50cyBGaWVsZEluZGV4IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGFsbDogKCkgPT4gU2V0PHN0cmluZz4sIHB1YmxpYyBsb29rdXA6IChpZDogc3RyaW5nKSA9PiBib29sZWFuKSB7fVxuXG4gICAgcHVibGljIGFkZChpZDogc3RyaW5nLCB2YWx1ZTogTGl0ZXJhbCk6IHZvaWQge31cbiAgICBwdWJsaWMgZGVsZXRlKGlkOiBzdHJpbmcsIHZhbHVlOiBMaXRlcmFsKTogdm9pZCB7fVxuXG4gICAgcHVibGljIGVxdWFscyh2YWx1ZTogTGl0ZXJhbCk6IFNldDxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCFMaXRlcmFscy5pc1N0cmluZyh2YWx1ZSkpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHRoaXMubG9va3VwKHZhbHVlIGFzIHN0cmluZykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2V0KFt2YWx1ZSBhcyBzdHJpbmddKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiBEZWZhdWx0IGZpZWxkIGluZGV4IHdoaWNoIHRyYWNrcyBmaWVsZCBsb2NhdGlvbnMgdXNpbmcgYSBzZXQuICovXG5leHBvcnQgY2xhc3MgU2V0RmllbGRJbmRleCBpbXBsZW1lbnRzIEZpZWxkSW5kZXgge1xuICAgIC8qKiBUaGUgSUQgb2YgZXZlcnkgb2JqZWN0IHRoYXQgdGhpcyBmaWVsZCBpcyBwcmVzZW50IG9uLiAqL1xuICAgIHByaXZhdGUgcHJlc2VudDogU2V0PHN0cmluZz47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMucHJlc2VudCA9IG5ldyBTZXQoKTtcbiAgICB9XG5cbiAgICAvKiogQWRkIGFuIChvYmplY3QsIHZhbHVlKSBwYWlyaW5nIHRvIHRoZSBjb2xsZWN0aW9uLiAqL1xuICAgIHB1YmxpYyBhZGQoaWQ6IHN0cmluZywgdmFsdWU6IExpdGVyYWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVzZW50LmFkZChpZCk7XG4gICAgfVxuXG4gICAgLyoqIERlbGV0ZSBhbiAob2JqZWN0LCB2YWx1ZSkgcGFpcmluZyBmcm9tIHRoZSBjb2xsZWN0aW9uLiAqL1xuICAgIHB1YmxpYyBkZWxldGUoaWQ6IHN0cmluZywgdmFsdWU6IExpdGVyYWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVzZW50LmRlbGV0ZShpZCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIHNldCBvZiBhbGwgcGFnZXMgaW4gd2hpY2ggdGhlIGZpZWxkIGV4aXN0cyBhdCBhbGwgKGV2ZW4gaWYgdW5kZWZpbmVkKS4gKi9cbiAgICBwdWJsaWMgYWxsKCk6IFNldDxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlc2VudDtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJuIGFsbCBwYWdlcyB3aXRoIGEgdmFsdWUgZXhhY3RseSBlcXVhbCB0byB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gICAgcHVibGljIGVxdWFscyh2YWx1ZTogTGl0ZXJhbCk6IFNldDxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbi8qKiBGaWVsZCBpbmRleCB3aGljaCB0cmFja3MgZmllbGQgbG9jYXRpb25zIHVzaW5nIGJvdGggYW4gb3ZlcmFsbCBzZXQgYW5kIGEgQlRyZWUgb2YgdmFsdWVzLiAqL1xuZXhwb3J0IGNsYXNzIEJUcmVlRmllbGRJbmRleCBpbXBsZW1lbnRzIEZpZWxkSW5kZXgge1xuICAgIC8qKiBUaGUgSUQgb2YgZXZlcnkgb2JqZWN0IHRoYXQgdGhpcyBmaWVsZCBpcyBwcmVzZW50IG9uLiAqL1xuICAgIHByaXZhdGUgcHJlc2VudDogU2V0PHN0cmluZz47XG4gICAgLyoqIE1hcHMgKHZhbHVlLCBzZXQgb2YgcGFnZXMgY29udGFpbmluZyB0aGF0IHZhbHVlKS4gKi9cbiAgICBwcml2YXRlIHZhbHVlczogQlRyZWU8TGl0ZXJhbCwgU2V0PHN0cmluZz4+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnByZXNlbnQgPSBuZXcgU2V0KCk7XG4gICAgICAgIHRoaXMudmFsdWVzID0gbmV3IEJUcmVlKFtdLCAoYSwgYikgPT4gTGl0ZXJhbHMuY29tcGFyZShhLCBiKSk7XG4gICAgfVxuXG4gICAgLyoqIEFkZCBhbiAob2JqZWN0LCB2YWx1ZSkgcGFpcmluZyB0byB0aGUgY29sbGVjdGlvbi4gKi9cbiAgICBwdWJsaWMgYWRkKGlkOiBzdHJpbmcsIHZhbHVlOiBMaXRlcmFsKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlc2VudC5hZGQoaWQpO1xuXG4gICAgICAgIHRoaXMudmFsdWVzLnNldElmTm90UHJlc2VudCh2YWx1ZSwgbmV3IFNldCgpKTtcbiAgICAgICAgdGhpcy52YWx1ZXMuZ2V0KHZhbHVlKSEuYWRkKGlkKTtcbiAgICB9XG5cbiAgICAvKiogRGVsZXRlIGFuIChvYmplY3QsIHZhbHVlKSBwYWlyaW5nIGZyb20gdGhlIGNvbGxlY3Rpb24uICovXG4gICAgcHVibGljIGRlbGV0ZShpZDogc3RyaW5nLCB2YWx1ZTogTGl0ZXJhbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXNlbnQuZGVsZXRlKGlkKTtcblxuICAgICAgICBjb25zdCBzZXQgPSB0aGlzLnZhbHVlcy5nZXQodmFsdWUpO1xuICAgICAgICBzZXQ/LmRlbGV0ZShpZCk7XG5cbiAgICAgICAgaWYgKHNldCA9PSBudWxsIHx8IHNldC5zaXplID09IDApIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmV0dXJuIGEgc2V0IG9mIGFsbCBwYWdlcyBpbiB3aGljaCB0aGUgZmllbGQgZXhpc3RzIGF0IGFsbCAoZXZlbiBpZiB1bmRlZmluZWQpLiAqL1xuICAgIHB1YmxpYyBhbGwoKTogU2V0PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVzZW50O1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm4gYWxsIHBhZ2VzIHdpdGggYSB2YWx1ZSBleGFjdGx5IGVxdWFsIHRvIHRoZSBnaXZlbiB2YWx1ZS4gKi9cbiAgICBwdWJsaWMgZXF1YWxzKHZhbHVlOiBMaXRlcmFsKTogU2V0PHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZ2V0KHZhbHVlLCBCVHJlZUZpZWxkSW5kZXguRU1QVFlfU0VUKTtcbiAgICB9XG5cbiAgICAvKiogUGxhY2Vob2xkZXIgZW1wdHkgc2V0LiAqL1xuICAgIHByaXZhdGUgc3RhdGljIEVNUFRZX1NFVCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xufVxuIiwgIi8qKiBQcm92aWRlcyBhIGdsb2JhbCBkaXNwYXRjaCB0YWJsZSBmb3IgZXZhbHVhdGluZyBiaW5hcnkgb3BlcmF0b3JzLCBpbmNsdWRpbmcgY29tcGFyaXNvbi4gKi9cbmltcG9ydCB7IExpdGVyYWxSZXByLCBMaXRlcmFsVHlwZSwgTGl0ZXJhbCwgTGl0ZXJhbHMsIExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBub3JtYWxpemVEdXJhdGlvbiB9IGZyb20gXCJ1dGlscy9ub3JtYWxpemVyc1wiO1xuaW1wb3J0IHsgUmVzdWx0IH0gZnJvbSBcImFwaS9yZXN1bHRcIjtcbmltcG9ydCB7IEJpbmFyeU9wLCBFeHByZXNzaW9ucyB9IGZyb20gXCJleHByZXNzaW9uL2V4cHJlc3Npb25cIjtcbmltcG9ydCB0eXBlIHsgRXZhbHVhdG9yIH0gZnJvbSBcImV4cHJlc3Npb24vZXZhbHVhdG9yXCI7XG5pbXBvcnQgeyBEYXRlVGltZSwgRHVyYXRpb24gfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcInNldHRpbmdzXCI7XG5pbXBvcnQgeyBGaWVsZGJlYXJpbmdzIH0gZnJvbSBcIi4vZmllbGRcIjtcblxuLyoqIEEgbGl0ZXJhbCB0eXBlIG9yIGEgY2F0Y2gtYWxsICcqJy4gKi9cbmV4cG9ydCB0eXBlIExpdGVyYWxUeXBlT3JBbGwgPSBMaXRlcmFsVHlwZSB8IFwiKlwiO1xuXG4vKiogTWFwcyBhIGxpdGVyYWwgdHlwZSBvciB0aGUgY2F0Y2gtYWxsICcqJy4gKi9cbmV4cG9ydCB0eXBlIExpdGVyYWxSZXByQWxsPFQgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsPiA9IFQgZXh0ZW5kcyBcIipcIlxuICAgID8gTGl0ZXJhbFxuICAgIDogVCBleHRlbmRzIExpdGVyYWxUeXBlXG4gICAgPyBMaXRlcmFsUmVwcjxUPlxuICAgIDogYW55O1xuXG4vKiogQW4gaW1wbGVtZW50YXRpb24gZm9yIGEgYmluYXJ5IG9wZXJhdG9yLiAqL1xuZXhwb3J0IHR5cGUgQmluYXJ5T3BJbXBsPEEgZXh0ZW5kcyBMaXRlcmFsLCBCIGV4dGVuZHMgTGl0ZXJhbD4gPSAoZmlyc3Q6IEEsIHNlY29uZDogQiwgY3R4OiBFdmFsdWF0b3IpID0+IExpdGVyYWw7XG4vKiogQmluYXJ5IG9wZXJhdG9yIHdoaWNoIGNhbiBmYWlsIGFuZCBwcm9kdWNlIGFuIGVycm9yLiAqL1xuZXhwb3J0IHR5cGUgQmluYXJ5T3BSZXN1bHRJbXBsPEEgZXh0ZW5kcyBMaXRlcmFsLCBCIGV4dGVuZHMgTGl0ZXJhbD4gPSAoXG4gICAgZmlyc3Q6IEEsXG4gICAgc2Vjb25kOiBCLFxuICAgIGN0eDogRXZhbHVhdG9yXG4pID0+IFJlc3VsdDxMaXRlcmFsLCBzdHJpbmc+O1xuLyoqIEFuIGltcGxlbWVudGF0aW9uIG9mIGEgY29tcGFyYXRvciAocmV0dXJuaW5nIGEgbnVtYmVyKSB3aGljaCB0aGVuIGF1dG9tYXRpY2FsbHkgZGVmaW5lcyBhbGwgb2YgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3JzLiAqL1xuZXhwb3J0IHR5cGUgQ29tcGFyZUltcGw8VCBleHRlbmRzIExpdGVyYWw+ID0gKGZpcnN0OiBULCBzZWNvbmQ6IFQsIGN0eDogRXZhbHVhdG9yKSA9PiBudW1iZXI7XG5cbi8qKiBQcm92aWRlcyBpbXBsZW1lbnRhdGlvbnMgZm9yIGJpbmFyeSBvcGVyYXRvcnMgb24gdHdvIHR5cGVzIHVzaW5nIGEgcmVnaXN0cnkuICovXG5leHBvcnQgY2xhc3MgQmluYXJ5T3BIYW5kbGVyIHtcbiAgICBwcml2YXRlIG1hcDogTWFwPHN0cmluZywgQmluYXJ5T3BSZXN1bHRJbXBsPGFueSwgYW55Pj47XG4gICAgcHJpdmF0ZSBoYW5kbGVEZWZhdWx0TnVsbHM6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBCaW5hcnlPcEhhbmRsZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubWFwID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLmhhbmRsZURlZmF1bHROdWxscyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlcjxUIGV4dGVuZHMgTGl0ZXJhbFR5cGVPckFsbCwgVSBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGw+KFxuICAgICAgICBsZWZ0OiBULFxuICAgICAgICBvcDogQmluYXJ5T3AsXG4gICAgICAgIHJpZ2h0OiBVLFxuICAgICAgICBmdW5jOiBCaW5hcnlPcEltcGw8TGl0ZXJhbFJlcHJBbGw8VD4sIExpdGVyYWxSZXByQWxsPFU+PlxuICAgICk6IEJpbmFyeU9wSGFuZGxlciB7XG4gICAgICAgIHRoaXMubWFwLnNldChCaW5hcnlPcEhhbmRsZXIucmVwcihvcCwgbGVmdCwgcmlnaHQpLCAoYSwgYiwgYykgPT4gUmVzdWx0LnN1Y2Nlc3MoZnVuYyhhLCBiLCBjKSkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJSZXN1bHQ8VCBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGwsIFUgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsPihcbiAgICAgICAgbGVmdDogVCxcbiAgICAgICAgb3A6IEJpbmFyeU9wLFxuICAgICAgICByaWdodDogVSxcbiAgICAgICAgZnVuYzogQmluYXJ5T3BSZXN1bHRJbXBsPExpdGVyYWxSZXByQWxsPFQ+LCBMaXRlcmFsUmVwckFsbDxVPj5cbiAgICApOiBCaW5hcnlPcEhhbmRsZXIge1xuICAgICAgICB0aGlzLm1hcC5zZXQoQmluYXJ5T3BIYW5kbGVyLnJlcHIob3AsIGxlZnQsIHJpZ2h0KSwgZnVuYyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckNvbW08VCBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGwsIFUgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsPihcbiAgICAgICAgbGVmdDogVCxcbiAgICAgICAgb3A6IEJpbmFyeU9wLFxuICAgICAgICByaWdodDogVSxcbiAgICAgICAgZnVuYzogQmluYXJ5T3BJbXBsPExpdGVyYWxSZXByQWxsPFQ+LCBMaXRlcmFsUmVwckFsbDxVPj5cbiAgICApOiBCaW5hcnlPcEhhbmRsZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWdpc3RlcihsZWZ0LCBvcCwgcmlnaHQsIGZ1bmMpLnJlZ2lzdGVyKHJpZ2h0LCBvcCwgbGVmdCwgKGEsIGIsIGN0eCkgPT4gZnVuYyhiLCBhLCBjdHgpKTtcbiAgICB9XG5cbiAgICAvKiogSWYgZW5hYmxlZCwgYWxsIG51bGwgKG9wKSBudWxsIG9wZXJhdGlvbnMgcHJvZHVjZSBudWxsLiAqL1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdE51bGxIYW5kbGluZygpOiBCaW5hcnlPcEhhbmRsZXIge1xuICAgICAgICB0aGlzLmhhbmRsZURlZmF1bHROdWxscyA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKiBJbXBsZW1lbnQgYSBjb21wYXJpc29uIGZ1bmN0aW9uLiAqL1xuICAgIHB1YmxpYyBjb21wYXJlPFQgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsPih0eXBlOiBULCBjb21wYXJlOiBDb21wYXJlSW1wbDxMaXRlcmFsUmVwckFsbDxUPj4pOiBCaW5hcnlPcEhhbmRsZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWdpc3Rlcih0eXBlLCBcIjxcIiwgdHlwZSwgKGEsIGIsIGN0eCkgPT4gY29tcGFyZShhLCBiLCBjdHgpIDwgMClcbiAgICAgICAgICAgIC5yZWdpc3Rlcih0eXBlLCBcIjw9XCIsIHR5cGUsIChhLCBiLCBjdHgpID0+IGNvbXBhcmUoYSwgYiwgY3R4KSA8PSAwKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKHR5cGUsIFwiPlwiLCB0eXBlLCAoYSwgYiwgY3R4KSA9PiBjb21wYXJlKGEsIGIsIGN0eCkgPiAwKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKHR5cGUsIFwiPj1cIiwgdHlwZSwgKGEsIGIsIGN0eCkgPT4gY29tcGFyZShhLCBiLCBjdHgpID49IDApXG4gICAgICAgICAgICAucmVnaXN0ZXIodHlwZSwgXCI9XCIsIHR5cGUsIChhLCBiLCBjdHgpID0+IGNvbXBhcmUoYSwgYiwgY3R4KSA9PSAwKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKHR5cGUsIFwiIT1cIiwgdHlwZSwgKGEsIGIsIGN0eCkgPT4gY29tcGFyZShhLCBiLCBjdHgpICE9IDApO1xuICAgIH1cblxuICAgIC8qKiBBdHRlbXB0IHRvIGV2YWx1YXRlIHRoZSBnaXZlbiBiaW5hcnkgb3BlcmF0b3Igb24gdGhlIHR3byBsaXRlcmFsIGZpZWxkcy4gKi9cbiAgICBwdWJsaWMgZXZhbHVhdGUob3A6IEJpbmFyeU9wLCBsZWZ0OiBMaXRlcmFsLCByaWdodDogTGl0ZXJhbCwgY3R4OiBFdmFsdWF0b3IpOiBSZXN1bHQ8TGl0ZXJhbCwgc3RyaW5nPiB7XG4gICAgICAgIGxldCBsZWZ0VHlwZSA9IExpdGVyYWxzLnR5cGVPZihsZWZ0KTtcbiAgICAgICAgbGV0IHJpZ2h0VHlwZSA9IExpdGVyYWxzLnR5cGVPZihyaWdodCk7XG4gICAgICAgIGlmICghbGVmdFR5cGUpIHJldHVybiBSZXN1bHQuZmFpbHVyZShgVW5yZWNvZ25pemVkIHZhbHVlICcke2xlZnR9J2ApO1xuICAgICAgICBlbHNlIGlmICghcmlnaHRUeXBlKSByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYFVucmVjb2duaXplZCB2YWx1ZSAnJHtyaWdodH0nYCk7XG5cbiAgICAgICAgLy8gUXVpY2sgY2FzZTogaGFuZGxlIG51bGwgKG9wKSBudWxsIGJ5IGRlZmF1bHQgaWYgZW5hYmxlZC5cbiAgICAgICAgaWYgKHRoaXMuaGFuZGxlRGVmYXVsdE51bGxzICYmIGxlZnRUeXBlID09PSBcIm51bGxcIiAmJiByaWdodFR5cGUgPT09IFwibnVsbFwiKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobnVsbCk7XG5cbiAgICAgICAgbGV0IGhhbmRsZXIgPSB0aGlzLm1hcC5nZXQoQmluYXJ5T3BIYW5kbGVyLnJlcHIob3AsIGxlZnRUeXBlLCByaWdodFR5cGUpKTtcbiAgICAgICAgaWYgKGhhbmRsZXIpIHJldHVybiBoYW5kbGVyKGxlZnQsIHJpZ2h0LCBjdHgpO1xuXG4gICAgICAgIC8vIFJpZ2h0LScqJyBmYWxsYmFjazpcbiAgICAgICAgbGV0IGhhbmRsZXIyID0gdGhpcy5tYXAuZ2V0KEJpbmFyeU9wSGFuZGxlci5yZXByKG9wLCBsZWZ0VHlwZSwgXCIqXCIpKTtcbiAgICAgICAgaWYgKGhhbmRsZXIyKSByZXR1cm4gaGFuZGxlcjIobGVmdCwgcmlnaHQsIGN0eCk7XG5cbiAgICAgICAgLy8gTGVmdC0nKicgZmFsbGJhY2s6XG4gICAgICAgIGxldCBoYW5kbGVyMyA9IHRoaXMubWFwLmdldChCaW5hcnlPcEhhbmRsZXIucmVwcihvcCwgXCIqXCIsIHJpZ2h0VHlwZSkpO1xuICAgICAgICBpZiAoaGFuZGxlcjMpIHJldHVybiBoYW5kbGVyMyhsZWZ0LCByaWdodCwgY3R4KTtcblxuICAgICAgICAvLyBEb3VibGUgJyonIGZhbGxiYWNrLlxuICAgICAgICBsZXQgaGFuZGxlcjQgPSB0aGlzLm1hcC5nZXQoQmluYXJ5T3BIYW5kbGVyLnJlcHIob3AsIFwiKlwiLCBcIipcIikpO1xuICAgICAgICBpZiAoaGFuZGxlcjQpIHJldHVybiBoYW5kbGVyNChsZWZ0LCByaWdodCwgY3R4KTtcblxuICAgICAgICByZXR1cm4gUmVzdWx0LmZhaWx1cmUoYE5vIGltcGxlbWVudGF0aW9uIGZvdW5kIGZvciAnJHtsZWZ0VHlwZX0gJHtvcH0gJHtyaWdodFR5cGV9J2ApO1xuICAgIH1cblxuICAgIC8qKiBDcmVhdGUgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIHRyaXBsZXQgZm9yIHVuaXF1ZSBsb29rdXAgaW4gdGhlIG1hcC4gKi9cbiAgICBwdWJsaWMgc3RhdGljIHJlcHIob3A6IEJpbmFyeU9wLCBsZWZ0OiBMaXRlcmFsVHlwZU9yQWxsLCByaWdodDogTGl0ZXJhbFR5cGVPckFsbCkge1xuICAgICAgICByZXR1cm4gYCR7bGVmdH0sJHtvcH0sJHtyaWdodH1gO1xuICAgIH1cbn1cblxuLyoqIENvbmZpZ3VyZSBhbmQgY3JlYXRlIGEgYmluYXJ5IE9QIGhhbmRsZXIgd2l0aCB0aGUgZ2l2ZW4gcGFyYW1ldGVycy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCaW5hcnlPcHMobGlua05vcm1hbGl6ZXI6ICh4OiBzdHJpbmcpID0+IHN0cmluZyk6IEJpbmFyeU9wSGFuZGxlciB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgQmluYXJ5T3BIYW5kbGVyLmNyZWF0ZSgpXG4gICAgICAgICAgICAuY29tcGFyZShcIipcIiwgKGEsIGIpID0+IExpdGVyYWxzLmNvbXBhcmUoYSwgYiwgbGlua05vcm1hbGl6ZXIpKVxuICAgICAgICAgICAgLy8gR2xvYmFsIGJvb2xlYW4gb3BlcmF0aW9ucy5cbiAgICAgICAgICAgIC5yZWdpc3RlcihcIipcIiwgXCImXCIsIFwiKlwiLCAoYSwgYikgPT4gTGl0ZXJhbHMuaXNUcnV0aHkoYSkgJiYgTGl0ZXJhbHMuaXNUcnV0aHkoYikpXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCIqXCIsIFwifFwiLCBcIipcIiwgKGEsIGIpID0+IExpdGVyYWxzLmlzVHJ1dGh5KGEpIHx8IExpdGVyYWxzLmlzVHJ1dGh5KGIpKVxuICAgICAgICAgICAgLy8gTnVtYmVyIGltcGxlbWVudGF0aW9ucy5cbiAgICAgICAgICAgIC5yZWdpc3RlcihcIm51bWJlclwiLCBcIitcIiwgXCJudW1iZXJcIiwgKGEsIGIpID0+IGEgKyBiKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwibnVtYmVyXCIsIFwiLVwiLCBcIm51bWJlclwiLCAoYSwgYikgPT4gYSAtIGIpXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJudW1iZXJcIiwgXCIqXCIsIFwibnVtYmVyXCIsIChhLCBiKSA9PiBhICogYilcbiAgICAgICAgICAgIC5yZWdpc3RlcihcIm51bWJlclwiLCBcIi9cIiwgXCJudW1iZXJcIiwgKGEsIGIpID0+IGEgLyBiKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwibnVtYmVyXCIsIFwiJVwiLCBcIm51bWJlclwiLCAoYSwgYikgPT4gYSAlIGIpXG4gICAgICAgICAgICAvLyBTdHJpbmcgaW1wbGVtZW50YXRpb25zLlxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwic3RyaW5nXCIsIFwiK1wiLCBcIipcIiwgKGEsIGIsIGN0eCkgPT4gYSArIExpdGVyYWxzLnRvU3RyaW5nKGIsIHN0cmluZ1NldHRpbmdzKGN0eC5zZXR0aW5ncykpKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiKlwiLCBcIitcIiwgXCJzdHJpbmdcIiwgKGEsIGIsIGN0eCkgPT4gTGl0ZXJhbHMudG9TdHJpbmcoYSwgc3RyaW5nU2V0dGluZ3MoY3R4LnNldHRpbmdzKSkgKyBiKVxuICAgICAgICAgICAgLnJlZ2lzdGVyQ29tbShcInN0cmluZ1wiLCBcIipcIiwgXCJudW1iZXJcIiwgKGEsIGIpID0+IChiIDwgMCA/IFwiXCIgOiBhLnJlcGVhdChiKSkpXG4gICAgICAgICAgICAvLyBEYXRlIE9wZXJhdGlvbnMuXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJkYXRlXCIsIFwiLVwiLCBcImRhdGVcIiwgKGEsIGIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplRHVyYXRpb24oXG4gICAgICAgICAgICAgICAgICAgIGEuZGlmZihiLCBbXCJ5ZWFyc1wiLCBcIm1vbnRoc1wiLCBcImRheXNcIiwgXCJob3Vyc1wiLCBcIm1pbnV0ZXNcIiwgXCJzZWNvbmRzXCIsIFwibWlsbGlzZWNvbmRzXCJdKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiZGF0ZVwiLCBcIi1cIiwgXCJkdXJhdGlvblwiLCAoYSwgYikgPT4gYS5taW51cyhiKSlcbiAgICAgICAgICAgIC5yZWdpc3RlckNvbW0oXCJkYXRlXCIsIFwiK1wiLCBcImR1cmF0aW9uXCIsIChhLCBiKSA9PiBhLnBsdXMoYikpXG4gICAgICAgICAgICAvLyBEdXJhdGlvbiBPcGVyYXRpb25zLlxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiZHVyYXRpb25cIiwgXCIrXCIsIFwiZHVyYXRpb25cIiwgKGEsIGIpID0+IG5vcm1hbGl6ZUR1cmF0aW9uKGEucGx1cyhiKSkpXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJkdXJhdGlvblwiLCBcIi1cIiwgXCJkdXJhdGlvblwiLCAoYSwgYikgPT4gbm9ybWFsaXplRHVyYXRpb24oYS5taW51cyhiKSkpXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJkdXJhdGlvblwiLCBcIi9cIiwgXCJudW1iZXJcIiwgKGEsIGIpID0+IG5vcm1hbGl6ZUR1cmF0aW9uKGEubWFwVW5pdHMoKHgpID0+IHggLyBiKSkpXG4gICAgICAgICAgICAucmVnaXN0ZXJDb21tKFwiZHVyYXRpb25cIiwgXCIqXCIsIFwibnVtYmVyXCIsIChhLCBiKSA9PiBub3JtYWxpemVEdXJhdGlvbihhLm1hcFVuaXRzKCh4KSA9PiB4ICogYikpKVxuICAgICAgICAgICAgLy8gQXJyYXkgb3BlcmF0aW9ucy5cbiAgICAgICAgICAgIC5yZWdpc3RlcihcImFycmF5XCIsIFwiK1wiLCBcImFycmF5XCIsIChhLCBiKSA9PiAoW10gYXMgTGl0ZXJhbFtdKS5jb25jYXQoYSkuY29uY2F0KGIpKVxuICAgICAgICAgICAgLy8gT2JqZWN0IG9wZXJhdGlvbnMuXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJvYmplY3RcIiwgXCIrXCIsIFwib2JqZWN0XCIsIChhLCBiKSA9PiBPYmplY3QuYXNzaWduKHt9LCBhLCBiKSlcbiAgICAgICAgICAgIC8vIEluZGV4IG9wZXJhdGlvbnMuXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJhcnJheVwiLCBcImluZGV4XCIsIFwibnVtYmVyXCIsIChhcnIsIGlkeCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpZHggPCAwIHx8IGlkeCA+PSBhcnIubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJyW2lkeF07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnJlZ2lzdGVyUmVzdWx0KFwiYXJyYXlcIiwgXCJpbmRleFwiLCBcInN0cmluZ1wiLCAoYXJyLCBrZXksIGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYXJyLmxlbmd0aCA9PSAwKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoW10pO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGFycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IGNvbnRleHQuZXZhbHVhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBFeHByZXNzaW9ucy5pbmRleChFeHByZXNzaW9ucy5saXRlcmFsKGVsZW1lbnQpLCBFeHByZXNzaW9ucy5saXRlcmFsKGtleSkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzb2x2ZWQuc3VjY2Vzc2Z1bCkgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKHJlc29sdmVkLmVycm9yKTtcblxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChyZXNvbHZlZC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHJlc3VsdCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwib2JqZWN0XCIsIFwiaW5kZXhcIiwgXCJzdHJpbmdcIiwgKG9iaiwga2V5KSA9PiBGaWVsZGJlYXJpbmdzLmdldChvYmosIGtleSkgPz8gbnVsbClcbiAgICAgICAgICAgIC5yZWdpc3RlclJlc3VsdChcImxpbmtcIiwgXCJpbmRleFwiLCBcInN0cmluZ1wiLCBpbmRleExpbmspXG4gICAgICAgICAgICAucmVnaXN0ZXJSZXN1bHQoXCJsaW5rXCIsIFwiaW5kZXhcIiwgXCJudW1iZXJcIiwgaW5kZXhMaW5rKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwib2JqZWN0XCIsIFwiaW5kZXhcIiwgXCJudW1iZXJcIiwgKG9iaiwga2V5KSA9PiBvYmpba2V5XSA/PyBudWxsKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwic3RyaW5nXCIsIFwiaW5kZXhcIiwgXCJudW1iZXJcIiwgKHN0ciwgaWR4KSA9PiAoaWR4IDwgMCB8fCBpZHggPj0gc3RyLmxlbmd0aCA/IG51bGwgOiBzdHJbaWR4XSkpXG4gICAgICAgICAgICAucmVnaXN0ZXIoXCJkYXRlXCIsIFwiaW5kZXhcIiwgXCJzdHJpbmdcIiwgaW5kZXhEYXRlKVxuICAgICAgICAgICAgLnJlZ2lzdGVyKFwiZHVyYXRpb25cIiwgXCJpbmRleFwiLCBcInN0cmluZ1wiLCBpbmRleER1cmF0aW9uKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0TnVsbEhhbmRsaW5nKClcbiAgICApO1xufVxuXG4vKiogQ29udmVydCBoaWdoIGxldmVsIHNldHRpbmdzIHRvIHNldHRpbmdzIHVzZWQgZm9yIHN0cmluZyByZW5kZXJpbmcuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nU2V0dGluZ3Moc2V0dGluZ3M6IFNldHRpbmdzKTogTGl0ZXJhbHMuVG9TdHJpbmdTZXR0aW5ncyB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZGF0ZUZvcm1hdDogc2V0dGluZ3MuZGVmYXVsdERhdGVGb3JtYXQsXG4gICAgICAgIGRhdGVUaW1lRm9ybWF0OiBzZXR0aW5ncy5kZWZhdWx0RGF0ZVRpbWVGb3JtYXQsXG4gICAgICAgIG51bGxSZXByZXNlbnRhdGlvbjogc2V0dGluZ3MucmVuZGVyTnVsbEFzLFxuICAgIH07XG59XG5cbi8qKiBBbGxvd3MgeW91IHRvIGluZGV4IGludG8gbGlua3MgdG8gZ2V0IG1ldGFkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluZGV4TGluayhsaW5rOiBMaW5rLCBrZXk6IHN0cmluZyB8IG51bWJlciwgY29udGV4dDogRXZhbHVhdG9yKTogUmVzdWx0PExpdGVyYWwsIHN0cmluZz4ge1xuICAgIGNvbnN0IG9iamVjdCA9IGNvbnRleHQubGlua0hhbmRsZXIucmVzb2x2ZShsaW5rKTtcbiAgICBpZiAoIW9iamVjdCkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKG51bGwpO1xuXG4gICAgcmV0dXJuIGNvbnRleHQuZXZhbHVhdGUoRXhwcmVzc2lvbnMuaW5kZXgoRXhwcmVzc2lvbnMubGl0ZXJhbChvYmplY3QpLCBFeHByZXNzaW9ucy5saXRlcmFsKGtleSkpKTtcbn1cblxuLyoqIEluZGV4IGludG8gYSBkYXRlLCBwcm9kdWNpbmcgdmFyaW91cyB1c2VmdWwgZmllbGRzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluZGV4RGF0ZShkYXRlOiBEYXRlVGltZSwga2V5OiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlIFwieWVhclwiOlxuICAgICAgICAgICAgcmV0dXJuIGRhdGUueWVhcjtcbiAgICAgICAgY2FzZSBcIm1vbnRoXCI6XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS5tb250aDtcbiAgICAgICAgY2FzZSBcImRheVwiOlxuICAgICAgICAgICAgcmV0dXJuIGRhdGUuZGF5O1xuICAgICAgICBjYXNlIFwiaG91clwiOlxuICAgICAgICAgICAgcmV0dXJuIGRhdGUuaG91cjtcbiAgICAgICAgY2FzZSBcIm1pbnV0ZVwiOlxuICAgICAgICAgICAgcmV0dXJuIGRhdGUubWludXRlO1xuICAgICAgICBjYXNlIFwic2Vjb25kXCI6XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS5zZWNvbmQ7XG4gICAgICAgIGNhc2UgXCJtaWxsaXNlY29uZFwiOlxuICAgICAgICAgICAgcmV0dXJuIGRhdGUubWlsbGlzZWNvbmQ7XG4gICAgICAgIGNhc2UgXCJ3ZWVrXCI6XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS53ZWVrTnVtYmVyO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG4vKiogSW5kZXggaW50byBhIGR1cmF0aW9uLCBwcm9kdWNpbmcgdmFyaW91cyB1c2VmdWwgZmllbGRzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluZGV4RHVyYXRpb24oZHVyOiBEdXJhdGlvbiwga2V5OiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlIFwieWVhcnNcIjpcbiAgICAgICAgICAgIHJldHVybiBkdXIueWVhcnM7XG4gICAgICAgIGNhc2UgXCJtb250aHNcIjpcbiAgICAgICAgICAgIHJldHVybiBkdXIubW9udGhzO1xuICAgICAgICBjYXNlIFwiZGF5c1wiOlxuICAgICAgICAgICAgcmV0dXJuIGR1ci5kYXlzO1xuICAgICAgICBjYXNlIFwiaG91cnNcIjpcbiAgICAgICAgICAgIHJldHVybiBkdXIuaG91cnM7XG4gICAgICAgIGNhc2UgXCJtaW51dGVzXCI6XG4gICAgICAgICAgICByZXR1cm4gZHVyLm1pbnV0ZXM7XG4gICAgICAgIGNhc2UgXCJzZWNvbmRzXCI6XG4gICAgICAgICAgICByZXR1cm4gZHVyLnNlY29uZHM7XG4gICAgICAgIGNhc2UgXCJtaWxsaXNlY29uZHNcIjpcbiAgICAgICAgICAgIHJldHVybiBkdXIubWlsbGlzZWNvbmRzO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIiwgIi8qKiBEZWZhdWx0IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucyBmb3IgdGhlIGV4cHJlc3Npb24gZXZhbHVhdG9yLiAqL1xuXG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgTGl0ZXJhbFR5cGUsIExpbmssIExpdGVyYWwsIExpdGVyYWxzIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuaW1wb3J0IHsgZXNjYXBlUmVnZXgsIGN1cnJlbnRMb2NhbGUgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCB7IExpdGVyYWxSZXByQWxsLCBMaXRlcmFsVHlwZU9yQWxsLCBzdHJpbmdTZXR0aW5ncyB9IGZyb20gXCJleHByZXNzaW9uL2JpbmFyeW9wXCI7XG5pbXBvcnQgeyBFdmFsdWF0b3IgfSBmcm9tIFwiZXhwcmVzc2lvbi9ldmFsdWF0b3JcIjtcbmltcG9ydCB7IEV4cHJlc3Npb25zIH0gZnJvbSBcImV4cHJlc3Npb24vZXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgUFJJTUlUSVZFUyB9IGZyb20gXCJleHByZXNzaW9uL3BhcnNlclwiO1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gd2hpY2ggdGFrZXMgaW4gYSBmdW5jdGlvbiBjb250ZXh0IGFuZCBhIHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMuIFRocm93cyBhbiBlcnJvciBpZiBhblxuICogaW52YWxpZCBudW1iZXIvdHlwZSBvZiBhcmd1bWVudHMgYXJlIHBhc3NlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRnVuY3Rpb25JbXBsID0gKGNvbnRleHQ6IEV2YWx1YXRvciwgLi4ucmVzdDogTGl0ZXJhbFtdKSA9PiBMaXRlcmFsO1xuLyoqIEEgXCJib3VuZFwiIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIHdoaWNoIGhhcyBhbHJlYWR5IGhhZCBhIGZ1bmN0aW9uIGNvbnRleHQgcGFzc2VkIHRvIGl0LiAqL1xuZXhwb3J0IHR5cGUgQm91bmRGdW5jdGlvbkltcGwgPSAoLi4uYXJnczogTGl0ZXJhbFtdKSA9PiBMaXRlcmFsO1xuXG4vKiogQSBmdW5jdGlvbiB2YXJpYW50IHVzZWQgaW4gdGhlIGZ1bmN0aW9uIGJ1aWxkZXIgd2hpY2ggaG9sZHMgdGhlIGFyZ3VtZW50IHR5cGVzLiAqL1xuaW50ZXJmYWNlIEZ1bmN0aW9uVmFyaWFudCB7XG4gICAgYXJnczogTGl0ZXJhbFR5cGVPckFsbFtdO1xuICAgIHZhcmFyZ3M6IGJvb2xlYW47XG4gICAgLyoqIFRoZSBpbXBsZW1lbnRpbmcgZnVuY3Rpb24gZm9yIHRoaXMgc3BlY2lmaWMgdmFyaWFudC4gKi9cbiAgICBpbXBsOiBGdW5jdGlvbkltcGw7XG59XG5cbi8qKlxuICogQWxsb3dzIGZvciB0aGUgY3JlYXRpb24gb2YgZnVuY3Rpb25zIHRoYXQgY2hlY2sgdGhlIG51bWJlciBhbmQgdHlwZSBvZiB0aGVpciBhcmd1bWVudHMsIGFuZCBkaXNwYXRjaFxuICogdG8gZGlmZmVyZW50IGltcGxlbWVuYXRpb25zIGJhc2VkIG9uIHRoZSB0eXBlcyBvZiB0aGUgaW5wdXRzLlxuICovXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25CdWlsZGVyIHtcbiAgICB2YXJpYW50czogRnVuY3Rpb25WYXJpYW50W107XG4gICAgdmVjdG9yaXplZDogUmVjb3JkPG51bWJlciwgbnVtYmVyW10+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy52YXJpYW50cyA9IFtdO1xuICAgICAgICB0aGlzLnZlY3Rvcml6ZWQgPSB7fTtcbiAgICB9XG5cbiAgICAvKiogQWRkIGEgZ2VuZXJhbCBmdW5jdGlvbiB2YXJpYW50IHdoaWNoIGFjY2VwdHMgYW55IG51bWJlciBvZiBhcmd1bWVudHMgb2YgYW55IHR5cGUuICovXG4gICAgcHVibGljIHZhcmFyZyhpbXBsOiBGdW5jdGlvbkltcGwpOiBGdW5jdGlvbkJ1aWxkZXIge1xuICAgICAgICB0aGlzLnZhcmlhbnRzLnB1c2goeyBhcmdzOiBbXSwgdmFyYXJnczogdHJ1ZSwgaW1wbCB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqIEFkZCBhIGZ1bmN0aW9uIHZhcmlhbnQgd2hpY2ggdGFrZXMgaW4gYSBzaW5nbGUgYXJndW1lbnQuICovXG4gICAgcHVibGljIGFkZDE8VCBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGw+KFxuICAgICAgICBhcmdUeXBlOiBULFxuICAgICAgICBpbXBsOiAoYTogTGl0ZXJhbFJlcHJBbGw8VD4sIGNvbnRleHQ6IEV2YWx1YXRvcikgPT4gTGl0ZXJhbFxuICAgICk6IEZ1bmN0aW9uQnVpbGRlciB7XG4gICAgICAgIHRoaXMudmFyaWFudHMucHVzaCh7XG4gICAgICAgICAgICBhcmdzOiBbYXJnVHlwZV0sXG4gICAgICAgICAgICB2YXJhcmdzOiBmYWxzZSxcbiAgICAgICAgICAgIGltcGw6IChjLCAuLi5yZXN0KSA9PiBpbXBsKHJlc3RbMF0gYXMgTGl0ZXJhbFJlcHJBbGw8VD4sIGMpLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqIEFkZCBhIGZ1bmN0aW9uIHZhcmlhbnQgd2hpY2ggdGFrZXMgaW4gdHdvIHR5cGVkIGFyZ3VtZW50cy4gKi9cbiAgICBwdWJsaWMgYWRkMjxUIGV4dGVuZHMgTGl0ZXJhbFR5cGVPckFsbCwgVSBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGw+KFxuICAgICAgICBhcmcxOiBULFxuICAgICAgICBhcmcyOiBVLFxuICAgICAgICBpbXBsOiAoYTogTGl0ZXJhbFJlcHJBbGw8VD4sIGI6IExpdGVyYWxSZXByQWxsPFU+LCBjb250ZXh0OiBFdmFsdWF0b3IpID0+IExpdGVyYWxcbiAgICApOiBGdW5jdGlvbkJ1aWxkZXIge1xuICAgICAgICB0aGlzLnZhcmlhbnRzLnB1c2goe1xuICAgICAgICAgICAgYXJnczogW2FyZzEsIGFyZzJdLFxuICAgICAgICAgICAgdmFyYXJnczogZmFsc2UsXG4gICAgICAgICAgICBpbXBsOiAoYywgLi4ucmVzdCkgPT4gaW1wbChyZXN0WzBdIGFzIExpdGVyYWxSZXByQWxsPFQ+LCByZXN0WzFdIGFzIExpdGVyYWxSZXByQWxsPFU+LCBjKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKiBBZGQgYSBmdW5jdGlvbiB2YXJpYW50IHdoaWNoIHRha2VzIGluIHRocmVlIHR5cGVkIGFyZ3VtZW50cy4gKi9cbiAgICBwdWJsaWMgYWRkMzxUIGV4dGVuZHMgTGl0ZXJhbFR5cGVPckFsbCwgVSBleHRlbmRzIExpdGVyYWxUeXBlT3JBbGwsIFYgZXh0ZW5kcyBMaXRlcmFsVHlwZU9yQWxsPihcbiAgICAgICAgYXJnMTogVCxcbiAgICAgICAgYXJnMjogVSxcbiAgICAgICAgYXJnMzogVixcbiAgICAgICAgaW1wbDogKGE6IExpdGVyYWxSZXByQWxsPFQ+LCBiOiBMaXRlcmFsUmVwckFsbDxVPiwgYzogTGl0ZXJhbFJlcHJBbGw8Vj4sIGNvbnRleHQ6IEV2YWx1YXRvcikgPT4gTGl0ZXJhbFxuICAgICk6IEZ1bmN0aW9uQnVpbGRlciB7XG4gICAgICAgIHRoaXMudmFyaWFudHMucHVzaCh7XG4gICAgICAgICAgICBhcmdzOiBbYXJnMSwgYXJnMiwgYXJnM10sXG4gICAgICAgICAgICB2YXJhcmdzOiBmYWxzZSxcbiAgICAgICAgICAgIGltcGw6IChjLCAuLi5yZXN0KSA9PlxuICAgICAgICAgICAgICAgIGltcGwocmVzdFswXSBhcyBMaXRlcmFsUmVwckFsbDxUPiwgcmVzdFsxXSBhcyBMaXRlcmFsUmVwckFsbDxVPiwgcmVzdFsyXSBhcyBMaXRlcmFsUmVwckFsbDxWPiwgYyksXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKiogQWRkIHZlY3Rvcml6ZWQgdmFyaWFudHMgd2hpY2ggYWNjZXB0IHRoZSBnaXZlbiBudW1iZXIgb2YgYXJndW1lbnRzIGFuZCBkZWxlZ2F0ZS4gKi9cbiAgICBwdWJsaWMgdmVjdG9yaXplKG51bUFyZ3M6IG51bWJlciwgcG9zaXRpb25zOiBudW1iZXJbXSk6IEZ1bmN0aW9uQnVpbGRlciB7XG4gICAgICAgIHRoaXMudmVjdG9yaXplZFtudW1BcmdzXSA9IHBvc2l0aW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybiBhIGZ1bmN0aW9uIHdoaWNoIGNoZWNrcyB0aGUgbnVtYmVyIGFuZCB0eXBlIG9mIGFyZ3VtZW50cywgcGFzc2luZyB0aGVtIG9uIHRvIHRoZSBmaXJzdCBtYXRjaGluZyB2YXJpYW50LiAqL1xuICAgIHB1YmxpYyBidWlsZCgpOiBGdW5jdGlvbkltcGwge1xuICAgICAgICBsZXQgc2VsZjogRnVuY3Rpb25JbXBsID0gKGNvbnRleHQ6IEV2YWx1YXRvciwgLi4uYXJnczogTGl0ZXJhbFtdKSA9PiB7XG4gICAgICAgICAgICBsZXQgdHlwZXM6IExpdGVyYWxUeXBlW10gPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGFyZyBvZiBhcmdzKSB7XG4gICAgICAgICAgICAgICAgbGV0IGFyZ1R5cGUgPSBMaXRlcmFscy50eXBlT2YoYXJnKTtcbiAgICAgICAgICAgICAgICBpZiAoIWFyZ1R5cGUpIHRocm93IEVycm9yKGBVbnJlY29nbml6ZWQgYXJndW1lbnQgdHlwZSBmb3IgYXJndW1lbnQgJyR7YXJnfSdgKTtcbiAgICAgICAgICAgICAgICB0eXBlcy5wdXNoKGFyZ1R5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIYW5kbGUgdmVjdG9yaXphdGlvbiwgcG9zc2libHkgaW4gbXVsdGlwbGUgZmllbGRzLlxuICAgICAgICAgICAgaWYgKHRoaXMudmVjdG9yaXplZFt0eXBlcy5sZW5ndGhdKSB7XG4gICAgICAgICAgICAgICAgbGV0IHZlY3Rvcml6ZWRQb3NpdGlvbnMgPSB0aGlzLnZlY3Rvcml6ZWRbdHlwZXMubGVuZ3RoXS5maWx0ZXIoKGspID0+IHR5cGVzW2tdID09IFwiYXJyYXlcIik7XG4gICAgICAgICAgICAgICAgaWYgKHZlY3Rvcml6ZWRQb3NpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbWluTGVuZ3RoID0gdmVjdG9yaXplZFBvc2l0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgocCkgPT4gKGFyZ3NbcF0gYXMgYW55W10pLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IE1hdGgubWluKHAsIGMpKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBDYWxsIHRoZSBzdWJmdW5jdGlvbiBmb3IgZWFjaCBlbGVtZW50IGluIHRoZSBsb25nZXN0IGFycmF5LlxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB5b3UgY2FsbCBhIHZlY3Rvcml6ZWQgZnVuY3Rpb24gd2l0aCBkaWZmZXJlbnQtbGVuZ3RoIGFycmF5cyxcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG91dHB1dCBpcyBsaW1pdGVkIGJ5IHRoZSBsZW5ndGggb2YgdGhlIHNob3J0ZXN0IGFycmF5LlxuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHZwb3MgPSAwOyB2cG9zIDwgbWluTGVuZ3RoOyB2cG9zKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdWJhcmdzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJncy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVjdG9yaXplZFBvc2l0aW9ucy5pbmNsdWRlcyhpbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGFyciA9IGFyZ3NbaW5kZXhdIGFzIGFueVtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJhcmdzLnB1c2goYXJyW3Zwb3NdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJhcmdzLnB1c2goYXJnc1tpbmRleF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goc2VsZihjb250ZXh0LCAuLi5zdWJhcmdzKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb3V0ZXI6IGZvciAobGV0IHZhcmlhbnQgb2YgdGhpcy52YXJpYW50cykge1xuICAgICAgICAgICAgICAgIGlmICh2YXJpYW50LnZhcmFyZ3MpIHJldHVybiB2YXJpYW50LmltcGwoY29udGV4dCwgLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgaWYgKHZhcmlhbnQuYXJncy5sZW5ndGggIT0gdHlwZXMubGVuZ3RoKSBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB2YXJpYW50LmFyZ3MubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YXJpYW50LmFyZ3NbaW5kZXhdICE9IFwiKlwiICYmIHZhcmlhbnQuYXJnc1tpbmRleF0gIT0gdHlwZXNbaW5kZXhdKSBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFyaWFudC5pbXBsKGNvbnRleHQsIC4uLmFyZ3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gaW1wbGVtZW50YXRpb24gb2YgJyR7dGhpcy5uYW1lfScgZm91bmQgZm9yIGFyZ3VtZW50czogJHt0eXBlcy5qb2luKFwiLCBcIil9YCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHNlbGY7XG4gICAgfVxufVxuXG4vKiogVXRpbGl0aWVzIGZvciBtYW5hZ2luZyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMuICovXG5leHBvcnQgbmFtZXNwYWNlIEZ1bmN0aW9ucyB7XG4gICAgLyoqIEJpbmQgYSBjb250ZXh0IHRvIGEgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24sIHlpZWxkaW5nIGEgZnVuY3Rpb24gd2hpY2ggZG9lcyBub3QgbmVlZCB0aGUgY29udGV4dCBhcmd1bWVudC4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gYmluZChmdW5jOiBGdW5jdGlvbkltcGwsIGNvbnRleHQ6IEV2YWx1YXRvcik6IEJvdW5kRnVuY3Rpb25JbXBsIHtcbiAgICAgICAgcmV0dXJuICguLi5hcmdzOiBMaXRlcmFsW10pID0+IGZ1bmMoY29udGV4dCwgLi4uYXJncyk7XG4gICAgfVxuXG4gICAgLyoqIEJpbmQgYSBjb250ZXh0IHRvIGFsbCBmdW5jdGlvbnMgaW4gdGhlIGdpdmVuIG1hcCwgeWllbGRpbmcgYSBuZXcgbWFwIG9mIGJvdW5kIGZ1bmN0aW9ucy4gKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gYmluZEFsbChcbiAgICAgICAgZnVuY3M6IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uSW1wbD4sXG4gICAgICAgIGNvbnRleHQ6IEV2YWx1YXRvclxuICAgICk6IFJlY29yZDxzdHJpbmcsIEJvdW5kRnVuY3Rpb25JbXBsPiB7XG4gICAgICAgIGxldCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIEJvdW5kRnVuY3Rpb25JbXBsPiA9IHt9O1xuICAgICAgICBmb3IgKGxldCBba2V5LCBmdW5jXSBvZiBPYmplY3QuZW50cmllcyhmdW5jcykpIHtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gRnVuY3Rpb25zLmJpbmQoZnVuYywgY29udGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGFsbCBkZWZpbmVkIGZ1bmN0aW9uczsgZGVmaW5lZCBoZXJlIHNvIHRoYXQgdGhleSBjYW4gYmUgY2FsbGVkIGZyb20gd2l0aGluIGRhdGF2aWV3LFxuICogYW5kIHRlc3QgY29kZS5cbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBEZWZhdWx0RnVuY3Rpb25zIHtcbiAgICBleHBvcnQgY29uc3QgdHlwZU9mID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInR5cGVcIilcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAoXykgPT4gXCJhcnJheVwiKVxuICAgICAgICAuYWRkMShcImJvb2xlYW5cIiwgKF8pID0+IFwiYm9vbGVhblwiKVxuICAgICAgICAuYWRkMShcImRhdGVcIiwgKF8pID0+IFwiZGF0ZVwiKVxuICAgICAgICAuYWRkMShcImR1cmF0aW9uXCIsIChfKSA9PiBcImR1cmF0aW9uXCIpXG4gICAgICAgIC5hZGQxKFwiZnVuY3Rpb25cIiwgKF8pID0+IFwiZnVuY3Rpb25cIilcbiAgICAgICAgLmFkZDEoXCJsaW5rXCIsIChfKSA9PiBcImxpbmtcIilcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsIChfKSA9PiBcIm51bGxcIilcbiAgICAgICAgLmFkZDEoXCJudW1iZXJcIiwgKF8pID0+IFwibnVtYmVyXCIpXG4gICAgICAgIC5hZGQxKFwib2JqZWN0XCIsIChfKSA9PiBcIm9iamVjdFwiKVxuICAgICAgICAuYWRkMShcInN0cmluZ1wiLCAoXykgPT4gXCJzdHJpbmdcIilcbiAgICAgICAgLmFkZDEoXCIqXCIsIChfKSA9PiBcInVua25vd25cIilcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvKiogQ29tcHV0ZSB0aGUgbGVuZ3RoIG9mIGEgZGF0YSB0eXBlLiAqL1xuICAgIGV4cG9ydCBjb25zdCBsZW5ndGggPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibGVuZ3RoXCIpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKGEpID0+IGEubGVuZ3RoKVxuICAgICAgICAuYWRkMShcIm9iamVjdFwiLCAoYSkgPT4gT2JqZWN0LmtleXMoYSkubGVuZ3RoKVxuICAgICAgICAuYWRkMShcInN0cmluZ1wiLCAoYSkgPT4gYS5sZW5ndGgpXG4gICAgICAgIC5hZGQxKFwibnVsbFwiLCAoX2EpID0+IDApXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLyoqIExpc3QgY29uc3RydWN0b3IgZnVuY3Rpb24uICovXG4gICAgZXhwb3J0IGNvbnN0IGxpc3Q6IEZ1bmN0aW9uSW1wbCA9IChfY29udGV4dCwgLi4uYXJncykgPT4gYXJncztcblxuICAgIC8qKiBPYmplY3QgY29uc3RydWN0b3IgZnVuY3Rpb24uICovXG4gICAgZXhwb3J0IGNvbnN0IG9iamVjdDogRnVuY3Rpb25JbXBsID0gKF9jb250ZXh0LCAuLi5hcmdzKSA9PiB7XG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCAlIDIgIT0gMCkgdGhyb3cgRXJyb3IoXCJvYmplY3QoKSByZXF1aXJlcyBhbiBldmVuIG51bWJlciBvZiBhcmd1bWVudHNcIik7XG4gICAgICAgIGxldCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIExpdGVyYWw+ID0ge307XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhcmdzLmxlbmd0aDsgaW5kZXggKz0gMikge1xuICAgICAgICAgICAgbGV0IGtleSA9IGFyZ3NbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKCFMaXRlcmFscy5pc1N0cmluZyhrZXkpKSB0aHJvdyBFcnJvcihcImtleXMgc2hvdWxkIGJlIG9mIHR5cGUgc3RyaW5nIGZvciBvYmplY3Qoa2V5MSwgdmFsdWUxLCAuLi4pXCIpO1xuICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBhcmdzW2luZGV4ICsgMV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICAvKiogSW50ZXJuYWwgbGluayBjb25zdHJ1Y3RvciBmdW5jdGlvbi4gKi9cbiAgICBleHBvcnQgY29uc3QgbGluazogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImxpbmtcIilcbiAgICAgICAgLmFkZDEoXCJzdHJpbmdcIiwgKGEsIGMpID0+IExpbmsuZmlsZShjLmxpbmtIYW5kbGVyLm5vcm1hbGl6ZShhKSwgZmFsc2UpKVxuICAgICAgICAuYWRkMShcImxpbmtcIiwgKGEpID0+IGEpXG4gICAgICAgIC5hZGQxKFwibnVsbFwiLCAoX2EpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMSwgWzBdKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAodCwgZCwgYykgPT4gTGluay5maWxlKGMubGlua0hhbmRsZXIubm9ybWFsaXplKHQpLCBmYWxzZSwgZCkpXG4gICAgICAgIC5hZGQzKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIFwiYm9vbGVhblwiLCAodCwgZCwgZSwgYykgPT4gTGluay5maWxlKGMubGlua0hhbmRsZXIubm9ybWFsaXplKHQpLCBlLCBkKSlcbiAgICAgICAgLmFkZDIoXCJsaW5rXCIsIFwic3RyaW5nXCIsICh0LCBkKSA9PiB0LndpdGhEaXNwbGF5KGQpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKHQsIF9uLCBjKSA9PiBsaW5rKGMsIHQpKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswLCAxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvKiogRW1iZWQgYW5kIHVuLWVtYmVkIGEgbGluay4gKi9cbiAgICBleHBvcnQgY29uc3QgZW1iZWQ6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJlbWJlZFwiKVxuICAgICAgICAuYWRkMShcImxpbmtcIiwgKGwpID0+IGwudG9FbWJlZCgpKVxuICAgICAgICAudmVjdG9yaXplKDEsIFswXSlcbiAgICAgICAgLmFkZDIoXCJsaW5rXCIsIFwiYm9vbGVhblwiLCAobCwgZSwgYykgPT4gKGUgPyBsLnRvRW1iZWQoKSA6IGwuZnJvbUVtYmVkKCkpKVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzAsIDFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8qKiBEYXRlIGNvbnN0cnVjdG9yIGZ1bmN0aW9uLiAqL1xuICAgIGV4cG9ydCBjb25zdCBkYXRlID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImRhdGVcIilcbiAgICAgICAgLmFkZDEoXCJzdHJpbmdcIiwgKHN0cikgPT4ge1xuICAgICAgICAgICAgbGV0IHBhcnNlZERhdGUgPSBQUklNSVRJVkVTLmRhdGVQbHVzLnBhcnNlKHN0cik7XG4gICAgICAgICAgICBpZiAocGFyc2VkRGF0ZS5zdGF0dXMpIHJldHVybiBwYXJzZWREYXRlLnZhbHVlO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gbnVsbDtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDEoXCJkYXRlXCIsIChkKSA9PiBkKVxuICAgICAgICAuYWRkMShcImxpbmtcIiwgKGxpbmssIGMpID0+IHtcbiAgICAgICAgICAgIC8vIFRyeSB0byBwYXJzZSBmcm9tIHRoZSBkaXNwbGF5Li4uXG4gICAgICAgICAgICBpZiAobGluay5kaXNwbGF5KSB7XG4gICAgICAgICAgICAgICAgbGV0IHBhcnNlZERhdGUgPSBQUklNSVRJVkVTLmRhdGUucGFyc2UobGluay5kaXNwbGF5KTtcbiAgICAgICAgICAgICAgICBpZiAocGFyc2VkRGF0ZS5zdGF0dXMpIHJldHVybiBwYXJzZWREYXRlLnZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUaGVuIHRyeSB0byBwYXJzZSBmcm9tIHRoZSBwYXRoLi4uXG4gICAgICAgICAgICBsZXQgcGFyc2VkRGF0ZSA9IFBSSU1JVElWRVMuZGF0ZS5wYXJzZShsaW5rLnBhdGgpO1xuICAgICAgICAgICAgaWYgKHBhcnNlZERhdGUuc3RhdHVzKSByZXR1cm4gcGFyc2VkRGF0ZS52YWx1ZTtcblxuICAgICAgICAgICAgLy8gVGhlbiBwdWxsIGl0IGZyb20gdGhlIGZpbGUuXG4gICAgICAgICAgICBsZXQgcmVzb2x2ZWQgPSBjLmxpbmtIYW5kbGVyLnJlc29sdmUobGluay5wYXRoKTtcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCAmJiAocmVzb2x2ZWQgYXMgYW55KT8uZmlsZT8uZGF5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChyZXNvbHZlZCBhcyBhbnkpPy5maWxlPy5kYXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAoZCwgZikgPT4ge1xuICAgICAgICAgICAgaWYgKGYgPT09IFwieFwiIHx8IGYgPT09IFwiWFwiKSB7XG4gICAgICAgICAgICAgICAgbGV0IG1hdGNoID0gTlVNQkVSX1JFR0VYLmV4ZWMoZCk7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoKSByZXR1cm4gRGF0ZVRpbWUuZnJvbU1pbGxpcyhOdW1iZXIucGFyc2VJbnQobWF0Y2hbMF0pICogKGYgPT09IFwiWFwiID8gMTAwMCA6IDEpKTtcbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJOb3QgYSBudW1iZXIgZm9yIGZvcm1hdCggKCR7IGYgfSk6ICR7IGQgfVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBwYXJzZWREYXRlID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChkLCBmKTtcbiAgICAgICAgICAgICAgICBpZiAocGFyc2VkRGF0ZS5pc1ZhbGlkKSByZXR1cm4gcGFyc2VkRGF0ZTtcbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYENhbid0IGhhbmRsZSBmb3JtYXQgKCR7Zn0pIG9uIGRhdGUgc3RyaW5nICgke2R9KWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMSwgWzBdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8qKiBEdXJhdGlvbiBjb25zdHJ1Y3RvciBmdW5jdGlvbi4gKi9cbiAgICBleHBvcnQgY29uc3QgZHVyID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImR1clwiKVxuICAgICAgICAuYWRkMShcInN0cmluZ1wiLCAoc3RyKSA9PiB7XG4gICAgICAgICAgICBsZXQgcGFyc2VkRHVyID0gUFJJTUlUSVZFUy5kdXJhdGlvbi5wYXJzZShzdHIudHJpbSgpKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWREdXIuc3RhdHVzKSByZXR1cm4gcGFyc2VkRHVyLnZhbHVlO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gbnVsbDtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDEoXCJkdXJhdGlvblwiLCAoZCkgPT4gZClcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsIChkKSA9PiBkKVxuICAgICAgICAudmVjdG9yaXplKDEsIFswXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvKiogRm9ybWF0IGEgZGF0ZSB1c2luZyBhIGx1eG9uL21vbWVudC1zdHlsZSBkYXRlIGZvcm1hdC4gKi9cbiAgICBleHBvcnQgY29uc3QgZGF0ZWZvcm1hdCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJkYXRlZm9ybWF0XCIpXG4gICAgICAgIC5hZGQyKFwiZGF0ZVwiLCBcInN0cmluZ1wiLCAoZGF0ZSwgZm9ybWF0KSA9PiBkYXRlLnRvRm9ybWF0KGZvcm1hdCwgeyBsb2NhbGU6IGN1cnJlbnRMb2NhbGUoKSB9KSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwic3RyaW5nXCIsIChfbnVsLCBfZm9ybWF0KSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgbG9jYWx0aW1lID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImxvY2FsdGltZVwiKVxuICAgICAgICAuYWRkMShcImRhdGVcIiwgKGQpID0+IGQudG9Mb2NhbCgpKVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgxLCBbMF0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgY29uc3QgTlVNQkVSX1JFR0VYID0gLy0/WzAtOV0rKFxcLlswLTldKyk/LztcblxuICAgIC8qKiBOdW1iZXIgY29uc3RydWN0b3IgZnVuY3Rpb24uICovXG4gICAgZXhwb3J0IGNvbnN0IG51bWJlciA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJudW1iZXJcIilcbiAgICAgICAgLmFkZDEoXCJudW1iZXJcIiwgKGEpID0+IGEpXG4gICAgICAgIC5hZGQxKFwic3RyaW5nXCIsIChzdHIpID0+IHtcbiAgICAgICAgICAgIGxldCBtYXRjaCA9IE5VTUJFUl9SRUdFWC5leGVjKHN0cik7XG4gICAgICAgICAgICBpZiAobWF0Y2gpIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdChtYXRjaFswXSk7XG4gICAgICAgICAgICBlbHNlIHJldHVybiBudWxsO1xuICAgICAgICB9KVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgxLCBbMF0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydCBhbnkgdmFsdWUgdG8gYSByZWFzb25hYmxlIGludGVybmFsIHN0cmluZyByZXByZXNlbnRhdGlvbi4gTW9zdCB1c2VmdWwgZm9yIGRhdGVzLCBzdHJpbmdzLCBudW1iZXJzLCBhbmRcbiAgICAgKiBzbyBvbi5cbiAgICAgKi9cbiAgICBleHBvcnQgY29uc3Qgc3RyaW5nID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInN0cmluZ1wiKVxuICAgICAgICAuYWRkMShcIipcIiwgKGEsIGN0eCkgPT4gTGl0ZXJhbHMudG9TdHJpbmcoYSwgc3RyaW5nU2V0dGluZ3MoY3R4LnNldHRpbmdzKSkpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IHJvdW5kID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInJvdW5kXCIpXG4gICAgICAgIC5hZGQxKFwibnVtYmVyXCIsIChuKSA9PiBNYXRoLnJvdW5kKG4pKVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgxLCBbMF0pXG4gICAgICAgIC5hZGQyKFwibnVtYmVyXCIsIFwibnVtYmVyXCIsIChuLCBwKSA9PiB7XG4gICAgICAgICAgICBpZiAocCA8PSAwKSByZXR1cm4gTWF0aC5yb3VuZChuKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KG4udG9GaXhlZChwKSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQyKFwibnVtYmVyXCIsIFwibnVsbFwiLCAobikgPT4gTWF0aC5yb3VuZChuKSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgbWluOiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibWluXCIpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKGEsIF9uKSA9PiBhKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsIChfbiwgYSkgPT4gYSlcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwiKlwiLCAoYSwgYiwgY3R4KSA9PiAoTGl0ZXJhbHMuY29tcGFyZShhLCBiLCBjdHgubGlua0hhbmRsZXIubm9ybWFsaXplKSA8PSAwID8gYSA6IGIpKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhLCBjdHgpID0+IG1pbihjdHgsIC4uLmEpKVxuICAgICAgICAudmFyYXJnKChjdHgsIC4uLmFyZ3MpID0+IChhcmdzLmxlbmd0aCA9PSAwID8gbnVsbCA6IGFyZ3MucmVkdWNlKChwLCBjKSA9PiBtaW4oY3R4LCBwLCBjKSkpKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBtYXg6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJtYXhcIilcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwibnVsbFwiLCAoYSwgX24pID0+IGEpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKF9uLCBhKSA9PiBhKVxuICAgICAgICAuYWRkMihcIipcIiwgXCIqXCIsIChhLCBiLCBjdHgpID0+IChMaXRlcmFscy5jb21wYXJlKGEsIGIsIGN0eC5saW5rSGFuZGxlci5ub3JtYWxpemUpID4gMCA/IGEgOiBiKSlcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAoYSwgY3R4KSA9PiBtYXgoY3R4LCAuLi5hKSlcbiAgICAgICAgLnZhcmFyZygoY3R4LCAuLi5hcmdzKSA9PiAoYXJncy5sZW5ndGggPT0gMCA/IG51bGwgOiBhcmdzLnJlZHVjZSgocCwgYykgPT4gbWF4KGN0eCwgcCwgYykpKSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgbWluYnk6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJtaW5ieVwiKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiZnVuY3Rpb25cIiwgKGFyciwgZnVuYywgY3R4KSA9PiB7XG4gICAgICAgICAgICBpZiAoYXJyLmxlbmd0aCA9PSAwKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgbGV0IHZhbHVlcyA9IGFyci5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogdiwgbWFwcGVkOiBmdW5jKGN0eCwgdikgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbGV0IGZpbHRlcmVkID0gdmFsdWVzLmZpbHRlcigodikgPT4gIUxpdGVyYWxzLmlzTnVsbCh2Lm1hcHBlZCkpO1xuICAgICAgICAgICAgaWYgKGZpbHRlcmVkLmxlbmd0aCA9PSAwKSByZXR1cm4gYXJyWzBdO1xuXG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyZWQucmVkdWNlKChwLCBjKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKExpdGVyYWxzLmNvbXBhcmUocC5tYXBwZWQsIGMubWFwcGVkLCBjdHgubGlua0hhbmRsZXIubm9ybWFsaXplKSA8PSAwKSByZXR1cm4gcDtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBjO1xuICAgICAgICAgICAgfSkudmFsdWU7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcImZ1bmN0aW9uXCIsIChfYXJyLCBfZnVuYywgX2N0eCkgPT4gbnVsbClcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgbWF4Ynk6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJtYXhieVwiKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiZnVuY3Rpb25cIiwgKGFyciwgZnVuYywgY3R4KSA9PiB7XG4gICAgICAgICAgICBpZiAoYXJyLmxlbmd0aCA9PSAwKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgbGV0IHZhbHVlcyA9IGFyci5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogdiwgbWFwcGVkOiBmdW5jKGN0eCwgdikgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbGV0IGZpbHRlcmVkID0gdmFsdWVzLmZpbHRlcigodikgPT4gIUxpdGVyYWxzLmlzTnVsbCh2Lm1hcHBlZCkpO1xuICAgICAgICAgICAgaWYgKGZpbHRlcmVkLmxlbmd0aCA9PSAwKSByZXR1cm4gYXJyWzBdO1xuXG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyZWQucmVkdWNlKChwLCBjKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKExpdGVyYWxzLmNvbXBhcmUocC5tYXBwZWQsIGMubWFwcGVkLCBjdHgubGlua0hhbmRsZXIubm9ybWFsaXplKSA+IDApIHJldHVybiBwO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIGM7XG4gICAgICAgICAgICB9KS52YWx1ZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiZnVuY3Rpb25cIiwgKF9hcnIsIF9mdW5jLCBfY3R4KSA9PiBudWxsKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBzdHJpcHRpbWUgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwic3RyaXB0aW1lXCIpXG4gICAgICAgIC5hZGQxKFwiZGF0ZVwiLCAoZCkgPT4gRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXI6IGQueWVhciwgbW9udGg6IGQubW9udGgsIGRheTogZC5kYXkgfSkpXG4gICAgICAgIC5hZGQxKFwibnVsbFwiLCAoX24pID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMSwgWzBdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8vIERlZmF1bHQgY29udGFpbnMsIHdoaWNoIGxvb2tzIHRocm91Z2ggZGF0YSBzdHJ1Y3R1cmVzIHJlY3Vyc2l2ZWx5LlxuICAgIGV4cG9ydCBjb25zdCBjb250YWluczogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImNvbnRhaW5zXCIpXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCIqXCIsIChsLCBlbGVtLCBjb250ZXh0KSA9PiBsLnNvbWUoKGUpID0+IGNvbnRhaW5zKGNvbnRleHQsIGUsIGVsZW0pKSlcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJzdHJpbmdcIiwgKGhheXN0YWNrLCBuZWVkbGUpID0+IGhheXN0YWNrLmluY2x1ZGVzKG5lZWRsZSkpXG4gICAgICAgIC5hZGQyKFwib2JqZWN0XCIsIFwic3RyaW5nXCIsIChvYmosIGtleSkgPT4ga2V5IGluIG9iailcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwiKlwiLCAoZWxlbTEsIGVsZW0yLCBjb250ZXh0KSA9PlxuICAgICAgICAgICAgY29udGV4dFxuICAgICAgICAgICAgICAgIC5ldmFsdWF0ZShFeHByZXNzaW9ucy5iaW5hcnlPcChFeHByZXNzaW9ucy5saXRlcmFsKGVsZW0xKSwgXCI9XCIsIEV4cHJlc3Npb25zLmxpdGVyYWwoZWxlbTIpKSlcbiAgICAgICAgICAgICAgICAub3JFbHNlVGhyb3coKVxuICAgICAgICApXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8vIENhc2UgaW5zZW5zaXRpdmUgdmVyc2lvbiBvZiBjb250YWlucy5cbiAgICBleHBvcnQgY29uc3QgaWNvbnRhaW5zOiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiaWNvbnRhaW5zXCIpXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCIqXCIsIChsLCBlbGVtLCBjb250ZXh0KSA9PiBsLnNvbWUoKGUpID0+IGljb250YWlucyhjb250ZXh0LCBlLCBlbGVtKSkpXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIChoYXlzdGFjaywgbmVlZGxlKSA9PlxuICAgICAgICAgICAgaGF5c3RhY2sudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhuZWVkbGUudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgKVxuICAgICAgICAuYWRkMihcIm9iamVjdFwiLCBcInN0cmluZ1wiLCAob2JqLCBrZXkpID0+IGtleSBpbiBvYmopXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIipcIiwgKGVsZW0xLCBlbGVtMiwgY29udGV4dCkgPT5cbiAgICAgICAgICAgIGNvbnRleHRcbiAgICAgICAgICAgICAgICAuZXZhbHVhdGUoRXhwcmVzc2lvbnMuYmluYXJ5T3AoRXhwcmVzc2lvbnMubGl0ZXJhbChlbGVtMSksIFwiPVwiLCBFeHByZXNzaW9ucy5saXRlcmFsKGVsZW0yKSkpXG4gICAgICAgICAgICAgICAgLm9yRWxzZVRocm93KClcbiAgICAgICAgKVxuICAgICAgICAudmVjdG9yaXplKDIsIFsxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyBcImV4YWN0XCIgY29udGFpbnMsIGRvZXMgbm90IGxvb2sgcmVjdXJzaXZlbHkuXG4gICAgZXhwb3J0IGNvbnN0IGVjb250YWluczogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImVjb250YWluc1wiKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiKlwiLCAobCwgZWxlbSwgY29udGV4dCkgPT5cbiAgICAgICAgICAgIGwuc29tZSgoZSkgPT5cbiAgICAgICAgICAgICAgICBjb250ZXh0XG4gICAgICAgICAgICAgICAgICAgIC5ldmFsdWF0ZShFeHByZXNzaW9ucy5iaW5hcnlPcChFeHByZXNzaW9ucy5saXRlcmFsKGVsZW0pLCBcIj1cIiwgRXhwcmVzc2lvbnMubGl0ZXJhbChlKSkpXG4gICAgICAgICAgICAgICAgICAgIC5vckVsc2VUaHJvdygpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJzdHJpbmdcIiwgKGhheXN0YWNrLCBuZWVkbGUpID0+IGhheXN0YWNrLmluY2x1ZGVzKG5lZWRsZSkpXG4gICAgICAgIC5hZGQyKFwib2JqZWN0XCIsIFwic3RyaW5nXCIsIChvYmosIGtleSkgPT4ga2V5IGluIG9iailcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwiKlwiLCAoZWxlbTEsIGVsZW0yLCBjb250ZXh0KSA9PlxuICAgICAgICAgICAgY29udGV4dFxuICAgICAgICAgICAgICAgIC5ldmFsdWF0ZShFeHByZXNzaW9ucy5iaW5hcnlPcChFeHByZXNzaW9ucy5saXRlcmFsKGVsZW0xKSwgXCI9XCIsIEV4cHJlc3Npb25zLmxpdGVyYWwoZWxlbTIpKSlcbiAgICAgICAgICAgICAgICAub3JFbHNlVGhyb3coKVxuICAgICAgICApXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIC8vIENhc2UgaW5zZW5zaXRpdmUgY29udGFpbnMgd2hpY2ggbG9va3MgZm9yIGV4YWN0IHdvcmQgbWF0Y2hlcyAoaS5lLiwgYm91bmRyeS10by1ib3VuZHJ5IG1hdGNoKS5cbiAgICBleHBvcnQgY29uc3QgY29udGFpbnN3b3JkOiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiY29udGFpbnN3b3JkXCIpXG4gICAgICAgIC5hZGQyKFxuICAgICAgICAgICAgXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwic3RyaW5nXCIsXG4gICAgICAgICAgICAoaGF5LCBuZWVkbGUpID0+ICEhaGF5Lm1hdGNoKG5ldyBSZWdFeHAoXCIuKlxcXFxiXCIgKyBlc2NhcGVSZWdleChuZWVkbGUpICsgXCJcXFxcYi4qXCIsIFwiaVwiKSlcbiAgICAgICAgKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsIChfYSwgX2IpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKF9hLCBfYikgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLyoqIEV4dHJhY3QgMCBvciBtb3JlIGtleXMgZnJvbSBhIGdpdmVuIG9iamVjdCB2aWEgaW5kZXhpbmcuICovXG4gICAgZXhwb3J0IGNvbnN0IGV4dHJhY3Q6IEZ1bmN0aW9uSW1wbCA9IChjb250ZXh0OiBFdmFsdWF0b3IsIC4uLmFyZ3M6IExpdGVyYWxbXSkgPT4ge1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT0gMCkgcmV0dXJuIFwiZXh0cmFjdChvYmplY3QsIGtleTEsIC4uLikgcmVxdWlyZXMgYXQgbGVhc3QgMSBhcmd1bWVudFwiO1xuXG4gICAgICAgIC8vIE1hbnVhbGx5IGhhbmRsZSB2ZWN0b3JpemF0aW9uIGluIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAgICAgICAgbGV0IG9iamVjdCA9IGFyZ3NbMF07XG4gICAgICAgIGlmIChMaXRlcmFscy5pc0FycmF5KG9iamVjdCkpIHJldHVybiBvYmplY3QubWFwKCh2KSA9PiBleHRyYWN0KGNvbnRleHQsIHYsIC4uLmFyZ3Muc2xpY2UoMSkpKTtcblxuICAgICAgICBsZXQgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBMaXRlcmFsPiA9IHt9O1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgYXJncy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGxldCBrZXkgPSBhcmdzW2luZGV4XTtcbiAgICAgICAgICAgIGlmICghTGl0ZXJhbHMuaXNTdHJpbmcoa2V5KSkgdGhyb3cgRXJyb3IoXCJleHRyYWN0KG9iamVjdCwga2V5MSwgLi4uKSBtdXN0IGJlIGNhbGxlZCB3aXRoIHN0cmluZyBrZXlzXCIpO1xuXG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IGNvbnRleHRcbiAgICAgICAgICAgICAgICAuZXZhbHVhdGUoRXhwcmVzc2lvbnMuaW5kZXgoRXhwcmVzc2lvbnMubGl0ZXJhbChvYmplY3QpLCBFeHByZXNzaW9ucy5saXRlcmFsKGtleSkpKVxuICAgICAgICAgICAgICAgIC5vckVsc2VUaHJvdygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgLy8gUmV2ZXJzZSBhbiBhcnJheSBvciBzdHJpbmcuXG4gICAgZXhwb3J0IGNvbnN0IHJldmVyc2UgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwicmV2ZXJzZVwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChsKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IGwubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkgcmVzdWx0LnB1c2gobFtpbmRleF0pO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDEoXCJzdHJpbmdcIiwgKGwpID0+IHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xuICAgICAgICAgICAgZm9yIChsZXQgYyA9IDA7IGMgPCBsLmxlbmd0aDsgYysrKSByZXN1bHQgKz0gbFtsLmxlbmd0aCAtIGMgLSAxXTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQxKFwiKlwiLCAoZSkgPT4gZSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyBTb3J0IGFuIGFycmF5OyBpZiBnaXZlbiB0d28gYXJndW1lbnRzLCBzb3J0cyBieSB0aGUga2V5IHJldHVybmVkLlxuICAgIGV4cG9ydCBjb25zdCBzb3J0OiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwic29ydFwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChsaXN0LCBjb250ZXh0KSA9PiBzb3J0KGNvbnRleHQsIGxpc3QsIChfY3R4OiBFdmFsdWF0b3IsIGE6IExpdGVyYWwpID0+IGEpKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiZnVuY3Rpb25cIiwgKGxpc3QsIGtleSwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IChbXSBhcyBMaXRlcmFsW10pLmNvbmNhdChsaXN0KTtcbiAgICAgICAgICAgIHJlc3VsdC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGFrZXkgPSBrZXkoY29udGV4dCwgYSk7XG4gICAgICAgICAgICAgICAgbGV0IGJrZXkgPSBrZXkoY29udGV4dCwgYik7XG4gICAgICAgICAgICAgICAgbGV0IGxlID0gY29udGV4dFxuICAgICAgICAgICAgICAgICAgICAuZXZhbHVhdGUoRXhwcmVzc2lvbnMuYmluYXJ5T3AoRXhwcmVzc2lvbnMubGl0ZXJhbChha2V5KSwgXCI8XCIsIEV4cHJlc3Npb25zLmxpdGVyYWwoYmtleSkpKVxuICAgICAgICAgICAgICAgICAgICAub3JFbHNlVGhyb3coKTtcbiAgICAgICAgICAgICAgICBpZiAoTGl0ZXJhbHMuaXNUcnV0aHkobGUpKSByZXR1cm4gLTE7XG5cbiAgICAgICAgICAgICAgICBsZXQgZXEgPSBjb250ZXh0XG4gICAgICAgICAgICAgICAgICAgIC5ldmFsdWF0ZShFeHByZXNzaW9ucy5iaW5hcnlPcChFeHByZXNzaW9ucy5saXRlcmFsKGFrZXkpLCBcIj1cIiwgRXhwcmVzc2lvbnMubGl0ZXJhbChia2V5KSkpXG4gICAgICAgICAgICAgICAgICAgIC5vckVsc2VUaHJvdygpO1xuICAgICAgICAgICAgICAgIGlmIChMaXRlcmFscy5pc1RydXRoeShlcSkpIHJldHVybiAwO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQxKFwiKlwiLCAoZSkgPT4gZSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgcmVnZXh0ZXN0ID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInJlZ2V4dGVzdFwiKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAocGF0dGVybjogc3RyaW5nLCBmaWVsZDogc3RyaW5nKSA9PiBSZWdFeHAocGF0dGVybikudGVzdChmaWVsZCkpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKF9uLCBfYSkgPT4gZmFsc2UpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKF9hLCBfbikgPT4gZmFsc2UpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzAsIDFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCByZWdleG1hdGNoID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInJlZ2V4bWF0Y2hcIilcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJzdHJpbmdcIiwgKHBhdHRlcm46IHN0cmluZywgZmllbGQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKCFwYXR0ZXJuLnN0YXJ0c1dpdGgoXCJeXCIpICYmICFwYXR0ZXJuLmVuZHNXaXRoKFwiJFwiKSkgcGF0dGVybiA9IFwiXlwiICsgcGF0dGVybiArIFwiJFwiO1xuICAgICAgICAgICAgcmV0dXJuICEhZmllbGQubWF0Y2gocGF0dGVybik7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKF9uLCBfYSkgPT4gZmFsc2UpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKF9hLCBfbikgPT4gZmFsc2UpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzAsIDFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCByZWdleHJlcGxhY2UgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwicmVnZXhyZXBsYWNlXCIpXG4gICAgICAgIC5hZGQzKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIChmaWVsZDogc3RyaW5nLCBwYXQ6IHN0cmluZywgcmVwOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlZyA9IG5ldyBSZWdFeHAocGF0LCBcImdcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpZWxkLnJlcGxhY2UocmVnLCByZXApO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCByZWdleHAgJyR7cGF0fScgaW4gcmVnZXhyZXBsYWNlYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQzKFwibnVsbFwiLCBcIipcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMywgWzAsIDEsIDJdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBsb3dlciA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJsb3dlclwiKVxuICAgICAgICAuYWRkMShcInN0cmluZ1wiLCAocykgPT4gcy50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAuYWRkMShcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgxLCBbMF0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IHVwcGVyID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInVwcGVyXCIpXG4gICAgICAgIC5hZGQxKFwic3RyaW5nXCIsIChzKSA9PiBzLnRvTG9jYWxlVXBwZXJDYXNlKCkpXG4gICAgICAgIC5hZGQxKFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDEsIFswXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgcmVwbGFjZSA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJyZXBsYWNlXCIpXG4gICAgICAgIC5hZGQzKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIChzdHIsIHBhdCwgcmVwcikgPT4gc3RyLnNwbGl0KHBhdCkuam9pbihyZXByKSlcbiAgICAgICAgLmFkZDMoXCJudWxsXCIsIFwiKlwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgzLCBbMCwgMSwgMl0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLy8gRW5zdXJlIHVuZGVmaW5lZCBtYXRjaGVzIHR1cm4gaW50byBlbXB0eSBzdHJpbmdzIGZvciBzcGxpdC8yIGFuZCBzcGxpdC8zLlxuICAgIGNvbnN0IHNwbGl0SW1wbCA9IChzdHI6IHN0cmluZywgZGVsaW06IHN0cmluZywgbGltaXQ/OiBudW1iZXIpOiBzdHJpbmdbXSA9PlxuICAgICAgICBzdHIuc3BsaXQobmV3IFJlZ0V4cChkZWxpbSksIGxpbWl0KS5tYXAoKHN0cikgPT4gc3RyIHx8IFwiXCIpO1xuXG4gICAgLyoqIFNwbGl0IGEgc3RyaW5nIG9uIGEgZ2l2ZW4gc3RyaW5nLiAqL1xuICAgIGV4cG9ydCBjb25zdCBzcGxpdDogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInNwbGl0XCIpXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIChzdHJpbmcsIHNwbGl0dGVyKSA9PiBzcGxpdEltcGwoc3RyaW5nLCBzcGxpdHRlcikpXG4gICAgICAgIC5hZGQzKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIFwibnVtYmVyXCIsIChzdHJpbmcsIHNwbGl0dGVyLCBsaW1pdCkgPT4gc3BsaXRJbXBsKHN0cmluZywgc3BsaXR0ZXIsIGxpbWl0KSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwiKlwiLCBcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQzKFwibnVsbFwiLCBcIipcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IHN0YXJ0c3dpdGg6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJzdGFydHN3aXRoXCIpXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwic3RyaW5nXCIsIChzdHIsIHN0YXJ0aW5nKSA9PiBzdHIuc3RhcnRzV2l0aChzdGFydGluZykpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswLCAxXSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgZW5kc3dpdGg6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJlbmRzd2l0aFwiKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcInN0cmluZ1wiLCAoc3RyLCBlbmRpbmcpID0+IHN0ci5lbmRzV2l0aChlbmRpbmcpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IHBhZGxlZnQ6IEZ1bmN0aW9uSW1wbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJwYWRsZWZ0XCIpXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwibnVtYmVyXCIsIChzdHIsIGxlbikgPT4gc3RyLnBhZFN0YXJ0KGxlbiwgXCIgXCIpKVxuICAgICAgICAuYWRkMyhcInN0cmluZ1wiLCBcIm51bWJlclwiLCBcInN0cmluZ1wiLCAoc3RyLCBsZW4sIHBhZGRpbmcpID0+IHN0ci5wYWRTdGFydChsZW4sIHBhZGRpbmcpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCJudWxsXCIsIFwiKlwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC52ZWN0b3JpemUoMywgWzAsIDEsIDJdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBwYWRyaWdodDogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInBhZHJpZ2h0XCIpXG4gICAgICAgIC5hZGQyKFwic3RyaW5nXCIsIFwibnVtYmVyXCIsIChzdHIsIGxlbikgPT4gc3RyLnBhZEVuZChsZW4sIFwiIFwiKSlcbiAgICAgICAgLmFkZDMoXCJzdHJpbmdcIiwgXCJudW1iZXJcIiwgXCJzdHJpbmdcIiwgKHN0ciwgbGVuLCBwYWRkaW5nKSA9PiBzdHIucGFkRW5kKGxlbiwgcGFkZGluZykpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIm51bGxcIiwgXCIqXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswLCAxXSlcbiAgICAgICAgLnZlY3Rvcml6ZSgzLCBbMCwgMSwgMl0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IHN1YnN0cmluZzogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInN1YnN0cmluZ1wiKVxuICAgICAgICAuYWRkMihcInN0cmluZ1wiLCBcIm51bWJlclwiLCAoc3RyLCBzdGFydCkgPT4gc3RyLnN1YnN0cmluZyhzdGFydCkpXG4gICAgICAgIC5hZGQzKFwic3RyaW5nXCIsIFwibnVtYmVyXCIsIFwibnVtYmVyXCIsIChzdHIsIHN0YXJ0LCBlbmQpID0+IHN0ci5zdWJzdHJpbmcoc3RhcnQsIGVuZCkpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDIoXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIm51bGxcIiwgXCIqXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCIqXCIsIFwibnVsbFwiLCAoKSA9PiBudWxsKVxuICAgICAgICAudmVjdG9yaXplKDIsIFswLCAxXSlcbiAgICAgICAgLnZlY3Rvcml6ZSgzLCBbMCwgMSwgMl0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IHRydW5jYXRlOiBGdW5jdGlvbkltcGwgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwidHJ1bmNhdGVcIilcbiAgICAgICAgLmFkZDMoXCJzdHJpbmdcIiwgXCJudW1iZXJcIiwgXCJzdHJpbmdcIiwgKHN0ciwgbGVuZ3RoLCBzdWZmaXgpID0+IHtcbiAgICAgICAgICAgIGlmIChzdHIubGVuZ3RoID4gbGVuZ3RoIC0gc3VmZml4Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdHIuc3Vic3RyaW5nKDAsIE1hdGgubWF4KDAsIGxlbmd0aCAtIHN1ZmZpeC5sZW5ndGgpKSArIHN1ZmZpeDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDIoXCJzdHJpbmdcIiwgXCJudW1iZXJcIiwgKHN0ciwgbGVuZ3RoLCBjdHgpID0+IHRydW5jYXRlKGN0eCwgc3RyLCBsZW5ndGgsIFwiLi4uXCIpKVxuICAgICAgICAuYWRkMihcIm51bGxcIiwgXCIqXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCJudWxsXCIsIFwiKlwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmFkZDMoXCIqXCIsIFwiKlwiLCBcIm51bGxcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC52ZWN0b3JpemUoMywgWzAsIDEsIDJdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBmZGVmYXVsdCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJkZWZhdWx0XCIpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIipcIiwgKHYsIGJrKSA9PiAoTGl0ZXJhbHMuaXNOdWxsKHYpID8gYmsgOiB2KSlcbiAgICAgICAgLnZlY3Rvcml6ZSgyLCBbMCwgMV0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IGxkZWZhdWx0ID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImxkZWZhdWx0XCIpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcIipcIiwgKHYsIGJrKSA9PiAoTGl0ZXJhbHMuaXNOdWxsKHYpID8gYmsgOiB2KSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgY2hvaWNlID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImNob2ljZVwiKVxuICAgICAgICAuYWRkMyhcIipcIiwgXCIqXCIsIFwiKlwiLCAoYiwgbGVmdCwgcmlnaHQpID0+IChMaXRlcmFscy5pc1RydXRoeShiKSA/IGxlZnQgOiByaWdodCkpXG4gICAgICAgIC52ZWN0b3JpemUoMywgWzBdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCByZWR1Y2UgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwicmVkdWNlXCIpXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCJzdHJpbmdcIiwgKGxpcywgb3AsIGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgIGlmIChsaXMubGVuZ3RoID09IDApIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICBpZiAob3AgIT0gXCIrXCIgJiYgb3AgIT0gXCItXCIgJiYgb3AgIT0gXCIqXCIgJiYgb3AgIT0gXCIvXCIgJiYgb3AgIT0gXCImXCIgJiYgb3AgIT0gXCJ8XCIpXG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJyZWR1Y2UoYXJyYXksIG9wKSBzdXBwb3J0cyAnKycsICctJywgJy8nLCAnKicsICcmJywgYW5kICd8J1wiKTtcblxuICAgICAgICAgICAgbGV0IHZhbHVlID0gbGlzWzBdO1xuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IGxpcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGNvbnRleHRcbiAgICAgICAgICAgICAgICAgICAgLmV2YWx1YXRlKEV4cHJlc3Npb25zLmJpbmFyeU9wKEV4cHJlc3Npb25zLmxpdGVyYWwodmFsdWUpLCBvcCwgRXhwcmVzc2lvbnMubGl0ZXJhbChsaXNbaW5kZXhdKSkpXG4gICAgICAgICAgICAgICAgICAgIC5vckVsc2VUaHJvdygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCJmdW5jdGlvblwiLCAobGlzLCBvcCwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgaWYgKGxpcy5sZW5ndGggPT0gMCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGxpc1swXTtcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCBsaXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgLy8gU2tpcCBudWxsIHZhbHVlcyB0byByZWR1Y2UgdGhlIHBhaW4gb2Ygc3VtbWluZyBvdmVyIGZpZWxkcyB0aGF0IG1heSBvciBtYXkgbm90IGV4aXN0LlxuICAgICAgICAgICAgICAgIGlmIChMaXRlcmFscy5pc051bGwobGlzW2luZGV4XSkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgdmFsdWUgPSBvcChjb250ZXh0LCB2YWx1ZSwgbGlzW2luZGV4XSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYWRkMihcIipcIiwgXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBzdW0gPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwic3VtXCIpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKGFyciwgYykgPT4gcmVkdWNlKGMsIGFyciwgXCIrXCIpKVxuICAgICAgICAuYWRkMShcIipcIiwgKGUpID0+IGUpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IGF2ZXJhZ2UgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiYXZlcmFnZVwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhcnJheSwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA9PSAwKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgY29uc3QgYWRkID0gc3VtKGNvbnRleHQsIGFycmF5KTtcbiAgICAgICAgICAgIGlmIChhZGQgPT0gbnVsbCB8fCBhZGQgPT0gdW5kZWZpbmVkKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHRcbiAgICAgICAgICAgICAgICAuZXZhbHVhdGUoRXhwcmVzc2lvbnMuYmluYXJ5T3AoRXhwcmVzc2lvbnMubGl0ZXJhbChhZGQpLCBcIi9cIiwgRXhwcmVzc2lvbnMubGl0ZXJhbChhcnJheS5sZW5ndGgpKSlcbiAgICAgICAgICAgICAgICAub3JFbHNlVGhyb3coKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDEoXCIqXCIsIChlKSA9PiBlKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBwcm9kdWN0ID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcInByb2R1Y3RcIilcbiAgICAgICAgLmFkZDEoXCJhcnJheVwiLCAoYXJyLCBjKSA9PiByZWR1Y2UoYywgYXJyLCBcIipcIikpXG4gICAgICAgIC5hZGQxKFwiKlwiLCAoZSkgPT4gZSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3Qgam9pbjogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImpvaW5cIilcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcInN0cmluZ1wiLCAoYXJyLCBzZXAsIGN0eCkgPT5cbiAgICAgICAgICAgIGFyci5tYXAoKGUpID0+IExpdGVyYWxzLnRvU3RyaW5nKGUsIHN0cmluZ1NldHRpbmdzKGN0eC5zZXR0aW5ncykpKS5qb2luKHNlcClcbiAgICAgICAgKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwibnVsbFwiLCAoYXJyLCBfcywgY29udGV4dCkgPT4gam9pbihjb250ZXh0LCBhcnIsIFwiLCBcIikpXG4gICAgICAgIC5hZGQyKFwiKlwiLCBcInN0cmluZ1wiLCAoZWxlbSwgc2VwLCBjdHgpID0+IExpdGVyYWxzLnRvU3RyaW5nKGVsZW0sIHN0cmluZ1NldHRpbmdzKGN0eC5zZXR0aW5ncykpKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhcnIsIGNvbnRleHQpID0+IGpvaW4oY29udGV4dCwgYXJyLCBcIiwgXCIpKVxuICAgICAgICAuYWRkMShcIipcIiwgKGUsIGN0eCkgPT4gTGl0ZXJhbHMudG9TdHJpbmcoZSwgc3RyaW5nU2V0dGluZ3MoY3R4LnNldHRpbmdzKSkpXG4gICAgICAgIC52ZWN0b3JpemUoMiwgWzFdKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBhbnkgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiYW55XCIpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKGFycikgPT4gYXJyLnNvbWUoKHYpID0+IExpdGVyYWxzLmlzVHJ1dGh5KHYpKSlcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcImZ1bmN0aW9uXCIsIChhcnIsIGYsIGN0eCkgPT4gYXJyLnNvbWUoKHYpID0+IExpdGVyYWxzLmlzVHJ1dGh5KGYoY3R4LCB2KSkpKVxuICAgICAgICAudmFyYXJnKChfY3R4LCAuLi5hcmdzKSA9PiBhcmdzLnNvbWUoKHYpID0+IExpdGVyYWxzLmlzVHJ1dGh5KHYpKSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgYWxsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImFsbFwiKVxuICAgICAgICAuYWRkMShcImFycmF5XCIsIChhcnIpID0+IGFyci5ldmVyeSgodikgPT4gTGl0ZXJhbHMuaXNUcnV0aHkodikpKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiZnVuY3Rpb25cIiwgKGFyciwgZiwgY3R4KSA9PiBhcnIuZXZlcnkoKHYpID0+IExpdGVyYWxzLmlzVHJ1dGh5KGYoY3R4LCB2KSkpKVxuICAgICAgICAudmFyYXJnKChfY3R4LCAuLi5hcmdzKSA9PiBhcmdzLmV2ZXJ5KCh2KSA9PiBMaXRlcmFscy5pc1RydXRoeSh2KSkpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgZXhwb3J0IGNvbnN0IG5vbmUgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwiYWxsXCIpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKGFycikgPT4gIWFyci5zb21lKCh2KSA9PiBMaXRlcmFscy5pc1RydXRoeSh2KSkpXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCJmdW5jdGlvblwiLCAoYXJyLCBmLCBjdHgpID0+ICFhcnIuc29tZSgodikgPT4gTGl0ZXJhbHMuaXNUcnV0aHkoZihjdHgsIHYpKSkpXG4gICAgICAgIC52YXJhcmcoKF9jdHgsIC4uLmFyZ3MpID0+ICFhcmdzLnNvbWUoKHYpID0+IExpdGVyYWxzLmlzVHJ1dGh5KHYpKSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3QgZmlsdGVyID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcImZpbHRlclwiKVxuICAgICAgICAuYWRkMihcImFycmF5XCIsIFwiZnVuY3Rpb25cIiwgKGFyciwgZiwgY3R4KSA9PiBhcnIuZmlsdGVyKCh2KSA9PiBMaXRlcmFscy5pc1RydXRoeShmKGN0eCwgdikpKSlcbiAgICAgICAgLmFkZDIoXCJudWxsXCIsIFwiKlwiLCAoKSA9PiBudWxsKVxuICAgICAgICAuYnVpbGQoKTtcblxuICAgIGV4cG9ydCBjb25zdCBtYXAgPSBuZXcgRnVuY3Rpb25CdWlsZGVyKFwibWFwXCIpXG4gICAgICAgIC5hZGQyKFwiYXJyYXlcIiwgXCJmdW5jdGlvblwiLCAoYXJyLCBmLCBjdHgpID0+IGFyci5tYXAoKHYpID0+IGYoY3R4LCB2KSkpXG4gICAgICAgIC5hZGQyKFwibnVsbFwiLCBcIipcIiwgKCkgPT4gbnVsbClcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBleHBvcnQgY29uc3Qgbm9ubnVsbCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJub25udWxsXCIpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKGFycikgPT4gYXJyLmZpbHRlcigodikgPT4gTGl0ZXJhbHMudHlwZU9mKHYpICE9IFwibnVsbFwiKSlcbiAgICAgICAgLnZhcmFyZygoX2N0eCwgLi4uYXJncykgPT4gYXJncy5maWx0ZXIoKHYpID0+IExpdGVyYWxzLnR5cGVPZih2KSAhPSBcIm51bGxcIikpXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgLyoqIEdldHMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYSBsaW5rJ3Mgb3duIHByb3BlcnRpZXMgKi9cbiAgICBleHBvcnQgY29uc3QgbWV0YTogRnVuY3Rpb25JbXBsID0gbmV3IEZ1bmN0aW9uQnVpbGRlcihcIm1ldGFcIilcbiAgICAgICAgLmFkZDEoXCJsaW5rXCIsIChsaW5rKSA9PiAoe1xuICAgICAgICAgICAgZGlzcGxheTogbGluay5kaXNwbGF5ID8/IG51bGwsXG4gICAgICAgICAgICBlbWJlZDogbGluay5lbWJlZCxcbiAgICAgICAgICAgIHBhdGg6IGxpbmsucGF0aCxcbiAgICAgICAgICAgIHN1YnBhdGg6IGxpbmsuc3VicGF0aCA/PyBudWxsLFxuICAgICAgICAgICAgdHlwZTogbGluay50eXBlLFxuICAgICAgICB9KSlcbiAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICAvLyBDb25jYXRlbmF0ZXMgc3ViLWFycmF5IGVsZW1lbnRzIGludG8gYSBuZXcgYXJyYXlcbiAgICBleHBvcnQgY29uc3QgZmxhdCA9IG5ldyBGdW5jdGlvbkJ1aWxkZXIoXCJmbGF0XCIpXG4gICAgICAgIC5hZGQxKFwiYXJyYXlcIiwgKGEpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBhLmZsYXQoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDIoXCJhcnJheVwiLCBcIm51bWJlclwiLCAoYSwgbikgPT4ge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgcmV0dXJuIGEuZmxhdChuKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmFkZDEoXCJudWxsXCIsICgpID0+IG51bGwpXG4gICAgICAgIC5idWlsZCgpO1xufVxuXG4vKiogRGVmYXVsdCBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBleHByZXNzaW9uIGV2YWx1YXRvci4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZVTkNUSU9OUzogUmVjb3JkPHN0cmluZywgRnVuY3Rpb25JbXBsPiA9IHtcbiAgICAvLyBDb25zdHJ1Y3RvcnMuXG4gICAgbGlzdDogRGVmYXVsdEZ1bmN0aW9ucy5saXN0LFxuICAgIGFycmF5OiBEZWZhdWx0RnVuY3Rpb25zLmxpc3QsXG4gICAgbGluazogRGVmYXVsdEZ1bmN0aW9ucy5saW5rLFxuICAgIGVtYmVkOiBEZWZhdWx0RnVuY3Rpb25zLmVtYmVkLFxuICAgIGRhdGU6IERlZmF1bHRGdW5jdGlvbnMuZGF0ZSxcbiAgICBkdXI6IERlZmF1bHRGdW5jdGlvbnMuZHVyLFxuICAgIGRhdGVmb3JtYXQ6IERlZmF1bHRGdW5jdGlvbnMuZGF0ZWZvcm1hdCxcbiAgICBsb2NhbHRpbWU6IERlZmF1bHRGdW5jdGlvbnMubG9jYWx0aW1lLFxuICAgIG51bWJlcjogRGVmYXVsdEZ1bmN0aW9ucy5udW1iZXIsXG4gICAgc3RyaW5nOiBEZWZhdWx0RnVuY3Rpb25zLnN0cmluZyxcbiAgICBvYmplY3Q6IERlZmF1bHRGdW5jdGlvbnMub2JqZWN0LFxuICAgIHR5cGVvZjogRGVmYXVsdEZ1bmN0aW9ucy50eXBlT2YsXG5cbiAgICAvLyBNYXRoIE9wZXJhdGlvbnMuXG4gICAgcm91bmQ6IERlZmF1bHRGdW5jdGlvbnMucm91bmQsXG4gICAgbWluOiBEZWZhdWx0RnVuY3Rpb25zLm1pbixcbiAgICBtYXg6IERlZmF1bHRGdW5jdGlvbnMubWF4LFxuICAgIG1pbmJ5OiBEZWZhdWx0RnVuY3Rpb25zLm1pbmJ5LFxuICAgIG1heGJ5OiBEZWZhdWx0RnVuY3Rpb25zLm1heGJ5LFxuXG4gICAgLy8gU3RyaW5nIG9wZXJhdGlvbnMuXG4gICAgcmVnZXhyZXBsYWNlOiBEZWZhdWx0RnVuY3Rpb25zLnJlZ2V4cmVwbGFjZSxcbiAgICByZWdleHRlc3Q6IERlZmF1bHRGdW5jdGlvbnMucmVnZXh0ZXN0LFxuICAgIHJlZ2V4bWF0Y2g6IERlZmF1bHRGdW5jdGlvbnMucmVnZXhtYXRjaCxcbiAgICByZXBsYWNlOiBEZWZhdWx0RnVuY3Rpb25zLnJlcGxhY2UsXG4gICAgbG93ZXI6IERlZmF1bHRGdW5jdGlvbnMubG93ZXIsXG4gICAgdXBwZXI6IERlZmF1bHRGdW5jdGlvbnMudXBwZXIsXG4gICAgc3BsaXQ6IERlZmF1bHRGdW5jdGlvbnMuc3BsaXQsXG4gICAgc3RhcnRzd2l0aDogRGVmYXVsdEZ1bmN0aW9ucy5zdGFydHN3aXRoLFxuICAgIGVuZHN3aXRoOiBEZWZhdWx0RnVuY3Rpb25zLmVuZHN3aXRoLFxuICAgIHBhZGxlZnQ6IERlZmF1bHRGdW5jdGlvbnMucGFkbGVmdCxcbiAgICBwYWRyaWdodDogRGVmYXVsdEZ1bmN0aW9ucy5wYWRyaWdodCxcbiAgICBzdWJzdHJpbmc6IERlZmF1bHRGdW5jdGlvbnMuc3Vic3RyaW5nLFxuICAgIHRydW5jYXRlOiBEZWZhdWx0RnVuY3Rpb25zLnRydW5jYXRlLFxuXG4gICAgLy8gRGF0ZSBPcGVyYXRpb25zLlxuICAgIHN0cmlwdGltZTogRGVmYXVsdEZ1bmN0aW9ucy5zdHJpcHRpbWUsXG5cbiAgICAvLyBMaXN0IG9wZXJhdGlvbnMuXG4gICAgbGVuZ3RoOiBEZWZhdWx0RnVuY3Rpb25zLmxlbmd0aCxcbiAgICBjb250YWluczogRGVmYXVsdEZ1bmN0aW9ucy5jb250YWlucyxcbiAgICBpY29udGFpbnM6IERlZmF1bHRGdW5jdGlvbnMuaWNvbnRhaW5zLFxuICAgIGVjb250YWluczogRGVmYXVsdEZ1bmN0aW9ucy5lY29udGFpbnMsXG4gICAgY29udGFpbnN3b3JkOiBEZWZhdWx0RnVuY3Rpb25zLmNvbnRhaW5zd29yZCxcbiAgICByZXZlcnNlOiBEZWZhdWx0RnVuY3Rpb25zLnJldmVyc2UsXG4gICAgc29ydDogRGVmYXVsdEZ1bmN0aW9ucy5zb3J0LFxuICAgIGZsYXQ6IERlZmF1bHRGdW5jdGlvbnMuZmxhdCxcblxuICAgIC8vIEFnZ3JlZ2F0aW9uIG9wZXJhdGlvbnMgbGlrZSByZWR1Y2UuXG4gICAgcmVkdWNlOiBEZWZhdWx0RnVuY3Rpb25zLnJlZHVjZSxcbiAgICBqb2luOiBEZWZhdWx0RnVuY3Rpb25zLmpvaW4sXG4gICAgc3VtOiBEZWZhdWx0RnVuY3Rpb25zLnN1bSxcbiAgICBwcm9kdWN0OiBEZWZhdWx0RnVuY3Rpb25zLnByb2R1Y3QsXG4gICAgYXZlcmFnZTogRGVmYXVsdEZ1bmN0aW9ucy5hdmVyYWdlLFxuICAgIGFsbDogRGVmYXVsdEZ1bmN0aW9ucy5hbGwsXG4gICAgYW55OiBEZWZhdWx0RnVuY3Rpb25zLmFueSxcbiAgICBub25lOiBEZWZhdWx0RnVuY3Rpb25zLm5vbmUsXG4gICAgZmlsdGVyOiBEZWZhdWx0RnVuY3Rpb25zLmZpbHRlcixcbiAgICBtYXA6IERlZmF1bHRGdW5jdGlvbnMubWFwLFxuICAgIG5vbm51bGw6IERlZmF1bHRGdW5jdGlvbnMubm9ubnVsbCxcblxuICAgIC8vIE9iamVjdC9VdGlsaXR5IG9wZXJhdGlvbnMuXG4gICAgZXh0cmFjdDogRGVmYXVsdEZ1bmN0aW9ucy5leHRyYWN0LFxuICAgIGRlZmF1bHQ6IERlZmF1bHRGdW5jdGlvbnMuZmRlZmF1bHQsXG4gICAgbGRlZmF1bHQ6IERlZmF1bHRGdW5jdGlvbnMubGRlZmF1bHQsXG4gICAgY2hvaWNlOiBEZWZhdWx0RnVuY3Rpb25zLmNob2ljZSxcbiAgICBtZXRhOiBEZWZhdWx0RnVuY3Rpb25zLm1ldGEsXG59O1xuIiwgIi8qKiBDb3JlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBxdWVyeSBsYW5ndWFnZSBldmFsdWF0aW9uIGVuZ2luZS4gKi9cblxuaW1wb3J0IHsgRGF0YU9iamVjdCwgTGluaywgTGl0ZXJhbCwgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tIFwiYXBpL3Jlc3VsdFwiO1xuaW1wb3J0IHsgQmluYXJ5T3BIYW5kbGVyLCBjcmVhdGVCaW5hcnlPcHMgfSBmcm9tIFwiLi9iaW5hcnlvcFwiO1xuaW1wb3J0IHsgRXhwcmVzc2lvbiwgRXhwcmVzc2lvbnMgfSBmcm9tIFwiZXhwcmVzc2lvbi9leHByZXNzaW9uXCI7XG5pbXBvcnQgeyBERUZBVUxUX0ZVTkNUSU9OUywgRnVuY3Rpb25JbXBsIH0gZnJvbSBcIi4vZnVuY3Rpb25zXCI7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gXCJzZXR0aW5nc1wiO1xuaW1wb3J0IHsgRmllbGRiZWFyaW5nLCBGaWVsZGJlYXJpbmdzIH0gZnJvbSBcIi4vZmllbGRcIjtcblxuLyoqIEhhbmRsZXMgbGluayByZXNvbHV0aW9uIGFuZCBub3JtYWxpemF0aW9uIGluc2lkZSBvZiBhIGNvbnRleHQuICovXG5leHBvcnQgaW50ZXJmYWNlIExpbmtIYW5kbGVyIHtcbiAgICAvKiogUmVzb2x2ZSBhIGxpbmsgdG8gdGhlIG1ldGFkYXRhIGl0IGNvbnRhaW5zLiAqL1xuICAgIHJlc29sdmUocGF0aDogc3RyaW5nIHwgTGluayk6IERhdGFPYmplY3QgfCBudWxsO1xuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6ZSBhIGxpbmsgdG8gaXQncyBmdWxseS1xdWFsaWZpZWQgcGF0aCBmb3IgY29tcGFyaXNvbiBwdXJwb3Nlcy5cbiAgICAgKiBJZiB0aGUgcGF0aCBkb2VzIG5vdCBleGlzdCwgcmV0dXJucyBpdCB1bmNoYW5nZWQuXG4gICAgICovXG4gICAgbm9ybWFsaXplKHBhdGg6IHN0cmluZyk6IHN0cmluZztcbiAgICAvKiogUmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIHBhdGggYWN0dWFsbHkgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuICovXG4gICAgZXhpc3RzKHBhdGg6IHN0cmluZyk6IGJvb2xlYW47XG59XG5cbi8qKiBTb3VyY2Ugb2YgdmFyaWFibGVzIHdoaWNoIGNhbiBiZSByZWZlcmVuY2VkIGluIHRoZSBldmFsdWF0b3IuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhcmlhYmxlcyB7XG4gICAgLyoqIFJlbmRlciB0aGUgZW50aXJlIHZhcmlhYmxlIHN0b3JlIHRvIGEga2V5LXZhbHVlIG1hcC4gKi9cbiAgICBhbGwoKTogRGF0YU9iamVjdDtcblxuICAgIC8qKiBSZXNvbHZlIGEgdmFyaWFibGUgYnkgbmFtZS4gKi9cbiAgICByZXNvbHZlKG5hbWU6IHN0cmluZyk6IExpdGVyYWwgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRXZhbHVhdGlvbiBjb250ZXh0IHRoYXQgZXhwcmVzc2lvbnMgY2FuIGJlIGV2YWx1YXRlZCBpbi4gSW5jbHVkZXMgZ2xvYmFsIHN0YXRlLCBhcyB3ZWxsIGFzIGF2YWlsYWJsZSBmdW5jdGlvbnMgYW5kIGEgaGFuZGxlclxuICogZm9yIGJpbmFyeSBvcGVyYXRvcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFdmFsdWF0b3Ige1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBjb250ZXh0IHdpdGggdGhlIGdpdmVuIG5hbWVzcGFjZSBvZiBnbG9iYWxzLCBhcyB3ZWxsIGFzIG9wdGlvbmFsbHkgd2l0aCBjdXN0b20gYmluYXJ5IG9wZXJhdG9yLCBmdW5jdGlvbixcbiAgICAgKiBhbmQgbGluayBoYW5kbGVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBsaW5rSGFuZGxlcjogTGlua0hhbmRsZXIsXG4gICAgICAgIHB1YmxpYyBzZXR0aW5nczogU2V0dGluZ3MsXG4gICAgICAgIHB1YmxpYyBnbG9iYWxzOiBSZWNvcmQ8c3RyaW5nLCBMaXRlcmFsPiA9IHt9LFxuICAgICAgICBwdWJsaWMgYmluYXJ5T3BzOiBCaW5hcnlPcEhhbmRsZXIgPSBjcmVhdGVCaW5hcnlPcHMobGlua0hhbmRsZXIubm9ybWFsaXplKSxcbiAgICAgICAgcHVibGljIGZ1bmN0aW9uczogUmVjb3JkPHN0cmluZywgRnVuY3Rpb25JbXBsPiA9IERFRkFVTFRfRlVOQ1RJT05TXG4gICAgKSB7fVxuXG4gICAgLyoqIFNldCBhIGdsb2JhbCB2YWx1ZSBpbiB0aGlzIGNvbnRleHQuICovXG4gICAgcHVibGljIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBMaXRlcmFsKTogRXZhbHVhdG9yIHtcbiAgICAgICAgdGhpcy5nbG9iYWxzW25hbWVdID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKiBHZXQgdGhlIHZhbHVlIG9mIGEgZ2xvYmFsIHZhcmlhYmxlIGJ5IG5hbWUuIFJldHVybnMgbnVsbCBpZiBub3QgcHJlc2VudC4gKi9cbiAgICBwdWJsaWMgZ2V0KG5hbWU6IHN0cmluZyk6IExpdGVyYWwge1xuICAgICAgICByZXR1cm4gdGhpcy5nbG9iYWxzW25hbWVdID8/IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIFRyeSB0byBldmFsdWF0ZSBhbiBhcmJpdHJhcnkgZXhwcmVzc2lvbiBpbiB0aGlzIGNvbnRleHQsIHJhaXNpbmcgYW4gZXhjZXB0aW9uIG9uIGZhaWx1cmUuICovXG4gICAgcHVibGljIHRyeUV2YWx1YXRlKGV4cHI6IEV4cHJlc3Npb24sIHZhcmlhYmxlczogVmFyaWFibGVzID0gVmFyaWFibGVzLmVtcHR5KCkpOiBMaXRlcmFsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZhbHVhdGUoZXhwciwgdmFyaWFibGVzKS5vckVsc2VUaHJvdygpO1xuICAgIH1cblxuICAgIC8qKiBFdmFsdWF0ZSBhbiBhcmJpdHJhcnkgZXhwcmVzc2lvbiBpbiB0aGlzIGNvbnRleHQuICovXG4gICAgcHVibGljIGV2YWx1YXRlKGV4cHI6IEV4cHJlc3Npb24sIHZhcmlhYmxlczogVmFyaWFibGVzID0gVmFyaWFibGVzLmVtcHR5KCkpOiBSZXN1bHQ8TGl0ZXJhbCwgc3RyaW5nPiB7XG4gICAgICAgIHN3aXRjaCAoZXhwci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwibGl0ZXJhbFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhleHByLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgXCJ2YXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChleHByLm5hbWUgPT09IEV4cHJlc3Npb25zLlJPVykgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHZhcmlhYmxlcy5hbGwoKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IHZhcmlhYmxlcy5yZXNvbHZlKGV4cHIubmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc29sdmVkICE9PSB1bmRlZmluZWQpIHJldHVybiBSZXN1bHQuc3VjY2VzcyhyZXNvbHZlZCk7XG4gICAgICAgICAgICAgICAgaWYgKGV4cHIubmFtZSBpbiB0aGlzLmdsb2JhbHMpIHJldHVybiBSZXN1bHQuc3VjY2Vzcyh0aGlzLmdsb2JhbHNbZXhwci5uYW1lXSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MobnVsbCk7XG4gICAgICAgICAgICBjYXNlIFwibmVnYXRlZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlKGV4cHIuY2hpbGQsIHZhcmlhYmxlcykubWFwKChzKSA9PiAhTGl0ZXJhbHMuaXNUcnV0aHkocykpO1xuICAgICAgICAgICAgY2FzZSBcImJpbmFyeW9wXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mbGF0TWFwMihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldmFsdWF0ZShleHByLmxlZnQsIHZhcmlhYmxlcyksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZhbHVhdGUoZXhwci5yaWdodCwgdmFyaWFibGVzKSxcbiAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+IHRoaXMuYmluYXJ5T3BzLmV2YWx1YXRlKGV4cHIub3AsIGEsIGIsIHRoaXMpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXN0XCI6XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGNoaWxkIG9mIGV4cHIudmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBzdWJldmFsID0gdGhpcy5ldmFsdWF0ZShjaGlsZCwgdmFyaWFibGVzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWJldmFsLnN1Y2Nlc3NmdWwpIHJldHVybiBzdWJldmFsO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChzdWJldmFsLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHJlc3VsdCk7XG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgbGV0IG9ialJlc3VsdDogRGF0YU9iamVjdCA9IHt9O1xuICAgICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIGNoaWxkXSBvZiBPYmplY3QuZW50cmllcyhleHByLnZhbHVlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN1YmV2YWwgPSB0aGlzLmV2YWx1YXRlKGNoaWxkLCB2YXJpYWJsZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1YmV2YWwuc3VjY2Vzc2Z1bCkgcmV0dXJuIHN1YmV2YWw7XG4gICAgICAgICAgICAgICAgICAgIG9ialJlc3VsdFtrZXldID0gc3ViZXZhbC52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKG9ialJlc3VsdCk7XG4gICAgICAgICAgICBjYXNlIFwibGFtYmRhXCI6XG4gICAgICAgICAgICAgICAgLy8gSnVzdCByZWx5aW5nIG9uIEpTIHRvIGNhcHR1cmUgJ2RhdGEnIGZvciB1cyBpbXBsaWNpdGx5OyB1bnN1cmVcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGlzIGlzIGNvcnJlY3QgdGhpbmcgdG8gZG8uIENvdWxkIGNhdXNlIHdlaXJkIGJlaGF2aW9ycy5cbiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoKGN0eDogRXZhbHVhdG9yLCAuLi5hcmdzOiBMaXRlcmFsW10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxvY2FsczogUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4gPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgYXJnID0gMDsgYXJnIDwgTWF0aC5taW4oYXJncy5sZW5ndGgsIGV4cHIuYXJndW1lbnRzLmxlbmd0aCk7IGFyZysrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbHNbZXhwci5hcmd1bWVudHNbYXJnXV0gPSBhcmdzW2FyZ107XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3R4LmV2YWx1YXRlKGV4cHIudmFsdWUsIFZhcmlhYmxlcy5sYW1iZGEodmFyaWFibGVzLCBsb2NhbHMpKS5vckVsc2VUaHJvdygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICAgICAgbGV0IHJhd0Z1bmMgPVxuICAgICAgICAgICAgICAgICAgICBleHByLmZ1bmMudHlwZSA9PSBcInZhcmlhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gUmVzdWx0LnN1Y2Nlc3M8c3RyaW5nLCBzdHJpbmc+KGV4cHIuZnVuYy5uYW1lKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmV2YWx1YXRlKGV4cHIuZnVuYywgdmFyaWFibGVzKTtcbiAgICAgICAgICAgICAgICBpZiAoIXJhd0Z1bmMuc3VjY2Vzc2Z1bCkgcmV0dXJuIHJhd0Z1bmM7XG4gICAgICAgICAgICAgICAgbGV0IGZ1bmMgPSByYXdGdW5jLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgbGV0IGFyZ3M6IExpdGVyYWxbXSA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGFyZyBvZiBleHByLmFyZ3VtZW50cykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzb2x2ZWQgPSB0aGlzLmV2YWx1YXRlKGFyZywgdmFyaWFibGVzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNvbHZlZC5zdWNjZXNzZnVsKSByZXR1cm4gcmVzb2x2ZWQ7XG4gICAgICAgICAgICAgICAgICAgIGFyZ3MucHVzaChyZXNvbHZlZC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGNhbGw6IEZ1bmN0aW9uSW1wbDtcbiAgICAgICAgICAgICAgICBpZiAoTGl0ZXJhbHMuaXNGdW5jdGlvbihmdW5jKSkgY2FsbCA9IGZ1bmMgYXMgRnVuY3Rpb25JbXBsO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKExpdGVyYWxzLmlzU3RyaW5nKGZ1bmMpICYmIGZ1bmMgaW4gdGhpcy5mdW5jdGlvbnMpIGNhbGwgPSB0aGlzLmZ1bmN0aW9uc1tmdW5jXTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChMaXRlcmFscy5pc1N0cmluZyhmdW5jKSkgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBVbnJlY29nbml6ZWQgZnVuY3Rpb24gbmFtZSAnJHtmdW5jfSdgKTtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBSZXN1bHQuZmFpbHVyZShgQ2Fubm90IGNhbGwgdHlwZSAnJHtMaXRlcmFscy50eXBlT2YoZnVuYyl9JyBhcyBhIGZ1bmN0aW9uYCk7XG5cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoY2FsbCh0aGlzLCAuLi5hcmdzKSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LmZhaWx1cmUoZS5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiBHZXQgdmFyaWFibGVzIGZyb20gYSBwbGFpbiBvYmplY3QuICovXG5leHBvcnQgY2xhc3MgT2JqZWN0VmFyaWFibGVzIGltcGxlbWVudHMgVmFyaWFibGVzIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIG9iamVjdDogRGF0YU9iamVjdCkge31cblxuICAgIHB1YmxpYyBhbGwoKTogRGF0YU9iamVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZShuYW1lOiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0W25hbWVdO1xuICAgIH1cbn1cblxuLyoqIEdldCB2YXJpYWJsZXMgZnJvbSBhIGZpZWxkLWJlYXJpbmcgb2JqZWN0ICh3aGljaCBzdXBwb3J0cyBjYXNlIGluc2Vuc2l0aXZpdHkpLiAqL1xuZXhwb3J0IGNsYXNzIEZpZWxkYmVhcmluZ1ZhcmlhYmxlcyBpbXBsZW1lbnRzIFZhcmlhYmxlcyB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBvYmplY3Q6IEZpZWxkYmVhcmluZykge31cblxuICAgIHB1YmxpYyBhbGwoKTogRGF0YU9iamVjdCB7XG4gICAgICAgIGNvbnN0IG9iamVjdDogRGF0YU9iamVjdCA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMub2JqZWN0LmZpZWxkcykge1xuICAgICAgICAgICAgb2JqZWN0W2ZpZWxkLmtleV0gPSBmaWVsZC52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmUobmFtZTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdC5maWVsZChuYW1lKT8udmFsdWU7XG4gICAgfVxufVxuXG4vKiogRGVsZWdhdGUgdG8gbG9jYWwgY29udGV4dCBmaXJzdCwgdGhlbiB0byBwYXJlbnQgY29udGV4dCBpZiBub3QgYXZhaWxhYmxlLiAqL1xuZXhwb3J0IGNsYXNzIExhbWJkYVZhcmlhYmxlcyBpbXBsZW1lbnRzIFZhcmlhYmxlcyB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXJlbnQ6IFZhcmlhYmxlcywgcHVibGljIGxvY2FsczogUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4pIHt9XG5cbiAgICBwdWJsaWMgYWxsKCk6IERhdGFPYmplY3Qge1xuICAgICAgICByZXR1cm4geyAuLi50aGlzLnBhcmVudC5hbGwoKSwgLi4udGhpcy5sb2NhbHMgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZShuYW1lOiBzdHJpbmcpOiBMaXRlcmFsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxzW25hbWVdID8/IHRoaXMucGFyZW50LnJlc29sdmUobmFtZSk7XG4gICAgfVxufVxuXG4vKiogRGVmYXVsdCB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgbWFraW5nIHZhcmlhYmxlIHN0b3Jlcy4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgVmFyaWFibGVzIHtcbiAgICBleHBvcnQgZnVuY3Rpb24gZW1wdHkoKSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JqZWN0VmFyaWFibGVzKHt9KTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gaW5mZXIob2JqZWN0OiBhbnkpOiBWYXJpYWJsZXMge1xuICAgICAgICBpZiAoRmllbGRiZWFyaW5ncy5pc0ZpZWxkYmVhcmluZyhvYmplY3QpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZpZWxkYmVhcmluZ1ZhcmlhYmxlcyhvYmplY3QpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBPYmplY3RWYXJpYWJsZXMob2JqZWN0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBsYW1iZGEocGFyZW50OiBWYXJpYWJsZXMsIGxvY2FsczogUmVjb3JkPHN0cmluZywgTGl0ZXJhbD4pOiBWYXJpYWJsZXMge1xuICAgICAgICByZXR1cm4gbmV3IExhbWJkYVZhcmlhYmxlcyhwYXJlbnQsIGxvY2Fscyk7XG4gICAgfVxufVxuIiwgIi8vISBQcm92aWRlcyB1dGlsaXRpZXMgZm9yIGV4ZWN1dGluZyBxdWVyaWVzIGFnYWluc3QgdGhlIHN0b3JhZ2UgbGF5ZXIuXG5pbXBvcnQgeyBJbmRleFByaW1pdGl2ZSwgSW5kZXhRdWVyeSwgSW5kZXhTb3VyY2UgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXgtcXVlcnlcIjtcbmltcG9ydCB7IEZpbHRlciwgRmlsdGVycyB9IGZyb20gXCJleHByZXNzaW9uL2ZpbHRlcnNcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCJhcGkvcmVzdWx0XCI7XG5pbXBvcnQgeyBFeHByZXNzaW9uLCBFeHByZXNzaW9ucyB9IGZyb20gXCJleHByZXNzaW9uL2V4cHJlc3Npb25cIjtcbmltcG9ydCB7IEV2YWx1YXRvciwgVmFyaWFibGVzIH0gZnJvbSBcImV4cHJlc3Npb24vZXZhbHVhdG9yXCI7XG5pbXBvcnQgeyBJbmRleGFibGUgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXhhYmxlXCI7XG5pbXBvcnQgeyBMaXRlcmFscyB9IGZyb20gXCJleHByZXNzaW9uL2xpdGVyYWxcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbmRleCBRdWVyeSBPcHRpbWl6YXRpb24gLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKiogUGVyZm9ybSBzaW1wbGUgcmVjdXJzaXZlIG9wdGltaXphdGlvbnMgb3ZlciBhbiBpbmRleCBxdWVyeSwgc3VjaCBhcyBjb25zdGFudCBmb2xkaW5nIGFuZCBkZS1uZXN0aW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wdGltaXplUXVlcnkocXVlcnk6IEluZGV4UXVlcnkpOiBJbmRleFF1ZXJ5IHtcbiAgICBxdWVyeSA9IGRlbmVzdChxdWVyeSk7XG4gICAgcXVlcnkgPSBjb25zdGFudGZvbGQocXVlcnkpO1xuXG4gICAgcmV0dXJuIHF1ZXJ5O1xufVxuXG4vKiogRGUtbmVzdCByZWN1cnNpdmVseSBuZXN0ZWQgQU5EIGFuZCBPUiBxdWVyaWVzIGludG8gYSBzaW5nbGUgdG9wLWxldmVsIGFuZC9vci4gKi9cbmZ1bmN0aW9uIGRlbmVzdChxdWVyeTogSW5kZXhRdWVyeSk6IEluZGV4UXVlcnkge1xuICAgIHN3aXRjaCAocXVlcnkudHlwZSkge1xuICAgICAgICBjYXNlIFwiYW5kXCI6XG4gICAgICAgICAgICBjb25zdCBhbmRzID0gcXVlcnkuZWxlbWVudHMuZmxhdE1hcCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpeGVkID0gZGVuZXN0KGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlmIChmaXhlZC50eXBlID09PSBcImFuZFwiKSByZXR1cm4gZml4ZWQuZWxlbWVudHM7XG4gICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gW2ZpeGVkXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJhbmRcIiwgZWxlbWVudHM6IGFuZHMgfTtcbiAgICAgICAgY2FzZSBcIm9yXCI6XG4gICAgICAgICAgICBjb25zdCBvcnMgPSBxdWVyeS5lbGVtZW50cy5mbGF0TWFwKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZml4ZWQgPSBkZW5lc3QoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaWYgKGZpeGVkLnR5cGUgPT09IFwib3JcIikgcmV0dXJuIGZpeGVkLmVsZW1lbnRzO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIFtmaXhlZF07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwib3JcIiwgZWxlbWVudHM6IG9ycyB9O1xuICAgICAgICBjYXNlIFwibm90XCI6XG4gICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcIm5vdFwiLCBlbGVtZW50OiBkZW5lc3QocXVlcnkuZWxlbWVudCkgfTtcbiAgICAgICAgY2FzZSBcImNoaWxkLW9mXCI6XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgcXVlcnksIHsgcGFyZW50czogZGVuZXN0KHF1ZXJ5LnBhcmVudHMpIH0pO1xuICAgICAgICBjYXNlIFwicGFyZW50LW9mXCI6XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgcXVlcnksIHsgY2hpbGRyZW46IGRlbmVzdChxdWVyeS5jaGlsZHJlbikgfSk7XG4gICAgICAgIGNhc2UgXCJsaW5rZWRcIjpcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBxdWVyeSwgeyBzb3VyY2U6IGRlbmVzdChxdWVyeS5zb3VyY2UpIH0pO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgIH1cbn1cblxuLyoqIFBlcmZvcm0gY29uc3RhbnQgZm9sZGluZyBieSBlbGltaW5hdGluZyBkZWFkICd0cnVlJyBhbmQgJ2ZhbHNlJyB0ZXJtcy4gKi9cbmZ1bmN0aW9uIGNvbnN0YW50Zm9sZChxdWVyeTogSW5kZXhRdWVyeSk6IEluZGV4UXVlcnkge1xuICAgIHN3aXRjaCAocXVlcnkudHlwZSkge1xuICAgICAgICBjYXNlIFwiYW5kXCI6XG4gICAgICAgICAgICBjb25zdCBhY2hpbGRyZW4gPSBbXSBhcyBJbmRleFF1ZXJ5W107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHF1ZXJ5LmVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9sZGVkID0gY29uc3RhbnRmb2xkKGNoaWxkKTtcblxuICAgICAgICAgICAgICAgIC8vIEVsaW1pbmF0ZSAndHJ1ZScgY29uc3RhbnRzIGFuZCBlbGltaW5hdGUgdGhlIGVudGlyZSBhbmQgb24gYSAnZmFsc2UnIGNvbnN0YW50LlxuICAgICAgICAgICAgICAgIGlmIChmb2xkZWQudHlwZSA9PT0gXCJjb25zdGFudFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQuY29uc3RhbnQpIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIHJldHVybiB7IHR5cGU6IFwiY29uc3RhbnRcIiwgY29uc3RhbnQ6IGZhbHNlIH07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYWNoaWxkcmVuLnB1c2goZm9sZGVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJhbmRcIiwgZWxlbWVudHM6IGFjaGlsZHJlbiB9O1xuICAgICAgICBjYXNlIFwib3JcIjpcbiAgICAgICAgICAgIGNvbnN0IG9jaGlsZHJlbiA9IFtdIGFzIEluZGV4UXVlcnlbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgcXVlcnkuZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2xkZWQgPSBjb25zdGFudGZvbGQoY2hpbGQpO1xuXG4gICAgICAgICAgICAgICAgLy8gRWxpbWluYXRlICdmYWxzZScgY29uc3RhbnRzIGFuZCBzaG9ydCBjaXJjdWl0IG9uIGEgJ3RydWUnIGNvbnN0YW50LlxuICAgICAgICAgICAgICAgIGlmIChmb2xkZWQudHlwZSA9PT0gXCJjb25zdGFudFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZm9sZGVkLmNvbnN0YW50KSBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSByZXR1cm4geyB0eXBlOiBcImNvbnN0YW50XCIsIGNvbnN0YW50OiB0cnVlIH07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgb2NoaWxkcmVuLnB1c2goZm9sZGVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJvclwiLCBlbGVtZW50czogb2NoaWxkcmVuIH07XG4gICAgICAgIGNhc2UgXCJub3RcIjpcbiAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9IGNvbnN0YW50Zm9sZChxdWVyeS5lbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKGZvbGRlZC50eXBlID09PSBcImNvbnN0YW50XCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcImNvbnN0YW50XCIsIGNvbnN0YW50OiAhZm9sZGVkLmNvbnN0YW50IH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwibm90XCIsIGVsZW1lbnQ6IGZvbGRlZCB9O1xuICAgICAgICBjYXNlIFwiY2hpbGQtb2ZcIjpcbiAgICAgICAgICAgIC8vIHBhcmVudHMgPSBFTVBUWSBtZWFucyB0aGlzIHdpbGwgYWxzbyBiZSBlbXB0eS5cbiAgICAgICAgICAgIGNvbnN0IHBhcmVudHMgPSBjb25zdGFudGZvbGQocXVlcnkucGFyZW50cyk7XG4gICAgICAgICAgICBpZiAocGFyZW50cy50eXBlID09PSBcImNvbnN0YW50XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXBhcmVudHMuY29uc3RhbnQpIHJldHVybiB7IHR5cGU6IFwiY29uc3RhbnRcIiwgY29uc3RhbnQ6IGZhbHNlIH07XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocGFyZW50cy5jb25zdGFudCAmJiBxdWVyeS5pbmNsdXNpdmUpIHJldHVybiB7IHR5cGU6IFwiY29uc3RhbnRcIiwgY29uc3RhbnQ6IHRydWUgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHF1ZXJ5LCB7IHBhcmVudHMgfSk7XG4gICAgICAgIGNhc2UgXCJwYXJlbnQtb2ZcIjpcbiAgICAgICAgICAgIC8vIGNoaWxkcmVuID0gRU1QVFkgbWVhbnMgdGhpcyB3aWxsIGFsc28gYmUgZW1wdHkuXG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbnN0YW50Zm9sZChxdWVyeS5jaGlsZHJlbik7XG4gICAgICAgICAgICBpZiAoY2hpbGRyZW4udHlwZSA9PT0gXCJjb25zdGFudFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjaGlsZHJlbi5jb25zdGFudCkgcmV0dXJuIHsgdHlwZTogXCJjb25zdGFudFwiLCBjb25zdGFudDogZmFsc2UgfTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaGlsZHJlbi5jb25zdGFudCAmJiBxdWVyeS5pbmNsdXNpdmUpIHJldHVybiB7IHR5cGU6IFwiY29uc3RhbnRcIiwgY29uc3RhbnQ6IHRydWUgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHF1ZXJ5LCB7IGNoaWxkcmVuIH0pO1xuICAgICAgICBjYXNlIFwibGlua2VkXCI6XG4gICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb25zdGFudGZvbGQocXVlcnkuc291cmNlKTtcbiAgICAgICAgICAgIGlmIChzb3VyY2UudHlwZSA9PT0gXCJjb25zdGFudFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzb3VyY2UuY29uc3RhbnQpIHJldHVybiB7IHR5cGU6IFwiY29uc3RhbnRcIiwgY29uc3RhbnQ6IGZhbHNlIH07XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoc291cmNlLmNvbnN0YW50ICYmIHF1ZXJ5LmluY2x1c2l2ZSkgcmV0dXJuIHsgdHlwZTogXCJjb25zdGFudFwiLCBjb25zdGFudDogdHJ1ZSB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgcXVlcnksIHsgc291cmNlIH0pO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEluZGV4IFF1ZXJ5IEV4ZWN1dG9yIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKiogSW50ZXJmYWNlIHByb3ZpZGVkIHRvIHRoZSBxdWVyeSBleGVjdXRvciB0byByZXNvbHZlIHF1ZXJ5IGxlYWYgbm9kZXMgKGxpa2UgXCJmaW5kIGFsbCBwYWdlcyBtYXRjaGluZyAnI3RhZydcIikuICovXG5leHBvcnQgaW50ZXJmYWNlIEluZGV4UmVzb2x2ZXI8VD4ge1xuICAgIC8qKiBUaGUgc2V0IG9mIGFsbCBwb3NzaWJsZSBvYmplY3RzLiAqL1xuICAgIHVuaXZlcnNlOiBTZXQ8VD47XG5cbiAgICAvKiogUmVzb2x2ZSBhbiBhcmJpdHJhcnkgaW5kZXggc291cmNlIChsaWtlIFwiZmluZCBhbGwgcGFnZXMgbWF0Y2hpbmcgJyN0YWcnXCIpIGludG8gYSBmaWx0ZXIuICAqL1xuICAgIHJlc29sdmUobGVhZjogSW5kZXhTb3VyY2UpOiBSZXN1bHQ8RmlsdGVyPFQ+LCBzdHJpbmc+O1xuXG4gICAgLyoqIFJlc29sdmUgYW4gaW5kZXggcHJpbWl0aXZlLCB3aGljaCBpcyBnYXJhdW50ZWVkIHRvIG5ldmVyIHJhaXNlIGFuIGV4Y2VwdGlvbi4gKi9cbiAgICByZXNvbHZlUHJpbWl0aXZlKGxlYWY6IEluZGV4UHJpbWl0aXZlKTogRmlsdGVyPFQ+O1xuXG4gICAgLyoqIExvYWQgYSBzcGVjaWZpYyBvYmplY3QgaWYgYXZhaWxhYmxlLiAqL1xuICAgIGxvYWQoaWQ6IFQpOiBJbmRleGFibGUgfCB1bmRlZmluZWQ7XG59XG5cbi8qKiBFeGVjdXRlIGEgcXVlcnksIHVzaW5nIHRoZSBnaXZlbiByZXNvbHZlciB0byBleGVjdXRlIHRoZSBsZWFmIG5vZGVzIGFuZCB0aGUgZ2l2ZW4gZXZhbHVhdG9yIHRvIHJlc29sdmUgZXhwcmVzc2lvbnMuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlY3V0ZTxUPihcbiAgICBxdWVyeTogSW5kZXhRdWVyeSxcbiAgICByZXNvbHZlcjogSW5kZXhSZXNvbHZlcjxUPixcbiAgICBldmFsdWF0b3I6IEV2YWx1YXRvclxuKTogUmVzdWx0PEZpbHRlcjxUPiwgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHNpbXBsaWZ5KHF1ZXJ5LCByZXNvbHZlcikuZmxhdE1hcCgodHJlZSkgPT4gY29sbGFwc2UodHJlZSwgcmVzb2x2ZXIsIGV2YWx1YXRvcikpO1xufVxuXG4vKiogU2ltcGxpZnkgYSB0cmVlLCBjb21iaW5pbmcgcHJpbWl0aXZlcyBpbiBBTkRzL09Scy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGlmeTxUPihxdWVyeTogSW5kZXhRdWVyeSwgcmVzb2x2ZXI6IEluZGV4UmVzb2x2ZXI8VD4pOiBSZXN1bHQ8RmlsdGVyVHJlZTxUPiwgc3RyaW5nPiB7XG4gICAgc3dpdGNoIChxdWVyeS50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJhbmRcIjpcbiAgICAgICAgICAgIC8vIFRPRE86IEVhcmx5IHJldHVybiBvbiBhIE5PVEhJTkcgaW5zaWRlIHRoZSBtYXBBbGwgbG9vcC5cbiAgICAgICAgICAgIHJldHVybiBSZXN1bHQubWFwQWxsKHF1ZXJ5LmVsZW1lbnRzLCAoY2hpbGQpID0+IHNpbXBsaWZ5KGNoaWxkLCByZXNvbHZlcikpLm1hcCgoZWxlbWVudHMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmbGF0dGVuZWQgPSBlbGVtZW50cy5mbGF0TWFwKChlbGVtZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnR5cGUgPT09IFwiYW5kXCIgPyBlbGVtZW50LmVsZW1lbnRzIDogW2VsZW1lbnRdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyOiBGaWx0ZXJUcmVlPFQ+W10gPSBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmltaXRpdmUgPSBGaWx0ZXJzLmxhenlJbnRlcnNlY3QoZmxhdHRlbmVkLCAoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBcImZpbHRlclwiKSByZXR1cm4gZWxlbWVudC5maWx0ZXI7XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIEVhcmx5IHJldHVybiBvbiBOT1RISU5HIChub3RoaW5nIHdpbGwgbWF0Y2gpLCBhbmQgc2tpcCBvbiBOT1RISU5HLlxuICAgICAgICAgICAgICAgIGlmIChwcmltaXRpdmUudHlwZSA9PT0gXCJub3RoaW5nXCIpIHJldHVybiB7IHR5cGU6IFwiZmlsdGVyXCIsIGZpbHRlcjogRmlsdGVycy5OT1RISU5HIH07XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZlLnR5cGUgIT0gXCJldmVyeXRoaW5nXCIpIG90aGVyLnB1c2goRmlsdGVyVHJlZXMuZmlsdGVyKHByaW1pdGl2ZSkpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbHRlclRyZWVzLmFuZChvdGhlcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgY2FzZSBcIm9yXCI6XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0Lm1hcEFsbChxdWVyeS5lbGVtZW50cywgKGNoaWxkKSA9PiBzaW1wbGlmeShjaGlsZCwgcmVzb2x2ZXIpKS5tYXAoKGVsZW1lbnRzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmxhdHRlbmVkID0gZWxlbWVudHMuZmxhdE1hcCgoZWxlbWVudCkgPT4gKGVsZW1lbnQudHlwZSA9PT0gXCJvclwiID8gZWxlbWVudC5lbGVtZW50cyA6IFtlbGVtZW50XSkpO1xuXG4gICAgICAgICAgICAgICAgY29uc3Qgb3RoZXI6IEZpbHRlclRyZWU8VD5bXSA9IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByaW1pdGl2ZSA9IEZpbHRlcnMubGF6eVVuaW9uKGZsYXR0ZW5lZCwgKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gXCJmaWx0ZXJcIikgcmV0dXJuIGVsZW1lbnQuZmlsdGVyO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAvLyBFYXJseSByZXR1cm4gb24gRVZFUllUSElORyAoYWxsIHdpbGwgbWF0Y2gpLCBhbmQgc2tpcCBvbiBOT1RISU5HLlxuICAgICAgICAgICAgICAgIGlmIChwcmltaXRpdmUudHlwZSA9PT0gXCJldmVyeXRoaW5nXCIpIHJldHVybiB7IHR5cGU6IFwiZmlsdGVyXCIsIGZpbHRlcjogRmlsdGVycy5FVkVSWVRISU5HIH07XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZlLnR5cGUgIT0gXCJub3RoaW5nXCIpIG90aGVyLnB1c2goRmlsdGVyVHJlZXMuZmlsdGVyKHByaW1pdGl2ZSkpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbHRlclRyZWVzLm9yKG90aGVyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBjYXNlIFwibm90XCI6XG4gICAgICAgICAgICByZXR1cm4gc2ltcGxpZnkocXVlcnkuZWxlbWVudCwgcmVzb2x2ZXIpLm1hcChGaWx0ZXJUcmVlcy5ub3QpO1xuICAgICAgICBjYXNlIFwiZXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlcyA9IGhhc1ZhcmlhYmxlcyhxdWVyeS5leHByZXNzaW9uLCByZXNvbHZlcik7XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoeyB0eXBlOiBcInNjYW5cIiwgY2FuZGlkYXRlcywgZXhwcmVzc2lvbjogcXVlcnkuZXhwcmVzc2lvbiB9KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlci5yZXNvbHZlKHF1ZXJ5KS5tYXAoKGZpbHRlcikgPT4gKHsgdHlwZTogXCJmaWx0ZXJcIiwgZmlsdGVyIH0pKTtcbiAgICB9XG59XG5cbi8qKiBDb2xsYXBzZSBhIGZpbHRlciB0cmVlIGJ5IGV2YWx1YXRpbmcgYWxsIHNjYW5zIHdpdGggdGhlIGFwcHJvcHJpYXRlIGNvbnRleHQuICovXG5leHBvcnQgZnVuY3Rpb24gY29sbGFwc2U8VD4oXG4gICAgdHJlZTogRmlsdGVyVHJlZTxUPixcbiAgICByZXNvbHZlcjogSW5kZXhSZXNvbHZlcjxUPixcbiAgICBldmFsdWF0b3I6IEV2YWx1YXRvcixcbiAgICBsaW1pdDogRmlsdGVyPFQ+ID0gRmlsdGVycy5FVkVSWVRISU5HXG4pOiBSZXN1bHQ8RmlsdGVyPFQ+LCBzdHJpbmc+IHtcbiAgICBzd2l0Y2ggKHRyZWUudHlwZSkge1xuICAgICAgICBjYXNlIFwib3JcIjpcbiAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLmxhenlGYWlsYWJsZVVuaW9uKHRyZWUuZWxlbWVudHMsIChlbGVtZW50KSA9PiBjb2xsYXBzZShlbGVtZW50LCByZXNvbHZlciwgZXZhbHVhdG9yLCBsaW1pdCkpO1xuICAgICAgICBjYXNlIFwiYW5kXCI6XG4gICAgICAgICAgICBjb25zdCBwcmltaXRpdmVzID0gdHJlZS5lbGVtZW50c1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGVsZW0pOiBlbGVtIGlzIHsgdHlwZTogXCJmaWx0ZXJcIjsgZmlsdGVyOiBGaWx0ZXI8VD4gfSA9PiBlbGVtLnR5cGUgPT09IFwiZmlsdGVyXCIpXG4gICAgICAgICAgICAgICAgLm1hcCgoZikgPT4gZi5maWx0ZXIpO1xuICAgICAgICAgICAgbGV0IHJlc3RyaWN0ZWRMaW1pdCA9IEZpbHRlcnMuaW50ZXJzZWN0KFtsaW1pdCwgLi4ucHJpbWl0aXZlc10pO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdHJlZS5lbGVtZW50cykge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFwiZmlsdGVyXCIpIGNvbnRpbnVlOyAvLyBBbHJlYWR5IGluIHRoZSBpbnRlcnNlY3Rpb24uXG5cbiAgICAgICAgICAgICAgICBjb25zdCBtYXliZUV2YWx1YXRlZCA9IGNvbGxhcHNlKGVsZW1lbnQsIHJlc29sdmVyLCBldmFsdWF0b3IsIHJlc3RyaWN0ZWRMaW1pdCk7XG4gICAgICAgICAgICAgICAgaWYgKCFtYXliZUV2YWx1YXRlZC5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVFdmFsdWF0ZWQuY2FzdCgpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZXZhbHVhdGVkID0gbWF5YmVFdmFsdWF0ZWQudmFsdWU7XG4gICAgICAgICAgICAgICAgcmVzdHJpY3RlZExpbWl0ID0gRmlsdGVycy5pbnRlcnNlY3QoW3Jlc3RyaWN0ZWRMaW1pdCwgZXZhbHVhdGVkXSk7XG5cbiAgICAgICAgICAgICAgICBpZiAocmVzdHJpY3RlZExpbWl0LnR5cGUgPT09IFwibm90aGluZ1wiKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5OT1RISU5HKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHJlc3RyaWN0ZWRMaW1pdCk7XG4gICAgICAgIGNhc2UgXCJub3RcIjpcbiAgICAgICAgICAgIHJldHVybiBjb2xsYXBzZSh0cmVlLmVsZW1lbnQsIHJlc29sdmVyLCBldmFsdWF0b3IsIGxpbWl0KS5tYXAoRmlsdGVycy5uZWdhdGUpO1xuICAgICAgICBjYXNlIFwiZmlsdGVyXCI6XG4gICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3ModHJlZS5maWx0ZXIpO1xuICAgICAgICBjYXNlIFwic2NhblwiOlxuICAgICAgICAgICAgLy8gTG9jYWwgdHJlZSBjYW5kaWRhdGVzICsgZXhpc3RpbmcgbGltaXQgdG8gcHJvZHVjZSB0aGUgbWluaW1hbCBzZXQgb2YgY2FuZGlkYXRlcy5cbiAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBGaWx0ZXJzLnJlc29sdmUoRmlsdGVycy5pbnRlcnNlY3QoW3RyZWUuY2FuZGlkYXRlcywgbGltaXRdKSwgcmVzb2x2ZXIudW5pdmVyc2UpO1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlclNjYW4oY2FuZGlkYXRlcywgdHJlZS5leHByZXNzaW9uLCBldmFsdWF0b3IsIHJlc29sdmVyKS5tYXAoRmlsdGVycy5hdG9tKTtcbiAgICB9XG59XG5cbi8qKiBTY2FuIG92ZXIgYWxsIGNhbmRpZGF0ZSBvYmplY3RzLCByZXR1cm5pbmcgb2JqZWN0cyBmb3Igd2hpY2ggdGhlIGdpdmVuIGV4cHJlc3Npb24gcmVzb2x2ZXMgdG8gdHJ1ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJTY2FuPFQ+KFxuICAgIGNhbmRpZGF0ZXM6IFNldDxUPixcbiAgICBleHByOiBFeHByZXNzaW9uLFxuICAgIGV2YWx1YXRvcjogRXZhbHVhdG9yLFxuICAgIHJlc29sdmVyOiBJbmRleFJlc29sdmVyPFQ+XG4pOiBSZXN1bHQ8U2V0PFQ+LCBzdHJpbmc+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFQ+KCk7XG4gICAgZm9yIChjb25zdCBjYW5kaWRhdGUgb2YgY2FuZGlkYXRlcykge1xuICAgICAgICBjb25zdCBvYmplY3QgPSByZXNvbHZlci5sb2FkKGNhbmRpZGF0ZSk7XG4gICAgICAgIGlmICghb2JqZWN0KSBjb250aW51ZTtcblxuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2YWx1YXRvci5ldmFsdWF0ZShleHByLCBWYXJpYWJsZXMuaW5mZXIob2JqZWN0KSk7XG4gICAgICAgIGlmICghdmFsdWUuc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5mYWlsdXJlKGBFcnJvciB3aGlsZSBldmFsdWF0aW5nIGV4cHJlc3Npb24gXCIke0V4cHJlc3Npb25zLnRvU3RyaW5nKGV4cHIpfVwiOiAke3ZhbHVlLmVycm9yfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKExpdGVyYWxzLmlzVHJ1dGh5KHZhbHVlLnZhbHVlKSkgcmVzdWx0LmFkZChjYW5kaWRhdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKHJlc3VsdCk7XG59XG5cbi8qKiBGaWx0ZXJzIGFuIGV4cHJlc3Npb24gdG8gZmluZCBwYWdlcyB0aGF0IGhhdmUgdGhlIHZhcmlhYmxlcyBmb3IgdGhhdCBleHByZXNzaW9uLiAgKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNWYXJpYWJsZXM8VD4oZXhwcjogRXhwcmVzc2lvbiwgcmVzb2x2ZXI6IEluZGV4UmVzb2x2ZXI8VD4pOiBGaWx0ZXI8VD4ge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IEV4cHJlc3Npb25zLnVuYm91bmRWYXJpYWJsZXMoZXhwciwgbmV3IFNldChbRXhwcmVzc2lvbnMuUk9XLCBcInRoaXNcIl0pKTtcblxuICAgIC8vIHZhcmlhYmxlcyA9IDAgaW1wbGllc3Mgc29tZSB3ZWlyZCBmdW5jdGlvbiBvciBjb25zdGFudCBleHByZXNzaW9uLlxuICAgIC8vIFRPRE86IHdlIGNhbiBwcm9iYWJseSBldmFsdWF0ZSBpdCB3aXRob3V0IGV2ZW4gc2Nhbm5pbmcgdG8gYHRydWVgIG9yIGBmYWxzZWAgYnV0IHRvIGJlIGRlZmVuc2l2ZSBoYXZlIHRvIHJldHVybiBldmVyeXRoaW5nIGZvciBub3cuXG4gICAgaWYgKHZhcmlhYmxlcy5zaXplID09IDApIHJldHVybiBGaWx0ZXJzLkVWRVJZVEhJTkc7XG5cbiAgICByZXR1cm4gRmlsdGVycy5sYXp5VW5pb24odmFyaWFibGVzLCAodmFyaWFibGUpID0+IHJlc29sdmVyLnJlc29sdmVQcmltaXRpdmUoeyB0eXBlOiBcImZpZWxkXCIsIHZhbHVlOiB2YXJpYWJsZSB9KSk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRmlsdGVyIFRyZWVzIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy9cblxuZXhwb3J0IHR5cGUgRmlsdGVyVHJlZTxUPiA9XG4gICAgfCB7IHR5cGU6IFwiYW5kXCI7IGVsZW1lbnRzOiBGaWx0ZXJUcmVlPFQ+W10gfVxuICAgIHwgeyB0eXBlOiBcIm9yXCI7IGVsZW1lbnRzOiBGaWx0ZXJUcmVlPFQ+W10gfVxuICAgIHwgeyB0eXBlOiBcIm5vdFwiOyBlbGVtZW50OiBGaWx0ZXJUcmVlPFQ+IH1cbiAgICB8IHsgdHlwZTogXCJmaWx0ZXJcIjsgZmlsdGVyOiBGaWx0ZXI8VD4gfVxuICAgIHwgeyB0eXBlOiBcInNjYW5cIjsgY2FuZGlkYXRlczogRmlsdGVyPFQ+OyBleHByZXNzaW9uOiBFeHByZXNzaW9uIH07XG5cbmV4cG9ydCBuYW1lc3BhY2UgRmlsdGVyVHJlZXMge1xuICAgIGV4cG9ydCBmdW5jdGlvbiBmaWx0ZXI8VD4oZmlsdGVyOiBGaWx0ZXI8VD4pOiBGaWx0ZXJUcmVlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJmaWx0ZXJcIiwgZmlsdGVyIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGFuZDxUPihjaGlsZHJlbjogRmlsdGVyVHJlZTxUPltdKTogRmlsdGVyVHJlZTxUPiB7XG4gICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT0gMCkgcmV0dXJuIGZpbHRlcihGaWx0ZXJzLkVWRVJZVEhJTkcpO1xuICAgICAgICBlbHNlIGlmIChjaGlsZHJlbi5sZW5ndGggPT0gMSkgcmV0dXJuIGNoaWxkcmVuWzBdO1xuICAgICAgICBlbHNlIHJldHVybiB7IHR5cGU6IFwiYW5kXCIsIGVsZW1lbnRzOiBjaGlsZHJlbiB9O1xuICAgIH1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBvcjxUPihjaGlsZHJlbjogRmlsdGVyVHJlZTxUPltdKTogRmlsdGVyVHJlZTxUPiB7XG4gICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT0gMCkgcmV0dXJuIGZpbHRlcihGaWx0ZXJzLk5PVEhJTkcpO1xuICAgICAgICBlbHNlIGlmIChjaGlsZHJlbi5sZW5ndGggPT0gMSkgcmV0dXJuIGNoaWxkcmVuWzBdO1xuICAgICAgICBlbHNlIHJldHVybiB7IHR5cGU6IFwib3JcIiwgZWxlbWVudHM6IGNoaWxkcmVuIH07XG4gICAgfVxuXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG5vdDxUPihjaGlsZDogRmlsdGVyVHJlZTxUPik6IEZpbHRlclRyZWU8VD4ge1xuICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gXCJmaWx0ZXJcIikgcmV0dXJuIHsgdHlwZTogXCJmaWx0ZXJcIiwgZmlsdGVyOiBGaWx0ZXJzLm5lZ2F0ZShjaGlsZC5maWx0ZXIpIH07XG4gICAgICAgIGVsc2UgcmV0dXJuIHsgdHlwZTogXCJub3RcIiwgZWxlbWVudDogY2hpbGQgfTtcbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgTGluaywgTGl0ZXJhbHMgfSBmcm9tIFwiZXhwcmVzc2lvbi9saXRlcmFsXCI7XG5pbXBvcnQgeyBGaWx0ZXIsIEZpbHRlcnMgfSBmcm9tIFwiZXhwcmVzc2lvbi9maWx0ZXJzXCI7XG5pbXBvcnQgeyBGb2xkZXJJbmRleCB9IGZyb20gXCJpbmRleC9zdG9yYWdlL2ZvbGRlclwiO1xuaW1wb3J0IHsgSW52ZXJ0ZWRJbmRleCB9IGZyb20gXCJpbmRleC9zdG9yYWdlL2ludmVydGVkXCI7XG5pbXBvcnQgeyBJbmRleFByaW1pdGl2ZSwgSW5kZXhRdWVyeSwgSW5kZXhTb3VyY2UgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXgtcXVlcnlcIjtcbmltcG9ydCB7IEluZGV4YWJsZSwgTElOS0FCTEVfVFlQRSwgTElOS0JFQVJJTkdfVFlQRSwgVEFHR0FCTEVfVFlQRSB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IE1ldGFkYXRhQ2FjaGUsIFZhdWx0IH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBNYXJrZG93blBhZ2UgfSBmcm9tIFwiLi90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgZXh0cmFjdFN1YnRhZ3MsIG5vcm1hbGl6ZUhlYWRlckZvckxpbmsgfSBmcm9tIFwidXRpbHMvbm9ybWFsaXplcnNcIjtcbmltcG9ydCBGbGF0UXVldWUgZnJvbSBcImZsYXRxdWV1ZVwiO1xuaW1wb3J0IHsgQlRyZWVGaWVsZEluZGV4LCBFdmVyeXRoaW5nRmllbGRJbmRleCwgRmllbGRJbmRleCwgSWRGaWVsZEluZGV4LCBTZXRGaWVsZEluZGV4IH0gZnJvbSBcImluZGV4L3N0b3JhZ2UvZmllbGRzXCI7XG5pbXBvcnQgeyBGSUVMREJFQVJJTkdfVFlQRSwgRmllbGQsIEZpZWxkYmVhcmluZyB9IGZyb20gXCJleHByZXNzaW9uL2ZpZWxkXCI7XG5pbXBvcnQgeyBJbmRleFJlc29sdmVyLCBleGVjdXRlLCBvcHRpbWl6ZVF1ZXJ5IH0gZnJvbSBcImluZGV4L3N0b3JhZ2UvcXVlcnktZXhlY3V0b3JcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCJhcGkvcmVzdWx0XCI7XG5pbXBvcnQgeyBFdmFsdWF0b3IgfSBmcm9tIFwiZXhwcmVzc2lvbi9ldmFsdWF0b3JcIjtcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSBcInNldHRpbmdzXCI7XG5cbi8qKiBDZW50cmFsLCBpbmRleCBzdG9yYWdlIGZvciBkYXRhY29yZSB2YWx1ZXMuICovXG5leHBvcnQgY2xhc3MgRGF0YXN0b3JlIHtcbiAgICAvKiogVGhlIGN1cnJlbnQgc3RvcmUgcmV2aXNpb24uICovXG4gICAgcHVibGljIHJldmlzaW9uOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogTWFzdGVyIGNvbGxlY3Rpb24gb2YgYWxsIG9iamVjdCBJRHMuIFRoaXMgaXMgdGVjaG5pY2FsbHkgcmVkdW5kYW50IHdpdGggb2JqZWN0cy5rZXlzKCkgYnV0IHRoaXMgaXMgYSBmYXN0IHNldFxuICAgICAqIGNvbXBhcmVkIHRvIGFuIGl0ZXJhdG9yLlxuICAgICAqL1xuICAgIHByaXZhdGUgaWRzOiBTZXQ8c3RyaW5nPjtcbiAgICAvKiogVGhlIG1hc3RlciBjb2xsZWN0aW9uIG9mIEFMTCBpbmRleGVkIG9iamVjdHMsIG1hcHBpbmcgSUQgLT4gdGhlIG9iamVjdC4gKi9cbiAgICBwcml2YXRlIG9iamVjdHM6IE1hcDxzdHJpbmcsIEluZGV4YWJsZT47XG4gICAgLyoqIE1hcCBwYXJlbnQgb2JqZWN0IHRvIGl0J3MgZGlyZWN0IGNoaWxkIG9iamVjdHMuICovXG4gICAgcHJpdmF0ZSBjaGlsZHJlbjogTWFwPHN0cmluZywgU2V0PHN0cmluZz4+O1xuXG4gICAgLy8gSW5kaWNlcyBmb3IgdGhlIHZhcmlvdXMgYWNjZXB0ZWQgcXVlcnkgdHlwZXMuIFRoZXNlIHdpbGwgcHJvYmFibHkgYmUgbW92ZWQgdG8gYSBkaWZmZXJlbnQgdHlwZSBsYXRlci5cbiAgICAvKiogR2xvYmFsIG1hcCBvZiBvYmplY3QgdHlwZSAtPiBsaXN0IG9mIGFsbCBvYmplY3RzIG9mIHRoYXQgdHlwZS4gKi9cbiAgICBwcml2YXRlIHR5cGVzOiBJbnZlcnRlZEluZGV4PHN0cmluZz47XG4gICAgLyoqIFRyYWNrcyBleGFjdCB0YWcgb2NjdXJlbmNlIGluIG9iamVjdHMuICovXG4gICAgcHJpdmF0ZSBldGFnczogSW52ZXJ0ZWRJbmRleDxzdHJpbmc+O1xuICAgIC8qKiBUcmFja3MgdGFnIG9jY3VyZW5jZSBpbiBvYmplY3RzLiAqL1xuICAgIHByaXZhdGUgdGFnczogSW52ZXJ0ZWRJbmRleDxzdHJpbmc+O1xuICAgIC8qKiBNYXBzIGxpbmsgc3RyaW5ncyB0byB0aGUgb2JqZWN0IElEcyB0aGF0IGxpbmsgdG8gdGhvc2UgbGlua3MuICovXG4gICAgcHJpdmF0ZSBsaW5rczogSW52ZXJ0ZWRJbmRleDxzdHJpbmc+O1xuICAgIC8qKiBUcmFja3MgdGhlIGV4aXN0ZW5jZSBvZiBmaWVsZHMgKGluZGV4ZWQgYnkgbm9ybWFsaXplZCBrZXkgbmFtZSkuICovXG4gICAgcHJpdmF0ZSBmaWVsZHM6IE1hcDxzdHJpbmcsIEZpZWxkSW5kZXg+O1xuICAgIC8qKlxuICAgICAqIFF1aWNrIHNlYXJjaGVzIGZvciBvYmplY3RzIGluIGZvbGRlcnMuIFRoaXMgaW5kZXggb25seSB0cmFja3MgdG9wLWxldmVsIG9iamVjdHMgLSBpdCBpcyBleHBhbmRlZCByZWN1cnNpdmVseSB0b1xuICAgICAqIGZpbmQgY2hpbGQgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGZvbGRlcjogRm9sZGVySW5kZXg7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHZhdWx0OiBWYXVsdCwgcHVibGljIG1ldGFkYXRhQ2FjaGU6IE1ldGFkYXRhQ2FjaGUsIHB1YmxpYyBzZXR0aW5nczogU2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5yZXZpc2lvbiA9IDA7XG4gICAgICAgIHRoaXMuaWRzID0gbmV3IFNldCgpO1xuICAgICAgICB0aGlzLm9iamVjdHMgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSBuZXcgTWFwKCk7XG5cbiAgICAgICAgdGhpcy50eXBlcyA9IG5ldyBJbnZlcnRlZEluZGV4KCk7XG4gICAgICAgIHRoaXMuZXRhZ3MgPSBuZXcgSW52ZXJ0ZWRJbmRleCgpO1xuICAgICAgICB0aGlzLnRhZ3MgPSBuZXcgSW52ZXJ0ZWRJbmRleCgpO1xuICAgICAgICB0aGlzLmxpbmtzID0gbmV3IEludmVydGVkSW5kZXgoKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSB0aGlzLl9pbml0aWFsaXplRmllbGRzKCk7XG4gICAgICAgIHRoaXMuZm9sZGVyID0gbmV3IEZvbGRlckluZGV4KHZhdWx0KTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2Ygb2JqZWN0cyBpbiB0aGUgc3RvcmUuICovXG4gICAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdHMuc2l6ZTtcbiAgICB9XG5cbiAgICAvKiogVXBkYXRlIHRoZSByZXZpc2lvbiBvZiB0aGUgZGF0YXN0b3JlIGR1ZSB0byBhbiBleHRlcm5hbCB1cGRhdGUuICovXG4gICAgcHVibGljIHRvdWNoKCkge1xuICAgICAgICB0aGlzLnJldmlzaW9uICs9IDE7XG4gICAgfVxuXG4gICAgLyoqIExvYWQgYW4gb2JqZWN0IGJ5IElELiAqL1xuICAgIHB1YmxpYyBsb2FkKGlkOiBzdHJpbmcpOiBJbmRleGFibGUgfCB1bmRlZmluZWQ7XG4gICAgLyoqIExvYWQgYSBsaXN0IG9mIG9iamVjdHMgYnkgSUQuICovXG4gICAgcHVibGljIGxvYWQoaWRzOiBzdHJpbmdbXSk6IEluZGV4YWJsZVtdO1xuXG4gICAgLyoqIExvYWQgYW4gb2JqZWN0IGJ5IElEIG9yIGxpc3Qgb2YgSURzLiAqL1xuICAgIGxvYWQoaWQ6IHN0cmluZyB8IHN0cmluZ1tdKTogSW5kZXhhYmxlIHwgSW5kZXhhYmxlW10gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpZC5tYXAoKGEpID0+IHRoaXMubG9hZChhKSkuZmlsdGVyKChvYmopOiBvYmogaXMgSW5kZXhhYmxlID0+IG9iaiAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdHMuZ2V0KGlkKTtcbiAgICB9XG5cbiAgICAvKiogU2V0cyB1cCBzYW5lIGZpZWxkIGRlZmF1bHRzIGZvciBzZXZlcmFsIGluZGV4YWJsZSBmaWVsZHMuICovXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUZpZWxkcygpOiBNYXA8c3RyaW5nLCBGaWVsZEluZGV4PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkcyA9IG5ldyBNYXA8c3RyaW5nLCBGaWVsZEluZGV4PigpO1xuXG4gICAgICAgIC8vIFNwZWNpYWxpemUgaW5kaWNlcyBmb3IgJGlkIGFuZCB0aGUgb3RoZXIgb21uaXByZXNlbnQgZmllbGQgdmFsdWVzLlxuICAgICAgICBmaWVsZHMuc2V0KFxuICAgICAgICAgICAgXCIkaWRcIixcbiAgICAgICAgICAgIG5ldyBJZEZpZWxkSW5kZXgoXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5pZHMsXG4gICAgICAgICAgICAgICAgKGlkKSA9PiB0aGlzLm9iamVjdHMuaGFzKGlkKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBmaWVsZHMuc2V0KFwiJHR5cGVzXCIsIG5ldyBFdmVyeXRoaW5nRmllbGRJbmRleCgoKSA9PiB0aGlzLmlkcykpO1xuICAgICAgICBmaWVsZHMuc2V0KFwiJHR5cGVuYW1lXCIsIG5ldyBFdmVyeXRoaW5nRmllbGRJbmRleCgoKSA9PiB0aGlzLmlkcykpO1xuICAgICAgICBmaWVsZHMuc2V0KFwiJHJldmlzaW9uXCIsIG5ldyBFdmVyeXRoaW5nRmllbGRJbmRleCgoKSA9PiB0aGlzLmlkcykpO1xuXG4gICAgICAgIC8vIE9wdGltaXplIG92ZXIgJGNvbXBsZXRlZCBhbmQgJHN0YXR1cyBsb29rdXBzIGZvciB0YXNrcy5cbiAgICAgICAgZmllbGRzLnNldChcIiRjb21wbGV0ZWRcIiwgbmV3IEJUcmVlRmllbGRJbmRleCgpKTtcbiAgICAgICAgZmllbGRzLnNldChcIiRzdGF0dXNcIiwgbmV3IEJUcmVlRmllbGRJbmRleCgpKTtcblxuICAgICAgICByZXR1cm4gZmllbGRzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlIHRoZSBnaXZlbiBvYmplY3QsIG1ha2luZyBpdCBpbW1lZGlhdGVseSBxdWVyeWFibGUuIFN0b3JpbmcgYW4gb2JqZWN0XG4gICAgICogdGFrZXMgb3duZXJzaGlwIG92ZXIgaXQsIGFuZCBpbmRleC1zcGVjaWZpYyB2YXJpYWJsZXMgKHByZWZpeGVkIHZpYSAnJCcpIG1heSBiZVxuICAgICAqIGFkZGVkIHRvIHRoZSBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIHN0b3JlPFQgZXh0ZW5kcyBJbmRleGFibGU+KG9iamVjdDogVCB8IFRbXSwgc3Vic3RvcmVyPzogU3Vic3RvcmVyPFQ+KSB7XG4gICAgICAgIHRoaXMuX3JlY3Vyc2l2ZVN0b3JlKG9iamVjdCwgdGhpcy5yZXZpc2lvbisrLCBzdWJzdG9yZXIsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgLyoqIFJlY3Vyc2l2ZWx5IHN0b3JlIG9iamVjdHMgdXNpbmcgYSBwb3RlbnRpYWwgc3ViaW5kZXhlci4gKi9cbiAgICBwcml2YXRlIF9yZWN1cnNpdmVTdG9yZTxUIGV4dGVuZHMgSW5kZXhhYmxlPihcbiAgICAgICAgb2JqZWN0OiBUIHwgVFtdLFxuICAgICAgICByZXZpc2lvbjogbnVtYmVyLFxuICAgICAgICBzdWJzdG9yZXI/OiBTdWJzdG9yZXI8VD4sXG4gICAgICAgIHBhcmVudD86IEluZGV4YWJsZVxuICAgICkge1xuICAgICAgICAvLyBIYW5kbGUgYXJyYXkgaW5wdXRzLlxuICAgICAgICBpZiAoTGl0ZXJhbHMuaXNBcnJheShvYmplY3QpKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBlbGVtZW50IG9mIG9iamVjdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlY3Vyc2l2ZVN0b3JlKGVsZW1lbnQsIHJldmlzaW9uLCBzdWJzdG9yZXIsIHBhcmVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlbGV0ZSB0aGUgcHJldmlvdXMgaW5zdGFuY2Ugb2YgdGhpcyBvYmplY3QgaWYgcHJlc2VudC5cbiAgICAgICAgLy8gVE9ETzogUHJvYmFibHkgb25seSBhY3R1YWxseSBuZWVkIHRvIGRlbGV0ZSB0aGUgcm9vdCBvYmplY3RzLlxuICAgICAgICB0aGlzLl9kZWxldGVSZWN1cnNpdmUob2JqZWN0LiRpZCk7XG5cbiAgICAgICAgLy8gQXNzaWduIHRoZSBuZXh0IHJldmlzaW9uIHRvIHRoaXMgb2JqZWN0OyBpbmRleGVkIG9iamVjdHMgYXJlIGltcGxpZWQgdG8gYmUgcm9vdCBvYmplY3RzLlxuICAgICAgICBvYmplY3QuJHJldmlzaW9uID0gcmV2aXNpb247XG4gICAgICAgIG9iamVjdC4kcGFyZW50ID0gcGFyZW50O1xuXG4gICAgICAgIC8vIEFkZCB0aGUgb2JqZWN0IHRvIHRoZSBhcHByb3ByaWF0ZSBvYmplY3QgbWFwcy5cbiAgICAgICAgdGhpcy5pZHMuYWRkKG9iamVjdC4kaWQpO1xuICAgICAgICB0aGlzLm9iamVjdHMuc2V0KG9iamVjdC4kaWQsIG9iamVjdCk7XG5cbiAgICAgICAgLy8gQWRkIHRoZSBvYmplY3QgdG8gdGhlIHBhcmVudCBjaGlsZHJlbiBtYXAuXG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jaGlsZHJlbi5oYXMocGFyZW50LiRpZCkpIHRoaXMuY2hpbGRyZW4uc2V0KHBhcmVudC4kaWQsIG5ldyBTZXQoKSk7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuLmdldChwYXJlbnQuJGlkKSEuYWRkKG9iamVjdC4kaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faW5kZXgob2JqZWN0KTtcblxuICAgICAgICAvLyBJbmRleCBhbnkgc3Vib3JkaW5hdGUgb2JqZWN0cyBpbiB0aGlzIG9iamVjdC5cbiAgICAgICAgc3Vic3RvcmVyPy4ob2JqZWN0LCAoaW5jb21pbmcsIHN1YmluZGV4KSA9PiB0aGlzLl9yZWN1cnNpdmVTdG9yZShpbmNvbWluZywgcmV2aXNpb24sIHN1YmluZGV4LCBvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKiogRGVsZXRlIGFuIG9iamVjdCBieSBJRCBmcm9tIHRoZSBpbmRleCwgcmVjdXJzaXZlbHkgZGVsZXRpbmcgYW55IGNoaWxkIG9iamVjdHMgYXMgd2VsbC4gKi9cbiAgICBwdWJsaWMgZGVsZXRlKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX2RlbGV0ZVJlY3Vyc2l2ZShpZCkpIHtcbiAgICAgICAgICAgIHRoaXMucmV2aXNpb24rKztcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBJbnRlcm5hbCBtZXRob2QgdGhhdCBkb2VzIG5vdCBidW1wIHRoZSByZXZpc2lvbi4gKi9cbiAgICBwcml2YXRlIF9kZWxldGVSZWN1cnNpdmUoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBvYmplY3QgPSB0aGlzLm9iamVjdHMuZ2V0KGlkKTtcbiAgICAgICAgaWYgKCFvYmplY3QpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgY2hpbGQgb2JqZWN0cy5cbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuLmdldChpZCk7XG4gICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWxldGVSZWN1cnNpdmUoY2hpbGQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuLmRlbGV0ZShpZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEcm9wIHRoaXMgb2JqZWN0IGZyb20gdGhlIGFwcHJvcHJpYXRlIG1hcHMuXG4gICAgICAgIHRoaXMuX3VuaW5kZXgob2JqZWN0KTtcbiAgICAgICAgdGhpcy5pZHMuZGVsZXRlKGlkKTtcbiAgICAgICAgdGhpcy5vYmplY3RzLmRlbGV0ZShpZCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKiBBZGQgdGhlIGdpdmVuIGluZGV4YWJsZSB0byB0aGUgYXBwcm9wcmlhdGUgaW5kaWNlcy4gKi9cbiAgICBwcml2YXRlIF9pbmRleChvYmplY3Q6IEluZGV4YWJsZSkge1xuICAgICAgICB0aGlzLnR5cGVzLnNldChvYmplY3QuJGlkLCBvYmplY3QuJHR5cGVzKTtcblxuICAgICAgICAvLyBFeGFjdCBhbmQgZGVyaXZlZCB0YWdzLlxuICAgICAgICBpZiAob2JqZWN0LiR0eXBlcy5jb250YWlucyhUQUdHQUJMRV9UWVBFKSAmJiBpdGVyYWJsZUV4aXN0cyhvYmplY3QsIFwiJHRhZ3NcIikpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSBvYmplY3QuJHRhZ3MgYXMgU2V0PHN0cmluZz47XG5cbiAgICAgICAgICAgIHRoaXMuZXRhZ3Muc2V0KG9iamVjdC4kaWQsIHRhZ3MpO1xuICAgICAgICAgICAgdGhpcy50YWdzLnNldChvYmplY3QuJGlkLCBleHRyYWN0U3VidGFncyh0YWdzKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeGFjdCBhbmQgZGVyaXZlZCBsaW5rcy5cbiAgICAgICAgaWYgKG9iamVjdC4kdHlwZXMuY29udGFpbnMoTElOS0JFQVJJTkdfVFlQRSkgJiYgaXRlcmFibGVFeGlzdHMob2JqZWN0LCBcIiRsaW5rc1wiKSkge1xuICAgICAgICAgICAgdGhpcy5saW5rcy5zZXQoXG4gICAgICAgICAgICAgICAgb2JqZWN0LiRpZCxcbiAgICAgICAgICAgICAgICAob2JqZWN0LiRsaW5rcyBhcyBMaW5rW10pLm1hcCgobGluaykgPT4gbGluay5vYnNpZGlhbkxpbmsoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbGwgZmllbGRzIG9uIGFuIG9iamVjdC5cbiAgICAgICAgaWYgKG9iamVjdC4kdHlwZXMuY29udGFpbnMoRklFTERCRUFSSU5HX1RZUEUpICYmIFwiZmllbGRzXCIgaW4gb2JqZWN0KSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIG9iamVjdC5maWVsZHMgYXMgSXRlcmFibGU8RmllbGQ+KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybSA9IGZpZWxkLmtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZHMuaGFzKG5vcm0pKSB0aGlzLmZpZWxkcy5zZXQobm9ybSwgbmV3IFNldEZpZWxkSW5kZXgoKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5nZXQobm9ybSkhLmFkZChvYmplY3QuJGlkLCBmaWVsZC52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmVtb3ZlIHRoZSBnaXZlbiBpbmRleGFibGUgZnJvbSBhbGwgaW5kaWNlcy4gKi9cbiAgICBwcml2YXRlIF91bmluZGV4KG9iamVjdDogSW5kZXhhYmxlKSB7XG4gICAgICAgIHRoaXMudHlwZXMuZGVsZXRlKG9iamVjdC4kaWQsIG9iamVjdC4kdHlwZXMpO1xuXG4gICAgICAgIGlmIChvYmplY3QuJHR5cGVzLmNvbnRhaW5zKFRBR0dBQkxFX1RZUEUpICYmIGl0ZXJhYmxlRXhpc3RzKG9iamVjdCwgXCIkdGFnc1wiKSkge1xuICAgICAgICAgICAgY29uc3QgdGFncyA9IG9iamVjdC4kdGFncyBhcyBTZXQ8c3RyaW5nPjtcblxuICAgICAgICAgICAgdGhpcy5ldGFncy5kZWxldGUob2JqZWN0LiRpZCwgdGFncyk7XG4gICAgICAgICAgICB0aGlzLnRhZ3MuZGVsZXRlKG9iamVjdC4kaWQsIGV4dHJhY3RTdWJ0YWdzKHRhZ3MpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvYmplY3QuJHR5cGVzLmNvbnRhaW5zKExJTktCRUFSSU5HX1RZUEUpICYmIGl0ZXJhYmxlRXhpc3RzKG9iamVjdCwgXCIkbGlua3NcIikpIHtcbiAgICAgICAgICAgIC8vIEFzc3VtZSBsaW5rcyBhcmUgbm9ybWFsaXplZCB3aGVuIGRlbGV0aW5nIHRoZW0uIENvdWxkIGJlIGJyb2tlbiBidXQgSSBob3BlIG5vdC4gV2UgY2FuIGFsd2F5cyB1c2UgYSAyLXdheSBpbmRleCB0b1xuICAgICAgICAgICAgLy8gZml4IHRoaXMgaWYgd2UgZW5jb3VudGVyIG5vbi1ub3JtYWxpemVkIGxpbmtzLlxuICAgICAgICAgICAgdGhpcy5saW5rcy5kZWxldGUoXG4gICAgICAgICAgICAgICAgb2JqZWN0LiRpZCxcbiAgICAgICAgICAgICAgICAob2JqZWN0LiRsaW5rcyBhcyBMaW5rW10pLm1hcCgobGluaykgPT4gbGluay5vYnNpZGlhbkxpbmsoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob2JqZWN0LiR0eXBlcy5jb250YWlucyhGSUVMREJFQVJJTkdfVFlQRSkgJiYgXCJmaWVsZHNcIiBpbiBvYmplY3QpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGQgb2Ygb2JqZWN0LmZpZWxkcyBhcyBJdGVyYWJsZTxGaWVsZD4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBub3JtID0gZmllbGQua2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkcy5oYXMobm9ybSkpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZ2V0KG5vcm0pIS5kZWxldGUob2JqZWN0LiRpZCwgZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvbXBsZXRlbHkgY2xlYXIgdGhlIGRhdGFzdG9yZSBvZiBhbGwgdmFsdWVzLiAqL1xuICAgIHB1YmxpYyBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5pZHMuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5vYmplY3RzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4uY2xlYXIoKTtcblxuICAgICAgICB0aGlzLnR5cGVzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMudGFncy5jbGVhcigpO1xuICAgICAgICB0aGlzLmV0YWdzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMubGlua3MuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5maWVsZHMuY2xlYXIoKTtcblxuICAgICAgICB0aGlzLnJldmlzaW9uKys7XG4gICAgfVxuXG4gICAgLyoqIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgb2JqZWN0IGZvciBhIGdpdmVuIGxpbmsuICovXG4gICAgcHVibGljIHJlc29sdmVMaW5rKHJhd0xpbms6IHN0cmluZyB8IExpbmssIHNvdXJjZVBhdGg/OiBzdHJpbmcpOiBJbmRleGFibGUgfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgbGluayA9IHR5cGVvZiByYXdMaW5rID09PSBcInN0cmluZ1wiID8gTGluay5wYXJzZUlubmVyKHJhd0xpbmspIDogcmF3TGluaztcblxuICAgICAgICBpZiAoc291cmNlUGF0aCkge1xuICAgICAgICAgICAgY29uc3QgbGlua2Rlc3QgPSB0aGlzLm1ldGFkYXRhQ2FjaGUuZ2V0Rmlyc3RMaW5rcGF0aERlc3QobGluay5wYXRoLCBzb3VyY2VQYXRoKTtcbiAgICAgICAgICAgIGlmIChsaW5rZGVzdCkgbGluayA9IGxpbmsud2l0aFBhdGgobGlua2Rlc3QucGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlID0gdGhpcy5vYmplY3RzLmdldChsaW5rLnBhdGgpO1xuICAgICAgICBpZiAoIWZpbGUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGxpbmsudHlwZSA9PT0gXCJmaWxlXCIpIHJldHVybiBmaWxlO1xuXG4gICAgICAgIC8vIEJsb2NrcyBhbmQgaGVhZGVyIGxpbmtzIGNhbiBvbmx5IHJlc29sdmUgaW5zaWRlIG9mIG1hcmtkb3duIGZpbGVzLlxuICAgICAgICBpZiAoIShmaWxlIGluc3RhbmNlb2YgTWFya2Rvd25QYWdlKSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAobGluay50eXBlID09PSBcImhlYWRlclwiKSB7XG4gICAgICAgICAgICBjb25zdCBzZWN0aW9uID0gZmlsZS4kc2VjdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgICAoc2VjKSA9PiBub3JtYWxpemVIZWFkZXJGb3JMaW5rKHNlYy4kdGl0bGUpID09IGxpbmsuc3VicGF0aCB8fCBzZWMuJHRpdGxlID09IGxpbmsuc3VicGF0aFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKHNlY3Rpb24pIHJldHVybiBzZWN0aW9uO1xuICAgICAgICAgICAgZWxzZSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgaWYgKGxpbmsudHlwZSA9PT0gXCJibG9ja1wiKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHNlY3Rpb24gb2YgZmlsZS4kc2VjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBibG9jayA9IHNlY3Rpb24uJGJsb2Nrcy5maW5kKChibCkgPT4gYmwuJGJsb2NrSWQgPT09IGxpbmsuc3VicGF0aCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoYmxvY2spIHJldHVybiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIGxpbmsgdHlwZTogJHtsaW5rLnR5cGV9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWFyY2ggdGhlIGRhdGFzdG9yZSBmb3IgYWxsIGRvY3VtZW50cyBtYXRjaGluZyB0aGUgZ2l2ZW4gcXVlcnksIHJldHVybmluZyB0aGVtXG4gICAgICogYXMgYSBsaXN0IG9mIGluZGV4ZWQgb2JqZWN0cyBhbG9uZyB3aXRoIHBlcmZvcm1hbmNlIG1ldGFkYXRhLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZWFyY2gocXVlcnk6IEluZGV4UXVlcnksIHNldHRpbmdzPzogU2VhcmNoU2V0dGluZ3MpOiBSZXN1bHQ8U2VhcmNoUmVzdWx0PEluZGV4YWJsZT4sIHN0cmluZz4ge1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG5cbiAgICAgICAgY29uc3QgbWF5YmVGaWx0ZXIgPSB0aGlzLl9zZWFyY2gocXVlcnksIHNldHRpbmdzKTtcbiAgICAgICAgaWYgKCFtYXliZUZpbHRlci5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVGaWx0ZXIuY2FzdCgpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBGaWx0ZXJzLnJlc29sdmUobWF5YmVGaWx0ZXIudmFsdWUsIHRoaXMuaWRzKTtcblxuICAgICAgICBjb25zdCBvYmplY3RzOiBJbmRleGFibGVbXSA9IFtdO1xuICAgICAgICBsZXQgbWF4UmV2aXNpb24gPSAwO1xuICAgICAgICBmb3IgKGxldCBpZCBvZiByZXN1bHQpIHtcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdCA9IHRoaXMub2JqZWN0cy5nZXQoaWQpO1xuICAgICAgICAgICAgaWYgKG9iamVjdCkge1xuICAgICAgICAgICAgICAgIG9iamVjdHMucHVzaChvYmplY3QpO1xuICAgICAgICAgICAgICAgIG1heFJldmlzaW9uID0gTWF0aC5tYXgobWF4UmV2aXNpb24sIG9iamVjdC4kcmV2aXNpb24gPz8gMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3Moe1xuICAgICAgICAgICAgcXVlcnk6IHF1ZXJ5LFxuICAgICAgICAgICAgcmVzdWx0czogb2JqZWN0cyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAoRGF0ZS5ub3coKSAtIHN0YXJ0KSAvIDEwMDAuMCxcbiAgICAgICAgICAgIHJldmlzaW9uOiBtYXhSZXZpc2lvbixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEludGVybmFsIHNlYXJjaCB3aGljaCB5aWVsZHMgYSBmaWx0ZXIgb2YgcmVzdWx0cy4gKi9cbiAgICBwcml2YXRlIF9zZWFyY2gocXVlcnk6IEluZGV4UXVlcnksIHNldHRpbmdzPzogU2VhcmNoU2V0dGluZ3MpOiBSZXN1bHQ8RmlsdGVyPHN0cmluZz4sIHN0cmluZz4ge1xuICAgICAgICBjb25zdCBzb3VyY2VQYXRoID0gc2V0dGluZ3M/LnNvdXJjZVBhdGg7XG4gICAgICAgIGNvbnN0IGZpbGUgPSBzb3VyY2VQYXRoID8gdGhpcy5vYmplY3RzLmdldChzb3VyY2VQYXRoKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBldmFsdWF0b3IgPSBuZXcgRXZhbHVhdG9yKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGV4aXN0czogKHBhdGg6IHN0cmluZyB8IExpbmspID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZUxpbmsodHlwZW9mIHBhdGggPT0gXCJzdHJpbmdcIiA/IExpbmsuZmlsZShwYXRoKSA6IHBhdGgsIHNvdXJjZVBhdGgpICE9IG51bGwsXG4gICAgICAgICAgICAgICAgcmVzb2x2ZTogKHBhdGg6IHN0cmluZykgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlTGluayh0eXBlb2YgcGF0aCA9PSBcInN0cmluZ1wiID8gTGluay5maWxlKHBhdGgpIDogcGF0aCwgc291cmNlUGF0aCkgPz8gbnVsbCxcbiAgICAgICAgICAgICAgICBub3JtYWxpemU6IChwYXRoOiBzdHJpbmcpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdChwYXRoLCBzb3VyY2VQYXRoID8/IFwiXCIpPy5wYXRoID8/IHBhdGgsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc1xuICAgICAgICApO1xuXG4gICAgICAgIC8vIFNldCBgdGhpc2Agb24gdGhlIGZpbGUgaWYgbmVlZGVkLlxuICAgICAgICBpZiAoZmlsZSkgZXZhbHVhdG9yLnNldChcInRoaXNcIiwgZmlsZSk7XG5cbiAgICAgICAgY29uc3QgcmVzb2x2ZXI6IEluZGV4UmVzb2x2ZXI8c3RyaW5nPiA9IHtcbiAgICAgICAgICAgIHVuaXZlcnNlOiB0aGlzLmlkcyxcbiAgICAgICAgICAgIHJlc29sdmU6IChsZWFmKSA9PiB0aGlzLl9yZXNvbHZlU291cmNlKGxlYWYsIHNldHRpbmdzKSxcbiAgICAgICAgICAgIHJlc29sdmVQcmltaXRpdmU6IChsZWFmKSA9PiB0aGlzLl9yZXNvbHZlUHJpbWl0aXZlKGxlYWYsIHNldHRpbmdzKSxcbiAgICAgICAgICAgIGxvYWQ6IChpZCkgPT4gdGhpcy5sb2FkKGlkKSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZXhlY3V0ZShvcHRpbWl6ZVF1ZXJ5KHF1ZXJ5KSwgcmVzb2x2ZXIsIGV2YWx1YXRvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVzb2x2ZVNvdXJjZShxdWVyeTogSW5kZXhTb3VyY2UsIHNldHRpbmdzPzogU2VhcmNoU2V0dGluZ3MpOiBSZXN1bHQ8RmlsdGVyPHN0cmluZz4sIHN0cmluZz4ge1xuICAgICAgICBzd2l0Y2ggKHF1ZXJ5LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJjaGlsZC1vZlwiOlxuICAgICAgICAgICAgICAgIC8vIFRPRE86IENvbnNpZGVyIGNvbnZlcnRpbmcgdGhpcyB0byBiZSBhIHNjYW4gaW5zdGVhZCBmb3IgYSBub3RpY2FibGUgc3BlZWR1cC5cbiAgICAgICAgICAgICAgICBjb25zdCBtYXliZVBhcmVudHMgPSB0aGlzLl9zZWFyY2gocXVlcnkucGFyZW50cywgc2V0dGluZ3MpO1xuICAgICAgICAgICAgICAgIGlmICghbWF5YmVQYXJlbnRzLnN1Y2Nlc3NmdWwpIHJldHVybiBtYXliZVBhcmVudHMuY2FzdCgpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50cyA9IG1heWJlUGFyZW50cy52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAoRmlsdGVycy5lbXB0eShwYXJlbnRzKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5OT1RISU5HKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmVudHMudHlwZSA9PT0gXCJldmVyeXRoaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHF1ZXJ5LmluY2x1c2l2ZSkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuRVZFUllUSElORyk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIHRoZSBzZXQgYWxsIGNoaWxkcmVuLiBUT0RPOiBDb25zaWRlciBjYWNoaW5nIHZpYSBhIGBwYXJlbnRzYCBtYXAuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFsbENoaWxkcmVuID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLm9iamVjdHMudmFsdWVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LiRwYXJlbnQpIGFsbENoaWxkcmVuLmFkZChlbGVtZW50LiRpZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKGFsbENoaWxkcmVuKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRQYXJlbnRzID0gRmlsdGVycy5yZXNvbHZlKHBhcmVudHMsIHRoaXMuaWRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZFJlc3VsdHMgPSBuZXcgU2V0PHN0cmluZz4ocXVlcnkuaW5jbHVzaXZlID8gcmVzb2x2ZWRQYXJlbnRzIDogW10pO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBwYXJlbnQgb2YgcmVzb2x2ZWRQYXJlbnRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5faXRlcmF0ZUNoaWxkcmVuKHBhcmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkUmVzdWx0cy5hZGQoY2hpbGQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuYXRvbShjaGlsZFJlc3VsdHMpKTtcbiAgICAgICAgICAgIGNhc2UgXCJwYXJlbnQtb2ZcIjpcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBDb25zaWRlciBjb252ZXJ0aW5nIHRoaXMgdG8gYmUgYSBzY2FuIGluc3RlYWQgZm9yIGEgbm90aWNhYmxlIHNwZWVkdXAuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF5YmVDaGlsZHJlbiA9IHRoaXMuX3NlYXJjaChxdWVyeS5jaGlsZHJlbiwgc2V0dGluZ3MpO1xuICAgICAgICAgICAgICAgIGlmICghbWF5YmVDaGlsZHJlbi5zdWNjZXNzZnVsKSByZXR1cm4gbWF5YmVDaGlsZHJlbi5jYXN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBtYXliZUNoaWxkcmVuLnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgaWYgKEZpbHRlcnMuZW1wdHkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLk5PVEhJTkcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4udHlwZSA9PT0gXCJldmVyeXRoaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHF1ZXJ5LmluY2x1c2l2ZSkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuRVZFUllUSElORyk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuYXRvbShuZXcgU2V0KHRoaXMuY2hpbGRyZW4ua2V5cygpKSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkQ2hpbGRyZW4gPSBGaWx0ZXJzLnJlc29sdmUoY2hpbGRyZW4sIHRoaXMuaWRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRSZXN1bHRzID0gbmV3IFNldDxzdHJpbmc+KHF1ZXJ5LmluY2x1c2l2ZSA/IHJlc29sdmVkQ2hpbGRyZW4gOiBbXSk7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHJlc29sdmVkQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBwYXJlbnQgb2YgdGhpcy5faXRlcmF0ZVBhcmVudHMoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRSZXN1bHRzLmFkZChwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuYXRvbShwYXJlbnRSZXN1bHRzKSk7XG4gICAgICAgICAgICBjYXNlIFwibGlua2VkXCI6XG4gICAgICAgICAgICAgICAgaWYgKHF1ZXJ5LmRpc3RhbmNlICYmIHF1ZXJ5LmRpc3RhbmNlIDwgMCkgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuTk9USElORyk7XG5cbiAgICAgICAgICAgICAgICAvLyBDb21wdXRlIHRoZSBzb3VyY2Ugb2JqZWN0cyBmaXJzdC5cbiAgICAgICAgICAgICAgICBjb25zdCBtYXliZVNvdXJjZXMgPSB0aGlzLl9zZWFyY2gocXVlcnkuc291cmNlLCBzZXR0aW5ncyk7XG4gICAgICAgICAgICAgICAgaWYgKCFtYXliZVNvdXJjZXMuc3VjY2Vzc2Z1bCkgcmV0dXJuIG1heWJlU291cmNlcy5jYXN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc291cmNlcyA9IG1heWJlU291cmNlcy52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChGaWx0ZXJzLmVtcHR5KHNvdXJjZXMpKSByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5OT1RISU5HKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChzb3VyY2VzLnR5cGUgPT09IFwiZXZlcnl0aGluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChxdWVyeS5pbmNsdXNpdmUpIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLkVWRVJZVEhJTkcpO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBSZXN1bHQuc3VjY2VzcyhGaWx0ZXJzLk5PVEhJTkcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkU291cmNlcyA9IEZpbHRlcnMucmVzb2x2ZShzb3VyY2VzLCB0aGlzLmlkcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gcXVlcnkuZGlyZWN0aW9uID8/IFwiYm90aFwiO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLl90cmF2ZXJzZUxpbmtlZChyZXNvbHZlZFNvdXJjZXMsIHF1ZXJ5LmRpc3RhbmNlID8/IDEsIChpZCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXRlcmF0ZUFkamFjZW50TGlua2VkKGlkLCBkaXJlY3Rpb24pXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmICghcXVlcnkuaW5jbHVzaXZlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0LnN1Y2Nlc3MoRmlsdGVycy5hdG9tKEZpbHRlcnMuc2V0SW50ZXJzZWN0TmVnYXRpb24ocmVzdWx0cywgcmVzb2x2ZWRTb3VyY2VzKSkpO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIFJlc3VsdC5zdWNjZXNzKEZpbHRlcnMuYXRvbShyZXN1bHRzKSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHQuc3VjY2Vzcyh0aGlzLl9yZXNvbHZlUHJpbWl0aXZlKHF1ZXJ5LCBzZXR0aW5ncykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlc29sdmUgbGVhZiBub2RlcyBpbiBhIHNlYXJjaCBBU1QsIHlpZWxkaW5nIHJhdyBzZXRzIG9mIHJlc3VsdHMuICovXG4gICAgcHJpdmF0ZSBfcmVzb2x2ZVByaW1pdGl2ZShxdWVyeTogSW5kZXhQcmltaXRpdmUsIHNldHRpbmdzPzogU2VhcmNoU2V0dGluZ3MpOiBGaWx0ZXI8c3RyaW5nPiB7XG4gICAgICAgIHN3aXRjaCAocXVlcnkudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImNvbnN0YW50XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbHRlcnMuY29uc3RhbnQocXVlcnkuY29uc3RhbnQpO1xuICAgICAgICAgICAgY2FzZSBcImlkXCI6XG4gICAgICAgICAgICAgICAgY29uc3QgZXhhY3RPYmplY3QgPSB0aGlzLm9iamVjdHMuZ2V0KHF1ZXJ5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZXhhY3RPYmplY3QgPyBGaWx0ZXJzLmF0b20obmV3IFNldChbZXhhY3RPYmplY3QuJGlkXSkpIDogRmlsdGVycy5OT1RISU5HO1xuICAgICAgICAgICAgY2FzZSBcImxpbmtcIjpcbiAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZFBhdGggPSB0aGlzLm1ldGFkYXRhQ2FjaGUuZ2V0Rmlyc3RMaW5rcGF0aERlc3QoXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5LnZhbHVlLnBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHNldHRpbmdzPy5zb3VyY2VQYXRoID8/IFwiXCJcbiAgICAgICAgICAgICAgICApPy5wYXRoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZWRQYXRoID8gcXVlcnkudmFsdWUud2l0aFBhdGgocmVzb2x2ZWRQYXRoKSA6IHF1ZXJ5LnZhbHVlO1xuXG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5yZXNvbHZlTGluayhyZXNvbHZlZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iamVjdCA/IEZpbHRlcnMuYXRvbShuZXcgU2V0KFtvYmplY3QuJGlkXSkpIDogRmlsdGVycy5OT1RISU5HO1xuICAgICAgICAgICAgY2FzZSBcInR5cGVkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbHRlcnMubnVsbGFibGVBdG9tKHRoaXMudHlwZXMuZ2V0KHF1ZXJ5LnZhbHVlKSk7XG4gICAgICAgICAgICBjYXNlIFwidGFnZ2VkXCI6XG4gICAgICAgICAgICAgICAgaWYgKHF1ZXJ5LmV4YWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLm51bGxhYmxlQXRvbSh0aGlzLmV0YWdzLmdldChxdWVyeS52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLm51bGxhYmxlQXRvbSh0aGlzLnRhZ3MuZ2V0KHF1ZXJ5LnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcInBhdGhcIjpcbiAgICAgICAgICAgICAgICBsZXQgdG9wbGV2ZWw7XG4gICAgICAgICAgICAgICAgaWYgKHF1ZXJ5LmV4YWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcGxldmVsID0gdGhpcy5mb2xkZXIuZ2V0RXhhY3QocXVlcnkudmFsdWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChxdWVyeS52YWx1ZSA9PSBcIlwiIHx8IHF1ZXJ5LnZhbHVlID09IFwiL1wiKSByZXR1cm4gRmlsdGVycy5FVkVSWVRISU5HO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcGxldmVsID0gdGhpcy5mb2xkZXIuZ2V0KHF1ZXJ5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodG9wbGV2ZWwuc2l6ZSA9PSAwKSByZXR1cm4gRmlsdGVycy5OT1RISU5HO1xuXG4gICAgICAgICAgICAgICAgLy8gRXhwYW5kIGFsbCBjaGlsZHJlbi5cbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0KHRvcGxldmVsKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCB0b3Agb2YgdG9wbGV2ZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgdGhpcy5faXRlcmF0ZUNoaWxkcmVuKHRvcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hZGQoY2hpbGQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbHRlcnMuYXRvbShyZXN1bHQpO1xuICAgICAgICAgICAgY2FzZSBcImZpZWxkXCI6XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWtleSA9IHF1ZXJ5LnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IHRoaXMuZmllbGRzLmdldChub3Jta2V5KTtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGRJbmRleCA9PSBudWxsKSByZXR1cm4gRmlsdGVycy5OT1RISU5HO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpbHRlcnMuYXRvbShmaWVsZEluZGV4LmFsbCgpKTtcbiAgICAgICAgICAgIGNhc2UgXCJlcXVhbC12YWx1ZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWx0ZXJzLmxhenlVbmlvbihxdWVyeS52YWx1ZXMsICh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVyRmllbGRzKFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkuZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAoaW5kZXgpID0+IGluZGV4LmVxdWFscyh2YWx1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmllbGQpID0+IExpdGVyYWxzLmNvbXBhcmUodmFsdWUsIGZpZWxkLnZhbHVlKSA9PSAwXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEZpbHRlciBkb2N1bWVudHMgYnkgZmllbGQgdmFsdWVzLCB1c2luZyB0aGUgZmFzdCBsb29rdXAgaWYgaXQgcmV0dXJucyBhIHJlc3VsdCBhbmQgb3RoZXJ3aXNlIGZpbHRlcmluZyBvdmVyIGV2ZXJ5IGRvY3VtZW50IHVzaW5nIHRoZSBzbG93IHByZWRpY2F0ZS4gKi9cbiAgICBwcml2YXRlIF9maWx0ZXJGaWVsZHMoXG4gICAgICAgIGtleTogc3RyaW5nLFxuICAgICAgICBmYXN0OiAoaW5kZXg6IEZpZWxkSW5kZXgpID0+IFNldDxzdHJpbmc+IHwgdW5kZWZpbmVkLFxuICAgICAgICBzbG93OiAoZmllbGQ6IEZpZWxkKSA9PiBib29sZWFuXG4gICAgKTogRmlsdGVyPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBub3Jta2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maWVsZHMuZ2V0KG5vcm1rZXkpO1xuICAgICAgICBpZiAoaW5kZXggPT0gbnVsbCkgcmV0dXJuIEZpbHRlcnMuTk9USElORztcblxuICAgICAgICBjb25zdCBmYXN0bG9va3VwID0gZmFzdChpbmRleCk7XG4gICAgICAgIGlmIChmYXN0bG9va3VwICE9IG51bGwpIHJldHVybiBGaWx0ZXJzLmF0b20oZmFzdGxvb2t1cCk7XG5cbiAgICAgICAgLy8gQ29tcHV0ZSBieSBpdGVyYXRpbmcgb3ZlciBlYWNoIGZpZWxkLlxuICAgICAgICBjb25zdCBtYXRjaGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGZvciAoY29uc3Qgb2JqZWN0SWQgb2YgaW5kZXguYWxsKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdCA9IHRoaXMub2JqZWN0cy5nZXQob2JqZWN0SWQpO1xuICAgICAgICAgICAgaWYgKCFvYmplY3QgfHwgIW9iamVjdC4kdHlwZXMuY29udGFpbnMoRklFTERCRUFSSU5HX1RZUEUpKSBjb250aW51ZTtcblxuICAgICAgICAgICAgY29uc3QgZmllbGQgPSAob2JqZWN0IGFzIGFueSBhcyBGaWVsZGJlYXJpbmcpLmZpZWxkKG5vcm1rZXkpO1xuICAgICAgICAgICAgaWYgKCFmaWVsZCkgY29udGludWU7XG5cbiAgICAgICAgICAgIGlmIChzbG93KGZpZWxkKSkgbWF0Y2hlcy5hZGQob2JqZWN0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEZpbHRlcnMuYXRvbShtYXRjaGVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb2VzIEJyZWFkdGgtZmlyc3QgU2VhcmNoIHRvIGZpbmQgYWxsIGxpbmtlZCBmaWxlcyB3aXRoaW4gZGlzdGFuY2UgPGRpc3RhbmNlPi4gVGhpcyBpbmNsdWRlcyBhbGwgc291cmNlIG5vZGVzLFxuICAgICAqIHNvIHJlbW92ZSB0aGVtIGFmdGVyd2FyZHMgaWYgeW91IGRvIG5vdCB3YW50IHRoZW0uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdHJhdmVyc2VMaW5rZWQoXG4gICAgICAgIHNvdXJjZUlkczogU2V0PHN0cmluZz4sXG4gICAgICAgIGRpc3RhbmNlOiBudW1iZXIsXG4gICAgICAgIGFkamFjZW50OiAoaWQ6IHN0cmluZykgPT4gSXRlcmFibGU8c3RyaW5nPlxuICAgICk6IFNldDxzdHJpbmc+IHtcbiAgICAgICAgaWYgKGRpc3RhbmNlIDwgMCkgcmV0dXJuIG5ldyBTZXQoKTtcbiAgICAgICAgaWYgKHNvdXJjZUlkcy5zaXplID09IDApIHJldHVybiBuZXcgU2V0KCk7XG5cbiAgICAgICAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQ8c3RyaW5nPihzb3VyY2VJZHMpO1xuXG4gICAgICAgIGNvbnN0IHF1ZXVlID0gbmV3IEZsYXRRdWV1ZTxzdHJpbmc+KCk7XG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBzb3VyY2VJZHMpIHF1ZXVlLnB1c2goZWxlbWVudCwgMCk7XG5cbiAgICAgICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3QgPSBxdWV1ZS5wZWVrVmFsdWUoKSE7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gcXVldWUucG9wKCkhO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IG5laWdoYm9yIG9mIGFkamFjZW50KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWQuaGFzKG5laWdoYm9yKSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICB2aXNpdGVkLmFkZChuZWlnaGJvcik7XG4gICAgICAgICAgICAgICAgaWYgKGRpc3QgPCBkaXN0YW5jZSkgcXVldWUucHVzaChuZWlnaGJvciwgZGlzdCArIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZpc2l0ZWQ7XG4gICAgfVxuXG4gICAgLyoqIEl0ZXJhdGUgYWxsIGxpbmtlZCBvYmplY3RzIGZvciB0aGUgZ2l2ZW4gb2JqZWN0LiAqL1xuICAgIHByaXZhdGUgKl9pdGVyYXRlQWRqYWNlbnRMaW5rZWQoaWQ6IHN0cmluZywgZGlyZWN0aW9uOiBcImluY29taW5nXCIgfCBcIm91dGdvaW5nXCIgfCBcImJvdGhcIik6IEdlbmVyYXRvcjxzdHJpbmc+IHtcbiAgICAgICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5vYmplY3RzLmdldChpZCk7XG4gICAgICAgIGlmICghb2JqZWN0KSByZXR1cm47XG5cbiAgICAgICAgaWYgKChkaXJlY3Rpb24gPT09IFwiYm90aFwiIHx8IGRpcmVjdGlvbiA9PT0gXCJpbmNvbWluZ1wiKSAmJiBcIiRsaW5rXCIgaW4gb2JqZWN0ICYmIG9iamVjdFtcIiRsaW5rXCJdKSB7XG4gICAgICAgICAgICBjb25zdCBpbmNvbWluZyA9IHRoaXMubGlua3MuZ2V0KChvYmplY3QuJGxpbmsgYXMgTGluaykub2JzaWRpYW5MaW5rKCkpO1xuICAgICAgICAgICAgaWYgKGluY29taW5nKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBpZCBvZiBpbmNvbWluZykge1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCBpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZGlyZWN0aW9uID09PSBcImJvdGhcIiB8fCBkaXJlY3Rpb24gPT09IFwib3V0Z29pbmdcIikgJiZcbiAgICAgICAgICAgIG9iamVjdC4kdHlwZXMuY29udGFpbnMoTElOS0FCTEVfVFlQRSkgJiZcbiAgICAgICAgICAgIGl0ZXJhYmxlRXhpc3RzKG9iamVjdCwgXCIkbGlua3NcIilcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmsgb2Ygb2JqZWN0LiRsaW5rcyBhcyBMaW5rW10pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IHRoaXMucmVzb2x2ZUxpbmsobGluayk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc29sdmVkKSB5aWVsZCByZXNvbHZlZC4kaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSXRlcmF0b3Igd2hpY2ggcHJvZHVjZXMgYWxsIHBhcmVudHMgb2YgdGhlIGdpdmVuIG9iamVjdC4gKi9cbiAgICBwcml2YXRlICpfaXRlcmF0ZVBhcmVudHMoY2hpbGQ6IHN0cmluZyk6IEdlbmVyYXRvcjxzdHJpbmc+IHtcbiAgICAgICAgbGV0IG9iamVjdCA9IHRoaXMub2JqZWN0cy5nZXQoY2hpbGQpO1xuICAgICAgICB3aGlsZSAob2JqZWN0ICYmIG9iamVjdD8uJHBhcmVudCkge1xuICAgICAgICAgICAgeWllbGQgb2JqZWN0LiRwYXJlbnQuJGlkO1xuICAgICAgICAgICAgb2JqZWN0ID0gb2JqZWN0LiRwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSXRlcmF0aXZlIHdoaWNoIHByb2R1Y2VzIGFsbCBjaGlsZHJlbiAocmVjdXJzaXZlbHkpIG9mIHRoZSBnaXZlbiBvYmplY3QuICovXG4gICAgcHJpdmF0ZSAqX2l0ZXJhdGVDaGlsZHJlbihwYXJlbnQ6IHN0cmluZyk6IEdlbmVyYXRvcjxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuLmdldChwYXJlbnQpO1xuICAgICAgICBpZiAoY2hpbGRyZW4gJiYgY2hpbGRyZW4uc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIGZvciAobGV0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgeWllbGQgY2hpbGQ7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuX2l0ZXJhdGVDaGlsZHJlbihjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiBBIGdlbmVyYWwgZnVuY3Rpb24gZm9yIHN0b3Jpbmcgc3ViLW9iamVjdHMgaW4gYSBnaXZlbiBvYmplY3QuICovXG5leHBvcnQgdHlwZSBTdWJzdG9yZXI8VCBleHRlbmRzIEluZGV4YWJsZT4gPSAoXG4gICAgb2JqZWN0OiBULFxuICAgIGFkZDogPFUgZXh0ZW5kcyBJbmRleGFibGU+KG9iamVjdDogVSB8IFVbXSwgc3ViaW5kZXg/OiBTdWJzdG9yZXI8VT4pID0+IHZvaWRcbikgPT4gdm9pZDtcblxuLyoqIFRoZSByZXN1bHQgb2Ygc2VhcmNoaW5nIGdpdmVuIGFuIGluZGV4IHF1ZXJ5LiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHQ8Tz4ge1xuICAgIC8qKiBUaGUgcXVlcnkgdXNlZCB0byBzZWFyY2guICovXG4gICAgcXVlcnk6IEluZGV4UXVlcnk7XG4gICAgLyoqIEFsbCBvZiB0aGUgcmV0dXJuZWQgcmVzdWx0cy4gKi9cbiAgICByZXN1bHRzOiBPW107XG4gICAgLyoqIFRoZSBhbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIHRoYXQgdGhlIHNlYXJjaCB0b29rLiAqL1xuICAgIGR1cmF0aW9uOiBudW1iZXI7XG4gICAgLyoqIFRoZSBtYXhpbXVtIHJldmlzaW9uIG9mIGFueSBkb2N1bWVudCBpbiB0aGUgcmVzdWx0LCB3aGljaCBpcyB1c2VmdWwgZm9yIGRpZmZpbmcuICovXG4gICAgcmV2aXNpb246IG51bWJlcjtcbn1cblxuLyoqIEV4dHJhIHNldHRpbmdzIHRoYXQgY2FuIGJlIHByb3ZpZGVkIHRvIGEgc2VhcmNoLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hTZXR0aW5ncyB7XG4gICAgLyoqIFRoZSBwYXRoIHRvIHJ1biBmcm9tIHdoZW4gcmVzb2x2aW5nIGxpbmtzIGFuZCBgdGhpc2Agc2VjdGlvbnMuICovXG4gICAgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZ3VhcmQgd2hpY2ggY2hlY2tzIGlmIG9iamVjdFtrZXldIGV4aXN0cyBhbmQgaXMgYW4gaXRlcmFibGUuICovXG5mdW5jdGlvbiBpdGVyYWJsZUV4aXN0czxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiwgSyBleHRlbmRzIHN0cmluZz4oXG4gICAgb2JqZWN0OiBULFxuICAgIGtleTogS1xuKTogb2JqZWN0IGlzIFQgJiBSZWNvcmQ8SywgSXRlcmFibGU8YW55Pj4ge1xuICAgIHJldHVybiBrZXkgaW4gb2JqZWN0ICYmIG9iamVjdFtrZXldICE9PSB1bmRlZmluZWQgJiYgU3ltYm9sLml0ZXJhdG9yIGluIG9iamVjdFtrZXldO1xufVxuIiwgImltcG9ydCBsb2NhbGZvcmFnZSBmcm9tIFwibG9jYWxmb3JhZ2VcIjtcblxuLyoqIEEgcGllY2Ugb2YgZGF0YSB0aGF0IGhhcyBiZWVuIGNhY2hlZCBmb3IgYSBzcGVjaWZpYyB2ZXJzaW9uIGFuZCB0aW1lLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYWNoZWQ8VD4ge1xuICAgIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGRhdGEgd2FzIHdyaXR0ZW4gdG8gY2FjaGUgd2l0aC4gKi9cbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgLyoqIFRoZSBVTklYIGVwb2NoIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGRhdGEgd2FzIHdyaXR0ZW4gdG8gY2FjaGUuICovXG4gICAgdGltZTogbnVtYmVyO1xuICAgIC8qKiBUaGUgZGF0YSB0aGF0IHdhcyBjYWNoZWQuICovXG4gICAgZGF0YTogVDtcbn1cblxuLyoqIFNpbXBsZXIgd3JhcHBlciBmb3IgYSBmaWxlLWJhY2tlZCBjYWNoZSBmb3IgYXJiaXRyYXJ5IG1ldGFkYXRhLiAqL1xuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZUNhY2hlIHtcbiAgICBwdWJsaWMgcGVyc2lzdGVyOiBMb2NhbEZvcmFnZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgYXBwSWQ6IHN0cmluZywgcHVibGljIHZlcnNpb246IHN0cmluZykge1xuICAgICAgICB0aGlzLnBlcnNpc3RlciA9IGxvY2FsZm9yYWdlLmNyZWF0ZUluc3RhbmNlKHtcbiAgICAgICAgICAgIG5hbWU6IFwiZGF0YWNvcmUvY2FjaGUvXCIgKyBhcHBJZCxcbiAgICAgICAgICAgIGRyaXZlcjogW2xvY2FsZm9yYWdlLklOREVYRUREQl0sXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJDYWNoZSBtZXRhZGF0YSBhYm91dCBmaWxlcyBhbmQgc2VjdGlvbnMgaW4gdGhlIGRhdGFjb3JlIGluZGV4LlwiLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogRHJvcCB0aGUgZW50aXJlIGNhY2hlIGluc3RhbmNlIGFuZCByZS1jcmVhdGUgYSBuZXcgZnJlc2ggaW5zdGFuY2UuICovXG4gICAgcHVibGljIGFzeW5jIHJlY3JlYXRlKCkge1xuICAgICAgICBhd2FpdCBsb2NhbGZvcmFnZS5kcm9wSW5zdGFuY2UoeyBuYW1lOiBcImRhdGFjb3JlL2NhY2hlL1wiICsgdGhpcy5hcHBJZCB9KTtcblxuICAgICAgICB0aGlzLnBlcnNpc3RlciA9IGxvY2FsZm9yYWdlLmNyZWF0ZUluc3RhbmNlKHtcbiAgICAgICAgICAgIG5hbWU6IFwiZGF0YWNvcmUvY2FjaGUvXCIgKyB0aGlzLmFwcElkLFxuICAgICAgICAgICAgZHJpdmVyOiBbbG9jYWxmb3JhZ2UuSU5ERVhFRERCXSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkNhY2hlIG1ldGFkYXRhIGFib3V0IGZpbGVzIGFuZCBzZWN0aW9ucyBpbiB0aGUgZGF0YWNvcmUgaW5kZXguXCIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBMb2FkIGZpbGUgbWV0YWRhdGEgYnkgcGF0aC4gKi9cbiAgICBwdWJsaWMgYXN5bmMgbG9hZEZpbGUocGF0aDogc3RyaW5nKTogUHJvbWlzZTxDYWNoZWQ8UGFydGlhbDxhbnk+PiB8IG51bGwgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyc2lzdGVyLmdldEl0ZW0odGhpcy5maWxlS2V5KHBhdGgpKS50aGVuKChyYXcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiByYXcgYXMgYW55IGFzIENhY2hlZDxQYXJ0aWFsPGFueT4+O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogU3RvcmUgZmlsZSBtZXRhZGF0YSBieSBwYXRoLiAqL1xuICAgIHB1YmxpYyBhc3luYyBzdG9yZUZpbGUocGF0aDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPGFueT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5wZXJzaXN0ZXIuc2V0SXRlbSh0aGlzLmZpbGVLZXkocGF0aCksIHtcbiAgICAgICAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvbixcbiAgICAgICAgICAgIHRpbWU6IERhdGUubm93KCksXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogRHJvcCBvbGQgZmlsZSBrZXlzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0LiAqL1xuICAgIHB1YmxpYyBhc3luYyBzeW5jaHJvbml6ZShleGlzdGluZzogc3RyaW5nW10gfCBTZXQ8c3RyaW5nPik6IFByb21pc2U8U2V0PHN0cmluZz4+IHtcbiAgICAgICAgbGV0IGtleXMgPSBuZXcgU2V0KGF3YWl0IHRoaXMuYWxsRmlsZXMoKSk7XG4gICAgICAgIGZvciAobGV0IGV4aXN0IG9mIGV4aXN0aW5nKSBrZXlzLmRlbGV0ZShleGlzdCk7XG5cbiAgICAgICAgLy8gQW55IGtleXMgcmVtYWluaW5nIGFmdGVyIGRlbGV0aW5nIGV4aXN0aW5nIGtleXMgYXJlIG5vbi1leGlzdGVudCBrZXlzIHRoYXQgc2hvdWxkIGJlIGNsZWFyZWQgZnJvbSBjYWNoZS5cbiAgICAgICAgZm9yIChsZXQga2V5IG9mIGtleXMpIGF3YWl0IHRoaXMucGVyc2lzdGVyLnJlbW92ZUl0ZW0odGhpcy5maWxlS2V5KGtleSkpO1xuXG4gICAgICAgIHJldHVybiBrZXlzO1xuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gYSBsaXN0IG9mIGFsbCBtZXRhZGF0YSBrZXlzLiAqL1xuICAgIHB1YmxpYyBhc3luYyBhbGxLZXlzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyc2lzdGVyLmtleXMoKTtcbiAgICB9XG5cbiAgICAvKiogT2J0YWluIGEgbGlzdCBvZiBhbGwgcGVyc2lzdGVkIGZpbGVzLiAqL1xuICAgIHB1YmxpYyBhc3luYyBhbGxGaWxlcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgICAgIGxldCBrZXlzID0gYXdhaXQgdGhpcy5hbGxLZXlzKCk7XG4gICAgICAgIHJldHVybiBrZXlzLmZpbHRlcigoaykgPT4gay5zdGFydHNXaXRoKFwiZmlsZTpcIikpLm1hcCgoaykgPT4gay5zdWJzdHJpbmcoNSkpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgYSB1bmlxdWUga2V5IGZvciBhIGdpdmVuIGZpbGUgcGF0aC4gKi9cbiAgICBwdWJsaWMgZmlsZUtleShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gXCJmaWxlOlwiICsgcGF0aDtcbiAgICB9XG59XG4iLCAiXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpbmxpbmVXb3JrZXIoc2NyaXB0VGV4dCkge1xuICBsZXQgYmxvYiA9IG5ldyBCbG9iKFtzY3JpcHRUZXh0XSwge3R5cGU6ICd0ZXh0L2phdmFzY3JpcHQnfSk7XG4gIGxldCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICBsZXQgd29ya2VyID0gbmV3IFdvcmtlcih1cmwsIHtcIm5hbWVcIjpcIkRhdGFjb3JlIEluZGV4ZXJcIn0pO1xuICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIHJldHVybiB3b3JrZXI7XG59XG4iLCAiaW1wb3J0IGlubGluZVdvcmtlciBmcm9tICdfX2lubGluZS13b3JrZXInXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBXb3JrZXIoKSB7XG4gIHJldHVybiBpbmxpbmVXb3JrZXIoXCJ2YXIgY2w9T2JqZWN0LmNyZWF0ZTt2YXIgSnM9T2JqZWN0LmRlZmluZVByb3BlcnR5LGZsPU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzLGRsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsaGw9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMsbWw9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMscXI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxwbD1PYmplY3QuZ2V0UHJvdG90eXBlT2YsenM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxNbz1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO3ZhciBIcz0obixlKT0+KGU9U3ltYm9sW25dKT9lOlN5bWJvbC5mb3IoXFxcIlN5bWJvbC5cXFwiK24pLERsPW49Pnt0aHJvdyBUeXBlRXJyb3Iobil9O3ZhciBBbz0obixlLHQpPT5lIGluIG4/SnMobixlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6bltlXT10LFI9KG4sZSk9Pntmb3IodmFyIHQgaW4gZXx8KGU9e30pKXpzLmNhbGwoZSx0KSYmQW8obix0LGVbdF0pO2lmKHFyKWZvcih2YXIgdCBvZiBxcihlKSlNby5jYWxsKGUsdCkmJkFvKG4sdCxlW3RdKTtyZXR1cm4gbn0seWU9KG4sZSk9PmZsKG4saGwoZSkpO3ZhciBZcz0obixlKT0+e3ZhciB0PXt9O2Zvcih2YXIgciBpbiBuKXpzLmNhbGwobixyKSYmZS5pbmRleE9mKHIpPDAmJih0W3JdPW5bcl0pO2lmKG4hPW51bGwmJnFyKWZvcih2YXIgciBvZiBxcihuKSllLmluZGV4T2Yocik8MCYmTW8uY2FsbChuLHIpJiYodFtyXT1uW3JdKTtyZXR1cm4gdH07dmFyIF9vPShuLGUpPT4oKT0+KGV8fG4oKGU9e2V4cG9ydHM6e319KS5leHBvcnRzLGUpLGUuZXhwb3J0cyk7dmFyIHlsPShuLGUsdCxyKT0+e2lmKGUmJnR5cGVvZiBlPT1cXFwib2JqZWN0XFxcInx8dHlwZW9mIGU9PVxcXCJmdW5jdGlvblxcXCIpZm9yKGxldCBzIG9mIG1sKGUpKSF6cy5jYWxsKG4scykmJnMhPT10JiZKcyhuLHMse2dldDooKT0+ZVtzXSxlbnVtZXJhYmxlOiEocj1kbChlLHMpKXx8ci5lbnVtZXJhYmxlfSk7cmV0dXJuIG59O3ZhciBWcj0obixlLHQpPT4odD1uIT1udWxsP2NsKHBsKG4pKTp7fSx5bChlfHwhbnx8IW4uX19lc01vZHVsZT9Kcyh0LFxcXCJkZWZhdWx0XFxcIix7dmFsdWU6bixlbnVtZXJhYmxlOiEwfSk6dCxuKSk7dmFyIGdsPWZ1bmN0aW9uKG4sZSl7dGhpc1swXT1uLHRoaXNbMV09ZX07dmFyIFM9bj0+e3ZhciBlPW5bSHMoXFxcImFzeW5jSXRlcmF0b3JcXFwiKV0sdD0hMSxyLHM9e307cmV0dXJuIGU9PW51bGw/KGU9bltIcyhcXFwiaXRlcmF0b3JcXFwiKV0oKSxyPWk9PnNbaV09bz0+ZVtpXShvKSk6KGU9ZS5jYWxsKG4pLHI9aT0+c1tpXT1vPT57aWYodCl7aWYodD0hMSxpPT09XFxcInRocm93XFxcIil0aHJvdyBvO3JldHVybiBvfXJldHVybiB0PSEwLHtkb25lOiExLHZhbHVlOm5ldyBnbChuZXcgUHJvbWlzZShhPT57dmFyIHU9ZVtpXShvKTt1IGluc3RhbmNlb2YgT2JqZWN0fHxEbChcXFwiT2JqZWN0IGV4cGVjdGVkXFxcIiksYSh1KX0pLDEpfX0pLHNbSHMoXFxcIml0ZXJhdG9yXFxcIildPSgpPT5zLHIoXFxcIm5leHRcXFwiKSxcXFwidGhyb3dcXFwiaW4gZT9yKFxcXCJ0aHJvd1xcXCIpOnMudGhyb3c9aT0+e3Rocm93IGl9LFxcXCJyZXR1cm5cXFwiaW4gZSYmcihcXFwicmV0dXJuXFxcIiksc307dmFyIG5zPV9vKChtcixBaSk9PnsoZnVuY3Rpb24obixlKXt0eXBlb2YgbXI9PVxcXCJvYmplY3RcXFwiJiZ0eXBlb2YgQWk9PVxcXCJvYmplY3RcXFwiP0FpLmV4cG9ydHM9ZSgpOnR5cGVvZiBkZWZpbmU9PVxcXCJmdW5jdGlvblxcXCImJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLGUpOnR5cGVvZiBtcj09XFxcIm9iamVjdFxcXCI/bXIuUGFyc2ltbW9uPWUoKTpuLlBhcnNpbW1vbj1lKCl9KSh0eXBlb2Ygc2VsZiE9XFxcInVuZGVmaW5lZFxcXCI/c2VsZjptcixmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgZT17fTtmdW5jdGlvbiB0KHIpe2lmKGVbcl0pcmV0dXJuIGVbcl0uZXhwb3J0czt2YXIgcz1lW3JdPXtpOnIsbDohMSxleHBvcnRzOnt9fTtyZXR1cm4gbltyXS5jYWxsKHMuZXhwb3J0cyxzLHMuZXhwb3J0cyx0KSxzLmw9ITAscy5leHBvcnRzfXJldHVybiB0Lm09bix0LmM9ZSx0LmQ9ZnVuY3Rpb24ocixzLGkpe3QubyhyLHMpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkocixzLHtjb25maWd1cmFibGU6ITEsZW51bWVyYWJsZTohMCxnZXQ6aX0pfSx0LnI9ZnVuY3Rpb24ocil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pfSx0Lm49ZnVuY3Rpb24ocil7dmFyIHM9ciYmci5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIHIuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gcn07cmV0dXJuIHQuZChzLFxcXCJhXFxcIixzKSxzfSx0Lm89ZnVuY3Rpb24ocixzKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIscyl9LHQucD1cXFwiXFxcIix0KHQucz0wKX0oW2Z1bmN0aW9uKG4sZSx0KXtcXFwidXNlIHN0cmljdFxcXCI7ZnVuY3Rpb24gcihjKXtpZighKHRoaXMgaW5zdGFuY2VvZiByKSlyZXR1cm4gbmV3IHIoYyk7dGhpcy5fPWN9dmFyIHM9ci5wcm90b3R5cGU7ZnVuY3Rpb24gaShjLHApe2Zvcih2YXIgRT0wO0U8YztFKyspcChFKX1mdW5jdGlvbiBvKGMscCxFKXtyZXR1cm4gZnVuY3Rpb24oayxMKXtpKEwubGVuZ3RoLGZ1bmN0aW9uKEEpe2soTFtBXSxBLEwpfSl9KGZ1bmN0aW9uKGssTCxBKXtwPWMocCxrLEwsQSl9LEUpLHB9ZnVuY3Rpb24gYShjLHApe3JldHVybiBvKGZ1bmN0aW9uKEUsayxMLEEpe3JldHVybiBFLmNvbmNhdChbYyhrLEwsQSldKX0sW10scCl9ZnVuY3Rpb24gdShjLHApe3ZhciBFPXt2OjAsYnVmOnB9O3JldHVybiBpKGMsZnVuY3Rpb24oKXt2YXIgaztFPXt2OkUudjw8MXwoaz1FLmJ1ZixrWzBdPj43KSxidWY6ZnVuY3Rpb24oTCl7dmFyIEE9byhmdW5jdGlvbihNLFUsdGUsRWUpe3JldHVybiBNLmNvbmNhdCh0ZT09PUVlLmxlbmd0aC0xP0J1ZmZlci5mcm9tKFtVLDBdKS5yZWFkVUludDE2QkUoMCk6RWUucmVhZFVJbnQxNkJFKHRlKSl9LFtdLEwpO3JldHVybiBCdWZmZXIuZnJvbShhKGZ1bmN0aW9uKE0pe3JldHVybihNPDwxJjY1NTM1KT4+OH0sQSkpfShFLmJ1Zil9fSksRX1mdW5jdGlvbiBsKCl7cmV0dXJuIHR5cGVvZiBCdWZmZXIhPVxcXCJ1bmRlZmluZWRcXFwifWZ1bmN0aW9uIGYoKXtpZighbCgpKXRocm93IG5ldyBFcnJvcihcXFwiQnVmZmVyIGdsb2JhbCBkb2VzIG5vdCBleGlzdDsgcGxlYXNlIHVzZSB3ZWJwYWNrIGlmIHlvdSBuZWVkIHRvIHBhcnNlIEJ1ZmZlcnMgaW4gdGhlIGJyb3dzZXIuXFxcIil9ZnVuY3Rpb24gZChjKXtmKCk7dmFyIHA9byhmdW5jdGlvbihBLE0pe3JldHVybiBBK019LDAsYyk7aWYocCU4IT0wKXRocm93IG5ldyBFcnJvcihcXFwiVGhlIGJpdHMgW1xcXCIrYy5qb2luKFxcXCIsIFxcXCIpK1xcXCJdIGFkZCB1cCB0byBcXFwiK3ArXFxcIiB3aGljaCBpcyBub3QgYW4gZXZlbiBudW1iZXIgb2YgYnl0ZXM7IHRoZSB0b3RhbCBzaG91bGQgYmUgZGl2aXNpYmxlIGJ5IDhcXFwiKTt2YXIgRSxrPXAvOCxMPShFPWZ1bmN0aW9uKEEpe3JldHVybiBBPjQ4fSxvKGZ1bmN0aW9uKEEsTSl7cmV0dXJuIEF8fChFKE0pP006QSl9LG51bGwsYykpO2lmKEwpdGhyb3cgbmV3IEVycm9yKEwrXFxcIiBiaXQgcmFuZ2UgcmVxdWVzdGVkIGV4Y2VlZHMgNDggYml0ICg2IGJ5dGUpIE51bWJlciBtYXguXFxcIik7cmV0dXJuIG5ldyByKGZ1bmN0aW9uKEEsTSl7dmFyIFU9aytNO3JldHVybiBVPkEubGVuZ3RoP3YoTSxrLnRvU3RyaW5nKCkrXFxcIiBieXRlc1xcXCIpOncoVSxvKGZ1bmN0aW9uKHRlLEVlKXt2YXIgbWU9dShFZSx0ZS5idWYpO3JldHVybntjb2xsOnRlLmNvbGwuY29uY2F0KG1lLnYpLGJ1ZjptZS5idWZ9fSx7Y29sbDpbXSxidWY6QS5zbGljZShNLFUpfSxjKS5jb2xsKX0pfWZ1bmN0aW9uIG0oYyxwKXtyZXR1cm4gbmV3IHIoZnVuY3Rpb24oRSxrKXtyZXR1cm4gZigpLGsrcD5FLmxlbmd0aD92KGsscCtcXFwiIGJ5dGVzIGZvciBcXFwiK2MpOncoaytwLEUuc2xpY2UoayxrK3ApKX0pfWZ1bmN0aW9uIGgoYyxwKXtpZih0eXBlb2YoRT1wKSE9XFxcIm51bWJlclxcXCJ8fE1hdGguZmxvb3IoRSkhPT1FfHxwPDB8fHA+Nil0aHJvdyBuZXcgRXJyb3IoYytcXFwiIHJlcXVpcmVzIGludGVnZXIgbGVuZ3RoIGluIHJhbmdlIFswLCA2XS5cXFwiKTt2YXIgRX1mdW5jdGlvbiBiKGMpe3JldHVybiBoKFxcXCJ1aW50QkVcXFwiLGMpLG0oXFxcInVpbnRCRShcXFwiK2MrXFxcIilcXFwiLGMpLm1hcChmdW5jdGlvbihwKXtyZXR1cm4gcC5yZWFkVUludEJFKDAsYyl9KX1mdW5jdGlvbiBnKGMpe3JldHVybiBoKFxcXCJ1aW50TEVcXFwiLGMpLG0oXFxcInVpbnRMRShcXFwiK2MrXFxcIilcXFwiLGMpLm1hcChmdW5jdGlvbihwKXtyZXR1cm4gcC5yZWFkVUludExFKDAsYyl9KX1mdW5jdGlvbiBEKGMpe3JldHVybiBoKFxcXCJpbnRCRVxcXCIsYyksbShcXFwiaW50QkUoXFxcIitjK1xcXCIpXFxcIixjKS5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIHAucmVhZEludEJFKDAsYyl9KX1mdW5jdGlvbiBUKGMpe3JldHVybiBoKFxcXCJpbnRMRVxcXCIsYyksbShcXFwiaW50TEUoXFxcIitjK1xcXCIpXFxcIixjKS5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIHAucmVhZEludExFKDAsYyl9KX1mdW5jdGlvbiBJKGMpe3JldHVybiBjIGluc3RhbmNlb2Ygcn1mdW5jdGlvbiBOKGMpe3JldHVybnt9LnRvU3RyaW5nLmNhbGwoYyk9PT1cXFwiW29iamVjdCBBcnJheV1cXFwifWZ1bmN0aW9uIHkoYyl7cmV0dXJuIGwoKSYmQnVmZmVyLmlzQnVmZmVyKGMpfWZ1bmN0aW9uIHcoYyxwKXtyZXR1cm57c3RhdHVzOiEwLGluZGV4OmMsdmFsdWU6cCxmdXJ0aGVzdDotMSxleHBlY3RlZDpbXX19ZnVuY3Rpb24gdihjLHApe3JldHVybiBOKHApfHwocD1bcF0pLHtzdGF0dXM6ITEsaW5kZXg6LTEsdmFsdWU6bnVsbCxmdXJ0aGVzdDpjLGV4cGVjdGVkOnB9fWZ1bmN0aW9uIHgoYyxwKXtpZighcHx8Yy5mdXJ0aGVzdD5wLmZ1cnRoZXN0KXJldHVybiBjO3ZhciBFPWMuZnVydGhlc3Q9PT1wLmZ1cnRoZXN0P2Z1bmN0aW9uKGssTCl7aWYoZnVuY3Rpb24oKXtpZihyLl9zdXBwb3J0c1NldCE9PXZvaWQgMClyZXR1cm4gci5fc3VwcG9ydHNTZXQ7dmFyIGh0PXR5cGVvZiBTZXQhPVxcXCJ1bmRlZmluZWRcXFwiO3JldHVybiByLl9zdXBwb3J0c1NldD1odCxodH0oKSYmQXJyYXkuZnJvbSl7Zm9yKHZhciBBPW5ldyBTZXQoayksTT0wO008TC5sZW5ndGg7TSsrKUEuYWRkKExbTV0pO3ZhciBVPUFycmF5LmZyb20oQSk7cmV0dXJuIFUuc29ydCgpLFV9Zm9yKHZhciB0ZT17fSxFZT0wO0VlPGsubGVuZ3RoO0VlKyspdGVba1tFZV1dPSEwO2Zvcih2YXIgbWU9MDttZTxMLmxlbmd0aDttZSsrKXRlW0xbbWVdXT0hMDt2YXIgZHQ9W107Zm9yKHZhciB2ZSBpbiB0ZSkoe30pLmhhc093blByb3BlcnR5LmNhbGwodGUsdmUpJiZkdC5wdXNoKHZlKTtyZXR1cm4gZHQuc29ydCgpLGR0fShjLmV4cGVjdGVkLHAuZXhwZWN0ZWQpOnAuZXhwZWN0ZWQ7cmV0dXJue3N0YXR1czpjLnN0YXR1cyxpbmRleDpjLmluZGV4LHZhbHVlOmMudmFsdWUsZnVydGhlc3Q6cC5mdXJ0aGVzdCxleHBlY3RlZDpFfX12YXIgQz17fTtmdW5jdGlvbiBWKGMscCl7aWYoeShjKSlyZXR1cm57b2Zmc2V0OnAsbGluZTotMSxjb2x1bW46LTF9O2MgaW4gQ3x8KENbY109e30pO2Zvcih2YXIgRT1DW2NdLGs9MCxMPTAsQT0wLE09cDtNPj0wOyl7aWYoTSBpbiBFKXtrPUVbTV0ubGluZSxBPT09MCYmKEE9RVtNXS5saW5lU3RhcnQpO2JyZWFrfShjLmNoYXJBdChNKT09PWBcXG5gfHxjLmNoYXJBdChNKT09PVxcXCJcXFxcclxcXCImJmMuY2hhckF0KE0rMSkhPT1gXFxuYCkmJihMKyssQT09PTAmJihBPU0rMSkpLE0tLX12YXIgVT1rK0wsdGU9cC1BO3JldHVybiBFW3BdPXtsaW5lOlUsbGluZVN0YXJ0OkF9LHtvZmZzZXQ6cCxsaW5lOlUrMSxjb2x1bW46dGUrMX19ZnVuY3Rpb24gaihjKXtpZighSShjKSl0aHJvdyBuZXcgRXJyb3IoXFxcIm5vdCBhIHBhcnNlcjogXFxcIitjKX1mdW5jdGlvbiBZKGMscCl7cmV0dXJuIHR5cGVvZiBjPT1cXFwic3RyaW5nXFxcIj9jLmNoYXJBdChwKTpjW3BdfWZ1bmN0aW9uIGVlKGMpe2lmKHR5cGVvZiBjIT1cXFwibnVtYmVyXFxcIil0aHJvdyBuZXcgRXJyb3IoXFxcIm5vdCBhIG51bWJlcjogXFxcIitjKX1mdW5jdGlvbiB1ZShjKXtpZih0eXBlb2YgYyE9XFxcImZ1bmN0aW9uXFxcIil0aHJvdyBuZXcgRXJyb3IoXFxcIm5vdCBhIGZ1bmN0aW9uOiBcXFwiK2MpfWZ1bmN0aW9uIE8oYyl7aWYodHlwZW9mIGMhPVxcXCJzdHJpbmdcXFwiKXRocm93IG5ldyBFcnJvcihcXFwibm90IGEgc3RyaW5nOiBcXFwiK2MpfXZhciAkPTIsUT0zLGllPTgsRGU9NSppZSxSZT00KmllLFF0PVxcXCIgIFxcXCI7ZnVuY3Rpb24gTXQoYyxwKXtyZXR1cm4gbmV3IEFycmF5KHArMSkuam9pbihjKX1mdW5jdGlvbiBfdChjLHAsRSl7dmFyIGs9cC1jLmxlbmd0aDtyZXR1cm4gazw9MD9jOk10KEUsaykrY31mdW5jdGlvbiBBZShjLHAsRSxrKXtyZXR1cm57ZnJvbTpjLXA+MD9jLXA6MCx0bzpjK0U+az9rOmMrRX19ZnVuY3Rpb24gQnQoYyxwKXt2YXIgRSxrLEwsQSxNLFU9cC5pbmRleCx0ZT1VLm9mZnNldCxFZT0xO2lmKHRlPT09Yy5sZW5ndGgpcmV0dXJuXFxcIkdvdCB0aGUgZW5kIG9mIHRoZSBpbnB1dFxcXCI7aWYoeShjKSl7dmFyIG1lPXRlLXRlJWllLGR0PXRlLW1lLHZlPUFlKG1lLERlLFJlK2llLGMubGVuZ3RoKSxodD1hKGZ1bmN0aW9uKGxlKXtyZXR1cm4gYShmdW5jdGlvbihlbil7cmV0dXJuIF90KGVuLnRvU3RyaW5nKDE2KSwyLFxcXCIwXFxcIil9LGxlKX0sZnVuY3Rpb24obGUsZW4pe3ZhciB0bj1sZS5sZW5ndGgsUnQ9W10sbm49MDtpZih0bjw9ZW4pcmV0dXJuW2xlLnNsaWNlKCldO2Zvcih2YXIgcm49MDtybjx0bjtybisrKVJ0W25uXXx8UnQucHVzaChbXSksUnRbbm5dLnB1c2gobGVbcm5dKSwocm4rMSklZW49PTAmJm5uKys7cmV0dXJuIFJ0fShjLnNsaWNlKHZlLmZyb20sdmUudG8pLnRvSlNPTigpLmRhdGEsaWUpKTtBPWZ1bmN0aW9uKGxlKXtyZXR1cm4gbGUuZnJvbT09PTAmJmxlLnRvPT09MT97ZnJvbTpsZS5mcm9tLHRvOmxlLnRvfTp7ZnJvbTpsZS5mcm9tL2llLHRvOk1hdGguZmxvb3IobGUudG8vaWUpfX0odmUpLGs9bWUvaWUsRT0zKmR0LGR0Pj00JiYoRSs9MSksRWU9MixMPWEoZnVuY3Rpb24obGUpe3JldHVybiBsZS5sZW5ndGg8PTQ/bGUuam9pbihcXFwiIFxcXCIpOmxlLnNsaWNlKDAsNCkuam9pbihcXFwiIFxcXCIpK1xcXCIgIFxcXCIrbGUuc2xpY2UoNCkuam9pbihcXFwiIFxcXCIpfSxodCksKE09KDgqKEEudG8+MD9BLnRvLTE6QS50bykpLnRvU3RyaW5nKDE2KS5sZW5ndGgpPDImJihNPTIpfWVsc2V7dmFyIFh0PWMuc3BsaXQoL1xcXFxyXFxcXG58W1xcXFxuXFxcXHJcXFxcdTIwMjhcXFxcdTIwMjldLyk7RT1VLmNvbHVtbi0xLGs9VS5saW5lLTEsQT1BZShrLCQsUSxYdC5sZW5ndGgpLEw9WHQuc2xpY2UoQS5mcm9tLEEudG8pLE09QS50by50b1N0cmluZygpLmxlbmd0aH12YXIgbGw9ay1BLmZyb207cmV0dXJuIHkoYykmJihNPSg4KihBLnRvPjA/QS50by0xOkEudG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoTT0yKSxvKGZ1bmN0aW9uKGxlLGVuLHRuKXt2YXIgUnQsbm49dG49PT1sbCxybj1ubj9cXFwiPiBcXFwiOlF0O3JldHVybiBSdD15KGMpP190KCg4KihBLmZyb20rdG4pKS50b1N0cmluZygxNiksTSxcXFwiMFxcXCIpOl90KChBLmZyb20rdG4rMSkudG9TdHJpbmcoKSxNLFxcXCIgXFxcIiksW10uY29uY2F0KGxlLFtybitSdCtcXFwiIHwgXFxcIitlbl0sbm4/W1F0K010KFxcXCIgXFxcIixNKStcXFwiIHwgXFxcIitfdChcXFwiXFxcIixFLFxcXCIgXFxcIikrTXQoXFxcIl5cXFwiLEVlKV06W10pfSxbXSxMKS5qb2luKGBcXG5gKX1mdW5jdGlvbiBTbyhjLHApe3JldHVybltgXFxuYCxcXFwiLS0gUEFSU0lORyBGQUlMRUQgXFxcIitNdChcXFwiLVxcXCIsNTApLGBcXG5cXG5gLEJ0KGMscCksYFxcblxcbmAsKEU9cC5leHBlY3RlZCxFLmxlbmd0aD09PTE/YEV4cGVjdGVkOlxcblxcbmArRVswXTpgRXhwZWN0ZWQgb25lIG9mIHRoZSBmb2xsb3dpbmc6IFxcblxcbmArRS5qb2luKFxcXCIsIFxcXCIpKSxgXFxuYF0uam9pbihcXFwiXFxcIik7dmFyIEV9ZnVuY3Rpb24ga28oYyl7cmV0dXJuIGMuZmxhZ3MhPT12b2lkIDA/Yy5mbGFnczpbYy5nbG9iYWw/XFxcImdcXFwiOlxcXCJcXFwiLGMuaWdub3JlQ2FzZT9cXFwiaVxcXCI6XFxcIlxcXCIsYy5tdWx0aWxpbmU/XFxcIm1cXFwiOlxcXCJcXFwiLGMudW5pY29kZT9cXFwidVxcXCI6XFxcIlxcXCIsYy5zdGlja3k/XFxcInlcXFwiOlxcXCJcXFwiXS5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBCcigpe2Zvcih2YXIgYz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cykscD1jLmxlbmd0aCxFPTA7RTxwO0UrPTEpaihjW0VdKTtyZXR1cm4gcihmdW5jdGlvbihrLEwpe2Zvcih2YXIgQSxNPW5ldyBBcnJheShwKSxVPTA7VTxwO1UrPTEpe2lmKCEoQT14KGNbVV0uXyhrLEwpLEEpKS5zdGF0dXMpcmV0dXJuIEE7TVtVXT1BLnZhbHVlLEw9QS5pbmRleH1yZXR1cm4geCh3KEwsTSksQSl9KX1mdW5jdGlvbiBQdCgpe3ZhciBjPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtpZihjLmxlbmd0aD09PTApdGhyb3cgbmV3IEVycm9yKFxcXCJzZXFNYXAgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50XFxcIik7dmFyIHA9Yy5wb3AoKTtyZXR1cm4gdWUocCksQnIuYXBwbHkobnVsbCxjKS5tYXAoZnVuY3Rpb24oRSl7cmV0dXJuIHAuYXBwbHkobnVsbCxFKX0pfWZ1bmN0aW9uIFByKCl7dmFyIGM9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLHA9Yy5sZW5ndGg7aWYocD09PTApcmV0dXJuICRyKFxcXCJ6ZXJvIGFsdGVybmF0ZXNcXFwiKTtmb3IodmFyIEU9MDtFPHA7RSs9MSlqKGNbRV0pO3JldHVybiByKGZ1bmN0aW9uKGssTCl7Zm9yKHZhciBBLE09MDtNPGMubGVuZ3RoO00rPTEpaWYoKEE9eChjW01dLl8oayxMKSxBKSkuc3RhdHVzKXJldHVybiBBO3JldHVybiBBfSl9ZnVuY3Rpb24gQ28oYyxwKXtyZXR1cm4gVXMoYyxwKS5vcigkdChbXSkpfWZ1bmN0aW9uIFVzKGMscCl7cmV0dXJuIGooYyksaihwKSxQdChjLHAudGhlbihjKS5tYW55KCksZnVuY3Rpb24oRSxrKXtyZXR1cm5bRV0uY29uY2F0KGspfSl9ZnVuY3Rpb24gQm4oYyl7TyhjKTt2YXIgcD1cXFwiJ1xcXCIrYytcXFwiJ1xcXCI7cmV0dXJuIHIoZnVuY3Rpb24oRSxrKXt2YXIgTD1rK2MubGVuZ3RoLEE9RS5zbGljZShrLEwpO3JldHVybiBBPT09Yz93KEwsQSk6dihrLHApfSl9ZnVuY3Rpb24gZnQoYyxwKXsoZnVuY3Rpb24oTCl7aWYoIShMIGluc3RhbmNlb2YgUmVnRXhwKSl0aHJvdyBuZXcgRXJyb3IoXFxcIm5vdCBhIHJlZ2V4cDogXFxcIitMKTtmb3IodmFyIEE9a28oTCksTT0wO008QS5sZW5ndGg7TSsrKXt2YXIgVT1BLmNoYXJBdChNKTtpZihVIT09XFxcImlcXFwiJiZVIT09XFxcIm1cXFwiJiZVIT09XFxcInVcXFwiJiZVIT09XFxcInNcXFwiKXRocm93IG5ldyBFcnJvcigndW5zdXBwb3J0ZWQgcmVnZXhwIGZsYWcgXFxcIicrVSsnXFxcIjogJytMKX19KShjKSxhcmd1bWVudHMubGVuZ3RoPj0yP2VlKHApOnA9MDt2YXIgRT1mdW5jdGlvbihMKXtyZXR1cm4gUmVnRXhwKFxcXCJeKD86XFxcIitMLnNvdXJjZStcXFwiKVxcXCIsa28oTCkpfShjKSxrPVxcXCJcXFwiK2M7cmV0dXJuIHIoZnVuY3Rpb24oTCxBKXt2YXIgTT1FLmV4ZWMoTC5zbGljZShBKSk7aWYoTSl7aWYoMDw9cCYmcDw9TS5sZW5ndGgpe3ZhciBVPU1bMF0sdGU9TVtwXTtyZXR1cm4gdyhBK1UubGVuZ3RoLHRlKX1yZXR1cm4gdihBLFxcXCJ2YWxpZCBtYXRjaCBncm91cCAoMCB0byBcXFwiK00ubGVuZ3RoK1xcXCIpIGluIFxcXCIrayl9cmV0dXJuIHYoQSxrKX0pfWZ1bmN0aW9uICR0KGMpe3JldHVybiByKGZ1bmN0aW9uKHAsRSl7cmV0dXJuIHcoRSxjKX0pfWZ1bmN0aW9uICRyKGMpe3JldHVybiByKGZ1bmN0aW9uKHAsRSl7cmV0dXJuIHYoRSxjKX0pfWZ1bmN0aW9uIFJyKGMpe2lmKEkoYykpcmV0dXJuIHIoZnVuY3Rpb24ocCxFKXt2YXIgaz1jLl8ocCxFKTtyZXR1cm4gay5pbmRleD1FLGsudmFsdWU9XFxcIlxcXCIsa30pO2lmKHR5cGVvZiBjPT1cXFwic3RyaW5nXFxcIilyZXR1cm4gUnIoQm4oYykpO2lmKGMgaW5zdGFuY2VvZiBSZWdFeHApcmV0dXJuIFJyKGZ0KGMpKTt0aHJvdyBuZXcgRXJyb3IoXFxcIm5vdCBhIHN0cmluZywgcmVnZXhwLCBvciBwYXJzZXI6IFxcXCIrYyl9ZnVuY3Rpb24gdm8oYyl7cmV0dXJuIGooYykscihmdW5jdGlvbihwLEUpe3ZhciBrPWMuXyhwLEUpLEw9cC5zbGljZShFLGsuaW5kZXgpO3JldHVybiBrLnN0YXR1cz92KEUsJ25vdCBcXFwiJytMKydcXFwiJyk6dyhFLG51bGwpfSl9ZnVuY3Rpb24ganIoYyl7cmV0dXJuIHVlKGMpLHIoZnVuY3Rpb24ocCxFKXt2YXIgaz1ZKHAsRSk7cmV0dXJuIEU8cC5sZW5ndGgmJmMoayk/dyhFKzEsayk6dihFLFxcXCJhIGNoYXJhY3Rlci9ieXRlIG1hdGNoaW5nIFxcXCIrYyl9KX1mdW5jdGlvbiB4byhjLHApe2FyZ3VtZW50cy5sZW5ndGg8MiYmKHA9YyxjPXZvaWQgMCk7dmFyIEU9cihmdW5jdGlvbihrLEwpe3JldHVybiBFLl89cCgpLl8sRS5fKGssTCl9KTtyZXR1cm4gYz9FLmRlc2MoYyk6RX1mdW5jdGlvbiBLcygpe3JldHVybiAkcihcXFwiZmFudGFzeS1sYW5kL2VtcHR5XFxcIil9cy5wYXJzZT1mdW5jdGlvbihjKXtpZih0eXBlb2YgYyE9XFxcInN0cmluZ1xcXCImJiF5KGMpKXRocm93IG5ldyBFcnJvcihcXFwiLnBhcnNlIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdHJpbmcgb3IgQnVmZmVyIGFzIGl0cyBhcmd1bWVudFxcXCIpO3ZhciBwLEU9dGhpcy5za2lwKFdzKS5fKGMsMCk7cmV0dXJuIHA9RS5zdGF0dXM/e3N0YXR1czohMCx2YWx1ZTpFLnZhbHVlfTp7c3RhdHVzOiExLGluZGV4OlYoYyxFLmZ1cnRoZXN0KSxleHBlY3RlZDpFLmV4cGVjdGVkfSxkZWxldGUgQ1tjXSxwfSxzLnRyeVBhcnNlPWZ1bmN0aW9uKGMpe3ZhciBwPXRoaXMucGFyc2UoYyk7aWYocC5zdGF0dXMpcmV0dXJuIHAudmFsdWU7dmFyIEU9U28oYyxwKSxrPW5ldyBFcnJvcihFKTt0aHJvdyBrLnR5cGU9XFxcIlBhcnNpbW1vbkVycm9yXFxcIixrLnJlc3VsdD1wLGt9LHMuYXNzZXJ0PWZ1bmN0aW9uKGMscCl7cmV0dXJuIHRoaXMuY2hhaW4oZnVuY3Rpb24oRSl7cmV0dXJuIGMoRSk/JHQoRSk6JHIocCl9KX0scy5vcj1mdW5jdGlvbihjKXtyZXR1cm4gUHIodGhpcyxjKX0scy50cmltPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLndyYXAoYyxjKX0scy53cmFwPWZ1bmN0aW9uKGMscCl7cmV0dXJuIFB0KGMsdGhpcyxwLGZ1bmN0aW9uKEUsayl7cmV0dXJuIGt9KX0scy50aHJ1PWZ1bmN0aW9uKGMpe3JldHVybiBjKHRoaXMpfSxzLnRoZW49ZnVuY3Rpb24oYyl7cmV0dXJuIGooYyksQnIodGhpcyxjKS5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIHBbMV19KX0scy5tYW55PWZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gcihmdW5jdGlvbihwLEUpe2Zvcih2YXIgaz1bXSxMPXZvaWQgMDs7KXtpZighKEw9eChjLl8ocCxFKSxMKSkuc3RhdHVzKXJldHVybiB4KHcoRSxrKSxMKTtpZihFPT09TC5pbmRleCl0aHJvdyBuZXcgRXJyb3IoXFxcImluZmluaXRlIGxvb3AgZGV0ZWN0ZWQgaW4gLm1hbnkoKSBwYXJzZXIgLS0tIGNhbGxpbmcgLm1hbnkoKSBvbiBhIHBhcnNlciB3aGljaCBjYW4gYWNjZXB0IHplcm8gY2hhcmFjdGVycyBpcyB1c3VhbGx5IHRoZSBjYXVzZVxcXCIpO0U9TC5pbmRleCxrLnB1c2goTC52YWx1ZSl9fSl9LHMudGllV2l0aD1mdW5jdGlvbihjKXtyZXR1cm4gTyhjKSx0aGlzLm1hcChmdW5jdGlvbihwKXtpZihmdW5jdGlvbihMKXtpZighTihMKSl0aHJvdyBuZXcgRXJyb3IoXFxcIm5vdCBhbiBhcnJheTogXFxcIitMKX0ocCkscC5sZW5ndGgpe08ocFswXSk7Zm9yKHZhciBFPXBbMF0saz0xO2s8cC5sZW5ndGg7aysrKU8ocFtrXSksRSs9YytwW2tdO3JldHVybiBFfXJldHVyblxcXCJcXFwifSl9LHMudGllPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGllV2l0aChcXFwiXFxcIil9LHMudGltZXM9ZnVuY3Rpb24oYyxwKXt2YXIgRT10aGlzO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDImJihwPWMpLGVlKGMpLGVlKHApLHIoZnVuY3Rpb24oayxMKXtmb3IodmFyIEE9W10sTT12b2lkIDAsVT12b2lkIDAsdGU9MDt0ZTxjO3RlKz0xKXtpZihVPXgoTT1FLl8oayxMKSxVKSwhTS5zdGF0dXMpcmV0dXJuIFU7TD1NLmluZGV4LEEucHVzaChNLnZhbHVlKX1mb3IoO3RlPHAmJihVPXgoTT1FLl8oayxMKSxVKSxNLnN0YXR1cyk7dGUrPTEpTD1NLmluZGV4LEEucHVzaChNLnZhbHVlKTtyZXR1cm4geCh3KEwsQSksVSl9KX0scy5yZXN1bHQ9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KX0scy5hdE1vc3Q9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMudGltZXMoMCxjKX0scy5hdExlYXN0PWZ1bmN0aW9uKGMpe3JldHVybiBQdCh0aGlzLnRpbWVzKGMpLHRoaXMubWFueSgpLGZ1bmN0aW9uKHAsRSl7cmV0dXJuIHAuY29uY2F0KEUpfSl9LHMubWFwPWZ1bmN0aW9uKGMpe3VlKGMpO3ZhciBwPXRoaXM7cmV0dXJuIHIoZnVuY3Rpb24oRSxrKXt2YXIgTD1wLl8oRSxrKTtyZXR1cm4gTC5zdGF0dXM/eCh3KEwuaW5kZXgsYyhMLnZhbHVlKSksTCk6TH0pfSxzLmNvbnRyYW1hcD1mdW5jdGlvbihjKXt1ZShjKTt2YXIgcD10aGlzO3JldHVybiByKGZ1bmN0aW9uKEUsayl7dmFyIEw9cC5wYXJzZShjKEUuc2xpY2UoaykpKTtyZXR1cm4gTC5zdGF0dXM/dyhrK0UubGVuZ3RoLEwudmFsdWUpOkx9KX0scy5wcm9tYXA9ZnVuY3Rpb24oYyxwKXtyZXR1cm4gdWUoYyksdWUocCksdGhpcy5jb250cmFtYXAoYykubWFwKHApfSxzLnNraXA9ZnVuY3Rpb24oYyl7cmV0dXJuIEJyKHRoaXMsYykubWFwKGZ1bmN0aW9uKHApe3JldHVybiBwWzBdfSl9LHMubWFyaz1mdW5jdGlvbigpe3JldHVybiBQdChQbix0aGlzLFBuLGZ1bmN0aW9uKGMscCxFKXtyZXR1cm57c3RhcnQ6Yyx2YWx1ZTpwLGVuZDpFfX0pfSxzLm5vZGU9ZnVuY3Rpb24oYyl7cmV0dXJuIFB0KFBuLHRoaXMsUG4sZnVuY3Rpb24ocCxFLGspe3JldHVybntuYW1lOmMsdmFsdWU6RSxzdGFydDpwLGVuZDprfX0pfSxzLnNlcEJ5PWZ1bmN0aW9uKGMpe3JldHVybiBDbyh0aGlzLGMpfSxzLnNlcEJ5MT1mdW5jdGlvbihjKXtyZXR1cm4gVXModGhpcyxjKX0scy5sb29rYWhlYWQ9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMuc2tpcChScihjKSl9LHMubm90Rm9sbG93ZWRCeT1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5za2lwKHZvKGMpKX0scy5kZXNjPWZ1bmN0aW9uKGMpe04oYyl8fChjPVtjXSk7dmFyIHA9dGhpcztyZXR1cm4gcihmdW5jdGlvbihFLGspe3ZhciBMPXAuXyhFLGspO3JldHVybiBMLnN0YXR1c3x8KEwuZXhwZWN0ZWQ9YyksTH0pfSxzLmZhbGxiYWNrPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLm9yKCR0KGMpKX0scy5hcD1mdW5jdGlvbihjKXtyZXR1cm4gUHQoYyx0aGlzLGZ1bmN0aW9uKHAsRSl7cmV0dXJuIHAoRSl9KX0scy5jaGFpbj1mdW5jdGlvbihjKXt2YXIgcD10aGlzO3JldHVybiByKGZ1bmN0aW9uKEUsayl7dmFyIEw9cC5fKEUsayk7cmV0dXJuIEwuc3RhdHVzP3goYyhMLnZhbHVlKS5fKEUsTC5pbmRleCksTCk6TH0pfSxzLmNvbmNhdD1zLm9yLHMuZW1wdHk9S3Mscy5vZj0kdCxzW1xcXCJmYW50YXN5LWxhbmQvYXBcXFwiXT1zLmFwLHNbXFxcImZhbnRhc3ktbGFuZC9jaGFpblxcXCJdPXMuY2hhaW4sc1tcXFwiZmFudGFzeS1sYW5kL2NvbmNhdFxcXCJdPXMuY29uY2F0LHNbXFxcImZhbnRhc3ktbGFuZC9lbXB0eVxcXCJdPXMuZW1wdHksc1tcXFwiZmFudGFzeS1sYW5kL29mXFxcIl09cy5vZixzW1xcXCJmYW50YXN5LWxhbmQvbWFwXFxcIl09cy5tYXA7dmFyIFBuPXIoZnVuY3Rpb24oYyxwKXtyZXR1cm4gdyhwLFYoYyxwKSl9KSxlbD1yKGZ1bmN0aW9uKGMscCl7cmV0dXJuIHA+PWMubGVuZ3RoP3YocCxcXFwiYW55IGNoYXJhY3Rlci9ieXRlXFxcIik6dyhwKzEsWShjLHApKX0pLHRsPXIoZnVuY3Rpb24oYyxwKXtyZXR1cm4gdyhjLmxlbmd0aCxjLnNsaWNlKHApKX0pLFdzPXIoZnVuY3Rpb24oYyxwKXtyZXR1cm4gcDxjLmxlbmd0aD92KHAsXFxcIkVPRlxcXCIpOncocCxudWxsKX0pLG5sPWZ0KC9bMC05XS8pLmRlc2MoXFxcImEgZGlnaXRcXFwiKSxybD1mdCgvWzAtOV0qLykuZGVzYyhcXFwib3B0aW9uYWwgZGlnaXRzXFxcIiksc2w9ZnQoL1thLXpdL2kpLmRlc2MoXFxcImEgbGV0dGVyXFxcIiksaWw9ZnQoL1thLXpdKi9pKS5kZXNjKFxcXCJvcHRpb25hbCBsZXR0ZXJzXFxcIiksb2w9ZnQoL1xcXFxzKi8pLmRlc2MoXFxcIm9wdGlvbmFsIHdoaXRlc3BhY2VcXFwiKSxhbD1mdCgvXFxcXHMrLykuZGVzYyhcXFwid2hpdGVzcGFjZVxcXCIpLE9vPUJuKFxcXCJcXFxcclxcXCIpLElvPUJuKGBcXG5gKSxMbz1CbihgXFxcXHJcXG5gKSxObz1QcihMbyxJbyxPbykuZGVzYyhcXFwibmV3bGluZVxcXCIpLHVsPVByKE5vLFdzKTtyLmFsbD10bCxyLmFsdD1QcixyLmFueT1lbCxyLmNyPU9vLHIuY3JlYXRlTGFuZ3VhZ2U9ZnVuY3Rpb24oYyl7dmFyIHA9e307Zm9yKHZhciBFIGluIGMpKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsRSkmJmZ1bmN0aW9uKGspe3Bba109eG8oZnVuY3Rpb24oKXtyZXR1cm4gY1trXShwKX0pfShFKTtyZXR1cm4gcH0sci5jcmxmPUxvLHIuY3VzdG9tPWZ1bmN0aW9uKGMpe3JldHVybiByKGModyx2KSl9LHIuZGlnaXQ9bmwsci5kaWdpdHM9cmwsci5lbXB0eT1LcyxyLmVuZD11bCxyLmVvZj1XcyxyLmZhaWw9JHIsci5mb3JtYXRFcnJvcj1TbyxyLmluZGV4PVBuLHIuaXNQYXJzZXI9SSxyLmxhenk9eG8sci5sZXR0ZXI9c2wsci5sZXR0ZXJzPWlsLHIubGY9SW8sci5sb29rYWhlYWQ9UnIsci5tYWtlRmFpbHVyZT12LHIubWFrZVN1Y2Nlc3M9dyxyLm5ld2xpbmU9Tm8sci5ub25lT2Y9ZnVuY3Rpb24oYyl7cmV0dXJuIGpyKGZ1bmN0aW9uKHApe3JldHVybiBjLmluZGV4T2YocCk8MH0pLmRlc2MoXFxcIm5vbmUgb2YgJ1xcXCIrYytcXFwiJ1xcXCIpfSxyLm5vdEZvbGxvd2VkQnk9dm8sci5vZj0kdCxyLm9uZU9mPWZ1bmN0aW9uKGMpe2Zvcih2YXIgcD1jLnNwbGl0KFxcXCJcXFwiKSxFPTA7RTxwLmxlbmd0aDtFKyspcFtFXT1cXFwiJ1xcXCIrcFtFXStcXFwiJ1xcXCI7cmV0dXJuIGpyKGZ1bmN0aW9uKGspe3JldHVybiBjLmluZGV4T2Yoayk+PTB9KS5kZXNjKHApfSxyLm9wdFdoaXRlc3BhY2U9b2wsci5QYXJzZXI9cixyLnJhbmdlPWZ1bmN0aW9uKGMscCl7cmV0dXJuIGpyKGZ1bmN0aW9uKEUpe3JldHVybiBjPD1FJiZFPD1wfSkuZGVzYyhjK1xcXCItXFxcIitwKX0sci5yZWdleD1mdCxyLnJlZ2V4cD1mdCxyLnNlcEJ5PUNvLHIuc2VwQnkxPVVzLHIuc2VxPUJyLHIuc2VxTWFwPVB0LHIuc2VxT2JqPWZ1bmN0aW9uKCl7Zm9yKHZhciBjLHA9e30sRT0wLGs9KGM9YXJndW1lbnRzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGMpKSxMPWsubGVuZ3RoLEE9MDtBPEw7QSs9MSl7dmFyIE09a1tBXTtpZighSShNKSl7aWYoTihNKSYmTS5sZW5ndGg9PT0yJiZ0eXBlb2YgTVswXT09XFxcInN0cmluZ1xcXCImJkkoTVsxXSkpe3ZhciBVPU1bMF07aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHAsVSkpdGhyb3cgbmV3IEVycm9yKFxcXCJzZXFPYmo6IGR1cGxpY2F0ZSBrZXkgXFxcIitVKTtwW1VdPSEwLEUrKztjb250aW51ZX10aHJvdyBuZXcgRXJyb3IoXFxcInNlcU9iaiBhcmd1bWVudHMgbXVzdCBiZSBwYXJzZXJzIG9yIFtzdHJpbmcsIHBhcnNlcl0gYXJyYXkgcGFpcnMuXFxcIil9fWlmKEU9PT0wKXRocm93IG5ldyBFcnJvcihcXFwic2VxT2JqIGV4cGVjdHMgYXQgbGVhc3Qgb25lIG5hbWVkIHBhcnNlciwgZm91bmQgemVyb1xcXCIpO3JldHVybiByKGZ1bmN0aW9uKHRlLEVlKXtmb3IodmFyIG1lLGR0PXt9LHZlPTA7dmU8TDt2ZSs9MSl7dmFyIGh0LFh0O2lmKE4oa1t2ZV0pPyhodD1rW3ZlXVswXSxYdD1rW3ZlXVsxXSk6KGh0PW51bGwsWHQ9a1t2ZV0pLCEobWU9eChYdC5fKHRlLEVlKSxtZSkpLnN0YXR1cylyZXR1cm4gbWU7aHQmJihkdFtodF09bWUudmFsdWUpLEVlPW1lLmluZGV4fXJldHVybiB4KHcoRWUsZHQpLG1lKX0pfSxyLnN0cmluZz1CbixyLnN1Y2NlZWQ9JHQsci50YWtlV2hpbGU9ZnVuY3Rpb24oYyl7cmV0dXJuIHVlKGMpLHIoZnVuY3Rpb24ocCxFKXtmb3IodmFyIGs9RTtrPHAubGVuZ3RoJiZjKFkocCxrKSk7KWsrKztyZXR1cm4gdyhrLHAuc2xpY2UoRSxrKSl9KX0sci50ZXN0PWpyLHIud2hpdGVzcGFjZT1hbCxyW1xcXCJmYW50YXN5LWxhbmQvZW1wdHlcXFwiXT1LcyxyW1xcXCJmYW50YXN5LWxhbmQvb2ZcXFwiXT0kdCxyLkJpbmFyeT17Yml0U2VxOmQsYml0U2VxT2JqOmZ1bmN0aW9uKGMpe2YoKTt2YXIgcD17fSxFPTAsaz1hKGZ1bmN0aW9uKEEpe2lmKE4oQSkpe3ZhciBNPUE7aWYoTS5sZW5ndGghPT0yKXRocm93IG5ldyBFcnJvcihcXFwiW1xcXCIrTS5qb2luKFxcXCIsIFxcXCIpK1xcXCJdIHNob3VsZCBiZSBsZW5ndGggMiwgZ290IGxlbmd0aCBcXFwiK00ubGVuZ3RoKTtpZihPKE1bMF0pLGVlKE1bMV0pLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwLE1bMF0pKXRocm93IG5ldyBFcnJvcihcXFwiZHVwbGljYXRlIGtleSBpbiBiaXRTZXFPYmo6IFxcXCIrTVswXSk7cmV0dXJuIHBbTVswXV09ITAsRSsrLE19cmV0dXJuIGVlKEEpLFtudWxsLEFdfSxjKTtpZihFPDEpdGhyb3cgbmV3IEVycm9yKFxcXCJiaXRTZXFPYmogZXhwZWN0cyBhdCBsZWFzdCBvbmUgbmFtZWQgcGFpciwgZ290IFtcXFwiK2Muam9pbihcXFwiLCBcXFwiKStcXFwiXVxcXCIpO3ZhciBMPWEoZnVuY3Rpb24oQSl7cmV0dXJuIEFbMF19LGspO3JldHVybiBkKGEoZnVuY3Rpb24oQSl7cmV0dXJuIEFbMV19LGspKS5tYXAoZnVuY3Rpb24oQSl7cmV0dXJuIG8oZnVuY3Rpb24oTSxVKXtyZXR1cm4gVVswXSE9PW51bGwmJihNW1VbMF1dPVVbMV0pLE19LHt9LGEoZnVuY3Rpb24oTSxVKXtyZXR1cm5bTSxBW1VdXX0sTCkpfSl9LGJ5dGU6ZnVuY3Rpb24oYyl7aWYoZigpLGVlKGMpLGM+MjU1KXRocm93IG5ldyBFcnJvcihcXFwiVmFsdWUgc3BlY2lmaWVkIHRvIGJ5dGUgY29uc3RydWN0b3IgKFxcXCIrYytcXFwiPTB4XFxcIitjLnRvU3RyaW5nKDE2KStcXFwiKSBpcyBsYXJnZXIgaW4gdmFsdWUgdGhhbiBhIHNpbmdsZSBieXRlLlxcXCIpO3ZhciBwPShjPjE1P1xcXCIweFxcXCI6XFxcIjB4MFxcXCIpK2MudG9TdHJpbmcoMTYpO3JldHVybiByKGZ1bmN0aW9uKEUsayl7dmFyIEw9WShFLGspO3JldHVybiBMPT09Yz93KGsrMSxMKTp2KGsscCl9KX0sYnVmZmVyOmZ1bmN0aW9uKGMpe3JldHVybiBtKFxcXCJidWZmZXJcXFwiLGMpLm1hcChmdW5jdGlvbihwKXtyZXR1cm4gQnVmZmVyLmZyb20ocCl9KX0sZW5jb2RlZFN0cmluZzpmdW5jdGlvbihjLHApe3JldHVybiBtKFxcXCJzdHJpbmdcXFwiLHApLm1hcChmdW5jdGlvbihFKXtyZXR1cm4gRS50b1N0cmluZyhjKX0pfSx1aW50QkU6Yix1aW50OEJFOmIoMSksdWludDE2QkU6YigyKSx1aW50MzJCRTpiKDQpLHVpbnRMRTpnLHVpbnQ4TEU6ZygxKSx1aW50MTZMRTpnKDIpLHVpbnQzMkxFOmcoNCksaW50QkU6RCxpbnQ4QkU6RCgxKSxpbnQxNkJFOkQoMiksaW50MzJCRTpEKDQpLGludExFOlQsaW50OExFOlQoMSksaW50MTZMRTpUKDIpLGludDMyTEU6VCg0KSxmbG9hdEJFOm0oXFxcImZsb2F0QkVcXFwiLDQpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5yZWFkRmxvYXRCRSgwKX0pLGZsb2F0TEU6bShcXFwiZmxvYXRMRVxcXCIsNCkubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnJlYWRGbG9hdExFKDApfSksZG91YmxlQkU6bShcXFwiZG91YmxlQkVcXFwiLDgpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5yZWFkRG91YmxlQkUoMCl9KSxkb3VibGVMRTptKFxcXCJkb3VibGVMRVxcXCIsOCkubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnJlYWREb3VibGVMRSgwKX0pfSxuLmV4cG9ydHM9cn1dKX0pfSk7dmFyIFJ1PV9vKE5lPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBTZj1OZSYmTmUuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG49T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHIscyl7ci5fX3Byb3RvX189c318fGZ1bmN0aW9uKHIscyl7Zm9yKHZhciBpIGluIHMpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsaSkmJihyW2ldPXNbaV0pfSxuKGUsdCl9O3JldHVybiBmdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0IT1cXFwiZnVuY3Rpb25cXFwiJiZ0IT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJDbGFzcyBleHRlbmRzIHZhbHVlIFxcXCIrU3RyaW5nKHQpK1xcXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFxcXCIpO24oZSx0KTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWUucHJvdG90eXBlPXQ9PT1udWxsP09iamVjdC5jcmVhdGUodCk6KHIucHJvdG90eXBlPXQucHJvdG90eXBlLG5ldyByKX19KCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KE5lLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTtOZS5FbXB0eUJUcmVlPU5lLmFzU2V0PU5lLnNpbXBsZUNvbXBhcmF0b3I9TmUuZGVmYXVsdENvbXBhcmF0b3I9dm9pZCAwO2Z1bmN0aW9uIEJ1KG4sZSl7aWYoTnVtYmVyLmlzRmluaXRlKG4pJiZOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIG4tZTt2YXIgdD10eXBlb2YgbixyPXR5cGVvZiBlO2lmKHQhPT1yKXJldHVybiB0PHI/LTE6MTtpZih0PT09XFxcIm9iamVjdFxcXCIpe2lmKG49PT1udWxsKXJldHVybiBlPT09bnVsbD8wOi0xO2lmKGU9PT1udWxsKXJldHVybiAxO2lmKG49bi52YWx1ZU9mKCksZT1lLnZhbHVlT2YoKSx0PXR5cGVvZiBuLHI9dHlwZW9mIGUsdCE9PXIpcmV0dXJuIHQ8cj8tMToxfXJldHVybiBuPGU/LTE6bj5lPzE6bj09PWU/MDpOdW1iZXIuaXNOYU4obik/TnVtYmVyLmlzTmFOKGUpPzA6LTE6TnVtYmVyLmlzTmFOKGUpPzE6QXJyYXkuaXNBcnJheShuKT8wOk51bWJlci5OYU59TmUuZGVmYXVsdENvbXBhcmF0b3I9QnU7ZnVuY3Rpb24ga2YobixlKXtyZXR1cm4gbj5lPzE6bjxlPy0xOjB9TmUuc2ltcGxlQ29tcGFyYXRvcj1rZjt2YXIgbHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKGUsdCxyKXt0aGlzLl9yb290PWZvLHRoaXMuX3NpemU9MCx0aGlzLl9tYXhOb2RlU2l6ZT1yPj00P01hdGgubWluKHIsMjU2KTozMix0aGlzLl9jb21wYXJlPXR8fEJ1LGUmJnRoaXMuc2V0UGFpcnMoZSl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcXFwic2l6ZVxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zaXplfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcXFwibGVuZ3RoXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NpemV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFxcXCJpc0VtcHR5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NpemU9PT0wfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLG4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fcm9vdD1mbyx0aGlzLl9zaXplPTB9LG4ucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO3JldHVybiB0IT09dm9pZCAwJiYoZT1lLmJpbmQodCkpLHRoaXMuZm9yRWFjaFBhaXIoZnVuY3Rpb24ocyxpKXtyZXR1cm4gZShpLHMscil9KX0sbi5wcm90b3R5cGUuZm9yRWFjaFBhaXI9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLm1pbktleSgpLHM9dGhpcy5tYXhLZXkoKTtyZXR1cm4gdGhpcy5mb3JSYW5nZShyLHMsITAsZSx0KX0sbi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3Jvb3QuZ2V0KGUsdCx0aGlzKX0sbi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGUsdCxyKXt0aGlzLl9yb290LmlzU2hhcmVkJiYodGhpcy5fcm9vdD10aGlzLl9yb290LmNsb25lKCkpO3ZhciBzPXRoaXMuX3Jvb3Quc2V0KGUsdCxyLHRoaXMpO3JldHVybiBzPT09ITB8fHM9PT0hMT9zOih0aGlzLl9yb290PW5ldyB2ZihbdGhpcy5fcm9vdCxzXSksITApfSxuLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZm9yUmFuZ2UoZSxlLCEwLHZvaWQgMCkhPT0wfSxuLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWRpdFJhbmdlKGUsZSwhMCxNdSkhPT0wfSxuLnByb3RvdHlwZS53aXRoPWZ1bmN0aW9uKGUsdCxyKXt2YXIgcz10aGlzLmNsb25lKCk7cmV0dXJuIHMuc2V0KGUsdCxyKXx8cj9zOnRoaXN9LG4ucHJvdG90eXBlLndpdGhQYWlycz1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMuY2xvbmUoKTtyZXR1cm4gci5zZXRQYWlycyhlLHQpIT09MHx8dD9yOnRoaXN9LG4ucHJvdG90eXBlLndpdGhLZXlzPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPXRoaXMuY2xvbmUoKSxzPSExLGk9MDtpPGUubGVuZ3RoO2krKylzPXIuc2V0KGVbaV0sdm9pZCAwLCExKXx8cztyZXR1cm4gdCYmIXM/dGhpczpyfSxuLnByb3RvdHlwZS53aXRob3V0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMud2l0aG91dFJhbmdlKGUsZSwhMCx0KX0sbi5wcm90b3R5cGUud2l0aG91dEtleXM9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmNsb25lKCk7cmV0dXJuIHIuZGVsZXRlS2V5cyhlKXx8IXQ/cjp0aGlzfSxuLnByb3RvdHlwZS53aXRob3V0UmFuZ2U9ZnVuY3Rpb24oZSx0LHIscyl7dmFyIGk9dGhpcy5jbG9uZSgpO3JldHVybiBpLmRlbGV0ZVJhbmdlKGUsdCxyKT09PTAmJnM/dGhpczppfSxuLnByb3RvdHlwZS5maWx0ZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmdyZWVkeUNsb25lKCkscztyZXR1cm4gci5lZGl0QWxsKGZ1bmN0aW9uKGksbyxhKXtpZighZShpLG8sYSkpcmV0dXJuIHM9JHV9KSwhcyYmdD90aGlzOnJ9LG4ucHJvdG90eXBlLm1hcFZhbHVlcz1mdW5jdGlvbihlKXt2YXIgdD17fSxyPXRoaXMuZ3JlZWR5Q2xvbmUoKTtyZXR1cm4gci5lZGl0QWxsKGZ1bmN0aW9uKHMsaSxvKXtyZXR1cm4gdC52YWx1ZT1lKGkscyxvKSx0fSkscn0sbi5wcm90b3R5cGUucmVkdWNlPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPTAscz10LGk9dGhpcy5lbnRyaWVzKHRoaXMubWluS2V5KCksTXIpLG87IShvPWkubmV4dCgpKS5kb25lOylzPWUocyxvLnZhbHVlLHIrKyx0aGlzKTtyZXR1cm4gc30sbi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMuZmluZFBhdGgoZSk7aWYocj09PXZvaWQgMClyZXR1cm4gQW4oKTt2YXIgcz1yLm5vZGVxdWV1ZSxpPXIubm9kZWluZGV4LG89ci5sZWFmLGE9dCE9PXZvaWQgMD8xOjAsdT1lPT09dm9pZCAwPy0xOm8uaW5kZXhPZihlLDAsdGhpcy5fY29tcGFyZSktMTtyZXR1cm4gQW4oZnVuY3Rpb24oKXtlOmZvcig7Oylzd2l0Y2goYSl7Y2FzZSAwOmlmKCsrdTxvLmtleXMubGVuZ3RoKXJldHVybntkb25lOiExLHZhbHVlOltvLmtleXNbdV0sby52YWx1ZXNbdV1dfTthPTI7Y29udGludWU7Y2FzZSAxOmlmKCsrdTxvLmtleXMubGVuZ3RoKXJldHVybiB0WzBdPW8ua2V5c1t1XSx0WzFdPW8udmFsdWVzW3VdLHtkb25lOiExLHZhbHVlOnR9O2E9MjtjYXNlIDI6Zm9yKHZhciBsPS0xOzspe2lmKCsrbD49cy5sZW5ndGgpe2E9Mztjb250aW51ZSBlfWlmKCsraVtsXTxzW2xdLmxlbmd0aClicmVha31mb3IoO2w+MDtsLS0pc1tsLTFdPXNbbF1baVtsXV0uY2hpbGRyZW4saVtsLTFdPTA7bz1zWzBdW2lbMF1dLHU9LTEsYT10IT09dm9pZCAwPzE6MDtjb250aW51ZTtjYXNlIDM6cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19KX0sbi5wcm90b3R5cGUuZW50cmllc1JldmVyc2VkPWZ1bmN0aW9uKGUsdCxyKXtpZihlPT09dm9pZCAwJiYoZT10aGlzLm1heEtleSgpLHI9dm9pZCAwLGU9PT12b2lkIDApKXJldHVybiBBbigpO3ZhciBzPXRoaXMuZmluZFBhdGgoZSl8fHRoaXMuZmluZFBhdGgodGhpcy5tYXhLZXkoKSksaT1zLm5vZGVxdWV1ZSxvPXMubm9kZWluZGV4LGE9cy5sZWFmO0xlKCFpWzBdfHxhPT09aVswXVtvWzBdXSxcXFwid2F0IVxcXCIpO3ZhciB1PWEuaW5kZXhPZihlLDAsdGhpcy5fY29tcGFyZSk7IXImJnU8YS5rZXlzLmxlbmd0aCYmdGhpcy5fY29tcGFyZShhLmtleXNbdV0sZSk8PTAmJnUrKzt2YXIgbD10IT09dm9pZCAwPzE6MDtyZXR1cm4gQW4oZnVuY3Rpb24oKXtlOmZvcig7Oylzd2l0Y2gobCl7Y2FzZSAwOmlmKC0tdT49MClyZXR1cm57ZG9uZTohMSx2YWx1ZTpbYS5rZXlzW3VdLGEudmFsdWVzW3VdXX07bD0yO2NvbnRpbnVlO2Nhc2UgMTppZigtLXU+PTApcmV0dXJuIHRbMF09YS5rZXlzW3VdLHRbMV09YS52YWx1ZXNbdV0se2RvbmU6ITEsdmFsdWU6dH07bD0yO2Nhc2UgMjpmb3IodmFyIGY9LTE7Oyl7aWYoKytmPj1pLmxlbmd0aCl7bD0zO2NvbnRpbnVlIGV9aWYoLS1vW2ZdPj0wKWJyZWFrfWZvcig7Zj4wO2YtLSlpW2YtMV09aVtmXVtvW2ZdXS5jaGlsZHJlbixvW2YtMV09aVtmLTFdLmxlbmd0aC0xO2E9aVswXVtvWzBdXSx1PWEua2V5cy5sZW5ndGgsbD10IT09dm9pZCAwPzE6MDtjb250aW51ZTtjYXNlIDM6cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX19KX0sbi5wcm90b3R5cGUuZmluZFBhdGg9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcm9vdCxyLHM7aWYodC5pc0xlYWYpcj1fdSxzPV91O2Vsc2V7cj1bXSxzPVtdO2Zvcih2YXIgaT0wOyF0LmlzTGVhZjtpKyspe2lmKHJbaV09dC5jaGlsZHJlbixzW2ldPWU9PT12b2lkIDA/MDp0LmluZGV4T2YoZSwwLHRoaXMuX2NvbXBhcmUpLHNbaV0+PXJbaV0ubGVuZ3RoKXJldHVybjt0PXJbaV1bc1tpXV19ci5yZXZlcnNlKCkscy5yZXZlcnNlKCl9cmV0dXJue25vZGVxdWV1ZTpyLG5vZGVpbmRleDpzLGxlYWY6dH19LG4ucHJvdG90eXBlLmRpZmZBZ2FpbnN0PWZ1bmN0aW9uKGUsdCxyLHMpe2lmKGUuX2NvbXBhcmUhPT10aGlzLl9jb21wYXJlKXRocm93IG5ldyBFcnJvcihcXFwiVHJlZSBjb21wYXJhdG9ycyBhcmUgbm90IHRoZSBzYW1lLlxcXCIpO2lmKHRoaXMuaXNFbXB0eXx8ZS5pc0VtcHR5KXJldHVybiB0aGlzLmlzRW1wdHkmJmUuaXNFbXB0eT92b2lkIDA6dGhpcy5pc0VtcHR5P3I9PT12b2lkIDA/dm9pZCAwOm4uc3RlcFRvRW5kKG4ubWFrZURpZmZDdXJzb3IoZSkscik6dD09PXZvaWQgMD92b2lkIDA6bi5zdGVwVG9FbmQobi5tYWtlRGlmZkN1cnNvcih0aGlzKSx0KTtmb3IodmFyIGk9dGhpcy5fY29tcGFyZSxvPW4ubWFrZURpZmZDdXJzb3IodGhpcyksYT1uLm1ha2VEaWZmQ3Vyc29yKGUpLHU9ITAsbD0hMCxmPW4uY29tcGFyZShvLGEsaSk7dSYmbDspe3ZhciBkPW4uY29tcGFyZShvLGEsaSksbT1vLmxlYWYsaD1vLmludGVybmFsU3BpbmUsYj1vLmxldmVsSW5kaWNlcyxnPWEubGVhZixEPWEuaW50ZXJuYWxTcGluZSxUPWEubGV2ZWxJbmRpY2VzO2lmKG18fGcpe2lmKGYhPT0wKXtpZihkPT09MCl7aWYobSYmZyYmcyl7dmFyIEk9bS52YWx1ZXNbYltiLmxlbmd0aC0xXV0sTj1nLnZhbHVlc1tUW1QubGVuZ3RoLTFdXTtpZighT2JqZWN0LmlzKEksTikpe3ZhciB5PXMoby5jdXJyZW50S2V5LEksTik7aWYoeSYmeS5icmVhaylyZXR1cm4geS5icmVha319fWVsc2UgaWYoZD4wKXtpZihnJiZyKXt2YXIgdz1nLnZhbHVlc1tUW1QubGVuZ3RoLTFdXSx5PXIoYS5jdXJyZW50S2V5LHcpO2lmKHkmJnkuYnJlYWspcmV0dXJuIHkuYnJlYWt9fWVsc2UgaWYodCYmbSYmZiE9PTApe3ZhciBJPW0udmFsdWVzW2JbYi5sZW5ndGgtMV1dLHk9dChvLmN1cnJlbnRLZXksSSk7aWYoeSYmeS5icmVhaylyZXR1cm4geS5icmVha319fWVsc2UgaWYoIW0mJiFnJiZkPT09MCl7dmFyIHY9aC5sZW5ndGgtMSx4PUQubGVuZ3RoLTEsQz1oW3ZdW2Jbdl1dLFY9RFt4XVtUW3hdXTtpZihWPT09Qyl7Zj0wLHU9bi5zdGVwKG8sITApLGw9bi5zdGVwKGEsITApO2NvbnRpbnVlfX1mPWQsZDwwP3U9bi5zdGVwKG8pOmw9bi5zdGVwKGEpfWlmKHUmJnQpcmV0dXJuIG4uZmluaXNoQ3Vyc29yV2FsayhvLGEsaSx0KTtpZihsJiZyKXJldHVybiBuLmZpbmlzaEN1cnNvcldhbGsoYSxvLGkscil9LG4uZmluaXNoQ3Vyc29yV2Fsaz1mdW5jdGlvbihlLHQscixzKXt2YXIgaT1uLmNvbXBhcmUoZSx0LHIpO2lmKGk9PT0wKXtpZighbi5zdGVwKGUpKXJldHVybn1lbHNlIGk8MCYmTGUoITEsXFxcImN1cnNvciB3YWxrIHRlcm1pbmF0ZWQgZWFybHlcXFwiKTtyZXR1cm4gbi5zdGVwVG9FbmQoZSxzKX0sbi5zdGVwVG9FbmQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9ITA7cjspe3ZhciBzPWUubGVhZixpPWUubGV2ZWxJbmRpY2VzLG89ZS5jdXJyZW50S2V5O2lmKHMpe3ZhciBhPXMudmFsdWVzW2lbaS5sZW5ndGgtMV1dLHU9dChvLGEpO2lmKHUmJnUuYnJlYWspcmV0dXJuIHUuYnJlYWt9cj1uLnN0ZXAoZSl9fSxuLm1ha2VEaWZmQ3Vyc29yPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3Jvb3Qscj1lLmhlaWdodDtyZXR1cm57aGVpZ2h0OnIsaW50ZXJuYWxTcGluZTpbW3RdXSxsZXZlbEluZGljZXM6WzBdLGxlYWY6dm9pZCAwLGN1cnJlbnRLZXk6dC5tYXhLZXkoKX19LG4uc3RlcD1mdW5jdGlvbihlLHQpe3ZhciByPWUuaW50ZXJuYWxTcGluZSxzPWUubGV2ZWxJbmRpY2VzLGk9ZS5sZWFmO2lmKHQ9PT0hMHx8aSl7dmFyIG89cy5sZW5ndGg7aWYodD09PSEwfHxzW28tMV09PT0wKXt2YXIgYT1yLmxlbmd0aDtpZihhPT09MClyZXR1cm4hMTtmb3IodmFyIHU9YS0xLGw9dTtsPj0wOyl7aWYoc1tsXT4wKXJldHVybiBsPG8tMSYmKGUubGVhZj12b2lkIDAscy5wb3AoKSksbDx1JiYoZS5pbnRlcm5hbFNwaW5lPXIuc2xpY2UoMCxsKzEpKSxlLmN1cnJlbnRLZXk9cltsXVstLXNbbF1dLm1heEtleSgpLCEwO2wtLX1yZXR1cm4hMX1lbHNle3ZhciBmPS0tc1tvLTFdO3JldHVybiBlLmN1cnJlbnRLZXk9aS5rZXlzW2ZdLCEwfX1lbHNle3ZhciBkPXIubGVuZ3RoLG09ZC0xLGg9clttXVtzW21dXTtpZihoLmlzTGVhZil7ZS5sZWFmPWg7dmFyIGY9c1tkXT1oLnZhbHVlcy5sZW5ndGgtMTtlLmN1cnJlbnRLZXk9aC5rZXlzW2ZdfWVsc2V7dmFyIGI9aC5jaGlsZHJlbjtyW2RdPWI7dmFyIGc9Yi5sZW5ndGgtMTtzW2RdPWcsZS5jdXJyZW50S2V5PWJbZ10ubWF4S2V5KCl9cmV0dXJuITB9fSxuLmNvbXBhcmU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBzPWUuaGVpZ2h0LGk9ZS5jdXJyZW50S2V5LG89ZS5sZXZlbEluZGljZXMsYT10LmhlaWdodCx1PXQuY3VycmVudEtleSxsPXQubGV2ZWxJbmRpY2VzLGY9cih1LGkpO2lmKGYhPT0wKXJldHVybiBmO3ZhciBkPXM8YT9zOmEsbT1vLmxlbmd0aC0ocy1kKSxoPWwubGVuZ3RoLShhLWQpO3JldHVybiBtLWh9LG4ucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5lbnRyaWVzKGUsTXIpO3JldHVybiBBbihmdW5jdGlvbigpe3ZhciByPXQubmV4dCgpO3JldHVybiByLnZhbHVlJiYoci52YWx1ZT1yLnZhbHVlWzBdKSxyfSl9LG4ucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmVudHJpZXMoZSxNcik7cmV0dXJuIEFuKGZ1bmN0aW9uKCl7dmFyIHI9dC5uZXh0KCk7cmV0dXJuIHIudmFsdWUmJihyLnZhbHVlPXIudmFsdWVbMV0pLHJ9KX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFxcXCJtYXhOb2RlU2l6ZVxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXhOb2RlU2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxuLnByb3RvdHlwZS5taW5LZXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcm9vdC5taW5LZXkoKX0sbi5wcm90b3R5cGUubWF4S2V5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jvb3QubWF4S2V5KCl9LG4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dGhpcy5fcm9vdC5pc1NoYXJlZD0hMDt2YXIgZT1uZXcgbih2b2lkIDAsdGhpcy5fY29tcGFyZSx0aGlzLl9tYXhOb2RlU2l6ZSk7cmV0dXJuIGUuX3Jvb3Q9dGhpcy5fcm9vdCxlLl9zaXplPXRoaXMuX3NpemUsZX0sbi5wcm90b3R5cGUuZ3JlZWR5Q2xvbmU9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IG4odm9pZCAwLHRoaXMuX2NvbXBhcmUsdGhpcy5fbWF4Tm9kZVNpemUpO3JldHVybiB0Ll9yb290PXRoaXMuX3Jvb3QuZ3JlZWR5Q2xvbmUoZSksdC5fc2l6ZT10aGlzLl9zaXplLHR9LG4ucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24oZSl7ZT09PXZvaWQgMCYmKGU9MjE0NzQ4MzY0Nyk7dmFyIHQ9dGhpcy5taW5LZXkoKSxyPXRoaXMubWF4S2V5KCk7cmV0dXJuIHQhPT12b2lkIDA/dGhpcy5nZXRSYW5nZSh0LHIsITAsZSk6W119LG4ucHJvdG90eXBlLmtleXNBcnJheT1mdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiB0aGlzLl9yb290LmZvclJhbmdlKHRoaXMubWluS2V5KCksdGhpcy5tYXhLZXkoKSwhMCwhMSx0aGlzLDAsZnVuY3Rpb24odCxyKXtlLnB1c2godCl9KSxlfSxuLnByb3RvdHlwZS52YWx1ZXNBcnJheT1mdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiB0aGlzLl9yb290LmZvclJhbmdlKHRoaXMubWluS2V5KCksdGhpcy5tYXhLZXkoKSwhMCwhMSx0aGlzLDAsZnVuY3Rpb24odCxyKXtlLnB1c2gocil9KSxlfSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvQXJyYXkoKS50b1N0cmluZygpfSxuLnByb3RvdHlwZS5zZXRJZk5vdFByZXNlbnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5zZXQoZSx0LCExKX0sbi5wcm90b3R5cGUubmV4dEhpZ2hlclBhaXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD10fHxbXSxlPT09dm9pZCAwP3RoaXMuX3Jvb3QubWluUGFpcih0KTp0aGlzLl9yb290LmdldFBhaXJPck5leHRIaWdoZXIoZSx0aGlzLl9jb21wYXJlLCExLHQpfSxuLnByb3RvdHlwZS5uZXh0SGlnaGVyS2V5PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubmV4dEhpZ2hlclBhaXIoZSxNcik7cmV0dXJuIHQmJnRbMF19LG4ucHJvdG90eXBlLm5leHRMb3dlclBhaXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD10fHxbXSxlPT09dm9pZCAwP3RoaXMuX3Jvb3QubWF4UGFpcih0KTp0aGlzLl9yb290LmdldFBhaXJPck5leHRMb3dlcihlLHRoaXMuX2NvbXBhcmUsITEsdCl9LG4ucHJvdG90eXBlLm5leHRMb3dlcktleT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLm5leHRMb3dlclBhaXIoZSxNcik7cmV0dXJuIHQmJnRbMF19LG4ucHJvdG90eXBlLmdldFBhaXJPck5leHRMb3dlcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9yb290LmdldFBhaXJPck5leHRMb3dlcihlLHRoaXMuX2NvbXBhcmUsITAsdHx8W10pfSxuLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0SGlnaGVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3Jvb3QuZ2V0UGFpck9yTmV4dEhpZ2hlcihlLHRoaXMuX2NvbXBhcmUsITAsdHx8W10pfSxuLnByb3RvdHlwZS5jaGFuZ2VJZlByZXNlbnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lZGl0UmFuZ2UoZSxlLCEwLGZ1bmN0aW9uKHIscyl7cmV0dXJue3ZhbHVlOnR9fSkhPT0wfSxuLnByb3RvdHlwZS5nZXRSYW5nZT1mdW5jdGlvbihlLHQscixzKXtzPT09dm9pZCAwJiYocz02NzEwODg2Myk7dmFyIGk9W107cmV0dXJuIHRoaXMuX3Jvb3QuZm9yUmFuZ2UoZSx0LHIsITEsdGhpcywwLGZ1bmN0aW9uKG8sYSl7cmV0dXJuIGkucHVzaChbbyxhXSksaS5sZW5ndGg+cz94Zjp2b2lkIDB9KSxpfSxuLnByb3RvdHlwZS5zZXRQYWlycz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj0wLHM9MDtzPGUubGVuZ3RoO3MrKyl0aGlzLnNldChlW3NdWzBdLGVbc11bMV0sdCkmJnIrKztyZXR1cm4gcn0sbi5wcm90b3R5cGUuZm9yUmFuZ2U9ZnVuY3Rpb24oZSx0LHIscyxpKXt2YXIgbz10aGlzLl9yb290LmZvclJhbmdlKGUsdCxyLCExLHRoaXMsaXx8MCxzKTtyZXR1cm4gdHlwZW9mIG89PVxcXCJudW1iZXJcXFwiP286by5icmVha30sbi5wcm90b3R5cGUuZWRpdFJhbmdlPWZ1bmN0aW9uKGUsdCxyLHMsaSl7dmFyIG89dGhpcy5fcm9vdDtvLmlzU2hhcmVkJiYodGhpcy5fcm9vdD1vPW8uY2xvbmUoKSk7dHJ5e3ZhciBhPW8uZm9yUmFuZ2UoZSx0LHIsITAsdGhpcyxpfHwwLHMpO3JldHVybiB0eXBlb2YgYT09XFxcIm51bWJlclxcXCI/YTphLmJyZWFrfWZpbmFsbHl7Zm9yKHZhciB1PXZvaWQgMDtvLmtleXMubGVuZ3RoPD0xJiYhby5pc0xlYWY7KXV8fCh1PW8uaXNTaGFyZWQpLHRoaXMuX3Jvb3Q9bz1vLmtleXMubGVuZ3RoPT09MD9mbzpvLmNoaWxkcmVuWzBdO3UmJihvLmlzU2hhcmVkPSEwKX19LG4ucHJvdG90eXBlLmVkaXRBbGw9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lZGl0UmFuZ2UodGhpcy5taW5LZXkoKSx0aGlzLm1heEtleSgpLCEwLGUsdCl9LG4ucHJvdG90eXBlLmRlbGV0ZVJhbmdlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdGhpcy5lZGl0UmFuZ2UoZSx0LHIsTXUpfSxuLnByb3RvdHlwZS5kZWxldGVLZXlzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLHI9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLmRlbGV0ZShlW3RdKSYmcisrO3JldHVybiByfSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXFxcImhlaWdodFxcXCIse2dldDpmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLl9yb290LHQ9LTE7ZTspdCsrLGU9ZS5pc0xlYWY/dm9pZCAwOmUuY2hpbGRyZW5bMF07cmV0dXJuIHR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksbi5wcm90b3R5cGUuZnJlZXplPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLmNsZWFyPWUuc2V0PWUuZWRpdFJhbmdlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFxcXCJBdHRlbXB0ZWQgdG8gbW9kaWZ5IGEgZnJvemVuIEJUcmVlXFxcIil9fSxuLnByb3RvdHlwZS51bmZyZWV6ZT1mdW5jdGlvbigpe2RlbGV0ZSB0aGlzLmNsZWFyLGRlbGV0ZSB0aGlzLnNldCxkZWxldGUgdGhpcy5lZGl0UmFuZ2V9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcXFwiaXNGcm96ZW5cXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYXNPd25Qcm9wZXJ0eShcXFwiZWRpdFJhbmdlXFxcIil9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksbi5wcm90b3R5cGUuY2hlY2tWYWxpZD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3Jvb3QuY2hlY2tWYWxpZCgwLHRoaXMsMCk7TGUoZT09PXRoaXMuc2l6ZSxcXFwic2l6ZSBtaXNtYXRjaDogY291bnRlZCBcXFwiLGUsXFxcImJ1dCBzdG9yZWRcXFwiLHRoaXMuc2l6ZSl9LG59KCk7TmUuZGVmYXVsdD1sdDtmdW5jdGlvbiBDZihuKXtyZXR1cm4gbn1OZS5hc1NldD1DZjtTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmKGx0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWx0LnByb3RvdHlwZS5lbnRyaWVzKTtsdC5wcm90b3R5cGUud2hlcmU9bHQucHJvdG90eXBlLmZpbHRlcjtsdC5wcm90b3R5cGUuc2V0UmFuZ2U9bHQucHJvdG90eXBlLnNldFBhaXJzO2x0LnByb3RvdHlwZS5hZGQ9bHQucHJvdG90eXBlLnNldDtmdW5jdGlvbiBBbihuKXtuPT09dm9pZCAwJiYobj1mdW5jdGlvbigpe3JldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19KTt2YXIgZT17bmV4dDpufTtyZXR1cm4gU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3ImJihlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGV9dmFyIFB1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihlLHQpe2U9PT12b2lkIDAmJihlPVtdKSx0aGlzLmtleXM9ZSx0aGlzLnZhbHVlcz10fHxwZSx0aGlzLmlzU2hhcmVkPXZvaWQgMH1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFxcXCJpc0xlYWZcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZHJlbj09PXZvaWQgMH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxuLnByb3RvdHlwZS5tYXhLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5rZXlzW3RoaXMua2V5cy5sZW5ndGgtMV19LG4ucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgcz10aGlzLmtleXMsaT0wLG89cy5sZW5ndGgsYT1vPj4xO2k8bzspe3ZhciB1PXIoc1thXSxlKTtpZih1PDApaT1hKzE7ZWxzZSBpZih1PjApbz1hO2Vsc2V7aWYodT09PTApcmV0dXJuIGE7aWYoZT09PWUpcmV0dXJuIHMubGVuZ3RoO3Rocm93IG5ldyBFcnJvcihcXFwiQlRyZWU6IE5hTiB3YXMgdXNlZCBhcyBhIGtleVxcXCIpfWE9aStvPj4xfXJldHVybiBhXnR9LG4ucHJvdG90eXBlLm1pbktleT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmtleXNbMF19LG4ucHJvdG90eXBlLm1pblBhaXI9ZnVuY3Rpb24oZSl7aWYodGhpcy5rZXlzLmxlbmd0aCE9PTApcmV0dXJuIGVbMF09dGhpcy5rZXlzWzBdLGVbMV09dGhpcy52YWx1ZXNbMF0sZX0sbi5wcm90b3R5cGUubWF4UGFpcj1mdW5jdGlvbihlKXtpZih0aGlzLmtleXMubGVuZ3RoIT09MCl7dmFyIHQ9dGhpcy5rZXlzLmxlbmd0aC0xO3JldHVybiBlWzBdPXRoaXMua2V5c1t0XSxlWzFdPXRoaXMudmFsdWVzW3RdLGV9fSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMudmFsdWVzO3JldHVybiBuZXcgbih0aGlzLmtleXMuc2xpY2UoMCksZT09PXBlP2U6ZS5zbGljZSgwKSl9LG4ucHJvdG90eXBlLmdyZWVkeUNsb25lPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmlzU2hhcmVkJiYhZT90aGlzOnRoaXMuY2xvbmUoKX0sbi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUsdCxyKXt2YXIgcz10aGlzLmluZGV4T2YoZSwtMSxyLl9jb21wYXJlKTtyZXR1cm4gczwwP3Q6dGhpcy52YWx1ZXNbc119LG4ucHJvdG90eXBlLmdldFBhaXJPck5leHRMb3dlcj1mdW5jdGlvbihlLHQscixzKXt2YXIgaT10aGlzLmluZGV4T2YoZSwtMSx0KSxvPWk8MD9+aS0xOnI/aTppLTE7aWYobz49MClyZXR1cm4gc1swXT10aGlzLmtleXNbb10sc1sxXT10aGlzLnZhbHVlc1tvXSxzfSxuLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0SGlnaGVyPWZ1bmN0aW9uKGUsdCxyLHMpe3ZhciBpPXRoaXMuaW5kZXhPZihlLC0xLHQpLG89aTwwP35pOnI/aTppKzEsYT10aGlzLmtleXM7aWYobzxhLmxlbmd0aClyZXR1cm4gc1swXT1hW29dLHNbMV09dGhpcy52YWx1ZXNbb10sc30sbi5wcm90b3R5cGUuY2hlY2tWYWxpZD1mdW5jdGlvbihlLHQscil7dmFyIHM9dGhpcy5rZXlzLmxlbmd0aCxpPXRoaXMudmFsdWVzLmxlbmd0aDtyZXR1cm4gTGUodGhpcy52YWx1ZXM9PT1wZT9zPD1pOnM9PT1pLFxcXCJrZXlzL3ZhbHVlcyBsZW5ndGggbWlzbWF0Y2g6IGRlcHRoXFxcIixlLFxcXCJ3aXRoIGxlbmd0aHNcXFwiLHMsaSxcXFwiYW5kIGJhc2VJbmRleFxcXCIsciksTGUoZT09MHx8cz4wLFxcXCJlbXB0eSBsZWFmIGF0IGRlcHRoXFxcIixlLFxcXCJhbmQgYmFzZUluZGV4XFxcIixyKSxzfSxuLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oZSx0LHIscyl7dmFyIGk9dGhpcy5pbmRleE9mKGUsLTEscy5fY29tcGFyZSk7aWYoaTwwKXtpZihpPX5pLHMuX3NpemUrKyx0aGlzLmtleXMubGVuZ3RoPHMuX21heE5vZGVTaXplKXJldHVybiB0aGlzLmluc2VydEluTGVhZihpLGUsdCxzKTt2YXIgbz10aGlzLnNwbGl0T2ZmUmlnaHRTaWRlKCksYT10aGlzO3JldHVybiBpPnRoaXMua2V5cy5sZW5ndGgmJihpLT10aGlzLmtleXMubGVuZ3RoLGE9byksYS5pbnNlcnRJbkxlYWYoaSxlLHQscyksb31lbHNlIHJldHVybiByIT09ITEmJih0IT09dm9pZCAwJiZ0aGlzLnJlaWZ5VmFsdWVzKCksdGhpcy5rZXlzW2ldPWUsdGhpcy52YWx1ZXNbaV09dCksITF9LG4ucHJvdG90eXBlLnJlaWZ5VmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzPT09cGU/dGhpcy52YWx1ZXM9dGhpcy52YWx1ZXMuc2xpY2UoMCx0aGlzLmtleXMubGVuZ3RoKTp0aGlzLnZhbHVlc30sbi5wcm90b3R5cGUuaW5zZXJ0SW5MZWFmPWZ1bmN0aW9uKGUsdCxyLHMpe2lmKHRoaXMua2V5cy5zcGxpY2UoZSwwLHQpLHRoaXMudmFsdWVzPT09cGUpe2Zvcig7cGUubGVuZ3RoPHMuX21heE5vZGVTaXplOylwZS5wdXNoKHZvaWQgMCk7aWYocj09PXZvaWQgMClyZXR1cm4hMDt0aGlzLnZhbHVlcz1wZS5zbGljZSgwLHRoaXMua2V5cy5sZW5ndGgtMSl9cmV0dXJuIHRoaXMudmFsdWVzLnNwbGljZShlLDAsciksITB9LG4ucHJvdG90eXBlLnRha2VGcm9tUmlnaHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy52YWx1ZXM7ZS52YWx1ZXM9PT1wZT90IT09cGUmJnQucHVzaCh2b2lkIDApOih0PXRoaXMucmVpZnlWYWx1ZXMoKSx0LnB1c2goZS52YWx1ZXMuc2hpZnQoKSkpLHRoaXMua2V5cy5wdXNoKGUua2V5cy5zaGlmdCgpKX0sbi5wcm90b3R5cGUudGFrZUZyb21MZWZ0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMudmFsdWVzO2UudmFsdWVzPT09cGU/dCE9PXBlJiZ0LnVuc2hpZnQodm9pZCAwKToodD10aGlzLnJlaWZ5VmFsdWVzKCksdC51bnNoaWZ0KGUudmFsdWVzLnBvcCgpKSksdGhpcy5rZXlzLnVuc2hpZnQoZS5rZXlzLnBvcCgpKX0sbi5wcm90b3R5cGUuc3BsaXRPZmZSaWdodFNpZGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmtleXMubGVuZ3RoPj4xLHQ9dGhpcy5rZXlzLnNwbGljZShlKSxyPXRoaXMudmFsdWVzPT09cGU/cGU6dGhpcy52YWx1ZXMuc3BsaWNlKGUpO3JldHVybiBuZXcgbih0LHIpfSxuLnByb3RvdHlwZS5mb3JSYW5nZT1mdW5jdGlvbihlLHQscixzLGksbyxhKXt2YXIgdT1pLl9jb21wYXJlLGwsZjtpZih0PT09ZSl7aWYoIXJ8fChmPShsPXRoaXMuaW5kZXhPZihlLC0xLHUpKSsxLGw8MCkpcmV0dXJuIG99ZWxzZSBsPXRoaXMuaW5kZXhPZihlLDAsdSksZj10aGlzLmluZGV4T2YodCwtMSx1KSxmPDA/Zj1+ZjpyPT09ITAmJmYrKzt2YXIgZD10aGlzLmtleXMsbT10aGlzLnZhbHVlcztpZihhIT09dm9pZCAwKWZvcih2YXIgaD1sO2g8ZjtoKyspe3ZhciBiPWRbaF0sZz1hKGIsbVtoXSxvKyspO2lmKGchPT12b2lkIDApe2lmKHM9PT0hMCl7aWYoYiE9PWRbaF18fHRoaXMuaXNTaGFyZWQ9PT0hMCl0aHJvdyBuZXcgRXJyb3IoXFxcIkJUcmVlIGlsbGVnYWxseSBjaGFuZ2VkIG9yIGNsb25lZCBpbiBlZGl0UmFuZ2VcXFwiKTtnLmRlbGV0ZT8odGhpcy5rZXlzLnNwbGljZShoLDEpLHRoaXMudmFsdWVzIT09cGUmJnRoaXMudmFsdWVzLnNwbGljZShoLDEpLGkuX3NpemUtLSxoLS0sZi0tKTpnLmhhc093blByb3BlcnR5KFxcXCJ2YWx1ZVxcXCIpJiYobVtoXT1nLnZhbHVlKX1pZihnLmJyZWFrIT09dm9pZCAwKXJldHVybiBnfX1lbHNlIG8rPWYtbDtyZXR1cm4gb30sbi5wcm90b3R5cGUubWVyZ2VTaWJsaW5nPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5rZXlzLnB1c2guYXBwbHkodGhpcy5rZXlzLGUua2V5cyksdGhpcy52YWx1ZXM9PT1wZSl7aWYoZS52YWx1ZXM9PT1wZSlyZXR1cm47dGhpcy52YWx1ZXM9dGhpcy52YWx1ZXMuc2xpY2UoMCx0aGlzLmtleXMubGVuZ3RoKX10aGlzLnZhbHVlcy5wdXNoLmFwcGx5KHRoaXMudmFsdWVzLGUucmVpZnlWYWx1ZXMoKSl9LG59KCksdmY9ZnVuY3Rpb24obil7U2YoZSxuKTtmdW5jdGlvbiBlKHQscil7dmFyIHM9dGhpcztpZighcil7cj1bXTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylyW2ldPXRbaV0ubWF4S2V5KCl9cmV0dXJuIHM9bi5jYWxsKHRoaXMscil8fHRoaXMscy5jaGlsZHJlbj10LHN9cmV0dXJuIGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuY2hpbGRyZW4uc2xpY2UoMCkscj0wO3I8dC5sZW5ndGg7cisrKXRbcl0uaXNTaGFyZWQ9ITA7cmV0dXJuIG5ldyBlKHQsdGhpcy5rZXlzLnNsaWNlKDApKX0sZS5wcm90b3R5cGUuZ3JlZWR5Q2xvbmU9ZnVuY3Rpb24odCl7aWYodGhpcy5pc1NoYXJlZCYmIXQpcmV0dXJuIHRoaXM7Zm9yKHZhciByPW5ldyBlKHRoaXMuY2hpbGRyZW4uc2xpY2UoMCksdGhpcy5rZXlzLnNsaWNlKDApKSxzPTA7czxyLmNoaWxkcmVuLmxlbmd0aDtzKyspci5jaGlsZHJlbltzXT1yLmNoaWxkcmVuW3NdLmdyZWVkeUNsb25lKHQpO3JldHVybiByfSxlLnByb3RvdHlwZS5taW5LZXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZHJlblswXS5taW5LZXkoKX0sZS5wcm90b3R5cGUubWluUGFpcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jaGlsZHJlblswXS5taW5QYWlyKHQpfSxlLnByb3RvdHlwZS5tYXhQYWlyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNoaWxkcmVuW3RoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdLm1heFBhaXIodCl9LGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0LHIscyl7dmFyIGk9dGhpcy5pbmRleE9mKHQsMCxzLl9jb21wYXJlKSxvPXRoaXMuY2hpbGRyZW47cmV0dXJuIGk8by5sZW5ndGg/b1tpXS5nZXQodCxyLHMpOnZvaWQgMH0sZS5wcm90b3R5cGUuZ2V0UGFpck9yTmV4dExvd2VyPWZ1bmN0aW9uKHQscixzLGkpe3ZhciBvPXRoaXMuaW5kZXhPZih0LDAsciksYT10aGlzLmNoaWxkcmVuO2lmKG8+PWEubGVuZ3RoKXJldHVybiB0aGlzLm1heFBhaXIoaSk7dmFyIHU9YVtvXS5nZXRQYWlyT3JOZXh0TG93ZXIodCxyLHMsaSk7cmV0dXJuIHU9PT12b2lkIDAmJm8+MD9hW28tMV0ubWF4UGFpcihpKTp1fSxlLnByb3RvdHlwZS5nZXRQYWlyT3JOZXh0SGlnaGVyPWZ1bmN0aW9uKHQscixzLGkpe3ZhciBvPXRoaXMuaW5kZXhPZih0LDAsciksYT10aGlzLmNoaWxkcmVuLHU9YS5sZW5ndGg7aWYoIShvPj11KSl7dmFyIGw9YVtvXS5nZXRQYWlyT3JOZXh0SGlnaGVyKHQscixzLGkpO3JldHVybiBsPT09dm9pZCAwJiZvPHUtMT9hW28rMV0ubWluUGFpcihpKTpsfX0sZS5wcm90b3R5cGUuY2hlY2tWYWxpZD1mdW5jdGlvbih0LHIscyl7dmFyIGk9dGhpcy5rZXlzLmxlbmd0aCxvPXRoaXMuY2hpbGRyZW4ubGVuZ3RoO0xlKGk9PT1vLFxcXCJrZXlzL2NoaWxkcmVuIGxlbmd0aCBtaXNtYXRjaDogZGVwdGhcXFwiLHQsXFxcImxlbmd0aHNcXFwiLGksbyxcXFwiYmFzZUluZGV4XFxcIixzKSxMZShpPjF8fHQ+MCxcXFwiaW50ZXJuYWwgbm9kZSBoYXMgbGVuZ3RoXFxcIixpLFxcXCJhdCBkZXB0aFxcXCIsdCxcXFwiYmFzZUluZGV4XFxcIixzKTtmb3IodmFyIGE9MCx1PXRoaXMuY2hpbGRyZW4sbD10aGlzLmtleXMsZj0wLGQ9MDtkPG87ZCsrKWErPXVbZF0uY2hlY2tWYWxpZCh0KzEscixzK2EpLGYrPXVbZF0ua2V5cy5sZW5ndGgsTGUoYT49ZixcXFwid3RmXFxcIixzKSxMZShkPT09MHx8dVtkLTFdLmNvbnN0cnVjdG9yPT09dVtkXS5jb25zdHJ1Y3RvcixcXFwidHlwZSBtaXNtYXRjaCwgYmFzZUluZGV4OlxcXCIscyksdVtkXS5tYXhLZXkoKSE9bFtkXSYmTGUoITEsXFxcImtleXNbXFxcIixkLFxcXCJdID1cXFwiLGxbZF0sXFxcImlzIHdyb25nLCBzaG91bGQgYmUgXFxcIix1W2RdLm1heEtleSgpLFxcXCJhdCBkZXB0aFxcXCIsdCxcXFwiYmFzZUluZGV4XFxcIixzKSxkPT09MHx8ci5fY29tcGFyZShsW2QtMV0sbFtkXSk8MHx8TGUoITEsXFxcInNvcnQgdmlvbGF0aW9uIGF0IGRlcHRoXFxcIix0LFxcXCJpbmRleFxcXCIsZCxcXFwia2V5c1xcXCIsbFtkLTFdLGxbZF0pO3ZhciBtPWY9PT0wO3JldHVybihtfHxmPnIubWF4Tm9kZVNpemUqbykmJkxlKCExLG0/XFxcInRvbyBmZXdcXFwiOlxcXCJ0b28gbWFueVxcXCIsXFxcImNoaWxkcmVuIChcXFwiLGYsYSxcXFwiKSBhdCBkZXB0aFxcXCIsdCxcXFwibWF4Tm9kZVNpemU6XFxcIixyLm1heE5vZGVTaXplLFxcXCJjaGlsZHJlbi5sZW5ndGg6XFxcIixvLFxcXCJiYXNlSW5kZXg6XFxcIixzKSxhfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyLHMsaSl7dmFyIG89dGhpcy5jaGlsZHJlbixhPWkuX21heE5vZGVTaXplLHU9aS5fY29tcGFyZSxsPU1hdGgubWluKHRoaXMuaW5kZXhPZih0LDAsdSksby5sZW5ndGgtMSksZj1vW2xdO2lmKGYuaXNTaGFyZWQmJihvW2xdPWY9Zi5jbG9uZSgpKSxmLmtleXMubGVuZ3RoPj1hKXt2YXIgZDtsPjAmJihkPW9bbC0xXSkua2V5cy5sZW5ndGg8YSYmdShmLmtleXNbMF0sdCk8MD8oZC5pc1NoYXJlZCYmKG9bbC0xXT1kPWQuY2xvbmUoKSksZC50YWtlRnJvbVJpZ2h0KGYpLHRoaXMua2V5c1tsLTFdPWQubWF4S2V5KCkpOihkPW9bbCsxXSkhPT12b2lkIDAmJmQua2V5cy5sZW5ndGg8YSYmdShmLm1heEtleSgpLHQpPDAmJihkLmlzU2hhcmVkJiYob1tsKzFdPWQ9ZC5jbG9uZSgpKSxkLnRha2VGcm9tTGVmdChmKSx0aGlzLmtleXNbbF09b1tsXS5tYXhLZXkoKSl9dmFyIG09Zi5zZXQodCxyLHMsaSk7aWYobT09PSExKXJldHVybiExO2lmKHRoaXMua2V5c1tsXT1mLm1heEtleSgpLG09PT0hMClyZXR1cm4hMDtpZih0aGlzLmtleXMubGVuZ3RoPGEpcmV0dXJuIHRoaXMuaW5zZXJ0KGwrMSxtKSwhMDt2YXIgaD10aGlzLnNwbGl0T2ZmUmlnaHRTaWRlKCksYj10aGlzO3JldHVybiB1KG0ubWF4S2V5KCksdGhpcy5tYXhLZXkoKSk+MCYmKGI9aCxsLT10aGlzLmtleXMubGVuZ3RoKSxiLmluc2VydChsKzEsbSksaH0sZS5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQscil7dGhpcy5jaGlsZHJlbi5zcGxpY2UodCwwLHIpLHRoaXMua2V5cy5zcGxpY2UodCwwLHIubWF4S2V5KCkpfSxlLnByb3RvdHlwZS5zcGxpdE9mZlJpZ2h0U2lkZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuY2hpbGRyZW4ubGVuZ3RoPj4xO3JldHVybiBuZXcgZSh0aGlzLmNoaWxkcmVuLnNwbGljZSh0KSx0aGlzLmtleXMuc3BsaWNlKHQpKX0sZS5wcm90b3R5cGUudGFrZUZyb21SaWdodD1mdW5jdGlvbih0KXt0aGlzLmtleXMucHVzaCh0LmtleXMuc2hpZnQoKSksdGhpcy5jaGlsZHJlbi5wdXNoKHQuY2hpbGRyZW4uc2hpZnQoKSl9LGUucHJvdG90eXBlLnRha2VGcm9tTGVmdD1mdW5jdGlvbih0KXt0aGlzLmtleXMudW5zaGlmdCh0LmtleXMucG9wKCkpLHRoaXMuY2hpbGRyZW4udW5zaGlmdCh0LmNoaWxkcmVuLnBvcCgpKX0sZS5wcm90b3R5cGUuZm9yUmFuZ2U9ZnVuY3Rpb24odCxyLHMsaSxvLGEsdSl7dmFyIGw9by5fY29tcGFyZSxmPXRoaXMua2V5cyxkPXRoaXMuY2hpbGRyZW4sbT10aGlzLmluZGV4T2YodCwwLGwpLGg9bSxiPU1hdGgubWluKHI9PT10P206dGhpcy5pbmRleE9mKHIsMCxsKSxmLmxlbmd0aC0xKTtpZihpKXtpZihoPD1iKXRyeXtmb3IoO2g8PWI7aCsrKXtkW2hdLmlzU2hhcmVkJiYoZFtoXT1kW2hdLmNsb25lKCkpO3ZhciBnPWRbaF0uZm9yUmFuZ2UodCxyLHMsaSxvLGEsdSk7aWYoZltoXT1kW2hdLm1heEtleSgpLHR5cGVvZiBnIT1cXFwibnVtYmVyXFxcIilyZXR1cm4gZzthPWd9fWZpbmFsbHl7dmFyIEQ9by5fbWF4Tm9kZVNpemU+PjE7Zm9yKG0+MCYmbS0tLGg9YjtoPj1tO2gtLSlkW2hdLmtleXMubGVuZ3RoPD1EJiYoZFtoXS5rZXlzLmxlbmd0aCE9PTA/dGhpcy50cnlNZXJnZShoLG8uX21heE5vZGVTaXplKTooZi5zcGxpY2UoaCwxKSxkLnNwbGljZShoLDEpKSk7ZC5sZW5ndGghPT0wJiZkWzBdLmtleXMubGVuZ3RoPT09MCYmTGUoITEsXFxcImVtcHRpbmVzcyBidWdcXFwiKX19ZWxzZSBmb3IoO2g8PWI7aCsrKXt2YXIgZz1kW2hdLmZvclJhbmdlKHQscixzLGksbyxhLHUpO2lmKHR5cGVvZiBnIT1cXFwibnVtYmVyXFxcIilyZXR1cm4gZzthPWd9cmV0dXJuIGF9LGUucHJvdG90eXBlLnRyeU1lcmdlPWZ1bmN0aW9uKHQscil7dmFyIHM9dGhpcy5jaGlsZHJlbjtyZXR1cm4gdD49MCYmdCsxPHMubGVuZ3RoJiZzW3RdLmtleXMubGVuZ3RoK3NbdCsxXS5rZXlzLmxlbmd0aDw9cj8oc1t0XS5pc1NoYXJlZCYmKHNbdF09c1t0XS5jbG9uZSgpKSxzW3RdLm1lcmdlU2libGluZyhzW3QrMV0scikscy5zcGxpY2UodCsxLDEpLHRoaXMua2V5cy5zcGxpY2UodCsxLDEpLHRoaXMua2V5c1t0XT1zW3RdLm1heEtleSgpLCEwKTohMX0sZS5wcm90b3R5cGUubWVyZ2VTaWJsaW5nPWZ1bmN0aW9uKHQscil7dmFyIHM9dGhpcy5rZXlzLmxlbmd0aDt0aGlzLmtleXMucHVzaC5hcHBseSh0aGlzLmtleXMsdC5rZXlzKTt2YXIgaT10LmNoaWxkcmVuO2lmKHRoaXMuY2hpbGRyZW4ucHVzaC5hcHBseSh0aGlzLmNoaWxkcmVuLGkpLHQuaXNTaGFyZWQmJiF0aGlzLmlzU2hhcmVkKWZvcih2YXIgbz0wO288aS5sZW5ndGg7bysrKWlbb10uaXNTaGFyZWQ9ITA7dGhpcy50cnlNZXJnZShzLTEscil9LGV9KFB1KSxwZT1bXSwkdT17ZGVsZXRlOiEwfSxNdT1mdW5jdGlvbigpe3JldHVybiAkdX0seGY9e2JyZWFrOiEwfSxmbz1mdW5jdGlvbigpe3ZhciBuPW5ldyBQdTtyZXR1cm4gbi5pc1NoYXJlZD0hMCxufSgpLF91PVtdLE1yPVtdO2Z1bmN0aW9uIExlKG4pe2Zvcih2YXIgZT1bXSx0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyllW3QtMV09YXJndW1lbnRzW3RdO2lmKCFuKXRocm93IGUudW5zaGlmdChcXFwiQisgdHJlZVxcXCIpLG5ldyBFcnJvcihlLmpvaW4oXFxcIiBcXFwiKSl9TmUuRW1wdHlCVHJlZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBsdDtyZXR1cm4gbi5mcmVlemUoKSxufSgpfSk7dmFyIG10PWNsYXNzIGV4dGVuZHMgRXJyb3J7fSxVcj1jbGFzcyBleHRlbmRzIG10e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGBJbnZhbGlkIERhdGVUaW1lOiAke2UudG9NZXNzYWdlKCl9YCl9fSxLcj1jbGFzcyBleHRlbmRzIG10e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGBJbnZhbGlkIEludGVydmFsOiAke2UudG9NZXNzYWdlKCl9YCl9fSxXcj1jbGFzcyBleHRlbmRzIG10e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGBJbnZhbGlkIER1cmF0aW9uOiAke2UudG9NZXNzYWdlKCl9YCl9fSxwdD1jbGFzcyBleHRlbmRzIG10e30sc249Y2xhc3MgZXh0ZW5kcyBtdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihgSW52YWxpZCB1bml0ICR7ZX1gKX19LGZlPWNsYXNzIGV4dGVuZHMgbXR7fSxqZT1jbGFzcyBleHRlbmRzIG10e2NvbnN0cnVjdG9yKCl7c3VwZXIoXFxcIlpvbmUgaXMgYW4gYWJzdHJhY3QgY2xhc3NcXFwiKX19O3ZhciBfPVxcXCJudW1lcmljXFxcIixxZT1cXFwic2hvcnRcXFwiLHhlPVxcXCJsb25nXFxcIixvbj17eWVhcjpfLG1vbnRoOl8sZGF5Ol99LCRuPXt5ZWFyOl8sbW9udGg6cWUsZGF5Ol99LEdzPXt5ZWFyOl8sbW9udGg6cWUsZGF5Ol8sd2Vla2RheTpxZX0sUm49e3llYXI6Xyxtb250aDp4ZSxkYXk6X30sam49e3llYXI6Xyxtb250aDp4ZSxkYXk6Xyx3ZWVrZGF5OnhlfSxxbj17aG91cjpfLG1pbnV0ZTpffSxWbj17aG91cjpfLG1pbnV0ZTpfLHNlY29uZDpffSxVbj17aG91cjpfLG1pbnV0ZTpfLHNlY29uZDpfLHRpbWVab25lTmFtZTpxZX0sS249e2hvdXI6XyxtaW51dGU6XyxzZWNvbmQ6Xyx0aW1lWm9uZU5hbWU6eGV9LFduPXtob3VyOl8sbWludXRlOl8saG91ckN5Y2xlOlxcXCJoMjNcXFwifSxIbj17aG91cjpfLG1pbnV0ZTpfLHNlY29uZDpfLGhvdXJDeWNsZTpcXFwiaDIzXFxcIn0sSm49e2hvdXI6XyxtaW51dGU6XyxzZWNvbmQ6Xyxob3VyQ3ljbGU6XFxcImgyM1xcXCIsdGltZVpvbmVOYW1lOnFlfSx6bj17aG91cjpfLG1pbnV0ZTpfLHNlY29uZDpfLGhvdXJDeWNsZTpcXFwiaDIzXFxcIix0aW1lWm9uZU5hbWU6eGV9LFluPXt5ZWFyOl8sbW9udGg6XyxkYXk6Xyxob3VyOl8sbWludXRlOl99LEduPXt5ZWFyOl8sbW9udGg6XyxkYXk6Xyxob3VyOl8sbWludXRlOl8sc2Vjb25kOl99LFpuPXt5ZWFyOl8sbW9udGg6cWUsZGF5Ol8saG91cjpfLG1pbnV0ZTpffSxRbj17eWVhcjpfLG1vbnRoOnFlLGRheTpfLGhvdXI6XyxtaW51dGU6XyxzZWNvbmQ6X30sWnM9e3llYXI6Xyxtb250aDpxZSxkYXk6Xyx3ZWVrZGF5OnFlLGhvdXI6XyxtaW51dGU6X30sWG49e3llYXI6Xyxtb250aDp4ZSxkYXk6Xyxob3VyOl8sbWludXRlOl8sdGltZVpvbmVOYW1lOnFlfSxlcj17eWVhcjpfLG1vbnRoOnhlLGRheTpfLGhvdXI6XyxtaW51dGU6XyxzZWNvbmQ6Xyx0aW1lWm9uZU5hbWU6cWV9LHRyPXt5ZWFyOl8sbW9udGg6eGUsZGF5Ol8sd2Vla2RheTp4ZSxob3VyOl8sbWludXRlOl8sdGltZVpvbmVOYW1lOnhlfSxucj17eWVhcjpfLG1vbnRoOnhlLGRheTpfLHdlZWtkYXk6eGUsaG91cjpfLG1pbnV0ZTpfLHNlY29uZDpfLHRpbWVab25lTmFtZTp4ZX07ZnVuY3Rpb24gVyhuKXtyZXR1cm4gdHlwZW9mIG49PVxcXCJ1bmRlZmluZWRcXFwifWZ1bmN0aW9uIHR0KG4pe3JldHVybiB0eXBlb2Ygbj09XFxcIm51bWJlclxcXCJ9ZnVuY3Rpb24gcnIobil7cmV0dXJuIHR5cGVvZiBuPT1cXFwibnVtYmVyXFxcIiYmbiUxPT09MH1mdW5jdGlvbiBCbyhuKXtyZXR1cm4gdHlwZW9mIG49PVxcXCJzdHJpbmdcXFwifWZ1bmN0aW9uIFBvKG4pe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobik9PT1cXFwiW29iamVjdCBEYXRlXVxcXCJ9ZnVuY3Rpb24gSHIoKXt0cnl7cmV0dXJuIHR5cGVvZiBJbnRsIT1cXFwidW5kZWZpbmVkXFxcIiYmISFJbnRsLlJlbGF0aXZlVGltZUZvcm1hdH1jYXRjaChuKXtyZXR1cm4hMX19ZnVuY3Rpb24gJG8obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/bjpbbl19ZnVuY3Rpb24gWHMobixlLHQpe2lmKG4ubGVuZ3RoIT09MClyZXR1cm4gbi5yZWR1Y2UoKHIscyk9PntsZXQgaT1bZShzKSxzXTtyZXR1cm4gciYmdChyWzBdLGlbMF0pPT09clswXT9yOml9LG51bGwpWzFdfWZ1bmN0aW9uIFJvKG4sZSl7cmV0dXJuIGUucmVkdWNlKCh0LHIpPT4odFtyXT1uW3JdLHQpLHt9KX1mdW5jdGlvbiBrdChuLGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixlKX1mdW5jdGlvbiBudChuLGUsdCl7cmV0dXJuIHJyKG4pJiZuPj1lJiZuPD10fWZ1bmN0aW9uIGJsKG4sZSl7cmV0dXJuIG4tZSpNYXRoLmZsb29yKG4vZSl9ZnVuY3Rpb24gcmUobixlPTIpe2xldCB0PW48MCxyO3JldHVybiB0P3I9XFxcIi1cXFwiKyhcXFwiXFxcIistbikucGFkU3RhcnQoZSxcXFwiMFxcXCIpOnI9KFxcXCJcXFwiK24pLnBhZFN0YXJ0KGUsXFxcIjBcXFwiKSxyfWZ1bmN0aW9uIER0KG4pe2lmKCEoVyhuKXx8bj09PW51bGx8fG49PT1cXFwiXFxcIikpcmV0dXJuIHBhcnNlSW50KG4sMTApfWZ1bmN0aW9uIEN0KG4pe2lmKCEoVyhuKXx8bj09PW51bGx8fG49PT1cXFwiXFxcIikpcmV0dXJuIHBhcnNlRmxvYXQobil9ZnVuY3Rpb24gc3Iobil7aWYoIShXKG4pfHxuPT09bnVsbHx8bj09PVxcXCJcXFwiKSl7bGV0IGU9cGFyc2VGbG9hdChcXFwiMC5cXFwiK24pKjFlMztyZXR1cm4gTWF0aC5mbG9vcihlKX19ZnVuY3Rpb24gYW4obixlLHQ9ITEpe2xldCByPTEwKiplO3JldHVybih0P01hdGgudHJ1bmM6TWF0aC5yb3VuZCkobipyKS9yfWZ1bmN0aW9uIGp0KG4pe3JldHVybiBuJTQ9PT0wJiYobiUxMDAhPT0wfHxuJTQwMD09PTApfWZ1bmN0aW9uIHF0KG4pe3JldHVybiBqdChuKT8zNjY6MzY1fWZ1bmN0aW9uIHVuKG4sZSl7bGV0IHQ9YmwoZS0xLDEyKSsxLHI9bisoZS10KS8xMjtyZXR1cm4gdD09PTI/anQocik/Mjk6Mjg6WzMxLG51bGwsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdW3QtMV19ZnVuY3Rpb24gaXIobil7bGV0IGU9RGF0ZS5VVEMobi55ZWFyLG4ubW9udGgtMSxuLmRheSxuLmhvdXIsbi5taW51dGUsbi5zZWNvbmQsbi5taWxsaXNlY29uZCk7cmV0dXJuIG4ueWVhcjwxMDAmJm4ueWVhcj49MCYmKGU9bmV3IERhdGUoZSksZS5zZXRVVENGdWxsWWVhcihlLmdldFVUQ0Z1bGxZZWFyKCktMTkwMCkpLCtlfWZ1bmN0aW9uIGxuKG4pe2xldCBlPShuK01hdGguZmxvb3Iobi80KS1NYXRoLmZsb29yKG4vMTAwKStNYXRoLmZsb29yKG4vNDAwKSklNyx0PW4tMSxyPSh0K01hdGguZmxvb3IodC80KS1NYXRoLmZsb29yKHQvMTAwKStNYXRoLmZsb29yKHQvNDAwKSklNztyZXR1cm4gZT09PTR8fHI9PT0zPzUzOjUyfWZ1bmN0aW9uIG9yKG4pe3JldHVybiBuPjk5P246bj42MD8xOTAwK246MmUzK259ZnVuY3Rpb24gSnIobixlLHQscj1udWxsKXtsZXQgcz1uZXcgRGF0ZShuKSxpPXtob3VyQ3ljbGU6XFxcImgyM1xcXCIseWVhcjpcXFwibnVtZXJpY1xcXCIsbW9udGg6XFxcIjItZGlnaXRcXFwiLGRheTpcXFwiMi1kaWdpdFxcXCIsaG91cjpcXFwiMi1kaWdpdFxcXCIsbWludXRlOlxcXCIyLWRpZ2l0XFxcIn07ciYmKGkudGltZVpvbmU9cik7bGV0IG89Uih7dGltZVpvbmVOYW1lOmV9LGkpLGE9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodCxvKS5mb3JtYXRUb1BhcnRzKHMpLmZpbmQodT0+dS50eXBlLnRvTG93ZXJDYXNlKCk9PT1cXFwidGltZXpvbmVuYW1lXFxcIik7cmV0dXJuIGE/YS52YWx1ZTpudWxsfWZ1bmN0aW9uIFZ0KG4sZSl7bGV0IHQ9cGFyc2VJbnQobiwxMCk7TnVtYmVyLmlzTmFOKHQpJiYodD0wKTtsZXQgcj1wYXJzZUludChlLDEwKXx8MCxzPXQ8MHx8T2JqZWN0LmlzKHQsLTApPy1yOnI7cmV0dXJuIHQqNjArc31mdW5jdGlvbiBlaShuKXtsZXQgZT1OdW1iZXIobik7aWYodHlwZW9mIG49PVxcXCJib29sZWFuXFxcInx8bj09PVxcXCJcXFwifHxOdW1iZXIuaXNOYU4oZSkpdGhyb3cgbmV3IGZlKGBJbnZhbGlkIHVuaXQgdmFsdWUgJHtufWApO3JldHVybiBlfWZ1bmN0aW9uIGNuKG4sZSl7bGV0IHQ9e307Zm9yKGxldCByIGluIG4paWYoa3QobixyKSl7bGV0IHM9bltyXTtpZihzPT1udWxsKWNvbnRpbnVlO3RbZShyKV09ZWkocyl9cmV0dXJuIHR9ZnVuY3Rpb24gdnQobixlKXtsZXQgdD1NYXRoLnRydW5jKE1hdGguYWJzKG4vNjApKSxyPU1hdGgudHJ1bmMoTWF0aC5hYnMobiU2MCkpLHM9bj49MD9cXFwiK1xcXCI6XFxcIi1cXFwiO3N3aXRjaChlKXtjYXNlXFxcInNob3J0XFxcIjpyZXR1cm5gJHtzfSR7cmUodCwyKX06JHtyZShyLDIpfWA7Y2FzZVxcXCJuYXJyb3dcXFwiOnJldHVybmAke3N9JHt0fSR7cj4wP2A6JHtyfWA6XFxcIlxcXCJ9YDtjYXNlXFxcInRlY2hpZVxcXCI6cmV0dXJuYCR7c30ke3JlKHQsMil9JHtyZShyLDIpfWA7ZGVmYXVsdDp0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVmFsdWUgZm9ybWF0ICR7ZX0gaXMgb3V0IG9mIHJhbmdlIGZvciBwcm9wZXJ0eSBmb3JtYXRgKX19ZnVuY3Rpb24gYXIobil7cmV0dXJuIFJvKG4sW1xcXCJob3VyXFxcIixcXFwibWludXRlXFxcIixcXFwic2Vjb25kXFxcIixcXFwibWlsbGlzZWNvbmRcXFwiXSl9dmFyIHRpPS9bQS1aYS16XystXXsxLDI1Nn0oPzo6P1xcXFwvW0EtWmEtejAtOV8rLV17MSwyNTZ9KD86XFxcXC9bQS1aYS16MC05XystXXsxLDI1Nn0pPyk/Lzt2YXIgRmw9W1xcXCJKYW51YXJ5XFxcIixcXFwiRmVicnVhcnlcXFwiLFxcXCJNYXJjaFxcXCIsXFxcIkFwcmlsXFxcIixcXFwiTWF5XFxcIixcXFwiSnVuZVxcXCIsXFxcIkp1bHlcXFwiLFxcXCJBdWd1c3RcXFwiLFxcXCJTZXB0ZW1iZXJcXFwiLFxcXCJPY3RvYmVyXFxcIixcXFwiTm92ZW1iZXJcXFwiLFxcXCJEZWNlbWJlclxcXCJdLG5pPVtcXFwiSmFuXFxcIixcXFwiRmViXFxcIixcXFwiTWFyXFxcIixcXFwiQXByXFxcIixcXFwiTWF5XFxcIixcXFwiSnVuXFxcIixcXFwiSnVsXFxcIixcXFwiQXVnXFxcIixcXFwiU2VwXFxcIixcXFwiT2N0XFxcIixcXFwiTm92XFxcIixcXFwiRGVjXFxcIl0sRWw9W1xcXCJKXFxcIixcXFwiRlxcXCIsXFxcIk1cXFwiLFxcXCJBXFxcIixcXFwiTVxcXCIsXFxcIkpcXFwiLFxcXCJKXFxcIixcXFwiQVxcXCIsXFxcIlNcXFwiLFxcXCJPXFxcIixcXFwiTlxcXCIsXFxcIkRcXFwiXTtmdW5jdGlvbiByaShuKXtzd2l0Y2gobil7Y2FzZVxcXCJuYXJyb3dcXFwiOnJldHVyblsuLi5FbF07Y2FzZVxcXCJzaG9ydFxcXCI6cmV0dXJuWy4uLm5pXTtjYXNlXFxcImxvbmdcXFwiOnJldHVyblsuLi5GbF07Y2FzZVxcXCJudW1lcmljXFxcIjpyZXR1cm5bXFxcIjFcXFwiLFxcXCIyXFxcIixcXFwiM1xcXCIsXFxcIjRcXFwiLFxcXCI1XFxcIixcXFwiNlxcXCIsXFxcIjdcXFwiLFxcXCI4XFxcIixcXFwiOVxcXCIsXFxcIjEwXFxcIixcXFwiMTFcXFwiLFxcXCIxMlxcXCJdO2Nhc2VcXFwiMi1kaWdpdFxcXCI6cmV0dXJuW1xcXCIwMVxcXCIsXFxcIjAyXFxcIixcXFwiMDNcXFwiLFxcXCIwNFxcXCIsXFxcIjA1XFxcIixcXFwiMDZcXFwiLFxcXCIwN1xcXCIsXFxcIjA4XFxcIixcXFwiMDlcXFwiLFxcXCIxMFxcXCIsXFxcIjExXFxcIixcXFwiMTJcXFwiXTtkZWZhdWx0OnJldHVybiBudWxsfX12YXIgc2k9W1xcXCJNb25kYXlcXFwiLFxcXCJUdWVzZGF5XFxcIixcXFwiV2VkbmVzZGF5XFxcIixcXFwiVGh1cnNkYXlcXFwiLFxcXCJGcmlkYXlcXFwiLFxcXCJTYXR1cmRheVxcXCIsXFxcIlN1bmRheVxcXCJdLGlpPVtcXFwiTW9uXFxcIixcXFwiVHVlXFxcIixcXFwiV2VkXFxcIixcXFwiVGh1XFxcIixcXFwiRnJpXFxcIixcXFwiU2F0XFxcIixcXFwiU3VuXFxcIl0sd2w9W1xcXCJNXFxcIixcXFwiVFxcXCIsXFxcIldcXFwiLFxcXCJUXFxcIixcXFwiRlxcXCIsXFxcIlNcXFwiLFxcXCJTXFxcIl07ZnVuY3Rpb24gb2kobil7c3dpdGNoKG4pe2Nhc2VcXFwibmFycm93XFxcIjpyZXR1cm5bLi4ud2xdO2Nhc2VcXFwic2hvcnRcXFwiOnJldHVyblsuLi5paV07Y2FzZVxcXCJsb25nXFxcIjpyZXR1cm5bLi4uc2ldO2Nhc2VcXFwibnVtZXJpY1xcXCI6cmV0dXJuW1xcXCIxXFxcIixcXFwiMlxcXCIsXFxcIjNcXFwiLFxcXCI0XFxcIixcXFwiNVxcXCIsXFxcIjZcXFwiLFxcXCI3XFxcIl07ZGVmYXVsdDpyZXR1cm4gbnVsbH19dmFyIGFpPVtcXFwiQU1cXFwiLFxcXCJQTVxcXCJdLFRsPVtcXFwiQmVmb3JlIENocmlzdFxcXCIsXFxcIkFubm8gRG9taW5pXFxcIl0sU2w9W1xcXCJCQ1xcXCIsXFxcIkFEXFxcIl0sa2w9W1xcXCJCXFxcIixcXFwiQVxcXCJdO2Z1bmN0aW9uIHVpKG4pe3N3aXRjaChuKXtjYXNlXFxcIm5hcnJvd1xcXCI6cmV0dXJuWy4uLmtsXTtjYXNlXFxcInNob3J0XFxcIjpyZXR1cm5bLi4uU2xdO2Nhc2VcXFwibG9uZ1xcXCI6cmV0dXJuWy4uLlRsXTtkZWZhdWx0OnJldHVybiBudWxsfX1mdW5jdGlvbiBqbyhuKXtyZXR1cm4gYWlbbi5ob3VyPDEyPzA6MV19ZnVuY3Rpb24gcW8obixlKXtyZXR1cm4gb2koZSlbbi53ZWVrZGF5LTFdfWZ1bmN0aW9uIFZvKG4sZSl7cmV0dXJuIHJpKGUpW24ubW9udGgtMV19ZnVuY3Rpb24gVW8obixlKXtyZXR1cm4gdWkoZSlbbi55ZWFyPDA/MDoxXX1mdW5jdGlvbiBLbyhuLGUsdD1cXFwiYWx3YXlzXFxcIixyPSExKXtsZXQgcz17eWVhcnM6W1xcXCJ5ZWFyXFxcIixcXFwieXIuXFxcIl0scXVhcnRlcnM6W1xcXCJxdWFydGVyXFxcIixcXFwicXRyLlxcXCJdLG1vbnRoczpbXFxcIm1vbnRoXFxcIixcXFwibW8uXFxcIl0sd2Vla3M6W1xcXCJ3ZWVrXFxcIixcXFwid2suXFxcIl0sZGF5czpbXFxcImRheVxcXCIsXFxcImRheVxcXCIsXFxcImRheXNcXFwiXSxob3VyczpbXFxcImhvdXJcXFwiLFxcXCJoci5cXFwiXSxtaW51dGVzOltcXFwibWludXRlXFxcIixcXFwibWluLlxcXCJdLHNlY29uZHM6W1xcXCJzZWNvbmRcXFwiLFxcXCJzZWMuXFxcIl19LGk9W1xcXCJob3Vyc1xcXCIsXFxcIm1pbnV0ZXNcXFwiLFxcXCJzZWNvbmRzXFxcIl0uaW5kZXhPZihuKT09PS0xO2lmKHQ9PT1cXFwiYXV0b1xcXCImJmkpe2xldCBkPW49PT1cXFwiZGF5c1xcXCI7c3dpdGNoKGUpe2Nhc2UgMTpyZXR1cm4gZD9cXFwidG9tb3Jyb3dcXFwiOmBuZXh0ICR7c1tuXVswXX1gO2Nhc2UtMTpyZXR1cm4gZD9cXFwieWVzdGVyZGF5XFxcIjpgbGFzdCAke3Nbbl1bMF19YDtjYXNlIDA6cmV0dXJuIGQ/XFxcInRvZGF5XFxcIjpgdGhpcyAke3Nbbl1bMF19YDtkZWZhdWx0On19bGV0IG89T2JqZWN0LmlzKGUsLTApfHxlPDAsYT1NYXRoLmFicyhlKSx1PWE9PT0xLGw9c1tuXSxmPXI/dT9sWzFdOmxbMl18fGxbMV06dT9zW25dWzBdOm47cmV0dXJuIG8/YCR7YX0gJHtmfSBhZ29gOmBpbiAke2F9ICR7Zn1gfWZ1bmN0aW9uIFdvKG4sZSl7bGV0IHQ9XFxcIlxcXCI7Zm9yKGxldCByIG9mIG4pci5saXRlcmFsP3QrPXIudmFsOnQrPWUoci52YWwpO3JldHVybiB0fXZhciBDbD17RDpvbixERDokbixEREQ6Um4sRERERDpqbix0OnFuLHR0OlZuLHR0dDpVbix0dHR0OktuLFQ6V24sVFQ6SG4sVFRUOkpuLFRUVFQ6em4sZjpZbixmZjpabixmZmY6WG4sZmZmZjp0cixGOkduLEZGOlFuLEZGRjplcixGRkZGOm5yfSx3ZT1jbGFzcyBue3N0YXRpYyBjcmVhdGUoZSx0PXt9KXtyZXR1cm4gbmV3IG4oZSx0KX1zdGF0aWMgcGFyc2VGb3JtYXQoZSl7bGV0IHQ9bnVsbCxyPVxcXCJcXFwiLHM9ITEsaT1bXTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7bGV0IGE9ZS5jaGFyQXQobyk7YT09PVxcXCInXFxcIj8oci5sZW5ndGg+MCYmaS5wdXNoKHtsaXRlcmFsOnMsdmFsOnJ9KSx0PW51bGwscj1cXFwiXFxcIixzPSFzKTpzfHxhPT09dD9yKz1hOihyLmxlbmd0aD4wJiZpLnB1c2goe2xpdGVyYWw6ITEsdmFsOnJ9KSxyPWEsdD1hKX1yZXR1cm4gci5sZW5ndGg+MCYmaS5wdXNoKHtsaXRlcmFsOnMsdmFsOnJ9KSxpfXN0YXRpYyBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKGUpe3JldHVybiBDbFtlXX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMub3B0cz10LHRoaXMubG9jPWUsdGhpcy5zeXN0ZW1Mb2M9bnVsbH1mb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChlLHQpe3JldHVybiB0aGlzLnN5c3RlbUxvYz09PW51bGwmJih0aGlzLnN5c3RlbUxvYz10aGlzLmxvYy5yZWRlZmF1bHRUb1N5c3RlbSgpKSx0aGlzLnN5c3RlbUxvYy5kdEZvcm1hdHRlcihlLFIoUih7fSx0aGlzLm9wdHMpLHQpKS5mb3JtYXQoKX1mb3JtYXREYXRlVGltZShlLHQ9e30pe3JldHVybiB0aGlzLmxvYy5kdEZvcm1hdHRlcihlLFIoUih7fSx0aGlzLm9wdHMpLHQpKS5mb3JtYXQoKX1mb3JtYXREYXRlVGltZVBhcnRzKGUsdD17fSl7cmV0dXJuIHRoaXMubG9jLmR0Rm9ybWF0dGVyKGUsUihSKHt9LHRoaXMub3B0cyksdCkpLmZvcm1hdFRvUGFydHMoKX1yZXNvbHZlZE9wdGlvbnMoZSx0PXt9KXtyZXR1cm4gdGhpcy5sb2MuZHRGb3JtYXR0ZXIoZSxSKFIoe30sdGhpcy5vcHRzKSx0KSkucmVzb2x2ZWRPcHRpb25zKCl9bnVtKGUsdD0wKXtpZih0aGlzLm9wdHMuZm9yY2VTaW1wbGUpcmV0dXJuIHJlKGUsdCk7bGV0IHI9Uih7fSx0aGlzLm9wdHMpO3JldHVybiB0PjAmJihyLnBhZFRvPXQpLHRoaXMubG9jLm51bWJlckZvcm1hdHRlcihyKS5mb3JtYXQoZSl9Zm9ybWF0RGF0ZVRpbWVGcm9tU3RyaW5nKGUsdCl7bGV0IHI9dGhpcy5sb2MubGlzdGluZ01vZGUoKT09PVxcXCJlblxcXCIscz10aGlzLmxvYy5vdXRwdXRDYWxlbmRhciYmdGhpcy5sb2Mub3V0cHV0Q2FsZW5kYXIhPT1cXFwiZ3JlZ29yeVxcXCIsaT0oaCxiKT0+dGhpcy5sb2MuZXh0cmFjdChlLGgsYiksbz1oPT5lLmlzT2Zmc2V0Rml4ZWQmJmUub2Zmc2V0PT09MCYmaC5hbGxvd1o/XFxcIlpcXFwiOmUuaXNWYWxpZD9lLnpvbmUuZm9ybWF0T2Zmc2V0KGUudHMsaC5mb3JtYXQpOlxcXCJcXFwiLGE9KCk9PnI/am8oZSk6aSh7aG91cjpcXFwibnVtZXJpY1xcXCIsaG91ckN5Y2xlOlxcXCJoMTJcXFwifSxcXFwiZGF5cGVyaW9kXFxcIiksdT0oaCxiKT0+cj9WbyhlLGgpOmkoYj97bW9udGg6aH06e21vbnRoOmgsZGF5OlxcXCJudW1lcmljXFxcIn0sXFxcIm1vbnRoXFxcIiksbD0oaCxiKT0+cj9xbyhlLGgpOmkoYj97d2Vla2RheTpofTp7d2Vla2RheTpoLG1vbnRoOlxcXCJsb25nXFxcIixkYXk6XFxcIm51bWVyaWNcXFwifSxcXFwid2Vla2RheVxcXCIpLGY9aD0+e2xldCBiPW4ubWFjcm9Ub2tlblRvRm9ybWF0T3B0cyhoKTtyZXR1cm4gYj90aGlzLmZvcm1hdFdpdGhTeXN0ZW1EZWZhdWx0KGUsYik6aH0sZD1oPT5yP1VvKGUsaCk6aSh7ZXJhOmh9LFxcXCJlcmFcXFwiKSxtPWg9Pntzd2l0Y2goaCl7Y2FzZVxcXCJTXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5taWxsaXNlY29uZCk7Y2FzZVxcXCJ1XFxcIjpjYXNlXFxcIlNTU1xcXCI6cmV0dXJuIHRoaXMubnVtKGUubWlsbGlzZWNvbmQsMyk7Y2FzZVxcXCJzXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5zZWNvbmQpO2Nhc2VcXFwic3NcXFwiOnJldHVybiB0aGlzLm51bShlLnNlY29uZCwyKTtjYXNlXFxcInV1XFxcIjpyZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihlLm1pbGxpc2Vjb25kLzEwKSwyKTtjYXNlXFxcInV1dVxcXCI6cmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZS5taWxsaXNlY29uZC8xMDApKTtjYXNlXFxcIm1cXFwiOnJldHVybiB0aGlzLm51bShlLm1pbnV0ZSk7Y2FzZVxcXCJtbVxcXCI6cmV0dXJuIHRoaXMubnVtKGUubWludXRlLDIpO2Nhc2VcXFwiaFxcXCI6cmV0dXJuIHRoaXMubnVtKGUuaG91ciUxMj09PTA/MTI6ZS5ob3VyJTEyKTtjYXNlXFxcImhoXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5ob3VyJTEyPT09MD8xMjplLmhvdXIlMTIsMik7Y2FzZVxcXCJIXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5ob3VyKTtjYXNlXFxcIkhIXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5ob3VyLDIpO2Nhc2VcXFwiWlxcXCI6cmV0dXJuIG8oe2Zvcm1hdDpcXFwibmFycm93XFxcIixhbGxvd1o6dGhpcy5vcHRzLmFsbG93Wn0pO2Nhc2VcXFwiWlpcXFwiOnJldHVybiBvKHtmb3JtYXQ6XFxcInNob3J0XFxcIixhbGxvd1o6dGhpcy5vcHRzLmFsbG93Wn0pO2Nhc2VcXFwiWlpaXFxcIjpyZXR1cm4gbyh7Zm9ybWF0OlxcXCJ0ZWNoaWVcXFwiLGFsbG93Wjp0aGlzLm9wdHMuYWxsb3dafSk7Y2FzZVxcXCJaWlpaXFxcIjpyZXR1cm4gZS56b25lLm9mZnNldE5hbWUoZS50cyx7Zm9ybWF0OlxcXCJzaG9ydFxcXCIsbG9jYWxlOnRoaXMubG9jLmxvY2FsZX0pO2Nhc2VcXFwiWlpaWlpcXFwiOnJldHVybiBlLnpvbmUub2Zmc2V0TmFtZShlLnRzLHtmb3JtYXQ6XFxcImxvbmdcXFwiLGxvY2FsZTp0aGlzLmxvYy5sb2NhbGV9KTtjYXNlXFxcInpcXFwiOnJldHVybiBlLnpvbmVOYW1lO2Nhc2VcXFwiYVxcXCI6cmV0dXJuIGEoKTtjYXNlXFxcImRcXFwiOnJldHVybiBzP2koe2RheTpcXFwibnVtZXJpY1xcXCJ9LFxcXCJkYXlcXFwiKTp0aGlzLm51bShlLmRheSk7Y2FzZVxcXCJkZFxcXCI6cmV0dXJuIHM/aSh7ZGF5OlxcXCIyLWRpZ2l0XFxcIn0sXFxcImRheVxcXCIpOnRoaXMubnVtKGUuZGF5LDIpO2Nhc2VcXFwiY1xcXCI6cmV0dXJuIHRoaXMubnVtKGUud2Vla2RheSk7Y2FzZVxcXCJjY2NcXFwiOnJldHVybiBsKFxcXCJzaG9ydFxcXCIsITApO2Nhc2VcXFwiY2NjY1xcXCI6cmV0dXJuIGwoXFxcImxvbmdcXFwiLCEwKTtjYXNlXFxcImNjY2NjXFxcIjpyZXR1cm4gbChcXFwibmFycm93XFxcIiwhMCk7Y2FzZVxcXCJFXFxcIjpyZXR1cm4gdGhpcy5udW0oZS53ZWVrZGF5KTtjYXNlXFxcIkVFRVxcXCI6cmV0dXJuIGwoXFxcInNob3J0XFxcIiwhMSk7Y2FzZVxcXCJFRUVFXFxcIjpyZXR1cm4gbChcXFwibG9uZ1xcXCIsITEpO2Nhc2VcXFwiRUVFRUVcXFwiOnJldHVybiBsKFxcXCJuYXJyb3dcXFwiLCExKTtjYXNlXFxcIkxcXFwiOnJldHVybiBzP2koe21vbnRoOlxcXCJudW1lcmljXFxcIixkYXk6XFxcIm51bWVyaWNcXFwifSxcXFwibW9udGhcXFwiKTp0aGlzLm51bShlLm1vbnRoKTtjYXNlXFxcIkxMXFxcIjpyZXR1cm4gcz9pKHttb250aDpcXFwiMi1kaWdpdFxcXCIsZGF5OlxcXCJudW1lcmljXFxcIn0sXFxcIm1vbnRoXFxcIik6dGhpcy5udW0oZS5tb250aCwyKTtjYXNlXFxcIkxMTFxcXCI6cmV0dXJuIHUoXFxcInNob3J0XFxcIiwhMCk7Y2FzZVxcXCJMTExMXFxcIjpyZXR1cm4gdShcXFwibG9uZ1xcXCIsITApO2Nhc2VcXFwiTExMTExcXFwiOnJldHVybiB1KFxcXCJuYXJyb3dcXFwiLCEwKTtjYXNlXFxcIk1cXFwiOnJldHVybiBzP2koe21vbnRoOlxcXCJudW1lcmljXFxcIn0sXFxcIm1vbnRoXFxcIik6dGhpcy5udW0oZS5tb250aCk7Y2FzZVxcXCJNTVxcXCI6cmV0dXJuIHM/aSh7bW9udGg6XFxcIjItZGlnaXRcXFwifSxcXFwibW9udGhcXFwiKTp0aGlzLm51bShlLm1vbnRoLDIpO2Nhc2VcXFwiTU1NXFxcIjpyZXR1cm4gdShcXFwic2hvcnRcXFwiLCExKTtjYXNlXFxcIk1NTU1cXFwiOnJldHVybiB1KFxcXCJsb25nXFxcIiwhMSk7Y2FzZVxcXCJNTU1NTVxcXCI6cmV0dXJuIHUoXFxcIm5hcnJvd1xcXCIsITEpO2Nhc2VcXFwieVxcXCI6cmV0dXJuIHM/aSh7eWVhcjpcXFwibnVtZXJpY1xcXCJ9LFxcXCJ5ZWFyXFxcIik6dGhpcy5udW0oZS55ZWFyKTtjYXNlXFxcInl5XFxcIjpyZXR1cm4gcz9pKHt5ZWFyOlxcXCIyLWRpZ2l0XFxcIn0sXFxcInllYXJcXFwiKTp0aGlzLm51bShlLnllYXIudG9TdHJpbmcoKS5zbGljZSgtMiksMik7Y2FzZVxcXCJ5eXl5XFxcIjpyZXR1cm4gcz9pKHt5ZWFyOlxcXCJudW1lcmljXFxcIn0sXFxcInllYXJcXFwiKTp0aGlzLm51bShlLnllYXIsNCk7Y2FzZVxcXCJ5eXl5eXlcXFwiOnJldHVybiBzP2koe3llYXI6XFxcIm51bWVyaWNcXFwifSxcXFwieWVhclxcXCIpOnRoaXMubnVtKGUueWVhciw2KTtjYXNlXFxcIkdcXFwiOnJldHVybiBkKFxcXCJzaG9ydFxcXCIpO2Nhc2VcXFwiR0dcXFwiOnJldHVybiBkKFxcXCJsb25nXFxcIik7Y2FzZVxcXCJHR0dHR1xcXCI6cmV0dXJuIGQoXFxcIm5hcnJvd1xcXCIpO2Nhc2VcXFwia2tcXFwiOnJldHVybiB0aGlzLm51bShlLndlZWtZZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLDIpO2Nhc2VcXFwia2tra1xcXCI6cmV0dXJuIHRoaXMubnVtKGUud2Vla1llYXIsNCk7Y2FzZVxcXCJXXFxcIjpyZXR1cm4gdGhpcy5udW0oZS53ZWVrTnVtYmVyKTtjYXNlXFxcIldXXFxcIjpyZXR1cm4gdGhpcy5udW0oZS53ZWVrTnVtYmVyLDIpO2Nhc2VcXFwib1xcXCI6cmV0dXJuIHRoaXMubnVtKGUub3JkaW5hbCk7Y2FzZVxcXCJvb29cXFwiOnJldHVybiB0aGlzLm51bShlLm9yZGluYWwsMyk7Y2FzZVxcXCJxXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5xdWFydGVyKTtjYXNlXFxcInFxXFxcIjpyZXR1cm4gdGhpcy5udW0oZS5xdWFydGVyLDIpO2Nhc2VcXFwiWFxcXCI6cmV0dXJuIHRoaXMubnVtKE1hdGguZmxvb3IoZS50cy8xZTMpKTtjYXNlXFxcInhcXFwiOnJldHVybiB0aGlzLm51bShlLnRzKTtkZWZhdWx0OnJldHVybiBmKGgpfX07cmV0dXJuIFdvKG4ucGFyc2VGb3JtYXQodCksbSl9Zm9ybWF0RHVyYXRpb25Gcm9tU3RyaW5nKGUsdCl7bGV0IHI9dT0+e3N3aXRjaCh1WzBdKXtjYXNlXFxcIlNcXFwiOnJldHVyblxcXCJtaWxsaXNlY29uZFxcXCI7Y2FzZVxcXCJzXFxcIjpyZXR1cm5cXFwic2Vjb25kXFxcIjtjYXNlXFxcIm1cXFwiOnJldHVyblxcXCJtaW51dGVcXFwiO2Nhc2VcXFwiaFxcXCI6cmV0dXJuXFxcImhvdXJcXFwiO2Nhc2VcXFwiZFxcXCI6cmV0dXJuXFxcImRheVxcXCI7Y2FzZVxcXCJ3XFxcIjpyZXR1cm5cXFwid2Vla1xcXCI7Y2FzZVxcXCJNXFxcIjpyZXR1cm5cXFwibW9udGhcXFwiO2Nhc2VcXFwieVxcXCI6cmV0dXJuXFxcInllYXJcXFwiO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSxzPXU9Pmw9PntsZXQgZj1yKGwpO3JldHVybiBmP3RoaXMubnVtKHUuZ2V0KGYpLGwubGVuZ3RoKTpsfSxpPW4ucGFyc2VGb3JtYXQodCksbz1pLnJlZHVjZSgodSx7bGl0ZXJhbDpsLHZhbDpmfSk9Pmw/dTp1LmNvbmNhdChmKSxbXSksYT1lLnNoaWZ0VG8oLi4uby5tYXAocikuZmlsdGVyKHU9PnUpKTtyZXR1cm4gV28oaSxzKGEpKX19O3ZhciBkZT1jbGFzc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMucmVhc29uPWUsdGhpcy5leHBsYW5hdGlvbj10fXRvTWVzc2FnZSgpe3JldHVybiB0aGlzLmV4cGxhbmF0aW9uP2Ake3RoaXMucmVhc29ufTogJHt0aGlzLmV4cGxhbmF0aW9ufWA6dGhpcy5yZWFzb259fTt2YXIga2U9Y2xhc3N7Z2V0IHR5cGUoKXt0aHJvdyBuZXcgamV9Z2V0IG5hbWUoKXt0aHJvdyBuZXcgamV9Z2V0IGlhbmFOYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXQgaXNVbml2ZXJzYWwoKXt0aHJvdyBuZXcgamV9b2Zmc2V0TmFtZShlLHQpe3Rocm93IG5ldyBqZX1mb3JtYXRPZmZzZXQoZSx0KXt0aHJvdyBuZXcgamV9b2Zmc2V0KGUpe3Rocm93IG5ldyBqZX1lcXVhbHMoZSl7dGhyb3cgbmV3IGplfWdldCBpc1ZhbGlkKCl7dGhyb3cgbmV3IGplfX07dmFyIGNpPW51bGwsZm49Y2xhc3MgbiBleHRlbmRzIGtle3N0YXRpYyBnZXQgaW5zdGFuY2UoKXtyZXR1cm4gY2k9PT1udWxsJiYoY2k9bmV3IG4pLGNpfWdldCB0eXBlKCl7cmV0dXJuXFxcInN5c3RlbVxcXCJ9Z2V0IG5hbWUoKXtyZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZX1nZXQgaXNVbml2ZXJzYWwoKXtyZXR1cm4hMX1vZmZzZXROYW1lKGUse2Zvcm1hdDp0LGxvY2FsZTpyfSl7cmV0dXJuIEpyKGUsdCxyKX1mb3JtYXRPZmZzZXQoZSx0KXtyZXR1cm4gdnQodGhpcy5vZmZzZXQoZSksdCl9b2Zmc2V0KGUpe3JldHVybi1uZXcgRGF0ZShlKS5nZXRUaW1lem9uZU9mZnNldCgpfWVxdWFscyhlKXtyZXR1cm4gZS50eXBlPT09XFxcInN5c3RlbVxcXCJ9Z2V0IGlzVmFsaWQoKXtyZXR1cm4hMH19O3ZhciBZcj17fTtmdW5jdGlvbiB2bChuKXtyZXR1cm4gWXJbbl18fChZcltuXT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChcXFwiZW4tVVNcXFwiLHtob3VyMTI6ITEsdGltZVpvbmU6bix5ZWFyOlxcXCJudW1lcmljXFxcIixtb250aDpcXFwiMi1kaWdpdFxcXCIsZGF5OlxcXCIyLWRpZ2l0XFxcIixob3VyOlxcXCIyLWRpZ2l0XFxcIixtaW51dGU6XFxcIjItZGlnaXRcXFwiLHNlY29uZDpcXFwiMi1kaWdpdFxcXCIsZXJhOlxcXCJzaG9ydFxcXCJ9KSksWXJbbl19dmFyIHhsPXt5ZWFyOjAsbW9udGg6MSxkYXk6MixlcmE6Myxob3VyOjQsbWludXRlOjUsc2Vjb25kOjZ9O2Z1bmN0aW9uIE9sKG4sZSl7bGV0IHQ9bi5mb3JtYXQoZSkucmVwbGFjZSgvXFxcXHUyMDBFL2csXFxcIlxcXCIpLHI9LyhcXFxcZCspXFxcXC8oXFxcXGQrKVxcXFwvKFxcXFxkKykgKEFEfEJDKSw/IChcXFxcZCspOihcXFxcZCspOihcXFxcZCspLy5leGVjKHQpLFsscyxpLG8sYSx1LGwsZl09cjtyZXR1cm5bbyxzLGksYSx1LGwsZl19ZnVuY3Rpb24gSWwobixlKXtsZXQgdD1uLmZvcm1hdFRvUGFydHMoZSkscj1bXTtmb3IobGV0IHM9MDtzPHQubGVuZ3RoO3MrKyl7bGV0e3R5cGU6aSx2YWx1ZTpvfT10W3NdLGE9eGxbaV07aT09PVxcXCJlcmFcXFwiP3JbYV09bzpXKGEpfHwoclthXT1wYXJzZUludChvLDEwKSl9cmV0dXJuIHJ9dmFyIHpyPXt9LGdlPWNsYXNzIG4gZXh0ZW5kcyBrZXtzdGF0aWMgY3JlYXRlKGUpe3JldHVybiB6cltlXXx8KHpyW2VdPW5ldyBuKGUpKSx6cltlXX1zdGF0aWMgcmVzZXRDYWNoZSgpe3pyPXt9LFlyPXt9fXN0YXRpYyBpc1ZhbGlkU3BlY2lmaWVyKGUpe3JldHVybiB0aGlzLmlzVmFsaWRab25lKGUpfXN0YXRpYyBpc1ZhbGlkWm9uZShlKXtpZighZSlyZXR1cm4hMTt0cnl7cmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFxcXCJlbi1VU1xcXCIse3RpbWVab25lOmV9KS5mb3JtYXQoKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLnpvbmVOYW1lPWUsdGhpcy52YWxpZD1uLmlzVmFsaWRab25lKGUpfWdldCB0eXBlKCl7cmV0dXJuXFxcImlhbmFcXFwifWdldCBuYW1lKCl7cmV0dXJuIHRoaXMuem9uZU5hbWV9Z2V0IGlzVW5pdmVyc2FsKCl7cmV0dXJuITF9b2Zmc2V0TmFtZShlLHtmb3JtYXQ6dCxsb2NhbGU6cn0pe3JldHVybiBKcihlLHQscix0aGlzLm5hbWUpfWZvcm1hdE9mZnNldChlLHQpe3JldHVybiB2dCh0aGlzLm9mZnNldChlKSx0KX1vZmZzZXQoZSl7bGV0IHQ9bmV3IERhdGUoZSk7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjtsZXQgcj12bCh0aGlzLm5hbWUpLFtzLGksbyxhLHUsbCxmXT1yLmZvcm1hdFRvUGFydHM/SWwocix0KTpPbChyLHQpO2E9PT1cXFwiQkNcXFwiJiYocz0tTWF0aC5hYnMocykrMSk7bGV0IG09aXIoe3llYXI6cyxtb250aDppLGRheTpvLGhvdXI6dT09PTI0PzA6dSxtaW51dGU6bCxzZWNvbmQ6ZixtaWxsaXNlY29uZDowfSksaD0rdCxiPWglMWUzO3JldHVybiBoLT1iPj0wP2I6MWUzK2IsKG0taCkvKDYwKjFlMyl9ZXF1YWxzKGUpe3JldHVybiBlLnR5cGU9PT1cXFwiaWFuYVxcXCImJmUubmFtZT09PXRoaXMubmFtZX1nZXQgaXNWYWxpZCgpe3JldHVybiB0aGlzLnZhbGlkfX07dmFyIGZpPW51bGwsaGU9Y2xhc3MgbiBleHRlbmRzIGtle3N0YXRpYyBnZXQgdXRjSW5zdGFuY2UoKXtyZXR1cm4gZmk9PT1udWxsJiYoZmk9bmV3IG4oMCkpLGZpfXN0YXRpYyBpbnN0YW5jZShlKXtyZXR1cm4gZT09PTA/bi51dGNJbnN0YW5jZTpuZXcgbihlKX1zdGF0aWMgcGFyc2VTcGVjaWZpZXIoZSl7aWYoZSl7bGV0IHQ9ZS5tYXRjaCgvXnV0Yyg/OihbKy1dXFxcXGR7MSwyfSkoPzo6KFxcXFxkezJ9KSk/KT8kL2kpO2lmKHQpcmV0dXJuIG5ldyBuKFZ0KHRbMV0sdFsyXSkpfXJldHVybiBudWxsfWNvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5maXhlZD1lfWdldCB0eXBlKCl7cmV0dXJuXFxcImZpeGVkXFxcIn1nZXQgbmFtZSgpe3JldHVybiB0aGlzLmZpeGVkPT09MD9cXFwiVVRDXFxcIjpgVVRDJHt2dCh0aGlzLmZpeGVkLFxcXCJuYXJyb3dcXFwiKX1gfWdldCBpYW5hTmFtZSgpe3JldHVybiB0aGlzLmZpeGVkPT09MD9cXFwiRXRjL1VUQ1xcXCI6YEV0Yy9HTVQke3Z0KC10aGlzLmZpeGVkLFxcXCJuYXJyb3dcXFwiKX1gfW9mZnNldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfWZvcm1hdE9mZnNldChlLHQpe3JldHVybiB2dCh0aGlzLmZpeGVkLHQpfWdldCBpc1VuaXZlcnNhbCgpe3JldHVybiEwfW9mZnNldCgpe3JldHVybiB0aGlzLmZpeGVkfWVxdWFscyhlKXtyZXR1cm4gZS50eXBlPT09XFxcImZpeGVkXFxcIiYmZS5maXhlZD09PXRoaXMuZml4ZWR9Z2V0IGlzVmFsaWQoKXtyZXR1cm4hMH19O3ZhciBkbj1jbGFzcyBleHRlbmRzIGtle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy56b25lTmFtZT1lfWdldCB0eXBlKCl7cmV0dXJuXFxcImludmFsaWRcXFwifWdldCBuYW1lKCl7cmV0dXJuIHRoaXMuem9uZU5hbWV9Z2V0IGlzVW5pdmVyc2FsKCl7cmV0dXJuITF9b2Zmc2V0TmFtZSgpe3JldHVybiBudWxsfWZvcm1hdE9mZnNldCgpe3JldHVyblxcXCJcXFwifW9mZnNldCgpe3JldHVybiBOYU59ZXF1YWxzKCl7cmV0dXJuITF9Z2V0IGlzVmFsaWQoKXtyZXR1cm4hMX19O2Z1bmN0aW9uIFZlKG4sZSl7bGV0IHQ7aWYoVyhuKXx8bj09PW51bGwpcmV0dXJuIGU7aWYobiBpbnN0YW5jZW9mIGtlKXJldHVybiBuO2lmKEJvKG4pKXtsZXQgcj1uLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHI9PT1cXFwibG9jYWxcXFwifHxyPT09XFxcInN5c3RlbVxcXCI/ZTpyPT09XFxcInV0Y1xcXCJ8fHI9PT1cXFwiZ210XFxcIj9oZS51dGNJbnN0YW5jZTpoZS5wYXJzZVNwZWNpZmllcihyKXx8Z2UuY3JlYXRlKG4pfWVsc2UgcmV0dXJuIHR0KG4pP2hlLmluc3RhbmNlKG4pOnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIiYmbi5vZmZzZXQmJnR5cGVvZiBuLm9mZnNldD09XFxcIm51bWJlclxcXCI/bjpuZXcgZG4obil9dmFyIEhvPSgpPT5EYXRlLm5vdygpLEpvPVxcXCJzeXN0ZW1cXFwiLHpvPW51bGwsWW89bnVsbCxHbz1udWxsLFpvLFg9Y2xhc3N7c3RhdGljIGdldCBub3coKXtyZXR1cm4gSG99c3RhdGljIHNldCBub3coZSl7SG89ZX1zdGF0aWMgc2V0IGRlZmF1bHRab25lKGUpe0pvPWV9c3RhdGljIGdldCBkZWZhdWx0Wm9uZSgpe3JldHVybiBWZShKbyxmbi5pbnN0YW5jZSl9c3RhdGljIGdldCBkZWZhdWx0TG9jYWxlKCl7cmV0dXJuIHpvfXN0YXRpYyBzZXQgZGVmYXVsdExvY2FsZShlKXt6bz1lfXN0YXRpYyBnZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSgpe3JldHVybiBZb31zdGF0aWMgc2V0IGRlZmF1bHROdW1iZXJpbmdTeXN0ZW0oZSl7WW89ZX1zdGF0aWMgZ2V0IGRlZmF1bHRPdXRwdXRDYWxlbmRhcigpe3JldHVybiBHb31zdGF0aWMgc2V0IGRlZmF1bHRPdXRwdXRDYWxlbmRhcihlKXtHbz1lfXN0YXRpYyBnZXQgdGhyb3dPbkludmFsaWQoKXtyZXR1cm4gWm99c3RhdGljIHNldCB0aHJvd09uSW52YWxpZChlKXtabz1lfXN0YXRpYyByZXNldENhY2hlcygpe25lLnJlc2V0Q2FjaGUoKSxnZS5yZXNldENhY2hlKCl9fTt2YXIgUW89e307ZnVuY3Rpb24gTGwobixlPXt9KXtsZXQgdD1KU09OLnN0cmluZ2lmeShbbixlXSkscj1Rb1t0XTtyZXR1cm4gcnx8KHI9bmV3IEludGwuTGlzdEZvcm1hdChuLGUpLFFvW3RdPXIpLHJ9dmFyIGRpPXt9O2Z1bmN0aW9uIGhpKG4sZT17fSl7bGV0IHQ9SlNPTi5zdHJpbmdpZnkoW24sZV0pLHI9ZGlbdF07cmV0dXJuIHJ8fChyPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KG4sZSksZGlbdF09cikscn12YXIgbWk9e307ZnVuY3Rpb24gTmwobixlPXt9KXtsZXQgdD1KU09OLnN0cmluZ2lmeShbbixlXSkscj1taVt0XTtyZXR1cm4gcnx8KHI9bmV3IEludGwuTnVtYmVyRm9ybWF0KG4sZSksbWlbdF09cikscn12YXIgcGk9e307ZnVuY3Rpb24gQWwobixlPXt9KXtsZXQgbz1lLHtiYXNlOnR9PW8scj1ZcyhvLFtcXFwiYmFzZVxcXCJdKSxzPUpTT04uc3RyaW5naWZ5KFtuLHJdKSxpPXBpW3NdO3JldHVybiBpfHwoaT1uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQobixlKSxwaVtzXT1pKSxpfXZhciB1cj1udWxsO2Z1bmN0aW9uIE1sKCl7cmV0dXJuIHVyfHwodXI9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGUsdXIpfWZ1bmN0aW9uIF9sKG4pe2xldCBlPW4uaW5kZXhPZihcXFwiLXUtXFxcIik7aWYoZT09PS0xKXJldHVybltuXTt7bGV0IHQscj1uLnN1YnN0cmluZygwLGUpO3RyeXt0PWhpKG4pLnJlc29sdmVkT3B0aW9ucygpfWNhdGNoKG8pe3Q9aGkocikucmVzb2x2ZWRPcHRpb25zKCl9bGV0e251bWJlcmluZ1N5c3RlbTpzLGNhbGVuZGFyOml9PXQ7cmV0dXJuW3IscyxpXX19ZnVuY3Rpb24gQmwobixlLHQpe3JldHVybih0fHxlKSYmKG4rPVxcXCItdVxcXCIsdCYmKG4rPWAtY2EtJHt0fWApLGUmJihuKz1gLW51LSR7ZX1gKSksbn1mdW5jdGlvbiBQbChuKXtsZXQgZT1bXTtmb3IobGV0IHQ9MTt0PD0xMjt0Kyspe2xldCByPXEudXRjKDIwMTYsdCwxKTtlLnB1c2gobihyKSl9cmV0dXJuIGV9ZnVuY3Rpb24gJGwobil7bGV0IGU9W107Zm9yKGxldCB0PTE7dDw9Nzt0Kyspe2xldCByPXEudXRjKDIwMTYsMTEsMTMrdCk7ZS5wdXNoKG4ocikpfXJldHVybiBlfWZ1bmN0aW9uIEdyKG4sZSx0LHIscyl7bGV0IGk9bi5saXN0aW5nTW9kZSh0KTtyZXR1cm4gaT09PVxcXCJlcnJvclxcXCI/bnVsbDppPT09XFxcImVuXFxcIj9yKGUpOnMoZSl9ZnVuY3Rpb24gUmwobil7cmV0dXJuIG4ubnVtYmVyaW5nU3lzdGVtJiZuLm51bWJlcmluZ1N5c3RlbSE9PVxcXCJsYXRuXFxcIj8hMTpuLm51bWJlcmluZ1N5c3RlbT09PVxcXCJsYXRuXFxcInx8IW4ubG9jYWxlfHxuLmxvY2FsZS5zdGFydHNXaXRoKFxcXCJlblxcXCIpfHxuZXcgSW50bC5EYXRlVGltZUZvcm1hdChuLmludGwpLnJlc29sdmVkT3B0aW9ucygpLm51bWJlcmluZ1N5c3RlbT09PVxcXCJsYXRuXFxcIn12YXIgRGk9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMucGFkVG89ci5wYWRUb3x8MCx0aGlzLmZsb29yPXIuZmxvb3J8fCExO2xldCBhPXIse3BhZFRvOnMsZmxvb3I6aX09YSxvPVlzKGEsW1xcXCJwYWRUb1xcXCIsXFxcImZsb29yXFxcIl0pO2lmKCF0fHxPYmplY3Qua2V5cyhvKS5sZW5ndGg+MCl7bGV0IHU9Uih7dXNlR3JvdXBpbmc6ITF9LHIpO3IucGFkVG8+MCYmKHUubWluaW11bUludGVnZXJEaWdpdHM9ci5wYWRUbyksdGhpcy5pbmY9TmwoZSx1KX19Zm9ybWF0KGUpe2lmKHRoaXMuaW5mKXtsZXQgdD10aGlzLmZsb29yP01hdGguZmxvb3IoZSk6ZTtyZXR1cm4gdGhpcy5pbmYuZm9ybWF0KHQpfWVsc2V7bGV0IHQ9dGhpcy5mbG9vcj9NYXRoLmZsb29yKGUpOmFuKGUsMyk7cmV0dXJuIHJlKHQsdGhpcy5wYWRUbyl9fX0seWk9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMub3B0cz1yO2xldCBzO2lmKGUuem9uZS5pc1VuaXZlcnNhbCl7bGV0IG89LTEqKGUub2Zmc2V0LzYwKSxhPW8+PTA/YEV0Yy9HTVQrJHtvfWA6YEV0Yy9HTVQke299YDtlLm9mZnNldCE9PTAmJmdlLmNyZWF0ZShhKS52YWxpZD8ocz1hLHRoaXMuZHQ9ZSk6KHM9XFxcIlVUQ1xcXCIsci50aW1lWm9uZU5hbWU/dGhpcy5kdD1lOnRoaXMuZHQ9ZS5vZmZzZXQ9PT0wP2U6cS5mcm9tTWlsbGlzKGUudHMrZS5vZmZzZXQqNjAqMWUzKSl9ZWxzZSBlLnpvbmUudHlwZT09PVxcXCJzeXN0ZW1cXFwiP3RoaXMuZHQ9ZToodGhpcy5kdD1lLHM9ZS56b25lLm5hbWUpO2xldCBpPVIoe30sdGhpcy5vcHRzKTtzJiYoaS50aW1lWm9uZT1zKSx0aGlzLmR0Zj1oaSh0LGkpfWZvcm1hdCgpe3JldHVybiB0aGlzLmR0Zi5mb3JtYXQodGhpcy5kdC50b0pTRGF0ZSgpKX1mb3JtYXRUb1BhcnRzKCl7cmV0dXJuIHRoaXMuZHRmLmZvcm1hdFRvUGFydHModGhpcy5kdC50b0pTRGF0ZSgpKX1yZXNvbHZlZE9wdGlvbnMoKXtyZXR1cm4gdGhpcy5kdGYucmVzb2x2ZWRPcHRpb25zKCl9fSxnaT1jbGFzc3tjb25zdHJ1Y3RvcihlLHQscil7dGhpcy5vcHRzPVIoe3N0eWxlOlxcXCJsb25nXFxcIn0sciksIXQmJkhyKCkmJih0aGlzLnJ0Zj1BbChlLHIpKX1mb3JtYXQoZSx0KXtyZXR1cm4gdGhpcy5ydGY/dGhpcy5ydGYuZm9ybWF0KGUsdCk6S28odCxlLHRoaXMub3B0cy5udW1lcmljLHRoaXMub3B0cy5zdHlsZSE9PVxcXCJsb25nXFxcIil9Zm9ybWF0VG9QYXJ0cyhlLHQpe3JldHVybiB0aGlzLnJ0Zj90aGlzLnJ0Zi5mb3JtYXRUb1BhcnRzKGUsdCk6W119fSxuZT1jbGFzcyBue3N0YXRpYyBmcm9tT3B0cyhlKXtyZXR1cm4gbi5jcmVhdGUoZS5sb2NhbGUsZS5udW1iZXJpbmdTeXN0ZW0sZS5vdXRwdXRDYWxlbmRhcixlLmRlZmF1bHRUb0VOKX1zdGF0aWMgY3JlYXRlKGUsdCxyLHM9ITEpe2xldCBpPWV8fFguZGVmYXVsdExvY2FsZSxvPWl8fChzP1xcXCJlbi1VU1xcXCI6TWwoKSksYT10fHxYLmRlZmF1bHROdW1iZXJpbmdTeXN0ZW0sdT1yfHxYLmRlZmF1bHRPdXRwdXRDYWxlbmRhcjtyZXR1cm4gbmV3IG4obyxhLHUsaSl9c3RhdGljIHJlc2V0Q2FjaGUoKXt1cj1udWxsLGRpPXt9LG1pPXt9LHBpPXt9fXN0YXRpYyBmcm9tT2JqZWN0KHtsb2NhbGU6ZSxudW1iZXJpbmdTeXN0ZW06dCxvdXRwdXRDYWxlbmRhcjpyfT17fSl7cmV0dXJuIG4uY3JlYXRlKGUsdCxyKX1jb25zdHJ1Y3RvcihlLHQscixzKXtsZXRbaSxvLGFdPV9sKGUpO3RoaXMubG9jYWxlPWksdGhpcy5udW1iZXJpbmdTeXN0ZW09dHx8b3x8bnVsbCx0aGlzLm91dHB1dENhbGVuZGFyPXJ8fGF8fG51bGwsdGhpcy5pbnRsPUJsKHRoaXMubG9jYWxlLHRoaXMubnVtYmVyaW5nU3lzdGVtLHRoaXMub3V0cHV0Q2FsZW5kYXIpLHRoaXMud2Vla2RheXNDYWNoZT17Zm9ybWF0Ont9LHN0YW5kYWxvbmU6e319LHRoaXMubW9udGhzQ2FjaGU9e2Zvcm1hdDp7fSxzdGFuZGFsb25lOnt9fSx0aGlzLm1lcmlkaWVtQ2FjaGU9bnVsbCx0aGlzLmVyYUNhY2hlPXt9LHRoaXMuc3BlY2lmaWVkTG9jYWxlPXMsdGhpcy5mYXN0TnVtYmVyc0NhY2hlZD1udWxsfWdldCBmYXN0TnVtYmVycygpe3JldHVybiB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkPT1udWxsJiYodGhpcy5mYXN0TnVtYmVyc0NhY2hlZD1SbCh0aGlzKSksdGhpcy5mYXN0TnVtYmVyc0NhY2hlZH1saXN0aW5nTW9kZSgpe2xldCBlPXRoaXMuaXNFbmdsaXNoKCksdD0odGhpcy5udW1iZXJpbmdTeXN0ZW09PT1udWxsfHx0aGlzLm51bWJlcmluZ1N5c3RlbT09PVxcXCJsYXRuXFxcIikmJih0aGlzLm91dHB1dENhbGVuZGFyPT09bnVsbHx8dGhpcy5vdXRwdXRDYWxlbmRhcj09PVxcXCJncmVnb3J5XFxcIik7cmV0dXJuIGUmJnQ/XFxcImVuXFxcIjpcXFwiaW50bFxcXCJ9Y2xvbmUoZSl7cmV0dXJuIWV8fE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpLmxlbmd0aD09PTA/dGhpczpuLmNyZWF0ZShlLmxvY2FsZXx8dGhpcy5zcGVjaWZpZWRMb2NhbGUsZS5udW1iZXJpbmdTeXN0ZW18fHRoaXMubnVtYmVyaW5nU3lzdGVtLGUub3V0cHV0Q2FsZW5kYXJ8fHRoaXMub3V0cHV0Q2FsZW5kYXIsZS5kZWZhdWx0VG9FTnx8ITEpfXJlZGVmYXVsdFRvRU4oZT17fSl7cmV0dXJuIHRoaXMuY2xvbmUoeWUoUih7fSxlKSx7ZGVmYXVsdFRvRU46ITB9KSl9cmVkZWZhdWx0VG9TeXN0ZW0oZT17fSl7cmV0dXJuIHRoaXMuY2xvbmUoeWUoUih7fSxlKSx7ZGVmYXVsdFRvRU46ITF9KSl9bW9udGhzKGUsdD0hMSxyPSEwKXtyZXR1cm4gR3IodGhpcyxlLHIscmksKCk9PntsZXQgcz10P3ttb250aDplLGRheTpcXFwibnVtZXJpY1xcXCJ9Onttb250aDplfSxpPXQ/XFxcImZvcm1hdFxcXCI6XFxcInN0YW5kYWxvbmVcXFwiO3JldHVybiB0aGlzLm1vbnRoc0NhY2hlW2ldW2VdfHwodGhpcy5tb250aHNDYWNoZVtpXVtlXT1QbChvPT50aGlzLmV4dHJhY3QobyxzLFxcXCJtb250aFxcXCIpKSksdGhpcy5tb250aHNDYWNoZVtpXVtlXX0pfXdlZWtkYXlzKGUsdD0hMSxyPSEwKXtyZXR1cm4gR3IodGhpcyxlLHIsb2ksKCk9PntsZXQgcz10P3t3ZWVrZGF5OmUseWVhcjpcXFwibnVtZXJpY1xcXCIsbW9udGg6XFxcImxvbmdcXFwiLGRheTpcXFwibnVtZXJpY1xcXCJ9Ont3ZWVrZGF5OmV9LGk9dD9cXFwiZm9ybWF0XFxcIjpcXFwic3RhbmRhbG9uZVxcXCI7cmV0dXJuIHRoaXMud2Vla2RheXNDYWNoZVtpXVtlXXx8KHRoaXMud2Vla2RheXNDYWNoZVtpXVtlXT0kbChvPT50aGlzLmV4dHJhY3QobyxzLFxcXCJ3ZWVrZGF5XFxcIikpKSx0aGlzLndlZWtkYXlzQ2FjaGVbaV1bZV19KX1tZXJpZGllbXMoZT0hMCl7cmV0dXJuIEdyKHRoaXMsdm9pZCAwLGUsKCk9PmFpLCgpPT57aWYoIXRoaXMubWVyaWRpZW1DYWNoZSl7bGV0IHQ9e2hvdXI6XFxcIm51bWVyaWNcXFwiLGhvdXJDeWNsZTpcXFwiaDEyXFxcIn07dGhpcy5tZXJpZGllbUNhY2hlPVtxLnV0YygyMDE2LDExLDEzLDkpLHEudXRjKDIwMTYsMTEsMTMsMTkpXS5tYXAocj0+dGhpcy5leHRyYWN0KHIsdCxcXFwiZGF5cGVyaW9kXFxcIikpfXJldHVybiB0aGlzLm1lcmlkaWVtQ2FjaGV9KX1lcmFzKGUsdD0hMCl7cmV0dXJuIEdyKHRoaXMsZSx0LHVpLCgpPT57bGV0IHI9e2VyYTplfTtyZXR1cm4gdGhpcy5lcmFDYWNoZVtlXXx8KHRoaXMuZXJhQ2FjaGVbZV09W3EudXRjKC00MCwxLDEpLHEudXRjKDIwMTcsMSwxKV0ubWFwKHM9PnRoaXMuZXh0cmFjdChzLHIsXFxcImVyYVxcXCIpKSksdGhpcy5lcmFDYWNoZVtlXX0pfWV4dHJhY3QoZSx0LHIpe2xldCBzPXRoaXMuZHRGb3JtYXR0ZXIoZSx0KSxpPXMuZm9ybWF0VG9QYXJ0cygpLG89aS5maW5kKGE9PmEudHlwZS50b0xvd2VyQ2FzZSgpPT09cik7cmV0dXJuIG8/by52YWx1ZTpudWxsfW51bWJlckZvcm1hdHRlcihlPXt9KXtyZXR1cm4gbmV3IERpKHRoaXMuaW50bCxlLmZvcmNlU2ltcGxlfHx0aGlzLmZhc3ROdW1iZXJzLGUpfWR0Rm9ybWF0dGVyKGUsdD17fSl7cmV0dXJuIG5ldyB5aShlLHRoaXMuaW50bCx0KX1yZWxGb3JtYXR0ZXIoZT17fSl7cmV0dXJuIG5ldyBnaSh0aGlzLmludGwsdGhpcy5pc0VuZ2xpc2goKSxlKX1saXN0Rm9ybWF0dGVyKGU9e30pe3JldHVybiBMbCh0aGlzLmludGwsZSl9aXNFbmdsaXNoKCl7cmV0dXJuIHRoaXMubG9jYWxlPT09XFxcImVuXFxcInx8dGhpcy5sb2NhbGUudG9Mb3dlckNhc2UoKT09PVxcXCJlbi11c1xcXCJ8fG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuaW50bCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlLnN0YXJ0c1dpdGgoXFxcImVuLXVzXFxcIil9ZXF1YWxzKGUpe3JldHVybiB0aGlzLmxvY2FsZT09PWUubG9jYWxlJiZ0aGlzLm51bWJlcmluZ1N5c3RlbT09PWUubnVtYmVyaW5nU3lzdGVtJiZ0aGlzLm91dHB1dENhbGVuZGFyPT09ZS5vdXRwdXRDYWxlbmRhcn19O2Z1bmN0aW9uIG1uKC4uLm4pe2xldCBlPW4ucmVkdWNlKCh0LHIpPT50K3Iuc291cmNlLFxcXCJcXFwiKTtyZXR1cm4gUmVnRXhwKGBeJHtlfSRgKX1mdW5jdGlvbiBwbiguLi5uKXtyZXR1cm4gZT0+bi5yZWR1Y2UoKFt0LHIsc10saSk9PntsZXRbbyxhLHVdPWkoZSxzKTtyZXR1cm5bUihSKHt9LHQpLG8pLGF8fHIsdV19LFt7fSxudWxsLDFdKS5zbGljZSgwLDIpfWZ1bmN0aW9uIERuKG4sLi4uZSl7aWYobj09bnVsbClyZXR1cm5bbnVsbCxudWxsXTtmb3IobGV0W3Qscl1vZiBlKXtsZXQgcz10LmV4ZWMobik7aWYocylyZXR1cm4gcihzKX1yZXR1cm5bbnVsbCxudWxsXX1mdW5jdGlvbiBlYSguLi5uKXtyZXR1cm4oZSx0KT0+e2xldCByPXt9LHM7Zm9yKHM9MDtzPG4ubGVuZ3RoO3MrKylyW25bc11dPUR0KGVbdCtzXSk7cmV0dXJuW3IsbnVsbCx0K3NdfX12YXIgdGE9Lyg/OihaKXwoWystXVxcXFxkXFxcXGQpKD86Oj8oXFxcXGRcXFxcZCkpPykvLGpsPWAoPzoke3RhLnNvdXJjZX0/KD86XFxcXFxcXFxbKCR7dGkuc291cmNlfSlcXFxcXFxcXF0pPyk/YCxiaT0vKFxcXFxkXFxcXGQpKD86Oj8oXFxcXGRcXFxcZCkoPzo6PyhcXFxcZFxcXFxkKSg/OlsuLF0oXFxcXGR7MSwzMH0pKT8pPyk/LyxuYT1SZWdFeHAoYCR7Ymkuc291cmNlfSR7amx9YCksRmk9UmVnRXhwKGAoPzpUJHtuYS5zb3VyY2V9KT9gKSxxbD0vKFsrLV1cXFxcZHs2fXxcXFxcZHs0fSkoPzotPyhcXFxcZFxcXFxkKSg/Oi0/KFxcXFxkXFxcXGQpKT8pPy8sVmw9LyhcXFxcZHs0fSktP1coXFxcXGRcXFxcZCkoPzotPyhcXFxcZCkpPy8sVWw9LyhcXFxcZHs0fSktPyhcXFxcZHszfSkvLEtsPWVhKFxcXCJ3ZWVrWWVhclxcXCIsXFxcIndlZWtOdW1iZXJcXFwiLFxcXCJ3ZWVrRGF5XFxcIiksV2w9ZWEoXFxcInllYXJcXFwiLFxcXCJvcmRpbmFsXFxcIiksSGw9LyhcXFxcZHs0fSktKFxcXFxkXFxcXGQpLShcXFxcZFxcXFxkKS8scmE9UmVnRXhwKGAke2JpLnNvdXJjZX0gPyg/OiR7dGEuc291cmNlfXwoJHt0aS5zb3VyY2V9KSk/YCksSmw9UmVnRXhwKGAoPzogJHtyYS5zb3VyY2V9KT9gKTtmdW5jdGlvbiBobihuLGUsdCl7bGV0IHI9bltlXTtyZXR1cm4gVyhyKT90OkR0KHIpfWZ1bmN0aW9uIHpsKG4sZSl7cmV0dXJuW3t5ZWFyOmhuKG4sZSksbW9udGg6aG4obixlKzEsMSksZGF5OmhuKG4sZSsyLDEpfSxudWxsLGUrM119ZnVuY3Rpb24geW4obixlKXtyZXR1cm5be2hvdXJzOmhuKG4sZSwwKSxtaW51dGVzOmhuKG4sZSsxLDApLHNlY29uZHM6aG4obixlKzIsMCksbWlsbGlzZWNvbmRzOnNyKG5bZSszXSl9LG51bGwsZSs0XX1mdW5jdGlvbiBscihuLGUpe2xldCB0PSFuW2VdJiYhbltlKzFdLHI9VnQobltlKzFdLG5bZSsyXSkscz10P251bGw6aGUuaW5zdGFuY2Uocik7cmV0dXJuW3t9LHMsZSszXX1mdW5jdGlvbiBjcihuLGUpe2xldCB0PW5bZV0/Z2UuY3JlYXRlKG5bZV0pOm51bGw7cmV0dXJuW3t9LHQsZSsxXX12YXIgWWw9UmVnRXhwKGBeVD8ke2JpLnNvdXJjZX0kYCksR2w9L14tP1AoPzooPzooLT9cXFxcZHsxLDIwfSg/OlxcXFwuXFxcXGR7MSwyMH0pPylZKT8oPzooLT9cXFxcZHsxLDIwfSg/OlxcXFwuXFxcXGR7MSwyMH0pPylNKT8oPzooLT9cXFxcZHsxLDIwfSg/OlxcXFwuXFxcXGR7MSwyMH0pPylXKT8oPzooLT9cXFxcZHsxLDIwfSg/OlxcXFwuXFxcXGR7MSwyMH0pPylEKT8oPzpUKD86KC0/XFxcXGR7MSwyMH0oPzpcXFxcLlxcXFxkezEsMjB9KT8pSCk/KD86KC0/XFxcXGR7MSwyMH0oPzpcXFxcLlxcXFxkezEsMjB9KT8pTSk/KD86KC0/XFxcXGR7MSwyMH0pKD86Wy4sXSgtP1xcXFxkezEsMjB9KSk/Uyk/KT8pJC87ZnVuY3Rpb24gWmwobil7bGV0W2UsdCxyLHMsaSxvLGEsdSxsXT1uLGY9ZVswXT09PVxcXCItXFxcIixkPXUmJnVbMF09PT1cXFwiLVxcXCIsbT0oaCxiPSExKT0+aCE9PXZvaWQgMCYmKGJ8fGgmJmYpPy1oOmg7cmV0dXJuW3t5ZWFyczptKEN0KHQpKSxtb250aHM6bShDdChyKSksd2Vla3M6bShDdChzKSksZGF5czptKEN0KGkpKSxob3VyczptKEN0KG8pKSxtaW51dGVzOm0oQ3QoYSkpLHNlY29uZHM6bShDdCh1KSx1PT09XFxcIi0wXFxcIiksbWlsbGlzZWNvbmRzOm0oc3IobCksZCl9XX12YXIgUWw9e0dNVDowLEVEVDotNCo2MCxFU1Q6LTUqNjAsQ0RUOi01KjYwLENTVDotNio2MCxNRFQ6LTYqNjAsTVNUOi03KjYwLFBEVDotNyo2MCxQU1Q6LTgqNjB9O2Z1bmN0aW9uIEVpKG4sZSx0LHIscyxpLG8pe2xldCBhPXt5ZWFyOmUubGVuZ3RoPT09Mj9vcihEdChlKSk6RHQoZSksbW9udGg6bmkuaW5kZXhPZih0KSsxLGRheTpEdChyKSxob3VyOkR0KHMpLG1pbnV0ZTpEdChpKX07cmV0dXJuIG8mJihhLnNlY29uZD1EdChvKSksbiYmKGEud2Vla2RheT1uLmxlbmd0aD4zP3NpLmluZGV4T2YobikrMTppaS5pbmRleE9mKG4pKzEpLGF9dmFyIFhsPS9eKD86KE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksXFxcXHMpPyhcXFxcZHsxLDJ9KVxcXFxzKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKVxcXFxzKFxcXFxkezIsNH0pXFxcXHMoXFxcXGRcXFxcZCk6KFxcXFxkXFxcXGQpKD86OihcXFxcZFxcXFxkKSk/XFxcXHMoPzooVVR8R01UfFtFQ01QXVtTRF1UKXwoW1p6XSl8KD86KFsrLV1cXFxcZFxcXFxkKShcXFxcZFxcXFxkKSkpJC87ZnVuY3Rpb24gZWMobil7bGV0WyxlLHQscixzLGksbyxhLHUsbCxmLGRdPW4sbT1FaShlLHMscix0LGksbyxhKSxoO3JldHVybiB1P2g9UWxbdV06bD9oPTA6aD1WdChmLGQpLFttLG5ldyBoZShoKV19ZnVuY3Rpb24gdGMobil7cmV0dXJuIG4ucmVwbGFjZSgvXFxcXChbXigpXSpcXFxcKXxbXFxcXG5cXFxcdF0vZyxcXFwiIFxcXCIpLnJlcGxhY2UoLyhcXFxcc1xcXFxzKykvZyxcXFwiIFxcXCIpLnRyaW0oKX12YXIgbmM9L14oTW9ufFR1ZXxXZWR8VGh1fEZyaXxTYXR8U3VuKSwgKFxcXFxkXFxcXGQpIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKFxcXFxkezR9KSAoXFxcXGRcXFxcZCk6KFxcXFxkXFxcXGQpOihcXFxcZFxcXFxkKSBHTVQkLyxyYz0vXihNb25kYXl8VHVlc2RheXxXZWRuZXNkYXl8VGh1cnNkYXl8RnJpZGF5fFNhdHVyZGF5fFN1bmRheSksIChcXFxcZFxcXFxkKS0oSmFufEZlYnxNYXJ8QXByfE1heXxKdW58SnVsfEF1Z3xTZXB8T2N0fE5vdnxEZWMpLShcXFxcZFxcXFxkKSAoXFxcXGRcXFxcZCk6KFxcXFxkXFxcXGQpOihcXFxcZFxcXFxkKSBHTVQkLyxzYz0vXihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pIChKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYykgKCBcXFxcZHxcXFxcZFxcXFxkKSAoXFxcXGRcXFxcZCk6KFxcXFxkXFxcXGQpOihcXFxcZFxcXFxkKSAoXFxcXGR7NH0pJC87ZnVuY3Rpb24gWG8obil7bGV0WyxlLHQscixzLGksbyxhXT1uO3JldHVybltFaShlLHMscix0LGksbyxhKSxoZS51dGNJbnN0YW5jZV19ZnVuY3Rpb24gaWMobil7bGV0WyxlLHQscixzLGksbyxhXT1uO3JldHVybltFaShlLGEsdCxyLHMsaSxvKSxoZS51dGNJbnN0YW5jZV19dmFyIG9jPW1uKHFsLEZpKSxhYz1tbihWbCxGaSksdWM9bW4oVWwsRmkpLGxjPW1uKG5hKSxzYT1wbih6bCx5bixscixjciksY2M9cG4oS2wseW4sbHIsY3IpLGZjPXBuKFdsLHluLGxyLGNyKSxkYz1wbih5bixscixjcik7ZnVuY3Rpb24gaWEobil7cmV0dXJuIERuKG4sW29jLHNhXSxbYWMsY2NdLFt1YyxmY10sW2xjLGRjXSl9ZnVuY3Rpb24gb2Eobil7cmV0dXJuIERuKHRjKG4pLFtYbCxlY10pfWZ1bmN0aW9uIGFhKG4pe3JldHVybiBEbihuLFtuYyxYb10sW3JjLFhvXSxbc2MsaWNdKX1mdW5jdGlvbiB1YShuKXtyZXR1cm4gRG4obixbR2wsWmxdKX12YXIgaGM9cG4oeW4pO2Z1bmN0aW9uIGxhKG4pe3JldHVybiBEbihuLFtZbCxoY10pfXZhciBtYz1tbihIbCxKbCkscGM9bW4ocmEpLERjPXBuKHluLGxyLGNyKTtmdW5jdGlvbiBjYShuKXtyZXR1cm4gRG4obixbbWMsc2FdLFtwYyxEY10pfXZhciB5Yz1cXFwiSW52YWxpZCBEdXJhdGlvblxcXCIsZmE9e3dlZWtzOntkYXlzOjcsaG91cnM6NyoyNCxtaW51dGVzOjcqMjQqNjAsc2Vjb25kczo3KjI0KjYwKjYwLG1pbGxpc2Vjb25kczo3KjI0KjYwKjYwKjFlM30sZGF5czp7aG91cnM6MjQsbWludXRlczoyNCo2MCxzZWNvbmRzOjI0KjYwKjYwLG1pbGxpc2Vjb25kczoyNCo2MCo2MCoxZTN9LGhvdXJzOnttaW51dGVzOjYwLHNlY29uZHM6NjAqNjAsbWlsbGlzZWNvbmRzOjYwKjYwKjFlM30sbWludXRlczp7c2Vjb25kczo2MCxtaWxsaXNlY29uZHM6NjAqMWUzfSxzZWNvbmRzOnttaWxsaXNlY29uZHM6MWUzfX0sZ2M9Uih7eWVhcnM6e3F1YXJ0ZXJzOjQsbW9udGhzOjEyLHdlZWtzOjUyLGRheXM6MzY1LGhvdXJzOjM2NSoyNCxtaW51dGVzOjM2NSoyNCo2MCxzZWNvbmRzOjM2NSoyNCo2MCo2MCxtaWxsaXNlY29uZHM6MzY1KjI0KjYwKjYwKjFlM30scXVhcnRlcnM6e21vbnRoczozLHdlZWtzOjEzLGRheXM6OTEsaG91cnM6OTEqMjQsbWludXRlczo5MSoyNCo2MCxzZWNvbmRzOjkxKjI0KjYwKjYwLG1pbGxpc2Vjb25kczo5MSoyNCo2MCo2MCoxZTN9LG1vbnRoczp7d2Vla3M6NCxkYXlzOjMwLGhvdXJzOjMwKjI0LG1pbnV0ZXM6MzAqMjQqNjAsc2Vjb25kczozMCoyNCo2MCo2MCxtaWxsaXNlY29uZHM6MzAqMjQqNjAqNjAqMWUzfX0sZmEpLE1lPTE0NjA5Ny80MDAsZ249MTQ2MDk3LzQ4MDAsYmM9Uih7eWVhcnM6e3F1YXJ0ZXJzOjQsbW9udGhzOjEyLHdlZWtzOk1lLzcsZGF5czpNZSxob3VyczpNZSoyNCxtaW51dGVzOk1lKjI0KjYwLHNlY29uZHM6TWUqMjQqNjAqNjAsbWlsbGlzZWNvbmRzOk1lKjI0KjYwKjYwKjFlM30scXVhcnRlcnM6e21vbnRoczozLHdlZWtzOk1lLzI4LGRheXM6TWUvNCxob3VyczpNZSoyNC80LG1pbnV0ZXM6TWUqMjQqNjAvNCxzZWNvbmRzOk1lKjI0KjYwKjYwLzQsbWlsbGlzZWNvbmRzOk1lKjI0KjYwKjYwKjFlMy80fSxtb250aHM6e3dlZWtzOmduLzcsZGF5czpnbixob3VyczpnbioyNCxtaW51dGVzOmduKjI0KjYwLHNlY29uZHM6Z24qMjQqNjAqNjAsbWlsbGlzZWNvbmRzOmduKjI0KjYwKjYwKjFlM319LGZhKSxLdD1bXFxcInllYXJzXFxcIixcXFwicXVhcnRlcnNcXFwiLFxcXCJtb250aHNcXFwiLFxcXCJ3ZWVrc1xcXCIsXFxcImRheXNcXFwiLFxcXCJob3Vyc1xcXCIsXFxcIm1pbnV0ZXNcXFwiLFxcXCJzZWNvbmRzXFxcIixcXFwibWlsbGlzZWNvbmRzXFxcIl0sRmM9S3Quc2xpY2UoMCkucmV2ZXJzZSgpO2Z1bmN0aW9uIFV0KG4sZSx0PSExKXtsZXQgcj17dmFsdWVzOnQ/ZS52YWx1ZXM6UihSKHt9LG4udmFsdWVzKSxlLnZhbHVlc3x8e30pLGxvYzpuLmxvYy5jbG9uZShlLmxvYyksY29udmVyc2lvbkFjY3VyYWN5OmUuY29udmVyc2lvbkFjY3VyYWN5fHxuLmNvbnZlcnNpb25BY2N1cmFjeX07cmV0dXJuIG5ldyBCKHIpfWZ1bmN0aW9uIEVjKG4pe3JldHVybiBuPDA/TWF0aC5mbG9vcihuKTpNYXRoLmNlaWwobil9ZnVuY3Rpb24gZGEobixlLHQscixzKXtsZXQgaT1uW3NdW3RdLG89ZVt0XS9pLGE9TWF0aC5zaWduKG8pPT09TWF0aC5zaWduKHJbc10pLHU9IWEmJnJbc10hPT0wJiZNYXRoLmFicyhvKTw9MT9FYyhvKTpNYXRoLnRydW5jKG8pO3Jbc10rPXUsZVt0XS09dSppfWZ1bmN0aW9uIHdjKG4sZSl7RmMucmVkdWNlKCh0LHIpPT5XKGVbcl0pP3Q6KHQmJmRhKG4sZSx0LGUsciksciksbnVsbCl9dmFyIEI9Y2xhc3Mgbntjb25zdHJ1Y3RvcihlKXtsZXQgdD1lLmNvbnZlcnNpb25BY2N1cmFjeT09PVxcXCJsb25ndGVybVxcXCJ8fCExO3RoaXMudmFsdWVzPWUudmFsdWVzLHRoaXMubG9jPWUubG9jfHxuZS5jcmVhdGUoKSx0aGlzLmNvbnZlcnNpb25BY2N1cmFjeT10P1xcXCJsb25ndGVybVxcXCI6XFxcImNhc3VhbFxcXCIsdGhpcy5pbnZhbGlkPWUuaW52YWxpZHx8bnVsbCx0aGlzLm1hdHJpeD10P2JjOmdjLHRoaXMuaXNMdXhvbkR1cmF0aW9uPSEwfXN0YXRpYyBmcm9tTWlsbGlzKGUsdCl7cmV0dXJuIG4uZnJvbU9iamVjdCh7bWlsbGlzZWNvbmRzOmV9LHQpfXN0YXRpYyBmcm9tT2JqZWN0KGUsdD17fSl7aWYoZT09bnVsbHx8dHlwZW9mIGUhPVxcXCJvYmplY3RcXFwiKXRocm93IG5ldyBmZShgRHVyYXRpb24uZnJvbU9iamVjdDogYXJndW1lbnQgZXhwZWN0ZWQgdG8gYmUgYW4gb2JqZWN0LCBnb3QgJHtlPT09bnVsbD9cXFwibnVsbFxcXCI6dHlwZW9mIGV9YCk7cmV0dXJuIG5ldyBuKHt2YWx1ZXM6Y24oZSxuLm5vcm1hbGl6ZVVuaXQpLGxvYzpuZS5mcm9tT2JqZWN0KHQpLGNvbnZlcnNpb25BY2N1cmFjeTp0LmNvbnZlcnNpb25BY2N1cmFjeX0pfXN0YXRpYyBmcm9tRHVyYXRpb25MaWtlKGUpe2lmKHR0KGUpKXJldHVybiBuLmZyb21NaWxsaXMoZSk7aWYobi5pc0R1cmF0aW9uKGUpKXJldHVybiBlO2lmKHR5cGVvZiBlPT1cXFwib2JqZWN0XFxcIilyZXR1cm4gbi5mcm9tT2JqZWN0KGUpO3Rocm93IG5ldyBmZShgVW5rbm93biBkdXJhdGlvbiBhcmd1bWVudCAke2V9IG9mIHR5cGUgJHt0eXBlb2YgZX1gKX1zdGF0aWMgZnJvbUlTTyhlLHQpe2xldFtyXT11YShlKTtyZXR1cm4gcj9uLmZyb21PYmplY3Qocix0KTpuLmludmFsaWQoXFxcInVucGFyc2FibGVcXFwiLGB0aGUgaW5wdXQgXFxcIiR7ZX1cXFwiIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApfXN0YXRpYyBmcm9tSVNPVGltZShlLHQpe2xldFtyXT1sYShlKTtyZXR1cm4gcj9uLmZyb21PYmplY3Qocix0KTpuLmludmFsaWQoXFxcInVucGFyc2FibGVcXFwiLGB0aGUgaW5wdXQgXFxcIiR7ZX1cXFwiIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApfXN0YXRpYyBpbnZhbGlkKGUsdD1udWxsKXtpZighZSl0aHJvdyBuZXcgZmUoXFxcIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgRHVyYXRpb24gaXMgaW52YWxpZFxcXCIpO2xldCByPWUgaW5zdGFuY2VvZiBkZT9lOm5ldyBkZShlLHQpO2lmKFgudGhyb3dPbkludmFsaWQpdGhyb3cgbmV3IFdyKHIpO3JldHVybiBuZXcgbih7aW52YWxpZDpyfSl9c3RhdGljIG5vcm1hbGl6ZVVuaXQoZSl7bGV0IHQ9e3llYXI6XFxcInllYXJzXFxcIix5ZWFyczpcXFwieWVhcnNcXFwiLHF1YXJ0ZXI6XFxcInF1YXJ0ZXJzXFxcIixxdWFydGVyczpcXFwicXVhcnRlcnNcXFwiLG1vbnRoOlxcXCJtb250aHNcXFwiLG1vbnRoczpcXFwibW9udGhzXFxcIix3ZWVrOlxcXCJ3ZWVrc1xcXCIsd2Vla3M6XFxcIndlZWtzXFxcIixkYXk6XFxcImRheXNcXFwiLGRheXM6XFxcImRheXNcXFwiLGhvdXI6XFxcImhvdXJzXFxcIixob3VyczpcXFwiaG91cnNcXFwiLG1pbnV0ZTpcXFwibWludXRlc1xcXCIsbWludXRlczpcXFwibWludXRlc1xcXCIsc2Vjb25kOlxcXCJzZWNvbmRzXFxcIixzZWNvbmRzOlxcXCJzZWNvbmRzXFxcIixtaWxsaXNlY29uZDpcXFwibWlsbGlzZWNvbmRzXFxcIixtaWxsaXNlY29uZHM6XFxcIm1pbGxpc2Vjb25kc1xcXCJ9W2UmJmUudG9Mb3dlckNhc2UoKV07aWYoIXQpdGhyb3cgbmV3IHNuKGUpO3JldHVybiB0fXN0YXRpYyBpc0R1cmF0aW9uKGUpe3JldHVybiBlJiZlLmlzTHV4b25EdXJhdGlvbnx8ITF9Z2V0IGxvY2FsZSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5sb2MubG9jYWxlOm51bGx9Z2V0IG51bWJlcmluZ1N5c3RlbSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtOm51bGx9dG9Gb3JtYXQoZSx0PXt9KXtsZXQgcj15ZShSKHt9LHQpLHtmbG9vcjp0LnJvdW5kIT09ITEmJnQuZmxvb3IhPT0hMX0pO3JldHVybiB0aGlzLmlzVmFsaWQ/d2UuY3JlYXRlKHRoaXMubG9jLHIpLmZvcm1hdER1cmF0aW9uRnJvbVN0cmluZyh0aGlzLGUpOnljfXRvSHVtYW4oZT17fSl7bGV0IHQ9S3QubWFwKHI9PntsZXQgcz10aGlzLnZhbHVlc1tyXTtyZXR1cm4gVyhzKT9udWxsOnRoaXMubG9jLm51bWJlckZvcm1hdHRlcih5ZShSKHtzdHlsZTpcXFwidW5pdFxcXCIsdW5pdERpc3BsYXk6XFxcImxvbmdcXFwifSxlKSx7dW5pdDpyLnNsaWNlKDAsLTEpfSkpLmZvcm1hdChzKX0pLmZpbHRlcihyPT5yKTtyZXR1cm4gdGhpcy5sb2MubGlzdEZvcm1hdHRlcihSKHt0eXBlOlxcXCJjb25qdW5jdGlvblxcXCIsc3R5bGU6ZS5saXN0U3R5bGV8fFxcXCJuYXJyb3dcXFwifSxlKSkuZm9ybWF0KHQpfXRvT2JqZWN0KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9SKHt9LHRoaXMudmFsdWVzKTp7fX10b0lTTygpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIG51bGw7bGV0IGU9XFxcIlBcXFwiO3JldHVybiB0aGlzLnllYXJzIT09MCYmKGUrPXRoaXMueWVhcnMrXFxcIllcXFwiKSwodGhpcy5tb250aHMhPT0wfHx0aGlzLnF1YXJ0ZXJzIT09MCkmJihlKz10aGlzLm1vbnRocyt0aGlzLnF1YXJ0ZXJzKjMrXFxcIk1cXFwiKSx0aGlzLndlZWtzIT09MCYmKGUrPXRoaXMud2Vla3MrXFxcIldcXFwiKSx0aGlzLmRheXMhPT0wJiYoZSs9dGhpcy5kYXlzK1xcXCJEXFxcIiksKHRoaXMuaG91cnMhPT0wfHx0aGlzLm1pbnV0ZXMhPT0wfHx0aGlzLnNlY29uZHMhPT0wfHx0aGlzLm1pbGxpc2Vjb25kcyE9PTApJiYoZSs9XFxcIlRcXFwiKSx0aGlzLmhvdXJzIT09MCYmKGUrPXRoaXMuaG91cnMrXFxcIkhcXFwiKSx0aGlzLm1pbnV0ZXMhPT0wJiYoZSs9dGhpcy5taW51dGVzK1xcXCJNXFxcIiksKHRoaXMuc2Vjb25kcyE9PTB8fHRoaXMubWlsbGlzZWNvbmRzIT09MCkmJihlKz1hbih0aGlzLnNlY29uZHMrdGhpcy5taWxsaXNlY29uZHMvMWUzLDMpK1xcXCJTXFxcIiksZT09PVxcXCJQXFxcIiYmKGUrPVxcXCJUMFNcXFwiKSxlfXRvSVNPVGltZShlPXt9KXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiBudWxsO2xldCB0PXRoaXMudG9NaWxsaXMoKTtpZih0PDB8fHQ+PTg2NGU1KXJldHVybiBudWxsO2U9Uih7c3VwcHJlc3NNaWxsaXNlY29uZHM6ITEsc3VwcHJlc3NTZWNvbmRzOiExLGluY2x1ZGVQcmVmaXg6ITEsZm9ybWF0OlxcXCJleHRlbmRlZFxcXCJ9LGUpO2xldCByPXRoaXMuc2hpZnRUbyhcXFwiaG91cnNcXFwiLFxcXCJtaW51dGVzXFxcIixcXFwic2Vjb25kc1xcXCIsXFxcIm1pbGxpc2Vjb25kc1xcXCIpLHM9ZS5mb3JtYXQ9PT1cXFwiYmFzaWNcXFwiP1xcXCJoaG1tXFxcIjpcXFwiaGg6bW1cXFwiOyghZS5zdXBwcmVzc1NlY29uZHN8fHIuc2Vjb25kcyE9PTB8fHIubWlsbGlzZWNvbmRzIT09MCkmJihzKz1lLmZvcm1hdD09PVxcXCJiYXNpY1xcXCI/XFxcInNzXFxcIjpcXFwiOnNzXFxcIiwoIWUuc3VwcHJlc3NNaWxsaXNlY29uZHN8fHIubWlsbGlzZWNvbmRzIT09MCkmJihzKz1cXFwiLlNTU1xcXCIpKTtsZXQgaT1yLnRvRm9ybWF0KHMpO3JldHVybiBlLmluY2x1ZGVQcmVmaXgmJihpPVxcXCJUXFxcIitpKSxpfXRvSlNPTigpe3JldHVybiB0aGlzLnRvSVNPKCl9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy50b0lTTygpfXRvTWlsbGlzKCl7cmV0dXJuIHRoaXMuYXMoXFxcIm1pbGxpc2Vjb25kc1xcXCIpfXZhbHVlT2YoKXtyZXR1cm4gdGhpcy50b01pbGxpcygpfXBsdXMoZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztsZXQgdD1uLmZyb21EdXJhdGlvbkxpa2UoZSkscj17fTtmb3IobGV0IHMgb2YgS3QpKGt0KHQudmFsdWVzLHMpfHxrdCh0aGlzLnZhbHVlcyxzKSkmJihyW3NdPXQuZ2V0KHMpK3RoaXMuZ2V0KHMpKTtyZXR1cm4gVXQodGhpcyx7dmFsdWVzOnJ9LCEwKX1taW51cyhlKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2xldCB0PW4uZnJvbUR1cmF0aW9uTGlrZShlKTtyZXR1cm4gdGhpcy5wbHVzKHQubmVnYXRlKCkpfW1hcFVuaXRzKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IHQ9e307Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKHRoaXMudmFsdWVzKSl0W3JdPWVpKGUodGhpcy52YWx1ZXNbcl0scikpO3JldHVybiBVdCh0aGlzLHt2YWx1ZXM6dH0sITApfWdldChlKXtyZXR1cm4gdGhpc1tuLm5vcm1hbGl6ZVVuaXQoZSldfXNldChlKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2xldCB0PVIoUih7fSx0aGlzLnZhbHVlcyksY24oZSxuLm5vcm1hbGl6ZVVuaXQpKTtyZXR1cm4gVXQodGhpcyx7dmFsdWVzOnR9KX1yZWNvbmZpZ3VyZSh7bG9jYWxlOmUsbnVtYmVyaW5nU3lzdGVtOnQsY29udmVyc2lvbkFjY3VyYWN5OnJ9PXt9KXtsZXQgcz10aGlzLmxvYy5jbG9uZSh7bG9jYWxlOmUsbnVtYmVyaW5nU3lzdGVtOnR9KSxpPXtsb2M6c307cmV0dXJuIHImJihpLmNvbnZlcnNpb25BY2N1cmFjeT1yKSxVdCh0aGlzLGkpfWFzKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5zaGlmdFRvKGUpLmdldChlKTpOYU59bm9ybWFsaXplKCl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztsZXQgZT10aGlzLnRvT2JqZWN0KCk7cmV0dXJuIHdjKHRoaXMubWF0cml4LGUpLFV0KHRoaXMse3ZhbHVlczplfSwhMCl9c2hpZnRUbyguLi5lKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2lmKGUubGVuZ3RoPT09MClyZXR1cm4gdGhpcztlPWUubWFwKG89Pm4ubm9ybWFsaXplVW5pdChvKSk7bGV0IHQ9e30scj17fSxzPXRoaXMudG9PYmplY3QoKSxpO2ZvcihsZXQgbyBvZiBLdClpZihlLmluZGV4T2Yobyk+PTApe2k9bztsZXQgYT0wO2ZvcihsZXQgbCBpbiByKWErPXRoaXMubWF0cml4W2xdW29dKnJbbF0scltsXT0wO3R0KHNbb10pJiYoYSs9c1tvXSk7bGV0IHU9TWF0aC50cnVuYyhhKTt0W29dPXUscltvXT0oYSoxZTMtdSoxZTMpLzFlMztmb3IobGV0IGwgaW4gcylLdC5pbmRleE9mKGwpPkt0LmluZGV4T2YobykmJmRhKHRoaXMubWF0cml4LHMsbCx0LG8pfWVsc2UgdHQoc1tvXSkmJihyW29dPXNbb10pO2ZvcihsZXQgbyBpbiByKXJbb10hPT0wJiYodFtpXSs9bz09PWk/cltvXTpyW29dL3RoaXMubWF0cml4W2ldW29dKTtyZXR1cm4gVXQodGhpcyx7dmFsdWVzOnR9LCEwKS5ub3JtYWxpemUoKX1uZWdhdGUoKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiB0aGlzO2xldCBlPXt9O2ZvcihsZXQgdCBvZiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykpZVt0XT10aGlzLnZhbHVlc1t0XT09PTA/MDotdGhpcy52YWx1ZXNbdF07cmV0dXJuIFV0KHRoaXMse3ZhbHVlczplfSwhMCl9Z2V0IHllYXJzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy55ZWFyc3x8MDpOYU59Z2V0IHF1YXJ0ZXJzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy5xdWFydGVyc3x8MDpOYU59Z2V0IG1vbnRocygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMubW9udGhzfHwwOk5hTn1nZXQgd2Vla3MoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudmFsdWVzLndlZWtzfHwwOk5hTn1nZXQgZGF5cygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy52YWx1ZXMuZGF5c3x8MDpOYU59Z2V0IGhvdXJzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy5ob3Vyc3x8MDpOYU59Z2V0IG1pbnV0ZXMoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudmFsdWVzLm1pbnV0ZXN8fDA6TmFOfWdldCBzZWNvbmRzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy5zZWNvbmRzfHwwOk5hTn1nZXQgbWlsbGlzZWNvbmRzKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnZhbHVlcy5taWxsaXNlY29uZHN8fDA6TmFOfWdldCBpc1ZhbGlkKCl7cmV0dXJuIHRoaXMuaW52YWxpZD09PW51bGx9Z2V0IGludmFsaWRSZWFzb24oKXtyZXR1cm4gdGhpcy5pbnZhbGlkP3RoaXMuaW52YWxpZC5yZWFzb246bnVsbH1nZXQgaW52YWxpZEV4cGxhbmF0aW9uKCl7cmV0dXJuIHRoaXMuaW52YWxpZD90aGlzLmludmFsaWQuZXhwbGFuYXRpb246bnVsbH1lcXVhbHMoZSl7aWYoIXRoaXMuaXNWYWxpZHx8IWUuaXNWYWxpZHx8IXRoaXMubG9jLmVxdWFscyhlLmxvYykpcmV0dXJuITE7ZnVuY3Rpb24gdChyLHMpe3JldHVybiByPT09dm9pZCAwfHxyPT09MD9zPT09dm9pZCAwfHxzPT09MDpyPT09c31mb3IobGV0IHIgb2YgS3QpaWYoIXQodGhpcy52YWx1ZXNbcl0sZS52YWx1ZXNbcl0pKXJldHVybiExO3JldHVybiEwfX07dmFyIGZyPVxcXCJJbnZhbGlkIEludGVydmFsXFxcIjtmdW5jdGlvbiBUYyhuLGUpe3JldHVybiFufHwhbi5pc1ZhbGlkP3l0LmludmFsaWQoXFxcIm1pc3Npbmcgb3IgaW52YWxpZCBzdGFydFxcXCIpOiFlfHwhZS5pc1ZhbGlkP3l0LmludmFsaWQoXFxcIm1pc3Npbmcgb3IgaW52YWxpZCBlbmRcXFwiKTplPG4/eXQuaW52YWxpZChcXFwiZW5kIGJlZm9yZSBzdGFydFxcXCIsYFRoZSBlbmQgb2YgYW4gaW50ZXJ2YWwgbXVzdCBiZSBhZnRlciBpdHMgc3RhcnQsIGJ1dCB5b3UgaGFkIHN0YXJ0PSR7bi50b0lTTygpfSBhbmQgZW5kPSR7ZS50b0lTTygpfWApOm51bGx9dmFyIHl0PWNsYXNzIG57Y29uc3RydWN0b3IoZSl7dGhpcy5zPWUuc3RhcnQsdGhpcy5lPWUuZW5kLHRoaXMuaW52YWxpZD1lLmludmFsaWR8fG51bGwsdGhpcy5pc0x1eG9uSW50ZXJ2YWw9ITB9c3RhdGljIGludmFsaWQoZSx0PW51bGwpe2lmKCFlKXRocm93IG5ldyBmZShcXFwibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBJbnRlcnZhbCBpcyBpbnZhbGlkXFxcIik7bGV0IHI9ZSBpbnN0YW5jZW9mIGRlP2U6bmV3IGRlKGUsdCk7aWYoWC50aHJvd09uSW52YWxpZCl0aHJvdyBuZXcgS3Iocik7cmV0dXJuIG5ldyBuKHtpbnZhbGlkOnJ9KX1zdGF0aWMgZnJvbURhdGVUaW1lcyhlLHQpe2xldCByPWJuKGUpLHM9Ym4odCksaT1UYyhyLHMpO3JldHVybiBpPT1udWxsP25ldyBuKHtzdGFydDpyLGVuZDpzfSk6aX1zdGF0aWMgYWZ0ZXIoZSx0KXtsZXQgcj1CLmZyb21EdXJhdGlvbkxpa2UodCkscz1ibihlKTtyZXR1cm4gbi5mcm9tRGF0ZVRpbWVzKHMscy5wbHVzKHIpKX1zdGF0aWMgYmVmb3JlKGUsdCl7bGV0IHI9Qi5mcm9tRHVyYXRpb25MaWtlKHQpLHM9Ym4oZSk7cmV0dXJuIG4uZnJvbURhdGVUaW1lcyhzLm1pbnVzKHIpLHMpfXN0YXRpYyBmcm9tSVNPKGUsdCl7bGV0W3Isc109KGV8fFxcXCJcXFwiKS5zcGxpdChcXFwiL1xcXCIsMik7aWYociYmcyl7bGV0IGksbzt0cnl7aT1xLmZyb21JU08ocix0KSxvPWkuaXNWYWxpZH1jYXRjaChsKXtvPSExfWxldCBhLHU7dHJ5e2E9cS5mcm9tSVNPKHMsdCksdT1hLmlzVmFsaWR9Y2F0Y2gobCl7dT0hMX1pZihvJiZ1KXJldHVybiBuLmZyb21EYXRlVGltZXMoaSxhKTtpZihvKXtsZXQgbD1CLmZyb21JU08ocyx0KTtpZihsLmlzVmFsaWQpcmV0dXJuIG4uYWZ0ZXIoaSxsKX1lbHNlIGlmKHUpe2xldCBsPUIuZnJvbUlTTyhyLHQpO2lmKGwuaXNWYWxpZClyZXR1cm4gbi5iZWZvcmUoYSxsKX19cmV0dXJuIG4uaW52YWxpZChcXFwidW5wYXJzYWJsZVxcXCIsYHRoZSBpbnB1dCBcXFwiJHtlfVxcXCIgY2FuJ3QgYmUgcGFyc2VkIGFzIElTTyA4NjAxYCl9c3RhdGljIGlzSW50ZXJ2YWwoZSl7cmV0dXJuIGUmJmUuaXNMdXhvbkludGVydmFsfHwhMX1nZXQgc3RhcnQoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuczpudWxsfWdldCBlbmQoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuZTpudWxsfWdldCBpc1ZhbGlkKCl7cmV0dXJuIHRoaXMuaW52YWxpZFJlYXNvbj09PW51bGx9Z2V0IGludmFsaWRSZWFzb24oKXtyZXR1cm4gdGhpcy5pbnZhbGlkP3RoaXMuaW52YWxpZC5yZWFzb246bnVsbH1nZXQgaW52YWxpZEV4cGxhbmF0aW9uKCl7cmV0dXJuIHRoaXMuaW52YWxpZD90aGlzLmludmFsaWQuZXhwbGFuYXRpb246bnVsbH1sZW5ndGgoZT1cXFwibWlsbGlzZWNvbmRzXFxcIil7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnRvRHVyYXRpb24oZSkuZ2V0KGUpOk5hTn1jb3VudChlPVxcXCJtaWxsaXNlY29uZHNcXFwiKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiBOYU47bGV0IHQ9dGhpcy5zdGFydC5zdGFydE9mKGUpLHI9dGhpcy5lbmQuc3RhcnRPZihlKTtyZXR1cm4gTWF0aC5mbG9vcihyLmRpZmYodCxlKS5nZXQoZSkpKzF9aGFzU2FtZShlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuaXNFbXB0eSgpfHx0aGlzLmUubWludXMoMSkuaGFzU2FtZSh0aGlzLnMsZSk6ITF9aXNFbXB0eSgpe3JldHVybiB0aGlzLnMudmFsdWVPZigpPT09dGhpcy5lLnZhbHVlT2YoKX1pc0FmdGVyKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5zPmU6ITF9aXNCZWZvcmUoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmU8PWU6ITF9Y29udGFpbnMoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnM8PWUmJnRoaXMuZT5lOiExfXNldCh7c3RhcnQ6ZSxlbmQ6dH09e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/bi5mcm9tRGF0ZVRpbWVzKGV8fHRoaXMucyx0fHx0aGlzLmUpOnRoaXN9c3BsaXRBdCguLi5lKXtpZighdGhpcy5pc1ZhbGlkKXJldHVybltdO2xldCB0PWUubWFwKGJuKS5maWx0ZXIobz0+dGhpcy5jb250YWlucyhvKSkuc29ydCgpLHI9W10se3N9PXRoaXMsaT0wO2Zvcig7czx0aGlzLmU7KXtsZXQgbz10W2ldfHx0aGlzLmUsYT0rbz4rdGhpcy5lP3RoaXMuZTpvO3IucHVzaChuLmZyb21EYXRlVGltZXMocyxhKSkscz1hLGkrPTF9cmV0dXJuIHJ9c3BsaXRCeShlKXtsZXQgdD1CLmZyb21EdXJhdGlvbkxpa2UoZSk7aWYoIXRoaXMuaXNWYWxpZHx8IXQuaXNWYWxpZHx8dC5hcyhcXFwibWlsbGlzZWNvbmRzXFxcIik9PT0wKXJldHVybltdO2xldHtzOnJ9PXRoaXMscz0xLGksbz1bXTtmb3IoO3I8dGhpcy5lOyl7bGV0IGE9dGhpcy5zdGFydC5wbHVzKHQubWFwVW5pdHModT0+dSpzKSk7aT0rYT4rdGhpcy5lP3RoaXMuZTphLG8ucHVzaChuLmZyb21EYXRlVGltZXMocixpKSkscj1pLHMrPTF9cmV0dXJuIG99ZGl2aWRlRXF1YWxseShlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuc3BsaXRCeSh0aGlzLmxlbmd0aCgpL2UpLnNsaWNlKDAsZSk6W119b3ZlcmxhcHMoZSl7cmV0dXJuIHRoaXMuZT5lLnMmJnRoaXMuczxlLmV9YWJ1dHNTdGFydChlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkPyt0aGlzLmU9PStlLnM6ITF9YWJ1dHNFbmQoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD8rZS5lPT0rdGhpcy5zOiExfWVuZ3VsZnMoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnM8PWUucyYmdGhpcy5lPj1lLmU6ITF9ZXF1YWxzKGUpe3JldHVybiF0aGlzLmlzVmFsaWR8fCFlLmlzVmFsaWQ/ITE6dGhpcy5zLmVxdWFscyhlLnMpJiZ0aGlzLmUuZXF1YWxzKGUuZSl9aW50ZXJzZWN0aW9uKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IHQ9dGhpcy5zPmUucz90aGlzLnM6ZS5zLHI9dGhpcy5lPGUuZT90aGlzLmU6ZS5lO3JldHVybiB0Pj1yP251bGw6bi5mcm9tRGF0ZVRpbWVzKHQscil9dW5pb24oZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztsZXQgdD10aGlzLnM8ZS5zP3RoaXMuczplLnMscj10aGlzLmU+ZS5lP3RoaXMuZTplLmU7cmV0dXJuIG4uZnJvbURhdGVUaW1lcyh0LHIpfXN0YXRpYyBtZXJnZShlKXtsZXRbdCxyXT1lLnNvcnQoKHMsaSk9PnMucy1pLnMpLnJlZHVjZSgoW3MsaV0sbyk9Pmk/aS5vdmVybGFwcyhvKXx8aS5hYnV0c1N0YXJ0KG8pP1tzLGkudW5pb24obyldOltzLmNvbmNhdChbaV0pLG9dOltzLG9dLFtbXSxudWxsXSk7cmV0dXJuIHImJnQucHVzaChyKSx0fXN0YXRpYyB4b3IoZSl7bGV0IHQ9bnVsbCxyPTAscz1bXSxpPWUubWFwKHU9Plt7dGltZTp1LnMsdHlwZTpcXFwic1xcXCJ9LHt0aW1lOnUuZSx0eXBlOlxcXCJlXFxcIn1dKSxvPUFycmF5LnByb3RvdHlwZS5jb25jYXQoLi4uaSksYT1vLnNvcnQoKHUsbCk9PnUudGltZS1sLnRpbWUpO2ZvcihsZXQgdSBvZiBhKXIrPXUudHlwZT09PVxcXCJzXFxcIj8xOi0xLHI9PT0xP3Q9dS50aW1lOih0JiYrdCE9K3UudGltZSYmcy5wdXNoKG4uZnJvbURhdGVUaW1lcyh0LHUudGltZSkpLHQ9bnVsbCk7cmV0dXJuIG4ubWVyZ2Uocyl9ZGlmZmVyZW5jZSguLi5lKXtyZXR1cm4gbi54b3IoW3RoaXNdLmNvbmNhdChlKSkubWFwKHQ9PnRoaXMuaW50ZXJzZWN0aW9uKHQpKS5maWx0ZXIodD0+dCYmIXQuaXNFbXB0eSgpKX10b1N0cmluZygpe3JldHVybiB0aGlzLmlzVmFsaWQ/YFske3RoaXMucy50b0lTTygpfSBcXFxcdTIwMTMgJHt0aGlzLmUudG9JU08oKX0pYDpmcn10b0lTTyhlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2Ake3RoaXMucy50b0lTTyhlKX0vJHt0aGlzLmUudG9JU08oZSl9YDpmcn10b0lTT0RhdGUoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2Ake3RoaXMucy50b0lTT0RhdGUoKX0vJHt0aGlzLmUudG9JU09EYXRlKCl9YDpmcn10b0lTT1RpbWUoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD9gJHt0aGlzLnMudG9JU09UaW1lKGUpfS8ke3RoaXMuZS50b0lTT1RpbWUoZSl9YDpmcn10b0Zvcm1hdChlLHtzZXBhcmF0b3I6dD1cXFwiIFxcXFx1MjAxMyBcXFwifT17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD9gJHt0aGlzLnMudG9Gb3JtYXQoZSl9JHt0fSR7dGhpcy5lLnRvRm9ybWF0KGUpfWA6ZnJ9dG9EdXJhdGlvbihlLHQpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5lLmRpZmYodGhpcy5zLGUsdCk6Qi5pbnZhbGlkKHRoaXMuaW52YWxpZFJlYXNvbil9bWFwRW5kcG9pbnRzKGUpe3JldHVybiBuLmZyb21EYXRlVGltZXMoZSh0aGlzLnMpLGUodGhpcy5lKSl9fTt2YXIgZ3Q9Y2xhc3N7c3RhdGljIGhhc0RTVChlPVguZGVmYXVsdFpvbmUpe2xldCB0PXEubm93KCkuc2V0Wm9uZShlKS5zZXQoe21vbnRoOjEyfSk7cmV0dXJuIWUuaXNVbml2ZXJzYWwmJnQub2Zmc2V0IT09dC5zZXQoe21vbnRoOjZ9KS5vZmZzZXR9c3RhdGljIGlzVmFsaWRJQU5BWm9uZShlKXtyZXR1cm4gZ2UuaXNWYWxpZFpvbmUoZSl9c3RhdGljIG5vcm1hbGl6ZVpvbmUoZSl7cmV0dXJuIFZlKGUsWC5kZWZhdWx0Wm9uZSl9c3RhdGljIG1vbnRocyhlPVxcXCJsb25nXFxcIix7bG9jYWxlOnQ9bnVsbCxudW1iZXJpbmdTeXN0ZW06cj1udWxsLGxvY09iajpzPW51bGwsb3V0cHV0Q2FsZW5kYXI6aT1cXFwiZ3JlZ29yeVxcXCJ9PXt9KXtyZXR1cm4oc3x8bmUuY3JlYXRlKHQscixpKSkubW9udGhzKGUpfXN0YXRpYyBtb250aHNGb3JtYXQoZT1cXFwibG9uZ1xcXCIse2xvY2FsZTp0PW51bGwsbnVtYmVyaW5nU3lzdGVtOnI9bnVsbCxsb2NPYmo6cz1udWxsLG91dHB1dENhbGVuZGFyOmk9XFxcImdyZWdvcnlcXFwifT17fSl7cmV0dXJuKHN8fG5lLmNyZWF0ZSh0LHIsaSkpLm1vbnRocyhlLCEwKX1zdGF0aWMgd2Vla2RheXMoZT1cXFwibG9uZ1xcXCIse2xvY2FsZTp0PW51bGwsbnVtYmVyaW5nU3lzdGVtOnI9bnVsbCxsb2NPYmo6cz1udWxsfT17fSl7cmV0dXJuKHN8fG5lLmNyZWF0ZSh0LHIsbnVsbCkpLndlZWtkYXlzKGUpfXN0YXRpYyB3ZWVrZGF5c0Zvcm1hdChlPVxcXCJsb25nXFxcIix7bG9jYWxlOnQ9bnVsbCxudW1iZXJpbmdTeXN0ZW06cj1udWxsLGxvY09iajpzPW51bGx9PXt9KXtyZXR1cm4oc3x8bmUuY3JlYXRlKHQscixudWxsKSkud2Vla2RheXMoZSwhMCl9c3RhdGljIG1lcmlkaWVtcyh7bG9jYWxlOmU9bnVsbH09e30pe3JldHVybiBuZS5jcmVhdGUoZSkubWVyaWRpZW1zKCl9c3RhdGljIGVyYXMoZT1cXFwic2hvcnRcXFwiLHtsb2NhbGU6dD1udWxsfT17fSl7cmV0dXJuIG5lLmNyZWF0ZSh0LG51bGwsXFxcImdyZWdvcnlcXFwiKS5lcmFzKGUpfXN0YXRpYyBmZWF0dXJlcygpe3JldHVybntyZWxhdGl2ZTpIcigpfX19O2Z1bmN0aW9uIGhhKG4sZSl7bGV0IHQ9cz0+cy50b1VUQygwLHtrZWVwTG9jYWxUaW1lOiEwfSkuc3RhcnRPZihcXFwiZGF5XFxcIikudmFsdWVPZigpLHI9dChlKS10KG4pO3JldHVybiBNYXRoLmZsb29yKEIuZnJvbU1pbGxpcyhyKS5hcyhcXFwiZGF5c1xcXCIpKX1mdW5jdGlvbiBTYyhuLGUsdCl7bGV0IHI9W1tcXFwieWVhcnNcXFwiLChhLHUpPT51LnllYXItYS55ZWFyXSxbXFxcInF1YXJ0ZXJzXFxcIiwoYSx1KT0+dS5xdWFydGVyLWEucXVhcnRlcl0sW1xcXCJtb250aHNcXFwiLChhLHUpPT51Lm1vbnRoLWEubW9udGgrKHUueWVhci1hLnllYXIpKjEyXSxbXFxcIndlZWtzXFxcIiwoYSx1KT0+e2xldCBsPWhhKGEsdSk7cmV0dXJuKGwtbCU3KS83fV0sW1xcXCJkYXlzXFxcIixoYV1dLHM9e30saSxvO2ZvcihsZXRbYSx1XW9mIHIpaWYodC5pbmRleE9mKGEpPj0wKXtpPWE7bGV0IGw9dShuLGUpO289bi5wbHVzKHtbYV06bH0pLG8+ZT8obj1uLnBsdXMoe1thXTpsLTF9KSxsLT0xKTpuPW8sc1thXT1sfXJldHVybltuLHMsbyxpXX1mdW5jdGlvbiBtYShuLGUsdCxyKXtsZXRbcyxpLG8sYV09U2MobixlLHQpLHU9ZS1zLGw9dC5maWx0ZXIoZD0+W1xcXCJob3Vyc1xcXCIsXFxcIm1pbnV0ZXNcXFwiLFxcXCJzZWNvbmRzXFxcIixcXFwibWlsbGlzZWNvbmRzXFxcIl0uaW5kZXhPZihkKT49MCk7bC5sZW5ndGg9PT0wJiYobzxlJiYobz1zLnBsdXMoe1thXToxfSkpLG8hPT1zJiYoaVthXT0oaVthXXx8MCkrdS8oby1zKSkpO2xldCBmPUIuZnJvbU9iamVjdChpLHIpO3JldHVybiBsLmxlbmd0aD4wP0IuZnJvbU1pbGxpcyh1LHIpLnNoaWZ0VG8oLi4ubCkucGx1cyhmKTpmfXZhciB3aT17YXJhYjpcXFwiW1xcXFx1MDY2MC1cXFxcdTA2NjldXFxcIixhcmFiZXh0OlxcXCJbXFxcXHUwNkYwLVxcXFx1MDZGOV1cXFwiLGJhbGk6XFxcIltcXFxcdTFCNTAtXFxcXHUxQjU5XVxcXCIsYmVuZzpcXFwiW1xcXFx1MDlFNi1cXFxcdTA5RUZdXFxcIixkZXZhOlxcXCJbXFxcXHUwOTY2LVxcXFx1MDk2Rl1cXFwiLGZ1bGx3aWRlOlxcXCJbXFxcXHVGRjEwLVxcXFx1RkYxOV1cXFwiLGd1anI6XFxcIltcXFxcdTBBRTYtXFxcXHUwQUVGXVxcXCIsaGFuaWRlYzpcXFwiW1xcXFx1MzAwN3xcXFxcdTRFMDB8XFxcXHU0RThDfFxcXFx1NEUwOXxcXFxcdTU2REJ8XFxcXHU0RTk0fFxcXFx1NTE2RHxcXFxcdTRFMDN8XFxcXHU1MTZCfFxcXFx1NEU1RF1cXFwiLGtobXI6XFxcIltcXFxcdTE3RTAtXFxcXHUxN0U5XVxcXCIsa25kYTpcXFwiW1xcXFx1MENFNi1cXFxcdTBDRUZdXFxcIixsYW9vOlxcXCJbXFxcXHUwRUQwLVxcXFx1MEVEOV1cXFwiLGxpbWI6XFxcIltcXFxcdTE5NDYtXFxcXHUxOTRGXVxcXCIsbWx5bTpcXFwiW1xcXFx1MEQ2Ni1cXFxcdTBENkZdXFxcIixtb25nOlxcXCJbXFxcXHUxODEwLVxcXFx1MTgxOV1cXFwiLG15bXI6XFxcIltcXFxcdTEwNDAtXFxcXHUxMDQ5XVxcXCIsb3J5YTpcXFwiW1xcXFx1MEI2Ni1cXFxcdTBCNkZdXFxcIix0YW1sZGVjOlxcXCJbXFxcXHUwQkU2LVxcXFx1MEJFRl1cXFwiLHRlbHU6XFxcIltcXFxcdTBDNjYtXFxcXHUwQzZGXVxcXCIsdGhhaTpcXFwiW1xcXFx1MEU1MC1cXFxcdTBFNTldXFxcIix0aWJ0OlxcXCJbXFxcXHUwRjIwLVxcXFx1MEYyOV1cXFwiLGxhdG46XFxcIlxcXFxcXFxcZFxcXCJ9LHBhPXthcmFiOlsxNjMyLDE2NDFdLGFyYWJleHQ6WzE3NzYsMTc4NV0sYmFsaTpbNjk5Miw3MDAxXSxiZW5nOlsyNTM0LDI1NDNdLGRldmE6WzI0MDYsMjQxNV0sZnVsbHdpZGU6WzY1Mjk2LDY1MzAzXSxndWpyOlsyNzkwLDI3OTldLGtobXI6WzYxMTIsNjEyMV0sa25kYTpbMzMwMiwzMzExXSxsYW9vOlszNzkyLDM4MDFdLGxpbWI6WzY0NzAsNjQ3OV0sbWx5bTpbMzQzMCwzNDM5XSxtb25nOls2MTYwLDYxNjldLG15bXI6WzQxNjAsNDE2OV0sb3J5YTpbMjkxOCwyOTI3XSx0YW1sZGVjOlszMDQ2LDMwNTVdLHRlbHU6WzMxNzQsMzE4M10sdGhhaTpbMzY2NCwzNjczXSx0aWJ0OlszODcyLDM4ODFdfSxrYz13aS5oYW5pZGVjLnJlcGxhY2UoL1tcXFxcW3xcXFxcXV0vZyxcXFwiXFxcIikuc3BsaXQoXFxcIlxcXCIpO2Z1bmN0aW9uIERhKG4pe2xldCBlPXBhcnNlSW50KG4sMTApO2lmKGlzTmFOKGUpKXtlPVxcXCJcXFwiO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtsZXQgcj1uLmNoYXJDb2RlQXQodCk7aWYoblt0XS5zZWFyY2god2kuaGFuaWRlYykhPT0tMSllKz1rYy5pbmRleE9mKG5bdF0pO2Vsc2UgZm9yKGxldCBzIGluIHBhKXtsZXRbaSxvXT1wYVtzXTtyPj1pJiZyPD1vJiYoZSs9ci1pKX19cmV0dXJuIHBhcnNlSW50KGUsMTApfWVsc2UgcmV0dXJuIGV9ZnVuY3Rpb24gX2Uoe251bWJlcmluZ1N5c3RlbTpufSxlPVxcXCJcXFwiKXtyZXR1cm4gbmV3IFJlZ0V4cChgJHt3aVtufHxcXFwibGF0blxcXCJdfSR7ZX1gKX12YXIgQ2M9XFxcIm1pc3NpbmcgSW50bC5EYXRlVGltZUZvcm1hdC5mb3JtYXRUb1BhcnRzIHN1cHBvcnRcXFwiO2Z1bmN0aW9uIEcobixlPXQ9PnQpe3JldHVybntyZWdleDpuLGRlc2VyOihbdF0pPT5lKERhKHQpKX19dmFyIHZjPVxcXCJcXFxceEEwXFxcIixiYT1gWyAke3ZjfV1gLEZhPW5ldyBSZWdFeHAoYmEsXFxcImdcXFwiKTtmdW5jdGlvbiB4YyhuKXtyZXR1cm4gbi5yZXBsYWNlKC9cXFxcLi9nLFxcXCJcXFxcXFxcXC4/XFxcIikucmVwbGFjZShGYSxiYSl9ZnVuY3Rpb24geWEobil7cmV0dXJuIG4ucmVwbGFjZSgvXFxcXC4vZyxcXFwiXFxcIikucmVwbGFjZShGYSxcXFwiIFxcXCIpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gVWUobixlKXtyZXR1cm4gbj09PW51bGw/bnVsbDp7cmVnZXg6UmVnRXhwKG4ubWFwKHhjKS5qb2luKFxcXCJ8XFxcIikpLGRlc2VyOihbdF0pPT5uLmZpbmRJbmRleChyPT55YSh0KT09PXlhKHIpKStlfX1mdW5jdGlvbiBnYShuLGUpe3JldHVybntyZWdleDpuLGRlc2VyOihbLHQscl0pPT5WdCh0LHIpLGdyb3VwczplfX1mdW5jdGlvbiBUaShuKXtyZXR1cm57cmVnZXg6bixkZXNlcjooW2VdKT0+ZX19ZnVuY3Rpb24gT2Mobil7cmV0dXJuIG4ucmVwbGFjZSgvW1xcXFwtXFxcXFtcXFxcXXt9KCkqKz8uLFxcXFxcXFxcXFxcXF4kfCNcXFxcc10vZyxcXFwiXFxcXFxcXFwkJlxcXCIpfWZ1bmN0aW9uIEljKG4sZSl7bGV0IHQ9X2UoZSkscj1fZShlLFxcXCJ7Mn1cXFwiKSxzPV9lKGUsXFxcInszfVxcXCIpLGk9X2UoZSxcXFwiezR9XFxcIiksbz1fZShlLFxcXCJ7Nn1cXFwiKSxhPV9lKGUsXFxcInsxLDJ9XFxcIiksdT1fZShlLFxcXCJ7MSwzfVxcXCIpLGw9X2UoZSxcXFwiezEsNn1cXFwiKSxmPV9lKGUsXFxcInsxLDl9XFxcIiksZD1fZShlLFxcXCJ7Miw0fVxcXCIpLG09X2UoZSxcXFwiezQsNn1cXFwiKSxoPUQ9Pih7cmVnZXg6UmVnRXhwKE9jKEQudmFsKSksZGVzZXI6KFtUXSk9PlQsbGl0ZXJhbDohMH0pLGc9KEQ9PntpZihuLmxpdGVyYWwpcmV0dXJuIGgoRCk7c3dpdGNoKEQudmFsKXtjYXNlXFxcIkdcXFwiOnJldHVybiBVZShlLmVyYXMoXFxcInNob3J0XFxcIiwhMSksMCk7Y2FzZVxcXCJHR1xcXCI6cmV0dXJuIFVlKGUuZXJhcyhcXFwibG9uZ1xcXCIsITEpLDApO2Nhc2VcXFwieVxcXCI6cmV0dXJuIEcobCk7Y2FzZVxcXCJ5eVxcXCI6cmV0dXJuIEcoZCxvcik7Y2FzZVxcXCJ5eXl5XFxcIjpyZXR1cm4gRyhpKTtjYXNlXFxcInl5eXl5XFxcIjpyZXR1cm4gRyhtKTtjYXNlXFxcInl5eXl5eVxcXCI6cmV0dXJuIEcobyk7Y2FzZVxcXCJNXFxcIjpyZXR1cm4gRyhhKTtjYXNlXFxcIk1NXFxcIjpyZXR1cm4gRyhyKTtjYXNlXFxcIk1NTVxcXCI6cmV0dXJuIFVlKGUubW9udGhzKFxcXCJzaG9ydFxcXCIsITAsITEpLDEpO2Nhc2VcXFwiTU1NTVxcXCI6cmV0dXJuIFVlKGUubW9udGhzKFxcXCJsb25nXFxcIiwhMCwhMSksMSk7Y2FzZVxcXCJMXFxcIjpyZXR1cm4gRyhhKTtjYXNlXFxcIkxMXFxcIjpyZXR1cm4gRyhyKTtjYXNlXFxcIkxMTFxcXCI6cmV0dXJuIFVlKGUubW9udGhzKFxcXCJzaG9ydFxcXCIsITEsITEpLDEpO2Nhc2VcXFwiTExMTFxcXCI6cmV0dXJuIFVlKGUubW9udGhzKFxcXCJsb25nXFxcIiwhMSwhMSksMSk7Y2FzZVxcXCJkXFxcIjpyZXR1cm4gRyhhKTtjYXNlXFxcImRkXFxcIjpyZXR1cm4gRyhyKTtjYXNlXFxcIm9cXFwiOnJldHVybiBHKHUpO2Nhc2VcXFwib29vXFxcIjpyZXR1cm4gRyhzKTtjYXNlXFxcIkhIXFxcIjpyZXR1cm4gRyhyKTtjYXNlXFxcIkhcXFwiOnJldHVybiBHKGEpO2Nhc2VcXFwiaGhcXFwiOnJldHVybiBHKHIpO2Nhc2VcXFwiaFxcXCI6cmV0dXJuIEcoYSk7Y2FzZVxcXCJtbVxcXCI6cmV0dXJuIEcocik7Y2FzZVxcXCJtXFxcIjpyZXR1cm4gRyhhKTtjYXNlXFxcInFcXFwiOnJldHVybiBHKGEpO2Nhc2VcXFwicXFcXFwiOnJldHVybiBHKHIpO2Nhc2VcXFwic1xcXCI6cmV0dXJuIEcoYSk7Y2FzZVxcXCJzc1xcXCI6cmV0dXJuIEcocik7Y2FzZVxcXCJTXFxcIjpyZXR1cm4gRyh1KTtjYXNlXFxcIlNTU1xcXCI6cmV0dXJuIEcocyk7Y2FzZVxcXCJ1XFxcIjpyZXR1cm4gVGkoZik7Y2FzZVxcXCJ1dVxcXCI6cmV0dXJuIFRpKGEpO2Nhc2VcXFwidXV1XFxcIjpyZXR1cm4gRyh0KTtjYXNlXFxcImFcXFwiOnJldHVybiBVZShlLm1lcmlkaWVtcygpLDApO2Nhc2VcXFwia2tra1xcXCI6cmV0dXJuIEcoaSk7Y2FzZVxcXCJra1xcXCI6cmV0dXJuIEcoZCxvcik7Y2FzZVxcXCJXXFxcIjpyZXR1cm4gRyhhKTtjYXNlXFxcIldXXFxcIjpyZXR1cm4gRyhyKTtjYXNlXFxcIkVcXFwiOmNhc2VcXFwiY1xcXCI6cmV0dXJuIEcodCk7Y2FzZVxcXCJFRUVcXFwiOnJldHVybiBVZShlLndlZWtkYXlzKFxcXCJzaG9ydFxcXCIsITEsITEpLDEpO2Nhc2VcXFwiRUVFRVxcXCI6cmV0dXJuIFVlKGUud2Vla2RheXMoXFxcImxvbmdcXFwiLCExLCExKSwxKTtjYXNlXFxcImNjY1xcXCI6cmV0dXJuIFVlKGUud2Vla2RheXMoXFxcInNob3J0XFxcIiwhMCwhMSksMSk7Y2FzZVxcXCJjY2NjXFxcIjpyZXR1cm4gVWUoZS53ZWVrZGF5cyhcXFwibG9uZ1xcXCIsITAsITEpLDEpO2Nhc2VcXFwiWlxcXCI6Y2FzZVxcXCJaWlxcXCI6cmV0dXJuIGdhKG5ldyBSZWdFeHAoYChbKy1dJHthLnNvdXJjZX0pKD86Oigke3Iuc291cmNlfSkpP2ApLDIpO2Nhc2VcXFwiWlpaXFxcIjpyZXR1cm4gZ2EobmV3IFJlZ0V4cChgKFsrLV0ke2Euc291cmNlfSkoJHtyLnNvdXJjZX0pP2ApLDIpO2Nhc2VcXFwielxcXCI6cmV0dXJuIFRpKC9bYS16XystL117MSwyNTZ9Py9pKTtkZWZhdWx0OnJldHVybiBoKEQpfX0pKG4pfHx7aW52YWxpZFJlYXNvbjpDY307cmV0dXJuIGcudG9rZW49bixnfXZhciBMYz17eWVhcjp7XFxcIjItZGlnaXRcXFwiOlxcXCJ5eVxcXCIsbnVtZXJpYzpcXFwieXl5eXlcXFwifSxtb250aDp7bnVtZXJpYzpcXFwiTVxcXCIsXFxcIjItZGlnaXRcXFwiOlxcXCJNTVxcXCIsc2hvcnQ6XFxcIk1NTVxcXCIsbG9uZzpcXFwiTU1NTVxcXCJ9LGRheTp7bnVtZXJpYzpcXFwiZFxcXCIsXFxcIjItZGlnaXRcXFwiOlxcXCJkZFxcXCJ9LHdlZWtkYXk6e3Nob3J0OlxcXCJFRUVcXFwiLGxvbmc6XFxcIkVFRUVcXFwifSxkYXlwZXJpb2Q6XFxcImFcXFwiLGRheVBlcmlvZDpcXFwiYVxcXCIsaG91cjp7bnVtZXJpYzpcXFwiaFxcXCIsXFxcIjItZGlnaXRcXFwiOlxcXCJoaFxcXCJ9LG1pbnV0ZTp7bnVtZXJpYzpcXFwibVxcXCIsXFxcIjItZGlnaXRcXFwiOlxcXCJtbVxcXCJ9LHNlY29uZDp7bnVtZXJpYzpcXFwic1xcXCIsXFxcIjItZGlnaXRcXFwiOlxcXCJzc1xcXCJ9fTtmdW5jdGlvbiBOYyhuLGUsdCl7bGV0e3R5cGU6cix2YWx1ZTpzfT1uO2lmKHI9PT1cXFwibGl0ZXJhbFxcXCIpcmV0dXJue2xpdGVyYWw6ITAsdmFsOnN9O2xldCBpPXRbcl0sbz1MY1tyXTtpZih0eXBlb2Ygbz09XFxcIm9iamVjdFxcXCImJihvPW9baV0pLG8pcmV0dXJue2xpdGVyYWw6ITEsdmFsOm99fWZ1bmN0aW9uIEFjKG4pe3JldHVybltgXiR7bi5tYXAodD0+dC5yZWdleCkucmVkdWNlKCh0LHIpPT5gJHt0fSgke3Iuc291cmNlfSlgLFxcXCJcXFwiKX0kYCxuXX1mdW5jdGlvbiBNYyhuLGUsdCl7bGV0IHI9bi5tYXRjaChlKTtpZihyKXtsZXQgcz17fSxpPTE7Zm9yKGxldCBvIGluIHQpaWYoa3QodCxvKSl7bGV0IGE9dFtvXSx1PWEuZ3JvdXBzP2EuZ3JvdXBzKzE6MTshYS5saXRlcmFsJiZhLnRva2VuJiYoc1thLnRva2VuLnZhbFswXV09YS5kZXNlcihyLnNsaWNlKGksaSt1KSkpLGkrPXV9cmV0dXJuW3Isc119ZWxzZSByZXR1cm5bcix7fV19ZnVuY3Rpb24gX2Mobil7bGV0IGU9aT0+e3N3aXRjaChpKXtjYXNlXFxcIlNcXFwiOnJldHVyblxcXCJtaWxsaXNlY29uZFxcXCI7Y2FzZVxcXCJzXFxcIjpyZXR1cm5cXFwic2Vjb25kXFxcIjtjYXNlXFxcIm1cXFwiOnJldHVyblxcXCJtaW51dGVcXFwiO2Nhc2VcXFwiaFxcXCI6Y2FzZVxcXCJIXFxcIjpyZXR1cm5cXFwiaG91clxcXCI7Y2FzZVxcXCJkXFxcIjpyZXR1cm5cXFwiZGF5XFxcIjtjYXNlXFxcIm9cXFwiOnJldHVyblxcXCJvcmRpbmFsXFxcIjtjYXNlXFxcIkxcXFwiOmNhc2VcXFwiTVxcXCI6cmV0dXJuXFxcIm1vbnRoXFxcIjtjYXNlXFxcInlcXFwiOnJldHVyblxcXCJ5ZWFyXFxcIjtjYXNlXFxcIkVcXFwiOmNhc2VcXFwiY1xcXCI6cmV0dXJuXFxcIndlZWtkYXlcXFwiO2Nhc2VcXFwiV1xcXCI6cmV0dXJuXFxcIndlZWtOdW1iZXJcXFwiO2Nhc2VcXFwia1xcXCI6cmV0dXJuXFxcIndlZWtZZWFyXFxcIjtjYXNlXFxcInFcXFwiOnJldHVyblxcXCJxdWFydGVyXFxcIjtkZWZhdWx0OnJldHVybiBudWxsfX0sdD1udWxsLHI7cmV0dXJuIFcobi56KXx8KHQ9Z2UuY3JlYXRlKG4ueikpLFcobi5aKXx8KHR8fCh0PW5ldyBoZShuLlopKSxyPW4uWiksVyhuLnEpfHwobi5NPShuLnEtMSkqMysxKSxXKG4uaCl8fChuLmg8MTImJm4uYT09PTE/bi5oKz0xMjpuLmg9PT0xMiYmbi5hPT09MCYmKG4uaD0wKSksbi5HPT09MCYmbi55JiYobi55PS1uLnkpLFcobi51KXx8KG4uUz1zcihuLnUpKSxbT2JqZWN0LmtleXMobikucmVkdWNlKChpLG8pPT57bGV0IGE9ZShvKTtyZXR1cm4gYSYmKGlbYV09bltvXSksaX0se30pLHQscl19dmFyIFNpPW51bGw7ZnVuY3Rpb24gQmMoKXtyZXR1cm4gU2l8fChTaT1xLmZyb21NaWxsaXMoMTU1NTU1NTU1NTU1NSkpLFNpfWZ1bmN0aW9uIFBjKG4sZSl7aWYobi5saXRlcmFsKXJldHVybiBuO2xldCB0PXdlLm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHMobi52YWwpO2lmKCF0KXJldHVybiBuO2xldCBpPXdlLmNyZWF0ZShlLHQpLmZvcm1hdERhdGVUaW1lUGFydHMoQmMoKSkubWFwKG89Pk5jKG8sZSx0KSk7cmV0dXJuIGkuaW5jbHVkZXModm9pZCAwKT9uOml9ZnVuY3Rpb24gJGMobixlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdCguLi5uLm1hcCh0PT5QYyh0LGUpKSl9ZnVuY3Rpb24ga2kobixlLHQpe2xldCByPSRjKHdlLnBhcnNlRm9ybWF0KHQpLG4pLHM9ci5tYXAobz0+SWMobyxuKSksaT1zLmZpbmQobz0+by5pbnZhbGlkUmVhc29uKTtpZihpKXJldHVybntpbnB1dDplLHRva2VuczpyLGludmFsaWRSZWFzb246aS5pbnZhbGlkUmVhc29ufTt7bGV0W28sYV09QWMocyksdT1SZWdFeHAobyxcXFwiaVxcXCIpLFtsLGZdPU1jKGUsdSxhKSxbZCxtLGhdPWY/X2MoZik6W251bGwsbnVsbCx2b2lkIDBdO2lmKGt0KGYsXFxcImFcXFwiKSYma3QoZixcXFwiSFxcXCIpKXRocm93IG5ldyBwdChcXFwiQ2FuJ3QgaW5jbHVkZSBtZXJpZGllbSB3aGVuIHNwZWNpZnlpbmcgMjQtaG91ciBmb3JtYXRcXFwiKTtyZXR1cm57aW5wdXQ6ZSx0b2tlbnM6cixyZWdleDp1LHJhd01hdGNoZXM6bCxtYXRjaGVzOmYscmVzdWx0OmQsem9uZTptLHNwZWNpZmljT2Zmc2V0Omh9fX1mdW5jdGlvbiBFYShuLGUsdCl7bGV0e3Jlc3VsdDpyLHpvbmU6cyxzcGVjaWZpY09mZnNldDppLGludmFsaWRSZWFzb246b309a2kobixlLHQpO3JldHVybltyLHMsaSxvXX12YXIgd2E9WzAsMzEsNTksOTAsMTIwLDE1MSwxODEsMjEyLDI0MywyNzMsMzA0LDMzNF0sVGE9WzAsMzEsNjAsOTEsMTIxLDE1MiwxODIsMjEzLDI0NCwyNzQsMzA1LDMzNV07ZnVuY3Rpb24gQmUobixlKXtyZXR1cm4gbmV3IGRlKFxcXCJ1bml0IG91dCBvZiByYW5nZVxcXCIsYHlvdSBzcGVjaWZpZWQgJHtlfSAob2YgdHlwZSAke3R5cGVvZiBlfSkgYXMgYSAke259LCB3aGljaCBpcyBpbnZhbGlkYCl9ZnVuY3Rpb24gU2EobixlLHQpe2xldCByPW5ldyBEYXRlKERhdGUuVVRDKG4sZS0xLHQpKTtuPDEwMCYmbj49MCYmci5zZXRVVENGdWxsWWVhcihyLmdldFVUQ0Z1bGxZZWFyKCktMTkwMCk7bGV0IHM9ci5nZXRVVENEYXkoKTtyZXR1cm4gcz09PTA/NzpzfWZ1bmN0aW9uIGthKG4sZSx0KXtyZXR1cm4gdCsoanQobik/VGE6d2EpW2UtMV19ZnVuY3Rpb24gQ2EobixlKXtsZXQgdD1qdChuKT9UYTp3YSxyPXQuZmluZEluZGV4KGk9Pmk8ZSkscz1lLXRbcl07cmV0dXJue21vbnRoOnIrMSxkYXk6c319ZnVuY3Rpb24gWnIobil7bGV0e3llYXI6ZSxtb250aDp0LGRheTpyfT1uLHM9a2EoZSx0LHIpLGk9U2EoZSx0LHIpLG89TWF0aC5mbG9vcigocy1pKzEwKS83KSxhO3JldHVybiBvPDE/KGE9ZS0xLG89bG4oYSkpOm8+bG4oZSk/KGE9ZSsxLG89MSk6YT1lLFIoe3dlZWtZZWFyOmEsd2Vla051bWJlcjpvLHdlZWtkYXk6aX0sYXIobikpfWZ1bmN0aW9uIENpKG4pe2xldHt3ZWVrWWVhcjplLHdlZWtOdW1iZXI6dCx3ZWVrZGF5OnJ9PW4scz1TYShlLDEsNCksaT1xdChlKSxvPXQqNytyLXMtMyxhO288MT8oYT1lLTEsbys9cXQoYSkpOm8+aT8oYT1lKzEsby09cXQoZSkpOmE9ZTtsZXR7bW9udGg6dSxkYXk6bH09Q2EoYSxvKTtyZXR1cm4gUih7eWVhcjphLG1vbnRoOnUsZGF5Omx9LGFyKG4pKX1mdW5jdGlvbiBRcihuKXtsZXR7eWVhcjplLG1vbnRoOnQsZGF5OnJ9PW4scz1rYShlLHQscik7cmV0dXJuIFIoe3llYXI6ZSxvcmRpbmFsOnN9LGFyKG4pKX1mdW5jdGlvbiB2aShuKXtsZXR7eWVhcjplLG9yZGluYWw6dH09bix7bW9udGg6cixkYXk6c309Q2EoZSx0KTtyZXR1cm4gUih7eWVhcjplLG1vbnRoOnIsZGF5OnN9LGFyKG4pKX1mdW5jdGlvbiB2YShuKXtsZXQgZT1ycihuLndlZWtZZWFyKSx0PW50KG4ud2Vla051bWJlciwxLGxuKG4ud2Vla1llYXIpKSxyPW50KG4ud2Vla2RheSwxLDcpO3JldHVybiBlP3Q/cj8hMTpCZShcXFwid2Vla2RheVxcXCIsbi53ZWVrZGF5KTpCZShcXFwid2Vla1xcXCIsbi53ZWVrKTpCZShcXFwid2Vla1llYXJcXFwiLG4ud2Vla1llYXIpfWZ1bmN0aW9uIHhhKG4pe2xldCBlPXJyKG4ueWVhciksdD1udChuLm9yZGluYWwsMSxxdChuLnllYXIpKTtyZXR1cm4gZT90PyExOkJlKFxcXCJvcmRpbmFsXFxcIixuLm9yZGluYWwpOkJlKFxcXCJ5ZWFyXFxcIixuLnllYXIpfWZ1bmN0aW9uIHhpKG4pe2xldCBlPXJyKG4ueWVhciksdD1udChuLm1vbnRoLDEsMTIpLHI9bnQobi5kYXksMSx1bihuLnllYXIsbi5tb250aCkpO3JldHVybiBlP3Q/cj8hMTpCZShcXFwiZGF5XFxcIixuLmRheSk6QmUoXFxcIm1vbnRoXFxcIixuLm1vbnRoKTpCZShcXFwieWVhclxcXCIsbi55ZWFyKX1mdW5jdGlvbiBPaShuKXtsZXR7aG91cjplLG1pbnV0ZTp0LHNlY29uZDpyLG1pbGxpc2Vjb25kOnN9PW4saT1udChlLDAsMjMpfHxlPT09MjQmJnQ9PT0wJiZyPT09MCYmcz09PTAsbz1udCh0LDAsNTkpLGE9bnQociwwLDU5KSx1PW50KHMsMCw5OTkpO3JldHVybiBpP28/YT91PyExOkJlKFxcXCJtaWxsaXNlY29uZFxcXCIscyk6QmUoXFxcInNlY29uZFxcXCIscik6QmUoXFxcIm1pbnV0ZVxcXCIsdCk6QmUoXFxcImhvdXJcXFwiLGUpfXZhciBJaT1cXFwiSW52YWxpZCBEYXRlVGltZVxcXCIsT2E9ODY0ZTEzO2Z1bmN0aW9uIFhyKG4pe3JldHVybiBuZXcgZGUoXFxcInVuc3VwcG9ydGVkIHpvbmVcXFwiLGB0aGUgem9uZSBcXFwiJHtuLm5hbWV9XFxcIiBpcyBub3Qgc3VwcG9ydGVkYCl9ZnVuY3Rpb24gTGkobil7cmV0dXJuIG4ud2Vla0RhdGE9PT1udWxsJiYobi53ZWVrRGF0YT1acihuLmMpKSxuLndlZWtEYXRhfWZ1bmN0aW9uIGRyKG4sZSl7bGV0IHQ9e3RzOm4udHMsem9uZTpuLnpvbmUsYzpuLmMsbzpuLm8sbG9jOm4ubG9jLGludmFsaWQ6bi5pbnZhbGlkfTtyZXR1cm4gbmV3IHEoeWUoUihSKHt9LHQpLGUpLHtvbGQ6dH0pKX1mdW5jdGlvbiBQYShuLGUsdCl7bGV0IHI9bi1lKjYwKjFlMyxzPXQub2Zmc2V0KHIpO2lmKGU9PT1zKXJldHVybltyLGVdO3ItPShzLWUpKjYwKjFlMztsZXQgaT10Lm9mZnNldChyKTtyZXR1cm4gcz09PWk/W3Isc106W24tTWF0aC5taW4ocyxpKSo2MCoxZTMsTWF0aC5tYXgocyxpKV19ZnVuY3Rpb24gSWEobixlKXtuKz1lKjYwKjFlMztsZXQgdD1uZXcgRGF0ZShuKTtyZXR1cm57eWVhcjp0LmdldFVUQ0Z1bGxZZWFyKCksbW9udGg6dC5nZXRVVENNb250aCgpKzEsZGF5OnQuZ2V0VVRDRGF0ZSgpLGhvdXI6dC5nZXRVVENIb3VycygpLG1pbnV0ZTp0LmdldFVUQ01pbnV0ZXMoKSxzZWNvbmQ6dC5nZXRVVENTZWNvbmRzKCksbWlsbGlzZWNvbmQ6dC5nZXRVVENNaWxsaXNlY29uZHMoKX19ZnVuY3Rpb24gdHMobixlLHQpe3JldHVybiBQYShpcihuKSxlLHQpfWZ1bmN0aW9uIExhKG4sZSl7bGV0IHQ9bi5vLHI9bi5jLnllYXIrTWF0aC50cnVuYyhlLnllYXJzKSxzPW4uYy5tb250aCtNYXRoLnRydW5jKGUubW9udGhzKStNYXRoLnRydW5jKGUucXVhcnRlcnMpKjMsaT15ZShSKHt9LG4uYykse3llYXI6cixtb250aDpzLGRheTpNYXRoLm1pbihuLmMuZGF5LHVuKHIscykpK01hdGgudHJ1bmMoZS5kYXlzKStNYXRoLnRydW5jKGUud2Vla3MpKjd9KSxvPUIuZnJvbU9iamVjdCh7eWVhcnM6ZS55ZWFycy1NYXRoLnRydW5jKGUueWVhcnMpLHF1YXJ0ZXJzOmUucXVhcnRlcnMtTWF0aC50cnVuYyhlLnF1YXJ0ZXJzKSxtb250aHM6ZS5tb250aHMtTWF0aC50cnVuYyhlLm1vbnRocyksd2Vla3M6ZS53ZWVrcy1NYXRoLnRydW5jKGUud2Vla3MpLGRheXM6ZS5kYXlzLU1hdGgudHJ1bmMoZS5kYXlzKSxob3VyczplLmhvdXJzLG1pbnV0ZXM6ZS5taW51dGVzLHNlY29uZHM6ZS5zZWNvbmRzLG1pbGxpc2Vjb25kczplLm1pbGxpc2Vjb25kc30pLmFzKFxcXCJtaWxsaXNlY29uZHNcXFwiKSxhPWlyKGkpLFt1LGxdPVBhKGEsdCxuLnpvbmUpO3JldHVybiBvIT09MCYmKHUrPW8sbD1uLnpvbmUub2Zmc2V0KHUpKSx7dHM6dSxvOmx9fWZ1bmN0aW9uIGhyKG4sZSx0LHIscyxpKXtsZXR7c2V0Wm9uZTpvLHpvbmU6YX09dDtpZihuJiZPYmplY3Qua2V5cyhuKS5sZW5ndGghPT0wKXtsZXQgdT1lfHxhLGw9cS5mcm9tT2JqZWN0KG4seWUoUih7fSx0KSx7em9uZTp1LHNwZWNpZmljT2Zmc2V0Oml9KSk7cmV0dXJuIG8/bDpsLnNldFpvbmUoYSl9ZWxzZSByZXR1cm4gcS5pbnZhbGlkKG5ldyBkZShcXFwidW5wYXJzYWJsZVxcXCIsYHRoZSBpbnB1dCBcXFwiJHtzfVxcXCIgY2FuJ3QgYmUgcGFyc2VkIGFzICR7cn1gKSl9ZnVuY3Rpb24gZXMobixlLHQ9ITApe3JldHVybiBuLmlzVmFsaWQ/d2UuY3JlYXRlKG5lLmNyZWF0ZShcXFwiZW4tVVNcXFwiKSx7YWxsb3daOnQsZm9yY2VTaW1wbGU6ITB9KS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcobixlKTpudWxsfWZ1bmN0aW9uIE5pKG4sZSl7bGV0IHQ9bi5jLnllYXI+OTk5OXx8bi5jLnllYXI8MCxyPVxcXCJcXFwiO3JldHVybiB0JiZuLmMueWVhcj49MCYmKHIrPVxcXCIrXFxcIikscis9cmUobi5jLnllYXIsdD82OjQpLGU/KHIrPVxcXCItXFxcIixyKz1yZShuLmMubW9udGgpLHIrPVxcXCItXFxcIixyKz1yZShuLmMuZGF5KSk6KHIrPXJlKG4uYy5tb250aCkscis9cmUobi5jLmRheSkpLHJ9ZnVuY3Rpb24gTmEobixlLHQscixzLGkpe2xldCBvPXJlKG4uYy5ob3VyKTtyZXR1cm4gZT8obys9XFxcIjpcXFwiLG8rPXJlKG4uYy5taW51dGUpLChuLmMuc2Vjb25kIT09MHx8IXQpJiYobys9XFxcIjpcXFwiKSk6bys9cmUobi5jLm1pbnV0ZSksKG4uYy5zZWNvbmQhPT0wfHwhdCkmJihvKz1yZShuLmMuc2Vjb25kKSwobi5jLm1pbGxpc2Vjb25kIT09MHx8IXIpJiYobys9XFxcIi5cXFwiLG8rPXJlKG4uYy5taWxsaXNlY29uZCwzKSkpLHMmJihuLmlzT2Zmc2V0Rml4ZWQmJm4ub2Zmc2V0PT09MCYmIWk/bys9XFxcIlpcXFwiOm4ubzwwPyhvKz1cXFwiLVxcXCIsbys9cmUoTWF0aC50cnVuYygtbi5vLzYwKSksbys9XFxcIjpcXFwiLG8rPXJlKE1hdGgudHJ1bmMoLW4ubyU2MCkpKToobys9XFxcIitcXFwiLG8rPXJlKE1hdGgudHJ1bmMobi5vLzYwKSksbys9XFxcIjpcXFwiLG8rPXJlKE1hdGgudHJ1bmMobi5vJTYwKSkpKSxpJiYobys9XFxcIltcXFwiK24uem9uZS5pYW5hTmFtZStcXFwiXVxcXCIpLG99dmFyICRhPXttb250aDoxLGRheToxLGhvdXI6MCxtaW51dGU6MCxzZWNvbmQ6MCxtaWxsaXNlY29uZDowfSxSYz17d2Vla051bWJlcjoxLHdlZWtkYXk6MSxob3VyOjAsbWludXRlOjAsc2Vjb25kOjAsbWlsbGlzZWNvbmQ6MH0samM9e29yZGluYWw6MSxob3VyOjAsbWludXRlOjAsc2Vjb25kOjAsbWlsbGlzZWNvbmQ6MH0sUmE9W1xcXCJ5ZWFyXFxcIixcXFwibW9udGhcXFwiLFxcXCJkYXlcXFwiLFxcXCJob3VyXFxcIixcXFwibWludXRlXFxcIixcXFwic2Vjb25kXFxcIixcXFwibWlsbGlzZWNvbmRcXFwiXSxxYz1bXFxcIndlZWtZZWFyXFxcIixcXFwid2Vla051bWJlclxcXCIsXFxcIndlZWtkYXlcXFwiLFxcXCJob3VyXFxcIixcXFwibWludXRlXFxcIixcXFwic2Vjb25kXFxcIixcXFwibWlsbGlzZWNvbmRcXFwiXSxWYz1bXFxcInllYXJcXFwiLFxcXCJvcmRpbmFsXFxcIixcXFwiaG91clxcXCIsXFxcIm1pbnV0ZVxcXCIsXFxcInNlY29uZFxcXCIsXFxcIm1pbGxpc2Vjb25kXFxcIl07ZnVuY3Rpb24gQWEobil7bGV0IGU9e3llYXI6XFxcInllYXJcXFwiLHllYXJzOlxcXCJ5ZWFyXFxcIixtb250aDpcXFwibW9udGhcXFwiLG1vbnRoczpcXFwibW9udGhcXFwiLGRheTpcXFwiZGF5XFxcIixkYXlzOlxcXCJkYXlcXFwiLGhvdXI6XFxcImhvdXJcXFwiLGhvdXJzOlxcXCJob3VyXFxcIixtaW51dGU6XFxcIm1pbnV0ZVxcXCIsbWludXRlczpcXFwibWludXRlXFxcIixxdWFydGVyOlxcXCJxdWFydGVyXFxcIixxdWFydGVyczpcXFwicXVhcnRlclxcXCIsc2Vjb25kOlxcXCJzZWNvbmRcXFwiLHNlY29uZHM6XFxcInNlY29uZFxcXCIsbWlsbGlzZWNvbmQ6XFxcIm1pbGxpc2Vjb25kXFxcIixtaWxsaXNlY29uZHM6XFxcIm1pbGxpc2Vjb25kXFxcIix3ZWVrZGF5OlxcXCJ3ZWVrZGF5XFxcIix3ZWVrZGF5czpcXFwid2Vla2RheVxcXCIsd2Vla251bWJlcjpcXFwid2Vla051bWJlclxcXCIsd2Vla3NudW1iZXI6XFxcIndlZWtOdW1iZXJcXFwiLHdlZWtudW1iZXJzOlxcXCJ3ZWVrTnVtYmVyXFxcIix3ZWVreWVhcjpcXFwid2Vla1llYXJcXFwiLHdlZWt5ZWFyczpcXFwid2Vla1llYXJcXFwiLG9yZGluYWw6XFxcIm9yZGluYWxcXFwifVtuLnRvTG93ZXJDYXNlKCldO2lmKCFlKXRocm93IG5ldyBzbihuKTtyZXR1cm4gZX1mdW5jdGlvbiBNYShuLGUpe2xldCB0PVZlKGUuem9uZSxYLmRlZmF1bHRab25lKSxyPW5lLmZyb21PYmplY3QoZSkscz1YLm5vdygpLGksbztpZihXKG4ueWVhcikpaT1zO2Vsc2V7Zm9yKGxldCBsIG9mIFJhKVcobltsXSkmJihuW2xdPSRhW2xdKTtsZXQgYT14aShuKXx8T2kobik7aWYoYSlyZXR1cm4gcS5pbnZhbGlkKGEpO2xldCB1PXQub2Zmc2V0KHMpO1tpLG9dPXRzKG4sdSx0KX1yZXR1cm4gbmV3IHEoe3RzOmksem9uZTp0LGxvYzpyLG99KX1mdW5jdGlvbiBfYShuLGUsdCl7bGV0IHI9Vyh0LnJvdW5kKT8hMDp0LnJvdW5kLHM9KG8sYSk9PihvPWFuKG8scnx8dC5jYWxlbmRhcnk/MDoyLCEwKSxlLmxvYy5jbG9uZSh0KS5yZWxGb3JtYXR0ZXIodCkuZm9ybWF0KG8sYSkpLGk9bz0+dC5jYWxlbmRhcnk/ZS5oYXNTYW1lKG4sbyk/MDplLnN0YXJ0T2YobykuZGlmZihuLnN0YXJ0T2YobyksbykuZ2V0KG8pOmUuZGlmZihuLG8pLmdldChvKTtpZih0LnVuaXQpcmV0dXJuIHMoaSh0LnVuaXQpLHQudW5pdCk7Zm9yKGxldCBvIG9mIHQudW5pdHMpe2xldCBhPWkobyk7aWYoTWF0aC5hYnMoYSk+PTEpcmV0dXJuIHMoYSxvKX1yZXR1cm4gcyhuPmU/LTA6MCx0LnVuaXRzW3QudW5pdHMubGVuZ3RoLTFdKX1mdW5jdGlvbiBCYShuKXtsZXQgZT17fSx0O3JldHVybiBuLmxlbmd0aD4wJiZ0eXBlb2YgbltuLmxlbmd0aC0xXT09XFxcIm9iamVjdFxcXCI/KGU9bltuLmxlbmd0aC0xXSx0PUFycmF5LmZyb20obikuc2xpY2UoMCxuLmxlbmd0aC0xKSk6dD1BcnJheS5mcm9tKG4pLFtlLHRdfXZhciBxPWNsYXNzIG57Y29uc3RydWN0b3IoZSl7bGV0IHQ9ZS56b25lfHxYLmRlZmF1bHRab25lLHI9ZS5pbnZhbGlkfHwoTnVtYmVyLmlzTmFOKGUudHMpP25ldyBkZShcXFwiaW52YWxpZCBpbnB1dFxcXCIpOm51bGwpfHwodC5pc1ZhbGlkP251bGw6WHIodCkpO3RoaXMudHM9VyhlLnRzKT9YLm5vdygpOmUudHM7bGV0IHM9bnVsbCxpPW51bGw7aWYoIXIpaWYoZS5vbGQmJmUub2xkLnRzPT09dGhpcy50cyYmZS5vbGQuem9uZS5lcXVhbHModCkpW3MsaV09W2Uub2xkLmMsZS5vbGQub107ZWxzZXtsZXQgYT10Lm9mZnNldCh0aGlzLnRzKTtzPUlhKHRoaXMudHMsYSkscj1OdW1iZXIuaXNOYU4ocy55ZWFyKT9uZXcgZGUoXFxcImludmFsaWQgaW5wdXRcXFwiKTpudWxsLHM9cj9udWxsOnMsaT1yP251bGw6YX10aGlzLl96b25lPXQsdGhpcy5sb2M9ZS5sb2N8fG5lLmNyZWF0ZSgpLHRoaXMuaW52YWxpZD1yLHRoaXMud2Vla0RhdGE9bnVsbCx0aGlzLmM9cyx0aGlzLm89aSx0aGlzLmlzTHV4b25EYXRlVGltZT0hMH1zdGF0aWMgbm93KCl7cmV0dXJuIG5ldyBuKHt9KX1zdGF0aWMgbG9jYWwoKXtsZXRbZSx0XT1CYShhcmd1bWVudHMpLFtyLHMsaSxvLGEsdSxsXT10O3JldHVybiBNYSh7eWVhcjpyLG1vbnRoOnMsZGF5OmksaG91cjpvLG1pbnV0ZTphLHNlY29uZDp1LG1pbGxpc2Vjb25kOmx9LGUpfXN0YXRpYyB1dGMoKXtsZXRbZSx0XT1CYShhcmd1bWVudHMpLFtyLHMsaSxvLGEsdSxsXT10O3JldHVybiBlLnpvbmU9aGUudXRjSW5zdGFuY2UsTWEoe3llYXI6cixtb250aDpzLGRheTppLGhvdXI6byxtaW51dGU6YSxzZWNvbmQ6dSxtaWxsaXNlY29uZDpsfSxlKX1zdGF0aWMgZnJvbUpTRGF0ZShlLHQ9e30pe2xldCByPVBvKGUpP2UudmFsdWVPZigpOk5hTjtpZihOdW1iZXIuaXNOYU4ocikpcmV0dXJuIG4uaW52YWxpZChcXFwiaW52YWxpZCBpbnB1dFxcXCIpO2xldCBzPVZlKHQuem9uZSxYLmRlZmF1bHRab25lKTtyZXR1cm4gcy5pc1ZhbGlkP25ldyBuKHt0czpyLHpvbmU6cyxsb2M6bmUuZnJvbU9iamVjdCh0KX0pOm4uaW52YWxpZChYcihzKSl9c3RhdGljIGZyb21NaWxsaXMoZSx0PXt9KXtpZih0dChlKSlyZXR1cm4gZTwtT2F8fGU+T2E/bi5pbnZhbGlkKFxcXCJUaW1lc3RhbXAgb3V0IG9mIHJhbmdlXFxcIik6bmV3IG4oe3RzOmUsem9uZTpWZSh0LnpvbmUsWC5kZWZhdWx0Wm9uZSksbG9jOm5lLmZyb21PYmplY3QodCl9KTt0aHJvdyBuZXcgZmUoYGZyb21NaWxsaXMgcmVxdWlyZXMgYSBudW1lcmljYWwgaW5wdXQsIGJ1dCByZWNlaXZlZCBhICR7dHlwZW9mIGV9IHdpdGggdmFsdWUgJHtlfWApfXN0YXRpYyBmcm9tU2Vjb25kcyhlLHQ9e30pe2lmKHR0KGUpKXJldHVybiBuZXcgbih7dHM6ZSoxZTMsem9uZTpWZSh0LnpvbmUsWC5kZWZhdWx0Wm9uZSksbG9jOm5lLmZyb21PYmplY3QodCl9KTt0aHJvdyBuZXcgZmUoXFxcImZyb21TZWNvbmRzIHJlcXVpcmVzIGEgbnVtZXJpY2FsIGlucHV0XFxcIil9c3RhdGljIGZyb21PYmplY3QoZSx0PXt9KXtlPWV8fHt9O2xldCByPVZlKHQuem9uZSxYLmRlZmF1bHRab25lKTtpZighci5pc1ZhbGlkKXJldHVybiBuLmludmFsaWQoWHIocikpO2xldCBzPVgubm93KCksaT1XKHQuc3BlY2lmaWNPZmZzZXQpP3Iub2Zmc2V0KHMpOnQuc3BlY2lmaWNPZmZzZXQsbz1jbihlLEFhKSxhPSFXKG8ub3JkaW5hbCksdT0hVyhvLnllYXIpLGw9IVcoby5tb250aCl8fCFXKG8uZGF5KSxmPXV8fGwsZD1vLndlZWtZZWFyfHxvLndlZWtOdW1iZXIsbT1uZS5mcm9tT2JqZWN0KHQpO2lmKChmfHxhKSYmZCl0aHJvdyBuZXcgcHQoXFxcIkNhbid0IG1peCB3ZWVrWWVhci93ZWVrTnVtYmVyIHVuaXRzIHdpdGggeWVhci9tb250aC9kYXkgb3Igb3JkaW5hbHNcXFwiKTtpZihsJiZhKXRocm93IG5ldyBwdChcXFwiQ2FuJ3QgbWl4IG9yZGluYWwgZGF0ZXMgd2l0aCBtb250aC9kYXlcXFwiKTtsZXQgaD1kfHxvLndlZWtkYXkmJiFmLGIsZyxEPUlhKHMsaSk7aD8oYj1xYyxnPVJjLEQ9WnIoRCkpOmE/KGI9VmMsZz1qYyxEPVFyKEQpKTooYj1SYSxnPSRhKTtsZXQgVD0hMTtmb3IobGV0IEMgb2YgYil7bGV0IFY9b1tDXTtXKFYpP1Q/b1tDXT1nW0NdOm9bQ109RFtDXTpUPSEwfWxldCBJPWg/dmEobyk6YT94YShvKTp4aShvKSxOPUl8fE9pKG8pO2lmKE4pcmV0dXJuIG4uaW52YWxpZChOKTtsZXQgeT1oP0NpKG8pOmE/dmkobyk6byxbdyx2XT10cyh5LGkscikseD1uZXcgbih7dHM6dyx6b25lOnIsbzp2LGxvYzptfSk7cmV0dXJuIG8ud2Vla2RheSYmZiYmZS53ZWVrZGF5IT09eC53ZWVrZGF5P24uaW52YWxpZChcXFwibWlzbWF0Y2hlZCB3ZWVrZGF5XFxcIixgeW91IGNhbid0IHNwZWNpZnkgYm90aCBhIHdlZWtkYXkgb2YgJHtvLndlZWtkYXl9IGFuZCBhIGRhdGUgb2YgJHt4LnRvSVNPKCl9YCk6eH1zdGF0aWMgZnJvbUlTTyhlLHQ9e30pe2xldFtyLHNdPWlhKGUpO3JldHVybiBocihyLHMsdCxcXFwiSVNPIDg2MDFcXFwiLGUpfXN0YXRpYyBmcm9tUkZDMjgyMihlLHQ9e30pe2xldFtyLHNdPW9hKGUpO3JldHVybiBocihyLHMsdCxcXFwiUkZDIDI4MjJcXFwiLGUpfXN0YXRpYyBmcm9tSFRUUChlLHQ9e30pe2xldFtyLHNdPWFhKGUpO3JldHVybiBocihyLHMsdCxcXFwiSFRUUFxcXCIsdCl9c3RhdGljIGZyb21Gb3JtYXQoZSx0LHI9e30pe2lmKFcoZSl8fFcodCkpdGhyb3cgbmV3IGZlKFxcXCJmcm9tRm9ybWF0IHJlcXVpcmVzIGFuIGlucHV0IHN0cmluZyBhbmQgYSBmb3JtYXRcXFwiKTtsZXR7bG9jYWxlOnM9bnVsbCxudW1iZXJpbmdTeXN0ZW06aT1udWxsfT1yLG89bmUuZnJvbU9wdHMoe2xvY2FsZTpzLG51bWJlcmluZ1N5c3RlbTppLGRlZmF1bHRUb0VOOiEwfSksW2EsdSxsLGZdPUVhKG8sZSx0KTtyZXR1cm4gZj9uLmludmFsaWQoZik6aHIoYSx1LHIsYGZvcm1hdCAke3R9YCxlLGwpfXN0YXRpYyBmcm9tU3RyaW5nKGUsdCxyPXt9KXtyZXR1cm4gbi5mcm9tRm9ybWF0KGUsdCxyKX1zdGF0aWMgZnJvbVNRTChlLHQ9e30pe2xldFtyLHNdPWNhKGUpO3JldHVybiBocihyLHMsdCxcXFwiU1FMXFxcIixlKX1zdGF0aWMgaW52YWxpZChlLHQ9bnVsbCl7aWYoIWUpdGhyb3cgbmV3IGZlKFxcXCJuZWVkIHRvIHNwZWNpZnkgYSByZWFzb24gdGhlIERhdGVUaW1lIGlzIGludmFsaWRcXFwiKTtsZXQgcj1lIGluc3RhbmNlb2YgZGU/ZTpuZXcgZGUoZSx0KTtpZihYLnRocm93T25JbnZhbGlkKXRocm93IG5ldyBVcihyKTtyZXR1cm4gbmV3IG4oe2ludmFsaWQ6cn0pfXN0YXRpYyBpc0RhdGVUaW1lKGUpe3JldHVybiBlJiZlLmlzTHV4b25EYXRlVGltZXx8ITF9Z2V0KGUpe3JldHVybiB0aGlzW2VdfWdldCBpc1ZhbGlkKCl7cmV0dXJuIHRoaXMuaW52YWxpZD09PW51bGx9Z2V0IGludmFsaWRSZWFzb24oKXtyZXR1cm4gdGhpcy5pbnZhbGlkP3RoaXMuaW52YWxpZC5yZWFzb246bnVsbH1nZXQgaW52YWxpZEV4cGxhbmF0aW9uKCl7cmV0dXJuIHRoaXMuaW52YWxpZD90aGlzLmludmFsaWQuZXhwbGFuYXRpb246bnVsbH1nZXQgbG9jYWxlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmxvYy5sb2NhbGU6bnVsbH1nZXQgbnVtYmVyaW5nU3lzdGVtKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW06bnVsbH1nZXQgb3V0cHV0Q2FsZW5kYXIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMubG9jLm91dHB1dENhbGVuZGFyOm51bGx9Z2V0IHpvbmUoKXtyZXR1cm4gdGhpcy5fem9uZX1nZXQgem9uZU5hbWUoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuem9uZS5uYW1lOm51bGx9Z2V0IHllYXIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuYy55ZWFyOk5hTn1nZXQgcXVhcnRlcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/TWF0aC5jZWlsKHRoaXMuYy5tb250aC8zKTpOYU59Z2V0IG1vbnRoKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmMubW9udGg6TmFOfWdldCBkYXkoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMuYy5kYXk6TmFOfWdldCBob3VyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmMuaG91cjpOYU59Z2V0IG1pbnV0ZSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5jLm1pbnV0ZTpOYU59Z2V0IHNlY29uZCgpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy5jLnNlY29uZDpOYU59Z2V0IG1pbGxpc2Vjb25kKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLmMubWlsbGlzZWNvbmQ6TmFOfWdldCB3ZWVrWWVhcigpe3JldHVybiB0aGlzLmlzVmFsaWQ/TGkodGhpcykud2Vla1llYXI6TmFOfWdldCB3ZWVrTnVtYmVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9MaSh0aGlzKS53ZWVrTnVtYmVyOk5hTn1nZXQgd2Vla2RheSgpe3JldHVybiB0aGlzLmlzVmFsaWQ/TGkodGhpcykud2Vla2RheTpOYU59Z2V0IG9yZGluYWwoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP1FyKHRoaXMuYykub3JkaW5hbDpOYU59Z2V0IG1vbnRoU2hvcnQoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2d0Lm1vbnRocyhcXFwic2hvcnRcXFwiLHtsb2NPYmo6dGhpcy5sb2N9KVt0aGlzLm1vbnRoLTFdOm51bGx9Z2V0IG1vbnRoTG9uZygpe3JldHVybiB0aGlzLmlzVmFsaWQ/Z3QubW9udGhzKFxcXCJsb25nXFxcIix7bG9jT2JqOnRoaXMubG9jfSlbdGhpcy5tb250aC0xXTpudWxsfWdldCB3ZWVrZGF5U2hvcnQoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2d0LndlZWtkYXlzKFxcXCJzaG9ydFxcXCIse2xvY09iajp0aGlzLmxvY30pW3RoaXMud2Vla2RheS0xXTpudWxsfWdldCB3ZWVrZGF5TG9uZygpe3JldHVybiB0aGlzLmlzVmFsaWQ/Z3Qud2Vla2RheXMoXFxcImxvbmdcXFwiLHtsb2NPYmo6dGhpcy5sb2N9KVt0aGlzLndlZWtkYXktMV06bnVsbH1nZXQgb2Zmc2V0KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD8rdGhpcy5vOk5hTn1nZXQgb2Zmc2V0TmFtZVNob3J0KCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnpvbmUub2Zmc2V0TmFtZSh0aGlzLnRzLHtmb3JtYXQ6XFxcInNob3J0XFxcIixsb2NhbGU6dGhpcy5sb2NhbGV9KTpudWxsfWdldCBvZmZzZXROYW1lTG9uZygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy56b25lLm9mZnNldE5hbWUodGhpcy50cyx7Zm9ybWF0OlxcXCJsb25nXFxcIixsb2NhbGU6dGhpcy5sb2NhbGV9KTpudWxsfWdldCBpc09mZnNldEZpeGVkKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnpvbmUuaXNVbml2ZXJzYWw6bnVsbH1nZXQgaXNJbkRTVCgpe3JldHVybiB0aGlzLmlzT2Zmc2V0Rml4ZWQ/ITE6dGhpcy5vZmZzZXQ+dGhpcy5zZXQoe21vbnRoOjEsZGF5OjF9KS5vZmZzZXR8fHRoaXMub2Zmc2V0PnRoaXMuc2V0KHttb250aDo1fSkub2Zmc2V0fWdldCBpc0luTGVhcFllYXIoKXtyZXR1cm4ganQodGhpcy55ZWFyKX1nZXQgZGF5c0luTW9udGgoKXtyZXR1cm4gdW4odGhpcy55ZWFyLHRoaXMubW9udGgpfWdldCBkYXlzSW5ZZWFyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9xdCh0aGlzLnllYXIpOk5hTn1nZXQgd2Vla3NJbldlZWtZZWFyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD9sbih0aGlzLndlZWtZZWFyKTpOYU59cmVzb2x2ZWRMb2NhbGVPcHRpb25zKGU9e30pe2xldHtsb2NhbGU6dCxudW1iZXJpbmdTeXN0ZW06cixjYWxlbmRhcjpzfT13ZS5jcmVhdGUodGhpcy5sb2MuY2xvbmUoZSksZSkucmVzb2x2ZWRPcHRpb25zKHRoaXMpO3JldHVybntsb2NhbGU6dCxudW1iZXJpbmdTeXN0ZW06cixvdXRwdXRDYWxlbmRhcjpzfX10b1VUQyhlPTAsdD17fSl7cmV0dXJuIHRoaXMuc2V0Wm9uZShoZS5pbnN0YW5jZShlKSx0KX10b0xvY2FsKCl7cmV0dXJuIHRoaXMuc2V0Wm9uZShYLmRlZmF1bHRab25lKX1zZXRab25lKGUse2tlZXBMb2NhbFRpbWU6dD0hMSxrZWVwQ2FsZW5kYXJUaW1lOnI9ITF9PXt9KXtpZihlPVZlKGUsWC5kZWZhdWx0Wm9uZSksZS5lcXVhbHModGhpcy56b25lKSlyZXR1cm4gdGhpcztpZihlLmlzVmFsaWQpe2xldCBzPXRoaXMudHM7aWYodHx8cil7bGV0IGk9ZS5vZmZzZXQodGhpcy50cyksbz10aGlzLnRvT2JqZWN0KCk7W3NdPXRzKG8saSxlKX1yZXR1cm4gZHIodGhpcyx7dHM6cyx6b25lOmV9KX1lbHNlIHJldHVybiBuLmludmFsaWQoWHIoZSkpfXJlY29uZmlndXJlKHtsb2NhbGU6ZSxudW1iZXJpbmdTeXN0ZW06dCxvdXRwdXRDYWxlbmRhcjpyfT17fSl7bGV0IHM9dGhpcy5sb2MuY2xvbmUoe2xvY2FsZTplLG51bWJlcmluZ1N5c3RlbTp0LG91dHB1dENhbGVuZGFyOnJ9KTtyZXR1cm4gZHIodGhpcyx7bG9jOnN9KX1zZXRMb2NhbGUoZSl7cmV0dXJuIHRoaXMucmVjb25maWd1cmUoe2xvY2FsZTplfSl9c2V0KGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IHQ9Y24oZSxBYSkscj0hVyh0LndlZWtZZWFyKXx8IVcodC53ZWVrTnVtYmVyKXx8IVcodC53ZWVrZGF5KSxzPSFXKHQub3JkaW5hbCksaT0hVyh0LnllYXIpLG89IVcodC5tb250aCl8fCFXKHQuZGF5KSxhPWl8fG8sdT10LndlZWtZZWFyfHx0LndlZWtOdW1iZXI7aWYoKGF8fHMpJiZ1KXRocm93IG5ldyBwdChcXFwiQ2FuJ3QgbWl4IHdlZWtZZWFyL3dlZWtOdW1iZXIgdW5pdHMgd2l0aCB5ZWFyL21vbnRoL2RheSBvciBvcmRpbmFsc1xcXCIpO2lmKG8mJnMpdGhyb3cgbmV3IHB0KFxcXCJDYW4ndCBtaXggb3JkaW5hbCBkYXRlcyB3aXRoIG1vbnRoL2RheVxcXCIpO2xldCBsO3I/bD1DaShSKFIoe30sWnIodGhpcy5jKSksdCkpOlcodC5vcmRpbmFsKT8obD1SKFIoe30sdGhpcy50b09iamVjdCgpKSx0KSxXKHQuZGF5KSYmKGwuZGF5PU1hdGgubWluKHVuKGwueWVhcixsLm1vbnRoKSxsLmRheSkpKTpsPXZpKFIoUih7fSxRcih0aGlzLmMpKSx0KSk7bGV0W2YsZF09dHMobCx0aGlzLm8sdGhpcy56b25lKTtyZXR1cm4gZHIodGhpcyx7dHM6ZixvOmR9KX1wbHVzKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IHQ9Qi5mcm9tRHVyYXRpb25MaWtlKGUpO3JldHVybiBkcih0aGlzLExhKHRoaXMsdCkpfW1pbnVzKGUpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuIHRoaXM7bGV0IHQ9Qi5mcm9tRHVyYXRpb25MaWtlKGUpLm5lZ2F0ZSgpO3JldHVybiBkcih0aGlzLExhKHRoaXMsdCkpfXN0YXJ0T2YoZSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm4gdGhpcztsZXQgdD17fSxyPUIubm9ybWFsaXplVW5pdChlKTtzd2l0Y2gocil7Y2FzZVxcXCJ5ZWFyc1xcXCI6dC5tb250aD0xO2Nhc2VcXFwicXVhcnRlcnNcXFwiOmNhc2VcXFwibW9udGhzXFxcIjp0LmRheT0xO2Nhc2VcXFwid2Vla3NcXFwiOmNhc2VcXFwiZGF5c1xcXCI6dC5ob3VyPTA7Y2FzZVxcXCJob3Vyc1xcXCI6dC5taW51dGU9MDtjYXNlXFxcIm1pbnV0ZXNcXFwiOnQuc2Vjb25kPTA7Y2FzZVxcXCJzZWNvbmRzXFxcIjp0Lm1pbGxpc2Vjb25kPTA7YnJlYWs7Y2FzZVxcXCJtaWxsaXNlY29uZHNcXFwiOmJyZWFrfWlmKHI9PT1cXFwid2Vla3NcXFwiJiYodC53ZWVrZGF5PTEpLHI9PT1cXFwicXVhcnRlcnNcXFwiKXtsZXQgcz1NYXRoLmNlaWwodGhpcy5tb250aC8zKTt0Lm1vbnRoPShzLTEpKjMrMX1yZXR1cm4gdGhpcy5zZXQodCl9ZW5kT2YoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnBsdXMoe1tlXToxfSkuc3RhcnRPZihlKS5taW51cygxKTp0aGlzfXRvRm9ybWF0KGUsdD17fSl7cmV0dXJuIHRoaXMuaXNWYWxpZD93ZS5jcmVhdGUodGhpcy5sb2MucmVkZWZhdWx0VG9FTih0KSkuZm9ybWF0RGF0ZVRpbWVGcm9tU3RyaW5nKHRoaXMsZSk6SWl9dG9Mb2NhbGVTdHJpbmcoZT1vbix0PXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3dlLmNyZWF0ZSh0aGlzLmxvYy5jbG9uZSh0KSxlKS5mb3JtYXREYXRlVGltZSh0aGlzKTpJaX10b0xvY2FsZVBhcnRzKGU9e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/d2UuY3JlYXRlKHRoaXMubG9jLmNsb25lKGUpLGUpLmZvcm1hdERhdGVUaW1lUGFydHModGhpcyk6W119dG9JU08oe2Zvcm1hdDplPVxcXCJleHRlbmRlZFxcXCIsc3VwcHJlc3NTZWNvbmRzOnQ9ITEsc3VwcHJlc3NNaWxsaXNlY29uZHM6cj0hMSxpbmNsdWRlT2Zmc2V0OnM9ITAsZXh0ZW5kZWRab25lOmk9ITF9PXt9KXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiBudWxsO2xldCBvPWU9PT1cXFwiZXh0ZW5kZWRcXFwiLGE9TmkodGhpcyxvKTtyZXR1cm4gYSs9XFxcIlRcXFwiLGErPU5hKHRoaXMsbyx0LHIscyxpKSxhfXRvSVNPRGF0ZSh7Zm9ybWF0OmU9XFxcImV4dGVuZGVkXFxcIn09e30pe3JldHVybiB0aGlzLmlzVmFsaWQ/TmkodGhpcyxlPT09XFxcImV4dGVuZGVkXFxcIik6bnVsbH10b0lTT1dlZWtEYXRlKCl7cmV0dXJuIGVzKHRoaXMsXFxcImtra2stJ1cnV1ctY1xcXCIpfXRvSVNPVGltZSh7c3VwcHJlc3NNaWxsaXNlY29uZHM6ZT0hMSxzdXBwcmVzc1NlY29uZHM6dD0hMSxpbmNsdWRlT2Zmc2V0OnI9ITAsaW5jbHVkZVByZWZpeDpzPSExLGV4dGVuZGVkWm9uZTppPSExLGZvcm1hdDpvPVxcXCJleHRlbmRlZFxcXCJ9PXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkPyhzP1xcXCJUXFxcIjpcXFwiXFxcIikrTmEodGhpcyxvPT09XFxcImV4dGVuZGVkXFxcIix0LGUscixpKTpudWxsfXRvUkZDMjgyMigpe3JldHVybiBlcyh0aGlzLFxcXCJFRUUsIGRkIExMTCB5eXl5IEhIOm1tOnNzIFpaWlxcXCIsITEpfXRvSFRUUCgpe3JldHVybiBlcyh0aGlzLnRvVVRDKCksXFxcIkVFRSwgZGQgTExMIHl5eXkgSEg6bW06c3MgJ0dNVCdcXFwiKX10b1NRTERhdGUoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP05pKHRoaXMsITApOm51bGx9dG9TUUxUaW1lKHtpbmNsdWRlT2Zmc2V0OmU9ITAsaW5jbHVkZVpvbmU6dD0hMSxpbmNsdWRlT2Zmc2V0U3BhY2U6cj0hMH09e30pe2xldCBzPVxcXCJISDptbTpzcy5TU1NcXFwiO3JldHVybih0fHxlKSYmKHImJihzKz1cXFwiIFxcXCIpLHQ/cys9XFxcInpcXFwiOmUmJihzKz1cXFwiWlpcXFwiKSksZXModGhpcyxzLCEwKX10b1NRTChlPXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP2Ake3RoaXMudG9TUUxEYXRlKCl9ICR7dGhpcy50b1NRTFRpbWUoZSl9YDpudWxsfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuaXNWYWxpZD90aGlzLnRvSVNPKCk6SWl9dmFsdWVPZigpe3JldHVybiB0aGlzLnRvTWlsbGlzKCl9dG9NaWxsaXMoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP3RoaXMudHM6TmFOfXRvU2Vjb25kcygpe3JldHVybiB0aGlzLmlzVmFsaWQ/dGhpcy50cy8xZTM6TmFOfXRvVW5peEludGVnZXIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkP01hdGguZmxvb3IodGhpcy50cy8xZTMpOk5hTn10b0pTT04oKXtyZXR1cm4gdGhpcy50b0lTTygpfXRvQlNPTigpe3JldHVybiB0aGlzLnRvSlNEYXRlKCl9dG9PYmplY3QoZT17fSl7aWYoIXRoaXMuaXNWYWxpZClyZXR1cm57fTtsZXQgdD1SKHt9LHRoaXMuYyk7cmV0dXJuIGUuaW5jbHVkZUNvbmZpZyYmKHQub3V0cHV0Q2FsZW5kYXI9dGhpcy5vdXRwdXRDYWxlbmRhcix0Lm51bWJlcmluZ1N5c3RlbT10aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0sdC5sb2NhbGU9dGhpcy5sb2MubG9jYWxlKSx0fXRvSlNEYXRlKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMuaXNWYWxpZD90aGlzLnRzOk5hTil9ZGlmZihlLHQ9XFxcIm1pbGxpc2Vjb25kc1xcXCIscj17fSl7aWYoIXRoaXMuaXNWYWxpZHx8IWUuaXNWYWxpZClyZXR1cm4gQi5pbnZhbGlkKFxcXCJjcmVhdGVkIGJ5IGRpZmZpbmcgYW4gaW52YWxpZCBEYXRlVGltZVxcXCIpO2xldCBzPVIoe2xvY2FsZTp0aGlzLmxvY2FsZSxudW1iZXJpbmdTeXN0ZW06dGhpcy5udW1iZXJpbmdTeXN0ZW19LHIpLGk9JG8odCkubWFwKEIubm9ybWFsaXplVW5pdCksbz1lLnZhbHVlT2YoKT50aGlzLnZhbHVlT2YoKSxhPW8/dGhpczplLHU9bz9lOnRoaXMsbD1tYShhLHUsaSxzKTtyZXR1cm4gbz9sLm5lZ2F0ZSgpOmx9ZGlmZk5vdyhlPVxcXCJtaWxsaXNlY29uZHNcXFwiLHQ9e30pe3JldHVybiB0aGlzLmRpZmYobi5ub3coKSxlLHQpfXVudGlsKGUpe3JldHVybiB0aGlzLmlzVmFsaWQ/eXQuZnJvbURhdGVUaW1lcyh0aGlzLGUpOnRoaXN9aGFzU2FtZShlLHQpe2lmKCF0aGlzLmlzVmFsaWQpcmV0dXJuITE7bGV0IHI9ZS52YWx1ZU9mKCkscz10aGlzLnNldFpvbmUoZS56b25lLHtrZWVwTG9jYWxUaW1lOiEwfSk7cmV0dXJuIHMuc3RhcnRPZih0KTw9ciYmcjw9cy5lbmRPZih0KX1lcXVhbHMoZSl7cmV0dXJuIHRoaXMuaXNWYWxpZCYmZS5pc1ZhbGlkJiZ0aGlzLnZhbHVlT2YoKT09PWUudmFsdWVPZigpJiZ0aGlzLnpvbmUuZXF1YWxzKGUuem9uZSkmJnRoaXMubG9jLmVxdWFscyhlLmxvYyl9dG9SZWxhdGl2ZShlPXt9KXtpZighdGhpcy5pc1ZhbGlkKXJldHVybiBudWxsO2xldCB0PWUuYmFzZXx8bi5mcm9tT2JqZWN0KHt9LHt6b25lOnRoaXMuem9uZX0pLHI9ZS5wYWRkaW5nP3RoaXM8dD8tZS5wYWRkaW5nOmUucGFkZGluZzowLHM9W1xcXCJ5ZWFyc1xcXCIsXFxcIm1vbnRoc1xcXCIsXFxcImRheXNcXFwiLFxcXCJob3Vyc1xcXCIsXFxcIm1pbnV0ZXNcXFwiLFxcXCJzZWNvbmRzXFxcIl0saT1lLnVuaXQ7cmV0dXJuIEFycmF5LmlzQXJyYXkoZS51bml0KSYmKHM9ZS51bml0LGk9dm9pZCAwKSxfYSh0LHRoaXMucGx1cyhyKSx5ZShSKHt9LGUpLHtudW1lcmljOlxcXCJhbHdheXNcXFwiLHVuaXRzOnMsdW5pdDppfSkpfXRvUmVsYXRpdmVDYWxlbmRhcihlPXt9KXtyZXR1cm4gdGhpcy5pc1ZhbGlkP19hKGUuYmFzZXx8bi5mcm9tT2JqZWN0KHt9LHt6b25lOnRoaXMuem9uZX0pLHRoaXMseWUoUih7fSxlKSx7bnVtZXJpYzpcXFwiYXV0b1xcXCIsdW5pdHM6W1xcXCJ5ZWFyc1xcXCIsXFxcIm1vbnRoc1xcXCIsXFxcImRheXNcXFwiXSxjYWxlbmRhcnk6ITB9KSk6bnVsbH1zdGF0aWMgbWluKC4uLmUpe2lmKCFlLmV2ZXJ5KG4uaXNEYXRlVGltZSkpdGhyb3cgbmV3IGZlKFxcXCJtaW4gcmVxdWlyZXMgYWxsIGFyZ3VtZW50cyBiZSBEYXRlVGltZXNcXFwiKTtyZXR1cm4gWHMoZSx0PT50LnZhbHVlT2YoKSxNYXRoLm1pbil9c3RhdGljIG1heCguLi5lKXtpZighZS5ldmVyeShuLmlzRGF0ZVRpbWUpKXRocm93IG5ldyBmZShcXFwibWF4IHJlcXVpcmVzIGFsbCBhcmd1bWVudHMgYmUgRGF0ZVRpbWVzXFxcIik7cmV0dXJuIFhzKGUsdD0+dC52YWx1ZU9mKCksTWF0aC5tYXgpfXN0YXRpYyBmcm9tRm9ybWF0RXhwbGFpbihlLHQscj17fSl7bGV0e2xvY2FsZTpzPW51bGwsbnVtYmVyaW5nU3lzdGVtOmk9bnVsbH09cixvPW5lLmZyb21PcHRzKHtsb2NhbGU6cyxudW1iZXJpbmdTeXN0ZW06aSxkZWZhdWx0VG9FTjohMH0pO3JldHVybiBraShvLGUsdCl9c3RhdGljIGZyb21TdHJpbmdFeHBsYWluKGUsdCxyPXt9KXtyZXR1cm4gbi5mcm9tRm9ybWF0RXhwbGFpbihlLHQscil9c3RhdGljIGdldCBEQVRFX1NIT1JUKCl7cmV0dXJuIG9ufXN0YXRpYyBnZXQgREFURV9NRUQoKXtyZXR1cm4gJG59c3RhdGljIGdldCBEQVRFX01FRF9XSVRIX1dFRUtEQVkoKXtyZXR1cm4gR3N9c3RhdGljIGdldCBEQVRFX0ZVTEwoKXtyZXR1cm4gUm59c3RhdGljIGdldCBEQVRFX0hVR0UoKXtyZXR1cm4gam59c3RhdGljIGdldCBUSU1FX1NJTVBMRSgpe3JldHVybiBxbn1zdGF0aWMgZ2V0IFRJTUVfV0lUSF9TRUNPTkRTKCl7cmV0dXJuIFZufXN0YXRpYyBnZXQgVElNRV9XSVRIX1NIT1JUX09GRlNFVCgpe3JldHVybiBVbn1zdGF0aWMgZ2V0IFRJTUVfV0lUSF9MT05HX09GRlNFVCgpe3JldHVybiBLbn1zdGF0aWMgZ2V0IFRJTUVfMjRfU0lNUExFKCl7cmV0dXJuIFdufXN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NFQ09ORFMoKXtyZXR1cm4gSG59c3RhdGljIGdldCBUSU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUKCl7cmV0dXJuIEpufXN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX0xPTkdfT0ZGU0VUKCl7cmV0dXJuIHpufXN0YXRpYyBnZXQgREFURVRJTUVfU0hPUlQoKXtyZXR1cm4gWW59c3RhdGljIGdldCBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMoKXtyZXR1cm4gR259c3RhdGljIGdldCBEQVRFVElNRV9NRUQoKXtyZXR1cm4gWm59c3RhdGljIGdldCBEQVRFVElNRV9NRURfV0lUSF9TRUNPTkRTKCl7cmV0dXJuIFFufXN0YXRpYyBnZXQgREFURVRJTUVfTUVEX1dJVEhfV0VFS0RBWSgpe3JldHVybiBac31zdGF0aWMgZ2V0IERBVEVUSU1FX0ZVTEwoKXtyZXR1cm4gWG59c3RhdGljIGdldCBEQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUygpe3JldHVybiBlcn1zdGF0aWMgZ2V0IERBVEVUSU1FX0hVR0UoKXtyZXR1cm4gdHJ9c3RhdGljIGdldCBEQVRFVElNRV9IVUdFX1dJVEhfU0VDT05EUygpe3JldHVybiBucn19O2Z1bmN0aW9uIGJuKG4pe2lmKHEuaXNEYXRlVGltZShuKSlyZXR1cm4gbjtpZihuJiZuLnZhbHVlT2YmJnR0KG4udmFsdWVPZigpKSlyZXR1cm4gcS5mcm9tSlNEYXRlKG4pO2lmKG4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIilyZXR1cm4gcS5mcm9tT2JqZWN0KG4pO3Rocm93IG5ldyBmZShgVW5rbm93biBkYXRldGltZSBhcmd1bWVudDogJHtufSwgb2YgdHlwZSAke3R5cGVvZiBufWApfXZhciBidD1WcihucygpKTt2YXIgRm49KCk9Pi9bIyowLTldXFxcXHVGRTBGP1xcXFx1MjBFM3xbXFxcXHhBOVxcXFx4QUVcXFxcdTIwM0NcXFxcdTIwNDlcXFxcdTIxMjJcXFxcdTIxMzlcXFxcdTIxOTQtXFxcXHUyMTk5XFxcXHUyMUE5XFxcXHUyMUFBXFxcXHUyMzFBXFxcXHUyMzFCXFxcXHUyMzI4XFxcXHUyM0NGXFxcXHUyM0VELVxcXFx1MjNFRlxcXFx1MjNGMVxcXFx1MjNGMlxcXFx1MjNGOC1cXFxcdTIzRkFcXFxcdTI0QzJcXFxcdTI1QUFcXFxcdTI1QUJcXFxcdTI1QjZcXFxcdTI1QzBcXFxcdTI1RkJcXFxcdTI1RkNcXFxcdTI1RkVcXFxcdTI2MDAtXFxcXHUyNjA0XFxcXHUyNjBFXFxcXHUyNjExXFxcXHUyNjE0XFxcXHUyNjE1XFxcXHUyNjE4XFxcXHUyNjIwXFxcXHUyNjIyXFxcXHUyNjIzXFxcXHUyNjI2XFxcXHUyNjJBXFxcXHUyNjJFXFxcXHUyNjJGXFxcXHUyNjM4LVxcXFx1MjYzQVxcXFx1MjY0MFxcXFx1MjY0MlxcXFx1MjY0OC1cXFxcdTI2NTNcXFxcdTI2NUZcXFxcdTI2NjBcXFxcdTI2NjNcXFxcdTI2NjVcXFxcdTI2NjZcXFxcdTI2NjhcXFxcdTI2N0JcXFxcdTI2N0VcXFxcdTI2N0ZcXFxcdTI2OTJcXFxcdTI2OTQtXFxcXHUyNjk3XFxcXHUyNjk5XFxcXHUyNjlCXFxcXHUyNjlDXFxcXHUyNkEwXFxcXHUyNkE3XFxcXHUyNkFBXFxcXHUyNkIwXFxcXHUyNkIxXFxcXHUyNkJEXFxcXHUyNkJFXFxcXHUyNkM0XFxcXHUyNkM4XFxcXHUyNkNGXFxcXHUyNkQxXFxcXHUyNkU5XFxcXHUyNkYwLVxcXFx1MjZGNVxcXFx1MjZGN1xcXFx1MjZGOFxcXFx1MjZGQVxcXFx1MjcwMlxcXFx1MjcwOFxcXFx1MjcwOVxcXFx1MjcwRlxcXFx1MjcxMlxcXFx1MjcxNFxcXFx1MjcxNlxcXFx1MjcxRFxcXFx1MjcyMVxcXFx1MjczM1xcXFx1MjczNFxcXFx1Mjc0NFxcXFx1Mjc0N1xcXFx1Mjc1N1xcXFx1Mjc2M1xcXFx1MjdBMVxcXFx1MjkzNFxcXFx1MjkzNVxcXFx1MkIwNS1cXFxcdTJCMDdcXFxcdTJCMUJcXFxcdTJCMUNcXFxcdTJCNTVcXFxcdTMwMzBcXFxcdTMwM0RcXFxcdTMyOTdcXFxcdTMyOTldXFxcXHVGRTBGP3xbXFxcXHUyNjFEXFxcXHUyNzBDXFxcXHUyNzBEXSg/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUZFMEYpP3xbXFxcXHUyNzBBXFxcXHUyNzBCXSg/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSk/fFtcXFxcdTIzRTktXFxcXHUyM0VDXFxcXHUyM0YwXFxcXHUyM0YzXFxcXHUyNUZEXFxcXHUyNjkzXFxcXHUyNkExXFxcXHUyNkFCXFxcXHUyNkM1XFxcXHUyNkNFXFxcXHUyNkQ0XFxcXHUyNkVBXFxcXHUyNkZEXFxcXHUyNzA1XFxcXHUyNzI4XFxcXHUyNzRDXFxcXHUyNzRFXFxcXHUyNzUzLVxcXFx1Mjc1NVxcXFx1Mjc5NS1cXFxcdTI3OTdcXFxcdTI3QjBcXFxcdTI3QkZcXFxcdTJCNTBdfFxcXFx1MjZEM1xcXFx1RkUwRj8oPzpcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURDQTUpP3xcXFxcdTI2RjkoPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVGRTBGKT8oPzpcXFxcdTIwMERbXFxcXHUyNjQwXFxcXHUyNjQyXVxcXFx1RkUwRj8pP3xcXFxcdTI3NjRcXFxcdUZFMEY/KD86XFxcXHUyMDBEKD86XFxcXHVEODNEXFxcXHVERDI1fFxcXFx1RDgzRVxcXFx1REU3OSkpP3xcXFxcdUQ4M0MoPzpbXFxcXHVEQzA0XFxcXHVERDcwXFxcXHVERDcxXFxcXHVERDdFXFxcXHVERDdGXFxcXHVERTAyXFxcXHVERTM3XFxcXHVERjIxXFxcXHVERjI0LVxcXFx1REYyQ1xcXFx1REYzNlxcXFx1REY3RFxcXFx1REY5NlxcXFx1REY5N1xcXFx1REY5OS1cXFxcdURGOUJcXFxcdURGOUVcXFxcdURGOUZcXFxcdURGQ0RcXFxcdURGQ0VcXFxcdURGRDQtXFxcXHVERkRGXFxcXHVERkY1XFxcXHVERkY3XVxcXFx1RkUwRj98W1xcXFx1REY4NVxcXFx1REZDMlxcXFx1REZDN10oPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pP3xbXFxcXHVERkM0XFxcXHVERkNBXSg/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSk/KD86XFxcXHUyMDBEW1xcXFx1MjY0MFxcXFx1MjY0Ml1cXFxcdUZFMEY/KT98W1xcXFx1REZDQlxcXFx1REZDQ10oPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVGRTBGKT8oPzpcXFxcdTIwMERbXFxcXHUyNjQwXFxcXHUyNjQyXVxcXFx1RkUwRj8pP3xbXFxcXHVEQ0NGXFxcXHVERDhFXFxcXHVERDkxLVxcXFx1REQ5QVxcXFx1REUwMVxcXFx1REUxQVxcXFx1REUyRlxcXFx1REUzMi1cXFxcdURFMzZcXFxcdURFMzgtXFxcXHVERTNBXFxcXHVERTUwXFxcXHVERTUxXFxcXHVERjAwLVxcXFx1REYyMFxcXFx1REYyRC1cXFxcdURGMzVcXFxcdURGMzctXFxcXHVERjQzXFxcXHVERjQ1LVxcXFx1REY0QVxcXFx1REY0Qy1cXFxcdURGN0NcXFxcdURGN0UtXFxcXHVERjg0XFxcXHVERjg2LVxcXFx1REY5M1xcXFx1REZBMC1cXFxcdURGQzFcXFxcdURGQzVcXFxcdURGQzZcXFxcdURGQzhcXFxcdURGQzlcXFxcdURGQ0YtXFxcXHVERkQzXFxcXHVERkUwLVxcXFx1REZGMFxcXFx1REZGOC1cXFxcdURGRkZdfFxcXFx1RERFNlxcXFx1RDgzQ1tcXFxcdURERTgtXFxcXHVEREVDXFxcXHVEREVFXFxcXHVEREYxXFxcXHVEREYyXFxcXHVEREY0XFxcXHVEREY2LVxcXFx1RERGQVxcXFx1RERGQ1xcXFx1RERGRFxcXFx1RERGRl18XFxcXHVEREU3XFxcXHVEODNDW1xcXFx1RERFNlxcXFx1RERFN1xcXFx1RERFOS1cXFxcdURERUZcXFxcdURERjEtXFxcXHVEREY0XFxcXHVEREY2LVxcXFx1RERGOVxcXFx1RERGQlxcXFx1RERGQ1xcXFx1RERGRVxcXFx1RERGRl18XFxcXHVEREU4XFxcXHVEODNDW1xcXFx1RERFNlxcXFx1RERFOFxcXFx1RERFOVxcXFx1RERFQi1cXFxcdURERUVcXFxcdURERjAtXFxcXHVEREY3XFxcXHVEREZBLVxcXFx1RERGRl18XFxcXHVEREU5XFxcXHVEODNDW1xcXFx1RERFQVxcXFx1RERFQ1xcXFx1RERFRlxcXFx1RERGMFxcXFx1RERGMlxcXFx1RERGNFxcXFx1RERGRl18XFxcXHVEREVBXFxcXHVEODNDW1xcXFx1RERFNlxcXFx1RERFOFxcXFx1RERFQVxcXFx1RERFQ1xcXFx1RERFRFxcXFx1RERGNy1cXFxcdURERkFdfFxcXFx1RERFQlxcXFx1RDgzQ1tcXFxcdURERUUtXFxcXHVEREYwXFxcXHVEREYyXFxcXHVEREY0XFxcXHVEREY3XXxcXFxcdURERUNcXFxcdUQ4M0NbXFxcXHVEREU2XFxcXHVEREU3XFxcXHVEREU5LVxcXFx1RERFRVxcXFx1RERGMS1cXFxcdURERjNcXFxcdURERjUtXFxcXHVEREZBXFxcXHVEREZDXFxcXHVEREZFXXxcXFxcdURERURcXFxcdUQ4M0NbXFxcXHVEREYwXFxcXHVEREYyXFxcXHVEREYzXFxcXHVEREY3XFxcXHVEREY5XFxcXHVEREZBXXxcXFxcdURERUVcXFxcdUQ4M0NbXFxcXHVEREU4LVxcXFx1RERFQVxcXFx1RERGMS1cXFxcdURERjRcXFxcdURERjYtXFxcXHVEREY5XXxcXFxcdURERUZcXFxcdUQ4M0NbXFxcXHVEREVBXFxcXHVEREYyXFxcXHVEREY0XFxcXHVEREY1XXxcXFxcdURERjBcXFxcdUQ4M0NbXFxcXHVEREVBXFxcXHVEREVDLVxcXFx1RERFRVxcXFx1RERGMlxcXFx1RERGM1xcXFx1RERGNVxcXFx1RERGN1xcXFx1RERGQ1xcXFx1RERGRVxcXFx1RERGRl18XFxcXHVEREYxXFxcXHVEODNDW1xcXFx1RERFNi1cXFxcdURERThcXFxcdURERUVcXFxcdURERjBcXFxcdURERjctXFxcXHVEREZCXFxcXHVEREZFXXxcXFxcdURERjJcXFxcdUQ4M0NbXFxcXHVEREU2XFxcXHVEREU4LVxcXFx1RERFRFxcXFx1RERGMC1cXFxcdURERkZdfFxcXFx1RERGM1xcXFx1RDgzQ1tcXFxcdURERTZcXFxcdURERThcXFxcdURERUEtXFxcXHVEREVDXFxcXHVEREVFXFxcXHVEREYxXFxcXHVEREY0XFxcXHVEREY1XFxcXHVEREY3XFxcXHVEREZBXFxcXHVEREZGXXxcXFxcdURERjRcXFxcdUQ4M0NcXFxcdURERjJ8XFxcXHVEREY1XFxcXHVEODNDW1xcXFx1RERFNlxcXFx1RERFQS1cXFxcdURERURcXFxcdURERjAtXFxcXHVEREYzXFxcXHVEREY3LVxcXFx1RERGOVxcXFx1RERGQ1xcXFx1RERGRV18XFxcXHVEREY2XFxcXHVEODNDXFxcXHVEREU2fFxcXFx1RERGN1xcXFx1RDgzQ1tcXFxcdURERUFcXFxcdURERjRcXFxcdURERjhcXFxcdURERkFcXFxcdURERkNdfFxcXFx1RERGOFxcXFx1RDgzQ1tcXFxcdURERTYtXFxcXHVEREVBXFxcXHVEREVDLVxcXFx1RERGNFxcXFx1RERGNy1cXFxcdURERjlcXFxcdURERkJcXFxcdURERkQtXFxcXHVEREZGXXxcXFxcdURERjlcXFxcdUQ4M0NbXFxcXHVEREU2XFxcXHVEREU4XFxcXHVEREU5XFxcXHVEREVCLVxcXFx1RERFRFxcXFx1RERFRi1cXFxcdURERjRcXFxcdURERjdcXFxcdURERjlcXFxcdURERkJcXFxcdURERkNcXFxcdURERkZdfFxcXFx1RERGQVxcXFx1RDgzQ1tcXFxcdURERTZcXFxcdURERUNcXFxcdURERjJcXFxcdURERjNcXFxcdURERjhcXFxcdURERkVcXFxcdURERkZdfFxcXFx1RERGQlxcXFx1RDgzQ1tcXFxcdURERTZcXFxcdURERThcXFxcdURERUFcXFxcdURERUNcXFxcdURERUVcXFxcdURERjNcXFxcdURERkFdfFxcXFx1RERGQ1xcXFx1RDgzQ1tcXFxcdURERUJcXFxcdURERjhdfFxcXFx1RERGRFxcXFx1RDgzQ1xcXFx1RERGMHxcXFxcdURERkVcXFxcdUQ4M0NbXFxcXHVEREVBXFxcXHVEREY5XXxcXFxcdURERkZcXFxcdUQ4M0NbXFxcXHVEREU2XFxcXHVEREYyXFxcXHVEREZDXXxcXFxcdURGNDQoPzpcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURGRUIpP3xcXFxcdURGNEIoPzpcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURGRTkpP3xcXFxcdURGQzMoPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pPyg/OlxcXFx1MjAwRCg/OltcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGPyg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xcXFxcdTI3QTFcXFxcdUZFMEY/KSk/fFxcXFx1REZGM1xcXFx1RkUwRj8oPzpcXFxcdTIwMEQoPzpcXFxcdTI2QTdcXFxcdUZFMEY/fFxcXFx1RDgzQ1xcXFx1REYwOCkpP3xcXFxcdURGRjQoPzpcXFxcdTIwMERcXFxcdTI2MjBcXFxcdUZFMEY/fFxcXFx1REI0MFxcXFx1REM2N1xcXFx1REI0MFxcXFx1REM2MlxcXFx1REI0MCg/OlxcXFx1REM2NVxcXFx1REI0MFxcXFx1REM2RVxcXFx1REI0MFxcXFx1REM2N3xcXFxcdURDNzNcXFxcdURCNDBcXFxcdURDNjNcXFxcdURCNDBcXFxcdURDNzR8XFxcXHVEQzc3XFxcXHVEQjQwXFxcXHVEQzZDXFxcXHVEQjQwXFxcXHVEQzczKVxcXFx1REI0MFxcXFx1REM3Rik/KXxcXFxcdUQ4M0QoPzpbXFxcXHVEQzNGXFxcXHVEQ0ZEXFxcXHVERDQ5XFxcXHVERDRBXFxcXHVERDZGXFxcXHVERDcwXFxcXHVERDczXFxcXHVERDc2LVxcXFx1REQ3OVxcXFx1REQ4N1xcXFx1REQ4QS1cXFxcdUREOERcXFxcdUREQTVcXFxcdUREQThcXFxcdUREQjFcXFxcdUREQjJcXFxcdUREQkNcXFxcdUREQzItXFxcXHVEREM0XFxcXHVEREQxLVxcXFx1REREM1xcXFx1REREQy1cXFxcdUREREVcXFxcdURERTFcXFxcdURERTNcXFxcdURERThcXFxcdURERUZcXFxcdURERjNcXFxcdURERkFcXFxcdURFQ0JcXFxcdURFQ0QtXFxcXHVERUNGXFxcXHVERUUwLVxcXFx1REVFNVxcXFx1REVFOVxcXFx1REVGMFxcXFx1REVGM11cXFxcdUZFMEY/fFtcXFxcdURDNDJcXFxcdURDNDNcXFxcdURDNDYtXFxcXHVEQzUwXFxcXHVEQzY2XFxcXHVEQzY3XFxcXHVEQzZCLVxcXFx1REM2RFxcXFx1REM3MlxcXFx1REM3NC1cXFxcdURDNzZcXFxcdURDNzhcXFxcdURDN0NcXFxcdURDODNcXFxcdURDODVcXFxcdURDOEZcXFxcdURDOTFcXFxcdURDQUFcXFxcdUREN0FcXFxcdUREOTVcXFxcdUREOTZcXFxcdURFNENcXFxcdURFNEZcXFxcdURFQzBcXFxcdURFQ0NdKD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKT98W1xcXFx1REM2RVxcXFx1REM3MFxcXFx1REM3MVxcXFx1REM3M1xcXFx1REM3N1xcXFx1REM4MVxcXFx1REM4MlxcXFx1REM4NlxcXFx1REM4N1xcXFx1REU0NS1cXFxcdURFNDdcXFxcdURFNEJcXFxcdURFNERcXFxcdURFNEVcXFxcdURFQTNcXFxcdURFQjRcXFxcdURFQjVdKD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKT8oPzpcXFxcdTIwMERbXFxcXHUyNjQwXFxcXHUyNjQyXVxcXFx1RkUwRj8pP3xbXFxcXHVERDc0XFxcXHVERDkwXSg/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUZFMEYpP3xbXFxcXHVEQzAwLVxcXFx1REMwN1xcXFx1REMwOS1cXFxcdURDMTRcXFxcdURDMTYtXFxcXHVEQzI1XFxcXHVEQzI3LVxcXFx1REMzQVxcXFx1REMzQy1cXFxcdURDM0VcXFxcdURDNDBcXFxcdURDNDRcXFxcdURDNDVcXFxcdURDNTEtXFxcXHVEQzY1XFxcXHVEQzZBXFxcXHVEQzc5LVxcXFx1REM3QlxcXFx1REM3RC1cXFxcdURDODBcXFxcdURDODRcXFxcdURDODgtXFxcXHVEQzhFXFxcXHVEQzkwXFxcXHVEQzkyLVxcXFx1RENBOVxcXFx1RENBQi1cXFxcdURDRkNcXFxcdURDRkYtXFxcXHVERDNEXFxcXHVERDRCLVxcXFx1REQ0RVxcXFx1REQ1MC1cXFxcdURENjdcXFxcdUREQTRcXFxcdURERkItXFxcXHVERTJEXFxcXHVERTJGLVxcXFx1REUzNFxcXFx1REUzNy1cXFxcdURFNDFcXFxcdURFNDNcXFxcdURFNDRcXFxcdURFNDgtXFxcXHVERTRBXFxcXHVERTgwLVxcXFx1REVBMlxcXFx1REVBNC1cXFxcdURFQjNcXFxcdURFQjctXFxcXHVERUJGXFxcXHVERUMxLVxcXFx1REVDNVxcXFx1REVEMC1cXFxcdURFRDJcXFxcdURFRDUtXFxcXHVERUQ3XFxcXHVERURDLVxcXFx1REVERlxcXFx1REVFQlxcXFx1REVFQ1xcXFx1REVGNC1cXFxcdURFRkNcXFxcdURGRTAtXFxcXHVERkVCXFxcXHVERkYwXXxcXFxcdURDMDgoPzpcXFxcdTIwMERcXFxcdTJCMUIpP3xcXFxcdURDMTUoPzpcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdUREQkEpP3xcXFxcdURDMjYoPzpcXFxcdTIwMEQoPzpcXFxcdTJCMUJ8XFxcXHVEODNEXFxcXHVERDI1KSk/fFxcXFx1REMzQig/OlxcXFx1MjAwRFxcXFx1Mjc0NFxcXFx1RkUwRj8pP3xcXFxcdURDNDFcXFxcdUZFMEY/KD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEREU4XFxcXHVGRTBGPyk/fFxcXFx1REM2OCg/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEXFxcXHVEODNEKD86XFxcXHVEQzhCXFxcXHUyMDBEXFxcXHVEODNEKT9cXFxcdURDNjh8XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEKD86W1xcXFx1REM2OFxcXFx1REM2OV1cXFxcdTIwMERcXFxcdUQ4M0QoPzpcXFxcdURDNjYoPzpcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURDNjYpP3xcXFxcdURDNjcoPzpcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY2XFxcXHVEQzY3XSk/KXxbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdURDNjYoPzpcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURDNjYpP3xcXFxcdURDNjcoPzpcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY2XFxcXHVEQzY3XSk/KXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM10pKXxcXFxcdUQ4M0MoPzpcXFxcdURGRkIoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OlxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRCk/XFxcXHVEQzY4XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURDNjhcXFxcdUQ4M0NbXFxcXHVERkZDLVxcXFx1REZGRl0pKSk/fFxcXFx1REZGQyg/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEXFxcXHVEODNEKD86XFxcXHVEQzhCXFxcXHUyMDBEXFxcXHVEODNEKT9cXFxcdURDNjhcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRFxcXFx1REM2OFxcXFx1RDgzQ1tcXFxcdURGRkJcXFxcdURGRkQtXFxcXHVERkZGXSkpKT98XFxcXHVERkZEKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMERcXFxcdUQ4M0QoPzpcXFxcdURDOEJcXFxcdTIwMERcXFxcdUQ4M0QpP1xcXFx1REM2OFxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQzY4XFxcXHVEODNDW1xcXFx1REZGQlxcXFx1REZGQ1xcXFx1REZGRVxcXFx1REZGRl0pKSk/fFxcXFx1REZGRSg/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEXFxcXHVEODNEKD86XFxcXHVEQzhCXFxcXHUyMDBEXFxcXHVEODNEKT9cXFxcdURDNjhcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRFxcXFx1REM2OFxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZEXFxcXHVERkZGXSkpKT98XFxcXHVERkZGKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMERcXFxcdUQ4M0QoPzpcXFxcdURDOEJcXFxcdTIwMERcXFxcdUQ4M0QpP1xcXFx1REM2OFxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQzY4XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkVdKSkpPykpP3xcXFxcdURDNjkoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OlxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRCk/W1xcXFx1REM2OFxcXFx1REM2OV18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEKD86W1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEQzY2KD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQzY2KT98XFxcXHVEQzY3KD86XFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2NlxcXFx1REM2N10pP3xcXFxcdURDNjlcXFxcdTIwMERcXFxcdUQ4M0QoPzpcXFxcdURDNjYoPzpcXFxcdTIwMERcXFxcdUQ4M0RcXFxcdURDNjYpP3xcXFxcdURDNjcoPzpcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY2XFxcXHVEQzY3XSk/KSl8XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdKSl8XFxcXHVEODNDKD86XFxcXHVERkZCKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMERcXFxcdUQ4M0QoPzpbXFxcXHVEQzY4XFxcXHVEQzY5XXxcXFxcdURDOEJcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY4XFxcXHVEQzY5XSlcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRFtcXFxcdURDNjhcXFxcdURDNjldXFxcXHVEODNDW1xcXFx1REZGQy1cXFxcdURGRkZdKSkpP3xcXFxcdURGRkMoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OltcXFxcdURDNjhcXFxcdURDNjldfFxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRFtcXFxcdURDNjhcXFxcdURDNjldKVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2OFxcXFx1REM2OV1cXFxcdUQ4M0NbXFxcXHVERkZCXFxcXHVERkZELVxcXFx1REZGRl0pKSk/fFxcXFx1REZGRCg/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEXFxcXHVEODNEKD86W1xcXFx1REM2OFxcXFx1REM2OV18XFxcXHVEQzhCXFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2OFxcXFx1REM2OV0pXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY4XFxcXHVEQzY5XVxcXFx1RDgzQ1tcXFxcdURGRkJcXFxcdURGRkNcXFxcdURGRkVcXFxcdURGRkZdKSkpP3xcXFxcdURGRkUoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRFxcXFx1RDgzRCg/OltcXFxcdURDNjhcXFxcdURDNjldfFxcXFx1REM4QlxcXFx1MjAwRFxcXFx1RDgzRFtcXFxcdURDNjhcXFxcdURDNjldKVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2OFxcXFx1REM2OV1cXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRFxcXFx1REZGRl0pKSk/fFxcXFx1REZGRig/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEXFxcXHVEODNEKD86W1xcXFx1REM2OFxcXFx1REM2OV18XFxcXHVEQzhCXFxcXHUyMDBEXFxcXHVEODNEW1xcXFx1REM2OFxcXFx1REM2OV0pXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0RbXFxcXHVEQzY4XFxcXHVEQzY5XVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZFXSkpKT8pKT98XFxcXHVEQzZGKD86XFxcXHUyMDBEW1xcXFx1MjY0MFxcXFx1MjY0Ml1cXFxcdUZFMEY/KT98XFxcXHVERDc1KD86XFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdfFxcXFx1RkUwRik/KD86XFxcXHUyMDBEW1xcXFx1MjY0MFxcXFx1MjY0Ml1cXFxcdUZFMEY/KT98XFxcXHVERTJFKD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQ0E4KT98XFxcXHVERTM1KD86XFxcXHUyMDBEXFxcXHVEODNEXFxcXHVEQ0FCKT98XFxcXHVERTM2KD86XFxcXHUyMDBEXFxcXHVEODNDXFxcXHVERjJCXFxcXHVGRTBGPyk/fFxcXFx1REU0Mig/OlxcXFx1MjAwRFtcXFxcdTIxOTRcXFxcdTIxOTVdXFxcXHVGRTBGPyk/fFxcXFx1REVCNig/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSk/KD86XFxcXHUyMDBEKD86W1xcXFx1MjY0MFxcXFx1MjY0Ml1cXFxcdUZFMEY/KD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFxcXFx1MjdBMVxcXFx1RkUwRj8pKT8pfFxcXFx1RDgzRSg/OltcXFxcdUREMENcXFxcdUREMEZcXFxcdUREMTgtXFxcXHVERDFGXFxcXHVERDMwLVxcXFx1REQzNFxcXFx1REQzNlxcXFx1REQ3N1xcXFx1RERCNVxcXFx1RERCNlxcXFx1RERCQlxcXFx1REREMlxcXFx1REREM1xcXFx1RERENVxcXFx1REVDMy1cXFxcdURFQzVcXFxcdURFRjBcXFxcdURFRjItXFxcXHVERUY4XSg/OlxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSk/fFtcXFxcdUREMjZcXFxcdUREMzVcXFxcdUREMzctXFxcXHVERDM5XFxcXHVERDNEXFxcXHVERDNFXFxcXHVEREI4XFxcXHVEREI5XFxcXHVERENEXFxcXHVERENGXFxcXHVEREQ0XFxcXHVEREQ2LVxcXFx1RERERF0oPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pPyg/OlxcXFx1MjAwRFtcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGPyk/fFtcXFxcdUREREVcXFxcdUREREZdKD86XFxcXHUyMDBEW1xcXFx1MjY0MFxcXFx1MjY0Ml1cXFxcdUZFMEY/KT98W1xcXFx1REQwRFxcXFx1REQwRVxcXFx1REQxMC1cXFxcdUREMTdcXFxcdUREMjAtXFxcXHVERDI1XFxcXHVERDI3LVxcXFx1REQyRlxcXFx1REQzQVxcXFx1REQzRi1cXFxcdURENDVcXFxcdURENDctXFxcXHVERDc2XFxcXHVERDc4LVxcXFx1RERCNFxcXFx1RERCN1xcXFx1RERCQVxcXFx1RERCQy1cXFxcdUREQ0NcXFxcdURERDBcXFxcdURERTAtXFxcXHVEREZGXFxcXHVERTcwLVxcXFx1REU3Q1xcXFx1REU4MC1cXFxcdURFODlcXFxcdURFOEYtXFxcXHVERUMyXFxcXHVERUM2XFxcXHVERUNFLVxcXFx1REVEQ1xcXFx1REVERi1cXFxcdURFRTldfFxcXFx1REQzQyg/OlxcXFx1MjAwRFtcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGP3xcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pP3xcXFxcdUREQ0UoPzpcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pPyg/OlxcXFx1MjAwRCg/OltcXFxcdTI2NDBcXFxcdTI2NDJdXFxcXHVGRTBGPyg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xcXFxcdTI3QTFcXFxcdUZFMEY/KSk/fFxcXFx1REREMSg/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjg0XFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNFXFxcXHVEREQxfFxcXFx1REREMVxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REREMig/OlxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REREMik/fFxcXFx1REREMig/OlxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REREMik/KSl8XFxcXHVEODNDKD86XFxcXHVERkZCKD86XFxcXHUyMDBEKD86W1xcXFx1MjY5NVxcXFx1MjY5NlxcXFx1MjcwOF1cXFxcdUZFMEY/fFxcXFx1Mjc2NFxcXFx1RkUwRj9cXFxcdTIwMEQoPzpcXFxcdUQ4M0RcXFxcdURDOEJcXFxcdTIwMEQpP1xcXFx1RDgzRVxcXFx1REREMVxcXFx1RDgzQ1tcXFxcdURGRkMtXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjg0XFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNFXFxcXHVEREQxXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKSkpP3xcXFxcdURGRkMoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRCg/OlxcXFx1RDgzRFxcXFx1REM4QlxcXFx1MjAwRCk/XFxcXHVEODNFXFxcXHVEREQxXFxcXHVEODNDW1xcXFx1REZGQlxcXFx1REZGRC1cXFxcdURGRkZdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGODRcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdURERDFcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pKSk/fFxcXFx1REZGRCg/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEKD86XFxcXHVEODNEXFxcXHVEQzhCXFxcXHUyMDBEKT9cXFxcdUQ4M0VcXFxcdURERDFcXFxcdUQ4M0NbXFxcXHVERkZCXFxcXHVERkZDXFxcXHVERkZFXFxcXHVERkZGXXxcXFxcdUQ4M0NbXFxcXHVERjNFXFxcXHVERjczXFxcXHVERjdDXFxcXHVERjg0XFxcXHVERjkzXFxcXHVERkE0XFxcXHVERkE4XFxcXHVERkVCXFxcXHVERkVEXXxcXFxcdUQ4M0RbXFxcXHVEQ0JCXFxcXHVEQ0JDXFxcXHVERDI3XFxcXHVERDJDXFxcXHVERTgwXFxcXHVERTkyXXxcXFxcdUQ4M0UoPzpbXFxcXHVEREFGXFxcXHVEREJDXFxcXHVEREJEXSg/OlxcXFx1MjAwRFxcXFx1MjdBMVxcXFx1RkUwRj8pP3xbXFxcXHVEREIwLVxcXFx1RERCM118XFxcXHVERDFEXFxcXHUyMDBEXFxcXHVEODNFXFxcXHVEREQxXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkZdKSkpP3xcXFxcdURGRkUoPzpcXFxcdTIwMEQoPzpbXFxcXHUyNjk1XFxcXHUyNjk2XFxcXHUyNzA4XVxcXFx1RkUwRj98XFxcXHUyNzY0XFxcXHVGRTBGP1xcXFx1MjAwRCg/OlxcXFx1RDgzRFxcXFx1REM4QlxcXFx1MjAwRCk/XFxcXHVEODNFXFxcXHVEREQxXFxcXHVEODNDW1xcXFx1REZGQi1cXFxcdURGRkRcXFxcdURGRkZdfFxcXFx1RDgzQ1tcXFxcdURGM0VcXFxcdURGNzNcXFxcdURGN0NcXFxcdURGODRcXFxcdURGOTNcXFxcdURGQTRcXFxcdURGQThcXFxcdURGRUJcXFxcdURGRURdfFxcXFx1RDgzRFtcXFxcdURDQkJcXFxcdURDQkNcXFxcdUREMjdcXFxcdUREMkNcXFxcdURFODBcXFxcdURFOTJdfFxcXFx1RDgzRSg/OltcXFxcdUREQUZcXFxcdUREQkNcXFxcdUREQkRdKD86XFxcXHUyMDBEXFxcXHUyN0ExXFxcXHVGRTBGPyk/fFtcXFxcdUREQjAtXFxcXHVEREIzXXxcXFxcdUREMURcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdURERDFcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRl0pKSk/fFxcXFx1REZGRig/OlxcXFx1MjAwRCg/OltcXFxcdTI2OTVcXFxcdTI2OTZcXFxcdTI3MDhdXFxcXHVGRTBGP3xcXFxcdTI3NjRcXFxcdUZFMEY/XFxcXHUyMDBEKD86XFxcXHVEODNEXFxcXHVEQzhCXFxcXHUyMDBEKT9cXFxcdUQ4M0VcXFxcdURERDFcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRV18XFxcXHVEODNDW1xcXFx1REYzRVxcXFx1REY3M1xcXFx1REY3Q1xcXFx1REY4NFxcXFx1REY5M1xcXFx1REZBNFxcXFx1REZBOFxcXFx1REZFQlxcXFx1REZFRF18XFxcXHVEODNEW1xcXFx1RENCQlxcXFx1RENCQ1xcXFx1REQyN1xcXFx1REQyQ1xcXFx1REU4MFxcXFx1REU5Ml18XFxcXHVEODNFKD86W1xcXFx1RERBRlxcXFx1RERCQ1xcXFx1RERCRF0oPzpcXFxcdTIwMERcXFxcdTI3QTFcXFxcdUZFMEY/KT98W1xcXFx1RERCMC1cXFxcdUREQjNdfFxcXFx1REQxRFxcXFx1MjAwRFxcXFx1RDgzRVxcXFx1REREMVxcXFx1RDgzQ1tcXFxcdURGRkItXFxcXHVERkZGXSkpKT8pKT98XFxcXHVERUYxKD86XFxcXHVEODNDKD86XFxcXHVERkZCKD86XFxcXHUyMDBEXFxcXHVEODNFXFxcXHVERUYyXFxcXHVEODNDW1xcXFx1REZGQy1cXFxcdURGRkZdKT98XFxcXHVERkZDKD86XFxcXHUyMDBEXFxcXHVEODNFXFxcXHVERUYyXFxcXHVEODNDW1xcXFx1REZGQlxcXFx1REZGRC1cXFxcdURGRkZdKT98XFxcXHVERkZEKD86XFxcXHUyMDBEXFxcXHVEODNFXFxcXHVERUYyXFxcXHVEODNDW1xcXFx1REZGQlxcXFx1REZGQ1xcXFx1REZGRVxcXFx1REZGRl0pP3xcXFxcdURGRkUoPzpcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdURFRjJcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRFxcXFx1REZGRl0pP3xcXFxcdURGRkYoPzpcXFxcdTIwMERcXFxcdUQ4M0VcXFxcdURFRjJcXFxcdUQ4M0NbXFxcXHVERkZCLVxcXFx1REZGRV0pPykpPykvZztmdW5jdGlvbiBNaShuKXtyZXR1cm4gbj09bnVsbD9uOm4uc2hpZnRUbyhcXFwieWVhcnNcXFwiLFxcXCJtb250aHNcXFwiLFxcXCJ3ZWVrc1xcXCIsXFxcImRheXNcXFwiLFxcXCJob3Vyc1xcXCIsXFxcIm1pbnV0ZXNcXFwiLFxcXCJzZWNvbmRzXFxcIixcXFwibWlsbGlzZWNvbmRzXFxcIikubm9ybWFsaXplKCl9ZnVuY3Rpb24gamEobixlLHQscil7cmV0dXJuIG4uc2Vjb25kPT0wJiZuLm1pbnV0ZT09MCYmbi5ob3VyPT0wP24udG9Mb2NhbCgpLnRvRm9ybWF0KGUse2xvY2FsZTpyfSk6bi50b0xvY2FsKCkudG9Gb3JtYXQodCx7bG9jYWxlOnJ9KX1mdW5jdGlvbiBxYShuKXtuPU1pKG4pO2xldCBlPVxcXCJcXFwiO3JldHVybiBuLnllYXJzJiYoZSs9YCR7bi55ZWFyc30geWVhcnMsIGApLG4ubW9udGhzJiYoZSs9YCR7bi5tb250aHN9IG1vbnRocywgYCksbi53ZWVrcyYmKGUrPWAke24ud2Vla3N9IHdlZWtzLCBgKSxuLmRheXMmJihlKz1gJHtuLmRheXN9IGRheXMsIGApLG4uaG91cnMmJihlKz1gJHtuLmhvdXJzfSBob3VycywgYCksbi5taW51dGVzJiYoZSs9YCR7bi5taW51dGVzfSBtaW51dGVzLCBgKSxuLnNlY29uZHMmJihlKz1gJHtNYXRoLnJvdW5kKG4uc2Vjb25kcyl9IHNlY29uZHMsIGApLG4ubWlsbGlzZWNvbmRzJiYoZSs9YCR7TWF0aC5yb3VuZChuLm1pbGxpc2Vjb25kcyl9IG1zLCBgKSxlLmVuZHNXaXRoKFxcXCIsIFxcXCIpJiYoZT1lLnN1YnN0cmluZygwLGUubGVuZ3RoLTIpKSxlfWZ1bmN0aW9uIEVuKG4pe3JldHVybiBuLmluY2x1ZGVzKFxcXCIvXFxcIikmJihuPW4uc3Vic3RyaW5nKG4ubGFzdEluZGV4T2YoXFxcIi9cXFwiKSsxKSksbi5lbmRzV2l0aChcXFwiLm1kXFxcIikmJihuPW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtMykpLG59ZnVuY3Rpb24gVmEobil7cmV0dXJuIG4uaW5jbHVkZXMoXFxcIi5cXFwiKT9uLnN1YnN0cmluZyhuLmxhc3RJbmRleE9mKFxcXCIuXFxcIikrMSk6XFxcIlxcXCJ9dmFyIFVjPWJ0LmFsdChidC5yZWdleChuZXcgUmVnRXhwKEZuKCksXFxcIlxcXCIpKSxidC5yZWdleCgvWzAtOVxcXFxwe0xldHRlcn1fLV0rL3UpLGJ0LndoaXRlc3BhY2UubWFwKG49PlxcXCIgXFxcIiksYnQuYW55Lm1hcChuPT5cXFwiIFxcXCIpKS5tYW55KCkubWFwKG49Pm4uam9pbihcXFwiXFxcIikuc3BsaXQoL1xcXFxzKy8pLmpvaW4oXFxcIiBcXFwiKS50cmltKCkpO2Z1bmN0aW9uIFVhKG4pe3JldHVybiBVYy50cnlQYXJzZShuKX12YXIgT2U9Y2xhc3MgbntzdGF0aWMgZmlsZShlLHQ9ITEscil7cmV0dXJuIG5ldyBuKHtwYXRoOmUsZW1iZWQ6dCxkaXNwbGF5OnIsc3VicGF0aDp2b2lkIDAsdHlwZTpcXFwiZmlsZVxcXCJ9KX1zdGF0aWMgaW5mZXIoZSx0PSExLHIpe2lmKGUuaW5jbHVkZXMoXFxcIiNeXFxcIikpe2xldCBzPWUuc3BsaXQoXFxcIiNeXFxcIik7cmV0dXJuIG4uYmxvY2soc1swXSxzWzFdLHQscil9ZWxzZSBpZihlLmluY2x1ZGVzKFxcXCIjXFxcIikpe2xldCBzPWUuc3BsaXQoXFxcIiNcXFwiKTtyZXR1cm4gbi5oZWFkZXIoc1swXSxzWzFdLHQscil9ZWxzZSByZXR1cm4gbi5maWxlKGUsdCxyKX1zdGF0aWMgaGVhZGVyKGUsdCxyLHMpe3JldHVybiBuZXcgbih7cGF0aDplLGVtYmVkOnIsZGlzcGxheTpzLHN1YnBhdGg6VWEodCksdHlwZTpcXFwiaGVhZGVyXFxcIn0pfXN0YXRpYyBibG9jayhlLHQscixzKXtyZXR1cm4gbmV3IG4oe3BhdGg6ZSxlbWJlZDpyLGRpc3BsYXk6cyxzdWJwYXRoOnQsdHlwZTpcXFwiYmxvY2tcXFwifSl9c3RhdGljIGZyb21PYmplY3QoZSl7cmV0dXJuIG5ldyBuKGUpfXN0YXRpYyBwYXJzZUlubmVyKGUpe2xldFt0LHJdPUtjKGUpO3JldHVybiBuLmluZmVyKHQsITEscil9Y29uc3RydWN0b3IoZSl7T2JqZWN0LmFzc2lnbih0aGlzLGUpfXdpdGhQYXRoKGUpe3JldHVybiBuZXcgbihPYmplY3QuYXNzaWduKHt9LHRoaXMse3BhdGg6ZX0pKX13aXRoRGlzcGxheShlKXtyZXR1cm4gbmV3IG4oT2JqZWN0LmFzc2lnbih7fSx0aGlzLHtkaXNwbGF5OmV9KSl9d2l0aEVtYmVkKGUpe3JldHVybiB0aGlzLmVtYmVkPT1lP3RoaXM6bmV3IG4oT2JqZWN0LmFzc2lnbih7fSx0aGlzLHtlbWJlZDplfSkpfXdpdGhIZWFkZXIoZSl7cmV0dXJuIG4uaGVhZGVyKHRoaXMucGF0aCxlLHRoaXMuZW1iZWQsdGhpcy5kaXNwbGF5KX13aXRoQmxvY2soZSl7cmV0dXJuIG4uYmxvY2sodGhpcy5wYXRoLGUsdGhpcy5lbWJlZCx0aGlzLmRpc3BsYXkpfWVxdWFscyhlKXtyZXR1cm4gZT09bnVsbHx8ZT09bnVsbD8hMTp0aGlzLnBhdGg9PWUucGF0aCYmdGhpcy50eXBlPT1lLnR5cGUmJnRoaXMuc3VicGF0aD09ZS5zdWJwYXRofXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubWFya2Rvd24oKX10b09iamVjdCgpe3JldHVybntwYXRoOnRoaXMucGF0aCx0eXBlOnRoaXMudHlwZSxzdWJwYXRoOnRoaXMuc3VicGF0aCxkaXNwbGF5OnRoaXMuZGlzcGxheSxlbWJlZDp0aGlzLmVtYmVkfX10b0ZpbGUoKXtyZXR1cm4gbi5maWxlKHRoaXMucGF0aCx0aGlzLmVtYmVkLHRoaXMuZGlzcGxheSl9dG9FbWJlZCgpe3JldHVybiB0aGlzLndpdGhFbWJlZCghMCl9ZnJvbUVtYmVkKCl7cmV0dXJuIHRoaXMud2l0aEVtYmVkKCExKX1tYXJrZG93bigpe2xldCBlPSh0aGlzLmVtYmVkP1xcXCIhXFxcIjpcXFwiXFxcIikrXFxcIltbXFxcIit0aGlzLm9ic2lkaWFuTGluaygpO3JldHVybiBlKz1cXFwifFxcXCIsZSs9dGhpcy5kaXNwbGF5T3JEZWZhdWx0KCksZSs9XFxcIl1dXFxcIixlfWRpc3BsYXlPckRlZmF1bHQoKXtpZih0aGlzLmRpc3BsYXkpcmV0dXJuIHRoaXMuZGlzcGxheTt7bGV0IGU9RW4odGhpcy5wYXRoKTtyZXR1cm4odGhpcy50eXBlPT1cXFwiaGVhZGVyXFxcInx8dGhpcy50eXBlPT1cXFwiYmxvY2tcXFwiKSYmKGUrPVxcXCIgPiBcXFwiK3RoaXMuc3VicGF0aCksZX19b2JzaWRpYW5MaW5rKCl7dmFyIHQscjtsZXQgZT10aGlzLnBhdGgucmVwbGFjZShcXFwifFxcXCIsXFxcIlxcXFxcXFxcfFxcXCIpO3JldHVybiB0aGlzLnR5cGU9PVxcXCJoZWFkZXJcXFwiP2UrXFxcIiNcXFwiKygodD10aGlzLnN1YnBhdGgpPT1udWxsP3ZvaWQgMDp0LnJlcGxhY2UoXFxcInxcXFwiLFxcXCJcXFxcXFxcXHxcXFwiKSk6dGhpcy50eXBlPT1cXFwiYmxvY2tcXFwiP2UrXFxcIiNeXFxcIisoKHI9dGhpcy5zdWJwYXRoKT09bnVsbD92b2lkIDA6ci5yZXBsYWNlKFxcXCJ8XFxcIixcXFwiXFxcXFxcXFx8XFxcIikpOmV9ZmlsZU5hbWUoKXtyZXR1cm4gRW4odGhpcy5wYXRoKX19O2Z1bmN0aW9uIEtjKG4pe2xldCBlPS0xO2Zvcig7KGU9bi5pbmRleE9mKFxcXCJ8XFxcIixlKzEpKT49MDspaWYoIShlPjAmJm5bZS0xXT09XFxcIlxcXFxcXFxcXFxcIikpcmV0dXJuW24uc3Vic3RyaW5nKDAsZSkucmVwbGFjZSgvXFxcXFxcXFxcXFxcfC9nLFxcXCJ8XFxcIiksbi5zdWJzdHJpbmcoZSsxKV07cmV0dXJuW24ucmVwbGFjZSgvXFxcXFxcXFxcXFxcfC9nLFxcXCJ8XFxcIiksdm9pZCAwXX12YXIgcnM9U3ltYm9sLmZvcihcXFwieWFtbC5hbGlhc1xcXCIpLHNzPVN5bWJvbC5mb3IoXFxcInlhbWwuZG9jdW1lbnRcXFwiKSxLZT1TeW1ib2wuZm9yKFxcXCJ5YW1sLm1hcFxcXCIpLF9pPVN5bWJvbC5mb3IoXFxcInlhbWwucGFpclxcXCIpLEllPVN5bWJvbC5mb3IoXFxcInlhbWwuc2NhbGFyXFxcIiksRnQ9U3ltYm9sLmZvcihcXFwieWFtbC5zZXFcXFwiKSxUZT1TeW1ib2wuZm9yKFxcXCJ5YW1sLm5vZGUudHlwZVxcXCIpLFdlPW49PiEhbiYmdHlwZW9mIG49PVxcXCJvYmplY3RcXFwiJiZuW1RlXT09PXJzLHJ0PW49PiEhbiYmdHlwZW9mIG49PVxcXCJvYmplY3RcXFwiJiZuW1RlXT09PXNzLEhlPW49PiEhbiYmdHlwZW9mIG49PVxcXCJvYmplY3RcXFwiJiZuW1RlXT09PUtlLEg9bj0+ISFuJiZ0eXBlb2Ygbj09XFxcIm9iamVjdFxcXCImJm5bVGVdPT09X2ksSz1uPT4hIW4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIiYmbltUZV09PT1JZSxKZT1uPT4hIW4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIiYmbltUZV09PT1GdDtmdW5jdGlvbiBaKG4pe2lmKG4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIilzd2l0Y2gobltUZV0pe2Nhc2UgS2U6Y2FzZSBGdDpyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBKKG4pe2lmKG4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIilzd2l0Y2gobltUZV0pe2Nhc2UgcnM6Y2FzZSBLZTpjYXNlIEllOmNhc2UgRnQ6cmV0dXJuITB9cmV0dXJuITF9dmFyIEthPW49PihLKG4pfHxaKG4pKSYmISFuLmFuY2hvcjt2YXIgQ2U9U3ltYm9sKFxcXCJicmVhayB2aXNpdFxcXCIpLFdhPVN5bWJvbChcXFwic2tpcCBjaGlsZHJlblxcXCIpLHN0PVN5bWJvbChcXFwicmVtb3ZlIG5vZGVcXFwiKTtmdW5jdGlvbiB6ZShuLGUpe2xldCB0PUhhKGUpO3J0KG4pP3duKG51bGwsbi5jb250ZW50cyx0LE9iamVjdC5mcmVlemUoW25dKSk9PT1zdCYmKG4uY29udGVudHM9bnVsbCk6d24obnVsbCxuLHQsT2JqZWN0LmZyZWV6ZShbXSkpfXplLkJSRUFLPUNlO3plLlNLSVA9V2E7emUuUkVNT1ZFPXN0O2Z1bmN0aW9uIHduKG4sZSx0LHIpe2xldCBzPUphKG4sZSx0LHIpO2lmKEoocyl8fEgocykpcmV0dXJuIHphKG4scixzKSx3bihuLHMsdCxyKTtpZih0eXBlb2YgcyE9XFxcInN5bWJvbFxcXCIpe2lmKFooZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7Zm9yKGxldCBpPTA7aTxlLml0ZW1zLmxlbmd0aDsrK2kpe2xldCBvPXduKGksZS5pdGVtc1tpXSx0LHIpO2lmKHR5cGVvZiBvPT1cXFwibnVtYmVyXFxcIilpPW8tMTtlbHNle2lmKG89PT1DZSlyZXR1cm4gQ2U7bz09PXN0JiYoZS5pdGVtcy5zcGxpY2UoaSwxKSxpLT0xKX19fWVsc2UgaWYoSChlKSl7cj1PYmplY3QuZnJlZXplKHIuY29uY2F0KGUpKTtsZXQgaT13bihcXFwia2V5XFxcIixlLmtleSx0LHIpO2lmKGk9PT1DZSlyZXR1cm4gQ2U7aT09PXN0JiYoZS5rZXk9bnVsbCk7bGV0IG89d24oXFxcInZhbHVlXFxcIixlLnZhbHVlLHQscik7aWYobz09PUNlKXJldHVybiBDZTtvPT09c3QmJihlLnZhbHVlPW51bGwpfX1yZXR1cm4gc31hc3luYyBmdW5jdGlvbiBpcyhuLGUpe2xldCB0PUhhKGUpO3J0KG4pP2F3YWl0IFRuKG51bGwsbi5jb250ZW50cyx0LE9iamVjdC5mcmVlemUoW25dKSk9PT1zdCYmKG4uY29udGVudHM9bnVsbCk6YXdhaXQgVG4obnVsbCxuLHQsT2JqZWN0LmZyZWV6ZShbXSkpfWlzLkJSRUFLPUNlO2lzLlNLSVA9V2E7aXMuUkVNT1ZFPXN0O2FzeW5jIGZ1bmN0aW9uIFRuKG4sZSx0LHIpe2xldCBzPWF3YWl0IEphKG4sZSx0LHIpO2lmKEoocyl8fEgocykpcmV0dXJuIHphKG4scixzKSxUbihuLHMsdCxyKTtpZih0eXBlb2YgcyE9XFxcInN5bWJvbFxcXCIpe2lmKFooZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7Zm9yKGxldCBpPTA7aTxlLml0ZW1zLmxlbmd0aDsrK2kpe2xldCBvPWF3YWl0IFRuKGksZS5pdGVtc1tpXSx0LHIpO2lmKHR5cGVvZiBvPT1cXFwibnVtYmVyXFxcIilpPW8tMTtlbHNle2lmKG89PT1DZSlyZXR1cm4gQ2U7bz09PXN0JiYoZS5pdGVtcy5zcGxpY2UoaSwxKSxpLT0xKX19fWVsc2UgaWYoSChlKSl7cj1PYmplY3QuZnJlZXplKHIuY29uY2F0KGUpKTtsZXQgaT1hd2FpdCBUbihcXFwia2V5XFxcIixlLmtleSx0LHIpO2lmKGk9PT1DZSlyZXR1cm4gQ2U7aT09PXN0JiYoZS5rZXk9bnVsbCk7bGV0IG89YXdhaXQgVG4oXFxcInZhbHVlXFxcIixlLnZhbHVlLHQscik7aWYobz09PUNlKXJldHVybiBDZTtvPT09c3QmJihlLnZhbHVlPW51bGwpfX1yZXR1cm4gc31mdW5jdGlvbiBIYShuKXtyZXR1cm4gdHlwZW9mIG49PVxcXCJvYmplY3RcXFwiJiYobi5Db2xsZWN0aW9ufHxuLk5vZGV8fG4uVmFsdWUpP09iamVjdC5hc3NpZ24oe0FsaWFzOm4uTm9kZSxNYXA6bi5Ob2RlLFNjYWxhcjpuLk5vZGUsU2VxOm4uTm9kZX0sbi5WYWx1ZSYme01hcDpuLlZhbHVlLFNjYWxhcjpuLlZhbHVlLFNlcTpuLlZhbHVlfSxuLkNvbGxlY3Rpb24mJntNYXA6bi5Db2xsZWN0aW9uLFNlcTpuLkNvbGxlY3Rpb259LG4pOm59ZnVuY3Rpb24gSmEobixlLHQscil7dmFyIHMsaSxvLGEsdTtpZih0eXBlb2YgdD09XFxcImZ1bmN0aW9uXFxcIilyZXR1cm4gdChuLGUscik7aWYoSGUoZSkpcmV0dXJuKHM9dC5NYXApPT1udWxsP3ZvaWQgMDpzLmNhbGwodCxuLGUscik7aWYoSmUoZSkpcmV0dXJuKGk9dC5TZXEpPT1udWxsP3ZvaWQgMDppLmNhbGwodCxuLGUscik7aWYoSChlKSlyZXR1cm4obz10LlBhaXIpPT1udWxsP3ZvaWQgMDpvLmNhbGwodCxuLGUscik7aWYoSyhlKSlyZXR1cm4oYT10LlNjYWxhcik9PW51bGw/dm9pZCAwOmEuY2FsbCh0LG4sZSxyKTtpZihXZShlKSlyZXR1cm4odT10LkFsaWFzKT09bnVsbD92b2lkIDA6dS5jYWxsKHQsbixlLHIpfWZ1bmN0aW9uIHphKG4sZSx0KXtsZXQgcj1lW2UubGVuZ3RoLTFdO2lmKFoocikpci5pdGVtc1tuXT10O2Vsc2UgaWYoSChyKSluPT09XFxcImtleVxcXCI/ci5rZXk9dDpyLnZhbHVlPXQ7ZWxzZSBpZihydChyKSlyLmNvbnRlbnRzPXQ7ZWxzZXtsZXQgcz1XZShyKT9cXFwiYWxpYXNcXFwiOlxcXCJzY2FsYXJcXFwiO3Rocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlcGxhY2Ugbm9kZSB3aXRoICR7c30gcGFyZW50YCl9fXZhciBXYz17XFxcIiFcXFwiOlxcXCIlMjFcXFwiLFxcXCIsXFxcIjpcXFwiJTJDXFxcIixcXFwiW1xcXCI6XFxcIiU1QlxcXCIsXFxcIl1cXFwiOlxcXCIlNURcXFwiLFxcXCJ7XFxcIjpcXFwiJTdCXFxcIixcXFwifVxcXCI6XFxcIiU3RFxcXCJ9LEhjPW49Pm4ucmVwbGFjZSgvWyEsW1xcXFxde31dL2csZT0+V2NbZV0pLGl0PWNsYXNzIG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLmRvY1N0YXJ0PW51bGwsdGhpcy5kb2NFbmQ9ITEsdGhpcy55YW1sPU9iamVjdC5hc3NpZ24oe30sbi5kZWZhdWx0WWFtbCxlKSx0aGlzLnRhZ3M9T2JqZWN0LmFzc2lnbih7fSxuLmRlZmF1bHRUYWdzLHQpfWNsb25lKCl7bGV0IGU9bmV3IG4odGhpcy55YW1sLHRoaXMudGFncyk7cmV0dXJuIGUuZG9jU3RhcnQ9dGhpcy5kb2NTdGFydCxlfWF0RG9jdW1lbnQoKXtsZXQgZT1uZXcgbih0aGlzLnlhbWwsdGhpcy50YWdzKTtzd2l0Y2godGhpcy55YW1sLnZlcnNpb24pe2Nhc2VcXFwiMS4xXFxcIjp0aGlzLmF0TmV4dERvY3VtZW50PSEwO2JyZWFrO2Nhc2VcXFwiMS4yXFxcIjp0aGlzLmF0TmV4dERvY3VtZW50PSExLHRoaXMueWFtbD17ZXhwbGljaXQ6bi5kZWZhdWx0WWFtbC5leHBsaWNpdCx2ZXJzaW9uOlxcXCIxLjJcXFwifSx0aGlzLnRhZ3M9T2JqZWN0LmFzc2lnbih7fSxuLmRlZmF1bHRUYWdzKTticmVha31yZXR1cm4gZX1hZGQoZSx0KXt0aGlzLmF0TmV4dERvY3VtZW50JiYodGhpcy55YW1sPXtleHBsaWNpdDpuLmRlZmF1bHRZYW1sLmV4cGxpY2l0LHZlcnNpb246XFxcIjEuMVxcXCJ9LHRoaXMudGFncz1PYmplY3QuYXNzaWduKHt9LG4uZGVmYXVsdFRhZ3MpLHRoaXMuYXROZXh0RG9jdW1lbnQ9ITEpO2xldCByPWUudHJpbSgpLnNwbGl0KC9bIFxcXFx0XSsvKSxzPXIuc2hpZnQoKTtzd2l0Y2gocyl7Y2FzZVxcXCIlVEFHXFxcIjp7aWYoci5sZW5ndGghPT0yJiYodCgwLFxcXCIlVEFHIGRpcmVjdGl2ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IHR3byBwYXJ0c1xcXCIpLHIubGVuZ3RoPDIpKXJldHVybiExO2xldFtpLG9dPXI7cmV0dXJuIHRoaXMudGFnc1tpXT1vLCEwfWNhc2VcXFwiJVlBTUxcXFwiOntpZih0aGlzLnlhbWwuZXhwbGljaXQ9ITAsci5sZW5ndGghPT0xKXJldHVybiB0KDAsXFxcIiVZQU1MIGRpcmVjdGl2ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IG9uZSBwYXJ0XFxcIiksITE7bGV0W2ldPXI7aWYoaT09PVxcXCIxLjFcXFwifHxpPT09XFxcIjEuMlxcXCIpcmV0dXJuIHRoaXMueWFtbC52ZXJzaW9uPWksITA7e2xldCBvPS9eXFxcXGQrXFxcXC5cXFxcZCskLy50ZXN0KGkpO3JldHVybiB0KDYsYFVuc3VwcG9ydGVkIFlBTUwgdmVyc2lvbiAke2l9YCxvKSwhMX19ZGVmYXVsdDpyZXR1cm4gdCgwLGBVbmtub3duIGRpcmVjdGl2ZSAke3N9YCwhMCksITF9fXRhZ05hbWUoZSx0KXtpZihlPT09XFxcIiFcXFwiKXJldHVyblxcXCIhXFxcIjtpZihlWzBdIT09XFxcIiFcXFwiKXJldHVybiB0KGBOb3QgYSB2YWxpZCB0YWc6ICR7ZX1gKSxudWxsO2lmKGVbMV09PT1cXFwiPFxcXCIpe2xldCBvPWUuc2xpY2UoMiwtMSk7cmV0dXJuIG89PT1cXFwiIVxcXCJ8fG89PT1cXFwiISFcXFwiPyh0KGBWZXJiYXRpbSB0YWdzIGFyZW4ndCByZXNvbHZlZCwgc28gJHtlfSBpcyBpbnZhbGlkLmApLG51bGwpOihlW2UubGVuZ3RoLTFdIT09XFxcIj5cXFwiJiZ0KFxcXCJWZXJiYXRpbSB0YWdzIG11c3QgZW5kIHdpdGggYSA+XFxcIiksbyl9bGV0WyxyLHNdPWUubWF0Y2gobmV3IFJlZ0V4cChcXFwiXiguKiEpKFteIV0qKSRcXFwiLFxcXCJzXFxcIikpO3N8fHQoYFRoZSAke2V9IHRhZyBoYXMgbm8gc3VmZml4YCk7bGV0IGk9dGhpcy50YWdzW3JdO2lmKGkpdHJ5e3JldHVybiBpK2RlY29kZVVSSUNvbXBvbmVudChzKX1jYXRjaChvKXtyZXR1cm4gdChTdHJpbmcobykpLG51bGx9cmV0dXJuIHI9PT1cXFwiIVxcXCI/ZToodChgQ291bGQgbm90IHJlc29sdmUgdGFnOiAke2V9YCksbnVsbCl9dGFnU3RyaW5nKGUpe2ZvcihsZXRbdCxyXW9mIE9iamVjdC5lbnRyaWVzKHRoaXMudGFncykpaWYoZS5zdGFydHNXaXRoKHIpKXJldHVybiB0K0hjKGUuc3Vic3RyaW5nKHIubGVuZ3RoKSk7cmV0dXJuIGVbMF09PT1cXFwiIVxcXCI/ZTpgITwke2V9PmB9dG9TdHJpbmcoZSl7bGV0IHQ9dGhpcy55YW1sLmV4cGxpY2l0P1tgJVlBTUwgJHt0aGlzLnlhbWwudmVyc2lvbnx8XFxcIjEuMlxcXCJ9YF06W10scj1PYmplY3QuZW50cmllcyh0aGlzLnRhZ3MpLHM7aWYoZSYmci5sZW5ndGg+MCYmSihlLmNvbnRlbnRzKSl7bGV0IGk9e307emUoZS5jb250ZW50cywobyxhKT0+e0ooYSkmJmEudGFnJiYoaVthLnRhZ109ITApfSkscz1PYmplY3Qua2V5cyhpKX1lbHNlIHM9W107Zm9yKGxldFtpLG9db2YgcilpPT09XFxcIiEhXFxcIiYmbz09PVxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpcXFwifHwoIWV8fHMuc29tZShhPT5hLnN0YXJ0c1dpdGgobykpKSYmdC5wdXNoKGAlVEFHICR7aX0gJHtvfWApO3JldHVybiB0LmpvaW4oYFxcbmApfX07aXQuZGVmYXVsdFlhbWw9e2V4cGxpY2l0OiExLHZlcnNpb246XFxcIjEuMlxcXCJ9O2l0LmRlZmF1bHRUYWdzPXtcXFwiISFcXFwiOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpcXFwifTtmdW5jdGlvbiBvcyhuKXtpZigvW1xcXFx4MDAtXFxcXHgxOVxcXFxzLFtcXFxcXXt9XS8udGVzdChuKSl7bGV0IHQ9YEFuY2hvciBtdXN0IG5vdCBjb250YWluIHdoaXRlc3BhY2Ugb3IgY29udHJvbCBjaGFyYWN0ZXJzOiAke0pTT04uc3RyaW5naWZ5KG4pfWA7dGhyb3cgbmV3IEVycm9yKHQpfXJldHVybiEwfWZ1bmN0aW9uIEJpKG4pe2xldCBlPW5ldyBTZXQ7cmV0dXJuIHplKG4se1ZhbHVlKHQscil7ci5hbmNob3ImJmUuYWRkKHIuYW5jaG9yKX19KSxlfWZ1bmN0aW9uIFBpKG4sZSl7Zm9yKGxldCB0PTE7OysrdCl7bGV0IHI9YCR7bn0ke3R9YDtpZighZS5oYXMocikpcmV0dXJuIHJ9fWZ1bmN0aW9uIFlhKG4sZSl7bGV0IHQ9W10scj1uZXcgTWFwLHM9bnVsbDtyZXR1cm57b25BbmNob3I6aT0+e3QucHVzaChpKSxzfHwocz1CaShuKSk7bGV0IG89UGkoZSxzKTtyZXR1cm4gcy5hZGQobyksb30sc2V0QW5jaG9yczooKT0+e2ZvcihsZXQgaSBvZiB0KXtsZXQgbz1yLmdldChpKTtpZih0eXBlb2Ygbz09XFxcIm9iamVjdFxcXCImJm8uYW5jaG9yJiYoSyhvLm5vZGUpfHxaKG8ubm9kZSkpKW8ubm9kZS5hbmNob3I9by5hbmNob3I7ZWxzZXtsZXQgYT1uZXcgRXJyb3IoXFxcIkZhaWxlZCB0byByZXNvbHZlIHJlcGVhdGVkIG9iamVjdCAodGhpcyBzaG91bGQgbm90IGhhcHBlbilcXFwiKTt0aHJvdyBhLnNvdXJjZT1pLGF9fX0sc291cmNlT2JqZWN0czpyfX1mdW5jdGlvbiB4dChuLGUsdCxyKXtpZihyJiZ0eXBlb2Ygcj09XFxcIm9iamVjdFxcXCIpaWYoQXJyYXkuaXNBcnJheShyKSlmb3IobGV0IHM9MCxpPXIubGVuZ3RoO3M8aTsrK3Mpe2xldCBvPXJbc10sYT14dChuLHIsU3RyaW5nKHMpLG8pO2E9PT12b2lkIDA/ZGVsZXRlIHJbc106YSE9PW8mJihyW3NdPWEpfWVsc2UgaWYociBpbnN0YW5jZW9mIE1hcClmb3IobGV0IHMgb2YgQXJyYXkuZnJvbShyLmtleXMoKSkpe2xldCBpPXIuZ2V0KHMpLG89eHQobixyLHMsaSk7bz09PXZvaWQgMD9yLmRlbGV0ZShzKTpvIT09aSYmci5zZXQocyxvKX1lbHNlIGlmKHIgaW5zdGFuY2VvZiBTZXQpZm9yKGxldCBzIG9mIEFycmF5LmZyb20ocikpe2xldCBpPXh0KG4scixzLHMpO2k9PT12b2lkIDA/ci5kZWxldGUocyk6aSE9PXMmJihyLmRlbGV0ZShzKSxyLmFkZChpKSl9ZWxzZSBmb3IobGV0W3MsaV1vZiBPYmplY3QuZW50cmllcyhyKSl7bGV0IG89eHQobixyLHMsaSk7bz09PXZvaWQgMD9kZWxldGUgcltzXTpvIT09aSYmKHJbc109byl9cmV0dXJuIG4uY2FsbChlLHQscil9ZnVuY3Rpb24gY2UobixlLHQpe2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG4ubWFwKChyLHMpPT5jZShyLFN0cmluZyhzKSx0KSk7aWYobiYmdHlwZW9mIG4udG9KU09OPT1cXFwiZnVuY3Rpb25cXFwiKXtpZighdHx8IUthKG4pKXJldHVybiBuLnRvSlNPTihlLHQpO2xldCByPXthbGlhc0NvdW50OjAsY291bnQ6MSxyZXM6dm9pZCAwfTt0LmFuY2hvcnMuc2V0KG4sciksdC5vbkNyZWF0ZT1pPT57ci5yZXM9aSxkZWxldGUgdC5vbkNyZWF0ZX07bGV0IHM9bi50b0pTT04oZSx0KTtyZXR1cm4gdC5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShzKSxzfXJldHVybiB0eXBlb2Ygbj09XFxcImJpZ2ludFxcXCImJiEodCE9bnVsbCYmdC5rZWVwKT9OdW1iZXIobik6bn12YXIgT3Q9Y2xhc3N7Y29uc3RydWN0b3IoZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsVGUse3ZhbHVlOmV9KX1jbG9uZSgpe2xldCBlPU9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHRoaXMpKTtyZXR1cm4gdGhpcy5yYW5nZSYmKGUucmFuZ2U9dGhpcy5yYW5nZS5zbGljZSgpKSxlfXRvSlMoZSx7bWFwQXNNYXA6dCxtYXhBbGlhc0NvdW50OnIsb25BbmNob3I6cyxyZXZpdmVyOml9PXt9KXtpZighcnQoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiQSBkb2N1bWVudCBhcmd1bWVudCBpcyByZXF1aXJlZFxcXCIpO2xldCBvPXthbmNob3JzOm5ldyBNYXAsZG9jOmUsa2VlcDohMCxtYXBBc01hcDp0PT09ITAsbWFwS2V5V2FybmVkOiExLG1heEFsaWFzQ291bnQ6dHlwZW9mIHI9PVxcXCJudW1iZXJcXFwiP3I6MTAwfSxhPWNlKHRoaXMsXFxcIlxcXCIsbyk7aWYodHlwZW9mIHM9PVxcXCJmdW5jdGlvblxcXCIpZm9yKGxldHtjb3VudDp1LHJlczpsfW9mIG8uYW5jaG9ycy52YWx1ZXMoKSlzKGwsdSk7cmV0dXJuIHR5cGVvZiBpPT1cXFwiZnVuY3Rpb25cXFwiP3h0KGkse1xcXCJcXFwiOmF9LFxcXCJcXFwiLGEpOmF9fTt2YXIgRXQ9Y2xhc3MgZXh0ZW5kcyBPdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihycyksdGhpcy5zb3VyY2U9ZSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxcXFwidGFnXFxcIix7c2V0KCl7dGhyb3cgbmV3IEVycm9yKFxcXCJBbGlhcyBub2RlcyBjYW5ub3QgaGF2ZSB0YWdzXFxcIil9fSl9cmVzb2x2ZShlKXtsZXQgdDtyZXR1cm4gemUoZSx7Tm9kZToocixzKT0+e2lmKHM9PT10aGlzKXJldHVybiB6ZS5CUkVBSztzLmFuY2hvcj09PXRoaXMuc291cmNlJiYodD1zKX19KSx0fXRvSlNPTihlLHQpe2lmKCF0KXJldHVybntzb3VyY2U6dGhpcy5zb3VyY2V9O2xldHthbmNob3JzOnIsZG9jOnMsbWF4QWxpYXNDb3VudDppfT10LG89dGhpcy5yZXNvbHZlKHMpO2lmKCFvKXtsZXQgdT1gVW5yZXNvbHZlZCBhbGlhcyAodGhlIGFuY2hvciBtdXN0IGJlIHNldCBiZWZvcmUgdGhlIGFsaWFzKTogJHt0aGlzLnNvdXJjZX1gO3Rocm93IG5ldyBSZWZlcmVuY2VFcnJvcih1KX1sZXQgYT1yLmdldChvKTtpZihhfHwoY2UobyxudWxsLHQpLGE9ci5nZXQobykpLCFhfHxhLnJlcz09PXZvaWQgMCl7bGV0IHU9XFxcIlRoaXMgc2hvdWxkIG5vdCBoYXBwZW46IEFsaWFzIGFuY2hvciB3YXMgbm90IHJlc29sdmVkP1xcXCI7dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKHUpfWlmKGk+PTAmJihhLmNvdW50Kz0xLGEuYWxpYXNDb3VudD09PTAmJihhLmFsaWFzQ291bnQ9YXMocyxvLHIpKSxhLmNvdW50KmEuYWxpYXNDb3VudD5pKSl7bGV0IHU9XFxcIkV4Y2Vzc2l2ZSBhbGlhcyBjb3VudCBpbmRpY2F0ZXMgYSByZXNvdXJjZSBleGhhdXN0aW9uIGF0dGFja1xcXCI7dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKHUpfXJldHVybiBhLnJlc310b1N0cmluZyhlLHQscil7bGV0IHM9YCoke3RoaXMuc291cmNlfWA7aWYoZSl7aWYob3ModGhpcy5zb3VyY2UpLGUub3B0aW9ucy52ZXJpZnlBbGlhc09yZGVyJiYhZS5hbmNob3JzLmhhcyh0aGlzLnNvdXJjZSkpe2xldCBpPWBVbnJlc29sdmVkIGFsaWFzICh0aGUgYW5jaG9yIG11c3QgYmUgc2V0IGJlZm9yZSB0aGUgYWxpYXMpOiAke3RoaXMuc291cmNlfWA7dGhyb3cgbmV3IEVycm9yKGkpfWlmKGUuaW1wbGljaXRLZXkpcmV0dXJuYCR7c30gYH1yZXR1cm4gc319O2Z1bmN0aW9uIGFzKG4sZSx0KXtpZihXZShlKSl7bGV0IHI9ZS5yZXNvbHZlKG4pLHM9dCYmciYmdC5nZXQocik7cmV0dXJuIHM/cy5jb3VudCpzLmFsaWFzQ291bnQ6MH1lbHNlIGlmKFooZSkpe2xldCByPTA7Zm9yKGxldCBzIG9mIGUuaXRlbXMpe2xldCBpPWFzKG4scyx0KTtpPnImJihyPWkpfXJldHVybiByfWVsc2UgaWYoSChlKSl7bGV0IHI9YXMobixlLmtleSx0KSxzPWFzKG4sZS52YWx1ZSx0KTtyZXR1cm4gTWF0aC5tYXgocixzKX1yZXR1cm4gMX12YXIgdXM9bj0+IW58fHR5cGVvZiBuIT1cXFwiZnVuY3Rpb25cXFwiJiZ0eXBlb2YgbiE9XFxcIm9iamVjdFxcXCIsUD1jbGFzcyBleHRlbmRzIE90e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEllKSx0aGlzLnZhbHVlPWV9dG9KU09OKGUsdCl7cmV0dXJuIHQhPW51bGwmJnQua2VlcD90aGlzLnZhbHVlOmNlKHRoaXMudmFsdWUsZSx0KX10b1N0cmluZygpe3JldHVybiBTdHJpbmcodGhpcy52YWx1ZSl9fTtQLkJMT0NLX0ZPTERFRD1cXFwiQkxPQ0tfRk9MREVEXFxcIjtQLkJMT0NLX0xJVEVSQUw9XFxcIkJMT0NLX0xJVEVSQUxcXFwiO1AuUExBSU49XFxcIlBMQUlOXFxcIjtQLlFVT1RFX0RPVUJMRT1cXFwiUVVPVEVfRE9VQkxFXFxcIjtQLlFVT1RFX1NJTkdMRT1cXFwiUVVPVEVfU0lOR0xFXFxcIjt2YXIgSmM9XFxcInRhZzp5YW1sLm9yZywyMDAyOlxcXCI7ZnVuY3Rpb24gemMobixlLHQpe3ZhciByO2lmKGUpe2xldCBzPXQuZmlsdGVyKG89Pm8udGFnPT09ZSksaT0ocj1zLmZpbmQobz0+IW8uZm9ybWF0KSkhPW51bGw/cjpzWzBdO2lmKCFpKXRocm93IG5ldyBFcnJvcihgVGFnICR7ZX0gbm90IGZvdW5kYCk7cmV0dXJuIGl9cmV0dXJuIHQuZmluZChzPT57dmFyIGk7cmV0dXJuKChpPXMuaWRlbnRpZnkpPT1udWxsP3ZvaWQgMDppLmNhbGwocyxuKSkmJiFzLmZvcm1hdH0pfWZ1bmN0aW9uIHd0KG4sZSx0KXt2YXIgZCxtLGg7aWYocnQobikmJihuPW4uY29udGVudHMpLEoobikpcmV0dXJuIG47aWYoSChuKSl7bGV0IGI9KG09KGQ9dC5zY2hlbWFbS2VdKS5jcmVhdGVOb2RlKT09bnVsbD92b2lkIDA6bS5jYWxsKGQsdC5zY2hlbWEsbnVsbCx0KTtyZXR1cm4gYi5pdGVtcy5wdXNoKG4pLGJ9KG4gaW5zdGFuY2VvZiBTdHJpbmd8fG4gaW5zdGFuY2VvZiBOdW1iZXJ8fG4gaW5zdGFuY2VvZiBCb29sZWFufHx0eXBlb2YgQmlnSW50IT1cXFwidW5kZWZpbmVkXFxcIiYmbiBpbnN0YW5jZW9mIEJpZ0ludCkmJihuPW4udmFsdWVPZigpKTtsZXR7YWxpYXNEdXBsaWNhdGVPYmplY3RzOnIsb25BbmNob3I6cyxvblRhZ09iajppLHNjaGVtYTpvLHNvdXJjZU9iamVjdHM6YX09dCx1O2lmKHImJm4mJnR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIil7aWYodT1hLmdldChuKSx1KXJldHVybiB1LmFuY2hvcnx8KHUuYW5jaG9yPXMobikpLG5ldyBFdCh1LmFuY2hvcik7dT17YW5jaG9yOm51bGwsbm9kZTpudWxsfSxhLnNldChuLHUpfWUhPW51bGwmJmUuc3RhcnRzV2l0aChcXFwiISFcXFwiKSYmKGU9SmMrZS5zbGljZSgyKSk7bGV0IGw9emMobixlLG8udGFncyk7aWYoIWwpe2lmKG4mJnR5cGVvZiBuLnRvSlNPTj09XFxcImZ1bmN0aW9uXFxcIiYmKG49bi50b0pTT04oKSksIW58fHR5cGVvZiBuIT1cXFwib2JqZWN0XFxcIil7bGV0IGI9bmV3IFAobik7cmV0dXJuIHUmJih1Lm5vZGU9YiksYn1sPW4gaW5zdGFuY2VvZiBNYXA/b1tLZV06U3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChuKT9vW0Z0XTpvW0tlXX1pJiYoaShsKSxkZWxldGUgdC5vblRhZ09iaik7bGV0IGY9bCE9bnVsbCYmbC5jcmVhdGVOb2RlP2wuY3JlYXRlTm9kZSh0LnNjaGVtYSxuLHQpOnR5cGVvZigoaD1sPT1udWxsP3ZvaWQgMDpsLm5vZGVDbGFzcyk9PW51bGw/dm9pZCAwOmguZnJvbSk9PVxcXCJmdW5jdGlvblxcXCI/bC5ub2RlQ2xhc3MuZnJvbSh0LnNjaGVtYSxuLHQpOm5ldyBQKG4pO3JldHVybiBlP2YudGFnPWU6bC5kZWZhdWx0fHwoZi50YWc9bC50YWcpLHUmJih1Lm5vZGU9ZiksZn1mdW5jdGlvbiBwcihuLGUsdCl7bGV0IHI9dDtmb3IobGV0IHM9ZS5sZW5ndGgtMTtzPj0wOy0tcyl7bGV0IGk9ZVtzXTtpZih0eXBlb2YgaT09XFxcIm51bWJlclxcXCImJk51bWJlci5pc0ludGVnZXIoaSkmJmk+PTApe2xldCBvPVtdO29baV09cixyPW99ZWxzZSByPW5ldyBNYXAoW1tpLHJdXSl9cmV0dXJuIHd0KHIsdm9pZCAwLHthbGlhc0R1cGxpY2F0ZU9iamVjdHM6ITEsa2VlcFVuZGVmaW5lZDohMSxvbkFuY2hvcjooKT0+e3Rocm93IG5ldyBFcnJvcihcXFwiVGhpcyBzaG91bGQgbm90IGhhcHBlbiwgcGxlYXNlIHJlcG9ydCBhIGJ1Zy5cXFwiKX0sc2NoZW1hOm4sc291cmNlT2JqZWN0czpuZXcgTWFwfSl9dmFyIGtuPW49Pm49PW51bGx8fHR5cGVvZiBuPT1cXFwib2JqZWN0XFxcIiYmISFuW1N5bWJvbC5pdGVyYXRvcl0oKS5uZXh0KCkuZG9uZSxTbj1jbGFzcyBleHRlbmRzIE90e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXFxcInNjaGVtYVxcXCIse3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITB9KX1jbG9uZShlKXtsZXQgdD1PYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7cmV0dXJuIGUmJih0LnNjaGVtYT1lKSx0Lml0ZW1zPXQuaXRlbXMubWFwKHI9Pkoocil8fEgocik/ci5jbG9uZShlKTpyKSx0aGlzLnJhbmdlJiYodC5yYW5nZT10aGlzLnJhbmdlLnNsaWNlKCkpLHR9YWRkSW4oZSx0KXtpZihrbihlKSl0aGlzLmFkZCh0KTtlbHNle2xldFtyLC4uLnNdPWUsaT10aGlzLmdldChyLCEwKTtpZihaKGkpKWkuYWRkSW4ocyx0KTtlbHNlIGlmKGk9PT12b2lkIDAmJnRoaXMuc2NoZW1hKXRoaXMuc2V0KHIscHIodGhpcy5zY2hlbWEscyx0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke3J9LiBSZW1haW5pbmcgcGF0aDogJHtzfWApfX1kZWxldGVJbihlKXtsZXRbdCwuLi5yXT1lO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gdGhpcy5kZWxldGUodCk7bGV0IHM9dGhpcy5nZXQodCwhMCk7aWYoWihzKSlyZXR1cm4gcy5kZWxldGVJbihyKTt0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke3R9LiBSZW1haW5pbmcgcGF0aDogJHtyfWApfWdldEluKGUsdCl7bGV0W3IsLi4uc109ZSxpPXRoaXMuZ2V0KHIsITApO3JldHVybiBzLmxlbmd0aD09PTA/IXQmJksoaSk/aS52YWx1ZTppOlooaSk/aS5nZXRJbihzLHQpOnZvaWQgMH1oYXNBbGxOdWxsVmFsdWVzKGUpe3JldHVybiB0aGlzLml0ZW1zLmV2ZXJ5KHQ9PntpZighSCh0KSlyZXR1cm4hMTtsZXQgcj10LnZhbHVlO3JldHVybiByPT1udWxsfHxlJiZLKHIpJiZyLnZhbHVlPT1udWxsJiYhci5jb21tZW50QmVmb3JlJiYhci5jb21tZW50JiYhci50YWd9KX1oYXNJbihlKXtsZXRbdCwuLi5yXT1lO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gdGhpcy5oYXModCk7bGV0IHM9dGhpcy5nZXQodCwhMCk7cmV0dXJuIFoocyk/cy5oYXNJbihyKTohMX1zZXRJbihlLHQpe2xldFtyLC4uLnNdPWU7aWYocy5sZW5ndGg9PT0wKXRoaXMuc2V0KHIsdCk7ZWxzZXtsZXQgaT10aGlzLmdldChyLCEwKTtpZihaKGkpKWkuc2V0SW4ocyx0KTtlbHNlIGlmKGk9PT12b2lkIDAmJnRoaXMuc2NoZW1hKXRoaXMuc2V0KHIscHIodGhpcy5zY2hlbWEscyx0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke3J9LiBSZW1haW5pbmcgcGF0aDogJHtzfWApfX19O3ZhciBHYT1uPT5uLnJlcGxhY2UoL14oPyEkKSg/OiAkKT8vZ20sXFxcIiNcXFwiKTtmdW5jdGlvbiBQZShuLGUpe3JldHVybi9eXFxcXG4rJC8udGVzdChuKT9uLnN1YnN0cmluZygxKTplP24ucmVwbGFjZSgvXig/ISAqJCkvZ20sZSk6bn12YXIgb3Q9KG4sZSx0KT0+bi5lbmRzV2l0aChgXFxuYCk/UGUodCxlKTp0LmluY2x1ZGVzKGBcXG5gKT9gXFxuYCtQZSh0LGUpOihuLmVuZHNXaXRoKFxcXCIgXFxcIik/XFxcIlxcXCI6XFxcIiBcXFwiKSt0O3ZhciAkaT1cXFwiZmxvd1xcXCIsbHM9XFxcImJsb2NrXFxcIixEcj1cXFwicXVvdGVkXFxcIjtmdW5jdGlvbiB5cihuLGUsdD1cXFwiZmxvd1xcXCIse2luZGVudEF0U3RhcnQ6cixsaW5lV2lkdGg6cz04MCxtaW5Db250ZW50V2lkdGg6aT0yMCxvbkZvbGQ6byxvbk92ZXJmbG93OmF9PXt9KXtpZighc3x8czwwKXJldHVybiBuO3M8aSYmKGk9MCk7bGV0IHU9TWF0aC5tYXgoMStpLDErcy1lLmxlbmd0aCk7aWYobi5sZW5ndGg8PXUpcmV0dXJuIG47bGV0IGw9W10sZj17fSxkPXMtZS5sZW5ndGg7dHlwZW9mIHI9PVxcXCJudW1iZXJcXFwiJiYocj5zLU1hdGgubWF4KDIsaSk/bC5wdXNoKDApOmQ9cy1yKTtsZXQgbSxoLGI9ITEsZz0tMSxEPS0xLFQ9LTE7dD09PWxzJiYoZz1aYShuLGcsZS5sZW5ndGgpLGchPT0tMSYmKGQ9Zyt1KSk7Zm9yKGxldCBOO049bltnKz0xXTspe2lmKHQ9PT1EciYmTj09PVxcXCJcXFxcXFxcXFxcXCIpe3N3aXRjaChEPWcsbltnKzFdKXtjYXNlXFxcInhcXFwiOmcrPTM7YnJlYWs7Y2FzZVxcXCJ1XFxcIjpnKz01O2JyZWFrO2Nhc2VcXFwiVVxcXCI6Zys9OTticmVhaztkZWZhdWx0OmcrPTF9VD1nfWlmKE49PT1gXFxuYCl0PT09bHMmJihnPVphKG4sZyxlLmxlbmd0aCkpLGQ9ZytlLmxlbmd0aCt1LG09dm9pZCAwO2Vsc2V7aWYoTj09PVxcXCIgXFxcIiYmaCYmaCE9PVxcXCIgXFxcIiYmaCE9PWBcXG5gJiZoIT09XFxcIlxcdFxcXCIpe2xldCB5PW5bZysxXTt5JiZ5IT09XFxcIiBcXFwiJiZ5IT09YFxcbmAmJnkhPT1cXFwiXFx0XFxcIiYmKG09Zyl9aWYoZz49ZClpZihtKWwucHVzaChtKSxkPW0rdSxtPXZvaWQgMDtlbHNlIGlmKHQ9PT1Ecil7Zm9yKDtoPT09XFxcIiBcXFwifHxoPT09XFxcIlxcdFxcXCI7KWg9TixOPW5bZys9MV0sYj0hMDtsZXQgeT1nPlQrMT9nLTI6RC0xO2lmKGZbeV0pcmV0dXJuIG47bC5wdXNoKHkpLGZbeV09ITAsZD15K3UsbT12b2lkIDB9ZWxzZSBiPSEwfWg9Tn1pZihiJiZhJiZhKCksbC5sZW5ndGg9PT0wKXJldHVybiBuO28mJm8oKTtsZXQgST1uLnNsaWNlKDAsbFswXSk7Zm9yKGxldCBOPTA7TjxsLmxlbmd0aDsrK04pe2xldCB5PWxbTl0sdz1sW04rMV18fG4ubGVuZ3RoO3k9PT0wP0k9YFxcbiR7ZX0ke24uc2xpY2UoMCx3KX1gOih0PT09RHImJmZbeV0mJihJKz1gJHtuW3ldfVxcXFxcXFxcYCksSSs9YFxcbiR7ZX0ke24uc2xpY2UoeSsxLHcpfWApfXJldHVybiBJfWZ1bmN0aW9uIFphKG4sZSx0KXtsZXQgcj1lLHM9ZSsxLGk9bltzXTtmb3IoO2k9PT1cXFwiIFxcXCJ8fGk9PT1cXFwiXFx0XFxcIjspaWYoZTxzK3QpaT1uWysrZV07ZWxzZXtkbyBpPW5bKytlXTt3aGlsZShpJiZpIT09YFxcbmApO3I9ZSxzPWUrMSxpPW5bc119cmV0dXJuIHJ9dmFyIGZzPShuLGUpPT4oe2luZGVudEF0U3RhcnQ6ZT9uLmluZGVudC5sZW5ndGg6bi5pbmRlbnRBdFN0YXJ0LGxpbmVXaWR0aDpuLm9wdGlvbnMubGluZVdpZHRoLG1pbkNvbnRlbnRXaWR0aDpuLm9wdGlvbnMubWluQ29udGVudFdpZHRofSksZHM9bj0+L14oJXwtLS18XFxcXC5cXFxcLlxcXFwuKS9tLnRlc3Qobik7ZnVuY3Rpb24gWWMobixlLHQpe2lmKCFlfHxlPDApcmV0dXJuITE7bGV0IHI9ZS10LHM9bi5sZW5ndGg7aWYoczw9cilyZXR1cm4hMTtmb3IobGV0IGk9MCxvPTA7aTxzOysraSlpZihuW2ldPT09YFxcbmApe2lmKGktbz5yKXJldHVybiEwO2lmKG89aSsxLHMtbzw9cilyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBncihuLGUpe2xldCB0PUpTT04uc3RyaW5naWZ5KG4pO2lmKGUub3B0aW9ucy5kb3VibGVRdW90ZWRBc0pTT04pcmV0dXJuIHQ7bGV0e2ltcGxpY2l0S2V5OnJ9PWUscz1lLm9wdGlvbnMuZG91YmxlUXVvdGVkTWluTXVsdGlMaW5lTGVuZ3RoLGk9ZS5pbmRlbnR8fChkcyhuKT9cXFwiICBcXFwiOlxcXCJcXFwiKSxvPVxcXCJcXFwiLGE9MDtmb3IobGV0IHU9MCxsPXRbdV07bDtsPXRbKyt1XSlpZihsPT09XFxcIiBcXFwiJiZ0W3UrMV09PT1cXFwiXFxcXFxcXFxcXFwiJiZ0W3UrMl09PT1cXFwiblxcXCImJihvKz10LnNsaWNlKGEsdSkrXFxcIlxcXFxcXFxcIFxcXCIsdSs9MSxhPXUsbD1cXFwiXFxcXFxcXFxcXFwiKSxsPT09XFxcIlxcXFxcXFxcXFxcIilzd2l0Y2godFt1KzFdKXtjYXNlXFxcInVcXFwiOntvKz10LnNsaWNlKGEsdSk7bGV0IGY9dC5zdWJzdHIodSsyLDQpO3N3aXRjaChmKXtjYXNlXFxcIjAwMDBcXFwiOm8rPVxcXCJcXFxcXFxcXDBcXFwiO2JyZWFrO2Nhc2VcXFwiMDAwN1xcXCI6bys9XFxcIlxcXFxcXFxcYVxcXCI7YnJlYWs7Y2FzZVxcXCIwMDBiXFxcIjpvKz1cXFwiXFxcXFxcXFx2XFxcIjticmVhaztjYXNlXFxcIjAwMWJcXFwiOm8rPVxcXCJcXFxcXFxcXGVcXFwiO2JyZWFrO2Nhc2VcXFwiMDA4NVxcXCI6bys9XFxcIlxcXFxcXFxcTlxcXCI7YnJlYWs7Y2FzZVxcXCIwMGEwXFxcIjpvKz1cXFwiXFxcXFxcXFxfXFxcIjticmVhaztjYXNlXFxcIjIwMjhcXFwiOm8rPVxcXCJcXFxcXFxcXExcXFwiO2JyZWFrO2Nhc2VcXFwiMjAyOVxcXCI6bys9XFxcIlxcXFxcXFxcUFxcXCI7YnJlYWs7ZGVmYXVsdDpmLnN1YnN0cigwLDIpPT09XFxcIjAwXFxcIj9vKz1cXFwiXFxcXFxcXFx4XFxcIitmLnN1YnN0cigyKTpvKz10LnN1YnN0cih1LDYpfXUrPTUsYT11KzF9YnJlYWs7Y2FzZVxcXCJuXFxcIjppZihyfHx0W3UrMl09PT0nXFxcIid8fHQubGVuZ3RoPHMpdSs9MTtlbHNle2ZvcihvKz10LnNsaWNlKGEsdSkrYFxcblxcbmA7dFt1KzJdPT09XFxcIlxcXFxcXFxcXFxcIiYmdFt1KzNdPT09XFxcIm5cXFwiJiZ0W3UrNF0hPT0nXFxcIic7KW8rPWBcXG5gLHUrPTI7bys9aSx0W3UrMl09PT1cXFwiIFxcXCImJihvKz1cXFwiXFxcXFxcXFxcXFwiKSx1Kz0xLGE9dSsxfWJyZWFrO2RlZmF1bHQ6dSs9MX1yZXR1cm4gbz1hP28rdC5zbGljZShhKTp0LHI/bzp5cihvLGksRHIsZnMoZSwhMSkpfWZ1bmN0aW9uIFJpKG4sZSl7aWYoZS5vcHRpb25zLnNpbmdsZVF1b3RlPT09ITF8fGUuaW1wbGljaXRLZXkmJm4uaW5jbHVkZXMoYFxcbmApfHwvWyBcXFxcdF1cXFxcbnxcXFxcblsgXFxcXHRdLy50ZXN0KG4pKXJldHVybiBncihuLGUpO2xldCB0PWUuaW5kZW50fHwoZHMobik/XFxcIiAgXFxcIjpcXFwiXFxcIikscj1cXFwiJ1xcXCIrbi5yZXBsYWNlKC8nL2csXFxcIicnXFxcIikucmVwbGFjZSgvXFxcXG4rL2csYCQmXFxuJHt0fWApK1xcXCInXFxcIjtyZXR1cm4gZS5pbXBsaWNpdEtleT9yOnlyKHIsdCwkaSxmcyhlLCExKSl9ZnVuY3Rpb24gQ24obixlKXtsZXR7c2luZ2xlUXVvdGU6dH09ZS5vcHRpb25zLHI7aWYodD09PSExKXI9Z3I7ZWxzZXtsZXQgcz1uLmluY2x1ZGVzKCdcXFwiJyksaT1uLmluY2x1ZGVzKFxcXCInXFxcIik7cyYmIWk/cj1SaTppJiYhcz9yPWdyOnI9dD9SaTpncn1yZXR1cm4gcihuLGUpfXZhciBqaTt0cnl7amk9bmV3IFJlZ0V4cChgKF58KD88IVxcbikpXFxuKyg/IVxcbnwkKWAsXFxcImdcXFwiKX1jYXRjaChuKXtqaT0vXFxcXG4rKD8hXFxcXG58JCkvZ31mdW5jdGlvbiBjcyh7Y29tbWVudDpuLHR5cGU6ZSx2YWx1ZTp0fSxyLHMsaSl7bGV0e2Jsb2NrUXVvdGU6byxjb21tZW50U3RyaW5nOmEsbGluZVdpZHRoOnV9PXIub3B0aW9ucztpZighb3x8L1xcXFxuW1xcXFx0IF0rJC8udGVzdCh0KXx8L15cXFxccyokLy50ZXN0KHQpKXJldHVybiBDbih0LHIpO2xldCBsPXIuaW5kZW50fHwoci5mb3JjZUJsb2NrSW5kZW50fHxkcyh0KT9cXFwiICBcXFwiOlxcXCJcXFwiKSxmPW89PT1cXFwibGl0ZXJhbFxcXCI/ITA6bz09PVxcXCJmb2xkZWRcXFwifHxlPT09UC5CTE9DS19GT0xERUQ/ITE6ZT09PVAuQkxPQ0tfTElURVJBTD8hMDohWWModCx1LGwubGVuZ3RoKTtpZighdClyZXR1cm4gZj9gfFxcbmA6YD5cXG5gO2xldCBkLG07Zm9yKG09dC5sZW5ndGg7bT4wOy0tbSl7bGV0IHY9dFttLTFdO2lmKHYhPT1gXFxuYCYmdiE9PVxcXCJcXHRcXFwiJiZ2IT09XFxcIiBcXFwiKWJyZWFrfWxldCBoPXQuc3Vic3RyaW5nKG0pLGI9aC5pbmRleE9mKGBcXG5gKTtiPT09LTE/ZD1cXFwiLVxcXCI6dD09PWh8fGIhPT1oLmxlbmd0aC0xPyhkPVxcXCIrXFxcIixpJiZpKCkpOmQ9XFxcIlxcXCIsaCYmKHQ9dC5zbGljZSgwLC1oLmxlbmd0aCksaFtoLmxlbmd0aC0xXT09PWBcXG5gJiYoaD1oLnNsaWNlKDAsLTEpKSxoPWgucmVwbGFjZShqaSxgJCYke2x9YCkpO2xldCBnPSExLEQsVD0tMTtmb3IoRD0wO0Q8dC5sZW5ndGg7KytEKXtsZXQgdj10W0RdO2lmKHY9PT1cXFwiIFxcXCIpZz0hMDtlbHNlIGlmKHY9PT1gXFxuYClUPUQ7ZWxzZSBicmVha31sZXQgST10LnN1YnN0cmluZygwLFQ8RD9UKzE6RCk7SSYmKHQ9dC5zdWJzdHJpbmcoSS5sZW5ndGgpLEk9SS5yZXBsYWNlKC9cXFxcbisvZyxgJCYke2x9YCkpO2xldCB5PShmP1xcXCJ8XFxcIjpcXFwiPlxcXCIpKyhnP2w/XFxcIjJcXFwiOlxcXCIxXFxcIjpcXFwiXFxcIikrZDtpZihuJiYoeSs9XFxcIiBcXFwiK2Eobi5yZXBsYWNlKC8gP1tcXFxcclxcXFxuXSsvZyxcXFwiIFxcXCIpKSxzJiZzKCkpLGYpcmV0dXJuIHQ9dC5yZXBsYWNlKC9cXFxcbisvZyxgJCYke2x9YCksYCR7eX1cXG4ke2x9JHtJfSR7dH0ke2h9YDt0PXQucmVwbGFjZSgvXFxcXG4rL2csYFxcbiQmYCkucmVwbGFjZSgvKD86XnxcXFxcbikoW1xcXFx0IF0uKikoPzooW1xcXFxuXFxcXHQgXSopXFxcXG4oPyFbXFxcXG5cXFxcdCBdKSk/L2csXFxcIiQxJDJcXFwiKS5yZXBsYWNlKC9cXFxcbisvZyxgJCYke2x9YCk7bGV0IHc9eXIoYCR7SX0ke3R9JHtofWAsbCxscyxmcyhyLCEwKSk7cmV0dXJuYCR7eX1cXG4ke2x9JHt3fWB9ZnVuY3Rpb24gR2MobixlLHQscil7bGV0e3R5cGU6cyx2YWx1ZTppfT1uLHthY3R1YWxTdHJpbmc6byxpbXBsaWNpdEtleTphLGluZGVudDp1LGluZGVudFN0ZXA6bCxpbkZsb3c6Zn09ZTtpZihhJiZpLmluY2x1ZGVzKGBcXG5gKXx8ZiYmL1tbXFxcXF17fSxdLy50ZXN0KGkpKXJldHVybiBDbihpLGUpO2lmKCFpfHwvXltcXFxcblxcXFx0ICxbXFxcXF17fSMmKiF8PidcXFwiJUBgXXxeWz8tXSR8Xls/LV1bIFxcXFx0XXxbXFxcXG46XVsgXFxcXHRdfFsgXFxcXHRdXFxcXG58W1xcXFxuXFxcXHQgXSN8W1xcXFxuXFxcXHQgOl0kLy50ZXN0KGkpKXJldHVybiBhfHxmfHwhaS5pbmNsdWRlcyhgXFxuYCk/Q24oaSxlKTpjcyhuLGUsdCxyKTtpZighYSYmIWYmJnMhPT1QLlBMQUlOJiZpLmluY2x1ZGVzKGBcXG5gKSlyZXR1cm4gY3MobixlLHQscik7aWYoZHMoaSkpe2lmKHU9PT1cXFwiXFxcIilyZXR1cm4gZS5mb3JjZUJsb2NrSW5kZW50PSEwLGNzKG4sZSx0LHIpO2lmKGEmJnU9PT1sKXJldHVybiBDbihpLGUpfWxldCBkPWkucmVwbGFjZSgvXFxcXG4rL2csYCQmXFxuJHt1fWApO2lmKG8pe2xldCBtPWc9Pnt2YXIgRDtyZXR1cm4gZy5kZWZhdWx0JiZnLnRhZyE9PVxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpzdHJcXFwiJiYoKEQ9Zy50ZXN0KT09bnVsbD92b2lkIDA6RC50ZXN0KGQpKX0se2NvbXBhdDpoLHRhZ3M6Yn09ZS5kb2Muc2NoZW1hO2lmKGIuc29tZShtKXx8aCE9bnVsbCYmaC5zb21lKG0pKXJldHVybiBDbihpLGUpfXJldHVybiBhP2Q6eXIoZCx1LCRpLGZzKGUsITEpKX1mdW5jdGlvbiBXdChuLGUsdCxyKXtsZXR7aW1wbGljaXRLZXk6cyxpbkZsb3c6aX09ZSxvPXR5cGVvZiBuLnZhbHVlPT1cXFwic3RyaW5nXFxcIj9uOk9iamVjdC5hc3NpZ24oe30sbix7dmFsdWU6U3RyaW5nKG4udmFsdWUpfSkse3R5cGU6YX09bjthIT09UC5RVU9URV9ET1VCTEUmJi9bXFxcXHgwMC1cXFxceDA4XFxcXHgwYi1cXFxceDFmXFxcXHg3Zi1cXFxceDlmXFxcXHV7RDgwMH0tXFxcXHV7REZGRn1dL3UudGVzdChvLnZhbHVlKSYmKGE9UC5RVU9URV9ET1VCTEUpO2xldCB1PWY9Pntzd2l0Y2goZil7Y2FzZSBQLkJMT0NLX0ZPTERFRDpjYXNlIFAuQkxPQ0tfTElURVJBTDpyZXR1cm4gc3x8aT9DbihvLnZhbHVlLGUpOmNzKG8sZSx0LHIpO2Nhc2UgUC5RVU9URV9ET1VCTEU6cmV0dXJuIGdyKG8udmFsdWUsZSk7Y2FzZSBQLlFVT1RFX1NJTkdMRTpyZXR1cm4gUmkoby52YWx1ZSxlKTtjYXNlIFAuUExBSU46cmV0dXJuIEdjKG8sZSx0LHIpO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSxsPXUoYSk7aWYobD09PW51bGwpe2xldHtkZWZhdWx0S2V5VHlwZTpmLGRlZmF1bHRTdHJpbmdUeXBlOmR9PWUub3B0aW9ucyxtPXMmJmZ8fGQ7aWYobD11KG0pLGw9PT1udWxsKXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVmYXVsdCBzdHJpbmcgdHlwZSAke219YCl9cmV0dXJuIGx9ZnVuY3Rpb24gaHMobixlKXtsZXQgdD1PYmplY3QuYXNzaWduKHtibG9ja1F1b3RlOiEwLGNvbW1lbnRTdHJpbmc6R2EsZGVmYXVsdEtleVR5cGU6bnVsbCxkZWZhdWx0U3RyaW5nVHlwZTpcXFwiUExBSU5cXFwiLGRpcmVjdGl2ZXM6bnVsbCxkb3VibGVRdW90ZWRBc0pTT046ITEsZG91YmxlUXVvdGVkTWluTXVsdGlMaW5lTGVuZ3RoOjQwLGZhbHNlU3RyOlxcXCJmYWxzZVxcXCIsZmxvd0NvbGxlY3Rpb25QYWRkaW5nOiEwLGluZGVudFNlcTohMCxsaW5lV2lkdGg6ODAsbWluQ29udGVudFdpZHRoOjIwLG51bGxTdHI6XFxcIm51bGxcXFwiLHNpbXBsZUtleXM6ITEsc2luZ2xlUXVvdGU6bnVsbCx0cnVlU3RyOlxcXCJ0cnVlXFxcIix2ZXJpZnlBbGlhc09yZGVyOiEwfSxuLnNjaGVtYS50b1N0cmluZ09wdGlvbnMsZSkscjtzd2l0Y2godC5jb2xsZWN0aW9uU3R5bGUpe2Nhc2VcXFwiYmxvY2tcXFwiOnI9ITE7YnJlYWs7Y2FzZVxcXCJmbG93XFxcIjpyPSEwO2JyZWFrO2RlZmF1bHQ6cj1udWxsfXJldHVybnthbmNob3JzOm5ldyBTZXQsZG9jOm4sZmxvd0NvbGxlY3Rpb25QYWRkaW5nOnQuZmxvd0NvbGxlY3Rpb25QYWRkaW5nP1xcXCIgXFxcIjpcXFwiXFxcIixpbmRlbnQ6XFxcIlxcXCIsaW5kZW50U3RlcDp0eXBlb2YgdC5pbmRlbnQ9PVxcXCJudW1iZXJcXFwiP1xcXCIgXFxcIi5yZXBlYXQodC5pbmRlbnQpOlxcXCIgIFxcXCIsaW5GbG93OnIsb3B0aW9uczp0fX1mdW5jdGlvbiBaYyhuLGUpe3ZhciBzLGksbyxhO2lmKGUudGFnKXtsZXQgdT1uLmZpbHRlcihsPT5sLnRhZz09PWUudGFnKTtpZih1Lmxlbmd0aD4wKXJldHVybihzPXUuZmluZChsPT5sLmZvcm1hdD09PWUuZm9ybWF0KSkhPW51bGw/czp1WzBdfWxldCB0LHI7aWYoSyhlKSl7cj1lLnZhbHVlO2xldCB1PW4uZmlsdGVyKGw9Pnt2YXIgZjtyZXR1cm4oZj1sLmlkZW50aWZ5KT09bnVsbD92b2lkIDA6Zi5jYWxsKGwscil9KTtpZih1Lmxlbmd0aD4xKXtsZXQgbD11LmZpbHRlcihmPT5mLnRlc3QpO2wubGVuZ3RoPjAmJih1PWwpfXQ9KGk9dS5maW5kKGw9PmwuZm9ybWF0PT09ZS5mb3JtYXQpKSE9bnVsbD9pOnUuZmluZChsPT4hbC5mb3JtYXQpfWVsc2Ugcj1lLHQ9bi5maW5kKHU9PnUubm9kZUNsYXNzJiZyIGluc3RhbmNlb2YgdS5ub2RlQ2xhc3MpO2lmKCF0KXtsZXQgdT0oYT0obz1yPT1udWxsP3ZvaWQgMDpyLmNvbnN0cnVjdG9yKT09bnVsbD92b2lkIDA6by5uYW1lKSE9bnVsbD9hOnR5cGVvZiByO3Rocm93IG5ldyBFcnJvcihgVGFnIG5vdCByZXNvbHZlZCBmb3IgJHt1fSB2YWx1ZWApfXJldHVybiB0fWZ1bmN0aW9uIFFjKG4sZSx7YW5jaG9yczp0LGRvYzpyfSl7aWYoIXIuZGlyZWN0aXZlcylyZXR1cm5cXFwiXFxcIjtsZXQgcz1bXSxpPShLKG4pfHxaKG4pKSYmbi5hbmNob3I7aSYmb3MoaSkmJih0LmFkZChpKSxzLnB1c2goYCYke2l9YCkpO2xldCBvPW4udGFnP24udGFnOmUuZGVmYXVsdD9udWxsOmUudGFnO3JldHVybiBvJiZzLnB1c2goci5kaXJlY3RpdmVzLnRhZ1N0cmluZyhvKSkscy5qb2luKFxcXCIgXFxcIil9ZnVuY3Rpb24gVHQobixlLHQscil7dmFyIHUsbDtpZihIKG4pKXJldHVybiBuLnRvU3RyaW5nKGUsdCxyKTtpZihXZShuKSl7aWYoZS5kb2MuZGlyZWN0aXZlcylyZXR1cm4gbi50b1N0cmluZyhlKTtpZigodT1lLnJlc29sdmVkQWxpYXNlcykhPW51bGwmJnUuaGFzKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcIkNhbm5vdCBzdHJpbmdpZnkgY2lyY3VsYXIgc3RydWN0dXJlIHdpdGhvdXQgYWxpYXMgbm9kZXNcXFwiKTtlLnJlc29sdmVkQWxpYXNlcz9lLnJlc29sdmVkQWxpYXNlcy5hZGQobik6ZS5yZXNvbHZlZEFsaWFzZXM9bmV3IFNldChbbl0pLG49bi5yZXNvbHZlKGUuZG9jKX1sZXQgcyxpPUoobik/bjplLmRvYy5jcmVhdGVOb2RlKG4se29uVGFnT2JqOmY9PnM9Zn0pO3N8fChzPVpjKGUuZG9jLnNjaGVtYS50YWdzLGkpKTtsZXQgbz1RYyhpLHMsZSk7by5sZW5ndGg+MCYmKGUuaW5kZW50QXRTdGFydD0oKGw9ZS5pbmRlbnRBdFN0YXJ0KSE9bnVsbD9sOjApK28ubGVuZ3RoKzEpO2xldCBhPXR5cGVvZiBzLnN0cmluZ2lmeT09XFxcImZ1bmN0aW9uXFxcIj9zLnN0cmluZ2lmeShpLGUsdCxyKTpLKGkpP1d0KGksZSx0LHIpOmkudG9TdHJpbmcoZSx0LHIpO3JldHVybiBvP0soaSl8fGFbMF09PT1cXFwie1xcXCJ8fGFbMF09PT1cXFwiW1xcXCI/YCR7b30gJHthfWA6YCR7b31cXG4ke2UuaW5kZW50fSR7YX1gOmF9ZnVuY3Rpb24gUWEoe2tleTpuLHZhbHVlOmV9LHQscixzKXt2YXIgeCxDO2xldHthbGxOdWxsVmFsdWVzOmksZG9jOm8saW5kZW50OmEsaW5kZW50U3RlcDp1LG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6bCxpbmRlbnRTZXE6ZixzaW1wbGVLZXlzOmR9fT10LG09SihuKSYmbi5jb21tZW50fHxudWxsO2lmKGQpe2lmKG0pdGhyb3cgbmV3IEVycm9yKFxcXCJXaXRoIHNpbXBsZSBrZXlzLCBrZXkgbm9kZXMgY2Fubm90IGhhdmUgY29tbWVudHNcXFwiKTtpZihaKG4pfHwhSihuKSYmdHlwZW9mIG49PVxcXCJvYmplY3RcXFwiKXtsZXQgVj1cXFwiV2l0aCBzaW1wbGUga2V5cywgY29sbGVjdGlvbiBjYW5ub3QgYmUgdXNlZCBhcyBhIGtleSB2YWx1ZVxcXCI7dGhyb3cgbmV3IEVycm9yKFYpfX1sZXQgaD0hZCYmKCFufHxtJiZlPT1udWxsJiYhdC5pbkZsb3d8fFoobil8fChLKG4pP24udHlwZT09PVAuQkxPQ0tfRk9MREVEfHxuLnR5cGU9PT1QLkJMT0NLX0xJVEVSQUw6dHlwZW9mIG49PVxcXCJvYmplY3RcXFwiKSk7dD1PYmplY3QuYXNzaWduKHt9LHQse2FsbE51bGxWYWx1ZXM6ITEsaW1wbGljaXRLZXk6IWgmJihkfHwhaSksaW5kZW50OmErdX0pO2xldCBiPSExLGc9ITEsRD1UdChuLHQsKCk9PmI9ITAsKCk9Pmc9ITApO2lmKCFoJiYhdC5pbkZsb3cmJkQubGVuZ3RoPjEwMjQpe2lmKGQpdGhyb3cgbmV3IEVycm9yKFxcXCJXaXRoIHNpbXBsZSBrZXlzLCBzaW5nbGUgbGluZSBzY2FsYXIgbXVzdCBub3Qgc3BhbiBtb3JlIHRoYW4gMTAyNCBjaGFyYWN0ZXJzXFxcIik7aD0hMH1pZih0LmluRmxvdyl7aWYoaXx8ZT09bnVsbClyZXR1cm4gYiYmciYmcigpLEQ9PT1cXFwiXFxcIj9cXFwiP1xcXCI6aD9gPyAke0R9YDpEfWVsc2UgaWYoaSYmIWR8fGU9PW51bGwmJmgpcmV0dXJuIEQ9YD8gJHtEfWAsbSYmIWI/RCs9b3QoRCx0LmluZGVudCxsKG0pKTpnJiZzJiZzKCksRDtiJiYobT1udWxsKSxoPyhtJiYoRCs9b3QoRCx0LmluZGVudCxsKG0pKSksRD1gPyAke0R9XFxuJHthfTpgKTooRD1gJHtEfTpgLG0mJihEKz1vdChELHQuaW5kZW50LGwobSkpKSk7bGV0IFQsSSxOO0ooZSk/KFQ9ISFlLnNwYWNlQmVmb3JlLEk9ZS5jb21tZW50QmVmb3JlLE49ZS5jb21tZW50KTooVD0hMSxJPW51bGwsTj1udWxsLGUmJnR5cGVvZiBlPT1cXFwib2JqZWN0XFxcIiYmKGU9by5jcmVhdGVOb2RlKGUpKSksdC5pbXBsaWNpdEtleT0hMSwhaCYmIW0mJksoZSkmJih0LmluZGVudEF0U3RhcnQ9RC5sZW5ndGgrMSksZz0hMSwhZiYmdS5sZW5ndGg+PTImJiF0LmluRmxvdyYmIWgmJkplKGUpJiYhZS5mbG93JiYhZS50YWcmJiFlLmFuY2hvciYmKHQuaW5kZW50PXQuaW5kZW50LnN1YnN0cmluZygyKSk7bGV0IHk9ITEsdz1UdChlLHQsKCk9Pnk9ITAsKCk9Pmc9ITApLHY9XFxcIiBcXFwiO2lmKG18fFR8fEkpe2lmKHY9VD9gXFxuYDpcXFwiXFxcIixJKXtsZXQgVj1sKEkpO3YrPWBcXG4ke1BlKFYsdC5pbmRlbnQpfWB9dz09PVxcXCJcXFwiJiYhdC5pbkZsb3c/dj09PWBcXG5gJiYodj1gXFxuXFxuYCk6dis9YFxcbiR7dC5pbmRlbnR9YH1lbHNlIGlmKCFoJiZaKGUpKXtsZXQgVj13WzBdLGo9dy5pbmRleE9mKGBcXG5gKSxZPWohPT0tMSxlZT0oQz0oeD10LmluRmxvdykhPW51bGw/eDplLmZsb3cpIT1udWxsP0M6ZS5pdGVtcy5sZW5ndGg9PT0wO2lmKFl8fCFlZSl7bGV0IHVlPSExO2lmKFkmJihWPT09XFxcIiZcXFwifHxWPT09XFxcIiFcXFwiKSl7bGV0IE89dy5pbmRleE9mKFxcXCIgXFxcIik7Vj09PVxcXCImXFxcIiYmTyE9PS0xJiZPPGomJndbTysxXT09PVxcXCIhXFxcIiYmKE89dy5pbmRleE9mKFxcXCIgXFxcIixPKzEpKSwoTz09PS0xfHxqPE8pJiYodWU9ITApfXVlfHwodj1gXFxuJHt0LmluZGVudH1gKX19ZWxzZSh3PT09XFxcIlxcXCJ8fHdbMF09PT1gXFxuYCkmJih2PVxcXCJcXFwiKTtyZXR1cm4gRCs9dit3LHQuaW5GbG93P3kmJnImJnIoKTpOJiYheT9EKz1vdChELHQuaW5kZW50LGwoTikpOmcmJnMmJnMoKSxEfWZ1bmN0aW9uIG1zKG4sZSl7KG49PT1cXFwiZGVidWdcXFwifHxuPT09XFxcIndhcm5cXFwiKSYmKHR5cGVvZiBwcm9jZXNzIT1cXFwidW5kZWZpbmVkXFxcIiYmcHJvY2Vzcy5lbWl0V2FybmluZz9wcm9jZXNzLmVtaXRXYXJuaW5nKGUpOmNvbnNvbGUud2FybihlKSl9dmFyIHBzPVxcXCI8PFxcXCIsWWU9e2lkZW50aWZ5Om49Pm49PT1wc3x8dHlwZW9mIG49PVxcXCJzeW1ib2xcXFwiJiZuLmRlc2NyaXB0aW9uPT09cHMsZGVmYXVsdDpcXFwia2V5XFxcIix0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOm1lcmdlXFxcIix0ZXN0Oi9ePDwkLyxyZXNvbHZlOigpPT5PYmplY3QuYXNzaWduKG5ldyBQKFN5bWJvbChwcykpLHthZGRUb0pTTWFwOlZpfSksc3RyaW5naWZ5OigpPT5wc30sWGE9KG4sZSk9PihZZS5pZGVudGlmeShlKXx8SyhlKSYmKCFlLnR5cGV8fGUudHlwZT09PVAuUExBSU4pJiZZZS5pZGVudGlmeShlLnZhbHVlKSkmJihuPT1udWxsP3ZvaWQgMDpuLmRvYy5zY2hlbWEudGFncy5zb21lKHQ9PnQudGFnPT09WWUudGFnJiZ0LmRlZmF1bHQpKTtmdW5jdGlvbiBWaShuLGUsdCl7aWYodD1uJiZXZSh0KT90LnJlc29sdmUobi5kb2MpOnQsSmUodCkpZm9yKGxldCByIG9mIHQuaXRlbXMpcWkobixlLHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSlmb3IobGV0IHIgb2YgdClxaShuLGUscik7ZWxzZSBxaShuLGUsdCl9ZnVuY3Rpb24gcWkobixlLHQpe2xldCByPW4mJldlKHQpP3QucmVzb2x2ZShuLmRvYyk6dDtpZighSGUocikpdGhyb3cgbmV3IEVycm9yKFxcXCJNZXJnZSBzb3VyY2VzIG11c3QgYmUgbWFwcyBvciBtYXAgYWxpYXNlc1xcXCIpO2xldCBzPXIudG9KU09OKG51bGwsbixNYXApO2ZvcihsZXRbaSxvXW9mIHMpZSBpbnN0YW5jZW9mIE1hcD9lLmhhcyhpKXx8ZS5zZXQoaSxvKTplIGluc3RhbmNlb2YgU2V0P2UuYWRkKGkpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxpLHt2YWx1ZTpvLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIGV9ZnVuY3Rpb24gRHMobixlLHtrZXk6dCx2YWx1ZTpyfSl7aWYoSih0KSYmdC5hZGRUb0pTTWFwKXQuYWRkVG9KU01hcChuLGUscik7ZWxzZSBpZihYYShuLHQpKVZpKG4sZSxyKTtlbHNle2xldCBzPWNlKHQsXFxcIlxcXCIsbik7aWYoZSBpbnN0YW5jZW9mIE1hcCllLnNldChzLGNlKHIscyxuKSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgU2V0KWUuYWRkKHMpO2Vsc2V7bGV0IGk9WGModCxzLG4pLG89Y2UocixpLG4pO2kgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSxpLHt2YWx1ZTpvLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSk6ZVtpXT1vfX1yZXR1cm4gZX1mdW5jdGlvbiBYYyhuLGUsdCl7aWYoZT09PW51bGwpcmV0dXJuXFxcIlxcXCI7aWYodHlwZW9mIGUhPVxcXCJvYmplY3RcXFwiKXJldHVybiBTdHJpbmcoZSk7aWYoSihuKSYmKHQhPW51bGwmJnQuZG9jKSl7bGV0IHI9aHModC5kb2Mse30pO3IuYW5jaG9ycz1uZXcgU2V0O2ZvcihsZXQgaSBvZiB0LmFuY2hvcnMua2V5cygpKXIuYW5jaG9ycy5hZGQoaS5hbmNob3IpO3IuaW5GbG93PSEwLHIuaW5TdHJpbmdpZnlLZXk9ITA7bGV0IHM9bi50b1N0cmluZyhyKTtpZighdC5tYXBLZXlXYXJuZWQpe2xldCBpPUpTT04uc3RyaW5naWZ5KHMpO2kubGVuZ3RoPjQwJiYoaT1pLnN1YnN0cmluZygwLDM2KSsnLi4uXFxcIicpLG1zKHQuZG9jLm9wdGlvbnMubG9nTGV2ZWwsYEtleXMgd2l0aCBjb2xsZWN0aW9uIHZhbHVlcyB3aWxsIGJlIHN0cmluZ2lmaWVkIGR1ZSB0byBKUyBPYmplY3QgcmVzdHJpY3Rpb25zOiAke2l9LiBTZXQgbWFwQXNNYXA6IHRydWUgdG8gdXNlIG9iamVjdCBrZXlzLmApLHQubWFwS2V5V2FybmVkPSEwfXJldHVybiBzfXJldHVybiBKU09OLnN0cmluZ2lmeShlKX1mdW5jdGlvbiB2bihuLGUsdCl7bGV0IHI9d3Qobix2b2lkIDAsdCkscz13dChlLHZvaWQgMCx0KTtyZXR1cm4gbmV3IG9lKHIscyl9dmFyIG9lPWNsYXNzIG57Y29uc3RydWN0b3IoZSx0PW51bGwpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFRlLHt2YWx1ZTpfaX0pLHRoaXMua2V5PWUsdGhpcy52YWx1ZT10fWNsb25lKGUpe2xldHtrZXk6dCx2YWx1ZTpyfT10aGlzO3JldHVybiBKKHQpJiYodD10LmNsb25lKGUpKSxKKHIpJiYocj1yLmNsb25lKGUpKSxuZXcgbih0LHIpfXRvSlNPTihlLHQpe2xldCByPXQhPW51bGwmJnQubWFwQXNNYXA/bmV3IE1hcDp7fTtyZXR1cm4gRHModCxyLHRoaXMpfXRvU3RyaW5nKGUsdCxyKXtyZXR1cm4gZSE9bnVsbCYmZS5kb2M/UWEodGhpcyxlLHQscik6SlNPTi5zdHJpbmdpZnkodGhpcyl9fTtmdW5jdGlvbiBncyhuLGUsdCl7dmFyIGk7cmV0dXJuKCgoaT1lLmluRmxvdykhPW51bGw/aTpuLmZsb3cpP3RmOmVmKShuLGUsdCl9ZnVuY3Rpb24gZWYoe2NvbW1lbnQ6bixpdGVtczplfSx0LHtibG9ja0l0ZW1QcmVmaXg6cixmbG93Q2hhcnM6cyxpdGVtSW5kZW50Omksb25DaG9tcEtlZXA6byxvbkNvbW1lbnQ6YX0pe2xldHtpbmRlbnQ6dSxvcHRpb25zOntjb21tZW50U3RyaW5nOmx9fT10LGY9T2JqZWN0LmFzc2lnbih7fSx0LHtpbmRlbnQ6aSx0eXBlOm51bGx9KSxkPSExLG09W107Zm9yKGxldCBiPTA7YjxlLmxlbmd0aDsrK2Ipe2xldCBnPWVbYl0sRD1udWxsO2lmKEooZykpIWQmJmcuc3BhY2VCZWZvcmUmJm0ucHVzaChcXFwiXFxcIikseXModCxtLGcuY29tbWVudEJlZm9yZSxkKSxnLmNvbW1lbnQmJihEPWcuY29tbWVudCk7ZWxzZSBpZihIKGcpKXtsZXQgST1KKGcua2V5KT9nLmtleTpudWxsO0kmJighZCYmSS5zcGFjZUJlZm9yZSYmbS5wdXNoKFxcXCJcXFwiKSx5cyh0LG0sSS5jb21tZW50QmVmb3JlLGQpKX1kPSExO2xldCBUPVR0KGcsZiwoKT0+RD1udWxsLCgpPT5kPSEwKTtEJiYoVCs9b3QoVCxpLGwoRCkpKSxkJiZEJiYoZD0hMSksbS5wdXNoKHIrVCl9bGV0IGg7aWYobS5sZW5ndGg9PT0wKWg9cy5zdGFydCtzLmVuZDtlbHNle2g9bVswXTtmb3IobGV0IGI9MTtiPG0ubGVuZ3RoOysrYil7bGV0IGc9bVtiXTtoKz1nP2BcXG4ke3V9JHtnfWA6YFxcbmB9fXJldHVybiBuPyhoKz1gXFxuYCtQZShsKG4pLHUpLGEmJmEoKSk6ZCYmbyYmbygpLGh9ZnVuY3Rpb24gdGYoe2l0ZW1zOm59LGUse2Zsb3dDaGFyczp0LGl0ZW1JbmRlbnQ6cn0pe2xldHtpbmRlbnQ6cyxpbmRlbnRTdGVwOmksZmxvd0NvbGxlY3Rpb25QYWRkaW5nOm8sb3B0aW9uczp7Y29tbWVudFN0cmluZzphfX09ZTtyKz1pO2xldCB1PU9iamVjdC5hc3NpZ24oe30sZSx7aW5kZW50OnIsaW5GbG93OiEwLHR5cGU6bnVsbH0pLGw9ITEsZj0wLGQ9W107Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDsrK2Ipe2xldCBnPW5bYl0sRD1udWxsO2lmKEooZykpZy5zcGFjZUJlZm9yZSYmZC5wdXNoKFxcXCJcXFwiKSx5cyhlLGQsZy5jb21tZW50QmVmb3JlLCExKSxnLmNvbW1lbnQmJihEPWcuY29tbWVudCk7ZWxzZSBpZihIKGcpKXtsZXQgST1KKGcua2V5KT9nLmtleTpudWxsO0kmJihJLnNwYWNlQmVmb3JlJiZkLnB1c2goXFxcIlxcXCIpLHlzKGUsZCxJLmNvbW1lbnRCZWZvcmUsITEpLEkuY29tbWVudCYmKGw9ITApKTtsZXQgTj1KKGcudmFsdWUpP2cudmFsdWU6bnVsbDtOPyhOLmNvbW1lbnQmJihEPU4uY29tbWVudCksTi5jb21tZW50QmVmb3JlJiYobD0hMCkpOmcudmFsdWU9PW51bGwmJihJIT1udWxsJiZJLmNvbW1lbnQpJiYoRD1JLmNvbW1lbnQpfUQmJihsPSEwKTtsZXQgVD1UdChnLHUsKCk9PkQ9bnVsbCk7YjxuLmxlbmd0aC0xJiYoVCs9XFxcIixcXFwiKSxEJiYoVCs9b3QoVCxyLGEoRCkpKSwhbCYmKGQubGVuZ3RoPmZ8fFQuaW5jbHVkZXMoYFxcbmApKSYmKGw9ITApLGQucHVzaChUKSxmPWQubGVuZ3RofWxldHtzdGFydDptLGVuZDpofT10O2lmKGQubGVuZ3RoPT09MClyZXR1cm4gbStoO2lmKCFsKXtsZXQgYj1kLnJlZHVjZSgoZyxEKT0+ZytELmxlbmd0aCsyLDIpO2w9ZS5vcHRpb25zLmxpbmVXaWR0aD4wJiZiPmUub3B0aW9ucy5saW5lV2lkdGh9aWYobCl7bGV0IGI9bTtmb3IobGV0IGcgb2YgZCliKz1nP2BcXG4ke2l9JHtzfSR7Z31gOmBcXG5gO3JldHVybmAke2J9XFxuJHtzfSR7aH1gfWVsc2UgcmV0dXJuYCR7bX0ke299JHtkLmpvaW4oXFxcIiBcXFwiKX0ke299JHtofWB9ZnVuY3Rpb24geXMoe2luZGVudDpuLG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6ZX19LHQscixzKXtpZihyJiZzJiYocj1yLnJlcGxhY2UoL15cXFxcbisvLFxcXCJcXFwiKSkscil7bGV0IGk9UGUoZShyKSxuKTt0LnB1c2goaS50cmltU3RhcnQoKSl9fWZ1bmN0aW9uIEl0KG4sZSl7bGV0IHQ9SyhlKT9lLnZhbHVlOmU7Zm9yKGxldCByIG9mIG4paWYoSChyKSYmKHIua2V5PT09ZXx8ci5rZXk9PT10fHxLKHIua2V5KSYmci5rZXkudmFsdWU9PT10KSlyZXR1cm4gcn12YXIgYWU9Y2xhc3MgZXh0ZW5kcyBTbntzdGF0aWMgZ2V0IHRhZ05hbWUoKXtyZXR1cm5cXFwidGFnOnlhbWwub3JnLDIwMDI6bWFwXFxcIn1jb25zdHJ1Y3RvcihlKXtzdXBlcihLZSxlKSx0aGlzLml0ZW1zPVtdfXN0YXRpYyBmcm9tKGUsdCxyKXtsZXR7a2VlcFVuZGVmaW5lZDpzLHJlcGxhY2VyOml9PXIsbz1uZXcgdGhpcyhlKSxhPSh1LGwpPT57aWYodHlwZW9mIGk9PVxcXCJmdW5jdGlvblxcXCIpbD1pLmNhbGwodCx1LGwpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShpKSYmIWkuaW5jbHVkZXModSkpcmV0dXJuOyhsIT09dm9pZCAwfHxzKSYmby5pdGVtcy5wdXNoKHZuKHUsbCxyKSl9O2lmKHQgaW5zdGFuY2VvZiBNYXApZm9yKGxldFt1LGxdb2YgdClhKHUsbCk7ZWxzZSBpZih0JiZ0eXBlb2YgdD09XFxcIm9iamVjdFxcXCIpZm9yKGxldCB1IG9mIE9iamVjdC5rZXlzKHQpKWEodSx0W3VdKTtyZXR1cm4gdHlwZW9mIGUuc29ydE1hcEVudHJpZXM9PVxcXCJmdW5jdGlvblxcXCImJm8uaXRlbXMuc29ydChlLnNvcnRNYXBFbnRyaWVzKSxvfWFkZChlLHQpe3ZhciBvO2xldCByO0goZSk/cj1lOiFlfHx0eXBlb2YgZSE9XFxcIm9iamVjdFxcXCJ8fCEoXFxcImtleVxcXCJpbiBlKT9yPW5ldyBvZShlLGU9PW51bGw/dm9pZCAwOmUudmFsdWUpOnI9bmV3IG9lKGUua2V5LGUudmFsdWUpO2xldCBzPUl0KHRoaXMuaXRlbXMsci5rZXkpLGk9KG89dGhpcy5zY2hlbWEpPT1udWxsP3ZvaWQgMDpvLnNvcnRNYXBFbnRyaWVzO2lmKHMpe2lmKCF0KXRocm93IG5ldyBFcnJvcihgS2V5ICR7ci5rZXl9IGFscmVhZHkgc2V0YCk7SyhzLnZhbHVlKSYmdXMoci52YWx1ZSk/cy52YWx1ZS52YWx1ZT1yLnZhbHVlOnMudmFsdWU9ci52YWx1ZX1lbHNlIGlmKGkpe2xldCBhPXRoaXMuaXRlbXMuZmluZEluZGV4KHU9Pmkocix1KTwwKTthPT09LTE/dGhpcy5pdGVtcy5wdXNoKHIpOnRoaXMuaXRlbXMuc3BsaWNlKGEsMCxyKX1lbHNlIHRoaXMuaXRlbXMucHVzaChyKX1kZWxldGUoZSl7bGV0IHQ9SXQodGhpcy5pdGVtcyxlKTtyZXR1cm4gdD90aGlzLml0ZW1zLnNwbGljZSh0aGlzLml0ZW1zLmluZGV4T2YodCksMSkubGVuZ3RoPjA6ITF9Z2V0KGUsdCl7dmFyIGk7bGV0IHI9SXQodGhpcy5pdGVtcyxlKSxzPXI9PW51bGw/dm9pZCAwOnIudmFsdWU7cmV0dXJuKGk9IXQmJksocyk/cy52YWx1ZTpzKSE9bnVsbD9pOnZvaWQgMH1oYXMoZSl7cmV0dXJuISFJdCh0aGlzLml0ZW1zLGUpfXNldChlLHQpe3RoaXMuYWRkKG5ldyBvZShlLHQpLCEwKX10b0pTT04oZSx0LHIpe2xldCBzPXI/bmV3IHI6dCE9bnVsbCYmdC5tYXBBc01hcD9uZXcgTWFwOnt9O3QhPW51bGwmJnQub25DcmVhdGUmJnQub25DcmVhdGUocyk7Zm9yKGxldCBpIG9mIHRoaXMuaXRlbXMpRHModCxzLGkpO3JldHVybiBzfXRvU3RyaW5nKGUsdCxyKXtpZighZSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcyk7Zm9yKGxldCBzIG9mIHRoaXMuaXRlbXMpaWYoIUgocykpdGhyb3cgbmV3IEVycm9yKGBNYXAgaXRlbXMgbXVzdCBhbGwgYmUgcGFpcnM7IGZvdW5kICR7SlNPTi5zdHJpbmdpZnkocyl9IGluc3RlYWRgKTtyZXR1cm4hZS5hbGxOdWxsVmFsdWVzJiZ0aGlzLmhhc0FsbE51bGxWYWx1ZXMoITEpJiYoZT1PYmplY3QuYXNzaWduKHt9LGUse2FsbE51bGxWYWx1ZXM6ITB9KSksZ3ModGhpcyxlLHtibG9ja0l0ZW1QcmVmaXg6XFxcIlxcXCIsZmxvd0NoYXJzOntzdGFydDpcXFwie1xcXCIsZW5kOlxcXCJ9XFxcIn0saXRlbUluZGVudDplLmluZGVudHx8XFxcIlxcXCIsb25DaG9tcEtlZXA6cixvbkNvbW1lbnQ6dH0pfX07dmFyIEdlPXtjb2xsZWN0aW9uOlxcXCJtYXBcXFwiLGRlZmF1bHQ6ITAsbm9kZUNsYXNzOmFlLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6bWFwXFxcIixyZXNvbHZlKG4sZSl7cmV0dXJuIEhlKG4pfHxlKFxcXCJFeHBlY3RlZCBhIG1hcHBpbmcgZm9yIHRoaXMgdGFnXFxcIiksbn0sY3JlYXRlTm9kZToobixlLHQpPT5hZS5mcm9tKG4sZSx0KX07dmFyIGJlPWNsYXNzIGV4dGVuZHMgU257c3RhdGljIGdldCB0YWdOYW1lKCl7cmV0dXJuXFxcInRhZzp5YW1sLm9yZywyMDAyOnNlcVxcXCJ9Y29uc3RydWN0b3IoZSl7c3VwZXIoRnQsZSksdGhpcy5pdGVtcz1bXX1hZGQoZSl7dGhpcy5pdGVtcy5wdXNoKGUpfWRlbGV0ZShlKXtsZXQgdD1icyhlKTtyZXR1cm4gdHlwZW9mIHQhPVxcXCJudW1iZXJcXFwiPyExOnRoaXMuaXRlbXMuc3BsaWNlKHQsMSkubGVuZ3RoPjB9Z2V0KGUsdCl7bGV0IHI9YnMoZSk7aWYodHlwZW9mIHIhPVxcXCJudW1iZXJcXFwiKXJldHVybjtsZXQgcz10aGlzLml0ZW1zW3JdO3JldHVybiF0JiZLKHMpP3MudmFsdWU6c31oYXMoZSl7bGV0IHQ9YnMoZSk7cmV0dXJuIHR5cGVvZiB0PT1cXFwibnVtYmVyXFxcIiYmdDx0aGlzLml0ZW1zLmxlbmd0aH1zZXQoZSx0KXtsZXQgcj1icyhlKTtpZih0eXBlb2YgciE9XFxcIm51bWJlclxcXCIpdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIHZhbGlkIGluZGV4LCBub3QgJHtlfS5gKTtsZXQgcz10aGlzLml0ZW1zW3JdO0socykmJnVzKHQpP3MudmFsdWU9dDp0aGlzLml0ZW1zW3JdPXR9dG9KU09OKGUsdCl7bGV0IHI9W107dCE9bnVsbCYmdC5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShyKTtsZXQgcz0wO2ZvcihsZXQgaSBvZiB0aGlzLml0ZW1zKXIucHVzaChjZShpLFN0cmluZyhzKyspLHQpKTtyZXR1cm4gcn10b1N0cmluZyhlLHQscil7cmV0dXJuIGU/Z3ModGhpcyxlLHtibG9ja0l0ZW1QcmVmaXg6XFxcIi0gXFxcIixmbG93Q2hhcnM6e3N0YXJ0OlxcXCJbXFxcIixlbmQ6XFxcIl1cXFwifSxpdGVtSW5kZW50OihlLmluZGVudHx8XFxcIlxcXCIpK1xcXCIgIFxcXCIsb25DaG9tcEtlZXA6cixvbkNvbW1lbnQ6dH0pOkpTT04uc3RyaW5naWZ5KHRoaXMpfXN0YXRpYyBmcm9tKGUsdCxyKXtsZXR7cmVwbGFjZXI6c309cixpPW5ldyB0aGlzKGUpO2lmKHQmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpe2xldCBvPTA7Zm9yKGxldCBhIG9mIHQpe2lmKHR5cGVvZiBzPT1cXFwiZnVuY3Rpb25cXFwiKXtsZXQgdT10IGluc3RhbmNlb2YgU2V0P2E6U3RyaW5nKG8rKyk7YT1zLmNhbGwodCx1LGEpfWkuaXRlbXMucHVzaCh3dChhLHZvaWQgMCxyKSl9fXJldHVybiBpfX07ZnVuY3Rpb24gYnMobil7bGV0IGU9SyhuKT9uLnZhbHVlOm47cmV0dXJuIGUmJnR5cGVvZiBlPT1cXFwic3RyaW5nXFxcIiYmKGU9TnVtYmVyKGUpKSx0eXBlb2YgZT09XFxcIm51bWJlclxcXCImJk51bWJlci5pc0ludGVnZXIoZSkmJmU+PTA/ZTpudWxsfXZhciBaZT17Y29sbGVjdGlvbjpcXFwic2VxXFxcIixkZWZhdWx0OiEwLG5vZGVDbGFzczpiZSx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOnNlcVxcXCIscmVzb2x2ZShuLGUpe3JldHVybiBKZShuKXx8ZShcXFwiRXhwZWN0ZWQgYSBzZXF1ZW5jZSBmb3IgdGhpcyB0YWdcXFwiKSxufSxjcmVhdGVOb2RlOihuLGUsdCk9PmJlLmZyb20obixlLHQpfTt2YXIgTHQ9e2lkZW50aWZ5Om49PnR5cGVvZiBuPT1cXFwic3RyaW5nXFxcIixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6c3RyXFxcIixyZXNvbHZlOm49Pm4sc3RyaW5naWZ5KG4sZSx0LHIpe3JldHVybiBlPU9iamVjdC5hc3NpZ24oe2FjdHVhbFN0cmluZzohMH0sZSksV3QobixlLHQscil9fTt2YXIgSHQ9e2lkZW50aWZ5Om49Pm49PW51bGwsY3JlYXRlTm9kZTooKT0+bmV3IFAobnVsbCksZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOm51bGxcXFwiLHRlc3Q6L14oPzp+fFtObl11bGx8TlVMTCk/JC8scmVzb2x2ZTooKT0+bmV3IFAobnVsbCksc3RyaW5naWZ5Oih7c291cmNlOm59LGUpPT50eXBlb2Ygbj09XFxcInN0cmluZ1xcXCImJkh0LnRlc3QudGVzdChuKT9uOmUub3B0aW9ucy5udWxsU3RyfTt2YXIgYnI9e2lkZW50aWZ5Om49PnR5cGVvZiBuPT1cXFwiYm9vbGVhblxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmJvb2xcXFwiLHRlc3Q6L14oPzpbVHRdcnVlfFRSVUV8W0ZmXWFsc2V8RkFMU0UpJC8scmVzb2x2ZTpuPT5uZXcgUChuWzBdPT09XFxcInRcXFwifHxuWzBdPT09XFxcIlRcXFwiKSxzdHJpbmdpZnkoe3NvdXJjZTpuLHZhbHVlOmV9LHQpe2lmKG4mJmJyLnRlc3QudGVzdChuKSl7bGV0IHI9blswXT09PVxcXCJ0XFxcInx8blswXT09PVxcXCJUXFxcIjtpZihlPT09cilyZXR1cm4gbn1yZXR1cm4gZT90Lm9wdGlvbnMudHJ1ZVN0cjp0Lm9wdGlvbnMuZmFsc2VTdHJ9fTtmdW5jdGlvbiBGZSh7Zm9ybWF0Om4sbWluRnJhY3Rpb25EaWdpdHM6ZSx0YWc6dCx2YWx1ZTpyfSl7aWYodHlwZW9mIHI9PVxcXCJiaWdpbnRcXFwiKXJldHVybiBTdHJpbmcocik7bGV0IHM9dHlwZW9mIHI9PVxcXCJudW1iZXJcXFwiP3I6TnVtYmVyKHIpO2lmKCFpc0Zpbml0ZShzKSlyZXR1cm4gaXNOYU4ocyk/XFxcIi5uYW5cXFwiOnM8MD9cXFwiLS5pbmZcXFwiOlxcXCIuaW5mXFxcIjtsZXQgaT1KU09OLnN0cmluZ2lmeShyKTtpZighbiYmZSYmKCF0fHx0PT09XFxcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XFxcIikmJi9eXFxcXGQvLnRlc3QoaSkpe2xldCBvPWkuaW5kZXhPZihcXFwiLlxcXCIpO288MCYmKG89aS5sZW5ndGgsaSs9XFxcIi5cXFwiKTtsZXQgYT1lLShpLmxlbmd0aC1vLTEpO2Zvcig7YS0tID4wOylpKz1cXFwiMFxcXCJ9cmV0dXJuIGl9dmFyIEZzPXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcIm51bWJlclxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XFxcIix0ZXN0Oi9eKD86Wy0rXT9cXFxcLig/OmluZnxJbmZ8SU5GKXxcXFxcLm5hbnxcXFxcLk5hTnxcXFxcLk5BTikkLyxyZXNvbHZlOm49Pm4uc2xpY2UoLTMpLnRvTG93ZXJDYXNlKCk9PT1cXFwibmFuXFxcIj9OYU46blswXT09PVxcXCItXFxcIj9OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHN0cmluZ2lmeTpGZX0sRXM9e2lkZW50aWZ5Om49PnR5cGVvZiBuPT1cXFwibnVtYmVyXFxcIixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXRcXFwiLGZvcm1hdDpcXFwiRVhQXFxcIix0ZXN0Oi9eWy0rXT8oPzpcXFxcLlswLTldK3xbMC05XSsoPzpcXFxcLlswLTldKik/KVtlRV1bLStdP1swLTldKyQvLHJlc29sdmU6bj0+cGFyc2VGbG9hdChuKSxzdHJpbmdpZnkobil7bGV0IGU9TnVtYmVyKG4udmFsdWUpO3JldHVybiBpc0Zpbml0ZShlKT9lLnRvRXhwb25lbnRpYWwoKTpGZShuKX19LHdzPXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcIm51bWJlclxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XFxcIix0ZXN0Oi9eWy0rXT8oPzpcXFxcLlswLTldK3xbMC05XStcXFxcLlswLTldKikkLyxyZXNvbHZlKG4pe2xldCBlPW5ldyBQKHBhcnNlRmxvYXQobikpLHQ9bi5pbmRleE9mKFxcXCIuXFxcIik7cmV0dXJuIHQhPT0tMSYmbltuLmxlbmd0aC0xXT09PVxcXCIwXFxcIiYmKGUubWluRnJhY3Rpb25EaWdpdHM9bi5sZW5ndGgtdC0xKSxlfSxzdHJpbmdpZnk6RmV9O3ZhciBUcz1uPT50eXBlb2Ygbj09XFxcImJpZ2ludFxcXCJ8fE51bWJlci5pc0ludGVnZXIobiksVWk9KG4sZSx0LHtpbnRBc0JpZ0ludDpyfSk9PnI/QmlnSW50KG4pOnBhcnNlSW50KG4uc3Vic3RyaW5nKGUpLHQpO2Z1bmN0aW9uIGV1KG4sZSx0KXtsZXR7dmFsdWU6cn09bjtyZXR1cm4gVHMocikmJnI+PTA/dCtyLnRvU3RyaW5nKGUpOkZlKG4pfXZhciBTcz17aWRlbnRpZnk6bj0+VHMobikmJm4+PTAsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmludFxcXCIsZm9ybWF0OlxcXCJPQ1RcXFwiLHRlc3Q6L14wb1swLTddKyQvLHJlc29sdmU6KG4sZSx0KT0+VWkobiwyLDgsdCksc3RyaW5naWZ5Om49PmV1KG4sOCxcXFwiMG9cXFwiKX0sa3M9e2lkZW50aWZ5OlRzLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcXFwiLHRlc3Q6L15bLStdP1swLTldKyQvLHJlc29sdmU6KG4sZSx0KT0+VWkobiwwLDEwLHQpLHN0cmluZ2lmeTpGZX0sQ3M9e2lkZW50aWZ5Om49PlRzKG4pJiZuPj0wLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcXFwiLGZvcm1hdDpcXFwiSEVYXFxcIix0ZXN0Oi9eMHhbMC05YS1mQS1GXSskLyxyZXNvbHZlOihuLGUsdCk9PlVpKG4sMiwxNix0KSxzdHJpbmdpZnk6bj0+ZXUobiwxNixcXFwiMHhcXFwiKX07dmFyIHR1PVtHZSxaZSxMdCxIdCxicixTcyxrcyxDcyxGcyxFcyx3c107ZnVuY3Rpb24gbnUobil7cmV0dXJuIHR5cGVvZiBuPT1cXFwiYmlnaW50XFxcInx8TnVtYmVyLmlzSW50ZWdlcihuKX12YXIgdnM9KHt2YWx1ZTpufSk9PkpTT04uc3RyaW5naWZ5KG4pLG5mPVt7aWRlbnRpZnk6bj0+dHlwZW9mIG49PVxcXCJzdHJpbmdcXFwiLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpzdHJcXFwiLHJlc29sdmU6bj0+bixzdHJpbmdpZnk6dnN9LHtpZGVudGlmeTpuPT5uPT1udWxsLGNyZWF0ZU5vZGU6KCk9Pm5ldyBQKG51bGwpLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpudWxsXFxcIix0ZXN0Oi9ebnVsbCQvLHJlc29sdmU6KCk9Pm51bGwsc3RyaW5naWZ5OnZzfSx7aWRlbnRpZnk6bj0+dHlwZW9mIG49PVxcXCJib29sZWFuXFxcIixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6Ym9vbFxcXCIsdGVzdDovXnRydWV8ZmFsc2UkLyxyZXNvbHZlOm49Pm49PT1cXFwidHJ1ZVxcXCIsc3RyaW5naWZ5OnZzfSx7aWRlbnRpZnk6bnUsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmludFxcXCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikkLyxyZXNvbHZlOihuLGUse2ludEFzQmlnSW50OnR9KT0+dD9CaWdJbnQobik6cGFyc2VJbnQobiwxMCksc3RyaW5naWZ5Oih7dmFsdWU6bn0pPT5udShuKT9uLnRvU3RyaW5nKCk6SlNPTi5zdHJpbmdpZnkobil9LHtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcIm51bWJlclxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XFxcIix0ZXN0Oi9eLT8oPzowfFsxLTldWzAtOV0qKSg/OlxcXFwuWzAtOV0qKT8oPzpbZUVdWy0rXT9bMC05XSspPyQvLHJlc29sdmU6bj0+cGFyc2VGbG9hdChuKSxzdHJpbmdpZnk6dnN9XSxyZj17ZGVmYXVsdDohMCx0YWc6XFxcIlxcXCIsdGVzdDovXi8scmVzb2x2ZShuLGUpe3JldHVybiBlKGBVbnJlc29sdmVkIHBsYWluIHNjYWxhciAke0pTT04uc3RyaW5naWZ5KG4pfWApLG59fSxydT1bR2UsWmVdLmNvbmNhdChuZixyZik7dmFyIEZyPXtpZGVudGlmeTpuPT5uIGluc3RhbmNlb2YgVWludDhBcnJheSxkZWZhdWx0OiExLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5XFxcIixyZXNvbHZlKG4sZSl7aWYodHlwZW9mIEJ1ZmZlcj09XFxcImZ1bmN0aW9uXFxcIilyZXR1cm4gQnVmZmVyLmZyb20obixcXFwiYmFzZTY0XFxcIik7aWYodHlwZW9mIGF0b2I9PVxcXCJmdW5jdGlvblxcXCIpe2xldCB0PWF0b2Iobi5yZXBsYWNlKC9bXFxcXG5cXFxccl0vZyxcXFwiXFxcIikpLHI9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgcz0wO3M8dC5sZW5ndGg7KytzKXJbc109dC5jaGFyQ29kZUF0KHMpO3JldHVybiByfWVsc2UgcmV0dXJuIGUoXFxcIlRoaXMgZW52aXJvbm1lbnQgZG9lcyBub3Qgc3VwcG9ydCByZWFkaW5nIGJpbmFyeSB0YWdzOyBlaXRoZXIgQnVmZmVyIG9yIGF0b2IgaXMgcmVxdWlyZWRcXFwiKSxufSxzdHJpbmdpZnkoe2NvbW1lbnQ6bix0eXBlOmUsdmFsdWU6dH0scixzLGkpe2xldCBvPXQsYTtpZih0eXBlb2YgQnVmZmVyPT1cXFwiZnVuY3Rpb25cXFwiKWE9byBpbnN0YW5jZW9mIEJ1ZmZlcj9vLnRvU3RyaW5nKFxcXCJiYXNlNjRcXFwiKTpCdWZmZXIuZnJvbShvLmJ1ZmZlcikudG9TdHJpbmcoXFxcImJhc2U2NFxcXCIpO2Vsc2UgaWYodHlwZW9mIGJ0b2E9PVxcXCJmdW5jdGlvblxcXCIpe2xldCB1PVxcXCJcXFwiO2ZvcihsZXQgbD0wO2w8by5sZW5ndGg7KytsKXUrPVN0cmluZy5mcm9tQ2hhckNvZGUob1tsXSk7YT1idG9hKHUpfWVsc2UgdGhyb3cgbmV3IEVycm9yKFxcXCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBidG9hIGlzIHJlcXVpcmVkXFxcIik7aWYoZXx8KGU9UC5CTE9DS19MSVRFUkFMKSxlIT09UC5RVU9URV9ET1VCTEUpe2xldCB1PU1hdGgubWF4KHIub3B0aW9ucy5saW5lV2lkdGgtci5pbmRlbnQubGVuZ3RoLHIub3B0aW9ucy5taW5Db250ZW50V2lkdGgpLGw9TWF0aC5jZWlsKGEubGVuZ3RoL3UpLGY9bmV3IEFycmF5KGwpO2ZvcihsZXQgZD0wLG09MDtkPGw7KytkLG0rPXUpZltkXT1hLnN1YnN0cihtLHUpO2E9Zi5qb2luKGU9PT1QLkJMT0NLX0xJVEVSQUw/YFxcbmA6XFxcIiBcXFwiKX1yZXR1cm4gV3Qoe2NvbW1lbnQ6bix0eXBlOmUsdmFsdWU6YX0scixzLGkpfX07ZnVuY3Rpb24gS2kobixlKXt2YXIgdDtpZihKZShuKSlmb3IobGV0IHI9MDtyPG4uaXRlbXMubGVuZ3RoOysrcil7bGV0IHM9bi5pdGVtc1tyXTtpZighSChzKSl7aWYoSGUocykpe3MuaXRlbXMubGVuZ3RoPjEmJmUoXFxcIkVhY2ggcGFpciBtdXN0IGhhdmUgaXRzIG93biBzZXF1ZW5jZSBpbmRpY2F0b3JcXFwiKTtsZXQgaT1zLml0ZW1zWzBdfHxuZXcgb2UobmV3IFAobnVsbCkpO2lmKHMuY29tbWVudEJlZm9yZSYmKGkua2V5LmNvbW1lbnRCZWZvcmU9aS5rZXkuY29tbWVudEJlZm9yZT9gJHtzLmNvbW1lbnRCZWZvcmV9XFxuJHtpLmtleS5jb21tZW50QmVmb3JlfWA6cy5jb21tZW50QmVmb3JlKSxzLmNvbW1lbnQpe2xldCBvPSh0PWkudmFsdWUpIT1udWxsP3Q6aS5rZXk7by5jb21tZW50PW8uY29tbWVudD9gJHtzLmNvbW1lbnR9XFxuJHtvLmNvbW1lbnR9YDpzLmNvbW1lbnR9cz1pfW4uaXRlbXNbcl09SChzKT9zOm5ldyBvZShzKX19ZWxzZSBlKFxcXCJFeHBlY3RlZCBhIHNlcXVlbmNlIGZvciB0aGlzIHRhZ1xcXCIpO3JldHVybiBufWZ1bmN0aW9uIFdpKG4sZSx0KXtsZXR7cmVwbGFjZXI6cn09dCxzPW5ldyBiZShuKTtzLnRhZz1cXFwidGFnOnlhbWwub3JnLDIwMDI6cGFpcnNcXFwiO2xldCBpPTA7aWYoZSYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlmb3IobGV0IG8gb2YgZSl7dHlwZW9mIHI9PVxcXCJmdW5jdGlvblxcXCImJihvPXIuY2FsbChlLFN0cmluZyhpKyspLG8pKTtsZXQgYSx1O2lmKEFycmF5LmlzQXJyYXkobykpaWYoby5sZW5ndGg9PT0yKWE9b1swXSx1PW9bMV07ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBba2V5LCB2YWx1ZV0gdHVwbGU6ICR7b31gKTtlbHNlIGlmKG8mJm8gaW5zdGFuY2VvZiBPYmplY3Qpe2xldCBsPU9iamVjdC5rZXlzKG8pO2lmKGwubGVuZ3RoPT09MSlhPWxbMF0sdT1vW2FdO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdHVwbGUgd2l0aCBvbmUga2V5LCBub3QgJHtsLmxlbmd0aH0ga2V5c2ApfWVsc2UgYT1vO3MuaXRlbXMucHVzaCh2bihhLHUsdCkpfXJldHVybiBzfXZhciBFcj17Y29sbGVjdGlvbjpcXFwic2VxXFxcIixkZWZhdWx0OiExLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6cGFpcnNcXFwiLHJlc29sdmU6S2ksY3JlYXRlTm9kZTpXaX07dmFyIHhuPWNsYXNzIG4gZXh0ZW5kcyBiZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5hZGQ9YWUucHJvdG90eXBlLmFkZC5iaW5kKHRoaXMpLHRoaXMuZGVsZXRlPWFlLnByb3RvdHlwZS5kZWxldGUuYmluZCh0aGlzKSx0aGlzLmdldD1hZS5wcm90b3R5cGUuZ2V0LmJpbmQodGhpcyksdGhpcy5oYXM9YWUucHJvdG90eXBlLmhhcy5iaW5kKHRoaXMpLHRoaXMuc2V0PWFlLnByb3RvdHlwZS5zZXQuYmluZCh0aGlzKSx0aGlzLnRhZz1uLnRhZ310b0pTT04oZSx0KXtpZighdClyZXR1cm4gc3VwZXIudG9KU09OKGUpO2xldCByPW5ldyBNYXA7dCE9bnVsbCYmdC5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShyKTtmb3IobGV0IHMgb2YgdGhpcy5pdGVtcyl7bGV0IGksbztpZihIKHMpPyhpPWNlKHMua2V5LFxcXCJcXFwiLHQpLG89Y2Uocy52YWx1ZSxpLHQpKTppPWNlKHMsXFxcIlxcXCIsdCksci5oYXMoaSkpdGhyb3cgbmV3IEVycm9yKFxcXCJPcmRlcmVkIG1hcHMgbXVzdCBub3QgaW5jbHVkZSBkdXBsaWNhdGUga2V5c1xcXCIpO3Iuc2V0KGksbyl9cmV0dXJuIHJ9c3RhdGljIGZyb20oZSx0LHIpe2xldCBzPVdpKGUsdCxyKSxpPW5ldyB0aGlzO3JldHVybiBpLml0ZW1zPXMuaXRlbXMsaX19O3huLnRhZz1cXFwidGFnOnlhbWwub3JnLDIwMDI6b21hcFxcXCI7dmFyIHdyPXtjb2xsZWN0aW9uOlxcXCJzZXFcXFwiLGlkZW50aWZ5Om49Pm4gaW5zdGFuY2VvZiBNYXAsbm9kZUNsYXNzOnhuLGRlZmF1bHQ6ITEsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwXFxcIixyZXNvbHZlKG4sZSl7bGV0IHQ9S2kobixlKSxyPVtdO2ZvcihsZXR7a2V5OnN9b2YgdC5pdGVtcylLKHMpJiYoci5pbmNsdWRlcyhzLnZhbHVlKT9lKGBPcmRlcmVkIG1hcHMgbXVzdCBub3QgaW5jbHVkZSBkdXBsaWNhdGUga2V5czogJHtzLnZhbHVlfWApOnIucHVzaChzLnZhbHVlKSk7cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IHhuLHQpfSxjcmVhdGVOb2RlOihuLGUsdCk9PnhuLmZyb20obixlLHQpfTtmdW5jdGlvbiBzdSh7dmFsdWU6bixzb3VyY2U6ZX0sdCl7cmV0dXJuIGUmJihuP0hpOkppKS50ZXN0LnRlc3QoZSk/ZTpuP3Qub3B0aW9ucy50cnVlU3RyOnQub3B0aW9ucy5mYWxzZVN0cn12YXIgSGk9e2lkZW50aWZ5Om49Pm49PT0hMCxkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6Ym9vbFxcXCIsdGVzdDovXig/Oll8eXxbWXldZXN8WUVTfFtUdF1ydWV8VFJVRXxbT29dbnxPTikkLyxyZXNvbHZlOigpPT5uZXcgUCghMCksc3RyaW5naWZ5OnN1fSxKaT17aWRlbnRpZnk6bj0+bj09PSExLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpib29sXFxcIix0ZXN0Oi9eKD86TnxufFtObl1vfE5PfFtGZl1hbHNlfEZBTFNFfFtPb11mZnxPRkYpJC8scmVzb2x2ZTooKT0+bmV3IFAoITEpLHN0cmluZ2lmeTpzdX07dmFyIGl1PXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcIm51bWJlclxcXCIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XFxcIix0ZXN0Oi9eKD86Wy0rXT9cXFxcLig/OmluZnxJbmZ8SU5GKXxcXFxcLm5hbnxcXFxcLk5hTnxcXFxcLk5BTikkLyxyZXNvbHZlOm49Pm4uc2xpY2UoLTMpLnRvTG93ZXJDYXNlKCk9PT1cXFwibmFuXFxcIj9OYU46blswXT09PVxcXCItXFxcIj9OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHN0cmluZ2lmeTpGZX0sb3U9e2lkZW50aWZ5Om49PnR5cGVvZiBuPT1cXFwibnVtYmVyXFxcIixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXRcXFwiLGZvcm1hdDpcXFwiRVhQXFxcIix0ZXN0Oi9eWy0rXT8oPzpbMC05XVswLTlfXSopPyg/OlxcXFwuWzAtOV9dKik/W2VFXVstK10/WzAtOV0rJC8scmVzb2x2ZTpuPT5wYXJzZUZsb2F0KG4ucmVwbGFjZSgvXy9nLFxcXCJcXFwiKSksc3RyaW5naWZ5KG4pe2xldCBlPU51bWJlcihuLnZhbHVlKTtyZXR1cm4gaXNGaW5pdGUoZSk/ZS50b0V4cG9uZW50aWFsKCk6RmUobil9fSxhdT17aWRlbnRpZnk6bj0+dHlwZW9mIG49PVxcXCJudW1iZXJcXFwiLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFxcXCIsdGVzdDovXlstK10/KD86WzAtOV1bMC05X10qKT9cXFxcLlswLTlfXSokLyxyZXNvbHZlKG4pe2xldCBlPW5ldyBQKHBhcnNlRmxvYXQobi5yZXBsYWNlKC9fL2csXFxcIlxcXCIpKSksdD1uLmluZGV4T2YoXFxcIi5cXFwiKTtpZih0IT09LTEpe2xldCByPW4uc3Vic3RyaW5nKHQrMSkucmVwbGFjZSgvXy9nLFxcXCJcXFwiKTtyW3IubGVuZ3RoLTFdPT09XFxcIjBcXFwiJiYoZS5taW5GcmFjdGlvbkRpZ2l0cz1yLmxlbmd0aCl9cmV0dXJuIGV9LHN0cmluZ2lmeTpGZX07dmFyIFRyPW49PnR5cGVvZiBuPT1cXFwiYmlnaW50XFxcInx8TnVtYmVyLmlzSW50ZWdlcihuKTtmdW5jdGlvbiB4cyhuLGUsdCx7aW50QXNCaWdJbnQ6cn0pe2xldCBzPW5bMF07aWYoKHM9PT1cXFwiLVxcXCJ8fHM9PT1cXFwiK1xcXCIpJiYoZSs9MSksbj1uLnN1YnN0cmluZyhlKS5yZXBsYWNlKC9fL2csXFxcIlxcXCIpLHIpe3N3aXRjaCh0KXtjYXNlIDI6bj1gMGIke259YDticmVhaztjYXNlIDg6bj1gMG8ke259YDticmVhaztjYXNlIDE2Om49YDB4JHtufWA7YnJlYWt9bGV0IG89QmlnSW50KG4pO3JldHVybiBzPT09XFxcIi1cXFwiP0JpZ0ludCgtMSkqbzpvfWxldCBpPXBhcnNlSW50KG4sdCk7cmV0dXJuIHM9PT1cXFwiLVxcXCI/LTEqaTppfWZ1bmN0aW9uIHppKG4sZSx0KXtsZXR7dmFsdWU6cn09bjtpZihUcihyKSl7bGV0IHM9ci50b1N0cmluZyhlKTtyZXR1cm4gcjwwP1xcXCItXFxcIit0K3Muc3Vic3RyKDEpOnQrc31yZXR1cm4gRmUobil9dmFyIHV1PXtpZGVudGlmeTpUcixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6aW50XFxcIixmb3JtYXQ6XFxcIkJJTlxcXCIsdGVzdDovXlstK10/MGJbMC0xX10rJC8scmVzb2x2ZToobixlLHQpPT54cyhuLDIsMix0KSxzdHJpbmdpZnk6bj0+emkobiwyLFxcXCIwYlxcXCIpfSxsdT17aWRlbnRpZnk6VHIsZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmludFxcXCIsZm9ybWF0OlxcXCJPQ1RcXFwiLHRlc3Q6L15bLStdPzBbMC03X10rJC8scmVzb2x2ZToobixlLHQpPT54cyhuLDEsOCx0KSxzdHJpbmdpZnk6bj0+emkobiw4LFxcXCIwXFxcIil9LGN1PXtpZGVudGlmeTpUcixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6aW50XFxcIix0ZXN0Oi9eWy0rXT9bMC05XVswLTlfXSokLyxyZXNvbHZlOihuLGUsdCk9PnhzKG4sMCwxMCx0KSxzdHJpbmdpZnk6RmV9LGZ1PXtpZGVudGlmeTpUcixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6aW50XFxcIixmb3JtYXQ6XFxcIkhFWFxcXCIsdGVzdDovXlstK10/MHhbMC05YS1mQS1GX10rJC8scmVzb2x2ZToobixlLHQpPT54cyhuLDIsMTYsdCksc3RyaW5naWZ5Om49PnppKG4sMTYsXFxcIjB4XFxcIil9O3ZhciBPbj1jbGFzcyBuIGV4dGVuZHMgYWV7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy50YWc9bi50YWd9YWRkKGUpe2xldCB0O0goZSk/dD1lOmUmJnR5cGVvZiBlPT1cXFwib2JqZWN0XFxcIiYmXFxcImtleVxcXCJpbiBlJiZcXFwidmFsdWVcXFwiaW4gZSYmZS52YWx1ZT09PW51bGw/dD1uZXcgb2UoZS5rZXksbnVsbCk6dD1uZXcgb2UoZSxudWxsKSxJdCh0aGlzLml0ZW1zLHQua2V5KXx8dGhpcy5pdGVtcy5wdXNoKHQpfWdldChlLHQpe2xldCByPUl0KHRoaXMuaXRlbXMsZSk7cmV0dXJuIXQmJkgocik/SyhyLmtleSk/ci5rZXkudmFsdWU6ci5rZXk6cn1zZXQoZSx0KXtpZih0eXBlb2YgdCE9XFxcImJvb2xlYW5cXFwiKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiB2YWx1ZSBmb3Igc2V0KGtleSwgdmFsdWUpIGluIGEgWUFNTCBzZXQsIG5vdCAke3R5cGVvZiB0fWApO2xldCByPUl0KHRoaXMuaXRlbXMsZSk7ciYmIXQ/dGhpcy5pdGVtcy5zcGxpY2UodGhpcy5pdGVtcy5pbmRleE9mKHIpLDEpOiFyJiZ0JiZ0aGlzLml0ZW1zLnB1c2gobmV3IG9lKGUpKX10b0pTT04oZSx0KXtyZXR1cm4gc3VwZXIudG9KU09OKGUsdCxTZXQpfXRvU3RyaW5nKGUsdCxyKXtpZighZSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcyk7aWYodGhpcy5oYXNBbGxOdWxsVmFsdWVzKCEwKSlyZXR1cm4gc3VwZXIudG9TdHJpbmcoT2JqZWN0LmFzc2lnbih7fSxlLHthbGxOdWxsVmFsdWVzOiEwfSksdCxyKTt0aHJvdyBuZXcgRXJyb3IoXFxcIlNldCBpdGVtcyBtdXN0IGFsbCBoYXZlIG51bGwgdmFsdWVzXFxcIil9c3RhdGljIGZyb20oZSx0LHIpe2xldHtyZXBsYWNlcjpzfT1yLGk9bmV3IHRoaXMoZSk7aWYodCYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdCh0KSlmb3IobGV0IG8gb2YgdCl0eXBlb2Ygcz09XFxcImZ1bmN0aW9uXFxcIiYmKG89cy5jYWxsKHQsbyxvKSksaS5pdGVtcy5wdXNoKHZuKG8sbnVsbCxyKSk7cmV0dXJuIGl9fTtPbi50YWc9XFxcInRhZzp5YW1sLm9yZywyMDAyOnNldFxcXCI7dmFyIFNyPXtjb2xsZWN0aW9uOlxcXCJtYXBcXFwiLGlkZW50aWZ5Om49Pm4gaW5zdGFuY2VvZiBTZXQsbm9kZUNsYXNzOk9uLGRlZmF1bHQ6ITEsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXRcXFwiLGNyZWF0ZU5vZGU6KG4sZSx0KT0+T24uZnJvbShuLGUsdCkscmVzb2x2ZShuLGUpe2lmKEhlKG4pKXtpZihuLmhhc0FsbE51bGxWYWx1ZXMoITApKXJldHVybiBPYmplY3QuYXNzaWduKG5ldyBPbixuKTtlKFxcXCJTZXQgaXRlbXMgbXVzdCBhbGwgaGF2ZSBudWxsIHZhbHVlc1xcXCIpfWVsc2UgZShcXFwiRXhwZWN0ZWQgYSBtYXBwaW5nIGZvciB0aGlzIHRhZ1xcXCIpO3JldHVybiBufX07ZnVuY3Rpb24gWWkobixlKXtsZXQgdD1uWzBdLHI9dD09PVxcXCItXFxcInx8dD09PVxcXCIrXFxcIj9uLnN1YnN0cmluZygxKTpuLHM9bz0+ZT9CaWdJbnQobyk6TnVtYmVyKG8pLGk9ci5yZXBsYWNlKC9fL2csXFxcIlxcXCIpLnNwbGl0KFxcXCI6XFxcIikucmVkdWNlKChvLGEpPT5vKnMoNjApK3MoYSkscygwKSk7cmV0dXJuIHQ9PT1cXFwiLVxcXCI/cygtMSkqaTppfWZ1bmN0aW9uIGR1KG4pe2xldHt2YWx1ZTplfT1uLHQ9bz0+bztpZih0eXBlb2YgZT09XFxcImJpZ2ludFxcXCIpdD1vPT5CaWdJbnQobyk7ZWxzZSBpZihpc05hTihlKXx8IWlzRmluaXRlKGUpKXJldHVybiBGZShuKTtsZXQgcj1cXFwiXFxcIjtlPDAmJihyPVxcXCItXFxcIixlKj10KC0xKSk7bGV0IHM9dCg2MCksaT1bZSVzXTtyZXR1cm4gZTw2MD9pLnVuc2hpZnQoMCk6KGU9KGUtaVswXSkvcyxpLnVuc2hpZnQoZSVzKSxlPj02MCYmKGU9KGUtaVswXSkvcyxpLnVuc2hpZnQoZSkpKSxyK2kubWFwKG89PlN0cmluZyhvKS5wYWRTdGFydCgyLFxcXCIwXFxcIikpLmpvaW4oXFxcIjpcXFwiKS5yZXBsYWNlKC8wMDAwMDBcXFxcZCokLyxcXFwiXFxcIil9dmFyIE9zPXtpZGVudGlmeTpuPT50eXBlb2Ygbj09XFxcImJpZ2ludFxcXCJ8fE51bWJlci5pc0ludGVnZXIobiksZGVmYXVsdDohMCx0YWc6XFxcInRhZzp5YW1sLm9yZywyMDAyOmludFxcXCIsZm9ybWF0OlxcXCJUSU1FXFxcIix0ZXN0Oi9eWy0rXT9bMC05XVswLTlfXSooPzo6WzAtNV0/WzAtOV0pKyQvLHJlc29sdmU6KG4sZSx7aW50QXNCaWdJbnQ6dH0pPT5ZaShuLHQpLHN0cmluZ2lmeTpkdX0sSXM9e2lkZW50aWZ5Om49PnR5cGVvZiBuPT1cXFwibnVtYmVyXFxcIixkZWZhdWx0OiEwLHRhZzpcXFwidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXRcXFwiLGZvcm1hdDpcXFwiVElNRVxcXCIsdGVzdDovXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKStcXFxcLlswLTlfXSokLyxyZXNvbHZlOm49PllpKG4sITEpLHN0cmluZ2lmeTpkdX0sSW49e2lkZW50aWZ5Om49Pm4gaW5zdGFuY2VvZiBEYXRlLGRlZmF1bHQ6ITAsdGFnOlxcXCJ0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXBcXFwiLHRlc3Q6UmVnRXhwKFxcXCJeKFswLTldezR9KS0oWzAtOV17MSwyfSktKFswLTldezEsMn0pKD86KD86dHxUfFsgXFxcXFxcXFx0XSspKFswLTldezEsMn0pOihbMC05XXsxLDJ9KTooWzAtOV17MSwyfShcXFxcXFxcXC5bMC05XSspPykoPzpbIFxcXFxcXFxcdF0qKFp8Wy0rXVswMTJdP1swLTldKD86OlswLTldezJ9KT8pKT8pPyRcXFwiKSxyZXNvbHZlKG4pe2xldCBlPW4ubWF0Y2goSW4udGVzdCk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKFxcXCIhIXRpbWVzdGFtcCBleHBlY3RzIGEgZGF0ZSwgc3RhcnRpbmcgd2l0aCB5eXl5LW1tLWRkXFxcIik7bGV0Wyx0LHIscyxpLG8sYV09ZS5tYXAoTnVtYmVyKSx1PWVbN10/TnVtYmVyKChlWzddK1xcXCIwMFxcXCIpLnN1YnN0cigxLDMpKTowLGw9RGF0ZS5VVEModCxyLTEscyxpfHwwLG98fDAsYXx8MCx1KSxmPWVbOF07aWYoZiYmZiE9PVxcXCJaXFxcIil7bGV0IGQ9WWkoZiwhMSk7TWF0aC5hYnMoZCk8MzAmJihkKj02MCksbC09NmU0KmR9cmV0dXJuIG5ldyBEYXRlKGwpfSxzdHJpbmdpZnk6KHt2YWx1ZTpufSk9Pm4udG9JU09TdHJpbmcoKS5yZXBsYWNlKC8oKFQwMDowMCk/OjAwKT9cXFxcLjAwMFokLyxcXFwiXFxcIil9O3ZhciBHaT1bR2UsWmUsTHQsSHQsSGksSmksdXUsbHUsY3UsZnUsaXUsb3UsYXUsRnIsWWUsd3IsRXIsU3IsT3MsSXMsSW5dO3ZhciBodT1uZXcgTWFwKFtbXFxcImNvcmVcXFwiLHR1XSxbXFxcImZhaWxzYWZlXFxcIixbR2UsWmUsTHRdXSxbXFxcImpzb25cXFwiLHJ1XSxbXFxcInlhbWwxMVxcXCIsR2ldLFtcXFwieWFtbC0xLjFcXFwiLEdpXV0pLG11PXtiaW5hcnk6RnIsYm9vbDpicixmbG9hdDp3cyxmbG9hdEV4cDpFcyxmbG9hdE5hTjpGcyxmbG9hdFRpbWU6SXMsaW50OmtzLGludEhleDpDcyxpbnRPY3Q6U3MsaW50VGltZTpPcyxtYXA6R2UsbWVyZ2U6WWUsbnVsbDpIdCxvbWFwOndyLHBhaXJzOkVyLHNlcTpaZSxzZXQ6U3IsdGltZXN0YW1wOklufSxwdT17XFxcInRhZzp5YW1sLm9yZywyMDAyOmJpbmFyeVxcXCI6RnIsXFxcInRhZzp5YW1sLm9yZywyMDAyOm1lcmdlXFxcIjpZZSxcXFwidGFnOnlhbWwub3JnLDIwMDI6b21hcFxcXCI6d3IsXFxcInRhZzp5YW1sLm9yZywyMDAyOnBhaXJzXFxcIjpFcixcXFwidGFnOnlhbWwub3JnLDIwMDI6c2V0XFxcIjpTcixcXFwidGFnOnlhbWwub3JnLDIwMDI6dGltZXN0YW1wXFxcIjpJbn07ZnVuY3Rpb24gTHMobixlLHQpe2xldCByPWh1LmdldChlKTtpZihyJiYhbilyZXR1cm4gdCYmIXIuaW5jbHVkZXMoWWUpP3IuY29uY2F0KFllKTpyLnNsaWNlKCk7bGV0IHM9cjtpZighcylpZihBcnJheS5pc0FycmF5KG4pKXM9W107ZWxzZXtsZXQgaT1BcnJheS5mcm9tKGh1LmtleXMoKSkuZmlsdGVyKG89Pm8hPT1cXFwieWFtbDExXFxcIikubWFwKG89PkpTT04uc3RyaW5naWZ5KG8pKS5qb2luKFxcXCIsIFxcXCIpO3Rocm93IG5ldyBFcnJvcihgVW5rbm93biBzY2hlbWEgXFxcIiR7ZX1cXFwiOyB1c2Ugb25lIG9mICR7aX0gb3IgZGVmaW5lIGN1c3RvbVRhZ3MgYXJyYXlgKX1pZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgaSBvZiBuKXM9cy5jb25jYXQoaSk7ZWxzZSB0eXBlb2Ygbj09XFxcImZ1bmN0aW9uXFxcIiYmKHM9bihzLnNsaWNlKCkpKTtyZXR1cm4gdCYmKHM9cy5jb25jYXQoWWUpKSxzLnJlZHVjZSgoaSxvKT0+e2xldCBhPXR5cGVvZiBvPT1cXFwic3RyaW5nXFxcIj9tdVtvXTpvO2lmKCFhKXtsZXQgdT1KU09OLnN0cmluZ2lmeShvKSxsPU9iamVjdC5rZXlzKG11KS5tYXAoZj0+SlNPTi5zdHJpbmdpZnkoZikpLmpvaW4oXFxcIiwgXFxcIik7dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGN1c3RvbSB0YWcgJHt1fTsgdXNlIG9uZSBvZiAke2x9YCl9cmV0dXJuIGkuaW5jbHVkZXMoYSl8fGkucHVzaChhKSxpfSxbXSl9dmFyIHNmPShuLGUpPT5uLmtleTxlLmtleT8tMTpuLmtleT5lLmtleT8xOjAsa3I9Y2xhc3Mgbntjb25zdHJ1Y3Rvcih7Y29tcGF0OmUsY3VzdG9tVGFnczp0LG1lcmdlOnIscmVzb2x2ZUtub3duVGFnczpzLHNjaGVtYTppLHNvcnRNYXBFbnRyaWVzOm8sdG9TdHJpbmdEZWZhdWx0czphfSl7dGhpcy5jb21wYXQ9QXJyYXkuaXNBcnJheShlKT9McyhlLFxcXCJjb21wYXRcXFwiKTplP0xzKG51bGwsZSk6bnVsbCx0aGlzLm5hbWU9dHlwZW9mIGk9PVxcXCJzdHJpbmdcXFwiJiZpfHxcXFwiY29yZVxcXCIsdGhpcy5rbm93blRhZ3M9cz9wdTp7fSx0aGlzLnRhZ3M9THModCx0aGlzLm5hbWUsciksdGhpcy50b1N0cmluZ09wdGlvbnM9YSE9bnVsbD9hOm51bGwsT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsS2Use3ZhbHVlOkdlfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsSWUse3ZhbHVlOkx0fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsRnQse3ZhbHVlOlplfSksdGhpcy5zb3J0TWFwRW50cmllcz10eXBlb2Ygbz09XFxcImZ1bmN0aW9uXFxcIj9vOm89PT0hMD9zZjpudWxsfWNsb25lKCl7bGV0IGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7cmV0dXJuIGUudGFncz10aGlzLnRhZ3Muc2xpY2UoKSxlfX07ZnVuY3Rpb24gRHUobixlKXt2YXIgdTtsZXQgdD1bXSxyPWUuZGlyZWN0aXZlcz09PSEwO2lmKGUuZGlyZWN0aXZlcyE9PSExJiZuLmRpcmVjdGl2ZXMpe2xldCBsPW4uZGlyZWN0aXZlcy50b1N0cmluZyhuKTtsPyh0LnB1c2gobCkscj0hMCk6bi5kaXJlY3RpdmVzLmRvY1N0YXJ0JiYocj0hMCl9ciYmdC5wdXNoKFxcXCItLS1cXFwiKTtsZXQgcz1ocyhuLGUpLHtjb21tZW50U3RyaW5nOml9PXMub3B0aW9ucztpZihuLmNvbW1lbnRCZWZvcmUpe3QubGVuZ3RoIT09MSYmdC51bnNoaWZ0KFxcXCJcXFwiKTtsZXQgbD1pKG4uY29tbWVudEJlZm9yZSk7dC51bnNoaWZ0KFBlKGwsXFxcIlxcXCIpKX1sZXQgbz0hMSxhPW51bGw7aWYobi5jb250ZW50cyl7aWYoSihuLmNvbnRlbnRzKSl7aWYobi5jb250ZW50cy5zcGFjZUJlZm9yZSYmciYmdC5wdXNoKFxcXCJcXFwiKSxuLmNvbnRlbnRzLmNvbW1lbnRCZWZvcmUpe2xldCBkPWkobi5jb250ZW50cy5jb21tZW50QmVmb3JlKTt0LnB1c2goUGUoZCxcXFwiXFxcIikpfXMuZm9yY2VCbG9ja0luZGVudD0hIW4uY29tbWVudCxhPW4uY29udGVudHMuY29tbWVudH1sZXQgbD1hP3ZvaWQgMDooKT0+bz0hMCxmPVR0KG4uY29udGVudHMscywoKT0+YT1udWxsLGwpO2EmJihmKz1vdChmLFxcXCJcXFwiLGkoYSkpKSwoZlswXT09PVxcXCJ8XFxcInx8ZlswXT09PVxcXCI+XFxcIikmJnRbdC5sZW5ndGgtMV09PT1cXFwiLS0tXFxcIj90W3QubGVuZ3RoLTFdPWAtLS0gJHtmfWA6dC5wdXNoKGYpfWVsc2UgdC5wdXNoKFR0KG4uY29udGVudHMscykpO2lmKCh1PW4uZGlyZWN0aXZlcykhPW51bGwmJnUuZG9jRW5kKWlmKG4uY29tbWVudCl7bGV0IGw9aShuLmNvbW1lbnQpO2wuaW5jbHVkZXMoYFxcbmApPyh0LnB1c2goXFxcIi4uLlxcXCIpLHQucHVzaChQZShsLFxcXCJcXFwiKSkpOnQucHVzaChgLi4uICR7bH1gKX1lbHNlIHQucHVzaChcXFwiLi4uXFxcIik7ZWxzZXtsZXQgbD1uLmNvbW1lbnQ7bCYmbyYmKGw9bC5yZXBsYWNlKC9eXFxcXG4rLyxcXFwiXFxcIikpLGwmJigoIW98fGEpJiZ0W3QubGVuZ3RoLTFdIT09XFxcIlxcXCImJnQucHVzaChcXFwiXFxcIiksdC5wdXNoKFBlKGkobCksXFxcIlxcXCIpKSl9cmV0dXJuIHQuam9pbihgXFxuYCkrYFxcbmB9dmFyIE50PWNsYXNzIG57Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuY29tbWVudEJlZm9yZT1udWxsLHRoaXMuY29tbWVudD1udWxsLHRoaXMuZXJyb3JzPVtdLHRoaXMud2FybmluZ3M9W10sT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsVGUse3ZhbHVlOnNzfSk7bGV0IHM9bnVsbDt0eXBlb2YgdD09XFxcImZ1bmN0aW9uXFxcInx8QXJyYXkuaXNBcnJheSh0KT9zPXQ6cj09PXZvaWQgMCYmdCYmKHI9dCx0PXZvaWQgMCk7bGV0IGk9T2JqZWN0LmFzc2lnbih7aW50QXNCaWdJbnQ6ITEsa2VlcFNvdXJjZVRva2VuczohMSxsb2dMZXZlbDpcXFwid2FyblxcXCIscHJldHR5RXJyb3JzOiEwLHN0cmljdDohMCxzdHJpbmdLZXlzOiExLHVuaXF1ZUtleXM6ITAsdmVyc2lvbjpcXFwiMS4yXFxcIn0scik7dGhpcy5vcHRpb25zPWk7bGV0e3ZlcnNpb246b309aTtyIT1udWxsJiZyLl9kaXJlY3RpdmVzPyh0aGlzLmRpcmVjdGl2ZXM9ci5fZGlyZWN0aXZlcy5hdERvY3VtZW50KCksdGhpcy5kaXJlY3RpdmVzLnlhbWwuZXhwbGljaXQmJihvPXRoaXMuZGlyZWN0aXZlcy55YW1sLnZlcnNpb24pKTp0aGlzLmRpcmVjdGl2ZXM9bmV3IGl0KHt2ZXJzaW9uOm99KSx0aGlzLnNldFNjaGVtYShvLHIpLHRoaXMuY29udGVudHM9ZT09PXZvaWQgMD9udWxsOnRoaXMuY3JlYXRlTm9kZShlLHMscil9Y2xvbmUoKXtsZXQgZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlLHtbVGVdOnt2YWx1ZTpzc319KTtyZXR1cm4gZS5jb21tZW50QmVmb3JlPXRoaXMuY29tbWVudEJlZm9yZSxlLmNvbW1lbnQ9dGhpcy5jb21tZW50LGUuZXJyb3JzPXRoaXMuZXJyb3JzLnNsaWNlKCksZS53YXJuaW5ncz10aGlzLndhcm5pbmdzLnNsaWNlKCksZS5vcHRpb25zPU9iamVjdC5hc3NpZ24oe30sdGhpcy5vcHRpb25zKSx0aGlzLmRpcmVjdGl2ZXMmJihlLmRpcmVjdGl2ZXM9dGhpcy5kaXJlY3RpdmVzLmNsb25lKCkpLGUuc2NoZW1hPXRoaXMuc2NoZW1hLmNsb25lKCksZS5jb250ZW50cz1KKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuY2xvbmUoZS5zY2hlbWEpOnRoaXMuY29udGVudHMsdGhpcy5yYW5nZSYmKGUucmFuZ2U9dGhpcy5yYW5nZS5zbGljZSgpKSxlfWFkZChlKXtMbih0aGlzLmNvbnRlbnRzKSYmdGhpcy5jb250ZW50cy5hZGQoZSl9YWRkSW4oZSx0KXtMbih0aGlzLmNvbnRlbnRzKSYmdGhpcy5jb250ZW50cy5hZGRJbihlLHQpfWNyZWF0ZUFsaWFzKGUsdCl7aWYoIWUuYW5jaG9yKXtsZXQgcj1CaSh0aGlzKTtlLmFuY2hvcj0hdHx8ci5oYXModCk/UGkodHx8XFxcImFcXFwiLHIpOnR9cmV0dXJuIG5ldyBFdChlLmFuY2hvcil9Y3JlYXRlTm9kZShlLHQscil7bGV0IHM7aWYodHlwZW9mIHQ9PVxcXCJmdW5jdGlvblxcXCIpZT10LmNhbGwoe1xcXCJcXFwiOmV9LFxcXCJcXFwiLGUpLHM9dDtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe2xldCBEPUk9PnR5cGVvZiBJPT1cXFwibnVtYmVyXFxcInx8SSBpbnN0YW5jZW9mIFN0cmluZ3x8SSBpbnN0YW5jZW9mIE51bWJlcixUPXQuZmlsdGVyKEQpLm1hcChTdHJpbmcpO1QubGVuZ3RoPjAmJih0PXQuY29uY2F0KFQpKSxzPXR9ZWxzZSByPT09dm9pZCAwJiZ0JiYocj10LHQ9dm9pZCAwKTtsZXR7YWxpYXNEdXBsaWNhdGVPYmplY3RzOmksYW5jaG9yUHJlZml4Om8sZmxvdzphLGtlZXBVbmRlZmluZWQ6dSxvblRhZ09iajpsLHRhZzpmfT1yIT1udWxsP3I6e30se29uQW5jaG9yOmQsc2V0QW5jaG9yczptLHNvdXJjZU9iamVjdHM6aH09WWEodGhpcyxvfHxcXFwiYVxcXCIpLGI9e2FsaWFzRHVwbGljYXRlT2JqZWN0czppIT1udWxsP2k6ITAsa2VlcFVuZGVmaW5lZDp1IT1udWxsP3U6ITEsb25BbmNob3I6ZCxvblRhZ09iajpsLHJlcGxhY2VyOnMsc2NoZW1hOnRoaXMuc2NoZW1hLHNvdXJjZU9iamVjdHM6aH0sZz13dChlLGYsYik7cmV0dXJuIGEmJlooZykmJihnLmZsb3c9ITApLG0oKSxnfWNyZWF0ZVBhaXIoZSx0LHI9e30pe2xldCBzPXRoaXMuY3JlYXRlTm9kZShlLG51bGwsciksaT10aGlzLmNyZWF0ZU5vZGUodCxudWxsLHIpO3JldHVybiBuZXcgb2UocyxpKX1kZWxldGUoZSl7cmV0dXJuIExuKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuZGVsZXRlKGUpOiExfWRlbGV0ZUluKGUpe3JldHVybiBrbihlKT90aGlzLmNvbnRlbnRzPT1udWxsPyExOih0aGlzLmNvbnRlbnRzPW51bGwsITApOkxuKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuZGVsZXRlSW4oZSk6ITF9Z2V0KGUsdCl7cmV0dXJuIFoodGhpcy5jb250ZW50cyk/dGhpcy5jb250ZW50cy5nZXQoZSx0KTp2b2lkIDB9Z2V0SW4oZSx0KXtyZXR1cm4ga24oZSk/IXQmJksodGhpcy5jb250ZW50cyk/dGhpcy5jb250ZW50cy52YWx1ZTp0aGlzLmNvbnRlbnRzOloodGhpcy5jb250ZW50cyk/dGhpcy5jb250ZW50cy5nZXRJbihlLHQpOnZvaWQgMH1oYXMoZSl7cmV0dXJuIFoodGhpcy5jb250ZW50cyk/dGhpcy5jb250ZW50cy5oYXMoZSk6ITF9aGFzSW4oZSl7cmV0dXJuIGtuKGUpP3RoaXMuY29udGVudHMhPT12b2lkIDA6Wih0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmhhc0luKGUpOiExfXNldChlLHQpe3RoaXMuY29udGVudHM9PW51bGw/dGhpcy5jb250ZW50cz1wcih0aGlzLnNjaGVtYSxbZV0sdCk6TG4odGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuc2V0KGUsdCl9c2V0SW4oZSx0KXtrbihlKT90aGlzLmNvbnRlbnRzPXQ6dGhpcy5jb250ZW50cz09bnVsbD90aGlzLmNvbnRlbnRzPXByKHRoaXMuc2NoZW1hLEFycmF5LmZyb20oZSksdCk6TG4odGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuc2V0SW4oZSx0KX1zZXRTY2hlbWEoZSx0PXt9KXt0eXBlb2YgZT09XFxcIm51bWJlclxcXCImJihlPVN0cmluZyhlKSk7bGV0IHI7c3dpdGNoKGUpe2Nhc2VcXFwiMS4xXFxcIjp0aGlzLmRpcmVjdGl2ZXM/dGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbj1cXFwiMS4xXFxcIjp0aGlzLmRpcmVjdGl2ZXM9bmV3IGl0KHt2ZXJzaW9uOlxcXCIxLjFcXFwifSkscj17cmVzb2x2ZUtub3duVGFnczohMSxzY2hlbWE6XFxcInlhbWwtMS4xXFxcIn07YnJlYWs7Y2FzZVxcXCIxLjJcXFwiOmNhc2VcXFwibmV4dFxcXCI6dGhpcy5kaXJlY3RpdmVzP3RoaXMuZGlyZWN0aXZlcy55YW1sLnZlcnNpb249ZTp0aGlzLmRpcmVjdGl2ZXM9bmV3IGl0KHt2ZXJzaW9uOmV9KSxyPXtyZXNvbHZlS25vd25UYWdzOiEwLHNjaGVtYTpcXFwiY29yZVxcXCJ9O2JyZWFrO2Nhc2UgbnVsbDp0aGlzLmRpcmVjdGl2ZXMmJmRlbGV0ZSB0aGlzLmRpcmVjdGl2ZXMscj1udWxsO2JyZWFrO2RlZmF1bHQ6e2xldCBzPUpTT04uc3RyaW5naWZ5KGUpO3Rocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJzEuMScsICcxLjInIG9yIG51bGwgYXMgZmlyc3QgYXJndW1lbnQsIGJ1dCBmb3VuZDogJHtzfWApfX1pZih0LnNjaGVtYSBpbnN0YW5jZW9mIE9iamVjdCl0aGlzLnNjaGVtYT10LnNjaGVtYTtlbHNlIGlmKHIpdGhpcy5zY2hlbWE9bmV3IGtyKE9iamVjdC5hc3NpZ24ocix0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoXFxcIldpdGggYSBudWxsIFlBTUwgdmVyc2lvbiwgdGhlIHsgc2NoZW1hOiBTY2hlbWEgfSBvcHRpb24gaXMgcmVxdWlyZWRcXFwiKX10b0pTKHtqc29uOmUsanNvbkFyZzp0LG1hcEFzTWFwOnIsbWF4QWxpYXNDb3VudDpzLG9uQW5jaG9yOmkscmV2aXZlcjpvfT17fSl7bGV0IGE9e2FuY2hvcnM6bmV3IE1hcCxkb2M6dGhpcyxrZWVwOiFlLG1hcEFzTWFwOnI9PT0hMCxtYXBLZXlXYXJuZWQ6ITEsbWF4QWxpYXNDb3VudDp0eXBlb2Ygcz09XFxcIm51bWJlclxcXCI/czoxMDB9LHU9Y2UodGhpcy5jb250ZW50cyx0IT1udWxsP3Q6XFxcIlxcXCIsYSk7aWYodHlwZW9mIGk9PVxcXCJmdW5jdGlvblxcXCIpZm9yKGxldHtjb3VudDpsLHJlczpmfW9mIGEuYW5jaG9ycy52YWx1ZXMoKSlpKGYsbCk7cmV0dXJuIHR5cGVvZiBvPT1cXFwiZnVuY3Rpb25cXFwiP3h0KG8se1xcXCJcXFwiOnV9LFxcXCJcXFwiLHUpOnV9dG9KU09OKGUsdCl7cmV0dXJuIHRoaXMudG9KUyh7anNvbjohMCxqc29uQXJnOmUsbWFwQXNNYXA6ITEsb25BbmNob3I6dH0pfXRvU3RyaW5nKGU9e30pe2lmKHRoaXMuZXJyb3JzLmxlbmd0aD4wKXRocm93IG5ldyBFcnJvcihcXFwiRG9jdW1lbnQgd2l0aCBlcnJvcnMgY2Fubm90IGJlIHN0cmluZ2lmaWVkXFxcIik7aWYoXFxcImluZGVudFxcXCJpbiBlJiYoIU51bWJlci5pc0ludGVnZXIoZS5pbmRlbnQpfHxOdW1iZXIoZS5pbmRlbnQpPD0wKSl7bGV0IHQ9SlNPTi5zdHJpbmdpZnkoZS5pbmRlbnQpO3Rocm93IG5ldyBFcnJvcihgXFxcImluZGVudFxcXCIgb3B0aW9uIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBub3QgJHt0fWApfXJldHVybiBEdSh0aGlzLGUpfX07ZnVuY3Rpb24gTG4obil7aWYoWihuKSlyZXR1cm4hMDt0aHJvdyBuZXcgRXJyb3IoXFxcIkV4cGVjdGVkIGEgWUFNTCBjb2xsZWN0aW9uIGFzIGRvY3VtZW50IGNvbnRlbnRzXFxcIil9dmFyIENyPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0LHIscyl7c3VwZXIoKSx0aGlzLm5hbWU9ZSx0aGlzLmNvZGU9cix0aGlzLm1lc3NhZ2U9cyx0aGlzLnBvcz10fX0sUWU9Y2xhc3MgZXh0ZW5kcyBDcntjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoXFxcIllBTUxQYXJzZUVycm9yXFxcIixlLHQscil9fSx2cj1jbGFzcyBleHRlbmRzIENye2NvbnN0cnVjdG9yKGUsdCxyKXtzdXBlcihcXFwiWUFNTFdhcm5pbmdcXFwiLGUsdCxyKX19LFppPShuLGUpPT50PT57aWYodC5wb3NbMF09PT0tMSlyZXR1cm47dC5saW5lUG9zPXQucG9zLm1hcChhPT5lLmxpbmVQb3MoYSkpO2xldHtsaW5lOnIsY29sOnN9PXQubGluZVBvc1swXTt0Lm1lc3NhZ2UrPWAgYXQgbGluZSAke3J9LCBjb2x1bW4gJHtzfWA7bGV0IGk9cy0xLG89bi5zdWJzdHJpbmcoZS5saW5lU3RhcnRzW3ItMV0sZS5saW5lU3RhcnRzW3JdKS5yZXBsYWNlKC9bXFxcXG5cXFxccl0rJC8sXFxcIlxcXCIpO2lmKGk+PTYwJiZvLmxlbmd0aD44MCl7bGV0IGE9TWF0aC5taW4oaS0zOSxvLmxlbmd0aC03OSk7bz1cXFwiXFxcXHUyMDI2XFxcIitvLnN1YnN0cmluZyhhKSxpLT1hLTF9aWYoby5sZW5ndGg+ODAmJihvPW8uc3Vic3RyaW5nKDAsNzkpK1xcXCJcXFxcdTIwMjZcXFwiKSxyPjEmJi9eICokLy50ZXN0KG8uc3Vic3RyaW5nKDAsaSkpKXtsZXQgYT1uLnN1YnN0cmluZyhlLmxpbmVTdGFydHNbci0yXSxlLmxpbmVTdGFydHNbci0xXSk7YS5sZW5ndGg+ODAmJihhPWEuc3Vic3RyaW5nKDAsNzkpK2BcXFxcdTIwMjZcXG5gKSxvPWErb31pZigvW14gXS8udGVzdChvKSl7bGV0IGE9MSx1PXQubGluZVBvc1sxXTt1JiZ1LmxpbmU9PT1yJiZ1LmNvbD5zJiYoYT1NYXRoLm1heCgxLE1hdGgubWluKHUuY29sLXMsODAtaSkpKTtsZXQgbD1cXFwiIFxcXCIucmVwZWF0KGkpK1xcXCJeXFxcIi5yZXBlYXQoYSk7dC5tZXNzYWdlKz1gOlxcblxcbiR7b31cXG4ke2x9XFxuYH19O2Z1bmN0aW9uIGF0KG4se2Zsb3c6ZSxpbmRpY2F0b3I6dCxuZXh0OnIsb2Zmc2V0OnMsb25FcnJvcjppLHBhcmVudEluZGVudDpvLHN0YXJ0T25OZXdsaW5lOmF9KXtsZXQgdT0hMSxsPWEsZj1hLGQ9XFxcIlxcXCIsbT1cXFwiXFxcIixoPSExLGI9ITEsZz1udWxsLEQ9bnVsbCxUPW51bGwsST1udWxsLE49bnVsbCx5PW51bGwsdz1udWxsO2ZvcihsZXQgQyBvZiBuKXN3aXRjaChiJiYoQy50eXBlIT09XFxcInNwYWNlXFxcIiYmQy50eXBlIT09XFxcIm5ld2xpbmVcXFwiJiZDLnR5cGUhPT1cXFwiY29tbWFcXFwiJiZpKEMub2Zmc2V0LFxcXCJNSVNTSU5HX0NIQVJcXFwiLFxcXCJUYWdzIGFuZCBhbmNob3JzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gdGhlIG5leHQgdG9rZW4gYnkgd2hpdGUgc3BhY2VcXFwiKSxiPSExKSxnJiYobCYmQy50eXBlIT09XFxcImNvbW1lbnRcXFwiJiZDLnR5cGUhPT1cXFwibmV3bGluZVxcXCImJmkoZyxcXFwiVEFCX0FTX0lOREVOVFxcXCIsXFxcIlRhYnMgYXJlIG5vdCBhbGxvd2VkIGFzIGluZGVudGF0aW9uXFxcIiksZz1udWxsKSxDLnR5cGUpe2Nhc2VcXFwic3BhY2VcXFwiOiFlJiYodCE9PVxcXCJkb2Mtc3RhcnRcXFwifHwocj09bnVsbD92b2lkIDA6ci50eXBlKSE9PVxcXCJmbG93LWNvbGxlY3Rpb25cXFwiKSYmQy5zb3VyY2UuaW5jbHVkZXMoXFxcIlxcdFxcXCIpJiYoZz1DKSxmPSEwO2JyZWFrO2Nhc2VcXFwiY29tbWVudFxcXCI6e2Z8fGkoQyxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVyc1xcXCIpO2xldCBWPUMuc291cmNlLnN1YnN0cmluZygxKXx8XFxcIiBcXFwiO2Q/ZCs9bStWOmQ9VixtPVxcXCJcXFwiLGw9ITE7YnJlYWt9Y2FzZVxcXCJuZXdsaW5lXFxcIjpsP2Q/ZCs9Qy5zb3VyY2U6dT0hMDptKz1DLnNvdXJjZSxsPSEwLGg9ITAsKER8fFQpJiYoST1DKSxmPSEwO2JyZWFrO2Nhc2VcXFwiYW5jaG9yXFxcIjpEJiZpKEMsXFxcIk1VTFRJUExFX0FOQ0hPUlNcXFwiLFxcXCJBIG5vZGUgY2FuIGhhdmUgYXQgbW9zdCBvbmUgYW5jaG9yXFxcIiksQy5zb3VyY2UuZW5kc1dpdGgoXFxcIjpcXFwiKSYmaShDLm9mZnNldCtDLnNvdXJjZS5sZW5ndGgtMSxcXFwiQkFEX0FMSUFTXFxcIixcXFwiQW5jaG9yIGVuZGluZyBpbiA6IGlzIGFtYmlndW91c1xcXCIsITApLEQ9Qyx3PT09bnVsbCYmKHc9Qy5vZmZzZXQpLGw9ITEsZj0hMSxiPSEwO2JyZWFrO2Nhc2VcXFwidGFnXFxcIjp7VCYmaShDLFxcXCJNVUxUSVBMRV9UQUdTXFxcIixcXFwiQSBub2RlIGNhbiBoYXZlIGF0IG1vc3Qgb25lIHRhZ1xcXCIpLFQ9Qyx3PT09bnVsbCYmKHc9Qy5vZmZzZXQpLGw9ITEsZj0hMSxiPSEwO2JyZWFrfWNhc2UgdDooRHx8VCkmJmkoQyxcXFwiQkFEX1BST1BfT1JERVJcXFwiLGBBbmNob3JzIGFuZCB0YWdzIG11c3QgYmUgYWZ0ZXIgdGhlICR7Qy5zb3VyY2V9IGluZGljYXRvcmApLHkmJmkoQyxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYFVuZXhwZWN0ZWQgJHtDLnNvdXJjZX0gaW4gJHtlIT1udWxsP2U6XFxcImNvbGxlY3Rpb25cXFwifWApLHk9QyxsPXQ9PT1cXFwic2VxLWl0ZW0taW5kXFxcInx8dD09PVxcXCJleHBsaWNpdC1rZXktaW5kXFxcIixmPSExO2JyZWFrO2Nhc2VcXFwiY29tbWFcXFwiOmlmKGUpe04mJmkoQyxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYFVuZXhwZWN0ZWQgLCBpbiAke2V9YCksTj1DLGw9ITEsZj0hMTticmVha31kZWZhdWx0OmkoQyxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYFVuZXhwZWN0ZWQgJHtDLnR5cGV9IHRva2VuYCksbD0hMSxmPSExfWxldCB2PW5bbi5sZW5ndGgtMV0seD12P3Yub2Zmc2V0K3Yuc291cmNlLmxlbmd0aDpzO3JldHVybiBiJiZyJiZyLnR5cGUhPT1cXFwic3BhY2VcXFwiJiZyLnR5cGUhPT1cXFwibmV3bGluZVxcXCImJnIudHlwZSE9PVxcXCJjb21tYVxcXCImJihyLnR5cGUhPT1cXFwic2NhbGFyXFxcInx8ci5zb3VyY2UhPT1cXFwiXFxcIikmJmkoci5vZmZzZXQsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIlRhZ3MgYW5kIGFuY2hvcnMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCB0b2tlbiBieSB3aGl0ZSBzcGFjZVxcXCIpLGcmJihsJiZnLmluZGVudDw9b3x8KHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cXFwiYmxvY2stbWFwXFxcInx8KHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cXFwiYmxvY2stc2VxXFxcIikmJmkoZyxcXFwiVEFCX0FTX0lOREVOVFxcXCIsXFxcIlRhYnMgYXJlIG5vdCBhbGxvd2VkIGFzIGluZGVudGF0aW9uXFxcIikse2NvbW1hOk4sZm91bmQ6eSxzcGFjZUJlZm9yZTp1LGNvbW1lbnQ6ZCxoYXNOZXdsaW5lOmgsYW5jaG9yOkQsdGFnOlQsbmV3bGluZUFmdGVyUHJvcDpJLGVuZDp4LHN0YXJ0OnchPW51bGw/dzp4fX1mdW5jdGlvbiBBdChuKXtpZighbilyZXR1cm4gbnVsbDtzd2l0Y2gobi50eXBlKXtjYXNlXFxcImFsaWFzXFxcIjpjYXNlXFxcInNjYWxhclxcXCI6Y2FzZVxcXCJkb3VibGUtcXVvdGVkLXNjYWxhclxcXCI6Y2FzZVxcXCJzaW5nbGUtcXVvdGVkLXNjYWxhclxcXCI6aWYobi5zb3VyY2UuaW5jbHVkZXMoYFxcbmApKXJldHVybiEwO2lmKG4uZW5kKXtmb3IobGV0IGUgb2Ygbi5lbmQpaWYoZS50eXBlPT09XFxcIm5ld2xpbmVcXFwiKXJldHVybiEwfXJldHVybiExO2Nhc2VcXFwiZmxvdy1jb2xsZWN0aW9uXFxcIjpmb3IobGV0IGUgb2Ygbi5pdGVtcyl7Zm9yKGxldCB0IG9mIGUuc3RhcnQpaWYodC50eXBlPT09XFxcIm5ld2xpbmVcXFwiKXJldHVybiEwO2lmKGUuc2VwKXtmb3IobGV0IHQgb2YgZS5zZXApaWYodC50eXBlPT09XFxcIm5ld2xpbmVcXFwiKXJldHVybiEwfWlmKEF0KGUua2V5KXx8QXQoZS52YWx1ZSkpcmV0dXJuITB9cmV0dXJuITE7ZGVmYXVsdDpyZXR1cm4hMH19ZnVuY3Rpb24geHIobixlLHQpe2lmKChlPT1udWxsP3ZvaWQgMDplLnR5cGUpPT09XFxcImZsb3ctY29sbGVjdGlvblxcXCIpe2xldCByPWUuZW5kWzBdO3IuaW5kZW50PT09biYmKHIuc291cmNlPT09XFxcIl1cXFwifHxyLnNvdXJjZT09PVxcXCJ9XFxcIikmJkF0KGUpJiZ0KHIsXFxcIkJBRF9JTkRFTlRcXFwiLFxcXCJGbG93IGVuZCBpbmRpY2F0b3Igc2hvdWxkIGJlIG1vcmUgaW5kZW50ZWQgdGhhbiBwYXJlbnRcXFwiLCEwKX19ZnVuY3Rpb24gTnMobixlLHQpe2xldHt1bmlxdWVLZXlzOnJ9PW4ub3B0aW9ucztpZihyPT09ITEpcmV0dXJuITE7bGV0IHM9dHlwZW9mIHI9PVxcXCJmdW5jdGlvblxcXCI/cjooaSxvKT0+aT09PW98fEsoaSkmJksobykmJmkudmFsdWU9PT1vLnZhbHVlO3JldHVybiBlLnNvbWUoaT0+cyhpLmtleSx0KSl9dmFyIHl1PVxcXCJBbGwgbWFwcGluZyBpdGVtcyBtdXN0IHN0YXJ0IGF0IHRoZSBzYW1lIGNvbHVtblxcXCI7ZnVuY3Rpb24gZ3Uoe2NvbXBvc2VOb2RlOm4sY29tcG9zZUVtcHR5Tm9kZTplfSx0LHIscyxpKXt2YXIgZixkO2xldCBvPShmPWk9PW51bGw/dm9pZCAwOmkubm9kZUNsYXNzKSE9bnVsbD9mOmFlLGE9bmV3IG8odC5zY2hlbWEpO3QuYXRSb290JiYodC5hdFJvb3Q9ITEpO2xldCB1PXIub2Zmc2V0LGw9bnVsbDtmb3IobGV0IG0gb2Ygci5pdGVtcyl7bGV0e3N0YXJ0Omgsa2V5OmIsc2VwOmcsdmFsdWU6RH09bSxUPWF0KGgse2luZGljYXRvcjpcXFwiZXhwbGljaXQta2V5LWluZFxcXCIsbmV4dDpiIT1udWxsP2I6Zz09bnVsbD92b2lkIDA6Z1swXSxvZmZzZXQ6dSxvbkVycm9yOnMscGFyZW50SW5kZW50OnIuaW5kZW50LHN0YXJ0T25OZXdsaW5lOiEwfSksST0hVC5mb3VuZDtpZihJKXtpZihiJiYoYi50eXBlPT09XFxcImJsb2NrLXNlcVxcXCI/cyh1LFxcXCJCTE9DS19BU19JTVBMSUNJVF9LRVlcXFwiLFxcXCJBIGJsb2NrIHNlcXVlbmNlIG1heSBub3QgYmUgdXNlZCBhcyBhbiBpbXBsaWNpdCBtYXAga2V5XFxcIik6XFxcImluZGVudFxcXCJpbiBiJiZiLmluZGVudCE9PXIuaW5kZW50JiZzKHUsXFxcIkJBRF9JTkRFTlRcXFwiLHl1KSksIVQuYW5jaG9yJiYhVC50YWcmJiFnKXtsPVQuZW5kLFQuY29tbWVudCYmKGEuY29tbWVudD9hLmNvbW1lbnQrPWBcXG5gK1QuY29tbWVudDphLmNvbW1lbnQ9VC5jb21tZW50KTtjb250aW51ZX0oVC5uZXdsaW5lQWZ0ZXJQcm9wfHxBdChiKSkmJnMoYiE9bnVsbD9iOmhbaC5sZW5ndGgtMV0sXFxcIk1VTFRJTElORV9JTVBMSUNJVF9LRVlcXFwiLFxcXCJJbXBsaWNpdCBrZXlzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZVxcXCIpfWVsc2UoKGQ9VC5mb3VuZCk9PW51bGw/dm9pZCAwOmQuaW5kZW50KSE9PXIuaW5kZW50JiZzKHUsXFxcIkJBRF9JTkRFTlRcXFwiLHl1KTt0LmF0S2V5PSEwO2xldCBOPVQuZW5kLHk9Yj9uKHQsYixULHMpOmUodCxOLGgsbnVsbCxULHMpO3Quc2NoZW1hLmNvbXBhdCYmeHIoci5pbmRlbnQsYixzKSx0LmF0S2V5PSExLE5zKHQsYS5pdGVtcyx5KSYmcyhOLFxcXCJEVVBMSUNBVEVfS0VZXFxcIixcXFwiTWFwIGtleXMgbXVzdCBiZSB1bmlxdWVcXFwiKTtsZXQgdz1hdChnIT1udWxsP2c6W10se2luZGljYXRvcjpcXFwibWFwLXZhbHVlLWluZFxcXCIsbmV4dDpELG9mZnNldDp5LnJhbmdlWzJdLG9uRXJyb3I6cyxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6IWJ8fGIudHlwZT09PVxcXCJibG9jay1zY2FsYXJcXFwifSk7aWYodT13LmVuZCx3LmZvdW5kKXtJJiYoKEQ9PW51bGw/dm9pZCAwOkQudHlwZSk9PT1cXFwiYmxvY2stbWFwXFxcIiYmIXcuaGFzTmV3bGluZSYmcyh1LFxcXCJCTE9DS19BU19JTVBMSUNJVF9LRVlcXFwiLFxcXCJOZXN0ZWQgbWFwcGluZ3MgYXJlIG5vdCBhbGxvd2VkIGluIGNvbXBhY3QgbWFwcGluZ3NcXFwiKSx0Lm9wdGlvbnMuc3RyaWN0JiZULnN0YXJ0PHcuZm91bmQub2Zmc2V0LTEwMjQmJnMoeS5yYW5nZSxcXFwiS0VZX09WRVJfMTAyNF9DSEFSU1xcXCIsXFxcIlRoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgYmxvY2sgbWFwcGluZyBrZXlcXFwiKSk7bGV0IHY9RD9uKHQsRCx3LHMpOmUodCx1LGcsbnVsbCx3LHMpO3Quc2NoZW1hLmNvbXBhdCYmeHIoci5pbmRlbnQsRCxzKSx1PXYucmFuZ2VbMl07bGV0IHg9bmV3IG9lKHksdik7dC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJih4LnNyY1Rva2VuPW0pLGEuaXRlbXMucHVzaCh4KX1lbHNle0kmJnMoeS5yYW5nZSxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiSW1wbGljaXQgbWFwIGtleXMgbmVlZCB0byBiZSBmb2xsb3dlZCBieSBtYXAgdmFsdWVzXFxcIiksdy5jb21tZW50JiYoeS5jb21tZW50P3kuY29tbWVudCs9YFxcbmArdy5jb21tZW50OnkuY29tbWVudD13LmNvbW1lbnQpO2xldCB2PW5ldyBvZSh5KTt0Lm9wdGlvbnMua2VlcFNvdXJjZVRva2VucyYmKHYuc3JjVG9rZW49bSksYS5pdGVtcy5wdXNoKHYpfX1yZXR1cm4gbCYmbDx1JiZzKGwsXFxcIklNUE9TU0lCTEVcXFwiLFxcXCJNYXAgY29tbWVudCB3aXRoIHRyYWlsaW5nIGNvbnRlbnRcXFwiKSxhLnJhbmdlPVtyLm9mZnNldCx1LGwhPW51bGw/bDp1XSxhfWZ1bmN0aW9uIGJ1KHtjb21wb3NlTm9kZTpuLGNvbXBvc2VFbXB0eU5vZGU6ZX0sdCxyLHMsaSl7dmFyIGY7bGV0IG89KGY9aT09bnVsbD92b2lkIDA6aS5ub2RlQ2xhc3MpIT1udWxsP2Y6YmUsYT1uZXcgbyh0LnNjaGVtYSk7dC5hdFJvb3QmJih0LmF0Um9vdD0hMSksdC5hdEtleSYmKHQuYXRLZXk9ITEpO2xldCB1PXIub2Zmc2V0LGw9bnVsbDtmb3IobGV0e3N0YXJ0OmQsdmFsdWU6bX1vZiByLml0ZW1zKXtsZXQgaD1hdChkLHtpbmRpY2F0b3I6XFxcInNlcS1pdGVtLWluZFxcXCIsbmV4dDptLG9mZnNldDp1LG9uRXJyb3I6cyxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITB9KTtpZighaC5mb3VuZClpZihoLmFuY2hvcnx8aC50YWd8fG0pbSYmbS50eXBlPT09XFxcImJsb2NrLXNlcVxcXCI/cyhoLmVuZCxcXFwiQkFEX0lOREVOVFxcXCIsXFxcIkFsbCBzZXF1ZW5jZSBpdGVtcyBtdXN0IHN0YXJ0IGF0IHRoZSBzYW1lIGNvbHVtblxcXCIpOnModSxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiU2VxdWVuY2UgaXRlbSB3aXRob3V0IC0gaW5kaWNhdG9yXFxcIik7ZWxzZXtsPWguZW5kLGguY29tbWVudCYmKGEuY29tbWVudD1oLmNvbW1lbnQpO2NvbnRpbnVlfWxldCBiPW0/bih0LG0saCxzKTplKHQsaC5lbmQsZCxudWxsLGgscyk7dC5zY2hlbWEuY29tcGF0JiZ4cihyLmluZGVudCxtLHMpLHU9Yi5yYW5nZVsyXSxhLml0ZW1zLnB1c2goYil9cmV0dXJuIGEucmFuZ2U9W3Iub2Zmc2V0LHUsbCE9bnVsbD9sOnVdLGF9ZnVuY3Rpb24gdXQobixlLHQscil7bGV0IHM9XFxcIlxcXCI7aWYobil7bGV0IGk9ITEsbz1cXFwiXFxcIjtmb3IobGV0IGEgb2Ygbil7bGV0e3NvdXJjZTp1LHR5cGU6bH09YTtzd2l0Y2gobCl7Y2FzZVxcXCJzcGFjZVxcXCI6aT0hMDticmVhaztjYXNlXFxcImNvbW1lbnRcXFwiOnt0JiYhaSYmcihhLFxcXCJNSVNTSU5HX0NIQVJcXFwiLFxcXCJDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzXFxcIik7bGV0IGY9dS5zdWJzdHJpbmcoMSl8fFxcXCIgXFxcIjtzP3MrPW8rZjpzPWYsbz1cXFwiXFxcIjticmVha31jYXNlXFxcIm5ld2xpbmVcXFwiOnMmJihvKz11KSxpPSEwO2JyZWFrO2RlZmF1bHQ6cihhLFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIixgVW5leHBlY3RlZCAke2x9IGF0IG5vZGUgZW5kYCl9ZSs9dS5sZW5ndGh9fXJldHVybntjb21tZW50OnMsb2Zmc2V0OmV9fXZhciBRaT1cXFwiQmxvY2sgY29sbGVjdGlvbnMgYXJlIG5vdCBhbGxvd2VkIHdpdGhpbiBmbG93IGNvbGxlY3Rpb25zXFxcIixYaT1uPT5uJiYobi50eXBlPT09XFxcImJsb2NrLW1hcFxcXCJ8fG4udHlwZT09PVxcXCJibG9jay1zZXFcXFwiKTtmdW5jdGlvbiBGdSh7Y29tcG9zZU5vZGU6bixjb21wb3NlRW1wdHlOb2RlOmV9LHQscixzLGkpe3ZhciBELFQ7bGV0IG89ci5zdGFydC5zb3VyY2U9PT1cXFwie1xcXCIsYT1vP1xcXCJmbG93IG1hcFxcXCI6XFxcImZsb3cgc2VxdWVuY2VcXFwiLHU9KEQ9aT09bnVsbD92b2lkIDA6aS5ub2RlQ2xhc3MpIT1udWxsP0Q6bz9hZTpiZSxsPW5ldyB1KHQuc2NoZW1hKTtsLmZsb3c9ITA7bGV0IGY9dC5hdFJvb3Q7ZiYmKHQuYXRSb290PSExKSx0LmF0S2V5JiYodC5hdEtleT0hMSk7bGV0IGQ9ci5vZmZzZXQrci5zdGFydC5zb3VyY2UubGVuZ3RoO2ZvcihsZXQgST0wO0k8ci5pdGVtcy5sZW5ndGg7KytJKXtsZXQgTj1yLml0ZW1zW0ldLHtzdGFydDp5LGtleTp3LHNlcDp2LHZhbHVlOnh9PU4sQz1hdCh5LHtmbG93OmEsaW5kaWNhdG9yOlxcXCJleHBsaWNpdC1rZXktaW5kXFxcIixuZXh0OnchPW51bGw/dzp2PT1udWxsP3ZvaWQgMDp2WzBdLG9mZnNldDpkLG9uRXJyb3I6cyxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITF9KTtpZighQy5mb3VuZCl7aWYoIUMuYW5jaG9yJiYhQy50YWcmJiF2JiYheCl7ST09PTAmJkMuY29tbWE/cyhDLmNvbW1hLFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIixgVW5leHBlY3RlZCAsIGluICR7YX1gKTpJPHIuaXRlbXMubGVuZ3RoLTEmJnMoQy5zdGFydCxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYFVuZXhwZWN0ZWQgZW1wdHkgaXRlbSBpbiAke2F9YCksQy5jb21tZW50JiYobC5jb21tZW50P2wuY29tbWVudCs9YFxcbmArQy5jb21tZW50OmwuY29tbWVudD1DLmNvbW1lbnQpLGQ9Qy5lbmQ7Y29udGludWV9IW8mJnQub3B0aW9ucy5zdHJpY3QmJkF0KHcpJiZzKHcsXFxcIk1VTFRJTElORV9JTVBMSUNJVF9LRVlcXFwiLFxcXCJJbXBsaWNpdCBrZXlzIG9mIGZsb3cgc2VxdWVuY2UgcGFpcnMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lXFxcIil9aWYoST09PTApQy5jb21tYSYmcyhDLmNvbW1hLFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIixgVW5leHBlY3RlZCAsIGluICR7YX1gKTtlbHNlIGlmKEMuY29tbWF8fHMoQy5zdGFydCxcXFwiTUlTU0lOR19DSEFSXFxcIixgTWlzc2luZyAsIGJldHdlZW4gJHthfSBpdGVtc2ApLEMuY29tbWVudCl7bGV0IFY9XFxcIlxcXCI7ZTpmb3IobGV0IGogb2YgeSlzd2l0Y2goai50eXBlKXtjYXNlXFxcImNvbW1hXFxcIjpjYXNlXFxcInNwYWNlXFxcIjpicmVhaztjYXNlXFxcImNvbW1lbnRcXFwiOlY9ai5zb3VyY2Uuc3Vic3RyaW5nKDEpO2JyZWFrIGU7ZGVmYXVsdDpicmVhayBlfWlmKFYpe2xldCBqPWwuaXRlbXNbbC5pdGVtcy5sZW5ndGgtMV07SChqKSYmKGo9KFQ9ai52YWx1ZSkhPW51bGw/VDpqLmtleSksai5jb21tZW50P2ouY29tbWVudCs9YFxcbmArVjpqLmNvbW1lbnQ9VixDLmNvbW1lbnQ9Qy5jb21tZW50LnN1YnN0cmluZyhWLmxlbmd0aCsxKX19aWYoIW8mJiF2JiYhQy5mb3VuZCl7bGV0IFY9eD9uKHQseCxDLHMpOmUodCxDLmVuZCx2LG51bGwsQyxzKTtsLml0ZW1zLnB1c2goViksZD1WLnJhbmdlWzJdLFhpKHgpJiZzKFYucmFuZ2UsXFxcIkJMT0NLX0lOX0ZMT1dcXFwiLFFpKX1lbHNle3QuYXRLZXk9ITA7bGV0IFY9Qy5lbmQsaj13P24odCx3LEMscyk6ZSh0LFYseSxudWxsLEMscyk7WGkodykmJnMoai5yYW5nZSxcXFwiQkxPQ0tfSU5fRkxPV1xcXCIsUWkpLHQuYXRLZXk9ITE7bGV0IFk9YXQodiE9bnVsbD92OltdLHtmbG93OmEsaW5kaWNhdG9yOlxcXCJtYXAtdmFsdWUtaW5kXFxcIixuZXh0Ongsb2Zmc2V0OmoucmFuZ2VbMl0sb25FcnJvcjpzLHBhcmVudEluZGVudDpyLmluZGVudCxzdGFydE9uTmV3bGluZTohMX0pO2lmKFkuZm91bmQpe2lmKCFvJiYhQy5mb3VuZCYmdC5vcHRpb25zLnN0cmljdCl7aWYodilmb3IobGV0IE8gb2Ygdil7aWYoTz09PVkuZm91bmQpYnJlYWs7aWYoTy50eXBlPT09XFxcIm5ld2xpbmVcXFwiKXtzKE8sXFxcIk1VTFRJTElORV9JTVBMSUNJVF9LRVlcXFwiLFxcXCJJbXBsaWNpdCBrZXlzIG9mIGZsb3cgc2VxdWVuY2UgcGFpcnMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lXFxcIik7YnJlYWt9fUMuc3RhcnQ8WS5mb3VuZC5vZmZzZXQtMTAyNCYmcyhZLmZvdW5kLFxcXCJLRVlfT1ZFUl8xMDI0X0NIQVJTXFxcIixcXFwiVGhlIDogaW5kaWNhdG9yIG11c3QgYmUgYXQgbW9zdCAxMDI0IGNoYXJzIGFmdGVyIHRoZSBzdGFydCBvZiBhbiBpbXBsaWNpdCBmbG93IHNlcXVlbmNlIGtleVxcXCIpfX1lbHNlIHgmJihcXFwic291cmNlXFxcImluIHgmJnguc291cmNlJiZ4LnNvdXJjZVswXT09PVxcXCI6XFxcIj9zKHgsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsYE1pc3Npbmcgc3BhY2UgYWZ0ZXIgOiBpbiAke2F9YCk6cyhZLnN0YXJ0LFxcXCJNSVNTSU5HX0NIQVJcXFwiLGBNaXNzaW5nICwgb3IgOiBiZXR3ZWVuICR7YX0gaXRlbXNgKSk7bGV0IGVlPXg/bih0LHgsWSxzKTpZLmZvdW5kP2UodCxZLmVuZCx2LG51bGwsWSxzKTpudWxsO2VlP1hpKHgpJiZzKGVlLnJhbmdlLFxcXCJCTE9DS19JTl9GTE9XXFxcIixRaSk6WS5jb21tZW50JiYoai5jb21tZW50P2ouY29tbWVudCs9YFxcbmArWS5jb21tZW50OmouY29tbWVudD1ZLmNvbW1lbnQpO2xldCB1ZT1uZXcgb2UoaixlZSk7aWYodC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJih1ZS5zcmNUb2tlbj1OKSxvKXtsZXQgTz1sO05zKHQsTy5pdGVtcyxqKSYmcyhWLFxcXCJEVVBMSUNBVEVfS0VZXFxcIixcXFwiTWFwIGtleXMgbXVzdCBiZSB1bmlxdWVcXFwiKSxPLml0ZW1zLnB1c2godWUpfWVsc2V7bGV0IE89bmV3IGFlKHQuc2NoZW1hKTtPLmZsb3c9ITAsTy5pdGVtcy5wdXNoKHVlKTtsZXQgJD0oZWUhPW51bGw/ZWU6aikucmFuZ2U7Ty5yYW5nZT1bai5yYW5nZVswXSwkWzFdLCRbMl1dLGwuaXRlbXMucHVzaChPKX1kPWVlP2VlLnJhbmdlWzJdOlkuZW5kfX1sZXQgbT1vP1xcXCJ9XFxcIjpcXFwiXVxcXCIsW2gsLi4uYl09ci5lbmQsZz1kO2lmKGgmJmguc291cmNlPT09bSlnPWgub2Zmc2V0K2guc291cmNlLmxlbmd0aDtlbHNle2xldCBJPWFbMF0udG9VcHBlckNhc2UoKSthLnN1YnN0cmluZygxKSxOPWY/YCR7SX0gbXVzdCBlbmQgd2l0aCBhICR7bX1gOmAke0l9IGluIGJsb2NrIGNvbGxlY3Rpb24gbXVzdCBiZSBzdWZmaWNpZW50bHkgaW5kZW50ZWQgYW5kIGVuZCB3aXRoIGEgJHttfWA7cyhkLGY/XFxcIk1JU1NJTkdfQ0hBUlxcXCI6XFxcIkJBRF9JTkRFTlRcXFwiLE4pLGgmJmguc291cmNlLmxlbmd0aCE9PTEmJmIudW5zaGlmdChoKX1pZihiLmxlbmd0aD4wKXtsZXQgST11dChiLGcsdC5vcHRpb25zLnN0cmljdCxzKTtJLmNvbW1lbnQmJihsLmNvbW1lbnQ/bC5jb21tZW50Kz1gXFxuYCtJLmNvbW1lbnQ6bC5jb21tZW50PUkuY29tbWVudCksbC5yYW5nZT1bci5vZmZzZXQsZyxJLm9mZnNldF19ZWxzZSBsLnJhbmdlPVtyLm9mZnNldCxnLGddO3JldHVybiBsfWZ1bmN0aW9uIGVvKG4sZSx0LHIscyxpKXtsZXQgbz10LnR5cGU9PT1cXFwiYmxvY2stbWFwXFxcIj9ndShuLGUsdCxyLGkpOnQudHlwZT09PVxcXCJibG9jay1zZXFcXFwiP2J1KG4sZSx0LHIsaSk6RnUobixlLHQscixpKSxhPW8uY29uc3RydWN0b3I7cmV0dXJuIHM9PT1cXFwiIVxcXCJ8fHM9PT1hLnRhZ05hbWU/KG8udGFnPWEudGFnTmFtZSxvKToocyYmKG8udGFnPXMpLG8pfWZ1bmN0aW9uIEV1KG4sZSx0LHIscyl7dmFyIG0saDtsZXQgaT1yLnRhZyxvPWk/ZS5kaXJlY3RpdmVzLnRhZ05hbWUoaS5zb3VyY2UsYj0+cyhpLFxcXCJUQUdfUkVTT0xWRV9GQUlMRURcXFwiLGIpKTpudWxsO2lmKHQudHlwZT09PVxcXCJibG9jay1zZXFcXFwiKXtsZXR7YW5jaG9yOmIsbmV3bGluZUFmdGVyUHJvcDpnfT1yLEQ9YiYmaT9iLm9mZnNldD5pLm9mZnNldD9iOmk6YiE9bnVsbD9iOmk7RCYmKCFnfHxnLm9mZnNldDxELm9mZnNldCkmJnMoRCxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiTWlzc2luZyBuZXdsaW5lIGFmdGVyIGJsb2NrIHNlcXVlbmNlIHByb3BzXFxcIil9bGV0IGE9dC50eXBlPT09XFxcImJsb2NrLW1hcFxcXCI/XFxcIm1hcFxcXCI6dC50eXBlPT09XFxcImJsb2NrLXNlcVxcXCI/XFxcInNlcVxcXCI6dC5zdGFydC5zb3VyY2U9PT1cXFwie1xcXCI/XFxcIm1hcFxcXCI6XFxcInNlcVxcXCI7aWYoIWl8fCFvfHxvPT09XFxcIiFcXFwifHxvPT09YWUudGFnTmFtZSYmYT09PVxcXCJtYXBcXFwifHxvPT09YmUudGFnTmFtZSYmYT09PVxcXCJzZXFcXFwiKXJldHVybiBlbyhuLGUsdCxzLG8pO2xldCB1PWUuc2NoZW1hLnRhZ3MuZmluZChiPT5iLnRhZz09PW8mJmIuY29sbGVjdGlvbj09PWEpO2lmKCF1KXtsZXQgYj1lLnNjaGVtYS5rbm93blRhZ3Nbb107aWYoYiYmYi5jb2xsZWN0aW9uPT09YSllLnNjaGVtYS50YWdzLnB1c2goT2JqZWN0LmFzc2lnbih7fSxiLHtkZWZhdWx0OiExfSkpLHU9YjtlbHNlIHJldHVybiBiIT1udWxsJiZiLmNvbGxlY3Rpb24/cyhpLFxcXCJCQURfQ09MTEVDVElPTl9UWVBFXFxcIixgJHtiLnRhZ30gdXNlZCBmb3IgJHthfSBjb2xsZWN0aW9uLCBidXQgZXhwZWN0cyAke2IuY29sbGVjdGlvbn1gLCEwKTpzKGksXFxcIlRBR19SRVNPTFZFX0ZBSUxFRFxcXCIsYFVucmVzb2x2ZWQgdGFnOiAke299YCwhMCksZW8obixlLHQscyxvKX1sZXQgbD1lbyhuLGUsdCxzLG8sdSksZj0oaD0obT11LnJlc29sdmUpPT1udWxsP3ZvaWQgMDptLmNhbGwodSxsLGI9PnMoaSxcXFwiVEFHX1JFU09MVkVfRkFJTEVEXFxcIixiKSxlLm9wdGlvbnMpKSE9bnVsbD9oOmwsZD1KKGYpP2Y6bmV3IFAoZik7cmV0dXJuIGQucmFuZ2U9bC5yYW5nZSxkLnRhZz1vLHUhPW51bGwmJnUuZm9ybWF0JiYoZC5mb3JtYXQ9dS5mb3JtYXQpLGR9ZnVuY3Rpb24gdG8obixlLHQpe2xldCByPWUub2Zmc2V0LHM9b2YoZSxuLm9wdGlvbnMuc3RyaWN0LHQpO2lmKCFzKXJldHVybnt2YWx1ZTpcXFwiXFxcIix0eXBlOm51bGwsY29tbWVudDpcXFwiXFxcIixyYW5nZTpbcixyLHJdfTtsZXQgaT1zLm1vZGU9PT1cXFwiPlxcXCI/UC5CTE9DS19GT0xERUQ6UC5CTE9DS19MSVRFUkFMLG89ZS5zb3VyY2U/YWYoZS5zb3VyY2UpOltdLGE9by5sZW5ndGg7Zm9yKGxldCBnPW8ubGVuZ3RoLTE7Zz49MDstLWcpe2xldCBEPW9bZ11bMV07aWYoRD09PVxcXCJcXFwifHxEPT09XFxcIlxcXFxyXFxcIilhPWc7ZWxzZSBicmVha31pZihhPT09MCl7bGV0IGc9cy5jaG9tcD09PVxcXCIrXFxcIiYmby5sZW5ndGg+MD9gXFxuYC5yZXBlYXQoTWF0aC5tYXgoMSxvLmxlbmd0aC0xKSk6XFxcIlxcXCIsRD1yK3MubGVuZ3RoO3JldHVybiBlLnNvdXJjZSYmKEQrPWUuc291cmNlLmxlbmd0aCkse3ZhbHVlOmcsdHlwZTppLGNvbW1lbnQ6cy5jb21tZW50LHJhbmdlOltyLEQsRF19fWxldCB1PWUuaW5kZW50K3MuaW5kZW50LGw9ZS5vZmZzZXQrcy5sZW5ndGgsZj0wO2ZvcihsZXQgZz0wO2c8YTsrK2cpe2xldFtELFRdPW9bZ107aWYoVD09PVxcXCJcXFwifHxUPT09XFxcIlxcXFxyXFxcIilzLmluZGVudD09PTAmJkQubGVuZ3RoPnUmJih1PUQubGVuZ3RoKTtlbHNle0QubGVuZ3RoPHUmJnQobCtELmxlbmd0aCxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiQmxvY2sgc2NhbGFycyB3aXRoIG1vcmUtaW5kZW50ZWQgbGVhZGluZyBlbXB0eSBsaW5lcyBtdXN0IHVzZSBhbiBleHBsaWNpdCBpbmRlbnRhdGlvbiBpbmRpY2F0b3JcXFwiKSxzLmluZGVudD09PTAmJih1PUQubGVuZ3RoKSxmPWcsdT09PTAmJiFuLmF0Um9vdCYmdChsLFxcXCJCQURfSU5ERU5UXFxcIixcXFwiQmxvY2sgc2NhbGFyIHZhbHVlcyBpbiBjb2xsZWN0aW9ucyBtdXN0IGJlIGluZGVudGVkXFxcIik7YnJlYWt9bCs9RC5sZW5ndGgrVC5sZW5ndGgrMX1mb3IobGV0IGc9by5sZW5ndGgtMTtnPj1hOy0tZylvW2ddWzBdLmxlbmd0aD51JiYoYT1nKzEpO2xldCBkPVxcXCJcXFwiLG09XFxcIlxcXCIsaD0hMTtmb3IobGV0IGc9MDtnPGY7KytnKWQrPW9bZ11bMF0uc2xpY2UodSkrYFxcbmA7Zm9yKGxldCBnPWY7ZzxhOysrZyl7bGV0W0QsVF09b1tnXTtsKz1ELmxlbmd0aCtULmxlbmd0aCsxO2xldCBJPVRbVC5sZW5ndGgtMV09PT1cXFwiXFxcXHJcXFwiO2lmKEkmJihUPVQuc2xpY2UoMCwtMSkpLFQmJkQubGVuZ3RoPHUpe2xldCB5PWBCbG9jayBzY2FsYXIgbGluZXMgbXVzdCBub3QgYmUgbGVzcyBpbmRlbnRlZCB0aGFuIHRoZWlyICR7cy5pbmRlbnQ/XFxcImV4cGxpY2l0IGluZGVudGF0aW9uIGluZGljYXRvclxcXCI6XFxcImZpcnN0IGxpbmVcXFwifWA7dChsLVQubGVuZ3RoLShJPzI6MSksXFxcIkJBRF9JTkRFTlRcXFwiLHkpLEQ9XFxcIlxcXCJ9aT09PVAuQkxPQ0tfTElURVJBTD8oZCs9bStELnNsaWNlKHUpK1QsbT1gXFxuYCk6RC5sZW5ndGg+dXx8VFswXT09PVxcXCJcXHRcXFwiPyhtPT09XFxcIiBcXFwiP209YFxcbmA6IWgmJm09PT1gXFxuYCYmKG09YFxcblxcbmApLGQrPW0rRC5zbGljZSh1KStULG09YFxcbmAsaD0hMCk6VD09PVxcXCJcXFwiP209PT1gXFxuYD9kKz1gXFxuYDptPWBcXG5gOihkKz1tK1QsbT1cXFwiIFxcXCIsaD0hMSl9c3dpdGNoKHMuY2hvbXApe2Nhc2VcXFwiLVxcXCI6YnJlYWs7Y2FzZVxcXCIrXFxcIjpmb3IobGV0IGc9YTtnPG8ubGVuZ3RoOysrZylkKz1gXFxuYCtvW2ddWzBdLnNsaWNlKHUpO2RbZC5sZW5ndGgtMV0hPT1gXFxuYCYmKGQrPWBcXG5gKTticmVhaztkZWZhdWx0OmQrPWBcXG5gfWxldCBiPXIrcy5sZW5ndGgrZS5zb3VyY2UubGVuZ3RoO3JldHVybnt2YWx1ZTpkLHR5cGU6aSxjb21tZW50OnMuY29tbWVudCxyYW5nZTpbcixiLGJdfX1mdW5jdGlvbiBvZih7b2Zmc2V0Om4scHJvcHM6ZX0sdCxyKXtpZihlWzBdLnR5cGUhPT1cXFwiYmxvY2stc2NhbGFyLWhlYWRlclxcXCIpcmV0dXJuIHIoZVswXSxcXFwiSU1QT1NTSUJMRVxcXCIsXFxcIkJsb2NrIHNjYWxhciBoZWFkZXIgbm90IGZvdW5kXFxcIiksbnVsbDtsZXR7c291cmNlOnN9PWVbMF0saT1zWzBdLG89MCxhPVxcXCJcXFwiLHU9LTE7Zm9yKGxldCBtPTE7bTxzLmxlbmd0aDsrK20pe2xldCBoPXNbbV07aWYoIWEmJihoPT09XFxcIi1cXFwifHxoPT09XFxcIitcXFwiKSlhPWg7ZWxzZXtsZXQgYj1OdW1iZXIoaCk7IW8mJmI/bz1iOnU9PT0tMSYmKHU9bittKX19dSE9PS0xJiZyKHUsXFxcIlVORVhQRUNURURfVE9LRU5cXFwiLGBCbG9jayBzY2FsYXIgaGVhZGVyIGluY2x1ZGVzIGV4dHJhIGNoYXJhY3RlcnM6ICR7c31gKTtsZXQgbD0hMSxmPVxcXCJcXFwiLGQ9cy5sZW5ndGg7Zm9yKGxldCBtPTE7bTxlLmxlbmd0aDsrK20pe2xldCBoPWVbbV07c3dpdGNoKGgudHlwZSl7Y2FzZVxcXCJzcGFjZVxcXCI6bD0hMDtjYXNlXFxcIm5ld2xpbmVcXFwiOmQrPWguc291cmNlLmxlbmd0aDticmVhaztjYXNlXFxcImNvbW1lbnRcXFwiOnQmJiFsJiZyKGgsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIkNvbW1lbnRzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gb3RoZXIgdG9rZW5zIGJ5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnNcXFwiKSxkKz1oLnNvdXJjZS5sZW5ndGgsZj1oLnNvdXJjZS5zdWJzdHJpbmcoMSk7YnJlYWs7Y2FzZVxcXCJlcnJvclxcXCI6cihoLFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIixoLm1lc3NhZ2UpLGQrPWguc291cmNlLmxlbmd0aDticmVhaztkZWZhdWx0OntsZXQgYj1gVW5leHBlY3RlZCB0b2tlbiBpbiBibG9jayBzY2FsYXIgaGVhZGVyOiAke2gudHlwZX1gO3IoaCxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIsYik7bGV0IGc9aC5zb3VyY2U7ZyYmdHlwZW9mIGc9PVxcXCJzdHJpbmdcXFwiJiYoZCs9Zy5sZW5ndGgpfX19cmV0dXJue21vZGU6aSxpbmRlbnQ6byxjaG9tcDphLGNvbW1lbnQ6ZixsZW5ndGg6ZH19ZnVuY3Rpb24gYWYobil7bGV0IGU9bi5zcGxpdCgvXFxcXG4oICopLyksdD1lWzBdLHI9dC5tYXRjaCgvXiggKikvKSxpPVtyIT1udWxsJiZyWzFdP1tyWzFdLHQuc2xpY2UoclsxXS5sZW5ndGgpXTpbXFxcIlxcXCIsdF1dO2ZvcihsZXQgbz0xO288ZS5sZW5ndGg7bys9MilpLnB1c2goW2Vbb10sZVtvKzFdXSk7cmV0dXJuIGl9ZnVuY3Rpb24gbm8obixlLHQpe2xldHtvZmZzZXQ6cix0eXBlOnMsc291cmNlOmksZW5kOm99PW4sYSx1LGw9KG0saCxiKT0+dChyK20saCxiKTtzd2l0Y2gocyl7Y2FzZVxcXCJzY2FsYXJcXFwiOmE9UC5QTEFJTix1PXVmKGksbCk7YnJlYWs7Y2FzZVxcXCJzaW5nbGUtcXVvdGVkLXNjYWxhclxcXCI6YT1QLlFVT1RFX1NJTkdMRSx1PWxmKGksbCk7YnJlYWs7Y2FzZVxcXCJkb3VibGUtcXVvdGVkLXNjYWxhclxcXCI6YT1QLlFVT1RFX0RPVUJMRSx1PWNmKGksbCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gdChuLFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIixgRXhwZWN0ZWQgYSBmbG93IHNjYWxhciB2YWx1ZSwgYnV0IGZvdW5kOiAke3N9YCkse3ZhbHVlOlxcXCJcXFwiLHR5cGU6bnVsbCxjb21tZW50OlxcXCJcXFwiLHJhbmdlOltyLHIraS5sZW5ndGgscitpLmxlbmd0aF19fWxldCBmPXIraS5sZW5ndGgsZD11dChvLGYsZSx0KTtyZXR1cm57dmFsdWU6dSx0eXBlOmEsY29tbWVudDpkLmNvbW1lbnQscmFuZ2U6W3IsZixkLm9mZnNldF19fWZ1bmN0aW9uIHVmKG4sZSl7bGV0IHQ9XFxcIlxcXCI7c3dpdGNoKG5bMF0pe2Nhc2VcXFwiXFx0XFxcIjp0PVxcXCJhIHRhYiBjaGFyYWN0ZXJcXFwiO2JyZWFrO2Nhc2VcXFwiLFxcXCI6dD1cXFwiZmxvdyBpbmRpY2F0b3IgY2hhcmFjdGVyICxcXFwiO2JyZWFrO2Nhc2VcXFwiJVxcXCI6dD1cXFwiZGlyZWN0aXZlIGluZGljYXRvciBjaGFyYWN0ZXIgJVxcXCI7YnJlYWs7Y2FzZVxcXCJ8XFxcIjpjYXNlXFxcIj5cXFwiOnt0PWBibG9jayBzY2FsYXIgaW5kaWNhdG9yICR7blswXX1gO2JyZWFrfWNhc2VcXFwiQFxcXCI6Y2FzZVxcXCJgXFxcIjp7dD1gcmVzZXJ2ZWQgY2hhcmFjdGVyICR7blswXX1gO2JyZWFrfX1yZXR1cm4gdCYmZSgwLFxcXCJCQURfU0NBTEFSX1NUQVJUXFxcIixgUGxhaW4gdmFsdWUgY2Fubm90IHN0YXJ0IHdpdGggJHt0fWApLHd1KG4pfWZ1bmN0aW9uIGxmKG4sZSl7cmV0dXJuKG5bbi5sZW5ndGgtMV0hPT1cXFwiJ1xcXCJ8fG4ubGVuZ3RoPT09MSkmJmUobi5sZW5ndGgsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIk1pc3NpbmcgY2xvc2luZyAncXVvdGVcXFwiKSx3dShuLnNsaWNlKDEsLTEpKS5yZXBsYWNlKC8nJy9nLFxcXCInXFxcIil9ZnVuY3Rpb24gd3Uobil7dmFyIHU7bGV0IGUsdDt0cnl7ZT1uZXcgUmVnRXhwKGAoLio/KSg/PCFbIFxcdF0pWyBcXHRdKlxcXFxyP1xcbmAsXFxcInN5XFxcIiksdD1uZXcgUmVnRXhwKGBbIFxcdF0qKC4qPykoPzooPzwhWyBcXHRdKVsgXFx0XSopP1xcXFxyP1xcbmAsXFxcInN5XFxcIil9Y2F0Y2gobCl7ZT1uZXcgUmVnRXhwKFxcXCIoLio/KVsgXFxcXFxcXFx0XSpcXFxcXFxcXHI/XFxcXFxcXFxuXFxcIixcXFwic3lcXFwiKSx0PW5ldyBSZWdFeHAoXFxcIlsgXFxcXFxcXFx0XSooLio/KVsgXFxcXFxcXFx0XSpcXFxcXFxcXHI/XFxcXFxcXFxuXFxcIixcXFwic3lcXFwiKX1sZXQgcj1lLmV4ZWMobik7aWYoIXIpcmV0dXJuIG47bGV0IHM9clsxXSxpPVxcXCIgXFxcIixvPWUubGFzdEluZGV4O2Zvcih0Lmxhc3RJbmRleD1vO3I9dC5leGVjKG4pOylyWzFdPT09XFxcIlxcXCI/aT09PWBcXG5gP3MrPWk6aT1gXFxuYDoocys9aStyWzFdLGk9XFxcIiBcXFwiKSxvPXQubGFzdEluZGV4O2xldCBhPW5ldyBSZWdFeHAoXFxcIlsgXFxcXFxcXFx0XSooLiopXFxcIixcXFwic3lcXFwiKTtyZXR1cm4gYS5sYXN0SW5kZXg9byxyPWEuZXhlYyhuKSxzK2krKCh1PXI9PW51bGw/dm9pZCAwOnJbMV0pIT1udWxsP3U6XFxcIlxcXCIpfWZ1bmN0aW9uIGNmKG4sZSl7bGV0IHQ9XFxcIlxcXCI7Zm9yKGxldCByPTE7cjxuLmxlbmd0aC0xOysrcil7bGV0IHM9bltyXTtpZighKHM9PT1cXFwiXFxcXHJcXFwiJiZuW3IrMV09PT1gXFxuYCkpaWYocz09PWBcXG5gKXtsZXR7Zm9sZDppLG9mZnNldDpvfT1mZihuLHIpO3QrPWkscj1vfWVsc2UgaWYocz09PVxcXCJcXFxcXFxcXFxcXCIpe2xldCBpPW5bKytyXSxvPWRmW2ldO2lmKG8pdCs9bztlbHNlIGlmKGk9PT1gXFxuYClmb3IoaT1uW3IrMV07aT09PVxcXCIgXFxcInx8aT09PVxcXCJcXHRcXFwiOylpPW5bKytyKzFdO2Vsc2UgaWYoaT09PVxcXCJcXFxcclxcXCImJm5bcisxXT09PWBcXG5gKWZvcihpPW5bKytyKzFdO2k9PT1cXFwiIFxcXCJ8fGk9PT1cXFwiXFx0XFxcIjspaT1uWysrcisxXTtlbHNlIGlmKGk9PT1cXFwieFxcXCJ8fGk9PT1cXFwidVxcXCJ8fGk9PT1cXFwiVVxcXCIpe2xldCBhPXt4OjIsdTo0LFU6OH1baV07dCs9aGYobixyKzEsYSxlKSxyKz1hfWVsc2V7bGV0IGE9bi5zdWJzdHIoci0xLDIpO2Uoci0xLFxcXCJCQURfRFFfRVNDQVBFXFxcIixgSW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgJHthfWApLHQrPWF9fWVsc2UgaWYocz09PVxcXCIgXFxcInx8cz09PVxcXCJcXHRcXFwiKXtsZXQgaT1yLG89bltyKzFdO2Zvcig7bz09PVxcXCIgXFxcInx8bz09PVxcXCJcXHRcXFwiOylvPW5bKytyKzFdO28hPT1gXFxuYCYmIShvPT09XFxcIlxcXFxyXFxcIiYmbltyKzJdPT09YFxcbmApJiYodCs9cj5pP24uc2xpY2UoaSxyKzEpOnMpfWVsc2UgdCs9c31yZXR1cm4obltuLmxlbmd0aC0xXSE9PSdcXFwiJ3x8bi5sZW5ndGg9PT0xKSYmZShuLmxlbmd0aCxcXFwiTUlTU0lOR19DSEFSXFxcIiwnTWlzc2luZyBjbG9zaW5nIFxcXCJxdW90ZScpLHR9ZnVuY3Rpb24gZmYobixlKXtsZXQgdD1cXFwiXFxcIixyPW5bZSsxXTtmb3IoOyhyPT09XFxcIiBcXFwifHxyPT09XFxcIlxcdFxcXCJ8fHI9PT1gXFxuYHx8cj09PVxcXCJcXFxcclxcXCIpJiYhKHI9PT1cXFwiXFxcXHJcXFwiJiZuW2UrMl0hPT1gXFxuYCk7KXI9PT1gXFxuYCYmKHQrPWBcXG5gKSxlKz0xLHI9bltlKzFdO3JldHVybiB0fHwodD1cXFwiIFxcXCIpLHtmb2xkOnQsb2Zmc2V0OmV9fXZhciBkZj17MDpcXFwiXFxcXDBcXFwiLGE6XFxcIlxcXFx4MDdcXFwiLGI6XFxcIlxcXFxiXFxcIixlOlxcXCJcXFxceDFCXFxcIixmOlxcXCJcXFxcZlxcXCIsbjpgXFxuYCxyOlxcXCJcXFxcclxcXCIsdDpcXFwiXFx0XFxcIix2OlxcXCJcXFxcdlxcXCIsTjpcXFwiXFxcXHg4NVxcXCIsXzpcXFwiXFxcXHhBMFxcXCIsTDpcXFwiXFxcXHUyMDI4XFxcIixQOlxcXCJcXFxcdTIwMjlcXFwiLFxcXCIgXFxcIjpcXFwiIFxcXCIsJ1xcXCInOidcXFwiJyxcXFwiL1xcXCI6XFxcIi9cXFwiLFxcXCJcXFxcXFxcXFxcXCI6XFxcIlxcXFxcXFxcXFxcIixcXFwiXFx0XFxcIjpcXFwiXFx0XFxcIn07ZnVuY3Rpb24gaGYobixlLHQscil7bGV0IHM9bi5zdWJzdHIoZSx0KSxvPXMubGVuZ3RoPT09dCYmL15bMC05YS1mQS1GXSskLy50ZXN0KHMpP3BhcnNlSW50KHMsMTYpOk5hTjtpZihpc05hTihvKSl7bGV0IGE9bi5zdWJzdHIoZS0yLHQrMik7cmV0dXJuIHIoZS0yLFxcXCJCQURfRFFfRVNDQVBFXFxcIixgSW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgJHthfWApLGF9cmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KG8pfWZ1bmN0aW9uIHJvKG4sZSx0LHIpe2xldHt2YWx1ZTpzLHR5cGU6aSxjb21tZW50Om8scmFuZ2U6YX09ZS50eXBlPT09XFxcImJsb2NrLXNjYWxhclxcXCI/dG8obixlLHIpOm5vKGUsbi5vcHRpb25zLnN0cmljdCxyKSx1PXQ/bi5kaXJlY3RpdmVzLnRhZ05hbWUodC5zb3VyY2UsZD0+cih0LFxcXCJUQUdfUkVTT0xWRV9GQUlMRURcXFwiLGQpKTpudWxsLGw7bi5vcHRpb25zLnN0cmluZ0tleXMmJm4uYXRLZXk/bD1uLnNjaGVtYVtJZV06dT9sPW1mKG4uc2NoZW1hLHMsdSx0LHIpOmUudHlwZT09PVxcXCJzY2FsYXJcXFwiP2w9cGYobixzLGUscik6bD1uLnNjaGVtYVtJZV07bGV0IGY7dHJ5e2xldCBkPWwucmVzb2x2ZShzLG09PnIodCE9bnVsbD90OmUsXFxcIlRBR19SRVNPTFZFX0ZBSUxFRFxcXCIsbSksbi5vcHRpb25zKTtmPUsoZCk/ZDpuZXcgUChkKX1jYXRjaChkKXtsZXQgbT1kIGluc3RhbmNlb2YgRXJyb3I/ZC5tZXNzYWdlOlN0cmluZyhkKTtyKHQhPW51bGw/dDplLFxcXCJUQUdfUkVTT0xWRV9GQUlMRURcXFwiLG0pLGY9bmV3IFAocyl9cmV0dXJuIGYucmFuZ2U9YSxmLnNvdXJjZT1zLGkmJihmLnR5cGU9aSksdSYmKGYudGFnPXUpLGwuZm9ybWF0JiYoZi5mb3JtYXQ9bC5mb3JtYXQpLG8mJihmLmNvbW1lbnQ9byksZn1mdW5jdGlvbiBtZihuLGUsdCxyLHMpe3ZhciBhO2lmKHQ9PT1cXFwiIVxcXCIpcmV0dXJuIG5bSWVdO2xldCBpPVtdO2ZvcihsZXQgdSBvZiBuLnRhZ3MpaWYoIXUuY29sbGVjdGlvbiYmdS50YWc9PT10KWlmKHUuZGVmYXVsdCYmdS50ZXN0KWkucHVzaCh1KTtlbHNlIHJldHVybiB1O2ZvcihsZXQgdSBvZiBpKWlmKChhPXUudGVzdCkhPW51bGwmJmEudGVzdChlKSlyZXR1cm4gdTtsZXQgbz1uLmtub3duVGFnc1t0XTtyZXR1cm4gbyYmIW8uY29sbGVjdGlvbj8obi50YWdzLnB1c2goT2JqZWN0LmFzc2lnbih7fSxvLHtkZWZhdWx0OiExLHRlc3Q6dm9pZCAwfSkpLG8pOihzKHIsXFxcIlRBR19SRVNPTFZFX0ZBSUxFRFxcXCIsYFVucmVzb2x2ZWQgdGFnOiAke3R9YCx0IT09XFxcInRhZzp5YW1sLm9yZywyMDAyOnN0clxcXCIpLG5bSWVdKX1mdW5jdGlvbiBwZih7YXRLZXk6bixkaXJlY3RpdmVzOmUsc2NoZW1hOnR9LHIscyxpKXt2YXIgYTtsZXQgbz10LnRhZ3MuZmluZCh1PT57dmFyIGw7cmV0dXJuKHUuZGVmYXVsdD09PSEwfHxuJiZ1LmRlZmF1bHQ9PT1cXFwia2V5XFxcIikmJigobD11LnRlc3QpPT1udWxsP3ZvaWQgMDpsLnRlc3QocikpfSl8fHRbSWVdO2lmKHQuY29tcGF0KXtsZXQgdT0oYT10LmNvbXBhdC5maW5kKGw9Pnt2YXIgZjtyZXR1cm4gbC5kZWZhdWx0JiYoKGY9bC50ZXN0KT09bnVsbD92b2lkIDA6Zi50ZXN0KHIpKX0pKSE9bnVsbD9hOnRbSWVdO2lmKG8udGFnIT09dS50YWcpe2xldCBsPWUudGFnU3RyaW5nKG8udGFnKSxmPWUudGFnU3RyaW5nKHUudGFnKSxkPWBWYWx1ZSBtYXkgYmUgcGFyc2VkIGFzIGVpdGhlciAke2x9IG9yICR7Zn1gO2kocyxcXFwiVEFHX1JFU09MVkVfRkFJTEVEXFxcIixkLCEwKX19cmV0dXJuIG99ZnVuY3Rpb24gVHUobixlLHQpe2lmKGUpe3Q9PT1udWxsJiYodD1lLmxlbmd0aCk7Zm9yKGxldCByPXQtMTtyPj0wOy0tcil7bGV0IHM9ZVtyXTtzd2l0Y2gocy50eXBlKXtjYXNlXFxcInNwYWNlXFxcIjpjYXNlXFxcImNvbW1lbnRcXFwiOmNhc2VcXFwibmV3bGluZVxcXCI6bi09cy5zb3VyY2UubGVuZ3RoO2NvbnRpbnVlfWZvcihzPWVbKytyXTsocz09bnVsbD92b2lkIDA6cy50eXBlKT09PVxcXCJzcGFjZVxcXCI7KW4rPXMuc291cmNlLmxlbmd0aCxzPWVbKytyXTticmVha319cmV0dXJuIG59dmFyIERmPXtjb21wb3NlTm9kZTpzbyxjb21wb3NlRW1wdHlOb2RlOkFzfTtmdW5jdGlvbiBzbyhuLGUsdCxyKXtsZXQgcz1uLmF0S2V5LHtzcGFjZUJlZm9yZTppLGNvbW1lbnQ6byxhbmNob3I6YSx0YWc6dX09dCxsLGY9ITA7c3dpdGNoKGUudHlwZSl7Y2FzZVxcXCJhbGlhc1xcXCI6bD15ZihuLGUsciksKGF8fHUpJiZyKGUsXFxcIkFMSUFTX1BST1BTXFxcIixcXFwiQW4gYWxpYXMgbm9kZSBtdXN0IG5vdCBzcGVjaWZ5IGFueSBwcm9wZXJ0aWVzXFxcIik7YnJlYWs7Y2FzZVxcXCJzY2FsYXJcXFwiOmNhc2VcXFwic2luZ2xlLXF1b3RlZC1zY2FsYXJcXFwiOmNhc2VcXFwiZG91YmxlLXF1b3RlZC1zY2FsYXJcXFwiOmNhc2VcXFwiYmxvY2stc2NhbGFyXFxcIjpsPXJvKG4sZSx1LHIpLGEmJihsLmFuY2hvcj1hLnNvdXJjZS5zdWJzdHJpbmcoMSkpO2JyZWFrO2Nhc2VcXFwiYmxvY2stbWFwXFxcIjpjYXNlXFxcImJsb2NrLXNlcVxcXCI6Y2FzZVxcXCJmbG93LWNvbGxlY3Rpb25cXFwiOmw9RXUoRGYsbixlLHQsciksYSYmKGwuYW5jaG9yPWEuc291cmNlLnN1YnN0cmluZygxKSk7YnJlYWs7ZGVmYXVsdDp7bGV0IGQ9ZS50eXBlPT09XFxcImVycm9yXFxcIj9lLm1lc3NhZ2U6YFVuc3VwcG9ydGVkIHRva2VuICh0eXBlOiAke2UudHlwZX0pYDtyKGUsXFxcIlVORVhQRUNURURfVE9LRU5cXFwiLGQpLGw9QXMobixlLm9mZnNldCx2b2lkIDAsbnVsbCx0LHIpLGY9ITF9fXJldHVybiBhJiZsLmFuY2hvcj09PVxcXCJcXFwiJiZyKGEsXFxcIkJBRF9BTElBU1xcXCIsXFxcIkFuY2hvciBjYW5ub3QgYmUgYW4gZW1wdHkgc3RyaW5nXFxcIikscyYmbi5vcHRpb25zLnN0cmluZ0tleXMmJighSyhsKXx8dHlwZW9mIGwudmFsdWUhPVxcXCJzdHJpbmdcXFwifHxsLnRhZyYmbC50YWchPT1cXFwidGFnOnlhbWwub3JnLDIwMDI6c3RyXFxcIikmJnIodSE9bnVsbD91OmUsXFxcIk5PTl9TVFJJTkdfS0VZXFxcIixcXFwiV2l0aCBzdHJpbmdLZXlzLCBhbGwga2V5cyBtdXN0IGJlIHN0cmluZ3NcXFwiKSxpJiYobC5zcGFjZUJlZm9yZT0hMCksbyYmKGUudHlwZT09PVxcXCJzY2FsYXJcXFwiJiZlLnNvdXJjZT09PVxcXCJcXFwiP2wuY29tbWVudD1vOmwuY29tbWVudEJlZm9yZT1vKSxuLm9wdGlvbnMua2VlcFNvdXJjZVRva2VucyYmZiYmKGwuc3JjVG9rZW49ZSksbH1mdW5jdGlvbiBBcyhuLGUsdCxyLHtzcGFjZUJlZm9yZTpzLGNvbW1lbnQ6aSxhbmNob3I6byx0YWc6YSxlbmQ6dX0sbCl7bGV0IGY9e3R5cGU6XFxcInNjYWxhclxcXCIsb2Zmc2V0OlR1KGUsdCxyKSxpbmRlbnQ6LTEsc291cmNlOlxcXCJcXFwifSxkPXJvKG4sZixhLGwpO3JldHVybiBvJiYoZC5hbmNob3I9by5zb3VyY2Uuc3Vic3RyaW5nKDEpLGQuYW5jaG9yPT09XFxcIlxcXCImJmwobyxcXFwiQkFEX0FMSUFTXFxcIixcXFwiQW5jaG9yIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmdcXFwiKSkscyYmKGQuc3BhY2VCZWZvcmU9ITApLGkmJihkLmNvbW1lbnQ9aSxkLnJhbmdlWzJdPXUpLGR9ZnVuY3Rpb24geWYoe29wdGlvbnM6bn0se29mZnNldDplLHNvdXJjZTp0LGVuZDpyfSxzKXtsZXQgaT1uZXcgRXQodC5zdWJzdHJpbmcoMSkpO2kuc291cmNlPT09XFxcIlxcXCImJnMoZSxcXFwiQkFEX0FMSUFTXFxcIixcXFwiQWxpYXMgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZ1xcXCIpLGkuc291cmNlLmVuZHNXaXRoKFxcXCI6XFxcIikmJnMoZSt0Lmxlbmd0aC0xLFxcXCJCQURfQUxJQVNcXFwiLFxcXCJBbGlhcyBlbmRpbmcgaW4gOiBpcyBhbWJpZ3VvdXNcXFwiLCEwKTtsZXQgbz1lK3QubGVuZ3RoLGE9dXQocixvLG4uc3RyaWN0LHMpO3JldHVybiBpLnJhbmdlPVtlLG8sYS5vZmZzZXRdLGEuY29tbWVudCYmKGkuY29tbWVudD1hLmNvbW1lbnQpLGl9ZnVuY3Rpb24gU3UobixlLHtvZmZzZXQ6dCxzdGFydDpyLHZhbHVlOnMsZW5kOml9LG8pe2xldCBhPU9iamVjdC5hc3NpZ24oe19kaXJlY3RpdmVzOmV9LG4pLHU9bmV3IE50KHZvaWQgMCxhKSxsPXthdEtleTohMSxhdFJvb3Q6ITAsZGlyZWN0aXZlczp1LmRpcmVjdGl2ZXMsb3B0aW9uczp1Lm9wdGlvbnMsc2NoZW1hOnUuc2NoZW1hfSxmPWF0KHIse2luZGljYXRvcjpcXFwiZG9jLXN0YXJ0XFxcIixuZXh0OnMhPW51bGw/czppPT1udWxsP3ZvaWQgMDppWzBdLG9mZnNldDp0LG9uRXJyb3I6byxwYXJlbnRJbmRlbnQ6MCxzdGFydE9uTmV3bGluZTohMH0pO2YuZm91bmQmJih1LmRpcmVjdGl2ZXMuZG9jU3RhcnQ9ITAscyYmKHMudHlwZT09PVxcXCJibG9jay1tYXBcXFwifHxzLnR5cGU9PT1cXFwiYmxvY2stc2VxXFxcIikmJiFmLmhhc05ld2xpbmUmJm8oZi5lbmQsXFxcIk1JU1NJTkdfQ0hBUlxcXCIsXFxcIkJsb2NrIGNvbGxlY3Rpb24gY2Fubm90IHN0YXJ0IG9uIHNhbWUgbGluZSB3aXRoIGRpcmVjdGl2ZXMtZW5kIG1hcmtlclxcXCIpKSx1LmNvbnRlbnRzPXM/c28obCxzLGYsbyk6QXMobCxmLmVuZCxyLG51bGwsZixvKTtsZXQgZD11LmNvbnRlbnRzLnJhbmdlWzJdLG09dXQoaSxkLCExLG8pO3JldHVybiBtLmNvbW1lbnQmJih1LmNvbW1lbnQ9bS5jb21tZW50KSx1LnJhbmdlPVt0LGQsbS5vZmZzZXRdLHV9ZnVuY3Rpb24gT3Iobil7aWYodHlwZW9mIG49PVxcXCJudW1iZXJcXFwiKXJldHVybltuLG4rMV07aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gbi5sZW5ndGg9PT0yP246W25bMF0sblsxXV07bGV0e29mZnNldDplLHNvdXJjZTp0fT1uO3JldHVybltlLGUrKHR5cGVvZiB0PT1cXFwic3RyaW5nXFxcIj90Lmxlbmd0aDoxKV19ZnVuY3Rpb24ga3Uobil7dmFyIHM7bGV0IGU9XFxcIlxcXCIsdD0hMSxyPSExO2ZvcihsZXQgaT0wO2k8bi5sZW5ndGg7KytpKXtsZXQgbz1uW2ldO3N3aXRjaChvWzBdKXtjYXNlXFxcIiNcXFwiOmUrPShlPT09XFxcIlxcXCI/XFxcIlxcXCI6cj9gXFxuXFxuYDpgXFxuYCkrKG8uc3Vic3RyaW5nKDEpfHxcXFwiIFxcXCIpLHQ9ITAscj0hMTticmVhaztjYXNlXFxcIiVcXFwiOigocz1uW2krMV0pPT1udWxsP3ZvaWQgMDpzWzBdKSE9PVxcXCIjXFxcIiYmKGkrPTEpLHQ9ITE7YnJlYWs7ZGVmYXVsdDp0fHwocj0hMCksdD0hMX19cmV0dXJue2NvbW1lbnQ6ZSxhZnRlckVtcHR5TGluZTpyfX12YXIgSXI9Y2xhc3N7Y29uc3RydWN0b3IoZT17fSl7dGhpcy5kb2M9bnVsbCx0aGlzLmF0RGlyZWN0aXZlcz0hMSx0aGlzLnByZWx1ZGU9W10sdGhpcy5lcnJvcnM9W10sdGhpcy53YXJuaW5ncz1bXSx0aGlzLm9uRXJyb3I9KHQscixzLGkpPT57bGV0IG89T3IodCk7aT90aGlzLndhcm5pbmdzLnB1c2gobmV3IHZyKG8scixzKSk6dGhpcy5lcnJvcnMucHVzaChuZXcgUWUobyxyLHMpKX0sdGhpcy5kaXJlY3RpdmVzPW5ldyBpdCh7dmVyc2lvbjplLnZlcnNpb258fFxcXCIxLjJcXFwifSksdGhpcy5vcHRpb25zPWV9ZGVjb3JhdGUoZSx0KXtsZXR7Y29tbWVudDpyLGFmdGVyRW1wdHlMaW5lOnN9PWt1KHRoaXMucHJlbHVkZSk7aWYocil7bGV0IGk9ZS5jb250ZW50cztpZih0KWUuY29tbWVudD1lLmNvbW1lbnQ/YCR7ZS5jb21tZW50fVxcbiR7cn1gOnI7ZWxzZSBpZihzfHxlLmRpcmVjdGl2ZXMuZG9jU3RhcnR8fCFpKWUuY29tbWVudEJlZm9yZT1yO2Vsc2UgaWYoWihpKSYmIWkuZmxvdyYmaS5pdGVtcy5sZW5ndGg+MCl7bGV0IG89aS5pdGVtc1swXTtIKG8pJiYobz1vLmtleSk7bGV0IGE9by5jb21tZW50QmVmb3JlO28uY29tbWVudEJlZm9yZT1hP2Ake3J9XFxuJHthfWA6cn1lbHNle2xldCBvPWkuY29tbWVudEJlZm9yZTtpLmNvbW1lbnRCZWZvcmU9bz9gJHtyfVxcbiR7b31gOnJ9fXQ/KEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUuZXJyb3JzLHRoaXMuZXJyb3JzKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLndhcm5pbmdzLHRoaXMud2FybmluZ3MpKTooZS5lcnJvcnM9dGhpcy5lcnJvcnMsZS53YXJuaW5ncz10aGlzLndhcm5pbmdzKSx0aGlzLnByZWx1ZGU9W10sdGhpcy5lcnJvcnM9W10sdGhpcy53YXJuaW5ncz1bXX1zdHJlYW1JbmZvKCl7cmV0dXJue2NvbW1lbnQ6a3UodGhpcy5wcmVsdWRlKS5jb21tZW50LGRpcmVjdGl2ZXM6dGhpcy5kaXJlY3RpdmVzLGVycm9yczp0aGlzLmVycm9ycyx3YXJuaW5nczp0aGlzLndhcm5pbmdzfX0qY29tcG9zZShlLHQ9ITEscj0tMSl7Zm9yKGxldCBzIG9mIGUpeWllbGQqUyh0aGlzLm5leHQocykpO3lpZWxkKlModGhpcy5lbmQodCxyKSl9Km5leHQoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZVxcXCJkaXJlY3RpdmVcXFwiOnRoaXMuZGlyZWN0aXZlcy5hZGQoZS5zb3VyY2UsKHQscixzKT0+e2xldCBpPU9yKGUpO2lbMF0rPXQsdGhpcy5vbkVycm9yKGksXFxcIkJBRF9ESVJFQ1RJVkVcXFwiLHIscyl9KSx0aGlzLnByZWx1ZGUucHVzaChlLnNvdXJjZSksdGhpcy5hdERpcmVjdGl2ZXM9ITA7YnJlYWs7Y2FzZVxcXCJkb2N1bWVudFxcXCI6e2xldCB0PVN1KHRoaXMub3B0aW9ucyx0aGlzLmRpcmVjdGl2ZXMsZSx0aGlzLm9uRXJyb3IpO3RoaXMuYXREaXJlY3RpdmVzJiYhdC5kaXJlY3RpdmVzLmRvY1N0YXJ0JiZ0aGlzLm9uRXJyb3IoZSxcXFwiTUlTU0lOR19DSEFSXFxcIixcXFwiTWlzc2luZyBkaXJlY3RpdmVzLWVuZC9kb2Mtc3RhcnQgaW5kaWNhdG9yIGxpbmVcXFwiKSx0aGlzLmRlY29yYXRlKHQsITEpLHRoaXMuZG9jJiYoeWllbGQgdGhpcy5kb2MpLHRoaXMuZG9jPXQsdGhpcy5hdERpcmVjdGl2ZXM9ITE7YnJlYWt9Y2FzZVxcXCJieXRlLW9yZGVyLW1hcmtcXFwiOmNhc2VcXFwic3BhY2VcXFwiOmJyZWFrO2Nhc2VcXFwiY29tbWVudFxcXCI6Y2FzZVxcXCJuZXdsaW5lXFxcIjp0aGlzLnByZWx1ZGUucHVzaChlLnNvdXJjZSk7YnJlYWs7Y2FzZVxcXCJlcnJvclxcXCI6e2xldCB0PWUuc291cmNlP2Ake2UubWVzc2FnZX06ICR7SlNPTi5zdHJpbmdpZnkoZS5zb3VyY2UpfWA6ZS5tZXNzYWdlLHI9bmV3IFFlKE9yKGUpLFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIix0KTt0aGlzLmF0RGlyZWN0aXZlc3x8IXRoaXMuZG9jP3RoaXMuZXJyb3JzLnB1c2gocik6dGhpcy5kb2MuZXJyb3JzLnB1c2gocik7YnJlYWt9Y2FzZVxcXCJkb2MtZW5kXFxcIjp7aWYoIXRoaXMuZG9jKXtsZXQgcj1cXFwiVW5leHBlY3RlZCBkb2MtZW5kIHdpdGhvdXQgcHJlY2VkaW5nIGRvY3VtZW50XFxcIjt0aGlzLmVycm9ycy5wdXNoKG5ldyBRZShPcihlKSxcXFwiVU5FWFBFQ1RFRF9UT0tFTlxcXCIscikpO2JyZWFrfXRoaXMuZG9jLmRpcmVjdGl2ZXMuZG9jRW5kPSEwO2xldCB0PXV0KGUuZW5kLGUub2Zmc2V0K2Uuc291cmNlLmxlbmd0aCx0aGlzLmRvYy5vcHRpb25zLnN0cmljdCx0aGlzLm9uRXJyb3IpO2lmKHRoaXMuZGVjb3JhdGUodGhpcy5kb2MsITApLHQuY29tbWVudCl7bGV0IHI9dGhpcy5kb2MuY29tbWVudDt0aGlzLmRvYy5jb21tZW50PXI/YCR7cn1cXG4ke3QuY29tbWVudH1gOnQuY29tbWVudH10aGlzLmRvYy5yYW5nZVsyXT10Lm9mZnNldDticmVha31kZWZhdWx0OnRoaXMuZXJyb3JzLnB1c2gobmV3IFFlKE9yKGUpLFxcXCJVTkVYUEVDVEVEX1RPS0VOXFxcIixgVW5zdXBwb3J0ZWQgdG9rZW4gJHtlLnR5cGV9YCkpfX0qZW5kKGU9ITEsdD0tMSl7aWYodGhpcy5kb2MpdGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywhMCkseWllbGQgdGhpcy5kb2MsdGhpcy5kb2M9bnVsbDtlbHNlIGlmKGUpe2xldCByPU9iamVjdC5hc3NpZ24oe19kaXJlY3RpdmVzOnRoaXMuZGlyZWN0aXZlc30sdGhpcy5vcHRpb25zKSxzPW5ldyBOdCh2b2lkIDAscik7dGhpcy5hdERpcmVjdGl2ZXMmJnRoaXMub25FcnJvcih0LFxcXCJNSVNTSU5HX0NIQVJcXFwiLFxcXCJNaXNzaW5nIGRpcmVjdGl2ZXMtZW5kIGluZGljYXRvciBsaW5lXFxcIikscy5yYW5nZT1bMCx0LHRdLHRoaXMuZGVjb3JhdGUocywhMSkseWllbGQgc319fTt2YXIgaW89U3ltYm9sKFxcXCJicmVhayB2aXNpdFxcXCIpLGdmPVN5bWJvbChcXFwic2tpcCBjaGlsZHJlblxcXCIpLEN1PVN5bWJvbChcXFwicmVtb3ZlIGl0ZW1cXFwiKTtmdW5jdGlvbiBKdChuLGUpe1xcXCJ0eXBlXFxcImluIG4mJm4udHlwZT09PVxcXCJkb2N1bWVudFxcXCImJihuPXtzdGFydDpuLnN0YXJ0LHZhbHVlOm4udmFsdWV9KSx2dShPYmplY3QuZnJlZXplKFtdKSxuLGUpfUp0LkJSRUFLPWlvO0p0LlNLSVA9Z2Y7SnQuUkVNT1ZFPUN1O0p0Lml0ZW1BdFBhdGg9KG4sZSk9PntsZXQgdD1uO2ZvcihsZXRbcixzXW9mIGUpe2xldCBpPXQ9PW51bGw/dm9pZCAwOnRbcl07aWYoaSYmXFxcIml0ZW1zXFxcImluIGkpdD1pLml0ZW1zW3NdO2Vsc2UgcmV0dXJufXJldHVybiB0fTtKdC5wYXJlbnRDb2xsZWN0aW9uPShuLGUpPT57bGV0IHQ9SnQuaXRlbUF0UGF0aChuLGUuc2xpY2UoMCwtMSkpLHI9ZVtlLmxlbmd0aC0xXVswXSxzPXQ9PW51bGw/dm9pZCAwOnRbcl07aWYocyYmXFxcIml0ZW1zXFxcImluIHMpcmV0dXJuIHM7dGhyb3cgbmV3IEVycm9yKFxcXCJQYXJlbnQgY29sbGVjdGlvbiBub3QgZm91bmRcXFwiKX07ZnVuY3Rpb24gdnUobixlLHQpe2xldCByPXQoZSxuKTtpZih0eXBlb2Ygcj09XFxcInN5bWJvbFxcXCIpcmV0dXJuIHI7Zm9yKGxldCBzIG9mW1xcXCJrZXlcXFwiLFxcXCJ2YWx1ZVxcXCJdKXtsZXQgaT1lW3NdO2lmKGkmJlxcXCJpdGVtc1xcXCJpbiBpKXtmb3IobGV0IG89MDtvPGkuaXRlbXMubGVuZ3RoOysrbyl7bGV0IGE9dnUoT2JqZWN0LmZyZWV6ZShuLmNvbmNhdChbW3Msb11dKSksaS5pdGVtc1tvXSx0KTtpZih0eXBlb2YgYT09XFxcIm51bWJlclxcXCIpbz1hLTE7ZWxzZXtpZihhPT09aW8pcmV0dXJuIGlvO2E9PT1DdSYmKGkuaXRlbXMuc3BsaWNlKG8sMSksby09MSl9fXR5cGVvZiByPT1cXFwiZnVuY3Rpb25cXFwiJiZzPT09XFxcImtleVxcXCImJihyPXIoZSxuKSl9fXJldHVybiB0eXBlb2Ygcj09XFxcImZ1bmN0aW9uXFxcIj9yKGUsbik6cn12YXIgb289XFxcIlxcXFx1RkVGRlxcXCIsYW89XFxcIlxcdTAwMDJcXFwiLHVvPVxcXCJcXHUwMDE4XFxcIixNcz1cXFwiXFx1MDAxZlxcXCI7ZnVuY3Rpb24geHUobil7c3dpdGNoKG4pe2Nhc2Ugb286cmV0dXJuXFxcImJ5dGUtb3JkZXItbWFya1xcXCI7Y2FzZSBhbzpyZXR1cm5cXFwiZG9jLW1vZGVcXFwiO2Nhc2UgdW86cmV0dXJuXFxcImZsb3ctZXJyb3ItZW5kXFxcIjtjYXNlIE1zOnJldHVyblxcXCJzY2FsYXJcXFwiO2Nhc2VcXFwiLS0tXFxcIjpyZXR1cm5cXFwiZG9jLXN0YXJ0XFxcIjtjYXNlXFxcIi4uLlxcXCI6cmV0dXJuXFxcImRvYy1lbmRcXFwiO2Nhc2VcXFwiXFxcIjpjYXNlYFxcbmA6Y2FzZWBcXFxcclxcbmA6cmV0dXJuXFxcIm5ld2xpbmVcXFwiO2Nhc2VcXFwiLVxcXCI6cmV0dXJuXFxcInNlcS1pdGVtLWluZFxcXCI7Y2FzZVxcXCI/XFxcIjpyZXR1cm5cXFwiZXhwbGljaXQta2V5LWluZFxcXCI7Y2FzZVxcXCI6XFxcIjpyZXR1cm5cXFwibWFwLXZhbHVlLWluZFxcXCI7Y2FzZVxcXCJ7XFxcIjpyZXR1cm5cXFwiZmxvdy1tYXAtc3RhcnRcXFwiO2Nhc2VcXFwifVxcXCI6cmV0dXJuXFxcImZsb3ctbWFwLWVuZFxcXCI7Y2FzZVxcXCJbXFxcIjpyZXR1cm5cXFwiZmxvdy1zZXEtc3RhcnRcXFwiO2Nhc2VcXFwiXVxcXCI6cmV0dXJuXFxcImZsb3ctc2VxLWVuZFxcXCI7Y2FzZVxcXCIsXFxcIjpyZXR1cm5cXFwiY29tbWFcXFwifXN3aXRjaChuWzBdKXtjYXNlXFxcIiBcXFwiOmNhc2VcXFwiXFx0XFxcIjpyZXR1cm5cXFwic3BhY2VcXFwiO2Nhc2VcXFwiI1xcXCI6cmV0dXJuXFxcImNvbW1lbnRcXFwiO2Nhc2VcXFwiJVxcXCI6cmV0dXJuXFxcImRpcmVjdGl2ZS1saW5lXFxcIjtjYXNlXFxcIipcXFwiOnJldHVyblxcXCJhbGlhc1xcXCI7Y2FzZVxcXCImXFxcIjpyZXR1cm5cXFwiYW5jaG9yXFxcIjtjYXNlXFxcIiFcXFwiOnJldHVyblxcXCJ0YWdcXFwiO2Nhc2VcXFwiJ1xcXCI6cmV0dXJuXFxcInNpbmdsZS1xdW90ZWQtc2NhbGFyXFxcIjtjYXNlJ1xcXCInOnJldHVyblxcXCJkb3VibGUtcXVvdGVkLXNjYWxhclxcXCI7Y2FzZVxcXCJ8XFxcIjpjYXNlXFxcIj5cXFwiOnJldHVyblxcXCJibG9jay1zY2FsYXItaGVhZGVyXFxcIn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBYZShuKXtzd2l0Y2gobil7Y2FzZSB2b2lkIDA6Y2FzZVxcXCIgXFxcIjpjYXNlYFxcbmA6Y2FzZVxcXCJcXFxcclxcXCI6Y2FzZVxcXCJcXHRcXFwiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fXZhciBPdT1uZXcgU2V0KFxcXCIwMTIzNDU2Nzg5QUJDREVGYWJjZGVmXFxcIiksRmY9bmV3IFNldChcXFwiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXotIzsvPzpAJj0rJF8uIX4qJygpXFxcIiksX3M9bmV3IFNldChcXFwiLFtde31cXFwiKSxFZj1uZXcgU2V0KGAgLFtde31cXG5cXFxcclxcdGApLGxvPW49PiFufHxFZi5oYXMobiksTHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmF0RW5kPSExLHRoaXMuYmxvY2tTY2FsYXJJbmRlbnQ9LTEsdGhpcy5ibG9ja1NjYWxhcktlZXA9ITEsdGhpcy5idWZmZXI9XFxcIlxcXCIsdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsPTAsdGhpcy5pbmRlbnROZXh0PTAsdGhpcy5pbmRlbnRWYWx1ZT0wLHRoaXMubGluZUVuZFBvcz1udWxsLHRoaXMubmV4dD1udWxsLHRoaXMucG9zPTB9KmxleChlLHQ9ITEpe3ZhciBzO2lmKGUpe2lmKHR5cGVvZiBlIT1cXFwic3RyaW5nXFxcIil0aHJvdyBUeXBlRXJyb3IoXFxcInNvdXJjZSBpcyBub3QgYSBzdHJpbmdcXFwiKTt0aGlzLmJ1ZmZlcj10aGlzLmJ1ZmZlcj90aGlzLmJ1ZmZlcitlOmUsdGhpcy5saW5lRW5kUG9zPW51bGx9dGhpcy5hdEVuZD0hdDtsZXQgcj0ocz10aGlzLm5leHQpIT1udWxsP3M6XFxcInN0cmVhbVxcXCI7Zm9yKDtyJiYodHx8dGhpcy5oYXNDaGFycygxKSk7KXI9eWllbGQqUyh0aGlzLnBhcnNlTmV4dChyKSl9YXRMaW5lRW5kKCl7bGV0IGU9dGhpcy5wb3MsdD10aGlzLmJ1ZmZlcltlXTtmb3IoO3Q9PT1cXFwiIFxcXCJ8fHQ9PT1cXFwiXFx0XFxcIjspdD10aGlzLmJ1ZmZlclsrK2VdO3JldHVybiF0fHx0PT09XFxcIiNcXFwifHx0PT09YFxcbmA/ITA6dD09PVxcXCJcXFxcclxcXCI/dGhpcy5idWZmZXJbZSsxXT09PWBcXG5gOiExfWNoYXJBdChlKXtyZXR1cm4gdGhpcy5idWZmZXJbdGhpcy5wb3MrZV19Y29udGludWVTY2FsYXIoZSl7bGV0IHQ9dGhpcy5idWZmZXJbZV07aWYodGhpcy5pbmRlbnROZXh0PjApe2xldCByPTA7Zm9yKDt0PT09XFxcIiBcXFwiOyl0PXRoaXMuYnVmZmVyWysrcitlXTtpZih0PT09XFxcIlxcXFxyXFxcIil7bGV0IHM9dGhpcy5idWZmZXJbcitlKzFdO2lmKHM9PT1gXFxuYHx8IXMmJiF0aGlzLmF0RW5kKXJldHVybiBlK3IrMX1yZXR1cm4gdD09PWBcXG5gfHxyPj10aGlzLmluZGVudE5leHR8fCF0JiYhdGhpcy5hdEVuZD9lK3I6LTF9aWYodD09PVxcXCItXFxcInx8dD09PVxcXCIuXFxcIil7bGV0IHI9dGhpcy5idWZmZXIuc3Vic3RyKGUsMyk7aWYoKHI9PT1cXFwiLS0tXFxcInx8cj09PVxcXCIuLi5cXFwiKSYmWGUodGhpcy5idWZmZXJbZSszXSkpcmV0dXJuLTF9cmV0dXJuIGV9Z2V0TGluZSgpe2xldCBlPXRoaXMubGluZUVuZFBvcztyZXR1cm4odHlwZW9mIGUhPVxcXCJudW1iZXJcXFwifHxlIT09LTEmJmU8dGhpcy5wb3MpJiYoZT10aGlzLmJ1ZmZlci5pbmRleE9mKGBcXG5gLHRoaXMucG9zKSx0aGlzLmxpbmVFbmRQb3M9ZSksZT09PS0xP3RoaXMuYXRFbmQ/dGhpcy5idWZmZXIuc3Vic3RyaW5nKHRoaXMucG9zKTpudWxsOih0aGlzLmJ1ZmZlcltlLTFdPT09XFxcIlxcXFxyXFxcIiYmKGUtPTEpLHRoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcyxlKSl9aGFzQ2hhcnMoZSl7cmV0dXJuIHRoaXMucG9zK2U8PXRoaXMuYnVmZmVyLmxlbmd0aH1zZXROZXh0KGUpe3JldHVybiB0aGlzLmJ1ZmZlcj10aGlzLmJ1ZmZlci5zdWJzdHJpbmcodGhpcy5wb3MpLHRoaXMucG9zPTAsdGhpcy5saW5lRW5kUG9zPW51bGwsdGhpcy5uZXh0PWUsbnVsbH1wZWVrKGUpe3JldHVybiB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MsZSl9KnBhcnNlTmV4dChlKXtzd2l0Y2goZSl7Y2FzZVxcXCJzdHJlYW1cXFwiOnJldHVybiB5aWVsZCpTKHRoaXMucGFyc2VTdHJlYW0oKSk7Y2FzZVxcXCJsaW5lLXN0YXJ0XFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlTGluZVN0YXJ0KCkpO2Nhc2VcXFwiYmxvY2stc3RhcnRcXFwiOnJldHVybiB5aWVsZCpTKHRoaXMucGFyc2VCbG9ja1N0YXJ0KCkpO2Nhc2VcXFwiZG9jXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlRG9jdW1lbnQoKSk7Y2FzZVxcXCJmbG93XFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlRmxvd0NvbGxlY3Rpb24oKSk7Y2FzZVxcXCJxdW90ZWQtc2NhbGFyXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlUXVvdGVkU2NhbGFyKCkpO2Nhc2VcXFwiYmxvY2stc2NhbGFyXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlQmxvY2tTY2FsYXIoKSk7Y2FzZVxcXCJwbGFpbi1zY2FsYXJcXFwiOnJldHVybiB5aWVsZCpTKHRoaXMucGFyc2VQbGFpblNjYWxhcigpKX19KnBhcnNlU3RyZWFtKCl7bGV0IGU9dGhpcy5nZXRMaW5lKCk7aWYoZT09PW51bGwpcmV0dXJuIHRoaXMuc2V0TmV4dChcXFwic3RyZWFtXFxcIik7aWYoZVswXT09PW9vJiYoeWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSksZT1lLnN1YnN0cmluZygxKSksZVswXT09PVxcXCIlXFxcIil7bGV0IHQ9ZS5sZW5ndGgscj1lLmluZGV4T2YoXFxcIiNcXFwiKTtmb3IoO3IhPT0tMTspe2xldCBpPWVbci0xXTtpZihpPT09XFxcIiBcXFwifHxpPT09XFxcIlxcdFxcXCIpe3Q9ci0xO2JyZWFrfWVsc2Ugcj1lLmluZGV4T2YoXFxcIiNcXFwiLHIrMSl9Zm9yKDs7KXtsZXQgaT1lW3QtMV07aWYoaT09PVxcXCIgXFxcInx8aT09PVxcXCJcXHRcXFwiKXQtPTE7ZWxzZSBicmVha31sZXQgcz0oeWllbGQqUyh0aGlzLnB1c2hDb3VudCh0KSkpKyh5aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMCkpKTtyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hDb3VudChlLmxlbmd0aC1zKSksdGhpcy5wdXNoTmV3bGluZSgpLFxcXCJzdHJlYW1cXFwifWlmKHRoaXMuYXRMaW5lRW5kKCkpe2xldCB0PXlpZWxkKlModGhpcy5wdXNoU3BhY2VzKCEwKSk7cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtdCkpLHlpZWxkKlModGhpcy5wdXNoTmV3bGluZSgpKSxcXFwic3RyZWFtXFxcIn1yZXR1cm4geWllbGQgYW8seWllbGQqUyh0aGlzLnBhcnNlTGluZVN0YXJ0KCkpfSpwYXJzZUxpbmVTdGFydCgpe2xldCBlPXRoaXMuY2hhckF0KDApO2lmKCFlJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KFxcXCJsaW5lLXN0YXJ0XFxcIik7aWYoZT09PVxcXCItXFxcInx8ZT09PVxcXCIuXFxcIil7aWYoIXRoaXMuYXRFbmQmJiF0aGlzLmhhc0NoYXJzKDQpKXJldHVybiB0aGlzLnNldE5leHQoXFxcImxpbmUtc3RhcnRcXFwiKTtsZXQgdD10aGlzLnBlZWsoMyk7aWYoKHQ9PT1cXFwiLS0tXFxcInx8dD09PVxcXCIuLi5cXFwiKSYmWGUodGhpcy5jaGFyQXQoMykpKXJldHVybiB5aWVsZCpTKHRoaXMucHVzaENvdW50KDMpKSx0aGlzLmluZGVudFZhbHVlPTAsdGhpcy5pbmRlbnROZXh0PTAsdD09PVxcXCItLS1cXFwiP1xcXCJkb2NcXFwiOlxcXCJzdHJlYW1cXFwifXJldHVybiB0aGlzLmluZGVudFZhbHVlPXlpZWxkKlModGhpcy5wdXNoU3BhY2VzKCExKSksdGhpcy5pbmRlbnROZXh0PnRoaXMuaW5kZW50VmFsdWUmJiFYZSh0aGlzLmNoYXJBdCgxKSkmJih0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSkseWllbGQqUyh0aGlzLnBhcnNlQmxvY2tTdGFydCgpKX0qcGFyc2VCbG9ja1N0YXJ0KCl7bGV0W2UsdF09dGhpcy5wZWVrKDIpO2lmKCF0JiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KFxcXCJibG9jay1zdGFydFxcXCIpO2lmKChlPT09XFxcIi1cXFwifHxlPT09XFxcIj9cXFwifHxlPT09XFxcIjpcXFwiKSYmWGUodCkpe2xldCByPSh5aWVsZCpTKHRoaXMucHVzaENvdW50KDEpKSkrKHlpZWxkKlModGhpcy5wdXNoU3BhY2VzKCEwKSkpO3JldHVybiB0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSsxLHRoaXMuaW5kZW50VmFsdWUrPXIseWllbGQqUyh0aGlzLnBhcnNlQmxvY2tTdGFydCgpKX1yZXR1cm5cXFwiZG9jXFxcIn0qcGFyc2VEb2N1bWVudCgpe3lpZWxkKlModGhpcy5wdXNoU3BhY2VzKCEwKSk7bGV0IGU9dGhpcy5nZXRMaW5lKCk7aWYoZT09PW51bGwpcmV0dXJuIHRoaXMuc2V0TmV4dChcXFwiZG9jXFxcIik7bGV0IHQ9eWllbGQqUyh0aGlzLnB1c2hJbmRpY2F0b3JzKCkpO3N3aXRjaChlW3RdKXtjYXNlXFxcIiNcXFwiOnlpZWxkKlModGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtdCkpO2Nhc2Ugdm9pZCAwOnJldHVybiB5aWVsZCpTKHRoaXMucHVzaE5ld2xpbmUoKSkseWllbGQqUyh0aGlzLnBhcnNlTGluZVN0YXJ0KCkpO2Nhc2VcXFwie1xcXCI6Y2FzZVxcXCJbXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSksdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsPTEsXFxcImZsb3dcXFwiO2Nhc2VcXFwifVxcXCI6Y2FzZVxcXCJdXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSksXFxcImRvY1xcXCI7Y2FzZVxcXCIqXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hVbnRpbChsbykpLFxcXCJkb2NcXFwiO2Nhc2UnXFxcIic6Y2FzZVxcXCInXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlUXVvdGVkU2NhbGFyKCkpO2Nhc2VcXFwifFxcXCI6Y2FzZVxcXCI+XFxcIjpyZXR1cm4gdCs9eWllbGQqUyh0aGlzLnBhcnNlQmxvY2tTY2FsYXJIZWFkZXIoKSksdCs9eWllbGQqUyh0aGlzLnB1c2hTcGFjZXMoITApKSx5aWVsZCpTKHRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpKSx5aWVsZCpTKHRoaXMucHVzaE5ld2xpbmUoKSkseWllbGQqUyh0aGlzLnBhcnNlQmxvY2tTY2FsYXIoKSk7ZGVmYXVsdDpyZXR1cm4geWllbGQqUyh0aGlzLnBhcnNlUGxhaW5TY2FsYXIoKSl9fSpwYXJzZUZsb3dDb2xsZWN0aW9uKCl7bGV0IGUsdCxyPS0xO2RvIGU9eWllbGQqUyh0aGlzLnB1c2hOZXdsaW5lKCkpLGU+MD8odD15aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMSkpLHRoaXMuaW5kZW50VmFsdWU9cj10KTp0PTAsdCs9eWllbGQqUyh0aGlzLnB1c2hTcGFjZXMoITApKTt3aGlsZShlK3Q+MCk7bGV0IHM9dGhpcy5nZXRMaW5lKCk7aWYocz09PW51bGwpcmV0dXJuIHRoaXMuc2V0TmV4dChcXFwiZmxvd1xcXCIpO2lmKChyIT09LTEmJnI8dGhpcy5pbmRlbnROZXh0JiZzWzBdIT09XFxcIiNcXFwifHxyPT09MCYmKHMuc3RhcnRzV2l0aChcXFwiLS0tXFxcIil8fHMuc3RhcnRzV2l0aChcXFwiLi4uXFxcIikpJiZYZShzWzNdKSkmJiEocj09PXRoaXMuaW5kZW50TmV4dC0xJiZ0aGlzLmZsb3dMZXZlbD09PTEmJihzWzBdPT09XFxcIl1cXFwifHxzWzBdPT09XFxcIn1cXFwiKSkpcmV0dXJuIHRoaXMuZmxvd0xldmVsPTAseWllbGQgdW8seWllbGQqUyh0aGlzLnBhcnNlTGluZVN0YXJ0KCkpO2xldCBpPTA7Zm9yKDtzW2ldPT09XFxcIixcXFwiOylpKz15aWVsZCpTKHRoaXMucHVzaENvdW50KDEpKSxpKz15aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMCkpLHRoaXMuZmxvd0tleT0hMTtzd2l0Y2goaSs9eWllbGQqUyh0aGlzLnB1c2hJbmRpY2F0b3JzKCkpLHNbaV0pe2Nhc2Ugdm9pZCAwOnJldHVyblxcXCJmbG93XFxcIjtjYXNlXFxcIiNcXFwiOnJldHVybiB5aWVsZCpTKHRoaXMucHVzaENvdW50KHMubGVuZ3RoLWkpKSxcXFwiZmxvd1xcXCI7Y2FzZVxcXCJ7XFxcIjpjYXNlXFxcIltcXFwiOnJldHVybiB5aWVsZCpTKHRoaXMucHVzaENvdW50KDEpKSx0aGlzLmZsb3dLZXk9ITEsdGhpcy5mbG93TGV2ZWwrPTEsXFxcImZsb3dcXFwiO2Nhc2VcXFwifVxcXCI6Y2FzZVxcXCJdXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSksdGhpcy5mbG93S2V5PSEwLHRoaXMuZmxvd0xldmVsLT0xLHRoaXMuZmxvd0xldmVsP1xcXCJmbG93XFxcIjpcXFwiZG9jXFxcIjtjYXNlXFxcIipcXFwiOnJldHVybiB5aWVsZCpTKHRoaXMucHVzaFVudGlsKGxvKSksXFxcImZsb3dcXFwiO2Nhc2UnXFxcIic6Y2FzZVxcXCInXFxcIjpyZXR1cm4gdGhpcy5mbG93S2V5PSEwLHlpZWxkKlModGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpKTtjYXNlXFxcIjpcXFwiOntsZXQgbz10aGlzLmNoYXJBdCgxKTtpZih0aGlzLmZsb3dLZXl8fFhlKG8pfHxvPT09XFxcIixcXFwiKXJldHVybiB0aGlzLmZsb3dLZXk9ITEseWllbGQqUyh0aGlzLnB1c2hDb3VudCgxKSkseWllbGQqUyh0aGlzLnB1c2hTcGFjZXMoITApKSxcXFwiZmxvd1xcXCJ9ZGVmYXVsdDpyZXR1cm4gdGhpcy5mbG93S2V5PSExLHlpZWxkKlModGhpcy5wYXJzZVBsYWluU2NhbGFyKCkpfX0qcGFyc2VRdW90ZWRTY2FsYXIoKXtsZXQgZT10aGlzLmNoYXJBdCgwKSx0PXRoaXMuYnVmZmVyLmluZGV4T2YoZSx0aGlzLnBvcysxKTtpZihlPT09XFxcIidcXFwiKWZvcig7dCE9PS0xJiZ0aGlzLmJ1ZmZlclt0KzFdPT09XFxcIidcXFwiOyl0PXRoaXMuYnVmZmVyLmluZGV4T2YoXFxcIidcXFwiLHQrMik7ZWxzZSBmb3IoO3QhPT0tMTspe2xldCBpPTA7Zm9yKDt0aGlzLmJ1ZmZlclt0LTEtaV09PT1cXFwiXFxcXFxcXFxcXFwiOylpKz0xO2lmKGklMj09PTApYnJlYWs7dD10aGlzLmJ1ZmZlci5pbmRleE9mKCdcXFwiJyx0KzEpfWxldCByPXRoaXMuYnVmZmVyLnN1YnN0cmluZygwLHQpLHM9ci5pbmRleE9mKGBcXG5gLHRoaXMucG9zKTtpZihzIT09LTEpe2Zvcig7cyE9PS0xOyl7bGV0IGk9dGhpcy5jb250aW51ZVNjYWxhcihzKzEpO2lmKGk9PT0tMSlicmVhaztzPXIuaW5kZXhPZihgXFxuYCxpKX1zIT09LTEmJih0PXMtKHJbcy0xXT09PVxcXCJcXFxcclxcXCI/MjoxKSl9aWYodD09PS0xKXtpZighdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KFxcXCJxdW90ZWQtc2NhbGFyXFxcIik7dD10aGlzLmJ1ZmZlci5sZW5ndGh9cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoVG9JbmRleCh0KzEsITEpKSx0aGlzLmZsb3dMZXZlbD9cXFwiZmxvd1xcXCI6XFxcImRvY1xcXCJ9KnBhcnNlQmxvY2tTY2FsYXJIZWFkZXIoKXt0aGlzLmJsb2NrU2NhbGFySW5kZW50PS0xLHRoaXMuYmxvY2tTY2FsYXJLZWVwPSExO2xldCBlPXRoaXMucG9zO2Zvcig7Oyl7bGV0IHQ9dGhpcy5idWZmZXJbKytlXTtpZih0PT09XFxcIitcXFwiKXRoaXMuYmxvY2tTY2FsYXJLZWVwPSEwO2Vsc2UgaWYodD5cXFwiMFxcXCImJnQ8PVxcXCI5XFxcIil0aGlzLmJsb2NrU2NhbGFySW5kZW50PU51bWJlcih0KS0xO2Vsc2UgaWYodCE9PVxcXCItXFxcIilicmVha31yZXR1cm4geWllbGQqUyh0aGlzLnB1c2hVbnRpbCh0PT5YZSh0KXx8dD09PVxcXCIjXFxcIikpfSpwYXJzZUJsb2NrU2NhbGFyKCl7bGV0IGU9dGhpcy5wb3MtMSx0PTAscjtlOmZvcihsZXQgaT10aGlzLnBvcztyPXRoaXMuYnVmZmVyW2ldOysraSlzd2l0Y2gocil7Y2FzZVxcXCIgXFxcIjp0Kz0xO2JyZWFrO2Nhc2VgXFxuYDplPWksdD0wO2JyZWFrO2Nhc2VcXFwiXFxcXHJcXFwiOntsZXQgbz10aGlzLmJ1ZmZlcltpKzFdO2lmKCFvJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KFxcXCJibG9jay1zY2FsYXJcXFwiKTtpZihvPT09YFxcbmApYnJlYWt9ZGVmYXVsdDpicmVhayBlfWlmKCFyJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KFxcXCJibG9jay1zY2FsYXJcXFwiKTtpZih0Pj10aGlzLmluZGVudE5leHQpe3RoaXMuYmxvY2tTY2FsYXJJbmRlbnQ9PT0tMT90aGlzLmluZGVudE5leHQ9dDp0aGlzLmluZGVudE5leHQ9dGhpcy5ibG9ja1NjYWxhckluZGVudCsodGhpcy5pbmRlbnROZXh0PT09MD8xOnRoaXMuaW5kZW50TmV4dCk7ZG97bGV0IGk9dGhpcy5jb250aW51ZVNjYWxhcihlKzEpO2lmKGk9PT0tMSlicmVhaztlPXRoaXMuYnVmZmVyLmluZGV4T2YoYFxcbmAsaSl9d2hpbGUoZSE9PS0xKTtpZihlPT09LTEpe2lmKCF0aGlzLmF0RW5kKXJldHVybiB0aGlzLnNldE5leHQoXFxcImJsb2NrLXNjYWxhclxcXCIpO2U9dGhpcy5idWZmZXIubGVuZ3RofX1sZXQgcz1lKzE7Zm9yKHI9dGhpcy5idWZmZXJbc107cj09PVxcXCIgXFxcIjspcj10aGlzLmJ1ZmZlclsrK3NdO2lmKHI9PT1cXFwiXFx0XFxcIil7Zm9yKDtyPT09XFxcIlxcdFxcXCJ8fHI9PT1cXFwiIFxcXCJ8fHI9PT1cXFwiXFxcXHJcXFwifHxyPT09YFxcbmA7KXI9dGhpcy5idWZmZXJbKytzXTtlPXMtMX1lbHNlIGlmKCF0aGlzLmJsb2NrU2NhbGFyS2VlcClkb3tsZXQgaT1lLTEsbz10aGlzLmJ1ZmZlcltpXTtvPT09XFxcIlxcXFxyXFxcIiYmKG89dGhpcy5idWZmZXJbLS1pXSk7bGV0IGE9aTtmb3IoO289PT1cXFwiIFxcXCI7KW89dGhpcy5idWZmZXJbLS1pXTtpZihvPT09YFxcbmAmJmk+PXRoaXMucG9zJiZpKzErdD5hKWU9aTtlbHNlIGJyZWFrfXdoaWxlKCEwKTtyZXR1cm4geWllbGQgTXMseWllbGQqUyh0aGlzLnB1c2hUb0luZGV4KGUrMSwhMCkpLHlpZWxkKlModGhpcy5wYXJzZUxpbmVTdGFydCgpKX0qcGFyc2VQbGFpblNjYWxhcigpe2xldCBlPXRoaXMuZmxvd0xldmVsPjAsdD10aGlzLnBvcy0xLHI9dGhpcy5wb3MtMSxzO2Zvcig7cz10aGlzLmJ1ZmZlclsrK3JdOylpZihzPT09XFxcIjpcXFwiKXtsZXQgaT10aGlzLmJ1ZmZlcltyKzFdO2lmKFhlKGkpfHxlJiZfcy5oYXMoaSkpYnJlYWs7dD1yfWVsc2UgaWYoWGUocykpe2xldCBpPXRoaXMuYnVmZmVyW3IrMV07aWYocz09PVxcXCJcXFxcclxcXCImJihpPT09YFxcbmA/KHIrPTEscz1gXFxuYCxpPXRoaXMuYnVmZmVyW3IrMV0pOnQ9ciksaT09PVxcXCIjXFxcInx8ZSYmX3MuaGFzKGkpKWJyZWFrO2lmKHM9PT1gXFxuYCl7bGV0IG89dGhpcy5jb250aW51ZVNjYWxhcihyKzEpO2lmKG89PT0tMSlicmVhaztyPU1hdGgubWF4KHIsby0yKX19ZWxzZXtpZihlJiZfcy5oYXMocykpYnJlYWs7dD1yfXJldHVybiFzJiYhdGhpcy5hdEVuZD90aGlzLnNldE5leHQoXFxcInBsYWluLXNjYWxhclxcXCIpOih5aWVsZCBNcyx5aWVsZCpTKHRoaXMucHVzaFRvSW5kZXgodCsxLCEwKSksZT9cXFwiZmxvd1xcXCI6XFxcImRvY1xcXCIpfSpwdXNoQ291bnQoZSl7cmV0dXJuIGU+MD8oeWllbGQgdGhpcy5idWZmZXIuc3Vic3RyKHRoaXMucG9zLGUpLHRoaXMucG9zKz1lLGUpOjB9KnB1c2hUb0luZGV4KGUsdCl7bGV0IHI9dGhpcy5idWZmZXIuc2xpY2UodGhpcy5wb3MsZSk7cmV0dXJuIHI/KHlpZWxkIHIsdGhpcy5wb3MrPXIubGVuZ3RoLHIubGVuZ3RoKToodCYmKHlpZWxkXFxcIlxcXCIpLDApfSpwdXNoSW5kaWNhdG9ycygpe3N3aXRjaCh0aGlzLmNoYXJBdCgwKSl7Y2FzZVxcXCIhXFxcIjpyZXR1cm4oeWllbGQqUyh0aGlzLnB1c2hUYWcoKSkpKyh5aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMCkpKSsoeWllbGQqUyh0aGlzLnB1c2hJbmRpY2F0b3JzKCkpKTtjYXNlXFxcIiZcXFwiOnJldHVybih5aWVsZCpTKHRoaXMucHVzaFVudGlsKGxvKSkpKyh5aWVsZCpTKHRoaXMucHVzaFNwYWNlcyghMCkpKSsoeWllbGQqUyh0aGlzLnB1c2hJbmRpY2F0b3JzKCkpKTtjYXNlXFxcIi1cXFwiOmNhc2VcXFwiP1xcXCI6Y2FzZVxcXCI6XFxcIjp7bGV0IGU9dGhpcy5mbG93TGV2ZWw+MCx0PXRoaXMuY2hhckF0KDEpO2lmKFhlKHQpfHxlJiZfcy5oYXModCkpcmV0dXJuIGU/dGhpcy5mbG93S2V5JiYodGhpcy5mbG93S2V5PSExKTp0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSsxLCh5aWVsZCpTKHRoaXMucHVzaENvdW50KDEpKSkrKHlpZWxkKlModGhpcy5wdXNoU3BhY2VzKCEwKSkpKyh5aWVsZCpTKHRoaXMucHVzaEluZGljYXRvcnMoKSkpfX1yZXR1cm4gMH0qcHVzaFRhZygpe2lmKHRoaXMuY2hhckF0KDEpPT09XFxcIjxcXFwiKXtsZXQgZT10aGlzLnBvcysyLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDshWGUodCkmJnQhPT1cXFwiPlxcXCI7KXQ9dGhpcy5idWZmZXJbKytlXTtyZXR1cm4geWllbGQqUyh0aGlzLnB1c2hUb0luZGV4KHQ9PT1cXFwiPlxcXCI/ZSsxOmUsITEpKX1lbHNle2xldCBlPXRoaXMucG9zKzEsdD10aGlzLmJ1ZmZlcltlXTtmb3IoO3Q7KWlmKEZmLmhhcyh0KSl0PXRoaXMuYnVmZmVyWysrZV07ZWxzZSBpZih0PT09XFxcIiVcXFwiJiZPdS5oYXModGhpcy5idWZmZXJbZSsxXSkmJk91Lmhhcyh0aGlzLmJ1ZmZlcltlKzJdKSl0PXRoaXMuYnVmZmVyW2UrPTNdO2Vsc2UgYnJlYWs7cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoVG9JbmRleChlLCExKSl9fSpwdXNoTmV3bGluZSgpe2xldCBlPXRoaXMuYnVmZmVyW3RoaXMucG9zXTtyZXR1cm4gZT09PWBcXG5gP3lpZWxkKlModGhpcy5wdXNoQ291bnQoMSkpOmU9PT1cXFwiXFxcXHJcXFwiJiZ0aGlzLmNoYXJBdCgxKT09PWBcXG5gP3lpZWxkKlModGhpcy5wdXNoQ291bnQoMikpOjB9KnB1c2hTcGFjZXMoZSl7bGV0IHQ9dGhpcy5wb3MtMSxyO2RvIHI9dGhpcy5idWZmZXJbKyt0XTt3aGlsZShyPT09XFxcIiBcXFwifHxlJiZyPT09XFxcIlxcdFxcXCIpO2xldCBzPXQtdGhpcy5wb3M7cmV0dXJuIHM+MCYmKHlpZWxkIHRoaXMuYnVmZmVyLnN1YnN0cih0aGlzLnBvcyxzKSx0aGlzLnBvcz10KSxzfSpwdXNoVW50aWwoZSl7bGV0IHQ9dGhpcy5wb3Mscj10aGlzLmJ1ZmZlclt0XTtmb3IoOyFlKHIpOylyPXRoaXMuYnVmZmVyWysrdF07cmV0dXJuIHlpZWxkKlModGhpcy5wdXNoVG9JbmRleCh0LCExKSl9fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmxpbmVTdGFydHM9W10sdGhpcy5hZGROZXdMaW5lPWU9PnRoaXMubGluZVN0YXJ0cy5wdXNoKGUpLHRoaXMubGluZVBvcz1lPT57bGV0IHQ9MCxyPXRoaXMubGluZVN0YXJ0cy5sZW5ndGg7Zm9yKDt0PHI7KXtsZXQgaT10K3I+PjE7dGhpcy5saW5lU3RhcnRzW2ldPGU/dD1pKzE6cj1pfWlmKHRoaXMubGluZVN0YXJ0c1t0XT09PWUpcmV0dXJue2xpbmU6dCsxLGNvbDoxfTtpZih0PT09MClyZXR1cm57bGluZTowLGNvbDplfTtsZXQgcz10aGlzLmxpbmVTdGFydHNbdC0xXTtyZXR1cm57bGluZTp0LGNvbDplLXMrMX19fX07ZnVuY3Rpb24genQobixlKXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoOysrdClpZihuW3RdLnR5cGU9PT1lKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEl1KG4pe2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7KytlKXN3aXRjaChuW2VdLnR5cGUpe2Nhc2VcXFwic3BhY2VcXFwiOmNhc2VcXFwiY29tbWVudFxcXCI6Y2FzZVxcXCJuZXdsaW5lXFxcIjpicmVhaztkZWZhdWx0OnJldHVybiBlfXJldHVybi0xfWZ1bmN0aW9uIE51KG4pe3N3aXRjaChuPT1udWxsP3ZvaWQgMDpuLnR5cGUpe2Nhc2VcXFwiYWxpYXNcXFwiOmNhc2VcXFwic2NhbGFyXFxcIjpjYXNlXFxcInNpbmdsZS1xdW90ZWQtc2NhbGFyXFxcIjpjYXNlXFxcImRvdWJsZS1xdW90ZWQtc2NhbGFyXFxcIjpjYXNlXFxcImZsb3ctY29sbGVjdGlvblxcXCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnMobil7dmFyIGU7c3dpdGNoKG4udHlwZSl7Y2FzZVxcXCJkb2N1bWVudFxcXCI6cmV0dXJuIG4uc3RhcnQ7Y2FzZVxcXCJibG9jay1tYXBcXFwiOntsZXQgdD1uLml0ZW1zW24uaXRlbXMubGVuZ3RoLTFdO3JldHVybihlPXQuc2VwKSE9bnVsbD9lOnQuc3RhcnR9Y2FzZVxcXCJibG9jay1zZXFcXFwiOnJldHVybiBuLml0ZW1zW24uaXRlbXMubGVuZ3RoLTFdLnN0YXJ0O2RlZmF1bHQ6cmV0dXJuW119fWZ1bmN0aW9uIE5uKG4pe3ZhciB0O2lmKG4ubGVuZ3RoPT09MClyZXR1cm5bXTtsZXQgZT1uLmxlbmd0aDtlOmZvcig7LS1lPj0wOylzd2l0Y2gobltlXS50eXBlKXtjYXNlXFxcImRvYy1zdGFydFxcXCI6Y2FzZVxcXCJleHBsaWNpdC1rZXktaW5kXFxcIjpjYXNlXFxcIm1hcC12YWx1ZS1pbmRcXFwiOmNhc2VcXFwic2VxLWl0ZW0taW5kXFxcIjpjYXNlXFxcIm5ld2xpbmVcXFwiOmJyZWFrIGV9Zm9yKDsoKHQ9blsrK2VdKT09bnVsbD92b2lkIDA6dC50eXBlKT09PVxcXCJzcGFjZVxcXCI7KTtyZXR1cm4gbi5zcGxpY2UoZSxuLmxlbmd0aCl9ZnVuY3Rpb24gTHUobil7aWYobi5zdGFydC50eXBlPT09XFxcImZsb3ctc2VxLXN0YXJ0XFxcIilmb3IobGV0IGUgb2Ygbi5pdGVtcyllLnNlcCYmIWUudmFsdWUmJiF6dChlLnN0YXJ0LFxcXCJleHBsaWNpdC1rZXktaW5kXFxcIikmJiF6dChlLnNlcCxcXFwibWFwLXZhbHVlLWluZFxcXCIpJiYoZS5rZXkmJihlLnZhbHVlPWUua2V5KSxkZWxldGUgZS5rZXksTnUoZS52YWx1ZSk/ZS52YWx1ZS5lbmQ/QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoZS52YWx1ZS5lbmQsZS5zZXApOmUudmFsdWUuZW5kPWUuc2VwOkFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUuc3RhcnQsZS5zZXApLGRlbGV0ZSBlLnNlcCl9dmFyIEFyPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuYXROZXdMaW5lPSEwLHRoaXMuYXRTY2FsYXI9ITEsdGhpcy5pbmRlbnQ9MCx0aGlzLm9mZnNldD0wLHRoaXMub25LZXlMaW5lPSExLHRoaXMuc3RhY2s9W10sdGhpcy5zb3VyY2U9XFxcIlxcXCIsdGhpcy50eXBlPVxcXCJcXFwiLHRoaXMubGV4ZXI9bmV3IExyLHRoaXMub25OZXdMaW5lPWV9KnBhcnNlKGUsdD0hMSl7dGhpcy5vbk5ld0xpbmUmJnRoaXMub2Zmc2V0PT09MCYmdGhpcy5vbk5ld0xpbmUoMCk7Zm9yKGxldCByIG9mIHRoaXMubGV4ZXIubGV4KGUsdCkpeWllbGQqUyh0aGlzLm5leHQocikpO3R8fCh5aWVsZCpTKHRoaXMuZW5kKCkpKX0qbmV4dChlKXtpZih0aGlzLnNvdXJjZT1lLHRoaXMuYXRTY2FsYXIpe3RoaXMuYXRTY2FsYXI9ITEseWllbGQqUyh0aGlzLnN0ZXAoKSksdGhpcy5vZmZzZXQrPWUubGVuZ3RoO3JldHVybn1sZXQgdD14dShlKTtpZih0KWlmKHQ9PT1cXFwic2NhbGFyXFxcIil0aGlzLmF0TmV3TGluZT0hMSx0aGlzLmF0U2NhbGFyPSEwLHRoaXMudHlwZT1cXFwic2NhbGFyXFxcIjtlbHNle3N3aXRjaCh0aGlzLnR5cGU9dCx5aWVsZCpTKHRoaXMuc3RlcCgpKSx0KXtjYXNlXFxcIm5ld2xpbmVcXFwiOnRoaXMuYXROZXdMaW5lPSEwLHRoaXMuaW5kZW50PTAsdGhpcy5vbk5ld0xpbmUmJnRoaXMub25OZXdMaW5lKHRoaXMub2Zmc2V0K2UubGVuZ3RoKTticmVhaztjYXNlXFxcInNwYWNlXFxcIjp0aGlzLmF0TmV3TGluZSYmZVswXT09PVxcXCIgXFxcIiYmKHRoaXMuaW5kZW50Kz1lLmxlbmd0aCk7YnJlYWs7Y2FzZVxcXCJleHBsaWNpdC1rZXktaW5kXFxcIjpjYXNlXFxcIm1hcC12YWx1ZS1pbmRcXFwiOmNhc2VcXFwic2VxLWl0ZW0taW5kXFxcIjp0aGlzLmF0TmV3TGluZSYmKHRoaXMuaW5kZW50Kz1lLmxlbmd0aCk7YnJlYWs7Y2FzZVxcXCJkb2MtbW9kZVxcXCI6Y2FzZVxcXCJmbG93LWVycm9yLWVuZFxcXCI6cmV0dXJuO2RlZmF1bHQ6dGhpcy5hdE5ld0xpbmU9ITF9dGhpcy5vZmZzZXQrPWUubGVuZ3RofWVsc2V7bGV0IHI9YE5vdCBhIFlBTUwgdG9rZW46ICR7ZX1gO3lpZWxkKlModGhpcy5wb3Aoe3R5cGU6XFxcImVycm9yXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsbWVzc2FnZTpyLHNvdXJjZTplfSkpLHRoaXMub2Zmc2V0Kz1lLmxlbmd0aH19KmVuZCgpe2Zvcig7dGhpcy5zdGFjay5sZW5ndGg+MDspeWllbGQqUyh0aGlzLnBvcCgpKX1nZXQgc291cmNlVG9rZW4oKXtyZXR1cm57dHlwZTp0aGlzLnR5cGUsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxzb3VyY2U6dGhpcy5zb3VyY2V9fSpzdGVwKCl7bGV0IGU9dGhpcy5wZWVrKDEpO2lmKHRoaXMudHlwZT09PVxcXCJkb2MtZW5kXFxcIiYmKCFlfHxlLnR5cGUhPT1cXFwiZG9jLWVuZFxcXCIpKXtmb3IoO3RoaXMuc3RhY2subGVuZ3RoPjA7KXlpZWxkKlModGhpcy5wb3AoKSk7dGhpcy5zdGFjay5wdXNoKHt0eXBlOlxcXCJkb2MtZW5kXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsc291cmNlOnRoaXMuc291cmNlfSk7cmV0dXJufWlmKCFlKXJldHVybiB5aWVsZCpTKHRoaXMuc3RyZWFtKCkpO3N3aXRjaChlLnR5cGUpe2Nhc2VcXFwiZG9jdW1lbnRcXFwiOnJldHVybiB5aWVsZCpTKHRoaXMuZG9jdW1lbnQoZSkpO2Nhc2VcXFwiYWxpYXNcXFwiOmNhc2VcXFwic2NhbGFyXFxcIjpjYXNlXFxcInNpbmdsZS1xdW90ZWQtc2NhbGFyXFxcIjpjYXNlXFxcImRvdWJsZS1xdW90ZWQtc2NhbGFyXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLnNjYWxhcihlKSk7Y2FzZVxcXCJibG9jay1zY2FsYXJcXFwiOnJldHVybiB5aWVsZCpTKHRoaXMuYmxvY2tTY2FsYXIoZSkpO2Nhc2VcXFwiYmxvY2stbWFwXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLmJsb2NrTWFwKGUpKTtjYXNlXFxcImJsb2NrLXNlcVxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5ibG9ja1NlcXVlbmNlKGUpKTtjYXNlXFxcImZsb3ctY29sbGVjdGlvblxcXCI6cmV0dXJuIHlpZWxkKlModGhpcy5mbG93Q29sbGVjdGlvbihlKSk7Y2FzZVxcXCJkb2MtZW5kXFxcIjpyZXR1cm4geWllbGQqUyh0aGlzLmRvY3VtZW50RW5kKGUpKX15aWVsZCpTKHRoaXMucG9wKCkpfXBlZWsoZSl7cmV0dXJuIHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtZV19KnBvcChlKXtsZXQgdD1lIT1udWxsP2U6dGhpcy5zdGFjay5wb3AoKTtpZighdCl5aWVsZHt0eXBlOlxcXCJlcnJvclxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LHNvdXJjZTpcXFwiXFxcIixtZXNzYWdlOlxcXCJUcmllZCB0byBwb3AgYW4gZW1wdHkgc3RhY2tcXFwifTtlbHNlIGlmKHRoaXMuc3RhY2subGVuZ3RoPT09MCl5aWVsZCB0O2Vsc2V7bGV0IHI9dGhpcy5wZWVrKDEpO3N3aXRjaCh0LnR5cGU9PT1cXFwiYmxvY2stc2NhbGFyXFxcIj90LmluZGVudD1cXFwiaW5kZW50XFxcImluIHI/ci5pbmRlbnQ6MDp0LnR5cGU9PT1cXFwiZmxvdy1jb2xsZWN0aW9uXFxcIiYmci50eXBlPT09XFxcImRvY3VtZW50XFxcIiYmKHQuaW5kZW50PTApLHQudHlwZT09PVxcXCJmbG93LWNvbGxlY3Rpb25cXFwiJiZMdSh0KSxyLnR5cGUpe2Nhc2VcXFwiZG9jdW1lbnRcXFwiOnIudmFsdWU9dDticmVhaztjYXNlXFxcImJsb2NrLXNjYWxhclxcXCI6ci5wcm9wcy5wdXNoKHQpO2JyZWFrO2Nhc2VcXFwiYmxvY2stbWFwXFxcIjp7bGV0IHM9ci5pdGVtc1tyLml0ZW1zLmxlbmd0aC0xXTtpZihzLnZhbHVlKXtyLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTp0LHNlcDpbXX0pLHRoaXMub25LZXlMaW5lPSEwO3JldHVybn1lbHNlIGlmKHMuc2VwKXMudmFsdWU9dDtlbHNle09iamVjdC5hc3NpZ24ocyx7a2V5OnQsc2VwOltdfSksdGhpcy5vbktleUxpbmU9IXMuZXhwbGljaXRLZXk7cmV0dXJufWJyZWFrfWNhc2VcXFwiYmxvY2stc2VxXFxcIjp7bGV0IHM9ci5pdGVtc1tyLml0ZW1zLmxlbmd0aC0xXTtzLnZhbHVlP3IuaXRlbXMucHVzaCh7c3RhcnQ6W10sdmFsdWU6dH0pOnMudmFsdWU9dDticmVha31jYXNlXFxcImZsb3ctY29sbGVjdGlvblxcXCI6e2xldCBzPXIuaXRlbXNbci5pdGVtcy5sZW5ndGgtMV07IXN8fHMudmFsdWU/ci5pdGVtcy5wdXNoKHtzdGFydDpbXSxrZXk6dCxzZXA6W119KTpzLnNlcD9zLnZhbHVlPXQ6T2JqZWN0LmFzc2lnbihzLHtrZXk6dCxzZXA6W119KTtyZXR1cm59ZGVmYXVsdDp5aWVsZCpTKHRoaXMucG9wKCkpLHlpZWxkKlModGhpcy5wb3AodCkpfWlmKChyLnR5cGU9PT1cXFwiZG9jdW1lbnRcXFwifHxyLnR5cGU9PT1cXFwiYmxvY2stbWFwXFxcInx8ci50eXBlPT09XFxcImJsb2NrLXNlcVxcXCIpJiYodC50eXBlPT09XFxcImJsb2NrLW1hcFxcXCJ8fHQudHlwZT09PVxcXCJibG9jay1zZXFcXFwiKSl7bGV0IHM9dC5pdGVtc1t0Lml0ZW1zLmxlbmd0aC0xXTtzJiYhcy5zZXAmJiFzLnZhbHVlJiZzLnN0YXJ0Lmxlbmd0aD4wJiZJdShzLnN0YXJ0KT09PS0xJiYodC5pbmRlbnQ9PT0wfHxzLnN0YXJ0LmV2ZXJ5KGk9PmkudHlwZSE9PVxcXCJjb21tZW50XFxcInx8aS5pbmRlbnQ8dC5pbmRlbnQpKSYmKHIudHlwZT09PVxcXCJkb2N1bWVudFxcXCI/ci5lbmQ9cy5zdGFydDpyLml0ZW1zLnB1c2goe3N0YXJ0OnMuc3RhcnR9KSx0Lml0ZW1zLnNwbGljZSgtMSwxKSl9fX0qc3RyZWFtKCl7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZVxcXCJkaXJlY3RpdmUtbGluZVxcXCI6eWllbGR7dHlwZTpcXFwiZGlyZWN0aXZlXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsc291cmNlOnRoaXMuc291cmNlfTtyZXR1cm47Y2FzZVxcXCJieXRlLW9yZGVyLW1hcmtcXFwiOmNhc2VcXFwic3BhY2VcXFwiOmNhc2VcXFwiY29tbWVudFxcXCI6Y2FzZVxcXCJuZXdsaW5lXFxcIjp5aWVsZCB0aGlzLnNvdXJjZVRva2VuO3JldHVybjtjYXNlXFxcImRvYy1tb2RlXFxcIjpjYXNlXFxcImRvYy1zdGFydFxcXCI6e2xldCBlPXt0eXBlOlxcXCJkb2N1bWVudFxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LHN0YXJ0OltdfTt0aGlzLnR5cGU9PT1cXFwiZG9jLXN0YXJ0XFxcIiYmZS5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHRoaXMuc3RhY2sucHVzaChlKTtyZXR1cm59fXlpZWxke3R5cGU6XFxcImVycm9yXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsbWVzc2FnZTpgVW5leHBlY3RlZCAke3RoaXMudHlwZX0gdG9rZW4gaW4gWUFNTCBzdHJlYW1gLHNvdXJjZTp0aGlzLnNvdXJjZX19KmRvY3VtZW50KGUpe2lmKGUudmFsdWUpcmV0dXJuIHlpZWxkKlModGhpcy5saW5lRW5kKGUpKTtzd2l0Y2godGhpcy50eXBlKXtjYXNlXFxcImRvYy1zdGFydFxcXCI6e0l1KGUuc3RhcnQpIT09LTE/KHlpZWxkKlModGhpcy5wb3AoKSkseWllbGQqUyh0aGlzLnN0ZXAoKSkpOmUuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm59Y2FzZVxcXCJhbmNob3JcXFwiOmNhc2VcXFwidGFnXFxcIjpjYXNlXFxcInNwYWNlXFxcIjpjYXNlXFxcImNvbW1lbnRcXFwiOmNhc2VcXFwibmV3bGluZVxcXCI6ZS5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybn1sZXQgdD10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTt0P3RoaXMuc3RhY2sucHVzaCh0KTp5aWVsZHt0eXBlOlxcXCJlcnJvclxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LG1lc3NhZ2U6YFVuZXhwZWN0ZWQgJHt0aGlzLnR5cGV9IHRva2VuIGluIFlBTUwgZG9jdW1lbnRgLHNvdXJjZTp0aGlzLnNvdXJjZX19KnNjYWxhcihlKXtpZih0aGlzLnR5cGU9PT1cXFwibWFwLXZhbHVlLWluZFxcXCIpe2xldCB0PUJzKHRoaXMucGVlaygyKSkscj1Obih0KSxzO2UuZW5kPyhzPWUuZW5kLHMucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxkZWxldGUgZS5lbmQpOnM9W3RoaXMuc291cmNlVG9rZW5dO2xldCBpPXt0eXBlOlxcXCJibG9jay1tYXBcXFwiLG9mZnNldDplLm9mZnNldCxpbmRlbnQ6ZS5pbmRlbnQsaXRlbXM6W3tzdGFydDpyLGtleTplLHNlcDpzfV19O3RoaXMub25LZXlMaW5lPSEwLHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV09aX1lbHNlIHlpZWxkKlModGhpcy5saW5lRW5kKGUpKX0qYmxvY2tTY2FsYXIoZSl7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZVxcXCJzcGFjZVxcXCI6Y2FzZVxcXCJjb21tZW50XFxcIjpjYXNlXFxcIm5ld2xpbmVcXFwiOmUucHJvcHMucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZVxcXCJzY2FsYXJcXFwiOmlmKGUuc291cmNlPXRoaXMuc291cmNlLHRoaXMuYXROZXdMaW5lPSEwLHRoaXMuaW5kZW50PTAsdGhpcy5vbk5ld0xpbmUpe2xldCB0PXRoaXMuc291cmNlLmluZGV4T2YoYFxcbmApKzE7Zm9yKDt0IT09MDspdGhpcy5vbk5ld0xpbmUodGhpcy5vZmZzZXQrdCksdD10aGlzLnNvdXJjZS5pbmRleE9mKGBcXG5gLHQpKzF9eWllbGQqUyh0aGlzLnBvcCgpKTticmVhaztkZWZhdWx0OnlpZWxkKlModGhpcy5wb3AoKSkseWllbGQqUyh0aGlzLnN0ZXAoKSl9fSpibG9ja01hcChlKXt2YXIgcjtsZXQgdD1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTFdO3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2VcXFwibmV3bGluZVxcXCI6aWYodGhpcy5vbktleUxpbmU9ITEsdC52YWx1ZSl7bGV0IHM9XFxcImVuZFxcXCJpbiB0LnZhbHVlP3QudmFsdWUuZW5kOnZvaWQgMCxpPUFycmF5LmlzQXJyYXkocyk/c1tzLmxlbmd0aC0xXTp2b2lkIDA7KGk9PW51bGw/dm9pZCAwOmkudHlwZSk9PT1cXFwiY29tbWVudFxcXCI/cz09bnVsbHx8cy5wdXNoKHRoaXMuc291cmNlVG9rZW4pOmUuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSl9ZWxzZSB0LnNlcD90LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOnQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZVxcXCJzcGFjZVxcXCI6Y2FzZVxcXCJjb21tZW50XFxcIjppZih0LnZhbHVlKWUuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk7ZWxzZSBpZih0LnNlcCl0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO2Vsc2V7aWYodGhpcy5hdEluZGVudGVkQ29tbWVudCh0LnN0YXJ0LGUuaW5kZW50KSl7bGV0IHM9ZS5pdGVtc1tlLml0ZW1zLmxlbmd0aC0yXSxpPShyPXM9PW51bGw/dm9pZCAwOnMudmFsdWUpPT1udWxsP3ZvaWQgMDpyLmVuZDtpZihBcnJheS5pc0FycmF5KGkpKXtBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpLHQuc3RhcnQpLGkucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnBvcCgpO3JldHVybn19dC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pfXJldHVybn1pZih0aGlzLmluZGVudD49ZS5pbmRlbnQpe2xldCBzPSF0aGlzLm9uS2V5TGluZSYmdGhpcy5pbmRlbnQ9PT1lLmluZGVudCxpPXMmJih0LnNlcHx8dC5leHBsaWNpdEtleSkmJnRoaXMudHlwZSE9PVxcXCJzZXEtaXRlbS1pbmRcXFwiLG89W107aWYoaSYmdC5zZXAmJiF0LnZhbHVlKXtsZXQgYT1bXTtmb3IobGV0IHU9MDt1PHQuc2VwLmxlbmd0aDsrK3Upe2xldCBsPXQuc2VwW3VdO3N3aXRjaChsLnR5cGUpe2Nhc2VcXFwibmV3bGluZVxcXCI6YS5wdXNoKHUpO2JyZWFrO2Nhc2VcXFwic3BhY2VcXFwiOmJyZWFrO2Nhc2VcXFwiY29tbWVudFxcXCI6bC5pbmRlbnQ+ZS5pbmRlbnQmJihhLmxlbmd0aD0wKTticmVhaztkZWZhdWx0OmEubGVuZ3RoPTB9fWEubGVuZ3RoPj0yJiYobz10LnNlcC5zcGxpY2UoYVsxXSkpfXN3aXRjaCh0aGlzLnR5cGUpe2Nhc2VcXFwiYW5jaG9yXFxcIjpjYXNlXFxcInRhZ1xcXCI6aXx8dC52YWx1ZT8oby5wdXNoKHRoaXMuc291cmNlVG9rZW4pLGUuaXRlbXMucHVzaCh7c3RhcnQ6b30pLHRoaXMub25LZXlMaW5lPSEwKTp0LnNlcD90LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOnQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZVxcXCJleHBsaWNpdC1rZXktaW5kXFxcIjohdC5zZXAmJiF0LmV4cGxpY2l0S2V5Pyh0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbiksdC5leHBsaWNpdEtleT0hMCk6aXx8dC52YWx1ZT8oby5wdXNoKHRoaXMuc291cmNlVG9rZW4pLGUuaXRlbXMucHVzaCh7c3RhcnQ6byxleHBsaWNpdEtleTohMH0pKTp0aGlzLnN0YWNrLnB1c2goe3R5cGU6XFxcImJsb2NrLW1hcFxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXSxleHBsaWNpdEtleTohMH1dfSksdGhpcy5vbktleUxpbmU9ITA7cmV0dXJuO2Nhc2VcXFwibWFwLXZhbHVlLWluZFxcXCI6aWYodC5leHBsaWNpdEtleSlpZih0LnNlcClpZih0LnZhbHVlKWUuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pO2Vsc2UgaWYoenQodC5zZXAsXFxcIm1hcC12YWx1ZS1pbmRcXFwiKSl0aGlzLnN0YWNrLnB1c2goe3R5cGU6XFxcImJsb2NrLW1hcFxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0Om8sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX1dfSk7ZWxzZSBpZihOdSh0LmtleSkmJiF6dCh0LnNlcCxcXFwibmV3bGluZVxcXCIpKXtsZXQgYT1Obih0LnN0YXJ0KSx1PXQua2V5LGw9dC5zZXA7bC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLGRlbGV0ZSB0LmtleSxkZWxldGUgdC5zZXAsdGhpcy5zdGFjay5wdXNoKHt0eXBlOlxcXCJibG9jay1tYXBcXFwiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDphLGtleTp1LHNlcDpsfV19KX1lbHNlIG8ubGVuZ3RoPjA/dC5zZXA9dC5zZXAuY29uY2F0KG8sdGhpcy5zb3VyY2VUb2tlbik6dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtlbHNlIGlmKHp0KHQuc3RhcnQsXFxcIm5ld2xpbmVcXFwiKSlPYmplY3QuYXNzaWduKHQse2tleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTtlbHNle2xldCBhPU5uKHQuc3RhcnQpO3RoaXMuc3RhY2sucHVzaCh7dHlwZTpcXFwiYmxvY2stbWFwXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6YSxrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfV19KX1lbHNlIHQuc2VwP3QudmFsdWV8fGk/ZS5pdGVtcy5wdXNoKHtzdGFydDpvLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTp6dCh0LnNlcCxcXFwibWFwLXZhbHVlLWluZFxcXCIpP3RoaXMuc3RhY2sucHVzaCh7dHlwZTpcXFwiYmxvY2stbWFwXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6W10sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX1dfSk6dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTpPYmplY3QuYXNzaWduKHQse2tleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTt0aGlzLm9uS2V5TGluZT0hMDtyZXR1cm47Y2FzZVxcXCJhbGlhc1xcXCI6Y2FzZVxcXCJzY2FsYXJcXFwiOmNhc2VcXFwic2luZ2xlLXF1b3RlZC1zY2FsYXJcXFwiOmNhc2VcXFwiZG91YmxlLXF1b3RlZC1zY2FsYXJcXFwiOntsZXQgYT10aGlzLmZsb3dTY2FsYXIodGhpcy50eXBlKTtpfHx0LnZhbHVlPyhlLml0ZW1zLnB1c2goe3N0YXJ0Om8sa2V5OmEsc2VwOltdfSksdGhpcy5vbktleUxpbmU9ITApOnQuc2VwP3RoaXMuc3RhY2sucHVzaChhKTooT2JqZWN0LmFzc2lnbih0LHtrZXk6YSxzZXA6W119KSx0aGlzLm9uS2V5TGluZT0hMCk7cmV0dXJufWRlZmF1bHQ6e2xldCBhPXRoaXMuc3RhcnRCbG9ja1ZhbHVlKGUpO2lmKGEpe3MmJmEudHlwZSE9PVxcXCJibG9jay1zZXFcXFwiJiZlLml0ZW1zLnB1c2goe3N0YXJ0Om99KSx0aGlzLnN0YWNrLnB1c2goYSk7cmV0dXJufX19fXlpZWxkKlModGhpcy5wb3AoKSkseWllbGQqUyh0aGlzLnN0ZXAoKSl9KmJsb2NrU2VxdWVuY2UoZSl7dmFyIHI7bGV0IHQ9ZS5pdGVtc1tlLml0ZW1zLmxlbmd0aC0xXTtzd2l0Y2godGhpcy50eXBlKXtjYXNlXFxcIm5ld2xpbmVcXFwiOmlmKHQudmFsdWUpe2xldCBzPVxcXCJlbmRcXFwiaW4gdC52YWx1ZT90LnZhbHVlLmVuZDp2b2lkIDAsaT1BcnJheS5pc0FycmF5KHMpP3Nbcy5sZW5ndGgtMV06dm9pZCAwOyhpPT1udWxsP3ZvaWQgMDppLnR5cGUpPT09XFxcImNvbW1lbnRcXFwiP3M9PW51bGx8fHMucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pfWVsc2UgdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybjtjYXNlXFxcInNwYWNlXFxcIjpjYXNlXFxcImNvbW1lbnRcXFwiOmlmKHQudmFsdWUpZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KTtlbHNle2lmKHRoaXMuYXRJbmRlbnRlZENvbW1lbnQodC5zdGFydCxlLmluZGVudCkpe2xldCBzPWUuaXRlbXNbZS5pdGVtcy5sZW5ndGgtMl0saT0ocj1zPT1udWxsP3ZvaWQgMDpzLnZhbHVlKT09bnVsbD92b2lkIDA6ci5lbmQ7aWYoQXJyYXkuaXNBcnJheShpKSl7QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaSx0LnN0YXJ0KSxpLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZS5pdGVtcy5wb3AoKTtyZXR1cm59fXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKX1yZXR1cm47Y2FzZVxcXCJhbmNob3JcXFwiOmNhc2VcXFwidGFnXFxcIjppZih0LnZhbHVlfHx0aGlzLmluZGVudDw9ZS5pbmRlbnQpYnJlYWs7dC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybjtjYXNlXFxcInNlcS1pdGVtLWluZFxcXCI6aWYodGhpcy5pbmRlbnQhPT1lLmluZGVudClicmVhazt0LnZhbHVlfHx6dCh0LnN0YXJ0LFxcXCJzZXEtaXRlbS1pbmRcXFwiKT9lLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pOnQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm59aWYodGhpcy5pbmRlbnQ+ZS5pbmRlbnQpe2xldCBzPXRoaXMuc3RhcnRCbG9ja1ZhbHVlKGUpO2lmKHMpe3RoaXMuc3RhY2sucHVzaChzKTtyZXR1cm59fXlpZWxkKlModGhpcy5wb3AoKSkseWllbGQqUyh0aGlzLnN0ZXAoKSl9KmZsb3dDb2xsZWN0aW9uKGUpe2xldCB0PWUuaXRlbXNbZS5pdGVtcy5sZW5ndGgtMV07aWYodGhpcy50eXBlPT09XFxcImZsb3ctZXJyb3ItZW5kXFxcIil7bGV0IHI7ZG8geWllbGQqUyh0aGlzLnBvcCgpKSxyPXRoaXMucGVlaygxKTt3aGlsZShyJiZyLnR5cGU9PT1cXFwiZmxvdy1jb2xsZWN0aW9uXFxcIil9ZWxzZSBpZihlLmVuZC5sZW5ndGg9PT0wKXtzd2l0Y2godGhpcy50eXBlKXtjYXNlXFxcImNvbW1hXFxcIjpjYXNlXFxcImV4cGxpY2l0LWtleS1pbmRcXFwiOiF0fHx0LnNlcD9lLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pOnQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZVxcXCJtYXAtdmFsdWUtaW5kXFxcIjohdHx8dC52YWx1ZT9lLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTp0LnNlcD90LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOk9iamVjdC5hc3NpZ24odCx7a2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pO3JldHVybjtjYXNlXFxcInNwYWNlXFxcIjpjYXNlXFxcImNvbW1lbnRcXFwiOmNhc2VcXFwibmV3bGluZVxcXCI6Y2FzZVxcXCJhbmNob3JcXFwiOmNhc2VcXFwidGFnXFxcIjohdHx8dC52YWx1ZT9lLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pOnQuc2VwP3Quc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik6dC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybjtjYXNlXFxcImFsaWFzXFxcIjpjYXNlXFxcInNjYWxhclxcXCI6Y2FzZVxcXCJzaW5nbGUtcXVvdGVkLXNjYWxhclxcXCI6Y2FzZVxcXCJkb3VibGUtcXVvdGVkLXNjYWxhclxcXCI6e2xldCBzPXRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpOyF0fHx0LnZhbHVlP2UuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5OnMsc2VwOltdfSk6dC5zZXA/dGhpcy5zdGFjay5wdXNoKHMpOk9iamVjdC5hc3NpZ24odCx7a2V5OnMsc2VwOltdfSk7cmV0dXJufWNhc2VcXFwiZmxvdy1tYXAtZW5kXFxcIjpjYXNlXFxcImZsb3ctc2VxLWVuZFxcXCI6ZS5lbmQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm59bGV0IHI9dGhpcy5zdGFydEJsb2NrVmFsdWUoZSk7cj90aGlzLnN0YWNrLnB1c2gocik6KHlpZWxkKlModGhpcy5wb3AoKSkseWllbGQqUyh0aGlzLnN0ZXAoKSkpfWVsc2V7bGV0IHI9dGhpcy5wZWVrKDIpO2lmKHIudHlwZT09PVxcXCJibG9jay1tYXBcXFwiJiYodGhpcy50eXBlPT09XFxcIm1hcC12YWx1ZS1pbmRcXFwiJiZyLmluZGVudD09PWUuaW5kZW50fHx0aGlzLnR5cGU9PT1cXFwibmV3bGluZVxcXCImJiFyLml0ZW1zW3IuaXRlbXMubGVuZ3RoLTFdLnNlcCkpeWllbGQqUyh0aGlzLnBvcCgpKSx5aWVsZCpTKHRoaXMuc3RlcCgpKTtlbHNlIGlmKHRoaXMudHlwZT09PVxcXCJtYXAtdmFsdWUtaW5kXFxcIiYmci50eXBlIT09XFxcImZsb3ctY29sbGVjdGlvblxcXCIpe2xldCBzPUJzKHIpLGk9Tm4ocyk7THUoZSk7bGV0IG89ZS5lbmQuc3BsaWNlKDEsZS5lbmQubGVuZ3RoKTtvLnB1c2godGhpcy5zb3VyY2VUb2tlbik7bGV0IGE9e3R5cGU6XFxcImJsb2NrLW1hcFxcXCIsb2Zmc2V0OmUub2Zmc2V0LGluZGVudDplLmluZGVudCxpdGVtczpbe3N0YXJ0Omksa2V5OmUsc2VwOm99XX07dGhpcy5vbktleUxpbmU9ITAsdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXT1hfWVsc2UgeWllbGQqUyh0aGlzLmxpbmVFbmQoZSkpfX1mbG93U2NhbGFyKGUpe2lmKHRoaXMub25OZXdMaW5lKXtsZXQgdD10aGlzLnNvdXJjZS5pbmRleE9mKGBcXG5gKSsxO2Zvcig7dCE9PTA7KXRoaXMub25OZXdMaW5lKHRoaXMub2Zmc2V0K3QpLHQ9dGhpcy5zb3VyY2UuaW5kZXhPZihgXFxuYCx0KSsxfXJldHVybnt0eXBlOmUsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxzb3VyY2U6dGhpcy5zb3VyY2V9fXN0YXJ0QmxvY2tWYWx1ZShlKXtzd2l0Y2godGhpcy50eXBlKXtjYXNlXFxcImFsaWFzXFxcIjpjYXNlXFxcInNjYWxhclxcXCI6Y2FzZVxcXCJzaW5nbGUtcXVvdGVkLXNjYWxhclxcXCI6Y2FzZVxcXCJkb3VibGUtcXVvdGVkLXNjYWxhclxcXCI6cmV0dXJuIHRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpO2Nhc2VcXFwiYmxvY2stc2NhbGFyLWhlYWRlclxcXCI6cmV0dXJue3R5cGU6XFxcImJsb2NrLXNjYWxhclxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxwcm9wczpbdGhpcy5zb3VyY2VUb2tlbl0sc291cmNlOlxcXCJcXFwifTtjYXNlXFxcImZsb3ctbWFwLXN0YXJ0XFxcIjpjYXNlXFxcImZsb3ctc2VxLXN0YXJ0XFxcIjpyZXR1cm57dHlwZTpcXFwiZmxvdy1jb2xsZWN0aW9uXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LHN0YXJ0OnRoaXMuc291cmNlVG9rZW4saXRlbXM6W10sZW5kOltdfTtjYXNlXFxcInNlcS1pdGVtLWluZFxcXCI6cmV0dXJue3R5cGU6XFxcImJsb2NrLXNlcVxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX1dfTtjYXNlXFxcImV4cGxpY2l0LWtleS1pbmRcXFwiOnt0aGlzLm9uS2V5TGluZT0hMDtsZXQgdD1CcyhlKSxyPU5uKHQpO3JldHVybiByLnB1c2godGhpcy5zb3VyY2VUb2tlbikse3R5cGU6XFxcImJsb2NrLW1hcFxcXCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0OnIsZXhwbGljaXRLZXk6ITB9XX19Y2FzZVxcXCJtYXAtdmFsdWUtaW5kXFxcIjp7dGhpcy5vbktleUxpbmU9ITA7bGV0IHQ9QnMoZSkscj1Obih0KTtyZXR1cm57dHlwZTpcXFwiYmxvY2stbWFwXFxcIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6cixrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfV19fX1yZXR1cm4gbnVsbH1hdEluZGVudGVkQ29tbWVudChlLHQpe3JldHVybiB0aGlzLnR5cGUhPT1cXFwiY29tbWVudFxcXCJ8fHRoaXMuaW5kZW50PD10PyExOmUuZXZlcnkocj0+ci50eXBlPT09XFxcIm5ld2xpbmVcXFwifHxyLnR5cGU9PT1cXFwic3BhY2VcXFwiKX0qZG9jdW1lbnRFbmQoZSl7dGhpcy50eXBlIT09XFxcImRvYy1tb2RlXFxcIiYmKGUuZW5kP2UuZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik6ZS5lbmQ9W3RoaXMuc291cmNlVG9rZW5dLHRoaXMudHlwZT09PVxcXCJuZXdsaW5lXFxcIiYmKHlpZWxkKlModGhpcy5wb3AoKSkpKX0qbGluZUVuZChlKXtzd2l0Y2godGhpcy50eXBlKXtjYXNlXFxcImNvbW1hXFxcIjpjYXNlXFxcImRvYy1zdGFydFxcXCI6Y2FzZVxcXCJkb2MtZW5kXFxcIjpjYXNlXFxcImZsb3ctc2VxLWVuZFxcXCI6Y2FzZVxcXCJmbG93LW1hcC1lbmRcXFwiOmNhc2VcXFwibWFwLXZhbHVlLWluZFxcXCI6eWllbGQqUyh0aGlzLnBvcCgpKSx5aWVsZCpTKHRoaXMuc3RlcCgpKTticmVhaztjYXNlXFxcIm5ld2xpbmVcXFwiOnRoaXMub25LZXlMaW5lPSExO2Nhc2VcXFwic3BhY2VcXFwiOmNhc2VcXFwiY29tbWVudFxcXCI6ZGVmYXVsdDplLmVuZD9lLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOmUuZW5kPVt0aGlzLnNvdXJjZVRva2VuXSx0aGlzLnR5cGU9PT1cXFwibmV3bGluZVxcXCImJih5aWVsZCpTKHRoaXMucG9wKCkpKX19fTtmdW5jdGlvbiB3ZihuKXtsZXQgZT1uLnByZXR0eUVycm9ycyE9PSExO3JldHVybntsaW5lQ291bnRlcjpuLmxpbmVDb3VudGVyfHxlJiZuZXcgTnJ8fG51bGwscHJldHR5RXJyb3JzOmV9fWZ1bmN0aW9uIEF1KG4sZT17fSl7bGV0e2xpbmVDb3VudGVyOnQscHJldHR5RXJyb3JzOnJ9PXdmKGUpLHM9bmV3IEFyKHQ9PW51bGw/dm9pZCAwOnQuYWRkTmV3TGluZSksaT1uZXcgSXIoZSksbz1udWxsO2ZvcihsZXQgYSBvZiBpLmNvbXBvc2Uocy5wYXJzZShuKSwhMCxuLmxlbmd0aCkpaWYoIW8pbz1hO2Vsc2UgaWYoby5vcHRpb25zLmxvZ0xldmVsIT09XFxcInNpbGVudFxcXCIpe28uZXJyb3JzLnB1c2gobmV3IFFlKGEucmFuZ2Uuc2xpY2UoMCwyKSxcXFwiTVVMVElQTEVfRE9DU1xcXCIsXFxcIlNvdXJjZSBjb250YWlucyBtdWx0aXBsZSBkb2N1bWVudHM7IHBsZWFzZSB1c2UgWUFNTC5wYXJzZUFsbERvY3VtZW50cygpXFxcIikpO2JyZWFrfXJldHVybiByJiZ0JiYoby5lcnJvcnMuZm9yRWFjaChaaShuLHQpKSxvLndhcm5pbmdzLmZvckVhY2goWmkobix0KSkpLG99ZnVuY3Rpb24gY28obixlLHQpe2xldCByO3R5cGVvZiBlPT1cXFwiZnVuY3Rpb25cXFwiP3I9ZTp0PT09dm9pZCAwJiZlJiZ0eXBlb2YgZT09XFxcIm9iamVjdFxcXCImJih0PWUpO2xldCBzPUF1KG4sdCk7aWYoIXMpcmV0dXJuIG51bGw7aWYocy53YXJuaW5ncy5mb3JFYWNoKGk9Pm1zKHMub3B0aW9ucy5sb2dMZXZlbCxpKSkscy5lcnJvcnMubGVuZ3RoPjApe2lmKHMub3B0aW9ucy5sb2dMZXZlbCE9PVxcXCJzaWxlbnRcXFwiKXRocm93IHMuZXJyb3JzWzBdO3MuZXJyb3JzPVtdfXJldHVybiBzLnRvSlMoT2JqZWN0LmFzc2lnbih7cmV2aXZlcjpyfSx0KSl9dmFyIGpzPVZyKFJ1KCkpO3ZhciBGPVZyKG5zKCkpO3ZhciBldDsoTj0+e04uREVGQVVMVF9UT19TVFJJTkc9e251bGxSZXByZXNlbnRhdGlvbjpcXFwiLVxcXCIsZGF0ZUZvcm1hdDpcXFwiTU1NTSBkZCwgeXl5eVxcXCIsZGF0ZVRpbWVGb3JtYXQ6XFxcImg6bW0gYSAtIE1NTU0gZGQsIHl5eXlcXFwifTtmdW5jdGlvbiBlKHksdz1OLkRFRkFVTFRfVE9fU1RSSU5HLHY9ITEpe2xldCB4PXQoeSk7aWYoIXgpcmV0dXJuIHcubnVsbFJlcHJlc2VudGF0aW9uO3N3aXRjaCh4LnR5cGUpe2Nhc2VcXFwibnVsbFxcXCI6cmV0dXJuIHcubnVsbFJlcHJlc2VudGF0aW9uO2Nhc2VcXFwic3RyaW5nXFxcIjpyZXR1cm4geC52YWx1ZTtjYXNlXFxcIm51bWJlclxcXCI6Y2FzZVxcXCJib29sZWFuXFxcIjpyZXR1cm5cXFwiXFxcIit4LnZhbHVlO2Nhc2VcXFwibGlua1xcXCI6cmV0dXJuIHgudmFsdWUubWFya2Rvd24oKTtjYXNlXFxcImZ1bmN0aW9uXFxcIjpyZXR1cm5cXFwiPGZ1bmN0aW9uPlxcXCI7Y2FzZVxcXCJhcnJheVxcXCI6bGV0IEM9XFxcIlxcXCI7cmV0dXJuIHYmJihDKz1cXFwiW1xcXCIpLEMrPXgudmFsdWUubWFwKFY9PmUoVix3LCEwKSkuam9pbihcXFwiLCBcXFwiKSx2JiYoQys9XFxcIl1cXFwiKSxDO2Nhc2VcXFwib2JqZWN0XFxcIjpyZXR1cm5cXFwieyBcXFwiK09iamVjdC5lbnRyaWVzKHgudmFsdWUpLm1hcChWPT5WWzBdK1xcXCI6IFxcXCIrZShWWzFdLHcsITApKS5qb2luKFxcXCIsIFxcXCIpK1xcXCIgfVxcXCI7Y2FzZVxcXCJkYXRlXFxcIjpyZXR1cm4gamEoeC52YWx1ZSx3LmRhdGVGb3JtYXQsdy5kYXRlVGltZUZvcm1hdCk7Y2FzZVxcXCJkdXJhdGlvblxcXCI6cmV0dXJuIHFhKHgudmFsdWUpfX1OLnRvU3RyaW5nPWU7ZnVuY3Rpb24gdCh5KXtyZXR1cm4gaCh5KT97dHlwZTpcXFwibnVsbFxcXCIsdmFsdWU6eX06Zih5KT97dHlwZTpcXFwibnVtYmVyXFxcIix2YWx1ZTp5fTpsKHkpP3t0eXBlOlxcXCJzdHJpbmdcXFwiLHZhbHVlOnl9OmcoeSk/e3R5cGU6XFxcImJvb2xlYW5cXFwiLHZhbHVlOnl9Om0oeSk/e3R5cGU6XFxcImR1cmF0aW9uXFxcIix2YWx1ZTp5fTpkKHkpP3t0eXBlOlxcXCJkYXRlXFxcIix2YWx1ZTp5fTpiKHkpP3t0eXBlOlxcXCJhcnJheVxcXCIsdmFsdWU6eX06RCh5KT97dHlwZTpcXFwibGlua1xcXCIsdmFsdWU6eX06SSh5KT97dHlwZTpcXFwiZnVuY3Rpb25cXFwiLHZhbHVlOnl9OlQoeSk/e3R5cGU6XFxcIm9iamVjdFxcXCIsdmFsdWU6eX06dm9pZCAwfU4ud3JhcFZhbHVlPXQ7ZnVuY3Rpb24gcih5LHcpe2lmKFQoeSkpe2xldCB2PXt9O2ZvcihsZXRbeCxDXW9mIE9iamVjdC5lbnRyaWVzKHkpKXZbeF09cihDLHcpO3JldHVybiB2fWVsc2UgaWYoYih5KSl7bGV0IHY9W107Zm9yKGxldCB4IG9mIHkpdi5wdXNoKHIoeCx3KSk7cmV0dXJuIHZ9ZWxzZSByZXR1cm4gdyh5KX1OLm1hcExlYXZlcz1yO2Z1bmN0aW9uIHMoeSx3KXtyZXR1cm4gaSh5LHcpPT0wfU4uZXF1YWxzPXM7ZnVuY3Rpb24gaSh5LHcsdil7dmFyIFYsajtpZih5PT09d3x8KHk9PT12b2lkIDAmJih5PW51bGwpLHc9PT12b2lkIDAmJih3PW51bGwpLHk9PT1udWxsJiZ3PT09bnVsbCkpcmV0dXJuIDA7aWYoeT09PW51bGwpcmV0dXJuLTE7aWYodz09PW51bGwpcmV0dXJuIDE7bGV0IHg9dCh5KSxDPXQodyk7aWYoeD09PXZvaWQgMCYmQz09PXZvaWQgMClyZXR1cm4gMDtpZih4PT09dm9pZCAwKXJldHVybi0xO2lmKEM9PT12b2lkIDApcmV0dXJuIDE7aWYoeC50eXBlIT1DLnR5cGUpcmV0dXJuIHgudHlwZS5sb2NhbGVDb21wYXJlKEMudHlwZSk7aWYoeC52YWx1ZT09PUMudmFsdWUpcmV0dXJuIDA7c3dpdGNoKHgudHlwZSl7Y2FzZVxcXCJzdHJpbmdcXFwiOnJldHVybiB4LnZhbHVlLmxvY2FsZUNvbXBhcmUoQy52YWx1ZSk7Y2FzZVxcXCJudW1iZXJcXFwiOnJldHVybiB4LnZhbHVlPEMudmFsdWU/LTE6eC52YWx1ZT09Qy52YWx1ZT8wOjE7Y2FzZVxcXCJudWxsXFxcIjpyZXR1cm4gMDtjYXNlXFxcImJvb2xlYW5cXFwiOnJldHVybiB4LnZhbHVlPT1DLnZhbHVlPzA6eC52YWx1ZT8xOi0xO2Nhc2VcXFwibGlua1xcXCI6bGV0IFk9eC52YWx1ZSxlZT1DLnZhbHVlLHVlPXYhPW51bGw/djpBZT0+QWUsTz11ZShZLnBhdGgpLmxvY2FsZUNvbXBhcmUodWUoZWUucGF0aCkpO2lmKE8hPTApcmV0dXJuIE87bGV0ICQ9WS50eXBlLmxvY2FsZUNvbXBhcmUoZWUudHlwZSk7cmV0dXJuICQhPTA/JDpZLnN1YnBhdGgmJiFlZS5zdWJwYXRoPzE6IVkuc3VicGF0aCYmZWUuc3VicGF0aD8tMTohWS5zdWJwYXRoJiYhZWUuc3VicGF0aD8wOigoVj1ZLnN1YnBhdGgpIT1udWxsP1Y6XFxcIlxcXCIpLmxvY2FsZUNvbXBhcmUoKGo9ZWUuc3VicGF0aCkhPW51bGw/ajpcXFwiXFxcIik7Y2FzZVxcXCJkYXRlXFxcIjpyZXR1cm4geC52YWx1ZTxDLnZhbHVlPy0xOngudmFsdWUuZXF1YWxzKEMudmFsdWUpPzA6MTtjYXNlXFxcImR1cmF0aW9uXFxcIjpyZXR1cm4geC52YWx1ZTxDLnZhbHVlPy0xOngudmFsdWUuZXF1YWxzKEMudmFsdWUpPzA6MTtjYXNlXFxcImFycmF5XFxcIjpsZXQgUT14LnZhbHVlLGllPUMudmFsdWU7Zm9yKGxldCBBZT0wO0FlPE1hdGgubWluKFEubGVuZ3RoLGllLmxlbmd0aCk7QWUrKyl7bGV0IEJ0PWkoUVtBZV0saWVbQWVdKTtpZihCdCE9MClyZXR1cm4gQnR9cmV0dXJuIFEubGVuZ3RoLWllLmxlbmd0aDtjYXNlXFxcIm9iamVjdFxcXCI6bGV0IERlPXgudmFsdWUsUmU9Qy52YWx1ZSxRdD1BcnJheS5mcm9tKE9iamVjdC5rZXlzKERlKSksTXQ9QXJyYXkuZnJvbShPYmplY3Qua2V5cyhSZSkpO1F0LnNvcnQoKSxNdC5zb3J0KCk7bGV0IF90PWkoUXQsTXQpO2lmKF90IT0wKXJldHVybiBfdDtmb3IobGV0IEFlIG9mIFF0KXtsZXQgQnQ9aShEZVtBZV0sUmVbQWVdKTtpZihCdCE9MClyZXR1cm4gQnR9cmV0dXJuIDA7Y2FzZVxcXCJmdW5jdGlvblxcXCI6cmV0dXJuIDB9fU4uY29tcGFyZT1pO2Z1bmN0aW9uIG8oeSl7dmFyIHc7cmV0dXJuKHc9dCh5KSk9PW51bGw/dm9pZCAwOncudHlwZX1OLnR5cGVPZj1vO2Z1bmN0aW9uIGEoeSl7bGV0IHc9dCh5KTtpZighdylyZXR1cm4hMTtzd2l0Y2gody50eXBlKXtjYXNlXFxcIm51bWJlclxcXCI6cmV0dXJuIHcudmFsdWUhPTA7Y2FzZVxcXCJzdHJpbmdcXFwiOnJldHVybiB3LnZhbHVlLmxlbmd0aD4wO2Nhc2VcXFwiYm9vbGVhblxcXCI6cmV0dXJuIHcudmFsdWU7Y2FzZVxcXCJsaW5rXFxcIjpyZXR1cm4hIXcudmFsdWUucGF0aDtjYXNlXFxcImRhdGVcXFwiOnJldHVybiB3LnZhbHVlLnRvTWlsbGlzKCkhPTA7Y2FzZVxcXCJkdXJhdGlvblxcXCI6cmV0dXJuIHcudmFsdWUuYXMoXFxcInNlY29uZHNcXFwiKSE9MDtjYXNlXFxcIm9iamVjdFxcXCI6cmV0dXJuIE9iamVjdC5rZXlzKHcudmFsdWUpLmxlbmd0aD4wO2Nhc2VcXFwiYXJyYXlcXFwiOnJldHVybiB3LnZhbHVlLmxlbmd0aD4wO2Nhc2VcXFwibnVsbFxcXCI6cmV0dXJuITE7Y2FzZVxcXCJmdW5jdGlvblxcXCI6cmV0dXJuITB9fU4uaXNUcnV0aHk9YTtmdW5jdGlvbiB1KHkpe2lmKHk9PW51bGwpcmV0dXJuIHk7aWYoTi5pc0FycmF5KHkpKXJldHVybltdLmNvbmNhdCh5Lm1hcCh3PT51KHcpKSk7aWYoTi5pc09iamVjdCh5KSl7bGV0IHc9e307Zm9yKGxldFt2LHhdb2YgT2JqZWN0LmVudHJpZXMoeSkpd1t2XT11KHgpO3JldHVybiB3fWVsc2UgcmV0dXJuIHl9Ti5kZWVwQ29weT11O2Z1bmN0aW9uIGwoeSl7cmV0dXJuIHR5cGVvZiB5PT1cXFwic3RyaW5nXFxcIn1OLmlzU3RyaW5nPWw7ZnVuY3Rpb24gZih5KXtyZXR1cm4gdHlwZW9mIHk9PVxcXCJudW1iZXJcXFwifU4uaXNOdW1iZXI9ZjtmdW5jdGlvbiBkKHkpe3JldHVybiB5IGluc3RhbmNlb2YgcX1OLmlzRGF0ZT1kO2Z1bmN0aW9uIG0oeSl7cmV0dXJuIHkgaW5zdGFuY2VvZiBCfU4uaXNEdXJhdGlvbj1tO2Z1bmN0aW9uIGgoeSl7cmV0dXJuIHk9PW51bGx9Ti5pc051bGw9aDtmdW5jdGlvbiBiKHkpe3JldHVybiBBcnJheS5pc0FycmF5KHkpfU4uaXNBcnJheT1iO2Z1bmN0aW9uIGcoeSl7cmV0dXJuIHR5cGVvZiB5PT1cXFwiYm9vbGVhblxcXCJ9Ti5pc0Jvb2xlYW49ZztmdW5jdGlvbiBEKHkpe3JldHVybiB5IGluc3RhbmNlb2YgT2V9Ti5pc0xpbms9RDtmdW5jdGlvbiBUKHkpe3JldHVybiB5IT09dm9pZCAwJiZ0eXBlb2YgeT09XFxcIm9iamVjdFxcXCImJiFiKHkpJiYhbSh5KSYmIWQoeSkmJiFEKHkpJiYhaCh5KX1OLmlzT2JqZWN0PVQ7ZnVuY3Rpb24gSSh5KXtyZXR1cm4gdHlwZW9mIHk9PVxcXCJmdW5jdGlvblxcXCJ9Ti5pc0Z1bmN0aW9uPUl9KShldHx8KGV0PXt9KSk7dmFyIGp1OyhpPT57ZnVuY3Rpb24gbihvKXtyZXR1cm4gZXQuaXNPYmplY3QobykmJk9iamVjdC5rZXlzKG8pLmxlbmd0aD09MiYmXFxcImtleVxcXCJpbiBvJiZcXFwicm93c1xcXCJpbiBvfWkuaXNFbGVtZW50R3JvdXA9bjtmdW5jdGlvbiBlKG8pe2ZvcihsZXQgYSBvZiBvKWlmKCFuKGEpKXJldHVybiExO3JldHVybiEwfWkuaXNHcm91cGluZz1lO2Z1bmN0aW9uIHQobyl7Zm9yKGxldCBhIG9mIG8paWYobihhKSlyZXR1cm4hMTtyZXR1cm4hMH1pLmlzTGVhZj10O2Z1bmN0aW9uIHIobyl7aWYobihvKSlyZXR1cm4gcihvLnJvd3MpO2lmKGUobykpe2xldCBhPTA7Zm9yKGxldCB1IG9mIG8pYSs9cih1LnJvd3MpO3JldHVybiBhfWVsc2UgcmV0dXJuIG8ubGVuZ3RofWkuY291bnQ9cjtmdW5jdGlvbiBzKG8sYSx1KXtpZih1PD1hKXJldHVybltdO2lmKHQobykpcmV0dXJuIG8uc2xpY2UoYSx1KTtsZXQgbD0wLGY9MDtmb3IoO2w8by5sZW5ndGgmJmYrcihvW2xdKTw9YTspZis9cihvW2xdKSxsKys7aWYobD49by5sZW5ndGgpcmV0dXJuW107bGV0IGQ9W107Zm9yKDtsPG8ubGVuZ3RoJiZmPHU7KXtsZXQgbT1vW2xdLGg9cihtKSxiPU1hdGgubWF4KGYsYSksZz1NYXRoLm1pbihoK2YsdSk7ZC5wdXNoKHtrZXk6bS5rZXkscm93czpzKG0ucm93cyxiLWYsZy1mKX0pLGYrPWgsbCsrfXJldHVybiBkfWkuc2xpY2U9c30pKGp1fHwoanU9e30pKTt2YXIgaG89Y2xhc3Mgbntjb25zdHJ1Y3RvcihlKXt0aGlzLnZhbHVlPWU7dGhpcy5zdWNjZXNzZnVsPSEwfW1hcChlKXtyZXR1cm4gbmV3IG4oZSh0aGlzLnZhbHVlKSl9ZmxhdE1hcChlKXtyZXR1cm4gZSh0aGlzLnZhbHVlKX1tYXBFcnIoZSl7cmV0dXJuIHRoaXN9YmltYXAoZSx0KXtyZXR1cm4gdGhpcy5tYXAoZSl9b3JFbHNlKGUpe3JldHVybiB0aGlzLnZhbHVlfWNhc3QoKXtyZXR1cm4gdGhpc31vckVsc2VUaHJvdyhlKXtyZXR1cm4gdGhpcy52YWx1ZX19LG1vPWNsYXNzIG57Y29uc3RydWN0b3IoZSl7dGhpcy5lcnJvcj1lO3RoaXMuc3VjY2Vzc2Z1bD0hMX1tYXAoZSl7cmV0dXJuIHRoaXN9ZmxhdE1hcChlKXtyZXR1cm4gdGhpc31tYXBFcnIoZSl7cmV0dXJuIG5ldyBuKGUodGhpcy5lcnJvcikpfWJpbWFwKGUsdCl7cmV0dXJuIHRoaXMubWFwRXJyKHQpfW9yRWxzZShlKXtyZXR1cm4gZX1jYXN0KCl7cmV0dXJuIHRoaXN9b3JFbHNlVGhyb3coZSl7dGhyb3cgZT9uZXcgRXJyb3IoZSh0aGlzLmVycm9yKSk6bmV3IEVycm9yKFxcXCJcXFwiK3RoaXMuZXJyb3IpfX0sU2U7KGE9PntmdW5jdGlvbiBuKHUpe3JldHVybiBuZXcgaG8odSl9YS5zdWNjZXNzPW47ZnVuY3Rpb24gZSh1KXtyZXR1cm4gbmV3IG1vKHUpfWEuZmFpbHVyZT1lO2Z1bmN0aW9uIHQodSxsLGYpe3JldHVybiB1LnN1Y2Nlc3NmdWw/bC5zdWNjZXNzZnVsP2YodS52YWx1ZSxsLnZhbHVlKTplKGwuZXJyb3IpOmUodS5lcnJvcil9YS5mbGF0TWFwMj10O2Z1bmN0aW9uIHIodSxsLGYpe3JldHVybiB0KHUsbCwoZCxtKT0+bihmKGQsbSkpKX1hLm1hcDI9cjtmdW5jdGlvbiBzKHUsbCl7bGV0IGY9W107Zm9yKGxldCBkIG9mIHUpe2xldCBtPWwoZCk7aWYoIW0uc3VjY2Vzc2Z1bClyZXR1cm4gbS5jYXN0KCk7Zi5wdXNoKG0udmFsdWUpfXJldHVybiBhLnN1Y2Nlc3MoZil9YS5tYXBBbGw9cztmdW5jdGlvbiBpKHUpe3RyeXtyZXR1cm4gYS5zdWNjZXNzKHUoKSl9Y2F0Y2gobCl7cmV0dXJuIGEuZmFpbHVyZShsKX19YS50cnlpbmc9aTthc3luYyBmdW5jdGlvbiBvKHUpe3RyeXtyZXR1cm4gYS5zdWNjZXNzKGF3YWl0IHUpfWNhdGNoKGwpe3JldHVybiBhLmZhaWx1cmUobCl9fWEuYXN5bmM9b30pKFNlfHwoU2U9e30pKTt2YXIgWXQ7KE49PntOLkVWRVJZVEhJTkc9e3R5cGU6XFxcImV2ZXJ5dGhpbmdcXFwifSxOLk5PVEhJTkc9e3R5cGU6XFxcIm5vdGhpbmdcXFwifSxOLkVNUFRZX1NFVD1uZXcgU2V0O2Z1bmN0aW9uIHIoeSl7cmV0dXJuIHkuc2l6ZT09MD9OLk5PVEhJTkc6e3R5cGU6XFxcImF0b21cXFwiLHZhbHVlOnl9fU4uYXRvbT1yO2Z1bmN0aW9uIHMoeSl7cmV0dXJuIHk/Ti5FVkVSWVRISU5HOk4uTk9USElOR31OLmNvbnN0YW50PXM7ZnVuY3Rpb24gaSh5KXtyZXR1cm4geSE9PXZvaWQgMD9yKHkpOk4uTk9USElOR31OLm51bGxhYmxlQXRvbT1pO2Z1bmN0aW9uIG8oeSl7cmV0dXJuIHkuc2l6ZT09MD9OLkVWRVJZVEhJTkc6e3R5cGU6XFxcIm5lZ2F0ZWRcXFwiLHZhbHVlOnl9fU4ubmVnYXRlZD1vO2Z1bmN0aW9uIGEoeSl7c3dpdGNoKHkudHlwZSl7Y2FzZVxcXCJldmVyeXRoaW5nXFxcIjpyZXR1cm4gTi5OT1RISU5HO2Nhc2VcXFwibm90aGluZ1xcXCI6cmV0dXJuIE4uRVZFUllUSElORztjYXNlXFxcImF0b21cXFwiOnJldHVybiBvKHkudmFsdWUpO2Nhc2VcXFwibmVnYXRlZFxcXCI6cmV0dXJuIHIoeS52YWx1ZSl9fU4ubmVnYXRlPWE7ZnVuY3Rpb24gdSh5KXtzd2l0Y2goeS50eXBlKXtjYXNlXFxcImV2ZXJ5dGhpbmdcXFwiOnJldHVybiExO2Nhc2VcXFwibmVnYXRlZFxcXCI6cmV0dXJuITE7Y2FzZVxcXCJhdG9tXFxcIjpyZXR1cm4geS52YWx1ZS5zaXplPT0wO2Nhc2VcXFwibm90aGluZ1xcXCI6cmV0dXJuITB9fU4uZW1wdHk9dTtmdW5jdGlvbiBsKHksdyl7c3dpdGNoKHkudHlwZSl7Y2FzZVxcXCJldmVyeXRoaW5nXFxcIjpyZXR1cm4gdztjYXNlXFxcIm5vdGhpbmdcXFwiOnJldHVybiBOLkVNUFRZX1NFVDtjYXNlXFxcImF0b21cXFwiOnJldHVybiB5LnZhbHVlO2Nhc2VcXFwibmVnYXRlZFxcXCI6cmV0dXJuIEkodyx5LnZhbHVlKX19Ti5yZXNvbHZlPWw7ZnVuY3Rpb24gZih5KXtyZXR1cm4gZCh5LHc9PncpfU4uaW50ZXJzZWN0PWY7ZnVuY3Rpb24gZCh5LHcpe3JldHVybiBtKHksdj0+U2Uuc3VjY2Vzcyh3KHYpKSkub3JFbHNlVGhyb3coKX1OLmxhenlJbnRlcnNlY3Q9ZDtmdW5jdGlvbiBtKHksdyl7bGV0IHY9W10seD1bXTtmb3IobGV0IEMgb2YgeSl7bGV0IFY9dyhDKTtpZighVi5zdWNjZXNzZnVsKXJldHVybiBWLmNhc3QoKTtsZXQgaj1WLnZhbHVlO2lmKGohPT12b2lkIDApe2lmKHUoaikpcmV0dXJuIFNlLnN1Y2Nlc3MoTi5OT1RISU5HKTtqLnR5cGUhPT1cXFwiZXZlcnl0aGluZ1xcXCImJihqLnR5cGU9PVxcXCJhdG9tXFxcIj92LnB1c2goai52YWx1ZSk6ai50eXBlPT1cXFwibmVnYXRlZFxcXCImJngucHVzaChqLnZhbHVlKSl9fXJldHVybiB2Lmxlbmd0aD09MCYmeC5sZW5ndGg9PTA/U2Uuc3VjY2VzcyhOLkVWRVJZVEhJTkcpOnYubGVuZ3RoPjAmJngubGVuZ3RoPT0wP1NlLnN1Y2Nlc3MocihEKHYpKSk6di5sZW5ndGg9PTAmJngubGVuZ3RoPjA/U2Uuc3VjY2VzcyhvKFQoeCkpKTpTZS5zdWNjZXNzKE4uYXRvbShJKEQodiksVCh4KSkpKX1OLmxhenlGYWlsYWJsZUludGVyc2VjdGlvbj1tO2Z1bmN0aW9uIGgoeSl7cmV0dXJuIGIoeSx3PT53KX1OLnVuaW9uPWg7ZnVuY3Rpb24gYih5LHcpe3JldHVybiBnKHksdj0+U2Uuc3VjY2Vzcyh3KHYpKSkub3JFbHNlVGhyb3coKX1OLmxhenlVbmlvbj1iO2Z1bmN0aW9uIGcoeSx3KXtsZXQgdj1bXSx4PVtdO2ZvcihsZXQgQyBvZiB5KXtsZXQgVj13KEMpO2lmKCFWLnN1Y2Nlc3NmdWwpcmV0dXJuIFYuY2FzdCgpO2xldCBqPVYudmFsdWU7aWYoaiE9PXZvaWQgMCl7aWYoai50eXBlPT09XFxcImV2ZXJ5dGhpbmdcXFwiKXJldHVybiBTZS5zdWNjZXNzKE4uRVZFUllUSElORyk7dShqKXx8KGoudHlwZT09XFxcImF0b21cXFwiP3YucHVzaChqLnZhbHVlKTpqLnR5cGU9PVxcXCJuZWdhdGVkXFxcIiYmeC5wdXNoKGoudmFsdWUpKX19cmV0dXJuIHYubGVuZ3RoPT0wJiZ4Lmxlbmd0aD09MD9TZS5zdWNjZXNzKE4uTk9USElORyk6di5sZW5ndGg+MCYmeC5sZW5ndGg9PTA/U2Uuc3VjY2VzcyhOLmF0b20oVCh2KSkpOnYubGVuZ3RoPT0wJiZ4Lmxlbmd0aD4wP1NlLnN1Y2Nlc3MoTi5uZWdhdGVkKEQoeCkpKTpTZS5zdWNjZXNzKG8oSShEKHgpLFQodikpKSl9Ti5sYXp5RmFpbGFibGVVbmlvbj1nO2Z1bmN0aW9uIEQoeSl7aWYoeS5sZW5ndGg9PTApcmV0dXJuIG5ldyBTZXQ7aWYoeS5sZW5ndGg9PTEpcmV0dXJuIHlbMF07bGV0IHc9W10uY29uY2F0KHkpLnNvcnQoKHYseCk9PnYuc2l6ZS14LnNpemUpO2Zvcig7dy5sZW5ndGg+MTspe2xldCB2PW5ldyBTZXQseD13LnBvcCgpO2ZvcihsZXQgQyBvZiB3WzBdKXguaGFzKEMpJiZ2LmFkZChDKTt3WzBdPXZ9cmV0dXJuIHdbMF19Ti5zZXRJbnRlcnNlY3Q9RDtmdW5jdGlvbiBUKHkpe2lmKHkubGVuZ3RoPT0wKXJldHVybiBuZXcgU2V0O2lmKHkubGVuZ3RoPT0xKXJldHVybiB5WzBdO2xldCB3PW5ldyBTZXQ7Zm9yKGxldCB2IG9mIHkpZm9yKGxldCB4IG9mIHYpdy5hZGQoeCk7cmV0dXJuIHd9Ti5zZXRVbmlvbj1UO2Z1bmN0aW9uIEkoeSx3KXtpZih5LnNpemU+dy5zaXplKXtsZXQgdj1uZXcgU2V0KHkpO2ZvcihsZXQgeCBvZiB3KXYuZGVsZXRlKHgpO3JldHVybiB2fWVsc2V7bGV0IHY9bmV3IFNldDtmb3IobGV0IHggb2YgeSl3Lmhhcyh4KXx8di5hZGQoeCk7cmV0dXJuIHZ9fU4uc2V0SW50ZXJzZWN0TmVnYXRpb249SX0pKFl0fHwoWXQ9e30pKTt2YXIgc2U7KGc9PntnLlJPVz1cXFwiJHJvd1xcXCI7ZnVuY3Rpb24gZShEKXtyZXR1cm57dHlwZTpcXFwidmFyaWFibGVcXFwiLG5hbWU6RH19Zy52YXJpYWJsZT1lO2Z1bmN0aW9uIHQoRCl7cmV0dXJue3R5cGU6XFxcImxpdGVyYWxcXFwiLHZhbHVlOkR9fWcubGl0ZXJhbD10O2Z1bmN0aW9uIHIoRCxULEkpe3JldHVybnt0eXBlOlxcXCJiaW5hcnlvcFxcXCIsbGVmdDpELG9wOlQscmlnaHQ6SX19Zy5iaW5hcnlPcD1yO2Z1bmN0aW9uIHMoRCxUKXtyZXR1cm57dHlwZTpcXFwiYmluYXJ5b3BcXFwiLGxlZnQ6RCxyaWdodDpULG9wOlxcXCJpbmRleFxcXCJ9fWcuaW5kZXg9cztmdW5jdGlvbiBpKEQpe2xldCBUPUQuc3BsaXQoXFxcIi5cXFwiKSxJPWcudmFyaWFibGUoVFswXSk7Zm9yKGxldCBOPTE7TjxULmxlbmd0aDtOKyspST1nLmluZGV4KEksZy5saXRlcmFsKFRbTl0pKTtyZXR1cm4gSX1nLmluZGV4VmFyaWFibGU9aTtmdW5jdGlvbiBvKEQsVCl7cmV0dXJue3R5cGU6XFxcImxhbWJkYVxcXCIsYXJndW1lbnRzOkQsdmFsdWU6VH19Zy5sYW1iZGE9bztmdW5jdGlvbiBhKEQsVCl7cmV0dXJue3R5cGU6XFxcImZ1bmN0aW9uXFxcIixmdW5jOkQsYXJndW1lbnRzOlR9fWcuZnVuYz1hO2Z1bmN0aW9uIHUoRCl7cmV0dXJue3R5cGU6XFxcImxpc3RcXFwiLHZhbHVlczpEfX1nLmxpc3Q9dTtmdW5jdGlvbiBsKEQpe3JldHVybnt0eXBlOlxcXCJvYmplY3RcXFwiLHZhbHVlczpEfX1nLm9iamVjdD1sO2Z1bmN0aW9uIGYoRCl7cmV0dXJue3R5cGU6XFxcIm5lZ2F0ZWRcXFwiLGNoaWxkOkR9fWcubmVnYXRlPWY7ZnVuY3Rpb24gZChEKXtyZXR1cm4gRD09XFxcIjw9XFxcInx8RD09XFxcIjxcXFwifHxEPT1cXFwiPlxcXCJ8fEQ9PVxcXCI+PVxcXCJ8fEQ9PVxcXCIhPVxcXCJ8fEQ9PVxcXCI9XFxcIn1nLmlzQ29tcGFyZU9wPWQ7ZnVuY3Rpb24gbShELFQ9bmV3IFNldChbZy5ST1ddKSl7c3dpdGNoKEQudHlwZSl7Y2FzZVxcXCJiaW5hcnlvcFxcXCI6cmV0dXJuIEQub3A9PT1cXFwiaW5kZXhcXFwiJiZELmxlZnQudHlwZT09XFxcInZhcmlhYmxlXFxcIiYmRC5sZWZ0Lm5hbWU9PWcuUk9XJiZELnJpZ2h0LnR5cGU9PVxcXCJsaXRlcmFsXFxcIiYmZXQuaXNTdHJpbmcoRC5yaWdodC52YWx1ZSk/VC5oYXMoRC5yaWdodC52YWx1ZSk/bmV3IFNldDpuZXcgU2V0KFtELnJpZ2h0LnZhbHVlXSk6WXQuc2V0VW5pb24oW20oRC5sZWZ0LFQpLG0oRC5yaWdodCxUKV0pO2Nhc2VcXFwiZnVuY3Rpb25cXFwiOnJldHVybiBZdC5zZXRVbmlvbihELmFyZ3VtZW50cy5tYXAoTj0+bShOLFQpKSk7Y2FzZVxcXCJsYW1iZGFcXFwiOmxldCBJPVQhPW51bGw/VDpuZXcgU2V0O2ZvcihsZXQgTiBvZiBELmFyZ3VtZW50cylJLmFkZChOKTtyZXR1cm4gbShELnZhbHVlLEkpO2Nhc2VcXFwibGlzdFxcXCI6cmV0dXJuIFl0LnNldFVuaW9uKEQudmFsdWVzLm1hcChOPT5tKE4sVCkpKTtjYXNlXFxcIm5lZ2F0ZWRcXFwiOnJldHVybiBtKEQuY2hpbGQsVCk7Y2FzZVxcXCJvYmplY3RcXFwiOnJldHVybiBZdC5zZXRVbmlvbihPYmplY3QudmFsdWVzKEQudmFsdWVzKS5tYXAoTj0+bShOLFQpKSk7Y2FzZVxcXCJ2YXJpYWJsZVxcXCI6cmV0dXJuIFQmJlQuaGFzKEQubmFtZSk/bmV3IFNldDpuZXcgU2V0KFtELm5hbWVdKTtjYXNlXFxcImxpdGVyYWxcXFwiOnJldHVybiBuZXcgU2V0fX1nLnVuYm91bmRWYXJpYWJsZXM9bTtmdW5jdGlvbiBoKEQpe3N3aXRjaChELnR5cGUpe2Nhc2VcXFwiYmluYXJ5b3BcXFwiOnJldHVybiBELm9wPT09XFxcImluZGV4XFxcIj9gJHtoKEQubGVmdCl9WyR7aChELnJpZ2h0KX1dYDpgJHtoKEQubGVmdCl9ICR7RC5vcH0gJHtoKEQucmlnaHQpfWA7Y2FzZVxcXCJmdW5jdGlvblxcXCI6cmV0dXJuYCR7aChELmZ1bmMpfSgke0QuYXJndW1lbnRzLm1hcChoKS5qb2luKFxcXCIsIFxcXCIpfSlgO2Nhc2VcXFwibGFtYmRhXFxcIjpyZXR1cm5gKCR7RC5hcmd1bWVudHMuam9pbihcXFwiLCBcXFwiKX0pID0+ICR7aChELnZhbHVlKX1gO2Nhc2VcXFwibGlzdFxcXCI6cmV0dXJuYFske0QudmFsdWVzLm1hcChoKS5qb2luKFxcXCIsIFxcXCIpfV1gO2Nhc2VcXFwibmVnYXRlZFxcXCI6cmV0dXJuYCEke2goRC5jaGlsZCl9YDtjYXNlXFxcIm9iamVjdFxcXCI6cmV0dXJuYHske09iamVjdC5lbnRyaWVzKEQudmFsdWVzKS5tYXAoKFtJLE5dKT0+YCR7SX06ICR7aChOKX1gKS5qb2luKFxcXCIsIFxcXCIpfX1gO2Nhc2VcXFwidmFyaWFibGVcXFwiOnJldHVybiBELm5hbWU7Y2FzZVxcXCJsaXRlcmFsXFxcIjpsZXQgVD1ldC53cmFwVmFsdWUoRC52YWx1ZSk7aWYoIVQpcmV0dXJuXFxcIm51bGxcXFwiO3N3aXRjaChULnR5cGUpe2Nhc2VcXFwic3RyaW5nXFxcIjpyZXR1cm5gXFxcIiR7VC52YWx1ZX1cXFwiYDtkZWZhdWx0OnJldHVybiBldC50b1N0cmluZyhULnZhbHVlKX19fWcudG9TdHJpbmc9aCxnLk5VTEw9Zy5saXRlcmFsKG51bGwpfSkoc2V8fChzZT17fSkpO3ZhciB6PUYuY3JlYXRlTGFuZ3VhZ2Uoe251bWJlcjpuPT5GLnJlZ2V4cCgvLT9bMC05XSsoXFxcXC5bMC05XSspPy8pLm1hcChlPT5OdW1iZXIucGFyc2VGbG9hdChlKSkuZGVzYyhcXFwibnVtYmVyXFxcIiksc3RyaW5nOm49PkYuc3RyaW5nKCdcXFwiJykudGhlbihGLmFsdChuLmVzY2FwZUNoYXJhY3RlcixGLm5vbmVPZignXFxcIlxcXFxcXFxcJykpLmF0TGVhc3QoMCkubWFwKGU9PmUuam9pbihcXFwiXFxcIikpKS5za2lwKEYuc3RyaW5nKCdcXFwiJykpLmRlc2MoXFxcInN0cmluZ1xcXCIpLGVzY2FwZUNoYXJhY3RlcjpuPT5GLnN0cmluZyhcXFwiXFxcXFxcXFxcXFwiKS50aGVuKEYuYW55KS5tYXAoZT0+ZT09PSdcXFwiJz8nXFxcIic6ZT09PVxcXCJcXFxcXFxcXFxcXCI/XFxcIlxcXFxcXFxcXFxcIjpcXFwiXFxcXFxcXFxcXFwiK2UpLGJvb2w6bj0+Ri5yZWdleHAoL3RydWV8ZmFsc2V8VHJ1ZXxGYWxzZS8pLm1hcChlPT5lLnRvTG93ZXJDYXNlKCk9PVxcXCJ0cnVlXFxcIikuZGVzYyhcXFwiYm9vbGVhblxcXCIpLHRhZzpuPT5GLnNlcU1hcChGLnN0cmluZyhcXFwiI1xcXCIpLEYuYWx0KEYucmVnZXhwKC9bXlxcXFx1MjAwMC1cXFxcdTIwNkZcXFxcdTJFMDAtXFxcXHUyRTdGJyFcXFwiIyQlJigpKissLjo7PD0+P0BeYHt8fX5cXFxcW1xcXFxdXFxcXFxcXFxcXFxcc10vKS5kZXNjKFxcXCJ0ZXh0XFxcIikpLm1hbnkoKSwoZSx0KT0+ZSt0LmpvaW4oXFxcIlxcXCIpKS5kZXNjKFxcXCJ0YWdcXFwiKSxpZGVudGlmaWVyOm49PkYuc2VxTWFwKEYuYWx0KEYucmVnZXhwKC9bXFxcXHB7TGV0dGVyfSRdL3UpLEYucmVnZXhwKHF1KS5kZXNjKFxcXCJ0ZXh0XFxcIikpLEYuYWx0KEYucmVnZXhwKC9bMC05XFxcXHB7TGV0dGVyfSRfLV0vdSksRi5yZWdleHAocXUpLmRlc2MoXFxcInRleHRcXFwiKSkubWFueSgpLChlLHQpPT5lK3Quam9pbihcXFwiXFxcIikpLmRlc2MoXFxcInZhcmlhYmxlXFxcIiksbGluazpuPT5GLnJlZ2V4cCgvXFxcXFtcXFxcWyhbXlxcXFxbXFxcXF1dKj8pXFxcXF1cXFxcXS91LDEpLm1hcChlPT5PZS5wYXJzZUlubmVyKGUpKS5kZXNjKFxcXCJmaWxlIGxpbmtcXFwiKSxlbWJlZExpbms6bj0+Ri5zZXFNYXAoRi5zdHJpbmcoXFxcIiFcXFwiKS5hdE1vc3QoMSksbi5saW5rLChlLHQpPT4oZS5sZW5ndGg+MCYmKHQuZW1iZWQ9ITApLHQpKS5kZXNjKFxcXCJmaWxlIGxpbmtcXFwiKSxiaW5hcnlQbHVzTWludXM6bj0+Ri5yZWdleHAoL1xcXFwrfC0vKS5tYXAoZT0+ZSkuZGVzYyhcXFwiJysnIG9yICctJ1xcXCIpLGJpbmFyeU11bERpdjpuPT5GLnJlZ2V4cCgvXFxcXCp8XFxcXC98JS8pLm1hcChlPT5lKS5kZXNjKFxcXCInKicgb3IgJy8nIG9yICclJ1xcXCIpLGJpbmFyeUNvbXBhcmVPcDpuPT5GLnJlZ2V4cCgvPj18PD18IT18Pnw8fD0vKS5tYXAoZT0+ZSkuZGVzYyhcXFwiJz49JyBvciAnPD0nIG9yICchPScgb3IgJz0nIG9yICc+JyBvciAnPCdcXFwiKSxiaW5hcnlBbmRPcDpuPT5GLnJlZ2V4cCgvYW5kfCYvaSkubWFwKGU9PlxcXCImXFxcIikuZGVzYyhcXFwiJ2FuZCdcXFwiKSxiaW5hcnlPck9wOm49PkYucmVnZXhwKC9vcnxcXFxcfC9pKS5tYXAoZT0+XFxcInxcXFwiKS5kZXNjKFxcXCInb3InXFxcIikscm9vdERhdGU6bj0+Ri5zZXFNYXAoRi5yZWdleHAoL1xcXFxkezR9LyksRi5zdHJpbmcoXFxcIi1cXFwiKSxGLnJlZ2V4cCgvXFxcXGR7Mn0vKSwoZSx0LHIpPT5xLmZyb21PYmplY3Qoe3llYXI6TnVtYmVyLnBhcnNlSW50KGUpLG1vbnRoOk51bWJlci5wYXJzZUludChyKX0pKS5kZXNjKFxcXCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU11cXFwiKSxkYXRlU2hvcnRoYW5kOm49PkYuYWx0KC4uLk9iamVjdC5rZXlzKFV1KS5zb3J0KChlLHQpPT50Lmxlbmd0aC1lLmxlbmd0aCkubWFwKEYuc3RyaW5nKSksZGF0ZTpuPT5PZihuLnJvb3REYXRlLGU9PkYuc2VxTWFwKEYuc3RyaW5nKFxcXCItXFxcIiksRi5yZWdleHAoL1xcXFxkezJ9LyksKHQscik9PmUuc2V0KHtkYXk6TnVtYmVyLnBhcnNlSW50KHIpfSkpLGU9PkYuc2VxTWFwKEYuc3RyaW5nKFxcXCJUXFxcIiksRi5yZWdleHAoL1xcXFxkezJ9LyksKHQscik9PmUuc2V0KHtob3VyOk51bWJlci5wYXJzZUludChyKX0pKSxlPT5GLnNlcU1hcChGLnN0cmluZyhcXFwiOlxcXCIpLEYucmVnZXhwKC9cXFxcZHsyfS8pLCh0LHIpPT5lLnNldCh7bWludXRlOk51bWJlci5wYXJzZUludChyKX0pKSxlPT5GLnNlcU1hcChGLnN0cmluZyhcXFwiOlxcXCIpLEYucmVnZXhwKC9cXFxcZHsyfS8pLCh0LHIpPT5lLnNldCh7c2Vjb25kOk51bWJlci5wYXJzZUludChyKX0pKSxlPT5GLmFsdChGLnNlcU1hcChGLnN0cmluZyhcXFwiLlxcXCIpLEYucmVnZXhwKC9cXFxcZHszfS8pLCh0LHIpPT5lLnNldCh7bWlsbGlzZWNvbmQ6TnVtYmVyLnBhcnNlSW50KHIpfSkpLEYuc3VjY2VlZChlKSksZT0+Ri5hbHQoRi5zZXFNYXAoRi5zdHJpbmcoXFxcIitcXFwiKS5vcihGLnN0cmluZyhcXFwiLVxcXCIpKSxGLnJlZ2V4cCgvXFxcXGR7MSwyfSg6XFxcXGR7Mn0pPy8pLCh0LHIpPT5lLnNldFpvbmUoXFxcIlVUQ1xcXCIrdCtyLHtrZWVwTG9jYWxUaW1lOiEwfSkpLEYuc2VxTWFwKEYuc3RyaW5nKFxcXCJaXFxcIiksKCk9PmUuc2V0Wm9uZShcXFwidXRjXFxcIix7a2VlcExvY2FsVGltZTohMH0pKSxGLnNlcU1hcChGLnN0cmluZyhcXFwiW1xcXCIpLEYucmVnZXhwKC9bMC05QS1aYS16Ky1cXFxcL10rL3UpLEYuc3RyaW5nKFxcXCJdXFxcIiksKHQscixzKT0+ZS5zZXRab25lKHIse2tlZXBMb2NhbFRpbWU6ITB9KSkpKS5hc3NlcnQoZT0+ZS5pc1ZhbGlkLFxcXCJ2YWxpZCBkYXRlXFxcIikuZGVzYyhcXFwiZGF0ZSBpbiBmb3JtYXQgWVlZWS1NTVstRERUSEgtTU0tU1MuTVNdXFxcIiksZGF0ZVBsdXM6bj0+Ri5hbHQobi5kYXRlU2hvcnRoYW5kLm1hcChlPT5VdVtlXSgpKSxuLmRhdGUpLmRlc2MoXFxcImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXSBvciBpbiBzaG9ydGhhbmRcXFwiKSxkdXJhdGlvblR5cGU6bj0+Ri5hbHQoLi4uT2JqZWN0LmtleXMoVnUpLnNvcnQoKGUsdCk9PnQubGVuZ3RoLWUubGVuZ3RoKS5tYXAoRi5zdHJpbmcpKSxkdXJhdGlvbjpuPT5GLnNlcU1hcChuLm51bWJlcixGLm9wdFdoaXRlc3BhY2Usbi5kdXJhdGlvblR5cGUsKGUsdCxyKT0+VnVbcl0ubWFwVW5pdHMocz0+cyplKSkuc2VwQnkxKEYuc3RyaW5nKFxcXCIsXFxcIikudHJpbShGLm9wdFdoaXRlc3BhY2UpLm9yKEYub3B0V2hpdGVzcGFjZSkpLm1hcChlPT5lLnJlZHVjZSgodCxyKT0+dC5wbHVzKHIpKSkuZGVzYyhcXFwiZHVyYXRpb24gbGlrZSA0aHIybWluXFxcIikscmF3TnVsbDpuPT5GLnN0cmluZyhcXFwibnVsbFxcXCIpLGF0b21JbmxpbmVGaWVsZDpuPT5GLmFsdChuLmRhdGUsbi5kdXJhdGlvbi5tYXAoZT0+TWkoZSkpLG4uc3RyaW5nLG4udGFnLG4uZW1iZWRMaW5rLG4uYm9vbCxuLm51bWJlcixuLnJhd051bGwpLGlubGluZUZpZWxkTGlzdDpuPT5uLmF0b21JbmxpbmVGaWVsZC5zZXBCeShGLnN0cmluZyhcXFwiLFxcXCIpLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKS5sb29rYWhlYWQobi5hdG9tSW5saW5lRmllbGQpKSxpbmxpbmVGaWVsZDpuPT5GLmFsdChGLnNlcU1hcChuLmF0b21JbmxpbmVGaWVsZCxGLnN0cmluZyhcXFwiLFxcXCIpLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKSxuLmlubGluZUZpZWxkTGlzdCwoZSx0LHIpPT5bZV0uY29uY2F0KHIpKSxuLmF0b21JbmxpbmVGaWVsZCl9KSxxdT1uZXcgUmVnRXhwKEZuKCksXFxcIlxcXCIpLFZ1PXt5ZWFyOkIuZnJvbU9iamVjdCh7eWVhcnM6MX0pLHllYXJzOkIuZnJvbU9iamVjdCh7eWVhcnM6MX0pLHlyOkIuZnJvbU9iamVjdCh7eWVhcnM6MX0pLHlyczpCLmZyb21PYmplY3Qoe3llYXJzOjF9KSxtb250aDpCLmZyb21PYmplY3Qoe21vbnRoczoxfSksbW9udGhzOkIuZnJvbU9iamVjdCh7bW9udGhzOjF9KSxtbzpCLmZyb21PYmplY3Qoe21vbnRoczoxfSksbW9zOkIuZnJvbU9iamVjdCh7bW9udGhzOjF9KSx3ZWVrOkIuZnJvbU9iamVjdCh7d2Vla3M6MX0pLHdlZWtzOkIuZnJvbU9iamVjdCh7d2Vla3M6MX0pLHdrOkIuZnJvbU9iamVjdCh7d2Vla3M6MX0pLHdrczpCLmZyb21PYmplY3Qoe3dlZWtzOjF9KSx3OkIuZnJvbU9iamVjdCh7d2Vla3M6MX0pLGRheTpCLmZyb21PYmplY3Qoe2RheXM6MX0pLGRheXM6Qi5mcm9tT2JqZWN0KHtkYXlzOjF9KSxkOkIuZnJvbU9iamVjdCh7ZGF5czoxfSksaG91cjpCLmZyb21PYmplY3Qoe2hvdXJzOjF9KSxob3VyczpCLmZyb21PYmplY3Qoe2hvdXJzOjF9KSxocjpCLmZyb21PYmplY3Qoe2hvdXJzOjF9KSxocnM6Qi5mcm9tT2JqZWN0KHtob3VyczoxfSksaDpCLmZyb21PYmplY3Qoe2hvdXJzOjF9KSxtaW51dGU6Qi5mcm9tT2JqZWN0KHttaW51dGVzOjF9KSxtaW51dGVzOkIuZnJvbU9iamVjdCh7bWludXRlczoxfSksbWluOkIuZnJvbU9iamVjdCh7bWludXRlczoxfSksbWluczpCLmZyb21PYmplY3Qoe21pbnV0ZXM6MX0pLG06Qi5mcm9tT2JqZWN0KHttaW51dGVzOjF9KSxzZWNvbmQ6Qi5mcm9tT2JqZWN0KHtzZWNvbmRzOjF9KSxzZWNvbmRzOkIuZnJvbU9iamVjdCh7c2Vjb25kczoxfSksc2VjOkIuZnJvbU9iamVjdCh7c2Vjb25kczoxfSksc2VjczpCLmZyb21PYmplY3Qoe3NlY29uZHM6MX0pLHM6Qi5mcm9tT2JqZWN0KHtzZWNvbmRzOjF9KX0sVXU9e25vdzooKT0+cS5sb2NhbCgpLHRvZGF5OigpPT5xLmxvY2FsKCkuc3RhcnRPZihcXFwiZGF5XFxcIikseWVzdGVyZGF5OigpPT5xLmxvY2FsKCkuc3RhcnRPZihcXFwiZGF5XFxcIikubWludXMoQi5mcm9tT2JqZWN0KHtkYXlzOjF9KSksdG9tb3Jyb3c6KCk9PnEubG9jYWwoKS5zdGFydE9mKFxcXCJkYXlcXFwiKS5wbHVzKEIuZnJvbU9iamVjdCh7ZGF5czoxfSkpLHNvdzooKT0+cS5sb2NhbCgpLnN0YXJ0T2YoXFxcIndlZWtcXFwiKSxcXFwic3RhcnQtb2Ytd2Vla1xcXCI6KCk9PnEubG9jYWwoKS5zdGFydE9mKFxcXCJ3ZWVrXFxcIiksZW93OigpPT5xLmxvY2FsKCkuZW5kT2YoXFxcIndlZWtcXFwiKSxcXFwiZW5kLW9mLXdlZWtcXFwiOigpPT5xLmxvY2FsKCkuZW5kT2YoXFxcIndlZWtcXFwiKSxzb3k6KCk9PnEubG9jYWwoKS5zdGFydE9mKFxcXCJ5ZWFyXFxcIiksXFxcInN0YXJ0LW9mLXllYXJcXFwiOigpPT5xLmxvY2FsKCkuc3RhcnRPZihcXFwieWVhclxcXCIpLGVveTooKT0+cS5sb2NhbCgpLmVuZE9mKFxcXCJ5ZWFyXFxcIiksXFxcImVuZC1vZi15ZWFyXFxcIjooKT0+cS5sb2NhbCgpLmVuZE9mKFxcXCJ5ZWFyXFxcIiksc29tOigpPT5xLmxvY2FsKCkuc3RhcnRPZihcXFwibW9udGhcXFwiKSxcXFwic3RhcnQtb2YtbW9udGhcXFwiOigpPT5xLmxvY2FsKCkuc3RhcnRPZihcXFwibW9udGhcXFwiKSxlb206KCk9PnEubG9jYWwoKS5lbmRPZihcXFwibW9udGhcXFwiKSxcXFwiZW5kLW9mLW1vbnRoXFxcIjooKT0+cS5sb2NhbCgpLmVuZE9mKFxcXCJtb250aFxcXCIpfSxLdT1GLmNyZWF0ZUxhbmd1YWdlKHt2YXJpYWJsZTpuPT56LmlkZW50aWZpZXIubWFwKHNlLnZhcmlhYmxlKS5kZXNjKFxcXCJ2YXJpYWJsZVxcXCIpLG51bWJlcjpuPT56Lm51bWJlci5tYXAoc2UubGl0ZXJhbCkuZGVzYyhcXFwibnVtYmVyXFxcIiksc3RyaW5nOm49Pnouc3RyaW5nLm1hcChzZS5saXRlcmFsKS5kZXNjKFxcXCJzdHJpbmdcXFwiKSxib29sOm49PnouYm9vbC5tYXAoc2UubGl0ZXJhbCkuZGVzYyhcXFwiYm9vbGVhblxcXCIpLGRhdGU6bj0+U3QoXFxcImRhdGVcXFwiLHouZGF0ZVBsdXMpLm1hcCgoW2UsdF0pPT5zZS5saXRlcmFsKHQpKS5kZXNjKFxcXCJkYXRlXFxcIiksZHVyYXRpb246bj0+U3QoXFxcImR1clxcXCIsei5kdXJhdGlvbikubWFwKChbZSx0XSk9PnNlLmxpdGVyYWwodCkpLmRlc2MoXFxcImR1cmF0aW9uXFxcIiksbnVsbDpuPT56LnJhd051bGwubWFwKGU9PnNlLk5VTEwpLGxpbms6bj0+ei5saW5rLm1hcChzZS5saXRlcmFsKSxsaXN0Om49Pm4uZXhwcmVzc2lvbi5zZXBCeShGLnN0cmluZyhcXFwiLFxcXCIpLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKSkud3JhcChGLnN0cmluZyhcXFwiW1xcXCIpLnNraXAoRi5vcHRXaGl0ZXNwYWNlKSxGLm9wdFdoaXRlc3BhY2UudGhlbihGLnN0cmluZyhcXFwiXVxcXCIpKSkubWFwKGU9PnNlLmxpc3QoZSkpLmRlc2MoXFxcImxpc3RcXFwiKSxvYmplY3Q6bj0+Ri5zZXFNYXAoei5pZGVudGlmaWVyLm9yKHouc3RyaW5nKSxGLnN0cmluZyhcXFwiOlxcXCIpLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKSxuLmV4cHJlc3Npb24sKGUsdCxyKT0+KHtuYW1lOmUsdmFsdWU6cn0pKS5zZXBCeShGLnN0cmluZyhcXFwiLFxcXCIpLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKSkud3JhcChGLnN0cmluZyhcXFwie1xcXCIpLnNraXAoRi5vcHRXaGl0ZXNwYWNlKSxGLm9wdFdoaXRlc3BhY2UudGhlbihGLnN0cmluZyhcXFwifVxcXCIpKSkubWFwKGU9PntsZXQgdD17fTtmb3IobGV0IHIgb2YgZSl0W3IubmFtZV09ci52YWx1ZTtyZXR1cm4gc2Uub2JqZWN0KHQpfSkuZGVzYyhcXFwib2JqZWN0ICgneyBhOiAxLCBiOiAyIH0nKVxcXCIpLGF0b206bj0+Ri5hbHQoei5lbWJlZExpbmsubWFwKGU9PnNlLmxpdGVyYWwoZSkpLG4ubmVnYXRlZCxuLmxpbmssbi5saXN0LG4ub2JqZWN0LG4ubGFtYmRhLG4ucGFyZW5zLG4uYm9vbCxuLm51bWJlcixuLnN0cmluZyxuLmRhdGUsbi5kdXJhdGlvbixuLm51bGwsbi52YXJpYWJsZSksaW5kZXg6bj0+Ri5zZXFNYXAobi5hdG9tLEYuYWx0KG4uZG90UG9zdGZpeCxuLmluZGV4UG9zdGZpeCxuLmZ1bmN0aW9uUG9zdGZpeCkubWFueSgpLChlLHQpPT57bGV0IHI9ZTtmb3IobGV0IHMgb2YgdClzd2l0Y2gocy50eXBlKXtjYXNlXFxcImRvdFxcXCI6cj1zZS5pbmRleChyLHNlLmxpdGVyYWwocy5leHByKSk7YnJlYWs7Y2FzZVxcXCJpbmRleFxcXCI6cj1zZS5pbmRleChyLHMuZXhwcik7YnJlYWs7Y2FzZVxcXCJmdW5jdGlvblxcXCI6cj1zZS5mdW5jKHIscy5leHBycyk7YnJlYWt9cmV0dXJuIHJ9KSxuZWdhdGVkOm49PkYuc2VxTWFwKEYuc3RyaW5nKFxcXCIhXFxcIiksbi5pbmRleCwoZSx0KT0+c2UubmVnYXRlKHQpKS5kZXNjKFxcXCJuZWdhdGVkIGZpZWxkXFxcIikscGFyZW5zOm49Pm4uZXhwcmVzc2lvbi50cmltKEYub3B0V2hpdGVzcGFjZSkud3JhcChGLnN0cmluZyhcXFwiKFxcXCIpLEYuc3RyaW5nKFxcXCIpXFxcIikpLGxhbWJkYTpuPT5GLnNlcU1hcCh6LmlkZW50aWZpZXIuc2VwQnkoRi5zdHJpbmcoXFxcIixcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSkpLndyYXAoRi5zdHJpbmcoXFxcIihcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSksRi5zdHJpbmcoXFxcIilcXFwiKS50cmltKEYub3B0V2hpdGVzcGFjZSkpLEYuc3RyaW5nKFxcXCI9PlxcXCIpLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKSxuLmV4cHJlc3Npb24sKGUsdCxyKT0+KHt0eXBlOlxcXCJsYW1iZGFcXFwiLGFyZ3VtZW50czplLHZhbHVlOnJ9KSksZG90UG9zdGZpeDpuPT5GLnNlcU1hcChGLnN0cmluZyhcXFwiLlxcXCIpLHouaWRlbnRpZmllciwoZSx0KT0+KHt0eXBlOlxcXCJkb3RcXFwiLGV4cHI6dH0pKSxpbmRleFBvc3RmaXg6bj0+Ri5zZXFNYXAoRi5zdHJpbmcoXFxcIltcXFwiKSxGLm9wdFdoaXRlc3BhY2Usbi5leHByZXNzaW9uLEYub3B0V2hpdGVzcGFjZSxGLnN0cmluZyhcXFwiXVxcXCIpLChlLHQscixzLGkpPT4oe3R5cGU6XFxcImluZGV4XFxcIixleHByOnJ9KSksZnVuY3Rpb25Qb3N0Zml4Om49PkYuc2VxTWFwKEYuc3RyaW5nKFxcXCIoXFxcIiksRi5vcHRXaGl0ZXNwYWNlLG4uZXhwcmVzc2lvbi5zZXBCeShGLnN0cmluZyhcXFwiLFxcXCIpLnRyaW0oRi5vcHRXaGl0ZXNwYWNlKSksRi5vcHRXaGl0ZXNwYWNlLEYuc3RyaW5nKFxcXCIpXFxcIiksKGUsdCxyLHMsaSk9Pih7dHlwZTpcXFwiZnVuY3Rpb25cXFwiLGV4cHJzOnJ9KSksYmluYXJ5TXVsRGl2Om49Pk1uKG4uaW5kZXgsei5iaW5hcnlNdWxEaXYsc2UuYmluYXJ5T3ApLGJpbmFyeVBsdXNNaW51czpuPT5NbihuLmJpbmFyeU11bERpdix6LmJpbmFyeVBsdXNNaW51cyxzZS5iaW5hcnlPcCksYmluYXJ5Q29tcGFyZTpuPT5NbihuLmJpbmFyeVBsdXNNaW51cyx6LmJpbmFyeUNvbXBhcmVPcCxzZS5iaW5hcnlPcCksYmluYXJ5Qm9vbGVhbjpuPT5NbihuLmJpbmFyeUNvbXBhcmUsei5iaW5hcnlBbmRPcC5vcih6LmJpbmFyeU9yT3ApLHNlLmJpbmFyeU9wKSxiaW5hcnlPcDpuPT5uLmJpbmFyeUJvb2xlYW4sZXhwcmVzc2lvbjpuPT5uLmJpbmFyeU9wfSksbGI9Ri5jcmVhdGVMYW5ndWFnZSh7cXVlcnlUYWc6bj0+ei50YWcubWFwKGU9Pih7dHlwZTpcXFwidGFnZ2VkXFxcIix2YWx1ZTplfSkpLHF1ZXJ5SWQ6bj0+U3QoXFxcImlkXFxcIix6LnN0cmluZykubWFwKChbZSx0XSk9Pih7dHlwZTpcXFwiaWRcXFwiLHZhbHVlOnR9KSkscXVlcnlUeXBlOm49PkYuc3RyaW5nKFxcXCJAXFxcIikudGhlbih6LmlkZW50aWZpZXIpLm1hcChlPT4oe3R5cGU6XFxcInR5cGVkXFxcIix2YWx1ZTplfSkpLHF1ZXJ5UGF0aDpuPT5TdChGLnJlZ2V4cCgvZT9wYXRoL2kpLmRlc2MoXFxcIltlXXBhdGhcXFwiKSx6LnN0cmluZykubWFwKChbZSx0XSk9Pih7dHlwZTpcXFwicGF0aFxcXCIsdmFsdWU6dCxleGFjdDplLnRvTG93ZXJDYXNlKCk9PT1cXFwiZXBhdGhcXFwifSkpLHF1ZXJ5UGFyZW50T2Y6bj0+U3QoRi5yZWdleHAoL3BhcmVudG9mfHN1cGVydHJlZS9pKS5kZXNjKFxcXCJwYXJlbnRvZlxcXCIpLG4ucXVlcnkpLm1hcCgoW2UsdF0pPT4oe3R5cGU6XFxcInBhcmVudC1vZlxcXCIsY2hpbGRyZW46dCxpbmNsdXNpdmU6ZS50b0xvd2VyQ2FzZSgpPT09XFxcInN1cGVydHJlZVxcXCJ9KSkscXVlcnlDaGlsZE9mOm49PlN0KEYucmVnZXhwKC9jaGlsZG9mfHN1YnRyZWUvaSkuZGVzYyhcXFwiY2hpbGRvZlxcXCIpLG4ucXVlcnkpLm1hcCgoW2UsdF0pPT4oe3R5cGU6XFxcImNoaWxkLW9mXFxcIixwYXJlbnRzOnQsaW5jbHVzaXZlOmUudG9Mb3dlckNhc2UoKT09PVxcXCJzdWJ0cmVlXFxcIn0pKSxxdWVyeVNpbXBsZUxpbmtlZDpuPT56LmxpbmsubWFwKGU9Pih7dHlwZTpcXFwibGlua2VkXFxcIixzb3VyY2U6e3R5cGU6XFxcImxpbmtcXFwiLHZhbHVlOmV9LGRpcmVjdGlvbjpcXFwiaW5jb21pbmdcXFwifSkpLHF1ZXJ5TGlua2VkOm49PlN0KEYucmVnZXhwKC9saW5rc3RvfGxpbmtlZGZyb218Y29ubmVjdGVkL2kpLmRlc2MoXFxcImNvbm5lY3RlZFxcXCIpLG4ucXVlcnkpLm1hcCgoW2UsdF0pPT4oe3R5cGU6XFxcImxpbmtlZFxcXCIsc291cmNlOnQsZGlyZWN0aW9uOmUudG9Mb3dlckNhc2UoKT09XFxcImxpbmtzdG9cXFwiP1xcXCJpbmNvbWluZ1xcXCI6ZS50b0xvd2VyQ2FzZSgpPT1cXFwibGlua2VkZnJvbVxcXCI/XFxcIm91dGdvaW5nXFxcIjpcXFwiYm90aFxcXCJ9KSkscXVlcnlFeGlzdHM6bj0+U3QoRi5yZWdleHAoL2V4aXN0cy9pKS5kZXNjKFxcXCJleGlzdHNcXFwiKSx6LmlkZW50aWZpZXIub3Ioei5zdHJpbmcpKS5tYXAoKFtlLHRdKT0+KHt0eXBlOlxcXCJmaWVsZFxcXCIsdmFsdWU6dH0pKSxxdWVyeVF1b3RlZEV4cHJlc3Npb246bj0+U3QoRi5yZWdleHAoL2V4cHIvaSkuZGVzYyhcXFwiZXhwclxcXCIpLEt1LmV4cHJlc3Npb24pLm1hcCgoW2UsdF0pPT4oe3R5cGU6XFxcImV4cHJlc3Npb25cXFwiLGV4cHJlc3Npb246dH0pKSxxdWVyeVJhd0V4cHJlc3Npb246bj0+S3UuYmluYXJ5Q29tcGFyZS5tYXAoZT0+KHt0eXBlOlxcXCJleHByZXNzaW9uXFxcIixleHByZXNzaW9uOmV9KSkscXVlcnlQYXJlbnM6bj0+bi5xdWVyeS50cmltKEYub3B0V2hpdGVzcGFjZSkud3JhcChGLnN0cmluZyhcXFwiKFxcXCIpLEYuc3RyaW5nKFxcXCIpXFxcIikpLHF1ZXJ5TmVnYXRlOm49PkYuc3RyaW5nKFxcXCIhXFxcIikuc2tpcChGLm9wdFdoaXRlc3BhY2UpLnRoZW4obi5xdWVyeUF0b20pLm1hcChlPT4oe3R5cGU6XFxcIm5vdFxcXCIsZWxlbWVudDplfSkpLHF1ZXJ5QXRvbTpuPT5GLmFsdChuLnF1ZXJ5UGFyZW5zLG4ucXVlcnlOZWdhdGUsbi5xdWVyeVNpbXBsZUxpbmtlZCxuLnF1ZXJ5VGFnLG4ucXVlcnlUeXBlLG4ucXVlcnlJZCxuLnF1ZXJ5RXhpc3RzLG4ucXVlcnlDaGlsZE9mLG4ucXVlcnlQYXJlbnRPZixuLnF1ZXJ5TGlua2VkLG4ucXVlcnlQYXRoLG4ucXVlcnlRdW90ZWRFeHByZXNzaW9uLG4ucXVlcnlSYXdFeHByZXNzaW9uKSxxdWVyeUFuZHM6bj0+TW4obi5xdWVyeUF0b20sei5iaW5hcnlBbmRPcCwoZSx0LHIpPT4oe3R5cGU6XFxcImFuZFxcXCIsZWxlbWVudHM6W2Uscl19KSkscXVlcnlPcnM6bj0+TW4obi5xdWVyeUFuZHMsei5iaW5hcnlPck9wLChlLHQscik9Pih7dHlwZTpcXFwib3JcXFwiLGVsZW1lbnRzOltlLHJdfSkpLHF1ZXJ5Om49Pm4ucXVlcnlPcnMudHJpbShGLm9wdFdoaXRlc3BhY2UpfSk7ZnVuY3Rpb24gTW4obixlLHQpe3JldHVybiBGLnNlcU1hcChuLEYuc2VxKEYub3B0V2hpdGVzcGFjZSxlLEYub3B0V2hpdGVzcGFjZSxuKS5tYW55KCksKHIscyk9PntpZihzLmxlbmd0aD09MClyZXR1cm4gcjtsZXQgaT10KHIsc1swXVsxXSxzWzBdWzNdKTtmb3IobGV0IG89MTtvPHMubGVuZ3RoO28rKylpPXQoaSxzW29dWzFdLHNbb11bM10pO3JldHVybiBpfSl9ZnVuY3Rpb24gU3QobixlKXtsZXQgdD10eXBlb2Ygbj09XFxcInN0cmluZ1xcXCI/Ri5zdHJpbmcobik6bjtyZXR1cm4gRi5zZXFNYXAodC5za2lwKEYub3B0V2hpdGVzcGFjZSksZS50cmltKEYub3B0V2hpdGVzcGFjZSkud3JhcChGLnN0cmluZyhcXFwiKFxcXCIpLEYuc3RyaW5nKFxcXCIpXFxcIikpLChyLHMpPT5bcixzXSl9ZnVuY3Rpb24gT2YobiwuLi5lKXtyZXR1cm4gRi5jdXN0b20oKHQscik9PihzLGkpPT57bGV0IG89bi5fKHMsaSk7aWYoIW8uc3RhdHVzKXJldHVybiBvO2ZvcihsZXQgYSBvZiBlKXtsZXQgdT1hKG8udmFsdWUpLl8ocyxvLmluZGV4KTtpZighdS5zdGF0dXMpcmV0dXJuIG87bz11fXJldHVybiBvfSl9dmFyIFp0PVZyKG5zKCkpO2Z1bmN0aW9uIEd0KG4sZSl7bGV0IHQ9e307Zm9yKGxldFtyLHNdb2YgT2JqZWN0LmVudHJpZXMobikpdFtyXT1lKHMpO3JldHVybiB0fXZhciBfbjsocj0+e3IuTk9PUF9OT1JNQUxJWkVSPXM9PnM7ZnVuY3Rpb24gZShzKXtsZXQgaT1ldC53cmFwVmFsdWUocyk7aWYoIWkpcmV0dXJuIG51bGw7c3dpdGNoKGk9PW51bGw/dm9pZCAwOmkudHlwZSl7Y2FzZVxcXCJhcnJheVxcXCI6cmV0dXJuIGkudmFsdWUubWFwKHIuanNvbik7Y2FzZVxcXCJvYmplY3RcXFwiOnJldHVybiBHdChpLnZhbHVlLHIuanNvbik7Y2FzZVxcXCJkYXRlXFxcIjpyZXR1cm57JF90eXBlOlxcXCJkYXRlXFxcIix2YWx1ZTppLnZhbHVlLnRvSVNPKHtleHRlbmRlZFpvbmU6ITAsaW5jbHVkZU9mZnNldDohMH0pfTtjYXNlXFxcImxpbmtcXFwiOnJldHVybnskX3R5cGU6XFxcImxpbmtcXFwiLHZhbHVlOmkudmFsdWUudG9PYmplY3QoKX07Y2FzZVxcXCJkdXJhdGlvblxcXCI6cmV0dXJueyRfdHlwZTpcXFwiZHVyYXRpb25cXFwiLHZhbHVlOmkudmFsdWUudG9JU08oKX07Y2FzZVxcXCJib29sZWFuXFxcIjpjYXNlXFxcIm51bWJlclxcXCI6Y2FzZVxcXCJzdHJpbmdcXFwiOnJldHVybiBpLnZhbHVlO2Nhc2VcXFwiZnVuY3Rpb25cXFwiOmNhc2VcXFwibnVsbFxcXCI6cmV0dXJuIG51bGx9fXIuanNvbj1lO2Z1bmN0aW9uIHQocyxpPXIuTk9PUF9OT1JNQUxJWkVSKXtpZihzPT1udWxsKXJldHVybiBudWxsO2lmKEFycmF5LmlzQXJyYXkocykpcmV0dXJuIGkocy5tYXAobz0+ci52YWx1ZShvLGkpKSk7aWYodHlwZW9mIHM9PVxcXCJvYmplY3RcXFwiKXtpZighKFxcXCIkX3R5cGVcXFwiaW4gcykpcmV0dXJuIEd0KHMsYT0+ci52YWx1ZShhLGkpKTtsZXQgbz1zLiRfdHlwZTtzd2l0Y2gobyl7Y2FzZVxcXCJkYXRlXFxcIjpyZXR1cm4gaShxLmZyb21JU08ocy52YWx1ZSkpO2Nhc2VcXFwiZHVyYXRpb25cXFwiOnJldHVybiBpKEIuZnJvbUlTTyhzLnZhbHVlKSk7Y2FzZVxcXCJsaW5rXFxcIjpyZXR1cm4gaShPZS5mcm9tT2JqZWN0KHMudmFsdWUpKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIHNlcmlhbGl6ZWQgdHlwZSAnJHtvfSchYCl9fXJldHVybiBpKHMpfXIudmFsdWU9dH0pKF9ufHwoX249e30pKTtmdW5jdGlvbiBXdShuKXtyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxuLHt2YWx1ZTpfbi5qc29uKG4udmFsdWUpfSl9ZnVuY3Rpb24gJHMobixlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShuKT9uLm1hcCh0PT4kcyh0LGUpKTp7a2V5Om4ua2V5LHJhdzpuLnZhbHVlLHZhbHVlOk5mKG4udmFsdWUpLHBvc2l0aW9uOntsaW5lOmUsc3RhcnQ6bi5zdGFydCxzdGFydFZhbHVlOm4uc3RhcnRWYWx1ZSxlbmQ6bi5lbmR9LHdyYXBwaW5nOm4ud3JhcHBpbmd9fXZhciBQcz1PYmplY3QuZnJlZXplKHtcXFwiW1xcXCI6XFxcIl1cXFwiLFxcXCIoXFxcIjpcXFwiKVxcXCJ9KTtmdW5jdGlvbiBJZihuLGUsdCxyKXtsZXQgcz0wLGk9ITE7Zm9yKGxldCBvPWU7bzxuLmxlbmd0aDtvKyspe2xldCBhPW4uY2hhckF0KG8pO2lmKGE9PVxcXCJcXFxcXFxcXFxcXCIpe2k9IWk7Y29udGludWV9aWYoaSl7aT0hMTtjb250aW51ZX1pZihhPT10P3MrKzphPT1yJiZzLS0sczwwKXJldHVybnt2YWx1ZTpuLnN1YnN0cmluZyhlLG8pLnRyaW0oKSxlbmRJbmRleDpvKzF9O2k9ITF9fWZ1bmN0aW9uIEh1KG4sZSl7bGV0IHQ9bi5pbmRleE9mKFxcXCI6OlxcXCIsZSk7aWYoISh0PDApKXJldHVybntrZXk6bi5zdWJzdHJpbmcoZSx0KS50cmltKCksdmFsdWVJbmRleDp0KzJ9fWZ1bmN0aW9uIExmKG4sZSl7bGV0IHQ9bi5jaGFyQXQoZSkscj1IdShuLGUrMSk7aWYocj09PXZvaWQgMClyZXR1cm47Zm9yKGxldCBpIG9mIE9iamVjdC5rZXlzKFBzKS5jb25jYXQoT2JqZWN0LnZhbHVlcyhQcykpKWlmKHIua2V5LmluY2x1ZGVzKGkpKXJldHVybjtsZXQgcz1JZihuLHIudmFsdWVJbmRleCx0LFBzW3RdKTtpZihzIT09dm9pZCAwKXJldHVybntrZXk6ci5rZXksdmFsdWU6cy52YWx1ZSxzdGFydDplLHN0YXJ0VmFsdWU6ci52YWx1ZUluZGV4LGVuZDpzLmVuZEluZGV4LHdyYXBwaW5nOnR9fWZ1bmN0aW9uIE5mKG4pe2lmKG4udHJpbSgpPT1cXFwiXFxcIilyZXR1cm4gbnVsbDtsZXQgZT16LmlubGluZUZpZWxkLnBhcnNlKG4pO3JldHVybiBlLnN0YXR1cz9lLnZhbHVlOm59ZnVuY3Rpb24gSnUobixlPSExKXtsZXQgdD1bXTtmb3IobGV0IHMgb2YgT2JqZWN0LmtleXMoUHMpKXtsZXQgaT1uLmluZGV4T2Yocyk7Zm9yKDtpPj0wOyl7bGV0IG89TGYobixpKTtpZighbyl7aT1uLmluZGV4T2YocyxpKzEpO2NvbnRpbnVlfXQucHVzaChvKSxpPW4uaW5kZXhPZihzLG8uZW5kKX19ZSYmKHQ9dC5jb25jYXQocWYobikpKSx0LnNvcnQoKHMsaSk9PnMuc3RhcnQtaS5zdGFydCk7bGV0IHI9W107Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspKHM9PTB8fHJbci5sZW5ndGgtMV0uZW5kPHRbc10uc3RhcnQpJiZyLnB1c2godFtzXSk7cmV0dXJuIHJ9dmFyIEFmPVp0LmFsdChadC5yZWdleHAobmV3IFJlZ0V4cChGbigpLFxcXCJ1XFxcIikpLFp0LnJlZ2V4cCgvWzAtOVxcXFxwe0xldHRlcn1cXFxcd1xcXFxzXy8tXSsvdSkpLm1hbnkoKS5tYXAobj0+bi5qb2luKFxcXCJcXFwiKSksTWY9WnQucmVnZXhwKC9bXjAtOVxcXFx3XFxcXHB7TGV0dGVyfV0qL3UpLnRoZW4oQWYpLnNraXAoWnQucmVnZXhwKC9bX1xcXFwqfmBdKi91KSk7ZnVuY3Rpb24genUobil7bGV0IGU9SHUobiwwKTtpZighZSlyZXR1cm47bGV0IHQ9TWYucGFyc2UoZS5rZXkpO2lmKHQuc3RhdHVzKXJldHVybntrZXk6dC52YWx1ZSx2YWx1ZTpuLnN1YnN0cmluZyhlLnZhbHVlSW5kZXgpLnRyaW0oKSxzdGFydDowLHN0YXJ0VmFsdWU6ZS52YWx1ZUluZGV4LGVuZDpuLmxlbmd0aH19dmFyIF9mPS9cXFxcdXsyNzk1fVxcXFxzKihcXFxcZHs0fS1cXFxcZHsyfS1cXFxcZHsyfSkvdSxCZj0vKD86XFxcXHV7MUY0QzV9fFxcXFx1ezFGNEM2fXxcXFxcdXsxRjVEM31cXFxcdXtGRTBGfT8pXFxcXHMqKFxcXFxkezR9LVxcXFxkezJ9LVxcXFxkezJ9KS91LFBmPS9cXFxcdXsyNzA1fVxcXFxzKihcXFxcZHs0fS1cXFxcZHsyfS1cXFxcZHsyfSkvdSwkZj0vW1xcXFx1ezIzRjN9XFxcXHV7MjMxQn1dXFxcXHMqKFxcXFxkezR9LVxcXFxkezJ9LVxcXFxkezJ9KS91LFJmPS9cXFxcdXsxRjZFQn1cXFxccyooXFxcXGR7NH0tXFxcXGR7Mn0tXFxcXGR7Mn0pL3UsamY9W3tyZWdleDpfZixrZXk6XFxcImNyZWF0ZWRcXFwifSx7cmVnZXg6UmYsa2V5OlxcXCJzdGFydFxcXCJ9LHtyZWdleDokZixrZXk6XFxcInNjaGVkdWxlZFxcXCJ9LHtyZWdleDpCZixrZXk6XFxcImR1ZVxcXCJ9LHtyZWdleDpQZixrZXk6XFxcImNvbXBsZXRpb25cXFwifV07ZnVuY3Rpb24gcWYobil7bGV0IGU9W107Zm9yKGxldHtyZWdleDp0LGtleTpyfW9mIGpmKXtsZXQgcz10LmV4ZWMobik7cyYmZS5wdXNoKHtrZXk6cix2YWx1ZTpzWzFdLHN0YXJ0OnMuaW5kZXgsc3RhcnRWYWx1ZTpzLmluZGV4KzEsZW5kOnMuaW5kZXgrc1swXS5sZW5ndGgsd3JhcHBpbmc6XFxcImVtb2ppLXNob3J0aGFuZFxcXCJ9KX1yZXR1cm4gZX12YXIgUnM7KHQ9PntmdW5jdGlvbiBuKHIpe2xldCBzPWV0LndyYXBWYWx1ZShlKTtpZighcylyZXR1cm4gbnVsbDtzd2l0Y2gocy50eXBlKXtjYXNlXFxcInN0cmluZ1xcXCI6Y2FzZVxcXCJib29sZWFuXFxcIjpjYXNlXFxcIm51bGxcXFwiOmNhc2VcXFwibnVtYmVyXFxcIjpyZXR1cm4gcy52YWx1ZTtjYXNlXFxcImFycmF5XFxcIjpyZXR1cm4gcy52YWx1ZS5tYXAobik7Y2FzZVxcXCJkYXRlXFxcIjpyZXR1cm4gcy52YWx1ZS50b0lTTygpO2Nhc2VcXFwiZHVyYXRpb25cXFwiOnJldHVybiBzLnZhbHVlLnRvSHVtYW4oKTtjYXNlXFxcImZ1bmN0aW9uXFxcIjpyZXR1cm4gbnVsbDtjYXNlXFxcImxpbmtcXFwiOnJldHVybiBzLnZhbHVlLm1hcmtkb3duKCk7Y2FzZVxcXCJvYmplY3RcXFwiOnJldHVybiBHdChzLnZhbHVlLG4pfX10LnlhbWw9bjtmdW5jdGlvbiBlKHIpe2lmKHI9PW51bGwpcmV0dXJuIG51bGw7aWYodHlwZW9mIHI9PVxcXCJvYmplY3RcXFwiKWlmKEFycmF5LmlzQXJyYXkocikpe2xldCBzPVtdO2ZvcihsZXQgaSBvZiByKXMucHVzaChlKGkpKTtyZXR1cm4gc31lbHNle2lmKHIgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBxLmZyb21KU0RhdGUocik7e2xldCBzPXIsaT17fTtmb3IobGV0IG8gaW4gcylpW29dPWUoc1tvXSk7cmV0dXJuIGl9fWVsc2V7aWYodHlwZW9mIHI9PVxcXCJudW1iZXJcXFwiKXJldHVybiByO2lmKHR5cGVvZiByPT1cXFwiYm9vbGVhblxcXCIpcmV0dXJuIHI7aWYodHlwZW9mIHI9PVxcXCJzdHJpbmdcXFwiKXtsZXQgcz16LmRhdGUucGFyc2Uocik7aWYocy5zdGF0dXMpcmV0dXJuIHMudmFsdWU7bGV0IGk9ei5kdXJhdGlvbi5wYXJzZShyKTtpZihpLnN0YXR1cylyZXR1cm4gaS52YWx1ZTtsZXQgbz16LmxpbmsucGFyc2Uocik7cmV0dXJuIG8uc3RhdHVzP28udmFsdWU6cn19cmV0dXJuIG51bGx9dC5saXRlcmFsPWV9KShSc3x8KFJzPXt9KSk7dmFyIFZmPS9gYGB5YW1sOmRhdGEvaSxVZj0vXig/OmBgYHx+fn4pKC4qKSQvaW0sS2Y9bmV3IFJlZ0V4cChcXFwiXltcXFxcXFxcXHM+XSooXFxcXFxcXFxkK1xcXFxcXFxcLnxcXFxcXFxcXGQrXFxcXFxcXFwpfFxcXFxcXFxcKnwtfFxcXFxcXFxcKylcXFxcXFxcXHMqKFxcXFxcXFxcWy57MCwxfVxcXFxcXFxcXSk/XFxcXFxcXFxzKiguKilcXFwiLFxcXCJtc3VcXFwiKTtmdW5jdGlvbiBadShuLGUsdCxyKXtsZXR7bGluZXM6cyxtZXRhZGF0YTppLGZyb250bWF0dGVyOm8sc2VjdGlvbnM6YX09Rm8obixlLHQpO3JldHVybiBuZXcgcG8obixyLHMubGVuZ3RoLGksYSxvKS5idWlsZCgpfWZ1bmN0aW9uIEZvKG4sZSx0KXt2YXIgYixnLEQsVCxJLE4seSx3LHYseCxDLFYsaixZLGVlLHVlO2xldCByPXQuZnJvbnRtYXR0ZXI/R3UodC5mcm9udG1hdHRlcik6dm9pZCAwLHM9ZS5zcGxpdCgvXFxcXHJcXFxcbnxcXFxccnxcXFxcbi8pLGk9bmV3ICRlLG89W10sYT0oYj10LmhlYWRpbmdzKSE9bnVsbD9iOltdO2Euc29ydCgoTywkKT0+Ty5wb3NpdGlvbi5zdGFydC5saW5lLSQucG9zaXRpb24uc3RhcnQubGluZSk7bGV0IHU9bmV3IGpzLmRlZmF1bHQodm9pZCAwLChPLCQpPT5PLSQpO2ZvcihsZXQgTz0wO088YS5sZW5ndGg7TysrKXtsZXQgJD1hW09dLFE9JC5wb3NpdGlvbi5zdGFydC5saW5lLGllPU89PWEubGVuZ3RoLTE/cy5sZW5ndGg6YVtPKzFdLnBvc2l0aW9uLnN0YXJ0LmxpbmUsRGU9bmV3IF9yKFEsaWUsJC5oZWFkaW5nLCQubGV2ZWwsTysxKTt1LnNldChRLERlKX1pZih1LnNpemU9PTApe2lmKCFZdShzLDAscy5sZW5ndGgpKXtsZXQgTz1uZXcgX3IoMCxzLmxlbmd0aCxFbihuKSwxLDApO3Uuc2V0KDAsTyl9fWVsc2V7bGV0IE89KGc9dS5nZXRQYWlyT3JOZXh0SGlnaGVyKDApKT09bnVsbD92b2lkIDA6Z1sxXTtpZihPLnN0YXJ0PjAmJiFZdShzLDAsTy5zdGFydCkpe2xldCAkPW5ldyBfcigwLE8uc3RhcnQsRW4obiksMSwwKTt1LnNldCgwLCQpfX1sZXQgbD1uZXcganMuZGVmYXVsdCh2b2lkIDAsKE8sJCk9Pk8tJCksZj0xO2ZvcihsZXQgTyBvZiB0LnNlY3Rpb25zfHxbXSl7aWYoTy50eXBlPT09XFxcImhlYWRpbmdcXFwiKWNvbnRpbnVlO2xldCAkPU8ucG9zaXRpb24uc3RhcnQubGluZSxRPU8ucG9zaXRpb24uZW5kLmxpbmUrMSxpZT1zWyRdO2lmKE8udHlwZT09PVxcXCJsaXN0XFxcIilsLnNldCgkLG5ldyBEbygkLFEsZisrLE8uaWQpKTtlbHNlIGlmKE8udHlwZT09XFxcImNvZGVcXFwiJiZWZi50ZXN0KGllKSl7bGV0IERlPXMuc2xpY2UoJCsxLFEtMSkuam9pbihgXFxuYCkucmVwbGFjZSgvXFxcXHQvZ20sXFxcIiAgXFxcIiksUmU9R3UoY28oRGUpKTtsLnNldCgkLG5ldyB5bygkLFEsZisrLFJlLE8uaWQpKX1lbHNlIGlmKE8udHlwZT09PVxcXCJjb2RlXFxcIil7bGV0IERlPWllPT1udWxsP3ZvaWQgMDppZS5tYXRjaChVZik7aWYoIURlKWwuc2V0KCQsbmV3IHFzKCQsUSxmKyssW10sXFxcImluZGVudFxcXCIsJCxRLE8uaWQpKTtlbHNle2xldCBSZT1EZS5sZW5ndGg+MSYmRGVbMV0/RGVbMV0uc3BsaXQoXFxcIixcXFwiKTpbXTtsLnNldCgkLG5ldyBxcygkLFEsZisrLFJlLFxcXCJmZW5jZWRcXFwiLCQrMSxRLTEsTy5pZCkpfX1lbHNlIGwuc2V0KCQsbmV3IGdvKCQsUSxmKyssTy50eXBlLE8uaWQpKX1mb3IobGV0IE8gb2YgbC52YWx1ZXMoKSkoRD1jdChPLnN0YXJ0LHUpKT09bnVsbHx8RC5ibG9jayhPKTtsZXQgZD0vXltcXFxcdFxcXFxmXFxcXHYgXSpbXFxcXC0rXFxcXCpdXFxcXHMoXFxcXFsuXFxcXF1cXFxccyk/LyxtPS9eKD4/XFxcXHM/KSooXFxcXHR8XFxcXHMpKi9nLGg9bmV3IGpzLmRlZmF1bHQodm9pZCAwLChPLCQpPT5PLSQpO2ZvcihsZXQgTyBvZiB0Lmxpc3RJdGVtc3x8W10pe2xldCAkPXMuc2xpY2UoTy5wb3NpdGlvbi5zdGFydC5saW5lLE8ucG9zaXRpb24uZW5kLmxpbmUrMSkuam9pbihgXFxuYCksUT0kPT1udWxsP3ZvaWQgMDokLm1hdGNoKEtmKSxpZSxEZTtRJiYoaWU9UVsxXSxEZT1RWzNdKTtsZXQgUmU9bmV3IGJvKE8ucG9zaXRpb24uc3RhcnQubGluZSxPLnBvc2l0aW9uLmVuZC5saW5lKzEsTy5wYXJlbnQsaWUsTy5pZCxPLnRhc2ssRGUpO2guc2V0KFJlLnN0YXJ0LFJlKX1mb3IobGV0IE8gb2YgaC52YWx1ZXMoKSlpZihPLnBhcmVudExpbmU8MCl7bGV0ICQ9bC5nZXQoLU8ucGFyZW50TGluZSk7aWYoISR8fCQudHlwZSE9PVxcXCJsaXN0XFxcIiljb250aW51ZTskLml0ZW1zLnB1c2goTyl9ZWxzZShUPWguZ2V0KE8ucGFyZW50TGluZSkpPT1udWxsfHxULmVsZW1lbnRzLnB1c2goTyk7Zm9yKGxldCBPIG9mKEk9dC50YWdzKSE9bnVsbD9JOltdKXtsZXQgJD1PLnRhZy5zdGFydHNXaXRoKFxcXCIjXFxcIik/Ty50YWc6XFxcIiNcXFwiK08udGFnLFE9Ty5wb3NpdGlvbi5zdGFydC5saW5lO2kudGFnKCQpLChOPWN0KFEsdSkpPT1udWxsfHxOLm1ldGFkYXRhLnRhZygkKSwoeT1jdChRLGwpKT09bnVsbHx8eS5tZXRhZGF0YS50YWcoJCksKHc9Y3QoUSxoKSk9PW51bGx8fHcubWV0YWRhdGEudGFnKCQpfWlmKHQuZnJvbnRtYXR0ZXIpZm9yKGxldCBPIG9mIFdmKHQuZnJvbnRtYXR0ZXIpKXtsZXQgJD1PLnN0YXJ0c1dpdGgoXFxcIiNcXFwiKT9POlxcXCIjXFxcIitPO2kudGFnKCQpfWZvcihsZXQgTyBvZih2PXQubGlua3MpIT1udWxsP3Y6W10pe2xldCAkPU9lLmluZmVyKE8ubGluayksUT1PLnBvc2l0aW9uLnN0YXJ0LmxpbmU7aS5saW5rKCQpLCh4PWN0KFEsdSkpPT1udWxsfHx4Lm1ldGFkYXRhLmxpbmsoJCksKEM9Y3QoUSxsKSk9PW51bGx8fEMubWV0YWRhdGEubGluaygkKSwoVj1jdChRLGgpKT09bnVsbHx8Vi5tZXRhZGF0YS5saW5rKCQpfWZvcihsZXQgTyBvZihqPXQuZnJvbnRtYXR0ZXJMaW5rcykhPW51bGw/ajpbXSlpLmxpbmsoT2UuaW5mZXIoTy5saW5rLCExLE8uZGlzcGxheVRleHQpKTtmb3IobGV0IE8gb2YgRW8ocykpe2xldCAkPU8ucG9zaXRpb24ubGluZTtpLmlubGluZUZpZWxkKE8pLChZPWN0KCQsdSkpPT1udWxsfHxZLm1ldGFkYXRhLmlubGluZUZpZWxkKE8pLChlZT1jdCgkLGwpKT09bnVsbHx8ZWUubWV0YWRhdGEuaW5saW5lRmllbGQoTyksKHVlPWN0KCQsaCkpPT1udWxsfHx1ZS5tZXRhZGF0YS5pbmxpbmVGaWVsZChPKX1yZXR1cm4gby5wdXNoKC4uLnUudmFsdWVzKCkpLHtsaW5lczpzLGZyb250bWF0dGVyOnIsbWV0YWRhdGE6aSxzZWN0aW9uczpvfX1mdW5jdGlvbiBZdShuLGUsdCl7Zm9yKGxldCByPWU7cjx0O3IrKylpZihuW3JdLnRyaW0oKSE9PVxcXCJcXFwiKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uKkVvKG4pe2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgdD1uW2VdO2lmKHQubGVuZ3RoPjMyNzY4fHwhdC5pbmNsdWRlcyhcXFwiOjpcXFwiKSljb250aW51ZTtsZXQgcj1KdSh0KTtpZihyLmxlbmd0aD4wKWZvcihsZXQgcyBvZiByKXlpZWxkICRzKHMsZSk7ZWxzZXtsZXQgcz16dSh0KTtzJiYoeWllbGQgJHMocyxlKSl9fX1mdW5jdGlvbiBHdShuKXtsZXQgZT17fTtmb3IobGV0IHQgb2YgT2JqZWN0LmtleXMobikpe2xldCByPW5bdF07ZVt0LnRvTG93ZXJDYXNlKCldPXtrZXk6dCx2YWx1ZTpfbi5qc29uKFJzLmxpdGVyYWwocikpLHJhdzpyfX1yZXR1cm4gZX1mdW5jdGlvbiBjdChuLGUpe3ZhciByO2xldCB0PShyPWUuZ2V0UGFpck9yTmV4dExvd2VyKG4pKT09bnVsbD92b2lkIDA6clsxXTtpZih0JiZ0LmVuZD49bilyZXR1cm4gdH1mdW5jdGlvbiBXZihuKXtyZXR1cm4gT2JqZWN0LmtleXMobikuZmlsdGVyKHQ9PnQudG9Mb3dlckNhc2UoKT09XFxcInRhZ3NcXFwifHx0LnRvTG93ZXJDYXNlKCk9PVxcXCJ0YWdcXFwiKS5tYXAodD0+UXUoblt0XSwvWyxcXFxcc10rLykpLnJlZHVjZSgodCxyKT0+dC5jb25jYXQociksW10pLm1hcCh0PT50LnN0YXJ0c1dpdGgoXFxcIiNcXFwiKT90OlxcXCIjXFxcIit0KX1mdW5jdGlvbiBRdShuLGUpe3JldHVybiBuPT1udWxsfHxuPT1udWxsP1tdOkFycmF5LmlzQXJyYXkobik/bi5maWx0ZXIodD0+ISF0KS5tYXAodD0+UXUodCxlKSkucmVkdWNlKCh0LHIpPT50LmNvbmNhdChyKSxbXSk6KFxcXCJcXFwiK24pLnNwbGl0KGUpLmZpbHRlcih0PT4hIXQpLm1hcCh0PT50LnRyaW0oKSkuZmlsdGVyKHQ9PnQubGVuZ3RoPjApfXZhciAkZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudGFncz1uZXcgU2V0O3RoaXMubGlua3M9W107dGhpcy5pbmxpbmVGaWVsZHM9e319dGFnKGUpe3RoaXMudGFncy5hZGQoZSl9bGluayhlKXt0aGlzLmxpbmtzLmZpbmQodD0+dC5lcXVhbHMoZSkpfHx0aGlzLmxpbmtzLnB1c2goZSl9aW5saW5lRmllbGQoZSl7bGV0IHQ9ZS5rZXkudG9Mb3dlckNhc2UoKTtPYmplY3Qua2V5cyh0aGlzLmlubGluZUZpZWxkcykuc29tZShyPT5yLnRvTG93ZXJDYXNlKCk9PXQpfHwodGhpcy5pbmxpbmVGaWVsZHNbdF09ZSl9ZmluaXNoVGFncygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMudGFncyl9ZmluaXNoTGlua3MoKXtyZXR1cm4gdGhpcy5saW5rcy5tYXAoZT0+ZS50b09iamVjdCgpKX1maW5pc2hJbmxpbmVGaWVsZHMoKXtyZXR1cm4gR3QodGhpcy5pbmxpbmVGaWVsZHMsV3UpfX0scG89Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHIscyxpLG8pe3RoaXMucGF0aD1lO3RoaXMuc3RhdHM9dDt0aGlzLmxlbmd0aD1yO3RoaXMubWV0YWRhdGE9czt0aGlzLnNlY3Rpb25zPWk7dGhpcy5mcm9udG1hdHRlcj1vfWJ1aWxkKCl7cmV0dXJueyRwYXRoOnRoaXMucGF0aCwkY3RpbWU6dGhpcy5zdGF0cy5jdGltZSwkbXRpbWU6dGhpcy5zdGF0cy5tdGltZSwkc2l6ZTp0aGlzLnN0YXRzLnNpemUsJGV4dGVuc2lvbjpWYSh0aGlzLnBhdGgpLCRwb3NpdGlvbjp7c3RhcnQ6MCxlbmQ6dGhpcy5sZW5ndGh9LCR0YWdzOnRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLCRsaW5rczp0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksJGluZmllbGRzOnRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksJHNlY3Rpb25zOnRoaXMuc2VjdGlvbnMubWFwKGU9PmUuYnVpbGQoKSksJGZyb250bWF0dGVyOnRoaXMuZnJvbnRtYXR0ZXJ9fX0sX3I9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHIscyxpKXt0aGlzLnN0YXJ0PWU7dGhpcy5lbmQ9dDt0aGlzLnRpdGxlPXI7dGhpcy5sZXZlbD1zO3RoaXMub3JkaW5hbD1pO3RoaXMuYmxvY2tzPVtdO3RoaXMubWV0YWRhdGE9bmV3ICRlfWJsb2NrKGUpe3RoaXMuYmxvY2tzLnB1c2goZSl9YnVpbGQoKXtyZXR1cm57JHRpdGxlOnRoaXMudGl0bGUsJG9yZGluYWw6dGhpcy5vcmRpbmFsLCRsZXZlbDp0aGlzLmxldmVsLCR0YWdzOnRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLCRpbmZpZWxkczp0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLCRsaW5rczp0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksJHBvc2l0aW9uOntzdGFydDp0aGlzLnN0YXJ0LGVuZDp0aGlzLmVuZH0sJGJsb2Nrczp0aGlzLmJsb2Nrcy5tYXAoZT0+ZS5idWlsZCgpKX19fSxEbz1jbGFzc3tjb25zdHJ1Y3RvcihlLHQscixzKXt0aGlzLnN0YXJ0PWU7dGhpcy5lbmQ9dDt0aGlzLm9yZGluYWw9cjt0aGlzLmJsb2NrSWQ9czt0aGlzLnR5cGU9XFxcImxpc3RcXFwiO3RoaXMubWV0YWRhdGE9bmV3ICRlO3RoaXMuaXRlbXM9W119YnVpbGQoKXtyZXR1cm57JG9yZGluYWw6dGhpcy5vcmRpbmFsLCRwb3NpdGlvbjp7c3RhcnQ6dGhpcy5zdGFydCxlbmQ6dGhpcy5lbmR9LCRpbmZpZWxkczp0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLCR0YWdzOnRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLCRsaW5rczp0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksJHR5cGU6XFxcImxpc3RcXFwiLCRibG9ja0lkOnRoaXMuYmxvY2tJZCwkZWxlbWVudHM6dGhpcy5pdGVtcy5tYXAoZT0+ZS5idWlsZCgpKX19fSxxcz1jbGFzc3tjb25zdHJ1Y3RvcihlLHQscixzLGksbyxhLHUpe3RoaXMuc3RhcnQ9ZTt0aGlzLmVuZD10O3RoaXMub3JkaW5hbD1yO3RoaXMubGFuZ3VhZ2VzPXM7dGhpcy5zdHlsZT1pO3RoaXMuY29udGVudFN0YXJ0PW87dGhpcy5jb250ZW50RW5kPWE7dGhpcy5ibG9ja0lkPXU7dGhpcy50eXBlPVxcXCJjb2RlYmxvY2tcXFwiO3RoaXMubWV0YWRhdGE9bmV3ICRlfWJ1aWxkKCl7cmV0dXJueyR0eXBlOlxcXCJjb2RlYmxvY2tcXFwiLCRvcmRpbmFsOnRoaXMub3JkaW5hbCwkcG9zaXRpb246e3N0YXJ0OnRoaXMuc3RhcnQsZW5kOnRoaXMuZW5kfSwkaW5maWVsZHM6dGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSwkdGFnczp0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSwkbGlua3M6dGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLCRibG9ja0lkOnRoaXMuYmxvY2tJZCwkbGFuZ3VhZ2VzOnRoaXMubGFuZ3VhZ2VzLCRzdHlsZTp0aGlzLnN0eWxlLCRjb250ZW50UG9zaXRpb246e3N0YXJ0OnRoaXMuY29udGVudFN0YXJ0LGVuZDp0aGlzLmNvbnRlbnRFbmR9fX19LHlvPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxyLHMsaSl7dGhpcy5zdGFydD1lO3RoaXMuZW5kPXQ7dGhpcy5vcmRpbmFsPXI7dGhpcy5kYXRhPXM7dGhpcy5ibG9ja0lkPWk7dGhpcy50eXBlPVxcXCJkYXRhYmxvY2tcXFwiO3RoaXMubWV0YWRhdGE9bmV3ICRlfWJ1aWxkKCl7cmV0dXJueyR0eXBlOlxcXCJkYXRhYmxvY2tcXFwiLCRvcmRpbmFsOnRoaXMub3JkaW5hbCwkcG9zaXRpb246e3N0YXJ0OnRoaXMuc3RhcnQsZW5kOnRoaXMuZW5kfSwkaW5maWVsZHM6dGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSwkdGFnczp0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSwkbGlua3M6dGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLCRibG9ja0lkOnRoaXMuYmxvY2tJZCwkZGF0YTp0aGlzLmRhdGF9fX0sZ289Y2xhc3N7Y29uc3RydWN0b3IoZSx0LHIscyxpKXt0aGlzLnN0YXJ0PWU7dGhpcy5lbmQ9dDt0aGlzLm9yZGluYWw9cjt0aGlzLnR5cGU9czt0aGlzLmJsb2NrSWQ9aTt0aGlzLm1ldGFkYXRhPW5ldyAkZX1idWlsZCgpe3JldHVybnskdHlwZTp0aGlzLnR5cGUsJG9yZGluYWw6dGhpcy5vcmRpbmFsLCRwb3NpdGlvbjp7c3RhcnQ6dGhpcy5zdGFydCxlbmQ6dGhpcy5lbmR9LCRpbmZpZWxkczp0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLCR0YWdzOnRoaXMubWV0YWRhdGEuZmluaXNoVGFncygpLCRsaW5rczp0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksJGJsb2NrSWQ6dGhpcy5ibG9ja0lkfX19LGJvPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxyLHMsaSxvLGEpe3RoaXMuc3RhcnQ9ZTt0aGlzLmVuZD10O3RoaXMucGFyZW50TGluZT1yO3RoaXMuc3ltYm9sPXM7dGhpcy5ibG9ja0lkPWk7dGhpcy5zdGF0dXM9bzt0aGlzLnRleHQ9YTt0aGlzLm1ldGFkYXRhPW5ldyAkZTt0aGlzLmVsZW1lbnRzPVtdfWJ1aWxkKCl7cmV0dXJueyRwYXJlbnRMaW5lOnRoaXMucGFyZW50TGluZSwkcG9zaXRpb246e3N0YXJ0OnRoaXMuc3RhcnQsZW5kOnRoaXMuZW5kfSwkYmxvY2tJZDp0aGlzLmJsb2NrSWQsJGVsZW1lbnRzOnRoaXMuZWxlbWVudHMubWFwKGU9PmUuYnVpbGQoKSksJHR5cGU6dGhpcy5zdGF0dXM/XFxcInRhc2tcXFwiOlxcXCJsaXN0XFxcIiwkaW5maWVsZHM6dGhpcy5tZXRhZGF0YS5maW5pc2hJbmxpbmVGaWVsZHMoKSwkdGFnczp0aGlzLm1ldGFkYXRhLmZpbmlzaFRhZ3MoKSwkbGlua3M6dGhpcy5tZXRhZGF0YS5maW5pc2hMaW5rcygpLCRzdGF0dXM6dGhpcy5zdGF0dXMsJHN5bWJvbDp0aGlzLnN5bWJvbCwkdGV4dDp0aGlzLnRleHR9fX07ZnVuY3Rpb24gWHUobixlLHQscil7dmFyIG87bGV0IHM9bmV3IFRvKG4sciksaT1KU09OLnBhcnNlKGUpO2ZvcihsZXQgYSBvZiBpLm5vZGVzKWlmKGEudHlwZSE9XFxcImdyb3VwXFxcIilpZihhLnR5cGU9PVxcXCJ0ZXh0XFxcIil7bGV0e2Zyb250bWF0dGVyOnUsbWV0YWRhdGE6bCxsaW5lczpmLHNlY3Rpb25zOmR9PUZvKG4sYS50ZXh0LHQuY2FjaGVzW2EuaWRdKSxtPW5ldyBWcyhuLGEuaWQsYSx1KTtkLmZvckVhY2goaD0+bS5zZWN0aW9uKGgpKSxzLmNhcmQobSk7Zm9yKGxldCBoIGluIGwudGFncylzLm1ldGFkYXRhLnRhZyhoKTtmb3IobGV0IGggb2Yobz1sLmxpbmtzKSE9bnVsbD9vOltdKXMubWV0YWRhdGEubGluayhoKTtmb3IobGV0IGggb2YgRW8oZikpcy5tZXRhZGF0YS5pbmxpbmVGaWVsZChoKX1lbHNle2xldCB1PW5ldyBWcyhuLGEuaWQsYSk7cy5jYXJkKHUpfXJldHVybiBzLmJ1aWxkKCl9dmFyIHdvPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnBhdGg9ZTt0aGlzLmlkPXQ7dGhpcy5ub2RlSnNvbj1yO3RoaXMubWV0YWRhdGE9bmV3ICRlfWJ1aWxkKCl7cmV0dXJueyRmaWxlOnRoaXMucGF0aCwkaWQ6dGhpcy5pZCwkcG9zaXRpb246e3g6dGhpcy5ub2RlSnNvbi54LHk6dGhpcy5ub2RlSnNvbi55fSwkZGltZW5zaW9uczp7d2lkdGg6dGhpcy5ub2RlSnNvbi53aWR0aCxoZWlnaHQ6dGhpcy5ub2RlSnNvbi5oZWlnaHR9LCRjb2xvcjp0aGlzLm5vZGVKc29uLmNvbG9yLCRsaW5rOk9lLmZpbGUodGhpcy5wYXRoKS53aXRoQmxvY2sodGhpcy5pZCkudG9PYmplY3QoKX19fSxWcz1jbGFzcyBleHRlbmRzIHdve2NvbnN0cnVjdG9yKHQscixzLGkpe3N1cGVyKHQscixzKTt0aGlzLnBhdGg9dDt0aGlzLmlkPXI7dGhpcy5ub2RlSnNvbj1zO3RoaXMuZnJvbnRtYXR0ZXI9aTt0aGlzLnNlY3Rpb25zPVtdfXNlY3Rpb24odCl7cmV0dXJuIHRoaXMuc2VjdGlvbnMucHVzaCh0KSx0fWJ1aWxkKCl7c3dpdGNoKHRoaXMubm9kZUpzb24udHlwZSl7Y2FzZVxcXCJ0ZXh0XFxcIjpyZXR1cm4geWUoUih7fSxzdXBlci5idWlsZCgpKSx7JGluZmllbGRzOnRoaXMubWV0YWRhdGEuZmluaXNoSW5saW5lRmllbGRzKCksJGZyb250bWF0dGVyOnRoaXMuZnJvbnRtYXR0ZXIsJHNlY3Rpb25zOnRoaXMuc2VjdGlvbnMubWFwKHQ9PnQuYnVpbGQoKSksJHRhZ3M6dGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksJGxpbmtzOnRoaXMubWV0YWRhdGEuZmluaXNoTGlua3MoKSwkdHlwZTpcXFwidGV4dC1jYXJkXFxcIiwkY29sb3I6dGhpcy5ub2RlSnNvbi5jb2xvcn0pO2Nhc2VcXFwiZmlsZVxcXCI6cmV0dXJuIHllKFIoe30sc3VwZXIuYnVpbGQoKSkseyRsaW5rZWRGaWxlOnRoaXMubm9kZUpzb24uZmlsZX0pO2Nhc2VcXFwibGlua1xcXCI6cmV0dXJuIHllKFIoe30sc3VwZXIuYnVpbGQoKSkseyR1cmw6dGhpcy5ub2RlSnNvbi51cmx9KX19fSxUbz1jbGFzc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMucGF0aD1lO3RoaXMuc3RhdHM9dDt0aGlzLmNhcmRzPVtdO3RoaXMubWV0YWRhdGE9bmV3ICRlfWNhcmQoZSl7cmV0dXJuIHRoaXMuY2FyZHMucHVzaChlKSxlfWJ1aWxkKCl7cmV0dXJueyRjYXJkczp0aGlzLmNhcmRzLm1hcChlPT5lLmJ1aWxkKCkpLCRjdGltZTp0aGlzLnN0YXRzLmN0aW1lLCRtdGltZTp0aGlzLnN0YXRzLm10aW1lLCRpbmZpZWxkczp0aGlzLm1ldGFkYXRhLmZpbmlzaElubGluZUZpZWxkcygpLCRsaW5rczp0aGlzLm1ldGFkYXRhLmZpbmlzaExpbmtzKCksJHRhZ3M6dGhpcy5tZXRhZGF0YS5maW5pc2hUYWdzKCksJHBhdGg6dGhpcy5wYXRoLCRzaXplOnRoaXMuc3RhdHMuc2l6ZX19fTtvbm1lc3NhZ2U9YXN5bmMgbj0+e3RyeXtsZXQgZT1uLmRhdGE7aWYoZS50eXBlPT09XFxcIm1hcmtkb3duXFxcIil7bGV0IHQ9WnUoZS5wYXRoLGUuY29udGVudHMsZS5tZXRhZGF0YSxlLnN0YXQpO3Bvc3RNZXNzYWdlKHt0eXBlOlxcXCJtYXJrZG93blxcXCIscmVzdWx0OnR9KX1lbHNlIGlmKGUudHlwZT09PVxcXCJjYW52YXNcXFwiKXtsZXQgdD1YdShlLnBhdGgsZS5jb250ZW50cyxlLmluZGV4LGUuc3RhdCk7cG9zdE1lc3NhZ2Uoe3R5cGU6XFxcImNhbnZhc1xcXCIscmVzdWx0OnR9KX1lbHNlIHBvc3RNZXNzYWdlKHskZXJyb3I6XFxcIlVuc3VwcG9ydGVkIGltcG9ydCBtZXRob2QuXFxcIn0pfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoYERhdGFjb3JlIEluZGV4ZXIgZmFpbGVkIHRvIGluZGV4ICR7bi5kYXRhLnBhdGh9OiAke2V9YCkscG9zdE1lc3NhZ2UoeyRlcnJvcjplLm1lc3NhZ2V9KX19O1xcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXdvZ0lDSjJaWEp6YVc5dUlqb2dNeXdLSUNBaWMyOTFjbU5sY3lJNklGc2lMaTR2TGk0dmNHRnljMmx0Ylc5dUwySjFhV3hrTDNCaGNuTnBiVzF2Ymk1MWJXUXViV2x1TG1weklpd2dJaTR1THk0dUwzTnZjblJsWkMxaWRISmxaUzlpSzNSeVpXVXVhbk1pTENBaUxpNHZMaTR2YkhWNGIyNHZjM0pqTDJWeWNtOXljeTVxY3lJc0lDSXVMaTh1TGk5c2RYaHZiaTl6Y21NdmFXMXdiQzltYjNKdFlYUnpMbXB6SWl3Z0lpNHVMeTR1TDJ4MWVHOXVMM055WXk5cGJYQnNMM1YwYVd3dWFuTWlMQ0FpTGk0dkxpNHZiSFY0YjI0dmMzSmpMMmx0Y0d3dlpXNW5iR2x6YUM1cWN5SXNJQ0l1TGk4dUxpOXNkWGh2Ymk5emNtTXZhVzF3YkM5bWIzSnRZWFIwWlhJdWFuTWlMQ0FpTGk0dkxpNHZiSFY0YjI0dmMzSmpMMmx0Y0d3dmFXNTJZV3hwWkM1cWN5SXNJQ0l1TGk4dUxpOXNkWGh2Ymk5emNtTXZlbTl1WlM1cWN5SXNJQ0l1TGk4dUxpOXNkWGh2Ymk5emNtTXZlbTl1WlhNdmMzbHpkR1Z0V205dVpTNXFjeUlzSUNJdUxpOHVMaTlzZFhodmJpOXpjbU12ZW05dVpYTXZTVUZPUVZwdmJtVXVhbk1pTENBaUxpNHZMaTR2YkhWNGIyNHZjM0pqTDNwdmJtVnpMMlpwZUdWa1QyWm1jMlYwV205dVpTNXFjeUlzSUNJdUxpOHVMaTlzZFhodmJpOXpjbU12ZW05dVpYTXZhVzUyWVd4cFpGcHZibVV1YW5NaUxDQWlMaTR2TGk0dmJIVjRiMjR2YzNKakwybHRjR3d2ZW05dVpWVjBhV3d1YW5NaUxDQWlMaTR2TGk0dmJIVjRiMjR2YzNKakwzTmxkSFJwYm1kekxtcHpJaXdnSWk0dUx5NHVMMngxZUc5dUwzTnlZeTlwYlhCc0wyeHZZMkZzWlM1cWN5SXNJQ0l1TGk4dUxpOXNkWGh2Ymk5emNtTXZhVzF3YkM5eVpXZGxlRkJoY25ObGNpNXFjeUlzSUNJdUxpOHVMaTlzZFhodmJpOXpjbU12WkhWeVlYUnBiMjR1YW5NaUxDQWlMaTR2TGk0dmJIVjRiMjR2YzNKakwybHVkR1Z5ZG1Gc0xtcHpJaXdnSWk0dUx5NHVMMngxZUc5dUwzTnlZeTlwYm1adkxtcHpJaXdnSWk0dUx5NHVMMngxZUc5dUwzTnlZeTlwYlhCc0wyUnBabVl1YW5NaUxDQWlMaTR2TGk0dmJIVjRiMjR2YzNKakwybHRjR3d2WkdsbmFYUnpMbXB6SWl3Z0lpNHVMeTR1TDJ4MWVHOXVMM055WXk5cGJYQnNMM1J2YTJWdVVHRnljMlZ5TG1weklpd2dJaTR1THk0dUwyeDFlRzl1TDNOeVl5OXBiWEJzTDJOdmJuWmxjbk5wYjI1ekxtcHpJaXdnSWk0dUx5NHVMMngxZUc5dUwzTnlZeTlrWVhSbGRHbHRaUzVxY3lJc0lDSXVMaTh1TGk4dUxpOXpjbU12ZFhScGJITXZibTl5YldGc2FYcGxjbk11ZEhNaUxDQWlMaTR2TGk0dlpXMXZhbWt0Y21WblpYZ3ZhVzVrWlhndWJXcHpJaXdnSWk0dUx5NHVMeTR1TDNOeVl5OWxlSEJ5WlhOemFXOXVMMnhwYm1zdWRITWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZibTlrWlhNdmFXUmxiblJwZEhrdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZkbWx6YVhRdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZaRzlqTDJScGNtVmpkR2wyWlhNdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZaRzlqTDJGdVkyaHZjbk11YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdlpHOWpMMkZ3Y0d4NVVtVjJhWFpsY2k1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXViMlJsY3k5MGIwcFRMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDI1dlpHVnpMMDV2WkdVdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZibTlrWlhNdlFXeHBZWE11YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmJtOWtaWE12VTJOaGJHRnlMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDJSdll5OWpjbVZoZEdWT2IyUmxMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDI1dlpHVnpMME52Ykd4bFkzUnBiMjR1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmMzUnlhVzVuYVdaNUwzTjBjbWx1WjJsbWVVTnZiVzFsYm5RdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZjM1J5YVc1bmFXWjVMMlp2YkdSR2JHOTNUR2x1WlhNdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZjM1J5YVc1bmFXWjVMM04wY21sdVoybG1lVk4wY21sdVp5NXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl6ZEhKcGJtZHBabmt2YzNSeWFXNW5hV1o1TG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwzTjBjbWx1WjJsbWVTOXpkSEpwYm1kcFpubFFZV2x5TG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwyeHZaeTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5elkyaGxiV0V2ZVdGdGJDMHhMakV2YldWeVoyVXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2Ym05a1pYTXZZV1JrVUdGcGNsUnZTbE5OWVhBdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZibTlrWlhNdlVHRnBjaTVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5emRISnBibWRwWm5rdmMzUnlhVzVuYVdaNVEyOXNiR1ZqZEdsdmJpNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl1YjJSbGN5OVpRVTFNVFdGd0xtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMM05qYUdWdFlTOWpiMjF0YjI0dmJXRndMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDI1dlpHVnpMMWxCVFV4VFpYRXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2YzJOb1pXMWhMMk52YlcxdmJpOXpaWEV1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmMyTm9aVzFoTDJOdmJXMXZiaTl6ZEhKcGJtY3Vhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2YzJOb1pXMWhMMk52YlcxdmJpOXVkV3hzTG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwzTmphR1Z0WVM5amIzSmxMMkp2YjJ3dWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZjM1J5YVc1bmFXWjVMM04wY21sdVoybG1lVTUxYldKbGNpNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl6WTJobGJXRXZZMjl5WlM5bWJHOWhkQzVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5elkyaGxiV0V2WTI5eVpTOXBiblF1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmMyTm9aVzFoTDJOdmNtVXZjMk5vWlcxaExtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMM05qYUdWdFlTOXFjMjl1TDNOamFHVnRZUzVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5elkyaGxiV0V2ZVdGdGJDMHhMakV2WW1sdVlYSjVMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDNOamFHVnRZUzk1WVcxc0xURXVNUzl3WVdseWN5NXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl6WTJobGJXRXZlV0Z0YkMweExqRXZiMjFoY0M1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXpZMmhsYldFdmVXRnRiQzB4TGpFdlltOXZiQzVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5elkyaGxiV0V2ZVdGdGJDMHhMakV2Wm14dllYUXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2YzJOb1pXMWhMM2xoYld3dE1TNHhMMmx1ZEM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXpZMmhsYldFdmVXRnRiQzB4TGpFdmMyVjBMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDNOamFHVnRZUzk1WVcxc0xURXVNUzkwYVcxbGMzUmhiWEF1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmMyTm9aVzFoTDNsaGJXd3RNUzR4TDNOamFHVnRZUzVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5elkyaGxiV0V2ZEdGbmN5NXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl6WTJobGJXRXZVMk5vWlcxaExtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMM04wY21sdVoybG1lUzl6ZEhKcGJtZHBabmxFYjJOMWJXVnVkQzVxY3lJc0lDSXVMaTh1TGk5NVlXMXNMMkp5YjNkelpYSXZaR2x6ZEM5a2IyTXZSRzlqZFcxbGJuUXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2WlhKeWIzSnpMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDJOdmJYQnZjMlV2Y21WemIyeDJaUzF3Y205d2N5NXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzlqYjIxd2IzTmxMM1YwYVd3dFkyOXVkR0ZwYm5NdGJtVjNiR2x1WlM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOWpiMjF3YjNObEwzVjBhV3d0Wm14dmR5MXBibVJsYm5RdFkyaGxZMnN1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdlkyOXRjRzl6WlM5MWRHbHNMVzFoY0MxcGJtTnNkV1JsY3k1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOWpiMjF3YjNObEwzSmxjMjlzZG1VdFlteHZZMnN0YldGd0xtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMMk52YlhCdmMyVXZjbVZ6YjJ4MlpTMWliRzlqYXkxelpYRXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2WTI5dGNHOXpaUzl5WlhOdmJIWmxMV1Z1WkM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOWpiMjF3YjNObEwzSmxjMjlzZG1VdFpteHZkeTFqYjJ4c1pXTjBhVzl1TG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwyTnZiWEJ2YzJVdlkyOXRjRzl6WlMxamIyeHNaV04wYVc5dUxtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMMk52YlhCdmMyVXZjbVZ6YjJ4MlpTMWliRzlqYXkxelkyRnNZWEl1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdlkyOXRjRzl6WlM5eVpYTnZiSFpsTFdac2IzY3RjMk5oYkdGeUxtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMMk52YlhCdmMyVXZZMjl0Y0c5elpTMXpZMkZzWVhJdWFuTWlMQ0FpTGk0dkxpNHZlV0Z0YkM5aWNtOTNjMlZ5TDJScGMzUXZZMjl0Y0c5elpTOTFkR2xzTFdWdGNIUjVMWE5qWVd4aGNpMXdiM05wZEdsdmJpNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzlqYjIxd2IzTmxMMk52YlhCdmMyVXRibTlrWlM1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOWpiMjF3YjNObEwyTnZiWEJ2YzJVdFpHOWpMbXB6SWl3Z0lpNHVMeTR1TDNsaGJXd3ZZbkp2ZDNObGNpOWthWE4wTDJOdmJYQnZjMlV2WTI5dGNHOXpaWEl1YW5NaUxDQWlMaTR2TGk0dmVXRnRiQzlpY205M2MyVnlMMlJwYzNRdmNHRnljMlV2WTNOMExYWnBjMmwwTG1weklpd2dJaTR1THk0dUwzbGhiV3d2WW5KdmQzTmxjaTlrYVhOMEwzQmhjbk5sTDJOemRDNXFjeUlzSUNJdUxpOHVMaTk1WVcxc0wySnliM2R6WlhJdlpHbHpkQzl3WVhKelpTOXNaWGhsY2k1cWN5SXNJQ0l1TGk4dUxpOTVZVzFzTDJKeWIzZHpaWEl2WkdsemRDOXdZWEp6WlM5c2FXNWxMV052ZFc1MFpYSXVhbk1pTENBaUxpNHZMaTR2ZVdGdGJDOWljbTkzYzJWeUwyUnBjM1F2Y0dGeWMyVXZjR0Z5YzJWeUxtcHpJaXdnSWk0dUx5NHVMM2xoYld3dlluSnZkM05sY2k5a2FYTjBMM0IxWW14cFl5MWhjR2t1YW5NaUxDQWlMaTR2TGk0dkxpNHZjM0pqTDJsdVpHVjRMMmx0Y0c5eWRDOXRZWEpyWkc5M2JpNTBjeUlzSUNJdUxpOHVMaTh1TGk5emNtTXZaWGh3Y21WemMybHZiaTl3WVhKelpYSXVkSE1pTENBaUxpNHZMaTR2TGk0dmMzSmpMMlY0Y0hKbGMzTnBiMjR2YkdsMFpYSmhiQzUwY3lJc0lDSXVMaTh1TGk4dUxpOXpjbU12WVhCcEwzSmxjM1ZzZEM1MGN5SXNJQ0l1TGk4dUxpOHVMaTl6Y21NdlpYaHdjbVZ6YzJsdmJpOW1hV3gwWlhKekxuUnpJaXdnSWk0dUx5NHVMeTR1TDNOeVl5OWxlSEJ5WlhOemFXOXVMMlY0Y0hKbGMzTnBiMjR1ZEhNaUxDQWlMaTR2TGk0dkxpNHZjM0pqTDJsdVpHVjRMMmx0Y0c5eWRDOXBibXhwYm1VdFptbGxiR1F1ZEhNaUxDQWlMaTR2TGk0dkxpNHZjM0pqTDNWMGFXeHpMMlJoZEdFdWRITWlMQ0FpTGk0dkxpNHZMaTR2YzNKakwybHVaR1Y0TDNSNWNHVnpMMnB6YjI0dlkyOXRiVzl1TG5Seklpd2dJaTR1THk0dUx5NHVMM055WXk5cGJtUmxlQzkwZVhCbGN5OTVZVzFzTG5Seklpd2dJaTR1THk0dUx5NHVMM055WXk5cGJtUmxlQzlwYlhCdmNuUXZZMkZ1ZG1GekxuUnpJaXdnSWk0dUx5NHVMeTR1TDNOeVl5OXBibVJsZUM5M1pXSXRkMjl5YTJWeUwybHRjRzl5ZEdWeUxuZHZjbXRsY2k1MGN5SmRMQW9nSUNKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2SUZzaUlXWjFibU4wYVc5dUtHNHNkQ2w3WENKdlltcGxZM1JjSWowOWRIbHdaVzltSUdWNGNHOXlkSE1tSmx3aWIySnFaV04wWENJOVBYUjVjR1Z2WmlCdGIyUjFiR1UvYlc5a2RXeGxMbVY0Y0c5eWRITTlkQ2dwT2x3aVpuVnVZM1JwYjI1Y0lqMDlkSGx3Wlc5bUlHUmxabWx1WlNZbVpHVm1hVzVsTG1GdFpEOWtaV1pwYm1Vb1cxMHNkQ2s2WENKdlltcGxZM1JjSWowOWRIbHdaVzltSUdWNGNHOXlkSE0vWlhod2IzSjBjeTVRWVhKemFXMXRiMjQ5ZENncE9tNHVVR0Z5YzJsdGJXOXVQWFFvS1gwb1hDSjFibVJsWm1sdVpXUmNJaUU5ZEhsd1pXOW1JSE5sYkdZL2MyVnNaanAwYUdsekxHWjFibU4wYVc5dUtDbDdjbVYwZFhKdUlHWjFibU4wYVc5dUtHNHBlM1poY2lCMFBYdDlPMloxYm1OMGFXOXVJSElvWlNsN2FXWW9kRnRsWFNseVpYUjFjbTRnZEZ0bFhTNWxlSEJ2Y25Sek8zWmhjaUIxUFhSYlpWMDllMms2WlN4c09pRXhMR1Y0Y0c5eWRITTZlMzE5TzNKbGRIVnliaUJ1VzJWZExtTmhiR3dvZFM1bGVIQnZjblJ6TEhVc2RTNWxlSEJ2Y25SekxISXBMSFV1YkQwaE1DeDFMbVY0Y0c5eWRITjljbVYwZFhKdUlISXViVDF1TEhJdVl6MTBMSEl1WkQxbWRXNWpkR2x2YmlodUxIUXNaU2w3Y2k1dktHNHNkQ2w4ZkU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaHVMSFFzZTJOdmJtWnBaM1Z5WVdKc1pUb2hNU3hsYm5WdFpYSmhZbXhsT2lFd0xHZGxkRHBsZlNsOUxISXVjajFtZFc1amRHbHZiaWh1S1h0UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29iaXhjSWw5ZlpYTk5iMlIxYkdWY0lpeDdkbUZzZFdVNklUQjlLWDBzY2k1dVBXWjFibU4wYVc5dUtHNHBlM1poY2lCMFBXNG1KbTR1WDE5bGMwMXZaSFZzWlQ5bWRXNWpkR2x2YmlncGUzSmxkSFZ5YmlCdUxtUmxabUYxYkhSOU9tWjFibU4wYVc5dUtDbDdjbVYwZFhKdUlHNTlPM0psZEhWeWJpQnlMbVFvZEN4Y0ltRmNJaXgwS1N4MGZTeHlMbTg5Wm5WdVkzUnBiMjRvYml4MEtYdHlaWFIxY200Z1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHNHNkQ2w5TEhJdWNEMWNJbHdpTEhJb2NpNXpQVEFwZlNoYlpuVnVZM1JwYjI0b2JpeDBMSElwZTF3aWRYTmxJSE4wY21samRGd2lPMloxYm1OMGFXOXVJR1VvYmlsN2FXWW9JU2gwYUdseklHbHVjM1JoYm1ObGIyWWdaU2twY21WMGRYSnVJRzVsZHlCbEtHNHBPM1JvYVhNdVh6MXVmWFpoY2lCMVBXVXVjSEp2ZEc5MGVYQmxPMloxYm1OMGFXOXVJRzhvYml4MEtYdG1iM0lvZG1GeUlISTlNRHR5UEc0N2Npc3JLWFFvY2lsOVpuVnVZM1JwYjI0Z2FTaHVMSFFzY2lsN2NtVjBkWEp1SUdaMWJtTjBhVzl1S0c0c2RDbDdieWgwTG14bGJtZDBhQ3htZFc1amRHbHZiaWh5S1h0dUtIUmJjbDBzY2l4MEtYMHBmU2htZFc1amRHbHZiaWh5TEdVc2RTbDdkRDF1S0hRc2NpeGxMSFVwZlN4eUtTeDBmV1oxYm1OMGFXOXVJR0VvYml4MEtYdHlaWFIxY200Z2FTaG1kVzVqZEdsdmJpaDBMSElzWlN4MUtYdHlaWFIxY200Z2RDNWpiMjVqWVhRb1cyNG9jaXhsTEhVcFhTbDlMRnRkTEhRcGZXWjFibU4wYVc5dUlHWW9iaXgwS1h0MllYSWdjajE3ZGpvd0xHSjFaanAwZlR0eVpYUjFjbTRnYnlodUxHWjFibU4wYVc5dUtDbDdkbUZ5SUc0N2NqMTdkanB5TG5ZOFBERjhLRzQ5Y2k1aWRXWXNibHN3WFQ0K055a3NZblZtT21aMWJtTjBhVzl1S0c0cGUzWmhjaUIwUFdrb1puVnVZM1JwYjI0b2JpeDBMSElzWlNsN2NtVjBkWEp1SUc0dVkyOXVZMkYwS0hJOVBUMWxMbXhsYm1kMGFDMHhQMEoxWm1abGNpNW1jbTl0S0Z0MExEQmRLUzV5WldGa1ZVbHVkREUyUWtVb01DazZaUzV5WldGa1ZVbHVkREUyUWtVb2Npa3BmU3hiWFN4dUtUdHlaWFIxY200Z1FuVm1abVZ5TG1aeWIyMG9ZU2htZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRvYmp3OE1TWTJOVFV6TlNrK1BqaDlMSFFwS1gwb2NpNWlkV1lwZlgwcExISjlablZ1WTNScGIyNGdZeWdwZTNKbGRIVnlibHdpZFc1a1pXWnBibVZrWENJaFBYUjVjR1Z2WmlCQ2RXWm1aWEo5Wm5WdVkzUnBiMjRnY3lncGUybG1LQ0ZqS0NrcGRHaHliM2NnYm1WM0lFVnljbTl5S0Z3aVFuVm1abVZ5SUdkc2IySmhiQ0JrYjJWeklHNXZkQ0JsZUdsemREc2djR3hsWVhObElIVnpaU0IzWldKd1lXTnJJR2xtSUhsdmRTQnVaV1ZrSUhSdklIQmhjbk5sSUVKMVptWmxjbk1nYVc0Z2RHaGxJR0p5YjNkelpYSXVYQ0lwZldaMWJtTjBhVzl1SUd3b2JpbDdjeWdwTzNaaGNpQjBQV2tvWm5WdVkzUnBiMjRvYml4MEtYdHlaWFIxY200Z2JpdDBmU3d3TEc0cE8ybG1LSFFsT0NFOU1DbDBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSlVhR1VnWW1sMGN5QmJYQ0lyYmk1cWIybHVLRndpTENCY0lpa3JYQ0pkSUdGa1pDQjFjQ0IwYnlCY0lpdDBLMXdpSUhkb2FXTm9JR2x6SUc1dmRDQmhiaUJsZG1WdUlHNTFiV0psY2lCdlppQmllWFJsY3pzZ2RHaGxJSFJ2ZEdGc0lITm9iM1ZzWkNCaVpTQmthWFpwYzJsaWJHVWdZbmtnT0Z3aUtUdDJZWElnY2l4MVBYUXZPQ3h2UFNoeVBXWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQnVQalE0ZlN4cEtHWjFibU4wYVc5dUtHNHNkQ2w3Y21WMGRYSnVJRzU4ZkNoeUtIUXBQM1E2YmlsOUxHNTFiR3dzYmlrcE8ybG1LRzhwZEdoeWIzY2dibVYzSUVWeWNtOXlLRzhyWENJZ1ltbDBJSEpoYm1kbElISmxjWFZsYzNSbFpDQmxlR05sWldSeklEUTRJR0pwZENBb05pQmllWFJsS1NCT2RXMWlaWElnYldGNExsd2lLVHR5WlhSMWNtNGdibVYzSUdVb1puVnVZM1JwYjI0b2RDeHlLWHQyWVhJZ1pUMTFLM0k3Y21WMGRYSnVJR1UrZEM1c1pXNW5kR2cvZUNoeUxIVXVkRzlUZEhKcGJtY29LU3RjSWlCaWVYUmxjMXdpS1RwaUtHVXNhU2htZFc1amRHbHZiaWh1TEhRcGUzWmhjaUJ5UFdZb2RDeHVMbUoxWmlrN2NtVjBkWEp1ZTJOdmJHdzZiaTVqYjJ4c0xtTnZibU5oZENoeUxuWXBMR0oxWmpweUxtSjFabjE5TEh0amIyeHNPbHRkTEdKMVpqcDBMbk5zYVdObEtISXNaU2w5TEc0cExtTnZiR3dwZlNsOVpuVnVZM1JwYjI0Z2FDaHVMSFFwZTNKbGRIVnliaUJ1WlhjZ1pTaG1kVzVqZEdsdmJpaHlMR1VwZTNKbGRIVnliaUJ6S0Nrc1pTdDBQbkl1YkdWdVozUm9QM2dvWlN4MEsxd2lJR0o1ZEdWeklHWnZjaUJjSWl0dUtUcGlLR1VyZEN4eUxuTnNhV05sS0dVc1pTdDBLU2w5S1gxbWRXNWpkR2x2YmlCd0tHNHNkQ2w3YVdZb1hDSnVkVzFpWlhKY0lpRTlkSGx3Wlc5bUtISTlkQ2w4ZkUxaGRHZ3VabXh2YjNJb2Npa2hQVDF5Zkh4MFBEQjhmSFErTmlsMGFISnZkeUJ1WlhjZ1JYSnliM0lvYml0Y0lpQnlaWEYxYVhKbGN5QnBiblJsWjJWeUlHeGxibWQwYUNCcGJpQnlZVzVuWlNCYk1Dd2dObDB1WENJcE8zWmhjaUJ5ZldaMWJtTjBhVzl1SUdRb2JpbDdjbVYwZFhKdUlIQW9YQ0oxYVc1MFFrVmNJaXh1S1N4b0tGd2lkV2x1ZEVKRktGd2lLMjRyWENJcFhDSXNiaWt1YldGd0tHWjFibU4wYVc5dUtIUXBlM0psZEhWeWJpQjBMbkpsWVdSVlNXNTBRa1VvTUN4dUtYMHBmV1oxYm1OMGFXOXVJSFlvYmlsN2NtVjBkWEp1SUhBb1hDSjFhVzUwVEVWY0lpeHVLU3hvS0Z3aWRXbHVkRXhGS0Z3aUsyNHJYQ0lwWENJc2Jpa3ViV0Z3S0daMWJtTjBhVzl1S0hRcGUzSmxkSFZ5YmlCMExuSmxZV1JWU1c1MFRFVW9NQ3h1S1gwcGZXWjFibU4wYVc5dUlHY29iaWw3Y21WMGRYSnVJSEFvWENKcGJuUkNSVndpTEc0cExHZ29YQ0pwYm5SQ1JTaGNJaXR1SzF3aUtWd2lMRzRwTG0xaGNDaG1kVzVqZEdsdmJpaDBLWHR5WlhSMWNtNGdkQzV5WldGa1NXNTBRa1VvTUN4dUtYMHBmV1oxYm1OMGFXOXVJRzBvYmlsN2NtVjBkWEp1SUhBb1hDSnBiblJNUlZ3aUxHNHBMR2dvWENKcGJuUk1SU2hjSWl0dUsxd2lLVndpTEc0cExtMWhjQ2htZFc1amRHbHZiaWgwS1h0eVpYUjFjbTRnZEM1eVpXRmtTVzUwVEVVb01DeHVLWDBwZldaMWJtTjBhVzl1SUhrb2JpbDdjbVYwZFhKdUlHNGdhVzV6ZEdGdVkyVnZaaUJsZldaMWJtTjBhVzl1SUVVb2JpbDdjbVYwZFhKdVhDSmJiMkpxWldOMElFRnljbUY1WFZ3aVBUMDllMzB1ZEc5VGRISnBibWN1WTJGc2JDaHVLWDFtZFc1amRHbHZiaUIzS0c0cGUzSmxkSFZ5YmlCaktDa21Ka0oxWm1abGNpNXBjMEoxWm1abGNpaHVLWDFtZFc1amRHbHZiaUJpS0c0c2RDbDdjbVYwZFhKdWUzTjBZWFIxY3pvaE1DeHBibVJsZURwdUxIWmhiSFZsT25Rc1puVnlkR2hsYzNRNkxURXNaWGh3WldOMFpXUTZXMTE5ZldaMWJtTjBhVzl1SUhnb2JpeDBLWHR5WlhSMWNtNGdSU2gwS1h4OEtIUTlXM1JkS1N4N2MzUmhkSFZ6T2lFeExHbHVaR1Y0T2kweExIWmhiSFZsT201MWJHd3NablZ5ZEdobGMzUTZiaXhsZUhCbFkzUmxaRHAwZlgxbWRXNWpkR2x2YmlCQ0tHNHNkQ2w3YVdZb0lYUXBjbVYwZFhKdUlHNDdhV1lvYmk1bWRYSjBhR1Z6ZEQ1MExtWjFjblJvWlhOMEtYSmxkSFZ5YmlCdU8zWmhjaUJ5UFc0dVpuVnlkR2hsYzNROVBUMTBMbVoxY25Sb1pYTjBQMloxYm1OMGFXOXVLRzRzZENsN2FXWW9ablZ1WTNScGIyNG9LWHRwWmloMmIybGtJREFoUFQxbExsOXpkWEJ3YjNKMGMxTmxkQ2x5WlhSMWNtNGdaUzVmYzNWd2NHOXlkSE5UWlhRN2RtRnlJRzQ5WENKMWJtUmxabWx1WldSY0lpRTlkSGx3Wlc5bUlGTmxkRHR5WlhSMWNtNGdaUzVmYzNWd2NHOXlkSE5UWlhROWJpeHVmU2dwSmlaQmNuSmhlUzVtY205dEtYdG1iM0lvZG1GeUlISTlibVYzSUZObGRDaHVLU3gxUFRBN2RUeDBMbXhsYm1kMGFEdDFLeXNwY2k1aFpHUW9kRnQxWFNrN2RtRnlJRzg5UVhKeVlYa3Vabkp2YlNoeUtUdHlaWFIxY200Z2J5NXpiM0owS0Nrc2IzMW1iM0lvZG1GeUlHazllMzBzWVQwd08yRThiaTVzWlc1bmRHZzdZU3NyS1dsYmJsdGhYVjA5SVRBN1ptOXlLSFpoY2lCbVBUQTdaangwTG14bGJtZDBhRHRtS3lzcGFWdDBXMlpkWFQwaE1EdDJZWElnWXoxYlhUdG1iM0lvZG1GeUlITWdhVzRnYVNrb2UzMHBMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvYVN4ektTWW1ZeTV3ZFhOb0tITXBPM0psZEhWeWJpQmpMbk52Y25Rb0tTeGpmU2h1TG1WNGNHVmpkR1ZrTEhRdVpYaHdaV04wWldRcE9uUXVaWGh3WldOMFpXUTdjbVYwZFhKdWUzTjBZWFIxY3pwdUxuTjBZWFIxY3l4cGJtUmxlRHB1TG1sdVpHVjRMSFpoYkhWbE9tNHVkbUZzZFdVc1puVnlkR2hsYzNRNmRDNW1kWEowYUdWemRDeGxlSEJsWTNSbFpEcHlmWDEyWVhJZ2FqMTdmVHRtZFc1amRHbHZiaUJUS0c0c2RDbDdhV1lvZHlodUtTbHlaWFIxY201N2IyWm1jMlYwT25Rc2JHbHVaVG90TVN4amIyeDFiVzQ2TFRGOU8yNGdhVzRnYW54OEtHcGJibDA5ZTMwcE8yWnZjaWgyWVhJZ2NqMXFXMjVkTEdVOU1DeDFQVEFzYnowd0xHazlkRHRwUGowd095bDdhV1lvYVNCcGJpQnlLWHRsUFhKYmFWMHViR2x1WlN3d1BUMDlieVltS0c4OWNsdHBYUzVzYVc1bFUzUmhjblFwTzJKeVpXRnJmU2hjSWx4Y2Jsd2lQVDA5Ymk1amFHRnlRWFFvYVNsOGZGd2lYRnh5WENJOVBUMXVMbU5vWVhKQmRDaHBLU1ltWENKY1hHNWNJaUU5UFc0dVkyaGhja0YwS0drck1Ta3BKaVlvZFNzckxEQTlQVDF2SmlZb2J6MXBLekVwS1N4cExTMTlkbUZ5SUdFOVpTdDFMR1k5ZEMxdk8zSmxkSFZ5YmlCeVczUmRQWHRzYVc1bE9tRXNiR2x1WlZOMFlYSjBPbTk5TEh0dlptWnpaWFE2ZEN4c2FXNWxPbUVyTVN4amIyeDFiVzQ2WmlzeGZYMW1kVzVqZEdsdmJpQmZLRzRwZTJsbUtDRjVLRzRwS1hSb2NtOTNJRzVsZHlCRmNuSnZjaWhjSW01dmRDQmhJSEJoY25ObGNqb2dYQ0lyYmlsOVpuVnVZM1JwYjI0Z1RDaHVMSFFwZTNKbGRIVnlibHdpYzNSeWFXNW5YQ0k5UFhSNWNHVnZaaUJ1UDI0dVkyaGhja0YwS0hRcE9tNWJkRjE5Wm5WdVkzUnBiMjRnVHlodUtYdHBaaWhjSW01MWJXSmxjbHdpSVQxMGVYQmxiMllnYmlsMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKdWIzUWdZU0J1ZFcxaVpYSTZJRndpSzI0cGZXWjFibU4wYVc5dUlHc29iaWw3YVdZb1hDSm1kVzVqZEdsdmJsd2lJVDEwZVhCbGIyWWdiaWwwYUhKdmR5QnVaWGNnUlhKeWIzSW9YQ0p1YjNRZ1lTQm1kVzVqZEdsdmJqb2dYQ0lyYmlsOVpuVnVZM1JwYjI0Z1VDaHVLWHRwWmloY0luTjBjbWx1WjF3aUlUMTBlWEJsYjJZZ2JpbDBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSnViM1FnWVNCemRISnBibWM2SUZ3aUsyNHBmWFpoY2lCeFBUSXNRVDB6TEVrOU9DeEdQVFVxU1N4TlBUUXFTU3g2UFZ3aUlDQmNJanRtZFc1amRHbHZiaUJTS0c0c2RDbDdjbVYwZFhKdUlHNWxkeUJCY25KaGVTaDBLekVwTG1wdmFXNG9iaWw5Wm5WdVkzUnBiMjRnVlNodUxIUXNjaWw3ZG1GeUlHVTlkQzF1TG14bGJtZDBhRHR5WlhSMWNtNGdaVHc5TUQ5dU9sSW9jaXhsS1N0dWZXWjFibU4wYVc5dUlGY29iaXgwTEhJc1pTbDdjbVYwZFhKdWUyWnliMjA2YmkxMFBqQS9iaTEwT2pBc2RHODZiaXR5UG1VL1pUcHVLM0o5ZldaMWJtTjBhVzl1SUVRb2JpeDBLWHQyWVhJZ2NpeGxMSFVzYnl4bUxHTTlkQzVwYm1SbGVDeHpQV011YjJabWMyVjBMR3c5TVR0cFppaHpQVDA5Ymk1c1pXNW5kR2dwY21WMGRYSnVYQ0pIYjNRZ2RHaGxJR1Z1WkNCdlppQjBhR1VnYVc1d2RYUmNJanRwWmloM0tHNHBLWHQyWVhJZ2FEMXpMWE1sU1N4d1BYTXRhQ3hrUFZjb2FDeEdMRTByU1N4dUxteGxibWQwYUNrc2RqMWhLR1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJoS0daMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCVktHNHVkRzlUZEhKcGJtY29NVFlwTERJc1hDSXdYQ0lwZlN4dUtYMHNablZ1WTNScGIyNG9iaXgwS1h0MllYSWdjajF1TG14bGJtZDBhQ3hsUFZ0ZExIVTlNRHRwWmloeVBEMTBLWEpsZEhWeWJsdHVMbk5zYVdObEtDbGRPMlp2Y2loMllYSWdiejB3TzI4OGNqdHZLeXNwWlZ0MVhYeDhaUzV3ZFhOb0tGdGRLU3hsVzNWZExuQjFjMmdvYmx0dlhTa3NLRzhyTVNrbGREMDlNQ1ltZFNzck8zSmxkSFZ5YmlCbGZTaHVMbk5zYVdObEtHUXVabkp2YlN4a0xuUnZLUzUwYjBwVFQwNG9LUzVrWVhSaExFa3BLVHR2UFdaMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlBd1BUMDliaTVtY205dEppWXhQVDA5Ymk1MGJ6OTdabkp2YlRwdUxtWnliMjBzZEc4NmJpNTBiMzA2ZTJaeWIyMDZiaTVtY205dEwwa3NkRzg2VFdGMGFDNW1iRzl2Y2lodUxuUnZMMGtwZlgwb1pDa3NaVDFvTDBrc2NqMHpLbkFzY0Q0OU5DWW1LSElyUFRFcExHdzlNaXgxUFdFb1puVnVZM1JwYjI0b2JpbDdjbVYwZFhKdUlHNHViR1Z1WjNSb1BEMDBQMjR1YW05cGJpaGNJaUJjSWlrNmJpNXpiR2xqWlNnd0xEUXBMbXB2YVc0b1hDSWdYQ0lwSzF3aUlDQmNJaXR1TG5Oc2FXTmxLRFFwTG1wdmFXNG9YQ0lnWENJcGZTeDJLU3dvWmowb09Db29ieTUwYno0d1AyOHVkRzh0TVRwdkxuUnZLU2t1ZEc5VGRISnBibWNvTVRZcExteGxibWQwYUNrOE1pWW1LR1k5TWlsOVpXeHpaWHQyWVhJZ1p6MXVMbk53YkdsMEtDOWNYSEpjWEc1OFcxeGNibHhjY2x4Y2RUSXdNamhjWEhVeU1ESTVYUzhwTzNJOVl5NWpiMngxYlc0dE1TeGxQV011YkdsdVpTMHhMRzg5VnlobExIRXNRU3huTG14bGJtZDBhQ2tzZFQxbkxuTnNhV05sS0c4dVpuSnZiU3h2TG5SdktTeG1QVzh1ZEc4dWRHOVRkSEpwYm1jb0tTNXNaVzVuZEdoOWRtRnlJRzA5WlMxdkxtWnliMjA3Y21WMGRYSnVJSGNvYmlrbUppaG1QU2c0S2lodkxuUnZQakEvYnk1MGJ5MHhPbTh1ZEc4cEtTNTBiMU4wY21sdVp5Z3hOaWt1YkdWdVozUm9LVHd5SmlZb1pqMHlLU3hwS0daMWJtTjBhVzl1S0hRc1pTeDFLWHQyWVhJZ2FTeGhQWFU5UFQxdExHTTlZVDljSWo0Z1hDSTZlanR5WlhSMWNtNGdhVDEzS0c0cFAxVW9LRGdxS0c4dVpuSnZiU3QxS1NrdWRHOVRkSEpwYm1jb01UWXBMR1lzWENJd1hDSXBPbFVvS0c4dVpuSnZiU3QxS3pFcExuUnZVM1J5YVc1bktDa3NaaXhjSWlCY0lpa3NXMTB1WTI5dVkyRjBLSFFzVzJNcmFTdGNJaUI4SUZ3aUsyVmRMR0UvVzNvclVpaGNJaUJjSWl4bUtTdGNJaUI4SUZ3aUsxVW9YQ0pjSWl4eUxGd2lJRndpS1N0U0tGd2lYbHdpTEd3cFhUcGJYU2w5TEZ0ZExIVXBMbXB2YVc0b1hDSmNYRzVjSWlsOVpuVnVZM1JwYjI0Z1RpaHVMSFFwZTNKbGRIVnlibHRjSWx4Y2Jsd2lMRndpTFMwZ1VFRlNVMGxPUnlCR1FVbE1SVVFnWENJclVpaGNJaTFjSWl3MU1Da3NYQ0pjWEc1Y1hHNWNJaXhFS0c0c2RDa3NYQ0pjWEc1Y1hHNWNJaXdvY2oxMExtVjRjR1ZqZEdWa0xERTlQVDF5TG14bGJtZDBhRDljSWtWNGNHVmpkR1ZrT2x4Y2JseGNibHdpSzNKYk1GMDZYQ0pGZUhCbFkzUmxaQ0J2Ym1VZ2IyWWdkR2hsSUdadmJHeHZkMmx1WnpvZ1hGeHVYRnh1WENJcmNpNXFiMmx1S0Z3aUxDQmNJaWtwTEZ3aVhGeHVYQ0pkTG1wdmFXNG9YQ0pjSWlrN2RtRnlJSEo5Wm5WdVkzUnBiMjRnUnlodUtYdHlaWFIxY200Z2RtOXBaQ0F3SVQwOWJpNW1iR0ZuY3o5dUxtWnNZV2R6T2x0dUxtZHNiMkpoYkQ5Y0ltZGNJanBjSWx3aUxHNHVhV2R1YjNKbFEyRnpaVDljSW1sY0lqcGNJbHdpTEc0dWJYVnNkR2xzYVc1bFAxd2liVndpT2x3aVhDSXNiaTUxYm1samIyUmxQMXdpZFZ3aU9sd2lYQ0lzYmk1emRHbGphM2svWENKNVhDSTZYQ0pjSWwwdWFtOXBiaWhjSWx3aUtYMW1kVzVqZEdsdmJpQkRLQ2w3Wm05eUtIWmhjaUJ1UFZ0ZExuTnNhV05sTG1OaGJHd29ZWEpuZFcxbGJuUnpLU3gwUFc0dWJHVnVaM1JvTEhJOU1EdHlQSFE3Y2lzOU1TbGZLRzViY2wwcE8zSmxkSFZ5YmlCbEtHWjFibU4wYVc5dUtISXNaU2w3Wm05eUtIWmhjaUIxTEc4OWJtVjNJRUZ5Y21GNUtIUXBMR2s5TUR0cFBIUTdhU3M5TVNsN2FXWW9JU2gxUFVJb2JsdHBYUzVmS0hJc1pTa3NkU2twTG5OMFlYUjFjeWx5WlhSMWNtNGdkVHR2VzJsZFBYVXVkbUZzZFdVc1pUMTFMbWx1WkdWNGZYSmxkSFZ5YmlCQ0tHSW9aU3h2S1N4MUtYMHBmV1oxYm1OMGFXOXVJRW9vS1h0MllYSWdiajFiWFM1emJHbGpaUzVqWVd4c0tHRnlaM1Z0Wlc1MGN5azdhV1lvTUQwOVBXNHViR1Z1WjNSb0tYUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0luTmxjVTFoY0NCdVpXVmtjeUJoZENCc1pXRnpkQ0J2Ym1VZ1lYSm5kVzFsYm5SY0lpazdkbUZ5SUhROWJpNXdiM0FvS1R0eVpYUjFjbTRnYXloMEtTeERMbUZ3Y0d4NUtHNTFiR3dzYmlrdWJXRndLR1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUIwTG1Gd2NHeDVLRzUxYkd3c2JpbDlLWDFtZFc1amRHbHZiaUJVS0NsN2RtRnlJRzQ5VzEwdWMyeHBZMlV1WTJGc2JDaGhjbWQxYldWdWRITXBMSFE5Ymk1c1pXNW5kR2c3YVdZb01EMDlQWFFwY21WMGRYSnVJRmtvWENKNlpYSnZJR0ZzZEdWeWJtRjBaWE5jSWlrN1ptOXlLSFpoY2lCeVBUQTdjangwTzNJclBURXBYeWh1VzNKZEtUdHlaWFIxY200Z1pTaG1kVzVqZEdsdmJpaDBMSElwZTJadmNpaDJZWElnWlN4MVBUQTdkVHh1TG14bGJtZDBhRHQxS3oweEtXbG1LQ2hsUFVJb2JsdDFYUzVmS0hRc2Npa3NaU2twTG5OMFlYUjFjeWx5WlhSMWNtNGdaVHR5WlhSMWNtNGdaWDBwZldaMWJtTjBhVzl1SUZZb2JpeDBLWHR5WlhSMWNtNGdTQ2h1TEhRcExtOXlLRmdvVzEwcEtYMW1kVzVqZEdsdmJpQklLRzRzZENsN2NtVjBkWEp1SUY4b2Jpa3NYeWgwS1N4S0tHNHNkQzUwYUdWdUtHNHBMbTFoYm5rb0tTeG1kVzVqZEdsdmJpaHVMSFFwZTNKbGRIVnlibHR1WFM1amIyNWpZWFFvZENsOUtYMW1kVzVqZEdsdmJpQkxLRzRwZTFBb2JpazdkbUZ5SUhROVhDSW5YQ0lyYml0Y0lpZGNJanR5WlhSMWNtNGdaU2htZFc1amRHbHZiaWh5TEdVcGUzWmhjaUIxUFdVcmJpNXNaVzVuZEdnc2J6MXlMbk5zYVdObEtHVXNkU2s3Y21WMGRYSnVJRzg5UFQxdVAySW9kU3h2S1RwNEtHVXNkQ2w5S1gxbWRXNWpkR2x2YmlCUktHNHNkQ2w3SVdaMWJtTjBhVzl1S0c0cGUybG1LQ0VvYmlCcGJuTjBZVzVqWlc5bUlGSmxaMFY0Y0NrcGRHaHliM2NnYm1WM0lFVnljbTl5S0Z3aWJtOTBJR0VnY21WblpYaHdPaUJjSWl0dUtUdG1iM0lvZG1GeUlIUTlSeWh1S1N4eVBUQTdjangwTG14bGJtZDBhRHR5S3lzcGUzWmhjaUJsUFhRdVkyaGhja0YwS0hJcE8ybG1LRndpYVZ3aUlUMDlaU1ltWENKdFhDSWhQVDFsSmlaY0luVmNJaUU5UFdVbUpsd2ljMXdpSVQwOVpTbDBhSEp2ZHlCdVpYY2dSWEp5YjNJb0ozVnVjM1Z3Y0c5eWRHVmtJSEpsWjJWNGNDQm1iR0ZuSUZ3aUp5dGxLeWRjSWpvZ0p5dHVLWDE5S0c0cExHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnK1BUSS9UeWgwS1RwMFBUQTdkbUZ5SUhJOVpuVnVZM1JwYjI0b2JpbDdjbVYwZFhKdUlGSmxaMFY0Y0NoY0lsNG9QenBjSWl0dUxuTnZkWEpqWlN0Y0lpbGNJaXhIS0c0cEtYMG9iaWtzZFQxY0lsd2lLMjQ3Y21WMGRYSnVJR1VvWm5WdVkzUnBiMjRvYml4bEtYdDJZWElnYnoxeUxtVjRaV01vYmk1emJHbGpaU2hsS1NrN2FXWW9ieWw3YVdZb01EdzlkQ1ltZER3OWJ5NXNaVzVuZEdncGUzWmhjaUJwUFc5Yk1GMHNZVDF2VzNSZE8zSmxkSFZ5YmlCaUtHVXJhUzVzWlc1bmRHZ3NZU2w5Y21WMGRYSnVJSGdvWlN4Y0luWmhiR2xrSUcxaGRHTm9JR2R5YjNWd0lDZ3dJSFJ2SUZ3aUsyOHViR1Z1WjNSb0sxd2lLU0JwYmlCY0lpdDFLWDF5WlhSMWNtNGdlQ2hsTEhVcGZTbDlablZ1WTNScGIyNGdXQ2h1S1h0eVpYUjFjbTRnWlNobWRXNWpkR2x2YmloMExISXBlM0psZEhWeWJpQmlLSElzYmlsOUtYMW1kVzVqZEdsdmJpQlpLRzRwZTNKbGRIVnliaUJsS0daMWJtTjBhVzl1S0hRc2NpbDdjbVYwZFhKdUlIZ29jaXh1S1gwcGZXWjFibU4wYVc5dUlGb29iaWw3YVdZb2VTaHVLU2x5WlhSMWNtNGdaU2htZFc1amRHbHZiaWgwTEhJcGUzWmhjaUJsUFc0dVh5aDBMSElwTzNKbGRIVnliaUJsTG1sdVpHVjRQWElzWlM1MllXeDFaVDFjSWx3aUxHVjlLVHRwWmloY0luTjBjbWx1WjF3aVBUMTBlWEJsYjJZZ2JpbHlaWFIxY200Z1dpaExLRzRwS1R0cFppaHVJR2x1YzNSaGJtTmxiMllnVW1WblJYaHdLWEpsZEhWeWJpQmFLRkVvYmlrcE8zUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0ltNXZkQ0JoSUhOMGNtbHVaeXdnY21WblpYaHdMQ0J2Y2lCd1lYSnpaWEk2SUZ3aUsyNHBmV1oxYm1OMGFXOXVJQ1FvYmlsN2NtVjBkWEp1SUY4b2Jpa3NaU2htZFc1amRHbHZiaWgwTEhJcGUzWmhjaUJsUFc0dVh5aDBMSElwTEhVOWRDNXpiR2xqWlNoeUxHVXVhVzVrWlhncE8zSmxkSFZ5YmlCbExuTjBZWFIxY3o5NEtISXNKMjV2ZENCY0lpY3JkU3NuWENJbktUcGlLSElzYm5Wc2JDbDlLWDFtZFc1amRHbHZiaUJ1YmlodUtYdHlaWFIxY200Z2F5aHVLU3hsS0daMWJtTjBhVzl1S0hRc2NpbDdkbUZ5SUdVOVRDaDBMSElwTzNKbGRIVnliaUJ5UEhRdWJHVnVaM1JvSmladUtHVXBQMklvY2lzeExHVXBPbmdvY2l4Y0ltRWdZMmhoY21GamRHVnlMMko1ZEdVZ2JXRjBZMmhwYm1jZ1hDSXJiaWw5S1gxbWRXNWpkR2x2YmlCMGJpaHVMSFFwZTJGeVozVnRaVzUwY3k1c1pXNW5kR2c4TWlZbUtIUTliaXh1UFhadmFXUWdNQ2s3ZG1GeUlISTlaU2htZFc1amRHbHZiaWh1TEdVcGUzSmxkSFZ5YmlCeUxsODlkQ2dwTGw4c2NpNWZLRzRzWlNsOUtUdHlaWFIxY200Z2JqOXlMbVJsYzJNb2JpazZjbjFtZFc1amRHbHZiaUJ5YmlncGUzSmxkSFZ5YmlCWktGd2labUZ1ZEdGemVTMXNZVzVrTDJWdGNIUjVYQ0lwZlhVdWNHRnljMlU5Wm5WdVkzUnBiMjRvYmlsN2FXWW9YQ0p6ZEhKcGJtZGNJaUU5ZEhsd1pXOW1JRzRtSmlGM0tHNHBLWFJvY205M0lHNWxkeUJGY25KdmNpaGNJaTV3WVhKelpTQnRkWE4wSUdKbElHTmhiR3hsWkNCM2FYUm9JR0VnYzNSeWFXNW5JRzl5SUVKMVptWmxjaUJoY3lCcGRITWdZWEpuZFcxbGJuUmNJaWs3ZG1GeUlIUXNjajEwYUdsekxuTnJhWEFvWVc0cExsOG9iaXd3S1R0eVpYUjFjbTRnZEQxeUxuTjBZWFIxY3o5N2MzUmhkSFZ6T2lFd0xIWmhiSFZsT25JdWRtRnNkV1Y5T250emRHRjBkWE02SVRFc2FXNWtaWGc2VXlodUxISXVablZ5ZEdobGMzUXBMR1Y0Y0dWamRHVmtPbkl1Wlhod1pXTjBaV1I5TEdSbGJHVjBaU0JxVzI1ZExIUjlMSFV1ZEhKNVVHRnljMlU5Wm5WdVkzUnBiMjRvYmlsN2RtRnlJSFE5ZEdocGN5NXdZWEp6WlNodUtUdHBaaWgwTG5OMFlYUjFjeWx5WlhSMWNtNGdkQzUyWVd4MVpUdDJZWElnY2oxT0tHNHNkQ2tzWlQxdVpYY2dSWEp5YjNJb2NpazdkR2h5YjNjZ1pTNTBlWEJsUFZ3aVVHRnljMmx0Ylc5dVJYSnliM0pjSWl4bExuSmxjM1ZzZEQxMExHVjlMSFV1WVhOelpYSjBQV1oxYm1OMGFXOXVLRzRzZENsN2NtVjBkWEp1SUhSb2FYTXVZMmhoYVc0b1puVnVZM1JwYjI0b2NpbDdjbVYwZFhKdUlHNG9jaWsvV0NoeUtUcFpLSFFwZlNsOUxIVXViM0k5Wm5WdVkzUnBiMjRvYmlsN2NtVjBkWEp1SUZRb2RHaHBjeXh1S1gwc2RTNTBjbWx0UFdaMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCMGFHbHpMbmR5WVhBb2JpeHVLWDBzZFM1M2NtRndQV1oxYm1OMGFXOXVLRzRzZENsN2NtVjBkWEp1SUVvb2JpeDBhR2x6TEhRc1puVnVZM1JwYjI0b2JpeDBLWHR5WlhSMWNtNGdkSDBwZlN4MUxuUm9jblU5Wm5WdVkzUnBiMjRvYmlsN2NtVjBkWEp1SUc0b2RHaHBjeWw5TEhVdWRHaGxiajFtZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnWHlodUtTeERLSFJvYVhNc2Jpa3ViV0Z3S0daMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCdVd6RmRmU2w5TEhVdWJXRnVlVDFtZFc1amRHbHZiaWdwZTNaaGNpQnVQWFJvYVhNN2NtVjBkWEp1SUdVb1puVnVZM1JwYjI0b2RDeHlLWHRtYjNJb2RtRnlJR1U5VzEwc2RUMTJiMmxrSURBN095bDdhV1lvSVNoMVBVSW9iaTVmS0hRc2Npa3NkU2twTG5OMFlYUjFjeWx5WlhSMWNtNGdRaWhpS0hJc1pTa3NkU2s3YVdZb2NqMDlQWFV1YVc1a1pYZ3BkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGd2lhVzVtYVc1cGRHVWdiRzl2Y0NCa1pYUmxZM1JsWkNCcGJpQXViV0Z1ZVNncElIQmhjbk5sY2lBdExTMGdZMkZzYkdsdVp5QXViV0Z1ZVNncElHOXVJR0VnY0dGeWMyVnlJSGRvYVdOb0lHTmhiaUJoWTJObGNIUWdlbVZ5YnlCamFHRnlZV04wWlhKeklHbHpJSFZ6ZFdGc2JIa2dkR2hsSUdOaGRYTmxYQ0lwTzNJOWRTNXBibVJsZUN4bExuQjFjMmdvZFM1MllXeDFaU2w5ZlNsOUxIVXVkR2xsVjJsMGFEMW1kVzVqZEdsdmJpaHVLWHR5WlhSMWNtNGdVQ2h1S1N4MGFHbHpMbTFoY0NobWRXNWpkR2x2YmloMEtYdHBaaWhtZFc1amRHbHZiaWh1S1h0cFppZ2hSU2h1S1NsMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKdWIzUWdZVzRnWVhKeVlYazZJRndpSzI0cGZTaDBLU3gwTG14bGJtZDBhQ2w3VUNoMFd6QmRLVHRtYjNJb2RtRnlJSEk5ZEZzd1hTeGxQVEU3WlR4MExteGxibWQwYUR0bEt5c3BVQ2gwVzJWZEtTeHlLejF1SzNSYlpWMDdjbVYwZFhKdUlISjljbVYwZFhKdVhDSmNJbjBwZlN4MUxuUnBaVDFtZFc1amRHbHZiaWdwZTNKbGRIVnliaUIwYUdsekxuUnBaVmRwZEdnb1hDSmNJaWw5TEhVdWRHbHRaWE05Wm5WdVkzUnBiMjRvYml4MEtYdDJZWElnY2oxMGFHbHpPM0psZEhWeWJpQmhjbWQxYldWdWRITXViR1Z1WjNSb1BESW1KaWgwUFc0cExFOG9iaWtzVHloMEtTeGxLR1oxYm1OMGFXOXVLR1VzZFNsN1ptOXlLSFpoY2lCdlBWdGRMR2s5ZG05cFpDQXdMR0U5ZG05cFpDQXdMR1k5TUR0bVBHNDdaaXM5TVNsN2FXWW9ZVDFDS0drOWNpNWZLR1VzZFNrc1lTa3NJV2t1YzNSaGRIVnpLWEpsZEhWeWJpQmhPM1U5YVM1cGJtUmxlQ3h2TG5CMWMyZ29hUzUyWVd4MVpTbDlabTl5S0R0bVBIUW1KaWhoUFVJb2FUMXlMbDhvWlN4MUtTeGhLU3hwTG5OMFlYUjFjeWs3WmlzOU1TbDFQV2t1YVc1a1pYZ3NieTV3ZFhOb0tHa3VkbUZzZFdVcE8zSmxkSFZ5YmlCQ0tHSW9kU3h2S1N4aEtYMHBmU3gxTG5KbGMzVnNkRDFtZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnZEdocGN5NXRZWEFvWm5WdVkzUnBiMjRvS1h0eVpYUjFjbTRnYm4wcGZTeDFMbUYwVFc5emREMW1kVzVqZEdsdmJpaHVLWHR5WlhSMWNtNGdkR2hwY3k1MGFXMWxjeWd3TEc0cGZTeDFMbUYwVEdWaGMzUTlablZ1WTNScGIyNG9iaWw3Y21WMGRYSnVJRW9vZEdocGN5NTBhVzFsY3lodUtTeDBhR2x6TG0xaGJua29LU3htZFc1amRHbHZiaWh1TEhRcGUzSmxkSFZ5YmlCdUxtTnZibU5oZENoMEtYMHBmU3gxTG0xaGNEMW1kVzVqZEdsdmJpaHVLWHRyS0c0cE8zWmhjaUIwUFhSb2FYTTdjbVYwZFhKdUlHVW9ablZ1WTNScGIyNG9jaXhsS1h0MllYSWdkVDEwTGw4b2NpeGxLVHR5WlhSMWNtNGdkUzV6ZEdGMGRYTS9RaWhpS0hVdWFXNWtaWGdzYmloMUxuWmhiSFZsS1Nrc2RTazZkWDBwZlN4MUxtTnZiblJ5WVcxaGNEMW1kVzVqZEdsdmJpaHVLWHRyS0c0cE8zWmhjaUIwUFhSb2FYTTdjbVYwZFhKdUlHVW9ablZ1WTNScGIyNG9jaXhsS1h0MllYSWdkVDEwTG5CaGNuTmxLRzRvY2k1emJHbGpaU2hsS1NrcE8zSmxkSFZ5YmlCMUxuTjBZWFIxY3o5aUtHVXJjaTVzWlc1bmRHZ3NkUzUyWVd4MVpTazZkWDBwZlN4MUxuQnliMjFoY0QxbWRXNWpkR2x2YmlodUxIUXBlM0psZEhWeWJpQnJLRzRwTEdzb2RDa3NkR2hwY3k1amIyNTBjbUZ0WVhBb2Jpa3ViV0Z3S0hRcGZTeDFMbk5yYVhBOVpuVnVZM1JwYjI0b2JpbDdjbVYwZFhKdUlFTW9kR2hwY3l4dUtTNXRZWEFvWm5WdVkzUnBiMjRvYmlsN2NtVjBkWEp1SUc1Yk1GMTlLWDBzZFM1dFlYSnJQV1oxYm1OMGFXOXVLQ2w3Y21WMGRYSnVJRW9vWlc0c2RHaHBjeXhsYml4bWRXNWpkR2x2YmlodUxIUXNjaWw3Y21WMGRYSnVlM04wWVhKME9tNHNkbUZzZFdVNmRDeGxibVE2Y24xOUtYMHNkUzV1YjJSbFBXWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQktLR1Z1TEhSb2FYTXNaVzRzWm5WdVkzUnBiMjRvZEN4eUxHVXBlM0psZEhWeWJudHVZVzFsT200c2RtRnNkV1U2Y2l4emRHRnlkRHAwTEdWdVpEcGxmWDBwZlN4MUxuTmxjRUo1UFdaMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCV0tIUm9hWE1zYmlsOUxIVXVjMlZ3UW5reFBXWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQklLSFJvYVhNc2JpbDlMSFV1Ykc5dmEyRm9aV0ZrUFdaMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCMGFHbHpMbk5yYVhBb1dpaHVLU2w5TEhVdWJtOTBSbTlzYkc5M1pXUkNlVDFtZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnZEdocGN5NXphMmx3S0NRb2Jpa3BmU3gxTG1SbGMyTTlablZ1WTNScGIyNG9iaWw3UlNodUtYeDhLRzQ5VzI1ZEtUdDJZWElnZEQxMGFHbHpPM0psZEhWeWJpQmxLR1oxYm1OMGFXOXVLSElzWlNsN2RtRnlJSFU5ZEM1ZktISXNaU2s3Y21WMGRYSnVJSFV1YzNSaGRIVnpmSHdvZFM1bGVIQmxZM1JsWkQxdUtTeDFmU2w5TEhVdVptRnNiR0poWTJzOVpuVnVZM1JwYjI0b2JpbDdjbVYwZFhKdUlIUm9hWE11YjNJb1dDaHVLU2w5TEhVdVlYQTlablZ1WTNScGIyNG9iaWw3Y21WMGRYSnVJRW9vYml4MGFHbHpMR1oxYm1OMGFXOXVLRzRzZENsN2NtVjBkWEp1SUc0b2RDbDlLWDBzZFM1amFHRnBiajFtZFc1amRHbHZiaWh1S1h0MllYSWdkRDEwYUdsek8zSmxkSFZ5YmlCbEtHWjFibU4wYVc5dUtISXNaU2w3ZG1GeUlIVTlkQzVmS0hJc1pTazdjbVYwZFhKdUlIVXVjM1JoZEhWelAwSW9iaWgxTG5aaGJIVmxLUzVmS0hJc2RTNXBibVJsZUNrc2RTazZkWDBwZlN4MUxtTnZibU5oZEQxMUxtOXlMSFV1Wlcxd2RIazljbTRzZFM1dlpqMVlMSFZiWENKbVlXNTBZWE41TFd4aGJtUXZZWEJjSWwwOWRTNWhjQ3gxVzF3aVptRnVkR0Z6ZVMxc1lXNWtMMk5vWVdsdVhDSmRQWFV1WTJoaGFXNHNkVnRjSW1aaGJuUmhjM2t0YkdGdVpDOWpiMjVqWVhSY0lsMDlkUzVqYjI1allYUXNkVnRjSW1aaGJuUmhjM2t0YkdGdVpDOWxiWEIwZVZ3aVhUMTFMbVZ0Y0hSNUxIVmJYQ0ptWVc1MFlYTjVMV3hoYm1RdmIyWmNJbDA5ZFM1dlppeDFXMXdpWm1GdWRHRnplUzFzWVc1a0wyMWhjRndpWFQxMUxtMWhjRHQyWVhJZ1pXNDlaU2htZFc1amRHbHZiaWh1TEhRcGUzSmxkSFZ5YmlCaUtIUXNVeWh1TEhRcEtYMHBMSFZ1UFdVb1puVnVZM1JwYjI0b2JpeDBLWHR5WlhSMWNtNGdkRDQ5Ymk1c1pXNW5kR2cvZUNoMExGd2lZVzU1SUdOb1lYSmhZM1JsY2k5aWVYUmxYQ0lwT21Jb2RDc3hMRXdvYml4MEtTbDlLU3h2YmoxbEtHWjFibU4wYVc5dUtHNHNkQ2w3Y21WMGRYSnVJR0lvYmk1c1pXNW5kR2dzYmk1emJHbGpaU2gwS1NsOUtTeGhiajFsS0daMWJtTjBhVzl1S0c0c2RDbDdjbVYwZFhKdUlIUThiaTVzWlc1bmRHZy9lQ2gwTEZ3aVJVOUdYQ0lwT21Jb2RDeHVkV3hzS1gwcExHWnVQVkVvTDFzd0xUbGRMeWt1WkdWell5aGNJbUVnWkdsbmFYUmNJaWtzWTI0OVVTZ3ZXekF0T1YwcUx5a3VaR1Z6WXloY0ltOXdkR2x2Ym1Gc0lHUnBaMmwwYzF3aUtTeHpiajFSS0M5YllTMTZYUzlwS1M1a1pYTmpLRndpWVNCc1pYUjBaWEpjSWlrc2JHNDlVU2d2VzJFdGVsMHFMMmtwTG1SbGMyTW9YQ0p2Y0hScGIyNWhiQ0JzWlhSMFpYSnpYQ0lwTEdodVBWRW9MMXhjY3lvdktTNWtaWE5qS0Z3aWIzQjBhVzl1WVd3Z2QyaHBkR1Z6Y0dGalpWd2lLU3h3YmoxUktDOWNYSE1yTHlrdVpHVnpZeWhjSW5kb2FYUmxjM0JoWTJWY0lpa3NaRzQ5U3loY0lseGNjbHdpS1N4MmJqMUxLRndpWEZ4dVhDSXBMR2R1UFVzb1hDSmNYSEpjWEc1Y0lpa3NiVzQ5VkNobmJpeDJiaXhrYmlrdVpHVnpZeWhjSW01bGQyeHBibVZjSWlrc2VXNDlWQ2h0Yml4aGJpazdaUzVoYkd3OWIyNHNaUzVoYkhROVZDeGxMbUZ1ZVQxMWJpeGxMbU55UFdSdUxHVXVZM0psWVhSbFRHRnVaM1ZoWjJVOVpuVnVZM1JwYjI0b2JpbDdkbUZ5SUhROWUzMDdabTl5S0haaGNpQnlJR2x1SUc0cEtIdDlLUzVvWVhOUGQyNVFjbTl3WlhKMGVTNWpZV3hzS0c0c2Npa21KbVoxYm1OMGFXOXVLSElwZTNSYmNsMDlkRzRvWm5WdVkzUnBiMjRvS1h0eVpYUjFjbTRnYmx0eVhTaDBLWDBwZlNoeUtUdHlaWFIxY200Z2RIMHNaUzVqY214bVBXZHVMR1V1WTNWemRHOXRQV1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJsS0c0b1lpeDRLU2w5TEdVdVpHbG5hWFE5Wm00c1pTNWthV2RwZEhNOVkyNHNaUzVsYlhCMGVUMXliaXhsTG1WdVpEMTViaXhsTG1WdlpqMWhiaXhsTG1aaGFXdzlXU3hsTG1admNtMWhkRVZ5Y205eVBVNHNaUzVwYm1SbGVEMWxiaXhsTG1selVHRnljMlZ5UFhrc1pTNXNZWHA1UFhSdUxHVXViR1YwZEdWeVBYTnVMR1V1YkdWMGRHVnljejFzYml4bExteG1QWFp1TEdVdWJHOXZhMkZvWldGa1BWb3NaUzV0WVd0bFJtRnBiSFZ5WlQxNExHVXViV0ZyWlZOMVkyTmxjM005WWl4bExtNWxkMnhwYm1VOWJXNHNaUzV1YjI1bFQyWTlablZ1WTNScGIyNG9iaWw3Y21WMGRYSnVJRzV1S0daMWJtTjBhVzl1S0hRcGUzSmxkSFZ5YmlCdUxtbHVaR1Y0VDJZb2RDazhNSDBwTG1SbGMyTW9YQ0p1YjI1bElHOW1JQ2RjSWl0dUsxd2lKMXdpS1gwc1pTNXViM1JHYjJ4c2IzZGxaRUo1UFNRc1pTNXZaajFZTEdVdWIyNWxUMlk5Wm5WdVkzUnBiMjRvYmlsN1ptOXlLSFpoY2lCMFBXNHVjM0JzYVhRb1hDSmNJaWtzY2owd08zSThkQzVzWlc1bmRHZzdjaXNyS1hSYmNsMDlYQ0luWENJcmRGdHlYU3RjSWlkY0lqdHlaWFIxY200Z2JtNG9ablZ1WTNScGIyNG9kQ2w3Y21WMGRYSnVJRzR1YVc1a1pYaFBaaWgwS1Q0OU1IMHBMbVJsYzJNb2RDbDlMR1V1YjNCMFYyaHBkR1Z6Y0dGalpUMW9iaXhsTGxCaGNuTmxjajFsTEdVdWNtRnVaMlU5Wm5WdVkzUnBiMjRvYml4MEtYdHlaWFIxY200Z2JtNG9ablZ1WTNScGIyNG9jaWw3Y21WMGRYSnVJRzQ4UFhJbUpuSThQWFI5S1M1a1pYTmpLRzRyWENJdFhDSXJkQ2w5TEdVdWNtVm5aWGc5VVN4bExuSmxaMlY0Y0QxUkxHVXVjMlZ3UW5rOVZpeGxMbk5sY0VKNU1UMUlMR1V1YzJWeFBVTXNaUzV6WlhGTllYQTlTaXhsTG5ObGNVOWlhajFtZFc1amRHbHZiaWdwZTJadmNpaDJZWElnYml4MFBYdDlMSEk5TUN4MVBTaHVQV0Z5WjNWdFpXNTBjeXhCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVdVkyRnNiQ2h1S1Nrc2J6MTFMbXhsYm1kMGFDeHBQVEE3YVR4dk8ya3JQVEVwZTNaaGNpQmhQWFZiYVYwN2FXWW9JWGtvWVNrcGUybG1LRVVvWVNrbUpqSTlQVDFoTG14bGJtZDBhQ1ltWENKemRISnBibWRjSWowOWRIbHdaVzltSUdGYk1GMG1KbmtvWVZzeFhTa3BlM1poY2lCbVBXRmJNRjA3YVdZb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tIUXNaaWtwZEdoeWIzY2dibVYzSUVWeWNtOXlLRndpYzJWeFQySnFPaUJrZFhCc2FXTmhkR1VnYTJWNUlGd2lLMllwTzNSYlpsMDlJVEFzY2lzck8yTnZiblJwYm5WbGZYUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0luTmxjVTlpYWlCaGNtZDFiV1Z1ZEhNZ2JYVnpkQ0JpWlNCd1lYSnpaWEp6SUc5eUlGdHpkSEpwYm1jc0lIQmhjbk5sY2wwZ1lYSnlZWGtnY0dGcGNuTXVYQ0lwZlgxcFppZ3dQVDA5Y2lsMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKelpYRlBZbW9nWlhod1pXTjBjeUJoZENCc1pXRnpkQ0J2Ym1VZ2JtRnRaV1FnY0dGeWMyVnlMQ0JtYjNWdVpDQjZaWEp2WENJcE8zSmxkSFZ5YmlCbEtHWjFibU4wYVc5dUtHNHNkQ2w3Wm05eUtIWmhjaUJ5TEdVOWUzMHNhVDB3TzJrOGJ6dHBLejB4S1h0MllYSWdZU3htTzJsbUtFVW9kVnRwWFNrL0tHRTlkVnRwWFZzd1hTeG1QWFZiYVYxYk1WMHBPaWhoUFc1MWJHd3NaajExVzJsZEtTd2hLSEk5UWlobUxsOG9iaXgwS1N4eUtTa3VjM1JoZEhWektYSmxkSFZ5YmlCeU8yRW1KaWhsVzJGZFBYSXVkbUZzZFdVcExIUTljaTVwYm1SbGVIMXlaWFIxY200Z1FpaGlLSFFzWlNrc2NpbDlLWDBzWlM1emRISnBibWM5U3l4bExuTjFZMk5sWldROVdDeGxMblJoYTJWWGFHbHNaVDFtZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnYXlodUtTeGxLR1oxYm1OMGFXOXVLSFFzY2lsN1ptOXlLSFpoY2lCbFBYSTdaVHgwTG14bGJtZDBhQ1ltYmloTUtIUXNaU2twT3lsbEt5czdjbVYwZFhKdUlHSW9aU3gwTG5Oc2FXTmxLSElzWlNrcGZTbDlMR1V1ZEdWemREMXViaXhsTG5kb2FYUmxjM0JoWTJVOWNHNHNaVnRjSW1aaGJuUmhjM2t0YkdGdVpDOWxiWEIwZVZ3aVhUMXliaXhsVzF3aVptRnVkR0Z6ZVMxc1lXNWtMMjltWENKZFBWZ3NaUzVDYVc1aGNuazllMkpwZEZObGNUcHNMR0pwZEZObGNVOWlhanBtZFc1amRHbHZiaWh1S1h0ektDazdkbUZ5SUhROWUzMHNjajB3TEdVOVlTaG1kVzVqZEdsdmJpaHVLWHRwWmloRktHNHBLWHQyWVhJZ1pUMXVPMmxtS0RJaFBUMWxMbXhsYm1kMGFDbDBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSmJYQ0lyWlM1cWIybHVLRndpTENCY0lpa3JYQ0pkSUhOb2IzVnNaQ0JpWlNCc1pXNW5kR2dnTWl3Z1oyOTBJR3hsYm1kMGFDQmNJaXRsTG14bGJtZDBhQ2s3YVdZb1VDaGxXekJkS1N4UEtHVmJNVjBwTEU5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoMExHVmJNRjBwS1hSb2NtOTNJRzVsZHlCRmNuSnZjaWhjSW1SMWNHeHBZMkYwWlNCclpYa2dhVzRnWW1sMFUyVnhUMkpxT2lCY0lpdGxXekJkS1R0eVpYUjFjbTRnZEZ0bFd6QmRYVDBoTUN4eUt5c3NaWDF5WlhSMWNtNGdUeWh1S1N4YmJuVnNiQ3h1WFgwc2JpazdhV1lvY2p3eEtYUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0ltSnBkRk5sY1U5aWFpQmxlSEJsWTNSeklHRjBJR3hsWVhOMElHOXVaU0J1WVcxbFpDQndZV2x5TENCbmIzUWdXMXdpSzI0dWFtOXBiaWhjSWl3Z1hDSXBLMXdpWFZ3aUtUdDJZWElnZFQxaEtHWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQnVXekJkZlN4bEtUdHlaWFIxY200Z2JDaGhLR1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJ1V3pGZGZTeGxLU2t1YldGd0tHWjFibU4wYVc5dUtHNHBlM0psZEhWeWJpQnBLR1oxYm1OMGFXOXVLRzRzZENsN2NtVjBkWEp1SUc1MWJHd2hQVDEwV3pCZEppWW9ibHQwV3pCZFhUMTBXekZkS1N4dWZTeDdmU3hoS0daMWJtTjBhVzl1S0hRc2NpbDdjbVYwZFhKdVczUXNibHR5WFYxOUxIVXBLWDBwZlN4aWVYUmxPbVoxYm1OMGFXOXVLRzRwZTJsbUtITW9LU3hQS0c0cExHNCtNalUxS1hSb2NtOTNJRzVsZHlCRmNuSnZjaWhjSWxaaGJIVmxJSE53WldOcFptbGxaQ0IwYnlCaWVYUmxJR052Ym5OMGNuVmpkRzl5SUNoY0lpdHVLMXdpUFRCNFhDSXJiaTUwYjFOMGNtbHVaeWd4TmlrclhDSXBJR2x6SUd4aGNtZGxjaUJwYmlCMllXeDFaU0IwYUdGdUlHRWdjMmx1WjJ4bElHSjVkR1V1WENJcE8zWmhjaUIwUFNodVBqRTFQMXdpTUhoY0lqcGNJakI0TUZ3aUtTdHVMblJ2VTNSeWFXNW5LREUyS1R0eVpYUjFjbTRnWlNobWRXNWpkR2x2YmloeUxHVXBlM1poY2lCMVBVd29jaXhsS1R0eVpYUjFjbTRnZFQwOVBXNC9ZaWhsS3pFc2RTazZlQ2hsTEhRcGZTbDlMR0oxWm1abGNqcG1kVzVqZEdsdmJpaHVLWHR5WlhSMWNtNGdhQ2hjSW1KMVptWmxjbHdpTEc0cExtMWhjQ2htZFc1amRHbHZiaWh1S1h0eVpYUjFjbTRnUW5WbVptVnlMbVp5YjIwb2JpbDlLWDBzWlc1amIyUmxaRk4wY21sdVp6cG1kVzVqZEdsdmJpaHVMSFFwZTNKbGRIVnliaUJvS0Z3aWMzUnlhVzVuWENJc2RDa3ViV0Z3S0daMWJtTjBhVzl1S0hRcGUzSmxkSFZ5YmlCMExuUnZVM1J5YVc1bktHNHBmU2w5TEhWcGJuUkNSVHBrTEhWcGJuUTRRa1U2WkNneEtTeDFhVzUwTVRaQ1JUcGtLRElwTEhWcGJuUXpNa0pGT21Rb05Da3NkV2x1ZEV4Rk9uWXNkV2x1ZERoTVJUcDJLREVwTEhWcGJuUXhOa3hGT25Zb01pa3NkV2x1ZERNeVRFVTZkaWcwS1N4cGJuUkNSVHBuTEdsdWREaENSVHBuS0RFcExHbHVkREUyUWtVNlp5Z3lLU3hwYm5Rek1rSkZPbWNvTkNrc2FXNTBURVU2YlN4cGJuUTRURVU2YlNneEtTeHBiblF4Tmt4Rk9tMG9NaWtzYVc1ME16Sk1SVHB0S0RRcExHWnNiMkYwUWtVNmFDaGNJbVpzYjJGMFFrVmNJaXcwS1M1dFlYQW9ablZ1WTNScGIyNG9iaWw3Y21WMGRYSnVJRzR1Y21WaFpFWnNiMkYwUWtVb01DbDlLU3htYkc5aGRFeEZPbWdvWENKbWJHOWhkRXhGWENJc05Da3ViV0Z3S0daMWJtTjBhVzl1S0c0cGUzSmxkSFZ5YmlCdUxuSmxZV1JHYkc5aGRFeEZLREFwZlNrc1pHOTFZbXhsUWtVNmFDaGNJbVJ2ZFdKc1pVSkZYQ0lzT0NrdWJXRndLR1oxYm1OMGFXOXVLRzRwZTNKbGRIVnliaUJ1TG5KbFlXUkViM1ZpYkdWQ1JTZ3dLWDBwTEdSdmRXSnNaVXhGT21nb1hDSmtiM1ZpYkdWTVJWd2lMRGdwTG0xaGNDaG1kVzVqZEdsdmJpaHVLWHR5WlhSMWNtNGdiaTV5WldGa1JHOTFZbXhsVEVVb01DbDlLWDBzYmk1bGVIQnZjblJ6UFdWOVhTbDlLVHNpTENBaVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEhKY2JuWmhjaUJmWDJWNGRHVnVaSE1nUFNBb2RHaHBjeUFtSmlCMGFHbHpMbDlmWlhoMFpXNWtjeWtnZkh3Z0tHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJSFpoY2lCbGVIUmxibVJUZEdGMGFXTnpJRDBnWm5WdVkzUnBiMjRnS0dRc0lHSXBJSHRjY2x4dUlDQWdJQ0FnSUNCbGVIUmxibVJUZEdGMGFXTnpJRDBnVDJKcVpXTjBMbk5sZEZCeWIzUnZkSGx3WlU5bUlIeDhYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDaDdJRjlmY0hKdmRHOWZYem9nVzEwZ2ZTQnBibk4wWVc1alpXOW1JRUZ5Y21GNUlDWW1JR1oxYm1OMGFXOXVJQ2hrTENCaUtTQjdJR1F1WDE5d2NtOTBiMTlmSUQwZ1lqc2dmU2tnZkh4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWm5WdVkzUnBiMjRnS0dRc0lHSXBJSHNnWm05eUlDaDJZWElnY0NCcGJpQmlLU0JwWmlBb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHSXNJSEFwS1NCa1czQmRJRDBnWWx0d1hUc2dmVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWlhoMFpXNWtVM1JoZEdsamN5aGtMQ0JpS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnS0dRc0lHSXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHSWdJVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQW1KaUJpSUNFOVBTQnVkV3hzS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVEyeGhjM01nWlhoMFpXNWtjeUIyWVd4MVpTQmNJaUFySUZOMGNtbHVaeWhpS1NBcklGd2lJR2x6SUc1dmRDQmhJR052Ym5OMGNuVmpkRzl5SUc5eUlHNTFiR3hjSWlrN1hISmNiaUFnSUNBZ0lDQWdaWGgwWlc1a1UzUmhkR2xqY3loa0xDQmlLVHRjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCZlh5Z3BJSHNnZEdocGN5NWpiMjV6ZEhKMVkzUnZjaUE5SUdRN0lIMWNjbHh1SUNBZ0lDQWdJQ0JrTG5CeWIzUnZkSGx3WlNBOUlHSWdQVDA5SUc1MWJHd2dQeUJQWW1wbFkzUXVZM0psWVhSbEtHSXBJRG9nS0Y5ZkxuQnliM1J2ZEhsd1pTQTlJR0l1Y0hKdmRHOTBlWEJsTENCdVpYY2dYMThvS1NrN1hISmNiaUFnSUNCOU8xeHlYRzU5S1NncE8xeHlYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEhKY2JtVjRjRzl5ZEhNdVJXMXdkSGxDVkhKbFpTQTlJR1Y0Y0c5eWRITXVZWE5UWlhRZ1BTQmxlSEJ2Y25SekxuTnBiWEJzWlVOdmJYQmhjbUYwYjNJZ1BTQmxlSEJ2Y25SekxtUmxabUYxYkhSRGIyMXdZWEpoZEc5eUlEMGdkbTlwWkNBd08xeHlYRzR2S2lwY2NseHVJQ29nUTI5dGNHRnlaWE1nUkdWbVlYVnNkRU52YlhCaGNtRmliR1Z6SUhSdklHWnZjbTBnWVNCemRISnBZM1FnY0dGeWRHbGhiQ0J2Y21SbGNtbHVaeTVjY2x4dUlDcGNjbHh1SUNvZ1NHRnVaR3hsY3lBckx5MHdJR0Z1WkNCT1lVNGdiR2xyWlNCTllYQTZJRTVoVGlCcGN5QmxjWFZoYkNCMGJ5Qk9ZVTRzSUdGdVpDQXRNQ0JwY3lCbGNYVmhiQ0IwYnlBck1DNWNjbHh1SUNwY2NseHVJQ29nUVhKeVlYbHpJR0Z5WlNCamIyMXdZWEpsWkNCMWMybHVaeUFuUENjZ1lXNWtJQ2MrSnl3Z2QyaHBZMmdnYldGNUlHTmhkWE5sSUhWdVpYaHdaV04wWldRZ1pYRjFZV3hwZEhrNlhISmNiaUFxSUdadmNpQmxlR0Z0Y0d4bElGc3hYU0IzYVd4c0lHSmxJR052Ym5OcFpHVnlaV1FnWlhGMVlXd2dkRzhnV3ljeEoxMHVYSEpjYmlBcVhISmNiaUFxSUZSM2J5QnZZbXBsWTNSeklIZHBkR2dnWlhGMVlXd2dkbUZzZFdWUFppQmpiMjF3WVhKbElIUm9aU0J6WVcxbExDQmlkWFFnWTI5dGNHRnlaU0IxYm1WeGRXRnNJSFJ2WEhKY2JpQXFJSEJ5YVcxcGRHbDJaWE1nZEdoaGRDQm9ZWFpsSUhSb1pTQnpZVzFsSUhaaGJIVmxMbHh5WEc0Z0tpOWNjbHh1Wm5WdVkzUnBiMjRnWkdWbVlYVnNkRU52YlhCaGNtRjBiM0lvWVN3Z1lpa2dlMXh5WEc0Z0lDQWdMeThnVTNCbFkybGhiQ0JqWVhObElHWnBibWwwWlNCdWRXMWlaWEp6SUdacGNuTjBJR1p2Y2lCd1pYSm1iM0p0WVc1alpTNWNjbHh1SUNBZ0lDOHZJRTV2ZEdVZ2RHaGhkQ0IwYUdVZ2RISnBZMnNnYjJZZ2RYTnBibWNnSjJFZ0xTQmlKeUJoYm1RZ1kyaGxZMnRwYm1jZ1ptOXlJRTVoVGlCMGJ5QmtaWFJsWTNRZ2JtOXVMVzUxYldKbGNuTmNjbHh1SUNBZ0lDOHZJR1J2WlhNZ2JtOTBJSGR2Y21zZ2FXWWdkR2hsSUhOMGNtbHVaM01nWVhKbElHNTFiV1Z5YVdNZ0tHVjRPaUJjSWpWY0lpa3VJRlJvYVhNZ2QyOTFiR1FnYkdWaFpHbHVaeUJ0YjNOMElGeHlYRzRnSUNBZ0x5OGdZMjl0Y0dGeWFYTnZiaUJtZFc1amRHbHZibk1nZFhOcGJtY2dkR2hoZENCaGNIQnliMkZqYUNCMGJ5Qm1ZV2xzSUhSdklHaGhkbVVnZEhKaGJuTnBkR2wyYVhSNUxseHlYRzRnSUNBZ2FXWWdLRTUxYldKbGNpNXBjMFpwYm1sMFpTaGhLU0FtSmlCT2RXMWlaWEl1YVhOR2FXNXBkR1VvWWlrcElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZU0F0SUdJN1hISmNiaUFnSUNCOVhISmNiaUFnSUNBdkx5QlVhR1VnWkdWbVlYVnNkQ0E4SUdGdVpDQStJRzl3WlhKaGRHOXljeUJoY21VZ2JtOTBJSFJ2ZEdGc2JIa2diM0prWlhKbFpDNGdWRzhnWVd4c2IzY2dkSGx3WlhNZ2RHOGdZbVVnYldsNFpXUmNjbHh1SUNBZ0lDOHZJR2x1SUdFZ2MybHVaMnhsSUdOdmJHeGxZM1JwYjI0c0lHTnZiWEJoY21VZ2RIbHdaWE1nWVc1a0lHOXlaR1Z5SUhaaGJIVmxjeUJ2WmlCa2FXWm1aWEpsYm5RZ2RIbHdaWE1nWW5rZ2RIbHdaUzVjY2x4dUlDQWdJSFpoY2lCMFlTQTlJSFI1Y0dWdlppQmhPMXh5WEc0Z0lDQWdkbUZ5SUhSaUlEMGdkSGx3Wlc5bUlHSTdYSEpjYmlBZ0lDQnBaaUFvZEdFZ0lUMDlJSFJpS1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUmhJRHdnZEdJZ1B5QXRNU0E2SURFN1hISmNiaUFnSUNCOVhISmNiaUFnSUNCcFppQW9kR0VnUFQwOUlDZHZZbXBsWTNRbktTQjdYSEpjYmlBZ0lDQWdJQ0FnTHk4Z2MzUmhibVJoY21ScGVtVmtJRXBoZG1GVFkzSnBjSFFnWW5Wbk9pQnVkV3hzSUdseklHNXZkQ0JoYmlCdlltcGxZM1FzSUdKMWRDQjBlWEJsYjJZZ2MyRjVjeUJwZENCcGMxeHlYRzRnSUNBZ0lDQWdJR2xtSUNoaElEMDlQU0J1ZFd4c0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWWlBOVBUMGdiblZzYkNBL0lEQWdPaUF0TVR0Y2NseHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGlJRDA5UFNCdWRXeHNLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z01UdGNjbHh1SUNBZ0lDQWdJQ0JoSUQwZ1lTNTJZV3gxWlU5bUtDazdYSEpjYmlBZ0lDQWdJQ0FnWWlBOUlHSXVkbUZzZFdWUFppZ3BPMXh5WEc0Z0lDQWdJQ0FnSUhSaElEMGdkSGx3Wlc5bUlHRTdYSEpjYmlBZ0lDQWdJQ0FnZEdJZ1BTQjBlWEJsYjJZZ1lqdGNjbHh1SUNBZ0lDQWdJQ0F2THlCRVpXRnNJSGRwZEdnZ2RHaGxJSFIzYnlCMllXeDFaVTltS0NseklIQnliMlIxWTJsdVp5QmthV1ptWlhKbGJuUWdkSGx3WlhOY2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdFZ0lUMDlJSFJpS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwWVNBOElIUmlJRDhnTFRFZ09pQXhPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUM4dklHRWdZVzVrSUdJZ1lYSmxJRzV2ZHlCMGFHVWdjMkZ0WlNCMGVYQmxMQ0JoYm1RZ2QybHNiQ0JpWlNCaElHNTFiV0psY2l3Z2MzUnlhVzVuSUc5eUlHRnljbUY1SUZ4eVhHNGdJQ0FnTHk4Z0tIZG9hV05vSUhkbElHRnpjM1Z0WlNCb2IyeGtjeUJ1ZFcxaVpYSnpJRzl5SUhOMGNtbHVaM01wTENCdmNpQnpiMjFsZEdocGJtY2dkVzV6ZFhCd2IzSjBaV1F1WEhKY2JpQWdJQ0JwWmlBb1lTQThJR0lwWEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUMweE8xeHlYRzRnSUNBZ2FXWWdLR0VnUGlCaUtWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQXhPMXh5WEc0Z0lDQWdhV1lnS0dFZ1BUMDlJR0lwWEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SURBN1hISmNiaUFnSUNBdkx5QlBjbVJsY2lCT1lVNGdiR1Z6Y3lCMGFHRnVJRzkwYUdWeUlHNTFiV0psY25OY2NseHVJQ0FnSUdsbUlDaE9kVzFpWlhJdWFYTk9ZVTRvWVNrcFhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFNTFiV0psY2k1cGMwNWhUaWhpS1NBL0lEQWdPaUF0TVR0Y2NseHVJQ0FnSUdWc2MyVWdhV1lnS0U1MWJXSmxjaTVwYzA1aFRpaGlLU2xjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnTVR0Y2NseHVJQ0FnSUM4dklGUm9hWE1nWTI5MWJHUWdZbVVnZEhkdklHOWlhbVZqZEhNZ0tHVXVaeTRnV3pkZElHRnVaQ0JiSnpjblhTa2dkR2hoZENCaGNtVnVKM1FnYjNKa1pYSmxaRnh5WEc0Z0lDQWdjbVYwZFhKdUlFRnljbUY1TG1selFYSnlZWGtvWVNrZ1B5QXdJRG9nVG5WdFltVnlMazVoVGp0Y2NseHVmVnh5WEc1bGVIQnZjblJ6TG1SbFptRjFiSFJEYjIxd1lYSmhkRzl5SUQwZ1pHVm1ZWFZzZEVOdmJYQmhjbUYwYjNJN1hISmNianRjY2x4dVpuVnVZM1JwYjI0Z2MybHRjR3hsUTI5dGNHRnlZWFJ2Y2loaExDQmlLU0I3WEhKY2JpQWdJQ0J5WlhSMWNtNGdZU0ErSUdJZ1B5QXhJRG9nWVNBOElHSWdQeUF0TVNBNklEQTdYSEpjYm4xY2NseHVaWGh3YjNKMGN5NXphVzF3YkdWRGIyMXdZWEpoZEc5eUlEMGdjMmx0Y0d4bFEyOXRjR0Z5WVhSdmNqdGNjbHh1TzF4eVhHNHZLaXBjY2x4dUlDb2dRU0J5WldGemIyNWhZbXg1SUdaaGMzUWdZMjlzYkdWamRHbHZiaUJ2WmlCclpYa3RkbUZzZFdVZ2NHRnBjbk1nZDJsMGFDQmhJSEJ2ZDJWeVpuVnNJRUZRU1M1Y2NseHVJQ29nVEdGeVoyVnNlU0JqYjIxd1lYUnBZbXhsSUhkcGRHZ2dkR2hsSUhOMFlXNWtZWEprSUUxaGNDNGdRbFJ5WldVZ2FYTWdZU0JDS3lCMGNtVmxJR1JoZEdFZ2MzUnlkV04wZFhKbExGeHlYRzRnS2lCemJ5QjBhR1VnWTI5c2JHVmpkR2x2YmlCcGN5QnpiM0owWldRZ1lua2dhMlY1TGx4eVhHNGdLbHh5WEc0Z0tpQkNLeUIwY21WbGN5QjBaVzVrSUhSdklIVnpaU0J0WlcxdmNua2diVzl5WlNCbFptWnBZMmxsYm5Sc2VTQjBhR0Z1SUdoaGMyaDBZV0pzWlhNZ2MzVmphQ0JoY3lCMGFHVmNjbHh1SUNvZ2MzUmhibVJoY21RZ1RXRndMQ0JsYzNCbFkybGhiR3g1SUhkb1pXNGdkR2hsSUdOdmJHeGxZM1JwYjI0Z1kyOXVkR0ZwYm5NZ1lTQnNZWEpuWlNCdWRXMWlaWElnYjJaY2NseHVJQ29nYVhSbGJYTXVJRWh2ZDJWMlpYSXNJRzFoYVc1MFlXbHVhVzVuSUhSb1pTQnpiM0owSUc5eVpHVnlJRzFoYTJWeklIUm9aVzBnYlc5a1pYTjBiSGtnYzJ4dmQyVnlPbHh5WEc0Z0tpQlBLR3h2WnlCemFYcGxLU0J5WVhSb1pYSWdkR2hoYmlCUEtERXBMaUJVYUdseklFSXJJSFJ5WldVZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnYzNWd2NHOXlkSE1nVHlneEtWeHlYRzRnS2lCbVlYTjBJR05zYjI1cGJtY3VJRWwwSUdGc2MyOGdjM1Z3Y0c5eWRITWdabkpsWlhwbEtDa3NJSGRvYVdOb0lHTmhiaUJpWlNCMWMyVmtJSFJ2SUdWdWMzVnlaU0IwYUdGMFhISmNiaUFxSUdFZ1FsUnlaV1VnYVhNZ2JtOTBJR05vWVc1blpXUWdZV05qYVdSbGJuUmhiR3g1TGx4eVhHNGdLbHh5WEc0Z0tpQkRiMjVtZFhOcGJtZHNlU3dnZEdobElFVlROaUJOWVhBdVptOXlSV0ZqYUNoaktTQnRaWFJvYjJRZ1kyRnNiSE1nWXloMllXeDFaU3hyWlhrcElHbHVjM1JsWVdRZ2IyWmNjbHh1SUNvZ1l5aHJaWGtzZG1Gc2RXVXBMQ0JwYmlCamIyNTBjbUZ6ZENCMGJ5QnZkR2hsY2lCdFpYUm9iMlJ6SUhOMVkyZ2dZWE1nYzJWMEtDa2dZVzVrSUdWdWRISnBaWE1vS1Z4eVhHNGdLaUIzYUdsamFDQndkWFFnZEdobElHdGxlU0JtYVhKemRDNGdTU0JqWVc0Z2IyNXNlU0JoYzNOMWJXVWdkR2hoZENCMGFHVWdiM0prWlhJZ2QyRnpJSEpsZG1WeWMyVmtJRzl1WEhKY2JpQXFJSFJvWlNCMGFHVnZjbmtnZEdoaGRDQjFjMlZ5Y3lCM2IzVnNaQ0IxYzNWaGJHeDVJSGRoYm5RZ2RHOGdaWGhoYldsdVpTQjJZV3gxWlhNZ1lXNWtJR2xuYm05eVpTQnJaWGx6TGx4eVhHNGdLaUJDVkhKbFpTZHpJR1p2Y2tWaFkyZ29LU0IwYUdWeVpXWnZjbVVnZDI5eWEzTWdkR2hsSUhOaGJXVWdkMkY1TENCaWRYUWdZU0J6WldOdmJtUWdiV1YwYUc5a1hISmNiaUFxSUdBdVptOXlSV0ZqYUZCaGFYSW9LR3RsZVN4MllXeDFaU2s5UG5zdUxpNTlLV0FnYVhNZ2NISnZkbWxrWldRZ2QyaHBZMmdnYzJWdVpITWdlVzkxSUhSb1pTQnJaWGxjY2x4dUlDb2dabWx5YzNRZ1lXNWtJSFJvWlNCMllXeDFaU0J6WldOdmJtUTdJSFJvYVhNZ2JXVjBhRzlrSUdseklITnNhV2RvZEd4NUlHWmhjM1JsY2lCaVpXTmhkWE5sSUdsMElHbHpYSEpjYmlBcUlIUm9aU0JjSW01aGRHbDJaVndpSUdadmNpMWxZV05vSUcxbGRHaHZaQ0JtYjNJZ2RHaHBjeUJqYkdGemN5NWNjbHh1SUNwY2NseHVJQ29nVDNWMElHOW1JSFJvWlNCaWIzZ3NJRUpVY21WbElITjFjSEJ2Y25SeklHdGxlWE1nZEdoaGRDQmhjbVVnYm5WdFltVnljeXdnYzNSeWFXNW5jeXdnWVhKeVlYbHpJRzltWEhKY2JpQXFJRzUxYldKbGNuTXZjM1J5YVc1bmN5d2dSR0YwWlN3Z1lXNWtJRzlpYW1WamRITWdkR2hoZENCb1lYWmxJR0VnZG1Gc2RXVlBaaWdwSUcxbGRHaHZaQ0J5WlhSMWNtNXBibWNnWVZ4eVhHNGdLaUJ1ZFcxaVpYSWdiM0lnYzNSeWFXNW5MaUJQZEdobGNpQmtZWFJoSUhSNWNHVnpMQ0J6ZFdOb0lHRnpJR0Z5Y21GNWN5QnZaaUJFWVhSbElHOXlJR04xYzNSdmJWeHlYRzRnS2lCdlltcGxZM1J6TENCeVpYRjFhWEpsSUdFZ1kzVnpkRzl0SUdOdmJYQmhjbUYwYjNJc0lIZG9hV05vSUhsdmRTQnRkWE4wSUhCaGMzTWdZWE1nZEdobElITmxZMjl1WkZ4eVhHNGdLaUJoY21kMWJXVnVkQ0IwYnlCMGFHVWdZMjl1YzNSeWRXTjBiM0lnS0hSb1pTQm1hWEp6ZENCaGNtZDFiV1Z1ZENCcGN5QmhiaUJ2Y0hScGIyNWhiQ0JzYVhOMElHOW1YSEpjYmlBcUlHbHVhWFJwWVd3Z2FYUmxiWE1wTGlCVGVXMWliMnh6SUdOaGJtNXZkQ0JpWlNCMWMyVmtJR0Z6SUd0bGVYTWdZbVZqWVhWelpTQjBhR1Y1SUdGeVpTQjFibTl5WkdWeVpXUmNjbHh1SUNvZ0tHOXVaU0JUZVcxaWIyd2dhWE1nYm1WMlpYSWdYQ0puY21WaGRHVnlYQ0lnYjNJZ1hDSnNaWE56WENJZ2RHaGhiaUJoYm05MGFHVnlLUzVjY2x4dUlDcGNjbHh1SUNvZ1FHVjRZVzF3YkdWY2NseHVJQ29nUjJsMlpXNGdZU0I3Ym1GdFpUb2djM1J5YVc1bkxDQmhaMlU2SUc1MWJXSmxjbjBnYjJKcVpXTjBMQ0I1YjNVZ1kyRnVJR055WldGMFpTQmhJSFJ5WldVZ2MyOXlkR1ZrSUdKNVhISmNiaUFxSUc1aGJXVWdZVzVrSUhSb1pXNGdZbmtnWVdkbElHeHBhMlVnZEdocGN6cGNjbHh1SUNwY2NseHVJQ29nSUNBZ0lIWmhjaUIwY21WbElEMGdibVYzSUVKVWNtVmxLSFZ1WkdWbWFXNWxaQ3dnS0dFc0lHSXBJRDArSUh0Y2NseHVJQ29nSUNBZ0lDQWdhV1lnS0dFdWJtRnRaU0ErSUdJdWJtRnRaU2xjY2x4dUlDb2dJQ0FnSUNBZ0lDQnlaWFIxY200Z01Uc2dMeThnVW1WMGRYSnVJR0VnYm5WdFltVnlJRDR3SUhkb1pXNGdZU0ErSUdKY2NseHVJQ29nSUNBZ0lDQWdaV3h6WlNCcFppQW9ZUzV1WVcxbElEd2dZaTV1WVcxbEtWeHlYRzRnS2lBZ0lDQWdJQ0FnSUhKbGRIVnliaUF0TVRzZ0x5OGdVbVYwZFhKdUlHRWdiblZ0WW1WeUlEd3dJSGRvWlc0Z1lTQThJR0pjY2x4dUlDb2dJQ0FnSUNBZ1pXeHpaU0F2THlCdVlXMWxjeUJoY21VZ1pYRjFZV3dnS0c5eUlHbHVZMjl0Y0dGeVlXSnNaU2xjY2x4dUlDb2dJQ0FnSUNBZ0lDQnlaWFIxY200Z1lTNWhaMlVnTFNCaUxtRm5aVHNnTHk4Z1VtVjBkWEp1SUQ0d0lIZG9aVzRnWVM1aFoyVWdQaUJpTG1GblpWeHlYRzRnS2lBZ0lDQWdmU2s3WEhKY2JpQXFYSEpjYmlBcUlDQWdJQ0IwY21WbExuTmxkQ2g3Ym1GdFpUcGNJa0pwYkd4Y0lpd2dZV2RsT2pFM2ZTd2dYQ0pvWVhCd2VWd2lLVHRjY2x4dUlDb2dJQ0FnSUhSeVpXVXVjMlYwS0h0dVlXMWxPbHdpUm5KaGJsd2lMQ0JoWjJVNk5EQjlMQ0JjSW1KMWMza2dKaUJ6ZEhKbGMzTmxaRndpS1R0Y2NseHVJQ29nSUNBZ0lIUnlaV1V1YzJWMEtIdHVZVzFsT2x3aVFtbHNiRndpTENCaFoyVTZOVFY5TENCY0luSmxZMlZ1ZEd4NUlHeGhhV1FnYjJabVhDSXBPMXh5WEc0Z0tpQWdJQ0FnZEhKbFpTNW1iM0pGWVdOb1VHRnBjaWdvYXl3Z2Rpa2dQVDRnZTF4eVhHNGdLaUFnSUNBZ0lDQmpiMjV6YjJ4bExteHZaeWhnVG1GdFpUb2dKSHRyTG01aGJXVjlJRUZuWlRvZ0pIdHJMbUZuWlgwZ1UzUmhkSFZ6T2lBa2UzWjlZQ2s3WEhKY2JpQXFJQ0FnSUNCOUtUdGNjbHh1SUNwY2NseHVJQ29nUUdSbGMyTnlhWEIwYVc5dVhISmNiaUFxSUZSb1pTQmNJbkpoYm1kbFhDSWdiV1YwYUc5a2N5QW9ZR1p2Y2tWaFkyZ3NJR1p2Y2xKaGJtZGxMQ0JsWkdsMFVtRnVaMlZnS1NCM2FXeHNJSEpsZEhWeWJpQjBhR1VnYm5WdFltVnlYSEpjYmlBcUlHOW1JR1ZzWlcxbGJuUnpJSFJvWVhRZ2QyVnlaU0J6WTJGdWJtVmtMaUJKYmlCaFpHUnBkR2x2Yml3Z2RHaGxJR05oYkd4aVlXTnJJR05oYmlCeVpYUjFjbTRnZTJKeVpXRnJPbEo5WEhKY2JpQXFJSFJ2SUhOMGIzQWdaV0Z5YkhrZ1lXNWtJSEpsZEhWeWJpQlNJR1p5YjIwZ2RHaGxJRzkxZEdWeUlHWjFibU4wYVc5dUxseHlYRzRnS2x4eVhHNGdLaUF0SUZSUFJFODZJRlJsYzNRZ2NHVnlabTl5YldGdVkyVWdiMllnY0hKbFlXeHNiMk5oZEdsdVp5QjJZV3gxWlhNZ1lYSnlZWGtnWVhRZ2JXRjRJSE5wZW1WY2NseHVJQ29nTFNCVVQwUlBPaUJCWkdRZ1ptRnpkQ0JwYm1sMGFXRnNhWHBoZEdsdmJpQjNhR1Z1SUdFZ2MyOXlkR1ZrSUdGeWNtRjVJR2x6SUhCeWIzWnBaR1ZrSUhSdklHTnZibk4wY25WamRHOXlYSEpjYmlBcVhISmNiaUFxSUVadmNpQnRiM0psSUdSdlkzVnRaVzUwWVhScGIyNGdjMlZsSUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5eGQyVnlkR2xsTDJKMGNtVmxMWFI1Y0dWelkzSnBjSFJjY2x4dUlDcGNjbHh1SUNvZ1FYSmxJSGx2ZFNCaElFTWpJR1JsZG1Wc2IzQmxjajhnV1c5MUlHMXBaMmgwSUd4cGEyVWdkR2hsSUhOcGJXbHNZWElnWkdGMFlTQnpkSEoxWTNSMWNtVnpJRWtnYldGa1pTQm1iM0lnUXlNNlhISmNiaUFxSUVKRWFXTjBhVzl1WVhKNUxDQkNUR2x6ZEN3Z1pYUmpMaUJUWldVZ2FIUjBjRG92TDJOdmNtVXViRzk1WXk1dVpYUXZZMjlzYkdWamRHbHZibk12WEhKY2JpQXFYSEpjYmlBcUlFQmhkWFJvYjNJZ1JHRjJhV1FnVUdsbGNHZHlZWE56WEhKY2JpQXFMMXh5WEc1MllYSWdRbFJ5WldVZ1BTQXZLaW9nUUdOc1lYTnpJQ292SUNobWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQXZLaXBjY2x4dUlDQWdJQ0FxSUVsdWFYUnBZV3hwZW1WeklHRnVJR1Z0Y0hSNUlFSXJJSFJ5WldVdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ1kyOXRjR0Z5WlNCRGRYTjBiMjBnWm5WdVkzUnBiMjRnZEc4Z1kyOXRjR0Z5WlNCd1lXbHljeUJ2WmlCbGJHVnRaVzUwY3lCcGJpQjBhR1VnZEhKbFpTNWNjbHh1SUNBZ0lDQXFJQ0FnU1dZZ2JtOTBJSE53WldOcFptbGxaQ3dnWkdWbVlYVnNkRU52YlhCaGNtRjBiM0lnZDJsc2JDQmlaU0IxYzJWa0lIZG9hV05vSUdseklIWmhiR2xrSUdGeklHeHZibWNnWVhNZ1N5QmxlSFJsYm1SeklFUmxabUYxYkhSRGIyMXdZWEpoWW14bExseHlYRzRnSUNBZ0lDb2dRSEJoY21GdElHVnVkSEpwWlhNZ1FTQnpaWFFnYjJZZ2EyVjVMWFpoYkhWbElIQmhhWEp6SUhSdklHbHVhWFJwWVd4cGVtVWdkR2hsSUhSeVpXVmNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQnRZWGhPYjJSbFUybDZaU0JDY21GdVkyaHBibWNnWm1GamRHOXlJQ2h0WVhocGJYVnRJR2wwWlcxeklHOXlJR05vYVd4a2NtVnVJSEJsY2lCdWIyUmxLVnh5WEc0Z0lDQWdJQ29nSUNCTmRYTjBJR0psSUdsdUlISmhibWRsSURRdUxqSTFOaTRnU1dZZ2RXNWtaV1pwYm1Wa0lHOXlJRHcwSUhSb1pXNGdaR1ZtWVhWc2RDQnBjeUIxYzJWa095QnBaaUErTWpVMklIUm9aVzRnTWpVMkxseHlYRzRnSUNBZ0lDb3ZYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQkNWSEpsWlNobGJuUnlhV1Z6TENCamIyMXdZWEpsTENCdFlYaE9iMlJsVTJsNlpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYM0p2YjNRZ1BTQkZiWEIwZVV4bFlXWTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NWZjMmw2WlNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NWZiV0Y0VG05a1pWTnBlbVVnUFNCdFlYaE9iMlJsVTJsNlpTQStQU0EwSUQ4Z1RXRjBhQzV0YVc0b2JXRjRUbTlrWlZOcGVtVXNJREkxTmlrZ09pQXpNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbDlqYjIxd1lYSmxJRDBnWTI5dGNHRnlaU0I4ZkNCa1pXWmhkV3gwUTI5dGNHRnlZWFJ2Y2p0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvWlc1MGNtbGxjeWxjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1elpYUlFZV2x5Y3lobGJuUnlhV1Z6S1R0Y2NseHVJQ0FnSUgxY2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaENWSEpsWlM1d2NtOTBiM1I1Y0dVc0lGd2ljMmw2WlZ3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnTHk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNjbHh1SUNBZ0lDQWdJQ0F2THlCRlV6WWdUV0Z3UEVzc1ZqNGdiV1YwYUc5a2N5QXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHlYRzRnSUNBZ0lDQWdJQzhxS2lCSFpYUnpJSFJvWlNCdWRXMWlaWElnYjJZZ2EyVjVMWFpoYkhWbElIQmhhWEp6SUdsdUlIUm9aU0IwY21WbExpQXFMMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnZEdocGN5NWZjMmw2WlRzZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCbVlXeHpaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRUpVY21WbExuQnliM1J2ZEhsd1pTd2dYQ0pzWlc1bmRHaGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lDOHFLaUJIWlhSeklIUm9aU0J1ZFcxaVpYSWdiMllnYTJWNUxYWmhiSFZsSUhCaGFYSnpJR2x1SUhSb1pTQjBjbVZsTGlBcUwxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdkR2hwY3k1ZmMybDZaVHNnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUJtWVd4elpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtFSlVjbVZsTG5CeWIzUnZkSGx3WlN3Z1hDSnBjMFZ0Y0hSNVhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNBdktpb2dVbVYwZFhKdWN5QjBjblZsSUdsbVppQjBhR1VnZEhKbFpTQmpiMjUwWVdsdWN5QnVieUJyWlhrdGRtRnNkV1VnY0dGcGNuTXVJQ292WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCMGFHbHpMbDl6YVhwbElEMDlQU0F3T3lCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNBdktpb2dVbVZzWldGelpYTWdkR2hsSUhSeVpXVWdjMjhnZEdoaGRDQnBkSE1nYzJsNlpTQnBjeUF3TGlBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1Oc1pXRnlJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdVgzSnZiM1FnUFNCRmJYQjBlVXhsWVdZN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1ZmMybDZaU0E5SURBN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRkoxYm5NZ1lTQm1kVzVqZEdsdmJpQm1iM0lnWldGamFDQnJaWGt0ZG1Gc2RXVWdjR0ZwY2l3Z2FXNGdiM0prWlhJZ1puSnZiU0J6YldGc2JHVnpkQ0IwYjF4eVhHNGdJQ0FnSUNvZ0lHeGhjbWRsYzNRZ2EyVjVMaUJHYjNJZ1kyOXRjR0YwYVdKcGJHbDBlU0IzYVhSb0lFVlROaUJOWVhBc0lIUm9aU0JoY21kMWJXVnVkQ0J2Y21SbGNpQjBiMXh5WEc0Z0lDQWdJQ29nSUhSb1pTQmpZV3hzWW1GamF5QnBjeUJpWVdOcmQyRnlaSE02SUhaaGJIVmxJR1pwY25OMExDQjBhR1Z1SUd0bGVTNGdRMkZzYkNCbWIzSkZZV05vVUdGcGNseHlYRzRnSUNBZ0lDb2dJR2x1YzNSbFlXUWdkRzhnY21WalpXbDJaU0IwYUdVZ2EyVjVJR0Z6SUhSb1pTQm1hWEp6ZENCaGNtZDFiV1Z1ZEM1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCMGFHbHpRWEpuSUVsbUlIQnliM1pwWkdWa0xDQjBhR2x6SUhCaGNtRnRaWFJsY2lCcGN5QmhjM05wWjI1bFpDQmhjeUIwYUdVZ1lIUm9hWE5nWEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnZG1Gc2RXVWdabTl5SUdWaFkyZ2dZMkZzYkdKaFkyc3VYSEpjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUIwYUdVZ2JuVnRZbVZ5SUc5bUlIWmhiSFZsY3lCMGFHRjBJSGRsY21VZ2MyVnVkQ0IwYnlCMGFHVWdZMkZzYkdKaFkyc3NYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdiM0lnZEdobElGSWdkbUZzZFdVZ2FXWWdkR2hsSUdOaGJHeGlZV05ySUhKbGRIVnlibVZrSUh0aWNtVmhhenBTZlM0Z0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1bWIzSkZZV05vSUQwZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQjBhR2x6UVhKbktTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlGOTBhR2x6SUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2hwYzBGeVp5QWhQVDBnZFc1a1pXWnBibVZrS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVd4c1ltRmpheUE5SUdOaGJHeGlZV05yTG1KcGJtUW9kR2hwYzBGeVp5azdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVptOXlSV0ZqYUZCaGFYSW9ablZ1WTNScGIyNGdLR3NzSUhZcElIc2djbVYwZFhKdUlHTmhiR3hpWVdOcktIWXNJR3NzSUY5MGFHbHpLVHNnZlNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRkoxYm5NZ1lTQm1kVzVqZEdsdmJpQm1iM0lnWldGamFDQnJaWGt0ZG1Gc2RXVWdjR0ZwY2l3Z2FXNGdiM0prWlhJZ1puSnZiU0J6YldGc2JHVnpkQ0IwYjF4eVhHNGdJQ0FnSUNvZ0lHeGhjbWRsYzNRZ2EyVjVMaUJVYUdVZ1kyRnNiR0poWTJzZ1kyRnVJSEpsZEhWeWJpQjdZbkpsWVdzNlVuMGdLSGRvWlhKbElGSWdhWE1nWVc1NUlIWmhiSFZsWEhKY2JpQWdJQ0FnS2lBZ1pYaGpaWEIwSUhWdVpHVm1hVzVsWkNrZ2RHOGdjM1J2Y0NCcGJXMWxaR2xoZEdWc2VTQmhibVFnY21WMGRYSnVJRklnWm5KdmJTQm1iM0pGWVdOb1VHRnBjaTVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0J2YmtadmRXNWtJRUVnWm5WdVkzUnBiMjRnZEdoaGRDQnBjeUJqWVd4c1pXUWdabTl5SUdWaFkyZ2dhMlY1TFhaaGJIVmxJSEJoYVhJdUlGUm9hWE5jY2x4dUlDQWdJQ0FxSUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUJqWVc0Z2NtVjBkWEp1SUh0aWNtVmhhenBTZlNCMGJ5QnpkRzl3SUdWaGNteDVJSGRwZEdnZ2NtVnpkV3gwSUZJdVhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ1ZHaGxJSEpsWVhOdmJpQjBhR0YwSUhsdmRTQnRkWE4wSUhKbGRIVnliaUI3WW5KbFlXczZVbjBnYVc1emRHVmhaQ0J2WmlCemFXMXdiSGtnVWx4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUdsMGMyVnNaaUJwY3lCbWIzSWdZMjl1YzJsemRHVnVZM2tnZDJsMGFDQmxaR2wwVW1GdVoyVW9LU3dnZDJocFkyZ2dZV3hzYjNkelhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ2JYVnNkR2x3YkdVZ1lXTjBhVzl1Y3l3Z2JtOTBJR3AxYzNRZ1luSmxZV3RwYm1jdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2FXNXBkR2xoYkVOdmRXNTBaWElnVkdocGN5QnBjeUIwYUdVZ2RtRnNkV1VnYjJZZ2RHaGxJSFJvYVhKa0lHRnlaM1Z0Wlc1MElHOW1YSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdZRzl1Um05MWJtUmdJSFJvWlNCbWFYSnpkQ0IwYVcxbElHbDBJR2x6SUdOaGJHeGxaQzRnVkdobElHTnZkVzUwWlhJZ2FXNWpjbVZoYzJWelhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ1lua2diMjVsSUdWaFkyZ2dkR2x0WlNCZ2IyNUdiM1Z1WkdBZ2FYTWdZMkZzYkdWa0xpQkVaV1poZFd4MElIWmhiSFZsT2lBd1hISmNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QjBhR1VnYm5WdFltVnlJRzltSUhCaGFYSnpJSE5sYm5RZ2RHOGdkR2hsSUdOaGJHeGlZV05ySUNod2JIVnpJR2x1YVhScFlXeERiM1Z1ZEdWeUxGeHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lHbG1JSGx2ZFNCd2NtOTJhV1JsWkNCdmJtVXBMaUJKWmlCMGFHVWdZMkZzYkdKaFkyc2djbVYwZFhKdVpXUWdlMkp5WldGck9sSjlJSFJvWlc1Y2NseHVJQ0FnSUNBcUlDQWdJQ0FnSUNCMGFHVWdVaUIyWVd4MVpTQnBjeUJ5WlhSMWNtNWxaQ0JwYm5OMFpXRmtMaUFxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbVp2Y2tWaFkyaFFZV2x5SUQwZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQnBibWwwYVdGc1EyOTFiblJsY2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCc2IzY2dQU0IwYUdsekxtMXBia3RsZVNncExDQm9hV2RvSUQwZ2RHaHBjeTV0WVhoTFpYa29LVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NW1iM0pTWVc1blpTaHNiM2NzSUdocFoyZ3NJSFJ5ZFdVc0lHTmhiR3hpWVdOckxDQnBibWwwYVdGc1EyOTFiblJsY2lrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FYSEpjYmlBZ0lDQWdLaUJHYVc1a2N5QmhJSEJoYVhJZ2FXNGdkR2hsSUhSeVpXVWdZVzVrSUhKbGRIVnlibk1nZEdobElHRnpjMjlqYVdGMFpXUWdkbUZzZFdVdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ1pHVm1ZWFZzZEZaaGJIVmxJR0VnZG1Gc2RXVWdkRzhnY21WMGRYSnVJR2xtSUhSb1pTQnJaWGtnZDJGeklHNXZkQ0JtYjNWdVpDNWNjbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJSFJvWlNCMllXeDFaU3dnYjNJZ1pHVm1ZWFZzZEZaaGJIVmxJR2xtSUhSb1pTQnJaWGtnZDJGeklHNXZkQ0JtYjNWdVpDNWNjbHh1SUNBZ0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCRGIyMXdkWFJoZEdsdmJtRnNJR052YlhCc1pYaHBkSGs2SUU4b2JHOW5JSE5wZW1VcFhISmNiaUFnSUNBZ0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1blpYUWdQU0JtZFc1amRHbHZiaUFvYTJWNUxDQmtaV1poZFd4MFZtRnNkV1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY205dmRDNW5aWFFvYTJWNUxDQmtaV1poZFd4MFZtRnNkV1VzSUhSb2FYTXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzhxS2x4eVhHNGdJQ0FnSUNvZ1FXUmtjeUJ2Y2lCdmRtVnlkM0pwZEdWeklHRWdhMlY1TFhaaGJIVmxJSEJoYVhJZ2FXNGdkR2hsSUVJcklIUnlaV1V1WEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnYTJWNUlIUm9aU0JyWlhrZ2FYTWdkWE5sWkNCMGJ5QmtaWFJsY20xcGJtVWdkR2hsSUhOdmNuUWdiM0prWlhJZ2IyWmNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQmtZWFJoSUdsdUlIUm9aU0IwY21WbExseHlYRzRnSUNBZ0lDb2dRSEJoY21GdElIWmhiSFZsSUdSaGRHRWdkRzhnWVhOemIyTnBZWFJsSUhkcGRHZ2dkR2hsSUd0bGVTQW9iM0IwYVc5dVlXd3BYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdiM1psY25keWFYUmxJRmRvWlhSb1pYSWdkRzhnYjNabGNuZHlhWFJsSUdGdUlHVjRhWE4wYVc1bklHdGxlUzEyWVd4MVpTQndZV2x5WEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnS0dSbFptRjFiSFE2SUhSeWRXVXBMaUJKWmlCMGFHbHpJR2x6SUdaaGJITmxJR0Z1WkNCMGFHVnlaU0JwY3lCaGJpQmxlR2x6ZEdsdVoxeHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lHdGxlUzEyWVd4MVpTQndZV2x5SUhSb1pXNGdkR2hwY3lCdFpYUm9iMlFnYUdGeklHNXZJR1ZtWm1WamRDNWNjbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJSFJ5ZFdVZ2FXWWdZU0J1WlhjZ2EyVjVMWFpoYkhWbElIQmhhWElnZDJGeklHRmtaR1ZrTGx4eVhHNGdJQ0FnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRU52YlhCMWRHRjBhVzl1WVd3Z1kyOXRjR3hsZUdsMGVUb2dUeWhzYjJjZ2MybDZaU2xjY2x4dUlDQWdJQ0FxSUU1dmRHVTZJSGRvWlc0Z2IzWmxjbmR5YVhScGJtY2dZU0J3Y21WMmFXOTFjeUJsYm5SeWVTd2dkR2hsSUd0bGVTQnBjeUIxY0dSaGRHVmtYSEpjYmlBZ0lDQWdLaUJoY3lCM1pXeHNJR0Z6SUhSb1pTQjJZV3gxWlM0Z1ZHaHBjeUJvWVhNZ2JtOGdaV1ptWldOMElIVnViR1Z6Y3lCMGFHVWdibVYzSUd0bGVWeHlYRzRnSUNBZ0lDb2dhR0Z6SUdSaGRHRWdkR2hoZENCa2IyVnpJRzV2ZENCaFptWmxZM1FnYVhSeklITnZjblFnYjNKa1pYSXVYSEpjYmlBZ0lDQWdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNXpaWFFnUFNCbWRXNWpkR2x2YmlBb2EyVjVMQ0IyWVd4MVpTd2diM1psY25keWFYUmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdVgzSnZiM1F1YVhOVGFHRnlaV1FwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVgzSnZiM1FnUFNCMGFHbHpMbDl5YjI5MExtTnNiMjVsS0NrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUhSb2FYTXVYM0p2YjNRdWMyVjBLR3RsZVN3Z2RtRnNkV1VzSUc5MlpYSjNjbWwwWlN3Z2RHaHBjeWs3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDQTlQVDBnZEhKMVpTQjhmQ0J5WlhOMWJIUWdQVDA5SUdaaGJITmxLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4eVhHNGdJQ0FnSUNBZ0lDOHZJRkp2YjNRZ2JtOWtaU0JvWVhNZ2MzQnNhWFFzSUhOdklHTnlaV0YwWlNCaElHNWxkeUJ5YjI5MElHNXZaR1V1WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVmY205dmRDQTlJRzVsZHlCQ1RtOWtaVWx1ZEdWeWJtRnNLRnQwYUdsekxsOXliMjkwTENCeVpYTjFiSFJkS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2S2lwY2NseHVJQ0FnSUNBcUlGSmxkSFZ5Ym5NZ2RISjFaU0JwWmlCMGFHVWdhMlY1SUdWNGFYTjBjeUJwYmlCMGFHVWdRaXNnZEhKbFpTd2dabUZzYzJVZ2FXWWdibTkwTGx4eVhHNGdJQ0FnSUNvZ1ZYTmxJR2RsZENncElHWnZjaUJpWlhOMElIQmxjbVp2Y20xaGJtTmxPeUIxYzJVZ2FHRnpLQ2tnYVdZZ2VXOTFJRzVsWldRZ2RHOWNjbHh1SUNBZ0lDQXFJR1JwYzNScGJtZDFhWE5vSUdKbGRIZGxaVzRnWENKMWJtUmxabWx1WldRZ2RtRnNkV1ZjSWlCaGJtUWdYQ0pyWlhrZ2JtOTBJSEJ5WlhObGJuUmNJaTVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JyWlhrZ1MyVjVJSFJ2SUdSbGRHVmpkRnh5WEc0Z0lDQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlFTnZiWEIxZEdGMGFXOXVZV3dnWTI5dGNHeGxlR2wwZVRvZ1R5aHNiMmNnYzJsNlpTbGNjbHh1SUNBZ0lDQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtaGhjeUE5SUdaMWJtTjBhVzl1SUNoclpYa3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NW1iM0pTWVc1blpTaHJaWGtzSUd0bGVTd2dkSEoxWlN3Z2RXNWtaV1pwYm1Wa0tTQWhQVDBnTUR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdktpcGNjbHh1SUNBZ0lDQXFJRkpsYlc5MlpYTWdZU0J6YVc1bmJHVWdhMlY1TFhaaGJIVmxJSEJoYVhJZ1puSnZiU0IwYUdVZ1Fpc2dkSEpsWlM1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCclpYa2dTMlY1SUhSdklHWnBibVJjY2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUhSeWRXVWdhV1lnWVNCd1lXbHlJSGRoY3lCbWIzVnVaQ0JoYm1RZ2NtVnRiM1psWkN3Z1ptRnNjMlVnYjNSb1pYSjNhWE5sTGx4eVhHNGdJQ0FnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRU52YlhCMWRHRjBhVzl1WVd3Z1kyOXRjR3hsZUdsMGVUb2dUeWhzYjJjZ2MybDZaU2xjY2x4dUlDQWdJQ0FxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbVJsYkdWMFpTQTlJR1oxYm1OMGFXOXVJQ2hyWlhrcElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bFpHbDBVbUZ1WjJVb2EyVjVMQ0JyWlhrc0lIUnlkV1VzSUVSbGJHVjBaVkpoYm1kbEtTQWhQVDBnTUR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1ZDJsMGFDQTlJR1oxYm1OMGFXOXVJQ2hyWlhrc0lIWmhiSFZsTENCdmRtVnlkM0pwZEdVcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JuVWdQU0IwYUdsekxtTnNiMjVsS0NrN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNTFMbk5sZENoclpYa3NJSFpoYkhWbExDQnZkbVZ5ZDNKcGRHVXBJSHg4SUc5MlpYSjNjbWwwWlNBL0lHNTFJRG9nZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZLaW9nVW1WMGRYSnVjeUJoSUdOdmNIa2diMllnZEdobElIUnlaV1VnZDJsMGFDQjBhR1VnYzNCbFkybG1hV1ZrSUd0bGVTMTJZV3gxWlNCd1lXbHljeUJ6WlhRdUlDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWQybDBhRkJoYVhKeklEMGdablZ1WTNScGIyNGdLSEJoYVhKekxDQnZkbVZ5ZDNKcGRHVXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiblVnUFNCMGFHbHpMbU5zYjI1bEtDazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxTG5ObGRGQmhhWEp6S0hCaGFYSnpMQ0J2ZG1WeWQzSnBkR1VwSUNFOVBTQXdJSHg4SUc5MlpYSjNjbWwwWlNBL0lHNTFJRG9nZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZLaW9nVW1WMGRYSnVjeUJoSUdOdmNIa2diMllnZEdobElIUnlaV1VnZDJsMGFDQjBhR1VnYzNCbFkybG1hV1ZrSUd0bGVYTWdjSEpsYzJWdWRDNWNjbHh1SUNBZ0lDQXFJQ0JBY0dGeVlXMGdhMlY1Y3lCVWFHVWdhMlY1Y3lCMGJ5QmhaR1F1SUVsbUlHRWdhMlY1SUdseklHRnNjbVZoWkhrZ2NISmxjMlZ1ZENCcGJpQjBhR1VnZEhKbFpTeGNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQWdibVZwZEdobGNpQjBhR1VnWlhocGMzUnBibWNnYTJWNUlHNXZjaUIwYUdVZ1pYaHBjM1JwYm1jZ2RtRnNkV1VnYVhNZ2JXOWthV1pwWldRdVhISmNiaUFnSUNBZ0tpQWdRSEJoY21GdElISmxkSFZ5YmxSb2FYTkpabFZ1WTJoaGJtZGxaQ0JwWmlCMGNuVmxMQ0J5WlhSMWNtNXpJSFJvYVhNZ2FXWWdZV3hzSUd0bGVYTWdZV3h5WldGa2VWeHlYRzRnSUNBZ0lDb2dJR1Y0YVhOMFpXUXVJRkJsY21admNtMWhibU5sSUc1dmRHVTZJR1IxWlNCMGJ5QjBhR1VnWVhKamFHbDBaV04wZFhKbElHOW1JSFJvYVhNZ1kyeGhjM01zSUdGc2JGeHlYRzRnSUNBZ0lDb2dJRzV2WkdVb2N5a2diR1ZoWkdsdVp5QjBieUJsZUdsemRHbHVaeUJyWlhseklHRnlaU0JqYkc5dVpXUWdaWFpsYmlCcFppQjBhR1VnWTI5c2JHVmpkR2x2YmlCcGMxeHlYRzRnSUNBZ0lDb2dJSFZzZEdsdFlYUmxiSGtnZFc1amFHRnVaMlZrTGx4eVhHNGdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzUzYVhSb1MyVjVjeUE5SUdaMWJtTjBhVzl1SUNoclpYbHpMQ0J5WlhSMWNtNVVhR2x6U1daVmJtTm9ZVzVuWldRcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JuVWdQU0IwYUdsekxtTnNiMjVsS0Nrc0lHTm9ZVzVuWldRZ1BTQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3RsZVhNdWJHVnVaM1JvT3lCcEt5c3BYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHTm9ZVzVuWldRZ1BTQnVkUzV6WlhRb2EyVjVjMXRwWFN3Z2RXNWtaV1pwYm1Wa0xDQm1ZV3h6WlNrZ2ZId2dZMmhoYm1kbFpEdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVYwZFhKdVZHaHBjMGxtVlc1amFHRnVaMlZrSUNZbUlDRmphR0Z1WjJWa0lEOGdkR2hwY3lBNklHNTFPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzhxS2lCU1pYUjFjbTV6SUdFZ1kyOXdlU0J2WmlCMGFHVWdkSEpsWlNCM2FYUm9JSFJvWlNCemNHVmphV1pwWldRZ2EyVjVJSEpsYlc5MlpXUXVYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdjbVYwZFhKdVZHaHBjMGxtVlc1amFHRnVaMlZrSUdsbUlIUnlkV1VzSUhKbGRIVnlibk1nZEdocGN5QnBaaUIwYUdVZ2EyVjVJR1JwWkc0bmRDQmxlR2x6ZEM1Y2NseHVJQ0FnSUNBcUlDQlFaWEptYjNKdFlXNWpaU0J1YjNSbE9pQmtkV1VnZEc4Z2RHaGxJR0Z5WTJocGRHVmpkSFZ5WlNCdlppQjBhR2x6SUdOc1lYTnpMQ0J1YjJSbEtITXBJR3hsWVdScGJtZGNjbHh1SUNBZ0lDQXFJQ0IwYnlCM2FHVnlaU0IwYUdVZ2EyVjVJSGR2ZFd4a0lHaGhkbVVnWW1WbGJpQnpkRzl5WldRZ1lYSmxJR05zYjI1bFpDQmxkbVZ1SUhkb1pXNGdkR2hsSUd0bGVWeHlYRzRnSUNBZ0lDb2dJSFIxY201eklHOTFkQ0J1YjNRZ2RHOGdaWGhwYzNRZ1lXNWtJSFJvWlNCamIyeHNaV04wYVc5dUlHbHpJSFZ1WTJoaGJtZGxaQzVjY2x4dUlDQWdJQ0FxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbmRwZEdodmRYUWdQU0JtZFc1amRHbHZiaUFvYTJWNUxDQnlaWFIxY201VWFHbHpTV1pWYm1Ob1lXNW5aV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUzYVhSb2IzVjBVbUZ1WjJVb2EyVjVMQ0JyWlhrc0lIUnlkV1VzSUhKbGRIVnlibFJvYVhOSlpsVnVZMmhoYm1kbFpDazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xSUZKbGRIVnlibk1nWVNCamIzQjVJRzltSUhSb1pTQjBjbVZsSUhkcGRHZ2dkR2hsSUhOd1pXTnBabWxsWkNCclpYbHpJSEpsYlc5MlpXUXVYSEpjYmlBZ0lDQWdLaUJBY0dGeVlXMGdjbVYwZFhKdVZHaHBjMGxtVlc1amFHRnVaMlZrSUdsbUlIUnlkV1VzSUhKbGRIVnlibk1nZEdocGN5QnBaaUJ1YjI1bElHOW1JSFJvWlNCclpYbHpYSEpjYmlBZ0lDQWdLaUFnWlhocGMzUmxaQzRnVUdWeVptOXliV0Z1WTJVZ2JtOTBaVG9nWkhWbElIUnZJSFJvWlNCaGNtTm9hWFJsWTNSMWNtVWdiMllnZEdocGN5QmpiR0Z6Y3l4Y2NseHVJQ0FnSUNBcUlDQnViMlJsS0hNcElHeGxZV1JwYm1jZ2RHOGdkMmhsY21VZ2RHaGxJR3RsZVNCM2IzVnNaQ0JvWVhabElHSmxaVzRnYzNSdmNtVmtJR0Z5WlNCamJHOXVaV1JjY2x4dUlDQWdJQ0FxSUNCbGRtVnVJSGRvWlc0Z2RHaGxJR3RsZVNCMGRYSnVjeUJ2ZFhRZ2JtOTBJSFJ2SUdWNGFYTjBMbHh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVkMmwwYUc5MWRFdGxlWE1nUFNCbWRXNWpkR2x2YmlBb2EyVjVjeXdnY21WMGRYSnVWR2hwYzBsbVZXNWphR0Z1WjJWa0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHNTFJRDBnZEdocGN5NWpiRzl1WlNncE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkUzVrWld4bGRHVkxaWGx6S0d0bGVYTXBJSHg4SUNGeVpYUjFjbTVVYUdselNXWlZibU5vWVc1blpXUWdQeUJ1ZFNBNklIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlGSmxkSFZ5Ym5NZ1lTQmpiM0I1SUc5bUlIUm9aU0IwY21WbElIZHBkR2dnZEdobElITndaV05wWm1sbFpDQnlZVzVuWlNCdlppQnJaWGx6SUhKbGJXOTJaV1F1SUNvdlhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1ZDJsMGFHOTFkRkpoYm1kbElEMGdablZ1WTNScGIyNGdLR3h2ZHl3Z2FHbG5hQ3dnYVc1amJIVmtaVWhwWjJnc0lISmxkSFZ5YmxSb2FYTkpabFZ1WTJoaGJtZGxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ1ZFNBOUlIUm9hWE11WTJ4dmJtVW9LVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9iblV1WkdWc1pYUmxVbUZ1WjJVb2JHOTNMQ0JvYVdkb0xDQnBibU5zZFdSbFNHbG5hQ2tnUFQwOUlEQWdKaVlnY21WMGRYSnVWR2hwYzBsbVZXNWphR0Z1WjJWa0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblU3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlGSmxkSFZ5Ym5NZ1lTQmpiM0I1SUc5bUlIUm9aU0IwY21WbElIZHBkR2dnY0dGcGNuTWdjbVZ0YjNabFpDQjNhR1Z1WlhabGNpQjBhR1VnWTJGc2JHSmhZMnRjY2x4dUlDQWdJQ0FxSUNCbWRXNWpkR2x2YmlCeVpYUjFjbTV6SUdaaGJITmxMaUJnZDJobGNtVW9LV0FnYVhNZ1lTQnplVzV2Ym5sdElHWnZjaUIwYUdseklHMWxkR2h2WkM0Z0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1bWFXeDBaWElnUFNCbWRXNWpkR2x2YmlBb1kyRnNiR0poWTJzc0lISmxkSFZ5YmxSb2FYTkpabFZ1WTJoaGJtZGxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ1ZFNBOUlIUm9hWE11WjNKbFpXUjVRMnh2Ym1Vb0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVnNPMXh5WEc0Z0lDQWdJQ0FnSUc1MUxtVmthWFJCYkd3b1puVnVZM1JwYjI0Z0tHc3NJSFlzSUdrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZqWVd4c1ltRmpheWhyTENCMkxDQnBLU2xjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrWld3Z1BTQkVaV3hsZEdVN1hISmNiaUFnSUNBZ0lDQWdmU2s3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWld3Z0ppWWdjbVYwZFhKdVZHaHBjMGxtVlc1amFHRnVaMlZrS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xSUZKbGRIVnlibk1nWVNCamIzQjVJRzltSUhSb1pTQjBjbVZsSUhkcGRHZ2dZV3hzSUhaaGJIVmxjeUJoYkhSbGNtVmtJR0o1SUdFZ1kyRnNiR0poWTJzZ1puVnVZM1JwYjI0dUlDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWJXRndWbUZzZFdWeklEMGdablZ1WTNScGIyNGdLR05oYkd4aVlXTnJLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFJ0Y0NBOUlIdDlPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnVkU0E5SUhSb2FYTXVaM0psWldSNVEyeHZibVVvS1R0Y2NseHVJQ0FnSUNBZ0lDQnVkUzVsWkdsMFFXeHNLR1oxYm1OMGFXOXVJQ2hyTENCMkxDQnBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBiWEF1ZG1Gc2RXVWdQU0JqWVd4c1ltRmpheWgyTENCckxDQnBLU3dnZEcxd08xeHlYRzRnSUNBZ0lDQWdJSDBwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWNtVmtkV05sSUQwZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQnBibWwwYVdGc1ZtRnNkV1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYVNBOUlEQXNJSEFnUFNCcGJtbDBhV0ZzVm1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHbDBJRDBnZEdocGN5NWxiblJ5YVdWektIUm9hWE11YldsdVMyVjVLQ2tzSUZKbGRYTmxaRUZ5Y21GNUtTd2dibVY0ZER0Y2NseHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb0lTaHVaWGgwSUQwZ2FYUXVibVY0ZENncEtTNWtiMjVsS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J3SUQwZ1kyRnNiR0poWTJzb2NDd2dibVY0ZEM1MllXeDFaU3dnYVNzckxDQjBhR2x6S1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NEdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2TDF4eVhHNGdJQ0FnTHk4Z1NYUmxjbUYwYjNJZ2JXVjBhRzlrY3lBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNjbHh1SUNBZ0lDOHFLaUJTWlhSMWNtNXpJR0Z1SUdsMFpYSmhkRzl5SUhSb1lYUWdjSEp2ZG1sa1pYTWdhWFJsYlhNZ2FXNGdiM0prWlhJZ0tHRnpZMlZ1WkdsdVp5QnZjbVJsY2lCcFpseHlYRzRnSUNBZ0lDb2dJSFJvWlNCamIyeHNaV04wYVc5dUozTWdZMjl0Y0dGeVlYUnZjaUIxYzJWeklHRnpZMlZ1WkdsdVp5QnZjbVJsY2l3Z1lYTWdhWE1nZEdobElHUmxabUYxYkhRdUtWeHlYRzRnSUNBZ0lDb2dJRUJ3WVhKaGJTQnNiM2RsYzNSTFpYa2dSbWx5YzNRZ2EyVjVJSFJ2SUdKbElHbDBaWEpoZEdWa0xDQnZjaUIxYm1SbFptbHVaV1FnZEc4Z2MzUmhjblFnWVhSY2NseHVJQ0FnSUNBcUlDQWdJQ0FnSUNBZ2JXbHVTMlY1S0NrdUlFbG1JSFJvWlNCemNHVmphV1pwWldRZ2EyVjVJR1J2WlhOdUozUWdaWGhwYzNRZ2RHaGxiaUJwZEdWeVlYUnBiMjVjY2x4dUlDQWdJQ0FxSUNBZ0lDQWdJQ0FnYzNSaGNuUnpJR0YwSUhSb1pTQnVaWGgwSUdocFoyaGxjaUJyWlhrZ0tHRmpZMjl5WkdsdVp5QjBieUIwYUdVZ1kyOXRjR0Z5WVhSdmNpa3VYSEpjYmlBZ0lDQWdLaUFnUUhCaGNtRnRJSEpsZFhObFpFRnljbUY1SUU5d2RHbHZibUZzSUdGeWNtRjVJSFZ6WldRZ2NtVndaV0YwWldSc2VTQjBieUJ6ZEc5eVpTQnJaWGt0ZG1Gc2RXVmNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQWdjR0ZwY25Nc0lIUnZJR0YyYjJsa0lHTnlaV0YwYVc1bklHRWdibVYzSUdGeWNtRjVJRzl1SUdWMlpYSjVJR2wwWlhKaGRHbHZiaTVjY2x4dUlDQWdJQ0FxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbVZ1ZEhKcFpYTWdQU0JtZFc1amRHbHZiaUFvYkc5M1pYTjBTMlY1TENCeVpYVnpaV1JCY25KaGVTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibVp2SUQwZ2RHaHBjeTVtYVc1a1VHRjBhQ2hzYjNkbGMzUkxaWGtwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm1adklEMDlQU0IxYm1SbFptbHVaV1FwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBkR1Z5WVhSdmNpZ3BPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnViMlJsY1hWbGRXVWdQU0JwYm1adkxtNXZaR1Z4ZFdWMVpTd2dibTlrWldsdVpHVjRJRDBnYVc1bWJ5NXViMlJsYVc1a1pYZ3NJR3hsWVdZZ1BTQnBibVp2TG14bFlXWTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlITjBZWFJsSUQwZ2NtVjFjMlZrUVhKeVlYa2dJVDA5SUhWdVpHVm1hVzVsWkNBL0lERWdPaUF3TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ0tHeHZkMlZ6ZEV0bGVTQTlQVDBnZFc1a1pXWnBibVZrSUQ4Z0xURWdPaUJzWldGbUxtbHVaR1Y0VDJZb2JHOTNaWE4wUzJWNUxDQXdMQ0IwYUdsekxsOWpiMjF3WVhKbEtTQXRJREVwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGRHVnlZWFJ2Y2lobWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHcDFiWEE2SUdadmNpQW9PenNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjNhWFJqYUNBb2MzUmhkR1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEQTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNncksya2dQQ0JzWldGbUxtdGxlWE11YkdWdVozUm9LVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ1pHOXVaVG9nWm1Gc2MyVXNJSFpoYkhWbE9pQmJiR1ZoWmk1clpYbHpXMmxkTENCc1pXRm1MblpoYkhWbGMxdHBYVjBnZlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhkR1VnUFNBeU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREU2WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ3JLMmtnUENCc1pXRm1MbXRsZVhNdWJHVnVaM1JvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhWelpXUkJjbkpoZVZzd1hTQTlJR3hsWVdZdWEyVjVjMXRwWFN3Z2NtVjFjMlZrUVhKeVlYbGJNVjBnUFNCc1pXRm1MblpoYkhWbGMxdHBYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lHUnZibVU2SUdaaGJITmxMQ0IyWVd4MVpUb2djbVYxYzJWa1FYSnlZWGtnZlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkR0YwWlNBOUlESTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F5T2x4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QkJaSFpoYm1ObElIUnZJSFJvWlNCdVpYaDBJR3hsWVdZZ2JtOWtaVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJzWlhabGJDQTlJQzB4T3pzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ3JLMnhsZG1Wc0lENDlJRzV2WkdWeGRXVjFaUzVzWlc1bmRHZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEdGMFpTQTlJRE03WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1VnYW5WdGNEdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNncksyNXZaR1ZwYm1SbGVGdHNaWFpsYkYwZ1BDQnViMlJsY1hWbGRXVmJiR1YyWld4ZExteGxibWQwYUNsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLRHNnYkdWMlpXd2dQaUF3T3lCc1pYWmxiQzB0S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YjJSbGNYVmxkV1ZiYkdWMlpXd2dMU0F4WFNBOUlHNXZaR1Z4ZFdWMVpWdHNaWFpsYkYxYmJtOWtaV2x1WkdWNFcyeGxkbVZzWFYwdVkyaHBiR1J5Wlc0N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YjJSbGFXNWtaWGhiYkdWMlpXd2dMU0F4WFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWaFppQTlJRzV2WkdWeGRXVjFaVnN3WFZ0dWIyUmxhVzVrWlhoYk1GMWRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwSUQwZ0xURTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wWVhSbElEMGdjbVYxYzJWa1FYSnlZWGtnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JREVnT2lBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRE02WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI3SUdSdmJtVTZJSFJ5ZFdVc0lIWmhiSFZsT2lCMWJtUmxabWx1WldRZ2ZUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUgwcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLaUJTWlhSMWNtNXpJR0Z1SUdsMFpYSmhkRzl5SUhSb1lYUWdjSEp2ZG1sa1pYTWdhWFJsYlhNZ2FXNGdjbVYyWlhKelpXUWdiM0prWlhJdVhISmNiaUFnSUNBZ0tpQWdRSEJoY21GdElHaHBaMmhsYzNSTFpYa2dTMlY1SUdGMElIZG9hV05vSUhSdklITjBZWEowSUdsMFpYSmhkR2x1Wnl3Z2IzSWdkVzVrWldacGJtVmtJSFJ2WEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnSUhOMFlYSjBJR0YwSUcxaGVFdGxlU2dwTGlCSlppQjBhR1VnYzNCbFkybG1hV1ZrSUd0bGVTQmtiMlZ6YmlkMElHVjRhWE4wSUhSb1pXNGdhWFJsY21GMGFXOXVYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdJSE4wWVhKMGN5QmhkQ0IwYUdVZ2JtVjRkQ0JzYjNkbGNpQnJaWGtnS0dGalkyOXlaR2x1WnlCMGJ5QjBhR1VnWTI5dGNHRnlZWFJ2Y2lrdVhISmNiaUFnSUNBZ0tpQWdRSEJoY21GdElISmxkWE5sWkVGeWNtRjVJRTl3ZEdsdmJtRnNJR0Z5Y21GNUlIVnpaV1FnY21Wd1pXRjBaV1JzZVNCMGJ5QnpkRzl5WlNCclpYa3RkbUZzZFdWY2NseHVJQ0FnSUNBcUlDQWdJQ0FnSUNBZ2NHRnBjbk1zSUhSdklHRjJiMmxrSUdOeVpXRjBhVzVuSUdFZ2JtVjNJR0Z5Y21GNUlHOXVJR1YyWlhKNUlHbDBaWEpoZEdsdmJpNWNjbHh1SUNBZ0lDQXFJQ0JBY0dGeVlXMGdjMnRwY0VocFoyaGxjM1FnU1dabUlIUm9hWE1nWm14aFp5QnBjeUIwY25WbElHRnVaQ0IwYUdVZ2FHbG5hR1Z6ZEV0bGVTQmxlR2x6ZEhNZ2FXNGdkR2hsWEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnSUdOdmJHeGxZM1JwYjI0c0lIUm9aU0J3WVdseUlHMWhkR05vYVc1bklHaHBaMmhsYzNSTFpYa2dhWE1nYzJ0cGNIQmxaQ3dnYm05MElHbDBaWEpoZEdWa0xseHlYRzRnSUNBZ0lDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdVpXNTBjbWxsYzFKbGRtVnljMlZrSUQwZ1puVnVZM1JwYjI0Z0tHaHBaMmhsYzNSTFpYa3NJSEpsZFhObFpFRnljbUY1TENCemEybHdTR2xuYUdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaG9hV2RvWlhOMFMyVjVJRDA5UFNCMWJtUmxabWx1WldRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FHbG5hR1Z6ZEV0bGVTQTlJSFJvYVhNdWJXRjRTMlY1S0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhOcmFYQklhV2RvWlhOMElEMGdkVzVrWldacGJtVmtPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYUdsbmFHVnpkRXRsZVNBOVBUMGdkVzVrWldacGJtVmtLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2wwWlhKaGRHOXlLQ2s3SUM4dklHTnZiR3hsWTNScGIyNGdhWE1nWlcxd2RIbGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJRjloSUQwZ2RHaHBjeTVtYVc1a1VHRjBhQ2hvYVdkb1pYTjBTMlY1S1NCOGZDQjBhR2x6TG1acGJtUlFZWFJvS0hSb2FYTXViV0Y0UzJWNUtDa3BMQ0J1YjJSbGNYVmxkV1VnUFNCZllTNXViMlJsY1hWbGRXVXNJRzV2WkdWcGJtUmxlQ0E5SUY5aExtNXZaR1ZwYm1SbGVDd2diR1ZoWmlBOUlGOWhMbXhsWVdZN1hISmNiaUFnSUNBZ0lDQWdZMmhsWTJzb0lXNXZaR1Z4ZFdWMVpWc3dYU0I4ZkNCc1pXRm1JRDA5UFNCdWIyUmxjWFZsZFdWYk1GMWJibTlrWldsdVpHVjRXekJkWFN3Z1hDSjNZWFFoWENJcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcElEMGdiR1ZoWmk1cGJtUmxlRTltS0docFoyaGxjM1JMWlhrc0lEQXNJSFJvYVhNdVgyTnZiWEJoY21VcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaGMydHBjRWhwWjJobGMzUWdKaVlnYVNBOElHeGxZV1l1YTJWNWN5NXNaVzVuZEdnZ0ppWWdkR2hwY3k1ZlkyOXRjR0Z5WlNoc1pXRm1MbXRsZVhOYmFWMHNJR2hwWjJobGMzUkxaWGtwSUR3OUlEQXBYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHa3JLenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjM1JoZEdVZ1BTQnlaWFZ6WldSQmNuSmhlU0FoUFQwZ2RXNWtaV1pwYm1Wa0lEOGdNU0E2SURBN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHbDBaWEpoZEc5eUtHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhblZ0Y0RvZ1ptOXlJQ2c3T3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM2RwZEdOb0lDaHpkR0YwWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdNRHBjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDMHRhU0ErUFNBd0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnWkc5dVpUb2dabUZzYzJVc0lIWmhiSFZsT2lCYmJHVmhaaTVyWlhselcybGRMQ0JzWldGbUxuWmhiSFZsYzF0cFhWMGdmVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGRHVWdQU0F5TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElERTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNndExXa2dQajBnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMWMyVmtRWEp5WVhsYk1GMGdQU0JzWldGbUxtdGxlWE5iYVYwc0lISmxkWE5sWkVGeWNtRjVXekZkSUQwZ2JHVmhaaTUyWVd4MVpYTmJhVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QmtiMjVsT2lCbVlXeHpaU3dnZG1Gc2RXVTZJSEpsZFhObFpFRnljbUY1SUgwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM1JoZEdVZ1BTQXlPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTWpwY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdRV1IyWVc1alpTQjBieUIwYUdVZ2JtVjRkQ0JzWldGbUlHNXZaR1ZjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYkdWMlpXd2dQU0F0TVRzN0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9LeXRzWlhabGJDQStQU0J1YjJSbGNYVmxkV1V1YkdWdVozUm9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGRHVWdQU0F6TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsSUdwMWJYQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0xTMXViMlJsYVc1a1pYaGJiR1YyWld4ZElENDlJREFwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDZzdJR3hsZG1Wc0lENGdNRHNnYkdWMlpXd3RMU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibTlrWlhGMVpYVmxXMnhsZG1Wc0lDMGdNVjBnUFNCdWIyUmxjWFZsZFdWYmJHVjJaV3hkVzI1dlpHVnBibVJsZUZ0c1pYWmxiRjFkTG1Ob2FXeGtjbVZ1TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibTlrWldsdVpHVjRXMnhsZG1Wc0lDMGdNVjBnUFNCdWIyUmxjWFZsZFdWYmJHVjJaV3dnTFNBeFhTNXNaVzVuZEdnZ0xTQXhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bFlXWWdQU0J1YjJSbGNYVmxkV1ZiTUYxYmJtOWtaV2x1WkdWNFd6QmRYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBOUlHeGxZV1l1YTJWNWN5NXNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBZWFJsSUQwZ2NtVjFjMlZrUVhKeVlYa2dJVDA5SUhWdVpHVm1hVzVsWkNBL0lERWdPaUF3TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElETTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJR1J2Ym1VNklIUnlkV1VzSUhaaGJIVmxPaUIxYm1SbFptbHVaV1FnZlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSDBwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUlGVnpaV1FnWW5rZ1pXNTBjbWxsY3lncElHRnVaQ0JsYm5SeWFXVnpVbVYyWlhKelpXUW9LU0IwYnlCd2NtVndZWEpsSUhSdklITjBZWEowSUdsMFpYSmhkR2x1Wnk1Y2NseHVJQ0FnSUNBcUlFbDBJR1JsZG1Wc2IzQnpJR0VnWENKdWIyUmxJSEYxWlhWbFhDSWdabTl5SUdWaFkyZ2dibTl1TFd4bFlXWWdiR1YyWld3Z2IyWWdkR2hsSUhSeVpXVXVYSEpjYmlBZ0lDQWdLaUJNWlhabGJITWdZWEpsSUc1MWJXSmxjbVZrSUZ3aVltOTBkRzl0TFhWd1hDSWdjMjhnZEdoaGRDQnNaWFpsYkNBd0lHbHpJR0VnYkdsemRDQnZaaUJzWldGbVhISmNiaUFnSUNBZ0tpQnViMlJsY3lCbWNtOXRJR0VnYkc5M0xXeGxkbVZzSUc1dmJpMXNaV0ZtSUc1dlpHVXVJRlJvWlNCeGRXVjFaU0JoZENCaElHZHBkbVZ1SUd4bGRtVnNJRXhjY2x4dUlDQWdJQ0FxSUdOdmJuTnBjM1J6SUc5bUlHNXZaR1Z4ZFdWMVpWdE1YU0IzYUdsamFDQnBjeUIwYUdVZ1kyaHBiR1J5Wlc0Z2IyWWdZU0JDVG05a1pVbHVkR1Z5Ym1Gc0xGeHlYRzRnSUNBZ0lDb2dZVzVrSUc1dlpHVnBibVJsZUZ0TVhTd2dkR2hsSUdOMWNuSmxiblFnYVc1a1pYZ2dkMmwwYUdsdUlIUm9ZWFFnWTJocGJHUWdiR2x6ZEN3Z2MzVmphRnh5WEc0Z0lDQWdJQ29nYzNWamFDQjBhR0YwSUc1dlpHVnhkV1YxWlZ0TUxURmRJRDA5UFNCdWIyUmxjWFZsZFdWYlRGMWJibTlrWldsdVpHVjRXMHhkWFM1amFHbHNaSEpsYmk1Y2NseHVJQ0FnSUNBcUlDaEliM2RsZG1WeUlHbHVjMmxrWlNCMGFHbHpJR1oxYm1OMGFXOXVJSFJvWlNCdmNtUmxjaUJwY3lCeVpYWmxjbk5sWkM0cFhISmNiaUFnSUNBZ0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1bWFXNWtVR0YwYUNBOUlHWjFibU4wYVc5dUlDaHJaWGtwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYm1WNGRHNXZaR1VnUFNCMGFHbHpMbDl5YjI5ME8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCdWIyUmxjWFZsZFdVc0lHNXZaR1ZwYm1SbGVEdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JtVjRkRzV2WkdVdWFYTk1aV0ZtS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUc1dlpHVnhkV1YxWlNBOUlFVnRjSFI1UVhKeVlYa3NJRzV2WkdWcGJtUmxlQ0E5SUVWdGNIUjVRWEp5WVhrN0lDOHZJR0YyYjJsa0lHRnNiRzlqWVhScGIyNXpYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J1YjJSbGNYVmxkV1VnUFNCYlhTd2dibTlrWldsdVpHVjRJRDBnVzEwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdRZ1BTQXdPeUFoYm1WNGRHNXZaR1V1YVhOTVpXRm1PeUJrS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzV2WkdWeGRXVjFaVnRrWFNBOUlHNWxlSFJ1YjJSbExtTm9hV3hrY21WdU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibTlrWldsdVpHVjRXMlJkSUQwZ2EyVjVJRDA5UFNCMWJtUmxabWx1WldRZ1B5QXdJRG9nYm1WNGRHNXZaR1V1YVc1a1pYaFBaaWhyWlhrc0lEQXNJSFJvYVhNdVgyTnZiWEJoY21VcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c1dlpHVnBibVJsZUZ0a1hTQStQU0J1YjJSbGNYVmxkV1ZiWkYwdWJHVnVaM1JvS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqc2dMeThnWm1seWMzUWdhMlY1SUQ0Z2JXRjRTMlY1S0NsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNWxlSFJ1YjJSbElEMGdibTlrWlhGMVpYVmxXMlJkVzI1dlpHVnBibVJsZUZ0a1hWMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2JtOWtaWEYxWlhWbExuSmxkbVZ5YzJVb0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2JtOWtaV2x1WkdWNExuSmxkbVZ5YzJVb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ2JtOWtaWEYxWlhWbE9pQnViMlJsY1hWbGRXVXNJRzV2WkdWcGJtUmxlRG9nYm05a1pXbHVaR1Y0TENCc1pXRm1PaUJ1WlhoMGJtOWtaU0I5TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtseHlYRzRnSUNBZ0lDb2dRMjl0Y0hWMFpYTWdkR2hsSUdScFptWmxjbVZ1WTJWeklHSmxkSGRsWlc0Z1lIUm9hWE5nSUdGdVpDQmdiM1JvWlhKZ0xseHlYRzRnSUNBZ0lDb2dSbTl5SUdWbVptbGphV1Z1WTNrc0lIUm9aU0JrYVdabUlHbHpJSEpsZEhWeWJtVmtJSFpwWVNCcGJuWnZZMkYwYVc5dWN5QnZaaUJ6ZFhCd2JHbGxaQ0JvWVc1a2JHVnljeTVjY2x4dUlDQWdJQ0FxSUZSb1pTQmpiMjF3ZFhSaGRHbHZiaUJwY3lCdmNIUnBiV2w2WldRZ1ptOXlJSFJvWlNCallYTmxJR2x1SUhkb2FXTm9JSFJvWlNCMGQyOGdkSEpsWlhNZ2FHRjJaU0JzWVhKblpTQmhiVzkxYm5SelhISmNiaUFnSUNBZ0tpQnZaaUJ6YUdGeVpXUWdaR0YwWVNBb2IySjBZV2x1WldRZ1lua2dZMkZzYkdsdVp5QjBhR1VnWUdOc2IyNWxZQ0J2Y2lCZ2QybDBhR0FnUVZCSmN5a2dZVzVrSUhkcGJHd2dZWFp2YVdSY2NseHVJQ0FnSUNBcUlHRnVlU0JwZEdWeVlYUnBiMjRnYjJZZ2MyaGhjbVZrSUhOMFlYUmxMbHh5WEc0Z0lDQWdJQ29nVkdobElHaGhibVJzWlhKeklHTmhiaUJqWVhWelpTQmpiMjF3ZFhSaGRHbHZiaUIwYnlCbFlYSnNlU0JsZUdsMElHSjVJSEpsZEhWeWJtbHVaeUI3WW5KbFlXczZJRko5TGx4eVhHNGdJQ0FnSUNvZ1RtVnBkR2hsY2lCdlppQjBhR1VnWTI5c2JHVmpkR2x2Ym5NZ2MyaHZkV3hrSUdKbElHTm9ZVzVuWldRZ1pIVnlhVzVuSUhSb1pTQmpiMjF3WVhKcGMyOXVJSEJ5YjJObGMzTWdLR2x1SUhsdmRYSWdZMkZzYkdKaFkydHpLU3dnWVhNZ2RHaHBjeUJ0WlhSb2IyUWdZWE56ZFcxbGN5QjBhR1Y1SUhkcGJHd2dibTkwSUdKbElHMTFkR0YwWldRdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2IzUm9aWElnVkdobElIUnlaV1VnZEc4Z1kyOXRjSFYwWlNCaElHUnBabVlnWVdkaGFXNXpkQzVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0J2Ym14NVZHaHBjeUJEWVd4c1ltRmpheUJwYm5admEyVmtJR1p2Y2lCaGJHd2dhMlY1Y3lCdmJteDVJSEJ5WlhObGJuUWdhVzRnWUhSb2FYTmdMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJRzl1YkhsUGRHaGxjaUJEWVd4c1ltRmpheUJwYm5admEyVmtJR1p2Y2lCaGJHd2dhMlY1Y3lCdmJteDVJSEJ5WlhObGJuUWdhVzRnWUc5MGFHVnlZQzVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JrYVdabVpYSmxiblFnUTJGc2JHSmhZMnNnYVc1MmIydGxaQ0JtYjNJZ1lXeHNJR3RsZVhNZ2QybDBhQ0JrYVdabVpYSnBibWNnZG1Gc2RXVnpMbHh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVaR2xtWmtGbllXbHVjM1FnUFNCbWRXNWpkR2x2YmlBb2IzUm9aWElzSUc5dWJIbFVhR2x6TENCdmJteDVUM1JvWlhJc0lHUnBabVpsY21WdWRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHZkR2hsY2k1ZlkyOXRjR0Z5WlNBaFBUMGdkR2hwY3k1ZlkyOXRjR0Z5WlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKVWNtVmxJR052YlhCaGNtRjBiM0p6SUdGeVpTQnViM1FnZEdobElITmhiV1V1WENJcE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2hwY3k1cGMwVnRjSFI1SUh4OElHOTBhR1Z5TG1selJXMXdkSGtwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YVhORmJYQjBlU0FtSmlCdmRHaGxjaTVwYzBWdGNIUjVLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2IyNWxJSFJ5WldVZ2FYTWdaVzF3ZEhrc0lHVjJaWEo1ZEdocGJtY2dkMmxzYkNCaVpTQmhiaUJ2Ym14NVZHaHBjeTl2Ym14NVQzUm9aWEl1WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbWx6Ulcxd2RIa3BYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMjVzZVU5MGFHVnlJRDA5UFNCMWJtUmxabWx1WldRZ1B5QjFibVJsWm1sdVpXUWdPaUJDVkhKbFpTNXpkR1Z3Vkc5RmJtUW9RbFJ5WldVdWJXRnJaVVJwWm1aRGRYSnpiM0lvYjNSb1pYSXBMQ0J2Ym14NVQzUm9aWElwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMjVzZVZSb2FYTWdQVDA5SUhWdVpHVm1hVzVsWkNBL0lIVnVaR1ZtYVc1bFpDQTZJRUpVY21WbExuTjBaWEJVYjBWdVpDaENWSEpsWlM1dFlXdGxSR2xtWmtOMWNuTnZjaWgwYUdsektTd2diMjVzZVZSb2FYTXBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQXZMeUJEZFhKemIzSXRZbUZ6WldRZ1pHbG1aaUJoYkdkdmNtbDBhRzBnYVhNZ1lYTWdabTlzYkc5M2N6cGNjbHh1SUNBZ0lDQWdJQ0F2THlBdElGVnVkR2xzSUc1bGFYUm9aWElnWTNWeWMyOXlJR2hoY3lCdVlYWnBaMkYwWldRZ2RHOGdkR2hsSUdWdVpDQnZaaUIwYUdVZ2RISmxaU3dnWkc4Z2RHaGxJR1p2Ykd4dmQybHVaenBjY2x4dUlDQWdJQ0FnSUNBdkx5QWdMU0JKWmlCMGFHVWdZSFJvYVhOZ0lHTjFjbk52Y2lCcGN5QmNJbUpsYUdsdVpGd2lJSFJvWlNCZ2IzUm9aWEpnSUdOMWNuTnZjaUFvYzNSeWFXTjBiSGtnUEN3Z2RtbGhJR052YlhCaGNtVXBMQ0JoWkhaaGJtTmxJR2wwTGx4eVhHNGdJQ0FnSUNBZ0lDOHZJQ0F0SUU5MGFHVnlkMmx6WlN3Z1lXUjJZVzVqWlNCMGFHVWdZRzkwYUdWeVlDQmpkWEp6YjNJdVhISmNiaUFnSUNBZ0lDQWdMeThnSUMwZ1FXNTVJSFJwYldVZ1lTQmpkWEp6YjNJZ2FYTWdjM1JsY0hCbFpDd2djR1Z5Wm05eWJTQjBhR1VnWm05c2JHOTNhVzVuT2x4eVhHNGdJQ0FnSUNBZ0lDOHZJQ0FnSUMwZ1NXWWdaV2wwYUdWeUlHTjFjbk52Y2lCd2IybHVkSE1nZEc4Z1lTQnJaWGt2ZG1Gc2RXVWdjR0ZwY2pwY2NseHVJQ0FnSUNBZ0lDQXZMeUFnSUNBZ0lDMGdTV1lnZEdocGMwTjFjbk52Y2lBOVBUMGdiM1JvWlhKRGRYSnpiM0lnWVc1a0lIUm9aU0IyWVd4MVpYTWdaR2xtWm1WeUxDQnBkQ0JwY3lCaElFUnBabVpsY21WdWRDNWNjbHh1SUNBZ0lDQWdJQ0F2THlBZ0lDQWdJQzBnU1dZZ2RHaHBjME4xY25OdmNpQStJRzkwYUdWeVEzVnljMjl5SUdGdVpDQnZkR2hsY2tOMWNuTnZjaUJwY3lCaGRDQmhJR3RsZVM5MllXeDFaU0J3WVdseUxDQnBkQ0JwY3lCaGJpQlBibXg1VDNSb1pYSXVYSEpjYmlBZ0lDQWdJQ0FnTHk4Z0lDQWdJQ0F0SUVsbUlIUm9hWE5EZFhKemIzSWdQQ0J2ZEdobGNrTjFjbk52Y2lCaGJtUWdkR2hwYzBOMWNuTnZjaUJwY3lCaGRDQmhJR3RsZVM5MllXeDFaU0J3WVdseUxDQnBkQ0JwY3lCaGJpQlBibXg1VkdocGN5QmhjeUJzYjI1bklHRnpJSFJvWlNCdGIzTjBJSEpsWTJWdWRDQmNjbHh1SUNBZ0lDQWdJQ0F2THlBZ0lDQWdJQ0FnWTNWeWMyOXlJSE4wWlhBZ2QyRnpJQ3B1YjNRcUlHOTBhR1Z5UTNWeWMyOXlJR0ZrZG1GdVkybHVaeUJtY205dElHRWdkR2xsTGlCVWFHVWdaWGgwY21FZ1kyOXVaR2wwYVc5dUlHRjJiMmxrY3lCbGNuSnZibVZ2ZFhNZ1QyNXNlVTkwYUdWeUlHTmhiR3h6SUZ4eVhHNGdJQ0FnSUNBZ0lDOHZJQ0FnSUNBZ0lDQjBhR0YwSUhkdmRXeGtJRzlqWTNWeUlHUjFaU0IwYnlCdmRHaGxja04xY25OdmNpQmlaV2x1WnlCMGFHVWdYQ0pzWldGa1pYSmNJaTVjY2x4dUlDQWdJQ0FnSUNBdkx5QWdJQ0F0SUU5MGFHVnlkMmx6WlN3Z2FXWWdZbTkwYUNCamRYSnpiM0p6SUhCdmFXNTBJSFJ2SUc1dlpHVnpMQ0JqYjIxd1lYSmxJSFJvWlcwdUlFbG1JSFJvWlhrZ1lYSmxJR1Z4ZFdGc0lHSjVJSEpsWm1WeVpXNWpaU0FvYzJoaGNtVmtLU3dnYzJ0cGNGeHlYRzRnSUNBZ0lDQWdJQzh2SUNBZ0lDQWdZbTkwYUNCamRYSnpiM0p6SUhSdklIUm9aU0J1WlhoMElHNXZaR1VnYVc0Z2RHaGxJSGRoYkdzdVhISmNiaUFnSUNBZ0lDQWdMeThnTFNCUGJtTmxJRzl1WlNCamRYSnpiM0lnYUdGeklHWnBibWx6YUdWa0lITjBaWEJ3YVc1bkxDQmhibmtnY21WdFlXbHVhVzVuSUhOMFpYQnpJQ2hwWmlCaGJua3BJR0Z5WlNCMFlXdGxiaUJoYm1RZ2EyVjVMM1poYkhWbElIQmhhWEp6SUdGeVpTQnNiMmRuWldSY2NseHVJQ0FnSUNBZ0lDQXZMeUFnSUdGeklFOXViSGxQZEdobGNpQW9hV1lnYjNSb1pYSkRkWEp6YjNJZ2FYTWdjM1JsY0hCcGJtY3BJRzl5SUU5dWJIbFVhR2x6SUNocFppQjBhR2x6UTNWeWMyOXlJR2x6SUhOMFpYQndhVzVuS1M1Y2NseHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklHRnNaMjl5YVhSb2JTQm5hWFpsY3lCMGFHVWdZM0pwZEdsallXd2daM1ZoY21GdWRHVmxJSFJvWVhRZ1lXeHNJR3h2WTJGMGFXOXVjeUFvWW05MGFDQnViMlJsY3lCaGJtUWdhMlY1TDNaaGJIVmxJSEJoYVhKektTQnBiaUJpYjNSb0lIUnlaV1Z6SUhSb1lYUWdYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1lYSmxJR2xrWlc1MGFXTmhiQ0JpZVNCMllXeDFaU0FvWVc1a0lIQnZjM05wWW14NUlHSjVJSEpsWm1WeVpXNWpaU2tnZDJsc2JDQmlaU0IyYVhOcGRHVmtJQ3BoZENCMGFHVWdjMkZ0WlNCMGFXMWxLaUJpZVNCMGFHVWdZM1Z5YzI5eWN5NWNjbHh1SUNBZ0lDQWdJQ0F2THlCVWFHbHpJSEpsYlc5MlpYTWdkR2hsSUhCdmMzTnBZbWxzYVhSNUlHOW1JR1Z0YVhSMGFXNW5JR2x1WTI5eWNtVmpkQ0JrYVdabWN5d2dZWE1nZDJWc2JDQmhjeUJoYkd4dmQybHVaeUJtYjNJZ2MydHBjSEJwYm1jZ2MyaGhjbVZrSUc1dlpHVnpMbHh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmZZMjl0Y0dGeVpTQTlJSFJvYVhNdVgyTnZiWEJoY21VN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhSb2FYTkRkWEp6YjNJZ1BTQkNWSEpsWlM1dFlXdGxSR2xtWmtOMWNuTnZjaWgwYUdsektUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2IzUm9aWEpEZFhKemIzSWdQU0JDVkhKbFpTNXRZV3RsUkdsbVprTjFjbk52Y2lodmRHaGxjaWs3WEhKY2JpQWdJQ0FnSUNBZ0x5OGdTWFFnWkc5bGMyNG5kQ0J0WVhSMFpYSWdhRzkzSUhSb2FYTlRkR1Z3Y0dWa1RHRnpkQ0JwY3lCcGJtbDBhV0ZzYVhwbFpDNWNjbHh1SUNBZ0lDQWdJQ0F2THlCVGRHVndJRzl5WkdWeUlHbHpJRzl1YkhrZ2RYTmxaQ0IzYUdWdUlHVnBkR2hsY2lCamRYSnpiM0lnYVhNZ1lYUWdZU0JzWldGbUxDQmhibVFnWTNWeWMyOXljeUJoYkhkaGVYTWdjM1JoY25RZ1lYUWdZU0J1YjJSbExseHlYRzRnSUNBZ0lDQWdJSFpoY2lCMGFHbHpVM1ZqWTJWemN5QTlJSFJ5ZFdVc0lHOTBhR1Z5VTNWalkyVnpjeUE5SUhSeWRXVXNJSEJ5WlhaRGRYSnpiM0pQY21SbGNpQTlJRUpVY21WbExtTnZiWEJoY21Vb2RHaHBjME4xY25OdmNpd2diM1JvWlhKRGRYSnpiM0lzSUY5amIyMXdZWEpsS1R0Y2NseHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2RHaHBjMU4xWTJObGMzTWdKaVlnYjNSb1pYSlRkV05qWlhOektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJqZFhKemIzSlBjbVJsY2lBOUlFSlVjbVZsTG1OdmJYQmhjbVVvZEdocGMwTjFjbk52Y2l3Z2IzUm9aWEpEZFhKemIzSXNJRjlqYjIxd1lYSmxLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhSb2FYTk1aV0ZtSUQwZ2RHaHBjME4xY25OdmNpNXNaV0ZtTENCMGFHbHpTVzUwWlhKdVlXeFRjR2x1WlNBOUlIUm9hWE5EZFhKemIzSXVhVzUwWlhKdVlXeFRjR2x1WlN3Z2RHaHBjMHhsZG1Wc1NXNWthV05sY3lBOUlIUm9hWE5EZFhKemIzSXViR1YyWld4SmJtUnBZMlZ6TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2IzUm9aWEpNWldGbUlEMGdiM1JvWlhKRGRYSnpiM0l1YkdWaFppd2diM1JvWlhKSmJuUmxjbTVoYkZOd2FXNWxJRDBnYjNSb1pYSkRkWEp6YjNJdWFXNTBaWEp1WVd4VGNHbHVaU3dnYjNSb1pYSk1aWFpsYkVsdVpHbGpaWE1nUFNCdmRHaGxja04xY25OdmNpNXNaWFpsYkVsdVpHbGpaWE03WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpUR1ZoWmlCOGZDQnZkR2hsY2t4bFlXWXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklFbG1JSFJvWlNCamRYSnpiM0p6SUhkbGNtVWdZWFFnZEdobElITmhiV1VnYkc5allYUnBiMjRnYkdGemRDQnpkR1Z3TENCMGFHVnVJSFJvWlhKbElHbHpJRzV2SUhkdmNtc2dkRzhnWW1VZ1pHOXVaUzVjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHdjbVYyUTNWeWMyOXlUM0prWlhJZ0lUMDlJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kzVnljMjl5VDNKa1pYSWdQVDA5SURBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSb2FYTk1aV0ZtSUNZbUlHOTBhR1Z5VEdWaFppQW1KaUJrYVdabVpYSmxiblFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUVWeGRXRnNJR3RsZVhNc0lHTm9aV05ySUdadmNpQnRiMlJwWm1sallYUnBiMjV6WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnZG1Gc1ZHaHBjeUE5SUhSb2FYTk1aV0ZtTG5aaGJIVmxjMXQwYUdselRHVjJaV3hKYm1ScFkyVnpXM1JvYVhOTVpYWmxiRWx1WkdsalpYTXViR1Z1WjNSb0lDMGdNVjFkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhaaGJFOTBhR1Z5SUQwZ2IzUm9aWEpNWldGbUxuWmhiSFZsYzF0dmRHaGxja3hsZG1Wc1NXNWthV05sYzF0dmRHaGxja3hsZG1Wc1NXNWthV05sY3k1c1pXNW5kR2dnTFNBeFhWMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JVTlpYW1WamRDNXBjeWgyWVd4VWFHbHpMQ0IyWVd4UGRHaGxjaWtwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdjbVZ6ZFd4MElEMGdaR2xtWm1WeVpXNTBLSFJvYVhORGRYSnpiM0l1WTNWeWNtVnVkRXRsZVN3Z2RtRnNWR2hwY3l3Z2RtRnNUM1JvWlhJcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMWJIUWdKaVlnY21WemRXeDBMbUp5WldGcktWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4MExtSnlaV0ZyTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHTjFjbk52Y2s5eVpHVnlJRDRnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCMGFHbHpJR2x6SUhSb1pTQmpZWE5sTENCM1pTQnJibTkzSUhSb1lYUWdaV2wwYUdWeU9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUF4TGlCdmRHaGxja04xY25OdmNpQnpkR1Z3Y0dWa0lHeGhjM1FnWm5KdmJTQmhJSE4wWVhKMGFXNW5JSEJ2YzJsMGFXOXVJSFJvWVhRZ2RISmhhV3hsWkNCMGFHbHpRM1Z5YzI5eUxDQmhibVFnYVhNZ2MzUnBiR3dnWW1Wb2FXNWtMQ0J2Y2x4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QXlMaUIwYUdselEzVnljMjl5SUhOMFpYQndaV1FnYkdGemRDQmhibVFnYkdWaGNHWnliMmRuWldRZ2IzUm9aWEpEZFhKemIzSmNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnUldsMGFHVnlJRzltSUhSb1pYTmxJR05oYzJWeklHbHpJR0Z1SUZ3aWIyNXNlU0J2ZEdobGNsd2lYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodmRHaGxja3hsWVdZZ0ppWWdiMjVzZVU5MGFHVnlLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnYjNSb1pYSldZV3dnUFNCdmRHaGxja3hsWVdZdWRtRnNkV1Z6VzI5MGFHVnlUR1YyWld4SmJtUnBZMlZ6VzI5MGFHVnlUR1YyWld4SmJtUnBZMlZ6TG14bGJtZDBhQ0F0SURGZFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQnZibXg1VDNSb1pYSW9iM1JvWlhKRGRYSnpiM0l1WTNWeWNtVnVkRXRsZVN3Z2IzUm9aWEpXWVd3cE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENBbUppQnlaWE4xYkhRdVluSmxZV3NwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzNWc2RDNWljbVZoYXp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2h2Ym14NVZHaHBjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwYzB4bFlXWWdKaVlnY0hKbGRrTjFjbk52Y2s5eVpHVnlJQ0U5UFNBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdkbUZzVkdocGN5QTlJSFJvYVhOTVpXRm1MblpoYkhWbGMxdDBhR2x6VEdWMlpXeEpibVJwWTJWelczUm9hWE5NWlhabGJFbHVaR2xqWlhNdWJHVnVaM1JvSUMwZ01WMWRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJRzl1YkhsVWFHbHpLSFJvYVhORGRYSnpiM0l1WTNWeWNtVnVkRXRsZVN3Z2RtRnNWR2hwY3lrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwSUNZbUlISmxjM1ZzZEM1aWNtVmhheWxjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4MExtSnlaV0ZyTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0NGMGFHbHpUR1ZoWmlBbUppQWhiM1JvWlhKTVpXRm1JQ1ltSUdOMWNuTnZjazl5WkdWeUlEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnYkdGemRGUm9hWE1nUFNCMGFHbHpTVzUwWlhKdVlXeFRjR2x1WlM1c1pXNW5kR2dnTFNBeE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUd4aGMzUlBkR2hsY2lBOUlHOTBhR1Z5U1c1MFpYSnVZV3hUY0dsdVpTNXNaVzVuZEdnZ0xTQXhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHNXZaR1ZVYUdseklEMGdkR2hwYzBsdWRHVnlibUZzVTNCcGJtVmJiR0Z6ZEZSb2FYTmRXM1JvYVhOTVpYWmxiRWx1WkdsalpYTmJiR0Z6ZEZSb2FYTmRYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnViMlJsVDNSb1pYSWdQU0J2ZEdobGNrbHVkR1Z5Ym1Gc1UzQnBibVZiYkdGemRFOTBhR1Z5WFZ0dmRHaGxja3hsZG1Wc1NXNWthV05sYzF0c1lYTjBUM1JvWlhKZFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodWIyUmxUM1JvWlhJZ1BUMDlJRzV2WkdWVWFHbHpLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEpsZGtOMWNuTnZjazl5WkdWeUlEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6VTNWalkyVnpjeUE5SUVKVWNtVmxMbk4wWlhBb2RHaHBjME4xY25OdmNpd2dkSEoxWlNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjNSb1pYSlRkV05qWlhOeklEMGdRbFJ5WldVdWMzUmxjQ2h2ZEdobGNrTjFjbk52Y2l3Z2RISjFaU2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjSEpsZGtOMWNuTnZjazl5WkdWeUlEMGdZM1Z5YzI5eVQzSmtaWEk3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamRYSnpiM0pQY21SbGNpQThJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE5UZFdOalpYTnpJRDBnUWxSeVpXVXVjM1JsY0NoMGFHbHpRM1Z5YzI5eUtUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5MGFHVnlVM1ZqWTJWemN5QTlJRUpVY21WbExuTjBaWEFvYjNSb1pYSkRkWEp6YjNJcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6VTNWalkyVnpjeUFtSmlCdmJteDVWR2hwY3lsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRUpVY21WbExtWnBibWx6YUVOMWNuTnZjbGRoYkdzb2RHaHBjME4xY25OdmNpd2diM1JvWlhKRGRYSnpiM0lzSUY5amIyMXdZWEpsTENCdmJteDVWR2hwY3lrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0c5MGFHVnlVM1ZqWTJWemN5QW1KaUJ2Ym14NVQzUm9aWElwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQkNWSEpsWlM1bWFXNXBjMmhEZFhKemIzSlhZV3hyS0c5MGFHVnlRM1Z5YzI5eUxDQjBhR2x6UTNWeWMyOXlMQ0JmWTI5dGNHRnlaU3dnYjI1c2VVOTBhR1Z5S1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNjbHh1SUNBZ0lDOHZJRWhsYkhCbGNpQnRaWFJvYjJSeklHWnZjaUJrYVdabVFXZGhhVzV6ZENBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh5WEc0Z0lDQWdRbFJ5WldVdVptbHVhWE5vUTNWeWMyOXlWMkZzYXlBOUlHWjFibU4wYVc5dUlDaGpkWEp6YjNJc0lHTjFjbk52Y2tacGJtbHphR1ZrTENCamIyMXdZWEpsUzJWNWN5d2dZMkZzYkdKaFkyc3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZMjl0Y0dGeVpXUWdQU0JDVkhKbFpTNWpiMjF3WVhKbEtHTjFjbk52Y2l3Z1kzVnljMjl5Um1sdWFYTm9aV1FzSUdOdmJYQmhjbVZMWlhsektUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1kyOXRjR0Z5WldRZ1BUMDlJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRkNWSEpsWlM1emRHVndLR04xY25OdmNpa3BYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGpiMjF3WVhKbFpDQThJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWTJobFkyc29abUZzYzJVc0lGd2lZM1Z5YzI5eUlIZGhiR3NnZEdWeWJXbHVZWFJsWkNCbFlYSnNlVndpS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRUpVY21WbExuTjBaWEJVYjBWdVpDaGpkWEp6YjNJc0lHTmhiR3hpWVdOcktUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQkNWSEpsWlM1emRHVndWRzlGYm1RZ1BTQm1kVzVqZEdsdmJpQW9ZM1Z5YzI5eUxDQmpZV3hzWW1GamF5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmpZVzVUZEdWd0lEMGdkSEoxWlR0Y2NseHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb1kyRnVVM1JsY0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdiR1ZoWmlBOUlHTjFjbk52Y2k1c1pXRm1MQ0JzWlhabGJFbHVaR2xqWlhNZ1BTQmpkWEp6YjNJdWJHVjJaV3hKYm1ScFkyVnpMQ0JqZFhKeVpXNTBTMlY1SUQwZ1kzVnljMjl5TG1OMWNuSmxiblJMWlhrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHNaV0ZtS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnZG1Gc2RXVWdQU0JzWldGbUxuWmhiSFZsYzF0c1pYWmxiRWx1WkdsalpYTmJiR1YyWld4SmJtUnBZMlZ6TG14bGJtZDBhQ0F0SURGZFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpYTjFiSFFnUFNCallXeHNZbUZqYXloamRYSnlaVzUwUzJWNUxDQjJZV3gxWlNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBJQ1ltSUhKbGMzVnNkQzVpY21WaGF5bGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBMbUp5WldGck8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGJsTjBaWEFnUFNCQ1ZISmxaUzV6ZEdWd0tHTjFjbk52Y2lrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUWxSeVpXVXViV0ZyWlVScFptWkRkWEp6YjNJZ1BTQm1kVzVqZEdsdmJpQW9kSEpsWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCZmNtOXZkQ0E5SUhSeVpXVXVYM0p2YjNRc0lHaGxhV2RvZENBOUlIUnlaV1V1YUdWcFoyaDBPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUI3SUdobGFXZG9kRG9nYUdWcFoyaDBMQ0JwYm5SbGNtNWhiRk53YVc1bE9pQmJXMTl5YjI5MFhWMHNJR3hsZG1Wc1NXNWthV05sY3pvZ1d6QmRMQ0JzWldGbU9pQjFibVJsWm1sdVpXUXNJR04xY25KbGJuUkxaWGs2SUY5eWIyOTBMbTFoZUV0bGVTZ3BJSDA3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcVhISmNiaUFnSUNBZ0tpQkJaSFpoYm1ObGN5QjBhR1VnWTNWeWMyOXlJSFJ2SUhSb1pTQnVaWGgwSUhOMFpYQWdhVzRnZEdobElIZGhiR3NnYjJZZ2FYUnpJSFJ5WldVdVhISmNiaUFnSUNBZ0tpQkRkWEp6YjNKeklHRnlaU0IzWVd4clpXUWdZbUZqYTNkaGNtUnpJR2x1SUhOdmNuUWdiM0prWlhJc0lHRnpJSFJvYVhNZ1lXeHNiM2R6SUhSb1pXMGdkRzhnYkdWMlpYSmhaMlVnYldGNFMyVjVLQ2tnYVc0Z2IzSmtaWElnZEc4Z1ltVWdZMjl0Y0dGeVpXUWdhVzRnVHlneEtTNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQmpkWEp6YjNJZ1ZHaGxJR04xY25OdmNpQjBieUJ6ZEdWd1hISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2MzUmxjRlJ2VG05a1pTQkpaaUIwY25WbExDQjBhR1VnWTNWeWMyOXlJSGRwYkd3Z1ltVWdZV1IyWVc1alpXUWdkRzhnZEdobElHNWxlSFFnYm05a1pTQW9jMnRwY0hCcGJtY2dkbUZzZFdWektWeHlYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdkSEoxWlNCcFppQjBhR1VnYzNSbGNDQjNZWE1nWTI5dGNHeGxkR1ZrSUdGdVpDQm1ZV3h6WlNCcFppQjBhR1VnYzNSbGNDQjNiM1ZzWkNCb1lYWmxJR05oZFhObFpDQjBhR1VnWTNWeWMyOXlJSFJ2SUcxdmRtVWdZbVY1YjI1a0lIUm9aU0JsYm1RZ2IyWWdkR2hsSUhSeVpXVXVYSEpjYmlBZ0lDQWdLaTljY2x4dUlDQWdJRUpVY21WbExuTjBaWEFnUFNCbWRXNWpkR2x2YmlBb1kzVnljMjl5TENCemRHVndWRzlPYjJSbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHbHVkR1Z5Ym1Gc1UzQnBibVVnUFNCamRYSnpiM0l1YVc1MFpYSnVZV3hUY0dsdVpTd2diR1YyWld4SmJtUnBZMlZ6SUQwZ1kzVnljMjl5TG14bGRtVnNTVzVrYVdObGN5d2diR1ZoWmlBOUlHTjFjbk52Y2k1c1pXRm1PMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHpkR1Z3Vkc5T2IyUmxJRDA5UFNCMGNuVmxJSHg4SUd4bFlXWXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUd4bGRtVnNjMHhsYm1kMGFDQTlJR3hsZG1Wc1NXNWthV05sY3k1c1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZOMFpYQWdkRzhnZEdobElHNWxlSFFnYm05a1pTQnZibXg1SUdsbU9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QXRJRmRsSUdGeVpTQmxlSEJzYVdOcGRHeDVJR1JwY21WamRHVmtJSFJ2SUhacFlTQnpkR1Z3Vkc5T2IyUmxMQ0J2Y2x4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlBdElGUm9aWEpsSUdGeVpTQnVieUJyWlhrdmRtRnNkV1VnY0dGcGNuTWdiR1ZtZENCMGJ5QnpkR1Z3SUhSdklHbHVJSFJvYVhNZ2JHVmhabHh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYzNSbGNGUnZUbTlrWlNBOVBUMGdkSEoxWlNCOGZDQnNaWFpsYkVsdVpHbGpaWE5iYkdWMlpXeHpUR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnpjR2x1WlV4bGJtZDBhQ0E5SUdsdWRHVnlibUZzVTNCcGJtVXViR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVW05dmRDQnBjeUJzWldGbVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYzNCcGJtVk1aVzVuZEdnZ1BUMDlJREFwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWMkZzYXlCaVlXTnJJSFZ3SUhSb1pTQjBjbVZsSUhWdWRHbHNJSGRsSUdacGJtUWdZU0J1WlhjZ2MzVmlkSEpsWlNCMGJ5QmtaWE5qWlc1a0lHbHVkRzljY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnViMlJsVEdWMlpXeEpibVJsZUNBOUlITndhVzVsVEdWdVozUm9JQzBnTVR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJzWlhabGJFbHVaR1Y0VjJGc2EwSmhZMnNnUFNCdWIyUmxUR1YyWld4SmJtUmxlRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhkb2FXeGxJQ2hzWlhabGJFbHVaR1Y0VjJGc2EwSmhZMnNnUGowZ01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hzWlhabGJFbHVaR2xqWlhOYmJHVjJaV3hKYm1SbGVGZGhiR3RDWVdOclhTQStJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3hsZG1Wc1NXNWtaWGhYWVd4clFtRmpheUE4SUd4bGRtVnNjMHhsYm1kMGFDQXRJREVwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZKbGJXOTJaU0JzWldGbUlITjBZWFJsSUdaeWIyMGdZM1Z5YzI5eVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqZFhKemIzSXViR1ZoWmlBOUlIVnVaR1ZtYVc1bFpEdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRtVnNTVzVrYVdObGN5NXdiM0FvS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCM1pTQjNZV3hyWldRZ2RYQjNZWEprY3lCd1lYTjBJR0Z1ZVNCcGJuUmxjbTVoYkNCdWIyUmxMQ0J6YkdsalpTQjBhR1Z0SUc5MWRGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYkdWMlpXeEpibVJsZUZkaGJHdENZV05ySUR3Z2JtOWtaVXhsZG1Wc1NXNWtaWGdwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpkWEp6YjNJdWFXNTBaWEp1WVd4VGNHbHVaU0E5SUdsdWRHVnlibUZzVTNCcGJtVXVjMnhwWTJVb01Dd2diR1YyWld4SmJtUmxlRmRoYkd0Q1lXTnJJQ3NnTVNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRTF2ZG1VZ2RHOGdibVYzSUdsdWRHVnlibUZzSUc1dlpHVmNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZM1Z5YzI5eUxtTjFjbkpsYm5STFpYa2dQU0JwYm5SbGNtNWhiRk53YVc1bFcyeGxkbVZzU1c1a1pYaFhZV3hyUW1GamExMWJMUzFzWlhabGJFbHVaR2xqWlhOYmJHVjJaV3hKYm1SbGVGZGhiR3RDWVdOclhWMHViV0Y0UzJWNUtDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNaWFpsYkVsdVpHVjRWMkZzYTBKaFkyc3RMVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRU4xY25OdmNpQnBjeUJwYmlCMGFHVWdabUZ5SUd4bFpuUWdiR1ZoWmlCdlppQjBhR1VnZEhKbFpTd2dibThnYlc5eVpTQnViMlJsY3lCMGJ5QmxiblZ0WlhKaGRHVmNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUUxdmRtVWdkRzhnYm1WM0lHeGxZV1lnZG1Gc2RXVmNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCMllXeDFaVWx1WkdWNElEMGdMUzFzWlhabGJFbHVaR2xqWlhOYmJHVjJaV3h6VEdWdVozUm9JQzBnTVYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpkWEp6YjNJdVkzVnljbVZ1ZEV0bGVTQTlJR3hsWVdZdWEyVjVjMXQyWVd4MVpVbHVaR1Y0WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZXlBdkx5QkRkWEp6YjNJZ1pHOWxjeUJ1YjNRZ2NHOXBiblFnZEc4Z1lTQjJZV3gxWlNCcGJpQmhJR3hsWVdZc0lITnZJRzF2ZG1VZ1pHOTNibmRoY21SelhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnVaWGgwVEdWMlpXd2dQU0JwYm5SbGNtNWhiRk53YVc1bExteGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHTjFjbkpsYm5STVpYWmxiQ0E5SUc1bGVIUk1aWFpsYkNBdElERTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ1YjJSbElEMGdhVzUwWlhKdVlXeFRjR2x1WlZ0amRYSnlaVzUwVEdWMlpXeGRXMnhsZG1Wc1NXNWthV05sYzF0amRYSnlaVzUwVEdWMlpXeGRYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c1dlpHVXVhWE5NWldGbUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCRmJuUmxjbWx1WnlCcGJuUnZJR0VnYkdWaFppNGdVMlYwSUhSb1pTQmpkWEp6YjNJZ2RHOGdjRzlwYm5RZ1lYUWdkR2hsSUd4aGMzUWdhMlY1TDNaaGJIVmxJSEJoYVhJdVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpkWEp6YjNJdWJHVmhaaUE5SUc1dlpHVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2RtRnNkV1ZKYm1SbGVDQTlJR3hsZG1Wc1NXNWthV05sYzF0dVpYaDBUR1YyWld4ZElEMGdibTlrWlM1MllXeDFaWE11YkdWdVozUm9JQzBnTVR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTjFjbk52Y2k1amRYSnlaVzUwUzJWNUlEMGdibTlrWlM1clpYbHpXM1poYkhWbFNXNWtaWGhkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUdOb2FXeGtjbVZ1SUQwZ2JtOWtaUzVqYUdsc1pISmxianRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsdWRHVnlibUZzVTNCcGJtVmJibVY0ZEV4bGRtVnNYU0E5SUdOb2FXeGtjbVZ1TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR05vYVd4a1NXNWtaWGdnUFNCamFHbHNaSEpsYmk1c1pXNW5kR2dnTFNBeE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YyWld4SmJtUnBZMlZ6VzI1bGVIUk1aWFpsYkYwZ1BTQmphR2xzWkVsdVpHVjRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTNWeWMyOXlMbU4xY25KbGJuUkxaWGtnUFNCamFHbHNaSEpsYmx0amFHbHNaRWx1WkdWNFhTNXRZWGhMWlhrb0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcVhISmNiaUFnSUNBZ0tpQkRiMjF3WVhKbGN5QjBhR1VnZEhkdklHTjFjbk52Y25NdUlGSmxkSFZ5Ym5NZ1lTQjJZV3gxWlNCcGJtUnBZMkYwYVc1bklIZG9hV05vSUdOMWNuTnZjaUJwY3lCaGFHVmhaQ0JwYmlCaElIZGhiR3N1WEhKY2JpQWdJQ0FnS2lCT2IzUmxJSFJvWVhRZ1kzVnljMjl5Y3lCaGNtVWdZV1IyWVc1alpXUWdhVzRnY21WMlpYSnpaU0J6YjNKMGFXNW5JRzl5WkdWeUxseHlYRzRnSUNBZ0lDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1amIyMXdZWEpsSUQwZ1puVnVZM1JwYjI0Z0tHTjFjbk52Y2tFc0lHTjFjbk52Y2tJc0lHTnZiWEJoY21WTFpYbHpLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2hsYVdkb2RFRWdQU0JqZFhKemIzSkJMbWhsYVdkb2RDd2dZM1Z5Y21WdWRFdGxlVUVnUFNCamRYSnpiM0pCTG1OMWNuSmxiblJMWlhrc0lHeGxkbVZzU1c1a2FXTmxjMEVnUFNCamRYSnpiM0pCTG14bGRtVnNTVzVrYVdObGN6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2FHVnBaMmgwUWlBOUlHTjFjbk52Y2tJdWFHVnBaMmgwTENCamRYSnlaVzUwUzJWNVFpQTlJR04xY25OdmNrSXVZM1Z5Y21WdWRFdGxlU3dnYkdWMlpXeEpibVJwWTJWelFpQTlJR04xY25OdmNrSXViR1YyWld4SmJtUnBZMlZ6TzF4eVhHNGdJQ0FnSUNBZ0lDOHZJRkpsZG1WeWMyVWdkR2hsSUdOdmJYQmhjbWx6YjI0Z2IzSmtaWElzSUdGeklHTjFjbk52Y25NZ1lYSmxJR0ZrZG1GdVkyVmtJR2x1SUhKbGRtVnljMlVnYzI5eWRHbHVaeUJ2Y21SbGNseHlYRzRnSUNBZ0lDQWdJSFpoY2lCclpYbERiMjF3WVhKcGMyOXVJRDBnWTI5dGNHRnlaVXRsZVhNb1kzVnljbVZ1ZEV0bGVVSXNJR04xY25KbGJuUkxaWGxCS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvYTJWNVEyOXRjR0Z5YVhOdmJpQWhQVDBnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYTJWNVEyOXRjR0Z5YVhOdmJqdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0x5OGdUbTl5YldGc2FYcGxJR1JsY0hSb0lIWmhiSFZsY3lCeVpXeGhkR2wyWlNCMGJ5QjBhR1VnYzJodmNuUmxjM1FnZEhKbFpTNWNjbHh1SUNBZ0lDQWdJQ0F2THlCVWFHbHpJR1Z1YzNWeVpYTWdkR2hoZENCamIyNWpkWEp5Wlc1MElHTjFjbk52Y2lCM1lXeHJjeUJ2WmlCMGNtVmxjeUJ2WmlCa2FXWm1aWEpwYm1jZ2FHVnBaMmgwY3lCallXNGdjbVZzYVdGaWJIa2diR0Z1WkNCdmJpQnphR0Z5WldRZ2JtOWtaWE1nWVhRZ2RHaGxJSE5oYldVZ2RHbHRaUzVjY2x4dUlDQWdJQ0FnSUNBdkx5QlVieUJoWTJOdmJYQnNhWE5vSUhSb2FYTXNJR0VnWTNWeWMyOXlJSFJvWVhRZ2FYTWdiMjRnWVc0Z2FXNTBaWEp1WVd3Z2JtOWtaU0JoZENCa1pYQjBhQ0JFTVNCM2FYUm9JRzFoZUV0bGVTQllJR2x6SUdOdmJuTnBaR1Z5WldRZ1hDSmlaV2hwYm1SY0lpQmhJR04xY25OdmNpQnZiaUJoYmx4eVhHNGdJQ0FnSUNBZ0lDOHZJR2x1ZEdWeWJtRnNJRzV2WkdVZ1lYUWdaR1Z3ZEdnZ1JESWdkMmwwYUNCdFlYaExaWGtnV1N3Z2QyaGxiaUJFTVNBOElFUXlMaUJVYUhWekxDQmhiSGRoZVhNZ2QyRnNhMmx1WnlCMGFHVWdZM1Z5YzI5eUlIUm9ZWFFnYVhNZ1hDSmlaV2hwYm1SY0lpQjNhV3hzSUdGc2JHOTNJSFJvWlNCamRYSnpiM0pjY2x4dUlDQWdJQ0FnSUNBdkx5QmhkQ0J6YUdGc2JHOTNaWElnWkdWd2RHZ2dLR0oxZENCbGNYVmhiQ0J0WVhoTFpYa3BJSFJ2SUZ3aVkyRjBZMmdnZFhCY0lpQmhibVFnYkdGdVpDQnZiaUJ6YUdGeVpXUWdibTlrWlhNdVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUdobGFXZG9kRTFwYmlBOUlHaGxhV2RvZEVFZ1BDQm9aV2xuYUhSQ0lEOGdhR1ZwWjJoMFFTQTZJR2hsYVdkb2RFSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxjSFJvUVU1dmNtMWhiR2w2WldRZ1BTQnNaWFpsYkVsdVpHbGpaWE5CTG14bGJtZDBhQ0F0SUNob1pXbG5hSFJCSUMwZ2FHVnBaMmgwVFdsdUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVndkR2hDVG05eWJXRnNhWHBsWkNBOUlHeGxkbVZzU1c1a2FXTmxjMEl1YkdWdVozUm9JQzBnS0dobGFXZG9kRUlnTFNCb1pXbG5hSFJOYVc0cE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWEIwYUVGT2IzSnRZV3hwZW1Wa0lDMGdaR1Z3ZEdoQ1RtOXliV0ZzYVhwbFpEdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQXZMeUJGYm1RZ2IyWWdhR1ZzY0dWeUlHMWxkR2h2WkhNZ1ptOXlJR1JwWm1aQloyRnBibk4wSUM4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljY2x4dUlDQWdJQzh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2TDF4eVhHNGdJQ0FnTHlvcUlGSmxkSFZ5Ym5NZ1lTQnVaWGNnYVhSbGNtRjBiM0lnWm05eUlHbDBaWEpoZEdsdVp5QjBhR1VnYTJWNWN5QnZaaUJsWVdOb0lIQmhhWElnYVc0Z1lYTmpaVzVrYVc1bklHOXlaR1Z5TGx4eVhHNGdJQ0FnSUNvZ0lFQndZWEpoYlNCbWFYSnpkRXRsZVRvZ1RXbHVhVzExYlNCclpYa2dkRzhnYVc1amJIVmtaU0JwYmlCMGFHVWdiM1YwY0hWMExpQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtdGxlWE1nUFNCbWRXNWpkR2x2YmlBb1ptbHljM1JMWlhrcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2FYUWdQU0IwYUdsekxtVnVkSEpwWlhNb1ptbHljM1JMWlhrc0lGSmxkWE5sWkVGeWNtRjVLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhSbGNtRjBiM0lvWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdiaUE5SUdsMExtNWxlSFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNHVkbUZzZFdVcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnVMblpoYkhWbElEMGdiaTUyWVd4MVpWc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNDdYSEpjYmlBZ0lDQWdJQ0FnZlNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRkpsZEhWeWJuTWdZU0J1WlhjZ2FYUmxjbUYwYjNJZ1ptOXlJR2wwWlhKaGRHbHVaeUIwYUdVZ2RtRnNkV1Z6SUc5bUlHVmhZMmdnY0dGcGNpQnBiaUJ2Y21SbGNpQmllU0JyWlhrdVhISmNiaUFnSUNBZ0tpQWdRSEJoY21GdElHWnBjbk4wUzJWNU9pQk5hVzVwYlhWdElHdGxlU0IzYUc5elpTQmhjM052WTJsaGRHVmtJSFpoYkhWbElHbHpJR2x1WTJ4MVpHVmtJR2x1SUhSb1pTQnZkWFJ3ZFhRdUlDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWRtRnNkV1Z6SUQwZ1puVnVZM1JwYjI0Z0tHWnBjbk4wUzJWNUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHbDBJRDBnZEdocGN5NWxiblJ5YVdWektHWnBjbk4wUzJWNUxDQlNaWFZ6WldSQmNuSmhlU2s3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsMFpYSmhkRzl5S0daMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRzRnUFNCcGRDNXVaWGgwS0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHVMblpoYkhWbEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiaTUyWVd4MVpTQTlJRzR1ZG1Gc2RXVmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnVPMXh5WEc0Z0lDQWdJQ0FnSUgwcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hDVkhKbFpTNXdjbTkwYjNSNWNHVXNJRndpYldGNFRtOWtaVk5wZW1WY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUM4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1FXUmthWFJwYjI1aGJDQnRaWFJvYjJSeklDOHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNjbHh1SUNBZ0lDQWdJQ0F2S2lvZ1VtVjBkWEp1Y3lCMGFHVWdiV0Y0YVcxMWJTQnVkVzFpWlhJZ2IyWWdZMmhwYkdSeVpXNHZkbUZzZFdWeklHSmxabTl5WlNCdWIyUmxjeUIzYVd4c0lITndiR2wwTGlBcUwxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYldGNFRtOWtaVk5wZW1VN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdMeW9xSUVkbGRITWdkR2hsSUd4dmQyVnpkQ0JyWlhrZ2FXNGdkR2hsSUhSeVpXVXVJRU52YlhCc1pYaHBkSGs2SUU4b2JHOW5JSE5wZW1VcElDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWJXbHVTMlY1SUQwZ1puVnVZM1JwYjI0Z0tDa2dleUJ5WlhSMWNtNGdkR2hwY3k1ZmNtOXZkQzV0YVc1TFpYa29LVHNnZlR0Y2NseHVJQ0FnSUM4cUtpQkhaWFJ6SUhSb1pTQm9hV2RvWlhOMElHdGxlU0JwYmlCMGFHVWdkSEpsWlM0Z1EyOXRjR3hsZUdsMGVUb2dUeWd4S1NBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG0xaGVFdGxlU0E5SUdaMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlIUm9hWE11WDNKdmIzUXViV0Y0UzJWNUtDazdJSDA3WEhKY2JpQWdJQ0F2S2lvZ1VYVnBZMnRzZVNCamJHOXVaWE1nZEdobElIUnlaV1VnWW5rZ2JXRnlhMmx1WnlCMGFHVWdjbTl2ZENCdWIyUmxJR0Z6SUhOb1lYSmxaQzVjY2x4dUlDQWdJQ0FxSUNCQ2IzUm9JR052Y0dsbGN5QnlaVzFoYVc0Z1pXUnBkR0ZpYkdVdUlGZG9aVzRnZVc5MUlHMXZaR2xtZVNCbGFYUm9aWElnWTI5d2VTd2dZVzU1WEhKY2JpQWdJQ0FnS2lBZ2JtOWtaWE1nZEdoaGRDQmhjbVVnYzJoaGNtVmtJQ2h2Y2lCd2IzUmxiblJwWVd4c2VTQnphR0Z5WldRcElHSmxkSGRsWlc0Z2RHaGxJSFIzYjF4eVhHNGdJQ0FnSUNvZ0lHTnZjR2xsY3lCaGNtVWdZMnh2Ym1Wa0lITnZJSFJvWVhRZ2RHaGxJR05vWVc1blpYTWdaRzhnYm05MElHRm1abVZqZENCdmRHaGxjaUJqYjNCcFpYTXVYSEpjYmlBZ0lDQWdLaUFnVkdocGN5QnBjeUJyYm05M2JpQmhjeUJqYjNCNUxXOXVMWGR5YVhSbElHSmxhR0YyYVc5eUxDQnZjaUJjSW14aGVua2dZMjl3ZVdsdVoxd2lMaUFxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbU5zYjI1bElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11WDNKdmIzUXVhWE5UYUdGeVpXUWdQU0IwY25WbE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeVpYTjFiSFFnUFNCdVpYY2dRbFJ5WldVb2RXNWtaV1pwYm1Wa0xDQjBhR2x6TGw5amIyMXdZWEpsTENCMGFHbHpMbDl0WVhoT2IyUmxVMmw2WlNrN1hISmNiaUFnSUNBZ0lDQWdjbVZ6ZFd4MExsOXliMjkwSUQwZ2RHaHBjeTVmY205dmREdGNjbHh1SUNBZ0lDQWdJQ0J5WlhOMWJIUXVYM05wZW1VZ1BTQjBhR2x6TGw5emFYcGxPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xSUZCbGNtWnZjbTF6SUdFZ1ozSmxaV1I1SUdOc2IyNWxMQ0JwYlcxbFpHbGhkR1ZzZVNCa2RYQnNhV05oZEdsdVp5QmhibmtnYm05a1pYTWdkR2hoZENCaGNtVmNjbHh1SUNBZ0lDQXFJQ0J1YjNRZ1kzVnljbVZ1ZEd4NUlHMWhjbXRsWkNCaGN5QnphR0Z5WldRc0lHbHVJRzl5WkdWeUlIUnZJR0YyYjJsa0lHMWhjbXRwYm1jZ1lXNTVYSEpjYmlBZ0lDQWdLaUFnWVdSa2FYUnBiMjVoYkNCdWIyUmxjeUJoY3lCemFHRnlaV1F1WEhKY2JpQWdJQ0FnS2lBZ1FIQmhjbUZ0SUdadmNtTmxJRU5zYjI1bElHRnNiQ0J1YjJSbGN5d2daWFpsYmlCemFHRnlaV1FnYjI1bGN5NWNjbHh1SUNBZ0lDQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtZHlaV1ZrZVVOc2IyNWxJRDBnWm5WdVkzUnBiMjRnS0dadmNtTmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJRzVsZHlCQ1ZISmxaU2gxYm1SbFptbHVaV1FzSUhSb2FYTXVYMk52YlhCaGNtVXNJSFJvYVhNdVgyMWhlRTV2WkdWVGFYcGxLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYTjFiSFF1WDNKdmIzUWdQU0IwYUdsekxsOXliMjkwTG1keVpXVmtlVU5zYjI1bEtHWnZjbU5sS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWE4xYkhRdVgzTnBlbVVnUFNCMGFHbHpMbDl6YVhwbE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRWRsZEhNZ1lXNGdZWEp5WVhrZ1ptbHNiR1ZrSUhkcGRHZ2dkR2hsSUdOdmJuUmxiblJ6SUc5bUlIUm9aU0IwY21WbExDQnpiM0owWldRZ1lua2dhMlY1SUNvdlhISmNiaUFnSUNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1ZEc5QmNuSmhlU0E5SUdaMWJtTjBhVzl1SUNodFlYaE1aVzVuZEdncElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JXRjRUR1Z1WjNSb0lEMDlQU0IyYjJsa0lEQXBJSHNnYldGNFRHVnVaM1JvSUQwZ01IZzNSa1pHUmtaR1Jqc2dmVnh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnRhVzRnUFNCMGFHbHpMbTFwYmt0bGVTZ3BMQ0J0WVhnZ1BTQjBhR2x6TG0xaGVFdGxlU2dwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h0YVc0Z0lUMDlJSFZ1WkdWbWFXNWxaQ2xjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WjJWMFVtRnVaMlVvYldsdUxDQnRZWGdzSUhSeWRXVXNJRzFoZUV4bGJtZDBhQ2s3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0ZE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLaUJIWlhSeklHRnVJR0Z5Y21GNUlHOW1JR0ZzYkNCclpYbHpMQ0J6YjNKMFpXUWdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNXJaWGx6UVhKeVlYa2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkSE1nUFNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxsOXliMjkwTG1admNsSmhibWRsS0hSb2FYTXViV2x1UzJWNUtDa3NJSFJvYVhNdWJXRjRTMlY1S0Nrc0lIUnlkV1VzSUdaaGJITmxMQ0IwYUdsekxDQXdMQ0JtZFc1amRHbHZiaUFvYXl3Z2Rpa2dleUJ5WlhOMWJIUnpMbkIxYzJnb2F5azdJSDBwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFJ6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtpQkhaWFJ6SUdGdUlHRnljbUY1SUc5bUlHRnNiQ0IyWVd4MVpYTXNJSE52Y25SbFpDQmllU0JyWlhrZ0tpOWNjbHh1SUNBZ0lFSlVjbVZsTG5CeWIzUnZkSGx3WlM1MllXeDFaWE5CY25KaGVTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnY21WemRXeDBjeUE5SUZ0ZE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdVgzSnZiM1F1Wm05eVVtRnVaMlVvZEdocGN5NXRhVzVMWlhrb0tTd2dkR2hwY3k1dFlYaExaWGtvS1N3Z2RISjFaU3dnWm1Gc2MyVXNJSFJvYVhNc0lEQXNJR1oxYm1OMGFXOXVJQ2hyTENCMktTQjdJSEpsYzNWc2RITXVjSFZ6YUNoMktUc2dmU2s3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkSE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlFZGxkSE1nWVNCemRISnBibWNnY21Wd2NtVnpaVzUwYVc1bklIUm9aU0IwY21WbEozTWdaR0YwWVNCaVlYTmxaQ0J2YmlCMGIwRnljbUY1S0NrdUlDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWRHOVRkSEpwYm1jZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkRzlCY25KaGVTZ3BMblJ2VTNSeWFXNW5LQ2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlGTjBiM0psY3lCaElHdGxlUzEyWVd4MVpTQndZV2x5SUc5dWJIa2dhV1lnZEdobElHdGxlU0JrYjJWemJpZDBJR0ZzY21WaFpIa2daWGhwYzNRZ2FXNGdkR2hsSUhSeVpXVXVYSEpjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUIwY25WbElHbG1JR0VnYm1WM0lHdGxlU0IzWVhNZ1lXUmtaV1JjY2x4dUlDQWdJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVjMlYwU1daT2IzUlFjbVZ6Wlc1MElEMGdablZ1WTNScGIyNGdLR3RsZVN3Z2RtRnNkV1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV6WlhRb2EyVjVMQ0IyWVd4MVpTd2dabUZzYzJVcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLaUJTWlhSMWNtNXpJSFJvWlNCdVpYaDBJSEJoYVhJZ2QyaHZjMlVnYTJWNUlHbHpJR3hoY21kbGNpQjBhR0Z1SUhSb1pTQnpjR1ZqYVdacFpXUWdhMlY1SUNodmNpQjFibVJsWm1sdVpXUWdhV1lnZEdobGNtVWdhWE1nYm05dVpTa3VYSEpjYmlBZ0lDQWdLaUJKWmlCclpYa2dQVDA5SUhWdVpHVm1hVzVsWkN3Z2RHaHBjeUJtZFc1amRHbHZiaUJ5WlhSMWNtNXpJSFJvWlNCc2IzZGxjM1FnY0dGcGNpNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQnJaWGtnVkdobElHdGxlU0IwYnlCelpXRnlZMmdnWm05eUxseHlYRzRnSUNBZ0lDb2dRSEJoY21GdElISmxkWE5sWkVGeWNtRjVJRTl3ZEdsdmJtRnNJR0Z5Y21GNUlIVnpaV1FnY21Wd1pXRjBaV1JzZVNCMGJ5QnpkRzl5WlNCclpYa3RkbUZzZFdVZ2NHRnBjbk1zSUhSdlhISmNiaUFnSUNBZ0tpQmhkbTlwWkNCamNtVmhkR2x1WnlCaElHNWxkeUJoY25KaGVTQnZiaUJsZG1WeWVTQnBkR1Z5WVhScGIyNHVYSEpjYmlBZ0lDQWdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNXVaWGgwU0dsbmFHVnlVR0ZwY2lBOUlHWjFibU4wYVc5dUlDaHJaWGtzSUhKbGRYTmxaRUZ5Y21GNUtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMWMyVmtRWEp5WVhrZ1BTQnlaWFZ6WldSQmNuSmhlU0I4ZkNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2EyVjVJRDA5UFNCMWJtUmxabWx1WldRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0p2YjNRdWJXbHVVR0ZwY2loeVpYVnpaV1JCY25KaGVTazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5YjI5MExtZGxkRkJoYVhKUGNrNWxlSFJJYVdkb1pYSW9hMlY1TENCMGFHbHpMbDlqYjIxd1lYSmxMQ0JtWVd4elpTd2djbVYxYzJWa1FYSnlZWGtwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtpQlNaWFIxY201eklIUm9aU0J1WlhoMElHdGxlU0JzWVhKblpYSWdkR2hoYmlCMGFHVWdjM0JsWTJsbWFXVmtJR3RsZVN3Z2IzSWdkVzVrWldacGJtVmtJR2xtSUhSb1pYSmxJR2x6SUc1dmJtVXVYSEpjYmlBZ0lDQWdLaUFnUVd4emJ5d2dibVY0ZEVocFoyaGxja3RsZVNoMWJtUmxabWx1WldRcElISmxkSFZ5Ym5NZ2RHaGxJR3h2ZDJWemRDQnJaWGt1WEhKY2JpQWdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzV1WlhoMFNHbG5hR1Z5UzJWNUlEMGdablZ1WTNScGIyNGdLR3RsZVNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCd0lEMGdkR2hwY3k1dVpYaDBTR2xuYUdWeVVHRnBjaWhyWlhrc0lGSmxkWE5sWkVGeWNtRjVLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0NBbUppQndXekJkTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtpQlNaWFIxY201eklIUm9aU0J1WlhoMElIQmhhWElnZDJodmMyVWdhMlY1SUdseklITnRZV3hzWlhJZ2RHaGhiaUIwYUdVZ2MzQmxZMmxtYVdWa0lHdGxlU0FvYjNJZ2RXNWtaV1pwYm1Wa0lHbG1JSFJvWlhKbElHbHpJRzV2Ym1VcExseHlYRzRnSUNBZ0lDb2dJRWxtSUd0bGVTQTlQVDBnZFc1a1pXWnBibVZrTENCMGFHbHpJR1oxYm1OMGFXOXVJSEpsZEhWeWJuTWdkR2hsSUdocFoyaGxjM1FnY0dGcGNpNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQnJaWGtnVkdobElHdGxlU0IwYnlCelpXRnlZMmdnWm05eUxseHlYRzRnSUNBZ0lDb2dRSEJoY21GdElISmxkWE5sWkVGeWNtRjVJRTl3ZEdsdmJtRnNJR0Z5Y21GNUlIVnpaV1FnY21Wd1pXRjBaV1JzZVNCMGJ5QnpkRzl5WlNCclpYa3RkbUZzZFdVZ2NHRnBjbk1zSUhSdlhISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ1lYWnZhV1FnWTNKbFlYUnBibWNnWVNCdVpYY2dZWEp5WVhrZ1pXRmphQ0IwYVcxbElIbHZkU0JqWVd4c0lIUm9hWE1nYldWMGFHOWtMbHh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVibVY0ZEV4dmQyVnlVR0ZwY2lBOUlHWjFibU4wYVc5dUlDaHJaWGtzSUhKbGRYTmxaRUZ5Y21GNUtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMWMyVmtRWEp5WVhrZ1BTQnlaWFZ6WldSQmNuSmhlU0I4ZkNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2EyVjVJRDA5UFNCMWJtUmxabWx1WldRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0p2YjNRdWJXRjRVR0ZwY2loeVpYVnpaV1JCY25KaGVTazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5YjI5MExtZGxkRkJoYVhKUGNrNWxlSFJNYjNkbGNpaHJaWGtzSUhSb2FYTXVYMk52YlhCaGNtVXNJR1poYkhObExDQnlaWFZ6WldSQmNuSmhlU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlGSmxkSFZ5Ym5NZ2RHaGxJRzVsZUhRZ2EyVjVJSE50WVd4c1pYSWdkR2hoYmlCMGFHVWdjM0JsWTJsbWFXVmtJR3RsZVN3Z2IzSWdkVzVrWldacGJtVmtJR2xtSUhSb1pYSmxJR2x6SUc1dmJtVXVYSEpjYmlBZ0lDQWdLaUFnUVd4emJ5d2dibVY0ZEV4dmQyVnlTMlY1S0hWdVpHVm1hVzVsWkNrZ2NtVjBkWEp1Y3lCMGFHVWdhR2xuYUdWemRDQnJaWGt1WEhKY2JpQWdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzV1WlhoMFRHOTNaWEpMWlhrZ1BTQm1kVzVqZEdsdmJpQW9hMlY1S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhBZ1BTQjBhR2x6TG01bGVIUk1iM2RsY2xCaGFYSW9hMlY1TENCU1pYVnpaV1JCY25KaGVTazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSEFnSmlZZ2NGc3dYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2S2lvZ1VtVjBkWEp1Y3lCMGFHVWdhMlY1TFhaaGJIVmxJSEJoYVhJZ1lYTnpiMk5wWVhSbFpDQjNhWFJvSUhSb1pTQnpkWEJ3YkdsbFpDQnJaWGtnYVdZZ2FYUWdaWGhwYzNSelhISmNiaUFnSUNBZ0tpQWdiM0lnZEdobElIQmhhWElnWVhOemIyTnBZWFJsWkNCM2FYUm9JSFJvWlNCdVpYaDBJR3h2ZDJWeUlIQmhhWElnYjNSb1pYSjNhWE5sTGlCSlppQjBhR1Z5WlNCcGN5QnViMXh5WEc0Z0lDQWdJQ29nSUc1bGVIUWdiRzkzWlhJZ2NHRnBjaXdnZFc1a1pXWnBibVZrSUdseklISmxkSFZ5Ym1Wa0xseHlYRzRnSUNBZ0lDb2dRSEJoY21GdElHdGxlU0JVYUdVZ2EyVjVJSFJ2SUhObFlYSmphQ0JtYjNJdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2NtVjFjMlZrUVhKeVlYa2dUM0IwYVc5dVlXd2dZWEp5WVhrZ2RYTmxaQ0J5WlhCbFlYUmxaR3g1SUhSdklITjBiM0psSUd0bGVTMTJZV3gxWlNCd1lXbHljeXdnZEc5Y2NseHVJQ0FnSUNBcUlDQWdJQ0FnSUNCaGRtOXBaQ0JqY21WaGRHbHVaeUJoSUc1bGR5QmhjbkpoZVNCbFlXTm9JSFJwYldVZ2VXOTFJR05oYkd3Z2RHaHBjeUJ0WlhSb2IyUXVYSEpjYmlBZ0lDQWdLaUFxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMbWRsZEZCaGFYSlBjazVsZUhSTWIzZGxjaUE5SUdaMWJtTjBhVzl1SUNoclpYa3NJSEpsZFhObFpFRnljbUY1S1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDNKdmIzUXVaMlYwVUdGcGNrOXlUbVY0ZEV4dmQyVnlLR3RsZVN3Z2RHaHBjeTVmWTI5dGNHRnlaU3dnZEhKMVpTd2djbVYxYzJWa1FYSnlZWGtnZkh3Z1cxMHBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzhxS2lCU1pYUjFjbTV6SUhSb1pTQnJaWGt0ZG1Gc2RXVWdjR0ZwY2lCaGMzTnZZMmxoZEdWa0lIZHBkR2dnZEdobElITjFjSEJzYVdWa0lHdGxlU0JwWmlCcGRDQmxlR2x6ZEhOY2NseHVJQ0FnSUNBcUlDQnZjaUIwYUdVZ2NHRnBjaUJoYzNOdlkybGhkR1ZrSUhkcGRHZ2dkR2hsSUc1bGVIUWdiRzkzWlhJZ2NHRnBjaUJ2ZEdobGNuZHBjMlV1SUVsbUlIUm9aWEpsSUdseklHNXZYSEpjYmlBZ0lDQWdLaUFnYm1WNGRDQnNiM2RsY2lCd1lXbHlMQ0IxYm1SbFptbHVaV1FnYVhNZ2NtVjBkWEp1WldRdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2EyVjVJRlJvWlNCclpYa2dkRzhnYzJWaGNtTm9JR1p2Y2k1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCeVpYVnpaV1JCY25KaGVTQlBjSFJwYjI1aGJDQmhjbkpoZVNCMWMyVmtJSEpsY0dWaGRHVmtiSGtnZEc4Z2MzUnZjbVVnYTJWNUxYWmhiSFZsSUhCaGFYSnpMQ0IwYjF4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUdGMmIybGtJR055WldGMGFXNW5JR0VnYm1WM0lHRnljbUY1SUdWaFkyZ2dkR2x0WlNCNWIzVWdZMkZzYkNCMGFHbHpJRzFsZEdodlpDNWNjbHh1SUNBZ0lDQXFJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVaMlYwVUdGcGNrOXlUbVY0ZEVocFoyaGxjaUE5SUdaMWJtTjBhVzl1SUNoclpYa3NJSEpsZFhObFpFRnljbUY1S1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDNKdmIzUXVaMlYwVUdGcGNrOXlUbVY0ZEVocFoyaGxjaWhyWlhrc0lIUm9hWE11WDJOdmJYQmhjbVVzSUhSeWRXVXNJSEpsZFhObFpFRnljbUY1SUh4OElGdGRLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2S2lvZ1JXUnBkSE1nZEdobElIWmhiSFZsSUdGemMyOWphV0YwWldRZ2QybDBhQ0JoSUd0bGVTQnBiaUIwYUdVZ2RISmxaU3dnYVdZZ2FYUWdZV3h5WldGa2VTQmxlR2x6ZEhNdVhISmNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QjBjblZsSUdsbUlIUm9aU0JyWlhrZ1pYaHBjM1JsWkN3Z1ptRnNjMlVnYVdZZ2JtOTBMbHh5WEc0Z0lDQWdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNWphR0Z1WjJWSlpsQnlaWE5sYm5RZ1BTQm1kVzVqZEdsdmJpQW9hMlY1TENCMllXeDFaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZrYVhSU1lXNW5aU2hyWlhrc0lHdGxlU3dnZEhKMVpTd2dablZ1WTNScGIyNGdLR3NzSUhZcElIc2djbVYwZFhKdUlDaDdJSFpoYkhWbE9pQjJZV3gxWlNCOUtUc2dmU2tnSVQwOUlEQTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xWEhKY2JpQWdJQ0FnS2lCQ2RXbHNaSE1nWVc0Z1lYSnlZWGtnYjJZZ2NHRnBjbk1nWm5KdmJTQjBhR1VnYzNCbFkybG1hV1ZrSUhKaGJtZGxJRzltSUd0bGVYTXNJSE52Y25SbFpDQmllU0JyWlhrdVhISmNiaUFnSUNBZ0tpQkZZV05vSUhKbGRIVnlibVZrSUhCaGFYSWdhWE1nWVd4emJ5QmhiaUJoY25KaGVUb2djR0ZwY2xzd1hTQnBjeUIwYUdVZ2EyVjVMQ0J3WVdseVd6RmRJR2x6SUhSb1pTQjJZV3gxWlM1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCc2IzY2dWR2hsSUdacGNuTjBJR3RsZVNCcGJpQjBhR1VnWVhKeVlYa2dkMmxzYkNCaVpTQm5jbVZoZEdWeUlIUm9ZVzRnYjNJZ1pYRjFZV3dnZEc4Z1lHeHZkMkF1WEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnYUdsbmFDQlVhR2x6SUcxbGRHaHZaQ0J5WlhSMWNtNXpJSGRvWlc0Z1lTQnJaWGtnYkdGeVoyVnlJSFJvWVc0Z2RHaHBjeUJwY3lCeVpXRmphR1ZrTGx4eVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUdsdVkyeDFaR1ZJYVdkb0lFbG1JSFJvWlNCZ2FHbG5hR0FnYTJWNUlHbHpJSEJ5WlhObGJuUXNJR2wwY3lCd1lXbHlJSGRwYkd3Z1ltVWdhVzVqYkhWa1pXUmNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQnBiaUIwYUdVZ2IzVjBjSFYwSUdsbUlHRnVaQ0J2Ym14NUlHbG1JSFJvYVhNZ2NHRnlZVzFsZEdWeUlHbHpJSFJ5ZFdVdUlFNXZkR1U2SUdsbUlIUm9aVnh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJR0JzYjNkZ0lHdGxlU0JwY3lCd2NtVnpaVzUwTENCcGRDQnBjeUJoYkhkaGVYTWdhVzVqYkhWa1pXUWdhVzRnZEdobElHOTFkSEIxZEM1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCdFlYaE1aVzVuZEdnZ1RHVnVaM1JvSUd4cGJXbDBMaUJuWlhSU1lXNW5aU0IzYVd4c0lITjBiM0FnYzJOaGJtNXBibWNnZEdobElIUnlaV1VnZDJobGJseHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR1VnWVhKeVlYa2djbVZoWTJobGN5QjBhR2x6SUhOcGVtVXVYSEpjYmlBZ0lDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1EyOXRjSFYwWVhScGIyNWhiQ0JqYjIxd2JHVjRhWFI1T2lCUEtISmxjM1ZzZEM1c1pXNW5kR2dnS3lCc2IyY2djMmw2WlNsY2NseHVJQ0FnSUNBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1kbGRGSmhibWRsSUQwZ1puVnVZM1JwYjI0Z0tHeHZkeXdnYUdsbmFDd2dhVzVqYkhWa1pVaHBaMmdzSUcxaGVFeGxibWQwYUNrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNodFlYaE1aVzVuZEdnZ1BUMDlJSFp2YVdRZ01Da2dleUJ0WVhoTVpXNW5kR2dnUFNBd2VETkdSa1pHUmtZN0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVnpkV3gwY3lBOUlGdGRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYM0p2YjNRdVptOXlVbUZ1WjJVb2JHOTNMQ0JvYVdkb0xDQnBibU5zZFdSbFNHbG5hQ3dnWm1Gc2MyVXNJSFJvYVhNc0lEQXNJR1oxYm1OMGFXOXVJQ2hyTENCMktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEhNdWNIVnphQ2hiYXl3Z2RsMHBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwY3k1c1pXNW5kR2dnUGlCdFlYaE1aVzVuZEdnZ1B5QkNjbVZoYXlBNklIVnVaR1ZtYVc1bFpEdGNjbHh1SUNBZ0lDQWdJQ0I5S1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdktpb2dRV1JrY3lCaGJHd2djR0ZwY25NZ1puSnZiU0JoSUd4cGMzUWdiMllnYTJWNUxYWmhiSFZsSUhCaGFYSnpMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJSEJoYVhKeklGQmhhWEp6SUhSdklHRmtaQ0IwYnlCMGFHbHpJSFJ5WldVdUlFbG1JSFJvWlhKbElHRnlaU0JrZFhCc2FXTmhkR1VnYTJWNWN5eGNjbHh1SUNBZ0lDQXFJQ0FnSUNBZ0lDQnNZWFJsY2lCd1lXbHljeUJqZFhKeVpXNTBiSGtnYjNabGNuZHlhWFJsSUdWaGNteHBaWElnYjI1bGN5QW9aUzVuTGlCYld6QXNNVjBzV3pBc04xMWRYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdZWE56YjJOcFlYUmxjeUF3SUhkcGRHZ2dOeTRwWEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnYjNabGNuZHlhWFJsSUZkb1pYUm9aWElnZEc4Z2IzWmxjbmR5YVhSbElIQmhhWEp6SUhSb1lYUWdZV3h5WldGa2VTQmxlR2x6ZENBb2FXWWdabUZzYzJVc1hISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ2NHRnBjbk5iYVYwZ2FYTWdhV2R1YjNKbFpDQjNhR1Z1SUhSb1pTQnJaWGtnY0dGcGNuTmJhVjFiTUYwZ1lXeHlaV0ZrZVNCbGVHbHpkSE11S1Z4eVhHNGdJQ0FnSUNvZ1FISmxkSFZ5Ym5NZ1ZHaGxJRzUxYldKbGNpQnZaaUJ3WVdseWN5QmhaR1JsWkNCMGJ5QjBhR1VnWTI5c2JHVmpkR2x2Ymk1Y2NseHVJQ0FnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJEYjIxd2RYUmhkR2x2Ym1Gc0lHTnZiWEJzWlhocGRIazZJRThvY0dGcGNuTXViR1Z1WjNSb0lDb2diRzluS0hOcGVtVWdLeUJ3WVdseWN5NXNaVzVuZEdncEtWeHlYRzRnSUNBZ0lDb3ZYSEpjYmlBZ0lDQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWMyVjBVR0ZwY25NZ1BTQm1kVzVqZEdsdmJpQW9jR0ZwY25Nc0lHOTJaWEozY21sMFpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhaR1JsWkNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCd1lXbHljeTVzWlc1bmRHZzdJR2tyS3lsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YzJWMEtIQmhhWEp6VzJsZFd6QmRMQ0J3WVdseWMxdHBYVnN4WFN3Z2IzWmxjbmR5YVhSbEtTbGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0ZrWkdWa0t5czdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR0ZrWkdWa08xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHFLbHh5WEc0Z0lDQWdJQ29nVTJOaGJuTWdkR2hsSUhOd1pXTnBabWxsWkNCeVlXNW5aU0J2WmlCclpYbHpMQ0JwYmlCaGMyTmxibVJwYm1jZ2IzSmtaWElnWW5rZ2EyVjVMbHh5WEc0Z0lDQWdJQ29nVG05MFpUb2dkR2hsSUdOaGJHeGlZV05ySUdCdmJrWnZkVzVrWUNCdGRYTjBJRzV2ZENCcGJuTmxjblFnYjNJZ2NtVnRiM1psSUdsMFpXMXpJR2x1SUhSb1pWeHlYRzRnSUNBZ0lDb2dZMjlzYkdWamRHbHZiaTRnUkc5cGJtY2djMjhnYldGNUlHTmhkWE5sSUdsdVkyOXljbVZqZENCa1lYUmhJSFJ2SUdKbElITmxiblFnZEc4Z2RHaGxYSEpjYmlBZ0lDQWdLaUJqWVd4c1ltRmpheUJoWm5SbGNuZGhjbVF1WEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnYkc5M0lGUm9aU0JtYVhKemRDQnJaWGtnYzJOaGJtNWxaQ0IzYVd4c0lHSmxJR2R5WldGMFpYSWdkR2hoYmlCdmNpQmxjWFZoYkNCMGJ5QmdiRzkzWUM1Y2NseHVJQ0FnSUNBcUlFQndZWEpoYlNCb2FXZG9JRk5qWVc1dWFXNW5JSE4wYjNCeklIZG9aVzRnWVNCclpYa2diR0Z5WjJWeUlIUm9ZVzRnZEdocGN5QnBjeUJ5WldGamFHVmtMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJR2x1WTJ4MVpHVklhV2RvSUVsbUlIUm9aU0JnYUdsbmFHQWdhMlY1SUdseklIQnlaWE5sYm5Rc0lHQnZia1p2ZFc1a1lDQnBjeUJqWVd4c1pXUWdabTl5WEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnZEdoaGRDQm1hVzVoYkNCd1lXbHlJR2xtSUdGdVpDQnZibXg1SUdsbUlIUm9hWE1nY0dGeVlXMWxkR1Z5SUdseklIUnlkV1V1WEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnYjI1R2IzVnVaQ0JCSUdaMWJtTjBhVzl1SUhSb1lYUWdhWE1nWTJGc2JHVmtJR1p2Y2lCbFlXTm9JR3RsZVMxMllXeDFaU0J3WVdseUxpQlVhR2x6WEhKY2JpQWdJQ0FnS2lBZ0lDQWdJQ0FnWm5WdVkzUnBiMjRnWTJGdUlISmxkSFZ5YmlCN1luSmxZV3M2VW4wZ2RHOGdjM1J2Y0NCbFlYSnNlU0IzYVhSb0lISmxjM1ZzZENCU0xseHlYRzRnSUNBZ0lDb2dRSEJoY21GdElHbHVhWFJwWVd4RGIzVnVkR1Z5SUVsdWFYUnBZV3dnZEdocGNtUWdZWEpuZFcxbGJuUWdiMllnYjI1R2IzVnVaQzRnVkdocGN5QjJZV3gxWlZ4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUdsdVkzSmxZWE5sY3lCaWVTQnZibVVnWldGamFDQjBhVzFsSUdCdmJrWnZkVzVrWUNCcGN5QmpZV3hzWldRdUlFUmxabUYxYkhRNklEQmNjbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJRlJvWlNCdWRXMWlaWElnYjJZZ2RtRnNkV1Z6SUdadmRXNWtMQ0J2Y2lCU0lHbG1JSFJvWlNCallXeHNZbUZqYXlCeVpYUjFjbTVsWkZ4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUdCN1luSmxZV3M2VW4xZ0lIUnZJSE4wYjNBZ1pXRnliSGt1WEhKY2JpQWdJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdRMjl0Y0hWMFlYUnBiMjVoYkNCamIyMXdiR1Y0YVhSNU9pQlBLRzUxYldKbGNpQnZaaUJwZEdWdGN5QnpZMkZ1Ym1Wa0lDc2diRzluSUhOcGVtVXBYSEpjYmlBZ0lDQWdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNW1iM0pTWVc1blpTQTlJR1oxYm1OMGFXOXVJQ2hzYjNjc0lHaHBaMmdzSUdsdVkyeDFaR1ZJYVdkb0xDQnZia1p2ZFc1a0xDQnBibWwwYVdGc1EyOTFiblJsY2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeUlEMGdkR2hwY3k1ZmNtOXZkQzVtYjNKU1lXNW5aU2hzYjNjc0lHaHBaMmdzSUdsdVkyeDFaR1ZJYVdkb0xDQm1ZV3h6WlN3Z2RHaHBjeXdnYVc1cGRHbGhiRU52ZFc1MFpYSWdmSHdnTUN3Z2IyNUdiM1Z1WkNrN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCeUlEMDlQU0JjSW01MWJXSmxjbHdpSUQ4Z2NpQTZJSEl1WW5KbFlXczdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdMeW9xWEhKY2JpQWdJQ0FnS2lCVFkyRnVjeUJoYm1RZ2NHOTBaVzUwYVdGc2JIa2diVzlrYVdacFpYTWdkbUZzZFdWeklHWnZjaUJoSUhOMVluTmxjWFZsYm1ObElHOW1JR3RsZVhNdVhISmNiaUFnSUNBZ0tpQk9iM1JsT2lCMGFHVWdZMkZzYkdKaFkyc2dZRzl1Um05MWJtUmdJSE5vYjNWc1pDQnBaR1ZoYkd4NUlHSmxJR0VnY0hWeVpTQm1kVzVqZEdsdmJpNWNjbHh1SUNBZ0lDQXFJQ0FnVTNCbFkyWnBZMkZzYkhrc0lHbDBJRzExYzNRZ2JtOTBJR2x1YzJWeWRDQnBkR1Z0Y3l3Z1kyRnNiQ0JqYkc5dVpTZ3BMQ0J2Y2lCamFHRnVaMlZjY2x4dUlDQWdJQ0FxSUNBZ2RHaGxJR052Ykd4bFkzUnBiMjRnWlhoalpYQjBJSFpwWVNCeVpYUjFjbTRnZG1Gc2RXVTdJRzkxZEMxdlppMWlZVzVrSUdWa2FYUnBibWNnYldGNVhISmNiaUFnSUNBZ0tpQWdJR05oZFhObElHRnVJR1Y0WTJWd2RHbHZiaUJ2Y2lCdFlYa2dZMkYxYzJVZ2FXNWpiM0p5WldOMElHUmhkR0VnZEc4Z1ltVWdjMlZ1ZENCMGIxeHlYRzRnSUNBZ0lDb2dJQ0IwYUdVZ1kyRnNiR0poWTJzZ0tHUjFjR3hwWTJGMFpTQnZjaUJ0YVhOelpXUWdhWFJsYlhNcExpQkpkQ0J0ZFhOMElHNXZkQ0JqWVhWelpTQmhYSEpjYmlBZ0lDQWdLaUFnSUdOc2IyNWxLQ2tnYjJZZ2RHaGxJR052Ykd4bFkzUnBiMjRzSUc5MGFHVnlkMmx6WlNCMGFHVWdZMnh2Ym1VZ1kyOTFiR1FnWW1VZ2JXOWthV1pwWldSY2NseHVJQ0FnSUNBcUlDQWdZbmtnWTJoaGJtZGxjeUJ5WlhGMVpYTjBaV1FnWW5rZ2RHaGxJR05oYkd4aVlXTnJMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJR3h2ZHlCVWFHVWdabWx5YzNRZ2EyVjVJSE5qWVc1dVpXUWdkMmxzYkNCaVpTQm5jbVZoZEdWeUlIUm9ZVzRnYjNJZ1pYRjFZV3dnZEc4Z1lHeHZkMkF1WEhKY2JpQWdJQ0FnS2lCQWNHRnlZVzBnYUdsbmFDQlRZMkZ1Ym1sdVp5QnpkRzl3Y3lCM2FHVnVJR0VnYTJWNUlHeGhjbWRsY2lCMGFHRnVJSFJvYVhNZ2FYTWdjbVZoWTJobFpDNWNjbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQnBibU5zZFdSbFNHbG5hQ0JKWmlCMGFHVWdZR2hwWjJoZ0lHdGxlU0JwY3lCd2NtVnpaVzUwTENCZ2IyNUdiM1Z1WkdBZ2FYTWdZMkZzYkdWa0lHWnZjbHh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJSFJvWVhRZ1ptbHVZV3dnY0dGcGNpQnBaaUJoYm1RZ2IyNXNlU0JwWmlCMGFHbHpJSEJoY21GdFpYUmxjaUJwY3lCMGNuVmxMbHh5WEc0Z0lDQWdJQ29nUUhCaGNtRnRJRzl1Um05MWJtUWdRU0JtZFc1amRHbHZiaUIwYUdGMElHbHpJR05oYkd4bFpDQm1iM0lnWldGamFDQnJaWGt0ZG1Gc2RXVWdjR0ZwY2k0Z1ZHaHBjMXh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJR1oxYm1OMGFXOXVJR05oYmlCeVpYUjFjbTRnWUh0MllXeDFaVHAyZldBZ2RHOGdZMmhoYm1kbElIUm9aU0IyWVd4MVpTQmhjM052WTJsaGRHVmtYSEpjYmlBZ0lDQWdLaUFnSUNBZ0lDQWdkMmwwYUNCMGFHVWdZM1Z5Y21WdWRDQnJaWGtzSUdCN1pHVnNaWFJsT25SeWRXVjlZQ0IwYnlCa1pXeGxkR1VnZEdobElHTjFjbkpsYm5RZ2NHRnBjaXhjY2x4dUlDQWdJQ0FxSUNBZ0lDQWdJQ0JnZTJKeVpXRnJPbEo5WUNCMGJ5QnpkRzl3SUdWaGNteDVJSGRwZEdnZ2NtVnpkV3gwSUZJc0lHOXlJR2wwSUdOaGJpQnlaWFIxY200Z2JtOTBhR2x1WjF4eVhHNGdJQ0FnSUNvZ0lDQWdJQ0FnSUNoMWJtUmxabWx1WldRZ2IzSWdlMzBwSUhSdklHTmhkWE5sSUc1dklHVm1abVZqZENCaGJtUWdZMjl1ZEdsdWRXVWdhWFJsY21GMGFXNW5MbHh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJR0I3WW5KbFlXczZVbjFnSUdOaGJpQmlaU0JqYjIxaWFXNWxaQ0IzYVhSb0lHOXVaU0J2WmlCMGFHVWdiM1JvWlhJZ2RIZHZJR052YlcxaGJtUnpMbHh5WEc0Z0lDQWdJQ29nSUNBZ0lDQWdJRlJvWlNCMGFHbHlaQ0JoY21kMWJXVnVkQ0JnWTI5MWJuUmxjbUFnYVhNZ2RHaGxJRzUxYldKbGNpQnZaaUJwZEdWdGN5QnBkR1Z5WVhSbFpGeHlYRzRnSUNBZ0lDb2dJQ0FnSUNBZ0lIQnlaWFpwYjNWemJIazdJR2wwSUdWeGRXRnNjeUF3SUhkb1pXNGdZRzl1Um05MWJtUmdJR2x6SUdOaGJHeGxaQ0IwYUdVZ1ptbHljM1FnZEdsdFpTNWNjbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJRlJvWlNCdWRXMWlaWElnYjJZZ2RtRnNkV1Z6SUhOallXNXVaV1FzSUc5eUlGSWdhV1lnZEdobElHTmhiR3hpWVdOcklISmxkSFZ5Ym1Wa1hISmNiaUFnSUNBZ0tpQWdJQ0FnSUNBZ1lIdGljbVZoYXpwU2ZXQWdkRzhnYzNSdmNDQmxZWEpzZVM1Y2NseHVJQ0FnSUNBcUlFQmtaWE5qY21sd2RHbHZibHh5WEc0Z0lDQWdJQ29nSUNCRGIyMXdkWFJoZEdsdmJtRnNJR052YlhCc1pYaHBkSGs2SUU4b2JuVnRZbVZ5SUc5bUlHbDBaVzF6SUhOallXNXVaV1FnS3lCc2IyY2djMmw2WlNsY2NseHVJQ0FnSUNBcUlDQWdUbTkwWlRvZ2FXWWdkR2hsSUhSeVpXVWdhR0Z6SUdKbFpXNGdZMnh2Ym1Wa0lIZHBkR2dnWTJ4dmJtVW9LU3dnWVc1NUlITm9ZWEpsWkZ4eVhHNGdJQ0FnSUNvZ0lDQnViMlJsY3lCaGNtVWdZMjl3YVdWa0lHSmxabTl5WlNCZ2IyNUdiM1Z1WkdBZ2FYTWdZMkZzYkdWa0xpQlVhR2x6SUhSaGEyVnpJRThvYmlrZ2RHbHRaVnh5WEc0Z0lDQWdJQ29nSUNCM2FHVnlaU0J1SUdseklIQnliM0J2Y25ScGIyNWhiQ0IwYnlCMGFHVWdZVzF2ZFc1MElHOW1JSE5vWVhKbFpDQmtZWFJoSUhOallXNXVaV1F1WEhKY2JpQWdJQ0FnS2k5Y2NseHVJQ0FnSUVKVWNtVmxMbkJ5YjNSdmRIbHdaUzVsWkdsMFVtRnVaMlVnUFNCbWRXNWpkR2x2YmlBb2JHOTNMQ0JvYVdkb0xDQnBibU5zZFdSbFNHbG5hQ3dnYjI1R2IzVnVaQ3dnYVc1cGRHbGhiRU52ZFc1MFpYSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjbTl2ZENBOUlIUm9hWE11WDNKdmIzUTdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tISnZiM1F1YVhOVGFHRnlaV1FwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVgzSnZiM1FnUFNCeWIyOTBJRDBnY205dmRDNWpiRzl1WlNncE8xeHlYRzRnSUNBZ0lDQWdJSFJ5ZVNCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnlJRDBnY205dmRDNW1iM0pTWVc1blpTaHNiM2NzSUdocFoyZ3NJR2x1WTJ4MVpHVklhV2RvTENCMGNuVmxMQ0IwYUdsekxDQnBibWwwYVdGc1EyOTFiblJsY2lCOGZDQXdMQ0J2YmtadmRXNWtLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCeUlEMDlQU0JjSW01MWJXSmxjbHdpSUQ4Z2NpQTZJSEl1WW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHWnBibUZzYkhrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdhWE5UYUdGeVpXUWdQU0IyYjJsa0lEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNoeWIyOTBMbXRsZVhNdWJHVnVaM1JvSUR3OUlERWdKaVlnSVhKdmIzUXVhWE5NWldGbUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzFOb1lYSmxaQ0I4ZkNBb2FYTlRhR0Z5WldRZ1BTQnliMjkwTG1selUyaGhjbVZrS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WDNKdmIzUWdQU0J5YjI5MElEMGdjbTl2ZEM1clpYbHpMbXhsYm1kMGFDQTlQVDBnTUNBL0lFVnRjSFI1VEdWaFppQTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtOXZkQzVqYUdsc1pISmxibHN3WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCSlppQmhibmtnWVc1alpYTjBiM0lnYjJZZ2RHaGxJRzVsZHlCeWIyOTBJSGRoY3lCemFHRnlaV1FzSUhSb1pTQnVaWGNnY205dmRDQnRkWE4wSUdGc2MyOGdZbVVnYzJoaGNtVmtYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYzFOb1lYSmxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtOXZkQzVwYzFOb1lYSmxaQ0E5SUhSeWRXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlGTmhiV1VnWVhNZ1lHVmthWFJTWVc1blpXQWdaWGhqWlhCMElIUm9ZWFFnZEdobElHTmhiR3hpWVdOcklHbHpJR05oYkd4bFpDQm1iM0lnWVd4c0lIQmhhWEp6TGlBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1Wa2FYUkJiR3dnUFNCbWRXNWpkR2x2YmlBb2IyNUdiM1Z1WkN3Z2FXNXBkR2xoYkVOdmRXNTBaWElwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVsWkdsMFVtRnVaMlVvZEdocGN5NXRhVzVMWlhrb0tTd2dkR2hwY3k1dFlYaExaWGtvS1N3Z2RISjFaU3dnYjI1R2IzVnVaQ3dnYVc1cGRHbGhiRU52ZFc1MFpYSXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJQzhxS2x4eVhHNGdJQ0FnSUNvZ1VtVnRiM1psY3lCaElISmhibWRsSUc5bUlHdGxlUzEyWVd4MVpTQndZV2x5Y3lCbWNtOXRJSFJvWlNCQ0t5QjBjbVZsTGx4eVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUd4dmR5QlVhR1VnWm1seWMzUWdhMlY1SUhOallXNXVaV1FnZDJsc2JDQmlaU0JuY21WaGRHVnlJSFJvWVc0Z2IzSWdaWEYxWVd3Z2RHOGdZR3h2ZDJBdVhISmNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2FHbG5hQ0JUWTJGdWJtbHVaeUJ6ZEc5d2N5QjNhR1Z1SUdFZ2EyVjVJR3hoY21kbGNpQjBhR0Z1SUhSb2FYTWdhWE1nY21WaFkyaGxaQzVjY2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JwYm1Oc2RXUmxTR2xuYUNCVGNHVmphV1pwWlhNZ2QyaGxkR2hsY2lCMGFHVWdZR2hwWjJoZ0lHdGxlU3dnYVdZZ2NISmxjMlZ1ZEN3Z2FYTWdaR1ZzWlhSbFpDNWNjbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJRlJvWlNCdWRXMWlaWElnYjJZZ2EyVjVMWFpoYkhWbElIQmhhWEp6SUhSb1lYUWdkMlZ5WlNCa1pXeGxkR1ZrTGx4eVhHNGdJQ0FnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRU52YlhCMWRHRjBhVzl1WVd3Z1kyOXRjR3hsZUdsMGVUb2dUeWhzYjJjZ2MybDZaU0FySUc1MWJXSmxjaUJ2WmlCcGRHVnRjeUJrWld4bGRHVmtLVnh5WEc0Z0lDQWdJQ292WEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVXVaR1ZzWlhSbFVtRnVaMlVnUFNCbWRXNWpkR2x2YmlBb2JHOTNMQ0JvYVdkb0xDQnBibU5zZFdSbFNHbG5hQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZrYVhSU1lXNW5aU2hzYjNjc0lHaHBaMmdzSUdsdVkyeDFaR1ZJYVdkb0xDQkVaV3hsZEdWU1lXNW5aU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHlvcUlFUmxiR1YwWlhNZ1lTQnpaWEpwWlhNZ2IyWWdhMlY1Y3lCbWNtOXRJSFJvWlNCamIyeHNaV04wYVc5dUxpQXFMMXh5WEc0Z0lDQWdRbFJ5WldVdWNISnZkRzkwZVhCbExtUmxiR1YwWlV0bGVYTWdQU0JtZFc1amRHbHZiaUFvYTJWNWN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0J5SUQwZ01Ec2dhU0E4SUd0bGVYTXViR1Z1WjNSb095QnBLeXNwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbVJsYkdWMFpTaHJaWGx6VzJsZEtTbGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSElyS3p0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NqdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvUWxSeVpXVXVjSEp2ZEc5MGVYQmxMQ0JjSW1obGFXZG9kRndpTENCN1hISmNiaUFnSUNBZ0lDQWdMeW9xSUVkbGRITWdkR2hsSUdobGFXZG9kQ0J2WmlCMGFHVWdkSEpsWlRvZ2RHaGxJRzUxYldKbGNpQnZaaUJwYm5SbGNtNWhiQ0J1YjJSbGN5QmlaWFIzWldWdUlIUm9aVnh5WEc0Z0lDQWdJQ0FnSUNBcUlDQkNWSEpsWlNCdlltcGxZM1FnWVc1a0lHbDBjeUJzWldGbUlHNXZaR1Z6SUNoNlpYSnZJR2xtSUhSb1pYSmxJR0Z5WlNCdWJ5QnBiblJsY201aGJDQnViMlJsY3lrdUlDb3ZYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCdWIyUmxJRDBnZEdocGN5NWZjbTl2ZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHaGxhV2RvZENBOUlDMHhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb2JtOWtaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FHVnBaMmgwS3lzN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzVwYzB4bFlXWWdQeUIxYm1SbFptbHVaV1FnT2lCdWIyUmxMbU5vYVd4a2NtVnVXekJkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm9aV2xuYUhRN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdMeW9xSUUxaGEyVnpJSFJvWlNCdlltcGxZM1FnY21WaFpDMXZibXg1SUhSdklHVnVjM1Z5WlNCcGRDQnBjeUJ1YjNRZ1lXTmphV1JsYm5SaGJHeDVJRzF2WkdsbWFXVmtMbHh5WEc0Z0lDQWdJQ29nSUVaeVpXVjZhVzVuSUdSdlpYTWdibTkwSUdoaGRtVWdkRzhnWW1VZ2NHVnliV0Z1Wlc1ME95QjFibVp5WldWNlpTZ3BJSEpsZG1WeWMyVnpJSFJvWlNCbFptWmxZM1F1WEhKY2JpQWdJQ0FnS2lBZ1ZHaHBjeUJwY3lCaFkyTnZiWEJzYVhOb1pXUWdZbmtnY21Wd2JHRmphVzVuSUcxMWRHRjBiM0lnWm5WdVkzUnBiMjV6SUhkcGRHZ2dZU0JtZFc1amRHbHZibHh5WEc0Z0lDQWdJQ29nSUhSb1lYUWdkR2h5YjNkeklHRnVJRVZ5Y205eUxpQkRiMjF3WVhKbFpDQjBieUIxYzJsdVp5QmhJSEJ5YjNCbGNuUjVJQ2hsTG1jdUlIUm9hWE11YVhOR2NtOTZaVzRwWEhKY2JpQWdJQ0FnS2lBZ2RHaHBjeUJwYlhCc1pXMWxiblJoZEdsdmJpQm5hWFpsY3lCaVpYUjBaWElnY0dWeVptOXliV0Z1WTJVZ2FXNGdibTl1TFdaeWIzcGxiaUJDVkhKbFpYTXVYSEpjYmlBZ0lDQWdLaTljY2x4dUlDQWdJRUpVY21WbExuQnliM1J2ZEhsd1pTNW1jbVZsZW1VZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFFnUFNCMGFHbHpPMXh5WEc0Z0lDQWdJQ0FnSUM4dklFNXZkR1U2SUdGc2JDQnZkR2hsY2lCdGRYUmhkRzl5Y3lCMWJIUnBiV0YwWld4NUlHTmhiR3dnYzJWMEtDa2diM0lnWldScGRGSmhibWRsS0NrZ1hISmNiaUFnSUNBZ0lDQWdMeThnSUNBZ0lDQWdjMjhnZDJVZ1pHOXVKM1FnYm1WbFpDQjBieUJ2ZG1WeWNtbGtaU0IwYUc5elpTQnZkR2hsY25NdVhISmNiaUFnSUNBZ0lDQWdkQzVqYkdWaGNpQTlJSFF1YzJWMElEMGdkQzVsWkdsMFVtRnVaMlVnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0lrRjBkR1Z0Y0hSbFpDQjBieUJ0YjJScFpua2dZU0JtY205NlpXNGdRbFJ5WldWY0lpazdYSEpjYmlBZ0lDQWdJQ0FnZlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdktpb2dSVzV6ZFhKbGN5QnRkWFJoZEdsdmJuTWdZWEpsSUdGc2JHOTNaV1FzSUhKbGRtVnljMmx1WnlCMGFHVWdaV1ptWldOMElHOW1JR1p5WldWNlpTZ3BMaUFxTDF4eVhHNGdJQ0FnUWxSeVpXVXVjSEp2ZEc5MGVYQmxMblZ1Wm5KbFpYcGxJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQzh2SUVCMGN5MXBaMjV2Y21VZ1hDSlVhR1VnYjNCbGNtRnVaQ0J2WmlCaElDZGtaV3hsZEdVbklHOXdaWEpoZEc5eUlHMTFjM1FnWW1VZ2IzQjBhVzl1WVd3dVhDSmNjbHh1SUNBZ0lDQWdJQ0F2THlBZ0lDQWdJQ0FnSUNBZ0lDaDNjbTl1WnpvZ1pHVnNaWFJsSUdSdlpYTWdibTkwSUdGbVptVmpkQ0IwYUdVZ2NISnZkRzkwZVhCbExpbGNjbHh1SUNBZ0lDQWdJQ0JrWld4bGRHVWdkR2hwY3k1amJHVmhjanRjY2x4dUlDQWdJQ0FnSUNBdkx5QkFkSE10YVdkdWIzSmxYSEpjYmlBZ0lDQWdJQ0FnWkdWc1pYUmxJSFJvYVhNdWMyVjBPMXh5WEc0Z0lDQWdJQ0FnSUM4dklFQjBjeTFwWjI1dmNtVmNjbHh1SUNBZ0lDQWdJQ0JrWld4bGRHVWdkR2hwY3k1bFpHbDBVbUZ1WjJVN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRUpVY21WbExuQnliM1J2ZEhsd1pTd2dYQ0pwYzBaeWIzcGxibHdpTENCN1hISmNiaUFnSUNBZ0lDQWdMeW9xSUZKbGRIVnlibk1nZEhKMVpTQnBaaUIwYUdVZ2RISmxaU0JoY0hCbFlYSnpJSFJ2SUdKbElHWnliM3BsYmk0Z0tpOWNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YUdGelQzZHVVSEp2Y0dWeWRIa29KMlZrYVhSU1lXNW5aU2NwTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lDOHFLaUJUWTJGdWN5QjBhR1VnZEhKbFpTQm1iM0lnYzJsbmJuTWdiMllnYzJWeWFXOTFjeUJpZFdkeklDaGxMbWN1SUhSb2FYTXVjMmw2WlNCa2IyVnpiaWQwSUcxaGRHTm9YSEpjYmlBZ0lDQWdLaUFnYm5WdFltVnlJRzltSUdWc1pXMWxiblJ6TENCcGJuUmxjbTVoYkNCdWIyUmxjeUJ1YjNRZ1kyRmphR2x1WnlCdFlYZ2daV3hsYldWdWRDQndjbTl3WlhKc2VTNHVMaWxjY2x4dUlDQWdJQ0FxSUNCRGIyMXdkWFJoZEdsdmJtRnNJR052YlhCc1pYaHBkSGs2SUU4b2JuVnRZbVZ5SUc5bUlHNXZaR1Z6S1N3Z2FTNWxMaUJQS0hOcGVtVXBMaUJVYUdseklHMWxkR2h2WkZ4eVhHNGdJQ0FnSUNvZ0lITnJhWEJ6SUhSb1pTQnRiM04wSUdWNGNHVnVjMmwyWlNCMFpYTjBJQzBnZDJobGRHaGxjaUJoYkd3Z2EyVjVjeUJoY21VZ2MyOXlkR1ZrSUMwZ1luVjBJR2wwWEhKY2JpQWdJQ0FnS2lBZ1pHOWxjeUJqYUdWamF5QjBhR0YwSUcxaGVFdGxlU2dwSUc5bUlIUm9aU0JqYUdsc1pISmxiaUJ2WmlCcGJuUmxjbTVoYkNCdWIyUmxjeUJoY21VZ2MyOXlkR1ZrTGlBcUwxeHlYRzRnSUNBZ1FsUnlaV1V1Y0hKdmRHOTBlWEJsTG1Ob1pXTnJWbUZzYVdRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSE5wZW1VZ1BTQjBhR2x6TGw5eWIyOTBMbU5vWldOclZtRnNhV1FvTUN3Z2RHaHBjeXdnTUNrN1hISmNiaUFnSUNBZ0lDQWdZMmhsWTJzb2MybDZaU0E5UFQwZ2RHaHBjeTV6YVhwbExDQmNJbk5wZW1VZ2JXbHpiV0YwWTJnNklHTnZkVzUwWldRZ1hDSXNJSE5wZW1Vc0lGd2lZblYwSUhOMGIzSmxaRndpTENCMGFHbHpMbk5wZW1VcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCQ1ZISmxaVHRjY2x4dWZTZ3BLVHRjY2x4dVpYaHdiM0owY3k1a1pXWmhkV3gwSUQwZ1FsUnlaV1U3WEhKY2JpOHFLaUJCSUZSNWNHVlRZM0pwY0hRZ2FHVnNjR1Z5SUdaMWJtTjBhVzl1SUhSb1lYUWdjMmx0Y0d4NUlISmxkSFZ5Ym5NZ2FYUnpJR0Z5WjNWdFpXNTBMQ0IwZVhCbFpDQmhjMXh5WEc0Z0tpQWdZRWxUYjNKMFpXUlRaWFE4U3o1Z0lHbG1JSFJvWlNCQ1ZISmxaU0JwYlhCc1pXMWxiblJ6SUdsMExDQmhjeUJwZENCa2IyVnpJR2xtSUdCV0lHVjRkR1Z1WkhNZ2RXNWtaV1pwYm1Wa1lDNWNjbHh1SUNvZ0lFbG1JR0JXWUNCallXNXViM1FnWW1VZ1lIVnVaR1ZtYVc1bFpHQXNJR2wwSUhKbGRIVnlibk1nWUhWdWEyNXZkMjVnSUdsdWMzUmxZV1F1SUU5eUlHRjBJR3hsWVhOMExDQjBhR0YwWEhKY2JpQXFJQ0IzWVhNZ2RHaGxJR2x1ZEdWdWRHbHZiaXdnWW5WMElGUjVjR1ZUWTNKcGNIUWdhWE1nWVdOMGFXNW5JSGRsYVhKa0lHRnVaQ0J0WVhrZ2NtVjBkWEp1SUdCSlUyOXlkR1ZrVTJWMFBFcytZRnh5WEc0Z0tpQWdaWFpsYmlCcFppQmdWbUFnWTJGdUozUWdZbVVnWUhWdVpHVm1hVzVsWkdBZ0tHUnBjMk4xYzNOcGIyNDZJR0owY21WbExYUjVjR1Z6WTNKcGNIUWdhWE56ZFdVZ0l6RTBLU0FxTDF4eVhHNW1kVzVqZEdsdmJpQmhjMU5sZENoaWRISmxaU2tnZTF4eVhHNGdJQ0FnY21WMGRYSnVJR0owY21WbE8xeHlYRzU5WEhKY2JtVjRjRzl5ZEhNdVlYTlRaWFFnUFNCaGMxTmxkRHRjY2x4dWFXWWdLRk41YldKdmJDQW1KaUJUZVcxaWIyd3VhWFJsY21GMGIzSXBJQzh2SUdsMFpYSmhkRzl5SUdseklHVnhkV2wyWVd4bGJuUWdkRzhnWlc1MGNtbGxjeWdwWEhKY2JpQWdJQ0JDVkhKbFpTNXdjbTkwYjNSNWNHVmJVM2x0WW05c0xtbDBaWEpoZEc5eVhTQTlJRUpVY21WbExuQnliM1J2ZEhsd1pTNWxiblJ5YVdWek8xeHlYRzVDVkhKbFpTNXdjbTkwYjNSNWNHVXVkMmhsY21VZ1BTQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdVptbHNkR1Z5TzF4eVhHNUNWSEpsWlM1d2NtOTBiM1I1Y0dVdWMyVjBVbUZ1WjJVZ1BTQkNWSEpsWlM1d2NtOTBiM1I1Y0dVdWMyVjBVR0ZwY25NN1hISmNia0pVY21WbExuQnliM1J2ZEhsd1pTNWhaR1FnUFNCQ1ZISmxaUzV3Y205MGIzUjVjR1V1YzJWME95QXZMeUJtYjNJZ1kyOXRjR0YwYVdKcGJHbDBlU0IzYVhSb0lFbFRaWFJUYVc1clBFcytYSEpjYm1aMWJtTjBhVzl1SUdsMFpYSmhkRzl5S0c1bGVIUXBJSHRjY2x4dUlDQWdJR2xtSUNodVpYaDBJRDA5UFNCMmIybGtJREFwSUhzZ2JtVjRkQ0E5SUNobWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQW9leUJrYjI1bE9pQjBjblZsTENCMllXeDFaVG9nZFc1a1pXWnBibVZrSUgwcE95QjlLVHNnZlZ4eVhHNGdJQ0FnZG1GeUlISmxjM1ZzZENBOUlIc2dibVY0ZERvZ2JtVjRkQ0I5TzF4eVhHNGdJQ0FnYVdZZ0tGTjViV0p2YkNBbUppQlRlVzFpYjJ3dWFYUmxjbUYwYjNJcFhISmNiaUFnSUNBZ0lDQWdjbVZ6ZFd4MFcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlPMXh5WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVmVnh5WEc0dktpb2dUR1ZoWmlCdWIyUmxJQzhnWW1GelpTQmpiR0Z6Y3k0Z0tpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW92WEhKY2JuWmhjaUJDVG05a1pTQTlJQzhxS2lCQVkyeGhjM01nS2k4Z0tHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJRUpPYjJSbEtHdGxlWE1zSUhaaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hyWlhseklEMDlQU0IyYjJsa0lEQXBJSHNnYTJWNWN5QTlJRnRkT3lCOVhISmNiaUFnSUNBZ0lDQWdkR2hwY3k1clpYbHpJRDBnYTJWNWN6dGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsY3lBOUlIWmhiSFZsY3lCOGZDQjFibVJsWmxaaGJITTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NXBjMU5vWVhKbFpDQTlJSFZ1WkdWbWFXNWxaRHRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoQ1RtOWtaUzV3Y205MGIzUjVjR1VzSUZ3aWFYTk1aV0ZtWENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNdVkyaHBiR1J5Wlc0Z1BUMDlJSFZ1WkdWbWFXNWxaRHNnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUJtWVd4elpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnTHk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhISmNiaUFnSUNBdkx5QlRhR0Z5WldRZ2JXVjBhRzlrY3lBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNjbHh1SUNBZ0lFSk9iMlJsTG5CeWIzUnZkSGx3WlM1dFlYaExaWGtnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWEyVjVjMXQwYUdsekxtdGxlWE11YkdWdVozUm9JQzBnTVYwN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5OGdTV1lnYTJWNUlHNXZkQ0JtYjNWdVpDd2djbVYwZFhKdWN5QnBYbVpoYVd4WWIzSWdkMmhsY21VZ2FTQnBjeUIwYUdVZ2FXNXpaWEowYVc5dUlHbHVaR1Y0TGx4eVhHNGdJQ0FnTHk4Z1EyRnNiR1Z5Y3lCMGFHRjBJR1J2YmlkMElHTmhjbVVnZDJobGRHaGxjaUIwYUdWeVpTQjNZWE1nWVNCdFlYUmphQ0IzYVd4c0lITmxkQ0JtWVdsc1dHOXlQVEF1WEhKY2JpQWdJQ0JDVG05a1pTNXdjbTkwYjNSNWNHVXVhVzVrWlhoUFppQTlJR1oxYm1OMGFXOXVJQ2hyWlhrc0lHWmhhV3hZYjNJc0lHTnRjQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJyWlhseklEMGdkR2hwY3k1clpYbHpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnNieUE5SURBc0lHaHBJRDBnYTJWNWN5NXNaVzVuZEdnc0lHMXBaQ0E5SUdocElENCtJREU3WEhKY2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0d4dklEd2dhR2twSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHTWdQU0JqYlhBb2EyVjVjMXR0YVdSZExDQnJaWGtwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1l5QThJREFwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2J5QTlJRzFwWkNBcklERTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHTWdQaUF3S1NBdkx5QnJaWGtnUENCclpYbHpXMjFwWkYxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaHBJRDBnYldsa08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoaklEMDlQU0F3S1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxcFpEdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QmpJR2x6SUU1aFRpQnZjaUJ2ZEdobGNuZHBjMlVnYVc1MllXeHBaRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHdGxlU0E5UFQwZ2EyVjVLU0F2THlCaGRDQnNaV0Z6ZENCMGFHVWdjMlZoY21Ob0lHdGxlU0JwY3lCdWIzUWdUbUZPWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHdGxlWE11YkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhjSWtKVWNtVmxPaUJPWVU0Z2QyRnpJSFZ6WldRZ1lYTWdZU0JyWlhsY0lpazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2JXbGtJRDBnS0d4dklDc2dhR2twSUQ0K0lERTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdGFXUWdYaUJtWVdsc1dHOXlPMXh5WEc0Z0lDQWdJQ0FnSUM4dklGVnVjbTlzYkdWa0lIWmxjbk5wYjI0NklHSmxibU5vYldGeWEzTWdjMmh2ZHlCellXMWxJSE53WldWa0xDQnViM1FnZDI5eWRHZ2dkWE5wYm1kY2NseHVJQ0FnSUNBZ0lDQXZLblpoY2lCcElEMGdNU3dnWXpvZ2JuVnRZbVZ5SUQwZ01Dd2djM1Z0SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2EyVjVjeTVzWlc1bmRHZ2dQajBnTkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnYVNBOUlETTdYSEpjYmlBZ0lDQWdJQ0FnSUNCcFppQW9hMlY1Y3k1c1pXNW5kR2dnUGowZ09Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBJRDBnTnp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHdGxlWE11YkdWdVozUm9JRDQ5SURFMktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0E5SURFMU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyWlhsekxteGxibWQwYUNBK1BTQXpNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQTlJRE14TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3RsZVhNdWJHVnVaM1JvSUQ0OUlEWTBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHa2dQU0F4TWpjN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2tnS3owZ0tHTWdQU0JwSUR3Z2EyVjVjeTVzWlc1bmRHZ2dQeUJqYlhBb2EyVjVjMXRwWFN3Z2EyVjVLU0E2SURFcElEd2dNQ0EvSURZMElEb2dMVFkwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkVzBnS3owZ1l6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBclBTQW9ZeUE5SUdrZ1BDQnJaWGx6TG14bGJtZDBhQ0EvSUdOdGNDaHJaWGx6VzJsZExDQnJaWGtwSURvZ01Ta2dQQ0F3SUQ4Z016SWdPaUF0TXpJN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4xYlNBclBTQmpPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQXJQU0FvWXlBOUlHa2dQQ0JyWlhsekxteGxibWQwYUNBL0lHTnRjQ2hyWlhselcybGRMQ0JyWlhrcElEb2dNU2tnUENBd0lEOGdNVFlnT2lBdE1UWTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZFcwZ0t6MGdZenRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBclBTQW9ZeUE5SUdrZ1BDQnJaWGx6TG14bGJtZDBhQ0EvSUdOdGNDaHJaWGx6VzJsZExDQnJaWGtwSURvZ01Ta2dQQ0F3SUQ4Z09DQTZJQzA0TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMWJTQXJQU0JqTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2tnS3owZ0tHTWdQU0JwSUR3Z2EyVjVjeTVzWlc1bmRHZ2dQeUJqYlhBb2EyVjVjMXRwWFN3Z2EyVjVLU0E2SURFcElEd2dNQ0EvSURRZ09pQXRORHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjM1Z0SUNzOUlHTTdYSEpjYmlBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0JwSUNzOUlDaGpJRDBnYVNBOElHdGxlWE11YkdWdVozUm9JRDhnWTIxd0tHdGxlWE5iYVYwc0lHdGxlU2tnT2lBeEtTQThJREFnUHlBeUlEb2dMVEk3WEhKY2JpQWdJQ0FnSUNBZ0lDQnpkVzBnS3owZ1l6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FTQXJQU0FvWXlBOUlHa2dQQ0JyWlhsekxteGxibWQwYUNBL0lHTnRjQ2hyWlhselcybGRMQ0JyWlhrcElEb2dNU2tnUENBd0lEOGdNU0E2SUMweE8xeHlYRzRnSUNBZ0lDQWdJR01nUFNCcElEd2dhMlY1Y3k1c1pXNW5kR2dnUHlCamJYQW9hMlY1YzF0cFhTd2dhMlY1S1NBNklERTdYSEpjYmlBZ0lDQWdJQ0FnYzNWdElDczlJR003WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR01nUENBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBcksyazdYSEpjYmlBZ0lDQWdJQ0FnSUNCaklEMGdhU0E4SUd0bGVYTXViR1Z1WjNSb0lEOGdZMjF3S0d0bGVYTmJhVjBzSUd0bGVTa2dPaUF4TzF4eVhHNGdJQ0FnSUNBZ0lDQWdjM1Z0SUNzOUlHTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h6ZFcwZ0lUMDlJSE4xYlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHdGxlU0E5UFQwZ2EyVjVLU0F2THlCaGRDQnNaV0Z6ZENCMGFHVWdjMlZoY21Ob0lHdGxlU0JwY3lCdWIzUWdUbUZPWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnJaWGx6TG14bGJtZDBhQ0JlSUdaaGFXeFliM0k3WEhKY2JpQWdJQ0FnSUNBZ0lDQmxiSE5sWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGNJa0pVY21WbE9pQk9ZVTRnZDJGeklIVnpaV1FnWVhNZ1lTQnJaWGxjSWlrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJqSUQwOVBTQXdJRDhnYVNBNklHa2dYaUJtWVdsc1dHOXlPeW92WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnTHk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNjbHh1SUNBZ0lDOHZJRXhsWVdZZ1RtOWtaVG9nYldsell5QXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2WEhKY2JpQWdJQ0JDVG05a1pTNXdjbTkwYjNSNWNHVXViV2x1UzJWNUlEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbXRsZVhOYk1GMDdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdRazV2WkdVdWNISnZkRzkwZVhCbExtMXBibEJoYVhJZ1BTQm1kVzVqZEdsdmJpQW9jbVYxYzJWa1FYSnlZWGtwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NXJaWGx6TG14bGJtZDBhQ0E5UFQwZ01DbGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFZ6WldSQmNuSmhlVnN3WFNBOUlIUm9hWE11YTJWNWMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCeVpYVnpaV1JCY25KaGVWc3hYU0E5SUhSb2FYTXVkbUZzZFdWeld6QmRPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhWelpXUkJjbkpoZVR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ1RtOWtaUzV3Y205MGIzUjVjR1V1YldGNFVHRnBjaUE5SUdaMWJtTjBhVzl1SUNoeVpYVnpaV1JCY25KaGVTa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG10bGVYTXViR1Z1WjNSb0lEMDlQU0F3S1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnNZWE4wU1c1a1pYZ2dQU0IwYUdsekxtdGxlWE11YkdWdVozUm9JQzBnTVR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFZ6WldSQmNuSmhlVnN3WFNBOUlIUm9hWE11YTJWNWMxdHNZWE4wU1c1a1pYaGRPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRYTmxaRUZ5Y21GNVd6RmRJRDBnZEdocGN5NTJZV3gxWlhOYmJHRnpkRWx1WkdWNFhUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVYxYzJWa1FYSnlZWGs3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUWs1dlpHVXVjSEp2ZEc5MGVYQmxMbU5zYjI1bElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIySUQwZ2RHaHBjeTUyWVd4MVpYTTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCQ1RtOWtaU2gwYUdsekxtdGxlWE11YzJ4cFkyVW9NQ2tzSUhZZ1BUMDlJSFZ1WkdWbVZtRnNjeUEvSUhZZ09pQjJMbk5zYVdObEtEQXBLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JDVG05a1pTNXdjbTkwYjNSNWNHVXVaM0psWldSNVEyeHZibVVnUFNCbWRXNWpkR2x2YmlBb1ptOXlZMlVwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYzFOb1lYSmxaQ0FtSmlBaFptOXlZMlVnUHlCMGFHbHpJRG9nZEdocGN5NWpiRzl1WlNncE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lFSk9iMlJsTG5CeWIzUnZkSGx3WlM1blpYUWdQU0JtZFc1amRHbHZiaUFvYTJWNUxDQmtaV1poZFd4MFZtRnNkV1VzSUhSeVpXVXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdhU0E5SUhSb2FYTXVhVzVrWlhoUFppaHJaWGtzSUMweExDQjBjbVZsTGw5amIyMXdZWEpsS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FTQThJREFnUHlCa1pXWmhkV3gwVm1Gc2RXVWdPaUIwYUdsekxuWmhiSFZsYzF0cFhUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQkNUbTlrWlM1d2NtOTBiM1I1Y0dVdVoyVjBVR0ZwY2s5eVRtVjRkRXh2ZDJWeUlEMGdablZ1WTNScGIyNGdLR3RsZVN3Z1kyOXRjR0Z5WlN3Z2FXNWpiSFZ6YVhabExDQnlaWFZ6WldSQmNuSmhlU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ2RHaHBjeTVwYm1SbGVFOW1LR3RsZVN3Z0xURXNJR052YlhCaGNtVXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibVJsZUU5eVRHOTNaWElnUFNCcElEd2dNQ0EvSUg1cElDMGdNU0E2SUNocGJtTnNkWE5wZG1VZ1B5QnBJRG9nYVNBdElERXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHBibVJsZUU5eVRHOTNaWElnUGowZ01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFZ6WldSQmNuSmhlVnN3WFNBOUlIUm9hWE11YTJWNWMxdHBibVJsZUU5eVRHOTNaWEpkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhWelpXUkJjbkpoZVZzeFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRUM0pNYjNkbGNsMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYVnpaV1JCY25KaGVUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ1RtOWtaUzV3Y205MGIzUjVjR1V1WjJWMFVHRnBjazl5VG1WNGRFaHBaMmhsY2lBOUlHWjFibU4wYVc5dUlDaHJaWGtzSUdOdmJYQmhjbVVzSUdsdVkyeDFjMmwyWlN3Z2NtVjFjMlZrUVhKeVlYa3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdhU0E5SUhSb2FYTXVhVzVrWlhoUFppaHJaWGtzSUMweExDQmpiMjF3WVhKbEtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2FXNWtaWGhQY2t4dmQyVnlJRDBnYVNBOElEQWdQeUIrYVNBNklDaHBibU5zZFhOcGRtVWdQeUJwSURvZ2FTQXJJREVwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJyWlhseklEMGdkR2hwY3k1clpYbHpPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHBibVJsZUU5eVRHOTNaWElnUENCclpYbHpMbXhsYm1kMGFDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFZ6WldSQmNuSmhlVnN3WFNBOUlHdGxlWE5iYVc1a1pYaFBja3h2ZDJWeVhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjFjMlZrUVhKeVlYbGJNVjBnUFNCMGFHbHpMblpoYkhWbGMxdHBibVJsZUU5eVRHOTNaWEpkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVYxYzJWa1FYSnlZWGs3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdRazV2WkdVdWNISnZkRzkwZVhCbExtTm9aV05yVm1Gc2FXUWdQU0JtZFc1amRHbHZiaUFvWkdWd2RHZ3NJSFJ5WldVc0lHSmhjMlZKYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnJUQ0E5SUhSb2FYTXVhMlY1Y3k1c1pXNW5kR2dzSUhaTUlEMGdkR2hwY3k1MllXeDFaWE11YkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdOb1pXTnJLSFJvYVhNdWRtRnNkV1Z6SUQwOVBTQjFibVJsWmxaaGJITWdQeUJyVENBOFBTQjJUQ0E2SUd0TUlEMDlQU0IyVEN3Z1hDSnJaWGx6TDNaaGJIVmxjeUJzWlc1bmRHZ2diV2x6YldGMFkyZzZJR1JsY0hSb1hDSXNJR1JsY0hSb0xDQmNJbmRwZEdnZ2JHVnVaM1JvYzF3aUxDQnJUQ3dnZGt3c0lGd2lZVzVrSUdKaGMyVkpibVJsZUZ3aUxDQmlZWE5sU1c1a1pYZ3BPMXh5WEc0Z0lDQWdJQ0FnSUM4dklFNXZkR1U2SUhkbElHUnZiaWQwSUdOb1pXTnJJR1p2Y2lCY0ltNXZaR1VnZEc5dklITnRZV3hzWENJZ1ltVmpZWFZ6WlNCemIyMWxkR2x0WlhNZ1lTQnViMlJsWEhKY2JpQWdJQ0FnSUNBZ0x5OGdZMkZ1SUd4bFoybDBhVzFoZEdWc2VTQm9ZWFpsSUhOcGVtVWdNUzRnVkdocGN5QnZZMk4xY25NZ2FXWWdkR2hsY21VZ2FYTWdZU0JpWVhSamFDQmNjbHh1SUNBZ0lDQWdJQ0F2THlCa1pXeGxkR2x2Yml3Z2JHVmhkbWx1WnlCaElHNXZaR1VnYjJZZ2MybDZaU0F4TENCaGJtUWdkR2hsSUhOcFlteHBibWR6SUdGeVpTQm1kV3hzSUhOdlhISmNiaUFnSUNBZ0lDQWdMeThnYVhRZ1kyRnVKM1FnWW1VZ2JXVnlaMlZrSUhkcGRHZ2dZV1JxWVdObGJuUWdibTlrWlhNdUlFaHZkMlYyWlhJc0lIUm9aU0J3WVhKbGJuUWdkMmxzYkZ4eVhHNGdJQ0FnSUNBZ0lDOHZJSFpsY21sbWVTQjBhR0YwSUhSb1pTQmhkbVZ5WVdkbElHNXZaR1VnYzJsNlpTQnBjeUJoZENCc1pXRnpkQ0JvWVd4bUlHOW1JSFJvWlNCdFlYaHBiWFZ0TGx4eVhHNGdJQ0FnSUNBZ0lHTm9aV05yS0dSbGNIUm9JRDA5SURBZ2ZId2dhMHdnUGlBd0xDQmNJbVZ0Y0hSNUlHeGxZV1lnWVhRZ1pHVndkR2hjSWl3Z1pHVndkR2dzSUZ3aVlXNWtJR0poYzJWSmJtUmxlRndpTENCaVlYTmxTVzVrWlhncE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnJURHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHlYRzRnSUNBZ0x5OGdUR1ZoWmlCT2IyUmxPaUJ6WlhRZ0ppQnViMlJsSUhOd2JHbDBkR2x1WnlBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljY2x4dUlDQWdJRUpPYjJSbExuQnliM1J2ZEhsd1pTNXpaWFFnUFNCbWRXNWpkR2x2YmlBb2EyVjVMQ0IyWVd4MVpTd2diM1psY25keWFYUmxMQ0IwY21WbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHa2dQU0IwYUdsekxtbHVaR1Y0VDJZb2EyVjVMQ0F0TVN3Z2RISmxaUzVmWTI5dGNHRnlaU2s3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR2tnUENBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3RsZVNCa2IyVnpJRzV2ZENCbGVHbHpkQ0I1WlhSY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVNBOUlINXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBjbVZsTGw5emFYcGxLeXM3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbXRsZVhNdWJHVnVaM1JvSUR3Z2RISmxaUzVmYldGNFRtOWtaVk5wZW1VcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdWMyVnlkRWx1VEdWaFppaHBMQ0JyWlhrc0lIWmhiSFZsTENCMGNtVmxLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvYVhNZ2JHVmhaaUJ1YjJSbElHbHpJR1oxYkd3Z1lXNWtJRzExYzNRZ2MzQnNhWFJjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnVaWGRTYVdkb2RGTnBZbXhwYm1jZ1BTQjBhR2x6TG5Od2JHbDBUMlptVW1sbmFIUlRhV1JsS0Nrc0lIUmhjbWRsZENBOUlIUm9hWE03WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hU0ErSUhSb2FYTXVhMlY1Y3k1c1pXNW5kR2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwSUMwOUlIUm9hWE11YTJWNWN5NXNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdGeVoyVjBJRDBnYm1WM1VtbG5hSFJUYVdKc2FXNW5PMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHRnlaMlYwTG1sdWMyVnlkRWx1VEdWaFppaHBMQ0JyWlhrc0lIWmhiSFZsTENCMGNtVmxLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhkU2FXZG9kRk5wWW14cGJtYzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUV0bGVTQmhiSEpsWVdSNUlHVjRhWE4wYzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2IzWmxjbmR5YVhSbElDRTlQU0JtWVd4elpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsSUNFOVBTQjFibVJsWm1sdVpXUXBYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV5WldsbWVWWmhiSFZsY3lncE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZFhOMVlXeHNlU0IwYUdseklHbHpJR0VnYm04dGIzQXNJR0oxZENCemIyMWxJSFZ6WlhKeklHMWhlU0IzYVhOb0lIUnZJR1ZrYVhRZ2RHaGxJR3RsZVZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVyWlhselcybGRJRDBnYTJWNU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVYwZ1BTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRUpPYjJSbExuQnliM1J2ZEhsd1pTNXlaV2xtZVZaaGJIVmxjeUE5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTUyWVd4MVpYTWdQVDA5SUhWdVpHVm1WbUZzY3lsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6SUQwZ2RHaHBjeTUyWVd4MVpYTXVjMnhwWTJVb01Dd2dkR2hwY3k1clpYbHpMbXhsYm1kMGFDazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUVKT2IyUmxMbkJ5YjNSdmRIbHdaUzVwYm5ObGNuUkpia3hsWVdZZ1BTQm1kVzVqZEdsdmJpQW9hU3dnYTJWNUxDQjJZV3gxWlN3Z2RISmxaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11YTJWNWN5NXpjR3hwWTJVb2FTd2dNQ3dnYTJWNUtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTUyWVd4MVpYTWdQVDA5SUhWdVpHVm1WbUZzY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCM2FHbHNaU0FvZFc1a1pXWldZV3h6TG14bGJtZDBhQ0E4SUhSeVpXVXVYMjFoZUU1dlpHVlRhWHBsS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RXNWtaV1pXWVd4ekxuQjFjMmdvZFc1a1pXWnBibVZrS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhNZ1BTQjFibVJsWmxaaGJITXVjMnhwWTJVb01Dd2dkR2hwY3k1clpYbHpMbXhsYm1kMGFDQXRJREVwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6TG5Od2JHbGpaU2hwTENBd0xDQjJZV3gxWlNrN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnUWs1dlpHVXVjSEp2ZEc5MGVYQmxMblJoYTJWR2NtOXRVbWxuYUhRZ1BTQm1kVzVqZEdsdmJpQW9jbWh6S1NCN1hISmNiaUFnSUNBZ0lDQWdMeThnVW1WdGFXNWtaWEk2SUhCaGNtVnVkQ0J1YjJSbElHMTFjM1FnZFhCa1lYUmxJR2wwY3lCamIzQjVJRzltSUd0bGVTQm1iM0lnZEdocGN5QnViMlJsWEhKY2JpQWdJQ0FnSUNBZ0x5OGdZWE56WlhKME9pQnVaV2wwYUdWeUlHNXZaR1VnYVhNZ2MyaGhjbVZrWEhKY2JpQWdJQ0FnSUNBZ0x5OGdZWE56WlhKMElISm9jeTVyWlhsekxteGxibWQwYUNBK0lDaHRZWGhPYjJSbFUybDZaUzh5SUNZbUlIUm9hWE11YTJWNWN5NXNaVzVuZEdnOGJXRjRUbTlrWlZOcGVtVXBYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIWWdQU0IwYUdsekxuWmhiSFZsY3p0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21oekxuWmhiSFZsY3lBOVBUMGdkVzVrWldaV1lXeHpLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMklDRTlQU0IxYm1SbFpsWmhiSE1wWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMkxuQjFjMmdvZFc1a1pXWnBibVZrS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIWWdQU0IwYUdsekxuSmxhV1o1Vm1Gc2RXVnpLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFl1Y0hWemFDaHlhSE11ZG1Gc2RXVnpMbk5vYVdaMEtDa3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG10bGVYTXVjSFZ6YUNoeWFITXVhMlY1Y3k1emFHbG1kQ2dwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCQ1RtOWtaUzV3Y205MGIzUjVjR1V1ZEdGclpVWnliMjFNWldaMElEMGdablZ1WTNScGIyNGdLR3hvY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQzh2SUZKbGJXbHVaR1Z5T2lCd1lYSmxiblFnYm05a1pTQnRkWE4wSUhWd1pHRjBaU0JwZEhNZ1kyOXdlU0J2WmlCclpYa2dabTl5SUhSb2FYTWdibTlrWlZ4eVhHNGdJQ0FnSUNBZ0lDOHZJR0Z6YzJWeWREb2dibVZwZEdobGNpQnViMlJsSUdseklITm9ZWEpsWkZ4eVhHNGdJQ0FnSUNBZ0lDOHZJR0Z6YzJWeWRDQnlhSE11YTJWNWN5NXNaVzVuZEdnZ1BpQW9iV0Y0VG05a1pWTnBlbVV2TWlBbUppQjBhR2x6TG10bGVYTXViR1Z1WjNSb1BHMWhlRTV2WkdWVGFYcGxLVnh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjJJRDBnZEdocGN5NTJZV3gxWlhNN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0d4b2N5NTJZV3gxWlhNZ1BUMDlJSFZ1WkdWbVZtRnNjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RpQWhQVDBnZFc1a1pXWldZV3h6S1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RpNTFibk5vYVdaMEtIVnVaR1ZtYVc1bFpDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IySUQwZ2RHaHBjeTV5WldsbWVWWmhiSFZsY3lncE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMkxuVnVjMmhwWm5Rb2JHaHpMblpoYkhWbGN5NXdiM0FvS1NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVhMlY1Y3k1MWJuTm9hV1owS0d4b2N5NXJaWGx6TG5CdmNDZ3BLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JDVG05a1pTNXdjbTkwYjNSNWNHVXVjM0JzYVhSUFptWlNhV2RvZEZOcFpHVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdMeThnVW1WdGFXNWtaWEk2SUhCaGNtVnVkQ0J1YjJSbElHMTFjM1FnZFhCa1lYUmxJR2wwY3lCamIzQjVJRzltSUd0bGVTQm1iM0lnZEdocGN5QnViMlJsWEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2hoYkdZZ1BTQjBhR2x6TG10bGVYTXViR1Z1WjNSb0lENCtJREVzSUd0bGVYTWdQU0IwYUdsekxtdGxlWE11YzNCc2FXTmxLR2hoYkdZcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCMllXeDFaWE1nUFNCMGFHbHpMblpoYkhWbGN5QTlQVDBnZFc1a1pXWldZV3h6SUQ4Z2RXNWtaV1pXWVd4eklEb2dkR2hwY3k1MllXeDFaWE11YzNCc2FXTmxLR2hoYkdZcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUWs1dlpHVW9hMlY1Y3l3Z2RtRnNkV1Z6S1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh5WEc0Z0lDQWdMeThnVEdWaFppQk9iMlJsT2lCelkyRnVibWx1WnlBbUlHUmxiR1YwYVc5dWN5QXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk5Y2NseHVJQ0FnSUVKT2IyUmxMbkJ5YjNSdmRIbHdaUzVtYjNKU1lXNW5aU0E5SUdaMWJtTjBhVzl1SUNoc2IzY3NJR2hwWjJnc0lHbHVZMngxWkdWSWFXZG9MQ0JsWkdsMFRXOWtaU3dnZEhKbFpTd2dZMjkxYm5Rc0lHOXVSbTkxYm1RcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1kyMXdJRDBnZEhKbFpTNWZZMjl0Y0dGeVpUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2FVeHZkeXdnYVVocFoyZzdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHaHBaMmdnUFQwOUlHeHZkeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXbHVZMngxWkdWSWFXZG9LVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR052ZFc1ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFNHbG5hQ0E5SUNocFRHOTNJRDBnZEdocGN5NXBibVJsZUU5bUtHeHZkeXdnTFRFc0lHTnRjQ2twSUNzZ01UdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2xNYjNjZ1BDQXdLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR052ZFc1ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhVXh2ZHlBOUlIUm9hWE11YVc1a1pYaFBaaWhzYjNjc0lEQXNJR050Y0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsSWFXZG9JRDBnZEdocGN5NXBibVJsZUU5bUtHaHBaMmdzSUMweExDQmpiWEFwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FVaHBaMmdnUENBd0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhVWhwWjJnZ1BTQithVWhwWjJnN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsdVkyeDFaR1ZJYVdkb0lEMDlQU0IwY25WbEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhVWhwWjJnckt6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR3RsZVhNZ1BTQjBhR2x6TG10bGVYTXNJSFpoYkhWbGN5QTlJSFJvYVhNdWRtRnNkV1Z6TzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h2YmtadmRXNWtJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJR2xNYjNjN0lHa2dQQ0JwU0dsbmFEc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnYTJWNUlEMGdhMlY1YzF0cFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpYTjFiSFFnUFNCdmJrWnZkVzVrS0d0bGVTd2dkbUZzZFdWelcybGRMQ0JqYjNWdWRDc3JLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHlaWE4xYkhRZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobFpHbDBUVzlrWlNBOVBUMGdkSEoxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYTJWNUlDRTlQU0JyWlhselcybGRJSHg4SUhSb2FYTXVhWE5UYUdGeVpXUWdQVDA5SUhSeWRXVXBYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKQ1ZISmxaU0JwYkd4bFoyRnNiSGtnWTJoaGJtZGxaQ0J2Y2lCamJHOXVaV1FnYVc0Z1pXUnBkRkpoYm1kbFhDSXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwTG1SbGJHVjBaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1clpYbHpMbk53YkdsalpTaHBMQ0F4S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMblpoYkhWbGN5QWhQVDBnZFc1a1pXWldZV3h6S1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWekxuTndiR2xqWlNocExDQXhLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnlaV1V1WDNOcGVtVXRMVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHa3RMVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbElhV2RvTFMwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9jbVZ6ZFd4MExtaGhjMDkzYmxCeWIzQmxjblI1S0NkMllXeDFaU2NwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpYTmJhVjBnUFNCeVpYTjFiSFF1ZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDNWljbVZoYXlBaFBUMGdkVzVrWldacGJtVmtLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlZjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMjkxYm5RZ0t6MGdhVWhwWjJnZ0xTQnBURzkzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCamIzVnVkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0F2S2lvZ1FXUmtjeUJsYm5ScGNtVWdZMjl1ZEdWdWRITWdiMllnY21sbmFIUXRhR0Z1WkNCemFXSnNhVzVuSUNoeWFITWdhWE1nYkdWbWRDQjFibU5vWVc1blpXUXBJQ292WEhKY2JpQWdJQ0JDVG05a1pTNXdjbTkwYjNSNWNHVXViV1Z5WjJWVGFXSnNhVzVuSUQwZ1puVnVZM1JwYjI0Z0tISm9jeXdnWHlrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWEyVjVjeTV3ZFhOb0xtRndjR3g1S0hSb2FYTXVhMlY1Y3l3Z2NtaHpMbXRsZVhNcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMblpoYkhWbGN5QTlQVDBnZFc1a1pXWldZV3h6S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHlhSE11ZG1Gc2RXVnpJRDA5UFNCMWJtUmxabFpoYkhNcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeklEMGdkR2hwY3k1MllXeDFaWE11YzJ4cFkyVW9NQ3dnZEdocGN5NXJaWGx6TG14bGJtZDBhQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6TG5CMWMyZ3VZWEJ3Ykhrb2RHaHBjeTUyWVd4MVpYTXNJSEpvY3k1eVpXbG1lVlpoYkhWbGN5Z3BLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdRazV2WkdVN1hISmNibjBvS1NrN1hISmNiaThxS2lCSmJuUmxjbTVoYkNCdWIyUmxJQ2h1YjI0dGJHVmhaaUJ1YjJSbEtTQXFLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpOWNjbHh1ZG1GeUlFSk9iMlJsU1c1MFpYSnVZV3dnUFNBdktpb2dRR05zWVhOeklDb3ZJQ2htZFc1amRHbHZiaUFvWDNOMWNHVnlLU0I3WEhKY2JpQWdJQ0JmWDJWNGRHVnVaSE1vUWs1dlpHVkpiblJsY201aGJDd2dYM04xY0dWeUtUdGNjbHh1SUNBZ0lDOHFLbHh5WEc0Z0lDQWdJQ29nVkdocGN5QmtiMlZ6SUc1dmRDQnRZWEpySUdCamFHbHNaSEpsYm1BZ1lYTWdjMmhoY21Wa0xDQnpieUJwZENCcGN5QjBhR1VnY21WemNHOXVjMmxpYVd4cGRIa2diMllnZEdobElHTmhiR3hsY2x4eVhHNGdJQ0FnSUNvZ2RHOGdaVzV6ZFhKbElHTm9hV3hrY21WdUlHRnlaU0JsYVhSb1pYSWdiV0Z5YTJWa0lITm9ZWEpsWkN3Z2IzSWdZWEpsYmlkMElHbHVZMngxWkdWa0lHbHVJR0Z1YjNSb1pYSWdkSEpsWlM1Y2NseHVJQ0FnSUNBcUwxeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1FrNXZaR1ZKYm5SbGNtNWhiQ2hqYUdsc1pISmxiaXdnYTJWNWN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmZkR2hwY3lBOUlIUm9hWE03WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZyWlhsektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHdGxlWE1nUFNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmphR2xzWkhKbGJpNXNaVzVuZEdnN0lHa3JLeWxjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd0bGVYTmJhVjBnUFNCamFHbHNaSEpsYmx0cFhTNXRZWGhMWlhrb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1gzUm9hWE1nUFNCZmMzVndaWEl1WTJGc2JDaDBhR2x6TENCclpYbHpLU0I4ZkNCMGFHbHpPMXh5WEc0Z0lDQWdJQ0FnSUY5MGFHbHpMbU5vYVd4a2NtVnVJRDBnWTJocGJHUnlaVzQ3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUY5MGFHbHpPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdRazV2WkdWSmJuUmxjbTVoYkM1d2NtOTBiM1I1Y0dVdVkyeHZibVVnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTm9hV3hrY21WdUlEMGdkR2hwY3k1amFHbHNaSEpsYmk1emJHbGpaU2d3S1R0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR05vYVd4a2NtVnVMbXhsYm1kMGFEc2dhU3NyS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYUdsc1pISmxibHRwWFM1cGMxTm9ZWEpsWkNBOUlIUnlkV1U3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkNUbTlrWlVsdWRHVnlibUZzS0dOb2FXeGtjbVZ1TENCMGFHbHpMbXRsZVhNdWMyeHBZMlVvTUNrcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lFSk9iMlJsU1c1MFpYSnVZV3d1Y0hKdmRHOTBlWEJsTG1keVpXVmtlVU5zYjI1bElEMGdablZ1WTNScGIyNGdLR1p2Y21ObEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YVhOVGFHRnlaV1FnSmlZZ0lXWnZjbU5sS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYm5VZ1BTQnVaWGNnUWs1dlpHVkpiblJsY201aGJDaDBhR2x6TG1Ob2FXeGtjbVZ1TG5Oc2FXTmxLREFwTENCMGFHbHpMbXRsZVhNdWMyeHBZMlVvTUNrcE8xeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5VdVkyaHBiR1J5Wlc0dWJHVnVaM1JvT3lCcEt5c3BYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHNTFMbU5vYVd4a2NtVnVXMmxkSUQwZ2JuVXVZMmhwYkdSeVpXNWJhVjB1WjNKbFpXUjVRMnh2Ym1Vb1ptOXlZMlVwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQkNUbTlrWlVsdWRHVnlibUZzTG5CeWIzUnZkSGx3WlM1dGFXNUxaWGtnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyaHBiR1J5Wlc1Yk1GMHViV2x1UzJWNUtDazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdRazV2WkdWSmJuUmxjbTVoYkM1d2NtOTBiM1I1Y0dVdWJXbHVVR0ZwY2lBOUlHWjFibU4wYVc5dUlDaHlaWFZ6WldSQmNuSmhlU2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5vYVd4a2NtVnVXekJkTG0xcGJsQmhhWElvY21WMWMyVmtRWEp5WVhrcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lFSk9iMlJsU1c1MFpYSnVZV3d1Y0hKdmRHOTBlWEJsTG0xaGVGQmhhWElnUFNCbWRXNWpkR2x2YmlBb2NtVjFjMlZrUVhKeVlYa3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWphR2xzWkhKbGJsdDBhR2x6TG1Ob2FXeGtjbVZ1TG14bGJtZDBhQ0F0SURGZExtMWhlRkJoYVhJb2NtVjFjMlZrUVhKeVlYa3BPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRUpPYjJSbFNXNTBaWEp1WVd3dWNISnZkRzkwZVhCbExtZGxkQ0E5SUdaMWJtTjBhVzl1SUNoclpYa3NJR1JsWm1GMWJIUldZV3gxWlN3Z2RISmxaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ2RHaHBjeTVwYm1SbGVFOW1LR3RsZVN3Z01Dd2dkSEpsWlM1ZlkyOXRjR0Z5WlNrc0lHTm9hV3hrY21WdUlEMGdkR2hwY3k1amFHbHNaSEpsYmp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FTQThJR05vYVd4a2NtVnVMbXhsYm1kMGFDQS9JR05vYVd4a2NtVnVXMmxkTG1kbGRDaHJaWGtzSUdSbFptRjFiSFJXWVd4MVpTd2dkSEpsWlNrZ09pQjFibVJsWm1sdVpXUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdRazV2WkdWSmJuUmxjbTVoYkM1d2NtOTBiM1I1Y0dVdVoyVjBVR0ZwY2s5eVRtVjRkRXh2ZDJWeUlEMGdablZ1WTNScGIyNGdLR3RsZVN3Z1kyOXRjR0Z5WlN3Z2FXNWpiSFZ6YVhabExDQnlaWFZ6WldSQmNuSmhlU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ2RHaHBjeTVwYm1SbGVFOW1LR3RsZVN3Z01Dd2dZMjl0Y0dGeVpTa3NJR05vYVd4a2NtVnVJRDBnZEdocGN5NWphR2xzWkhKbGJqdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2FTQStQU0JqYUdsc1pISmxiaTVzWlc1bmRHZ3BYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTFoZUZCaGFYSW9jbVYxYzJWa1FYSnlZWGtwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0JqYUdsc1pISmxibHRwWFM1blpYUlFZV2x5VDNKT1pYaDBURzkzWlhJb2EyVjVMQ0JqYjIxd1lYSmxMQ0JwYm1Oc2RYTnBkbVVzSUhKbGRYTmxaRUZ5Y21GNUtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwSUQwOVBTQjFibVJsWm1sdVpXUWdKaVlnYVNBK0lEQXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHTm9hV3hrY21WdVcya2dMU0F4WFM1dFlYaFFZV2x5S0hKbGRYTmxaRUZ5Y21GNUtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JDVG05a1pVbHVkR1Z5Ym1Gc0xuQnliM1J2ZEhsd1pTNW5aWFJRWVdseVQzSk9aWGgwU0dsbmFHVnlJRDBnWm5WdVkzUnBiMjRnS0d0bGVTd2dZMjl0Y0dGeVpTd2dhVzVqYkhWemFYWmxMQ0J5WlhWelpXUkJjbkpoZVNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcElEMGdkR2hwY3k1cGJtUmxlRTltS0d0bGVTd2dNQ3dnWTI5dGNHRnlaU2tzSUdOb2FXeGtjbVZ1SUQwZ2RHaHBjeTVqYUdsc1pISmxiaXdnYkdWdVozUm9JRDBnWTJocGJHUnlaVzR1YkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHBJRDQ5SUd4bGJtZDBhQ2xjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ1kyaHBiR1J5Wlc1YmFWMHVaMlYwVUdGcGNrOXlUbVY0ZEVocFoyaGxjaWhyWlhrc0lHTnZiWEJoY21Vc0lHbHVZMngxYzJsMlpTd2djbVYxYzJWa1FYSnlZWGtwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMWJIUWdQVDA5SUhWdVpHVm1hVzVsWkNBbUppQnBJRHdnYkdWdVozUm9JQzBnTVNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWTJocGJHUnlaVzViYVNBcklERmRMbTFwYmxCaGFYSW9jbVYxYzJWa1FYSnlZWGtwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lFSk9iMlJsU1c1MFpYSnVZV3d1Y0hKdmRHOTBlWEJsTG1Ob1pXTnJWbUZzYVdRZ1BTQm1kVzVqZEdsdmJpQW9aR1Z3ZEdnc0lIUnlaV1VzSUdKaGMyVkpibVJsZUNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCclRDQTlJSFJvYVhNdWEyVjVjeTVzWlc1bmRHZ3NJR05NSUQwZ2RHaHBjeTVqYUdsc1pISmxiaTVzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWTJobFkyc29hMHdnUFQwOUlHTk1MQ0JjSW10bGVYTXZZMmhwYkdSeVpXNGdiR1Z1WjNSb0lHMXBjMjFoZEdOb09pQmtaWEIwYUZ3aUxDQmtaWEIwYUN3Z1hDSnNaVzVuZEdoelhDSXNJR3RNTENCalRDd2dYQ0ppWVhObFNXNWtaWGhjSWl3Z1ltRnpaVWx1WkdWNEtUdGNjbHh1SUNBZ0lDQWdJQ0JqYUdWamF5aHJUQ0ErSURFZ2ZId2daR1Z3ZEdnZ1BpQXdMQ0JjSW1sdWRHVnlibUZzSUc1dlpHVWdhR0Z6SUd4bGJtZDBhRndpTENCclRDd2dYQ0poZENCa1pYQjBhRndpTENCa1pYQjBhQ3dnWENKaVlYTmxTVzVrWlhoY0lpd2dZbUZ6WlVsdVpHVjRLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjMmw2WlNBOUlEQXNJR01nUFNCMGFHbHpMbU5vYVd4a2NtVnVMQ0JySUQwZ2RHaHBjeTVyWlhsekxDQmphR2xzWkZOcGVtVWdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZMHc3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnphWHBsSUNzOUlHTmJhVjB1WTJobFkydFdZV3hwWkNoa1pYQjBhQ0FySURFc0lIUnlaV1VzSUdKaGMyVkpibVJsZUNBcklITnBlbVVwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYUdsc1pGTnBlbVVnS3owZ1kxdHBYUzVyWlhsekxteGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWTJobFkyc29jMmw2WlNBK1BTQmphR2xzWkZOcGVtVXNJRndpZDNSbVhDSXNJR0poYzJWSmJtUmxlQ2s3SUM4dklHNXZJSGRoZVNCMGFHbHpJSGRwYkd3Z1pYWmxjaUJtWVdsc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdOb1pXTnJLR2tnUFQwOUlEQWdmSHdnWTF0cElDMGdNVjB1WTI5dWMzUnlkV04wYjNJZ1BUMDlJR05iYVYwdVkyOXVjM1J5ZFdOMGIzSXNJRndpZEhsd1pTQnRhWE50WVhSamFDd2dZbUZ6WlVsdVpHVjRPbHdpTENCaVlYTmxTVzVrWlhncE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMXRwWFM1dFlYaExaWGtvS1NBaFBTQnJXMmxkS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyaGxZMnNvWm1Gc2MyVXNJRndpYTJWNWMxdGNJaXdnYVN3Z1hDSmRJRDFjSWl3Z2ExdHBYU3dnWENKcGN5QjNjbTl1Wnl3Z2MyaHZkV3hrSUdKbElGd2lMQ0JqVzJsZExtMWhlRXRsZVNncExDQmNJbUYwSUdSbGNIUm9YQ0lzSUdSbGNIUm9MQ0JjSW1KaGMyVkpibVJsZUZ3aUxDQmlZWE5sU1c1a1pYZ3BPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVNocElEMDlQU0F3SUh4OElIUnlaV1V1WDJOdmJYQmhjbVVvYTF0cElDMGdNVjBzSUd0YmFWMHBJRHdnTUNrcFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmphR1ZqYXlobVlXeHpaU3dnWENKemIzSjBJSFpwYjJ4aGRHbHZiaUJoZENCa1pYQjBhRndpTENCa1pYQjBhQ3dnWENKcGJtUmxlRndpTENCcExDQmNJbXRsZVhOY0lpd2dhMXRwSUMwZ01WMHNJR3RiYVYwcE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBdkx5QXlNREl3THpBNE9pQkNWSEpsWlNCa2IyVnpiaWQwSUdGc2QyRjVjeUJoZG05cFpDQm5jbTl6YzJ4NUlIVnVaR1Z5YzJsNlpXUWdibTlrWlhNc1hISmNiaUFnSUNBZ0lDQWdMeThnWW5WMElFRkdRVWxMSUhOMVkyZ2dibTlrWlhNZ1lYSmxJSEJ5WlhSMGVTQm9ZWEp0YkdWemN5d2djMjhnWVdOalpYQjBJSFJvWlcwdVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUhSdmIyWmxkeUE5SUdOb2FXeGtVMmw2WlNBOVBUMGdNRHNnTHk4Z1kyaHBiR1JUYVhwbElEd2dLSFJ5WldVdWJXRjRUbTlrWlZOcGVtVWdQajRnTVNrcVkwdzdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIUnZiMlpsZHlCOGZDQmphR2xzWkZOcGVtVWdQaUIwY21WbExtMWhlRTV2WkdWVGFYcGxJQ29nWTB3cFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdOb1pXTnJLR1poYkhObExDQjBiMjltWlhjZ1B5QmNJblJ2YnlCbVpYZGNJaUE2SUZ3aWRHOXZJRzFoYm5sY0lpd2dYQ0pqYUdsc1pISmxiaUFvWENJc0lHTm9hV3hrVTJsNlpTd2djMmw2WlN3Z1hDSXBJR0YwSUdSbGNIUm9YQ0lzSUdSbGNIUm9MQ0JjSW0xaGVFNXZaR1ZUYVhwbE9sd2lMQ0IwY21WbExtMWhlRTV2WkdWVGFYcGxMQ0JjSW1Ob2FXeGtjbVZ1TG14bGJtZDBhRHBjSWl3Z1kwd3NJRndpWW1GelpVbHVaR1Y0T2x3aUxDQmlZWE5sU1c1a1pYZ3BPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6YVhwbE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2WEhKY2JpQWdJQ0F2THlCSmJuUmxjbTVoYkNCT2IyUmxPaUJ6WlhRZ0ppQnViMlJsSUhOd2JHbDBkR2x1WnlBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHlYRzRnSUNBZ1FrNXZaR1ZKYm5SbGNtNWhiQzV3Y205MGIzUjVjR1V1YzJWMElEMGdablZ1WTNScGIyNGdLR3RsZVN3Z2RtRnNkV1VzSUc5MlpYSjNjbWwwWlN3Z2RISmxaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJqSUQwZ2RHaHBjeTVqYUdsc1pISmxiaXdnYldGNElEMGdkSEpsWlM1ZmJXRjRUbTlrWlZOcGVtVXNJR050Y0NBOUlIUnlaV1V1WDJOdmJYQmhjbVU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2tnUFNCTllYUm9MbTFwYmloMGFHbHpMbWx1WkdWNFQyWW9hMlY1TENBd0xDQmpiWEFwTENCakxteGxibWQwYUNBdElERXBMQ0JqYUdsc1pDQTlJR05iYVYwN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0dOb2FXeGtMbWx6VTJoaGNtVmtLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpXMmxkSUQwZ1kyaHBiR1FnUFNCamFHbHNaQzVqYkc5dVpTZ3BPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaGphR2xzWkM1clpYbHpMbXhsYm1kMGFDQStQU0J0WVhncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdZMmhwYkdRZ2FYTWdablZzYkRzZ2FXNXpaWEowYVc1bklHRnVlWFJvYVc1bklHVnNjMlVnZDJsc2JDQmpZWFZ6WlNCaElITndiR2wwTGx4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCVGFHbG1kR2x1WnlCaGJpQnBkR1Z0SUhSdklIUm9aU0JzWldaMElHOXlJSEpwWjJoMElITnBZbXhwYm1jZ2JXRjVJR0YyYjJsa0lHRWdjM0JzYVhRdVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJR05oYmlCa2J5QmhJSE5vYVdaMElHbG1JSFJvWlNCaFpHcGhZMlZ1ZENCdWIyUmxJR2x6SUc1dmRDQm1kV3hzSUdGdVpDQnBaaUIwYUdWY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kzVnljbVZ1ZENCclpYa2dZMkZ1SUhOMGFXeHNJR0psSUhCc1lXTmxaQ0JwYmlCMGFHVWdjMkZ0WlNCdWIyUmxJR0ZtZEdWeUlIUm9aU0J6YUdsbWRDNWNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRzkwYUdWeU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hU0ErSURBZ0ppWWdLRzkwYUdWeUlEMGdZMXRwSUMwZ01WMHBMbXRsZVhNdWJHVnVaM1JvSUR3Z2JXRjRJQ1ltSUdOdGNDaGphR2xzWkM1clpYbHpXekJkTENCclpYa3BJRHdnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c5MGFHVnlMbWx6VTJoaGNtVmtLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmJhU0F0SURGZElEMGdiM1JvWlhJZ1BTQnZkR2hsY2k1amJHOXVaU2dwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IzUm9aWEl1ZEdGclpVWnliMjFTYVdkb2RDaGphR2xzWkNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG10bGVYTmJhU0F0SURGZElEMGdiM1JvWlhJdWJXRjRTMlY1S0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvS0c5MGFHVnlJRDBnWTF0cElDc2dNVjBwSUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnYjNSb1pYSXVhMlY1Y3k1c1pXNW5kR2dnUENCdFlYZ2dKaVlnWTIxd0tHTm9hV3hrTG0xaGVFdGxlU2dwTENCclpYa3BJRHdnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c5MGFHVnlMbWx6VTJoaGNtVmtLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmJhU0FySURGZElEMGdiM1JvWlhJZ1BTQnZkR2hsY2k1amJHOXVaU2dwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IzUm9aWEl1ZEdGclpVWnliMjFNWldaMEtHTm9hV3hrS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YTJWNWMxdHBYU0E5SUdOYmFWMHViV0Y0UzJWNUtDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJR05vYVd4a0xuTmxkQ2hyWlhrc0lIWmhiSFZsTENCdmRtVnlkM0pwZEdVc0lIUnlaV1VwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMWJIUWdQVDA5SUdaaGJITmxLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVyWlhselcybGRJRDBnWTJocGJHUXViV0Y0UzJWNUtDazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENBOVBUMGdkSEoxWlNsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hISmNiaUFnSUNBZ0lDQWdMeThnVkdobElHTm9hV3hrSUdoaGN5QnpjR3hwZENCaGJtUWdZSEpsYzNWc2RHQWdhWE1nWVNCdVpYY2djbWxuYUhRZ1kyaHBiR1F1TGk0Z1pHOWxjeUJwZENCbWFYUS9YSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YTJWNWN5NXNaVzVuZEdnZ1BDQnRZWGdwSUhzZ0x5OGdlV1Z6WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNXpaWEowS0drZ0t5QXhMQ0J5WlhOMWJIUXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaV3h6WlNCN0lDOHZJRzV2TENCM1pTQnRkWE4wSUhOd2JHbDBJR0ZzYzI5Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHNWxkMUpwWjJoMFUybGliR2x1WnlBOUlIUm9hWE11YzNCc2FYUlBabVpTYVdkb2RGTnBaR1VvS1N3Z2RHRnlaMlYwSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOdGNDaHlaWE4xYkhRdWJXRjRTMlY1S0Nrc0lIUm9hWE11YldGNFMyVjVLQ2twSUQ0Z01Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdGeVoyVjBJRDBnYm1WM1VtbG5hSFJUYVdKc2FXNW5PMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBdFBTQjBhR2x6TG10bGVYTXViR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSaGNtZGxkQzVwYm5ObGNuUW9hU0FySURFc0lISmxjM1ZzZENrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhkU2FXZG9kRk5wWW14cGJtYzdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtseHlYRzRnSUNBZ0lDb2dTVzV6WlhKMGN5QmdZMmhwYkdSZ0lHRjBJR2x1WkdWNElHQnBZQzVjY2x4dUlDQWdJQ0FxSUZSb2FYTWdaRzlsY3lCdWIzUWdiV0Z5YXlCZ1kyaHBiR1JnSUdGeklITm9ZWEpsWkN3Z2MyOGdhWFFnYVhNZ2RHaGxJSEpsYzNCdmJuTnBZbWxzYVhSNUlHOW1JSFJvWlNCallXeHNaWEpjY2x4dUlDQWdJQ0FxSUhSdklHVnVjM1Z5WlNCMGFHRjBJR1ZwZEdobGNpQmphR2xzWkNCcGN5QnRZWEpyWldRZ2MyaGhjbVZrTENCdmNpQnBkQ0JwY3lCdWIzUWdhVzVqYkhWa1pXUWdhVzRnWVc1dmRHaGxjaUIwY21WbExseHlYRzRnSUNBZ0lDb3ZYSEpjYmlBZ0lDQkNUbTlrWlVsdWRHVnlibUZzTG5CeWIzUnZkSGx3WlM1cGJuTmxjblFnUFNCbWRXNWpkR2x2YmlBb2FTd2dZMmhwYkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxtTm9hV3hrY21WdUxuTndiR2xqWlNocExDQXdMQ0JqYUdsc1pDazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NXJaWGx6TG5Od2JHbGpaU2hwTENBd0xDQmphR2xzWkM1dFlYaExaWGtvS1NrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FYSEpjYmlBZ0lDQWdLaUJUY0d4cGRDQjBhR2x6SUc1dlpHVXVYSEpjYmlBZ0lDQWdLaUJOYjJScFptbGxjeUIwYUdseklIUnZJSEpsYlc5MlpTQjBhR1VnYzJWamIyNWtJR2hoYkdZZ2IyWWdkR2hsSUdsMFpXMXpMQ0J5WlhSMWNtNXBibWNnWVNCelpYQmhjbUYwWlNCdWIyUmxJR052Ym5SaGFXNXBibWNnZEdobGJTNWNjbHh1SUNBZ0lDQXFMMXh5WEc0Z0lDQWdRazV2WkdWSmJuUmxjbTVoYkM1d2NtOTBiM1I1Y0dVdWMzQnNhWFJQWm1aU2FXZG9kRk5wWkdVZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0x5OGdZWE56WlhKMElDRjBhR2x6TG1selUyaGhjbVZrTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJvWVd4bUlEMGdkR2hwY3k1amFHbHNaSEpsYmk1c1pXNW5kR2dnUGo0Z01UdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUVKT2IyUmxTVzUwWlhKdVlXd29kR2hwY3k1amFHbHNaSEpsYmk1emNHeHBZMlVvYUdGc1ppa3NJSFJvYVhNdWEyVjVjeTV6Y0d4cFkyVW9hR0ZzWmlrcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lFSk9iMlJsU1c1MFpYSnVZV3d1Y0hKdmRHOTBlWEJsTG5SaGEyVkdjbTl0VW1sbmFIUWdQU0JtZFc1amRHbHZiaUFvY21oektTQjdYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1VtVnRhVzVrWlhJNklIQmhjbVZ1ZENCdWIyUmxJRzExYzNRZ2RYQmtZWFJsSUdsMGN5QmpiM0I1SUc5bUlHdGxlU0JtYjNJZ2RHaHBjeUJ1YjJSbFhISmNiaUFnSUNBZ0lDQWdMeThnWVhOelpYSjBPaUJ1WldsMGFHVnlJRzV2WkdVZ2FYTWdjMmhoY21Wa1hISmNiaUFnSUNBZ0lDQWdMeThnWVhOelpYSjBJSEpvY3k1clpYbHpMbXhsYm1kMGFDQStJQ2h0WVhoT2IyUmxVMmw2WlM4eUlDWW1JSFJvYVhNdWEyVjVjeTVzWlc1bmRHZzhiV0Y0VG05a1pWTnBlbVVwWEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVyWlhsekxuQjFjMmdvY21oekxtdGxlWE11YzJocFpuUW9LU2s3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVqYUdsc1pISmxiaTV3ZFhOb0tISm9jeTVqYUdsc1pISmxiaTV6YUdsbWRDZ3BLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0JDVG05a1pVbHVkR1Z5Ym1Gc0xuQnliM1J2ZEhsd1pTNTBZV3RsUm5KdmJVeGxablFnUFNCbWRXNWpkR2x2YmlBb2JHaHpLU0I3WEhKY2JpQWdJQ0FnSUNBZ0x5OGdVbVZ0YVc1a1pYSTZJSEJoY21WdWRDQnViMlJsSUcxMWMzUWdkWEJrWVhSbElHbDBjeUJqYjNCNUlHOW1JR3RsZVNCbWIzSWdkR2hwY3lCdWIyUmxYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1lYTnpaWEowT2lCdVpXbDBhR1Z5SUc1dlpHVWdhWE1nYzJoaGNtVmtYSEpjYmlBZ0lDQWdJQ0FnTHk4Z1lYTnpaWEowSUhKb2N5NXJaWGx6TG14bGJtZDBhQ0ErSUNodFlYaE9iMlJsVTJsNlpTOHlJQ1ltSUhSb2FYTXVhMlY1Y3k1c1pXNW5kR2c4YldGNFRtOWtaVk5wZW1VcFhISmNiaUFnSUNBZ0lDQWdkR2hwY3k1clpYbHpMblZ1YzJocFpuUW9iR2h6TG10bGVYTXVjRzl3S0NrcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdVkyaHBiR1J5Wlc0dWRXNXphR2xtZENoc2FITXVZMmhwYkdSeVpXNHVjRzl3S0NrcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lDOHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2WEhKY2JpQWdJQ0F2THlCSmJuUmxjbTVoYkNCT2IyUmxPaUJ6WTJGdWJtbHVaeUFtSUdSbGJHVjBhVzl1Y3lBdkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHlYRzRnSUNBZ0x5OGdUbTkwWlRvZ1lHTnZkVzUwWUNCcGN5QjBhR1VnYm1WNGRDQjJZV3gxWlNCdlppQjBhR1VnZEdocGNtUWdZWEpuZFcxbGJuUWdkRzhnWUc5dVJtOTFibVJnTGlCY2NseHVJQ0FnSUM4dklDQWdJQ0FnSUVFZ2JHVmhaaUJ1YjJSbEozTWdZR1p2Y2xKaGJtZGxZQ0JtZFc1amRHbHZiaUJ5WlhSMWNtNXpJR0VnYm1WM0lIWmhiSFZsSUdadmNpQjBhR2x6SUdOdmRXNTBaWElzWEhKY2JpQWdJQ0F2THlBZ0lDQWdJQ0IxYm14bGMzTWdkR2hsSUc5d1pYSmhkR2x2YmlCcGN5QjBieUJ6ZEc5d0lHVmhjbXg1TGx4eVhHNGdJQ0FnUWs1dlpHVkpiblJsY201aGJDNXdjbTkwYjNSNWNHVXVabTl5VW1GdVoyVWdQU0JtZFc1amRHbHZiaUFvYkc5M0xDQm9hV2RvTENCcGJtTnNkV1JsU0dsbmFDd2daV1JwZEUxdlpHVXNJSFJ5WldVc0lHTnZkVzUwTENCdmJrWnZkVzVrS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdOdGNDQTlJSFJ5WldVdVgyTnZiWEJoY21VN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUd0bGVYTWdQU0IwYUdsekxtdGxlWE1zSUdOb2FXeGtjbVZ1SUQwZ2RHaHBjeTVqYUdsc1pISmxianRjY2x4dUlDQWdJQ0FnSUNCMllYSWdhVXh2ZHlBOUlIUm9hWE11YVc1a1pYaFBaaWhzYjNjc0lEQXNJR050Y0Nrc0lHa2dQU0JwVEc5M08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcFNHbG5hQ0E5SUUxaGRHZ3ViV2x1S0docFoyZ2dQVDA5SUd4dmR5QS9JR2xNYjNjZ09pQjBhR2x6TG1sdVpHVjRUMllvYUdsbmFDd2dNQ3dnWTIxd0tTd2dhMlY1Y3k1c1pXNW5kR2dnTFNBeEtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXVmthWFJOYjJSbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRk5wYlhCc1pTQmpZWE5sWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb095QnBJRHc5SUdsSWFXZG9PeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpYTjFiSFFnUFNCamFHbHNaSEpsYmx0cFhTNW1iM0pTWVc1blpTaHNiM2NzSUdocFoyZ3NJR2x1WTJ4MVpHVklhV2RvTENCbFpHbDBUVzlrWlN3Z2RISmxaU3dnWTI5MWJuUXNJRzl1Um05MWJtUXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCeVpYTjFiSFFnSVQwOUlDZHVkVzFpWlhJbktWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjNWdWRDQTlJSEpsYzNWc2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNocElEdzlJR2xJYVdkb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUnllU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLRHNnYVNBOFBTQnBTR2xuYURzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOb2FXeGtjbVZ1VzJsZExtbHpVMmhoY21Wa0tWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmphR2xzWkhKbGJsdHBYU0E5SUdOb2FXeGtjbVZ1VzJsZExtTnNiMjVsS0NrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlISmxjM1ZzZENBOUlHTm9hV3hrY21WdVcybGRMbVp2Y2xKaGJtZGxLR3h2ZHl3Z2FHbG5hQ3dnYVc1amJIVmtaVWhwWjJnc0lHVmthWFJOYjJSbExDQjBjbVZsTENCamIzVnVkQ3dnYjI1R2IzVnVaQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVG05MFpUb2dhV1lnWTJocGJHUnlaVzViYVYwZ2FYTWdaVzF3ZEhrZ2RHaGxiaUJyWlhselcybGRQWFZ1WkdWbWFXNWxaQzVjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUFnSUNBZ0lDQlVhR2x6SUdseklHRnVJR2x1ZG1Gc2FXUWdjM1JoZEdVc0lHSjFkQ0JwZENCcGN5Qm1hWGhsWkNCaVpXeHZkeTVjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnJaWGx6VzJsZElEMGdZMmhwYkdSeVpXNWJhVjB1YldGNFMyVjVLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhOMWJIUWdJVDA5SUNkdWRXMWlaWEluS1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZkVzUwSUQwZ2NtVnpkV3gwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdacGJtRnNiSGtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdSR1ZzWlhScGIyNXpJRzFoZVNCb1lYWmxJRzlqWTNWeWNtVmtMQ0J6YnlCc2IyOXJJR1p2Y2lCdmNIQnZjblIxYm1sMGFXVnpJSFJ2SUcxbGNtZGxJRzV2WkdWekxseHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUdoaGJHWWdQU0IwY21WbExsOXRZWGhPYjJSbFUybDZaU0ErUGlBeE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsTWIzY2dQaUF3S1Z4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xNYjNjdExUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2FTQTlJR2xJYVdkb095QnBJRDQ5SUdsTWIzYzdJR2t0TFNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGphR2xzWkhKbGJsdHBYUzVyWlhsekxteGxibWQwYUNBOFBTQm9ZV3htS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqYUdsc1pISmxibHRwWFM1clpYbHpMbXhsYm1kMGFDQWhQVDBnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTBjbmxOWlhKblpTaHBMQ0IwY21WbExsOXRZWGhPYjJSbFUybDZaU2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3SUM4dklHTm9hV3hrSUdseklHVnRjSFI1SVNCa1pXeGxkR1VnYVhRaFhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JyWlhsekxuTndiR2xqWlNocExDQXhLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTm9hV3hrY21WdUxuTndiR2xqWlNocExDQXhLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqYUdsc1pISmxiaTVzWlc1bmRHZ2dJVDA5SURBZ0ppWWdZMmhwYkdSeVpXNWJNRjB1YTJWNWN5NXNaVzVuZEdnZ1BUMDlJREFwWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMmhsWTJzb1ptRnNjMlVzSUZ3aVpXMXdkR2x1WlhOeklHSjFaMXdpS1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMjkxYm5RN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ0x5b3FJRTFsY21kbGN5QmphR2xzWkNCcElIZHBkR2dnWTJocGJHUWdhU3N4SUdsbUlIUm9aV2x5SUdOdmJXSnBibVZrSUhOcGVtVWdhWE1nYm05MElIUnZieUJzWVhKblpTQXFMMXh5WEc0Z0lDQWdRazV2WkdWSmJuUmxjbTVoYkM1d2NtOTBiM1I1Y0dVdWRISjVUV1Z5WjJVZ1BTQm1kVzVqZEdsdmJpQW9hU3dnYldGNFUybDZaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJqYUdsc1pISmxiaUE5SUhSb2FYTXVZMmhwYkdSeVpXNDdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHa2dQajBnTUNBbUppQnBJQ3NnTVNBOElHTm9hV3hrY21WdUxteGxibWQwYUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMmhwYkdSeVpXNWJhVjB1YTJWNWN5NXNaVzVuZEdnZ0t5QmphR2xzWkhKbGJsdHBJQ3NnTVYwdWEyVjVjeTVzWlc1bmRHZ2dQRDBnYldGNFUybDZaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR05vYVd4a2NtVnVXMmxkTG1selUyaGhjbVZrS1NBdkx5QmpiRzl1WldRZ1lXeHlaV0ZrZVNCVlRreEZVMU1nYVNCcGN5QnZkWFJ6YVdSbElITmpZVzRnY21GdVoyVmNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamFHbHNaSEpsYmx0cFhTQTlJR05vYVd4a2NtVnVXMmxkTG1Oc2IyNWxLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamFHbHNaSEpsYmx0cFhTNXRaWEpuWlZOcFlteHBibWNvWTJocGJHUnlaVzViYVNBcklERmRMQ0J0WVhoVGFYcGxLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOb2FXeGtjbVZ1TG5Od2JHbGpaU2hwSUNzZ01Td2dNU2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbXRsZVhNdWMzQnNhV05sS0drZ0t5QXhMQ0F4S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YTJWNWMxdHBYU0E5SUdOb2FXeGtjbVZ1VzJsZExtMWhlRXRsZVNncE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUM4cUtseHlYRzRnSUNBZ0lDb2dUVzkyWlNCamFHbHNaSEpsYmlCbWNtOXRJR0J5YUhOZ0lHbHVkRzhnZEdocGN5NWNjbHh1SUNBZ0lDQXFJR0J5YUhOZ0lHMTFjM1FnWW1VZ2NHRnlkQ0J2WmlCMGFHbHpJSFJ5WldVc0lHRnVaQ0JpWlNCeVpXMXZkbVZrSUdaeWIyMGdhWFFnWVdaMFpYSWdkR2hwY3lCallXeHNYSEpjYmlBZ0lDQWdLaUFvYjNSb1pYSjNhWE5sSUdselUyaGhjbVZrSUdadmNpQnBkSE1nWTJocGJHUnlaVzRnWTI5MWJHUWdZbVVnYVc1amIzSnlaV04wS1M1Y2NseHVJQ0FnSUNBcUwxeHlYRzRnSUNBZ1FrNXZaR1ZKYm5SbGNtNWhiQzV3Y205MGIzUjVjR1V1YldWeVoyVlRhV0pzYVc1bklEMGdablZ1WTNScGIyNGdLSEpvY3l3Z2JXRjRUbTlrWlZOcGVtVXBJSHRjY2x4dUlDQWdJQ0FnSUNBdkx5QmhjM05sY25RZ0lYUm9hWE11YVhOVGFHRnlaV1E3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJRzlzWkV4bGJtZDBhQ0E5SUhSb2FYTXVhMlY1Y3k1c1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTVyWlhsekxuQjFjMmd1WVhCd2JIa29kR2hwY3k1clpYbHpMQ0J5YUhNdWEyVjVjeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEpvYzBOb2FXeGtjbVZ1SUQwZ2NtaHpMbU5vYVd4a2NtVnVPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVZMmhwYkdSeVpXNHVjSFZ6YUM1aGNIQnNlU2gwYUdsekxtTm9hV3hrY21WdUxDQnlhSE5EYUdsc1pISmxiaWs3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSEpvY3k1cGMxTm9ZWEpsWkNBbUppQWhkR2hwY3k1cGMxTm9ZWEpsWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QkJiR3dnWTJocGJHUnlaVzRnYjJZZ1lTQnphR0Z5WldRZ2JtOWtaU0JoY21VZ2FXMXdiR2xqYVhSc2VTQnphR0Z5WldRc0lHRnVaQ0J6YVc1alpTQjBhR1ZwY2lCdVpYZGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjR0Z5Wlc1MElHbHpJRzV2ZENCemFHRnlaV1FzSUhSb1pYa2diWFZ6ZENCdWIzY2dZbVVnWlhod2JHbGphWFJzZVNCdFlYSnJaV1FnWVhNZ2MyaGhjbVZrTGx4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhKb2MwTm9hV3hrY21WdUxteGxibWQwYURzZ2FTc3JLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21oelEyaHBiR1J5Wlc1YmFWMHVhWE5UYUdGeVpXUWdQU0IwY25WbE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBdkx5QkpaaUJ2ZFhJZ1kyaHBiR1J5Wlc0Z1lYSmxJSFJvWlcxelpXeDJaWE1nWVd4dGIzTjBJR1Z0Y0hSNUlHUjFaU0IwYnlCaElHMWhjM010WkdWc1pYUmxMRnh5WEc0Z0lDQWdJQ0FnSUM4dklIUm9aWGtnYldGNUlHNWxaV1FnZEc4Z1ltVWdiV1Z5WjJWa0lIUnZieUFvWW5WMElHOXViSGtnZEdobElHOXNaRXhsYm1kMGFDMHhJR0Z1WkNCcGRITmNjbHh1SUNBZ0lDQWdJQ0F2THlCeWFXZG9kQ0J6YVdKc2FXNW5JSE5vYjNWc1pDQnVaV1ZrSUhSb2FYTXBMbHh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkSEo1VFdWeVoyVW9iMnhrVEdWdVozUm9JQzBnTVN3Z2JXRjRUbTlrWlZOcGVtVXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEpsZEhWeWJpQkNUbTlrWlVsdWRHVnlibUZzTzF4eVhHNTlLRUpPYjJSbEtTazdYSEpjYmk4dklFOXdkR2x0YVhwaGRHbHZiam9nZEdocGN5QmhjbkpoZVNCdlppQmdkVzVrWldacGJtVmtZSE1nYVhNZ2RYTmxaQ0JwYm5OMFpXRmtJRzltSUdFZ2JtOXliV0ZzWEhKY2JpOHZJR0Z5Y21GNUlHOW1JSFpoYkhWbGN5QnBiaUJ1YjJSbGN5QjNhR1Z5WlNCZ2RXNWtaV1pwYm1Wa1lDQnBjeUIwYUdVZ2IyNXNlU0IyWVd4MVpTNWNjbHh1THk4Z1NYUnpJR3hsYm1kMGFDQnBjeUJsZUhSbGJtUmxaQ0IwYnlCdFlYZ2dibTlrWlNCemFYcGxJRzl1SUdacGNuTjBJSFZ6WlRzZ2MybHVZMlVnYVhRZ1kyRnVYSEpjYmk4dklHSmxJSE5vWVhKbFpDQmlaWFIzWldWdUlIUnlaV1Z6SUhkcGRHZ2daR2xtWm1WeVpXNTBJRzFoZUdsdGRXMXpMQ0JwZEhNZ2JHVnVaM1JvSUdOaGJpQnZibXg1WEhKY2JpOHZJR2x1WTNKbFlYTmxMQ0J1WlhabGNpQmtaV055WldGelpTNGdTWFJ6SUhSNWNHVWdjMmh2ZFd4a0lHSmxJSFZ1WkdWbWFXNWxaRnRkSUdKMWRDQnpkSEpoYm1kbGJIbGNjbHh1THk4Z1ZIbHdaVk5qY21sd2RDQjNiMjRuZENCaGJHeHZkeUIwYUdVZ1kyOXRjR0Z5YVhOdmJpQldXMTBnUFQwOUlIVnVaR1ZtYVc1bFpGdGRMaUJVYnlCd2NtVjJaVzUwWEhKY2JpOHZJSFZ6WlhKeklHWnliMjBnYldGcmFXNW5JSFJvYVhNZ1lYSnlZWGtnZEc5dklHeGhjbWRsTENCQ1ZISmxaU0JvWVhNZ1lTQnRZWGhwYlhWdElHNXZaR1VnYzJsNlpTNWNjbHh1THk5Y2NseHVMeThnUmtGUk9pQjFibVJsWmxaaGJITmJhVjBnYVhNZ1lXeHlaV0ZrZVNCMWJtUmxabWx1WldRc0lITnZJSGRvZVNCcGJtTnlaV0Z6WlNCMGFHVWdZWEp5WVhrZ2MybDZaVDljY2x4dUx5OGdVbVZoWkdsdVp5QnZkWFJ6YVdSbElIUm9aU0JpYjNWdVpITWdiMllnWVc0Z1lYSnlZWGtnYVhNZ2NtVnNZWFJwZG1Wc2VTQnpiRzkzSUdKbFkyRjFjMlVnYVhSY2NseHVMeThnYUdGeklIUm9aU0J6YVdSbElHVm1abVZqZENCdlppQnpZMkZ1Ym1sdVp5QjBhR1VnY0hKdmRHOTBlWEJsSUdOb1lXbHVMbHh5WEc1MllYSWdkVzVrWldaV1lXeHpJRDBnVzEwN1hISmNiblpoY2lCRVpXeGxkR1VnUFNCN0lHUmxiR1YwWlRvZ2RISjFaU0I5TENCRVpXeGxkR1ZTWVc1blpTQTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUVSbGJHVjBaVHNnZlR0Y2NseHVkbUZ5SUVKeVpXRnJJRDBnZXlCaWNtVmhhem9nZEhKMVpTQjlPMXh5WEc1MllYSWdSVzF3ZEhsTVpXRm1JRDBnS0daMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lIWmhjaUJ1SUQwZ2JtVjNJRUpPYjJSbEtDazdYSEpjYmlBZ0lDQnVMbWx6VTJoaGNtVmtJRDBnZEhKMVpUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdU8xeHlYRzU5S1NncE8xeHlYRzUyWVhJZ1JXMXdkSGxCY25KaGVTQTlJRnRkTzF4eVhHNTJZWElnVW1WMWMyVmtRWEp5WVhrZ1BTQmJYVHNnTHk4Z1lYTnpkVzFsWkNCMGFISmxZV1F0Ykc5allXeGNjbHh1Wm5WdVkzUnBiMjRnWTJobFkyc29abUZqZENrZ2UxeHlYRzRnSUNBZ2RtRnlJR0Z5WjNNZ1BTQmJYVHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJRjlwSUQwZ01Uc2dYMmtnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCZmFTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ1lYSm5jMXRmYVNBdElERmRJRDBnWVhKbmRXMWxiblJ6VzE5cFhUdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lHbG1JQ2doWm1GamRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdGeVozTXVkVzV6YUdsbWRDZ25RaXNnZEhKbFpTY3BPeUF2THlCaGRDQmlaV2RwYm01cGJtY2diMllnYldWemMyRm5aVnh5WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhoY21kekxtcHZhVzRvSnlBbktTazdYSEpjYmlBZ0lDQjlYSEpjYm4xY2NseHVMeW9xSUVFZ1FsUnlaV1VnWm5KdmVtVnVJR2x1SUhSb1pTQmxiWEIwZVNCemRHRjBaUzRnS2k5Y2NseHVaWGh3YjNKMGN5NUZiWEIwZVVKVWNtVmxJRDBnS0daMWJtTjBhVzl1SUNncElIc2dkbUZ5SUhRZ1BTQnVaWGNnUWxSeVpXVW9LVHNnZEM1bWNtVmxlbVVvS1RzZ2NtVjBkWEp1SUhRN0lIMHBLQ2s3WEhKY2JpSXNJQ0l2THlCMGFHVnpaU0JoY21WdUozUWdjbVZoYkd4NUlIQnlhWFpoZEdVc0lHSjFkQ0J1YjNJZ1lYSmxJSFJvWlhrZ2NtVmhiR3g1SUhWelpXWjFiQ0IwYnlCa2IyTjFiV1Z1ZEZ4dVhHNHZLaXBjYmlBcUlFQndjbWwyWVhSbFhHNGdLaTljYm1Oc1lYTnpJRXgxZUc5dVJYSnliM0lnWlhoMFpXNWtjeUJGY25KdmNpQjdmVnh1WEc0dktpcGNiaUFxSUVCd2NtbDJZWFJsWEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCSmJuWmhiR2xrUkdGMFpWUnBiV1ZGY25KdmNpQmxlSFJsYm1SeklFeDFlRzl1UlhKeWIzSWdlMXh1SUNCamIyNXpkSEoxWTNSdmNpaHlaV0Z6YjI0cElIdGNiaUFnSUNCemRYQmxjaWhnU1c1MllXeHBaQ0JFWVhSbFZHbHRaVG9nSkh0eVpXRnpiMjR1ZEc5TlpYTnpZV2RsS0NsOVlDazdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nU1c1MllXeHBaRWx1ZEdWeWRtRnNSWEp5YjNJZ1pYaDBaVzVrY3lCTWRYaHZia1Z5Y205eUlIdGNiaUFnWTI5dWMzUnlkV04wYjNJb2NtVmhjMjl1S1NCN1hHNGdJQ0FnYzNWd1pYSW9ZRWx1ZG1Gc2FXUWdTVzUwWlhKMllXdzZJQ1I3Y21WaGMyOXVMblJ2VFdWemMyRm5aU2dwZldBcE8xeHVJQ0I5WEc1OVhHNWNiaThxS2x4dUlDb2dRSEJ5YVhaaGRHVmNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRWx1ZG1Gc2FXUkVkWEpoZEdsdmJrVnljbTl5SUdWNGRHVnVaSE1nVEhWNGIyNUZjbkp2Y2lCN1hHNGdJR052Ym5OMGNuVmpkRzl5S0hKbFlYTnZiaWtnZTF4dUlDQWdJSE4xY0dWeUtHQkpiblpoYkdsa0lFUjFjbUYwYVc5dU9pQWtlM0psWVhOdmJpNTBiMDFsYzNOaFoyVW9LWDFnS1R0Y2JpQWdmVnh1ZlZ4dVhHNHZLaXBjYmlBcUlFQndjbWwyWVhSbFhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QkRiMjVtYkdsamRHbHVaMU53WldOcFptbGpZWFJwYjI1RmNuSnZjaUJsZUhSbGJtUnpJRXgxZUc5dVJYSnliM0lnZTMxY2JseHVMeW9xWEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdTVzUyWVd4cFpGVnVhWFJGY25KdmNpQmxlSFJsYm1SeklFeDFlRzl1UlhKeWIzSWdlMXh1SUNCamIyNXpkSEoxWTNSdmNpaDFibWwwS1NCN1hHNGdJQ0FnYzNWd1pYSW9ZRWx1ZG1Gc2FXUWdkVzVwZENBa2UzVnVhWFI5WUNrN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdTVzUyWVd4cFpFRnlaM1Z0Wlc1MFJYSnliM0lnWlhoMFpXNWtjeUJNZFhodmJrVnljbTl5SUh0OVhHNWNiaThxS2x4dUlDb2dRSEJ5YVhaaGRHVmNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRnB2Ym1WSmMwRmljM1J5WVdOMFJYSnliM0lnWlhoMFpXNWtjeUJNZFhodmJrVnljbTl5SUh0Y2JpQWdZMjl1YzNSeWRXTjBiM0lvS1NCN1hHNGdJQ0FnYzNWd1pYSW9YQ0phYjI1bElHbHpJR0Z1SUdGaWMzUnlZV04wSUdOc1lYTnpYQ0lwTzF4dUlDQjlYRzU5WEc0aUxDQWlMeW9xWEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1Y2JtTnZibk4wSUc0Z1BTQmNJbTUxYldWeWFXTmNJaXhjYmlBZ2N5QTlJRndpYzJodmNuUmNJaXhjYmlBZ2JDQTlJRndpYkc5dVoxd2lPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSRUZVUlY5VFNFOVNWQ0E5SUh0Y2JpQWdlV1ZoY2pvZ2JpeGNiaUFnYlc5dWRHZzZJRzRzWEc0Z0lHUmhlVG9nYml4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVRVlJGWDAxRlJDQTlJSHRjYmlBZ2VXVmhjam9nYml4Y2JpQWdiVzl1ZEdnNklITXNYRzRnSUdSaGVUb2diaXhjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRVFWUkZYMDFGUkY5WFNWUklYMWRGUlV0RVFWa2dQU0I3WEc0Z0lIbGxZWEk2SUc0c1hHNGdJRzF2Ym5Sb09pQnpMRnh1SUNCa1lYazZJRzRzWEc0Z0lIZGxaV3RrWVhrNklITXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUkVGVVJWOUdWVXhNSUQwZ2UxeHVJQ0I1WldGeU9pQnVMRnh1SUNCdGIyNTBhRG9nYkN4Y2JpQWdaR0Y1T2lCdUxGeHVmVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVJCVkVWZlNGVkhSU0E5SUh0Y2JpQWdlV1ZoY2pvZ2JpeGNiaUFnYlc5dWRHZzZJR3dzWEc0Z0lHUmhlVG9nYml4Y2JpQWdkMlZsYTJSaGVUb2diQ3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCVVNVMUZYMU5KVFZCTVJTQTlJSHRjYmlBZ2FHOTFjam9nYml4Y2JpQWdiV2x1ZFhSbE9pQnVMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZSSlRVVmZWMGxVU0Y5VFJVTlBUa1JUSUQwZ2UxeHVJQ0JvYjNWeU9pQnVMRnh1SUNCdGFXNTFkR1U2SUc0c1hHNGdJSE5sWTI5dVpEb2diaXhjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCVVNVMUZYMWRKVkVoZlUwaFBVbFJmVDBaR1UwVlVJRDBnZTF4dUlDQm9iM1Z5T2lCdUxGeHVJQ0J0YVc1MWRHVTZJRzRzWEc0Z0lITmxZMjl1WkRvZ2JpeGNiaUFnZEdsdFpWcHZibVZPWVcxbE9pQnpMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUZSSlRVVmZWMGxVU0Y5TVQwNUhYMDlHUmxORlZDQTlJSHRjYmlBZ2FHOTFjam9nYml4Y2JpQWdiV2x1ZFhSbE9pQnVMRnh1SUNCelpXTnZibVE2SUc0c1hHNGdJSFJwYldWYWIyNWxUbUZ0WlRvZ2JDeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JVU1UxRlh6STBYMU5KVFZCTVJTQTlJSHRjYmlBZ2FHOTFjam9nYml4Y2JpQWdiV2x1ZFhSbE9pQnVMRnh1SUNCb2IzVnlRM2xqYkdVNklGd2lhREl6WENJc1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWRWxOUlY4eU5GOVhTVlJJWDFORlEwOU9SRk1nUFNCN1hHNGdJR2h2ZFhJNklHNHNYRzRnSUcxcGJuVjBaVG9nYml4Y2JpQWdjMlZqYjI1a09pQnVMRnh1SUNCb2IzVnlRM2xqYkdVNklGd2lhREl6WENJc1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWRWxOUlY4eU5GOVhTVlJJWDFOSVQxSlVYMDlHUmxORlZDQTlJSHRjYmlBZ2FHOTFjam9nYml4Y2JpQWdiV2x1ZFhSbE9pQnVMRnh1SUNCelpXTnZibVE2SUc0c1hHNGdJR2h2ZFhKRGVXTnNaVG9nWENKb01qTmNJaXhjYmlBZ2RHbHRaVnB2Ym1WT1lXMWxPaUJ6TEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElGUkpUVVZmTWpSZlYwbFVTRjlNVDA1SFgwOUdSbE5GVkNBOUlIdGNiaUFnYUc5MWNqb2diaXhjYmlBZ2JXbHVkWFJsT2lCdUxGeHVJQ0J6WldOdmJtUTZJRzRzWEc0Z0lHaHZkWEpEZVdOc1pUb2dYQ0pvTWpOY0lpeGNiaUFnZEdsdFpWcHZibVZPWVcxbE9pQnNMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUVSQlZFVlVTVTFGWDFOSVQxSlVJRDBnZTF4dUlDQjVaV0Z5T2lCdUxGeHVJQ0J0YjI1MGFEb2diaXhjYmlBZ1pHRjVPaUJ1TEZ4dUlDQm9iM1Z5T2lCdUxGeHVJQ0J0YVc1MWRHVTZJRzRzWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1JFRlVSVlJKVFVWZlUwaFBVbFJmVjBsVVNGOVRSVU5QVGtSVElEMGdlMXh1SUNCNVpXRnlPaUJ1TEZ4dUlDQnRiMjUwYURvZ2JpeGNiaUFnWkdGNU9pQnVMRnh1SUNCb2IzVnlPaUJ1TEZ4dUlDQnRhVzUxZEdVNklHNHNYRzRnSUhObFkyOXVaRG9nYml4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVRVlJGVkVsTlJWOU5SVVFnUFNCN1hHNGdJSGxsWVhJNklHNHNYRzRnSUcxdmJuUm9PaUJ6TEZ4dUlDQmtZWGs2SUc0c1hHNGdJR2h2ZFhJNklHNHNYRzRnSUcxcGJuVjBaVG9nYml4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVRVlJGVkVsTlJWOU5SVVJmVjBsVVNGOVRSVU5QVGtSVElEMGdlMXh1SUNCNVpXRnlPaUJ1TEZ4dUlDQnRiMjUwYURvZ2N5eGNiaUFnWkdGNU9pQnVMRnh1SUNCb2IzVnlPaUJ1TEZ4dUlDQnRhVzUxZEdVNklHNHNYRzRnSUhObFkyOXVaRG9nYml4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkVRVlJGVkVsTlJWOU5SVVJmVjBsVVNGOVhSVVZMUkVGWklEMGdlMXh1SUNCNVpXRnlPaUJ1TEZ4dUlDQnRiMjUwYURvZ2N5eGNiaUFnWkdGNU9pQnVMRnh1SUNCM1pXVnJaR0Y1T2lCekxGeHVJQ0JvYjNWeU9pQnVMRnh1SUNCdGFXNTFkR1U2SUc0c1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdSRUZVUlZSSlRVVmZSbFZNVENBOUlIdGNiaUFnZVdWaGNqb2diaXhjYmlBZ2JXOXVkR2c2SUd3c1hHNGdJR1JoZVRvZ2JpeGNiaUFnYUc5MWNqb2diaXhjYmlBZ2JXbHVkWFJsT2lCdUxGeHVJQ0IwYVcxbFdtOXVaVTVoYldVNklITXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUkVGVVJWUkpUVVZmUmxWTVRGOVhTVlJJWDFORlEwOU9SRk1nUFNCN1hHNGdJSGxsWVhJNklHNHNYRzRnSUcxdmJuUm9PaUJzTEZ4dUlDQmtZWGs2SUc0c1hHNGdJR2h2ZFhJNklHNHNYRzRnSUcxcGJuVjBaVG9nYml4Y2JpQWdjMlZqYjI1a09pQnVMRnh1SUNCMGFXMWxXbTl1WlU1aGJXVTZJSE1zWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1JFRlVSVlJKVFVWZlNGVkhSU0E5SUh0Y2JpQWdlV1ZoY2pvZ2JpeGNiaUFnYlc5dWRHZzZJR3dzWEc0Z0lHUmhlVG9nYml4Y2JpQWdkMlZsYTJSaGVUb2diQ3hjYmlBZ2FHOTFjam9nYml4Y2JpQWdiV2x1ZFhSbE9pQnVMRnh1SUNCMGFXMWxXbTl1WlU1aGJXVTZJR3dzWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1JFRlVSVlJKVFVWZlNGVkhSVjlYU1ZSSVgxTkZRMDlPUkZNZ1BTQjdYRzRnSUhsbFlYSTZJRzRzWEc0Z0lHMXZiblJvT2lCc0xGeHVJQ0JrWVhrNklHNHNYRzRnSUhkbFpXdGtZWGs2SUd3c1hHNGdJR2h2ZFhJNklHNHNYRzRnSUcxcGJuVjBaVG9nYml4Y2JpQWdjMlZqYjI1a09pQnVMRnh1SUNCMGFXMWxXbTl1WlU1aGJXVTZJR3dzWEc1OU8xeHVJaXdnSWk4cVhHNGdJRlJvYVhNZ2FYTWdhblZ6ZENCaElHcDFibXNnWkhKaGQyVnlMQ0JqYjI1MFlXbHVhVzVuSUdGdWVYUm9hVzVuSUhWelpXUWdZV055YjNOeklHMTFiSFJwY0d4bElHTnNZWE56WlhNdVhHNGdJRUpsWTJGMWMyVWdUSFY0YjI0Z2FYTWdjMjFoYkd3b2FYTm9LU3dnZEdocGN5QnphRzkxYkdRZ2MzUmhlU0J6YldGc2JDQmhibVFnZDJVZ2QyOXVKM1FnZDI5eWNua2dZV0p2ZFhRZ2MzQnNhWFIwYVc1blhHNGdJR2wwSUhWd0lHbHVkRzhzSUhOaGVTd2djR0Z5YzJsdVoxVjBhV3d1YW5NZ1lXNWtJR0poYzJsalZYUnBiQzVxY3lCaGJtUWdjMjhnYjI0dUlFSjFkQ0IwYUdWNUlHRnlaU0JrYVhacFpHVmtJSFZ3SUdKNUlHWmxZWFIxY21VZ1lYSmxZUzVjYmlvdlhHNWNibWx0Y0c5eWRDQjdJRWx1ZG1Gc2FXUkJjbWQxYldWdWRFVnljbTl5SUgwZ1puSnZiU0JjSWk0dUwyVnljbTl5Y3k1cWMxd2lPMXh1WEc0dktpcGNiaUFxSUVCd2NtbDJZWFJsWEc0Z0tpOWNibHh1THk4Z1ZGbFFSVk5jYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselZXNWtaV1pwYm1Wa0tHOHBJSHRjYmlBZ2NtVjBkWEp1SUhSNWNHVnZaaUJ2SUQwOVBTQmNJblZ1WkdWbWFXNWxaRndpTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5PZFcxaVpYSW9ieWtnZTF4dUlDQnlaWFIxY200Z2RIbHdaVzltSUc4Z1BUMDlJRndpYm5WdFltVnlYQ0k3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMGx1ZEdWblpYSW9ieWtnZTF4dUlDQnlaWFIxY200Z2RIbHdaVzltSUc4Z1BUMDlJRndpYm5WdFltVnlYQ0lnSmlZZ2J5QWxJREVnUFQwOUlEQTdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMxTjBjbWx1WnlodktTQjdYRzRnSUhKbGRIVnliaUIwZVhCbGIyWWdieUE5UFQwZ1hDSnpkSEpwYm1kY0lqdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselJHRjBaU2h2S1NCN1hHNGdJSEpsZEhWeWJpQlBZbXBsWTNRdWNISnZkRzkwZVhCbExuUnZVM1J5YVc1bkxtTmhiR3dvYnlrZ1BUMDlJRndpVzI5aWFtVmpkQ0JFWVhSbFhWd2lPMXh1ZlZ4dVhHNHZMeUJEUVZCQlFrbE1TVlJKUlZOY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHaGhjMUpsYkdGMGFYWmxLQ2tnZTF4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQjBlWEJsYjJZZ1NXNTBiQ0FoUFQwZ1hDSjFibVJsWm1sdVpXUmNJaUFtSmlBaElVbHVkR3d1VW1Wc1lYUnBkbVZVYVcxbFJtOXliV0YwTzF4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzU5WEc1Y2JpOHZJRTlDU2tWRFZGTWdRVTVFSUVGU1VrRlpVMXh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldGNVltVkJjbkpoZVNoMGFHbHVaeWtnZTF4dUlDQnlaWFIxY200Z1FYSnlZWGt1YVhOQmNuSmhlU2gwYUdsdVp5a2dQeUIwYUdsdVp5QTZJRnQwYUdsdVoxMDdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCaVpYTjBRbmtvWVhKeUxDQmllU3dnWTI5dGNHRnlaU2tnZTF4dUlDQnBaaUFvWVhKeUxteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHRnljaTV5WldSMVkyVW9LR0psYzNRc0lHNWxlSFFwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0J3WVdseUlEMGdXMko1S0c1bGVIUXBMQ0J1WlhoMFhUdGNiaUFnSUNCcFppQW9JV0psYzNRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCd1lXbHlPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ZMjl0Y0dGeVpTaGlaWE4wV3pCZExDQndZV2x5V3pCZEtTQTlQVDBnWW1WemRGc3dYU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR0psYzNRN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQndZV2x5TzF4dUlDQWdJSDFjYmlBZ2ZTd2diblZzYkNsYk1WMDdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCd2FXTnJLRzlpYWl3Z2EyVjVjeWtnZTF4dUlDQnlaWFIxY200Z2EyVjVjeTV5WldSMVkyVW9LR0VzSUdzcElEMCtJSHRjYmlBZ0lDQmhXMnRkSUQwZ2IySnFXMnRkTzF4dUlDQWdJSEpsZEhWeWJpQmhPMXh1SUNCOUxDQjdmU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm9ZWE5QZDI1UWNtOXdaWEowZVNodlltb3NJSEJ5YjNBcElIdGNiaUFnY21WMGRYSnVJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2h2WW1vc0lIQnliM0FwTzF4dWZWeHVYRzR2THlCT1ZVMUNSVkpUSUVGT1JDQlRWRkpKVGtkVFhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBiblJsWjJWeVFtVjBkMlZsYmloMGFHbHVaeXdnWW05MGRHOXRMQ0IwYjNBcElIdGNiaUFnY21WMGRYSnVJR2x6U1c1MFpXZGxjaWgwYUdsdVp5a2dKaVlnZEdocGJtY2dQajBnWW05MGRHOXRJQ1ltSUhSb2FXNW5JRHc5SUhSdmNEdGNibjFjYmx4dUx5OGdlQ0FsSUc0Z1luVjBJSFJoYTJWeklIUm9aU0J6YVdkdUlHOW1JRzRnYVc1emRHVmhaQ0J2WmlCNFhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pteHZiM0pOYjJRb2VDd2diaWtnZTF4dUlDQnlaWFIxY200Z2VDQXRJRzRnS2lCTllYUm9MbVpzYjI5eUtIZ2dMeUJ1S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEJoWkZOMFlYSjBLR2x1Y0hWMExDQnVJRDBnTWlrZ2UxeHVJQ0JqYjI1emRDQnBjMDVsWnlBOUlHbHVjSFYwSUR3Z01EdGNiaUFnYkdWMElIQmhaR1JsWkR0Y2JpQWdhV1lnS0dselRtVm5LU0I3WEc0Z0lDQWdjR0ZrWkdWa0lEMGdYQ0l0WENJZ0t5QW9YQ0pjSWlBcklDMXBibkIxZENrdWNHRmtVM1JoY25Rb2Jpd2dYQ0l3WENJcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIQmhaR1JsWkNBOUlDaGNJbHdpSUNzZ2FXNXdkWFFwTG5CaFpGTjBZWEowS0c0c0lGd2lNRndpS1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnY0dGa1pHVmtPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHRnljMlZKYm5SbFoyVnlLSE4wY21sdVp5a2dlMXh1SUNCcFppQW9hWE5WYm1SbFptbHVaV1FvYzNSeWFXNW5LU0I4ZkNCemRISnBibWNnUFQwOUlHNTFiR3dnZkh3Z2MzUnlhVzVuSUQwOVBTQmNJbHdpS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdjR0Z5YzJWSmJuUW9jM1J5YVc1bkxDQXhNQ2s3WEc0Z0lIMWNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxSbXh2WVhScGJtY29jM1J5YVc1bktTQjdYRzRnSUdsbUlDaHBjMVZ1WkdWbWFXNWxaQ2h6ZEhKcGJtY3BJSHg4SUhOMGNtbHVaeUE5UFQwZ2JuVnNiQ0I4ZkNCemRISnBibWNnUFQwOUlGd2lYQ0lwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQndZWEp6WlVac2IyRjBLSE4wY21sdVp5azdYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEJoY25ObFRXbHNiR2x6S0daeVlXTjBhVzl1S1NCN1hHNGdJQzh2SUZKbGRIVnliaUIxYm1SbFptbHVaV1FnS0dsdWMzUmxZV1FnYjJZZ01Da2dhVzRnZEdobGMyVWdZMkZ6WlhNc0lIZG9aWEpsSUdaeVlXTjBhVzl1SUdseklHNXZkQ0J6WlhSY2JpQWdhV1lnS0dselZXNWtaV1pwYm1Wa0tHWnlZV04wYVc5dUtTQjhmQ0JtY21GamRHbHZiaUE5UFQwZ2JuVnNiQ0I4ZkNCbWNtRmpkR2x2YmlBOVBUMGdYQ0pjSWlrZ2UxeHVJQ0FnSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWTI5dWMzUWdaaUE5SUhCaGNuTmxSbXh2WVhRb1hDSXdMbHdpSUNzZ1puSmhZM1JwYjI0cElDb2dNVEF3TUR0Y2JpQWdJQ0J5WlhSMWNtNGdUV0YwYUM1bWJHOXZjaWhtS1R0Y2JpQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtOTFibVJVYnlodWRXMWlaWElzSUdScFoybDBjeXdnZEc5M1lYSmtXbVZ5YnlBOUlHWmhiSE5sS1NCN1hHNGdJR052Ym5OMElHWmhZM1J2Y2lBOUlERXdJQ29xSUdScFoybDBjeXhjYmlBZ0lDQnliM1Z1WkdWeUlEMGdkRzkzWVhKa1dtVnlieUEvSUUxaGRHZ3VkSEoxYm1NZ09pQk5ZWFJvTG5KdmRXNWtPMXh1SUNCeVpYUjFjbTRnY205MWJtUmxjaWh1ZFcxaVpYSWdLaUJtWVdOMGIzSXBJQzhnWm1GamRHOXlPMXh1ZlZ4dVhHNHZMeUJFUVZSRklFSkJVMGxEVTF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FYTk1aV0Z3V1dWaGNpaDVaV0Z5S1NCN1hHNGdJSEpsZEhWeWJpQjVaV0Z5SUNVZ05DQTlQVDBnTUNBbUppQW9lV1ZoY2lBbElERXdNQ0FoUFQwZ01DQjhmQ0I1WldGeUlDVWdOREF3SUQwOVBTQXdLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHUmhlWE5KYmxsbFlYSW9lV1ZoY2lrZ2UxeHVJQ0J5WlhSMWNtNGdhWE5NWldGd1dXVmhjaWg1WldGeUtTQS9JRE0yTmlBNklETTJOVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHUmhlWE5KYmsxdmJuUm9LSGxsWVhJc0lHMXZiblJvS1NCN1hHNGdJR052Ym5OMElHMXZaRTF2Ym5Sb0lEMGdabXh2YjNKTmIyUW9iVzl1ZEdnZ0xTQXhMQ0F4TWlrZ0t5QXhMRnh1SUNBZ0lHMXZaRmxsWVhJZ1BTQjVaV0Z5SUNzZ0tHMXZiblJvSUMwZ2JXOWtUVzl1ZEdncElDOGdNVEk3WEc1Y2JpQWdhV1lnS0cxdlpFMXZiblJvSUQwOVBTQXlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHbHpUR1ZoY0ZsbFlYSW9iVzlrV1dWaGNpa2dQeUF5T1NBNklESTRPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQmJNekVzSUc1MWJHd3NJRE14TENBek1Dd2dNekVzSURNd0xDQXpNU3dnTXpFc0lETXdMQ0F6TVN3Z016QXNJRE14WFZ0dGIyUk5iMjUwYUNBdElERmRPMXh1SUNCOVhHNTlYRzVjYmk4dklHTnZkbVZ5ZENCaElHTmhiR1Z1WkdGeUlHOWlhbVZqZENCMGJ5QmhJR3h2WTJGc0lIUnBiV1Z6ZEdGdGNDQW9aWEJ2WTJnc0lHSjFkQ0IzYVhSb0lIUm9aU0J2Wm1aelpYUWdZbUZyWldRZ2FXNHBYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiMkpxVkc5TWIyTmhiRlJUS0c5aWFpa2dlMXh1SUNCc1pYUWdaQ0E5SUVSaGRHVXVWVlJES0Z4dUlDQWdJRzlpYWk1NVpXRnlMRnh1SUNBZ0lHOWlhaTV0YjI1MGFDQXRJREVzWEc0Z0lDQWdiMkpxTG1SaGVTeGNiaUFnSUNCdlltb3VhRzkxY2l4Y2JpQWdJQ0J2WW1vdWJXbHVkWFJsTEZ4dUlDQWdJRzlpYWk1elpXTnZibVFzWEc0Z0lDQWdiMkpxTG0xcGJHeHBjMlZqYjI1a1hHNGdJQ2s3WEc1Y2JpQWdMeThnWm05eUlHeGxaMkZqZVNCeVpXRnpiMjV6TENCNVpXRnljeUJpWlhSM1pXVnVJREFnWVc1a0lEazVJR0Z5WlNCcGJuUmxjbkJ5WlhSbFpDQmhjeUF4T1ZoWU95QnlaWFpsY25RZ2RHaGhkRnh1SUNCcFppQW9iMkpxTG5sbFlYSWdQQ0F4TURBZ0ppWWdiMkpxTG5sbFlYSWdQajBnTUNrZ2UxeHVJQ0FnSUdRZ1BTQnVaWGNnUkdGMFpTaGtLVHRjYmlBZ0lDQmtMbk5sZEZWVVEwWjFiR3haWldGeUtHUXVaMlYwVlZSRFJuVnNiRmxsWVhJb0tTQXRJREU1TURBcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlBclpEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhkbFpXdHpTVzVYWldWcldXVmhjaWgzWldWcldXVmhjaWtnZTF4dUlDQmpiMjV6ZENCd01TQTlYRzRnSUNBZ0lDQW9kMlZsYTFsbFlYSWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xtWnNiMjl5S0hkbFpXdFpaV0Z5SUM4Z05Da2dMVnh1SUNBZ0lDQWdJQ0JOWVhSb0xtWnNiMjl5S0hkbFpXdFpaV0Z5SUM4Z01UQXdLU0FyWEc0Z0lDQWdJQ0FnSUUxaGRHZ3VabXh2YjNJb2QyVmxhMWxsWVhJZ0x5QTBNREFwS1NBbFhHNGdJQ0FnSUNBM0xGeHVJQ0FnSUd4aGMzUWdQU0IzWldWcldXVmhjaUF0SURFc1hHNGdJQ0FnY0RJZ1BTQW9iR0Z6ZENBcklFMWhkR2d1Wm14dmIzSW9iR0Z6ZENBdklEUXBJQzBnVFdGMGFDNW1iRzl2Y2loc1lYTjBJQzhnTVRBd0tTQXJJRTFoZEdndVpteHZiM0lvYkdGemRDQXZJRFF3TUNrcElDVWdOenRjYmlBZ2NtVjBkWEp1SUhBeElEMDlQU0EwSUh4OElIQXlJRDA5UFNBeklEOGdOVE1nT2lBMU1qdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhWdWRISjFibU5oZEdWWlpXRnlLSGxsWVhJcElIdGNiaUFnYVdZZ0tIbGxZWElnUGlBNU9Ta2dlMXh1SUNBZ0lISmxkSFZ5YmlCNVpXRnlPMXh1SUNCOUlHVnNjMlVnY21WMGRYSnVJSGxsWVhJZ1BpQTJNQ0EvSURFNU1EQWdLeUI1WldGeUlEb2dNakF3TUNBcklIbGxZWEk3WEc1OVhHNWNiaTh2SUZCQlVsTkpUa2RjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxXbTl1WlVsdVptOG9kSE1zSUc5bVpuTmxkRVp2Y20xaGRDd2diRzlqWVd4bExDQjBhVzFsV205dVpTQTlJRzUxYkd3cElIdGNiaUFnWTI5dWMzUWdaR0YwWlNBOUlHNWxkeUJFWVhSbEtIUnpLU3hjYmlBZ0lDQnBiblJzVDNCMGN5QTlJSHRjYmlBZ0lDQWdJR2h2ZFhKRGVXTnNaVG9nWENKb01qTmNJaXhjYmlBZ0lDQWdJSGxsWVhJNklGd2liblZ0WlhKcFkxd2lMRnh1SUNBZ0lDQWdiVzl1ZEdnNklGd2lNaTFrYVdkcGRGd2lMRnh1SUNBZ0lDQWdaR0Y1T2lCY0lqSXRaR2xuYVhSY0lpeGNiaUFnSUNBZ0lHaHZkWEk2SUZ3aU1pMWthV2RwZEZ3aUxGeHVJQ0FnSUNBZ2JXbHVkWFJsT2lCY0lqSXRaR2xuYVhSY0lpeGNiaUFnSUNCOU8xeHVYRzRnSUdsbUlDaDBhVzFsV205dVpTa2dlMXh1SUNBZ0lHbHVkR3hQY0hSekxuUnBiV1ZhYjI1bElEMGdkR2x0WlZwdmJtVTdYRzRnSUgxY2JseHVJQ0JqYjI1emRDQnRiMlJwWm1sbFpDQTlJSHNnZEdsdFpWcHZibVZPWVcxbE9pQnZabVp6WlhSR2IzSnRZWFFzSUM0dUxtbHVkR3hQY0hSeklIMDdYRzVjYmlBZ1kyOXVjM1FnY0dGeWMyVmtJRDBnYm1WM0lFbHVkR3d1UkdGMFpWUnBiV1ZHYjNKdFlYUW9iRzlqWVd4bExDQnRiMlJwWm1sbFpDbGNiaUFnSUNBdVptOXliV0YwVkc5UVlYSjBjeWhrWVhSbEtWeHVJQ0FnSUM1bWFXNWtLQ2h0S1NBOVBpQnRMblI1Y0dVdWRHOU1iM2RsY2tOaGMyVW9LU0E5UFQwZ1hDSjBhVzFsZW05dVpXNWhiV1ZjSWlrN1hHNGdJSEpsZEhWeWJpQndZWEp6WldRZ1B5QndZWEp6WldRdWRtRnNkV1VnT2lCdWRXeHNPMXh1ZlZ4dVhHNHZMeUJ6YVdkdVpXUlBabVp6WlhRb0p5MDFKeXdnSnpNd0p5a2dMVDRnTFRNek1GeHVaWGh3YjNKMElHWjFibU4wYVc5dUlITnBaMjVsWkU5bVpuTmxkQ2h2Wm1aSWIzVnlVM1J5TENCdlptWk5hVzUxZEdWVGRISXBJSHRjYmlBZ2JHVjBJRzltWmtodmRYSWdQU0J3WVhKelpVbHVkQ2h2Wm1aSWIzVnlVM1J5TENBeE1DazdYRzVjYmlBZ0x5OGdaRzl1SjNRZ2ZId2dkR2hwY3lCaVpXTmhkWE5sSUhkbElIZGhiblFnZEc4Z2NISmxjMlZ5ZG1VZ0xUQmNiaUFnYVdZZ0tFNTFiV0psY2k1cGMwNWhUaWh2Wm1aSWIzVnlLU2tnZTF4dUlDQWdJRzltWmtodmRYSWdQU0F3TzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnYjJabVRXbHVJRDBnY0dGeWMyVkpiblFvYjJabVRXbHVkWFJsVTNSeUxDQXhNQ2tnZkh3Z01DeGNiaUFnSUNCdlptWk5hVzVUYVdkdVpXUWdQU0J2Wm1aSWIzVnlJRHdnTUNCOGZDQlBZbXBsWTNRdWFYTW9iMlptU0c5MWNpd2dMVEFwSUQ4Z0xXOW1aazFwYmlBNklHOW1aazFwYmp0Y2JpQWdjbVYwZFhKdUlHOW1aa2h2ZFhJZ0tpQTJNQ0FySUc5bVprMXBibE5wWjI1bFpEdGNibjFjYmx4dUx5OGdRMDlGVWtOSlQwNWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z6VG5WdFltVnlLSFpoYkhWbEtTQjdYRzRnSUdOdmJuTjBJRzUxYldWeWFXTldZV3gxWlNBOUlFNTFiV0psY2loMllXeDFaU2s3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJRndpWW05dmJHVmhibHdpSUh4OElIWmhiSFZsSUQwOVBTQmNJbHdpSUh4OElFNTFiV0psY2k1cGMwNWhUaWh1ZFcxbGNtbGpWbUZzZFdVcEtWeHVJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuWmhiR2xrUVhKbmRXMWxiblJGY25KdmNpaGdTVzUyWVd4cFpDQjFibWwwSUhaaGJIVmxJQ1I3ZG1Gc2RXVjlZQ2s3WEc0Z0lISmxkSFZ5YmlCdWRXMWxjbWxqVm1Gc2RXVTdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWIzSnRZV3hwZW1WUFltcGxZM1FvYjJKcUxDQnViM0p0WVd4cGVtVnlLU0I3WEc0Z0lHTnZibk4wSUc1dmNtMWhiR2w2WldRZ1BTQjdmVHRjYmlBZ1ptOXlJQ2hqYjI1emRDQjFJR2x1SUc5aWFpa2dlMXh1SUNBZ0lHbG1JQ2hvWVhOUGQyNVFjbTl3WlhKMGVTaHZZbW9zSUhVcEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMklEMGdiMkpxVzNWZE8xeHVJQ0FnSUNBZ2FXWWdLSFlnUFQwOUlIVnVaR1ZtYVc1bFpDQjhmQ0IySUQwOVBTQnVkV3hzS1NCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUc1dmNtMWhiR2w2WldSYmJtOXliV0ZzYVhwbGNpaDFLVjBnUFNCaGMwNTFiV0psY2loMktUdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2NtVjBkWEp1SUc1dmNtMWhiR2w2WldRN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJtYjNKdFlYUlBabVp6WlhRb2IyWm1jMlYwTENCbWIzSnRZWFFwSUh0Y2JpQWdZMjl1YzNRZ2FHOTFjbk1nUFNCTllYUm9MblJ5ZFc1aktFMWhkR2d1WVdKektHOW1abk5sZENBdklEWXdLU2tzWEc0Z0lDQWdiV2x1ZFhSbGN5QTlJRTFoZEdndWRISjFibU1vVFdGMGFDNWhZbk1vYjJabWMyVjBJQ1VnTmpBcEtTeGNiaUFnSUNCemFXZHVJRDBnYjJabWMyVjBJRDQ5SURBZ1B5QmNJaXRjSWlBNklGd2lMVndpTzF4dVhHNGdJSE4zYVhSamFDQW9abTl5YldGMEtTQjdYRzRnSUNBZ1kyRnpaU0JjSW5Ob2IzSjBYQ0k2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZQ1I3YzJsbmJuMGtlM0JoWkZOMFlYSjBLR2h2ZFhKekxDQXlLWDA2Skh0d1lXUlRkR0Z5ZENodGFXNTFkR1Z6TENBeUtYMWdPMXh1SUNBZ0lHTmhjMlVnWENKdVlYSnliM2RjSWpwY2JpQWdJQ0FnSUhKbGRIVnliaUJnSkh0emFXZHVmU1I3YUc5MWNuTjlKSHR0YVc1MWRHVnpJRDRnTUNBL0lHQTZKSHR0YVc1MWRHVnpmV0FnT2lCY0lsd2lmV0E3WEc0Z0lDQWdZMkZ6WlNCY0luUmxZMmhwWlZ3aU9seHVJQ0FnSUNBZ2NtVjBkWEp1SUdBa2UzTnBaMjU5Skh0d1lXUlRkR0Z5ZENob2IzVnljeXdnTWlsOUpIdHdZV1JUZEdGeWRDaHRhVzUxZEdWekxDQXlLWDFnTzF4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dVbUZ1WjJWRmNuSnZjaWhnVm1Gc2RXVWdabTl5YldGMElDUjdabTl5YldGMGZTQnBjeUJ2ZFhRZ2IyWWdjbUZ1WjJVZ1ptOXlJSEJ5YjNCbGNuUjVJR1p2Y20xaGRHQXBPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwYVcxbFQySnFaV04wS0c5aWFpa2dlMXh1SUNCeVpYUjFjbTRnY0dsamF5aHZZbW9zSUZ0Y0ltaHZkWEpjSWl3Z1hDSnRhVzUxZEdWY0lpd2dYQ0p6WldOdmJtUmNJaXdnWENKdGFXeHNhWE5sWTI5dVpGd2lYU2s3WEc1OVhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCcFlXNWhVbVZuWlhnZ1BWeHVJQ0F2VzBFdFdtRXRlbDhyTFYxN01Td3lOVFo5S0Q4Nk9qOWNYQzliUVMxYVlTMTZNQzA1WHlzdFhYc3hMREkxTm4wb1B6cGNYQzliUVMxYVlTMTZNQzA1WHlzdFhYc3hMREkxTm4wcFB5ay9MenRjYmlJc0lDSnBiWEJ2Y25RZ0tpQmhjeUJHYjNKdFlYUnpJR1p5YjIwZ1hDSXVMMlp2Y20xaGRITXVhbk5jSWp0Y2JtbHRjRzl5ZENCN0lIQnBZMnNnZlNCbWNtOXRJRndpTGk5MWRHbHNMbXB6WENJN1hHNWNibVoxYm1OMGFXOXVJSE4wY21sdVoybG1lU2h2WW1vcElIdGNiaUFnY21WMGRYSnVJRXBUVDA0dWMzUnlhVzVuYVdaNUtHOWlhaXdnVDJKcVpXTjBMbXRsZVhNb2IySnFLUzV6YjNKMEtDa3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFQndjbWwyWVhSbFhHNGdLaTljYmx4dVpYaHdiM0owSUdOdmJuTjBJRzF2Ym5Sb2MweHZibWNnUFNCYlhHNGdJRndpU21GdWRXRnllVndpTEZ4dUlDQmNJa1psWW5KMVlYSjVYQ0lzWEc0Z0lGd2lUV0Z5WTJoY0lpeGNiaUFnWENKQmNISnBiRndpTEZ4dUlDQmNJazFoZVZ3aUxGeHVJQ0JjSWtwMWJtVmNJaXhjYmlBZ1hDSktkV3g1WENJc1hHNGdJRndpUVhWbmRYTjBYQ0lzWEc0Z0lGd2lVMlZ3ZEdWdFltVnlYQ0lzWEc0Z0lGd2lUMk4wYjJKbGNsd2lMRnh1SUNCY0lrNXZkbVZ0WW1WeVhDSXNYRzRnSUZ3aVJHVmpaVzFpWlhKY0lpeGNibDA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0J0YjI1MGFITlRhRzl5ZENBOUlGdGNiaUFnWENKS1lXNWNJaXhjYmlBZ1hDSkdaV0pjSWl4Y2JpQWdYQ0pOWVhKY0lpeGNiaUFnWENKQmNISmNJaXhjYmlBZ1hDSk5ZWGxjSWl4Y2JpQWdYQ0pLZFc1Y0lpeGNiaUFnWENKS2RXeGNJaXhjYmlBZ1hDSkJkV2RjSWl4Y2JpQWdYQ0pUWlhCY0lpeGNiaUFnWENKUFkzUmNJaXhjYmlBZ1hDSk9iM1pjSWl4Y2JpQWdYQ0pFWldOY0lpeGNibDA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0J0YjI1MGFITk9ZWEp5YjNjZ1BTQmJYQ0pLWENJc0lGd2lSbHdpTENCY0lrMWNJaXdnWENKQlhDSXNJRndpVFZ3aUxDQmNJa3BjSWl3Z1hDSktYQ0lzSUZ3aVFWd2lMQ0JjSWxOY0lpd2dYQ0pQWENJc0lGd2lUbHdpTENCY0lrUmNJbDA3WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdGIyNTBhSE1vYkdWdVozUm9LU0I3WEc0Z0lITjNhWFJqYUNBb2JHVnVaM1JvS1NCN1hHNGdJQ0FnWTJGelpTQmNJbTVoY25KdmQxd2lPbHh1SUNBZ0lDQWdjbVYwZFhKdUlGc3VMaTV0YjI1MGFITk9ZWEp5YjNkZE8xeHVJQ0FnSUdOaGMyVWdYQ0p6YUc5eWRGd2lPbHh1SUNBZ0lDQWdjbVYwZFhKdUlGc3VMaTV0YjI1MGFITlRhRzl5ZEYwN1hHNGdJQ0FnWTJGelpTQmNJbXh2Ym1kY0lqcGNiaUFnSUNBZ0lISmxkSFZ5YmlCYkxpNHViVzl1ZEdoelRHOXVaMTA3WEc0Z0lDQWdZMkZ6WlNCY0ltNTFiV1Z5YVdOY0lqcGNiaUFnSUNBZ0lISmxkSFZ5YmlCYlhDSXhYQ0lzSUZ3aU1sd2lMQ0JjSWpOY0lpd2dYQ0kwWENJc0lGd2lOVndpTENCY0lqWmNJaXdnWENJM1hDSXNJRndpT0Z3aUxDQmNJamxjSWl3Z1hDSXhNRndpTENCY0lqRXhYQ0lzSUZ3aU1USmNJbDA3WEc0Z0lDQWdZMkZ6WlNCY0lqSXRaR2xuYVhSY0lqcGNiaUFnSUNBZ0lISmxkSFZ5YmlCYlhDSXdNVndpTENCY0lqQXlYQ0lzSUZ3aU1ETmNJaXdnWENJd05Gd2lMQ0JjSWpBMVhDSXNJRndpTURaY0lpd2dYQ0l3TjF3aUxDQmNJakE0WENJc0lGd2lNRGxjSWl3Z1hDSXhNRndpTENCY0lqRXhYQ0lzSUZ3aU1USmNJbDA3WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQjNaV1ZyWkdGNWMweHZibWNnUFNCYlhHNGdJRndpVFc5dVpHRjVYQ0lzWEc0Z0lGd2lWSFZsYzJSaGVWd2lMRnh1SUNCY0lsZGxaRzVsYzJSaGVWd2lMRnh1SUNCY0lsUm9kWEp6WkdGNVhDSXNYRzRnSUZ3aVJuSnBaR0Y1WENJc1hHNGdJRndpVTJGMGRYSmtZWGxjSWl4Y2JpQWdYQ0pUZFc1a1lYbGNJaXhjYmwwN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCM1pXVnJaR0Y1YzFOb2IzSjBJRDBnVzF3aVRXOXVYQ0lzSUZ3aVZIVmxYQ0lzSUZ3aVYyVmtYQ0lzSUZ3aVZHaDFYQ0lzSUZ3aVJuSnBYQ0lzSUZ3aVUyRjBYQ0lzSUZ3aVUzVnVYQ0pkTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnZDJWbGEyUmhlWE5PWVhKeWIzY2dQU0JiWENKTlhDSXNJRndpVkZ3aUxDQmNJbGRjSWl3Z1hDSlVYQ0lzSUZ3aVJsd2lMQ0JjSWxOY0lpd2dYQ0pUWENKZE8xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkMlZsYTJSaGVYTW9iR1Z1WjNSb0tTQjdYRzRnSUhOM2FYUmphQ0FvYkdWdVozUm9LU0I3WEc0Z0lDQWdZMkZ6WlNCY0ltNWhjbkp2ZDF3aU9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZzdUxpNTNaV1ZyWkdGNWMwNWhjbkp2ZDEwN1hHNGdJQ0FnWTJGelpTQmNJbk5vYjNKMFhDSTZYRzRnSUNBZ0lDQnlaWFIxY200Z1d5NHVMbmRsWld0a1lYbHpVMmh2Y25SZE8xeHVJQ0FnSUdOaGMyVWdYQ0pzYjI1blhDSTZYRzRnSUNBZ0lDQnlaWFIxY200Z1d5NHVMbmRsWld0a1lYbHpURzl1WjEwN1hHNGdJQ0FnWTJGelpTQmNJbTUxYldWeWFXTmNJanBjYmlBZ0lDQWdJSEpsZEhWeWJpQmJYQ0l4WENJc0lGd2lNbHdpTENCY0lqTmNJaXdnWENJMFhDSXNJRndpTlZ3aUxDQmNJalpjSWl3Z1hDSTNYQ0pkTzF4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnWTI5dWMzUWdiV1Z5YVdScFpXMXpJRDBnVzF3aVFVMWNJaXdnWENKUVRWd2lYVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJR1Z5WVhOTWIyNW5JRDBnVzF3aVFtVm1iM0psSUVOb2NtbHpkRndpTENCY0lrRnVibThnUkc5dGFXNXBYQ0pkTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWlhKaGMxTm9iM0owSUQwZ1cxd2lRa05jSWl3Z1hDSkJSRndpWFR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUdWeVlYTk9ZWEp5YjNjZ1BTQmJYQ0pDWENJc0lGd2lRVndpWFR0Y2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHVnlZWE1vYkdWdVozUm9LU0I3WEc0Z0lITjNhWFJqYUNBb2JHVnVaM1JvS1NCN1hHNGdJQ0FnWTJGelpTQmNJbTVoY25KdmQxd2lPbHh1SUNBZ0lDQWdjbVYwZFhKdUlGc3VMaTVsY21GelRtRnljbTkzWFR0Y2JpQWdJQ0JqWVhObElGd2ljMmh2Y25SY0lqcGNiaUFnSUNBZ0lISmxkSFZ5YmlCYkxpNHVaWEpoYzFOb2IzSjBYVHRjYmlBZ0lDQmpZWE5sSUZ3aWJHOXVaMXdpT2x4dUlDQWdJQ0FnY21WMGRYSnVJRnN1TGk1bGNtRnpURzl1WjEwN1hHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFpYSnBaR2xsYlVadmNrUmhkR1ZVYVcxbEtHUjBLU0I3WEc0Z0lISmxkSFZ5YmlCdFpYSnBaR2xsYlhOYlpIUXVhRzkxY2lBOElERXlJRDhnTUNBNklERmRPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2QyVmxhMlJoZVVadmNrUmhkR1ZVYVcxbEtHUjBMQ0JzWlc1bmRHZ3BJSHRjYmlBZ2NtVjBkWEp1SUhkbFpXdGtZWGx6S0d4bGJtZDBhQ2xiWkhRdWQyVmxhMlJoZVNBdElERmRPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXOXVkR2hHYjNKRVlYUmxWR2x0WlNoa2RDd2diR1Z1WjNSb0tTQjdYRzRnSUhKbGRIVnliaUJ0YjI1MGFITW9iR1Z1WjNSb0tWdGtkQzV0YjI1MGFDQXRJREZkTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaWEpoUm05eVJHRjBaVlJwYldVb1pIUXNJR3hsYm1kMGFDa2dlMXh1SUNCeVpYUjFjbTRnWlhKaGN5aHNaVzVuZEdncFcyUjBMbmxsWVhJZ1BDQXdJRDhnTUNBNklERmRPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1ptOXliV0YwVW1Wc1lYUnBkbVZVYVcxbEtIVnVhWFFzSUdOdmRXNTBMQ0J1ZFcxbGNtbGpJRDBnWENKaGJIZGhlWE5jSWl3Z2JtRnljbTkzSUQwZ1ptRnNjMlVwSUh0Y2JpQWdZMjl1YzNRZ2RXNXBkSE1nUFNCN1hHNGdJQ0FnZVdWaGNuTTZJRnRjSW5sbFlYSmNJaXdnWENKNWNpNWNJbDBzWEc0Z0lDQWdjWFZoY25SbGNuTTZJRnRjSW5GMVlYSjBaWEpjSWl3Z1hDSnhkSEl1WENKZExGeHVJQ0FnSUcxdmJuUm9jem9nVzF3aWJXOXVkR2hjSWl3Z1hDSnRieTVjSWwwc1hHNGdJQ0FnZDJWbGEzTTZJRnRjSW5kbFpXdGNJaXdnWENKM2F5NWNJbDBzWEc0Z0lDQWdaR0Y1Y3pvZ1cxd2laR0Y1WENJc0lGd2laR0Y1WENJc0lGd2laR0Y1YzF3aVhTeGNiaUFnSUNCb2IzVnljem9nVzF3aWFHOTFjbHdpTENCY0ltaHlMbHdpWFN4Y2JpQWdJQ0J0YVc1MWRHVnpPaUJiWENKdGFXNTFkR1ZjSWl3Z1hDSnRhVzR1WENKZExGeHVJQ0FnSUhObFkyOXVaSE02SUZ0Y0luTmxZMjl1WkZ3aUxDQmNJbk5sWXk1Y0lsMHNYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdiR0Z6ZEdGaWJHVWdQU0JiWENKb2IzVnljMXdpTENCY0ltMXBiblYwWlhOY0lpd2dYQ0p6WldOdmJtUnpYQ0pkTG1sdVpHVjRUMllvZFc1cGRDa2dQVDA5SUMweE8xeHVYRzRnSUdsbUlDaHVkVzFsY21saklEMDlQU0JjSW1GMWRHOWNJaUFtSmlCc1lYTjBZV0pzWlNrZ2UxeHVJQ0FnSUdOdmJuTjBJR2x6UkdGNUlEMGdkVzVwZENBOVBUMGdYQ0prWVhselhDSTdYRzRnSUNBZ2MzZHBkR05vSUNoamIzVnVkQ2tnZTF4dUlDQWdJQ0FnWTJGelpTQXhPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdhWE5FWVhrZ1B5QmNJblJ2Ylc5eWNtOTNYQ0lnT2lCZ2JtVjRkQ0FrZTNWdWFYUnpXM1Z1YVhSZFd6QmRmV0E3WEc0Z0lDQWdJQ0JqWVhObElDMHhPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdhWE5FWVhrZ1B5QmNJbmxsYzNSbGNtUmhlVndpSURvZ1lHeGhjM1FnSkh0MWJtbDBjMXQxYm1sMFhWc3dYWDFnTzF4dUlDQWdJQ0FnWTJGelpTQXdPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdhWE5FWVhrZ1B5QmNJblJ2WkdGNVhDSWdPaUJnZEdocGN5QWtlM1Z1YVhSelczVnVhWFJkV3pCZGZXQTdYRzRnSUNBZ0lDQmtaV1poZFd4ME9pQXZMeUJtWVd4c0lIUm9jbTkxWjJoY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0JwYzBsdVVHRnpkQ0E5SUU5aWFtVmpkQzVwY3loamIzVnVkQ3dnTFRBcElIeDhJR052ZFc1MElEd2dNQ3hjYmlBZ0lDQm1iWFJXWVd4MVpTQTlJRTFoZEdndVlXSnpLR052ZFc1MEtTeGNiaUFnSUNCemFXNW5kV3hoY2lBOUlHWnRkRlpoYkhWbElEMDlQU0F4TEZ4dUlDQWdJR3hwYkZWdWFYUnpJRDBnZFc1cGRITmJkVzVwZEYwc1hHNGdJQ0FnWm0xMFZXNXBkQ0E5SUc1aGNuSnZkMXh1SUNBZ0lDQWdQeUJ6YVc1bmRXeGhjbHh1SUNBZ0lDQWdJQ0EvSUd4cGJGVnVhWFJ6V3pGZFhHNGdJQ0FnSUNBZ0lEb2diR2xzVlc1cGRITmJNbDBnZkh3Z2JHbHNWVzVwZEhOYk1WMWNiaUFnSUNBZ0lEb2djMmx1WjNWc1lYSmNiaUFnSUNBZ0lEOGdkVzVwZEhOYmRXNXBkRjFiTUYxY2JpQWdJQ0FnSURvZ2RXNXBkRHRjYmlBZ2NtVjBkWEp1SUdselNXNVFZWE4wSUQ4Z1lDUjdabTEwVm1Gc2RXVjlJQ1I3Wm0xMFZXNXBkSDBnWVdkdllDQTZJR0JwYmlBa2UyWnRkRlpoYkhWbGZTQWtlMlp0ZEZWdWFYUjlZRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHWnZjbTFoZEZOMGNtbHVaeWhyYm05M2JrWnZjbTFoZENrZ2UxeHVJQ0F2THlCMGFHVnpaU0JoYkd3Z2FHRjJaU0IwYUdVZ2IyWm1jMlYwY3lCeVpXMXZkbVZrSUdKbFkyRjFjMlVnZDJVZ1pHOXVKM1FnYUdGMlpTQmhZMk5sYzNNZ2RHOGdkR2hsYlZ4dUlDQXZMeUIzYVhSb2IzVjBJR0ZzYkNCMGFHVWdhVzUwYkNCemRIVm1aaUIwYUdseklHbHpJR0poWTJ0bWFXeHNhVzVuWEc0Z0lHTnZibk4wSUdacGJIUmxjbVZrSUQwZ2NHbGpheWhyYm05M2JrWnZjbTFoZEN3Z1cxeHVJQ0FnSUNBZ1hDSjNaV1ZyWkdGNVhDSXNYRzRnSUNBZ0lDQmNJbVZ5WVZ3aUxGeHVJQ0FnSUNBZ1hDSjVaV0Z5WENJc1hHNGdJQ0FnSUNCY0ltMXZiblJvWENJc1hHNGdJQ0FnSUNCY0ltUmhlVndpTEZ4dUlDQWdJQ0FnWENKb2IzVnlYQ0lzWEc0Z0lDQWdJQ0JjSW0xcGJuVjBaVndpTEZ4dUlDQWdJQ0FnWENKelpXTnZibVJjSWl4Y2JpQWdJQ0FnSUZ3aWRHbHRaVnB2Ym1WT1lXMWxYQ0lzWEc0Z0lDQWdJQ0JjSW1odmRYSkRlV05zWlZ3aUxGeHVJQ0FnSUYwcExGeHVJQ0FnSUd0bGVTQTlJSE4wY21sdVoybG1lU2htYVd4MFpYSmxaQ2tzWEc0Z0lDQWdaR0YwWlZScGJXVklkV2RsSUQwZ1hDSkZSVVZGTENCTVRFeE1JR1FzSUhsNWVYa3NJR2c2YlcwZ1lWd2lPMXh1SUNCemQybDBZMmdnS0d0bGVTa2dlMXh1SUNBZ0lHTmhjMlVnYzNSeWFXNW5hV1o1S0VadmNtMWhkSE11UkVGVVJWOVRTRTlTVkNrNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWENKTkwyUXZlWGw1ZVZ3aU8xeHVJQ0FnSUdOaGMyVWdjM1J5YVc1bmFXWjVLRVp2Y20xaGRITXVSRUZVUlY5TlJVUXBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlGd2lURXhNSUdRc0lIbDVlWGxjSWp0Y2JpQWdJQ0JqWVhObElITjBjbWx1WjJsbWVTaEdiM0p0WVhSekxrUkJWRVZmVFVWRVgxZEpWRWhmVjBWRlMwUkJXU2s2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdYQ0pGUlVVc0lFeE1UQ0JrTENCNWVYbDVYQ0k3WEc0Z0lDQWdZMkZ6WlNCemRISnBibWRwWm5rb1JtOXliV0YwY3k1RVFWUkZYMFpWVEV3cE9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVRFeE1UQ0JrTENCNWVYbDVYQ0k3WEc0Z0lDQWdZMkZ6WlNCemRISnBibWRwWm5rb1JtOXliV0YwY3k1RVFWUkZYMGhWUjBVcE9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVJVVkZSU3dnVEV4TVRDQmtMQ0I1ZVhsNVhDSTdYRzRnSUNBZ1kyRnpaU0J6ZEhKcGJtZHBabmtvUm05eWJXRjBjeTVVU1UxRlgxTkpUVkJNUlNrNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWENKb09tMXRJR0ZjSWp0Y2JpQWdJQ0JqWVhObElITjBjbWx1WjJsbWVTaEdiM0p0WVhSekxsUkpUVVZmVjBsVVNGOVRSVU5QVGtSVEtUcGNiaUFnSUNBZ0lISmxkSFZ5YmlCY0ltZzZiVzA2YzNNZ1lWd2lPMXh1SUNBZ0lHTmhjMlVnYzNSeWFXNW5hV1o1S0VadmNtMWhkSE11VkVsTlJWOVhTVlJJWDFOSVQxSlVYMDlHUmxORlZDazZYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSm9PbTF0SUdGY0lqdGNiaUFnSUNCallYTmxJSE4wY21sdVoybG1lU2hHYjNKdFlYUnpMbFJKVFVWZlYwbFVTRjlNVDA1SFgwOUdSbE5GVkNrNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWENKb09tMXRJR0ZjSWp0Y2JpQWdJQ0JqWVhObElITjBjbWx1WjJsbWVTaEdiM0p0WVhSekxsUkpUVVZmTWpSZlUwbE5VRXhGS1RwY2JpQWdJQ0FnSUhKbGRIVnliaUJjSWtoSU9tMXRYQ0k3WEc0Z0lDQWdZMkZ6WlNCemRISnBibWRwWm5rb1JtOXliV0YwY3k1VVNVMUZYekkwWDFkSlZFaGZVMFZEVDA1RVV5azZYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSklTRHB0YlRwemMxd2lPMXh1SUNBZ0lHTmhjMlVnYzNSeWFXNW5hV1o1S0VadmNtMWhkSE11VkVsTlJWOHlORjlYU1ZSSVgxTklUMUpVWDA5R1JsTkZWQ2s2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdYQ0pJU0RwdGJWd2lPMXh1SUNBZ0lHTmhjMlVnYzNSeWFXNW5hV1o1S0VadmNtMWhkSE11VkVsTlJWOHlORjlYU1ZSSVgweFBUa2RmVDBaR1UwVlVLVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQmNJa2hJT20xdFhDSTdYRzRnSUNBZ1kyRnpaU0J6ZEhKcGJtZHBabmtvUm05eWJXRjBjeTVFUVZSRlZFbE5SVjlUU0U5U1ZDazZYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSk5MMlF2ZVhsNWVTd2dhRHB0YlNCaFhDSTdYRzRnSUNBZ1kyRnpaU0J6ZEhKcGJtZHBabmtvUm05eWJXRjBjeTVFUVZSRlZFbE5SVjlOUlVRcE9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVRFeE1JR1FzSUhsNWVYa3NJR2c2YlcwZ1lWd2lPMXh1SUNBZ0lHTmhjMlVnYzNSeWFXNW5hV1o1S0VadmNtMWhkSE11UkVGVVJWUkpUVVZmUmxWTVRDazZYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSk1URXhNSUdRc0lIbDVlWGtzSUdnNmJXMGdZVndpTzF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlNGVkhSU2s2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaR0YwWlZScGJXVklkV2RsTzF4dUlDQWdJR05oYzJVZ2MzUnlhVzVuYVdaNUtFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlUwaFBVbFJmVjBsVVNGOVRSVU5QVGtSVEtUcGNiaUFnSUNBZ0lISmxkSFZ5YmlCY0lrMHZaQzk1ZVhsNUxDQm9PbTF0T25OeklHRmNJanRjYmlBZ0lDQmpZWE5sSUhOMGNtbHVaMmxtZVNoR2IzSnRZWFJ6TGtSQlZFVlVTVTFGWDAxRlJGOVhTVlJJWDFORlEwOU9SRk1wT2x4dUlDQWdJQ0FnY21WMGRYSnVJRndpVEV4TUlHUXNJSGw1ZVhrc0lHZzZiVzA2YzNNZ1lWd2lPMXh1SUNBZ0lHTmhjMlVnYzNSeWFXNW5hV1o1S0VadmNtMWhkSE11UkVGVVJWUkpUVVZmVFVWRVgxZEpWRWhmVjBWRlMwUkJXU2s2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdYQ0pGUlVVc0lHUWdURXhNSUhsNWVYa3NJR2c2YlcwZ1lWd2lPMXh1SUNBZ0lHTmhjMlVnYzNSeWFXNW5hV1o1S0VadmNtMWhkSE11UkVGVVJWUkpUVVZmUmxWTVRGOVhTVlJJWDFORlEwOU9SRk1wT2x4dUlDQWdJQ0FnY21WMGRYSnVJRndpVEV4TVRDQmtMQ0I1ZVhsNUxDQm9PbTF0T25OeklHRmNJanRjYmlBZ0lDQmpZWE5sSUhOMGNtbHVaMmxtZVNoR2IzSnRZWFJ6TGtSQlZFVlVTVTFGWDBoVlIwVmZWMGxVU0Y5VFJVTlBUa1JUS1RwY2JpQWdJQ0FnSUhKbGRIVnliaUJjSWtWRlJVVXNJRXhNVEV3Z1pDd2dlWGw1ZVN3Z2FEcHRiVHB6Y3lCaFhDSTdYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUJrWVhSbFZHbHRaVWgxWjJVN1hHNGdJSDFjYm4xY2JpSXNJQ0pwYlhCdmNuUWdLaUJoY3lCRmJtZHNhWE5vSUdaeWIyMGdYQ0l1TDJWdVoyeHBjMmd1YW5OY0lqdGNibWx0Y0c5eWRDQXFJR0Z6SUVadmNtMWhkSE1nWm5KdmJTQmNJaTR2Wm05eWJXRjBjeTVxYzF3aU8xeHVhVzF3YjNKMElIc2djR0ZrVTNSaGNuUWdmU0JtY205dElGd2lMaTkxZEdsc0xtcHpYQ0k3WEc1Y2JtWjFibU4wYVc5dUlITjBjbWx1WjJsbWVWUnZhMlZ1Y3loemNHeHBkSE1zSUhSdmEyVnVWRzlUZEhKcGJtY3BJSHRjYmlBZ2JHVjBJSE1nUFNCY0lsd2lPMXh1SUNCbWIzSWdLR052Ym5OMElIUnZhMlZ1SUc5bUlITndiR2wwY3lrZ2UxeHVJQ0FnSUdsbUlDaDBiMnRsYmk1c2FYUmxjbUZzS1NCN1hHNGdJQ0FnSUNCeklDczlJSFJ2YTJWdUxuWmhiRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2N5QXJQU0IwYjJ0bGJsUnZVM1J5YVc1bktIUnZhMlZ1TG5aaGJDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCek8xeHVmVnh1WEc1amIyNXpkQ0J0WVdOeWIxUnZhMlZ1Vkc5R2IzSnRZWFJQY0hSeklEMGdlMXh1SUNCRU9pQkdiM0p0WVhSekxrUkJWRVZmVTBoUFVsUXNYRzRnSUVSRU9pQkdiM0p0WVhSekxrUkJWRVZmVFVWRUxGeHVJQ0JFUkVRNklFWnZjbTFoZEhNdVJFRlVSVjlHVlV4TUxGeHVJQ0JFUkVSRU9pQkdiM0p0WVhSekxrUkJWRVZmU0ZWSFJTeGNiaUFnZERvZ1JtOXliV0YwY3k1VVNVMUZYMU5KVFZCTVJTeGNiaUFnZEhRNklFWnZjbTFoZEhNdVZFbE5SVjlYU1ZSSVgxTkZRMDlPUkZNc1hHNGdJSFIwZERvZ1JtOXliV0YwY3k1VVNVMUZYMWRKVkVoZlUwaFBVbFJmVDBaR1UwVlVMRnh1SUNCMGRIUjBPaUJHYjNKdFlYUnpMbFJKVFVWZlYwbFVTRjlNVDA1SFgwOUdSbE5GVkN4Y2JpQWdWRG9nUm05eWJXRjBjeTVVU1UxRlh6STBYMU5KVFZCTVJTeGNiaUFnVkZRNklFWnZjbTFoZEhNdVZFbE5SVjh5TkY5WFNWUklYMU5GUTA5T1JGTXNYRzRnSUZSVVZEb2dSbTl5YldGMGN5NVVTVTFGWHpJMFgxZEpWRWhmVTBoUFVsUmZUMFpHVTBWVUxGeHVJQ0JVVkZSVU9pQkdiM0p0WVhSekxsUkpUVVZmTWpSZlYwbFVTRjlNVDA1SFgwOUdSbE5GVkN4Y2JpQWdaam9nUm05eWJXRjBjeTVFUVZSRlZFbE5SVjlUU0U5U1ZDeGNiaUFnWm1ZNklFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlRVVkVMRnh1SUNCbVptWTZJRVp2Y20xaGRITXVSRUZVUlZSSlRVVmZSbFZNVEN4Y2JpQWdabVptWmpvZ1JtOXliV0YwY3k1RVFWUkZWRWxOUlY5SVZVZEZMRnh1SUNCR09pQkdiM0p0WVhSekxrUkJWRVZVU1UxRlgxTklUMUpVWDFkSlZFaGZVMFZEVDA1RVV5eGNiaUFnUmtZNklFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlRVVkVYMWRKVkVoZlUwVkRUMDVFVXl4Y2JpQWdSa1pHT2lCR2IzSnRZWFJ6TGtSQlZFVlVTVTFGWDBaVlRFeGZWMGxVU0Y5VFJVTlBUa1JUTEZ4dUlDQkdSa1pHT2lCR2IzSnRZWFJ6TGtSQlZFVlVTVTFGWDBoVlIwVmZWMGxVU0Y5VFJVTlBUa1JUTEZ4dWZUdGNibHh1THlvcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElHTnNZWE56SUVadmNtMWhkSFJsY2lCN1hHNGdJSE4wWVhScFl5QmpjbVZoZEdVb2JHOWpZV3hsTENCdmNIUnpJRDBnZTMwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lFWnZjbTFoZEhSbGNpaHNiMk5oYkdVc0lHOXdkSE1wTzF4dUlDQjlYRzVjYmlBZ2MzUmhkR2xqSUhCaGNuTmxSbTl5YldGMEtHWnRkQ2tnZTF4dUlDQWdJR3hsZENCamRYSnlaVzUwSUQwZ2JuVnNiQ3hjYmlBZ0lDQWdJR04xY25KbGJuUkdkV3hzSUQwZ1hDSmNJaXhjYmlBZ0lDQWdJR0p5WVdOclpYUmxaQ0E5SUdaaGJITmxPMXh1SUNBZ0lHTnZibk4wSUhOd2JHbDBjeUE5SUZ0ZE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z1ptMTBMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JqSUQwZ1ptMTBMbU5vWVhKQmRDaHBLVHRjYmlBZ0lDQWdJR2xtSUNoaklEMDlQU0JjSWlkY0lpa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEVaMWJHd3ViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lITndiR2wwY3k1d2RYTm9LSHNnYkdsMFpYSmhiRG9nWW5KaFkydGxkR1ZrTENCMllXdzZJR04xY25KbGJuUkdkV3hzSUgwcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR04xY25KbGJuUWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFJuVnNiQ0E5SUZ3aVhDSTdYRzRnSUNBZ0lDQWdJR0p5WVdOclpYUmxaQ0E5SUNGaWNtRmphMlYwWldRN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHSnlZV05yWlhSbFpDa2dlMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBSblZzYkNBclBTQmpPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hqSUQwOVBTQmpkWEp5Wlc1MEtTQjdYRzRnSUNBZ0lDQWdJR04xY25KbGJuUkdkV3hzSUNzOUlHTTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRVoxYkd3dWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUhOd2JHbDBjeTV3ZFhOb0tIc2diR2wwWlhKaGJEb2dabUZzYzJVc0lIWmhiRG9nWTNWeWNtVnVkRVoxYkd3Z2ZTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkRVoxYkd3Z1BTQmpPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBJRDBnWXp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kzVnljbVZ1ZEVaMWJHd3ViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnYzNCc2FYUnpMbkIxYzJnb2V5QnNhWFJsY21Gc09pQmljbUZqYTJWMFpXUXNJSFpoYkRvZ1kzVnljbVZ1ZEVaMWJHd2dmU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlITndiR2wwY3p0Y2JpQWdmVnh1WEc0Z0lITjBZWFJwWXlCdFlXTnliMVJ2YTJWdVZHOUdiM0p0WVhSUGNIUnpLSFJ2YTJWdUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUcxaFkzSnZWRzlyWlc1VWIwWnZjbTFoZEU5d2RITmJkRzlyWlc1ZE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNSeWRXTjBiM0lvYkc5allXeGxMQ0JtYjNKdFlYUlBjSFJ6S1NCN1hHNGdJQ0FnZEdocGN5NXZjSFJ6SUQwZ1ptOXliV0YwVDNCMGN6dGNiaUFnSUNCMGFHbHpMbXh2WXlBOUlHeHZZMkZzWlR0Y2JpQWdJQ0IwYUdsekxuTjVjM1JsYlV4dll5QTlJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQm1iM0p0WVhSWGFYUm9VM2x6ZEdWdFJHVm1ZWFZzZENoa2RDd2diM0IwY3lrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG5ONWMzUmxiVXh2WXlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV6ZVhOMFpXMU1iMk1nUFNCMGFHbHpMbXh2WXk1eVpXUmxabUYxYkhSVWIxTjVjM1JsYlNncE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQmtaaUE5SUhSb2FYTXVjM2x6ZEdWdFRHOWpMbVIwUm05eWJXRjBkR1Z5S0dSMExDQjdJQzR1TG5Sb2FYTXViM0IwY3l3Z0xpNHViM0IwY3lCOUtUdGNiaUFnSUNCeVpYUjFjbTRnWkdZdVptOXliV0YwS0NrN1hHNGdJSDFjYmx4dUlDQm1iM0p0WVhSRVlYUmxWR2x0WlNoa2RDd2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ1pHWWdQU0IwYUdsekxteHZZeTVrZEVadmNtMWhkSFJsY2loa2RDd2dleUF1TGk1MGFHbHpMbTl3ZEhNc0lDNHVMbTl3ZEhNZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUdSbUxtWnZjbTFoZENncE8xeHVJQ0I5WEc1Y2JpQWdabTl5YldGMFJHRjBaVlJwYldWUVlYSjBjeWhrZEN3Z2IzQjBjeUE5SUh0OUtTQjdYRzRnSUNBZ1kyOXVjM1FnWkdZZ1BTQjBhR2x6TG14dll5NWtkRVp2Y20xaGRIUmxjaWhrZEN3Z2V5QXVMaTUwYUdsekxtOXdkSE1zSUM0dUxtOXdkSE1nZlNrN1hHNGdJQ0FnY21WMGRYSnVJR1JtTG1admNtMWhkRlJ2VUdGeWRITW9LVHRjYmlBZ2ZWeHVYRzRnSUhKbGMyOXNkbVZrVDNCMGFXOXVjeWhrZEN3Z2IzQjBjeUE5SUh0OUtTQjdYRzRnSUNBZ1kyOXVjM1FnWkdZZ1BTQjBhR2x6TG14dll5NWtkRVp2Y20xaGRIUmxjaWhrZEN3Z2V5QXVMaTUwYUdsekxtOXdkSE1zSUM0dUxtOXdkSE1nZlNrN1hHNGdJQ0FnY21WMGRYSnVJR1JtTG5KbGMyOXNkbVZrVDNCMGFXOXVjeWdwTzF4dUlDQjlYRzVjYmlBZ2JuVnRLRzRzSUhBZ1BTQXdLU0I3WEc0Z0lDQWdMeThnZDJVZ1oyVjBJSE52YldVZ2NHVnlaaUJ2ZFhRZ2IyWWdaRzlwYm1jZ2RHaHBjeUJvWlhKbExDQmhibTV2ZVdsdVoyeDVYRzRnSUNBZ2FXWWdLSFJvYVhNdWIzQjBjeTVtYjNKalpWTnBiWEJzWlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhCaFpGTjBZWEowS0c0c0lIQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUc5d2RITWdQU0I3SUM0dUxuUm9hWE11YjNCMGN5QjlPMXh1WEc0Z0lDQWdhV1lnS0hBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0J2Y0hSekxuQmhaRlJ2SUQwZ2NEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXNiMk11Ym5WdFltVnlSbTl5YldGMGRHVnlLRzl3ZEhNcExtWnZjbTFoZENodUtUdGNiaUFnZlZ4dVhHNGdJR1p2Y20xaGRFUmhkR1ZVYVcxbFJuSnZiVk4wY21sdVp5aGtkQ3dnWm0xMEtTQjdYRzRnSUNBZ1kyOXVjM1FnYTI1dmQyNUZibWRzYVhOb0lEMGdkR2hwY3k1c2IyTXViR2x6ZEdsdVowMXZaR1VvS1NBOVBUMGdYQ0psYmx3aUxGeHVJQ0FnSUNBZ2RYTmxSR0YwWlZScGJXVkdiM0p0WVhSMFpYSWdQU0IwYUdsekxteHZZeTV2ZFhSd2RYUkRZV3hsYm1SaGNpQW1KaUIwYUdsekxteHZZeTV2ZFhSd2RYUkRZV3hsYm1SaGNpQWhQVDBnWENKbmNtVm5iM0o1WENJc1hHNGdJQ0FnSUNCemRISnBibWNnUFNBb2IzQjBjeXdnWlhoMGNtRmpkQ2tnUFQ0Z2RHaHBjeTVzYjJNdVpYaDBjbUZqZENoa2RDd2diM0IwY3l3Z1pYaDBjbUZqZENrc1hHNGdJQ0FnSUNCbWIzSnRZWFJQWm1aelpYUWdQU0FvYjNCMGN5a2dQVDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9aSFF1YVhOUFptWnpaWFJHYVhobFpDQW1KaUJrZEM1dlptWnpaWFFnUFQwOUlEQWdKaVlnYjNCMGN5NWhiR3h2ZDFvcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdYQ0phWENJN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaSFF1YVhOV1lXeHBaQ0EvSUdSMExucHZibVV1Wm05eWJXRjBUMlptYzJWMEtHUjBMblJ6TENCdmNIUnpMbVp2Y20xaGRDa2dPaUJjSWx3aU8xeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lHMWxjbWxrYVdWdElEMGdLQ2tnUFQ1Y2JpQWdJQ0FnSUNBZ2EyNXZkMjVGYm1kc2FYTm9YRzRnSUNBZ0lDQWdJQ0FnUHlCRmJtZHNhWE5vTG0xbGNtbGthV1Z0Um05eVJHRjBaVlJwYldVb1pIUXBYRzRnSUNBZ0lDQWdJQ0FnT2lCemRISnBibWNvZXlCb2IzVnlPaUJjSW01MWJXVnlhV05jSWl3Z2FHOTFja041WTJ4bE9pQmNJbWd4TWx3aUlIMHNJRndpWkdGNWNHVnlhVzlrWENJcExGeHVJQ0FnSUNBZ2JXOXVkR2dnUFNBb2JHVnVaM1JvTENCemRHRnVaR0ZzYjI1bEtTQTlQbHh1SUNBZ0lDQWdJQ0JyYm05M2JrVnVaMnhwYzJoY2JpQWdJQ0FnSUNBZ0lDQS9JRVZ1WjJ4cGMyZ3ViVzl1ZEdoR2IzSkVZWFJsVkdsdFpTaGtkQ3dnYkdWdVozUm9LVnh1SUNBZ0lDQWdJQ0FnSURvZ2MzUnlhVzVuS0hOMFlXNWtZV3h2Ym1VZ1B5QjdJRzF2Ym5Sb09pQnNaVzVuZEdnZ2ZTQTZJSHNnYlc5dWRHZzZJR3hsYm1kMGFDd2daR0Y1T2lCY0ltNTFiV1Z5YVdOY0lpQjlMQ0JjSW0xdmJuUm9YQ0lwTEZ4dUlDQWdJQ0FnZDJWbGEyUmhlU0E5SUNoc1pXNW5kR2dzSUhOMFlXNWtZV3h2Ym1VcElEMCtYRzRnSUNBZ0lDQWdJR3R1YjNkdVJXNW5iR2x6YUZ4dUlDQWdJQ0FnSUNBZ0lEOGdSVzVuYkdsemFDNTNaV1ZyWkdGNVJtOXlSR0YwWlZScGJXVW9aSFFzSUd4bGJtZDBhQ2xjYmlBZ0lDQWdJQ0FnSUNBNklITjBjbWx1WnloY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGJtUmhiRzl1WlNBL0lIc2dkMlZsYTJSaGVUb2diR1Z1WjNSb0lIMGdPaUI3SUhkbFpXdGtZWGs2SUd4bGJtZDBhQ3dnYlc5dWRHZzZJRndpYkc5dVoxd2lMQ0JrWVhrNklGd2liblZ0WlhKcFkxd2lJSDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRndpZDJWbGEyUmhlVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBMRnh1SUNBZ0lDQWdiV0Y1WW1WTllXTnlieUE5SUNoMGIydGxiaWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCbWIzSnRZWFJQY0hSeklEMGdSbTl5YldGMGRHVnlMbTFoWTNKdlZHOXJaVzVVYjBadmNtMWhkRTl3ZEhNb2RHOXJaVzRwTzF4dUlDQWdJQ0FnSUNCcFppQW9abTl5YldGMFQzQjBjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVp2Y20xaGRGZHBkR2hUZVhOMFpXMUVaV1poZFd4MEtHUjBMQ0JtYjNKdFlYUlBjSFJ6S1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHOXJaVzQ3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCbGNtRWdQU0FvYkdWdVozUm9LU0E5UGx4dUlDQWdJQ0FnSUNCcmJtOTNia1Z1WjJ4cGMyZ2dQeUJGYm1kc2FYTm9MbVZ5WVVadmNrUmhkR1ZVYVcxbEtHUjBMQ0JzWlc1bmRHZ3BJRG9nYzNSeWFXNW5LSHNnWlhKaE9pQnNaVzVuZEdnZ2ZTd2dYQ0psY21GY0lpa3NYRzRnSUNBZ0lDQjBiMnRsYmxSdlUzUnlhVzVuSUQwZ0tIUnZhMlZ1S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQzh2SUZkb1pYSmxJSEJ2YzNOcFlteGxPaUJvZEhSd09pOHZZMnhrY2k1MWJtbGpiMlJsTG05eVp5OTBjbUZ1YzJ4aGRHbHZiaTlrWVhSbExYUnBiV1V0TVM5a1lYUmxMWFJwYldValZFOURMVk4wWVc1a1lXeHZibVV0ZG5NdUxVWnZjbTFoZEMxVGRIbHNaWE5jYmlBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2gwYjJ0bGJpa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklHMXpYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbE5jSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG01MWJTaGtkQzV0YVd4c2FYTmxZMjl1WkNrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0luVmNJanBjYmlBZ0lDQWdJQ0FnSUNBdkx5Qm1ZV3hzY3lCMGFISnZkV2RvWEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSWxOVFUxd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViblZ0S0dSMExtMXBiR3hwYzJWamIyNWtMQ0F6S1R0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJ6WldOdmJtUnpYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbk5jSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG01MWJTaGtkQzV6WldOdmJtUXBPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0p6YzF3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWJuVnRLR1IwTG5ObFkyOXVaQ3dnTWlrN1hHNGdJQ0FnSUNBZ0lDQWdMeThnWm5KaFkzUnBiMjVoYkNCelpXTnZibVJ6WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW5WMVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVkVzBvVFdGMGFDNW1iRzl2Y2loa2RDNXRhV3hzYVhObFkyOXVaQ0F2SURFd0tTd2dNaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW5WMWRWd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViblZ0S0UxaGRHZ3VabXh2YjNJb1pIUXViV2xzYkdselpXTnZibVFnTHlBeE1EQXBLVHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QnRhVzUxZEdWelhHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltMWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTUxYlNoa2RDNXRhVzUxZEdVcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnRiVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym5WdEtHUjBMbTFwYm5WMFpTd2dNaWs3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdhRzkxY25OY2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWFGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViblZ0S0dSMExtaHZkWElnSlNBeE1pQTlQVDBnTUNBL0lERXlJRG9nWkhRdWFHOTFjaUFsSURFeUtUdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lhR2hjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG01MWJTaGtkQzVvYjNWeUlDVWdNVElnUFQwOUlEQWdQeUF4TWlBNklHUjBMbWh2ZFhJZ0pTQXhNaXdnTWlrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0lraGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTUxYlNoa2RDNW9iM1Z5S1R0Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVNFaGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTUxYlNoa2RDNW9iM1Z5TENBeUtUdGNiaUFnSUNBZ0lDQWdJQ0F2THlCdlptWnpaWFJjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpV2x3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0FyTmx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWnZjbTFoZEU5bVpuTmxkQ2g3SUdadmNtMWhkRG9nWENKdVlYSnliM2RjSWl3Z1lXeHNiM2RhT2lCMGFHbHpMbTl3ZEhNdVlXeHNiM2RhSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmFXbHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQXJNRFk2TURCY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1iM0p0WVhSUFptWnpaWFFvZXlCbWIzSnRZWFE2SUZ3aWMyaHZjblJjSWl3Z1lXeHNiM2RhT2lCMGFHbHpMbTl3ZEhNdVlXeHNiM2RhSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmFXbHBjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUd4cGEyVWdLekEyTURCY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1iM0p0WVhSUFptWnpaWFFvZXlCbWIzSnRZWFE2SUZ3aWRHVmphR2xsWENJc0lHRnNiRzkzV2pvZ2RHaHBjeTV2Y0hSekxtRnNiRzkzV2lCOUtUdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lXbHBhV2x3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0JGVTFSY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtkQzU2YjI1bExtOW1abk5sZEU1aGJXVW9aSFF1ZEhNc0lIc2dabTl5YldGME9pQmNJbk5vYjNKMFhDSXNJR3h2WTJGc1pUb2dkR2hwY3k1c2IyTXViRzlqWVd4bElIMHBPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0phV2xwYVdsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNCRllYTjBaWEp1SUZOMFlXNWtZWEprSUZScGJXVmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrZEM1NmIyNWxMbTltWm5ObGRFNWhiV1VvWkhRdWRITXNJSHNnWm05eWJXRjBPaUJjSW14dmJtZGNJaXdnYkc5allXeGxPaUIwYUdsekxteHZZeTVzYjJOaGJHVWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdlbTl1WlZ4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKNlhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnNhV3RsSUVGdFpYSnBZMkV2VG1WM1gxbHZjbXRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCa2RDNTZiMjVsVG1GdFpUdGNiaUFnSUNBZ0lDQWdJQ0F2THlCdFpYSnBaR2xsYlhOY2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVlWd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxbGNtbGthV1Z0S0NrN1hHNGdJQ0FnSUNBZ0lDQWdMeThnWkdGMFpYTmNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2laRndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVnpaVVJoZEdWVWFXMWxSbTl5YldGMGRHVnlJRDhnYzNSeWFXNW5LSHNnWkdGNU9pQmNJbTUxYldWeWFXTmNJaUI5TENCY0ltUmhlVndpS1NBNklIUm9hWE11Ym5WdEtHUjBMbVJoZVNrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltUmtYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYTmxSR0YwWlZScGJXVkdiM0p0WVhSMFpYSWdQeUJ6ZEhKcGJtY29leUJrWVhrNklGd2lNaTFrYVdkcGRGd2lJSDBzSUZ3aVpHRjVYQ0lwSURvZ2RHaHBjeTV1ZFcwb1pIUXVaR0Y1TENBeUtUdGNiaUFnSUNBZ0lDQWdJQ0F2THlCM1pXVnJaR0Y1Y3lBdElITjBZVzVrWVd4dmJtVmNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lZMXdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQXhYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVkVzBvWkhRdWQyVmxhMlJoZVNrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltTmpZMXdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQW5WSFZsY3lkY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjNaV1ZyWkdGNUtGd2ljMmh2Y25SY0lpd2dkSEoxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltTmpZMk5jSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUd4cGEyVWdKMVIxWlhOa1lYa25YRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDJWbGEyUmhlU2hjSW14dmJtZGNJaXdnZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbU5qWTJOalhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnNhV3RsSUNkVUoxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGRsWld0a1lYa29YQ0p1WVhKeWIzZGNJaXdnZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2QyVmxhMlJoZVhNZ0xTQm1iM0p0WVhSY2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVJWd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNBeFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dWRXMG9aSFF1ZDJWbGEyUmhlU2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSWtWRlJWd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNBblZIVmxjeWRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCM1pXVnJaR0Y1S0Z3aWMyaHZjblJjSWl3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKRlJVVkZYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYVd0bElDZFVkV1Z6WkdGNUoxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGRsWld0a1lYa29YQ0pzYjI1blhDSXNJR1poYkhObEtUdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lSVVZGUlVWY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHeHBhMlVnSjFRblhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkMlZsYTJSaGVTaGNJbTVoY25KdmQxd2lMQ0JtWVd4elpTazdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2JXOXVkR2h6SUMwZ2MzUmhibVJoYkc5dVpWeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSk1YQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYVd0bElERmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIxYzJWRVlYUmxWR2x0WlVadmNtMWhkSFJsY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUhOMGNtbHVaeWg3SUcxdmJuUm9PaUJjSW01MWJXVnlhV05jSWl3Z1pHRjVPaUJjSW01MWJXVnlhV05jSWlCOUxDQmNJbTF2Ym5Sb1hDSXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2dkR2hwY3k1dWRXMG9aSFF1Ylc5dWRHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pNVEZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0F3TVN3Z1pHOWxjMjRuZENCelpXVnRJSFJ2SUhkdmNtdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIxYzJWRVlYUmxWR2x0WlVadmNtMWhkSFJsY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUhOMGNtbHVaeWg3SUcxdmJuUm9PaUJjSWpJdFpHbG5hWFJjSWl3Z1pHRjVPaUJjSW01MWJXVnlhV05jSWlCOUxDQmNJbTF2Ym5Sb1hDSXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2dkR2hwY3k1dWRXMG9aSFF1Ylc5dWRHZ3NJRElwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKTVRFeGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hwYTJVZ1NtRnVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYlc5dWRHZ29YQ0p6YUc5eWRGd2lMQ0IwY25WbEtUdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lURXhNVEZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0JLWVc1MVlYSjVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYlc5dWRHZ29YQ0pzYjI1blhDSXNJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSk1URXhNVEZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2JHbHJaU0JLWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JXOXVkR2dvWENKdVlYSnliM2RjSWl3Z2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdiVzl1ZEdoeklDMGdabTl5YldGMFhHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0lrMWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3hwYTJVZ01WeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ6WlVSaGRHVlVhVzFsUm05eWJXRjBkR1Z5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRDhnYzNSeWFXNW5LSHNnYlc5dWRHZzZJRndpYm5WdFpYSnBZMXdpSUgwc0lGd2liVzl1ZEdoY0lpbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ09pQjBhR2x6TG01MWJTaGtkQzV0YjI1MGFDazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJazFOWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCc2FXdGxJREF4WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYTmxSR0YwWlZScGJXVkdiM0p0WVhSMFpYSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1B5QnpkSEpwYm1jb2V5QnRiMjUwYURvZ1hDSXlMV1JwWjJsMFhDSWdmU3dnWENKdGIyNTBhRndpS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E2SUhSb2FYTXViblZ0S0dSMExtMXZiblJvTENBeUtUdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lUVTFOWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCc2FXdGxJRXBoYmx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHMXZiblJvS0Z3aWMyaHZjblJjSWl3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKTlRVMU5YQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYVd0bElFcGhiblZoY25sY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnRiMjUwYUNoY0lteHZibWRjSWl3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKTlRVMU5UVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQktYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYlc5dWRHZ29YQ0p1WVhKeWIzZGNJaXdnWm1Gc2MyVXBPMXh1SUNBZ0lDQWdJQ0FnSUM4dklIbGxZWEp6WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW5sY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHeHBhMlVnTWpBeE5GeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ6WlVSaGRHVlVhVzFsUm05eWJXRjBkR1Z5SUQ4Z2MzUnlhVzVuS0hzZ2VXVmhjam9nWENKdWRXMWxjbWxqWENJZ2ZTd2dYQ0o1WldGeVhDSXBJRG9nZEdocGN5NXVkVzBvWkhRdWVXVmhjaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW5sNVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnNhV3RsSURFMFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkWE5sUkdGMFpWUnBiV1ZHYjNKdFlYUjBaWEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdQeUJ6ZEhKcGJtY29leUI1WldGeU9pQmNJakl0WkdsbmFYUmNJaUI5TENCY0lubGxZWEpjSWlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCMGFHbHpMbTUxYlNoa2RDNTVaV0Z5TG5SdlUzUnlhVzVuS0NrdWMyeHBZMlVvTFRJcExDQXlLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpZVhsNWVWd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiR2xyWlNBd01ERXlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZFhObFJHRjBaVlJwYldWR2IzSnRZWFIwWlhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUHlCemRISnBibWNvZXlCNVpXRnlPaUJjSW01MWJXVnlhV05jSWlCOUxDQmNJbmxsWVhKY0lpbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ09pQjBhR2x6TG01MWJTaGtkQzU1WldGeUxDQTBLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpZVhsNWVYbDVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYVd0bElEQXdNREF4TWx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVnpaVVJoZEdWVWFXMWxSbTl5YldGMGRHVnlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdjM1J5YVc1bktIc2dlV1ZoY2pvZ1hDSnVkVzFsY21salhDSWdmU3dnWENKNVpXRnlYQ0lwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRG9nZEdocGN5NXVkVzBvWkhRdWVXVmhjaXdnTmlrN1hHNGdJQ0FnSUNBZ0lDQWdMeThnWlhKaGMxeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSkhYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYVd0bElFRkVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWlhKaEtGd2ljMmh2Y25SY0lpazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJa2RIWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCc2FXdGxJRUZ1Ym04Z1JHOXRhVzVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pYSmhLRndpYkc5dVoxd2lLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpUjBkSFIwZGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGNtRW9YQ0p1WVhKeWIzZGNJaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW10clhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVkVzBvWkhRdWQyVmxhMWxsWVhJdWRHOVRkSEpwYm1jb0tTNXpiR2xqWlNndE1pa3NJRElwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKcmEydHJYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV1ZFcwb1pIUXVkMlZsYTFsbFlYSXNJRFFwTzF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKWFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVkVzBvWkhRdWQyVmxhMDUxYldKbGNpazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbGRYWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dWRXMG9aSFF1ZDJWbGEwNTFiV0psY2l3Z01pazdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbTljSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG01MWJTaGtkQzV2Y21ScGJtRnNLVHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpYjI5dlhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVkVzBvWkhRdWIzSmthVzVoYkN3Z015azdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbkZjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUd4cGEyVWdNVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViblZ0S0dSMExuRjFZWEowWlhJcE8xeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnhjVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsclpTQXdNVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViblZ0S0dSMExuRjFZWEowWlhJc0lESXBPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pZWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dWRXMG9UV0YwYUM1bWJHOXZjaWhrZEM1MGN5QXZJREV3TURBcEtUdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2llRndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym5WdEtHUjBMblJ6S1R0Y2JpQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoZVdKbFRXRmpjbThvZEc5clpXNHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5TzF4dVhHNGdJQ0FnY21WMGRYSnVJSE4wY21sdVoybG1lVlJ2YTJWdWN5aEdiM0p0WVhSMFpYSXVjR0Z5YzJWR2IzSnRZWFFvWm0xMEtTd2dkRzlyWlc1VWIxTjBjbWx1WnlrN1hHNGdJSDFjYmx4dUlDQm1iM0p0WVhSRWRYSmhkR2x2YmtaeWIyMVRkSEpwYm1jb1pIVnlMQ0JtYlhRcElIdGNiaUFnSUNCamIyNXpkQ0IwYjJ0bGJsUnZSbWxsYkdRZ1BTQW9kRzlyWlc0cElEMCtJSHRjYmlBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2gwYjJ0bGJsc3dYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKVFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWENKdGFXeHNhWE5sWTI5dVpGd2lPMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0p6WENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdYQ0p6WldOdmJtUmNJanRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpYlZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRndpYldsdWRYUmxYQ0k3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1oY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJjSW1odmRYSmNJanRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRndpWkZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRndpWkdGNVhDSTdYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbmRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmNJbmRsWld0Y0lqdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2lUVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGd2liVzl1ZEdoY0lqdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElGd2llVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGd2llV1ZoY2x3aU8xeHVJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJSFJ2YTJWdVZHOVRkSEpwYm1jZ1BTQW9iR2xzWkhWeUtTQTlQaUFvZEc5clpXNHBJRDArSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYldGd2NHVmtJRDBnZEc5clpXNVViMFpwWld4a0tIUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzFoY0hCbFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNTFiU2hzYVd4a2RYSXVaMlYwS0cxaGNIQmxaQ2tzSUhSdmEyVnVMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ2YTJWdU8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdkRzlyWlc1eklEMGdSbTl5YldGMGRHVnlMbkJoY25ObFJtOXliV0YwS0dadGRDa3NYRzRnSUNBZ0lDQnlaV0ZzVkc5clpXNXpJRDBnZEc5clpXNXpMbkpsWkhWalpTaGNiaUFnSUNBZ0lDQWdLR1p2ZFc1a0xDQjdJR3hwZEdWeVlXd3NJSFpoYkNCOUtTQTlQaUFvYkdsMFpYSmhiQ0EvSUdadmRXNWtJRG9nWm05MWJtUXVZMjl1WTJGMEtIWmhiQ2twTEZ4dUlDQWdJQ0FnSUNCYlhWeHVJQ0FnSUNBZ0tTeGNiaUFnSUNBZ0lHTnZiR3hoY0hObFpDQTlJR1IxY2k1emFHbG1kRlJ2S0M0dUxuSmxZV3hVYjJ0bGJuTXViV0Z3S0hSdmEyVnVWRzlHYVdWc1pDa3VabWxzZEdWeUtDaDBLU0E5UGlCMEtTazdYRzRnSUNBZ2NtVjBkWEp1SUhOMGNtbHVaMmxtZVZSdmEyVnVjeWgwYjJ0bGJuTXNJSFJ2YTJWdVZHOVRkSEpwYm1jb1kyOXNiR0Z3YzJWa0tTazdYRzRnSUgxY2JuMWNiaUlzSUNKbGVIQnZjblFnWkdWbVlYVnNkQ0JqYkdGemN5QkpiblpoYkdsa0lIdGNiaUFnWTI5dWMzUnlkV04wYjNJb2NtVmhjMjl1TENCbGVIQnNZVzVoZEdsdmJpa2dlMXh1SUNBZ0lIUm9hWE11Y21WaGMyOXVJRDBnY21WaGMyOXVPMXh1SUNBZ0lIUm9hWE11Wlhod2JHRnVZWFJwYjI0Z1BTQmxlSEJzWVc1aGRHbHZianRjYmlBZ2ZWeHVYRzRnSUhSdlRXVnpjMkZuWlNncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1bGVIQnNZVzVoZEdsdmJpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHQWtlM1JvYVhNdWNtVmhjMjl1ZlRvZ0pIdDBhR2x6TG1WNGNHeGhibUYwYVc5dWZXQTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxZWE52Ymp0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmlJc0lDSnBiWEJ2Y25RZ2V5QmFiMjVsU1hOQlluTjBjbUZqZEVWeWNtOXlJSDBnWm5KdmJTQmNJaTR2WlhKeWIzSnpMbXB6WENJN1hHNWNiaThxS2x4dUlDb2dRR2x1ZEdWeVptRmpaVnh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJhYjI1bElIdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQjBlWEJsSUc5bUlIcHZibVZjYmlBZ0lDb2dRR0ZpYzNSeVlXTjBYRzRnSUNBcUlFQjBlWEJsSUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCblpYUWdkSGx3WlNncElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1dtOXVaVWx6UVdKemRISmhZM1JGY25KdmNpZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnVZVzFsSUc5bUlIUm9hWE1nZW05dVpTNWNiaUFnSUNvZ1FHRmljM1J5WVdOMFhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2JtRnRaU2dwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnV205dVpVbHpRV0p6ZEhKaFkzUkZjbkp2Y2lncE8xeHVJQ0I5WEc1Y2JpQWdaMlYwSUdsaGJtRk9ZVzFsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtNWhiV1U3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCM2FHVjBhR1Z5SUhSb1pTQnZabVp6WlhRZ2FYTWdhMjV2ZDI0Z2RHOGdZbVVnWm1sNFpXUWdabTl5SUhSb1pTQjNhRzlzWlNCNVpXRnlMbHh1SUNBZ0tpQkFZV0p6ZEhKaFkzUmNiaUFnSUNvZ1FIUjVjR1VnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCblpYUWdhWE5WYm1sMlpYSnpZV3dvS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZwdmJtVkpjMEZpYzNSeVlXTjBSWEp5YjNJb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSFJvWlNCdlptWnpaWFFuY3lCamIyMXRiMjRnYm1GdFpTQW9jM1ZqYUNCaGN5QkZVMVFwSUdGMElIUm9aU0J6Y0dWamFXWnBaV1FnZEdsdFpYTjBZVzF3WEc0Z0lDQXFJRUJoWW5OMGNtRmpkRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2RITWdMU0JGY0c5amFDQnRhV3hzYVhObFkyOXVaSE1nWm05eUlIZG9hV05vSUhSdklHZGxkQ0IwYUdVZ2JtRnRaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUU5d2RHbHZibk1nZEc4Z1lXWm1aV04wSUhSb1pTQm1iM0p0WVhSY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzl3ZEhNdVptOXliV0YwSUMwZ1YyaGhkQ0J6ZEhsc1pTQnZaaUJ2Wm1aelpYUWdkRzhnY21WMGRYSnVMaUJCWTJObGNIUnpJQ2RzYjI1bkp5QnZjaUFuYzJodmNuUW5MbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2IzQjBjeTVzYjJOaGJHVWdMU0JYYUdGMElHeHZZMkZzWlNCMGJ5QnlaWFIxY200Z2RHaGxJRzltWm5ObGRDQnVZVzFsSUdsdUxseHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCdlptWnpaWFJPWVcxbEtIUnpMQ0J2Y0hSektTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGcHZibVZKYzBGaWMzUnlZV04wUlhKeWIzSW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUhSb1pTQnZabVp6WlhRbmN5QjJZV3gxWlNCaGN5QmhJSE4wY21sdVoxeHVJQ0FnS2lCQVlXSnpkSEpoWTNSY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJSFJ6SUMwZ1JYQnZZMmdnYldsc2JHbHpaV052Ym1SeklHWnZjaUIzYUdsamFDQjBieUJuWlhRZ2RHaGxJRzltWm5ObGRGeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnWm05eWJXRjBJQzBnVjJoaGRDQnpkSGxzWlNCdlppQnZabVp6WlhRZ2RHOGdjbVYwZFhKdUxseHVJQ0FnS2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUVdOalpYQjBjeUFuYm1GeWNtOTNKeXdnSjNOb2IzSjBKeXdnYjNJZ0ozUmxZMmhwWlNjdUlGSmxkSFZ5Ym1sdVp5QW5LelluTENBbkt6QTJPakF3Snl3Z2IzSWdKeXN3TmpBd0p5QnlaWE53WldOMGFYWmxiSGxjYmlBZ0lDb2dRSEpsZEhWeWJpQjdjM1J5YVc1bmZWeHVJQ0FnS2k5Y2JpQWdabTl5YldGMFQyWm1jMlYwS0hSekxDQm1iM0p0WVhRcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1dtOXVaVWx6UVdKemRISmhZM1JGY25KdmNpZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnliaUIwYUdVZ2IyWm1jMlYwSUdsdUlHMXBiblYwWlhNZ1ptOXlJSFJvYVhNZ2VtOXVaU0JoZENCMGFHVWdjM0JsWTJsbWFXVmtJSFJwYldWemRHRnRjQzVjYmlBZ0lDb2dRR0ZpYzNSeVlXTjBYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCMGN5QXRJRVZ3YjJOb0lHMXBiR3hwYzJWamIyNWtjeUJtYjNJZ2QyaHBZMmdnZEc4Z1kyOXRjSFYwWlNCMGFHVWdiMlptYzJWMFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTI1MWJXSmxjbjFjYmlBZ0lDb3ZYRzRnSUc5bVpuTmxkQ2gwY3lrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCYWIyNWxTWE5CWW5OMGNtRmpkRVZ5Y205eUtDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJSGRvWlhSb1pYSWdkR2hwY3lCYWIyNWxJR2x6SUdWeGRXRnNJSFJ2SUdGdWIzUm9aWElnZW05dVpWeHVJQ0FnS2lCQVlXSnpkSEpoWTNSY2JpQWdJQ29nUUhCaGNtRnRJSHRhYjI1bGZTQnZkR2hsY2xwdmJtVWdMU0IwYUdVZ2VtOXVaU0IwYnlCamIyMXdZWEpsWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0JsY1hWaGJITW9iM1JvWlhKYWIyNWxLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRnB2Ym1WSmMwRmljM1J5WVdOMFJYSnliM0lvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2QyaGxkR2hsY2lCMGFHbHpJRnB2Ym1VZ2FYTWdkbUZzYVdRdVhHNGdJQ0FxSUVCaFluTjBjbUZqZEZ4dUlDQWdLaUJBZEhsd1pTQjdZbTl2YkdWaGJuMWNiaUFnSUNvdlhHNGdJR2RsZENCcGMxWmhiR2xrS0NrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCYWIyNWxTWE5CWW5OMGNtRmpkRVZ5Y205eUtDazdYRzRnSUgxY2JuMWNiaUlzSUNKcGJYQnZjblFnZXlCbWIzSnRZWFJQWm1aelpYUXNJSEJoY25ObFdtOXVaVWx1Wm04Z2ZTQm1jbTl0SUZ3aUxpNHZhVzF3YkM5MWRHbHNMbXB6WENJN1hHNXBiWEJ2Y25RZ1dtOXVaU0JtY205dElGd2lMaTR2ZW05dVpTNXFjMXdpTzF4dVhHNXNaWFFnYzJsdVoyeGxkRzl1SUQwZ2JuVnNiRHRjYmx4dUx5b3FYRzRnS2lCU1pYQnlaWE5sYm5SeklIUm9aU0JzYjJOaGJDQjZiMjVsSUdadmNpQjBhR2x6SUVwaGRtRlRZM0pwY0hRZ1pXNTJhWEp2Ym0xbGJuUXVYRzRnS2lCQWFXMXdiR1Z0Wlc1MGN5QjdXbTl1WlgxY2JpQXFMMXh1Wlhod2IzSjBJR1JsWm1GMWJIUWdZMnhoYzNNZ1UzbHpkR1Z0V205dVpTQmxlSFJsYm1SeklGcHZibVVnZTF4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUdFZ2MybHVaMnhsZEc5dUlHbHVjM1JoYm1ObElHOW1JSFJvWlNCc2IyTmhiQ0I2YjI1bFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTFONWMzUmxiVnB2Ym1WOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJR2x1YzNSaGJtTmxLQ2tnZTF4dUlDQWdJR2xtSUNoemFXNW5iR1YwYjI0Z1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lITnBibWRzWlhSdmJpQTlJRzVsZHlCVGVYTjBaVzFhYjI1bEtDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ6YVc1bmJHVjBiMjQ3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQm5aWFFnZEhsd1pTZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1hDSnplWE4wWlcxY0lqdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUdkbGRDQnVZVzFsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1NXNTBiQzVFWVhSbFZHbHRaVVp2Y20xaGRDZ3BMbkpsYzI5c2RtVmtUM0IwYVc5dWN5Z3BMblJwYldWYWIyNWxPMXh1SUNCOVhHNWNiaUFnTHlvcUlFQnZkbVZ5Y21sa1pTQXFLaTljYmlBZ1oyVjBJR2x6Vlc1cGRtVnljMkZzS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUc5bVpuTmxkRTVoYldVb2RITXNJSHNnWm05eWJXRjBMQ0JzYjJOaGJHVWdmU2tnZTF4dUlDQWdJSEpsZEhWeWJpQndZWEp6WlZwdmJtVkpibVp2S0hSekxDQm1iM0p0WVhRc0lHeHZZMkZzWlNrN1hHNGdJSDFjYmx4dUlDQXZLaW9nUUc5MlpYSnlhV1JsSUNvcUwxeHVJQ0JtYjNKdFlYUlBabVp6WlhRb2RITXNJR1p2Y20xaGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbWIzSnRZWFJQWm1aelpYUW9kR2hwY3k1dlptWnpaWFFvZEhNcExDQm1iM0p0WVhRcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xSUVCdmRtVnljbWxrWlNBcUtpOWNiaUFnYjJabWMyVjBLSFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJQzF1WlhjZ1JHRjBaU2gwY3lrdVoyVjBWR2x0WlhwdmJtVlBabVp6WlhRb0tUdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUdWeGRXRnNjeWh2ZEdobGNscHZibVVwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiM1JvWlhKYWIyNWxMblI1Y0dVZ1BUMDlJRndpYzNsemRHVnRYQ0k3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQm5aWFFnYVhOV1lXeHBaQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1ZlZ4dUlpd2dJbWx0Y0c5eWRDQjdJR1p2Y20xaGRFOW1abk5sZEN3Z2NHRnljMlZhYjI1bFNXNW1ieXdnYVhOVmJtUmxabWx1WldRc0lHOWlhbFJ2VEc5allXeFVVeUI5SUdaeWIyMGdYQ0l1TGk5cGJYQnNMM1YwYVd3dWFuTmNJanRjYm1sdGNHOXlkQ0JhYjI1bElHWnliMjBnWENJdUxpOTZiMjVsTG1welhDSTdYRzVjYm14bGRDQmtkR1pEWVdOb1pTQTlJSHQ5TzF4dVpuVnVZM1JwYjI0Z2JXRnJaVVJVUmloNmIyNWxLU0I3WEc0Z0lHbG1JQ2doWkhSbVEyRmphR1ZiZW05dVpWMHBJSHRjYmlBZ0lDQmtkR1pEWVdOb1pWdDZiMjVsWFNBOUlHNWxkeUJKYm5Sc0xrUmhkR1ZVYVcxbFJtOXliV0YwS0Z3aVpXNHRWVk5jSWl3Z2UxeHVJQ0FnSUNBZ2FHOTFjakV5T2lCbVlXeHpaU3hjYmlBZ0lDQWdJSFJwYldWYWIyNWxPaUI2YjI1bExGeHVJQ0FnSUNBZ2VXVmhjam9nWENKdWRXMWxjbWxqWENJc1hHNGdJQ0FnSUNCdGIyNTBhRG9nWENJeUxXUnBaMmwwWENJc1hHNGdJQ0FnSUNCa1lYazZJRndpTWkxa2FXZHBkRndpTEZ4dUlDQWdJQ0FnYUc5MWNqb2dYQ0l5TFdScFoybDBYQ0lzWEc0Z0lDQWdJQ0J0YVc1MWRHVTZJRndpTWkxa2FXZHBkRndpTEZ4dUlDQWdJQ0FnYzJWamIyNWtPaUJjSWpJdFpHbG5hWFJjSWl4Y2JpQWdJQ0FnSUdWeVlUb2dYQ0p6YUc5eWRGd2lMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQmtkR1pEWVdOb1pWdDZiMjVsWFR0Y2JuMWNibHh1WTI5dWMzUWdkSGx3WlZSdlVHOXpJRDBnZTF4dUlDQjVaV0Z5T2lBd0xGeHVJQ0J0YjI1MGFEb2dNU3hjYmlBZ1pHRjVPaUF5TEZ4dUlDQmxjbUU2SURNc1hHNGdJR2h2ZFhJNklEUXNYRzRnSUcxcGJuVjBaVG9nTlN4Y2JpQWdjMlZqYjI1a09pQTJMRnh1ZlR0Y2JseHVablZ1WTNScGIyNGdhR0ZqYTNsUFptWnpaWFFvWkhSbUxDQmtZWFJsS1NCN1hHNGdJR052Ym5OMElHWnZjbTFoZEhSbFpDQTlJR1IwWmk1bWIzSnRZWFFvWkdGMFpTa3VjbVZ3YkdGalpTZ3ZYRngxTWpBd1JTOW5MQ0JjSWx3aUtTeGNiaUFnSUNCd1lYSnpaV1FnUFNBdktGeGNaQ3NwWEZ3dktGeGNaQ3NwWEZ3dktGeGNaQ3NwSUNoQlJIeENReWtzUHlBb1hGeGtLeWs2S0Z4Y1pDc3BPaWhjWEdRcktTOHVaWGhsWXlobWIzSnRZWFIwWldRcExGeHVJQ0FnSUZzc0lHWk5iMjUwYUN3Z1prUmhlU3dnWmxsbFlYSXNJR1poWkU5eVFtTXNJR1pJYjNWeUxDQm1UV2x1ZFhSbExDQm1VMlZqYjI1a1hTQTlJSEJoY25ObFpEdGNiaUFnY21WMGRYSnVJRnRtV1dWaGNpd2daazF2Ym5Sb0xDQm1SR0Y1TENCbVlXUlBja0pqTENCbVNHOTFjaXdnWmsxcGJuVjBaU3dnWmxObFkyOXVaRjA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEJoY25SelQyWm1jMlYwS0dSMFppd2daR0YwWlNrZ2UxeHVJQ0JqYjI1emRDQm1iM0p0WVhSMFpXUWdQU0JrZEdZdVptOXliV0YwVkc5UVlYSjBjeWhrWVhSbEtUdGNiaUFnWTI5dWMzUWdabWxzYkdWa0lEMGdXMTA3WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dabTl5YldGMGRHVmtMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnWTI5dWMzUWdleUIwZVhCbExDQjJZV3gxWlNCOUlEMGdabTl5YldGMGRHVmtXMmxkTzF4dUlDQWdJR052Ym5OMElIQnZjeUE5SUhSNWNHVlViMUJ2YzF0MGVYQmxYVHRjYmx4dUlDQWdJR2xtSUNoMGVYQmxJRDA5UFNCY0ltVnlZVndpS1NCN1hHNGdJQ0FnSUNCbWFXeHNaV1JiY0c5elhTQTlJSFpoYkhWbE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb0lXbHpWVzVrWldacGJtVmtLSEJ2Y3lrcElIdGNiaUFnSUNBZ0lHWnBiR3hsWkZ0d2IzTmRJRDBnY0dGeWMyVkpiblFvZG1Gc2RXVXNJREV3S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNiaUFnY21WMGRYSnVJR1pwYkd4bFpEdGNibjFjYmx4dWJHVjBJR2xoYm1GYWIyNWxRMkZqYUdVZ1BTQjdmVHRjYmk4cUtseHVJQ29nUVNCNmIyNWxJR2xrWlc1MGFXWnBaV1FnWW5rZ1lXNGdTVUZPUVNCcFpHVnVkR2xtYVdWeUxDQnNhV3RsSUVGdFpYSnBZMkV2VG1WM1gxbHZjbXRjYmlBcUlFQnBiWEJzWlcxbGJuUnpJSHRhYjI1bGZWeHVJQ292WEc1bGVIQnZjblFnWkdWbVlYVnNkQ0JqYkdGemN5QkpRVTVCV205dVpTQmxlSFJsYm1SeklGcHZibVVnZTF4dUlDQXZLaXBjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHNWhiV1VnTFNCYWIyNWxJRzVoYldWY2JpQWdJQ29nUUhKbGRIVnliaUI3U1VGT1FWcHZibVY5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nWTNKbFlYUmxLRzVoYldVcElIdGNiaUFnSUNCcFppQW9JV2xoYm1GYWIyNWxRMkZqYUdWYmJtRnRaVjBwSUh0Y2JpQWdJQ0FnSUdsaGJtRmFiMjVsUTJGamFHVmJibUZ0WlYwZ1BTQnVaWGNnU1VGT1FWcHZibVVvYm1GdFpTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJwWVc1aFdtOXVaVU5oWTJobFcyNWhiV1ZkTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxjMlYwSUd4dlkyRnNJR05oWTJobGN5NGdVMmh2ZFd4a0lHOXViSGtnWW1VZ2JtVmpaWE56WVhKNUlHbHVJSFJsYzNScGJtY2djMk5sYm1GeWFXOXpMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdDJiMmxrZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUhKbGMyVjBRMkZqYUdVb0tTQjdYRzRnSUNBZ2FXRnVZVnB2Ym1WRFlXTm9aU0E5SUh0OU8xeHVJQ0FnSUdSMFprTmhZMmhsSUQwZ2UzMDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUIzYUdWMGFHVnlJSFJvWlNCd2NtOTJhV1JsWkNCemRISnBibWNnYVhNZ1lTQjJZV3hwWkNCemNHVmphV1pwWlhJdUlGUm9hWE1nYjI1c2VTQmphR1ZqYTNNZ2RHaGxJSE4wY21sdVp5ZHpJR1p2Y20xaGRDd2dibTkwSUhSb1lYUWdkR2hsSUhOd1pXTnBabWxsY2lCcFpHVnVkR2xtYVdWeklHRWdhMjV2ZDI0Z2VtOXVaVHNnYzJWbElHbHpWbUZzYVdSYWIyNWxJR1p2Y2lCMGFHRjBMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2N5QXRJRlJvWlNCemRISnBibWNnZEc4Z1kyaGxZMnNnZG1Gc2FXUnBkSGtnYjI1Y2JpQWdJQ29nUUdWNFlXMXdiR1VnU1VGT1FWcHZibVV1YVhOV1lXeHBaRk53WldOcFptbGxjaWhjSWtGdFpYSnBZMkV2VG1WM1gxbHZjbXRjSWlrZ0x5ODlQaUIwY25WbFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVsQlRrRmFiMjVsTG1selZtRnNhV1JUY0dWamFXWnBaWElvWENKVGNHOXlkSDUrWW14dmNuQmNJaWtnTHk4OVBpQm1ZV3h6WlZ4dUlDQWdLaUJBWkdWd2NtVmpZWFJsWkNCVWFHbHpJRzFsZEdodlpDQnlaWFIxY201eklHWmhiSE5sSUdadmNpQnpiMjFsSUhaaGJHbGtJRWxCVGtFZ2JtRnRaWE11SUZWelpTQnBjMVpoYkdsa1dtOXVaU0JwYm5OMFpXRmtMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdGliMjlzWldGdWZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHbHpWbUZzYVdSVGNHVmphV1pwWlhJb2N5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUmFiMjVsS0hNcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdkMmhsZEdobGNpQjBhR1VnY0hKdmRtbGtaV1FnYzNSeWFXNW5JR2xrWlc1MGFXWnBaWE1nWVNCeVpXRnNJSHB2Ym1WY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSHB2Ym1VZ0xTQlVhR1VnYzNSeWFXNW5JSFJ2SUdOb1pXTnJYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbEJUa0ZhYjI1bExtbHpWbUZzYVdSYWIyNWxLRndpUVcxbGNtbGpZUzlPWlhkZldXOXlhMXdpS1NBdkx6MCtJSFJ5ZFdWY2JpQWdJQ29nUUdWNFlXMXdiR1VnU1VGT1FWcHZibVV1YVhOV1lXeHBaRnB2Ym1Vb1hDSkdZVzUwWVhOcFlTOURZWE4wYkdWY0lpa2dMeTg5UGlCbVlXeHpaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkpRVTVCV205dVpTNXBjMVpoYkdsa1dtOXVaU2hjSWxOd2IzSjBmbjVpYkc5eWNGd2lLU0F2THowK0lHWmhiSE5sWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdhWE5XWVd4cFpGcHZibVVvZW05dVpTa2dlMXh1SUNBZ0lHbG1JQ2doZW05dVpTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnYm1WM0lFbHVkR3d1UkdGMFpWUnBiV1ZHYjNKdFlYUW9YQ0psYmkxVlUxd2lMQ0I3SUhScGJXVmFiMjVsT2lCNmIyNWxJSDBwTG1admNtMWhkQ2dwTzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR052Ym5OMGNuVmpkRzl5S0c1aGJXVXBJSHRjYmlBZ0lDQnpkWEJsY2lncE8xeHVJQ0FnSUM4cUtpQkFjSEpwZG1GMFpTQXFLaTljYmlBZ0lDQjBhR2x6TG5wdmJtVk9ZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQXZLaW9nUUhCeWFYWmhkR1VnS2lvdlhHNGdJQ0FnZEdocGN5NTJZV3hwWkNBOUlFbEJUa0ZhYjI1bExtbHpWbUZzYVdSYWIyNWxLRzVoYldVcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xSUVCdmRtVnljbWxrWlNBcUtpOWNiaUFnWjJWMElIUjVjR1VvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRndpYVdGdVlWd2lPMXh1SUNCOVhHNWNiaUFnTHlvcUlFQnZkbVZ5Y21sa1pTQXFLaTljYmlBZ1oyVjBJRzVoYldVb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVlbTl1WlU1aGJXVTdYRzRnSUgxY2JseHVJQ0F2S2lvZ1FHOTJaWEp5YVdSbElDb3FMMXh1SUNCblpYUWdhWE5WYm1sMlpYSnpZV3dvS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdMeW9xSUVCdmRtVnljbWxrWlNBcUtpOWNiaUFnYjJabWMyVjBUbUZ0WlNoMGN5d2dleUJtYjNKdFlYUXNJR3h2WTJGc1pTQjlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIQmhjbk5sV205dVpVbHVabThvZEhNc0lHWnZjbTFoZEN3Z2JHOWpZV3hsTENCMGFHbHpMbTVoYldVcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xSUVCdmRtVnljbWxrWlNBcUtpOWNiaUFnWm05eWJXRjBUMlptYzJWMEtIUnpMQ0JtYjNKdFlYUXBJSHRjYmlBZ0lDQnlaWFIxY200Z1ptOXliV0YwVDJabWMyVjBLSFJvYVhNdWIyWm1jMlYwS0hSektTd2dabTl5YldGMEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUc5bVpuTmxkQ2gwY3lrZ2UxeHVJQ0FnSUdOdmJuTjBJR1JoZEdVZ1BTQnVaWGNnUkdGMFpTaDBjeWs3WEc1Y2JpQWdJQ0JwWmlBb2FYTk9ZVTRvWkdGMFpTa3BJSEpsZEhWeWJpQk9ZVTQ3WEc1Y2JpQWdJQ0JqYjI1emRDQmtkR1lnUFNCdFlXdGxSRlJHS0hSb2FYTXVibUZ0WlNrN1hHNGdJQ0FnYkdWMElGdDVaV0Z5TENCdGIyNTBhQ3dnWkdGNUxDQmhaRTl5UW1Nc0lHaHZkWElzSUcxcGJuVjBaU3dnYzJWamIyNWtYU0E5SUdSMFppNW1iM0p0WVhSVWIxQmhjblJ6WEc0Z0lDQWdJQ0EvSUhCaGNuUnpUMlptYzJWMEtHUjBaaXdnWkdGMFpTbGNiaUFnSUNBZ0lEb2dhR0ZqYTNsUFptWnpaWFFvWkhSbUxDQmtZWFJsS1R0Y2JseHVJQ0FnSUdsbUlDaGhaRTl5UW1NZ1BUMDlJRndpUWtOY0lpa2dlMXh1SUNBZ0lDQWdlV1ZoY2lBOUlDMU5ZWFJvTG1GaWN5aDVaV0Z5S1NBcklERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdZbVZqWVhWelpTQjNaU2R5WlNCMWMybHVaeUJvYjNWeU1USWdZVzVrSUdoMGRIQnpPaTh2WW5WbmN5NWphSEp2YldsMWJTNXZjbWN2Y0M5amFISnZiV2wxYlM5cGMzTjFaWE12WkdWMFlXbHNQMmxrUFRFd01qVTFOalFtWTJGdVBUSW1jVDBsTWpJeU5DVXpRVEF3SlRJeUpUSXdaR0YwWlhScGJXVm1iM0p0WVhSY2JpQWdJQ0JqYjI1emRDQmhaR3AxYzNSbFpFaHZkWElnUFNCb2IzVnlJRDA5UFNBeU5DQS9JREFnT2lCb2IzVnlPMXh1WEc0Z0lDQWdZMjl1YzNRZ1lYTlZWRU1nUFNCdlltcFViMHh2WTJGc1ZGTW9lMXh1SUNBZ0lDQWdlV1ZoY2l4Y2JpQWdJQ0FnSUcxdmJuUm9MRnh1SUNBZ0lDQWdaR0Y1TEZ4dUlDQWdJQ0FnYUc5MWNqb2dZV1JxZFhOMFpXUkliM1Z5TEZ4dUlDQWdJQ0FnYldsdWRYUmxMRnh1SUNBZ0lDQWdjMlZqYjI1a0xGeHVJQ0FnSUNBZ2JXbHNiR2x6WldOdmJtUTZJREFzWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0JzWlhRZ1lYTlVVeUE5SUN0a1lYUmxPMXh1SUNBZ0lHTnZibk4wSUc5MlpYSWdQU0JoYzFSVElDVWdNVEF3TUR0Y2JpQWdJQ0JoYzFSVElDMDlJRzkyWlhJZ1BqMGdNQ0EvSUc5MlpYSWdPaUF4TURBd0lDc2diM1psY2p0Y2JpQWdJQ0J5WlhSMWNtNGdLR0Z6VlZSRElDMGdZWE5VVXlrZ0x5QW9OakFnS2lBeE1EQXdLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHVnhkV0ZzY3lodmRHaGxjbHB2Ym1VcElIdGNiaUFnSUNCeVpYUjFjbTRnYjNSb1pYSmFiMjVsTG5SNWNHVWdQVDA5SUZ3aWFXRnVZVndpSUNZbUlHOTBhR1Z5V205dVpTNXVZVzFsSUQwOVBTQjBhR2x6TG01aGJXVTdYRzRnSUgxY2JseHVJQ0F2S2lvZ1FHOTJaWEp5YVdSbElDb3FMMXh1SUNCblpYUWdhWE5XWVd4cFpDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4cFpEdGNiaUFnZlZ4dWZWeHVJaXdnSW1sdGNHOXlkQ0I3SUdadmNtMWhkRTltWm5ObGRDd2djMmxuYm1Wa1QyWm1jMlYwSUgwZ1puSnZiU0JjSWk0dUwybHRjR3d2ZFhScGJDNXFjMXdpTzF4dWFXMXdiM0owSUZwdmJtVWdabkp2YlNCY0lpNHVMM3B2Ym1VdWFuTmNJanRjYmx4dWJHVjBJSE5wYm1kc1pYUnZiaUE5SUc1MWJHdzdYRzVjYmk4cUtseHVJQ29nUVNCNmIyNWxJSGRwZEdnZ1lTQm1hWGhsWkNCdlptWnpaWFFnS0cxbFlXNXBibWNnYm04Z1JGTlVLVnh1SUNvZ1FHbHRjR3hsYldWdWRITWdlMXB2Ym1WOVhHNGdLaTljYm1WNGNHOXlkQ0JrWldaaGRXeDBJR05zWVhOeklFWnBlR1ZrVDJabWMyVjBXbTl1WlNCbGVIUmxibVJ6SUZwdmJtVWdlMXh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJR0VnYzJsdVoyeGxkRzl1SUdsdWMzUmhibU5sSUc5bUlGVlVRMXh1SUNBZ0tpQkFjbVYwZFhKdUlIdEdhWGhsWkU5bVpuTmxkRnB2Ym1WOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJSFYwWTBsdWMzUmhibU5sS0NrZ2UxeHVJQ0FnSUdsbUlDaHphVzVuYkdWMGIyNGdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSE5wYm1kc1pYUnZiaUE5SUc1bGR5QkdhWGhsWkU5bVpuTmxkRnB2Ym1Vb01DazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ6YVc1bmJHVjBiMjQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJR0Z1SUdsdWMzUmhibU5sSUhkcGRHZ2dZU0J6Y0dWamFXWnBaV1FnYjJabWMyVjBYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdlptWnpaWFFnTFNCVWFHVWdiMlptYzJWMElHbHVJRzFwYm5WMFpYTmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JtbDRaV1JQWm1aelpYUmFiMjVsZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdsdWMzUmhibU5sS0c5bVpuTmxkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnZabVp6WlhRZ1BUMDlJREFnUHlCR2FYaGxaRTltWm5ObGRGcHZibVV1ZFhSalNXNXpkR0Z1WTJVZ09pQnVaWGNnUm1sNFpXUlBabVp6WlhSYWIyNWxLRzltWm5ObGRDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElHRnVJR2x1YzNSaGJtTmxJRzltSUVacGVHVmtUMlptYzJWMFdtOXVaU0JtY205dElHRWdWVlJESUc5bVpuTmxkQ0J6ZEhKcGJtY3NJR3hwYTJVZ1hDSlZWRU1yTmx3aVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J6SUMwZ1ZHaGxJRzltWm5ObGRDQnpkSEpwYm1jZ2RHOGdjR0Z5YzJWY2JpQWdJQ29nUUdWNFlXMXdiR1VnUm1sNFpXUlBabVp6WlhSYWIyNWxMbkJoY25ObFUzQmxZMmxtYVdWeUtGd2lWVlJES3paY0lpbGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JtbDRaV1JQWm1aelpYUmFiMjVsTG5CaGNuTmxVM0JsWTJsbWFXVnlLRndpVlZSREt6QTJYQ0lwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVpwZUdWa1QyWm1jMlYwV205dVpTNXdZWEp6WlZOd1pXTnBabWxsY2loY0lsVlVReTAyT2pBd1hDSXBYRzRnSUNBcUlFQnlaWFIxY200Z2UwWnBlR1ZrVDJabWMyVjBXbTl1WlgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCd1lYSnpaVk53WldOcFptbGxjaWh6S1NCN1hHNGdJQ0FnYVdZZ0tITXBJSHRjYmlBZ0lDQWdJR052Ym5OMElISWdQU0J6TG0xaGRHTm9LQzllZFhSaktEODZLRnNyTFYxY1hHUjdNU3d5ZlNrb1B6bzZLRnhjWkhzeWZTa3BQeWsvSkM5cEtUdGNiaUFnSUNBZ0lHbG1JQ2h5S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dSbWw0WldSUFptWnpaWFJhYjI1bEtITnBaMjVsWkU5bVpuTmxkQ2h5V3pGZExDQnlXekpkS1NrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9iMlptYzJWMEtTQjdYRzRnSUNBZ2MzVndaWElvS1R0Y2JpQWdJQ0F2S2lvZ1FIQnlhWFpoZEdVZ0tpb3ZYRzRnSUNBZ2RHaHBjeTVtYVhobFpDQTlJRzltWm5ObGREdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUdkbGRDQjBlWEJsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJjSW1acGVHVmtYQ0k3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQm5aWFFnYm1GdFpTZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVtYVhobFpDQTlQVDBnTUNBL0lGd2lWVlJEWENJZ09pQmdWVlJESkh0bWIzSnRZWFJQWm1aelpYUW9kR2hwY3k1bWFYaGxaQ3dnWENKdVlYSnliM2RjSWlsOVlEdGNiaUFnZlZ4dVhHNGdJR2RsZENCcFlXNWhUbUZ0WlNncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1bWFYaGxaQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlGd2lSWFJqTDFWVVExd2lPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWUVWMFl5OUhUVlFrZTJadmNtMWhkRTltWm5ObGRDZ3RkR2hwY3k1bWFYaGxaQ3dnWENKdVlYSnliM2RjSWlsOVlEdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaW9nUUc5MlpYSnlhV1JsSUNvcUwxeHVJQ0J2Wm1aelpYUk9ZVzFsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtNWhiV1U3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQm1iM0p0WVhSUFptWnpaWFFvZEhNc0lHWnZjbTFoZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUJtYjNKdFlYUlBabVp6WlhRb2RHaHBjeTVtYVhobFpDd2dabTl5YldGMEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUdkbGRDQnBjMVZ1YVhabGNuTmhiQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lDOHFLaUJBYjNabGNuSnBaR1VnS2lvdlhHNGdJRzltWm5ObGRDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVtYVhobFpEdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUdWeGRXRnNjeWh2ZEdobGNscHZibVVwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiM1JvWlhKYWIyNWxMblI1Y0dVZ1BUMDlJRndpWm1sNFpXUmNJaUFtSmlCdmRHaGxjbHB2Ym1VdVptbDRaV1FnUFQwOUlIUm9hWE11Wm1sNFpXUTdYRzRnSUgxY2JseHVJQ0F2S2lvZ1FHOTJaWEp5YVdSbElDb3FMMXh1SUNCblpYUWdhWE5XWVd4cFpDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ2ZWeHVmVnh1SWl3Z0ltbHRjRzl5ZENCYWIyNWxJR1p5YjIwZ1hDSXVMaTk2YjI1bExtcHpYQ0k3WEc1Y2JpOHFLbHh1SUNvZ1FTQjZiMjVsSUhSb1lYUWdabUZwYkdWa0lIUnZJSEJoY25ObExpQlpiM1VnYzJodmRXeGtJRzVsZG1WeUlHNWxaV1FnZEc4Z2FXNXpkR0Z1ZEdsaGRHVWdkR2hwY3k1Y2JpQXFJRUJwYlhCc1pXMWxiblJ6SUh0YWIyNWxmVnh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJKYm5aaGJHbGtXbTl1WlNCbGVIUmxibVJ6SUZwdmJtVWdlMXh1SUNCamIyNXpkSEoxWTNSdmNpaDZiMjVsVG1GdFpTa2dlMXh1SUNBZ0lITjFjR1Z5S0NrN1hHNGdJQ0FnTHlvcUlDQkFjSEpwZG1GMFpTQXFMMXh1SUNBZ0lIUm9hWE11ZW05dVpVNWhiV1VnUFNCNmIyNWxUbUZ0WlR0Y2JpQWdmVnh1WEc0Z0lDOHFLaUJBYjNabGNuSnBaR1VnS2lvdlhHNGdJR2RsZENCMGVYQmxLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQmNJbWx1ZG1Gc2FXUmNJanRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkFiM1psY25KcFpHVWdLaW92WEc0Z0lHZGxkQ0J1WVcxbEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbnB2Ym1WT1lXMWxPMXh1SUNCOVhHNWNiaUFnTHlvcUlFQnZkbVZ5Y21sa1pTQXFLaTljYmlBZ1oyVjBJR2x6Vlc1cGRtVnljMkZzS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUc5bVpuTmxkRTVoYldVb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0F2S2lvZ1FHOTJaWEp5YVdSbElDb3FMMXh1SUNCbWIzSnRZWFJQWm1aelpYUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlGd2lYQ0k3WEc0Z0lIMWNibHh1SUNBdktpb2dRRzkyWlhKeWFXUmxJQ29xTDF4dUlDQnZabVp6WlhRb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUU1aFRqdGNiaUFnZlZ4dVhHNGdJQzhxS2lCQWIzWmxjbkpwWkdVZ0tpb3ZYRzRnSUdWeGRXRnNjeWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDFjYmx4dUlDQXZLaW9nUUc5MlpYSnlhV1JsSUNvcUwxeHVJQ0JuWlhRZ2FYTldZV3hwWkNncElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JuMWNiaUlzSUNJdktpcGNiaUFxSUVCd2NtbDJZWFJsWEc0Z0tpOWNibHh1YVcxd2IzSjBJRnB2Ym1VZ1puSnZiU0JjSWk0dUwzcHZibVV1YW5OY0lqdGNibWx0Y0c5eWRDQkpRVTVCV205dVpTQm1jbTl0SUZ3aUxpNHZlbTl1WlhNdlNVRk9RVnB2Ym1VdWFuTmNJanRjYm1sdGNHOXlkQ0JHYVhobFpFOW1abk5sZEZwdmJtVWdabkp2YlNCY0lpNHVMM3B2Ym1WekwyWnBlR1ZrVDJabWMyVjBXbTl1WlM1cWMxd2lPMXh1YVcxd2IzSjBJRWx1ZG1Gc2FXUmFiMjVsSUdaeWIyMGdYQ0l1TGk5NmIyNWxjeTlwYm5aaGJHbGtXbTl1WlM1cWMxd2lPMXh1WEc1cGJYQnZjblFnZXlCcGMxVnVaR1ZtYVc1bFpDd2dhWE5UZEhKcGJtY3NJR2x6VG5WdFltVnlJSDBnWm5KdmJTQmNJaTR2ZFhScGJDNXFjMXdpTzF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JtOXliV0ZzYVhwbFdtOXVaU2hwYm5CMWRDd2daR1ZtWVhWc2RGcHZibVVwSUh0Y2JpQWdiR1YwSUc5bVpuTmxkRHRjYmlBZ2FXWWdLR2x6Vlc1a1pXWnBibVZrS0dsdWNIVjBLU0I4ZkNCcGJuQjFkQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQmtaV1poZFd4MFdtOXVaVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHBibkIxZENCcGJuTjBZVzVqWlc5bUlGcHZibVVwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdhVzV3ZFhRN1hHNGdJSDBnWld4elpTQnBaaUFvYVhOVGRISnBibWNvYVc1d2RYUXBLU0I3WEc0Z0lDQWdZMjl1YzNRZ2JHOTNaWEpsWkNBOUlHbHVjSFYwTG5SdlRHOTNaWEpEWVhObEtDazdYRzRnSUNBZ2FXWWdLR3h2ZDJWeVpXUWdQVDA5SUZ3aWJHOWpZV3hjSWlCOGZDQnNiM2RsY21Wa0lEMDlQU0JjSW5ONWMzUmxiVndpS1NCeVpYUjFjbTRnWkdWbVlYVnNkRnB2Ym1VN1hHNGdJQ0FnWld4elpTQnBaaUFvYkc5M1pYSmxaQ0E5UFQwZ1hDSjFkR05jSWlCOGZDQnNiM2RsY21Wa0lEMDlQU0JjSW1kdGRGd2lLU0J5WlhSMWNtNGdSbWw0WldSUFptWnpaWFJhYjI1bExuVjBZMGx1YzNSaGJtTmxPMXh1SUNBZ0lHVnNjMlVnY21WMGRYSnVJRVpwZUdWa1QyWm1jMlYwV205dVpTNXdZWEp6WlZOd1pXTnBabWxsY2loc2IzZGxjbVZrS1NCOGZDQkpRVTVCV205dVpTNWpjbVZoZEdVb2FXNXdkWFFwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLR2x6VG5WdFltVnlLR2x1Y0hWMEtTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCR2FYaGxaRTltWm5ObGRGcHZibVV1YVc1emRHRnVZMlVvYVc1d2RYUXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCcGJuQjFkQ0E5UFQwZ1hDSnZZbXBsWTNSY0lpQW1KaUJwYm5CMWRDNXZabVp6WlhRZ0ppWWdkSGx3Wlc5bUlHbHVjSFYwTG05bVpuTmxkQ0E5UFQwZ1hDSnVkVzFpWlhKY0lpa2dlMXh1SUNBZ0lDOHZJRlJvYVhNZ2FYTWdaSFZ0WWl3Z1luVjBJSFJvWlNCcGJuTjBZVzVqWlc5bUlHTm9aV05ySUdGaWIzWmxJR1J2WlhOdUozUWdjMlZsYlNCMGJ5QnlaV0ZzYkhrZ2QyOXlhMXh1SUNBZ0lDOHZJSE52SUhkbEozSmxJR1IxWTJzZ1kyaGxZMnRwYm1jZ2FYUmNiaUFnSUNCeVpYUjFjbTRnYVc1d2RYUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJKYm5aaGJHbGtXbTl1WlNocGJuQjFkQ2s3WEc0Z0lIMWNibjFjYmlJc0lDSnBiWEJ2Y25RZ1UzbHpkR1Z0V205dVpTQm1jbTl0SUZ3aUxpOTZiMjVsY3k5emVYTjBaVzFhYjI1bExtcHpYQ0k3WEc1cGJYQnZjblFnU1VGT1FWcHZibVVnWm5KdmJTQmNJaTR2ZW05dVpYTXZTVUZPUVZwdmJtVXVhbk5jSWp0Y2JtbHRjRzl5ZENCTWIyTmhiR1VnWm5KdmJTQmNJaTR2YVcxd2JDOXNiMk5oYkdVdWFuTmNJanRjYmx4dWFXMXdiM0owSUhzZ2JtOXliV0ZzYVhwbFdtOXVaU0I5SUdaeWIyMGdYQ0l1TDJsdGNHd3ZlbTl1WlZWMGFXd3Vhbk5jSWp0Y2JseHViR1YwSUc1dmR5QTlJQ2dwSUQwK0lFUmhkR1V1Ym05M0tDa3NYRzRnSUdSbFptRjFiSFJhYjI1bElEMGdYQ0p6ZVhOMFpXMWNJaXhjYmlBZ1pHVm1ZWFZzZEV4dlkyRnNaU0E5SUc1MWJHd3NYRzRnSUdSbFptRjFiSFJPZFcxaVpYSnBibWRUZVhOMFpXMGdQU0J1ZFd4c0xGeHVJQ0JrWldaaGRXeDBUM1YwY0hWMFEyRnNaVzVrWVhJZ1BTQnVkV3hzTEZ4dUlDQjBhSEp2ZDA5dVNXNTJZV3hwWkR0Y2JseHVMeW9xWEc0Z0tpQlRaWFIwYVc1bmN5QmpiMjUwWVdsdWN5QnpkR0YwYVdNZ1oyVjBkR1Z5Y3lCaGJtUWdjMlYwZEdWeWN5QjBhR0YwSUdOdmJuUnliMndnVEhWNGIyNG5jeUJ2ZG1WeVlXeHNJR0psYUdGMmFXOXlMaUJNZFhodmJpQnBjeUJoSUhOcGJYQnNaU0JzYVdKeVlYSjVJSGRwZEdnZ1ptVjNJRzl3ZEdsdmJuTXNJR0oxZENCMGFHVWdiMjVsY3lCcGRDQmtiMlZ6SUdoaGRtVWdiR2wyWlNCb1pYSmxMbHh1SUNvdlhHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCamJHRnpjeUJUWlhSMGFXNW5jeUI3WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnZEdobElHTmhiR3hpWVdOcklHWnZjaUJ5WlhSMWNtNXBibWNnZEdobElHTjFjbkpsYm5RZ2RHbHRaWE4wWVcxd0xseHVJQ0FnS2lCQWRIbHdaU0I3Wm5WdVkzUnBiMjU5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nWjJWMElHNXZkeWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibTkzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGTmxkQ0IwYUdVZ1kyRnNiR0poWTJzZ1ptOXlJSEpsZEhWeWJtbHVaeUIwYUdVZ1kzVnljbVZ1ZENCMGFXMWxjM1JoYlhBdVhHNGdJQ0FxSUZSb1pTQm1kVzVqZEdsdmJpQnphRzkxYkdRZ2NtVjBkWEp1SUdFZ2JuVnRZbVZ5TENCM2FHbGphQ0IzYVd4c0lHSmxJR2x1ZEdWeWNISmxkR1ZrSUdGeklHRnVJRVZ3YjJOb0lHMXBiR3hwYzJWamIyNWtJR052ZFc1MFhHNGdJQ0FxSUVCMGVYQmxJSHRtZFc1amRHbHZibjFjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdVMlYwZEdsdVozTXVibTkzSUQwZ0tDa2dQVDRnUkdGMFpTNXViM2NvS1NBcklETXdNREFnTHk4Z2NISmxkR1Z1WkNCcGRDQnBjeUF6SUhObFkyOXVaSE1nYVc0Z2RHaGxJR1oxZEhWeVpWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCVFpYUjBhVzVuY3k1dWIzY2dQU0FvS1NBOVBpQXdJQzh2SUdGc2QyRjVjeUJ3Y21WMFpXNWtJR2wwSjNNZ1NtRnVJREVzSURFNU56QWdZWFFnYldsa2JtbG5hSFFnYVc0Z1ZWUkRJSFJwYldWY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCelpYUWdibTkzS0c0cElIdGNiaUFnSUNCdWIzY2dQU0J1TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGTmxkQ0IwYUdVZ1pHVm1ZWFZzZENCMGFXMWxJSHB2Ym1VZ2RHOGdZM0psWVhSbElFUmhkR1ZVYVcxbGN5QnBiaTRnUkc5bGN5QnViM1FnWVdabVpXTjBJR1Y0YVhOMGFXNW5JR2x1YzNSaGJtTmxjeTVjYmlBZ0lDb2dWWE5sSUhSb1pTQjJZV3gxWlNCY0luTjVjM1JsYlZ3aUlIUnZJSEpsYzJWMElIUm9hWE1nZG1Gc2RXVWdkRzhnZEdobElITjVjM1JsYlNkeklIUnBiV1VnZW05dVpTNWNiaUFnSUNvZ1FIUjVjR1VnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJ6WlhRZ1pHVm1ZWFZzZEZwdmJtVW9lbTl1WlNrZ2UxeHVJQ0FnSUdSbFptRjFiSFJhYjI1bElEMGdlbTl1WlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnZEdobElHUmxabUYxYkhRZ2RHbHRaU0I2YjI1bElHOWlhbVZqZENCamRYSnlaVzUwYkhrZ2RYTmxaQ0IwYnlCamNtVmhkR1VnUkdGMFpWUnBiV1Z6TGlCRWIyVnpJRzV2ZENCaFptWmxZM1FnWlhocGMzUnBibWNnYVc1emRHRnVZMlZ6TGx4dUlDQWdLaUJVYUdVZ1pHVm1ZWFZzZENCMllXeDFaU0JwY3lCMGFHVWdjM2x6ZEdWdEozTWdkR2x0WlNCNmIyNWxJQ2gwYUdVZ2IyNWxJSE5sZENCdmJpQjBhR1VnYldGamFHbHVaU0IwYUdGMElISjFibk1nZEdocGN5QmpiMlJsS1M1Y2JpQWdJQ29nUUhSNWNHVWdlMXB2Ym1WOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJR1JsWm1GMWJIUmFiMjVsS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1YjNKdFlXeHBlbVZhYjI1bEtHUmxabUYxYkhSYWIyNWxMQ0JUZVhOMFpXMWFiMjVsTG1sdWMzUmhibU5sS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnZEdobElHUmxabUYxYkhRZ2JHOWpZV3hsSUhSdklHTnlaV0YwWlNCRVlYUmxWR2x0WlhNZ2QybDBhQzRnUkc5bGN5QnViM1FnWVdabVpXTjBJR1Y0YVhOMGFXNW5JR2x1YzNSaGJtTmxjeTVjYmlBZ0lDb2dRSFI1Y0dVZ2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdaR1ZtWVhWc2RFeHZZMkZzWlNncElIdGNiaUFnSUNCeVpYUjFjbTRnWkdWbVlYVnNkRXh2WTJGc1pUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJUWlhRZ2RHaGxJR1JsWm1GMWJIUWdiRzlqWVd4bElIUnZJR055WldGMFpTQkVZWFJsVkdsdFpYTWdkMmwwYUM0Z1JHOWxjeUJ1YjNRZ1lXWm1aV04wSUdWNGFYTjBhVzVuSUdsdWMzUmhibU5sY3k1Y2JpQWdJQ29nUUhSNWNHVWdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnpaWFFnWkdWbVlYVnNkRXh2WTJGc1pTaHNiMk5oYkdVcElIdGNiaUFnSUNCa1pXWmhkV3gwVEc5allXeGxJRDBnYkc5allXeGxPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnWkdWbVlYVnNkQ0J1ZFcxaVpYSnBibWNnYzNsemRHVnRJSFJ2SUdOeVpXRjBaU0JFWVhSbFZHbHRaWE1nZDJsMGFDNGdSRzlsY3lCdWIzUWdZV1ptWldOMElHVjRhWE4wYVc1bklHbHVjM1JoYm1ObGN5NWNiaUFnSUNvZ1FIUjVjR1VnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1pHVm1ZWFZzZEU1MWJXSmxjbWx1WjFONWMzUmxiU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaR1ZtWVhWc2RFNTFiV0psY21sdVoxTjVjM1JsYlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlRaWFFnZEdobElHUmxabUYxYkhRZ2JuVnRZbVZ5YVc1bklITjVjM1JsYlNCMGJ5QmpjbVZoZEdVZ1JHRjBaVlJwYldWeklIZHBkR2d1SUVSdlpYTWdibTkwSUdGbVptVmpkQ0JsZUdsemRHbHVaeUJwYm5OMFlXNWpaWE11WEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2MyVjBJR1JsWm1GMWJIUk9kVzFpWlhKcGJtZFRlWE4wWlcwb2JuVnRZbVZ5YVc1blUzbHpkR1Z0S1NCN1hHNGdJQ0FnWkdWbVlYVnNkRTUxYldKbGNtbHVaMU41YzNSbGJTQTlJRzUxYldKbGNtbHVaMU41YzNSbGJUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJR1JsWm1GMWJIUWdiM1YwY0hWMElHTmhiR1Z1WkdGeUlIUnZJR055WldGMFpTQkVZWFJsVkdsdFpYTWdkMmwwYUM0Z1JHOWxjeUJ1YjNRZ1lXWm1aV04wSUdWNGFYTjBhVzVuSUdsdWMzUmhibU5sY3k1Y2JpQWdJQ29nUUhSNWNHVWdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnWkdWbVlYVnNkRTkxZEhCMWRFTmhiR1Z1WkdGeUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCa1pXWmhkV3gwVDNWMGNIVjBRMkZzWlc1a1lYSTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVTJWMElIUm9aU0JrWldaaGRXeDBJRzkxZEhCMWRDQmpZV3hsYm1SaGNpQjBieUJqY21WaGRHVWdSR0YwWlZScGJXVnpJSGRwZEdndUlFUnZaWE1nYm05MElHRm1abVZqZENCbGVHbHpkR2x1WnlCcGJuTjBZVzVqWlhNdVhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdjMlYwSUdSbFptRjFiSFJQZFhSd2RYUkRZV3hsYm1SaGNpaHZkWFJ3ZFhSRFlXeGxibVJoY2lrZ2UxeHVJQ0FnSUdSbFptRjFiSFJQZFhSd2RYUkRZV3hsYm1SaGNpQTlJRzkxZEhCMWRFTmhiR1Z1WkdGeU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCM2FHVjBhR1Z5SUV4MWVHOXVJSGRwYkd3Z2RHaHliM2NnZDJobGJpQnBkQ0JsYm1OdmRXNTBaWEp6SUdsdWRtRnNhV1FnUkdGMFpWUnBiV1Z6TENCRWRYSmhkR2x2Ym5Nc0lHOXlJRWx1ZEdWeWRtRnNjMXh1SUNBZ0tpQkFkSGx3WlNCN1ltOXZiR1ZoYm4xY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdkR2h5YjNkUGJrbHVkbUZzYVdRb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2NtOTNUMjVKYm5aaGJHbGtPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZObGRDQjNhR1YwYUdWeUlFeDFlRzl1SUhkcGJHd2dkR2h5YjNjZ2QyaGxiaUJwZENCbGJtTnZkVzUwWlhKeklHbHVkbUZzYVdRZ1JHRjBaVlJwYldWekxDQkVkWEpoZEdsdmJuTXNJRzl5SUVsdWRHVnlkbUZzYzF4dUlDQWdLaUJBZEhsd1pTQjdZbTl2YkdWaGJuMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnpaWFFnZEdoeWIzZFBia2x1ZG1Gc2FXUW9kQ2tnZTF4dUlDQWdJSFJvY205M1QyNUpiblpoYkdsa0lEMGdkRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYTmxkQ0JNZFhodmJpZHpJR2RzYjJKaGJDQmpZV05vWlhNdUlGTm9iM1ZzWkNCdmJteDVJR0psSUc1bFkyVnpjMkZ5ZVNCcGJpQjBaWE4wYVc1bklITmpaVzVoY21sdmN5NWNiaUFnSUNvZ1FISmxkSFZ5YmlCN2RtOXBaSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJ5WlhObGRFTmhZMmhsY3lncElIdGNiaUFnSUNCTWIyTmhiR1V1Y21WelpYUkRZV05vWlNncE8xeHVJQ0FnSUVsQlRrRmFiMjVsTG5KbGMyVjBRMkZqYUdVb0tUdGNiaUFnZlZ4dWZWeHVJaXdnSW1sdGNHOXlkQ0I3SUhCaFpGTjBZWEowTENCeWIzVnVaRlJ2TENCb1lYTlNaV3hoZEdsMlpTQjlJR1p5YjIwZ1hDSXVMM1YwYVd3dWFuTmNJanRjYm1sdGNHOXlkQ0FxSUdGeklFVnVaMnhwYzJnZ1puSnZiU0JjSWk0dlpXNW5iR2x6YUM1cWMxd2lPMXh1YVcxd2IzSjBJRk5sZEhScGJtZHpJR1p5YjIwZ1hDSXVMaTl6WlhSMGFXNW5jeTVxYzF3aU8xeHVhVzF3YjNKMElFUmhkR1ZVYVcxbElHWnliMjBnWENJdUxpOWtZWFJsZEdsdFpTNXFjMXdpTzF4dWFXMXdiM0owSUVsQlRrRmFiMjVsSUdaeWIyMGdYQ0l1TGk5NmIyNWxjeTlKUVU1QldtOXVaUzVxYzF3aU8xeHVYRzR2THlCMGIyUnZJQzBnY21WdFlYQWdZMkZqYUdsdVoxeHVYRzVzWlhRZ2FXNTBiRXhHUTJGamFHVWdQU0I3ZlR0Y2JtWjFibU4wYVc5dUlHZGxkRU5oWTJobFpFeEdLR3h2WTFOMGNtbHVaeXdnYjNCMGN5QTlJSHQ5S1NCN1hHNGdJR052Ym5OMElHdGxlU0E5SUVwVFQwNHVjM1J5YVc1bmFXWjVLRnRzYjJOVGRISnBibWNzSUc5d2RITmRLVHRjYmlBZ2JHVjBJR1IwWmlBOUlHbHVkR3hNUmtOaFkyaGxXMnRsZVYwN1hHNGdJR2xtSUNnaFpIUm1LU0I3WEc0Z0lDQWdaSFJtSUQwZ2JtVjNJRWx1ZEd3dVRHbHpkRVp2Y20xaGRDaHNiMk5UZEhKcGJtY3NJRzl3ZEhNcE8xeHVJQ0FnSUdsdWRHeE1Sa05oWTJobFcydGxlVjBnUFNCa2RHWTdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHUjBaanRjYm4xY2JseHViR1YwSUdsdWRHeEVWRU5oWTJobElEMGdlMzA3WEc1bWRXNWpkR2x2YmlCblpYUkRZV05vWldSRVZFWW9iRzlqVTNSeWFXNW5MQ0J2Y0hSeklEMGdlMzBwSUh0Y2JpQWdZMjl1YzNRZ2EyVjVJRDBnU2xOUFRpNXpkSEpwYm1kcFpua29XMnh2WTFOMGNtbHVaeXdnYjNCMGMxMHBPMXh1SUNCc1pYUWdaSFJtSUQwZ2FXNTBiRVJVUTJGamFHVmJhMlY1WFR0Y2JpQWdhV1lnS0NGa2RHWXBJSHRjYmlBZ0lDQmtkR1lnUFNCdVpYY2dTVzUwYkM1RVlYUmxWR2x0WlVadmNtMWhkQ2hzYjJOVGRISnBibWNzSUc5d2RITXBPMXh1SUNBZ0lHbHVkR3hFVkVOaFkyaGxXMnRsZVYwZ1BTQmtkR1k3WEc0Z0lIMWNiaUFnY21WMGRYSnVJR1IwWmp0Y2JuMWNibHh1YkdWMElHbHVkR3hPZFcxRFlXTm9aU0E5SUh0OU8xeHVablZ1WTNScGIyNGdaMlYwUTJGamFHVmtTVTVHS0d4dlkxTjBjbWx1Wnl3Z2IzQjBjeUE5SUh0OUtTQjdYRzRnSUdOdmJuTjBJR3RsZVNBOUlFcFRUMDR1YzNSeWFXNW5hV1o1S0Z0c2IyTlRkSEpwYm1jc0lHOXdkSE5kS1R0Y2JpQWdiR1YwSUdsdVppQTlJR2x1ZEd4T2RXMURZV05vWlZ0clpYbGRPMXh1SUNCcFppQW9JV2x1WmlrZ2UxeHVJQ0FnSUdsdVppQTlJRzVsZHlCSmJuUnNMazUxYldKbGNrWnZjbTFoZENoc2IyTlRkSEpwYm1jc0lHOXdkSE1wTzF4dUlDQWdJR2x1ZEd4T2RXMURZV05vWlZ0clpYbGRJRDBnYVc1bU8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCcGJtWTdYRzU5WEc1Y2JteGxkQ0JwYm5Sc1VtVnNRMkZqYUdVZ1BTQjdmVHRjYm1aMWJtTjBhVzl1SUdkbGRFTmhZMmhsWkZKVVJpaHNiMk5UZEhKcGJtY3NJRzl3ZEhNZ1BTQjdmU2tnZTF4dUlDQmpiMjV6ZENCN0lHSmhjMlVzSUM0dUxtTmhZMmhsUzJWNVQzQjBjeUI5SUQwZ2IzQjBjenNnTHk4Z1pYaGpiSFZrWlNCZ1ltRnpaV0FnWm5KdmJTQjBhR1VnYjNCMGFXOXVjMXh1SUNCamIyNXpkQ0JyWlhrZ1BTQktVMDlPTG5OMGNtbHVaMmxtZVNoYmJHOWpVM1J5YVc1bkxDQmpZV05vWlV0bGVVOXdkSE5kS1R0Y2JpQWdiR1YwSUdsdVppQTlJR2x1ZEd4U1pXeERZV05vWlZ0clpYbGRPMXh1SUNCcFppQW9JV2x1WmlrZ2UxeHVJQ0FnSUdsdVppQTlJRzVsZHlCSmJuUnNMbEpsYkdGMGFYWmxWR2x0WlVadmNtMWhkQ2hzYjJOVGRISnBibWNzSUc5d2RITXBPMXh1SUNBZ0lHbHVkR3hTWld4RFlXTm9aVnRyWlhsZElEMGdhVzVtTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJwYm1ZN1hHNTlYRzVjYm14bGRDQnplWE5NYjJOaGJHVkRZV05vWlNBOUlHNTFiR3c3WEc1bWRXNWpkR2x2YmlCemVYTjBaVzFNYjJOaGJHVW9LU0I3WEc0Z0lHbG1JQ2h6ZVhOTWIyTmhiR1ZEWVdOb1pTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCemVYTk1iMk5oYkdWRFlXTm9aVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J6ZVhOTWIyTmhiR1ZEWVdOb1pTQTlJRzVsZHlCSmJuUnNMa1JoZEdWVWFXMWxSbTl5YldGMEtDa3VjbVZ6YjJ4MlpXUlBjSFJwYjI1ektDa3ViRzlqWVd4bE8xeHVJQ0FnSUhKbGRIVnliaUJ6ZVhOTWIyTmhiR1ZEWVdOb1pUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ3WVhKelpVeHZZMkZzWlZOMGNtbHVaeWhzYjJOaGJHVlRkSElwSUh0Y2JpQWdMeThnU1NCeVpXRnNiSGtnZDJGdWRDQjBieUJoZG05cFpDQjNjbWwwYVc1bklHRWdRa05RSURRM0lIQmhjbk5sY2x4dUlDQXZMeUJ6WldVc0lHVXVaeTRnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDNkdmIyOXliUzlpWTNBdE5EZGNiaUFnTHk4Z1NXNXpkR1ZoWkN3Z2QyVW5iR3dnWkc4Z2RHaHBjenBjYmx4dUlDQXZMeUJoS1NCcFppQjBhR1VnYzNSeWFXNW5JR2hoY3lCdWJ5QXRkU0JsZUhSbGJuTnBiMjV6TENCcWRYTjBJR3hsWVhabElHbDBJR0ZzYjI1bFhHNGdJQzh2SUdJcElHbG1JR2wwSUdSdlpYTXNJSFZ6WlNCSmJuUnNJSFJ2SUhKbGMyOXNkbVVnWlhabGNubDBhR2x1WjF4dUlDQXZMeUJqS1NCcFppQkpiblJzSUdaaGFXeHpMQ0IwY25rZ1lXZGhhVzRnZDJsMGFHOTFkQ0IwYUdVZ0xYVmNibHh1SUNCamIyNXpkQ0IxU1c1a1pYZ2dQU0JzYjJOaGJHVlRkSEl1YVc1a1pYaFBaaWhjSWkxMUxWd2lLVHRjYmlBZ2FXWWdLSFZKYm1SbGVDQTlQVDBnTFRFcElIdGNiaUFnSUNCeVpYUjFjbTRnVzJ4dlkyRnNaVk4wY2wwN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2JHVjBJRzl3ZEdsdmJuTTdYRzRnSUNBZ1kyOXVjM1FnYzIxaGJHeGxjaUE5SUd4dlkyRnNaVk4wY2k1emRXSnpkSEpwYm1jb01Dd2dkVWx1WkdWNEtUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdiM0IwYVc5dWN5QTlJR2RsZEVOaFkyaGxaRVJVUmloc2IyTmhiR1ZUZEhJcExuSmxjMjlzZG1Wa1QzQjBhVzl1Y3lncE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lHOXdkR2x2Ym5NZ1BTQm5aWFJEWVdOb1pXUkVWRVlvYzIxaGJHeGxjaWt1Y21WemIyeDJaV1JQY0hScGIyNXpLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2V5QnVkVzFpWlhKcGJtZFRlWE4wWlcwc0lHTmhiR1Z1WkdGeUlIMGdQU0J2Y0hScGIyNXpPMXh1SUNBZ0lDOHZJSEpsZEhWeWJpQjBhR1VnYzIxaGJHeGxjaUJ2Ym1VZ2MyOGdkR2hoZENCM1pTQmpZVzRnWVhCd1pXNWtJSFJvWlNCallXeGxibVJoY2lCaGJtUWdiblZ0WW1WeWFXNW5JRzkyWlhKeWFXUmxjeUIwYnlCcGRGeHVJQ0FnSUhKbGRIVnliaUJiYzIxaGJHeGxjaXdnYm5WdFltVnlhVzVuVTNsemRHVnRMQ0JqWVd4bGJtUmhjbDA3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FXNTBiRU52Ym1acFoxTjBjbWx1Wnloc2IyTmhiR1ZUZEhJc0lHNTFiV0psY21sdVoxTjVjM1JsYlN3Z2IzVjBjSFYwUTJGc1pXNWtZWElwSUh0Y2JpQWdhV1lnS0c5MWRIQjFkRU5oYkdWdVpHRnlJSHg4SUc1MWJXSmxjbWx1WjFONWMzUmxiU2tnZTF4dUlDQWdJR3h2WTJGc1pWTjBjaUFyUFNCY0lpMTFYQ0k3WEc1Y2JpQWdJQ0JwWmlBb2IzVjBjSFYwUTJGc1pXNWtZWElwSUh0Y2JpQWdJQ0FnSUd4dlkyRnNaVk4wY2lBclBTQmdMV05oTFNSN2IzVjBjSFYwUTJGc1pXNWtZWEo5WUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JuVnRZbVZ5YVc1blUzbHpkR1Z0S1NCN1hHNGdJQ0FnSUNCc2IyTmhiR1ZUZEhJZ0t6MGdZQzF1ZFMwa2UyNTFiV0psY21sdVoxTjVjM1JsYlgxZ08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiRzlqWVd4bFUzUnlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQnNiMk5oYkdWVGRISTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYldGd1RXOXVkR2h6S0dZcElIdGNiaUFnWTI5dWMzUWdiWE1nUFNCYlhUdGNiaUFnWm05eUlDaHNaWFFnYVNBOUlERTdJR2tnUEQwZ01USTdJR2tyS3lrZ2UxeHVJQ0FnSUdOdmJuTjBJR1IwSUQwZ1JHRjBaVlJwYldVdWRYUmpLREl3TVRZc0lHa3NJREVwTzF4dUlDQWdJRzF6TG5CMWMyZ29aaWhrZENrcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdGN6dGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRndWMlZsYTJSaGVYTW9aaWtnZTF4dUlDQmpiMjV6ZENCdGN5QTlJRnRkTzF4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTVRzZ2FTQThQU0EzT3lCcEt5c3BJSHRjYmlBZ0lDQmpiMjV6ZENCa2RDQTlJRVJoZEdWVWFXMWxMblYwWXlneU1ERTJMQ0F4TVN3Z01UTWdLeUJwS1R0Y2JpQWdJQ0J0Y3k1d2RYTm9LR1lvWkhRcEtUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2JYTTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHeHBjM1JUZEhWbVppaHNiMk1zSUd4bGJtZDBhQ3dnWkdWbVlYVnNkRTlMTENCbGJtZHNhWE5vUm00c0lHbHVkR3hHYmlrZ2UxeHVJQ0JqYjI1emRDQnRiMlJsSUQwZ2JHOWpMbXhwYzNScGJtZE5iMlJsS0dSbFptRjFiSFJQU3lrN1hHNWNiaUFnYVdZZ0tHMXZaR1VnUFQwOUlGd2laWEp5YjNKY0lpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHMXZaR1VnUFQwOUlGd2laVzVjSWlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJsYm1kc2FYTm9SbTRvYkdWdVozUm9LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdhVzUwYkVadUtHeGxibWQwYUNrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdjM1Z3Y0c5eWRITkdZWE4wVG5WdFltVnljeWhzYjJNcElIdGNiaUFnYVdZZ0tHeHZZeTV1ZFcxaVpYSnBibWRUZVhOMFpXMGdKaVlnYkc5akxtNTFiV0psY21sdVoxTjVjM1JsYlNBaFBUMGdYQ0pzWVhSdVhDSXBJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJQ2hjYmlBZ0lDQWdJR3h2WXk1dWRXMWlaWEpwYm1kVGVYTjBaVzBnUFQwOUlGd2liR0YwYmx3aUlIeDhYRzRnSUNBZ0lDQWhiRzlqTG14dlkyRnNaU0I4ZkZ4dUlDQWdJQ0FnYkc5akxteHZZMkZzWlM1emRHRnlkSE5YYVhSb0tGd2laVzVjSWlrZ2ZIeGNiaUFnSUNBZ0lHNWxkeUJKYm5Sc0xrUmhkR1ZVYVcxbFJtOXliV0YwS0d4dll5NXBiblJzS1M1eVpYTnZiSFpsWkU5d2RHbHZibk1vS1M1dWRXMWlaWEpwYm1kVGVYTjBaVzBnUFQwOUlGd2liR0YwYmx3aVhHNGdJQ0FnS1R0Y2JpQWdmVnh1ZlZ4dVhHNHZLaXBjYmlBcUlFQndjbWwyWVhSbFhHNGdLaTljYmx4dVkyeGhjM01nVUc5c2VVNTFiV0psY2tadmNtMWhkSFJsY2lCN1hHNGdJR052Ym5OMGNuVmpkRzl5S0dsdWRHd3NJR1p2Y21ObFUybHRjR3hsTENCdmNIUnpLU0I3WEc0Z0lDQWdkR2hwY3k1d1lXUlVieUE5SUc5d2RITXVjR0ZrVkc4Z2ZId2dNRHRjYmlBZ0lDQjBhR2x6TG1ac2IyOXlJRDBnYjNCMGN5NW1iRzl2Y2lCOGZDQm1ZV3h6WlR0Y2JseHVJQ0FnSUdOdmJuTjBJSHNnY0dGa1ZHOHNJR1pzYjI5eUxDQXVMaTV2ZEdobGNrOXdkSE1nZlNBOUlHOXdkSE03WEc1Y2JpQWdJQ0JwWmlBb0lXWnZjbU5sVTJsdGNHeGxJSHg4SUU5aWFtVmpkQzVyWlhsektHOTBhR1Z5VDNCMGN5a3ViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhVzUwYkU5d2RITWdQU0I3SUhWelpVZHliM1Z3YVc1bk9pQm1ZV3h6WlN3Z0xpNHViM0IwY3lCOU8xeHVJQ0FnSUNBZ2FXWWdLRzl3ZEhNdWNHRmtWRzhnUGlBd0tTQnBiblJzVDNCMGN5NXRhVzVwYlhWdFNXNTBaV2RsY2tScFoybDBjeUE5SUc5d2RITXVjR0ZrVkc4N1hHNGdJQ0FnSUNCMGFHbHpMbWx1WmlBOUlHZGxkRU5oWTJobFpFbE9SaWhwYm5Sc0xDQnBiblJzVDNCMGN5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdabTl5YldGMEtHa3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXBibVlwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR1pwZUdWa0lEMGdkR2hwY3k1bWJHOXZjaUEvSUUxaGRHZ3VabXh2YjNJb2FTa2dPaUJwTzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXNW1MbVp2Y20xaGRDaG1hWGhsWkNrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUhSdklHMWhkR05vSUhSb1pTQmljbTkzYzJWeUozTWdiblZ0WW1WeVptOXliV0YwZEdWeUlHUmxabUYxYkhSelhHNGdJQ0FnSUNCamIyNXpkQ0JtYVhobFpDQTlJSFJvYVhNdVpteHZiM0lnUHlCTllYUm9MbVpzYjI5eUtHa3BJRG9nY205MWJtUlVieWhwTENBektUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCd1lXUlRkR0Z5ZENobWFYaGxaQ3dnZEdocGN5NXdZV1JVYnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FIQnlhWFpoZEdWY2JpQXFMMXh1WEc1amJHRnpjeUJRYjJ4NVJHRjBaVVp2Y20xaGRIUmxjaUI3WEc0Z0lHTnZibk4wY25WamRHOXlLR1IwTENCcGJuUnNMQ0J2Y0hSektTQjdYRzRnSUNBZ2RHaHBjeTV2Y0hSeklEMGdiM0IwY3p0Y2JseHVJQ0FnSUd4bGRDQjZPMXh1SUNBZ0lHbG1JQ2hrZEM1NmIyNWxMbWx6Vlc1cGRtVnljMkZzS1NCN1hHNGdJQ0FnSUNBdkx5QlZWRU10T0NCdmNpQkZkR012VlZSRExUZ2dZWEpsSUc1dmRDQndZWEowSUc5bUlIUjZaR0YwWVN3Z2IyNXNlU0JGZEdNdlIwMVVLemdnWVc1a0lIUm9aU0JzYVd0bExseHVJQ0FnSUNBZ0x5OGdWR2hoZENCcGN5QjNhSGtnWm1sNFpXUXRiMlptYzJWMElGUmFJR2x6SUhObGRDQjBieUIwYUdGMElIVnViR1Z6Y3lCcGRDQnBjenBjYmlBZ0lDQWdJQzh2SURFdUlGSmxjSEpsYzJWdWRHbHVaeUJ2Wm1aelpYUWdNQ0IzYUdWdUlGVlVReUJwY3lCMWMyVmtJSFJ2SUcxaGFXNTBZV2x1SUhCeVpYWnBiM1Z6SUdKbGFHRjJhVzl5SUdGdVpDQmtiMlZ6SUc1dmRDQmlaV052YldVZ1IwMVVMbHh1SUNBZ0lDQWdMeThnTWk0Z1ZXNXpkWEJ3YjNKMFpXUWdZbmtnZEdobElHSnliM2R6WlhJNlhHNGdJQ0FnSUNBdkx5QWdJQ0F0SUhOdmJXVWdaRzhnYm05MElITjFjSEJ2Y25RZ1JYUmpMMXh1SUNBZ0lDQWdMeThnSUNBZ0xTQThJRVYwWXk5SFRWUXRNVFFzSUQ0Z1JYUmpMMGROVkNzeE1pd2dZVzVrSURNd0xXMXBiblYwWlNCdmNpQTBOUzF0YVc1MWRHVWdiMlptYzJWMGN5QmhjbVVnYm05MElIQmhjblFnYjJZZ2RIcGtZWFJoWEc0Z0lDQWdJQ0JqYjI1emRDQm5iWFJQWm1aelpYUWdQU0F0TVNBcUlDaGtkQzV2Wm1aelpYUWdMeUEyTUNrN1hHNGdJQ0FnSUNCamIyNXpkQ0J2Wm1aelpYUmFJRDBnWjIxMFQyWm1jMlYwSUQ0OUlEQWdQeUJnUlhSakwwZE5WQ3NrZTJkdGRFOW1abk5sZEgxZ0lEb2dZRVYwWXk5SFRWUWtlMmR0ZEU5bVpuTmxkSDFnTzF4dUlDQWdJQ0FnYVdZZ0tHUjBMbTltWm5ObGRDQWhQVDBnTUNBbUppQkpRVTVCV205dVpTNWpjbVZoZEdVb2IyWm1jMlYwV2lrdWRtRnNhV1FwSUh0Y2JpQWdJQ0FnSUNBZ2VpQTlJRzltWm5ObGRGbzdYRzRnSUNBZ0lDQWdJSFJvYVhNdVpIUWdQU0JrZER0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUM4dklFNXZkQ0JoYkd3Z1ptbDRaV1F0YjJabWMyVjBJSHB2Ym1WeklHeHBhMlVnUlhSakx5czBPak13SUdGeVpTQndjbVZ6Wlc1MElHbHVJSFI2WkdGMFlTNWNiaUFnSUNBZ0lDQWdMeThnVTI4Z2QyVWdhR0YyWlNCMGJ5QnRZV3RsSUdSdkxpQlVkMjhnWTJGelpYTTZYRzRnSUNBZ0lDQWdJQzh2SURFdUlGUm9aU0JtYjNKdFlYUWdiM0IwYVc5dWN5QjBaV3hzSUhWeklIUnZJSE5vYjNjZ2RHaGxJSHB2Ym1VdUlGZGxJR05oYmlkMElHUnZJSFJvWVhRc0lITnZJSFJvWlNCaVpYTjBYRzRnSUNBZ0lDQWdJQzh2SUhkbElHTmhiaUJrYnlCcGN5Qm1iM0p0WVhRZ2RHaGxJR1JoZEdVZ2FXNGdWVlJETGx4dUlDQWdJQ0FnSUNBdkx5QXlMaUJVYUdVZ1ptOXliV0YwSUc5d2RHbHZibk1nWkc5dUozUWdkR1ZzYkNCMWN5QjBieUJ6YUc5M0lIUm9aU0I2YjI1bExpQlVhR1Z1SUhkbElHTmhiaUJoWkdwMWMzUWdkR2hsYlZ4dUlDQWdJQ0FnSUNBdkx5QjBhR1VnZEdsdFpTQmhibVFnZEdWc2JDQjBhR1VnWm05eWJXRjBkR1Z5SUhSdklITm9iM2NnYVhRZ2RHOGdkWE1nYVc0Z1ZWUkRMQ0J6YnlCMGFHRjBJSFJvWlNCMGFXMWxJR2x6SUhKcFoyaDBYRzRnSUNBZ0lDQWdJQzh2SUdGdVpDQjBhR1VnWW1Ga0lIcHZibVVnWkc5bGMyNG5kQ0J6YUc5M0lIVndMbHh1SUNBZ0lDQWdJQ0I2SUQwZ1hDSlZWRU5jSWp0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzl3ZEhNdWRHbHRaVnB2Ym1WT1lXMWxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTVrZENBOUlHUjBPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVaSFFnUFNCa2RDNXZabVp6WlhRZ1BUMDlJREFnUHlCa2RDQTZJRVJoZEdWVWFXMWxMbVp5YjIxTmFXeHNhWE1vWkhRdWRITWdLeUJrZEM1dlptWnpaWFFnS2lBMk1DQXFJREV3TURBcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaGtkQzU2YjI1bExuUjVjR1VnUFQwOUlGd2ljM2x6ZEdWdFhDSXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVpIUWdQU0JrZER0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdkR2hwY3k1a2RDQTlJR1IwTzF4dUlDQWdJQ0FnZWlBOUlHUjBMbnB2Ym1VdWJtRnRaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCcGJuUnNUM0IwY3lBOUlIc2dMaTR1ZEdocGN5NXZjSFJ6SUgwN1hHNGdJQ0FnYVdZZ0tIb3BJSHRjYmlBZ0lDQWdJR2x1ZEd4UGNIUnpMblJwYldWYWIyNWxJRDBnZWp0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1a2RHWWdQU0JuWlhSRFlXTm9aV1JFVkVZb2FXNTBiQ3dnYVc1MGJFOXdkSE1wTzF4dUlDQjlYRzVjYmlBZ1ptOXliV0YwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtUjBaaTVtYjNKdFlYUW9kR2hwY3k1a2RDNTBiMHBUUkdGMFpTZ3BLVHRjYmlBZ2ZWeHVYRzRnSUdadmNtMWhkRlJ2VUdGeWRITW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WkhSbUxtWnZjbTFoZEZSdlVHRnlkSE1vZEdocGN5NWtkQzUwYjBwVFJHRjBaU2dwS1R0Y2JpQWdmVnh1WEc0Z0lISmxjMjlzZG1Wa1QzQjBhVzl1Y3lncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWtkR1l1Y21WemIyeDJaV1JQY0hScGIyNXpLQ2s3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCQWNISnBkbUYwWlZ4dUlDb3ZYRzVqYkdGemN5QlFiMng1VW1Wc1JtOXliV0YwZEdWeUlIdGNiaUFnWTI5dWMzUnlkV04wYjNJb2FXNTBiQ3dnYVhORmJtZHNhWE5vTENCdmNIUnpLU0I3WEc0Z0lDQWdkR2hwY3k1dmNIUnpJRDBnZXlCemRIbHNaVG9nWENKc2IyNW5YQ0lzSUM0dUxtOXdkSE1nZlR0Y2JpQWdJQ0JwWmlBb0lXbHpSVzVuYkdsemFDQW1KaUJvWVhOU1pXeGhkR2wyWlNncEtTQjdYRzRnSUNBZ0lDQjBhR2x6TG5KMFppQTlJR2RsZEVOaFkyaGxaRkpVUmlocGJuUnNMQ0J2Y0hSektUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQm1iM0p0WVhRb1kyOTFiblFzSUhWdWFYUXBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXlkR1lwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuSjBaaTVtYjNKdFlYUW9ZMjkxYm5Rc0lIVnVhWFFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1JXNW5iR2x6YUM1bWIzSnRZWFJTWld4aGRHbDJaVlJwYldVb2RXNXBkQ3dnWTI5MWJuUXNJSFJvYVhNdWIzQjBjeTV1ZFcxbGNtbGpMQ0IwYUdsekxtOXdkSE11YzNSNWJHVWdJVDA5SUZ3aWJHOXVaMXdpS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbWIzSnRZWFJVYjFCaGNuUnpLR052ZFc1MExDQjFibWwwS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Y25SbUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTV5ZEdZdVptOXliV0YwVkc5UVlYSjBjeWhqYjNWdWRDd2dkVzVwZENrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmJYVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElHTnNZWE56SUV4dlkyRnNaU0I3WEc0Z0lITjBZWFJwWXlCbWNtOXRUM0IwY3lodmNIUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFeHZZMkZzWlM1amNtVmhkR1VvYjNCMGN5NXNiMk5oYkdVc0lHOXdkSE11Ym5WdFltVnlhVzVuVTNsemRHVnRMQ0J2Y0hSekxtOTFkSEIxZEVOaGJHVnVaR0Z5TENCdmNIUnpMbVJsWm1GMWJIUlViMFZPS1R0Y2JpQWdmVnh1WEc0Z0lITjBZWFJwWXlCamNtVmhkR1VvYkc5allXeGxMQ0J1ZFcxaVpYSnBibWRUZVhOMFpXMHNJRzkxZEhCMWRFTmhiR1Z1WkdGeUxDQmtaV1poZFd4MFZHOUZUaUE5SUdaaGJITmxLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MzQmxZMmxtYVdWa1RHOWpZV3hsSUQwZ2JHOWpZV3hsSUh4OElGTmxkSFJwYm1kekxtUmxabUYxYkhSTWIyTmhiR1U3WEc0Z0lDQWdMeThnZEdobElITjVjM1JsYlNCc2IyTmhiR1VnYVhNZ2RYTmxablZzSUdadmNpQm9kVzFoYmlCeVpXRmtZV0pzWlNCemRISnBibWR6SUdKMWRDQmhibTV2ZVdsdVp5Qm1iM0lnY0dGeWMybHVaeTltYjNKdFlYUjBhVzVuSUd0dWIzZHVJR1p2Y20xaGRITmNiaUFnSUNCamIyNXpkQ0JzYjJOaGJHVlNJRDBnYzNCbFkybG1hV1ZrVEc5allXeGxJSHg4SUNoa1pXWmhkV3gwVkc5RlRpQS9JRndpWlc0dFZWTmNJaUE2SUhONWMzUmxiVXh2WTJGc1pTZ3BLVHRjYmlBZ0lDQmpiMjV6ZENCdWRXMWlaWEpwYm1kVGVYTjBaVzFTSUQwZ2JuVnRZbVZ5YVc1blUzbHpkR1Z0SUh4OElGTmxkSFJwYm1kekxtUmxabUYxYkhST2RXMWlaWEpwYm1kVGVYTjBaVzA3WEc0Z0lDQWdZMjl1YzNRZ2IzVjBjSFYwUTJGc1pXNWtZWEpTSUQwZ2IzVjBjSFYwUTJGc1pXNWtZWElnZkh3Z1UyVjBkR2x1WjNNdVpHVm1ZWFZzZEU5MWRIQjFkRU5oYkdWdVpHRnlPMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dURzlqWVd4bEtHeHZZMkZzWlZJc0lHNTFiV0psY21sdVoxTjVjM1JsYlZJc0lHOTFkSEIxZEVOaGJHVnVaR0Z5VWl3Z2MzQmxZMmxtYVdWa1RHOWpZV3hsS1R0Y2JpQWdmVnh1WEc0Z0lITjBZWFJwWXlCeVpYTmxkRU5oWTJobEtDa2dlMXh1SUNBZ0lITjVjMHh2WTJGc1pVTmhZMmhsSUQwZ2JuVnNiRHRjYmlBZ0lDQnBiblJzUkZSRFlXTm9aU0E5SUh0OU8xeHVJQ0FnSUdsdWRHeE9kVzFEWVdOb1pTQTlJSHQ5TzF4dUlDQWdJR2x1ZEd4U1pXeERZV05vWlNBOUlIdDlPMXh1SUNCOVhHNWNiaUFnYzNSaGRHbGpJR1p5YjIxUFltcGxZM1FvZXlCc2IyTmhiR1VzSUc1MWJXSmxjbWx1WjFONWMzUmxiU3dnYjNWMGNIVjBRMkZzWlc1a1lYSWdmU0E5SUh0OUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUV4dlkyRnNaUzVqY21WaGRHVW9iRzlqWVd4bExDQnVkVzFpWlhKcGJtZFRlWE4wWlcwc0lHOTFkSEIxZEVOaGJHVnVaR0Z5S1R0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wY25WamRHOXlLR3h2WTJGc1pTd2diblZ0WW1WeWFXNW5MQ0J2ZFhSd2RYUkRZV3hsYm1SaGNpd2djM0JsWTJsbWFXVmtURzlqWVd4bEtTQjdYRzRnSUNBZ1kyOXVjM1FnVzNCaGNuTmxaRXh2WTJGc1pTd2djR0Z5YzJWa1RuVnRZbVZ5YVc1blUzbHpkR1Z0TENCd1lYSnpaV1JQZFhSd2RYUkRZV3hsYm1SaGNsMGdQU0J3WVhKelpVeHZZMkZzWlZOMGNtbHVaeWhzYjJOaGJHVXBPMXh1WEc0Z0lDQWdkR2hwY3k1c2IyTmhiR1VnUFNCd1lYSnpaV1JNYjJOaGJHVTdYRzRnSUNBZ2RHaHBjeTV1ZFcxaVpYSnBibWRUZVhOMFpXMGdQU0J1ZFcxaVpYSnBibWNnZkh3Z2NHRnljMlZrVG5WdFltVnlhVzVuVTNsemRHVnRJSHg4SUc1MWJHdzdYRzRnSUNBZ2RHaHBjeTV2ZFhSd2RYUkRZV3hsYm1SaGNpQTlJRzkxZEhCMWRFTmhiR1Z1WkdGeUlIeDhJSEJoY25ObFpFOTFkSEIxZEVOaGJHVnVaR0Z5SUh4OElHNTFiR3c3WEc0Z0lDQWdkR2hwY3k1cGJuUnNJRDBnYVc1MGJFTnZibVpwWjFOMGNtbHVaeWgwYUdsekxteHZZMkZzWlN3Z2RHaHBjeTV1ZFcxaVpYSnBibWRUZVhOMFpXMHNJSFJvYVhNdWIzVjBjSFYwUTJGc1pXNWtZWElwTzF4dVhHNGdJQ0FnZEdocGN5NTNaV1ZyWkdGNWMwTmhZMmhsSUQwZ2V5Qm1iM0p0WVhRNklIdDlMQ0J6ZEdGdVpHRnNiMjVsT2lCN2ZTQjlPMXh1SUNBZ0lIUm9hWE11Ylc5dWRHaHpRMkZqYUdVZ1BTQjdJR1p2Y20xaGREb2dlMzBzSUhOMFlXNWtZV3h2Ym1VNklIdDlJSDA3WEc0Z0lDQWdkR2hwY3k1dFpYSnBaR2xsYlVOaFkyaGxJRDBnYm5Wc2JEdGNiaUFnSUNCMGFHbHpMbVZ5WVVOaFkyaGxJRDBnZTMwN1hHNWNiaUFnSUNCMGFHbHpMbk53WldOcFptbGxaRXh2WTJGc1pTQTlJSE53WldOcFptbGxaRXh2WTJGc1pUdGNiaUFnSUNCMGFHbHpMbVpoYzNST2RXMWlaWEp6UTJGamFHVmtJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR2RsZENCbVlYTjBUblZ0WW1WeWN5Z3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NW1ZWE4wVG5WdFltVnljME5oWTJobFpDQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG1aaGMzUk9kVzFpWlhKelEyRmphR1ZrSUQwZ2MzVndjRzl5ZEhOR1lYTjBUblZ0WW1WeWN5aDBhR2x6S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bVlYTjBUblZ0WW1WeWMwTmhZMmhsWkR0Y2JpQWdmVnh1WEc0Z0lHeHBjM1JwYm1kTmIyUmxLQ2tnZTF4dUlDQWdJR052Ym5OMElHbHpRV04wZFdGc2JIbEZiaUE5SUhSb2FYTXVhWE5GYm1kc2FYTm9LQ2s3WEc0Z0lDQWdZMjl1YzNRZ2FHRnpUbTlYWldseVpHNWxjM01nUFZ4dUlDQWdJQ0FnS0hSb2FYTXViblZ0WW1WeWFXNW5VM2x6ZEdWdElEMDlQU0J1ZFd4c0lIeDhJSFJvYVhNdWJuVnRZbVZ5YVc1blUzbHpkR1Z0SUQwOVBTQmNJbXhoZEc1Y0lpa2dKaVpjYmlBZ0lDQWdJQ2gwYUdsekxtOTFkSEIxZEVOaGJHVnVaR0Z5SUQwOVBTQnVkV3hzSUh4OElIUm9hWE11YjNWMGNIVjBRMkZzWlc1a1lYSWdQVDA5SUZ3aVozSmxaMjl5ZVZ3aUtUdGNiaUFnSUNCeVpYUjFjbTRnYVhOQlkzUjFZV3hzZVVWdUlDWW1JR2hoYzA1dlYyVnBjbVJ1WlhOeklEOGdYQ0psYmx3aUlEb2dYQ0pwYm5Sc1hDSTdYRzRnSUgxY2JseHVJQ0JqYkc5dVpTaGhiSFJ6S1NCN1hHNGdJQ0FnYVdZZ0tDRmhiSFJ6SUh4OElFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVTVoYldWektHRnNkSE1wTG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCTWIyTmhiR1V1WTNKbFlYUmxLRnh1SUNBZ0lDQWdJQ0JoYkhSekxteHZZMkZzWlNCOGZDQjBhR2x6TG5Od1pXTnBabWxsWkV4dlkyRnNaU3hjYmlBZ0lDQWdJQ0FnWVd4MGN5NXVkVzFpWlhKcGJtZFRlWE4wWlcwZ2ZId2dkR2hwY3k1dWRXMWlaWEpwYm1kVGVYTjBaVzBzWEc0Z0lDQWdJQ0FnSUdGc2RITXViM1YwY0hWMFEyRnNaVzVrWVhJZ2ZId2dkR2hwY3k1dmRYUndkWFJEWVd4bGJtUmhjaXhjYmlBZ0lDQWdJQ0FnWVd4MGN5NWtaV1poZFd4MFZHOUZUaUI4ZkNCbVlXeHpaVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WldSbFptRjFiSFJVYjBWT0tHRnNkSE1nUFNCN2ZTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtIc2dMaTR1WVd4MGN5d2daR1ZtWVhWc2RGUnZSVTQ2SUhSeWRXVWdmU2s3WEc0Z0lIMWNibHh1SUNCeVpXUmxabUYxYkhSVWIxTjVjM1JsYlNoaGJIUnpJRDBnZTMwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNoN0lDNHVMbUZzZEhNc0lHUmxabUYxYkhSVWIwVk9PaUJtWVd4elpTQjlLVHRjYmlBZ2ZWeHVYRzRnSUcxdmJuUm9jeWhzWlc1bmRHZ3NJR1p2Y20xaGRDQTlJR1poYkhObExDQmtaV1poZFd4MFQwc2dQU0IwY25WbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUd4cGMzUlRkSFZtWmloMGFHbHpMQ0JzWlc1bmRHZ3NJR1JsWm1GMWJIUlBTeXdnUlc1bmJHbHphQzV0YjI1MGFITXNJQ2dwSUQwK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUdsdWRHd2dQU0JtYjNKdFlYUWdQeUI3SUcxdmJuUm9PaUJzWlc1bmRHZ3NJR1JoZVRvZ1hDSnVkVzFsY21salhDSWdmU0E2SUhzZ2JXOXVkR2c2SUd4bGJtZDBhQ0I5TEZ4dUlDQWdJQ0FnSUNCbWIzSnRZWFJUZEhJZ1BTQm1iM0p0WVhRZ1B5QmNJbVp2Y20xaGRGd2lJRG9nWENKemRHRnVaR0ZzYjI1bFhDSTdYRzRnSUNBZ0lDQnBaaUFvSVhSb2FYTXViVzl1ZEdoelEyRmphR1ZiWm05eWJXRjBVM1J5WFZ0c1pXNW5kR2hkS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ylc5dWRHaHpRMkZqYUdWYlptOXliV0YwVTNSeVhWdHNaVzVuZEdoZElEMGdiV0Z3VFc5dWRHaHpLQ2hrZENrZ1BUNGdkR2hwY3k1bGVIUnlZV04wS0dSMExDQnBiblJzTENCY0ltMXZiblJvWENJcEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTF2Ym5Sb2MwTmhZMmhsVzJadmNtMWhkRk4wY2wxYmJHVnVaM1JvWFR0Y2JpQWdJQ0I5S1R0Y2JpQWdmVnh1WEc0Z0lIZGxaV3RrWVhsektHeGxibWQwYUN3Z1ptOXliV0YwSUQwZ1ptRnNjMlVzSUdSbFptRjFiSFJQU3lBOUlIUnlkV1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiR2x6ZEZOMGRXWm1LSFJvYVhNc0lHeGxibWQwYUN3Z1pHVm1ZWFZzZEU5TExDQkZibWRzYVhOb0xuZGxaV3RrWVhsekxDQW9LU0E5UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0JwYm5Sc0lEMGdabTl5YldGMFhHNGdJQ0FnSUNBZ0lDQWdQeUI3SUhkbFpXdGtZWGs2SUd4bGJtZDBhQ3dnZVdWaGNqb2dYQ0p1ZFcxbGNtbGpYQ0lzSUcxdmJuUm9PaUJjSW14dmJtZGNJaXdnWkdGNU9pQmNJbTUxYldWeWFXTmNJaUI5WEc0Z0lDQWdJQ0FnSUNBZ09pQjdJSGRsWld0a1lYazZJR3hsYm1kMGFDQjlMRnh1SUNBZ0lDQWdJQ0JtYjNKdFlYUlRkSElnUFNCbWIzSnRZWFFnUHlCY0ltWnZjbTFoZEZ3aUlEb2dYQ0p6ZEdGdVpHRnNiMjVsWENJN1hHNGdJQ0FnSUNCcFppQW9JWFJvYVhNdWQyVmxhMlJoZVhORFlXTm9aVnRtYjNKdFlYUlRkSEpkVzJ4bGJtZDBhRjBwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzWldWclpHRjVjME5oWTJobFcyWnZjbTFoZEZOMGNsMWJiR1Z1WjNSb1hTQTlJRzFoY0ZkbFpXdGtZWGx6S0Noa2RDa2dQVDVjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbVY0ZEhKaFkzUW9aSFFzSUdsdWRHd3NJRndpZDJWbGEyUmhlVndpS1Z4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkMlZsYTJSaGVYTkRZV05vWlZ0bWIzSnRZWFJUZEhKZFcyeGxibWQwYUYwN1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQnRaWEpwWkdsbGJYTW9aR1ZtWVhWc2RFOUxJRDBnZEhKMVpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCc2FYTjBVM1IxWm1Zb1hHNGdJQ0FnSUNCMGFHbHpMRnh1SUNBZ0lDQWdkVzVrWldacGJtVmtMRnh1SUNBZ0lDQWdaR1ZtWVhWc2RFOUxMRnh1SUNBZ0lDQWdLQ2tnUFQ0Z1JXNW5iR2x6YUM1dFpYSnBaR2xsYlhNc1hHNGdJQ0FnSUNBb0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUM4dklFbHVJSFJvWlc5eWVTQjBhR1Z5WlNCamIzVnNaQ0JpWlNCaGNtbGlhWFJ5WVhKNUlHUmhlU0J3WlhKcGIyUnpMaUJYWlNkeVpTQm5iMjV1WVNCaGMzTjFiV1VnZEdobGNtVWdZWEpsSUdWNFlXTjBiSGtnZEhkdlhHNGdJQ0FnSUNBZ0lDOHZJR1p2Y2lCQlRTQmhibVFnVUUwdUlGUm9hWE1nYVhNZ2NISnZZbUZpYkhrZ2QzSnZibWNzSUdKMWRDQnBkQ2R6SUcxaGEyVnpJSEJoY25OcGJtY2dkMkY1SUdWaGMybGxjaTVjYmlBZ0lDQWdJQ0FnYVdZZ0tDRjBhR2x6TG0xbGNtbGthV1Z0UTJGamFHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JwYm5Sc0lEMGdleUJvYjNWeU9pQmNJbTUxYldWeWFXTmNJaXdnYUc5MWNrTjVZMnhsT2lCY0ltZ3hNbHdpSUgwN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1dFpYSnBaR2xsYlVOaFkyaGxJRDBnVzBSaGRHVlVhVzFsTG5WMFl5Z3lNREUyTENBeE1Td2dNVE1zSURrcExDQkVZWFJsVkdsdFpTNTFkR01vTWpBeE5pd2dNVEVzSURFekxDQXhPU2xkTG0xaGNDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNoa2RDa2dQVDRnZEdocGN5NWxlSFJ5WVdOMEtHUjBMQ0JwYm5Sc0xDQmNJbVJoZVhCbGNtbHZaRndpS1Z4dUlDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXRaWEpwWkdsbGJVTmhZMmhsTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ2s3WEc0Z0lIMWNibHh1SUNCbGNtRnpLR3hsYm1kMGFDd2daR1ZtWVhWc2RFOUxJRDBnZEhKMVpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCc2FYTjBVM1IxWm1Zb2RHaHBjeXdnYkdWdVozUm9MQ0JrWldaaGRXeDBUMHNzSUVWdVoyeHBjMmd1WlhKaGN5d2dLQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVc1MGJDQTlJSHNnWlhKaE9pQnNaVzVuZEdnZ2ZUdGNibHh1SUNBZ0lDQWdMeThnVkdocGN5QnBjeUJ3Y205aWJHVnRZWFJwWXk0Z1JHbG1abVZ5Wlc1MElHTmhiR1Z1WkdGeWN5QmhjbVVnWjI5cGJtY2dkRzhnWkdWbWFXNWxJR1Z5WVhNZ2RHOTBZV3hzZVNCa2FXWm1aWEpsYm5Sc2VTNGdWMmhoZENCSklHNWxaV1FnYVhNZ2RHaGxJRzFwYm1sdGRXMGdjMlYwSUc5bUlHUmhkR1Z6WEc0Z0lDQWdJQ0F2THlCMGJ5QmtaV1pwYm1sMFpXeDVJR1Z1ZFcxbGNtRjBaU0IwYUdWdExseHVJQ0FnSUNBZ2FXWWdLQ0YwYUdsekxtVnlZVU5oWTJobFcyeGxibWQwYUYwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1bGNtRkRZV05vWlZ0c1pXNW5kR2hkSUQwZ1cwUmhkR1ZVYVcxbExuVjBZeWd0TkRBc0lERXNJREVwTENCRVlYUmxWR2x0WlM1MWRHTW9NakF4Tnl3Z01Td2dNU2xkTG0xaGNDZ29aSFFwSUQwK1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1bGVIUnlZV04wS0dSMExDQnBiblJzTENCY0ltVnlZVndpS1Z4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVsY21GRFlXTm9aVnRzWlc1bmRHaGRPMXh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnWlhoMGNtRmpkQ2hrZEN3Z2FXNTBiRTl3ZEhNc0lHWnBaV3hrS1NCN1hHNGdJQ0FnWTI5dWMzUWdaR1lnUFNCMGFHbHpMbVIwUm05eWJXRjBkR1Z5S0dSMExDQnBiblJzVDNCMGN5a3NYRzRnSUNBZ0lDQnlaWE4xYkhSeklEMGdaR1l1Wm05eWJXRjBWRzlRWVhKMGN5Z3BMRnh1SUNBZ0lDQWdiV0YwWTJocGJtY2dQU0J5WlhOMWJIUnpMbVpwYm1Rb0tHMHBJRDArSUcwdWRIbHdaUzUwYjB4dmQyVnlRMkZ6WlNncElEMDlQU0JtYVdWc1pDazdYRzRnSUNBZ2NtVjBkWEp1SUcxaGRHTm9hVzVuSUQ4Z2JXRjBZMmhwYm1jdWRtRnNkV1VnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYm5WdFltVnlSbTl5YldGMGRHVnlLRzl3ZEhNZ1BTQjdmU2tnZTF4dUlDQWdJQzh2SUhSb2FYTWdabTl5WTJWemFXMXdiR1VnYjNCMGFXOXVJR2x6SUc1bGRtVnlJSFZ6WldRZ0tIUm9aU0J2Ym14NUlHTmhiR3hsY2lCemFHOXlkQzFqYVhKamRXbDBjeUJ2YmlCcGRDd2dZblYwSUdsMElITmxaVzF6SUhOaFptVnlJSFJ2SUd4bFlYWmxLVnh1SUNBZ0lDOHZJQ2hwYmlCamIyNTBjbUZ6ZEN3Z2RHaGxJSEpsYzNRZ2IyWWdkR2hsSUdOdmJtUnBkR2x2YmlCcGN5QjFjMlZrSUdobFlYWnBiSGtwWEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJRYjJ4NVRuVnRZbVZ5Um05eWJXRjBkR1Z5S0hSb2FYTXVhVzUwYkN3Z2IzQjBjeTVtYjNKalpWTnBiWEJzWlNCOGZDQjBhR2x6TG1aaGMzUk9kVzFpWlhKekxDQnZjSFJ6S1R0Y2JpQWdmVnh1WEc0Z0lHUjBSbTl5YldGMGRHVnlLR1IwTENCcGJuUnNUM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJRYjJ4NVJHRjBaVVp2Y20xaGRIUmxjaWhrZEN3Z2RHaHBjeTVwYm5Sc0xDQnBiblJzVDNCMGN5azdYRzRnSUgxY2JseHVJQ0J5Wld4R2IzSnRZWFIwWlhJb2IzQjBjeUE5SUh0OUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlFiMng1VW1Wc1JtOXliV0YwZEdWeUtIUm9hWE11YVc1MGJDd2dkR2hwY3k1cGMwVnVaMnhwYzJnb0tTd2diM0IwY3lrN1hHNGdJSDFjYmx4dUlDQnNhWE4wUm05eWJXRjBkR1Z5S0c5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJuWlhSRFlXTm9aV1JNUmloMGFHbHpMbWx1ZEd3c0lHOXdkSE1wTzF4dUlDQjlYRzVjYmlBZ2FYTkZibWRzYVhOb0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNCMGFHbHpMbXh2WTJGc1pTQTlQVDBnWENKbGJsd2lJSHg4WEc0Z0lDQWdJQ0IwYUdsekxteHZZMkZzWlM1MGIweHZkMlZ5UTJGelpTZ3BJRDA5UFNCY0ltVnVMWFZ6WENJZ2ZIeGNiaUFnSUNBZ0lHNWxkeUJKYm5Sc0xrUmhkR1ZVYVcxbFJtOXliV0YwS0hSb2FYTXVhVzUwYkNrdWNtVnpiMngyWldSUGNIUnBiMjV6S0NrdWJHOWpZV3hsTG5OMFlYSjBjMWRwZEdnb1hDSmxiaTExYzF3aUtWeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQmxjWFZoYkhNb2IzUm9aWElwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lDQWdkR2hwY3k1c2IyTmhiR1VnUFQwOUlHOTBhR1Z5TG14dlkyRnNaU0FtSmx4dUlDQWdJQ0FnZEdocGN5NXVkVzFpWlhKcGJtZFRlWE4wWlcwZ1BUMDlJRzkwYUdWeUxtNTFiV0psY21sdVoxTjVjM1JsYlNBbUpseHVJQ0FnSUNBZ2RHaHBjeTV2ZFhSd2RYUkRZV3hsYm1SaGNpQTlQVDBnYjNSb1pYSXViM1YwY0hWMFEyRnNaVzVrWVhKY2JpQWdJQ0FwTzF4dUlDQjlYRzU5WEc0aUxDQWlhVzF3YjNKMElIdGNiaUFnZFc1MGNuVnVZMkYwWlZsbFlYSXNYRzRnSUhOcFoyNWxaRTltWm5ObGRDeGNiaUFnY0dGeWMyVkpiblJsWjJWeUxGeHVJQ0J3WVhKelpVMXBiR3hwY3l4Y2JpQWdhV0Z1WVZKbFoyVjRMRnh1SUNCcGMxVnVaR1ZtYVc1bFpDeGNiaUFnY0dGeWMyVkdiRzloZEdsdVoxeHVmU0JtY205dElGd2lMaTkxZEdsc0xtcHpYQ0k3WEc1cGJYQnZjblFnS2lCaGN5QkZibWRzYVhOb0lHWnliMjBnWENJdUwyVnVaMnhwYzJndWFuTmNJanRjYm1sdGNHOXlkQ0JHYVhobFpFOW1abk5sZEZwdmJtVWdabkp2YlNCY0lpNHVMM3B2Ym1WekwyWnBlR1ZrVDJabWMyVjBXbTl1WlM1cWMxd2lPMXh1YVcxd2IzSjBJRWxCVGtGYWIyNWxJR1p5YjIwZ1hDSXVMaTk2YjI1bGN5OUpRVTVCV205dVpTNXFjMXdpTzF4dVhHNHZLbHh1SUNvZ1ZHaHBjeUJtYVd4bElHaGhibVJzWlhNZ2NHRnljMmx1WnlCbWIzSWdkMlZzYkMxemNHVmphV1pwWldRZ1ptOXliV0YwY3k0Z1NHVnlaU2R6SUdodmR5QnBkQ0IzYjNKcmN6cGNiaUFxSUZSM2J5QjBhR2x1WjNNZ1oyOGdhVzUwYnlCd1lYSnphVzVuT2lCaElISmxaMlY0SUhSdklHMWhkR05vSUhkcGRHZ2dZVzVrSUdGdUlHVjRkSEpoWTNSdmNpQjBieUIwWVd0bElHRndZWEowSUhSb1pTQm5jbTkxY0hNZ2FXNGdkR2hsSUcxaGRHTm9MbHh1SUNvZ1FXNGdaWGgwY21GamRHOXlJR2x6SUdwMWMzUWdZU0JtZFc1amRHbHZiaUIwYUdGMElIUmhhMlZ6SUdFZ2NtVm5aWGdnYldGMFkyZ2dZWEp5WVhrZ1lXNWtJSEpsZEhWeWJuTWdZU0I3SUhsbFlYSTZJQzR1TGl3Z2JXOXVkR2c2SUM0dUxpQjlJRzlpYW1WamRGeHVJQ29nY0dGeWMyVW9LU0JrYjJWeklIUm9aU0IzYjNKcklHOW1JR1Y0WldOMWRHbHVaeUIwYUdVZ2NtVm5aWGdnWVc1a0lHRndjR3g1YVc1bklIUm9aU0JsZUhSeVlXTjBiM0l1SUVsMElIUmhhMlZ6SUcxMWJIUnBjR3hsSUhKbFoyVjRMMlY0ZEhKaFkzUnZjaUJ3WVdseWN5QjBieUIwY25rZ2FXNGdjMlZ4ZFdWdVkyVXVYRzRnS2lCRmVIUnlZV04wYjNKeklHTmhiaUIwWVd0bElHRWdYQ0pqZFhKemIzSmNJaUJ5WlhCeVpYTmxiblJwYm1jZ2RHaGxJRzltWm5ObGRDQnBiaUIwYUdVZ2JXRjBZMmdnZEc4Z2JHOXZheUJoZEM0Z1ZHaHBjeUJ0WVd0bGN5QnBkQ0JsWVhONUlIUnZJR052YldKcGJtVWdaWGgwY21GamRHOXljeTVjYmlBcUlHTnZiV0pwYm1WRmVIUnlZV04wYjNKektDa2daRzlsY3lCMGFHVWdkMjl5YXlCdlppQmpiMjFpYVc1cGJtY2dkR2hsYlN3Z2EyVmxjR2x1WnlCMGNtRmpheUJ2WmlCMGFHVWdZM1Z5YzI5eUlIUm9jbTkxWjJnZ2JYVnNkR2x3YkdVZ1pYaDBjbUZqZEdsdmJuTXVYRzRnS2lCVGIyMWxJR1Y0ZEhKaFkzUnBiMjV6SUdGeVpTQnpkWEJsY2lCa2RXMWlJR0Z1WkNCemFXMXdiR1ZRWVhKelpTQmhibVFnWm5KdmJWTjBjbWx1WjNNZ2FHVnNjQ0JFVWxrZ2RHaGxiUzVjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJqYjIxaWFXNWxVbVZuWlhobGN5Z3VMaTV5WldkbGVHVnpLU0I3WEc0Z0lHTnZibk4wSUdaMWJHd2dQU0J5WldkbGVHVnpMbkpsWkhWalpTZ29aaXdnY2lrZ1BUNGdaaUFySUhJdWMyOTFjbU5sTENCY0lsd2lLVHRjYmlBZ2NtVjBkWEp1SUZKbFowVjRjQ2hnWGlSN1puVnNiSDBrWUNrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJXSnBibVZGZUhSeVlXTjBiM0p6S0M0dUxtVjRkSEpoWTNSdmNuTXBJSHRjYmlBZ2NtVjBkWEp1SUcwZ1BUNWNiaUFnSUNCbGVIUnlZV04wYjNKelhHNGdJQ0FnSUNBdWNtVmtkV05sS0Z4dUlDQWdJQ0FnSUNBb1cyMWxjbWRsWkZaaGJITXNJRzFsY21kbFpGcHZibVVzSUdOMWNuTnZjbDBzSUdWNEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnVzNaaGJDd2dlbTl1WlN3Z2JtVjRkRjBnUFNCbGVDaHRMQ0JqZFhKemIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiZXlBdUxpNXRaWEpuWldSV1lXeHpMQ0F1TGk1MllXd2dmU3dnZW05dVpTQjhmQ0J0WlhKblpXUmFiMjVsTENCdVpYaDBYVHRjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ1czdDlMQ0J1ZFd4c0xDQXhYVnh1SUNBZ0lDQWdLVnh1SUNBZ0lDQWdMbk5zYVdObEtEQXNJRElwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3WVhKelpTaHpMQ0F1TGk1d1lYUjBaWEp1Y3lrZ2UxeHVJQ0JwWmlBb2N5QTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUZ0dWRXeHNMQ0J1ZFd4c1hUdGNiaUFnZlZ4dVhHNGdJR1p2Y2lBb1kyOXVjM1FnVzNKbFoyVjRMQ0JsZUhSeVlXTjBiM0pkSUc5bUlIQmhkSFJsY201ektTQjdYRzRnSUNBZ1kyOXVjM1FnYlNBOUlISmxaMlY0TG1WNFpXTW9jeWs3WEc0Z0lDQWdhV1lnS0cwcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbGVIUnlZV04wYjNJb2JTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCYmJuVnNiQ3dnYm5Wc2JGMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlITnBiWEJzWlZCaGNuTmxLQzR1TG10bGVYTXBJSHRjYmlBZ2NtVjBkWEp1SUNodFlYUmphQ3dnWTNWeWMyOXlLU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVYwSUQwZ2UzMDdYRzRnSUNBZ2JHVjBJR2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dhMlY1Y3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjbVYwVzJ0bGVYTmJhVjFkSUQwZ2NHRnljMlZKYm5SbFoyVnlLRzFoZEdOb1cyTjFjbk52Y2lBcklHbGRLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUZ0eVpYUXNJRzUxYkd3c0lHTjFjbk52Y2lBcklHbGRPMXh1SUNCOU8xeHVmVnh1WEc0dkx5QkpVMDhnWVc1a0lGTlJUQ0J3WVhKemFXNW5YRzVqYjI1emRDQnZabVp6WlhSU1pXZGxlQ0E5SUM4b1B6b29XaWw4S0ZzckxWMWNYR1JjWEdRcEtEODZPajhvWEZ4a1hGeGtLU2svS1M4N1hHNWpiMjV6ZENCcGMyOUZlSFJsYm1SbFpGcHZibVVnUFNCZ0tEODZKSHR2Wm1aelpYUlNaV2RsZUM1emIzVnlZMlY5UHlnL09seGNYRnhiS0NSN2FXRnVZVkpsWjJWNExuTnZkWEpqWlgwcFhGeGNYRjBwUHlrL1lEdGNibU52Ym5OMElHbHpiMVJwYldWQ1lYTmxVbVZuWlhnZ1BTQXZLRnhjWkZ4Y1pDa29Qem82UHloY1hHUmNYR1FwS0Q4Nk9qOG9YRnhrWEZ4a0tTZy9PbHN1TEYwb1hGeGtlekVzTXpCOUtTay9LVDhwUHk4N1hHNWpiMjV6ZENCcGMyOVVhVzFsVW1WblpYZ2dQU0JTWldkRmVIQW9ZQ1I3YVhOdlZHbHRaVUpoYzJWU1pXZGxlQzV6YjNWeVkyVjlKSHRwYzI5RmVIUmxibVJsWkZwdmJtVjlZQ2s3WEc1amIyNXpkQ0JwYzI5VWFXMWxSWGgwWlc1emFXOXVVbVZuWlhnZ1BTQlNaV2RGZUhBb1lDZy9PbFFrZTJsemIxUnBiV1ZTWldkbGVDNXpiM1Z5WTJWOUtUOWdLVHRjYm1OdmJuTjBJR2x6YjFsdFpGSmxaMlY0SUQwZ0x5aGJLeTFkWEZ4a2V6WjlmRnhjWkhzMGZTa29Qem90UHloY1hHUmNYR1FwS0Q4NkxUOG9YRnhrWEZ4a0tTay9LVDh2TzF4dVkyOXVjM1FnYVhOdlYyVmxhMUpsWjJWNElEMGdMeWhjWEdSN05IMHBMVDlYS0Z4Y1pGeGNaQ2tvUHpvdFB5aGNYR1FwS1Q4dk8xeHVZMjl1YzNRZ2FYTnZUM0prYVc1aGJGSmxaMlY0SUQwZ0x5aGNYR1I3TkgwcExUOG9YRnhrZXpOOUtTODdYRzVqYjI1emRDQmxlSFJ5WVdOMFNWTlBWMlZsYTBSaGRHRWdQU0J6YVcxd2JHVlFZWEp6WlNoY0luZGxaV3RaWldGeVhDSXNJRndpZDJWbGEwNTFiV0psY2x3aUxDQmNJbmRsWld0RVlYbGNJaWs3WEc1amIyNXpkQ0JsZUhSeVlXTjBTVk5QVDNKa2FXNWhiRVJoZEdFZ1BTQnphVzF3YkdWUVlYSnpaU2hjSW5sbFlYSmNJaXdnWENKdmNtUnBibUZzWENJcE8xeHVZMjl1YzNRZ2MzRnNXVzFrVW1WblpYZ2dQU0F2S0Z4Y1pIczBmU2t0S0Z4Y1pGeGNaQ2t0S0Z4Y1pGeGNaQ2t2T3lBdkx5QmtkVzFpWldRdFpHOTNiaUIyWlhKemFXOXVJRzltSUhSb1pTQkpVMDhnYjI1bFhHNWpiMjV6ZENCemNXeFVhVzFsVW1WblpYZ2dQU0JTWldkRmVIQW9YRzRnSUdBa2UybHpiMVJwYldWQ1lYTmxVbVZuWlhndWMyOTFjbU5sZlNBL0tEODZKSHR2Wm1aelpYUlNaV2RsZUM1emIzVnlZMlY5ZkNna2UybGhibUZTWldkbGVDNXpiM1Z5WTJWOUtTay9ZRnh1S1R0Y2JtTnZibk4wSUhOeGJGUnBiV1ZGZUhSbGJuTnBiMjVTWldkbGVDQTlJRkpsWjBWNGNDaGdLRDg2SUNSN2MzRnNWR2x0WlZKbFoyVjRMbk52ZFhKalpYMHBQMkFwTzF4dVhHNW1kVzVqZEdsdmJpQnBiblFvYldGMFkyZ3NJSEJ2Y3l3Z1ptRnNiR0poWTJzcElIdGNiaUFnWTI5dWMzUWdiU0E5SUcxaGRHTm9XM0J2YzEwN1hHNGdJSEpsZEhWeWJpQnBjMVZ1WkdWbWFXNWxaQ2h0S1NBL0lHWmhiR3hpWVdOcklEb2djR0Z5YzJWSmJuUmxaMlZ5S0cwcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGVIUnlZV04wU1ZOUFdXMWtLRzFoZEdOb0xDQmpkWEp6YjNJcElIdGNiaUFnWTI5dWMzUWdhWFJsYlNBOUlIdGNiaUFnSUNCNVpXRnlPaUJwYm5Rb2JXRjBZMmdzSUdOMWNuTnZjaWtzWEc0Z0lDQWdiVzl1ZEdnNklHbHVkQ2h0WVhSamFDd2dZM1Z5YzI5eUlDc2dNU3dnTVNrc1hHNGdJQ0FnWkdGNU9pQnBiblFvYldGMFkyZ3NJR04xY25OdmNpQXJJRElzSURFcFhHNGdJSDA3WEc1Y2JpQWdjbVYwZFhKdUlGdHBkR1Z0TENCdWRXeHNMQ0JqZFhKemIzSWdLeUF6WFR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWlhoMGNtRmpkRWxUVDFScGJXVW9iV0YwWTJnc0lHTjFjbk52Y2lrZ2UxeHVJQ0JqYjI1emRDQnBkR1Z0SUQwZ2UxeHVJQ0FnSUdodmRYSnpPaUJwYm5Rb2JXRjBZMmdzSUdOMWNuTnZjaXdnTUNrc1hHNGdJQ0FnYldsdWRYUmxjem9nYVc1MEtHMWhkR05vTENCamRYSnpiM0lnS3lBeExDQXdLU3hjYmlBZ0lDQnpaV052Ym1Sek9pQnBiblFvYldGMFkyZ3NJR04xY25OdmNpQXJJRElzSURBcExGeHVJQ0FnSUcxcGJHeHBjMlZqYjI1a2N6b2djR0Z5YzJWTmFXeHNhWE1vYldGMFkyaGJZM1Z5YzI5eUlDc2dNMTBwWEc0Z0lIMDdYRzVjYmlBZ2NtVjBkWEp1SUZ0cGRHVnRMQ0J1ZFd4c0xDQmpkWEp6YjNJZ0t5QTBYVHRjYm4xY2JseHVablZ1WTNScGIyNGdaWGgwY21GamRFbFRUMDltWm5ObGRDaHRZWFJqYUN3Z1kzVnljMjl5S1NCN1hHNGdJR052Ym5OMElHeHZZMkZzSUQwZ0lXMWhkR05vVzJOMWNuTnZjbDBnSmlZZ0lXMWhkR05vVzJOMWNuTnZjaUFySURGZExGeHVJQ0FnSUdaMWJHeFBabVp6WlhRZ1BTQnphV2R1WldSUFptWnpaWFFvYldGMFkyaGJZM1Z5YzI5eUlDc2dNVjBzSUcxaGRHTm9XMk4xY25OdmNpQXJJREpkS1N4Y2JpQWdJQ0I2YjI1bElEMGdiRzlqWVd3Z1B5QnVkV3hzSURvZ1JtbDRaV1JQWm1aelpYUmFiMjVsTG1sdWMzUmhibU5sS0daMWJHeFBabVp6WlhRcE8xeHVJQ0J5WlhSMWNtNGdXM3Q5TENCNmIyNWxMQ0JqZFhKemIzSWdLeUF6WFR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWlhoMGNtRmpkRWxCVGtGYWIyNWxLRzFoZEdOb0xDQmpkWEp6YjNJcElIdGNiaUFnWTI5dWMzUWdlbTl1WlNBOUlHMWhkR05vVzJOMWNuTnZjbDBnUHlCSlFVNUJXbTl1WlM1amNtVmhkR1VvYldGMFkyaGJZM1Z5YzI5eVhTa2dPaUJ1ZFd4c08xeHVJQ0J5WlhSMWNtNGdXM3Q5TENCNmIyNWxMQ0JqZFhKemIzSWdLeUF4WFR0Y2JuMWNibHh1THk4Z1NWTlBJSFJwYldVZ2NHRnljMmx1WjF4dVhHNWpiMjV6ZENCcGMyOVVhVzFsVDI1c2VTQTlJRkpsWjBWNGNDaGdYbFEvSkh0cGMyOVVhVzFsUW1GelpWSmxaMlY0TG5OdmRYSmpaWDBrWUNrN1hHNWNiaTh2SUVsVFR5QmtkWEpoZEdsdmJpQndZWEp6YVc1blhHNWNibU52Ym5OMElHbHpiMFIxY21GMGFXOXVJRDBnTDE0dFAxQW9Qem9vUHpvb0xUOWNYR1I3TVN3eU1IMG9QenBjWEM1Y1hHUjdNU3d5TUgwcFB5bFpLVDhvUHpvb0xUOWNYR1I3TVN3eU1IMG9QenBjWEM1Y1hHUjdNU3d5TUgwcFB5bE5LVDhvUHpvb0xUOWNYR1I3TVN3eU1IMG9QenBjWEM1Y1hHUjdNU3d5TUgwcFB5bFhLVDhvUHpvb0xUOWNYR1I3TVN3eU1IMG9QenBjWEM1Y1hHUjdNU3d5TUgwcFB5bEVLVDhvUHpwVUtEODZLQzAvWEZ4a2V6RXNNakI5S0Q4NlhGd3VYRnhrZXpFc01qQjlLVDhwU0NrL0tEODZLQzAvWEZ4a2V6RXNNakI5S0Q4NlhGd3VYRnhrZXpFc01qQjlLVDhwVFNrL0tEODZLQzAvWEZ4a2V6RXNNakI5S1NnL09sc3VMRjBvTFQ5Y1hHUjdNU3d5TUgwcEtUOVRLVDhwUHlra0x6dGNibHh1Wm5WdVkzUnBiMjRnWlhoMGNtRmpkRWxUVDBSMWNtRjBhVzl1S0cxaGRHTm9LU0I3WEc0Z0lHTnZibk4wSUZ0Y2JpQWdJQ0J6TEZ4dUlDQWdJSGxsWVhKVGRISXNYRzRnSUNBZ2JXOXVkR2hUZEhJc1hHNGdJQ0FnZDJWbGExTjBjaXhjYmlBZ0lDQmtZWGxUZEhJc1hHNGdJQ0FnYUc5MWNsTjBjaXhjYmlBZ0lDQnRhVzUxZEdWVGRISXNYRzRnSUNBZ2MyVmpiMjVrVTNSeUxGeHVJQ0FnSUcxcGJHeHBjMlZqYjI1a2MxTjBjbHh1SUNCZElEMGdiV0YwWTJnN1hHNWNiaUFnWTI5dWMzUWdhR0Z6VG1WbllYUnBkbVZRY21WbWFYZ2dQU0J6V3pCZElEMDlQU0JjSWkxY0lqdGNiaUFnWTI5dWMzUWdibVZuWVhScGRtVlRaV052Ym1SeklEMGdjMlZqYjI1a1UzUnlJQ1ltSUhObFkyOXVaRk4wY2xzd1hTQTlQVDBnWENJdFhDSTdYRzVjYmlBZ1kyOXVjM1FnYldGNVltVk9aV2RoZEdVZ1BTQW9iblZ0TENCbWIzSmpaU0E5SUdaaGJITmxLU0E5UGx4dUlDQWdJRzUxYlNBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUNobWIzSmpaU0I4ZkNBb2JuVnRJQ1ltSUdoaGMwNWxaMkYwYVhabFVISmxabWw0S1NrZ1B5QXRiblZ0SURvZ2JuVnRPMXh1WEc0Z0lISmxkSFZ5YmlCYlhHNGdJQ0FnZTF4dUlDQWdJQ0FnZVdWaGNuTTZJRzFoZVdKbFRtVm5ZWFJsS0hCaGNuTmxSbXh2WVhScGJtY29lV1ZoY2xOMGNpa3BMRnh1SUNBZ0lDQWdiVzl1ZEdoek9pQnRZWGxpWlU1bFoyRjBaU2h3WVhKelpVWnNiMkYwYVc1bktHMXZiblJvVTNSeUtTa3NYRzRnSUNBZ0lDQjNaV1ZyY3pvZ2JXRjVZbVZPWldkaGRHVW9jR0Z5YzJWR2JHOWhkR2x1WnloM1pXVnJVM1J5S1Nrc1hHNGdJQ0FnSUNCa1lYbHpPaUJ0WVhsaVpVNWxaMkYwWlNod1lYSnpaVVpzYjJGMGFXNW5LR1JoZVZOMGNpa3BMRnh1SUNBZ0lDQWdhRzkxY25NNklHMWhlV0psVG1WbllYUmxLSEJoY25ObFJteHZZWFJwYm1jb2FHOTFjbE4wY2lrcExGeHVJQ0FnSUNBZ2JXbHVkWFJsY3pvZ2JXRjVZbVZPWldkaGRHVW9jR0Z5YzJWR2JHOWhkR2x1WnlodGFXNTFkR1ZUZEhJcEtTeGNiaUFnSUNBZ0lITmxZMjl1WkhNNklHMWhlV0psVG1WbllYUmxLSEJoY25ObFJteHZZWFJwYm1jb2MyVmpiMjVrVTNSeUtTd2djMlZqYjI1a1UzUnlJRDA5UFNCY0lpMHdYQ0lwTEZ4dUlDQWdJQ0FnYldsc2JHbHpaV052Ym1Sek9pQnRZWGxpWlU1bFoyRjBaU2h3WVhKelpVMXBiR3hwY3lodGFXeHNhWE5sWTI5dVpITlRkSElwTENCdVpXZGhkR2wyWlZObFkyOXVaSE1wWEc0Z0lDQWdmVnh1SUNCZE8xeHVmVnh1WEc0dkx5QlVhR1Z6WlNCaGNtVWdZU0JzYVhSMGJHVWdZbkpoYVc1a1pXRmtMaUJGUkZRZ0tuTm9iM1ZzWkNvZ2RHVnNiQ0IxY3lCMGFHRjBJSGRsSjNKbElHbHVMQ0J6WVhrc0lFRnRaWEpwWTJFdlRtVjNYMWx2Y210Y2JpOHZJR0Z1WkNCdWIzUWdhblZ6ZENCMGFHRjBJSGRsSjNKbElHbHVJQzB5TkRBZ0tuSnBaMmgwSUc1dmR5b3VJRUoxZENCemFXNWpaU0JKSUdSdmJpZDBJSFJvYVc1cklIUm9aWE5sSUdGeVpTQjFjMlZrSUhSb1lYUWdiMlowWlc1Y2JpOHZJRWtuYlNCcWRYTjBJR2R2YVc1bklIUnZJR2xuYm05eVpTQjBhR0YwWEc1amIyNXpkQ0J2WW5OUFptWnpaWFJ6SUQwZ2UxeHVJQ0JIVFZRNklEQXNYRzRnSUVWRVZEb2dMVFFnS2lBMk1DeGNiaUFnUlZOVU9pQXROU0FxSURZd0xGeHVJQ0JEUkZRNklDMDFJQ29nTmpBc1hHNGdJRU5UVkRvZ0xUWWdLaUEyTUN4Y2JpQWdUVVJVT2lBdE5pQXFJRFl3TEZ4dUlDQk5VMVE2SUMwM0lDb2dOakFzWEc0Z0lGQkVWRG9nTFRjZ0tpQTJNQ3hjYmlBZ1VGTlVPaUF0T0NBcUlEWXdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQm1jbTl0VTNSeWFXNW5jeWgzWldWclpHRjVVM1J5TENCNVpXRnlVM1J5TENCdGIyNTBhRk4wY2l3Z1pHRjVVM1J5TENCb2IzVnlVM1J5TENCdGFXNTFkR1ZUZEhJc0lITmxZMjl1WkZOMGNpa2dlMXh1SUNCamIyNXpkQ0J5WlhOMWJIUWdQU0I3WEc0Z0lDQWdlV1ZoY2pvZ2VXVmhjbE4wY2k1c1pXNW5kR2dnUFQwOUlESWdQeUIxYm5SeWRXNWpZWFJsV1dWaGNpaHdZWEp6WlVsdWRHVm5aWElvZVdWaGNsTjBjaWtwSURvZ2NHRnljMlZKYm5SbFoyVnlLSGxsWVhKVGRISXBMRnh1SUNBZ0lHMXZiblJvT2lCRmJtZHNhWE5vTG0xdmJuUm9jMU5vYjNKMExtbHVaR1Y0VDJZb2JXOXVkR2hUZEhJcElDc2dNU3hjYmlBZ0lDQmtZWGs2SUhCaGNuTmxTVzUwWldkbGNpaGtZWGxUZEhJcExGeHVJQ0FnSUdodmRYSTZJSEJoY25ObFNXNTBaV2RsY2lob2IzVnlVM1J5S1N4Y2JpQWdJQ0J0YVc1MWRHVTZJSEJoY25ObFNXNTBaV2RsY2lodGFXNTFkR1ZUZEhJcFhHNGdJSDA3WEc1Y2JpQWdhV1lnS0hObFkyOXVaRk4wY2lrZ2NtVnpkV3gwTG5ObFkyOXVaQ0E5SUhCaGNuTmxTVzUwWldkbGNpaHpaV052Ym1SVGRISXBPMXh1SUNCcFppQW9kMlZsYTJSaGVWTjBjaWtnZTF4dUlDQWdJSEpsYzNWc2RDNTNaV1ZyWkdGNUlEMWNiaUFnSUNBZ0lIZGxaV3RrWVhsVGRISXViR1Z1WjNSb0lENGdNMXh1SUNBZ0lDQWdJQ0EvSUVWdVoyeHBjMmd1ZDJWbGEyUmhlWE5NYjI1bkxtbHVaR1Y0VDJZb2QyVmxhMlJoZVZOMGNpa2dLeUF4WEc0Z0lDQWdJQ0FnSURvZ1JXNW5iR2x6YUM1M1pXVnJaR0Y1YzFOb2IzSjBMbWx1WkdWNFQyWW9kMlZsYTJSaGVWTjBjaWtnS3lBeE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JuMWNibHh1THk4Z1VrWkRJREk0TWpJdk5UTXlNbHh1WTI5dWMzUWdjbVpqTWpneU1pQTlJQzllS0Q4NktFMXZibnhVZFdWOFYyVmtmRlJvZFh4R2NtbDhVMkYwZkZOMWJpa3NYRnh6S1Q4b1hGeGtlekVzTW4wcFhGeHpLRXBoYm54R1pXSjhUV0Z5ZkVGd2NueE5ZWGw4U25WdWZFcDFiSHhCZFdkOFUyVndmRTlqZEh4T2IzWjhSR1ZqS1Z4Y2N5aGNYR1I3TWl3MGZTbGNYSE1vWEZ4a1hGeGtLVG9vWEZ4a1hGeGtLU2cvT2pvb1hGeGtYRnhrS1NrL1hGeHpLRDg2S0ZWVWZFZE5WSHhiUlVOTlVGMWJVMFJkVkNsOEtGdGFlbDBwZkNnL09paGJLeTFkWEZ4a1hGeGtLU2hjWEdSY1hHUXBLU2trTHp0Y2JseHVablZ1WTNScGIyNGdaWGgwY21GamRGSkdRekk0TWpJb2JXRjBZMmdwSUh0Y2JpQWdZMjl1YzNRZ1cxeHVJQ0FnSUNBZ0xGeHVJQ0FnSUNBZ2QyVmxhMlJoZVZOMGNpeGNiaUFnSUNBZ0lHUmhlVk4wY2l4Y2JpQWdJQ0FnSUcxdmJuUm9VM1J5TEZ4dUlDQWdJQ0FnZVdWaGNsTjBjaXhjYmlBZ0lDQWdJR2h2ZFhKVGRISXNYRzRnSUNBZ0lDQnRhVzUxZEdWVGRISXNYRzRnSUNBZ0lDQnpaV052Ym1SVGRISXNYRzRnSUNBZ0lDQnZZbk5QWm1aelpYUXNYRzRnSUNBZ0lDQnRhV3hQWm1aelpYUXNYRzRnSUNBZ0lDQnZabVpJYjNWeVUzUnlMRnh1SUNBZ0lDQWdiMlptVFdsdWRYUmxVM1J5WEc0Z0lDQWdYU0E5SUcxaGRHTm9MRnh1SUNBZ0lISmxjM1ZzZENBOUlHWnliMjFUZEhKcGJtZHpLSGRsWld0a1lYbFRkSElzSUhsbFlYSlRkSElzSUcxdmJuUm9VM1J5TENCa1lYbFRkSElzSUdodmRYSlRkSElzSUcxcGJuVjBaVk4wY2l3Z2MyVmpiMjVrVTNSeUtUdGNibHh1SUNCc1pYUWdiMlptYzJWME8xeHVJQ0JwWmlBb2IySnpUMlptYzJWMEtTQjdYRzRnSUNBZ2IyWm1jMlYwSUQwZ2IySnpUMlptYzJWMGMxdHZZbk5QWm1aelpYUmRPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHMXBiRTltWm5ObGRDa2dlMXh1SUNBZ0lHOW1abk5sZENBOUlEQTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdiMlptYzJWMElEMGdjMmxuYm1Wa1QyWm1jMlYwS0c5bVpraHZkWEpUZEhJc0lHOW1aazFwYm5WMFpWTjBjaWs3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnVzNKbGMzVnNkQ3dnYm1WM0lFWnBlR1ZrVDJabWMyVjBXbTl1WlNodlptWnpaWFFwWFR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY0hKbGNISnZZMlZ6YzFKR1F6STRNaklvY3lrZ2UxeHVJQ0F2THlCU1pXMXZkbVVnWTI5dGJXVnVkSE1nWVc1a0lHWnZiR1JwYm1jZ2QyaHBkR1Z6Y0dGalpTQmhibVFnY21Wd2JHRmpaU0J0ZFd4MGFYQnNaUzF6Y0dGalpYTWdkMmwwYUNCaElITnBibWRzWlNCemNHRmpaVnh1SUNCeVpYUjFjbTRnYzF4dUlDQWdJQzV5WlhCc1lXTmxLQzljWENoYlhpZ3BYU3BjWENsOFcxeGNibHhjZEYwdlp5d2dYQ0lnWENJcFhHNGdJQ0FnTG5KbGNHeGhZMlVvTHloY1hITmNYSE1yS1M5bkxDQmNJaUJjSWlsY2JpQWdJQ0F1ZEhKcGJTZ3BPMXh1ZlZ4dVhHNHZMeUJvZEhSd0lHUmhkR1ZjYmx4dVkyOXVjM1FnY21aak1URXlNeUE5SUM5ZUtFMXZibnhVZFdWOFYyVmtmRlJvZFh4R2NtbDhVMkYwZkZOMWJpa3NJQ2hjWEdSY1hHUXBJQ2hLWVc1OFJtVmlmRTFoY254QmNISjhUV0Y1ZkVwMWJueEtkV3g4UVhWbmZGTmxjSHhQWTNSOFRtOTJmRVJsWXlrZ0tGeGNaSHMwZlNrZ0tGeGNaRnhjWkNrNktGeGNaRnhjWkNrNktGeGNaRnhjWkNrZ1IwMVVKQzhzWEc0Z0lISm1ZemcxTUNBOUlDOWVLRTF2Ym1SaGVYeFVkV1Z6WkdGNWZGZGxaRzVsYzJSaGVYeFVhSFZ5YzJSaGVYeEdjbWxrWVhsOFUyRjBkWEprWVhsOFUzVnVaR0Y1S1N3Z0tGeGNaRnhjWkNrdEtFcGhibnhHWldKOFRXRnlmRUZ3Y254TllYbDhTblZ1ZkVwMWJIeEJkV2Q4VTJWd2ZFOWpkSHhPYjNaOFJHVmpLUzBvWEZ4a1hGeGtLU0FvWEZ4a1hGeGtLVG9vWEZ4a1hGeGtLVG9vWEZ4a1hGeGtLU0JIVFZRa0x5eGNiaUFnWVhOamFXa2dQU0F2WGloTmIyNThWSFZsZkZkbFpIeFVhSFY4Um5KcGZGTmhkSHhUZFc0cElDaEtZVzU4Um1WaWZFMWhjbnhCY0hKOFRXRjVmRXAxYm54S2RXeDhRWFZuZkZObGNIeFBZM1I4VG05MmZFUmxZeWtnS0NCY1hHUjhYRnhrWEZ4a0tTQW9YRnhrWEZ4a0tUb29YRnhrWEZ4a0tUb29YRnhrWEZ4a0tTQW9YRnhrZXpSOUtTUXZPMXh1WEc1bWRXNWpkR2x2YmlCbGVIUnlZV04wVWtaRE1URXlNMDl5T0RVd0tHMWhkR05vS1NCN1hHNGdJR052Ym5OMElGc3NJSGRsWld0a1lYbFRkSElzSUdSaGVWTjBjaXdnYlc5dWRHaFRkSElzSUhsbFlYSlRkSElzSUdodmRYSlRkSElzSUcxcGJuVjBaVk4wY2l3Z2MyVmpiMjVrVTNSeVhTQTlJRzFoZEdOb0xGeHVJQ0FnSUhKbGMzVnNkQ0E5SUdaeWIyMVRkSEpwYm1kektIZGxaV3RrWVhsVGRISXNJSGxsWVhKVGRISXNJRzF2Ym5Sb1UzUnlMQ0JrWVhsVGRISXNJR2h2ZFhKVGRISXNJRzFwYm5WMFpWTjBjaXdnYzJWamIyNWtVM1J5S1R0Y2JpQWdjbVYwZFhKdUlGdHlaWE4xYkhRc0lFWnBlR1ZrVDJabWMyVjBXbTl1WlM1MWRHTkpibk4wWVc1alpWMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVjRkSEpoWTNSQlUwTkpTU2h0WVhSamFDa2dlMXh1SUNCamIyNXpkQ0JiTENCM1pXVnJaR0Y1VTNSeUxDQnRiMjUwYUZOMGNpd2daR0Y1VTNSeUxDQm9iM1Z5VTNSeUxDQnRhVzUxZEdWVGRISXNJSE5sWTI5dVpGTjBjaXdnZVdWaGNsTjBjbDBnUFNCdFlYUmphQ3hjYmlBZ0lDQnlaWE4xYkhRZ1BTQm1jbTl0VTNSeWFXNW5jeWgzWldWclpHRjVVM1J5TENCNVpXRnlVM1J5TENCdGIyNTBhRk4wY2l3Z1pHRjVVM1J5TENCb2IzVnlVM1J5TENCdGFXNTFkR1ZUZEhJc0lITmxZMjl1WkZOMGNpazdYRzRnSUhKbGRIVnliaUJiY21WemRXeDBMQ0JHYVhobFpFOW1abk5sZEZwdmJtVXVkWFJqU1c1emRHRnVZMlZkTzF4dWZWeHVYRzVqYjI1emRDQnBjMjlaYldSWGFYUm9WR2x0WlVWNGRHVnVjMmx2YmxKbFoyVjRJRDBnWTI5dFltbHVaVkpsWjJWNFpYTW9hWE52V1cxa1VtVm5aWGdzSUdsemIxUnBiV1ZGZUhSbGJuTnBiMjVTWldkbGVDazdYRzVqYjI1emRDQnBjMjlYWldWclYybDBhRlJwYldWRmVIUmxibk5wYjI1U1pXZGxlQ0E5SUdOdmJXSnBibVZTWldkbGVHVnpLR2x6YjFkbFpXdFNaV2RsZUN3Z2FYTnZWR2x0WlVWNGRHVnVjMmx2YmxKbFoyVjRLVHRjYm1OdmJuTjBJR2x6YjA5eVpHbHVZV3hYYVhSb1ZHbHRaVVY0ZEdWdWMybHZibEpsWjJWNElEMGdZMjl0WW1sdVpWSmxaMlY0WlhNb2FYTnZUM0prYVc1aGJGSmxaMlY0TENCcGMyOVVhVzFsUlhoMFpXNXphVzl1VW1WblpYZ3BPMXh1WTI5dWMzUWdhWE52VkdsdFpVTnZiV0pwYm1Wa1VtVm5aWGdnUFNCamIyMWlhVzVsVW1WblpYaGxjeWhwYzI5VWFXMWxVbVZuWlhncE8xeHVYRzVqYjI1emRDQmxlSFJ5WVdOMFNWTlBXVzFrVkdsdFpVRnVaRTltWm5ObGRDQTlJR052YldKcGJtVkZlSFJ5WVdOMGIzSnpLRnh1SUNCbGVIUnlZV04wU1ZOUFdXMWtMRnh1SUNCbGVIUnlZV04wU1ZOUFZHbHRaU3hjYmlBZ1pYaDBjbUZqZEVsVFQwOW1abk5sZEN4Y2JpQWdaWGgwY21GamRFbEJUa0ZhYjI1bFhHNHBPMXh1WTI5dWMzUWdaWGgwY21GamRFbFRUMWRsWld0VWFXMWxRVzVrVDJabWMyVjBJRDBnWTI5dFltbHVaVVY0ZEhKaFkzUnZjbk1vWEc0Z0lHVjRkSEpoWTNSSlUwOVhaV1ZyUkdGMFlTeGNiaUFnWlhoMGNtRmpkRWxUVDFScGJXVXNYRzRnSUdWNGRISmhZM1JKVTA5UFptWnpaWFFzWEc0Z0lHVjRkSEpoWTNSSlFVNUJXbTl1WlZ4dUtUdGNibU52Ym5OMElHVjRkSEpoWTNSSlUwOVBjbVJwYm1Gc1JHRjBaVUZ1WkZScGJXVWdQU0JqYjIxaWFXNWxSWGgwY21GamRHOXljeWhjYmlBZ1pYaDBjbUZqZEVsVFQwOXlaR2x1WVd4RVlYUmhMRnh1SUNCbGVIUnlZV04wU1ZOUFZHbHRaU3hjYmlBZ1pYaDBjbUZqZEVsVFQwOW1abk5sZEN4Y2JpQWdaWGgwY21GamRFbEJUa0ZhYjI1bFhHNHBPMXh1WTI5dWMzUWdaWGgwY21GamRFbFRUMVJwYldWQmJtUlBabVp6WlhRZ1BTQmpiMjFpYVc1bFJYaDBjbUZqZEc5eWN5aGNiaUFnWlhoMGNtRmpkRWxUVDFScGJXVXNYRzRnSUdWNGRISmhZM1JKVTA5UFptWnpaWFFzWEc0Z0lHVjRkSEpoWTNSSlFVNUJXbTl1WlZ4dUtUdGNibHh1THlwY2JpQXFJRUJ3Y21sMllYUmxYRzRnS2k5Y2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIQmhjbk5sU1ZOUFJHRjBaU2h6S1NCN1hHNGdJSEpsZEhWeWJpQndZWEp6WlNoY2JpQWdJQ0J6TEZ4dUlDQWdJRnRwYzI5WmJXUlhhWFJvVkdsdFpVVjRkR1Z1YzJsdmJsSmxaMlY0TENCbGVIUnlZV04wU1ZOUFdXMWtWR2x0WlVGdVpFOW1abk5sZEYwc1hHNGdJQ0FnVzJsemIxZGxaV3RYYVhSb1ZHbHRaVVY0ZEdWdWMybHZibEpsWjJWNExDQmxlSFJ5WVdOMFNWTlBWMlZsYTFScGJXVkJibVJQWm1aelpYUmRMRnh1SUNBZ0lGdHBjMjlQY21ScGJtRnNWMmwwYUZScGJXVkZlSFJsYm5OcGIyNVNaV2RsZUN3Z1pYaDBjbUZqZEVsVFQwOXlaR2x1WVd4RVlYUmxRVzVrVkdsdFpWMHNYRzRnSUNBZ1cybHpiMVJwYldWRGIyMWlhVzVsWkZKbFoyVjRMQ0JsZUhSeVlXTjBTVk5QVkdsdFpVRnVaRTltWm5ObGRGMWNiaUFnS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEJoY25ObFVrWkRNamd5TWtSaGRHVW9jeWtnZTF4dUlDQnlaWFIxY200Z2NHRnljMlVvY0hKbGNISnZZMlZ6YzFKR1F6STRNaklvY3lrc0lGdHlabU15T0RJeUxDQmxlSFJ5WVdOMFVrWkRNamd5TWwwcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY0dGeWMyVklWRlJRUkdGMFpTaHpLU0I3WEc0Z0lISmxkSFZ5YmlCd1lYSnpaU2hjYmlBZ0lDQnpMRnh1SUNBZ0lGdHlabU14TVRJekxDQmxlSFJ5WVdOMFVrWkRNVEV5TTA5eU9EVXdYU3hjYmlBZ0lDQmJjbVpqT0RVd0xDQmxlSFJ5WVdOMFVrWkRNVEV5TTA5eU9EVXdYU3hjYmlBZ0lDQmJZWE5qYVdrc0lHVjRkSEpoWTNSQlUwTkpTVjFjYmlBZ0tUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxTVk5QUkhWeVlYUnBiMjRvY3lrZ2UxeHVJQ0J5WlhSMWNtNGdjR0Z5YzJVb2N5d2dXMmx6YjBSMWNtRjBhVzl1TENCbGVIUnlZV04wU1ZOUFJIVnlZWFJwYjI1ZEtUdGNibjFjYmx4dVkyOXVjM1FnWlhoMGNtRmpkRWxUVDFScGJXVlBibXg1SUQwZ1kyOXRZbWx1WlVWNGRISmhZM1J2Y25Nb1pYaDBjbUZqZEVsVFQxUnBiV1VwTzF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHRnljMlZKVTA5VWFXMWxUMjVzZVNoektTQjdYRzRnSUhKbGRIVnliaUJ3WVhKelpTaHpMQ0JiYVhOdlZHbHRaVTl1Ykhrc0lHVjRkSEpoWTNSSlUwOVVhVzFsVDI1c2VWMHBPMXh1ZlZ4dVhHNWpiMjV6ZENCemNXeFpiV1JYYVhSb1ZHbHRaVVY0ZEdWdWMybHZibEpsWjJWNElEMGdZMjl0WW1sdVpWSmxaMlY0WlhNb2MzRnNXVzFrVW1WblpYZ3NJSE54YkZScGJXVkZlSFJsYm5OcGIyNVNaV2RsZUNrN1hHNWpiMjV6ZENCemNXeFVhVzFsUTI5dFltbHVaV1JTWldkbGVDQTlJR052YldKcGJtVlNaV2RsZUdWektITnhiRlJwYldWU1pXZGxlQ2s3WEc1Y2JtTnZibk4wSUdWNGRISmhZM1JKVTA5VWFXMWxUMlptYzJWMFFXNWtTVUZPUVZwdmJtVWdQU0JqYjIxaWFXNWxSWGgwY21GamRHOXljeWhjYmlBZ1pYaDBjbUZqZEVsVFQxUnBiV1VzWEc0Z0lHVjRkSEpoWTNSSlUwOVBabVp6WlhRc1hHNGdJR1Y0ZEhKaFkzUkpRVTVCV205dVpWeHVLVHRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxVMUZNS0hNcElIdGNiaUFnY21WMGRYSnVJSEJoY25ObEtGeHVJQ0FnSUhNc1hHNGdJQ0FnVzNOeGJGbHRaRmRwZEdoVWFXMWxSWGgwWlc1emFXOXVVbVZuWlhnc0lHVjRkSEpoWTNSSlUwOVpiV1JVYVcxbFFXNWtUMlptYzJWMFhTeGNiaUFnSUNCYmMzRnNWR2x0WlVOdmJXSnBibVZrVW1WblpYZ3NJR1Y0ZEhKaFkzUkpVMDlVYVcxbFQyWm1jMlYwUVc1a1NVRk9RVnB2Ym1WZFhHNGdJQ2s3WEc1OVhHNGlMQ0FpYVcxd2IzSjBJSHNnU1c1MllXeHBaRUZ5WjNWdFpXNTBSWEp5YjNJc0lFbHVkbUZzYVdSRWRYSmhkR2x2YmtWeWNtOXlMQ0JKYm5aaGJHbGtWVzVwZEVWeWNtOXlJSDBnWm5KdmJTQmNJaTR2WlhKeWIzSnpMbXB6WENJN1hHNXBiWEJ2Y25RZ1JtOXliV0YwZEdWeUlHWnliMjBnWENJdUwybHRjR3d2Wm05eWJXRjBkR1Z5TG1welhDSTdYRzVwYlhCdmNuUWdTVzUyWVd4cFpDQm1jbTl0SUZ3aUxpOXBiWEJzTDJsdWRtRnNhV1F1YW5OY0lqdGNibWx0Y0c5eWRDQk1iMk5oYkdVZ1puSnZiU0JjSWk0dmFXMXdiQzlzYjJOaGJHVXVhbk5jSWp0Y2JtbHRjRzl5ZENCN0lIQmhjbk5sU1ZOUFJIVnlZWFJwYjI0c0lIQmhjbk5sU1ZOUFZHbHRaVTl1YkhrZ2ZTQm1jbTl0SUZ3aUxpOXBiWEJzTDNKbFoyVjRVR0Z5YzJWeUxtcHpYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQmhjMDUxYldKbGNpeGNiaUFnYUdGelQzZHVVSEp2Y0dWeWRIa3NYRzRnSUdselRuVnRZbVZ5TEZ4dUlDQnBjMVZ1WkdWbWFXNWxaQ3hjYmlBZ2JtOXliV0ZzYVhwbFQySnFaV04wTEZ4dUlDQnliM1Z1WkZSdkxGeHVmU0JtY205dElGd2lMaTlwYlhCc0wzVjBhV3d1YW5OY0lqdGNibWx0Y0c5eWRDQlRaWFIwYVc1bmN5Qm1jbTl0SUZ3aUxpOXpaWFIwYVc1bmN5NXFjMXdpTzF4dVhHNWpiMjV6ZENCSlRsWkJURWxFSUQwZ1hDSkpiblpoYkdsa0lFUjFjbUYwYVc5dVhDSTdYRzVjYmk4dklIVnVhWFFnWTI5dWRtVnljMmx2YmlCamIyNXpkR0Z1ZEhOY2JtVjRjRzl5ZENCamIyNXpkQ0JzYjNkUGNtUmxjazFoZEhKcGVDQTlJSHRjYmlBZ0lDQjNaV1ZyY3pvZ2UxeHVJQ0FnSUNBZ1pHRjVjem9nTnl4Y2JpQWdJQ0FnSUdodmRYSnpPaUEzSUNvZ01qUXNYRzRnSUNBZ0lDQnRhVzUxZEdWek9pQTNJQ29nTWpRZ0tpQTJNQ3hjYmlBZ0lDQWdJSE5sWTI5dVpITTZJRGNnS2lBeU5DQXFJRFl3SUNvZ05qQXNYRzRnSUNBZ0lDQnRhV3hzYVhObFkyOXVaSE02SURjZ0tpQXlOQ0FxSURZd0lDb2dOakFnS2lBeE1EQXdMRnh1SUNBZ0lIMHNYRzRnSUNBZ1pHRjVjem9nZTF4dUlDQWdJQ0FnYUc5MWNuTTZJREkwTEZ4dUlDQWdJQ0FnYldsdWRYUmxjem9nTWpRZ0tpQTJNQ3hjYmlBZ0lDQWdJSE5sWTI5dVpITTZJREkwSUNvZ05qQWdLaUEyTUN4Y2JpQWdJQ0FnSUcxcGJHeHBjMlZqYjI1a2N6b2dNalFnS2lBMk1DQXFJRFl3SUNvZ01UQXdNQ3hjYmlBZ0lDQjlMRnh1SUNBZ0lHaHZkWEp6T2lCN0lHMXBiblYwWlhNNklEWXdMQ0J6WldOdmJtUnpPaUEyTUNBcUlEWXdMQ0J0YVd4c2FYTmxZMjl1WkhNNklEWXdJQ29nTmpBZ0tpQXhNREF3SUgwc1hHNGdJQ0FnYldsdWRYUmxjem9nZXlCelpXTnZibVJ6T2lBMk1Dd2diV2xzYkdselpXTnZibVJ6T2lBMk1DQXFJREV3TURBZ2ZTeGNiaUFnSUNCelpXTnZibVJ6T2lCN0lHMXBiR3hwYzJWamIyNWtjem9nTVRBd01DQjlMRnh1SUNCOUxGeHVJQ0JqWVhOMVlXeE5ZWFJ5YVhnZ1BTQjdYRzRnSUNBZ2VXVmhjbk02SUh0Y2JpQWdJQ0FnSUhGMVlYSjBaWEp6T2lBMExGeHVJQ0FnSUNBZ2JXOXVkR2h6T2lBeE1peGNiaUFnSUNBZ0lIZGxaV3R6T2lBMU1peGNiaUFnSUNBZ0lHUmhlWE02SURNMk5TeGNiaUFnSUNBZ0lHaHZkWEp6T2lBek5qVWdLaUF5TkN4Y2JpQWdJQ0FnSUcxcGJuVjBaWE02SURNMk5TQXFJREkwSUNvZ05qQXNYRzRnSUNBZ0lDQnpaV052Ym1Sek9pQXpOalVnS2lBeU5DQXFJRFl3SUNvZ05qQXNYRzRnSUNBZ0lDQnRhV3hzYVhObFkyOXVaSE02SURNMk5TQXFJREkwSUNvZ05qQWdLaUEyTUNBcUlERXdNREFzWEc0Z0lDQWdmU3hjYmlBZ0lDQnhkV0Z5ZEdWeWN6b2dlMXh1SUNBZ0lDQWdiVzl1ZEdoek9pQXpMRnh1SUNBZ0lDQWdkMlZsYTNNNklERXpMRnh1SUNBZ0lDQWdaR0Y1Y3pvZ09URXNYRzRnSUNBZ0lDQm9iM1Z5Y3pvZ09URWdLaUF5TkN4Y2JpQWdJQ0FnSUcxcGJuVjBaWE02SURreElDb2dNalFnS2lBMk1DeGNiaUFnSUNBZ0lITmxZMjl1WkhNNklEa3hJQ29nTWpRZ0tpQTJNQ0FxSURZd0xGeHVJQ0FnSUNBZ2JXbHNiR2x6WldOdmJtUnpPaUE1TVNBcUlESTBJQ29nTmpBZ0tpQTJNQ0FxSURFd01EQXNYRzRnSUNBZ2ZTeGNiaUFnSUNCdGIyNTBhSE02SUh0Y2JpQWdJQ0FnSUhkbFpXdHpPaUEwTEZ4dUlDQWdJQ0FnWkdGNWN6b2dNekFzWEc0Z0lDQWdJQ0JvYjNWeWN6b2dNekFnS2lBeU5DeGNiaUFnSUNBZ0lHMXBiblYwWlhNNklETXdJQ29nTWpRZ0tpQTJNQ3hjYmlBZ0lDQWdJSE5sWTI5dVpITTZJRE13SUNvZ01qUWdLaUEyTUNBcUlEWXdMRnh1SUNBZ0lDQWdiV2xzYkdselpXTnZibVJ6T2lBek1DQXFJREkwSUNvZ05qQWdLaUEyTUNBcUlERXdNREFzWEc0Z0lDQWdmU3hjYmx4dUlDQWdJQzR1TG14dmQwOXlaR1Z5VFdGMGNtbDRMRnh1SUNCOUxGeHVJQ0JrWVhselNXNVpaV0Z5UVdOamRYSmhkR1VnUFNBeE5EWXdPVGN1TUNBdklEUXdNQ3hjYmlBZ1pHRjVjMGx1VFc5dWRHaEJZMk4xY21GMFpTQTlJREUwTmpBNU55NHdJQzhnTkRnd01DeGNiaUFnWVdOamRYSmhkR1ZOWVhSeWFYZ2dQU0I3WEc0Z0lDQWdlV1ZoY25NNklIdGNiaUFnSUNBZ0lIRjFZWEowWlhKek9pQTBMRnh1SUNBZ0lDQWdiVzl1ZEdoek9pQXhNaXhjYmlBZ0lDQWdJSGRsWld0ek9pQmtZWGx6U1c1WlpXRnlRV05qZFhKaGRHVWdMeUEzTEZ4dUlDQWdJQ0FnWkdGNWN6b2daR0Y1YzBsdVdXVmhja0ZqWTNWeVlYUmxMRnh1SUNBZ0lDQWdhRzkxY25NNklHUmhlWE5KYmxsbFlYSkJZMk4xY21GMFpTQXFJREkwTEZ4dUlDQWdJQ0FnYldsdWRYUmxjem9nWkdGNWMwbHVXV1ZoY2tGalkzVnlZWFJsSUNvZ01qUWdLaUEyTUN4Y2JpQWdJQ0FnSUhObFkyOXVaSE02SUdSaGVYTkpibGxsWVhKQlkyTjFjbUYwWlNBcUlESTBJQ29nTmpBZ0tpQTJNQ3hjYmlBZ0lDQWdJRzFwYkd4cGMyVmpiMjVrY3pvZ1pHRjVjMGx1V1dWaGNrRmpZM1Z5WVhSbElDb2dNalFnS2lBMk1DQXFJRFl3SUNvZ01UQXdNQ3hjYmlBZ0lDQjlMRnh1SUNBZ0lIRjFZWEowWlhKek9pQjdYRzRnSUNBZ0lDQnRiMjUwYUhNNklETXNYRzRnSUNBZ0lDQjNaV1ZyY3pvZ1pHRjVjMGx1V1dWaGNrRmpZM1Z5WVhSbElDOGdNamdzWEc0Z0lDQWdJQ0JrWVhsek9pQmtZWGx6U1c1WlpXRnlRV05qZFhKaGRHVWdMeUEwTEZ4dUlDQWdJQ0FnYUc5MWNuTTZJQ2hrWVhselNXNVpaV0Z5UVdOamRYSmhkR1VnS2lBeU5Da2dMeUEwTEZ4dUlDQWdJQ0FnYldsdWRYUmxjem9nS0dSaGVYTkpibGxsWVhKQlkyTjFjbUYwWlNBcUlESTBJQ29nTmpBcElDOGdOQ3hjYmlBZ0lDQWdJSE5sWTI5dVpITTZJQ2hrWVhselNXNVpaV0Z5UVdOamRYSmhkR1VnS2lBeU5DQXFJRFl3SUNvZ05qQXBJQzhnTkN4Y2JpQWdJQ0FnSUcxcGJHeHBjMlZqYjI1a2N6b2dLR1JoZVhOSmJsbGxZWEpCWTJOMWNtRjBaU0FxSURJMElDb2dOakFnS2lBMk1DQXFJREV3TURBcElDOGdOQ3hjYmlBZ0lDQjlMRnh1SUNBZ0lHMXZiblJvY3pvZ2UxeHVJQ0FnSUNBZ2QyVmxhM002SUdSaGVYTkpiazF2Ym5Sb1FXTmpkWEpoZEdVZ0x5QTNMRnh1SUNBZ0lDQWdaR0Y1Y3pvZ1pHRjVjMGx1VFc5dWRHaEJZMk4xY21GMFpTeGNiaUFnSUNBZ0lHaHZkWEp6T2lCa1lYbHpTVzVOYjI1MGFFRmpZM1Z5WVhSbElDb2dNalFzWEc0Z0lDQWdJQ0J0YVc1MWRHVnpPaUJrWVhselNXNU5iMjUwYUVGalkzVnlZWFJsSUNvZ01qUWdLaUEyTUN4Y2JpQWdJQ0FnSUhObFkyOXVaSE02SUdSaGVYTkpiazF2Ym5Sb1FXTmpkWEpoZEdVZ0tpQXlOQ0FxSURZd0lDb2dOakFzWEc0Z0lDQWdJQ0J0YVd4c2FYTmxZMjl1WkhNNklHUmhlWE5KYmsxdmJuUm9RV05qZFhKaGRHVWdLaUF5TkNBcUlEWXdJQ29nTmpBZ0tpQXhNREF3TEZ4dUlDQWdJSDBzWEc0Z0lDQWdMaTR1Ykc5M1QzSmtaWEpOWVhSeWFYZ3NYRzRnSUgwN1hHNWNiaTh2SUhWdWFYUnpJRzl5WkdWeVpXUWdZbmtnYzJsNlpWeHVZMjl1YzNRZ2IzSmtaWEpsWkZWdWFYUnpJRDBnVzF4dUlDQmNJbmxsWVhKelhDSXNYRzRnSUZ3aWNYVmhjblJsY25OY0lpeGNiaUFnWENKdGIyNTBhSE5jSWl4Y2JpQWdYQ0ozWldWcmMxd2lMRnh1SUNCY0ltUmhlWE5jSWl4Y2JpQWdYQ0pvYjNWeWMxd2lMRnh1SUNCY0ltMXBiblYwWlhOY0lpeGNiaUFnWENKelpXTnZibVJ6WENJc1hHNGdJRndpYldsc2JHbHpaV052Ym1SelhDSXNYRzVkTzF4dVhHNWpiMjV6ZENCeVpYWmxjbk5sVlc1cGRITWdQU0J2Y21SbGNtVmtWVzVwZEhNdWMyeHBZMlVvTUNrdWNtVjJaWEp6WlNncE8xeHVYRzR2THlCamJHOXVaU0J5WldGc2JIa2diV1ZoYm5NZ1hDSmpjbVZoZEdVZ1lXNXZkR2hsY2lCcGJuTjBZVzVqWlNCcWRYTjBJR3hwYTJVZ2RHaHBjeUJ2Ym1Vc0lHSjFkQ0IzYVhSb0lIUm9aWE5sSUdOb1lXNW5aWE5jSWx4dVpuVnVZM1JwYjI0Z1kyeHZibVVvWkhWeUxDQmhiSFJ6TENCamJHVmhjaUE5SUdaaGJITmxLU0I3WEc0Z0lDOHZJR1JsWlhBZ2JXVnlaMlVnWm05eUlIWmhiSE5jYmlBZ1kyOXVjM1FnWTI5dVppQTlJSHRjYmlBZ0lDQjJZV3gxWlhNNklHTnNaV0Z5SUQ4Z1lXeDBjeTUyWVd4MVpYTWdPaUI3SUM0dUxtUjFjaTUyWVd4MVpYTXNJQzR1TGloaGJIUnpMblpoYkhWbGN5QjhmQ0I3ZlNrZ2ZTeGNiaUFnSUNCc2IyTTZJR1IxY2k1c2IyTXVZMnh2Ym1Vb1lXeDBjeTVzYjJNcExGeHVJQ0FnSUdOdmJuWmxjbk5wYjI1QlkyTjFjbUZqZVRvZ1lXeDBjeTVqYjI1MlpYSnphVzl1UVdOamRYSmhZM2tnZkh3Z1pIVnlMbU52Ym5abGNuTnBiMjVCWTJOMWNtRmplU3hjYmlBZ2ZUdGNiaUFnY21WMGRYSnVJRzVsZHlCRWRYSmhkR2x2YmloamIyNW1LVHRjYm4xY2JseHVablZ1WTNScGIyNGdZVzUwYVZSeWRXNWpLRzRwSUh0Y2JpQWdjbVYwZFhKdUlHNGdQQ0F3SUQ4Z1RXRjBhQzVtYkc5dmNpaHVLU0E2SUUxaGRHZ3VZMlZwYkNodUtUdGNibjFjYmx4dUx5OGdUa0k2SUcxMWRHRjBaWE1nY0dGeVlXMWxkR1Z5YzF4dVpuVnVZM1JwYjI0Z1kyOXVkbVZ5ZENodFlYUnlhWGdzSUdaeWIyMU5ZWEFzSUdaeWIyMVZibWwwTENCMGIwMWhjQ3dnZEc5VmJtbDBLU0I3WEc0Z0lHTnZibk4wSUdOdmJuWWdQU0J0WVhSeWFYaGJkRzlWYm1sMFhWdG1jbTl0Vlc1cGRGMHNYRzRnSUNBZ2NtRjNJRDBnWm5KdmJVMWhjRnRtY205dFZXNXBkRjBnTHlCamIyNTJMRnh1SUNBZ0lITmhiV1ZUYVdkdUlEMGdUV0YwYUM1emFXZHVLSEpoZHlrZ1BUMDlJRTFoZEdndWMybG5iaWgwYjAxaGNGdDBiMVZ1YVhSZEtTeGNiaUFnSUNBdkx5QnZheXdnYzI4Z2RHaHBjeUJwY3lCM2FXeGtMQ0JpZFhRZ2MyVmxJSFJvWlNCdFlYUnlhWGdnYVc0Z2RHaGxJSFJsYzNSelhHNGdJQ0FnWVdSa1pXUWdQVnh1SUNBZ0lDQWdJWE5oYldWVGFXZHVJQ1ltSUhSdlRXRndXM1J2Vlc1cGRGMGdJVDA5SURBZ0ppWWdUV0YwYUM1aFluTW9jbUYzS1NBOFBTQXhJRDhnWVc1MGFWUnlkVzVqS0hKaGR5a2dPaUJOWVhSb0xuUnlkVzVqS0hKaGR5azdYRzRnSUhSdlRXRndXM1J2Vlc1cGRGMGdLejBnWVdSa1pXUTdYRzRnSUdaeWIyMU5ZWEJiWm5KdmJWVnVhWFJkSUMwOUlHRmtaR1ZrSUNvZ1kyOXVkanRjYm4xY2JseHVMeThnVGtJNklHMTFkR0YwWlhNZ2NHRnlZVzFsZEdWeWMxeHVablZ1WTNScGIyNGdibTl5YldGc2FYcGxWbUZzZFdWektHMWhkSEpwZUN3Z2RtRnNjeWtnZTF4dUlDQnlaWFpsY25ObFZXNXBkSE11Y21Wa2RXTmxLQ2h3Y21WMmFXOTFjeXdnWTNWeWNtVnVkQ2tnUFQ0Z2UxeHVJQ0FnSUdsbUlDZ2hhWE5WYm1SbFptbHVaV1FvZG1Gc2MxdGpkWEp5Wlc1MFhTa3BJSHRjYmlBZ0lDQWdJR2xtSUNod2NtVjJhVzkxY3lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjUyWlhKMEtHMWhkSEpwZUN3Z2RtRnNjeXdnY0hKbGRtbHZkWE1zSUhaaGJITXNJR04xY25KbGJuUXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjbVYwZFhKdUlHTjFjbkpsYm5RN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQndjbVYyYVc5MWN6dGNiaUFnSUNCOVhHNGdJSDBzSUc1MWJHd3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFRWdSSFZ5WVhScGIyNGdiMkpxWldOMElISmxjSEpsYzJWdWRITWdZU0J3WlhKcGIyUWdiMllnZEdsdFpTd2diR2xyWlNCY0lqSWdiVzl1ZEdoelhDSWdiM0lnWENJeElHUmhlU3dnTVNCb2IzVnlYQ0l1SUVOdmJtTmxjSFIxWVd4c2VTd2dhWFFuY3lCcWRYTjBJR0VnYldGd0lHOW1JSFZ1YVhSeklIUnZJSFJvWldseUlIRjFZVzUwYVhScFpYTXNJR0ZqWTI5dGNHRnVhV1ZrSUdKNUlITnZiV1VnWVdSa2FYUnBiMjVoYkNCamIyNW1hV2QxY21GMGFXOXVJR0Z1WkNCdFpYUm9iMlJ6SUdadmNpQmpjbVZoZEdsdVp5d2djR0Z5YzJsdVp5d2dhVzUwWlhKeWIyZGhkR2x1Wnl3Z2RISmhibk5tYjNKdGFXNW5MQ0JoYm1RZ1ptOXliV0YwZEdsdVp5QjBhR1Z0TGlCVWFHVjVJR05oYmlCaVpTQjFjMlZrSUc5dUlIUm9aV2x5SUc5M2JpQnZjaUJwYmlCamIyNXFkVzVqZEdsdmJpQjNhWFJvSUc5MGFHVnlJRXgxZUc5dUlIUjVjR1Z6T3lCbWIzSWdaWGhoYlhCc1pTd2dlVzkxSUdOaGJpQjFjMlVnZTBCc2FXNXJJRVJoZEdWVWFXMWxJM0JzZFhOOUlIUnZJR0ZrWkNCaElFUjFjbUYwYVc5dUlHOWlhbVZqZENCMGJ5QmhJRVJoZEdWVWFXMWxMQ0J3Y205a2RXTnBibWNnWVc1dmRHaGxjaUJFWVhSbFZHbHRaUzVjYmlBcVhHNGdLaUJJWlhKbElHbHpJR0VnWW5KcFpXWWdiM1psY25acFpYY2diMllnWTI5dGJXOXViSGtnZFhObFpDQnRaWFJvYjJSeklHRnVaQ0JuWlhSMFpYSnpJR2x1SUVSMWNtRjBhVzl1T2x4dUlDcGNiaUFxSUNvZ0tpcERjbVZoZEdsdmJpb3FJRlJ2SUdOeVpXRjBaU0JoSUVSMWNtRjBhVzl1TENCMWMyVWdlMEJzYVc1cklFUjFjbUYwYVc5dUkyWnliMjFOYVd4c2FYTjlMQ0I3UUd4cGJtc2dSSFZ5WVhScGIyNGpabkp2YlU5aWFtVmpkSDBzSUc5eUlIdEFiR2x1YXlCRWRYSmhkR2x2YmlObWNtOXRTVk5QZlM1Y2JpQXFJQ29nS2lwVmJtbDBJSFpoYkhWbGN5b3FJRk5sWlNCMGFHVWdlMEJzYVc1cklFUjFjbUYwYVc5dUkzbGxZWEp6ZlN3Z2UwQnNhVzVySUVSMWNtRjBhVzl1STIxdmJuUm9jMzBzSUh0QWJHbHVheUJFZFhKaGRHbHZiaU4zWldWcmMzMHNJSHRBYkdsdWF5QkVkWEpoZEdsdmJpTmtZWGx6ZlN3Z2UwQnNhVzVySUVSMWNtRjBhVzl1STJodmRYSnpmU3dnZTBCc2FXNXJJRVIxY21GMGFXOXVJMjFwYm5WMFpYTjlMQ0I3UUd4cGJtc2dSSFZ5WVhScGIyNGpjMlZqYjI1a2MzMHNJSHRBYkdsdWF5QkVkWEpoZEdsdmJpTnRhV3hzYVhObFkyOXVaSE45SUdGalkyVnpjMjl5Y3k1Y2JpQXFJQ29nS2lwRGIyNW1hV2QxY21GMGFXOXVLaW9nVTJWbElDQjdRR3hwYm1zZ1JIVnlZWFJwYjI0amJHOWpZV3hsZlNCaGJtUWdlMEJzYVc1cklFUjFjbUYwYVc5dUkyNTFiV0psY21sdVoxTjVjM1JsYlgwZ1lXTmpaWE56YjNKekxseHVJQ29nS2lBcUtsUnlZVzV6Wm05eWJXRjBhVzl1S2lvZ1ZHOGdZM0psWVhSbElHNWxkeUJFZFhKaGRHbHZibk1nYjNWMElHOW1JRzlzWkNCdmJtVnpJSFZ6WlNCN1FHeHBibXNnUkhWeVlYUnBiMjRqY0d4MWMzMHNJSHRBYkdsdWF5QkVkWEpoZEdsdmJpTnRhVzUxYzMwc0lIdEFiR2x1YXlCRWRYSmhkR2x2YmlOdWIzSnRZV3hwZW1WOUxDQjdRR3hwYm1zZ1JIVnlZWFJwYjI0amMyVjBmU3dnZTBCc2FXNXJJRVIxY21GMGFXOXVJM0psWTI5dVptbG5kWEpsZlN3Z2UwQnNhVzVySUVSMWNtRjBhVzl1STNOb2FXWjBWRzk5TENCaGJtUWdlMEJzYVc1cklFUjFjbUYwYVc5dUkyNWxaMkYwWlgwdVhHNGdLaUFxSUNvcVQzVjBjSFYwS2lvZ1ZHOGdZMjl1ZG1WeWRDQjBhR1VnUkhWeVlYUnBiMjRnYVc1MGJ5QnZkR2hsY2lCeVpYQnlaWE5sYm5SaGRHbHZibk1zSUhObFpTQjdRR3hwYm1zZ1JIVnlZWFJwYjI0allYTjlMQ0I3UUd4cGJtc2dSSFZ5WVhScGIyNGpkRzlKVTA5OUxDQjdRR3hwYm1zZ1JIVnlZWFJwYjI0amRHOUdiM0p0WVhSOUxDQmhibVFnZTBCc2FXNXJJRVIxY21GMGFXOXVJM1J2U2xOUFRuMWNiaUFxWEc0Z0tpQlVhR1Z5WlNkeklHRnlaU0J0YjNKbElHMWxkR2h2WkhNZ1pHOWpkVzFsYm5SbFpDQmlaV3h2ZHk0Z1NXNGdZV1JrYVhScGIyNHNJR1p2Y2lCdGIzSmxJR2x1Wm05eWJXRjBhVzl1SUc5dUlITjFZblJzWlhJZ2RHOXdhV056SUd4cGEyVWdhVzUwWlhKdVlYUnBiMjVoYkdsNllYUnBiMjRnWVc1a0lIWmhiR2xrYVhSNUxDQnpaV1VnZEdobElHVjRkR1Z5Ym1Gc0lHUnZZM1Z0Wlc1MFlYUnBiMjR1WEc0Z0tpOWNibVY0Y0c5eWRDQmtaV1poZFd4MElHTnNZWE56SUVSMWNtRjBhVzl1SUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRUJ3Y21sMllYUmxYRzRnSUNBcUwxeHVJQ0JqYjI1emRISjFZM1J2Y2loamIyNW1hV2NwSUh0Y2JpQWdJQ0JqYjI1emRDQmhZMk4xY21GMFpTQTlJR052Ym1acFp5NWpiMjUyWlhKemFXOXVRV05qZFhKaFkza2dQVDA5SUZ3aWJHOXVaM1JsY20xY0lpQjhmQ0JtWVd4elpUdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkFZV05qWlhOeklIQnlhWFpoZEdWY2JpQWdJQ0FnS2k5Y2JpQWdJQ0IwYUdsekxuWmhiSFZsY3lBOUlHTnZibVpwWnk1MllXeDFaWE03WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUUdGalkyVnpjeUJ3Y21sMllYUmxYRzRnSUNBZ0lDb3ZYRzRnSUNBZ2RHaHBjeTVzYjJNZ1BTQmpiMjVtYVdjdWJHOWpJSHg4SUV4dlkyRnNaUzVqY21WaGRHVW9LVHRjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJBWVdOalpYTnpJSEJ5YVhaaGRHVmNiaUFnSUNBZ0tpOWNiaUFnSUNCMGFHbHpMbU52Ym5abGNuTnBiMjVCWTJOMWNtRmplU0E5SUdGalkzVnlZWFJsSUQ4Z1hDSnNiMjVuZEdWeWJWd2lJRG9nWENKallYTjFZV3hjSWp0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQVlXTmpaWE56SUhCeWFYWmhkR1ZjYmlBZ0lDQWdLaTljYmlBZ0lDQjBhR2x6TG1sdWRtRnNhV1FnUFNCamIyNW1hV2N1YVc1MllXeHBaQ0I4ZkNCdWRXeHNPMXh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRUJoWTJObGMzTWdjSEpwZG1GMFpWeHVJQ0FnSUNBcUwxeHVJQ0FnSUhSb2FYTXViV0YwY21sNElEMGdZV05qZFhKaGRHVWdQeUJoWTJOMWNtRjBaVTFoZEhKcGVDQTZJR05oYzNWaGJFMWhkSEpwZUR0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQVlXTmpaWE56SUhCeWFYWmhkR1ZjYmlBZ0lDQWdLaTljYmlBZ0lDQjBhR2x6TG1selRIVjRiMjVFZFhKaGRHbHZiaUE5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJRVIxY21GMGFXOXVJR1p5YjIwZ1lTQnVkVzFpWlhJZ2IyWWdiV2xzYkdselpXTnZibVJ6TGx4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdZMjkxYm5RZ2IyWWdiV2xzYkdselpXTnZibVJ6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJ6SUMwZ2IzQjBhVzl1Y3lCbWIzSWdjR0Z5YzJsdVoxeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXViRzlqWVd4bFBTZGxiaTFWVXlkZElDMGdkR2hsSUd4dlkyRnNaU0IwYnlCMWMyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RITXViblZ0WW1WeWFXNW5VM2x6ZEdWdElDMGdkR2hsSUc1MWJXSmxjbWx1WnlCemVYTjBaVzBnZEc4Z2RYTmxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVqYjI1MlpYSnphVzl1UVdOamRYSmhZM2s5SjJOaGMzVmhiQ2RkSUMwZ2RHaGxJR052Ym5abGNuTnBiMjRnYzNsemRHVnRJSFJ2SUhWelpWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0RWRYSmhkR2x2Ym4xY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCbWNtOXRUV2xzYkdsektHTnZkVzUwTENCdmNIUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJ0YVd4c2FYTmxZMjl1WkhNNklHTnZkVzUwSUgwc0lHOXdkSE1wTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlNCaElFUjFjbUYwYVc5dUlHWnliMjBnWVNCS1lYWmhVMk55YVhCMElHOWlhbVZqZENCM2FYUm9JR3RsZVhNZ2JHbHJaU0FuZVdWaGNuTW5JR0Z1WkNBbmFHOTFjbk1uTGx4dUlDQWdLaUJKWmlCMGFHbHpJRzlpYW1WamRDQnBjeUJsYlhCMGVTQjBhR1Z1SUdFZ2VtVnlieUJ0YVd4c2FYTmxZMjl1WkhNZ1pIVnlZWFJwYjI0Z2FYTWdjbVYwZFhKdVpXUXVYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdlltb2dMU0IwYUdVZ2IySnFaV04wSUhSdklHTnlaV0YwWlNCMGFHVWdSR0YwWlZScGJXVWdabkp2YlZ4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdiMkpxTG5sbFlYSnpYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdlltb3VjWFZoY25SbGNuTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUc5aWFpNXRiMjUwYUhOY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRzlpYWk1M1pXVnJjMXh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2IySnFMbVJoZVhOY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRzlpYWk1b2IzVnljMXh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2IySnFMbTFwYm5WMFpYTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUc5aWFpNXpaV052Ym1SelhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0J2WW1vdWJXbHNiR2x6WldOdmJtUnpYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCYmIzQjBjejFiWFYwZ0xTQnZjSFJwYjI1eklHWnZjaUJqY21WaGRHbHVaeUIwYUdseklFUjFjbUYwYVc5dVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXNiMk5oYkdVOUoyVnVMVlZUSjEwZ0xTQjBhR1VnYkc5allXeGxJSFJ2SUhWelpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnYjNCMGN5NXVkVzFpWlhKcGJtZFRlWE4wWlcwZ0xTQjBhR1VnYm5WdFltVnlhVzVuSUhONWMzUmxiU0IwYnlCMWMyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dmNIUnpMbU52Ym5abGNuTnBiMjVCWTJOMWNtRmplVDBuWTJGemRXRnNKMTBnTFNCMGFHVWdZMjl1ZG1WeWMybHZiaUJ6ZVhOMFpXMGdkRzhnZFhObFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBSMWNtRjBhVzl1ZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdaeWIyMVBZbXBsWTNRb2IySnFMQ0J2Y0hSeklEMGdlMzBwSUh0Y2JpQWdJQ0JwWmlBb2IySnFJRDA5SUc1MWJHd2dmSHdnZEhsd1pXOW1JRzlpYWlBaFBUMGdYQ0p2WW1wbFkzUmNJaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRtRnNhV1JCY21kMWJXVnVkRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkRG9nWVhKbmRXMWxiblFnWlhod1pXTjBaV1FnZEc4Z1ltVWdZVzRnYjJKcVpXTjBMQ0JuYjNRZ0pIdGNiaUFnSUNBZ0lDQWdJQ0J2WW1vZ1BUMDlJRzUxYkd3Z1B5QmNJbTUxYkd4Y0lpQTZJSFI1Y0dWdlppQnZZbXBjYmlBZ0lDQWdJQ0FnZldCY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzVsZHlCRWRYSmhkR2x2YmloN1hHNGdJQ0FnSUNCMllXeDFaWE02SUc1dmNtMWhiR2w2WlU5aWFtVmpkQ2h2WW1vc0lFUjFjbUYwYVc5dUxtNXZjbTFoYkdsNlpWVnVhWFFwTEZ4dUlDQWdJQ0FnYkc5ak9pQk1iMk5oYkdVdVpuSnZiVTlpYW1WamRDaHZjSFJ6S1N4Y2JpQWdJQ0FnSUdOdmJuWmxjbk5wYjI1QlkyTjFjbUZqZVRvZ2IzQjBjeTVqYjI1MlpYSnphVzl1UVdOamRYSmhZM2tzWEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ1JIVnlZWFJwYjI0Z1puSnZiU0JFZFhKaGRHbHZia3hwYTJVdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMElId2diblZ0WW1WeUlId2dSSFZ5WVhScGIyNTlJR1IxY21GMGFXOXVUR2xyWlZ4dUlDQWdLaUJQYm1VZ2IyWTZYRzRnSUNBcUlDMGdiMkpxWldOMElIZHBkR2dnYTJWNWN5QnNhV3RsSUNkNVpXRnljeWNnWVc1a0lDZG9iM1Z5Y3ljdVhHNGdJQ0FxSUMwZ2JuVnRZbVZ5SUhKbGNISmxjMlZ1ZEdsdVp5QnRhV3hzYVhObFkyOXVaSE5jYmlBZ0lDb2dMU0JFZFhKaGRHbHZiaUJwYm5OMFlXNWpaVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVkWEpoZEdsdmJuMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm1jbTl0UkhWeVlYUnBiMjVNYVd0bEtHUjFjbUYwYVc5dVRHbHJaU2tnZTF4dUlDQWdJR2xtSUNocGMwNTFiV0psY2loa2RYSmhkR2x2Ymt4cGEyVXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSSFZ5WVhScGIyNHVabkp2YlUxcGJHeHBjeWhrZFhKaGRHbHZia3hwYTJVcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1JIVnlZWFJwYjI0dWFYTkVkWEpoZEdsdmJpaGtkWEpoZEdsdmJreHBhMlVwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWkhWeVlYUnBiMjVNYVd0bE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUdSMWNtRjBhVzl1VEdsclpTQTlQVDBnWENKdlltcGxZM1JjSWlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb1pIVnlZWFJwYjI1TWFXdGxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkbUZzYVdSQmNtZDFiV1Z1ZEVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JnVlc1cmJtOTNiaUJrZFhKaGRHbHZiaUJoY21kMWJXVnVkQ0FrZTJSMWNtRjBhVzl1VEdsclpYMGdiMllnZEhsd1pTQWtlM1I1Y0dWdlppQmtkWEpoZEdsdmJreHBhMlY5WUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ1JIVnlZWFJwYjI0Z1puSnZiU0JoYmlCSlUwOGdPRFl3TVNCa2RYSmhkR2x2YmlCemRISnBibWN1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQjBaWGgwSUMwZ2RHVjRkQ0IwYnlCd1lYSnpaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUc5d2RHbHZibk1nWm05eUlIQmhjbk5wYm1kY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hSekxteHZZMkZzWlQwblpXNHRWVk1uWFNBdElIUm9aU0JzYjJOaGJHVWdkRzhnZFhObFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J2Y0hSekxtNTFiV0psY21sdVoxTjVjM1JsYlNBdElIUm9aU0J1ZFcxaVpYSnBibWNnYzNsemRHVnRJSFJ2SUhWelpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXVZMjl1ZG1WeWMybHZia0ZqWTNWeVlXTjVQU2RqWVhOMVlXd25YU0F0SUhSb1pTQmpiMjUyWlhKemFXOXVJSE41YzNSbGJTQjBieUIxYzJWY2JpQWdJQ29nUUhObFpTQm9kSFJ3Y3pvdkwyVnVMbmRwYTJsd1pXUnBZUzV2Y21jdmQybHJhUzlKVTA5Zk9EWXdNU05FZFhKaGRHbHZibk5jYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlVsVFR5Z25VRE5aTmsweFZ6UkVWREV5U0RNd1RUVlRKeWt1ZEc5UFltcGxZM1FvS1NBdkx6MCtJSHNnZVdWaGNuTTZJRE1zSUcxdmJuUm9jem9nTml3Z2QyVmxhM002SURFc0lHUmhlWE02SURRc0lHaHZkWEp6T2lBeE1pd2diV2x1ZFhSbGN6b2dNekFzSUhObFkyOXVaSE02SURVZ2ZWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRWRYSmhkR2x2Ymk1bWNtOXRTVk5QS0NkUVZESXpTQ2NwTG5SdlQySnFaV04wS0NrZ0x5ODlQaUI3SUdodmRYSnpPaUF5TXlCOVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMUpVMDhvSjFBMVdUTk5KeWt1ZEc5UFltcGxZM1FvS1NBdkx6MCtJSHNnZVdWaGNuTTZJRFVzSUcxdmJuUm9jem9nTXlCOVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBSMWNtRjBhVzl1ZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdaeWIyMUpVMDhvZEdWNGRDd2diM0IwY3lrZ2UxeHVJQ0FnSUdOdmJuTjBJRnR3WVhKelpXUmRJRDBnY0dGeWMyVkpVMDlFZFhKaGRHbHZiaWgwWlhoMEtUdGNiaUFnSUNCcFppQW9jR0Z5YzJWa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaHdZWEp6WldRc0lHOXdkSE1wTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1JIVnlZWFJwYjI0dWFXNTJZV3hwWkNoY0luVnVjR0Z5YzJGaWJHVmNJaXdnWUhSb1pTQnBibkIxZENCY0lpUjdkR1Y0ZEgxY0lpQmpZVzRuZENCaVpTQndZWEp6WldRZ1lYTWdTVk5QSURnMk1ERmdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0VnUkhWeVlYUnBiMjRnWm5KdmJTQmhiaUJKVTA4Z09EWXdNU0IwYVcxbElITjBjbWx1Wnk1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSFJsZUhRZ0xTQjBaWGgwSUhSdklIQmhjbk5sWEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJ6SUMwZ2IzQjBhVzl1Y3lCbWIzSWdjR0Z5YzJsdVoxeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXViRzlqWVd4bFBTZGxiaTFWVXlkZElDMGdkR2hsSUd4dlkyRnNaU0IwYnlCMWMyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RITXViblZ0WW1WeWFXNW5VM2x6ZEdWdElDMGdkR2hsSUc1MWJXSmxjbWx1WnlCemVYTjBaVzBnZEc4Z2RYTmxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVqYjI1MlpYSnphVzl1UVdOamRYSmhZM2s5SjJOaGMzVmhiQ2RkSUMwZ2RHaGxJR052Ym5abGNuTnBiMjRnYzNsemRHVnRJSFJ2SUhWelpWeHVJQ0FnS2lCQWMyVmxJR2gwZEhCek9pOHZaVzR1ZDJscmFYQmxaR2xoTG05eVp5OTNhV3RwTDBsVFQxODROakF4STFScGJXVnpYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUjFjbUYwYVc5dUxtWnliMjFKVTA5VWFXMWxLQ2N4TVRveU1qb3pNeTQwTkRRbktTNTBiMDlpYW1WamRDZ3BJQzh2UFQ0Z2V5Qm9iM1Z5Y3pvZ01URXNJRzFwYm5WMFpYTTZJREl5TENCelpXTnZibVJ6T2lBek15d2diV2xzYkdselpXTnZibVJ6T2lBME5EUWdmVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVkWEpoZEdsdmJpNW1jbTl0U1ZOUFZHbHRaU2duTVRFNk1EQW5LUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJvYjNWeWN6b2dNVEVzSUcxcGJuVjBaWE02SURBc0lITmxZMjl1WkhNNklEQWdmVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVkWEpoZEdsdmJpNW1jbTl0U1ZOUFZHbHRaU2duVkRFeE9qQXdKeWt1ZEc5UFltcGxZM1FvS1NBdkx6MCtJSHNnYUc5MWNuTTZJREV4TENCdGFXNTFkR1Z6T2lBd0xDQnpaV052Ym1Sek9pQXdJSDFjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlVsVFQxUnBiV1VvSnpFeE1EQW5LUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJvYjNWeWN6b2dNVEVzSUcxcGJuVjBaWE02SURBc0lITmxZMjl1WkhNNklEQWdmVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVkWEpoZEdsdmJpNW1jbTl0U1ZOUFZHbHRaU2duVkRFeE1EQW5LUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJvYjNWeWN6b2dNVEVzSUcxcGJuVjBaWE02SURBc0lITmxZMjl1WkhNNklEQWdmVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVkWEpoZEdsdmJuMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm1jbTl0U1ZOUFZHbHRaU2gwWlhoMExDQnZjSFJ6S1NCN1hHNGdJQ0FnWTI5dWMzUWdXM0JoY25ObFpGMGdQU0J3WVhKelpVbFRUMVJwYldWUGJteDVLSFJsZUhRcE8xeHVJQ0FnSUdsbUlDaHdZWEp6WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIQmhjbk5sWkN3Z2IzQjBjeWs3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCRWRYSmhkR2x2Ymk1cGJuWmhiR2xrS0Z3aWRXNXdZWEp6WVdKc1pWd2lMQ0JnZEdobElHbHVjSFYwSUZ3aUpIdDBaWGgwZlZ3aUlHTmhiaWQwSUdKbElIQmhjbk5sWkNCaGN5QkpVMDhnT0RZd01XQXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVWdZVzRnYVc1MllXeHBaQ0JFZFhKaGRHbHZiaTVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlISmxZWE52YmlBdElITnBiWEJzWlNCemRISnBibWNnYjJZZ2QyaDVJSFJvYVhNZ1pHRjBaWFJwYldVZ2FYTWdhVzUyWVd4cFpDNGdVMmh2ZFd4a0lHNXZkQ0JqYjI1MFlXbHVJSEJoY21GdFpYUmxjbk1nYjNJZ1lXNTVkR2hwYm1jZ1pXeHpaU0JrWVhSaExXUmxjR1Z1WkdWdWRGeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzJWNGNHeGhibUYwYVc5dVBXNTFiR3hkSUMwZ2JHOXVaMlZ5SUdWNGNHeGhibUYwYVc5dUxDQnRZWGtnYVc1amJIVmtaU0J3WVhKaGJXVjBaWEp6SUdGdVpDQnZkR2hsY2lCMWMyVm1kV3dnWkdWaWRXZG5hVzVuSUdsdVptOXliV0YwYVc5dVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBSMWNtRjBhVzl1ZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdsdWRtRnNhV1FvY21WaGMyOXVMQ0JsZUhCc1lXNWhkR2x2YmlBOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb0lYSmxZWE52YmlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkbUZzYVdSQmNtZDFiV1Z1ZEVWeWNtOXlLRndpYm1WbFpDQjBieUJ6Y0dWamFXWjVJR0VnY21WaGMyOXVJSFJvWlNCRWRYSmhkR2x2YmlCcGN5QnBiblpoYkdsa1hDSXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdsdWRtRnNhV1FnUFNCeVpXRnpiMjRnYVc1emRHRnVZMlZ2WmlCSmJuWmhiR2xrSUQ4Z2NtVmhjMjl1SURvZ2JtVjNJRWx1ZG1Gc2FXUW9jbVZoYzI5dUxDQmxlSEJzWVc1aGRHbHZiaWs3WEc1Y2JpQWdJQ0JwWmlBb1UyVjBkR2x1WjNNdWRHaHliM2RQYmtsdWRtRnNhV1FwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuWmhiR2xrUkhWeVlYUnBiMjVGY25KdmNpaHBiblpoYkdsa0tUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCRWRYSmhkR2x2YmloN0lHbHVkbUZzYVdRZ2ZTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJ3Y21sMllYUmxYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdibTl5YldGc2FYcGxWVzVwZENoMWJtbDBLU0I3WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV0ZzYVhwbFpDQTlJSHRjYmlBZ0lDQWdJSGxsWVhJNklGd2llV1ZoY25OY0lpeGNiaUFnSUNBZ0lIbGxZWEp6T2lCY0lubGxZWEp6WENJc1hHNGdJQ0FnSUNCeGRXRnlkR1Z5T2lCY0luRjFZWEowWlhKelhDSXNYRzRnSUNBZ0lDQnhkV0Z5ZEdWeWN6b2dYQ0p4ZFdGeWRHVnljMXdpTEZ4dUlDQWdJQ0FnYlc5dWRHZzZJRndpYlc5dWRHaHpYQ0lzWEc0Z0lDQWdJQ0J0YjI1MGFITTZJRndpYlc5dWRHaHpYQ0lzWEc0Z0lDQWdJQ0IzWldWck9pQmNJbmRsWld0elhDSXNYRzRnSUNBZ0lDQjNaV1ZyY3pvZ1hDSjNaV1ZyYzF3aUxGeHVJQ0FnSUNBZ1pHRjVPaUJjSW1SaGVYTmNJaXhjYmlBZ0lDQWdJR1JoZVhNNklGd2laR0Y1YzF3aUxGeHVJQ0FnSUNBZ2FHOTFjam9nWENKb2IzVnljMXdpTEZ4dUlDQWdJQ0FnYUc5MWNuTTZJRndpYUc5MWNuTmNJaXhjYmlBZ0lDQWdJRzFwYm5WMFpUb2dYQ0p0YVc1MWRHVnpYQ0lzWEc0Z0lDQWdJQ0J0YVc1MWRHVnpPaUJjSW0xcGJuVjBaWE5jSWl4Y2JpQWdJQ0FnSUhObFkyOXVaRG9nWENKelpXTnZibVJ6WENJc1hHNGdJQ0FnSUNCelpXTnZibVJ6T2lCY0luTmxZMjl1WkhOY0lpeGNiaUFnSUNBZ0lHMXBiR3hwYzJWamIyNWtPaUJjSW0xcGJHeHBjMlZqYjI1a2Mxd2lMRnh1SUNBZ0lDQWdiV2xzYkdselpXTnZibVJ6T2lCY0ltMXBiR3hwYzJWamIyNWtjMXdpTEZ4dUlDQWdJSDFiZFc1cGRDQS9JSFZ1YVhRdWRHOU1iM2RsY2tOaGMyVW9LU0E2SUhWdWFYUmRPMXh1WEc0Z0lDQWdhV1lnS0NGdWIzSnRZV3hwZW1Wa0tTQjBhSEp2ZHlCdVpYY2dTVzUyWVd4cFpGVnVhWFJGY25KdmNpaDFibWwwS1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ1YjNKdFlXeHBlbVZrTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTm9aV05ySUdsbUlHRnVJRzlpYW1WamRDQnBjeUJoSUVSMWNtRjBhVzl1TGlCWGIzSnJjeUJoWTNKdmMzTWdZMjl1ZEdWNGRDQmliM1Z1WkdGeWFXVnpYRzRnSUNBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCdlhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYVhORWRYSmhkR2x2YmlodktTQjdYRzRnSUNBZ2NtVjBkWEp1SUNodklDWW1JRzh1YVhOTWRYaHZia1IxY21GMGFXOXVLU0I4ZkNCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdJSFJvWlNCc2IyTmhiR1VnYjJZZ1lTQkVkWEpoZEdsdmJpd2djM1ZqYUNBblpXNHRSMEluWEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYkc5allXeGxLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbXh2WXk1c2IyTmhiR1VnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYm5WdFltVnlhVzVuSUhONWMzUmxiU0J2WmlCaElFUjFjbUYwYVc5dUxDQnpkV05vSUNkaVpXNW5KeTRnVkdobElHNTFiV0psY21sdVp5QnplWE4wWlcwZ2FYTWdkWE5sWkNCM2FHVnVJR1p2Y20xaGRIUnBibWNnZEdobElFUjFjbUYwYVc5dVhHNGdJQ0FxWEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYm5WdFltVnlhVzVuVTNsemRHVnRLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbXh2WXk1dWRXMWlaWEpwYm1kVGVYTjBaVzBnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWVNCemRISnBibWNnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdocGN5QkVkWEpoZEdsdmJpQm1iM0p0WVhSMFpXUWdZV05qYjNKa2FXNW5JSFJ2SUhSb1pTQnpjR1ZqYVdacFpXUWdabTl5YldGMElITjBjbWx1Wnk0Z1dXOTFJRzFoZVNCMWMyVWdkR2hsYzJVZ2RHOXJaVzV6T2x4dUlDQWdLaUFxSUdCVFlDQm1iM0lnYldsc2JHbHpaV052Ym1SelhHNGdJQ0FxSUNvZ1lITmdJR1p2Y2lCelpXTnZibVJ6WEc0Z0lDQXFJQ29nWUcxZ0lHWnZjaUJ0YVc1MWRHVnpYRzRnSUNBcUlDb2dZR2hnSUdadmNpQm9iM1Z5YzF4dUlDQWdLaUFxSUdCa1lDQm1iM0lnWkdGNWMxeHVJQ0FnS2lBcUlHQjNZQ0JtYjNJZ2QyVmxhM05jYmlBZ0lDb2dLaUJnVFdBZ1ptOXlJRzF2Ym5Sb2MxeHVJQ0FnS2lBcUlHQjVZQ0JtYjNJZ2VXVmhjbk5jYmlBZ0lDb2dUbTkwWlhNNlhHNGdJQ0FxSUNvZ1FXUmtJSEJoWkdScGJtY2dZbmtnY21Wd1pXRjBhVzVuSUhSb1pTQjBiMnRsYml3Z1pTNW5MaUJjSW5sNVhDSWdjR0ZrY3lCMGFHVWdlV1ZoY25NZ2RHOGdkSGR2SUdScFoybDBjeXdnWENKb2FHaG9YQ0lnY0dGa2N5QjBhR1VnYUc5MWNuTWdiM1YwSUhSdklHWnZkWElnWkdsbmFYUnpYRzRnSUNBcUlDb2dWRzlyWlc1eklHTmhiaUJpWlNCbGMyTmhjR1ZrSUdKNUlIZHlZWEJ3YVc1bklIZHBkR2dnYzJsdVoyeGxJSEYxYjNSbGN5NWNiaUFnSUNvZ0tpQlVhR1VnWkhWeVlYUnBiMjRnZDJsc2JDQmlaU0JqYjI1MlpYSjBaV1FnZEc4Z2RHaGxJSE5sZENCdlppQjFibWwwY3lCcGJpQjBhR1VnWm05eWJXRjBJSE4wY21sdVp5QjFjMmx1WnlCN1FHeHBibXNnUkhWeVlYUnBiMjRqYzJocFpuUlViMzBnWVc1a0lIUm9aU0JFZFhKaGRHbHZibk1uY3lCamIyNTJaWEp6YVc5dUlHRmpZM1Z5WVdONUlITmxkSFJwYm1jdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JtYlhRZ0xTQjBhR1VnWm05eWJXRjBJSE4wY21sdVoxeHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGN5QXRJRzl3ZEdsdmJuTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmIzQjBjeTVtYkc5dmNqMTBjblZsWFNBdElHWnNiMjl5SUc1MWJXVnlhV05oYkNCMllXeDFaWE5jYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUhsbFlYSnpPaUF4TENCa1lYbHpPaUEyTENCelpXTnZibVJ6T2lBeUlIMHBMblJ2Um05eWJXRjBLRndpZVNCa0lITmNJaWtnTHk4OVBpQmNJakVnTmlBeVhDSmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJSGxsWVhKek9pQXhMQ0JrWVhsek9pQTJMQ0J6WldOdmJtUnpPaUF5SUgwcExuUnZSbTl5YldGMEtGd2llWGtnWkdRZ2MzTnpYQ0lwSUM4dlBUNGdYQ0l3TVNBd05pQXdNREpjSWx4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2VXVmhjbk02SURFc0lHUmhlWE02SURZc0lITmxZMjl1WkhNNklESWdmU2t1ZEc5R2IzSnRZWFFvWENKTklGTmNJaWtnTHk4OVBpQmNJakV5SURVeE9EUXdNakF3TUZ3aVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhSdlJtOXliV0YwS0dadGRDd2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdMeThnY21WMlpYSnpaUzFqYjIxd1lYUWdjMmx1WTJVZ01TNHlPeUIzWlNCaGJIZGhlWE1nY205MWJtUWdaRzkzYmlCdWIzY3NJRzVsZG1WeUlIVndMQ0JoYm1RZ2QyVWdaRzhnYVhRZ1lua2daR1ZtWVhWc2RGeHVJQ0FnSUdOdmJuTjBJR1p0ZEU5d2RITWdQU0I3WEc0Z0lDQWdJQ0F1TGk1dmNIUnpMRnh1SUNBZ0lDQWdabXh2YjNJNklHOXdkSE11Y205MWJtUWdJVDA5SUdaaGJITmxJQ1ltSUc5d2RITXVabXh2YjNJZ0lUMDlJR1poYkhObExGeHVJQ0FnSUgwN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkZ4dUlDQWdJQ0FnUHlCR2IzSnRZWFIwWlhJdVkzSmxZWFJsS0hSb2FYTXViRzlqTENCbWJYUlBjSFJ6S1M1bWIzSnRZWFJFZFhKaGRHbHZia1p5YjIxVGRISnBibWNvZEdocGN5d2dabTEwS1Z4dUlDQWdJQ0FnT2lCSlRsWkJURWxFTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ1lTQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lTQkVkWEpoZEdsdmJpQjNhWFJvSUdGc2JDQjFibWwwY3lCcGJtTnNkV1JsWkM1Y2JpQWdJQ29nVkc4Z2JXOWthV1o1SUdsMGN5QmlaV2hoZG1sdmNpQjFjMlVnZEdobElHQnNhWE4wVTNSNWJHVmdJR0Z1WkNCaGJua2dTVzUwYkM1T2RXMWlaWEpHYjNKdFlYUWdiM0IwYVc5dUxDQjBhRzkxWjJnZ1lIVnVhWFJFYVhOd2JHRjVZQ0JwY3lCbGMzQmxZMmxoYkd4NUlISmxiR1YyWVc1MExseHVJQ0FnS2lCQWMyVmxJR2gwZEhCek9pOHZaR1YyWld4dmNHVnlMbTF2ZW1sc2JHRXViM0puTDJWdUxWVlRMMlJ2WTNNdlYyVmlMMHBoZG1GVFkzSnBjSFF2VW1WbVpYSmxibU5sTDBkc2IySmhiRjlQWW1wbFkzUnpMMGx1ZEd3dlRuVnRZbVZ5Um05eWJXRjBYRzRnSUNBcUlFQndZWEpoYlNCdmNIUnpJQzBnVDI0Z2IzQjBhVzl1SUc5aWFtVmpkQ0IwYnlCdmRtVnljbWxrWlNCMGFHVWdabTl5YldGMGRHbHVaeTRnUVdOalpYQjBjeUIwYUdVZ2MyRnRaU0JyWlhseklHRnpJSFJvWlNCdmNIUnBiMjV6SUhCaGNtRnRaWFJsY2lCdlppQjBhR1VnYm1GMGFYWmxJR0JKYm5RdVRuVnRZbVZ5Um05eWJXRjBZQ0JqYjI1emRISjFZM1J2Y2l3Z1lYTWdkMlZzYkNCaGN5QmdiR2x6ZEZOMGVXeGxZQzVjYmlBZ0lDb2dRR1Y0WVcxd2JHVmNiaUFnSUNvZ1lHQmdhbk5jYmlBZ0lDb2dkbUZ5SUdSMWNpQTlJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCa1lYbHpPaUF4TENCb2IzVnljem9nTlN3Z2JXbHVkWFJsY3pvZ05pQjlLVnh1SUNBZ0tpQmtkWEl1ZEc5SWRXMWhiaWdwSUM4dlBUNGdKekVnWkdGNUxDQTFJR2h2ZFhKekxDQTJJRzFwYm5WMFpYTW5YRzRnSUNBcUlHUjFjaTUwYjBoMWJXRnVLSHNnYkdsemRGTjBlV3hsT2lCY0lteHZibWRjSWlCOUtTQXZMejArSUNjeElHUmhlU3dnTlNCb2IzVnljeXdnWVc1a0lEWWdiV2x1ZFhSbGN5ZGNiaUFnSUNvZ1pIVnlMblJ2U0hWdFlXNG9leUIxYm1sMFJHbHpjR3hoZVRvZ1hDSnphRzl5ZEZ3aUlIMHBJQzh2UFQ0Z0p6RWdaR0Y1TENBMUlHaHlMQ0EySUcxcGJpZGNiaUFnSUNvZ1lHQmdYRzRnSUNBcUwxeHVJQ0IwYjBoMWJXRnVLRzl3ZEhNZ1BTQjdmU2tnZTF4dUlDQWdJR052Ym5OMElHd2dQU0J2Y21SbGNtVmtWVzVwZEhOY2JpQWdJQ0FnSUM1dFlYQW9LSFZ1YVhRcElEMCtJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkbUZzSUQwZ2RHaHBjeTUyWVd4MVpYTmJkVzVwZEYwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzFWdVpHVm1hVzVsWkNoMllXd3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWJHOWpYRzRnSUNBZ0lDQWdJQ0FnTG01MWJXSmxja1p2Y20xaGRIUmxjaWg3SUhOMGVXeGxPaUJjSW5WdWFYUmNJaXdnZFc1cGRFUnBjM0JzWVhrNklGd2liRzl1WjF3aUxDQXVMaTV2Y0hSekxDQjFibWwwT2lCMWJtbDBMbk5zYVdObEtEQXNJQzB4S1NCOUtWeHVJQ0FnSUNBZ0lDQWdJQzVtYjNKdFlYUW9kbUZzS1R0Y2JpQWdJQ0FnSUgwcFhHNGdJQ0FnSUNBdVptbHNkR1Z5S0NodUtTQTlQaUJ1S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxteHZZMXh1SUNBZ0lDQWdMbXhwYzNSR2IzSnRZWFIwWlhJb2V5QjBlWEJsT2lCY0ltTnZibXAxYm1OMGFXOXVYQ0lzSUhOMGVXeGxPaUJ2Y0hSekxteHBjM1JUZEhsc1pTQjhmQ0JjSW01aGNuSnZkMXdpTENBdUxpNXZjSFJ6SUgwcFhHNGdJQ0FnSUNBdVptOXliV0YwS0d3cE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZU0JLWVhaaFUyTnlhWEIwSUc5aWFtVmpkQ0IzYVhSb0lIUm9hWE1nUkhWeVlYUnBiMjRuY3lCMllXeDFaWE11WEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCNVpXRnljem9nTVN3Z1pHRjVjem9nTml3Z2MyVmpiMjVrY3pvZ01pQjlLUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUI1WldGeWN6b2dNU3dnWkdGNWN6b2dOaXdnYzJWamIyNWtjem9nTWlCOVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhSdlQySnFaV04wS0NrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnZTMwN1hHNGdJQ0FnY21WMGRYSnVJSHNnTGk0dWRHaHBjeTUyWVd4MVpYTWdmVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlFbFRUeUE0TmpBeExXTnZiWEJzYVdGdWRDQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaHBjeUJFZFhKaGRHbHZiaTVjYmlBZ0lDb2dRSE5sWlNCb2RIUndjem92TDJWdUxuZHBhMmx3WldScFlTNXZjbWN2ZDJscmFTOUpVMDlmT0RZd01TTkVkWEpoZEdsdmJuTmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJSGxsWVhKek9pQXpMQ0J6WldOdmJtUnpPaUEwTlNCOUtTNTBiMGxUVHlncElDOHZQVDRnSjFBeldWUTBOVk1uWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCdGIyNTBhSE02SURRc0lITmxZMjl1WkhNNklEUTFJSDBwTG5SdlNWTlBLQ2tnTHk4OVBpQW5VRFJOVkRRMVV5ZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJRzF2Ym5Sb2N6b2dOU0I5S1M1MGIwbFRUeWdwSUM4dlBUNGdKMUExVFNkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHMXBiblYwWlhNNklEVWdmU2t1ZEc5SlUwOG9LU0F2THowK0lDZFFWRFZOSjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2JXbHNiR2x6WldOdmJtUnpPaUEySUgwcExuUnZTVk5QS0NrZ0x5ODlQaUFuVUZRd0xqQXdObE1uWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSFJ2U1ZOUEtDa2dlMXh1SUNBZ0lDOHZJSGRsSUdOdmRXeGtJSFZ6WlNCMGFHVWdabTl5YldGMGRHVnlMQ0JpZFhRZ2RHaHBjeUJwY3lCaGJpQmxZWE5wWlhJZ2QyRjVJSFJ2SUdkbGRDQjBhR1VnYldsdWFXMTFiU0J6ZEhKcGJtZGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTldZV3hwWkNrZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ0lDQnNaWFFnY3lBOUlGd2lVRndpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbmxsWVhKeklDRTlQU0F3S1NCeklDczlJSFJvYVhNdWVXVmhjbk1nS3lCY0lsbGNJanRjYmlBZ0lDQnBaaUFvZEdocGN5NXRiMjUwYUhNZ0lUMDlJREFnZkh3Z2RHaHBjeTV4ZFdGeWRHVnljeUFoUFQwZ01Da2djeUFyUFNCMGFHbHpMbTF2Ym5Sb2N5QXJJSFJvYVhNdWNYVmhjblJsY25NZ0tpQXpJQ3NnWENKTlhDSTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWQyVmxhM01nSVQwOUlEQXBJSE1nS3owZ2RHaHBjeTUzWldWcmN5QXJJRndpVjF3aU8xeHVJQ0FnSUdsbUlDaDBhR2x6TG1SaGVYTWdJVDA5SURBcElITWdLejBnZEdocGN5NWtZWGx6SUNzZ1hDSkVYQ0k3WEc0Z0lDQWdhV1lnS0hSb2FYTXVhRzkxY25NZ0lUMDlJREFnZkh3Z2RHaHBjeTV0YVc1MWRHVnpJQ0U5UFNBd0lIeDhJSFJvYVhNdWMyVmpiMjVrY3lBaFBUMGdNQ0I4ZkNCMGFHbHpMbTFwYkd4cGMyVmpiMjVrY3lBaFBUMGdNQ2xjYmlBZ0lDQWdJSE1nS3owZ1hDSlVYQ0k3WEc0Z0lDQWdhV1lnS0hSb2FYTXVhRzkxY25NZ0lUMDlJREFwSUhNZ0t6MGdkR2hwY3k1b2IzVnljeUFySUZ3aVNGd2lPMXh1SUNBZ0lHbG1JQ2gwYUdsekxtMXBiblYwWlhNZ0lUMDlJREFwSUhNZ0t6MGdkR2hwY3k1dGFXNTFkR1Z6SUNzZ1hDSk5YQ0k3WEc0Z0lDQWdhV1lnS0hSb2FYTXVjMlZqYjI1a2N5QWhQVDBnTUNCOGZDQjBhR2x6TG0xcGJHeHBjMlZqYjI1a2N5QWhQVDBnTUNsY2JpQWdJQ0FnSUM4dklIUm9hWE1nZDJsc2JDQm9ZVzVrYkdVZ1hDSm1iRzloZEdsdVp5QndiMmx1ZENCdFlXUnVaWE56WENJZ1lua2djbVZ0YjNacGJtY2daWGgwY21FZ1pHVmphVzFoYkNCd2JHRmpaWE5jYmlBZ0lDQWdJQzh2SUdoMGRIQnpPaTh2YzNSaFkydHZkbVZ5Wm14dmR5NWpiMjB2Y1hWbGMzUnBiMjV6THpVNE9EQXdOQzlwY3kxbWJHOWhkR2x1Wnkxd2IybHVkQzF0WVhSb0xXSnliMnRsYmx4dUlDQWdJQ0FnY3lBclBTQnliM1Z1WkZSdktIUm9hWE11YzJWamIyNWtjeUFySUhSb2FYTXViV2xzYkdselpXTnZibVJ6SUM4Z01UQXdNQ3dnTXlrZ0t5QmNJbE5jSWp0Y2JpQWdJQ0JwWmlBb2N5QTlQVDBnWENKUVhDSXBJSE1nS3owZ1hDSlVNRk5jSWp0Y2JpQWdJQ0J5WlhSMWNtNGdjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlFbFRUeUE0TmpBeExXTnZiWEJzYVdGdWRDQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaHBjeUJFZFhKaGRHbHZiaXdnWm05eWJXRjBkR1ZrSUdGeklHRWdkR2x0WlNCdlppQmtZWGt1WEc0Z0lDQXFJRTV2ZEdVZ2RHaGhkQ0IwYUdseklIZHBiR3dnY21WMGRYSnVJRzUxYkd3Z2FXWWdkR2hsSUdSMWNtRjBhVzl1SUdseklHbHVkbUZzYVdRc0lHNWxaMkYwYVhabExDQnZjaUJsY1hWaGJDQjBieUJ2Y2lCbmNtVmhkR1Z5SUhSb1lXNGdNalFnYUc5MWNuTXVYRzRnSUNBcUlFQnpaV1VnYUhSMGNITTZMeTlsYmk1M2FXdHBjR1ZrYVdFdWIzSm5MM2RwYTJrdlNWTlBYemcyTURFalZHbHRaWE5jYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkSE1nTFNCdmNIUnBiMjV6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMjl3ZEhNdWMzVndjSEpsYzNOTmFXeHNhWE5sWTI5dVpITTlabUZzYzJWZElDMGdaWGhqYkhWa1pTQnRhV3hzYVhObFkyOXVaSE1nWm5KdmJTQjBhR1VnWm05eWJXRjBJR2xtSUhSb1pYa25jbVVnTUZ4dUlDQWdLaUJBY0dGeVlXMGdlMkp2YjJ4bFlXNTlJRnR2Y0hSekxuTjFjSEJ5WlhOelUyVmpiMjVrY3oxbVlXeHpaVjBnTFNCbGVHTnNkV1JsSUhObFkyOXVaSE1nWm5KdmJTQjBhR1VnWm05eWJXRjBJR2xtSUhSb1pYa25jbVVnTUZ4dUlDQWdLaUJBY0dGeVlXMGdlMkp2YjJ4bFlXNTlJRnR2Y0hSekxtbHVZMngxWkdWUWNtVm1hWGc5Wm1Gc2MyVmRJQzBnYVc1amJIVmtaU0IwYUdVZ1lGUmdJSEJ5WldacGVGeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXVabTl5YldGMFBTZGxlSFJsYm1SbFpDZGRJQzBnWTJodmIzTmxJR0psZEhkbFpXNGdkR2hsSUdKaGMybGpJR0Z1WkNCbGVIUmxibVJsWkNCbWIzSnRZWFJjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUdodmRYSnpPaUF4TVNCOUtTNTBiMGxUVDFScGJXVW9LU0F2THowK0lDY3hNVG93TURvd01DNHdNREFuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCb2IzVnljem9nTVRFZ2ZTa3VkRzlKVTA5VWFXMWxLSHNnYzNWd2NISmxjM05OYVd4c2FYTmxZMjl1WkhNNklIUnlkV1VnZlNrZ0x5ODlQaUFuTVRFNk1EQTZNREFuWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCb2IzVnljem9nTVRFZ2ZTa3VkRzlKVTA5VWFXMWxLSHNnYzNWd2NISmxjM05UWldOdmJtUnpPaUIwY25WbElIMHBJQzh2UFQ0Z0p6RXhPakF3SjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2FHOTFjbk02SURFeElIMHBMblJ2U1ZOUFZHbHRaU2g3SUdsdVkyeDFaR1ZRY21WbWFYZzZJSFJ5ZFdVZ2ZTa2dMeTg5UGlBblZERXhPakF3T2pBd0xqQXdNQ2RjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUdodmRYSnpPaUF4TVNCOUtTNTBiMGxUVDFScGJXVW9leUJtYjNKdFlYUTZJQ2RpWVhOcFl5Y2dmU2tnTHk4OVBpQW5NVEV3TURBd0xqQXdNQ2RjYmlBZ0lDb2dRSEpsZEhWeWJpQjdjM1J5YVc1bmZWeHVJQ0FnS2k5Y2JpQWdkRzlKVTA5VWFXMWxLRzl3ZEhNZ1BTQjdmU2tnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0J5WlhSMWNtNGdiblZzYkR0Y2JseHVJQ0FnSUdOdmJuTjBJRzFwYkd4cGN5QTlJSFJvYVhNdWRHOU5hV3hzYVhNb0tUdGNiaUFnSUNCcFppQW9iV2xzYkdseklEd2dNQ0I4ZkNCdGFXeHNhWE1nUGowZ09EWTBNREF3TURBcElISmxkSFZ5YmlCdWRXeHNPMXh1WEc0Z0lDQWdiM0IwY3lBOUlIdGNiaUFnSUNBZ0lITjFjSEJ5WlhOelRXbHNiR2x6WldOdmJtUnpPaUJtWVd4elpTeGNiaUFnSUNBZ0lITjFjSEJ5WlhOelUyVmpiMjVrY3pvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0JwYm1Oc2RXUmxVSEpsWm1sNE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUdadmNtMWhkRG9nWENKbGVIUmxibVJsWkZ3aUxGeHVJQ0FnSUNBZ0xpNHViM0IwY3l4Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnWTI5dWMzUWdkbUZzZFdVZ1BTQjBhR2x6TG5Ob2FXWjBWRzhvWENKb2IzVnljMXdpTENCY0ltMXBiblYwWlhOY0lpd2dYQ0p6WldOdmJtUnpYQ0lzSUZ3aWJXbHNiR2x6WldOdmJtUnpYQ0lwTzF4dVhHNGdJQ0FnYkdWMElHWnRkQ0E5SUc5d2RITXVabTl5YldGMElEMDlQU0JjSW1KaGMybGpYQ0lnUHlCY0ltaG9iVzFjSWlBNklGd2lhR2c2YlcxY0lqdGNibHh1SUNBZ0lHbG1JQ2doYjNCMGN5NXpkWEJ3Y21WemMxTmxZMjl1WkhNZ2ZId2dkbUZzZFdVdWMyVmpiMjVrY3lBaFBUMGdNQ0I4ZkNCMllXeDFaUzV0YVd4c2FYTmxZMjl1WkhNZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdadGRDQXJQU0J2Y0hSekxtWnZjbTFoZENBOVBUMGdYQ0ppWVhOcFkxd2lJRDhnWENKemMxd2lJRG9nWENJNmMzTmNJanRjYmlBZ0lDQWdJR2xtSUNnaGIzQjBjeTV6ZFhCd2NtVnpjMDFwYkd4cGMyVmpiMjVrY3lCOGZDQjJZV3gxWlM1dGFXeHNhWE5sWTI5dVpITWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdabTEwSUNzOUlGd2lMbE5UVTF3aU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUd4bGRDQnpkSElnUFNCMllXeDFaUzUwYjBadmNtMWhkQ2htYlhRcE8xeHVYRzRnSUNBZ2FXWWdLRzl3ZEhNdWFXNWpiSFZrWlZCeVpXWnBlQ2tnZTF4dUlDQWdJQ0FnYzNSeUlEMGdYQ0pVWENJZ0t5QnpkSEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlITjBjanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlFbFRUeUE0TmpBeElISmxjSEpsYzJWdWRHRjBhVzl1SUc5bUlIUm9hWE1nUkhWeVlYUnBiMjRnWVhCd2NtOXdjbWxoZEdVZ1ptOXlJSFZ6WlNCcGJpQktVMDlPTGx4dUlDQWdLaUJBY21WMGRYSnVJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0IwYjBwVFQwNG9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5SlUwOG9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlFbFRUeUE0TmpBeElISmxjSEpsYzJWdWRHRjBhVzl1SUc5bUlIUm9hWE1nUkhWeVlYUnBiMjRnWVhCd2NtOXdjbWxoZEdVZ1ptOXlJSFZ6WlNCcGJpQmtaV0oxWjJkcGJtY3VYRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZVM1J5YVc1bktDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblJ2U1ZOUEtDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJoYmlCdGFXeHNhWE5sWTI5dVpITWdkbUZzZFdVZ2IyWWdkR2hwY3lCRWRYSmhkR2x2Ymk1Y2JpQWdJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnZEc5TmFXeHNhWE1vS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVlYTW9YQ0p0YVd4c2FYTmxZMjl1WkhOY0lpazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJoYmlCdGFXeHNhWE5sWTI5dVpITWdkbUZzZFdVZ2IyWWdkR2hwY3lCRWRYSmhkR2x2Ymk0Z1FXeHBZWE1nYjJZZ2UwQnNhVzVySUhSdlRXbHNiR2x6ZlZ4dUlDQWdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0IyWVd4MVpVOW1LQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5SdlRXbHNiR2x6S0NrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dUV0ZyWlNCMGFHbHpJRVIxY21GMGFXOXVJR3h2Ym1kbGNpQmllU0IwYUdVZ2MzQmxZMmxtYVdWa0lHRnRiM1Z1ZEM0Z1VtVjBkWEp1SUdFZ2JtVjNiSGt0WTI5dWMzUnlkV04wWldRZ1JIVnlZWFJwYjI0dVhHNGdJQ0FxSUVCd1lYSmhiU0I3UkhWeVlYUnBiMjU4VDJKcVpXTjBmRzUxYldKbGNuMGdaSFZ5WVhScGIyNGdMU0JVYUdVZ1lXMXZkVzUwSUhSdklHRmtaQzRnUldsMGFHVnlJR0VnVEhWNGIyNGdSSFZ5WVhScGIyNHNJR0VnYm5WdFltVnlJRzltSUcxcGJHeHBjMlZqYjI1a2N5d2dkR2hsSUc5aWFtVmpkQ0JoY21kMWJXVnVkQ0IwYnlCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtDbGNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JIVnlZWFJwYjI1OVhHNGdJQ0FxTDF4dUlDQndiSFZ6S0dSMWNtRjBhVzl1S1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FwSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUNBZ1kyOXVjM1FnWkhWeUlEMGdSSFZ5WVhScGIyNHVabkp2YlVSMWNtRjBhVzl1VEdsclpTaGtkWEpoZEdsdmJpa3NYRzRnSUNBZ0lDQnlaWE4xYkhRZ1BTQjdmVHRjYmx4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnYXlCdlppQnZjbVJsY21Wa1ZXNXBkSE1wSUh0Y2JpQWdJQ0FnSUdsbUlDaG9ZWE5QZDI1UWNtOXdaWEowZVNoa2RYSXVkbUZzZFdWekxDQnJLU0I4ZkNCb1lYTlBkMjVRY205d1pYSjBlU2gwYUdsekxuWmhiSFZsY3l3Z2F5a3BJSHRjYmlBZ0lDQWdJQ0FnY21WemRXeDBXMnRkSUQwZ1pIVnlMbWRsZENocktTQXJJSFJvYVhNdVoyVjBLR3NwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQmpiRzl1WlNoMGFHbHpMQ0I3SUhaaGJIVmxjem9nY21WemRXeDBJSDBzSUhSeWRXVXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUUxaGEyVWdkR2hwY3lCRWRYSmhkR2x2YmlCemFHOXlkR1Z5SUdKNUlIUm9aU0J6Y0dWamFXWnBaV1FnWVcxdmRXNTBMaUJTWlhSMWNtNGdZU0J1Wlhkc2VTMWpiMjV6ZEhKMVkzUmxaQ0JFZFhKaGRHbHZiaTVjYmlBZ0lDb2dRSEJoY21GdElIdEVkWEpoZEdsdmJueFBZbXBsWTNSOGJuVnRZbVZ5ZlNCa2RYSmhkR2x2YmlBdElGUm9aU0JoYlc5MWJuUWdkRzhnYzNWaWRISmhZM1F1SUVWcGRHaGxjaUJoSUV4MWVHOXVJRVIxY21GMGFXOXVMQ0JoSUc1MWJXSmxjaUJ2WmlCdGFXeHNhWE5sWTI5dVpITXNJSFJvWlNCdlltcGxZM1FnWVhKbmRXMWxiblFnZEc4Z1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDZ3BYRzRnSUNBcUlFQnlaWFIxY200Z2UwUjFjbUYwYVc5dWZWeHVJQ0FnS2k5Y2JpQWdiV2x1ZFhNb1pIVnlZWFJwYjI0cElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTldZV3hwWkNrZ2NtVjBkWEp1SUhSb2FYTTdYRzVjYmlBZ0lDQmpiMjV6ZENCa2RYSWdQU0JFZFhKaGRHbHZiaTVtY205dFJIVnlZWFJwYjI1TWFXdGxLR1IxY21GMGFXOXVLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV3YkhWektHUjFjaTV1WldkaGRHVW9LU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1UyTmhiR1VnZEdocGN5QkVkWEpoZEdsdmJpQmllU0IwYUdVZ2MzQmxZMmxtYVdWa0lHRnRiM1Z1ZEM0Z1VtVjBkWEp1SUdFZ2JtVjNiSGt0WTI5dWMzUnlkV04wWldRZ1JIVnlZWFJwYjI0dVhHNGdJQ0FxSUVCd1lYSmhiU0I3Wm5WdVkzUnBiMjU5SUdadUlDMGdWR2hsSUdaMWJtTjBhVzl1SUhSdklHRndjR3g1SUhSdklHVmhZMmdnZFc1cGRDNGdRWEpwZEhrZ2FYTWdNU0J2Y2lBeU9pQjBhR1VnZG1Gc2RXVWdiMllnZEdobElIVnVhWFFnWVc1a0xDQnZjSFJwYjI1aGJHeDVMQ0IwYUdVZ2RXNXBkQ0J1WVcxbExpQk5kWE4wSUhKbGRIVnliaUJoSUc1MWJXSmxjaTVjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUdodmRYSnpPaUF4TENCdGFXNTFkR1Z6T2lBek1DQjlLUzV0WVhCVmJtbDBjeWg0SUQwK0lIZ2dLaUF5S1NBdkx6MCtJSHNnYUc5MWNuTTZJRElzSUcxcGJuVjBaWE02SURZd0lIMWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJR2h2ZFhKek9pQXhMQ0J0YVc1MWRHVnpPaUF6TUNCOUtTNXRZWEJWYm1sMGN5Z29lQ3dnZFNrZ1BUNGdkU0E5UFQwZ1hDSm9iM1Z5WENJZ1B5QjRJQ29nTWlBNklIZ3BJQzh2UFQ0Z2V5Qm9iM1Z5Y3pvZ01pd2diV2x1ZFhSbGN6b2dNekFnZlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRFZFhKaGRHbHZibjFjYmlBZ0lDb3ZYRzRnSUcxaGNGVnVhWFJ6S0dadUtTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lHTnZibk4wSUhKbGMzVnNkQ0E5SUh0OU8xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2F5QnZaaUJQWW1wbFkzUXVhMlY1Y3loMGFHbHpMblpoYkhWbGN5a3BJSHRjYmlBZ0lDQWdJSEpsYzNWc2RGdHJYU0E5SUdGelRuVnRZbVZ5S0dadUtIUm9hWE11ZG1Gc2RXVnpXMnRkTENCcktTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJqYkc5dVpTaDBhR2x6TENCN0lIWmhiSFZsY3pvZ2NtVnpkV3gwSUgwc0lIUnlkV1VwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2RtRnNkV1VnYjJZZ2RXNXBkQzVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlIVnVhWFFnTFNCaElIVnVhWFFnYzNWamFDQmhjeUFuYldsdWRYUmxKeUJ2Y2lBblpHRjVKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHQ1WldGeWN6b2dNaXdnWkdGNWN6b2dNMzBwTG1kbGRDZ25lV1ZoY25NbktTQXZMejArSURKY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN2VXVmhjbk02SURJc0lHUmhlWE02SUROOUtTNW5aWFFvSjIxdmJuUm9jeWNwSUM4dlBUNGdNRnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHQ1WldGeWN6b2dNaXdnWkdGNWN6b2dNMzBwTG1kbGRDZ25aR0Y1Y3ljcElDOHZQVDRnTTF4dUlDQWdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRb2RXNXBkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6VzBSMWNtRjBhVzl1TG01dmNtMWhiR2w2WlZWdWFYUW9kVzVwZENsZE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRndpVTJWMFhDSWdkR2hsSUhaaGJIVmxjeUJ2WmlCemNHVmphV1pwWldRZ2RXNXBkSE11SUZKbGRIVnliaUJoSUc1bGQyeDVMV052Ym5OMGNuVmpkR1ZrSUVSMWNtRjBhVzl1TGx4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdkbUZzZFdWeklDMGdZU0J0WVhCd2FXNW5JRzltSUhWdWFYUnpJSFJ2SUc1MWJXSmxjbk5jYmlBZ0lDb2dRR1Y0WVcxd2JHVWdaSFZ5TG5ObGRDaDdJSGxsWVhKek9pQXlNREUzSUgwcFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUdSMWNpNXpaWFFvZXlCb2IzVnljem9nT0N3Z2JXbHVkWFJsY3pvZ016QWdmU2xjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSSFZ5WVhScGIyNTlYRzRnSUNBcUwxeHVJQ0J6WlhRb2RtRnNkV1Z6S1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FwSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUNBZ1kyOXVjM1FnYldsNFpXUWdQU0I3SUM0dUxuUm9hWE11ZG1Gc2RXVnpMQ0F1TGk1dWIzSnRZV3hwZW1WUFltcGxZM1FvZG1Gc2RXVnpMQ0JFZFhKaGRHbHZiaTV1YjNKdFlXeHBlbVZWYm1sMEtTQjlPMXh1SUNBZ0lISmxkSFZ5YmlCamJHOXVaU2gwYUdsekxDQjdJSFpoYkhWbGN6b2diV2w0WldRZ2ZTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nWENKVFpYUmNJaUIwYUdVZ2JHOWpZV3hsSUdGdVpDOXZjaUJ1ZFcxaVpYSnBibWRUZVhOMFpXMHVJQ0JTWlhSMWNtNXpJR0VnYm1WM2JIa3RZMjl1YzNSeWRXTjBaV1FnUkhWeVlYUnBiMjR1WEc0Z0lDQXFJRUJsZUdGdGNHeGxJR1IxY2k1eVpXTnZibVpwWjNWeVpTaDdJR3h2WTJGc1pUb2dKMlZ1TFVkQ0p5QjlLVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVkWEpoZEdsdmJuMWNiaUFnSUNvdlhHNGdJSEpsWTI5dVptbG5kWEpsS0hzZ2JHOWpZV3hsTENCdWRXMWlaWEpwYm1kVGVYTjBaVzBzSUdOdmJuWmxjbk5wYjI1QlkyTjFjbUZqZVNCOUlEMGdlMzBwSUh0Y2JpQWdJQ0JqYjI1emRDQnNiMk1nUFNCMGFHbHpMbXh2WXk1amJHOXVaU2g3SUd4dlkyRnNaU3dnYm5WdFltVnlhVzVuVTNsemRHVnRJSDBwTEZ4dUlDQWdJQ0FnYjNCMGN5QTlJSHNnYkc5aklIMDdYRzVjYmlBZ0lDQnBaaUFvWTI5dWRtVnljMmx2YmtGalkzVnlZV041S1NCN1hHNGdJQ0FnSUNCdmNIUnpMbU52Ym5abGNuTnBiMjVCWTJOMWNtRmplU0E5SUdOdmJuWmxjbk5wYjI1QlkyTjFjbUZqZVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZMnh2Ym1Vb2RHaHBjeXdnYjNCMGN5azdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJSFJvWlNCc1pXNW5kR2dnYjJZZ2RHaGxJR1IxY21GMGFXOXVJR2x1SUhSb1pTQnpjR1ZqYVdacFpXUWdkVzVwZEM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSFZ1YVhRZ0xTQmhJSFZ1YVhRZ2MzVmphQ0JoY3lBbmJXbHVkWFJsY3ljZ2IzSWdKMlJoZVhNblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2UzbGxZWEp6T2lBeGZTa3VZWE1vSjJSaGVYTW5LU0F2THowK0lETTJOVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHQ1WldGeWN6b2dNWDBwTG1GektDZHRiMjUwYUhNbktTQXZMejArSURFeVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2UyaHZkWEp6T2lBMk1IMHBMbUZ6S0Nka1lYbHpKeWtnTHk4OVBpQXlMalZjYmlBZ0lDb2dRSEpsZEhWeWJpQjdiblZ0WW1WeWZWeHVJQ0FnS2k5Y2JpQWdZWE1vZFc1cGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUIwYUdsekxuTm9hV1owVkc4b2RXNXBkQ2t1WjJWMEtIVnVhWFFwSURvZ1RtRk9PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbFpIVmpaU0IwYUdseklFUjFjbUYwYVc5dUlIUnZJR2wwY3lCallXNXZibWxqWVd3Z2NtVndjbVZ6Wlc1MFlYUnBiMjRnYVc0Z2FYUnpJR04xY25KbGJuUWdkVzVwZEhNdVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5QjVaV0Z5Y3pvZ01pd2daR0Y1Y3pvZ05UQXdNQ0I5S1M1dWIzSnRZV3hwZW1Vb0tTNTBiMDlpYW1WamRDZ3BJQzh2UFQ0Z2V5QjVaV0Z5Y3pvZ01UVXNJR1JoZVhNNklESTFOU0I5WEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCb2IzVnljem9nTVRJc0lHMXBiblYwWlhNNklDMDBOU0I5S1M1dWIzSnRZV3hwZW1Vb0tTNTBiMDlpYW1WamRDZ3BJQzh2UFQ0Z2V5Qm9iM1Z5Y3pvZ01URXNJRzFwYm5WMFpYTTZJREUxSUgxY2JpQWdJQ29nUUhKbGRIVnliaUI3UkhWeVlYUnBiMjU5WEc0Z0lDQXFMMXh1SUNCdWIzSnRZV3hwZW1Vb0tTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lHTnZibk4wSUhaaGJITWdQU0IwYUdsekxuUnZUMkpxWldOMEtDazdYRzRnSUNBZ2JtOXliV0ZzYVhwbFZtRnNkV1Z6S0hSb2FYTXViV0YwY21sNExDQjJZV3h6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdZMnh2Ym1Vb2RHaHBjeXdnZXlCMllXeDFaWE02SUhaaGJITWdmU3dnZEhKMVpTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTI5dWRtVnlkQ0IwYUdseklFUjFjbUYwYVc5dUlHbHVkRzhnYVhSeklISmxjSEpsYzJWdWRHRjBhVzl1SUdsdUlHRWdaR2xtWm1WeVpXNTBJSE5sZENCdlppQjFibWwwY3k1Y2JpQWdJQ29nUUdWNFlXMXdiR1VnUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHaHZkWEp6T2lBeExDQnpaV052Ym1Sek9pQXpNQ0I5S1M1emFHbG1kRlJ2S0NkdGFXNTFkR1Z6Snl3Z0oyMXBiR3hwYzJWamIyNWtjeWNwTG5SdlQySnFaV04wS0NrZ0x5ODlQaUI3SUcxcGJuVjBaWE02SURZd0xDQnRhV3hzYVhObFkyOXVaSE02SURNd01EQXdJSDFjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSSFZ5WVhScGIyNTlYRzRnSUNBcUwxeHVJQ0J6YUdsbWRGUnZLQzR1TG5WdWFYUnpLU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUXBJSEpsZEhWeWJpQjBhR2x6TzF4dVhHNGdJQ0FnYVdZZ0tIVnVhWFJ6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkVzVwZEhNZ1BTQjFibWwwY3k1dFlYQW9LSFVwSUQwK0lFUjFjbUYwYVc5dUxtNXZjbTFoYkdsNlpWVnVhWFFvZFNrcE8xeHVYRzRnSUNBZ1kyOXVjM1FnWW5WcGJIUWdQU0I3ZlN4Y2JpQWdJQ0FnSUdGalkzVnRkV3hoZEdWa0lEMGdlMzBzWEc0Z0lDQWdJQ0IyWVd4eklEMGdkR2hwY3k1MGIwOWlhbVZqZENncE8xeHVJQ0FnSUd4bGRDQnNZWE4wVlc1cGREdGNibHh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdheUJ2WmlCdmNtUmxjbVZrVlc1cGRITXBJSHRjYmlBZ0lDQWdJR2xtSUNoMWJtbDBjeTVwYm1SbGVFOW1LR3NwSUQ0OUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYkdGemRGVnVhWFFnUFNCck8xeHVYRzRnSUNBZ0lDQWdJR3hsZENCdmQyNGdQU0F3TzF4dVhHNGdJQ0FnSUNBZ0lDOHZJR0Z1ZVhSb2FXNW5JSGRsSUdoaGRtVnVKM1FnWW05cGJHVmtJR1J2ZDI0Z2VXVjBJSE5vYjNWc1pDQm5aWFFnWW05cGJHVmtJSFJ2SUhSb2FYTWdkVzVwZEZ4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHRnJJR2x1SUdGalkzVnRkV3hoZEdWa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNkdUlDczlJSFJvYVhNdWJXRjBjbWw0VzJGclhWdHJYU0FxSUdGalkzVnRkV3hoZEdWa1cyRnJYVHRjYmlBZ0lDQWdJQ0FnSUNCaFkyTjFiWFZzWVhSbFpGdGhhMTBnUFNBd08xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnTHk4Z2NHeDFjeUJoYm5sMGFHbHVaeUIwYUdGMEozTWdZV3h5WldGa2VTQnBiaUIwYUdseklIVnVhWFJjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpUblZ0WW1WeUtIWmhiSE5iYTEwcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNkdUlDczlJSFpoYkhOYmExMDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCamIyNXpkQ0JwSUQwZ1RXRjBhQzUwY25WdVl5aHZkMjRwTzF4dUlDQWdJQ0FnSUNCaWRXbHNkRnRyWFNBOUlHazdYRzRnSUNBZ0lDQWdJR0ZqWTNWdGRXeGhkR1ZrVzJ0ZElEMGdLRzkzYmlBcUlERXdNREFnTFNCcElDb2dNVEF3TUNrZ0x5QXhNREF3TzF4dVhHNGdJQ0FnSUNBZ0lDOHZJSEJzZFhNZ1lXNTVkR2hwYm1jZ1puVnlkR2hsY2lCa2IzZHVJSFJvWlNCamFHRnBiaUIwYUdGMElITm9iM1ZzWkNCaVpTQnliMnhzWldRZ2RYQWdhVzRnZEc4Z2RHaHBjMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdSdmQyNGdhVzRnZG1Gc2N5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHZjbVJsY21Wa1ZXNXBkSE11YVc1a1pYaFBaaWhrYjNkdUtTQStJRzl5WkdWeVpXUlZibWwwY3k1cGJtUmxlRTltS0dzcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNTJaWEowS0hSb2FYTXViV0YwY21sNExDQjJZV3h6TENCa2IzZHVMQ0JpZFdsc2RDd2dheWs3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQzh2SUc5MGFHVnlkMmx6WlN3Z2EyVmxjQ0JwZENCcGJpQjBhR1VnZDJsdVozTWdkRzhnWW05cGJDQnBkQ0JzWVhSbGNseHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaHBjMDUxYldKbGNpaDJZV3h6VzJ0ZEtTa2dlMXh1SUNBZ0lDQWdJQ0JoWTJOMWJYVnNZWFJsWkZ0clhTQTlJSFpoYkhOYmExMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdZVzU1ZEdocGJtY2diR1ZtZEc5MlpYSWdZbVZqYjIxbGN5QjBhR1VnWkdWamFXMWhiQ0JtYjNJZ2RHaGxJR3hoYzNRZ2RXNXBkRnh1SUNBZ0lDOHZJR3hoYzNSVmJtbDBJRzExYzNRZ1ltVWdaR1ZtYVc1bFpDQnphVzVqWlNCMWJtbDBjeUJwY3lCdWIzUWdaVzF3ZEhsY2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUd0bGVTQnBiaUJoWTJOMWJYVnNZWFJsWkNrZ2UxeHVJQ0FnSUNBZ2FXWWdLR0ZqWTNWdGRXeGhkR1ZrVzJ0bGVWMGdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdZblZwYkhSYmJHRnpkRlZ1YVhSZElDczlYRzRnSUNBZ0lDQWdJQ0FnYTJWNUlEMDlQU0JzWVhOMFZXNXBkQ0EvSUdGalkzVnRkV3hoZEdWa1cydGxlVjBnT2lCaFkyTjFiWFZzWVhSbFpGdHJaWGxkSUM4Z2RHaHBjeTV0WVhSeWFYaGJiR0Z6ZEZWdWFYUmRXMnRsZVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR05zYjI1bEtIUm9hWE1zSUhzZ2RtRnNkV1Z6T2lCaWRXbHNkQ0I5TENCMGNuVmxLUzV1YjNKdFlXeHBlbVVvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2RHaGxJRzVsWjJGMGFYWmxJRzltSUhSb2FYTWdSSFZ5WVhScGIyNHVYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJvYjNWeWN6b2dNU3dnYzJWamIyNWtjem9nTXpBZ2ZTa3VibVZuWVhSbEtDa3VkRzlQWW1wbFkzUW9LU0F2THowK0lIc2dhRzkxY25NNklDMHhMQ0J6WldOdmJtUnpPaUF0TXpBZ2ZWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0RWRYSmhkR2x2Ym4xY2JpQWdJQ292WEc0Z0lHNWxaMkYwWlNncElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTldZV3hwWkNrZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ1kyOXVjM1FnYm1WbllYUmxaQ0E5SUh0OU8xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2F5QnZaaUJQWW1wbFkzUXVhMlY1Y3loMGFHbHpMblpoYkhWbGN5a3BJSHRjYmlBZ0lDQWdJRzVsWjJGMFpXUmJhMTBnUFNCMGFHbHpMblpoYkhWbGMxdHJYU0E5UFQwZ01DQS9JREFnT2lBdGRHaHBjeTUyWVd4MVpYTmJhMTA3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCamJHOXVaU2gwYUdsekxDQjdJSFpoYkhWbGN6b2dibVZuWVhSbFpDQjlMQ0IwY25WbEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJSGxsWVhKekxseHVJQ0FnS2lCQWRIbHdaU0I3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnWjJWMElIbGxZWEp6S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG5aaGJIVmxjeTU1WldGeWN5QjhmQ0F3SURvZ1RtRk9PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnY1hWaGNuUmxjbk11WEc0Z0lDQXFJRUIwZVhCbElIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQm5aWFFnY1hWaGNuUmxjbk1vS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lIUm9hWE11ZG1Gc2RXVnpMbkYxWVhKMFpYSnpJSHg4SURBZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCdGIyNTBhSE11WEc0Z0lDQXFJRUIwZVhCbElIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYlc5dWRHaHpLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMblpoYkhWbGN5NXRiMjUwYUhNZ2ZId2dNQ0E2SUU1aFRqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJSGRsWld0elhHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2QyVmxhM01vS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lIUm9hWE11ZG1Gc2RXVnpMbmRsWld0eklIeDhJREFnT2lCT1lVNDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElIUm9aU0JrWVhsekxseHVJQ0FnS2lCQWRIbHdaU0I3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnWjJWMElHUmhlWE1vS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lIUm9hWE11ZG1Gc2RXVnpMbVJoZVhNZ2ZId2dNQ0E2SUU1aFRqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJR2h2ZFhKekxseHVJQ0FnS2lCQWRIbHdaU0I3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnWjJWMElHaHZkWEp6S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG5aaGJIVmxjeTVvYjNWeWN5QjhmQ0F3SURvZ1RtRk9PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYldsdWRYUmxjeTVjYmlBZ0lDb2dRSFI1Y0dVZ2UyNTFiV0psY24xY2JpQWdJQ292WEc0Z0lHZGxkQ0J0YVc1MWRHVnpLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMblpoYkhWbGN5NXRhVzUxZEdWeklIeDhJREFnT2lCT1lVNDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElIUm9aU0J6WldOdmJtUnpMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYzJWamIyNWtjeWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGMxWmhiR2xrSUQ4Z2RHaHBjeTUyWVd4MVpYTXVjMlZqYjI1a2N5QjhmQ0F3SURvZ1RtRk9PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYldsc2JHbHpaV052Ym1SekxseHVJQ0FnS2lCQWNtVjBkWEp1SUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUWdiV2xzYkdselpXTnZibVJ6S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjBhR2x6TG5aaGJIVmxjeTV0YVd4c2FYTmxZMjl1WkhNZ2ZId2dNQ0E2SUU1aFRqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSGRvWlhSb1pYSWdkR2hsSUVSMWNtRjBhVzl1SUdseklHbHVkbUZzYVdRdUlFbHVkbUZzYVdRZ1pIVnlZWFJwYjI1eklHRnlaU0J5WlhSMWNtNWxaQ0JpZVNCa2FXWm1JRzl3WlhKaGRHbHZibk5jYmlBZ0lDb2diMjRnYVc1MllXeHBaQ0JFWVhSbFZHbHRaWE1nYjNJZ1NXNTBaWEoyWVd4ekxseHVJQ0FnS2lCQWNtVjBkWEp1SUh0aWIyOXNaV0Z1ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJR2x6Vm1Gc2FXUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVc1MllXeHBaQ0E5UFQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlHVnljbTl5SUdOdlpHVWdhV1lnZEdocGN5QkVkWEpoZEdsdmJpQmlaV05oYldVZ2FXNTJZV3hwWkN3Z2IzSWdiblZzYkNCcFppQjBhR1VnUkhWeVlYUnBiMjRnYVhNZ2RtRnNhV1JjYmlBZ0lDb2dRSEpsZEhWeWJpQjdjM1J5YVc1bmZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUdsdWRtRnNhV1JTWldGemIyNG9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVc1MllXeHBaQ0EvSUhSb2FYTXVhVzUyWVd4cFpDNXlaV0Z6YjI0Z09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ1lXNGdaWGh3YkdGdVlYUnBiMjRnYjJZZ2QyaDVJSFJvYVhNZ1JIVnlZWFJwYjI0Z1ltVmpZVzFsSUdsdWRtRnNhV1FzSUc5eUlHNTFiR3dnYVdZZ2RHaGxJRVIxY21GMGFXOXVJR2x6SUhaaGJHbGtYRzRnSUNBcUlFQjBlWEJsSUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCblpYUWdhVzUyWVd4cFpFVjRjR3hoYm1GMGFXOXVLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdWRtRnNhV1FnUHlCMGFHbHpMbWx1ZG1Gc2FXUXVaWGh3YkdGdVlYUnBiMjRnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVWeGRXRnNhWFI1SUdOb1pXTnJYRzRnSUNBcUlGUjNieUJFZFhKaGRHbHZibk1nWVhKbElHVnhkV0ZzSUdsbVppQjBhR1Y1SUdoaGRtVWdkR2hsSUhOaGJXVWdkVzVwZEhNZ1lXNWtJSFJvWlNCellXMWxJSFpoYkhWbGN5Qm1iM0lnWldGamFDQjFibWwwTGx4dUlDQWdLaUJBY0dGeVlXMGdlMFIxY21GMGFXOXVmU0J2ZEdobGNseHVJQ0FnS2lCQWNtVjBkWEp1SUh0aWIyOXNaV0Z1ZlZ4dUlDQWdLaTljYmlBZ1pYRjFZV3h6S0c5MGFHVnlLU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUWdmSHdnSVc5MGFHVnlMbWx6Vm1Gc2FXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0lYUm9hWE11Ykc5akxtVnhkV0ZzY3lodmRHaGxjaTVzYjJNcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdablZ1WTNScGIyNGdaWEVvZGpFc0lIWXlLU0I3WEc0Z0lDQWdJQ0F2THlCRGIyNXphV1JsY2lBd0lHRnVaQ0IxYm1SbFptbHVaV1FnWVhNZ1pYRjFZV3hjYmlBZ0lDQWdJR2xtSUNoMk1TQTlQVDBnZFc1a1pXWnBibVZrSUh4OElIWXhJRDA5UFNBd0tTQnlaWFIxY200Z2RqSWdQVDA5SUhWdVpHVm1hVzVsWkNCOGZDQjJNaUE5UFQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMk1TQTlQVDBnZGpJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaGpiMjV6ZENCMUlHOW1JRzl5WkdWeVpXUlZibWwwY3lrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0ZsY1NoMGFHbHpMblpoYkhWbGMxdDFYU3dnYjNSb1pYSXVkbUZzZFdWelczVmRLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1OVhHNGlMQ0FpYVcxd2IzSjBJRVJoZEdWVWFXMWxMQ0I3SUdaeWFXVnVaR3g1UkdGMFpWUnBiV1VnZlNCbWNtOXRJRndpTGk5a1lYUmxkR2x0WlM1cWMxd2lPMXh1YVcxd2IzSjBJRVIxY21GMGFXOXVJR1p5YjIwZ1hDSXVMMlIxY21GMGFXOXVMbXB6WENJN1hHNXBiWEJ2Y25RZ1UyVjBkR2x1WjNNZ1puSnZiU0JjSWk0dmMyVjBkR2x1WjNNdWFuTmNJanRjYm1sdGNHOXlkQ0I3SUVsdWRtRnNhV1JCY21kMWJXVnVkRVZ5Y205eUxDQkpiblpoYkdsa1NXNTBaWEoyWVd4RmNuSnZjaUI5SUdaeWIyMGdYQ0l1TDJWeWNtOXljeTVxYzF3aU8xeHVhVzF3YjNKMElFbHVkbUZzYVdRZ1puSnZiU0JjSWk0dmFXMXdiQzlwYm5aaGJHbGtMbXB6WENJN1hHNWNibU52Ym5OMElFbE9Wa0ZNU1VRZ1BTQmNJa2x1ZG1Gc2FXUWdTVzUwWlhKMllXeGNJanRjYmx4dUx5OGdZMmhsWTJ0eklHbG1JSFJvWlNCemRHRnlkQ0JwY3lCbGNYVmhiQ0IwYnlCdmNpQmlaV1p2Y21VZ2RHaGxJR1Z1WkZ4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWVGRHRnlkRVZ1WkNoemRHRnlkQ3dnWlc1a0tTQjdYRzRnSUdsbUlDZ2hjM1JoY25RZ2ZId2dJWE4wWVhKMExtbHpWbUZzYVdRcElIdGNiaUFnSUNCeVpYUjFjbTRnU1c1MFpYSjJZV3d1YVc1MllXeHBaQ2hjSW0xcGMzTnBibWNnYjNJZ2FXNTJZV3hwWkNCemRHRnlkRndpS1R0Y2JpQWdmU0JsYkhObElHbG1JQ2doWlc1a0lIeDhJQ0ZsYm1RdWFYTldZV3hwWkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJKYm5SbGNuWmhiQzVwYm5aaGJHbGtLRndpYldsemMybHVaeUJ2Y2lCcGJuWmhiR2xrSUdWdVpGd2lLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaGxibVFnUENCemRHRnlkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQkpiblJsY25aaGJDNXBiblpoYkdsa0tGeHVJQ0FnSUNBZ1hDSmxibVFnWW1WbWIzSmxJSE4wWVhKMFhDSXNYRzRnSUNBZ0lDQmdWR2hsSUdWdVpDQnZaaUJoYmlCcGJuUmxjblpoYkNCdGRYTjBJR0psSUdGbWRHVnlJR2wwY3lCemRHRnlkQ3dnWW5WMElIbHZkU0JvWVdRZ2MzUmhjblE5Skh0emRHRnlkQzUwYjBsVFR5Z3BmU0JoYm1RZ1pXNWtQU1I3Wlc1a0xuUnZTVk5QS0NsOVlGeHVJQ0FnSUNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJCYmlCSmJuUmxjblpoYkNCdlltcGxZM1FnY21Wd2NtVnpaVzUwY3lCaElHaGhiR1l0YjNCbGJpQnBiblJsY25aaGJDQnZaaUIwYVcxbExDQjNhR1Z5WlNCbFlXTm9JR1Z1WkhCdmFXNTBJR2x6SUdFZ2UwQnNhVzVySUVSaGRHVlVhVzFsZlM0Z1EyOXVZMlZ3ZEhWaGJHeDVMQ0JwZENkeklHRWdZMjl1ZEdGcGJtVnlJR1p2Y2lCMGFHOXpaU0IwZDI4Z1pXNWtjRzlwYm5SekxDQmhZMk52YlhCaGJtbGxaQ0JpZVNCdFpYUm9iMlJ6SUdadmNpQmpjbVZoZEdsdVp5d2djR0Z5YzJsdVp5d2dhVzUwWlhKeWIyZGhkR2x1Wnl3Z1kyOXRjR0Z5YVc1bkxDQjBjbUZ1YzJadmNtMXBibWNzSUdGdVpDQm1iM0p0WVhSMGFXNW5JSFJvWlcwdVhHNGdLbHh1SUNvZ1NHVnlaU0JwY3lCaElHSnlhV1ZtSUc5MlpYSjJhV1YzSUc5bUlIUm9aU0J0YjNOMElHTnZiVzF2Ym14NUlIVnpaV1FnYldWMGFHOWtjeUJoYm1RZ1oyVjBkR1Z5Y3lCcGJpQkpiblJsY25aaGJEcGNiaUFxWEc0Z0tpQXFJQ29xUTNKbFlYUnBiMjRxS2lCVWJ5QmpjbVZoZEdVZ1lXNGdTVzUwWlhKMllXd3NJSFZ6WlNCN1FHeHBibXNnU1c1MFpYSjJZV3dqWm5KdmJVUmhkR1ZVYVcxbGMzMHNJSHRBYkdsdWF5QkpiblJsY25aaGJDTmhablJsY24wc0lIdEFiR2x1YXlCSmJuUmxjblpoYkNOaVpXWnZjbVY5TENCdmNpQjdRR3hwYm1zZ1NXNTBaWEoyWVd3alpuSnZiVWxUVDMwdVhHNGdLaUFxSUNvcVFXTmpaWE56YjNKektpb2dWWE5sSUh0QWJHbHVheUJKYm5SbGNuWmhiQ056ZEdGeWRIMGdZVzVrSUh0QWJHbHVheUJKYm5SbGNuWmhiQ05sYm1SOUlIUnZJR2RsZENCMGFHVWdjM1JoY25RZ1lXNWtJR1Z1WkM1Y2JpQXFJQ29nS2lwSmJuUmxjbkp2WjJGMGFXOXVLaW9nVkc4Z1lXNWhiSGw2WlNCMGFHVWdTVzUwWlhKMllXd3NJSFZ6WlNCN1FHeHBibXNnU1c1MFpYSjJZV3dqWTI5MWJuUjlMQ0I3UUd4cGJtc2dTVzUwWlhKMllXd2piR1Z1WjNSb2ZTd2dlMEJzYVc1cklFbHVkR1Z5ZG1Gc0kyaGhjMU5oYldWOUxDQjdRR3hwYm1zZ1NXNTBaWEoyWVd3alkyOXVkR0ZwYm5OOUxDQjdRR3hwYm1zZ1NXNTBaWEoyWVd3amFYTkJablJsY24wc0lHOXlJSHRBYkdsdWF5QkpiblJsY25aaGJDTnBjMEpsWm05eVpYMHVYRzRnS2lBcUlDb3FWSEpoYm5ObWIzSnRZWFJwYjI0cUtpQlVieUJqY21WaGRHVWdiM1JvWlhJZ1NXNTBaWEoyWVd4eklHOTFkQ0J2WmlCMGFHbHpJRzl1WlN3Z2RYTmxJSHRBYkdsdWF5QkpiblJsY25aaGJDTnpaWFI5TENCN1FHeHBibXNnU1c1MFpYSjJZV3dqYzNCc2FYUkJkSDBzSUh0QWJHbHVheUJKYm5SbGNuWmhiQ056Y0d4cGRFSjVmU3dnZTBCc2FXNXJJRWx1ZEdWeWRtRnNJMlJwZG1sa1pVVnhkV0ZzYkhsOUxDQjdRR3hwYm1zZ1NXNTBaWEoyWVd3amJXVnlaMlY5TENCN1FHeHBibXNnU1c1MFpYSjJZV3dqZUc5eWZTd2dlMEJzYVc1cklFbHVkR1Z5ZG1Gc0kzVnVhVzl1ZlN3Z2UwQnNhVzVySUVsdWRHVnlkbUZzSTJsdWRHVnljMlZqZEdsdmJuMHNJRzl5SUh0QWJHbHVheUJKYm5SbGNuWmhiQ05rYVdabVpYSmxibU5sZlM1Y2JpQXFJQ29nS2lwRGIyMXdZWEpwYzI5dUtpb2dWRzhnWTI5dGNHRnlaU0IwYUdseklFbHVkR1Z5ZG1Gc0lIUnZJR0Z1YjNSb1pYSWdiMjVsTENCMWMyVWdlMEJzYVc1cklFbHVkR1Z5ZG1Gc0kyVnhkV0ZzYzMwc0lIdEFiR2x1YXlCSmJuUmxjblpoYkNOdmRtVnliR0Z3YzMwc0lIdEFiR2x1YXlCSmJuUmxjblpoYkNOaFluVjBjMU4wWVhKMGZTd2dlMEJzYVc1cklFbHVkR1Z5ZG1Gc0kyRmlkWFJ6Ulc1a2ZTd2dlMEJzYVc1cklFbHVkR1Z5ZG1Gc0kyVnVaM1ZzWm5OOVhHNGdLaUFxSUNvcVQzVjBjSFYwS2lvZ1ZHOGdZMjl1ZG1WeWRDQjBhR1VnU1c1MFpYSjJZV3dnYVc1MGJ5QnZkR2hsY2lCeVpYQnlaWE5sYm5SaGRHbHZibk1zSUhObFpTQjdRR3hwYm1zZ1NXNTBaWEoyWVd3amRHOVRkSEpwYm1kOUxDQjdRR3hwYm1zZ1NXNTBaWEoyWVd3amRHOUpVMDk5TENCN1FHeHBibXNnU1c1MFpYSjJZV3dqZEc5SlUwOUVZWFJsZlN3Z2UwQnNhVzVySUVsdWRHVnlkbUZzSTNSdlNWTlBWR2x0Wlgwc0lIdEFiR2x1YXlCSmJuUmxjblpoYkNOMGIwWnZjbTFoZEgwc0lHRnVaQ0I3UUd4cGJtc2dTVzUwWlhKMllXd2pkRzlFZFhKaGRHbHZibjB1WEc0Z0tpOWNibVY0Y0c5eWRDQmtaV1poZFd4MElHTnNZWE56SUVsdWRHVnlkbUZzSUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRUJ3Y21sMllYUmxYRzRnSUNBcUwxeHVJQ0JqYjI1emRISjFZM1J2Y2loamIyNW1hV2NwSUh0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQVlXTmpaWE56SUhCeWFYWmhkR1ZjYmlBZ0lDQWdLaTljYmlBZ0lDQjBhR2x6TG5NZ1BTQmpiMjVtYVdjdWMzUmhjblE3WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUUdGalkyVnpjeUJ3Y21sMllYUmxYRzRnSUNBZ0lDb3ZYRzRnSUNBZ2RHaHBjeTVsSUQwZ1kyOXVabWxuTG1WdVpEdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkFZV05qWlhOeklIQnlhWFpoZEdWY2JpQWdJQ0FnS2k5Y2JpQWdJQ0IwYUdsekxtbHVkbUZzYVdRZ1BTQmpiMjVtYVdjdWFXNTJZV3hwWkNCOGZDQnVkV3hzTzF4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUVCaFkyTmxjM01nY0hKcGRtRjBaVnh1SUNBZ0lDQXFMMXh1SUNBZ0lIUm9hWE11YVhOTWRYaHZia2x1ZEdWeWRtRnNJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVWdZVzRnYVc1MllXeHBaQ0JKYm5SbGNuWmhiQzVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlISmxZWE52YmlBdElITnBiWEJzWlNCemRISnBibWNnYjJZZ2QyaDVJSFJvYVhNZ1NXNTBaWEoyWVd3Z2FYTWdhVzUyWVd4cFpDNGdVMmh2ZFd4a0lHNXZkQ0JqYjI1MFlXbHVJSEJoY21GdFpYUmxjbk1nYjNJZ1lXNTVkR2hwYm1jZ1pXeHpaU0JrWVhSaExXUmxjR1Z1WkdWdWRGeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzJWNGNHeGhibUYwYVc5dVBXNTFiR3hkSUMwZ2JHOXVaMlZ5SUdWNGNHeGhibUYwYVc5dUxDQnRZWGtnYVc1amJIVmtaU0J3WVhKaGJXVjBaWEp6SUdGdVpDQnZkR2hsY2lCMWMyVm1kV3dnWkdWaWRXZG5hVzVuSUdsdVptOXliV0YwYVc5dVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBsdWRHVnlkbUZzZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdsdWRtRnNhV1FvY21WaGMyOXVMQ0JsZUhCc1lXNWhkR2x2YmlBOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb0lYSmxZWE52YmlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkbUZzYVdSQmNtZDFiV1Z1ZEVWeWNtOXlLRndpYm1WbFpDQjBieUJ6Y0dWamFXWjVJR0VnY21WaGMyOXVJSFJvWlNCSmJuUmxjblpoYkNCcGN5QnBiblpoYkdsa1hDSXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdsdWRtRnNhV1FnUFNCeVpXRnpiMjRnYVc1emRHRnVZMlZ2WmlCSmJuWmhiR2xrSUQ4Z2NtVmhjMjl1SURvZ2JtVjNJRWx1ZG1Gc2FXUW9jbVZoYzI5dUxDQmxlSEJzWVc1aGRHbHZiaWs3WEc1Y2JpQWdJQ0JwWmlBb1UyVjBkR2x1WjNNdWRHaHliM2RQYmtsdWRtRnNhV1FwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuWmhiR2xrU1c1MFpYSjJZV3hGY25KdmNpaHBiblpoYkdsa0tUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCSmJuUmxjblpoYkNoN0lHbHVkbUZzYVdRZ2ZTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhiaUJKYm5SbGNuWmhiQ0JtY205dElHRWdjM1JoY25RZ1JHRjBaVlJwYldVZ1lXNWtJR0Z1SUdWdVpDQkVZWFJsVkdsdFpTNGdTVzVqYkhWemFYWmxJRzltSUhSb1pTQnpkR0Z5ZENCaWRYUWdibTkwSUhSb1pTQmxibVF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdSR0YwWlZScGJXVjhSR0YwWlh4UFltcGxZM1I5SUhOMFlYSjBYRzRnSUNBcUlFQndZWEpoYlNCN1JHRjBaVlJwYldWOFJHRjBaWHhQWW1wbFkzUjlJR1Z1WkZ4dUlDQWdLaUJBY21WMGRYSnVJSHRKYm5SbGNuWmhiSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJtY205dFJHRjBaVlJwYldWektITjBZWEowTENCbGJtUXBJSHRjYmlBZ0lDQmpiMjV6ZENCaWRXbHNkRk4wWVhKMElEMGdabkpwWlc1a2JIbEVZWFJsVkdsdFpTaHpkR0Z5ZENrc1hHNGdJQ0FnSUNCaWRXbHNkRVZ1WkNBOUlHWnlhV1Z1Wkd4NVJHRjBaVlJwYldVb1pXNWtLVHRjYmx4dUlDQWdJR052Ym5OMElIWmhiR2xrWVhSbFJYSnliM0lnUFNCMllXeHBaR0YwWlZOMFlYSjBSVzVrS0dKMWFXeDBVM1JoY25Rc0lHSjFhV3gwUlc1a0tUdGNibHh1SUNBZ0lHbG1JQ2gyWVd4cFpHRjBaVVZ5Y205eUlEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dTVzUwWlhKMllXd29lMXh1SUNBZ0lDQWdJQ0J6ZEdGeWREb2dZblZwYkhSVGRHRnlkQ3hjYmlBZ0lDQWdJQ0FnWlc1a09pQmlkV2xzZEVWdVpDeGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2FXUmhkR1ZGY25KdmNqdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRnVJRWx1ZEdWeWRtRnNJR1p5YjIwZ1lTQnpkR0Z5ZENCRVlYUmxWR2x0WlNCaGJtUWdZU0JFZFhKaGRHbHZiaUIwYnlCbGVIUmxibVFnZEc4dVhHNGdJQ0FxSUVCd1lYSmhiU0I3UkdGMFpWUnBiV1Y4UkdGMFpYeFBZbXBsWTNSOUlITjBZWEowWEc0Z0lDQXFJRUJ3WVhKaGJTQjdSSFZ5WVhScGIyNThUMkpxWldOMGZHNTFiV0psY24wZ1pIVnlZWFJwYjI0Z0xTQjBhR1VnYkdWdVozUm9JRzltSUhSb1pTQkpiblJsY25aaGJDNWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1NXNTBaWEoyWVd4OVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1lXWjBaWElvYzNSaGNuUXNJR1IxY21GMGFXOXVLU0I3WEc0Z0lDQWdZMjl1YzNRZ1pIVnlJRDBnUkhWeVlYUnBiMjR1Wm5KdmJVUjFjbUYwYVc5dVRHbHJaU2hrZFhKaGRHbHZiaWtzWEc0Z0lDQWdJQ0JrZENBOUlHWnlhV1Z1Wkd4NVJHRjBaVlJwYldVb2MzUmhjblFwTzF4dUlDQWdJSEpsZEhWeWJpQkpiblJsY25aaGJDNW1jbTl0UkdGMFpWUnBiV1Z6S0dSMExDQmtkQzV3YkhWektHUjFjaWtwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlNCaGJpQkpiblJsY25aaGJDQm1jbTl0SUdGdUlHVnVaQ0JFWVhSbFZHbHRaU0JoYm1RZ1lTQkVkWEpoZEdsdmJpQjBieUJsZUhSbGJtUWdZbUZqYTNkaGNtUnpJSFJ2TGx4dUlDQWdLaUJBY0dGeVlXMGdlMFJoZEdWVWFXMWxmRVJoZEdWOFQySnFaV04wZlNCbGJtUmNiaUFnSUNvZ1FIQmhjbUZ0SUh0RWRYSmhkR2x2Ym54UFltcGxZM1I4Ym5WdFltVnlmU0JrZFhKaGRHbHZiaUF0SUhSb1pTQnNaVzVuZEdnZ2IyWWdkR2hsSUVsdWRHVnlkbUZzTGx4dUlDQWdLaUJBY21WMGRYSnVJSHRKYm5SbGNuWmhiSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJpWldadmNtVW9aVzVrTENCa2RYSmhkR2x2YmlrZ2UxeHVJQ0FnSUdOdmJuTjBJR1IxY2lBOUlFUjFjbUYwYVc5dUxtWnliMjFFZFhKaGRHbHZia3hwYTJVb1pIVnlZWFJwYjI0cExGeHVJQ0FnSUNBZ1pIUWdQU0JtY21sbGJtUnNlVVJoZEdWVWFXMWxLR1Z1WkNrN1hHNGdJQ0FnY21WMGRYSnVJRWx1ZEdWeWRtRnNMbVp5YjIxRVlYUmxWR2x0WlhNb1pIUXViV2x1ZFhNb1pIVnlLU3dnWkhRcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhiaUJKYm5SbGNuWmhiQ0JtY205dElHRnVJRWxUVHlBNE5qQXhJSE4wY21sdVp5NWNiaUFnSUNvZ1FXTmpaWEIwY3lCZ1BITjBZWEowUGk4OFpXNWtQbUFzSUdBOGMzUmhjblErTHp4a2RYSmhkR2x2Ymo1Z0xDQmhibVFnWUR4a2RYSmhkR2x2Ymo0dlBHVnVaRDVnSUdadmNtMWhkSE11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQjBaWGgwSUMwZ2RHaGxJRWxUVHlCemRISnBibWNnZEc4Z2NHRnljMlZjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlGdHZjSFJ6WFNBdElHOXdkR2x2Ym5NZ2RHOGdjR0Z6Y3lCN1FHeHBibXNnUkdGMFpWUnBiV1VqWm5KdmJVbFRUMzBnWVc1a0lHOXdkR2x2Ym1Gc2JIa2dlMEJzYVc1cklFUjFjbUYwYVc5dUkyWnliMjFKVTA5OVhHNGdJQ0FxSUVCelpXVWdhSFIwY0hNNkx5OWxiaTUzYVd0cGNHVmthV0V1YjNKbkwzZHBhMmt2U1ZOUFh6ZzJNREVqVkdsdFpWOXBiblJsY25aaGJITmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1NXNTBaWEoyWVd4OVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1puSnZiVWxUVHloMFpYaDBMQ0J2Y0hSektTQjdYRzRnSUNBZ1kyOXVjM1FnVzNNc0lHVmRJRDBnS0hSbGVIUWdmSHdnWENKY0lpa3VjM0JzYVhRb1hDSXZYQ0lzSURJcE8xeHVJQ0FnSUdsbUlDaHpJQ1ltSUdVcElIdGNiaUFnSUNBZ0lHeGxkQ0J6ZEdGeWRDd2djM1JoY25SSmMxWmhiR2xrTzF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjM1JoY25RZ1BTQkVZWFJsVkdsdFpTNW1jbTl0U1ZOUEtITXNJRzl3ZEhNcE8xeHVJQ0FnSUNBZ0lDQnpkR0Z5ZEVselZtRnNhV1FnUFNCemRHRnlkQzVwYzFaaGJHbGtPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQ0FnSUNCemRHRnlkRWx6Vm1Gc2FXUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdiR1YwSUdWdVpDd2daVzVrU1hOV1lXeHBaRHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lHVnVaQ0E5SUVSaGRHVlVhVzFsTG1aeWIyMUpVMDhvWlN3Z2IzQjBjeWs3WEc0Z0lDQWdJQ0FnSUdWdVpFbHpWbUZzYVdRZ1BTQmxibVF1YVhOV1lXeHBaRHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0FnSUNBZ1pXNWtTWE5XWVd4cFpDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYzNSaGNuUkpjMVpoYkdsa0lDWW1JR1Z1WkVselZtRnNhV1FwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVsdWRHVnlkbUZzTG1aeWIyMUVZWFJsVkdsdFpYTW9jM1JoY25Rc0lHVnVaQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHpkR0Z5ZEVselZtRnNhV1FwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWkhWeUlEMGdSSFZ5WVhScGIyNHVabkp2YlVsVFR5aGxMQ0J2Y0hSektUdGNiaUFnSUNBZ0lDQWdhV1lnS0dSMWNpNXBjMVpoYkdsa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRWx1ZEdWeWRtRnNMbUZtZEdWeUtITjBZWEowTENCa2RYSXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dWdVpFbHpWbUZzYVdRcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pIVnlJRDBnUkhWeVlYUnBiMjR1Wm5KdmJVbFRUeWh6TENCdmNIUnpLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUjFjaTVwYzFaaGJHbGtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVsdWRHVnlkbUZzTG1KbFptOXlaU2hsYm1Rc0lHUjFjaWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlFbHVkR1Z5ZG1Gc0xtbHVkbUZzYVdRb1hDSjFibkJoY25OaFlteGxYQ0lzSUdCMGFHVWdhVzV3ZFhRZ1hDSWtlM1JsZUhSOVhDSWdZMkZ1SjNRZ1ltVWdjR0Z5YzJWa0lHRnpJRWxUVHlBNE5qQXhZQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EyaGxZMnNnYVdZZ1lXNGdiMkpxWldOMElHbHpJR0Z1SUVsdWRHVnlkbUZzTGlCWGIzSnJjeUJoWTNKdmMzTWdZMjl1ZEdWNGRDQmliM1Z1WkdGeWFXVnpYRzRnSUNBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCdlhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYVhOSmJuUmxjblpoYkNodktTQjdYRzRnSUNBZ2NtVjBkWEp1SUNodklDWW1JRzh1YVhOTWRYaHZia2x1ZEdWeWRtRnNLU0I4ZkNCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUhSb1pTQnpkR0Z5ZENCdlppQjBhR1VnU1c1MFpYSjJZV3hjYmlBZ0lDb2dRSFI1Y0dVZ2UwUmhkR1ZVYVcxbGZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUhOMFlYSjBLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbk1nT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nZEdobElHVnVaQ0J2WmlCMGFHVWdTVzUwWlhKMllXeGNiaUFnSUNvZ1FIUjVjR1VnZTBSaGRHVlVhVzFsZlZ4dUlDQWdLaTljYmlBZ1oyVjBJR1Z1WkNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBjMVpoYkdsa0lEOGdkR2hwY3k1bElEb2diblZzYkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIZG9aWFJvWlhJZ2RHaHBjeUJKYm5SbGNuWmhiQ2R6SUdWdVpDQnBjeUJoZENCc1pXRnpkQ0JwZEhNZ2MzUmhjblFzSUcxbFlXNXBibWNnZEdoaGRDQjBhR1VnU1c1MFpYSjJZV3dnYVhOdUozUWdKMkpoWTJ0M1lYSmtjeWN1WEc0Z0lDQXFJRUIwZVhCbElIdGliMjlzWldGdWZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUdselZtRnNhV1FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXNTJZV3hwWkZKbFlYTnZiaUE5UFQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlHVnljbTl5SUdOdlpHVWdhV1lnZEdocGN5QkpiblJsY25aaGJDQnBjeUJwYm5aaGJHbGtMQ0J2Y2lCdWRXeHNJR2xtSUhSb1pTQkpiblJsY25aaGJDQnBjeUIyWVd4cFpGeHVJQ0FnS2lCQWRIbHdaU0I3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnWjJWMElHbHVkbUZzYVdSU1pXRnpiMjRvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXNTJZV3hwWkNBL0lIUm9hWE11YVc1MllXeHBaQzV5WldGemIyNGdPaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZVzRnWlhod2JHRnVZWFJwYjI0Z2IyWWdkMmg1SUhSb2FYTWdTVzUwWlhKMllXd2dZbVZqWVcxbElHbHVkbUZzYVdRc0lHOXlJRzUxYkd3Z2FXWWdkR2hsSUVsdWRHVnlkbUZzSUdseklIWmhiR2xrWEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYVc1MllXeHBaRVY0Y0d4aGJtRjBhVzl1S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHVkbUZzYVdRZ1B5QjBhR2x6TG1sdWRtRnNhV1F1Wlhod2JHRnVZWFJwYjI0Z09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ2RHaGxJR3hsYm1kMGFDQnZaaUIwYUdVZ1NXNTBaWEoyWVd3Z2FXNGdkR2hsSUhOd1pXTnBabWxsWkNCMWJtbDBMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RXNXBkQ0F0SUhSb1pTQjFibWwwSUNoemRXTm9JR0Z6SUNkb2IzVnljeWNnYjNJZ0oyUmhlWE1uS1NCMGJ5QnlaWFIxY200Z2RHaGxJR3hsYm1kMGFDQnBiaTVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdiblZ0WW1WeWZWeHVJQ0FnS2k5Y2JpQWdiR1Z1WjNSb0tIVnVhWFFnUFNCY0ltMXBiR3hwYzJWamIyNWtjMXdpS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lIUm9hWE11ZEc5RWRYSmhkR2x2YmlndUxpNWJkVzVwZEYwcExtZGxkQ2gxYm1sMEtTQTZJRTVoVGp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIUm9aU0JqYjNWdWRDQnZaaUJ0YVc1MWRHVnpMQ0JvYjNWeWN5d2daR0Y1Y3l3Z2JXOXVkR2h6TENCdmNpQjVaV0Z5Y3lCcGJtTnNkV1JsWkNCcGJpQjBhR1VnU1c1MFpYSjJZV3dzSUdWMlpXNGdhVzRnY0dGeWRDNWNiaUFnSUNvZ1ZXNXNhV3RsSUh0QWJHbHVheUJKYm5SbGNuWmhiQ05zWlc1bmRHaDlJSFJvYVhNZ1kyOTFiblJ6SUhObFkzUnBiMjV6SUc5bUlIUm9aU0JqWVd4bGJtUmhjaXdnYm05MElIQmxjbWx2WkhNZ2IyWWdkR2x0WlN3Z1pTNW5MaUJ6Y0dWamFXWjVhVzVuSUNka1lYa25YRzRnSUNBcUlHRnphM01nSjNkb1lYUWdaR0YwWlhNZ1lYSmxJR2x1WTJ4MVpHVmtJR2x1SUhSb2FYTWdhVzUwWlhKMllXdy9KeXdnYm05MElDZG9iM2NnYldGdWVTQmtZWGx6SUd4dmJtY2dhWE1nZEdocGN5QnBiblJsY25aaGJEOG5YRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmRXNXBkRDBuYldsc2JHbHpaV052Ym1SekoxMGdMU0IwYUdVZ2RXNXBkQ0J2WmlCMGFXMWxJSFJ2SUdOdmRXNTBMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQmpiM1Z1ZENoMWJtbDBJRDBnWENKdGFXeHNhWE5sWTI5dVpITmNJaWtnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0J5WlhSMWNtNGdUbUZPTzF4dUlDQWdJR052Ym5OMElITjBZWEowSUQwZ2RHaHBjeTV6ZEdGeWRDNXpkR0Z5ZEU5bUtIVnVhWFFwTEZ4dUlDQWdJQ0FnWlc1a0lEMGdkR2hwY3k1bGJtUXVjM1JoY25SUFppaDFibWwwS1R0Y2JpQWdJQ0J5WlhSMWNtNGdUV0YwYUM1bWJHOXZjaWhsYm1RdVpHbG1aaWh6ZEdGeWRDd2dkVzVwZENrdVoyVjBLSFZ1YVhRcEtTQXJJREU3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCM2FHVjBhR1Z5SUhSb2FYTWdTVzUwWlhKMllXd25jeUJ6ZEdGeWRDQmhibVFnWlc1a0lHRnlaU0JpYjNSb0lHbHVJSFJvWlNCellXMWxJSFZ1YVhRZ2IyWWdkR2x0WlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkVzVwZENBdElIUm9aU0IxYm1sMElHOW1JSFJwYldVZ2RHOGdZMmhsWTJzZ2MyRnRaVzVsYzNNZ2IyNWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1ltOXZiR1ZoYm4xY2JpQWdJQ292WEc0Z0lHaGhjMU5oYldVb2RXNXBkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbWx6Ulcxd2RIa29LU0I4ZkNCMGFHbHpMbVV1YldsdWRYTW9NU2t1YUdGelUyRnRaU2gwYUdsekxuTXNJSFZ1YVhRcElEb2dabUZzYzJVN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdUlIZG9aWFJvWlhJZ2RHaHBjeUJKYm5SbGNuWmhiQ0JvWVhNZ2RHaGxJSE5oYldVZ2MzUmhjblFnWVc1a0lHVnVaQ0JFWVhSbFZHbHRaWE11WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0JwYzBWdGNIUjVLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5NdWRtRnNkV1ZQWmlncElEMDlQU0IwYUdsekxtVXVkbUZzZFdWUFppZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnliaUIzYUdWMGFHVnlJSFJvYVhNZ1NXNTBaWEoyWVd3bmN5QnpkR0Z5ZENCcGN5QmhablJsY2lCMGFHVWdjM0JsWTJsbWFXVmtJRVJoZEdWVWFXMWxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwUmhkR1ZVYVcxbGZTQmtZWFJsVkdsdFpWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0aWIyOXNaV0Z1ZlZ4dUlDQWdLaTljYmlBZ2FYTkJablJsY2loa1lYUmxWR2x0WlNrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjeUErSUdSaGRHVlVhVzFsTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5YmlCM2FHVjBhR1Z5SUhSb2FYTWdTVzUwWlhKMllXd25jeUJsYm1RZ2FYTWdZbVZtYjNKbElIUm9aU0J6Y0dWamFXWnBaV1FnUkdGMFpWUnBiV1V1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdSR0YwWlZScGJXVjlJR1JoZEdWVWFXMWxYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQnBjMEpsWm05eVpTaGtZWFJsVkdsdFpTa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0tTQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WlNBOFBTQmtZWFJsVkdsdFpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkMmhsZEdobGNpQjBhR2x6SUVsdWRHVnlkbUZzSUdOdmJuUmhhVzV6SUhSb1pTQnpjR1ZqYVdacFpXUWdSR0YwWlZScGJXVXVYRzRnSUNBcUlFQndZWEpoYlNCN1JHRjBaVlJwYldWOUlHUmhkR1ZVYVcxbFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCamIyNTBZV2x1Y3loa1lYUmxWR2x0WlNrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjeUE4UFNCa1lYUmxWR2x0WlNBbUppQjBhR2x6TG1VZ1BpQmtZWFJsVkdsdFpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJjSWxObGRITmNJaUIwYUdVZ2MzUmhjblFnWVc1a0wyOXlJR1Z1WkNCa1lYUmxjeTRnVW1WMGRYSnVjeUJoSUc1bGQyeDVMV052Ym5OMGNuVmpkR1ZrSUVsdWRHVnlkbUZzTGx4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdkbUZzZFdWeklDMGdkR2hsSUhaaGJIVmxjeUIwYnlCelpYUmNiaUFnSUNvZ1FIQmhjbUZ0SUh0RVlYUmxWR2x0WlgwZ2RtRnNkV1Z6TG5OMFlYSjBJQzBnZEdobElITjBZWEowYVc1bklFUmhkR1ZVYVcxbFhHNGdJQ0FxSUVCd1lYSmhiU0I3UkdGMFpWUnBiV1Y5SUhaaGJIVmxjeTVsYm1RZ0xTQjBhR1VnWlc1a2FXNW5JRVJoZEdWVWFXMWxYRzRnSUNBcUlFQnlaWFIxY200Z2UwbHVkR1Z5ZG1Gc2ZWeHVJQ0FnS2k5Y2JpQWdjMlYwS0hzZ2MzUmhjblFzSUdWdVpDQjlJRDBnZTMwcElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTldZV3hwWkNrZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2NtVjBkWEp1SUVsdWRHVnlkbUZzTG1aeWIyMUVZWFJsVkdsdFpYTW9jM1JoY25RZ2ZId2dkR2hwY3k1ekxDQmxibVFnZkh3Z2RHaHBjeTVsS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlRjR3hwZENCMGFHbHpJRWx1ZEdWeWRtRnNJR0YwSUdWaFkyZ2diMllnZEdobElITndaV05wWm1sbFpDQkVZWFJsVkdsdFpYTmNiaUFnSUNvZ1FIQmhjbUZ0SUhzdUxpNUVZWFJsVkdsdFpYMGdaR0YwWlZScGJXVnpJQzBnZEdobElIVnVhWFFnYjJZZ2RHbHRaU0IwYnlCamIzVnVkQzVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdRWEp5WVhsOVhHNGdJQ0FxTDF4dUlDQnpjR3hwZEVGMEtDNHVMbVJoZEdWVWFXMWxjeWtnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0J5WlhSMWNtNGdXMTA3WEc0Z0lDQWdZMjl1YzNRZ2MyOXlkR1ZrSUQwZ1pHRjBaVlJwYldWelhHNGdJQ0FnSUNBZ0lDNXRZWEFvWm5KcFpXNWtiSGxFWVhSbFZHbHRaU2xjYmlBZ0lDQWdJQ0FnTG1acGJIUmxjaWdvWkNrZ1BUNGdkR2hwY3k1amIyNTBZV2x1Y3loa0tTbGNiaUFnSUNBZ0lDQWdMbk52Y25Rb0tTeGNiaUFnSUNBZ0lISmxjM1ZzZEhNZ1BTQmJYVHRjYmlBZ0lDQnNaWFFnZXlCeklIMGdQU0IwYUdsekxGeHVJQ0FnSUNBZ2FTQTlJREE3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9jeUE4SUhSb2FYTXVaU2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdZV1JrWldRZ1BTQnpiM0owWldSYmFWMGdmSHdnZEdocGN5NWxMRnh1SUNBZ0lDQWdJQ0J1WlhoMElEMGdLMkZrWkdWa0lENGdLM1JvYVhNdVpTQS9JSFJvYVhNdVpTQTZJR0ZrWkdWa08xeHVJQ0FnSUNBZ2NtVnpkV3gwY3k1d2RYTm9LRWx1ZEdWeWRtRnNMbVp5YjIxRVlYUmxWR2x0WlhNb2N5d2dibVY0ZENrcE8xeHVJQ0FnSUNBZ2N5QTlJRzVsZUhRN1hHNGdJQ0FnSUNCcElDczlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZEhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVM0JzYVhRZ2RHaHBjeUJKYm5SbGNuWmhiQ0JwYm5SdklITnRZV3hzWlhJZ1NXNTBaWEoyWVd4ekxDQmxZV05vSUc5bUlIUm9aU0J6Y0dWamFXWnBaV1FnYkdWdVozUm9MbHh1SUNBZ0tpQk1aV1owSUc5MlpYSWdkR2x0WlNCcGN5Qm5jbTkxY0dWa0lHbHVkRzhnWVNCemJXRnNiR1Z5SUdsdWRHVnlkbUZzWEc0Z0lDQXFJRUJ3WVhKaGJTQjdSSFZ5WVhScGIyNThUMkpxWldOMGZHNTFiV0psY24wZ1pIVnlZWFJwYjI0Z0xTQlVhR1VnYkdWdVozUm9JRzltSUdWaFkyZ2djbVZ6ZFd4MGFXNW5JR2x1ZEdWeWRtRnNMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdEJjbkpoZVgxY2JpQWdJQ292WEc0Z0lITndiR2wwUW5rb1pIVnlZWFJwYjI0cElIdGNiaUFnSUNCamIyNXpkQ0JrZFhJZ1BTQkVkWEpoZEdsdmJpNW1jbTl0UkhWeVlYUnBiMjVNYVd0bEtHUjFjbUYwYVc5dUtUdGNibHh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0lIeDhJQ0ZrZFhJdWFYTldZV3hwWkNCOGZDQmtkWEl1WVhNb1hDSnRhV3hzYVhObFkyOXVaSE5jSWlrZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJiWFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JzWlhRZ2V5QnpJSDBnUFNCMGFHbHpMRnh1SUNBZ0lDQWdhV1I0SUQwZ01TeGNiaUFnSUNBZ0lHNWxlSFE3WEc1Y2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhSeklEMGdXMTA3WEc0Z0lDQWdkMmhwYkdVZ0tITWdQQ0IwYUdsekxtVXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHRmtaR1ZrSUQwZ2RHaHBjeTV6ZEdGeWRDNXdiSFZ6S0dSMWNpNXRZWEJWYm1sMGN5Z29lQ2tnUFQ0Z2VDQXFJR2xrZUNrcE8xeHVJQ0FnSUNBZ2JtVjRkQ0E5SUN0aFpHUmxaQ0ErSUN0MGFHbHpMbVVnUHlCMGFHbHpMbVVnT2lCaFpHUmxaRHRjYmlBZ0lDQWdJSEpsYzNWc2RITXVjSFZ6YUNoSmJuUmxjblpoYkM1bWNtOXRSR0YwWlZScGJXVnpLSE1zSUc1bGVIUXBLVHRjYmlBZ0lDQWdJSE1nUFNCdVpYaDBPMXh1SUNBZ0lDQWdhV1I0SUNzOUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkSE03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1UzQnNhWFFnZEdocGN5QkpiblJsY25aaGJDQnBiblJ2SUhSb1pTQnpjR1ZqYVdacFpXUWdiblZ0WW1WeUlHOW1JSE50WVd4c1pYSWdhVzUwWlhKMllXeHpMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2JuVnRZbVZ5VDJaUVlYSjBjeUF0SUZSb1pTQnVkVzFpWlhJZ2IyWWdTVzUwWlhKMllXeHpJSFJ2SUdScGRtbGtaU0IwYUdVZ1NXNTBaWEoyWVd3Z2FXNTBieTVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdRWEp5WVhsOVhHNGdJQ0FxTDF4dUlDQmthWFpwWkdWRmNYVmhiR3g1S0c1MWJXSmxjazltVUdGeWRITXBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlGdGRPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk53YkdsMFFua29kR2hwY3k1c1pXNW5kR2dvS1NBdklHNTFiV0psY2s5bVVHRnlkSE1wTG5Oc2FXTmxLREFzSUc1MWJXSmxjazltVUdGeWRITXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnliaUIzYUdWMGFHVnlJSFJvYVhNZ1NXNTBaWEoyWVd3Z2IzWmxjbXhoY0hNZ2QybDBhQ0IwYUdVZ2MzQmxZMmxtYVdWa0lFbHVkR1Z5ZG1Gc1hHNGdJQ0FxSUVCd1lYSmhiU0I3U1c1MFpYSjJZV3g5SUc5MGFHVnlYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQnZkbVZ5YkdGd2N5aHZkR2hsY2lrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtVWdQaUJ2ZEdobGNpNXpJQ1ltSUhSb2FYTXVjeUE4SUc5MGFHVnlMbVU3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1SUhkb1pYUm9aWElnZEdocGN5QkpiblJsY25aaGJDZHpJR1Z1WkNCcGN5QmhaR3BoWTJWdWRDQjBieUIwYUdVZ2MzQmxZMmxtYVdWa0lFbHVkR1Z5ZG1Gc0ozTWdjM1JoY25RdVhHNGdJQ0FxSUVCd1lYSmhiU0I3U1c1MFpYSjJZV3g5SUc5MGFHVnlYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQmhZblYwYzFOMFlYSjBLRzkwYUdWeUtTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQnlaWFIxY200Z0szUm9hWE11WlNBOVBUMGdLMjkwYUdWeUxuTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJSGRvWlhSb1pYSWdkR2hwY3lCSmJuUmxjblpoYkNkeklITjBZWEowSUdseklHRmthbUZqWlc1MElIUnZJSFJvWlNCemNHVmphV1pwWldRZ1NXNTBaWEoyWVd3bmN5QmxibVF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdTVzUwWlhKMllXeDlJRzkwYUdWeVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCaFluVjBjMFZ1WkNodmRHaGxjaWtnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnY21WMGRYSnVJQ3R2ZEdobGNpNWxJRDA5UFNBcmRHaHBjeTV6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5YmlCM2FHVjBhR1Z5SUhSb2FYTWdTVzUwWlhKMllXd2daVzVuZFd4bWN5QjBhR1VnYzNSaGNuUWdZVzVrSUdWdVpDQnZaaUIwYUdVZ2MzQmxZMmxtYVdWa0lFbHVkR1Z5ZG1Gc0xseHVJQ0FnS2lCQWNHRnlZVzBnZTBsdWRHVnlkbUZzZlNCdmRHaGxjbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdGliMjlzWldGdWZWeHVJQ0FnS2k5Y2JpQWdaVzVuZFd4bWN5aHZkR2hsY2lrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjeUE4UFNCdmRHaGxjaTV6SUNZbUlIUm9hWE11WlNBK1BTQnZkR2hsY2k1bE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJpQjNhR1YwYUdWeUlIUm9hWE1nU1c1MFpYSjJZV3dnYUdGeklIUm9aU0J6WVcxbElITjBZWEowSUdGdVpDQmxibVFnWVhNZ2RHaGxJSE53WldOcFptbGxaQ0JKYm5SbGNuWmhiQzVjYmlBZ0lDb2dRSEJoY21GdElIdEpiblJsY25aaGJIMGdiM1JvWlhKY2JpQWdJQ29nUUhKbGRIVnliaUI3WW05dmJHVmhibjFjYmlBZ0lDb3ZYRzRnSUdWeGRXRnNjeWh2ZEdobGNpa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0lIeDhJQ0Z2ZEdobGNpNXBjMVpoYkdsa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y3k1bGNYVmhiSE1vYjNSb1pYSXVjeWtnSmlZZ2RHaHBjeTVsTG1WeGRXRnNjeWh2ZEdobGNpNWxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnWVc0Z1NXNTBaWEoyWVd3Z2NtVndjbVZ6Wlc1MGFXNW5JSFJvWlNCcGJuUmxjbk5sWTNScGIyNGdiMllnZEdocGN5QkpiblJsY25aaGJDQmhibVFnZEdobElITndaV05wWm1sbFpDQkpiblJsY25aaGJDNWNiaUFnSUNvZ1UzQmxZMmxtYVdOaGJHeDVMQ0IwYUdVZ2NtVnpkV3gwYVc1bklFbHVkR1Z5ZG1Gc0lHaGhjeUIwYUdVZ2JXRjRhVzExYlNCemRHRnlkQ0IwYVcxbElHRnVaQ0IwYUdVZ2JXbHVhVzExYlNCbGJtUWdkR2x0WlNCdlppQjBhR1VnZEhkdklFbHVkR1Z5ZG1Gc2N5NWNiaUFnSUNvZ1VtVjBkWEp1Y3lCdWRXeHNJR2xtSUhSb1pTQnBiblJsY25ObFkzUnBiMjRnYVhNZ1pXMXdkSGtzSUcxbFlXNXBibWNzSUhSb1pTQnBiblJsY25aaGJITWdaRzl1SjNRZ2FXNTBaWEp6WldOMExseHVJQ0FnS2lCQWNHRnlZVzBnZTBsdWRHVnlkbUZzZlNCdmRHaGxjbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdEpiblJsY25aaGJIMWNiaUFnSUNvdlhHNGdJR2x1ZEdWeWMyVmpkR2x2YmlodmRHaGxjaWtnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0JqYjI1emRDQnpJRDBnZEdocGN5NXpJRDRnYjNSb1pYSXVjeUEvSUhSb2FYTXVjeUE2SUc5MGFHVnlMbk1zWEc0Z0lDQWdJQ0JsSUQwZ2RHaHBjeTVsSUR3Z2IzUm9aWEl1WlNBL0lIUm9hWE11WlNBNklHOTBhR1Z5TG1VN1hHNWNiaUFnSUNCcFppQW9jeUErUFNCbEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUVsdWRHVnlkbUZzTG1aeWIyMUVZWFJsVkdsdFpYTW9jeXdnWlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5YmlCaGJpQkpiblJsY25aaGJDQnlaWEJ5WlhObGJuUnBibWNnZEdobElIVnVhVzl1SUc5bUlIUm9hWE1nU1c1MFpYSjJZV3dnWVc1a0lIUm9aU0J6Y0dWamFXWnBaV1FnU1c1MFpYSjJZV3d1WEc0Z0lDQXFJRk53WldOcFptbGpZV3hzZVN3Z2RHaGxJSEpsYzNWc2RHbHVaeUJKYm5SbGNuWmhiQ0JvWVhNZ2RHaGxJRzFwYm1sdGRXMGdjM1JoY25RZ2RHbHRaU0JoYm1RZ2RHaGxJRzFoZUdsdGRXMGdaVzVrSUhScGJXVWdiMllnZEdobElIUjNieUJKYm5SbGNuWmhiSE11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdTVzUwWlhKMllXeDlJRzkwYUdWeVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBsdWRHVnlkbUZzZlZ4dUlDQWdLaTljYmlBZ2RXNXBiMjRvYjNSb1pYSXBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdZMjl1YzNRZ2N5QTlJSFJvYVhNdWN5QThJRzkwYUdWeUxuTWdQeUIwYUdsekxuTWdPaUJ2ZEdobGNpNXpMRnh1SUNBZ0lDQWdaU0E5SUhSb2FYTXVaU0ErSUc5MGFHVnlMbVVnUHlCMGFHbHpMbVVnT2lCdmRHaGxjaTVsTzF4dUlDQWdJSEpsZEhWeWJpQkpiblJsY25aaGJDNW1jbTl0UkdGMFpWUnBiV1Z6S0hNc0lHVXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUUxbGNtZGxJR0Z1SUdGeWNtRjVJRzltSUVsdWRHVnlkbUZzY3lCcGJuUnZJR0VnWlhGMWFYWmhiR1Z1ZENCdGFXNXBiV0ZzSUhObGRDQnZaaUJKYm5SbGNuWmhiSE11WEc0Z0lDQXFJRU52YldKcGJtVnpJRzkyWlhKc1lYQndhVzVuSUdGdVpDQmhaR3BoWTJWdWRDQkpiblJsY25aaGJITXVYRzRnSUNBcUlFQndZWEpoYlNCN1FYSnlZWGw5SUdsdWRHVnlkbUZzYzF4dUlDQWdLaUJBY21WMGRYSnVJSHRCY25KaGVYMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnRaWEpuWlNocGJuUmxjblpoYkhNcElIdGNiaUFnSUNCamIyNXpkQ0JiWm05MWJtUXNJR1pwYm1Gc1hTQTlJR2x1ZEdWeWRtRnNjMXh1SUNBZ0lDQWdMbk52Y25Rb0tHRXNJR0lwSUQwK0lHRXVjeUF0SUdJdWN5bGNiaUFnSUNBZ0lDNXlaV1IxWTJVb1hHNGdJQ0FnSUNBZ0lDaGJjMjltWVhJc0lHTjFjbkpsYm5SZExDQnBkR1Z0S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDRmpkWEp5Wlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVzNOdlptRnlMQ0JwZEdWdFhUdGNiaUFnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dOMWNuSmxiblF1YjNabGNteGhjSE1vYVhSbGJTa2dmSHdnWTNWeWNtVnVkQzVoWW5WMGMxTjBZWEowS0dsMFpXMHBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1czTnZabUZ5TENCamRYSnlaVzUwTG5WdWFXOXVLR2wwWlcwcFhUdGNiaUFnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0emIyWmhjaTVqYjI1allYUW9XMk4xY25KbGJuUmRLU3dnYVhSbGJWMDdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQmJXMTBzSUc1MWJHeGRYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lHbG1JQ2htYVc1aGJDa2dlMXh1SUNBZ0lDQWdabTkxYm1RdWNIVnphQ2htYVc1aGJDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJtYjNWdVpEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdZVzRnWVhKeVlYa2diMllnU1c1MFpYSjJZV3h6SUhKbGNISmxjMlZ1ZEdsdVp5QjBhR1VnYzNCaGJuTWdiMllnZEdsdFpTQjBhR0YwSUc5dWJIa2dZWEJ3WldGeUlHbHVJRzl1WlNCdlppQjBhR1VnYzNCbFkybG1hV1ZrSUVsdWRHVnlkbUZzY3k1Y2JpQWdJQ29nUUhCaGNtRnRJSHRCY25KaGVYMGdhVzUwWlhKMllXeHpYRzRnSUNBcUlFQnlaWFIxY200Z2UwRnljbUY1ZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUhodmNpaHBiblJsY25aaGJITXBJSHRjYmlBZ0lDQnNaWFFnYzNSaGNuUWdQU0J1ZFd4c0xGeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVOdmRXNTBJRDBnTUR0Y2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhSeklEMGdXMTBzWEc0Z0lDQWdJQ0JsYm1SeklEMGdhVzUwWlhKMllXeHpMbTFoY0Nnb2FTa2dQVDRnVzF4dUlDQWdJQ0FnSUNCN0lIUnBiV1U2SUdrdWN5d2dkSGx3WlRvZ1hDSnpYQ0lnZlN4Y2JpQWdJQ0FnSUNBZ2V5QjBhVzFsT2lCcExtVXNJSFI1Y0dVNklGd2laVndpSUgwc1hHNGdJQ0FnSUNCZEtTeGNiaUFnSUNBZ0lHWnNZWFIwWlc1bFpDQTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNWpiMjVqWVhRb0xpNHVaVzVrY3lrc1hHNGdJQ0FnSUNCaGNuSWdQU0JtYkdGMGRHVnVaV1F1YzI5eWRDZ29ZU3dnWWlrZ1BUNGdZUzUwYVcxbElDMGdZaTUwYVcxbEtUdGNibHh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdhU0J2WmlCaGNuSXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkRiM1Z1ZENBclBTQnBMblI1Y0dVZ1BUMDlJRndpYzF3aUlEOGdNU0E2SUMweE8xeHVYRzRnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRU52ZFc1MElEMDlQU0F4S1NCN1hHNGdJQ0FnSUNBZ0lITjBZWEowSUQwZ2FTNTBhVzFsTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITjBZWEowSUNZbUlDdHpkR0Z5ZENBaFBUMGdLMmt1ZEdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGMzVnNkSE11Y0hWemFDaEpiblJsY25aaGJDNW1jbTl0UkdGMFpWUnBiV1Z6S0hOMFlYSjBMQ0JwTG5ScGJXVXBLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lITjBZWEowSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1NXNTBaWEoyWVd3dWJXVnlaMlVvY21WemRXeDBjeWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1SUdGdUlFbHVkR1Z5ZG1Gc0lISmxjSEpsYzJWdWRHbHVaeUIwYUdVZ2MzQmhiaUJ2WmlCMGFXMWxJR2x1SUhSb2FYTWdTVzUwWlhKMllXd2dkR2hoZENCa2IyVnpiaWQwSUc5MlpYSnNZWEFnZDJsMGFDQmhibmtnYjJZZ2RHaGxJSE53WldOcFptbGxaQ0JKYm5SbGNuWmhiSE11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdMaTR1U1c1MFpYSjJZV3g5SUdsdWRHVnlkbUZzYzF4dUlDQWdLaUJBY21WMGRYSnVJSHRCY25KaGVYMWNiaUFnSUNvdlhHNGdJR1JwWm1abGNtVnVZMlVvTGk0dWFXNTBaWEoyWVd4ektTQjdYRzRnSUNBZ2NtVjBkWEp1SUVsdWRHVnlkbUZzTG5odmNpaGJkR2hwYzEwdVkyOXVZMkYwS0dsdWRHVnlkbUZzY3lrcFhHNGdJQ0FnSUNBdWJXRndLQ2hwS1NBOVBpQjBhR2x6TG1sdWRHVnljMlZqZEdsdmJpaHBLU2xjYmlBZ0lDQWdJQzVtYVd4MFpYSW9LR2twSUQwK0lHa2dKaVlnSVdrdWFYTkZiWEIwZVNncEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnYzNSeWFXNW5JSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JSFJvYVhNZ1NXNTBaWEoyWVd3Z1lYQndjbTl3Y21saGRHVWdabTl5SUdSbFluVm5aMmx1Wnk1Y2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnZEc5VGRISnBibWNvS1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FwSUhKbGRIVnliaUJKVGxaQlRFbEVPMXh1SUNBZ0lISmxkSFZ5YmlCZ1d5UjdkR2hwY3k1ekxuUnZTVk5QS0NsOUlGeDFNakF4TXlBa2UzUm9hWE11WlM1MGIwbFRUeWdwZlNsZ08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZVzRnU1ZOUElEZzJNREV0WTI5dGNHeHBZVzUwSUhOMGNtbHVaeUJ5WlhCeVpYTmxiblJoZEdsdmJpQnZaaUIwYUdseklFbHVkR1Z5ZG1Gc0xseHVJQ0FnS2lCQWMyVmxJR2gwZEhCek9pOHZaVzR1ZDJscmFYQmxaR2xoTG05eVp5OTNhV3RwTDBsVFQxODROakF4STFScGJXVmZhVzUwWlhKMllXeHpYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnpJQzBnVkdobElITmhiV1VnYjNCMGFXOXVjeUJoY3lCN1FHeHBibXNnUkdGMFpWUnBiV1VqZEc5SlUwOTlYRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZTVk5QS0c5d2RITXBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlFbE9Wa0ZNU1VRN1hHNGdJQ0FnY21WMGRYSnVJR0FrZTNSb2FYTXVjeTUwYjBsVFR5aHZjSFJ6S1gwdkpIdDBhR2x6TG1VdWRHOUpVMDhvYjNCMGN5bDlZRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlFbFRUeUE0TmpBeExXTnZiWEJzYVdGdWRDQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1pHRjBaU0J2WmlCMGFHbHpJRWx1ZEdWeWRtRnNMbHh1SUNBZ0tpQlVhR1VnZEdsdFpTQmpiMjF3YjI1bGJuUnpJR0Z5WlNCcFoyNXZjbVZrTGx4dUlDQWdLaUJBYzJWbElHaDBkSEJ6T2k4dlpXNHVkMmxyYVhCbFpHbGhMbTl5Wnk5M2FXdHBMMGxUVDE4NE5qQXhJMVJwYldWZmFXNTBaWEoyWVd4elhHNGdJQ0FxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhSdlNWTlBSR0YwWlNncElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTldZV3hwWkNrZ2NtVjBkWEp1SUVsT1ZrRk1TVVE3WEc0Z0lDQWdjbVYwZFhKdUlHQWtlM1JvYVhNdWN5NTBiMGxUVDBSaGRHVW9LWDB2Skh0MGFHbHpMbVV1ZEc5SlUwOUVZWFJsS0NsOVlEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0Z1SUVsVFR5QTROakF4TFdOdmJYQnNhV0Z1ZENCemRISnBibWNnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdsdFpTQnZaaUIwYUdseklFbHVkR1Z5ZG1Gc0xseHVJQ0FnS2lCVWFHVWdaR0YwWlNCamIyMXdiMjVsYm5SeklHRnlaU0JwWjI1dmNtVmtMbHh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2Wlc0dWQybHJhWEJsWkdsaExtOXlaeTkzYVd0cEwwbFRUMTg0TmpBeEkxUnBiV1ZmYVc1MFpYSjJZV3h6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJ6SUMwZ1ZHaGxJSE5oYldVZ2IzQjBhVzl1Y3lCaGN5QjdRR3hwYm1zZ1JHRjBaVlJwYldVamRHOUpVMDk5WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJSFJ2U1ZOUFZHbHRaU2h2Y0hSektTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElISmxkSFZ5YmlCSlRsWkJURWxFTzF4dUlDQWdJSEpsZEhWeWJpQmdKSHQwYUdsekxuTXVkRzlKVTA5VWFXMWxLRzl3ZEhNcGZTOGtlM1JvYVhNdVpTNTBiMGxUVDFScGJXVW9iM0IwY3lsOVlEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnYzNSeWFXNW5JSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JSFJvYVhNZ1NXNTBaWEoyWVd3Z1ptOXliV0YwZEdWa0lHRmpZMjl5WkdsdVp5QjBieUIwYUdVZ2MzQmxZMmxtYVdWa0lHWnZjbTFoZENCemRISnBibWN1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmtZWFJsUm05eWJXRjBJQzBnZEdobElHWnZjbTFoZENCemRISnBibWN1SUZSb2FYTWdjM1J5YVc1bklHWnZjbTFoZEhNZ2RHaGxJSE4wWVhKMElHRnVaQ0JsYm1RZ2RHbHRaUzRnVTJWbElIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIwWnZjbTFoZEgwZ1ptOXlJR1JsZEdGcGJITXVYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnpJQzBnYjNCMGFXOXVjMXh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11YzJWd1lYSmhkRzl5SUQwZ0lDY2dYSFV5TURFeklDZGRJQzBnWVNCelpYQmhjbUYwYjNJZ2RHOGdjR3hoWTJVZ1ltVjBkMlZsYmlCMGFHVWdjM1JoY25RZ1lXNWtJR1Z1WkNCeVpYQnlaWE5sYm5SaGRHbHZibk5jYmlBZ0lDb2dRSEpsZEhWeWJpQjdjM1J5YVc1bmZWeHVJQ0FnS2k5Y2JpQWdkRzlHYjNKdFlYUW9aR0YwWlVadmNtMWhkQ3dnZXlCelpYQmhjbUYwYjNJZ1BTQmNJaUJjZFRJd01UTWdYQ0lnZlNBOUlIdDlLU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUXBJSEpsZEhWeWJpQkpUbFpCVEVsRU8xeHVJQ0FnSUhKbGRIVnliaUJnSkh0MGFHbHpMbk11ZEc5R2IzSnRZWFFvWkdGMFpVWnZjbTFoZENsOUpIdHpaWEJoY21GMGIzSjlKSHQwYUdsekxtVXVkRzlHYjNKdFlYUW9aR0YwWlVadmNtMWhkQ2w5WUR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z1lTQkVkWEpoZEdsdmJpQnlaWEJ5WlhObGJuUnBibWNnZEdobElIUnBiV1VnYzNCaGJtNWxaQ0JpZVNCMGFHbHpJR2x1ZEdWeWRtRnNMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjN4emRISnBibWRiWFgwZ1czVnVhWFE5V3lkdGFXeHNhWE5sWTI5dVpITW5YVjBnTFNCMGFHVWdkVzVwZENCdmNpQjFibWwwY3lBb2MzVmphQ0JoY3lBbmFHOTFjbk1uSUc5eUlDZGtZWGx6SnlrZ2RHOGdhVzVqYkhWa1pTQnBiaUIwYUdVZ1pIVnlZWFJwYjI0dVhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2Y0hSeklDMGdiM0IwYVc5dWN5QjBhR0YwSUdGbVptVmpkQ0IwYUdVZ1kzSmxZWFJwYjI0Z2IyWWdkR2hsSUVSMWNtRjBhVzl1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1amIyNTJaWEp6YVc5dVFXTmpkWEpoWTNrOUoyTmhjM1ZoYkNkZElDMGdkR2hsSUdOdmJuWmxjbk5wYjI0Z2MzbHpkR1Z0SUhSdklIVnpaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkpiblJsY25aaGJDNW1jbTl0UkdGMFpWUnBiV1Z6S0dSME1Td2daSFF5S1M1MGIwUjFjbUYwYVc5dUtDa3VkRzlQWW1wbFkzUW9LU0F2THowK0lIc2diV2xzYkdselpXTnZibVJ6T2lBNE9EUTRPVEkxTnlCOVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVsdWRHVnlkbUZzTG1aeWIyMUVZWFJsVkdsdFpYTW9aSFF4TENCa2RESXBMblJ2UkhWeVlYUnBiMjRvSjJSaGVYTW5LUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJrWVhsek9pQXhMakF5TkRFNE1USXhOVEkzTnpjM056Z2dmVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkpiblJsY25aaGJDNW1jbTl0UkdGMFpWUnBiV1Z6S0dSME1Td2daSFF5S1M1MGIwUjFjbUYwYVc5dUtGc25hRzkxY25NbkxDQW5iV2x1ZFhSbGN5ZGRLUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJvYjNWeWN6b2dNalFzSUcxcGJuVjBaWE02SURNMExqZ3lNRGsxSUgxY2JpQWdJQ29nUUdWNFlXMXdiR1VnU1c1MFpYSjJZV3d1Wm5KdmJVUmhkR1ZVYVcxbGN5aGtkREVzSUdSME1pa3VkRzlFZFhKaGRHbHZiaWhiSjJodmRYSnpKeXdnSjIxcGJuVjBaWE1uTENBbmMyVmpiMjVrY3lkZEtTNTBiMDlpYW1WamRDZ3BJQzh2UFQ0Z2V5Qm9iM1Z5Y3pvZ01qUXNJRzFwYm5WMFpYTTZJRE0wTENCelpXTnZibVJ6T2lBME9TNHlOVGNnZlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JKYm5SbGNuWmhiQzVtY205dFJHRjBaVlJwYldWektHUjBNU3dnWkhReUtTNTBiMFIxY21GMGFXOXVLQ2R6WldOdmJtUnpKeWt1ZEc5UFltcGxZM1FvS1NBdkx6MCtJSHNnYzJWamIyNWtjem9nT0RnME9Ea3VNalUzSUgxY2JpQWdJQ29nUUhKbGRIVnliaUI3UkhWeVlYUnBiMjU5WEc0Z0lDQXFMMXh1SUNCMGIwUjFjbUYwYVc5dUtIVnVhWFFzSUc5d2RITXBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFUjFjbUYwYVc5dUxtbHVkbUZzYVdRb2RHaHBjeTVwYm5aaGJHbGtVbVZoYzI5dUtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpTNWthV1ptS0hSb2FYTXVjeXdnZFc1cGRDd2diM0IwY3lrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVblZ1SUcxaGNFWnVJRzl1SUhSb1pTQnBiblJsY25aaGJDQnpkR0Z5ZENCaGJtUWdaVzVrTENCeVpYUjFjbTVwYm1jZ1lTQnVaWGNnU1c1MFpYSjJZV3dnWm5KdmJTQjBhR1VnY21WemRXeDBhVzVuSUVSaGRHVlVhVzFsYzF4dUlDQWdLaUJBY0dGeVlXMGdlMloxYm1OMGFXOXVmU0J0WVhCR2JseHVJQ0FnS2lCQWNtVjBkWEp1SUh0SmJuUmxjblpoYkgxY2JpQWdJQ29nUUdWNFlXMXdiR1VnU1c1MFpYSjJZV3d1Wm5KdmJVUmhkR1ZVYVcxbGN5aGtkREVzSUdSME1pa3ViV0Z3Ulc1a2NHOXBiblJ6S0dWdVpIQnZhVzUwSUQwK0lHVnVaSEJ2YVc1MExuUnZWVlJES0NrcFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVsdWRHVnlkbUZzTG1aeWIyMUVZWFJsVkdsdFpYTW9aSFF4TENCa2RESXBMbTFoY0VWdVpIQnZhVzUwY3lobGJtUndiMmx1ZENBOVBpQmxibVJ3YjJsdWRDNXdiSFZ6S0hzZ2FHOTFjbk02SURJZ2ZTa3BYRzRnSUNBcUwxeHVJQ0J0WVhCRmJtUndiMmx1ZEhNb2JXRndSbTRwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdTVzUwWlhKMllXd3Vabkp2YlVSaGRHVlVhVzFsY3lodFlYQkdiaWgwYUdsekxuTXBMQ0J0WVhCR2JpaDBhR2x6TG1VcEtUdGNiaUFnZlZ4dWZWeHVJaXdnSW1sdGNHOXlkQ0JFWVhSbFZHbHRaU0JtY205dElGd2lMaTlrWVhSbGRHbHRaUzVxYzF3aU8xeHVhVzF3YjNKMElGTmxkSFJwYm1keklHWnliMjBnWENJdUwzTmxkSFJwYm1kekxtcHpYQ0k3WEc1cGJYQnZjblFnVEc5allXeGxJR1p5YjIwZ1hDSXVMMmx0Y0d3dmJHOWpZV3hsTG1welhDSTdYRzVwYlhCdmNuUWdTVUZPUVZwdmJtVWdabkp2YlNCY0lpNHZlbTl1WlhNdlNVRk9RVnB2Ym1VdWFuTmNJanRjYm1sdGNHOXlkQ0I3SUc1dmNtMWhiR2w2WlZwdmJtVWdmU0JtY205dElGd2lMaTlwYlhCc0wzcHZibVZWZEdsc0xtcHpYQ0k3WEc1Y2JtbHRjRzl5ZENCN0lHaGhjMUpsYkdGMGFYWmxJSDBnWm5KdmJTQmNJaTR2YVcxd2JDOTFkR2xzTG1welhDSTdYRzVjYmk4cUtseHVJQ29nVkdobElFbHVabThnWTJ4aGMzTWdZMjl1ZEdGcGJuTWdjM1JoZEdsaklHMWxkR2h2WkhNZ1ptOXlJSEpsZEhKcFpYWnBibWNnWjJWdVpYSmhiQ0IwYVcxbElHRnVaQ0JrWVhSbElISmxiR0YwWldRZ1pHRjBZUzRnUm05eUlHVjRZVzF3YkdVc0lHbDBJR2hoY3lCdFpYUm9iMlJ6SUdadmNpQm1hVzVrYVc1bklHOTFkQ0JwWmlCaElIUnBiV1VnZW05dVpTQm9ZWE1nWVNCRVUxUXNJR1p2Y2lCc2FYTjBhVzVuSUhSb1pTQnRiMjUwYUhNZ2FXNGdZVzU1SUhOMWNIQnZjblJsWkNCc2IyTmhiR1VzSUdGdVpDQm1iM0lnWkdselkyOTJaWEpwYm1jZ2QyaHBZMmdnYjJZZ1RIVjRiMjRnWm1WaGRIVnlaWE1nWVhKbElHRjJZV2xzWVdKc1pTQnBiaUIwYUdVZ1kzVnljbVZ1ZENCbGJuWnBjbTl1YldWdWRDNWNiaUFxTDF4dVpYaHdiM0owSUdSbFptRjFiSFFnWTJ4aGMzTWdTVzVtYnlCN1hHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkMmhsZEdobGNpQjBhR1VnYzNCbFkybG1hV1ZrSUhwdmJtVWdZMjl1ZEdGcGJuTWdZU0JFVTFRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mRnB2Ym1WOUlGdDZiMjVsUFNkc2IyTmhiQ2RkSUMwZ1dtOXVaU0IwYnlCamFHVmpheTRnUkdWbVlYVnNkSE1nZEc4Z2RHaGxJR1Z1ZG1seWIyNXRaVzUwSjNNZ2JHOWpZV3dnZW05dVpTNWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1ltOXZiR1ZoYm4xY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCb1lYTkVVMVFvZW05dVpTQTlJRk5sZEhScGJtZHpMbVJsWm1GMWJIUmFiMjVsS1NCN1hHNGdJQ0FnWTI5dWMzUWdjSEp2ZEc4Z1BTQkVZWFJsVkdsdFpTNXViM2NvS1M1elpYUmFiMjVsS0hwdmJtVXBMbk5sZENoN0lHMXZiblJvT2lBeE1pQjlLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQWhlbTl1WlM1cGMxVnVhWFpsY25OaGJDQW1KaUJ3Y205MGJ5NXZabVp6WlhRZ0lUMDlJSEJ5YjNSdkxuTmxkQ2g3SUcxdmJuUm9PaUEySUgwcExtOW1abk5sZER0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2QyaGxkR2hsY2lCMGFHVWdjM0JsWTJsbWFXVmtJSHB2Ym1VZ2FYTWdZU0IyWVd4cFpDQkpRVTVCSUhOd1pXTnBabWxsY2k1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSHB2Ym1VZ0xTQmFiMjVsSUhSdklHTm9aV05yWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdhWE5XWVd4cFpFbEJUa0ZhYjI1bEtIcHZibVVwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdTVUZPUVZwdmJtVXVhWE5XWVd4cFpGcHZibVVvZW05dVpTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTI5dWRtVnlkSE1nZEdobElHbHVjSFYwSUdsdWRHOGdZU0I3UUd4cGJtc2dXbTl1WlgwZ2FXNXpkR0Z1WTJVdVhHNGdJQ0FxWEc0Z0lDQXFJQ29nU1dZZ1lHbHVjSFYwWUNCcGN5QmhiSEpsWVdSNUlHRWdXbTl1WlNCcGJuTjBZVzVqWlN3Z2FYUWdhWE1nY21WMGRYSnVaV1FnZFc1amFHRnVaMlZrTGx4dUlDQWdLaUFxSUVsbUlHQnBibkIxZEdBZ2FYTWdZU0J6ZEhKcGJtY2dZMjl1ZEdGcGJtbHVaeUJoSUhaaGJHbGtJSFJwYldVZ2VtOXVaU0J1WVcxbExDQmhJRnB2Ym1VZ2FXNXpkR0Z1WTJWY2JpQWdJQ29nSUNCM2FYUm9JSFJvWVhRZ2JtRnRaU0JwY3lCeVpYUjFjbTVsWkM1Y2JpQWdJQ29nS2lCSlppQmdhVzV3ZFhSZ0lHbHpJR0VnYzNSeWFXNW5JSFJvWVhRZ1pHOWxjMjRuZENCeVpXWmxjaUIwYnlCaElHdHViM2R1SUhScGJXVWdlbTl1WlN3Z1lTQmFiMjVsWEc0Z0lDQXFJQ0FnYVc1emRHRnVZMlVnZDJsMGFDQjdRR3hwYm1zZ1dtOXVaU05wYzFaaGJHbGtmU0E5UFNCbVlXeHpaU0JwY3lCeVpYUjFjbTVsWkM1Y2JpQWdJQ29nS2lCSlppQmdhVzV3ZFhRZ2FYTWdZU0J1ZFcxaVpYSXNJR0VnV205dVpTQnBibk4wWVc1alpTQjNhWFJvSUhSb1pTQnpjR1ZqYVdacFpXUWdabWw0WldRZ2IyWm1jMlYwWEc0Z0lDQXFJQ0FnYVc0Z2JXbHVkWFJsY3lCcGN5QnlaWFIxY201bFpDNWNiaUFnSUNvZ0tpQkpaaUJnYVc1d2RYUmdJR2x6SUdCdWRXeHNZQ0J2Y2lCZ2RXNWtaV1pwYm1Wa1lDd2dkR2hsSUdSbFptRjFiSFFnZW05dVpTQnBjeUJ5WlhSMWNtNWxaQzVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOFdtOXVaWHh1ZFcxaVpYSjlJRnRwYm5CMWRGMGdMU0IwYUdVZ2RtRnNkV1VnZEc4Z1ltVWdZMjl1ZG1WeWRHVmtYRzRnSUNBcUlFQnlaWFIxY200Z2UxcHZibVY5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYm05eWJXRnNhWHBsV205dVpTaHBibkIxZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1YjNKdFlXeHBlbVZhYjI1bEtHbHVjSFYwTENCVFpYUjBhVzVuY3k1a1pXWmhkV3gwV205dVpTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJR0Z1SUdGeWNtRjVJRzltSUhOMFlXNWtZV3h2Ym1VZ2JXOXVkR2dnYm1GdFpYTXVYRzRnSUNBcUlFQnpaV1VnYUhSMGNITTZMeTlrWlhabGJHOXdaWEl1Ylc5NmFXeHNZUzV2Y21jdlpXNHRWVk12Wkc5amN5OVhaV0l2U21GMllWTmpjbWx3ZEM5U1pXWmxjbVZ1WTJVdlIyeHZZbUZzWDA5aWFtVmpkSE12UkdGMFpWUnBiV1ZHYjNKdFlYUmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0c1pXNW5kR2c5SjJ4dmJtY25YU0F0SUhSb1pTQnNaVzVuZEdnZ2IyWWdkR2hsSUcxdmJuUm9JSEpsY0hKbGMyVnVkR0YwYVc5dUxDQnpkV05vSUdGeklGd2liblZ0WlhKcFkxd2lMQ0JjSWpJdFpHbG5hWFJjSWl3Z1hDSnVZWEp5YjNkY0lpd2dYQ0p6YUc5eWRGd2lMQ0JjSW14dmJtZGNJbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUc5d2RHbHZibk5jYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJ6TG14dlkyRnNaVjBnTFNCMGFHVWdiRzlqWVd4bElHTnZaR1ZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJ6TG01MWJXSmxjbWx1WjFONWMzUmxiVDF1ZFd4c1hTQXRJSFJvWlNCdWRXMWlaWEpwYm1jZ2MzbHpkR1Z0WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1c2IyTlBZbW85Ym5Wc2JGMGdMU0JoYmlCbGVHbHpkR2x1WnlCc2IyTmhiR1VnYjJKcVpXTjBJSFJ2SUhWelpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXViM1YwY0hWMFEyRnNaVzVrWVhJOUoyZHlaV2R2Y25rblhTQXRJSFJvWlNCallXeGxibVJoY2x4dUlDQWdLaUJBWlhoaGJYQnNaU0JKYm1adkxtMXZiblJvY3lncFd6QmRJQzh2UFQ0Z0owcGhiblZoY25rblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVsdVptOHViVzl1ZEdoektDZHphRzl5ZENjcFd6QmRJQzh2UFQ0Z0owcGhiaWRjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdTVzVtYnk1dGIyNTBhSE1vSjI1MWJXVnlhV01uS1Zzd1hTQXZMejArSUNjeEoxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCSmJtWnZMbTF2Ym5Sb2N5Z25jMmh2Y25RbkxDQjdJR3h2WTJGc1pUb2dKMlp5TFVOQkp5QjlJQ2xiTUYwZ0x5ODlQaUFuYW1GdWRpNG5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbHVabTh1Ylc5dWRHaHpLQ2R1ZFcxbGNtbGpKeXdnZXlCc2IyTmhiR1U2SUNkaGNpY2dmU2xiTUYwZ0x5ODlQaUFuWEhVd05qWXhKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkpibVp2TG0xdmJuUm9jeWduYkc5dVp5Y3NJSHNnYjNWMGNIVjBRMkZzWlc1a1lYSTZJQ2RwYzJ4aGJXbGpKeUI5S1Zzd1hTQXZMejArSUNkU1lXSnBYSFV3TWtKQ0lFa25YRzRnSUNBcUlFQnlaWFIxY200Z2UwRnljbUY1ZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUcxdmJuUm9jeWhjYmlBZ0lDQnNaVzVuZEdnZ1BTQmNJbXh2Ym1kY0lpeGNiaUFnSUNCN0lHeHZZMkZzWlNBOUlHNTFiR3dzSUc1MWJXSmxjbWx1WjFONWMzUmxiU0E5SUc1MWJHd3NJR3h2WTA5aWFpQTlJRzUxYkd3c0lHOTFkSEIxZEVOaGJHVnVaR0Z5SUQwZ1hDSm5jbVZuYjNKNVhDSWdmU0E5SUh0OVhHNGdJQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW9iRzlqVDJKcUlIeDhJRXh2WTJGc1pTNWpjbVZoZEdVb2JHOWpZV3hsTENCdWRXMWlaWEpwYm1kVGVYTjBaVzBzSUc5MWRIQjFkRU5oYkdWdVpHRnlLU2t1Ylc5dWRHaHpLR3hsYm1kMGFDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVJR0Z1SUdGeWNtRjVJRzltSUdadmNtMWhkQ0J0YjI1MGFDQnVZVzFsY3k1Y2JpQWdJQ29nUm05eWJXRjBJRzF2Ym5Sb2N5QmthV1ptWlhJZ1puSnZiU0J6ZEdGdVpHRnNiMjVsSUcxdmJuUm9jeUJwYmlCMGFHRjBJSFJvWlhrbmNtVWdiV1ZoYm5RZ2RHOGdZWEJ3WldGeUlHNWxlSFFnZEc4Z2RHaGxJR1JoZVNCdlppQjBhR1VnYlc5dWRHZ3VJRWx1SUhOdmJXVWdiR0Z1WjNWaFoyVnpMQ0IwYUdGMFhHNGdJQ0FxSUdOb1lXNW5aWE1nZEdobElITjBjbWx1Wnk1Y2JpQWdJQ29nVTJWbElIdEFiR2x1YXlCSmJtWnZJMjF2Ym5Sb2MzMWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0c1pXNW5kR2c5SjJ4dmJtY25YU0F0SUhSb1pTQnNaVzVuZEdnZ2IyWWdkR2hsSUcxdmJuUm9JSEpsY0hKbGMyVnVkR0YwYVc5dUxDQnpkV05vSUdGeklGd2liblZ0WlhKcFkxd2lMQ0JjSWpJdFpHbG5hWFJjSWl3Z1hDSnVZWEp5YjNkY0lpd2dYQ0p6YUc5eWRGd2lMQ0JjSW14dmJtZGNJbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUc5d2RHbHZibk5jYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJ6TG14dlkyRnNaVjBnTFNCMGFHVWdiRzlqWVd4bElHTnZaR1ZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJ6TG01MWJXSmxjbWx1WjFONWMzUmxiVDF1ZFd4c1hTQXRJSFJvWlNCdWRXMWlaWEpwYm1jZ2MzbHpkR1Z0WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1c2IyTlBZbW85Ym5Wc2JGMGdMU0JoYmlCbGVHbHpkR2x1WnlCc2IyTmhiR1VnYjJKcVpXTjBJSFJ2SUhWelpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXViM1YwY0hWMFEyRnNaVzVrWVhJOUoyZHlaV2R2Y25rblhTQXRJSFJvWlNCallXeGxibVJoY2x4dUlDQWdLaUJBY21WMGRYSnVJSHRCY25KaGVYMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnRiMjUwYUhOR2IzSnRZWFFvWEc0Z0lDQWdiR1Z1WjNSb0lEMGdYQ0pzYjI1blhDSXNYRzRnSUNBZ2V5QnNiMk5oYkdVZ1BTQnVkV3hzTENCdWRXMWlaWEpwYm1kVGVYTjBaVzBnUFNCdWRXeHNMQ0JzYjJOUFltb2dQU0J1ZFd4c0xDQnZkWFJ3ZFhSRFlXeGxibVJoY2lBOUlGd2laM0psWjI5eWVWd2lJSDBnUFNCN2ZWeHVJQ0FwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLR3h2WTA5aWFpQjhmQ0JNYjJOaGJHVXVZM0psWVhSbEtHeHZZMkZzWlN3Z2JuVnRZbVZ5YVc1blUzbHpkR1Z0TENCdmRYUndkWFJEWVd4bGJtUmhjaWtwTG0xdmJuUm9jeWhzWlc1bmRHZ3NJSFJ5ZFdVcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJpQmhiaUJoY25KaGVTQnZaaUJ6ZEdGdVpHRnNiMjVsSUhkbFpXc2dibUZ0WlhNdVhHNGdJQ0FxSUVCelpXVWdhSFIwY0hNNkx5OWtaWFpsYkc5d1pYSXViVzk2YVd4c1lTNXZjbWN2Wlc0dFZWTXZaRzlqY3k5WFpXSXZTbUYyWVZOamNtbHdkQzlTWldabGNtVnVZMlV2UjJ4dlltRnNYMDlpYW1WamRITXZSR0YwWlZScGJXVkdiM0p0WVhSY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnRzWlc1bmRHZzlKMnh2Ym1jblhTQXRJSFJvWlNCc1pXNW5kR2dnYjJZZ2RHaGxJSGRsWld0a1lYa2djbVZ3Y21WelpXNTBZWFJwYjI0c0lITjFZMmdnWVhNZ1hDSnVZWEp5YjNkY0lpd2dYQ0p6YUc5eWRGd2lMQ0JjSW14dmJtZGNJaTVjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkSE1nTFNCdmNIUnBiMjV6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1c2IyTmhiR1ZkSUMwZ2RHaGxJR3h2WTJGc1pTQmpiMlJsWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1dWRXMWlaWEpwYm1kVGVYTjBaVzA5Ym5Wc2JGMGdMU0IwYUdVZ2JuVnRZbVZ5YVc1bklITjVjM1JsYlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMjl3ZEhNdWJHOWpUMkpxUFc1MWJHeGRJQzBnWVc0Z1pYaHBjM1JwYm1jZ2JHOWpZV3hsSUc5aWFtVmpkQ0IwYnlCMWMyVmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1NXNW1ieTUzWldWclpHRjVjeWdwV3pCZElDOHZQVDRnSjAxdmJtUmhlU2RjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdTVzVtYnk1M1pXVnJaR0Y1Y3lnbmMyaHZjblFuS1Zzd1hTQXZMejArSUNkTmIyNG5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbHVabTh1ZDJWbGEyUmhlWE1vSjNOb2IzSjBKeXdnZXlCc2IyTmhiR1U2SUNkbWNpMURRU2NnZlNsYk1GMGdMeTg5UGlBbmJIVnVMaWRjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdTVzVtYnk1M1pXVnJaR0Y1Y3lnbmMyaHZjblFuTENCN0lHeHZZMkZzWlRvZ0oyRnlKeUI5S1Zzd1hTQXZMejArSUNkY2RUQTJNamRjZFRBMk5EUmNkVEEyTWpkY2RUQTJNa0pjZFRBMk5EWmNkVEEyTkVGY2RUQTJORFluWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMEZ5Y21GNWZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklIZGxaV3RrWVhsektHeGxibWQwYUNBOUlGd2liRzl1WjF3aUxDQjdJR3h2WTJGc1pTQTlJRzUxYkd3c0lHNTFiV0psY21sdVoxTjVjM1JsYlNBOUlHNTFiR3dzSUd4dlkwOWlhaUE5SUc1MWJHd2dmU0E5SUh0OUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoc2IyTlBZbW9nZkh3Z1RHOWpZV3hsTG1OeVpXRjBaU2hzYjJOaGJHVXNJRzUxYldKbGNtbHVaMU41YzNSbGJTd2diblZzYkNrcExuZGxaV3RrWVhsektHeGxibWQwYUNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdUlHRnVJR0Z5Y21GNUlHOW1JR1p2Y20xaGRDQjNaV1ZySUc1aGJXVnpMbHh1SUNBZ0tpQkdiM0p0WVhRZ2QyVmxhMlJoZVhNZ1pHbG1abVZ5SUdaeWIyMGdjM1JoYm1SaGJHOXVaU0IzWldWclpHRjVjeUJwYmlCMGFHRjBJSFJvWlhrbmNtVWdiV1ZoYm5RZ2RHOGdZWEJ3WldGeUlHNWxlSFFnZEc4Z2JXOXlaU0JrWVhSbElHbHVabTl5YldGMGFXOXVMaUJKYmlCemIyMWxJR3hoYm1kMVlXZGxjeXdnZEdoaGRGeHVJQ0FnS2lCamFHRnVaMlZ6SUhSb1pTQnpkSEpwYm1jdVhHNGdJQ0FxSUZObFpTQjdRR3hwYm1zZ1NXNW1ieU4zWldWclpHRjVjMzFjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHNaVzVuZEdnOUoyeHZibWNuWFNBdElIUm9aU0JzWlc1bmRHZ2diMllnZEdobElHMXZiblJvSUhKbGNISmxjMlZ1ZEdGMGFXOXVMQ0J6ZFdOb0lHRnpJRndpYm1GeWNtOTNYQ0lzSUZ3aWMyaHZjblJjSWl3Z1hDSnNiMjVuWENJdVhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2Y0hSeklDMGdiM0IwYVc5dWMxeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzI5d2RITXViRzlqWVd4bFBXNTFiR3hkSUMwZ2RHaGxJR3h2WTJGc1pTQmpiMlJsWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1dWRXMWlaWEpwYm1kVGVYTjBaVzA5Ym5Wc2JGMGdMU0IwYUdVZ2JuVnRZbVZ5YVc1bklITjVjM1JsYlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMjl3ZEhNdWJHOWpUMkpxUFc1MWJHeGRJQzBnWVc0Z1pYaHBjM1JwYm1jZ2JHOWpZV3hsSUc5aWFtVmpkQ0IwYnlCMWMyVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1FYSnlZWGw5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nZDJWbGEyUmhlWE5HYjNKdFlYUW9YRzRnSUNBZ2JHVnVaM1JvSUQwZ1hDSnNiMjVuWENJc1hHNGdJQ0FnZXlCc2IyTmhiR1VnUFNCdWRXeHNMQ0J1ZFcxaVpYSnBibWRUZVhOMFpXMGdQU0J1ZFd4c0xDQnNiMk5QWW1vZ1BTQnVkV3hzSUgwZ1BTQjdmVnh1SUNBcElIdGNiaUFnSUNCeVpYUjFjbTRnS0d4dlkwOWlhaUI4ZkNCTWIyTmhiR1V1WTNKbFlYUmxLR3h2WTJGc1pTd2diblZ0WW1WeWFXNW5VM2x6ZEdWdExDQnVkV3hzS1NrdWQyVmxhMlJoZVhNb2JHVnVaM1JvTENCMGNuVmxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTRnWVc0Z1lYSnlZWGtnYjJZZ2JXVnlhV1JwWlcxekxseHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGN5QXRJRzl3ZEdsdmJuTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dmNIUnpMbXh2WTJGc1pWMGdMU0IwYUdVZ2JHOWpZV3hsSUdOdlpHVmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1NXNW1ieTV0WlhKcFpHbGxiWE1vS1NBdkx6MCtJRnNnSjBGTkp5d2dKMUJOSnlCZFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVsdVptOHViV1Z5YVdScFpXMXpLSHNnYkc5allXeGxPaUFuYlhrbklIMHBJQzh2UFQ0Z1d5QW5YSFV4TURFMFhIVXhNRE0yWEhVeE1ERTBYSFV4TURBd1hIVXhNRE5CSnl3Z0oxeDFNVEF3UVZ4MU1UQXhORngxTVRBek1TY2dYVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEJjbkpoZVgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCdFpYSnBaR2xsYlhNb2V5QnNiMk5oYkdVZ1BTQnVkV3hzSUgwZ1BTQjdmU2tnZTF4dUlDQWdJSEpsZEhWeWJpQk1iMk5oYkdVdVkzSmxZWFJsS0d4dlkyRnNaU2t1YldWeWFXUnBaVzF6S0NrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdUlHRnVJR0Z5Y21GNUlHOW1JR1Z5WVhNc0lITjFZMmdnWVhNZ1d5ZENReWNzSUNkQlJDZGRMaUJVYUdVZ2JHOWpZV3hsSUdOaGJpQmlaU0J6Y0dWamFXWnBaV1FzSUdKMWRDQjBhR1VnWTJGc1pXNWtZWElnYzNsemRHVnRJR2x6SUdGc2QyRjVjeUJIY21WbmIzSnBZVzR1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiR1Z1WjNSb1BTZHphRzl5ZENkZElDMGdkR2hsSUd4bGJtZDBhQ0J2WmlCMGFHVWdaWEpoSUhKbGNISmxjMlZ1ZEdGMGFXOXVMQ0J6ZFdOb0lHRnpJRndpYzJodmNuUmNJaUJ2Y2lCY0lteHZibWRjSWk1Y2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEhNZ0xTQnZjSFJwYjI1elhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXNiMk5oYkdWZElDMGdkR2hsSUd4dlkyRnNaU0JqYjJSbFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVsdVptOHVaWEpoY3lncElDOHZQVDRnV3lBblFrTW5MQ0FuUVVRbklGMWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1NXNW1ieTVsY21GektDZHNiMjVuSnlrZ0x5ODlQaUJiSUNkQ1pXWnZjbVVnUTJoeWFYTjBKeXdnSjBGdWJtOGdSRzl0YVc1cEp5QmRYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFbHVabTh1WlhKaGN5Z25iRzl1Wnljc0lIc2diRzlqWVd4bE9pQW5abkluSUgwcElDOHZQVDRnV3lBbllYWmhiblFnU2x4MU1EQkZPWE4xY3kxRGFISnBjM1FuTENBbllYQnlYSFV3TUVVNGN5QktYSFV3TUVVNWMzVnpMVU5vY21semRDY2dYVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEJjbkpoZVgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCbGNtRnpLR3hsYm1kMGFDQTlJRndpYzJodmNuUmNJaXdnZXlCc2IyTmhiR1VnUFNCdWRXeHNJSDBnUFNCN2ZTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCTWIyTmhiR1V1WTNKbFlYUmxLR3h2WTJGc1pTd2diblZzYkN3Z1hDSm5jbVZuYjNKNVhDSXBMbVZ5WVhNb2JHVnVaM1JvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2RHaGxJSE5sZENCdlppQmhkbUZwYkdGaWJHVWdabVZoZEhWeVpYTWdhVzRnZEdocGN5QmxiblpwY205dWJXVnVkQzVjYmlBZ0lDb2dVMjl0WlNCbVpXRjBkWEpsY3lCdlppQk1kWGh2YmlCaGNtVWdibTkwSUdGMllXbHNZV0pzWlNCcGJpQmhiR3dnWlc1MmFYSnZibTFsYm5SekxpQkdiM0lnWlhoaGJYQnNaU3dnYjI0Z2IyeGtaWElnWW5KdmQzTmxjbk1zSUhKbGJHRjBhWFpsSUhScGJXVWdabTl5YldGMGRHbHVaeUJ6ZFhCd2IzSjBJR2x6SUc1dmRDQmhkbUZwYkdGaWJHVXVJRlZ6WlNCMGFHbHpJR1oxYm1OMGFXOXVJSFJ2SUdacFozVnlaU0J2ZFhRZ2FXWWdkR2hoZENkeklIUm9aU0JqWVhObExseHVJQ0FnS2lCTFpYbHpPbHh1SUNBZ0tpQXFJR0J5Wld4aGRHbDJaV0E2SUhkb1pYUm9aWElnZEdocGN5QmxiblpwY205dWJXVnVkQ0J6ZFhCd2IzSjBjeUJ5Wld4aGRHbDJaU0IwYVcxbElHWnZjbTFoZEhScGJtZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1NXNW1ieTVtWldGMGRYSmxjeWdwSUM4dlBUNGdleUJ5Wld4aGRHbDJaVG9nWm1Gc2MyVWdmVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdFBZbXBsWTNSOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1ptVmhkSFZ5WlhNb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhzZ2NtVnNZWFJwZG1VNklHaGhjMUpsYkdGMGFYWmxLQ2tnZlR0Y2JpQWdmVnh1ZlZ4dUlpd2dJbWx0Y0c5eWRDQkVkWEpoZEdsdmJpQm1jbTl0SUZ3aUxpNHZaSFZ5WVhScGIyNHVhbk5jSWp0Y2JseHVablZ1WTNScGIyNGdaR0Y1UkdsbVppaGxZWEpzYVdWeUxDQnNZWFJsY2lrZ2UxeHVJQ0JqYjI1emRDQjFkR05FWVhsVGRHRnlkQ0E5SUNoa2RDa2dQVDRnWkhRdWRHOVZWRU1vTUN3Z2V5QnJaV1Z3VEc5allXeFVhVzFsT2lCMGNuVmxJSDBwTG5OMFlYSjBUMllvWENKa1lYbGNJaWt1ZG1Gc2RXVlBaaWdwTEZ4dUlDQWdJRzF6SUQwZ2RYUmpSR0Y1VTNSaGNuUW9iR0YwWlhJcElDMGdkWFJqUkdGNVUzUmhjblFvWldGeWJHbGxjaWs3WEc0Z0lISmxkSFZ5YmlCTllYUm9MbVpzYjI5eUtFUjFjbUYwYVc5dUxtWnliMjFOYVd4c2FYTW9iWE1wTG1GektGd2laR0Y1YzF3aUtTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHaHBaMmhQY21SbGNrUnBabVp6S0dOMWNuTnZjaXdnYkdGMFpYSXNJSFZ1YVhSektTQjdYRzRnSUdOdmJuTjBJR1JwWm1abGNuTWdQU0JiWEc0Z0lDQWdXMXdpZVdWaGNuTmNJaXdnS0dFc0lHSXBJRDArSUdJdWVXVmhjaUF0SUdFdWVXVmhjbDBzWEc0Z0lDQWdXMXdpY1hWaGNuUmxjbk5jSWl3Z0tHRXNJR0lwSUQwK0lHSXVjWFZoY25SbGNpQXRJR0V1Y1hWaGNuUmxjbDBzWEc0Z0lDQWdXMXdpYlc5dWRHaHpYQ0lzSUNoaExDQmlLU0E5UGlCaUxtMXZiblJvSUMwZ1lTNXRiMjUwYUNBcklDaGlMbmxsWVhJZ0xTQmhMbmxsWVhJcElDb2dNVEpkTEZ4dUlDQWdJRnRjYmlBZ0lDQWdJRndpZDJWbGEzTmNJaXhjYmlBZ0lDQWdJQ2hoTENCaUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1JoZVhNZ1BTQmtZWGxFYVdabUtHRXNJR0lwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnS0dSaGVYTWdMU0FvWkdGNWN5QWxJRGNwS1NBdklEYzdYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lGMHNYRzRnSUNBZ1cxd2laR0Y1YzF3aUxDQmtZWGxFYVdabVhTeGNiaUFnWFR0Y2JseHVJQ0JqYjI1emRDQnlaWE4xYkhSeklEMGdlMzA3WEc0Z0lHeGxkQ0JzYjNkbGMzUlBjbVJsY2l3Z2FHbG5hRmRoZEdWeU8xeHVYRzRnSUdadmNpQW9ZMjl1YzNRZ1czVnVhWFFzSUdScFptWmxjbDBnYjJZZ1pHbG1abVZ5Y3lrZ2UxeHVJQ0FnSUdsbUlDaDFibWwwY3k1cGJtUmxlRTltS0hWdWFYUXBJRDQ5SURBcElIdGNiaUFnSUNBZ0lHeHZkMlZ6ZEU5eVpHVnlJRDBnZFc1cGREdGNibHh1SUNBZ0lDQWdiR1YwSUdSbGJIUmhJRDBnWkdsbVptVnlLR04xY25OdmNpd2diR0YwWlhJcE8xeHVJQ0FnSUNBZ2FHbG5hRmRoZEdWeUlEMGdZM1Z5YzI5eUxuQnNkWE1vZXlCYmRXNXBkRjA2SUdSbGJIUmhJSDBwTzF4dVhHNGdJQ0FnSUNCcFppQW9hR2xuYUZkaGRHVnlJRDRnYkdGMFpYSXBJSHRjYmlBZ0lDQWdJQ0FnWTNWeWMyOXlJRDBnWTNWeWMyOXlMbkJzZFhNb2V5QmJkVzVwZEYwNklHUmxiSFJoSUMwZ01TQjlLVHRjYmlBZ0lDQWdJQ0FnWkdWc2RHRWdMVDBnTVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOMWNuTnZjaUE5SUdocFoyaFhZWFJsY2p0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVnpkV3gwYzF0MWJtbDBYU0E5SUdSbGJIUmhPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmJZM1Z5YzI5eUxDQnlaWE4xYkhSekxDQm9hV2RvVjJGMFpYSXNJR3h2ZDJWemRFOXlaR1Z5WFR0Y2JuMWNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdablZ1WTNScGIyNGdLR1ZoY214cFpYSXNJR3hoZEdWeUxDQjFibWwwY3l3Z2IzQjBjeWtnZTF4dUlDQnNaWFFnVzJOMWNuTnZjaXdnY21WemRXeDBjeXdnYUdsbmFGZGhkR1Z5TENCc2IzZGxjM1JQY21SbGNsMGdQU0JvYVdkb1QzSmtaWEpFYVdabWN5aGxZWEpzYVdWeUxDQnNZWFJsY2l3Z2RXNXBkSE1wTzF4dVhHNGdJR052Ym5OMElISmxiV0ZwYm1sdVowMXBiR3hwY3lBOUlHeGhkR1Z5SUMwZ1kzVnljMjl5TzF4dVhHNGdJR052Ym5OMElHeHZkMlZ5VDNKa1pYSlZibWwwY3lBOUlIVnVhWFJ6TG1acGJIUmxjaWhjYmlBZ0lDQW9kU2tnUFQ0Z1cxd2lhRzkxY25OY0lpd2dYQ0p0YVc1MWRHVnpYQ0lzSUZ3aWMyVmpiMjVrYzF3aUxDQmNJbTFwYkd4cGMyVmpiMjVrYzF3aVhTNXBibVJsZUU5bUtIVXBJRDQ5SURCY2JpQWdLVHRjYmx4dUlDQnBaaUFvYkc5M1pYSlBjbVJsY2xWdWFYUnpMbXhsYm1kMGFDQTlQVDBnTUNrZ2UxeHVJQ0FnSUdsbUlDaG9hV2RvVjJGMFpYSWdQQ0JzWVhSbGNpa2dlMXh1SUNBZ0lDQWdhR2xuYUZkaGRHVnlJRDBnWTNWeWMyOXlMbkJzZFhNb2V5QmJiRzkzWlhOMFQzSmtaWEpkT2lBeElIMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hvYVdkb1YyRjBaWElnSVQwOUlHTjFjbk52Y2lrZ2UxeHVJQ0FnSUNBZ2NtVnpkV3gwYzF0c2IzZGxjM1JQY21SbGNsMGdQU0FvY21WemRXeDBjMXRzYjNkbGMzUlBjbVJsY2wwZ2ZId2dNQ2tnS3lCeVpXMWhhVzVwYm1kTmFXeHNhWE1nTHlBb2FHbG5hRmRoZEdWeUlDMGdZM1Z5YzI5eUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmpiMjV6ZENCa2RYSmhkR2x2YmlBOUlFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9jbVZ6ZFd4MGN5d2diM0IwY3lrN1hHNWNiaUFnYVdZZ0tHeHZkMlZ5VDNKa1pYSlZibWwwY3k1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUVSMWNtRjBhVzl1TG1aeWIyMU5hV3hzYVhNb2NtVnRZV2x1YVc1blRXbHNiR2x6TENCdmNIUnpLVnh1SUNBZ0lDQWdMbk5vYVdaMFZHOG9MaTR1Ykc5M1pYSlBjbVJsY2xWdWFYUnpLVnh1SUNBZ0lDQWdMbkJzZFhNb1pIVnlZWFJwYjI0cE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCa2RYSmhkR2x2Ymp0Y2JpQWdmVnh1ZlZ4dUlpd2dJbU52Ym5OMElHNTFiV0psY21sdVoxTjVjM1JsYlhNZ1BTQjdYRzRnSUdGeVlXSTZJRndpVzF4Y2RUQTJOakF0WEZ4MU1EWTJPVjFjSWl4Y2JpQWdZWEpoWW1WNGREb2dYQ0piWEZ4MU1EWkdNQzFjWEhVd05rWTVYVndpTEZ4dUlDQmlZV3hwT2lCY0lsdGNYSFV4UWpVd0xWeGNkVEZDTlRsZFhDSXNYRzRnSUdKbGJtYzZJRndpVzF4Y2RUQTVSVFl0WEZ4MU1EbEZSbDFjSWl4Y2JpQWdaR1YyWVRvZ1hDSmJYRngxTURrMk5pMWNYSFV3T1RaR1hWd2lMRnh1SUNCbWRXeHNkMmxrWlRvZ1hDSmJYRngxUmtZeE1DMWNYSFZHUmpFNVhWd2lMRnh1SUNCbmRXcHlPaUJjSWx0Y1hIVXdRVVUyTFZ4Y2RUQkJSVVpkWENJc1hHNGdJR2hoYm1sa1pXTTZJRndpVzF4MU16QXdOM3hjZFRSRk1EQjhYSFUwUlRoRGZGeDFORVV3T1h4Y2RUVTJSRUo4WEhVMFJUazBmRngxTlRFMlJIeGNkVFJGTUROOFhIVTFNVFpDZkZ4MU5FVTFSRjFjSWl4Y2JpQWdhMmh0Y2pvZ1hDSmJYRngxTVRkRk1DMWNYSFV4TjBVNVhWd2lMRnh1SUNCcmJtUmhPaUJjSWx0Y1hIVXdRMFUyTFZ4Y2RUQkRSVVpkWENJc1hHNGdJR3hoYjI4NklGd2lXMXhjZFRCRlJEQXRYRngxTUVWRU9WMWNJaXhjYmlBZ2JHbHRZam9nWENKYlhGeDFNVGswTmkxY1hIVXhPVFJHWFZ3aUxGeHVJQ0J0YkhsdE9pQmNJbHRjWEhVd1JEWTJMVnhjZFRCRU5rWmRYQ0lzWEc0Z0lHMXZibWM2SUZ3aVcxeGNkVEU0TVRBdFhGeDFNVGd4T1YxY0lpeGNiaUFnYlhsdGNqb2dYQ0piWEZ4MU1UQTBNQzFjWEhVeE1EUTVYVndpTEZ4dUlDQnZjbmxoT2lCY0lsdGNYSFV3UWpZMkxWeGNkVEJDTmtaZFhDSXNYRzRnSUhSaGJXeGtaV002SUZ3aVcxeGNkVEJDUlRZdFhGeDFNRUpGUmwxY0lpeGNiaUFnZEdWc2RUb2dYQ0piWEZ4MU1FTTJOaTFjWEhVd1F6WkdYVndpTEZ4dUlDQjBhR0ZwT2lCY0lsdGNYSFV3UlRVd0xWeGNkVEJGTlRsZFhDSXNYRzRnSUhScFluUTZJRndpVzF4Y2RUQkdNakF0WEZ4MU1FWXlPVjFjSWl4Y2JpQWdiR0YwYmpvZ1hDSmNYRnhjWkZ3aUxGeHVmVHRjYmx4dVkyOXVjM1FnYm5WdFltVnlhVzVuVTNsemRHVnRjMVZVUmpFMklEMGdlMXh1SUNCaGNtRmlPaUJiTVRZek1pd2dNVFkwTVYwc1hHNGdJR0Z5WVdKbGVIUTZJRnN4TnpjMkxDQXhOemcxWFN4Y2JpQWdZbUZzYVRvZ1d6WTVPVElzSURjd01ERmRMRnh1SUNCaVpXNW5PaUJiTWpVek5Dd2dNalUwTTEwc1hHNGdJR1JsZG1FNklGc3lOREEyTENBeU5ERTFYU3hjYmlBZ1puVnNiSGRwWkdVNklGczJOVEk1Tml3Z05qVXpNRE5kTEZ4dUlDQm5kV3B5T2lCYk1qYzVNQ3dnTWpjNU9WMHNYRzRnSUd0b2JYSTZJRnMyTVRFeUxDQTJNVEl4WFN4Y2JpQWdhMjVrWVRvZ1d6TXpNRElzSURNek1URmRMRnh1SUNCc1lXOXZPaUJiTXpjNU1pd2dNemd3TVYwc1hHNGdJR3hwYldJNklGczJORGN3TENBMk5EYzVYU3hjYmlBZ2JXeDViVG9nV3pNME16QXNJRE0wTXpsZExGeHVJQ0J0YjI1bk9pQmJOakUyTUN3Z05qRTJPVjBzWEc0Z0lHMTViWEk2SUZzME1UWXdMQ0EwTVRZNVhTeGNiaUFnYjNKNVlUb2dXekk1TVRnc0lESTVNamRkTEZ4dUlDQjBZVzFzWkdWak9pQmJNekEwTml3Z016QTFOVjBzWEc0Z0lIUmxiSFU2SUZzek1UYzBMQ0F6TVRnelhTeGNiaUFnZEdoaGFUb2dXek0yTmpRc0lETTJOek5kTEZ4dUlDQjBhV0owT2lCYk16ZzNNaXdnTXpnNE1WMHNYRzU5TzF4dVhHNWpiMjV6ZENCb1lXNXBaR1ZqUTJoaGNuTWdQU0J1ZFcxaVpYSnBibWRUZVhOMFpXMXpMbWhoYm1sa1pXTXVjbVZ3YkdGalpTZ3ZXMXhjVzN4Y1hGMWRMMmNzSUZ3aVhDSXBMbk53YkdsMEtGd2lYQ0lwTzF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHRnljMlZFYVdkcGRITW9jM1J5S1NCN1hHNGdJR3hsZENCMllXeDFaU0E5SUhCaGNuTmxTVzUwS0hOMGNpd2dNVEFwTzF4dUlDQnBaaUFvYVhOT1lVNG9kbUZzZFdVcEtTQjdYRzRnSUNBZ2RtRnNkV1VnUFNCY0lsd2lPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2djM1J5TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCamIyUmxJRDBnYzNSeUxtTm9ZWEpEYjJSbFFYUW9hU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHpkSEpiYVYwdWMyVmhjbU5vS0c1MWJXSmxjbWx1WjFONWMzUmxiWE11YUdGdWFXUmxZeWtnSVQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUhaaGJIVmxJQ3M5SUdoaGJtbGtaV05EYUdGeWN5NXBibVJsZUU5bUtITjBjbHRwWFNrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHdGxlU0JwYmlCdWRXMWlaWEpwYm1kVGVYTjBaVzF6VlZSR01UWXBJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JiYldsdUxDQnRZWGhkSUQwZ2JuVnRZbVZ5YVc1blUzbHpkR1Z0YzFWVVJqRTJXMnRsZVYwN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dOdlpHVWdQajBnYldsdUlDWW1JR052WkdVZ1BEMGdiV0Y0S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpTQXJQU0JqYjJSbElDMGdiV2x1TzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY0dGeWMyVkpiblFvZG1Gc2RXVXNJREV3S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1JwWjJsMFVtVm5aWGdvZXlCdWRXMWlaWEpwYm1kVGVYTjBaVzBnZlN3Z1lYQndaVzVrSUQwZ1hDSmNJaWtnZTF4dUlDQnlaWFIxY200Z2JtVjNJRkpsWjBWNGNDaGdKSHR1ZFcxaVpYSnBibWRUZVhOMFpXMXpXMjUxYldKbGNtbHVaMU41YzNSbGJTQjhmQ0JjSW14aGRHNWNJbDE5Skh0aGNIQmxibVI5WUNrN1hHNTlYRzRpTENBaWFXMXdiM0owSUhzZ2NHRnljMlZOYVd4c2FYTXNJR2x6Vlc1a1pXWnBibVZrTENCMWJuUnlkVzVqWVhSbFdXVmhjaXdnYzJsbmJtVmtUMlptYzJWMExDQm9ZWE5QZDI1UWNtOXdaWEowZVNCOUlHWnliMjBnWENJdUwzVjBhV3d1YW5OY0lqdGNibWx0Y0c5eWRDQkdiM0p0WVhSMFpYSWdabkp2YlNCY0lpNHZabTl5YldGMGRHVnlMbXB6WENJN1hHNXBiWEJ2Y25RZ1JtbDRaV1JQWm1aelpYUmFiMjVsSUdaeWIyMGdYQ0l1TGk5NmIyNWxjeTltYVhobFpFOW1abk5sZEZwdmJtVXVhbk5jSWp0Y2JtbHRjRzl5ZENCSlFVNUJXbTl1WlNCbWNtOXRJRndpTGk0dmVtOXVaWE12U1VGT1FWcHZibVV1YW5OY0lqdGNibWx0Y0c5eWRDQkVZWFJsVkdsdFpTQm1jbTl0SUZ3aUxpNHZaR0YwWlhScGJXVXVhbk5jSWp0Y2JtbHRjRzl5ZENCN0lHUnBaMmwwVW1WblpYZ3NJSEJoY25ObFJHbG5hWFJ6SUgwZ1puSnZiU0JjSWk0dlpHbG5hWFJ6TG1welhDSTdYRzVwYlhCdmNuUWdleUJEYjI1bWJHbGpkR2x1WjFOd1pXTnBabWxqWVhScGIyNUZjbkp2Y2lCOUlHWnliMjBnWENJdUxpOWxjbkp2Y25NdWFuTmNJanRjYmx4dVkyOXVjM1FnVFVsVFUwbE9SMTlHVkZBZ1BTQmNJbTFwYzNOcGJtY2dTVzUwYkM1RVlYUmxWR2x0WlVadmNtMWhkQzVtYjNKdFlYUlViMUJoY25SeklITjFjSEJ2Y25SY0lqdGNibHh1Wm5WdVkzUnBiMjRnYVc1MFZXNXBkQ2h5WldkbGVDd2djRzl6ZENBOUlDaHBLU0E5UGlCcEtTQjdYRzRnSUhKbGRIVnliaUI3SUhKbFoyVjRMQ0JrWlhObGNqb2dLRnR6WFNrZ1BUNGdjRzl6ZENod1lYSnpaVVJwWjJsMGN5aHpLU2tnZlR0Y2JuMWNibHh1WTI5dWMzUWdUa0pUVUNBOUlGTjBjbWx1Wnk1bWNtOXRRMmhoY2tOdlpHVW9NVFl3S1R0Y2JtTnZibk4wSUhOd1lXTmxUM0pPUWxOUUlEMGdZRnNnSkh0T1FsTlFmVjFnTzF4dVkyOXVjM1FnYzNCaFkyVlBjazVDVTFCU1pXZEZlSEFnUFNCdVpYY2dVbVZuUlhod0tITndZV05sVDNKT1FsTlFMQ0JjSW1kY0lpazdYRzVjYm1aMWJtTjBhVzl1SUdacGVFeHBjM1JTWldkbGVDaHpLU0I3WEc0Z0lDOHZJRzFoYTJVZ1pHOTBjeUJ2Y0hScGIyNWhiQ0JoYm1RZ1lXeHpieUJ0WVd0bElIUm9aVzBnYkdsMFpYSmhiRnh1SUNBdkx5QnRZV3RsSUhOd1lXTmxJR0Z1WkNCdWIyNGdZbkpsWVd0aFlteGxJSE53WVdObElHTm9ZWEpoWTNSbGNuTWdhVzUwWlhKamFHRnVaMlZoWW14bFhHNGdJSEpsZEhWeWJpQnpMbkpsY0d4aFkyVW9MMXhjTGk5bkxDQmNJbHhjWEZ3dVAxd2lLUzV5WlhCc1lXTmxLSE53WVdObFQzSk9RbE5RVW1WblJYaHdMQ0J6Y0dGalpVOXlUa0pUVUNrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhOMGNtbHdTVzV6Wlc1emFYUnBkbWwwYVdWektITXBJSHRjYmlBZ2NtVjBkWEp1SUhOY2JpQWdJQ0F1Y21Wd2JHRmpaU2d2WEZ3dUwyY3NJRndpWENJcElDOHZJR2xuYm05eVpTQmtiM1J6SUhSb1lYUWdkMlZ5WlNCdFlXUmxJRzl3ZEdsdmJtRnNYRzRnSUNBZ0xuSmxjR3hoWTJVb2MzQmhZMlZQY2s1Q1UxQlNaV2RGZUhBc0lGd2lJRndpS1NBdkx5QnBiblJsY21Ob1lXNW5aU0J6Y0dGalpTQmhibVFnYm1KemNGeHVJQ0FnSUM1MGIweHZkMlZ5UTJGelpTZ3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnZibVZQWmloemRISnBibWR6TENCemRHRnlkRWx1WkdWNEtTQjdYRzRnSUdsbUlDaHpkSEpwYm1keklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lISmxaMlY0T2lCU1pXZEZlSEFvYzNSeWFXNW5jeTV0WVhBb1ptbDRUR2x6ZEZKbFoyVjRLUzVxYjJsdUtGd2lmRndpS1Nrc1hHNGdJQ0FnSUNCa1pYTmxjam9nS0Z0elhTa2dQVDVjYmlBZ0lDQWdJQ0FnYzNSeWFXNW5jeTVtYVc1a1NXNWtaWGdvS0drcElEMCtJSE4wY21sd1NXNXpaVzV6YVhScGRtbDBhV1Z6S0hNcElEMDlQU0J6ZEhKcGNFbHVjMlZ1YzJsMGFYWnBkR2xsY3locEtTa2dLeUJ6ZEdGeWRFbHVaR1Y0TEZ4dUlDQWdJSDA3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyWm1jMlYwS0hKbFoyVjRMQ0JuY205MWNITXBJSHRjYmlBZ2NtVjBkWEp1SUhzZ2NtVm5aWGdzSUdSbGMyVnlPaUFvV3l3Z2FDd2diVjBwSUQwK0lITnBaMjVsWkU5bVpuTmxkQ2hvTENCdEtTd2daM0p2ZFhCeklIMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlITnBiWEJzWlNoeVpXZGxlQ2tnZTF4dUlDQnlaWFIxY200Z2V5QnlaV2RsZUN3Z1pHVnpaWEk2SUNoYmMxMHBJRDArSUhNZ2ZUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pYTmpZWEJsVkc5clpXNG9kbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJSFpoYkhWbExuSmxjR3hoWTJVb0wxdGNYQzFjWEZ0Y1hGMTdmU2dwS2lzL0xpeGNYRnhjWEZ4ZUpId2pYRnh6WFM5bkxDQmNJbHhjWEZ3a0psd2lLVHRjYm4xY2JseHVablZ1WTNScGIyNGdkVzVwZEVadmNsUnZhMlZ1S0hSdmEyVnVMQ0JzYjJNcElIdGNiaUFnWTI5dWMzUWdiMjVsSUQwZ1pHbG5hWFJTWldkbGVDaHNiMk1wTEZ4dUlDQWdJSFIzYnlBOUlHUnBaMmwwVW1WblpYZ29iRzlqTENCY0luc3lmVndpS1N4Y2JpQWdJQ0IwYUhKbFpTQTlJR1JwWjJsMFVtVm5aWGdvYkc5akxDQmNJbnN6ZlZ3aUtTeGNiaUFnSUNCbWIzVnlJRDBnWkdsbmFYUlNaV2RsZUNoc2IyTXNJRndpZXpSOVhDSXBMRnh1SUNBZ0lITnBlQ0E5SUdScFoybDBVbVZuWlhnb2JHOWpMQ0JjSW5zMmZWd2lLU3hjYmlBZ0lDQnZibVZQY2xSM2J5QTlJR1JwWjJsMFVtVm5aWGdvYkc5akxDQmNJbnN4TERKOVhDSXBMRnh1SUNBZ0lHOXVaVlJ2VkdoeVpXVWdQU0JrYVdkcGRGSmxaMlY0S0d4dll5d2dYQ0o3TVN3emZWd2lLU3hjYmlBZ0lDQnZibVZVYjFOcGVDQTlJR1JwWjJsMFVtVm5aWGdvYkc5akxDQmNJbnN4TERaOVhDSXBMRnh1SUNBZ0lHOXVaVlJ2VG1sdVpTQTlJR1JwWjJsMFVtVm5aWGdvYkc5akxDQmNJbnN4TERsOVhDSXBMRnh1SUNBZ0lIUjNiMVJ2Um05MWNpQTlJR1JwWjJsMFVtVm5aWGdvYkc5akxDQmNJbnN5TERSOVhDSXBMRnh1SUNBZ0lHWnZkWEpVYjFOcGVDQTlJR1JwWjJsMFVtVm5aWGdvYkc5akxDQmNJbnMwTERaOVhDSXBMRnh1SUNBZ0lHeHBkR1Z5WVd3Z1BTQW9kQ2tnUFQ0Z0tIc2djbVZuWlhnNklGSmxaMFY0Y0NobGMyTmhjR1ZVYjJ0bGJpaDBMblpoYkNrcExDQmtaWE5sY2pvZ0tGdHpYU2tnUFQ0Z2N5d2diR2wwWlhKaGJEb2dkSEoxWlNCOUtTeGNiaUFnSUNCMWJtbDBZWFJsSUQwZ0tIUXBJRDArSUh0Y2JpQWdJQ0FnSUdsbUlDaDBiMnRsYmk1c2FYUmxjbUZzS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCc2FYUmxjbUZzS0hRcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2MzZHBkR05vSUNoMExuWmhiQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QmxjbUZjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJa2RjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2IyNWxUMllvYkc5akxtVnlZWE1vWENKemFHOXlkRndpTENCbVlXeHpaU2tzSURBcE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVIwZGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYjI1bFQyWW9iRzlqTG1WeVlYTW9YQ0pzYjI1blhDSXNJR1poYkhObEtTd2dNQ2s3WEc0Z0lDQWdJQ0FnSUM4dklIbGxZWEp6WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0o1WENJNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHbHVkRlZ1YVhRb2IyNWxWRzlUYVhncE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWVYbGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2gwZDI5VWIwWnZkWElzSUhWdWRISjFibU5oZEdWWlpXRnlLVHRjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJbmw1ZVhsY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhVzUwVlc1cGRDaG1iM1Z5S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSW5sNWVYbDVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWRGVnVhWFFvWm05MWNsUnZVMmw0S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSW5sNWVYbDVlVndpT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJuUlZibWwwS0hOcGVDazdYRzRnSUNBZ0lDQWdJQzh2SUcxdmJuUm9jMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2lUVndpT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJuUlZibWwwS0c5dVpVOXlWSGR2S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSWsxTlhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2x1ZEZWdWFYUW9kSGR2S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSWsxTlRWd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ2Ym1WUFppaHNiMk11Ylc5dWRHaHpLRndpYzJodmNuUmNJaXdnZEhKMVpTd2dabUZzYzJVcExDQXhLVHRjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJazFOVFUxY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMjVsVDJZb2JHOWpMbTF2Ym5Sb2N5aGNJbXh2Ym1kY0lpd2dkSEoxWlN3Z1ptRnNjMlVwTENBeEtUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lreGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2h2Ym1WUGNsUjNieWs3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0pNVEZ3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblJWYm1sMEtIUjNieWs3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0pNVEV4Y0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiMjVsVDJZb2JHOWpMbTF2Ym5Sb2N5aGNJbk5vYjNKMFhDSXNJR1poYkhObExDQm1ZV3h6WlNrc0lERXBPMXh1SUNBZ0lDQWdJQ0JqWVhObElGd2lURXhNVEZ3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnZibVZQWmloc2IyTXViVzl1ZEdoektGd2liRzl1WjF3aUxDQm1ZV3h6WlN3Z1ptRnNjMlVwTENBeEtUdGNiaUFnSUNBZ0lDQWdMeThnWkdGMFpYTmNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0ltUmNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2h2Ym1WUGNsUjNieWs3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0prWkZ3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblJWYm1sMEtIUjNieWs3WEc0Z0lDQWdJQ0FnSUM4dklHOXlaR2x1WVd4elhHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKdlhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2x1ZEZWdWFYUW9iMjVsVkc5VWFISmxaU2s3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0p2YjI5Y0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhVzUwVlc1cGRDaDBhSEpsWlNrN1hHNGdJQ0FnSUNBZ0lDOHZJSFJwYldWY2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSWtoSVhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2x1ZEZWdWFYUW9kSGR2S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSWtoY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhVzUwVlc1cGRDaHZibVZQY2xSM2J5azdYRzRnSUNBZ0lDQWdJR05oYzJVZ1hDSm9hRndpT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJuUlZibWwwS0hSM2J5azdYRzRnSUNBZ0lDQWdJR05oYzJVZ1hDSm9YQ0k2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWRGVnVhWFFvYjI1bFQzSlVkMjhwTzF4dUlDQWdJQ0FnSUNCallYTmxJRndpYlcxY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhVzUwVlc1cGRDaDBkMjhwTzF4dUlDQWdJQ0FnSUNCallYTmxJRndpYlZ3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblJWYm1sMEtHOXVaVTl5VkhkdktUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0luRmNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2h2Ym1WUGNsUjNieWs3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0p4Y1Z3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblJWYm1sMEtIUjNieWs3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0p6WENJNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHbHVkRlZ1YVhRb2IyNWxUM0pVZDI4cE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWMzTmNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2gwZDI4cE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVUxd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwYm5SVmJtbDBLRzl1WlZSdlZHaHlaV1VwTzF4dUlDQWdJQ0FnSUNCallYTmxJRndpVTFOVFhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2x1ZEZWdWFYUW9kR2h5WldVcE8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWRWd2lPbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ6YVcxd2JHVW9iMjVsVkc5T2FXNWxLVHRjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJblYxWENJNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITnBiWEJzWlNodmJtVlBjbFIzYnlrN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnWENKMWRYVmNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYVc1MFZXNXBkQ2h2Ym1VcE8xeHVJQ0FnSUNBZ0lDQXZMeUJ0WlhKcFpHbGxiVnh1SUNBZ0lDQWdJQ0JqWVhObElGd2lZVndpT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdmJtVlBaaWhzYjJNdWJXVnlhV1JwWlcxektDa3NJREFwTzF4dUlDQWdJQ0FnSUNBdkx5QjNaV1ZyV1dWaGNpQW9heWxjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJbXRyYTJ0Y0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhVzUwVlc1cGRDaG1iM1Z5S1R0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSW10clhDSTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2x1ZEZWdWFYUW9kSGR2Vkc5R2IzVnlMQ0IxYm5SeWRXNWpZWFJsV1dWaGNpazdYRzRnSUNBZ0lDQWdJQzh2SUhkbFpXdE9kVzFpWlhJZ0tGY3BYRzRnSUNBZ0lDQWdJR05oYzJVZ1hDSlhYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsdWRGVnVhWFFvYjI1bFQzSlVkMjhwTzF4dUlDQWdJQ0FnSUNCallYTmxJRndpVjFkY0lqcGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhVzUwVlc1cGRDaDBkMjhwTzF4dUlDQWdJQ0FnSUNBdkx5QjNaV1ZyWkdGNWMxeHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVJWd2lPbHh1SUNBZ0lDQWdJQ0JqWVhObElGd2lZMXdpT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJuUlZibWwwS0c5dVpTazdYRzRnSUNBZ0lDQWdJR05oYzJVZ1hDSkZSVVZjSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2IyNWxUMllvYkc5akxuZGxaV3RrWVhsektGd2ljMmh2Y25SY0lpd2dabUZzYzJVc0lHWmhiSE5sS1N3Z01TazdYRzRnSUNBZ0lDQWdJR05oYzJVZ1hDSkZSVVZGWENJNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHOXVaVTltS0d4dll5NTNaV1ZyWkdGNWN5aGNJbXh2Ym1kY0lpd2dabUZzYzJVc0lHWmhiSE5sS1N3Z01TazdYRzRnSUNBZ0lDQWdJR05oYzJVZ1hDSmpZMk5jSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2IyNWxUMllvYkc5akxuZGxaV3RrWVhsektGd2ljMmh2Y25SY0lpd2dkSEoxWlN3Z1ptRnNjMlVwTENBeEtUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0ltTmpZMk5jSWpwY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2IyNWxUMllvYkc5akxuZGxaV3RrWVhsektGd2liRzl1WjF3aUxDQjBjblZsTENCbVlXeHpaU2tzSURFcE8xeHVJQ0FnSUNBZ0lDQXZMeUJ2Wm1aelpYUXZlbTl1WlZ4dUlDQWdJQ0FnSUNCallYTmxJRndpV2x3aU9seHVJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVdscGNJanBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYjJabWMyVjBLRzVsZHlCU1pXZEZlSEFvWUNoYkt5MWRKSHR2Ym1WUGNsUjNieTV6YjNWeVkyVjlLU2cvT2pvb0pIdDBkMjh1YzI5MWNtTmxmU2twUDJBcExDQXlLVHRjYmlBZ0lDQWdJQ0FnWTJGelpTQmNJbHBhV2x3aU9seHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnZabVp6WlhRb2JtVjNJRkpsWjBWNGNDaGdLRnNyTFYwa2UyOXVaVTl5VkhkdkxuTnZkWEpqWlgwcEtDUjdkSGR2TG5OdmRYSmpaWDBwUDJBcExDQXlLVHRjYmlBZ0lDQWdJQ0FnTHk4Z2QyVWdaRzl1SjNRZ2MzVndjRzl5ZENCYVdscGFJQ2hRVTFRcElHOXlJRnBhV2xwYUlDaFFZV05wWm1saklGTjBZVzVrWVhKa0lGUnBiV1VwSUdsdUlIQmhjbk5wYm1kY2JpQWdJQ0FnSUNBZ0x5OGdZbVZqWVhWelpTQjNaU0JrYjI0bmRDQm9ZWFpsSUdGdWVTQjNZWGtnZEc4Z1ptbG5kWEpsSUc5MWRDQjNhR0YwSUhSb1pYa2dZWEpsWEc0Z0lDQWdJQ0FnSUdOaGMyVWdYQ0o2WENJNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITnBiWEJzWlNndlcyRXRlbDhyTFM5ZGV6RXNNalUyZlQ4dmFTazdYRzRnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR3hwZEdWeVlXd29kQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVHRjYmx4dUlDQmpiMjV6ZENCMWJtbDBJRDBnZFc1cGRHRjBaU2gwYjJ0bGJpa2dmSHdnZTF4dUlDQWdJR2x1ZG1Gc2FXUlNaV0Z6YjI0NklFMUpVMU5KVGtkZlJsUlFMRnh1SUNCOU8xeHVYRzRnSUhWdWFYUXVkRzlyWlc0Z1BTQjBiMnRsYmp0Y2JseHVJQ0J5WlhSMWNtNGdkVzVwZER0Y2JuMWNibHh1WTI5dWMzUWdjR0Z5ZEZSNWNHVlRkSGxzWlZSdlZHOXJaVzVXWVd3Z1BTQjdYRzRnSUhsbFlYSTZJSHRjYmlBZ0lDQmNJakl0WkdsbmFYUmNJam9nWENKNWVWd2lMRnh1SUNBZ0lHNTFiV1Z5YVdNNklGd2llWGw1ZVhsY0lpeGNiaUFnZlN4Y2JpQWdiVzl1ZEdnNklIdGNiaUFnSUNCdWRXMWxjbWxqT2lCY0lrMWNJaXhjYmlBZ0lDQmNJakl0WkdsbmFYUmNJam9nWENKTlRWd2lMRnh1SUNBZ0lITm9iM0owT2lCY0lrMU5UVndpTEZ4dUlDQWdJR3h2Ym1jNklGd2lUVTFOVFZ3aUxGeHVJQ0I5TEZ4dUlDQmtZWGs2SUh0Y2JpQWdJQ0J1ZFcxbGNtbGpPaUJjSW1SY0lpeGNiaUFnSUNCY0lqSXRaR2xuYVhSY0lqb2dYQ0prWkZ3aUxGeHVJQ0I5TEZ4dUlDQjNaV1ZyWkdGNU9pQjdYRzRnSUNBZ2MyaHZjblE2SUZ3aVJVVkZYQ0lzWEc0Z0lDQWdiRzl1WnpvZ1hDSkZSVVZGWENJc1hHNGdJSDBzWEc0Z0lHUmhlWEJsY21sdlpEb2dYQ0poWENJc1hHNGdJR1JoZVZCbGNtbHZaRG9nWENKaFhDSXNYRzRnSUdodmRYSTZJSHRjYmlBZ0lDQnVkVzFsY21sak9pQmNJbWhjSWl4Y2JpQWdJQ0JjSWpJdFpHbG5hWFJjSWpvZ1hDSm9hRndpTEZ4dUlDQjlMRnh1SUNCdGFXNTFkR1U2SUh0Y2JpQWdJQ0J1ZFcxbGNtbGpPaUJjSW0xY0lpeGNiaUFnSUNCY0lqSXRaR2xuYVhSY0lqb2dYQ0p0YlZ3aUxGeHVJQ0I5TEZ4dUlDQnpaV052Ym1RNklIdGNiaUFnSUNCdWRXMWxjbWxqT2lCY0luTmNJaXhjYmlBZ0lDQmNJakl0WkdsbmFYUmNJam9nWENKemMxd2lMRnh1SUNCOUxGeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2RHOXJaVzVHYjNKUVlYSjBLSEJoY25Rc0lHeHZZMkZzWlN3Z1ptOXliV0YwVDNCMGN5a2dlMXh1SUNCamIyNXpkQ0I3SUhSNWNHVXNJSFpoYkhWbElIMGdQU0J3WVhKME8xeHVYRzRnSUdsbUlDaDBlWEJsSUQwOVBTQmNJbXhwZEdWeVlXeGNJaWtnZTF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnNhWFJsY21Gc09pQjBjblZsTEZ4dUlDQWdJQ0FnZG1Gc09pQjJZV3gxWlN4Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnYzNSNWJHVWdQU0JtYjNKdFlYUlBjSFJ6VzNSNWNHVmRPMXh1WEc0Z0lHeGxkQ0IyWVd3Z1BTQndZWEowVkhsd1pWTjBlV3hsVkc5VWIydGxibFpoYkZ0MGVYQmxYVHRjYmlBZ2FXWWdLSFI1Y0dWdlppQjJZV3dnUFQwOUlGd2liMkpxWldOMFhDSXBJSHRjYmlBZ0lDQjJZV3dnUFNCMllXeGJjM1I1YkdWZE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0haaGJDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCc2FYUmxjbUZzT2lCbVlXeHpaU3hjYmlBZ0lDQWdJSFpoYkN4Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWW5WcGJHUlNaV2RsZUNoMWJtbDBjeWtnZTF4dUlDQmpiMjV6ZENCeVpTQTlJSFZ1YVhSekxtMWhjQ2dvZFNrZ1BUNGdkUzV5WldkbGVDa3VjbVZrZFdObEtDaG1MQ0J5S1NBOVBpQmdKSHRtZlNna2UzSXVjMjkxY21ObGZTbGdMQ0JjSWx3aUtUdGNiaUFnY21WMGRYSnVJRnRnWGlSN2NtVjlKR0FzSUhWdWFYUnpYVHRjYm4xY2JseHVablZ1WTNScGIyNGdiV0YwWTJnb2FXNXdkWFFzSUhKbFoyVjRMQ0JvWVc1a2JHVnljeWtnZTF4dUlDQmpiMjV6ZENCdFlYUmphR1Z6SUQwZ2FXNXdkWFF1YldGMFkyZ29jbVZuWlhncE8xeHVYRzRnSUdsbUlDaHRZWFJqYUdWektTQjdYRzRnSUNBZ1kyOXVjM1FnWVd4c0lEMGdlMzA3WEc0Z0lDQWdiR1YwSUcxaGRHTm9TVzVrWlhnZ1BTQXhPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdhU0JwYmlCb1lXNWtiR1Z5Y3lrZ2UxeHVJQ0FnSUNBZ2FXWWdLR2hoYzA5M2JsQnliM0JsY25SNUtHaGhibVJzWlhKekxDQnBLU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JvSUQwZ2FHRnVaR3hsY25OYmFWMHNYRzRnSUNBZ0lDQWdJQ0FnWjNKdmRYQnpJRDBnYUM1bmNtOTFjSE1nUHlCb0xtZHliM1Z3Y3lBcklERWdPaUF4TzF4dUlDQWdJQ0FnSUNCcFppQW9JV2d1YkdsMFpYSmhiQ0FtSmlCb0xuUnZhMlZ1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdZV3hzVzJndWRHOXJaVzR1ZG1Gc1d6QmRYU0E5SUdndVpHVnpaWElvYldGMFkyaGxjeTV6YkdsalpTaHRZWFJqYUVsdVpHVjRMQ0J0WVhSamFFbHVaR1Y0SUNzZ1ozSnZkWEJ6S1NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdiV0YwWTJoSmJtUmxlQ0FyUFNCbmNtOTFjSE03WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCYmJXRjBZMmhsY3l3Z1lXeHNYVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdXMjFoZEdOb1pYTXNJSHQ5WFR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmtZWFJsVkdsdFpVWnliMjFOWVhSamFHVnpLRzFoZEdOb1pYTXBJSHRjYmlBZ1kyOXVjM1FnZEc5R2FXVnNaQ0E5SUNoMGIydGxiaWtnUFQ0Z2UxeHVJQ0FnSUhOM2FYUmphQ0FvZEc5clpXNHBJSHRjYmlBZ0lDQWdJR05oYzJVZ1hDSlRYQ0k2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJjSW0xcGJHeHBjMlZqYjI1a1hDSTdYRzRnSUNBZ0lDQmpZWE5sSUZ3aWMxd2lPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdYQ0p6WldOdmJtUmNJanRjYmlBZ0lDQWdJR05oYzJVZ1hDSnRYQ0k2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJjSW0xcGJuVjBaVndpTzF4dUlDQWdJQ0FnWTJGelpTQmNJbWhjSWpwY2JpQWdJQ0FnSUdOaGMyVWdYQ0pJWENJNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCY0ltaHZkWEpjSWp0Y2JpQWdJQ0FnSUdOaGMyVWdYQ0prWENJNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCY0ltUmhlVndpTzF4dUlDQWdJQ0FnWTJGelpTQmNJbTljSWpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ3aWIzSmthVzVoYkZ3aU8xeHVJQ0FnSUNBZ1kyRnpaU0JjSWt4Y0lqcGNiaUFnSUNBZ0lHTmhjMlVnWENKTlhDSTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmNJbTF2Ym5Sb1hDSTdYRzRnSUNBZ0lDQmpZWE5sSUZ3aWVWd2lPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdYQ0o1WldGeVhDSTdYRzRnSUNBZ0lDQmpZWE5sSUZ3aVJWd2lPbHh1SUNBZ0lDQWdZMkZ6WlNCY0ltTmNJanBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRndpZDJWbGEyUmhlVndpTzF4dUlDQWdJQ0FnWTJGelpTQmNJbGRjSWpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ3aWQyVmxhMDUxYldKbGNsd2lPMXh1SUNBZ0lDQWdZMkZ6WlNCY0ltdGNJanBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRndpZDJWbGExbGxZWEpjSWp0Y2JpQWdJQ0FnSUdOaGMyVWdYQ0p4WENJNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCY0luRjFZWEowWlhKY0lqdGNiaUFnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JzWlhRZ2VtOXVaU0E5SUc1MWJHdzdYRzRnSUd4bGRDQnpjR1ZqYVdacFkwOW1abk5sZER0Y2JpQWdhV1lnS0NGcGMxVnVaR1ZtYVc1bFpDaHRZWFJqYUdWekxub3BLU0I3WEc0Z0lDQWdlbTl1WlNBOUlFbEJUa0ZhYjI1bExtTnlaV0YwWlNodFlYUmphR1Z6TG5vcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0NGcGMxVnVaR1ZtYVc1bFpDaHRZWFJqYUdWekxsb3BLU0I3WEc0Z0lDQWdhV1lnS0NGNmIyNWxLU0I3WEc0Z0lDQWdJQ0I2YjI1bElEMGdibVYzSUVacGVHVmtUMlptYzJWMFdtOXVaU2h0WVhSamFHVnpMbG9wTzF4dUlDQWdJSDFjYmlBZ0lDQnpjR1ZqYVdacFkwOW1abk5sZENBOUlHMWhkR05vWlhNdVdqdGNiaUFnZlZ4dVhHNGdJR2xtSUNnaGFYTlZibVJsWm1sdVpXUW9iV0YwWTJobGN5NXhLU2tnZTF4dUlDQWdJRzFoZEdOb1pYTXVUU0E5SUNodFlYUmphR1Z6TG5FZ0xTQXhLU0FxSURNZ0t5QXhPMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRnBjMVZ1WkdWbWFXNWxaQ2h0WVhSamFHVnpMbWdwS1NCN1hHNGdJQ0FnYVdZZ0tHMWhkR05vWlhNdWFDQThJREV5SUNZbUlHMWhkR05vWlhNdVlTQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ2JXRjBZMmhsY3k1b0lDczlJREV5TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYldGMFkyaGxjeTVvSUQwOVBTQXhNaUFtSmlCdFlYUmphR1Z6TG1FZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUcxaGRHTm9aWE11YUNBOUlEQTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdhV1lnS0cxaGRHTm9aWE11UnlBOVBUMGdNQ0FtSmlCdFlYUmphR1Z6TG5rcElIdGNiaUFnSUNCdFlYUmphR1Z6TG5rZ1BTQXRiV0YwWTJobGN5NTVPMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRnBjMVZ1WkdWbWFXNWxaQ2h0WVhSamFHVnpMblVwS1NCN1hHNGdJQ0FnYldGMFkyaGxjeTVUSUQwZ2NHRnljMlZOYVd4c2FYTW9iV0YwWTJobGN5NTFLVHRjYmlBZ2ZWeHVYRzRnSUdOdmJuTjBJSFpoYkhNZ1BTQlBZbXBsWTNRdWEyVjVjeWh0WVhSamFHVnpLUzV5WldSMVkyVW9LSElzSUdzcElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCbUlEMGdkRzlHYVdWc1pDaHJLVHRjYmlBZ0lDQnBaaUFvWmlrZ2UxeHVJQ0FnSUNBZ2NsdG1YU0E5SUcxaGRHTm9aWE5iYTEwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMHNJSHQ5S1R0Y2JseHVJQ0J5WlhSMWNtNGdXM1poYkhNc0lIcHZibVVzSUhOd1pXTnBabWxqVDJabWMyVjBYVHRjYm4xY2JseHViR1YwSUdSMWJXMTVSR0YwWlZScGJXVkRZV05vWlNBOUlHNTFiR3c3WEc1Y2JtWjFibU4wYVc5dUlHZGxkRVIxYlcxNVJHRjBaVlJwYldVb0tTQjdYRzRnSUdsbUlDZ2haSFZ0YlhsRVlYUmxWR2x0WlVOaFkyaGxLU0I3WEc0Z0lDQWdaSFZ0YlhsRVlYUmxWR2x0WlVOaFkyaGxJRDBnUkdGMFpWUnBiV1V1Wm5KdmJVMXBiR3hwY3lneE5UVTFOVFUxTlRVMU5UVTFLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJrZFcxdGVVUmhkR1ZVYVcxbFEyRmphR1U3WEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoZVdKbFJYaHdZVzVrVFdGamNtOVViMnRsYmloMGIydGxiaXdnYkc5allXeGxLU0I3WEc0Z0lHbG1JQ2gwYjJ0bGJpNXNhWFJsY21Gc0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSdmEyVnVPMXh1SUNCOVhHNWNiaUFnWTI5dWMzUWdabTl5YldGMFQzQjBjeUE5SUVadmNtMWhkSFJsY2k1dFlXTnliMVJ2YTJWdVZHOUdiM0p0WVhSUGNIUnpLSFJ2YTJWdUxuWmhiQ2s3WEc1Y2JpQWdhV1lnS0NGbWIzSnRZWFJQY0hSektTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSdmEyVnVPMXh1SUNCOVhHNWNiaUFnWTI5dWMzUWdabTl5YldGMGRHVnlJRDBnUm05eWJXRjBkR1Z5TG1OeVpXRjBaU2hzYjJOaGJHVXNJR1p2Y20xaGRFOXdkSE1wTzF4dUlDQmpiMjV6ZENCd1lYSjBjeUE5SUdadmNtMWhkSFJsY2k1bWIzSnRZWFJFWVhSbFZHbHRaVkJoY25SektHZGxkRVIxYlcxNVJHRjBaVlJwYldVb0tTazdYRzVjYmlBZ1kyOXVjM1FnZEc5clpXNXpJRDBnY0dGeWRITXViV0Z3S0Nod0tTQTlQaUIwYjJ0bGJrWnZjbEJoY25Rb2NDd2diRzlqWVd4bExDQm1iM0p0WVhSUGNIUnpLU2s3WEc1Y2JpQWdhV1lnS0hSdmEyVnVjeTVwYm1Oc2RXUmxjeWgxYm1SbFptbHVaV1FwS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJ2YTJWdU8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIUnZhMlZ1Y3p0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWlhod1lXNWtUV0ZqY205VWIydGxibk1vZEc5clpXNXpMQ0JzYjJOaGJHVXBJSHRjYmlBZ2NtVjBkWEp1SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVqYjI1allYUW9MaTR1ZEc5clpXNXpMbTFoY0Nnb2RDa2dQVDRnYldGNVltVkZlSEJoYm1STllXTnliMVJ2YTJWdUtIUXNJR3h2WTJGc1pTa3BLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbGVIQnNZV2x1Um5KdmJWUnZhMlZ1Y3loc2IyTmhiR1VzSUdsdWNIVjBMQ0JtYjNKdFlYUXBJSHRjYmlBZ1kyOXVjM1FnZEc5clpXNXpJRDBnWlhod1lXNWtUV0ZqY205VWIydGxibk1vUm05eWJXRjBkR1Z5TG5CaGNuTmxSbTl5YldGMEtHWnZjbTFoZENrc0lHeHZZMkZzWlNrc1hHNGdJQ0FnZFc1cGRITWdQU0IwYjJ0bGJuTXViV0Z3S0NoMEtTQTlQaUIxYm1sMFJtOXlWRzlyWlc0b2RDd2diRzlqWVd4bEtTa3NYRzRnSUNBZ1pHbHpjWFZoYkdsbWVXbHVaMVZ1YVhRZ1BTQjFibWwwY3k1bWFXNWtLQ2gwS1NBOVBpQjBMbWx1ZG1Gc2FXUlNaV0Z6YjI0cE8xeHVYRzRnSUdsbUlDaGthWE54ZFdGc2FXWjVhVzVuVlc1cGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN0lHbHVjSFYwTENCMGIydGxibk1zSUdsdWRtRnNhV1JTWldGemIyNDZJR1JwYzNGMVlXeHBabmxwYm1kVmJtbDBMbWx1ZG1Gc2FXUlNaV0Z6YjI0Z2ZUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQmpiMjV6ZENCYmNtVm5aWGhUZEhKcGJtY3NJR2hoYm1Sc1pYSnpYU0E5SUdKMWFXeGtVbVZuWlhnb2RXNXBkSE1wTEZ4dUlDQWdJQ0FnY21WblpYZ2dQU0JTWldkRmVIQW9jbVZuWlhoVGRISnBibWNzSUZ3aWFWd2lLU3hjYmlBZ0lDQWdJRnR5WVhkTllYUmphR1Z6TENCdFlYUmphR1Z6WFNBOUlHMWhkR05vS0dsdWNIVjBMQ0J5WldkbGVDd2dhR0Z1Wkd4bGNuTXBMRnh1SUNBZ0lDQWdXM0psYzNWc2RDd2dlbTl1WlN3Z2MzQmxZMmxtYVdOUFptWnpaWFJkSUQwZ2JXRjBZMmhsYzF4dUlDQWdJQ0FnSUNBL0lHUmhkR1ZVYVcxbFJuSnZiVTFoZEdOb1pYTW9iV0YwWTJobGN5bGNiaUFnSUNBZ0lDQWdPaUJiYm5Wc2JDd2diblZzYkN3Z2RXNWtaV1pwYm1Wa1hUdGNiaUFnSUNCcFppQW9hR0Z6VDNkdVVISnZjR1Z5ZEhrb2JXRjBZMmhsY3l3Z1hDSmhYQ0lwSUNZbUlHaGhjMDkzYmxCeWIzQmxjblI1S0cxaGRHTm9aWE1zSUZ3aVNGd2lLU2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVOdmJtWnNhV04wYVc1blUzQmxZMmxtYVdOaGRHbHZia1Z5Y205eUtGeHVJQ0FnSUNBZ0lDQmNJa05oYmlkMElHbHVZMngxWkdVZ2JXVnlhV1JwWlcwZ2QyaGxiaUJ6Y0dWamFXWjVhVzVuSURJMExXaHZkWElnWm05eWJXRjBYQ0pjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCN0lHbHVjSFYwTENCMGIydGxibk1zSUhKbFoyVjRMQ0J5WVhkTllYUmphR1Z6TENCdFlYUmphR1Z6TENCeVpYTjFiSFFzSUhwdmJtVXNJSE53WldOcFptbGpUMlptYzJWMElIMDdYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEJoY25ObFJuSnZiVlJ2YTJWdWN5aHNiMk5oYkdVc0lHbHVjSFYwTENCbWIzSnRZWFFwSUh0Y2JpQWdZMjl1YzNRZ2V5QnlaWE4xYkhRc0lIcHZibVVzSUhOd1pXTnBabWxqVDJabWMyVjBMQ0JwYm5aaGJHbGtVbVZoYzI5dUlIMGdQU0JsZUhCc1lXbHVSbkp2YlZSdmEyVnVjeWhzYjJOaGJHVXNJR2x1Y0hWMExDQm1iM0p0WVhRcE8xeHVJQ0J5WlhSMWNtNGdXM0psYzNWc2RDd2dlbTl1WlN3Z2MzQmxZMmxtYVdOUFptWnpaWFFzSUdsdWRtRnNhV1JTWldGemIyNWRPMXh1ZlZ4dUlpd2dJbWx0Y0c5eWRDQjdYRzRnSUdsdWRHVm5aWEpDWlhSM1pXVnVMRnh1SUNCcGMweGxZWEJaWldGeUxGeHVJQ0IwYVcxbFQySnFaV04wTEZ4dUlDQmtZWGx6U1c1WlpXRnlMRnh1SUNCa1lYbHpTVzVOYjI1MGFDeGNiaUFnZDJWbGEzTkpibGRsWld0WlpXRnlMRnh1SUNCcGMwbHVkR1ZuWlhJc1hHNTlJR1p5YjIwZ1hDSXVMM1YwYVd3dWFuTmNJanRjYm1sdGNHOXlkQ0JKYm5aaGJHbGtJR1p5YjIwZ1hDSXVMMmx1ZG1Gc2FXUXVhbk5jSWp0Y2JseHVZMjl1YzNRZ2JtOXVUR1ZoY0V4aFpHUmxjaUE5SUZzd0xDQXpNU3dnTlRrc0lEa3dMQ0F4TWpBc0lERTFNU3dnTVRneExDQXlNVElzSURJME15d2dNamN6TENBek1EUXNJRE16TkYwc1hHNGdJR3hsWVhCTVlXUmtaWElnUFNCYk1Dd2dNekVzSURZd0xDQTVNU3dnTVRJeExDQXhOVElzSURFNE1pd2dNakV6TENBeU5EUXNJREkzTkN3Z016QTFMQ0F6TXpWZE8xeHVYRzVtZFc1amRHbHZiaUIxYm1sMFQzVjBUMlpTWVc1blpTaDFibWwwTENCMllXeDFaU2tnZTF4dUlDQnlaWFIxY200Z2JtVjNJRWx1ZG1Gc2FXUW9YRzRnSUNBZ1hDSjFibWwwSUc5MWRDQnZaaUJ5WVc1blpWd2lMRnh1SUNBZ0lHQjViM1VnYzNCbFkybG1hV1ZrSUNSN2RtRnNkV1Y5SUNodlppQjBlWEJsSUNSN2RIbHdaVzltSUhaaGJIVmxmU2tnWVhNZ1lTQWtlM1Z1YVhSOUxDQjNhR2xqYUNCcGN5QnBiblpoYkdsa1lGeHVJQ0FwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrWVhsUFpsZGxaV3NvZVdWaGNpd2diVzl1ZEdnc0lHUmhlU2tnZTF4dUlDQmpiMjV6ZENCa0lEMGdibVYzSUVSaGRHVW9SR0YwWlM1VlZFTW9lV1ZoY2l3Z2JXOXVkR2dnTFNBeExDQmtZWGtwS1R0Y2JseHVJQ0JwWmlBb2VXVmhjaUE4SURFd01DQW1KaUI1WldGeUlENDlJREFwSUh0Y2JpQWdJQ0JrTG5ObGRGVlVRMFoxYkd4WlpXRnlLR1F1WjJWMFZWUkRSblZzYkZsbFlYSW9LU0F0SURFNU1EQXBPMXh1SUNCOVhHNWNiaUFnWTI5dWMzUWdhbk1nUFNCa0xtZGxkRlZVUTBSaGVTZ3BPMXh1WEc0Z0lISmxkSFZ5YmlCcWN5QTlQVDBnTUNBL0lEY2dPaUJxY3p0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGNIVjBaVTl5WkdsdVlXd29lV1ZoY2l3Z2JXOXVkR2dzSUdSaGVTa2dlMXh1SUNCeVpYUjFjbTRnWkdGNUlDc2dLR2x6VEdWaGNGbGxZWElvZVdWaGNpa2dQeUJzWldGd1RHRmtaR1Z5SURvZ2JtOXVUR1ZoY0V4aFpHUmxjaWxiYlc5dWRHZ2dMU0F4WFR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFc1amIyMXdkWFJsVDNKa2FXNWhiQ2g1WldGeUxDQnZjbVJwYm1Gc0tTQjdYRzRnSUdOdmJuTjBJSFJoWW14bElEMGdhWE5NWldGd1dXVmhjaWg1WldGeUtTQS9JR3hsWVhCTVlXUmtaWElnT2lCdWIyNU1aV0Z3VEdGa1pHVnlMRnh1SUNBZ0lHMXZiblJvTUNBOUlIUmhZbXhsTG1acGJtUkpibVJsZUNnb2FTa2dQVDRnYVNBOElHOXlaR2x1WVd3cExGeHVJQ0FnSUdSaGVTQTlJRzl5WkdsdVlXd2dMU0IwWVdKc1pWdHRiMjUwYURCZE8xeHVJQ0J5WlhSMWNtNGdleUJ0YjI1MGFEb2diVzl1ZEdnd0lDc2dNU3dnWkdGNUlIMDdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FIQnlhWFpoZEdWY2JpQXFMMXh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjNKbFoyOXlhV0Z1Vkc5WFpXVnJLR2R5WldkUFltb3BJSHRjYmlBZ1kyOXVjM1FnZXlCNVpXRnlMQ0J0YjI1MGFDd2daR0Y1SUgwZ1BTQm5jbVZuVDJKcUxGeHVJQ0FnSUc5eVpHbHVZV3dnUFNCamIyMXdkWFJsVDNKa2FXNWhiQ2g1WldGeUxDQnRiMjUwYUN3Z1pHRjVLU3hjYmlBZ0lDQjNaV1ZyWkdGNUlEMGdaR0Y1VDJaWFpXVnJLSGxsWVhJc0lHMXZiblJvTENCa1lYa3BPMXh1WEc0Z0lHeGxkQ0IzWldWclRuVnRZbVZ5SUQwZ1RXRjBhQzVtYkc5dmNpZ29iM0prYVc1aGJDQXRJSGRsWld0a1lYa2dLeUF4TUNrZ0x5QTNLU3hjYmlBZ0lDQjNaV1ZyV1dWaGNqdGNibHh1SUNCcFppQW9kMlZsYTA1MWJXSmxjaUE4SURFcElIdGNiaUFnSUNCM1pXVnJXV1ZoY2lBOUlIbGxZWElnTFNBeE8xeHVJQ0FnSUhkbFpXdE9kVzFpWlhJZ1BTQjNaV1ZyYzBsdVYyVmxhMWxsWVhJb2QyVmxhMWxsWVhJcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hkbFpXdE9kVzFpWlhJZ1BpQjNaV1ZyYzBsdVYyVmxhMWxsWVhJb2VXVmhjaWtwSUh0Y2JpQWdJQ0IzWldWcldXVmhjaUE5SUhsbFlYSWdLeUF4TzF4dUlDQWdJSGRsWld0T2RXMWlaWElnUFNBeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIZGxaV3RaWldGeUlEMGdlV1ZoY2p0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCN0lIZGxaV3RaWldGeUxDQjNaV1ZyVG5WdFltVnlMQ0IzWldWclpHRjVMQ0F1TGk1MGFXMWxUMkpxWldOMEtHZHlaV2RQWW1vcElIMDdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCM1pXVnJWRzlIY21WbmIzSnBZVzRvZDJWbGEwUmhkR0VwSUh0Y2JpQWdZMjl1YzNRZ2V5QjNaV1ZyV1dWaGNpd2dkMlZsYTA1MWJXSmxjaXdnZDJWbGEyUmhlU0I5SUQwZ2QyVmxhMFJoZEdFc1hHNGdJQ0FnZDJWbGEyUmhlVTltU21GdU5DQTlJR1JoZVU5bVYyVmxheWgzWldWcldXVmhjaXdnTVN3Z05Da3NYRzRnSUNBZ2VXVmhja2x1UkdGNWN5QTlJR1JoZVhOSmJsbGxZWElvZDJWbGExbGxZWElwTzF4dVhHNGdJR3hsZENCdmNtUnBibUZzSUQwZ2QyVmxhMDUxYldKbGNpQXFJRGNnS3lCM1pXVnJaR0Y1SUMwZ2QyVmxhMlJoZVU5bVNtRnVOQ0F0SURNc1hHNGdJQ0FnZVdWaGNqdGNibHh1SUNCcFppQW9iM0prYVc1aGJDQThJREVwSUh0Y2JpQWdJQ0I1WldGeUlEMGdkMlZsYTFsbFlYSWdMU0F4TzF4dUlDQWdJRzl5WkdsdVlXd2dLejBnWkdGNWMwbHVXV1ZoY2loNVpXRnlLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHZjbVJwYm1Gc0lENGdlV1ZoY2tsdVJHRjVjeWtnZTF4dUlDQWdJSGxsWVhJZ1BTQjNaV1ZyV1dWaGNpQXJJREU3WEc0Z0lDQWdiM0prYVc1aGJDQXRQU0JrWVhselNXNVpaV0Z5S0hkbFpXdFpaV0Z5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCNVpXRnlJRDBnZDJWbGExbGxZWEk3WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0I3SUcxdmJuUm9MQ0JrWVhrZ2ZTQTlJSFZ1WTI5dGNIVjBaVTl5WkdsdVlXd29lV1ZoY2l3Z2IzSmthVzVoYkNrN1hHNGdJSEpsZEhWeWJpQjdJSGxsWVhJc0lHMXZiblJvTENCa1lYa3NJQzR1TG5ScGJXVlBZbXBsWTNRb2QyVmxhMFJoZEdFcElIMDdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbmNtVm5iM0pwWVc1VWIwOXlaR2x1WVd3b1ozSmxaMFJoZEdFcElIdGNiaUFnWTI5dWMzUWdleUI1WldGeUxDQnRiMjUwYUN3Z1pHRjVJSDBnUFNCbmNtVm5SR0YwWVR0Y2JpQWdZMjl1YzNRZ2IzSmthVzVoYkNBOUlHTnZiWEIxZEdWUGNtUnBibUZzS0hsbFlYSXNJRzF2Ym5Sb0xDQmtZWGtwTzF4dUlDQnlaWFIxY200Z2V5QjVaV0Z5TENCdmNtUnBibUZzTENBdUxpNTBhVzFsVDJKcVpXTjBLR2R5WldkRVlYUmhLU0I5TzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiM0prYVc1aGJGUnZSM0psWjI5eWFXRnVLRzl5WkdsdVlXeEVZWFJoS1NCN1hHNGdJR052Ym5OMElIc2dlV1ZoY2l3Z2IzSmthVzVoYkNCOUlEMGdiM0prYVc1aGJFUmhkR0U3WEc0Z0lHTnZibk4wSUhzZ2JXOXVkR2dzSUdSaGVTQjlJRDBnZFc1amIyMXdkWFJsVDNKa2FXNWhiQ2g1WldGeUxDQnZjbVJwYm1Gc0tUdGNiaUFnY21WMGRYSnVJSHNnZVdWaGNpd2diVzl1ZEdnc0lHUmhlU3dnTGk0dWRHbHRaVTlpYW1WamRDaHZjbVJwYm1Gc1JHRjBZU2tnZlR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2hoYzBsdWRtRnNhV1JYWldWclJHRjBZU2h2WW1vcElIdGNiaUFnWTI5dWMzUWdkbUZzYVdSWlpXRnlJRDBnYVhOSmJuUmxaMlZ5S0c5aWFpNTNaV1ZyV1dWaGNpa3NYRzRnSUNBZ2RtRnNhV1JYWldWcklEMGdhVzUwWldkbGNrSmxkSGRsWlc0b2IySnFMbmRsWld0T2RXMWlaWElzSURFc0lIZGxaV3R6U1c1WFpXVnJXV1ZoY2lodlltb3VkMlZsYTFsbFlYSXBLU3hjYmlBZ0lDQjJZV3hwWkZkbFpXdGtZWGtnUFNCcGJuUmxaMlZ5UW1WMGQyVmxiaWh2WW1vdWQyVmxhMlJoZVN3Z01Td2dOeWs3WEc1Y2JpQWdhV1lnS0NGMllXeHBaRmxsWVhJcElIdGNiaUFnSUNCeVpYUjFjbTRnZFc1cGRFOTFkRTltVW1GdVoyVW9YQ0ozWldWcldXVmhjbHdpTENCdlltb3VkMlZsYTFsbFlYSXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tDRjJZV3hwWkZkbFpXc3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RXNXBkRTkxZEU5bVVtRnVaMlVvWENKM1pXVnJYQ0lzSUc5aWFpNTNaV1ZyS1R0Y2JpQWdmU0JsYkhObElHbG1JQ2doZG1Gc2FXUlhaV1ZyWkdGNUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhWdWFYUlBkWFJQWmxKaGJtZGxLRndpZDJWbGEyUmhlVndpTENCdlltb3VkMlZsYTJSaGVTazdYRzRnSUgwZ1pXeHpaU0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJvWVhOSmJuWmhiR2xrVDNKa2FXNWhiRVJoZEdFb2IySnFLU0I3WEc0Z0lHTnZibk4wSUhaaGJHbGtXV1ZoY2lBOUlHbHpTVzUwWldkbGNpaHZZbW91ZVdWaGNpa3NYRzRnSUNBZ2RtRnNhV1JQY21ScGJtRnNJRDBnYVc1MFpXZGxja0psZEhkbFpXNG9iMkpxTG05eVpHbHVZV3dzSURFc0lHUmhlWE5KYmxsbFlYSW9iMkpxTG5sbFlYSXBLVHRjYmx4dUlDQnBaaUFvSVhaaGJHbGtXV1ZoY2lrZ2UxeHVJQ0FnSUhKbGRIVnliaUIxYm1sMFQzVjBUMlpTWVc1blpTaGNJbmxsWVhKY0lpd2diMkpxTG5sbFlYSXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tDRjJZV3hwWkU5eVpHbHVZV3dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkVzVwZEU5MWRFOW1VbUZ1WjJVb1hDSnZjbVJwYm1Gc1hDSXNJRzlpYWk1dmNtUnBibUZzS1R0Y2JpQWdmU0JsYkhObElISmxkSFZ5YmlCbVlXeHpaVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHaGhjMGx1ZG1Gc2FXUkhjbVZuYjNKcFlXNUVZWFJoS0c5aWFpa2dlMXh1SUNCamIyNXpkQ0IyWVd4cFpGbGxZWElnUFNCcGMwbHVkR1ZuWlhJb2IySnFMbmxsWVhJcExGeHVJQ0FnSUhaaGJHbGtUVzl1ZEdnZ1BTQnBiblJsWjJWeVFtVjBkMlZsYmlodlltb3ViVzl1ZEdnc0lERXNJREV5S1N4Y2JpQWdJQ0IyWVd4cFpFUmhlU0E5SUdsdWRHVm5aWEpDWlhSM1pXVnVLRzlpYWk1a1lYa3NJREVzSUdSaGVYTkpiazF2Ym5Sb0tHOWlhaTU1WldGeUxDQnZZbW91Ylc5dWRHZ3BLVHRjYmx4dUlDQnBaaUFvSVhaaGJHbGtXV1ZoY2lrZ2UxeHVJQ0FnSUhKbGRIVnliaUIxYm1sMFQzVjBUMlpTWVc1blpTaGNJbmxsWVhKY0lpd2diMkpxTG5sbFlYSXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tDRjJZV3hwWkUxdmJuUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIVnVhWFJQZFhSUFpsSmhibWRsS0Z3aWJXOXVkR2hjSWl3Z2IySnFMbTF2Ym5Sb0tUdGNiaUFnZlNCbGJITmxJR2xtSUNnaGRtRnNhV1JFWVhrcElIdGNiaUFnSUNCeVpYUjFjbTRnZFc1cGRFOTFkRTltVW1GdVoyVW9YQ0prWVhsY0lpd2diMkpxTG1SaGVTazdYRzRnSUgwZ1pXeHpaU0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJvWVhOSmJuWmhiR2xrVkdsdFpVUmhkR0VvYjJKcUtTQjdYRzRnSUdOdmJuTjBJSHNnYUc5MWNpd2diV2x1ZFhSbExDQnpaV052Ym1Rc0lHMXBiR3hwYzJWamIyNWtJSDBnUFNCdlltbzdYRzRnSUdOdmJuTjBJSFpoYkdsa1NHOTFjaUE5WEc0Z0lDQWdJQ0JwYm5SbFoyVnlRbVYwZDJWbGJpaG9iM1Z5TENBd0xDQXlNeWtnZkh4Y2JpQWdJQ0FnSUNob2IzVnlJRDA5UFNBeU5DQW1KaUJ0YVc1MWRHVWdQVDA5SURBZ0ppWWdjMlZqYjI1a0lEMDlQU0F3SUNZbUlHMXBiR3hwYzJWamIyNWtJRDA5UFNBd0tTeGNiaUFnSUNCMllXeHBaRTFwYm5WMFpTQTlJR2x1ZEdWblpYSkNaWFIzWldWdUtHMXBiblYwWlN3Z01Dd2dOVGtwTEZ4dUlDQWdJSFpoYkdsa1UyVmpiMjVrSUQwZ2FXNTBaV2RsY2tKbGRIZGxaVzRvYzJWamIyNWtMQ0F3TENBMU9Ta3NYRzRnSUNBZ2RtRnNhV1JOYVd4c2FYTmxZMjl1WkNBOUlHbHVkR1ZuWlhKQ1pYUjNaV1Z1S0cxcGJHeHBjMlZqYjI1a0xDQXdMQ0E1T1RrcE8xeHVYRzRnSUdsbUlDZ2hkbUZzYVdSSWIzVnlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIVnVhWFJQZFhSUFpsSmhibWRsS0Z3aWFHOTFjbHdpTENCb2IzVnlLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDZ2hkbUZzYVdSTmFXNTFkR1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkVzVwZEU5MWRFOW1VbUZ1WjJVb1hDSnRhVzUxZEdWY0lpd2diV2x1ZFhSbEtUdGNiaUFnZlNCbGJITmxJR2xtSUNnaGRtRnNhV1JUWldOdmJtUXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RXNXBkRTkxZEU5bVVtRnVaMlVvWENKelpXTnZibVJjSWl3Z2MyVmpiMjVrS1R0Y2JpQWdmU0JsYkhObElHbG1JQ2doZG1Gc2FXUk5hV3hzYVhObFkyOXVaQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjFibWwwVDNWMFQyWlNZVzVuWlNoY0ltMXBiR3hwYzJWamIyNWtYQ0lzSUcxcGJHeHBjMlZqYjI1a0tUdGNiaUFnZlNCbGJITmxJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JuMWNiaUlzSUNKcGJYQnZjblFnUkhWeVlYUnBiMjRnWm5KdmJTQmNJaTR2WkhWeVlYUnBiMjR1YW5OY0lqdGNibWx0Y0c5eWRDQkpiblJsY25aaGJDQm1jbTl0SUZ3aUxpOXBiblJsY25aaGJDNXFjMXdpTzF4dWFXMXdiM0owSUZObGRIUnBibWR6SUdaeWIyMGdYQ0l1TDNObGRIUnBibWR6TG1welhDSTdYRzVwYlhCdmNuUWdTVzVtYnlCbWNtOXRJRndpTGk5cGJtWnZMbXB6WENJN1hHNXBiWEJ2Y25RZ1JtOXliV0YwZEdWeUlHWnliMjBnWENJdUwybHRjR3d2Wm05eWJXRjBkR1Z5TG1welhDSTdYRzVwYlhCdmNuUWdSbWw0WldSUFptWnpaWFJhYjI1bElHWnliMjBnWENJdUwzcHZibVZ6TDJacGVHVmtUMlptYzJWMFdtOXVaUzVxYzF3aU8xeHVhVzF3YjNKMElFeHZZMkZzWlNCbWNtOXRJRndpTGk5cGJYQnNMMnh2WTJGc1pTNXFjMXdpTzF4dWFXMXdiM0owSUh0Y2JpQWdhWE5WYm1SbFptbHVaV1FzWEc0Z0lHMWhlV0psUVhKeVlYa3NYRzRnSUdselJHRjBaU3hjYmlBZ2FYTk9kVzFpWlhJc1hHNGdJR0psYzNSQ2VTeGNiaUFnWkdGNWMwbHVUVzl1ZEdnc1hHNGdJR1JoZVhOSmJsbGxZWElzWEc0Z0lHbHpUR1ZoY0ZsbFlYSXNYRzRnSUhkbFpXdHpTVzVYWldWcldXVmhjaXhjYmlBZ2JtOXliV0ZzYVhwbFQySnFaV04wTEZ4dUlDQnliM1Z1WkZSdkxGeHVJQ0J2WW1wVWIweHZZMkZzVkZNc1hHNGdJSEJoWkZOMFlYSjBMRnh1ZlNCbWNtOXRJRndpTGk5cGJYQnNMM1YwYVd3dWFuTmNJanRjYm1sdGNHOXlkQ0I3SUc1dmNtMWhiR2w2WlZwdmJtVWdmU0JtY205dElGd2lMaTlwYlhCc0wzcHZibVZWZEdsc0xtcHpYQ0k3WEc1cGJYQnZjblFnWkdsbVppQm1jbTl0SUZ3aUxpOXBiWEJzTDJScFptWXVhbk5jSWp0Y2JtbHRjRzl5ZENCN0lIQmhjbk5sVWtaRE1qZ3lNa1JoZEdVc0lIQmhjbk5sU1ZOUFJHRjBaU3dnY0dGeWMyVklWRlJRUkdGMFpTd2djR0Z5YzJWVFVVd2dmU0JtY205dElGd2lMaTlwYlhCc0wzSmxaMlY0VUdGeWMyVnlMbXB6WENJN1hHNXBiWEJ2Y25RZ2V5QndZWEp6WlVaeWIyMVViMnRsYm5Nc0lHVjRjR3hoYVc1R2NtOXRWRzlyWlc1eklIMGdabkp2YlNCY0lpNHZhVzF3YkM5MGIydGxibEJoY25ObGNpNXFjMXdpTzF4dWFXMXdiM0owSUh0Y2JpQWdaM0psWjI5eWFXRnVWRzlYWldWckxGeHVJQ0IzWldWclZHOUhjbVZuYjNKcFlXNHNYRzRnSUdkeVpXZHZjbWxoYmxSdlQzSmthVzVoYkN4Y2JpQWdiM0prYVc1aGJGUnZSM0psWjI5eWFXRnVMRnh1SUNCb1lYTkpiblpoYkdsa1IzSmxaMjl5YVdGdVJHRjBZU3hjYmlBZ2FHRnpTVzUyWVd4cFpGZGxaV3RFWVhSaExGeHVJQ0JvWVhOSmJuWmhiR2xrVDNKa2FXNWhiRVJoZEdFc1hHNGdJR2hoYzBsdWRtRnNhV1JVYVcxbFJHRjBZU3hjYm4wZ1puSnZiU0JjSWk0dmFXMXdiQzlqYjI1MlpYSnphVzl1Y3k1cWMxd2lPMXh1YVcxd2IzSjBJQ29nWVhNZ1JtOXliV0YwY3lCbWNtOXRJRndpTGk5cGJYQnNMMlp2Y20xaGRITXVhbk5jSWp0Y2JtbHRjRzl5ZENCN1hHNGdJRWx1ZG1Gc2FXUkJjbWQxYldWdWRFVnljbTl5TEZ4dUlDQkRiMjVtYkdsamRHbHVaMU53WldOcFptbGpZWFJwYjI1RmNuSnZjaXhjYmlBZ1NXNTJZV3hwWkZWdWFYUkZjbkp2Y2l4Y2JpQWdTVzUyWVd4cFpFUmhkR1ZVYVcxbFJYSnliM0lzWEc1OUlHWnliMjBnWENJdUwyVnljbTl5Y3k1cWMxd2lPMXh1YVcxd2IzSjBJRWx1ZG1Gc2FXUWdabkp2YlNCY0lpNHZhVzF3YkM5cGJuWmhiR2xrTG1welhDSTdYRzVjYm1OdmJuTjBJRWxPVmtGTVNVUWdQU0JjSWtsdWRtRnNhV1FnUkdGMFpWUnBiV1ZjSWp0Y2JtTnZibk4wSUUxQldGOUVRVlJGSUQwZ09DNDJOR1V4TlR0Y2JseHVablZ1WTNScGIyNGdkVzV6ZFhCd2IzSjBaV1JhYjI1bEtIcHZibVVwSUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJKYm5aaGJHbGtLRndpZFc1emRYQndiM0owWldRZ2VtOXVaVndpTENCZ2RHaGxJSHB2Ym1VZ1hDSWtlM3B2Ym1VdWJtRnRaWDFjSWlCcGN5QnViM1FnYzNWd2NHOXlkR1ZrWUNrN1hHNTlYRzVjYmk4dklIZGxJR05oWTJobElIZGxaV3NnWkdGMFlTQnZiaUIwYUdVZ1JGUWdiMkpxWldOMElHRnVaQ0IwYUdseklHbHVkR1Z5YldWa2FXRjBaWE1nZEdobElHTmhZMmhsWEc1bWRXNWpkR2x2YmlCd2IzTnphV0pzZVVOaFkyaGxaRmRsWld0RVlYUmhLR1IwS1NCN1hHNGdJR2xtSUNoa2RDNTNaV1ZyUkdGMFlTQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lHUjBMbmRsWld0RVlYUmhJRDBnWjNKbFoyOXlhV0Z1Vkc5WFpXVnJLR1IwTG1NcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCa2RDNTNaV1ZyUkdGMFlUdGNibjFjYmx4dUx5OGdZMnh2Ym1VZ2NtVmhiR3g1SUcxbFlXNXpMQ0JjSW0xaGEyVWdZU0J1WlhjZ2IySnFaV04wSUhkcGRHZ2dkR2hsYzJVZ2JXOWthV1pwWTJGMGFXOXVjMXdpTGlCaGJHd2dYQ0p6WlhSMFpYSnpYQ0lnY21WaGJHeDVJSFZ6WlNCMGFHbHpYRzR2THlCMGJ5QmpjbVZoZEdVZ1lTQnVaWGNnYjJKcVpXTjBJSGRvYVd4bElHOXViSGtnWTJoaGJtZHBibWNnYzI5dFpTQnZaaUIwYUdVZ2NISnZjR1Z5ZEdsbGMxeHVablZ1WTNScGIyNGdZMnh2Ym1Vb2FXNXpkQ3dnWVd4MGN5a2dlMXh1SUNCamIyNXpkQ0JqZFhKeVpXNTBJRDBnZTF4dUlDQWdJSFJ6T2lCcGJuTjBMblJ6TEZ4dUlDQWdJSHB2Ym1VNklHbHVjM1F1ZW05dVpTeGNiaUFnSUNCak9pQnBibk4wTG1Nc1hHNGdJQ0FnYnpvZ2FXNXpkQzV2TEZ4dUlDQWdJR3h2WXpvZ2FXNXpkQzVzYjJNc1hHNGdJQ0FnYVc1MllXeHBaRG9nYVc1emRDNXBiblpoYkdsa0xGeHVJQ0I5TzF4dUlDQnlaWFIxY200Z2JtVjNJRVJoZEdWVWFXMWxLSHNnTGk0dVkzVnljbVZ1ZEN3Z0xpNHVZV3gwY3l3Z2IyeGtPaUJqZFhKeVpXNTBJSDBwTzF4dWZWeHVYRzR2THlCbWFXNWtJSFJvWlNCeWFXZG9kQ0J2Wm1aelpYUWdZU0JuYVhabGJpQnNiMk5oYkNCMGFXMWxMaUJVYUdVZ2J5QnBibkIxZENCcGN5QnZkWElnWjNWbGMzTXNJSGRvYVdOb0lHUmxkR1Z5YldsdVpYTWdkMmhwWTJoY2JpOHZJRzltWm5ObGRDQjNaU2RzYkNCd2FXTnJJR2x1SUdGdFltbG5kVzkxY3lCallYTmxjeUFvWlM1bkxpQjBhR1Z5WlNCaGNtVWdkSGR2SURNZ1FVMXpJR0l2WXlCR1lXeHNZbUZqYXlCRVUxUXBYRzVtZFc1amRHbHZiaUJtYVhoUFptWnpaWFFvYkc5allXeFVVeXdnYnl3Z2RIb3BJSHRjYmlBZ0x5OGdUM1Z5SUZWVVF5QjBhVzFsSUdseklHcDFjM1FnWVNCbmRXVnpjeUJpWldOaGRYTmxJRzkxY2lCdlptWnpaWFFnYVhNZ2FuVnpkQ0JoSUdkMVpYTnpYRzRnSUd4bGRDQjFkR05IZFdWemN5QTlJR3h2WTJGc1ZGTWdMU0J2SUNvZ05qQWdLaUF4TURBd08xeHVYRzRnSUM4dklGUmxjM1FnZDJobGRHaGxjaUIwYUdVZ2VtOXVaU0J0WVhSamFHVnpJSFJvWlNCdlptWnpaWFFnWm05eUlIUm9hWE1nZEhOY2JpQWdZMjl1YzNRZ2J6SWdQU0IwZWk1dlptWnpaWFFvZFhSalIzVmxjM01wTzF4dVhHNGdJQzh2SUVsbUlITnZMQ0J2Wm1aelpYUWdaR2xrYmlkMElHTm9ZVzVuWlNCaGJtUWdkMlVuY21VZ1pHOXVaVnh1SUNCcFppQW9ieUE5UFQwZ2J6SXBJSHRjYmlBZ0lDQnlaWFIxY200Z1czVjBZMGQxWlhOekxDQnZYVHRjYmlBZ2ZWeHVYRzRnSUM4dklFbG1JRzV2ZEN3Z1kyaGhibWRsSUhSb1pTQjBjeUJpZVNCMGFHVWdaR2xtWm1WeVpXNWpaU0JwYmlCMGFHVWdiMlptYzJWMFhHNGdJSFYwWTBkMVpYTnpJQzA5SUNodk1pQXRJRzhwSUNvZ05qQWdLaUF4TURBd08xeHVYRzRnSUM4dklFbG1JSFJvWVhRZ1oybDJaWE1nZFhNZ2RHaGxJR3h2WTJGc0lIUnBiV1VnZDJVZ2QyRnVkQ3dnZDJVbmNtVWdaRzl1WlZ4dUlDQmpiMjV6ZENCdk15QTlJSFI2TG05bVpuTmxkQ2gxZEdOSGRXVnpjeWs3WEc0Z0lHbG1JQ2h2TWlBOVBUMGdiek1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdXM1YwWTBkMVpYTnpMQ0J2TWwwN1hHNGdJSDFjYmx4dUlDQXZMeUJKWmlCcGRDZHpJR1JwWm1abGNtVnVkQ3dnZDJVbmNtVWdhVzRnWVNCb2IyeGxJSFJwYldVdUlGUm9aU0J2Wm1aelpYUWdhR0Z6SUdOb1lXNW5aV1FzSUdKMWRDQjBhR1VnZDJVZ1pHOXVKM1FnWVdScWRYTjBJSFJvWlNCMGFXMWxYRzRnSUhKbGRIVnliaUJiYkc5allXeFVVeUF0SUUxaGRHZ3ViV2x1S0c4eUxDQnZNeWtnS2lBMk1DQXFJREV3TURBc0lFMWhkR2d1YldGNEtHOHlMQ0J2TXlsZE8xeHVmVnh1WEc0dkx5QmpiMjUyWlhKMElHRnVJR1Z3YjJOb0lIUnBiV1Z6ZEdGdGNDQnBiblJ2SUdFZ1kyRnNaVzVrWVhJZ2IySnFaV04wSUhkcGRHZ2dkR2hsSUdkcGRtVnVJRzltWm5ObGRGeHVablZ1WTNScGIyNGdkSE5VYjA5aWFpaDBjeXdnYjJabWMyVjBLU0I3WEc0Z0lIUnpJQ3M5SUc5bVpuTmxkQ0FxSURZd0lDb2dNVEF3TUR0Y2JseHVJQ0JqYjI1emRDQmtJRDBnYm1WM0lFUmhkR1VvZEhNcE8xeHVYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdlV1ZoY2pvZ1pDNW5aWFJWVkVOR2RXeHNXV1ZoY2lncExGeHVJQ0FnSUcxdmJuUm9PaUJrTG1kbGRGVlVRMDF2Ym5Sb0tDa2dLeUF4TEZ4dUlDQWdJR1JoZVRvZ1pDNW5aWFJWVkVORVlYUmxLQ2tzWEc0Z0lDQWdhRzkxY2pvZ1pDNW5aWFJWVkVOSWIzVnljeWdwTEZ4dUlDQWdJRzFwYm5WMFpUb2daQzVuWlhSVlZFTk5hVzUxZEdWektDa3NYRzRnSUNBZ2MyVmpiMjVrT2lCa0xtZGxkRlZVUTFObFkyOXVaSE1vS1N4Y2JpQWdJQ0J0YVd4c2FYTmxZMjl1WkRvZ1pDNW5aWFJWVkVOTmFXeHNhWE5sWTI5dVpITW9LU3hjYmlBZ2ZUdGNibjFjYmx4dUx5OGdZMjl1ZG1WeWRDQmhJR05oYkdWdVpHRnlJRzlpYW1WamRDQjBieUJoSUdWd2IyTm9JSFJwYldWemRHRnRjRnh1Wm5WdVkzUnBiMjRnYjJKcVZHOVVVeWh2WW1vc0lHOW1abk5sZEN3Z2VtOXVaU2tnZTF4dUlDQnlaWFIxY200Z1ptbDRUMlptYzJWMEtHOWlhbFJ2VEc5allXeFVVeWh2WW1vcExDQnZabVp6WlhRc0lIcHZibVVwTzF4dWZWeHVYRzR2THlCamNtVmhkR1VnWVNCdVpYY2dSRlFnYVc1emRHRnVZMlVnWW5rZ1lXUmthVzVuSUdFZ1pIVnlZWFJwYjI0c0lHRmthblZ6ZEdsdVp5Qm1iM0lnUkZOVWMxeHVablZ1WTNScGIyNGdZV1JxZFhOMFZHbHRaU2hwYm5OMExDQmtkWElwSUh0Y2JpQWdZMjl1YzNRZ2IxQnlaU0E5SUdsdWMzUXVieXhjYmlBZ0lDQjVaV0Z5SUQwZ2FXNXpkQzVqTG5sbFlYSWdLeUJOWVhSb0xuUnlkVzVqS0dSMWNpNTVaV0Z5Y3lrc1hHNGdJQ0FnYlc5dWRHZ2dQU0JwYm5OMExtTXViVzl1ZEdnZ0t5Qk5ZWFJvTG5SeWRXNWpLR1IxY2k1dGIyNTBhSE1wSUNzZ1RXRjBhQzUwY25WdVl5aGtkWEl1Y1hWaGNuUmxjbk1wSUNvZ015eGNiaUFnSUNCaklEMGdlMXh1SUNBZ0lDQWdMaTR1YVc1emRDNWpMRnh1SUNBZ0lDQWdlV1ZoY2l4Y2JpQWdJQ0FnSUcxdmJuUm9MRnh1SUNBZ0lDQWdaR0Y1T2x4dUlDQWdJQ0FnSUNCTllYUm9MbTFwYmlocGJuTjBMbU11WkdGNUxDQmtZWGx6U1c1TmIyNTBhQ2g1WldGeUxDQnRiMjUwYUNrcElDdGNiaUFnSUNBZ0lDQWdUV0YwYUM1MGNuVnVZeWhrZFhJdVpHRjVjeWtnSzF4dUlDQWdJQ0FnSUNCTllYUm9MblJ5ZFc1aktHUjFjaTUzWldWcmN5a2dLaUEzTEZ4dUlDQWdJSDBzWEc0Z0lDQWdiV2xzYkdselZHOUJaR1FnUFNCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIdGNiaUFnSUNBZ0lIbGxZWEp6T2lCa2RYSXVlV1ZoY25NZ0xTQk5ZWFJvTG5SeWRXNWpLR1IxY2k1NVpXRnljeWtzWEc0Z0lDQWdJQ0J4ZFdGeWRHVnljem9nWkhWeUxuRjFZWEowWlhKeklDMGdUV0YwYUM1MGNuVnVZeWhrZFhJdWNYVmhjblJsY25NcExGeHVJQ0FnSUNBZ2JXOXVkR2h6T2lCa2RYSXViVzl1ZEdoeklDMGdUV0YwYUM1MGNuVnVZeWhrZFhJdWJXOXVkR2h6S1N4Y2JpQWdJQ0FnSUhkbFpXdHpPaUJrZFhJdWQyVmxhM01nTFNCTllYUm9MblJ5ZFc1aktHUjFjaTUzWldWcmN5a3NYRzRnSUNBZ0lDQmtZWGx6T2lCa2RYSXVaR0Y1Y3lBdElFMWhkR2d1ZEhKMWJtTW9aSFZ5TG1SaGVYTXBMRnh1SUNBZ0lDQWdhRzkxY25NNklHUjFjaTVvYjNWeWN5eGNiaUFnSUNBZ0lHMXBiblYwWlhNNklHUjFjaTV0YVc1MWRHVnpMRnh1SUNBZ0lDQWdjMlZqYjI1a2N6b2daSFZ5TG5ObFkyOXVaSE1zWEc0Z0lDQWdJQ0J0YVd4c2FYTmxZMjl1WkhNNklHUjFjaTV0YVd4c2FYTmxZMjl1WkhNc1hHNGdJQ0FnZlNrdVlYTW9YQ0p0YVd4c2FYTmxZMjl1WkhOY0lpa3NYRzRnSUNBZ2JHOWpZV3hVVXlBOUlHOWlhbFJ2VEc5allXeFVVeWhqS1R0Y2JseHVJQ0JzWlhRZ1czUnpMQ0J2WFNBOUlHWnBlRTltWm5ObGRDaHNiMk5oYkZSVExDQnZVSEpsTENCcGJuTjBMbnB2Ym1VcE8xeHVYRzRnSUdsbUlDaHRhV3hzYVhOVWIwRmtaQ0FoUFQwZ01Da2dlMXh1SUNBZ0lIUnpJQ3M5SUcxcGJHeHBjMVJ2UVdSa08xeHVJQ0FnSUM4dklIUm9ZWFFnWTI5MWJHUWdhR0YyWlNCamFHRnVaMlZrSUhSb1pTQnZabVp6WlhRZ1lua2daMjlwYm1jZ2IzWmxjaUJoSUVSVFZDd2dZblYwSUhkbElIZGhiblFnZEc4Z2EyVmxjQ0IwYUdVZ2RITWdkR2hsSUhOaGJXVmNiaUFnSUNCdklEMGdhVzV6ZEM1NmIyNWxMbTltWm5ObGRDaDBjeWs3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZXlCMGN5d2dieUI5TzF4dWZWeHVYRzR2THlCb1pXeHdaWElnZFhObFpuVnNJR2x1SUhSMWNtNXBibWNnZEdobElISmxjM1ZzZEhNZ2IyWWdjR0Z5YzJsdVp5QnBiblJ2SUhKbFlXd2daR0YwWlhOY2JpOHZJR0o1SUdoaGJtUnNhVzVuSUhSb1pTQjZiMjVsSUc5d2RHbHZibk5jYm1aMWJtTjBhVzl1SUhCaGNuTmxSR0YwWVZSdlJHRjBaVlJwYldVb2NHRnljMlZrTENCd1lYSnpaV1JhYjI1bExDQnZjSFJ6TENCbWIzSnRZWFFzSUhSbGVIUXNJSE53WldOcFptbGpUMlptYzJWMEtTQjdYRzRnSUdOdmJuTjBJSHNnYzJWMFdtOXVaU3dnZW05dVpTQjlJRDBnYjNCMGN6dGNiaUFnYVdZZ0tIQmhjbk5sWkNBbUppQlBZbXBsWTNRdWEyVjVjeWh3WVhKelpXUXBMbXhsYm1kMGFDQWhQVDBnTUNrZ2UxeHVJQ0FnSUdOdmJuTjBJR2x1ZEdWeWNISmxkR0YwYVc5dVdtOXVaU0E5SUhCaGNuTmxaRnB2Ym1VZ2ZId2dlbTl1WlN4Y2JpQWdJQ0FnSUdsdWMzUWdQU0JFWVhSbFZHbHRaUzVtY205dFQySnFaV04wS0hCaGNuTmxaQ3dnZTF4dUlDQWdJQ0FnSUNBdUxpNXZjSFJ6TEZ4dUlDQWdJQ0FnSUNCNmIyNWxPaUJwYm5SbGNuQnlaWFJoZEdsdmJscHZibVVzWEc0Z0lDQWdJQ0FnSUhOd1pXTnBabWxqVDJabWMyVjBMRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdjbVYwZFhKdUlITmxkRnB2Ym1VZ1B5QnBibk4wSURvZ2FXNXpkQzV6WlhSYWIyNWxLSHB2Ym1VcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCRVlYUmxWR2x0WlM1cGJuWmhiR2xrS0Z4dUlDQWdJQ0FnYm1WM0lFbHVkbUZzYVdRb1hDSjFibkJoY25OaFlteGxYQ0lzSUdCMGFHVWdhVzV3ZFhRZ1hDSWtlM1JsZUhSOVhDSWdZMkZ1SjNRZ1ltVWdjR0Z5YzJWa0lHRnpJQ1I3Wm05eWJXRjBmV0FwWEc0Z0lDQWdLVHRjYmlBZ2ZWeHVmVnh1WEc0dkx5QnBaaUI1YjNVZ2QyRnVkQ0IwYnlCdmRYUndkWFFnWVNCMFpXTm9ibWxqWVd3Z1ptOXliV0YwSUNobExtY3VJRkpHUXlBeU9ESXlLU3dnZEdocGN5Qm9aV3h3WlhKY2JpOHZJR2hsYkhCeklHaGhibVJzWlNCMGFHVWdaR1YwWVdsc2MxeHVablZ1WTNScGIyNGdkRzlVWldOb1JtOXliV0YwS0dSMExDQm1iM0p0WVhRc0lHRnNiRzkzV2lBOUlIUnlkV1VwSUh0Y2JpQWdjbVYwZFhKdUlHUjBMbWx6Vm1Gc2FXUmNiaUFnSUNBL0lFWnZjbTFoZEhSbGNpNWpjbVZoZEdVb1RHOWpZV3hsTG1OeVpXRjBaU2hjSW1WdUxWVlRYQ0lwTENCN1hHNGdJQ0FnSUNBZ0lHRnNiRzkzV2l4Y2JpQWdJQ0FnSUNBZ1ptOXlZMlZUYVcxd2JHVTZJSFJ5ZFdVc1hHNGdJQ0FnSUNCOUtTNW1iM0p0WVhSRVlYUmxWR2x0WlVaeWIyMVRkSEpwYm1jb1pIUXNJR1p2Y20xaGRDbGNiaUFnSUNBNklHNTFiR3c3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFJ2U1ZOUFJHRjBaU2h2TENCbGVIUmxibVJsWkNrZ2UxeHVJQ0JqYjI1emRDQnNiMjVuUm05eWJXRjBJRDBnYnk1akxubGxZWElnUGlBNU9UazVJSHg4SUc4dVl5NTVaV0Z5SUR3Z01EdGNiaUFnYkdWMElHTWdQU0JjSWx3aU8xeHVJQ0JwWmlBb2JHOXVaMFp2Y20xaGRDQW1KaUJ2TG1NdWVXVmhjaUErUFNBd0tTQmpJQ3M5SUZ3aUsxd2lPMXh1SUNCaklDczlJSEJoWkZOMFlYSjBLRzh1WXk1NVpXRnlMQ0JzYjI1blJtOXliV0YwSUQ4Z05pQTZJRFFwTzF4dVhHNGdJR2xtSUNobGVIUmxibVJsWkNrZ2UxeHVJQ0FnSUdNZ0t6MGdYQ0l0WENJN1hHNGdJQ0FnWXlBclBTQndZV1JUZEdGeWRDaHZMbU11Ylc5dWRHZ3BPMXh1SUNBZ0lHTWdLejBnWENJdFhDSTdYRzRnSUNBZ1l5QXJQU0J3WVdSVGRHRnlkQ2h2TG1NdVpHRjVLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JqSUNzOUlIQmhaRk4wWVhKMEtHOHVZeTV0YjI1MGFDazdYRzRnSUNBZ1l5QXJQU0J3WVdSVGRHRnlkQ2h2TG1NdVpHRjVLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdZenRjYm4xY2JseHVablZ1WTNScGIyNGdkRzlKVTA5VWFXMWxLRnh1SUNCdkxGeHVJQ0JsZUhSbGJtUmxaQ3hjYmlBZ2MzVndjSEpsYzNOVFpXTnZibVJ6TEZ4dUlDQnpkWEJ3Y21WemMwMXBiR3hwYzJWamIyNWtjeXhjYmlBZ2FXNWpiSFZrWlU5bVpuTmxkQ3hjYmlBZ1pYaDBaVzVrWldSYWIyNWxYRzRwSUh0Y2JpQWdiR1YwSUdNZ1BTQndZV1JUZEdGeWRDaHZMbU11YUc5MWNpazdYRzRnSUdsbUlDaGxlSFJsYm1SbFpDa2dlMXh1SUNBZ0lHTWdLejBnWENJNlhDSTdYRzRnSUNBZ1l5QXJQU0J3WVdSVGRHRnlkQ2h2TG1NdWJXbHVkWFJsS1R0Y2JpQWdJQ0JwWmlBb2J5NWpMbk5sWTI5dVpDQWhQVDBnTUNCOGZDQWhjM1Z3Y0hKbGMzTlRaV052Ym1SektTQjdYRzRnSUNBZ0lDQmpJQ3M5SUZ3aU9sd2lPMXh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQmpJQ3M5SUhCaFpGTjBZWEowS0c4dVl5NXRhVzUxZEdVcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0c4dVl5NXpaV052Ym1RZ0lUMDlJREFnZkh3Z0lYTjFjSEJ5WlhOelUyVmpiMjVrY3lrZ2UxeHVJQ0FnSUdNZ0t6MGdjR0ZrVTNSaGNuUW9ieTVqTG5ObFkyOXVaQ2s3WEc1Y2JpQWdJQ0JwWmlBb2J5NWpMbTFwYkd4cGMyVmpiMjVrSUNFOVBTQXdJSHg4SUNGemRYQndjbVZ6YzAxcGJHeHBjMlZqYjI1a2N5a2dlMXh1SUNBZ0lDQWdZeUFyUFNCY0lpNWNJanRjYmlBZ0lDQWdJR01nS3owZ2NHRmtVM1JoY25Rb2J5NWpMbTFwYkd4cGMyVmpiMjVrTENBektUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnBaaUFvYVc1amJIVmtaVTltWm5ObGRDa2dlMXh1SUNBZ0lHbG1JQ2h2TG1selQyWm1jMlYwUm1sNFpXUWdKaVlnYnk1dlptWnpaWFFnUFQwOUlEQWdKaVlnSVdWNGRHVnVaR1ZrV205dVpTa2dlMXh1SUNBZ0lDQWdZeUFyUFNCY0lscGNJanRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzh1YnlBOElEQXBJSHRjYmlBZ0lDQWdJR01nS3owZ1hDSXRYQ0k3WEc0Z0lDQWdJQ0JqSUNzOUlIQmhaRk4wWVhKMEtFMWhkR2d1ZEhKMWJtTW9MVzh1YnlBdklEWXdLU2s3WEc0Z0lDQWdJQ0JqSUNzOUlGd2lPbHdpTzF4dUlDQWdJQ0FnWXlBclBTQndZV1JUZEdGeWRDaE5ZWFJvTG5SeWRXNWpLQzF2TG04Z0pTQTJNQ2twTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmpJQ3M5SUZ3aUsxd2lPMXh1SUNBZ0lDQWdZeUFyUFNCd1lXUlRkR0Z5ZENoTllYUm9MblJ5ZFc1aktHOHVieUF2SURZd0tTazdYRzRnSUNBZ0lDQmpJQ3M5SUZ3aU9sd2lPMXh1SUNBZ0lDQWdZeUFyUFNCd1lXUlRkR0Z5ZENoTllYUm9MblJ5ZFc1aktHOHVieUFsSURZd0tTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdhV1lnS0dWNGRHVnVaR1ZrV205dVpTa2dlMXh1SUNBZ0lHTWdLejBnWENKYlhDSWdLeUJ2TG5wdmJtVXVhV0Z1WVU1aGJXVWdLeUJjSWwxY0lqdGNiaUFnZlZ4dUlDQnlaWFIxY200Z1l6dGNibjFjYmx4dUx5OGdaR1ZtWVhWc2RITWdabTl5SUhWdWMzQmxZMmxtYVdWa0lIVnVhWFJ6SUdsdUlIUm9aU0J6ZFhCd2IzSjBaV1FnWTJGc1pXNWtZWEp6WEc1amIyNXpkQ0JrWldaaGRXeDBWVzVwZEZaaGJIVmxjeUE5SUh0Y2JpQWdJQ0J0YjI1MGFEb2dNU3hjYmlBZ0lDQmtZWGs2SURFc1hHNGdJQ0FnYUc5MWNqb2dNQ3hjYmlBZ0lDQnRhVzUxZEdVNklEQXNYRzRnSUNBZ2MyVmpiMjVrT2lBd0xGeHVJQ0FnSUcxcGJHeHBjMlZqYjI1a09pQXdMRnh1SUNCOUxGeHVJQ0JrWldaaGRXeDBWMlZsYTFWdWFYUldZV3gxWlhNZ1BTQjdYRzRnSUNBZ2QyVmxhMDUxYldKbGNqb2dNU3hjYmlBZ0lDQjNaV1ZyWkdGNU9pQXhMRnh1SUNBZ0lHaHZkWEk2SURBc1hHNGdJQ0FnYldsdWRYUmxPaUF3TEZ4dUlDQWdJSE5sWTI5dVpEb2dNQ3hjYmlBZ0lDQnRhV3hzYVhObFkyOXVaRG9nTUN4Y2JpQWdmU3hjYmlBZ1pHVm1ZWFZzZEU5eVpHbHVZV3hWYm1sMFZtRnNkV1Z6SUQwZ2UxeHVJQ0FnSUc5eVpHbHVZV3c2SURFc1hHNGdJQ0FnYUc5MWNqb2dNQ3hjYmlBZ0lDQnRhVzUxZEdVNklEQXNYRzRnSUNBZ2MyVmpiMjVrT2lBd0xGeHVJQ0FnSUcxcGJHeHBjMlZqYjI1a09pQXdMRnh1SUNCOU8xeHVYRzR2THlCVmJtbDBjeUJwYmlCMGFHVWdjM1Z3Y0c5eWRHVmtJR05oYkdWdVpHRnljeXdnYzI5eWRHVmtJR0o1SUdKcFoyNWxjM05jYm1OdmJuTjBJRzl5WkdWeVpXUlZibWwwY3lBOUlGdGNJbmxsWVhKY0lpd2dYQ0p0YjI1MGFGd2lMQ0JjSW1SaGVWd2lMQ0JjSW1odmRYSmNJaXdnWENKdGFXNTFkR1ZjSWl3Z1hDSnpaV052Ym1SY0lpd2dYQ0p0YVd4c2FYTmxZMjl1WkZ3aVhTeGNiaUFnYjNKa1pYSmxaRmRsWld0VmJtbDBjeUE5SUZ0Y2JpQWdJQ0JjSW5kbFpXdFpaV0Z5WENJc1hHNGdJQ0FnWENKM1pXVnJUblZ0WW1WeVhDSXNYRzRnSUNBZ1hDSjNaV1ZyWkdGNVhDSXNYRzRnSUNBZ1hDSm9iM1Z5WENJc1hHNGdJQ0FnWENKdGFXNTFkR1ZjSWl4Y2JpQWdJQ0JjSW5ObFkyOXVaRndpTEZ4dUlDQWdJRndpYldsc2JHbHpaV052Ym1SY0lpeGNiaUFnWFN4Y2JpQWdiM0prWlhKbFpFOXlaR2x1WVd4VmJtbDBjeUE5SUZ0Y0lubGxZWEpjSWl3Z1hDSnZjbVJwYm1Gc1hDSXNJRndpYUc5MWNsd2lMQ0JjSW0xcGJuVjBaVndpTENCY0luTmxZMjl1WkZ3aUxDQmNJbTFwYkd4cGMyVmpiMjVrWENKZE8xeHVYRzR2THlCemRHRnVaR0Z5WkdsNlpTQmpZWE5sSUdGdVpDQndiSFZ5WVd4cGRIa2dhVzRnZFc1cGRITmNibVoxYm1OMGFXOXVJRzV2Y20xaGJHbDZaVlZ1YVhRb2RXNXBkQ2tnZTF4dUlDQmpiMjV6ZENCdWIzSnRZV3hwZW1Wa0lEMGdlMXh1SUNBZ0lIbGxZWEk2SUZ3aWVXVmhjbHdpTEZ4dUlDQWdJSGxsWVhKek9pQmNJbmxsWVhKY0lpeGNiaUFnSUNCdGIyNTBhRG9nWENKdGIyNTBhRndpTEZ4dUlDQWdJRzF2Ym5Sb2N6b2dYQ0p0YjI1MGFGd2lMRnh1SUNBZ0lHUmhlVG9nWENKa1lYbGNJaXhjYmlBZ0lDQmtZWGx6T2lCY0ltUmhlVndpTEZ4dUlDQWdJR2h2ZFhJNklGd2lhRzkxY2x3aUxGeHVJQ0FnSUdodmRYSnpPaUJjSW1odmRYSmNJaXhjYmlBZ0lDQnRhVzUxZEdVNklGd2liV2x1ZFhSbFhDSXNYRzRnSUNBZ2JXbHVkWFJsY3pvZ1hDSnRhVzUxZEdWY0lpeGNiaUFnSUNCeGRXRnlkR1Z5T2lCY0luRjFZWEowWlhKY0lpeGNiaUFnSUNCeGRXRnlkR1Z5Y3pvZ1hDSnhkV0Z5ZEdWeVhDSXNYRzRnSUNBZ2MyVmpiMjVrT2lCY0luTmxZMjl1WkZ3aUxGeHVJQ0FnSUhObFkyOXVaSE02SUZ3aWMyVmpiMjVrWENJc1hHNGdJQ0FnYldsc2JHbHpaV052Ym1RNklGd2liV2xzYkdselpXTnZibVJjSWl4Y2JpQWdJQ0J0YVd4c2FYTmxZMjl1WkhNNklGd2liV2xzYkdselpXTnZibVJjSWl4Y2JpQWdJQ0IzWldWclpHRjVPaUJjSW5kbFpXdGtZWGxjSWl4Y2JpQWdJQ0IzWldWclpHRjVjem9nWENKM1pXVnJaR0Y1WENJc1hHNGdJQ0FnZDJWbGEyNTFiV0psY2pvZ1hDSjNaV1ZyVG5WdFltVnlYQ0lzWEc0Z0lDQWdkMlZsYTNOdWRXMWlaWEk2SUZ3aWQyVmxhMDUxYldKbGNsd2lMRnh1SUNBZ0lIZGxaV3R1ZFcxaVpYSnpPaUJjSW5kbFpXdE9kVzFpWlhKY0lpeGNiaUFnSUNCM1pXVnJlV1ZoY2pvZ1hDSjNaV1ZyV1dWaGNsd2lMRnh1SUNBZ0lIZGxaV3Q1WldGeWN6b2dYQ0ozWldWcldXVmhjbHdpTEZ4dUlDQWdJRzl5WkdsdVlXdzZJRndpYjNKa2FXNWhiRndpTEZ4dUlDQjlXM1Z1YVhRdWRHOU1iM2RsY2tOaGMyVW9LVjA3WEc1Y2JpQWdhV1lnS0NGdWIzSnRZV3hwZW1Wa0tTQjBhSEp2ZHlCdVpYY2dTVzUyWVd4cFpGVnVhWFJGY25KdmNpaDFibWwwS1R0Y2JseHVJQ0J5WlhSMWNtNGdibTl5YldGc2FYcGxaRHRjYm4xY2JseHVMeThnZEdocGN5QnBjeUJoSUdSMWJXSmxaQ0JrYjNkdUlIWmxjbk5wYjI0Z2IyWWdabkp2YlU5aWFtVmpkQ2dwSUhSb1lYUWdjblZ1Y3lCaFltOTFkQ0EyTUNVZ1ptRnpkR1Z5WEc0dkx5QmlkWFFnWkc5bGMyNG5kQ0JrYnlCaGJua2dkbUZzYVdSaGRHbHZiaXdnYldGclpYTWdZU0JpZFc1amFDQnZaaUJoYzNOMWJYQjBhVzl1Y3lCaFltOTFkQ0IzYUdGMElIVnVhWFJ6WEc0dkx5QmhjbVVnY0hKbGMyVnVkQ3dnWVc1a0lITnZJRzl1TGx4dVpuVnVZM1JwYjI0Z2NYVnBZMnRFVkNodlltb3NJRzl3ZEhNcElIdGNiaUFnWTI5dWMzUWdlbTl1WlNBOUlHNXZjbTFoYkdsNlpWcHZibVVvYjNCMGN5NTZiMjVsTENCVFpYUjBhVzVuY3k1a1pXWmhkV3gwV205dVpTa3NYRzRnSUNBZ2JHOWpJRDBnVEc5allXeGxMbVp5YjIxUFltcGxZM1FvYjNCMGN5a3NYRzRnSUNBZ2RITk9iM2NnUFNCVFpYUjBhVzVuY3k1dWIzY29LVHRjYmx4dUlDQnNaWFFnZEhNc0lHODdYRzVjYmlBZ0x5OGdZWE56ZFcxbElIZGxJR2hoZG1VZ2RHaGxJR2hwWjJobGNpMXZjbVJsY2lCMWJtbDBjMXh1SUNCcFppQW9JV2x6Vlc1a1pXWnBibVZrS0c5aWFpNTVaV0Z5S1NrZ2UxeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2RTQnZaaUJ2Y21SbGNtVmtWVzVwZEhNcElIdGNiaUFnSUNBZ0lHbG1JQ2hwYzFWdVpHVm1hVzVsWkNodlltcGJkVjBwS1NCN1hHNGdJQ0FnSUNBZ0lHOWlhbHQxWFNBOUlHUmxabUYxYkhSVmJtbDBWbUZzZFdWelczVmRPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdsdWRtRnNhV1FnUFNCb1lYTkpiblpoYkdsa1IzSmxaMjl5YVdGdVJHRjBZU2h2WW1vcElIeDhJR2hoYzBsdWRtRnNhV1JVYVcxbFJHRjBZU2h2WW1vcE8xeHVJQ0FnSUdsbUlDaHBiblpoYkdsa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1JHRjBaVlJwYldVdWFXNTJZV3hwWkNocGJuWmhiR2xrS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnZabVp6WlhSUWNtOTJhWE1nUFNCNmIyNWxMbTltWm5ObGRDaDBjMDV2ZHlrN1hHNGdJQ0FnVzNSekxDQnZYU0E5SUc5aWFsUnZWRk1vYjJKcUxDQnZabVp6WlhSUWNtOTJhWE1zSUhwdmJtVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFJ6SUQwZ2RITk9iM2M3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYm1WM0lFUmhkR1ZVYVcxbEtIc2dkSE1zSUhwdmJtVXNJR3h2WXl3Z2J5QjlLVHRjYm4xY2JseHVablZ1WTNScGIyNGdaR2xtWmxKbGJHRjBhWFpsS0hOMFlYSjBMQ0JsYm1Rc0lHOXdkSE1wSUh0Y2JpQWdZMjl1YzNRZ2NtOTFibVFnUFNCcGMxVnVaR1ZtYVc1bFpDaHZjSFJ6TG5KdmRXNWtLU0EvSUhSeWRXVWdPaUJ2Y0hSekxuSnZkVzVrTEZ4dUlDQWdJR1p2Y20xaGRDQTlJQ2hqTENCMWJtbDBLU0E5UGlCN1hHNGdJQ0FnSUNCaklEMGdjbTkxYm1SVWJ5aGpMQ0J5YjNWdVpDQjhmQ0J2Y0hSekxtTmhiR1Z1WkdGeWVTQS9JREFnT2lBeUxDQjBjblZsS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR1p2Y20xaGRIUmxjaUE5SUdWdVpDNXNiMk11WTJ4dmJtVW9iM0IwY3lrdWNtVnNSbTl5YldGMGRHVnlLRzl3ZEhNcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdadmNtMWhkSFJsY2k1bWIzSnRZWFFvWXl3Z2RXNXBkQ2s3WEc0Z0lDQWdmU3hjYmlBZ0lDQmthV1ptWlhJZ1BTQW9kVzVwZENrZ1BUNGdlMXh1SUNBZ0lDQWdhV1lnS0c5d2RITXVZMkZzWlc1a1lYSjVLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haVzVrTG1oaGMxTmhiV1VvYzNSaGNuUXNJSFZ1YVhRcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1Z1WkM1emRHRnlkRTltS0hWdWFYUXBMbVJwWm1Zb2MzUmhjblF1YzNSaGNuUlBaaWgxYm1sMEtTd2dkVzVwZENrdVoyVjBLSFZ1YVhRcE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2NtVjBkWEp1SURBN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWlc1a0xtUnBabVlvYzNSaGNuUXNJSFZ1YVhRcExtZGxkQ2gxYm1sMEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOU8xeHVYRzRnSUdsbUlDaHZjSFJ6TG5WdWFYUXBJSHRjYmlBZ0lDQnlaWFIxY200Z1ptOXliV0YwS0dScFptWmxjaWh2Y0hSekxuVnVhWFFwTENCdmNIUnpMblZ1YVhRcE8xeHVJQ0I5WEc1Y2JpQWdabTl5SUNoamIyNXpkQ0IxYm1sMElHOW1JRzl3ZEhNdWRXNXBkSE1wSUh0Y2JpQWdJQ0JqYjI1emRDQmpiM1Z1ZENBOUlHUnBabVpsY2loMWJtbDBLVHRjYmlBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vWTI5MWJuUXBJRDQ5SURFcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbWIzSnRZWFFvWTI5MWJuUXNJSFZ1YVhRcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnWm05eWJXRjBLSE4wWVhKMElENGdaVzVrSUQ4Z0xUQWdPaUF3TENCdmNIUnpMblZ1YVhSelcyOXdkSE11ZFc1cGRITXViR1Z1WjNSb0lDMGdNVjBwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJzWVhOMFQzQjBjeWhoY21kTWFYTjBLU0I3WEc0Z0lHeGxkQ0J2Y0hSeklEMGdlMzBzWEc0Z0lDQWdZWEpuY3p0Y2JpQWdhV1lnS0dGeVoweHBjM1F1YkdWdVozUm9JRDRnTUNBbUppQjBlWEJsYjJZZ1lYSm5UR2x6ZEZ0aGNtZE1hWE4wTG14bGJtZDBhQ0F0SURGZElEMDlQU0JjSW05aWFtVmpkRndpS1NCN1hHNGdJQ0FnYjNCMGN5QTlJR0Z5WjB4cGMzUmJZWEpuVEdsemRDNXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQmhjbWR6SUQwZ1FYSnlZWGt1Wm5KdmJTaGhjbWRNYVhOMEtTNXpiR2xqWlNnd0xDQmhjbWRNYVhOMExteGxibWQwYUNBdElERXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR0Z5WjNNZ1BTQkJjbkpoZVM1bWNtOXRLR0Z5WjB4cGMzUXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQmJiM0IwY3l3Z1lYSm5jMTA3WEc1OVhHNWNiaThxS2x4dUlDb2dRU0JFWVhSbFZHbHRaU0JwY3lCaGJpQnBiVzExZEdGaWJHVWdaR0YwWVNCemRISjFZM1IxY21VZ2NtVndjbVZ6Wlc1MGFXNW5JR0VnYzNCbFkybG1hV01nWkdGMFpTQmhibVFnZEdsdFpTQmhibVFnWVdOamIyMXdZVzU1YVc1bklHMWxkR2h2WkhNdUlFbDBJR052Ym5SaGFXNXpJR05zWVhOeklHRnVaQ0JwYm5OMFlXNWpaU0J0WlhSb2IyUnpJR1p2Y2lCamNtVmhkR2x1Wnl3Z2NHRnljMmx1Wnl3Z2FXNTBaWEp5YjJkaGRHbHVaeXdnZEhKaGJuTm1iM0p0YVc1bkxDQmhibVFnWm05eWJXRjBkR2x1WnlCMGFHVnRMbHh1SUNwY2JpQXFJRUVnUkdGMFpWUnBiV1VnWTI5dGNISnBjMlZ6SUc5bU9seHVJQ29nS2lCQklIUnBiV1Z6ZEdGdGNDNGdSV0ZqYUNCRVlYUmxWR2x0WlNCcGJuTjBZVzVqWlNCeVpXWmxjbk1nZEc4Z1lTQnpjR1ZqYVdacFl5QnRhV3hzYVhObFkyOXVaQ0J2WmlCMGFHVWdWVzVwZUNCbGNHOWphQzVjYmlBcUlDb2dRU0IwYVcxbElIcHZibVV1SUVWaFkyZ2dhVzV6ZEdGdVkyVWdhWE1nWTI5dWMybGtaWEpsWkNCcGJpQjBhR1VnWTI5dWRHVjRkQ0J2WmlCaElITndaV05wWm1saklIcHZibVVnS0dKNUlHUmxabUYxYkhRZ2RHaGxJR3h2WTJGc0lITjVjM1JsYlNkeklIcHZibVVwTGx4dUlDb2dLaUJEYjI1bWFXZDFjbUYwYVc5dUlIQnliM0JsY25ScFpYTWdkR2hoZENCbFptWmxZM1FnYUc5M0lHOTFkSEIxZENCemRISnBibWR6SUdGeVpTQm1iM0p0WVhSMFpXUXNJSE4xWTJnZ1lYTWdZR3h2WTJGc1pXQXNJR0J1ZFcxaVpYSnBibWRUZVhOMFpXMWdMQ0JoYm1RZ1lHOTFkSEIxZEVOaGJHVnVaR0Z5WUM1Y2JpQXFYRzRnS2lCSVpYSmxJR2x6SUdFZ1luSnBaV1lnYjNabGNuWnBaWGNnYjJZZ2RHaGxJRzF2YzNRZ1kyOXRiVzl1YkhrZ2RYTmxaQ0JtZFc1amRHbHZibUZzYVhSNUlHbDBJSEJ5YjNacFpHVnpPbHh1SUNwY2JpQXFJQ29nS2lwRGNtVmhkR2x2YmlvcU9pQlVieUJqY21WaGRHVWdZU0JFWVhSbFZHbHRaU0JtY205dElHbDBjeUJqYjIxd2IyNWxiblJ6TENCMWMyVWdiMjVsSUc5bUlHbDBjeUJtWVdOMGIzSjVJR05zWVhOeklHMWxkR2h2WkhNNklIdEFiR2x1YXlCRVlYUmxWR2x0WlNOc2IyTmhiSDBzSUh0QWJHbHVheUJFWVhSbFZHbHRaU04xZEdOOUxDQmhibVFnS0cxdmMzUWdabXhsZUdsaWJIa3BJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTm1jbTl0VDJKcVpXTjBmUzRnVkc4Z1kzSmxZWFJsSUc5dVpTQm1jbTl0SUdFZ2MzUmhibVJoY21RZ2MzUnlhVzVuSUdadmNtMWhkQ3dnZFhObElIdEFiR2x1YXlCRVlYUmxWR2x0WlNObWNtOXRTVk5QZlN3Z2UwQnNhVzVySUVSaGRHVlVhVzFsSTJaeWIyMUlWRlJRZlN3Z1lXNWtJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTm1jbTl0VWtaRE1qZ3lNbjB1SUZSdklHTnlaV0YwWlNCdmJtVWdabkp2YlNCaElHTjFjM1J2YlNCemRISnBibWNnWm05eWJXRjBMQ0IxYzJVZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTJaeWIyMUdiM0p0WVhSOUxpQlVieUJqY21WaGRHVWdiMjVsSUdaeWIyMGdZU0J1WVhScGRtVWdTbE1nWkdGMFpTd2dkWE5sSUh0QWJHbHVheUJFWVhSbFZHbHRaU05tY205dFNsTkVZWFJsZlM1Y2JpQXFJQ29nS2lwSGNtVm5iM0pwWVc0Z1kyRnNaVzVrWVhJZ1lXNWtJSFJwYldVcUtqb2dWRzhnWlhoaGJXbHVaU0IwYUdVZ1IzSmxaMjl5YVdGdUlIQnliM0JsY25ScFpYTWdiMllnWVNCRVlYUmxWR2x0WlNCcGJtUnBkbWxrZFdGc2JIa2dLR2t1WlNCaGN5QnZjSEJ2YzJWa0lIUnZJR052Ykd4bFkzUnBkbVZzZVNCMGFISnZkV2RvSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjA5aWFtVmpkSDBwTENCMWMyVWdkR2hsSUh0QWJHbHVheUJFWVhSbFZHbHRaU041WldGeWZTd2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkyMXZiblJvZlN4Y2JpQXFJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTmtZWGw5TENCN1FHeHBibXNnUkdGMFpWUnBiV1VqYUc5MWNuMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTnRhVzUxZEdWOUxDQjdRR3hwYm1zZ1JHRjBaVlJwYldVamMyVmpiMjVrZlN3Z2UwQnNhVzVySUVSaGRHVlVhVzFsSTIxcGJHeHBjMlZqYjI1a2ZTQmhZMk5sYzNOdmNuTXVYRzRnS2lBcUlDb3FWMlZsYXlCallXeGxibVJoY2lvcU9pQkdiM0lnU1ZOUElIZGxaV3NnWTJGc1pXNWtZWElnWVhSMGNtbGlkWFJsY3l3Z2MyVmxJSFJvWlNCN1FHeHBibXNnUkdGMFpWUnBiV1VqZDJWbGExbGxZWEo5TENCN1FHeHBibXNnUkdGMFpWUnBiV1VqZDJWbGEwNTFiV0psY24wc0lHRnVaQ0I3UUd4cGJtc2dSR0YwWlZScGJXVWpkMlZsYTJSaGVYMGdZV05qWlhOemIzSnpMbHh1SUNvZ0tpQXFLa052Ym1acFozVnlZWFJwYjI0cUtpQlRaV1VnZEdobElIdEFiR2x1YXlCRVlYUmxWR2x0WlNOc2IyTmhiR1Y5SUdGdVpDQjdRR3hwYm1zZ1JHRjBaVlJwYldVamJuVnRZbVZ5YVc1blUzbHpkR1Z0ZlNCaFkyTmxjM052Y25NdVhHNGdLaUFxSUNvcVZISmhibk5tYjNKdFlYUnBiMjRxS2pvZ1ZHOGdkSEpoYm5ObWIzSnRJSFJvWlNCRVlYUmxWR2x0WlNCcGJuUnZJRzkwYUdWeUlFUmhkR1ZVYVcxbGN5d2dkWE5sSUh0QWJHbHVheUJFWVhSbFZHbHRaU056WlhSOUxDQjdRR3hwYm1zZ1JHRjBaVlJwYldVamNtVmpiMjVtYVdkMWNtVjlMQ0I3UUd4cGJtc2dSR0YwWlZScGJXVWpjMlYwV205dVpYMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTnpaWFJNYjJOaGJHVjlMQ0I3UUd4cGJtc2dSR0YwWlZScGJXVXVjR3gxYzMwc0lIdEFiR2x1YXlCRVlYUmxWR2x0WlNOdGFXNTFjMzBzSUh0QWJHbHVheUJFWVhSbFZHbHRaU05sYm1SUFpuMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTnpkR0Z5ZEU5bWZTd2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkzUnZWVlJEZlN3Z1lXNWtJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHh2WTJGc2ZTNWNiaUFxSUNvZ0tpcFBkWFJ3ZFhRcUtqb2dWRzhnWTI5dWRtVnlkQ0IwYUdVZ1JHRjBaVlJwYldVZ2RHOGdiM1JvWlhJZ2NtVndjbVZ6Wlc1MFlYUnBiMjV6TENCMWMyVWdkR2hsSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjFKbGJHRjBhWFpsZlN3Z2UwQnNhVzVySUVSaGRHVlVhVzFsSTNSdlVtVnNZWFJwZG1WRFlXeGxibVJoY24wc0lIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIwcFRUMDU5TENCN1FHeHBibXNnUkdGMFpWUnBiV1VqZEc5SlUwOTlMQ0I3UUd4cGJtc2dSR0YwWlZScGJXVWpkRzlJVkZSUWZTd2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkzUnZUMkpxWldOMGZTd2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkzUnZVa1pETWpneU1uMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMU4wY21sdVozMHNJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHh2WTJGc1pWTjBjbWx1WjMwc0lIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIwWnZjbTFoZEgwc0lIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIwMXBiR3hwYzMwZ1lXNWtJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHBUUkdGMFpYMHVYRzRnS2x4dUlDb2dWR2hsY21VbmN5QndiR1Z1ZEhrZ2IzUm9aWEp6SUdSdlkzVnRaVzUwWldRZ1ltVnNiM2N1SUVsdUlHRmtaR2wwYVc5dUxDQm1iM0lnYlc5eVpTQnBibVp2Y20xaGRHbHZiaUJ2YmlCemRXSjBiR1Z5SUhSdmNHbGpjeUJzYVd0bElHbHVkR1Z5Ym1GMGFXOXVZV3hwZW1GMGFXOXVMQ0IwYVcxbElIcHZibVZ6TENCaGJIUmxjbTVoZEdsMlpTQmpZV3hsYm1SaGNuTXNJSFpoYkdsa2FYUjVMQ0JoYm1RZ2MyOGdiMjRzSUhObFpTQjBhR1VnWlhoMFpYSnVZV3dnWkc5amRXMWxiblJoZEdsdmJpNWNiaUFxTDF4dVpYaHdiM0owSUdSbFptRjFiSFFnWTJ4aGMzTWdSR0YwWlZScGJXVWdlMXh1SUNBdktpcGNiaUFnSUNvZ1FHRmpZMlZ6Y3lCd2NtbDJZWFJsWEc0Z0lDQXFMMXh1SUNCamIyNXpkSEoxWTNSdmNpaGpiMjVtYVdjcElIdGNiaUFnSUNCamIyNXpkQ0I2YjI1bElEMGdZMjl1Wm1sbkxucHZibVVnZkh3Z1UyVjBkR2x1WjNNdVpHVm1ZWFZzZEZwdmJtVTdYRzVjYmlBZ0lDQnNaWFFnYVc1MllXeHBaQ0E5WEc0Z0lDQWdJQ0JqYjI1bWFXY3VhVzUyWVd4cFpDQjhmRnh1SUNBZ0lDQWdLRTUxYldKbGNpNXBjMDVoVGloamIyNW1hV2N1ZEhNcElEOGdibVYzSUVsdWRtRnNhV1FvWENKcGJuWmhiR2xrSUdsdWNIVjBYQ0lwSURvZ2JuVnNiQ2tnZkh4Y2JpQWdJQ0FnSUNnaGVtOXVaUzVwYzFaaGJHbGtJRDhnZFc1emRYQndiM0owWldSYWIyNWxLSHB2Ym1VcElEb2diblZzYkNrN1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FHRmpZMlZ6Y3lCd2NtbDJZWFJsWEc0Z0lDQWdJQ292WEc0Z0lDQWdkR2hwY3k1MGN5QTlJR2x6Vlc1a1pXWnBibVZrS0dOdmJtWnBaeTUwY3lrZ1B5QlRaWFIwYVc1bmN5NXViM2NvS1NBNklHTnZibVpwWnk1MGN6dGNibHh1SUNBZ0lHeGxkQ0JqSUQwZ2JuVnNiQ3hjYmlBZ0lDQWdJRzhnUFNCdWRXeHNPMXh1SUNBZ0lHbG1JQ2doYVc1MllXeHBaQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkVzVqYUdGdVoyVmtJRDBnWTI5dVptbG5MbTlzWkNBbUppQmpiMjVtYVdjdWIyeGtMblJ6SUQwOVBTQjBhR2x6TG5SeklDWW1JR052Ym1acFp5NXZiR1F1ZW05dVpTNWxjWFZoYkhNb2VtOXVaU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaDFibU5vWVc1blpXUXBJSHRjYmlBZ0lDQWdJQ0FnVzJNc0lHOWRJRDBnVzJOdmJtWnBaeTV2YkdRdVl5d2dZMjl1Wm1sbkxtOXNaQzV2WFR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzkwSUQwZ2VtOXVaUzV2Wm1aelpYUW9kR2hwY3k1MGN5azdYRzRnSUNBZ0lDQWdJR01nUFNCMGMxUnZUMkpxS0hSb2FYTXVkSE1zSUc5MEtUdGNiaUFnSUNBZ0lDQWdhVzUyWVd4cFpDQTlJRTUxYldKbGNpNXBjMDVoVGloakxubGxZWElwSUQ4Z2JtVjNJRWx1ZG1Gc2FXUW9YQ0pwYm5aaGJHbGtJR2x1Y0hWMFhDSXBJRG9nYm5Wc2JEdGNiaUFnSUNBZ0lDQWdZeUE5SUdsdWRtRnNhV1FnUHlCdWRXeHNJRG9nWXp0Y2JpQWdJQ0FnSUNBZ2J5QTlJR2x1ZG1Gc2FXUWdQeUJ1ZFd4c0lEb2diM1E3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUUdGalkyVnpjeUJ3Y21sMllYUmxYRzRnSUNBZ0lDb3ZYRzRnSUNBZ2RHaHBjeTVmZW05dVpTQTlJSHB2Ym1VN1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FHRmpZMlZ6Y3lCd2NtbDJZWFJsWEc0Z0lDQWdJQ292WEc0Z0lDQWdkR2hwY3k1c2IyTWdQU0JqYjI1bWFXY3ViRzlqSUh4OElFeHZZMkZzWlM1amNtVmhkR1VvS1R0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQVlXTmpaWE56SUhCeWFYWmhkR1ZjYmlBZ0lDQWdLaTljYmlBZ0lDQjBhR2x6TG1sdWRtRnNhV1FnUFNCcGJuWmhiR2xrTzF4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUVCaFkyTmxjM01nY0hKcGRtRjBaVnh1SUNBZ0lDQXFMMXh1SUNBZ0lIUm9hWE11ZDJWbGEwUmhkR0VnUFNCdWRXeHNPMXh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRUJoWTJObGMzTWdjSEpwZG1GMFpWeHVJQ0FnSUNBcUwxeHVJQ0FnSUhSb2FYTXVZeUE5SUdNN1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1FHRmpZMlZ6Y3lCd2NtbDJZWFJsWEc0Z0lDQWdJQ292WEc0Z0lDQWdkR2hwY3k1dklEMGdienRjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJBWVdOalpYTnpJSEJ5YVhaaGRHVmNiaUFnSUNBZ0tpOWNiaUFnSUNCMGFHbHpMbWx6VEhWNGIyNUVZWFJsVkdsdFpTQTlJSFJ5ZFdVN1hHNGdJSDFjYmx4dUlDQXZMeUJEVDA1VFZGSlZRMVJjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdSR0YwWlZScGJXVWdabTl5SUhSb1pTQmpkWEp5Wlc1MElHbHVjM1JoYm5Rc0lHbHVJSFJvWlNCemVYTjBaVzBuY3lCMGFXMWxJSHB2Ym1VdVhHNGdJQ0FxWEc0Z0lDQXFJRlZ6WlNCVFpYUjBhVzVuY3lCMGJ5QnZkbVZ5Y21sa1pTQjBhR1Z6WlNCa1pXWmhkV3gwSUhaaGJIVmxjeUJwWmlCdVpXVmtaV1F1WEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbTV2ZHlncExuUnZTVk5QS0NrZ0x5OStQaUJ1YjNjZ2FXNGdkR2hsSUVsVFR5Qm1iM0p0WVhSY2JpQWdJQ29nUUhKbGRIVnliaUI3UkdGMFpWUnBiV1Y5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nYm05M0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dSR0YwWlZScGJXVW9lMzBwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlNCaElHeHZZMkZzSUVSaGRHVlVhVzFsWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJlV1ZoY2wwZ0xTQlVhR1VnWTJGc1pXNWtZWElnZVdWaGNpNGdTV1lnYjIxcGRIUmxaQ0FvWVhNZ2FXNHNJR05oYkd3Z1lHeHZZMkZzS0NsZ0lIZHBkR2dnYm04Z1lYSm5kVzFsYm5SektTd2dkR2hsSUdOMWNuSmxiblFnZEdsdFpTQjNhV3hzSUdKbElIVnpaV1JjYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHRiMjUwYUQweFhTQXRJRlJvWlNCdGIyNTBhQ3dnTVMxcGJtUmxlR1ZrWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJaR0Y1UFRGZElDMGdWR2hsSUdSaGVTQnZaaUIwYUdVZ2JXOXVkR2dzSURFdGFXNWtaWGhsWkZ4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdXMmh2ZFhJOU1GMGdMU0JVYUdVZ2FHOTFjaUJ2WmlCMGFHVWdaR0Y1TENCcGJpQXlOQzFvYjNWeUlIUnBiV1ZjYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHRhVzUxZEdVOU1GMGdMU0JVYUdVZ2JXbHVkWFJsSUc5bUlIUm9aU0JvYjNWeUxDQnRaV0Z1YVc1bklHRWdiblZ0WW1WeUlHSmxkSGRsWlc0Z01DQmhibVFnTlRsY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnR6WldOdmJtUTlNRjBnTFNCVWFHVWdjMlZqYjI1a0lHOW1JSFJvWlNCdGFXNTFkR1VzSUcxbFlXNXBibWNnWVNCdWRXMWlaWElnWW1WMGQyVmxiaUF3SUdGdVpDQTFPVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1cyMXBiR3hwYzJWamIyNWtQVEJkSUMwZ1ZHaGxJRzFwYkd4cGMyVmpiMjVrSUc5bUlIUm9aU0J6WldOdmJtUXNJRzFsWVc1cGJtY2dZU0J1ZFcxaVpYSWdZbVYwZDJWbGJpQXdJR0Z1WkNBNU9UbGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvS1NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2TDM0K0lHNXZkMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNoN0lIcHZibVU2SUZ3aVFXMWxjbWxqWVM5T1pYZGZXVzl5YTF3aUlIMHBJQ0FnSUNBZ0x5OStQaUJ1YjNjc0lHbHVJRlZUSUdWaGMzUWdZMjloYzNRZ2RHbHRaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTNLU0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dmZqNGdNakF4Tnkwd01TMHdNVlF3TURvd01Eb3dNRnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTNMQ0F6S1NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dmZqNGdNakF4Tnkwd015MHdNVlF3TURvd01Eb3dNRnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTNMQ0F6TENBeE1pd2dleUJzYjJOaGJHVTZJRndpWm5KY0lpQjlLU0FnSUNBZ0x5OStQaUF5TURFM0xUQXpMVEV5VkRBd09qQXdPakF3TENCM2FYUm9JR0VnUm5KbGJtTm9JR3h2WTJGc1pWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1c2IyTmhiQ2d5TURFM0xDQXpMQ0F4TWl3Z05Ta2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2Zmo0Z01qQXhOeTB3TXkweE1sUXdOVG93TURvd01GeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1c2IyTmhiQ2d5TURFM0xDQXpMQ0F4TWl3Z05Td2dleUI2YjI1bE9pQmNJblYwWTF3aUlIMHBJQ0FnTHk5K1BpQXlNREUzTFRBekxURXlWREExT2pBd09qQXdMQ0JwYmlCVlZFTmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dNeXdnTVRJc0lEVXNJRFExS1NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2TDM0K0lESXdNVGN0TURNdE1USlVNRFU2TkRVNk1EQmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dNeXdnTVRJc0lEVXNJRFExTENBeE1Da2dJQ0FnSUNBZ0lDQWdJQ0F2TDM0K0lESXdNVGN0TURNdE1USlVNRFU2TkRVNk1UQmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dNeXdnTVRJc0lEVXNJRFExTENBeE1Dd2dOelkxS1NBZ0lDQWdJQ0F2TDM0K0lESXdNVGN0TURNdE1USlVNRFU2TkRVNk1UQXVOelkxWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMFJoZEdWVWFXMWxmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR3h2WTJGc0tDa2dlMXh1SUNBZ0lHTnZibk4wSUZ0dmNIUnpMQ0JoY21kelhTQTlJR3hoYzNSUGNIUnpLR0Z5WjNWdFpXNTBjeWtzWEc0Z0lDQWdJQ0JiZVdWaGNpd2diVzl1ZEdnc0lHUmhlU3dnYUc5MWNpd2diV2x1ZFhSbExDQnpaV052Ym1Rc0lHMXBiR3hwYzJWamIyNWtYU0E5SUdGeVozTTdYRzRnSUNBZ2NtVjBkWEp1SUhGMWFXTnJSRlFvZXlCNVpXRnlMQ0J0YjI1MGFDd2daR0Y1TENCb2IzVnlMQ0J0YVc1MWRHVXNJSE5sWTI5dVpDd2diV2xzYkdselpXTnZibVFnZlN3Z2IzQjBjeWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ1JHRjBaVlJwYldVZ2FXNGdWVlJEWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJlV1ZoY2wwZ0xTQlVhR1VnWTJGc1pXNWtZWElnZVdWaGNpNGdTV1lnYjIxcGRIUmxaQ0FvWVhNZ2FXNHNJR05oYkd3Z1lIVjBZeWdwWUNCM2FYUm9JRzV2SUdGeVozVnRaVzUwY3lrc0lIUm9aU0JqZFhKeVpXNTBJSFJwYldVZ2QybHNiQ0JpWlNCMWMyVmtYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCYmJXOXVkR2c5TVYwZ0xTQlVhR1VnYlc5dWRHZ3NJREV0YVc1a1pYaGxaRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1cyUmhlVDB4WFNBdElGUm9aU0JrWVhrZ2IyWWdkR2hsSUcxdmJuUm9YRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCYmFHOTFjajB3WFNBdElGUm9aU0JvYjNWeUlHOW1JSFJvWlNCa1lYa3NJR2x1SURJMExXaHZkWElnZEdsdFpWeHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnVzIxcGJuVjBaVDB3WFNBdElGUm9aU0J0YVc1MWRHVWdiMllnZEdobElHaHZkWElzSUcxbFlXNXBibWNnWVNCdWRXMWlaWElnWW1WMGQyVmxiaUF3SUdGdVpDQTFPVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1czTmxZMjl1WkQwd1hTQXRJRlJvWlNCelpXTnZibVFnYjJZZ2RHaGxJRzFwYm5WMFpTd2diV1ZoYm1sdVp5QmhJRzUxYldKbGNpQmlaWFIzWldWdUlEQWdZVzVrSURVNVhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiYldsc2JHbHpaV052Ym1ROU1GMGdMU0JVYUdVZ2JXbHNiR2x6WldOdmJtUWdiMllnZEdobElITmxZMjl1WkN3Z2JXVmhibWx1WnlCaElHNTFiV0psY2lCaVpYUjNaV1Z1SURBZ1lXNWtJRGs1T1Z4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwYVc5dWN5QXRJR052Ym1acFozVnlZWFJwYjI0Z2IzQjBhVzl1Y3lCbWIzSWdkR2hsSUVSaGRHVlVhVzFsWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwYVc5dWN5NXNiMk5oYkdWZElDMGdZU0JzYjJOaGJHVWdkRzhnYzJWMElHOXVJSFJvWlNCeVpYTjFiSFJwYm1jZ1JHRjBaVlJwYldVZ2FXNXpkR0Z1WTJWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR2Y0hScGIyNXpMbTkxZEhCMWRFTmhiR1Z1WkdGeVhTQXRJSFJvWlNCdmRYUndkWFFnWTJGc1pXNWtZWElnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dmNIUnBiMjV6TG01MWJXSmxjbWx1WjFONWMzUmxiVjBnTFNCMGFHVWdiblZ0WW1WeWFXNW5JSE41YzNSbGJTQjBieUJ6WlhRZ2IyNGdkR2hsSUhKbGMzVnNkR2x1WnlCRVlYUmxWR2x0WlNCcGJuTjBZVzVqWlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzUxZEdNb0tTQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMMzQrSUc1dmQxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9NakF4TnlrZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2TDM0K0lESXdNVGN0TURFdE1ERlVNREE2TURBNk1EQmFYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExuVjBZeWd5TURFM0xDQXpLU0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dmZqNGdNakF4Tnkwd015MHdNVlF3TURvd01Eb3dNRnBjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVkWFJqS0RJd01UY3NJRE1zSURFeUtTQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OStQaUF5TURFM0xUQXpMVEV5VkRBd09qQXdPakF3V2x4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzUxZEdNb01qQXhOeXdnTXl3Z01USXNJRFVwSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMMzQrSURJd01UY3RNRE10TVRKVU1EVTZNREE2TURCYVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG5WMFl5Z3lNREUzTENBekxDQXhNaXdnTlN3Z05EVXBJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2Zmo0Z01qQXhOeTB3TXkweE1sUXdOVG8wTlRvd01GcGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWRYUmpLREl3TVRjc0lETXNJREV5TENBMUxDQTBOU3dnZXlCc2IyTmhiR1U2SUZ3aVpuSmNJaUI5S1NBZ0lDQWdJQ0FnSUNBdkwzNCtJREl3TVRjdE1ETXRNVEpVTURVNk5EVTZNREJhSUhkcGRHZ2dZU0JHY21WdVkyZ2diRzlqWVd4bFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG5WMFl5Z3lNREUzTENBekxDQXhNaXdnTlN3Z05EVXNJREV3S1NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2Zmo0Z01qQXhOeTB3TXkweE1sUXdOVG8wTlRveE1GcGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWRYUmpLREl3TVRjc0lETXNJREV5TENBMUxDQTBOU3dnTVRBc0lEYzJOU3dnZXlCc2IyTmhiR1U2SUZ3aVpuSmNJaUI5S1NBdkwzNCtJREl3TVRjdE1ETXRNVEpVTURVNk5EVTZNVEF1TnpZMVdpQjNhWFJvSUdFZ1JuSmxibU5vSUd4dlkyRnNaVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVZWFJsVkdsdFpYMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QjFkR01vS1NCN1hHNGdJQ0FnWTI5dWMzUWdXMjl3ZEhNc0lHRnlaM05kSUQwZ2JHRnpkRTl3ZEhNb1lYSm5kVzFsYm5SektTeGNiaUFnSUNBZ0lGdDVaV0Z5TENCdGIyNTBhQ3dnWkdGNUxDQm9iM1Z5TENCdGFXNTFkR1VzSUhObFkyOXVaQ3dnYldsc2JHbHpaV052Ym1SZElEMGdZWEpuY3p0Y2JseHVJQ0FnSUc5d2RITXVlbTl1WlNBOUlFWnBlR1ZrVDJabWMyVjBXbTl1WlM1MWRHTkpibk4wWVc1alpUdGNiaUFnSUNCeVpYUjFjbTRnY1hWcFkydEVWQ2g3SUhsbFlYSXNJRzF2Ym5Sb0xDQmtZWGtzSUdodmRYSXNJRzFwYm5WMFpTd2djMlZqYjI1a0xDQnRhV3hzYVhObFkyOXVaQ0I5TENCdmNIUnpLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGNtVmhkR1VnWVNCRVlYUmxWR2x0WlNCbWNtOXRJR0VnU21GMllWTmpjbWx3ZENCRVlYUmxJRzlpYW1WamRDNGdWWE5sY3lCMGFHVWdaR1ZtWVhWc2RDQjZiMjVsTGx4dUlDQWdLaUJBY0dGeVlXMGdlMFJoZEdWOUlHUmhkR1VnTFNCaElFcGhkbUZUWTNKcGNIUWdSR0YwWlNCdlltcGxZM1JjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkR2x2Ym5NZ0xTQmpiMjVtYVdkMWNtRjBhVzl1SUc5d2RHbHZibk1nWm05eUlIUm9aU0JFWVhSbFZHbHRaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjN4YWIyNWxmU0JiYjNCMGFXOXVjeTU2YjI1bFBTZHNiMk5oYkNkZElDMGdkR2hsSUhwdmJtVWdkRzhnY0d4aFkyVWdkR2hsSUVSaGRHVlVhVzFsSUdsdWRHOWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1puSnZiVXBUUkdGMFpTaGtZWFJsTENCdmNIUnBiMjV6SUQwZ2UzMHBJSHRjYmlBZ0lDQmpiMjV6ZENCMGN5QTlJR2x6UkdGMFpTaGtZWFJsS1NBL0lHUmhkR1V1ZG1Gc2RXVlBaaWdwSURvZ1RtRk9PMXh1SUNBZ0lHbG1JQ2hPZFcxaVpYSXVhWE5PWVU0b2RITXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSR0YwWlZScGJXVXVhVzUyWVd4cFpDaGNJbWx1ZG1Gc2FXUWdhVzV3ZFhSY0lpazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnZW05dVpWUnZWWE5sSUQwZ2JtOXliV0ZzYVhwbFdtOXVaU2h2Y0hScGIyNXpMbnB2Ym1Vc0lGTmxkSFJwYm1kekxtUmxabUYxYkhSYWIyNWxLVHRjYmlBZ0lDQnBaaUFvSVhwdmJtVlViMVZ6WlM1cGMxWmhiR2xrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUkdGMFpWUnBiV1V1YVc1MllXeHBaQ2gxYm5OMWNIQnZjblJsWkZwdmJtVW9lbTl1WlZSdlZYTmxLU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJFWVhSbFZHbHRaU2g3WEc0Z0lDQWdJQ0IwY3pvZ2RITXNYRzRnSUNBZ0lDQjZiMjVsT2lCNmIyNWxWRzlWYzJVc1hHNGdJQ0FnSUNCc2IyTTZJRXh2WTJGc1pTNW1jbTl0VDJKcVpXTjBLRzl3ZEdsdmJuTXBMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaU0JoSUVSaGRHVlVhVzFsSUdaeWIyMGdZU0J1ZFcxaVpYSWdiMllnYldsc2JHbHpaV052Ym1SeklITnBibU5sSUhSb1pTQmxjRzlqYUNBb2JXVmhibWx1WnlCemFXNWpaU0F4SUVwaGJuVmhjbmtnTVRrM01DQXdNRG93TURvd01DQlZWRU1wTGlCVmMyVnpJSFJvWlNCa1pXWmhkV3gwSUhwdmJtVXVYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdGFXeHNhWE5sWTI5dVpITWdMU0JoSUc1MWJXSmxjaUJ2WmlCdGFXeHNhWE5sWTI5dVpITWdjMmx1WTJVZ01UazNNQ0JWVkVOY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEdsdmJuTWdMU0JqYjI1bWFXZDFjbUYwYVc5dUlHOXdkR2x2Ym5NZ1ptOXlJSFJvWlNCRVlYUmxWR2x0WlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozeGFiMjVsZlNCYmIzQjBhVzl1Y3k1NmIyNWxQU2RzYjJOaGJDZGRJQzBnZEdobElIcHZibVVnZEc4Z2NHeGhZMlVnZEdobElFUmhkR1ZVYVcxbElHbHVkRzljYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJwYjI1ekxteHZZMkZzWlYwZ0xTQmhJR3h2WTJGc1pTQjBieUJ6WlhRZ2IyNGdkR2hsSUhKbGMzVnNkR2x1WnlCRVlYUmxWR2x0WlNCcGJuTjBZVzVqWlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdiM0IwYVc5dWN5NXZkWFJ3ZFhSRFlXeGxibVJoY2lBdElIUm9aU0J2ZFhSd2RYUWdZMkZzWlc1a1lYSWdkRzhnYzJWMElHOXVJSFJvWlNCeVpYTjFiSFJwYm1jZ1JHRjBaVlJwYldVZ2FXNXpkR0Z1WTJWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzl3ZEdsdmJuTXViblZ0WW1WeWFXNW5VM2x6ZEdWdElDMGdkR2hsSUc1MWJXSmxjbWx1WnlCemVYTjBaVzBnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1puSnZiVTFwYkd4cGN5aHRhV3hzYVhObFkyOXVaSE1zSUc5d2RHbHZibk1nUFNCN2ZTa2dlMXh1SUNBZ0lHbG1JQ2doYVhOT2RXMWlaWElvYldsc2JHbHpaV052Ym1SektTa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZG1Gc2FXUkJjbWQxYldWdWRFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCZ1puSnZiVTFwYkd4cGN5QnlaWEYxYVhKbGN5QmhJRzUxYldWeWFXTmhiQ0JwYm5CMWRDd2dZblYwSUhKbFkyVnBkbVZrSUdFZ0pIdDBlWEJsYjJZZ2JXbHNiR2x6WldOdmJtUnpmU0IzYVhSb0lIWmhiSFZsSUNSN2JXbHNiR2x6WldOdmJtUnpmV0JjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h0YVd4c2FYTmxZMjl1WkhNZ1BDQXRUVUZZWDBSQlZFVWdmSHdnYldsc2JHbHpaV052Ym1SeklENGdUVUZZWDBSQlZFVXBJSHRjYmlBZ0lDQWdJQzh2SUhSb2FYTWdhWE51SjNRZ2NHVnlabVZqZENCaVpXTmhkWE5sSUdKbFkyRjFjMlVnZDJVZ1kyRnVJSE4wYVd4c0lHVnVaQ0IxY0NCdmRYUWdiMllnY21GdVoyVWdZbVZqWVhWelpTQnZaaUJoWkdScGRHbHZibUZzSUhOb2FXWjBhVzVuTENCaWRYUWdhWFFuY3lCaElITjBZWEowWEc0Z0lDQWdJQ0J5WlhSMWNtNGdSR0YwWlZScGJXVXVhVzUyWVd4cFpDaGNJbFJwYldWemRHRnRjQ0J2ZFhRZ2IyWWdjbUZ1WjJWY0lpazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1JHRjBaVlJwYldVb2UxeHVJQ0FnSUNBZ0lDQjBjem9nYldsc2JHbHpaV052Ym1SekxGeHVJQ0FnSUNBZ0lDQjZiMjVsT2lCdWIzSnRZV3hwZW1WYWIyNWxLRzl3ZEdsdmJuTXVlbTl1WlN3Z1UyVjBkR2x1WjNNdVpHVm1ZWFZzZEZwdmJtVXBMRnh1SUNBZ0lDQWdJQ0JzYjJNNklFeHZZMkZzWlM1bWNtOXRUMkpxWldOMEtHOXdkR2x2Ym5NcExGeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhJRVJoZEdWVWFXMWxJR1p5YjIwZ1lTQnVkVzFpWlhJZ2IyWWdjMlZqYjI1a2N5QnphVzVqWlNCMGFHVWdaWEJ2WTJnZ0tHMWxZVzVwYm1jZ2MybHVZMlVnTVNCS1lXNTFZWEo1SURFNU56QWdNREE2TURBNk1EQWdWVlJES1M0Z1ZYTmxjeUIwYUdVZ1pHVm1ZWFZzZENCNmIyNWxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ2MyVmpiMjVrY3lBdElHRWdiblZ0WW1WeUlHOW1JSE5sWTI5dVpITWdjMmx1WTJVZ01UazNNQ0JWVkVOY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEdsdmJuTWdMU0JqYjI1bWFXZDFjbUYwYVc5dUlHOXdkR2x2Ym5NZ1ptOXlJSFJvWlNCRVlYUmxWR2x0WlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozeGFiMjVsZlNCYmIzQjBhVzl1Y3k1NmIyNWxQU2RzYjJOaGJDZGRJQzBnZEdobElIcHZibVVnZEc4Z2NHeGhZMlVnZEdobElFUmhkR1ZVYVcxbElHbHVkRzljYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJwYjI1ekxteHZZMkZzWlYwZ0xTQmhJR3h2WTJGc1pTQjBieUJ6WlhRZ2IyNGdkR2hsSUhKbGMzVnNkR2x1WnlCRVlYUmxWR2x0WlNCcGJuTjBZVzVqWlZ4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdiM0IwYVc5dWN5NXZkWFJ3ZFhSRFlXeGxibVJoY2lBdElIUm9aU0J2ZFhSd2RYUWdZMkZzWlc1a1lYSWdkRzhnYzJWMElHOXVJSFJvWlNCeVpYTjFiSFJwYm1jZ1JHRjBaVlJwYldVZ2FXNXpkR0Z1WTJWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzl3ZEdsdmJuTXViblZ0WW1WeWFXNW5VM2x6ZEdWdElDMGdkR2hsSUc1MWJXSmxjbWx1WnlCemVYTjBaVzBnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1puSnZiVk5sWTI5dVpITW9jMlZqYjI1a2N5d2diM0IwYVc5dWN5QTlJSHQ5S1NCN1hHNGdJQ0FnYVdZZ0tDRnBjMDUxYldKbGNpaHpaV052Ym1SektTa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZG1Gc2FXUkJjbWQxYldWdWRFVnljbTl5S0Z3aVpuSnZiVk5sWTI5dVpITWdjbVZ4ZFdseVpYTWdZU0J1ZFcxbGNtbGpZV3dnYVc1d2RYUmNJaWs3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dSR0YwWlZScGJXVW9lMXh1SUNBZ0lDQWdJQ0IwY3pvZ2MyVmpiMjVrY3lBcUlERXdNREFzWEc0Z0lDQWdJQ0FnSUhwdmJtVTZJRzV2Y20xaGJHbDZaVnB2Ym1Vb2IzQjBhVzl1Y3k1NmIyNWxMQ0JUWlhSMGFXNW5jeTVrWldaaGRXeDBXbTl1WlNrc1hHNGdJQ0FnSUNBZ0lHeHZZem9nVEc5allXeGxMbVp5YjIxUFltcGxZM1FvYjNCMGFXOXVjeWtzWEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdFZ1JHRjBaVlJwYldVZ1puSnZiU0JoSUVwaGRtRlRZM0pwY0hRZ2IySnFaV04wSUhkcGRHZ2dhMlY1Y3lCc2FXdGxJQ2Q1WldGeUp5QmhibVFnSjJodmRYSW5JSGRwZEdnZ2NtVmhjMjl1WVdKc1pTQmtaV1poZFd4MGN5NWNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5aWFpQXRJSFJvWlNCdlltcGxZM1FnZEc4Z1kzSmxZWFJsSUhSb1pTQkVZWFJsVkdsdFpTQm1jbTl0WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnZZbW91ZVdWaGNpQXRJR0VnZVdWaGNpd2djM1ZqYUNCaGN5QXhPVGczWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnZZbW91Ylc5dWRHZ2dMU0JoSUcxdmJuUm9MQ0F4TFRFeVhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0J2WW1vdVpHRjVJQzBnWVNCa1lYa2diMllnZEdobElHMXZiblJvTENBeExUTXhMQ0JrWlhCbGJtUnBibWNnYjI0Z2RHaGxJRzF2Ym5Sb1hHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0J2WW1vdWIzSmthVzVoYkNBdElHUmhlU0J2WmlCMGFHVWdlV1ZoY2l3Z01TMHpOalVnYjNJZ016WTJYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdlltb3VkMlZsYTFsbFlYSWdMU0JoYmlCSlUwOGdkMlZsYXlCNVpXRnlYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCdlltb3VkMlZsYTA1MWJXSmxjaUF0SUdGdUlFbFRUeUIzWldWcklHNTFiV0psY2l3Z1ltVjBkMlZsYmlBeElHRnVaQ0ExTWlCdmNpQTFNeXdnWkdWd1pXNWthVzVuSUc5dUlIUm9aU0I1WldGeVhHNGdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0J2WW1vdWQyVmxhMlJoZVNBdElHRnVJRWxUVHlCM1pXVnJaR0Y1TENBeExUY3NJSGRvWlhKbElERWdhWE1nVFc5dVpHRjVJR0Z1WkNBM0lHbHpJRk4xYm1SaGVWeHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnYjJKcUxtaHZkWElnTFNCb2IzVnlJRzltSUhSb1pTQmtZWGtzSURBdE1qTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUc5aWFpNXRhVzUxZEdVZ0xTQnRhVzUxZEdVZ2IyWWdkR2hsSUdodmRYSXNJREF0TlRsY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRzlpYWk1elpXTnZibVFnTFNCelpXTnZibVFnYjJZZ2RHaGxJRzFwYm5WMFpTd2dNQzAxT1Z4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdiMkpxTG0xcGJHeHBjMlZqYjI1a0lDMGdiV2xzYkdselpXTnZibVFnYjJZZ2RHaGxJSE5sWTI5dVpDd2dNQzA1T1RsY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEhNZ0xTQnZjSFJwYjI1eklHWnZjaUJqY21WaGRHbHVaeUIwYUdseklFUmhkR1ZVYVcxbFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mRnB2Ym1WOUlGdHZjSFJ6TG5wdmJtVTlKMnh2WTJGc0oxMGdMU0JwYm5SbGNuQnlaWFFnZEdobElHNTFiV0psY25NZ2FXNGdkR2hsSUdOdmJuUmxlSFFnYjJZZ1lTQndZWEowYVdOMWJHRnlJSHB2Ym1VdUlFTmhiaUIwWVd0bElHRnVlU0IyWVd4MVpTQjBZV3RsYmlCaGN5QjBhR1VnWm1seWMzUWdZWEpuZFcxbGJuUWdkRzhnYzJWMFdtOXVaU2dwWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1c2IyTmhiR1U5SjNONWMzUmxiU2R6SUd4dlkyRnNaU2RkSUMwZ1lTQnNiMk5oYkdVZ2RHOGdjMlYwSUc5dUlIUm9aU0J5WlhOMWJIUnBibWNnUkdGMFpWUnBiV1VnYVc1emRHRnVZMlZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHOXdkSE11YjNWMGNIVjBRMkZzWlc1a1lYSWdMU0IwYUdVZ2IzVjBjSFYwSUdOaGJHVnVaR0Z5SUhSdklITmxkQ0J2YmlCMGFHVWdjbVZ6ZFd4MGFXNW5JRVJoZEdWVWFXMWxJR2x1YzNSaGJtTmxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCdmNIUnpMbTUxYldKbGNtbHVaMU41YzNSbGJTQXRJSFJvWlNCdWRXMWlaWEpwYm1jZ2MzbHpkR1Z0SUhSdklITmxkQ0J2YmlCMGFHVWdjbVZ6ZFd4MGFXNW5JRVJoZEdWVWFXMWxJR2x1YzNSaGJtTmxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtWnliMjFQWW1wbFkzUW9leUI1WldGeU9pQXhPVGd5TENCdGIyNTBhRG9nTlN3Z1pHRjVPaUF5TlgwcExuUnZTVk5QUkdGMFpTZ3BJQzh2UFQ0Z0p6RTVPREl0TURVdE1qVW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtWnliMjFQWW1wbFkzUW9leUI1WldGeU9pQXhPVGd5SUgwcExuUnZTVk5QUkdGMFpTZ3BJQzh2UFQ0Z0p6RTVPREl0TURFdE1ERW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtWnliMjFQWW1wbFkzUW9leUJvYjNWeU9pQXhNQ3dnYldsdWRYUmxPaUF5Tml3Z2MyVmpiMjVrT2lBMklIMHBJQzh2Zmo0Z2RHOWtZWGtnWVhRZ01UQTZNalk2TURaY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Wm5KdmJVOWlhbVZqZENoN0lHaHZkWEk2SURFd0xDQnRhVzUxZEdVNklESTJMQ0J6WldOdmJtUTZJRFlnZlN3Z2V5QjZiMjVsT2lBbmRYUmpKeUI5S1N4Y2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Wm5KdmJVOWlhbVZqZENoN0lHaHZkWEk2SURFd0xDQnRhVzUxZEdVNklESTJMQ0J6WldOdmJtUTZJRFlnZlN3Z2V5QjZiMjVsT2lBbmJHOWpZV3duSUgwcFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG1aeWIyMVBZbXBsWTNRb2V5Qm9iM1Z5T2lBeE1Dd2diV2x1ZFhSbE9pQXlOaXdnYzJWamIyNWtPaUEySUgwc0lIc2dlbTl1WlRvZ0owRnRaWEpwWTJFdlRtVjNYMWx2Y21zbklIMHBYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtWnliMjFQWW1wbFkzUW9leUIzWldWcldXVmhjam9nTWpBeE5pd2dkMlZsYTA1MWJXSmxjam9nTWl3Z2QyVmxhMlJoZVRvZ015QjlLUzUwYjBsVFQwUmhkR1VvS1NBdkx6MCtJQ2N5TURFMkxUQXhMVEV6SjF4dUlDQWdLaUJBY21WMGRYSnVJSHRFWVhSbFZHbHRaWDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJtY205dFQySnFaV04wS0c5aWFpd2diM0IwY3lBOUlIdDlLU0I3WEc0Z0lDQWdiMkpxSUQwZ2IySnFJSHg4SUh0OU8xeHVJQ0FnSUdOdmJuTjBJSHB2Ym1WVWIxVnpaU0E5SUc1dmNtMWhiR2w2WlZwdmJtVW9iM0IwY3k1NmIyNWxMQ0JUWlhSMGFXNW5jeTVrWldaaGRXeDBXbTl1WlNrN1hHNGdJQ0FnYVdZZ0tDRjZiMjVsVkc5VmMyVXVhWE5XWVd4cFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFUmhkR1ZVYVcxbExtbHVkbUZzYVdRb2RXNXpkWEJ3YjNKMFpXUmFiMjVsS0hwdmJtVlViMVZ6WlNrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSFJ6VG05M0lEMGdVMlYwZEdsdVozTXVibTkzS0Nrc1hHNGdJQ0FnSUNCdlptWnpaWFJRY205MmFYTWdQU0FoYVhOVmJtUmxabWx1WldRb2IzQjBjeTV6Y0dWamFXWnBZMDltWm5ObGRDbGNiaUFnSUNBZ0lDQWdQeUJ2Y0hSekxuTndaV05wWm1salQyWm1jMlYwWEc0Z0lDQWdJQ0FnSURvZ2VtOXVaVlJ2VlhObExtOW1abk5sZENoMGMwNXZkeWtzWEc0Z0lDQWdJQ0J1YjNKdFlXeHBlbVZrSUQwZ2JtOXliV0ZzYVhwbFQySnFaV04wS0c5aWFpd2dibTl5YldGc2FYcGxWVzVwZENrc1hHNGdJQ0FnSUNCamIyNTBZV2x1YzA5eVpHbHVZV3dnUFNBaGFYTlZibVJsWm1sdVpXUW9ibTl5YldGc2FYcGxaQzV2Y21ScGJtRnNLU3hjYmlBZ0lDQWdJR052Ym5SaGFXNXpSM0psWjI5eVdXVmhjaUE5SUNGcGMxVnVaR1ZtYVc1bFpDaHViM0p0WVd4cGVtVmtMbmxsWVhJcExGeHVJQ0FnSUNBZ1kyOXVkR0ZwYm5OSGNtVm5iM0pOUkNBOUlDRnBjMVZ1WkdWbWFXNWxaQ2h1YjNKdFlXeHBlbVZrTG0xdmJuUm9LU0I4ZkNBaGFYTlZibVJsWm1sdVpXUW9ibTl5YldGc2FYcGxaQzVrWVhrcExGeHVJQ0FnSUNBZ1kyOXVkR0ZwYm5OSGNtVm5iM0lnUFNCamIyNTBZV2x1YzBkeVpXZHZjbGxsWVhJZ2ZId2dZMjl1ZEdGcGJuTkhjbVZuYjNKTlJDeGNiaUFnSUNBZ0lHUmxabWx1YVhSbFYyVmxhMFJsWmlBOUlHNXZjbTFoYkdsNlpXUXVkMlZsYTFsbFlYSWdmSHdnYm05eWJXRnNhWHBsWkM1M1pXVnJUblZ0WW1WeUxGeHVJQ0FnSUNBZ2JHOWpJRDBnVEc5allXeGxMbVp5YjIxUFltcGxZM1FvYjNCMGN5azdYRzVjYmlBZ0lDQXZMeUJqWVhObGN6cGNiaUFnSUNBdkx5QnFkWE4wSUdFZ2QyVmxhMlJoZVNBdFBpQjBhR2x6SUhkbFpXc25jeUJwYm5OMFlXNWpaU0J2WmlCMGFHRjBJSGRsWld0a1lYa3NJRzV2SUhkdmNuSnBaWE5jYmlBZ0lDQXZMeUFvWjNKbFoyOXlhV0Z1SUdSaGRHRWdiM0lnYjNKa2FXNWhiQ2tnS3lBb2QyVmxhMWxsWVhJZ2IzSWdkMlZsYTA1MWJXSmxjaWtnTFQ0Z1pYSnliM0pjYmlBZ0lDQXZMeUFvWjNKbFoyOXlhV0Z1SUcxdmJuUm9JRzl5SUdSaGVTa2dLeUJ2Y21ScGJtRnNJQzArSUdWeWNtOXlYRzRnSUNBZ0x5OGdiM1JvWlhKM2FYTmxJR3AxYzNRZ2RYTmxJSGRsWld0eklHOXlJRzl5WkdsdVlXeHpJRzl5SUdkeVpXZHZjbWxoYml3Z1pHVndaVzVrYVc1bklHOXVJSGRvWVhRbmN5QnpjR1ZqYVdacFpXUmNibHh1SUNBZ0lHbG1JQ2dvWTI5dWRHRnBibk5IY21WbmIzSWdmSHdnWTI5dWRHRnBibk5QY21ScGJtRnNLU0FtSmlCa1pXWnBibWwwWlZkbFpXdEVaV1lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRGIyNW1iR2xqZEdsdVoxTndaV05wWm1sallYUnBiMjVGY25KdmNpaGNiaUFnSUNBZ0lDQWdYQ0pEWVc0bmRDQnRhWGdnZDJWbGExbGxZWEl2ZDJWbGEwNTFiV0psY2lCMWJtbDBjeUIzYVhSb0lIbGxZWEl2Ylc5dWRHZ3ZaR0Y1SUc5eUlHOXlaR2x1WVd4elhDSmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR052Ym5SaGFXNXpSM0psWjI5eVRVUWdKaVlnWTI5dWRHRnBibk5QY21ScGJtRnNLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUTI5dVpteHBZM1JwYm1kVGNHVmphV1pwWTJGMGFXOXVSWEp5YjNJb1hDSkRZVzRuZENCdGFYZ2diM0prYVc1aGJDQmtZWFJsY3lCM2FYUm9JRzF2Ym5Sb0wyUmhlVndpS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQjFjMlZYWldWclJHRjBZU0E5SUdSbFptbHVhWFJsVjJWbGEwUmxaaUI4ZkNBb2JtOXliV0ZzYVhwbFpDNTNaV1ZyWkdGNUlDWW1JQ0ZqYjI1MFlXbHVjMGR5WldkdmNpazdYRzVjYmlBZ0lDQXZMeUJqYjI1bWFXZDFjbVVnYjNWeWMyVnNkbVZ6SUhSdklHUmxZV3dnZDJsMGFDQm5jbVZuYjNKcFlXNGdaR0YwWlhNZ2IzSWdkMlZsYXlCemRIVm1abHh1SUNBZ0lHeGxkQ0IxYm1sMGN5eGNiaUFnSUNBZ0lHUmxabUYxYkhSV1lXeDFaWE1zWEc0Z0lDQWdJQ0J2WW1wT2IzY2dQU0IwYzFSdlQySnFLSFJ6VG05M0xDQnZabVp6WlhSUWNtOTJhWE1wTzF4dUlDQWdJR2xtSUNoMWMyVlhaV1ZyUkdGMFlTa2dlMXh1SUNBZ0lDQWdkVzVwZEhNZ1BTQnZjbVJsY21Wa1YyVmxhMVZ1YVhSek8xeHVJQ0FnSUNBZ1pHVm1ZWFZzZEZaaGJIVmxjeUE5SUdSbFptRjFiSFJYWldWclZXNXBkRlpoYkhWbGN6dGNiaUFnSUNBZ0lHOWlhazV2ZHlBOUlHZHlaV2R2Y21saGJsUnZWMlZsYXlodlltcE9iM2NwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWTI5dWRHRnBibk5QY21ScGJtRnNLU0I3WEc0Z0lDQWdJQ0IxYm1sMGN5QTlJRzl5WkdWeVpXUlBjbVJwYm1Gc1ZXNXBkSE03WEc0Z0lDQWdJQ0JrWldaaGRXeDBWbUZzZFdWeklEMGdaR1ZtWVhWc2RFOXlaR2x1WVd4VmJtbDBWbUZzZFdWek8xeHVJQ0FnSUNBZ2IySnFUbTkzSUQwZ1ozSmxaMjl5YVdGdVZHOVBjbVJwYm1Gc0tHOWlhazV2ZHlrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSFZ1YVhSeklEMGdiM0prWlhKbFpGVnVhWFJ6TzF4dUlDQWdJQ0FnWkdWbVlYVnNkRlpoYkhWbGN5QTlJR1JsWm1GMWJIUlZibWwwVm1Gc2RXVnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJSE5sZENCa1pXWmhkV3gwSUhaaGJIVmxjeUJtYjNJZ2JXbHpjMmx1WnlCemRIVm1abHh1SUNBZ0lHeGxkQ0JtYjNWdVpFWnBjbk4wSUQwZ1ptRnNjMlU3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0IxSUc5bUlIVnVhWFJ6S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0IySUQwZ2JtOXliV0ZzYVhwbFpGdDFYVHRjYmlBZ0lDQWdJR2xtSUNnaGFYTlZibVJsWm1sdVpXUW9kaWtwSUh0Y2JpQWdJQ0FnSUNBZ1ptOTFibVJHYVhKemRDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHWnZkVzVrUm1seWMzUXBJSHRjYmlBZ0lDQWdJQ0FnYm05eWJXRnNhWHBsWkZ0MVhTQTlJR1JsWm1GMWJIUldZV3gxWlhOYmRWMDdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnViM0p0WVd4cGVtVmtXM1ZkSUQwZ2IySnFUbTkzVzNWZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklHMWhhMlVnYzNWeVpTQjBhR1VnZG1Gc2RXVnpJSGRsSUdoaGRtVWdZWEpsSUdsdUlISmhibWRsWEc0Z0lDQWdZMjl1YzNRZ2FHbG5hR1Z5VDNKa1pYSkpiblpoYkdsa0lEMGdkWE5sVjJWbGEwUmhkR0ZjYmlBZ0lDQWdJQ0FnUHlCb1lYTkpiblpoYkdsa1YyVmxhMFJoZEdFb2JtOXliV0ZzYVhwbFpDbGNiaUFnSUNBZ0lDQWdPaUJqYjI1MFlXbHVjMDl5WkdsdVlXeGNiaUFnSUNBZ0lDQWdQeUJvWVhOSmJuWmhiR2xrVDNKa2FXNWhiRVJoZEdFb2JtOXliV0ZzYVhwbFpDbGNiaUFnSUNBZ0lDQWdPaUJvWVhOSmJuWmhiR2xrUjNKbFoyOXlhV0Z1UkdGMFlTaHViM0p0WVd4cGVtVmtLU3hjYmlBZ0lDQWdJR2x1ZG1Gc2FXUWdQU0JvYVdkb1pYSlBjbVJsY2tsdWRtRnNhV1FnZkh3Z2FHRnpTVzUyWVd4cFpGUnBiV1ZFWVhSaEtHNXZjbTFoYkdsNlpXUXBPMXh1WEc0Z0lDQWdhV1lnS0dsdWRtRnNhV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJFWVhSbFZHbHRaUzVwYm5aaGJHbGtLR2x1ZG1Gc2FXUXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR052YlhCMWRHVWdkR2hsSUdGamRIVmhiQ0IwYVcxbFhHNGdJQ0FnWTI5dWMzUWdaM0psWjI5eWFXRnVJRDBnZFhObFYyVmxhMFJoZEdGY2JpQWdJQ0FnSUNBZ1B5QjNaV1ZyVkc5SGNtVm5iM0pwWVc0b2JtOXliV0ZzYVhwbFpDbGNiaUFnSUNBZ0lDQWdPaUJqYjI1MFlXbHVjMDl5WkdsdVlXeGNiaUFnSUNBZ0lDQWdQeUJ2Y21ScGJtRnNWRzlIY21WbmIzSnBZVzRvYm05eWJXRnNhWHBsWkNsY2JpQWdJQ0FnSUNBZ09pQnViM0p0WVd4cGVtVmtMRnh1SUNBZ0lDQWdXM1J6Um1sdVlXd3NJRzltWm5ObGRFWnBibUZzWFNBOUlHOWlhbFJ2VkZNb1ozSmxaMjl5YVdGdUxDQnZabVp6WlhSUWNtOTJhWE1zSUhwdmJtVlViMVZ6WlNrc1hHNGdJQ0FnSUNCcGJuTjBJRDBnYm1WM0lFUmhkR1ZVYVcxbEtIdGNiaUFnSUNBZ0lDQWdkSE02SUhSelJtbHVZV3dzWEc0Z0lDQWdJQ0FnSUhwdmJtVTZJSHB2Ym1WVWIxVnpaU3hjYmlBZ0lDQWdJQ0FnYnpvZ2IyWm1jMlYwUm1sdVlXd3NYRzRnSUNBZ0lDQWdJR3h2WXl4Y2JpQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0x5OGdaM0psWjI5eWFXRnVJR1JoZEdFZ0t5QjNaV1ZyWkdGNUlITmxjblpsY3lCdmJteDVJSFJ2SUhaaGJHbGtZWFJsWEc0Z0lDQWdhV1lnS0c1dmNtMWhiR2w2WldRdWQyVmxhMlJoZVNBbUppQmpiMjUwWVdsdWMwZHlaV2R2Y2lBbUppQnZZbW91ZDJWbGEyUmhlU0FoUFQwZ2FXNXpkQzUzWldWclpHRjVLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdSR0YwWlZScGJXVXVhVzUyWVd4cFpDaGNiaUFnSUNBZ0lDQWdYQ0p0YVhOdFlYUmphR1ZrSUhkbFpXdGtZWGxjSWl4Y2JpQWdJQ0FnSUNBZ1lIbHZkU0JqWVc0bmRDQnpjR1ZqYVdaNUlHSnZkR2dnWVNCM1pXVnJaR0Y1SUc5bUlDUjdibTl5YldGc2FYcGxaQzUzWldWclpHRjVmU0JoYm1RZ1lTQmtZWFJsSUc5bUlDUjdhVzV6ZEM1MGIwbFRUeWdwZldCY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR2x1YzNRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbElHRWdSR0YwWlZScGJXVWdabkp2YlNCaGJpQkpVMDhnT0RZd01TQnpkSEpwYm1kY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSFJsZUhRZ0xTQjBhR1VnU1ZOUElITjBjbWx1WjF4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwY3lBdElHOXdkR2x2Ym5NZ2RHOGdZV1ptWldOMElIUm9aU0JqY21WaGRHbHZibHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjN4YWIyNWxmU0JiYjNCMGN5NTZiMjVsUFNkc2IyTmhiQ2RkSUMwZ2RYTmxJSFJvYVhNZ2VtOXVaU0JwWmlCdWJ5QnZabVp6WlhRZ2FYTWdjM0JsWTJsbWFXVmtJR2x1SUhSb1pTQnBibkIxZENCemRISnBibWNnYVhSelpXeG1MaUJYYVd4c0lHRnNjMjhnWTI5dWRtVnlkQ0IwYUdVZ2RHbHRaU0IwYnlCMGFHbHpJSHB2Ym1WY2JpQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0JiYjNCMGN5NXpaWFJhYjI1bFBXWmhiSE5sWFNBdElHOTJaWEp5YVdSbElIUm9aU0I2YjI1bElIZHBkR2dnWVNCbWFYaGxaQzF2Wm1aelpYUWdlbTl1WlNCemNHVmphV1pwWldRZ2FXNGdkR2hsSUhOMGNtbHVaeUJwZEhObGJHWXNJR2xtSUdsMElITndaV05wWm1sbGN5QnZibVZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHZjSFJ6TG14dlkyRnNaVDBuYzNsemRHVnRKM01nYkc5allXeGxKMTBnTFNCaElHeHZZMkZzWlNCMGJ5QnpaWFFnYjI0Z2RHaGxJSEpsYzNWc2RHbHVaeUJFWVhSbFZHbHRaU0JwYm5OMFlXNWpaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11YjNWMGNIVjBRMkZzWlc1a1lYSmRJQzBnZEdobElHOTFkSEIxZENCallXeGxibVJoY2lCMGJ5QnpaWFFnYjI0Z2RHaGxJSEpsYzNWc2RHbHVaeUJFWVhSbFZHbHRaU0JwYm5OMFlXNWpaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11Ym5WdFltVnlhVzVuVTNsemRHVnRYU0F0SUhSb1pTQnVkVzFpWlhKcGJtY2djM2x6ZEdWdElIUnZJSE5sZENCdmJpQjBhR1VnY21WemRXeDBhVzVuSUVSaGRHVlVhVzFsSUdsdWMzUmhibU5sWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxSlUwOG9Kekl3TVRZdE1EVXRNalZVTURrNk1EZzZNelF1TVRJekp5bGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdVpuSnZiVWxUVHlnbk1qQXhOaTB3TlMweU5WUXdPVG93T0Rvek5DNHhNak1yTURZNk1EQW5LVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNW1jbTl0U1ZOUEtDY3lNREUyTFRBMUxUSTFWREE1T2pBNE9qTTBMakV5TXlzd05qb3dNQ2NzSUh0elpYUmFiMjVsT2lCMGNuVmxmU2xjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVabkp2YlVsVFR5Z25NakF4Tmkwd05TMHlOVlF3T1Rvd09Eb3pOQzR4TWpNbkxDQjdlbTl1WlRvZ0ozVjBZeWQ5S1Z4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVtY205dFNWTlBLQ2N5TURFMkxWY3dOUzAwSnlsY2JpQWdJQ29nUUhKbGRIVnliaUI3UkdGMFpWUnBiV1Y5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nWm5KdmJVbFRUeWgwWlhoMExDQnZjSFJ6SUQwZ2UzMHBJSHRjYmlBZ0lDQmpiMjV6ZENCYmRtRnNjeXdnY0dGeWMyVmtXbTl1WlYwZ1BTQndZWEp6WlVsVFQwUmhkR1VvZEdWNGRDazdYRzRnSUNBZ2NtVjBkWEp1SUhCaGNuTmxSR0YwWVZSdlJHRjBaVlJwYldVb2RtRnNjeXdnY0dGeWMyVmtXbTl1WlN3Z2IzQjBjeXdnWENKSlUwOGdPRFl3TVZ3aUxDQjBaWGgwS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRjbVZoZEdVZ1lTQkVZWFJsVkdsdFpTQm1jbTl0SUdGdUlGSkdReUF5T0RJeUlITjBjbWx1WjF4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkR1Y0ZENBdElIUm9aU0JTUmtNZ01qZ3lNaUJ6ZEhKcGJtZGNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RITWdMU0J2Y0hScGIyNXpJSFJ2SUdGbVptVmpkQ0IwYUdVZ1kzSmxZWFJwYjI1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDhXbTl1WlgwZ1cyOXdkSE11ZW05dVpUMG5iRzlqWVd3blhTQXRJR052Ym5abGNuUWdkR2hsSUhScGJXVWdkRzhnZEdocGN5QjZiMjVsTGlCVGFXNWpaU0IwYUdVZ2IyWm1jMlYwSUdseklHRnNkMkY1Y3lCemNHVmphV1pwWldRZ2FXNGdkR2hsSUhOMGNtbHVaeUJwZEhObGJHWXNJSFJvYVhNZ2FHRnpJRzV2SUdWbVptVmpkQ0J2YmlCMGFHVWdhVzUwWlhKd2NtVjBZWFJwYjI0Z2IyWWdjM1J5YVc1bkxDQnRaWEpsYkhrZ2RHaGxJSHB2Ym1VZ2RHaGxJSEpsYzNWc2RHbHVaeUJFWVhSbFZHbHRaU0JwY3lCbGVIQnlaWE56WldRZ2FXNHVYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YzJWMFdtOXVaVDFtWVd4elpWMGdMU0J2ZG1WeWNtbGtaU0IwYUdVZ2VtOXVaU0IzYVhSb0lHRWdabWw0WldRdGIyWm1jMlYwSUhwdmJtVWdjM0JsWTJsbWFXVmtJR2x1SUhSb1pTQnpkSEpwYm1jZ2FYUnpaV3htTENCcFppQnBkQ0J6Y0dWamFXWnBaWE1nYjI1bFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXNiMk5oYkdVOUozTjVjM1JsYlNkeklHeHZZMkZzWlNkZElDMGdZU0JzYjJOaGJHVWdkRzhnYzJWMElHOXVJSFJvWlNCeVpYTjFiSFJwYm1jZ1JHRjBaVlJwYldVZ2FXNXpkR0Z1WTJWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzl3ZEhNdWIzVjBjSFYwUTJGc1pXNWtZWElnTFNCMGFHVWdiM1YwY0hWMElHTmhiR1Z1WkdGeUlIUnZJSE5sZENCdmJpQjBhR1VnY21WemRXeDBhVzVuSUVSaGRHVlVhVzFsSUdsdWMzUmhibU5sWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnZjSFJ6TG01MWJXSmxjbWx1WjFONWMzUmxiU0F0SUhSb1pTQnVkVzFpWlhKcGJtY2djM2x6ZEdWdElIUnZJSE5sZENCdmJpQjBhR1VnY21WemRXeDBhVzVuSUVSaGRHVlVhVzFsSUdsdWMzUmhibU5sWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxU1JrTXlPREl5S0NjeU5TQk9iM1lnTWpBeE5pQXhNem95TXpveE1pQkhUVlFuS1Z4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVtY205dFVrWkRNamd5TWlnblJuSnBMQ0F5TlNCT2IzWWdNakF4TmlBeE16b3lNem94TWlBck1EWXdNQ2NwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxU1JrTXlPREl5S0NjeU5TQk9iM1lnTWpBeE5pQXhNem95TXlCYUp5bGNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1puSnZiVkpHUXpJNE1qSW9kR1Y0ZEN3Z2IzQjBjeUE5SUh0OUtTQjdYRzRnSUNBZ1kyOXVjM1FnVzNaaGJITXNJSEJoY25ObFpGcHZibVZkSUQwZ2NHRnljMlZTUmtNeU9ESXlSR0YwWlNoMFpYaDBLVHRjYmlBZ0lDQnlaWFIxY200Z2NHRnljMlZFWVhSaFZHOUVZWFJsVkdsdFpTaDJZV3h6TENCd1lYSnpaV1JhYjI1bExDQnZjSFJ6TENCY0lsSkdReUF5T0RJeVhDSXNJSFJsZUhRcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpTQmhJRVJoZEdWVWFXMWxJR1p5YjIwZ1lXNGdTRlJVVUNCb1pXRmtaWElnWkdGMFpWeHVJQ0FnS2lCQWMyVmxJR2gwZEhCek9pOHZkM2QzTG5jekxtOXlaeTlRY205MGIyTnZiSE12Y21aak1qWXhOaTl5Wm1NeU5qRTJMWE5sWXpNdWFIUnRiQ056WldNekxqTXVNVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RHVjRkQ0F0SUhSb1pTQklWRlJRSUdobFlXUmxjaUJrWVhSbFhHNGdJQ0FxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2Y0hSeklDMGdiM0IwYVc5dWN5QjBieUJoWm1abFkzUWdkR2hsSUdOeVpXRjBhVzl1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZGcHZibVY5SUZ0dmNIUnpMbnB2Ym1VOUoyeHZZMkZzSjEwZ0xTQmpiMjUyWlhKMElIUm9aU0IwYVcxbElIUnZJSFJvYVhNZ2VtOXVaUzRnVTJsdVkyVWdTRlJVVUNCa1lYUmxjeUJoY21VZ1lXeDNZWGx6SUdsdUlGVlVReXdnZEdocGN5Qm9ZWE1nYm04Z1pXWm1aV04wSUc5dUlIUm9aU0JwYm5SbGNuQnlaWFJoZEdsdmJpQnZaaUJ6ZEhKcGJtY3NJRzFsY21Wc2VTQjBhR1VnZW05dVpTQjBhR1VnY21WemRXeDBhVzVuSUVSaGRHVlVhVzFsSUdseklHVjRjSEpsYzNObFpDQnBiaTVjYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJiM0IwY3k1elpYUmFiMjVsUFdaaGJITmxYU0F0SUc5MlpYSnlhV1JsSUhSb1pTQjZiMjVsSUhkcGRHZ2dkR2hsSUdacGVHVmtMVzltWm5ObGRDQjZiMjVsSUhOd1pXTnBabWxsWkNCcGJpQjBhR1VnYzNSeWFXNW5MaUJHYjNJZ1NGUlVVQ0JrWVhSbGN5d2dkR2hwY3lCcGN5QmhiSGRoZVhNZ1ZWUkRMQ0J6YnlCMGFHbHpJRzl3ZEdsdmJpQnBjeUJsY1hWcGRtRnNaVzUwSUhSdklITmxkSFJwYm1jZ2RHaGxJR0I2YjI1bFlDQnZjSFJwYjI0Z2RHOGdKM1YwWXljc0lHSjFkQ0IwYUdseklHOXdkR2x2YmlCcGN5QnBibU5zZFdSbFpDQm1iM0lnWTI5dWMybHpkR1Z1WTNrZ2QybDBhQ0J6YVcxcGJHRnlJRzFsZEdodlpITXVYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYmIzQjBjeTVzYjJOaGJHVTlKM041YzNSbGJTZHpJR3h2WTJGc1pTZGRJQzBnWVNCc2IyTmhiR1VnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RITXViM1YwY0hWMFEyRnNaVzVrWVhJZ0xTQjBhR1VnYjNWMGNIVjBJR05oYkdWdVpHRnlJSFJ2SUhObGRDQnZiaUIwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbElHbHVjM1JoYm1ObFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J2Y0hSekxtNTFiV0psY21sdVoxTjVjM1JsYlNBdElIUm9aU0J1ZFcxaVpYSnBibWNnYzNsemRHVnRJSFJ2SUhObGRDQnZiaUIwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbElHbHVjM1JoYm1ObFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG1aeWIyMUlWRlJRS0NkVGRXNHNJREEySUU1dmRpQXhPVGswSURBNE9qUTVPak0zSUVkTlZDY3BYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtWnliMjFJVkZSUUtDZFRkVzVrWVhrc0lEQTJMVTV2ZGkwNU5DQXdPRG8wT1Rvek55QkhUVlFuS1Z4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzVtY205dFNGUlVVQ2duVTNWdUlFNXZkaUFnTmlBd09EbzBPVG96TnlBeE9UazBKeWxjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlZScGJXVjlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabkp2YlVoVVZGQW9kR1Y0ZEN3Z2IzQjBjeUE5SUh0OUtTQjdYRzRnSUNBZ1kyOXVjM1FnVzNaaGJITXNJSEJoY25ObFpGcHZibVZkSUQwZ2NHRnljMlZJVkZSUVJHRjBaU2gwWlhoMEtUdGNiaUFnSUNCeVpYUjFjbTRnY0dGeWMyVkVZWFJoVkc5RVlYUmxWR2x0WlNoMllXeHpMQ0J3WVhKelpXUmFiMjVsTENCdmNIUnpMQ0JjSWtoVVZGQmNJaXdnYjNCMGN5azdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxJR0VnUkdGMFpWUnBiV1VnWm5KdmJTQmhiaUJwYm5CMWRDQnpkSEpwYm1jZ1lXNWtJR1p2Y20xaGRDQnpkSEpwYm1jdVhHNGdJQ0FxSUVSbFptRjFiSFJ6SUhSdklHVnVMVlZUSUdsbUlHNXZJR3h2WTJGc1pTQm9ZWE1nWW1WbGJpQnpjR1ZqYVdacFpXUXNJSEpsWjJGeVpHeGxjM01nYjJZZ2RHaGxJSE41YzNSbGJTZHpJR3h2WTJGc1pTNGdSbTl5SUdFZ2RHRmliR1VnYjJZZ2RHOXJaVzV6SUdGdVpDQjBhR1ZwY2lCcGJuUmxjbkJ5WlhSaGRHbHZibk1zSUhObFpTQmJhR1Z5WlYwb2FIUjBjSE02THk5dGIyMWxiblF1WjJsMGFIVmlMbWx2TDJ4MWVHOXVMeU12Y0dGeWMybHVaejlwWkQxMFlXSnNaUzF2WmkxMGIydGxibk1wTGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkR1Y0ZENBdElIUm9aU0J6ZEhKcGJtY2dkRzhnY0dGeWMyVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUdadGRDQXRJSFJvWlNCbWIzSnRZWFFnZEdobElITjBjbWx1WnlCcGN5QmxlSEJsWTNSbFpDQjBieUJpWlNCcGJpQW9jMlZsSUhSb1pTQnNhVzVySUdKbGJHOTNJR1p2Y2lCMGFHVWdabTl5YldGMGN5bGNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RITWdMU0J2Y0hScGIyNXpJSFJ2SUdGbVptVmpkQ0IwYUdVZ1kzSmxZWFJwYjI1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDhXbTl1WlgwZ1cyOXdkSE11ZW05dVpUMG5iRzlqWVd3blhTQXRJSFZ6WlNCMGFHbHpJSHB2Ym1VZ2FXWWdibThnYjJabWMyVjBJR2x6SUhOd1pXTnBabWxsWkNCcGJpQjBhR1VnYVc1d2RYUWdjM1J5YVc1bklHbDBjMlZzWmk0Z1YybHNiQ0JoYkhOdklHTnZiblpsY25RZ2RHaGxJRVJoZEdWVWFXMWxJSFJ2SUhSb2FYTWdlbTl1WlZ4dUlDQWdLaUJBY0dGeVlXMGdlMkp2YjJ4bFlXNTlJRnR2Y0hSekxuTmxkRnB2Ym1VOVptRnNjMlZkSUMwZ2IzWmxjbkpwWkdVZ2RHaGxJSHB2Ym1VZ2QybDBhQ0JoSUhwdmJtVWdjM0JsWTJsbWFXVmtJR2x1SUhSb1pTQnpkSEpwYm1jZ2FYUnpaV3htTENCcFppQnBkQ0J6Y0dWamFXWnBaWE1nYjI1bFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NXNiMk5oYkdVOUoyVnVMVlZUSjEwZ0xTQmhJR3h2WTJGc1pTQnpkSEpwYm1jZ2RHOGdkWE5sSUhkb1pXNGdjR0Z5YzJsdVp5NGdWMmxzYkNCaGJITnZJSE5sZENCMGFHVWdSR0YwWlZScGJXVWdkRzhnZEdocGN5QnNiMk5oYkdWY2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzl3ZEhNdWJuVnRZbVZ5YVc1blUzbHpkR1Z0SUMwZ2RHaGxJRzUxYldKbGNtbHVaeUJ6ZVhOMFpXMGdkRzhnZFhObElIZG9aVzRnY0dGeWMybHVaeTRnVjJsc2JDQmhiSE52SUhObGRDQjBhR1VnY21WemRXeDBhVzVuSUVSaGRHVlVhVzFsSUhSdklIUm9hWE1nYm5WdFltVnlhVzVuSUhONWMzUmxiVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2IzQjBjeTV2ZFhSd2RYUkRZV3hsYm1SaGNpQXRJSFJvWlNCdmRYUndkWFFnWTJGc1pXNWtZWElnZEc4Z2MyVjBJRzl1SUhSb1pTQnlaWE4xYkhScGJtY2dSR0YwWlZScGJXVWdhVzV6ZEdGdVkyVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHRjBaVlJwYldWOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1puSnZiVVp2Y20xaGRDaDBaWGgwTENCbWJYUXNJRzl3ZEhNZ1BTQjdmU2tnZTF4dUlDQWdJR2xtSUNocGMxVnVaR1ZtYVc1bFpDaDBaWGgwS1NCOGZDQnBjMVZ1WkdWbWFXNWxaQ2htYlhRcEtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUyWVd4cFpFRnlaM1Z0Wlc1MFJYSnliM0lvWENKbWNtOXRSbTl5YldGMElISmxjWFZwY21WeklHRnVJR2x1Y0hWMElITjBjbWx1WnlCaGJtUWdZU0JtYjNKdFlYUmNJaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2V5QnNiMk5oYkdVZ1BTQnVkV3hzTENCdWRXMWlaWEpwYm1kVGVYTjBaVzBnUFNCdWRXeHNJSDBnUFNCdmNIUnpMRnh1SUNBZ0lDQWdiRzlqWVd4bFZHOVZjMlVnUFNCTWIyTmhiR1V1Wm5KdmJVOXdkSE1vZTF4dUlDQWdJQ0FnSUNCc2IyTmhiR1VzWEc0Z0lDQWdJQ0FnSUc1MWJXSmxjbWx1WjFONWMzUmxiU3hjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRlJ2UlU0NklIUnlkV1VzWEc0Z0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUZ0MllXeHpMQ0J3WVhKelpXUmFiMjVsTENCemNHVmphV1pwWTA5bVpuTmxkQ3dnYVc1MllXeHBaRjBnUFNCd1lYSnpaVVp5YjIxVWIydGxibk1vYkc5allXeGxWRzlWYzJVc0lIUmxlSFFzSUdadGRDazdYRzRnSUNBZ2FXWWdLR2x1ZG1Gc2FXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQkVZWFJsVkdsdFpTNXBiblpoYkdsa0tHbHVkbUZzYVdRcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjR0Z5YzJWRVlYUmhWRzlFWVhSbFZHbHRaU2gyWVd4ekxDQndZWEp6WldSYWIyNWxMQ0J2Y0hSekxDQmdabTl5YldGMElDUjdabTEwZldBc0lIUmxlSFFzSUhOd1pXTnBabWxqVDJabWMyVjBLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGNISmxZMkYwWldRZ2RYTmxJR1p5YjIxR2IzSnRZWFFnYVc1emRHVmhaRnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR1p5YjIxVGRISnBibWNvZEdWNGRDd2dabTEwTENCdmNIUnpJRDBnZTMwcElIdGNiaUFnSUNCeVpYUjFjbTRnUkdGMFpWUnBiV1V1Wm5KdmJVWnZjbTFoZENoMFpYaDBMQ0JtYlhRc0lHOXdkSE1wTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlNCaElFUmhkR1ZVYVcxbElHWnliMjBnWVNCVFVVd2daR0YwWlN3Z2RHbHRaU3dnYjNJZ1pHRjBaWFJwYldWY2JpQWdJQ29nUkdWbVlYVnNkSE1nZEc4Z1pXNHRWVk1nYVdZZ2JtOGdiRzlqWVd4bElHaGhjeUJpWldWdUlITndaV05wWm1sbFpDd2djbVZuWVhKa2JHVnpjeUJ2WmlCMGFHVWdjM2x6ZEdWdEozTWdiRzlqWVd4bFhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0IwWlhoMElDMGdkR2hsSUhOMGNtbHVaeUIwYnlCd1lYSnpaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBjeUF0SUc5d2RHbHZibk1nZEc4Z1lXWm1aV04wSUhSb1pTQmpjbVZoZEdsdmJseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaM3hhYjI1bGZTQmJiM0IwY3k1NmIyNWxQU2RzYjJOaGJDZGRJQzBnZFhObElIUm9hWE1nZW05dVpTQnBaaUJ1YnlCdlptWnpaWFFnYVhNZ2MzQmxZMmxtYVdWa0lHbHVJSFJvWlNCcGJuQjFkQ0J6ZEhKcGJtY2dhWFJ6Wld4bUxpQlhhV3hzSUdGc2MyOGdZMjl1ZG1WeWRDQjBhR1VnUkdGMFpWUnBiV1VnZEc4Z2RHaHBjeUI2YjI1bFhHNGdJQ0FxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzI5d2RITXVjMlYwV205dVpUMW1ZV3h6WlYwZ0xTQnZkbVZ5Y21sa1pTQjBhR1VnZW05dVpTQjNhWFJvSUdFZ2VtOXVaU0J6Y0dWamFXWnBaV1FnYVc0Z2RHaGxJSE4wY21sdVp5QnBkSE5sYkdZc0lHbG1JR2wwSUhOd1pXTnBabWxsY3lCdmJtVmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dmNIUnpMbXh2WTJGc1pUMG5aVzR0VlZNblhTQXRJR0VnYkc5allXeGxJSE4wY21sdVp5QjBieUIxYzJVZ2QyaGxiaUJ3WVhKemFXNW5MaUJYYVd4c0lHRnNjMjhnYzJWMElIUm9aU0JFWVhSbFZHbHRaU0IwYnlCMGFHbHpJR3h2WTJGc1pWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnYjNCMGN5NXVkVzFpWlhKcGJtZFRlWE4wWlcwZ0xTQjBhR1VnYm5WdFltVnlhVzVuSUhONWMzUmxiU0IwYnlCMWMyVWdkMmhsYmlCd1lYSnphVzVuTGlCWGFXeHNJR0ZzYzI4Z2MyVjBJSFJvWlNCeVpYTjFiSFJwYm1jZ1JHRjBaVlJwYldVZ2RHOGdkR2hwY3lCdWRXMWlaWEpwYm1jZ2MzbHpkR1Z0WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnZjSFJ6TG05MWRIQjFkRU5oYkdWdVpHRnlJQzBnZEdobElHOTFkSEIxZENCallXeGxibVJoY2lCMGJ5QnpaWFFnYjI0Z2RHaGxJSEpsYzNWc2RHbHVaeUJFWVhSbFZHbHRaU0JwYm5OMFlXNWpaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNW1jbTl0VTFGTUtDY3lNREUzTFRBMUxURTFKeWxjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVabkp2YlZOUlRDZ25NakF4Tnkwd05TMHhOU0F3T1RveE1qb3pOQ2NwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbVp5YjIxVFVVd29Kekl3TVRjdE1EVXRNVFVnTURrNk1USTZNelF1TXpReUp5bGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdVpuSnZiVk5SVENnbk1qQXhOeTB3TlMweE5TQXdPVG94TWpvek5DNHpORElyTURZNk1EQW5LVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNW1jbTl0VTFGTUtDY3lNREUzTFRBMUxURTFJREE1T2pFeU9qTTBMak0wTWlCQmJXVnlhV05oTDB4dmMxOUJibWRsYkdWekp5bGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdVpuSnZiVk5SVENnbk1qQXhOeTB3TlMweE5TQXdPVG94TWpvek5DNHpORElnUVcxbGNtbGpZUzlNYjNOZlFXNW5aV3hsY3ljc0lIc2djMlYwV205dVpUb2dkSEoxWlNCOUtWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1bWNtOXRVMUZNS0NjeU1ERTNMVEExTFRFMUlEQTVPakV5T2pNMExqTTBNaWNzSUhzZ2VtOXVaVG9nSjBGdFpYSnBZMkV2VEc5elgwRnVaMlZzWlhNbklIMHBYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtWnliMjFUVVV3b0p6QTVPakV5T2pNMExqTTBNaWNwWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMFJoZEdWVWFXMWxmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR1p5YjIxVFVVd29kR1Y0ZEN3Z2IzQjBjeUE5SUh0OUtTQjdYRzRnSUNBZ1kyOXVjM1FnVzNaaGJITXNJSEJoY25ObFpGcHZibVZkSUQwZ2NHRnljMlZUVVV3b2RHVjRkQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIQmhjbk5sUkdGMFlWUnZSR0YwWlZScGJXVW9kbUZzY3l3Z2NHRnljMlZrV205dVpTd2diM0IwY3l3Z1hDSlRVVXhjSWl3Z2RHVjRkQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsSUdGdUlHbHVkbUZzYVdRZ1JHRjBaVlJwYldVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J5WldGemIyNGdMU0J6YVcxd2JHVWdjM1J5YVc1bklHOW1JSGRvZVNCMGFHbHpJRVJoZEdWVWFXMWxJR2x6SUdsdWRtRnNhV1F1SUZOb2IzVnNaQ0J1YjNRZ1kyOXVkR0ZwYmlCd1lYSmhiV1YwWlhKeklHOXlJR0Z1ZVhSb2FXNW5JR1ZzYzJVZ1pHRjBZUzFrWlhCbGJtUmxiblJjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdGxlSEJzWVc1aGRHbHZiajF1ZFd4c1hTQXRJR3h2Ym1kbGNpQmxlSEJzWVc1aGRHbHZiaXdnYldGNUlHbHVZMngxWkdVZ2NHRnlZVzFsZEdWeWN5QmhibVFnYjNSb1pYSWdkWE5sWm5Wc0lHUmxZblZuWjJsdVp5QnBibVp2Y20xaGRHbHZibHh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVZWFJsVkdsdFpYMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnBiblpoYkdsa0tISmxZWE52Yml3Z1pYaHdiR0Z1WVhScGIyNGdQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLQ0Z5WldGemIyNHBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5aaGJHbGtRWEpuZFcxbGJuUkZjbkp2Y2loY0ltNWxaV1FnZEc4Z2MzQmxZMmxtZVNCaElISmxZWE52YmlCMGFHVWdSR0YwWlZScGJXVWdhWE1nYVc1MllXeHBaRndpS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnBiblpoYkdsa0lEMGdjbVZoYzI5dUlHbHVjM1JoYm1ObGIyWWdTVzUyWVd4cFpDQS9JSEpsWVhOdmJpQTZJRzVsZHlCSmJuWmhiR2xrS0hKbFlYTnZiaXdnWlhod2JHRnVZWFJwYjI0cE8xeHVYRzRnSUNBZ2FXWWdLRk5sZEhScGJtZHpMblJvY205M1QyNUpiblpoYkdsa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUyWVd4cFpFUmhkR1ZVYVcxbFJYSnliM0lvYVc1MllXeHBaQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dSR0YwWlZScGJXVW9leUJwYm5aaGJHbGtJSDBwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGFHVmpheUJwWmlCaGJpQnZZbXBsWTNRZ2FYTWdZVzRnYVc1emRHRnVZMlVnYjJZZ1JHRjBaVlJwYldVdUlGZHZjbXR6SUdGamNtOXpjeUJqYjI1MFpYaDBJR0p2ZFc1a1lYSnBaWE5jYmlBZ0lDb2dRSEJoY21GdElIdHZZbXBsWTNSOUlHOWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1ltOXZiR1ZoYm4xY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCcGMwUmhkR1ZVYVcxbEtHOHBJSHRjYmlBZ0lDQnlaWFIxY200Z0tHOGdKaVlnYnk1cGMweDFlRzl1UkdGMFpWUnBiV1VwSUh4OElHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ0x5OGdTVTVHVDF4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJSFpoYkhWbElHOW1JSFZ1YVhRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0IxYm1sMElDMGdZU0IxYm1sMElITjFZMmdnWVhNZ0oyMXBiblYwWlNjZ2IzSWdKMlJoZVNkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tnl3Z055d2dOQ2t1WjJWMEtDZHRiMjUwYUNjcE95QXZMejArSURkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tnl3Z055d2dOQ2t1WjJWMEtDZGtZWGtuS1RzZ0x5ODlQaUEwWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMjUxYldKbGNuMWNiaUFnSUNvdlhHNGdJR2RsZENoMWJtbDBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE5iZFc1cGRGMDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUIzYUdWMGFHVnlJSFJvWlNCRVlYUmxWR2x0WlNCcGN5QjJZV3hwWkM0Z1NXNTJZV3hwWkNCRVlYUmxWR2x0WlhNZ2IyTmpkWElnZDJobGJqcGNiaUFnSUNvZ0tpQlVhR1VnUkdGMFpWUnBiV1VnZDJGeklHTnlaV0YwWldRZ1puSnZiU0JwYm5aaGJHbGtJR05oYkdWdVpHRnlJR2x1Wm05eWJXRjBhVzl1TENCemRXTm9JR0Z6SUhSb1pTQXhNM1JvSUcxdmJuUm9JRzl5SUVabFluSjFZWEo1SURNd1hHNGdJQ0FxSUNvZ1ZHaGxJRVJoZEdWVWFXMWxJSGRoY3lCamNtVmhkR1ZrSUdKNUlHRnVJRzl3WlhKaGRHbHZiaUJ2YmlCaGJtOTBhR1Z5SUdsdWRtRnNhV1FnWkdGMFpWeHVJQ0FnS2lCQWRIbHdaU0I3WW05dmJHVmhibjFjYmlBZ0lDb3ZYRzRnSUdkbGRDQnBjMVpoYkdsa0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx1ZG1Gc2FXUWdQVDA5SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJoYmlCbGNuSnZjaUJqYjJSbElHbG1JSFJvYVhNZ1JHRjBaVlJwYldVZ2FYTWdhVzUyWVd4cFpDd2diM0lnYm5Wc2JDQnBaaUIwYUdVZ1JHRjBaVlJwYldVZ2FYTWdkbUZzYVdSY2JpQWdJQ29nUUhSNWNHVWdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJR2RsZENCcGJuWmhiR2xrVW1WaGMyOXVLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdWRtRnNhV1FnUHlCMGFHbHpMbWx1ZG1Gc2FXUXVjbVZoYzI5dUlEb2diblZzYkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJR1Y0Y0d4aGJtRjBhVzl1SUc5bUlIZG9lU0IwYUdseklFUmhkR1ZVYVcxbElHSmxZMkZ0WlNCcGJuWmhiR2xrTENCdmNpQnVkV3hzSUdsbUlIUm9aU0JFWVhSbFZHbHRaU0JwY3lCMllXeHBaRnh1SUNBZ0tpQkFkSGx3WlNCN2MzUnlhVzVuZlZ4dUlDQWdLaTljYmlBZ1oyVjBJR2x1ZG1Gc2FXUkZlSEJzWVc1aGRHbHZiaWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJuWmhiR2xrSUQ4Z2RHaHBjeTVwYm5aaGJHbGtMbVY0Y0d4aGJtRjBhVzl1SURvZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUd4dlkyRnNaU0J2WmlCaElFUmhkR1ZVYVcxbExDQnpkV05vSUNkbGJpMUhRaWN1SUZSb1pTQnNiMk5oYkdVZ2FYTWdkWE5sWkNCM2FHVnVJR1p2Y20xaGRIUnBibWNnZEdobElFUmhkR1ZVYVcxbFhHNGdJQ0FxWEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYkc5allXeGxLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbXh2WXk1c2IyTmhiR1VnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYm5WdFltVnlhVzVuSUhONWMzUmxiU0J2WmlCaElFUmhkR1ZVYVcxbExDQnpkV05vSUNkaVpXNW5KeTRnVkdobElHNTFiV0psY21sdVp5QnplWE4wWlcwZ2FYTWdkWE5sWkNCM2FHVnVJR1p2Y20xaGRIUnBibWNnZEdobElFUmhkR1ZVYVcxbFhHNGdJQ0FxWEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYm5WdFltVnlhVzVuVTNsemRHVnRLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbXh2WXk1dWRXMWlaWEpwYm1kVGVYTjBaVzBnT2lCdWRXeHNPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYjNWMGNIVjBJR05oYkdWdVpHRnlJRzltSUdFZ1JHRjBaVlJwYldVc0lITjFZMmdnSjJsemJHRnRhV01uTGlCVWFHVWdiM1YwY0hWMElHTmhiR1Z1WkdGeUlHbHpJSFZ6WldRZ2QyaGxiaUJtYjNKdFlYUjBhVzVuSUhSb1pTQkVZWFJsVkdsdFpWeHVJQ0FnS2x4dUlDQWdLaUJBZEhsd1pTQjdjM1J5YVc1bmZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUc5MWRIQjFkRU5oYkdWdVpHRnlLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbXh2WXk1dmRYUndkWFJEWVd4bGJtUmhjaUE2SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElIUm9aU0IwYVcxbElIcHZibVVnWVhOemIyTnBZWFJsWkNCM2FYUm9JSFJvYVhNZ1JHRjBaVlJwYldVdVhHNGdJQ0FxSUVCMGVYQmxJSHRhYjI1bGZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUhwdmJtVW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNwdmJtVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElIUm9aU0J1WVcxbElHOW1JSFJvWlNCMGFXMWxJSHB2Ym1VdVhHNGdJQ0FxSUVCMGVYQmxJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2VtOXVaVTVoYldVb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JSFJvYVhNdWVtOXVaUzV1WVcxbElEb2diblZzYkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnZEdobElIbGxZWEpjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTlN3Z01qVXBMbmxsWVhJZ0x5ODlQaUF5TURFM1hHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2VXVmhjaWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGMxWmhiR2xrSUQ4Z2RHaHBjeTVqTG5sbFlYSWdPaUJPWVU0N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUhSb1pTQnhkV0Z5ZEdWeVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRjc0lEVXNJREkxS1M1eGRXRnlkR1Z5SUM4dlBUNGdNbHh1SUNBZ0tpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJSEYxWVhKMFpYSW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhOV1lXeHBaQ0EvSUUxaGRHZ3VZMlZwYkNoMGFHbHpMbU11Ylc5dWRHZ2dMeUF6S1NBNklFNWhUanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSFpYUWdkR2hsSUcxdmJuUm9JQ2d4TFRFeUtTNWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dOU3dnTWpVcExtMXZiblJvSUM4dlBUNGdOVnh1SUNBZ0tpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJRzF2Ym5Sb0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUIwYUdsekxtTXViVzl1ZEdnZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCa1lYa2diMllnZEdobElHMXZiblJvSUNneExUTXdhWE5vS1M1Y2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tnl3Z05Td2dNalVwTG1SaGVTQXZMejArSURJMVhHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ1pHRjVLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbU11WkdGNUlEb2dUbUZPTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2FHOTFjaUJ2WmlCMGFHVWdaR0Y1SUNnd0xUSXpLUzVjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTlN3Z01qVXNJRGtwTG1odmRYSWdMeTg5UGlBNVhHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2FHOTFjaWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGMxWmhiR2xrSUQ4Z2RHaHBjeTVqTG1odmRYSWdPaUJPWVU0N1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSMlYwSUhSb1pTQnRhVzUxZEdVZ2IyWWdkR2hsSUdodmRYSWdLREF0TlRrcExseHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1c2IyTmhiQ2d5TURFM0xDQTFMQ0F5TlN3Z09Td2dNekFwTG0xcGJuVjBaU0F2THowK0lETXdYRzRnSUNBcUlFQjBlWEJsSUh0dWRXMWlaWEo5WEc0Z0lDQXFMMXh1SUNCblpYUWdiV2x1ZFhSbEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUIwYUdsekxtTXViV2x1ZFhSbElEb2dUbUZPTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2MyVmpiMjVrSUc5bUlIUm9aU0J0YVc1MWRHVWdLREF0TlRrcExseHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1c2IyTmhiQ2d5TURFM0xDQTFMQ0F5TlN3Z09Td2dNekFzSURVeUtTNXpaV052Ym1RZ0x5ODlQaUExTWx4dUlDQWdLaUJBZEhsd1pTQjdiblZ0WW1WeWZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUhObFkyOXVaQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGMxWmhiR2xrSUQ4Z2RHaHBjeTVqTG5ObFkyOXVaQ0E2SUU1aFRqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJRzFwYkd4cGMyVmpiMjVrSUc5bUlIUm9aU0J6WldOdmJtUWdLREF0T1RrNUtTNWNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dOU3dnTWpVc0lEa3NJRE13TENBMU1pd2dOalUwS1M1dGFXeHNhWE5sWTI5dVpDQXZMejArSURZMU5GeHVJQ0FnS2lCQWRIbHdaU0I3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnWjJWMElHMXBiR3hwYzJWamIyNWtLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbU11Yldsc2JHbHpaV052Ym1RZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCM1pXVnJJSGxsWVhKY2JpQWdJQ29nUUhObFpTQm9kSFJ3Y3pvdkwyVnVMbmRwYTJsd1pXUnBZUzV2Y21jdmQybHJhUzlKVTA5ZmQyVmxhMTlrWVhSbFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRRc0lERXlMQ0F6TVNrdWQyVmxhMWxsWVhJZ0x5ODlQaUF5TURFMVhHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2QyVmxhMWxsWVhJb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JSEJ2YzNOcFlteDVRMkZqYUdWa1YyVmxhMFJoZEdFb2RHaHBjeWt1ZDJWbGExbGxZWElnT2lCT1lVNDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUjJWMElIUm9aU0IzWldWcklHNTFiV0psY2lCdlppQjBhR1VnZDJWbGF5QjVaV0Z5SUNneExUVXlhWE5vS1M1Y2JpQWdJQ29nUUhObFpTQm9kSFJ3Y3pvdkwyVnVMbmRwYTJsd1pXUnBZUzV2Y21jdmQybHJhUzlKVTA5ZmQyVmxhMTlrWVhSbFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRjc0lEVXNJREkxS1M1M1pXVnJUblZ0WW1WeUlDOHZQVDRnTWpGY2JpQWdJQ29nUUhSNWNHVWdlMjUxYldKbGNuMWNiaUFnSUNvdlhHNGdJR2RsZENCM1pXVnJUblZ0WW1WeUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUJ3YjNOemFXSnNlVU5oWTJobFpGZGxaV3RFWVhSaEtIUm9hWE1wTG5kbFpXdE9kVzFpWlhJZ09pQk9ZVTQ3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCa1lYa2diMllnZEdobElIZGxaV3N1WEc0Z0lDQXFJREVnYVhNZ1RXOXVaR0Y1SUdGdVpDQTNJR2x6SUZOMWJtUmhlVnh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2Wlc0dWQybHJhWEJsWkdsaExtOXlaeTkzYVd0cEwwbFRUMTkzWldWclgyUmhkR1ZjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOQ3dnTVRFc0lETXhLUzUzWldWclpHRjVJQzh2UFQ0Z05GeHVJQ0FnS2lCQWRIbHdaU0I3Ym5WdFltVnlmVnh1SUNBZ0tpOWNiaUFnWjJWMElIZGxaV3RrWVhrb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JSEJ2YzNOcFlteDVRMkZqYUdWa1YyVmxhMFJoZEdFb2RHaHBjeWt1ZDJWbGEyUmhlU0E2SUU1aFRqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJIWlhRZ2RHaGxJRzl5WkdsdVlXd2dLRzFsWVc1cGJtY2dkR2hsSUdSaGVTQnZaaUIwYUdVZ2VXVmhjaWxjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTlN3Z01qVXBMbTl5WkdsdVlXd2dMeTg5UGlBeE5EVmNiaUFnSUNvZ1FIUjVjR1VnZTI1MWJXSmxjbnhFWVhSbFZHbHRaWDFjYmlBZ0lDb3ZYRzRnSUdkbGRDQnZjbVJwYm1Gc0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUJuY21WbmIzSnBZVzVVYjA5eVpHbHVZV3dvZEdocGN5NWpLUzV2Y21ScGJtRnNJRG9nVG1GT08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCMGFHVWdhSFZ0WVc0Z2NtVmhaR0ZpYkdVZ2MyaHZjblFnYlc5dWRHZ2dibUZ0WlN3Z2MzVmphQ0JoY3lBblQyTjBKeTVjYmlBZ0lDb2dSR1ZtWVhWc2RITWdkRzhnZEdobElITjVjM1JsYlNkeklHeHZZMkZzWlNCcFppQnVieUJzYjJOaGJHVWdhR0Z6SUdKbFpXNGdjM0JsWTJsbWFXVmtYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UY3NJREV3TENBek1Da3ViVzl1ZEdoVGFHOXlkQ0F2THowK0lFOWpkRnh1SUNBZ0tpQkFkSGx3WlNCN2MzUnlhVzVuZlZ4dUlDQWdLaTljYmlBZ1oyVjBJRzF2Ym5Sb1UyaHZjblFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkNBL0lFbHVabTh1Ylc5dWRHaHpLRndpYzJodmNuUmNJaXdnZXlCc2IyTlBZbW82SUhSb2FYTXViRzlqSUgwcFczUm9hWE11Ylc5dWRHZ2dMU0F4WFNBNklHNTFiR3c3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCb2RXMWhiaUJ5WldGa1lXSnNaU0JzYjI1bklHMXZiblJvSUc1aGJXVXNJSE4xWTJnZ1lYTWdKMDlqZEc5aVpYSW5MbHh1SUNBZ0tpQkVaV1poZFd4MGN5QjBieUIwYUdVZ2MzbHpkR1Z0SjNNZ2JHOWpZV3hsSUdsbUlHNXZJR3h2WTJGc1pTQm9ZWE1nWW1WbGJpQnpjR1ZqYVdacFpXUmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE55d2dNVEFzSURNd0tTNXRiMjUwYUV4dmJtY2dMeTg5UGlCUFkzUnZZbVZ5WEc0Z0lDQXFJRUIwZVhCbElIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYlc5dWRHaE1iMjVuS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QkpibVp2TG0xdmJuUm9jeWhjSW14dmJtZGNJaXdnZXlCc2IyTlBZbW82SUhSb2FYTXViRzlqSUgwcFczUm9hWE11Ylc5dWRHZ2dMU0F4WFNBNklHNTFiR3c3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSFJvWlNCb2RXMWhiaUJ5WldGa1lXSnNaU0J6YUc5eWRDQjNaV1ZyWkdGNUxDQnpkV05vSUdGeklDZE5iMjRuTGx4dUlDQWdLaUJFWldaaGRXeDBjeUIwYnlCMGFHVWdjM2x6ZEdWdEozTWdiRzlqWVd4bElHbG1JRzV2SUd4dlkyRnNaU0JvWVhNZ1ltVmxiaUJ6Y0dWamFXWnBaV1JjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOeXdnTVRBc0lETXdLUzUzWldWclpHRjVVMmh2Y25RZ0x5ODlQaUJOYjI1Y2JpQWdJQ29nUUhSNWNHVWdlM04wY21sdVozMWNiaUFnSUNvdlhHNGdJR2RsZENCM1pXVnJaR0Y1VTJodmNuUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhOV1lXeHBaQ0EvSUVsdVptOHVkMlZsYTJSaGVYTW9YQ0p6YUc5eWRGd2lMQ0I3SUd4dlkwOWlham9nZEdocGN5NXNiMk1nZlNsYmRHaHBjeTUzWldWclpHRjVJQzBnTVYwZ09pQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFZGxkQ0IwYUdVZ2FIVnRZVzRnY21WaFpHRmliR1VnYkc5dVp5QjNaV1ZyWkdGNUxDQnpkV05vSUdGeklDZE5iMjVrWVhrbkxseHVJQ0FnS2lCRVpXWmhkV3gwY3lCMGJ5QjBhR1VnYzNsemRHVnRKM01nYkc5allXeGxJR2xtSUc1dklHeHZZMkZzWlNCb1lYTWdZbVZsYmlCemNHVmphV1pwWldSY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tnl3Z01UQXNJRE13S1M1M1pXVnJaR0Y1VEc5dVp5QXZMejArSUUxdmJtUmhlVnh1SUNBZ0tpQkFkSGx3WlNCN2MzUnlhVzVuZlZ4dUlDQWdLaTljYmlBZ1oyVjBJSGRsWld0a1lYbE1iMjVuS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QkpibVp2TG5kbFpXdGtZWGx6S0Z3aWJHOXVaMXdpTENCN0lHeHZZMDlpYWpvZ2RHaHBjeTVzYjJNZ2ZTbGJkR2hwY3k1M1pXVnJaR0Y1SUMwZ01WMGdPaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCMGFHVWdWVlJESUc5bVpuTmxkQ0J2WmlCMGFHbHpJRVJoZEdWVWFXMWxJR2x1SUcxcGJuVjBaWE5jYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWIyWm1jMlYwSUM4dlBUNGdMVEkwTUZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzUxZEdNb0tTNXZabVp6WlhRZ0x5ODlQaUF3WEc0Z0lDQXFJRUIwZVhCbElIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQm5aWFFnYjJabWMyVjBLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlBcmRHaHBjeTV2SURvZ1RtRk9PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYzJodmNuUWdhSFZ0WVc0Z2JtRnRaU0JtYjNJZ2RHaGxJSHB2Ym1VbmN5QmpkWEp5Wlc1MElHOW1abk5sZEN3Z1ptOXlJR1Y0WVcxd2JHVWdYQ0pGVTFSY0lpQnZjaUJjSWtWRVZGd2lMbHh1SUNBZ0tpQkVaV1poZFd4MGN5QjBieUIwYUdVZ2MzbHpkR1Z0SjNNZ2JHOWpZV3hsSUdsbUlHNXZJR3h2WTJGc1pTQm9ZWE1nWW1WbGJpQnpjR1ZqYVdacFpXUmNiaUFnSUNvZ1FIUjVjR1VnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUdkbGRDQnZabVp6WlhST1lXMWxVMmh2Y25Rb0tTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWFYTldZV3hwWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVlbTl1WlM1dlptWnpaWFJPWVcxbEtIUm9hWE11ZEhNc0lIdGNiaUFnSUNBZ0lDQWdabTl5YldGME9pQmNJbk5vYjNKMFhDSXNYRzRnSUNBZ0lDQWdJR3h2WTJGc1pUb2dkR2hwY3k1c2IyTmhiR1VzWEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYkc5dVp5Qm9kVzFoYmlCdVlXMWxJR1p2Y2lCMGFHVWdlbTl1WlNkeklHTjFjbkpsYm5RZ2IyWm1jMlYwTENCbWIzSWdaWGhoYlhCc1pTQmNJa1ZoYzNSbGNtNGdVM1JoYm1SaGNtUWdWR2x0WlZ3aUlHOXlJRndpUldGemRHVnliaUJFWVhsc2FXZG9kQ0JVYVcxbFhDSXVYRzRnSUNBcUlFUmxabUYxYkhSeklIUnZJSFJvWlNCemVYTjBaVzBuY3lCc2IyTmhiR1VnYVdZZ2JtOGdiRzlqWVd4bElHaGhjeUJpWldWdUlITndaV05wWm1sbFpGeHVJQ0FnS2lCQWRIbHdaU0I3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnWjJWMElHOW1abk5sZEU1aGJXVk1iMjVuS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG1selZtRnNhV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxucHZibVV1YjJabWMyVjBUbUZ0WlNoMGFHbHpMblJ6TENCN1hHNGdJQ0FnSUNBZ0lHWnZjbTFoZERvZ1hDSnNiMjVuWENJc1hHNGdJQ0FnSUNBZ0lHeHZZMkZzWlRvZ2RHaHBjeTVzYjJOaGJHVXNYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCM2FHVjBhR1Z5SUhSb2FYTWdlbTl1WlNkeklHOW1abk5sZENCbGRtVnlJR05vWVc1blpYTXNJR0Z6SUdsdUlHRWdSRk5VTGx4dUlDQWdLaUJBZEhsd1pTQjdZbTl2YkdWaGJuMWNiaUFnSUNvdlhHNGdJR2RsZENCcGMwOW1abk5sZEVacGVHVmtLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1FnUHlCMGFHbHpMbnB2Ym1VdWFYTlZibWwyWlhKellXd2dPaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZENCM2FHVjBhR1Z5SUhSb1pTQkVZWFJsVkdsdFpTQnBjeUJwYmlCaElFUlRWQzVjYmlBZ0lDb2dRSFI1Y0dVZ2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQm5aWFFnYVhOSmJrUlRWQ2dwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVwYzA5bVpuTmxkRVpwZUdWa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lIUm9hWE11YjJabWMyVjBJRDRnZEdocGN5NXpaWFFvZXlCdGIyNTBhRG9nTVN3Z1pHRjVPaUF4SUgwcExtOW1abk5sZENCOGZGeHVJQ0FnSUNBZ0lDQjBhR2x6TG05bVpuTmxkQ0ErSUhSb2FYTXVjMlYwS0hzZ2JXOXVkR2c2SURVZ2ZTa3ViMlptYzJWMFhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIUnlkV1VnYVdZZ2RHaHBjeUJFWVhSbFZHbHRaU0JwY3lCcGJpQmhJR3hsWVhBZ2VXVmhjaXdnWm1Gc2MyVWdiM1JvWlhKM2FYTmxYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UWXBMbWx6U1c1TVpXRndXV1ZoY2lBdkx6MCtJSFJ5ZFdWY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4TXlrdWFYTkpia3hsWVhCWlpXRnlJQzh2UFQ0Z1ptRnNjMlZjYmlBZ0lDb2dRSFI1Y0dVZ2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQm5aWFFnYVhOSmJreGxZWEJaWldGeUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCcGMweGxZWEJaWldGeUtIUm9hWE11ZVdWaGNpazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUIwYUdVZ2JuVnRZbVZ5SUc5bUlHUmhlWE1nYVc0Z2RHaHBjeUJFWVhSbFZHbHRaU2R6SUcxdmJuUm9YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UWXNJRElwTG1SaGVYTkpiazF2Ym5Sb0lDOHZQVDRnTWpsY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4Tml3Z015a3VaR0Y1YzBsdVRXOXVkR2dnTHk4OVBpQXpNVnh1SUNBZ0tpQkFkSGx3WlNCN2JuVnRZbVZ5ZlZ4dUlDQWdLaTljYmlBZ1oyVjBJR1JoZVhOSmJrMXZiblJvS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJrWVhselNXNU5iMjUwYUNoMGFHbHpMbmxsWVhJc0lIUm9hWE11Ylc5dWRHZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nZEdobElHNTFiV0psY2lCdlppQmtZWGx6SUdsdUlIUm9hWE1nUkdGMFpWUnBiV1VuY3lCNVpXRnlYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UWXBMbVJoZVhOSmJsbGxZWElnTHk4OVBpQXpOalpjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhNeWt1WkdGNWMwbHVXV1ZoY2lBdkx6MCtJRE0yTlZ4dUlDQWdLaUJBZEhsd1pTQjdiblZ0WW1WeWZWeHVJQ0FnS2k5Y2JpQWdaMlYwSUdSaGVYTkpibGxsWVhJb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5XWVd4cFpDQS9JR1JoZVhOSmJsbGxZWElvZEdocGN5NTVaV0Z5S1NBNklFNWhUanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUhSb1pTQnVkVzFpWlhJZ2IyWWdkMlZsYTNNZ2FXNGdkR2hwY3lCRVlYUmxWR2x0WlNkeklIbGxZWEpjYmlBZ0lDb2dRSE5sWlNCb2RIUndjem92TDJWdUxuZHBhMmx3WldScFlTNXZjbWN2ZDJscmFTOUpVMDlmZDJWbGExOWtZWFJsWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNRFFwTG5kbFpXdHpTVzVYWldWcldXVmhjaUF2THowK0lEVXpYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UTXBMbmRsWld0elNXNVhaV1ZyV1dWaGNpQXZMejArSURVeVhHNGdJQ0FxSUVCMGVYQmxJSHR1ZFcxaVpYSjlYRzRnSUNBcUwxeHVJQ0JuWlhRZ2QyVmxhM05KYmxkbFpXdFpaV0Z5S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5QjNaV1ZyYzBsdVYyVmxhMWxsWVhJb2RHaHBjeTUzWldWcldXVmhjaWtnT2lCT1lVNDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUIwYUdVZ2NtVnpiMngyWldRZ1NXNTBiQ0J2Y0hScGIyNXpJR1p2Y2lCMGFHbHpJRVJoZEdWVWFXMWxMbHh1SUNBZ0tpQlVhR2x6SUdseklIVnpaV1oxYkNCcGJpQjFibVJsY25OMFlXNWthVzVuSUhSb1pTQmlaV2hoZG1sdmNpQnZaaUJtYjNKdFlYUjBhVzVuSUcxbGRHaHZaSE5jYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkSE1nTFNCMGFHVWdjMkZ0WlNCdmNIUnBiMjV6SUdGeklIUnZURzlqWVd4bFUzUnlhVzVuWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMDlpYW1WamRIMWNiaUFnSUNvdlhHNGdJSEpsYzI5c2RtVmtURzlqWVd4bFQzQjBhVzl1Y3lodmNIUnpJRDBnZTMwcElIdGNiaUFnSUNCamIyNXpkQ0I3SUd4dlkyRnNaU3dnYm5WdFltVnlhVzVuVTNsemRHVnRMQ0JqWVd4bGJtUmhjaUI5SUQwZ1JtOXliV0YwZEdWeUxtTnlaV0YwWlNoY2JpQWdJQ0FnSUhSb2FYTXViRzlqTG1Oc2IyNWxLRzl3ZEhNcExGeHVJQ0FnSUNBZ2IzQjBjMXh1SUNBZ0lDa3VjbVZ6YjJ4MlpXUlBjSFJwYjI1ektIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjdJR3h2WTJGc1pTd2diblZ0WW1WeWFXNW5VM2x6ZEdWdExDQnZkWFJ3ZFhSRFlXeGxibVJoY2pvZ1kyRnNaVzVrWVhJZ2ZUdGNiaUFnZlZ4dVhHNGdJQzh2SUZSU1FVNVRSazlTVFZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJjSWxObGRGd2lJSFJvWlNCRVlYUmxWR2x0WlNkeklIcHZibVVnZEc4Z1ZWUkRMaUJTWlhSMWNtNXpJR0VnYm1WM2JIa3RZMjl1YzNSeWRXTjBaV1FnUkdGMFpWUnBiV1V1WEc0Z0lDQXFYRzRnSUNBcUlFVnhkV2wyWVd4bGJuUWdkRzhnZTBCc2FXNXJJRVJoZEdWVWFXMWxJM05sZEZwdmJtVjlLQ2QxZEdNbktWeHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnVzI5bVpuTmxkRDB3WFNBdElHOXdkR2x2Ym1Gc2JIa3NJR0Z1SUc5bVpuTmxkQ0JtY205dElGVlVReUJwYmlCdGFXNTFkR1Z6WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQmJiM0IwY3oxN2ZWMGdMU0J2Y0hScGIyNXpJSFJ2SUhCaGMzTWdkRzhnWUhObGRGcHZibVVvS1dCY2JpQWdJQ29nUUhKbGRIVnliaUI3UkdGMFpWUnBiV1Y5WEc0Z0lDQXFMMXh1SUNCMGIxVlVReWh2Wm1aelpYUWdQU0F3TENCdmNIUnpJRDBnZTMwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpaWFJhYjI1bEtFWnBlR1ZrVDJabWMyVjBXbTl1WlM1cGJuTjBZVzVqWlNodlptWnpaWFFwTENCdmNIUnpLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCY0lsTmxkRndpSUhSb1pTQkVZWFJsVkdsdFpTZHpJSHB2Ym1VZ2RHOGdkR2hsSUdodmMzUW5jeUJzYjJOaGJDQjZiMjVsTGlCU1pYUjFjbTV6SUdFZ2JtVjNiSGt0WTI5dWMzUnlkV04wWldRZ1JHRjBaVlJwYldVdVhHNGdJQ0FxWEc0Z0lDQXFJRVZ4ZFdsMllXeGxiblFnZEc4Z1lITmxkRnB2Ym1Vb0oyeHZZMkZzSnlsZ1hHNGdJQ0FxSUVCeVpYUjFjbTRnZTBSaGRHVlVhVzFsZlZ4dUlDQWdLaTljYmlBZ2RHOU1iMk5oYkNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpaWFJhYjI1bEtGTmxkSFJwYm1kekxtUmxabUYxYkhSYWIyNWxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCY0lsTmxkRndpSUhSb1pTQkVZWFJsVkdsdFpTZHpJSHB2Ym1VZ2RHOGdjM0JsWTJsbWFXVmtJSHB2Ym1VdUlGSmxkSFZ5Ym5NZ1lTQnVaWGRzZVMxamIyNXpkSEoxWTNSbFpDQkVZWFJsVkdsdFpTNWNiaUFnSUNwY2JpQWdJQ29nUW5rZ1pHVm1ZWFZzZEN3Z2RHaGxJSE5sZEhSbGNpQnJaV1Z3Y3lCMGFHVWdkVzVrWlhKc2VXbHVaeUIwYVcxbElIUm9aU0J6WVcxbElDaGhjeUJwYml3Z2RHaGxJSE5oYldVZ2RHbHRaWE4wWVcxd0tTd2dZblYwSUhSb1pTQnVaWGNnYVc1emRHRnVZMlVnZDJsc2JDQnlaWEJ2Y25RZ1pHbG1abVZ5Wlc1MElHeHZZMkZzSUhScGJXVnpJR0Z1WkNCamIyNXphV1JsY2lCRVUxUnpJSGRvWlc0Z2JXRnJhVzVuSUdOdmJYQjFkR0YwYVc5dWN5d2dZWE1nZDJsMGFDQjdRR3hwYm1zZ1JHRjBaVlJwYldVamNHeDFjMzB1SUZsdmRTQnRZWGtnZDJsemFDQjBieUIxYzJVZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTNSdlRHOWpZV3g5SUdGdVpDQjdRR3hwYm1zZ1JHRjBaVlJwYldVamRHOVZWRU45SUhkb2FXTm9JSEJ5YjNacFpHVWdjMmx0Y0d4bElHTnZiblpsYm1sbGJtTmxJSGR5WVhCd1pYSnpJR1p2Y2lCamIyMXRiMjVzZVNCMWMyVmtJSHB2Ym1WekxseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaM3hhYjI1bGZTQmJlbTl1WlQwbmJHOWpZV3duWFNBdElHRWdlbTl1WlNCcFpHVnVkR2xtYVdWeUxpQkJjeUJoSUhOMGNtbHVaeXdnZEdoaGRDQmpZVzRnWW1VZ1lXNTVJRWxCVGtFZ2VtOXVaU0J6ZFhCd2IzSjBaV1FnWW5rZ2RHaGxJR2h2YzNRZ1pXNTJhWEp2Ym0xbGJuUXNJRzl5SUdFZ1ptbDRaV1F0YjJabWMyVjBJRzVoYldVZ2IyWWdkR2hsSUdadmNtMGdKMVZVUXlzekp5d2diM0lnZEdobElITjBjbWx1WjNNZ0oyeHZZMkZzSnlCdmNpQW5kWFJqSnk0Z1dXOTFJRzFoZVNCaGJITnZJSE4xY0hCc2VTQmhiaUJwYm5OMFlXNWpaU0J2WmlCaElIdEFiR2x1YXlCRVlYUmxWR2x0WlNOYWIyNWxmU0JqYkdGemN5NWNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RITWdMU0J2Y0hScGIyNXpYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YTJWbGNFeHZZMkZzVkdsdFpUMW1ZV3h6WlYwZ0xTQkpaaUIwY25WbExDQmhaR3AxYzNRZ2RHaGxJSFZ1WkdWeWJIbHBibWNnZEdsdFpTQnpieUIwYUdGMElIUm9aU0JzYjJOaGJDQjBhVzFsSUhOMFlYbHpJSFJvWlNCellXMWxMQ0JpZFhRZ2FXNGdkR2hsSUhSaGNtZGxkQ0I2YjI1bExpQlpiM1VnYzJodmRXeGtJSEpoY21Wc2VTQnVaV1ZrSUhSb2FYTXVYRzRnSUNBcUlFQnlaWFIxY200Z2UwUmhkR1ZVYVcxbGZWeHVJQ0FnS2k5Y2JpQWdjMlYwV205dVpTaDZiMjVsTENCN0lHdGxaWEJNYjJOaGJGUnBiV1VnUFNCbVlXeHpaU3dnYTJWbGNFTmhiR1Z1WkdGeVZHbHRaU0E5SUdaaGJITmxJSDBnUFNCN2ZTa2dlMXh1SUNBZ0lIcHZibVVnUFNCdWIzSnRZV3hwZW1WYWIyNWxLSHB2Ym1Vc0lGTmxkSFJwYm1kekxtUmxabUYxYkhSYWIyNWxLVHRjYmlBZ0lDQnBaaUFvZW05dVpTNWxjWFZoYkhNb2RHaHBjeTU2YjI1bEtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2doZW05dVpTNXBjMVpoYkdsa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1JHRjBaVlJwYldVdWFXNTJZV3hwWkNoMWJuTjFjSEJ2Y25SbFpGcHZibVVvZW05dVpTa3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCc1pYUWdibVYzVkZNZ1BTQjBhR2x6TG5Sek8xeHVJQ0FnSUNBZ2FXWWdLR3RsWlhCTWIyTmhiRlJwYldVZ2ZId2dhMlZsY0VOaGJHVnVaR0Z5VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnZabVp6WlhSSGRXVnpjeUE5SUhwdmJtVXViMlptYzJWMEtIUm9hWE11ZEhNcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaGMwOWlhaUE5SUhSb2FYTXVkRzlQWW1wbFkzUW9LVHRjYmlBZ0lDQWdJQ0FnVzI1bGQxUlRYU0E5SUc5aWFsUnZWRk1vWVhOUFltb3NJRzltWm5ObGRFZDFaWE56TENCNmIyNWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQmpiRzl1WlNoMGFHbHpMQ0I3SUhSek9pQnVaWGRVVXl3Z2VtOXVaU0I5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1hDSlRaWFJjSWlCMGFHVWdiRzlqWVd4bExDQnVkVzFpWlhKcGJtZFRlWE4wWlcwc0lHOXlJRzkxZEhCMWRFTmhiR1Z1WkdGeUxpQlNaWFIxY201eklHRWdibVYzYkhrdFkyOXVjM1J5ZFdOMFpXUWdSR0YwWlZScGJXVXVYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCd2NtOXdaWEowYVdWeklDMGdkR2hsSUhCeWIzQmxjblJwWlhNZ2RHOGdjMlYwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVGNzSURVc0lESTFLUzV5WldOdmJtWnBaM1Z5WlNoN0lHeHZZMkZzWlRvZ0oyVnVMVWRDSnlCOUtWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0RVlYUmxWR2x0WlgxY2JpQWdJQ292WEc0Z0lISmxZMjl1Wm1sbmRYSmxLSHNnYkc5allXeGxMQ0J1ZFcxaVpYSnBibWRUZVhOMFpXMHNJRzkxZEhCMWRFTmhiR1Z1WkdGeUlIMGdQU0I3ZlNrZ2UxeHVJQ0FnSUdOdmJuTjBJR3h2WXlBOUlIUm9hWE11Ykc5akxtTnNiMjVsS0hzZ2JHOWpZV3hsTENCdWRXMWlaWEpwYm1kVGVYTjBaVzBzSUc5MWRIQjFkRU5oYkdWdVpHRnlJSDBwTzF4dUlDQWdJSEpsZEhWeWJpQmpiRzl1WlNoMGFHbHpMQ0I3SUd4dll5QjlLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCY0lsTmxkRndpSUhSb1pTQnNiMk5oYkdVdUlGSmxkSFZ5Ym5NZ1lTQnVaWGRzZVMxamIyNXpkSEoxWTNSbFpDQkVZWFJsVkdsdFpTNWNiaUFnSUNvZ1NuVnpkQ0JoSUdOdmJuWmxibWxsYm5RZ1lXeHBZWE1nWm05eUlISmxZMjl1Wm1sbmRYSmxLSHNnYkc5allXeGxJSDBwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJRVJoZEdWVWFXMWxMbXh2WTJGc0tESXdNVGNzSURVc0lESTFLUzV6WlhSTWIyTmhiR1VvSjJWdUxVZENKeWxjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlZScGJXVjlYRzRnSUNBcUwxeHVJQ0J6WlhSTWIyTmhiR1VvYkc5allXeGxLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21WamIyNW1hV2QxY21Vb2V5QnNiMk5oYkdVZ2ZTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nWENKVFpYUmNJaUIwYUdVZ2RtRnNkV1Z6SUc5bUlITndaV05wWm1sbFpDQjFibWwwY3k0Z1VtVjBkWEp1Y3lCaElHNWxkMng1TFdOdmJuTjBjblZqZEdWa0lFUmhkR1ZVYVcxbExseHVJQ0FnS2lCWmIzVWdZMkZ1SUc5dWJIa2djMlYwSUhWdWFYUnpJSGRwZEdnZ2RHaHBjeUJ0WlhSb2IyUTdJR1p2Y2lCY0luTmxkSFJwYm1kY0lpQnRaWFJoWkdGMFlTd2djMlZsSUh0QWJHbHVheUJFWVhSbFZHbHRaU055WldOdmJtWnBaM1Z5WlgwZ1lXNWtJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTnpaWFJhYjI1bGZTNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUhaaGJIVmxjeUF0SUdFZ2JXRndjR2x1WnlCdlppQjFibWwwY3lCMGJ5QnVkVzFpWlhKelhHNGdJQ0FxSUVCbGVHRnRjR3hsSUdSMExuTmxkQ2g3SUhsbFlYSTZJREl3TVRjZ2ZTbGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1pIUXVjMlYwS0hzZ2FHOTFjam9nT0N3Z2JXbHVkWFJsT2lBek1DQjlLVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQmtkQzV6WlhRb2V5QjNaV1ZyWkdGNU9pQTFJSDBwWEc0Z0lDQXFJRUJsZUdGdGNHeGxJR1IwTG5ObGRDaDdJSGxsWVhJNklESXdNRFVzSUc5eVpHbHVZV3c2SURJek5DQjlLVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVZWFJsVkdsdFpYMWNiaUFnSUNvdlhHNGdJSE5sZENoMllXeDFaWE1wSUh0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11YVhOV1lXeHBaQ2tnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnSUNCamIyNXpkQ0J1YjNKdFlXeHBlbVZrSUQwZ2JtOXliV0ZzYVhwbFQySnFaV04wS0haaGJIVmxjeXdnYm05eWJXRnNhWHBsVlc1cGRDa3NYRzRnSUNBZ0lDQnpaWFIwYVc1blYyVmxhMU4wZFdabUlEMWNiaUFnSUNBZ0lDQWdJV2x6Vlc1a1pXWnBibVZrS0c1dmNtMWhiR2w2WldRdWQyVmxhMWxsWVhJcElIeDhYRzRnSUNBZ0lDQWdJQ0ZwYzFWdVpHVm1hVzVsWkNodWIzSnRZV3hwZW1Wa0xuZGxaV3RPZFcxaVpYSXBJSHg4WEc0Z0lDQWdJQ0FnSUNGcGMxVnVaR1ZtYVc1bFpDaHViM0p0WVd4cGVtVmtMbmRsWld0a1lYa3BMRnh1SUNBZ0lDQWdZMjl1ZEdGcGJuTlBjbVJwYm1Gc0lEMGdJV2x6Vlc1a1pXWnBibVZrS0c1dmNtMWhiR2w2WldRdWIzSmthVzVoYkNrc1hHNGdJQ0FnSUNCamIyNTBZV2x1YzBkeVpXZHZjbGxsWVhJZ1BTQWhhWE5WYm1SbFptbHVaV1FvYm05eWJXRnNhWHBsWkM1NVpXRnlLU3hjYmlBZ0lDQWdJR052Ym5SaGFXNXpSM0psWjI5eVRVUWdQU0FoYVhOVmJtUmxabWx1WldRb2JtOXliV0ZzYVhwbFpDNXRiMjUwYUNrZ2ZId2dJV2x6Vlc1a1pXWnBibVZrS0c1dmNtMWhiR2w2WldRdVpHRjVLU3hjYmlBZ0lDQWdJR052Ym5SaGFXNXpSM0psWjI5eUlEMGdZMjl1ZEdGcGJuTkhjbVZuYjNKWlpXRnlJSHg4SUdOdmJuUmhhVzV6UjNKbFoyOXlUVVFzWEc0Z0lDQWdJQ0JrWldacGJtbDBaVmRsWld0RVpXWWdQU0J1YjNKdFlXeHBlbVZrTG5kbFpXdFpaV0Z5SUh4OElHNXZjbTFoYkdsNlpXUXVkMlZsYTA1MWJXSmxjanRjYmx4dUlDQWdJR2xtSUNnb1kyOXVkR0ZwYm5OSGNtVm5iM0lnZkh3Z1kyOXVkR0ZwYm5OUGNtUnBibUZzS1NBbUppQmtaV1pwYm1sMFpWZGxaV3RFWldZcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkRiMjVtYkdsamRHbHVaMU53WldOcFptbGpZWFJwYjI1RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENKRFlXNG5kQ0J0YVhnZ2QyVmxhMWxsWVhJdmQyVmxhMDUxYldKbGNpQjFibWwwY3lCM2FYUm9JSGxsWVhJdmJXOXVkR2d2WkdGNUlHOXlJRzl5WkdsdVlXeHpYQ0pjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOdmJuUmhhVzV6UjNKbFoyOXlUVVFnSmlZZ1kyOXVkR0ZwYm5OUGNtUnBibUZzS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1EyOXVabXhwWTNScGJtZFRjR1ZqYVdacFkyRjBhVzl1UlhKeWIzSW9YQ0pEWVc0bmRDQnRhWGdnYjNKa2FXNWhiQ0JrWVhSbGN5QjNhWFJvSUcxdmJuUm9MMlJoZVZ3aUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCc1pYUWdiV2w0WldRN1hHNGdJQ0FnYVdZZ0tITmxkSFJwYm1kWFpXVnJVM1IxWm1ZcElIdGNiaUFnSUNBZ0lHMXBlR1ZrSUQwZ2QyVmxhMVJ2UjNKbFoyOXlhV0Z1S0hzZ0xpNHVaM0psWjI5eWFXRnVWRzlYWldWcktIUm9hWE11WXlrc0lDNHVMbTV2Y20xaGJHbDZaV1FnZlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNnaGFYTlZibVJsWm1sdVpXUW9ibTl5YldGc2FYcGxaQzV2Y21ScGJtRnNLU2tnZTF4dUlDQWdJQ0FnYldsNFpXUWdQU0J2Y21ScGJtRnNWRzlIY21WbmIzSnBZVzRvZXlBdUxpNW5jbVZuYjNKcFlXNVViMDl5WkdsdVlXd29kR2hwY3k1aktTd2dMaTR1Ym05eWJXRnNhWHBsWkNCOUtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYldsNFpXUWdQU0I3SUM0dUxuUm9hWE11ZEc5UFltcGxZM1FvS1N3Z0xpNHVibTl5YldGc2FYcGxaQ0I5TzF4dVhHNGdJQ0FnSUNBdkx5QnBaaUIzWlNCa2FXUnVKM1FnYzJWMElIUm9aU0JrWVhrZ1luVjBJSGRsSUdWdVpHVmtJSFZ3SUc5dUlHRnVJRzkyWlhKbWJHOTNJR1JoZEdVc1hHNGdJQ0FnSUNBdkx5QjFjMlVnZEdobElHeGhjM1FnWkdGNUlHOW1JSFJvWlNCeWFXZG9kQ0J0YjI1MGFGeHVJQ0FnSUNBZ2FXWWdLR2x6Vlc1a1pXWnBibVZrS0c1dmNtMWhiR2w2WldRdVpHRjVLU2tnZTF4dUlDQWdJQ0FnSUNCdGFYaGxaQzVrWVhrZ1BTQk5ZWFJvTG0xcGJpaGtZWGx6U1c1TmIyNTBhQ2h0YVhobFpDNTVaV0Z5TENCdGFYaGxaQzV0YjI1MGFDa3NJRzFwZUdWa0xtUmhlU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ1czUnpMQ0J2WFNBOUlHOWlhbFJ2VkZNb2JXbDRaV1FzSUhSb2FYTXVieXdnZEdocGN5NTZiMjVsS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZMnh2Ym1Vb2RHaHBjeXdnZXlCMGN5d2dieUI5S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkJaR1FnWVNCd1pYSnBiMlFnYjJZZ2RHbHRaU0IwYnlCMGFHbHpJRVJoZEdWVWFXMWxJR0Z1WkNCeVpYUjFjbTRnZEdobElISmxjM1ZzZEdsdVp5QkVZWFJsVkdsdFpWeHVJQ0FnS2x4dUlDQWdLaUJCWkdScGJtY2dhRzkxY25Nc0lHMXBiblYwWlhNc0lITmxZMjl1WkhNc0lHOXlJRzFwYkd4cGMyVmpiMjVrY3lCcGJtTnlaV0Z6WlhNZ2RHaGxJSFJwYldWemRHRnRjQ0JpZVNCMGFHVWdjbWxuYUhRZ2JuVnRZbVZ5SUc5bUlHMXBiR3hwYzJWamIyNWtjeTRnUVdSa2FXNW5JR1JoZVhNc0lHMXZiblJvY3l3Z2IzSWdlV1ZoY25NZ2MyaHBablJ6SUhSb1pTQmpZV3hsYm1SaGNpd2dZV05qYjNWdWRHbHVaeUJtYjNJZ1JGTlVjeUJoYm1RZ2JHVmhjQ0I1WldGeWN5QmhiRzl1WnlCMGFHVWdkMkY1TGlCVWFIVnpMQ0JnWkhRdWNHeDFjeWg3SUdodmRYSnpPaUF5TkNCOUtXQWdiV0Y1SUhKbGMzVnNkQ0JwYmlCaElHUnBabVpsY21WdWRDQjBhVzFsSUhSb1lXNGdZR1IwTG5Cc2RYTW9leUJrWVhsek9pQXhJSDBwWUNCcFppQjBhR1Z5WlNkeklHRWdSRk5VSUhOb2FXWjBJR2x1SUdKbGRIZGxaVzR1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdSSFZ5WVhScGIyNThUMkpxWldOMGZHNTFiV0psY24wZ1pIVnlZWFJwYjI0Z0xTQlVhR1VnWVcxdmRXNTBJSFJ2SUdGa1pDNGdSV2wwYUdWeUlHRWdUSFY0YjI0Z1JIVnlZWFJwYjI0c0lHRWdiblZ0WW1WeUlHOW1JRzFwYkd4cGMyVmpiMjVrY3l3Z2RHaGxJRzlpYW1WamRDQmhjbWQxYldWdWRDQjBieUJFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0NsY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3VjR3gxY3lneE1qTXBJQzh2Zmo0Z2FXNGdNVEl6SUcxcGJHeHBjMlZqYjI1a2MxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzV3YkhWektIc2diV2x1ZFhSbGN6b2dNVFVnZlNrZ0x5OStQaUJwYmlBeE5TQnRhVzUxZEdWelhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG01dmR5Z3BMbkJzZFhNb2V5QmtZWGx6T2lBeElIMHBJQzh2Zmo0Z2RHaHBjeUIwYVcxbElIUnZiVzl5Y205M1hHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG01dmR5Z3BMbkJzZFhNb2V5QmtZWGx6T2lBdE1TQjlLU0F2TDM0K0lIUm9hWE1nZEdsdFpTQjVaWE4wWlhKa1lYbGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1Y0d4MWN5aDdJR2h2ZFhKek9pQXpMQ0J0YVc1MWRHVnpPaUF4TXlCOUtTQXZMMzQrSUdsdUlETWdhSElzSURFeklHMXBibHh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1d2JIVnpLRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCb2IzVnljem9nTXl3Z2JXbHVkWFJsY3pvZ01UTWdmU2twSUM4dmZqNGdhVzRnTXlCb2Npd2dNVE1nYldsdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBSaGRHVlVhVzFsZlZ4dUlDQWdLaTljYmlBZ2NHeDFjeWhrZFhKaGRHbHZiaWtnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0JqYjI1emRDQmtkWElnUFNCRWRYSmhkR2x2Ymk1bWNtOXRSSFZ5WVhScGIyNU1hV3RsS0dSMWNtRjBhVzl1S1R0Y2JpQWdJQ0J5WlhSMWNtNGdZMnh2Ym1Vb2RHaHBjeXdnWVdScWRYTjBWR2x0WlNoMGFHbHpMQ0JrZFhJcEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJUZFdKMGNtRmpkQ0JoSUhCbGNtbHZaQ0J2WmlCMGFXMWxJSFJ2SUhSb2FYTWdSR0YwWlZScGJXVWdZVzVrSUhKbGRIVnliaUIwYUdVZ2NtVnpkV3gwYVc1bklFUmhkR1ZVYVcxbFhHNGdJQ0FxSUZObFpTQjdRR3hwYm1zZ1JHRjBaVlJwYldVamNHeDFjMzFjYmlBZ0lDb2dRSEJoY21GdElIdEVkWEpoZEdsdmJueFBZbXBsWTNSOGJuVnRZbVZ5ZlNCa2RYSmhkR2x2YmlBdElGUm9aU0JoYlc5MWJuUWdkRzhnYzNWaWRISmhZM1F1SUVWcGRHaGxjaUJoSUV4MWVHOXVJRVIxY21GMGFXOXVMQ0JoSUc1MWJXSmxjaUJ2WmlCdGFXeHNhWE5sWTI5dVpITXNJSFJvWlNCdlltcGxZM1FnWVhKbmRXMWxiblFnZEc4Z1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDZ3BYRzRnSUNCQWNtVjBkWEp1SUh0RVlYUmxWR2x0WlgxY2JpQWdJQ292WEc0Z0lHMXBiblZ6S0dSMWNtRjBhVzl1S1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FwSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUdOdmJuTjBJR1IxY2lBOUlFUjFjbUYwYVc5dUxtWnliMjFFZFhKaGRHbHZia3hwYTJVb1pIVnlZWFJwYjI0cExtNWxaMkYwWlNncE8xeHVJQ0FnSUhKbGRIVnliaUJqYkc5dVpTaDBhR2x6TENCaFpHcDFjM1JVYVcxbEtIUm9hWE1zSUdSMWNpa3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZ3aVUyVjBYQ0lnZEdocGN5QkVZWFJsVkdsdFpTQjBieUIwYUdVZ1ltVm5hVzV1YVc1bklHOW1JR0VnZFc1cGRDQnZaaUIwYVcxbExseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnZFc1cGRDQXRJRlJvWlNCMWJtbDBJSFJ2SUdkdklIUnZJSFJvWlNCaVpXZHBibTVwYm1jZ2IyWXVJRU5oYmlCaVpTQW5lV1ZoY2ljc0lDZHhkV0Z5ZEdWeUp5d2dKMjF2Ym5Sb0p5d2dKM2RsWldzbkxDQW5aR0Y1Snl3Z0oyaHZkWEluTENBbmJXbHVkWFJsSnl3Z0ozTmxZMjl1WkNjc0lHOXlJQ2R0YVd4c2FYTmxZMjl1WkNjdVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRRc0lETXNJRE1wTG5OMFlYSjBUMllvSjIxdmJuUm9KeWt1ZEc5SlUwOUVZWFJsS0NrN0lDOHZQVDRnSnpJd01UUXRNRE10TURFblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRRc0lETXNJRE1wTG5OMFlYSjBUMllvSjNsbFlYSW5LUzUwYjBsVFQwUmhkR1VvS1RzZ0x5ODlQaUFuTWpBeE5DMHdNUzB3TVNkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ykc5allXd29NakF4TkN3Z015d2dNeWt1YzNSaGNuUlBaaWduZDJWbGF5Y3BMblJ2U1ZOUFJHRjBaU2dwT3lBdkx6MCtJQ2N5TURFMExUQXpMVEF6Snl3Z2QyVmxhM01nWVd4M1lYbHpJSE4wWVhKMElHOXVJRTF2Ym1SaGVYTmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE5Dd2dNeXdnTXl3Z05Td2dNekFwTG5OMFlYSjBUMllvSjJSaGVTY3BMblJ2U1ZOUFZHbHRaU2dwT3lBdkx6MCtJQ2N3TURvd01DNHdNREF0TURVNk1EQW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJRE1zSURNc0lEVXNJRE13S1M1emRHRnlkRTltS0Nkb2IzVnlKeWt1ZEc5SlUwOVVhVzFsS0NrN0lDOHZQVDRnSnpBMU9qQXdPakF3TGpBd01DMHdOVG93TUNkY2JpQWdJQ29nUUhKbGRIVnliaUI3UkdGMFpWUnBiV1Y5WEc0Z0lDQXFMMXh1SUNCemRHRnlkRTltS0hWdWFYUXBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdZMjl1YzNRZ2J5QTlJSHQ5TEZ4dUlDQWdJQ0FnYm05eWJXRnNhWHBsWkZWdWFYUWdQU0JFZFhKaGRHbHZiaTV1YjNKdFlXeHBlbVZWYm1sMEtIVnVhWFFwTzF4dUlDQWdJSE4zYVhSamFDQW9ibTl5YldGc2FYcGxaRlZ1YVhRcElIdGNiaUFnSUNBZ0lHTmhjMlVnWENKNVpXRnljMXdpT2x4dUlDQWdJQ0FnSUNCdkxtMXZiblJvSUQwZ01UdGNiaUFnSUNBZ0lDOHZJR1poYkd4eklIUm9jbTkxWjJoY2JpQWdJQ0FnSUdOaGMyVWdYQ0p4ZFdGeWRHVnljMXdpT2x4dUlDQWdJQ0FnWTJGelpTQmNJbTF2Ym5Sb2Mxd2lPbHh1SUNBZ0lDQWdJQ0J2TG1SaGVTQTlJREU3WEc0Z0lDQWdJQ0F2THlCbVlXeHNjeUIwYUhKdmRXZG9YRzRnSUNBZ0lDQmpZWE5sSUZ3aWQyVmxhM05jSWpwY2JpQWdJQ0FnSUdOaGMyVWdYQ0prWVhselhDSTZYRzRnSUNBZ0lDQWdJRzh1YUc5MWNpQTlJREE3WEc0Z0lDQWdJQ0F2THlCbVlXeHNjeUIwYUhKdmRXZG9YRzRnSUNBZ0lDQmpZWE5sSUZ3aWFHOTFjbk5jSWpwY2JpQWdJQ0FnSUNBZ2J5NXRhVzUxZEdVZ1BTQXdPMXh1SUNBZ0lDQWdMeThnWm1Gc2JITWdkR2h5YjNWbmFGeHVJQ0FnSUNBZ1kyRnpaU0JjSW0xcGJuVjBaWE5jSWpwY2JpQWdJQ0FnSUNBZ2J5NXpaV052Ym1RZ1BTQXdPMXh1SUNBZ0lDQWdMeThnWm1Gc2JITWdkR2h5YjNWbmFGeHVJQ0FnSUNBZ1kyRnpaU0JjSW5ObFkyOXVaSE5jSWpwY2JpQWdJQ0FnSUNBZ2J5NXRhV3hzYVhObFkyOXVaQ0E5SURBN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnWTJGelpTQmNJbTFwYkd4cGMyVmpiMjVrYzF3aU9seHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUM4dklHNXZJR1JsWm1GMWJIUXNJR2x1ZG1Gc2FXUWdkVzVwZEhNZ2RHaHliM2NnYVc0Z2JtOXliV0ZzYVhwbFZXNXBkQ2dwWEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0c1dmNtMWhiR2w2WldSVmJtbDBJRDA5UFNCY0luZGxaV3R6WENJcElIdGNiaUFnSUNBZ0lHOHVkMlZsYTJSaGVTQTlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0c1dmNtMWhiR2w2WldSVmJtbDBJRDA5UFNCY0luRjFZWEowWlhKelhDSXBJSHRjYmlBZ0lDQWdJR052Ym5OMElIRWdQU0JOWVhSb0xtTmxhV3dvZEdocGN5NXRiMjUwYUNBdklETXBPMXh1SUNBZ0lDQWdieTV0YjI1MGFDQTlJQ2h4SUMwZ01Ta2dLaUF6SUNzZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpaWFFvYnlrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dYQ0pUWlhSY0lpQjBhR2x6SUVSaGRHVlVhVzFsSUhSdklIUm9aU0JsYm1RZ0tHMWxZVzVwYm1jZ2RHaGxJR3hoYzNRZ2JXbHNiR2x6WldOdmJtUXBJRzltSUdFZ2RXNXBkQ0J2WmlCMGFXMWxYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCMWJtbDBJQzBnVkdobElIVnVhWFFnZEc4Z1oyOGdkRzhnZEdobElHVnVaQ0J2Wmk0Z1EyRnVJR0psSUNkNVpXRnlKeXdnSjNGMVlYSjBaWEluTENBbmJXOXVkR2duTENBbmQyVmxheWNzSUNka1lYa25MQ0FuYUc5MWNpY3NJQ2R0YVc1MWRHVW5MQ0FuYzJWamIyNWtKeXdnYjNJZ0oyMXBiR3hwYzJWamIyNWtKeTVjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXViRzlqWVd3b01qQXhOQ3dnTXl3Z015a3VaVzVrVDJZb0oyMXZiblJvSnlrdWRHOUpVMDhvS1RzZ0x5ODlQaUFuTWpBeE5DMHdNeTB6TVZReU16bzFPVG8xT1M0NU9Ua3RNRFU2TURBblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRRc0lETXNJRE1wTG1WdVpFOW1LQ2Q1WldGeUp5a3VkRzlKVTA4b0tUc2dMeTg5UGlBbk1qQXhOQzB4TWkwek1WUXlNem8xT1RvMU9TNDVPVGt0TURVNk1EQW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJRE1zSURNcExtVnVaRTltS0NkM1pXVnJKeWt1ZEc5SlUwOG9LVHNnTHk4Z1BUNGdKekl3TVRRdE1ETXRNRGxVTWpNNk5UazZOVGt1T1RrNUxUQTFPakF3Snl3Z2QyVmxhM01nYzNSaGNuUWdiMjRnVFc5dVpHRjVjMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTBMQ0F6TENBekxDQTFMQ0F6TUNrdVpXNWtUMllvSjJSaGVTY3BMblJ2U1ZOUEtDazdJQzh2UFQ0Z0p6SXdNVFF0TURNdE1ETlVNak02TlRrNk5Ua3VPVGs1TFRBMU9qQXdKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXNiMk5oYkNneU1ERTBMQ0F6TENBekxDQTFMQ0F6TUNrdVpXNWtUMllvSjJodmRYSW5LUzUwYjBsVFR5Z3BPeUF2THowK0lDY3lNREUwTFRBekxUQXpWREExT2pVNU9qVTVMams1T1Mwd05Ub3dNQ2RjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlZScGJXVjlYRzRnSUNBcUwxeHVJQ0JsYm1SUFppaDFibWwwS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYTldZV3hwWkZ4dUlDQWdJQ0FnUHlCMGFHbHpMbkJzZFhNb2V5QmJkVzVwZEYwNklERWdmU2xjYmlBZ0lDQWdJQ0FnSUNBdWMzUmhjblJQWmloMWJtbDBLVnh1SUNBZ0lDQWdJQ0FnSUM1dGFXNTFjeWd4S1Z4dUlDQWdJQ0FnT2lCMGFHbHpPMXh1SUNCOVhHNWNiaUFnTHk4Z1QxVlVVRlZVWEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZU0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCRVlYUmxWR2x0WlNCbWIzSnRZWFIwWldRZ1lXTmpiM0prYVc1bklIUnZJSFJvWlNCemNHVmphV1pwWldRZ1ptOXliV0YwSUhOMGNtbHVaeTVjYmlBZ0lDb2dLaXBaYjNVZ2JXRjVJRzV2ZENCM1lXNTBJSFJvYVhNdUtpb2dVMlZsSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNaVk4wY21sdVozMGdabTl5SUdFZ2JXOXlaU0JtYkdWNGFXSnNaU0JtYjNKdFlYUjBhVzVuSUhSdmIyd3VJRVp2Y2lCaElIUmhZbXhsSUc5bUlIUnZhMlZ1Y3lCaGJtUWdkR2hsYVhJZ2FXNTBaWEp3Y21WMFlYUnBiMjV6TENCelpXVWdXMmhsY21WZEtHaDBkSEJ6T2k4dmJXOXRaVzUwTG1kcGRHaDFZaTVwYnk5c2RYaHZiaThqTDJadmNtMWhkSFJwYm1jL2FXUTlkR0ZpYkdVdGIyWXRkRzlyWlc1ektTNWNiaUFnSUNvZ1JHVm1ZWFZzZEhNZ2RHOGdaVzR0VlZNZ2FXWWdibThnYkc5allXeGxJR2hoY3lCaVpXVnVJSE53WldOcFptbGxaQ3dnY21WbllYSmtiR1Z6Y3lCdlppQjBhR1VnYzNsemRHVnRKM01nYkc5allXeGxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1ptMTBJQzBnZEdobElHWnZjbTFoZENCemRISnBibWRjYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkSE1nTFNCdmNIUnpJSFJ2SUc5MlpYSnlhV1JsSUhSb1pTQmpiMjVtYVdkMWNtRjBhVzl1SUc5d2RHbHZibk1nYjI0Z2RHaHBjeUJFWVhSbFZHbHRaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIwWnZjbTFoZENnbmVYbDVlU0JNVEV3Z1pHUW5LU0F2THowK0lDY3lNREUzSUVGd2NpQXlNaWRjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWMyVjBURzlqWVd4bEtDZG1jaWNwTG5SdlJtOXliV0YwS0NkNWVYbDVJRXhNVENCa1pDY3BJQzh2UFQ0Z0p6SXdNVGNnWVhaeUxpQXlNaWRjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWRHOUdiM0p0WVhRb0ozbDVlWGtnVEV4TUlHUmtKeXdnZXlCc2IyTmhiR1U2SUZ3aVpuSmNJaUI5S1NBdkx6MCtJQ2N5TURFM0lHRjJjaTRnTWpJblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG01dmR5Z3BMblJ2Um05eWJXRjBLRndpU0VnZ0oyaHZkWEp6SUdGdVpDY2diVzBnSjIxcGJuVjBaWE1uWENJcElDOHZQVDRnSnpJd0lHaHZkWEp6SUdGdVpDQTFOU0J0YVc1MWRHVnpKMXh1SUNBZ0tpQkFjbVYwZFhKdUlIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQjBiMFp2Y20xaGRDaG1iWFFzSUc5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdSY2JpQWdJQ0FnSUQ4Z1JtOXliV0YwZEdWeUxtTnlaV0YwWlNoMGFHbHpMbXh2WXk1eVpXUmxabUYxYkhSVWIwVk9LRzl3ZEhNcEtTNW1iM0p0WVhSRVlYUmxWR2x0WlVaeWIyMVRkSEpwYm1jb2RHaHBjeXdnWm0xMEtWeHVJQ0FnSUNBZ09pQkpUbFpCVEVsRU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZU0JzYjJOaGJHbDZaV1FnYzNSeWFXNW5JSEpsY0hKbGMyVnVkR2x1WnlCMGFHbHpJR1JoZEdVdUlFRmpZMlZ3ZEhNZ2RHaGxJSE5oYldVZ2IzQjBhVzl1Y3lCaGN5QjBhR1VnU1c1MGJDNUVZWFJsVkdsdFpVWnZjbTFoZENCamIyNXpkSEoxWTNSdmNpQmhibVFnWVc1NUlIQnlaWE5sZEhNZ1pHVm1hVzVsWkNCaWVTQk1kWGh2Yml3Z2MzVmphQ0JoY3lCZ1JHRjBaVlJwYldVdVJFRlVSVjlHVlV4TVlDQnZjaUJnUkdGMFpWUnBiV1V1VkVsTlJWOVRTVTFRVEVWZ0xseHVJQ0FnS2lCVWFHVWdaWGhoWTNRZ1ltVm9ZWFpwYjNJZ2IyWWdkR2hwY3lCdFpYUm9iMlFnYVhNZ1luSnZkM05sY2kxemNHVmphV1pwWXl3Z1luVjBJR2x1SUdkbGJtVnlZV3dnYVhRZ2QybHNiQ0J5WlhSMWNtNGdZVzRnWVhCd2NtOXdjbWxoZEdVZ2NtVndjbVZ6Wlc1MFlYUnBiMjVjYmlBZ0lDb2diMllnZEdobElFUmhkR1ZVYVcxbElHbHVJSFJvWlNCaGMzTnBaMjVsWkNCc2IyTmhiR1V1WEc0Z0lDQXFJRVJsWm1GMWJIUnpJSFJ2SUhSb1pTQnplWE4wWlcwbmN5QnNiMk5oYkdVZ2FXWWdibThnYkc5allXeGxJR2hoY3lCaVpXVnVJSE53WldOcFptbGxaRnh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2WkdWMlpXeHZjR1Z5TG0xdmVtbHNiR0V1YjNKbkwyVnVMVlZUTDJSdlkzTXZWMlZpTDBwaGRtRlRZM0pwY0hRdlVtVm1aWEpsYm1ObEwwZHNiMkpoYkY5UFltcGxZM1J6TDBSaGRHVlVhVzFsUm05eWJXRjBYRzRnSUNBcUlFQndZWEpoYlNCbWIzSnRZWFJQY0hSeklIdFBZbXBsWTNSOUlDMGdTVzUwYkM1RVlYUmxWR2x0WlVadmNtMWhkQ0JqYjI1emRISjFZM1J2Y2lCdmNIUnBiMjV6SUdGdVpDQmpiMjVtYVdkMWNtRjBhVzl1SUc5d2RHbHZibk5jYmlBZ0lDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOXdkSE1nTFNCdmNIUnpJSFJ2SUc5MlpYSnlhV1JsSUhSb1pTQmpiMjVtYVdkMWNtRjBhVzl1SUc5d2RHbHZibk1nYjI0Z2RHaHBjeUJFWVhSbFZHbHRaVnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIweHZZMkZzWlZOMGNtbHVaeWdwT3lBdkx6MCtJRFF2TWpBdk1qQXhOMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1elpYUk1iMk5oYkdVb0oyVnVMV2RpSnlrdWRHOU1iMk5oYkdWVGRISnBibWNvS1RzZ0x5ODlQaUFuTWpBdk1EUXZNakF4TnlkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3VkRzlNYjJOaGJHVlRkSEpwYm1jb2V5QnNiMk5oYkdVNklDZGxiaTFuWWljZ2ZTazdJQzh2UFQ0Z0p6SXdMekEwTHpJd01UY25YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtNXZkeWdwTG5SdlRHOWpZV3hsVTNSeWFXNW5LRVJoZEdWVWFXMWxMa1JCVkVWZlJsVk1UQ2s3SUM4dlBUNGdKMEZ3Y21sc0lESXdMQ0F5TURFM0oxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzUwYjB4dlkyRnNaVk4wY21sdVp5aEVZWFJsVkdsdFpTNVVTVTFGWDFOSlRWQk1SU2s3SUM4dlBUNGdKekV4T2pNeUlFRk5KMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIweHZZMkZzWlZOMGNtbHVaeWhFWVhSbFZHbHRaUzVFUVZSRlZFbE5SVjlUU0U5U1ZDazdJQzh2UFQ0Z0p6UXZNakF2TWpBeE55d2dNVEU2TXpJZ1FVMG5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtNXZkeWdwTG5SdlRHOWpZV3hsVTNSeWFXNW5LSHNnZDJWbGEyUmhlVG9nSjJ4dmJtY25MQ0J0YjI1MGFEb2dKMnh2Ym1jbkxDQmtZWGs2SUNjeUxXUnBaMmwwSnlCOUtUc2dMeTg5UGlBblZHaDFjbk5rWVhrc0lFRndjbWxzSURJd0oxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzUwYjB4dlkyRnNaVk4wY21sdVp5aDdJSGRsWld0a1lYazZJQ2R6YUc5eWRDY3NJRzF2Ym5Sb09pQW5jMmh2Y25RbkxDQmtZWGs2SUNjeUxXUnBaMmwwSnl3Z2FHOTFjam9nSnpJdFpHbG5hWFFuTENCdGFXNTFkR1U2SUNjeUxXUnBaMmwwSnlCOUtUc2dMeTg5UGlBblZHaDFMQ0JCY0hJZ01qQXNJREV4T2pJM0lFRk5KMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIweHZZMkZzWlZOMGNtbHVaeWg3SUdodmRYSTZJQ2N5TFdScFoybDBKeXdnYldsdWRYUmxPaUFuTWkxa2FXZHBkQ2NzSUdodmRYSkRlV05zWlRvZ0oyZ3lNeWNnZlNrN0lDOHZQVDRnSnpFeE9qTXlKMXh1SUNBZ0tpQkFjbVYwZFhKdUlIdHpkSEpwYm1kOVhHNGdJQ0FxTDF4dUlDQjBiMHh2WTJGc1pWTjBjbWx1WnlobWIzSnRZWFJQY0hSeklEMGdSbTl5YldGMGN5NUVRVlJGWDFOSVQxSlVMQ0J2Y0hSeklEMGdlMzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGMxWmhiR2xrWEc0Z0lDQWdJQ0EvSUVadmNtMWhkSFJsY2k1amNtVmhkR1VvZEdocGN5NXNiMk11WTJ4dmJtVW9iM0IwY3lrc0lHWnZjbTFoZEU5d2RITXBMbVp2Y20xaGRFUmhkR1ZVYVcxbEtIUm9hWE1wWEc0Z0lDQWdJQ0E2SUVsT1ZrRk1TVVE3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCaGJpQmhjbkpoZVNCdlppQm1iM0p0WVhRZ1hDSndZWEowYzF3aUxDQnRaV0Z1YVc1bklHbHVaR2wyYVdSMVlXd2dkRzlyWlc1eklHRnNiMjVuSUhkcGRHZ2diV1YwWVdSaGRHRXVJRlJvYVhNZ2FYTWdZV3hzYjNkeklHTmhiR3hsY25NZ2RHOGdjRzl6ZEMxd2NtOWpaWE56SUdsdVpHbDJhV1IxWVd3Z2MyVmpkR2x2Ym5NZ2IyWWdkR2hsSUdadmNtMWhkSFJsWkNCdmRYUndkWFF1WEc0Z0lDQXFJRVJsWm1GMWJIUnpJSFJ2SUhSb1pTQnplWE4wWlcwbmN5QnNiMk5oYkdVZ2FXWWdibThnYkc5allXeGxJR2hoY3lCaVpXVnVJSE53WldOcFptbGxaRnh1SUNBZ0tpQkFjMlZsSUdoMGRIQnpPaTh2WkdWMlpXeHZjR1Z5TG0xdmVtbHNiR0V1YjNKbkwyVnVMVlZUTDJSdlkzTXZWMlZpTDBwaGRtRlRZM0pwY0hRdlVtVm1aWEpsYm1ObEwwZHNiMkpoYkY5UFltcGxZM1J6TDBSaGRHVlVhVzFsUm05eWJXRjBMMlp2Y20xaGRGUnZVR0Z5ZEhOY2JpQWdJQ29nUUhCaGNtRnRJRzl3ZEhNZ2UwOWlhbVZqZEgwZ0xTQkpiblJzTGtSaGRHVlVhVzFsUm05eWJXRjBJR052Ym5OMGNuVmpkRzl5SUc5d2RHbHZibk1zSUhOaGJXVWdZWE1nWUhSdlRHOWpZV3hsVTNSeWFXNW5ZQzVjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVibTkzS0NrdWRHOU1iMk5oYkdWUVlYSjBjeWdwT3lBdkx6MCtJRnRjYmlBZ0lDb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZQVDRnSUNCN0lIUjVjR1U2SUNka1lYa25MQ0IyWVd4MVpUb2dKekkxSnlCOUxGeHVJQ0FnS2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4OVBpQWdJSHNnZEhsd1pUb2dKMnhwZEdWeVlXd25MQ0IyWVd4MVpUb2dKeThuSUgwc1hHNGdJQ0FxSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THowK0lDQWdleUIwZVhCbE9pQW5iVzl1ZEdnbkxDQjJZV3gxWlRvZ0p6QTFKeUI5TEZ4dUlDQWdLaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeTg5UGlBZ0lIc2dkSGx3WlRvZ0oyeHBkR1Z5WVd3bkxDQjJZV3gxWlRvZ0p5OG5JSDBzWEc0Z0lDQXFJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMejArSUNBZ2V5QjBlWEJsT2lBbmVXVmhjaWNzSUhaaGJIVmxPaUFuTVRrNE1pY2dmVnh1SUNBZ0tpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5ODlQaUJkWEc0Z0lDQXFMMXh1SUNCMGIweHZZMkZzWlZCaGNuUnpLRzl3ZEhNZ1BTQjdmU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1selZtRnNhV1JjYmlBZ0lDQWdJRDhnUm05eWJXRjBkR1Z5TG1OeVpXRjBaU2gwYUdsekxteHZZeTVqYkc5dVpTaHZjSFJ6S1N3Z2IzQjBjeWt1Wm05eWJXRjBSR0YwWlZScGJXVlFZWEowY3loMGFHbHpLVnh1SUNBZ0lDQWdPaUJiWFR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhMV052YlhCc2FXRnVkQ0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCRVlYUmxWR2x0WlZ4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwY3lBdElHOXdkR2x2Ym5OY2JpQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0JiYjNCMGN5NXpkWEJ3Y21WemMwMXBiR3hwYzJWamIyNWtjejFtWVd4elpWMGdMU0JsZUdOc2RXUmxJRzFwYkd4cGMyVmpiMjVrY3lCbWNtOXRJSFJvWlNCbWIzSnRZWFFnYVdZZ2RHaGxlU2R5WlNBd1hHNGdJQ0FxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzI5d2RITXVjM1Z3Y0hKbGMzTlRaV052Ym1SelBXWmhiSE5sWFNBdElHVjRZMngxWkdVZ2MyVmpiMjVrY3lCbWNtOXRJSFJvWlNCbWIzSnRZWFFnYVdZZ2RHaGxlU2R5WlNBd1hHNGdJQ0FxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzI5d2RITXVhVzVqYkhWa1pVOW1abk5sZEQxMGNuVmxYU0F0SUdsdVkyeDFaR1VnZEdobElHOW1abk5sZEN3Z2MzVmphQ0JoY3lBbldpY2diM0lnSnkwd05Eb3dNQ2RjYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJiM0IwY3k1bGVIUmxibVJsWkZwdmJtVTlkSEoxWlYwZ0xTQmhaR1FnZEdobElIUnBiV1VnZW05dVpTQm1iM0p0WVhRZ1pYaDBaVzV6YVc5dVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NW1iM0p0WVhROUoyVjRkR1Z1WkdWa0oxMGdMU0JqYUc5dmMyVWdZbVYwZDJWbGJpQjBhR1VnWW1GemFXTWdZVzVrSUdWNGRHVnVaR1ZrSUdadmNtMWhkRnh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNTFkR01vTVRrNE15d2dOU3dnTWpVcExuUnZTVk5QS0NrZ0x5ODlQaUFuTVRrNE1pMHdOUzB5TlZRd01Eb3dNRG93TUM0d01EQmFKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1MGIwbFRUeWdwSUM4dlBUNGdKekl3TVRjdE1EUXRNakpVTWpBNk5EYzZNRFV1TXpNMUxUQTBPakF3SjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNTBiMGxUVHloN0lHbHVZMngxWkdWUFptWnpaWFE2SUdaaGJITmxJSDBwSUM4dlBUNGdKekl3TVRjdE1EUXRNakpVTWpBNk5EYzZNRFV1TXpNMUoxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzUwYjBsVFR5aDdJR1p2Y20xaGREb2dKMkpoYzJsakp5QjlLU0F2THowK0lDY3lNREUzTURReU1sUXlNRFEzTURVdU16TTFMVEEwTURBblhHNGdJQ0FxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhSdlNWTlBLSHRjYmlBZ0lDQm1iM0p0WVhRZ1BTQmNJbVY0ZEdWdVpHVmtYQ0lzWEc0Z0lDQWdjM1Z3Y0hKbGMzTlRaV052Ym1SeklEMGdabUZzYzJVc1hHNGdJQ0FnYzNWd2NISmxjM05OYVd4c2FYTmxZMjl1WkhNZ1BTQm1ZV3h6WlN4Y2JpQWdJQ0JwYm1Oc2RXUmxUMlptYzJWMElEMGdkSEoxWlN4Y2JpQWdJQ0JsZUhSbGJtUmxaRnB2Ym1VZ1BTQm1ZV3h6WlN4Y2JpQWdmU0E5SUh0OUtTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtbHpWbUZzYVdRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUdWNGRDQTlJR1p2Y20xaGRDQTlQVDBnWENKbGVIUmxibVJsWkZ3aU8xeHVYRzRnSUNBZ2JHVjBJR01nUFNCMGIwbFRUMFJoZEdVb2RHaHBjeXdnWlhoMEtUdGNiaUFnSUNCaklDczlJRndpVkZ3aU8xeHVJQ0FnSUdNZ0t6MGdkRzlKVTA5VWFXMWxLSFJvYVhNc0lHVjRkQ3dnYzNWd2NISmxjM05UWldOdmJtUnpMQ0J6ZFhCd2NtVnpjMDFwYkd4cGMyVmpiMjVrY3l3Z2FXNWpiSFZrWlU5bVpuTmxkQ3dnWlhoMFpXNWtaV1JhYjI1bEtUdGNiaUFnSUNCeVpYUjFjbTRnWXp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhMV052YlhCc2FXRnVkQ0J6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCRVlYUmxWR2x0WlNkeklHUmhkR1VnWTI5dGNHOXVaVzUwWEc0Z0lDQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQnZjSFJ6SUMwZ2IzQjBhVzl1YzF4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMjl3ZEhNdVptOXliV0YwUFNkbGVIUmxibVJsWkNkZElDMGdZMmh2YjNObElHSmxkSGRsWlc0Z2RHaGxJR0poYzJsaklHRnVaQ0JsZUhSbGJtUmxaQ0JtYjNKdFlYUmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWRYUmpLREU1T0RJc0lEVXNJREkxS1M1MGIwbFRUMFJoZEdVb0tTQXZMejArSUNjeE9UZ3lMVEExTFRJMUoxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9NVGs0TWl3Z05Td2dNalVwTG5SdlNWTlBSR0YwWlNoN0lHWnZjbTFoZERvZ0oySmhjMmxqSnlCOUtTQXZMejArSUNjeE9UZ3lNRFV5TlNkY2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnZEc5SlUwOUVZWFJsS0hzZ1ptOXliV0YwSUQwZ1hDSmxlSFJsYm1SbFpGd2lJSDBnUFNCN2ZTa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMVpoYkdsa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHOUpVMDlFWVhSbEtIUm9hWE1zSUdadmNtMWhkQ0E5UFQwZ1hDSmxlSFJsYm1SbFpGd2lLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUdGdUlFbFRUeUE0TmpBeExXTnZiWEJzYVdGdWRDQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaHBjeUJFWVhSbFZHbHRaU2R6SUhkbFpXc2daR0YwWlZ4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzUxZEdNb01UazRNaXdnTlN3Z01qVXBMblJ2U1ZOUFYyVmxhMFJoZEdVb0tTQXZMejArSUNjeE9UZ3lMVmN5TVMweUoxeHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCMGIwbFRUMWRsWld0RVlYUmxLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBiMVJsWTJoR2IzSnRZWFFvZEdocGN5d2dYQ0pyYTJ0ckxTZFhKMWRYTFdOY0lpazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJoYmlCSlUwOGdPRFl3TVMxamIyMXdiR2xoYm5RZ2MzUnlhVzVuSUhKbGNISmxjMlZ1ZEdGMGFXOXVJRzltSUhSb2FYTWdSR0YwWlZScGJXVW5jeUIwYVcxbElHTnZiWEJ2Ym1WdWRGeHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGN5QXRJRzl3ZEdsdmJuTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmIzQjBjeTV6ZFhCd2NtVnpjMDFwYkd4cGMyVmpiMjVrY3oxbVlXeHpaVjBnTFNCbGVHTnNkV1JsSUcxcGJHeHBjMlZqYjI1a2N5Qm1jbTl0SUhSb1pTQm1iM0p0WVhRZ2FXWWdkR2hsZVNkeVpTQXdYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YzNWd2NISmxjM05UWldOdmJtUnpQV1poYkhObFhTQXRJR1Y0WTJ4MVpHVWdjMlZqYjI1a2N5Qm1jbTl0SUhSb1pTQm1iM0p0WVhRZ2FXWWdkR2hsZVNkeVpTQXdYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YVc1amJIVmtaVTltWm5ObGREMTBjblZsWFNBdElHbHVZMngxWkdVZ2RHaGxJRzltWm5ObGRDd2djM1ZqYUNCaGN5QW5XaWNnYjNJZ0p5MHdORG93TUNkY2JpQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0JiYjNCMGN5NWxlSFJsYm1SbFpGcHZibVU5ZEhKMVpWMGdMU0JoWkdRZ2RHaGxJSFJwYldVZ2VtOXVaU0JtYjNKdFlYUWdaWGgwWlc1emFXOXVYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyOXdkSE11YVc1amJIVmtaVkJ5WldacGVEMW1ZV3h6WlYwZ0xTQnBibU5zZFdSbElIUm9aU0JnVkdBZ2NISmxabWw0WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwY3k1bWIzSnRZWFE5SjJWNGRHVnVaR1ZrSjEwZ0xTQmphRzl2YzJVZ1ltVjBkMlZsYmlCMGFHVWdZbUZ6YVdNZ1lXNWtJR1Y0ZEdWdVpHVmtJR1p2Y20xaGRGeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9LUzV6WlhRb2V5Qm9iM1Z5T2lBM0xDQnRhVzUxZEdVNklETTBJSDBwTG5SdlNWTlBWR2x0WlNncElDOHZQVDRnSnpBM09qTTBPakU1TGpNMk1Wb25YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExuVjBZeWdwTG5ObGRDaDdJR2h2ZFhJNklEY3NJRzFwYm5WMFpUb2dNelFzSUhObFkyOXVaSE02SURBc0lHMXBiR3hwYzJWamIyNWtjem9nTUNCOUtTNTBiMGxUVDFScGJXVW9leUJ6ZFhCd2NtVnpjMU5sWTI5dVpITTZJSFJ5ZFdVZ2ZTa2dMeTg5UGlBbk1EYzZNelJhSjF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzUxZEdNb0tTNXpaWFFvZXlCb2IzVnlPaUEzTENCdGFXNTFkR1U2SURNMElIMHBMblJ2U1ZOUFZHbHRaU2g3SUdadmNtMWhkRG9nSjJKaGMybGpKeUI5S1NBdkx6MCtJQ2N3TnpNME1Ua3VNell4V2lkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1ZFhSaktDa3VjMlYwS0hzZ2FHOTFjam9nTnl3Z2JXbHVkWFJsT2lBek5DQjlLUzUwYjBsVFQxUnBiV1VvZXlCcGJtTnNkV1JsVUhKbFptbDRPaUIwY25WbElIMHBJQzh2UFQ0Z0oxUXdOem96TkRveE9TNHpOakZhSjF4dUlDQWdLaUJBY21WMGRYSnVJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0IwYjBsVFQxUnBiV1VvZTF4dUlDQWdJSE4xY0hCeVpYTnpUV2xzYkdselpXTnZibVJ6SUQwZ1ptRnNjMlVzWEc0Z0lDQWdjM1Z3Y0hKbGMzTlRaV052Ym1SeklEMGdabUZzYzJVc1hHNGdJQ0FnYVc1amJIVmtaVTltWm5ObGRDQTlJSFJ5ZFdVc1hHNGdJQ0FnYVc1amJIVmtaVkJ5WldacGVDQTlJR1poYkhObExGeHVJQ0FnSUdWNGRHVnVaR1ZrV205dVpTQTlJR1poYkhObExGeHVJQ0FnSUdadmNtMWhkQ0E5SUZ3aVpYaDBaVzVrWldSY0lpeGNiaUFnZlNBOUlIdDlLU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6Vm1Gc2FXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmx4dUlDQWdJR3hsZENCaklEMGdhVzVqYkhWa1pWQnlaV1pwZUNBL0lGd2lWRndpSURvZ1hDSmNJanRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ1l5QXJYRzRnSUNBZ0lDQjBiMGxUVDFScGJXVW9YRzRnSUNBZ0lDQWdJSFJvYVhNc1hHNGdJQ0FnSUNBZ0lHWnZjbTFoZENBOVBUMGdYQ0psZUhSbGJtUmxaRndpTEZ4dUlDQWdJQ0FnSUNCemRYQndjbVZ6YzFObFkyOXVaSE1zWEc0Z0lDQWdJQ0FnSUhOMWNIQnlaWE56VFdsc2JHbHpaV052Ym1SekxGeHVJQ0FnSUNBZ0lDQnBibU5zZFdSbFQyWm1jMlYwTEZ4dUlDQWdJQ0FnSUNCbGVIUmxibVJsWkZwdmJtVmNiaUFnSUNBZ0lDbGNiaUFnSUNBcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZVzRnVWtaRElESTRNakl0WTI5dGNHRjBhV0pzWlNCemRISnBibWNnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdocGN5QkVZWFJsVkdsdFpWeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1MWRHTW9NakF4TkN3Z055d2dNVE1wTG5SdlVrWkRNamd5TWlncElDOHZQVDRnSjFOMWJpd2dNVE1nU25Wc0lESXdNVFFnTURBNk1EQTZNREFnS3pBd01EQW5YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJRGNzSURFektTNTBiMUpHUXpJNE1qSW9LU0F2THowK0lDZFRkVzRzSURFeklFcDFiQ0F5TURFMElEQXdPakF3T2pBd0lDMHdOREF3SjF4dUlDQWdLaUJBY21WMGRYSnVJSHR6ZEhKcGJtZDlYRzRnSUNBcUwxeHVJQ0IwYjFKR1F6STRNaklvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJ2VkdWamFFWnZjbTFoZENoMGFHbHpMQ0JjSWtWRlJTd2daR1FnVEV4TUlIbDVlWGtnU0VnNmJXMDZjM01nV2xwYVhDSXNJR1poYkhObEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnYzNSeWFXNW5JSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JSFJvYVhNZ1JHRjBaVlJwYldVZ1lYQndjbTl3Y21saGRHVWdabTl5SUhWelpTQnBiaUJJVkZSUUlHaGxZV1JsY25NdUlGUm9aU0J2ZFhSd2RYUWdhWE1nWVd4M1lYbHpJR1Y0Y0hKbGMzTmxaQ0JwYmlCSFRWUXVYRzRnSUNBcUlGTndaV05wWm1sallXeHNlU3dnZEdobElITjBjbWx1WnlCamIyNW1iM0p0Y3lCMGJ5QlNSa01nTVRFeU15NWNiaUFnSUNvZ1FITmxaU0JvZEhSd2N6b3ZMM2QzZHk1M015NXZjbWN2VUhKdmRHOWpiMnh6TDNKbVl6STJNVFl2Y21aak1qWXhOaTF6WldNekxtaDBiV3dqYzJWak15NHpMakZjYmlBZ0lDb2dRR1Y0WVcxd2JHVWdSR0YwWlZScGJXVXVkWFJqS0RJd01UUXNJRGNzSURFektTNTBiMGhVVkZBb0tTQXZMejArSUNkVGRXNHNJREV6SUVwMWJDQXlNREUwSURBd09qQXdPakF3SUVkTlZDZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWRYUmpLREl3TVRRc0lEY3NJREV6TENBeE9Ta3VkRzlJVkZSUUtDa2dMeTg5UGlBblUzVnVMQ0F4TXlCS2RXd2dNakF4TkNBeE9Ub3dNRG93TUNCSFRWUW5YRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZTRlJVVUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEc5VVpXTm9SbTl5YldGMEtIUm9hWE11ZEc5VlZFTW9LU3dnWENKRlJVVXNJR1JrSUV4TVRDQjVlWGw1SUVoSU9tMXRPbk56SUNkSFRWUW5YQ0lwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ1lTQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaHBjeUJFWVhSbFZHbHRaU0JoY0hCeWIzQnlhV0YwWlNCbWIzSWdkWE5sSUdsdUlGTlJUQ0JFWVhSbFhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG5WMFl5Z3lNREUwTENBM0xDQXhNeWt1ZEc5VFVVeEVZWFJsS0NrZ0x5ODlQaUFuTWpBeE5DMHdOeTB4TXlkY2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5mVnh1SUNBZ0tpOWNiaUFnZEc5VFVVeEVZWFJsS0NrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJ2U1ZOUFJHRjBaU2gwYUdsekxDQjBjblZsS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRWdjM1J5YVc1bklISmxjSEpsYzJWdWRHRjBhVzl1SUc5bUlIUm9hWE1nUkdGMFpWUnBiV1VnWVhCd2NtOXdjbWxoZEdVZ1ptOXlJSFZ6WlNCcGJpQlRVVXdnVkdsdFpWeHVJQ0FnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGN5QXRJRzl3ZEdsdmJuTmNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmIzQjBjeTVwYm1Oc2RXUmxXbTl1WlQxbVlXeHpaVjBnTFNCcGJtTnNkV1JsSUhSb1pTQjZiMjVsTENCemRXTm9JR0Z6SUNkQmJXVnlhV05oTDA1bGQxOVpiM0pySnk0Z1QzWmxjbkpwWkdWeklHbHVZMngxWkdWUFptWnpaWFF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMjl3ZEhNdWFXNWpiSFZrWlU5bVpuTmxkRDEwY25WbFhTQXRJR2x1WTJ4MVpHVWdkR2hsSUc5bVpuTmxkQ3dnYzNWamFDQmhjeUFuV2ljZ2IzSWdKeTB3TkRvd01DZGNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmIzQjBjeTVwYm1Oc2RXUmxUMlptYzJWMFUzQmhZMlU5ZEhKMVpWMGdMU0JwYm1Oc2RXUmxJSFJvWlNCemNHRmpaU0JpWlhSM1pXVnVJSFJvWlNCMGFXMWxJR0Z1WkNCMGFHVWdiMlptYzJWMExDQnpkV05vSUdGeklDY3dOVG94TlRveE5pNHpORFVnTFRBME9qQXdKMXh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNTFkR01vS1M1MGIxTlJUQ2dwSUM4dlBUNGdKekExT2pFMU9qRTJMak0wTlNkY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3VkRzlUVVV3b0tTQXZMejArSUNjd05Ub3hOVG94Tmk0ek5EVWdMVEEwT2pBd0oxeHVJQ0FnS2lCQVpYaGhiWEJzWlNCRVlYUmxWR2x0WlM1dWIzY29LUzUwYjFOUlRDaDdJR2x1WTJ4MVpHVlBabVp6WlhRNklHWmhiSE5sSUgwcElDOHZQVDRnSnpBMU9qRTFPakUyTGpNME5TZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1ZEc5VFVVd29leUJwYm1Oc2RXUmxXbTl1WlRvZ1ptRnNjMlVnZlNrZ0x5ODlQaUFuTURVNk1UVTZNVFl1TXpRMUlFRnRaWEpwWTJFdlRtVjNYMWx2Y21zblhHNGdJQ0FxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMzFjYmlBZ0lDb3ZYRzRnSUhSdlUxRk1WR2x0WlNoN0lHbHVZMngxWkdWUFptWnpaWFFnUFNCMGNuVmxMQ0JwYm1Oc2RXUmxXbTl1WlNBOUlHWmhiSE5sTENCcGJtTnNkV1JsVDJabWMyVjBVM0JoWTJVZ1BTQjBjblZsSUgwZ1BTQjdmU2tnZTF4dUlDQWdJR3hsZENCbWJYUWdQU0JjSWtoSU9tMXRPbk56TGxOVFUxd2lPMXh1WEc0Z0lDQWdhV1lnS0dsdVkyeDFaR1ZhYjI1bElIeDhJR2x1WTJ4MVpHVlBabVp6WlhRcElIdGNiaUFnSUNBZ0lHbG1JQ2hwYm1Oc2RXUmxUMlptYzJWMFUzQmhZMlVwSUh0Y2JpQWdJQ0FnSUNBZ1ptMTBJQ3M5SUZ3aUlGd2lPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0dsdVkyeDFaR1ZhYjI1bEtTQjdYRzRnSUNBZ0lDQWdJR1p0ZENBclBTQmNJbnBjSWp0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FXNWpiSFZrWlU5bVpuTmxkQ2tnZTF4dUlDQWdJQ0FnSUNCbWJYUWdLejBnWENKYVdsd2lPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGIxUmxZMmhHYjNKdFlYUW9kR2hwY3l3Z1ptMTBMQ0IwY25WbEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnYzNSeWFXNW5JSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JSFJvYVhNZ1JHRjBaVlJwYldVZ1lYQndjbTl3Y21saGRHVWdabTl5SUhWelpTQnBiaUJUVVV3Z1JHRjBaVlJwYldWY2JpQWdJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJRzl3ZEhNZ0xTQnZjSFJwYjI1elhHNGdJQ0FxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzI5d2RITXVhVzVqYkhWa1pWcHZibVU5Wm1Gc2MyVmRJQzBnYVc1amJIVmtaU0IwYUdVZ2VtOXVaU3dnYzNWamFDQmhjeUFuUVcxbGNtbGpZUzlPWlhkZldXOXlheWN1SUU5MlpYSnlhV1JsY3lCcGJtTnNkV1JsVDJabWMyVjBMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UySnZiMnhsWVc1OUlGdHZjSFJ6TG1sdVkyeDFaR1ZQWm1aelpYUTlkSEoxWlYwZ0xTQnBibU5zZFdSbElIUm9aU0J2Wm1aelpYUXNJSE4xWTJnZ1lYTWdKMW9uSUc5eUlDY3RNRFE2TURBblhHNGdJQ0FxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzI5d2RITXVhVzVqYkhWa1pVOW1abk5sZEZOd1lXTmxQWFJ5ZFdWZElDMGdhVzVqYkhWa1pTQjBhR1VnYzNCaFkyVWdZbVYwZDJWbGJpQjBhR1VnZEdsdFpTQmhibVFnZEdobElHOW1abk5sZEN3Z2MzVmphQ0JoY3lBbk1EVTZNVFU2TVRZdU16UTFJQzB3TkRvd01DZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWRYUmpLREl3TVRRc0lEY3NJREV6S1M1MGIxTlJUQ2dwSUM4dlBUNGdKekl3TVRRdE1EY3RNVE1nTURBNk1EQTZNREF1TURBd0lGb25YRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExteHZZMkZzS0RJd01UUXNJRGNzSURFektTNTBiMU5SVENncElDOHZQVDRnSnpJd01UUXRNRGN0TVRNZ01EQTZNREE2TURBdU1EQXdJQzB3TkRvd01DZGNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJHOWpZV3dvTWpBeE5Dd2dOeXdnTVRNcExuUnZVMUZNS0hzZ2FXNWpiSFZrWlU5bVpuTmxkRG9nWm1Gc2MyVWdmU2tnTHk4OVBpQW5NakF4TkMwd055MHhNeUF3TURvd01Eb3dNQzR3TURBblhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG14dlkyRnNLREl3TVRRc0lEY3NJREV6S1M1MGIxTlJUQ2g3SUdsdVkyeDFaR1ZhYjI1bE9pQjBjblZsSUgwcElDOHZQVDRnSnpJd01UUXRNRGN0TVRNZ01EQTZNREE2TURBdU1EQXdJRUZ0WlhKcFkyRXZUbVYzWDFsdmNtc25YRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZVMUZNS0c5d2RITWdQU0I3ZlNrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxWmhiR2xrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWUNSN2RHaHBjeTUwYjFOUlRFUmhkR1VvS1gwZ0pIdDBhR2x6TG5SdlUxRk1WR2x0WlNodmNIUnpLWDFnTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ1lTQnpkSEpwYm1jZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaHBjeUJFWVhSbFZHbHRaU0JoY0hCeWIzQnlhV0YwWlNCbWIzSWdaR1ZpZFdkbmFXNW5YRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjMxY2JpQWdJQ292WEc0Z0lIUnZVM1J5YVc1bktDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUIwYUdsekxuUnZTVk5QS0NrZ09pQkpUbFpCVEVsRU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdkR2hsSUdWd2IyTm9JRzFwYkd4cGMyVmpiMjVrY3lCdlppQjBhR2x6SUVSaGRHVlVhVzFsTGlCQmJHbGhjeUJ2WmlCN1FHeHBibXNnUkdGMFpWUnBiV1VqZEc5TmFXeHNhWE45WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMjUxYldKbGNuMWNiaUFnSUNvdlhHNGdJSFpoYkhWbFQyWW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5TmFXeHNhWE1vS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIUm9aU0JsY0c5amFDQnRhV3hzYVhObFkyOXVaSE1nYjJZZ2RHaHBjeUJFWVhSbFZHbHRaUzVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdiblZ0WW1WeWZWeHVJQ0FnS2k5Y2JpQWdkRzlOYVd4c2FYTW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhOV1lXeHBaQ0EvSUhSb2FYTXVkSE1nT2lCT1lVNDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUIwYUdVZ1pYQnZZMmdnYzJWamIyNWtjeUJ2WmlCMGFHbHpJRVJoZEdWVWFXMWxMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQjBiMU5sWTI5dVpITW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhOV1lXeHBaQ0EvSUhSb2FYTXVkSE1nTHlBeE1EQXdJRG9nVG1GT08xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdkR2hsSUdWd2IyTm9JSE5sWTI5dVpITWdLR0Z6SUdFZ2QyaHZiR1VnYm5WdFltVnlLU0J2WmlCMGFHbHpJRVJoZEdWVWFXMWxMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOVhHNGdJQ0FxTDF4dUlDQjBiMVZ1YVhoSmJuUmxaMlZ5S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHpWbUZzYVdRZ1B5Qk5ZWFJvTG1ac2IyOXlLSFJvYVhNdWRITWdMeUF4TURBd0tTQTZJRTVoVGp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRnVJRWxUVHlBNE5qQXhJSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JSFJvYVhNZ1JHRjBaVlJwYldVZ1lYQndjbTl3Y21saGRHVWdabTl5SUhWelpTQnBiaUJLVTA5T0xseHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5WEc0Z0lDQXFMMXh1SUNCMGIwcFRUMDRvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOUpVMDhvS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHRWdRbE5QVGlCelpYSnBZV3hwZW1GaWJHVWdaWEYxYVhaaGJHVnVkQ0IwYnlCMGFHbHpJRVJoZEdWVWFXMWxMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVZWFJsZlZ4dUlDQWdLaTljYmlBZ2RHOUNVMDlPS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuUnZTbE5FWVhSbEtDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJoSUVwaGRtRlRZM0pwY0hRZ2IySnFaV04wSUhkcGRHZ2dkR2hwY3lCRVlYUmxWR2x0WlNkeklIbGxZWElzSUcxdmJuUm9MQ0JrWVhrc0lHRnVaQ0J6YnlCdmJpNWNiaUFnSUNvZ1FIQmhjbUZ0SUc5d2RITWdMU0J2Y0hScGIyNXpJR1p2Y2lCblpXNWxjbUYwYVc1bklIUm9aU0J2WW1wbFkzUmNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYmIzQjBjeTVwYm1Oc2RXUmxRMjl1Wm1sblBXWmhiSE5sWFNBdElHbHVZMngxWkdVZ1kyOXVabWxuZFhKaGRHbHZiaUJoZEhSeWFXSjFkR1Z6SUdsdUlIUm9aU0J2ZFhSd2RYUmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1ZEc5UFltcGxZM1FvS1NBdkx6MCtJSHNnZVdWaGNqb2dNakF4Tnl3Z2JXOXVkR2c2SURRc0lHUmhlVG9nTWpJc0lHaHZkWEk2SURJd0xDQnRhVzUxZEdVNklEUTVMQ0J6WldOdmJtUTZJRFF5TENCdGFXeHNhWE5sWTI5dVpEb2dNalk0SUgxY2JpQWdJQ29nUUhKbGRIVnliaUI3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnZEc5UFltcGxZM1FvYjNCMGN5QTlJSHQ5S1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1selZtRnNhV1FwSUhKbGRIVnliaUI3ZlR0Y2JseHVJQ0FnSUdOdmJuTjBJR0poYzJVZ1BTQjdJQzR1TG5Sb2FYTXVZeUI5TzF4dVhHNGdJQ0FnYVdZZ0tHOXdkSE11YVc1amJIVmtaVU52Ym1acFp5a2dlMXh1SUNBZ0lDQWdZbUZ6WlM1dmRYUndkWFJEWVd4bGJtUmhjaUE5SUhSb2FYTXViM1YwY0hWMFEyRnNaVzVrWVhJN1hHNGdJQ0FnSUNCaVlYTmxMbTUxYldKbGNtbHVaMU41YzNSbGJTQTlJSFJvYVhNdWJHOWpMbTUxYldKbGNtbHVaMU41YzNSbGJUdGNiaUFnSUNBZ0lHSmhjMlV1Ykc5allXeGxJRDBnZEdocGN5NXNiMk11Ykc5allXeGxPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWW1GelpUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR0VnU21GMllWTmpjbWx3ZENCRVlYUmxJR1Z4ZFdsMllXeGxiblFnZEc4Z2RHaHBjeUJFWVhSbFZHbHRaUzVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR0YwWlgxY2JpQWdJQ292WEc0Z0lIUnZTbE5FWVhSbEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dSR0YwWlNoMGFHbHpMbWx6Vm1Gc2FXUWdQeUIwYUdsekxuUnpJRG9nVG1GT0tUdGNiaUFnZlZ4dVhHNGdJQzh2SUVOUFRWQkJVa1ZjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdUlIUm9aU0JrYVdabVpYSmxibU5sSUdKbGRIZGxaVzRnZEhkdklFUmhkR1ZVYVcxbGN5QmhjeUJoSUVSMWNtRjBhVzl1TGx4dUlDQWdLaUJBY0dGeVlXMGdlMFJoZEdWVWFXMWxmU0J2ZEdobGNrUmhkR1ZVYVcxbElDMGdkR2hsSUVSaGRHVlVhVzFsSUhSdklHTnZiWEJoY21VZ2RHaHBjeUJ2Ym1VZ2RHOWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ4YzNSeWFXNW5XMTE5SUZ0MWJtbDBQVnNuYldsc2JHbHpaV052Ym1SekoxMWRJQzBnZEdobElIVnVhWFFnYjNJZ1lYSnlZWGtnYjJZZ2RXNXBkSE1nS0hOMVkyZ2dZWE1nSjJodmRYSnpKeUJ2Y2lBblpHRjVjeWNwSUhSdklHbHVZMngxWkdVZ2FXNGdkR2hsSUdSMWNtRjBhVzl1TGx4dUlDQWdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdiM0IwY3lBdElHOXdkR2x2Ym5NZ2RHaGhkQ0JoWm1abFkzUWdkR2hsSUdOeVpXRjBhVzl1SUc5bUlIUm9aU0JFZFhKaGRHbHZibHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyOXdkSE11WTI5dWRtVnljMmx2YmtGalkzVnlZV041UFNkallYTjFZV3duWFNBdElIUm9aU0JqYjI1MlpYSnphVzl1SUhONWMzUmxiU0IwYnlCMWMyVmNiaUFnSUNvZ1FHVjRZVzF3YkdWY2JpQWdJQ29nZG1GeUlHa3hJRDBnUkdGMFpWUnBiV1V1Wm5KdmJVbFRUeWduTVRrNE1pMHdOUzB5TlZRd09UbzBOU2NwTEZ4dUlDQWdLaUFnSUNBZ2FUSWdQU0JFWVhSbFZHbHRaUzVtY205dFNWTlBLQ2N4T1RnekxURXdMVEUwVkRFd09qTXdKeWs3WEc0Z0lDQXFJR2t5TG1ScFptWW9hVEVwTG5SdlQySnFaV04wS0NrZ0x5ODlQaUI3SUcxcGJHeHBjMlZqYjI1a2N6b2dORE00TURjMU1EQXdNREFnZlZ4dUlDQWdLaUJwTWk1a2FXWm1LR2t4TENBbmFHOTFjbk1uS1M1MGIwOWlhbVZqZENncElDOHZQVDRnZXlCb2IzVnljem9nTVRJeE5qZ3VOelVnZlZ4dUlDQWdLaUJwTWk1a2FXWm1LR2t4TENCYkoyMXZiblJvY3ljc0lDZGtZWGx6SjEwcExuUnZUMkpxWldOMEtDa2dMeTg5UGlCN0lHMXZiblJvY3pvZ01UWXNJR1JoZVhNNklERTVMakF6TVRJMUlIMWNiaUFnSUNvZ2FUSXVaR2xtWmlocE1Td2dXeWR0YjI1MGFITW5MQ0FuWkdGNWN5Y3NJQ2RvYjNWeWN5ZGRLUzUwYjA5aWFtVmpkQ2dwSUM4dlBUNGdleUJ0YjI1MGFITTZJREUyTENCa1lYbHpPaUF4T1N3Z2FHOTFjbk02SURBdU56VWdmVnh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVkWEpoZEdsdmJuMWNiaUFnSUNvdlhHNGdJR1JwWm1Zb2IzUm9aWEpFWVhSbFZHbHRaU3dnZFc1cGRDQTlJRndpYldsc2JHbHpaV052Ym1SelhDSXNJRzl3ZEhNZ1BTQjdmU2tnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtJSHg4SUNGdmRHaGxja1JoZEdWVWFXMWxMbWx6Vm1Gc2FXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQkVkWEpoZEdsdmJpNXBiblpoYkdsa0tGd2lZM0psWVhSbFpDQmllU0JrYVdabWFXNW5JR0Z1SUdsdWRtRnNhV1FnUkdGMFpWUnBiV1ZjSWlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdaSFZ5VDNCMGN5QTlJSHNnYkc5allXeGxPaUIwYUdsekxteHZZMkZzWlN3Z2JuVnRZbVZ5YVc1blUzbHpkR1Z0T2lCMGFHbHpMbTUxYldKbGNtbHVaMU41YzNSbGJTd2dMaTR1YjNCMGN5QjlPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RXNXBkSE1nUFNCdFlYbGlaVUZ5Y21GNUtIVnVhWFFwTG0xaGNDaEVkWEpoZEdsdmJpNXViM0p0WVd4cGVtVlZibWwwS1N4Y2JpQWdJQ0FnSUc5MGFHVnlTWE5NWVhSbGNpQTlJRzkwYUdWeVJHRjBaVlJwYldVdWRtRnNkV1ZQWmlncElENGdkR2hwY3k1MllXeDFaVTltS0Nrc1hHNGdJQ0FnSUNCbFlYSnNhV1Z5SUQwZ2IzUm9aWEpKYzB4aGRHVnlJRDhnZEdocGN5QTZJRzkwYUdWeVJHRjBaVlJwYldVc1hHNGdJQ0FnSUNCc1lYUmxjaUE5SUc5MGFHVnlTWE5NWVhSbGNpQS9JRzkwYUdWeVJHRjBaVlJwYldVZ09pQjBhR2x6TEZ4dUlDQWdJQ0FnWkdsbVptVmtJRDBnWkdsbVppaGxZWEpzYVdWeUxDQnNZWFJsY2l3Z2RXNXBkSE1zSUdSMWNrOXdkSE1wTzF4dVhHNGdJQ0FnY21WMGRYSnVJRzkwYUdWeVNYTk1ZWFJsY2lBL0lHUnBabVpsWkM1dVpXZGhkR1VvS1NBNklHUnBabVpsWkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2RHaGxJR1JwWm1abGNtVnVZMlVnWW1WMGQyVmxiaUIwYUdseklFUmhkR1ZVYVcxbElHRnVaQ0J5YVdkb2RDQnViM2N1WEc0Z0lDQXFJRk5sWlNCN1FHeHBibXNnUkdGMFpWUnBiV1VqWkdsbVpuMWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ4YzNSeWFXNW5XMTE5SUZ0MWJtbDBQVnNuYldsc2JHbHpaV052Ym1SekoxMWRJQzBnZEdobElIVnVhWFFnYjNJZ2RXNXBkSE1nZFc1cGRITWdLSE4xWTJnZ1lYTWdKMmh2ZFhKekp5QnZjaUFuWkdGNWN5Y3BJSFJ2SUdsdVkyeDFaR1VnYVc0Z2RHaGxJR1IxY21GMGFXOXVYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnpJQzBnYjNCMGFXOXVjeUIwYUdGMElHRm1abVZqZENCMGFHVWdZM0psWVhScGIyNGdiMllnZEdobElFUjFjbUYwYVc5dVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiYjNCMGN5NWpiMjUyWlhKemFXOXVRV05qZFhKaFkzazlKMk5oYzNWaGJDZGRJQzBnZEdobElHTnZiblpsY25OcGIyNGdjM2x6ZEdWdElIUnZJSFZ6WlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRFZFhKaGRHbHZibjFjYmlBZ0lDb3ZYRzRnSUdScFptWk9iM2NvZFc1cGRDQTlJRndpYldsc2JHbHpaV052Ym1SelhDSXNJRzl3ZEhNZ1BTQjdmU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1ScFptWW9SR0YwWlZScGJXVXVibTkzS0Nrc0lIVnVhWFFzSUc5d2RITXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnliaUJoYmlCSmJuUmxjblpoYkNCemNHRnVibWx1WnlCaVpYUjNaV1Z1SUhSb2FYTWdSR0YwWlZScGJXVWdZVzVrSUdGdWIzUm9aWElnUkdGMFpWUnBiV1ZjYmlBZ0lDb2dRSEJoY21GdElIdEVZWFJsVkdsdFpYMGdiM1JvWlhKRVlYUmxWR2x0WlNBdElIUm9aU0J2ZEdobGNpQmxibVFnY0c5cGJuUWdiMllnZEdobElFbHVkR1Z5ZG1Gc1hHNGdJQ0FxSUVCeVpYUjFjbTRnZTBsdWRHVnlkbUZzZlZ4dUlDQWdLaTljYmlBZ2RXNTBhV3dvYjNSb1pYSkVZWFJsVkdsdFpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx6Vm1Gc2FXUWdQeUJKYm5SbGNuWmhiQzVtY205dFJHRjBaVlJwYldWektIUm9hWE1zSUc5MGFHVnlSR0YwWlZScGJXVXBJRG9nZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkMmhsZEdobGNpQjBhR2x6SUVSaGRHVlVhVzFsSUdseklHbHVJSFJvWlNCellXMWxJSFZ1YVhRZ2IyWWdkR2x0WlNCaGN5QmhibTkwYUdWeUlFUmhkR1ZVYVcxbExseHVJQ0FnS2lCSWFXZG9aWEl0YjNKa1pYSWdkVzVwZEhNZ2JYVnpkQ0JoYkhOdklHSmxJR2xrWlc1MGFXTmhiQ0JtYjNJZ2RHaHBjeUJtZFc1amRHbHZiaUIwYnlCeVpYUjFjbTRnWUhSeWRXVmdMbHh1SUNBZ0tpQk9iM1JsSUhSb1lYUWdkR2x0WlNCNmIyNWxjeUJoY21VZ0tpcHBaMjV2Y21Wa0tpb2dhVzRnZEdocGN5QmpiMjF3WVhKcGMyOXVMQ0IzYUdsamFDQmpiMjF3WVhKbGN5QjBhR1VnS2lwc2IyTmhiQ29xSUdOaGJHVnVaR0Z5SUhScGJXVXVJRlZ6WlNCN1FHeHBibXNnUkdGMFpWUnBiV1VqYzJWMFdtOXVaWDBnZEc4Z1kyOXVkbVZ5ZENCdmJtVWdiMllnZEdobElHUmhkR1Z6SUdsbUlHNWxaV1JsWkM1Y2JpQWdJQ29nUUhCaGNtRnRJSHRFWVhSbFZHbHRaWDBnYjNSb1pYSkVZWFJsVkdsdFpTQXRJSFJvWlNCdmRHaGxjaUJFWVhSbFZHbHRaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RXNXBkQ0F0SUhSb1pTQjFibWwwSUc5bUlIUnBiV1VnZEc4Z1kyaGxZMnNnYzJGdFpXNWxjM01nYjI1Y2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3VhR0Z6VTJGdFpTaHZkR2hsY2tSVUxDQW5aR0Y1SnlrN0lDOHZmajRnZEhKMVpTQnBaaUJ2ZEdobGNrUlVJR2x6SUdsdUlIUm9aU0J6WVcxbElHTjFjbkpsYm5RZ1kyRnNaVzVrWVhJZ1pHRjVYRzRnSUNBcUlFQnlaWFIxY200Z2UySnZiMnhsWVc1OVhHNGdJQ0FxTDF4dUlDQm9ZWE5UWVcxbEtHOTBhR1Z5UkdGMFpWUnBiV1VzSUhWdWFYUXBJSHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVhWE5XWVd4cFpDa2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnWTI5dWMzUWdhVzV3ZFhSTmN5QTlJRzkwYUdWeVJHRjBaVlJwYldVdWRtRnNkV1ZQWmlncE8xeHVJQ0FnSUdOdmJuTjBJR0ZrYW5WemRHVmtWRzlhYjI1bElEMGdkR2hwY3k1elpYUmFiMjVsS0c5MGFHVnlSR0YwWlZScGJXVXVlbTl1WlN3Z2V5QnJaV1Z3VEc5allXeFVhVzFsT2lCMGNuVmxJSDBwTzF4dUlDQWdJSEpsZEhWeWJpQmhaR3AxYzNSbFpGUnZXbTl1WlM1emRHRnlkRTltS0hWdWFYUXBJRHc5SUdsdWNIVjBUWE1nSmlZZ2FXNXdkWFJOY3lBOFBTQmhaR3AxYzNSbFpGUnZXbTl1WlM1bGJtUlBaaWgxYm1sMEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJGY1hWaGJHbDBlU0JqYUdWamExeHVJQ0FnS2lCVWQyOGdSR0YwWlZScGJXVnpJR0Z5WlNCbGNYVmhiQ0JwWm1ZZ2RHaGxlU0J5WlhCeVpYTmxiblFnZEdobElITmhiV1VnYldsc2JHbHpaV052Ym1Rc0lHaGhkbVVnZEdobElITmhiV1VnZW05dVpTQmhibVFnYkc5allYUnBiMjRzSUdGdVpDQmhjbVVnWW05MGFDQjJZV3hwWkM1Y2JpQWdJQ29nVkc4Z1kyOXRjR0Z5WlNCcWRYTjBJSFJvWlNCdGFXeHNhWE5sWTI5dVpDQjJZV3gxWlhNc0lIVnpaU0JnSzJSME1TQTlQVDBnSzJSME1tQXVYRzRnSUNBcUlFQndZWEpoYlNCN1JHRjBaVlJwYldWOUlHOTBhR1Z5SUMwZ2RHaGxJRzkwYUdWeUlFUmhkR1ZVYVcxbFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5WEc0Z0lDQXFMMXh1SUNCbGNYVmhiSE1vYjNSb1pYSXBJSHRjYmlBZ0lDQnlaWFIxY200Z0tGeHVJQ0FnSUNBZ2RHaHBjeTVwYzFaaGJHbGtJQ1ltWEc0Z0lDQWdJQ0J2ZEdobGNpNXBjMVpoYkdsa0lDWW1YRzRnSUNBZ0lDQjBhR2x6TG5aaGJIVmxUMllvS1NBOVBUMGdiM1JvWlhJdWRtRnNkV1ZQWmlncElDWW1YRzRnSUNBZ0lDQjBhR2x6TG5wdmJtVXVaWEYxWVd4ektHOTBhR1Z5TG5wdmJtVXBJQ1ltWEc0Z0lDQWdJQ0IwYUdsekxteHZZeTVsY1hWaGJITW9iM1JvWlhJdWJHOWpLVnh1SUNBZ0lDazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJoSUhOMGNtbHVaeUJ5WlhCeVpYTmxiblJoZEdsdmJpQnZaaUJoSUhSb2FYTWdkR2x0WlNCeVpXeGhkR2wyWlNCMGJ5QnViM2NzSUhOMVkyZ2dZWE1nWENKcGJpQjBkMjhnWkdGNWMxd2lMaUJEWVc0Z2IyNXNlU0JwYm5SbGNtNWhkR2x2Ym1Gc2FYcGxJR2xtSUhsdmRYSmNiaUFnSUNvZ2NHeGhkR1p2Y20wZ2MzVndjRzl5ZEhNZ1NXNTBiQzVTWld4aGRHbDJaVlJwYldWR2IzSnRZWFF1SUZKdmRXNWtjeUJrYjNkdUlHSjVJR1JsWm1GMWJIUXVYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnBiMjV6SUMwZ2IzQjBhVzl1Y3lCMGFHRjBJR0ZtWm1WamRDQjBhR1VnYjNWMGNIVjBYRzRnSUNBcUlFQndZWEpoYlNCN1JHRjBaVlJwYldWOUlGdHZjSFJwYjI1ekxtSmhjMlU5UkdGMFpWUnBiV1V1Ym05M0tDbGRJQzBnZEdobElFUmhkR1ZVYVcxbElIUnZJSFZ6WlNCaGN5QjBhR1VnWW1GemFYTWdkRzhnZDJocFkyZ2dkR2hwY3lCMGFXMWxJR2x6SUdOdmJYQmhjbVZrTGlCRVpXWmhkV3gwY3lCMGJ5QnViM2N1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJiM0IwYVc5dWN5NXpkSGxzWlQxY0lteHZibWRjSWwwZ0xTQjBhR1VnYzNSNWJHVWdiMllnZFc1cGRITXNJRzExYzNRZ1ltVWdYQ0pzYjI1blhDSXNJRndpYzJodmNuUmNJaXdnYjNJZ1hDSnVZWEp5YjNkY0lseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaM3h6ZEhKcGJtZGJYWDBnYjNCMGFXOXVjeTUxYm1sMElDMGdkWE5sSUdFZ2MzQmxZMmxtYVdNZ2RXNXBkQ0J2Y2lCaGNuSmhlU0J2WmlCMWJtbDBjenNnYVdZZ2IyMXBkSFJsWkN3Z2IzSWdZVzRnWVhKeVlYa3NJSFJvWlNCdFpYUm9iMlFnZDJsc2JDQndhV05ySUhSb1pTQmlaWE4wSUhWdWFYUXVJRlZ6WlNCaGJpQmhjbkpoZVNCdmNpQnZibVVnYjJZZ1hDSjVaV0Z5YzF3aUxDQmNJbkYxWVhKMFpYSnpYQ0lzSUZ3aWJXOXVkR2h6WENJc0lGd2lkMlZsYTNOY0lpd2dYQ0prWVhselhDSXNJRndpYUc5MWNuTmNJaXdnWENKdGFXNTFkR1Z6WENJc0lHOXlJRndpYzJWamIyNWtjMXdpWEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMjl3ZEdsdmJuTXVjbTkxYm1ROWRISjFaVjBnTFNCM2FHVjBhR1Z5SUhSdklISnZkVzVrSUhSb1pTQnVkVzFpWlhKeklHbHVJSFJvWlNCdmRYUndkWFF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJiM0IwYVc5dWN5NXdZV1JrYVc1blBUQmRJQzBnY0dGa1pHbHVaeUJwYmlCdGFXeHNhWE5sWTI5dVpITXVJRlJvYVhNZ1lXeHNiM2R6SUhsdmRTQjBieUJ5YjNWdVpDQjFjQ0IwYUdVZ2NtVnpkV3gwSUdsbUlHbDBJR1pwZEhNZ2FXNXphV1JsSUhSb1pTQjBhSEpsYzJodmJHUXVJRVJ2YmlkMElIVnpaU0JwYmlCamIyMWlhVzVoZEdsdmJpQjNhWFJvSUh0eWIzVnVaRG9nWm1Gc2MyVjlJR0psWTJGMWMyVWdkR2hsSUdSbFkybHRZV3dnYjNWMGNIVjBJSGRwYkd3Z2FXNWpiSFZrWlNCMGFHVWdjR0ZrWkdsdVp5NWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RHbHZibk11Ykc5allXeGxJQzBnYjNabGNuSnBaR1VnZEdobElHeHZZMkZzWlNCdlppQjBhR2x6SUVSaGRHVlVhVzFsWEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnZjSFJwYjI1ekxtNTFiV0psY21sdVoxTjVjM1JsYlNBdElHOTJaWEp5YVdSbElIUm9aU0J1ZFcxaVpYSnBibWRUZVhOMFpXMGdiMllnZEdocGN5QkVZWFJsVkdsdFpTNGdWR2hsSUVsdWRHd2djM2x6ZEdWdElHMWhlU0JqYUc5dmMyVWdibTkwSUhSdklHaHZibTl5SUhSb2FYTmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1Y0d4MWN5aDdJR1JoZVhNNklERWdmU2t1ZEc5U1pXeGhkR2wyWlNncElDOHZQVDRnWENKcGJpQXhJR1JoZVZ3aVhHNGdJQ0FxSUVCbGVHRnRjR3hsSUVSaGRHVlVhVzFsTG01dmR5Z3BMbk5sZEV4dlkyRnNaU2hjSW1WelhDSXBMblJ2VW1Wc1lYUnBkbVVvZXlCa1lYbHpPaUF4SUgwcElDOHZQVDRnWENKa1pXNTBjbThnWkdVZ01TQmtYSFV3TUVWRVlWd2lYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtNXZkeWdwTG5Cc2RYTW9leUJrWVhsek9pQXhJSDBwTG5SdlVtVnNZWFJwZG1Vb2V5QnNiMk5oYkdVNklGd2labkpjSWlCOUtTQXZMejArSUZ3aVpHRnVjeUF5TXlCb1pYVnlaWE5jSWx4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNXRhVzUxY3loN0lHUmhlWE02SURJZ2ZTa3VkRzlTWld4aGRHbDJaU2dwSUM4dlBUNGdYQ0l5SUdSaGVYTWdZV2R2WENKY2JpQWdJQ29nUUdWNFlXMXdiR1VnUkdGMFpWUnBiV1V1Ym05M0tDa3ViV2x1ZFhNb2V5QmtZWGx6T2lBeUlIMHBMblJ2VW1Wc1lYUnBkbVVvZXlCMWJtbDBPaUJjSW1odmRYSnpYQ0lnZlNrZ0x5ODlQaUJjSWpRNElHaHZkWEp6SUdGbmIxd2lYRzRnSUNBcUlFQmxlR0Z0Y0d4bElFUmhkR1ZVYVcxbExtNXZkeWdwTG0xcGJuVnpLSHNnYUc5MWNuTTZJRE0ySUgwcExuUnZVbVZzWVhScGRtVW9leUJ5YjNWdVpEb2dabUZzYzJVZ2ZTa2dMeTg5UGlCY0lqRXVOU0JrWVhseklHRm5iMXdpWEc0Z0lDQXFMMXh1SUNCMGIxSmxiR0YwYVhabEtHOXdkR2x2Ym5NZ1BTQjdmU2tnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVwYzFaaGJHbGtLU0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0JqYjI1emRDQmlZWE5sSUQwZ2IzQjBhVzl1Y3k1aVlYTmxJSHg4SUVSaGRHVlVhVzFsTG1aeWIyMVBZbXBsWTNRb2UzMHNJSHNnZW05dVpUb2dkR2hwY3k1NmIyNWxJSDBwTEZ4dUlDQWdJQ0FnY0dGa1pHbHVaeUE5SUc5d2RHbHZibk11Y0dGa1pHbHVaeUEvSUNoMGFHbHpJRHdnWW1GelpTQS9JQzF2Y0hScGIyNXpMbkJoWkdScGJtY2dPaUJ2Y0hScGIyNXpMbkJoWkdScGJtY3BJRG9nTUR0Y2JpQWdJQ0JzWlhRZ2RXNXBkSE1nUFNCYlhDSjVaV0Z5YzF3aUxDQmNJbTF2Ym5Sb2Mxd2lMQ0JjSW1SaGVYTmNJaXdnWENKb2IzVnljMXdpTENCY0ltMXBiblYwWlhOY0lpd2dYQ0p6WldOdmJtUnpYQ0pkTzF4dUlDQWdJR3hsZENCMWJtbDBJRDBnYjNCMGFXOXVjeTUxYm1sME8xeHVJQ0FnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0c5d2RHbHZibk11ZFc1cGRDa3BJSHRjYmlBZ0lDQWdJSFZ1YVhSeklEMGdiM0IwYVc5dWN5NTFibWwwTzF4dUlDQWdJQ0FnZFc1cGRDQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdScFptWlNaV3hoZEdsMlpTaGlZWE5sTENCMGFHbHpMbkJzZFhNb2NHRmtaR2x1Wnlrc0lIdGNiaUFnSUNBZ0lDNHVMbTl3ZEdsdmJuTXNYRzRnSUNBZ0lDQnVkVzFsY21sak9pQmNJbUZzZDJGNWMxd2lMRnh1SUNBZ0lDQWdkVzVwZEhNc1hHNGdJQ0FnSUNCMWJtbDBMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWVNCemRISnBibWNnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdocGN5QmtZWFJsSUhKbGJHRjBhWFpsSUhSdklIUnZaR0Y1TENCemRXTm9JR0Z6SUZ3aWVXVnpkR1Z5WkdGNVhDSWdiM0lnWENKdVpYaDBJRzF2Ym5Sb1hDSXVYRzRnSUNBcUlFOXViSGtnYVc1MFpYSnVZWFJwYjI1aGJHbDZaWE1nYjI0Z2NHeGhkR1p2Y20xeklIUm9ZWFFnYzNWd2NHOXlkSE1nU1c1MGJDNVNaV3hoZEdsMlpWUnBiV1ZHYjNKdFlYUXVYRzRnSUNBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCdmNIUnBiMjV6SUMwZ2IzQjBhVzl1Y3lCMGFHRjBJR0ZtWm1WamRDQjBhR1VnYjNWMGNIVjBYRzRnSUNBcUlFQndZWEpoYlNCN1JHRjBaVlJwYldWOUlGdHZjSFJwYjI1ekxtSmhjMlU5UkdGMFpWUnBiV1V1Ym05M0tDbGRJQzBnZEdobElFUmhkR1ZVYVcxbElIUnZJSFZ6WlNCaGN5QjBhR1VnWW1GemFYTWdkRzhnZDJocFkyZ2dkR2hwY3lCMGFXMWxJR2x6SUdOdmJYQmhjbVZrTGlCRVpXWmhkV3gwY3lCMGJ5QnViM2N1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnZjSFJwYjI1ekxteHZZMkZzWlNBdElHOTJaWEp5YVdSbElIUm9aU0JzYjJOaGJHVWdiMllnZEdocGN5QkVZWFJsVkdsdFpWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnYjNCMGFXOXVjeTUxYm1sMElDMGdkWE5sSUdFZ2MzQmxZMmxtYVdNZ2RXNXBkRHNnYVdZZ2IyMXBkSFJsWkN3Z2RHaGxJRzFsZEdodlpDQjNhV3hzSUhCcFkyc2dkR2hsSUhWdWFYUXVJRlZ6WlNCdmJtVWdiMllnWENKNVpXRnljMXdpTENCY0luRjFZWEowWlhKelhDSXNJRndpYlc5dWRHaHpYQ0lzSUZ3aWQyVmxhM05jSWl3Z2IzSWdYQ0prWVhselhDSmNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc5d2RHbHZibk11Ym5WdFltVnlhVzVuVTNsemRHVnRJQzBnYjNabGNuSnBaR1VnZEdobElHNTFiV0psY21sdVoxTjVjM1JsYlNCdlppQjBhR2x6SUVSaGRHVlVhVzFsTGlCVWFHVWdTVzUwYkNCemVYTjBaVzBnYldGNUlHTm9iMjl6WlNCdWIzUWdkRzhnYUc5dWIzSWdkR2hwYzF4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNXdiSFZ6S0hzZ1pHRjVjem9nTVNCOUtTNTBiMUpsYkdGMGFYWmxRMkZzWlc1a1lYSW9LU0F2THowK0lGd2lkRzl0YjNKeWIzZGNJbHh1SUNBZ0tpQkFaWGhoYlhCc1pTQkVZWFJsVkdsdFpTNXViM2NvS1M1elpYUk1iMk5oYkdVb1hDSmxjMXdpS1M1d2JIVnpLSHNnWkdGNWN6b2dNU0I5S1M1MGIxSmxiR0YwYVhabEtDa2dMeTg5UGlCY0lsd2liV0ZjZFRBd1JqRmhibUZjSWx4dUlDQWdLaUJBWlhoaGJYQnNaU0JFWVhSbFZHbHRaUzV1YjNjb0tTNXdiSFZ6S0hzZ1pHRjVjem9nTVNCOUtTNTBiMUpsYkdGMGFYWmxRMkZzWlc1a1lYSW9leUJzYjJOaGJHVTZJRndpWm5KY0lpQjlLU0F2THowK0lGd2laR1Z0WVdsdVhDSmNiaUFnSUNvZ1FHVjRZVzF3YkdVZ1JHRjBaVlJwYldVdWJtOTNLQ2t1YldsdWRYTW9leUJrWVhsek9pQXlJSDBwTG5SdlVtVnNZWFJwZG1WRFlXeGxibVJoY2lncElDOHZQVDRnWENJeUlHUmhlWE1nWVdkdlhDSmNiaUFnSUNvdlhHNGdJSFJ2VW1Wc1lYUnBkbVZEWVd4bGJtUmhjaWh2Y0hScGIyNXpJRDBnZTMwcElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTldZV3hwWkNrZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ0lDQnlaWFIxY200Z1pHbG1abEpsYkdGMGFYWmxLRzl3ZEdsdmJuTXVZbUZ6WlNCOGZDQkVZWFJsVkdsdFpTNW1jbTl0VDJKcVpXTjBLSHQ5TENCN0lIcHZibVU2SUhSb2FYTXVlbTl1WlNCOUtTd2dkR2hwY3l3Z2UxeHVJQ0FnSUNBZ0xpNHViM0IwYVc5dWN5eGNiaUFnSUNBZ0lHNTFiV1Z5YVdNNklGd2lZWFYwYjF3aUxGeHVJQ0FnSUNBZ2RXNXBkSE02SUZ0Y0lubGxZWEp6WENJc0lGd2liVzl1ZEdoelhDSXNJRndpWkdGNWMxd2lYU3hjYmlBZ0lDQWdJR05oYkdWdVpHRnllVG9nZEhKMVpTeGNiaUFnSUNCOUtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNGdkR2hsSUcxcGJpQnZaaUJ6WlhabGNtRnNJR1JoZEdVZ2RHbHRaWE5jYmlBZ0lDb2dRSEJoY21GdElIc3VMaTVFWVhSbFZHbHRaWDBnWkdGMFpWUnBiV1Z6SUMwZ2RHaGxJRVJoZEdWVWFXMWxjeUJtY205dElIZG9hV05vSUhSdklHTm9iMjl6WlNCMGFHVWdiV2x1YVcxMWJWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0RVlYUmxWR2x0WlgwZ2RHaGxJRzFwYmlCRVlYUmxWR2x0WlN3Z2IzSWdkVzVrWldacGJtVmtJR2xtSUdOaGJHeGxaQ0IzYVhSb0lHNXZJR0Z5WjNWdFpXNTBYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdiV2x1S0M0dUxtUmhkR1ZVYVcxbGN5a2dlMXh1SUNBZ0lHbG1JQ2doWkdGMFpWUnBiV1Z6TG1WMlpYSjVLRVJoZEdWVWFXMWxMbWx6UkdGMFpWUnBiV1VwS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTJZV3hwWkVGeVozVnRaVzUwUlhKeWIzSW9YQ0p0YVc0Z2NtVnhkV2x5WlhNZ1lXeHNJR0Z5WjNWdFpXNTBjeUJpWlNCRVlYUmxWR2x0WlhOY0lpazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJpWlhOMFFua29aR0YwWlZScGJXVnpMQ0FvYVNrZ1BUNGdhUzUyWVd4MVpVOW1LQ2tzSUUxaGRHZ3ViV2x1S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY200Z2RHaGxJRzFoZUNCdlppQnpaWFpsY21Gc0lHUmhkR1VnZEdsdFpYTmNiaUFnSUNvZ1FIQmhjbUZ0SUhzdUxpNUVZWFJsVkdsdFpYMGdaR0YwWlZScGJXVnpJQzBnZEdobElFUmhkR1ZVYVcxbGN5Qm1jbTl0SUhkb2FXTm9JSFJ2SUdOb2IyOXpaU0IwYUdVZ2JXRjRhVzExYlZ4dUlDQWdLaUJBY21WMGRYSnVJSHRFWVhSbFZHbHRaWDBnZEdobElHMWhlQ0JFWVhSbFZHbHRaU3dnYjNJZ2RXNWtaV1pwYm1Wa0lHbG1JR05oYkd4bFpDQjNhWFJvSUc1dklHRnlaM1Z0Wlc1MFhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2JXRjRLQzR1TG1SaGRHVlVhVzFsY3lrZ2UxeHVJQ0FnSUdsbUlDZ2haR0YwWlZScGJXVnpMbVYyWlhKNUtFUmhkR1ZVYVcxbExtbHpSR0YwWlZScGJXVXBLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MllXeHBaRUZ5WjNWdFpXNTBSWEp5YjNJb1hDSnRZWGdnY21WeGRXbHlaWE1nWVd4c0lHRnlaM1Z0Wlc1MGN5QmlaU0JFWVhSbFZHbHRaWE5jSWlrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmlaWE4wUW5rb1pHRjBaVlJwYldWekxDQW9hU2tnUFQ0Z2FTNTJZV3gxWlU5bUtDa3NJRTFoZEdndWJXRjRLVHRjYmlBZ2ZWeHVYRzRnSUM4dklFMUpVME5jYmx4dUlDQXZLaXBjYmlBZ0lDb2dSWGh3YkdGcGJpQm9iM2NnWVNCemRISnBibWNnZDI5MWJHUWdZbVVnY0dGeWMyVmtJR0o1SUdaeWIyMUdiM0p0WVhRb0tWeHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnZEdWNGRDQXRJSFJvWlNCemRISnBibWNnZEc4Z2NHRnljMlZjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHWnRkQ0F0SUhSb1pTQm1iM0p0WVhRZ2RHaGxJSE4wY21sdVp5QnBjeUJsZUhCbFkzUmxaQ0IwYnlCaVpTQnBiaUFvYzJWbElHUmxjMk55YVhCMGFXOXVLVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2IzQjBhVzl1Y3lBdElHOXdkR2x2Ym5NZ2RHRnJaVzRnWW5rZ1puSnZiVVp2Y20xaGRDZ3BYRzRnSUNBcUlFQnlaWFIxY200Z2UwOWlhbVZqZEgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCbWNtOXRSbTl5YldGMFJYaHdiR0ZwYmloMFpYaDBMQ0JtYlhRc0lHOXdkR2x2Ym5NZ1BTQjdmU2tnZTF4dUlDQWdJR052Ym5OMElIc2diRzlqWVd4bElEMGdiblZzYkN3Z2JuVnRZbVZ5YVc1blUzbHpkR1Z0SUQwZ2JuVnNiQ0I5SUQwZ2IzQjBhVzl1Y3l4Y2JpQWdJQ0FnSUd4dlkyRnNaVlJ2VlhObElEMGdURzlqWVd4bExtWnliMjFQY0hSektIdGNiaUFnSUNBZ0lDQWdiRzlqWVd4bExGeHVJQ0FnSUNBZ0lDQnVkVzFpWlhKcGJtZFRlWE4wWlcwc1hHNGdJQ0FnSUNBZ0lHUmxabUYxYkhSVWIwVk9PaUIwY25WbExGeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUdWNGNHeGhhVzVHY205dFZHOXJaVzV6S0d4dlkyRnNaVlJ2VlhObExDQjBaWGgwTENCbWJYUXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYQnlaV05oZEdWa0lIVnpaU0JtY205dFJtOXliV0YwUlhod2JHRnBiaUJwYm5OMFpXRmtYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdabkp2YlZOMGNtbHVaMFY0Y0d4aGFXNG9kR1Y0ZEN3Z1ptMTBMQ0J2Y0hScGIyNXpJRDBnZTMwcElIdGNiaUFnSUNCeVpYUjFjbTRnUkdGMFpWUnBiV1V1Wm5KdmJVWnZjbTFoZEVWNGNHeGhhVzRvZEdWNGRDd2dabTEwTENCdmNIUnBiMjV6S1R0Y2JpQWdmVnh1WEc0Z0lDOHZJRVpQVWsxQlZDQlFVa1ZUUlZSVFhHNWNiaUFnTHlvcVhHNGdJQ0FxSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNaVk4wY21sdVozMGdabTl5YldGMElHeHBhMlVnTVRBdk1UUXZNVGs0TTF4dUlDQWdLaUJBZEhsd1pTQjdUMkpxWldOMGZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHZGxkQ0JFUVZSRlgxTklUMUpVS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJHYjNKdFlYUnpMa1JCVkVWZlUwaFBVbFE3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTNSdlRHOWpZV3hsVTNSeWFXNW5mU0JtYjNKdFlYUWdiR2xyWlNBblQyTjBJREUwTENBeE9UZ3pKMXh1SUNBZ0tpQkFkSGx3WlNCN1QySnFaV04wZlZ4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdkbGRDQkVRVlJGWDAxRlJDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1JtOXliV0YwY3k1RVFWUkZYMDFGUkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQjdRR3hwYm1zZ1JHRjBaVlJwYldVamRHOU1iMk5oYkdWVGRISnBibWQ5SUdadmNtMWhkQ0JzYVd0bElDZEdjbWtzSUU5amRDQXhOQ3dnTVRrNE15ZGNiaUFnSUNvZ1FIUjVjR1VnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1JFRlVSVjlOUlVSZlYwbFVTRjlYUlVWTFJFRlpLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQkdiM0p0WVhSekxrUkJWRVZmVFVWRVgxZEpWRWhmVjBWRlMwUkJXVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCN1FHeHBibXNnUkdGMFpWUnBiV1VqZEc5TWIyTmhiR1ZUZEhKcGJtZDlJR1p2Y20xaGRDQnNhV3RsSUNkUFkzUnZZbVZ5SURFMExDQXhPVGd6SjF4dUlDQWdLaUJBZEhsd1pTQjdUMkpxWldOMGZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHZGxkQ0JFUVZSRlgwWlZURXdvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRVp2Y20xaGRITXVSRUZVUlY5R1ZVeE1PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNaVk4wY21sdVozMGdabTl5YldGMElHeHBhMlVnSjFSMVpYTmtZWGtzSUU5amRHOWlaWElnTVRRc0lERTVPRE1uWEc0Z0lDQXFJRUIwZVhCbElIdFBZbXBsWTNSOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJRVJCVkVWZlNGVkhSU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdSbTl5YldGMGN5NUVRVlJGWDBoVlIwVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nZTBCc2FXNXJJRVJoZEdWVWFXMWxJM1J2VEc5allXeGxVM1J5YVc1bmZTQm1iM0p0WVhRZ2JHbHJaU0FuTURrNk16QWdRVTBuTGlCUGJteDVJREV5TFdodmRYSWdhV1lnZEdobElHeHZZMkZzWlNCcGN5NWNiaUFnSUNvZ1FIUjVjR1VnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1ZFbE5SVjlUU1UxUVRFVW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFWnZjbTFoZEhNdVZFbE5SVjlUU1UxUVRFVTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nZTBCc2FXNXJJRVJoZEdWVWFXMWxJM1J2VEc5allXeGxVM1J5YVc1bmZTQm1iM0p0WVhRZ2JHbHJaU0FuTURrNk16QTZNak1nUVUwbkxpQlBibXg1SURFeUxXaHZkWElnYVdZZ2RHaGxJR3h2WTJGc1pTQnBjeTVjYmlBZ0lDb2dRSFI1Y0dVZ2UwOWlhbVZqZEgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdWRWxOUlY5WFNWUklYMU5GUTA5T1JGTW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFWnZjbTFoZEhNdVZFbE5SVjlYU1ZSSVgxTkZRMDlPUkZNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dlMEJzYVc1cklFUmhkR1ZVYVcxbEkzUnZURzlqWVd4bFUzUnlhVzVuZlNCbWIzSnRZWFFnYkdsclpTQW5NRGs2TXpBNk1qTWdRVTBnUlVSVUp5NGdUMjVzZVNBeE1pMW9iM1Z5SUdsbUlIUm9aU0JzYjJOaGJHVWdhWE11WEc0Z0lDQXFJRUIwZVhCbElIdFBZbXBsWTNSOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJRlJKVFVWZlYwbFVTRjlUU0U5U1ZGOVBSa1pUUlZRb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUVadmNtMWhkSE11VkVsTlJWOVhTVlJJWDFOSVQxSlVYMDlHUmxORlZEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUI3UUd4cGJtc2dSR0YwWlZScGJXVWpkRzlNYjJOaGJHVlRkSEpwYm1kOUlHWnZjbTFoZENCc2FXdGxJQ2N3T1Rvek1Eb3lNeUJCVFNCRllYTjBaWEp1SUVSaGVXeHBaMmgwSUZScGJXVW5MaUJQYm14NUlERXlMV2h2ZFhJZ2FXWWdkR2hsSUd4dlkyRnNaU0JwY3k1Y2JpQWdJQ29nUUhSNWNHVWdlMDlpYW1WamRIMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnVkVsTlJWOVhTVlJJWDB4UFRrZGZUMFpHVTBWVUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCR2IzSnRZWFJ6TGxSSlRVVmZWMGxVU0Y5TVQwNUhYMDlHUmxORlZEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUI3UUd4cGJtc2dSR0YwWlZScGJXVWpkRzlNYjJOaGJHVlRkSEpwYm1kOUlHWnZjbTFoZENCc2FXdGxJQ2N3T1Rvek1DY3NJR0ZzZDJGNWN5QXlOQzFvYjNWeUxseHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCVVNVMUZYekkwWDFOSlRWQk1SU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdSbTl5YldGMGN5NVVTVTFGWHpJMFgxTkpUVkJNUlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQjdRR3hwYm1zZ1JHRjBaVlJwYldVamRHOU1iMk5oYkdWVGRISnBibWQ5SUdadmNtMWhkQ0JzYVd0bElDY3dPVG96TURveU15Y3NJR0ZzZDJGNWN5QXlOQzFvYjNWeUxseHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCVVNVMUZYekkwWDFkSlZFaGZVMFZEVDA1RVV5Z3BJSHRjYmlBZ0lDQnlaWFIxY200Z1JtOXliV0YwY3k1VVNVMUZYekkwWDFkSlZFaGZVMFZEVDA1RVV6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUI3UUd4cGJtc2dSR0YwWlZScGJXVWpkRzlNYjJOaGJHVlRkSEpwYm1kOUlHWnZjbTFoZENCc2FXdGxJQ2N3T1Rvek1Eb3lNeUJGUkZRbkxDQmhiSGRoZVhNZ01qUXRhRzkxY2k1Y2JpQWdJQ29nUUhSNWNHVWdlMDlpYW1WamRIMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnVkVsTlJWOHlORjlYU1ZSSVgxTklUMUpVWDA5R1JsTkZWQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdSbTl5YldGMGN5NVVTVTFGWHpJMFgxZEpWRWhmVTBoUFVsUmZUMFpHVTBWVU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHh2WTJGc1pWTjBjbWx1WjMwZ1ptOXliV0YwSUd4cGEyVWdKekE1T2pNd09qSXpJRVZoYzNSbGNtNGdSR0Y1YkdsbmFIUWdWR2x0WlNjc0lHRnNkMkY1Y3lBeU5DMW9iM1Z5TGx4dUlDQWdLaUJBZEhsd1pTQjdUMkpxWldOMGZWeHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHZGxkQ0JVU1UxRlh6STBYMWRKVkVoZlRFOU9SMTlQUmtaVFJWUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFWnZjbTFoZEhNdVZFbE5SVjh5TkY5WFNWUklYMHhQVGtkZlQwWkdVMFZVTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIweHZZMkZzWlZOMGNtbHVaMzBnWm05eWJXRjBJR3hwYTJVZ0p6RXdMekUwTHpFNU9ETXNJRGs2TXpBZ1FVMG5MaUJQYm14NUlERXlMV2h2ZFhJZ2FXWWdkR2hsSUd4dlkyRnNaU0JwY3k1Y2JpQWdJQ29nUUhSNWNHVWdlMDlpYW1WamRIMWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnUkVGVVJWUkpUVVZmVTBoUFVsUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlUwaFBVbFE3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ2UwQnNhVzVySUVSaGRHVlVhVzFsSTNSdlRHOWpZV3hsVTNSeWFXNW5mU0JtYjNKdFlYUWdiR2xyWlNBbk1UQXZNVFF2TVRrNE15d2dPVG96TURvek15QkJUU2N1SUU5dWJIa2dNVEl0YUc5MWNpQnBaaUIwYUdVZ2JHOWpZV3hsSUdsekxseHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCRVFWUkZWRWxOUlY5VFNFOVNWRjlYU1ZSSVgxTkZRMDlPUkZNb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUVadmNtMWhkSE11UkVGVVJWUkpUVVZmVTBoUFVsUmZWMGxVU0Y5VFJVTlBUa1JUTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIweHZZMkZzWlZOMGNtbHVaMzBnWm05eWJXRjBJR3hwYTJVZ0owOWpkQ0F4TkN3Z01UazRNeXdnT1Rvek1DQkJUU2N1SUU5dWJIa2dNVEl0YUc5MWNpQnBaaUIwYUdVZ2JHOWpZV3hsSUdsekxseHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCRVFWUkZWRWxOUlY5TlJVUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFWnZjbTFoZEhNdVJFRlVSVlJKVFVWZlRVVkVPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUh0QWJHbHVheUJFWVhSbFZHbHRaU04wYjB4dlkyRnNaVk4wY21sdVozMGdabTl5YldGMElHeHBhMlVnSjA5amRDQXhOQ3dnTVRrNE15d2dPVG96TURvek15QkJUU2N1SUU5dWJIa2dNVEl0YUc5MWNpQnBaaUIwYUdVZ2JHOWpZV3hsSUdsekxseHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCRVFWUkZWRWxOUlY5TlJVUmZWMGxVU0Y5VFJVTlBUa1JUS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJHYjNKdFlYUnpMa1JCVkVWVVNVMUZYMDFGUkY5WFNWUklYMU5GUTA5T1JGTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nZTBCc2FXNXJJRVJoZEdWVWFXMWxJM1J2VEc5allXeGxVM1J5YVc1bmZTQm1iM0p0WVhRZ2JHbHJaU0FuUm5KcExDQXhOQ0JQWTNRZ01UazRNeXdnT1Rvek1DQkJUU2N1SUU5dWJIa2dNVEl0YUc5MWNpQnBaaUIwYUdVZ2JHOWpZV3hsSUdsekxseHVJQ0FnS2lCQWRIbHdaU0I3VDJKcVpXTjBmVnh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCRVFWUkZWRWxOUlY5TlJVUmZWMGxVU0Y5WFJVVkxSRUZaS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJHYjNKdFlYUnpMa1JCVkVWVVNVMUZYMDFGUkY5WFNWUklYMWRGUlV0RVFWazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nZTBCc2FXNXJJRVJoZEdWVWFXMWxJM1J2VEc5allXeGxVM1J5YVc1bmZTQm1iM0p0WVhRZ2JHbHJaU0FuVDJOMGIySmxjaUF4TkN3Z01UazRNeXdnT1Rvek1DQkJUU0JGUkZRbkxpQlBibXg1SURFeUxXaHZkWElnYVdZZ2RHaGxJR3h2WTJGc1pTQnBjeTVjYmlBZ0lDb2dRSFI1Y0dVZ2UwOWlhbVZqZEgxY2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCblpYUWdSRUZVUlZSSlRVVmZSbFZNVENncElIdGNiaUFnSUNCeVpYUjFjbTRnUm05eWJXRjBjeTVFUVZSRlZFbE5SVjlHVlV4TU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHh2WTJGc1pWTjBjbWx1WjMwZ1ptOXliV0YwSUd4cGEyVWdKMDlqZEc5aVpYSWdNVFFzSURFNU9ETXNJRGs2TXpBNk16TWdRVTBnUlVSVUp5NGdUMjVzZVNBeE1pMW9iM1Z5SUdsbUlIUm9aU0JzYjJOaGJHVWdhWE11WEc0Z0lDQXFJRUIwZVhCbElIdFBZbXBsWTNSOVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJRVJCVkVWVVNVMUZYMFpWVEV4ZlYwbFVTRjlUUlVOUFRrUlRLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQkdiM0p0WVhSekxrUkJWRVZVU1UxRlgwWlZURXhmVjBsVVNGOVRSVU5QVGtSVE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJSHRBYkdsdWF5QkVZWFJsVkdsdFpTTjBiMHh2WTJGc1pWTjBjbWx1WjMwZ1ptOXliV0YwSUd4cGEyVWdKMFp5YVdSaGVTd2dUMk4wYjJKbGNpQXhOQ3dnTVRrNE15d2dPVG96TUNCQlRTQkZZWE4wWlhKdUlFUmhlV3hwWjJoMElGUnBiV1VuTGlCUGJteDVJREV5TFdodmRYSWdhV1lnZEdobElHeHZZMkZzWlNCcGN5NWNiaUFnSUNvZ1FIUjVjR1VnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1JFRlVSVlJKVFVWZlNGVkhSU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdSbTl5YldGMGN5NUVRVlJGVkVsTlJWOUlWVWRGTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlIdEFiR2x1YXlCRVlYUmxWR2x0WlNOMGIweHZZMkZzWlZOMGNtbHVaMzBnWm05eWJXRjBJR3hwYTJVZ0owWnlhV1JoZVN3Z1QyTjBiMkpsY2lBeE5Dd2dNVGs0TXl3Z09Ub3pNRG96TXlCQlRTQkZZWE4wWlhKdUlFUmhlV3hwWjJoMElGUnBiV1VuTGlCUGJteDVJREV5TFdodmRYSWdhV1lnZEdobElHeHZZMkZzWlNCcGN5NWNiaUFnSUNvZ1FIUjVjR1VnZTA5aWFtVmpkSDFjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJuWlhRZ1JFRlVSVlJKVFVWZlNGVkhSVjlYU1ZSSVgxTkZRMDlPUkZNb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUVadmNtMWhkSE11UkVGVVJWUkpUVVZmU0ZWSFJWOVhTVlJJWDFORlEwOU9SRk03WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCQWNISnBkbUYwWlZ4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdabkpwWlc1a2JIbEVZWFJsVkdsdFpTaGtZWFJsVkdsdFpXbHphQ2tnZTF4dUlDQnBaaUFvUkdGMFpWUnBiV1V1YVhORVlYUmxWR2x0WlNoa1lYUmxWR2x0WldsemFDa3BJSHRjYmlBZ0lDQnlaWFIxY200Z1pHRjBaVlJwYldWcGMyZzdYRzRnSUgwZ1pXeHpaU0JwWmlBb1pHRjBaVlJwYldWcGMyZ2dKaVlnWkdGMFpWUnBiV1ZwYzJndWRtRnNkV1ZQWmlBbUppQnBjMDUxYldKbGNpaGtZWFJsVkdsdFpXbHphQzUyWVd4MVpVOW1LQ2twS1NCN1hHNGdJQ0FnY21WMGRYSnVJRVJoZEdWVWFXMWxMbVp5YjIxS1UwUmhkR1VvWkdGMFpWUnBiV1ZwYzJncE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dSaGRHVlVhVzFsYVhOb0lDWW1JSFI1Y0dWdlppQmtZWFJsVkdsdFpXbHphQ0E5UFQwZ1hDSnZZbXBsWTNSY0lpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCRVlYUmxWR2x0WlM1bWNtOXRUMkpxWldOMEtHUmhkR1ZVYVcxbGFYTm9LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MllXeHBaRUZ5WjNWdFpXNTBSWEp5YjNJb1hHNGdJQ0FnSUNCZ1ZXNXJibTkzYmlCa1lYUmxkR2x0WlNCaGNtZDFiV1Z1ZERvZ0pIdGtZWFJsVkdsdFpXbHphSDBzSUc5bUlIUjVjR1VnSkh0MGVYQmxiMllnWkdGMFpWUnBiV1ZwYzJoOVlGeHVJQ0FnSUNrN1hHNGdJSDFjYm4xY2JpSXNJQ0pwYlhCdmNuUWdleUJFWVhSbFZHbHRaU3dnUkhWeVlYUnBiMjRnZlNCbWNtOXRJRndpYkhWNGIyNWNJanRjYm1sdGNHOXlkQ0FxSUdGeklGQWdabkp2YlNCY0luQmhjbk5wYlcxdmJsd2lPMXh1YVcxd2IzSjBJR1Z0YjJwcFVtVm5aWGdnWm5KdmJTQmNJbVZ0YjJwcExYSmxaMlY0WENJN1hHNXBiWEJ2Y25RZ2V5Qk1hVzVySUgwZ1puSnZiU0JjSW1WNGNISmxjM05wYjI0dmJHbHVhMXdpTzF4dVhHNHZLaW9nVkdWemRDMWxiblpwY205dWJXVnVkQzFtY21sbGJtUnNlU0JtZFc1amRHbHZiaUIzYUdsamFDQm1aWFJqYUdWeklIUm9aU0JqZFhKeVpXNTBJSE41YzNSbGJTQnNiMk5oYkdVdUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZM1Z5Y21WdWRFeHZZMkZzWlNncE9pQnpkSEpwYm1jZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2QybHVaRzkzSUQwOVBTQmNJblZ1WkdWbWFXNWxaRndpS1NCeVpYUjFjbTRnWENKbGJpMVZVMXdpTzF4dUlDQWdJSEpsZEhWeWJpQjNhVzVrYjNjdWJtRjJhV2RoZEc5eUxteGhibWQxWVdkbE8xeHVmVnh1WEc0dkx5QkVZWFJsTDFScGJXVWdVbVZ1WkdWeWFXNW5YRzVjYmk4cUtpQk9iM0p0WVd4cGVtVWdZU0JrZFhKaGRHbHZiaUIwYnlCaGJHd2diMllnZEdobElIQnliM0JsY2lCMWJtbDBjeTRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWIzSnRZV3hwZW1WRWRYSmhkR2x2Ymloa2RYSTZJRVIxY21GMGFXOXVLU0I3WEc0Z0lDQWdhV1lnS0dSMWNpQTlQVDBnZFc1a1pXWnBibVZrSUh4OElHUjFjaUE5UFQwZ2JuVnNiQ2tnY21WMGRYSnVJR1IxY2p0Y2JseHVJQ0FnSUhKbGRIVnliaUJrZFhJdWMyaHBablJVYnloY0lubGxZWEp6WENJc0lGd2liVzl1ZEdoelhDSXNJRndpZDJWbGEzTmNJaXdnWENKa1lYbHpYQ0lzSUZ3aWFHOTFjbk5jSWl3Z1hDSnRhVzUxZEdWelhDSXNJRndpYzJWamIyNWtjMXdpTENCY0ltMXBiR3hwYzJWamIyNWtjMXdpS1M1dWIzSnRZV3hwZW1Vb0tUdGNibjFjYmx4dUx5b3FJRk4wY21sd0lIUm9aU0IwYVcxbElHTnZiWEJ2Ym1WdWRITWdiMllnWVNCa1lYUmxJSFJwYldVZ2IySnFaV04wTGlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlITjBjbWx3VkdsdFpTaGtkRG9nUkdGMFpWUnBiV1VwT2lCRVlYUmxWR2x0WlNCN1hHNGdJQ0FnYVdZZ0tHUjBJRDA5UFNCdWRXeHNJSHg4SUdSMElEMDlQU0IxYm1SbFptbHVaV1FwSUhKbGRIVnliaUJrZER0Y2JseHVJQ0FnSUhKbGRIVnliaUJFWVhSbFZHbHRaUzVtY205dFQySnFaV04wS0h0Y2JpQWdJQ0FnSUNBZ2VXVmhjam9nWkhRdWVXVmhjaXhjYmlBZ0lDQWdJQ0FnYlc5dWRHZzZJR1IwTG0xdmJuUm9MRnh1SUNBZ0lDQWdJQ0JrWVhrNklHUjBMbVJoZVN4Y2JpQWdJQ0I5S1R0Y2JuMWNibHh1THlvcUlGUnllU0IwYnlCbGVIUnlZV04wSUdFZ1dWbFpXVTFOUkVRZ1pHRjBaU0JtY205dElHRWdjM1J5YVc1bkxpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1Y0ZEhKaFkzUkVZWFJsS0hOMGNqb2djM1J5YVc1bktUb2dSR0YwWlZScGJXVWdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJR3hsZENCa1lYUmxUV0YwWTJnZ1BTQXZLRnhjWkhzMGZTa3RLRnhjWkhzeWZTa3RLRnhjWkhzeWZTa3ZMbVY0WldNb2MzUnlLVHRjYmlBZ0lDQnBaaUFvSVdSaGRHVk5ZWFJqYUNrZ1pHRjBaVTFoZEdOb0lEMGdMeWhjWEdSN05IMHBLRnhjWkhzeWZTa29YRnhrZXpKOUtTOHVaWGhsWXloemRISXBPMXh1SUNBZ0lHbG1JQ2hrWVhSbFRXRjBZMmdwSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJSGxsWVhJZ1BTQk9kVzFpWlhJdWNHRnljMlZKYm5Rb1pHRjBaVTFoZEdOb1d6RmRLVHRjYmlBZ0lDQWdJQ0FnYkdWMElHMXZiblJvSUQwZ1RuVnRZbVZ5TG5CaGNuTmxTVzUwS0dSaGRHVk5ZWFJqYUZzeVhTazdYRzRnSUNBZ0lDQWdJR3hsZENCa1lYa2dQU0JPZFcxaVpYSXVjR0Z5YzJWSmJuUW9aR0YwWlUxaGRHTm9Xek5kS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVSaGRHVlVhVzFsTG1aeWIyMVBZbXBsWTNRb2V5QjVaV0Z5TENCdGIyNTBhQ3dnWkdGNUlIMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hHNTlYRzVjYmk4cUtpQlNaVzVrWlhJZ1lTQkVZWFJsVkdsdFpTQnBiaUJoSUcxcGJtbHRZV3dnWm05eWJXRjBJSFJ2SUhOaGRtVWdjM0JoWTJVdUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbVZ1WkdWeVRXbHVhVzFoYkVSaGRHVW9kR2x0WlRvZ1JHRjBaVlJwYldVc0lHUmhkR1ZHYjNKdFlYUTZJSE4wY21sdVp5d2daR0YwWlZScGJXVkdiM0p0WVhRNklITjBjbWx1Wnl3Z2JHOWpZV3hsUHpvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0F2THlCSlppQjBhR1Z5WlNCcGN5QnVieUJ5Wld4bGRtRnVkQ0IwYVcxbElITndaV05wWm1sbFpDd2dabUZzYkNCaVlXTnJJSFJ2SUdwMWMzUWdjbVZ1WkdWeWFXNW5JSFJvWlNCa1lYUmxMbHh1SUNBZ0lHbG1JQ2gwYVcxbExuTmxZMjl1WkNBOVBTQXdJQ1ltSUhScGJXVXViV2x1ZFhSbElEMDlJREFnSmlZZ2RHbHRaUzVvYjNWeUlEMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhScGJXVXVkRzlNYjJOaGJDZ3BMblJ2Um05eWJXRjBLR1JoZEdWR2IzSnRZWFFzSUhzZ2JHOWpZV3hsSUgwcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYVcxbExuUnZURzlqWVd3b0tTNTBiMFp2Y20xaGRDaGtZWFJsVkdsdFpVWnZjbTFoZEN3Z2V5QnNiMk5oYkdVZ2ZTazdYRzU5WEc1Y2JpOHFLaUJTWlc1a1pYSWdZU0JrZFhKaGRHbHZiaUJwYmlCaElHMXBibWx0WVd3Z1ptOXliV0YwSUhSdklITmhkbVVnYzNCaFkyVXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY21WdVpHVnlUV2x1YVcxaGJFUjFjbUYwYVc5dUtHUjFjam9nUkhWeVlYUnBiMjRwT2lCemRISnBibWNnZTF4dUlDQWdJR1IxY2lBOUlHNXZjbTFoYkdsNlpVUjFjbUYwYVc5dUtHUjFjaWs3WEc1Y2JpQWdJQ0F2THlCVVQwUlBPaUJNZFhodmJpQmtiMlZ6SUc1dmRDQm9ZWFpsSUcxMWJIUnBMV3hwYm1kMVlXd3ZiRzlqWVd4bExXRjNZWEpsSUdSMWNtRjBhVzl1SUhKbGJtUmxjbWx1Wnk1Y2JpQWdJQ0JzWlhRZ2NtVnpkV3gwSUQwZ1hDSmNJanRjYmlBZ0lDQnBaaUFvWkhWeUxubGxZWEp6S1NCeVpYTjFiSFFnS3owZ1lDUjdaSFZ5TG5sbFlYSnpmU0I1WldGeWN5d2dZRHRjYmlBZ0lDQnBaaUFvWkhWeUxtMXZiblJvY3lrZ2NtVnpkV3gwSUNzOUlHQWtlMlIxY2k1dGIyNTBhSE45SUcxdmJuUm9jeXdnWUR0Y2JpQWdJQ0JwWmlBb1pIVnlMbmRsWld0ektTQnlaWE4xYkhRZ0t6MGdZQ1I3WkhWeUxuZGxaV3R6ZlNCM1pXVnJjeXdnWUR0Y2JpQWdJQ0JwWmlBb1pIVnlMbVJoZVhNcElISmxjM1ZzZENBclBTQmdKSHRrZFhJdVpHRjVjMzBnWkdGNWN5d2dZRHRjYmlBZ0lDQnBaaUFvWkhWeUxtaHZkWEp6S1NCeVpYTjFiSFFnS3owZ1lDUjdaSFZ5TG1odmRYSnpmU0JvYjNWeWN5d2dZRHRjYmlBZ0lDQnBaaUFvWkhWeUxtMXBiblYwWlhNcElISmxjM1ZzZENBclBTQmdKSHRrZFhJdWJXbHVkWFJsYzMwZ2JXbHVkWFJsY3l3Z1lEdGNiaUFnSUNCcFppQW9aSFZ5TG5ObFkyOXVaSE1wSUhKbGMzVnNkQ0FyUFNCZ0pIdE5ZWFJvTG5KdmRXNWtLR1IxY2k1elpXTnZibVJ6S1gwZ2MyVmpiMjVrY3l3Z1lEdGNiaUFnSUNCcFppQW9aSFZ5TG0xcGJHeHBjMlZqYjI1a2N5a2djbVZ6ZFd4MElDczlJR0FrZTAxaGRHZ3VjbTkxYm1Rb1pIVnlMbTFwYkd4cGMyVmpiMjVrY3lsOUlHMXpMQ0JnTzF4dVhHNGdJQ0FnYVdZZ0tISmxjM1ZzZEM1bGJtUnpWMmwwYUNoY0lpd2dYQ0lwS1NCeVpYTjFiSFFnUFNCeVpYTjFiSFF1YzNWaWMzUnlhVzVuS0RBc0lISmxjM1ZzZEM1c1pXNW5kR2dnTFNBeUtUdGNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dVhHNHZMeUJRWVhSb0lIVjBhV3hwZEdsbGN5NWNibHh1THlvcUlFZGxkQ0IwYUdVZ1ptOXNaR1Z5SUdOdmJuUmhhVzVwYm1jZ2RHaGxJR2RwZG1WdUlIQmhkR2dnS0drdVpTNHNJR3hwYTJVZ1kyOXRjSFYwYVc1bklDZHdZWFJvTHk0dUp5a3VJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJWMFVHRnlaVzUwUm05c1pHVnlLSEJoZEdnNklITjBjbWx1WnlrNklITjBjbWx1WnlCN1hHNGdJQ0FnY21WMGRYSnVJSEJoZEdndWMzQnNhWFFvWENJdlhDSXBMbk5zYVdObEtEQXNJQzB4S1M1cWIybHVLRndpTDF3aUtUdGNibjFjYmx4dUx5b3FJRWRsZENCMGFHVWdabWxzWlNCdVlXMWxJR1p2Y2lCMGFHVWdabWxzWlNCeVpXWmxjbVZ1WTJWa0lHbHVJSFJvWlNCbmFYWmxiaUJ3WVhSb0xDQmllU0J6ZEhKcGNIQnBibWNnZEdobElIQmhjbVZ1ZENCbWIyeGtaWEp6TGlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRVpwYkdWT1lXMWxLSEJoZEdnNklITjBjbWx1WnlrNklITjBjbWx1WnlCN1hHNGdJQ0FnY21WMGRYSnVJSEJoZEdndWFXNWpiSFZrWlhNb1hDSXZYQ0lwSUQ4Z2NHRjBhQzV6ZFdKemRISnBibWNvY0dGMGFDNXNZWE4wU1c1a1pYaFBaaWhjSWk5Y0lpa2dLeUF4S1NBNklIQmhkR2c3WEc1OVhHNWNiaThxS2lCSFpYUWdkR2hsSUZ3aWRHbDBiR1ZjSWlCbWIzSWdZU0JtYVd4bExDQmllU0J6ZEhKcGNIQnBibWNnYjNSb1pYSWdjR0Z5ZEhNZ2IyWWdkR2hsSUhCaGRHZ2dZWE1nZDJWc2JDQmhjeUIwYUdVZ1pYaDBaVzV6YVc5dUxpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVacGJHVlVhWFJzWlNod1lYUm9PaUJ6ZEhKcGJtY3BPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lHbG1JQ2h3WVhSb0xtbHVZMngxWkdWektGd2lMMXdpS1NrZ2NHRjBhQ0E5SUhCaGRHZ3VjM1ZpYzNSeWFXNW5LSEJoZEdndWJHRnpkRWx1WkdWNFQyWW9YQ0l2WENJcElDc2dNU2s3WEc0Z0lDQWdhV1lnS0hCaGRHZ3VaVzVrYzFkcGRHZ29YQ0l1YldSY0lpa3BJSEJoZEdnZ1BTQndZWFJvTG5OMVluTjBjbWx1Wnlnd0xDQndZWFJvTG14bGJtZDBhQ0F0SURNcE8xeHVJQ0FnSUhKbGRIVnliaUJ3WVhSb08xeHVmVnh1WEc0dktpb2dSMlYwSUhSb1pTQmxlSFJsYm5OcGIyNGdiMllnWVNCbWFXeGxJR1p5YjIwZ2RHaGxJR1pwYkdVZ2NHRjBhQzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCblpYUkZlSFJsYm5OcGIyNG9jR0YwYURvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0JwWmlBb0lYQmhkR2d1YVc1amJIVmtaWE1vWENJdVhDSXBLU0J5WlhSMWNtNGdYQ0pjSWp0Y2JpQWdJQ0J5WlhSMWNtNGdjR0YwYUM1emRXSnpkSEpwYm1jb2NHRjBhQzVzWVhOMFNXNWtaWGhQWmloY0lpNWNJaWtnS3lBeEtUdGNibjFjYmx4dUx5OGdWR0ZuSUdWNGRISmhZM1JwYjI0dVhHNWNiaThxS2lCUVlYSnpaU0JoYkd3Z2MzVmlkR0ZuY3lCdmRYUWdiMllnZEdobElHZHBkbVZ1SUhSaFp5NGdTUzVsTGl3Z0kyaGxiR3h2TDJrdllXMGdkMjkxYkdRZ2VXbGxiR1FnV3lOb1pXeHNieTlwTDJGdExDQWphR1ZzYkc4dmFTd2dJMmhsYkd4dlhTNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsZUhSeVlXTjBVM1ZpZEdGbmN5aDBZV2R6T2lCemRISnBibWNnZkNCSmRHVnlZV0pzWlR4emRISnBibWMrS1RvZ2MzUnlhVzVuVzEwZ2UxeHVJQ0FnSUd4bGRDQnlaWE4xYkhRZ1BTQmJYVHRjYmlBZ0lDQm1iM0lnS0d4bGRDQjBZV2NnYjJZZ2RIbHdaVzltSUhSaFozTWdQVDA5SUZ3aWMzUnlhVzVuWENJZ1B5QmJkR0ZuYzEwZ09pQjBZV2R6S1NCN1hHNGdJQ0FnSUNBZ0lISmxjM1ZzZEM1d2RYTm9LSFJoWnlrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNoMFlXY3VhVzVqYkhWa1pYTW9YQ0l2WENJcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMFlXY2dQU0IwWVdjdWMzVmljM1J5YVc1bktEQXNJSFJoWnk1c1lYTjBTVzVrWlhoUFppaGNJaTljSWlrcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WemRXeDBMbkIxYzJnb2RHRm5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNTlYRzVjYmk4cUtpQlRjR3hwZENCbFlXTm9JR0pzYjJOcklHRnVaQ0J6WldOMGFXOXVJR3hwYm1zZ2FXNTBieUIwYUdVZ2IzSnBaMmx1WVd3Z2JHbHVheUJoYm1RZ1lTQmpiM0p5WlhOd2IyNWthVzVuSUdacGJHVWdiR2x1YXk0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmxlSFJ5WVdOMFJtbHNaVXhwYm10ektHVnNhVzVyY3pvZ1RHbHVhMXRkS1RvZ1RHbHVhMXRkSUh0Y2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhRNklFeHBibXRiWFNBOUlGdGRPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdiR2x1YXlCdlppQmxiR2x1YTNNcElIdGNiaUFnSUNBZ0lDQWdjbVZ6ZFd4MExuQjFjMmdvYkdsdWF5azdYRzVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdabWxzWlV4cGJtc2dQU0JzYVc1ckxuUnZSbWxzWlNncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYkdsdWF5NTBlWEJsSUNFOUlGd2labWxzWlZ3aUlDWW1JQ0Z5WlhOMWJIUXVabWx1WkNnb1pYaHBjM1JwYm1jcElEMCtJR1Y0YVhOMGFXNW5MbVZ4ZFdGc2N5aG1hV3hsVEdsdWF5a3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWNIVnphQ2htYVd4bFRHbHVheWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1WEc0dkx5QlRkSEpwYm1jZ1pYTmpZWEJwYm1jZ1lXNWtJR05oYm05dWFXTmhiR2w2WVhScGIyNHVYRzVjYmk4cUtseHVJQ29nUlhOallYQmxJSEpsWjJWNElHTm9ZWEpoWTNSbGNuTWdhVzRnWVNCemRISnBibWN1WEc0Z0tpQlRaV1VnYUhSMGNITTZMeTlrWlhabGJHOXdaWEl1Ylc5NmFXeHNZUzV2Y21jdlpXNHRWVk12Wkc5amN5OVhaV0l2U21GMllWTmpjbWx3ZEM5SGRXbGtaUzlTWldkMWJHRnlYMFY0Y0hKbGMzTnBiMjV6TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaWE5qWVhCbFVtVm5aWGdvYzNSeU9pQnpkSEpwYm1jcElIdGNiaUFnSUNCeVpYUjFjbTRnYzNSeUxuSmxjR3hoWTJVb0wxc3VLaXMvWGlSN2ZTZ3BmRnRjWEYxY1hGeGNYUzluTENCY0lseGNYRndrSmx3aUtUdGNibjFjYmx4dVkyOXVjM1FnU0VWQlJFVlNYME5CVGs5T1NVTkJURWxhUlZJNklGQXVVR0Z5YzJWeVBITjBjbWx1Wno0Z1BTQlFMbUZzZENoY2JpQWdJQ0JRTG5KbFoyVjRLRzVsZHlCU1pXZEZlSEFvWlcxdmFtbFNaV2RsZUNncExDQmNJbHdpS1Nrc1hHNGdJQ0FnVUM1eVpXZGxlQ2d2V3pBdE9WeGNjSHRNWlhSMFpYSjlYeTFkS3k5MUtTeGNiaUFnSUNCUUxuZG9hWFJsYzNCaFkyVXViV0Z3S0NoZktTQTlQaUJjSWlCY0lpa3NYRzRnSUNBZ1VDNWhibmt1YldGd0tDaGZLU0E5UGlCY0lpQmNJaWxjYmlsY2JpQWdJQ0F1YldGdWVTZ3BYRzRnSUNBZ0xtMWhjQ2dvY21WemRXeDBLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFF1YW05cGJpaGNJbHdpS1M1emNHeHBkQ2d2WEZ4ekt5OHBMbXB2YVc0b1hDSWdYQ0lwTG5SeWFXMG9LVHRjYmlBZ0lDQjlLVHRjYmx4dUx5b3FYRzRnS2lCT2IzSnRZV3hwZW1WeklIUm9aU0IwWlhoMElHbHVJR0VnYUdWaFpHVnlJSFJ2SUdKbElITnZiV1YwYUdsdVp5QjBhR0YwSUdseklHRmpkSFZoYkd4NUlHeHBibXRoWW14bElIUnZMaUJVYUdseklHMXBiV2xqYzF4dUlDb2dhRzkzSUU5aWMybGthV0Z1SUdSdlpYTWdhWFFuY3lCdWIzSnRZV3hwZW1GMGFXOXVMQ0JqYjJ4c1lYQnphVzVuSUhKbGNHVmhkR1ZrSUhOd1lXTmxjeUJoYm1RZ2MzUnlhWEJ3YVc1bklHOTFkQ0JqYjI1MGNtOXNJR05vWVhKaFkzUmxjbk11WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVklaV0ZrWlhKR2IzSk1hVzVyS0dobFlXUmxjam9nYzNSeWFXNW5LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQnlaWFIxY200Z1NFVkJSRVZTWDBOQlRrOU9TVU5CVEVsYVJWSXVkSEo1VUdGeWMyVW9hR1ZoWkdWeUtUdGNibjFjYmx4dUx5OGdSbUZ6ZENCbGVIUnlZV04wYVc5dUlHOW1JR3hwYm1VZ2NtRnVaMlZ6SUdaeWIyMGdiR0Z5WjJVZ2NHbGxZMlZ6SUc5bUlIUmxlSFF1WEc1Y2JpOHFLaUJWY0dSaGRHVWdkR2hsSUd4cGJtVWdjbUZ1WjJVZ1puSnZiU0JiYzNSaGNuUXNJR1Z1WkNrZ2QybDBhQ0IwYUdVZ1oybDJaVzRnWm5WdVkzUnBiMjR1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JHbHVaVkpsY0d4aFkyVW9kR1Y0ZERvZ2MzUnlhVzVuTENCemRHRnlkRG9nYm5WdFltVnlMQ0JsYm1RNklHNTFiV0psY2l3Z1puVnVZem9nS0d4cGJtVTZJSE4wY21sdVp5a2dQVDRnYzNSeWFXNW5LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQmpiMjV6ZENCYlpHRjBZU3dnYjJabWMyVjBYU0E5SUd4cGJtVlRjR0Z1S0hSbGVIUXNJSE4wWVhKMExDQmxibVFwTzF4dUlDQWdJR2xtSUNnaGIyWm1jMlYwS1NCeVpYUjFjbTRnZEdWNGREdGNibHh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lHUmhkR0V1YzNWaWMzUnlhVzVuS0RBc0lHOW1abk5sZEM1emRHRnlkQ2tnS3lCbWRXNWpLR1JoZEdFdWMzVmljM1J5YVc1bktHOW1abk5sZEM1emRHRnlkQ3dnYjJabWMyVjBMbVZ1WkNrcElDc2daR0YwWVM1emRXSnpkSEpwYm1jb2IyWm1jMlYwTG1WdVpDbGNiaUFnSUNBcE8xeHVmVnh1WEc0dktpb2dSWGgwY21GamRDQjBhR1VnYkdsdVpYTWdhVzRnZEdobElISmhibWRsSUZ0emRHRnlkQ3dnWlc1a0tTd2dZWE1nZDJWc2JDQmhjeUIwYUdVZ1lXTjBkV0ZzSUc5bVpuTmxkSE1nYjJZZ2RHaGxJSE4wWVhKMElHRnVaQ0JsYm1RdUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiR2x1WlZOd1lXNG9YRzRnSUNBZ2RHVjRkRG9nYzNSeWFXNW5MRnh1SUNBZ0lITjBZWEowT2lCdWRXMWlaWElzWEc0Z0lDQWdaVzVrT2lCdWRXMWlaWEpjYmlrNklGdHpkSEpwYm1jc0lIc2djM1JoY25RNklHNTFiV0psY2pzZ1pXNWtPaUJ1ZFcxaVpYSWdmU0I4SUhWdVpHVm1hVzVsWkYwZ2UxeHVJQ0FnSUhOMFlYSjBJRDBnVFdGMGFDNXRZWGdvYzNSaGNuUXNJREFwTzF4dUlDQWdJR1Z1WkNBOUlFMWhkR2d1YldGNEtHVnVaQ3dnTUNrN1hHNWNiaUFnSUNCcFppQW9jM1JoY25RZ1BqMGdaVzVrS1NCeVpYUjFjbTRnVzF3aVhDSXNJSFZ1WkdWbWFXNWxaRjA3WEc1Y2JpQWdJQ0F2THlCVGRHRnlkQ0JpZVNCbWFXNWthVzVuSUhSb1pTQnpkR0Z5ZEdsdVp5QnNhVzVsSUc5bVpuTmxkQzVjYmlBZ0lDQmpiMjV6ZENCemRHRnlkRTltWm5ObGRDQTlJSE5yYVhCT1pYZHNhVzVsY3loMFpYaDBMQ0F3TENCemRHRnlkQ2s3WEc0Z0lDQWdhV1lnS0hOMFlYSjBUMlptYzJWMElEMDlJQzB4S1NCeVpYUjFjbTRnVzF3aVhDSXNJSFZ1WkdWbWFXNWxaRjA3WEc1Y2JpQWdJQ0JqYjI1emRDQmxibVJQWm1aelpYUWdQU0J6YTJsd1RtVjNiR2x1WlhNb2RHVjRkQ3dnYzNSaGNuUlBabVp6WlhRc0lHVnVaQ0F0SUhOMFlYSjBLVHRjYmlBZ0lDQnBaaUFvWlc1a1QyWm1jMlYwSUQwOUlDMHhLU0J5WlhSMWNtNGdXM1JsZUhRdWMzVmljM1J5YVc1bktITjBZWEowVDJabWMyVjBLU3dnZXlCemRHRnlkRG9nYzNSaGNuUlBabVp6WlhRc0lHVnVaRG9nZEdWNGRDNXNaVzVuZEdnZ2ZWMDdYRzRnSUNBZ1pXeHpaU0J5WlhSMWNtNGdXM1JsZUhRdWMzVmljM1J5YVc1bktITjBZWEowVDJabWMyVjBMQ0JsYm1SUFptWnpaWFFnTFNBeEtTd2dleUJ6ZEdGeWREb2djM1JoY25SUFptWnpaWFFzSUdWdVpEb2daVzVrVDJabWMyVjBJQzBnTVNCOVhUdGNibjFjYmx4dUx5b3FJRVY0ZEhKaFkzUWdkR2hsSUd4cGJtVnpJR2x1SUhSb1pTQnlZVzVuWlNCYmMzUmhjblFzSUdWdVpDa3VJRk4wWVhKMElHbHpJR2x1WTJ4MWMybDJaU3dnWlc1a0lHbHpJR1Y0WTJ4MWMybDJaUzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCc2FXNWxVbUZ1WjJVb2RHVjRkRG9nYzNSeWFXNW5MQ0J6ZEdGeWREb2diblZ0WW1WeUxDQmxibVE2SUc1MWJXSmxjaWs2SUhOMGNtbHVaeUI3WEc0Z0lDQWdjbVYwZFhKdUlHeHBibVZUY0dGdUtIUmxlSFFzSUhOMFlYSjBMQ0JsYm1RcFd6QmRPMXh1ZlZ4dVhHNHZLaW9nVTJ0cGNDQjdZMjkxYm5SOUlIUnZkR0ZzSUc1bGQyeHBibVZ6TENCeVpYUjFjbTVwYm1jZ2RHaGxJSE4wWVhKMElHOW1JSFJvWlNCc2FXNWxJSHRqYjNWdWRIMGdiR2x1WlhNZ1lXWjBaWElnZEdobElHTjFjbkpsYm5RZ2JHbHVaUzRnU1dZZ1kyOTFiblFnYVhNZ01Dd2dkR2hsSUdsdWFYUnBZV3dnYjJabWMyVjBJR2x6SUhKbGRIVnlibVZrTGlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlITnJhWEJPWlhkc2FXNWxjeWgwWlhoME9pQnpkSEpwYm1jc0lITjBZWEowT2lCdWRXMWlaWElzSUdOdmRXNTBPaUJ1ZFcxaVpYSXBPaUJ1ZFcxaVpYSWdlMXh1SUNBZ0lHbG1JQ2hqYjNWdWRDQTlQU0F3S1NCeVpYUjFjbTRnYzNSaGNuUTdYRzVjYmlBZ0lDQnNaWFFnY0c5emFYUnBiMjRnUFNCemRHRnlkRHRjYmlBZ0lDQjNhR2xzWlNBb1kyOTFiblFnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSEJ2YzJsMGFXOXVJRDBnZEdWNGRDNXBibVJsZUU5bUtGd2lYRnh1WENJc0lIQnZjMmwwYVc5dUtUdGNiaUFnSUNBZ0lDQWdhV1lnS0hCdmMybDBhVzl1SUQwOUlDMHhLU0J5WlhSMWNtNGdMVEU3WEc1Y2JpQWdJQ0FnSUNBZ1kyOTFiblF0TFR0Y2JpQWdJQ0FnSUNBZ2NHOXphWFJwYjI0Z0t6MGdNVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHOXphWFJwYjI0N1hHNTlYRzRpTENBaVpYaHdiM0owSUdSbFptRjFiSFFnS0NrZ1BUNGdlMXh1WEhRdkx5Qm9kSFJ3Y3pvdkwyMTBhSE11WW1VdlpXMXZhbWxjYmx4MGNtVjBkWEp1SUM5Ykl5b3dMVGxkWEZ4MVJrVXdSajljWEhVeU1FVXpmRnRjWEhoQk9WeGNlRUZGWEZ4MU1qQXpRMXhjZFRJd05EbGNYSFV5TVRJeVhGeDFNakV6T1Z4Y2RUSXhPVFF0WEZ4MU1qRTVPVnhjZFRJeFFUbGNYSFV5TVVGQlhGeDFNak14UVZ4Y2RUSXpNVUpjWEhVeU16STRYRngxTWpORFJseGNkVEl6UlVRdFhGeDFNak5GUmx4Y2RUSXpSakZjWEhVeU0wWXlYRngxTWpOR09DMWNYSFV5TTBaQlhGeDFNalJETWx4Y2RUSTFRVUZjWEhVeU5VRkNYRngxTWpWQ05seGNkVEkxUXpCY1hIVXlOVVpDWEZ4MU1qVkdRMXhjZFRJMVJrVmNYSFV5TmpBd0xWeGNkVEkyTURSY1hIVXlOakJGWEZ4MU1qWXhNVnhjZFRJMk1UUmNYSFV5TmpFMVhGeDFNall4T0Z4Y2RUSTJNakJjWEhVeU5qSXlYRngxTWpZeU0xeGNkVEkyTWpaY1hIVXlOakpCWEZ4MU1qWXlSVnhjZFRJMk1rWmNYSFV5TmpNNExWeGNkVEkyTTBGY1hIVXlOalF3WEZ4MU1qWTBNbHhjZFRJMk5EZ3RYRngxTWpZMU0xeGNkVEkyTlVaY1hIVXlOall3WEZ4MU1qWTJNMXhjZFRJMk5qVmNYSFV5TmpZMlhGeDFNalkyT0Z4Y2RUSTJOMEpjWEhVeU5qZEZYRngxTWpZM1JseGNkVEkyT1RKY1hIVXlOamswTFZ4Y2RUSTJPVGRjWEhVeU5qazVYRngxTWpZNVFseGNkVEkyT1VOY1hIVXlOa0V3WEZ4MU1qWkJOMXhjZFRJMlFVRmNYSFV5TmtJd1hGeDFNalpDTVZ4Y2RUSTJRa1JjWEhVeU5rSkZYRngxTWpaRE5GeGNkVEkyUXpoY1hIVXlOa05HWEZ4MU1qWkVNVnhjZFRJMlJUbGNYSFV5TmtZd0xWeGNkVEkyUmpWY1hIVXlOa1kzWEZ4MU1qWkdPRnhjZFRJMlJrRmNYSFV5TnpBeVhGeDFNamN3T0Z4Y2RUSTNNRGxjWEhVeU56QkdYRngxTWpjeE1seGNkVEkzTVRSY1hIVXlOekUyWEZ4MU1qY3hSRnhjZFRJM01qRmNYSFV5TnpNelhGeDFNamN6TkZ4Y2RUSTNORFJjWEhVeU56UTNYRngxTWpjMU4xeGNkVEkzTmpOY1hIVXlOMEV4WEZ4MU1qa3pORnhjZFRJNU16VmNYSFV5UWpBMUxWeGNkVEpDTURkY1hIVXlRakZDWEZ4MU1rSXhRMXhjZFRKQ05UVmNYSFV6TURNd1hGeDFNekF6UkZ4Y2RUTXlPVGRjWEhVek1qazVYVnhjZFVaRk1FWS9mRnRjWEhVeU5qRkVYRngxTWpjd1ExeGNkVEkzTUVSZEtEODZYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZGZGeGNkVVpGTUVZcFAzeGJYRngxTWpjd1FWeGNkVEkzTUVKZEtEODZYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZEtUOThXMXhjZFRJelJUa3RYRngxTWpORlExeGNkVEl6UmpCY1hIVXlNMFl6WEZ4MU1qVkdSRnhjZFRJMk9UTmNYSFV5TmtFeFhGeDFNalpCUWx4Y2RUSTJRelZjWEhVeU5rTkZYRngxTWpaRU5GeGNkVEkyUlVGY1hIVXlOa1pFWEZ4MU1qY3dOVnhjZFRJM01qaGNYSFV5TnpSRFhGeDFNamMwUlZ4Y2RUSTNOVE10WEZ4MU1qYzFOVnhjZFRJM09UVXRYRngxTWpjNU4xeGNkVEkzUWpCY1hIVXlOMEpHWEZ4MU1rSTFNRjE4WEZ4MU1qWkVNMXhjZFVaRk1FWS9LRDg2WEZ4MU1qQXdSRnhjZFVRNE0wUmNYSFZFUTBFMUtUOThYRngxTWpaR09TZy9PbHhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaR1hYeGNYSFZHUlRCR0tUOG9QenBjWEhVeU1EQkVXMXhjZFRJMk5EQmNYSFV5TmpReVhWeGNkVVpGTUVZL0tUOThYRngxTWpjMk5GeGNkVVpGTUVZL0tEODZYRngxTWpBd1JDZy9PbHhjZFVRNE0wUmNYSFZFUkRJMWZGeGNkVVE0TTBWY1hIVkVSVGM1S1NrL2ZGeGNkVVE0TTBNb1B6cGJYRngxUkVNd05GeGNkVVJFTnpCY1hIVkVSRGN4WEZ4MVJFUTNSVnhjZFVSRU4wWmNYSFZFUlRBeVhGeDFSRVV6TjF4Y2RVUkdNakZjWEhWRVJqSTBMVnhjZFVSR01rTmNYSFZFUmpNMlhGeDFSRVkzUkZ4Y2RVUkdPVFpjWEhWRVJqazNYRngxUkVZNU9TMWNYSFZFUmpsQ1hGeDFSRVk1UlZ4Y2RVUkdPVVpjWEhWRVJrTkVYRngxUkVaRFJWeGNkVVJHUkRRdFhGeDFSRVpFUmx4Y2RVUkdSalZjWEhWRVJrWTNYVnhjZFVaRk1FWS9mRnRjWEhWRVJqZzFYRngxUkVaRE1seGNkVVJHUXpkZEtEODZYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZEtUOThXMXhjZFVSR1F6UmNYSFZFUmtOQlhTZy9PbHhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaR1hTay9LRDg2WEZ4MU1qQXdSRnRjWEhVeU5qUXdYRngxTWpZME1sMWNYSFZHUlRCR1B5ay9mRnRjWEhWRVJrTkNYRngxUkVaRFExMG9QenBjWEhWRU9ETkRXMXhjZFVSR1JrSXRYRngxUkVaR1JsMThYRngxUmtVd1Jpay9LRDg2WEZ4MU1qQXdSRnRjWEhVeU5qUXdYRngxTWpZME1sMWNYSFZHUlRCR1B5ay9mRnRjWEhWRVEwTkdYRngxUkVRNFJWeGNkVVJFT1RFdFhGeDFSRVE1UVZ4Y2RVUkZNREZjWEhWRVJURkJYRngxUkVVeVJseGNkVVJGTXpJdFhGeDFSRVV6Tmx4Y2RVUkZNemd0WEZ4MVJFVXpRVnhjZFVSRk5UQmNYSFZFUlRVeFhGeDFSRVl3TUMxY1hIVkVSakl3WEZ4MVJFWXlSQzFjWEhWRVJqTTFYRngxUkVZek55MWNYSFZFUmpRelhGeDFSRVkwTlMxY1hIVkVSalJCWEZ4MVJFWTBReTFjWEhWRVJqZERYRngxUkVZM1JTMWNYSFZFUmpnMFhGeDFSRVk0TmkxY1hIVkVSamt6WEZ4MVJFWkJNQzFjWEhWRVJrTXhYRngxUkVaRE5WeGNkVVJHUXpaY1hIVkVSa000WEZ4MVJFWkRPVnhjZFVSR1EwWXRYRngxUkVaRU0xeGNkVVJHUlRBdFhGeDFSRVpHTUZ4Y2RVUkdSamd0WEZ4MVJFWkdSbDE4WEZ4MVJFUkZObHhjZFVRNE0wTmJYRngxUkVSRk9DMWNYSFZFUkVWRFhGeDFSRVJGUlZ4Y2RVUkVSakZjWEhWRVJFWXlYRngxUkVSR05GeGNkVVJFUmpZdFhGeDFSRVJHUVZ4Y2RVUkVSa05jWEhWRVJFWkVYRngxUkVSR1JsMThYRngxUkVSRk4xeGNkVVE0TTBOYlhGeDFSRVJGTmx4Y2RVUkVSVGRjWEhWRVJFVTVMVnhjZFVSRVJVWmNYSFZFUkVZeExWeGNkVVJFUmpSY1hIVkVSRVkyTFZ4Y2RVUkVSamxjWEhWRVJFWkNYRngxUkVSR1ExeGNkVVJFUmtWY1hIVkVSRVpHWFh4Y1hIVkVSRVU0WEZ4MVJEZ3pRMXRjWEhWRVJFVTJYRngxUkVSRk9GeGNkVVJFUlRsY1hIVkVSRVZDTFZ4Y2RVUkVSVVZjWEhWRVJFWXdMVnhjZFVSRVJqZGNYSFZFUkVaQkxWeGNkVVJFUmtaZGZGeGNkVVJFUlRsY1hIVkVPRE5EVzF4Y2RVUkVSVUZjWEhWRVJFVkRYRngxUkVSRlJseGNkVVJFUmpCY1hIVkVSRVl5WEZ4MVJFUkdORnhjZFVSRVJrWmRmRnhjZFVSRVJVRmNYSFZFT0RORFcxeGNkVVJFUlRaY1hIVkVSRVU0WEZ4MVJFUkZRVnhjZFVSRVJVTmNYSFZFUkVWRVhGeDFSRVJHTnkxY1hIVkVSRVpCWFh4Y1hIVkVSRVZDWEZ4MVJEZ3pRMXRjWEhWRVJFVkZMVnhjZFVSRVJqQmNYSFZFUkVZeVhGeDFSRVJHTkZ4Y2RVUkVSamRkZkZ4Y2RVUkVSVU5jWEhWRU9ETkRXMXhjZFVSRVJUWmNYSFZFUkVVM1hGeDFSRVJGT1MxY1hIVkVSRVZGWEZ4MVJFUkdNUzFjWEhWRVJFWXpYRngxUkVSR05TMWNYSFZFUkVaQlhGeDFSRVJHUTF4Y2RVUkVSa1ZkZkZ4Y2RVUkVSVVJjWEhWRU9ETkRXMXhjZFVSRVJqQmNYSFZFUkVZeVhGeDFSRVJHTTF4Y2RVUkVSamRjWEhWRVJFWTVYRngxUkVSR1FWMThYRngxUkVSRlJWeGNkVVE0TTBOYlhGeDFSRVJGT0MxY1hIVkVSRVZCWEZ4MVJFUkdNUzFjWEhWRVJFWTBYRngxUkVSR05pMWNYSFZFUkVZNVhYeGNYSFZFUkVWR1hGeDFSRGd6UTF0Y1hIVkVSRVZCWEZ4MVJFUkdNbHhjZFVSRVJqUmNYSFZFUkVZMVhYeGNYSFZFUkVZd1hGeDFSRGd6UTF0Y1hIVkVSRVZCWEZ4MVJFUkZReTFjWEhWRVJFVkZYRngxUkVSR01seGNkVVJFUmpOY1hIVkVSRVkxWEZ4MVJFUkdOMXhjZFVSRVJrTmNYSFZFUkVaRlhGeDFSRVJHUmwxOFhGeDFSRVJHTVZ4Y2RVUTRNME5iWEZ4MVJFUkZOaTFjWEhWRVJFVTRYRngxUkVSRlJWeGNkVVJFUmpCY1hIVkVSRVkzTFZ4Y2RVUkVSa0pjWEhWRVJFWkZYWHhjWEhWRVJFWXlYRngxUkRnelExdGNYSFZFUkVVMlhGeDFSRVJGT0MxY1hIVkVSRVZFWEZ4MVJFUkdNQzFjWEhWRVJFWkdYWHhjWEhWRVJFWXpYRngxUkRnelExdGNYSFZFUkVVMlhGeDFSRVJGT0Z4Y2RVUkVSVUV0WEZ4MVJFUkZRMXhjZFVSRVJVVmNYSFZFUkVZeFhGeDFSRVJHTkZ4Y2RVUkVSalZjWEhWRVJFWTNYRngxUkVSR1FWeGNkVVJFUmtaZGZGeGNkVVJFUmpSY1hIVkVPRE5EWEZ4MVJFUkdNbnhjWEhWRVJFWTFYRngxUkRnelExdGNYSFZFUkVVMlhGeDFSRVJGUVMxY1hIVkVSRVZFWEZ4MVJFUkdNQzFjWEhWRVJFWXpYRngxUkVSR055MWNYSFZFUkVZNVhGeDFSRVJHUTF4Y2RVUkVSa1ZkZkZ4Y2RVUkVSalpjWEhWRU9ETkRYRngxUkVSRk5ueGNYSFZFUkVZM1hGeDFSRGd6UTF0Y1hIVkVSRVZCWEZ4MVJFUkdORnhjZFVSRVJqaGNYSFZFUkVaQlhGeDFSRVJHUTExOFhGeDFSRVJHT0Z4Y2RVUTRNME5iWEZ4MVJFUkZOaTFjWEhWRVJFVkJYRngxUkVSRlF5MWNYSFZFUkVZMFhGeDFSRVJHTnkxY1hIVkVSRVk1WEZ4MVJFUkdRbHhjZFVSRVJrUXRYRngxUkVSR1JsMThYRngxUkVSR09WeGNkVVE0TTBOYlhGeDFSRVJGTmx4Y2RVUkVSVGhjWEhWRVJFVTVYRngxUkVSRlFpMWNYSFZFUkVWRVhGeDFSRVJGUmkxY1hIVkVSRVkwWEZ4MVJFUkdOMXhjZFVSRVJqbGNYSFZFUkVaQ1hGeDFSRVJHUTF4Y2RVUkVSa1pkZkZ4Y2RVUkVSa0ZjWEhWRU9ETkRXMXhjZFVSRVJUWmNYSFZFUkVWRFhGeDFSRVJHTWx4Y2RVUkVSak5jWEhWRVJFWTRYRngxUkVSR1JWeGNkVVJFUmtaZGZGeGNkVVJFUmtKY1hIVkVPRE5EVzF4Y2RVUkVSVFpjWEhWRVJFVTRYRngxUkVSRlFWeGNkVVJFUlVOY1hIVkVSRVZGWEZ4MVJFUkdNMXhjZFVSRVJrRmRmRnhjZFVSRVJrTmNYSFZFT0RORFcxeGNkVVJFUlVKY1hIVkVSRVk0WFh4Y1hIVkVSRVpFWEZ4MVJEZ3pRMXhjZFVSRVJqQjhYRngxUkVSR1JWeGNkVVE0TTBOYlhGeDFSRVJGUVZ4Y2RVUkVSamxkZkZ4Y2RVUkVSa1pjWEhWRU9ETkRXMXhjZFVSRVJUWmNYSFZFUkVZeVhGeDFSRVJHUTExOFhGeDFSRVkwTkNnL09seGNkVEl3TUVSY1hIVkVPRE5FWEZ4MVJFWkZRaWsvZkZ4Y2RVUkdORUlvUHpwY1hIVXlNREJFWEZ4MVJEZ3pSRnhjZFVSR1JUa3BQM3hjWEhWRVJrTXpLRDg2WEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrWmRLVDhvUHpwY1hIVXlNREJFS0Q4NlcxeGNkVEkyTkRCY1hIVXlOalF5WFZ4Y2RVWkZNRVkvS0Q4NlhGeDFNakF3UkZ4Y2RUSTNRVEZjWEhWR1JUQkdQeWsvZkZ4Y2RUSTNRVEZjWEhWR1JUQkdQeWtwUDN4Y1hIVkVSa1l6WEZ4MVJrVXdSajhvUHpwY1hIVXlNREJFS0Q4NlhGeDFNalpCTjF4Y2RVWkZNRVkvZkZ4Y2RVUTRNME5jWEhWRVJqQTRLU2svZkZ4Y2RVUkdSalFvUHpwY1hIVXlNREJFWEZ4MU1qWXlNRnhjZFVaRk1FWS9mRnhjZFVSQ05EQmNYSFZFUXpZM1hGeDFSRUkwTUZ4Y2RVUkROakpjWEhWRVFqUXdLRDg2WEZ4MVJFTTJOVnhjZFVSQ05EQmNYSFZFUXpaRlhGeDFSRUkwTUZ4Y2RVUkROamQ4WEZ4MVJFTTNNMXhjZFVSQ05EQmNYSFZFUXpZelhGeDFSRUkwTUZ4Y2RVUkROelI4WEZ4MVJFTTNOMXhjZFVSQ05EQmNYSFZFUXpaRFhGeDFSRUkwTUZ4Y2RVUkROek1wWEZ4MVJFSTBNRnhjZFVSRE4wWXBQeWw4WEZ4MVJEZ3pSQ2cvT2x0Y1hIVkVRek5HWEZ4MVJFTkdSRnhjZFVSRU5EbGNYSFZFUkRSQlhGeDFSRVEyUmx4Y2RVUkVOekJjWEhWRVJEY3pYRngxUkVRM05pMWNYSFZFUkRjNVhGeDFSRVE0TjF4Y2RVUkVPRUV0WEZ4MVJFUTRSRnhjZFVSRVFUVmNYSFZFUkVFNFhGeDFSRVJDTVZ4Y2RVUkVRakpjWEhWRVJFSkRYRngxUkVSRE1pMWNYSFZFUkVNMFhGeDFSRVJFTVMxY1hIVkVSRVF6WEZ4MVJFUkVReTFjWEhWRVJFUkZYRngxUkVSRk1WeGNkVVJFUlROY1hIVkVSRVU0WEZ4MVJFUkZSbHhjZFVSRVJqTmNYSFZFUkVaQlhGeDFSRVZEUWx4Y2RVUkZRMFF0WEZ4MVJFVkRSbHhjZFVSRlJUQXRYRngxUkVWRk5WeGNkVVJGUlRsY1hIVkVSVVl3WEZ4MVJFVkdNMTFjWEhWR1JUQkdQM3hiWEZ4MVJFTTBNbHhjZFVSRE5ETmNYSFZFUXpRMkxWeGNkVVJETlRCY1hIVkVRelkyWEZ4MVJFTTJOMXhjZFVSRE5rSXRYRngxUkVNMlJGeGNkVVJETnpKY1hIVkVRemMwTFZ4Y2RVUkROelpjWEhWRVF6YzRYRngxUkVNM1ExeGNkVVJET0ROY1hIVkVRemcxWEZ4MVJFTTRSbHhjZFVSRE9URmNYSFZFUTBGQlhGeDFSRVEzUVZ4Y2RVUkVPVFZjWEhWRVJEazJYRngxUkVVMFExeGNkVVJGTkVaY1hIVkVSVU13WEZ4MVJFVkRRMTBvUHpwY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSbDBwUDN4YlhGeDFSRU0yUlZ4Y2RVUkROekJjWEhWRVF6Y3hYRngxUkVNM00xeGNkVVJETnpkY1hIVkVRemd4WEZ4MVJFTTRNbHhjZFVSRE9EWmNYSFZFUXpnM1hGeDFSRVUwTlMxY1hIVkVSVFEzWEZ4MVJFVTBRbHhjZFVSRk5FUmNYSFZFUlRSRlhGeDFSRVZCTTF4Y2RVUkZRalJjWEhWRVJVSTFYU2cvT2x4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkdYU2svS0Q4NlhGeDFNakF3UkZ0Y1hIVXlOalF3WEZ4MU1qWTBNbDFjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVSRGMwWEZ4MVJFUTVNRjBvUHpwY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSbDE4WEZ4MVJrVXdSaWsvZkZ0Y1hIVkVRekF3TFZ4Y2RVUkRNRGRjWEhWRVF6QTVMVnhjZFVSRE1UUmNYSFZFUXpFMkxWeGNkVVJETWpWY1hIVkVRekkzTFZ4Y2RVUkRNMEZjWEhWRVF6TkRMVnhjZFVSRE0wVmNYSFZFUXpRd1hGeDFSRU0wTkZ4Y2RVUkRORFZjWEhWRVF6VXhMVnhjZFVSRE5qVmNYSFZFUXpaQlhGeDFSRU0zT1MxY1hIVkVRemRDWEZ4MVJFTTNSQzFjWEhWRVF6Z3dYRngxUkVNNE5GeGNkVVJET0RndFhGeDFSRU00UlZ4Y2RVUkRPVEJjWEhWRVF6a3lMVnhjZFVSRFFUbGNYSFZFUTBGQ0xWeGNkVVJEUmtOY1hIVkVRMFpHTFZ4Y2RVUkVNMFJjWEhWRVJEUkNMVnhjZFVSRU5FVmNYSFZFUkRVd0xWeGNkVVJFTmpkY1hIVkVSRUUwWEZ4MVJFUkdRaTFjWEhWRVJUSkVYRngxUkVVeVJpMWNYSFZFUlRNMFhGeDFSRVV6TnkxY1hIVkVSVFF4WEZ4MVJFVTBNMXhjZFVSRk5EUmNYSFZFUlRRNExWeGNkVVJGTkVGY1hIVkVSVGd3TFZ4Y2RVUkZRVEpjWEhWRVJVRTBMVnhjZFVSRlFqTmNYSFZFUlVJM0xWeGNkVVJGUWtaY1hIVkVSVU14TFZ4Y2RVUkZRelZjWEhWRVJVUXdMVnhjZFVSRlJESmNYSFZFUlVRMUxWeGNkVVJGUkRkY1hIVkVSVVJETFZ4Y2RVUkZSRVpjWEhWRVJVVkNYRngxUkVWRlExeGNkVVJGUmpRdFhGeDFSRVZHUTF4Y2RVUkdSVEF0WEZ4MVJFWkZRbHhjZFVSR1JqQmRmRnhjZFVSRE1EZ29QenBjWEhVeU1EQkVYRngxTWtJeFFpay9mRnhjZFVSRE1UVW9QenBjWEhVeU1EQkVYRngxUkRnelJWeGNkVVJFUWtFcFAzeGNYSFZFUXpJMktEODZYRngxTWpBd1JDZy9PbHhjZFRKQ01VSjhYRngxUkRnelJGeGNkVVJFTWpVcEtUOThYRngxUkVNelFpZy9PbHhjZFRJd01FUmNYSFV5TnpRMFhGeDFSa1V3Umo4cFAzeGNYSFZFUXpReFhGeDFSa1V3Umo4b1B6cGNYSFV5TURCRVhGeDFSRGd6UkZ4Y2RVUkVSVGhjWEhWR1JUQkdQeWsvZkZ4Y2RVUkROamdvUHpwY1hIVXlNREJFS0Q4NlcxeGNkVEkyT1RWY1hIVXlOamsyWEZ4MU1qY3dPRjFjWEhWR1JUQkdQM3hjWEhVeU56WTBYRngxUmtVd1JqOWNYSFV5TURCRVhGeDFSRGd6UkNnL09seGNkVVJET0VKY1hIVXlNREJFWEZ4MVJEZ3pSQ2svWEZ4MVJFTTJPSHhjWEhWRU9ETkRXMXhjZFVSR00wVmNYSFZFUmpjelhGeDFSRVkzUTF4Y2RVUkdPVE5jWEhWRVJrRTBYRngxUkVaQk9GeGNkVVJHUlVKY1hIVkVSa1ZFWFh4Y1hIVkVPRE5FS0Q4NlcxeGNkVVJETmpoY1hIVkVRelk1WFZ4Y2RUSXdNRVJjWEhWRU9ETkVLRDg2WEZ4MVJFTTJOaWcvT2x4Y2RUSXdNRVJjWEhWRU9ETkVYRngxUkVNMk5pay9mRnhjZFVSRE5qY29QenBjWEhVeU1EQkVYRngxUkRnelJGdGNYSFZFUXpZMlhGeDFSRU0yTjEwcFB5bDhXMXhjZFVSRFFrSmNYSFZFUTBKRFhGeDFSRVF5TjF4Y2RVUkVNa05jWEhWRVJUZ3dYRngxUkVVNU1sMThYRngxUkVNMk5pZy9PbHhjZFRJd01FUmNYSFZFT0RORVhGeDFSRU0yTmlrL2ZGeGNkVVJETmpjb1B6cGNYSFV5TURCRVhGeDFSRGd6UkZ0Y1hIVkVRelkyWEZ4MVJFTTJOMTBwUHlsOFhGeDFSRGd6UlNnL09sdGNYSFZFUkVGR1hGeDFSRVJDUTF4Y2RVUkVRa1JkS0Q4NlhGeDFNakF3UkZ4Y2RUSTNRVEZjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVSRUl3TFZ4Y2RVUkVRak5kS1NsOFhGeDFSRGd6UXlnL09seGNkVVJHUmtJb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVYRngxUkRnelJDZy9PbHhjZFVSRE9FSmNYSFV5TURCRVhGeDFSRGd6UkNrL1hGeDFSRU0yT0Z4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkdYWHhjWEhWRU9ETkRXMXhjZFVSR00wVmNYSFZFUmpjelhGeDFSRVkzUTF4Y2RVUkdPVE5jWEhWRVJrRTBYRngxUkVaQk9GeGNkVVJHUlVKY1hIVkVSa1ZFWFh4Y1hIVkVPRE5FVzF4Y2RVUkRRa0pjWEhWRVEwSkRYRngxUkVReU4xeGNkVVJFTWtOY1hIVkVSVGd3WEZ4MVJFVTVNbDE4WEZ4MVJEZ3pSU2cvT2x0Y1hIVkVSRUZHWEZ4MVJFUkNRMXhjZFVSRVFrUmRLRDg2WEZ4MU1qQXdSRnhjZFRJM1FURmNYSFZHUlRCR1B5ay9mRnRjWEhWRVJFSXdMVnhjZFVSRVFqTmRmRnhjZFVSRU1VUmNYSFV5TURCRVhGeDFSRGd6UkZ4Y2RVUkROamhjWEhWRU9ETkRXMXhjZFVSR1JrTXRYRngxUkVaR1JsMHBLU2svZkZ4Y2RVUkdSa01vUHpwY1hIVXlNREJFS0Q4NlcxeGNkVEkyT1RWY1hIVXlOamsyWEZ4MU1qY3dPRjFjWEhWR1JUQkdQM3hjWEhVeU56WTBYRngxUmtVd1JqOWNYSFV5TURCRVhGeDFSRGd6UkNnL09seGNkVVJET0VKY1hIVXlNREJFWEZ4MVJEZ3pSQ2svWEZ4MVJFTTJPRnhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaR1hYeGNYSFZFT0RORFcxeGNkVVJHTTBWY1hIVkVSamN6WEZ4MVJFWTNRMXhjZFVSR09UTmNYSFZFUmtFMFhGeDFSRVpCT0Z4Y2RVUkdSVUpjWEhWRVJrVkVYWHhjWEhWRU9ETkVXMXhjZFVSRFFrSmNYSFZFUTBKRFhGeDFSRVF5TjF4Y2RVUkVNa05jWEhWRVJUZ3dYRngxUkVVNU1sMThYRngxUkRnelJTZy9PbHRjWEhWRVJFRkdYRngxUkVSQ1ExeGNkVVJFUWtSZEtEODZYRngxTWpBd1JGeGNkVEkzUVRGY1hIVkdSVEJHUHlrL2ZGdGNYSFZFUkVJd0xWeGNkVVJFUWpOZGZGeGNkVVJFTVVSY1hIVXlNREJFWEZ4MVJEZ3pSRnhjZFVSRE5qaGNYSFZFT0RORFcxeGNkVVJHUmtKY1hIVkVSa1pFTFZ4Y2RVUkdSa1pkS1NrcFAzeGNYSFZFUmtaRUtEODZYRngxTWpBd1JDZy9PbHRjWEhVeU5qazFYRngxTWpZNU5seGNkVEkzTURoZFhGeDFSa1V3Umo5OFhGeDFNamMyTkZ4Y2RVWkZNRVkvWEZ4MU1qQXdSRnhjZFVRNE0wUW9QenBjWEhWRVF6aENYRngxTWpBd1JGeGNkVVE0TTBRcFAxeGNkVVJETmpoY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSbDE4WEZ4MVJEZ3pRMXRjWEhWRVJqTkZYRngxUkVZM00xeGNkVVJHTjBOY1hIVkVSamt6WEZ4MVJFWkJORnhjZFVSR1FUaGNYSFZFUmtWQ1hGeDFSRVpGUkYxOFhGeDFSRGd6UkZ0Y1hIVkVRMEpDWEZ4MVJFTkNRMXhjZFVSRU1qZGNYSFZFUkRKRFhGeDFSRVU0TUZ4Y2RVUkZPVEpkZkZ4Y2RVUTRNMFVvUHpwYlhGeDFSRVJCUmx4Y2RVUkVRa05jWEhWRVJFSkVYU2cvT2x4Y2RUSXdNRVJjWEhVeU4wRXhYRngxUmtVd1JqOHBQM3hiWEZ4MVJFUkNNQzFjWEhWRVJFSXpYWHhjWEhWRVJERkVYRngxTWpBd1JGeGNkVVE0TTBSY1hIVkVRelk0WEZ4MVJEZ3pRMXRjWEhWRVJrWkNYRngxUkVaR1ExeGNkVVJHUmtWY1hIVkVSa1pHWFNrcEtUOThYRngxUkVaR1JTZy9PbHhjZFRJd01FUW9QenBiWEZ4MU1qWTVOVnhjZFRJMk9UWmNYSFV5TnpBNFhWeGNkVVpGTUVZL2ZGeGNkVEkzTmpSY1hIVkdSVEJHUDF4Y2RUSXdNRVJjWEhWRU9ETkVLRDg2WEZ4MVJFTTRRbHhjZFRJd01FUmNYSFZFT0RORUtUOWNYSFZFUXpZNFhGeDFSRGd6UTF0Y1hIVkVSa1pDTFZ4Y2RVUkdSa1pkZkZ4Y2RVUTRNME5iWEZ4MVJFWXpSVnhjZFVSR056TmNYSFZFUmpkRFhGeDFSRVk1TTF4Y2RVUkdRVFJjWEhWRVJrRTRYRngxUkVaRlFseGNkVVJHUlVSZGZGeGNkVVE0TTBSYlhGeDFSRU5DUWx4Y2RVUkRRa05jWEhWRVJESTNYRngxUkVReVExeGNkVVJGT0RCY1hIVkVSVGt5WFh4Y1hIVkVPRE5GS0Q4NlcxeGNkVVJFUVVaY1hIVkVSRUpEWEZ4MVJFUkNSRjBvUHpwY1hIVXlNREJFWEZ4MU1qZEJNVnhjZFVaRk1FWS9LVDk4VzF4Y2RVUkVRakF0WEZ4MVJFUkNNMTE4WEZ4MVJFUXhSRnhjZFRJd01FUmNYSFZFT0RORVhGeDFSRU0yT0Z4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkVYRngxUkVaR1JsMHBLU2svZkZ4Y2RVUkdSa1lvUHpwY1hIVXlNREJFS0Q4NlcxeGNkVEkyT1RWY1hIVXlOamsyWEZ4MU1qY3dPRjFjWEhWR1JUQkdQM3hjWEhVeU56WTBYRngxUmtVd1JqOWNYSFV5TURCRVhGeDFSRGd6UkNnL09seGNkVVJET0VKY1hIVXlNREJFWEZ4MVJEZ3pSQ2svWEZ4MVJFTTJPRnhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaR1hYeGNYSFZFT0RORFcxeGNkVVJHTTBWY1hIVkVSamN6WEZ4MVJFWTNRMXhjZFVSR09UTmNYSFZFUmtFMFhGeDFSRVpCT0Z4Y2RVUkdSVUpjWEhWRVJrVkVYWHhjWEhWRU9ETkVXMXhjZFVSRFFrSmNYSFZFUTBKRFhGeDFSRVF5TjF4Y2RVUkVNa05jWEhWRVJUZ3dYRngxUkVVNU1sMThYRngxUkRnelJTZy9PbHRjWEhWRVJFRkdYRngxUkVSQ1ExeGNkVVJFUWtSZEtEODZYRngxTWpBd1JGeGNkVEkzUVRGY1hIVkdSVEJHUHlrL2ZGdGNYSFZFUkVJd0xWeGNkVVJFUWpOZGZGeGNkVVJFTVVSY1hIVXlNREJFWEZ4MVJEZ3pSRnhjZFVSRE5qaGNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUlYwcEtTay9LU2svZkZ4Y2RVUkROamtvUHpwY1hIVXlNREJFS0Q4NlcxeGNkVEkyT1RWY1hIVXlOamsyWEZ4MU1qY3dPRjFjWEhWR1JUQkdQM3hjWEhVeU56WTBYRngxUmtVd1JqOWNYSFV5TURCRVhGeDFSRGd6UkNnL09seGNkVVJET0VKY1hIVXlNREJFWEZ4MVJEZ3pSQ2svVzF4Y2RVUkROamhjWEhWRVF6WTVYWHhjWEhWRU9ETkRXMXhjZFVSR00wVmNYSFZFUmpjelhGeDFSRVkzUTF4Y2RVUkdPVE5jWEhWRVJrRTBYRngxUkVaQk9GeGNkVVJHUlVKY1hIVkVSa1ZFWFh4Y1hIVkVPRE5FS0Q4NlcxeGNkVVJEUWtKY1hIVkVRMEpEWEZ4MVJFUXlOMXhjZFVSRU1rTmNYSFZFUlRnd1hGeDFSRVU1TWwxOFhGeDFSRU0yTmlnL09seGNkVEl3TUVSY1hIVkVPRE5FWEZ4MVJFTTJOaWsvZkZ4Y2RVUkROamNvUHpwY1hIVXlNREJFWEZ4MVJEZ3pSRnRjWEhWRVF6WTJYRngxUkVNMk4xMHBQM3hjWEhWRVF6WTVYRngxTWpBd1JGeGNkVVE0TTBRb1B6cGNYSFZFUXpZMktEODZYRngxTWpBd1JGeGNkVVE0TTBSY1hIVkVRelkyS1Q5OFhGeDFSRU0yTnlnL09seGNkVEl3TUVSY1hIVkVPRE5FVzF4Y2RVUkROalpjWEhWRVF6WTNYU2svS1NsOFhGeDFSRGd6UlNnL09sdGNYSFZFUkVGR1hGeDFSRVJDUTF4Y2RVUkVRa1JkS0Q4NlhGeDFNakF3UkZ4Y2RUSTNRVEZjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVSRUl3TFZ4Y2RVUkVRak5kS1NsOFhGeDFSRGd6UXlnL09seGNkVVJHUmtJb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVYRngxUkRnelJDZy9PbHRjWEhWRVF6WTRYRngxUkVNMk9WMThYRngxUkVNNFFseGNkVEl3TUVSY1hIVkVPRE5FVzF4Y2RVUkROamhjWEhWRVF6WTVYU2xjWEhWRU9ETkRXMXhjZFVSR1JrSXRYRngxUkVaR1JsMThYRngxUkRnelExdGNYSFZFUmpORlhGeDFSRVkzTTF4Y2RVUkdOME5jWEhWRVJqa3pYRngxUkVaQk5GeGNkVVJHUVRoY1hIVkVSa1ZDWEZ4MVJFWkZSRjE4WEZ4MVJEZ3pSRnRjWEhWRVEwSkNYRngxUkVOQ1ExeGNkVVJFTWpkY1hIVkVSREpEWEZ4MVJFVTRNRnhjZFVSRk9USmRmRnhjZFVRNE0wVW9QenBiWEZ4MVJFUkJSbHhjZFVSRVFrTmNYSFZFUkVKRVhTZy9PbHhjZFRJd01FUmNYSFV5TjBFeFhGeDFSa1V3Umo4cFAzeGJYRngxUkVSQ01DMWNYSFZFUkVJelhYeGNYSFZFUkRGRVhGeDFNakF3UkZ4Y2RVUTRNMFJiWEZ4MVJFTTJPRnhjZFVSRE5qbGRYRngxUkRnelExdGNYSFZFUmtaRExWeGNkVVJHUmtaZEtTa3BQM3hjWEhWRVJrWkRLRDg2WEZ4MU1qQXdSQ2cvT2x0Y1hIVXlOamsxWEZ4MU1qWTVObHhjZFRJM01EaGRYRngxUmtVd1JqOThYRngxTWpjMk5GeGNkVVpGTUVZL1hGeDFNakF3UkZ4Y2RVUTRNMFFvUHpwYlhGeDFSRU0yT0Z4Y2RVUkROamxkZkZ4Y2RVUkRPRUpjWEhVeU1EQkVYRngxUkRnelJGdGNYSFZFUXpZNFhGeDFSRU0yT1YwcFhGeDFSRGd6UTF0Y1hIVkVSa1pDTFZ4Y2RVUkdSa1pkZkZ4Y2RVUTRNME5iWEZ4MVJFWXpSVnhjZFVSR056TmNYSFZFUmpkRFhGeDFSRVk1TTF4Y2RVUkdRVFJjWEhWRVJrRTRYRngxUkVaRlFseGNkVVJHUlVSZGZGeGNkVVE0TTBSYlhGeDFSRU5DUWx4Y2RVUkRRa05jWEhWRVJESTNYRngxUkVReVExeGNkVVJGT0RCY1hIVkVSVGt5WFh4Y1hIVkVPRE5GS0Q4NlcxeGNkVVJFUVVaY1hIVkVSRUpEWEZ4MVJFUkNSRjBvUHpwY1hIVXlNREJFWEZ4MU1qZEJNVnhjZFVaRk1FWS9LVDk4VzF4Y2RVUkVRakF0WEZ4MVJFUkNNMTE4WEZ4MVJFUXhSRnhjZFRJd01FUmNYSFZFT0RORVcxeGNkVVJETmpoY1hIVkVRelk1WFZ4Y2RVUTRNME5iWEZ4MVJFWkdRbHhjZFVSR1JrUXRYRngxUkVaR1JsMHBLU2svZkZ4Y2RVUkdSa1FvUHpwY1hIVXlNREJFS0Q4NlcxeGNkVEkyT1RWY1hIVXlOamsyWEZ4MU1qY3dPRjFjWEhWR1JUQkdQM3hjWEhVeU56WTBYRngxUmtVd1JqOWNYSFV5TURCRVhGeDFSRGd6UkNnL09sdGNYSFZFUXpZNFhGeDFSRU0yT1YxOFhGeDFSRU00UWx4Y2RUSXdNRVJjWEhWRU9ETkVXMXhjZFVSRE5qaGNYSFZFUXpZNVhTbGNYSFZFT0RORFcxeGNkVVJHUmtJdFhGeDFSRVpHUmwxOFhGeDFSRGd6UTF0Y1hIVkVSak5GWEZ4MVJFWTNNMXhjZFVSR04wTmNYSFZFUmprelhGeDFSRVpCTkZ4Y2RVUkdRVGhjWEhWRVJrVkNYRngxUkVaRlJGMThYRngxUkRnelJGdGNYSFZFUTBKQ1hGeDFSRU5DUTF4Y2RVUkVNamRjWEhWRVJESkRYRngxUkVVNE1GeGNkVVJGT1RKZGZGeGNkVVE0TTBVb1B6cGJYRngxUkVSQlJseGNkVVJFUWtOY1hIVkVSRUpFWFNnL09seGNkVEl3TUVSY1hIVXlOMEV4WEZ4MVJrVXdSajhwUDN4YlhGeDFSRVJDTUMxY1hIVkVSRUl6WFh4Y1hIVkVSREZFWEZ4MU1qQXdSRnhjZFVRNE0wUmJYRngxUkVNMk9GeGNkVVJETmpsZFhGeDFSRGd6UTF0Y1hIVkVSa1pDWEZ4MVJFWkdRMXhjZFVSR1JrVmNYSFZFUmtaR1hTa3BLVDk4WEZ4MVJFWkdSU2cvT2x4Y2RUSXdNRVFvUHpwYlhGeDFNalk1TlZ4Y2RUSTJPVFpjWEhVeU56QTRYVnhjZFVaRk1FWS9mRnhjZFRJM05qUmNYSFZHUlRCR1AxeGNkVEl3TUVSY1hIVkVPRE5FS0Q4NlcxeGNkVVJETmpoY1hIVkVRelk1WFh4Y1hIVkVRemhDWEZ4MU1qQXdSRnhjZFVRNE0wUmJYRngxUkVNMk9GeGNkVVJETmpsZEtWeGNkVVE0TTBOYlhGeDFSRVpHUWkxY1hIVkVSa1pHWFh4Y1hIVkVPRE5EVzF4Y2RVUkdNMFZjWEhWRVJqY3pYRngxUkVZM1ExeGNkVVJHT1ROY1hIVkVSa0UwWEZ4MVJFWkJPRnhjZFVSR1JVSmNYSFZFUmtWRVhYeGNYSFZFT0RORVcxeGNkVVJEUWtKY1hIVkVRMEpEWEZ4MVJFUXlOMXhjZFVSRU1rTmNYSFZFUlRnd1hGeDFSRVU1TWwxOFhGeDFSRGd6UlNnL09sdGNYSFZFUkVGR1hGeDFSRVJDUTF4Y2RVUkVRa1JkS0Q4NlhGeDFNakF3UkZ4Y2RUSTNRVEZjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVSRUl3TFZ4Y2RVUkVRak5kZkZ4Y2RVUkVNVVJjWEhVeU1EQkVYRngxUkRnelJGdGNYSFZFUXpZNFhGeDFSRU0yT1YxY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSRnhjZFVSR1JrWmRLU2twUDN4Y1hIVkVSa1pHS0Q4NlhGeDFNakF3UkNnL09sdGNYSFV5TmprMVhGeDFNalk1Tmx4Y2RUSTNNRGhkWEZ4MVJrVXdSajk4WEZ4MU1qYzJORnhjZFVaRk1FWS9YRngxTWpBd1JGeGNkVVE0TTBRb1B6cGJYRngxUkVNMk9GeGNkVVJETmpsZGZGeGNkVVJET0VKY1hIVXlNREJFWEZ4MVJEZ3pSRnRjWEhWRVF6WTRYRngxUkVNMk9WMHBYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZGZGeGNkVVE0TTBOYlhGeDFSRVl6UlZ4Y2RVUkdOek5jWEhWRVJqZERYRngxUkVZNU0xeGNkVVJHUVRSY1hIVkVSa0U0WEZ4MVJFWkZRbHhjZFVSR1JVUmRmRnhjZFVRNE0wUmJYRngxUkVOQ1FseGNkVVJEUWtOY1hIVkVSREkzWEZ4MVJFUXlRMXhjZFVSRk9EQmNYSFZFUlRreVhYeGNYSFZFT0RORktEODZXMXhjZFVSRVFVWmNYSFZFUkVKRFhGeDFSRVJDUkYwb1B6cGNYSFV5TURCRVhGeDFNamRCTVZ4Y2RVWkZNRVkvS1Q5OFcxeGNkVVJFUWpBdFhGeDFSRVJDTTExOFhGeDFSRVF4UkZ4Y2RUSXdNRVJjWEhWRU9ETkVXMXhjZFVSRE5qaGNYSFZFUXpZNVhWeGNkVVE0TTBOYlhGeDFSRVpHUWkxY1hIVkVSa1pGWFNrcEtUOHBLVDk4WEZ4MVJFTTJSaWcvT2x4Y2RUSXdNRVJiWEZ4MU1qWTBNRnhjZFRJMk5ESmRYRngxUmtVd1JqOHBQM3hjWEhWRVJEYzFLRDg2WEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrWmRmRnhjZFVaRk1FWXBQeWcvT2x4Y2RUSXdNRVJiWEZ4MU1qWTBNRnhjZFRJMk5ESmRYRngxUmtVd1JqOHBQM3hjWEhWRVJUSkZLRDg2WEZ4MU1qQXdSRnhjZFVRNE0wUmNYSFZFUTBFNEtUOThYRngxUkVVek5TZy9PbHhjZFRJd01FUmNYSFZFT0RORVhGeDFSRU5CUWlrL2ZGeGNkVVJGTXpZb1B6cGNYSFV5TURCRVhGeDFSRGd6UTF4Y2RVUkdNa0pjWEhWR1JUQkdQeWsvZkZ4Y2RVUkZORElvUHpwY1hIVXlNREJFVzF4Y2RUSXhPVFJjWEhVeU1UazFYVnhjZFVaRk1FWS9LVDk4WEZ4MVJFVkNOaWcvT2x4Y2RVUTRNME5iWEZ4MVJFWkdRaTFjWEhWRVJrWkdYU2svS0Q4NlhGeDFNakF3UkNnL09sdGNYSFV5TmpRd1hGeDFNalkwTWwxY1hIVkdSVEJHUHlnL09seGNkVEl3TUVSY1hIVXlOMEV4WEZ4MVJrVXdSajhwUDN4Y1hIVXlOMEV4WEZ4MVJrVXdSajhwS1Q4cGZGeGNkVVE0TTBVb1B6cGJYRngxUkVRd1ExeGNkVVJFTUVaY1hIVkVSREU0TFZ4Y2RVUkVNVVpjWEhWRVJETXdMVnhjZFVSRU16UmNYSFZFUkRNMlhGeDFSRVEzTjF4Y2RVUkVRalZjWEhWRVJFSTJYRngxUkVSQ1FseGNkVVJFUkRKY1hIVkVSRVF6WEZ4MVJFUkVOVnhjZFVSRlF6TXRYRngxUkVWRE5WeGNkVVJGUmpCY1hIVkVSVVl5TFZ4Y2RVUkZSamhkS0Q4NlhGeDFSRGd6UTF0Y1hIVkVSa1pDTFZ4Y2RVUkdSa1pkS1Q5OFcxeGNkVVJFTWpaY1hIVkVSRE0xWEZ4MVJFUXpOeTFjWEhWRVJETTVYRngxUkVRelJGeGNkVVJFTTBWY1hIVkVSRUk0WEZ4MVJFUkNPVnhjZFVSRVEwUmNYSFZFUkVOR1hGeDFSRVJFTkZ4Y2RVUkVSRFl0WEZ4MVJFUkVSRjBvUHpwY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSbDBwUHlnL09seGNkVEl3TUVSYlhGeDFNalkwTUZ4Y2RUSTJOREpkWEZ4MVJrVXdSajhwUDN4YlhGeDFSRVJFUlZ4Y2RVUkVSRVpkS0Q4NlhGeDFNakF3UkZ0Y1hIVXlOalF3WEZ4MU1qWTBNbDFjWEhWR1JUQkdQeWsvZkZ0Y1hIVkVSREJFWEZ4MVJFUXdSVnhjZFVSRU1UQXRYRngxUkVReE4xeGNkVVJFTWpBdFhGeDFSRVF5TlZ4Y2RVUkVNamN0WEZ4MVJFUXlSbHhjZFVSRU0wRmNYSFZFUkROR0xWeGNkVVJFTkRWY1hIVkVSRFEzTFZ4Y2RVUkVOelpjWEhWRVJEYzRMVnhjZFVSRVFqUmNYSFZFUkVJM1hGeDFSRVJDUVZ4Y2RVUkVRa010WEZ4MVJFUkRRMXhjZFVSRVJEQmNYSFZFUkVVd0xWeGNkVVJFUmtaY1hIVkVSVGN3TFZ4Y2RVUkZOME5jWEhWRVJUZ3dMVnhjZFVSRk9EbGNYSFZFUlRoR0xWeGNkVVJGUXpKY1hIVkVSVU0yWEZ4MVJFVkRSUzFjWEhWRVJVUkRYRngxUkVWRVJpMWNYSFZFUlVVNVhYeGNYSFZFUkROREtEODZYRngxTWpBd1JGdGNYSFV5TmpRd1hGeDFNalkwTWwxY1hIVkdSVEJHUDN4Y1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSbDBwUDN4Y1hIVkVSRU5GS0Q4NlhGeDFSRGd6UTF0Y1hIVkVSa1pDTFZ4Y2RVUkdSa1pkS1Q4b1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk5EQmNYSFV5TmpReVhWeGNkVVpGTUVZL0tEODZYRngxTWpBd1JGeGNkVEkzUVRGY1hIVkdSVEJHUHlrL2ZGeGNkVEkzUVRGY1hIVkdSVEJHUHlrcFAzeGNYSFZFUkVReEtEODZYRngxTWpBd1JDZy9PbHRjWEhVeU5qazFYRngxTWpZNU5seGNkVEkzTURoZFhGeDFSa1V3Umo5OFhGeDFSRGd6UTF0Y1hIVkVSak5GWEZ4MVJFWTNNMXhjZFVSR04wTmNYSFZFUmpnMFhGeDFSRVk1TTF4Y2RVUkdRVFJjWEhWRVJrRTRYRngxUkVaRlFseGNkVVJHUlVSZGZGeGNkVVE0TTBSYlhGeDFSRU5DUWx4Y2RVUkRRa05jWEhWRVJESTNYRngxUkVReVExeGNkVVJGT0RCY1hIVkVSVGt5WFh4Y1hIVkVPRE5GS0Q4NlcxeGNkVVJFUVVaY1hIVkVSRUpEWEZ4MVJFUkNSRjBvUHpwY1hIVXlNREJFWEZ4MU1qZEJNVnhjZFVaRk1FWS9LVDk4VzF4Y2RVUkVRakF0WEZ4MVJFUkNNMTE4WEZ4MVJFUXhSRnhjZFRJd01FUmNYSFZFT0RORlhGeDFSRVJFTVh4Y1hIVkVSRVF4WEZ4MU1qQXdSRnhjZFVRNE0wVmNYSFZFUkVReUtEODZYRngxTWpBd1JGeGNkVVE0TTBWY1hIVkVSRVF5S1Q5OFhGeDFSRVJFTWlnL09seGNkVEl3TUVSY1hIVkVPRE5GWEZ4MVJFUkVNaWsvS1NsOFhGeDFSRGd6UXlnL09seGNkVVJHUmtJb1B6cGNYSFV5TURCRUtEODZXMXhjZFRJMk9UVmNYSFV5TmprMlhGeDFNamN3T0YxY1hIVkdSVEJHUDN4Y1hIVXlOelkwWEZ4MVJrVXdSajljWEhVeU1EQkVLRDg2WEZ4MVJEZ3pSRnhjZFVSRE9FSmNYSFV5TURCRUtUOWNYSFZFT0RORlhGeDFSRVJFTVZ4Y2RVUTRNME5iWEZ4MVJFWkdReTFjWEhWRVJrWkdYWHhjWEhWRU9ETkRXMXhjZFVSR00wVmNYSFZFUmpjelhGeDFSRVkzUTF4Y2RVUkdPRFJjWEhWRVJqa3pYRngxUkVaQk5GeGNkVVJHUVRoY1hIVkVSa1ZDWEZ4MVJFWkZSRjE4WEZ4MVJEZ3pSRnRjWEhWRVEwSkNYRngxUkVOQ1ExeGNkVVJFTWpkY1hIVkVSREpEWEZ4MVJFVTRNRnhjZFVSRk9USmRmRnhjZFVRNE0wVW9QenBiWEZ4MVJFUkJSbHhjZFVSRVFrTmNYSFZFUkVKRVhTZy9PbHhjZFRJd01FUmNYSFV5TjBFeFhGeDFSa1V3Umo4cFAzeGJYRngxUkVSQ01DMWNYSFZFUkVJelhYeGNYSFZFUkRGRVhGeDFNakF3UkZ4Y2RVUTRNMFZjWEhWRVJFUXhYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtaZEtTa3BQM3hjWEhWRVJrWkRLRDg2WEZ4MU1qQXdSQ2cvT2x0Y1hIVXlOamsxWEZ4MU1qWTVObHhjZFRJM01EaGRYRngxUmtVd1JqOThYRngxTWpjMk5GeGNkVVpGTUVZL1hGeDFNakF3UkNnL09seGNkVVE0TTBSY1hIVkVRemhDWEZ4MU1qQXdSQ2svWEZ4MVJEZ3pSVnhjZFVSRVJERmNYSFZFT0RORFcxeGNkVVJHUmtKY1hIVkVSa1pFTFZ4Y2RVUkdSa1pkZkZ4Y2RVUTRNME5iWEZ4MVJFWXpSVnhjZFVSR056TmNYSFZFUmpkRFhGeDFSRVk0TkZ4Y2RVUkdPVE5jWEhWRVJrRTBYRngxUkVaQk9GeGNkVVJHUlVKY1hIVkVSa1ZFWFh4Y1hIVkVPRE5FVzF4Y2RVUkRRa0pjWEhWRVEwSkRYRngxUkVReU4xeGNkVVJFTWtOY1hIVkVSVGd3WEZ4MVJFVTVNbDE4WEZ4MVJEZ3pSU2cvT2x0Y1hIVkVSRUZHWEZ4MVJFUkNRMXhjZFVSRVFrUmRLRDg2WEZ4MU1qQXdSRnhjZFRJM1FURmNYSFZHUlRCR1B5ay9mRnRjWEhWRVJFSXdMVnhjZFVSRVFqTmRmRnhjZFVSRU1VUmNYSFV5TURCRVhGeDFSRGd6UlZ4Y2RVUkVSREZjWEhWRU9ETkRXMXhjZFVSR1JrSXRYRngxUkVaR1JsMHBLU2svZkZ4Y2RVUkdSa1FvUHpwY1hIVXlNREJFS0Q4NlcxeGNkVEkyT1RWY1hIVXlOamsyWEZ4MU1qY3dPRjFjWEhWR1JUQkdQM3hjWEhVeU56WTBYRngxUmtVd1JqOWNYSFV5TURCRUtEODZYRngxUkRnelJGeGNkVVJET0VKY1hIVXlNREJFS1Q5Y1hIVkVPRE5GWEZ4MVJFUkVNVnhjZFVRNE0wTmJYRngxUkVaR1FseGNkVVJHUmtOY1hIVkVSa1pGWEZ4MVJFWkdSbDE4WEZ4MVJEZ3pRMXRjWEhWRVJqTkZYRngxUkVZM00xeGNkVVJHTjBOY1hIVkVSamcwWEZ4MVJFWTVNMXhjZFVSR1FUUmNYSFZFUmtFNFhGeDFSRVpGUWx4Y2RVUkdSVVJkZkZ4Y2RVUTRNMFJiWEZ4MVJFTkNRbHhjZFVSRFFrTmNYSFZFUkRJM1hGeDFSRVF5UTF4Y2RVUkZPREJjWEhWRVJUa3lYWHhjWEhWRU9ETkZLRDg2VzF4Y2RVUkVRVVpjWEhWRVJFSkRYRngxUkVSQ1JGMG9QenBjWEhVeU1EQkVYRngxTWpkQk1WeGNkVVpGTUVZL0tUOThXMXhjZFVSRVFqQXRYRngxUkVSQ00xMThYRngxUkVReFJGeGNkVEl3TUVSY1hIVkVPRE5GWEZ4MVJFUkVNVnhjZFVRNE0wTmJYRngxUkVaR1FpMWNYSFZFUmtaR1hTa3BLVDk4WEZ4MVJFWkdSU2cvT2x4Y2RUSXdNRVFvUHpwYlhGeDFNalk1TlZ4Y2RUSTJPVFpjWEhVeU56QTRYVnhjZFVaRk1FWS9mRnhjZFRJM05qUmNYSFZHUlRCR1AxeGNkVEl3TUVRb1B6cGNYSFZFT0RORVhGeDFSRU00UWx4Y2RUSXdNRVFwUDF4Y2RVUTRNMFZjWEhWRVJFUXhYRngxUkRnelExdGNYSFZFUmtaQ0xWeGNkVVJHUmtSY1hIVkVSa1pHWFh4Y1hIVkVPRE5EVzF4Y2RVUkdNMFZjWEhWRVJqY3pYRngxUkVZM1ExeGNkVVJHT0RSY1hIVkVSamt6WEZ4MVJFWkJORnhjZFVSR1FUaGNYSFZFUmtWQ1hGeDFSRVpGUkYxOFhGeDFSRGd6UkZ0Y1hIVkVRMEpDWEZ4MVJFTkNRMXhjZFVSRU1qZGNYSFZFUkRKRFhGeDFSRVU0TUZ4Y2RVUkZPVEpkZkZ4Y2RVUTRNMFVvUHpwYlhGeDFSRVJCUmx4Y2RVUkVRa05jWEhWRVJFSkVYU2cvT2x4Y2RUSXdNRVJjWEhVeU4wRXhYRngxUmtVd1JqOHBQM3hiWEZ4MVJFUkNNQzFjWEhWRVJFSXpYWHhjWEhWRVJERkVYRngxTWpBd1JGeGNkVVE0TTBWY1hIVkVSRVF4WEZ4MVJEZ3pRMXRjWEhWRVJrWkNMVnhjZFVSR1JrWmRLU2twUDN4Y1hIVkVSa1pHS0Q4NlhGeDFNakF3UkNnL09sdGNYSFV5TmprMVhGeDFNalk1Tmx4Y2RUSTNNRGhkWEZ4MVJrVXdSajk4WEZ4MU1qYzJORnhjZFVaRk1FWS9YRngxTWpBd1JDZy9PbHhjZFVRNE0wUmNYSFZFUXpoQ1hGeDFNakF3UkNrL1hGeDFSRGd6UlZ4Y2RVUkVSREZjWEhWRU9ETkRXMXhjZFVSR1JrSXRYRngxUkVaR1JWMThYRngxUkRnelExdGNYSFZFUmpORlhGeDFSRVkzTTF4Y2RVUkdOME5jWEhWRVJqZzBYRngxUkVZNU0xeGNkVVJHUVRSY1hIVkVSa0U0WEZ4MVJFWkZRbHhjZFVSR1JVUmRmRnhjZFVRNE0wUmJYRngxUkVOQ1FseGNkVVJEUWtOY1hIVkVSREkzWEZ4MVJFUXlRMXhjZFVSRk9EQmNYSFZFUlRreVhYeGNYSFZFT0RORktEODZXMXhjZFVSRVFVWmNYSFZFUkVKRFhGeDFSRVJDUkYwb1B6cGNYSFV5TURCRVhGeDFNamRCTVZ4Y2RVWkZNRVkvS1Q5OFcxeGNkVVJFUWpBdFhGeDFSRVJDTTExOFhGeDFSRVF4UkZ4Y2RUSXdNRVJjWEhWRU9ETkZYRngxUkVSRU1WeGNkVVE0TTBOYlhGeDFSRVpHUWkxY1hIVkVSa1pHWFNrcEtUOHBLVDk4WEZ4MVJFVkdNU2cvT2x4Y2RVUTRNME1vUHpwY1hIVkVSa1pDS0Q4NlhGeDFNakF3UkZ4Y2RVUTRNMFZjWEhWRVJVWXlYRngxUkRnelExdGNYSFZFUmtaRExWeGNkVVJHUmtaZEtUOThYRngxUkVaR1F5Zy9PbHhjZFRJd01FUmNYSFZFT0RORlhGeDFSRVZHTWx4Y2RVUTRNME5iWEZ4MVJFWkdRbHhjZFVSR1JrUXRYRngxUkVaR1JsMHBQM3hjWEhWRVJrWkVLRDg2WEZ4MU1qQXdSRnhjZFVRNE0wVmNYSFZFUlVZeVhGeDFSRGd6UTF0Y1hIVkVSa1pDWEZ4MVJFWkdRMXhjZFVSR1JrVmNYSFZFUmtaR1hTay9mRnhjZFVSR1JrVW9QenBjWEhVeU1EQkVYRngxUkRnelJWeGNkVVJGUmpKY1hIVkVPRE5EVzF4Y2RVUkdSa0l0WEZ4MVJFWkdSRnhjZFVSR1JrWmRLVDk4WEZ4MVJFWkdSaWcvT2x4Y2RUSXdNRVJjWEhWRU9ETkZYRngxUkVWR01seGNkVVE0TTBOYlhGeDFSRVpHUWkxY1hIVkVSa1pGWFNrL0tTay9LUzluTzF4dWZUdGNiaUlzSUNKcGJYQnZjblFnZXlCblpYUkdhV3hsVkdsMGJHVXNJRzV2Y20xaGJHbDZaVWhsWVdSbGNrWnZja3hwYm1zZ2ZTQm1jbTl0SUZ3aWRYUnBiSE12Ym05eWJXRnNhWHBsY25OY0lqdGNibHh1THlvcUlGUm9aU0JQWW5OcFpHbGhiaUFuYkdsdWF5Y3NJSFZ6WldRZ1ptOXlJSFZ1YVhGMVpXeDVJR1JsYzJOeWFXSnBibWNnWVNCbWFXeGxMQ0JvWldGa1pYSXNJRzl5SUdKc2IyTnJMbHh1SUNvZ1FHZHliM1Z3SUVOdmJXMXZiaUJVZVhCbGMxeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdUR2x1YXlCN1hHNGdJQ0FnTHlvcUlGUm9aU0JtYVd4bElIQmhkR2dnZEdocGN5QnNhVzVySUhCdmFXNTBjeUIwYnk0Z0tpOWNiaUFnSUNCd2RXSnNhV01nY0dGMGFEb2djM1J5YVc1bk8xeHVJQ0FnSUM4cUtpQlVhR1VnWkdsemNHeGhlU0J1WVcxbElHRnpjMjlqYVdGMFpXUWdkMmwwYUNCMGFHVWdiR2x1YXk0Z0tpOWNiaUFnSUNCd2RXSnNhV01nWkdsemNHeGhlVDg2SUhOMGNtbHVaenRjYmlBZ0lDQXZLaW9nVkdobElHSnNiMk5ySUVsRUlHOXlJR2hsWVdSbGNpQjBhR2x6SUd4cGJtc2djRzlwYm5SeklIUnZJSGRwZEdocGJpQmhJR1pwYkdVc0lHbG1JSEpsYkdWMllXNTBMaUFxTDF4dUlDQWdJSEIxWW14cFl5QnpkV0p3WVhSb1B6b2djM1J5YVc1bk8xeHVJQ0FnSUM4cUtpQkpjeUIwYUdseklHeHBibXNnWVc0Z1pXMWlaV1JrWldRZ2JHbHVheUFvYjJZZ1ptOXliU0FuSVZ0YmFHVnNiRzlkWFNjcFB5QXFMMXh1SUNBZ0lIQjFZbXhwWXlCbGJXSmxaRG9nWW05dmJHVmhianRjYmlBZ0lDQXZLaW9nVkdobElIUjVjR1VnYjJZZ2RHaHBjeUJzYVc1ckxDQjNhR2xqYUNCa1pYUmxjbTFwYm1WeklIZG9ZWFFnSjNOMVluQmhkR2duSUhKbFptVnljeUIwYnl3Z2FXWWdZVzU1ZEdocGJtY3VJQ292WEc0Z0lDQWdjSFZpYkdsaklIUjVjR1U2SUZ3aVptbHNaVndpSUh3Z1hDSm9aV0ZrWlhKY0lpQjhJRndpWW14dlkydGNJanRjYmx4dUlDQWdJQzhxS2lCRGNtVmhkR1VnWVNCc2FXNXJJSFJ2SUdFZ2MzQmxZMmxtYVdNZ1ptbHNaUzRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdjM1JoZEdsaklHWnBiR1VvY0dGMGFEb2djM1J5YVc1bkxDQmxiV0psWkRvZ1ltOXZiR1ZoYmlBOUlHWmhiSE5sTENCa2FYTndiR0Y1UHpvZ2MzUnlhVzVuS1RvZ1RHbHVheUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1RHbHVheWg3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndZWFJvTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaVzFpWldRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrYVhOd2JHRjVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzVmljR0YwYURvZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUb2dYQ0ptYVd4bFhDSXNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCSmJtWmxjaUIwYUdVZ2RIbHdaU0J2WmlCMGFHVWdiR2x1YXlCbWNtOXRJSFJvWlNCbWRXeHNJR2x1ZEdWeWJtRnNJR3hwYm1zZ2NHRjBhQzRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdjM1JoZEdsaklHbHVabVZ5S0d4cGJtdHdZWFJvT2lCemRISnBibWNzSUdWdFltVmtPaUJpYjI5c1pXRnVJRDBnWm1Gc2MyVXNJR1JwYzNCc1lYay9PaUJ6ZEhKcGJtY3BPaUJNYVc1cklIdGNiaUFnSUNBZ0lDQWdhV1lnS0d4cGJtdHdZWFJvTG1sdVkyeDFaR1Z6S0Z3aUkxNWNJaWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3hsZENCemNHeHBkQ0E5SUd4cGJtdHdZWFJvTG5Od2JHbDBLRndpSTE1Y0lpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVEdsdWF5NWliRzlqYXloemNHeHBkRnN3WFN3Z2MzQnNhWFJiTVYwc0lHVnRZbVZrTENCa2FYTndiR0Y1S1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaHNhVzVyY0dGMGFDNXBibU5zZFdSbGN5aGNJaU5jSWlrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnpjR3hwZENBOUlHeHBibXR3WVhSb0xuTndiR2wwS0Z3aUkxd2lLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCTWFXNXJMbWhsWVdSbGNpaHpjR3hwZEZzd1hTd2djM0JzYVhSYk1WMHNJR1Z0WW1Wa0xDQmthWE53YkdGNUtUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElISmxkSFZ5YmlCTWFXNXJMbVpwYkdVb2JHbHVhM0JoZEdnc0lHVnRZbVZrTENCa2FYTndiR0Y1S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1EzSmxZWFJsSUdFZ2JHbHVheUIwYnlCaElITndaV05wWm1saklHWnBiR1VnWVc1a0lHaGxZV1JsY2lCcGJpQjBhR0YwSUdacGJHVXVJQ292WEc0Z0lDQWdjSFZpYkdsaklITjBZWFJwWXlCb1pXRmtaWElvY0dGMGFEb2djM1J5YVc1bkxDQm9aV0ZrWlhJNklITjBjbWx1Wnl3Z1pXMWlaV1EvT2lCaWIyOXNaV0Z1TENCa2FYTndiR0Y1UHpvZ2MzUnlhVzVuS1RvZ1RHbHVheUI3WEc0Z0lDQWdJQ0FnSUM4dklFaGxZV1JsY25NZ2JtVmxaQ0IwYnlCaVpTQnViM0p0WVd4cGVtVmtJSFJ2SUdGc2NHaGhMVzUxYldWeWFXTWdKaUIzYVhSb0lHVjRkSEpoSUhOd1lXTnBibWNnY21WdGIzWmxaQzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCTWFXNXJLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhkR2dzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiV0psWkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1JwYzNCc1lYa3NYRzRnSUNBZ0lDQWdJQ0FnSUNCemRXSndZWFJvT2lCdWIzSnRZV3hwZW1WSVpXRmtaWEpHYjNKTWFXNXJLR2hsWVdSbGNpa3NYRzRnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxPaUJjSW1obFlXUmxjbHdpTEZ4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRM0psWVhSbElHRWdiR2x1YXlCMGJ5QmhJSE53WldOcFptbGpJR1pwYkdVZ1lXNWtJR0pzYjJOcklHbHVJSFJvWVhRZ1ptbHNaUzRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdjM1JoZEdsaklHSnNiMk5yS0hCaGRHZzZJSE4wY21sdVp5d2dZbXh2WTJ0SlpEb2djM1J5YVc1bkxDQmxiV0psWkQ4NklHSnZiMnhsWVc0c0lHUnBjM0JzWVhrL09pQnpkSEpwYm1jcE9pQk1hVzVySUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5Qk1hVzVyS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJoZEdnc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYldKbFpDeGNiaUFnSUNBZ0lDQWdJQ0FnSUdScGMzQnNZWGtzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkV0p3WVhSb09pQmliRzlqYTBsa0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUb2dYQ0ppYkc5amExd2lMRnh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1RHOWhaQ0JoSUd4cGJtc2dabkp2YlNCcGRDZHpJSEpoZHlCS1UwOU9JSEpsY0hKbGMyVnVkR0YwYVc5dUxpQXFMMXh1SUNBZ0lIQjFZbXhwWXlCemRHRjBhV01nWm5KdmJVOWlhbVZqZENodlltcGxZM1E2SUVwemIyNU1hVzVyS1RvZ1RHbHVheUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1RHbHVheWh2WW1wbFkzUXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJEY21WaGRHVWdZU0JzYVc1cklHSjVJSEJoY25OcGJtY2dhWFFuY3lCcGJuUmxjbWx2Y2lCd1lYSjBJQ2hwYm5OcFpHVWdiMllnZEdobElDZGJXMTFkSnlrdUlDb3ZYRzRnSUNBZ2NIVmliR2xqSUhOMFlYUnBZeUJ3WVhKelpVbHVibVZ5S0hKaGQyeHBibXM2SUhOMGNtbHVaeWs2SUV4cGJtc2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ1cyeHBibXNzSUdScGMzQnNZWGxkSUQwZ2MzQnNhWFJQYmxWdVpYTmpZWEJsWkZCcGNHVW9jbUYzYkdsdWF5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQk1hVzVyTG1sdVptVnlLR3hwYm1zc0lHWmhiSE5sTENCa2FYTndiR0Y1S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3Y21sMllYUmxJR052Ym5OMGNuVmpkRzl5S0dacFpXeGtjem9nVUdGeWRHbGhiRHhNYVc1clBpa2dlMXh1SUNBZ0lDQWdJQ0JQWW1wbFkzUXVZWE56YVdkdUtIUm9hWE1zSUdacFpXeGtjeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUZWd1pHRjBaU0IwYUdseklHeHBibXNnZDJsMGFDQmhJRzVsZHlCd1lYUm9MaUFxTDF4dUlDQWdJSEIxWW14cFl5QjNhWFJvVUdGMGFDaHdZWFJvT2lCemRISnBibWNwT2lCTWFXNXJJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCTWFXNXJLRTlpYW1WamRDNWhjM05wWjI0b2UzMHNJSFJvYVhNc0lIc2djR0YwYUNCOUtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRkpsZEhWeWJpQmhJRzVsZHlCc2FXNXJJSGRvYVdOb0lIQnZhVzUwY3lCMGJ5QjBhR1VnYzJGdFpTQnNiMk5oZEdsdmJpQmlkWFFnZDJsMGFDQmhJRzVsZHlCa2FYTndiR0Y1SUhaaGJIVmxMaUFxTDF4dUlDQWdJSEIxWW14cFl5QjNhWFJvUkdsemNHeGhlU2hrYVhOd2JHRjVQem9nYzNSeWFXNW5LVG9nVEdsdWF5QjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVEdsdWF5aFBZbXBsWTNRdVlYTnphV2R1S0h0OUxDQjBhR2x6TENCN0lHUnBjM0JzWVhrZ2ZTa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJTWlhSMWNtNGdZU0J1WlhjZ2JHbHVheUIzYUdsamFDQm9ZWE1nZEdobElHZHBkbVZ1SUdWdFltVmtaR1ZrSUhOMFlYUjFjeTRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdkMmwwYUVWdFltVmtLR1Z0WW1Wa09pQmliMjlzWldGdUtUb2dUR2x1YXlCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtVnRZbVZrSUQwOUlHVnRZbVZrS1NCeVpYUjFjbTRnZEdocGN6dGNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUV4cGJtc29UMkpxWldOMExtRnpjMmxuYmloN2ZTd2dkR2hwY3l3Z2V5QmxiV0psWkNCOUtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRU52Ym5abGNuUWdZU0JtYVd4bElHeHBibXNnYVc1MGJ5QmhJR3hwYm1zZ2RHOGdZU0J6Y0dWamFXWnBZeUJvWldGa1pYSXVJQ292WEc0Z0lDQWdjSFZpYkdsaklIZHBkR2hJWldGa1pYSW9hR1ZoWkdWeU9pQnpkSEpwYm1jcE9pQk1hVzVySUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUV4cGJtc3VhR1ZoWkdWeUtIUm9hWE11Y0dGMGFDd2dhR1ZoWkdWeUxDQjBhR2x6TG1WdFltVmtMQ0IwYUdsekxtUnBjM0JzWVhrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQkRiMjUyWlhKMElHRWdabWxzWlNCc2FXNXJJR2x1ZEc4Z1lTQnNhVzVySUhSdklHRWdjM0JsWTJsbWFXTmlJR3h2WTJzdUlDb3ZYRzRnSUNBZ2NIVmliR2xqSUhkcGRHaENiRzlqYXloaWJHOWphem9nYzNSeWFXNW5LVG9nVEdsdWF5QjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQk1hVzVyTG1Kc2IyTnJLSFJvYVhNdWNHRjBhQ3dnWW14dlkyc3NJSFJvYVhNdVpXMWlaV1FzSUhSb2FYTXVaR2x6Y0d4aGVTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRU5vWldOcmN5Qm1iM0lnYkdsdWF5QmxjWFZoYkdsMGVTQW9hUzVsTGl3Z2RHaGhkQ0IwYUdVZ2JHbHVhM01nWVhKbElIQnZhVzUwYVc1bklIUnZJSFJvWlNCellXMWxJR1Y0WVdOMElHeHZZMkYwYVc5dUtTNGdLaTljYmlBZ0lDQndkV0pzYVdNZ1pYRjFZV3h6S0c5MGFHVnlPaUJNYVc1cktUb2dZbTl2YkdWaGJpQjdYRzRnSUNBZ0lDQWdJR2xtSUNodmRHaGxjaUE5UFNCMWJtUmxabWx1WldRZ2ZId2diM1JvWlhJZ1BUMGdiblZzYkNrZ2NtVjBkWEp1SUdaaGJITmxPMXh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuQmhkR2dnUFQwZ2IzUm9aWEl1Y0dGMGFDQW1KaUIwYUdsekxuUjVjR1VnUFQwZ2IzUm9aWEl1ZEhsd1pTQW1KaUIwYUdsekxuTjFZbkJoZEdnZ1BUMGdiM1JvWlhJdWMzVmljR0YwYUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1EyOXVkbVZ5ZENCMGFHbHpJR3hwYm1zZ2RHOGdhWFFuY3lCdFlYSnJaRzkzYmlCeVpYQnlaWE5sYm5SaGRHbHZiaTRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdkRzlUZEhKcGJtY29LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWJXRnlhMlJ2ZDI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRMjl1ZG1WeWRDQjBhR2x6SUd4cGJtc2dkRzhnWVNCeVlYY2diMkpxWldOMElIZG9hV05vSUdseklITmxjbWxoYkdsNllYUnBiMjR0Wm5KcFpXNWtiSGt1SUNvdlhHNGdJQ0FnY0hWaWJHbGpJSFJ2VDJKcVpXTjBLQ2s2SUVwemIyNU1hVzVySUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJoZEdnNklIUm9hWE11Y0dGMGFDeGNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVTZJSFJvYVhNdWRIbHdaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lITjFZbkJoZEdnNklIUm9hWE11YzNWaWNHRjBhQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHUnBjM0JzWVhrNklIUm9hWE11WkdsemNHeGhlU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnRZbVZrT2lCMGFHbHpMbVZ0WW1Wa0xGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJEYjI1MlpYSjBJR0Z1ZVNCc2FXNXJJR2x1ZEc4Z1lTQnNhVzVySUhSdklHbDBjeUJtYVd4bExpQXFMMXh1SUNBZ0lIQjFZbXhwWXlCMGIwWnBiR1VvS1RvZ1RHbHVheUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJNYVc1ckxtWnBiR1VvZEdocGN5NXdZWFJvTENCMGFHbHpMbVZ0WW1Wa0xDQjBhR2x6TG1ScGMzQnNZWGtwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRGIyNTJaWEowSUhSb2FYTWdiR2x1YXlCcGJuUnZJR0Z1SUdWdFltVmtaR1ZrSUd4cGJtc3VJQ292WEc0Z0lDQWdjSFZpYkdsaklIUnZSVzFpWldRb0tUb2dUR2x1YXlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbmRwZEdoRmJXSmxaQ2gwY25WbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRMjl1ZG1WeWRDQjBhR2x6SUd4cGJtc2dhVzUwYnlCaElHNXZiaTFsYldKbFpHUmxaQ0JzYVc1ckxpQXFMMXh1SUNBZ0lIQjFZbXhwWXlCbWNtOXRSVzFpWldRb0tUb2dUR2x1YXlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbmRwZEdoRmJXSmxaQ2htWVd4elpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRU52Ym5abGNuUWdkR2hwY3lCc2FXNXJJSFJ2SUcxaGNtdGtiM2R1SUhOdklHbDBJR05oYmlCaVpTQnlaVzVrWlhKbFpDNGdLaTljYmlBZ0lDQndkV0pzYVdNZ2JXRnlhMlJ2ZDI0b0tUb2djM1J5YVc1bklIdGNiaUFnSUNBZ0lDQWdiR1YwSUhKbGMzVnNkQ0E5SUNoMGFHbHpMbVZ0WW1Wa0lEOGdYQ0loWENJZ09pQmNJbHdpS1NBcklGd2lXMXRjSWlBcklIUm9hWE11YjJKemFXUnBZVzVNYVc1cktDazdYRzRnSUNBZ0lDQWdJSEpsYzNWc2RDQXJQU0JjSW54Y0lqdGNiaUFnSUNBZ0lDQWdjbVZ6ZFd4MElDczlJSFJvYVhNdVpHbHpjR3hoZVU5eVJHVm1ZWFZzZENncE8xeHVJQ0FnSUNBZ0lDQnlaWE4xYkhRZ0t6MGdYQ0pkWFZ3aU8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCUFluUmhhVzRnZEdobElHUnBjM0JzWVhrZ1ptOXlJSFJvYVhNZ2JHbHVheUJwWmlCd2NtVnpaVzUwTENCdmNpQnlaWFIxY200Z1lTQnphVzF3YkdVZ1pHVm1ZWFZzZENCa2FYTndiR0Y1TGlBcUwxeHVJQ0FnSUhCMVlteHBZeUJrYVhOd2JHRjVUM0pFWldaaGRXeDBLQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9kR2hwY3k1a2FYTndiR0Y1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1a2FYTndiR0Y1TzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUhKbGMzVnNkQ0E5SUdkbGRFWnBiR1ZVYVhSc1pTaDBhR2x6TG5CaGRHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWRIbHdaU0E5UFNCY0ltaGxZV1JsY2x3aUlIeDhJSFJvYVhNdWRIbHdaU0E5UFNCY0ltSnNiMk5yWENJcElISmxjM1ZzZENBclBTQmNJaUErSUZ3aUlDc2dkR2hwY3k1emRXSndZWFJvTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRU52Ym5abGNuUWdkR2hsSUdsdWJtVnlJSEJoY25RZ2IyWWdkR2hsSUd4cGJtc2dkRzhnYzI5dFpYUm9hVzVuSUhSb1lYUWdUMkp6YVdScFlXNGdZMkZ1SUc5d1pXNGdMeUIxYm1SbGNuTjBZVzVrTGlBcUwxeHVJQ0FnSUhCMVlteHBZeUJ2WW5OcFpHbGhia3hwYm1zb0tUb2djM1J5YVc1bklIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pYTmpZWEJsWkNBOUlIUm9hWE11Y0dGMGFDNXlaWEJzWVdObEtGd2lmRndpTENCY0lseGNYRng4WENJcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NTBlWEJsSUQwOUlGd2lhR1ZoWkdWeVhDSXBJSEpsZEhWeWJpQmxjMk5oY0dWa0lDc2dYQ0lqWENJZ0t5QjBhR2x6TG5OMVluQmhkR2cvTG5KbGNHeGhZMlVvWENKOFhDSXNJRndpWEZ4Y1hIeGNJaWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG5SNWNHVWdQVDBnWENKaWJHOWphMXdpS1NCeVpYUjFjbTRnWlhOallYQmxaQ0FySUZ3aUkxNWNJaUFySUhSb2FYTXVjM1ZpY0dGMGFEOHVjbVZ3YkdGalpTaGNJbnhjSWl3Z1hDSmNYRnhjZkZ3aUtUdGNiaUFnSUNBZ0lDQWdaV3h6WlNCeVpYUjFjbTRnWlhOallYQmxaRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nVkdobElITjBjbWx3Y0dWa0lHNWhiV1VnYjJZZ2RHaGxJR1pwYkdVZ2RHaHBjeUJzYVc1cklIQnZhVzUwY3lCMGJ5NGdLaTljYmlBZ0lDQndkV0pzYVdNZ1ptbHNaVTVoYldVb0tUb2djM1J5YVc1bklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHZGxkRVpwYkdWVWFYUnNaU2gwYUdsekxuQmhkR2dwTzF4dUlDQWdJSDFjYm4xY2JseHVMeW9xSUZObGNtbGhiR2w2WldRZ1ptOXliU0J2WmlCaElHeHBibXN1WEc0Z0tpQkFhR2xrWkdWdVhHNGdLaTljYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnU25OdmJreHBibXNnZTF4dUlDQWdJQzhxS2lCVWFHVWdabWxzWlNCd1lYUm9JSFJvYVhNZ2JHbHVheUJ3YjJsdWRITWdkRzh1SUNvdlhHNGdJQ0FnY0dGMGFEb2djM1J5YVc1bk8xeHVJQ0FnSUM4cUtpQlVhR1VnWkdsemNHeGhlU0J1WVcxbElHRnpjMjlqYVdGMFpXUWdkMmwwYUNCMGFHVWdiR2x1YXk0Z0tpOWNiaUFnSUNCa2FYTndiR0Y1UHpvZ2MzUnlhVzVuTzF4dUlDQWdJQzhxS2lCVWFHVWdZbXh2WTJzZ1NVUWdiM0lnYUdWaFpHVnlJSFJvYVhNZ2JHbHVheUJ3YjJsdWRITWdkRzhnZDJsMGFHbHVJR0VnWm1sc1pTd2dhV1lnY21Wc1pYWmhiblF1SUNvdlhHNGdJQ0FnYzNWaWNHRjBhRDg2SUhOMGNtbHVaenRjYmlBZ0lDQXZLaW9nU1hNZ2RHaHBjeUJzYVc1cklHRnVJR1Z0WW1Wa1pHVmtJR3hwYm1zZ0tHOW1JR1p2Y20wZ0p5RmJXMmhsYkd4dlhWMG5LVDhnS2k5Y2JpQWdJQ0JsYldKbFpEb2dZbTl2YkdWaGJqdGNiaUFnSUNBdktpb2dWR2hsSUhSNWNHVWdiMllnZEdocGN5QnNhVzVyTENCM2FHbGphQ0JrWlhSbGNtMXBibVZ6SUhkb1lYUWdKM04xWW5CaGRHZ25JSEpsWm1WeWN5QjBieXdnYVdZZ1lXNTVkR2hwYm1jdUlDb3ZYRzRnSUNBZ2RIbHdaVG9nWENKbWFXeGxYQ0lnZkNCY0ltaGxZV1JsY2x3aUlId2dYQ0ppYkc5amExd2lPMXh1ZlZ4dVhHNHZLaW9nVTNCc2FYUWdiMjRnZFc1bGMyTmhjR1ZrSUhCcGNHVnpJR2x1SUdGdUlHbHVibVZ5SUd4cGJtc3VYRzRnS2lCQWFHbGtaR1Z1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnpjR3hwZEU5dVZXNWxjMk5oY0dWa1VHbHdaU2hzYVc1ck9pQnpkSEpwYm1jcE9pQmJjM1J5YVc1bkxDQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUmRJSHRjYmlBZ0lDQnNaWFFnY0dsd1pTQTlJQzB4TzF4dUlDQWdJSGRvYVd4bElDZ29jR2x3WlNBOUlHeHBibXN1YVc1a1pYaFBaaWhjSW54Y0lpd2djR2x3WlNBcklERXBLU0ErUFNBd0tTQjdYRzRnSUNBZ0lDQWdJR2xtSUNod2FYQmxJRDRnTUNBbUppQnNhVzVyVzNCcGNHVWdMU0F4WFNBOVBTQmNJbHhjWEZ4Y0lpa2dZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmJiR2x1YXk1emRXSnpkSEpwYm1jb01Dd2djR2x3WlNrdWNtVndiR0ZqWlNndlhGeGNYRnhjZkM5bkxDQmNJbnhjSWlrc0lHeHBibXN1YzNWaWMzUnlhVzVuS0hCcGNHVWdLeUF4S1YwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRnRzYVc1ckxuSmxjR3hoWTJVb0wxeGNYRnhjWEh3dlp5d2dYQ0o4WENJcExDQjFibVJsWm1sdVpXUmRPMXh1ZlZ4dUlpd2dJbU52Ym5OMElFRk1TVUZUSUQwZ1UzbHRZbTlzTG1admNpZ25lV0Z0YkM1aGJHbGhjeWNwTzF4dVkyOXVjM1FnUkU5RElEMGdVM2x0WW05c0xtWnZjaWduZVdGdGJDNWtiMk4xYldWdWRDY3BPMXh1WTI5dWMzUWdUVUZRSUQwZ1UzbHRZbTlzTG1admNpZ25lV0Z0YkM1dFlYQW5LVHRjYm1OdmJuTjBJRkJCU1ZJZ1BTQlRlVzFpYjJ3dVptOXlLQ2Q1WVcxc0xuQmhhWEluS1R0Y2JtTnZibk4wSUZORFFVeEJVaUE5SUZONWJXSnZiQzVtYjNJb0ozbGhiV3d1YzJOaGJHRnlKeWs3WEc1amIyNXpkQ0JUUlZFZ1BTQlRlVzFpYjJ3dVptOXlLQ2Q1WVcxc0xuTmxjU2NwTzF4dVkyOXVjM1FnVGs5RVJWOVVXVkJGSUQwZ1UzbHRZbTlzTG1admNpZ25lV0Z0YkM1dWIyUmxMblI1Y0dVbktUdGNibU52Ym5OMElHbHpRV3hwWVhNZ1BTQW9ibTlrWlNrZ1BUNGdJU0Z1YjJSbElDWW1JSFI1Y0dWdlppQnViMlJsSUQwOVBTQW5iMkpxWldOMEp5QW1KaUJ1YjJSbFcwNVBSRVZmVkZsUVJWMGdQVDA5SUVGTVNVRlRPMXh1WTI5dWMzUWdhWE5FYjJOMWJXVnVkQ0E5SUNodWIyUmxLU0E5UGlBaElXNXZaR1VnSmlZZ2RIbHdaVzltSUc1dlpHVWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHNXZaR1ZiVGs5RVJWOVVXVkJGWFNBOVBUMGdSRTlETzF4dVkyOXVjM1FnYVhOTllYQWdQU0FvYm05a1pTa2dQVDRnSVNGdWIyUmxJQ1ltSUhSNWNHVnZaaUJ1YjJSbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCdWIyUmxXMDVQUkVWZlZGbFFSVjBnUFQwOUlFMUJVRHRjYm1OdmJuTjBJR2x6VUdGcGNpQTlJQ2h1YjJSbEtTQTlQaUFoSVc1dlpHVWdKaVlnZEhsd1pXOW1JRzV2WkdVZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUc1dlpHVmJUazlFUlY5VVdWQkZYU0E5UFQwZ1VFRkpVanRjYm1OdmJuTjBJR2x6VTJOaGJHRnlJRDBnS0c1dlpHVXBJRDArSUNFaGJtOWtaU0FtSmlCMGVYQmxiMllnYm05a1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ2JtOWtaVnRPVDBSRlgxUlpVRVZkSUQwOVBTQlRRMEZNUVZJN1hHNWpiMjV6ZENCcGMxTmxjU0E5SUNodWIyUmxLU0E5UGlBaElXNXZaR1VnSmlZZ2RIbHdaVzltSUc1dlpHVWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHNXZaR1ZiVGs5RVJWOVVXVkJGWFNBOVBUMGdVMFZSTzF4dVpuVnVZM1JwYjI0Z2FYTkRiMnhzWldOMGFXOXVLRzV2WkdVcElIdGNiaUFnSUNCcFppQW9ibTlrWlNBbUppQjBlWEJsYjJZZ2JtOWtaU0E5UFQwZ0oyOWlhbVZqZENjcFhHNGdJQ0FnSUNBZ0lITjNhWFJqYUNBb2JtOWtaVnRPVDBSRlgxUlpVRVZkS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElFMUJVRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnVTBWUk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dWZWeHVablZ1WTNScGIyNGdhWE5PYjJSbEtHNXZaR1VwSUh0Y2JpQWdJQ0JwWmlBb2JtOWtaU0FtSmlCMGVYQmxiMllnYm05a1pTQTlQVDBnSjI5aWFtVmpkQ2NwWEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvYm05a1pWdE9UMFJGWDFSWlVFVmRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUVGTVNVRlRPbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JOUVZBNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGTkRRVXhCVWpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1UwVlJPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVmVnh1WTI5dWMzUWdhR0Z6UVc1amFHOXlJRDBnS0c1dlpHVXBJRDArSUNocGMxTmpZV3hoY2lodWIyUmxLU0I4ZkNCcGMwTnZiR3hsWTNScGIyNG9ibTlrWlNrcElDWW1JQ0VoYm05a1pTNWhibU5vYjNJN1hHNWNibVY0Y0c5eWRDQjdJRUZNU1VGVExDQkVUME1zSUUxQlVDd2dUazlFUlY5VVdWQkZMQ0JRUVVsU0xDQlRRMEZNUVZJc0lGTkZVU3dnYUdGelFXNWphRzl5TENCcGMwRnNhV0Z6TENCcGMwTnZiR3hsWTNScGIyNHNJR2x6Ukc5amRXMWxiblFzSUdselRXRndMQ0JwYzA1dlpHVXNJR2x6VUdGcGNpd2dhWE5UWTJGc1lYSXNJR2x6VTJWeElIMDdYRzRpTENBaWFXMXdiM0owSUhzZ2FYTkViMk4xYldWdWRDd2dhWE5PYjJSbExDQnBjMUJoYVhJc0lHbHpRMjlzYkdWamRHbHZiaXdnYVhOTllYQXNJR2x6VTJWeExDQnBjMU5qWVd4aGNpd2dhWE5CYkdsaGN5QjlJR1p5YjIwZ0p5NHZibTlrWlhNdmFXUmxiblJwZEhrdWFuTW5PMXh1WEc1amIyNXpkQ0JDVWtWQlN5QTlJRk41YldKdmJDZ25ZbkpsWVdzZ2RtbHphWFFuS1R0Y2JtTnZibk4wSUZOTFNWQWdQU0JUZVcxaWIyd29KM05yYVhBZ1kyaHBiR1J5Wlc0bktUdGNibU52Ym5OMElGSkZUVTlXUlNBOUlGTjViV0p2YkNnbmNtVnRiM1psSUc1dlpHVW5LVHRjYmk4cUtseHVJQ29nUVhCd2JIa2dZU0IyYVhOcGRHOXlJSFJ2SUdGdUlFRlRWQ0J1YjJSbElHOXlJR1J2WTNWdFpXNTBMbHh1SUNwY2JpQXFJRmRoYkd0eklIUm9jbTkxWjJnZ2RHaGxJSFJ5WldVZ0tHUmxjSFJvTFdacGNuTjBLU0J6ZEdGeWRHbHVaeUJtY205dElHQnViMlJsWUN3Z1kyRnNiR2x1WnlCaFhHNGdLaUJnZG1semFYUnZjbUFnWm5WdVkzUnBiMjRnZDJsMGFDQjBhSEpsWlNCaGNtZDFiV1Z1ZEhNNlhHNGdLaUFnSUMwZ1lHdGxlV0E2SUVadmNpQnpaWEYxWlc1alpTQjJZV3gxWlhNZ1lXNWtJRzFoY0NCZ1VHRnBjbUFzSUhSb1pTQnViMlJsSjNNZ2FXNWtaWGdnYVc0Z2RHaGxYRzRnS2lBZ0lDQWdZMjlzYkdWamRHbHZiaTRnVjJsMGFHbHVJR0VnWUZCaGFYSmdMQ0JnSjJ0bGVTZGdJRzl5SUdBbmRtRnNkV1VuWUN3Z1kyOXljbVZ6Y0c5dVpHbHVaMng1TGx4dUlDb2dJQ0FnSUdCdWRXeHNZQ0JtYjNJZ2RHaGxJSEp2YjNRZ2JtOWtaUzVjYmlBcUlDQWdMU0JnYm05a1pXQTZJRlJvWlNCamRYSnlaVzUwSUc1dlpHVXVYRzRnS2lBZ0lDMGdZSEJoZEdoZ09pQlVhR1VnWVc1alpYTjBjbmtnYjJZZ2RHaGxJR04xY25KbGJuUWdibTlrWlM1Y2JpQXFYRzRnS2lCVWFHVWdjbVYwZFhKdUlIWmhiSFZsSUc5bUlIUm9aU0IyYVhOcGRHOXlJRzFoZVNCaVpTQjFjMlZrSUhSdklHTnZiblJ5YjJ3Z2RHaGxJSFJ5WVhabGNuTmhiRHBjYmlBcUlDQWdMU0JnZFc1a1pXWnBibVZrWUNBb1pHVm1ZWFZzZENrNklFUnZJRzV2ZEdocGJtY2dZVzVrSUdOdmJuUnBiblZsWEc0Z0tpQWdJQzBnWUhacGMybDBMbE5MU1ZCZ09pQkVieUJ1YjNRZ2RtbHphWFFnZEdobElHTm9hV3hrY21WdUlHOW1JSFJvYVhNZ2JtOWtaU3dnWTI5dWRHbHVkV1VnZDJsMGFDQnVaWGgwWEc0Z0tpQWdJQ0FnYzJsaWJHbHVaMXh1SUNvZ0lDQXRJR0IyYVhOcGRDNUNVa1ZCUzJBNklGUmxjbTFwYm1GMFpTQjBjbUYyWlhKellXd2dZMjl0Y0d4bGRHVnNlVnh1SUNvZ0lDQXRJR0IyYVhOcGRDNVNSVTFQVmtWZ09pQlNaVzF2ZG1VZ2RHaGxJR04xY25KbGJuUWdibTlrWlN3Z2RHaGxiaUJqYjI1MGFXNTFaU0IzYVhSb0lIUm9aU0J1WlhoMElHOXVaVnh1SUNvZ0lDQXRJR0JPYjJSbFlEb2dVbVZ3YkdGalpTQjBhR1VnWTNWeWNtVnVkQ0J1YjJSbExDQjBhR1Z1SUdOdmJuUnBiblZsSUdKNUlIWnBjMmwwYVc1bklHbDBYRzRnS2lBZ0lDMGdZRzUxYldKbGNtQTZJRmRvYVd4bElHbDBaWEpoZEdsdVp5QjBhR1VnYVhSbGJYTWdiMllnWVNCelpYRjFaVzVqWlNCdmNpQnRZWEFzSUhObGRDQjBhR1VnYVc1a1pYaGNiaUFxSUNBZ0lDQnZaaUIwYUdVZ2JtVjRkQ0J6ZEdWd0xpQlVhR2x6SUdseklIVnpaV1oxYkNCbGMzQmxZMmxoYkd4NUlHbG1JSFJvWlNCcGJtUmxlQ0J2WmlCMGFHVWdZM1Z5Y21WdWRGeHVJQ29nSUNBZ0lHNXZaR1VnYUdGeklHTm9ZVzVuWldRdVhHNGdLbHh1SUNvZ1NXWWdZSFpwYzJsMGIzSmdJR2x6SUdFZ2MybHVaMnhsSUdaMWJtTjBhVzl1TENCcGRDQjNhV3hzSUdKbElHTmhiR3hsWkNCM2FYUm9JR0ZzYkNCMllXeDFaWE5jYmlBcUlHVnVZMjkxYm5SbGNtVmtJR2x1SUhSb1pTQjBjbVZsTENCcGJtTnNkV1JwYm1jZ1pTNW5MaUJnYm5Wc2JHQWdkbUZzZFdWekxpQkJiSFJsY201aGRHbDJaV3g1TEZ4dUlDb2djMlZ3WVhKaGRHVWdkbWx6YVhSdmNpQm1kVzVqZEdsdmJuTWdiV0Y1SUdKbElHUmxabWx1WldRZ1ptOXlJR1ZoWTJnZ1lFMWhjR0FzSUdCUVlXbHlZQ3dnWUZObGNXQXNYRzRnS2lCZ1FXeHBZWE5nSUdGdVpDQmdVMk5oYkdGeVlDQnViMlJsTGlCVWJ5QmtaV1pwYm1VZ2RHaGxJSE5oYldVZ2RtbHphWFJ2Y2lCbWRXNWpkR2x2YmlCbWIzSWdiVzl5WlNCMGFHRnVYRzRnS2lCdmJtVWdibTlrWlNCMGVYQmxMQ0IxYzJVZ2RHaGxJR0JEYjJ4c1pXTjBhVzl1WUNBb2JXRndJR0Z1WkNCelpYRXBMQ0JnVm1Gc2RXVmdJQ2h0WVhBc0lITmxjU0FtSUhOallXeGhjaWxjYmlBcUlHRnVaQ0JnVG05a1pXQWdLR0ZzYVdGekxDQnRZWEFzSUhObGNTQW1JSE5qWVd4aGNpa2dkR0Z5WjJWMGN5NGdUMllnWVd4c0lIUm9aWE5sTENCdmJteDVJSFJvWlNCdGIzTjBYRzRnS2lCemNHVmphV1pwWXlCa1pXWnBibVZrSUc5dVpTQjNhV3hzSUdKbElIVnpaV1FnWm05eUlHVmhZMmdnYm05a1pTNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2RtbHphWFFvYm05a1pTd2dkbWx6YVhSdmNpa2dlMXh1SUNBZ0lHTnZibk4wSUhacGMybDBiM0pmSUQwZ2FXNXBkRlpwYzJsMGIzSW9kbWx6YVhSdmNpazdYRzRnSUNBZ2FXWWdLR2x6Ukc5amRXMWxiblFvYm05a1pTa3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMlFnUFNCMmFYTnBkRjhvYm5Wc2JDd2dibTlrWlM1amIyNTBaVzUwY3l3Z2RtbHphWFJ2Y2w4c0lFOWlhbVZqZEM1bWNtVmxlbVVvVzI1dlpHVmRLU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpaQ0E5UFQwZ1VrVk5UMVpGS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdibTlrWlM1amIyNTBaVzUwY3lBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnZG1semFYUmZLRzUxYkd3c0lHNXZaR1VzSUhacGMybDBiM0pmTENCUFltcGxZM1F1Wm5KbFpYcGxLRnRkS1NrN1hHNTlYRzR2THlCWGFYUm9iM1YwSUhSb1pTQmdZWE1nYzNsdFltOXNZQ0JqWVhOMGN5d2dWRk1nWkdWamJHRnlaWE1nZEdobGMyVWdhVzRnZEdobElHQjJhWE5wZEdCY2JpOHZJRzVoYldWemNHRmpaU0IxYzJsdVp5QmdkbUZ5WUN3Z1luVjBJSFJvWlc0Z1kyOXRjR3hoYVc1eklHRmliM1YwSUhSb1lYUWdZbVZqWVhWelpWeHVMeThnWUhWdWFYRjFaU0J6ZVcxaWIyeGdJRzExYzNRZ1ltVWdZR052Ym5OMFlDNWNiaThxS2lCVVpYSnRhVzVoZEdVZ2RtbHphWFFnZEhKaGRtVnljMkZzSUdOdmJYQnNaWFJsYkhrZ0tpOWNiblpwYzJsMExrSlNSVUZMSUQwZ1FsSkZRVXM3WEc0dktpb2dSRzhnYm05MElIWnBjMmwwSUhSb1pTQmphR2xzWkhKbGJpQnZaaUIwYUdVZ1kzVnljbVZ1ZENCdWIyUmxJQ292WEc1MmFYTnBkQzVUUzBsUUlEMGdVMHRKVUR0Y2JpOHFLaUJTWlcxdmRtVWdkR2hsSUdOMWNuSmxiblFnYm05a1pTQXFMMXh1ZG1semFYUXVVa1ZOVDFaRklEMGdVa1ZOVDFaRk8xeHVablZ1WTNScGIyNGdkbWx6YVhSZktHdGxlU3dnYm05a1pTd2dkbWx6YVhSdmNpd2djR0YwYUNrZ2UxeHVJQ0FnSUdOdmJuTjBJR04wY213Z1BTQmpZV3hzVm1semFYUnZjaWhyWlhrc0lHNXZaR1VzSUhacGMybDBiM0lzSUhCaGRHZ3BPMXh1SUNBZ0lHbG1JQ2hwYzA1dlpHVW9ZM1J5YkNrZ2ZId2dhWE5RWVdseUtHTjBjbXdwS1NCN1hHNGdJQ0FnSUNBZ0lISmxjR3hoWTJWT2IyUmxLR3RsZVN3Z2NHRjBhQ3dnWTNSeWJDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjJhWE5wZEY4b2EyVjVMQ0JqZEhKc0xDQjJhWE5wZEc5eUxDQndZWFJvS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJqZEhKc0lDRTlQU0FuYzNsdFltOXNKeWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9hWE5EYjJ4c1pXTjBhVzl1S0c1dlpHVXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndZWFJvSUQwZ1QySnFaV04wTG1aeVpXVjZaU2h3WVhSb0xtTnZibU5oZENodWIyUmxLU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJRzV2WkdVdWFYUmxiWE11YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamFTQTlJSFpwYzJsMFh5aHBMQ0J1YjJSbExtbDBaVzF6VzJsZExDQjJhWE5wZEc5eUxDQndZWFJvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHTnBJRDA5UFNBbmJuVnRZbVZ5SnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0E5SUdOcElDMGdNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hqYVNBOVBUMGdRbEpGUVVzcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQkNVa1ZCU3p0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoamFTQTlQVDBnVWtWTlQxWkZLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNXZaR1V1YVhSbGJYTXVjM0JzYVdObEtHa3NJREVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBJQzA5SURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHbHpVR0ZwY2lodWIyUmxLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjR0YwYUNBOUlFOWlhbVZqZEM1bWNtVmxlbVVvY0dGMGFDNWpiMjVqWVhRb2JtOWtaU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kyc2dQU0IyYVhOcGRGOG9KMnRsZVNjc0lHNXZaR1V1YTJWNUxDQjJhWE5wZEc5eUxDQndZWFJvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamF5QTlQVDBnUWxKRlFVc3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFSlNSVUZMTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZMnNnUFQwOUlGSkZUVTlXUlNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxMbXRsZVNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamRpQTlJSFpwYzJsMFh5Z25kbUZzZFdVbkxDQnViMlJsTG5aaGJIVmxMQ0IyYVhOcGRHOXlMQ0J3WVhSb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpkaUE5UFQwZ1FsSkZRVXNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRUpTUlVGTE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWTNZZ1BUMDlJRkpGVFU5V1JTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViMlJsTG5aaGJIVmxJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWTNSeWJEdGNibjFjYmk4cUtseHVJQ29nUVhCd2JIa2dZVzRnWVhONWJtTWdkbWx6YVhSdmNpQjBieUJoYmlCQlUxUWdibTlrWlNCdmNpQmtiMk4xYldWdWRDNWNiaUFxWEc0Z0tpQlhZV3hyY3lCMGFISnZkV2RvSUhSb1pTQjBjbVZsSUNoa1pYQjBhQzFtYVhKemRDa2djM1JoY25ScGJtY2dabkp2YlNCZ2JtOWtaV0FzSUdOaGJHeHBibWNnWVZ4dUlDb2dZSFpwYzJsMGIzSmdJR1oxYm1OMGFXOXVJSGRwZEdnZ2RHaHlaV1VnWVhKbmRXMWxiblJ6T2x4dUlDb2dJQ0F0SUdCclpYbGdPaUJHYjNJZ2MyVnhkV1Z1WTJVZ2RtRnNkV1Z6SUdGdVpDQnRZWEFnWUZCaGFYSmdMQ0IwYUdVZ2JtOWtaU2R6SUdsdVpHVjRJR2x1SUhSb1pWeHVJQ29nSUNBZ0lHTnZiR3hsWTNScGIyNHVJRmRwZEdocGJpQmhJR0JRWVdseVlDd2dZQ2RyWlhrbllDQnZjaUJnSjNaaGJIVmxKMkFzSUdOdmNuSmxjM0J2Ym1ScGJtZHNlUzVjYmlBcUlDQWdJQ0JnYm5Wc2JHQWdabTl5SUhSb1pTQnliMjkwSUc1dlpHVXVYRzRnS2lBZ0lDMGdZRzV2WkdWZ09pQlVhR1VnWTNWeWNtVnVkQ0J1YjJSbExseHVJQ29nSUNBdElHQndZWFJvWURvZ1ZHaGxJR0Z1WTJWemRISjVJRzltSUhSb1pTQmpkWEp5Wlc1MElHNXZaR1V1WEc0Z0tseHVJQ29nVkdobElISmxkSFZ5YmlCMllXeDFaU0J2WmlCMGFHVWdkbWx6YVhSdmNpQnRZWGtnWW1VZ2RYTmxaQ0IwYnlCamIyNTBjbTlzSUhSb1pTQjBjbUYyWlhKellXdzZYRzRnS2lBZ0lDMGdZRkJ5YjIxcGMyVmdPaUJOZFhOMElISmxjMjlzZG1VZ2RHOGdiMjVsSUc5bUlIUm9aU0JtYjJ4c2IzZHBibWNnZG1Gc2RXVnpYRzRnS2lBZ0lDMGdZSFZ1WkdWbWFXNWxaR0FnS0dSbFptRjFiSFFwT2lCRWJ5QnViM1JvYVc1bklHRnVaQ0JqYjI1MGFXNTFaVnh1SUNvZ0lDQXRJR0IyYVhOcGRDNVRTMGxRWURvZ1JHOGdibTkwSUhacGMybDBJSFJvWlNCamFHbHNaSEpsYmlCdlppQjBhR2x6SUc1dlpHVXNJR052Ym5ScGJuVmxJSGRwZEdnZ2JtVjRkRnh1SUNvZ0lDQWdJSE5wWW14cGJtZGNiaUFxSUNBZ0xTQmdkbWx6YVhRdVFsSkZRVXRnT2lCVVpYSnRhVzVoZEdVZ2RISmhkbVZ5YzJGc0lHTnZiWEJzWlhSbGJIbGNiaUFxSUNBZ0xTQmdkbWx6YVhRdVVrVk5UMVpGWURvZ1VtVnRiM1psSUhSb1pTQmpkWEp5Wlc1MElHNXZaR1VzSUhSb1pXNGdZMjl1ZEdsdWRXVWdkMmwwYUNCMGFHVWdibVY0ZENCdmJtVmNiaUFxSUNBZ0xTQmdUbTlrWldBNklGSmxjR3hoWTJVZ2RHaGxJR04xY25KbGJuUWdibTlrWlN3Z2RHaGxiaUJqYjI1MGFXNTFaU0JpZVNCMmFYTnBkR2x1WnlCcGRGeHVJQ29nSUNBdElHQnVkVzFpWlhKZ09pQlhhR2xzWlNCcGRHVnlZWFJwYm1jZ2RHaGxJR2wwWlcxeklHOW1JR0VnYzJWeGRXVnVZMlVnYjNJZ2JXRndMQ0J6WlhRZ2RHaGxJR2x1WkdWNFhHNGdLaUFnSUNBZ2IyWWdkR2hsSUc1bGVIUWdjM1JsY0M0Z1ZHaHBjeUJwY3lCMWMyVm1kV3dnWlhOd1pXTnBZV3hzZVNCcFppQjBhR1VnYVc1a1pYZ2diMllnZEdobElHTjFjbkpsYm5SY2JpQXFJQ0FnSUNCdWIyUmxJR2hoY3lCamFHRnVaMlZrTGx4dUlDcGNiaUFxSUVsbUlHQjJhWE5wZEc5eVlDQnBjeUJoSUhOcGJtZHNaU0JtZFc1amRHbHZiaXdnYVhRZ2QybHNiQ0JpWlNCallXeHNaV1FnZDJsMGFDQmhiR3dnZG1Gc2RXVnpYRzRnS2lCbGJtTnZkVzUwWlhKbFpDQnBiaUIwYUdVZ2RISmxaU3dnYVc1amJIVmthVzVuSUdVdVp5NGdZRzUxYkd4Z0lIWmhiSFZsY3k0Z1FXeDBaWEp1WVhScGRtVnNlU3hjYmlBcUlITmxjR0Z5WVhSbElIWnBjMmwwYjNJZ1puVnVZM1JwYjI1eklHMWhlU0JpWlNCa1pXWnBibVZrSUdadmNpQmxZV05vSUdCTllYQmdMQ0JnVUdGcGNtQXNJR0JUWlhGZ0xGeHVJQ29nWUVGc2FXRnpZQ0JoYm1RZ1lGTmpZV3hoY21BZ2JtOWtaUzRnVkc4Z1pHVm1hVzVsSUhSb1pTQnpZVzFsSUhacGMybDBiM0lnWm5WdVkzUnBiMjRnWm05eUlHMXZjbVVnZEdoaGJseHVJQ29nYjI1bElHNXZaR1VnZEhsd1pTd2dkWE5sSUhSb1pTQmdRMjlzYkdWamRHbHZibUFnS0cxaGNDQmhibVFnYzJWeEtTd2dZRlpoYkhWbFlDQW9iV0Z3TENCelpYRWdKaUJ6WTJGc1lYSXBYRzRnS2lCaGJtUWdZRTV2WkdWZ0lDaGhiR2xoY3l3Z2JXRndMQ0J6WlhFZ0ppQnpZMkZzWVhJcElIUmhjbWRsZEhNdUlFOW1JR0ZzYkNCMGFHVnpaU3dnYjI1c2VTQjBhR1VnYlc5emRGeHVJQ29nYzNCbFkybG1hV01nWkdWbWFXNWxaQ0J2Ym1VZ2QybHNiQ0JpWlNCMWMyVmtJR1p2Y2lCbFlXTm9JRzV2WkdVdVhHNGdLaTljYm1GemVXNWpJR1oxYm1OMGFXOXVJSFpwYzJsMFFYTjVibU1vYm05a1pTd2dkbWx6YVhSdmNpa2dlMXh1SUNBZ0lHTnZibk4wSUhacGMybDBiM0pmSUQwZ2FXNXBkRlpwYzJsMGIzSW9kbWx6YVhSdmNpazdYRzRnSUNBZ2FXWWdLR2x6Ukc5amRXMWxiblFvYm05a1pTa3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMlFnUFNCaGQyRnBkQ0IyYVhOcGRFRnplVzVqWHlodWRXeHNMQ0J1YjJSbExtTnZiblJsYm5SekxDQjJhWE5wZEc5eVh5d2dUMkpxWldOMExtWnlaV1Y2WlNoYmJtOWtaVjBwS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05rSUQwOVBTQlNSVTFQVmtVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J1YjJSbExtTnZiblJsYm5SeklEMGdiblZzYkR0Y2JpQWdJQ0I5WEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNCaGQyRnBkQ0IyYVhOcGRFRnplVzVqWHlodWRXeHNMQ0J1YjJSbExDQjJhWE5wZEc5eVh5d2dUMkpxWldOMExtWnlaV1Y2WlNoYlhTa3BPMXh1ZlZ4dUx5OGdWMmwwYUc5MWRDQjBhR1VnWUdGeklITjViV0p2YkdBZ1kyRnpkSE1zSUZSVElHUmxZMnhoY21WeklIUm9aWE5sSUdsdUlIUm9aU0JnZG1semFYUmdYRzR2THlCdVlXMWxjM0JoWTJVZ2RYTnBibWNnWUhaaGNtQXNJR0oxZENCMGFHVnVJR052YlhCc1lXbHVjeUJoWW05MWRDQjBhR0YwSUdKbFkyRjFjMlZjYmk4dklHQjFibWx4ZFdVZ2MzbHRZbTlzWUNCdGRYTjBJR0psSUdCamIyNXpkR0F1WEc0dktpb2dWR1Z5YldsdVlYUmxJSFpwYzJsMElIUnlZWFpsY25OaGJDQmpiMjF3YkdWMFpXeDVJQ292WEc1MmFYTnBkRUZ6ZVc1akxrSlNSVUZMSUQwZ1FsSkZRVXM3WEc0dktpb2dSRzhnYm05MElIWnBjMmwwSUhSb1pTQmphR2xzWkhKbGJpQnZaaUIwYUdVZ1kzVnljbVZ1ZENCdWIyUmxJQ292WEc1MmFYTnBkRUZ6ZVc1akxsTkxTVkFnUFNCVFMwbFFPMXh1THlvcUlGSmxiVzkyWlNCMGFHVWdZM1Z5Y21WdWRDQnViMlJsSUNvdlhHNTJhWE5wZEVGemVXNWpMbEpGVFU5V1JTQTlJRkpGVFU5V1JUdGNibUZ6ZVc1aklHWjFibU4wYVc5dUlIWnBjMmwwUVhONWJtTmZLR3RsZVN3Z2JtOWtaU3dnZG1semFYUnZjaXdnY0dGMGFDa2dlMXh1SUNBZ0lHTnZibk4wSUdOMGNtd2dQU0JoZDJGcGRDQmpZV3hzVm1semFYUnZjaWhyWlhrc0lHNXZaR1VzSUhacGMybDBiM0lzSUhCaGRHZ3BPMXh1SUNBZ0lHbG1JQ2hwYzA1dlpHVW9ZM1J5YkNrZ2ZId2dhWE5RWVdseUtHTjBjbXdwS1NCN1hHNGdJQ0FnSUNBZ0lISmxjR3hoWTJWT2IyUmxLR3RsZVN3Z2NHRjBhQ3dnWTNSeWJDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjJhWE5wZEVGemVXNWpYeWhyWlhrc0lHTjBjbXdzSUhacGMybDBiM0lzSUhCaGRHZ3BPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTjBjbXdnSVQwOUlDZHplVzFpYjJ3bktTQjdYRzRnSUNBZ0lDQWdJR2xtSUNocGMwTnZiR3hsWTNScGIyNG9ibTlrWlNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhCaGRHZ2dQU0JQWW1wbFkzUXVabkpsWlhwbEtIQmhkR2d1WTI5dVkyRjBLRzV2WkdVcEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JtOWtaUzVwZEdWdGN5NXNaVzVuZEdnN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05wSUQwZ1lYZGhhWFFnZG1semFYUkJjM2x1WTE4b2FTd2dibTlrWlM1cGRHVnRjMXRwWFN3Z2RtbHphWFJ2Y2l3Z2NHRjBhQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamFTQTlQVDBnSjI1MWJXSmxjaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHa2dQU0JqYVNBdElERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZMmtnUFQwOUlFSlNSVUZMS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1FsSkZRVXM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWTJrZ1BUMDlJRkpGVFU5V1JTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxMbWwwWlcxekxuTndiR2xqWlNocExDQXhLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQXRQU0F4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNocGMxQmhhWElvYm05a1pTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhkR2dnUFNCUFltcGxZM1F1Wm5KbFpYcGxLSEJoZEdndVkyOXVZMkYwS0c1dlpHVXBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOcklEMGdZWGRoYVhRZ2RtbHphWFJCYzNsdVkxOG9KMnRsZVNjc0lHNXZaR1V1YTJWNUxDQjJhWE5wZEc5eUxDQndZWFJvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamF5QTlQVDBnUWxKRlFVc3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFSlNSVUZMTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZMnNnUFQwOUlGSkZUVTlXUlNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxMbXRsZVNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamRpQTlJR0YzWVdsMElIWnBjMmwwUVhONWJtTmZLQ2QyWVd4MVpTY3NJRzV2WkdVdWRtRnNkV1VzSUhacGMybDBiM0lzSUhCaGRHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR04ySUQwOVBTQkNVa1ZCU3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnUWxKRlFVczdYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoamRpQTlQVDBnVWtWTlQxWkZLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzV2WkdVdWRtRnNkV1VnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCamRISnNPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2FXNXBkRlpwYzJsMGIzSW9kbWx6YVhSdmNpa2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdkbWx6YVhSdmNpQTlQVDBnSjI5aWFtVmpkQ2NnSmlaY2JpQWdJQ0FnSUNBZ0tIWnBjMmwwYjNJdVEyOXNiR1ZqZEdsdmJpQjhmQ0IyYVhOcGRHOXlMazV2WkdVZ2ZId2dkbWx6YVhSdmNpNVdZV3gxWlNrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFOWlhbVZqZEM1aGMzTnBaMjRvZTF4dUlDQWdJQ0FnSUNBZ0lDQWdRV3hwWVhNNklIWnBjMmwwYjNJdVRtOWtaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lFMWhjRG9nZG1semFYUnZjaTVPYjJSbExGeHVJQ0FnSUNBZ0lDQWdJQ0FnVTJOaGJHRnlPaUIyYVhOcGRHOXlMazV2WkdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JUWlhFNklIWnBjMmwwYjNJdVRtOWtaVnh1SUNBZ0lDQWdJQ0I5TENCMmFYTnBkRzl5TGxaaGJIVmxJQ1ltSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRTFoY0RvZ2RtbHphWFJ2Y2k1V1lXeDFaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lGTmpZV3hoY2pvZ2RtbHphWFJ2Y2k1V1lXeDFaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lGTmxjVG9nZG1semFYUnZjaTVXWVd4MVpWeHVJQ0FnSUNBZ0lDQjlMQ0IyYVhOcGRHOXlMa052Ykd4bFkzUnBiMjRnSmlZZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnVFdGd09pQjJhWE5wZEc5eUxrTnZiR3hsWTNScGIyNHNYRzRnSUNBZ0lDQWdJQ0FnSUNCVFpYRTZJSFpwYzJsMGIzSXVRMjlzYkdWamRHbHZibHh1SUNBZ0lDQWdJQ0I5TENCMmFYTnBkRzl5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIWnBjMmwwYjNJN1hHNTlYRzVtZFc1amRHbHZiaUJqWVd4c1ZtbHphWFJ2Y2loclpYa3NJRzV2WkdVc0lIWnBjMmwwYjNJc0lIQmhkR2dwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhacGMybDBiM0lnUFQwOUlDZG1kVzVqZEdsdmJpY3BYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjJhWE5wZEc5eUtHdGxlU3dnYm05a1pTd2djR0YwYUNrN1hHNGdJQ0FnYVdZZ0tHbHpUV0Z3S0c1dlpHVXBLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkbWx6YVhSdmNpNU5ZWEEvTGloclpYa3NJRzV2WkdVc0lIQmhkR2dwTzF4dUlDQWdJR2xtSUNocGMxTmxjU2h1YjJSbEtTbGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIWnBjMmwwYjNJdVUyVnhQeTRvYTJWNUxDQnViMlJsTENCd1lYUm9LVHRjYmlBZ0lDQnBaaUFvYVhOUVlXbHlLRzV2WkdVcEtWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RtbHphWFJ2Y2k1UVlXbHlQeTRvYTJWNUxDQnViMlJsTENCd1lYUm9LVHRjYmlBZ0lDQnBaaUFvYVhOVFkyRnNZWElvYm05a1pTa3BYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjJhWE5wZEc5eUxsTmpZV3hoY2o4dUtHdGxlU3dnYm05a1pTd2djR0YwYUNrN1hHNGdJQ0FnYVdZZ0tHbHpRV3hwWVhNb2JtOWtaU2twWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyYVhOcGRHOXlMa0ZzYVdGelB5NG9hMlY1TENCdWIyUmxMQ0J3WVhSb0tUdGNiaUFnSUNCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dWZWeHVablZ1WTNScGIyNGdjbVZ3YkdGalpVNXZaR1VvYTJWNUxDQndZWFJvTENCdWIyUmxLU0I3WEc0Z0lDQWdZMjl1YzNRZ2NHRnlaVzUwSUQwZ2NHRjBhRnR3WVhSb0xteGxibWQwYUNBdElERmRPMXh1SUNBZ0lHbG1JQ2hwYzBOdmJHeGxZM1JwYjI0b2NHRnlaVzUwS1NrZ2UxeHVJQ0FnSUNBZ0lDQndZWEpsYm5RdWFYUmxiWE5iYTJWNVhTQTlJRzV2WkdVN1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJVZ2FXWWdLR2x6VUdGcGNpaHdZWEpsYm5RcEtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoclpYa2dQVDA5SUNkclpYa25LVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRnlaVzUwTG10bGVTQTlJRzV2WkdVN1hHNGdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhjbVZ1ZEM1MllXeDFaU0E5SUc1dlpHVTdYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdhV1lnS0dselJHOWpkVzFsYm5Rb2NHRnlaVzUwS1NrZ2UxeHVJQ0FnSUNBZ0lDQndZWEpsYm5RdVkyOXVkR1Z1ZEhNZ1BTQnViMlJsTzF4dUlDQWdJSDFjYmlBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY0hRZ1BTQnBjMEZzYVdGektIQmhjbVZ1ZENrZ1B5QW5ZV3hwWVhNbklEb2dKM05qWVd4aGNpYzdYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdRMkZ1Ym05MElISmxjR3hoWTJVZ2JtOWtaU0IzYVhSb0lDUjdjSFI5SUhCaGNtVnVkR0FwTzF4dUlDQWdJSDFjYm4xY2JseHVaWGh3YjNKMElIc2dkbWx6YVhRc0lIWnBjMmwwUVhONWJtTWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QnBjMDV2WkdVZ2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUIyYVhOcGRDQjlJR1p5YjIwZ0p5NHVMM1pwYzJsMExtcHpKenRjYmx4dVkyOXVjM1FnWlhOallYQmxRMmhoY25NZ1BTQjdYRzRnSUNBZ0p5RW5PaUFuSlRJeEp5eGNiaUFnSUNBbkxDYzZJQ2NsTWtNbkxGeHVJQ0FnSUNkYkp6b2dKeVUxUWljc1hHNGdJQ0FnSjEwbk9pQW5KVFZFSnl4Y2JpQWdJQ0FuZXljNklDY2xOMEluTEZ4dUlDQWdJQ2Q5SnpvZ0p5VTNSQ2RjYm4wN1hHNWpiMjV6ZENCbGMyTmhjR1ZVWVdkT1lXMWxJRDBnS0hSdUtTQTlQaUIwYmk1eVpYQnNZV05sS0M5YklTeGJYRnhkZTMxZEwyY3NJR05vSUQwK0lHVnpZMkZ3WlVOb1lYSnpXMk5vWFNrN1hHNWpiR0Z6Y3lCRWFYSmxZM1JwZG1WeklIdGNiaUFnSUNCamIyNXpkSEoxWTNSdmNpaDVZVzFzTENCMFlXZHpLU0I3WEc0Z0lDQWdJQ0FnSUM4cUtseHVJQ0FnSUNBZ0lDQWdLaUJVYUdVZ1pHbHlaV04wYVhabGN5MWxibVF2Wkc5akxYTjBZWEowSUcxaGNtdGxjaUJnTFMwdFlDNGdTV1lnWUc1MWJHeGdMQ0JoSUcxaGNtdGxjaUJ0WVhrZ2MzUnBiR3dnWW1WY2JpQWdJQ0FnSUNBZ0lDb2dhVzVqYkhWa1pXUWdhVzRnZEdobElHUnZZM1Z0Wlc1MEozTWdjM1J5YVc1bmFXWnBaV1FnY21Wd2NtVnpaVzUwWVhScGIyNHVYRzRnSUNBZ0lDQWdJQ0FxTDF4dUlDQWdJQ0FnSUNCMGFHbHpMbVJ2WTFOMFlYSjBJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdMeW9xSUZSb1pTQmtiMk10Wlc1a0lHMWhjbXRsY2lCZ0xpNHVZQzRnSUNvdlhHNGdJQ0FnSUNBZ0lIUm9hWE11Wkc5alJXNWtJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWVXRnRiQ0E5SUU5aWFtVmpkQzVoYzNOcFoyNG9lMzBzSUVScGNtVmpkR2wyWlhNdVpHVm1ZWFZzZEZsaGJXd3NJSGxoYld3cE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5SaFozTWdQU0JQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0JFYVhKbFkzUnBkbVZ6TG1SbFptRjFiSFJVWVdkekxDQjBZV2R6S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMnh2Ym1Vb0tTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTnZjSGtnUFNCdVpYY2dSR2x5WldOMGFYWmxjeWgwYUdsekxubGhiV3dzSUhSb2FYTXVkR0ZuY3lrN1hHNGdJQ0FnSUNBZ0lHTnZjSGt1Wkc5alUzUmhjblFnUFNCMGFHbHpMbVJ2WTFOMFlYSjBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMjl3ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUkhWeWFXNW5JSEJoY25OcGJtY3NJR2RsZENCaElFUnBjbVZqZEdsMlpYTWdhVzV6ZEdGdVkyVWdabTl5SUhSb1pTQmpkWEp5Wlc1MElHUnZZM1Z0Wlc1MElHRnVaRnh1SUNBZ0lDQXFJSFZ3WkdGMFpTQjBhR1VnYzNSeVpXRnRJSE4wWVhSbElHRmpZMjl5WkdsdVp5QjBieUIwYUdVZ1kzVnljbVZ1ZENCMlpYSnphVzl1SjNNZ2MzQmxZeTVjYmlBZ0lDQWdLaTljYmlBZ0lDQmhkRVJ2WTNWdFpXNTBLQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhNZ1BTQnVaWGNnUkdseVpXTjBhWFpsY3loMGFHbHpMbmxoYld3c0lIUm9hWE11ZEdGbmN5azdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9kR2hwY3k1NVlXMXNMblpsY25OcGIyNHBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSnpFdU1TYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1aGRFNWxlSFJFYjJOMWJXVnVkQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDY3hMakluT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVZWFJPWlhoMFJHOWpkVzFsYm5RZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbmxoYld3Z1BTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWNGNHeHBZMmwwT2lCRWFYSmxZM1JwZG1WekxtUmxabUYxYkhSWllXMXNMbVY0Y0d4cFkybDBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMlpYSnphVzl1T2lBbk1TNHlKMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTBZV2R6SUQwZ1QySnFaV04wTG1GemMybG5iaWg3ZlN3Z1JHbHlaV04wYVhabGN5NWtaV1poZFd4MFZHRm5jeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUUhCaGNtRnRJRzl1UlhKeWIzSWdMU0JOWVhrZ1ltVWdZMkZzYkdWa0lHVjJaVzRnYVdZZ2RHaGxJR0ZqZEdsdmJpQjNZWE1nYzNWalkyVnpjMloxYkZ4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUdCMGNuVmxZQ0J2YmlCemRXTmpaWE56WEc0Z0lDQWdJQ292WEc0Z0lDQWdZV1JrS0d4cGJtVXNJRzl1UlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WVhST1pYaDBSRzlqZFcxbGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZVdGdGJDQTlJSHNnWlhod2JHbGphWFE2SUVScGNtVmpkR2wyWlhNdVpHVm1ZWFZzZEZsaGJXd3VaWGh3YkdsamFYUXNJSFpsY25OcGIyNDZJQ2N4TGpFbklIMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblJoWjNNZ1BTQlBZbXBsWTNRdVlYTnphV2R1S0h0OUxDQkVhWEpsWTNScGRtVnpMbVJsWm1GMWJIUlVZV2R6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVlYUk9aWGgwUkc5amRXMWxiblFnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCamIyNXpkQ0J3WVhKMGN5QTlJR3hwYm1VdWRISnBiU2dwTG5Od2JHbDBLQzliSUZ4Y2RGMHJMeWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzVoYldVZ1BTQndZWEowY3k1emFHbG1kQ2dwTzF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0c1aGJXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSnlWVVFVY25PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIQmhjblJ6TG14bGJtZDBhQ0FoUFQwZ01pa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0RBc0lDY2xWRUZISUdScGNtVmpkR2wyWlNCemFHOTFiR1FnWTI5dWRHRnBiaUJsZUdGamRHeDVJSFIzYnlCd1lYSjBjeWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY0dGeWRITXViR1Z1WjNSb0lEd2dNaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnVzJoaGJtUnNaU3dnY0hKbFptbDRYU0E5SUhCaGNuUnpPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRHRm5jMXRvWVc1a2JHVmRJRDBnY0hKbFptbDRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuSlZsQlRVd25PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTVZVzFzTG1WNGNHeHBZMmwwSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NHRnlkSE11YkdWdVozUm9JQ0U5UFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvTUN3Z0p5VlpRVTFNSUdScGNtVmpkR2wyWlNCemFHOTFiR1FnWTI5dWRHRnBiaUJsZUdGamRHeDVJRzl1WlNCd1lYSjBKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdXM1psY25OcGIyNWRJRDBnY0dGeWRITTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0habGNuTnBiMjRnUFQwOUlDY3hMakVuSUh4OElIWmxjbk5wYjI0Z1BUMDlJQ2N4TGpJbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVlV0Z0YkM1MlpYSnphVzl1SUQwZ2RtVnljMmx2Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JwYzFaaGJHbGtJRDBnTDE1Y1hHUXJYRnd1WEZ4a0t5UXZMblJsYzNRb2RtVnljMmx2YmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9OaXdnWUZWdWMzVndjRzl5ZEdWa0lGbEJUVXdnZG1WeWMybHZiaUFrZTNabGNuTnBiMjU5WUN3Z2FYTldZV3hwWkNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb01Dd2dZRlZ1YTI1dmQyNGdaR2x5WldOMGFYWmxJQ1I3Ym1GdFpYMWdMQ0IwY25WbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nVW1WemIyeDJaWE1nWVNCMFlXY3NJRzFoZEdOb2FXNW5JR2hoYm1Sc1pYTWdkRzhnZEdodmMyVWdaR1ZtYVc1bFpDQnBiaUFsVkVGSElHUnBjbVZqZEdsMlpYTXVYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QlNaWE52YkhabFpDQjBZV2NzSUhkb2FXTm9JRzFoZVNCaGJITnZJR0psSUhSb1pTQnViMjR0YzNCbFkybG1hV01nZEdGbklHQW5JU2RnSUc5eUlHRmNiaUFnSUNBZ0tpQWdJR0FuSVd4dlkyRnNKMkFnZEdGbkxDQnZjaUJnYm5Wc2JHQWdhV1lnZFc1eVpYTnZiSFpoWW14bExseHVJQ0FnSUNBcUwxeHVJQ0FnSUhSaFowNWhiV1VvYzI5MWNtTmxMQ0J2YmtWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHpiM1Z5WTJVZ1BUMDlJQ2NoSnlsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW5JU2M3SUM4dklHNXZiaTF6Y0dWamFXWnBZeUIwWVdkY2JpQWdJQ0FnSUNBZ2FXWWdLSE52ZFhKalpWc3dYU0FoUFQwZ0p5RW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHQk9iM1FnWVNCMllXeHBaQ0IwWVdjNklDUjdjMjkxY21ObGZXQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tITnZkWEpqWlZzeFhTQTlQVDBnSnp3bktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0IyWlhKaVlYUnBiU0E5SUhOdmRYSmpaUzV6YkdsalpTZ3lMQ0F0TVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RtVnlZbUYwYVcwZ1BUMDlJQ2NoSnlCOGZDQjJaWEppWVhScGJTQTlQVDBnSnlFaEp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9ZRlpsY21KaGRHbHRJSFJoWjNNZ1lYSmxiaWQwSUhKbGMyOXNkbVZrTENCemJ5QWtlM052ZFhKalpYMGdhWE1nYVc1MllXeHBaQzVnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoemIzVnlZMlZiYzI5MWNtTmxMbXhsYm1kMGFDQXRJREZkSUNFOVBTQW5QaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWduVm1WeVltRjBhVzBnZEdGbmN5QnRkWE4wSUdWdVpDQjNhWFJvSUdFZ1BpY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhabGNtSmhkR2x0TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUZzc0lHaGhibVJzWlN3Z2MzVm1abWw0WFNBOUlITnZkWEpqWlM1dFlYUmphQ2d2WGlndUtpRXBLRnRlSVYwcUtTUXZjeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hjM1ZtWm1sNEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWhnVkdobElDUjdjMjkxY21ObGZTQjBZV2NnYUdGeklHNXZJSE4xWm1acGVHQXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQndjbVZtYVhnZ1BTQjBhR2x6TG5SaFozTmJhR0Z1Wkd4bFhUdGNiaUFnSUNBZ0lDQWdhV1lnS0hCeVpXWnBlQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY0hKbFptbDRJQ3NnWkdWamIyUmxWVkpKUTI5dGNHOXVaVzUwS0hOMVptWnBlQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLRk4wY21sdVp5aGxjbkp2Y2lrcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNob1lXNWtiR1VnUFQwOUlDY2hKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCemIzVnlZMlU3SUM4dklHeHZZMkZzSUhSaFoxeHVJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHQkRiM1ZzWkNCdWIzUWdjbVZ6YjJ4MlpTQjBZV2M2SUNSN2MyOTFjbU5sZldBcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dSMmwyWlc0Z1lTQm1kV3hzZVNCeVpYTnZiSFpsWkNCMFlXY3NJSEpsZEhWeWJuTWdhWFJ6SUhCeWFXNTBZV0pzWlNCemRISnBibWNnWm05eWJTeGNiaUFnSUNBZ0tpQjBZV3RwYm1jZ2FXNTBieUJoWTJOdmRXNTBJR04xY25KbGJuUWdkR0ZuSUhCeVpXWnBlR1Z6SUdGdVpDQmtaV1poZFd4MGN5NWNiaUFnSUNBZ0tpOWNiaUFnSUNCMFlXZFRkSEpwYm1jb2RHRm5LU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ1cyaGhibVJzWlN3Z2NISmxabWw0WFNCdlppQlBZbXBsWTNRdVpXNTBjbWxsY3loMGFHbHpMblJoWjNNcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR0ZuTG5OMFlYSjBjMWRwZEdnb2NISmxabWw0S1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYUdGdVpHeGxJQ3NnWlhOallYQmxWR0ZuVG1GdFpTaDBZV2N1YzNWaWMzUnlhVzVuS0hCeVpXWnBlQzVzWlc1bmRHZ3BLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdGbld6QmRJRDA5UFNBbklTY2dQeUIwWVdjZ09pQmdJVHdrZTNSaFozMCtZRHRjYmlBZ0lDQjlYRzRnSUNBZ2RHOVRkSEpwYm1jb1pHOWpLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR3hwYm1WeklEMGdkR2hwY3k1NVlXMXNMbVY0Y0d4cFkybDBYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lGdGdKVmxCVFV3Z0pIdDBhR2x6TG5saGJXd3VkbVZ5YzJsdmJpQjhmQ0FuTVM0eUozMWdYVnh1SUNBZ0lDQWdJQ0FnSUNBZ09pQmJYVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkR0ZuUlc1MGNtbGxjeUE5SUU5aWFtVmpkQzVsYm5SeWFXVnpLSFJvYVhNdWRHRm5jeWs3WEc0Z0lDQWdJQ0FnSUd4bGRDQjBZV2RPWVcxbGN6dGNiaUFnSUNBZ0lDQWdhV1lnS0dSdll5QW1KaUIwWVdkRmJuUnlhV1Z6TG14bGJtZDBhQ0ErSURBZ0ppWWdhWE5PYjJSbEtHUnZZeTVqYjI1MFpXNTBjeWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIUmhaM01nUFNCN2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhacGMybDBLR1J2WXk1amIyNTBaVzUwY3l3Z0tGOXJaWGtzSUc1dlpHVXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWE5PYjJSbEtHNXZaR1VwSUNZbUlHNXZaR1V1ZEdGbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwWVdkelcyNXZaR1V1ZEdGblhTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJoWjA1aGJXVnpJRDBnVDJKcVpXTjBMbXRsZVhNb2RHRm5jeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHRm5UbUZ0WlhNZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCYmFHRnVaR3hsTENCd2NtVm1hWGhkSUc5bUlIUmhaMFZ1ZEhKcFpYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hvWVc1a2JHVWdQVDA5SUNjaElTY2dKaVlnY0hKbFptbDRJRDA5UFNBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNkp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2haRzlqSUh4OElIUmhaMDVoYldWekxuTnZiV1VvZEc0Z1BUNGdkRzR1YzNSaGNuUnpWMmwwYUNod2NtVm1hWGdwS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2FXNWxjeTV3ZFhOb0tHQWxWRUZISUNSN2FHRnVaR3hsZlNBa2UzQnlaV1pwZUgxZ0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiR2x1WlhNdWFtOXBiaWduWEZ4dUp5azdYRzRnSUNBZ2ZWeHVmVnh1UkdseVpXTjBhWFpsY3k1a1pXWmhkV3gwV1dGdGJDQTlJSHNnWlhod2JHbGphWFE2SUdaaGJITmxMQ0IyWlhKemFXOXVPaUFuTVM0eUp5QjlPMXh1UkdseVpXTjBhWFpsY3k1a1pXWmhkV3gwVkdGbmN5QTlJSHNnSnlFaEp6b2dKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPaWNnZlR0Y2JseHVaWGh3YjNKMElIc2dSR2x5WldOMGFYWmxjeUI5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJR2x6VTJOaGJHRnlMQ0JwYzBOdmJHeGxZM1JwYjI0Z2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUIyYVhOcGRDQjlJR1p5YjIwZ0p5NHVMM1pwYzJsMExtcHpKenRjYmx4dUx5b3FYRzRnS2lCV1pYSnBabmtnZEdoaGRDQjBhR1VnYVc1d2RYUWdjM1J5YVc1bklHbHpJR0VnZG1Gc2FXUWdZVzVqYUc5eUxseHVJQ3BjYmlBcUlGZHBiR3dnZEdoeWIzY2diMjRnWlhKeWIzSnpMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQmhibU5vYjNKSmMxWmhiR2xrS0dGdVkyaHZjaWtnZTF4dUlDQWdJR2xtSUNndlcxeGNlREF3TFZ4Y2VERTVYRnh6TEZ0Y1hGMTdmVjB2TG5SbGMzUW9ZVzVqYUc5eUtTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpZU0E5SUVwVFQwNHVjM1J5YVc1bmFXWjVLR0Z1WTJodmNpazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHMXpaeUE5SUdCQmJtTm9iM0lnYlhWemRDQnViM1FnWTI5dWRHRnBiaUIzYUdsMFpYTndZV05sSUc5eUlHTnZiblJ5YjJ3Z1kyaGhjbUZqZEdWeWN6b2dKSHR6WVgxZ08xeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb2JYTm5LVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzU5WEc1bWRXNWpkR2x2YmlCaGJtTm9iM0pPWVcxbGN5aHliMjkwS1NCN1hHNGdJQ0FnWTI5dWMzUWdZVzVqYUc5eWN5QTlJRzVsZHlCVFpYUW9LVHRjYmlBZ0lDQjJhWE5wZENoeWIyOTBMQ0I3WEc0Z0lDQWdJQ0FnSUZaaGJIVmxLRjlyWlhrc0lHNXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodWIyUmxMbUZ1WTJodmNpbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhibU5vYjNKekxtRmtaQ2h1YjJSbExtRnVZMmh2Y2lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOUtUdGNiaUFnSUNCeVpYUjFjbTRnWVc1amFHOXljenRjYm4xY2JpOHFLaUJHYVc1a0lHRWdibVYzSUdGdVkyaHZjaUJ1WVcxbElIZHBkR2dnZEdobElHZHBkbVZ1SUdCd2NtVm1hWGhnSUdGdVpDQmhJRzl1WlMxcGJtUmxlR1ZrSUhOMVptWnBlQzRnS2k5Y2JtWjFibU4wYVc5dUlHWnBibVJPWlhkQmJtTm9iM0lvY0hKbFptbDRMQ0JsZUdOc2RXUmxLU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURFN0lIUnlkV1U3SUNzcmFTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnVZVzFsSUQwZ1lDUjdjSEpsWm1sNGZTUjdhWDFnTzF4dUlDQWdJQ0FnSUNCcFppQW9JV1Y0WTJ4MVpHVXVhR0Z6S0c1aGJXVXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1aGJXVTdYRzRnSUNBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxUbTlrWlVGdVkyaHZjbk1vWkc5akxDQndjbVZtYVhncElIdGNiaUFnSUNCamIyNXpkQ0JoYkdsaGMwOWlhbVZqZEhNZ1BTQmJYVHRjYmlBZ0lDQmpiMjV6ZENCemIzVnlZMlZQWW1wbFkzUnpJRDBnYm1WM0lFMWhjQ2dwTzF4dUlDQWdJR3hsZENCd2NtVjJRVzVqYUc5eWN5QTlJRzUxYkd3N1hHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnYjI1QmJtTm9iM0k2SUNoemIzVnlZMlVwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdGc2FXRnpUMkpxWldOMGN5NXdkWE5vS0hOdmRYSmpaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhCeVpYWkJibU5vYjNKektWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIQnlaWFpCYm1Ob2IzSnpJRDBnWVc1amFHOXlUbUZ0WlhNb1pHOWpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdGdVkyaHZjaUE5SUdacGJtUk9aWGRCYm1Ob2IzSW9jSEpsWm1sNExDQndjbVYyUVc1amFHOXljeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbVYyUVc1amFHOXljeTVoWkdRb1lXNWphRzl5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmhibU5vYjNJN1hHNGdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJQzhxS2x4dUlDQWdJQ0FnSUNBZ0tpQlhhWFJvSUdOcGNtTjFiR0Z5SUhKbFptVnlaVzVqWlhNc0lIUm9aU0J6YjNWeVkyVWdibTlrWlNCcGN5QnZibXg1SUhKbGMyOXNkbVZrSUdGbWRHVnlJR0ZzYkZ4dUlDQWdJQ0FnSUNBZ0tpQnZaaUJwZEhNZ1kyaHBiR1FnYm05a1pYTWdZWEpsTGlCVWFHbHpJR2x6SUhkb2VTQmhibU5vYjNKeklHRnlaU0J6WlhRZ2IyNXNlU0JoWm5SbGNpQmhiR3dnYjJaY2JpQWdJQ0FnSUNBZ0lDb2dkR2hsSUc1dlpHVnpJR2hoZG1VZ1ltVmxiaUJqY21WaGRHVmtMbHh1SUNBZ0lDQWdJQ0FnS2k5Y2JpQWdJQ0FnSUNBZ2MyVjBRVzVqYUc5eWN6b2dLQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCemIzVnlZMlVnYjJZZ1lXeHBZWE5QWW1wbFkzUnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjbVZtSUQwZ2MyOTFjbU5sVDJKcVpXTjBjeTVuWlhRb2MyOTFjbU5sS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlISmxaaUE5UFQwZ0oyOWlhbVZqZENjZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WbUxtRnVZMmh2Y2lBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FvYVhOVFkyRnNZWElvY21WbUxtNXZaR1VwSUh4OElHbHpRMjlzYkdWamRHbHZiaWh5WldZdWJtOWtaU2twS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsWmk1dWIyUmxMbUZ1WTJodmNpQTlJSEpsWmk1aGJtTm9iM0k3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JsY25KdmNpQTlJRzVsZHlCRmNuSnZjaWduUm1GcGJHVmtJSFJ2SUhKbGMyOXNkbVVnY21Wd1pXRjBaV1FnYjJKcVpXTjBJQ2gwYUdseklITm9iM1ZzWkNCdWIzUWdhR0Z3Y0dWdUtTY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGNuSnZjaTV6YjNWeVkyVWdQU0J6YjNWeVkyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJR1Z5Y205eU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdjMjkxY21ObFQySnFaV04wYzF4dUlDQWdJSDA3WEc1OVhHNWNibVY0Y0c5eWRDQjdJR0Z1WTJodmNrbHpWbUZzYVdRc0lHRnVZMmh2Y2s1aGJXVnpMQ0JqY21WaGRHVk9iMlJsUVc1amFHOXljeXdnWm1sdVpFNWxkMEZ1WTJodmNpQjlPMXh1SWl3Z0lpOHFLbHh1SUNvZ1FYQndiR2xsY3lCMGFHVWdTbE5QVGk1d1lYSnpaU0J5WlhacGRtVnlJR0ZzWjI5eWFYUm9iU0JoY3lCa1pXWnBibVZrSUdsdUlIUm9aU0JGUTAxQkxUSTJNaUJ6Y0dWakxGeHVJQ29nYVc0Z2MyVmpkR2x2YmlBeU5DNDFMakV1TVNCY0lsSjFiblJwYldVZ1UyVnRZVzUwYVdOek9pQkpiblJsY201aGJHbDZaVXBUVDA1UWNtOXdaWEowZVZ3aUlHOW1JSFJvWlZ4dUlDb2dNakF5TVNCbFpHbDBhVzl1T2lCb2RIUndjem92TDNSak16a3VaWE12WldOdFlUSTJNaThqYzJWakxXcHpiMjR1Y0dGeWMyVmNiaUFxWEc0Z0tpQkpibU5zZFdSbGN5QmxlSFJsYm5OcGIyNXpJR1p2Y2lCb1lXNWtiR2x1WnlCTllYQWdZVzVrSUZObGRDQnZZbXBsWTNSekxseHVJQ292WEc1bWRXNWpkR2x2YmlCaGNIQnNlVkpsZG1sMlpYSW9jbVYyYVhabGNpd2diMkpxTENCclpYa3NJSFpoYkNrZ2UxeHVJQ0FnSUdsbUlDaDJZV3dnSmlZZ2RIbHdaVzltSUhaaGJDQTlQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb2RtRnNLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBc0lHeGxiaUE5SUhaaGJDNXNaVzVuZEdnN0lHa2dQQ0JzWlc0N0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSFl3SUQwZ2RtRnNXMmxkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSFl4SUQwZ1lYQndiSGxTWlhacGRtVnlLSEpsZG1sMlpYSXNJSFpoYkN3Z1UzUnlhVzVuS0drcExDQjJNQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5dWJ5MWhjbkpoZVMxa1pXeGxkR1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RqRWdQVDA5SUhWdVpHVm1hVzVsWkNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWlhSbElIWmhiRnRwWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoMk1TQWhQVDBnZGpBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoYkZ0cFhTQTlJSFl4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0haaGJDQnBibk4wWVc1alpXOW1JRTFoY0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCcklHOW1JRUZ5Y21GNUxtWnliMjBvZG1Gc0xtdGxlWE1vS1NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCMk1DQTlJSFpoYkM1blpYUW9heWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdkakVnUFNCaGNIQnNlVkpsZG1sMlpYSW9jbVYyYVhabGNpd2dkbUZzTENCckxDQjJNQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWXhJRDA5UFNCMWJtUmxabWx1WldRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoYkM1a1pXeGxkR1VvYXlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2RqRWdJVDA5SUhZd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVd3dWMyVjBLR3NzSUhZeEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaDJZV3dnYVc1emRHRnVZMlZ2WmlCVFpYUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdkakFnYjJZZ1FYSnlZWGt1Wm5KdmJTaDJZV3dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZGpFZ1BTQmhjSEJzZVZKbGRtbDJaWElvY21WMmFYWmxjaXdnZG1Gc0xDQjJNQ3dnZGpBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gyTVNBOVBUMGdkVzVrWldacGJtVmtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllXd3VaR1ZzWlhSbEtIWXdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2gyTVNBaFBUMGdkakFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzTG1SbGJHVjBaU2gyTUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoYkM1aFpHUW9kakVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdXMnNzSUhZd1hTQnZaaUJQWW1wbFkzUXVaVzUwY21sbGN5aDJZV3dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZGpFZ1BTQmhjSEJzZVZKbGRtbDJaWElvY21WMmFYWmxjaXdnZG1Gc0xDQnJMQ0IyTUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFl4SUQwOVBTQjFibVJsWm1sdVpXUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdSbGJHVjBaU0IyWVd4YmExMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9kakVnSVQwOUlIWXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllXeGJhMTBnUFNCMk1UdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdjbVYyYVhabGNpNWpZV3hzS0c5aWFpd2dhMlY1TENCMllXd3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QmhjSEJzZVZKbGRtbDJaWElnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJvWVhOQmJtTm9iM0lnZlNCbWNtOXRJQ2N1TDJsa1pXNTBhWFI1TG1wekp6dGNibHh1THlvcVhHNGdLaUJTWldOMWNuTnBkbVZzZVNCamIyNTJaWEowSUdGdWVTQnViMlJsSUc5eUlHbDBjeUJqYjI1MFpXNTBjeUIwYnlCdVlYUnBkbVVnU21GMllWTmpjbWx3ZEZ4dUlDcGNiaUFxSUVCd1lYSmhiU0IyWVd4MVpTQXRJRlJvWlNCcGJuQjFkQ0IyWVd4MVpWeHVJQ29nUUhCaGNtRnRJR0Z5WnlBdElFbG1JR0IyWVd4MVpXQWdaR1ZtYVc1bGN5QmhJR0IwYjBwVFQwNG9LV0FnYldWMGFHOWtMQ0IxYzJVZ2RHaHBjMXh1SUNvZ0lDQmhjeUJwZEhNZ1ptbHljM1FnWVhKbmRXMWxiblJjYmlBcUlFQndZWEpoYlNCamRIZ2dMU0JEYjI1MlpYSnphVzl1SUdOdmJuUmxlSFFzSUc5eWFXZHBibUZzYkhrZ2MyVjBJR2x1SUVSdlkzVnRaVzUwSTNSdlNsTW9LUzRnU1daY2JpQXFJQ0FnWUhzZ2EyVmxjRG9nZEhKMVpTQjlZQ0JwY3lCdWIzUWdjMlYwTENCdmRYUndkWFFnYzJodmRXeGtJR0psSUhOMWFYUmhZbXhsSUdadmNpQktVMDlPWEc0Z0tpQWdJSE4wY21sdVoybG1hV05oZEdsdmJpNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2RHOUtVeWgyWVd4MVpTd2dZWEpuTENCamRIZ3BJSHRjYmlBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMMjV2TFhWdWMyRm1aUzF5WlhSMWNtNWNiaUFnSUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoMllXeDFaU2twWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpTNXRZWEFvS0hZc0lHa3BJRDArSUhSdlNsTW9kaXdnVTNSeWFXNW5LR2twTENCamRIZ3BLVHRjYmlBZ0lDQnBaaUFvZG1Gc2RXVWdKaVlnZEhsd1pXOW1JSFpoYkhWbExuUnZTbE5QVGlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNXZMWFZ1YzJGbVpTMWpZV3hzWEc0Z0lDQWdJQ0FnSUdsbUlDZ2hZM1I0SUh4OElDRm9ZWE5CYm1Ob2IzSW9kbUZzZFdVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFpoYkhWbExuUnZTbE5QVGloaGNtY3NJR04wZUNrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdSaGRHRWdQU0I3SUdGc2FXRnpRMjkxYm5RNklEQXNJR052ZFc1ME9pQXhMQ0J5WlhNNklIVnVaR1ZtYVc1bFpDQjlPMXh1SUNBZ0lDQWdJQ0JqZEhndVlXNWphRzl5Y3k1elpYUW9kbUZzZFdVc0lHUmhkR0VwTzF4dUlDQWdJQ0FnSUNCamRIZ3ViMjVEY21WaGRHVWdQU0J5WlhNZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHRjBZUzV5WlhNZ1BTQnlaWE03WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdVZ1kzUjRMbTl1UTNKbFlYUmxPMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhNZ1BTQjJZV3gxWlM1MGIwcFRUMDRvWVhKbkxDQmpkSGdwTzF4dUlDQWdJQ0FnSUNCcFppQW9ZM1I0TG05dVEzSmxZWFJsS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZM1I0TG05dVEzSmxZWFJsS0hKbGN5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2RpYVdkcGJuUW5JQ1ltSUNGamRIZy9MbXRsWlhBcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCT2RXMWlaWElvZG1Gc2RXVXBPMXh1SUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYm4xY2JseHVaWGh3YjNKMElIc2dkRzlLVXlCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdGd2NHeDVVbVYyYVhabGNpQjlJR1p5YjIwZ0p5NHVMMlJ2WXk5aGNIQnNlVkpsZG1sMlpYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ1RrOUVSVjlVV1ZCRkxDQnBjMFJ2WTNWdFpXNTBJSDBnWm5KdmJTQW5MaTlwWkdWdWRHbDBlUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QjBiMHBUSUgwZ1puSnZiU0FuTGk5MGIwcFRMbXB6Snp0Y2JseHVZMnhoYzNNZ1RtOWtaVUpoYzJVZ2UxeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtIUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFJvYVhNc0lFNVBSRVZmVkZsUVJTd2dleUIyWVd4MVpUb2dkSGx3WlNCOUtUdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcUlFTnlaV0YwWlNCaElHTnZjSGtnYjJZZ2RHaHBjeUJ1YjJSbExpQWdLaTljYmlBZ0lDQmpiRzl1WlNncElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kyOXdlU0E5SUU5aWFtVmpkQzVqY21WaGRHVW9UMkpxWldOMExtZGxkRkJ5YjNSdmRIbHdaVTltS0hSb2FYTXBMQ0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eWN5aDBhR2x6S1NrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuSmhibWRsS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl3ZVM1eVlXNW5aU0E5SUhSb2FYTXVjbUZ1WjJVdWMyeHBZMlVvS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOdmNIazdYRzRnSUNBZ2ZWeHVJQ0FnSUM4cUtpQkJJSEJzWVdsdUlFcGhkbUZUWTNKcGNIUWdjbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdkR2hwY3lCdWIyUmxMaUFxTDF4dUlDQWdJSFJ2U2xNb1pHOWpMQ0I3SUcxaGNFRnpUV0Z3TENCdFlYaEJiR2xoYzBOdmRXNTBMQ0J2YmtGdVkyaHZjaXdnY21WMmFYWmxjaUI5SUQwZ2UzMHBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRnBjMFJ2WTNWdFpXNTBLR1J2WXlrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkQklHUnZZM1Z0Wlc1MElHRnlaM1Z0Wlc1MElHbHpJSEpsY1hWcGNtVmtKeWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR04wZUNBOUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdGdVkyaHZjbk02SUc1bGR5Qk5ZWEFvS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1J2WXl4Y2JpQWdJQ0FnSUNBZ0lDQWdJR3RsWlhBNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRZWEJCYzAxaGNEb2diV0Z3UVhOTllYQWdQVDA5SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ0FnSUNCdFlYQkxaWGxYWVhKdVpXUTZJR1poYkhObExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYldGNFFXeHBZWE5EYjNWdWREb2dkSGx3Wlc5bUlHMWhlRUZzYVdGelEyOTFiblFnUFQwOUlDZHVkVzFpWlhJbklEOGdiV0Y0UVd4cFlYTkRiM1Z1ZENBNklERXdNRnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhNZ1BTQjBiMHBUS0hSb2FYTXNJQ2NuTENCamRIZ3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUc5dVFXNWphRzl5SUQwOVBTQW5ablZ1WTNScGIyNG5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQjdJR052ZFc1MExDQnlaWE1nZlNCdlppQmpkSGd1WVc1amFHOXljeTUyWVd4MVpYTW9LU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtGdVkyaHZjaWh5WlhNc0lHTnZkVzUwS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUJ5WlhacGRtVnlJRDA5UFNBblpuVnVZM1JwYjI0blhHNGdJQ0FnSUNBZ0lDQWdJQ0EvSUdGd2NHeDVVbVYyYVhabGNpaHlaWFpwZG1WeUxDQjdJQ2NuT2lCeVpYTWdmU3dnSnljc0lISmxjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2djbVZ6TzF4dUlDQWdJSDFjYm4xY2JseHVaWGh3YjNKMElIc2dUbTlrWlVKaGMyVWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QmhibU5vYjNKSmMxWmhiR2xrSUgwZ1puSnZiU0FuTGk0dlpHOWpMMkZ1WTJodmNuTXVhbk1uTzF4dWFXMXdiM0owSUhzZ2RtbHphWFFnZlNCbWNtOXRJQ2N1TGk5MmFYTnBkQzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QkJURWxCVXl3Z2FYTkJiR2xoY3l3Z2FYTkRiMnhzWldOMGFXOXVMQ0JwYzFCaGFYSWdmU0JtY205dElDY3VMMmxrWlc1MGFYUjVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lFNXZaR1ZDWVhObElIMGdabkp2YlNBbkxpOU9iMlJsTG1wekp6dGNibWx0Y0c5eWRDQjdJSFJ2U2xNZ2ZTQm1jbTl0SUNjdUwzUnZTbE11YW5Nbk8xeHVYRzVqYkdGemN5QkJiR2xoY3lCbGVIUmxibVJ6SUU1dlpHVkNZWE5sSUh0Y2JpQWdJQ0JqYjI1emRISjFZM1J2Y2loemIzVnlZMlVwSUh0Y2JpQWdJQ0FnSUNBZ2MzVndaWElvUVV4SlFWTXBPMXh1SUNBZ0lDQWdJQ0IwYUdsekxuTnZkWEpqWlNBOUlITnZkWEpqWlR0Y2JpQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFJvYVhNc0lDZDBZV2NuTENCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6WlhRb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZEJiR2xoY3lCdWIyUmxjeUJqWVc1dWIzUWdhR0YyWlNCMFlXZHpKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJTWlhOdmJIWmxJSFJvWlNCMllXeDFaU0J2WmlCMGFHbHpJR0ZzYVdGeklIZHBkR2hwYmlCZ1pHOWpZQ3dnWm1sdVpHbHVaeUIwYUdVZ2JHRnpkRnh1SUNBZ0lDQXFJR2x1YzNSaGJtTmxJRzltSUhSb1pTQmdjMjkxY21ObFlDQmhibU5vYjNJZ1ltVm1iM0psSUhSb2FYTWdibTlrWlM1Y2JpQWdJQ0FnS2k5Y2JpQWdJQ0J5WlhOdmJIWmxLR1J2WXlrZ2UxeHVJQ0FnSUNBZ0lDQnNaWFFnWm05MWJtUWdQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUhacGMybDBLR1J2WXl3Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnVG05a1pUb2dLRjlyWlhrc0lHNXZaR1VwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYm05a1pTQTlQVDBnZEdocGN5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFpwYzJsMExrSlNSVUZMTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHViMlJsTG1GdVkyaHZjaUE5UFQwZ2RHaHBjeTV6YjNWeVkyVXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdadmRXNWtJRDBnYm05a1pUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1iM1Z1WkR0Y2JpQWdJQ0I5WEc0Z0lDQWdkRzlLVTA5T0tGOWhjbWNzSUdOMGVDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXTjBlQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lITnZkWEpqWlRvZ2RHaHBjeTV6YjNWeVkyVWdmVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdleUJoYm1Ob2IzSnpMQ0JrYjJNc0lHMWhlRUZzYVdGelEyOTFiblFnZlNBOUlHTjBlRHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjMjkxY21ObElEMGdkR2hwY3k1eVpYTnZiSFpsS0dSdll5azdYRzRnSUNBZ0lDQWdJR2xtSUNnaGMyOTFjbU5sS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRjMmNnUFNCZ1ZXNXlaWE52YkhabFpDQmhiR2xoY3lBb2RHaGxJR0Z1WTJodmNpQnRkWE4wSUdKbElITmxkQ0JpWldadmNtVWdkR2hsSUdGc2FXRnpLVG9nSkh0MGFHbHpMbk52ZFhKalpYMWdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGSmxabVZ5Wlc1alpVVnljbTl5S0cxelp5azdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYkdWMElHUmhkR0VnUFNCaGJtTm9iM0p6TG1kbGRDaHpiM1Z5WTJVcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdSaGRHRXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRkpsYzI5c2RtVWdZVzVqYUc5eWN5Qm1iM0lnVG05a1pTNXdjbTkwYjNSNWNHVXVkRzlLVXlncFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYjBwVEtITnZkWEpqWlN3Z2JuVnNiQ3dnWTNSNEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdSaGRHRWdQU0JoYm1Ob2IzSnpMbWRsZENoemIzVnlZMlVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDOHFJR2x6ZEdGdVluVnNJR2xuYm05eVpTQnBaaUFxTDF4dUlDQWdJQ0FnSUNCcFppQW9JV1JoZEdFZ2ZId2daR0YwWVM1eVpYTWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiWE5uSUQwZ0oxUm9hWE1nYzJodmRXeGtJRzV2ZENCb1lYQndaVzQ2SUVGc2FXRnpJR0Z1WTJodmNpQjNZWE1nYm05MElISmxjMjlzZG1Wa1B5YzdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1VtVm1aWEpsYm1ObFJYSnliM0lvYlhObktUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JwWmlBb2JXRjRRV3hwWVhORGIzVnVkQ0ErUFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCa1lYUmhMbU52ZFc1MElDczlJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWkdGMFlTNWhiR2xoYzBOdmRXNTBJRDA5UFNBd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmhkR0V1WVd4cFlYTkRiM1Z1ZENBOUlHZGxkRUZzYVdGelEyOTFiblFvWkc5akxDQnpiM1Z5WTJVc0lHRnVZMmh2Y25NcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHUmhkR0V1WTI5MWJuUWdLaUJrWVhSaExtRnNhV0Z6UTI5MWJuUWdQaUJ0WVhoQmJHbGhjME52ZFc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JYTm5JRDBnSjBWNFkyVnpjMmwyWlNCaGJHbGhjeUJqYjNWdWRDQnBibVJwWTJGMFpYTWdZU0J5WlhOdmRYSmpaU0JsZUdoaGRYTjBhVzl1SUdGMGRHRmpheWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZKbFptVnlaVzVqWlVWeWNtOXlLRzF6WnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSaGRHRXVjbVZ6TzF4dUlDQWdJSDFjYmlBZ0lDQjBiMU4wY21sdVp5aGpkSGdzSUY5dmJrTnZiVzFsYm5Rc0lGOXZia05vYjIxd1MyVmxjQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J6Y21NZ1BTQmdLaVI3ZEdocGN5NXpiM1Z5WTJWOVlEdGNiaUFnSUNBZ0lDQWdhV1lnS0dOMGVDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1lXNWphRzl5U1hOV1lXeHBaQ2gwYUdsekxuTnZkWEpqWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kzUjRMbTl3ZEdsdmJuTXVkbVZ5YVdaNVFXeHBZWE5QY21SbGNpQW1KaUFoWTNSNExtRnVZMmh2Y25NdWFHRnpLSFJvYVhNdWMyOTFjbU5sS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUcxelp5QTlJR0JWYm5KbGMyOXNkbVZrSUdGc2FXRnpJQ2gwYUdVZ1lXNWphRzl5SUcxMWMzUWdZbVVnYzJWMElHSmxabTl5WlNCMGFHVWdZV3hwWVhNcE9pQWtlM1JvYVhNdWMyOTFjbU5sZldBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0cxelp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kzUjRMbWx0Y0d4cFkybDBTMlY1S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJnSkh0emNtTjlJR0E3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOeVl6dGNiaUFnSUNCOVhHNTlYRzVtZFc1amRHbHZiaUJuWlhSQmJHbGhjME52ZFc1MEtHUnZZeXdnYm05a1pTd2dZVzVqYUc5eWN5a2dlMXh1SUNBZ0lHbG1JQ2hwYzBGc2FXRnpLRzV2WkdVcEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElITnZkWEpqWlNBOUlHNXZaR1V1Y21WemIyeDJaU2hrYjJNcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaGJtTm9iM0lnUFNCaGJtTm9iM0p6SUNZbUlITnZkWEpqWlNBbUppQmhibU5vYjNKekxtZGxkQ2h6YjNWeVkyVXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZVzVqYUc5eUlEOGdZVzVqYUc5eUxtTnZkVzUwSUNvZ1lXNWphRzl5TG1Gc2FXRnpRMjkxYm5RZ09pQXdPMXh1SUNBZ0lIMWNiaUFnSUNCbGJITmxJR2xtSUNocGMwTnZiR3hsWTNScGIyNG9ibTlrWlNrcElIdGNiaUFnSUNBZ0lDQWdiR1YwSUdOdmRXNTBJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQnBkR1Z0SUc5bUlHNXZaR1V1YVhSbGJYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdNZ1BTQm5aWFJCYkdsaGMwTnZkVzUwS0dSdll5d2dhWFJsYlN3Z1lXNWphRzl5Y3lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1l5QStJR052ZFc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZkVzUwSUQwZ1l6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMjkxYm5RN1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJVZ2FXWWdLR2x6VUdGcGNpaHViMlJsS1NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcll5QTlJR2RsZEVGc2FXRnpRMjkxYm5Rb1pHOWpMQ0J1YjJSbExtdGxlU3dnWVc1amFHOXljeWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSFpqSUQwZ1oyVjBRV3hwWVhORGIzVnVkQ2hrYjJNc0lHNXZaR1V1ZG1Gc2RXVXNJR0Z1WTJodmNuTXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUV0YwYUM1dFlYZ29hMk1zSUhaaktUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJREU3WEc1OVhHNWNibVY0Y0c5eWRDQjdJRUZzYVdGeklIMDdYRzRpTENBaWFXMXdiM0owSUhzZ1UwTkJURUZTSUgwZ1puSnZiU0FuTGk5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUJPYjJSbFFtRnpaU0I5SUdaeWIyMGdKeTR2VG05a1pTNXFjeWM3WEc1cGJYQnZjblFnZXlCMGIwcFRJSDBnWm5KdmJTQW5MaTkwYjBwVExtcHpKenRjYmx4dVkyOXVjM1FnYVhOVFkyRnNZWEpXWVd4MVpTQTlJQ2gyWVd4MVpTa2dQVDRnSVhaaGJIVmxJSHg4SUNoMGVYQmxiMllnZG1Gc2RXVWdJVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdkSGx3Wlc5bUlIWmhiSFZsSUNFOVBTQW5iMkpxWldOMEp5azdYRzVqYkdGemN5QlRZMkZzWVhJZ1pYaDBaVzVrY3lCT2IyUmxRbUZ6WlNCN1hHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb2RtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ2MzVndaWElvVTBOQlRFRlNLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQWdJSDFjYmlBZ0lDQjBiMHBUVDA0b1lYSm5MQ0JqZEhncElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHTjBlRDh1YTJWbGNDQS9JSFJvYVhNdWRtRnNkV1VnT2lCMGIwcFRLSFJvYVhNdWRtRnNkV1VzSUdGeVp5d2dZM1I0S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdkRzlUZEhKcGJtY29LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJUZEhKcGJtY29kR2hwY3k1MllXeDFaU2s3WEc0Z0lDQWdmVnh1ZlZ4dVUyTmhiR0Z5TGtKTVQwTkxYMFpQVEVSRlJDQTlJQ2RDVEU5RFMxOUdUMHhFUlVRbk8xeHVVMk5oYkdGeUxrSk1UME5MWDB4SlZFVlNRVXdnUFNBblFreFBRMHRmVEVsVVJWSkJUQ2M3WEc1VFkyRnNZWEl1VUV4QlNVNGdQU0FuVUV4QlNVNG5PMXh1VTJOaGJHRnlMbEZWVDFSRlgwUlBWVUpNUlNBOUlDZFJWVTlVUlY5RVQxVkNURVVuTzF4dVUyTmhiR0Z5TGxGVlQxUkZYMU5KVGtkTVJTQTlJQ2RSVlU5VVJWOVRTVTVIVEVVbk8xeHVYRzVsZUhCdmNuUWdleUJUWTJGc1lYSXNJR2x6VTJOaGJHRnlWbUZzZFdVZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCQmJHbGhjeUI5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMEZzYVdGekxtcHpKenRjYm1sdGNHOXlkQ0I3SUdselRtOWtaU3dnYVhOUVlXbHlMQ0JOUVZBc0lGTkZVU3dnYVhORWIyTjFiV1Z1ZENCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDJsa1pXNTBhWFI1TG1wekp6dGNibWx0Y0c5eWRDQjdJRk5qWVd4aGNpQjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwxTmpZV3hoY2k1cWN5YzdYRzVjYm1OdmJuTjBJR1JsWm1GMWJIUlVZV2RRY21WbWFYZ2dQU0FuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2Snp0Y2JtWjFibU4wYVc5dUlHWnBibVJVWVdkUFltcGxZM1FvZG1Gc2RXVXNJSFJoWjA1aGJXVXNJSFJoWjNNcElIdGNiaUFnSUNCcFppQW9kR0ZuVG1GdFpTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRZWFJqYUNBOUlIUmhaM011Wm1sc2RHVnlLSFFnUFQ0Z2RDNTBZV2NnUFQwOUlIUmhaMDVoYldVcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMFlXZFBZbW9nUFNCdFlYUmphQzVtYVc1a0tIUWdQVDRnSVhRdVptOXliV0YwS1NBL1B5QnRZWFJqYUZzd1hUdGNiaUFnSUNBZ0lDQWdhV1lnS0NGMFlXZFBZbW9wWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lGUmhaeUFrZTNSaFowNWhiV1Y5SUc1dmRDQm1iM1Z1WkdBcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHRm5UMkpxTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHRm5jeTVtYVc1a0tIUWdQVDRnZEM1cFpHVnVkR2xtZVQ4dUtIWmhiSFZsS1NBbUppQWhkQzVtYjNKdFlYUXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsVG05a1pTaDJZV3gxWlN3Z2RHRm5UbUZ0WlN3Z1kzUjRLU0I3WEc0Z0lDQWdhV1lnS0dselJHOWpkVzFsYm5Rb2RtRnNkV1VwS1Z4dUlDQWdJQ0FnSUNCMllXeDFaU0E5SUhaaGJIVmxMbU52Ym5SbGJuUnpPMXh1SUNBZ0lHbG1JQ2hwYzA1dlpHVW9kbUZzZFdVcEtWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RtRnNkV1U3WEc0Z0lDQWdhV1lnS0dselVHRnBjaWgyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiV0Z3SUQwZ1kzUjRMbk5qYUdWdFlWdE5RVkJkTG1OeVpXRjBaVTV2WkdVL0xpaGpkSGd1YzJOb1pXMWhMQ0J1ZFd4c0xDQmpkSGdwTzF4dUlDQWdJQ0FnSUNCdFlYQXVhWFJsYlhNdWNIVnphQ2gyWVd4MVpTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnRZWEE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2gyWVd4MVpTQnBibk4wWVc1alpXOW1JRk4wY21sdVp5QjhmRnh1SUNBZ0lDQWdJQ0IyWVd4MVpTQnBibk4wWVc1alpXOW1JRTUxYldKbGNpQjhmRnh1SUNBZ0lDQWdJQ0IyWVd4MVpTQnBibk4wWVc1alpXOW1JRUp2YjJ4bFlXNGdmSHhjYmlBZ0lDQWdJQ0FnS0hSNWNHVnZaaUJDYVdkSmJuUWdJVDA5SUNkMWJtUmxabWx1WldRbklDWW1JSFpoYkhWbElHbHVjM1JoYm1ObGIyWWdRbWxuU1c1MEtTQXZMeUJ1YjNRZ2MzVndjRzl5ZEdWa0lHVjJaWEo1ZDJobGNtVmNiaUFnSUNBcElIdGNiaUFnSUNBZ0lDQWdMeThnYUhSMGNITTZMeTkwWXpNNUxtVnpMMlZqYldFeU5qSXZJM05sWXkxelpYSnBZV3hwZW1WcWMyOXVjSEp2Y0dWeWRIbGNiaUFnSUNBZ0lDQWdkbUZzZFdVZ1BTQjJZV3gxWlM1MllXeDFaVTltS0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElIc2dZV3hwWVhORWRYQnNhV05oZEdWUFltcGxZM1J6TENCdmJrRnVZMmh2Y2l3Z2IyNVVZV2RQWW1vc0lITmphR1Z0WVN3Z2MyOTFjbU5sVDJKcVpXTjBjeUI5SUQwZ1kzUjRPMXh1SUNBZ0lDOHZJRVJsZEdWamRDQmtkWEJzYVdOaGRHVWdjbVZtWlhKbGJtTmxjeUIwYnlCMGFHVWdjMkZ0WlNCdlltcGxZM1FnSmlCMWMyVWdRV3hwWVhNZ2JtOWtaWE1nWm05eUlHRnNiRnh1SUNBZ0lDOHZJR0ZtZEdWeUlHWnBjbk4wTGlCVWFHVWdZSEpsWm1BZ2QzSmhjSEJsY2lCaGJHeHZkM01nWm05eUlHTnBjbU4xYkdGeUlISmxabVZ5Wlc1alpYTWdkRzhnY21WemIyeDJaUzVjYmlBZ0lDQnNaWFFnY21WbUlEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lHbG1JQ2hoYkdsaGMwUjFjR3hwWTJGMFpVOWlhbVZqZEhNZ0ppWWdkbUZzZFdVZ0ppWWdkSGx3Wlc5bUlIWmhiSFZsSUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdJQ0J5WldZZ1BTQnpiM1Z5WTJWUFltcGxZM1J6TG1kbGRDaDJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h5WldZcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hjbVZtTG1GdVkyaHZjaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WldZdVlXNWphRzl5SUQwZ2IyNUJibU5vYjNJb2RtRnNkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJCYkdsaGN5aHlaV1l1WVc1amFHOXlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxaaUE5SUhzZ1lXNWphRzl5T2lCdWRXeHNMQ0J1YjJSbE9pQnVkV3hzSUgwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6YjNWeVkyVlBZbXBsWTNSekxuTmxkQ2gyWVd4MVpTd2djbVZtS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2RHRm5UbUZ0WlQ4dWMzUmhjblJ6VjJsMGFDZ25JU0VuS1NsY2JpQWdJQ0FnSUNBZ2RHRm5UbUZ0WlNBOUlHUmxabUYxYkhSVVlXZFFjbVZtYVhnZ0t5QjBZV2RPWVcxbExuTnNhV05sS0RJcE8xeHVJQ0FnSUd4bGRDQjBZV2RQWW1vZ1BTQm1hVzVrVkdGblQySnFaV04wS0haaGJIVmxMQ0IwWVdkT1lXMWxMQ0J6WTJobGJXRXVkR0ZuY3lrN1hHNGdJQ0FnYVdZZ0tDRjBZV2RQWW1vcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0haaGJIVmxJQ1ltSUhSNWNHVnZaaUIyWVd4MVpTNTBiMHBUVDA0Z1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym04dGRXNXpZV1psTFdOaGJHeGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxJRDBnZG1Gc2RXVXVkRzlLVTA5T0tDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tDRjJZV3gxWlNCOGZDQjBlWEJsYjJZZ2RtRnNkV1VnSVQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J1YjJSbElEMGdibVYzSUZOallXeGhjaWgyWVd4MVpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jbVZtS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbFppNXViMlJsSUQwZ2JtOWtaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWIyUmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhSaFowOWlhaUE5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZV3gxWlNCcGJuTjBZVzVqWlc5bUlFMWhjRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnYzJOb1pXMWhXMDFCVUYxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklGTjViV0p2YkM1cGRHVnlZWFJ2Y2lCcGJpQlBZbXBsWTNRb2RtRnNkV1VwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdjMk5vWlcxaFcxTkZVVjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQnpZMmhsYldGYlRVRlFYVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLRzl1VkdGblQySnFLU0I3WEc0Z0lDQWdJQ0FnSUc5dVZHRm5UMkpxS0hSaFowOWlhaWs3WEc0Z0lDQWdJQ0FnSUdSbGJHVjBaU0JqZEhndWIyNVVZV2RQWW1vN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElHNXZaR1VnUFNCMFlXZFBZbW8vTG1OeVpXRjBaVTV2WkdWY2JpQWdJQ0FnSUNBZ1B5QjBZV2RQWW1vdVkzSmxZWFJsVG05a1pTaGpkSGd1YzJOb1pXMWhMQ0IyWVd4MVpTd2dZM1I0S1Z4dUlDQWdJQ0FnSUNBNklIUjVjR1Z2WmlCMFlXZFBZbW8vTG01dlpHVkRiR0Z6Y3o4dVpuSnZiU0E5UFQwZ0oyWjFibU4wYVc5dUoxeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlCMFlXZFBZbW91Ym05a1pVTnNZWE56TG1aeWIyMG9ZM1I0TG5OamFHVnRZU3dnZG1Gc2RXVXNJR04wZUNsY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nYm1WM0lGTmpZV3hoY2loMllXeDFaU2s3WEc0Z0lDQWdhV1lnS0hSaFowNWhiV1VwWEc0Z0lDQWdJQ0FnSUc1dlpHVXVkR0ZuSUQwZ2RHRm5UbUZ0WlR0Y2JpQWdJQ0JsYkhObElHbG1JQ2doZEdGblQySnFMbVJsWm1GMWJIUXBYRzRnSUNBZ0lDQWdJRzV2WkdVdWRHRm5JRDBnZEdGblQySnFMblJoWnp0Y2JpQWdJQ0JwWmlBb2NtVm1LVnh1SUNBZ0lDQWdJQ0J5WldZdWJtOWtaU0E5SUc1dlpHVTdYRzRnSUNBZ2NtVjBkWEp1SUc1dlpHVTdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lHTnlaV0YwWlU1dlpHVWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QmpjbVZoZEdWT2IyUmxJSDBnWm5KdmJTQW5MaTR2Wkc5akwyTnlaV0YwWlU1dlpHVXVhbk1uTzF4dWFXMXdiM0owSUhzZ2FYTk9iMlJsTENCcGMxQmhhWElzSUdselEyOXNiR1ZqZEdsdmJpd2dhWE5UWTJGc1lYSWdmU0JtY205dElDY3VMMmxrWlc1MGFYUjVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lFNXZaR1ZDWVhObElIMGdabkp2YlNBbkxpOU9iMlJsTG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnWTI5c2JHVmpkR2x2YmtaeWIyMVFZWFJvS0hOamFHVnRZU3dnY0dGMGFDd2dkbUZzZFdVcElIdGNiaUFnSUNCc1pYUWdkaUE5SUhaaGJIVmxPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0J3WVhSb0xteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dMUzFwS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdzZ1BTQndZWFJvVzJsZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR3NnUFQwOUlDZHVkVzFpWlhJbklDWW1JRTUxYldKbGNpNXBjMGx1ZEdWblpYSW9heWtnSmlZZ2F5QStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmhJRDBnVzEwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JoVzJ0ZElEMGdkanRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWWdQU0JoTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkaUE5SUc1bGR5Qk5ZWEFvVzF0ckxDQjJYVjBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmpjbVZoZEdWT2IyUmxLSFlzSUhWdVpHVm1hVzVsWkN3Z2UxeHVJQ0FnSUNBZ0lDQmhiR2xoYzBSMWNHeHBZMkYwWlU5aWFtVmpkSE02SUdaaGJITmxMRnh1SUNBZ0lDQWdJQ0JyWldWd1ZXNWtaV1pwYm1Wa09pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ2IyNUJibU5vYjNJNklDZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WR2hwY3lCemFHOTFiR1FnYm05MElHaGhjSEJsYml3Z2NHeGxZWE5sSUhKbGNHOXlkQ0JoSUdKMVp5NG5LVHRjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ2MyTm9aVzFoTEZ4dUlDQWdJQ0FnSUNCemIzVnlZMlZQWW1wbFkzUnpPaUJ1WlhjZ1RXRndLQ2xjYmlBZ0lDQjlLVHRjYm4xY2JpOHZJRlI1Y0dVZ1ozVmhjbVFnYVhNZ2FXNTBaVzUwYVc5dVlXeHNlU0JoSUd4cGRIUnNaU0IzY205dVp5QnpieUJoY3lCMGJ5QmlaU0J0YjNKbElIVnpaV1oxYkN4Y2JpOHZJR0Z6SUdsMElHUnZaWE1nYm05MElHTnZkbVZ5SUhWdWRIbHdZV0pzWlNCbGJYQjBlU0J1YjI0dGMzUnlhVzVuSUdsMFpYSmhZbXhsY3lBb1pTNW5MaUJiWFNrdVhHNWpiMjV6ZENCcGMwVnRjSFI1VUdGMGFDQTlJQ2h3WVhSb0tTQTlQaUJ3WVhSb0lEMDlJRzUxYkd3Z2ZIeGNiaUFnSUNBb2RIbHdaVzltSUhCaGRHZ2dQVDA5SUNkdlltcGxZM1FuSUNZbUlDRWhjR0YwYUZ0VGVXMWliMnd1YVhSbGNtRjBiM0pkS0NrdWJtVjRkQ2dwTG1SdmJtVXBPMXh1WTJ4aGMzTWdRMjlzYkdWamRHbHZiaUJsZUhSbGJtUnpJRTV2WkdWQ1lYTmxJSHRjYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWgwZVhCbExDQnpZMmhsYldFcElIdGNiaUFnSUNBZ0lDQWdjM1Z3WlhJb2RIbHdaU2s3WEc0Z0lDQWdJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDBhR2x6TENBbmMyTm9aVzFoSnl3Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVTZJSE5qYUdWdFlTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2QzSnBkR0ZpYkdVNklIUnlkV1ZjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUVOeVpXRjBaU0JoSUdOdmNIa2diMllnZEdocGN5QmpiMnhzWldOMGFXOXVMbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEJoY21GdElITmphR1Z0WVNBdElFbG1JR1JsWm1sdVpXUXNJRzkyWlhKM2NtbDBaWE1nZEdobElHOXlhV2RwYm1Gc0ozTWdjMk5vWlcxaFhHNGdJQ0FnSUNvdlhHNGdJQ0FnWTJ4dmJtVW9jMk5vWlcxaEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTnZjSGtnUFNCUFltcGxZM1F1WTNKbFlYUmxLRTlpYW1WamRDNW5aWFJRY205MGIzUjVjR1ZQWmloMGFHbHpLU3dnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNuTW9kR2hwY3lrcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYzJOb1pXMWhLVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXdlUzV6WTJobGJXRWdQU0J6WTJobGJXRTdYRzRnSUNBZ0lDQWdJR052Y0hrdWFYUmxiWE1nUFNCamIzQjVMbWwwWlcxekxtMWhjQ2hwZENBOVBpQnBjMDV2WkdVb2FYUXBJSHg4SUdselVHRnBjaWhwZENrZ1B5QnBkQzVqYkc5dVpTaHpZMmhsYldFcElEb2dhWFFwTzF4dUlDQWdJQ0FnSUNCcFppQW9kR2hwY3k1eVlXNW5aU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZjSGt1Y21GdVoyVWdQU0IwYUdsekxuSmhibWRsTG5Oc2FXTmxLQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJqYjNCNU8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQlpHUnpJR0VnZG1Gc2RXVWdkRzhnZEdobElHTnZiR3hsWTNScGIyNHVJRVp2Y2lCZ0lTRnRZWEJnSUdGdVpDQmdJU0Z2YldGd1lDQjBhR1VnZG1Gc2RXVWdiWFZ6ZEZ4dUlDQWdJQ0FxSUdKbElHRWdVR0ZwY2lCcGJuTjBZVzVqWlNCdmNpQmhJR0I3SUd0bGVTd2dkbUZzZFdVZ2ZXQWdiMkpxWldOMExDQjNhR2xqYUNCdFlYa2dibTkwSUdoaGRtVWdZU0JyWlhsY2JpQWdJQ0FnS2lCMGFHRjBJR0ZzY21WaFpIa2daWGhwYzNSeklHbHVJSFJvWlNCdFlYQXVYRzRnSUNBZ0lDb3ZYRzRnSUNBZ1lXUmtTVzRvY0dGMGFDd2dkbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dselJXMXdkSGxRWVhSb0tIQmhkR2dwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1aFpHUW9kbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElGdHJaWGtzSUM0dUxuSmxjM1JkSUQwZ2NHRjBhRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUc1dlpHVWdQU0IwYUdsekxtZGxkQ2hyWlhrc0lIUnlkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dselEyOXNiR1ZqZEdsdmJpaHViMlJsS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxMbUZrWkVsdUtISmxjM1FzSUhaaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHNXZaR1VnUFQwOUlIVnVaR1ZtYVc1bFpDQW1KaUIwYUdsekxuTmphR1Z0WVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk5sZENoclpYa3NJR052Ykd4bFkzUnBiMjVHY205dFVHRjBhQ2gwYUdsekxuTmphR1Z0WVN3Z2NtVnpkQ3dnZG1Gc2RXVXBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRVY0Y0dWamRHVmtJRmxCVFV3Z1kyOXNiR1ZqZEdsdmJpQmhkQ0FrZTJ0bGVYMHVJRkpsYldGcGJtbHVaeUJ3WVhSb09pQWtlM0psYzNSOVlDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dVbVZ0YjNabGN5QmhJSFpoYkhWbElHWnliMjBnZEdobElHTnZiR3hsWTNScGIyNHVYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdZSFJ5ZFdWZ0lHbG1JSFJvWlNCcGRHVnRJSGRoY3lCbWIzVnVaQ0JoYm1RZ2NtVnRiM1psWkM1Y2JpQWdJQ0FnS2k5Y2JpQWdJQ0JrWld4bGRHVkpiaWh3WVhSb0tTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElGdHJaWGtzSUM0dUxuSmxjM1JkSUQwZ2NHRjBhRHRjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjM1F1YkdWdVozUm9JRDA5UFNBd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVpHVnNaWFJsS0d0bGVTazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHNXZaR1VnUFNCMGFHbHpMbWRsZENoclpYa3NJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYVhORGIyeHNaV04wYVc5dUtHNXZaR1VwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNXZaR1V1WkdWc1pYUmxTVzRvY21WemRDazdYRzRnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdSWGh3WldOMFpXUWdXVUZOVENCamIyeHNaV04wYVc5dUlHRjBJQ1I3YTJWNWZTNGdVbVZ0WVdsdWFXNW5JSEJoZEdnNklDUjdjbVZ6ZEgxZ0tUdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1VtVjBkWEp1Y3lCcGRHVnRJR0YwSUdCclpYbGdMQ0J2Y2lCZ2RXNWtaV1pwYm1Wa1lDQnBaaUJ1YjNRZ1ptOTFibVF1SUVKNUlHUmxabUYxYkhRZ2RXNTNjbUZ3YzF4dUlDQWdJQ0FxSUhOallXeGhjaUIyWVd4MVpYTWdabkp2YlNCMGFHVnBjaUJ6ZFhKeWIzVnVaR2x1WnlCdWIyUmxPeUIwYnlCa2FYTmhZbXhsSUhObGRDQmdhMlZsY0ZOallXeGhjbUFnZEc5Y2JpQWdJQ0FnS2lCZ2RISjFaV0FnS0dOdmJHeGxZM1JwYjI1eklHRnlaU0JoYkhkaGVYTWdjbVYwZFhKdVpXUWdhVzUwWVdOMEtTNWNiaUFnSUNBZ0tpOWNiaUFnSUNCblpYUkpiaWh3WVhSb0xDQnJaV1Z3VTJOaGJHRnlLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRnRyWlhrc0lDNHVMbkpsYzNSZElEMGdjR0YwYUR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYm05a1pTQTlJSFJvYVhNdVoyVjBLR3RsZVN3Z2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaWE4wTG14bGJtZDBhQ0E5UFQwZ01DbGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFoYTJWbGNGTmpZV3hoY2lBbUppQnBjMU5qWVd4aGNpaHViMlJsS1NBL0lHNXZaR1V1ZG1Gc2RXVWdPaUJ1YjJSbE8xeHVJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYTkRiMnhzWldOMGFXOXVLRzV2WkdVcElEOGdibTlrWlM1blpYUkpiaWh5WlhOMExDQnJaV1Z3VTJOaGJHRnlLU0E2SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0I5WEc0Z0lDQWdhR0Z6UVd4c1RuVnNiRlpoYkhWbGN5aGhiR3h2ZDFOallXeGhjaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXBkR1Z0Y3k1bGRtVnllU2h1YjJSbElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYVhOUVlXbHlLRzV2WkdVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUc0Z1BTQnViMlJsTG5aaGJIVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNodUlEMDlJRzUxYkd3Z2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9ZV3hzYjNkVFkyRnNZWElnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWE5UWTJGc1lYSW9iaWtnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiaTUyWVd4MVpTQTlQU0J1ZFd4c0lDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNGdUxtTnZiVzFsYm5SQ1pXWnZjbVVnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJVzR1WTI5dGJXVnVkQ0FtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWhiaTUwWVdjcEtUdGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRU5vWldOcmN5QnBaaUIwYUdVZ1kyOXNiR1ZqZEdsdmJpQnBibU5zZFdSbGN5QmhJSFpoYkhWbElIZHBkR2dnZEdobElHdGxlU0JnYTJWNVlDNWNiaUFnSUNBZ0tpOWNiaUFnSUNCb1lYTkpiaWh3WVhSb0tTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElGdHJaWGtzSUM0dUxuSmxjM1JkSUQwZ2NHRjBhRHRjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjM1F1YkdWdVozUm9JRDA5UFNBd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWFHRnpLR3RsZVNrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc1dlpHVWdQU0IwYUdsekxtZGxkQ2hyWlhrc0lIUnlkV1VwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhORGIyeHNaV04wYVc5dUtHNXZaR1VwSUQ4Z2JtOWtaUzVvWVhOSmJpaHlaWE4wS1NBNklHWmhiSE5sTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJUWlhSeklHRWdkbUZzZFdVZ2FXNGdkR2hwY3lCamIyeHNaV04wYVc5dUxpQkdiM0lnWUNFaGMyVjBZQ3dnWUhaaGJIVmxZQ0J1WldWa2N5QjBieUJpWlNCaFhHNGdJQ0FnSUNvZ1ltOXZiR1ZoYmlCMGJ5QmhaR1F2Y21WdGIzWmxJSFJvWlNCcGRHVnRJR1p5YjIwZ2RHaGxJSE5sZEM1Y2JpQWdJQ0FnS2k5Y2JpQWdJQ0J6WlhSSmJpaHdZWFJvTENCMllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JiYTJWNUxDQXVMaTV5WlhOMFhTQTlJSEJoZEdnN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMExteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1elpYUW9hMlY1TENCMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnZEdocGN5NW5aWFFvYTJWNUxDQjBjblZsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGMwTnZiR3hsWTNScGIyNG9ibTlrWlNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JtOWtaUzV6WlhSSmJpaHlaWE4wTENCMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHViMlJsSUQwOVBTQjFibVJsWm1sdVpXUWdKaVlnZEdocGN5NXpZMmhsYldFcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV6WlhRb2EyVjVMQ0JqYjJ4c1pXTjBhVzl1Um5KdmJWQmhkR2dvZEdocGN5NXpZMmhsYldFc0lISmxjM1FzSUhaaGJIVmxLU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0JGZUhCbFkzUmxaQ0JaUVUxTUlHTnZiR3hsWTNScGIyNGdZWFFnSkh0clpYbDlMaUJTWlcxaGFXNXBibWNnY0dGMGFEb2dKSHR5WlhOMGZXQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QkRiMnhzWldOMGFXOXVMQ0JqYjJ4c1pXTjBhVzl1Um5KdmJWQmhkR2dzSUdselJXMXdkSGxRWVhSb0lIMDdYRzRpTENBaUx5b3FYRzRnS2lCVGRISnBibWRwWm1sbGN5QmhJR052YlcxbGJuUXVYRzRnS2x4dUlDb2dSVzF3ZEhrZ1kyOXRiV1Z1ZENCc2FXNWxjeUJoY21VZ2JHVm1kQ0JsYlhCMGVTeGNiaUFxSUd4cGJtVnpJR052Ym5OcGMzUnBibWNnYjJZZ1lTQnphVzVuYkdVZ2MzQmhZMlVnWVhKbElISmxjR3hoWTJWa0lHSjVJR0FqWUN4Y2JpQXFJR0Z1WkNCaGJHd2diM1JvWlhJZ2JHbHVaWE1nWVhKbElIQnlaV1pwZUdWa0lIZHBkR2dnWVNCZ0kyQXVYRzRnS2k5Y2JtTnZibk4wSUhOMGNtbHVaMmxtZVVOdmJXMWxiblFnUFNBb2MzUnlLU0E5UGlCemRISXVjbVZ3YkdGalpTZ3ZYaWcvSVNRcEtEODZJQ1FwUHk5bmJTd2dKeU1uS1R0Y2JtWjFibU4wYVc5dUlHbHVaR1Z1ZEVOdmJXMWxiblFvWTI5dGJXVnVkQ3dnYVc1a1pXNTBLU0I3WEc0Z0lDQWdhV1lnS0M5ZVhGeHVLeVF2TG5SbGMzUW9ZMjl0YldWdWRDa3BYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmpiMjF0Wlc1MExuTjFZbk4wY21sdVp5Z3hLVHRjYmlBZ0lDQnlaWFIxY200Z2FXNWtaVzUwSUQ4Z1kyOXRiV1Z1ZEM1eVpYQnNZV05sS0M5ZUtEOGhJQ29rS1M5bmJTd2dhVzVrWlc1MEtTQTZJR052YlcxbGJuUTdYRzU5WEc1amIyNXpkQ0JzYVc1bFEyOXRiV1Z1ZENBOUlDaHpkSElzSUdsdVpHVnVkQ3dnWTI5dGJXVnVkQ2tnUFQ0Z2MzUnlMbVZ1WkhOWGFYUm9LQ2RjWEc0bktWeHVJQ0FnSUQ4Z2FXNWtaVzUwUTI5dGJXVnVkQ2hqYjIxdFpXNTBMQ0JwYm1SbGJuUXBYRzRnSUNBZ09pQmpiMjF0Wlc1MExtbHVZMngxWkdWektDZGNYRzRuS1Z4dUlDQWdJQ0FnSUNBL0lDZGNYRzRuSUNzZ2FXNWtaVzUwUTI5dGJXVnVkQ2hqYjIxdFpXNTBMQ0JwYm1SbGJuUXBYRzRnSUNBZ0lDQWdJRG9nS0hOMGNpNWxibVJ6VjJsMGFDZ25JQ2NwSUQ4Z0p5Y2dPaUFuSUNjcElDc2dZMjl0YldWdWREdGNibHh1Wlhod2IzSjBJSHNnYVc1a1pXNTBRMjl0YldWdWRDd2diR2x1WlVOdmJXMWxiblFzSUhOMGNtbHVaMmxtZVVOdmJXMWxiblFnZlR0Y2JpSXNJQ0pqYjI1emRDQkdUMHhFWDBaTVQxY2dQU0FuWm14dmR5YzdYRzVqYjI1emRDQkdUMHhFWDBKTVQwTkxJRDBnSjJKc2IyTnJKenRjYm1OdmJuTjBJRVpQVEVSZlVWVlBWRVZFSUQwZ0ozRjFiM1JsWkNjN1hHNHZLaXBjYmlBcUlGUnlhV1Z6SUhSdklHdGxaWEFnYVc1d2RYUWdZWFFnZFhBZ2RHOGdZR3hwYm1WWGFXUjBhR0FnWTJoaGNtRmpkR1Z5Y3l3Z2MzQnNhWFIwYVc1bklHOXViSGtnYjI0Z2MzQmhZMlZ6WEc0Z0tpQnViM1FnWm05c2JHOTNaV1FnWW5rZ2JtVjNiR2x1WlhNZ2IzSWdjM0JoWTJWeklIVnViR1Z6Y3lCZ2JXOWtaV0FnYVhNZ1lDZHhkVzkwWldRbllDNGdUR2x1WlhNZ1lYSmxYRzRnS2lCMFpYSnRhVzVoZEdWa0lIZHBkR2dnWUZ4Y2JtQWdZVzVrSUhOMFlYSjBaV1FnZDJsMGFDQmdhVzVrWlc1MFlDNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z1ptOXNaRVpzYjNkTWFXNWxjeWgwWlhoMExDQnBibVJsYm5Rc0lHMXZaR1VnUFNBblpteHZkeWNzSUhzZ2FXNWtaVzUwUVhSVGRHRnlkQ3dnYkdsdVpWZHBaSFJvSUQwZ09EQXNJRzFwYmtOdmJuUmxiblJYYVdSMGFDQTlJREl3TENCdmJrWnZiR1FzSUc5dVQzWmxjbVpzYjNjZ2ZTQTlJSHQ5S1NCN1hHNGdJQ0FnYVdZZ0tDRnNhVzVsVjJsa2RHZ2dmSHdnYkdsdVpWZHBaSFJvSUR3Z01DbGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUmxlSFE3WEc0Z0lDQWdhV1lnS0d4cGJtVlhhV1IwYUNBOElHMXBia052Ym5SbGJuUlhhV1IwYUNsY2JpQWdJQ0FnSUNBZ2JXbHVRMjl1ZEdWdWRGZHBaSFJvSUQwZ01EdGNiaUFnSUNCamIyNXpkQ0JsYm1SVGRHVndJRDBnVFdGMGFDNXRZWGdvTVNBcklHMXBia052Ym5SbGJuUlhhV1IwYUN3Z01TQXJJR3hwYm1WWGFXUjBhQ0F0SUdsdVpHVnVkQzVzWlc1bmRHZ3BPMXh1SUNBZ0lHbG1JQ2gwWlhoMExteGxibWQwYUNBOFBTQmxibVJUZEdWd0tWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHVjRkRHRjYmlBZ0lDQmpiMjV6ZENCbWIyeGtjeUE5SUZ0ZE8xeHVJQ0FnSUdOdmJuTjBJR1Z6WTJGd1pXUkdiMnhrY3lBOUlIdDlPMXh1SUNBZ0lHeGxkQ0JsYm1RZ1BTQnNhVzVsVjJsa2RHZ2dMU0JwYm1SbGJuUXViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FXNWtaVzUwUVhSVGRHRnlkQ0E5UFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dsdVpHVnVkRUYwVTNSaGNuUWdQaUJzYVc1bFYybGtkR2dnTFNCTllYUm9MbTFoZUNneUxDQnRhVzVEYjI1MFpXNTBWMmxrZEdncEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05c1pITXVjSFZ6YUNnd0tUdGNiaUFnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaVzVrSUQwZ2JHbHVaVmRwWkhSb0lDMGdhVzVrWlc1MFFYUlRkR0Z5ZER0Y2JpQWdJQ0I5WEc0Z0lDQWdiR1YwSUhOd2JHbDBJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJR3hsZENCd2NtVjJJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJR3hsZENCdmRtVnlabXh2ZHlBOUlHWmhiSE5sTzF4dUlDQWdJR3hsZENCcElEMGdMVEU3WEc0Z0lDQWdiR1YwSUdWelkxTjBZWEowSUQwZ0xURTdYRzRnSUNBZ2JHVjBJR1Z6WTBWdVpDQTlJQzB4TzF4dUlDQWdJR2xtSUNodGIyUmxJRDA5UFNCR1QweEVYMEpNVDBOTEtTQjdYRzRnSUNBZ0lDQWdJR2tnUFNCamIyNXpkVzFsVFc5eVpVbHVaR1Z1ZEdWa1RHbHVaWE1vZEdWNGRDd2dhU3dnYVc1a1pXNTBMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQWdJR2xtSUNocElDRTlQU0F0TVNsY2JpQWdJQ0FnSUNBZ0lDQWdJR1Z1WkNBOUlHa2dLeUJsYm1SVGRHVndPMXh1SUNBZ0lIMWNiaUFnSUNCbWIzSWdLR3hsZENCamFEc2dLR05vSUQwZ2RHVjRkRnNvYVNBclBTQXhLVjBwT3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYlc5a1pTQTlQVDBnUms5TVJGOVJWVTlVUlVRZ0ppWWdZMmdnUFQwOUlDZGNYRnhjSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWlhOalUzUmhjblFnUFNCcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2gwWlhoMFcya2dLeUF4WFNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjNnbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwSUNzOUlETTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozVW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcElDczlJRFU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMVVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBJQ3M5SURrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2tnS3owZ01UdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR1Z6WTBWdVpDQTlJR2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLR05vSUQwOVBTQW5YRnh1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHMXZaR1VnUFQwOUlFWlBURVJmUWt4UFEwc3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0E5SUdOdmJuTjFiV1ZOYjNKbFNXNWtaVzUwWldSTWFXNWxjeWgwWlhoMExDQnBMQ0JwYm1SbGJuUXViR1Z1WjNSb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdWdVpDQTlJR2tnS3lCcGJtUmxiblF1YkdWdVozUm9JQ3NnWlc1a1UzUmxjRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITndiR2wwSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTm9JRDA5UFNBbklDY2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y21WMklDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEpsZGlBaFBUMGdKeUFuSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NISmxkaUFoUFQwZ0oxeGNiaWNnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2NtVjJJQ0U5UFNBblhGeDBKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklITndZV05sSUhOMWNuSnZkVzVrWldRZ1lua2dibTl1TFhOd1lXTmxJR05oYmlCaVpTQnlaWEJzWVdObFpDQjNhWFJvSUc1bGQyeHBibVVnS3lCcGJtUmxiblJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnVaWGgwSUQwZ2RHVjRkRnRwSUNzZ01WMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c1bGVIUWdKaVlnYm1WNGRDQWhQVDBnSnlBbklDWW1JRzVsZUhRZ0lUMDlJQ2RjWEc0bklDWW1JRzVsZUhRZ0lUMDlJQ2RjWEhRbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6Y0d4cGRDQTlJR2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hU0ErUFNCbGJtUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MzQnNhWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabTlzWkhNdWNIVnphQ2h6Y0d4cGRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWdVpDQTlJSE53YkdsMElDc2daVzVrVTNSbGNEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNCc2FYUWdQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0cxdlpHVWdQVDA5SUVaUFRFUmZVVlZQVkVWRUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklIZG9hWFJsTFhOd1lXTmxJR052Ykd4bFkzUmxaQ0JoZENCbGJtUWdiV0Y1SUhOMGNtVjBZMmdnY0dGemRDQnNhVzVsVjJsa2RHaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDJocGJHVWdLSEJ5WlhZZ1BUMDlJQ2NnSnlCOGZDQndjbVYySUQwOVBTQW5YRngwSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NISmxkaUE5SUdOb08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyZ2dQU0IwWlhoMFd5aHBJQ3M5SURFcFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOTJaWEptYkc5M0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QkJZMk52ZFc1MElHWnZjaUJ1Wlhkc2FXNWxJR1Z6WTJGd1pTd2dZblYwSUdSdmJpZDBJR0p5WldGcklIQnlaV05sWkdsdVp5QmxjMk5oY0dWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2FpQTlJR2tnUGlCbGMyTkZibVFnS3lBeElEOGdhU0F0SURJZ09pQmxjMk5UZEdGeWRDQXRJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRUpoYVd3Z2IzVjBJR2xtSUd4cGJtVlhhV1IwYUNBbUlHMXBia052Ym5SbGJuUlhhV1IwYUNCaGNtVWdjMmh2Y25SbGNpQjBhR0Z1SUdGdUlHVnpZMkZ3WlNCemRISnBibWRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1Z6WTJGd1pXUkdiMnhrYzF0cVhTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFpYaDBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbWIyeGtjeTV3ZFhOb0tHb3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGMyTmhjR1ZrUm05c1pITmJhbDBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJtUWdQU0JxSUNzZ1pXNWtVM1JsY0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM0JzYVhRZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2ZG1WeVpteHZkeUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEJ5WlhZZ1BTQmphRHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLRzkyWlhKbWJHOTNJQ1ltSUc5dVQzWmxjbVpzYjNjcFhHNGdJQ0FnSUNBZ0lHOXVUM1psY21ac2IzY29LVHRjYmlBZ0lDQnBaaUFvWm05c1pITXViR1Z1WjNSb0lEMDlQU0F3S1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdWNGREdGNiaUFnSUNCcFppQW9iMjVHYjJ4a0tWeHVJQ0FnSUNBZ0lDQnZia1p2YkdRb0tUdGNiaUFnSUNCc1pYUWdjbVZ6SUQwZ2RHVjRkQzV6YkdsalpTZ3dMQ0JtYjJ4a2Mxc3dYU2s3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JtYjJ4a2N5NXNaVzVuZEdnN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JtYjJ4a0lEMGdabTlzWkhOYmFWMDdYRzRnSUNBZ0lDQWdJR052Ym5OMElHVnVaQ0E5SUdadmJHUnpXMmtnS3lBeFhTQjhmQ0IwWlhoMExteGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR1p2YkdRZ1BUMDlJREFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE1nUFNCZ1hGeHVKSHRwYm1SbGJuUjlKSHQwWlhoMExuTnNhV05sS0RBc0lHVnVaQ2w5WUR0Y2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYlc5a1pTQTlQVDBnUms5TVJGOVJWVTlVUlVRZ0ppWWdaWE5qWVhCbFpFWnZiR1J6VzJadmJHUmRLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsY3lBclBTQmdKSHQwWlhoMFcyWnZiR1JkZlZ4Y1hGeGdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpJQ3M5SUdCY1hHNGtlMmx1WkdWdWRIMGtlM1JsZUhRdWMyeHBZMlVvWm05c1pDQXJJREVzSUdWdVpDbDlZRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1ZlZ4dUx5b3FYRzRnS2lCUWNtVnpkVzFsY3lCZ2FTQXJJREZnSUdseklHRjBJSFJvWlNCemRHRnlkQ0J2WmlCaElHeHBibVZjYmlBcUlFQnlaWFIxY201eklHbHVaR1Y0SUc5bUlHeGhjM1FnYm1WM2JHbHVaU0JwYmlCdGIzSmxMV2x1WkdWdWRHVmtJR0pzYjJOclhHNGdLaTljYm1aMWJtTjBhVzl1SUdOdmJuTjFiV1ZOYjNKbFNXNWtaVzUwWldSTWFXNWxjeWgwWlhoMExDQnBMQ0JwYm1SbGJuUXBJSHRjYmlBZ0lDQnNaWFFnWlc1a0lEMGdhVHRjYmlBZ0lDQnNaWFFnYzNSaGNuUWdQU0JwSUNzZ01UdGNiaUFnSUNCc1pYUWdZMmdnUFNCMFpYaDBXM04wWVhKMFhUdGNiaUFnSUNCM2FHbHNaU0FvWTJnZ1BUMDlJQ2NnSnlCOGZDQmphQ0E5UFQwZ0oxeGNkQ2NwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR2tnUENCemRHRnlkQ0FySUdsdVpHVnVkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMmdnUFNCMFpYaDBXeXNyYVYwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrYnlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyZ2dQU0IwWlhoMFd5c3JhVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJSGRvYVd4bElDaGphQ0FtSmlCamFDQWhQVDBnSjF4Y2JpY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXNWtJRDBnYVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMElEMGdhU0FySURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYUNBOUlIUmxlSFJiYzNSaGNuUmRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCbGJtUTdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lFWlBURVJmUWt4UFEwc3NJRVpQVEVSZlJreFBWeXdnUms5TVJGOVJWVTlVUlVRc0lHWnZiR1JHYkc5M1RHbHVaWE1nZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJUWTJGc1lYSWdmU0JtY205dElDY3VMaTl1YjJSbGN5OVRZMkZzWVhJdWFuTW5PMXh1YVcxd2IzSjBJSHNnWm05c1pFWnNiM2RNYVc1bGN5d2dSazlNUkY5UlZVOVVSVVFzSUVaUFRFUmZSa3hQVnl3Z1JrOU1SRjlDVEU5RFN5QjlJR1p5YjIwZ0p5NHZabTlzWkVac2IzZE1hVzVsY3k1cWN5YzdYRzVjYm1OdmJuTjBJR2RsZEVadmJHUlBjSFJwYjI1eklEMGdLR04wZUN3Z2FYTkNiRzlqYXlrZ1BUNGdLSHRjYmlBZ0lDQnBibVJsYm5SQmRGTjBZWEowT2lCcGMwSnNiMk5ySUQ4Z1kzUjRMbWx1WkdWdWRDNXNaVzVuZEdnZ09pQmpkSGd1YVc1a1pXNTBRWFJUZEdGeWRDeGNiaUFnSUNCc2FXNWxWMmxrZEdnNklHTjBlQzV2Y0hScGIyNXpMbXhwYm1WWGFXUjBhQ3hjYmlBZ0lDQnRhVzVEYjI1MFpXNTBWMmxrZEdnNklHTjBlQzV2Y0hScGIyNXpMbTFwYmtOdmJuUmxiblJYYVdSMGFGeHVmU2s3WEc0dkx5QkJiSE52SUdOb1pXTnJjeUJtYjNJZ2JHbHVaWE1nYzNSaGNuUnBibWNnZDJsMGFDQWxMQ0JoY3lCd1lYSnphVzVuSUhSb1pTQnZkWFJ3ZFhRZ1lYTWdXVUZOVENBeExqRWdkMmxzYkZ4dUx5OGdjSEpsYzNWdFpTQjBhR0YwSjNNZ2MzUmhjblJwYm1jZ1lTQnVaWGNnWkc5amRXMWxiblF1WEc1amIyNXpkQ0JqYjI1MFlXbHVjMFJ2WTNWdFpXNTBUV0Z5YTJWeUlEMGdLSE4wY2lrZ1BUNGdMMTRvSlh3dExTMThYRnd1WEZ3dVhGd3VLUzl0TG5SbGMzUW9jM1J5S1R0Y2JtWjFibU4wYVc5dUlHeHBibVZNWlc1bmRHaFBkbVZ5VEdsdGFYUW9jM1J5TENCc2FXNWxWMmxrZEdnc0lHbHVaR1Z1ZEV4bGJtZDBhQ2tnZTF4dUlDQWdJR2xtSUNnaGJHbHVaVmRwWkhSb0lIeDhJR3hwYm1WWGFXUjBhQ0E4SURBcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQmpiMjV6ZENCc2FXMXBkQ0E5SUd4cGJtVlhhV1IwYUNBdElHbHVaR1Z1ZEV4bGJtZDBhRHRjYmlBZ0lDQmpiMjV6ZENCemRISk1aVzRnUFNCemRISXViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaHpkSEpNWlc0Z1BEMGdiR2x0YVhRcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTUN3Z2MzUmhjblFnUFNBd095QnBJRHdnYzNSeVRHVnVPeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hOMGNsdHBYU0E5UFQwZ0oxeGNiaWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocElDMGdjM1JoY25RZ1BpQnNhVzFwZENsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMFlYSjBJRDBnYVNBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jM1J5VEdWdUlDMGdjM1JoY25RZ1BEMGdiR2x0YVhRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1pHOTFZbXhsVVhWdmRHVmtVM1J5YVc1bktIWmhiSFZsTENCamRIZ3BJSHRjYmlBZ0lDQmpiMjV6ZENCcWMyOXVJRDBnU2xOUFRpNXpkSEpwYm1kcFpua29kbUZzZFdVcE8xeHVJQ0FnSUdsbUlDaGpkSGd1YjNCMGFXOXVjeTVrYjNWaWJHVlJkVzkwWldSQmMwcFRUMDRwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJxYzI5dU8xeHVJQ0FnSUdOdmJuTjBJSHNnYVcxd2JHbGphWFJMWlhrZ2ZTQTlJR04wZUR0Y2JpQWdJQ0JqYjI1emRDQnRhVzVOZFd4MGFVeHBibVZNWlc1bmRHZ2dQU0JqZEhndWIzQjBhVzl1Y3k1a2IzVmliR1ZSZFc5MFpXUk5hVzVOZFd4MGFVeHBibVZNWlc1bmRHZzdYRzRnSUNBZ1kyOXVjM1FnYVc1a1pXNTBJRDBnWTNSNExtbHVaR1Z1ZENCOGZDQW9ZMjl1ZEdGcGJuTkViMk4xYldWdWRFMWhjbXRsY2loMllXeDFaU2tnUHlBbklDQW5JRG9nSnljcE8xeHVJQ0FnSUd4bGRDQnpkSElnUFNBbkp6dGNiaUFnSUNCc1pYUWdjM1JoY25RZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3TENCamFDQTlJR3B6YjI1YmFWMDdJR05vT3lCamFDQTlJR3B6YjI1Ykt5dHBYU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZMmdnUFQwOUlDY2dKeUFtSmlCcWMyOXVXMmtnS3lBeFhTQTlQVDBnSjF4Y1hGd25JQ1ltSUdwemIyNWJhU0FySURKZElEMDlQU0FuYmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklITndZV05sSUdKbFptOXlaU0J1Wlhkc2FXNWxJRzVsWldSeklIUnZJR0psSUdWelkyRndaV1FnZEc4Z2JtOTBJR0psSUdadmJHUmxaRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJQ3M5SUdwemIyNHVjMnhwWTJVb2MzUmhjblFzSUdrcElDc2dKMXhjWEZ3Z0p6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdrZ0t6MGdNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBZWEowSUQwZ2FUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOb0lEMGdKMXhjWEZ3bk8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNoamFDQTlQVDBnSjF4Y1hGd25LVnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNocWMyOXVXMmtnS3lBeFhTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozVW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRISWdLejBnYW5OdmJpNXpiR2xqWlNoemRHRnlkQ3dnYVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYjJSbElEMGdhbk52Ymk1emRXSnpkSElvYVNBcklESXNJRFFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2hqYjJSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5NREF3TUNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGNpQXJQU0FuWEZ4Y1hEQW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNjd01EQTNKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM1J5SUNzOUlDZGNYRnhjWVNjN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKekF3TUdJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRISWdLejBnSjF4Y1hGeDJKenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbk1EQXhZaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wY2lBclBTQW5YRnhjWEdVbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2N3TURnMUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJQ3M5SUNkY1hGeGNUaWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p6QXdZVEFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEhJZ0t6MGdKMXhjWEZ4Zkp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuTWpBeU9DYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBjaUFyUFNBblhGeGNYRXduTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDY3lNREk1SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlDczlJQ2RjWEZ4Y1VDYzdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpiMlJsTG5OMVluTjBjaWd3TENBeUtTQTlQVDBnSnpBd0p5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wY2lBclBTQW5YRnhjWEhnbklDc2dZMjlrWlM1emRXSnpkSElvTWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wY2lBclBTQnFjMjl1TG5OMVluTjBjaWhwTENBMktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHa2dLejBnTlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMFlYSjBJRDBnYVNBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYmljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGJYQnNhV05wZEV0bGVTQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhbk52Ymx0cElDc2dNbDBnUFQwOUlDZGNJaWNnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdwemIyNHViR1Z1WjNSb0lEd2diV2x1VFhWc2RHbE1hVzVsVEdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwSUNzOUlERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5Qm1iMnhrYVc1bklIZHBiR3dnWldGMElHWnBjbk4wSUc1bGQyeHBibVZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wY2lBclBTQnFjMjl1TG5Oc2FXTmxLSE4wWVhKMExDQnBLU0FySUNkY1hHNWNYRzRuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDJocGJHVWdLR3B6YjI1YmFTQXJJREpkSUQwOVBTQW5YRnhjWENjZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JxYzI5dVcya2dLeUF6WFNBOVBUMGdKMjRuSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhbk52Ymx0cElDc2dORjBnSVQwOUlDZGNJaWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkSElnS3owZ0oxeGNiaWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQXJQU0F5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlDczlJR2x1WkdWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSE53WVdObElHRm1kR1Z5SUc1bGQyeHBibVVnYm1WbFpITWdkRzhnWW1VZ1pYTmpZWEJsWkNCMGJ5QnViM1FnWW1VZ1ptOXNaR1ZrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FuTnZibHRwSUNzZ01sMGdQVDA5SUNjZ0p5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEhJZ0t6MGdKMXhjWEZ3bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQXJQU0F4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGNuUWdQU0JwSUNzZ01UdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBJQ3M5SURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lITjBjaUE5SUhOMFlYSjBJRDhnYzNSeUlDc2dhbk52Ymk1emJHbGpaU2h6ZEdGeWRDa2dPaUJxYzI5dU8xeHVJQ0FnSUhKbGRIVnliaUJwYlhCc2FXTnBkRXRsZVZ4dUlDQWdJQ0FnSUNBL0lITjBjbHh1SUNBZ0lDQWdJQ0E2SUdadmJHUkdiRzkzVEdsdVpYTW9jM1J5TENCcGJtUmxiblFzSUVaUFRFUmZVVlZQVkVWRUxDQm5aWFJHYjJ4a1QzQjBhVzl1Y3loamRIZ3NJR1poYkhObEtTazdYRzU5WEc1bWRXNWpkR2x2YmlCemFXNW5iR1ZSZFc5MFpXUlRkSEpwYm1jb2RtRnNkV1VzSUdOMGVDa2dlMXh1SUNBZ0lHbG1JQ2hqZEhndWIzQjBhVzl1Y3k1emFXNW5iR1ZSZFc5MFpTQTlQVDBnWm1Gc2MyVWdmSHhjYmlBZ0lDQWdJQ0FnS0dOMGVDNXBiWEJzYVdOcGRFdGxlU0FtSmlCMllXeDFaUzVwYm1Oc2RXUmxjeWduWEZ4dUp5a3BJSHg4WEc0Z0lDQWdJQ0FnSUM5YklGeGNkRjFjWEc1OFhGeHVXeUJjWEhSZEx5NTBaWE4wS0haaGJIVmxLU0F2THlCemFXNW5iR1VnY1hWdmRHVmtJSE4wY21sdVp5QmpZVzRuZENCb1lYWmxJR3hsWVdScGJtY2diM0lnZEhKaGFXeHBibWNnZDJocGRHVnpjR0ZqWlNCaGNtOTFibVFnYm1WM2JHbHVaVnh1SUNBZ0lDbGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUnZkV0pzWlZGMWIzUmxaRk4wY21sdVp5aDJZV3gxWlN3Z1kzUjRLVHRjYmlBZ0lDQmpiMjV6ZENCcGJtUmxiblFnUFNCamRIZ3VhVzVrWlc1MElIeDhJQ2hqYjI1MFlXbHVjMFJ2WTNWdFpXNTBUV0Z5YTJWeUtIWmhiSFZsS1NBL0lDY2dJQ2NnT2lBbkp5azdYRzRnSUNBZ1kyOXVjM1FnY21WeklEMGdYQ0luWENJZ0t5QjJZV3gxWlM1eVpYQnNZV05sS0M4bkwyY3NJRndpSnlkY0lpa3VjbVZ3YkdGalpTZ3ZYRnh1S3k5bkxDQmdKQ1pjWEc0a2UybHVaR1Z1ZEgxZ0tTQXJJRndpSjF3aU8xeHVJQ0FnSUhKbGRIVnliaUJqZEhndWFXMXdiR2xqYVhSTFpYbGNiaUFnSUNBZ0lDQWdQeUJ5WlhOY2JpQWdJQ0FnSUNBZ09pQm1iMnhrUm14dmQweHBibVZ6S0hKbGN5d2dhVzVrWlc1MExDQkdUMHhFWDBaTVQxY3NJR2RsZEVadmJHUlBjSFJwYjI1ektHTjBlQ3dnWm1Gc2MyVXBLVHRjYm4xY2JtWjFibU4wYVc5dUlIRjFiM1JsWkZOMGNtbHVaeWgyWVd4MVpTd2dZM1I0S1NCN1hHNGdJQ0FnWTI5dWMzUWdleUJ6YVc1bmJHVlJkVzkwWlNCOUlEMGdZM1I0TG05d2RHbHZibk03WEc0Z0lDQWdiR1YwSUhGek8xeHVJQ0FnSUdsbUlDaHphVzVuYkdWUmRXOTBaU0E5UFQwZ1ptRnNjMlVwWEc0Z0lDQWdJQ0FnSUhGeklEMGdaRzkxWW14bFVYVnZkR1ZrVTNSeWFXNW5PMXh1SUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JvWVhORWIzVmliR1VnUFNCMllXeDFaUzVwYm1Oc2RXUmxjeWduWENJbktUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FHRnpVMmx1WjJ4bElEMGdkbUZzZFdVdWFXNWpiSFZrWlhNb1hDSW5YQ0lwTzF4dUlDQWdJQ0FnSUNCcFppQW9hR0Z6Ukc5MVlteGxJQ1ltSUNGb1lYTlRhVzVuYkdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J4Y3lBOUlITnBibWRzWlZGMWIzUmxaRk4wY21sdVp6dGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9hR0Z6VTJsdVoyeGxJQ1ltSUNGb1lYTkViM1ZpYkdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J4Y3lBOUlHUnZkV0pzWlZGMWIzUmxaRk4wY21sdVp6dGNiaUFnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdjWE1nUFNCemFXNW5iR1ZSZFc5MFpTQS9JSE5wYm1kc1pWRjFiM1JsWkZOMGNtbHVaeUE2SUdSdmRXSnNaVkYxYjNSbFpGTjBjbWx1Wnp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIRnpLSFpoYkhWbExDQmpkSGdwTzF4dWZWeHVMeThnVkdobElHNWxaMkYwYVhabElHeHZiMnRpWldocGJtUWdZWFp2YVdSeklHRWdjRzlzZVc1dmJXbGhiQ0J6WldGeVkyZ3NYRzR2THlCaWRYUWdhWE51SjNRZ2MzVndjRzl5ZEdWa0lIbGxkQ0J2YmlCVFlXWmhjbWs2SUdoMGRIQnpPaTh2WTJGdWFYVnpaUzVqYjIwdmFuTXRjbVZuWlhod0xXeHZiMnRpWldocGJtUmNibXhsZENCaWJHOWphMFZ1WkU1bGQyeHBibVZ6TzF4dWRISjVJSHRjYmlBZ0lDQmliRzlqYTBWdVpFNWxkMnhwYm1WeklEMGdibVYzSUZKbFowVjRjQ2duS0Y1OEtEODhJVnhjYmlrcFhGeHVLeWcvSVZ4Y2Jud2tLU2NzSUNkbkp5azdYRzU5WEc1allYUmphQ0I3WEc0Z0lDQWdZbXh2WTJ0RmJtUk9aWGRzYVc1bGN5QTlJQzljWEc0cktEOGhYRnh1ZkNRcEwyYzdYRzU5WEc1bWRXNWpkR2x2YmlCaWJHOWphMU4wY21sdVp5aDdJR052YlcxbGJuUXNJSFI1Y0dVc0lIWmhiSFZsSUgwc0lHTjBlQ3dnYjI1RGIyMXRaVzUwTENCdmJrTm9iMjF3UzJWbGNDa2dlMXh1SUNBZ0lHTnZibk4wSUhzZ1lteHZZMnRSZFc5MFpTd2dZMjl0YldWdWRGTjBjbWx1Wnl3Z2JHbHVaVmRwWkhSb0lIMGdQU0JqZEhndWIzQjBhVzl1Y3p0Y2JpQWdJQ0F2THlBeExpQkNiRzlqYXlCallXNG5kQ0JsYm1RZ2FXNGdkMmhwZEdWemNHRmpaU0IxYm14bGMzTWdkR2hsSUd4aGMzUWdiR2x1WlNCcGN5QnViMjR0Wlcxd2RIa3VYRzRnSUNBZ0x5OGdNaTRnVTNSeWFXNW5jeUJqYjI1emFYTjBhVzVuSUc5bUlHOXViSGtnZDJocGRHVnpjR0ZqWlNCaGNtVWdZbVZ6ZENCeVpXNWtaWEpsWkNCbGVIQnNhV05wZEd4NUxseHVJQ0FnSUdsbUlDZ2hZbXh2WTJ0UmRXOTBaU0I4ZkNBdlhGeHVXMXhjZENCZEt5UXZMblJsYzNRb2RtRnNkV1VwSUh4OElDOWVYRnh6S2lRdkxuUmxjM1FvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ4ZFc5MFpXUlRkSEpwYm1jb2RtRnNkV1VzSUdOMGVDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBJR2x1WkdWdWRDQTlJR04wZUM1cGJtUmxiblFnZkh4Y2JpQWdJQ0FnSUNBZ0tHTjBlQzVtYjNKalpVSnNiMk5yU1c1a1pXNTBJSHg4SUdOdmJuUmhhVzV6Ukc5amRXMWxiblJOWVhKclpYSW9kbUZzZFdVcElEOGdKeUFnSnlBNklDY25LVHRjYmlBZ0lDQmpiMjV6ZENCc2FYUmxjbUZzSUQwZ1lteHZZMnRSZFc5MFpTQTlQVDBnSjJ4cGRHVnlZV3duWEc0Z0lDQWdJQ0FnSUQ4Z2RISjFaVnh1SUNBZ0lDQWdJQ0E2SUdKc2IyTnJVWFZ2ZEdVZ1BUMDlJQ2RtYjJ4a1pXUW5JSHg4SUhSNWNHVWdQVDA5SUZOallXeGhjaTVDVEU5RFMxOUdUMHhFUlVSY2JpQWdJQ0FnSUNBZ0lDQWdJRDhnWm1Gc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSURvZ2RIbHdaU0E5UFQwZ1UyTmhiR0Z5TGtKTVQwTkxYMHhKVkVWU1FVeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JSFJ5ZFdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklDRnNhVzVsVEdWdVozUm9UM1psY2t4cGJXbDBLSFpoYkhWbExDQnNhVzVsVjJsa2RHZ3NJR2x1WkdWdWRDNXNaVzVuZEdncE8xeHVJQ0FnSUdsbUlDZ2hkbUZzZFdVcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCc2FYUmxjbUZzSUQ4Z0ozeGNYRzRuSURvZ0p6NWNYRzRuTzF4dUlDQWdJQzh2SUdSbGRHVnliV2x1WlNCamFHOXRjR2x1WnlCbWNtOXRJSGRvYVhSbGMzQmhZMlVnWVhRZ2RtRnNkV1VnWlc1a1hHNGdJQ0FnYkdWMElHTm9iMjF3TzF4dUlDQWdJR3hsZENCbGJtUlRkR0Z5ZER0Y2JpQWdJQ0JtYjNJZ0tHVnVaRk4wWVhKMElEMGdkbUZzZFdVdWJHVnVaM1JvT3lCbGJtUlRkR0Z5ZENBK0lEQTdJQzB0Wlc1a1UzUmhjblFwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTJnZ1BTQjJZV3gxWlZ0bGJtUlRkR0Z5ZENBdElERmRPMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyZ2dJVDA5SUNkY1hHNG5JQ1ltSUdOb0lDRTlQU0FuWEZ4MEp5QW1KaUJqYUNBaFBUMGdKeUFuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dUlDQWdJR3hsZENCbGJtUWdQU0IyWVd4MVpTNXpkV0p6ZEhKcGJtY29aVzVrVTNSaGNuUXBPMXh1SUNBZ0lHTnZibk4wSUdWdVpFNXNVRzl6SUQwZ1pXNWtMbWx1WkdWNFQyWW9KMXhjYmljcE8xeHVJQ0FnSUdsbUlDaGxibVJPYkZCdmN5QTlQVDBnTFRFcElIdGNiaUFnSUNBZ0lDQWdZMmh2YlhBZ1BTQW5MU2M3SUM4dklITjBjbWx3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnYVdZZ0tIWmhiSFZsSUQwOVBTQmxibVFnZkh3Z1pXNWtUbXhRYjNNZ0lUMDlJR1Z1WkM1c1pXNW5kR2dnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJR05vYjIxd0lEMGdKeXNuT3lBdkx5QnJaV1Z3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZia05vYjIxd1MyVmxjQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXVRMmh2YlhCTFpXVndLQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCamFHOXRjQ0E5SUNjbk95QXZMeUJqYkdsd1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNobGJtUXBJSHRjYmlBZ0lDQWdJQ0FnZG1Gc2RXVWdQU0IyWVd4MVpTNXpiR2xqWlNnd0xDQXRaVzVrTG14bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaGxibVJiWlc1a0xteGxibWQwYUNBdElERmRJRDA5UFNBblhGeHVKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnVaQ0E5SUdWdVpDNXpiR2xqWlNnd0xDQXRNU2s3WEc0Z0lDQWdJQ0FnSUdWdVpDQTlJR1Z1WkM1eVpYQnNZV05sS0dKc2IyTnJSVzVrVG1WM2JHbHVaWE1zSUdBa0ppUjdhVzVrWlc1MGZXQXBPMXh1SUNBZ0lIMWNiaUFnSUNBdkx5QmtaWFJsY20xcGJtVWdhVzVrWlc1MElHbHVaR2xqWVhSdmNpQm1jbTl0SUhkb2FYUmxjM0JoWTJVZ1lYUWdkbUZzZFdVZ2MzUmhjblJjYmlBZ0lDQnNaWFFnYzNSaGNuUlhhWFJvVTNCaFkyVWdQU0JtWVd4elpUdGNiaUFnSUNCc1pYUWdjM1JoY25SRmJtUTdYRzRnSUNBZ2JHVjBJSE4wWVhKMFRteFFiM01nUFNBdE1UdGNiaUFnSUNCbWIzSWdLSE4wWVhKMFJXNWtJRDBnTURzZ2MzUmhjblJGYm1RZ1BDQjJZV3gxWlM1c1pXNW5kR2c3SUNzcmMzUmhjblJGYm1RcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kyZ2dQU0IyWVd4MVpWdHpkR0Z5ZEVWdVpGMDdYRzRnSUNBZ0lDQWdJR2xtSUNoamFDQTlQVDBnSnlBbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGNuUlhhWFJvVTNCaFkyVWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGphQ0E5UFQwZ0oxeGNiaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkR0Z5ZEU1c1VHOXpJRDBnYzNSaGNuUkZibVE3WEc0Z0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCc1pYUWdjM1JoY25RZ1BTQjJZV3gxWlM1emRXSnpkSEpwYm1jb01Dd2djM1JoY25ST2JGQnZjeUE4SUhOMFlYSjBSVzVrSUQ4Z2MzUmhjblJPYkZCdmN5QXJJREVnT2lCemRHRnlkRVZ1WkNrN1hHNGdJQ0FnYVdZZ0tITjBZWEowS1NCN1hHNGdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2RtRnNkV1V1YzNWaWMzUnlhVzVuS0hOMFlYSjBMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQWdJSE4wWVhKMElEMGdjM1JoY25RdWNtVndiR0ZqWlNndlhGeHVLeTluTENCZ0pDWWtlMmx1WkdWdWRIMWdLVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnYVc1a1pXNTBVMmw2WlNBOUlHbHVaR1Z1ZENBL0lDY3lKeUE2SUNjeEp6c2dMeThnY205dmRDQnBjeUJoZENBdE1WeHVJQ0FnSUd4bGRDQm9aV0ZrWlhJZ1BTQW9iR2wwWlhKaGJDQS9JQ2Q4SnlBNklDYytKeWtnS3lBb2MzUmhjblJYYVhSb1UzQmhZMlVnUHlCcGJtUmxiblJUYVhwbElEb2dKeWNwSUNzZ1kyaHZiWEE3WEc0Z0lDQWdhV1lnS0dOdmJXMWxiblFwSUh0Y2JpQWdJQ0FnSUNBZ2FHVmhaR1Z5SUNzOUlDY2dKeUFySUdOdmJXMWxiblJUZEhKcGJtY29ZMjl0YldWdWRDNXlaWEJzWVdObEtDOGdQMXRjWEhKY1hHNWRLeTluTENBbklDY3BLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHOXVRMjl0YldWdWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVEyOXRiV1Z1ZENncE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2JHbDBaWEpoYkNrZ2UxeHVJQ0FnSUNBZ0lDQjJZV3gxWlNBOUlIWmhiSFZsTG5KbGNHeGhZMlVvTDF4Y2Jpc3ZaeXdnWUNRbUpIdHBibVJsYm5SOVlDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmdKSHRvWldGa1pYSjlYRnh1Skh0cGJtUmxiblI5Skh0emRHRnlkSDBrZTNaaGJIVmxmU1I3Wlc1a2ZXQTdYRzRnSUNBZ2ZWeHVJQ0FnSUhaaGJIVmxJRDBnZG1Gc2RXVmNiaUFnSUNBZ0lDQWdMbkpsY0d4aFkyVW9MMXhjYmlzdlp5d2dKMXhjYmlRbUp5bGNiaUFnSUNBZ0lDQWdMbkpsY0d4aFkyVW9MeWcvT2w1OFhGeHVLU2hiWEZ4MElGMHVLaWtvUHpvb1cxeGNibHhjZENCZEtpbGNYRzRvUHlGYlhGeHVYRngwSUYwcEtUOHZaeXdnSnlReEpESW5LU0F2THlCdGIzSmxMV2x1WkdWdWRHVmtJR3hwYm1WeklHRnlaVzRuZENCbWIyeGtaV1JjYmlBZ0lDQWdJQ0FnTHk4Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWGlCdGIzSmxMV2x1WkM0Z1hpQmxiWEIwZVNBZ0lDQWdYaUJqWVhCMGRYSmxJRzVsZUhRZ1pXMXdkSGtnYkdsdVpYTWdiMjVzZVNCaGRDQmxibVFnYjJZZ2FXNWtaVzUwWEc0Z0lDQWdJQ0FnSUM1eVpYQnNZV05sS0M5Y1hHNHJMMmNzSUdBa0ppUjdhVzVrWlc1MGZXQXBPMXh1SUNBZ0lHTnZibk4wSUdKdlpIa2dQU0JtYjJ4a1JteHZkMHhwYm1WektHQWtlM04wWVhKMGZTUjdkbUZzZFdWOUpIdGxibVI5WUN3Z2FXNWtaVzUwTENCR1QweEVYMEpNVDBOTExDQm5aWFJHYjJ4a1QzQjBhVzl1Y3loamRIZ3NJSFJ5ZFdVcEtUdGNiaUFnSUNCeVpYUjFjbTRnWUNSN2FHVmhaR1Z5ZlZ4Y2JpUjdhVzVrWlc1MGZTUjdZbTlrZVgxZ08xeHVmVnh1Wm5WdVkzUnBiMjRnY0d4aGFXNVRkSEpwYm1jb2FYUmxiU3dnWTNSNExDQnZia052YlcxbGJuUXNJRzl1UTJodmJYQkxaV1Z3S1NCN1hHNGdJQ0FnWTI5dWMzUWdleUIwZVhCbExDQjJZV3gxWlNCOUlEMGdhWFJsYlR0Y2JpQWdJQ0JqYjI1emRDQjdJR0ZqZEhWaGJGTjBjbWx1Wnl3Z2FXMXdiR2xqYVhSTFpYa3NJR2x1WkdWdWRDd2dhVzVrWlc1MFUzUmxjQ3dnYVc1R2JHOTNJSDBnUFNCamRIZzdYRzRnSUNBZ2FXWWdLQ2hwYlhCc2FXTnBkRXRsZVNBbUppQjJZV3gxWlM1cGJtTnNkV1JsY3lnblhGeHVKeWtwSUh4OFhHNGdJQ0FnSUNBZ0lDaHBia1pzYjNjZ0ppWWdMMXRiWEZ4ZGUzMHNYUzh1ZEdWemRDaDJZV3gxWlNrcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnhkVzkwWldSVGRISnBibWNvZG1Gc2RXVXNJR04wZUNrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnaGRtRnNkV1VnZkh4Y2JpQWdJQ0FnSUNBZ0wxNWJYRnh1WEZ4MElDeGJYRnhkZTMwakppb2hmRDRuWENJbFFHQmRmRjViUHkxZEpIeGVXejh0WFZzZ1hGeDBYWHhiWEZ4dU9sMWJJRnhjZEYxOFd5QmNYSFJkWEZ4dWZGdGNYRzVjWEhRZ1hTTjhXMXhjYmx4Y2RDQTZYU1F2TG5SbGMzUW9kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUc1dmRDQmhiR3h2ZDJWa09seHVJQ0FnSUNBZ0lDQXZMeUF0SUdWdGNIUjVJSE4wY21sdVp5d2dKeTBuSUc5eUlDYy9KMXh1SUNBZ0lDQWdJQ0F2THlBdElITjBZWEowSUhkcGRHZ2dZVzRnYVc1a2FXTmhkRzl5SUdOb1lYSmhZM1JsY2lBb1pYaGpaWEIwSUZzL09pMWRLU0J2Y2lBdld6OHRYU0F2WEc0Z0lDQWdJQ0FnSUM4dklDMGdKMXhjYmlBbkxDQW5PaUFuSUc5eUlDY2dYRnh1SnlCaGJubDNhR1Z5WlZ4dUlDQWdJQ0FnSUNBdkx5QXRJQ2NqSnlCdWIzUWdjSEpsWTJWa1pXUWdZbmtnWVNCdWIyNHRjM0JoWTJVZ1kyaGhjbHh1SUNBZ0lDQWdJQ0F2THlBdElHVnVaQ0IzYVhSb0lDY2dKeUJ2Y2lBbk9pZGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHbHRjR3hwWTJsMFMyVjVJSHg4SUdsdVJteHZkeUI4ZkNBaGRtRnNkV1V1YVc1amJIVmtaWE1vSjF4Y2JpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lIRjFiM1JsWkZOMGNtbHVaeWgyWVd4MVpTd2dZM1I0S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdPaUJpYkc5amExTjBjbWx1WnlocGRHVnRMQ0JqZEhnc0lHOXVRMjl0YldWdWRDd2diMjVEYUc5dGNFdGxaWEFwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvSVdsdGNHeHBZMmwwUzJWNUlDWW1YRzRnSUNBZ0lDQWdJQ0ZwYmtac2IzY2dKaVpjYmlBZ0lDQWdJQ0FnZEhsd1pTQWhQVDBnVTJOaGJHRnlMbEJNUVVsT0lDWW1YRzRnSUNBZ0lDQWdJSFpoYkhWbExtbHVZMngxWkdWektDZGNYRzRuS1NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJYYUdWeVpTQmhiR3h2ZDJWa0lDWWdkSGx3WlNCdWIzUWdjMlYwSUdWNGNHeHBZMmwwYkhrc0lIQnlaV1psY2lCaWJHOWpheUJ6ZEhsc1pTQm1iM0lnYlhWc2RHbHNhVzVsSUhOMGNtbHVaM05jYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR0pzYjJOclUzUnlhVzVuS0dsMFpXMHNJR04wZUN3Z2IyNURiMjF0Wlc1MExDQnZia05vYjIxd1MyVmxjQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hqYjI1MFlXbHVjMFJ2WTNWdFpXNTBUV0Z5YTJWeUtIWmhiSFZsS1NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVc1a1pXNTBJRDA5UFNBbkp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kzUjRMbVp2Y21ObFFteHZZMnRKYm1SbGJuUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0pzYjJOclUzUnlhVzVuS0dsMFpXMHNJR04wZUN3Z2IyNURiMjF0Wlc1MExDQnZia05vYjIxd1MyVmxjQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FXMXdiR2xqYVhSTFpYa2dKaVlnYVc1a1pXNTBJRDA5UFNCcGJtUmxiblJUZEdWd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY1hWdmRHVmtVM1J5YVc1bktIWmhiSFZsTENCamRIZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUhOMGNpQTlJSFpoYkhWbExuSmxjR3hoWTJVb0wxeGNiaXN2Wnl3Z1lDUW1YRnh1Skh0cGJtUmxiblI5WUNrN1hHNGdJQ0FnTHk4Z1ZtVnlhV1o1SUhSb1lYUWdiM1YwY0hWMElIZHBiR3dnWW1VZ2NHRnljMlZrSUdGeklHRWdjM1J5YVc1bkxDQmhjeUJsTG1jdUlIQnNZV2x1SUc1MWJXSmxjbk1nWVc1a1hHNGdJQ0FnTHk4Z1ltOXZiR1ZoYm5NZ1oyVjBJSEJoY25ObFpDQjNhWFJvSUhSb2IzTmxJSFI1Y0dWeklHbHVJSFl4TGpJZ0tHVXVaeTRnSnpReUp5d2dKM1J5ZFdVbklDWWdKekF1T1dVdE15Y3BMRnh1SUNBZ0lDOHZJR0Z1WkNCdmRHaGxjbk1nYVc0Z2RqRXVNUzVjYmlBZ0lDQnBaaUFvWVdOMGRXRnNVM1J5YVc1bktTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElIUmxjM1FnUFNBb2RHRm5LU0E5UGlCMFlXY3VaR1ZtWVhWc2RDQW1KaUIwWVdjdWRHRm5JQ0U5UFNBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNmMzUnlKeUFtSmlCMFlXY3VkR1Z6ZEQ4dWRHVnpkQ2h6ZEhJcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lHTnZiWEJoZEN3Z2RHRm5jeUI5SUQwZ1kzUjRMbVJ2WXk1elkyaGxiV0U3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBZV2R6TG5OdmJXVW9kR1Z6ZENrZ2ZId2dZMjl0Y0dGMFB5NXpiMjFsS0hSbGMzUXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhGMWIzUmxaRk4wY21sdVp5aDJZV3gxWlN3Z1kzUjRLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdsdGNHeHBZMmwwUzJWNVhHNGdJQ0FnSUNBZ0lEOGdjM1J5WEc0Z0lDQWdJQ0FnSURvZ1ptOXNaRVpzYjNkTWFXNWxjeWh6ZEhJc0lHbHVaR1Z1ZEN3Z1JrOU1SRjlHVEU5WExDQm5aWFJHYjJ4a1QzQjBhVzl1Y3loamRIZ3NJR1poYkhObEtTazdYRzU5WEc1bWRXNWpkR2x2YmlCemRISnBibWRwWm5sVGRISnBibWNvYVhSbGJTd2dZM1I0TENCdmJrTnZiVzFsYm5Rc0lHOXVRMmh2YlhCTFpXVndLU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnBiWEJzYVdOcGRFdGxlU3dnYVc1R2JHOTNJSDBnUFNCamRIZzdYRzRnSUNBZ1kyOXVjM1FnYzNNZ1BTQjBlWEJsYjJZZ2FYUmxiUzUyWVd4MVpTQTlQVDBnSjNOMGNtbHVaeWRjYmlBZ0lDQWdJQ0FnUHlCcGRHVnRYRzRnSUNBZ0lDQWdJRG9nVDJKcVpXTjBMbUZ6YzJsbmJpaDdmU3dnYVhSbGJTd2dleUIyWVd4MVpUb2dVM1J5YVc1bktHbDBaVzB1ZG1Gc2RXVXBJSDBwTzF4dUlDQWdJR3hsZENCN0lIUjVjR1VnZlNBOUlHbDBaVzA3WEc0Z0lDQWdhV1lnS0hSNWNHVWdJVDA5SUZOallXeGhjaTVSVlU5VVJWOUVUMVZDVEVVcElIdGNiaUFnSUNBZ0lDQWdMeThnWm05eVkyVWdaRzkxWW14bElIRjFiM1JsY3lCdmJpQmpiMjUwY205c0lHTm9ZWEpoWTNSbGNuTWdKaUIxYm5CaGFYSmxaQ0J6ZFhKeWIyZGhkR1Z6WEc0Z0lDQWdJQ0FnSUdsbUlDZ3ZXMXhjZURBd0xWeGNlREE0WEZ4NE1HSXRYRng0TVdaY1hIZzNaaTFjWEhnNVpseGNkWHRFT0RBd2ZTMWNYSFY3UkVaR1JuMWRMM1V1ZEdWemRDaHpjeTUyWVd4MVpTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxJRDBnVTJOaGJHRnlMbEZWVDFSRlgwUlBWVUpNUlR0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ1gzTjBjbWx1WjJsbWVTQTlJQ2hmZEhsd1pTa2dQVDRnZTF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0Y5MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZOallXeGhjaTVDVEU5RFMxOUdUMHhFUlVRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGTmpZV3hoY2k1Q1RFOURTMTlNU1ZSRlVrRk1PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiWEJzYVdOcGRFdGxlU0I4ZkNCcGJrWnNiM2RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1B5QnhkVzkwWldSVGRISnBibWNvYzNNdWRtRnNkV1VzSUdOMGVDa2dMeThnWW14dlkydHpJR0Z5WlNCdWIzUWdkbUZzYVdRZ2FXNXphV1JsSUdac2IzY2dZMjl1ZEdGcGJtVnljMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklHSnNiMk5yVTNSeWFXNW5LSE56TENCamRIZ3NJRzl1UTI5dGJXVnVkQ3dnYjI1RGFHOXRjRXRsWlhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQlRZMkZzWVhJdVVWVlBWRVZmUkU5VlFreEZPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtiM1ZpYkdWUmRXOTBaV1JUZEhKcGJtY29jM011ZG1Gc2RXVXNJR04wZUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGTmpZV3hoY2k1UlZVOVVSVjlUU1U1SFRFVTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITnBibWRzWlZGMWIzUmxaRk4wY21sdVp5aHpjeTUyWVd4MVpTd2dZM1I0S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1UyTmhiR0Z5TGxCTVFVbE9PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQndiR0ZwYmxOMGNtbHVaeWh6Y3l3Z1kzUjRMQ0J2YmtOdmJXMWxiblFzSUc5dVEyaHZiWEJMWldWd0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOU8xeHVJQ0FnSUd4bGRDQnlaWE1nUFNCZmMzUnlhVzVuYVdaNUtIUjVjR1VwTzF4dUlDQWdJR2xtSUNoeVpYTWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdleUJrWldaaGRXeDBTMlY1Vkhsd1pTd2daR1ZtWVhWc2RGTjBjbWx1WjFSNWNHVWdmU0E5SUdOMGVDNXZjSFJwYjI1ek8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMElEMGdLR2x0Y0d4cFkybDBTMlY1SUNZbUlHUmxabUYxYkhSTFpYbFVlWEJsS1NCOGZDQmtaV1poZFd4MFUzUnlhVzVuVkhsd1pUdGNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ1gzTjBjbWx1WjJsbWVTaDBLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjeUE5UFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loZ1ZXNXpkWEJ3YjNKMFpXUWdaR1ZtWVhWc2RDQnpkSEpwYm1jZ2RIbHdaU0FrZTNSOVlDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUhOMGNtbHVaMmxtZVZOMGNtbHVaeUI5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJR0Z1WTJodmNrbHpWbUZzYVdRZ2ZTQm1jbTl0SUNjdUxpOWtiMk12WVc1amFHOXljeTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnBjMUJoYVhJc0lHbHpRV3hwWVhNc0lHbHpUbTlrWlN3Z2FYTlRZMkZzWVhJc0lHbHpRMjlzYkdWamRHbHZiaUI5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMmxrWlc1MGFYUjVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lITjBjbWx1WjJsbWVVTnZiVzFsYm5RZ2ZTQm1jbTl0SUNjdUwzTjBjbWx1WjJsbWVVTnZiVzFsYm5RdWFuTW5PMXh1YVcxd2IzSjBJSHNnYzNSeWFXNW5hV1o1VTNSeWFXNW5JSDBnWm5KdmJTQW5MaTl6ZEhKcGJtZHBabmxUZEhKcGJtY3Vhbk1uTzF4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWVGRISnBibWRwWm5sRGIyNTBaWGgwS0dSdll5d2diM0IwYVc5dWN5a2dlMXh1SUNBZ0lHTnZibk4wSUc5d2RDQTlJRTlpYW1WamRDNWhjM05wWjI0b2UxeHVJQ0FnSUNBZ0lDQmliRzlqYTFGMWIzUmxPaUIwY25WbExGeHVJQ0FnSUNBZ0lDQmpiMjF0Wlc1MFUzUnlhVzVuT2lCemRISnBibWRwWm5sRGIyMXRaVzUwTEZ4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwUzJWNVZIbHdaVG9nYm5Wc2JDeGNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2RGTjBjbWx1WjFSNWNHVTZJQ2RRVEVGSlRpY3NYRzRnSUNBZ0lDQWdJR1JwY21WamRHbDJaWE02SUc1MWJHd3NYRzRnSUNBZ0lDQWdJR1J2ZFdKc1pWRjFiM1JsWkVGelNsTlBUam9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJR1J2ZFdKc1pWRjFiM1JsWkUxcGJrMTFiSFJwVEdsdVpVeGxibWQwYURvZ05EQXNYRzRnSUNBZ0lDQWdJR1poYkhObFUzUnlPaUFuWm1Gc2MyVW5MRnh1SUNBZ0lDQWdJQ0JtYkc5M1EyOXNiR1ZqZEdsdmJsQmhaR1JwYm1jNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUdsdVpHVnVkRk5sY1RvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnYkdsdVpWZHBaSFJvT2lBNE1DeGNiaUFnSUNBZ0lDQWdiV2x1UTI5dWRHVnVkRmRwWkhSb09pQXlNQ3hjYmlBZ0lDQWdJQ0FnYm5Wc2JGTjBjam9nSjI1MWJHd25MRnh1SUNBZ0lDQWdJQ0J6YVcxd2JHVkxaWGx6T2lCbVlXeHpaU3hjYmlBZ0lDQWdJQ0FnYzJsdVoyeGxVWFZ2ZEdVNklHNTFiR3dzWEc0Z0lDQWdJQ0FnSUhSeWRXVlRkSEk2SUNkMGNuVmxKeXhjYmlBZ0lDQWdJQ0FnZG1WeWFXWjVRV3hwWVhOUGNtUmxjam9nZEhKMVpWeHVJQ0FnSUgwc0lHUnZZeTV6WTJobGJXRXVkRzlUZEhKcGJtZFBjSFJwYjI1ekxDQnZjSFJwYjI1ektUdGNiaUFnSUNCc1pYUWdhVzVHYkc5M08xeHVJQ0FnSUhOM2FYUmphQ0FvYjNCMExtTnZiR3hsWTNScGIyNVRkSGxzWlNrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUNkaWJHOWpheWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBia1pzYjNjZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNkbWJHOTNKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVSbXh2ZHlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJR2x1Um14dmR5QTlJRzUxYkd3N1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR0Z1WTJodmNuTTZJRzVsZHlCVFpYUW9LU3hjYmlBZ0lDQWdJQ0FnWkc5akxGeHVJQ0FnSUNBZ0lDQm1iRzkzUTI5c2JHVmpkR2x2YmxCaFpHUnBibWM2SUc5d2RDNW1iRzkzUTI5c2JHVmpkR2x2YmxCaFpHUnBibWNnUHlBbklDY2dPaUFuSnl4Y2JpQWdJQ0FnSUNBZ2FXNWtaVzUwT2lBbkp5eGNiaUFnSUNBZ0lDQWdhVzVrWlc1MFUzUmxjRG9nZEhsd1pXOW1JRzl3ZEM1cGJtUmxiblFnUFQwOUlDZHVkVzFpWlhJbklEOGdKeUFuTG5KbGNHVmhkQ2h2Y0hRdWFXNWtaVzUwS1NBNklDY2dJQ2NzWEc0Z0lDQWdJQ0FnSUdsdVJteHZkeXhjYmlBZ0lDQWdJQ0FnYjNCMGFXOXVjem9nYjNCMFhHNGdJQ0FnZlR0Y2JuMWNibVoxYm1OMGFXOXVJR2RsZEZSaFowOWlhbVZqZENoMFlXZHpMQ0JwZEdWdEtTQjdYRzRnSUNBZ2FXWWdLR2wwWlcwdWRHRm5LU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFoZEdOb0lEMGdkR0ZuY3k1bWFXeDBaWElvZENBOVBpQjBMblJoWnlBOVBUMGdhWFJsYlM1MFlXY3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2JXRjBZMmd1YkdWdVozUm9JRDRnTUNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnRZWFJqYUM1bWFXNWtLSFFnUFQ0Z2RDNW1iM0p0WVhRZ1BUMDlJR2wwWlcwdVptOXliV0YwS1NBL1B5QnRZWFJqYUZzd1hUdGNiaUFnSUNCOVhHNGdJQ0FnYkdWMElIUmhaMDlpYWlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCc1pYUWdiMkpxTzF4dUlDQWdJR2xtSUNocGMxTmpZV3hoY2locGRHVnRLU2tnZTF4dUlDQWdJQ0FnSUNCdlltb2dQU0JwZEdWdExuWmhiSFZsTzF4dUlDQWdJQ0FnSUNCc1pYUWdiV0YwWTJnZ1BTQjBZV2R6TG1acGJIUmxjaWgwSUQwK0lIUXVhV1JsYm5ScFpuay9MaWh2WW1vcEtUdGNiaUFnSUNBZ0lDQWdhV1lnS0cxaGRHTm9MbXhsYm1kMGFDQStJREVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIUmxjM1JOWVhSamFDQTlJRzFoZEdOb0xtWnBiSFJsY2loMElEMCtJSFF1ZEdWemRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR1Z6ZEUxaGRHTm9MbXhsYm1kMGFDQStJREFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYldGMFkyZ2dQU0IwWlhOMFRXRjBZMmc3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2RHRm5UMkpxSUQxY2JpQWdJQ0FnSUNBZ0lDQWdJRzFoZEdOb0xtWnBibVFvZENBOVBpQjBMbVp2Y20xaGRDQTlQVDBnYVhSbGJTNW1iM0p0WVhRcElEOC9JRzFoZEdOb0xtWnBibVFvZENBOVBpQWhkQzVtYjNKdFlYUXBPMXh1SUNBZ0lIMWNiaUFnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnYjJKcUlEMGdhWFJsYlR0Y2JpQWdJQ0FnSUNBZ2RHRm5UMkpxSUQwZ2RHRm5jeTVtYVc1a0tIUWdQVDRnZEM1dWIyUmxRMnhoYzNNZ0ppWWdiMkpxSUdsdWMzUmhibU5sYjJZZ2RDNXViMlJsUTJ4aGMzTXBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9JWFJoWjA5aWFpa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnVZVzFsSUQwZ2IySnFQeTVqYjI1emRISjFZM1J2Y2o4dWJtRnRaU0EvUHlCMGVYQmxiMllnYjJKcU8xeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lGUmhaeUJ1YjNRZ2NtVnpiMngyWldRZ1ptOXlJQ1I3Ym1GdFpYMGdkbUZzZFdWZ0tUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJoWjA5aWFqdGNibjFjYmk4dklHNWxaV1J6SUhSdklHSmxJR05oYkd4bFpDQmlaV1p2Y21VZ2RtRnNkV1VnYzNSeWFXNW5hV1pwWlhJZ2RHOGdZV3hzYjNjZ1ptOXlJR05wY21OMWJHRnlJR0Z1WTJodmNpQnlaV1p6WEc1bWRXNWpkR2x2YmlCemRISnBibWRwWm5sUWNtOXdjeWh1YjJSbExDQjBZV2RQWW1vc0lIc2dZVzVqYUc5eWN5d2daRzlqSUgwcElIdGNiaUFnSUNCcFppQW9JV1J2WXk1a2FYSmxZM1JwZG1WektWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0p5YzdYRzRnSUNBZ1kyOXVjM1FnY0hKdmNITWdQU0JiWFR0Y2JpQWdJQ0JqYjI1emRDQmhibU5vYjNJZ1BTQW9hWE5UWTJGc1lYSW9ibTlrWlNrZ2ZId2dhWE5EYjJ4c1pXTjBhVzl1S0c1dlpHVXBLU0FtSmlCdWIyUmxMbUZ1WTJodmNqdGNiaUFnSUNCcFppQW9ZVzVqYUc5eUlDWW1JR0Z1WTJodmNrbHpWbUZzYVdRb1lXNWphRzl5S1NrZ2UxeHVJQ0FnSUNBZ0lDQmhibU5vYjNKekxtRmtaQ2hoYm1Ob2IzSXBPMXh1SUNBZ0lDQWdJQ0J3Y205d2N5NXdkWE5vS0dBbUpIdGhibU5vYjNKOVlDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBJSFJoWnlBOUlHNXZaR1V1ZEdGbklEOGdibTlrWlM1MFlXY2dPaUIwWVdkUFltb3VaR1ZtWVhWc2RDQS9JRzUxYkd3Z09pQjBZV2RQWW1vdWRHRm5PMXh1SUNBZ0lHbG1JQ2gwWVdjcFhHNGdJQ0FnSUNBZ0lIQnliM0J6TG5CMWMyZ29aRzlqTG1ScGNtVmpkR2wyWlhNdWRHRm5VM1J5YVc1bktIUmhaeWtwTzF4dUlDQWdJSEpsZEhWeWJpQndjbTl3Y3k1cWIybHVLQ2NnSnlrN1hHNTlYRzVtZFc1amRHbHZiaUJ6ZEhKcGJtZHBabmtvYVhSbGJTd2dZM1I0TENCdmJrTnZiVzFsYm5Rc0lHOXVRMmh2YlhCTFpXVndLU0I3WEc0Z0lDQWdhV1lnS0dselVHRnBjaWhwZEdWdEtTbGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHbDBaVzB1ZEc5VGRISnBibWNvWTNSNExDQnZia052YlcxbGJuUXNJRzl1UTJodmJYQkxaV1Z3S1R0Y2JpQWdJQ0JwWmlBb2FYTkJiR2xoY3locGRHVnRLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZM1I0TG1Sdll5NWthWEpsWTNScGRtVnpLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdsMFpXMHVkRzlUZEhKcGJtY29ZM1I0S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR04wZUM1eVpYTnZiSFpsWkVGc2FXRnpaWE0vTG1oaGN5aHBkR1Z0S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loZ1EyRnVibTkwSUhOMGNtbHVaMmxtZVNCamFYSmpkV3hoY2lCemRISjFZM1IxY21VZ2QybDBhRzkxZENCaGJHbGhjeUJ1YjJSbGMyQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR04wZUM1eVpYTnZiSFpsWkVGc2FXRnpaWE1wWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTNSNExuSmxjMjlzZG1Wa1FXeHBZWE5sY3k1aFpHUW9hWFJsYlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzUjRMbkpsYzI5c2RtVmtRV3hwWVhObGN5QTlJRzVsZHlCVFpYUW9XMmwwWlcxZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsMFpXMGdQU0JwZEdWdExuSmxjMjlzZG1Vb1kzUjRMbVJ2WXlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYkdWMElIUmhaMDlpYWlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCamIyNXpkQ0J1YjJSbElEMGdhWE5PYjJSbEtHbDBaVzBwWEc0Z0lDQWdJQ0FnSUQ4Z2FYUmxiVnh1SUNBZ0lDQWdJQ0E2SUdOMGVDNWtiMk11WTNKbFlYUmxUbTlrWlNocGRHVnRMQ0I3SUc5dVZHRm5UMkpxT2lCdklEMCtJQ2gwWVdkUFltb2dQU0J2S1NCOUtUdGNiaUFnSUNCcFppQW9JWFJoWjA5aWFpbGNiaUFnSUNBZ0lDQWdkR0ZuVDJKcUlEMGdaMlYwVkdGblQySnFaV04wS0dOMGVDNWtiMk11YzJOb1pXMWhMblJoWjNNc0lHNXZaR1VwTzF4dUlDQWdJR052Ym5OMElIQnliM0J6SUQwZ2MzUnlhVzVuYVdaNVVISnZjSE1vYm05a1pTd2dkR0ZuVDJKcUxDQmpkSGdwTzF4dUlDQWdJR2xtSUNod2NtOXdjeTVzWlc1bmRHZ2dQaUF3S1Z4dUlDQWdJQ0FnSUNCamRIZ3VhVzVrWlc1MFFYUlRkR0Z5ZENBOUlDaGpkSGd1YVc1a1pXNTBRWFJUZEdGeWRDQS9QeUF3S1NBcklIQnliM0J6TG14bGJtZDBhQ0FySURFN1hHNGdJQ0FnWTI5dWMzUWdjM1J5SUQwZ2RIbHdaVzltSUhSaFowOWlhaTV6ZEhKcGJtZHBabmtnUFQwOUlDZG1kVzVqZEdsdmJpZGNiaUFnSUNBZ0lDQWdQeUIwWVdkUFltb3VjM1J5YVc1bmFXWjVLRzV2WkdVc0lHTjBlQ3dnYjI1RGIyMXRaVzUwTENCdmJrTm9iMjF3UzJWbGNDbGNiaUFnSUNBZ0lDQWdPaUJwYzFOallXeGhjaWh1YjJSbEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlCemRISnBibWRwWm5sVGRISnBibWNvYm05a1pTd2dZM1I0TENCdmJrTnZiVzFsYm5Rc0lHOXVRMmh2YlhCTFpXVndLVnh1SUNBZ0lDQWdJQ0FnSUNBZ09pQnViMlJsTG5SdlUzUnlhVzVuS0dOMGVDd2diMjVEYjIxdFpXNTBMQ0J2YmtOb2IyMXdTMlZsY0NrN1hHNGdJQ0FnYVdZZ0tDRndjbTl3Y3lsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOMGNqdGNiaUFnSUNCeVpYUjFjbTRnYVhOVFkyRnNZWElvYm05a1pTa2dmSHdnYzNSeVd6QmRJRDA5UFNBbmV5Y2dmSHdnYzNSeVd6QmRJRDA5UFNBbld5ZGNiaUFnSUNBZ0lDQWdQeUJnSkh0d2NtOXdjMzBnSkh0emRISjlZRnh1SUNBZ0lDQWdJQ0E2SUdBa2UzQnliM0J6ZlZ4Y2JpUjdZM1I0TG1sdVpHVnVkSDBrZTNOMGNuMWdPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QmpjbVZoZEdWVGRISnBibWRwWm5sRGIyNTBaWGgwTENCemRISnBibWRwWm5rZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCcGMwTnZiR3hsWTNScGIyNHNJR2x6VG05a1pTd2dhWE5UWTJGc1lYSXNJR2x6VTJWeElIMGdabkp2YlNBbkxpNHZibTlrWlhNdmFXUmxiblJwZEhrdWFuTW5PMXh1YVcxd2IzSjBJSHNnVTJOaGJHRnlJSDBnWm5KdmJTQW5MaTR2Ym05a1pYTXZVMk5oYkdGeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUhOMGNtbHVaMmxtZVNCOUlHWnliMjBnSnk0dmMzUnlhVzVuYVdaNUxtcHpKenRjYm1sdGNHOXlkQ0I3SUd4cGJtVkRiMjF0Wlc1MExDQnBibVJsYm5SRGIyMXRaVzUwSUgwZ1puSnZiU0FuTGk5emRISnBibWRwWm5sRGIyMXRaVzUwTG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnYzNSeWFXNW5hV1o1VUdGcGNpaDdJR3RsZVN3Z2RtRnNkV1VnZlN3Z1kzUjRMQ0J2YmtOdmJXMWxiblFzSUc5dVEyaHZiWEJMWldWd0tTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCaGJHeE9kV3hzVm1Gc2RXVnpMQ0JrYjJNc0lHbHVaR1Z1ZEN3Z2FXNWtaVzUwVTNSbGNDd2diM0IwYVc5dWN6b2dleUJqYjIxdFpXNTBVM1J5YVc1bkxDQnBibVJsYm5SVFpYRXNJSE5wYlhCc1pVdGxlWE1nZlNCOUlEMGdZM1I0TzF4dUlDQWdJR3hsZENCclpYbERiMjF0Wlc1MElEMGdLR2x6VG05a1pTaHJaWGtwSUNZbUlHdGxlUzVqYjIxdFpXNTBLU0I4ZkNCdWRXeHNPMXh1SUNBZ0lHbG1JQ2h6YVcxd2JHVkxaWGx6S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hyWlhsRGIyMXRaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMWRwZEdnZ2MybHRjR3hsSUd0bGVYTXNJR3RsZVNCdWIyUmxjeUJqWVc1dWIzUWdhR0YyWlNCamIyMXRaVzUwY3ljcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNocGMwTnZiR3hsWTNScGIyNG9hMlY1S1NCOGZDQW9JV2x6VG05a1pTaHJaWGtwSUNZbUlIUjVjR1Z2WmlCclpYa2dQVDA5SUNkdlltcGxZM1FuS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiWE5uSUQwZ0oxZHBkR2dnYzJsdGNHeGxJR3RsZVhNc0lHTnZiR3hsWTNScGIyNGdZMkZ1Ym05MElHSmxJSFZ6WldRZ1lYTWdZU0JyWlhrZ2RtRnNkV1VuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMXpaeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdiR1YwSUdWNGNHeHBZMmwwUzJWNUlEMGdJWE5wYlhCc1pVdGxlWE1nSmlaY2JpQWdJQ0FnSUNBZ0tDRnJaWGtnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2hyWlhsRGIyMXRaVzUwSUNZbUlIWmhiSFZsSUQwOUlHNTFiR3dnSmlZZ0lXTjBlQzVwYmtac2IzY3BJSHg4WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBjME52Ykd4bFkzUnBiMjRvYTJWNUtTQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ0tHbHpVMk5oYkdGeUtHdGxlU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUd0bGVTNTBlWEJsSUQwOVBTQlRZMkZzWVhJdVFreFBRMHRmUms5TVJFVkVJSHg4SUd0bGVTNTBlWEJsSUQwOVBTQlRZMkZzWVhJdVFreFBRMHRmVEVsVVJWSkJURnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nZEhsd1pXOW1JR3RsZVNBOVBUMGdKMjlpYW1WamRDY3BLVHRjYmlBZ0lDQmpkSGdnUFNCUFltcGxZM1F1WVhOemFXZHVLSHQ5TENCamRIZ3NJSHRjYmlBZ0lDQWdJQ0FnWVd4c1RuVnNiRlpoYkhWbGN6b2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lHbHRjR3hwWTJsMFMyVjVPaUFoWlhod2JHbGphWFJMWlhrZ0ppWWdLSE5wYlhCc1pVdGxlWE1nZkh3Z0lXRnNiRTUxYkd4V1lXeDFaWE1wTEZ4dUlDQWdJQ0FnSUNCcGJtUmxiblE2SUdsdVpHVnVkQ0FySUdsdVpHVnVkRk4wWlhCY2JpQWdJQ0I5S1R0Y2JpQWdJQ0JzWlhRZ2EyVjVRMjl0YldWdWRFUnZibVVnUFNCbVlXeHpaVHRjYmlBZ0lDQnNaWFFnWTJodmJYQkxaV1Z3SUQwZ1ptRnNjMlU3WEc0Z0lDQWdiR1YwSUhOMGNpQTlJSE4wY21sdVoybG1lU2hyWlhrc0lHTjBlQ3dnS0NrZ1BUNGdLR3RsZVVOdmJXMWxiblJFYjI1bElEMGdkSEoxWlNrc0lDZ3BJRDArSUNoamFHOXRjRXRsWlhBZ1BTQjBjblZsS1NrN1hHNGdJQ0FnYVdZZ0tDRmxlSEJzYVdOcGRFdGxlU0FtSmlBaFkzUjRMbWx1Um14dmR5QW1KaUJ6ZEhJdWJHVnVaM1JvSUQ0Z01UQXlOQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9jMmx0Y0d4bFMyVjVjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblYybDBhQ0J6YVcxd2JHVWdhMlY1Y3l3Z2MybHVaMnhsSUd4cGJtVWdjMk5oYkdGeUlHMTFjM1FnYm05MElITndZVzRnYlc5eVpTQjBhR0Z1SURFd01qUWdZMmhoY21GamRHVnljeWNwTzF4dUlDQWdJQ0FnSUNCbGVIQnNhV05wZEV0bGVTQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoamRIZ3VhVzVHYkc5M0tTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoaGJHeE9kV3hzVm1Gc2RXVnpJSHg4SUhaaGJIVmxJRDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyWlhsRGIyMXRaVzUwUkc5dVpTQW1KaUJ2YmtOdmJXMWxiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RGIyMXRaVzUwS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjM1J5SUQwOVBTQW5KeUEvSUNjL0p5QTZJR1Y0Y0d4cFkybDBTMlY1SUQ4Z1lEOGdKSHR6ZEhKOVlDQTZJSE4wY2p0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JsYkhObElHbG1JQ2dvWVd4c1RuVnNiRlpoYkhWbGN5QW1KaUFoYzJsdGNHeGxTMlY1Y3lrZ2ZId2dLSFpoYkhWbElEMDlJRzUxYkd3Z0ppWWdaWGh3YkdsamFYUkxaWGtwS1NCN1hHNGdJQ0FnSUNBZ0lITjBjaUE5SUdBL0lDUjdjM1J5ZldBN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hyWlhsRGIyMXRaVzUwSUNZbUlDRnJaWGxEYjIxdFpXNTBSRzl1WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlDczlJR3hwYm1WRGIyMXRaVzUwS0hOMGNpd2dZM1I0TG1sdVpHVnVkQ3dnWTI5dGJXVnVkRk4wY21sdVp5aHJaWGxEYjIxdFpXNTBLU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1kyaHZiWEJMWldWd0lDWW1JRzl1UTJodmJYQkxaV1Z3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdiMjVEYUc5dGNFdGxaWEFvS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOMGNqdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHdGxlVU52YlcxbGJuUkViMjVsS1Z4dUlDQWdJQ0FnSUNCclpYbERiMjF0Wlc1MElEMGdiblZzYkR0Y2JpQWdJQ0JwWmlBb1pYaHdiR2xqYVhSTFpYa3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHdGxlVU52YlcxbGJuUXBYRzRnSUNBZ0lDQWdJQ0FnSUNCemRISWdLejBnYkdsdVpVTnZiVzFsYm5Rb2MzUnlMQ0JqZEhndWFXNWtaVzUwTENCamIyMXRaVzUwVTNSeWFXNW5LR3RsZVVOdmJXMWxiblFwS1R0Y2JpQWdJQ0FnSUNBZ2MzUnlJRDBnWUQ4Z0pIdHpkSEo5WEZ4dUpIdHBibVJsYm5SOU9tQTdYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0J6ZEhJZ1BTQmdKSHR6ZEhKOU9tQTdYRzRnSUNBZ0lDQWdJR2xtSUNoclpYbERiMjF0Wlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlDczlJR3hwYm1WRGIyMXRaVzUwS0hOMGNpd2dZM1I0TG1sdVpHVnVkQ3dnWTI5dGJXVnVkRk4wY21sdVp5aHJaWGxEYjIxdFpXNTBLU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHeGxkQ0IyYzJJc0lIWmpZaXdnZG1Gc2RXVkRiMjF0Wlc1ME8xeHVJQ0FnSUdsbUlDaHBjMDV2WkdVb2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNBZ0lIWnpZaUE5SUNFaGRtRnNkV1V1YzNCaFkyVkNaV1p2Y21VN1hHNGdJQ0FnSUNBZ0lIWmpZaUE5SUhaaGJIVmxMbU52YlcxbGJuUkNaV1p2Y21VN1hHNGdJQ0FnSUNBZ0lIWmhiSFZsUTI5dGJXVnVkQ0E5SUhaaGJIVmxMbU52YlcxbGJuUTdYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IyYzJJZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ2RtTmlJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdkbUZzZFdWRGIyMXRaVzUwSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsSUNZbUlIUjVjR1Z2WmlCMllXeDFaU0E5UFQwZ0oyOWlhbVZqZENjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpTQTlJR1J2WXk1amNtVmhkR1ZPYjJSbEtIWmhiSFZsS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZM1I0TG1sdGNHeHBZMmwwUzJWNUlEMGdabUZzYzJVN1hHNGdJQ0FnYVdZZ0tDRmxlSEJzYVdOcGRFdGxlU0FtSmlBaGEyVjVRMjl0YldWdWRDQW1KaUJwYzFOallXeGhjaWgyWVd4MVpTa3BYRzRnSUNBZ0lDQWdJR04wZUM1cGJtUmxiblJCZEZOMFlYSjBJRDBnYzNSeUxteGxibWQwYUNBcklERTdYRzRnSUNBZ1kyaHZiWEJMWldWd0lEMGdabUZzYzJVN1hHNGdJQ0FnYVdZZ0tDRnBibVJsYm5SVFpYRWdKaVpjYmlBZ0lDQWdJQ0FnYVc1a1pXNTBVM1JsY0M1c1pXNW5kR2dnUGowZ01pQW1KbHh1SUNBZ0lDQWdJQ0FoWTNSNExtbHVSbXh2ZHlBbUpseHVJQ0FnSUNBZ0lDQWhaWGh3YkdsamFYUkxaWGtnSmlaY2JpQWdJQ0FnSUNBZ2FYTlRaWEVvZG1Gc2RXVXBJQ1ltWEc0Z0lDQWdJQ0FnSUNGMllXeDFaUzVtYkc5M0lDWW1YRzRnSUNBZ0lDQWdJQ0YyWVd4MVpTNTBZV2NnSmlaY2JpQWdJQ0FnSUNBZ0lYWmhiSFZsTG1GdVkyaHZjaWtnZTF4dUlDQWdJQ0FnSUNBdkx5QkpaaUJwYm1SbGJuUlRaWEVnUFQwOUlHWmhiSE5sTENCamIyNXphV1JsY2lBbkxTQW5JR0Z6SUhCaGNuUWdiMllnYVc1a1pXNTBZWFJwYjI0Z2QyaGxjbVVnY0c5emMybGliR1ZjYmlBZ0lDQWdJQ0FnWTNSNExtbHVaR1Z1ZENBOUlHTjBlQzVwYm1SbGJuUXVjM1ZpYzNSeWFXNW5LRElwTzF4dUlDQWdJSDFjYmlBZ0lDQnNaWFFnZG1Gc2RXVkRiMjF0Wlc1MFJHOXVaU0E5SUdaaGJITmxPMXh1SUNBZ0lHTnZibk4wSUhaaGJIVmxVM1J5SUQwZ2MzUnlhVzVuYVdaNUtIWmhiSFZsTENCamRIZ3NJQ2dwSUQwK0lDaDJZV3gxWlVOdmJXMWxiblJFYjI1bElEMGdkSEoxWlNrc0lDZ3BJRDArSUNoamFHOXRjRXRsWlhBZ1BTQjBjblZsS1NrN1hHNGdJQ0FnYkdWMElIZHpJRDBnSnlBbk8xeHVJQ0FnSUdsbUlDaHJaWGxEYjIxdFpXNTBJSHg4SUhaellpQjhmQ0IyWTJJcElIdGNiaUFnSUNBZ0lDQWdkM01nUFNCMmMySWdQeUFuWEZ4dUp5QTZJQ2NuTzF4dUlDQWdJQ0FnSUNCcFppQW9kbU5pS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmpjeUE5SUdOdmJXMWxiblJUZEhKcGJtY29kbU5pS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGR6SUNzOUlHQmNYRzRrZTJsdVpHVnVkRU52YlcxbGJuUW9ZM01zSUdOMGVDNXBibVJsYm5RcGZXQTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsVTNSeUlEMDlQU0FuSnlBbUppQWhZM1I0TG1sdVJteHZkeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hkeklEMDlQU0FuWEZ4dUp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjNjeUE5SUNkY1hHNWNYRzRuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkM01nS3owZ1lGeGNiaVI3WTNSNExtbHVaR1Z1ZEgxZ08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdhV1lnS0NGbGVIQnNhV05wZEV0bGVTQW1KaUJwYzBOdmJHeGxZM1JwYjI0b2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhaek1DQTlJSFpoYkhWbFUzUnlXekJkTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J1YkRBZ1BTQjJZV3gxWlZOMGNpNXBibVJsZUU5bUtDZGNYRzRuS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYUdGelRtVjNiR2x1WlNBOUlHNXNNQ0FoUFQwZ0xURTdYRzRnSUNBZ0lDQWdJR052Ym5OMElHWnNiM2NnUFNCamRIZ3VhVzVHYkc5M0lEOC9JSFpoYkhWbExtWnNiM2NnUHo4Z2RtRnNkV1V1YVhSbGJYTXViR1Z1WjNSb0lEMDlQU0F3TzF4dUlDQWdJQ0FnSUNCcFppQW9hR0Z6VG1WM2JHbHVaU0I4ZkNBaFpteHZkeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUdoaGMxQnliM0J6VEdsdVpTQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHaGhjMDVsZDJ4cGJtVWdKaVlnS0haek1DQTlQVDBnSnlZbklIeDhJSFp6TUNBOVBUMGdKeUVuS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J6Y0RBZ1BTQjJZV3gxWlZOMGNpNXBibVJsZUU5bUtDY2dKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWnpNQ0E5UFQwZ0p5WW5JQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITndNQ0FoUFQwZ0xURWdKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzQXdJRHdnYm13d0lDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxVM1J5VzNOd01DQXJJREZkSUQwOVBTQW5JU2NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM0F3SUQwZ2RtRnNkV1ZUZEhJdWFXNWtaWGhQWmlnbklDY3NJSE53TUNBcklERXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MzQXdJRDA5UFNBdE1TQjhmQ0J1YkRBZ1BDQnpjREFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaGhjMUJ5YjNCelRHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXaGhjMUJ5YjNCelRHbHVaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IzY3lBOUlHQmNYRzRrZTJOMGVDNXBibVJsYm5SOVlEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCbGJITmxJR2xtSUNoMllXeDFaVk4wY2lBOVBUMGdKeWNnZkh3Z2RtRnNkV1ZUZEhKYk1GMGdQVDA5SUNkY1hHNG5LU0I3WEc0Z0lDQWdJQ0FnSUhkeklEMGdKeWM3WEc0Z0lDQWdmVnh1SUNBZ0lITjBjaUFyUFNCM2N5QXJJSFpoYkhWbFUzUnlPMXh1SUNBZ0lHbG1JQ2hqZEhndWFXNUdiRzkzS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gyWVd4MVpVTnZiVzFsYm5SRWIyNWxJQ1ltSUc5dVEyOXRiV1Z1ZENsY2JpQWdJQ0FnSUNBZ0lDQWdJRzl1UTI5dGJXVnVkQ2dwTzF4dUlDQWdJSDFjYmlBZ0lDQmxiSE5sSUdsbUlDaDJZV3gxWlVOdmJXMWxiblFnSmlZZ0lYWmhiSFZsUTI5dGJXVnVkRVJ2Ym1VcElIdGNiaUFnSUNBZ0lDQWdjM1J5SUNzOUlHeHBibVZEYjIxdFpXNTBLSE4wY2l3Z1kzUjRMbWx1WkdWdWRDd2dZMjl0YldWdWRGTjBjbWx1WnloMllXeDFaVU52YlcxbGJuUXBLVHRjYmlBZ0lDQjlYRzRnSUNBZ1pXeHpaU0JwWmlBb1kyaHZiWEJMWldWd0lDWW1JRzl1UTJodmJYQkxaV1Z3S1NCN1hHNGdJQ0FnSUNBZ0lHOXVRMmh2YlhCTFpXVndLQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCemRISTdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lITjBjbWx1WjJsbWVWQmhhWElnZlR0Y2JpSXNJQ0ptZFc1amRHbHZiaUJrWldKMVp5aHNiMmRNWlhabGJDd2dMaTR1YldWemMyRm5aWE1wSUh0Y2JpQWdJQ0JwWmlBb2JHOW5UR1YyWld3Z1BUMDlJQ2RrWldKMVp5Y3BYRzRnSUNBZ0lDQWdJR052Ym5OdmJHVXViRzluS0M0dUxtMWxjM05oWjJWektUdGNibjFjYm1aMWJtTjBhVzl1SUhkaGNtNG9iRzluVEdWMlpXd3NJSGRoY201cGJtY3BJSHRjYmlBZ0lDQnBaaUFvYkc5blRHVjJaV3dnUFQwOUlDZGtaV0oxWnljZ2ZId2diRzluVEdWMlpXd2dQVDA5SUNkM1lYSnVKeWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlIQnliMk5sYzNNZ0lUMDlJQ2QxYm1SbFptbHVaV1FuSUNZbUlIQnliMk5sYzNNdVpXMXBkRmRoY201cGJtY3BYRzRnSUNBZ0lDQWdJQ0FnSUNCd2NtOWpaWE56TG1WdGFYUlhZWEp1YVc1bktIZGhjbTVwYm1jcE8xeHVJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvZDJGeWJtbHVaeWs3WEc0Z0lDQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QmtaV0oxWnl3Z2QyRnliaUI5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJR2x6VTJOaGJHRnlMQ0JwYzBGc2FXRnpMQ0JwYzFObGNTd2dhWE5OWVhBZ2ZTQm1jbTl0SUNjdUxpOHVMaTl1YjJSbGN5OXBaR1Z1ZEdsMGVTNXFjeWM3WEc1cGJYQnZjblFnZXlCVFkyRnNZWElnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5VFkyRnNZWEl1YW5Nbk8xeHVYRzR2THlCSlppQjBhR1VnZG1Gc2RXVWdZWE56YjJOcFlYUmxaQ0IzYVhSb0lHRWdiV1Z5WjJVZ2EyVjVJR2x6SUdFZ2MybHVaMnhsSUcxaGNIQnBibWNnYm05a1pTd2daV0ZqYUNCdlpseHVMeThnYVhSeklHdGxlUzkyWVd4MVpTQndZV2x5Y3lCcGN5QnBibk5sY25SbFpDQnBiblJ2SUhSb1pTQmpkWEp5Wlc1MElHMWhjSEJwYm1jc0lIVnViR1Z6Y3lCMGFHVWdhMlY1WEc0dkx5QmhiSEpsWVdSNUlHVjRhWE4wY3lCcGJpQnBkQzRnU1dZZ2RHaGxJSFpoYkhWbElHRnpjMjlqYVdGMFpXUWdkMmwwYUNCMGFHVWdiV1Z5WjJVZ2EyVjVJR2x6SUdGY2JpOHZJSE5sY1hWbGJtTmxMQ0IwYUdWdUlIUm9hWE1nYzJWeGRXVnVZMlVnYVhNZ1pYaHdaV04wWldRZ2RHOGdZMjl1ZEdGcGJpQnRZWEJ3YVc1bklHNXZaR1Z6SUdGdVpDQmxZV05vWEc0dkx5QnZaaUIwYUdWelpTQnViMlJsY3lCcGN5QnRaWEpuWldRZ2FXNGdkSFZ5YmlCaFkyTnZjbVJwYm1jZ2RHOGdhWFJ6SUc5eVpHVnlJR2x1SUhSb1pTQnpaWEYxWlc1alpTNWNiaTh2SUV0bGVYTWdhVzRnYldGd2NHbHVaeUJ1YjJSbGN5QmxZWEpzYVdWeUlHbHVJSFJvWlNCelpYRjFaVzVqWlNCdmRtVnljbWxrWlNCclpYbHpJSE53WldOcFptbGxaQ0JwYmx4dUx5OGdiR0YwWlhJZ2JXRndjR2x1WnlCdWIyUmxjeTRnTFMwZ2FIUjBjRG92TDNsaGJXd3ViM0puTDNSNWNHVXZiV1Z5WjJVdWFIUnRiRnh1WTI5dWMzUWdUVVZTUjBWZlMwVlpJRDBnSnp3OEp6dGNibU52Ym5OMElHMWxjbWRsSUQwZ2UxeHVJQ0FnSUdsa1pXNTBhV1o1T2lCMllXeDFaU0E5UGlCMllXeDFaU0E5UFQwZ1RVVlNSMFZmUzBWWklIeDhYRzRnSUNBZ0lDQWdJQ2gwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2R6ZVcxaWIyd25JQ1ltSUhaaGJIVmxMbVJsYzJOeWFYQjBhVzl1SUQwOVBTQk5SVkpIUlY5TFJWa3BMRnh1SUNBZ0lHUmxabUYxYkhRNklDZHJaWGtuTEZ4dUlDQWdJSFJoWnpvZ0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9tMWxjbWRsSnl4Y2JpQWdJQ0IwWlhOME9pQXZYanc4SkM4c1hHNGdJQ0FnY21WemIyeDJaVG9nS0NrZ1BUNGdUMkpxWldOMExtRnpjMmxuYmlodVpYY2dVMk5oYkdGeUtGTjViV0p2YkNoTlJWSkhSVjlMUlZrcEtTd2dlMXh1SUNBZ0lDQWdJQ0JoWkdSVWIwcFRUV0Z3T2lCaFpHUk5aWEpuWlZSdlNsTk5ZWEJjYmlBZ0lDQjlLU3hjYmlBZ0lDQnpkSEpwYm1kcFpuazZJQ2dwSUQwK0lFMUZVa2RGWDB0RldWeHVmVHRjYm1OdmJuTjBJR2x6VFdWeVoyVkxaWGtnUFNBb1kzUjRMQ0JyWlhrcElEMCtJQ2h0WlhKblpTNXBaR1Z1ZEdsbWVTaHJaWGtwSUh4OFhHNGdJQ0FnS0dselUyTmhiR0Z5S0d0bGVTa2dKaVpjYmlBZ0lDQWdJQ0FnS0NGclpYa3VkSGx3WlNCOGZDQnJaWGt1ZEhsd1pTQTlQVDBnVTJOaGJHRnlMbEJNUVVsT0tTQW1KbHh1SUNBZ0lDQWdJQ0J0WlhKblpTNXBaR1Z1ZEdsbWVTaHJaWGt1ZG1Gc2RXVXBLU2tnSmlaY2JpQWdJQ0JqZEhnL0xtUnZZeTV6WTJobGJXRXVkR0ZuY3k1emIyMWxLSFJoWnlBOVBpQjBZV2N1ZEdGbklEMDlQU0J0WlhKblpTNTBZV2NnSmlZZ2RHRm5MbVJsWm1GMWJIUXBPMXh1Wm5WdVkzUnBiMjRnWVdSa1RXVnlaMlZVYjBwVFRXRndLR04wZUN3Z2JXRndMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lIWmhiSFZsSUQwZ1kzUjRJQ1ltSUdselFXeHBZWE1vZG1Gc2RXVXBJRDhnZG1Gc2RXVXVjbVZ6YjJ4MlpTaGpkSGd1Wkc5aktTQTZJSFpoYkhWbE8xeHVJQ0FnSUdsbUlDaHBjMU5sY1NoMllXeDFaU2twWEc0Z0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2FYUWdiMllnZG1Gc2RXVXVhWFJsYlhNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J0WlhKblpWWmhiSFZsS0dOMGVDd2diV0Z3TENCcGRDazdYRzRnSUNBZ1pXeHpaU0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2gyWVd4MVpTa3BYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnYVhRZ2IyWWdkbUZzZFdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J0WlhKblpWWmhiSFZsS0dOMGVDd2diV0Z3TENCcGRDazdYRzRnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0J0WlhKblpWWmhiSFZsS0dOMGVDd2diV0Z3TENCMllXeDFaU2s3WEc1OVhHNW1kVzVqZEdsdmJpQnRaWEpuWlZaaGJIVmxLR04wZUN3Z2JXRndMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lHTnZibk4wSUhOdmRYSmpaU0E5SUdOMGVDQW1KaUJwYzBGc2FXRnpLSFpoYkhWbEtTQS9JSFpoYkhWbExuSmxjMjlzZG1Vb1kzUjRMbVJ2WXlrZ09pQjJZV3gxWlR0Y2JpQWdJQ0JwWmlBb0lXbHpUV0Z3S0hOdmRYSmpaU2twWEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVFdWeVoyVWdjMjkxY21ObGN5QnRkWE4wSUdKbElHMWhjSE1nYjNJZ2JXRndJR0ZzYVdGelpYTW5LVHRjYmlBZ0lDQmpiMjV6ZENCemNtTk5ZWEFnUFNCemIzVnlZMlV1ZEc5S1UwOU9LRzUxYkd3c0lHTjBlQ3dnVFdGd0tUdGNiaUFnSUNCbWIzSWdLR052Ym5OMElGdHJaWGtzSUhaaGJIVmxYU0J2WmlCemNtTk5ZWEFwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzFoY0NCcGJuTjBZVzVqWlc5bUlFMWhjQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGdFlYQXVhR0Z6S0d0bGVTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiV0Z3TG5ObGRDaHJaWGtzSUhaaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNodFlYQWdhVzV6ZEdGdVkyVnZaaUJUWlhRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUcxaGNDNWhaR1FvYTJWNUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2doVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVTNWpZV3hzS0cxaGNDd2dhMlY1S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHMWhjQ3dnYTJWNUxDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QzSnBkR0ZpYkdVNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdFlYQTdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lHRmtaRTFsY21kbFZHOUtVMDFoY0N3Z2FYTk5aWEpuWlV0bGVTd2diV1Z5WjJVZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCM1lYSnVJSDBnWm5KdmJTQW5MaTR2Ykc5bkxtcHpKenRjYm1sdGNHOXlkQ0I3SUdselRXVnlaMlZMWlhrc0lHRmtaRTFsY21kbFZHOUtVMDFoY0NCOUlHWnliMjBnSnk0dUwzTmphR1Z0WVM5NVlXMXNMVEV1TVM5dFpYSm5aUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QmpjbVZoZEdWVGRISnBibWRwWm5sRGIyNTBaWGgwSUgwZ1puSnZiU0FuTGk0dmMzUnlhVzVuYVdaNUwzTjBjbWx1WjJsbWVTNXFjeWM3WEc1cGJYQnZjblFnZXlCcGMwNXZaR1VnZlNCbWNtOXRJQ2N1TDJsa1pXNTBhWFI1TG1wekp6dGNibWx0Y0c5eWRDQjdJSFJ2U2xNZ2ZTQm1jbTl0SUNjdUwzUnZTbE11YW5Nbk8xeHVYRzVtZFc1amRHbHZiaUJoWkdSUVlXbHlWRzlLVTAxaGNDaGpkSGdzSUcxaGNDd2dleUJyWlhrc0lIWmhiSFZsSUgwcElIdGNiaUFnSUNCcFppQW9hWE5PYjJSbEtHdGxlU2tnSmlZZ2EyVjVMbUZrWkZSdlNsTk5ZWEFwWEc0Z0lDQWdJQ0FnSUd0bGVTNWhaR1JVYjBwVFRXRndLR04wZUN3Z2JXRndMQ0IyWVd4MVpTazdYRzRnSUNBZ0x5OGdWRTlFVHpvZ1UyaHZkV3hrSUdSeWIzQWdkR2hwY3lCemNHVmphV0ZzSUdOaGMyVWdabTl5SUdKaGNtVWdQRHdnYUdGdVpHeHBibWRjYmlBZ0lDQmxiSE5sSUdsbUlDaHBjMDFsY21kbFMyVjVLR04wZUN3Z2EyVjVLU2xjYmlBZ0lDQWdJQ0FnWVdSa1RXVnlaMlZVYjBwVFRXRndLR04wZUN3Z2JXRndMQ0IyWVd4MVpTazdYRzRnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR3B6UzJWNUlEMGdkRzlLVXloclpYa3NJQ2NuTENCamRIZ3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2JXRndJR2x1YzNSaGJtTmxiMllnVFdGd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCdFlYQXVjMlYwS0dwelMyVjVMQ0IwYjBwVEtIWmhiSFZsTENCcWMwdGxlU3dnWTNSNEtTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYldGd0lHbHVjM1JoYm1ObGIyWWdVMlYwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J0WVhBdVlXUmtLR3B6UzJWNUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE4wY21sdVowdGxlU0E5SUhOMGNtbHVaMmxtZVV0bGVTaHJaWGtzSUdwelMyVjVMQ0JqZEhncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdhbk5XWVd4MVpTQTlJSFJ2U2xNb2RtRnNkV1VzSUhOMGNtbHVaMHRsZVN3Z1kzUjRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h6ZEhKcGJtZExaWGtnYVc0Z2JXRndLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNodFlYQXNJSE4wY21sdVowdGxlU3dnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZV3gxWlRvZ2FuTldZV3gxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhjRnR6ZEhKcGJtZExaWGxkSUQwZ2FuTldZV3gxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiV0Z3TzF4dWZWeHVablZ1WTNScGIyNGdjM1J5YVc1bmFXWjVTMlY1S0d0bGVTd2dhbk5MWlhrc0lHTjBlQ2tnZTF4dUlDQWdJR2xtSUNocWMwdGxlU0E5UFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJQ2NuTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYW5OTFpYa2dJVDA5SUNkdlltcGxZM1FuS1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVTNSeWFXNW5LR3B6UzJWNUtUdGNiaUFnSUNCcFppQW9hWE5PYjJSbEtHdGxlU2tnSmlZZ1kzUjRQeTVrYjJNcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MzUnlRM1I0SUQwZ1kzSmxZWFJsVTNSeWFXNW5hV1o1UTI5dWRHVjRkQ2hqZEhndVpHOWpMQ0I3ZlNrN1hHNGdJQ0FnSUNBZ0lITjBja04wZUM1aGJtTm9iM0p6SUQwZ2JtVjNJRk5sZENncE8xeHVJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJRzV2WkdVZ2IyWWdZM1I0TG1GdVkyaHZjbk11YTJWNWN5Z3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUnlRM1I0TG1GdVkyaHZjbk11WVdSa0tHNXZaR1V1WVc1amFHOXlLVHRjYmlBZ0lDQWdJQ0FnYzNSeVEzUjRMbWx1Um14dmR5QTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lITjBja04wZUM1cGJsTjBjbWx1WjJsbWVVdGxlU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR052Ym5OMElITjBja3RsZVNBOUlHdGxlUzUwYjFOMGNtbHVaeWh6ZEhKRGRIZ3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXTjBlQzV0WVhCTFpYbFhZWEp1WldRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnFjMjl1VTNSeUlEMGdTbE5QVGk1emRISnBibWRwWm5rb2MzUnlTMlY1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocWMyOXVVM1J5TG14bGJtZDBhQ0ErSURRd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHcHpiMjVUZEhJZ1BTQnFjMjl1VTNSeUxuTjFZbk4wY21sdVp5Z3dMQ0F6TmlrZ0t5QW5MaTR1WENJbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZDJGeWJpaGpkSGd1Wkc5akxtOXdkR2x2Ym5NdWJHOW5UR1YyWld3c0lHQkxaWGx6SUhkcGRHZ2dZMjlzYkdWamRHbHZiaUIyWVd4MVpYTWdkMmxzYkNCaVpTQnpkSEpwYm1kcFptbGxaQ0JrZFdVZ2RHOGdTbE1nVDJKcVpXTjBJSEpsYzNSeWFXTjBhVzl1Y3pvZ0pIdHFjMjl1VTNSeWZTNGdVMlYwSUcxaGNFRnpUV0Z3T2lCMGNuVmxJSFJ2SUhWelpTQnZZbXBsWTNRZ2EyVjVjeTVnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR04wZUM1dFlYQkxaWGxYWVhKdVpXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpkSEpMWlhrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQktVMDlPTG5OMGNtbHVaMmxtZVNocWMwdGxlU2s3WEc1OVhHNWNibVY0Y0c5eWRDQjdJR0ZrWkZCaGFYSlViMHBUVFdGd0lIMDdYRzRpTENBaWFXMXdiM0owSUhzZ1kzSmxZWFJsVG05a1pTQjlJR1p5YjIwZ0p5NHVMMlJ2WXk5amNtVmhkR1ZPYjJSbExtcHpKenRjYm1sdGNHOXlkQ0I3SUhOMGNtbHVaMmxtZVZCaGFYSWdmU0JtY205dElDY3VMaTl6ZEhKcGJtZHBabmt2YzNSeWFXNW5hV1o1VUdGcGNpNXFjeWM3WEc1cGJYQnZjblFnZXlCaFpHUlFZV2x5Vkc5S1UwMWhjQ0I5SUdaeWIyMGdKeTR2WVdSa1VHRnBjbFJ2U2xOTllYQXVhbk1uTzF4dWFXMXdiM0owSUhzZ1RrOUVSVjlVV1ZCRkxDQlFRVWxTTENCcGMwNXZaR1VnZlNCbWNtOXRJQ2N1TDJsa1pXNTBhWFI1TG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxVR0ZwY2loclpYa3NJSFpoYkhWbExDQmpkSGdwSUh0Y2JpQWdJQ0JqYjI1emRDQnJJRDBnWTNKbFlYUmxUbTlrWlNoclpYa3NJSFZ1WkdWbWFXNWxaQ3dnWTNSNEtUdGNiaUFnSUNCamIyNXpkQ0IySUQwZ1kzSmxZWFJsVG05a1pTaDJZV3gxWlN3Z2RXNWtaV1pwYm1Wa0xDQmpkSGdwTzF4dUlDQWdJSEpsZEhWeWJpQnVaWGNnVUdGcGNpaHJMQ0IyS1R0Y2JuMWNibU5zWVhOeklGQmhhWElnZTF4dUlDQWdJR052Ym5OMGNuVmpkRzl5S0d0bGVTd2dkbUZzZFdVZ1BTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gwYUdsekxDQk9UMFJGWDFSWlVFVXNJSHNnZG1Gc2RXVTZJRkJCU1ZJZ2ZTazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWEyVjVJRDBnYTJWNU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxJRDBnZG1Gc2RXVTdYRzRnSUNBZ2ZWeHVJQ0FnSUdOc2IyNWxLSE5qYUdWdFlTa2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ2V5QnJaWGtzSUhaaGJIVmxJSDBnUFNCMGFHbHpPMXh1SUNBZ0lDQWdJQ0JwWmlBb2FYTk9iMlJsS0d0bGVTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNCclpYa2dQU0JyWlhrdVkyeHZibVVvYzJOb1pXMWhLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpUbTlrWlNoMllXeDFaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZV3gxWlNBOUlIWmhiSFZsTG1Oc2IyNWxLSE5qYUdWdFlTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVUdGcGNpaHJaWGtzSUhaaGJIVmxLVHRjYmlBZ0lDQjlYRzRnSUNBZ2RHOUtVMDlPS0Y4c0lHTjBlQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J3WVdseUlEMGdZM1I0UHk1dFlYQkJjMDFoY0NBL0lHNWxkeUJOWVhBb0tTQTZJSHQ5TzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWVdSa1VHRnBjbFJ2U2xOTllYQW9ZM1I0TENCd1lXbHlMQ0IwYUdsektUdGNiaUFnSUNCOVhHNGdJQ0FnZEc5VGRISnBibWNvWTNSNExDQnZia052YlcxbGJuUXNJRzl1UTJodmJYQkxaV1Z3S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCamRIZy9MbVJ2WTF4dUlDQWdJQ0FnSUNBZ0lDQWdQeUJ6ZEhKcGJtZHBabmxRWVdseUtIUm9hWE1zSUdOMGVDd2diMjVEYjIxdFpXNTBMQ0J2YmtOb2IyMXdTMlZsY0NsY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nU2xOUFRpNXpkSEpwYm1kcFpua29kR2hwY3lrN1hHNGdJQ0FnZlZ4dWZWeHVYRzVsZUhCdmNuUWdleUJRWVdseUxDQmpjbVZoZEdWUVlXbHlJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dhWE5PYjJSbExDQnBjMUJoYVhJZ2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUJ6ZEhKcGJtZHBabmtnZlNCbWNtOXRJQ2N1TDNOMGNtbHVaMmxtZVM1cWN5YzdYRzVwYlhCdmNuUWdleUJzYVc1bFEyOXRiV1Z1ZEN3Z2FXNWtaVzUwUTI5dGJXVnVkQ0I5SUdaeWIyMGdKeTR2YzNSeWFXNW5hV1o1UTI5dGJXVnVkQzVxY3ljN1hHNWNibVoxYm1OMGFXOXVJSE4wY21sdVoybG1lVU52Ykd4bFkzUnBiMjRvWTI5c2JHVmpkR2x2Yml3Z1kzUjRMQ0J2Y0hScGIyNXpLU0I3WEc0Z0lDQWdZMjl1YzNRZ1pteHZkeUE5SUdOMGVDNXBia1pzYjNjZ1B6OGdZMjlzYkdWamRHbHZiaTVtYkc5M08xeHVJQ0FnSUdOdmJuTjBJSE4wY21sdVoybG1lU0E5SUdac2IzY2dQeUJ6ZEhKcGJtZHBabmxHYkc5M1EyOXNiR1ZqZEdsdmJpQTZJSE4wY21sdVoybG1lVUpzYjJOclEyOXNiR1ZqZEdsdmJqdGNiaUFnSUNCeVpYUjFjbTRnYzNSeWFXNW5hV1o1S0dOdmJHeGxZM1JwYjI0c0lHTjBlQ3dnYjNCMGFXOXVjeWs3WEc1OVhHNW1kVzVqZEdsdmJpQnpkSEpwYm1kcFpubENiRzlqYTBOdmJHeGxZM1JwYjI0b2V5QmpiMjF0Wlc1MExDQnBkR1Z0Y3lCOUxDQmpkSGdzSUhzZ1lteHZZMnRKZEdWdFVISmxabWw0TENCbWJHOTNRMmhoY25Nc0lHbDBaVzFKYm1SbGJuUXNJRzl1UTJodmJYQkxaV1Z3TENCdmJrTnZiVzFsYm5RZ2ZTa2dlMXh1SUNBZ0lHTnZibk4wSUhzZ2FXNWtaVzUwTENCdmNIUnBiMjV6T2lCN0lHTnZiVzFsYm5SVGRISnBibWNnZlNCOUlEMGdZM1I0TzF4dUlDQWdJR052Ym5OMElHbDBaVzFEZEhnZ1BTQlBZbXBsWTNRdVlYTnphV2R1S0h0OUxDQmpkSGdzSUhzZ2FXNWtaVzUwT2lCcGRHVnRTVzVrWlc1MExDQjBlWEJsT2lCdWRXeHNJSDBwTzF4dUlDQWdJR3hsZENCamFHOXRjRXRsWlhBZ1BTQm1ZV3h6WlRzZ0x5OGdabXhoWnlCbWIzSWdkR2hsSUhCeVpXTmxaR2x1WnlCdWIyUmxKM01nYzNSaGRIVnpYRzRnSUNBZ1kyOXVjM1FnYkdsdVpYTWdQU0JiWFR0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdsMFpXMXpMbXhsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdsMFpXMGdQU0JwZEdWdGMxdHBYVHRjYmlBZ0lDQWdJQ0FnYkdWMElHTnZiVzFsYm5RZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCcFppQW9hWE5PYjJSbEtHbDBaVzBwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXTm9iMjF3UzJWbGNDQW1KaUJwZEdWdExuTndZV05sUW1WbWIzSmxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hwYm1WekxuQjFjMmdvSnljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWVdSa1EyOXRiV1Z1ZEVKbFptOXlaU2hqZEhnc0lHeHBibVZ6TENCcGRHVnRMbU52YlcxbGJuUkNaV1p2Y21Vc0lHTm9iMjF3UzJWbGNDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWFJsYlM1amIyMXRaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJXMWxiblFnUFNCcGRHVnRMbU52YlcxbGJuUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhOUVlXbHlLR2wwWlcwcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JwYXlBOUlHbHpUbTlrWlNocGRHVnRMbXRsZVNrZ1B5QnBkR1Z0TG10bGVTQTZJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FXc3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXTm9iMjF3UzJWbGNDQW1KaUJwYXk1emNHRmpaVUpsWm05eVpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdsdVpYTXVjSFZ6YUNnbkp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZV1JrUTI5dGJXVnVkRUpsWm05eVpTaGpkSGdzSUd4cGJtVnpMQ0JwYXk1amIyMXRaVzUwUW1WbWIzSmxMQ0JqYUc5dGNFdGxaWEFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOb2IyMXdTMlZsY0NBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNCc1pYUWdjM1J5SUQwZ2MzUnlhVzVuYVdaNUtHbDBaVzBzSUdsMFpXMURkSGdzSUNncElEMCtJQ2hqYjIxdFpXNTBJRDBnYm5Wc2JDa3NJQ2dwSUQwK0lDaGphRzl0Y0V0bFpYQWdQU0IwY25WbEtTazdYRzRnSUNBZ0lDQWdJR2xtSUNoamIyMXRaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjM1J5SUNzOUlHeHBibVZEYjIxdFpXNTBLSE4wY2l3Z2FYUmxiVWx1WkdWdWRDd2dZMjl0YldWdWRGTjBjbWx1WnloamIyMXRaVzUwS1NrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqYUc5dGNFdGxaWEFnSmlZZ1kyOXRiV1Z1ZENsY2JpQWdJQ0FnSUNBZ0lDQWdJR05vYjIxd1MyVmxjQ0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0JzYVc1bGN5NXdkWE5vS0dKc2IyTnJTWFJsYlZCeVpXWnBlQ0FySUhOMGNpazdYRzRnSUNBZ2ZWeHVJQ0FnSUd4bGRDQnpkSEk3WEc0Z0lDQWdhV1lnS0d4cGJtVnpMbXhsYm1kMGFDQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnpkSElnUFNCbWJHOTNRMmhoY25NdWMzUmhjblFnS3lCbWJHOTNRMmhoY25NdVpXNWtPMXh1SUNBZ0lIMWNiaUFnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnYzNSeUlEMGdiR2x1WlhOYk1GMDdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBeE95QnBJRHdnYkdsdVpYTXViR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeHBibVVnUFNCc2FXNWxjMXRwWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4wY2lBclBTQnNhVzVsSUQ4Z1lGeGNiaVI3YVc1a1pXNTBmU1I3YkdsdVpYMWdJRG9nSjF4Y2JpYzdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR052YlcxbGJuUXBJSHRjYmlBZ0lDQWdJQ0FnYzNSeUlDczlJQ2RjWEc0bklDc2dhVzVrWlc1MFEyOXRiV1Z1ZENoamIyMXRaVzUwVTNSeWFXNW5LR052YlcxbGJuUXBMQ0JwYm1SbGJuUXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2IyNURiMjF0Wlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnYjI1RGIyMXRaVzUwS0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJVZ2FXWWdLR05vYjIxd1MyVmxjQ0FtSmlCdmJrTm9iMjF3UzJWbGNDbGNiaUFnSUNBZ0lDQWdiMjVEYUc5dGNFdGxaWEFvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdjM1J5TzF4dWZWeHVablZ1WTNScGIyNGdjM1J5YVc1bmFXWjVSbXh2ZDBOdmJHeGxZM1JwYjI0b2V5QnBkR1Z0Y3lCOUxDQmpkSGdzSUhzZ1pteHZkME5vWVhKekxDQnBkR1Z0U1c1a1pXNTBJSDBwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR2x1WkdWdWRDd2dhVzVrWlc1MFUzUmxjQ3dnWm14dmQwTnZiR3hsWTNScGIyNVFZV1JrYVc1bk9pQm1ZMUJoWkdScGJtY3NJRzl3ZEdsdmJuTTZJSHNnWTI5dGJXVnVkRk4wY21sdVp5QjlJSDBnUFNCamRIZzdYRzRnSUNBZ2FYUmxiVWx1WkdWdWRDQXJQU0JwYm1SbGJuUlRkR1Z3TzF4dUlDQWdJR052Ym5OMElHbDBaVzFEZEhnZ1BTQlBZbXBsWTNRdVlYTnphV2R1S0h0OUxDQmpkSGdzSUh0Y2JpQWdJQ0FnSUNBZ2FXNWtaVzUwT2lCcGRHVnRTVzVrWlc1MExGeHVJQ0FnSUNBZ0lDQnBia1pzYjNjNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUhSNWNHVTZJRzUxYkd4Y2JpQWdJQ0I5S1R0Y2JpQWdJQ0JzWlhRZ2NtVnhUbVYzYkdsdVpTQTlJR1poYkhObE8xeHVJQ0FnSUd4bGRDQnNhVzVsYzBGMFZtRnNkV1VnUFNBd08xeHVJQ0FnSUdOdmJuTjBJR3hwYm1WeklEMGdXMTA3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JwZEdWdGN5NXNaVzVuZEdnN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JwZEdWdElEMGdhWFJsYlhOYmFWMDdYRzRnSUNBZ0lDQWdJR3hsZENCamIyMXRaVzUwSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpUbTlrWlNocGRHVnRLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsMFpXMHVjM0JoWTJWQ1pXWnZjbVVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdsdVpYTXVjSFZ6YUNnbkp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCaFpHUkRiMjF0Wlc1MFFtVm1iM0psS0dOMGVDd2diR2x1WlhNc0lHbDBaVzB1WTI5dGJXVnVkRUpsWm05eVpTd2dabUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbDBaVzB1WTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjIxdFpXNTBJRDBnYVhSbGJTNWpiMjF0Wlc1ME8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR2x6VUdGcGNpaHBkR1Z0S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdhV3NnUFNCcGMwNXZaR1VvYVhSbGJTNXJaWGtwSUQ4Z2FYUmxiUzVyWlhrZ09pQnVkV3hzTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dscktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsckxuTndZV05sUW1WbWIzSmxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2FXNWxjeTV3ZFhOb0tDY25LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoWkdSRGIyMXRaVzUwUW1WbWIzSmxLR04wZUN3Z2JHbHVaWE1zSUdsckxtTnZiVzFsYm5SQ1pXWnZjbVVzSUdaaGJITmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FXc3VZMjl0YldWdWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WeFRtVjNiR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JwZGlBOUlHbHpUbTlrWlNocGRHVnRMblpoYkhWbEtTQS9JR2wwWlcwdWRtRnNkV1VnT2lCdWRXeHNPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2wyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2wyTG1OdmJXMWxiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiVzFsYm5RZ1BTQnBkaTVqYjIxdFpXNTBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGRpNWpiMjF0Wlc1MFFtVm1iM0psS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWEZPWlhkc2FXNWxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR2wwWlcwdWRtRnNkV1VnUFQwZ2JuVnNiQ0FtSmlCcGF6OHVZMjl0YldWdWRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052YlcxbGJuUWdQU0JwYXk1amIyMXRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaGpiMjF0Wlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WeFRtVjNiR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUd4bGRDQnpkSElnUFNCemRISnBibWRwWm5rb2FYUmxiU3dnYVhSbGJVTjBlQ3dnS0NrZ1BUNGdLR052YlcxbGJuUWdQU0J1ZFd4c0tTazdYRzRnSUNBZ0lDQWdJR2xtSUNocElEd2dhWFJsYlhNdWJHVnVaM1JvSUMwZ01TbGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMGNpQXJQU0FuTENjN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqYjIxdFpXNTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUnlJQ3M5SUd4cGJtVkRiMjF0Wlc1MEtITjBjaXdnYVhSbGJVbHVaR1Z1ZEN3Z1kyOXRiV1Z1ZEZOMGNtbHVaeWhqYjIxdFpXNTBLU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hjbVZ4VG1WM2JHbHVaU0FtSmlBb2JHbHVaWE11YkdWdVozUm9JRDRnYkdsdVpYTkJkRlpoYkhWbElIeDhJSE4wY2k1cGJtTnNkV1JsY3lnblhGeHVKeWtwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ4VG1WM2JHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR3hwYm1WekxuQjFjMmdvYzNSeUtUdGNiaUFnSUNBZ0lDQWdiR2x1WlhOQmRGWmhiSFZsSUQwZ2JHbHVaWE11YkdWdVozUm9PMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0I3SUhOMFlYSjBMQ0JsYm1RZ2ZTQTlJR1pzYjNkRGFHRnljenRjYmlBZ0lDQnBaaUFvYkdsdVpYTXViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCemRHRnlkQ0FySUdWdVpEdGNiaUFnSUNCOVhHNGdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJR2xtSUNnaGNtVnhUbVYzYkdsdVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYkdWdUlEMGdiR2x1WlhNdWNtVmtkV05sS0NoemRXMHNJR3hwYm1VcElEMCtJSE4xYlNBcklHeHBibVV1YkdWdVozUm9JQ3NnTWl3Z01pazdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYRk9aWGRzYVc1bElEMGdZM1I0TG05d2RHbHZibk11YkdsdVpWZHBaSFJvSUQ0Z01DQW1KaUJzWlc0Z1BpQmpkSGd1YjNCMGFXOXVjeTVzYVc1bFYybGtkR2c3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSEpsY1U1bGQyeHBibVVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3hsZENCemRISWdQU0J6ZEdGeWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2JHbHVaU0J2WmlCc2FXNWxjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEhJZ0t6MGdiR2x1WlNBL0lHQmNYRzRrZTJsdVpHVnVkRk4wWlhCOUpIdHBibVJsYm5SOUpIdHNhVzVsZldBZ09pQW5YRnh1Snp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmdKSHR6ZEhKOVhGeHVKSHRwYm1SbGJuUjlKSHRsYm1SOVlEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJnSkh0emRHRnlkSDBrZTJaalVHRmtaR2x1WjMwa2UyeHBibVZ6TG1wdmFXNG9KeUFuS1gwa2UyWmpVR0ZrWkdsdVozMGtlMlZ1WkgxZ08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWVdSa1EyOXRiV1Z1ZEVKbFptOXlaU2g3SUdsdVpHVnVkQ3dnYjNCMGFXOXVjem9nZXlCamIyMXRaVzUwVTNSeWFXNW5JSDBnZlN3Z2JHbHVaWE1zSUdOdmJXMWxiblFzSUdOb2IyMXdTMlZsY0NrZ2UxeHVJQ0FnSUdsbUlDaGpiMjF0Wlc1MElDWW1JR05vYjIxd1MyVmxjQ2xjYmlBZ0lDQWdJQ0FnWTI5dGJXVnVkQ0E5SUdOdmJXMWxiblF1Y21Wd2JHRmpaU2d2WGx4Y2Jpc3ZMQ0FuSnlrN1hHNGdJQ0FnYVdZZ0tHTnZiVzFsYm5RcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FXTWdQU0JwYm1SbGJuUkRiMjF0Wlc1MEtHTnZiVzFsYm5SVGRISnBibWNvWTI5dGJXVnVkQ2tzSUdsdVpHVnVkQ2s3WEc0Z0lDQWdJQ0FnSUd4cGJtVnpMbkIxYzJnb2FXTXVkSEpwYlZOMFlYSjBLQ2twT3lBdkx5QkJkbTlwWkNCa2IzVmliR1VnYVc1a1pXNTBJRzl1SUdacGNuTjBJR3hwYm1WY2JpQWdJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQjdJSE4wY21sdVoybG1lVU52Ykd4bFkzUnBiMjRnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJ6ZEhKcGJtZHBabmxEYjJ4c1pXTjBhVzl1SUgwZ1puSnZiU0FuTGk0dmMzUnlhVzVuYVdaNUwzTjBjbWx1WjJsbWVVTnZiR3hsWTNScGIyNHVhbk1uTzF4dWFXMXdiM0owSUhzZ1lXUmtVR0ZwY2xSdlNsTk5ZWEFnZlNCbWNtOXRJQ2N1TDJGa1pGQmhhWEpVYjBwVFRXRndMbXB6Snp0Y2JtbHRjRzl5ZENCN0lFTnZiR3hsWTNScGIyNGdmU0JtY205dElDY3VMME52Ykd4bFkzUnBiMjR1YW5Nbk8xeHVhVzF3YjNKMElIc2dhWE5RWVdseUxDQnBjMU5qWVd4aGNpd2dUVUZRSUgwZ1puSnZiU0FuTGk5cFpHVnVkR2wwZVM1cWN5YzdYRzVwYlhCdmNuUWdleUJRWVdseUxDQmpjbVZoZEdWUVlXbHlJSDBnWm5KdmJTQW5MaTlRWVdseUxtcHpKenRjYm1sdGNHOXlkQ0I3SUdselUyTmhiR0Z5Vm1Gc2RXVWdmU0JtY205dElDY3VMMU5qWVd4aGNpNXFjeWM3WEc1Y2JtWjFibU4wYVc5dUlHWnBibVJRWVdseUtHbDBaVzF6TENCclpYa3BJSHRjYmlBZ0lDQmpiMjV6ZENCcklEMGdhWE5UWTJGc1lYSW9hMlY1S1NBL0lHdGxlUzUyWVd4MVpTQTZJR3RsZVR0Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUdsMElHOW1JR2wwWlcxektTQjdYRzRnSUNBZ0lDQWdJR2xtSUNocGMxQmhhWElvYVhRcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWFF1YTJWNUlEMDlQU0JyWlhrZ2ZId2dhWFF1YTJWNUlEMDlQU0JyS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGMxTmpZV3hoY2locGRDNXJaWGtwSUNZbUlHbDBMbXRsZVM1MllXeDFaU0E5UFQwZ2F5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JuMWNibU5zWVhOeklGbEJUVXhOWVhBZ1pYaDBaVzVrY3lCRGIyeHNaV04wYVc5dUlIdGNiaUFnSUNCemRHRjBhV01nWjJWMElIUmhaMDVoYldVb0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZiV0Z3Snp0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNSeWRXTjBiM0lvYzJOb1pXMWhLU0I3WEc0Z0lDQWdJQ0FnSUhOMWNHVnlLRTFCVUN3Z2MyTm9aVzFoS1R0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVwZEdWdGN5QTlJRnRkTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJCSUdkbGJtVnlhV01nWTI5c2JHVmpkR2x2YmlCd1lYSnphVzVuSUcxbGRHaHZaQ0IwYUdGMElHTmhiaUJpWlNCbGVIUmxibVJsWkZ4dUlDQWdJQ0FxSUhSdklHOTBhR1Z5SUc1dlpHVWdZMnhoYzNObGN5QjBhR0YwSUdsdWFHVnlhWFFnWm5KdmJTQlpRVTFNVFdGd1hHNGdJQ0FnSUNvdlhHNGdJQ0FnYzNSaGRHbGpJR1p5YjIwb2MyTm9aVzFoTENCdlltb3NJR04wZUNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lHdGxaWEJWYm1SbFptbHVaV1FzSUhKbGNHeGhZMlZ5SUgwZ1BTQmpkSGc3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFoY0NBOUlHNWxkeUIwYUdsektITmphR1Z0WVNrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdGa1pDQTlJQ2hyWlhrc0lIWmhiSFZsS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlISmxjR3hoWTJWeUlEMDlQU0FuWm5WdVkzUnBiMjRuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxJRDBnY21Wd2JHRmpaWEl1WTJGc2JDaHZZbW9zSUd0bGVTd2dkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHlaWEJzWVdObGNpa2dKaVlnSVhKbGNHeGhZMlZ5TG1sdVkyeDFaR1Z6S0d0bGVTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsSUNFOVBTQjFibVJsWm1sdVpXUWdmSHdnYTJWbGNGVnVaR1ZtYVc1bFpDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnRZWEF1YVhSbGJYTXVjSFZ6YUNoamNtVmhkR1ZRWVdseUtHdGxlU3dnZG1Gc2RXVXNJR04wZUNrcE8xeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdJQ0JwWmlBb2IySnFJR2x1YzNSaGJtTmxiMllnVFdGd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElGdHJaWGtzSUhaaGJIVmxYU0J2WmlCdlltb3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZV1JrS0d0bGVTd2dkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLRzlpYWlBbUppQjBlWEJsYjJZZ2IySnFJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCclpYa2diMllnVDJKcVpXTjBMbXRsZVhNb2IySnFLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoWkdRb2EyVjVMQ0J2WW1wYmEyVjVYU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnpZMmhsYldFdWMyOXlkRTFoY0VWdWRISnBaWE1nUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWhjQzVwZEdWdGN5NXpiM0owS0hOamFHVnRZUzV6YjNKMFRXRndSVzUwY21sbGN5azdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoY0R0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUVdSa2N5QmhJSFpoYkhWbElIUnZJSFJvWlNCamIyeHNaV04wYVc5dUxseHVJQ0FnSUNBcVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUc5MlpYSjNjbWwwWlNBdElFbG1JRzV2ZENCelpYUWdZSFJ5ZFdWZ0xDQjFjMmx1WnlCaElHdGxlU0IwYUdGMElHbHpJR0ZzY21WaFpIa2dhVzRnZEdobFhHNGdJQ0FnSUNvZ0lDQmpiMnhzWldOMGFXOXVJSGRwYkd3Z2RHaHliM2N1SUU5MGFHVnlkMmx6WlN3Z2IzWmxjbmR5YVhSbGN5QjBhR1VnY0hKbGRtbHZkWE1nZG1Gc2RXVXVYRzRnSUNBZ0lDb3ZYRzRnSUNBZ1lXUmtLSEJoYVhJc0lHOTJaWEozY21sMFpTa2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ1gzQmhhWEk3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBjMUJoYVhJb2NHRnBjaWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQmZjR0ZwY2lBOUlIQmhhWEk3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0NGd1lXbHlJSHg4SUhSNWNHVnZaaUJ3WVdseUlDRTlQU0FuYjJKcVpXTjBKeUI4ZkNBaEtDZHJaWGtuSUdsdUlIQmhhWElwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCSmJpQlVlWEJsVTJOeWFYQjBMQ0IwYUdseklHNWxkbVZ5SUdoaGNIQmxibk11WEc0Z0lDQWdJQ0FnSUNBZ0lDQmZjR0ZwY2lBOUlHNWxkeUJRWVdseUtIQmhhWElzSUhCaGFYSS9MblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0JmY0dGcGNpQTlJRzVsZHlCUVlXbHlLSEJoYVhJdWEyVjVMQ0J3WVdseUxuWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY0hKbGRpQTlJR1pwYm1SUVlXbHlLSFJvYVhNdWFYUmxiWE1zSUY5d1lXbHlMbXRsZVNrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhOdmNuUkZiblJ5YVdWeklEMGdkR2hwY3k1elkyaGxiV0UvTG5OdmNuUk5ZWEJGYm5SeWFXVnpPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NISmxkaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGdmRtVnlkM0pwZEdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dCTFpYa2dKSHRmY0dGcGNpNXJaWGw5SUdGc2NtVmhaSGtnYzJWMFlDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QkdiM0lnYzJOaGJHRnljeXdnYTJWbGNDQjBhR1VnYjJ4a0lHNXZaR1VnSmlCcGRITWdZMjl0YldWdWRITWdZVzVrSUdGdVkyaHZjbk5jYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYzFOallXeGhjaWh3Y21WMkxuWmhiSFZsS1NBbUppQnBjMU5qWVd4aGNsWmhiSFZsS0Y5d1lXbHlMblpoYkhWbEtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQndjbVYyTG5aaGJIVmxMblpoYkhWbElEMGdYM0JoYVhJdWRtRnNkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKbGRpNTJZV3gxWlNBOUlGOXdZV2x5TG5aaGJIVmxPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hOdmNuUkZiblJ5YVdWektTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JwSUQwZ2RHaHBjeTVwZEdWdGN5NW1hVzVrU1c1a1pYZ29hWFJsYlNBOVBpQnpiM0owUlc1MGNtbGxjeWhmY0dGcGNpd2dhWFJsYlNrZ1BDQXdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwSUQwOVBTQXRNU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtbDBaVzF6TG5CMWMyZ29YM0JoYVhJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YVhSbGJYTXVjM0JzYVdObEtHa3NJREFzSUY5d1lXbHlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YVhSbGJYTXVjSFZ6YUNoZmNHRnBjaWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdaR1ZzWlhSbEtHdGxlU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JwZENBOUlHWnBibVJRWVdseUtIUm9hWE11YVhSbGJYTXNJR3RsZVNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doYVhRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdSbGJDQTlJSFJvYVhNdWFYUmxiWE11YzNCc2FXTmxLSFJvYVhNdWFYUmxiWE11YVc1a1pYaFBaaWhwZENrc0lERXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1ZzTG14bGJtZDBhQ0ErSURBN1hHNGdJQ0FnZlZ4dUlDQWdJR2RsZENoclpYa3NJR3RsWlhCVFkyRnNZWElwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVhRZ1BTQm1hVzVrVUdGcGNpaDBhR2x6TG1sMFpXMXpMQ0JyWlhrcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnYVhRL0xuWmhiSFZsTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnS0NGclpXVndVMk5oYkdGeUlDWW1JR2x6VTJOaGJHRnlLRzV2WkdVcElEOGdibTlrWlM1MllXeDFaU0E2SUc1dlpHVXBJRDgvSUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0I5WEc0Z0lDQWdhR0Z6S0d0bGVTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdJU0ZtYVc1a1VHRnBjaWgwYUdsekxtbDBaVzF6TENCclpYa3BPMXh1SUNBZ0lIMWNiaUFnSUNCelpYUW9hMlY1TENCMllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbUZrWkNodVpYY2dVR0ZwY2loclpYa3NJSFpoYkhWbEtTd2dkSEoxWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JqZEhnZ0xTQkRiMjUyWlhKemFXOXVJR052Ym5SbGVIUXNJRzl5YVdkcGJtRnNiSGtnYzJWMElHbHVJRVJ2WTNWdFpXNTBJM1J2U2xNb0tWeHVJQ0FnSUNBcUlFQndZWEpoYlNCN1EyeGhjM045SUZSNWNHVWdMU0JKWmlCelpYUXNJR1p2Y21ObGN5QjBhR1VnY21WMGRYSnVaV1FnWTI5c2JHVmpkR2x2YmlCMGVYQmxYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdTVzV6ZEdGdVkyVWdiMllnVkhsd1pTd2dUV0Z3TENCdmNpQlBZbXBsWTNSY2JpQWdJQ0FnS2k5Y2JpQWdJQ0IwYjBwVFQwNG9YeXdnWTNSNExDQlVlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxaGNDQTlJRlI1Y0dVZ1B5QnVaWGNnVkhsd1pTZ3BJRG9nWTNSNFB5NXRZWEJCYzAxaGNDQS9JRzVsZHlCTllYQW9LU0E2SUh0OU8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNSNFB5NXZia055WldGMFpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUdOMGVDNXZia055WldGMFpTaHRZWEFwTzF4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHbDBaVzBnYjJZZ2RHaHBjeTVwZEdWdGN5bGNiaUFnSUNBZ0lDQWdJQ0FnSUdGa1pGQmhhWEpVYjBwVFRXRndLR04wZUN3Z2JXRndMQ0JwZEdWdEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHMWhjRHRjYmlBZ0lDQjlYRzRnSUNBZ2RHOVRkSEpwYm1jb1kzUjRMQ0J2YmtOdmJXMWxiblFzSUc5dVEyaHZiWEJMWldWd0tTQjdYRzRnSUNBZ0lDQWdJR2xtSUNnaFkzUjRLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVwVFQwNHVjM1J5YVc1bmFXWjVLSFJvYVhNcE8xeHVJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJR2wwWlcwZ2IyWWdkR2hwY3k1cGRHVnRjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGcGMxQmhhWElvYVhSbGJTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQk5ZWEFnYVhSbGJYTWdiWFZ6ZENCaGJHd2dZbVVnY0dGcGNuTTdJR1p2ZFc1a0lDUjdTbE5QVGk1emRISnBibWRwWm5rb2FYUmxiU2w5SUdsdWMzUmxZV1JnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvSVdOMGVDNWhiR3hPZFd4c1ZtRnNkV1Z6SUNZbUlIUm9hWE11YUdGelFXeHNUblZzYkZaaGJIVmxjeWhtWVd4elpTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNCamRIZ2dQU0JQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0JqZEhnc0lIc2dZV3hzVG5Wc2JGWmhiSFZsY3pvZ2RISjFaU0I5S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOMGNtbHVaMmxtZVVOdmJHeGxZM1JwYjI0b2RHaHBjeXdnWTNSNExDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWJHOWphMGwwWlcxUWNtVm1hWGc2SUNjbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnWm14dmQwTm9ZWEp6T2lCN0lITjBZWEowT2lBbmV5Y3NJR1Z1WkRvZ0ozMG5JSDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnBkR1Z0U1c1a1pXNTBPaUJqZEhndWFXNWtaVzUwSUh4OElDY25MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNURhRzl0Y0V0bFpYQXNYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJrTnZiVzFsYm5SY2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnZXlCWlFVMU1UV0Z3TENCbWFXNWtVR0ZwY2lCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUdselRXRndJSDBnWm5KdmJTQW5MaTR2TGk0dmJtOWtaWE12YVdSbGJuUnBkSGt1YW5Nbk8xeHVhVzF3YjNKMElIc2dXVUZOVEUxaGNDQjlJR1p5YjIwZ0p5NHVMeTR1TDI1dlpHVnpMMWxCVFV4TllYQXVhbk1uTzF4dVhHNWpiMjV6ZENCdFlYQWdQU0I3WEc0Z0lDQWdZMjlzYkdWamRHbHZiam9nSjIxaGNDY3NYRzRnSUNBZ1pHVm1ZWFZzZERvZ2RISjFaU3hjYmlBZ0lDQnViMlJsUTJ4aGMzTTZJRmxCVFV4TllYQXNYRzRnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2YldGd0p5eGNiaUFnSUNCeVpYTnZiSFpsS0cxaGNDd2diMjVGY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXbHpUV0Z3S0cxaGNDa3BYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0NkRmVIQmxZM1JsWkNCaElHMWhjSEJwYm1jZ1ptOXlJSFJvYVhNZ2RHRm5KeWs3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ0WVhBN1hHNGdJQ0FnZlN4Y2JpQWdJQ0JqY21WaGRHVk9iMlJsT2lBb2MyTm9aVzFoTENCdlltb3NJR04wZUNrZ1BUNGdXVUZOVEUxaGNDNW1jbTl0S0hOamFHVnRZU3dnYjJKcUxDQmpkSGdwWEc1OU8xeHVYRzVsZUhCdmNuUWdleUJ0WVhBZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCamNtVmhkR1ZPYjJSbElIMGdabkp2YlNBbkxpNHZaRzlqTDJOeVpXRjBaVTV2WkdVdWFuTW5PMXh1YVcxd2IzSjBJSHNnYzNSeWFXNW5hV1o1UTI5c2JHVmpkR2x2YmlCOUlHWnliMjBnSnk0dUwzTjBjbWx1WjJsbWVTOXpkSEpwYm1kcFpubERiMnhzWldOMGFXOXVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lFTnZiR3hsWTNScGIyNGdmU0JtY205dElDY3VMME52Ykd4bFkzUnBiMjR1YW5Nbk8xeHVhVzF3YjNKMElIc2dVMFZSTENCcGMxTmpZV3hoY2lCOUlHWnliMjBnSnk0dmFXUmxiblJwZEhrdWFuTW5PMXh1YVcxd2IzSjBJSHNnYVhOVFkyRnNZWEpXWVd4MVpTQjlJR1p5YjIwZ0p5NHZVMk5oYkdGeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUhSdlNsTWdmU0JtY205dElDY3VMM1J2U2xNdWFuTW5PMXh1WEc1amJHRnpjeUJaUVUxTVUyVnhJR1Y0ZEdWdVpITWdRMjlzYkdWamRHbHZiaUI3WEc0Z0lDQWdjM1JoZEdsaklHZGxkQ0IwWVdkT1lXMWxLQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T25ObGNTYzdYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtITmphR1Z0WVNrZ2UxeHVJQ0FnSUNBZ0lDQnpkWEJsY2loVFJWRXNJSE5qYUdWdFlTazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWFYUmxiWE1nUFNCYlhUdGNiaUFnSUNCOVhHNGdJQ0FnWVdSa0tIWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YVhSbGJYTXVjSFZ6YUNoMllXeDFaU2s3WEc0Z0lDQWdmVnh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRkpsYlc5MlpYTWdZU0IyWVd4MVpTQm1jbTl0SUhSb1pTQmpiMnhzWldOMGFXOXVMbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dZR3RsZVdBZ2JYVnpkQ0JqYjI1MFlXbHVJR0VnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnWVc0Z2FXNTBaV2RsY2lCbWIzSWdkR2hwY3lCMGJ5QnpkV05qWldWa0xseHVJQ0FnSUNBcUlFbDBJRzFoZVNCaVpTQjNjbUZ3Y0dWa0lHbHVJR0VnWUZOallXeGhjbUF1WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUJnZEhKMVpXQWdhV1lnZEdobElHbDBaVzBnZDJGeklHWnZkVzVrSUdGdVpDQnlaVzF2ZG1Wa0xseHVJQ0FnSUNBcUwxeHVJQ0FnSUdSbGJHVjBaU2hyWlhrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FXUjRJRDBnWVhOSmRHVnRTVzVrWlhnb2EyVjVLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcFpIZ2dJVDA5SUNkdWRXMWlaWEluS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrWld3Z1BTQjBhR2x6TG1sMFpXMXpMbk53YkdsalpTaHBaSGdzSURFcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnNMbXhsYm1kMGFDQStJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHZGxkQ2hyWlhrc0lHdGxaWEJUWTJGc1lYSXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhV1I0SUQwZ1lYTkpkR1Z0U1c1a1pYZ29hMlY1S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnBaSGdnSVQwOUlDZHVkVzFpWlhJbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhWFFnUFNCMGFHbHpMbWwwWlcxelcybGtlRjA3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFoYTJWbGNGTmpZV3hoY2lBbUppQnBjMU5qWVd4aGNpaHBkQ2tnUHlCcGRDNTJZV3gxWlNBNklHbDBPMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRhR1ZqYTNNZ2FXWWdkR2hsSUdOdmJHeGxZM1JwYjI0Z2FXNWpiSFZrWlhNZ1lTQjJZV3gxWlNCM2FYUm9JSFJvWlNCclpYa2dZR3RsZVdBdVhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCZ2EyVjVZQ0J0ZFhOMElHTnZiblJoYVc0Z1lTQnlaWEJ5WlhObGJuUmhkR2x2YmlCdlppQmhiaUJwYm5SbFoyVnlJR1p2Y2lCMGFHbHpJSFJ2SUhOMVkyTmxaV1F1WEc0Z0lDQWdJQ29nU1hRZ2JXRjVJR0psSUhkeVlYQndaV1FnYVc0Z1lTQmdVMk5oYkdGeVlDNWNiaUFnSUNBZ0tpOWNiaUFnSUNCb1lYTW9hMlY1S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdsa2VDQTlJR0Z6U1hSbGJVbHVaR1Y0S0d0bGVTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBlWEJsYjJZZ2FXUjRJRDA5UFNBbmJuVnRZbVZ5SnlBbUppQnBaSGdnUENCMGFHbHpMbWwwWlcxekxteGxibWQwYUR0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nVTJWMGN5QmhJSFpoYkhWbElHbHVJSFJvYVhNZ1kyOXNiR1ZqZEdsdmJpNGdSbTl5SUdBaElYTmxkR0FzSUdCMllXeDFaV0FnYm1WbFpITWdkRzhnWW1VZ1lWeHVJQ0FnSUNBcUlHSnZiMnhsWVc0Z2RHOGdZV1JrTDNKbGJXOTJaU0IwYUdVZ2FYUmxiU0JtY205dElIUm9aU0J6WlhRdVhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCSlppQmdhMlY1WUNCa2IyVnpJRzV2ZENCamIyNTBZV2x1SUdFZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lXNGdhVzUwWldkbGNpd2dkR2hwY3lCM2FXeHNJSFJvY205M0xseHVJQ0FnSUNBcUlFbDBJRzFoZVNCaVpTQjNjbUZ3Y0dWa0lHbHVJR0VnWUZOallXeGhjbUF1WEc0Z0lDQWdJQ292WEc0Z0lDQWdjMlYwS0d0bGVTd2dkbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FXUjRJRDBnWVhOSmRHVnRTVzVrWlhnb2EyVjVLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcFpIZ2dJVDA5SUNkdWRXMWlaWEluS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQkZlSEJsWTNSbFpDQmhJSFpoYkdsa0lHbHVaR1Y0TENCdWIzUWdKSHRyWlhsOUxtQXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQndjbVYySUQwZ2RHaHBjeTVwZEdWdGMxdHBaSGhkTzF4dUlDQWdJQ0FnSUNCcFppQW9hWE5UWTJGc1lYSW9jSEpsZGlrZ0ppWWdhWE5UWTJGc1lYSldZV3gxWlNoMllXeDFaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbVYyTG5aaGJIVmxJRDBnZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFYUmxiWE5iYVdSNFhTQTlJSFpoYkhWbE8xeHVJQ0FnSUgxY2JpQWdJQ0IwYjBwVFQwNG9YeXdnWTNSNEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElITmxjU0E5SUZ0ZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNSNFB5NXZia055WldGMFpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUdOMGVDNXZia055WldGMFpTaHpaWEVwTzF4dUlDQWdJQ0FnSUNCc1pYUWdhU0E5SURBN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdhWFJsYlNCdlppQjBhR2x6TG1sMFpXMXpLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2MyVnhMbkIxYzJnb2RHOUtVeWhwZEdWdExDQlRkSEpwYm1jb2FTc3JLU3dnWTNSNEtTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpaWEU3WEc0Z0lDQWdmVnh1SUNBZ0lIUnZVM1J5YVc1bktHTjBlQ3dnYjI1RGIyMXRaVzUwTENCdmJrTm9iMjF3UzJWbGNDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXTjBlQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCS1UwOU9Mbk4wY21sdVoybG1lU2gwYUdsektUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITjBjbWx1WjJsbWVVTnZiR3hsWTNScGIyNG9kR2hwY3l3Z1kzUjRMQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmliRzlqYTBsMFpXMVFjbVZtYVhnNklDY3RJQ2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iRzkzUTJoaGNuTTZJSHNnYzNSaGNuUTZJQ2RiSnl3Z1pXNWtPaUFuWFNjZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdsMFpXMUpibVJsYm5RNklDaGpkSGd1YVc1a1pXNTBJSHg4SUNjbktTQXJJQ2NnSUNjc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J2YmtOb2IyMXdTMlZsY0N4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzl1UTI5dGJXVnVkRnh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjM1JoZEdsaklHWnliMjBvYzJOb1pXMWhMQ0J2WW1vc0lHTjBlQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0I3SUhKbGNHeGhZMlZ5SUgwZ1BTQmpkSGc3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5sY1NBOUlHNWxkeUIwYUdsektITmphR1Z0WVNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h2WW1vZ0ppWWdVM2x0WW05c0xtbDBaWEpoZEc5eUlHbHVJRTlpYW1WamRDaHZZbW9wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2FTQTlJREE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnBkQ0J2WmlCdlltb3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhKbGNHeGhZMlZ5SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUd0bGVTQTlJRzlpYWlCcGJuTjBZVzVqWlc5bUlGTmxkQ0EvSUdsMElEb2dVM1J5YVc1bktHa3JLeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBJRDBnY21Wd2JHRmpaWEl1WTJGc2JDaHZZbW9zSUd0bGVTd2dhWFFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCelpYRXVhWFJsYlhNdWNIVnphQ2hqY21WaGRHVk9iMlJsS0dsMExDQjFibVJsWm1sdVpXUXNJR04wZUNrcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCelpYRTdYRzRnSUNBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWVhOSmRHVnRTVzVrWlhnb2EyVjVLU0I3WEc0Z0lDQWdiR1YwSUdsa2VDQTlJR2x6VTJOaGJHRnlLR3RsZVNrZ1B5QnJaWGt1ZG1Gc2RXVWdPaUJyWlhrN1hHNGdJQ0FnYVdZZ0tHbGtlQ0FtSmlCMGVYQmxiMllnYVdSNElEMDlQU0FuYzNSeWFXNW5KeWxjYmlBZ0lDQWdJQ0FnYVdSNElEMGdUblZ0WW1WeUtHbGtlQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCcFpIZ2dQVDA5SUNkdWRXMWlaWEluSUNZbUlFNTFiV0psY2k1cGMwbHVkR1ZuWlhJb2FXUjRLU0FtSmlCcFpIZ2dQajBnTUZ4dUlDQWdJQ0FnSUNBL0lHbGtlRnh1SUNBZ0lDQWdJQ0E2SUc1MWJHdzdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lGbEJUVXhUWlhFZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCcGMxTmxjU0I5SUdaeWIyMGdKeTR1THk0dUwyNXZaR1Z6TDJsa1pXNTBhWFI1TG1wekp6dGNibWx0Y0c5eWRDQjdJRmxCVFV4VFpYRWdmU0JtY205dElDY3VMaTh1TGk5dWIyUmxjeTlaUVUxTVUyVnhMbXB6Snp0Y2JseHVZMjl1YzNRZ2MyVnhJRDBnZTF4dUlDQWdJR052Ykd4bFkzUnBiMjQ2SUNkelpYRW5MRnh1SUNBZ0lHUmxabUYxYkhRNklIUnlkV1VzWEc0Z0lDQWdibTlrWlVOc1lYTnpPaUJaUVUxTVUyVnhMRnh1SUNBZ0lIUmhaem9nSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T25ObGNTY3NYRzRnSUNBZ2NtVnpiMngyWlNoelpYRXNJRzl1UlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRnBjMU5sY1NoelpYRXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2lnblJYaHdaV04wWldRZ1lTQnpaWEYxWlc1alpTQm1iM0lnZEdocGN5QjBZV2NuS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhObGNUdGNiaUFnSUNCOUxGeHVJQ0FnSUdOeVpXRjBaVTV2WkdVNklDaHpZMmhsYldFc0lHOWlhaXdnWTNSNEtTQTlQaUJaUVUxTVUyVnhMbVp5YjIwb2MyTm9aVzFoTENCdlltb3NJR04wZUNsY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUhObGNTQjlPMXh1SWl3Z0ltbHRjRzl5ZENCN0lITjBjbWx1WjJsbWVWTjBjbWx1WnlCOUlHWnliMjBnSnk0dUx5NHVMM04wY21sdVoybG1lUzl6ZEhKcGJtZHBabmxUZEhKcGJtY3Vhbk1uTzF4dVhHNWpiMjV6ZENCemRISnBibWNnUFNCN1hHNGdJQ0FnYVdSbGJuUnBabms2SUhaaGJIVmxJRDArSUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjNOMGNtbHVaeWNzWEc0Z0lDQWdaR1ZtWVhWc2REb2dkSEoxWlN4Y2JpQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHpkSEluTEZ4dUlDQWdJSEpsYzI5c2RtVTZJSE4wY2lBOVBpQnpkSElzWEc0Z0lDQWdjM1J5YVc1bmFXWjVLR2wwWlcwc0lHTjBlQ3dnYjI1RGIyMXRaVzUwTENCdmJrTm9iMjF3UzJWbGNDa2dlMXh1SUNBZ0lDQWdJQ0JqZEhnZ1BTQlBZbXBsWTNRdVlYTnphV2R1S0hzZ1lXTjBkV0ZzVTNSeWFXNW5PaUIwY25WbElIMHNJR04wZUNrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCemRISnBibWRwWm5sVGRISnBibWNvYVhSbGJTd2dZM1I0TENCdmJrTnZiVzFsYm5Rc0lHOXVRMmh2YlhCTFpXVndLVHRjYmlBZ0lDQjlYRzU5TzF4dVhHNWxlSEJ2Y25RZ2V5QnpkSEpwYm1jZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCVFkyRnNZWElnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5VFkyRnNZWEl1YW5Nbk8xeHVYRzVqYjI1emRDQnVkV3hzVkdGbklEMGdlMXh1SUNBZ0lHbGtaVzUwYVdaNU9pQjJZV3gxWlNBOVBpQjJZV3gxWlNBOVBTQnVkV3hzTEZ4dUlDQWdJR055WldGMFpVNXZaR1U2SUNncElEMCtJRzVsZHlCVFkyRnNZWElvYm5Wc2JDa3NYRzRnSUNBZ1pHVm1ZWFZzZERvZ2RISjFaU3hjYmlBZ0lDQjBZV2M2SUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwdWRXeHNKeXhjYmlBZ0lDQjBaWE4wT2lBdlhpZy9PbjU4VzA1dVhYVnNiSHhPVlV4TUtUOGtMeXhjYmlBZ0lDQnlaWE52YkhabE9pQW9LU0E5UGlCdVpYY2dVMk5oYkdGeUtHNTFiR3dwTEZ4dUlDQWdJSE4wY21sdVoybG1lVG9nS0hzZ2MyOTFjbU5sSUgwc0lHTjBlQ2tnUFQ0Z2RIbHdaVzltSUhOdmRYSmpaU0E5UFQwZ0ozTjBjbWx1WnljZ0ppWWdiblZzYkZSaFp5NTBaWE4wTG5SbGMzUW9jMjkxY21ObEtWeHVJQ0FnSUNBZ0lDQS9JSE52ZFhKalpWeHVJQ0FnSUNBZ0lDQTZJR04wZUM1dmNIUnBiMjV6TG01MWJHeFRkSEpjYm4wN1hHNWNibVY0Y0c5eWRDQjdJRzUxYkd4VVlXY2dmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QlRZMkZzWVhJZ2ZTQm1jbTl0SUNjdUxpOHVMaTl1YjJSbGN5OVRZMkZzWVhJdWFuTW5PMXh1WEc1amIyNXpkQ0JpYjI5c1ZHRm5JRDBnZTF4dUlDQWdJR2xrWlc1MGFXWjVPaUIyWVd4MVpTQTlQaUIwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2RpYjI5c1pXRnVKeXhjYmlBZ0lDQmtaV1poZFd4ME9pQjBjblZsTEZ4dUlDQWdJSFJoWnpvZ0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9tSnZiMnduTEZ4dUlDQWdJSFJsYzNRNklDOWVLRDg2VzFSMFhYSjFaWHhVVWxWRmZGdEdabDFoYkhObGZFWkJURk5GS1NRdkxGeHVJQ0FnSUhKbGMyOXNkbVU2SUhOMGNpQTlQaUJ1WlhjZ1UyTmhiR0Z5S0hOMGNsc3dYU0E5UFQwZ0ozUW5JSHg4SUhOMGNsc3dYU0E5UFQwZ0oxUW5LU3hjYmlBZ0lDQnpkSEpwYm1kcFpua29leUJ6YjNWeVkyVXNJSFpoYkhWbElIMHNJR04wZUNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzI5MWNtTmxJQ1ltSUdKdmIyeFVZV2N1ZEdWemRDNTBaWE4wS0hOdmRYSmpaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjJJRDBnYzI5MWNtTmxXekJkSUQwOVBTQW5kQ2NnZkh3Z2MyOTFjbU5sV3pCZElEMDlQU0FuVkNjN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1VnUFQwOUlITjJLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnpiM1Z5WTJVN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsSUQ4Z1kzUjRMbTl3ZEdsdmJuTXVkSEoxWlZOMGNpQTZJR04wZUM1dmNIUnBiMjV6TG1aaGJITmxVM1J5TzF4dUlDQWdJSDFjYm4wN1hHNWNibVY0Y0c5eWRDQjdJR0p2YjJ4VVlXY2dmVHRjYmlJc0lDSm1kVzVqZEdsdmJpQnpkSEpwYm1kcFpubE9kVzFpWlhJb2V5Qm1iM0p0WVhRc0lHMXBia1p5WVdOMGFXOXVSR2xuYVhSekxDQjBZV2NzSUhaaGJIVmxJSDBwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBblltbG5hVzUwSnlsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZOMGNtbHVaeWgyWVd4MVpTazdYRzRnSUNBZ1kyOXVjM1FnYm5WdElEMGdkSGx3Wlc5bUlIWmhiSFZsSUQwOVBTQW5iblZ0WW1WeUp5QS9JSFpoYkhWbElEb2dUblZ0WW1WeUtIWmhiSFZsS1R0Y2JpQWdJQ0JwWmlBb0lXbHpSbWx1YVhSbEtHNTFiU2twWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJwYzA1aFRpaHVkVzBwSUQ4Z0p5NXVZVzRuSURvZ2JuVnRJRHdnTUNBL0lDY3RMbWx1WmljZ09pQW5MbWx1WmljN1hHNGdJQ0FnYkdWMElHNGdQU0JLVTA5T0xuTjBjbWx1WjJsbWVTaDJZV3gxWlNrN1hHNGdJQ0FnYVdZZ0tDRm1iM0p0WVhRZ0ppWmNiaUFnSUNBZ0lDQWdiV2x1Um5KaFkzUnBiMjVFYVdkcGRITWdKaVpjYmlBZ0lDQWdJQ0FnS0NGMFlXY2dmSHdnZEdGbklEMDlQU0FuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2Wm14dllYUW5LU0FtSmx4dUlDQWdJQ0FnSUNBdlhseGNaQzh1ZEdWemRDaHVLU2tnZTF4dUlDQWdJQ0FnSUNCc1pYUWdhU0E5SUc0dWFXNWtaWGhQWmlnbkxpY3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2FTQThJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2tnUFNCdUxteGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzRnS3owZ0p5NG5PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUd4bGRDQmtJRDBnYldsdVJuSmhZM1JwYjI1RWFXZHBkSE1nTFNBb2JpNXNaVzVuZEdnZ0xTQnBJQzBnTVNrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNoa0xTMGdQaUF3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdiaUFyUFNBbk1DYzdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ1TzF4dWZWeHVYRzVsZUhCdmNuUWdleUJ6ZEhKcGJtZHBabmxPZFcxaVpYSWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QlRZMkZzWVhJZ2ZTQm1jbTl0SUNjdUxpOHVMaTl1YjJSbGN5OVRZMkZzWVhJdWFuTW5PMXh1YVcxd2IzSjBJSHNnYzNSeWFXNW5hV1o1VG5WdFltVnlJSDBnWm5KdmJTQW5MaTR2TGk0dmMzUnlhVzVuYVdaNUwzTjBjbWx1WjJsbWVVNTFiV0psY2k1cWN5YzdYRzVjYm1OdmJuTjBJR1pzYjJGMFRtRk9JRDBnZTF4dUlDQWdJR2xrWlc1MGFXWjVPaUIyWVd4MVpTQTlQaUIwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2R1ZFcxaVpYSW5MRnh1SUNBZ0lHUmxabUYxYkhRNklIUnlkV1VzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNlpteHZZWFFuTEZ4dUlDQWdJSFJsYzNRNklDOWVLRDg2V3kwclhUOWNYQzRvUHpwcGJtWjhTVzVtZkVsT1JpbDhYRnd1Ym1GdWZGeGNMazVoVG54Y1hDNU9RVTRwSkM4c1hHNGdJQ0FnY21WemIyeDJaVG9nYzNSeUlEMCtJSE4wY2k1emJHbGpaU2d0TXlrdWRHOU1iM2RsY2tOaGMyVW9LU0E5UFQwZ0oyNWhiaWRjYmlBZ0lDQWdJQ0FnUHlCT1lVNWNiaUFnSUNBZ0lDQWdPaUJ6ZEhKYk1GMGdQVDA5SUNjdEoxeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlCT2RXMWlaWEl1VGtWSFFWUkpWa1ZmU1U1R1NVNUpWRmxjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dUblZ0WW1WeUxsQlBVMGxVU1ZaRlgwbE9Sa2xPU1ZSWkxGeHVJQ0FnSUhOMGNtbHVaMmxtZVRvZ2MzUnlhVzVuYVdaNVRuVnRZbVZ5WEc1OU8xeHVZMjl1YzNRZ1pteHZZWFJGZUhBZ1BTQjdYRzRnSUNBZ2FXUmxiblJwWm5rNklIWmhiSFZsSUQwK0lIUjVjR1Z2WmlCMllXeDFaU0E5UFQwZ0oyNTFiV0psY2ljc1hHNGdJQ0FnWkdWbVlYVnNkRG9nZEhKMVpTeGNiaUFnSUNCMFlXYzZJQ2QwWVdjNmVXRnRiQzV2Y21jc01qQXdNanBtYkc5aGRDY3NYRzRnSUNBZ1ptOXliV0YwT2lBblJWaFFKeXhjYmlBZ0lDQjBaWE4wT2lBdlhsc3RLMTAvS0Q4NlhGd3VXekF0T1YwcmZGc3dMVGxkS3lnL09seGNMbHN3TFRsZEtpay9LVnRsUlYxYkxTdGRQMXN3TFRsZEt5UXZMRnh1SUNBZ0lISmxjMjlzZG1VNklITjBjaUE5UGlCd1lYSnpaVVpzYjJGMEtITjBjaWtzWEc0Z0lDQWdjM1J5YVc1bmFXWjVLRzV2WkdVcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JuVnRJRDBnVG5WdFltVnlLRzV2WkdVdWRtRnNkV1VwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhOR2FXNXBkR1VvYm5WdEtTQS9JRzUxYlM1MGIwVjRjRzl1Wlc1MGFXRnNLQ2tnT2lCemRISnBibWRwWm5sT2RXMWlaWElvYm05a1pTazdYRzRnSUNBZ2ZWeHVmVHRjYm1OdmJuTjBJR1pzYjJGMElEMGdlMXh1SUNBZ0lHbGtaVzUwYVdaNU9pQjJZV3gxWlNBOVBpQjBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZHVkVzFpWlhJbkxGeHVJQ0FnSUdSbFptRjFiSFE2SUhSeWRXVXNYRzRnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2Wm14dllYUW5MRnh1SUNBZ0lIUmxjM1E2SUM5ZVd5MHJYVDhvUHpwY1hDNWJNQzA1WFN0OFd6QXRPVjByWEZ3dVd6QXRPVjBxS1NRdkxGeHVJQ0FnSUhKbGMyOXNkbVVvYzNSeUtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHNXZaR1VnUFNCdVpYY2dVMk5oYkdGeUtIQmhjbk5sUm14dllYUW9jM1J5S1NrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdSdmRDQTlJSE4wY2k1cGJtUmxlRTltS0NjdUp5azdYRzRnSUNBZ0lDQWdJR2xtSUNoa2IzUWdJVDA5SUMweElDWW1JSE4wY2x0emRISXViR1Z1WjNSb0lDMGdNVjBnUFQwOUlDY3dKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lHNXZaR1V1YldsdVJuSmhZM1JwYjI1RWFXZHBkSE1nUFNCemRISXViR1Z1WjNSb0lDMGdaRzkwSUMwZ01UdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNXZaR1U3WEc0Z0lDQWdmU3hjYmlBZ0lDQnpkSEpwYm1kcFpuazZJSE4wY21sdVoybG1lVTUxYldKbGNseHVmVHRjYmx4dVpYaHdiM0owSUhzZ1pteHZZWFFzSUdac2IyRjBSWGh3TENCbWJHOWhkRTVoVGlCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUhOMGNtbHVaMmxtZVU1MWJXSmxjaUI5SUdaeWIyMGdKeTR1THk0dUwzTjBjbWx1WjJsbWVTOXpkSEpwYm1kcFpubE9kVzFpWlhJdWFuTW5PMXh1WEc1amIyNXpkQ0JwYm5SSlpHVnVkR2xtZVNBOUlDaDJZV3gxWlNrZ1BUNGdkSGx3Wlc5bUlIWmhiSFZsSUQwOVBTQW5ZbWxuYVc1MEp5QjhmQ0JPZFcxaVpYSXVhWE5KYm5SbFoyVnlLSFpoYkhWbEtUdGNibU52Ym5OMElHbHVkRkpsYzI5c2RtVWdQU0FvYzNSeUxDQnZabVp6WlhRc0lISmhaR2w0TENCN0lHbHVkRUZ6UW1sblNXNTBJSDBwSUQwK0lDaHBiblJCYzBKcFowbHVkQ0EvSUVKcFowbHVkQ2h6ZEhJcElEb2djR0Z5YzJWSmJuUW9jM1J5TG5OMVluTjBjbWx1WnlodlptWnpaWFFwTENCeVlXUnBlQ2twTzF4dVpuVnVZM1JwYjI0Z2FXNTBVM1J5YVc1bmFXWjVLRzV2WkdVc0lISmhaR2w0TENCd2NtVm1hWGdwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJSFpoYkhWbElIMGdQU0J1YjJSbE8xeHVJQ0FnSUdsbUlDaHBiblJKWkdWdWRHbG1lU2gyWVd4MVpTa2dKaVlnZG1Gc2RXVWdQajBnTUNsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhCeVpXWnBlQ0FySUhaaGJIVmxMblJ2VTNSeWFXNW5LSEpoWkdsNEtUdGNiaUFnSUNCeVpYUjFjbTRnYzNSeWFXNW5hV1o1VG5WdFltVnlLRzV2WkdVcE8xeHVmVnh1WTI5dWMzUWdhVzUwVDJOMElEMGdlMXh1SUNBZ0lHbGtaVzUwYVdaNU9pQjJZV3gxWlNBOVBpQnBiblJKWkdWdWRHbG1lU2gyWVd4MVpTa2dKaVlnZG1Gc2RXVWdQajBnTUN4Y2JpQWdJQ0JrWldaaGRXeDBPaUIwY25WbExGeHVJQ0FnSUhSaFp6b2dKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPbWx1ZENjc1hHNGdJQ0FnWm05eWJXRjBPaUFuVDBOVUp5eGNiaUFnSUNCMFpYTjBPaUF2WGpCdld6QXROMTBySkM4c1hHNGdJQ0FnY21WemIyeDJaVG9nS0hOMGNpd2dYMjl1UlhKeWIzSXNJRzl3ZENrZ1BUNGdhVzUwVW1WemIyeDJaU2h6ZEhJc0lESXNJRGdzSUc5d2RDa3NYRzRnSUNBZ2MzUnlhVzVuYVdaNU9pQnViMlJsSUQwK0lHbHVkRk4wY21sdVoybG1lU2h1YjJSbExDQTRMQ0FuTUc4bktWeHVmVHRjYm1OdmJuTjBJR2x1ZENBOUlIdGNiaUFnSUNCcFpHVnVkR2xtZVRvZ2FXNTBTV1JsYm5ScFpua3NYRzRnSUNBZ1pHVm1ZWFZzZERvZ2RISjFaU3hjYmlBZ0lDQjBZV2M2SUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwcGJuUW5MRnh1SUNBZ0lIUmxjM1E2SUM5ZVd5MHJYVDliTUMwNVhTc2tMeXhjYmlBZ0lDQnlaWE52YkhabE9pQW9jM1J5TENCZmIyNUZjbkp2Y2l3Z2IzQjBLU0E5UGlCcGJuUlNaWE52YkhabEtITjBjaXdnTUN3Z01UQXNJRzl3ZENrc1hHNGdJQ0FnYzNSeWFXNW5hV1o1T2lCemRISnBibWRwWm5sT2RXMWlaWEpjYm4wN1hHNWpiMjV6ZENCcGJuUklaWGdnUFNCN1hHNGdJQ0FnYVdSbGJuUnBabms2SUhaaGJIVmxJRDArSUdsdWRFbGtaVzUwYVdaNUtIWmhiSFZsS1NBbUppQjJZV3gxWlNBK1BTQXdMRnh1SUNBZ0lHUmxabUYxYkhRNklIUnlkV1VzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNmFXNTBKeXhjYmlBZ0lDQm1iM0p0WVhRNklDZElSVmduTEZ4dUlDQWdJSFJsYzNRNklDOWVNSGhiTUMwNVlTMW1RUzFHWFNza0x5eGNiaUFnSUNCeVpYTnZiSFpsT2lBb2MzUnlMQ0JmYjI1RmNuSnZjaXdnYjNCMEtTQTlQaUJwYm5SU1pYTnZiSFpsS0hOMGNpd2dNaXdnTVRZc0lHOXdkQ2tzWEc0Z0lDQWdjM1J5YVc1bmFXWjVPaUJ1YjJSbElEMCtJR2x1ZEZOMGNtbHVaMmxtZVNodWIyUmxMQ0F4Tml3Z0p6QjRKeWxjYm4wN1hHNWNibVY0Y0c5eWRDQjdJR2x1ZEN3Z2FXNTBTR1Y0TENCcGJuUlBZM1FnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJ0WVhBZ2ZTQm1jbTl0SUNjdUxpOWpiMjF0YjI0dmJXRndMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHNTFiR3hVWVdjZ2ZTQm1jbTl0SUNjdUxpOWpiMjF0YjI0dmJuVnNiQzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnpaWEVnZlNCbWNtOXRJQ2N1TGk5amIyMXRiMjR2YzJWeExtcHpKenRjYm1sdGNHOXlkQ0I3SUhOMGNtbHVaeUI5SUdaeWIyMGdKeTR1TDJOdmJXMXZiaTl6ZEhKcGJtY3Vhbk1uTzF4dWFXMXdiM0owSUhzZ1ltOXZiRlJoWnlCOUlHWnliMjBnSnk0dlltOXZiQzVxY3ljN1hHNXBiWEJ2Y25RZ2V5Qm1iRzloZEU1aFRpd2dabXh2WVhSRmVIQXNJR1pzYjJGMElIMGdabkp2YlNBbkxpOW1iRzloZEM1cWN5YzdYRzVwYlhCdmNuUWdleUJwYm5SUFkzUXNJR2x1ZEN3Z2FXNTBTR1Y0SUgwZ1puSnZiU0FuTGk5cGJuUXVhbk1uTzF4dVhHNWpiMjV6ZENCelkyaGxiV0VnUFNCYlhHNGdJQ0FnYldGd0xGeHVJQ0FnSUhObGNTeGNiaUFnSUNCemRISnBibWNzWEc0Z0lDQWdiblZzYkZSaFp5eGNiaUFnSUNCaWIyOXNWR0ZuTEZ4dUlDQWdJR2x1ZEU5amRDeGNiaUFnSUNCcGJuUXNYRzRnSUNBZ2FXNTBTR1Y0TEZ4dUlDQWdJR1pzYjJGMFRtRk9MRnh1SUNBZ0lHWnNiMkYwUlhod0xGeHVJQ0FnSUdac2IyRjBYRzVkTzF4dVhHNWxlSEJ2Y25RZ2V5QnpZMmhsYldFZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCVFkyRnNZWElnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5VFkyRnNZWEl1YW5Nbk8xeHVhVzF3YjNKMElIc2diV0Z3SUgwZ1puSnZiU0FuTGk0dlkyOXRiVzl1TDIxaGNDNXFjeWM3WEc1cGJYQnZjblFnZXlCelpYRWdmU0JtY205dElDY3VMaTlqYjIxdGIyNHZjMlZ4TG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnYVc1MFNXUmxiblJwWm5rb2RtRnNkV1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIWmhiSFZsSUQwOVBTQW5ZbWxuYVc1MEp5QjhmQ0JPZFcxaVpYSXVhWE5KYm5SbFoyVnlLSFpoYkhWbEtUdGNibjFjYm1OdmJuTjBJSE4wY21sdVoybG1lVXBUVDA0Z1BTQW9leUIyWVd4MVpTQjlLU0E5UGlCS1UwOU9Mbk4wY21sdVoybG1lU2gyWVd4MVpTazdYRzVqYjI1emRDQnFjMjl1VTJOaGJHRnljeUE5SUZ0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0FnSUdsa1pXNTBhV1o1T2lCMllXeDFaU0E5UGlCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkemRISnBibWNuTEZ4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHpkSEluTEZ4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsT2lCemRISWdQVDRnYzNSeUxGeHVJQ0FnSUNBZ0lDQnpkSEpwYm1kcFpuazZJSE4wY21sdVoybG1lVXBUVDA1Y2JpQWdJQ0I5TEZ4dUlDQWdJSHRjYmlBZ0lDQWdJQ0FnYVdSbGJuUnBabms2SUhaaGJIVmxJRDArSUhaaGJIVmxJRDA5SUc1MWJHd3NYRzRnSUNBZ0lDQWdJR055WldGMFpVNXZaR1U2SUNncElEMCtJRzVsZHlCVFkyRnNZWElvYm5Wc2JDa3NYRzRnSUNBZ0lDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lIUmhaem9nSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T201MWJHd25MRnh1SUNBZ0lDQWdJQ0IwWlhOME9pQXZYbTUxYkd3a0x5eGNiaUFnSUNBZ0lDQWdjbVZ6YjJ4MlpUb2dLQ2tnUFQ0Z2JuVnNiQ3hjYmlBZ0lDQWdJQ0FnYzNSeWFXNW5hV1o1T2lCemRISnBibWRwWm5sS1UwOU9YRzRnSUNBZ2ZTeGNiaUFnSUNCN1hHNGdJQ0FnSUNBZ0lHbGtaVzUwYVdaNU9pQjJZV3gxWlNBOVBpQjBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZGliMjlzWldGdUp5eGNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2WW05dmJDY3NYRzRnSUNBZ0lDQWdJSFJsYzNRNklDOWVkSEoxWlh4bVlXeHpaU1F2TEZ4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsT2lCemRISWdQVDRnYzNSeUlEMDlQU0FuZEhKMVpTY3NYRzRnSUNBZ0lDQWdJSE4wY21sdVoybG1lVG9nYzNSeWFXNW5hV1o1U2xOUFRseHVJQ0FnSUgwc1hHNGdJQ0FnZTF4dUlDQWdJQ0FnSUNCcFpHVnVkR2xtZVRvZ2FXNTBTV1JsYm5ScFpua3NYRzRnSUNBZ0lDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lIUmhaem9nSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T21sdWRDY3NYRzRnSUNBZ0lDQWdJSFJsYzNRNklDOWVMVDhvUHpvd2ZGc3hMVGxkV3pBdE9WMHFLU1F2TEZ4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsT2lBb2MzUnlMQ0JmYjI1RmNuSnZjaXdnZXlCcGJuUkJjMEpwWjBsdWRDQjlLU0E5UGlCcGJuUkJjMEpwWjBsdWRDQS9JRUpwWjBsdWRDaHpkSElwSURvZ2NHRnljMlZKYm5Rb2MzUnlMQ0F4TUNrc1hHNGdJQ0FnSUNBZ0lITjBjbWx1WjJsbWVUb2dLSHNnZG1Gc2RXVWdmU2tnUFQ0Z2FXNTBTV1JsYm5ScFpua29kbUZzZFdVcElEOGdkbUZzZFdVdWRHOVRkSEpwYm1jb0tTQTZJRXBUVDA0dWMzUnlhVzVuYVdaNUtIWmhiSFZsS1Z4dUlDQWdJSDBzWEc0Z0lDQWdlMXh1SUNBZ0lDQWdJQ0JwWkdWdWRHbG1lVG9nZG1Gc2RXVWdQVDRnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYm5WdFltVnlKeXhjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNlpteHZZWFFuTEZ4dUlDQWdJQ0FnSUNCMFpYTjBPaUF2WGkwL0tEODZNSHhiTVMwNVhWc3dMVGxkS2lrb1B6cGNYQzViTUMwNVhTb3BQeWcvT2x0bFJWMWJMU3RkUDFzd0xUbGRLeWsvSkM4c1hHNGdJQ0FnSUNBZ0lISmxjMjlzZG1VNklITjBjaUE5UGlCd1lYSnpaVVpzYjJGMEtITjBjaWtzWEc0Z0lDQWdJQ0FnSUhOMGNtbHVaMmxtZVRvZ2MzUnlhVzVuYVdaNVNsTlBUbHh1SUNBZ0lIMWNibDA3WEc1amIyNXpkQ0JxYzI5dVJYSnliM0lnUFNCN1hHNGdJQ0FnWkdWbVlYVnNkRG9nZEhKMVpTeGNiaUFnSUNCMFlXYzZJQ2NuTEZ4dUlDQWdJSFJsYzNRNklDOWVMeXhjYmlBZ0lDQnlaWE52YkhabEtITjBjaXdnYjI1RmNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNCdmJrVnljbTl5S0dCVmJuSmxjMjlzZG1Wa0lIQnNZV2x1SUhOallXeGhjaUFrZTBwVFQwNHVjM1J5YVc1bmFXWjVLSE4wY2lsOVlDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpkSEk3WEc0Z0lDQWdmVnh1ZlR0Y2JtTnZibk4wSUhOamFHVnRZU0E5SUZ0dFlYQXNJSE5sY1YwdVkyOXVZMkYwS0dwemIyNVRZMkZzWVhKekxDQnFjMjl1UlhKeWIzSXBPMXh1WEc1bGVIQnZjblFnZXlCelkyaGxiV0VnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJUWTJGc1lYSWdmU0JtY205dElDY3VMaTh1TGk5dWIyUmxjeTlUWTJGc1lYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ2MzUnlhVzVuYVdaNVUzUnlhVzVuSUgwZ1puSnZiU0FuTGk0dkxpNHZjM1J5YVc1bmFXWjVMM04wY21sdVoybG1lVk4wY21sdVp5NXFjeWM3WEc1Y2JtTnZibk4wSUdKcGJtRnllU0E5SUh0Y2JpQWdJQ0JwWkdWdWRHbG1lVG9nZG1Gc2RXVWdQVDRnZG1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJWYVc1ME9FRnljbUY1TENBdkx5QkNkV1ptWlhJZ2FXNW9aWEpwZEhNZ1puSnZiU0JWYVc1ME9FRnljbUY1WEc0Z0lDQWdaR1ZtWVhWc2REb2dabUZzYzJVc1hHNGdJQ0FnZEdGbk9pQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZZbWx1WVhKNUp5eGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlNaWFIxY201eklHRWdRblZtWm1WeUlHbHVJRzV2WkdVZ1lXNWtJR0Z1SUZWcGJuUTRRWEp5WVhrZ2FXNGdZbkp2ZDNObGNuTmNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlGUnZJSFZ6WlNCMGFHVWdjbVZ6ZFd4MGFXNW5JR0oxWm1abGNpQmhjeUJoYmlCcGJXRm5aU3dnZVc5MUoyeHNJSGRoYm5RZ2RHOGdaRzhnYzI5dFpYUm9hVzVuSUd4cGEyVTZYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQWdJR052Ym5OMElHSnNiMklnUFNCdVpYY2dRbXh2WWloYlluVm1abVZ5WFN3Z2V5QjBlWEJsT2lBbmFXMWhaMlV2YW5CbFp5Y2dmU2xjYmlBZ0lDQWdLaUFnSUdSdlkzVnRaVzUwTG5GMVpYSjVVMlZzWldOMGIzSW9KeU53YUc5MGJ5Y3BMbk55WXlBOUlGVlNUQzVqY21WaGRHVlBZbXBsWTNSVlVrd29ZbXh2WWlsY2JpQWdJQ0FnS2k5Y2JpQWdJQ0J5WlhOdmJIWmxLSE55WXl3Z2IyNUZjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JRUoxWm1abGNpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRUoxWm1abGNpNW1jbTl0S0hOeVl5d2dKMkpoYzJVMk5DY3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hSNWNHVnZaaUJoZEc5aUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCUGJpQkpSU0F4TVN3Z1lYUnZZaWdwSUdOaGJpZDBJR2hoYm1Sc1pTQnVaWGRzYVc1bGMxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjM1J5SUQwZ1lYUnZZaWh6Y21NdWNtVndiR0ZqWlNndlcxeGNibHhjY2wwdlp5d2dKeWNwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHSjFabVpsY2lBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0hOMGNpNXNaVzVuZEdncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCemRISXViR1Z1WjNSb095QXJLMmtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5WbVptVnlXMmxkSUQwZ2MzUnlMbU5vWVhKRGIyUmxRWFFvYVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZblZtWm1WeU8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWduVkdocGN5QmxiblpwY205dWJXVnVkQ0JrYjJWeklHNXZkQ0J6ZFhCd2IzSjBJSEpsWVdScGJtY2dZbWx1WVhKNUlIUmhaM003SUdWcGRHaGxjaUJDZFdabVpYSWdiM0lnWVhSdllpQnBjeUJ5WlhGMWFYSmxaQ2NwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITnlZenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDBzWEc0Z0lDQWdjM1J5YVc1bmFXWjVLSHNnWTI5dGJXVnVkQ3dnZEhsd1pTd2dkbUZzZFdVZ2ZTd2dZM1I0TENCdmJrTnZiVzFsYm5Rc0lHOXVRMmh2YlhCTFpXVndLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR0oxWmlBOUlIWmhiSFZsT3lBdkx5QmphR1ZqYTJWa0lHVmhjbXhwWlhJZ1lua2dZbWx1WVhKNUxtbGtaVzUwYVdaNUtDbGNiaUFnSUNBZ0lDQWdiR1YwSUhOMGNqdGNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJDZFdabVpYSWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMGNpQTlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZblZtSUdsdWMzUmhibU5sYjJZZ1FuVm1abVZ5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdZblZtTG5SdlUzUnlhVzVuS0NkaVlYTmxOalFuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJRUoxWm1abGNpNW1jbTl0S0dKMVppNWlkV1ptWlhJcExuUnZVM1J5YVc1bktDZGlZWE5sTmpRbktUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2gwZVhCbGIyWWdZblJ2WVNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUhNZ1BTQW5KenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dZblZtTG14bGJtZDBhRHNnS3l0cEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITWdLejBnVTNSeWFXNW5MbVp5YjIxRGFHRnlRMjlrWlNoaWRXWmJhVjBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjM1J5SUQwZ1luUnZZU2h6S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WR2hwY3lCbGJuWnBjbTl1YldWdWRDQmtiMlZ6SUc1dmRDQnpkWEJ3YjNKMElIZHlhWFJwYm1jZ1ltbHVZWEo1SUhSaFozTTdJR1ZwZEdobGNpQkNkV1ptWlhJZ2IzSWdZblJ2WVNCcGN5QnlaWEYxYVhKbFpDY3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkSGx3WlNsY2JpQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVZ1BTQlRZMkZzWVhJdVFreFBRMHRmVEVsVVJWSkJURHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1VnSVQwOUlGTmpZV3hoY2k1UlZVOVVSVjlFVDFWQ1RFVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUd4cGJtVlhhV1IwYUNBOUlFMWhkR2d1YldGNEtHTjBlQzV2Y0hScGIyNXpMbXhwYm1WWGFXUjBhQ0F0SUdOMGVDNXBibVJsYm5RdWJHVnVaM1JvTENCamRIZ3ViM0IwYVc5dWN5NXRhVzVEYjI1MFpXNTBWMmxrZEdncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiaUE5SUUxaGRHZ3VZMlZwYkNoemRISXViR1Z1WjNSb0lDOGdiR2x1WlZkcFpIUm9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUd4cGJtVnpJRDBnYm1WM0lFRnljbUY1S0c0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQXNJRzhnUFNBd095QnBJRHdnYmpzZ0t5dHBMQ0J2SUNzOUlHeHBibVZYYVdSMGFDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hwYm1WelcybGRJRDBnYzNSeUxuTjFZbk4wY2lodkxDQnNhVzVsVjJsa2RHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlEMGdiR2x1WlhNdWFtOXBiaWgwZVhCbElEMDlQU0JUWTJGc1lYSXVRa3hQUTB0ZlRFbFVSVkpCVENBL0lDZGNYRzRuSURvZ0p5QW5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYzNSeWFXNW5hV1o1VTNSeWFXNW5LSHNnWTI5dGJXVnVkQ3dnZEhsd1pTd2dkbUZzZFdVNklITjBjaUI5TENCamRIZ3NJRzl1UTI5dGJXVnVkQ3dnYjI1RGFHOXRjRXRsWlhBcE8xeHVJQ0FnSUgxY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUdKcGJtRnllU0I5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJR2x6VTJWeExDQnBjMUJoYVhJc0lHbHpUV0Z3SUgwZ1puSnZiU0FuTGk0dkxpNHZibTlrWlhNdmFXUmxiblJwZEhrdWFuTW5PMXh1YVcxd2IzSjBJSHNnVUdGcGNpd2dZM0psWVhSbFVHRnBjaUI5SUdaeWIyMGdKeTR1THk0dUwyNXZaR1Z6TDFCaGFYSXVhbk1uTzF4dWFXMXdiM0owSUhzZ1UyTmhiR0Z5SUgwZ1puSnZiU0FuTGk0dkxpNHZibTlrWlhNdlUyTmhiR0Z5TG1wekp6dGNibWx0Y0c5eWRDQjdJRmxCVFV4VFpYRWdmU0JtY205dElDY3VMaTh1TGk5dWIyUmxjeTlaUVUxTVUyVnhMbXB6Snp0Y2JseHVablZ1WTNScGIyNGdjbVZ6YjJ4MlpWQmhhWEp6S0hObGNTd2diMjVGY25KdmNpa2dlMXh1SUNBZ0lHbG1JQ2hwYzFObGNTaHpaWEVwS1NCN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2djMlZ4TG1sMFpXMXpMbXhsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2FYUmxiU0E5SUhObGNTNXBkR1Z0YzF0cFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBjMUJoYVhJb2FYUmxiU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHBjMDFoY0NocGRHVnRLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBkR1Z0TG1sMFpXMXpMbXhsYm1kMGFDQStJREVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb0owVmhZMmdnY0dGcGNpQnRkWE4wSUdoaGRtVWdhWFJ6SUc5M2JpQnpaWEYxWlc1alpTQnBibVJwWTJGMGIzSW5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQndZV2x5SUQwZ2FYUmxiUzVwZEdWdGMxc3dYU0I4ZkNCdVpYY2dVR0ZwY2lodVpYY2dVMk5oYkdGeUtHNTFiR3dwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWFJsYlM1amIyMXRaVzUwUW1WbWIzSmxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lXbHlMbXRsZVM1amIyMXRaVzUwUW1WbWIzSmxJRDBnY0dGcGNpNXJaWGt1WTI5dGJXVnVkRUpsWm05eVpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1B5QmdKSHRwZEdWdExtTnZiVzFsYm5SQ1pXWnZjbVY5WEZ4dUpIdHdZV2x5TG10bGVTNWpiMjF0Wlc1MFFtVm1iM0psZldCY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURvZ2FYUmxiUzVqYjIxdFpXNTBRbVZtYjNKbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwZEdWdExtTnZiVzFsYm5RcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZMjRnUFNCd1lXbHlMblpoYkhWbElEOC9JSEJoYVhJdWEyVjVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamJpNWpiMjF0Wlc1MElEMGdZMjR1WTI5dGJXVnVkRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQeUJnSkh0cGRHVnRMbU52YlcxbGJuUjlYRnh1Skh0amJpNWpiMjF0Wlc1MGZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2dhWFJsYlM1amIyMXRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRHVnRJRDBnY0dGcGNqdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSE5sY1M1cGRHVnRjMXRwWFNBOUlHbHpVR0ZwY2locGRHVnRLU0EvSUdsMFpXMGdPaUJ1WlhjZ1VHRnBjaWhwZEdWdEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCbGJITmxYRzRnSUNBZ0lDQWdJRzl1UlhKeWIzSW9KMFY0Y0dWamRHVmtJR0VnYzJWeGRXVnVZMlVnWm05eUlIUm9hWE1nZEdGbkp5azdYRzRnSUNBZ2NtVjBkWEp1SUhObGNUdGNibjFjYm1aMWJtTjBhVzl1SUdOeVpXRjBaVkJoYVhKektITmphR1Z0WVN3Z2FYUmxjbUZpYkdVc0lHTjBlQ2tnZTF4dUlDQWdJR052Ym5OMElIc2djbVZ3YkdGalpYSWdmU0E5SUdOMGVEdGNiaUFnSUNCamIyNXpkQ0J3WVdseWN5QTlJRzVsZHlCWlFVMU1VMlZ4S0hOamFHVnRZU2s3WEc0Z0lDQWdjR0ZwY25NdWRHRm5JRDBnSjNSaFp6cDVZVzFzTG05eVp5d3lNREF5T25CaGFYSnpKenRjYmlBZ0lDQnNaWFFnYVNBOUlEQTdYRzRnSUNBZ2FXWWdLR2wwWlhKaFlteGxJQ1ltSUZONWJXSnZiQzVwZEdWeVlYUnZjaUJwYmlCUFltcGxZM1FvYVhSbGNtRmliR1VwS1Z4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcGRDQnZaaUJwZEdWeVlXSnNaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhCc1lXTmxjaUE5UFQwZ0oyWjFibU4wYVc5dUp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkQ0E5SUhKbGNHeGhZMlZ5TG1OaGJHd29hWFJsY21GaWJHVXNJRk4wY21sdVp5aHBLeXNwTENCcGRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdhMlY1TENCMllXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtHbDBLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBkQzVzWlc1bmRHZ2dQVDA5SURJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYTJWNUlEMGdhWFJiTUYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoYkhWbElEMGdhWFJiTVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpaGdSWGh3WldOMFpXUWdXMnRsZVN3Z2RtRnNkV1ZkSUhSMWNHeGxPaUFrZTJsMGZXQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhRZ0ppWWdhWFFnYVc1emRHRnVZMlZ2WmlCUFltcGxZM1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JyWlhseklEMGdUMkpxWldOMExtdGxlWE1vYVhRcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyWlhsekxteGxibWQwYUNBOVBUMGdNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnJaWGtnUFNCclpYbHpXekJkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZV3gxWlNBOUlHbDBXMnRsZVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLR0JGZUhCbFkzUmxaQ0IwZFhCc1pTQjNhWFJvSUc5dVpTQnJaWGtzSUc1dmRDQWtlMnRsZVhNdWJHVnVaM1JvZlNCclpYbHpZQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYTJWNUlEMGdhWFE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCd1lXbHljeTVwZEdWdGN5NXdkWE5vS0dOeVpXRjBaVkJoYVhJb2EyVjVMQ0IyWVd4MVpTd2dZM1I0S1NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY0dGcGNuTTdYRzU5WEc1amIyNXpkQ0J3WVdseWN5QTlJSHRjYmlBZ0lDQmpiMnhzWldOMGFXOXVPaUFuYzJWeEp5eGNiaUFnSUNCa1pXWmhkV3gwT2lCbVlXeHpaU3hjYmlBZ0lDQjBZV2M2SUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwd1lXbHljeWNzWEc0Z0lDQWdjbVZ6YjJ4MlpUb2djbVZ6YjJ4MlpWQmhhWEp6TEZ4dUlDQWdJR055WldGMFpVNXZaR1U2SUdOeVpXRjBaVkJoYVhKelhHNTlPMXh1WEc1bGVIQnZjblFnZXlCamNtVmhkR1ZRWVdseWN5d2djR0ZwY25Nc0lISmxjMjlzZG1WUVlXbHljeUI5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJR2x6VTJOaGJHRnlMQ0JwYzFCaGFYSWdmU0JtY205dElDY3VMaTh1TGk5dWIyUmxjeTlwWkdWdWRHbDBlUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QjBiMHBUSUgwZ1puSnZiU0FuTGk0dkxpNHZibTlrWlhNdmRHOUtVeTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QlpRVTFNVFdGd0lIMGdabkp2YlNBbkxpNHZMaTR2Ym05a1pYTXZXVUZOVEUxaGNDNXFjeWM3WEc1cGJYQnZjblFnZXlCWlFVMU1VMlZ4SUgwZ1puSnZiU0FuTGk0dkxpNHZibTlrWlhNdldVRk5URk5sY1M1cWN5YzdYRzVwYlhCdmNuUWdleUJ5WlhOdmJIWmxVR0ZwY25Nc0lHTnlaV0YwWlZCaGFYSnpJSDBnWm5KdmJTQW5MaTl3WVdseWN5NXFjeWM3WEc1Y2JtTnNZWE56SUZsQlRVeFBUV0Z3SUdWNGRHVnVaSE1nV1VGTlRGTmxjU0I3WEc0Z0lDQWdZMjl1YzNSeWRXTjBiM0lvS1NCN1hHNGdJQ0FnSUNBZ0lITjFjR1Z5S0NrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WVdSa0lEMGdXVUZOVEUxaGNDNXdjbTkwYjNSNWNHVXVZV1JrTG1KcGJtUW9kR2hwY3lrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WkdWc1pYUmxJRDBnV1VGTlRFMWhjQzV3Y205MGIzUjVjR1V1WkdWc1pYUmxMbUpwYm1Rb2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVaMlYwSUQwZ1dVRk5URTFoY0M1d2NtOTBiM1I1Y0dVdVoyVjBMbUpwYm1Rb2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVhR0Z6SUQwZ1dVRk5URTFoY0M1d2NtOTBiM1I1Y0dVdWFHRnpMbUpwYm1Rb2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVjMlYwSUQwZ1dVRk5URTFoY0M1d2NtOTBiM1I1Y0dVdWMyVjBMbUpwYm1Rb2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkR0ZuSUQwZ1dVRk5URTlOWVhBdWRHRm5PMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkpaaUJnWTNSNFlDQnBjeUJuYVhabGJpd2dkR2hsSUhKbGRIVnliaUIwZVhCbElHbHpJR0ZqZEhWaGJHeDVJR0JOWVhBOGRXNXJibTkzYml3Z2RXNXJibTkzYmo1Z0xGeHVJQ0FnSUNBcUlHSjFkQ0JVZVhCbFUyTnlhWEIwSUhkdmJpZDBJR0ZzYkc5M0lIZHBaR1Z1YVc1bklIUm9aU0J6YVdkdVlYUjFjbVVnYjJZZ1lTQmphR2xzWkNCdFpYUm9iMlF1WEc0Z0lDQWdJQ292WEc0Z0lDQWdkRzlLVTA5T0tGOHNJR04wZUNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVdOMGVDbGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ6ZFhCbGNpNTBiMHBUVDA0b1h5azdYRzRnSUNBZ0lDQWdJR052Ym5OMElHMWhjQ0E5SUc1bGR5Qk5ZWEFvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR04wZUQ4dWIyNURjbVZoZEdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JqZEhndWIyNURjbVZoZEdVb2JXRndLVHRjYmlBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCd1lXbHlJRzltSUhSb2FYTXVhWFJsYlhNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnJaWGtzSUhaaGJIVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2x6VUdGcGNpaHdZV2x5S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHdGxlU0E5SUhSdlNsTW9jR0ZwY2k1clpYa3NJQ2NuTENCamRIZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpoYkhWbElEMGdkRzlLVXlod1lXbHlMblpoYkhWbExDQnJaWGtzSUdOMGVDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnJaWGtnUFNCMGIwcFRLSEJoYVhJc0lDY25MQ0JqZEhncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0cxaGNDNW9ZWE1vYTJWNUtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owOXlaR1Z5WldRZ2JXRndjeUJ0ZFhOMElHNXZkQ0JwYm1Oc2RXUmxJR1IxY0d4cFkyRjBaU0JyWlhsekp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCdFlYQXVjMlYwS0d0bGVTd2dkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnRZWEE3WEc0Z0lDQWdmVnh1SUNBZ0lITjBZWFJwWXlCbWNtOXRLSE5qYUdWdFlTd2dhWFJsY21GaWJHVXNJR04wZUNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd1lXbHljeUE5SUdOeVpXRjBaVkJoYVhKektITmphR1Z0WVN3Z2FYUmxjbUZpYkdVc0lHTjBlQ2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzl0WVhBZ1BTQnVaWGNnZEdocGN5Z3BPMXh1SUNBZ0lDQWdJQ0J2YldGd0xtbDBaVzF6SUQwZ2NHRnBjbk11YVhSbGJYTTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnZiV0Z3TzF4dUlDQWdJSDFjYm4xY2JsbEJUVXhQVFdGd0xuUmhaeUE5SUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwdmJXRndKenRjYm1OdmJuTjBJRzl0WVhBZ1BTQjdYRzRnSUNBZ1kyOXNiR1ZqZEdsdmJqb2dKM05sY1Njc1hHNGdJQ0FnYVdSbGJuUnBabms2SUhaaGJIVmxJRDArSUhaaGJIVmxJR2x1YzNSaGJtTmxiMllnVFdGd0xGeHVJQ0FnSUc1dlpHVkRiR0Z6Y3pvZ1dVRk5URTlOWVhBc1hHNGdJQ0FnWkdWbVlYVnNkRG9nWm1Gc2MyVXNYRzRnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2YjIxaGNDY3NYRzRnSUNBZ2NtVnpiMngyWlNoelpYRXNJRzl1UlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjR0ZwY25NZ1BTQnlaWE52YkhabFVHRnBjbk1vYzJWeExDQnZia1Z5Y205eUtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MyVmxia3RsZVhNZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCN0lHdGxlU0I5SUc5bUlIQmhhWEp6TG1sMFpXMXpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhOVFkyRnNZWElvYTJWNUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoelpXVnVTMlY1Y3k1cGJtTnNkV1JsY3loclpYa3VkbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvWUU5eVpHVnlaV1FnYldGd2N5QnRkWE4wSUc1dmRDQnBibU5zZFdSbElHUjFjR3hwWTJGMFpTQnJaWGx6T2lBa2UydGxlUzUyWVd4MVpYMWdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhObFpXNUxaWGx6TG5CMWMyZ29hMlY1TG5aaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRTlpYW1WamRDNWhjM05wWjI0b2JtVjNJRmxCVFV4UFRXRndLQ2tzSUhCaGFYSnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lHTnlaV0YwWlU1dlpHVTZJQ2h6WTJobGJXRXNJR2wwWlhKaFlteGxMQ0JqZEhncElEMCtJRmxCVFV4UFRXRndMbVp5YjIwb2MyTm9aVzFoTENCcGRHVnlZV0pzWlN3Z1kzUjRLVnh1ZlR0Y2JseHVaWGh3YjNKMElIc2dXVUZOVEU5TllYQXNJRzl0WVhBZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCVFkyRnNZWElnZlNCbWNtOXRJQ2N1TGk4dUxpOXViMlJsY3k5VFkyRnNZWEl1YW5Nbk8xeHVYRzVtZFc1amRHbHZiaUJpYjI5c1UzUnlhVzVuYVdaNUtIc2dkbUZzZFdVc0lITnZkWEpqWlNCOUxDQmpkSGdwSUh0Y2JpQWdJQ0JqYjI1emRDQmliMjlzVDJKcUlEMGdkbUZzZFdVZ1B5QjBjblZsVkdGbklEb2dabUZzYzJWVVlXYzdYRzRnSUNBZ2FXWWdLSE52ZFhKalpTQW1KaUJpYjI5c1QySnFMblJsYzNRdWRHVnpkQ2h6YjNWeVkyVXBLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjMjkxY21ObE8xeHVJQ0FnSUhKbGRIVnliaUIyWVd4MVpTQS9JR04wZUM1dmNIUnBiMjV6TG5SeWRXVlRkSElnT2lCamRIZ3ViM0IwYVc5dWN5NW1ZV3h6WlZOMGNqdGNibjFjYm1OdmJuTjBJSFJ5ZFdWVVlXY2dQU0I3WEc0Z0lDQWdhV1JsYm5ScFpuazZJSFpoYkhWbElEMCtJSFpoYkhWbElEMDlQU0IwY25WbExGeHVJQ0FnSUdSbFptRjFiSFE2SUhSeWRXVXNYRzRnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2WW05dmJDY3NYRzRnSUNBZ2RHVnpkRG9nTDE0b1B6cFpmSGw4VzFsNVhXVnpmRmxGVTN4YlZIUmRjblZsZkZSU1ZVVjhXMDl2WFc1OFQwNHBKQzhzWEc0Z0lDQWdjbVZ6YjJ4MlpUb2dLQ2tnUFQ0Z2JtVjNJRk5qWVd4aGNpaDBjblZsS1N4Y2JpQWdJQ0J6ZEhKcGJtZHBabms2SUdKdmIyeFRkSEpwYm1kcFpubGNibjA3WEc1amIyNXpkQ0JtWVd4elpWUmhaeUE5SUh0Y2JpQWdJQ0JwWkdWdWRHbG1lVG9nZG1Gc2RXVWdQVDRnZG1Gc2RXVWdQVDA5SUdaaGJITmxMRnh1SUNBZ0lHUmxabUYxYkhRNklIUnlkV1VzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNlltOXZiQ2NzWEc0Z0lDQWdkR1Z6ZERvZ0wxNG9QenBPZkc1OFcwNXVYVzk4VGs5OFcwWm1YV0ZzYzJWOFJrRk1VMFY4VzA5dlhXWm1mRTlHUmlra0x5eGNiaUFnSUNCeVpYTnZiSFpsT2lBb0tTQTlQaUJ1WlhjZ1UyTmhiR0Z5S0daaGJITmxLU3hjYmlBZ0lDQnpkSEpwYm1kcFpuazZJR0p2YjJ4VGRISnBibWRwWm5sY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUdaaGJITmxWR0ZuTENCMGNuVmxWR0ZuSUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnVTJOaGJHRnlJSDBnWm5KdmJTQW5MaTR2TGk0dmJtOWtaWE12VTJOaGJHRnlMbXB6Snp0Y2JtbHRjRzl5ZENCN0lITjBjbWx1WjJsbWVVNTFiV0psY2lCOUlHWnliMjBnSnk0dUx5NHVMM04wY21sdVoybG1lUzl6ZEhKcGJtZHBabmxPZFcxaVpYSXVhbk1uTzF4dVhHNWpiMjV6ZENCbWJHOWhkRTVoVGlBOUlIdGNiaUFnSUNCcFpHVnVkR2xtZVRvZ2RtRnNkV1VnUFQ0Z2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBbmJuVnRZbVZ5Snl4Y2JpQWdJQ0JrWldaaGRXeDBPaUIwY25WbExGeHVJQ0FnSUhSaFp6b2dKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPbVpzYjJGMEp5eGNiaUFnSUNCMFpYTjBPaUF2WGlnL09sc3RLMTAvWEZ3dUtEODZhVzVtZkVsdVpueEpUa1lwZkZ4Y0xtNWhibnhjWEM1T1lVNThYRnd1VGtGT0tTUXZMRnh1SUNBZ0lISmxjMjlzZG1VNklDaHpkSElwSUQwK0lITjBjaTV6YkdsalpTZ3RNeWt1ZEc5TWIzZGxja05oYzJVb0tTQTlQVDBnSjI1aGJpZGNiaUFnSUNBZ0lDQWdQeUJPWVU1Y2JpQWdJQ0FnSUNBZ09pQnpkSEpiTUYwZ1BUMDlJQ2N0SjF4dUlDQWdJQ0FnSUNBZ0lDQWdQeUJPZFcxaVpYSXVUa1ZIUVZSSlZrVmZTVTVHU1U1SlZGbGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ1RuVnRZbVZ5TGxCUFUwbFVTVlpGWDBsT1JrbE9TVlJaTEZ4dUlDQWdJSE4wY21sdVoybG1lVG9nYzNSeWFXNW5hV1o1VG5WdFltVnlYRzU5TzF4dVkyOXVjM1FnWm14dllYUkZlSEFnUFNCN1hHNGdJQ0FnYVdSbGJuUnBabms2SUhaaGJIVmxJRDArSUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjI1MWJXSmxjaWNzWEc0Z0lDQWdaR1ZtWVhWc2REb2dkSEoxWlN4Y2JpQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcG1iRzloZENjc1hHNGdJQ0FnWm05eWJXRjBPaUFuUlZoUUp5eGNiaUFnSUNCMFpYTjBPaUF2WGxzdEsxMC9LRDg2V3pBdE9WMWJNQzA1WDEwcUtUOG9QenBjWEM1Yk1DMDVYMTBxS1Q5YlpVVmRXeTByWFQ5Yk1DMDVYU3NrTHl4Y2JpQWdJQ0J5WlhOdmJIWmxPaUFvYzNSeUtTQTlQaUJ3WVhKelpVWnNiMkYwS0hOMGNpNXlaWEJzWVdObEtDOWZMMmNzSUNjbktTa3NYRzRnSUNBZ2MzUnlhVzVuYVdaNUtHNXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYm5WdElEMGdUblZ0WW1WeUtHNXZaR1V1ZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdhWE5HYVc1cGRHVW9iblZ0S1NBL0lHNTFiUzUwYjBWNGNHOXVaVzUwYVdGc0tDa2dPaUJ6ZEhKcGJtZHBabmxPZFcxaVpYSW9ibTlrWlNrN1hHNGdJQ0FnZlZ4dWZUdGNibU52Ym5OMElHWnNiMkYwSUQwZ2UxeHVJQ0FnSUdsa1pXNTBhV1o1T2lCMllXeDFaU0E5UGlCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkdWRXMWlaWEluTEZ4dUlDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnZEdGbk9pQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZabXh2WVhRbkxGeHVJQ0FnSUhSbGMzUTZJQzllV3kwclhUOG9QenBiTUMwNVhWc3dMVGxmWFNvcFAxeGNMbHN3TFRsZlhTb2tMeXhjYmlBZ0lDQnlaWE52YkhabEtITjBjaWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J1YjJSbElEMGdibVYzSUZOallXeGhjaWh3WVhKelpVWnNiMkYwS0hOMGNpNXlaWEJzWVdObEtDOWZMMmNzSUNjbktTa3BPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmtiM1FnUFNCemRISXVhVzVrWlhoUFppZ25MaWNwTzF4dUlDQWdJQ0FnSUNCcFppQW9aRzkwSUNFOVBTQXRNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1ppQTlJSE4wY2k1emRXSnpkSEpwYm1jb1pHOTBJQ3NnTVNrdWNtVndiR0ZqWlNndlh5OW5MQ0FuSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1psdG1MbXhsYm1kMGFDQXRJREZkSUQwOVBTQW5NQ2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm05a1pTNXRhVzVHY21GamRHbHZia1JwWjJsMGN5QTlJR1l1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1YjJSbE8xeHVJQ0FnSUgwc1hHNGdJQ0FnYzNSeWFXNW5hV1o1T2lCemRISnBibWRwWm5sT2RXMWlaWEpjYm4wN1hHNWNibVY0Y0c5eWRDQjdJR1pzYjJGMExDQm1iRzloZEVWNGNDd2dabXh2WVhST1lVNGdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QnpkSEpwYm1kcFpubE9kVzFpWlhJZ2ZTQm1jbTl0SUNjdUxpOHVMaTl6ZEhKcGJtZHBabmt2YzNSeWFXNW5hV1o1VG5WdFltVnlMbXB6Snp0Y2JseHVZMjl1YzNRZ2FXNTBTV1JsYm5ScFpua2dQU0FvZG1Gc2RXVXBJRDArSUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjJKcFoybHVkQ2NnZkh3Z1RuVnRZbVZ5TG1selNXNTBaV2RsY2loMllXeDFaU2s3WEc1bWRXNWpkR2x2YmlCcGJuUlNaWE52YkhabEtITjBjaXdnYjJabWMyVjBMQ0J5WVdScGVDd2dleUJwYm5SQmMwSnBaMGx1ZENCOUtTQjdYRzRnSUNBZ1kyOXVjM1FnYzJsbmJpQTlJSE4wY2xzd1hUdGNiaUFnSUNCcFppQW9jMmxuYmlBOVBUMGdKeTBuSUh4OElITnBaMjRnUFQwOUlDY3JKeWxjYmlBZ0lDQWdJQ0FnYjJabWMyVjBJQ3M5SURFN1hHNGdJQ0FnYzNSeUlEMGdjM1J5TG5OMVluTjBjbWx1WnlodlptWnpaWFFwTG5KbGNHeGhZMlVvTDE4dlp5d2dKeWNwTzF4dUlDQWdJR2xtSUNocGJuUkJjMEpwWjBsdWRDa2dlMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSEpoWkdsNEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREk2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSeUlEMGdZREJpSkh0emRISjlZRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdPRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEhJZ1BTQmdNRzhrZTNOMGNuMWdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQXhOanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEhJZ1BTQmdNSGdrZTNOMGNuMWdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR052Ym5OMElHNGdQU0JDYVdkSmJuUW9jM1J5S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOcFoyNGdQVDA5SUNjdEp5QS9JRUpwWjBsdWRDZ3RNU2tnS2lCdUlEb2dianRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnYmlBOUlIQmhjbk5sU1c1MEtITjBjaXdnY21Ga2FYZ3BPMXh1SUNBZ0lISmxkSFZ5YmlCemFXZHVJRDA5UFNBbkxTY2dQeUF0TVNBcUlHNGdPaUJ1TzF4dWZWeHVablZ1WTNScGIyNGdhVzUwVTNSeWFXNW5hV1o1S0c1dlpHVXNJSEpoWkdsNExDQndjbVZtYVhncElIdGNiaUFnSUNCamIyNXpkQ0I3SUhaaGJIVmxJSDBnUFNCdWIyUmxPMXh1SUNBZ0lHbG1JQ2hwYm5SSlpHVnVkR2xtZVNoMllXeDFaU2twSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYzNSeUlEMGdkbUZzZFdVdWRHOVRkSEpwYm1jb2NtRmthWGdwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVWdQQ0F3SUQ4Z0p5MG5JQ3NnY0hKbFptbDRJQ3NnYzNSeUxuTjFZbk4wY2lneEtTQTZJSEJ5WldacGVDQXJJSE4wY2p0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlITjBjbWx1WjJsbWVVNTFiV0psY2lodWIyUmxLVHRjYm4xY2JtTnZibk4wSUdsdWRFSnBiaUE5SUh0Y2JpQWdJQ0JwWkdWdWRHbG1lVG9nYVc1MFNXUmxiblJwWm5rc1hHNGdJQ0FnWkdWbVlYVnNkRG9nZEhKMVpTeGNiaUFnSUNCMFlXYzZJQ2QwWVdjNmVXRnRiQzV2Y21jc01qQXdNanBwYm5RbkxGeHVJQ0FnSUdadmNtMWhkRG9nSjBKSlRpY3NYRzRnSUNBZ2RHVnpkRG9nTDE1YkxTdGRQekJpV3pBdE1WOWRLeVF2TEZ4dUlDQWdJSEpsYzI5c2RtVTZJQ2h6ZEhJc0lGOXZia1Z5Y205eUxDQnZjSFFwSUQwK0lHbHVkRkpsYzI5c2RtVW9jM1J5TENBeUxDQXlMQ0J2Y0hRcExGeHVJQ0FnSUhOMGNtbHVaMmxtZVRvZ2JtOWtaU0E5UGlCcGJuUlRkSEpwYm1kcFpua29ibTlrWlN3Z01pd2dKekJpSnlsY2JuMDdYRzVqYjI1emRDQnBiblJQWTNRZ1BTQjdYRzRnSUNBZ2FXUmxiblJwWm5rNklHbHVkRWxrWlc1MGFXWjVMRnh1SUNBZ0lHUmxabUYxYkhRNklIUnlkV1VzWEc0Z0lDQWdkR0ZuT2lBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNmFXNTBKeXhjYmlBZ0lDQm1iM0p0WVhRNklDZFBRMVFuTEZ4dUlDQWdJSFJsYzNRNklDOWVXeTByWFQ4d1d6QXROMTlkS3lRdkxGeHVJQ0FnSUhKbGMyOXNkbVU2SUNoemRISXNJRjl2YmtWeWNtOXlMQ0J2Y0hRcElEMCtJR2x1ZEZKbGMyOXNkbVVvYzNSeUxDQXhMQ0E0TENCdmNIUXBMRnh1SUNBZ0lITjBjbWx1WjJsbWVUb2dibTlrWlNBOVBpQnBiblJUZEhKcGJtZHBabmtvYm05a1pTd2dPQ3dnSnpBbktWeHVmVHRjYm1OdmJuTjBJR2x1ZENBOUlIdGNiaUFnSUNCcFpHVnVkR2xtZVRvZ2FXNTBTV1JsYm5ScFpua3NYRzRnSUNBZ1pHVm1ZWFZzZERvZ2RISjFaU3hjYmlBZ0lDQjBZV2M2SUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwcGJuUW5MRnh1SUNBZ0lIUmxjM1E2SUM5ZVd5MHJYVDliTUMwNVhWc3dMVGxmWFNva0x5eGNiaUFnSUNCeVpYTnZiSFpsT2lBb2MzUnlMQ0JmYjI1RmNuSnZjaXdnYjNCMEtTQTlQaUJwYm5SU1pYTnZiSFpsS0hOMGNpd2dNQ3dnTVRBc0lHOXdkQ2tzWEc0Z0lDQWdjM1J5YVc1bmFXWjVPaUJ6ZEhKcGJtZHBabmxPZFcxaVpYSmNibjA3WEc1amIyNXpkQ0JwYm5SSVpYZ2dQU0I3WEc0Z0lDQWdhV1JsYm5ScFpuazZJR2x1ZEVsa1pXNTBhV1o1TEZ4dUlDQWdJR1JsWm1GMWJIUTZJSFJ5ZFdVc1hHNGdJQ0FnZEdGbk9pQW5kR0ZuT25saGJXd3ViM0puTERJd01ESTZhVzUwSnl4Y2JpQWdJQ0JtYjNKdFlYUTZJQ2RJUlZnbkxGeHVJQ0FnSUhSbGMzUTZJQzllV3kwclhUOHdlRnN3TFRsaExXWkJMVVpmWFNza0x5eGNiaUFnSUNCeVpYTnZiSFpsT2lBb2MzUnlMQ0JmYjI1RmNuSnZjaXdnYjNCMEtTQTlQaUJwYm5SU1pYTnZiSFpsS0hOMGNpd2dNaXdnTVRZc0lHOXdkQ2tzWEc0Z0lDQWdjM1J5YVc1bmFXWjVPaUJ1YjJSbElEMCtJR2x1ZEZOMGNtbHVaMmxtZVNodWIyUmxMQ0F4Tml3Z0p6QjRKeWxjYm4wN1hHNWNibVY0Y0c5eWRDQjdJR2x1ZEN3Z2FXNTBRbWx1TENCcGJuUklaWGdzSUdsdWRFOWpkQ0I5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJR2x6VFdGd0xDQnBjMUJoYVhJc0lHbHpVMk5oYkdGeUlIMGdabkp2YlNBbkxpNHZMaTR2Ym05a1pYTXZhV1JsYm5ScGRIa3Vhbk1uTzF4dWFXMXdiM0owSUhzZ1VHRnBjaXdnWTNKbFlYUmxVR0ZwY2lCOUlHWnliMjBnSnk0dUx5NHVMMjV2WkdWekwxQmhhWEl1YW5Nbk8xeHVhVzF3YjNKMElIc2dXVUZOVEUxaGNDd2dabWx1WkZCaGFYSWdmU0JtY205dElDY3VMaTh1TGk5dWIyUmxjeTlaUVUxTVRXRndMbXB6Snp0Y2JseHVZMnhoYzNNZ1dVRk5URk5sZENCbGVIUmxibVJ6SUZsQlRVeE5ZWEFnZTF4dUlDQWdJR052Ym5OMGNuVmpkRzl5S0hOamFHVnRZU2tnZTF4dUlDQWdJQ0FnSUNCemRYQmxjaWh6WTJobGJXRXBPMXh1SUNBZ0lDQWdJQ0IwYUdsekxuUmhaeUE5SUZsQlRVeFRaWFF1ZEdGbk8xeHVJQ0FnSUgxY2JpQWdJQ0JoWkdRb2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQndZV2x5TzF4dUlDQWdJQ0FnSUNCcFppQW9hWE5RWVdseUtHdGxlU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQndZV2x5SUQwZ2EyVjVPMXh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hyWlhrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVnZaaUJyWlhrZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQW5hMlY1SnlCcGJpQnJaWGtnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ2QyWVd4MVpTY2dhVzRnYTJWNUlDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNCclpYa3VkbUZzZFdVZ1BUMDlJRzUxYkd3cFhHNGdJQ0FnSUNBZ0lDQWdJQ0J3WVdseUlEMGdibVYzSUZCaGFYSW9hMlY1TG10bGVTd2diblZzYkNrN1hHNGdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhhWElnUFNCdVpYY2dVR0ZwY2loclpYa3NJRzUxYkd3cE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd2NtVjJJRDBnWm1sdVpGQmhhWElvZEdocGN5NXBkR1Z0Y3l3Z2NHRnBjaTVyWlhrcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVhCeVpYWXBYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbWwwWlcxekxuQjFjMmdvY0dGcGNpazdYRzRnSUNBZ2ZWeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFbG1JR0JyWldWd1VHRnBjbUFnYVhNZ1lIUnlkV1ZnTENCeVpYUjFjbTV6SUhSb1pTQlFZV2x5SUcxaGRHTm9hVzVuSUdCclpYbGdMbHh1SUNBZ0lDQXFJRTkwYUdWeWQybHpaU3dnY21WMGRYSnVjeUIwYUdVZ2RtRnNkV1VnYjJZZ2RHaGhkQ0JRWVdseUozTWdhMlY1TGx4dUlDQWdJQ0FxTDF4dUlDQWdJR2RsZENoclpYa3NJR3RsWlhCUVlXbHlLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSEJoYVhJZ1BTQm1hVzVrVUdGcGNpaDBhR2x6TG1sMFpXMXpMQ0JyWlhrcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0lXdGxaWEJRWVdseUlDWW1JR2x6VUdGcGNpaHdZV2x5S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdQeUJwYzFOallXeGhjaWh3WVdseUxtdGxlU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0EvSUhCaGFYSXVhMlY1TG5aaGJIVmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUJ3WVdseUxtdGxlVnh1SUNBZ0lDQWdJQ0FnSUNBZ09pQndZV2x5TzF4dUlDQWdJSDFjYmlBZ0lDQnpaWFFvYTJWNUxDQjJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElDRTlQU0FuWW05dmJHVmhiaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFVjRjR1ZqZEdWa0lHSnZiMnhsWVc0Z2RtRnNkV1VnWm05eUlITmxkQ2hyWlhrc0lIWmhiSFZsS1NCcGJpQmhJRmxCVFV3Z2MyVjBMQ0J1YjNRZ0pIdDBlWEJsYjJZZ2RtRnNkV1Y5WUNrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhCeVpYWWdQU0JtYVc1a1VHRnBjaWgwYUdsekxtbDBaVzF6TENCclpYa3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NISmxkaUFtSmlBaGRtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFYUmxiWE11YzNCc2FXTmxLSFJvYVhNdWFYUmxiWE11YVc1a1pYaFBaaWh3Y21WMktTd2dNU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb0lYQnlaWFlnSmlZZ2RtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFYUmxiWE11Y0hWemFDaHVaWGNnVUdGcGNpaHJaWGtwS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0IwYjBwVFQwNG9YeXdnWTNSNEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpkWEJsY2k1MGIwcFRUMDRvWHl3Z1kzUjRMQ0JUWlhRcE8xeHVJQ0FnSUgxY2JpQWdJQ0IwYjFOMGNtbHVaeWhqZEhnc0lHOXVRMjl0YldWdWRDd2diMjVEYUc5dGNFdGxaWEFwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZqZEhncFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdTbE5QVGk1emRISnBibWRwWm5rb2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1oaGMwRnNiRTUxYkd4V1lXeDFaWE1vZEhKMVpTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYzNWd1pYSXVkRzlUZEhKcGJtY29UMkpxWldOMExtRnpjMmxuYmloN2ZTd2dZM1I0TENCN0lHRnNiRTUxYkd4V1lXeDFaWE02SUhSeWRXVWdmU2tzSUc5dVEyOXRiV1Z1ZEN3Z2IyNURhRzl0Y0V0bFpYQXBPMXh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMU5sZENCcGRHVnRjeUJ0ZFhOMElHRnNiQ0JvWVhabElHNTFiR3dnZG1Gc2RXVnpKeWs3WEc0Z0lDQWdmVnh1SUNBZ0lITjBZWFJwWXlCbWNtOXRLSE5qYUdWdFlTd2dhWFJsY21GaWJHVXNJR04wZUNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lISmxjR3hoWTJWeUlIMGdQU0JqZEhnN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhObGRDQTlJRzVsZHlCMGFHbHpLSE5qYUdWdFlTazdYRzRnSUNBZ0lDQWdJR2xtSUNocGRHVnlZV0pzWlNBbUppQlRlVzFpYjJ3dWFYUmxjbUYwYjNJZ2FXNGdUMkpxWldOMEtHbDBaWEpoWW14bEtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9iR1YwSUhaaGJIVmxJRzltSUdsMFpYSmhZbXhsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnlaWEJzWVdObGNpQTlQVDBnSjJaMWJtTjBhVzl1SnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVZ1BTQnlaWEJzWVdObGNpNWpZV3hzS0dsMFpYSmhZbXhsTENCMllXeDFaU3dnZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5sZEM1cGRHVnRjeTV3ZFhOb0tHTnlaV0YwWlZCaGFYSW9kbUZzZFdVc0lHNTFiR3dzSUdOMGVDa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2MyVjBPMXh1SUNBZ0lIMWNibjFjYmxsQlRVeFRaWFF1ZEdGbklEMGdKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPbk5sZENjN1hHNWpiMjV6ZENCelpYUWdQU0I3WEc0Z0lDQWdZMjlzYkdWamRHbHZiam9nSjIxaGNDY3NYRzRnSUNBZ2FXUmxiblJwWm5rNklIWmhiSFZsSUQwK0lIWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1UyVjBMRnh1SUNBZ0lHNXZaR1ZEYkdGemN6b2dXVUZOVEZObGRDeGNiaUFnSUNCa1pXWmhkV3gwT2lCbVlXeHpaU3hjYmlBZ0lDQjBZV2M2SUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwelpYUW5MRnh1SUNBZ0lHTnlaV0YwWlU1dlpHVTZJQ2h6WTJobGJXRXNJR2wwWlhKaFlteGxMQ0JqZEhncElEMCtJRmxCVFV4VFpYUXVabkp2YlNoelkyaGxiV0VzSUdsMFpYSmhZbXhsTENCamRIZ3BMRnh1SUNBZ0lISmxjMjlzZG1Vb2JXRndMQ0J2YmtWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBjMDFoY0NodFlYQXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYldGd0xtaGhjMEZzYkU1MWJHeFdZV3gxWlhNb2RISjFaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRTlpYW1WamRDNWhjM05wWjI0b2JtVjNJRmxCVFV4VFpYUW9LU3dnYldGd0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtDZFRaWFFnYVhSbGJYTWdiWFZ6ZENCaGJHd2dhR0YyWlNCdWRXeHNJSFpoYkhWbGN5Y3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvSjBWNGNHVmpkR1ZrSUdFZ2JXRndjR2x1WnlCbWIzSWdkR2hwY3lCMFlXY25LVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoY0R0Y2JpQWdJQ0I5WEc1OU8xeHVYRzVsZUhCdmNuUWdleUJaUVUxTVUyVjBMQ0J6WlhRZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCemRISnBibWRwWm5sT2RXMWlaWElnZlNCbWNtOXRJQ2N1TGk4dUxpOXpkSEpwYm1kcFpua3ZjM1J5YVc1bmFXWjVUblZ0WW1WeUxtcHpKenRjYmx4dUx5b3FJRWx1ZEdWeWJtRnNJSFI1Y0dWeklHaGhibVJzWlNCaWFXZHBiblFnWVhNZ2JuVnRZbVZ5TENCaVpXTmhkWE5sSUZSVElHTmhiaWQwSUdacFozVnlaU0JwZENCdmRYUXVJQ292WEc1bWRXNWpkR2x2YmlCd1lYSnpaVk5sZUdGblpYTnBiV0ZzS0hOMGNpd2dZWE5DYVdkSmJuUXBJSHRjYmlBZ0lDQmpiMjV6ZENCemFXZHVJRDBnYzNSeVd6QmRPMXh1SUNBZ0lHTnZibk4wSUhCaGNuUnpJRDBnYzJsbmJpQTlQVDBnSnkwbklIeDhJSE5wWjI0Z1BUMDlJQ2NySnlBL0lITjBjaTV6ZFdKemRISnBibWNvTVNrZ09pQnpkSEk3WEc0Z0lDQWdZMjl1YzNRZ2JuVnRJRDBnS0c0cElEMCtJR0Z6UW1sblNXNTBJRDhnUW1sblNXNTBLRzRwSURvZ1RuVnRZbVZ5S0c0cE8xeHVJQ0FnSUdOdmJuTjBJSEpsY3lBOUlIQmhjblJ6WEc0Z0lDQWdJQ0FnSUM1eVpYQnNZV05sS0M5ZkwyY3NJQ2NuS1Z4dUlDQWdJQ0FnSUNBdWMzQnNhWFFvSnpvbktWeHVJQ0FnSUNBZ0lDQXVjbVZrZFdObEtDaHlaWE1zSUhBcElEMCtJSEpsY3lBcUlHNTFiU2cyTUNrZ0t5QnVkVzBvY0Nrc0lHNTFiU2d3S1NrN1hHNGdJQ0FnY21WMGRYSnVJQ2h6YVdkdUlEMDlQU0FuTFNjZ1B5QnVkVzBvTFRFcElDb2djbVZ6SURvZ2NtVnpLVHRjYm4xY2JpOHFLbHh1SUNvZ2FHaG9hRHB0YlRwemN5NXpjM05jYmlBcVhHNGdLaUJKYm5SbGNtNWhiQ0IwZVhCbGN5Qm9ZVzVrYkdVZ1ltbG5hVzUwSUdGeklHNTFiV0psY2l3Z1ltVmpZWFZ6WlNCVVV5QmpZVzRuZENCbWFXZDFjbVVnYVhRZ2IzVjBMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQnpkSEpwYm1kcFpubFRaWGhoWjJWemFXMWhiQ2h1YjJSbEtTQjdYRzRnSUNBZ2JHVjBJSHNnZG1Gc2RXVWdmU0E5SUc1dlpHVTdYRzRnSUNBZ2JHVjBJRzUxYlNBOUlDaHVLU0E5UGlCdU8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZGlhV2RwYm5RbktWeHVJQ0FnSUNBZ0lDQnVkVzBnUFNCdUlEMCtJRUpwWjBsdWRDaHVLVHRjYmlBZ0lDQmxiSE5sSUdsbUlDaHBjMDVoVGloMllXeDFaU2tnZkh3Z0lXbHpSbWx1YVhSbEtIWmhiSFZsS1NsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOMGNtbHVaMmxtZVU1MWJXSmxjaWh1YjJSbEtUdGNiaUFnSUNCc1pYUWdjMmxuYmlBOUlDY25PMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQThJREFwSUh0Y2JpQWdJQ0FnSUNBZ2MybG5iaUE5SUNjdEp6dGNiaUFnSUNBZ0lDQWdkbUZzZFdVZ0tqMGdiblZ0S0MweEtUdGNiaUFnSUNCOVhHNGdJQ0FnWTI5dWMzUWdYell3SUQwZ2JuVnRLRFl3S1R0Y2JpQWdJQ0JqYjI1emRDQndZWEowY3lBOUlGdDJZV3gxWlNBbElGODJNRjA3SUM4dklITmxZMjl1WkhNc0lHbHVZMngxWkdsdVp5QnRjMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQThJRFl3S1NCN1hHNGdJQ0FnSUNBZ0lIQmhjblJ6TG5WdWMyaHBablFvTUNrN0lDOHZJR0YwSUd4bFlYTjBJRzl1WlNBNklHbHpJSEpsY1hWcGNtVmtYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IyWVd4MVpTQTlJQ2gyWVd4MVpTQXRJSEJoY25Seld6QmRLU0F2SUY4Mk1EdGNiaUFnSUNBZ0lDQWdjR0Z5ZEhNdWRXNXphR2xtZENoMllXeDFaU0FsSUY4Mk1DazdJQzh2SUcxcGJuVjBaWE5jYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsSUQ0OUlEWXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZV3gxWlNBOUlDaDJZV3gxWlNBdElIQmhjblJ6V3pCZEtTQXZJRjgyTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJoY25SekxuVnVjMmhwWm5Rb2RtRnNkV1VwT3lBdkx5Qm9iM1Z5YzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQW9jMmxuYmlBclhHNGdJQ0FnSUNBZ0lIQmhjblJ6WEc0Z0lDQWdJQ0FnSUNBZ0lDQXViV0Z3S0c0Z1BUNGdVM1J5YVc1bktHNHBMbkJoWkZOMFlYSjBLRElzSUNjd0p5a3BYRzRnSUNBZ0lDQWdJQ0FnSUNBdWFtOXBiaWduT2ljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1Y21Wd2JHRmpaU2d2TURBd01EQXdYRnhrS2lRdkxDQW5KeWtnTHk4Z0pTQTJNQ0J0WVhrZ2FXNTBjbTlrZFdObElHVnljbTl5WEc0Z0lDQWdLVHRjYm4xY2JtTnZibk4wSUdsdWRGUnBiV1VnUFNCN1hHNGdJQ0FnYVdSbGJuUnBabms2SUhaaGJIVmxJRDArSUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjJKcFoybHVkQ2NnZkh3Z1RuVnRZbVZ5TG1selNXNTBaV2RsY2loMllXeDFaU2tzWEc0Z0lDQWdaR1ZtWVhWc2REb2dkSEoxWlN4Y2JpQWdJQ0IwWVdjNklDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHBiblFuTEZ4dUlDQWdJR1p2Y20xaGREb2dKMVJKVFVVbkxGeHVJQ0FnSUhSbGMzUTZJQzllV3kwclhUOWJNQzA1WFZzd0xUbGZYU29vUHpvNld6QXROVjAvV3pBdE9WMHBLeVF2TEZ4dUlDQWdJSEpsYzI5c2RtVTZJQ2h6ZEhJc0lGOXZia1Z5Y205eUxDQjdJR2x1ZEVGelFtbG5TVzUwSUgwcElEMCtJSEJoY25ObFUyVjRZV2RsYzJsdFlXd29jM1J5TENCcGJuUkJjMEpwWjBsdWRDa3NYRzRnSUNBZ2MzUnlhVzVuYVdaNU9pQnpkSEpwYm1kcFpubFRaWGhoWjJWemFXMWhiRnh1ZlR0Y2JtTnZibk4wSUdac2IyRjBWR2x0WlNBOUlIdGNiaUFnSUNCcFpHVnVkR2xtZVRvZ2RtRnNkV1VnUFQ0Z2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBbmJuVnRZbVZ5Snl4Y2JpQWdJQ0JrWldaaGRXeDBPaUIwY25WbExGeHVJQ0FnSUhSaFp6b2dKM1JoWnpwNVlXMXNMbTl5Wnl3eU1EQXlPbVpzYjJGMEp5eGNiaUFnSUNCbWIzSnRZWFE2SUNkVVNVMUZKeXhjYmlBZ0lDQjBaWE4wT2lBdlhsc3RLMTAvV3pBdE9WMWJNQzA1WDEwcUtEODZPbHN3TFRWZFAxc3dMVGxkS1N0Y1hDNWJNQzA1WDEwcUpDOHNYRzRnSUNBZ2NtVnpiMngyWlRvZ2MzUnlJRDArSUhCaGNuTmxVMlY0WVdkbGMybHRZV3dvYzNSeUxDQm1ZV3h6WlNrc1hHNGdJQ0FnYzNSeWFXNW5hV1o1T2lCemRISnBibWRwWm5sVFpYaGhaMlZ6YVcxaGJGeHVmVHRjYm1OdmJuTjBJSFJwYldWemRHRnRjQ0E5SUh0Y2JpQWdJQ0JwWkdWdWRHbG1lVG9nZG1Gc2RXVWdQVDRnZG1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJFWVhSbExGeHVJQ0FnSUdSbFptRjFiSFE2SUhSeWRXVXNYRzRnSUNBZ2RHRm5PaUFuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2ZEdsdFpYTjBZVzF3Snl4Y2JpQWdJQ0F2THlCSlppQjBhR1VnZEdsdFpTQjZiMjVsSUdseklHOXRhWFIwWldRc0lIUm9aU0IwYVcxbGMzUmhiWEFnYVhNZ1lYTnpkVzFsWkNCMGJ5QmlaU0J6Y0dWamFXWnBaV1FnYVc0Z1ZWUkRMaUJVYUdVZ2RHbHRaU0J3WVhKMFhHNGdJQ0FnTHk4Z2JXRjVJR0psSUc5dGFYUjBaV1FnWVd4MGIyZGxkR2hsY2l3Z2NtVnpkV3gwYVc1bklHbHVJR0VnWkdGMFpTQm1iM0p0WVhRdUlFbHVJSE4xWTJnZ1lTQmpZWE5sTENCMGFHVWdkR2x0WlNCd1lYSjBJR2x6WEc0Z0lDQWdMeThnWVhOemRXMWxaQ0IwYnlCaVpTQXdNRG93TURvd01Gb2dLSE4wWVhKMElHOW1JR1JoZVN3Z1ZWUkRLUzVjYmlBZ0lDQjBaWE4wT2lCU1pXZEZlSEFvSjE0b1d6QXRPVjE3TkgwcExTaGJNQzA1WFhzeExESjlLUzBvV3pBdE9WMTdNU3d5ZlNrbklDc2dMeThnV1ZsWldTMU5iUzFFWkZ4dUlDQWdJQ0FnSUNBbktEODZKeUFySUM4dklIUnBiV1VnYVhNZ2IzQjBhVzl1WVd4Y2JpQWdJQ0FnSUNBZ0p5Zy9PblI4Vkh4YklGeGNYRngwWFNzcEp5QXJJQzh2SUhRZ2ZDQlVJSHdnZDJocGRHVnpjR0ZqWlZ4dUlDQWdJQ0FnSUNBbktGc3dMVGxkZXpFc01uMHBPaWhiTUMwNVhYc3hMREo5S1Rvb1d6QXRPVjE3TVN3eWZTaGNYRnhjTGxzd0xUbGRLeWsvS1NjZ0t5QXZMeUJJYURwTmJUcFRjeWd1YzNNcFAxeHVJQ0FnSUNBZ0lDQW5LRDg2V3lCY1hGeGNkRjBxS0ZwOFd5MHJYVnN3TVRKZFAxc3dMVGxkS0Q4Nk9sc3dMVGxkZXpKOUtUOHBLVDhuSUNzZ0x5OGdXaUI4SUNzMUlId2dMVEF6T2pNd1hHNGdJQ0FnSUNBZ0lDY3BQeVFuS1N4Y2JpQWdJQ0J5WlhOdmJIWmxLSE4wY2lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYUmphQ0E5SUhOMGNpNXRZWFJqYUNoMGFXMWxjM1JoYlhBdWRHVnpkQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hiV0YwWTJncFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KeUVoZEdsdFpYTjBZVzF3SUdWNGNHVmpkSE1nWVNCa1lYUmxMQ0J6ZEdGeWRHbHVaeUIzYVhSb0lIbDVlWGt0YlcwdFpHUW5LVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdXeXdnZVdWaGNpd2diVzl1ZEdnc0lHUmhlU3dnYUc5MWNpd2diV2x1ZFhSbExDQnpaV052Ym1SZElEMGdiV0YwWTJndWJXRndLRTUxYldKbGNpazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHMXBiR3hwYzJWaklEMGdiV0YwWTJoYk4xMGdQeUJPZFcxaVpYSW9LRzFoZEdOb1d6ZGRJQ3NnSnpBd0p5a3VjM1ZpYzNSeUtERXNJRE1wS1NBNklEQTdYRzRnSUNBZ0lDQWdJR3hsZENCa1lYUmxJRDBnUkdGMFpTNVZWRU1vZVdWaGNpd2diVzl1ZEdnZ0xTQXhMQ0JrWVhrc0lHaHZkWElnZkh3Z01Dd2diV2x1ZFhSbElIeDhJREFzSUhObFkyOXVaQ0I4ZkNBd0xDQnRhV3hzYVhObFl5azdYRzRnSUNBZ0lDQWdJR052Ym5OMElIUjZJRDBnYldGMFkyaGJPRjA3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlaUFtSmlCMGVpQWhQVDBnSjFvbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdaQ0E5SUhCaGNuTmxVMlY0WVdkbGMybHRZV3dvZEhvc0lHWmhiSE5sS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loa0tTQThJRE13S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdRZ0tqMGdOakE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWFJsSUMwOUlEWXdNREF3SUNvZ1pEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUVSaGRHVW9aR0YwWlNrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0J6ZEhKcGJtZHBabms2SUNoN0lIWmhiSFZsSUgwcElEMCtJSFpoYkhWbExuUnZTVk5QVTNSeWFXNW5LQ2t1Y21Wd2JHRmpaU2d2S0NoVU1EQTZNREFwUHpvd01Day9YRnd1TURBd1dpUXZMQ0FuSnlsY2JuMDdYRzVjYm1WNGNHOXlkQ0I3SUdac2IyRjBWR2x0WlN3Z2FXNTBWR2x0WlN3Z2RHbHRaWE4wWVcxd0lIMDdYRzRpTENBaWFXMXdiM0owSUhzZ2JXRndJSDBnWm5KdmJTQW5MaTR2WTI5dGJXOXVMMjFoY0M1cWN5YzdYRzVwYlhCdmNuUWdleUJ1ZFd4c1ZHRm5JSDBnWm5KdmJTQW5MaTR2WTI5dGJXOXVMMjUxYkd3dWFuTW5PMXh1YVcxd2IzSjBJSHNnYzJWeElIMGdabkp2YlNBbkxpNHZZMjl0Ylc5dUwzTmxjUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnpkSEpwYm1jZ2ZTQm1jbTl0SUNjdUxpOWpiMjF0YjI0dmMzUnlhVzVuTG1wekp6dGNibWx0Y0c5eWRDQjdJR0pwYm1GeWVTQjlJR1p5YjIwZ0p5NHZZbWx1WVhKNUxtcHpKenRjYm1sdGNHOXlkQ0I3SUhSeWRXVlVZV2NzSUdaaGJITmxWR0ZuSUgwZ1puSnZiU0FuTGk5aWIyOXNMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHWnNiMkYwVG1GT0xDQm1iRzloZEVWNGNDd2dabXh2WVhRZ2ZTQm1jbTl0SUNjdUwyWnNiMkYwTG1wekp6dGNibWx0Y0c5eWRDQjdJR2x1ZEVKcGJpd2dhVzUwVDJOMExDQnBiblFzSUdsdWRFaGxlQ0I5SUdaeWIyMGdKeTR2YVc1MExtcHpKenRjYm1sdGNHOXlkQ0I3SUcxbGNtZGxJSDBnWm5KdmJTQW5MaTl0WlhKblpTNXFjeWM3WEc1cGJYQnZjblFnZXlCdmJXRndJSDBnWm5KdmJTQW5MaTl2YldGd0xtcHpKenRjYm1sdGNHOXlkQ0I3SUhCaGFYSnpJSDBnWm5KdmJTQW5MaTl3WVdseWN5NXFjeWM3WEc1cGJYQnZjblFnZXlCelpYUWdmU0JtY205dElDY3VMM05sZEM1cWN5YzdYRzVwYlhCdmNuUWdleUJwYm5SVWFXMWxMQ0JtYkc5aGRGUnBiV1VzSUhScGJXVnpkR0Z0Y0NCOUlHWnliMjBnSnk0dmRHbHRaWE4wWVcxd0xtcHpKenRjYmx4dVkyOXVjM1FnYzJOb1pXMWhJRDBnVzF4dUlDQWdJRzFoY0N4Y2JpQWdJQ0J6WlhFc1hHNGdJQ0FnYzNSeWFXNW5MRnh1SUNBZ0lHNTFiR3hVWVdjc1hHNGdJQ0FnZEhKMVpWUmhaeXhjYmlBZ0lDQm1ZV3h6WlZSaFp5eGNiaUFnSUNCcGJuUkNhVzRzWEc0Z0lDQWdhVzUwVDJOMExGeHVJQ0FnSUdsdWRDeGNiaUFnSUNCcGJuUklaWGdzWEc0Z0lDQWdabXh2WVhST1lVNHNYRzRnSUNBZ1pteHZZWFJGZUhBc1hHNGdJQ0FnWm14dllYUXNYRzRnSUNBZ1ltbHVZWEo1TEZ4dUlDQWdJRzFsY21kbExGeHVJQ0FnSUc5dFlYQXNYRzRnSUNBZ2NHRnBjbk1zWEc0Z0lDQWdjMlYwTEZ4dUlDQWdJR2x1ZEZScGJXVXNYRzRnSUNBZ1pteHZZWFJVYVcxbExGeHVJQ0FnSUhScGJXVnpkR0Z0Y0Z4dVhUdGNibHh1Wlhod2IzSjBJSHNnYzJOb1pXMWhJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2diV0Z3SUgwZ1puSnZiU0FuTGk5amIyMXRiMjR2YldGd0xtcHpKenRjYm1sdGNHOXlkQ0I3SUc1MWJHeFVZV2NnZlNCbWNtOXRJQ2N1TDJOdmJXMXZiaTl1ZFd4c0xtcHpKenRjYm1sdGNHOXlkQ0I3SUhObGNTQjlJR1p5YjIwZ0p5NHZZMjl0Ylc5dUwzTmxjUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnpkSEpwYm1jZ2ZTQm1jbTl0SUNjdUwyTnZiVzF2Ymk5emRISnBibWN1YW5Nbk8xeHVhVzF3YjNKMElIc2dZbTl2YkZSaFp5QjlJR1p5YjIwZ0p5NHZZMjl5WlM5aWIyOXNMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHWnNiMkYwTENCbWJHOWhkRVY0Y0N3Z1pteHZZWFJPWVU0Z2ZTQm1jbTl0SUNjdUwyTnZjbVV2Wm14dllYUXVhbk1uTzF4dWFXMXdiM0owSUhzZ2FXNTBMQ0JwYm5SSVpYZ3NJR2x1ZEU5amRDQjlJR1p5YjIwZ0p5NHZZMjl5WlM5cGJuUXVhbk1uTzF4dWFXMXdiM0owSUhzZ2MyTm9aVzFoSUgwZ1puSnZiU0FuTGk5amIzSmxMM05qYUdWdFlTNXFjeWM3WEc1cGJYQnZjblFnZXlCelkyaGxiV0VnWVhNZ2MyTm9aVzFoSkRFZ2ZTQm1jbTl0SUNjdUwycHpiMjR2YzJOb1pXMWhMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHSnBibUZ5ZVNCOUlHWnliMjBnSnk0dmVXRnRiQzB4TGpFdlltbHVZWEo1TG1wekp6dGNibWx0Y0c5eWRDQjdJRzFsY21kbElIMGdabkp2YlNBbkxpOTVZVzFzTFRFdU1TOXRaWEpuWlM1cWN5YzdYRzVwYlhCdmNuUWdleUJ2YldGd0lIMGdabkp2YlNBbkxpOTVZVzFzTFRFdU1TOXZiV0Z3TG1wekp6dGNibWx0Y0c5eWRDQjdJSEJoYVhKeklIMGdabkp2YlNBbkxpOTVZVzFzTFRFdU1TOXdZV2x5Y3k1cWN5YzdYRzVwYlhCdmNuUWdleUJ6WTJobGJXRWdZWE1nYzJOb1pXMWhKRElnZlNCbWNtOXRJQ2N1TDNsaGJXd3RNUzR4TDNOamFHVnRZUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnpaWFFnZlNCbWNtOXRJQ2N1TDNsaGJXd3RNUzR4TDNObGRDNXFjeWM3WEc1cGJYQnZjblFnZXlCMGFXMWxjM1JoYlhBc0lHWnNiMkYwVkdsdFpTd2dhVzUwVkdsdFpTQjlJR1p5YjIwZ0p5NHZlV0Z0YkMweExqRXZkR2x0WlhOMFlXMXdMbXB6Snp0Y2JseHVZMjl1YzNRZ2MyTm9aVzFoY3lBOUlHNWxkeUJOWVhBb1cxeHVJQ0FnSUZzblkyOXlaU2NzSUhOamFHVnRZVjBzWEc0Z0lDQWdXeWRtWVdsc2MyRm1aU2NzSUZ0dFlYQXNJSE5sY1N3Z2MzUnlhVzVuWFYwc1hHNGdJQ0FnV3lkcWMyOXVKeXdnYzJOb1pXMWhKREZkTEZ4dUlDQWdJRnNuZVdGdGJERXhKeXdnYzJOb1pXMWhKREpkTEZ4dUlDQWdJRnNuZVdGdGJDMHhMakVuTENCelkyaGxiV0VrTWwxY2JsMHBPMXh1WTI5dWMzUWdkR0ZuYzBKNVRtRnRaU0E5SUh0Y2JpQWdJQ0JpYVc1aGNua3NYRzRnSUNBZ1ltOXZiRG9nWW05dmJGUmhaeXhjYmlBZ0lDQm1iRzloZEN4Y2JpQWdJQ0JtYkc5aGRFVjRjQ3hjYmlBZ0lDQm1iRzloZEU1aFRpeGNiaUFnSUNCbWJHOWhkRlJwYldVc1hHNGdJQ0FnYVc1MExGeHVJQ0FnSUdsdWRFaGxlQ3hjYmlBZ0lDQnBiblJQWTNRc1hHNGdJQ0FnYVc1MFZHbHRaU3hjYmlBZ0lDQnRZWEFzWEc0Z0lDQWdiV1Z5WjJVc1hHNGdJQ0FnYm5Wc2JEb2diblZzYkZSaFp5eGNiaUFnSUNCdmJXRndMRnh1SUNBZ0lIQmhhWEp6TEZ4dUlDQWdJSE5sY1N4Y2JpQWdJQ0J6WlhRc1hHNGdJQ0FnZEdsdFpYTjBZVzF3WEc1OU8xeHVZMjl1YzNRZ1kyOXlaVXR1YjNkdVZHRm5jeUE5SUh0Y2JpQWdJQ0FuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2WW1sdVlYSjVKem9nWW1sdVlYSjVMRnh1SUNBZ0lDZDBZV2M2ZVdGdGJDNXZjbWNzTWpBd01qcHRaWEpuWlNjNklHMWxjbWRsTEZ4dUlDQWdJQ2QwWVdjNmVXRnRiQzV2Y21jc01qQXdNanB2YldGd0p6b2diMjFoY0N4Y2JpQWdJQ0FuZEdGbk9ubGhiV3d1YjNKbkxESXdNREk2Y0dGcGNuTW5PaUJ3WVdseWN5eGNiaUFnSUNBbmRHRm5PbmxoYld3dWIzSm5MREl3TURJNmMyVjBKem9nYzJWMExGeHVJQ0FnSUNkMFlXYzZlV0Z0YkM1dmNtY3NNakF3TWpwMGFXMWxjM1JoYlhBbk9pQjBhVzFsYzNSaGJYQmNibjA3WEc1bWRXNWpkR2x2YmlCblpYUlVZV2R6S0dOMWMzUnZiVlJoWjNNc0lITmphR1Z0WVU1aGJXVXNJR0ZrWkUxbGNtZGxWR0ZuS1NCN1hHNGdJQ0FnWTI5dWMzUWdjMk5vWlcxaFZHRm5jeUE5SUhOamFHVnRZWE11WjJWMEtITmphR1Z0WVU1aGJXVXBPMXh1SUNBZ0lHbG1JQ2h6WTJobGJXRlVZV2R6SUNZbUlDRmpkWE4wYjIxVVlXZHpLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJoWkdSTlpYSm5aVlJoWnlBbUppQWhjMk5vWlcxaFZHRm5jeTVwYm1Oc2RXUmxjeWh0WlhKblpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUQ4Z2MyTm9aVzFoVkdGbmN5NWpiMjVqWVhRb2JXVnlaMlVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQTZJSE5qYUdWdFlWUmhaM011YzJ4cFkyVW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ2JHVjBJSFJoWjNNZ1BTQnpZMmhsYldGVVlXZHpPMXh1SUNBZ0lHbG1JQ2doZEdGbmN5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hqZFhOMGIyMVVZV2R6S1NsY2JpQWdJQ0FnSUNBZ0lDQWdJSFJoWjNNZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JyWlhseklEMGdRWEp5WVhrdVpuSnZiU2h6WTJobGJXRnpMbXRsZVhNb0tTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVabWxzZEdWeUtHdGxlU0E5UGlCclpYa2dJVDA5SUNkNVlXMXNNVEVuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM1dFlYQW9hMlY1SUQwK0lFcFRUMDR1YzNSeWFXNW5hV1o1S0d0bGVTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbXB2YVc0b0p5d2dKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lGVnVhMjV2ZDI0Z2MyTm9aVzFoSUZ3aUpIdHpZMmhsYldGT1lXMWxmVndpT3lCMWMyVWdiMjVsSUc5bUlDUjdhMlY1YzMwZ2IzSWdaR1ZtYVc1bElHTjFjM1J2YlZSaFozTWdZWEp5WVhsZ0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoamRYTjBiMjFVWVdkektTa2dlMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUhSaFp5QnZaaUJqZFhOMGIyMVVZV2R6S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdkR0ZuY3lBOUlIUmhaM011WTI5dVkyRjBLSFJoWnlrN1hHNGdJQ0FnZlZ4dUlDQWdJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmpkWE4wYjIxVVlXZHpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQWdJSFJoWjNNZ1BTQmpkWE4wYjIxVVlXZHpLSFJoWjNNdWMyeHBZMlVvS1NrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoaFpHUk5aWEpuWlZSaFp5bGNiaUFnSUNBZ0lDQWdkR0ZuY3lBOUlIUmhaM011WTI5dVkyRjBLRzFsY21kbEtUdGNiaUFnSUNCeVpYUjFjbTRnZEdGbmN5NXlaV1IxWTJVb0tIUmhaM01zSUhSaFp5a2dQVDRnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IwWVdkUFltb2dQU0IwZVhCbGIyWWdkR0ZuSUQwOVBTQW5jM1J5YVc1bkp5QS9JSFJoWjNOQ2VVNWhiV1ZiZEdGblhTQTZJSFJoWnp0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0YwWVdkUFltb3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhSaFowNWhiV1VnUFNCS1UwOU9Mbk4wY21sdVoybG1lU2gwWVdjcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdhMlY1Y3lBOUlFOWlhbVZqZEM1clpYbHpLSFJoWjNOQ2VVNWhiV1VwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTG0xaGNDaHJaWGtnUFQ0Z1NsTlBUaTV6ZEhKcGJtZHBabmtvYTJWNUtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVhbTlwYmlnbkxDQW5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loZ1ZXNXJibTkzYmlCamRYTjBiMjBnZEdGbklDUjdkR0ZuVG1GdFpYMDdJSFZ6WlNCdmJtVWdiMllnSkh0clpYbHpmV0FwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHbG1JQ2doZEdGbmN5NXBibU5zZFdSbGN5aDBZV2RQWW1vcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdGbmN5NXdkWE5vS0hSaFowOWlhaWs3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwWVdkek8xeHVJQ0FnSUgwc0lGdGRLVHRjYm4xY2JseHVaWGh3YjNKMElIc2dZMjl5WlV0dWIzZHVWR0ZuY3l3Z1oyVjBWR0ZuY3lCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUUxQlVDd2dVME5CVEVGU0xDQlRSVkVnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlwWkdWdWRHbDBlUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnRZWEFnZlNCbWNtOXRJQ2N1TDJOdmJXMXZiaTl0WVhBdWFuTW5PMXh1YVcxd2IzSjBJSHNnYzJWeElIMGdabkp2YlNBbkxpOWpiMjF0YjI0dmMyVnhMbXB6Snp0Y2JtbHRjRzl5ZENCN0lITjBjbWx1WnlCOUlHWnliMjBnSnk0dlkyOXRiVzl1TDNOMGNtbHVaeTVxY3ljN1hHNXBiWEJ2Y25RZ2V5Qm5aWFJVWVdkekxDQmpiM0psUzI1dmQyNVVZV2R6SUgwZ1puSnZiU0FuTGk5MFlXZHpMbXB6Snp0Y2JseHVZMjl1YzNRZ2MyOXlkRTFoY0VWdWRISnBaWE5DZVV0bGVTQTlJQ2hoTENCaUtTQTlQaUJoTG10bGVTQThJR0l1YTJWNUlEOGdMVEVnT2lCaExtdGxlU0ErSUdJdWEyVjVJRDhnTVNBNklEQTdYRzVqYkdGemN5QlRZMmhsYldFZ2UxeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtIc2dZMjl0Y0dGMExDQmpkWE4wYjIxVVlXZHpMQ0J0WlhKblpTd2djbVZ6YjJ4MlpVdHViM2R1VkdGbmN5d2djMk5vWlcxaExDQnpiM0owVFdGd1JXNTBjbWxsY3l3Z2RHOVRkSEpwYm1kRVpXWmhkV3gwY3lCOUtTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdVkyOXRjR0YwSUQwZ1FYSnlZWGt1YVhOQmNuSmhlU2hqYjIxd1lYUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lHZGxkRlJoWjNNb1kyOXRjR0YwTENBblkyOXRjR0YwSnlsY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nWTI5dGNHRjBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQeUJuWlhSVVlXZHpLRzUxYkd3c0lHTnZiWEJoZENsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklHNTFiR3c3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVibUZ0WlNBOUlDaDBlWEJsYjJZZ2MyTm9aVzFoSUQwOVBTQW5jM1J5YVc1bkp5QW1KaUJ6WTJobGJXRXBJSHg4SUNkamIzSmxKenRjYmlBZ0lDQWdJQ0FnZEdocGN5NXJibTkzYmxSaFozTWdQU0J5WlhOdmJIWmxTMjV2ZDI1VVlXZHpJRDhnWTI5eVpVdHViM2R1VkdGbmN5QTZJSHQ5TzF4dUlDQWdJQ0FnSUNCMGFHbHpMblJoWjNNZ1BTQm5aWFJVWVdkektHTjFjM1J2YlZSaFozTXNJSFJvYVhNdWJtRnRaU3dnYldWeVoyVXBPMXh1SUNBZ0lDQWdJQ0IwYUdsekxuUnZVM1J5YVc1blQzQjBhVzl1Y3lBOUlIUnZVM1J5YVc1blJHVm1ZWFZzZEhNZ1B6OGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFJvYVhNc0lFMUJVQ3dnZXlCMllXeDFaVG9nYldGd0lIMHBPMXh1SUNBZ0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnVTBOQlRFRlNMQ0I3SUhaaGJIVmxPaUJ6ZEhKcGJtY2dmU2s3WEc0Z0lDQWdJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDBhR2x6TENCVFJWRXNJSHNnZG1Gc2RXVTZJSE5sY1NCOUtUdGNiaUFnSUNBZ0lDQWdMeThnVlhObFpDQmllU0JqY21WaGRHVk5ZWEFvS1Z4dUlDQWdJQ0FnSUNCMGFHbHpMbk52Y25STllYQkZiblJ5YVdWeklEMWNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVnZaaUJ6YjNKMFRXRndSVzUwY21sbGN5QTlQVDBnSjJaMWJtTjBhVzl1SjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z2MyOXlkRTFoY0VWdWRISnBaWE5jYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SUhOdmNuUk5ZWEJGYm5SeWFXVnpJRDA5UFNCMGNuVmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z2MyOXlkRTFoY0VWdWRISnBaWE5DZVV0bGVWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0FnSUdOc2IyNWxLQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JqYjNCNUlEMGdUMkpxWldOMExtTnlaV0YwWlNoVFkyaGxiV0V1Y0hKdmRHOTBlWEJsTENCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXljeWgwYUdsektTazdYRzRnSUNBZ0lDQWdJR052Y0hrdWRHRm5jeUE5SUhSb2FYTXVkR0ZuY3k1emJHbGpaU2dwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTI5d2VUdGNiaUFnSUNCOVhHNTlYRzVjYm1WNGNHOXlkQ0I3SUZOamFHVnRZU0I5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJR2x6VG05a1pTQjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwybGtaVzUwYVhSNUxtcHpKenRjYm1sdGNHOXlkQ0I3SUdOeVpXRjBaVk4wY21sdVoybG1lVU52Ym5SbGVIUXNJSE4wY21sdVoybG1lU0I5SUdaeWIyMGdKeTR2YzNSeWFXNW5hV1o1TG1wekp6dGNibWx0Y0c5eWRDQjdJR2x1WkdWdWRFTnZiVzFsYm5Rc0lHeHBibVZEYjIxdFpXNTBJSDBnWm5KdmJTQW5MaTl6ZEhKcGJtZHBabmxEYjIxdFpXNTBMbXB6Snp0Y2JseHVablZ1WTNScGIyNGdjM1J5YVc1bmFXWjVSRzlqZFcxbGJuUW9aRzlqTENCdmNIUnBiMjV6S1NCN1hHNGdJQ0FnWTI5dWMzUWdiR2x1WlhNZ1BTQmJYVHRjYmlBZ0lDQnNaWFFnYUdGelJHbHlaV04wYVhabGN5QTlJRzl3ZEdsdmJuTXVaR2x5WldOMGFYWmxjeUE5UFQwZ2RISjFaVHRjYmlBZ0lDQnBaaUFvYjNCMGFXOXVjeTVrYVhKbFkzUnBkbVZ6SUNFOVBTQm1ZV3h6WlNBbUppQmtiMk11WkdseVpXTjBhWFpsY3lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCa2FYSWdQU0JrYjJNdVpHbHlaV04wYVhabGN5NTBiMU4wY21sdVp5aGtiMk1wTzF4dUlDQWdJQ0FnSUNCcFppQW9aR2x5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzYVc1bGN5NXdkWE5vS0dScGNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCb1lYTkVhWEpsWTNScGRtVnpJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hrYjJNdVpHbHlaV04wYVhabGN5NWtiMk5UZEdGeWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUdoaGMwUnBjbVZqZEdsMlpYTWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2FHRnpSR2x5WldOMGFYWmxjeWxjYmlBZ0lDQWdJQ0FnYkdsdVpYTXVjSFZ6YUNnbkxTMHRKeWs3WEc0Z0lDQWdZMjl1YzNRZ1kzUjRJRDBnWTNKbFlYUmxVM1J5YVc1bmFXWjVRMjl1ZEdWNGRDaGtiMk1zSUc5d2RHbHZibk1wTzF4dUlDQWdJR052Ym5OMElIc2dZMjl0YldWdWRGTjBjbWx1WnlCOUlEMGdZM1I0TG05d2RHbHZibk03WEc0Z0lDQWdhV1lnS0dSdll5NWpiMjF0Wlc1MFFtVm1iM0psS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hzYVc1bGN5NXNaVzVuZEdnZ0lUMDlJREVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnNhVzVsY3k1MWJuTm9hV1owS0NjbktUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kzTWdQU0JqYjIxdFpXNTBVM1J5YVc1bktHUnZZeTVqYjIxdFpXNTBRbVZtYjNKbEtUdGNiaUFnSUNBZ0lDQWdiR2x1WlhNdWRXNXphR2xtZENocGJtUmxiblJEYjIxdFpXNTBLR056TENBbkp5a3BPMXh1SUNBZ0lIMWNiaUFnSUNCc1pYUWdZMmh2YlhCTFpXVndJRDBnWm1Gc2MyVTdYRzRnSUNBZ2JHVjBJR052Ym5SbGJuUkRiMjF0Wlc1MElEMGdiblZzYkR0Y2JpQWdJQ0JwWmlBb1pHOWpMbU52Ym5SbGJuUnpLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBjMDV2WkdVb1pHOWpMbU52Ym5SbGJuUnpLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dSdll5NWpiMjUwWlc1MGN5NXpjR0ZqWlVKbFptOXlaU0FtSmlCb1lYTkVhWEpsWTNScGRtVnpLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hwYm1WekxuQjFjMmdvSnljcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHUnZZeTVqYjI1MFpXNTBjeTVqYjIxdFpXNTBRbVZtYjNKbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kzTWdQU0JqYjIxdFpXNTBVM1J5YVc1bktHUnZZeTVqYjI1MFpXNTBjeTVqYjIxdFpXNTBRbVZtYjNKbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNhVzVsY3k1d2RYTm9LR2x1WkdWdWRFTnZiVzFsYm5Rb1kzTXNJQ2NuS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUIwYjNBdGJHVjJaV3dnWW14dlkyc2djMk5oYkdGeWN5QnVaV1ZrSUhSdklHSmxJR2x1WkdWdWRHVmtJR2xtSUdadmJHeHZkMlZrSUdKNUlHRWdZMjl0YldWdWRGeHVJQ0FnSUNBZ0lDQWdJQ0FnWTNSNExtWnZjbU5sUW14dlkydEpibVJsYm5RZ1BTQWhJV1J2WXk1amIyMXRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdWdWRFTnZiVzFsYm5RZ1BTQmtiMk11WTI5dWRHVnVkSE11WTI5dGJXVnVkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCamIyNXpkQ0J2YmtOb2IyMXdTMlZsY0NBOUlHTnZiblJsYm5SRGIyMXRaVzUwSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dLQ2tnUFQ0Z0tHTm9iMjF3UzJWbGNDQTlJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQnNaWFFnWW05a2VTQTlJSE4wY21sdVoybG1lU2hrYjJNdVkyOXVkR1Z1ZEhNc0lHTjBlQ3dnS0NrZ1BUNGdLR052Ym5SbGJuUkRiMjF0Wlc1MElEMGdiblZzYkNrc0lHOXVRMmh2YlhCTFpXVndLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHTnZiblJsYm5SRGIyMXRaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZbTlrZVNBclBTQnNhVzVsUTI5dGJXVnVkQ2hpYjJSNUxDQW5KeXdnWTI5dGJXVnVkRk4wY21sdVp5aGpiMjUwWlc1MFEyOXRiV1Z1ZENrcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvS0dKdlpIbGJNRjBnUFQwOUlDZDhKeUI4ZkNCaWIyUjVXekJkSUQwOVBTQW5QaWNwSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0JzYVc1bGMxdHNhVzVsY3k1c1pXNW5kR2dnTFNBeFhTQTlQVDBnSnkwdExTY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJ2Y0Mxc1pYWmxiQ0JpYkc5amF5QnpZMkZzWVhKeklIZHBkR2dnWVNCd2NtVmpaV1JwYm1jZ1pHOWpJRzFoY210bGNpQnZkV2RvZENCMGJ5QjFjMlVnZEdobFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCellXMWxJR3hwYm1VZ1ptOXlJSFJvWldseUlHaGxZV1JsY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJR3hwYm1WelcyeHBibVZ6TG14bGJtZDBhQ0F0SURGZElEMGdZQzB0TFNBa2UySnZaSGw5WUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQnNhVzVsY3k1d2RYTm9LR0p2WkhrcE8xeHVJQ0FnSUgxY2JpQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdiR2x1WlhNdWNIVnphQ2h6ZEhKcGJtZHBabmtvWkc5akxtTnZiblJsYm5SekxDQmpkSGdwS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dSdll5NWthWEpsWTNScGRtVnpQeTVrYjJORmJtUXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUnZZeTVqYjIxdFpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamN5QTlJR052YlcxbGJuUlRkSEpwYm1jb1pHOWpMbU52YlcxbGJuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR056TG1sdVkyeDFaR1Z6S0NkY1hHNG5LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4cGJtVnpMbkIxYzJnb0p5NHVMaWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4cGJtVnpMbkIxYzJnb2FXNWtaVzUwUTI5dGJXVnVkQ2hqY3l3Z0p5Y3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hwYm1WekxuQjFjMmdvWUM0dUxpQWtlMk56ZldBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR2x1WlhNdWNIVnphQ2duTGk0dUp5azdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQmtZeUE5SUdSdll5NWpiMjF0Wlc1ME8xeHVJQ0FnSUNBZ0lDQnBaaUFvWkdNZ0ppWWdZMmh2YlhCTFpXVndLVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHTWdQU0JrWXk1eVpYQnNZV05sS0M5ZVhGeHVLeThzSUNjbktUdGNiaUFnSUNBZ0lDQWdhV1lnS0dSaktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9LQ0ZqYUc5dGNFdGxaWEFnZkh3Z1kyOXVkR1Z1ZEVOdmJXMWxiblFwSUNZbUlHeHBibVZ6VzJ4cGJtVnpMbXhsYm1kMGFDQXRJREZkSUNFOVBTQW5KeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzYVc1bGN5NXdkWE5vS0NjbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4cGJtVnpMbkIxYzJnb2FXNWtaVzUwUTI5dGJXVnVkQ2hqYjIxdFpXNTBVM1J5YVc1bktHUmpLU3dnSnljcEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYkdsdVpYTXVhbTlwYmlnblhGeHVKeWtnS3lBblhGeHVKenRjYm4xY2JseHVaWGh3YjNKMElIc2djM1J5YVc1bmFXWjVSRzlqZFcxbGJuUWdmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QkJiR2xoY3lCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDBGc2FXRnpMbXB6Snp0Y2JtbHRjRzl5ZENCN0lHbHpSVzF3ZEhsUVlYUm9MQ0JqYjJ4c1pXTjBhVzl1Um5KdmJWQmhkR2dnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlEYjJ4c1pXTjBhVzl1TG1wekp6dGNibWx0Y0c5eWRDQjdJRTVQUkVWZlZGbFFSU3dnUkU5RExDQnBjMDV2WkdVc0lHbHpRMjlzYkdWamRHbHZiaXdnYVhOVFkyRnNZWElnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlwWkdWdWRHbDBlUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QlFZV2x5SUgwZ1puSnZiU0FuTGk0dmJtOWtaWE12VUdGcGNpNXFjeWM3WEc1cGJYQnZjblFnZXlCMGIwcFRJSDBnWm5KdmJTQW5MaTR2Ym05a1pYTXZkRzlLVXk1cWN5YzdYRzVwYlhCdmNuUWdleUJUWTJobGJXRWdmU0JtY205dElDY3VMaTl6WTJobGJXRXZVMk5vWlcxaExtcHpKenRjYm1sdGNHOXlkQ0I3SUhOMGNtbHVaMmxtZVVSdlkzVnRaVzUwSUgwZ1puSnZiU0FuTGk0dmMzUnlhVzVuYVdaNUwzTjBjbWx1WjJsbWVVUnZZM1Z0Wlc1MExtcHpKenRjYm1sdGNHOXlkQ0I3SUdGdVkyaHZjazVoYldWekxDQm1hVzVrVG1WM1FXNWphRzl5TENCamNtVmhkR1ZPYjJSbFFXNWphRzl5Y3lCOUlHWnliMjBnSnk0dllXNWphRzl5Y3k1cWN5YzdYRzVwYlhCdmNuUWdleUJoY0hCc2VWSmxkbWwyWlhJZ2ZTQm1jbTl0SUNjdUwyRndjR3g1VW1WMmFYWmxjaTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QmpjbVZoZEdWT2IyUmxJSDBnWm5KdmJTQW5MaTlqY21WaGRHVk9iMlJsTG1wekp6dGNibWx0Y0c5eWRDQjdJRVJwY21WamRHbDJaWE1nZlNCbWNtOXRJQ2N1TDJScGNtVmpkR2wyWlhNdWFuTW5PMXh1WEc1amJHRnpjeUJFYjJOMWJXVnVkQ0I3WEc0Z0lDQWdZMjl1YzNSeWRXTjBiM0lvZG1Gc2RXVXNJSEpsY0d4aFkyVnlMQ0J2Y0hScGIyNXpLU0I3WEc0Z0lDQWdJQ0FnSUM4cUtpQkJJR052YlcxbGJuUWdZbVZtYjNKbElIUm9hWE1nUkc5amRXMWxiblFnS2k5Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVqYjIxdFpXNTBRbVZtYjNKbElEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ0x5b3FJRUVnWTI5dGJXVnVkQ0JwYlcxbFpHbGhkR1ZzZVNCaFpuUmxjaUIwYUdseklFUnZZM1Z0Wlc1MElDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdVkyOXRiV1Z1ZENBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUM4cUtpQkZjbkp2Y25NZ1pXNWpiM1Z1ZEdWeVpXUWdaSFZ5YVc1bklIQmhjbk5wYm1jdUlDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdVpYSnliM0p6SUQwZ1cxMDdYRzRnSUNBZ0lDQWdJQzhxS2lCWFlYSnVhVzVuY3lCbGJtTnZkVzUwWlhKbFpDQmtkWEpwYm1jZ2NHRnljMmx1Wnk0Z0tpOWNiaUFnSUNBZ0lDQWdkR2hwY3k1M1lYSnVhVzVuY3lBOUlGdGRPMXh1SUNBZ0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnVGs5RVJWOVVXVkJGTENCN0lIWmhiSFZsT2lCRVQwTWdmU2s3WEc0Z0lDQWdJQ0FnSUd4bGRDQmZjbVZ3YkdGalpYSWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSEpsY0d4aFkyVnlJRDA5UFNBblpuVnVZM1JwYjI0bklIeDhJRUZ5Y21GNUxtbHpRWEp5WVhrb2NtVndiR0ZqWlhJcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCZmNtVndiR0ZqWlhJZ1BTQnlaWEJzWVdObGNqdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2h2Y0hScGIyNXpJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdjbVZ3YkdGalpYSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXdkR2x2Ym5NZ1BTQnlaWEJzWVdObGNqdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGNHeGhZMlZ5SUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR052Ym5OMElHOXdkQ0E5SUU5aWFtVmpkQzVoYzNOcFoyNG9lMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNTBRWE5DYVdkSmJuUTZJR1poYkhObExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYTJWbGNGTnZkWEpqWlZSdmEyVnVjem9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJQ0FnSUNCc2IyZE1aWFpsYkRvZ0ozZGhjbTRuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjSEpsZEhSNVJYSnliM0p6T2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUnlhV04wT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUnlhVzVuUzJWNWN6b2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0IxYm1seGRXVkxaWGx6T2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RtVnljMmx2YmpvZ0p6RXVNaWRjYmlBZ0lDQWdJQ0FnZlN3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YjNCMGFXOXVjeUE5SUc5d2REdGNiaUFnSUNBZ0lDQWdiR1YwSUhzZ2RtVnljMmx2YmlCOUlEMGdiM0IwTzF4dUlDQWdJQ0FnSUNCcFppQW9iM0IwYVc5dWN6OHVYMlJwY21WamRHbDJaWE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpHbHlaV04wYVhabGN5QTlJRzl3ZEdsdmJuTXVYMlJwY21WamRHbDJaWE11WVhSRWIyTjFiV1Z1ZENncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WkdseVpXTjBhWFpsY3k1NVlXMXNMbVY0Y0d4cFkybDBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFpsY25OcGIyNGdQU0IwYUdsekxtUnBjbVZqZEdsMlpYTXVlV0Z0YkM1MlpYSnphVzl1TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WkdseVpXTjBhWFpsY3lBOUlHNWxkeUJFYVhKbFkzUnBkbVZ6S0hzZ2RtVnljMmx2YmlCOUtUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1elpYUlRZMmhsYldFb2RtVnljMmx2Yml3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnSUNBZ0lDOHZJRUIwY3kxbGVIQmxZM1F0WlhKeWIzSWdWMlVnWTJGdUozUWdjbVZoYkd4NUlHdHViM2NnZEdoaGRDQjBhR2x6SUcxaGRHTm9aWE1nUTI5dWRHVnVkSE11WEc0Z0lDQWdJQ0FnSUhSb2FYTXVZMjl1ZEdWdWRITWdQVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1VnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JRzUxYkd3Z09pQjBhR2x6TG1OeVpXRjBaVTV2WkdVb2RtRnNkV1VzSUY5eVpYQnNZV05sY2l3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnZlZ4dUlDQWdJQzhxS2x4dUlDQWdJQ0FxSUVOeVpXRjBaU0JoSUdSbFpYQWdZMjl3ZVNCdlppQjBhR2x6SUVSdlkzVnRaVzUwSUdGdVpDQnBkSE1nWTI5dWRHVnVkSE11WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJEZFhOMGIyMGdUbTlrWlNCMllXeDFaWE1nZEdoaGRDQnBibWhsY21sMElHWnliMjBnWUU5aWFtVmpkR0FnYzNScGJHd2djbVZtWlhJZ2RHOGdkR2hsYVhJZ2IzSnBaMmx1WVd3Z2FXNXpkR0Z1WTJWekxseHVJQ0FnSUNBcUwxeHVJQ0FnSUdOc2IyNWxLQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JqYjNCNUlEMGdUMkpxWldOMExtTnlaV0YwWlNoRWIyTjFiV1Z1ZEM1d2NtOTBiM1I1Y0dVc0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUZ0T1QwUkZYMVJaVUVWZE9pQjdJSFpoYkhWbE9pQkVUME1nZlZ4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdZMjl3ZVM1amIyMXRaVzUwUW1WbWIzSmxJRDBnZEdocGN5NWpiMjF0Wlc1MFFtVm1iM0psTzF4dUlDQWdJQ0FnSUNCamIzQjVMbU52YlcxbGJuUWdQU0IwYUdsekxtTnZiVzFsYm5RN1hHNGdJQ0FnSUNBZ0lHTnZjSGt1WlhKeWIzSnpJRDBnZEdocGN5NWxjbkp2Y25NdWMyeHBZMlVvS1R0Y2JpQWdJQ0FnSUNBZ1kyOXdlUzUzWVhKdWFXNW5jeUE5SUhSb2FYTXVkMkZ5Ym1sdVozTXVjMnhwWTJVb0tUdGNiaUFnSUNBZ0lDQWdZMjl3ZVM1dmNIUnBiMjV6SUQwZ1QySnFaV04wTG1GemMybG5iaWg3ZlN3Z2RHaHBjeTV2Y0hScGIyNXpLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WkdseVpXTjBhWFpsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJR052Y0hrdVpHbHlaV04wYVhabGN5QTlJSFJvYVhNdVpHbHlaV04wYVhabGN5NWpiRzl1WlNncE8xeHVJQ0FnSUNBZ0lDQmpiM0I1TG5OamFHVnRZU0E5SUhSb2FYTXVjMk5vWlcxaExtTnNiMjVsS0NrN1hHNGdJQ0FnSUNBZ0lDOHZJRUIwY3kxbGVIQmxZM1F0WlhKeWIzSWdWMlVnWTJGdUozUWdjbVZoYkd4NUlHdHViM2NnZEdoaGRDQjBhR2x6SUcxaGRHTm9aWE1nUTI5dWRHVnVkSE11WEc0Z0lDQWdJQ0FnSUdOdmNIa3VZMjl1ZEdWdWRITWdQU0JwYzA1dlpHVW9kR2hwY3k1amIyNTBaVzUwY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJRDhnZEdocGN5NWpiMjUwWlc1MGN5NWpiRzl1WlNoamIzQjVMbk5qYUdWdFlTbGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ2RHaHBjeTVqYjI1MFpXNTBjenRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11Y21GdVoyVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCamIzQjVMbkpoYm1kbElEMGdkR2hwY3k1eVlXNW5aUzV6YkdsalpTZ3BPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMjl3ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xSUVGa1pITWdZU0IyWVd4MVpTQjBieUIwYUdVZ1pHOWpkVzFsYm5RdUlDb3ZYRzRnSUNBZ1lXUmtLSFpoYkhWbEtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoaGMzTmxjblJEYjJ4c1pXTjBhVzl1S0hSb2FYTXVZMjl1ZEdWdWRITXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVqYjI1MFpXNTBjeTVoWkdRb2RtRnNkV1VwTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaW9nUVdSa2N5QmhJSFpoYkhWbElIUnZJSFJvWlNCa2IyTjFiV1Z1ZEM0Z0tpOWNiaUFnSUNCaFpHUkpiaWh3WVhSb0xDQjJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWVhOelpYSjBRMjlzYkdWamRHbHZiaWgwYUdsekxtTnZiblJsYm5SektTbGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVZMjl1ZEdWdWRITXVZV1JrU1c0b2NHRjBhQ3dnZG1Gc2RXVXBPMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRjbVZoZEdVZ1lTQnVaWGNnWUVGc2FXRnpZQ0J1YjJSbExDQmxibk4xY21sdVp5QjBhR0YwSUhSb1pTQjBZWEpuWlhRZ1lHNXZaR1ZnSUdoaGN5QjBhR1VnY21WeGRXbHlaV1FnWVc1amFHOXlMbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dTV1lnWUc1dlpHVmdJR0ZzY21WaFpIa2dhR0Z6SUdGdUlHRnVZMmh2Y2l3Z1lHNWhiV1ZnSUdseklHbG5ibTl5WldRdVhHNGdJQ0FnSUNvZ1QzUm9aWEozYVhObExDQjBhR1VnWUc1dlpHVXVZVzVqYUc5eVlDQjJZV3gxWlNCM2FXeHNJR0psSUhObGRDQjBieUJnYm1GdFpXQXNYRzRnSUNBZ0lDb2diM0lnYVdZZ1lXNGdZVzVqYUc5eUlIZHBkR2dnZEdoaGRDQnVZVzFsSUdseklHRnNjbVZoWkhrZ2NISmxjMlZ1ZENCcGJpQjBhR1VnWkc5amRXMWxiblFzWEc0Z0lDQWdJQ29nWUc1aGJXVmdJSGRwYkd3Z1ltVWdkWE5sWkNCaGN5QmhJSEJ5WldacGVDQm1iM0lnWVNCdVpYY2dkVzVwY1hWbElHRnVZMmh2Y2k1Y2JpQWdJQ0FnS2lCSlppQmdibUZ0WldBZ2FYTWdkVzVrWldacGJtVmtMQ0IwYUdVZ1oyVnVaWEpoZEdWa0lHRnVZMmh2Y2lCM2FXeHNJSFZ6WlNBbllTY2dZWE1nWVNCd2NtVm1hWGd1WEc0Z0lDQWdJQ292WEc0Z0lDQWdZM0psWVhSbFFXeHBZWE1vYm05a1pTd2dibUZ0WlNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVc1dlpHVXVZVzVqYUc5eUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J3Y21WMklEMGdZVzVqYUc5eVRtRnRaWE1vZEdocGN5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxMbUZ1WTJodmNpQTlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl3Y21WbVpYSXRiblZzYkdsemFDMWpiMkZzWlhOamFXNW5YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJVzVoYldVZ2ZId2djSEpsZGk1b1lYTW9ibUZ0WlNrZ1B5Qm1hVzVrVG1WM1FXNWphRzl5S0c1aGJXVWdmSHdnSjJFbkxDQndjbVYyS1NBNklHNWhiV1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkJiR2xoY3lodWIyUmxMbUZ1WTJodmNpazdYRzRnSUNBZ2ZWeHVJQ0FnSUdOeVpXRjBaVTV2WkdVb2RtRnNkV1VzSUhKbGNHeGhZMlZ5TENCdmNIUnBiMjV6S1NCN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JmY21Wd2JHRmpaWElnUFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdjbVZ3YkdGalpYSWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxJRDBnY21Wd2JHRmpaWEl1WTJGc2JDaDdJQ2NuT2lCMllXeDFaU0I5TENBbkp5d2dkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWDNKbGNHeGhZMlZ5SUQwZ2NtVndiR0ZqWlhJN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoeVpYQnNZV05sY2lrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3RsZVZSdlUzUnlJRDBnS0hZcElEMCtJSFI1Y0dWdlppQjJJRDA5UFNBbmJuVnRZbVZ5SnlCOGZDQjJJR2x1YzNSaGJtTmxiMllnVTNSeWFXNW5JSHg4SUhZZ2FXNXpkR0Z1WTJWdlppQk9kVzFpWlhJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmhjMU4wY2lBOUlISmxjR3hoWTJWeUxtWnBiSFJsY2loclpYbFViMU4wY2lrdWJXRndLRk4wY21sdVp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZWE5UZEhJdWJHVnVaM1JvSUQ0Z01DbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWEJzWVdObGNpQTlJSEpsY0d4aFkyVnlMbU52Ym1OaGRDaGhjMU4wY2lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JmY21Wd2JHRmpaWElnUFNCeVpYQnNZV05sY2p0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHZjSFJwYjI1eklEMDlQU0IxYm1SbFptbHVaV1FnSmlZZ2NtVndiR0ZqWlhJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUc5d2RHbHZibk1nUFNCeVpYQnNZV05sY2p0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsY0d4aFkyVnlJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUhzZ1lXeHBZWE5FZFhCc2FXTmhkR1ZQWW1wbFkzUnpMQ0JoYm1Ob2IzSlFjbVZtYVhnc0lHWnNiM2NzSUd0bFpYQlZibVJsWm1sdVpXUXNJRzl1VkdGblQySnFMQ0IwWVdjZ2ZTQTlJRzl3ZEdsdmJuTWdQejhnZTMwN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhzZ2IyNUJibU5vYjNJc0lITmxkRUZ1WTJodmNuTXNJSE52ZFhKalpVOWlhbVZqZEhNZ2ZTQTlJR055WldGMFpVNXZaR1ZCYm1Ob2IzSnpLSFJvYVhNc0lGeHVJQ0FnSUNBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdRSFI1Y0dWelkzSnBjSFF0WlhOc2FXNTBMM0J5WldabGNpMXVkV3hzYVhOb0xXTnZZV3hsYzJOcGJtZGNiaUFnSUNBZ0lDQWdZVzVqYUc5eVVISmxabWw0SUh4OElDZGhKeWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR04wZUNBOUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdGc2FXRnpSSFZ3YkdsallYUmxUMkpxWldOMGN6b2dZV3hwWVhORWRYQnNhV05oZEdWUFltcGxZM1J6SUQ4L0lIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnJaV1Z3Vlc1a1pXWnBibVZrT2lCclpXVndWVzVrWldacGJtVmtJRDgvSUdaaGJITmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNUJibU5vYjNJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J2YmxSaFowOWlhaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjR3hoWTJWeU9pQmZjbVZ3YkdGalpYSXNYRzRnSUNBZ0lDQWdJQ0FnSUNCelkyaGxiV0U2SUhSb2FYTXVjMk5vWlcxaExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYzI5MWNtTmxUMkpxWldOMGMxeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnViMlJsSUQwZ1kzSmxZWFJsVG05a1pTaDJZV3gxWlN3Z2RHRm5MQ0JqZEhncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWm14dmR5QW1KaUJwYzBOdmJHeGxZM1JwYjI0b2JtOWtaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQnViMlJsTG1ac2IzY2dQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQnpaWFJCYm1Ob2IzSnpLQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1YjJSbE8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCRGIyNTJaWEowSUdFZ2EyVjVJR0Z1WkNCaElIWmhiSFZsSUdsdWRHOGdZU0JnVUdGcGNtQWdkWE5wYm1jZ2RHaGxJR04xY25KbGJuUWdjMk5vWlcxaExGeHVJQ0FnSUNBcUlISmxZM1Z5YzJsMlpXeDVJSGR5WVhCd2FXNW5JR0ZzYkNCMllXeDFaWE1nWVhNZ1lGTmpZV3hoY21BZ2IzSWdZRU52Ykd4bFkzUnBiMjVnSUc1dlpHVnpMbHh1SUNBZ0lDQXFMMXh1SUNBZ0lHTnlaV0YwWlZCaGFYSW9hMlY1TENCMllXeDFaU3dnYjNCMGFXOXVjeUE5SUh0OUtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHc2dQU0IwYUdsekxtTnlaV0YwWlU1dlpHVW9hMlY1TENCdWRXeHNMQ0J2Y0hScGIyNXpLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkaUE5SUhSb2FYTXVZM0psWVhSbFRtOWtaU2gyWVd4MVpTd2diblZzYkN3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVR0ZwY2lockxDQjJLVHRjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dVbVZ0YjNabGN5QmhJSFpoYkhWbElHWnliMjBnZEdobElHUnZZM1Z0Wlc1MExseHVJQ0FnSUNBcUlFQnlaWFIxY201eklHQjBjblZsWUNCcFppQjBhR1VnYVhSbGJTQjNZWE1nWm05MWJtUWdZVzVrSUhKbGJXOTJaV1F1WEc0Z0lDQWdJQ292WEc0Z0lDQWdaR1ZzWlhSbEtHdGxlU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWVhOelpYSjBRMjlzYkdWamRHbHZiaWgwYUdsekxtTnZiblJsYm5SektTQS9JSFJvYVhNdVkyOXVkR1Z1ZEhNdVpHVnNaWFJsS0d0bGVTa2dPaUJtWVd4elpUdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1VtVnRiM1psY3lCaElIWmhiSFZsSUdaeWIyMGdkR2hsSUdSdlkzVnRaVzUwTGx4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUdCMGNuVmxZQ0JwWmlCMGFHVWdhWFJsYlNCM1lYTWdabTkxYm1RZ1lXNWtJSEpsYlc5MlpXUXVYRzRnSUNBZ0lDb3ZYRzRnSUNBZ1pHVnNaWFJsU1c0b2NHRjBhQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9hWE5GYlhCMGVWQmhkR2dvY0dGMGFDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtTnZiblJsYm5SeklEMDlJRzUxYkd3cFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdRSFJ6TFdWNGNHVmpkQzFsY25KdmNpQlFjbVZ6ZFcxbFpDQnBiWEJ2YzNOcFlteGxJR2xtSUZOMGNtbGpkQ0JsZUhSbGJtUnpJR1poYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtTnZiblJsYm5SeklEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaGMzTmxjblJEYjJ4c1pXTjBhVzl1S0hSb2FYTXVZMjl1ZEdWdWRITXBYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lIUm9hWE11WTI5dWRHVnVkSE11WkdWc1pYUmxTVzRvY0dGMGFDbGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ1ptRnNjMlU3WEc0Z0lDQWdmVnh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRkpsZEhWeWJuTWdhWFJsYlNCaGRDQmdhMlY1WUN3Z2IzSWdZSFZ1WkdWbWFXNWxaR0FnYVdZZ2JtOTBJR1p2ZFc1a0xpQkNlU0JrWldaaGRXeDBJSFZ1ZDNKaGNITmNiaUFnSUNBZ0tpQnpZMkZzWVhJZ2RtRnNkV1Z6SUdaeWIyMGdkR2hsYVhJZ2MzVnljbTkxYm1ScGJtY2dibTlrWlRzZ2RHOGdaR2x6WVdKc1pTQnpaWFFnWUd0bFpYQlRZMkZzWVhKZ0lIUnZYRzRnSUNBZ0lDb2dZSFJ5ZFdWZ0lDaGpiMnhzWldOMGFXOXVjeUJoY21VZ1lXeDNZWGx6SUhKbGRIVnlibVZrSUdsdWRHRmpkQ2t1WEc0Z0lDQWdJQ292WEc0Z0lDQWdaMlYwS0d0bGVTd2dhMlZsY0ZOallXeGhjaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhORGIyeHNaV04wYVc5dUtIUm9hWE11WTI5dWRHVnVkSE1wWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JSFJvYVhNdVkyOXVkR1Z1ZEhNdVoyVjBLR3RsZVN3Z2EyVmxjRk5qWVd4aGNpbGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCU1pYUjFjbTV6SUdsMFpXMGdZWFFnWUhCaGRHaGdMQ0J2Y2lCZ2RXNWtaV1pwYm1Wa1lDQnBaaUJ1YjNRZ1ptOTFibVF1SUVKNUlHUmxabUYxYkhRZ2RXNTNjbUZ3YzF4dUlDQWdJQ0FxSUhOallXeGhjaUIyWVd4MVpYTWdabkp2YlNCMGFHVnBjaUJ6ZFhKeWIzVnVaR2x1WnlCdWIyUmxPeUIwYnlCa2FYTmhZbXhsSUhObGRDQmdhMlZsY0ZOallXeGhjbUFnZEc5Y2JpQWdJQ0FnS2lCZ2RISjFaV0FnS0dOdmJHeGxZM1JwYjI1eklHRnlaU0JoYkhkaGVYTWdjbVYwZFhKdVpXUWdhVzUwWVdOMEtTNWNiaUFnSUNBZ0tpOWNiaUFnSUNCblpYUkpiaWh3WVhSb0xDQnJaV1Z3VTJOaGJHRnlLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBjMFZ0Y0hSNVVHRjBhQ2h3WVhSb0tTbGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFoYTJWbGNGTmpZV3hoY2lBbUppQnBjMU5qWVd4aGNpaDBhR2x6TG1OdmJuUmxiblJ6S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z2RHaHBjeTVqYjI1MFpXNTBjeTUyWVd4MVpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2dkR2hwY3k1amIyNTBaVzUwY3p0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdselEyOXNiR1ZqZEdsdmJpaDBhR2x6TG1OdmJuUmxiblJ6S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdQeUIwYUdsekxtTnZiblJsYm5SekxtZGxkRWx1S0hCaGRHZ3NJR3RsWlhCVFkyRnNZWElwWEc0Z0lDQWdJQ0FnSUNBZ0lDQTZJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQjlYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dRMmhsWTJ0eklHbG1JSFJvWlNCa2IyTjFiV1Z1ZENCcGJtTnNkV1JsY3lCaElIWmhiSFZsSUhkcGRHZ2dkR2hsSUd0bGVTQmdhMlY1WUM1Y2JpQWdJQ0FnS2k5Y2JpQWdJQ0JvWVhNb2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJwYzBOdmJHeGxZM1JwYjI0b2RHaHBjeTVqYjI1MFpXNTBjeWtnUHlCMGFHbHpMbU52Ym5SbGJuUnpMbWhoY3loclpYa3BJRG9nWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTm9aV05yY3lCcFppQjBhR1VnWkc5amRXMWxiblFnYVc1amJIVmtaWE1nWVNCMllXeDFaU0JoZENCZ2NHRjBhR0F1WEc0Z0lDQWdJQ292WEc0Z0lDQWdhR0Z6U1c0b2NHRjBhQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9hWE5GYlhCMGVWQmhkR2dvY0dGMGFDa3BYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWpiMjUwWlc1MGN5QWhQVDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhORGIyeHNaV04wYVc5dUtIUm9hWE11WTI5dWRHVnVkSE1wSUQ4Z2RHaHBjeTVqYjI1MFpXNTBjeTVvWVhOSmJpaHdZWFJvS1NBNklHWmhiSE5sTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJUWlhSeklHRWdkbUZzZFdVZ2FXNGdkR2hwY3lCa2IyTjFiV1Z1ZEM0Z1JtOXlJR0FoSVhObGRHQXNJR0IyWVd4MVpXQWdibVZsWkhNZ2RHOGdZbVVnWVZ4dUlDQWdJQ0FxSUdKdmIyeGxZVzRnZEc4Z1lXUmtMM0psYlc5MlpTQjBhR1VnYVhSbGJTQm1jbTl0SUhSb1pTQnpaWFF1WEc0Z0lDQWdJQ292WEc0Z0lDQWdjMlYwS0d0bGVTd2dkbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSb2FYTXVZMjl1ZEdWdWRITWdQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdRSFJ6TFdWNGNHVmpkQzFsY25KdmNpQlhaU0JqWVc0bmRDQnlaV0ZzYkhrZ2EyNXZkeUIwYUdGMElIUm9hWE1nYldGMFkyaGxjeUJEYjI1MFpXNTBjeTVjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WTI5dWRHVnVkSE1nUFNCamIyeHNaV04wYVc5dVJuSnZiVkJoZEdnb2RHaHBjeTV6WTJobGJXRXNJRnRyWlhsZExDQjJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZWE56WlhKMFEyOXNiR1ZqZEdsdmJpaDBhR2x6TG1OdmJuUmxiblJ6S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWpiMjUwWlc1MGN5NXpaWFFvYTJWNUxDQjJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1UyVjBjeUJoSUhaaGJIVmxJR2x1SUhSb2FYTWdaRzlqZFcxbGJuUXVJRVp2Y2lCZ0lTRnpaWFJnTENCZ2RtRnNkV1ZnSUc1bFpXUnpJSFJ2SUdKbElHRmNiaUFnSUNBZ0tpQmliMjlzWldGdUlIUnZJR0ZrWkM5eVpXMXZkbVVnZEdobElHbDBaVzBnWm5KdmJTQjBhR1VnYzJWMExseHVJQ0FnSUNBcUwxeHVJQ0FnSUhObGRFbHVLSEJoZEdnc0lIWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzBWdGNIUjVVR0YwYUNod1lYUm9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnUUhSekxXVjRjR1ZqZEMxbGNuSnZjaUJYWlNCallXNG5kQ0J5WldGc2JIa2dhMjV2ZHlCMGFHRjBJSFJvYVhNZ2JXRjBZMmhsY3lCRGIyNTBaVzUwY3k1Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVkyOXVkR1Z1ZEhNZ1BTQjJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaDBhR2x6TG1OdmJuUmxiblJ6SUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVCMGN5MWxlSEJsWTNRdFpYSnliM0lnVjJVZ1kyRnVKM1FnY21WaGJHeDVJR3R1YjNjZ2RHaGhkQ0IwYUdseklHMWhkR05vWlhNZ1EyOXVkR1Z1ZEhNdVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtTnZiblJsYm5SeklEMGdZMjlzYkdWamRHbHZia1p5YjIxUVlYUm9LSFJvYVhNdWMyTm9aVzFoTENCQmNuSmhlUzVtY205dEtIQmhkR2dwTENCMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1lYTnpaWEowUTI5c2JHVmpkR2x2YmloMGFHbHpMbU52Ym5SbGJuUnpLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1amIyNTBaVzUwY3k1elpYUkpiaWh3WVhSb0xDQjJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1EyaGhibWRsSUhSb1pTQlpRVTFNSUhabGNuTnBiMjRnWVc1a0lITmphR1Z0WVNCMWMyVmtJR0o1SUhSb1pTQmtiMk4xYldWdWRDNWNiaUFnSUNBZ0tpQkJJR0J1ZFd4c1lDQjJaWEp6YVc5dUlHUnBjMkZpYkdWeklITjFjSEJ2Y25RZ1ptOXlJR1JwY21WamRHbDJaWE1zSUdWNGNHeHBZMmwwSUhSaFozTXNJR0Z1WTJodmNuTXNJR0Z1WkNCaGJHbGhjMlZ6TGx4dUlDQWdJQ0FxSUVsMElHRnNjMjhnY21WeGRXbHlaWE1nZEdobElHQnpZMmhsYldGZ0lHOXdkR2x2YmlCMGJ5QmlaU0JuYVhabGJpQmhjeUJoSUdCVFkyaGxiV0ZnSUdsdWMzUmhibU5sSUhaaGJIVmxMbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dUM1psY25KcFpHVnpJR0ZzYkNCd2NtVjJhVzkxYzJ4NUlITmxkQ0J6WTJobGJXRWdiM0IwYVc5dWN5NWNiaUFnSUNBZ0tpOWNiaUFnSUNCelpYUlRZMmhsYldFb2RtVnljMmx2Yml3Z2IzQjBhVzl1Y3lBOUlIdDlLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2RtVnljMmx2YmlBOVBUMGdKMjUxYldKbGNpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNCMlpYSnphVzl1SUQwZ1UzUnlhVzVuS0habGNuTnBiMjRwTzF4dUlDQWdJQ0FnSUNCc1pYUWdiM0IwTzF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0habGNuTnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p6RXVNU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WkdseVpXTjBhWFpsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1a2FYSmxZM1JwZG1WekxubGhiV3d1ZG1WeWMybHZiaUE5SUNjeExqRW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1a2FYSmxZM1JwZG1WeklEMGdibVYzSUVScGNtVmpkR2wyWlhNb2V5QjJaWEp6YVc5dU9pQW5NUzR4SnlCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZjSFFnUFNCN0lISmxjMjlzZG1WTGJtOTNibFJoWjNNNklHWmhiSE5sTENCelkyaGxiV0U2SUNkNVlXMXNMVEV1TVNjZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p6RXVNaWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkdVpYaDBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTVrYVhKbFkzUnBkbVZ6S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1ScGNtVmpkR2wyWlhNdWVXRnRiQzUyWlhKemFXOXVJRDBnZG1WeWMybHZianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpHbHlaV04wYVhabGN5QTlJRzVsZHlCRWFYSmxZM1JwZG1WektIc2dkbVZ5YzJsdmJpQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2Y0hRZ1BTQjdJSEpsYzI5c2RtVkxibTkzYmxSaFozTTZJSFJ5ZFdVc0lITmphR1Z0WVRvZ0oyTnZjbVVuSUgwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUc1MWJHdzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSb2FYTXVaR2x5WldOMGFYWmxjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVnNaWFJsSUhSb2FYTXVaR2x5WldOMGFYWmxjenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2Y0hRZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERvZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMklEMGdTbE5QVGk1emRISnBibWRwWm5rb2RtVnljMmx2YmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dCRmVIQmxZM1JsWkNBbk1TNHhKeXdnSnpFdU1pY2diM0lnYm5Wc2JDQmhjeUJtYVhKemRDQmhjbWQxYldWdWRDd2dZblYwSUdadmRXNWtPaUFrZTNOMmZXQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQzh2SUU1dmRDQjFjMmx1WnlCZ2FXNXpkR0Z1WTJWdlppQlRZMmhsYldGZ0lIUnZJR0ZzYkc5M0lHWnZjaUJrZFdOcklIUjVjR2x1WjF4dUlDQWdJQ0FnSUNCcFppQW9iM0IwYVc5dWN5NXpZMmhsYldFZ2FXNXpkR0Z1WTJWdlppQlBZbXBsWTNRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuTmphR1Z0WVNBOUlHOXdkR2x2Ym5NdWMyTm9aVzFoTzF4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNodmNIUXBYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk5qYUdWdFlTQTlJRzVsZHlCVFkyaGxiV0VvVDJKcVpXTjBMbUZ6YzJsbmJpaHZjSFFzSUc5d2RHbHZibk1wS1R0Y2JpQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dCWGFYUm9JR0VnYm5Wc2JDQlpRVTFNSUhabGNuTnBiMjRzSUhSb1pTQjdJSE5qYUdWdFlUb2dVMk5vWlcxaElIMGdiM0IwYVc5dUlHbHpJSEpsY1hWcGNtVmtZQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lDOHZJR3B6YjI0Z0ppQnFjMjl1UVhKbklHRnlaU0J2Ym14NUlIVnpaV1FnWm5KdmJTQjBiMHBUVDA0b0tWeHVJQ0FnSUhSdlNsTW9leUJxYzI5dUxDQnFjMjl1UVhKbkxDQnRZWEJCYzAxaGNDd2diV0Y0UVd4cFlYTkRiM1Z1ZEN3Z2IyNUJibU5vYjNJc0lISmxkbWwyWlhJZ2ZTQTlJSHQ5S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdOMGVDQTlJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnVZMmh2Y25NNklHNWxkeUJOWVhBb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdSdll6b2dkR2hwY3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJR3RsWlhBNklDRnFjMjl1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiV0Z3UVhOTllYQTZJRzFoY0VGelRXRndJRDA5UFNCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JXRndTMlY1VjJGeWJtVmtPaUJtWVd4elpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUcxaGVFRnNhV0Z6UTI5MWJuUTZJSFI1Y0dWdlppQnRZWGhCYkdsaGMwTnZkVzUwSUQwOVBTQW5iblZ0WW1WeUp5QS9JRzFoZUVGc2FXRnpRMjkxYm5RZ09pQXhNREJjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY21WeklEMGdkRzlLVXloMGFHbHpMbU52Ym5SbGJuUnpMQ0JxYzI5dVFYSm5JRDgvSUNjbkxDQmpkSGdwTzF4dUlDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHOXVRVzVqYUc5eUlEMDlQU0FuWm5WdVkzUnBiMjRuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0I3SUdOdmRXNTBMQ0J5WlhNZ2ZTQnZaaUJqZEhndVlXNWphRzl5Y3k1MllXeDFaWE1vS1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrRnVZMmh2Y2loeVpYTXNJR052ZFc1MEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCeVpYWnBkbVZ5SUQwOVBTQW5ablZ1WTNScGIyNG5YRzRnSUNBZ0lDQWdJQ0FnSUNBL0lHRndjR3g1VW1WMmFYWmxjaWh5WlhacGRtVnlMQ0I3SUNjbk9pQnlaWE1nZlN3Z0p5Y3NJSEpsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJRG9nY21Wek8xeHVJQ0FnSUgxY2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQklFcFRUMDRnY21Wd2NtVnpaVzUwWVhScGIyNGdiMllnZEdobElHUnZZM1Z0Wlc1MElHQmpiMjUwWlc1MGMyQXVYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2FuTnZia0Z5WnlCVmMyVmtJR0o1SUdCS1UwOU9Mbk4wY21sdVoybG1lV0FnZEc4Z2FXNWthV05oZEdVZ2RHaGxJR0Z5Y21GNUlHbHVaR1Y0SUc5eVhHNGdJQ0FnSUNvZ0lDQndjbTl3WlhKMGVTQnVZVzFsTGx4dUlDQWdJQ0FxTDF4dUlDQWdJSFJ2U2xOUFRpaHFjMjl1UVhKbkxDQnZia0Z1WTJodmNpa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwcFRLSHNnYW5OdmJqb2dkSEoxWlN3Z2FuTnZia0Z5Wnl3Z2JXRndRWE5OWVhBNklHWmhiSE5sTENCdmJrRnVZMmh2Y2lCOUtUdGNiaUFnSUNCOVhHNGdJQ0FnTHlvcUlFRWdXVUZOVENCeVpYQnlaWE5sYm5SaGRHbHZiaUJ2WmlCMGFHVWdaRzlqZFcxbGJuUXVJQ292WEc0Z0lDQWdkRzlUZEhKcGJtY29iM0IwYVc5dWN5QTlJSHQ5S1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtVnljbTl5Y3k1c1pXNW5kR2dnUGlBd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RFYjJOMWJXVnVkQ0IzYVhSb0lHVnljbTl5Y3lCallXNXViM1FnWW1VZ2MzUnlhVzVuYVdacFpXUW5LVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDZHBibVJsYm5RbklHbHVJRzl3ZEdsdmJuTWdKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDZ2hUblZ0WW1WeUxtbHpTVzUwWldkbGNpaHZjSFJwYjI1ekxtbHVaR1Z1ZENrZ2ZId2dUblZ0WW1WeUtHOXdkR2x2Ym5NdWFXNWtaVzUwS1NBOFBTQXdLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2N5QTlJRXBUVDA0dWMzUnlhVzVuYVdaNUtHOXdkR2x2Ym5NdWFXNWtaVzUwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdYQ0pwYm1SbGJuUmNJaUJ2Y0hScGIyNGdiWFZ6ZENCaVpTQmhJSEJ2YzJsMGFYWmxJR2x1ZEdWblpYSXNJRzV2ZENBa2UzTjlZQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOMGNtbHVaMmxtZVVSdlkzVnRaVzUwS0hSb2FYTXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lIMWNibjFjYm1aMWJtTjBhVzl1SUdGemMyVnlkRU52Ykd4bFkzUnBiMjRvWTI5dWRHVnVkSE1wSUh0Y2JpQWdJQ0JwWmlBb2FYTkRiMnhzWldOMGFXOXVLR052Ym5SbGJuUnpLU2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RGZUhCbFkzUmxaQ0JoSUZsQlRVd2dZMjlzYkdWamRHbHZiaUJoY3lCa2IyTjFiV1Z1ZENCamIyNTBaVzUwY3ljcE8xeHVmVnh1WEc1bGVIQnZjblFnZXlCRWIyTjFiV1Z1ZENCOU8xeHVJaXdnSW1Oc1lYTnpJRmxCVFV4RmNuSnZjaUJsZUhSbGJtUnpJRVZ5Y205eUlIdGNiaUFnSUNCamIyNXpkSEoxWTNSdmNpaHVZVzFsTENCd2IzTXNJR052WkdVc0lHMWxjM05oWjJVcElIdGNiaUFnSUNBZ0lDQWdjM1Z3WlhJb0tUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1dVlXMWxJRDBnYm1GdFpUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1amIyUmxJRDBnWTI5a1pUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1dFpYTnpZV2RsSUQwZ2JXVnpjMkZuWlR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV3YjNNZ1BTQndiM003WEc0Z0lDQWdmVnh1ZlZ4dVkyeGhjM01nV1VGTlRGQmhjbk5sUlhKeWIzSWdaWGgwWlc1a2N5QlpRVTFNUlhKeWIzSWdlMXh1SUNBZ0lHTnZibk4wY25WamRHOXlLSEJ2Y3l3Z1kyOWtaU3dnYldWemMyRm5aU2tnZTF4dUlDQWdJQ0FnSUNCemRYQmxjaWduV1VGTlRGQmhjbk5sUlhKeWIzSW5MQ0J3YjNNc0lHTnZaR1VzSUcxbGMzTmhaMlVwTzF4dUlDQWdJSDFjYm4xY2JtTnNZWE56SUZsQlRVeFhZWEp1YVc1bklHVjRkR1Z1WkhNZ1dVRk5URVZ5Y205eUlIdGNiaUFnSUNCamIyNXpkSEoxWTNSdmNpaHdiM01zSUdOdlpHVXNJRzFsYzNOaFoyVXBJSHRjYmlBZ0lDQWdJQ0FnYzNWd1pYSW9KMWxCVFV4WFlYSnVhVzVuSnl3Z2NHOXpMQ0JqYjJSbExDQnRaWE56WVdkbEtUdGNiaUFnSUNCOVhHNTlYRzVqYjI1emRDQndjbVYwZEdsbWVVVnljbTl5SUQwZ0tITnlZeXdnYkdNcElEMCtJQ2hsY25KdmNpa2dQVDRnZTF4dUlDQWdJR2xtSUNobGNuSnZjaTV3YjNOYk1GMGdQVDA5SUMweEtWeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnWlhKeWIzSXViR2x1WlZCdmN5QTlJR1Z5Y205eUxuQnZjeTV0WVhBb2NHOXpJRDArSUd4akxteHBibVZRYjNNb2NHOXpLU2s3WEc0Z0lDQWdZMjl1YzNRZ2V5QnNhVzVsTENCamIyd2dmU0E5SUdWeWNtOXlMbXhwYm1WUWIzTmJNRjA3WEc0Z0lDQWdaWEp5YjNJdWJXVnpjMkZuWlNBclBTQmdJR0YwSUd4cGJtVWdKSHRzYVc1bGZTd2dZMjlzZFcxdUlDUjdZMjlzZldBN1hHNGdJQ0FnYkdWMElHTnBJRDBnWTI5c0lDMGdNVHRjYmlBZ0lDQnNaWFFnYkdsdVpWTjBjaUE5SUhOeVkxeHVJQ0FnSUNBZ0lDQXVjM1ZpYzNSeWFXNW5LR3hqTG14cGJtVlRkR0Z5ZEhOYmJHbHVaU0F0SURGZExDQnNZeTVzYVc1bFUzUmhjblJ6VzJ4cGJtVmRLVnh1SUNBZ0lDQWdJQ0F1Y21Wd2JHRmpaU2d2VzF4Y2JseGNjbDBySkM4c0lDY25LVHRjYmlBZ0lDQXZMeUJVY21sdElIUnZJRzFoZUNBNE1DQmphR0Z5Y3l3Z2EyVmxjR2x1WnlCamIyd2djRzl6YVhScGIyNGdibVZoY2lCMGFHVWdiV2xrWkd4bFhHNGdJQ0FnYVdZZ0tHTnBJRDQ5SURZd0lDWW1JR3hwYm1WVGRISXViR1Z1WjNSb0lENGdPREFwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZEhKcGJWTjBZWEowSUQwZ1RXRjBhQzV0YVc0b1kya2dMU0F6T1N3Z2JHbHVaVk4wY2k1c1pXNW5kR2dnTFNBM09TazdYRzRnSUNBZ0lDQWdJR3hwYm1WVGRISWdQU0FuWEhVeU1ESTJKeUFySUd4cGJtVlRkSEl1YzNWaWMzUnlhVzVuS0hSeWFXMVRkR0Z5ZENrN1hHNGdJQ0FnSUNBZ0lHTnBJQzA5SUhSeWFXMVRkR0Z5ZENBdElERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHNhVzVsVTNSeUxteGxibWQwYUNBK0lEZ3dLVnh1SUNBZ0lDQWdJQ0JzYVc1bFUzUnlJRDBnYkdsdVpWTjBjaTV6ZFdKemRISnBibWNvTUN3Z056a3BJQ3NnSjF4MU1qQXlOaWM3WEc0Z0lDQWdMeThnU1c1amJIVmtaU0J3Y21WMmFXOTFjeUJzYVc1bElHbHVJR052Ym5SbGVIUWdhV1lnY0c5cGJuUnBibWNnWVhRZ2JHbHVaU0J6ZEdGeWRGeHVJQ0FnSUdsbUlDaHNhVzVsSUQ0Z01TQW1KaUF2WGlBcUpDOHVkR1Z6ZENoc2FXNWxVM1J5TG5OMVluTjBjbWx1Wnlnd0xDQmphU2twS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRkpsWjJWNGNDQjNiMjRuZENCdFlYUmphQ0JwWmlCemRHRnlkQ0JwY3lCMGNtbHRiV1ZrWEc0Z0lDQWdJQ0FnSUd4bGRDQndjbVYySUQwZ2MzSmpMbk4xWW5OMGNtbHVaeWhzWXk1c2FXNWxVM1JoY25SelcyeHBibVVnTFNBeVhTd2diR011YkdsdVpWTjBZWEowYzF0c2FXNWxJQzBnTVYwcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY0hKbGRpNXNaVzVuZEdnZ1BpQTRNQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lIQnlaWFlnUFNCd2NtVjJMbk4xWW5OMGNtbHVaeWd3TENBM09Ta2dLeUFuWEhVeU1ESTJYRnh1Snp0Y2JpQWdJQ0FnSUNBZ2JHbHVaVk4wY2lBOUlIQnlaWFlnS3lCc2FXNWxVM1J5TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvTDF0ZUlGMHZMblJsYzNRb2JHbHVaVk4wY2lrcElIdGNiaUFnSUNBZ0lDQWdiR1YwSUdOdmRXNTBJRDBnTVR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWlc1a0lEMGdaWEp5YjNJdWJHbHVaVkJ2YzFzeFhUdGNiaUFnSUNBZ0lDQWdhV1lnS0dWdVpDQW1KaUJsYm1RdWJHbHVaU0E5UFQwZ2JHbHVaU0FtSmlCbGJtUXVZMjlzSUQ0Z1kyOXNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiM1Z1ZENBOUlFMWhkR2d1YldGNEtERXNJRTFoZEdndWJXbHVLR1Z1WkM1amIyd2dMU0JqYjJ3c0lEZ3dJQzBnWTJrcEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JqYjI1emRDQndiMmx1ZEdWeUlEMGdKeUFuTG5KbGNHVmhkQ2hqYVNrZ0t5QW5YaWN1Y21Wd1pXRjBLR052ZFc1MEtUdGNiaUFnSUNBZ0lDQWdaWEp5YjNJdWJXVnpjMkZuWlNBclBTQmdPbHhjYmx4Y2JpUjdiR2x1WlZOMGNuMWNYRzRrZTNCdmFXNTBaWEo5WEZ4dVlEdGNiaUFnSUNCOVhHNTlPMXh1WEc1bGVIQnZjblFnZXlCWlFVMU1SWEp5YjNJc0lGbEJUVXhRWVhKelpVVnljbTl5TENCWlFVMU1WMkZ5Ym1sdVp5d2djSEpsZEhScFpubEZjbkp2Y2lCOU8xeHVJaXdnSW1aMWJtTjBhVzl1SUhKbGMyOXNkbVZRY205d2N5aDBiMnRsYm5Nc0lIc2dabXh2ZHl3Z2FXNWthV05oZEc5eUxDQnVaWGgwTENCdlptWnpaWFFzSUc5dVJYSnliM0lzSUhCaGNtVnVkRWx1WkdWdWRDd2djM1JoY25SUGJrNWxkMnhwYm1VZ2ZTa2dlMXh1SUNBZ0lHeGxkQ0J6Y0dGalpVSmxabTl5WlNBOUlHWmhiSE5sTzF4dUlDQWdJR3hsZENCaGRFNWxkMnhwYm1VZ1BTQnpkR0Z5ZEU5dVRtVjNiR2x1WlR0Y2JpQWdJQ0JzWlhRZ2FHRnpVM0JoWTJVZ1BTQnpkR0Z5ZEU5dVRtVjNiR2x1WlR0Y2JpQWdJQ0JzWlhRZ1kyOXRiV1Z1ZENBOUlDY25PMXh1SUNBZ0lHeGxkQ0JqYjIxdFpXNTBVMlZ3SUQwZ0p5YzdYRzRnSUNBZ2JHVjBJR2hoYzA1bGQyeHBibVVnUFNCbVlXeHpaVHRjYmlBZ0lDQnNaWFFnY21WeFUzQmhZMlVnUFNCbVlXeHpaVHRjYmlBZ0lDQnNaWFFnZEdGaUlEMGdiblZzYkR0Y2JpQWdJQ0JzWlhRZ1lXNWphRzl5SUQwZ2JuVnNiRHRjYmlBZ0lDQnNaWFFnZEdGbklEMGdiblZzYkR0Y2JpQWdJQ0JzWlhRZ2JtVjNiR2x1WlVGbWRHVnlVSEp2Y0NBOUlHNTFiR3c3WEc0Z0lDQWdiR1YwSUdOdmJXMWhJRDBnYm5Wc2JEdGNiaUFnSUNCc1pYUWdabTkxYm1RZ1BTQnVkV3hzTzF4dUlDQWdJR3hsZENCemRHRnlkQ0E5SUc1MWJHdzdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQjBiMnRsYmlCdlppQjBiMnRsYm5NcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hKbGNWTndZV05sS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RHOXJaVzR1ZEhsd1pTQWhQVDBnSjNOd1lXTmxKeUFtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSdmEyVnVMblI1Y0dVZ0lUMDlJQ2R1Wlhkc2FXNWxKeUFtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSdmEyVnVMblI1Y0dVZ0lUMDlJQ2RqYjIxdFlTY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaDBiMnRsYmk1dlptWnpaWFFzSUNkTlNWTlRTVTVIWDBOSVFWSW5MQ0FuVkdGbmN5QmhibVFnWVc1amFHOXljeUJ0ZFhOMElHSmxJSE5sY0dGeVlYUmxaQ0JtY205dElIUm9aU0J1WlhoMElIUnZhMlZ1SUdKNUlIZG9hWFJsSUhOd1lXTmxKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWEZUY0dGalpTQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNoMFlXSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hoZEU1bGQyeHBibVVnSmlZZ2RHOXJaVzR1ZEhsd1pTQWhQVDBnSjJOdmJXMWxiblFuSUNZbUlIUnZhMlZ1TG5SNWNHVWdJVDA5SUNkdVpYZHNhVzVsSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2RHRmlMQ0FuVkVGQ1gwRlRYMGxPUkVWT1ZDY3NJQ2RVWVdKeklHRnlaU0J1YjNRZ1lXeHNiM2RsWkNCaGN5QnBibVJsYm5SaGRHbHZiaWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHRmlJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSFJ2YTJWdUxuUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozTndZV05sSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QkJkQ0IwYUdVZ1pHOWpJR3hsZG1Wc0xDQjBZV0p6SUdGMElHeHBibVVnYzNSaGNuUWdiV0Y1SUdKbElIQmhjbk5sWkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHRnpJR3hsWVdScGJtY2dkMmhwZEdVZ2MzQmhZMlVnY21GMGFHVnlJSFJvWVc0Z2FXNWtaVzUwWVhScGIyNHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnU1c0Z1lTQm1iRzkzSUdOdmJHeGxZM1JwYjI0c0lHOXViSGtnZEdobElIQmhjbk5sY2lCb1lXNWtiR1Z6SUdsdVpHVnVkQzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXWnNiM2NnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLR2x1WkdsallYUnZjaUFoUFQwZ0oyUnZZeTF6ZEdGeWRDY2dmSHdnYm1WNGREOHVkSGx3WlNBaFBUMGdKMlpzYjNjdFkyOXNiR1ZqZEdsdmJpY3BJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnZhMlZ1TG5OdmRYSmpaUzVwYm1Oc2RXUmxjeWduWEZ4MEp5a3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHRmlJRDBnZEc5clpXNDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2hoYzFOd1lXTmxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyTnZiVzFsYm5Rbk9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGb1lYTlRjR0ZqWlNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaDBiMnRsYml3Z0owMUpVMU5KVGtkZlEwaEJVaWNzSUNkRGIyMXRaVzUwY3lCdGRYTjBJR0psSUhObGNHRnlZWFJsWkNCbWNtOXRJRzkwYUdWeUlIUnZhMlZ1Y3lCaWVTQjNhR2wwWlNCemNHRmpaU0JqYUdGeVlXTjBaWEp6SnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWTJJZ1BTQjBiMnRsYmk1emIzVnlZMlV1YzNWaWMzUnlhVzVuS0RFcElIeDhJQ2NnSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV052YlcxbGJuUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJXMWxiblFnUFNCallqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiVzFsYm5RZ0t6MGdZMjl0YldWdWRGTmxjQ0FySUdOaU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiVzFsYm5SVFpYQWdQU0FuSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaGRFNWxkMnhwYm1VZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMjVsZDJ4cGJtVW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoaGRFNWxkMnhwYm1VcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTnZiVzFsYm5RcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyMXRaVzUwSUNzOUlIUnZhMlZ1TG5OdmRYSmpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM0JoWTJWQ1pXWnZjbVVnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052YlcxbGJuUlRaWEFnS3owZ2RHOXJaVzR1YzI5MWNtTmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0YwVG1WM2JHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhR0Z6VG1WM2JHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dGdVkyaHZjaUI4ZkNCMFlXY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc1bGQyeHBibVZCWm5SbGNsQnliM0FnUFNCMGIydGxianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JvWVhOVGNHRmpaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGhibU5vYjNJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hoYm1Ob2IzSXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvZEc5clpXNHNJQ2ROVlV4VVNWQk1SVjlCVGtOSVQxSlRKeXdnSjBFZ2JtOWtaU0JqWVc0Z2FHRjJaU0JoZENCdGIzTjBJRzl1WlNCaGJtTm9iM0luS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kRzlyWlc0dWMyOTFjbU5sTG1WdVpITlhhWFJvS0NjNkp5a3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvZEc5clpXNHViMlptYzJWMElDc2dkRzlyWlc0dWMyOTFjbU5sTG14bGJtZDBhQ0F0SURFc0lDZENRVVJmUVV4SlFWTW5MQ0FuUVc1amFHOXlJR1Z1WkdsdVp5QnBiaUE2SUdseklHRnRZbWxuZFc5MWN5Y3NJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRnVZMmh2Y2lBOUlIUnZhMlZ1TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHpkR0Z5ZENBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjM1JoY25RZ1BTQjBiMnRsYmk1dlptWnpaWFE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWVhST1pYZHNhVzVsSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYUdGelUzQmhZMlVnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhGVGNHRmpaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZDBZV2NuT2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJoWnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaDBiMnRsYml3Z0owMVZURlJKVUV4RlgxUkJSMU1uTENBblFTQnViMlJsSUdOaGJpQm9ZWFpsSUdGMElHMXZjM1FnYjI1bElIUmhaeWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSaFp5QTlJSFJ2YTJWdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h6ZEdGeWRDQTlQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGNuUWdQU0IwYjJ0bGJpNXZabVp6WlhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lYUk9aWGRzYVc1bElEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FHRnpVM0JoWTJVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYRlRjR0ZqWlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElHbHVaR2xqWVhSdmNqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJEYjNWc1pDQm9aWEpsSUdoaGJtUnNaU0J3Y21WalpXUnBibWNnWTI5dGJXVnVkSE1nWkdsbVptVnlaVzUwYkhsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZVzVqYUc5eUlIeDhJSFJoWnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaDBiMnRsYml3Z0owSkJSRjlRVWs5UVgwOVNSRVZTSnl3Z1lFRnVZMmh2Y25NZ1lXNWtJSFJoWjNNZ2JYVnpkQ0JpWlNCaFpuUmxjaUIwYUdVZ0pIdDBiMnRsYmk1emIzVnlZMlY5SUdsdVpHbGpZWFJ2Y21BcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htYjNWdVpDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWgwYjJ0bGJpd2dKMVZPUlZoUVJVTlVSVVJmVkU5TFJVNG5MQ0JnVlc1bGVIQmxZM1JsWkNBa2UzUnZhMlZ1TG5OdmRYSmpaWDBnYVc0Z0pIdG1iRzkzSUQ4L0lDZGpiMnhzWldOMGFXOXVKMzFnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbWIzVnVaQ0E5SUhSdmEyVnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0YwVG1WM2JHbHVaU0E5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHVaR2xqWVhSdmNpQTlQVDBnSjNObGNTMXBkR1Z0TFdsdVpDY2dmSHdnYVc1a2FXTmhkRzl5SUQwOVBTQW5aWGh3YkdsamFYUXRhMlY1TFdsdVpDYzdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhR0Z6VTNCaFkyVWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyTnZiVzFoSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9abXh2ZHlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kyOXRiV0VwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSFJ2YTJWdUxDQW5WVTVGV0ZCRlExUkZSRjlVVDB0RlRpY3NJR0JWYm1WNGNHVmpkR1ZrSUN3Z2FXNGdKSHRtYkc5M2ZXQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyMXRZU0E5SUhSdmEyVnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaGRFNWxkMnhwYm1VZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhR0Z6VTNCaFkyVWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdaV3h6WlNCbVlXeHNkR2h5YjNWbmFGeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSFJ2YTJWdUxDQW5WVTVGV0ZCRlExUkZSRjlVVDB0RlRpY3NJR0JWYm1WNGNHVmpkR1ZrSUNSN2RHOXJaVzR1ZEhsd1pYMGdkRzlyWlc1Z0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkRTVsZDJ4cGJtVWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm9ZWE5UY0dGalpTQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBJR3hoYzNRZ1BTQjBiMnRsYm5OYmRHOXJaVzV6TG14bGJtZDBhQ0F0SURGZE8xeHVJQ0FnSUdOdmJuTjBJR1Z1WkNBOUlHeGhjM1FnUHlCc1lYTjBMbTltWm5ObGRDQXJJR3hoYzNRdWMyOTFjbU5sTG14bGJtZDBhQ0E2SUc5bVpuTmxkRHRjYmlBZ0lDQnBaaUFvY21WeFUzQmhZMlVnSmlaY2JpQWdJQ0FnSUNBZ2JtVjRkQ0FtSmx4dUlDQWdJQ0FnSUNCdVpYaDBMblI1Y0dVZ0lUMDlJQ2R6Y0dGalpTY2dKaVpjYmlBZ0lDQWdJQ0FnYm1WNGRDNTBlWEJsSUNFOVBTQW5ibVYzYkdsdVpTY2dKaVpjYmlBZ0lDQWdJQ0FnYm1WNGRDNTBlWEJsSUNFOVBTQW5ZMjl0YldFbklDWW1YRzRnSUNBZ0lDQWdJQ2h1WlhoMExuUjVjR1VnSVQwOUlDZHpZMkZzWVhJbklIeDhJRzVsZUhRdWMyOTFjbU5sSUNFOVBTQW5KeWtwSUh0Y2JpQWdJQ0FnSUNBZ2IyNUZjbkp2Y2lodVpYaDBMbTltWm5ObGRDd2dKMDFKVTFOSlRrZGZRMGhCVWljc0lDZFVZV2R6SUdGdVpDQmhibU5vYjNKeklHMTFjM1FnWW1VZ2MyVndZWEpoZEdWa0lHWnliMjBnZEdobElHNWxlSFFnZEc5clpXNGdZbmtnZDJocGRHVWdjM0JoWTJVbktUdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIUmhZaUFtSmx4dUlDQWdJQ0FnSUNBb0tHRjBUbVYzYkdsdVpTQW1KaUIwWVdJdWFXNWtaVzUwSUR3OUlIQmhjbVZ1ZEVsdVpHVnVkQ2tnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsZUhRL0xuUjVjR1VnUFQwOUlDZGliRzlqYXkxdFlYQW5JSHg4WEc0Z0lDQWdJQ0FnSUNBZ0lDQnVaWGgwUHk1MGVYQmxJRDA5UFNBbllteHZZMnN0YzJWeEp5a3BYRzRnSUNBZ0lDQWdJRzl1UlhKeWIzSW9kR0ZpTENBblZFRkNYMEZUWDBsT1JFVk9WQ2NzSUNkVVlXSnpJR0Z5WlNCdWIzUWdZV3hzYjNkbFpDQmhjeUJwYm1SbGJuUmhkR2x2YmljcE8xeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdOdmJXMWhMRnh1SUNBZ0lDQWdJQ0JtYjNWdVpDeGNiaUFnSUNBZ0lDQWdjM0JoWTJWQ1pXWnZjbVVzWEc0Z0lDQWdJQ0FnSUdOdmJXMWxiblFzWEc0Z0lDQWdJQ0FnSUdoaGMwNWxkMnhwYm1Vc1hHNGdJQ0FnSUNBZ0lHRnVZMmh2Y2l4Y2JpQWdJQ0FnSUNBZ2RHRm5MRnh1SUNBZ0lDQWdJQ0J1Wlhkc2FXNWxRV1owWlhKUWNtOXdMRnh1SUNBZ0lDQWdJQ0JsYm1Rc1hHNGdJQ0FnSUNBZ0lITjBZWEowT2lCemRHRnlkQ0EvUHlCbGJtUmNiaUFnSUNCOU8xeHVmVnh1WEc1bGVIQnZjblFnZXlCeVpYTnZiSFpsVUhKdmNITWdmVHRjYmlJc0lDSm1kVzVqZEdsdmJpQmpiMjUwWVdsdWMwNWxkMnhwYm1Vb2EyVjVLU0I3WEc0Z0lDQWdhV1lnS0NGclpYa3BYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSE4zYVhSamFDQW9hMlY1TG5SNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5ZV3hwWVhNbk9seHVJQ0FnSUNBZ0lDQmpZWE5sSUNkelkyRnNZWEluT2x4dUlDQWdJQ0FnSUNCallYTmxJQ2RrYjNWaWJHVXRjWFZ2ZEdWa0xYTmpZV3hoY2ljNlhHNGdJQ0FnSUNBZ0lHTmhjMlVnSjNOcGJtZHNaUzF4ZFc5MFpXUXRjMk5oYkdGeUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHJaWGt1YzI5MWNtTmxMbWx1WTJ4MVpHVnpLQ2RjWEc0bktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyWlhrdVpXNWtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnYzNRZ2IyWWdhMlY1TG1WdVpDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tITjBMblI1Y0dVZ1BUMDlJQ2R1Wlhkc2FXNWxKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2RtYkc5M0xXTnZiR3hsWTNScGIyNG5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQnBkQ0J2WmlCclpYa3VhWFJsYlhNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJSE4wSUc5bUlHbDBMbk4wWVhKMEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MzUXVkSGx3WlNBOVBUMGdKMjVsZDJ4cGJtVW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbDBMbk5sY0NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J6ZENCdlppQnBkQzV6WlhBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jM1F1ZEhsd1pTQTlQVDBnSjI1bGQyeHBibVVuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamIyNTBZV2x1YzA1bGQyeHBibVVvYVhRdWEyVjVLU0I4ZkNCamIyNTBZV2x1YzA1bGQyeHBibVVvYVhRdWRtRnNkV1VwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUgxY2JuMWNibHh1Wlhod2IzSjBJSHNnWTI5dWRHRnBibk5PWlhkc2FXNWxJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dZMjl1ZEdGcGJuTk9aWGRzYVc1bElIMGdabkp2YlNBbkxpOTFkR2xzTFdOdmJuUmhhVzV6TFc1bGQyeHBibVV1YW5Nbk8xeHVYRzVtZFc1amRHbHZiaUJtYkc5M1NXNWtaVzUwUTJobFkyc29hVzVrWlc1MExDQm1ZeXdnYjI1RmNuSnZjaWtnZTF4dUlDQWdJR2xtSUNobVl6OHVkSGx3WlNBOVBUMGdKMlpzYjNjdFkyOXNiR1ZqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaVzVrSUQwZ1ptTXVaVzVrV3pCZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWlc1a0xtbHVaR1Z1ZENBOVBUMGdhVzVrWlc1MElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBb1pXNWtMbk52ZFhKalpTQTlQVDBnSjEwbklIeDhJR1Z1WkM1emIzVnlZMlVnUFQwOUlDZDlKeWtnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5SaGFXNXpUbVYzYkdsdVpTaG1ZeWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMXpaeUE5SUNkR2JHOTNJR1Z1WkNCcGJtUnBZMkYwYjNJZ2MyaHZkV3hrSUdKbElHMXZjbVVnYVc1a1pXNTBaV1FnZEdoaGJpQndZWEpsYm5Rbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWhsYm1Rc0lDZENRVVJmU1U1RVJVNVVKeXdnYlhObkxDQjBjblZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JuMWNibHh1Wlhod2IzSjBJSHNnWm14dmQwbHVaR1Z1ZEVOb1pXTnJJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dhWE5UWTJGc1lYSWdmU0JtY205dElDY3VMaTl1YjJSbGN5OXBaR1Z1ZEdsMGVTNXFjeWM3WEc1Y2JtWjFibU4wYVc5dUlHMWhjRWx1WTJ4MVpHVnpLR04wZUN3Z2FYUmxiWE1zSUhObFlYSmphQ2tnZTF4dUlDQWdJR052Ym5OMElIc2dkVzVwY1hWbFMyVjVjeUI5SUQwZ1kzUjRMbTl3ZEdsdmJuTTdYRzRnSUNBZ2FXWWdLSFZ1YVhGMVpVdGxlWE1nUFQwOUlHWmhiSE5sS1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ1kyOXVjM1FnYVhORmNYVmhiQ0E5SUhSNWNHVnZaaUIxYm1seGRXVkxaWGx6SUQwOVBTQW5ablZ1WTNScGIyNG5YRzRnSUNBZ0lDQWdJRDhnZFc1cGNYVmxTMlY1YzF4dUlDQWdJQ0FnSUNBNklDaGhMQ0JpS1NBOVBpQmhJRDA5UFNCaUlIeDhJQ2hwYzFOallXeGhjaWhoS1NBbUppQnBjMU5qWVd4aGNpaGlLU0FtSmlCaExuWmhiSFZsSUQwOVBTQmlMblpoYkhWbEtUdGNiaUFnSUNCeVpYUjFjbTRnYVhSbGJYTXVjMjl0WlNod1lXbHlJRDArSUdselJYRjFZV3dvY0dGcGNpNXJaWGtzSUhObFlYSmphQ2twTzF4dWZWeHVYRzVsZUhCdmNuUWdleUJ0WVhCSmJtTnNkV1JsY3lCOU8xeHVJaXdnSW1sdGNHOXlkQ0I3SUZCaGFYSWdmU0JtY205dElDY3VMaTl1YjJSbGN5OVFZV2x5TG1wekp6dGNibWx0Y0c5eWRDQjdJRmxCVFV4TllYQWdmU0JtY205dElDY3VMaTl1YjJSbGN5OVpRVTFNVFdGd0xtcHpKenRjYm1sdGNHOXlkQ0I3SUhKbGMyOXNkbVZRY205d2N5QjlJR1p5YjIwZ0p5NHZjbVZ6YjJ4MlpTMXdjbTl3Y3k1cWN5YzdYRzVwYlhCdmNuUWdleUJqYjI1MFlXbHVjMDVsZDJ4cGJtVWdmU0JtY205dElDY3VMM1YwYVd3dFkyOXVkR0ZwYm5NdGJtVjNiR2x1WlM1cWN5YzdYRzVwYlhCdmNuUWdleUJtYkc5M1NXNWtaVzUwUTJobFkyc2dmU0JtY205dElDY3VMM1YwYVd3dFpteHZkeTFwYm1SbGJuUXRZMmhsWTJzdWFuTW5PMXh1YVcxd2IzSjBJSHNnYldGd1NXNWpiSFZrWlhNZ2ZTQm1jbTl0SUNjdUwzVjBhV3d0YldGd0xXbHVZMngxWkdWekxtcHpKenRjYmx4dVkyOXVjM1FnYzNSaGNuUkRiMnhOYzJjZ1BTQW5RV3hzSUcxaGNIQnBibWNnYVhSbGJYTWdiWFZ6ZENCemRHRnlkQ0JoZENCMGFHVWdjMkZ0WlNCamIyeDFiVzRuTzF4dVpuVnVZM1JwYjI0Z2NtVnpiMngyWlVKc2IyTnJUV0Z3S0hzZ1kyOXRjRzl6WlU1dlpHVXNJR052YlhCdmMyVkZiWEIwZVU1dlpHVWdmU3dnWTNSNExDQmliU3dnYjI1RmNuSnZjaXdnZEdGbktTQjdYRzRnSUNBZ1kyOXVjM1FnVG05a1pVTnNZWE56SUQwZ2RHRm5QeTV1YjJSbFEyeGhjM01nUHo4Z1dVRk5URTFoY0R0Y2JpQWdJQ0JqYjI1emRDQnRZWEFnUFNCdVpYY2dUbTlrWlVOc1lYTnpLR04wZUM1elkyaGxiV0VwTzF4dUlDQWdJR2xtSUNoamRIZ3VZWFJTYjI5MEtWeHVJQ0FnSUNBZ0lDQmpkSGd1WVhSU2IyOTBJRDBnWm1Gc2MyVTdYRzRnSUNBZ2JHVjBJRzltWm5ObGRDQTlJR0p0TG05bVpuTmxkRHRjYmlBZ0lDQnNaWFFnWTI5dGJXVnVkRVZ1WkNBOUlHNTFiR3c3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JqYjJ4c1NYUmxiU0J2WmlCaWJTNXBkR1Z0Y3lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lITjBZWEowTENCclpYa3NJSE5sY0N3Z2RtRnNkV1VnZlNBOUlHTnZiR3hKZEdWdE8xeHVJQ0FnSUNBZ0lDQXZMeUJyWlhrZ2NISnZjR1Z5ZEdsbGMxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCclpYbFFjbTl3Y3lBOUlISmxjMjlzZG1WUWNtOXdjeWh6ZEdGeWRDd2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNWthV05oZEc5eU9pQW5aWGh3YkdsamFYUXRhMlY1TFdsdVpDY3NYRzRnSUNBZ0lDQWdJQ0FnSUNCdVpYaDBPaUJyWlhrZ1B6OGdjMlZ3UHk1Yk1GMHNYRzRnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnY0dGeVpXNTBTVzVrWlc1ME9pQmliUzVwYm1SbGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNCemRHRnlkRTl1VG1WM2JHbHVaVG9nZEhKMVpWeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhVzF3YkdsamFYUkxaWGtnUFNBaGEyVjVVSEp2Y0hNdVptOTFibVE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBiWEJzYVdOcGRFdGxlU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d0bGVTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYa3VkSGx3WlNBOVBUMGdKMkpzYjJOckxYTmxjU2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2IyWm1jMlYwTENBblFreFBRMHRmUVZOZlNVMVFURWxEU1ZSZlMwVlpKeXdnSjBFZ1lteHZZMnNnYzJWeGRXVnVZMlVnYldGNUlHNXZkQ0JpWlNCMWMyVmtJR0Z6SUdGdUlHbHRjR3hwWTJsMElHMWhjQ0JyWlhrbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDZ25hVzVrWlc1MEp5QnBiaUJyWlhrZ0ppWWdhMlY1TG1sdVpHVnVkQ0FoUFQwZ1ltMHVhVzVrWlc1MEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLRzltWm5ObGRDd2dKMEpCUkY5SlRrUkZUbFFuTENCemRHRnlkRU52YkUxelp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXdGxlVkJ5YjNCekxtRnVZMmh2Y2lBbUppQWhhMlY1VUhKdmNITXVkR0ZuSUNZbUlDRnpaWEFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyMXRaVzUwUlc1a0lEMGdhMlY1VUhKdmNITXVaVzVrTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHJaWGxRY205d2N5NWpiMjF0Wlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHRZWEF1WTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoY0M1amIyMXRaVzUwSUNzOUlDZGNYRzRuSUNzZ2EyVjVVSEp2Y0hNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYldGd0xtTnZiVzFsYm5RZ1BTQnJaWGxRY205d2N5NWpiMjF0Wlc1ME8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYbFFjbTl3Y3k1dVpYZHNhVzVsUVdaMFpYSlFjbTl3SUh4OElHTnZiblJoYVc1elRtVjNiR2x1WlNoclpYa3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWhyWlhrZ1B6OGdjM1JoY25SYmMzUmhjblF1YkdWdVozUm9JQzBnTVYwc0lDZE5WVXhVU1V4SlRrVmZTVTFRVEVsRFNWUmZTMFZaSnl3Z0owbHRjR3hwWTJsMElHdGxlWE1nYm1WbFpDQjBieUJpWlNCdmJpQmhJSE5wYm1kc1pTQnNhVzVsSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2EyVjVVSEp2Y0hNdVptOTFibVEvTG1sdVpHVnVkQ0FoUFQwZ1ltMHVhVzVrWlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0c5bVpuTmxkQ3dnSjBKQlJGOUpUa1JGVGxRbkxDQnpkR0Z5ZEVOdmJFMXpaeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0x5OGdhMlY1SUhaaGJIVmxYRzRnSUNBZ0lDQWdJR04wZUM1aGRFdGxlU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR052Ym5OMElHdGxlVk4wWVhKMElEMGdhMlY1VUhKdmNITXVaVzVrTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JyWlhsT2IyUmxJRDBnYTJWNVhHNGdJQ0FnSUNBZ0lDQWdJQ0EvSUdOdmJYQnZjMlZPYjJSbEtHTjBlQ3dnYTJWNUxDQnJaWGxRY205d2N5d2diMjVGY25KdmNpbGNiaUFnSUNBZ0lDQWdJQ0FnSURvZ1kyOXRjRzl6WlVWdGNIUjVUbTlrWlNoamRIZ3NJR3RsZVZOMFlYSjBMQ0J6ZEdGeWRDd2diblZzYkN3Z2EyVjVVSEp2Y0hNc0lHOXVSWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNSNExuTmphR1Z0WVM1amIyMXdZWFFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iRzkzU1c1a1pXNTBRMmhsWTJzb1ltMHVhVzVrWlc1MExDQnJaWGtzSUc5dVJYSnliM0lwTzF4dUlDQWdJQ0FnSUNCamRIZ3VZWFJMWlhrZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzFoY0VsdVkyeDFaR1Z6S0dOMGVDd2diV0Z3TG1sMFpXMXpMQ0JyWlhsT2IyUmxLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2EyVjVVM1JoY25Rc0lDZEVWVkJNU1VOQlZFVmZTMFZaSnl3Z0owMWhjQ0JyWlhseklHMTFjM1FnWW1VZ2RXNXBjWFZsSnlrN1hHNGdJQ0FnSUNBZ0lDOHZJSFpoYkhWbElIQnliM0JsY25ScFpYTmNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2RtRnNkV1ZRY205d2N5QTlJSEpsYzI5c2RtVlFjbTl3Y3loelpYQWdQejhnVzEwc0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsdVpHbGpZWFJ2Y2pvZ0oyMWhjQzEyWVd4MVpTMXBibVFuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdibVY0ZERvZ2RtRnNkV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklHdGxlVTV2WkdVdWNtRnVaMlZiTWwwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRnlaVzUwU1c1a1pXNTBPaUJpYlM1cGJtUmxiblFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkR0Z5ZEU5dVRtVjNiR2x1WlRvZ0lXdGxlU0I4ZkNCclpYa3VkSGx3WlNBOVBUMGdKMkpzYjJOckxYTmpZV3hoY2lkY2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJRzltWm5ObGRDQTlJSFpoYkhWbFVISnZjSE11Wlc1a08xeHVJQ0FnSUNBZ0lDQnBaaUFvZG1Gc2RXVlFjbTl3Y3k1bWIzVnVaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsdGNHeHBZMmwwUzJWNUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0haaGJIVmxQeTUwZVhCbElEMDlQU0FuWW14dlkyc3RiV0Z3SnlBbUppQWhkbUZzZFdWUWNtOXdjeTVvWVhOT1pYZHNhVzVsS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHOW1abk5sZEN3Z0owSk1UME5MWDBGVFgwbE5VRXhKUTBsVVgwdEZXU2NzSUNkT1pYTjBaV1FnYldGd2NHbHVaM01nWVhKbElHNXZkQ0JoYkd4dmQyVmtJR2x1SUdOdmJYQmhZM1FnYldGd2NHbHVaM01uS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZM1I0TG05d2RHbHZibk11YzNSeWFXTjBJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHdGxlVkJ5YjNCekxuTjBZWEowSUR3Z2RtRnNkV1ZRY205d2N5NW1iM1Z1WkM1dlptWnpaWFFnTFNBeE1ESTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0d0bGVVNXZaR1V1Y21GdVoyVXNJQ2RMUlZsZlQxWkZVbDh4TURJMFgwTklRVkpUSnl3Z0oxUm9aU0E2SUdsdVpHbGpZWFJ2Y2lCdGRYTjBJR0psSUdGMElHMXZjM1FnTVRBeU5DQmphR0Z5Y3lCaFpuUmxjaUIwYUdVZ2MzUmhjblFnYjJZZ1lXNGdhVzF3YkdsamFYUWdZbXh2WTJzZ2JXRndjR2x1WnlCclpYa25LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklIWmhiSFZsSUhaaGJIVmxYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0IyWVd4MVpVNXZaR1VnUFNCMllXeDFaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnWTI5dGNHOXpaVTV2WkdVb1kzUjRMQ0IyWVd4MVpTd2dkbUZzZFdWUWNtOXdjeXdnYjI1RmNuSnZjaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SUdOdmJYQnZjMlZGYlhCMGVVNXZaR1VvWTNSNExDQnZabVp6WlhRc0lITmxjQ3dnYm5Wc2JDd2dkbUZzZFdWUWNtOXdjeXdnYjI1RmNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTNSNExuTmphR1Z0WVM1amIyMXdZWFFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm14dmQwbHVaR1Z1ZEVOb1pXTnJLR0p0TG1sdVpHVnVkQ3dnZG1Gc2RXVXNJRzl1UlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IyWm1jMlYwSUQwZ2RtRnNkV1ZPYjJSbExuSmhibWRsV3pKZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjR0ZwY2lBOUlHNWxkeUJRWVdseUtHdGxlVTV2WkdVc0lIWmhiSFZsVG05a1pTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZM1I0TG05d2RHbHZibk11YTJWbGNGTnZkWEpqWlZSdmEyVnVjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVdseUxuTnlZMVJ2YTJWdUlEMGdZMjlzYkVsMFpXMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCdFlYQXVhWFJsYlhNdWNIVnphQ2h3WVdseUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHdGxlU0IzYVhSb0lHNXZJSFpoYkhWbFhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FXMXdiR2xqYVhSTFpYa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaHJaWGxPYjJSbExuSmhibWRsTENBblRVbFRVMGxPUjE5RFNFRlNKeXdnSjBsdGNHeHBZMmwwSUcxaGNDQnJaWGx6SUc1bFpXUWdkRzhnWW1VZ1ptOXNiRzkzWldRZ1lua2diV0Z3SUhaaGJIVmxjeWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0haaGJIVmxVSEp2Y0hNdVkyOXRiV1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyWlhsT2IyUmxMbU52YlcxbGJuUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd0bGVVNXZaR1V1WTI5dGJXVnVkQ0FyUFNBblhGeHVKeUFySUhaaGJIVmxVSEp2Y0hNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd0bGVVNXZaR1V1WTI5dGJXVnVkQ0E5SUhaaGJIVmxVSEp2Y0hNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhCaGFYSWdQU0J1WlhjZ1VHRnBjaWhyWlhsT2IyUmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqZEhndWIzQjBhVzl1Y3k1clpXVndVMjkxY21ObFZHOXJaVzV6S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaGFYSXVjM0pqVkc5clpXNGdQU0JqYjJ4c1NYUmxiVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWhjQzVwZEdWdGN5NXdkWE5vS0hCaGFYSXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hqYjIxdFpXNTBSVzVrSUNZbUlHTnZiVzFsYm5SRmJtUWdQQ0J2Wm1aelpYUXBYRzRnSUNBZ0lDQWdJRzl1UlhKeWIzSW9ZMjl0YldWdWRFVnVaQ3dnSjBsTlVFOVRVMGxDVEVVbkxDQW5UV0Z3SUdOdmJXMWxiblFnZDJsMGFDQjBjbUZwYkdsdVp5QmpiMjUwWlc1MEp5azdYRzRnSUNBZ2JXRndMbkpoYm1kbElEMGdXMkp0TG05bVpuTmxkQ3dnYjJabWMyVjBMQ0JqYjIxdFpXNTBSVzVrSUQ4L0lHOW1abk5sZEYwN1hHNGdJQ0FnY21WMGRYSnVJRzFoY0R0Y2JuMWNibHh1Wlhod2IzSjBJSHNnY21WemIyeDJaVUpzYjJOclRXRndJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dXVUZOVEZObGNTQjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwxbEJUVXhUWlhFdWFuTW5PMXh1YVcxd2IzSjBJSHNnY21WemIyeDJaVkJ5YjNCeklIMGdabkp2YlNBbkxpOXlaWE52YkhabExYQnliM0J6TG1wekp6dGNibWx0Y0c5eWRDQjdJR1pzYjNkSmJtUmxiblJEYUdWamF5QjlJR1p5YjIwZ0p5NHZkWFJwYkMxbWJHOTNMV2x1WkdWdWRDMWphR1ZqYXk1cWN5YzdYRzVjYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZDYkc5amExTmxjU2g3SUdOdmJYQnZjMlZPYjJSbExDQmpiMjF3YjNObFJXMXdkSGxPYjJSbElIMHNJR04wZUN3Z1luTXNJRzl1UlhKeWIzSXNJSFJoWnlrZ2UxeHVJQ0FnSUdOdmJuTjBJRTV2WkdWRGJHRnpjeUE5SUhSaFp6OHVibTlrWlVOc1lYTnpJRDgvSUZsQlRVeFRaWEU3WEc0Z0lDQWdZMjl1YzNRZ2MyVnhJRDBnYm1WM0lFNXZaR1ZEYkdGemN5aGpkSGd1YzJOb1pXMWhLVHRjYmlBZ0lDQnBaaUFvWTNSNExtRjBVbTl2ZENsY2JpQWdJQ0FnSUNBZ1kzUjRMbUYwVW05dmRDQTlJR1poYkhObE8xeHVJQ0FnSUdsbUlDaGpkSGd1WVhSTFpYa3BYRzRnSUNBZ0lDQWdJR04wZUM1aGRFdGxlU0E5SUdaaGJITmxPMXh1SUNBZ0lHeGxkQ0J2Wm1aelpYUWdQU0JpY3k1dlptWnpaWFE3WEc0Z0lDQWdiR1YwSUdOdmJXMWxiblJGYm1RZ1BTQnVkV3hzTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnZXlCemRHRnlkQ3dnZG1Gc2RXVWdmU0J2WmlCaWN5NXBkR1Z0Y3lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd2NtOXdjeUE5SUhKbGMyOXNkbVZRY205d2N5aHpkR0Z5ZEN3Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1a2FXTmhkRzl5T2lBbmMyVnhMV2wwWlcwdGFXNWtKeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHNWxlSFE2SUhaaGJIVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2IyWm1jMlYwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpeGNiaUFnSUNBZ0lDQWdJQ0FnSUhCaGNtVnVkRWx1WkdWdWREb2dZbk11YVc1a1pXNTBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblJQYms1bGQyeHBibVU2SUhSeWRXVmNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hjSEp2Y0hNdVptOTFibVFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNod2NtOXdjeTVoYm1Ob2IzSWdmSHdnY0hKdmNITXVkR0ZuSUh4OElIWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElDWW1JSFpoYkhWbExuUjVjR1VnUFQwOUlDZGliRzlqYXkxelpYRW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0hCeWIzQnpMbVZ1WkN3Z0owSkJSRjlKVGtSRlRsUW5MQ0FuUVd4c0lITmxjWFZsYm1ObElHbDBaVzF6SUcxMWMzUWdjM1JoY25RZ1lYUWdkR2hsSUhOaGJXVWdZMjlzZFcxdUp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHOW1abk5sZEN3Z0owMUpVMU5KVGtkZlEwaEJVaWNzSUNkVFpYRjFaVzVqWlNCcGRHVnRJSGRwZEdodmRYUWdMU0JwYm1ScFkyRjBiM0luS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJXMWxiblJGYm1RZ1BTQndjbTl3Y3k1bGJtUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hCeWIzQnpMbU52YlcxbGJuUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhObGNTNWpiMjF0Wlc1MElEMGdjSEp2Y0hNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCamIyNXpkQ0J1YjJSbElEMGdkbUZzZFdWY2JpQWdJQ0FnSUNBZ0lDQWdJRDhnWTI5dGNHOXpaVTV2WkdVb1kzUjRMQ0IyWVd4MVpTd2djSEp2Y0hNc0lHOXVSWEp5YjNJcFhHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUdOdmJYQnZjMlZGYlhCMGVVNXZaR1VvWTNSNExDQndjbTl3Y3k1bGJtUXNJSE4wWVhKMExDQnVkV3hzTENCd2NtOXdjeXdnYjI1RmNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpkSGd1YzJOb1pXMWhMbU52YlhCaGRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUdac2IzZEpibVJsYm5SRGFHVmpheWhpY3k1cGJtUmxiblFzSUhaaGJIVmxMQ0J2YmtWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnYjJabWMyVjBJRDBnYm05a1pTNXlZVzVuWlZzeVhUdGNiaUFnSUNBZ0lDQWdjMlZ4TG1sMFpXMXpMbkIxYzJnb2JtOWtaU2s3WEc0Z0lDQWdmVnh1SUNBZ0lITmxjUzV5WVc1blpTQTlJRnRpY3k1dlptWnpaWFFzSUc5bVpuTmxkQ3dnWTI5dGJXVnVkRVZ1WkNBL1B5QnZabVp6WlhSZE8xeHVJQ0FnSUhKbGRIVnliaUJ6WlhFN1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUhKbGMyOXNkbVZDYkc5amExTmxjU0I5TzF4dUlpd2dJbVoxYm1OMGFXOXVJSEpsYzI5c2RtVkZibVFvWlc1a0xDQnZabVp6WlhRc0lISmxjVk53WVdObExDQnZia1Z5Y205eUtTQjdYRzRnSUNBZ2JHVjBJR052YlcxbGJuUWdQU0FuSnp0Y2JpQWdJQ0JwWmlBb1pXNWtLU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQm9ZWE5UY0dGalpTQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQnNaWFFnYzJWd0lEMGdKeWM3WEc0Z0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2RHOXJaVzRnYjJZZ1pXNWtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lITnZkWEpqWlN3Z2RIbHdaU0I5SUQwZ2RHOXJaVzQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R6Y0dGalpTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdoaGMxTndZV05sSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZMjl0YldWdWRDYzZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsY1ZOd1lXTmxJQ1ltSUNGb1lYTlRjR0ZqWlNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvZEc5clpXNHNJQ2ROU1ZOVFNVNUhYME5JUVZJbkxDQW5RMjl0YldWdWRITWdiWFZ6ZENCaVpTQnpaWEJoY21GMFpXUWdabkp2YlNCdmRHaGxjaUIwYjJ0bGJuTWdZbmtnZDJocGRHVWdjM0JoWTJVZ1kyaGhjbUZqZEdWeWN5Y3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqWWlBOUlITnZkWEpqWlM1emRXSnpkSEpwYm1jb01Ta2dmSHdnSnlBbk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXTnZiVzFsYm5RcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyMXRaVzUwSUQwZ1kySTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiVzFsYm5RZ0t6MGdjMlZ3SUNzZ1kySTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhObGNDQTlJQ2NuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYm1WM2JHbHVaU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqYjIxdFpXNTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMlZ3SUNzOUlITnZkWEpqWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhR0Z6VTNCaFkyVWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSFJ2YTJWdUxDQW5WVTVGV0ZCRlExUkZSRjlVVDB0RlRpY3NJR0JWYm1WNGNHVmpkR1ZrSUNSN2RIbHdaWDBnWVhRZ2JtOWtaU0JsYm1SZ0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGRDQXJQU0J6YjNWeVkyVXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUI3SUdOdmJXMWxiblFzSUc5bVpuTmxkQ0I5TzF4dWZWeHVYRzVsZUhCdmNuUWdleUJ5WlhOdmJIWmxSVzVrSUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnYVhOUVlXbHlJSDBnWm5KdmJTQW5MaTR2Ym05a1pYTXZhV1JsYm5ScGRIa3Vhbk1uTzF4dWFXMXdiM0owSUhzZ1VHRnBjaUI5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMUJoYVhJdWFuTW5PMXh1YVcxd2IzSjBJSHNnV1VGTlRFMWhjQ0I5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMWxCVFV4TllYQXVhbk1uTzF4dWFXMXdiM0owSUhzZ1dVRk5URk5sY1NCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDFsQlRVeFRaWEV1YW5Nbk8xeHVhVzF3YjNKMElIc2djbVZ6YjJ4MlpVVnVaQ0I5SUdaeWIyMGdKeTR2Y21WemIyeDJaUzFsYm1RdWFuTW5PMXh1YVcxd2IzSjBJSHNnY21WemIyeDJaVkJ5YjNCeklIMGdabkp2YlNBbkxpOXlaWE52YkhabExYQnliM0J6TG1wekp6dGNibWx0Y0c5eWRDQjdJR052Ym5SaGFXNXpUbVYzYkdsdVpTQjlJR1p5YjIwZ0p5NHZkWFJwYkMxamIyNTBZV2x1Y3kxdVpYZHNhVzVsTG1wekp6dGNibWx0Y0c5eWRDQjdJRzFoY0VsdVkyeDFaR1Z6SUgwZ1puSnZiU0FuTGk5MWRHbHNMVzFoY0MxcGJtTnNkV1JsY3k1cWN5YzdYRzVjYm1OdmJuTjBJR0pzYjJOclRYTm5JRDBnSjBKc2IyTnJJR052Ykd4bFkzUnBiMjV6SUdGeVpTQnViM1FnWVd4c2IzZGxaQ0IzYVhSb2FXNGdabXh2ZHlCamIyeHNaV04wYVc5dWN5YzdYRzVqYjI1emRDQnBjMEpzYjJOcklEMGdLSFJ2YTJWdUtTQTlQaUIwYjJ0bGJpQW1KaUFvZEc5clpXNHVkSGx3WlNBOVBUMGdKMkpzYjJOckxXMWhjQ2NnZkh3Z2RHOXJaVzR1ZEhsd1pTQTlQVDBnSjJKc2IyTnJMWE5sY1NjcE8xeHVablZ1WTNScGIyNGdjbVZ6YjJ4MlpVWnNiM2REYjJ4c1pXTjBhVzl1S0hzZ1kyOXRjRzl6WlU1dlpHVXNJR052YlhCdmMyVkZiWEIwZVU1dlpHVWdmU3dnWTNSNExDQm1ZeXdnYjI1RmNuSnZjaXdnZEdGbktTQjdYRzRnSUNBZ1kyOXVjM1FnYVhOTllYQWdQU0JtWXk1emRHRnlkQzV6YjNWeVkyVWdQVDA5SUNkN0p6dGNiaUFnSUNCamIyNXpkQ0JtWTA1aGJXVWdQU0JwYzAxaGNDQS9JQ2RtYkc5M0lHMWhjQ2NnT2lBblpteHZkeUJ6WlhGMVpXNWpaU2M3WEc0Z0lDQWdZMjl1YzNRZ1RtOWtaVU5zWVhOeklEMGdLSFJoWno4dWJtOWtaVU5zWVhOeklEOC9JQ2hwYzAxaGNDQS9JRmxCVFV4TllYQWdPaUJaUVUxTVUyVnhLU2s3WEc0Z0lDQWdZMjl1YzNRZ1kyOXNiQ0E5SUc1bGR5Qk9iMlJsUTJ4aGMzTW9ZM1I0TG5OamFHVnRZU2s3WEc0Z0lDQWdZMjlzYkM1bWJHOTNJRDBnZEhKMVpUdGNiaUFnSUNCamIyNXpkQ0JoZEZKdmIzUWdQU0JqZEhndVlYUlNiMjkwTzF4dUlDQWdJR2xtSUNoaGRGSnZiM1FwWEc0Z0lDQWdJQ0FnSUdOMGVDNWhkRkp2YjNRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JwWmlBb1kzUjRMbUYwUzJWNUtWeHVJQ0FnSUNBZ0lDQmpkSGd1WVhSTFpYa2dQU0JtWVd4elpUdGNiaUFnSUNCc1pYUWdiMlptYzJWMElEMGdabU11YjJabWMyVjBJQ3NnWm1NdWMzUmhjblF1YzI5MWNtTmxMbXhsYm1kMGFEdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHWmpMbWwwWlcxekxteGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR052Ykd4SmRHVnRJRDBnWm1NdWFYUmxiWE5iYVYwN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhzZ2MzUmhjblFzSUd0bGVTd2djMlZ3TENCMllXeDFaU0I5SUQwZ1kyOXNiRWwwWlcwN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhCeWIzQnpJRDBnY21WemIyeDJaVkJ5YjNCektITjBZWEowTENCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYkc5M09pQm1ZMDVoYldVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm1ScFkyRjBiM0k2SUNkbGVIQnNhV05wZEMxclpYa3RhVzVrSnl4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsZUhRNklHdGxlU0EvUHlCelpYQS9MbHN3WFN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQndZWEpsYm5SSmJtUmxiblE2SUdaakxtbHVaR1Z1ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMFQyNU9aWGRzYVc1bE9pQm1ZV3h6WlZ4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdhV1lnS0NGd2NtOXdjeTVtYjNWdVpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0Z3Y205d2N5NWhibU5vYjNJZ0ppWWdJWEJ5YjNCekxuUmhaeUFtSmlBaGMyVndJQ1ltSUNGMllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBJRDA5UFNBd0lDWW1JSEJ5YjNCekxtTnZiVzFoS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtIQnliM0J6TG1OdmJXMWhMQ0FuVlU1RldGQkZRMVJGUkY5VVQwdEZUaWNzSUdCVmJtVjRjR1ZqZEdWa0lDd2dhVzRnSkh0bVkwNWhiV1Y5WUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FTQThJR1pqTG1sMFpXMXpMbXhsYm1kMGFDQXRJREVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2NISnZjSE11YzNSaGNuUXNJQ2RWVGtWWVVFVkRWRVZFWDFSUFMwVk9KeXdnWUZWdVpYaHdaV04wWldRZ1pXMXdkSGtnYVhSbGJTQnBiaUFrZTJaalRtRnRaWDFnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jSEp2Y0hNdVkyOXRiV1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kyOXNiQzVqYjIxdFpXNTBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYkM1amIyMXRaVzUwSUNzOUlDZGNYRzRuSUNzZ2NISnZjSE11WTI5dGJXVnVkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlzYkM1amIyMXRaVzUwSUQwZ2NISnZjSE11WTI5dGJXVnVkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjJabWMyVjBJRDBnY0hKdmNITXVaVzVrTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZwYzAxaGNDQW1KaUJqZEhndWIzQjBhVzl1Y3k1emRISnBZM1FnSmlZZ1kyOXVkR0ZwYm5OT1pYZHNhVzVsS0d0bGVTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaHJaWGtzSUM4dklHTm9aV05yWldRZ1lua2dZMjl1ZEdGcGJuTk9aWGRzYVc1bEtDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5UVlZNVkVsTVNVNUZYMGxOVUV4SlEwbFVYMHRGV1Njc0lDZEpiWEJzYVdOcGRDQnJaWGx6SUc5bUlHWnNiM2NnYzJWeGRXVnVZMlVnY0dGcGNuTWdibVZsWkNCMGJ5QmlaU0J2YmlCaElITnBibWRzWlNCc2FXNWxKeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLR2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3Y205d2N5NWpiMjF0WVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0hCeWIzQnpMbU52YlcxaExDQW5WVTVGV0ZCRlExUkZSRjlVVDB0RlRpY3NJR0JWYm1WNGNHVmpkR1ZrSUN3Z2FXNGdKSHRtWTA1aGJXVjlZQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhCeWIzQnpMbU52YlcxaEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2NISnZjSE11YzNSaGNuUXNJQ2ROU1ZOVFNVNUhYME5JUVZJbkxDQmdUV2x6YzJsdVp5QXNJR0psZEhkbFpXNGdKSHRtWTA1aGJXVjlJR2wwWlcxellDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jSEp2Y0hNdVkyOXRiV1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J3Y21WMlNYUmxiVU52YlcxbGJuUWdQU0FuSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2IyOXdPaUJtYjNJZ0tHTnZibk4wSUhOMElHOW1JSE4wWVhKMEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOM2FYUmphQ0FvYzNRdWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZMjl0YldFbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYzNCaFkyVW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblkyOXRiV1Z1ZENjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEpsZGtsMFpXMURiMjF0Wlc1MElEMGdjM1F1YzI5MWNtTmxMbk4xWW5OMGNtbHVaeWd4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXlCc2IyOXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF5QnNiMjl3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNod2NtVjJTWFJsYlVOdmJXMWxiblFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YwSUhCeVpYWWdQU0JqYjJ4c0xtbDBaVzF6VzJOdmJHd3VhWFJsYlhNdWJHVnVaM1JvSUMwZ01WMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHBjMUJoYVhJb2NISmxkaWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y21WMklEMGdjSEpsZGk1MllXeDFaU0EvUHlCd2NtVjJMbXRsZVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hCeVpYWXVZMjl0YldWdWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIQnlaWFl1WTI5dGJXVnVkQ0FyUFNBblhGeHVKeUFySUhCeVpYWkpkR1Z0UTI5dGJXVnVkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEpsZGk1amIyMXRaVzUwSUQwZ2NISmxka2wwWlcxRGIyMXRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQndjbTl3Y3k1amIyMXRaVzUwSUQwZ2NISnZjSE11WTI5dGJXVnVkQzV6ZFdKemRISnBibWNvY0hKbGRrbDBaVzFEYjIxdFpXNTBMbXhsYm1kMGFDQXJJREVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCcFppQW9JV2x6VFdGd0lDWW1JQ0Z6WlhBZ0ppWWdJWEJ5YjNCekxtWnZkVzVrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCcGRHVnRJR2x6SUdFZ2RtRnNkV1VnYVc0Z1lTQnpaWEZjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRngxTWpFNU1pQnJaWGtnSmlCelpYQWdZWEpsSUdWdGNIUjVMQ0J6ZEdGeWRDQmtiMlZ6SUc1dmRDQnBibU5zZFdSbElEOGdiM0lnT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2RtRnNkV1ZPYjJSbElEMGdkbUZzZFdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lHTnZiWEJ2YzJWT2IyUmxLR04wZUN3Z2RtRnNkV1VzSUhCeWIzQnpMQ0J2YmtWeWNtOXlLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nWTI5dGNHOXpaVVZ0Y0hSNVRtOWtaU2hqZEhnc0lIQnliM0J6TG1WdVpDd2djMlZ3TENCdWRXeHNMQ0J3Y205d2N5d2diMjVGY25KdmNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyeHNMbWwwWlcxekxuQjFjMmdvZG1Gc2RXVk9iMlJsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGRDQTlJSFpoYkhWbFRtOWtaUzV5WVc1blpWc3lYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYzBKc2IyTnJLSFpoYkhWbEtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtIWmhiSFZsVG05a1pTNXlZVzVuWlN3Z0owSk1UME5MWDBsT1gwWk1UMWNuTENCaWJHOWphMDF6WnlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCcGRHVnRJR2x6SUdFZ2EyVjVLM1poYkhWbElIQmhhWEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR3RsZVNCMllXeDFaVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kzUjRMbUYwUzJWNUlEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHdGxlVk4wWVhKMElEMGdjSEp2Y0hNdVpXNWtPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYTJWNVRtOWtaU0E5SUd0bGVWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdZMjl0Y0c5elpVNXZaR1VvWTNSNExDQnJaWGtzSUhCeWIzQnpMQ0J2YmtWeWNtOXlLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRG9nWTI5dGNHOXpaVVZ0Y0hSNVRtOWtaU2hqZEhnc0lHdGxlVk4wWVhKMExDQnpkR0Z5ZEN3Z2JuVnNiQ3dnY0hKdmNITXNJRzl1UlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2x6UW14dlkyc29hMlY1S1NsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0d0bGVVNXZaR1V1Y21GdVoyVXNJQ2RDVEU5RFMxOUpUbDlHVEU5WEp5d2dZbXh2WTJ0TmMyY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kzUjRMbUYwUzJWNUlEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCMllXeDFaU0J3Y205d1pYSjBhV1Z6WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCMllXeDFaVkJ5YjNCeklEMGdjbVZ6YjJ4MlpWQnliM0J6S0hObGNDQS9QeUJiWFN3Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnNiM2M2SUdaalRtRnRaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYm1ScFkyRjBiM0k2SUNkdFlYQXRkbUZzZFdVdGFXNWtKeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1WlhoME9pQjJZV3gxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFE2SUd0bGVVNXZaR1V1Y21GdVoyVmJNbDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVhKbGJuUkpibVJsYm5RNklHWmpMbWx1WkdWdWRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkR0Z5ZEU5dVRtVjNiR2x1WlRvZ1ptRnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbFVISnZjSE11Wm05MWJtUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXbHpUV0Z3SUNZbUlDRndjbTl3Y3k1bWIzVnVaQ0FtSmlCamRIZ3ViM0IwYVc5dWN5NXpkSEpwWTNRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tITmxjQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnYzNRZ2IyWWdjMlZ3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hOMElEMDlQU0IyWVd4MVpWQnliM0J6TG1admRXNWtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYzNRdWRIbHdaU0E5UFQwZ0oyNWxkMnhwYm1VbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXVSWEp5YjNJb2MzUXNJQ2ROVlV4VVNVeEpUa1ZmU1UxUVRFbERTVlJmUzBWWkp5d2dKMGx0Y0d4cFkybDBJR3RsZVhNZ2IyWWdabXh2ZHlCelpYRjFaVzVqWlNCd1lXbHljeUJ1WldWa0lIUnZJR0psSUc5dUlHRWdjMmx1WjJ4bElHeHBibVVuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY0hKdmNITXVjM1JoY25RZ1BDQjJZV3gxWlZCeWIzQnpMbVp2ZFc1a0xtOW1abk5sZENBdElERXdNalFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSFpoYkhWbFVISnZjSE11Wm05MWJtUXNJQ2RMUlZsZlQxWkZVbDh4TURJMFgwTklRVkpUSnl3Z0oxUm9aU0E2SUdsdVpHbGpZWFJ2Y2lCdGRYTjBJR0psSUdGMElHMXZjM1FnTVRBeU5DQmphR0Z5Y3lCaFpuUmxjaUIwYUdVZ2MzUmhjblFnYjJZZ1lXNGdhVzF3YkdsamFYUWdabXh2ZHlCelpYRjFaVzVqWlNCclpYa25LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoMllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ25jMjkxY21ObEp5QnBiaUIyWVd4MVpTQW1KaUIyWVd4MVpTNXpiM1Z5WTJVZ0ppWWdkbUZzZFdVdWMyOTFjbU5sV3pCZElEMDlQU0FuT2ljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzl1UlhKeWIzSW9kbUZzZFdVc0lDZE5TVk5UU1U1SFgwTklRVkluTENCZ1RXbHpjMmx1WnlCemNHRmpaU0JoWm5SbGNpQTZJR2x1SUNSN1ptTk9ZVzFsZldBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loMllXeDFaVkJ5YjNCekxuTjBZWEowTENBblRVbFRVMGxPUjE5RFNFRlNKeXdnWUUxcGMzTnBibWNnTENCdmNpQTZJR0psZEhkbFpXNGdKSHRtWTA1aGJXVjlJR2wwWlcxellDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCMllXeDFaU0IyWVd4MVpWeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdkbUZzZFdWT2IyUmxJRDBnZG1Gc2RXVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JR052YlhCdmMyVk9iMlJsS0dOMGVDd2dkbUZzZFdVc0lIWmhiSFZsVUhKdmNITXNJRzl1UlhKeWIzSXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUIyWVd4MVpWQnliM0J6TG1admRXNWtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z1kyOXRjRzl6WlVWdGNIUjVUbTlrWlNoamRIZ3NJSFpoYkhWbFVISnZjSE11Wlc1a0xDQnpaWEFzSUc1MWJHd3NJSFpoYkhWbFVISnZjSE1zSUc5dVJYSnliM0lwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2diblZzYkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMllXeDFaVTV2WkdVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhOQ2JHOWpheWgyWVd4MVpTa3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvZG1Gc2RXVk9iMlJsTG5KaGJtZGxMQ0FuUWt4UFEwdGZTVTVmUmt4UFZ5Y3NJR0pzYjJOclRYTm5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0haaGJIVmxVSEp2Y0hNdVkyOXRiV1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hyWlhsT2IyUmxMbU52YlcxbGJuUXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd0bGVVNXZaR1V1WTI5dGJXVnVkQ0FyUFNBblhGeHVKeUFySUhaaGJIVmxVSEp2Y0hNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd0bGVVNXZaR1V1WTI5dGJXVnVkQ0E5SUhaaGJIVmxVSEp2Y0hNdVkyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhCaGFYSWdQU0J1WlhjZ1VHRnBjaWhyWlhsT2IyUmxMQ0IyWVd4MVpVNXZaR1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOMGVDNXZjSFJwYjI1ekxtdGxaWEJUYjNWeVkyVlViMnRsYm5NcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NHRnBjaTV6Y21OVWIydGxiaUE5SUdOdmJHeEpkR1Z0TzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dselRXRndLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiV0Z3SUQwZ1kyOXNiRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JXRndTVzVqYkhWa1pYTW9ZM1I0TENCdFlYQXVhWFJsYlhNc0lHdGxlVTV2WkdVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLR3RsZVZOMFlYSjBMQ0FuUkZWUVRFbERRVlJGWDB0RldTY3NJQ2ROWVhBZ2EyVjVjeUJ0ZFhOMElHSmxJSFZ1YVhGMVpTY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoY0M1cGRHVnRjeTV3ZFhOb0tIQmhhWElwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiV0Z3SUQwZ2JtVjNJRmxCVFV4TllYQW9ZM1I0TG5OamFHVnRZU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYldGd0xtWnNiM2NnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoY0M1cGRHVnRjeTV3ZFhOb0tIQmhhWElwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR1Z1WkZKaGJtZGxJRDBnS0haaGJIVmxUbTlrWlNBL1B5QnJaWGxPYjJSbEtTNXlZVzVuWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdFlYQXVjbUZ1WjJVZ1BTQmJhMlY1VG05a1pTNXlZVzVuWlZzd1hTd2daVzVrVW1GdVoyVmJNVjBzSUdWdVpGSmhibWRsV3pKZFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMnhzTG1sMFpXMXpMbkIxYzJnb2JXRndLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkQ0E5SUhaaGJIVmxUbTlrWlNBL0lIWmhiSFZsVG05a1pTNXlZVzVuWlZzeVhTQTZJSFpoYkhWbFVISnZjSE11Wlc1a08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBJR1Y0Y0dWamRHVmtSVzVrSUQwZ2FYTk5ZWEFnUHlBbmZTY2dPaUFuWFNjN1hHNGdJQ0FnWTI5dWMzUWdXMk5sTENBdUxpNWxaVjBnUFNCbVl5NWxibVE3WEc0Z0lDQWdiR1YwSUdObFVHOXpJRDBnYjJabWMyVjBPMXh1SUNBZ0lHbG1JQ2hqWlNBbUppQmpaUzV6YjNWeVkyVWdQVDA5SUdWNGNHVmpkR1ZrUlc1a0tWeHVJQ0FnSUNBZ0lDQmpaVkJ2Y3lBOUlHTmxMbTltWm5ObGRDQXJJR05sTG5OdmRYSmpaUzVzWlc1bmRHZzdYRzRnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzVoYldVZ1BTQm1ZMDVoYldWYk1GMHVkRzlWY0hCbGNrTmhjMlVvS1NBcklHWmpUbUZ0WlM1emRXSnpkSEpwYm1jb01TazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHMXpaeUE5SUdGMFVtOXZkRnh1SUNBZ0lDQWdJQ0FnSUNBZ1B5QmdKSHR1WVcxbGZTQnRkWE4wSUdWdVpDQjNhWFJvSUdFZ0pIdGxlSEJsWTNSbFpFVnVaSDFnWEc0Z0lDQWdJQ0FnSUNBZ0lDQTZJR0FrZTI1aGJXVjlJR2x1SUdKc2IyTnJJR052Ykd4bFkzUnBiMjRnYlhWemRDQmlaU0J6ZFdabWFXTnBaVzUwYkhrZ2FXNWtaVzUwWldRZ1lXNWtJR1Z1WkNCM2FYUm9JR0VnSkh0bGVIQmxZM1JsWkVWdVpIMWdPMXh1SUNBZ0lDQWdJQ0J2YmtWeWNtOXlLRzltWm5ObGRDd2dZWFJTYjI5MElEOGdKMDFKVTFOSlRrZGZRMGhCVWljZ09pQW5Ra0ZFWDBsT1JFVk9WQ2NzSUcxelp5azdYRzRnSUNBZ0lDQWdJR2xtSUNoalpTQW1KaUJqWlM1emIzVnlZMlV1YkdWdVozUm9JQ0U5UFNBeEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnWldVdWRXNXphR2xtZENoalpTazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGxaUzVzWlc1bmRHZ2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdWdVpDQTlJSEpsYzI5c2RtVkZibVFvWldVc0lHTmxVRzl6TENCamRIZ3ViM0IwYVc5dWN5NXpkSEpwWTNRc0lHOXVSWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWlc1a0xtTnZiVzFsYm5RcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpiMnhzTG1OdmJXMWxiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JDNWpiMjF0Wlc1MElDczlJQ2RjWEc0bklDc2daVzVrTG1OdmJXMWxiblE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JDNWpiMjF0Wlc1MElEMGdaVzVrTG1OdmJXMWxiblE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1kyOXNiQzV5WVc1blpTQTlJRnRtWXk1dlptWnpaWFFzSUdObFVHOXpMQ0JsYm1RdWIyWm1jMlYwWFR0Y2JpQWdJQ0I5WEc0Z0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHTnZiR3d1Y21GdVoyVWdQU0JiWm1NdWIyWm1jMlYwTENCalpWQnZjeXdnWTJWUWIzTmRPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWTI5c2JEdGNibjFjYmx4dVpYaHdiM0owSUhzZ2NtVnpiMngyWlVac2IzZERiMnhzWldOMGFXOXVJSDA3WEc0aUxDQWlhVzF3YjNKMElIc2dhWE5PYjJSbElIMGdabkp2YlNBbkxpNHZibTlrWlhNdmFXUmxiblJwZEhrdWFuTW5PMXh1YVcxd2IzSjBJSHNnVTJOaGJHRnlJSDBnWm5KdmJTQW5MaTR2Ym05a1pYTXZVMk5oYkdGeUxtcHpKenRjYm1sdGNHOXlkQ0I3SUZsQlRVeE5ZWEFnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlaUVUxTVRXRndMbXB6Snp0Y2JtbHRjRzl5ZENCN0lGbEJUVXhUWlhFZ2ZTQm1jbTl0SUNjdUxpOXViMlJsY3k5WlFVMU1VMlZ4TG1wekp6dGNibWx0Y0c5eWRDQjdJSEpsYzI5c2RtVkNiRzlqYTAxaGNDQjlJR1p5YjIwZ0p5NHZjbVZ6YjJ4MlpTMWliRzlqYXkxdFlYQXVhbk1uTzF4dWFXMXdiM0owSUhzZ2NtVnpiMngyWlVKc2IyTnJVMlZ4SUgwZ1puSnZiU0FuTGk5eVpYTnZiSFpsTFdKc2IyTnJMWE5sY1M1cWN5YzdYRzVwYlhCdmNuUWdleUJ5WlhOdmJIWmxSbXh2ZDBOdmJHeGxZM1JwYjI0Z2ZTQm1jbTl0SUNjdUwzSmxjMjlzZG1VdFpteHZkeTFqYjJ4c1pXTjBhVzl1TG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnY21WemIyeDJaVU52Ykd4bFkzUnBiMjRvUTA0c0lHTjBlQ3dnZEc5clpXNHNJRzl1UlhKeWIzSXNJSFJoWjA1aGJXVXNJSFJoWnlrZ2UxeHVJQ0FnSUdOdmJuTjBJR052Ykd3Z1BTQjBiMnRsYmk1MGVYQmxJRDA5UFNBbllteHZZMnN0YldGd0oxeHVJQ0FnSUNBZ0lDQS9JSEpsYzI5c2RtVkNiRzlqYTAxaGNDaERUaXdnWTNSNExDQjBiMnRsYml3Z2IyNUZjbkp2Y2l3Z2RHRm5LVnh1SUNBZ0lDQWdJQ0E2SUhSdmEyVnVMblI1Y0dVZ1BUMDlJQ2RpYkc5amF5MXpaWEVuWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JSEpsYzI5c2RtVkNiRzlqYTFObGNTaERUaXdnWTNSNExDQjBiMnRsYml3Z2IyNUZjbkp2Y2l3Z2RHRm5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ09pQnlaWE52YkhabFJteHZkME52Ykd4bFkzUnBiMjRvUTA0c0lHTjBlQ3dnZEc5clpXNHNJRzl1UlhKeWIzSXNJSFJoWnlrN1hHNGdJQ0FnWTI5dWMzUWdRMjlzYkNBOUlHTnZiR3d1WTI5dWMzUnlkV04wYjNJN1hHNGdJQ0FnTHk4Z1NXWWdkMlVnWjI5MElHRWdkR0ZuVG1GdFpTQnRZWFJqYUdsdVp5QjBhR1VnWTJ4aGMzTXNJRzl5SUhSb1pTQjBZV2NnYm1GdFpTQnBjeUFuSVNjc1hHNGdJQ0FnTHk4Z2RHaGxiaUIxYzJVZ2RHaGxJSFJoWjA1aGJXVWdabkp2YlNCMGFHVWdibTlrWlNCamJHRnpjeUIxYzJWa0lIUnZJR055WldGMFpTQnBkQzVjYmlBZ0lDQnBaaUFvZEdGblRtRnRaU0E5UFQwZ0p5RW5JSHg4SUhSaFowNWhiV1VnUFQwOUlFTnZiR3d1ZEdGblRtRnRaU2tnZTF4dUlDQWdJQ0FnSUNCamIyeHNMblJoWnlBOUlFTnZiR3d1ZEdGblRtRnRaVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR052Ykd3N1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoMFlXZE9ZVzFsS1Z4dUlDQWdJQ0FnSUNCamIyeHNMblJoWnlBOUlIUmhaMDVoYldVN1hHNGdJQ0FnY21WMGRYSnVJR052Ykd3N1hHNTlYRzVtZFc1amRHbHZiaUJqYjIxd2IzTmxRMjlzYkdWamRHbHZiaWhEVGl3Z1kzUjRMQ0IwYjJ0bGJpd2djSEp2Y0hNc0lHOXVSWEp5YjNJcElIdGNiaUFnSUNCamIyNXpkQ0IwWVdkVWIydGxiaUE5SUhCeWIzQnpMblJoWnp0Y2JpQWdJQ0JqYjI1emRDQjBZV2RPWVcxbElEMGdJWFJoWjFSdmEyVnVYRzRnSUNBZ0lDQWdJRDhnYm5Wc2JGeHVJQ0FnSUNBZ0lDQTZJR04wZUM1a2FYSmxZM1JwZG1WekxuUmhaMDVoYldVb2RHRm5WRzlyWlc0dWMyOTFjbU5sTENCdGMyY2dQVDRnYjI1RmNuSnZjaWgwWVdkVWIydGxiaXdnSjFSQlIxOVNSVk5QVEZaRlgwWkJTVXhGUkNjc0lHMXpaeWtwTzF4dUlDQWdJR2xtSUNoMGIydGxiaTUwZVhCbElEMDlQU0FuWW14dlkyc3RjMlZ4SnlrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCN0lHRnVZMmh2Y2l3Z2JtVjNiR2x1WlVGbWRHVnlVSEp2Y0RvZ2Jtd2dmU0E5SUhCeWIzQnpPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnNZWE4wVUhKdmNDQTlJR0Z1WTJodmNpQW1KaUIwWVdkVWIydGxibHh1SUNBZ0lDQWdJQ0FnSUNBZ1B5QmhibU5vYjNJdWIyWm1jMlYwSUQ0Z2RHRm5WRzlyWlc0dWIyWm1jMlYwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUHlCaGJtTm9iM0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SUhSaFoxUnZhMlZ1WEc0Z0lDQWdJQ0FnSUNBZ0lDQTZJQ2hoYm1Ob2IzSWdQejhnZEdGblZHOXJaVzRwTzF4dUlDQWdJQ0FnSUNCcFppQW9iR0Z6ZEZCeWIzQWdKaVlnS0NGdWJDQjhmQ0J1YkM1dlptWnpaWFFnUENCc1lYTjBVSEp2Y0M1dlptWnpaWFFwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdKMDFwYzNOcGJtY2dibVYzYkdsdVpTQmhablJsY2lCaWJHOWpheUJ6WlhGMVpXNWpaU0J3Y205d2N5YzdYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0d4aGMzUlFjbTl3TENBblRVbFRVMGxPUjE5RFNFRlNKeXdnYldWemMyRm5aU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ1pYaHdWSGx3WlNBOUlIUnZhMlZ1TG5SNWNHVWdQVDA5SUNkaWJHOWpheTF0WVhBblhHNGdJQ0FnSUNBZ0lEOGdKMjFoY0NkY2JpQWdJQ0FnSUNBZ09pQjBiMnRsYmk1MGVYQmxJRDA5UFNBbllteHZZMnN0YzJWeEoxeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlBbmMyVnhKMXh1SUNBZ0lDQWdJQ0FnSUNBZ09pQjBiMnRsYmk1emRHRnlkQzV6YjNWeVkyVWdQVDA5SUNkN0oxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdKMjFoY0NkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklDZHpaWEVuTzF4dUlDQWdJQzh2SUhOb2IzSjBZM1YwT2lCamFHVmpheUJwWmlCcGRDZHpJR0VnWjJWdVpYSnBZeUJaUVUxTVRXRndJRzl5SUZsQlRVeFRaWEZjYmlBZ0lDQXZMeUJpWldadmNtVWdhblZ0Y0dsdVp5QnBiblJ2SUhSb1pTQmpkWE4wYjIwZ2RHRm5JR3h2WjJsakxseHVJQ0FnSUdsbUlDZ2hkR0ZuVkc5clpXNGdmSHhjYmlBZ0lDQWdJQ0FnSVhSaFowNWhiV1VnZkh4Y2JpQWdJQ0FnSUNBZ2RHRm5UbUZ0WlNBOVBUMGdKeUVuSUh4OFhHNGdJQ0FnSUNBZ0lDaDBZV2RPWVcxbElEMDlQU0JaUVUxTVRXRndMblJoWjA1aGJXVWdKaVlnWlhod1ZIbHdaU0E5UFQwZ0oyMWhjQ2NwSUh4OFhHNGdJQ0FnSUNBZ0lDaDBZV2RPWVcxbElEMDlQU0JaUVUxTVUyVnhMblJoWjA1aGJXVWdKaVlnWlhod1ZIbHdaU0E5UFQwZ0ozTmxjU2NwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTnZiSFpsUTI5c2JHVmpkR2x2YmloRFRpd2dZM1I0TENCMGIydGxiaXdnYjI1RmNuSnZjaXdnZEdGblRtRnRaU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHeGxkQ0IwWVdjZ1BTQmpkSGd1YzJOb1pXMWhMblJoWjNNdVptbHVaQ2gwSUQwK0lIUXVkR0ZuSUQwOVBTQjBZV2RPWVcxbElDWW1JSFF1WTI5c2JHVmpkR2x2YmlBOVBUMGdaWGh3Vkhsd1pTazdYRzRnSUNBZ2FXWWdLQ0YwWVdjcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2EzUWdQU0JqZEhndWMyTm9aVzFoTG10dWIzZHVWR0ZuYzF0MFlXZE9ZVzFsWFR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR3QwSUNZbUlHdDBMbU52Ykd4bFkzUnBiMjRnUFQwOUlHVjRjRlI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOMGVDNXpZMmhsYldFdWRHRm5jeTV3ZFhOb0tFOWlhbVZqZEM1aGMzTnBaMjRvZTMwc0lHdDBMQ0I3SUdSbFptRjFiSFE2SUdaaGJITmxJSDBwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJoWnlBOUlHdDBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3QwUHk1amIyeHNaV04wYVc5dUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMjVGY25KdmNpaDBZV2RVYjJ0bGJpd2dKMEpCUkY5RFQweE1SVU5VU1U5T1gxUlpVRVVuTENCZ0pIdHJkQzUwWVdkOUlIVnpaV1FnWm05eUlDUjdaWGh3Vkhsd1pYMGdZMjlzYkdWamRHbHZiaXdnWW5WMElHVjRjR1ZqZEhNZ0pIdHJkQzVqYjJ4c1pXTjBhVzl1ZldBc0lIUnlkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWgwWVdkVWIydGxiaXdnSjFSQlIxOVNSVk5QVEZaRlgwWkJTVXhGUkNjc0lHQlZibkpsYzI5c2RtVmtJSFJoWnpvZ0pIdDBZV2RPWVcxbGZXQXNJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxjMjlzZG1WRGIyeHNaV04wYVc5dUtFTk9MQ0JqZEhnc0lIUnZhMlZ1TENCdmJrVnljbTl5TENCMFlXZE9ZVzFsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQmpiMnhzSUQwZ2NtVnpiMngyWlVOdmJHeGxZM1JwYjI0b1EwNHNJR04wZUN3Z2RHOXJaVzRzSUc5dVJYSnliM0lzSUhSaFowNWhiV1VzSUhSaFp5azdYRzRnSUNBZ1kyOXVjM1FnY21WeklEMGdkR0ZuTG5KbGMyOXNkbVUvTGloamIyeHNMQ0J0YzJjZ1BUNGdiMjVGY25KdmNpaDBZV2RVYjJ0bGJpd2dKMVJCUjE5U1JWTlBURlpGWDBaQlNVeEZSQ2NzSUcxelp5a3NJR04wZUM1dmNIUnBiMjV6S1NBL1B5QmpiMnhzTzF4dUlDQWdJR052Ym5OMElHNXZaR1VnUFNCcGMwNXZaR1VvY21WektWeHVJQ0FnSUNBZ0lDQS9JSEpsYzF4dUlDQWdJQ0FnSUNBNklHNWxkeUJUWTJGc1lYSW9jbVZ6S1R0Y2JpQWdJQ0J1YjJSbExuSmhibWRsSUQwZ1kyOXNiQzV5WVc1blpUdGNiaUFnSUNCdWIyUmxMblJoWnlBOUlIUmhaMDVoYldVN1hHNGdJQ0FnYVdZZ0tIUmhaejh1Wm05eWJXRjBLVnh1SUNBZ0lDQWdJQ0J1YjJSbExtWnZjbTFoZENBOUlIUmhaeTVtYjNKdFlYUTdYRzRnSUNBZ2NtVjBkWEp1SUc1dlpHVTdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lHTnZiWEJ2YzJWRGIyeHNaV04wYVc5dUlIMDdYRzRpTENBaWFXMXdiM0owSUhzZ1UyTmhiR0Z5SUgwZ1puSnZiU0FuTGk0dmJtOWtaWE12VTJOaGJHRnlMbXB6Snp0Y2JseHVablZ1WTNScGIyNGdjbVZ6YjJ4MlpVSnNiMk5yVTJOaGJHRnlLR04wZUN3Z2MyTmhiR0Z5TENCdmJrVnljbTl5S1NCN1hHNGdJQ0FnWTI5dWMzUWdjM1JoY25RZ1BTQnpZMkZzWVhJdWIyWm1jMlYwTzF4dUlDQWdJR052Ym5OMElHaGxZV1JsY2lBOUlIQmhjbk5sUW14dlkydFRZMkZzWVhKSVpXRmtaWElvYzJOaGJHRnlMQ0JqZEhndWIzQjBhVzl1Y3k1emRISnBZM1FzSUc5dVJYSnliM0lwTzF4dUlDQWdJR2xtSUNnaGFHVmhaR1Z5S1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCMllXeDFaVG9nSnljc0lIUjVjR1U2SUc1MWJHd3NJR052YlcxbGJuUTZJQ2NuTENCeVlXNW5aVG9nVzNOMFlYSjBMQ0J6ZEdGeWRDd2djM1JoY25SZElIMDdYRzRnSUNBZ1kyOXVjM1FnZEhsd1pTQTlJR2hsWVdSbGNpNXRiMlJsSUQwOVBTQW5QaWNnUHlCVFkyRnNZWEl1UWt4UFEwdGZSazlNUkVWRUlEb2dVMk5oYkdGeUxrSk1UME5MWDB4SlZFVlNRVXc3WEc0Z0lDQWdZMjl1YzNRZ2JHbHVaWE1nUFNCelkyRnNZWEl1YzI5MWNtTmxJRDhnYzNCc2FYUk1hVzVsY3loelkyRnNZWEl1YzI5MWNtTmxLU0E2SUZ0ZE8xeHVJQ0FnSUM4dklHUmxkR1Z5YldsdVpTQjBhR1VnWlc1a0lHOW1JR052Ym5SbGJuUWdKaUJ6ZEdGeWRDQnZaaUJqYUc5dGNHbHVaMXh1SUNBZ0lHeGxkQ0JqYUc5dGNGTjBZWEowSUQwZ2JHbHVaWE11YkdWdVozUm9PMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0JzYVc1bGN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJQzB0YVNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCamIyNTBaVzUwSUQwZ2JHbHVaWE5iYVYxYk1WMDdYRzRnSUNBZ0lDQWdJR2xtSUNoamIyNTBaVzUwSUQwOVBTQW5KeUI4ZkNCamIyNTBaVzUwSUQwOVBTQW5YRnh5SnlsY2JpQWdJQ0FnSUNBZ0lDQWdJR05vYjIxd1UzUmhjblFnUFNCcE8xeHVJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdMeThnYzJodmNuUmpkWFFnWm05eUlHVnRjSFI1SUdOdmJuUmxiblJ6WEc0Z0lDQWdhV1lnS0dOb2IyMXdVM1JoY25RZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZG1Gc2RXVWdQU0JvWldGa1pYSXVZMmh2YlhBZ1BUMDlJQ2NySnlBbUppQnNhVzVsY3k1c1pXNW5kR2dnUGlBd1hHNGdJQ0FnSUNBZ0lDQWdJQ0EvSUNkY1hHNG5MbkpsY0dWaGRDaE5ZWFJvTG0xaGVDZ3hMQ0JzYVc1bGN5NXNaVzVuZEdnZ0xTQXhLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dKeWM3WEc0Z0lDQWdJQ0FnSUd4bGRDQmxibVFnUFNCemRHRnlkQ0FySUdobFlXUmxjaTVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJR2xtSUNoelkyRnNZWEl1YzI5MWNtTmxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pXNWtJQ3M5SUhOallXeGhjaTV6YjNWeVkyVXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjJZV3gxWlN3Z2RIbHdaU3dnWTI5dGJXVnVkRG9nYUdWaFpHVnlMbU52YlcxbGJuUXNJSEpoYm1kbE9pQmJjM1JoY25Rc0lHVnVaQ3dnWlc1a1hTQjlPMXh1SUNBZ0lIMWNiaUFnSUNBdkx5Qm1hVzVrSUhSb1pTQnBibVJsYm5SaGRHbHZiaUJzWlhabGJDQjBieUIwY21sdElHWnliMjBnYzNSaGNuUmNiaUFnSUNCc1pYUWdkSEpwYlVsdVpHVnVkQ0E5SUhOallXeGhjaTVwYm1SbGJuUWdLeUJvWldGa1pYSXVhVzVrWlc1ME8xeHVJQ0FnSUd4bGRDQnZabVp6WlhRZ1BTQnpZMkZzWVhJdWIyWm1jMlYwSUNzZ2FHVmhaR1Z5TG14bGJtZDBhRHRjYmlBZ0lDQnNaWFFnWTI5dWRHVnVkRk4wWVhKMElEMGdNRHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR05vYjIxd1UzUmhjblE3SUNzcmFTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmJhVzVrWlc1MExDQmpiMjUwWlc1MFhTQTlJR3hwYm1WelcybGRPMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyOXVkR1Z1ZENBOVBUMGdKeWNnZkh3Z1kyOXVkR1Z1ZENBOVBUMGdKMXhjY2ljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaG9aV0ZrWlhJdWFXNWtaVzUwSUQwOVBTQXdJQ1ltSUdsdVpHVnVkQzVzWlc1bmRHZ2dQaUIwY21sdFNXNWtaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSeWFXMUpibVJsYm5RZ1BTQnBibVJsYm5RdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsdVpHVnVkQzVzWlc1bmRHZ2dQQ0IwY21sdFNXNWtaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYldWemMyRm5aU0E5SUNkQ2JHOWpheUJ6WTJGc1lYSnpJSGRwZEdnZ2JXOXlaUzFwYm1SbGJuUmxaQ0JzWldGa2FXNW5JR1Z0Y0hSNUlHeHBibVZ6SUcxMWMzUWdkWE5sSUdGdUlHVjRjR3hwWTJsMElHbHVaR1Z1ZEdGMGFXOXVJR2x1WkdsallYUnZjaWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWh2Wm1aelpYUWdLeUJwYm1SbGJuUXViR1Z1WjNSb0xDQW5UVWxUVTBsT1IxOURTRUZTSnl3Z2JXVnpjMkZuWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYUdWaFpHVnlMbWx1WkdWdWRDQTlQVDBnTUNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGNtbHRTVzVrWlc1MElEMGdhVzVrWlc1MExteGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5SbGJuUlRkR0Z5ZENBOUlHazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kSEpwYlVsdVpHVnVkQ0E5UFQwZ01DQW1KaUFoWTNSNExtRjBVbTl2ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUcxbGMzTmhaMlVnUFNBblFteHZZMnNnYzJOaGJHRnlJSFpoYkhWbGN5QnBiaUJqYjJ4c1pXTjBhVzl1Y3lCdGRYTjBJR0psSUdsdVpHVnVkR1ZrSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdmJrVnljbTl5S0c5bVpuTmxkQ3dnSjBKQlJGOUpUa1JGVGxRbkxDQnRaWE56WVdkbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJRzltWm5ObGRDQXJQU0JwYm1SbGJuUXViR1Z1WjNSb0lDc2dZMjl1ZEdWdWRDNXNaVzVuZEdnZ0t5QXhPMXh1SUNBZ0lIMWNiaUFnSUNBdkx5QnBibU5zZFdSbElIUnlZV2xzYVc1bklHMXZjbVV0YVc1a1pXNTBaV1FnWlcxd2RIa2diR2x1WlhNZ2FXNGdZMjl1ZEdWdWRGeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQnNhVzVsY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SUdOb2IyMXdVM1JoY25RN0lDMHRhU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9iR2x1WlhOYmFWMWJNRjB1YkdWdVozUm9JRDRnZEhKcGJVbHVaR1Z1ZENsY2JpQWdJQ0FnSUNBZ0lDQWdJR05vYjIxd1UzUmhjblFnUFNCcElDc2dNVHRjYmlBZ0lDQjlYRzRnSUNBZ2JHVjBJSFpoYkhWbElEMGdKeWM3WEc0Z0lDQWdiR1YwSUhObGNDQTlJQ2NuTzF4dUlDQWdJR3hsZENCd2NtVjJUVzl5WlVsdVpHVnVkR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdMeThnYkdWaFpHbHVaeUIzYUdsMFpYTndZV05sSUdseklHdGxjSFFnYVc1MFlXTjBYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmpiMjUwWlc1MFUzUmhjblE3SUNzcmFTbGNiaUFnSUNBZ0lDQWdkbUZzZFdVZ0t6MGdiR2x1WlhOYmFWMWJNRjB1YzJ4cFkyVW9kSEpwYlVsdVpHVnVkQ2tnS3lBblhGeHVKenRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnWTI5dWRHVnVkRk4wWVhKME95QnBJRHdnWTJodmJYQlRkR0Z5ZERzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQmJhVzVrWlc1MExDQmpiMjUwWlc1MFhTQTlJR3hwYm1WelcybGRPMXh1SUNBZ0lDQWdJQ0J2Wm1aelpYUWdLejBnYVc1a1pXNTBMbXhsYm1kMGFDQXJJR052Ym5SbGJuUXViR1Z1WjNSb0lDc2dNVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZM0pzWmlBOUlHTnZiblJsYm5SYlkyOXVkR1Z1ZEM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnSjF4Y2NpYzdYRzRnSUNBZ0lDQWdJR2xtSUNoamNteG1LVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR1Z1ZENBOUlHTnZiblJsYm5RdWMyeHBZMlVvTUN3Z0xURXBPMXh1SUNBZ0lDQWdJQ0F2S2lCcGMzUmhibUoxYkNCcFoyNXZjbVVnYVdZZ1lXeHlaV0ZrZVNCallYVm5hSFFnYVc0Z2JHVjRaWElnS2k5Y2JpQWdJQ0FnSUNBZ2FXWWdLR052Ym5SbGJuUWdKaVlnYVc1a1pXNTBMbXhsYm1kMGFDQThJSFJ5YVcxSmJtUmxiblFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITnlZeUE5SUdobFlXUmxjaTVwYm1SbGJuUmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JQ2RsZUhCc2FXTnBkQ0JwYm1SbGJuUmhkR2x2YmlCcGJtUnBZMkYwYjNJblhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQW5abWx5YzNRZ2JHbHVaU2M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdFpYTnpZV2RsSUQwZ1lFSnNiMk5ySUhOallXeGhjaUJzYVc1bGN5QnRkWE4wSUc1dmRDQmlaU0JzWlhOeklHbHVaR1Z1ZEdWa0lIUm9ZVzRnZEdobGFYSWdKSHR6Y21OOVlEdGNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvYjJabWMyVjBJQzBnWTI5dWRHVnVkQzVzWlc1bmRHZ2dMU0FvWTNKc1ppQS9JRElnT2lBeEtTd2dKMEpCUkY5SlRrUkZUbFFuTENCdFpYTnpZV2RsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2x1WkdWdWRDQTlJQ2NuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbElEMDlQU0JUWTJGc1lYSXVRa3hQUTB0ZlRFbFVSVkpCVENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVWdLejBnYzJWd0lDc2dhVzVrWlc1MExuTnNhV05sS0hSeWFXMUpibVJsYm5RcElDc2dZMjl1ZEdWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUhObGNDQTlJQ2RjWEc0bk8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR2x1WkdWdWRDNXNaVzVuZEdnZ1BpQjBjbWx0U1c1a1pXNTBJSHg4SUdOdmJuUmxiblJiTUYwZ1BUMDlJQ2RjWEhRbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnRiM0psTFdsdVpHVnVkR1ZrSUdOdmJuUmxiblFnZDJsMGFHbHVJR0VnWm05c1pHVmtJR0pzYjJOclhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MyVndJRDA5UFNBbklDY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMlZ3SUQwZ0oxeGNiaWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDZ2hjSEpsZGsxdmNtVkpibVJsYm5SbFpDQW1KaUJ6WlhBZ1BUMDlJQ2RjWEc0bktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITmxjQ0E5SUNkY1hHNWNYRzRuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVZ0t6MGdjMlZ3SUNzZ2FXNWtaVzUwTG5Oc2FXTmxLSFJ5YVcxSmJtUmxiblFwSUNzZ1kyOXVkR1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5sY0NBOUlDZGNYRzRuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjSEpsZGsxdmNtVkpibVJsYm5SbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZMjl1ZEdWdWRDQTlQVDBnSnljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHVnRjSFI1SUd4cGJtVmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHpaWEFnUFQwOUlDZGNYRzRuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxJQ3M5SUNkY1hHNG5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5sY0NBOUlDZGNYRzRuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVZ0t6MGdjMlZ3SUNzZ1kyOXVkR1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5sY0NBOUlDY2dKenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIQnlaWFpOYjNKbFNXNWtaVzUwWldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J6ZDJsMFkyZ2dLR2hsWVdSbGNpNWphRzl0Y0NrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUNjdEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0JqWVhObElDY3JKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0JqYUc5dGNGTjBZWEowT3lCcElEd2diR2x1WlhNdWJHVnVaM1JvT3lBcksya3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVZ0t6MGdKMXhjYmljZ0t5QnNhVzVsYzF0cFhWc3dYUzV6YkdsalpTaDBjbWx0U1c1a1pXNTBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gyWVd4MVpWdDJZV3gxWlM1c1pXNW5kR2dnTFNBeFhTQWhQVDBnSjF4Y2JpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVZ0t6MGdKMXhjYmljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxJQ3M5SUNkY1hHNG5PMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0JsYm1RZ1BTQnpkR0Z5ZENBcklHaGxZV1JsY2k1c1pXNW5kR2dnS3lCelkyRnNZWEl1YzI5MWNtTmxMbXhsYm1kMGFEdGNiaUFnSUNCeVpYUjFjbTRnZXlCMllXeDFaU3dnZEhsd1pTd2dZMjl0YldWdWREb2dhR1ZoWkdWeUxtTnZiVzFsYm5Rc0lISmhibWRsT2lCYmMzUmhjblFzSUdWdVpDd2daVzVrWFNCOU8xeHVmVnh1Wm5WdVkzUnBiMjRnY0dGeWMyVkNiRzlqYTFOallXeGhja2hsWVdSbGNpaDdJRzltWm5ObGRDd2djSEp2Y0hNZ2ZTd2djM1J5YVdOMExDQnZia1Z5Y205eUtTQjdYRzRnSUNBZ0x5b2dhWE4wWVc1aWRXd2dhV2R1YjNKbElHbG1JSE5vYjNWc1pDQnViM1FnYUdGd2NHVnVJQ292WEc0Z0lDQWdhV1lnS0hCeWIzQnpXekJkTG5SNWNHVWdJVDA5SUNkaWJHOWpheTF6WTJGc1lYSXRhR1ZoWkdWeUp5a2dlMXh1SUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSEJ5YjNCeld6QmRMQ0FuU1UxUVQxTlRTVUpNUlNjc0lDZENiRzlqYXlCelkyRnNZWElnYUdWaFpHVnlJRzV2ZENCbWIzVnVaQ2NwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNGdJQ0FnWTI5dWMzUWdleUJ6YjNWeVkyVWdmU0E5SUhCeWIzQnpXekJkTzF4dUlDQWdJR052Ym5OMElHMXZaR1VnUFNCemIzVnlZMlZiTUYwN1hHNGdJQ0FnYkdWMElHbHVaR1Z1ZENBOUlEQTdYRzRnSUNBZ2JHVjBJR05vYjIxd0lEMGdKeWM3WEc0Z0lDQWdiR1YwSUdWeWNtOXlJRDBnTFRFN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlERTdJR2tnUENCemIzVnlZMlV1YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kyZ2dQU0J6YjNWeVkyVmJhVjA3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hZMmh2YlhBZ0ppWWdLR05vSUQwOVBTQW5MU2NnZkh3Z1kyZ2dQVDA5SUNjckp5a3BYRzRnSUNBZ0lDQWdJQ0FnSUNCamFHOXRjQ0E5SUdOb08xeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHNGdQU0JPZFcxaVpYSW9ZMmdwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGcGJtUmxiblFnSmlZZ2JpbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibVJsYm5RZ1BTQnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1pYSnliM0lnUFQwOUlDMHhLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUlEMGdiMlptYzJWMElDc2dhVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWlhKeWIzSWdJVDA5SUMweEtWeHVJQ0FnSUNBZ0lDQnZia1Z5Y205eUtHVnljbTl5TENBblZVNUZXRkJGUTFSRlJGOVVUMHRGVGljc0lHQkNiRzlqYXlCelkyRnNZWElnYUdWaFpHVnlJR2x1WTJ4MVpHVnpJR1Y0ZEhKaElHTm9ZWEpoWTNSbGNuTTZJQ1I3YzI5MWNtTmxmV0FwTzF4dUlDQWdJR3hsZENCb1lYTlRjR0ZqWlNBOUlHWmhiSE5sTzF4dUlDQWdJR3hsZENCamIyMXRaVzUwSUQwZ0p5YzdYRzRnSUNBZ2JHVjBJR3hsYm1kMGFDQTlJSE52ZFhKalpTNXNaVzVuZEdnN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlERTdJR2tnUENCd2NtOXdjeTVzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMGIydGxiaUE5SUhCeWIzQnpXMmxkTzF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hSdmEyVnVMblI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM053WVdObEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm9ZWE5UY0dGalpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCbVlXeHNkR2h5YjNWbmFGeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ibVYzYkdsdVpTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1Z1WjNSb0lDczlJSFJ2YTJWdUxuTnZkWEpqWlM1c1pXNW5kR2c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RqYjIxdFpXNTBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2MzUnlhV04wSUNZbUlDRm9ZWE5UY0dGalpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0WlhOellXZGxJRDBnSjBOdmJXMWxiblJ6SUcxMWMzUWdZbVVnYzJWd1lYSmhkR1ZrSUdaeWIyMGdiM1JvWlhJZ2RHOXJaVzV6SUdKNUlIZG9hWFJsSUhOd1lXTmxJR05vWVhKaFkzUmxjbk1uTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1Z5Y205eUtIUnZhMlZ1TENBblRVbFRVMGxPUjE5RFNFRlNKeXdnYldWemMyRm5aU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGJtZDBhQ0FyUFNCMGIydGxiaTV6YjNWeVkyVXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiVzFsYm5RZ1BTQjBiMnRsYmk1emIzVnlZMlV1YzNWaWMzUnlhVzVuS0RFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblpYSnliM0luT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvZEc5clpXNHNJQ2RWVGtWWVVFVkRWRVZFWDFSUFMwVk9KeXdnZEc5clpXNHViV1Z6YzJGblpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1Z1WjNSb0lDczlJSFJ2YTJWdUxuTnZkWEpqWlM1c1pXNW5kR2c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBdktpQnBjM1JoYm1KMWJDQnBaMjV2Y21VZ2JtVjRkQ0J6YUc5MWJHUWdibTkwSUdoaGNIQmxiaUFxTDF4dUlDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REb2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMWxjM05oWjJVZ1BTQmdWVzVsZUhCbFkzUmxaQ0IwYjJ0bGJpQnBiaUJpYkc5amF5QnpZMkZzWVhJZ2FHVmhaR1Z5T2lBa2UzUnZhMlZ1TG5SNWNHVjlZRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSFJ2YTJWdUxDQW5WVTVGV0ZCRlExUkZSRjlVVDB0RlRpY3NJRzFsYzNOaFoyVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIUnpJRDBnZEc5clpXNHVjMjkxY21ObE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwY3lBbUppQjBlWEJsYjJZZ2RITWdQVDA5SUNkemRISnBibWNuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNaVzVuZEdnZ0t6MGdkSE11YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUI3SUcxdlpHVXNJR2x1WkdWdWRDd2dZMmh2YlhBc0lHTnZiVzFsYm5Rc0lHeGxibWQwYUNCOU8xeHVmVnh1THlvcUlFQnlaWFIxY201eklFRnljbUY1SUc5bUlHeHBibVZ6SUhOd2JHbDBJSFZ3SUdGeklHQmJhVzVrWlc1MExDQmpiMjUwWlc1MFhXQWdLaTljYm1aMWJtTjBhVzl1SUhOd2JHbDBUR2x1WlhNb2MyOTFjbU5sS1NCN1hHNGdJQ0FnWTI5dWMzUWdjM0JzYVhRZ1BTQnpiM1Z5WTJVdWMzQnNhWFFvTDF4Y2JpZ2dLaWt2S1R0Y2JpQWdJQ0JqYjI1emRDQm1hWEp6ZENBOUlITndiR2wwV3pCZE8xeHVJQ0FnSUdOdmJuTjBJRzBnUFNCbWFYSnpkQzV0WVhSamFDZ3ZYaWdnS2lrdktUdGNiaUFnSUNCamIyNXpkQ0JzYVc1bE1DQTlJRzAvTGxzeFhWeHVJQ0FnSUNBZ0lDQS9JRnR0V3pGZExDQm1hWEp6ZEM1emJHbGpaU2h0V3pGZExteGxibWQwYUNsZFhHNGdJQ0FnSUNBZ0lEb2dXeWNuTENCbWFYSnpkRjA3WEc0Z0lDQWdZMjl1YzNRZ2JHbHVaWE1nUFNCYmJHbHVaVEJkTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBeE95QnBJRHdnYzNCc2FYUXViR1Z1WjNSb095QnBJQ3M5SURJcFhHNGdJQ0FnSUNBZ0lHeHBibVZ6TG5CMWMyZ29XM053YkdsMFcybGRMQ0J6Y0d4cGRGdHBJQ3NnTVYxZEtUdGNiaUFnSUNCeVpYUjFjbTRnYkdsdVpYTTdYRzU5WEc1Y2JtVjRjRzl5ZENCN0lISmxjMjlzZG1WQ2JHOWphMU5qWVd4aGNpQjlPMXh1SWl3Z0ltbHRjRzl5ZENCN0lGTmpZV3hoY2lCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDFOallXeGhjaTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnlaWE52YkhabFJXNWtJSDBnWm5KdmJTQW5MaTl5WlhOdmJIWmxMV1Z1WkM1cWN5YzdYRzVjYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZHYkc5M1UyTmhiR0Z5S0hOallXeGhjaXdnYzNSeWFXTjBMQ0J2YmtWeWNtOXlLU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnZabVp6WlhRc0lIUjVjR1VzSUhOdmRYSmpaU3dnWlc1a0lIMGdQU0J6WTJGc1lYSTdYRzRnSUNBZ2JHVjBJRjkwZVhCbE8xeHVJQ0FnSUd4bGRDQjJZV3gxWlR0Y2JpQWdJQ0JqYjI1emRDQmZiMjVGY25KdmNpQTlJQ2h5Wld3c0lHTnZaR1VzSUcxelp5a2dQVDRnYjI1RmNuSnZjaWh2Wm1aelpYUWdLeUJ5Wld3c0lHTnZaR1VzSUcxelp5azdYRzRnSUNBZ2MzZHBkR05vSUNoMGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKM05qWVd4aGNpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCZmRIbHdaU0E5SUZOallXeGhjaTVRVEVGSlRqdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxJRDBnY0d4aGFXNVdZV3gxWlNoemIzVnlZMlVzSUY5dmJrVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNkemFXNW5iR1V0Y1hWdmRHVmtMWE5qWVd4aGNpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCZmRIbHdaU0E5SUZOallXeGhjaTVSVlU5VVJWOVRTVTVIVEVVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVd4MVpTQTlJSE5wYm1kc1pWRjFiM1JsWkZaaGJIVmxLSE52ZFhKalpTd2dYMjl1UlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMlJ2ZFdKc1pTMXhkVzkwWldRdGMyTmhiR0Z5SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJRjkwZVhCbElEMGdVMk5oYkdGeUxsRlZUMVJGWDBSUFZVSk1SVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ1pHOTFZbXhsVVhWdmRHVmtWbUZzZFdVb2MyOTFjbU5sTENCZmIyNUZjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdMeW9nYVhOMFlXNWlkV3dnYVdkdWIzSmxJRzVsZUhRZ2MyaHZkV3hrSUc1dmRDQm9ZWEJ3Wlc0Z0tpOWNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvYzJOaGJHRnlMQ0FuVlU1RldGQkZRMVJGUkY5VVQwdEZUaWNzSUdCRmVIQmxZM1JsWkNCaElHWnNiM2NnYzJOaGJHRnlJSFpoYkhWbExDQmlkWFFnWm05MWJtUTZJQ1I3ZEhsd1pYMWdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUNjbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUc1MWJHd3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl0YldWdWREb2dKeWNzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21GdVoyVTZJRnR2Wm1aelpYUXNJRzltWm5ObGRDQXJJSE52ZFhKalpTNXNaVzVuZEdnc0lHOW1abk5sZENBcklITnZkWEpqWlM1c1pXNW5kR2hkWEc0Z0lDQWdJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0IyWVd4MVpVVnVaQ0E5SUc5bVpuTmxkQ0FySUhOdmRYSmpaUzVzWlc1bmRHZzdYRzRnSUNBZ1kyOXVjM1FnY21VZ1BTQnlaWE52YkhabFJXNWtLR1Z1WkN3Z2RtRnNkV1ZGYm1Rc0lITjBjbWxqZEN3Z2IyNUZjbkp2Y2lrN1hHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnZG1Gc2RXVXNYRzRnSUNBZ0lDQWdJSFI1Y0dVNklGOTBlWEJsTEZ4dUlDQWdJQ0FnSUNCamIyMXRaVzUwT2lCeVpTNWpiMjF0Wlc1MExGeHVJQ0FnSUNBZ0lDQnlZVzVuWlRvZ1cyOW1abk5sZEN3Z2RtRnNkV1ZGYm1Rc0lISmxMbTltWm5ObGRGMWNiaUFnSUNCOU8xeHVmVnh1Wm5WdVkzUnBiMjRnY0d4aGFXNVdZV3gxWlNoemIzVnlZMlVzSUc5dVJYSnliM0lwSUh0Y2JpQWdJQ0JzWlhRZ1ltRmtRMmhoY2lBOUlDY25PMXh1SUNBZ0lITjNhWFJqYUNBb2MyOTFjbU5sV3pCZEtTQjdYRzRnSUNBZ0lDQWdJQzhxSUdsemRHRnVZblZzSUdsbmJtOXlaU0J1WlhoMElITm9iM1ZzWkNCdWIzUWdhR0Z3Y0dWdUlDb3ZYRzRnSUNBZ0lDQWdJR05oYzJVZ0oxeGNkQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmlZV1JEYUdGeUlEMGdKMkVnZEdGaUlHTm9ZWEpoWTNSbGNpYzdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5MQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmlZV1JEYUdGeUlEMGdKMlpzYjNjZ2FXNWthV05oZEc5eUlHTm9ZWEpoWTNSbGNpQXNKenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2NsSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR0poWkVOb1lYSWdQU0FuWkdseVpXTjBhWFpsSUdsdVpHbGpZWFJ2Y2lCamFHRnlZV04wWlhJZ0pTYzdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5mQ2M2WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKejRuT2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpWVdSRGFHRnlJRDBnWUdKc2IyTnJJSE5qWVd4aGNpQnBibVJwWTJGMGIzSWdKSHR6YjNWeVkyVmJNRjE5WUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR05oYzJVZ0owQW5PbHh1SUNBZ0lDQWdJQ0JqWVhObElDZGdKem9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZbUZrUTJoaGNpQTlJR0J5WlhObGNuWmxaQ0JqYUdGeVlXTjBaWElnSkh0emIzVnlZMlZiTUYxOVlEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hpWVdSRGFHRnlLVnh1SUNBZ0lDQWdJQ0J2YmtWeWNtOXlLREFzSUNkQ1FVUmZVME5CVEVGU1gxTlVRVkpVSnl3Z1lGQnNZV2x1SUhaaGJIVmxJR05oYm01dmRDQnpkR0Z5ZENCM2FYUm9JQ1I3WW1Ga1EyaGhjbjFnS1R0Y2JpQWdJQ0J5WlhSMWNtNGdabTlzWkV4cGJtVnpLSE52ZFhKalpTazdYRzU5WEc1bWRXNWpkR2x2YmlCemFXNW5iR1ZSZFc5MFpXUldZV3gxWlNoemIzVnlZMlVzSUc5dVJYSnliM0lwSUh0Y2JpQWdJQ0JwWmlBb2MyOTFjbU5sVzNOdmRYSmpaUzVzWlc1bmRHZ2dMU0F4WFNBaFBUMGdYQ0luWENJZ2ZId2djMjkxY21ObExteGxibWQwYUNBOVBUMGdNU2xjYmlBZ0lDQWdJQ0FnYjI1RmNuSnZjaWh6YjNWeVkyVXViR1Z1WjNSb0xDQW5UVWxUVTBsT1IxOURTRUZTSnl3Z1hDSk5hWE56YVc1bklHTnNiM05wYm1jZ0ozRjFiM1JsWENJcE8xeHVJQ0FnSUhKbGRIVnliaUJtYjJ4a1RHbHVaWE1vYzI5MWNtTmxMbk5zYVdObEtERXNJQzB4S1NrdWNtVndiR0ZqWlNndkp5Y3ZaeXdnWENJblhDSXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1ptOXNaRXhwYm1WektITnZkWEpqWlNrZ2UxeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlGUm9aU0J1WldkaGRHbDJaU0JzYjI5clltVm9hVzVrSUdobGNtVWdZVzVrSUdsdUlIUm9aU0JnY21WZ0lGSmxaMFY0Y0NCcGN5QjBiMXh1SUNBZ0lDQXFJSEJ5WlhabGJuUWdZMkYxYzJsdVp5QmhJSEJ2YkhsdWIyMXBZV3dnYzJWaGNtTm9JSFJwYldVZ2FXNGdZMlZ5ZEdGcGJpQmpZWE5sY3k1Y2JpQWdJQ0FnS2x4dUlDQWdJQ0FxSUZSb1pTQjBjbmt0WTJGMFkyZ2dhWE1nWm05eUlGTmhabUZ5YVN3Z2QyaHBZMmdnWkc5bGMyNG5kQ0J6ZFhCd2IzSjBJSFJvYVhNZ2VXVjBPbHh1SUNBZ0lDQXFJR2gwZEhCek9pOHZZMkZ1YVhWelpTNWpiMjB2YW5NdGNtVm5aWGh3TFd4dmIydGlaV2hwYm1SY2JpQWdJQ0FnS2k5Y2JpQWdJQ0JzWlhRZ1ptbHljM1FzSUd4cGJtVTdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnWm1seWMzUWdQU0J1WlhjZ1VtVm5SWGh3S0Njb0xpby9LU2cvUENGYklGeGNkRjBwV3lCY1hIUmRLbHhjY2o5Y1hHNG5MQ0FuYzNrbktUdGNiaUFnSUNBZ0lDQWdiR2x1WlNBOUlHNWxkeUJTWldkRmVIQW9KMXNnWEZ4MFhTb29MaW8vS1NnL09pZy9QQ0ZiSUZ4Y2RGMHBXeUJjWEhSZEtpay9YRnh5UDF4Y2JpY3NJQ2R6ZVNjcE8xeHVJQ0FnSUgxY2JpQWdJQ0JqWVhSamFDQjdYRzRnSUNBZ0lDQWdJR1pwY25OMElEMGdMeWd1S2o4cFd5QmNYSFJkS2x4Y2NqOWNYRzR2YzNrN1hHNGdJQ0FnSUNBZ0lHeHBibVVnUFNBdld5QmNYSFJkS2lndUtqOHBXeUJjWEhSZEtseGNjajljWEc0dmMzazdYRzRnSUNBZ2ZWeHVJQ0FnSUd4bGRDQnRZWFJqYUNBOUlHWnBjbk4wTG1WNFpXTW9jMjkxY21ObEtUdGNiaUFnSUNCcFppQW9JVzFoZEdOb0tWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2MyOTFjbU5sTzF4dUlDQWdJR3hsZENCeVpYTWdQU0J0WVhSamFGc3hYVHRjYmlBZ0lDQnNaWFFnYzJWd0lEMGdKeUFuTzF4dUlDQWdJR3hsZENCd2IzTWdQU0JtYVhKemRDNXNZWE4wU1c1a1pYZzdYRzRnSUNBZ2JHbHVaUzVzWVhOMFNXNWtaWGdnUFNCd2IzTTdYRzRnSUNBZ2QyaHBiR1VnS0NodFlYUmphQ0E5SUd4cGJtVXVaWGhsWXloemIzVnlZMlVwS1NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYldGMFkyaGJNVjBnUFQwOUlDY25LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYzJWd0lEMDlQU0FuWEZ4dUp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE1nS3owZ2MyVndPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5sY0NBOUlDZGNYRzRuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ6SUNzOUlITmxjQ0FySUcxaGRHTm9XekZkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjMlZ3SUQwZ0p5QW5PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhCdmN5QTlJR3hwYm1VdWJHRnpkRWx1WkdWNE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQnNZWE4wSUQwZ0wxc2dYRngwWFNvb0xpb3BMM041TzF4dUlDQWdJR3hoYzNRdWJHRnpkRWx1WkdWNElEMGdjRzl6TzF4dUlDQWdJRzFoZEdOb0lEMGdiR0Z6ZEM1bGVHVmpLSE52ZFhKalpTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5QXJJSE5sY0NBcklDaHRZWFJqYUQ4dVd6RmRJRDgvSUNjbktUdGNibjFjYm1aMWJtTjBhVzl1SUdSdmRXSnNaVkYxYjNSbFpGWmhiSFZsS0hOdmRYSmpaU3dnYjI1RmNuSnZjaWtnZTF4dUlDQWdJR3hsZENCeVpYTWdQU0FuSnp0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Uc2dhU0E4SUhOdmRYSmpaUzVzWlc1bmRHZ2dMU0F4T3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMmdnUFNCemIzVnlZMlZiYVYwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqYUNBOVBUMGdKMXhjY2ljZ0ppWWdjMjkxY21ObFcya2dLeUF4WFNBOVBUMGdKMXhjYmljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHTm9JRDA5UFNBblhGeHVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2V5Qm1iMnhrTENCdlptWnpaWFFnZlNBOUlHWnZiR1JPWlhkc2FXNWxLSE52ZFhKalpTd2dhU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE1nS3owZ1ptOXNaRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHa2dQU0J2Wm1aelpYUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWTJnZ1BUMDlJQ2RjWEZ4Y0p5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJRzVsZUhRZ1BTQnpiM1Z5WTJWYkt5dHBYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOaklEMGdaWE5qWVhCbFEyOWtaWE5iYm1WNGRGMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMk1wWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WeklDczlJR05qTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9ibVY0ZENBOVBUMGdKMXhjYmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJ6YTJsd0lHVnpZMkZ3WldRZ2JtVjNiR2x1WlhNc0lHSjFkQ0J6ZEdsc2JDQjBjbWx0SUhSb1pTQm1iMnhzYjNkcGJtY2diR2x1WlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc1bGVIUWdQU0J6YjNWeVkyVmJhU0FySURGZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNodVpYaDBJRDA5UFNBbklDY2dmSHdnYm1WNGRDQTlQVDBnSjF4Y2RDY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc1bGVIUWdQU0J6YjNWeVkyVmJLeXRwSUNzZ01WMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2h1WlhoMElEMDlQU0FuWEZ4eUp5QW1KaUJ6YjNWeVkyVmJhU0FySURGZElEMDlQU0FuWEZ4dUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhOcmFYQWdaWE5qWVhCbFpDQkRVa3hHSUc1bGQyeHBibVZ6TENCaWRYUWdjM1JwYkd3Z2RISnBiU0IwYUdVZ1ptOXNiRzkzYVc1bklHeHBibVZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1WlhoMElEMGdjMjkxY21ObFd5c3JhU0FySURGZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNodVpYaDBJRDA5UFNBbklDY2dmSHdnYm1WNGRDQTlQVDBnSjF4Y2RDY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc1bGVIUWdQU0J6YjNWeVkyVmJLeXRwSUNzZ01WMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2h1WlhoMElEMDlQU0FuZUNjZ2ZId2dibVY0ZENBOVBUMGdKM1VuSUh4OElHNWxlSFFnUFQwOUlDZFZKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3hsYm1kMGFDQTlJSHNnZURvZ01pd2dkVG9nTkN3Z1ZUb2dPQ0I5VzI1bGVIUmRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsY3lBclBTQndZWEp6WlVOb1lYSkRiMlJsS0hOdmRYSmpaU3dnYVNBcklERXNJR3hsYm1kMGFDd2diMjVGY25KdmNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0FyUFNCc1pXNW5kR2c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnlZWGNnUFNCemIzVnlZMlV1YzNWaWMzUnlLR2tnTFNBeExDQXlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtWeWNtOXlLR2tnTFNBeExDQW5Ra0ZFWDBSUlgwVlRRMEZRUlNjc0lHQkpiblpoYkdsa0lHVnpZMkZ3WlNCelpYRjFaVzVqWlNBa2UzSmhkMzFnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTWdLejBnY21GM08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHTm9JRDA5UFNBbklDY2dmSHdnWTJnZ1BUMDlJQ2RjWEhRbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjBjbWx0SUhSeVlXbHNhVzVuSUhkb2FYUmxjM0JoWTJWY2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIZHpVM1JoY25RZ1BTQnBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJRzVsZUhRZ1BTQnpiM1Z5WTJWYmFTQXJJREZkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkMmhwYkdVZ0tHNWxlSFFnUFQwOUlDY2dKeUI4ZkNCdVpYaDBJRDA5UFNBblhGeDBKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1WlhoMElEMGdjMjkxY21ObFd5c3JhU0FySURGZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNWxlSFFnSVQwOUlDZGNYRzRuSUNZbUlDRW9ibVY0ZENBOVBUMGdKMXhjY2ljZ0ppWWdjMjkxY21ObFcya2dLeUF5WFNBOVBUMGdKMXhjYmljcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjeUFyUFNCcElENGdkM05UZEdGeWRDQS9JSE52ZFhKalpTNXpiR2xqWlNoM2MxTjBZWEowTENCcElDc2dNU2tnT2lCamFEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGN5QXJQU0JqYUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2MyOTFjbU5sVzNOdmRYSmpaUzVzWlc1bmRHZ2dMU0F4WFNBaFBUMGdKMXdpSnlCOGZDQnpiM1Z5WTJVdWJHVnVaM1JvSUQwOVBTQXhLVnh1SUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSE52ZFhKalpTNXNaVzVuZEdnc0lDZE5TVk5UU1U1SFgwTklRVkluTENBblRXbHpjMmx1WnlCamJHOXphVzVuSUZ3aWNYVnZkR1VuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dWZWeHVMeW9xWEc0Z0tpQkdiMnhrSUdFZ2MybHVaMnhsSUc1bGQyeHBibVVnYVc1MGJ5QmhJSE53WVdObExDQnRkV3gwYVhCc1pTQnVaWGRzYVc1bGN5QjBieUJPSUMwZ01TQnVaWGRzYVc1bGN5NWNiaUFxSUZCeVpYTjFiV1Z6SUdCemIzVnlZMlZiYjJabWMyVjBYU0E5UFQwZ0oxeGNiaWRnWEc0Z0tpOWNibVoxYm1OMGFXOXVJR1p2YkdST1pYZHNhVzVsS0hOdmRYSmpaU3dnYjJabWMyVjBLU0I3WEc0Z0lDQWdiR1YwSUdadmJHUWdQU0FuSnp0Y2JpQWdJQ0JzWlhRZ1kyZ2dQU0J6YjNWeVkyVmJiMlptYzJWMElDc2dNVjA3WEc0Z0lDQWdkMmhwYkdVZ0tHTm9JRDA5UFNBbklDY2dmSHdnWTJnZ1BUMDlJQ2RjWEhRbklIeDhJR05vSUQwOVBTQW5YRnh1SnlCOGZDQmphQ0E5UFQwZ0oxeGNjaWNwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05vSUQwOVBTQW5YRnh5SnlBbUppQnpiM1Z5WTJWYmIyWm1jMlYwSUNzZ01sMGdJVDA5SUNkY1hHNG5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUdsbUlDaGphQ0E5UFQwZ0oxeGNiaWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iMnhrSUNzOUlDZGNYRzRuTzF4dUlDQWdJQ0FnSUNCdlptWnpaWFFnS3owZ01UdGNiaUFnSUNBZ0lDQWdZMmdnUFNCemIzVnlZMlZiYjJabWMyVjBJQ3NnTVYwN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnaFptOXNaQ2xjYmlBZ0lDQWdJQ0FnWm05c1pDQTlJQ2NnSnp0Y2JpQWdJQ0J5WlhSMWNtNGdleUJtYjJ4a0xDQnZabVp6WlhRZ2ZUdGNibjFjYm1OdmJuTjBJR1Z6WTJGd1pVTnZaR1Z6SUQwZ2UxeHVJQ0FnSUNjd0p6b2dKMXhjTUNjc0lDOHZJRzUxYkd3Z1kyaGhjbUZqZEdWeVhHNGdJQ0FnWVRvZ0oxeGNlREEzSnl3Z0x5OGdZbVZzYkNCamFHRnlZV04wWlhKY2JpQWdJQ0JpT2lBblhGeGlKeXdnTHk4Z1ltRmphM053WVdObFhHNGdJQ0FnWlRvZ0oxeGNlREZpSnl3Z0x5OGdaWE5qWVhCbElHTm9ZWEpoWTNSbGNseHVJQ0FnSUdZNklDZGNYR1luTENBdkx5Qm1iM0p0SUdabFpXUmNiaUFnSUNCdU9pQW5YRnh1Snl3Z0x5OGdiR2x1WlNCbVpXVmtYRzRnSUNBZ2Nqb2dKMXhjY2ljc0lDOHZJR05oY25KcFlXZGxJSEpsZEhWeWJseHVJQ0FnSUhRNklDZGNYSFFuTENBdkx5Qm9iM0pwZW05dWRHRnNJSFJoWWx4dUlDQWdJSFk2SUNkY1hIWW5MQ0F2THlCMlpYSjBhV05oYkNCMFlXSmNiaUFnSUNCT09pQW5YRngxTURBNE5TY3NJQzh2SUZWdWFXTnZaR1VnYm1WNGRDQnNhVzVsWEc0Z0lDQWdYem9nSjF4Y2RUQXdZVEFuTENBdkx5QlZibWxqYjJSbElHNXZiaTFpY21WaGEybHVaeUJ6Y0dGalpWeHVJQ0FnSUV3NklDZGNYSFV5TURJNEp5d2dMeThnVlc1cFkyOWtaU0JzYVc1bElITmxjR0Z5WVhSdmNseHVJQ0FnSUZBNklDZGNYSFV5TURJNUp5d2dMeThnVlc1cFkyOWtaU0J3WVhKaFozSmhjR2dnYzJWd1lYSmhkRzl5WEc0Z0lDQWdKeUFuT2lBbklDY3NYRzRnSUNBZ0oxd2lKem9nSjF3aUp5eGNiaUFnSUNBbkx5YzZJQ2N2Snl4Y2JpQWdJQ0FuWEZ4Y1hDYzZJQ2RjWEZ4Y0p5eGNiaUFnSUNBblhGeDBKem9nSjF4Y2RDZGNibjA3WEc1bWRXNWpkR2x2YmlCd1lYSnpaVU5vWVhKRGIyUmxLSE52ZFhKalpTd2diMlptYzJWMExDQnNaVzVuZEdnc0lHOXVSWEp5YjNJcElIdGNiaUFnSUNCamIyNXpkQ0JqWXlBOUlITnZkWEpqWlM1emRXSnpkSElvYjJabWMyVjBMQ0JzWlc1bmRHZ3BPMXh1SUNBZ0lHTnZibk4wSUc5cklEMGdZMk11YkdWdVozUm9JRDA5UFNCc1pXNW5kR2dnSmlZZ0wxNWJNQzA1WVMxbVFTMUdYU3NrTHk1MFpYTjBLR05qS1R0Y2JpQWdJQ0JqYjI1emRDQmpiMlJsSUQwZ2Iyc2dQeUJ3WVhKelpVbHVkQ2hqWXl3Z01UWXBJRG9nVG1GT08xeHVJQ0FnSUdsbUlDaHBjMDVoVGloamIyUmxLU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WVhjZ1BTQnpiM1Z5WTJVdWMzVmljM1J5S0c5bVpuTmxkQ0F0SURJc0lHeGxibWQwYUNBcklESXBPMXh1SUNBZ0lDQWdJQ0J2YmtWeWNtOXlLRzltWm5ObGRDQXRJRElzSUNkQ1FVUmZSRkZmUlZORFFWQkZKeXdnWUVsdWRtRnNhV1FnWlhOallYQmxJSE5sY1hWbGJtTmxJQ1I3Y21GM2ZXQXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbUYzTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1UzUnlhVzVuTG1aeWIyMURiMlJsVUc5cGJuUW9ZMjlrWlNrN1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUhKbGMyOXNkbVZHYkc5M1UyTmhiR0Z5SUgwN1hHNGlMQ0FpYVcxd2IzSjBJSHNnYVhOVFkyRnNZWElzSUZORFFVeEJVaUI5SUdaeWIyMGdKeTR1TDI1dlpHVnpMMmxrWlc1MGFYUjVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lGTmpZV3hoY2lCOUlHWnliMjBnSnk0dUwyNXZaR1Z6TDFOallXeGhjaTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QnlaWE52YkhabFFteHZZMnRUWTJGc1lYSWdmU0JtY205dElDY3VMM0psYzI5c2RtVXRZbXh2WTJzdGMyTmhiR0Z5TG1wekp6dGNibWx0Y0c5eWRDQjdJSEpsYzI5c2RtVkdiRzkzVTJOaGJHRnlJSDBnWm5KdmJTQW5MaTl5WlhOdmJIWmxMV1pzYjNjdGMyTmhiR0Z5TG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnWTI5dGNHOXpaVk5qWVd4aGNpaGpkSGdzSUhSdmEyVnVMQ0IwWVdkVWIydGxiaXdnYjI1RmNuSnZjaWtnZTF4dUlDQWdJR052Ym5OMElIc2dkbUZzZFdVc0lIUjVjR1VzSUdOdmJXMWxiblFzSUhKaGJtZGxJSDBnUFNCMGIydGxiaTUwZVhCbElEMDlQU0FuWW14dlkyc3RjMk5oYkdGeUoxeHVJQ0FnSUNBZ0lDQS9JSEpsYzI5c2RtVkNiRzlqYTFOallXeGhjaWhqZEhnc0lIUnZhMlZ1TENCdmJrVnljbTl5S1Z4dUlDQWdJQ0FnSUNBNklISmxjMjlzZG1WR2JHOTNVMk5oYkdGeUtIUnZhMlZ1TENCamRIZ3ViM0IwYVc5dWN5NXpkSEpwWTNRc0lHOXVSWEp5YjNJcE8xeHVJQ0FnSUdOdmJuTjBJSFJoWjA1aGJXVWdQU0IwWVdkVWIydGxibHh1SUNBZ0lDQWdJQ0EvSUdOMGVDNWthWEpsWTNScGRtVnpMblJoWjA1aGJXVW9kR0ZuVkc5clpXNHVjMjkxY21ObExDQnRjMmNnUFQ0Z2IyNUZjbkp2Y2loMFlXZFViMnRsYml3Z0oxUkJSMTlTUlZOUFRGWkZYMFpCU1V4RlJDY3NJRzF6WnlrcFhHNGdJQ0FnSUNBZ0lEb2diblZzYkR0Y2JpQWdJQ0JzWlhRZ2RHRm5PMXh1SUNBZ0lHbG1JQ2hqZEhndWIzQjBhVzl1Y3k1emRISnBibWRMWlhseklDWW1JR04wZUM1aGRFdGxlU2tnZTF4dUlDQWdJQ0FnSUNCMFlXY2dQU0JqZEhndWMyTm9aVzFoVzFORFFVeEJVbDA3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnYVdZZ0tIUmhaMDVoYldVcFhHNGdJQ0FnSUNBZ0lIUmhaeUE5SUdacGJtUlRZMkZzWVhKVVlXZENlVTVoYldVb1kzUjRMbk5qYUdWdFlTd2dkbUZzZFdVc0lIUmhaMDVoYldVc0lIUmhaMVJ2YTJWdUxDQnZia1Z5Y205eUtUdGNiaUFnSUNCbGJITmxJR2xtSUNoMGIydGxiaTUwZVhCbElEMDlQU0FuYzJOaGJHRnlKeWxjYmlBZ0lDQWdJQ0FnZEdGbklEMGdabWx1WkZOallXeGhjbFJoWjBKNVZHVnpkQ2hqZEhnc0lIWmhiSFZsTENCMGIydGxiaXdnYjI1RmNuSnZjaWs3WEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNCMFlXY2dQU0JqZEhndWMyTm9aVzFoVzFORFFVeEJVbDA3WEc0Z0lDQWdiR1YwSUhOallXeGhjanRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhNZ1BTQjBZV2N1Y21WemIyeDJaU2gyWVd4MVpTd2diWE5uSUQwK0lHOXVSWEp5YjNJb2RHRm5WRzlyWlc0Z1B6OGdkRzlyWlc0c0lDZFVRVWRmVWtWVFQweFdSVjlHUVVsTVJVUW5MQ0J0YzJjcExDQmpkSGd1YjNCMGFXOXVjeWs3WEc0Z0lDQWdJQ0FnSUhOallXeGhjaUE5SUdselUyTmhiR0Z5S0hKbGN5a2dQeUJ5WlhNZ09pQnVaWGNnVTJOaGJHRnlLSEpsY3lrN1hHNGdJQ0FnZlZ4dUlDQWdJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdGMyY2dQU0JsY25KdmNpQnBibk4wWVc1alpXOW1JRVZ5Y205eUlEOGdaWEp5YjNJdWJXVnpjMkZuWlNBNklGTjBjbWx1WnlobGNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUc5dVJYSnliM0lvZEdGblZHOXJaVzRnUHo4Z2RHOXJaVzRzSUNkVVFVZGZVa1ZUVDB4V1JWOUdRVWxNUlVRbkxDQnRjMmNwTzF4dUlDQWdJQ0FnSUNCelkyRnNZWElnUFNCdVpYY2dVMk5oYkdGeUtIWmhiSFZsS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjMk5oYkdGeUxuSmhibWRsSUQwZ2NtRnVaMlU3WEc0Z0lDQWdjMk5oYkdGeUxuTnZkWEpqWlNBOUlIWmhiSFZsTzF4dUlDQWdJR2xtSUNoMGVYQmxLVnh1SUNBZ0lDQWdJQ0J6WTJGc1lYSXVkSGx3WlNBOUlIUjVjR1U3WEc0Z0lDQWdhV1lnS0hSaFowNWhiV1VwWEc0Z0lDQWdJQ0FnSUhOallXeGhjaTUwWVdjZ1BTQjBZV2RPWVcxbE8xeHVJQ0FnSUdsbUlDaDBZV2N1Wm05eWJXRjBLVnh1SUNBZ0lDQWdJQ0J6WTJGc1lYSXVabTl5YldGMElEMGdkR0ZuTG1admNtMWhkRHRjYmlBZ0lDQnBaaUFvWTI5dGJXVnVkQ2xjYmlBZ0lDQWdJQ0FnYzJOaGJHRnlMbU52YlcxbGJuUWdQU0JqYjIxdFpXNTBPMXh1SUNBZ0lISmxkSFZ5YmlCelkyRnNZWEk3WEc1OVhHNW1kVzVqZEdsdmJpQm1hVzVrVTJOaGJHRnlWR0ZuUW5sT1lXMWxLSE5qYUdWdFlTd2dkbUZzZFdVc0lIUmhaMDVoYldVc0lIUmhaMVJ2YTJWdUxDQnZia1Z5Y205eUtTQjdYRzRnSUNBZ2FXWWdLSFJoWjA1aGJXVWdQVDA5SUNjaEp5bGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlITmphR1Z0WVZ0VFEwRk1RVkpkT3lBdkx5QnViMjR0YzNCbFkybG1hV01nZEdGblhHNGdJQ0FnWTI5dWMzUWdiV0YwWTJoWGFYUm9WR1Z6ZENBOUlGdGRPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdkR0ZuSUc5bUlITmphR1Z0WVM1MFlXZHpLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkR0ZuTG1OdmJHeGxZM1JwYjI0Z0ppWWdkR0ZuTG5SaFp5QTlQVDBnZEdGblRtRnRaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSaFp5NWtaV1poZFd4MElDWW1JSFJoWnk1MFpYTjBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoZEdOb1YybDBhRlJsYzNRdWNIVnphQ2gwWVdjcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFlXYzdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQjBZV2NnYjJZZ2JXRjBZMmhYYVhSb1ZHVnpkQ2xjYmlBZ0lDQWdJQ0FnYVdZZ0tIUmhaeTUwWlhOMFB5NTBaWE4wS0haaGJIVmxLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFlXYzdYRzRnSUNBZ1kyOXVjM1FnYTNRZ1BTQnpZMmhsYldFdWEyNXZkMjVVWVdkelczUmhaMDVoYldWZE8xeHVJQ0FnSUdsbUlDaHJkQ0FtSmlBaGEzUXVZMjlzYkdWamRHbHZiaWtnZTF4dUlDQWdJQ0FnSUNBdkx5QkZibk4xY21VZ2RHaGhkQ0IwYUdVZ2EyNXZkMjRnZEdGbklHbHpJR0YyWVdsc1lXSnNaU0JtYjNJZ2MzUnlhVzVuYVdaNWFXNW5MRnh1SUNBZ0lDQWdJQ0F2THlCaWRYUWdaRzlsY3lCdWIzUWdaMlYwSUhWelpXUWdZbmtnWkdWbVlYVnNkQzVjYmlBZ0lDQWdJQ0FnYzJOb1pXMWhMblJoWjNNdWNIVnphQ2hQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0JyZEN3Z2V5QmtaV1poZFd4ME9pQm1ZV3h6WlN3Z2RHVnpkRG9nZFc1a1pXWnBibVZrSUgwcEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHdDBPMXh1SUNBZ0lIMWNiaUFnSUNCdmJrVnljbTl5S0hSaFoxUnZhMlZ1TENBblZFRkhYMUpGVTA5TVZrVmZSa0ZKVEVWRUp5d2dZRlZ1Y21WemIyeDJaV1FnZEdGbk9pQWtlM1JoWjA1aGJXVjlZQ3dnZEdGblRtRnRaU0FoUFQwZ0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9uTjBjaWNwTzF4dUlDQWdJSEpsZEhWeWJpQnpZMmhsYldGYlUwTkJURUZTWFR0Y2JuMWNibVoxYm1OMGFXOXVJR1pwYm1SVFkyRnNZWEpVWVdkQ2VWUmxjM1FvZXlCaGRFdGxlU3dnWkdseVpXTjBhWFpsY3l3Z2MyTm9aVzFoSUgwc0lIWmhiSFZsTENCMGIydGxiaXdnYjI1RmNuSnZjaWtnZTF4dUlDQWdJR052Ym5OMElIUmhaeUE5SUhOamFHVnRZUzUwWVdkekxtWnBibVFvZEdGbklEMCtJQ2gwWVdjdVpHVm1ZWFZzZENBOVBUMGdkSEoxWlNCOGZDQW9ZWFJMWlhrZ0ppWWdkR0ZuTG1SbFptRjFiSFFnUFQwOUlDZHJaWGtuS1NrZ0ppWmNiaUFnSUNBZ0lDQWdkR0ZuTG5SbGMzUS9MblJsYzNRb2RtRnNkV1VwS1NCOGZDQnpZMmhsYldGYlUwTkJURUZTWFR0Y2JpQWdJQ0JwWmlBb2MyTm9aVzFoTG1OdmJYQmhkQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JqYjIxd1lYUWdQU0J6WTJobGJXRXVZMjl0Y0dGMExtWnBibVFvZEdGbklEMCtJSFJoWnk1a1pXWmhkV3gwSUNZbUlIUmhaeTUwWlhOMFB5NTBaWE4wS0haaGJIVmxLU2tnUHo5Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5qYUdWdFlWdFRRMEZNUVZKZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZEdGbkxuUmhaeUFoUFQwZ1kyOXRjR0YwTG5SaFp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZEhNZ1BTQmthWEpsWTNScGRtVnpMblJoWjFOMGNtbHVaeWgwWVdjdWRHRm5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOeklEMGdaR2x5WldOMGFYWmxjeTUwWVdkVGRISnBibWNvWTI5dGNHRjBMblJoWnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRjMmNnUFNCZ1ZtRnNkV1VnYldGNUlHSmxJSEJoY25ObFpDQmhjeUJsYVhSb1pYSWdKSHQwYzMwZ2IzSWdKSHRqYzMxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnYjI1RmNuSnZjaWgwYjJ0bGJpd2dKMVJCUjE5U1JWTlBURlpGWDBaQlNVeEZSQ2NzSUcxelp5d2dkSEoxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJoWnp0Y2JuMWNibHh1Wlhod2IzSjBJSHNnWTI5dGNHOXpaVk5qWVd4aGNpQjlPMXh1SWl3Z0ltWjFibU4wYVc5dUlHVnRjSFI1VTJOaGJHRnlVRzl6YVhScGIyNG9iMlptYzJWMExDQmlaV1p2Y21Vc0lIQnZjeWtnZTF4dUlDQWdJR2xtSUNoaVpXWnZjbVVwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2Y3lBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEJ2Y3lBOUlHSmxabTl5WlM1c1pXNW5kR2c3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQndiM01nTFNBeE95QnBJRDQ5SURBN0lDMHRhU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUhOMElEMGdZbVZtYjNKbFcybGRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNoemRDNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYzNCaFkyVW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyTnZiVzFsYm5Rbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjI1bGQyeHBibVVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRZ0xUMGdjM1F1YzI5MWNtTmxMbXhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVaV05vYm1sallXeHNlU3dnWVc0Z1pXMXdkSGtnYzJOaGJHRnlJR2x6SUdsdGJXVmthV0YwWld4NUlHRm1kR1Z5SUhSb1pTQnNZWE4wSUc1dmJpMWxiWEIwZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYm05a1pTd2dZblYwSUdsMEozTWdiVzl5WlNCMWMyVm1kV3dnZEc4Z2NHeGhZMlVnYVhRZ1lXWjBaWElnWVc1NUlIZG9hWFJsYzNCaFkyVXVYRzRnSUNBZ0lDQWdJQ0FnSUNCemRDQTlJR0psWm05eVpWc3JLMmxkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkMmhwYkdVZ0tITjBQeTUwZVhCbElEMDlQU0FuYzNCaFkyVW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjJabWMyVjBJQ3M5SUhOMExuTnZkWEpqWlM1c1pXNW5kR2c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNRZ1BTQmlaV1p2Y21WYkt5dHBYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdlptWnpaWFE3WEc1OVhHNWNibVY0Y0c5eWRDQjdJR1Z0Y0hSNVUyTmhiR0Z5VUc5emFYUnBiMjRnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJCYkdsaGN5QjlJR1p5YjIwZ0p5NHVMMjV2WkdWekwwRnNhV0Z6TG1wekp6dGNibWx0Y0c5eWRDQjdJR2x6VTJOaGJHRnlJSDBnWm5KdmJTQW5MaTR2Ym05a1pYTXZhV1JsYm5ScGRIa3Vhbk1uTzF4dWFXMXdiM0owSUhzZ1kyOXRjRzl6WlVOdmJHeGxZM1JwYjI0Z2ZTQm1jbTl0SUNjdUwyTnZiWEJ2YzJVdFkyOXNiR1ZqZEdsdmJpNXFjeWM3WEc1cGJYQnZjblFnZXlCamIyMXdiM05sVTJOaGJHRnlJSDBnWm5KdmJTQW5MaTlqYjIxd2IzTmxMWE5qWVd4aGNpNXFjeWM3WEc1cGJYQnZjblFnZXlCeVpYTnZiSFpsUlc1a0lIMGdabkp2YlNBbkxpOXlaWE52YkhabExXVnVaQzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QmxiWEIwZVZOallXeGhjbEJ2YzJsMGFXOXVJSDBnWm5KdmJTQW5MaTkxZEdsc0xXVnRjSFI1TFhOallXeGhjaTF3YjNOcGRHbHZiaTVxY3ljN1hHNWNibU52Ym5OMElFTk9JRDBnZXlCamIyMXdiM05sVG05a1pTd2dZMjl0Y0c5elpVVnRjSFI1VG05a1pTQjlPMXh1Wm5WdVkzUnBiMjRnWTI5dGNHOXpaVTV2WkdVb1kzUjRMQ0IwYjJ0bGJpd2djSEp2Y0hNc0lHOXVSWEp5YjNJcElIdGNiaUFnSUNCamIyNXpkQ0JoZEV0bGVTQTlJR04wZUM1aGRFdGxlVHRjYmlBZ0lDQmpiMjV6ZENCN0lITndZV05sUW1WbWIzSmxMQ0JqYjIxdFpXNTBMQ0JoYm1Ob2IzSXNJSFJoWnlCOUlEMGdjSEp2Y0hNN1hHNGdJQ0FnYkdWMElHNXZaR1U3WEc0Z0lDQWdiR1YwSUdselUzSmpWRzlyWlc0Z1BTQjBjblZsTzF4dUlDQWdJSE4zYVhSamFDQW9kRzlyWlc0dWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNCallYTmxJQ2RoYkdsaGN5YzZYRzRnSUNBZ0lDQWdJQ0FnSUNCdWIyUmxJRDBnWTI5dGNHOXpaVUZzYVdGektHTjBlQ3dnZEc5clpXNHNJRzl1UlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR0Z1WTJodmNpQjhmQ0IwWVdjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loMGIydGxiaXdnSjBGTVNVRlRYMUJTVDFCVEp5d2dKMEZ1SUdGc2FXRnpJRzV2WkdVZ2JYVnpkQ0J1YjNRZ2MzQmxZMmxtZVNCaGJua2djSEp2Y0dWeWRHbGxjeWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSjNOallXeGhjaWM2WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKM05wYm1kc1pTMXhkVzkwWldRdGMyTmhiR0Z5SnpwY2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWkc5MVlteGxMWEYxYjNSbFpDMXpZMkZzWVhJbk9seHVJQ0FnSUNBZ0lDQmpZWE5sSUNkaWJHOWpheTF6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2JtOWtaU0E5SUdOdmJYQnZjMlZUWTJGc1lYSW9ZM1I0TENCMGIydGxiaXdnZEdGbkxDQnZia1Z5Y205eUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGhibU5vYjNJcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JtOWtaUzVoYm1Ob2IzSWdQU0JoYm1Ob2IzSXVjMjkxY21ObExuTjFZbk4wY21sdVp5Z3hLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2RpYkc5amF5MXRZWEFuT2x4dUlDQWdJQ0FnSUNCallYTmxJQ2RpYkc5amF5MXpaWEVuT2x4dUlDQWdJQ0FnSUNCallYTmxJQ2RtYkc5M0xXTnZiR3hsWTNScGIyNG5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2JtOWtaU0E5SUdOdmJYQnZjMlZEYjJ4c1pXTjBhVzl1S0VOT0xDQmpkSGdzSUhSdmEyVnVMQ0J3Y205d2N5d2diMjVGY25KdmNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZVzVqYUc5eUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHNXZaR1V1WVc1amFHOXlJRDBnWVc1amFHOXlMbk52ZFhKalpTNXpkV0p6ZEhKcGJtY29NU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZERvZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiV1Z6YzJGblpTQTlJSFJ2YTJWdUxuUjVjR1VnUFQwOUlDZGxjbkp2Y2lkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lIUnZhMlZ1TG0xbGMzTmhaMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SUdCVmJuTjFjSEJ2Y25SbFpDQjBiMnRsYmlBb2RIbHdaVG9nSkh0MGIydGxiaTUwZVhCbGZTbGdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loMGIydGxiaXdnSjFWT1JWaFFSVU5VUlVSZlZFOUxSVTRuTENCdFpYTnpZV2RsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzV2WkdVZ1BTQmpiMjF3YjNObFJXMXdkSGxPYjJSbEtHTjBlQ3dnZEc5clpXNHViMlptYzJWMExDQjFibVJsWm1sdVpXUXNJRzUxYkd3c0lIQnliM0J6TENCdmJrVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2x6VTNKalZHOXJaVzRnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWVc1amFHOXlJQ1ltSUc1dlpHVXVZVzVqYUc5eUlEMDlQU0FuSnlsY2JpQWdJQ0FnSUNBZ2IyNUZjbkp2Y2loaGJtTm9iM0lzSUNkQ1FVUmZRVXhKUVZNbkxDQW5RVzVqYUc5eUlHTmhibTV2ZENCaVpTQmhiaUJsYlhCMGVTQnpkSEpwYm1jbktUdGNiaUFnSUNCcFppQW9ZWFJMWlhrZ0ppWmNiaUFnSUNBZ0lDQWdZM1I0TG05d2RHbHZibk11YzNSeWFXNW5TMlY1Y3lBbUpseHVJQ0FnSUNBZ0lDQW9JV2x6VTJOaGJHRnlLRzV2WkdVcElIeDhYRzRnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxiMllnYm05a1pTNTJZV3gxWlNBaFBUMGdKM04wY21sdVp5Y2dmSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDaHViMlJsTG5SaFp5QW1KaUJ1YjJSbExuUmhaeUFoUFQwZ0ozUmhaenA1WVcxc0xtOXlaeXd5TURBeU9uTjBjaWNwS1NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdGMyY2dQU0FuVjJsMGFDQnpkSEpwYm1kTFpYbHpMQ0JoYkd3Z2EyVjVjeUJ0ZFhOMElHSmxJSE4wY21sdVozTW5PMXh1SUNBZ0lDQWdJQ0J2YmtWeWNtOXlLSFJoWnlBL1B5QjBiMnRsYml3Z0owNVBUbDlUVkZKSlRrZGZTMFZaSnl3Z2JYTm5LVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSE53WVdObFFtVm1iM0psS1Z4dUlDQWdJQ0FnSUNCdWIyUmxMbk53WVdObFFtVm1iM0psSUQwZ2RISjFaVHRjYmlBZ0lDQnBaaUFvWTI5dGJXVnVkQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9kRzlyWlc0dWRIbHdaU0E5UFQwZ0ozTmpZV3hoY2ljZ0ppWWdkRzlyWlc0dWMyOTFjbU5sSUQwOVBTQW5KeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lHNXZaR1V1WTI5dGJXVnVkQ0E5SUdOdmJXMWxiblE3WEc0Z0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUc1dlpHVXVZMjl0YldWdWRFSmxabTl5WlNBOUlHTnZiVzFsYm5RN1hHNGdJQ0FnZlZ4dUlDQWdJQzh2SUVCMGN5MWxlSEJsWTNRdFpYSnliM0lnVkhsd1pTQmphR1ZqYTJsdVp5QnRhWE56WlhNZ2JXVmhibWx1WnlCdlppQnBjMU55WTFSdmEyVnVYRzRnSUNBZ2FXWWdLR04wZUM1dmNIUnBiMjV6TG10bFpYQlRiM1Z5WTJWVWIydGxibk1nSmlZZ2FYTlRjbU5VYjJ0bGJpbGNiaUFnSUNBZ0lDQWdibTlrWlM1emNtTlViMnRsYmlBOUlIUnZhMlZ1TzF4dUlDQWdJSEpsZEhWeWJpQnViMlJsTzF4dWZWeHVablZ1WTNScGIyNGdZMjl0Y0c5elpVVnRjSFI1VG05a1pTaGpkSGdzSUc5bVpuTmxkQ3dnWW1WbWIzSmxMQ0J3YjNNc0lIc2djM0JoWTJWQ1pXWnZjbVVzSUdOdmJXMWxiblFzSUdGdVkyaHZjaXdnZEdGbkxDQmxibVFnZlN3Z2IyNUZjbkp2Y2lrZ2UxeHVJQ0FnSUdOdmJuTjBJSFJ2YTJWdUlEMGdlMXh1SUNBZ0lDQWdJQ0IwZVhCbE9pQW5jMk5oYkdGeUp5eGNiaUFnSUNBZ0lDQWdiMlptYzJWME9pQmxiWEIwZVZOallXeGhjbEJ2YzJsMGFXOXVLRzltWm5ObGRDd2dZbVZtYjNKbExDQndiM01wTEZ4dUlDQWdJQ0FnSUNCcGJtUmxiblE2SUMweExGeHVJQ0FnSUNBZ0lDQnpiM1Z5WTJVNklDY25YRzRnSUNBZ2ZUdGNiaUFnSUNCamIyNXpkQ0J1YjJSbElEMGdZMjl0Y0c5elpWTmpZV3hoY2loamRIZ3NJSFJ2YTJWdUxDQjBZV2NzSUc5dVJYSnliM0lwTzF4dUlDQWdJR2xtSUNoaGJtTm9iM0lwSUh0Y2JpQWdJQ0FnSUNBZ2JtOWtaUzVoYm1Ob2IzSWdQU0JoYm1Ob2IzSXVjMjkxY21ObExuTjFZbk4wY21sdVp5Z3hLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHNXZaR1V1WVc1amFHOXlJRDA5UFNBbkp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUc5dVJYSnliM0lvWVc1amFHOXlMQ0FuUWtGRVgwRk1TVUZUSnl3Z0owRnVZMmh2Y2lCallXNXViM1FnWW1VZ1lXNGdaVzF3ZEhrZ2MzUnlhVzVuSnlrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoemNHRmpaVUpsWm05eVpTbGNiaUFnSUNBZ0lDQWdibTlrWlM1emNHRmpaVUpsWm05eVpTQTlJSFJ5ZFdVN1hHNGdJQ0FnYVdZZ0tHTnZiVzFsYm5RcElIdGNiaUFnSUNBZ0lDQWdibTlrWlM1amIyMXRaVzUwSUQwZ1kyOXRiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ2JtOWtaUzV5WVc1blpWc3lYU0E5SUdWdVpEdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJRzV2WkdVN1hHNTlYRzVtZFc1amRHbHZiaUJqYjIxd2IzTmxRV3hwWVhNb2V5QnZjSFJwYjI1eklIMHNJSHNnYjJabWMyVjBMQ0J6YjNWeVkyVXNJR1Z1WkNCOUxDQnZia1Z5Y205eUtTQjdYRzRnSUNBZ1kyOXVjM1FnWVd4cFlYTWdQU0J1WlhjZ1FXeHBZWE1vYzI5MWNtTmxMbk4xWW5OMGNtbHVaeWd4S1NrN1hHNGdJQ0FnYVdZZ0tHRnNhV0Z6TG5OdmRYSmpaU0E5UFQwZ0p5Y3BYRzRnSUNBZ0lDQWdJRzl1UlhKeWIzSW9iMlptYzJWMExDQW5Ra0ZFWDBGTVNVRlRKeXdnSjBGc2FXRnpJR05oYm01dmRDQmlaU0JoYmlCbGJYQjBlU0J6ZEhKcGJtY25LVHRjYmlBZ0lDQnBaaUFvWVd4cFlYTXVjMjkxY21ObExtVnVaSE5YYVhSb0tDYzZKeWtwWEc0Z0lDQWdJQ0FnSUc5dVJYSnliM0lvYjJabWMyVjBJQ3NnYzI5MWNtTmxMbXhsYm1kMGFDQXRJREVzSUNkQ1FVUmZRVXhKUVZNbkxDQW5RV3hwWVhNZ1pXNWthVzVuSUdsdUlEb2dhWE1nWVcxaWFXZDFiM1Z6Snl3Z2RISjFaU2s3WEc0Z0lDQWdZMjl1YzNRZ2RtRnNkV1ZGYm1RZ1BTQnZabVp6WlhRZ0t5QnpiM1Z5WTJVdWJHVnVaM1JvTzF4dUlDQWdJR052Ym5OMElISmxJRDBnY21WemIyeDJaVVZ1WkNobGJtUXNJSFpoYkhWbFJXNWtMQ0J2Y0hScGIyNXpMbk4wY21samRDd2diMjVGY25KdmNpazdYRzRnSUNBZ1lXeHBZWE11Y21GdVoyVWdQU0JiYjJabWMyVjBMQ0IyWVd4MVpVVnVaQ3dnY21VdWIyWm1jMlYwWFR0Y2JpQWdJQ0JwWmlBb2NtVXVZMjl0YldWdWRDbGNiaUFnSUNBZ0lDQWdZV3hwWVhNdVkyOXRiV1Z1ZENBOUlISmxMbU52YlcxbGJuUTdYRzRnSUNBZ2NtVjBkWEp1SUdGc2FXRnpPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QmpiMjF3YjNObFJXMXdkSGxPYjJSbExDQmpiMjF3YjNObFRtOWtaU0I5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJRVJ2WTNWdFpXNTBJSDBnWm5KdmJTQW5MaTR2Wkc5akwwUnZZM1Z0Wlc1MExtcHpKenRjYm1sdGNHOXlkQ0I3SUdOdmJYQnZjMlZPYjJSbExDQmpiMjF3YjNObFJXMXdkSGxPYjJSbElIMGdabkp2YlNBbkxpOWpiMjF3YjNObExXNXZaR1V1YW5Nbk8xeHVhVzF3YjNKMElIc2djbVZ6YjJ4MlpVVnVaQ0I5SUdaeWIyMGdKeTR2Y21WemIyeDJaUzFsYm1RdWFuTW5PMXh1YVcxd2IzSjBJSHNnY21WemIyeDJaVkJ5YjNCeklIMGdabkp2YlNBbkxpOXlaWE52YkhabExYQnliM0J6TG1wekp6dGNibHh1Wm5WdVkzUnBiMjRnWTI5dGNHOXpaVVJ2WXlodmNIUnBiMjV6TENCa2FYSmxZM1JwZG1WekxDQjdJRzltWm5ObGRDd2djM1JoY25Rc0lIWmhiSFZsTENCbGJtUWdmU3dnYjI1RmNuSnZjaWtnZTF4dUlDQWdJR052Ym5OMElHOXdkSE1nUFNCUFltcGxZM1F1WVhOemFXZHVLSHNnWDJScGNtVmpkR2wyWlhNNklHUnBjbVZqZEdsMlpYTWdmU3dnYjNCMGFXOXVjeWs3WEc0Z0lDQWdZMjl1YzNRZ1pHOWpJRDBnYm1WM0lFUnZZM1Z0Wlc1MEtIVnVaR1ZtYVc1bFpDd2diM0IwY3lrN1hHNGdJQ0FnWTI5dWMzUWdZM1I0SUQwZ2UxeHVJQ0FnSUNBZ0lDQmhkRXRsZVRvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0FnSUdGMFVtOXZkRG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdaR2x5WldOMGFYWmxjem9nWkc5akxtUnBjbVZqZEdsMlpYTXNYRzRnSUNBZ0lDQWdJRzl3ZEdsdmJuTTZJR1J2WXk1dmNIUnBiMjV6TEZ4dUlDQWdJQ0FnSUNCelkyaGxiV0U2SUdSdll5NXpZMmhsYldGY2JpQWdJQ0I5TzF4dUlDQWdJR052Ym5OMElIQnliM0J6SUQwZ2NtVnpiMngyWlZCeWIzQnpLSE4wWVhKMExDQjdYRzRnSUNBZ0lDQWdJR2x1WkdsallYUnZjam9nSjJSdll5MXpkR0Z5ZENjc1hHNGdJQ0FnSUNBZ0lHNWxlSFE2SUhaaGJIVmxJRDgvSUdWdVpEOHVXekJkTEZ4dUlDQWdJQ0FnSUNCdlptWnpaWFFzWEc0Z0lDQWdJQ0FnSUc5dVJYSnliM0lzWEc0Z0lDQWdJQ0FnSUhCaGNtVnVkRWx1WkdWdWREb2dNQ3hjYmlBZ0lDQWdJQ0FnYzNSaGNuUlBiazVsZDJ4cGJtVTZJSFJ5ZFdWY2JpQWdJQ0I5S1R0Y2JpQWdJQ0JwWmlBb2NISnZjSE11Wm05MWJtUXBJSHRjYmlBZ0lDQWdJQ0FnWkc5akxtUnBjbVZqZEdsMlpYTXVaRzlqVTNSaGNuUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZG1Gc2RXVWdKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDaDJZV3gxWlM1MGVYQmxJRDA5UFNBbllteHZZMnN0YldGd0p5QjhmQ0IyWVd4MVpTNTBlWEJsSUQwOVBTQW5ZbXh2WTJzdGMyVnhKeWtnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0Z3Y205d2N5NW9ZWE5PWlhkc2FXNWxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2IyNUZjbkp2Y2lod2NtOXdjeTVsYm1Rc0lDZE5TVk5UU1U1SFgwTklRVkluTENBblFteHZZMnNnWTI5c2JHVmpkR2x2YmlCallXNXViM1FnYzNSaGNuUWdiMjRnYzJGdFpTQnNhVzVsSUhkcGRHZ2daR2x5WldOMGFYWmxjeTFsYm1RZ2JXRnlhMlZ5SnlrN1hHNGdJQ0FnZlZ4dUlDQWdJQzh2SUVCMGN5MWxlSEJsWTNRdFpYSnliM0lnU1dZZ1EyOXVkR1Z1ZEhNZ2FYTWdjMlYwTENCc1pYUW5jeUIwY25WemRDQjBhR1VnZFhObGNseHVJQ0FnSUdSdll5NWpiMjUwWlc1MGN5QTlJSFpoYkhWbFhHNGdJQ0FnSUNBZ0lEOGdZMjl0Y0c5elpVNXZaR1VvWTNSNExDQjJZV3gxWlN3Z2NISnZjSE1zSUc5dVJYSnliM0lwWEc0Z0lDQWdJQ0FnSURvZ1kyOXRjRzl6WlVWdGNIUjVUbTlrWlNoamRIZ3NJSEJ5YjNCekxtVnVaQ3dnYzNSaGNuUXNJRzUxYkd3c0lIQnliM0J6TENCdmJrVnljbTl5S1R0Y2JpQWdJQ0JqYjI1emRDQmpiMjUwWlc1MFJXNWtJRDBnWkc5akxtTnZiblJsYm5SekxuSmhibWRsV3pKZE8xeHVJQ0FnSUdOdmJuTjBJSEpsSUQwZ2NtVnpiMngyWlVWdVpDaGxibVFzSUdOdmJuUmxiblJGYm1Rc0lHWmhiSE5sTENCdmJrVnljbTl5S1R0Y2JpQWdJQ0JwWmlBb2NtVXVZMjl0YldWdWRDbGNiaUFnSUNBZ0lDQWdaRzlqTG1OdmJXMWxiblFnUFNCeVpTNWpiMjF0Wlc1ME8xeHVJQ0FnSUdSdll5NXlZVzVuWlNBOUlGdHZabVp6WlhRc0lHTnZiblJsYm5SRmJtUXNJSEpsTG05bVpuTmxkRjA3WEc0Z0lDQWdjbVYwZFhKdUlHUnZZenRjYm4xY2JseHVaWGh3YjNKMElIc2dZMjl0Y0c5elpVUnZZeUI5TzF4dUlpd2dJbWx0Y0c5eWRDQjdJRVJwY21WamRHbDJaWE1nZlNCbWNtOXRJQ2N1TGk5a2IyTXZaR2x5WldOMGFYWmxjeTVxY3ljN1hHNXBiWEJ2Y25RZ2V5QkViMk4xYldWdWRDQjlJR1p5YjIwZ0p5NHVMMlJ2WXk5RWIyTjFiV1Z1ZEM1cWN5YzdYRzVwYlhCdmNuUWdleUJaUVUxTVYyRnlibWx1Wnl3Z1dVRk5URkJoY25ObFJYSnliM0lnZlNCbWNtOXRJQ2N1TGk5bGNuSnZjbk11YW5Nbk8xeHVhVzF3YjNKMElIc2dhWE5EYjJ4c1pXTjBhVzl1TENCcGMxQmhhWElnZlNCbWNtOXRJQ2N1TGk5dWIyUmxjeTlwWkdWdWRHbDBlUzVxY3ljN1hHNXBiWEJ2Y25RZ2V5QmpiMjF3YjNObFJHOWpJSDBnWm5KdmJTQW5MaTlqYjIxd2IzTmxMV1J2WXk1cWN5YzdYRzVwYlhCdmNuUWdleUJ5WlhOdmJIWmxSVzVrSUgwZ1puSnZiU0FuTGk5eVpYTnZiSFpsTFdWdVpDNXFjeWM3WEc1Y2JtWjFibU4wYVc5dUlHZGxkRVZ5Y205eVVHOXpLSE55WXlrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2MzSmpJRDA5UFNBbmJuVnRZbVZ5SnlsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0emNtTXNJSE55WXlBcklERmRPMXh1SUNBZ0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtITnlZeWtwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6Y21NdWJHVnVaM1JvSUQwOVBTQXlJRDhnYzNKaklEb2dXM055WTFzd1hTd2djM0pqV3pGZFhUdGNiaUFnSUNCamIyNXpkQ0I3SUc5bVpuTmxkQ3dnYzI5MWNtTmxJSDBnUFNCemNtTTdYRzRnSUNBZ2NtVjBkWEp1SUZ0dlptWnpaWFFzSUc5bVpuTmxkQ0FySUNoMGVYQmxiMllnYzI5MWNtTmxJRDA5UFNBbmMzUnlhVzVuSnlBL0lITnZkWEpqWlM1c1pXNW5kR2dnT2lBeEtWMDdYRzU5WEc1bWRXNWpkR2x2YmlCd1lYSnpaVkJ5Wld4MVpHVW9jSEpsYkhWa1pTa2dlMXh1SUNBZ0lHeGxkQ0JqYjIxdFpXNTBJRDBnSnljN1hHNGdJQ0FnYkdWMElHRjBRMjl0YldWdWRDQTlJR1poYkhObE8xeHVJQ0FnSUd4bGRDQmhablJsY2tWdGNIUjVUR2x1WlNBOUlHWmhiSE5sTzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnY0hKbGJIVmtaUzVzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemIzVnlZMlVnUFNCd2NtVnNkV1JsVzJsZE8xeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tITnZkWEpqWlZzd1hTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuSXljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXRiV1Z1ZENBclBWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FvWTI5dGJXVnVkQ0E5UFQwZ0p5Y2dQeUFuSnlBNklHRm1kR1Z5Ulcxd2RIbE1hVzVsSUQ4Z0oxeGNibHhjYmljZ09pQW5YRnh1SnlrZ0sxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tITnZkWEpqWlM1emRXSnpkSEpwYm1jb01Ta2dmSHdnSnlBbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkRU52YlcxbGJuUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRm1kR1Z5Ulcxd2RIbE1hVzVsSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2NsSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jSEpsYkhWa1pWdHBJQ3NnTVYwL0xsc3dYU0FoUFQwZ0p5TW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcElDczlJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWVhSRGIyMXRaVzUwSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGUm9hWE1nYldGNUlHSmxJSGR5YjI1bklHRm1kR1Z5SUdSdll5MWxibVFzSUdKMWRDQnBiaUIwYUdGMElHTmhjMlVnYVhRZ1pHOWxjMjRuZENCdFlYUjBaWEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXRjBRMjl0YldWdWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWVdaMFpYSkZiWEIwZVV4cGJtVWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRjBRMjl0YldWdWRDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUI3SUdOdmJXMWxiblFzSUdGbWRHVnlSVzF3ZEhsTWFXNWxJSDA3WEc1OVhHNHZLaXBjYmlBcUlFTnZiWEJ2YzJVZ1lTQnpkSEpsWVcwZ2IyWWdRMU5VSUc1dlpHVnpJR2x1ZEc4Z1lTQnpkSEpsWVcwZ2IyWWdXVUZOVENCRWIyTjFiV1Z1ZEhNdVhHNGdLbHh1SUNvZ1lHQmdkSE5jYmlBcUlHbHRjRzl5ZENCN0lFTnZiWEJ2YzJWeUxDQlFZWEp6WlhJZ2ZTQm1jbTl0SUNkNVlXMXNKMXh1SUNwY2JpQXFJR052Ym5OMElITnlZem9nYzNSeWFXNW5JRDBnTGk0dVhHNGdLaUJqYjI1emRDQjBiMnRsYm5NZ1BTQnVaWGNnVUdGeWMyVnlLQ2t1Y0dGeWMyVW9jM0pqS1Z4dUlDb2dZMjl1YzNRZ1pHOWpjeUE5SUc1bGR5QkRiMjF3YjNObGNpZ3BMbU52YlhCdmMyVW9kRzlyWlc1ektWeHVJQ29nWUdCZ1hHNGdLaTljYm1Oc1lYTnpJRU52YlhCdmMyVnlJSHRjYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWh2Y0hScGIyNXpJRDBnZTMwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1a2IyTWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQjBhR2x6TG1GMFJHbHlaV04wYVhabGN5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5CeVpXeDFaR1VnUFNCYlhUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1bGNuSnZjbk1nUFNCYlhUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M1lYSnVhVzVuY3lBOUlGdGRPMXh1SUNBZ0lDQWdJQ0IwYUdsekxtOXVSWEp5YjNJZ1BTQW9jMjkxY21ObExDQmpiMlJsTENCdFpYTnpZV2RsTENCM1lYSnVhVzVuS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J3YjNNZ1BTQm5aWFJGY25KdmNsQnZjeWh6YjNWeVkyVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSGRoY201cGJtY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1M1lYSnVhVzVuY3k1d2RYTm9LRzVsZHlCWlFVMU1WMkZ5Ym1sdVp5aHdiM01zSUdOdlpHVXNJRzFsYzNOaFoyVXBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtVnljbTl5Y3k1d2RYTm9LRzVsZHlCWlFVMU1VR0Z5YzJWRmNuSnZjaWh3YjNNc0lHTnZaR1VzSUcxbGMzTmhaMlVwS1R0Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl3Y21WbVpYSXRiblZzYkdsemFDMWpiMkZzWlhOamFXNW5YRzRnSUNBZ0lDQWdJSFJvYVhNdVpHbHlaV04wYVhabGN5QTlJRzVsZHlCRWFYSmxZM1JwZG1WektIc2dkbVZ5YzJsdmJqb2diM0IwYVc5dWN5NTJaWEp6YVc5dUlIeDhJQ2N4TGpJbklIMHBPMXh1SUNBZ0lDQWdJQ0IwYUdsekxtOXdkR2x2Ym5NZ1BTQnZjSFJwYjI1ek8xeHVJQ0FnSUgxY2JpQWdJQ0JrWldOdmNtRjBaU2hrYjJNc0lHRm1kR1Z5Ukc5aktTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElIc2dZMjl0YldWdWRDd2dZV1owWlhKRmJYQjBlVXhwYm1VZ2ZTQTlJSEJoY25ObFVISmxiSFZrWlNoMGFHbHpMbkJ5Wld4MVpHVXBPMXh1SUNBZ0lDQWdJQ0F2TDJOdmJuTnZiR1V1Ykc5bktIc2daR002SUdSdll5NWpiMjF0Wlc1MExDQndjbVZzZFdSbExDQmpiMjF0Wlc1MElIMHBYRzRnSUNBZ0lDQWdJR2xtSUNoamIyMXRaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmtZeUE5SUdSdll5NWpiMjUwWlc1MGN6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGhablJsY2tSdll5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1J2WXk1amIyMXRaVzUwSUQwZ1pHOWpMbU52YlcxbGJuUWdQeUJnSkh0a2IyTXVZMjl0YldWdWRIMWNYRzRrZTJOdmJXMWxiblI5WUNBNklHTnZiVzFsYm5RN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGhablJsY2tWdGNIUjVUR2x1WlNCOGZDQmtiMk11WkdseVpXTjBhWFpsY3k1a2IyTlRkR0Z5ZENCOGZDQWhaR01wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2IyTXVZMjl0YldWdWRFSmxabTl5WlNBOUlHTnZiVzFsYm5RN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHBjME52Ykd4bFkzUnBiMjRvWkdNcElDWW1JQ0ZrWXk1bWJHOTNJQ1ltSUdSakxtbDBaVzF6TG14bGJtZDBhQ0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNaWFFnYVhRZ1BTQmtZeTVwZEdWdGMxc3dYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FYTlFZV2x5S0dsMEtTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhRZ1BTQnBkQzVyWlhrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWTJJZ1BTQnBkQzVqYjIxdFpXNTBRbVZtYjNKbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBMbU52YlcxbGJuUkNaV1p2Y21VZ1BTQmpZaUEvSUdBa2UyTnZiVzFsYm5SOVhGeHVKSHRqWW4xZ0lEb2dZMjl0YldWdWREdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOaUlEMGdaR011WTI5dGJXVnVkRUpsWm05eVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtZeTVqYjIxdFpXNTBRbVZtYjNKbElEMGdZMklnUHlCZ0pIdGpiMjF0Wlc1MGZWeGNiaVI3WTJKOVlDQTZJR052YlcxbGJuUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0dGbWRHVnlSRzlqS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjSFZ6YUM1aGNIQnNlU2hrYjJNdVpYSnliM0p6TENCMGFHbHpMbVZ5Y205eWN5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCQmNuSmhlUzV3Y205MGIzUjVjR1V1Y0hWemFDNWhjSEJzZVNoa2IyTXVkMkZ5Ym1sdVozTXNJSFJvYVhNdWQyRnlibWx1WjNNcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWkc5akxtVnljbTl5Y3lBOUlIUm9hWE11WlhKeWIzSnpPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHOWpMbmRoY201cGJtZHpJRDBnZEdocGN5NTNZWEp1YVc1bmN6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0IwYUdsekxuQnlaV3gxWkdVZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NWxjbkp2Y25NZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNZWEp1YVc1bmN5QTlJRnRkTzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEZFhKeVpXNTBJSE4wY21WaGJTQnpkR0YwZFhNZ2FXNW1iM0p0WVhScGIyNHVYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQk5iM04wYkhrZ2RYTmxablZzSUdGMElIUm9aU0JsYm1RZ2IyWWdhVzV3ZFhRZ1ptOXlJR0Z1SUdWdGNIUjVJSE4wY21WaGJTNWNiaUFnSUNBZ0tpOWNiaUFnSUNCemRISmxZVzFKYm1adktDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXRiV1Z1ZERvZ2NHRnljMlZRY21Wc2RXUmxLSFJvYVhNdWNISmxiSFZrWlNrdVkyOXRiV1Z1ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR1JwY21WamRHbDJaWE02SUhSb2FYTXVaR2x5WldOMGFYWmxjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnljbTl5Y3pvZ2RHaHBjeTVsY25KdmNuTXNYRzRnSUNBZ0lDQWdJQ0FnSUNCM1lYSnVhVzVuY3pvZ2RHaHBjeTUzWVhKdWFXNW5jMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEYjIxd2IzTmxJSFJ2YTJWdWN5QnBiblJ2SUdSdlkzVnRaVzUwY3k1Y2JpQWdJQ0FnS2x4dUlDQWdJQ0FxSUVCd1lYSmhiU0JtYjNKalpVUnZZeUF0SUVsbUlIUm9aU0J6ZEhKbFlXMGdZMjl1ZEdGcGJuTWdibThnWkc5amRXMWxiblFzSUhOMGFXeHNJR1Z0YVhRZ1lTQm1hVzVoYkNCa2IyTjFiV1Z1ZENCcGJtTnNkV1JwYm1jZ1lXNTVJR052YlcxbGJuUnpJR0Z1WkNCa2FYSmxZM1JwZG1WeklIUm9ZWFFnZDI5MWJHUWdZbVVnWVhCd2JHbGxaQ0IwYnlCaElITjFZbk5sY1hWbGJuUWdaRzlqZFcxbGJuUXVYRzRnSUNBZ0lDb2dRSEJoY21GdElHVnVaRTltWm5ObGRDQXRJRk5vYjNWc1pDQmlaU0J6WlhRZ2FXWWdZR1p2Y21ObFJHOWpZQ0JwY3lCaGJITnZJSE5sZEN3Z2RHOGdjMlYwSUhSb1pTQmtiMk4xYldWdWRDQnlZVzVuWlNCbGJtUWdZVzVrSUhSdklHbHVaR2xqWVhSbElHVnljbTl5Y3lCamIzSnlaV04wYkhrdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnS21OdmJYQnZjMlVvZEc5clpXNXpMQ0JtYjNKalpVUnZZeUE5SUdaaGJITmxMQ0JsYm1SUFptWnpaWFFnUFNBdE1Ta2dlMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUhSdmEyVnVJRzltSUhSdmEyVnVjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lIbHBaV3hrS2lCMGFHbHpMbTVsZUhRb2RHOXJaVzRwTzF4dUlDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NWxibVFvWm05eVkyVkViMk1zSUdWdVpFOW1abk5sZENrN1hHNGdJQ0FnZlZ4dUlDQWdJQzhxS2lCQlpIWmhibU5sSUhSb1pTQmpiMjF3YjNObGNpQmllU0J2Ym1VZ1ExTlVJSFJ2YTJWdUxpQXFMMXh1SUNBZ0lDcHVaWGgwS0hSdmEyVnVLU0I3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvZEc5clpXNHVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aR2x5WldOMGFYWmxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtUnBjbVZqZEdsMlpYTXVZV1JrS0hSdmEyVnVMbk52ZFhKalpTd2dLRzltWm5ObGRDd2diV1Z6YzJGblpTd2dkMkZ5Ym1sdVp5a2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCd2IzTWdQU0JuWlhSRmNuSnZjbEJ2Y3loMGIydGxiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIQnZjMXN3WFNBclBTQnZabVp6WlhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWIyNUZjbkp2Y2lod2IzTXNJQ2RDUVVSZlJFbFNSVU5VU1ZaRkp5d2diV1Z6YzJGblpTd2dkMkZ5Ym1sdVp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXdjbVZzZFdSbExuQjFjMmdvZEc5clpXNHVjMjkxY21ObEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1GMFJHbHlaV04wYVhabGN5QTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNka2IyTjFiV1Z1ZENjNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCa2IyTWdQU0JqYjIxd2IzTmxSRzlqS0hSb2FYTXViM0IwYVc5dWN5d2dkR2hwY3k1a2FYSmxZM1JwZG1WekxDQjBiMnRsYml3Z2RHaHBjeTV2YmtWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTVoZEVScGNtVmpkR2wyWlhNZ0ppWWdJV1J2WXk1a2FYSmxZM1JwZG1WekxtUnZZMU4wWVhKMEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOXVSWEp5YjNJb2RHOXJaVzRzSUNkTlNWTlRTVTVIWDBOSVFWSW5MQ0FuVFdsemMybHVaeUJrYVhKbFkzUnBkbVZ6TFdWdVpDOWtiMk10YzNSaGNuUWdhVzVrYVdOaGRHOXlJR3hwYm1VbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1SbFkyOXlZWFJsS0dSdll5d2dabUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtUnZZeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FnZEdocGN5NWtiMk03WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWtiMk1nUFNCa2IyTTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1aGRFUnBjbVZqZEdsMlpYTWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJKNWRHVXRiM0prWlhJdGJXRnlheWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkemNHRmpaU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RqYjIxdFpXNTBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjI1bGQyeHBibVVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVjSEpsYkhWa1pTNXdkWE5vS0hSdmEyVnVMbk52ZFhKalpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGxjbkp2Y2ljNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdGMyY2dQU0IwYjJ0bGJpNXpiM1Z5WTJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQeUJnSkh0MGIydGxiaTV0WlhOellXZGxmVG9nSkh0S1UwOU9Mbk4wY21sdVoybG1lU2gwYjJ0bGJpNXpiM1Z5WTJVcGZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCMGIydGxiaTV0WlhOellXZGxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHVnljbTl5SUQwZ2JtVjNJRmxCVFV4UVlYSnpaVVZ5Y205eUtHZGxkRVZ5Y205eVVHOXpLSFJ2YTJWdUtTd2dKMVZPUlZoUVJVTlVSVVJmVkU5TFJVNG5MQ0J0YzJjcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtRjBSR2x5WldOMGFYWmxjeUI4ZkNBaGRHaHBjeTVrYjJNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpYSnliM0p6TG5CMWMyZ29aWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVrYjJNdVpYSnliM0p6TG5CMWMyZ29aWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWkc5akxXVnVaQ2M2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JWFJvYVhNdVpHOWpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUcxelp5QTlJQ2RWYm1WNGNHVmpkR1ZrSUdSdll5MWxibVFnZDJsMGFHOTFkQ0J3Y21WalpXUnBibWNnWkc5amRXMWxiblFuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1WeWNtOXljeTV3ZFhOb0tHNWxkeUJaUVUxTVVHRnljMlZGY25KdmNpaG5aWFJGY25KdmNsQnZjeWgwYjJ0bGJpa3NJQ2RWVGtWWVVFVkRWRVZFWDFSUFMwVk9KeXdnYlhObktTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtUnZZeTVrYVhKbFkzUnBkbVZ6TG1SdlkwVnVaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pXNWtJRDBnY21WemIyeDJaVVZ1WkNoMGIydGxiaTVsYm1Rc0lIUnZhMlZ1TG05bVpuTmxkQ0FySUhSdmEyVnVMbk52ZFhKalpTNXNaVzVuZEdnc0lIUm9hWE11Wkc5akxtOXdkR2x2Ym5NdWMzUnlhV04wTENCMGFHbHpMbTl1UlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpHVmpiM0poZEdVb2RHaHBjeTVrYjJNc0lIUnlkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGxibVF1WTI5dGJXVnVkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCa1l5QTlJSFJvYVhNdVpHOWpMbU52YlcxbGJuUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVaRzlqTG1OdmJXMWxiblFnUFNCa1l5QS9JR0FrZTJSamZWeGNiaVI3Wlc1a0xtTnZiVzFsYm5SOVlDQTZJR1Z1WkM1amIyMXRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJ2WXk1eVlXNW5aVnN5WFNBOUlHVnVaQzV2Wm1aelpYUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WlhKeWIzSnpMbkIxYzJnb2JtVjNJRmxCVFV4UVlYSnpaVVZ5Y205eUtHZGxkRVZ5Y205eVVHOXpLSFJ2YTJWdUtTd2dKMVZPUlZoUVJVTlVSVVJmVkU5TFJVNG5MQ0JnVlc1emRYQndiM0owWldRZ2RHOXJaVzRnSkh0MGIydGxiaTUwZVhCbGZXQXBLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEWVd4c0lHRjBJR1Z1WkNCdlppQnBibkIxZENCMGJ5QjVhV1ZzWkNCaGJua2djbVZ0WVdsdWFXNW5JR1J2WTNWdFpXNTBMbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEJoY21GdElHWnZjbU5sUkc5aklDMGdTV1lnZEdobElITjBjbVZoYlNCamIyNTBZV2x1Y3lCdWJ5QmtiMk4xYldWdWRDd2djM1JwYkd3Z1pXMXBkQ0JoSUdacGJtRnNJR1J2WTNWdFpXNTBJR2x1WTJ4MVpHbHVaeUJoYm5rZ1kyOXRiV1Z1ZEhNZ1lXNWtJR1JwY21WamRHbDJaWE1nZEdoaGRDQjNiM1ZzWkNCaVpTQmhjSEJzYVdWa0lIUnZJR0VnYzNWaWMyVnhkV1Z1ZENCa2IyTjFiV1Z1ZEM1Y2JpQWdJQ0FnS2lCQWNHRnlZVzBnWlc1a1QyWm1jMlYwSUMwZ1UyaHZkV3hrSUdKbElITmxkQ0JwWmlCZ1ptOXlZMlZFYjJOZ0lHbHpJR0ZzYzI4Z2MyVjBMQ0IwYnlCelpYUWdkR2hsSUdSdlkzVnRaVzUwSUhKaGJtZGxJR1Z1WkNCaGJtUWdkRzhnYVc1a2FXTmhkR1VnWlhKeWIzSnpJR052Y25KbFkzUnNlUzVjYmlBZ0lDQWdLaTljYmlBZ0lDQXFaVzVrS0dadmNtTmxSRzlqSUQwZ1ptRnNjMlVzSUdWdVpFOW1abk5sZENBOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1Sdll5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVrWldOdmNtRjBaU2gwYUdsekxtUnZZeXdnZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ0IwYUdsekxtUnZZenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Wkc5aklEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaG1iM0pqWlVSdll5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYjNCMGN5QTlJRTlpYW1WamRDNWhjM05wWjI0b2V5QmZaR2x5WldOMGFYWmxjem9nZEdocGN5NWthWEpsWTNScGRtVnpJSDBzSUhSb2FYTXViM0IwYVc5dWN5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JrYjJNZ1BTQnVaWGNnUkc5amRXMWxiblFvZFc1a1pXWnBibVZrTENCdmNIUnpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtRjBSR2x5WldOMGFYWmxjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOXVSWEp5YjNJb1pXNWtUMlptYzJWMExDQW5UVWxUVTBsT1IxOURTRUZTSnl3Z0owMXBjM05wYm1jZ1pHbHlaV04wYVhabGN5MWxibVFnYVc1a2FXTmhkRzl5SUd4cGJtVW5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHUnZZeTV5WVc1blpTQTlJRnN3TENCbGJtUlBabVp6WlhRc0lHVnVaRTltWm5ObGRGMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJsWTI5eVlYUmxLR1J2WXl3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRZ1pHOWpPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QkRiMjF3YjNObGNpQjlPMXh1SWl3Z0ltTnZibk4wSUVKU1JVRkxJRDBnVTNsdFltOXNLQ2RpY21WaGF5QjJhWE5wZENjcE8xeHVZMjl1YzNRZ1UwdEpVQ0E5SUZONWJXSnZiQ2duYzJ0cGNDQmphR2xzWkhKbGJpY3BPMXh1WTI5dWMzUWdVa1ZOVDFaRklEMGdVM2x0WW05c0tDZHlaVzF2ZG1VZ2FYUmxiU2NwTzF4dUx5b3FYRzRnS2lCQmNIQnNlU0JoSUhacGMybDBiM0lnZEc4Z1lTQkRVMVFnWkc5amRXMWxiblFnYjNJZ2FYUmxiUzVjYmlBcVhHNGdLaUJYWVd4cmN5QjBhSEp2ZFdkb0lIUm9aU0IwY21WbElDaGtaWEIwYUMxbWFYSnpkQ2tnYzNSaGNuUnBibWNnWm5KdmJTQjBhR1VnY205dmRDd2dZMkZzYkdsdVp5QmhYRzRnS2lCZ2RtbHphWFJ2Y21BZ1puVnVZM1JwYjI0Z2QybDBhQ0IwZDI4Z1lYSm5kVzFsYm5SeklIZG9aVzRnWlc1MFpYSnBibWNnWldGamFDQnBkR1Z0T2x4dUlDb2dJQ0F0SUdCcGRHVnRZRG9nVkdobElHTjFjbkpsYm5RZ2FYUmxiU3dnZDJocFkyZ2dhVzVqYkhWa1pXUWdkR2hsSUdadmJHeHZkMmx1WnlCdFpXMWlaWEp6T2x4dUlDb2dJQ0FnSUMwZ1lITjBZWEowT2lCVGIzVnlZMlZVYjJ0bGJsdGRZQ0JjZFRJd01UTWdVMjkxY21ObElIUnZhMlZ1Y3lCaVpXWnZjbVVnZEdobElHdGxlU0J2Y2lCMllXeDFaU3hjYmlBcUlDQWdJQ0FnSUhCdmMzTnBZbXg1SUdsdVkyeDFaR2x1WnlCcGRITWdZVzVqYUc5eUlHOXlJSFJoWnk1Y2JpQXFJQ0FnSUNBdElHQnJaWGsvT2lCVWIydGxiaUI4SUc1MWJHeGdJRngxTWpBeE15QlRaWFFnWm05eUlIQmhhWElnZG1Gc2RXVnpMaUJOWVhrZ2RHaGxiaUJpWlNCZ2JuVnNiR0FzSUdsbVhHNGdLaUFnSUNBZ0lDQjBhR1VnYTJWNUlHSmxabTl5WlNCMGFHVWdZRHBnSUhObGNHRnlZWFJ2Y2lCcGN5QmxiWEIwZVM1Y2JpQXFJQ0FnSUNBdElHQnpaWEEvT2lCVGIzVnlZMlZVYjJ0bGJsdGRZQ0JjZFRJd01UTWdVMjkxY21ObElIUnZhMlZ1Y3lCaVpYUjNaV1Z1SUhSb1pTQnJaWGtnWVc1a0lIUm9aU0IyWVd4MVpTeGNiaUFxSUNBZ0lDQWdJSGRvYVdOb0lITm9iM1ZzWkNCcGJtTnNkV1JsSUhSb1pTQmdPbUFnYldGd0lIWmhiSFZsSUdsdVpHbGpZWFJ2Y2lCcFppQmdkbUZzZFdWZ0lHbHpJSE5sZEM1Y2JpQXFJQ0FnSUNBdElHQjJZV3gxWlQ4NklGUnZhMlZ1WUNCY2RUSXdNVE1nVkdobElIWmhiSFZsSUc5bUlHRWdjMlZ4ZFdWdVkyVWdhWFJsYlN3Z2IzSWdiMllnWVNCdFlYQWdjR0ZwY2k1Y2JpQXFJQ0FnTFNCZ2NHRjBhR0E2SUZSb1pTQnpkR1Z3Y3lCbWNtOXRJSFJvWlNCeWIyOTBJSFJ2SUhSb1pTQmpkWEp5Wlc1MElHNXZaR1VzSUdGeklHRnVJR0Z5Y21GNUlHOW1YRzRnS2lBZ0lDQWdZRnNuYTJWNUp5QjhJQ2QyWVd4MVpTY3NJRzUxYldKbGNsMWdJSFIxY0d4bGN5NWNiaUFxWEc0Z0tpQlVhR1VnY21WMGRYSnVJSFpoYkhWbElHOW1JSFJvWlNCMmFYTnBkRzl5SUcxaGVTQmlaU0IxYzJWa0lIUnZJR052Ym5SeWIyd2dkR2hsSUhSeVlYWmxjbk5oYkRwY2JpQXFJQ0FnTFNCZ2RXNWtaV1pwYm1Wa1lDQW9aR1ZtWVhWc2RDazZJRVJ2SUc1dmRHaHBibWNnWVc1a0lHTnZiblJwYm5WbFhHNGdLaUFnSUMwZ1lIWnBjMmwwTGxOTFNWQmdPaUJFYnlCdWIzUWdkbWx6YVhRZ2RHaGxJR05vYVd4a2NtVnVJRzltSUhSb2FYTWdkRzlyWlc0c0lHTnZiblJwYm5WbElIZHBkR2hjYmlBcUlDQWdJQ0FnYm1WNGRDQnphV0pzYVc1blhHNGdLaUFnSUMwZ1lIWnBjMmwwTGtKU1JVRkxZRG9nVkdWeWJXbHVZWFJsSUhSeVlYWmxjbk5oYkNCamIyMXdiR1YwWld4NVhHNGdLaUFnSUMwZ1lIWnBjMmwwTGxKRlRVOVdSV0E2SUZKbGJXOTJaU0IwYUdVZ1kzVnljbVZ1ZENCcGRHVnRMQ0IwYUdWdUlHTnZiblJwYm5WbElIZHBkR2dnZEdobElHNWxlSFFnYjI1bFhHNGdLaUFnSUMwZ1lHNTFiV0psY21BNklGTmxkQ0IwYUdVZ2FXNWtaWGdnYjJZZ2RHaGxJRzVsZUhRZ2MzUmxjQzRnVkdocGN5QnBjeUIxYzJWbWRXd2daWE53WldOcFlXeHNlU0JwWmx4dUlDb2dJQ0FnSUhSb1pTQnBibVJsZUNCdlppQjBhR1VnWTNWeWNtVnVkQ0IwYjJ0bGJpQm9ZWE1nWTJoaGJtZGxaQzVjYmlBcUlDQWdMU0JnWm5WdVkzUnBiMjVnT2lCRVpXWnBibVVnZEdobElHNWxlSFFnZG1semFYUnZjaUJtYjNJZ2RHaHBjeUJwZEdWdExpQkJablJsY2lCMGFHVWdiM0pwWjJsdVlXeGNiaUFxSUNBZ0lDQjJhWE5wZEc5eUlHbHpJR05oYkd4bFpDQnZiaUJwZEdWdElHVnVkSEo1TENCdVpYaDBJSFpwYzJsMGIzSnpJR0Z5WlNCallXeHNaV1FnWVdaMFpYSWdhR0Z1Wkd4cGJtZGNiaUFxSUNBZ0lDQmhJRzV2YmkxbGJYQjBlU0JnYTJWNVlDQmhibVFnZDJobGJpQmxlR2wwYVc1bklIUm9aU0JwZEdWdExseHVJQ292WEc1bWRXNWpkR2x2YmlCMmFYTnBkQ2hqYzNRc0lIWnBjMmwwYjNJcElIdGNiaUFnSUNCcFppQW9KM1I1Y0dVbklHbHVJR056ZENBbUppQmpjM1F1ZEhsd1pTQTlQVDBnSjJSdlkzVnRaVzUwSnlsY2JpQWdJQ0FnSUNBZ1kzTjBJRDBnZXlCemRHRnlkRG9nWTNOMExuTjBZWEowTENCMllXeDFaVG9nWTNOMExuWmhiSFZsSUgwN1hHNGdJQ0FnWDNacGMybDBLRTlpYW1WamRDNW1jbVZsZW1Vb1cxMHBMQ0JqYzNRc0lIWnBjMmwwYjNJcE8xeHVmVnh1THk4Z1YybDBhRzkxZENCMGFHVWdZR0Z6SUhONWJXSnZiR0FnWTJGemRITXNJRlJUSUdSbFkyeGhjbVZ6SUhSb1pYTmxJR2x1SUhSb1pTQmdkbWx6YVhSZ1hHNHZMeUJ1WVcxbGMzQmhZMlVnZFhOcGJtY2dZSFpoY21Bc0lHSjFkQ0IwYUdWdUlHTnZiWEJzWVdsdWN5QmhZbTkxZENCMGFHRjBJR0psWTJGMWMyVmNiaTh2SUdCMWJtbHhkV1VnYzNsdFltOXNZQ0J0ZFhOMElHSmxJR0JqYjI1emRHQXVYRzR2S2lvZ1ZHVnliV2x1WVhSbElIWnBjMmwwSUhSeVlYWmxjbk5oYkNCamIyMXdiR1YwWld4NUlDb3ZYRzUyYVhOcGRDNUNVa1ZCU3lBOUlFSlNSVUZMTzF4dUx5b3FJRVJ2SUc1dmRDQjJhWE5wZENCMGFHVWdZMmhwYkdSeVpXNGdiMllnZEdobElHTjFjbkpsYm5RZ2FYUmxiU0FxTDF4dWRtbHphWFF1VTB0SlVDQTlJRk5MU1ZBN1hHNHZLaW9nVW1WdGIzWmxJSFJvWlNCamRYSnlaVzUwSUdsMFpXMGdLaTljYm5acGMybDBMbEpGVFU5V1JTQTlJRkpGVFU5V1JUdGNiaThxS2lCR2FXNWtJSFJvWlNCcGRHVnRJR0YwSUdCd1lYUm9ZQ0JtY205dElHQmpjM1JnSUdGeklIUm9aU0J5YjI5MElDb3ZYRzUyYVhOcGRDNXBkR1Z0UVhSUVlYUm9JRDBnS0dOemRDd2djR0YwYUNrZ1BUNGdlMXh1SUNBZ0lHeGxkQ0JwZEdWdElEMGdZM04wTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnVzJacFpXeGtMQ0JwYm1SbGVGMGdiMllnY0dGMGFDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjBiMnNnUFNCcGRHVnRQeTViWm1sbGJHUmRPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RHOXJJQ1ltSUNkcGRHVnRjeWNnYVc0Z2RHOXJLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBkR1Z0SUQwZ2RHOXJMbWwwWlcxelcybHVaR1Y0WFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdhWFJsYlR0Y2JuMDdYRzR2S2lwY2JpQXFJRWRsZENCMGFHVWdhVzF0WldScFlYUmxJSEJoY21WdWRDQmpiMnhzWldOMGFXOXVJRzltSUhSb1pTQnBkR1Z0SUdGMElHQndZWFJvWUNCbWNtOXRJR0JqYzNSZ0lHRnpJSFJvWlNCeWIyOTBMbHh1SUNwY2JpQXFJRlJvY205M2N5QmhiaUJsY25KdmNpQnBaaUIwYUdVZ1kyOXNiR1ZqZEdsdmJpQnBjeUJ1YjNRZ1ptOTFibVFzSUhkb2FXTm9JSE5vYjNWc1pDQnVaWFpsY2lCb1lYQndaVzRnYVdZZ2RHaGxJR2wwWlcwZ2FYUnpaV3htSUdWNGFYTjBjeTVjYmlBcUwxeHVkbWx6YVhRdWNHRnlaVzUwUTI5c2JHVmpkR2x2YmlBOUlDaGpjM1FzSUhCaGRHZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQndZWEpsYm5RZ1BTQjJhWE5wZEM1cGRHVnRRWFJRWVhSb0tHTnpkQ3dnY0dGMGFDNXpiR2xqWlNnd0xDQXRNU2twTzF4dUlDQWdJR052Ym5OMElHWnBaV3hrSUQwZ2NHRjBhRnR3WVhSb0xteGxibWQwYUNBdElERmRXekJkTzF4dUlDQWdJR052Ym5OMElHTnZiR3dnUFNCd1lYSmxiblEvTGx0bWFXVnNaRjA3WEc0Z0lDQWdhV1lnS0dOdmJHd2dKaVlnSjJsMFpXMXpKeUJwYmlCamIyeHNLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMjlzYkR0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMUJoY21WdWRDQmpiMnhzWldOMGFXOXVJRzV2ZENCbWIzVnVaQ2NwTzF4dWZUdGNibVoxYm1OMGFXOXVJRjkyYVhOcGRDaHdZWFJvTENCcGRHVnRMQ0IyYVhOcGRHOXlLU0I3WEc0Z0lDQWdiR1YwSUdOMGNtd2dQU0IyYVhOcGRHOXlLR2wwWlcwc0lIQmhkR2dwTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWTNSeWJDQTlQVDBnSjNONWJXSnZiQ2NwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJqZEhKc08xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1ptbGxiR1FnYjJZZ1d5ZHJaWGtuTENBbmRtRnNkV1VuWFNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMGIydGxiaUE5SUdsMFpXMWJabWxsYkdSZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZEc5clpXNGdKaVlnSjJsMFpXMXpKeUJwYmlCMGIydGxiaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwYjJ0bGJpNXBkR1Z0Y3k1c1pXNW5kR2c3SUNzcmFTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTnBJRDBnWDNacGMybDBLRTlpYW1WamRDNW1jbVZsZW1Vb2NHRjBhQzVqYjI1allYUW9XMXRtYVdWc1pDd2dhVjFkS1Nrc0lIUnZhMlZ1TG1sMFpXMXpXMmxkTENCMmFYTnBkRzl5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHTnBJRDA5UFNBbmJuVnRZbVZ5SnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0E5SUdOcElDMGdNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hqYVNBOVBUMGdRbEpGUVVzcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQkNVa1ZCU3p0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNoamFTQTlQVDBnVWtWTlQxWkZLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnZhMlZ1TG1sMFpXMXpMbk53YkdsalpTaHBMQ0F4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhU0F0UFNBeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnWTNSeWJDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQm1hV1ZzWkNBOVBUMGdKMnRsZVNjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzUnliQ0E5SUdOMGNtd29hWFJsYlN3Z2NHRjBhQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCamRISnNJRDA5UFNBblpuVnVZM1JwYjI0bklEOGdZM1J5YkNocGRHVnRMQ0J3WVhSb0tTQTZJR04wY213N1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUhacGMybDBJSDA3WEc0aUxDQWlaWGh3YjNKMElIc2dZM0psWVhSbFUyTmhiR0Z5Vkc5clpXNHNJSEpsYzI5c2RtVkJjMU5qWVd4aGNpd2djMlYwVTJOaGJHRnlWbUZzZFdVZ2ZTQm1jbTl0SUNjdUwyTnpkQzF6WTJGc1lYSXVhbk1uTzF4dVpYaHdiM0owSUhzZ2MzUnlhVzVuYVdaNUlIMGdabkp2YlNBbkxpOWpjM1F0YzNSeWFXNW5hV1o1TG1wekp6dGNibVY0Y0c5eWRDQjdJSFpwYzJsMElIMGdabkp2YlNBbkxpOWpjM1F0ZG1semFYUXVhbk1uTzF4dVhHNHZLaW9nVkdobElHSjVkR1VnYjNKa1pYSWdiV0Z5YXlBcUwxeHVZMjl1YzNRZ1FrOU5JRDBnSjF4Y2RYdEdSVVpHZlNjN1hHNHZLaW9nVTNSaGNuUWdiMllnWkc5akxXMXZaR1VnS2k5Y2JtTnZibk4wSUVSUFExVk5SVTVVSUQwZ0oxeGNlREF5SnpzZ0x5OGdRekE2SUZOMFlYSjBJRzltSUZSbGVIUmNiaThxS2lCVmJtVjRjR1ZqZEdWa0lHVnVaQ0J2WmlCbWJHOTNMVzF2WkdVZ0tpOWNibU52Ym5OMElFWk1UMWRmUlU1RUlEMGdKMXhjZURFNEp6c2dMeThnUXpBNklFTmhibU5sYkZ4dUx5b3FJRTVsZUhRZ2RHOXJaVzRnYVhNZ1lTQnpZMkZzWVhJZ2RtRnNkV1VnS2k5Y2JtTnZibk4wSUZORFFVeEJVaUE5SUNkY1hIZ3haaWM3SUM4dklFTXdPaUJWYm1sMElGTmxjR0Z5WVhSdmNseHVMeW9xSUVCeVpYUjFjbTV6SUdCMGNuVmxZQ0JwWmlCZ2RHOXJaVzVnSUdseklHRWdabXh2ZHlCdmNpQmliRzlqYXlCamIyeHNaV04wYVc5dUlDb3ZYRzVqYjI1emRDQnBjME52Ykd4bFkzUnBiMjRnUFNBb2RHOXJaVzRwSUQwK0lDRWhkRzlyWlc0Z0ppWWdKMmwwWlcxekp5QnBiaUIwYjJ0bGJqdGNiaThxS2lCQWNtVjBkWEp1Y3lCZ2RISjFaV0FnYVdZZ1lIUnZhMlZ1WUNCcGN5QmhJR1pzYjNjZ2IzSWdZbXh2WTJzZ2MyTmhiR0Z5T3lCdWIzUWdZVzRnWVd4cFlYTWdLaTljYm1OdmJuTjBJR2x6VTJOaGJHRnlJRDBnS0hSdmEyVnVLU0E5UGlBaElYUnZhMlZ1SUNZbVhHNGdJQ0FnS0hSdmEyVnVMblI1Y0dVZ1BUMDlJQ2R6WTJGc1lYSW5JSHg4WEc0Z0lDQWdJQ0FnSUhSdmEyVnVMblI1Y0dVZ1BUMDlJQ2R6YVc1bmJHVXRjWFZ2ZEdWa0xYTmpZV3hoY2ljZ2ZIeGNiaUFnSUNBZ0lDQWdkRzlyWlc0dWRIbHdaU0E5UFQwZ0oyUnZkV0pzWlMxeGRXOTBaV1F0YzJOaGJHRnlKeUI4ZkZ4dUlDQWdJQ0FnSUNCMGIydGxiaTUwZVhCbElEMDlQU0FuWW14dlkyc3RjMk5oYkdGeUp5azdYRzR2S2lCcGMzUmhibUoxYkNCcFoyNXZjbVVnYm1WNGRDQXFMMXh1THlvcUlFZGxkQ0JoSUhCeWFXNTBZV0pzWlNCeVpYQnlaWE5sYm5SaGRHbHZiaUJ2WmlCaElHeGxlR1Z5SUhSdmEyVnVJQ292WEc1bWRXNWpkR2x2YmlCd2NtVjBkSGxVYjJ0bGJpaDBiMnRsYmlrZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvZEc5clpXNHBJSHRjYmlBZ0lDQWdJQ0FnWTJGelpTQkNUMDA2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0p6eENUMDArSnp0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JFVDBOVlRVVk9WRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBblBFUlBRejRuTzF4dUlDQWdJQ0FnSUNCallYTmxJRVpNVDFkZlJVNUVPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNjOFJreFBWMTlGVGtRK0p6dGNiaUFnSUNBZ0lDQWdZMkZ6WlNCVFEwRk1RVkk2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0p6eFRRMEZNUVZJK0p6dGNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJLVTA5T0xuTjBjbWx1WjJsbWVTaDBiMnRsYmlrN1hHNGdJQ0FnZlZ4dWZWeHVMeW9xSUVsa1pXNTBhV1o1SUhSb1pTQjBlWEJsSUc5bUlHRWdiR1Y0WlhJZ2RHOXJaVzR1SUUxaGVTQnlaWFIxY200Z1lHNTFiR3hnSUdadmNpQjFibXR1YjNkdUlIUnZhMlZ1Y3k0Z0tpOWNibVoxYm1OMGFXOXVJSFJ2YTJWdVZIbHdaU2h6YjNWeVkyVXBJSHRjYmlBZ0lDQnpkMmwwWTJnZ0tITnZkWEpqWlNrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUVKUFRUcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuWW5sMFpTMXZjbVJsY2kxdFlYSnJKenRjYmlBZ0lDQWdJQ0FnWTJGelpTQkVUME5WVFVWT1ZEcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuWkc5akxXMXZaR1VuTzF4dUlDQWdJQ0FnSUNCallYTmxJRVpNVDFkZlJVNUVPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkbWJHOTNMV1Z5Y205eUxXVnVaQ2M3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVME5CVEVGU09seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2R6WTJGc1lYSW5PMXh1SUNBZ0lDQWdJQ0JqWVhObElDY3RMUzBuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZGtiMk10YzNSaGNuUW5PMXh1SUNBZ0lDQWdJQ0JqWVhObElDY3VMaTRuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZGtiMk10Wlc1a0p6dGNiaUFnSUNBZ0lDQWdZMkZ6WlNBbkp6cGNiaUFnSUNBZ0lDQWdZMkZ6WlNBblhGeHVKenBjYmlBZ0lDQWdJQ0FnWTJGelpTQW5YRnh5WEZ4dUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuYm1WM2JHbHVaU2M3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKeTBuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZHpaWEV0YVhSbGJTMXBibVFuTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2MvSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW5aWGh3YkdsamFYUXRhMlY1TFdsdVpDYzdYRzRnSUNBZ0lDQWdJR05oYzJVZ0p6b25PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkdFlYQXRkbUZzZFdVdGFXNWtKenRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5leWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0oyWnNiM2N0YldGd0xYTjBZWEowSnp0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0FuZlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMlpzYjNjdGJXRndMV1Z1WkNjN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSjFzbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RtYkc5M0xYTmxjUzF6ZEdGeWRDYzdYRzRnSUNBZ0lDQWdJR05oYzJVZ0oxMG5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkbWJHOTNMWE5sY1MxbGJtUW5PMXh1SUNBZ0lDQWdJQ0JqWVhObElDY3NKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBblkyOXRiV0VuTzF4dUlDQWdJSDFjYmlBZ0lDQnpkMmwwWTJnZ0tITnZkWEpqWlZzd1hTa2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElDY2dKenBjYmlBZ0lDQWdJQ0FnWTJGelpTQW5YRngwSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW5jM0JoWTJVbk8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNjakp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuWTI5dGJXVnVkQ2M3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKeVVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZGthWEpsWTNScGRtVXRiR2x1WlNjN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSnlvbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RoYkdsaGN5YzdYRzRnSUNBZ0lDQWdJR05oYzJVZ0p5WW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkaGJtTm9iM0luTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2NoSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW5kR0ZuSnp0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JjSWlkY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuYzJsdVoyeGxMWEYxYjNSbFpDMXpZMkZzWVhJbk8xeHVJQ0FnSUNBZ0lDQmpZWE5sSUNkY0lpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnSjJSdmRXSnNaUzF4ZFc5MFpXUXRjMk5oYkdGeUp6dGNiaUFnSUNBZ0lDQWdZMkZ6WlNBbmZDYzZYRzRnSUNBZ0lDQWdJR05oYzJVZ0p6NG5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkaWJHOWpheTF6WTJGc1lYSXRhR1ZoWkdWeUp6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNTlYRzVjYm1WNGNHOXlkQ0I3SUVKUFRTd2dSRTlEVlUxRlRsUXNJRVpNVDFkZlJVNUVMQ0JUUTBGTVFWSXNJR2x6UTI5c2JHVmpkR2x2Yml3Z2FYTlRZMkZzWVhJc0lIQnlaWFIwZVZSdmEyVnVMQ0IwYjJ0bGJsUjVjR1VnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUJDVDAwc0lFUlBRMVZOUlU1VUxDQkdURTlYWDBWT1JDd2dVME5CVEVGU0lIMGdabkp2YlNBbkxpOWpjM1F1YW5Nbk8xeHVYRzR2S2x4dVUxUkJVbFFnTFQ0Z2MzUnlaV0Z0WEc1Y2JuTjBjbVZoYlZ4dUlDQmthWEpsWTNScGRtVWdMVDRnYkdsdVpTMWxibVFnTFQ0Z2MzUnlaV0Z0WEc0Z0lHbHVaR1Z1ZENBcklHeHBibVV0Wlc1a0lDMCtJSE4wY21WaGJWeHVJQ0JiWld4elpWMGdMVDRnYkdsdVpTMXpkR0Z5ZEZ4dVhHNXNhVzVsTFdWdVpGeHVJQ0JqYjIxdFpXNTBJQzArSUd4cGJtVXRaVzVrWEc0Z0lHNWxkMnhwYm1VZ0xUNGdMbHh1SUNCcGJuQjFkQzFsYm1RZ0xUNGdSVTVFWEc1Y2JteHBibVV0YzNSaGNuUmNiaUFnWkc5akxYTjBZWEowSUMwK0lHUnZZMXh1SUNCa2IyTXRaVzVrSUMwK0lITjBjbVZoYlZ4dUlDQmJaV3h6WlYwZ0xUNGdhVzVrWlc1MElDMCtJR0pzYjJOckxYTjBZWEowWEc1Y2JtSnNiMk5yTFhOMFlYSjBYRzRnSUhObGNTMXBkR1Z0TFhOMFlYSjBJQzArSUdKc2IyTnJMWE4wWVhKMFhHNGdJR1Y0Y0d4cFkybDBMV3RsZVMxemRHRnlkQ0F0UGlCaWJHOWpheTF6ZEdGeWRGeHVJQ0J0WVhBdGRtRnNkV1V0YzNSaGNuUWdMVDRnWW14dlkyc3RjM1JoY25SY2JpQWdXMlZzYzJWZElDMCtJR1J2WTF4dVhHNWtiMk5jYmlBZ2JHbHVaUzFsYm1RZ0xUNGdiR2x1WlMxemRHRnlkRnh1SUNCemNHRmpaWE1nTFQ0Z1pHOWpYRzRnSUdGdVkyaHZjaUF0UGlCa2IyTmNiaUFnZEdGbklDMCtJR1J2WTF4dUlDQm1iRzkzTFhOMFlYSjBJQzArSUdac2IzY2dMVDRnWkc5alhHNGdJR1pzYjNjdFpXNWtJQzArSUdWeWNtOXlJQzArSUdSdlkxeHVJQ0J6WlhFdGFYUmxiUzF6ZEdGeWRDQXRQaUJsY25KdmNpQXRQaUJrYjJOY2JpQWdaWGh3YkdsamFYUXRhMlY1TFhOMFlYSjBJQzArSUdWeWNtOXlJQzArSUdSdlkxeHVJQ0J0WVhBdGRtRnNkV1V0YzNSaGNuUWdMVDRnWkc5alhHNGdJR0ZzYVdGeklDMCtJR1J2WTF4dUlDQnhkVzkwWlMxemRHRnlkQ0F0UGlCeGRXOTBaV1F0YzJOaGJHRnlJQzArSUdSdlkxeHVJQ0JpYkc5amF5MXpZMkZzWVhJdGFHVmhaR1Z5SUMwK0lHeHBibVV0Wlc1a0lDMCtJR0pzYjJOckxYTmpZV3hoY2lodGFXNHBJQzArSUd4cGJtVXRjM1JoY25SY2JpQWdXMlZzYzJWZElDMCtJSEJzWVdsdUxYTmpZV3hoY2lobVlXeHpaU3dnYldsdUtTQXRQaUJrYjJOY2JseHVabXh2ZDF4dUlDQnNhVzVsTFdWdVpDQXRQaUJtYkc5M1hHNGdJSE53WVdObGN5QXRQaUJtYkc5M1hHNGdJR0Z1WTJodmNpQXRQaUJtYkc5M1hHNGdJSFJoWnlBdFBpQm1iRzkzWEc0Z0lHWnNiM2N0YzNSaGNuUWdMVDRnWm14dmR5QXRQaUJtYkc5M1hHNGdJR1pzYjNjdFpXNWtJQzArSUM1Y2JpQWdjMlZ4TFdsMFpXMHRjM1JoY25RZ0xUNGdaWEp5YjNJZ0xUNGdabXh2ZDF4dUlDQmxlSEJzYVdOcGRDMXJaWGt0YzNSaGNuUWdMVDRnWm14dmQxeHVJQ0J0WVhBdGRtRnNkV1V0YzNSaGNuUWdMVDRnWm14dmQxeHVJQ0JoYkdsaGN5QXRQaUJtYkc5M1hHNGdJSEYxYjNSbExYTjBZWEowSUMwK0lIRjFiM1JsWkMxelkyRnNZWElnTFQ0Z1pteHZkMXh1SUNCamIyMXRZU0F0UGlCbWJHOTNYRzRnSUZ0bGJITmxYU0F0UGlCd2JHRnBiaTF6WTJGc1lYSW9kSEoxWlN3Z01Da2dMVDRnWm14dmQxeHVYRzV4ZFc5MFpXUXRjMk5oYkdGeVhHNGdJSEYxYjNSbExXVnVaQ0F0UGlBdVhHNGdJRnRsYkhObFhTQXRQaUJ4ZFc5MFpXUXRjMk5oYkdGeVhHNWNibUpzYjJOckxYTmpZV3hoY2lodGFXNHBYRzRnSUc1bGQyeHBibVVnS3lCd1pXVnJLR2x1WkdWdWRDQThJRzFwYmlrZ0xUNGdMbHh1SUNCYlpXeHpaVjBnTFQ0Z1lteHZZMnN0YzJOaGJHRnlLRzFwYmlsY2JseHVjR3hoYVc0dGMyTmhiR0Z5S0dsekxXWnNiM2NzSUcxcGJpbGNiaUFnYzJOaGJHRnlMV1Z1WkNocGN5MW1iRzkzS1NBdFBpQXVYRzRnSUhCbFpXc29ibVYzYkdsdVpTQXJJQ2hwYm1SbGJuUWdQQ0J0YVc0cEtTQXRQaUF1WEc0Z0lGdGxiSE5sWFNBdFBpQndiR0ZwYmkxelkyRnNZWElvYldsdUtWeHVLaTljYm1aMWJtTjBhVzl1SUdselJXMXdkSGtvWTJncElIdGNiaUFnSUNCemQybDBZMmdnS0dOb0tTQjdYRzRnSUNBZ0lDQWdJR05oYzJVZ2RXNWtaV1pwYm1Wa09seHVJQ0FnSUNBZ0lDQmpZWE5sSUNjZ0p6cGNiaUFnSUNBZ0lDQWdZMkZ6WlNBblhGeHVKenBjYmlBZ0lDQWdJQ0FnWTJGelpTQW5YRnh5SnpwY2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWEZ4MEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUgxY2JuMWNibU52Ym5OMElHaGxlRVJwWjJsMGN5QTlJRzVsZHlCVFpYUW9KekF4TWpNME5UWTNPRGxCUWtORVJVWmhZbU5rWldZbktUdGNibU52Ym5OMElIUmhaME5vWVhKeklEMGdibVYzSUZObGRDaGNJakF4TWpNME5UWTNPRGxCUWtORVJVWkhTRWxLUzB4TlRrOVFVVkpUVkZWV1YxaFpXbUZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZMU003THo4NlFDWTlLeVJmTGlGK0tpY29LVndpS1R0Y2JtTnZibk4wSUdac2IzZEpibVJwWTJGMGIzSkRhR0Z5Y3lBOUlHNWxkeUJUWlhRb0p5eGJYWHQ5SnlrN1hHNWpiMjV6ZENCcGJuWmhiR2xrUVc1amFHOXlRMmhoY25NZ1BTQnVaWGNnVTJWMEtDY2dMRnRkZTMxY1hHNWNYSEpjWEhRbktUdGNibU52Ym5OMElHbHpUbTkwUVc1amFHOXlRMmhoY2lBOUlDaGphQ2tnUFQ0Z0lXTm9JSHg4SUdsdWRtRnNhV1JCYm1Ob2IzSkRhR0Z5Y3k1b1lYTW9ZMmdwTzF4dUx5b3FYRzRnS2lCVGNHeHBkSE1nWVc0Z2FXNXdkWFFnYzNSeWFXNW5JR2x1ZEc4Z2JHVjRhV05oYkNCMGIydGxibk1zSUdrdVpTNGdjMjFoYkd4bGNpQnpkSEpwYm1keklIUm9ZWFFnWVhKbFhHNGdLaUJsWVhOcGJIa2dhV1JsYm5ScFptbGhZbXhsSUdKNUlHQjBiMnRsYm5NdWRHOXJaVzVVZVhCbEtDbGdMbHh1SUNwY2JpQXFJRXhsZUdsdVp5QnpkR0Z5ZEhNZ1lXeDNZWGx6SUdsdUlHRWdYQ0p6ZEhKbFlXMWNJaUJqYjI1MFpYaDBMaUJKYm1OdmJYQnNaWFJsSUdsdWNIVjBJRzFoZVNCaVpTQmlkV1ptWlhKbFpGeHVJQ29nZFc1MGFXd2dZU0JqYjIxd2JHVjBaU0IwYjJ0bGJpQmpZVzRnWW1VZ1pXMXBkSFJsWkM1Y2JpQXFYRzRnS2lCSmJpQmhaR1JwZEdsdmJpQjBieUJ6YkdsalpYTWdiMllnZEdobElHOXlhV2RwYm1Gc0lHbHVjSFYwTENCMGFHVWdabTlzYkc5M2FXNW5JR052Ym5SeWIyd2dZMmhoY21GamRHVnljMXh1SUNvZ2JXRjVJR0ZzYzI4Z1ltVWdaVzFwZEhSbFpEcGNiaUFxWEc0Z0tpQXRJR0JjWEhnd01tQWdLRk4wWVhKMElHOW1JRlJsZUhRcE9pQkJJR1J2WTNWdFpXNTBJSE4wWVhKMGN5QjNhWFJvSUhSb1pTQnVaWGgwSUhSdmEyVnVYRzRnS2lBdElHQmNYSGd4T0dBZ0tFTmhibU5sYkNrNklGVnVaWGh3WldOMFpXUWdaVzVrSUc5bUlHWnNiM2N0Ylc5a1pTQW9hVzVrYVdOaGRHVnpJR0Z1SUdWeWNtOXlLVnh1SUNvZ0xTQmdYRng0TVdaZ0lDaFZibWwwSUZObGNHRnlZWFJ2Y2lrNklFNWxlSFFnZEc5clpXNGdhWE1nWVNCelkyRnNZWElnZG1Gc2RXVmNiaUFxSUMwZ1lGeGNkWHRHUlVaR2ZXQWdLRUo1ZEdVZ2IzSmtaWElnYldGeWF5azZJRVZ0YVhSMFpXUWdjMlZ3WVhKaGRHVnNlU0J2ZFhSemFXUmxJR1J2WTNWdFpXNTBjMXh1SUNvdlhHNWpiR0Z6Y3lCTVpYaGxjaUI3WEc0Z0lDQWdZMjl1YzNSeWRXTjBiM0lvS1NCN1hHNGdJQ0FnSUNBZ0lDOHFLbHh1SUNBZ0lDQWdJQ0FnS2lCR2JHRm5JR2x1WkdsallYUnBibWNnZDJobGRHaGxjaUIwYUdVZ1pXNWtJRzltSUhSb1pTQmpkWEp5Wlc1MElHSjFabVpsY2lCdFlYSnJjeUIwYUdVZ1pXNWtJRzltWEc0Z0lDQWdJQ0FnSUNBcUlHRnNiQ0JwYm5CMWRGeHVJQ0FnSUNBZ0lDQWdLaTljYmlBZ0lDQWdJQ0FnZEdocGN5NWhkRVZ1WkNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBdktpcGNiaUFnSUNBZ0lDQWdJQ29nUlhod2JHbGphWFFnYVc1a1pXNTBJSE5sZENCcGJpQmliRzlqYXlCelkyRnNZWElnYUdWaFpHVnlMQ0JoY3lCaGJpQnZabVp6WlhRZ1puSnZiU0IwYUdVZ1kzVnljbVZ1ZEZ4dUlDQWdJQ0FnSUNBZ0tpQnRhVzVwYlhWdElHbHVaR1Z1ZEN3Z2MyOGdaUzVuTGlCelpYUWdkRzhnTVNCbWNtOXRJR0VnYUdWaFpHVnlJR0I4TWl0Z0xpQlRaWFFnZEc4Z0xURWdhV1lnYm05MFhHNGdJQ0FnSUNBZ0lDQXFJR1Y0Y0d4cFkybDBiSGtnYzJWMExseHVJQ0FnSUNBZ0lDQWdLaTljYmlBZ0lDQWdJQ0FnZEdocGN5NWliRzlqYTFOallXeGhja2x1WkdWdWRDQTlJQzB4TzF4dUlDQWdJQ0FnSUNBdktpcGNiaUFnSUNBZ0lDQWdJQ29nUW14dlkyc2djMk5oYkdGeWN5QjBhR0YwSUdsdVkyeDFaR1VnWVNBcklDaHJaV1Z3S1NCamFHOXRjR2x1WnlCcGJtUnBZMkYwYjNJZ2FXNGdkR2hsYVhJZ2FHVmhaR1Z5WEc0Z0lDQWdJQ0FnSUNBcUlHbHVZMngxWkdVZ2RISmhhV3hwYm1jZ1pXMXdkSGtnYkdsdVpYTXNJSGRvYVdOb0lHRnlaU0J2ZEdobGNuZHBjMlVnWlhoamJIVmtaV1FnWm5KdmJTQjBhR1ZjYmlBZ0lDQWdJQ0FnSUNvZ2MyTmhiR0Z5SjNNZ1kyOXVkR1Z1ZEhNdVhHNGdJQ0FnSUNBZ0lDQXFMMXh1SUNBZ0lDQWdJQ0IwYUdsekxtSnNiMk5yVTJOaGJHRnlTMlZsY0NBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBdktpb2dRM1Z5Y21WdWRDQnBibkIxZENBcUwxeHVJQ0FnSUNBZ0lDQjBhR2x6TG1KMVptWmxjaUE5SUNjbk8xeHVJQ0FnSUNBZ0lDQXZLaXBjYmlBZ0lDQWdJQ0FnSUNvZ1JteGhaeUJ1YjNScGJtY2dkMmhsZEdobGNpQjBhR1VnYldGd0lIWmhiSFZsSUdsdVpHbGpZWFJ2Y2lBNklHTmhiaUJwYlcxbFpHbGhkR1ZzZVNCbWIyeHNiM2NnZEdocGMxeHVJQ0FnSUNBZ0lDQWdLaUJ1YjJSbElIZHBkR2hwYmlCaElHWnNiM2NnWTI5dWRHVjRkQzVjYmlBZ0lDQWdJQ0FnSUNvdlhHNGdJQ0FnSUNBZ0lIUm9hWE11Wm14dmQwdGxlU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0F2S2lvZ1EyOTFiblFnYjJZZ2MzVnljbTkxYm1ScGJtY2dabXh2ZHlCamIyeHNaV04wYVc5dUlHeGxkbVZzY3k0Z0tpOWNiaUFnSUNBZ0lDQWdkR2hwY3k1bWJHOTNUR1YyWld3Z1BTQXdPMXh1SUNBZ0lDQWdJQ0F2S2lwY2JpQWdJQ0FnSUNBZ0lDb2dUV2x1YVcxMWJTQnNaWFpsYkNCdlppQnBibVJsYm5SaGRHbHZiaUJ5WlhGMWFYSmxaQ0JtYjNJZ2JtVjRkQ0JzYVc1bGN5QjBieUJpWlNCd1lYSnpaV1FnWVhNZ1lWeHVJQ0FnSUNBZ0lDQWdLaUJ3WVhKMElHOW1JSFJvWlNCamRYSnlaVzUwSUhOallXeGhjaUIyWVd4MVpTNWNiaUFnSUNBZ0lDQWdJQ292WEc0Z0lDQWdJQ0FnSUhSb2FYTXVhVzVrWlc1MFRtVjRkQ0E5SURBN1hHNGdJQ0FnSUNBZ0lDOHFLaUJKYm1SbGJuUmhkR2x2YmlCc1pYWmxiQ0J2WmlCMGFHVWdZM1Z5Y21WdWRDQnNhVzVsTGlBcUwxeHVJQ0FnSUNBZ0lDQjBhR2x6TG1sdVpHVnVkRlpoYkhWbElEMGdNRHRjYmlBZ0lDQWdJQ0FnTHlvcUlGQnZjMmwwYVc5dUlHOW1JSFJvWlNCdVpYaDBJRnhjYmlCamFHRnlZV04wWlhJdUlDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdWJHbHVaVVZ1WkZCdmN5QTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDOHFLaUJUZEc5eVpYTWdkR2hsSUhOMFlYUmxJRzltSUhSb1pTQnNaWGhsY2lCcFppQnlaV0ZqYUdsdVp5QjBhR1VnWlc1a0lHOW1JR2x1WTNCdmJYQnNaWFJsSUdsdWNIVjBJQ292WEc0Z0lDQWdJQ0FnSUhSb2FYTXVibVY0ZENBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUM4cUtpQkJJSEJ2YVc1MFpYSWdkRzhnWUdKMVptWmxjbUE3SUhSb1pTQmpkWEp5Wlc1MElIQnZjMmwwYVc5dUlHOW1JSFJvWlNCc1pYaGxjaTRnS2k5Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV3YjNNZ1BTQXdPMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkhaVzVsY21GMFpTQlpRVTFNSUhSdmEyVnVjeUJtY205dElIUm9aU0JnYzI5MWNtTmxZQ0J6ZEhKcGJtY3VJRWxtSUdCcGJtTnZiWEJzWlhSbFlDeGNiaUFnSUNBZ0tpQmhJSEJoY25RZ2IyWWdkR2hsSUd4aGMzUWdiR2x1WlNCdFlYa2dZbVVnYkdWbWRDQmhjeUJoSUdKMVptWmxjaUJtYjNJZ2RHaGxJRzVsZUhRZ1kyRnNiQzVjYmlBZ0lDQWdLbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJRUVnWjJWdVpYSmhkRzl5SUc5bUlHeGxlR2xqWVd3Z2RHOXJaVzV6WEc0Z0lDQWdJQ292WEc0Z0lDQWdLbXhsZUNoemIzVnlZMlVzSUdsdVkyOXRjR3hsZEdVZ1BTQm1ZV3h6WlNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzI5MWNtTmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSE52ZFhKalpTQWhQVDBnSjNOMGNtbHVaeWNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dWSGx3WlVWeWNtOXlLQ2R6YjNWeVkyVWdhWE1nYm05MElHRWdjM1J5YVc1bkp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbUoxWm1abGNpQTlJSFJvYVhNdVluVm1abVZ5SUQ4Z2RHaHBjeTVpZFdabVpYSWdLeUJ6YjNWeVkyVWdPaUJ6YjNWeVkyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbXhwYm1WRmJtUlFiM01nUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVZWFJGYm1RZ1BTQWhhVzVqYjIxd2JHVjBaVHRjYmlBZ0lDQWdJQ0FnYkdWMElHNWxlSFFnUFNCMGFHbHpMbTVsZUhRZ1B6OGdKM04wY21WaGJTYzdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaHVaWGgwSUNZbUlDaHBibU52YlhCc1pYUmxJSHg4SUhSb2FYTXVhR0Z6UTJoaGNuTW9NU2twS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdibVY0ZENBOUlIbHBaV3hrS2lCMGFHbHpMbkJoY25ObFRtVjRkQ2h1WlhoMEtUdGNiaUFnSUNCOVhHNGdJQ0FnWVhSTWFXNWxSVzVrS0NrZ2UxeHVJQ0FnSUNBZ0lDQnNaWFFnYVNBOUlIUm9hWE11Y0c5ek8xeHVJQ0FnSUNBZ0lDQnNaWFFnWTJnZ1BTQjBhR2x6TG1KMVptWmxjbHRwWFR0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0dOb0lEMDlQU0FuSUNjZ2ZId2dZMmdnUFQwOUlDZGNYSFFuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZMmdnUFNCMGFHbHpMbUoxWm1abGNsc3JLMmxkTzF4dUlDQWdJQ0FnSUNCcFppQW9JV05vSUh4OElHTm9JRDA5UFNBbkl5Y2dmSHdnWTJnZ1BUMDlJQ2RjWEc0bktWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqYUNBOVBUMGdKMXhjY2ljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1aWRXWm1aWEpiYVNBcklERmRJRDA5UFNBblhGeHVKenRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYUdGeVFYUW9iaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWlkV1ptWlhKYmRHaHBjeTV3YjNNZ0t5QnVYVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVkR2x1ZFdWVFkyRnNZWElvYjJabWMyVjBLU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQmphQ0E5SUhSb2FYTXVZblZtWm1WeVcyOW1abk5sZEYwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtbHVaR1Z1ZEU1bGVIUWdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2FXNWtaVzUwSUQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0FnSUhkb2FXeGxJQ2hqYUNBOVBUMGdKeUFuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOb0lEMGdkR2hwY3k1aWRXWm1aWEpiS3l0cGJtUmxiblFnS3lCdlptWnpaWFJkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOb0lEMDlQU0FuWEZ4eUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHNWxlSFFnUFNCMGFHbHpMbUoxWm1abGNsdHBibVJsYm5RZ0t5QnZabVp6WlhRZ0t5QXhYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JtVjRkQ0E5UFQwZ0oxeGNiaWNnZkh3Z0tDRnVaWGgwSUNZbUlDRjBhR2x6TG1GMFJXNWtLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc5bVpuTmxkQ0FySUdsdVpHVnVkQ0FySURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyZ2dQVDA5SUNkY1hHNG5JSHg4SUdsdVpHVnVkQ0ErUFNCMGFHbHpMbWx1WkdWdWRFNWxlSFFnZkh3Z0tDRmphQ0FtSmlBaGRHaHBjeTVoZEVWdVpDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JRzltWm5ObGRDQXJJR2x1WkdWdWRGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEb2dMVEU3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLR05vSUQwOVBTQW5MU2NnZkh3Z1kyZ2dQVDA5SUNjdUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWkhRZ1BTQjBhR2x6TG1KMVptWmxjaTV6ZFdKemRISW9iMlptYzJWMExDQXpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2dvWkhRZ1BUMDlJQ2N0TFMwbklIeDhJR1IwSUQwOVBTQW5MaTR1SnlrZ0ppWWdhWE5GYlhCMGVTaDBhR2x6TG1KMVptWmxjbHR2Wm1aelpYUWdLeUF6WFNrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUMweE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnZabVp6WlhRN1hHNGdJQ0FnZlZ4dUlDQWdJR2RsZEV4cGJtVW9LU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQmxibVFnUFNCMGFHbHpMbXhwYm1WRmJtUlFiM003WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1pXNWtJQ0U5UFNBbmJuVnRZbVZ5SnlCOGZDQW9aVzVrSUNFOVBTQXRNU0FtSmlCbGJtUWdQQ0IwYUdsekxuQnZjeWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z1WkNBOUlIUm9hWE11WW5WbVptVnlMbWx1WkdWNFQyWW9KMXhjYmljc0lIUm9hWE11Y0c5ektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXViR2x1WlVWdVpGQnZjeUE5SUdWdVpEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JwWmlBb1pXNWtJRDA5UFNBdE1TbGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtRjBSVzVrSUQ4Z2RHaHBjeTVpZFdabVpYSXVjM1ZpYzNSeWFXNW5LSFJvYVhNdWNHOXpLU0E2SUc1MWJHdzdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbUoxWm1abGNsdGxibVFnTFNBeFhTQTlQVDBnSjF4Y2NpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJtUWdMVDBnTVR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZblZtWm1WeUxuTjFZbk4wY21sdVp5aDBhR2x6TG5CdmN5d2daVzVrS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhR0Z6UTJoaGNuTW9iaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXdiM01nS3lCdUlEdzlJSFJvYVhNdVluVm1abVZ5TG14bGJtZDBhRHRjYmlBZ0lDQjlYRzRnSUNBZ2MyVjBUbVY0ZENoemRHRjBaU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbUoxWm1abGNpQTlJSFJvYVhNdVluVm1abVZ5TG5OMVluTjBjbWx1WnloMGFHbHpMbkJ2Y3lrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Y0c5eklEMGdNRHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXNhVzVsUlc1a1VHOXpJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdkR2hwY3k1dVpYaDBJRDBnYzNSaGRHVTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJSDFjYmlBZ0lDQndaV1ZyS0c0cElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WW5WbVptVnlMbk4xWW5OMGNpaDBhR2x6TG5CdmN5d2diaWs3WEc0Z0lDQWdmVnh1SUNBZ0lDcHdZWEp6WlU1bGVIUW9ibVY0ZENrZ2UxeHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tHNWxlSFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozTjBjbVZoYlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhscFpXeGtLaUIwYUdsekxuQmhjbk5sVTNSeVpXRnRLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkc2FXNWxMWE4wWVhKMEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjR0Z5YzJWTWFXNWxVM1JoY25Rb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMkpzYjJOckxYTjBZWEowSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdWNHRnljMlZDYkc5amExTjBZWEowS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGtiMk1uT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI1YVdWc1pDb2dkR2hwY3k1d1lYSnpaVVJ2WTNWdFpXNTBLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkbWJHOTNKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Y0dGeWMyVkdiRzkzUTI5c2JHVmpkR2x2YmlncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5jWFZ2ZEdWa0xYTmpZV3hoY2ljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhscFpXeGtLaUIwYUdsekxuQmhjbk5sVVhWdmRHVmtVMk5oYkdGeUtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RpYkc5amF5MXpZMkZzWVhJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NXdZWEp6WlVKc2IyTnJVMk5oYkdGeUtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R3YkdGcGJpMXpZMkZzWVhJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NXdZWEp6WlZCc1lXbHVVMk5oYkdGeUtDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ0tuQmhjbk5sVTNSeVpXRnRLQ2tnZTF4dUlDQWdJQ0FnSUNCc1pYUWdiR2x1WlNBOUlIUm9hWE11WjJWMFRHbHVaU2dwTzF4dUlDQWdJQ0FnSUNCcFppQW9iR2x1WlNBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5ObGRFNWxlSFFvSjNOMGNtVmhiU2NwTzF4dUlDQWdJQ0FnSUNCcFppQW9iR2x1WlZzd1hTQTlQVDBnUWs5TktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdkWE5vUTI5MWJuUW9NU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnNhVzVsSUQwZ2JHbHVaUzV6ZFdKemRISnBibWNvTVNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdhV1lnS0d4cGJtVmJNRjBnUFQwOUlDY2xKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUdScGNrVnVaQ0E5SUd4cGJtVXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHTnpJRDBnYkdsdVpTNXBibVJsZUU5bUtDY2pKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb1kzTWdJVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kyZ2dQU0JzYVc1bFcyTnpJQzBnTVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR05vSUQwOVBTQW5JQ2NnZkh3Z1kyZ2dQVDA5SUNkY1hIUW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUnBja1Z1WkNBOUlHTnpJQzBnTVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpjeUE5SUd4cGJtVXVhVzVrWlhoUFppZ25JeWNzSUdOeklDc2dNU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmphQ0E5SUd4cGJtVmJaR2x5Ulc1a0lDMGdNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTm9JRDA5UFNBbklDY2dmSHdnWTJnZ1BUMDlJQ2RjWEhRbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrYVhKRmJtUWdMVDBnTVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiaUE5SUNoNWFXVnNaQ29nZEdocGN5NXdkWE5vUTI5MWJuUW9aR2x5Ulc1a0tTa2dLeUFvZVdsbGJHUXFJSFJvYVhNdWNIVnphRk53WVdObGN5aDBjblZsS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2RYTm9RMjkxYm5Rb2JHbHVaUzVzWlc1bmRHZ2dMU0J1S1RzZ0x5OGdjRzl6YzJsaWJHVWdZMjl0YldWdWRGeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXdkWE5vVG1WM2JHbHVaU2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZHpkSEpsWVcwbk8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbUYwVEdsdVpVVnVaQ2dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnpjQ0E5SUhscFpXeGtLaUIwYUdsekxuQjFjMmhUY0dGalpYTW9kSEoxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2RYTm9RMjkxYm5Rb2JHbHVaUzVzWlc1bmRHZ2dMU0J6Y0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2RYTm9UbVYzYkdsdVpTZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkemRISmxZVzBuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIbHBaV3hrSUVSUFExVk5SVTVVTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdWNHRnljMlZNYVc1bFUzUmhjblFvS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdLbkJoY25ObFRHbHVaVk4wWVhKMEtDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmphQ0E5SUhSb2FYTXVZMmhoY2tGMEtEQXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXTm9JQ1ltSUNGMGFHbHpMbUYwUlc1a0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMyVjBUbVY0ZENnbmJHbHVaUzF6ZEdGeWRDY3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyZ2dQVDA5SUNjdEp5QjhmQ0JqYUNBOVBUMGdKeTRuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lYUm9hWE11WVhSRmJtUWdKaVlnSVhSb2FYTXVhR0Z6UTJoaGNuTW9OQ2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMyVjBUbVY0ZENnbmJHbHVaUzF6ZEdGeWRDY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY3lBOUlIUm9hWE11Y0dWbGF5Z3pLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2dvY3lBOVBUMGdKeTB0TFNjZ2ZId2djeUE5UFQwZ0p5NHVMaWNwSUNZbUlHbHpSVzF3ZEhrb2RHaHBjeTVqYUdGeVFYUW9NeWtwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUVOdmRXNTBLRE1wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVhVzVrWlc1MFZtRnNkV1VnUFNBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YVc1a1pXNTBUbVY0ZENBOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITWdQVDA5SUNjdExTMG5JRDhnSjJSdll5Y2dPaUFuYzNSeVpXRnRKenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0IwYUdsekxtbHVaR1Z1ZEZaaGJIVmxJRDBnZVdsbGJHUXFJSFJvYVhNdWNIVnphRk53WVdObGN5aG1ZV3h6WlNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtbHVaR1Z1ZEU1bGVIUWdQaUIwYUdsekxtbHVaR1Z1ZEZaaGJIVmxJQ1ltSUNGcGMwVnRjSFI1S0hSb2FYTXVZMmhoY2tGMEtERXBLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YVc1a1pXNTBUbVY0ZENBOUlIUm9hWE11YVc1a1pXNTBWbUZzZFdVN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NXdZWEp6WlVKc2IyTnJVM1JoY25Rb0tUdGNiaUFnSUNCOVhHNGdJQ0FnS25CaGNuTmxRbXh2WTJ0VGRHRnlkQ2dwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnVzJOb01Dd2dZMmd4WFNBOUlIUm9hWE11Y0dWbGF5Z3lLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmphREVnSmlZZ0lYUm9hWE11WVhSRmJtUXBYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXpaWFJPWlhoMEtDZGliRzlqYXkxemRHRnlkQ2NwTzF4dUlDQWdJQ0FnSUNCcFppQW9LR05vTUNBOVBUMGdKeTBuSUh4OElHTm9NQ0E5UFQwZ0p6OG5JSHg4SUdOb01DQTlQVDBnSnpvbktTQW1KaUJwYzBWdGNIUjVLR05vTVNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzRnUFNBb2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUVOdmRXNTBLREVwS1NBcklDaDVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1UzQmhZMlZ6S0hSeWRXVXBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YVc1a1pXNTBUbVY0ZENBOUlIUm9hWE11YVc1a1pXNTBWbUZzZFdVZ0t5QXhPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVwYm1SbGJuUldZV3gxWlNBclBTQnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhscFpXeGtLaUIwYUdsekxuQmhjbk5sUW14dlkydFRkR0Z5ZENncE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQW5aRzlqSnp0Y2JpQWdJQ0I5WEc0Z0lDQWdLbkJoY25ObFJHOWpkVzFsYm5Rb0tTQjdYRzRnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CMWMyaFRjR0ZqWlhNb2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR3hwYm1VZ1BTQjBhR2x6TG1kbGRFeHBibVVvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR3hwYm1VZ1BUMDlJRzUxYkd3cFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1elpYUk9aWGgwS0Nka2IyTW5LVHRjYmlBZ0lDQWdJQ0FnYkdWMElHNGdQU0I1YVdWc1pDb2dkR2hwY3k1d2RYTm9TVzVrYVdOaGRHOXljeWdwTzF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0d4cGJtVmJibDBwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p5TW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CMWMyaERiM1Z1ZENoc2FXNWxMbXhsYm1kMGFDQXRJRzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnWm1Gc2JIUm9jbTkxWjJoY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ2RXNWtaV1pwYm1Wa09seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIbHBaV3hrS2lCMGFHbHpMbkIxYzJoT1pYZHNhVzVsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhscFpXeGtLaUIwYUdsekxuQmhjbk5sVEdsdVpWTjBZWEowS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZDdKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjFzbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIbHBaV3hrS2lCMGFHbHpMbkIxYzJoRGIzVnVkQ2d4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVpzYjNkTFpYa2dQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1ac2IzZE1aWFpsYkNBOUlERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZG1iRzkzSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozMG5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWFNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkR2hwY3lCcGN5QmhiaUJsY25KdmNseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIbHBaV3hrS2lCMGFHbHpMbkIxYzJoRGIzVnVkQ2d4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnSjJSdll5YzdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2NxSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdkWE5vVlc1MGFXd29hWE5PYjNSQmJtTm9iM0pEYUdGeUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0oyUnZZeWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkY0lpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpSjF3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NXdZWEp6WlZGMWIzUmxaRk5qWVd4aGNpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuZkNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDYytKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1SUNzOUlIbHBaV3hrS2lCMGFHbHpMbkJoY25ObFFteHZZMnRUWTJGc1lYSklaV0ZrWlhJb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnVJQ3M5SUhscFpXeGtLaUIwYUdsekxuQjFjMmhUY0dGalpYTW9kSEoxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUVOdmRXNTBLR3hwYm1VdWJHVnVaM1JvSUMwZ2JpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0hWemFFNWxkMnhwYm1Vb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjR0Z5YzJWQ2JHOWphMU5qWVd4aGNpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdWNHRnljMlZRYkdGcGJsTmpZV3hoY2lncE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUNwd1lYSnpaVVpzYjNkRGIyeHNaV04wYVc5dUtDa2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ2Jtd3NJSE53TzF4dUlDQWdJQ0FnSUNCc1pYUWdhVzVrWlc1MElEMGdMVEU3WEc0Z0lDQWdJQ0FnSUdSdklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUc1c0lEMGdlV2xsYkdRcUlIUm9hWE11Y0hWemFFNWxkMnhwYm1Vb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHViQ0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpjQ0E5SUhscFpXeGtLaUIwYUdsekxuQjFjMmhUY0dGalpYTW9abUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YVc1a1pXNTBWbUZzZFdVZ1BTQnBibVJsYm5RZ1BTQnpjRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE53SUQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSE53SUNzOUlIbHBaV3hrS2lCMGFHbHpMbkIxYzJoVGNHRmpaWE1vZEhKMVpTazdYRzRnSUNBZ0lDQWdJSDBnZDJocGJHVWdLRzVzSUNzZ2MzQWdQaUF3S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYkdsdVpTQTlJSFJvYVhNdVoyVjBUR2x1WlNncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYkdsdVpTQTlQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuTmxkRTVsZUhRb0oyWnNiM2NuS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ2hwYm1SbGJuUWdJVDA5SUMweElDWW1JR2x1WkdWdWRDQThJSFJvYVhNdWFXNWtaVzUwVG1WNGRDQW1KaUJzYVc1bFd6QmRJQ0U5UFNBbkl5Y3BJSHg4WEc0Z0lDQWdJQ0FnSUNBZ0lDQW9hVzVrWlc1MElEMDlQU0F3SUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tHeHBibVV1YzNSaGNuUnpWMmwwYUNnbkxTMHRKeWtnZkh3Z2JHbHVaUzV6ZEdGeWRITlhhWFJvS0NjdUxpNG5LU2tnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGMwVnRjSFI1S0d4cGJtVmJNMTBwS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1FXeHNiM2RwYm1jZ1ptOXlJSFJvWlNCMFpYSnRhVzVoYkNCZElHOXlJSDBnWVhRZ2RHaGxJSE5oYldVZ0tISmhkR2hsY2lCMGFHRnVJR2R5WldGMFpYSXBYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBibVJsYm5RZ2JHVjJaV3dnWVhNZ2RHaGxJR2x1YVhScFlXd2dXeUJ2Y2lCN0lHbHpJSFJsWTJodWFXTmhiR3g1SUdsdWRtRnNhV1FzSUdKMWRGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ptRnBiR2x1WnlCb1pYSmxJSGR2ZFd4a0lHSmxJSE4xY25CeWFYTnBibWNnZEc4Z2RYTmxjbk11WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCaGRFWnNiM2RGYm1STllYSnJaWElnUFNCcGJtUmxiblFnUFQwOUlIUm9hWE11YVc1a1pXNTBUbVY0ZENBdElERWdKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtWnNiM2RNWlhabGJDQTlQVDBnTVNBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDaHNhVzVsV3pCZElEMDlQU0FuWFNjZ2ZId2diR2x1WlZzd1hTQTlQVDBnSjMwbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hZWFJHYkc5M1JXNWtUV0Z5YTJWeUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEdocGN5QnBjeUJoYmlCbGNuSnZjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpteHZkMHhsZG1Wc0lEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDQkdURTlYWDBWT1JEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjR0Z5YzJWTWFXNWxVM1JoY25Rb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnNaWFFnYmlBOUlEQTdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaHNhVzVsVzI1ZElEMDlQU0FuTENjcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUc0Z0t6MGdlV2xsYkdRcUlIUm9hWE11Y0hWemFFTnZkVzUwS0RFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYmlBclBTQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1UzQmhZMlZ6S0hSeWRXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVtYkc5M1MyVjVJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYmlBclBTQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1NXNWthV05oZEc5eWN5Z3BPMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLR3hwYm1WYmJsMHBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnZFc1a1pXWnBibVZrT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuWm14dmR5YzdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2NqSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdkWE5vUTI5MWJuUW9iR2x1WlM1c1pXNW5kR2dnTFNCdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0oyWnNiM2NuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmV5YzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RiSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdkWE5vUTI5MWJuUW9NU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NW1iRzkzUzJWNUlEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVtYkc5M1RHVjJaV3dnS3owZ01UdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0oyWnNiM2NuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmZTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RkSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXdkWE5vUTI5MWJuUW9NU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NW1iRzkzUzJWNUlEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbVpzYjNkTVpYWmxiQ0F0UFNBeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVpzYjNkTVpYWmxiQ0EvSUNkbWJHOTNKeUE2SUNka2IyTW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuS2ljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUZWdWRHbHNLR2x6VG05MFFXNWphRzl5UTJoaGNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZG1iRzkzSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oxd2lKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENJblhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1bWJHOTNTMlY1SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Y0dGeWMyVlJkVzkwWldSVFkyRnNZWElvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p6b25PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdibVY0ZENBOUlIUm9hWE11WTJoaGNrRjBLREVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1ac2IzZExaWGtnZkh3Z2FYTkZiWEIwZVNodVpYaDBLU0I4ZkNCdVpYaDBJRDA5UFNBbkxDY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVtYkc5M1MyVjVJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxuQjFjMmhEYjNWdWRDZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUZOd1lXTmxjeWgwY25WbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RtYkc5M0p6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCbVlXeHNkR2h5YjNWbmFGeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtWnNiM2RMWlhrZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdWNHRnljMlZRYkdGcGJsTmpZV3hoY2lncE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUNwd1lYSnpaVkYxYjNSbFpGTmpZV3hoY2lncElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NYVnZkR1VnUFNCMGFHbHpMbU5vWVhKQmRDZ3dLVHRjYmlBZ0lDQWdJQ0FnYkdWMElHVnVaQ0E5SUhSb2FYTXVZblZtWm1WeUxtbHVaR1Y0VDJZb2NYVnZkR1VzSUhSb2FYTXVjRzl6SUNzZ01TazdYRzRnSUNBZ0lDQWdJR2xtSUNoeGRXOTBaU0E5UFQwZ1hDSW5YQ0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGRvYVd4bElDaGxibVFnSVQwOUlDMHhJQ1ltSUhSb2FYTXVZblZtWm1WeVcyVnVaQ0FySURGZElEMDlQU0JjSWlkY0lpbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxibVFnUFNCMGFHbHpMbUoxWm1abGNpNXBibVJsZUU5bUtGd2lKMXdpTENCbGJtUWdLeUF5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUdSdmRXSnNaUzF4ZFc5MFpWeHVJQ0FnSUNBZ0lDQWdJQ0FnZDJocGJHVWdLR1Z1WkNBaFBUMGdMVEVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdiaUE5SURBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QyaHBiR1VnS0hSb2FYTXVZblZtWm1WeVcyVnVaQ0F0SURFZ0xTQnVYU0E5UFQwZ0oxeGNYRnduS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnVJQ3M5SURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzRnSlNBeUlEMDlQU0F3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJtUWdQU0IwYUdsekxtSjFabVpsY2k1cGJtUmxlRTltS0NkY0lpY3NJR1Z1WkNBcklERXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQzh2SUU5dWJIa2diRzl2YTJsdVp5Qm1iM0lnYm1WM2JHbHVaWE1nZDJsMGFHbHVJSFJvWlNCeGRXOTBaWE5jYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjV0lnUFNCMGFHbHpMbUoxWm1abGNpNXpkV0p6ZEhKcGJtY29NQ3dnWlc1a0tUdGNiaUFnSUNBZ0lDQWdiR1YwSUc1c0lEMGdjV0l1YVc1a1pYaFBaaWduWEZ4dUp5d2dkR2hwY3k1d2IzTXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2Jtd2dJVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCM2FHbHNaU0FvYm13Z0lUMDlJQzB4S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWTNNZ1BTQjBhR2x6TG1OdmJuUnBiblZsVTJOaGJHRnlLRzVzSUNzZ01TazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOeklEMDlQU0F0TVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2Jtd2dQU0J4WWk1cGJtUmxlRTltS0NkY1hHNG5MQ0JqY3lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYm13Z0lUMDlJQzB4S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkR2hwY3lCcGN5QmhiaUJsY25KdmNpQmpZWFZ6WldRZ1lua2dZVzRnZFc1bGVIQmxZM1JsWkNCMWJtbHVaR1Z1ZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWdVpDQTlJRzVzSUMwZ0tIRmlXMjVzSUMwZ01WMGdQVDA5SUNkY1hISW5JRDhnTWlBNklERXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNobGJtUWdQVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JWFJvYVhNdVlYUkZibVFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMyVjBUbVY0ZENnbmNYVnZkR1ZrTFhOallXeGhjaWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaVzVrSUQwZ2RHaHBjeTVpZFdabVpYSXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CMWMyaFViMGx1WkdWNEtHVnVaQ0FySURFc0lHWmhiSE5sS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVabXh2ZDB4bGRtVnNJRDhnSjJac2IzY25JRG9nSjJSdll5YzdYRzRnSUNBZ2ZWeHVJQ0FnSUNwd1lYSnpaVUpzYjJOclUyTmhiR0Z5U0dWaFpHVnlLQ2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbUpzYjJOclUyTmhiR0Z5U1c1a1pXNTBJRDBnTFRFN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WW14dlkydFRZMkZzWVhKTFpXVndJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJR3hsZENCcElEMGdkR2hwY3k1d2IzTTdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmphQ0E5SUhSb2FYTXVZblZtWm1WeVd5c3JhVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTJnZ1BUMDlJQ2NySnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbUpzYjJOclUyTmhiR0Z5UzJWbGNDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hqYUNBK0lDY3dKeUFtSmlCamFDQThQU0FuT1NjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVpYkc5amExTmpZV3hoY2tsdVpHVnVkQ0E5SUU1MWJXSmxjaWhqYUNrZ0xTQXhPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1kyZ2dJVDA5SUNjdEp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUZWdWRHbHNLR05vSUQwK0lHbHpSVzF3ZEhrb1kyZ3BJSHg4SUdOb0lEMDlQU0FuSXljcE8xeHVJQ0FnSUgxY2JpQWdJQ0FxY0dGeWMyVkNiRzlqYTFOallXeGhjaWdwSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJRzVzSUQwZ2RHaHBjeTV3YjNNZ0xTQXhPeUF2THlCdFlYa2dZbVVnTFRFZ2FXWWdkR2hwY3k1d2IzTWdQVDA5SURCY2JpQWdJQ0FnSUNBZ2JHVjBJR2x1WkdWdWRDQTlJREE3WEc0Z0lDQWdJQ0FnSUd4bGRDQmphRHRjYmlBZ0lDQWdJQ0FnYkc5dmNEb2dabTl5SUNoc1pYUWdhU0E5SUhSb2FYTXVjRzl6T3lBb1kyZ2dQU0IwYUdsekxtSjFabVpsY2x0cFhTazdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2hqYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSnlBbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYm1SbGJuUWdLejBnTVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWEZ4dUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm13Z1BTQnBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxiblFnUFNBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkY1hISW5PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUc1bGVIUWdQU0IwYUdsekxtSjFabVpsY2x0cElDc2dNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYm1WNGRDQW1KaUFoZEdocGN5NWhkRVZ1WkNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuTmxkRTVsZUhRb0oySnNiMk5yTFhOallXeGhjaWNwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYm1WNGRDQTlQVDBnSjF4Y2JpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUlDOHZJR1poYkd4MGFISnZkV2RvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3NnYkc5dmNEdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvSVdOb0lDWW1JQ0YwYUdsekxtRjBSVzVrS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YzJWMFRtVjRkQ2duWW14dlkyc3RjMk5oYkdGeUp5azdYRzRnSUNBZ0lDQWdJR2xtSUNocGJtUmxiblFnUGowZ2RHaHBjeTVwYm1SbGJuUk9aWGgwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTVpYkc5amExTmpZV3hoY2tsdVpHVnVkQ0E5UFQwZ0xURXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtUmxiblJPWlhoMElEMGdhVzVrWlc1ME8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtUmxiblJPWlhoMElEMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWliRzlqYTFOallXeGhja2x1WkdWdWRDQXJJQ2gwYUdsekxtbHVaR1Z1ZEU1bGVIUWdQVDA5SURBZ1B5QXhJRG9nZEdocGN5NXBibVJsYm5ST1pYaDBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdSdklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamN5QTlJSFJvYVhNdVkyOXVkR2x1ZFdWVFkyRnNZWElvYm13Z0t5QXhLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kzTWdQVDA5SUMweEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViQ0E5SUhSb2FYTXVZblZtWm1WeUxtbHVaR1Y0VDJZb0oxeGNiaWNzSUdOektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ2QyaHBiR1VnS0c1c0lDRTlQU0F0TVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2Jtd2dQVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGMGFHbHpMbUYwUlc1a0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1elpYUk9aWGgwS0NkaWJHOWpheTF6WTJGc1lYSW5LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YkNBOUlIUm9hWE11WW5WbVptVnlMbXhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQXZMeUJVY21GcGJHbHVaeUJwYm5OMVptWnBZMmxsYm5Sc2VTQnBibVJsYm5SbFpDQjBZV0p6SUdGeVpTQnBiblpoYkdsa0xseHVJQ0FnSUNBZ0lDQXZMeUJVYnlCallYUmphQ0IwYUdGMElHUjFjbWx1WnlCd1lYSnphVzVuTENCM1pTQnBibU5zZFdSbElIUm9aVzBnYVc0Z2RHaGxJR0pzYjJOcklITmpZV3hoY2lCMllXeDFaUzVjYmlBZ0lDQWdJQ0FnYkdWMElHa2dQU0J1YkNBcklERTdYRzRnSUNBZ0lDQWdJR05vSUQwZ2RHaHBjeTVpZFdabVpYSmJhVjA3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2hqYUNBOVBUMGdKeUFuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdZMmdnUFNCMGFHbHpMbUoxWm1abGNsc3JLMmxkTzF4dUlDQWdJQ0FnSUNCcFppQW9ZMmdnUFQwOUlDZGNYSFFuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9ZMmdnUFQwOUlDZGNYSFFuSUh4OElHTm9JRDA5UFNBbklDY2dmSHdnWTJnZ1BUMDlJQ2RjWEhJbklIeDhJR05vSUQwOVBTQW5YRnh1SnlsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamFDQTlJSFJvYVhNdVluVm1abVZ5V3lzcmFWMDdYRzRnSUNBZ0lDQWdJQ0FnSUNCdWJDQTlJR2tnTFNBeE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLQ0YwYUdsekxtSnNiMk5yVTJOaGJHRnlTMlZsY0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0JwSUQwZ2Jtd2dMU0F4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQmphQ0E5SUhSb2FYTXVZblZtWm1WeVcybGRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoamFDQTlQVDBnSjF4Y2NpY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOb0lEMGdkR2hwY3k1aWRXWm1aWEpiTFMxcFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCc1lYTjBRMmhoY2lBOUlHazdJQzh2SUVSeWIzQWdkR2hsSUd4cGJtVWdhV1lnYkdGemRDQmphR0Z5SUc1dmRDQnRiM0psSUdsdVpHVnVkR1ZrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDJocGJHVWdLR05vSUQwOVBTQW5JQ2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTm9JRDBnZEdocGN5NWlkV1ptWlhKYkxTMXBYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kyZ2dQVDA5SUNkY1hHNG5JQ1ltSUdrZ1BqMGdkR2hwY3k1d2IzTWdKaVlnYVNBcklERWdLeUJwYm1SbGJuUWdQaUJzWVhOMFEyaGhjaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2Jtd2dQU0JwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlIZG9hV3hsSUNoMGNuVmxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCNWFXVnNaQ0JUUTBGTVFWSTdYRzRnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CMWMyaFViMGx1WkdWNEtHNXNJQ3NnTVN3Z2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUI1YVdWc1pDb2dkR2hwY3k1d1lYSnpaVXhwYm1WVGRHRnlkQ2dwTzF4dUlDQWdJSDFjYmlBZ0lDQXFjR0Z5YzJWUWJHRnBibE5qWVd4aGNpZ3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdhVzVHYkc5M0lEMGdkR2hwY3k1bWJHOTNUR1YyWld3Z1BpQXdPMXh1SUNBZ0lDQWdJQ0JzWlhRZ1pXNWtJRDBnZEdocGN5NXdiM01nTFNBeE8xeHVJQ0FnSUNBZ0lDQnNaWFFnYVNBOUlIUm9hWE11Y0c5eklDMGdNVHRjYmlBZ0lDQWdJQ0FnYkdWMElHTm9PMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9LR05vSUQwZ2RHaHBjeTVpZFdabVpYSmJLeXRwWFNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGphQ0E5UFQwZ0p6b25LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdibVY0ZENBOUlIUm9hWE11WW5WbVptVnlXMmtnS3lBeFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhORmJYQjBlU2h1WlhoMEtTQjhmQ0FvYVc1R2JHOTNJQ1ltSUdac2IzZEpibVJwWTJGMGIzSkRhR0Z5Y3k1b1lYTW9ibVY0ZENrcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxibVFnUFNCcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9hWE5GYlhCMGVTaGphQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdibVY0ZENBOUlIUm9hWE11WW5WbVptVnlXMmtnS3lBeFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTJnZ1BUMDlJQ2RjWEhJbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHVaWGgwSUQwOVBTQW5YRnh1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FTQXJQU0F4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJnZ1BTQW5YRnh1Snp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc1bGVIUWdQU0IwYUdsekxtSjFabVpsY2x0cElDc2dNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXNWtJRDBnYVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzVsZUhRZ1BUMDlJQ2NqSnlCOGZDQW9hVzVHYkc5M0lDWW1JR1pzYjNkSmJtUnBZMkYwYjNKRGFHRnljeTVvWVhNb2JtVjRkQ2twS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMmdnUFQwOUlDZGNYRzRuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTnpJRDBnZEdocGN5NWpiMjUwYVc1MVpWTmpZV3hoY2locElDc2dNU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqY3lBOVBUMGdMVEVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVNBOUlFMWhkR2d1YldGNEtHa3NJR056SUMwZ01pazdJQzh2SUhSdklHRmtkbUZ1WTJVc0lHSjFkQ0J6ZEdsc2JDQmhZMk52ZFc1MElHWnZjaUFuSUNNblhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2x1Um14dmR5QW1KaUJtYkc5M1NXNWthV05oZEc5eVEyaGhjbk11YUdGektHTm9LU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWlc1a0lEMGdhVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JwWmlBb0lXTm9JQ1ltSUNGMGFHbHpMbUYwUlc1a0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMyVjBUbVY0ZENnbmNHeGhhVzR0YzJOaGJHRnlKeWs3WEc0Z0lDQWdJQ0FnSUhscFpXeGtJRk5EUVV4QlVqdGNiaUFnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0hWemFGUnZTVzVrWlhnb1pXNWtJQ3NnTVN3Z2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJwYmtac2IzY2dQeUFuWm14dmR5Y2dPaUFuWkc5akp6dGNiaUFnSUNCOVhHNGdJQ0FnS25CMWMyaERiM1Z1ZENodUtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNodUlENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRZ2RHaHBjeTVpZFdabVpYSXVjM1ZpYzNSeUtIUm9hWE11Y0c5ekxDQnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Y0c5eklDczlJRzQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JqdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ0tuQjFjMmhVYjBsdVpHVjRLR2tzSUdGc2JHOTNSVzF3ZEhrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2N5QTlJSFJvYVhNdVluVm1abVZ5TG5Oc2FXTmxLSFJvYVhNdWNHOXpMQ0JwS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0lITTdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbkJ2Y3lBclBTQnpMbXhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ6TG14bGJtZDBhRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoaGJHeHZkMFZ0Y0hSNUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUWdKeWM3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQWdJSDFjYmlBZ0lDQXFjSFZ6YUVsdVpHbGpZWFJ2Y25Nb0tTQjdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9kR2hwY3k1amFHRnlRWFFvTUNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKeUVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFvS0hscFpXeGtLaUIwYUdsekxuQjFjMmhVWVdjb0tTa2dLMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUZOd1lXTmxjeWgwY25WbEtTa2dLMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUVsdVpHbGpZWFJ2Y25Nb0tTa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuSmljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNnb2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUZWdWRHbHNLR2x6VG05MFFXNWphRzl5UTJoaGNpa3BJQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tIbHBaV3hrS2lCMGFHbHpMbkIxYzJoVGNHRmpaWE1vZEhKMVpTa3BJQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tIbHBaV3hrS2lCMGFHbHpMbkIxYzJoSmJtUnBZMkYwYjNKektDa3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSnkwbk9pQXZMeUIwYUdseklHbHpJR0Z1SUdWeWNtOXlYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2MvSnpvZ0x5OGdkR2hwY3lCcGN5QmhiaUJsY25KdmNpQnZkWFJ6YVdSbElHWnNiM2NnWTI5c2JHVmpkR2x2Ym5OY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0p6b25PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdhVzVHYkc5M0lEMGdkR2hwY3k1bWJHOTNUR1YyWld3Z1BpQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTm9NU0E5SUhSb2FYTXVZMmhoY2tGMEtERXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGMwVnRjSFI1S0dOb01Ta2dmSHdnS0dsdVJteHZkeUFtSmlCbWJHOTNTVzVrYVdOaGRHOXlRMmhoY25NdWFHRnpLR05vTVNrcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hhVzVHYkc5M0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVwYm1SbGJuUk9aWGgwSUQwZ2RHaHBjeTVwYm1SbGJuUldZV3gxWlNBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hSb2FYTXVabXh2ZDB0bGVTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Wm14dmQwdGxlU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnS0NoNWFXVnNaQ29nZEdocGN5NXdkWE5vUTI5MWJuUW9NU2twSUN0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNoNWFXVnNaQ29nZEdocGN5NXdkWE5vVTNCaFkyVnpLSFJ5ZFdVcEtTQXJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9lV2xsYkdRcUlIUm9hWE11Y0hWemFFbHVaR2xqWVhSdmNuTW9LU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnTUR0Y2JpQWdJQ0I5WEc0Z0lDQWdLbkIxYzJoVVlXY29LU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1Ob1lYSkJkQ2d4S1NBOVBUMGdKenduS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2FTQTlJSFJvYVhNdWNHOXpJQ3NnTWp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3hsZENCamFDQTlJSFJvYVhNdVluVm1abVZ5VzJsZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZDJocGJHVWdLQ0ZwYzBWdGNIUjVLR05vS1NBbUppQmphQ0FoUFQwZ0p6NG5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05vSUQwZ2RHaHBjeTVpZFdabVpYSmJLeXRwWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1ZHOUpibVJsZUNoamFDQTlQVDBnSno0bklEOGdhU0FySURFZ09pQnBMQ0JtWVd4elpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdhU0E5SUhSb2FYTXVjRzl6SUNzZ01UdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQmphQ0E5SUhSb2FYTXVZblZtWm1WeVcybGRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2QyaHBiR1VnS0dOb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSaFowTm9ZWEp6TG1oaGN5aGphQ2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTm9JRDBnZEdocGN5NWlkV1ptWlhKYkt5dHBYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hqYUNBOVBUMGdKeVVuSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2hsZUVScFoybDBjeTVvWVhNb2RHaHBjeTVpZFdabVpYSmJhU0FySURGZEtTQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCb1pYaEVhV2RwZEhNdWFHRnpLSFJvYVhNdVluVm1abVZ5VzJrZ0t5QXlYU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMmdnUFNCMGFHbHpMbUoxWm1abGNsc29hU0FyUFNBektWMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVjSFZ6YUZSdlNXNWtaWGdvYVN3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJQ3B3ZFhOb1RtVjNiR2x1WlNncElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kyZ2dQU0IwYUdsekxtSjFabVpsY2x0MGFHbHpMbkJ2YzEwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqYUNBOVBUMGdKMXhjYmljcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlV2xsYkdRcUlIUm9hWE11Y0hWemFFTnZkVzUwS0RFcE8xeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaGphQ0E5UFQwZ0oxeGNjaWNnSmlZZ2RHaHBjeTVqYUdGeVFYUW9NU2tnUFQwOUlDZGNYRzRuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIbHBaV3hrS2lCMGFHbHpMbkIxYzJoRGIzVnVkQ2d5S1R0Y2JpQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SURBN1hHNGdJQ0FnZlZ4dUlDQWdJQ3B3ZFhOb1UzQmhZMlZ6S0dGc2JHOTNWR0ZpY3lrZ2UxeHVJQ0FnSUNBZ0lDQnNaWFFnYVNBOUlIUm9hWE11Y0c5eklDMGdNVHRjYmlBZ0lDQWdJQ0FnYkdWMElHTm9PMXh1SUNBZ0lDQWdJQ0JrYnlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYUNBOUlIUm9hWE11WW5WbVptVnlXeXNyYVYwN1hHNGdJQ0FnSUNBZ0lIMGdkMmhwYkdVZ0tHTm9JRDA5UFNBbklDY2dmSHdnS0dGc2JHOTNWR0ZpY3lBbUppQmphQ0E5UFQwZ0oxeGNkQ2NwS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYmlBOUlHa2dMU0IwYUdsekxuQnZjenRjYmlBZ0lDQWdJQ0FnYVdZZ0tHNGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDQjBhR2x6TG1KMVptWmxjaTV6ZFdKemRISW9kR2hwY3k1d2IzTXNJRzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1d2IzTWdQU0JwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdU8xeHVJQ0FnSUgxY2JpQWdJQ0FxY0hWemFGVnVkR2xzS0hSbGMzUXBJSHRjYmlBZ0lDQWdJQ0FnYkdWMElHa2dQU0IwYUdsekxuQnZjenRjYmlBZ0lDQWdJQ0FnYkdWMElHTm9JRDBnZEdocGN5NWlkV1ptWlhKYmFWMDdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDZ2hkR1Z6ZENoamFDa3BYRzRnSUNBZ0lDQWdJQ0FnSUNCamFDQTlJSFJvYVhNdVluVm1abVZ5V3lzcmFWMDdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjVhV1ZzWkNvZ2RHaHBjeTV3ZFhOb1ZHOUpibVJsZUNocExDQm1ZV3h6WlNrN1hHNGdJQ0FnZlZ4dWZWeHVYRzVsZUhCdmNuUWdleUJNWlhobGNpQjlPMXh1SWl3Z0lpOHFLbHh1SUNvZ1ZISmhZMnR6SUc1bGQyeHBibVZ6SUdSMWNtbHVaeUJ3WVhKemFXNW5JR2x1SUc5eVpHVnlJSFJ2SUhCeWIzWnBaR1VnWVc0Z1pXWm1hV05wWlc1MElFRlFTU0JtYjNKY2JpQXFJR1JsZEdWeWJXbHVhVzVuSUhSb1pTQnZibVV0YVc1a1pYaGxaQ0JnZXlCc2FXNWxMQ0JqYjJ3Z2ZXQWdjRzl6YVhScGIyNGdabTl5SUdGdWVTQnZabVp6WlhSY2JpQXFJSGRwZEdocGJpQjBhR1VnYVc1d2RYUXVYRzRnS2k5Y2JtTnNZWE56SUV4cGJtVkRiM1Z1ZEdWeUlIdGNiaUFnSUNCamIyNXpkSEoxWTNSdmNpZ3BJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXNhVzVsVTNSaGNuUnpJRDBnVzEwN1hHNGdJQ0FnSUNBZ0lDOHFLbHh1SUNBZ0lDQWdJQ0FnS2lCVGFHOTFiR1FnWW1VZ1kyRnNiR1ZrSUdsdUlHRnpZMlZ1WkdsdVp5QnZjbVJsY2k0Z1QzUm9aWEozYVhObExDQmpZV3hzWEc0Z0lDQWdJQ0FnSUNBcUlHQnNhVzVsUTI5MWJuUmxjaTVzYVc1bFUzUmhjblJ6TG5OdmNuUW9LV0FnWW1WbWIzSmxJR05oYkd4cGJtY2dZR3hwYm1WUWIzTW9LV0F1WEc0Z0lDQWdJQ0FnSUNBcUwxeHVJQ0FnSUNBZ0lDQjBhR2x6TG1Ga1pFNWxkMHhwYm1VZ1BTQW9iMlptYzJWMEtTQTlQaUIwYUdsekxteHBibVZUZEdGeWRITXVjSFZ6YUNodlptWnpaWFFwTzF4dUlDQWdJQ0FnSUNBdktpcGNiaUFnSUNBZ0lDQWdJQ29nVUdWeVptOXliWE1nWVNCaWFXNWhjbmtnYzJWaGNtTm9JR0Z1WkNCeVpYUjFjbTV6SUhSb1pTQXhMV2x1WkdWNFpXUWdleUJzYVc1bExDQmpiMndnZlZ4dUlDQWdJQ0FnSUNBZ0tpQndiM05wZEdsdmJpQnZaaUJnYjJabWMyVjBZQzRnU1dZZ1lHeHBibVVnUFQwOUlEQmdMQ0JnWVdSa1RtVjNUR2x1WldBZ2FHRnpJRzVsZG1WeUlHSmxaVzVjYmlBZ0lDQWdJQ0FnSUNvZ1kyRnNiR1ZrSUc5eUlHQnZabVp6WlhSZ0lHbHpJR0psWm05eVpTQjBhR1VnWm1seWMzUWdhMjV2ZDI0Z2JtVjNiR2x1WlM1Y2JpQWdJQ0FnSUNBZ0lDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdWJHbHVaVkJ2Y3lBOUlDaHZabVp6WlhRcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0JzYjNjZ1BTQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJR2hwWjJnZ1BTQjBhR2x6TG14cGJtVlRkR0Z5ZEhNdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkMmhwYkdVZ0tHeHZkeUE4SUdocFoyZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRhV1FnUFNBb2JHOTNJQ3NnYUdsbmFDa2dQajRnTVRzZ0x5OGdUV0YwYUM1bWJHOXZjaWdvYkc5M0lDc2dhR2xuYUNrZ0x5QXlLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbXhwYm1WVGRHRnlkSE5iYldsa1hTQThJRzltWm5ObGRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkc5M0lEMGdiV2xrSUNzZ01UdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaHBaMmdnUFNCdGFXUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTVzYVc1bFUzUmhjblJ6VzJ4dmQxMGdQVDA5SUc5bVpuTmxkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdleUJzYVc1bE9pQnNiM2NnS3lBeExDQmpiMnc2SURFZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHNiM2NnUFQwOUlEQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIc2diR2x1WlRvZ01Dd2dZMjlzT2lCdlptWnpaWFFnZlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjBZWEowSUQwZ2RHaHBjeTVzYVc1bFUzUmhjblJ6VzJ4dmR5QXRJREZkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIc2diR2x1WlRvZ2JHOTNMQ0JqYjJ3NklHOW1abk5sZENBdElITjBZWEowSUNzZ01TQjlPMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYm4xY2JseHVaWGh3YjNKMElIc2dUR2x1WlVOdmRXNTBaWElnZlR0Y2JpSXNJQ0pwYlhCdmNuUWdleUIwYjJ0bGJsUjVjR1VnZlNCbWNtOXRJQ2N1TDJOemRDNXFjeWM3WEc1cGJYQnZjblFnZXlCTVpYaGxjaUI5SUdaeWIyMGdKeTR2YkdWNFpYSXVhbk1uTzF4dVhHNW1kVzVqZEdsdmJpQnBibU5zZFdSbGMxUnZhMlZ1S0d4cGMzUXNJSFI1Y0dVcElIdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHeHBjM1F1YkdWdVozUm9PeUFySzJrcFhHNGdJQ0FnSUNBZ0lHbG1JQ2hzYVhOMFcybGRMblI1Y0dVZ1BUMDlJSFI1Y0dVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVtZFc1amRHbHZiaUJtYVc1a1RtOXVSVzF3ZEhsSmJtUmxlQ2hzYVhOMEtTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnNhWE4wTG14bGJtZDBhRHNnS3l0cEtTQjdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9iR2x6ZEZ0cFhTNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHpjR0ZqWlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGpiMjF0Wlc1MEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMjVsZDJ4cGJtVW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z0xURTdYRzU5WEc1bWRXNWpkR2x2YmlCcGMwWnNiM2RVYjJ0bGJpaDBiMnRsYmlrZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvZEc5clpXNC9MblI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdZMkZ6WlNBbllXeHBZWE1uT2x4dUlDQWdJQ0FnSUNCallYTmxJQ2R6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0JqWVhObElDZHphVzVuYkdVdGNYVnZkR1ZrTFhOallXeGhjaWM2WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMlJ2ZFdKc1pTMXhkVzkwWldRdGMyTmhiR0Z5SnpwY2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWm14dmR5MWpiMnhzWldOMGFXOXVKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNibjFjYm1aMWJtTjBhVzl1SUdkbGRGQnlaWFpRY205d2N5aHdZWEpsYm5RcElIdGNiaUFnSUNCemQybDBZMmdnS0hCaGNtVnVkQzUwZVhCbEtTQjdYRzRnSUNBZ0lDQWdJR05oYzJVZ0oyUnZZM1Z0Wlc1MEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ3WVhKbGJuUXVjM1JoY25RN1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSjJKc2IyTnJMVzFoY0NjNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR2wwSUQwZ2NHRnlaVzUwTG1sMFpXMXpXM0JoY21WdWRDNXBkR1Z0Y3k1c1pXNW5kR2dnTFNBeFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJwZEM1elpYQWdQejhnYVhRdWMzUmhjblE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1kyRnpaU0FuWW14dlkyc3RjMlZ4SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQndZWEpsYm5RdWFYUmxiWE5iY0dGeVpXNTBMbWwwWlcxekxteGxibWQwYUNBdElERmRMbk4wWVhKME8xeHVJQ0FnSUNBZ0lDQXZLaUJwYzNSaGJtSjFiQ0JwWjI1dmNtVWdibVY0ZENCemFHOTFiR1FnYm05MElHaGhjSEJsYmlBcUwxeHVJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnRkTzF4dUlDQWdJSDFjYm4xY2JpOHFLaUJPYjNSbE9pQk5ZWGtnYlc5a2FXWjVJR2x1Y0hWMElHRnljbUY1SUNvdlhHNW1kVzVqZEdsdmJpQm5aWFJHYVhKemRFdGxlVk4wWVhKMFVISnZjSE1vY0hKbGRpa2dlMXh1SUNBZ0lHbG1JQ2h3Y21WMkxteGxibWQwYUNBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRnRkTzF4dUlDQWdJR3hsZENCcElEMGdjSEpsZGk1c1pXNW5kR2c3WEc0Z0lDQWdiRzl2Y0RvZ2QyaHBiR1VnS0MwdGFTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lITjNhWFJqYUNBb2NISmxkbHRwWFM1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNka2IyTXRjM1JoY25Rbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aWGh3YkdsamFYUXRhMlY1TFdsdVpDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R0WVhBdGRtRnNkV1V0YVc1a0p6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM05sY1MxcGRHVnRMV2x1WkNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHVaWGRzYVc1bEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXlCc2IyOXdPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lIZG9hV3hsSUNod2NtVjJXeXNyYVYwL0xuUjVjR1VnUFQwOUlDZHpjR0ZqWlNjcElIdGNiaUFnSUNBZ0lDQWdMeW9nYkc5dmNDQXFMMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY0hKbGRpNXpjR3hwWTJVb2FTd2djSEpsZGk1c1pXNW5kR2dwTzF4dWZWeHVablZ1WTNScGIyNGdabWw0Um14dmQxTmxjVWwwWlcxektHWmpLU0I3WEc0Z0lDQWdhV1lnS0daakxuTjBZWEowTG5SNWNHVWdQVDA5SUNkbWJHOTNMWE5sY1MxemRHRnlkQ2NwSUh0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQnBkQ0J2WmlCbVl5NXBkR1Z0Y3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbDBMbk5sY0NBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDRnBkQzUyWVd4MVpTQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0ZwYm1Oc2RXUmxjMVJ2YTJWdUtHbDBMbk4wWVhKMExDQW5aWGh3YkdsamFYUXRhMlY1TFdsdVpDY3BJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSVdsdVkyeDFaR1Z6Vkc5clpXNG9hWFF1YzJWd0xDQW5iV0Z3TFhaaGJIVmxMV2x1WkNjcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsMExtdGxlU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUXVkbUZzZFdVZ1BTQnBkQzVyWlhrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVnNaWFJsSUdsMExtdGxlVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FYTkdiRzkzVkc5clpXNG9hWFF1ZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwZEM1MllXeDFaUzVsYm1RcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCQmNuSmhlUzV3Y205MGIzUjVjR1V1Y0hWemFDNWhjSEJzZVNocGRDNTJZV3gxWlM1bGJtUXNJR2wwTG5ObGNDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBMblpoYkhWbExtVnVaQ0E5SUdsMExuTmxjRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjSFZ6YUM1aGNIQnNlU2hwZEM1emRHRnlkQ3dnYVhRdWMyVndLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVWdhWFF1YzJWd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dWZWeHVMeW9xWEc0Z0tpQkJJRmxCVFV3Z1kyOXVZM0psZEdVZ2MzbHVkR0Y0SUhSeVpXVWdLRU5UVkNrZ2NHRnljMlZ5WEc0Z0tseHVJQ29nWUdCZ2RITmNiaUFxSUdOdmJuTjBJSE55WXpvZ2MzUnlhVzVuSUQwZ0xpNHVYRzRnS2lCbWIzSWdLR052Ym5OMElIUnZhMlZ1SUc5bUlHNWxkeUJRWVhKelpYSW9LUzV3WVhKelpTaHpjbU1wS1NCN1hHNGdLaUFnSUM4dklIUnZhMlZ1T2lCVWIydGxibHh1SUNvZ2ZWeHVJQ29nWUdCZ1hHNGdLbHh1SUNvZ1ZHOGdkWE5sSUhSb1pTQndZWEp6WlhJZ2QybDBhQ0JoSUhWelpYSXRjSEp2ZG1sa1pXUWdiR1Y0WlhJNlhHNGdLbHh1SUNvZ1lHQmdkSE5jYmlBcUlHWjFibU4wYVc5dUtpQndZWEp6WlNoemIzVnlZMlU2SUhOMGNtbHVaeXdnYkdWNFpYSTZJRXhsZUdWeUtTQjdYRzRnS2lBZ0lHTnZibk4wSUhCaGNuTmxjaUE5SUc1bGR5QlFZWEp6WlhJb0tWeHVJQ29nSUNCbWIzSWdLR052Ym5OMElHeGxlR1Z0WlNCdlppQnNaWGhsY2k1c1pYZ29jMjkxY21ObEtTbGNiaUFxSUNBZ0lDQjVhV1ZzWkNvZ2NHRnljMlZ5TG01bGVIUW9iR1Y0WlcxbEtWeHVJQ29nSUNCNWFXVnNaQ29nY0dGeWMyVnlMbVZ1WkNncFhHNGdLaUI5WEc0Z0tseHVJQ29nWTI5dWMzUWdjM0pqT2lCemRISnBibWNnUFNBdUxpNWNiaUFxSUdOdmJuTjBJR3hsZUdWeUlEMGdibVYzSUV4bGVHVnlLQ2xjYmlBcUlHWnZjaUFvWTI5dWMzUWdkRzlyWlc0Z2IyWWdjR0Z5YzJVb2MzSmpMQ0JzWlhobGNpa3BJSHRjYmlBcUlDQWdMeThnZEc5clpXNDZJRlJ2YTJWdVhHNGdLaUI5WEc0Z0tpQmdZR0JjYmlBcUwxeHVZMnhoYzNNZ1VHRnljMlZ5SUh0Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCQWNHRnlZVzBnYjI1T1pYZE1hVzVsSUMwZ1NXWWdaR1ZtYVc1bFpDd2dZMkZzYkdWa0lITmxjR0Z5WVhSbGJIa2dkMmwwYUNCMGFHVWdjM1JoY25RZ2NHOXphWFJwYjI0Z2IyWmNiaUFnSUNBZ0tpQWdJR1ZoWTJnZ2JtVjNJR3hwYm1VZ0tHbHVJR0J3WVhKelpTZ3BZQ3dnYVc1amJIVmthVzVuSUhSb1pTQnpkR0Z5ZENCdlppQnBibkIxZENrdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb2IyNU9aWGRNYVc1bEtTQjdYRzRnSUNBZ0lDQWdJQzhxS2lCSlppQjBjblZsTENCemNHRmpaU0JoYm1RZ2MyVnhkV1Z1WTJVZ2FXNWthV05oZEc5eWN5QmpiM1Z1ZENCaGN5QnBibVJsYm5SaGRHbHZiaUFxTDF4dUlDQWdJQ0FnSUNCMGFHbHpMbUYwVG1WM1RHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQzhxS2lCSlppQjBjblZsTENCdVpYaDBJSFJ2YTJWdUlHbHpJR0VnYzJOaGJHRnlJSFpoYkhWbElDb3ZYRzRnSUNBZ0lDQWdJSFJvYVhNdVlYUlRZMkZzWVhJZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0x5b3FJRU4xY25KbGJuUWdhVzVrWlc1MFlYUnBiMjRnYkdWMlpXd2dLaTljYmlBZ0lDQWdJQ0FnZEdocGN5NXBibVJsYm5RZ1BTQXdPMXh1SUNBZ0lDQWdJQ0F2S2lvZ1EzVnljbVZ1ZENCdlptWnpaWFFnYzJsdVkyVWdkR2hsSUhOMFlYSjBJRzltSUhCaGNuTnBibWNnS2k5Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV2Wm1aelpYUWdQU0F3TzF4dUlDQWdJQ0FnSUNBdktpb2dUMjRnZEdobElITmhiV1VnYkdsdVpTQjNhWFJvSUdFZ1lteHZZMnNnYldGd0lHdGxlU0FxTDF4dUlDQWdJQ0FnSUNCMGFHbHpMbTl1UzJWNVRHbHVaU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0F2S2lvZ1ZHOXdJR2x1WkdsallYUmxjeUIwYUdVZ2JtOWtaU0IwYUdGMEozTWdZM1Z5Y21WdWRHeDVJR0psYVc1bklHSjFhV3gwSUNvdlhHNGdJQ0FnSUNBZ0lIUm9hWE11YzNSaFkyc2dQU0JiWFR0Y2JpQWdJQ0FnSUNBZ0x5b3FJRlJvWlNCemIzVnlZMlVnYjJZZ2RHaGxJR04xY25KbGJuUWdkRzlyWlc0c0lITmxkQ0JwYmlCd1lYSnpaU2dwSUNvdlhHNGdJQ0FnSUNBZ0lIUm9hWE11YzI5MWNtTmxJRDBnSnljN1hHNGdJQ0FnSUNBZ0lDOHFLaUJVYUdVZ2RIbHdaU0J2WmlCMGFHVWdZM1Z5Y21WdWRDQjBiMnRsYml3Z2MyVjBJR2x1SUhCaGNuTmxLQ2tnS2k5Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUwZVhCbElEMGdKeWM3WEc0Z0lDQWdJQ0FnSUM4dklFMTFjM1FnWW1VZ1pHVm1hVzVsWkNCaFpuUmxjaUJnYm1WNGRDZ3BZRnh1SUNBZ0lDQWdJQ0IwYUdsekxteGxlR1Z5SUQwZ2JtVjNJRXhsZUdWeUtDazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWIyNU9aWGRNYVc1bElEMGdiMjVPWlhkTWFXNWxPMXh1SUNBZ0lIMWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlFZWEp6WlNCZ2MyOTFjbU5sWUNCaGN5QmhJRmxCVFV3Z2MzUnlaV0Z0TGx4dUlDQWdJQ0FxSUVsbUlHQnBibU52YlhCc1pYUmxZQ3dnWVNCd1lYSjBJRzltSUhSb1pTQnNZWE4wSUd4cGJtVWdiV0Y1SUdKbElHeGxablFnWVhNZ1lTQmlkV1ptWlhJZ1ptOXlJSFJvWlNCdVpYaDBJR05oYkd3dVhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCRmNuSnZjbk1nWVhKbElHNXZkQ0IwYUhKdmQyNHNJR0oxZENCNWFXVnNaR1ZrSUdGeklHQjdJSFI1Y0dVNklDZGxjbkp2Y2ljc0lHMWxjM05oWjJVZ2ZXQWdkRzlyWlc1ekxseHVJQ0FnSUNBcVhHNGdJQ0FnSUNvZ1FISmxkSFZ5Ym5NZ1FTQm5aVzVsY21GMGIzSWdiMllnZEc5clpXNXpJSEpsY0hKbGMyVnVkR2x1WnlCbFlXTm9JR1JwY21WamRHbDJaU3dnWkc5amRXMWxiblFzSUdGdVpDQnZkR2hsY2lCemRISjFZM1IxY21VdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnS25CaGNuTmxLSE52ZFhKalpTd2dhVzVqYjIxd2JHVjBaU0E5SUdaaGJITmxLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG05dVRtVjNUR2x1WlNBbUppQjBhR2x6TG05bVpuTmxkQ0E5UFQwZ01DbGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXViMjVPWlhkTWFXNWxLREFwTzF4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHeGxlR1Z0WlNCdlppQjBhR2x6TG14bGVHVnlMbXhsZUNoemIzVnlZMlVzSUdsdVkyOXRjR3hsZEdVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUXFJSFJvYVhNdWJtVjRkQ2hzWlhobGJXVXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb0lXbHVZMjl0Y0d4bGRHVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NWxibVFvS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUVdSMllXNWpaU0IwYUdVZ2NHRnljMlZ5SUdKNUlIUm9aU0JnYzI5MWNtTmxZQ0J2WmlCdmJtVWdiR1Y0YVdOaGJDQjBiMnRsYmk1Y2JpQWdJQ0FnS2k5Y2JpQWdJQ0FxYm1WNGRDaHpiM1Z5WTJVcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1emIzVnlZMlVnUFNCemIzVnlZMlU3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1GMFUyTmhiR0Z5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtRjBVMk5oYkdGeUlEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1emRHVndLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05bVpuTmxkQ0FyUFNCemIzVnlZMlV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUhSNWNHVWdQU0IwYjJ0bGJsUjVjR1VvYzI5MWNtTmxLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRjBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdZRTV2ZENCaElGbEJUVXdnZEc5clpXNDZJQ1I3YzI5MWNtTmxmV0E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV3YjNBb2V5QjBlWEJsT2lBblpYSnliM0luTENCdlptWnpaWFE2SUhSb2FYTXViMlptYzJWMExDQnRaWE56WVdkbExDQnpiM1Z5WTJVZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbTltWm5ObGRDQXJQU0J6YjNWeVkyVXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLSFI1Y0dVZ1BUMDlJQ2R6WTJGc1lYSW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1GMFRtVjNUR2x1WlNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1aGRGTmpZV3hoY2lBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5SNWNHVWdQU0FuYzJOaGJHRnlKenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZEhsd1pTQTlJSFI1Y0dVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1emRHVndLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R1Wlhkc2FXNWxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVoZEU1bGQweHBibVVnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbWx1WkdWdWRDQTlJREE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtOXVUbVYzVEdsdVpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YjI1T1pYZE1hVzVsS0hSb2FYTXViMlptYzJWMElDc2djMjkxY21ObExteGxibWQwYUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjNOd1lXTmxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdVlYUk9aWGRNYVc1bElDWW1JSE52ZFhKalpWc3dYU0E5UFQwZ0p5QW5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtUmxiblFnS3owZ2MyOTFjbU5sTG14bGJtZDBhRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aWGh3YkdsamFYUXRhMlY1TFdsdVpDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmJXRndMWFpoYkhWbExXbHVaQ2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5jMlZ4TFdsMFpXMHRhVzVrSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSb2FYTXVZWFJPWlhkTWFXNWxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtUmxiblFnS3owZ2MyOTFjbU5sTG14bGJtZDBhRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aRzlqTFcxdlpHVW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyWnNiM2N0WlhKeWIzSXRaVzVrSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVlYUk9aWGRNYVc1bElEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05bVpuTmxkQ0FyUFNCemIzVnlZMlV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lDOHFLaUJEWVd4c0lHRjBJR1Z1WkNCdlppQnBibkIxZENCMGJ5QndkWE5vSUc5MWRDQmhibmtnY21WdFlXbHVhVzVuSUdOdmJuTjBjblZqZEdsdmJuTWdLaTljYmlBZ0lDQXFaVzVrS0NrZ2UxeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2RHaHBjeTV6ZEdGamF5NXNaVzVuZEdnZ1BpQXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjRzl3S0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR2RsZENCemIzVnlZMlZVYjJ0bGJpZ3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjM1FnUFNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQjBhR2x6TG5SNWNHVXNYRzRnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFE2SUhSb2FYTXViMlptYzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1a1pXNTBPaUIwYUdsekxtbHVaR1Z1ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSE52ZFhKalpUb2dkR2hwY3k1emIzVnlZMlZjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOME8xeHVJQ0FnSUgxY2JpQWdJQ0FxYzNSbGNDZ3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkRzl3SUQwZ2RHaHBjeTV3WldWcktERXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTUwZVhCbElEMDlQU0FuWkc5akxXVnVaQ2NnSmlZZ0tDRjBiM0FnZkh3Z2RHOXdMblI1Y0dVZ0lUMDlJQ2RrYjJNdFpXNWtKeWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGRvYVd4bElDaDBhR2x6TG5OMFlXTnJMbXhsYm1kMGFDQStJREFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUXFJSFJvYVhNdWNHOXdLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5OMFlXTnJMbkIxYzJnb2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUNka2IyTXRaVzVrSnl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFE2SUhSb2FYTXViMlptYzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITnZkWEpqWlRvZ2RHaHBjeTV6YjNWeVkyVmNiaUFnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkRzl3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIbHBaV3hrS2lCMGFHbHpMbk4wY21WaGJTZ3BPMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSFJ2Y0M1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNka2IyTjFiV1Z1ZENjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhscFpXeGtLaUIwYUdsekxtUnZZM1Z0Wlc1MEtIUnZjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkaGJHbGhjeWM2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkelkyRnNZWEluT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmMybHVaMnhsTFhGMWIzUmxaQzF6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWkc5MVlteGxMWEYxYjNSbFpDMXpZMkZzWVhJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCNWFXVnNaQ29nZEdocGN5NXpZMkZzWVhJb2RHOXdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJKc2IyTnJMWE5qWVd4aGNpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIbHBaV3hrS2lCMGFHbHpMbUpzYjJOclUyTmhiR0Z5S0hSdmNDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RpYkc5amF5MXRZWEFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI1YVdWc1pDb2dkR2hwY3k1aWJHOWphMDFoY0NoMGIzQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWW14dlkyc3RjMlZ4SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdVlteHZZMnRUWlhGMVpXNWpaU2gwYjNBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5abXh2ZHkxamIyeHNaV04wYVc5dUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2VXbGxiR1FxSUhSb2FYTXVabXh2ZDBOdmJHeGxZM1JwYjI0b2RHOXdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJSdll5MWxibVFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI1YVdWc1pDb2dkR2hwY3k1a2IyTjFiV1Z1ZEVWdVpDaDBiM0FwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDOHFJR2x6ZEdGdVluVnNJR2xuYm05eVpTQnVaWGgwSUhOb2IzVnNaQ0J1YjNRZ2FHRndjR1Z1SUNvdlhHNGdJQ0FnSUNBZ0lIbHBaV3hrS2lCMGFHbHpMbkJ2Y0NncE8xeHVJQ0FnSUgxY2JpQWdJQ0J3WldWcktHNHBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUmhZMnRiZEdocGN5NXpkR0ZqYXk1c1pXNW5kR2dnTFNCdVhUdGNiaUFnSUNCOVhHNGdJQ0FnS25CdmNDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMGIydGxiaUE5SUdWeWNtOXlJRDgvSUhSb2FYTXVjM1JoWTJzdWNHOXdLQ2s3WEc0Z0lDQWdJQ0FnSUM4cUlHbHpkR0Z1WW5Wc0lHbG5ibTl5WlNCcFppQnphRzkxYkdRZ2JtOTBJR2hoY0hCbGJpQXFMMXh1SUNBZ0lDQWdJQ0JwWmlBb0lYUnZhMlZ1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdKMVJ5YVdWa0lIUnZJSEJ2Y0NCaGJpQmxiWEIwZVNCemRHRmpheWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNCN0lIUjVjR1U2SUNkbGNuSnZjaWNzSUc5bVpuTmxkRG9nZEdocGN5NXZabVp6WlhRc0lITnZkWEpqWlRvZ0p5Y3NJRzFsYzNOaFoyVWdmVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNoMGFHbHpMbk4wWVdOckxteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlV2xsYkdRZ2RHOXJaVzQ3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCMGIzQWdQU0IwYUdsekxuQmxaV3NvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RHOXJaVzR1ZEhsd1pTQTlQVDBnSjJKc2IyTnJMWE5qWVd4aGNpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCQ2JHOWpheUJ6WTJGc1lYSnpJSFZ6WlNCMGFHVnBjaUJ3WVhKbGJuUWdjbUYwYUdWeUlIUm9ZVzRnYUdWaFpHVnlJR2x1WkdWdWRGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUnZhMlZ1TG1sdVpHVnVkQ0E5SUNkcGJtUmxiblFuSUdsdUlIUnZjQ0EvSUhSdmNDNXBibVJsYm5RZ09pQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvZEc5clpXNHVkSGx3WlNBOVBUMGdKMlpzYjNjdFkyOXNiR1ZqZEdsdmJpY2dKaVlnZEc5d0xuUjVjR1VnUFQwOUlDZGtiMk4xYldWdWRDY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCSloyNXZjbVVnWVd4c0lHbHVaR1Z1ZENCbWIzSWdkRzl3TFd4bGRtVnNJR1pzYjNjZ1kyOXNiR1ZqZEdsdmJuTmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBiMnRsYmk1cGJtUmxiblFnUFNBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSdmEyVnVMblI1Y0dVZ1BUMDlJQ2RtYkc5M0xXTnZiR3hsWTNScGIyNG5LVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1pwZUVac2IzZFRaWEZKZEdWdGN5aDBiMnRsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSFJ2Y0M1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aRzlqZFcxbGJuUW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGIzQXVkbUZzZFdVZ1BTQjBiMnRsYmp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWW14dlkyc3RjMk5oYkdGeUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEc5d0xuQnliM0J6TG5CMWMyZ29kRzlyWlc0cE95QXZMeUJsY25KdmNseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkaWJHOWpheTF0WVhBbk9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR2wwSUQwZ2RHOXdMbWwwWlcxelczUnZjQzVwZEdWdGN5NXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2wwTG5aaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYjNBdWFYUmxiWE11Y0hWemFDaDdJSE4wWVhKME9pQmJYU3dnYTJWNU9pQjBiMnRsYml3Z2MyVndPaUJiWFNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YjI1TFpYbE1hVzVsSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHBkQzV6WlhBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBMblpoYkhWbElEMGdkRzlyWlc0N1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JQWW1wbFkzUXVZWE56YVdkdUtHbDBMQ0I3SUd0bGVUb2dkRzlyWlc0c0lITmxjRG9nVzEwZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05dVMyVjVUR2x1WlNBOUlDRnBkQzVsZUhCc2FXTnBkRXRsZVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbllteHZZMnN0YzJWeEp6b2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JwZENBOUlIUnZjQzVwZEdWdGMxdDBiM0F1YVhSbGJYTXViR1Z1WjNSb0lDMGdNVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwZEM1MllXeDFaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJ2Y0M1cGRHVnRjeTV3ZFhOb0tIc2djM1JoY25RNklGdGRMQ0IyWVd4MVpUb2dkRzlyWlc0Z2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBMblpoYkhWbElEMGdkRzlyWlc0N1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkbWJHOTNMV052Ykd4bFkzUnBiMjRuT2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHbDBJRDBnZEc5d0xtbDBaVzF6VzNSdmNDNXBkR1Z0Y3k1c1pXNW5kR2dnTFNBeFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnBkQ0I4ZkNCcGRDNTJZV3gxWlNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSdmNDNXBkR1Z0Y3k1d2RYTm9LSHNnYzNSaGNuUTZJRnRkTENCclpYazZJSFJ2YTJWdUxDQnpaWEE2SUZ0ZElIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJR2xtSUNocGRDNXpaWEFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEM1MllXeDFaU0E5SUhSdmEyVnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQlBZbXBsWTNRdVlYTnphV2R1S0dsMExDQjdJR3RsZVRvZ2RHOXJaVzRzSUhObGNEb2dXMTBnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeW9nYVhOMFlXNWlkV3dnYVdkdWIzSmxJRzVsZUhRZ2MyaHZkV3hrSUc1dmRDQm9ZWEJ3Wlc0Z0tpOWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2IzQW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjRzl3S0hSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ29kRzl3TG5SNWNHVWdQVDA5SUNka2IyTjFiV1Z1ZENjZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBiM0F1ZEhsd1pTQTlQVDBnSjJKc2IyTnJMVzFoY0NjZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBiM0F1ZEhsd1pTQTlQVDBnSjJKc2IyTnJMWE5sY1NjcElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLSFJ2YTJWdUxuUjVjR1VnUFQwOUlDZGliRzlqYXkxdFlYQW5JSHg4SUhSdmEyVnVMblI1Y0dVZ1BUMDlJQ2RpYkc5amF5MXpaWEVuS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUd4aGMzUWdQU0IwYjJ0bGJpNXBkR1Z0YzF0MGIydGxiaTVwZEdWdGN5NXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JHRnpkQ0FtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWhiR0Z6ZEM1elpYQWdKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lXeGhjM1F1ZG1Gc2RXVWdKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHRnpkQzV6ZEdGeWRDNXNaVzVuZEdnZ1BpQXdJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnBibVJPYjI1RmJYQjBlVWx1WkdWNEtHeGhjM1F1YzNSaGNuUXBJRDA5UFNBdE1TQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2RHOXJaVzR1YVc1a1pXNTBJRDA5UFNBd0lIeDhYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNZWE4wTG5OMFlYSjBMbVYyWlhKNUtITjBJRDArSUhOMExuUjVjR1VnSVQwOUlDZGpiMjF0Wlc1MEp5QjhmQ0J6ZEM1cGJtUmxiblFnUENCMGIydGxiaTVwYm1SbGJuUXBLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEc5d0xuUjVjR1VnUFQwOUlDZGtiMk4xYldWdWRDY3BYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBiM0F1Wlc1a0lEMGdiR0Z6ZEM1emRHRnlkRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkRzl3TG1sMFpXMXpMbkIxYzJnb2V5QnpkR0Z5ZERvZ2JHRnpkQzV6ZEdGeWRDQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHOXJaVzR1YVhSbGJYTXVjM0JzYVdObEtDMHhMQ0F4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdLbk4wY21WaGJTZ3BJSHRjYmlBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2gwYUdsekxuUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyUnBjbVZqZEdsMlpTMXNhVzVsSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ0I3SUhSNWNHVTZJQ2RrYVhKbFkzUnBkbVVuTENCdlptWnpaWFE2SUhSb2FYTXViMlptYzJWMExDQnpiM1Z5WTJVNklIUm9hWE11YzI5MWNtTmxJSDA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWW5sMFpTMXZjbVJsY2kxdFlYSnJKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjNOd1lXTmxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJOdmJXMWxiblFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmJtVjNiR2x1WlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FnZEdocGN5NXpiM1Z5WTJWVWIydGxianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RrYjJNdGJXOWtaU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNka2IyTXRjM1JoY25Rbk9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pHOWpJRDBnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBlWEJsT2lBblpHOWpkVzFsYm5RbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2Wm1aelpYUTZJSFJvYVhNdWIyWm1jMlYwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkR0Z5ZERvZ1cxMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMblI1Y0dVZ1BUMDlJQ2RrYjJNdGMzUmhjblFuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtiMk11YzNSaGNuUXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk4wWVdOckxuQjFjMmdvWkc5aktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2VXbGxiR1FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ0oyVnljbTl5Snl4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGREb2dkR2hwY3k1dlptWnpaWFFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRaWE56WVdkbE9pQmdWVzVsZUhCbFkzUmxaQ0FrZTNSb2FYTXVkSGx3WlgwZ2RHOXJaVzRnYVc0Z1dVRk5UQ0J6ZEhKbFlXMWdMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MyOTFjbU5sT2lCMGFHbHpMbk52ZFhKalpWeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNiaUFnSUNBcVpHOWpkVzFsYm5Rb1pHOWpLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaGtiMk11ZG1Gc2RXVXBYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZVdsbGJHUXFJSFJvYVhNdWJHbHVaVVZ1WkNoa2IyTXBPMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSFJvYVhNdWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblpHOWpMWE4wWVhKMEp6b2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobWFXNWtUbTl1Ulcxd2RIbEpibVJsZUNoa2IyTXVjM1JoY25RcElDRTlQU0F0TVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2IzQW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjM1JsY0NncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUnZZeTV6ZEdGeWRDNXdkWE5vS0hSb2FYTXVjMjkxY21ObFZHOXJaVzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMkZ1WTJodmNpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2QwWVdjbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5jM0JoWTJVbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZMjl0YldWdWRDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R1Wlhkc2FXNWxKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrYjJNdWMzUmhjblF1Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1luWWdQU0IwYUdsekxuTjBZWEowUW14dlkydFdZV3gxWlNoa2IyTXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb1luWXBYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk4wWVdOckxuQjFjMmdvWW5ZcE8xeHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBlWEJsT2lBblpYSnliM0luTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkRG9nZEdocGN5NXZabVp6WlhRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JXVnpjMkZuWlRvZ1lGVnVaWGh3WldOMFpXUWdKSHQwYUdsekxuUjVjR1Y5SUhSdmEyVnVJR2x1SUZsQlRVd2daRzlqZFcxbGJuUmdMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE52ZFhKalpUb2dkR2hwY3k1emIzVnlZMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ0tuTmpZV3hoY2loelkyRnNZWElwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWRIbHdaU0E5UFQwZ0oyMWhjQzEyWVd4MVpTMXBibVFuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQndjbVYySUQwZ1oyVjBVSEpsZGxCeWIzQnpLSFJvYVhNdWNHVmxheWd5S1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnpkR0Z5ZENBOUlHZGxkRVpwY25OMFMyVjVVM1JoY25SUWNtOXdjeWh3Y21WMktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnpaWEE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYzJOaGJHRnlMbVZ1WkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITmxjQ0E5SUhOallXeGhjaTVsYm1RN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MyVndMbkIxYzJnb2RHaHBjeTV6YjNWeVkyVlViMnRsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVnNaWFJsSUhOallXeGhjaTVsYm1RN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzJWd0lEMGdXM1JvYVhNdWMyOTFjbU5sVkc5clpXNWRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYldGd0lEMGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklDZGliRzlqYXkxdFlYQW5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGREb2djMk5oYkdGeUxtOW1abk5sZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxiblE2SUhOallXeGhjaTVwYm1SbGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWFJsYlhNNklGdDdJSE4wWVhKMExDQnJaWGs2SUhOallXeGhjaXdnYzJWd0lIMWRYRzRnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXZia3RsZVV4cGJtVWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkR0ZqYTF0MGFHbHpMbk4wWVdOckxteGxibWQwYUNBdElERmRJRDBnYldGd08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG14cGJtVkZibVFvYzJOaGJHRnlLVHRjYmlBZ0lDQjlYRzRnSUNBZ0ttSnNiMk5yVTJOaGJHRnlLSE5qWVd4aGNpa2dlMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSFJvYVhNdWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmMzQmhZMlVuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblkyOXRiV1Z1ZENjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHVaWGRzYVc1bEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpZMkZzWVhJdWNISnZjSE11Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHpZMkZzWVhJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITmpZV3hoY2k1emIzVnlZMlVnUFNCMGFHbHpMbk52ZFhKalpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJpYkc5amF5MXpZMkZzWVhJZ2MyOTFjbU5sSUdsdVkyeDFaR1Z6SUhSeVlXbHNhVzVuSUc1bGQyeHBibVZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtRjBUbVYzVEdsdVpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVwYm1SbGJuUWdQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG05dVRtVjNUR2x1WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2Jtd2dQU0IwYUdsekxuTnZkWEpqWlM1cGJtUmxlRTltS0NkY1hHNG5LU0FySURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGRvYVd4bElDaHViQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1dmJrNWxkMHhwYm1Vb2RHaHBjeTV2Wm1aelpYUWdLeUJ1YkNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdWJDQTlJSFJvYVhNdWMyOTFjbU5sTG1sdVpHVjRUMllvSjF4Y2JpY3NJRzVzS1NBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjRzl3S0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZLaUJwYzNSaGJtSjFiQ0JwWjI1dmNtVWdibVY0ZENCemFHOTFiR1FnYm05MElHaGhjSEJsYmlBcUwxeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1d2IzQW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I1YVdWc1pDb2dkR2hwY3k1emRHVndLQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdLbUpzYjJOclRXRndLRzFoY0NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcGRDQTlJRzFoY0M1cGRHVnRjMXR0WVhBdWFYUmxiWE11YkdWdVozUm9JQzBnTVYwN1hHNGdJQ0FnSUNBZ0lDOHZJR2wwTG5ObGNDQnBjeUIwY25WbExXbHphQ0JwWmlCd1lXbHlJR0ZzY21WaFpIa2dhR0Z6SUd0bGVTQnZjaUE2SUhObGNHRnlZWFJ2Y2x4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hSb2FYTXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ibVYzYkdsdVpTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1dmJrdGxlVXhwYm1VZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWFF1ZG1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWlc1a0lEMGdKMlZ1WkNjZ2FXNGdhWFF1ZG1Gc2RXVWdQeUJwZEM1MllXeDFaUzVsYm1RZ09pQjFibVJsWm1sdVpXUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3hoYzNRZ1BTQkJjbkpoZVM1cGMwRnljbUY1S0dWdVpDa2dQeUJsYm1SYlpXNWtMbXhsYm1kMGFDQXRJREZkSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JHRnpkRDh1ZEhsd1pTQTlQVDBnSjJOdmJXMWxiblFuS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWlc1a1B5NXdkWE5vS0hSb2FYTXVjMjkxY21ObFZHOXJaVzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhBdWFYUmxiWE11Y0hWemFDaDdJSE4wWVhKME9pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsMExuTmxjQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkQzV6WlhBdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsMExuTjBZWEowTG5CMWMyZ29kR2hwY3k1emIzVnlZMlZVYjJ0bGJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM053WVdObEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMk52YlcxbGJuUW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGRDNTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhBdWFYUmxiWE11Y0hWemFDaDdJSE4wWVhKME9pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsMExuTmxjQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkQzV6WlhBdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1GMFNXNWtaVzUwWldSRGIyMXRaVzUwS0dsMExuTjBZWEowTENCdFlYQXVhVzVrWlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2NISmxkaUE5SUcxaGNDNXBkR1Z0YzF0dFlYQXVhWFJsYlhNdWJHVnVaM1JvSUMwZ01sMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJtUWdQU0J3Y21WMlB5NTJZV3gxWlQ4dVpXNWtPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29aVzVrS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXdkWE5vTG1Gd2NHeDVLR1Z1WkN3Z2FYUXVjM1JoY25RcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Z1WkM1d2RYTm9LSFJvYVhNdWMyOTFjbU5sVkc5clpXNHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGNDNXBkR1Z0Y3k1d2IzQW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhRdWMzUmhjblF1Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbWx1WkdWdWRDQStQU0J0WVhBdWFXNWtaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmhkRTFoY0VsdVpHVnVkQ0E5SUNGMGFHbHpMbTl1UzJWNVRHbHVaU0FtSmlCMGFHbHpMbWx1WkdWdWRDQTlQVDBnYldGd0xtbHVaR1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHRjBUbVY0ZEVsMFpXMGdQU0JoZEUxaGNFbHVaR1Z1ZENBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDaHBkQzV6WlhBZ2ZId2dhWFF1Wlhod2JHbGphWFJMWlhrcElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MGVYQmxJQ0U5UFNBbmMyVnhMV2wwWlcwdGFXNWtKenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRVp2Y2lCbGJYQjBlU0J1YjJSbGN5d2dZWE56YVdkdUlHNWxkMnhwYm1VdGMyVndZWEpoZEdWa0lHNXZkQ0JwYm1SbGJuUmxaQ0JsYlhCMGVTQjBiMnRsYm5NZ2RHOGdabTlzYkc5M2FXNW5JRzV2WkdWY2JpQWdJQ0FnSUNBZ0lDQWdJR3hsZENCemRHRnlkQ0E5SUZ0ZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHRjBUbVY0ZEVsMFpXMGdKaVlnYVhRdWMyVndJQ1ltSUNGcGRDNTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUc1c0lEMGdXMTA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCcGRDNXpaWEF1YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjM1FnUFNCcGRDNXpaWEJiYVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4zYVhSamFDQW9jM1F1ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmJtVjNiR2x1WlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibXd1Y0hWemFDaHBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozTndZV05sSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMk52YlcxbGJuUW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHpkQzVwYm1SbGJuUWdQaUJ0WVhBdWFXNWtaVzUwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YkM1c1pXNW5kR2dnUFNBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnViQzVzWlc1bmRHZ2dQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodWJDNXNaVzVuZEdnZ1BqMGdNaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblFnUFNCcGRDNXpaWEF1YzNCc2FXTmxLRzVzV3pGZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSE4zYVhSamFDQW9kR2hwY3k1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZVzVqYUc5eUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkMFlXY25PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZWFJPWlhoMFNYUmxiU0I4ZkNCcGRDNTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblF1Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMWhjQzVwZEdWdGN5NXdkWE5vS0hzZ2MzUmhjblFnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbTl1UzJWNVRHbHVaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9hWFF1YzJWd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkQzV6WlhBdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBMbk4wWVhKMExuQjFjMmdvZEdocGN5NXpiM1Z5WTJWVWIydGxiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyVjRjR3hwWTJsMExXdGxlUzFwYm1Rbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXbDBMbk5sY0NBbUppQWhhWFF1Wlhod2JHbGphWFJMWlhrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbDBMbk4wWVhKMExuQjFjMmdvZEdocGN5NXpiM1Z5WTJWVWIydGxiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEM1bGVIQnNhV05wZEV0bGVTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1lYUk9aWGgwU1hSbGJTQjhmQ0JwZEM1MllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGNuUXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGNDNXBkR1Z0Y3k1d2RYTm9LSHNnYzNSaGNuUXNJR1Y0Y0d4cFkybDBTMlY1T2lCMGNuVmxJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1emRHRmpheTV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQW5ZbXh2WTJzdGJXRndKeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFE2SUhSb2FYTXViMlptYzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2x1WkdWdWREb2dkR2hwY3k1cGJtUmxiblFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUmxiWE02SUZ0N0lITjBZWEowT2lCYmRHaHBjeTV6YjNWeVkyVlViMnRsYmwwc0lHVjRjR3hwWTJsMFMyVjVPaUIwY25WbElIMWRYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOXVTMlY1VEdsdVpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkdFlYQXRkbUZzZFdVdGFXNWtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2wwTG1WNGNHeHBZMmwwUzJWNUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdsMExuTmxjQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYm1Oc2RXUmxjMVJ2YTJWdUtHbDBMbk4wWVhKMExDQW5ibVYzYkdsdVpTY3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRTlpYW1WamRDNWhjM05wWjI0b2FYUXNJSHNnYTJWNU9pQnVkV3hzTENCelpYQTZJRnQwYUdsekxuTnZkWEpqWlZSdmEyVnVYU0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBJRDBnWjJWMFJtbHljM1JMWlhsVGRHRnlkRkJ5YjNCektHbDBMbk4wWVhKMEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV6ZEdGamF5NXdkWE5vS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUNkaWJHOWpheTF0WVhBbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiMlptYzJWME9pQjBhR2x6TG05bVpuTmxkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsdVpHVnVkRG9nZEdocGN5NXBibVJsYm5Rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBkR1Z0Y3pvZ1czc2djM1JoY25Rc0lHdGxlVG9nYm5Wc2JDd2djMlZ3T2lCYmRHaHBjeTV6YjNWeVkyVlViMnRsYmwwZ2ZWMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhRdWRtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnRZWEF1YVhSbGJYTXVjSFZ6YUNoN0lITjBZWEowT2lCYlhTd2dhMlY1T2lCdWRXeHNMQ0J6WlhBNklGdDBhR2x6TG5OdmRYSmpaVlJ2YTJWdVhTQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR2x1WTJ4MVpHVnpWRzlyWlc0b2FYUXVjMlZ3TENBbmJXRndMWFpoYkhWbExXbHVaQ2NwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1emRHRmpheTV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nSjJKc2IyTnJMVzFoY0Njc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkRG9nZEdocGN5NXZabVp6WlhRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsdVpHVnVkRG9nZEdocGN5NXBibVJsYm5Rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsMFpXMXpPaUJiZXlCemRHRnlkQ3dnYTJWNU9pQnVkV3hzTENCelpYQTZJRnQwYUdsekxuTnZkWEpqWlZSdmEyVnVYU0I5WFZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9hWE5HYkc5M1ZHOXJaVzRvYVhRdWEyVjVLU0FtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDRnBibU5zZFdSbGMxUnZhMlZ1S0dsMExuTmxjQ3dnSjI1bGQyeHBibVVuS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjBZWEowSUQwZ1oyVjBSbWx5YzNSTFpYbFRkR0Z5ZEZCeWIzQnpLR2wwTG5OMFlYSjBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JyWlhrZ1BTQnBkQzVyWlhrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2MyVndJRDBnYVhRdWMyVndPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhObGNDNXdkWE5vS0hSb2FYTXVjMjkxY21ObFZHOXJaVzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRUIwY3kxbGVIQmxZM1F0WlhKeWIzSWdkSGx3WlNCbmRXRnlaQ0JwY3lCM2NtOXVaeUJvWlhKbFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzWlhSbElHbDBMbXRsZVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJBZEhNdFpYaHdaV04wTFdWeWNtOXlJSFI1Y0dVZ1ozVmhjbVFnYVhNZ2QzSnZibWNnYUdWeVpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JsYkdWMFpTQnBkQzV6WlhBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1emRHRmpheTV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nSjJKc2IyTnJMVzFoY0Njc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5bVpuTmxkRG9nZEdocGN5NXZabVp6WlhRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsdVpHVnVkRG9nZEdocGN5NXBibVJsYm5Rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsMFpXMXpPaUJiZXlCemRHRnlkQ3dnYTJWNUxDQnpaWEFnZlYxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLSE4wWVhKMExteGxibWQwYUNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5Qk9iM1FnWVdOMGRXRnNiSGtnWVhRZ2JtVjRkQ0JwZEdWdFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWFF1YzJWd0lEMGdhWFF1YzJWd0xtTnZibU5oZENoemRHRnlkQ3dnZEdocGN5NXpiM1Z5WTJWVWIydGxiaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEM1elpYQXVjSFZ6YUNoMGFHbHpMbk52ZFhKalpWUnZhMlZ1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaGFYUXVjMlZ3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdUMkpxWldOMExtRnpjMmxuYmlocGRDd2dleUJyWlhrNklHNTFiR3dzSUhObGNEb2dXM1JvYVhNdWMyOTFjbU5sVkc5clpXNWRJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhRdWRtRnNkV1VnZkh3Z1lYUk9aWGgwU1hSbGJTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxaGNDNXBkR1Z0Y3k1d2RYTm9LSHNnYzNSaGNuUXNJR3RsZVRvZ2JuVnNiQ3dnYzJWd09pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hwYm1Oc2RXUmxjMVJ2YTJWdUtHbDBMbk5sY0N3Z0oyMWhjQzEyWVd4MVpTMXBibVFuS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWMzUmhZMnN1Y0hWemFDaDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUNkaWJHOWpheTF0WVhBbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdlptWnpaWFE2SUhSb2FYTXViMlptYzJWMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxiblE2SUhSb2FYTXVhVzVrWlc1MExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRHVnRjem9nVzNzZ2MzUmhjblE2SUZ0ZExDQnJaWGs2SUc1MWJHd3NJSE5sY0RvZ1czUm9hWE11YzI5MWNtTmxWRzlyWlc1ZElIMWRYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRDNXpaWEF1Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05dVMyVjVUR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RoYkdsaGN5YzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmMyTmhiR0Z5SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R6YVc1bmJHVXRjWFZ2ZEdWa0xYTmpZV3hoY2ljNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWkc5MVlteGxMWEYxYjNSbFpDMXpZMkZzWVhJbk9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR1p6SUQwZ2RHaHBjeTVtYkc5M1UyTmhiR0Z5S0hSb2FYTXVkSGx3WlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoaGRFNWxlSFJKZEdWdElIeDhJR2wwTG5aaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhBdWFYUmxiWE11Y0hWemFDaDdJSE4wWVhKMExDQnJaWGs2SUdaekxDQnpaWEE2SUZ0ZElIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1dmJrdGxlVXhwYm1VZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsMExuTmxjQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkR0ZqYXk1d2RYTm9LR1p6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRTlpYW1WamRDNWhjM05wWjI0b2FYUXNJSHNnYTJWNU9pQm1jeXdnYzJWd09pQmJYU0I5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXViMjVMWlhsTWFXNWxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZbllnUFNCMGFHbHpMbk4wWVhKMFFteHZZMnRXWVd4MVpTaHRZWEFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWW5ZcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hoZEUxaGNFbHVaR1Z1ZENBbUppQmlkaTUwZVhCbElDRTlQU0FuWW14dlkyc3RjMlZ4SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzFoY0M1cGRHVnRjeTV3ZFhOb0tIc2djM1JoY25RZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5OMFlXTnJMbkIxYzJnb1luWXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhscFpXeGtLaUIwYUdsekxuQnZjQ2dwTzF4dUlDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXpkR1Z3S0NrN1hHNGdJQ0FnZlZ4dUlDQWdJQ3BpYkc5amExTmxjWFZsYm1ObEtITmxjU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JwZENBOUlITmxjUzVwZEdWdGMxdHpaWEV1YVhSbGJYTXViR1Z1WjNSb0lDMGdNVjA3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvZEdocGN5NTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHVaWGRzYVc1bEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhRdWRtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pXNWtJRDBnSjJWdVpDY2dhVzRnYVhRdWRtRnNkV1VnUHlCcGRDNTJZV3gxWlM1bGJtUWdPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUd4aGMzUWdQU0JCY25KaGVTNXBjMEZ5Y21GNUtHVnVaQ2tnUHlCbGJtUmJaVzVrTG14bGJtZDBhQ0F0SURGZElEb2dkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iR0Z6ZEQ4dWRIbHdaU0E5UFQwZ0oyTnZiVzFsYm5RbktWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXNWtQeTV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCelpYRXVhWFJsYlhNdWNIVnphQ2g3SUhOMFlYSjBPaUJiZEdocGN5NXpiM1Z5WTJWVWIydGxibDBnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUXVjM1JoY25RdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R6Y0dGalpTYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RqYjIxdFpXNTBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FYUXVkbUZzZFdVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE5sY1M1cGRHVnRjeTV3ZFhOb0tIc2djM1JoY25RNklGdDBhR2x6TG5OdmRYSmpaVlJ2YTJWdVhTQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WVhSSmJtUmxiblJsWkVOdmJXMWxiblFvYVhRdWMzUmhjblFzSUhObGNTNXBibVJsYm5RcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCd2NtVjJJRDBnYzJWeExtbDBaVzF6VzNObGNTNXBkR1Z0Y3k1c1pXNW5kR2dnTFNBeVhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdWdVpDQTlJSEJ5WlhZL0xuWmhiSFZsUHk1bGJtUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaGxibVFwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdRWEp5WVhrdWNISnZkRzkwZVhCbExuQjFjMmd1WVhCd2JIa29aVzVrTENCcGRDNXpkR0Z5ZENrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaVzVrTG5CMWMyZ29kR2hwY3k1emIzVnlZMlZVYjJ0bGJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzJWeExtbDBaVzF6TG5CdmNDZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEM1emRHRnlkQzV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZGhibU5vYjNJbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5kR0ZuSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hWFF1ZG1Gc2RXVWdmSHdnZEdocGN5NXBibVJsYm5RZ1BEMGdjMlZ4TG1sdVpHVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhRdWMzUmhjblF1Y0hWemFDaDBhR2x6TG5OdmRYSmpaVlJ2YTJWdUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHpaWEV0YVhSbGJTMXBibVFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1sdVpHVnVkQ0FoUFQwZ2MyVnhMbWx1WkdWdWRDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsMExuWmhiSFZsSUh4OElHbHVZMngxWkdWelZHOXJaVzRvYVhRdWMzUmhjblFzSUNkelpYRXRhWFJsYlMxcGJtUW5LU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MyVnhMbWwwWlcxekxuQjFjMmdvZXlCemRHRnlkRG9nVzNSb2FYTXVjMjkxY21ObFZHOXJaVzVkSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUXVjM1JoY25RdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YVc1a1pXNTBJRDRnYzJWeExtbHVaR1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZbllnUFNCMGFHbHpMbk4wWVhKMFFteHZZMnRXWVd4MVpTaHpaWEVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dKMktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1emRHRmpheTV3ZFhOb0tHSjJLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdlV2xsYkdRcUlIUm9hWE11Y0c5d0tDazdYRzRnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5OMFpYQW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ0ttWnNiM2REYjJ4c1pXTjBhVzl1S0daaktTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHbDBJRDBnWm1NdWFYUmxiWE5iWm1NdWFYUmxiWE11YkdWdVozUm9JQzBnTVYwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuUjVjR1VnUFQwOUlDZG1iRzkzTFdWeWNtOXlMV1Z1WkNjcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQjBiM0E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtieUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUXFJSFJvYVhNdWNHOXdLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEc5d0lEMGdkR2hwY3k1d1pXVnJLREVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU0IzYUdsc1pTQW9kRzl3SUNZbUlIUnZjQzUwZVhCbElEMDlQU0FuWm14dmR5MWpiMnhzWldOMGFXOXVKeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb1ptTXVaVzVrTG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNoMGFHbHpMblI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkamIyMXRZU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aWGh3YkdsamFYUXRhMlY1TFdsdVpDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hhWFFnZkh3Z2FYUXVjMlZ3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm1NdWFYUmxiWE11Y0hWemFDaDdJSE4wWVhKME9pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG5OMFlYSjBMbkIxYzJnb2RHaHBjeTV6YjNWeVkyVlViMnRsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkdFlYQXRkbUZzZFdVdGFXNWtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZwZENCOGZDQnBkQzUyWVd4MVpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWmpMbWwwWlcxekxuQjFjMmdvZXlCemRHRnlkRG9nVzEwc0lHdGxlVG9nYm5Wc2JDd2djMlZ3T2lCYmRHaHBjeTV6YjNWeVkyVlViMnRsYmwwZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsMExuTmxjQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG5ObGNDNXdkWE5vS0hSb2FYTXVjMjkxY21ObFZHOXJaVzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JQWW1wbFkzUXVZWE56YVdkdUtHbDBMQ0I3SUd0bGVUb2diblZzYkN3Z2MyVndPaUJiZEdocGN5NXpiM1Z5WTJWVWIydGxibDBnZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUNkemNHRmpaU2M2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZMjl0YldWdWRDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmJtVjNiR2x1WlNjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWVc1amFHOXlKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZDBZV2NuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdsMElIeDhJR2wwTG5aaGJIVmxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabU11YVhSbGJYTXVjSFZ6YUNoN0lITjBZWEowT2lCYmRHaHBjeTV6YjNWeVkyVlViMnRsYmwwZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dsMExuTmxjQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwTG5ObGNDNXdkWE5vS0hSb2FYTXVjMjkxY21ObFZHOXJaVzRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEM1emRHRnlkQzV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbllXeHBZWE1uT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM05qWVd4aGNpYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBbmMybHVaMnhsTFhGMWIzUmxaQzF6WTJGc1lYSW5PbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyUnZkV0pzWlMxeGRXOTBaV1F0YzJOaGJHRnlKem9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbWN5QTlJSFJvYVhNdVpteHZkMU5qWVd4aGNpaDBhR2x6TG5SNWNHVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JV2wwSUh4OElHbDBMblpoYkhWbEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptTXVhWFJsYlhNdWNIVnphQ2g3SUhOMFlYSjBPaUJiWFN3Z2EyVjVPaUJtY3l3Z2MyVndPaUJiWFNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhRdWMyVndLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1emRHRmpheTV3ZFhOb0tHWnpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdUMkpxWldOMExtRnpjMmxuYmlocGRDd2dleUJyWlhrNklHWnpMQ0J6WlhBNklGdGRJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJac2IzY3RiV0Z3TFdWdVpDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblpteHZkeTF6WlhFdFpXNWtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptTXVaVzVrTG5CMWMyZ29kR2hwY3k1emIzVnlZMlZVYjJ0bGJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR0oySUQwZ2RHaHBjeTV6ZEdGeWRFSnNiMk5yVm1Gc2RXVW9abU1wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdMeW9nYVhOMFlXNWlkV3dnYVdkdWIzSmxJR1ZzYzJVZ2MyaHZkV3hrSUc1dmRDQm9ZWEJ3Wlc0Z0tpOWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGlkaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuTjBZV05yTG5CMWMyZ29ZbllwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjRzl3S0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VXbGxiR1FxSUhSb2FYTXVjM1JsY0NncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2NHRnlaVzUwSUQwZ2RHaHBjeTV3WldWcktESXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEJoY21WdWRDNTBlWEJsSUQwOVBTQW5ZbXh2WTJzdGJXRndKeUFtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNnb2RHaHBjeTUwZVhCbElEMDlQU0FuYldGd0xYWmhiSFZsTFdsdVpDY2dKaVlnY0dGeVpXNTBMbWx1WkdWdWRDQTlQVDBnWm1NdWFXNWtaVzUwS1NCOGZGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FvZEdocGN5NTBlWEJsSUQwOVBTQW5ibVYzYkdsdVpTY2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Z3WVhKbGJuUXVhWFJsYlhOYmNHRnlaVzUwTG1sMFpXMXpMbXhsYm1kMGFDQXRJREZkTG5ObGNDa3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUXFJSFJvYVhNdWNHOXdLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZVdsbGJHUXFJSFJvYVhNdWMzUmxjQ2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2RHaHBjeTUwZVhCbElEMDlQU0FuYldGd0xYWmhiSFZsTFdsdVpDY2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVhKbGJuUXVkSGx3WlNBaFBUMGdKMlpzYjNjdFkyOXNiR1ZqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQndjbVYySUQwZ1oyVjBVSEpsZGxCeWIzQnpLSEJoY21WdWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2MzUmhjblFnUFNCblpYUkdhWEp6ZEV0bGVWTjBZWEowVUhKdmNITW9jSEpsZGlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptbDRSbXh2ZDFObGNVbDBaVzF6S0daaktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCelpYQWdQU0JtWXk1bGJtUXVjM0JzYVdObEtERXNJR1pqTG1WdVpDNXNaVzVuZEdncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITmxjQzV3ZFhOb0tIUm9hWE11YzI5MWNtTmxWRzlyWlc0cE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUcxaGNDQTlJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nSjJKc2IyTnJMVzFoY0Njc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGREb2dabU11YjJabWMyVjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxiblE2SUdaakxtbHVaR1Z1ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWFJsYlhNNklGdDdJSE4wWVhKMExDQnJaWGs2SUdaakxDQnpaWEFnZlYxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YjI1TFpYbE1hVzVsSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuTjBZV05yVzNSb2FYTXVjM1JoWTJzdWJHVnVaM1JvSUMwZ01WMGdQU0J0WVhBN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWFXVnNaQ29nZEdocGN5NXNhVzVsUlc1a0tHWmpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCbWJHOTNVMk5oYkdGeUtIUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWIyNU9aWGRNYVc1bEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdibXdnUFNCMGFHbHpMbk52ZFhKalpTNXBibVJsZUU5bUtDZGNYRzRuS1NBcklERTdYRzRnSUNBZ0lDQWdJQ0FnSUNCM2FHbHNaU0FvYm13Z0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbTl1VG1WM1RHbHVaU2gwYUdsekxtOW1abk5sZENBcklHNXNLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1YkNBOUlIUm9hWE11YzI5MWNtTmxMbWx1WkdWNFQyWW9KMXhjYmljc0lHNXNLU0FySURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J2Wm1aelpYUTZJSFJvYVhNdWIyWm1jMlYwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdhVzVrWlc1ME9pQjBhR2x6TG1sdVpHVnVkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lITnZkWEpqWlRvZ2RHaHBjeTV6YjNWeVkyVmNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzRnSUNBZ2MzUmhjblJDYkc5amExWmhiSFZsS0hCaGNtVnVkQ2tnZTF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hSb2FYTXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZV3hwWVhNbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5jMk5oYkdGeUp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM05wYm1kc1pTMXhkVzkwWldRdGMyTmhiR0Z5SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyUnZkV0pzWlMxeGRXOTBaV1F0YzJOaGJHRnlKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bWJHOTNVMk5oYkdGeUtIUm9hWE11ZEhsd1pTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2RpYkc5amF5MXpZMkZzWVhJdGFHVmhaR1Z5SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBlWEJsT2lBbllteHZZMnN0YzJOaGJHRnlKeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyWm1jMlYwT2lCMGFHbHpMbTltWm5ObGRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVc1a1pXNTBPaUIwYUdsekxtbHVaR1Z1ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEp2Y0hNNklGdDBhR2x6TG5OdmRYSmpaVlJ2YTJWdVhTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzI5MWNtTmxPaUFuSjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZG1iRzkzTFcxaGNDMXpkR0Z5ZENjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZG1iRzkzTFhObGNTMXpkR0Z5ZENjNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ0oyWnNiM2N0WTI5c2JHVmpkR2x2Ymljc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRzltWm5ObGREb2dkR2hwY3k1dlptWnpaWFFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Z1ZERvZ2RHaHBjeTVwYm1SbGJuUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMFlYSjBPaUIwYUdsekxuTnZkWEpqWlZSdmEyVnVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRHVnRjem9nVzEwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Z1WkRvZ1cxMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYzJWeExXbDBaVzB0YVc1a0p6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQW5ZbXh2WTJzdGMyVnhKeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2IyWm1jMlYwT2lCMGFHbHpMbTltWm5ObGRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVc1a1pXNTBPaUIwYUdsekxtbHVaR1Z1ZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhWFJsYlhNNklGdDdJSE4wWVhKME9pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmVjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblpYaHdiR2xqYVhRdGEyVjVMV2x1WkNjNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05dVMyVjVUR2x1WlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjSEpsZGlBOUlHZGxkRkJ5WlhaUWNtOXdjeWh3WVhKbGJuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjBZWEowSUQwZ1oyVjBSbWx5YzNSTFpYbFRkR0Z5ZEZCeWIzQnpLSEJ5WlhZcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBZWEowTG5CMWMyZ29kR2hwY3k1emIzVnlZMlZVYjJ0bGJpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUb2dKMkpzYjJOckxXMWhjQ2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHOW1abk5sZERvZ2RHaHBjeTV2Wm1aelpYUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsdVpHVnVkRG9nZEdocGN5NXBibVJsYm5Rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2wwWlcxek9pQmJleUJ6ZEdGeWRDd2daWGh3YkdsamFYUkxaWGs2SUhSeWRXVWdmVjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0FuYldGd0xYWmhiSFZsTFdsdVpDYzZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtOXVTMlY1VEdsdVpTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnY0hKbGRpQTlJR2RsZEZCeVpYWlFjbTl3Y3lod1lYSmxiblFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE4wWVhKMElEMGdaMlYwUm1seWMzUkxaWGxUZEdGeWRGQnliM0J6S0hCeVpYWXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSNWNHVTZJQ2RpYkc5amF5MXRZWEFuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklIUm9hWE11YjJabWMyVjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGJtUmxiblE2SUhSb2FYTXVhVzVrWlc1MExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwZEdWdGN6b2dXM3NnYzNSaGNuUXNJR3RsZVRvZ2JuVnNiQ3dnYzJWd09pQmJkR2hwY3k1emIzVnlZMlZVYjJ0bGJsMGdmVjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JpQWdJQ0JoZEVsdVpHVnVkR1ZrUTI5dGJXVnVkQ2h6ZEdGeWRDd2dhVzVrWlc1MEtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMblI1Y0dVZ0lUMDlJQ2RqYjIxdFpXNTBKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YVc1a1pXNTBJRHc5SUdsdVpHVnVkQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSE4wWVhKMExtVjJaWEo1S0hOMElEMCtJSE4wTG5SNWNHVWdQVDA5SUNkdVpYZHNhVzVsSnlCOGZDQnpkQzUwZVhCbElEMDlQU0FuYzNCaFkyVW5LVHRjYmlBZ0lDQjlYRzRnSUNBZ0ttUnZZM1Z0Wlc1MFJXNWtLR1J2WTBWdVpDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHBjeTUwZVhCbElDRTlQU0FuWkc5akxXMXZaR1VuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pHOWpSVzVrTG1WdVpDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtiMk5GYm1RdVpXNWtMbkIxYzJnb2RHaHBjeTV6YjNWeVkyVlViMnRsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHOWpSVzVrTG1WdVpDQTlJRnQwYUdsekxuTnZkWEpqWlZSdmEyVnVYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuUjVjR1VnUFQwOUlDZHVaWGRzYVc1bEp5bGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV3YjNBb0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNBcWJHbHVaVVZ1WkNoMGIydGxiaWtnZTF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0hSb2FYTXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5ZMjl0YldFbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQW5aRzlqTFhOMFlYSjBKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJSdll5MWxibVFuT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBblpteHZkeTF6WlhFdFpXNWtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnSjJac2IzY3RiV0Z3TFdWdVpDYzZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJQ2R0WVhBdGRtRnNkV1V0YVc1a0p6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV3YjNBb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjVhV1ZzWkNvZ2RHaHBjeTV6ZEdWd0tDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElDZHVaWGRzYVc1bEp6cGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG05dVMyVjVUR2x1WlNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnWm1Gc2JIUm9jbTkxWjJoY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0ozTndZV05sSnpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ0oyTnZiVzFsYm5Rbk9seHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCaGJHd2diM1JvWlhJZ2RtRnNkV1Z6SUdGeVpTQmxjbkp2Y25OY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kRzlyWlc0dVpXNWtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGIydGxiaTVsYm1RdWNIVnphQ2gwYUdsekxuTnZkWEpqWlZSdmEyVnVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJ2YTJWdUxtVnVaQ0E5SUZ0MGFHbHpMbk52ZFhKalpWUnZhMlZ1WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1MGVYQmxJRDA5UFNBbmJtVjNiR2x1WlNjcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGxwWld4a0tpQjBhR2x6TG5CdmNDZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2V5QlFZWEp6WlhJZ2ZUdGNiaUlzSUNKcGJYQnZjblFnZXlCRGIyMXdiM05sY2lCOUlHWnliMjBnSnk0dlkyOXRjRzl6WlM5amIyMXdiM05sY2k1cWN5YzdYRzVwYlhCdmNuUWdleUJFYjJOMWJXVnVkQ0I5SUdaeWIyMGdKeTR2Wkc5akwwUnZZM1Z0Wlc1MExtcHpKenRjYm1sdGNHOXlkQ0I3SUhCeVpYUjBhV1o1UlhKeWIzSXNJRmxCVFV4UVlYSnpaVVZ5Y205eUlIMGdabkp2YlNBbkxpOWxjbkp2Y25NdWFuTW5PMXh1YVcxd2IzSjBJSHNnZDJGeWJpQjlJR1p5YjIwZ0p5NHZiRzluTG1wekp6dGNibWx0Y0c5eWRDQjdJR2x6Ukc5amRXMWxiblFnZlNCbWNtOXRJQ2N1TDI1dlpHVnpMMmxrWlc1MGFYUjVMbXB6Snp0Y2JtbHRjRzl5ZENCN0lFeHBibVZEYjNWdWRHVnlJSDBnWm5KdmJTQW5MaTl3WVhKelpTOXNhVzVsTFdOdmRXNTBaWEl1YW5Nbk8xeHVhVzF3YjNKMElIc2dVR0Z5YzJWeUlIMGdabkp2YlNBbkxpOXdZWEp6WlM5d1lYSnpaWEl1YW5Nbk8xeHVYRzVtZFc1amRHbHZiaUJ3WVhKelpVOXdkR2x2Ym5Nb2IzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUdOdmJuTjBJSEJ5WlhSMGVVVnljbTl5Y3lBOUlHOXdkR2x2Ym5NdWNISmxkSFI1UlhKeWIzSnpJQ0U5UFNCbVlXeHpaVHRjYmlBZ0lDQmpiMjV6ZENCc2FXNWxRMjkxYm5SbGNpQTlJRzl3ZEdsdmJuTXViR2x1WlVOdmRXNTBaWElnZkh3Z0tIQnlaWFIwZVVWeWNtOXljeUFtSmlCdVpYY2dUR2x1WlVOdmRXNTBaWElvS1NrZ2ZId2diblZzYkR0Y2JpQWdJQ0J5WlhSMWNtNGdleUJzYVc1bFEyOTFiblJsY2l3Z2NISmxkSFI1UlhKeWIzSnpJSDA3WEc1OVhHNHZLaXBjYmlBcUlGQmhjbk5sSUhSb1pTQnBibkIxZENCaGN5QmhJSE4wY21WaGJTQnZaaUJaUVUxTUlHUnZZM1Z0Wlc1MGN5NWNiaUFxWEc0Z0tpQkViMk4xYldWdWRITWdjMmh2ZFd4a0lHSmxJSE5sY0dGeVlYUmxaQ0JtY205dElHVmhZMmdnYjNSb1pYSWdZbmtnWUM0dUxtQWdiM0lnWUMwdExXQWdiV0Z5YTJWeUlHeHBibVZ6TGx4dUlDcGNiaUFxSUVCeVpYUjFjbTV6SUVsbUlHRnVJR1Z0Y0hSNUlHQmtiMk56WUNCaGNuSmhlU0JwY3lCeVpYUjFjbTVsWkN3Z2FYUWdkMmxzYkNCaVpTQnZaaUIwZVhCbFhHNGdLaUFnSUVWdGNIUjVVM1J5WldGdElHRnVaQ0JqYjI1MFlXbHVJR0ZrWkdsMGFXOXVZV3dnYzNSeVpXRnRJR2x1Wm05eWJXRjBhVzl1TGlCSmJseHVJQ29nSUNCVWVYQmxVMk55YVhCMExDQjViM1VnYzJodmRXeGtJSFZ6WlNCZ0oyVnRjSFI1SnlCcGJpQmtiMk56WUNCaGN5QmhJSFI1Y0dVZ1ozVmhjbVFnWm05eUlHbDBMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQndZWEp6WlVGc2JFUnZZM1Z0Wlc1MGN5aHpiM1Z5WTJVc0lHOXdkR2x2Ym5NZ1BTQjdmU2tnZTF4dUlDQWdJR052Ym5OMElIc2diR2x1WlVOdmRXNTBaWElzSUhCeVpYUjBlVVZ5Y205eWN5QjlJRDBnY0dGeWMyVlBjSFJwYjI1ektHOXdkR2x2Ym5NcE8xeHVJQ0FnSUdOdmJuTjBJSEJoY25ObGNpQTlJRzVsZHlCUVlYSnpaWElvYkdsdVpVTnZkVzUwWlhJL0xtRmtaRTVsZDB4cGJtVXBPMXh1SUNBZ0lHTnZibk4wSUdOdmJYQnZjMlZ5SUQwZ2JtVjNJRU52YlhCdmMyVnlLRzl3ZEdsdmJuTXBPMXh1SUNBZ0lHTnZibk4wSUdSdlkzTWdQU0JCY25KaGVTNW1jbTl0S0dOdmJYQnZjMlZ5TG1OdmJYQnZjMlVvY0dGeWMyVnlMbkJoY25ObEtITnZkWEpqWlNrcEtUdGNiaUFnSUNCcFppQW9jSEpsZEhSNVJYSnliM0p6SUNZbUlHeHBibVZEYjNWdWRHVnlLVnh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdSdll5QnZaaUJrYjJOektTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCa2IyTXVaWEp5YjNKekxtWnZja1ZoWTJnb2NISmxkSFJwWm5sRmNuSnZjaWh6YjNWeVkyVXNJR3hwYm1WRGIzVnVkR1Z5S1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrYjJNdWQyRnlibWx1WjNNdVptOXlSV0ZqYUNod2NtVjBkR2xtZVVWeWNtOXlLSE52ZFhKalpTd2diR2x1WlVOdmRXNTBaWElwS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGtiMk56TG14bGJtZDBhQ0ErSURBcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa2IyTnpPMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1WVhOemFXZHVLRnRkTENCN0lHVnRjSFI1T2lCMGNuVmxJSDBzSUdOdmJYQnZjMlZ5TG5OMGNtVmhiVWx1Wm04b0tTazdYRzU5WEc0dktpb2dVR0Z5YzJVZ1lXNGdhVzV3ZFhRZ2MzUnlhVzVuSUdsdWRHOGdZU0J6YVc1bmJHVWdXVUZOVEM1RWIyTjFiV1Z1ZENBcUwxeHVablZ1WTNScGIyNGdjR0Z5YzJWRWIyTjFiV1Z1ZENoemIzVnlZMlVzSUc5d2RHbHZibk1nUFNCN2ZTa2dlMXh1SUNBZ0lHTnZibk4wSUhzZ2JHbHVaVU52ZFc1MFpYSXNJSEJ5WlhSMGVVVnljbTl5Y3lCOUlEMGdjR0Z5YzJWUGNIUnBiMjV6S0c5d2RHbHZibk1wTzF4dUlDQWdJR052Ym5OMElIQmhjbk5sY2lBOUlHNWxkeUJRWVhKelpYSW9iR2x1WlVOdmRXNTBaWEkvTG1Ga1pFNWxkMHhwYm1VcE8xeHVJQ0FnSUdOdmJuTjBJR052YlhCdmMyVnlJRDBnYm1WM0lFTnZiWEJ2YzJWeUtHOXdkR2x2Ym5NcE8xeHVJQ0FnSUM4dklHQmtiMk5nSUdseklHRnNkMkY1Y3lCelpYUWdZbmtnWTI5dGNHOXpaUzVsYm1Rb2RISjFaU2tnWVhRZ2RHaGxJSFpsY25rZ2JHRjBaWE4wWEc0Z0lDQWdiR1YwSUdSdll5QTlJRzUxYkd3N1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCZlpHOWpJRzltSUdOdmJYQnZjMlZ5TG1OdmJYQnZjMlVvY0dGeWMyVnlMbkJoY25ObEtITnZkWEpqWlNrc0lIUnlkV1VzSUhOdmRYSmpaUzVzWlc1bmRHZ3BLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haRzlqS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdaRzlqSUQwZ1gyUnZZenRjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvWkc5akxtOXdkR2x2Ym5NdWJHOW5UR1YyWld3Z0lUMDlJQ2R6YVd4bGJuUW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtiMk11WlhKeWIzSnpMbkIxYzJnb2JtVjNJRmxCVFV4UVlYSnpaVVZ5Y205eUtGOWtiMk11Y21GdVoyVXVjMnhwWTJVb01Dd2dNaWtzSUNkTlZVeFVTVkJNUlY5RVQwTlRKeXdnSjFOdmRYSmpaU0JqYjI1MFlXbHVjeUJ0ZFd4MGFYQnNaU0JrYjJOMWJXVnVkSE03SUhCc1pXRnpaU0IxYzJVZ1dVRk5UQzV3WVhKelpVRnNiRVJ2WTNWdFpXNTBjeWdwSnlrcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSEJ5WlhSMGVVVnljbTl5Y3lBbUppQnNhVzVsUTI5MWJuUmxjaWtnZTF4dUlDQWdJQ0FnSUNCa2IyTXVaWEp5YjNKekxtWnZja1ZoWTJnb2NISmxkSFJwWm5sRmNuSnZjaWh6YjNWeVkyVXNJR3hwYm1WRGIzVnVkR1Z5S1NrN1hHNGdJQ0FnSUNBZ0lHUnZZeTUzWVhKdWFXNW5jeTVtYjNKRllXTm9LSEJ5WlhSMGFXWjVSWEp5YjNJb2MyOTFjbU5sTENCc2FXNWxRMjkxYm5SbGNpa3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWkc5ak8xeHVmVnh1Wm5WdVkzUnBiMjRnY0dGeWMyVW9jM0pqTENCeVpYWnBkbVZ5TENCdmNIUnBiMjV6S1NCN1hHNGdJQ0FnYkdWMElGOXlaWFpwZG1WeUlEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdjbVYyYVhabGNpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQmZjbVYyYVhabGNpQTlJSEpsZG1sMlpYSTdYRzRnSUNBZ2ZWeHVJQ0FnSUdWc2MyVWdhV1lnS0c5d2RHbHZibk1nUFQwOUlIVnVaR1ZtYVc1bFpDQW1KaUJ5WlhacGRtVnlJQ1ltSUhSNWNHVnZaaUJ5WlhacGRtVnlJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUNBZ0lDQnZjSFJwYjI1eklEMGdjbVYyYVhabGNqdGNiaUFnSUNCOVhHNGdJQ0FnWTI5dWMzUWdaRzlqSUQwZ2NHRnljMlZFYjJOMWJXVnVkQ2h6Y21Nc0lHOXdkR2x2Ym5NcE8xeHVJQ0FnSUdsbUlDZ2haRzlqS1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCa2IyTXVkMkZ5Ym1sdVozTXVabTl5UldGamFDaDNZWEp1YVc1bklEMCtJSGRoY200b1pHOWpMbTl3ZEdsdmJuTXViRzluVEdWMlpXd3NJSGRoY201cGJtY3BLVHRjYmlBZ0lDQnBaaUFvWkc5akxtVnljbTl5Y3k1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoa2IyTXViM0IwYVc5dWN5NXNiMmRNWlhabGJDQWhQVDBnSjNOcGJHVnVkQ2NwWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCa2IyTXVaWEp5YjNKeld6QmRPMXh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0JrYjJNdVpYSnliM0p6SUQwZ1cxMDdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJrYjJNdWRHOUtVeWhQWW1wbFkzUXVZWE56YVdkdUtIc2djbVYyYVhabGNqb2dYM0psZG1sMlpYSWdmU3dnYjNCMGFXOXVjeWtwTzF4dWZWeHVablZ1WTNScGIyNGdjM1J5YVc1bmFXWjVLSFpoYkhWbExDQnlaWEJzWVdObGNpd2diM0IwYVc5dWN5a2dlMXh1SUNBZ0lHeGxkQ0JmY21Wd2JHRmpaWElnUFNCdWRXeHNPMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdjbVZ3YkdGalpYSWdQVDA5SUNkbWRXNWpkR2x2YmljZ2ZId2dRWEp5WVhrdWFYTkJjbkpoZVNoeVpYQnNZV05sY2lrcElIdGNiaUFnSUNBZ0lDQWdYM0psY0d4aFkyVnlJRDBnY21Wd2JHRmpaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHVnNjMlVnYVdZZ0tHOXdkR2x2Ym5NZ1BUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCeVpYQnNZV05sY2lrZ2UxeHVJQ0FnSUNBZ0lDQnZjSFJwYjI1eklEMGdjbVZ3YkdGalpYSTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IzQjBhVzl1Y3lBOVBUMGdKM04wY21sdVp5Y3BYRzRnSUNBZ0lDQWdJRzl3ZEdsdmJuTWdQU0J2Y0hScGIyNXpMbXhsYm1kMGFEdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHOXdkR2x2Ym5NZ1BUMDlJQ2R1ZFcxaVpYSW5LU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR2x1WkdWdWRDQTlJRTFoZEdndWNtOTFibVFvYjNCMGFXOXVjeWs3WEc0Z0lDQWdJQ0FnSUc5d2RHbHZibk1nUFNCcGJtUmxiblFnUENBeElEOGdkVzVrWldacGJtVmtJRG9nYVc1a1pXNTBJRDRnT0NBL0lIc2dhVzVrWlc1ME9pQTRJSDBnT2lCN0lHbHVaR1Z1ZENCOU8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2RtRnNkV1VnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjdJR3RsWlhCVmJtUmxabWx1WldRZ2ZTQTlJRzl3ZEdsdmJuTWdQejhnY21Wd2JHRmpaWElnUHo4Z2UzMDdYRzRnSUNBZ0lDQWdJR2xtSUNnaGEyVmxjRlZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocGMwUnZZM1Z0Wlc1MEtIWmhiSFZsS1NBbUppQWhYM0psY0d4aFkyVnlLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkbUZzZFdVdWRHOVRkSEpwYm1jb2IzQjBhVzl1Y3lrN1hHNGdJQ0FnY21WMGRYSnVJRzVsZHlCRWIyTjFiV1Z1ZENoMllXeDFaU3dnWDNKbGNHeGhZMlZ5TENCdmNIUnBiMjV6S1M1MGIxTjBjbWx1WnlodmNIUnBiMjV6S1R0Y2JuMWNibHh1Wlhod2IzSjBJSHNnY0dGeWMyVXNJSEJoY25ObFFXeHNSRzlqZFcxbGJuUnpMQ0J3WVhKelpVUnZZM1Z0Wlc1MExDQnpkSEpwYm1kcFpua2dmVHRjYmlJc0lDSnBiWEJ2Y25RZ2V5QktjMjl1VEdsdWF5d2dUR2x1YXlCOUlHWnliMjBnWENKbGVIQnlaWE56YVc5dUwyeHBibXRjSWp0Y2JtbHRjRzl5ZENCN0lHZGxkRVY0ZEdWdWMybHZiaXdnWjJWMFJtbHNaVlJwZEd4bElIMGdabkp2YlNCY0luVjBhV3h6TDI1dmNtMWhiR2w2WlhKelhDSTdYRzVwYlhCdmNuUWdleUJEWVdOb1pXUk5aWFJoWkdGMFlTd2dSbWxzWlZOMFlYUnpMQ0JHY205dWRFMWhkSFJsY2tOaFkyaGxJSDBnWm5KdmJTQmNJbTlpYzJsa2FXRnVYQ0k3WEc1cGJYQnZjblFnZXlCd1lYSnpaU0JoY3lCd1lYSnpaVmxoYld3Z2ZTQm1jbTl0SUZ3aWVXRnRiRndpTzF4dWFXMXdiM0owSUVKVWNtVmxJR1p5YjIwZ1hDSnpiM0owWldRdFluUnlaV1ZjSWp0Y2JtbHRjRzl5ZENCN1hHNGdJQ0FnU1c1c2FXNWxSbWxsYkdRc1hHNGdJQ0FnU25OdmJrbHViR2x1WlVacFpXeGtMRnh1SUNBZ0lHRnpTVzVzYVc1bFJtbGxiR1FzWEc0Z0lDQWdaWGgwY21GamRFWjFiR3hNYVc1bFJtbGxiR1FzWEc0Z0lDQWdaWGgwY21GamRFbHViR2x1WlVacFpXeGtjeXhjYmlBZ0lDQnFjMjl1U1c1c2FXNWxSbWxsYkdRc1hHNTlJR1p5YjIwZ1hDSXVMMmx1YkdsdVpTMW1hV1ZzWkZ3aU8xeHVhVzF3YjNKMElIdGNiaUFnSUNCS2MyOXVUV0Z5YTJSdmQyNUNiRzlqYXl4Y2JpQWdJQ0JLYzI5dVRXRnlhMlJ2ZDI1TWFYTjBRbXh2WTJzc1hHNGdJQ0FnU25OdmJrMWhjbXRrYjNkdVRHbHpkRWwwWlcwc1hHNGdJQ0FnU25OdmJrMWhjbXRrYjNkdVVHRm5aU3hjYmlBZ0lDQktjMjl1VFdGeWEyUnZkMjVUWldOMGFXOXVMRnh1SUNBZ0lFcHpiMjVOWVhKclpHOTNibFJoYzJ0SmRHVnRMRnh1SUNBZ0lFcHpiMjVOWVhKclpHOTNia1JoZEdGaWJHOWpheXhjYmlBZ0lDQktjMjl1VFdGeWEyUnZkMjVEYjJSbFlteHZZMnNzWEc0Z0lDQWdTbk52YmtaeWIyNTBiV0YwZEdWeVJXNTBjbmtzWEc1OUlHWnliMjBnWENKcGJtUmxlQzkwZVhCbGN5OXFjMjl1TDIxaGNtdGtiM2R1WENJN1hHNXBiWEJ2Y25RZ2V5QktjMjl1UTI5dWRtVnljMmx2YmlCOUlHWnliMjBnWENKcGJtUmxlQzkwZVhCbGN5OXFjMjl1TDJOdmJXMXZibHdpTzF4dWFXMXdiM0owSUhzZ1dXRnRiRU52Ym5abGNuTnBiMjRnZlNCbWNtOXRJRndpYVc1a1pYZ3ZkSGx3WlhNdmVXRnRiRndpTzF4dWFXMXdiM0owSUhzZ2JXRndUMkpxWldOMFZtRnNkV1Z6SUgwZ1puSnZiU0JjSW5WMGFXeHpMMlJoZEdGY0lqdGNibHh1THlvcUlFMWhkR05vWlhNZ2VXRnRiQ0JrWVhSaFlteHZZMnR6TENCM2FHbGphQ0J6YUc5M0lIVndJR0Z6SUdsdVpHVndaVzVrWlc1MElHOWlhbVZqZEhNZ2FXNGdkR2hsSUdSaGRHRmpiM0psSUdsdVpHVjRMaUFxTDF4dVkyOXVjM1FnV1VGTlRGOUVRVlJCWDFKRlIwVllJRDBnTDJCZ1lIbGhiV3c2WkdGMFlTOXBPMXh1THlvcUlFMWhkR05vWlhNZ2RHaGxJSE4wWVhKMElHOW1JR0Z1ZVNCamIyUmxZbXh2WTJzZ1ptVnVZMlV1SUNvdlhHNWpiMjV6ZENCRFQwUkZRa3hQUTB0ZlJrVk9RMFZmVWtWSFJWZ2dQU0F2WGlnL09tQmdZSHgrZm40cEtDNHFLU1F2YVcwN1hHNHZLaW9nVFdGMFkyaGxjeUJzYVhOMElHbDBaVzF6SUNocGJtTnNkV1JwYm1jZ2FXNXphV1JsSUhSbGVIUWdZbXh2WTJ0ektTNGdLaTljYm1OdmJuTjBJRXhKVTFSZlNWUkZUVjlTUlVkRldDQTlJQzllVzF4Y2N6NWRLaWhjWEdRclhGd3VmRnhjWkN0Y1hDbDhYRndxZkMxOFhGd3JLVnhjY3lvb1hGeGJMbnN3TERGOVhGeGRLVDljWEhNcUtDNHFLUzl0YzNVN1hHNWNiaThxS2x4dUlDb2dSMmwyWlc0Z2RHaGxJSEpoZHlCemIzVnlZMlVnWVc1a0lFOWljMmxrYVdGdUlHMWxkR0ZrWVhSaElHWnZjaUJoSUdkcGRtVnVJRzFoY210a2IzZHVJR1pwYkdVc1hHNGdLaUJ5WlhSMWNtNGdablZzYkNCdFlYSnJaRzkzYmlCbWFXeGxJRzFsZEdGa1lYUmhMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRnlhMlJ2ZDI1SmJYQnZjblFvWEc0Z0lDQWdjR0YwYURvZ2MzUnlhVzVuTEZ4dUlDQWdJRzFoY210a2IzZHVPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2JXVjBZV1JoZEdFNklFTmhZMmhsWkUxbGRHRmtZWFJoTEZ4dUlDQWdJSE4wWVhSek9pQkdhV3hsVTNSaGRITmNiaWs2SUVwemIyNU5ZWEpyWkc5M2JsQmhaMlVnZTF4dUlDQWdJR052Ym5OMElIc2diR2x1WlhNc0lHMWxkR0ZrWVhSaE9pQndZV2RsVFdWMFlXUmhkR0VzSUdaeWIyNTBiV0YwZEdWeUxDQnpaV04wYVc5dWN5QjlJRDBnYldGeWEyUnZkMjVUYjNWeVkyVkpiWEJ2Y25Rb2NHRjBhQ3dnYldGeWEyUnZkMjRzSUcxbGRHRmtZWFJoS1R0Y2JpQWdJQ0JqYjI1emRDQndZV2RsSUQwZ2JtVjNJRkJoWjJWRVlYUmhLSEJoZEdnc0lITjBZWFJ6TENCc2FXNWxjeTVzWlc1bmRHZ3NJSEJoWjJWTlpYUmhaR0YwWVN3Z2MyVmpkR2x2Ym5Nc0lHWnliMjUwYldGMGRHVnlLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQndZV2RsTG1KMWFXeGtLQ2s3WEc1OVhHNWNiaThxS2lCSmJYQnZjblFnYldGeWEyUnZkMjRnWm1sc1pTQnRaWFJoWkdGMFlTd2djSEp2WkhWamFXNW5JR0ZzYkNCeVpXeGxkbUZ1ZENCdFlYSnJaRzkzYmlCa1lYUmhMaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUcxaGNtdGtiM2R1VTI5MWNtTmxTVzF3YjNKMEtGeHVJQ0FnSUhCaGRHZzZJSE4wY21sdVp5eGNiaUFnSUNCdFlYSnJaRzkzYmpvZ2MzUnlhVzVuTEZ4dUlDQWdJRzFsZEdGa1lYUmhPaUJEWVdOb1pXUk5aWFJoWkdGMFlWeHVLVG9nZTF4dUlDQWdJR3hwYm1Wek9pQnpkSEpwYm1kYlhUdGNiaUFnSUNCdFpYUmhaR0YwWVRvZ1RXVjBZV1JoZEdFN1hHNGdJQ0FnWm5KdmJuUnRZWFIwWlhJL09pQlNaV052Y21ROGMzUnlhVzVuTENCS2MyOXVSbkp2Ym5SdFlYUjBaWEpGYm5SeWVUNDdYRzRnSUNBZ2MyVmpkR2x2Ym5NNklGTmxZM1JwYjI1RVlYUmhXMTA3WEc1OUlIdGNiaUFnSUNCamIyNXpkQ0JtY205dWRHMWhkSFJsY2pvZ1VtVmpiM0prUEhOMGNtbHVaeXdnU25OdmJrWnliMjUwYldGMGRHVnlSVzUwY25rK0lId2dkVzVrWldacGJtVmtJRDBnYldWMFlXUmhkR0V1Wm5KdmJuUnRZWFIwWlhKY2JpQWdJQ0FnSUNBZ1B5QndZWEp6WlVaeWIyNTBiV0YwZEdWeVFteHZZMnNvYldWMFlXUmhkR0V1Wm5KdmJuUnRZWFIwWlhJcFhHNGdJQ0FnSUNBZ0lEb2dkVzVrWldacGJtVmtPMXh1SUNBZ0lHTnZibk4wSUd4cGJtVnpJRDBnYldGeWEyUnZkMjR1YzNCc2FYUW9MMXhjY2x4Y2JueGNYSEo4WEZ4dUx5azdYRzRnSUNBZ1kyOXVjM1FnYldGeWEyUnZkMjVOWlhSaFpHRjBZU0E5SUc1bGR5Qk5aWFJoWkdGMFlTZ3BPMXh1SUNBZ0lHTnZibk4wSUhObFkzUnBiMjVCY25KaGVUb2dVMlZqZEdsdmJrUmhkR0ZiWFNBOUlGdGRPMXh1SUNBZ0lDOHZMeTh2THk4dkx5OHZMeTh2WEc0Z0lDQWdMeThnVTJWamRHbHZibk1nTHk5Y2JpQWdJQ0F2THk4dkx5OHZMeTh2THk4dkwxeHVYRzRnSUNBZ1kyOXVjM1FnYldWMFlXaGxZV1JwYm1keklEMGdiV1YwWVdSaGRHRXVhR1ZoWkdsdVozTWdQejhnVzEwN1hHNGdJQ0FnYldWMFlXaGxZV1JwYm1kekxuTnZjblFvS0dFc0lHSXBJRDArSUdFdWNHOXphWFJwYjI0dWMzUmhjblF1YkdsdVpTQXRJR0l1Y0c5emFYUnBiMjR1YzNSaGNuUXViR2x1WlNrN1hHNWNiaUFnSUNCamIyNXpkQ0J6WldOMGFXOXVjeUE5SUc1bGR5QkNWSEpsWlR4dWRXMWlaWElzSUZObFkzUnBiMjVFWVhSaFBpaDFibVJsWm1sdVpXUXNJQ2hoTENCaUtTQTlQaUJoSUMwZ1lpazdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FXNWtaWGdnUFNBd095QnBibVJsZUNBOElHMWxkR0ZvWldGa2FXNW5jeTVzWlc1bmRHZzdJR2x1WkdWNEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaVzUwY25rZ1BTQnRaWFJoYUdWaFpHbHVaM05iYVc1a1pYaGRPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpkR0Z5ZENBOUlHVnVkSEo1TG5CdmMybDBhVzl1TG5OMFlYSjBMbXhwYm1VN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdWdVpDQTlJR2x1WkdWNElEMDlJRzFsZEdGb1pXRmthVzVuY3k1c1pXNW5kR2dnTFNBeElEOGdiR2x1WlhNdWJHVnVaM1JvSURvZ2JXVjBZV2hsWVdScGJtZHpXMmx1WkdWNElDc2dNVjB1Y0c5emFYUnBiMjR1YzNSaGNuUXViR2x1WlR0Y2JseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCelpXTjBhVzl1SUQwZ2JtVjNJRk5sWTNScGIyNUVZWFJoS0hOMFlYSjBMQ0JsYm1Rc0lHVnVkSEo1TG1obFlXUnBibWNzSUdWdWRISjVMbXhsZG1Wc0xDQnBibVJsZUNBcklERXBPMXh1SUNBZ0lDQWdJQ0J6WldOMGFXOXVjeTV6WlhRb2MzUmhjblFzSUhObFkzUnBiMjRwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGa1pDQmhiaUJwYlhCc2FXTnBkQ0J6WldOMGFXOXVJR1p2Y2lCMGFHVWdYQ0pvWldGa2FXNW5YQ0lnYzJWamRHbHZiaUJ2WmlCMGFHVWdjR0ZuWlNCcFppQjBhR1Z5WlNCcGN5QnViM1FnWVc0Z2FXMXRaV1JwWVhSbElHaGxZV1JsY2lCaWRYUWdkR2hsY21VZ2FYTmNiaUFnSUNBdkx5QnpiMjFsSUdOdmJuUmxiblFnYVc0Z2RHaGxJR1pwYkdVdUlFbG1JSFJvWlhKbElHRnlaU0J2ZEdobGNpQnpaV04wYVc5dWN5d2dkR2hsYmlCbmJ5QjFjQ0IwYnlCMGFHRjBMQ0J2ZEdobGNuZHBjMlVzSUdkdklHWnZjaUIwYUdVZ1pXNTBhWEpsSUdacGJHVXVYRzRnSUNBZ2FXWWdLSE5sWTNScGIyNXpMbk5wZW1VZ1BUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9JV1Z0Y0hSNWJHbHVaWE1vYkdsdVpYTXNJREFzSUd4cGJtVnpMbXhsYm1kMGFDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhObFkzUnBiMjRnUFNCdVpYY2dVMlZqZEdsdmJrUmhkR0VvTUN3Z2JHbHVaWE11YkdWdVozUm9MQ0JuWlhSR2FXeGxWR2wwYkdVb2NHRjBhQ2tzSURFc0lEQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MyVmpkR2x2Ym5NdWMyVjBLREFzSUhObFkzUnBiMjRwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1JtbHVaQ0IwYUdVZ2MzUmhjblFnYjJZZ2RHaGxJR1pwY25OMElITmxZM1JwYjI0dVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUdacGNuTjBJRDBnYzJWamRHbHZibk11WjJWMFVHRnBjazl5VG1WNGRFaHBaMmhsY2lnd0tUOHVXekZkSVNFN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0dacGNuTjBMbk4wWVhKMElENGdNQ0FtSmlBaFpXMXdkSGxzYVc1bGN5aHNhVzVsY3l3Z01Dd2dabWx5YzNRdWMzUmhjblFwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnpaV04wYVc5dUlEMGdibVYzSUZObFkzUnBiMjVFWVhSaEtEQXNJR1pwY25OMExuTjBZWEowTENCblpYUkdhV3hsVkdsMGJHVW9jR0YwYUNrc0lERXNJREFwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6WldOMGFXOXVjeTV6WlhRb01Dd2djMlZqZEdsdmJpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeTh2THk4dkx5OHZMeTljYmlBZ0lDQXZMeUJDYkc5amEzTWdMeTljYmlBZ0lDQXZMeTh2THk4dkx5OHZMeTljYmx4dUlDQWdJQzh2SUVGc2JDQmliRzlqYTNNN0lIZGxJSGRwYkd3Z1lYTnphV2R1SUhSaFozTWdZVzVrSUc5MGFHVnlJRzFsZEdGa1lYUmhJSFJ2SUdKc2IyTnJjeUJoY3lCM1pTQmxibU52ZFc1MFpYSWdkR2hsYlM0Z1FYUWdkR2hsSUdWdVpDd2diMjVzZVNCaWJHOWphM01nZEdoaGRGeHVJQ0FnSUM4dklHaGhkbVVnWVdOMGRXRnNJRzFsZEdGa1lYUmhJSGRwYkd3Z1ltVWdjM1J2Y21Wa0lIUnZJSE5oZG1VZ2IyNGdiV1Z0YjNKNUlIQnlaWE56ZFhKbExseHVJQ0FnSUdOdmJuTjBJR0pzYjJOcmN5QTlJRzVsZHlCQ1ZISmxaVHh1ZFcxaVpYSXNJRUpzYjJOclJHRjBZVDRvZFc1a1pXWnBibVZrTENBb1lTd2dZaWtnUFQ0Z1lTQXRJR0lwTzF4dUlDQWdJR3hsZENCaWJHOWphMDl5WkdsdVlXd2dQU0F4TzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnWW14dlkyc2diMllnYldWMFlXUmhkR0V1YzJWamRHbHZibk1nZkh3Z1cxMHBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UydHBjQ0JvWldGa2FXNW5jeUJpYkc5amEzTXNJSGRsSUdoaGJtUnNaU0IwYUdWdElITndaV05wWVd4c2VTQmhjeUJ6WldOMGFXOXVjeTVjYmlBZ0lDQWdJQ0FnYVdZZ0tHSnNiMk5yTG5SNWNHVWdQVDA5SUZ3aWFHVmhaR2x1WjF3aUtTQmpiMjUwYVc1MVpUdGNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpkR0Z5ZENBOUlHSnNiMk5yTG5CdmMybDBhVzl1TG5OMFlYSjBMbXhwYm1VN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdWdVpDQTlJR0pzYjJOckxuQnZjMmwwYVc5dUxtVnVaQzVzYVc1bElDc2dNVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjM1JoY25STWFXNWxJRDBnYkdsdVpYTmJjM1JoY25SZE95QXZMeUIwYnlCMWMyVWdkRzhnWTJobFkyc2dkR2hsSUdOdlpHVmliRzlqYXlCMGVYQmxYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHSnNiMk5yTG5SNWNHVWdQVDA5SUZ3aWJHbHpkRndpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpYkc5amEzTXVjMlYwS0hOMFlYSjBMQ0J1WlhjZ1RHbHpkRUpzYjJOclJHRjBZU2h6ZEdGeWRDd2daVzVrTENCaWJHOWphMDl5WkdsdVlXd3JLeXdnWW14dlkyc3VhV1FwS1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGliRzlqYXk1MGVYQmxJRDA5SUZ3aVkyOWtaVndpSUNZbUlGbEJUVXhmUkVGVVFWOVNSVWRGV0M1MFpYTjBLSE4wWVhKMFRHbHVaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIbGhiV3c2SUhOMGNtbHVaeUE5SUd4cGJtVnpYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbk5zYVdObEtITjBZWEowSUNzZ01Td2daVzVrSUMwZ01TbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVhbTlwYmloY0lseGNibHdpS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM1eVpYQnNZV05sS0M5Y1hIUXZaMjBzSUZ3aUlDQmNJaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCemNHeHBkRG9nVW1WamIzSmtQSE4wY21sdVp5d2dTbk52YmtaeWIyNTBiV0YwZEdWeVJXNTBjbmsrSUQwZ2NHRnljMlZHY205dWRHMWhkSFJsY2tKc2IyTnJLSEJoY25ObFdXRnRiQ2g1WVcxc0tTazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnNiMk5yY3k1elpYUW9jM1JoY25Rc0lHNWxkeUJFWVhSaFlteHZZMnRFWVhSaEtITjBZWEowTENCbGJtUXNJR0pzYjJOclQzSmthVzVoYkNzckxDQnpjR3hwZEN3Z1lteHZZMnN1YVdRcEtUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hpYkc5amF5NTBlWEJsSUQwOVBTQmNJbU52WkdWY0lpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdRMmhsWTJzZ2FXWWdkR2hsSUdKc2IyTnJJR2x6SUdabGJtTmxaQzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUcxaGRHTm9JRDBnYzNSaGNuUk1hVzVsUHk1dFlYUmphQ2hEVDBSRlFreFBRMHRmUmtWT1EwVmZVa1ZIUlZncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnRZWFJqYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvYVhNZ2FYTWdZVzRnYVc1a1pXNTBaV1F0YzNSNWJHVWdZMjlrWldKc2IyTnJMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0pzYjJOcmN5NXpaWFFvYzNSaGNuUXNJRzVsZHlCRGIyUmxZbXh2WTJ0RVlYUmhLSE4wWVhKMExDQmxibVFzSUdKc2IyTnJUM0prYVc1aGJDc3JMQ0JiWFN3Z1hDSnBibVJsYm5SY0lpd2djM1JoY25Rc0lHVnVaQ3dnWW14dlkyc3VhV1FwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JHRnVaM1ZoWjJWeklEMGdiV0YwWTJndWJHVnVaM1JvSUQ0Z01TQW1KaUJ0WVhSamFGc3hYU0EvSUcxaGRHTm9XekZkTG5Od2JHbDBLRndpTEZ3aUtTQTZJRnRkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKc2IyTnJjeTV6WlhRb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J1WlhjZ1EyOWtaV0pzYjJOclJHRjBZU2h6ZEdGeWRDd2daVzVrTENCaWJHOWphMDl5WkdsdVlXd3JLeXdnYkdGdVozVmhaMlZ6TENCY0ltWmxibU5sWkZ3aUxDQnpkR0Z5ZENBcklERXNJR1Z1WkNBdElERXNJR0pzYjJOckxtbGtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWJHOWphM011YzJWMEtITjBZWEowTENCdVpYY2dRbUZ6WlVKc2IyTnJSR0YwWVNoemRHRnlkQ3dnWlc1a0xDQmliRzlqYTA5eVpHbHVZV3dyS3l3Z1lteHZZMnN1ZEhsd1pTd2dZbXh2WTJzdWFXUXBLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGa1pDQmliRzlqYTNNZ2RHOGdjMlZqZEdsdmJuTXVYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQmliRzlqYXlCdlppQmliRzlqYTNNdWRtRnNkV1Z6S0NrcElIdGNiaUFnSUNBZ0lDQWdiRzl2YTNWd0tHSnNiMk5yTG5OMFlYSjBMQ0J6WldOMGFXOXVjeWsvTG1Kc2IyTnJLR0pzYjJOcktUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5OHZMeTh2THk4dkwxeHVJQ0FnSUM4dklFeHBjM1J6SUM4dlhHNGdJQ0FnTHk4dkx5OHZMeTh2THk5Y2JseHVJQ0FnSUM4dklFRnNiQ0JzYVhOMElHbDBaVzF6SUdsdUlHeHBjM1J6TGlCVGRHRnlkQ0IzYVhSb0lHRWdjMmx0Y0d4bElIUnlhWFpwWVd3Z2NHRnpjeTVjYmlBZ0lDQmpiMjV6ZENCamIyNTBaVzUwVW1WblpYZ2dQU0F2WGx0Y1hIUmNYR1pjWEhZZ1hTcGJYRnd0SzF4Y0tsMWNYSE1vWEZ4YkxseGNYVnhjY3lrL0x6dGNiaUFnSUNCamIyNXpkQ0J0WVhKclpYSlNaV2RsZUNBOUlDOWVLRDQvWEZ4elB5a3FLRnhjZEh4Y1hITXBLaTluTzF4dUlDQWdJR052Ym5OMElHeHBjM1JKZEdWdGN5QTlJRzVsZHlCQ1ZISmxaVHh1ZFcxaVpYSXNJRXhwYzNSSmRHVnRSR0YwWVQ0b2RXNWtaV1pwYm1Wa0xDQW9ZU3dnWWlrZ1BUNGdZU0F0SUdJcE8xeHVYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnNhWE4wSUc5bUlHMWxkR0ZrWVhSaExteHBjM1JKZEdWdGN5QjhmQ0JiWFNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCc2FXNWxJRDBnYkdsdVpYTXVjMnhwWTJVb2JHbHpkQzV3YjNOcGRHbHZiaTV6ZEdGeWRDNXNhVzVsTENCc2FYTjBMbkJ2YzJsMGFXOXVMbVZ1WkM1c2FXNWxJQ3NnTVNrdWFtOXBiaWhjSWx4Y2Jsd2lLVHRjYmx4dUlDQWdJQ0FnSUNBdkx5QlVUMFJQT2lCSmJYQnNaVzFsYm5RZ1pteGhaeUIzYUdsamFDQnphMmx3Y3lCcGJtUmxlR2x1WnlCc2FYTjBJR2wwWlcxekxseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYUmphQ0E5SUd4cGJtVS9MbTFoZEdOb0tFeEpVMVJmU1ZSRlRWOVNSVWRGV0NrN1hHNGdJQ0FnSUNBZ0lHeGxkQ0J6ZVcxaWIyd2dQU0IxYm1SbFptbHVaV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBaWGgwSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQnBaaUFvYldGMFkyZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjViV0p2YkNBOUlHMWhkR05vV3pGZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdWNGRDQTlJRzFoZEdOb1d6TmRPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVhSbGJTQTlJRzVsZHlCTWFYTjBTWFJsYlVSaGRHRW9YRzRnSUNBZ0lDQWdJQ0FnSUNCc2FYTjBMbkJ2YzJsMGFXOXVMbk4wWVhKMExteHBibVVzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnNhWE4wTG5CdmMybDBhVzl1TG1WdVpDNXNhVzVsSUNzZ01TeGNiaUFnSUNBZ0lDQWdJQ0FnSUd4cGMzUXVjR0Z5Wlc1MExGeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNsdFltOXNMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JHbHpkQzVwWkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJR3hwYzNRdWRHRnpheXhjYmlBZ0lDQWdJQ0FnSUNBZ0lIUmxlSFJjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ2JHbHpkRWwwWlcxekxuTmxkQ2hwZEdWdExuTjBZWEowTENCcGRHVnRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJKYmlCMGFHVWdjMlZqYjI1a0lHeHBjM1FnY0dGemN5d2dZV04wZFdGc2JIa2dZMjl1YzNSeWRXTjBJSFJvWlNCc2FYTjBJR2hsYVhKaGNtTm9lUzVjYmlBZ0lDQm1iM0lnS0dOdmJuTjBJR2wwWlcwZ2IyWWdiR2x6ZEVsMFpXMXpMblpoYkhWbGN5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBkR1Z0TG5CaGNtVnVkRXhwYm1VZ1BDQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCc2FYTjBRbXh2WTJzZ1BTQmliRzlqYTNNdVoyVjBLQzFwZEdWdExuQmhjbVZ1ZEV4cGJtVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0ZzYVhOMFFteHZZMnNnZkh3Z0lTaHNhWE4wUW14dlkyc3VkSGx3WlNBOVBUMGdYQ0pzYVhOMFhDSXBLU0JqYjI1MGFXNTFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdLR3hwYzNSQ2JHOWpheUJoY3lCTWFYTjBRbXh2WTJ0RVlYUmhLUzVwZEdWdGN5NXdkWE5vS0dsMFpXMHBPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHbHpkRWwwWlcxekxtZGxkQ2hwZEdWdExuQmhjbVZ1ZEV4cGJtVXBQeTVsYkdWdFpXNTBjeTV3ZFhOb0tHbDBaVzBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4dkx5OHZMeTh2TDF4dUlDQWdJQzh2SUZSaFozTWdMeTljYmlBZ0lDQXZMeTh2THk4dkx5OHZYRzVjYmlBZ0lDQXZMeUJHYjNJZ1pXRmphQ0IwWVdjc0lHRnpjMmxuYmlCcGRDQjBieUIwYUdVZ1lYQndjbTl3Y21saGRHVWdjMlZqZEdsdmJpQmhibVFnWW14dlkyc2dkR2hoZENCcGRDQnBjeUJoSUhCaGNuUWdiMll1WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0IwWVdka1pXWWdiMllnYldWMFlXUmhkR0V1ZEdGbmN5QS9QeUJiWFNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMFlXY2dQU0IwWVdka1pXWXVkR0ZuTG5OMFlYSjBjMWRwZEdnb1hDSWpYQ0lwSUQ4Z2RHRm5aR1ZtTG5SaFp5QTZJRndpSTF3aUlDc2dkR0ZuWkdWbUxuUmhaenRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiR2x1WlNBOUlIUmhaMlJsWmk1d2IzTnBkR2x2Ymk1emRHRnlkQzVzYVc1bE8xeHVJQ0FnSUNBZ0lDQnRZWEpyWkc5M2JrMWxkR0ZrWVhSaExuUmhaeWgwWVdjcE8xeHVYRzRnSUNBZ0lDQWdJR3h2YjJ0MWNDaHNhVzVsTENCelpXTjBhVzl1Y3lrL0xtMWxkR0ZrWVhSaExuUmhaeWgwWVdjcE8xeHVJQ0FnSUNBZ0lDQnNiMjlyZFhBb2JHbHVaU3dnWW14dlkydHpLVDh1YldWMFlXUmhkR0V1ZEdGbktIUmhaeWs3WEc0Z0lDQWdJQ0FnSUd4dmIydDFjQ2hzYVc1bExDQnNhWE4wU1hSbGJYTXBQeTV0WlhSaFpHRjBZUzUwWVdjb2RHRm5LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCWkdRZ1puSnZiblJ0WVhSMFpYSWdkR0ZuY3k1Y2JpQWdJQ0JwWmlBb2JXVjBZV1JoZEdFdVpuSnZiblJ0WVhSMFpYSXBJSHRjYmlBZ0lDQWdJQ0FnWm05eUlDaGpiMjV6ZENCeVlYZDBZV2NnYjJZZ1pYaDBjbUZqZEZSaFozTW9iV1YwWVdSaGRHRXVabkp2Ym5SdFlYUjBaWElwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQjBZV2NnUFNCeVlYZDBZV2N1YzNSaGNuUnpWMmwwYUNoY0lpTmNJaWtnUHlCeVlYZDBZV2NnT2lCY0lpTmNJaUFySUhKaGQzUmhaenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWhjbXRrYjNkdVRXVjBZV1JoZEdFdWRHRm5LSFJoWnlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5OHZMeTh2THk4dkwxeHVJQ0FnSUM4dklFeHBibXR6SUM4dlhHNGdJQ0FnTHk4dkx5OHZMeTh2THk5Y2JseHVJQ0FnSUdadmNpQW9iR1YwSUd4cGJtdGtaV1lnYjJZZ2JXVjBZV1JoZEdFdWJHbHVhM01nUHo4Z1cxMHBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiR2x1YXlBOUlFeHBibXN1YVc1bVpYSW9iR2x1YTJSbFppNXNhVzVyS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYkdsdVpTQTlJR3hwYm10a1pXWXVjRzl6YVhScGIyNHVjM1JoY25RdWJHbHVaVHRjYmlBZ0lDQWdJQ0FnYldGeWEyUnZkMjVOWlhSaFpHRjBZUzVzYVc1cktHeHBibXNwTzF4dVhHNGdJQ0FnSUNBZ0lHeHZiMnQxY0Noc2FXNWxMQ0J6WldOMGFXOXVjeWsvTG0xbGRHRmtZWFJoTG14cGJtc29iR2x1YXlrN1hHNGdJQ0FnSUNBZ0lHeHZiMnQxY0Noc2FXNWxMQ0JpYkc5amEzTXBQeTV0WlhSaFpHRjBZUzVzYVc1cktHeHBibXNwTzF4dUlDQWdJQ0FnSUNCc2IyOXJkWEFvYkdsdVpTd2diR2x6ZEVsMFpXMXpLVDh1YldWMFlXUmhkR0V1YkdsdWF5aHNhVzVyS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHVJQ0FnSUM4dklFWnliMjUwYldGMGRHVnlJRXhwYm10eklDOHZYRzRnSUNBZ0x5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljYmx4dUlDQWdJQzh2SUVaeWIyNTBiV0YwZEdWeUlHeHBibXR6SUdGeVpTQnZibXg1SUdGemMybG5ibVZrSUhSdklIUm9aU0J3WVdkbExseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2JHbHVhMlJsWmlCdlppQnRaWFJoWkdGMFlTNW1jbTl1ZEcxaGRIUmxja3hwYm10eklEOC9JRnRkS1NCN1hHNGdJQ0FnSUNBZ0lHMWhjbXRrYjNkdVRXVjBZV1JoZEdFdWJHbHVheWhNYVc1ckxtbHVabVZ5S0d4cGJtdGtaV1l1YkdsdWF5d2dabUZzYzJVc0lHeHBibXRrWldZdVpHbHpjR3hoZVZSbGVIUXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZYRzRnSUNBZ0x5OGdTVzVzYVc1bElFWnBaV3hrY3lBdkwxeHVJQ0FnSUM4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk5Y2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1ptbGxiR1FnYjJZZ2FYUmxjbUYwWlVsdWJHbHVaVVpwWld4a2N5aHNhVzVsY3lrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JHbHVaU0E5SUdacFpXeGtMbkJ2YzJsMGFXOXVMbXhwYm1VN1hHNGdJQ0FnSUNBZ0lHMWhjbXRrYjNkdVRXVjBZV1JoZEdFdWFXNXNhVzVsUm1sbGJHUW9abWxsYkdRcE8xeHVYRzRnSUNBZ0lDQWdJR3h2YjJ0MWNDaHNhVzVsTENCelpXTjBhVzl1Y3lrL0xtMWxkR0ZrWVhSaExtbHViR2x1WlVacFpXeGtLR1pwWld4a0tUdGNiaUFnSUNBZ0lDQWdiRzl2YTNWd0tHeHBibVVzSUdKc2IyTnJjeWsvTG0xbGRHRmtZWFJoTG1sdWJHbHVaVVpwWld4a0tHWnBaV3hrS1R0Y2JpQWdJQ0FnSUNBZ2JHOXZhM1Z3S0d4cGJtVXNJR3hwYzNSSmRHVnRjeWsvTG0xbGRHRmtZWFJoTG1sdWJHbHVaVVpwWld4a0tHWnBaV3hrS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjMlZqZEdsdmJrRnljbUY1TG5CMWMyZ29MaTR1YzJWamRHbHZibk11ZG1Gc2RXVnpLQ2twTzF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR3hwYm1WekxGeHVJQ0FnSUNBZ0lDQm1jbTl1ZEcxaGRIUmxjaXhjYmlBZ0lDQWdJQ0FnYldWMFlXUmhkR0U2SUcxaGNtdGtiM2R1VFdWMFlXUmhkR0VzWEc0Z0lDQWdJQ0FnSUhObFkzUnBiMjV6T2lCelpXTjBhVzl1UVhKeVlYa3NYRzRnSUNBZ2ZUdGNibjFjYmk4dkx5OHZMeTh2THk4dkx5OHZMeTh2TDF4dUx5OGdVR0Z5YzJsdVp5QkJhV1J6SUM4dlhHNHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNibHh1THlvcUlFTm9aV05ySUdsbUlIUm9aU0JuYVhabGJpQnNhVzVsSUhKaGJtZGxJR2x6SUdGc2JDQmxiWEIwZVM0Z1UzUmhjblFnYVhNZ2FXNWpiSFZ6YVhabExDQmxibVFnWlhoamJIVnphWFpsTGlBcUwxeHVablZ1WTNScGIyNGdaVzF3ZEhsc2FXNWxjeWhzYVc1bGN6b2djM1J5YVc1blcxMHNJSE4wWVhKME9pQnVkVzFpWlhJc0lHVnVaRG9nYm5WdFltVnlLVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdabTl5SUNoc1pYUWdhVzVrWlhnZ1BTQnpkR0Z5ZERzZ2FXNWtaWGdnUENCbGJtUTdJR2x1WkdWNEt5c3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHeHBibVZ6VzJsdVpHVjRYUzUwY21sdEtDa2dJVDA5SUZ3aVhDSXBJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JuMWNibHh1THlvcVhHNGdLaUJaYVdWc1pITWdZV3hzSUdsdWJHbHVaU0JtYVdWc1pITWdabTkxYm1RZ2FXNGdkR2hsSUdSdlkzVnRaVzUwSUdKNUlIUnlZWFpsY25OcGJtY2diR2x1WlNCaWVTQnNhVzVsSUhSb2NtOTFaMmdnZEdobElHUnZZM1Z0Wlc1MExpQlFaWEptYjNKdGN5QnpiMjFsSUc5d2RHbHRhWHBoZEdsdmJuTmNiaUFxSUhSdklITnJhWEFnWlhoMGNtRXRiR0Z5WjJVZ2JHbHVaWE1zSUdGdVpDQmpZVzRnWW1VZ1pHbHpZV0pzWldRdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaW9nYVhSbGNtRjBaVWx1YkdsdVpVWnBaV3hrY3loamIyNTBaVzUwT2lCemRISnBibWRiWFNrNklFZGxibVZ5WVhSdmNqeEpibXhwYm1WR2FXVnNaRDRnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR3hwYm1WdWJ5QTlJREE3SUd4cGJtVnVieUE4SUdOdmJuUmxiblF1YkdWdVozUm9PeUJzYVc1bGJtOHJLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JzYVc1bElEMGdZMjl1ZEdWdWRGdHNhVzVsYm05ZE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUVaaGMzUXRZbUZwYkc5MWRDQm1iM0lnYkdsdVpYTWdkR2hoZENCaGNtVWdkRzl2SUd4dmJtY2diM0lnWkc4Z2JtOTBJR052Ym5SaGFXNGdKem82Snk1Y2JpQWdJQ0FnSUNBZ2FXWWdLR3hwYm1VdWJHVnVaM1JvSUQ0Z016STNOamdnZkh3Z0lXeHBibVV1YVc1amJIVmtaWE1vWENJNk9sd2lLU2tnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1VtVXRZV1JrSUhOMWNIQnZjblFnWm05eUlIUm9iM05sSUdOMWMzUnZiU0JsYlc5cWFTQm1hV1ZzWkhNZ2IyNGdkR0Z6YTNNZ1lXNWtJSE5wYldsc1lYSXVYRzRnSUNBZ0lDQWdJR3hsZENCcGJteHBibVZHYVdWc1pITWdQU0JsZUhSeVlXTjBTVzVzYVc1bFJtbGxiR1J6S0d4cGJtVXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2FXNXNhVzVsUm1sbGJHUnpMbXhsYm1kMGFDQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2xtYVdWc1pDQnZaaUJwYm14cGJtVkdhV1ZzWkhNcElIbHBaV3hrSUdGelNXNXNhVzVsUm1sbGJHUW9hV1pwWld4a0xDQnNhVzVsYm04cE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHWjFiR3hNYVc1bElEMGdaWGgwY21GamRFWjFiR3hNYVc1bFJtbGxiR1FvYkdsdVpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ablZzYkV4cGJtVXBJSGxwWld4a0lHRnpTVzVzYVc1bFJtbGxiR1FvWm5Wc2JFeHBibVVzSUd4cGJtVnVieWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1OVhHNWNiaThxS2lCVWIzQXRiR1YyWld3Z1puVnVZM1JwYjI0Z2QyaHBZMmdnYldGd2N5QmhJRmxCVFV3Z1lteHZZMnNnTFNCcGJtTnNkV1JwYm1jZ1puSnZiblJ0WVhSMFpYSWdMU0JwYm5SdklHWnliMjUwYldGMGRHVnlJR1Z1ZEhKcFpYTXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY0dGeWMyVkdjbTl1ZEcxaGRIUmxja0pzYjJOcktHSnNiMk5yT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK0tUb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1NuTnZia1p5YjI1MGJXRjBkR1Z5Ulc1MGNuaytJSHRjYmlBZ0lDQmpiMjV6ZENCeVpYTjFiSFE2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRXB6YjI1R2NtOXVkRzFoZEhSbGNrVnVkSEo1UGlBOUlIdDlPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdhMlY1SUc5bUlFOWlhbVZqZEM1clpYbHpLR0pzYjJOcktTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjJZV3gxWlNBOUlHSnNiMk5yVzJ0bGVWMDdYRzVjYmlBZ0lDQWdJQ0FnY21WemRXeDBXMnRsZVM1MGIweHZkMlZ5UTJGelpTZ3BYU0E5SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3RsZVRvZ2EyVjVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUVwemIyNURiMjUyWlhKemFXOXVMbXB6YjI0b1dXRnRiRU52Ym5abGNuTnBiMjR1YkdsMFpYSmhiQ2gyWVd4MVpTa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtRjNPaUIyWVd4MVpTeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dWZWeHVYRzR2S2lvZ1JtbHVaSE1nWVc0Z1pXeGxiV1Z1ZENCM2FHbGphQ0JqYjI1MFlXbHVjeUIwYUdVZ1oybDJaVzRnYkdsdVpTNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJzYjI5cmRYQThWQ0JsZUhSbGJtUnpJSHNnYzNSaGNuUTZJRzUxYldKbGNqc2daVzVrT2lCdWRXMWlaWElnZlQ0b2JHbHVaVG9nYm5WdFltVnlMQ0IwY21WbE9pQkNWSEpsWlR4dWRXMWlaWElzSUZRK0tUb2dWQ0I4SUhWdVpHVm1hVzVsWkNCN1hHNGdJQ0FnWTI5dWMzUWdkR0Z5WjJWMElEMGdkSEpsWlM1blpYUlFZV2x5VDNKT1pYaDBURzkzWlhJb2JHbHVaU2svTGxzeFhUdGNiaUFnSUNCcFppQW9kR0Z5WjJWMElDWW1JSFJoY21kbGRDNWxibVFnUGowZ2JHbHVaU2tnY21WMGRYSnVJSFJoY21kbGREdGNibHh1SUNBZ0lISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hHNTlYRzVjYmk4cUtpQkZlSFJ5WVdOMElIUmhaM01nYVc1MFpXeHNhV2RsYm5Sc2VTQm1jbTl0SUdaeWIyNTBiV0YwZEdWeUxpQklZVzVrYkdWeklHRnljbUY1Y3l3Z2JuVnRZbVZ5Y3l3Z1lXNWtJSE4wY21sdVozTXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWlhoMGNtRmpkRlJoWjNNb2JXVjBZV1JoZEdFNklFWnliMjUwVFdGMGRHVnlRMkZqYUdVcE9pQnpkSEpwYm1kYlhTQjdYRzRnSUNBZ2JHVjBJSFJoWjB0bGVYTWdQU0JQWW1wbFkzUXVhMlY1Y3lodFpYUmhaR0YwWVNrdVptbHNkR1Z5S0NoMEtTQTlQaUIwTG5SdlRHOTNaWEpEWVhObEtDa2dQVDBnWENKMFlXZHpYQ0lnZkh3Z2RDNTBiMHh2ZDJWeVEyRnpaU2dwSUQwOUlGd2lkR0ZuWENJcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSaFowdGxlWE5jYmlBZ0lDQWdJQ0FnTG0xaGNDZ29heWtnUFQ0Z2MzQnNhWFJHY205dWRHMWhkSFJsY2xSaFowOXlRV3hwWVhNb2JXVjBZV1JoZEdGYmExMHNJQzliTEZ4Y2MxMHJMeWtwWEc0Z0lDQWdJQ0FnSUM1eVpXUjFZMlVvS0hBc0lHTXBJRDArSUhBdVkyOXVZMkYwS0dNcExDQmJYU2xjYmlBZ0lDQWdJQ0FnTG0xaGNDZ29jM1J5S1NBOVBpQW9jM1J5TG5OMFlYSjBjMWRwZEdnb1hDSWpYQ0lwSUQ4Z2MzUnlJRG9nWENJalhDSWdLeUJ6ZEhJcEtUdGNibjFjYmx4dUx5b3FJRk53YkdsMElHRWdabkp2Ym5SdFlYUjBaWElnYkdsemRDQnBiblJ2SUhObGNHRnlZWFJsSUdWc1pXMWxiblJ6T3lCb1lXNWtiR1Z6SUdGamRIVmhiQ0JzYVhOMGN5d2dZMjl0YldFZ2MyVndZWEpoZEdWa0lHeHBjM1J6TENCaGJtUWdjMmx1WjJ4bElHVnNaVzFsYm5SekxpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE53YkdsMFJuSnZiblJ0WVhSMFpYSlVZV2RQY2tGc2FXRnpLR1JoZEdFNklHRnVlU3dnYjI0NklGSmxaMFY0Y0NrNklITjBjbWx1WjF0ZElIdGNiaUFnSUNCcFppQW9aR0YwWVNBOVBTQnVkV3hzSUh4OElHUmhkR0VnUFQwZ2RXNWtaV1pwYm1Wa0tTQnlaWFIxY200Z1cxMDdYRzRnSUNBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb1pHRjBZU2twSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSaGRHRmNiaUFnSUNBZ0lDQWdJQ0FnSUM1bWFXeDBaWElvS0hNcElEMCtJQ0VoY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tITXBJRDArSUhOd2JHbDBSbkp2Ym5SdFlYUjBaWEpVWVdkUGNrRnNhV0Z6S0hNc0lHOXVLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXlaV1IxWTJVb0tIQXNJR01wSUQwK0lIQXVZMjl1WTJGMEtHTXBMQ0JiWFNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1JtOXlZMlVnZEc4Z1lTQnpkSEpwYm1jZ2RHOGdhR0Z1Wkd4bElHNTFiV0psY25NZ1lXNWtJSE52SUc5dUxseHVJQ0FnSUhKbGRIVnliaUFvWENKY0lpQXJJR1JoZEdFcFhHNGdJQ0FnSUNBZ0lDNXpjR3hwZENodmJpbGNiaUFnSUNBZ0lDQWdMbVpwYkhSbGNpZ29kQ2tnUFQ0Z0lTRjBLVnh1SUNBZ0lDQWdJQ0F1YldGd0tDaDBLU0E5UGlCMExuUnlhVzBvS1NsY2JpQWdJQ0FnSUNBZ0xtWnBiSFJsY2lnb2RDa2dQVDRnZEM1c1pXNW5kR2dnUGlBd0tUdGNibjFjYmx4dUx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljYmk4dklFSjFhV3hrWlhJZ1ZYUnBiR2wwYVdWeklDOHZYRzR2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkwxeHVYRzR2S2lvZ1EyOXVkbWxsYm1WdWRDQnphR0Z5WldRZ2RYUnBiR2wwZVNCbWIzSWdkSEpoWTJ0cGJtY2diV1YwWVdSaGRHRWdMU0JzYVc1cmN5d2dkR0ZuY3l3Z1lXNWtJSE52SUc5dUxpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFMWxkR0ZrWVhSaElIdGNiaUFnSUNCd2RXSnNhV01nZEdGbmN6b2dVMlYwUEhOMGNtbHVaejRnUFNCdVpYY2dVMlYwS0NrN1hHNGdJQ0FnY0hWaWJHbGpJR3hwYm10ek9pQk1hVzVyVzEwZ1BTQmJYVHRjYmlBZ0lDQndkV0pzYVdNZ2FXNXNhVzVsUm1sbGJHUnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQkpibXhwYm1WR2FXVnNaRDRnUFNCN2ZUdGNibHh1SUNBZ0lDOHFLaUJCWkdRZ1lTQjBZV2NnZEc4Z2RHaGxJRzFsZEdGa1lYUmhMaUFxTDF4dUlDQWdJSEIxWW14cFl5QjBZV2NvZEdGbk9pQnpkSEpwYm1jcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1MFlXZHpMbUZrWkNoMFlXY3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJCWkdRZ1lTQnNhVzVySUhSdklIUm9aU0J0WlhSaFpHRjBZUzRnS2k5Y2JpQWdJQ0J3ZFdKc2FXTWdiR2x1YXloc2FXNXJPaUJNYVc1cktTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbXhwYm10ekxtWnBibVFvS0hZcElEMCtJSFl1WlhGMVlXeHpLR3hwYm1zcEtTa2djbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG14cGJtdHpMbkIxYzJnb2JHbHVheWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVGa1pDQmhiaUJwYm14cGJtVWdabWxsYkdRZ2RHOGdkR2hsSUcxbGRHRmtZWFJoTGlBcUwxeHVJQ0FnSUhCMVlteHBZeUJwYm14cGJtVkdhV1ZzWkNobWFXVnNaRG9nU1c1c2FXNWxSbWxsYkdRcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JHOTNaWElnUFNCbWFXVnNaQzVyWlhrdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tFOWlhbVZqZEM1clpYbHpLSFJvYVhNdWFXNXNhVzVsUm1sbGJHUnpLUzV6YjIxbEtDaHJaWGtwSUQwK0lHdGxlUzUwYjB4dmQyVnlRMkZ6WlNncElEMDlJR3h2ZDJWeUtTa2djbVYwZFhKdU8xeHVYRzRnSUNBZ0lDQWdJSFJvYVhNdWFXNXNhVzVsUm1sbGJHUnpXMnh2ZDJWeVhTQTlJR1pwWld4a08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQlNaWFIxY200Z1lTQnNhWE4wSUc5bUlIVnVhWEYxWlNCaFpHUmxaQ0IwWVdkekxpQXFMMXh1SUNBZ0lIQjFZbXhwWXlCbWFXNXBjMmhVWVdkektDazZJSE4wY21sdVoxdGRJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRUZ5Y21GNUxtWnliMjBvZEdocGN5NTBZV2R6S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1VtVjBkWEp1SUdFZ2JHbHpkQ0J2WmlCS1UwOU9MWE5sY21saGJHbDZaV1FnYkdsdWEzTXVJQ292WEc0Z0lDQWdjSFZpYkdsaklHWnBibWx6YUV4cGJtdHpLQ2s2SUVwemIyNU1hVzVyVzEwZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVzYVc1cmN5NXRZWEFvS0d4cGJtc3BJRDArSUd4cGJtc3VkRzlQWW1wbFkzUW9LU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUZKbGRIVnliaUJoSUd4cGMzUWdiMllnU2xOUFRpMXpaWEpwWVd4cGVtVmtJR2x1YkdsdVpTQm1hV1ZzWkhNdUlDb3ZYRzRnSUNBZ2NIVmliR2xqSUdacGJtbHphRWx1YkdsdVpVWnBaV3hrY3lncE9pQlNaV052Y21ROGMzUnlhVzVuTENCS2MyOXVTVzVzYVc1bFJtbGxiR1ErSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGNFOWlhbVZqZEZaaGJIVmxjeWgwYUdsekxtbHViR2x1WlVacFpXeGtjeXdnYW5OdmJrbHViR2x1WlVacFpXeGtLVHRjYmlBZ0lDQjlYRzU5WEc1Y2JpOHFLaUJEYjI1MmFXVnVaVzUwSUhWMGFXeHBkSGtnWm05eUlHTnZibk4wY25WamRHbHVaeUJ3WVdkbElHOWlhbVZqZEhNdUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1VHRm5aVVJoZEdFZ2UxeHVJQ0FnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2loY2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUhCaGRHZzZJSE4wY21sdVp5eGNiaUFnSUNBZ0lDQWdjSFZpYkdsaklITjBZWFJ6T2lCR2FXeGxVM1JoZEhNc1hHNGdJQ0FnSUNBZ0lIQjFZbXhwWXlCc1pXNW5kR2c2SUc1MWJXSmxjaXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJRzFsZEdGa1lYUmhPaUJOWlhSaFpHRjBZU3hjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJSE5sWTNScGIyNXpPaUJUWldOMGFXOXVSR0YwWVZ0ZExGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1puSnZiblJ0WVhSMFpYSS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQktjMjl1Um5KdmJuUnRZWFIwWlhKRmJuUnllVDVjYmlBZ0lDQXBJSHQ5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZblZwYkdRb0tUb2dTbk52YmsxaGNtdGtiM2R1VUdGblpTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBa2NHRjBhRG9nZEdocGN5NXdZWFJvTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKR04wYVcxbE9pQjBhR2x6TG5OMFlYUnpMbU4wYVcxbExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkcxMGFXMWxPaUIwYUdsekxuTjBZWFJ6TG0xMGFXMWxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0pITnBlbVU2SUhSb2FYTXVjM1JoZEhNdWMybDZaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUmxlSFJsYm5OcGIyNDZJR2RsZEVWNGRHVnVjMmx2YmloMGFHbHpMbkJoZEdncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN0lITjBZWEowT2lBd0xDQmxibVE2SUhSb2FYTXViR1Z1WjNSb0lIMHNYRzRnSUNBZ0lDQWdJQ0FnSUNBa2RHRm5jem9nZEdocGN5NXRaWFJoWkdGMFlTNW1hVzVwYzJoVVlXZHpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiR2x1YTNNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9UR2x1YTNNb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNScGJtWnBaV3hrY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaEpibXhwYm1WR2FXVnNaSE1vS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1J6WldOMGFXOXVjem9nZEdocGN5NXpaV04wYVc5dWN5NXRZWEFvS0hncElEMCtJSGd1WW5WcGJHUW9LU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtabkp2Ym5SdFlYUjBaWEk2SUhSb2FYTXVabkp2Ym5SdFlYUjBaWElzWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dWZWeHVYRzR2S2lvZ1EyOXVkbWxsYm1WdWRDQjFkR2xzYVhSNUlHWnZjaUJqYjI1emRISjFZM1JwYm1jZ2JXRnlhMlJ2ZDI0Z2MyVmpkR2x2Ym5NdUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1UyVmpkR2x2YmtSaGRHRWdlMXh1SUNBZ0lIQjFZbXhwWXlCaWJHOWphM002SUVKc2IyTnJSR0YwWVZ0ZElEMGdXMTA3WEc0Z0lDQWdjSFZpYkdsaklHMWxkR0ZrWVhSaE9pQk5aWFJoWkdGMFlTQTlJRzVsZHlCTlpYUmhaR0YwWVNncE8xeHVYRzRnSUNBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ2MzUmhjblE2SUc1MWJXSmxjaXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJR1Z1WkRvZ2JuVnRZbVZ5TEZ4dUlDQWdJQ0FnSUNCd2RXSnNhV01nZEdsMGJHVTZJSE4wY21sdVp5eGNiaUFnSUNBZ0lDQWdjSFZpYkdsaklHeGxkbVZzT2lCdWRXMWlaWElzWEc0Z0lDQWdJQ0FnSUhCMVlteHBZeUJ2Y21ScGJtRnNPaUJ1ZFcxaVpYSmNiaUFnSUNBcElIdDlYRzVjYmlBZ0lDQndkV0pzYVdNZ1lteHZZMnNvWW14dlkyczZJRUpzYjJOclJHRjBZU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbUpzYjJOcmN5NXdkWE5vS0dKc2IyTnJLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ1luVnBiR1FvS1RvZ1NuTnZiazFoY210a2IzZHVVMlZqZEdsdmJpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBa2RHbDBiR1U2SUhSb2FYTXVkR2wwYkdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYjNKa2FXNWhiRG9nZEdocGN5NXZjbVJwYm1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkd4bGRtVnNPaUIwYUdsekxteGxkbVZzTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKSFJoWjNNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9WR0ZuY3lncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkdsdVptbGxiR1J6T2lCMGFHbHpMbTFsZEdGa1lYUmhMbVpwYm1semFFbHViR2x1WlVacFpXeGtjeWdwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKR3hwYm10ek9pQjBhR2x6TG0xbGRHRmtZWFJoTG1acGJtbHphRXhwYm10ektDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBa2NHOXphWFJwYjI0NklIc2djM1JoY25RNklIUm9hWE11YzNSaGNuUXNJR1Z1WkRvZ2RHaHBjeTVsYm1RZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNSaWJHOWphM002SUhSb2FYTXVZbXh2WTJ0ekxtMWhjQ2dvWW14dlkyc3BJRDArSUdKc2IyTnJMbUoxYVd4a0tDa3BMRnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYm4xY2JseHVMeW9xSUVOdmJuTjBjblZqZEhNZ2JXRnlhMlJ2ZDI0Z2JHbHpkQ0JpYkc5amEzTWdjM0JsWTJsbWFXTmhiR3g1TGlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUV4cGMzUkNiRzlqYTBSaGRHRWdlMXh1SUNBZ0lIQjFZbXhwWXlCMGVYQmxPaUJ6ZEhKcGJtY2dQU0JjSW14cGMzUmNJanRjYmlBZ0lDQndkV0pzYVdNZ2JXVjBZV1JoZEdFNklFMWxkR0ZrWVhSaElEMGdibVYzSUUxbGRHRmtZWFJoS0NrN1hHNGdJQ0FnY0hWaWJHbGpJR2wwWlcxek9pQk1hWE4wU1hSbGJVUmhkR0ZiWFNBOUlGdGRPMXh1WEc0Z0lDQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLSEIxWW14cFl5QnpkR0Z5ZERvZ2JuVnRZbVZ5TENCd2RXSnNhV01nWlc1a09pQnVkVzFpWlhJc0lIQjFZbXhwWXlCdmNtUnBibUZzT2lCdWRXMWlaWElzSUhCMVlteHBZeUJpYkc5amEwbGtQem9nYzNSeWFXNW5LU0I3ZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0oxYVd4a0tDazZJRXB6YjI1TllYSnJaRzkzYmt4cGMzUkNiRzlqYXlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYjNKa2FXNWhiRG9nZEdocGN5NXZjbVJwYm1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN0lITjBZWEowT2lCMGFHbHpMbk4wWVhKMExDQmxibVE2SUhSb2FYTXVaVzVrSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYVc1bWFXVnNaSE02SUhSb2FYTXViV1YwWVdSaGRHRXVabWx1YVhOb1NXNXNhVzVsUm1sbGJHUnpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtkR0ZuY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaFVZV2R6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYkdsdWEzTTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vVEdsdWEzTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUjBlWEJsT2lCY0lteHBjM1JjSWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1JpYkc5amEwbGtPaUIwYUdsekxtSnNiMk5yU1dRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrWld4bGJXVnVkSE02SUhSb2FYTXVhWFJsYlhNdWJXRndLQ2hwZEdWdEtTQTlQaUJwZEdWdExtSjFhV3hrS0NrcExGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibjFjYmx4dUx5b3FJRU52Ym5OMGNuVmpkSE1nYldGeWEyUnZkMjRnWTI5a1pXSnNiMk5yY3lCemNHVmphV1pwWTJGc2JIa3VJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdRMjlrWldKc2IyTnJSR0YwWVNCN1hHNGdJQ0FnY0hWaWJHbGpJSFI1Y0dVNklITjBjbWx1WnlBOUlGd2lZMjlrWldKc2IyTnJYQ0k3WEc0Z0lDQWdjSFZpYkdsaklHMWxkR0ZrWVhSaE9pQk5aWFJoWkdGMFlTQTlJRzVsZHlCTlpYUmhaR0YwWVNncE8xeHVYRzRnSUNBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ2MzUmhjblE2SUc1MWJXSmxjaXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJR1Z1WkRvZ2JuVnRZbVZ5TEZ4dUlDQWdJQ0FnSUNCd2RXSnNhV01nYjNKa2FXNWhiRG9nYm5WdFltVnlMRnh1SUNBZ0lDQWdJQ0J3ZFdKc2FXTWdiR0Z1WjNWaFoyVnpPaUJ6ZEhKcGJtZGJYU3hjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJSE4wZVd4bE9pQmNJbWx1WkdWdWRGd2lJSHdnWENKbVpXNWpaV1JjSWl4Y2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUdOdmJuUmxiblJUZEdGeWREb2diblZ0WW1WeUxGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1kyOXVkR1Z1ZEVWdVpEb2diblZ0WW1WeUxGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1lteHZZMnRKWkQ4NklITjBjbWx1WjF4dUlDQWdJQ2tnZTMxY2JseHVJQ0FnSUhCMVlteHBZeUJpZFdsc1pDZ3BPaUJLYzI5dVRXRnlhMlJ2ZDI1RGIyUmxZbXh2WTJzZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhSNWNHVTZJRndpWTI5a1pXSnNiMk5yWENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYjNKa2FXNWhiRG9nZEdocGN5NXZjbVJwYm1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN0lITjBZWEowT2lCMGFHbHpMbk4wWVhKMExDQmxibVE2SUhSb2FYTXVaVzVrSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYVc1bWFXVnNaSE02SUhSb2FYTXViV1YwWVdSaGRHRXVabWx1YVhOb1NXNXNhVzVsUm1sbGJHUnpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtkR0ZuY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaFVZV2R6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYkdsdWEzTTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vVEdsdWEzTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUmliRzlqYTBsa09pQjBhR2x6TG1Kc2IyTnJTV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiR0Z1WjNWaFoyVnpPaUIwYUdsekxteGhibWQxWVdkbGN5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNSemRIbHNaVG9nZEdocGN5NXpkSGxzWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1JqYjI1MFpXNTBVRzl6YVhScGIyNDZJSHNnYzNSaGNuUTZJSFJvYVhNdVkyOXVkR1Z1ZEZOMFlYSjBMQ0JsYm1RNklIUm9hWE11WTI5dWRHVnVkRVZ1WkNCOUxGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibjFjYmx4dUx5b3FJRU52Ym5OMGNuVmpkSE1nYldGeWEyUnZkMjRnWkdGMFlXSnNiMk5yY3lCemNHVmphV1pwWTJGc2JIa3VJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdSR0YwWVdKc2IyTnJSR0YwWVNCN1hHNGdJQ0FnY0hWaWJHbGpJSFI1Y0dVNklITjBjbWx1WnlBOUlGd2laR0YwWVdKc2IyTnJYQ0k3WEc0Z0lDQWdjSFZpYkdsaklHMWxkR0ZrWVhSaE9pQk5aWFJoWkdGMFlTQTlJRzVsZHlCTlpYUmhaR0YwWVNncE8xeHVYRzRnSUNBZ2NIVmliR2xqSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ2MzUmhjblE2SUc1MWJXSmxjaXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJR1Z1WkRvZ2JuVnRZbVZ5TEZ4dUlDQWdJQ0FnSUNCd2RXSnNhV01nYjNKa2FXNWhiRG9nYm5WdFltVnlMRnh1SUNBZ0lDQWdJQ0J3ZFdKc2FXTWdaR0YwWVRvZ1VtVmpiM0prUEhOMGNtbHVaeXdnU25OdmJrWnliMjUwYldGMGRHVnlSVzUwY25rK0xGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ1lteHZZMnRKWkQ4NklITjBjbWx1WjF4dUlDQWdJQ2tnZTMxY2JseHVJQ0FnSUhCMVlteHBZeUJpZFdsc1pDZ3BPaUJLYzI5dVRXRnlhMlJ2ZDI1RVlYUmhZbXh2WTJzZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhSNWNHVTZJRndpWkdGMFlXSnNiMk5yWENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYjNKa2FXNWhiRG9nZEdocGN5NXZjbVJwYm1Gc0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhCdmMybDBhVzl1T2lCN0lITjBZWEowT2lCMGFHbHpMbk4wWVhKMExDQmxibVE2SUhSb2FYTXVaVzVrSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYVc1bWFXVnNaSE02SUhSb2FYTXViV1YwWVdSaGRHRXVabWx1YVhOb1NXNXNhVzVsUm1sbGJHUnpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtkR0ZuY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaFVZV2R6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYkdsdWEzTTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vVEdsdWEzTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUmliRzlqYTBsa09pQjBhR2x6TG1Kc2IyTnJTV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtaR0YwWVRvZ2RHaHBjeTVrWVhSaExGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibjFjYmx4dUx5b3FJRUpoYzJVZ1lteHZZMnNnYldWMFlXUmhkR0VnZFhObFpDQm1iM0lnYm05dUxYTndaV05wWm1saklHSnNiMk5yY3k0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCQ1lYTmxRbXh2WTJ0RVlYUmhJSHRjYmlBZ0lDQndkV0pzYVdNZ2JXVjBZV1JoZEdFNklFMWxkR0ZrWVhSaElEMGdibVYzSUUxbGRHRmtZWFJoS0NrN1hHNWNiaUFnSUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb1hHNGdJQ0FnSUNBZ0lIQjFZbXhwWXlCemRHRnlkRG9nYm5WdFltVnlMRnh1SUNBZ0lDQWdJQ0J3ZFdKc2FXTWdaVzVrT2lCdWRXMWlaWElzWEc0Z0lDQWdJQ0FnSUhCMVlteHBZeUJ2Y21ScGJtRnNPaUJ1ZFcxaVpYSXNYRzRnSUNBZ0lDQWdJSEIxWW14cFl5QjBlWEJsT2lCemRISnBibWNzWEc0Z0lDQWdJQ0FnSUhCMVlteHBZeUJpYkc5amEwbGtQem9nYzNSeWFXNW5YRzRnSUNBZ0tTQjdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHSjFhV3hrS0NrNklFcHpiMjVOWVhKclpHOTNia0pzYjJOcklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNSMGVYQmxPaUIwYUdsekxuUjVjR1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiM0prYVc1aGJEb2dkR2hwY3k1dmNtUnBibUZzTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdKSEJ2YzJsMGFXOXVPaUI3SUhOMFlYSjBPaUIwYUdsekxuTjBZWEowTENCbGJtUTZJSFJvYVhNdVpXNWtJSDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWthVzVtYVdWc1pITTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vU1c1c2FXNWxSbWxsYkdSektDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBa2RHRm5jem9nZEdocGN5NXRaWFJoWkdGMFlTNW1hVzVwYzJoVVlXZHpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiR2x1YTNNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9UR2x1YTNNb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNSaWJHOWphMGxrT2lCMGFHbHpMbUpzYjJOclNXUXNYRzRnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JDYkc5amEwUmhkR0VnUFNCTWFYTjBRbXh2WTJ0RVlYUmhJSHdnUTI5a1pXSnNiMk5yUkdGMFlTQjhJRVJoZEdGaWJHOWphMFJoZEdFZ2ZDQkNZWE5sUW14dlkydEVZWFJoTzF4dVhHNHZLaW9nVlhScGJHbDBlU0JtYjNJZ1kyOXVjM1J5ZFdOMGFXNW5JRzFoY210a2IzZHVJR3hwYzNRZ2FYUmxiWE11SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVEdsemRFbDBaVzFFWVhSaElIdGNiaUFnSUNCd2RXSnNhV01nYldWMFlXUmhkR0U2SUUxbGRHRmtZWFJoSUQwZ2JtVjNJRTFsZEdGa1lYUmhLQ2s3WEc0Z0lDQWdjSFZpYkdsaklHVnNaVzFsYm5Sek9pQk1hWE4wU1hSbGJVUmhkR0ZiWFNBOUlGdGRPMXh1SUNBZ0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaGNiaUFnSUNBZ0lDQWdjSFZpYkdsaklITjBZWEowT2lCdWRXMWlaWElzWEc0Z0lDQWdJQ0FnSUhCMVlteHBZeUJsYm1RNklHNTFiV0psY2l4Y2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUhCaGNtVnVkRXhwYm1VNklHNTFiV0psY2l4Y2JpQWdJQ0FnSUNBZ2NIVmliR2xqSUhONWJXSnZiRDg2SUhOMGNtbHVaeXhjYmlBZ0lDQWdJQ0FnY0hWaWJHbGpJR0pzYjJOclNXUS9PaUJ6ZEhKcGJtY3NYRzRnSUNBZ0lDQWdJSEIxWW14cFl5QnpkR0YwZFhNL09pQnpkSEpwYm1jc1hHNGdJQ0FnSUNBZ0lIQjFZbXhwWXlCMFpYaDBQem9nYzNSeWFXNW5YRzRnSUNBZ0tTQjdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHSjFhV3hrS0NrNklFcHpiMjVOWVhKclpHOTNia3hwYzNSSmRHVnRJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDUndZWEpsYm5STWFXNWxPaUIwYUdsekxuQmhjbVZ1ZEV4cGJtVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBa2NHOXphWFJwYjI0NklIc2djM1JoY25RNklIUm9hWE11YzNSaGNuUXNJR1Z1WkRvZ2RHaHBjeTVsYm1RZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNSaWJHOWphMGxrT2lCMGFHbHpMbUpzYjJOclNXUXNYRzRnSUNBZ0lDQWdJQ0FnSUNBa1pXeGxiV1Z1ZEhNNklIUm9hWE11Wld4bGJXVnVkSE11YldGd0tDaGxiR1Z0Wlc1MEtTQTlQaUJsYkdWdFpXNTBMbUoxYVd4a0tDa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0pIUjVjR1U2SUhSb2FYTXVjM1JoZEhWeklEOGdYQ0owWVhOclhDSWdPaUJjSW14cGMzUmNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDUnBibVpwWld4a2N6b2dkR2hwY3k1dFpYUmhaR0YwWVM1bWFXNXBjMmhKYm14cGJtVkdhV1ZzWkhNb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNSMFlXZHpPaUIwYUdsekxtMWxkR0ZrWVhSaExtWnBibWx6YUZSaFozTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUnNhVzVyY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaE1hVzVyY3lncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSkhOMFlYUjFjem9nZEdocGN5NXpkR0YwZFhNc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYzNsdFltOXNPaUIwYUdsekxuTjViV0p2YkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1IwWlhoME9pQjBhR2x6TG5SbGVIUXNYRzRnSUNBZ0lDQWdJSDBnWVhNZ1NuTnZiazFoY210a2IzZHVWR0Z6YTBsMFpXMDdYRzRnSUNBZ2ZWeHVmVnh1SWl3Z0ltbHRjRzl5ZENCN0lFeHBibXNnZlNCbWNtOXRJRndpWlhod2NtVnpjMmx2Ymk5c2FXNXJYQ0k3WEc1cGJYQnZjblFnZXlCRVlYUmxWR2x0WlN3Z1JIVnlZWFJwYjI0Z2ZTQm1jbTl0SUZ3aWJIVjRiMjVjSWp0Y2JtbHRjRzl5ZENBcUlHRnpJRkFnWm5KdmJTQmNJbkJoY25OcGJXMXZibHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdJQ0JDYVc1aGNubFBjQ3hjYmlBZ0lDQkZlSEJ5WlhOemFXOXVMRnh1SUNBZ0lFVjRjSEpsYzNOcGIyNXpMRnh1SUNBZ0lFeGhiV0prWVVWNGNISmxjM05wYjI0c1hHNGdJQ0FnVEdsemRFVjRjSEpsYzNOcGIyNHNYRzRnSUNBZ1RHbDBaWEpoYkVWNGNISmxjM05wYjI0c1hHNGdJQ0FnVDJKcVpXTjBSWGh3Y21WemMybHZiaXhjYmlBZ0lDQldZWEpwWVdKc1pVVjRjSEpsYzNOcGIyNHNYRzU5SUdaeWIyMGdYQ0l1TDJWNGNISmxjM05wYjI1Y0lqdGNibWx0Y0c5eWRDQmxiVzlxYVZKbFoyVjRJR1p5YjIwZ1hDSmxiVzlxYVMxeVpXZGxlRndpTzF4dWFXMXdiM0owSUh0Y2JpQWdJQ0JKYm1SbGVFTm9hV3hrVDJZc1hHNGdJQ0FnU1c1a1pYaFFZWFJvTEZ4dUlDQWdJRWx1WkdWNFNXUXNYRzRnSUNBZ1NXNWtaWGhPYjNRc1hHNGdJQ0FnU1c1a1pYaFFZWEpsYm5SUFppeGNiaUFnSUNCSmJtUmxlRkYxWlhKNUxGeHVJQ0FnSUVsdVpHVjRWR0ZuWjJWa0xGeHVJQ0FnSUVsdVpHVjRWSGx3WldRc1hHNGdJQ0FnU1c1a1pYaE1hVzVyWldRc1hHNGdJQ0FnU1c1a1pYaEdhV1ZzWkN4Y2JpQWdJQ0JKYm1SbGVFVjRjSEpsYzNOcGIyNHNYRzU5SUdaeWIyMGdYQ0pwYm1SbGVDOTBlWEJsY3k5cGJtUmxlQzF4ZFdWeWVWd2lPMXh1YVcxd2IzSjBJSHNnYm05eWJXRnNhWHBsUkhWeVlYUnBiMjRnZlNCbWNtOXRJRndpZFhScGJITXZibTl5YldGc2FYcGxjbk5jSWp0Y2JtbHRjRzl5ZENCN0lFeHBkR1Z5WVd3Z2ZTQm1jbTl0SUZ3aVpYaHdjbVZ6YzJsdmJpOXNhWFJsY21Gc1hDSTdYRzVjYmk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMMXh1THk4Z1VHRnljMmx1WnlCUWNtbHRhWFJwZG1WeklDOHZYRzR2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OWNibHh1THlvcUlGQnlhVzFwZEdsMlpTQndZWEp6YVc1bklHWnZjaUJqYjIxdGIyNXNlU0J6WldWdUlIUjVjR1Z6TGlBcUwxeHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlFjbWx0YVhScGRtVnpUR0Z1WjNWaFoyVWdlMXh1SUNBZ0lHNTFiV0psY2pvZ2JuVnRZbVZ5TzF4dUlDQWdJSE4wY21sdVp6b2djM1J5YVc1bk8xeHVJQ0FnSUdWelkyRndaVU5vWVhKaFkzUmxjam9nYzNSeWFXNW5PMXh1SUNBZ0lHSnZiMnc2SUdKdmIyeGxZVzQ3WEc0Z0lDQWdkR0ZuT2lCemRISnBibWM3WEc0Z0lDQWdhV1JsYm5ScFptbGxjam9nYzNSeWFXNW5PMXh1SUNBZ0lHeHBibXM2SUV4cGJtczdYRzRnSUNBZ1pXMWlaV1JNYVc1ck9pQk1hVzVyTzF4dUlDQWdJSEp2YjNSRVlYUmxPaUJFWVhSbFZHbHRaVHRjYmlBZ0lDQmtZWFJsVTJodmNuUm9ZVzVrT2lCclpYbHZaaUIwZVhCbGIyWWdSRUZVUlY5VFNFOVNWRWhCVGtSVE8xeHVJQ0FnSUdSaGRHVTZJRVJoZEdWVWFXMWxPMXh1SUNBZ0lHUmhkR1ZRYkhWek9pQkVZWFJsVkdsdFpUdGNiaUFnSUNCa2RYSmhkR2x2YmxSNWNHVTZJR3RsZVc5bUlIUjVjR1Z2WmlCRVZWSkJWRWxQVGw5VVdWQkZVenRjYmlBZ0lDQmtkWEpoZEdsdmJqb2dSSFZ5WVhScGIyNDdYRzRnSUNBZ2NtRjNUblZzYkRvZ2MzUnlhVzVuTzF4dVhHNGdJQ0FnWW1sdVlYSjVVR3gxYzAxcGJuVnpPaUJDYVc1aGNubFBjRHRjYmlBZ0lDQmlhVzVoY25sTmRXeEVhWFk2SUVKcGJtRnllVTl3TzF4dUlDQWdJR0pwYm1GeWVVTnZiWEJoY21WUGNEb2dRbWx1WVhKNVQzQTdYRzRnSUNBZ1ltbHVZWEo1UVc1a1QzQTZJRUpwYm1GeWVVOXdPMXh1SUNBZ0lHSnBibUZ5ZVU5eVQzQTZJRUpwYm1GeWVVOXdPMXh1WEc0Z0lDQWdMeThnVEdsMFpYSmhiQ0JtYVdWc1pDQndZWEp6YVc1bklHWnZjaUJwYm1kbGMzUnBibWNnYVc1c2FXNWxJR1pwWld4a2N5QmhibVFnWm5KdmJuUnRZWFIwWlhJdVhHNGdJQ0FnWVhSdmJVbHViR2x1WlVacFpXeGtPaUJNYVhSbGNtRnNPMXh1SUNBZ0lHbHViR2x1WlVacFpXeGtUR2x6ZERvZ1RHbDBaWEpoYkZ0ZE8xeHVJQ0FnSUdsdWJHbHVaVVpwWld4a09pQk1hWFJsY21Gc08xeHVmVnh1WEc0dktpb2dTVzF3YkdWdFpXNTBZWFJwYjI1eklHWnZjaUJ0WVc1NUlIQnlhVzFwZEdsMlpYTXVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdVRkpKVFVsVVNWWkZVeUE5SUZBdVkzSmxZWFJsVEdGdVozVmhaMlU4VUhKcGJXbDBhWFpsYzB4aGJtZDFZV2RsUGloN1hHNGdJQ0FnYm5WdFltVnlPaUFvWHlrZ1BUNWNiaUFnSUNBZ0lDQWdVQzV5WldkbGVIQW9MeTAvV3pBdE9WMHJLRnhjTGxzd0xUbGRLeWsvTHlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tITjBjaWtnUFQ0Z1RuVnRZbVZ5TG5CaGNuTmxSbXh2WVhRb2MzUnlLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNWtaWE5qS0Z3aWJuVnRZbVZ5WENJcExGeHVYRzRnSUNBZ0x5OGdRU0J4ZFc5MFpTMXpkWEp5YjNWdVpHVmtJSE4wY21sdVp5QjNhR2xqYUNCemRYQndiM0owY3lCbGMyTmhjR1VnWTJoaGNtRmpkR1Z5Y3lBb0oxeGNKeWt1WEc0Z0lDQWdjM1J5YVc1bk9pQW9jU2tnUFQ1Y2JpQWdJQ0FnSUNBZ1VDNXpkSEpwYm1jb0oxd2lKeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDNTBhR1Z1S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZBdVlXeDBLSEV1WlhOallYQmxRMmhoY21GamRHVnlMQ0JRTG01dmJtVlBaaWduWENKY1hGeGNKeWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNWhkRXhsWVhOMEtEQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM1dFlYQW9LR05vWVhKektTQTlQaUJqYUdGeWN5NXFiMmx1S0Z3aVhDSXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG5OcmFYQW9VQzV6ZEhKcGJtY29KMXdpSnlrcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1WkdWell5aGNJbk4wY21sdVoxd2lLU3hjYmx4dUlDQWdJR1Z6WTJGd1pVTm9ZWEpoWTNSbGNqb2dLRjhwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVjM1J5YVc1bktGd2lYRnhjWEZ3aUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG5Sb1pXNG9VQzVoYm5rcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tDaGxjMk5oY0dWa0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdkMlVnWVhKbElHVnpZMkZ3YVc1bklHRWdZbUZqYTNOc1lYTm9JRzl5SUdFZ2NYVnZkR1VzSUhCaGMzTWdhVzRnYjI0Z2FXNGdaWE5qWVhCbFpDQm1iM0p0WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVnpZMkZ3WldRZ1BUMDlJQ2RjSWljcElISmxkSFZ5YmlBblhDSW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobGMyTmhjR1ZrSUQwOVBTQmNJbHhjWEZ4Y0lpa2djbVYwZFhKdUlGd2lYRnhjWEZ3aU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnY21WMGRYSnVJRndpWEZ4Y1hGd2lJQ3NnWlhOallYQmxaRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBMRnh1WEc0Z0lDQWdMeThnUVNCaWIyOXNaV0Z1SUhSeWRXVXZabUZzYzJVZ2RtRnNkV1V1WEc0Z0lDQWdZbTl2YkRvZ0tGOHBJRDArWEc0Z0lDQWdJQ0FnSUZBdWNtVm5aWGh3S0M5MGNuVmxmR1poYkhObGZGUnlkV1Y4Um1Gc2MyVXZLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvYzNSeUtTQTlQaUJ6ZEhJdWRHOU1iM2RsY2tOaGMyVW9LU0E5UFNCY0luUnlkV1ZjSWlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzVrWlhOaktGd2lZbTl2YkdWaGJsd2lLU3hjYmx4dUlDQWdJQzh2SUVFZ2RHRm5JRzltSUhSb1pTQm1iM0p0SUNjamMzUjFabVl2YUdWc2JHOHRkR2hsY21VbkxseHVJQ0FnSUhSaFp6b2dLRjhwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVjMlZ4VFdGd0tGeHVJQ0FnSUNBZ0lDQWdJQ0FnVUM1emRISnBibWNvWENJalhDSXBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1VDNWhiSFFvVUM1eVpXZGxlSEFvTDF0ZVhGeDFNakF3TUMxY1hIVXlNRFpHWEZ4MU1rVXdNQzFjWEhVeVJUZEdKeUZjSWlNa0pTWW9LU29yTEM0Nk96dzlQajlBWG1CN2ZIMStYRnhiWEZ4ZFhGeGNYRnhjYzEwdktTNWtaWE5qS0Z3aWRHVjRkRndpS1NrdWJXRnVlU2dwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLSE4wWVhKMExDQnlaWE4wS1NBOVBpQnpkR0Z5ZENBcklISmxjM1F1YW05cGJpaGNJbHdpS1Z4dUlDQWdJQ0FnSUNBcExtUmxjMk1vWENKMFlXZGNJaWtzWEc1Y2JpQWdJQ0F2THlCQklIWmhjbWxoWW14bElHbGtaVzUwYVdacFpYSXNJSGRvYVdOb0lHbHpJR0ZzY0doaGJuVnRaWEpwWXlCaGJtUWdiWFZ6ZENCemRHRnlkQ0IzYVhSb0lHRWdiR1YwZEdWeUlHOXlMaTR1SUdWdGIycHBMbHh1SUNBZ0lHbGtaVzUwYVdacFpYSTZJQ2hmS1NBOVBseHVJQ0FnSUNBZ0lDQlFMbk5sY1UxaGNDaGNiaUFnSUNBZ0lDQWdJQ0FnSUZBdVlXeDBLRkF1Y21WblpYaHdLQzliWEZ4d2UweGxkSFJsY24wa1hTOTFLU3dnVUM1eVpXZGxlSEFvUlUxUFNrbGZVa1ZIUlZncExtUmxjMk1vWENKMFpYaDBYQ0lwS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJRkF1WVd4MEtGQXVjbVZuWlhod0tDOWJNQzA1WEZ4d2UweGxkSFJsY24wa1h5MWRMM1VwTENCUUxuSmxaMlY0Y0NoRlRVOUtTVjlTUlVkRldDa3VaR1Z6WXloY0luUmxlSFJjSWlrcExtMWhibmtvS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2htYVhKemRDd2djbVZ6ZENrZ1BUNGdabWx5YzNRZ0t5QnlaWE4wTG1wdmFXNG9YQ0pjSWlsY2JpQWdJQ0FnSUNBZ0tTNWtaWE5qS0Z3aWRtRnlhV0ZpYkdWY0lpa3NYRzVjYmlBZ0lDQXZMeUJCYmlCUFluTnBaR2xoYmlCc2FXNXJJRzltSUhSb1pTQm1iM0p0SUZ0YlBHeHBibXMrWFYwdVhHNGdJQ0FnYkdsdWF6b2dLRjhwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVjbVZuWlhod0tDOWNYRnRjWEZzb1cxNWNYRnRjWEYxZEtqOHBYRnhkWEZ4ZEwzVXNJREVwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXViV0Z3S0Noc2FXNXJTVzV1WlhJcElEMCtJRXhwYm1zdWNHRnljMlZKYm01bGNpaHNhVzVyU1c1dVpYSXBLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtUmxjMk1vWENKbWFXeGxJR3hwYm10Y0lpa3NYRzVjYmlBZ0lDQXZMeUJCYmlCbGJXSmxaR1JoWW14bElHeHBibXNnZDJocFkyZ2dZMkZ1SUhOMFlYSjBJSGRwZEdnZ0p5RW5MaUJVYUdseklHOTJaWEpzWVhCeklIZHBkR2dnZEdobElHNXZjbTFoYkNCdVpXZGhkR2x2YmlCdmNHVnlZWFJ2Y2l3Z2MyOGdhWFFnYVhNZ2IyNXNlVnh1SUNBZ0lDOHZJSEJ5YjNacFpHVmtJR1p2Y2lCdFpYUmhaR0YwWVNCd1lYSnphVzVuTGx4dUlDQWdJR1Z0WW1Wa1RHbHVhem9nS0hFcElEMCtYRzRnSUNBZ0lDQWdJRkF1YzJWeFRXRndLRkF1YzNSeWFXNW5LRndpSVZ3aUtTNWhkRTF2YzNRb01Ta3NJSEV1YkdsdWF5d2dLSEFzSUd3cElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3TG14bGJtZDBhQ0ErSURBcElHd3VaVzFpWldRZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHdzdYRzRnSUNBZ0lDQWdJSDBwTG1SbGMyTW9YQ0ptYVd4bElHeHBibXRjSWlrc1hHNWNiaUFnSUNBdkx5QkNhVzVoY25rZ2NHeDFjeUJ2Y2lCdGFXNTFjeUJ2Y0dWeVlYUnZjaTVjYmlBZ0lDQmlhVzVoY25sUWJIVnpUV2x1ZFhNNklDaGZLU0E5UGx4dUlDQWdJQ0FnSUNCUUxuSmxaMlY0Y0NndlhGd3JmQzB2S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb2MzUnlLU0E5UGlCemRISWdZWE1nUW1sdVlYSjVUM0FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVaR1Z6WXloY0lpY3JKeUJ2Y2lBbkxTZGNJaWtzWEc1Y2JpQWdJQ0F2THlCQ2FXNWhjbmtnZEdsdFpYTWdiM0lnWkdsMmFXUmxJRzl3WlhKaGRHOXlMbHh1SUNBZ0lHSnBibUZ5ZVUxMWJFUnBkam9nS0Y4cElEMCtYRzRnSUNBZ0lDQWdJRkF1Y21WblpYaHdLQzljWENwOFhGd3ZmQ1V2S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb2MzUnlLU0E5UGlCemRISWdZWE1nUW1sdVlYSjVUM0FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVaR1Z6WXloY0lpY3FKeUJ2Y2lBbkx5Y2diM0lnSnlVblhDSXBMRnh1WEc0Z0lDQWdMeThnUW1sdVlYSjVJR052YlhCaGNtbHpiMjRnYjNCbGNtRjBiM0l1WEc0Z0lDQWdZbWx1WVhKNVEyOXRjR0Z5WlU5d09pQW9YeWtnUFQ1Y2JpQWdJQ0FnSUNBZ1VDNXlaV2RsZUhBb0x6NDlmRHc5ZkNFOWZENThQSHc5THlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tITjBjaWtnUFQ0Z2MzUnlJR0Z6SUVKcGJtRnllVTl3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbVJsYzJNb1hDSW5QajBuSUc5eUlDYzhQU2NnYjNJZ0p5RTlKeUJ2Y2lBblBTY2diM0lnSno0bklHOXlJQ2M4SjF3aUtTeGNibHh1SUNBZ0lDOHZJRUpwYm1GeWVTQmliMjlzWldGdUlHTnZiV0pwYm1GMGFXOXVJRzl3WlhKaGRHOXlMbHh1SUNBZ0lHSnBibUZ5ZVVGdVpFOXdPaUFvWHlrZ1BUNWNiaUFnSUNBZ0lDQWdVQzV5WldkbGVIQW9MMkZ1Wkh3bUwya3BYRzRnSUNBZ0lDQWdJQ0FnSUNBdWJXRndLQ2hmYzNSeUtTQTlQaUJjSWlaY0lpQmhjeUJDYVc1aGNubFBjQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNWtaWE5qS0Z3aUoyRnVaQ2RjSWlrc1hHNGdJQ0FnWW1sdVlYSjVUM0pQY0RvZ0tGOHBJRDArWEc0Z0lDQWdJQ0FnSUZBdWNtVm5aWGh3S0M5dmNueGNYSHd2YVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tGOXpkSElwSUQwK0lGd2lmRndpSUdGeklFSnBibUZ5ZVU5d0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG1SbGMyTW9YQ0luYjNJblhDSXBMRnh1WEc0Z0lDQWdMeThnUVNCa1lYUmxJSGRvYVdOb0lHTmhiaUJpWlNCWldWbFpMVTFOV3kxRVJGUklTRHB0YlRwemMxMHVYRzRnSUNBZ2NtOXZkRVJoZEdVNklDaGZLU0E5UGx4dUlDQWdJQ0FnSUNCUUxuTmxjVTFoY0NoUUxuSmxaMlY0Y0NndlhGeGtlelI5THlrc0lGQXVjM1J5YVc1bktGd2lMVndpS1N3Z1VDNXlaV2RsZUhBb0wxeGNaSHN5ZlM4cExDQW9lV1ZoY2l3Z1h5d2diVzl1ZEdncElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCRVlYUmxWR2x0WlM1bWNtOXRUMkpxWldOMEtIc2dlV1ZoY2pvZ1RuVnRZbVZ5TG5CaGNuTmxTVzUwS0hsbFlYSXBMQ0J0YjI1MGFEb2dUblZ0WW1WeUxuQmhjbk5sU1c1MEtHMXZiblJvS1NCOUtUdGNiaUFnSUNBZ0lDQWdmU2t1WkdWell5aGNJbVJoZEdVZ2FXNGdabTl5YldGMElGbFpXVmt0VFUxYkxVUkVWRWhJTFUxTkxWTlRMazFUWFZ3aUtTeGNiaUFnSUNCa1lYUmxVMmh2Y25Sb1lXNWtPaUFvWHlrZ1BUNWNiaUFnSUNBZ0lDQWdVQzVoYkhRb1hHNGdJQ0FnSUNBZ0lDQWdJQ0F1TGk1UFltcGxZM1F1YTJWNWN5aEVRVlJGWDFOSVQxSlVTRUZPUkZNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0xuTnZjblFvS0dFc0lHSXBJRDArSUdJdWJHVnVaM1JvSUMwZ1lTNXNaVzVuZEdncFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2hRTG5OMGNtbHVaeWxjYmlBZ0lDQWdJQ0FnS1NCaGN5QlFMbEJoY25ObGNqeHJaWGx2WmlCMGVYQmxiMllnUkVGVVJWOVRTRTlTVkVoQlRrUlRQaXhjYmlBZ0lDQmtZWFJsT2lBb2NTa2dQVDVjYmlBZ0lDQWdJQ0FnWTJoaGFXNVBjSFE4UkdGMFpWUnBiV1UrS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdjUzV5YjI5MFJHRjBaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaDViVG9nUkdGMFpWUnBiV1VwSUQwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1VDNXpaWEZOWVhBb1VDNXpkSEpwYm1jb1hDSXRYQ0lwTENCUUxuSmxaMlY0Y0NndlhGeGtleko5THlrc0lDaGZMQ0JrWVhrcElEMCtJSGx0TG5ObGRDaDdJR1JoZVRvZ1RuVnRZbVZ5TG5CaGNuTmxTVzUwS0dSaGVTa2dmU2twTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLSGx0WkRvZ1JHRjBaVlJwYldVcElEMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdVQzV6WlhGTllYQW9VQzV6ZEhKcGJtY29YQ0pVWENJcExDQlFMbkpsWjJWNGNDZ3ZYRnhrZXpKOUx5a3NJQ2hmTENCb2IzVnlLU0E5UGlCNWJXUXVjMlYwS0hzZ2FHOTFjam9nVG5WdFltVnlMbkJoY25ObFNXNTBLR2h2ZFhJcElIMHBLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaDViV1JvT2lCRVlYUmxWR2x0WlNrZ1BUNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQlFMbk5sY1UxaGNDaFFMbk4wY21sdVp5aGNJanBjSWlrc0lGQXVjbVZuWlhod0tDOWNYR1I3TW4wdktTd2dLRjhzSUcxcGJuVjBaU2tnUFQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlVzFrYUM1elpYUW9leUJ0YVc1MWRHVTZJRTUxYldKbGNpNXdZWEp6WlVsdWRDaHRhVzUxZEdVcElIMHBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaDViV1JvYlRvZ1JHRjBaVlJwYldVcElEMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdVQzV6WlhGTllYQW9VQzV6ZEhKcGJtY29YQ0k2WENJcExDQlFMbkpsWjJWNGNDZ3ZYRnhrZXpKOUx5a3NJQ2hmTENCelpXTnZibVFwSUQwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGx0WkdodExuTmxkQ2g3SUhObFkyOXVaRG9nVG5WdFltVnlMbkJoY25ObFNXNTBLSE5sWTI5dVpDa2dmU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdLSGx0WkdodGN6b2dSR0YwWlZScGJXVXBJRDArWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnVUM1aGJIUW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZBdWMyVnhUV0Z3S0ZBdWMzUnlhVzVuS0Z3aUxsd2lLU3dnVUM1eVpXZGxlSEFvTDF4Y1pIc3pmUzhwTENBb1h5d2diV2xzYkdselpXTnZibVFwSUQwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNWJXUm9iWE11YzJWMEtIc2diV2xzYkdselpXTnZibVE2SUU1MWJXSmxjaTV3WVhKelpVbHVkQ2h0YVd4c2FYTmxZMjl1WkNrZ2ZTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdVQzV6ZFdOalpXVmtLSGx0WkdodGN5a2dMeThnY0dGemMxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBb1pIUTZJRVJoZEdWVWFXMWxLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZBdVlXeDBLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCUUxuTmxjVTFoY0NoUUxuTjBjbWx1WnloY0lpdGNJaWt1YjNJb1VDNXpkSEpwYm1jb1hDSXRYQ0lwS1N3Z1VDNXlaV2RsZUhBb0wxeGNaSHN4TERKOUtEcGNYR1I3TW4wcFB5OHBMQ0FvY0cwc0lHaHlLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWkhRdWMyVjBXbTl1WlNoY0lsVlVRMXdpSUNzZ2NHMGdLeUJvY2l3Z2V5QnJaV1Z3VEc5allXeFVhVzFsT2lCMGNuVmxJSDBwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZBdWMyVnhUV0Z3S0ZBdWMzUnlhVzVuS0Z3aVdsd2lLU3dnS0NrZ1BUNGdaSFF1YzJWMFdtOXVaU2hjSW5WMFkxd2lMQ0I3SUd0bFpYQk1iMk5oYkZScGJXVTZJSFJ5ZFdVZ2ZTa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCUUxuTmxjVTFoY0NoUUxuTjBjbWx1WnloY0lsdGNJaWtzSUZBdWNtVm5aWGh3S0M5Yk1DMDVRUzFhWVMxNkt5MWNYQzlkS3k5MUtTd2dVQzV6ZEhKcGJtY29YQ0pkWENJcExDQW9YMkVzSUhwdmJtVXNJRjlpS1NBOVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pIUXVjMlYwV205dVpTaDZiMjVsTENCN0lHdGxaWEJNYjJOaGJGUnBiV1U2SUhSeWRXVWdmU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDbGNiaUFnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtRnpjMlZ5ZENnb1pIUTZJRVJoZEdWVWFXMWxLU0E5UGlCa2RDNXBjMVpoYkdsa0xDQmNJblpoYkdsa0lHUmhkR1ZjSWlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzVrWlhOaktGd2laR0YwWlNCcGJpQm1iM0p0WVhRZ1dWbFpXUzFOVFZzdFJFUlVTRWd0VFUwdFUxTXVUVk5kWENJcExGeHVYRzRnSUNBZ0x5OGdRU0JrWVhSbExDQndiSFZ6SUhaaGNtbHZkWE1nYzJodmNuUm9ZVzVrSUhScGJXVnpJRzltSUdSaGVTQnBkQ0JqYjNWc1pDQmlaUzVjYmlBZ0lDQmtZWFJsVUd4MWN6b2dLSEVwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVZV3gwUEVSaGRHVlVhVzFsUGloY2JpQWdJQ0FnSUNBZ0lDQWdJSEV1WkdGMFpWTm9iM0owYUdGdVpDNXRZWEFvS0dRcElEMCtJRVJCVkVWZlUwaFBVbFJJUVU1RVUxdGtYU2dwS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1WkdGMFpWeHVJQ0FnSUNBZ0lDQXBMbVJsYzJNb1hDSmtZWFJsSUdsdUlHWnZjbTFoZENCWldWbFpMVTFOV3kxRVJGUklTQzFOVFMxVFV5NU5VMTBnYjNJZ2FXNGdjMmh2Y25Sb1lXNWtYQ0lwTEZ4dVhHNGdJQ0FnTHk4Z1FTQmtkWEpoZEdsdmJpQnZaaUIwYVcxbExseHVJQ0FnSUdSMWNtRjBhVzl1Vkhsd1pUb2dLRjhwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVZV3gwS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdMaTR1VDJKcVpXTjBMbXRsZVhNb1JGVlNRVlJKVDA1ZlZGbFFSVk1wWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTG5OdmNuUW9LR0VzSUdJcElEMCtJR0l1YkdWdVozUm9JQzBnWVM1c1pXNW5kR2dwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTG0xaGNDaFFMbk4wY21sdVp5bGNiaUFnSUNBZ0lDQWdLU0JoY3lCUUxsQmhjbk5sY2p4clpYbHZaaUIwZVhCbGIyWWdSRlZTUVZSSlQwNWZWRmxRUlZNK0xGeHVJQ0FnSUdSMWNtRjBhVzl1T2lBb2NTa2dQVDVjYmlBZ0lDQWdJQ0FnVUM1elpYRk5ZWEFvY1M1dWRXMWlaWElzSUZBdWIzQjBWMmhwZEdWemNHRmpaU3dnY1M1a2RYSmhkR2x2YmxSNWNHVXNJQ2hqYjNWdWRDd2dYeXdnZENrZ1BUNWNiaUFnSUNBZ0lDQWdJQ0FnSUVSVlVrRlVTVTlPWDFSWlVFVlRXM1JkTG0xaGNGVnVhWFJ6S0NoNEtTQTlQaUI0SUNvZ1kyOTFiblFwWEc0Z0lDQWdJQ0FnSUNsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV6WlhCQ2VURW9VQzV6ZEhKcGJtY29YQ0lzWENJcExuUnlhVzBvVUM1dmNIUlhhR2wwWlhOd1lXTmxLUzV2Y2loUUxtOXdkRmRvYVhSbGMzQmhZMlVwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb1pIVnlZWFJwYjI1ektTQTlQaUJrZFhKaGRHbHZibk11Y21Wa2RXTmxLQ2h3TENCaktTQTlQaUJ3TG5Cc2RYTW9ZeWtwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbVJsYzJNb1hDSmtkWEpoZEdsdmJpQnNhV3RsSURSb2NqSnRhVzVjSWlrc1hHNWNiaUFnSUNBdkx5QkJJSEpoZHlCdWRXeHNJSFpoYkhWbExseHVJQ0FnSUhKaGQwNTFiR3c2SUNoZktTQTlQaUJRTG5OMGNtbHVaeWhjSW01MWJHeGNJaWtzWEc1Y2JpQWdJQ0F2THlCSmJteHBibVVnWm1sbGJHUWdkbUZzZFdVZ2NHRnljMmx1Wnk1Y2JpQWdJQ0JoZEc5dFNXNXNhVzVsUm1sbGJHUTZJQ2h4S1NBOVBseHVJQ0FnSUNBZ0lDQlFMbUZzZENoY2JpQWdJQ0FnSUNBZ0lDQWdJSEV1WkdGMFpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdVpIVnlZWFJwYjI0dWJXRndLQ2hrS1NBOVBpQnViM0p0WVd4cGVtVkVkWEpoZEdsdmJpaGtLU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbk4wY21sdVp5eGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdWRHRm5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNWxiV0psWkV4cGJtc3NYRzRnSUNBZ0lDQWdJQ0FnSUNCeExtSnZiMndzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbTUxYldKbGNpeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdWNtRjNUblZzYkZ4dUlDQWdJQ0FnSUNBcExGeHVJQ0FnSUdsdWJHbHVaVVpwWld4a1RHbHpkRG9nS0hFcElEMCtJSEV1WVhSdmJVbHViR2x1WlVacFpXeGtMbk5sY0VKNUtGQXVjM1J5YVc1bktGd2lMRndpS1M1MGNtbHRLRkF1YjNCMFYyaHBkR1Z6Y0dGalpTa3ViRzl2YTJGb1pXRmtLSEV1WVhSdmJVbHViR2x1WlVacFpXeGtLU2tzWEc0Z0lDQWdhVzVzYVc1bFJtbGxiR1E2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JRTG1Gc2RDaGNiaUFnSUNBZ0lDQWdJQ0FnSUZBdWMyVnhUV0Z3S0hFdVlYUnZiVWx1YkdsdVpVWnBaV3hrTENCUUxuTjBjbWx1WnloY0lpeGNJaWt1ZEhKcGJTaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcExDQnhMbWx1YkdsdVpVWnBaV3hrVEdsemRDd2dLR1lzSUY5ekxDQnNLU0E5UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZ0bVhTNWpiMjVqWVhRb2JDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG1GMGIyMUpibXhwYm1WR2FXVnNaRnh1SUNBZ0lDQWdJQ0FwTEZ4dWZTazdYRzVjYmk4cUtpQkZiVzlxYVNCeVpXZGxlQ3dnYzNSeWNIQnBibWNnWVc1NUlISmxaMlY0SUdac1lXZHpJR2wwSUdoaGN5NGdLaTljYm1OdmJuTjBJRVZOVDBwSlgxSkZSMFZZSUQwZ2JtVjNJRkpsWjBWNGNDaGxiVzlxYVZKbFoyVjRLQ2tzSUZ3aVhDSXBPMXh1WEc0dktpb2dVSEp2ZG1sa1pYTWdZU0JzYjI5cmRYQWdkR0ZpYkdVZ1ptOXlJSFZ1YVhRZ1pIVnlZWFJwYjI1eklHOW1JSFJvWlNCbmFYWmxiaUIwZVhCbExpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElFUlZVa0ZVU1U5T1gxUlpVRVZUSUQwZ2UxeHVJQ0FnSUhsbFlYSTZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCNVpXRnljem9nTVNCOUtTeGNiaUFnSUNCNVpXRnljem9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lIbGxZWEp6T2lBeElIMHBMRnh1SUNBZ0lIbHlPaUJFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2VXVmhjbk02SURFZ2ZTa3NYRzRnSUNBZ2VYSnpPaUJFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2VXVmhjbk02SURFZ2ZTa3NYRzVjYmlBZ0lDQnRiMjUwYURvZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJRzF2Ym5Sb2N6b2dNU0I5S1N4Y2JpQWdJQ0J0YjI1MGFITTZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCdGIyNTBhSE02SURFZ2ZTa3NYRzRnSUNBZ2JXODZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCdGIyNTBhSE02SURFZ2ZTa3NYRzRnSUNBZ2JXOXpPaUJFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ2JXOXVkR2h6T2lBeElIMHBMRnh1WEc0Z0lDQWdkMlZsYXpvZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJSGRsWld0ek9pQXhJSDBwTEZ4dUlDQWdJSGRsWld0ek9pQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHNnZDJWbGEzTTZJREVnZlNrc1hHNGdJQ0FnZDJzNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUIzWldWcmN6b2dNU0I5S1N4Y2JpQWdJQ0IzYTNNNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUIzWldWcmN6b2dNU0I5S1N4Y2JpQWdJQ0IzT2lCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIc2dkMlZsYTNNNklERWdmU2tzWEc1Y2JpQWdJQ0JrWVhrNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJrWVhsek9pQXhJSDBwTEZ4dUlDQWdJR1JoZVhNNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJrWVhsek9pQXhJSDBwTEZ4dUlDQWdJR1E2SUVSMWNtRjBhVzl1TG1aeWIyMVBZbXBsWTNRb2V5QmtZWGx6T2lBeElIMHBMRnh1WEc0Z0lDQWdhRzkxY2pvZ1JIVnlZWFJwYjI0dVpuSnZiVTlpYW1WamRDaDdJR2h2ZFhKek9pQXhJSDBwTEZ4dUlDQWdJR2h2ZFhKek9pQkVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHNnYUc5MWNuTTZJREVnZlNrc1hHNGdJQ0FnYUhJNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJvYjNWeWN6b2dNU0I5S1N4Y2JpQWdJQ0JvY25NNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJvYjNWeWN6b2dNU0I5S1N4Y2JpQWdJQ0JvT2lCRWRYSmhkR2x2Ymk1bWNtOXRUMkpxWldOMEtIc2dhRzkxY25NNklERWdmU2tzWEc1Y2JpQWdJQ0J0YVc1MWRHVTZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCdGFXNTFkR1Z6T2lBeElIMHBMRnh1SUNBZ0lHMXBiblYwWlhNNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJ0YVc1MWRHVnpPaUF4SUgwcExGeHVJQ0FnSUcxcGJqb2dSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUcxcGJuVjBaWE02SURFZ2ZTa3NYRzRnSUNBZ2JXbHVjem9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHMXBiblYwWlhNNklERWdmU2tzWEc0Z0lDQWdiVG9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lHMXBiblYwWlhNNklERWdmU2tzWEc1Y2JpQWdJQ0J6WldOdmJtUTZJRVIxY21GMGFXOXVMbVp5YjIxUFltcGxZM1FvZXlCelpXTnZibVJ6T2lBeElIMHBMRnh1SUNBZ0lITmxZMjl1WkhNNklFUjFjbUYwYVc5dUxtWnliMjFQWW1wbFkzUW9leUJ6WldOdmJtUnpPaUF4SUgwcExGeHVJQ0FnSUhObFl6b2dSSFZ5WVhScGIyNHVabkp2YlU5aWFtVmpkQ2g3SUhObFkyOXVaSE02SURFZ2ZTa3NYRzRnSUNBZ2MyVmpjem9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lITmxZMjl1WkhNNklERWdmU2tzWEc0Z0lDQWdjem9nUkhWeVlYUnBiMjR1Wm5KdmJVOWlhbVZqZENoN0lITmxZMjl1WkhNNklERWdmU2tzWEc1OU8xeHVYRzR2S2lvZ1UyaHZjblJvWVc1a0lHWnZjaUJqYjIxdGIyNGdaR0YwWlhNZ0tISmxiR0YwYVhabElIUnZJSEpwWjJoMElHNXZkeWt1SUNvdlhHNWxlSEJ2Y25RZ1kyOXVjM1FnUkVGVVJWOVRTRTlTVkVoQlRrUlRJRDBnZTF4dUlDQWdJRzV2ZHpvZ0tDa2dQVDRnUkdGMFpWUnBiV1V1Ykc5allXd29LU3hjYmlBZ0lDQjBiMlJoZVRvZ0tDa2dQVDRnUkdGMFpWUnBiV1V1Ykc5allXd29LUzV6ZEdGeWRFOW1LRndpWkdGNVhDSXBMRnh1SUNBZ0lIbGxjM1JsY21SaGVUb2dLQ2tnUFQ1Y2JpQWdJQ0FnSUNBZ1JHRjBaVlJwYldVdWJHOWpZV3dvS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbk4wWVhKMFQyWW9YQ0prWVhsY0lpbGNiaUFnSUNBZ0lDQWdJQ0FnSUM1dGFXNTFjeWhFZFhKaGRHbHZiaTVtY205dFQySnFaV04wS0hzZ1pHRjVjem9nTVNCOUtTa3NYRzRnSUNBZ2RHOXRiM0p5YjNjNklDZ3BJRDArWEc0Z0lDQWdJQ0FnSUVSaGRHVlVhVzFsTG14dlkyRnNLQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXpkR0Z5ZEU5bUtGd2laR0Y1WENJcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1Y0d4MWN5aEVkWEpoZEdsdmJpNW1jbTl0VDJKcVpXTjBLSHNnWkdGNWN6b2dNU0I5S1Nrc1hHNGdJQ0FnYzI5M09pQW9LU0E5UGlCRVlYUmxWR2x0WlM1c2IyTmhiQ2dwTG5OMFlYSjBUMllvWENKM1pXVnJYQ0lwTEZ4dUlDQWdJRndpYzNSaGNuUXRiMll0ZDJWbGExd2lPaUFvS1NBOVBpQkVZWFJsVkdsdFpTNXNiMk5oYkNncExuTjBZWEowVDJZb1hDSjNaV1ZyWENJcExGeHVJQ0FnSUdWdmR6b2dLQ2tnUFQ0Z1JHRjBaVlJwYldVdWJHOWpZV3dvS1M1bGJtUlBaaWhjSW5kbFpXdGNJaWtzWEc0Z0lDQWdYQ0psYm1RdGIyWXRkMlZsYTF3aU9pQW9LU0E5UGlCRVlYUmxWR2x0WlM1c2IyTmhiQ2dwTG1WdVpFOW1LRndpZDJWbGExd2lLU3hjYmlBZ0lDQnpiM2s2SUNncElEMCtJRVJoZEdWVWFXMWxMbXh2WTJGc0tDa3VjM1JoY25SUFppaGNJbmxsWVhKY0lpa3NYRzRnSUNBZ1hDSnpkR0Z5ZEMxdlppMTVaV0Z5WENJNklDZ3BJRDArSUVSaGRHVlVhVzFsTG14dlkyRnNLQ2t1YzNSaGNuUlBaaWhjSW5sbFlYSmNJaWtzWEc0Z0lDQWdaVzk1T2lBb0tTQTlQaUJFWVhSbFZHbHRaUzVzYjJOaGJDZ3BMbVZ1WkU5bUtGd2llV1ZoY2x3aUtTeGNiaUFnSUNCY0ltVnVaQzF2WmkxNVpXRnlYQ0k2SUNncElEMCtJRVJoZEdWVWFXMWxMbXh2WTJGc0tDa3VaVzVrVDJZb1hDSjVaV0Z5WENJcExGeHVJQ0FnSUhOdmJUb2dLQ2tnUFQ0Z1JHRjBaVlJwYldVdWJHOWpZV3dvS1M1emRHRnlkRTltS0Z3aWJXOXVkR2hjSWlrc1hHNGdJQ0FnWENKemRHRnlkQzF2WmkxdGIyNTBhRndpT2lBb0tTQTlQaUJFWVhSbFZHbHRaUzVzYjJOaGJDZ3BMbk4wWVhKMFQyWW9YQ0p0YjI1MGFGd2lLU3hjYmlBZ0lDQmxiMjA2SUNncElEMCtJRVJoZEdWVWFXMWxMbXh2WTJGc0tDa3VaVzVrVDJZb1hDSnRiMjUwYUZ3aUtTeGNiaUFnSUNCY0ltVnVaQzF2WmkxdGIyNTBhRndpT2lBb0tTQTlQaUJFWVhSbFZHbHRaUzVzYjJOaGJDZ3BMbVZ1WkU5bUtGd2liVzl1ZEdoY0lpa3NYRzU5TzF4dVhHNHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhHNHZMeUJGZUhCeVpYTnphVzl1SUV4aGJtZDFZV2RsSUM4dlhHNHZMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2THk4dlhHNWNibVY0Y0c5eWRDQjBlWEJsSUZCdmMzUm1hWGhHY21GbmJXVnVkQ0E5WEc0Z0lDQWdmQ0I3SUhSNWNHVTZJRndpWkc5MFhDSTdJR1Y0Y0hJNklITjBjbWx1WnlCOVhHNGdJQ0FnZkNCN0lIUjVjR1U2SUZ3aWFXNWtaWGhjSWpzZ1pYaHdjam9nUlhod2NtVnpjMmx2YmlCOVhHNGdJQ0FnZkNCN0lIUjVjR1U2SUZ3aVpuVnVZM1JwYjI1Y0lqc2daWGh3Y25NNklFVjRjSEpsYzNOcGIyNWJYU0I5TzF4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFVjRjSEpsYzNOcGIyNU1ZVzVuZFdGblpTQjdYRzRnSUNBZ2RtRnlhV0ZpYkdVNklGWmhjbWxoWW14bFJYaHdjbVZ6YzJsdmJqdGNiaUFnSUNCdWRXMWlaWEk2SUV4cGRHVnlZV3hGZUhCeVpYTnphVzl1TzF4dUlDQWdJR0p2YjJ3NklFeHBkR1Z5WVd4RmVIQnlaWE56YVc5dU8xeHVJQ0FnSUhOMGNtbHVaem9nVEdsMFpYSmhiRVY0Y0hKbGMzTnBiMjQ3WEc0Z0lDQWdaR0YwWlRvZ1RHbDBaWEpoYkVWNGNISmxjM05wYjI0N1hHNGdJQ0FnWkhWeVlYUnBiMjQ2SUV4cGRHVnlZV3hGZUhCeVpYTnphVzl1TzF4dUlDQWdJR3hwYm1zNklFeHBkR1Z5WVd4RmVIQnlaWE56YVc5dU8xeHVJQ0FnSUc1MWJHdzZJRXhwZEdWeVlXeEZlSEJ5WlhOemFXOXVPMXh1WEc0Z0lDQWdiR2x6ZERvZ1RHbHpkRVY0Y0hKbGMzTnBiMjQ3WEc0Z0lDQWdiMkpxWldOME9pQlBZbXBsWTNSRmVIQnlaWE56YVc5dU8xeHVYRzRnSUNBZ2JtVm5ZWFJsWkRvZ1JYaHdjbVZ6YzJsdmJqdGNiaUFnSUNCaGRHOXRPaUJGZUhCeVpYTnphVzl1TzF4dUlDQWdJR2x1WkdWNE9pQkZlSEJ5WlhOemFXOXVPMXh1SUNBZ0lHeGhiV0prWVRvZ1RHRnRZbVJoUlhod2NtVnpjMmx2Ymp0Y2JseHVJQ0FnSUM4dklGQnZjM1JtYVhnZ2NHRnljMlZ5Y3lCbWIzSWdablZ1WTNScGIyNGdZMkZzYkhNZ0ppQjBhR1VnYkdsclpTNWNiaUFnSUNCa2IzUlFiM04wWm1sNE9pQlFiM04wWm1sNFJuSmhaMjFsYm5RN1hHNGdJQ0FnYVc1a1pYaFFiM04wWm1sNE9pQlFiM04wWm1sNFJuSmhaMjFsYm5RN1hHNGdJQ0FnWm5WdVkzUnBiMjVRYjNOMFptbDRPaUJRYjNOMFptbDRSbkpoWjIxbGJuUTdYRzVjYmlBZ0lDQXZMeUJDYVc1aGNua2diM0FnY0dGeWMyVnljeTVjYmlBZ0lDQmlhVzVoY25sTmRXeEVhWFk2SUVWNGNISmxjM05wYjI0N1hHNGdJQ0FnWW1sdVlYSjVVR3gxYzAxcGJuVnpPaUJGZUhCeVpYTnphVzl1TzF4dUlDQWdJR0pwYm1GeWVVTnZiWEJoY21VNklFVjRjSEpsYzNOcGIyNDdYRzRnSUNBZ1ltbHVZWEo1UW05dmJHVmhiam9nUlhod2NtVnpjMmx2Ymp0Y2JpQWdJQ0JpYVc1aGNubFBjRG9nUlhod2NtVnpjMmx2Ymp0Y2JpQWdJQ0J3WVhKbGJuTTZJRVY0Y0hKbGMzTnBiMjQ3WEc0Z0lDQWdaWGh3Y21WemMybHZiam9nUlhod2NtVnpjMmx2Ymp0Y2JuMWNibHh1THlvcVhHNGdLaUJRWVhKelpTQm1iM0lnZEdobElHUmhkR0ZqYjNKbElHVjRjSEpsYzNOcGIyNGdiR0Z1WjNWaFoyVXNJSGRvYVdOb0lIQnliM1pwWkdWeklITnBiWEJzWlNCaGJtUWdkbUZuZFdWc2VTQktVeTFzYjI5cmFXNW5JR052YlhCMWRHRjBhVzl1TGx4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ1JWaFFVa1ZUVTBsUFRpQTlJRkF1WTNKbFlYUmxUR0Z1WjNWaFoyVThSWGh3Y21WemMybHZia3hoYm1kMVlXZGxQaWg3WEc0Z0lDQWdMeThnUm1sbGJHUWdjR0Z5YzJsdVp5NWNiaUFnSUNCMllYSnBZV0pzWlRvZ0tGOHBJRDArSUZCU1NVMUpWRWxXUlZNdWFXUmxiblJwWm1sbGNpNXRZWEFvUlhod2NtVnpjMmx2Ym5NdWRtRnlhV0ZpYkdVcExtUmxjMk1vWENKMllYSnBZV0pzWlZ3aUtTeGNiaUFnSUNCdWRXMWlaWEk2SUNoZktTQTlQaUJRVWtsTlNWUkpWa1ZUTG01MWJXSmxjaTV0WVhBb1JYaHdjbVZ6YzJsdmJuTXViR2wwWlhKaGJDa3VaR1Z6WXloY0ltNTFiV0psY2x3aUtTeGNiaUFnSUNCemRISnBibWM2SUNoZktTQTlQaUJRVWtsTlNWUkpWa1ZUTG5OMGNtbHVaeTV0WVhBb1JYaHdjbVZ6YzJsdmJuTXViR2wwWlhKaGJDa3VaR1Z6WXloY0luTjBjbWx1WjF3aUtTeGNiaUFnSUNCaWIyOXNPaUFvWHlrZ1BUNGdVRkpKVFVsVVNWWkZVeTVpYjI5c0xtMWhjQ2hGZUhCeVpYTnphVzl1Y3k1c2FYUmxjbUZzS1M1a1pYTmpLRndpWW05dmJHVmhibHdpS1N4Y2JpQWdJQ0JrWVhSbE9pQW9YeWtnUFQ1Y2JpQWdJQ0FnSUNBZ1kzSmxZWFJsUm5WdVkzUnBiMjRvWENKa1lYUmxYQ0lzSUZCU1NVMUpWRWxXUlZNdVpHRjBaVkJzZFhNcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tDaGJYMloxYm1Nc0lHUmhkR1ZkS1NBOVBpQkZlSEJ5WlhOemFXOXVjeTVzYVhSbGNtRnNLR1JoZEdVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG1SbGMyTW9YQ0prWVhSbFhDSXBMRnh1SUNBZ0lHUjFjbUYwYVc5dU9pQW9YeWtnUFQ1Y2JpQWdJQ0FnSUNBZ1kzSmxZWFJsUm5WdVkzUnBiMjRvWENKa2RYSmNJaXdnVUZKSlRVbFVTVlpGVXk1a2RYSmhkR2x2YmlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzV0WVhBb0tGdGZablZ1WXl3Z1pIVnlYU2tnUFQ0Z1JYaHdjbVZ6YzJsdmJuTXViR2wwWlhKaGJDaGtkWElwS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMbVJsYzJNb1hDSmtkWEpoZEdsdmJsd2lLU3hjYmlBZ0lDQnVkV3hzT2lBb1h5a2dQVDRnVUZKSlRVbFVTVlpGVXk1eVlYZE9kV3hzTG0xaGNDZ29YeWtnUFQ0Z1JYaHdjbVZ6YzJsdmJuTXVUbFZNVENrc1hHNGdJQ0FnYkdsdWF6b2dLRjhwSUQwK0lGQlNTVTFKVkVsV1JWTXViR2x1YXk1dFlYQW9SWGh3Y21WemMybHZibk11YkdsMFpYSmhiQ2tzWEc0Z0lDQWdiR2x6ZERvZ0tIRXBJRDArWEc0Z0lDQWdJQ0FnSUhFdVpYaHdjbVZ6YzJsdmJseHVJQ0FnSUNBZ0lDQWdJQ0FnTG5ObGNFSjVLRkF1YzNSeWFXNW5LRndpTEZ3aUtTNTBjbWx0S0ZBdWIzQjBWMmhwZEdWemNHRmpaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVkM0poY0NoUUxuTjBjbWx1WnloY0lsdGNJaWt1YzJ0cGNDaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcExDQlFMbTl3ZEZkb2FYUmxjM0JoWTJVdWRHaGxiaWhRTG5OMGNtbHVaeWhjSWwxY0lpa3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvYkNrZ1BUNGdSWGh3Y21WemMybHZibk11YkdsemRDaHNLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNWtaWE5qS0Z3aWJHbHpkRndpS1N4Y2JpQWdJQ0J2WW1wbFkzUTZJQ2h4S1NBOVBseHVJQ0FnSUNBZ0lDQlFMbk5sY1UxaGNDaGNiaUFnSUNBZ0lDQWdJQ0FnSUZCU1NVMUpWRWxXUlZNdWFXUmxiblJwWm1sbGNpNXZjaWhRVWtsTlNWUkpWa1ZUTG5OMGNtbHVaeWtzWEc0Z0lDQWdJQ0FnSUNBZ0lDQlFMbk4wY21sdVp5aGNJanBjSWlrdWRISnBiU2hRTG05d2RGZG9hWFJsYzNCaFkyVXBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNWxlSEJ5WlhOemFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0tHNWhiV1VzSUY5elpYQXNJSFpoYkhWbEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnYm1GdFpTd2dkbUZzZFdVZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG5ObGNFSjVLRkF1YzNSeWFXNW5LRndpTEZ3aUtTNTBjbWx0S0ZBdWIzQjBWMmhwZEdWemNHRmpaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQXVkM0poY0NoUUxuTjBjbWx1WnloY0ludGNJaWt1YzJ0cGNDaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcExDQlFMbTl3ZEZkb2FYUmxjM0JoWTJVdWRHaGxiaWhRTG5OMGNtbHVaeWhjSW4xY0lpa3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvZG1Gc2N5a2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQnlaWE02SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRVY0Y0hKbGMzTnBiMjQrSUQwZ2UzMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdaVzUwY25rZ2IyWWdkbUZzY3lrZ2NtVnpXMlZ1ZEhKNUxtNWhiV1ZkSUQwZ1pXNTBjbmt1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFVjRjSEpsYzNOcGIyNXpMbTlpYW1WamRDaHlaWE1wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNWtaWE5qS0Z3aWIySnFaV04wSUNnbmV5QmhPaUF4TENCaU9pQXlJSDBuS1Z3aUtTeGNibHh1SUNBZ0lHRjBiMjA2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JRTG1Gc2RDaGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGQnNZV05sSUdWdFltVmtJR3hwYm10eklHRmliM1psSUc1bFoyRjBaV1FnWm1sbGJHUnpJR0Z6SUhSb1pYa2dZWEpsSUhSb1pTQnpjR1ZqYVdGc0lIQmhjbk5sY2lCallYTmxJQ2NoVzF0MGFHbHVaMTFkSnlCaGJtUWdZWEpsSUdkbGJtVnlZV3hzZVNCMWJtRnRZbWxuYVc5MWN5NWNiaUFnSUNBZ0lDQWdJQ0FnSUZCU1NVMUpWRWxXUlZNdVpXMWlaV1JNYVc1ckxtMWhjQ2dvYkNrZ1BUNGdSWGh3Y21WemMybHZibk11YkdsMFpYSmhiQ2hzS1Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG01bFoyRjBaV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbXhwYm1zc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG14cGMzUXNYRzRnSUNBZ0lDQWdJQ0FnSUNCeExtOWlhbVZqZEN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1YkdGdFltUmhMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNXdZWEpsYm5Nc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG1KdmIyd3NYRzRnSUNBZ0lDQWdJQ0FnSUNCeExtNTFiV0psY2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1YzNSeWFXNW5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNWtZWFJsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjUzVrZFhKaGRHbHZiaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXViblZzYkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1ZG1GeWFXRmliR1ZjYmlBZ0lDQWdJQ0FnS1N4Y2JpQWdJQ0JwYm1SbGVEb2dLSEVwSUQwK1hHNGdJQ0FnSUNBZ0lGQXVjMlZ4VFdGd0tIRXVZWFJ2YlN3Z1VDNWhiSFFvY1M1a2IzUlFiM04wWm1sNExDQnhMbWx1WkdWNFVHOXpkR1pwZUN3Z2NTNW1kVzVqZEdsdmJsQnZjM1JtYVhncExtMWhibmtvS1N3Z0tHOWlhaXdnY0c5emRHWnBlR1Z6S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdjbVZ6ZFd4MElEMGdiMkpxTzF4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdjRzl6ZENCdlppQndiM04wWm1sNFpYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSEJ2YzNRdWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVpHOTBYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdQU0JGZUhCeVpYTnphVzl1Y3k1cGJtUmxlQ2h5WlhOMWJIUXNJRVY0Y0hKbGMzTnBiMjV6TG14cGRHVnlZV3dvY0c5emRDNWxlSEJ5S1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1sdVpHVjRYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdQU0JGZUhCeVpYTnphVzl1Y3k1cGJtUmxlQ2h5WlhOMWJIUXNJSEJ2YzNRdVpYaHdjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVoxYm1OMGFXOXVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdQU0JGZUhCeVpYTnphVzl1Y3k1bWRXNWpLSEpsYzNWc2RDd2djRzl6ZEM1bGVIQnljeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzRnSUNBZ0lDQWdJSDBwTEZ4dUlDQWdJRzVsWjJGMFpXUTZJQ2h4S1NBOVBpQlFMbk5sY1UxaGNDaFFMbk4wY21sdVp5aGNJaUZjSWlrc0lIRXVhVzVrWlhnc0lDaGZMQ0JtYVdWc1pDa2dQVDRnUlhod2NtVnpjMmx2Ym5NdWJtVm5ZWFJsS0dacFpXeGtLU2t1WkdWell5aGNJbTVsWjJGMFpXUWdabWxsYkdSY0lpa3NYRzRnSUNBZ2NHRnlaVzV6T2lBb2NTa2dQVDRnY1M1bGVIQnlaWE56YVc5dUxuUnlhVzBvVUM1dmNIUlhhR2wwWlhOd1lXTmxLUzUzY21Gd0tGQXVjM1J5YVc1bktGd2lLRndpS1N3Z1VDNXpkSEpwYm1jb1hDSXBYQ0lwS1N4Y2JpQWdJQ0JzWVcxaVpHRTZJQ2h4S1NBOVBseHVJQ0FnSUNBZ0lDQlFMbk5sY1UxaGNDaGNiaUFnSUNBZ0lDQWdJQ0FnSUZCU1NVMUpWRWxXUlZNdWFXUmxiblJwWm1sbGNseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNXpaWEJDZVNoUUxuTjBjbWx1WnloY0lpeGNJaWt1ZEhKcGJTaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNTNjbUZ3S0ZBdWMzUnlhVzVuS0Z3aUtGd2lLUzUwY21sdEtGQXViM0IwVjJocGRHVnpjR0ZqWlNrc0lGQXVjM1J5YVc1bktGd2lLVndpS1M1MGNtbHRLRkF1YjNCMFYyaHBkR1Z6Y0dGalpTa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1VDNXpkSEpwYm1jb1hDSTlQbHdpS1M1MGNtbHRLRkF1YjNCMFYyaHBkR1Z6Y0dGalpTa3NYRzRnSUNBZ0lDQWdJQ0FnSUNCeExtVjRjSEpsYzNOcGIyNHNYRzRnSUNBZ0lDQWdJQ0FnSUNBb2FXUmxiblFzSUY5cFoyNXZjbVVzSUhaaGJIVmxLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ2RIbHdaVG9nWENKc1lXMWlaR0ZjSWl3Z1lYSm5kVzFsYm5Sek9pQnBaR1Z1ZEN3Z2RtRnNkV1VnZlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnS1N4Y2JseHVJQ0FnSUdSdmRGQnZjM1JtYVhnNklDaHhLU0E5UGlCUUxuTmxjVTFoY0NoUUxuTjBjbWx1WnloY0lpNWNJaWtzSUZCU1NVMUpWRWxXUlZNdWFXUmxiblJwWm1sbGNpd2dLRjhzSUdWNGNISXBJRDArSUNoN0lIUjVjR1U2SUZ3aVpHOTBYQ0lzSUdWNGNISWdmU2twTEZ4dUlDQWdJR2x1WkdWNFVHOXpkR1pwZURvZ0tIRXBJRDArWEc0Z0lDQWdJQ0FnSUZBdWMyVnhUV0Z3S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdVQzV6ZEhKcGJtY29YQ0piWENJcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnVUM1dmNIUlhhR2wwWlhOd1lXTmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NTNWxlSEJ5WlhOemFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1VDNXZjSFJYYUdsMFpYTndZV05sTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdVQzV6ZEhKcGJtY29YQ0pkWENJcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnS0Y4c0lGOHlMQ0JsZUhCeUxDQmZNeXdnWHpRcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdleUIwZVhCbE9pQmNJbWx1WkdWNFhDSXNJR1Y0Y0hJZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0tTeGNiaUFnSUNCbWRXNWpkR2x2YmxCdmMzUm1hWGc2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JRTG5ObGNVMWhjQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lGQXVjM1J5YVc1bktGd2lLRndpS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJRkF1YjNCMFYyaHBkR1Z6Y0dGalpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdVpYaHdjbVZ6YzJsdmJpNXpaWEJDZVNoUUxuTjBjbWx1WnloY0lpeGNJaWt1ZEhKcGJTaFFMbTl3ZEZkb2FYUmxjM0JoWTJVcEtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUZBdWIzQjBWMmhwZEdWemNHRmpaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lGQXVjM1J5YVc1bktGd2lLVndpS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ2hmTENCZk1Td2daWGh3Y25Nc0lGOHlMQ0JmTXlrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJSFI1Y0dVNklGd2lablZ1WTNScGIyNWNJaXdnWlhod2NuTWdmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdLU3hjYmx4dUlDQWdJQzh2SUZSb1pTQndjbVZqWldSbGJtTmxJR2hwWlhKaGNtTm9lU0J2WmlCdmNHVnlZWFJ2Y25NZ0xTQnRkV3gwYVhCc2VTOWthWFpwWkdVc0lHRmtaQzl6ZFdKMGNtRmpkQ3dnWTI5dGNHRnlaU3dnWVc1a0lIUm9aVzRnWW05dmJHVmhiaUJ2Y0dWeVlYUnBiMjV6TGx4dUlDQWdJR0pwYm1GeWVVMTFiRVJwZGpvZ0tIRXBJRDArSUdOeVpXRjBaVUpwYm1GeWVWQmhjbk5sY2loeExtbHVaR1Y0TENCUVVrbE5TVlJKVmtWVExtSnBibUZ5ZVUxMWJFUnBkaXdnUlhod2NtVnpjMmx2Ym5NdVltbHVZWEo1VDNBcExGeHVJQ0FnSUdKcGJtRnllVkJzZFhOTmFXNTFjem9nS0hFcElEMCtJR055WldGMFpVSnBibUZ5ZVZCaGNuTmxjaWh4TG1KcGJtRnllVTExYkVScGRpd2dVRkpKVFVsVVNWWkZVeTVpYVc1aGNubFFiSFZ6VFdsdWRYTXNJRVY0Y0hKbGMzTnBiMjV6TG1KcGJtRnllVTl3S1N4Y2JpQWdJQ0JpYVc1aGNubERiMjF3WVhKbE9pQW9jU2tnUFQ0Z1kzSmxZWFJsUW1sdVlYSjVVR0Z5YzJWeUtIRXVZbWx1WVhKNVVHeDFjMDFwYm5WekxDQlFVa2xOU1ZSSlZrVlRMbUpwYm1GeWVVTnZiWEJoY21WUGNDd2dSWGh3Y21WemMybHZibk11WW1sdVlYSjVUM0FwTEZ4dUlDQWdJR0pwYm1GeWVVSnZiMnhsWVc0NklDaHhLU0E5UGx4dUlDQWdJQ0FnSUNCamNtVmhkR1ZDYVc1aGNubFFZWEp6WlhJb2NTNWlhVzVoY25sRGIyMXdZWEpsTENCUVVrbE5TVlJKVmtWVExtSnBibUZ5ZVVGdVpFOXdMbTl5S0ZCU1NVMUpWRWxXUlZNdVltbHVZWEo1VDNKUGNDa3NJRVY0Y0hKbGMzTnBiMjV6TG1KcGJtRnllVTl3S1N4Y2JpQWdJQ0JpYVc1aGNubFBjRG9nS0hFcElEMCtJSEV1WW1sdVlYSjVRbTl2YkdWaGJpeGNibHh1SUNBZ0lHVjRjSEpsYzNOcGIyNDZJQ2h4S1NBOVBpQnhMbUpwYm1GeWVVOXdMRnh1ZlNrN1hHNWNiaTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTh2WEc0dkx5QlJkV1Z5ZVNCTVlXNW5kV0ZuWlNBdkwxeHVMeTh2THk4dkx5OHZMeTh2THk4dkx5OHZMeTljYmx4dUx5b3FJRk4xY0hCdmNuUmxaQ0IwZVhCbGN5QnBiaUIwYUdVZ1ozSmhiVzFoY2lCbWIzSWdhVzVrWlhnZ2NYVmxjbWxsY3k0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdVWFZsY25sTVlXNW5kV0ZuWlNCN1hHNGdJQ0FnY1hWbGNubFVZV2M2SUVsdVpHVjRWR0ZuWjJWa08xeHVJQ0FnSUhGMVpYSjVTV1E2SUVsdVpHVjRTV1E3WEc0Z0lDQWdjWFZsY25sVWVYQmxPaUJKYm1SbGVGUjVjR1ZrTzF4dUlDQWdJSEYxWlhKNVVHRjBhRG9nU1c1a1pYaFFZWFJvTzF4dUlDQWdJSEYxWlhKNVVHRnlaVzUwVDJZNklFbHVaR1Y0VUdGeVpXNTBUMlk3WEc0Z0lDQWdjWFZsY25sRGFHbHNaRTltT2lCSmJtUmxlRU5vYVd4a1QyWTdYRzRnSUNBZ2NYVmxjbmxUYVcxd2JHVk1hVzVyWldRNklFbHVaR1Y0VEdsdWEyVmtPMXh1SUNBZ0lIRjFaWEo1VEdsdWEyVmtPaUJKYm1SbGVFeHBibXRsWkR0Y2JpQWdJQ0J4ZFdWeWVVVjRhWE4wY3pvZ1NXNWtaWGhHYVdWc1pEdGNiaUFnSUNCeGRXVnllVkYxYjNSbFpFVjRjSEpsYzNOcGIyNDZJRWx1WkdWNFJYaHdjbVZ6YzJsdmJqdGNiaUFnSUNCeGRXVnllVkpoZDBWNGNISmxjM05wYjI0NklFbHVaR1Y0Ulhod2NtVnpjMmx2Ymp0Y2JpQWdJQ0J4ZFdWeWVVNWxaMkYwWlRvZ1NXNWtaWGhPYjNRN1hHNGdJQ0FnY1hWbGNubFFZWEpsYm5NNklFbHVaR1Y0VVhWbGNuazdYRzRnSUNBZ2NYVmxjbmxCZEc5dE9pQkpibVJsZUZGMVpYSjVPMXh1SUNBZ0lIRjFaWEo1UVc1a2N6b2dTVzVrWlhoUmRXVnllVHRjYmlBZ0lDQnhkV1Z5ZVU5eWN6b2dTVzVrWlhoUmRXVnllVHRjYmlBZ0lDQnhkV1Z5ZVRvZ1NXNWtaWGhSZFdWeWVUdGNibjFjYmx4dUx5b3FYRzRnS2lCUVlYSnpaWElnWm05eUlIUm9aU0J4ZFdWeWVTQnNZVzVuZFdGblpTNGdSR2xrSUVrZ2NtVmhiR3g1SUc1bFpXUWdZU0J4ZFdWeWVTQnNZVzVuZFdGblpTQnBibk4wWldGa0lHOW1JR3AxYzNRZ1lTQmlaWFIwWlhJZ1ZVay9JRkJ5YjJKaFlteDVJRzV2ZEM1Y2JpQXFJRUoxZENCeGRXVnllU0JzWVc1bmRXRm5aWE1nWVhKbElHWjFiaUJtYjNJZ2RHaGxJSGRvYjJ4bElHWmhiV2xzZVNCaGJtUWdZWFFnYzI5dFpTQndiMmx1ZENCNWIzVWdaMlYwSUhOdklIVnpaV1FnZEc4Z2QzSnBkR2x1WnlCMGFHVnRJSFJvWVhSY2JpQXFJSGx2ZFNCa2IyNG5kQ0J6ZEc5d0lIUnZJSFJvYVc1cklHbG1JSGx2ZFNBcWJtVmxaQ29nZEc4Z2QzSnBkR1VnZEdobGJTQmhibmx0YjNKbExpQkpkQ2R6SUdkdmIyUWdkSGx3YVc1bklIQnlZV04wYVdObElHWnZjaUJsZG1WeWVXOXVaUzVjYmlBcUwxeHVaWGh3YjNKMElHTnZibk4wSUZGVlJWSlpJRDBnVUM1amNtVmhkR1ZNWVc1bmRXRm5aVHhSZFdWeWVVeGhibWQxWVdkbFBpaDdYRzRnSUNBZ2NYVmxjbmxVWVdjNklDaGZLU0E5UGlCUVVrbE5TVlJKVmtWVExuUmhaeTV0WVhBb0tIWmhiSFZsS1NBOVBpQW9leUIwZVhCbE9pQmNJblJoWjJkbFpGd2lMQ0IyWVd4MVpTQjlLU2tzWEc0Z0lDQWdjWFZsY25sSlpEb2dLRjhwSUQwK0lHTnlaV0YwWlVaMWJtTjBhVzl1S0Z3aWFXUmNJaXdnVUZKSlRVbFVTVlpGVXk1emRISnBibWNwTG0xaGNDZ29XMThzSUdsa1hTa2dQVDRnS0hzZ2RIbHdaVG9nWENKcFpGd2lMQ0IyWVd4MVpUb2dhV1FnZlNrcExGeHVJQ0FnSUhGMVpYSjVWSGx3WlRvZ0tGOHBJRDArWEc0Z0lDQWdJQ0FnSUZBdWMzUnlhVzVuS0Z3aVFGd2lLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xuUm9aVzRvVUZKSlRVbFVTVlpGVXk1cFpHVnVkR2xtYVdWeUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG0xaGNDZ29kbUZzZFdVcElEMCtJQ2g3SUhSNWNHVTZJRndpZEhsd1pXUmNJaXdnZG1Gc2RXVTZJSFpoYkhWbElIMHBLU3hjYmx4dUlDQWdJSEYxWlhKNVVHRjBhRG9nS0Y4cElEMCtYRzRnSUNBZ0lDQWdJR055WldGMFpVWjFibU4wYVc5dUtGQXVjbVZuWlhod0tDOWxQM0JoZEdndmFTa3VaR1Z6WXloY0lsdGxYWEJoZEdoY0lpa3NJRkJTU1UxSlZFbFdSVk11YzNSeWFXNW5LUzV0WVhBb0tGdG1kVzVqTENCd1lYUm9YU2tnUFQ0Z0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVTZJRndpY0dGMGFGd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUhCaGRHZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNCbGVHRmpkRG9nWm5WdVl5NTBiMHh2ZDJWeVEyRnpaU2dwSUQwOVBTQmNJbVZ3WVhSb1hDSXNYRzRnSUNBZ0lDQWdJSDBwS1N4Y2JseHVJQ0FnSUhGMVpYSjVVR0Z5Wlc1MFQyWTZJQ2h4S1NBOVBseHVJQ0FnSUNBZ0lDQmpjbVZoZEdWR2RXNWpkR2x2YmloUUxuSmxaMlY0Y0NndmNHRnlaVzUwYjJaOGMzVndaWEowY21WbEwya3BMbVJsYzJNb1hDSndZWEpsYm5Sdlpsd2lLU3dnY1M1eGRXVnllU2t1YldGd0tDaGJablZ1WXl3Z1kyaHBiR1J5Wlc1ZEtTQTlQaUFvZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ1hDSndZWEpsYm5RdGIyWmNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHTm9hV3hrY21WdUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1amJIVnphWFpsT2lCbWRXNWpMblJ2VEc5M1pYSkRZWE5sS0NrZ1BUMDlJRndpYzNWd1pYSjBjbVZsWENJc1hHNGdJQ0FnSUNBZ0lIMHBLU3hjYmlBZ0lDQnhkV1Z5ZVVOb2FXeGtUMlk2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JqY21WaGRHVkdkVzVqZEdsdmJpaFFMbkpsWjJWNGNDZ3ZZMmhwYkdSdlpueHpkV0owY21WbEwya3BMbVJsYzJNb1hDSmphR2xzWkc5bVhDSXBMQ0J4TG5GMVpYSjVLUzV0WVhBb0tGdG1kVzVqTENCd1lYSmxiblJ6WFNrZ1BUNGdLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUZ3aVkyaHBiR1F0YjJaY0lpeGNiaUFnSUNBZ0lDQWdJQ0FnSUhCaGNtVnVkSE1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibU5zZFhOcGRtVTZJR1oxYm1NdWRHOU1iM2RsY2tOaGMyVW9LU0E5UFQwZ1hDSnpkV0owY21WbFhDSXNYRzRnSUNBZ0lDQWdJSDBwS1N4Y2JpQWdJQ0J4ZFdWeWVWTnBiWEJzWlV4cGJtdGxaRG9nS0Y4cElEMCtYRzRnSUNBZ0lDQWdJRkJTU1UxSlZFbFdSVk11YkdsdWF5NXRZWEFvS0d4cGJtc3BJRDArSUNoN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQmNJbXhwYm10bFpGd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MyOTFjbU5sT2lCN0lIUjVjR1U2SUZ3aWJHbHVhMXdpTENCMllXeDFaVG9nYkdsdWF5QjlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHbHlaV04wYVc5dU9pQmNJbWx1WTI5dGFXNW5YQ0lzWEc0Z0lDQWdJQ0FnSUgwcEtTeGNiaUFnSUNCeGRXVnllVXhwYm10bFpEb2dLSEVwSUQwK1hHNGdJQ0FnSUNBZ0lHTnlaV0YwWlVaMWJtTjBhVzl1S0ZBdWNtVm5aWGh3S0M5c2FXNXJjM1J2Zkd4cGJtdGxaR1p5YjIxOFkyOXVibVZqZEdWa0wya3BMbVJsYzJNb1hDSmpiMjV1WldOMFpXUmNJaWtzSUhFdWNYVmxjbmtwTG0xaGNDZ29XMloxYm1Nc0lITnZkWEpqWlYwcElEMCtJQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBlWEJsT2lCY0lteHBibXRsWkZ3aUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYzI5MWNtTmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHbHlaV04wYVc5dU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWjFibU11ZEc5TWIzZGxja05oYzJVb0tTQTlQU0JjSW14cGJtdHpkRzljSWlBL0lGd2lhVzVqYjIxcGJtZGNJaUE2SUdaMWJtTXVkRzlNYjNkbGNrTmhjMlVvS1NBOVBTQmNJbXhwYm10bFpHWnliMjFjSWlBL0lGd2liM1YwWjI5cGJtZGNJaUE2SUZ3aVltOTBhRndpTEZ4dUlDQWdJQ0FnSUNCOUtTa3NYRzRnSUNBZ2NYVmxjbmxGZUdsemRITTZJQ2hmS1NBOVBseHVJQ0FnSUNBZ0lDQmpjbVZoZEdWR2RXNWpkR2x2YmloUUxuSmxaMlY0Y0NndlpYaHBjM1J6TDJrcExtUmxjMk1vWENKbGVHbHpkSE5jSWlrc0lGQlNTVTFKVkVsV1JWTXVhV1JsYm5ScFptbGxjaTV2Y2loUVVrbE5TVlJKVmtWVExuTjBjbWx1WnlrcExtMWhjQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDaGJYMloxYm1Nc0lHbGtaVzUwWFNrZ1BUNGdLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQmNJbVpwWld4a1hDSXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVNklHbGtaVzUwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU2xjYmlBZ0lDQWdJQ0FnS1N4Y2JpQWdJQ0J4ZFdWeWVWRjFiM1JsWkVWNGNISmxjM05wYjI0NklDaHhLU0E5UGx4dUlDQWdJQ0FnSUNCamNtVmhkR1ZHZFc1amRHbHZiaWhRTG5KbFoyVjRjQ2d2Wlhod2NpOXBLUzVrWlhOaktGd2laWGh3Y2x3aUtTd2dSVmhRVWtWVFUwbFBUaTVsZUhCeVpYTnphVzl1S1M1dFlYQW9LRnRmTENCbGVIQnlYU2tnUFQ0Z0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSNWNHVTZJRndpWlhod2NtVnpjMmx2Ymx3aUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnWlhod2NtVnpjMmx2YmpvZ1pYaHdjaXhjYmlBZ0lDQWdJQ0FnZlNrcExGeHVJQ0FnSUhGMVpYSjVVbUYzUlhod2NtVnpjMmx2YmpvZ0tIRXBJRDArSUVWWVVGSkZVMU5KVDA0dVltbHVZWEo1UTI5dGNHRnlaUzV0WVhBb0tHVjRjSElwSUQwK0lDaDdJSFI1Y0dVNklGd2laWGh3Y21WemMybHZibHdpTENCbGVIQnlaWE56YVc5dU9pQmxlSEJ5SUgwcEtTeGNibHh1SUNBZ0lIRjFaWEo1VUdGeVpXNXpPaUFvY1NrZ1BUNGdjUzV4ZFdWeWVTNTBjbWx0S0ZBdWIzQjBWMmhwZEdWemNHRmpaU2t1ZDNKaGNDaFFMbk4wY21sdVp5aGNJaWhjSWlrc0lGQXVjM1J5YVc1bktGd2lLVndpS1Nrc1hHNGdJQ0FnY1hWbGNubE9aV2RoZEdVNklDaHhLU0E5UGx4dUlDQWdJQ0FnSUNCUUxuTjBjbWx1WnloY0lpRmNJaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXphMmx3S0ZBdWIzQjBWMmhwZEdWemNHRmpaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNTBhR1Z1S0hFdWNYVmxjbmxCZEc5dEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG0xaGNDZ29kbUZzZFdVcElEMCtJQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUb2dYQ0p1YjNSY0lpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxiR1Z0Wlc1ME9pQjJZV3gxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwS1N4Y2JpQWdJQ0J4ZFdWeWVVRjBiMjA2SUNoeEtTQTlQbHh1SUNBZ0lDQWdJQ0JRTG1Gc2REeEpibVJsZUZGMVpYSjVQaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXVjWFZsY25sUVlYSmxibk1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbkYxWlhKNVRtVm5ZWFJsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjUzV4ZFdWeWVWTnBiWEJzWlV4cGJtdGxaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXVjWFZsY25sVVlXY3NYRzRnSUNBZ0lDQWdJQ0FnSUNCeExuRjFaWEo1Vkhsd1pTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdWNYVmxjbmxKWkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1Y1hWbGNubEZlR2x6ZEhNc1hHNGdJQ0FnSUNBZ0lDQWdJQ0J4TG5GMVpYSjVRMmhwYkdSUFppeGNiaUFnSUNBZ0lDQWdJQ0FnSUhFdWNYVmxjbmxRWVhKbGJuUlBaaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXVjWFZsY25sTWFXNXJaV1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnhMbkYxWlhKNVVHRjBhQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIRXVjWFZsY25sUmRXOTBaV1JGZUhCeVpYTnphVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnUlhod2NtVnpjMmx2Ym5NZ1lYSmxJR1Z6YzJWdWRHbGhiR3g1SUhSb1pTQmNJbU5oZEdOb0xXRnNiRndpSUc5bUlHOTBhR1Z5ZDJselpTQjFibkJoY25ObFlXSnNaU0IwWlhKdGN5d2djMjhnZEdobGVTQnphRzkxYkdRZ1oyOGdZV0p6YjJ4MWRHVWdiR0Z6ZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEV1Y1hWbGNubFNZWGRGZUhCeVpYTnphVzl1WEc0Z0lDQWdJQ0FnSUNrc1hHNGdJQ0FnY1hWbGNubEJibVJ6T2lBb2NTa2dQVDVjYmlBZ0lDQWdJQ0FnWTNKbFlYUmxRbWx1WVhKNVVHRnljMlZ5S0hFdWNYVmxjbmxCZEc5dExDQlFVa2xOU1ZSSlZrVlRMbUpwYm1GeWVVRnVaRTl3TENBb2JHVm1kQ3dnWDI5d0xDQnlhV2RvZENrZ1BUNGdLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUZ3aVlXNWtYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiR1Z0Wlc1MGN6b2dXMnhsWm5Rc0lISnBaMmgwWFN4Y2JpQWdJQ0FnSUNBZ2ZTa3BMRnh1SUNBZ0lIRjFaWEo1VDNKek9pQW9jU2tnUFQ1Y2JpQWdJQ0FnSUNBZ1kzSmxZWFJsUW1sdVlYSjVVR0Z5YzJWeUtIRXVjWFZsY25sQmJtUnpMQ0JRVWtsTlNWUkpWa1ZUTG1KcGJtRnllVTl5VDNBc0lDaHNaV1owTENCZmIzQXNJSEpwWjJoMEtTQTlQaUFvZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ1hDSnZjbHdpTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaV3hsYldWdWRITTZJRnRzWldaMExDQnlhV2RvZEYwc1hHNGdJQ0FnSUNBZ0lIMHBLU3hjYmlBZ0lDQnhkV1Z5ZVRvZ0tIRXBJRDArSUhFdWNYVmxjbmxQY25NdWRISnBiU2hRTG05d2RGZG9hWFJsYzNCaFkyVXBMRnh1ZlNrN1hHNWNiaThxS2lCU1pYUjFjbTRnWVNCdVpYY2djR0Z5YzJWeUlIZG9hV05vSUdWNFpXTjFkR1Z6SUhSb1pTQjFibVJsY214NWFXNW5JSEJoY25ObGNpQmhibVFnY21WMGRYSnVjeUJwZENkeklISmhkeUJ6ZEhKcGJtY2djbVZ3Y21WelpXNTBZWFJwYjI0dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZ3ZEhWeVpWSmhkenhVUGloaVlYTmxPaUJRTGxCaGNuTmxjanhVUGlrNklGQXVVR0Z5YzJWeVBGdFVMQ0J6ZEhKcGJtZGRQaUI3WEc0Z0lDQWdjbVYwZFhKdUlGQXVZM1Z6ZEc5dEtDaGZjM1ZqWTJWemN5d2dYMlpoYVd4MWNtVXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNocGJuQjFkQ3dnYVNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJSEpsYzNWc2RDQTlJQ2hpWVhObElHRnpJR0Z1ZVNrdVh5aHBibkIxZEN3Z2FTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JWEpsYzNWc2RDNXpkR0YwZFhNcElISmxkSFZ5YmlCeVpYTjFiSFE3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdVlYTnphV2R1S0h0OUxDQnlaWE4xYkhRc0lIc2dkbUZzZFdVNklGdHlaWE4xYkhRdWRtRnNkV1VzSUdsdWNIVjBMbk4xWW5OMGNtbHVaeWhwTENCeVpYTjFiSFF1YVc1a1pYZ3BYU0I5S1R0Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNCOUtUdGNibjFjYmx4dUx5b3FJRU55WldGMFpTQmhJR3hsWm5RdFlYTnpiMk5wWVhScGRtVWdZbWx1WVhKNUlIQmhjbk5sY2lCM2FHbGphQ0J3WVhKelpYTWdkR2hsSUdkcGRtVnVJSE4xWWkxbGJHVnRaVzUwSUdGdVpDQnpaWEJoY21GMGIzSXVJRWhoYm1Sc1pYTWdkMmhwZEdWemNHRmpaUzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCamNtVmhkR1ZDYVc1aGNubFFZWEp6WlhJOFZDd2dWVDRvWEc0Z0lDQWdZMmhwYkdRNklGQXVVR0Z5YzJWeVBGUStMRnh1SUNBZ0lITmxjRG9nVUM1UVlYSnpaWEk4VlQ0c1hHNGdJQ0FnWTI5dFltbHVaVG9nS0dFNklGUXNJR0k2SUZVc0lHTTZJRlFwSUQwK0lGUmNiaWs2SUZBdVVHRnljMlZ5UEZRK0lIdGNiaUFnSUNCeVpYUjFjbTRnVUM1elpYRk5ZWEFvWTJocGJHUXNJRkF1YzJWeEtGQXViM0IwVjJocGRHVnpjR0ZqWlN3Z2MyVndMQ0JRTG05d2RGZG9hWFJsYzNCaFkyVXNJR05vYVd4a0tTNXRZVzU1S0Nrc0lDaG1hWEp6ZEN3Z2NtVnpkQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRDNXNaVzVuZEdnZ1BUMGdNQ2tnY21WMGRYSnVJR1pwY25OME8xeHVYRzRnSUNBZ0lDQWdJR3hsZENCdWIyUmxJRDBnWTI5dFltbHVaU2htYVhKemRDd2djbVZ6ZEZzd1hWc3hYU3dnY21WemRGc3dYVnN6WFNrN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHbHVaR1Y0SUQwZ01Uc2dhVzVrWlhnZ1BDQnlaWE4wTG14bGJtZDBhRHNnYVc1a1pYZ3JLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdibTlrWlNBOUlHTnZiV0pwYm1Vb2JtOWtaU3dnY21WemRGdHBibVJsZUYxYk1WMHNJSEpsYzNSYmFXNWtaWGhkV3pOZEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdibTlrWlR0Y2JpQWdJQ0I5S1R0Y2JuMWNibHh1THlvcVhHNGdLaUJEY21WaGRHVWdZU0J3WVhKelpYSWdkMmhwWTJnZ2NHRnljMlZ6SUZ4Y1BHWjFibU4wYVc5dVhGdytLRnhjUEdGeVozTmNYRDRwTGx4dUlDb2dLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJqY21WaGRHVkdkVzVqZEdsdmJqeFVQaWhtZFc1ak9pQnpkSEpwYm1jZ2ZDQlFMbEJoY25ObGNqeHpkSEpwYm1jK0xDQmhjbWR6T2lCUUxsQmhjbk5sY2p4VVBpazZJRkF1VUdGeWMyVnlQRnR6ZEhKcGJtY3NJRlJkUGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVZoYkVaMWJtTWdQU0IwZVhCbGIyWWdablZ1WXlBOVBUMGdYQ0p6ZEhKcGJtZGNJaUEvSUZBdWMzUnlhVzVuS0daMWJtTXBJRG9nWm5WdVl6dGNiaUFnSUNCeVpYUjFjbTRnVUM1elpYRk5ZWEFvWEc0Z0lDQWdJQ0FnSUhKbFlXeEdkVzVqTG5OcmFYQW9VQzV2Y0hSWGFHbDBaWE53WVdObEtTeGNiaUFnSUNBZ0lDQWdZWEpuY3k1MGNtbHRLRkF1YjNCMFYyaHBkR1Z6Y0dGalpTa3VkM0poY0NoUUxuTjBjbWx1WnloY0lpaGNJaWtzSUZBdWMzUnlhVzVuS0Z3aUtWd2lLU2tzWEc0Z0lDQWdJQ0FnSUNobUxDQmhLU0E5UGlCYlppd2dZVjFjYmlBZ0lDQXBPMXh1ZlZ4dVhHNHZLaW9nUTJoaGFXNXpJR0VnYkdsemRDQnZaaUJ3WVhKelpYSnpPeUIwYUdVZ1ptbHljM1FnYjI1bElHMTFjM1FnYzNWalkyVmxaQ3dnWW5WMElHWnZiR3h2ZDJsdVp5QnZibVZ6SUcxaGVTQm1ZV2xzSUhkcGRHaHZkWFFnWm1GcGJHbHVaeUIwYUdVZ2IzWmxjbUZzYkNCd1lYSnpaUzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCamFHRnBiazl3ZER4VVBpaGlZWE5sT2lCUUxsQmhjbk5sY2p4VVBpd2dMaTR1Wm5WdVkzTTZJQ2dvY2pvZ1ZDa2dQVDRnVUM1UVlYSnpaWEk4VkQ0cFcxMHBPaUJRTGxCaGNuTmxjanhVUGlCN1hHNGdJQ0FnY21WMGRYSnVJRkF1WTNWemRHOXRLQ2hmYzNWalkyVnpjeXdnWDJaaGFXeDFjbVVwSUQwK0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDaHBibkIxZEN3Z2FTa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR1YwSUhKbGMzVnNkQ0E5SUNoaVlYTmxJR0Z6SUdGdWVTa3VYeWhwYm5CMWRDd2dhU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhKbGMzVnNkQzV6ZEdGMGRYTXBJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdaMWJtTWdiMllnWm5WdVkzTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2JtVjRkQ0E5SUNobWRXNWpLSEpsYzNWc2RDNTJZV3gxWlNCaGN5QlVLU0JoY3lCaGJua3BMbDhvYVc1d2RYUXNJSEpsYzNWc2RDNXBibVJsZUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0Z1WlhoMExuTjBZWFIxY3lrZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQ0E5SUc1bGVIUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzRnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdmU2s3WEc1OVhHNGlMQ0FpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR1Y0Y0hKbGMzTnBiMjV6WEc0Z0tpOWNibWx0Y0c5eWRDQjdJRVJoZEdWVWFXMWxMQ0JFZFhKaGRHbHZiaUI5SUdaeWIyMGdYQ0pzZFhodmJsd2lPMXh1YVcxd2IzSjBJSHNnVEdsdWF5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMMnhwYm10Y0lqdGNibWx0Y0c5eWRDQjdJSEpsYm1SbGNrMXBibWx0WVd4RVlYUmxMQ0J5Wlc1a1pYSk5hVzVwYldGc1JIVnlZWFJwYjI0Z2ZTQm1jbTl0SUZ3aWRYUnBiSE12Ym05eWJXRnNhWHBsY25OY0lqdGNibHh1THk4Z1VtVXRaWGh3YjNKMGN5QnZaaUIxYzJWbWRXd2daMlZ1WlhKcFl5QjBlWEJsY3k1Y2JtVjRjRzl5ZENCN0lFeHBibXNnZlR0Y2JseHVMeW9xSUZOb2IzSjBhR0Z1WkNCbWIzSWdZU0J0WVhCd2FXNW5JR1p5YjIwZ2EyVjVjeUIwYnlCMllXeDFaWE11SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JFWVhSaFQySnFaV04wSUQwZ1VtVmpiM0prUEhOMGNtbHVaeXdnWVc1NVBqdGNiaThxS2lCVWFHVWdiR2wwWlhKaGJDQjBlWEJsY3lCemRYQndiM0owWldRZ1lua2dkR2hsSUhGMVpYSjVJR1Z1WjJsdVpTNGdLaTljYm1WNGNHOXlkQ0IwZVhCbElFeHBkR1Z5WVd4VWVYQmxJRDFjYmlBZ0lDQjhJRndpWW05dmJHVmhibHdpWEc0Z0lDQWdmQ0JjSW01MWJXSmxjbHdpWEc0Z0lDQWdmQ0JjSW5OMGNtbHVaMXdpWEc0Z0lDQWdmQ0JjSW1SaGRHVmNJbHh1SUNBZ0lId2dYQ0prZFhKaGRHbHZibHdpWEc0Z0lDQWdmQ0JjSW14cGJtdGNJbHh1SUNBZ0lId2dYQ0poY25KaGVWd2lYRzRnSUNBZ2ZDQmNJbTlpYW1WamRGd2lYRzRnSUNBZ2ZDQmNJbVoxYm1OMGFXOXVYQ0pjYmlBZ0lDQjhJRndpYm5Wc2JGd2lPMXh1THlvcUlGUm9aU0J5WVhjZ2RtRnNkV1Z6SUhSb1lYUWdZU0JzYVhSbGNtRnNJR05oYmlCMFlXdGxJRzl1TGlBcUwxeHVaWGh3YjNKMElIUjVjR1VnVEdsMFpYSmhiQ0E5WEc0Z0lDQWdmQ0JpYjI5c1pXRnVYRzRnSUNBZ2ZDQnVkVzFpWlhKY2JpQWdJQ0I4SUhOMGNtbHVaMXh1SUNBZ0lId2dSR0YwWlZScGJXVmNiaUFnSUNCOElFUjFjbUYwYVc5dVhHNGdJQ0FnZkNCTWFXNXJYRzRnSUNBZ2ZDQkJjbkpoZVR4TWFYUmxjbUZzUGx4dUlDQWdJSHdnUkdGMFlVOWlhbVZqZEZ4dUlDQWdJSHdnUm5WdVkzUnBiMjVjYmlBZ0lDQjhJRzUxYkd3N1hHNWNiaThxS2lCTllYQnpJSFJvWlNCemRISnBibWNnZEhsd1pTQjBieUJwZENkeklHVjRkR1Z5Ym1Gc0xDQkJVRWt0Wm1GamFXNW5JSEpsY0hKbGMyVnVkR0YwYVc5dUxpQXFMMXh1Wlhod2IzSjBJSFI1Y0dVZ1RHbDBaWEpoYkZKbGNISThWQ0JsZUhSbGJtUnpJRXhwZEdWeVlXeFVlWEJsUGlBOUlGUWdaWGgwWlc1a2N5QmNJbUp2YjJ4bFlXNWNJbHh1SUNBZ0lEOGdZbTl2YkdWaGJseHVJQ0FnSURvZ1ZDQmxlSFJsYm1SeklGd2liblZ0WW1WeVhDSmNiaUFnSUNBL0lHNTFiV0psY2x4dUlDQWdJRG9nVkNCbGVIUmxibVJ6SUZ3aWMzUnlhVzVuWENKY2JpQWdJQ0EvSUhOMGNtbHVaMXh1SUNBZ0lEb2dWQ0JsZUhSbGJtUnpJRndpWkhWeVlYUnBiMjVjSWx4dUlDQWdJRDhnUkhWeVlYUnBiMjVjYmlBZ0lDQTZJRlFnWlhoMFpXNWtjeUJjSW1SaGRHVmNJbHh1SUNBZ0lEOGdSR0YwWlZScGJXVmNiaUFnSUNBNklGUWdaWGgwWlc1a2N5QmNJbTUxYkd4Y0lseHVJQ0FnSUQ4Z2JuVnNiRnh1SUNBZ0lEb2dWQ0JsZUhSbGJtUnpJRndpYkdsdWExd2lYRzRnSUNBZ1B5Qk1hVzVyWEc0Z0lDQWdPaUJVSUdWNGRHVnVaSE1nWENKaGNuSmhlVndpWEc0Z0lDQWdQeUJCY25KaGVUeE1hWFJsY21Gc1BseHVJQ0FnSURvZ1ZDQmxlSFJsYm1SeklGd2liMkpxWldOMFhDSmNiaUFnSUNBL0lFUmhkR0ZQWW1wbFkzUmNiaUFnSUNBNklGUWdaWGgwWlc1a2N5QmNJbVoxYm1OMGFXOXVYQ0pjYmlBZ0lDQS9JRVoxYm1OMGFXOXVYRzRnSUNBZ09pQmhibms3WEc1Y2JpOHFLaUJCSUhkeVlYQndaV1FnYkdsMFpYSmhiQ0IyWVd4MVpTQjNhR2xqYUNCallXNGdZbVVnYzNkcGRHTm9aV1FnYjI0dUlDb3ZYRzVsZUhCdmNuUWdkSGx3WlNCWGNtRndjR1ZrVEdsMFpYSmhiQ0E5WEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbk4wY21sdVoxd2lQbHh1SUNBZ0lId2dUR2wwWlhKaGJGZHlZWEJ3WlhJOFhDSnVkVzFpWlhKY0lqNWNiaUFnSUNCOElFeHBkR1Z5WVd4WGNtRndjR1Z5UEZ3aVltOXZiR1ZoYmx3aVBseHVJQ0FnSUh3Z1RHbDBaWEpoYkZkeVlYQndaWEk4WENKa1lYUmxYQ0krWEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbVIxY21GMGFXOXVYQ0krWEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbXhwYm10Y0lqNWNiaUFnSUNCOElFeHBkR1Z5WVd4WGNtRndjR1Z5UEZ3aVlYSnlZWGxjSWo1Y2JpQWdJQ0I4SUV4cGRHVnlZV3hYY21Gd2NHVnlQRndpYjJKcVpXTjBYQ0krWEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbVoxYm1OMGFXOXVYQ0krWEc0Z0lDQWdmQ0JNYVhSbGNtRnNWM0poY0hCbGNqeGNJbTUxYkd4Y0lqNDdYRzVjYmk4cUtpQkRiMjFpYVc1bGN5QmhJSFJsZUhSMVlXd2dkSGx3WlNCaGJtUWdkbUZzZFdVN0lIQnlhVzFoY21sc2VTQjFjMlZtZFd3Z1ptOXlJSE4zYVhSamFHbHVaeUJ2Ymk1Y2JpQXFJRUJvYVdSa1pXNWNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTWFYUmxjbUZzVjNKaGNIQmxjanhVSUdWNGRHVnVaSE1nVEdsMFpYSmhiRlI1Y0dVK0lIdGNiaUFnSUNCMGVYQmxPaUJVTzF4dUlDQWdJSFpoYkhWbE9pQk1hWFJsY21Gc1VtVndjanhVUGp0Y2JuMWNibHh1THlvcVhHNGdLaUJBYUdsa1pHVnVYRzRnS2lBZ1ZYUnBiR2wwZVNCc2FXSnlZWEo1SUdadmNpQm9ZVzVrYkdsdVp5QnNhWFJsY21Gc0lIWmhiSFZsY3k0Z0tpOWNibVY0Y0c5eWRDQnVZVzFsYzNCaFkyVWdUR2wwWlhKaGJITWdlMXh1SUNBZ0lDOHFLaUJUWlhSMGFXNW5jeUIxYzJWa0lIZG9aVzRnWm05eWJXRjBkR2x1WnlCc2FYUmxjbUZzSUhaaGJIVmxjeUIwYnlCMFpYaDBMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQnBiblJsY21aaFkyVWdWRzlUZEhKcGJtZFRaWFIwYVc1bmN5QjdYRzRnSUNBZ0lDQWdJQzhxS2lCWGFHRjBJR0VnYm5Wc2JDQjNhV3hzSUhKbGJtUmxjaUJoY3k0Z0tpOWNiaUFnSUNBZ0lDQWdiblZzYkZKbGNISmxjMlZ1ZEdGMGFXOXVPaUJ6ZEhKcGJtYzdYRzVjYmlBZ0lDQWdJQ0FnTHlvcUlFUmhkR1VnWm05eWJXRjBMaUFxTDF4dUlDQWdJQ0FnSUNCa1lYUmxSbTl5YldGME9pQnpkSEpwYm1jN1hHNWNiaUFnSUNBZ0lDQWdMeW9xSUVSaGRHVXRkR2x0WlNCbWIzSnRZWFF1SUNvdlhHNGdJQ0FnSUNBZ0lHUmhkR1ZVYVcxbFJtOXliV0YwT2lCemRISnBibWM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUZOaGJtVXNJRVZ1WjJ4cGMyZ3RZbUZ6WldRZ1pHVm1ZWFZzZEhNZ1ptOXlJR1JoZEdVZ1ptOXliV0YwY3k0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWTI5dWMzUWdSRVZHUVZWTVZGOVVUMTlUVkZKSlRrYzZJRlJ2VTNSeWFXNW5VMlYwZEdsdVozTWdQU0I3WEc0Z0lDQWdJQ0FnSUc1MWJHeFNaWEJ5WlhObGJuUmhkR2x2YmpvZ1hDSXRYQ0lzWEc1Y2JpQWdJQ0FnSUNBZ1pHRjBaVVp2Y20xaGREb2dYQ0pOVFUxTklHUmtMQ0I1ZVhsNVhDSXNYRzRnSUNBZ0lDQWdJR1JoZEdWVWFXMWxSbTl5YldGME9pQmNJbWc2YlcwZ1lTQXRJRTFOVFUwZ1pHUXNJSGw1ZVhsY0lpeGNiaUFnSUNCOU8xeHVYRzRnSUNBZ0x5b3FJRU52Ym5abGNuUWdZVzRnWVhKaWFYUnlZWEo1SUhaaGJIVmxJR2x1ZEc4Z1lTQnlaV0Z6YjI1aFlteGxMQ0JOWVhKclpHOTNiaTFtY21sbGJtUnNlU0J6ZEhKcGJtY2dhV1lnY0c5emMybGliR1V1SUNvdlhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJSFJ2VTNSeWFXNW5LRnh1SUNBZ0lDQWdJQ0JtYVdWc1pEb2dZVzU1TEZ4dUlDQWdJQ0FnSUNCelpYUjBhVzVuT2lCVWIxTjBjbWx1WjFObGRIUnBibWR6SUQwZ1JFVkdRVlZNVkY5VVQxOVRWRkpKVGtjc1hHNGdJQ0FnSUNBZ0lISmxZM1Z5YzJsMlpUb2dZbTl2YkdWaGJpQTlJR1poYkhObFhHNGdJQ0FnS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJSGR5WVhCd1pXUWdQU0IzY21Gd1ZtRnNkV1VvWm1sbGJHUXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb0lYZHlZWEJ3WldRcElISmxkSFZ5YmlCelpYUjBhVzVuTG01MWJHeFNaWEJ5WlhObGJuUmhkR2x2Ymp0Y2JseHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIZHlZWEJ3WldRdWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltNTFiR3hjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYzJWMGRHbHVaeTV1ZFd4c1VtVndjbVZ6Wlc1MFlYUnBiMjQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWMzUnlhVzVuWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhkeVlYQndaV1F1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpYm5WdFltVnlYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVltOXZiR1ZoYmx3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCY0lsd2lJQ3NnZDNKaGNIQmxaQzUyWVd4MVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVc1clhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIZHlZWEJ3WldRdWRtRnNkV1V1YldGeWEyUnZkMjRvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSm1kVzVqZEdsdmJsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmNJanhtZFc1amRHbHZiajVjSWp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmhjbkpoZVZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J5WlhOMWJIUWdQU0JjSWx3aU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5WldOMWNuTnBkbVVwSUhKbGMzVnNkQ0FyUFNCY0lsdGNJanRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdLejBnZDNKaGNIQmxaQzUyWVd4MVpTNXRZWEFvS0dZcElEMCtJSFJ2VTNSeWFXNW5LR1lzSUhObGRIUnBibWNzSUhSeWRXVXBLUzVxYjJsdUtGd2lMQ0JjSWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEpsWTNWeWMybDJaU2tnY21WemRXeDBJQ3M5SUZ3aVhWd2lPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liMkpxWldOMFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENKN0lGd2lJQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1WdWRISnBaWE1vZDNKaGNIQmxaQzUyWVd4MVpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNXRZWEFvS0dVcElEMCtJR1ZiTUYwZ0t5QmNJam9nWENJZ0t5QjBiMU4wY21sdVp5aGxXekZkTENCelpYUjBhVzVuTENCMGNuVmxLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzVxYjJsdUtGd2lMQ0JjSWlrZ0sxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JjSWlCOVhDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1SaGRHVmNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ1WkdWeVRXbHVhVzFoYkVSaGRHVW9kM0poY0hCbFpDNTJZV3gxWlN3Z2MyVjBkR2x1Wnk1a1lYUmxSbTl5YldGMExDQnpaWFIwYVc1bkxtUmhkR1ZVYVcxbFJtOXliV0YwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmtkWEpoZEdsdmJsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaVzVrWlhKTmFXNXBiV0ZzUkhWeVlYUnBiMjRvZDNKaGNIQmxaQzUyWVd4MVpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nVjNKaGNDQmhJR3hwZEdWeVlXd2dkbUZzZFdVZ2MyOGdlVzkxSUdOaGJpQnpkMmwwWTJnZ2IyNGdhWFFnWldGemFXeDVMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQjNjbUZ3Vm1Gc2RXVW9kbUZzT2lCTWFYUmxjbUZzS1RvZ1YzSmhjSEJsWkV4cGRHVnlZV3dnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOT2RXeHNLSFpoYkNrcElISmxkSFZ5YmlCN0lIUjVjR1U2SUZ3aWJuVnNiRndpTENCMllXeDFaVG9nZG1Gc0lIMDdYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLR2x6VG5WdFltVnlLSFpoYkNrcElISmxkSFZ5YmlCN0lIUjVjR1U2SUZ3aWJuVnRZbVZ5WENJc0lIWmhiSFZsT2lCMllXd2dmVHRjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYVhOVGRISnBibWNvZG1Gc0tTa2djbVYwZFhKdUlIc2dkSGx3WlRvZ1hDSnpkSEpwYm1kY0lpd2dkbUZzZFdVNklIWmhiQ0I5TzF4dUlDQWdJQ0FnSUNCbGJITmxJR2xtSUNocGMwSnZiMnhsWVc0b2RtRnNLU2tnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0ppYjI5c1pXRnVYQ0lzSUhaaGJIVmxPaUIyWVd3Z2ZUdGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9hWE5FZFhKaGRHbHZiaWgyWVd3cEtTQnlaWFIxY200Z2V5QjBlWEJsT2lCY0ltUjFjbUYwYVc5dVhDSXNJSFpoYkhWbE9pQjJZV3dnZlR0Y2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2FYTkVZWFJsS0haaGJDa3BJSEpsZEhWeWJpQjdJSFI1Y0dVNklGd2laR0YwWlZ3aUxDQjJZV3gxWlRvZ2RtRnNJSDA3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dselFYSnlZWGtvZG1Gc0tTa2djbVYwZFhKdUlIc2dkSGx3WlRvZ1hDSmhjbkpoZVZ3aUxDQjJZV3gxWlRvZ2RtRnNJSDA3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dselRHbHVheWgyWVd3cEtTQnlaWFIxY200Z2V5QjBlWEJsT2lCY0lteHBibXRjSWl3Z2RtRnNkV1U2SUhaaGJDQjlPMXh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hwYzBaMWJtTjBhVzl1S0haaGJDa3BJSEpsZEhWeWJpQjdJSFI1Y0dVNklGd2lablZ1WTNScGIyNWNJaXdnZG1Gc2RXVTZJSFpoYkNCOU8xeHVJQ0FnSUNBZ0lDQmxiSE5sSUdsbUlDaHBjMDlpYW1WamRDaDJZV3dwS1NCeVpYUjFjbTRnZXlCMGVYQmxPaUJjSW05aWFtVmpkRndpTENCMllXeDFaVG9nZG1Gc0lIMDdYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1VtVmpkWEp6YVhabGJIa2diV0Z3SUdOdmJYQnNaWGdnYjJKcVpXTjBjeUJoZENCMGFHVWdiR1ZoZG1WekxpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlYQk1aV0YyWlhNb2RtRnNPaUJNYVhSbGNtRnNMQ0JtZFc1ak9pQW9kRG9nVEdsMFpYSmhiQ2tnUFQ0Z1RHbDBaWEpoYkNrNklFeHBkR1Z5WVd3Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOUFltcGxZM1FvZG1Gc0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJSEpsYzNWc2REb2dSR0YwWVU5aWFtVmpkQ0E5SUh0OU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnVzJ0bGVTd2dkbUZzZFdWZElHOW1JRTlpYW1WamRDNWxiblJ5YVdWektIWmhiQ2twSUhKbGMzVnNkRnRyWlhsZElEMGdiV0Z3VEdWaGRtVnpLSFpoYkhWbExDQm1kVzVqS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9hWE5CY25KaGVTaDJZV3dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2NtVnpkV3gwT2lCTWFYUmxjbUZzVzEwZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElIWmhiSFZsSUc5bUlIWmhiQ2tnY21WemRXeDBMbkIxYzJnb2JXRndUR1ZoZG1WektIWmhiSFZsTENCbWRXNWpLU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWjFibU1vZG1Gc0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJEYUdWamF5QnBaaUIwZDI4Z1lYSmlhWFJ5WVhKNUlHeHBkR1Z5WVd4eklHRnlaU0JsY1hWaGJDNGdLaTljYmlBZ0lDQmxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pYRjFZV3h6S0dacGNuTjBPaUJNYVhSbGNtRnNJSHdnZFc1a1pXWnBibVZrTENCelpXTnZibVE2SUV4cGRHVnlZV3dnZkNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHTnZiWEJoY21Vb1ptbHljM1FzSUhObFkyOXVaQ2tnUFQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRMjl0Y0dGeVpTQjBkMjhnWVhKaWFYUnlZWEo1SUVwaGRtRlRZM0pwY0hRZ2RtRnNkV1Z6TGlCUWNtOWtkV05sY3lCaElIUnZkR0ZzSUc5eVpHVnlhVzVuSUc5MlpYSWdRVTVaSUhCdmMzTnBZbXhsSUdSaGRHRmpiM0psSUhaaGJIVmxMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQmpiMjF3WVhKbEtGeHVJQ0FnSUNBZ0lDQjJZV3d4T2lCTWFYUmxjbUZzSUh3Z2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQjJZV3d5T2lCTWFYUmxjbUZzSUh3Z2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQnNhVzVyVG05eWJXRnNhWHBsY2o4NklDaHNhVzVyT2lCemRISnBibWNwSUQwK0lITjBjbWx1WjF4dUlDQWdJQ2s2SUc1MWJXSmxjaUI3WEc0Z0lDQWdJQ0FnSUM4dklGSmxabVZ5Wlc1alpTQmxjWFZoYkdsMGVTQXRJSE5vYjNKMElHTnBjbU4xYVhRdVhHNGdJQ0FnSUNBZ0lHbG1JQ2gyWVd3eElEMDlQU0IyWVd3eUtTQnlaWFIxY200Z01EdGNibHh1SUNBZ0lDQWdJQ0F2THlCSVlXNWtiR1VnZFc1a1pXWnBibVZrTDI1MWJHeHpJR1pwY25OMExseHVJQ0FnSUNBZ0lDQnBaaUFvZG1Gc01TQTlQVDBnZFc1a1pXWnBibVZrS1NCMllXd3hJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdhV1lnS0haaGJESWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2RtRnNNaUE5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJR2xtSUNoMllXd3hJRDA5UFNCdWRXeHNJQ1ltSUhaaGJESWdQVDA5SUc1MWJHd3BJSEpsZEhWeWJpQXdPMXh1SUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2gyWVd3eElEMDlQU0J1ZFd4c0tTQnlaWFIxY200Z0xURTdYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2FXWWdLSFpoYkRJZ1BUMDlJRzUxYkd3cElISmxkSFZ5YmlBeE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUVFZ2JtOXVMVzUxYkd3Z2RtRnNkV1VnYm05M0lIZG9hV05vSUhkbElHTmhiaUIzY21Gd0lDWWdZMjl0Y0dGeVpTQnZiaTVjYmlBZ0lDQWdJQ0FnYkdWMElIZHlZWEF4SUQwZ2QzSmhjRlpoYkhWbEtIWmhiREVwTzF4dUlDQWdJQ0FnSUNCc1pYUWdkM0poY0RJZ1BTQjNjbUZ3Vm1Gc2RXVW9kbUZzTWlrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0hkeVlYQXhJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdkM0poY0RJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnY21WMGRYSnVJREE3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hkeVlYQXhJRDA5UFNCMWJtUmxabWx1WldRcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9kM0poY0RJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnY21WMGRYSnVJREU3WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdVMmh2Y25RdFkybHlZM1ZwZENCdmJpQmthV1ptWlhKbGJuUWdkSGx3WlhNZ2IzSWdiMjRnY21WbVpYSmxibU5sSUdWeGRXRnNhWFI1TGx4dUlDQWdJQ0FnSUNCcFppQW9kM0poY0RFdWRIbHdaU0FoUFNCM2NtRndNaTUwZVhCbEtTQnlaWFIxY200Z2QzSmhjREV1ZEhsd1pTNXNiMk5oYkdWRGIyMXdZWEpsS0hkeVlYQXlMblI1Y0dVcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvZDNKaGNERXVkbUZzZFdVZ1BUMDlJSGR5WVhBeUxuWmhiSFZsS1NCeVpYUjFjbTRnTUR0Y2JseHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tIZHlZWEF4TG5SNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKemRISnBibWRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNERXVkbUZzZFdVdWJHOWpZV3hsUTI5dGNHRnlaU2gzY21Gd01pNTJZV3gxWlNCaGN5QnpkSEpwYm1jcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbTUxYldKbGNsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoM2NtRndNUzUyWVd4MVpTQThJQ2gzY21Gd01pNTJZV3gxWlNCaGN5QnVkVzFpWlhJcEtTQnlaWFIxY200Z0xURTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9kM0poY0RFdWRtRnNkV1VnUFQwZ0tIZHlZWEF5TG5aaGJIVmxJR0Z6SUc1MWJXSmxjaWtwSUhKbGRIVnliaUF3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUF4TzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltNTFiR3hjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmliMjlzWldGdVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hkeVlYQXhMblpoYkhWbElEMDlJSGR5WVhBeUxuWmhiSFZsS1NCeVpYUjFjbTRnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJITmxJSEpsZEhWeWJpQjNjbUZ3TVM1MllXeDFaU0EvSURFZ09pQXRNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKc2FXNXJYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHeHBibXN4SUQwZ2QzSmhjREV1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YwSUd4cGJtc3lJRDBnZDNKaGNESXVkbUZzZFdVZ1lYTWdUR2x1YXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdibTl5YldGc2FYcGxJRDBnYkdsdWEwNXZjbTFoYkdsNlpYSWdQejhnS0NoNE9pQnpkSEpwYm1jcElEMCtJSGdwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWMlVnWTJGdUozUWdZMjl0Y0dGeVpTQmllU0JtYVd4bElHNWhiV1VnYjNJZ1pHbHpjR3hoZVN3Z2MybHVZMlVnZEdoaGRDQjNiM1ZzWkNCaWNtVmhheUJzYVc1cklHVnhkV0ZzYVhSNUxpQkRiMjF3WVhKbElHSjVJSEJoZEdndVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJSEJoZEdoRGIyMXdZWEpsSUQwZ2JtOXliV0ZzYVhwbEtHeHBibXN4TG5CaGRHZ3BMbXh2WTJGc1pVTnZiWEJoY21Vb2JtOXliV0ZzYVhwbEtHeHBibXN5TG5CaGRHZ3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2NHRjBhRU52YlhCaGNtVWdJVDBnTUNrZ2NtVjBkWEp1SUhCaGRHaERiMjF3WVhKbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVkdobGJpQmpiMjF3WVhKbElHSjVJSFI1Y0dVdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJSFI1Y0dWRGIyMXdZWEpsSUQwZ2JHbHVhekV1ZEhsd1pTNXNiMk5oYkdWRGIyMXdZWEpsS0d4cGJtc3lMblI1Y0dVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwZVhCbFEyOXRjR0Z5WlNBaFBTQXdLU0J5WlhSMWNtNGdkSGx3WlVOdmJYQmhjbVU3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVhR1Z1SUdOdmJYQmhjbVVnWW5rZ2MzVmljR0YwYUNCbGVHbHpkR1Z1WTJVdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3hwYm1zeExuTjFZbkJoZEdnZ0ppWWdJV3hwYm1zeUxuTjFZbkJoZEdncElISmxkSFZ5YmlBeE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYkdsdWF6RXVjM1ZpY0dGMGFDQW1KaUJzYVc1ck1pNXpkV0p3WVhSb0tTQnlaWFIxY200Z0xURTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGc2FXNXJNUzV6ZFdKd1lYUm9JQ1ltSUNGc2FXNXJNaTV6ZFdKd1lYUm9LU0J5WlhSMWNtNGdNRHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGTnBibU5sSUdKdmRHZ2dhR0YyWlNCaElITjFZbkJoZEdnc0lHTnZiWEJoY21VZ1lua2djM1ZpY0dGMGFDNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0tHeHBibXN4TG5OMVluQmhkR2dnUHo4Z1hDSmNJaWt1Ykc5allXeGxRMjl0Y0dGeVpTaHNhVzVyTWk1emRXSndZWFJvSUQ4L0lGd2lYQ0lwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltUmhkR1ZjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNERXVkbUZzZFdVZ1BDQW9kM0poY0RJdWRtRnNkV1VnWVhNZ1JHRjBaVlJwYldVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnTFRGY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUIzY21Gd01TNTJZV3gxWlM1bGNYVmhiSE1vZDNKaGNESXVkbUZzZFdVZ1lYTWdSR0YwWlZScGJXVXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUQ4Z01GeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E2SURFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2laSFZ5WVhScGIyNWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkM0poY0RFdWRtRnNkV1VnUENBb2QzSmhjREl1ZG1Gc2RXVWdZWE1nUkhWeVlYUnBiMjRwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdMVEZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQjNjbUZ3TVM1MllXeDFaUzVsY1hWaGJITW9kM0poY0RJdWRtRnNkV1VnWVhNZ1JIVnlZWFJwYjI0cFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRDhnTUZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQTZJREU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVlYSnlZWGxjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdaakVnUFNCM2NtRndNUzUyWVd4MVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNaWFFnWmpJZ1BTQjNjbUZ3TWk1MllXeDFaU0JoY3lCaGJubGJYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwYm1SbGVDQTlJREE3SUdsdVpHVjRJRHdnVFdGMGFDNXRhVzRvWmpFdWJHVnVaM1JvTENCbU1pNXNaVzVuZEdncE95QnBibVJsZUNzcktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQmpiMjF3SUQwZ1kyOXRjR0Z5WlNobU1WdHBibVJsZUYwc0lHWXlXMmx1WkdWNFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGpiMjF3SUNFOUlEQXBJSEpsZEhWeWJpQmpiMjF3TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWmpFdWJHVnVaM1JvSUMwZ1pqSXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbTlpYW1WamRGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hsZENCdk1TQTlJSGR5WVhBeExuWmhiSFZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQnZNaUE5SUhkeVlYQXlMblpoYkhWbElHRnpJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElHc3hJRDBnUVhKeVlYa3Vabkp2YlNoUFltcGxZM1F1YTJWNWN5aHZNU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQnJNaUE5SUVGeWNtRjVMbVp5YjIwb1QySnFaV04wTG10bGVYTW9ieklwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCck1TNXpiM0owS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2F6SXVjMjl5ZENncE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YwSUd0bGVVTnZiWEJoY21VZ1BTQmpiMjF3WVhKbEtHc3hMQ0JyTWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3RsZVVOdmJYQmhjbVVnSVQwZ01Da2djbVYwZFhKdUlHdGxlVU52YlhCaGNtVTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JyWlhrZ2IyWWdhekVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR1YwSUdOdmJYQWdQU0JqYjIxd1lYSmxLRzh4VzJ0bGVWMHNJRzh5VzJ0bGVWMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ZMjl0Y0NBaFBTQXdLU0J5WlhSMWNtNGdZMjl0Y0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z01EdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0ptZFc1amRHbHZibHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHlvcUlFWnBibVFnZEdobElHTnZjbkpsYzNCdmJtUnBibWNnWkdGMFlXTnZjbVVnZEhsd1pTQm1iM0lnWVc0Z1lYSmlhWFJ5WVhKNUlIWmhiSFZsTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUIwZVhCbFQyWW9kbUZzT2lCaGJua3BPaUJNYVhSbGNtRnNWSGx3WlNCOElIVnVaR1ZtYVc1bFpDQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjNjbUZ3Vm1Gc2RXVW9kbUZzS1Q4dWRIbHdaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUkdWMFpYSnRhVzVsSUdsbUlIUm9aU0JuYVhabGJpQjJZV3gxWlNCcGN5QmNJblJ5ZFhSb2VWd2lJQ2hwTG1VdUxDQnBjeUJ1YjI0dGJuVnNiQ0JoYm1RZ2FHRnpJR1JoZEdFZ2FXNGdhWFFwTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJwYzFSeWRYUm9lU2htYVdWc1pEb2dUR2wwWlhKaGJDazZJR0p2YjJ4bFlXNGdlMXh1SUNBZ0lDQWdJQ0JzWlhRZ2QzSmhjSEJsWkNBOUlIZHlZWEJXWVd4MVpTaG1hV1ZzWkNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doZDNKaGNIQmxaQ2tnY21WMGRYSnVJR1poYkhObE8xeHVYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9kM0poY0hCbFpDNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liblZ0WW1WeVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIZHlZWEJ3WldRdWRtRnNkV1VnSVQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0p6ZEhKcGJtZGNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkM0poY0hCbFpDNTJZV3gxWlM1c1pXNW5kR2dnUGlBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbUp2YjJ4bFlXNWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkM0poY0hCbFpDNTJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnNhVzVyWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNFaGQzSmhjSEJsWkM1MllXeDFaUzV3WVhSb08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVJoZEdWY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2QzSmhjSEJsWkM1MllXeDFaUzUwYjAxcGJHeHBjeWdwSUNFOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpWkhWeVlYUnBiMjVjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNIQmxaQzUyWVd4MVpTNWhjeWhjSW5ObFkyOXVaSE5jSWlrZ0lUMGdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdlltcGxZM1JjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb2QzSmhjSEJsWkM1MllXeDFaU2t1YkdWdVozUm9JRDRnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmhjbkpoZVZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCM2NtRndjR1ZrTG5aaGJIVmxMbXhsYm1kMGFDQStJREE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWJuVnNiRndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0ptZFc1amRHbHZibHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRVJsWlhBZ1kyOXdlU0JoSUdacFpXeGtMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQmtaV1Z3UTI5d2VUeFVJR1Y0ZEdWdVpITWdUR2wwWlhKaGJENG9abWxsYkdRNklGUXBPaUJVSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR1pwWld4a0lEMDlQU0J1ZFd4c0lIeDhJR1pwWld4a0lEMDlQU0IxYm1SbFptbHVaV1FwSUhKbGRIVnliaUJtYVdWc1pEdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1RHbDBaWEpoYkhNdWFYTkJjbkpoZVNobWFXVnNaQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW9XMTBnWVhNZ1RHbDBaWEpoYkZ0ZEtTNWpiMjVqWVhRb1ptbGxiR1F1YldGd0tDaDJLU0E5UGlCa1pXVndRMjl3ZVNoMktTa3BJR0Z6SUZRN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9UR2wwWlhKaGJITXVhWE5QWW1wbFkzUW9abWxsYkdRcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdjbVZ6ZFd4ME9pQlNaV052Y21ROGMzUnlhVzVuTENCTWFYUmxjbUZzUGlBOUlIdDlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ1cydGxlU3dnZG1Gc2RXVmRJRzltSUU5aWFtVmpkQzVsYm5SeWFXVnpLR1pwWld4a0tTa2djbVZ6ZFd4MFcydGxlVjBnUFNCa1pXVndRMjl3ZVNoMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwSUdGeklGUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWm1sbGJHUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUkdWMFpYSnRhVzVsSUdsbUlIUm9aU0IyWVd4MVpTQnBjeUJoSUhOMGNtbHVaeTRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5UZEhKcGJtY29kbUZzT2lCaGJua3BPaUIyWVd3Z2FYTWdjM1J5YVc1bklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCMllXd2dQVDBnWENKemRISnBibWRjSWp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1JHVjBaWEp0YVc1bElHbG1JSFJvWlNCMllXeDFaU0JwY3lCaElHNTFiV0psY2k0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOT2RXMWlaWElvZG1Gc09pQmhibmtwT2lCMllXd2dhWE1nYm5WdFltVnlJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQjJZV3dnUFQwZ1hDSnVkVzFpWlhKY0lqdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dSR1YwWlhKdGFXNWxJR2xtSUhSb1pTQjJZV3gxWlNCcGN5QmhJR1JoZEdVdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUdselJHRjBaU2gyWVd3NklHRnVlU2s2SUhaaGJDQnBjeUJFWVhSbFZHbHRaU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd3Z2FXNXpkR0Z1WTJWdlppQkVZWFJsVkdsdFpUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dSR1YwWlhKdGFXNWxJR2xtSUhSb1pTQjJZV3gxWlNCcGN5QmhJR1IxY21GMGFXOXVMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMFIxY21GMGFXOXVLSFpoYkRvZ1lXNTVLVG9nZG1Gc0lHbHpJRVIxY21GMGFXOXVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFpoYkNCcGJuTjBZVzVqWlc5bUlFUjFjbUYwYVc5dU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQkVaWFJsY20xcGJtVWdhV1lnZEdobElIWmhiSFZsSUdseklHNTFiR3dnYjNJZ2RXNWtaV1pwYm1Wa0xpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMwNTFiR3dvZG1Gc09pQmhibmtwT2lCMllXd2dhWE1nYm5Wc2JDQjhJSFZ1WkdWbWFXNWxaQ0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd3Z1BUMDlJRzUxYkd3Z2ZId2dkbUZzSUQwOVBTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRVJsZEdWeWJXbHVaU0JwWmlCMGFHVWdkbUZzZFdVZ2FYTWdZVzRnWVhKeVlYa3VJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpRWEp5WVhrb2RtRnNPaUJoYm5rcE9pQjJZV3dnYVhNZ1lXNTVXMTBnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnUVhKeVlYa3VhWE5CY25KaGVTaDJZV3dwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRVpYUmxjbTFwYm1VZ2FXWWdkR2hsSUhaaGJIVmxJR2x6SUdFZ1ltOXZiR1ZoYmk0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOQ2IyOXNaV0Z1S0haaGJEb2dZVzU1S1RvZ2RtRnNJR2x6SUdKdmIyeGxZVzRnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhsd1pXOW1JSFpoYkNBOVBUMGdYQ0ppYjI5c1pXRnVYQ0k3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlNCcFppQjBhR1VnZG1Gc2RXVWdhWE1nWVNCc2FXNXJMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMHhwYm1zb2RtRnNPaUJoYm5rcE9pQjJZV3dnYVhNZ1RHbHVheUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd3Z2FXNXpkR0Z1WTJWdlppQk1hVzVyTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRGFHVmphM01nYVdZZ2RHaGxJR2RwZG1WdUlIWmhiSFZsSUdseklHRnVJRzlpYW1WamRDQW9ZVzVrSUc1dmRDQmhibmtnYjNSb1pYSWdaR0YwWVdOdmNtVXRjbVZqYjJkdWFYcGxaQ0J2WW1wbFkzUXRiR2xyWlNCMGVYQmxLUzRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5QWW1wbFkzUW9kbUZzT2lCaGJua3BPaUIyWVd3Z2FYTWdVbVZqYjNKa1BITjBjbWx1Wnl3Z1lXNTVQaUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvWEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZV3dnSVQwOUlIVnVaR1ZtYVc1bFpDQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVzltSUhaaGJDQTlQU0JjSW05aWFtVmpkRndpSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FoYVhOQmNuSmhlU2gyWVd3cElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNBaGFYTkVkWEpoZEdsdmJpaDJZV3dwSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FoYVhORVlYUmxLSFpoYkNrZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNGcGMweHBibXNvZG1Gc0tTQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lXbHpUblZzYkNoMllXd3BYRzRnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlhNZ2FXWWdkR2hsSUdkcGRtVnVJSFpoYkhWbElHbHpJR0VnYW1GMllYTmpjbWx3ZENCbWRXNWpkR2x2Ymk0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOR2RXNWpkR2x2YmloMllXdzZJR0Z1ZVNrNklIWmhiQ0JwY3lCR2RXNWpkR2x2YmlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGVYQmxiMllnZG1Gc0lEMDlJRndpWm5WdVkzUnBiMjVjSWp0Y2JpQWdJQ0I5WEc1OVhHNWNiaThxS2lCQklHZHliM1Z3YVc1bklHOXVJR0VnZEhsd1pTQjNhR2xqYUNCemRYQndiM0owY3lCeVpXTjFjbk5wZG1Wc2VTMXVaWE4wWldRZ1ozSnZkWEJ6TGx4dUlDb2dRR2R5YjNWd0lFTnZiVzF2YmlCVWVYQmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JIY205MWNFVnNaVzFsYm5ROFZENGdQU0I3SUd0bGVUb2dUR2wwWlhKaGJEc2djbTkzY3pvZ1IzSnZkWEJwYm1jOFZENGdmVHRjYmk4cUtseHVJQ29nUVNCbmNtOTFjR2x1Wnl3Z2QyaHBZMmdnWTJGdUlHSmxJR1ZwZEdobGNqcGNiaUFxSUMwZ1lXNGdZWEp5WVhrZ2IyWWdaV3hsYldWdWRITWdiMllnZEhsd1pTQmdWR0FzSUc5eVhHNGdLaUF0SUdGdUlHRnljbUY1SUc5bUlIdEFiR2x1YXlCSGNtOTFjR1ZzWlcxbGJuUjljMXh1SUNwY2JpQXFJRUJuY205MWNDQkRiMjF0YjI0Z1ZIbHdaWE5jYmlBcUwxeHVaWGh3YjNKMElIUjVjR1VnUjNKdmRYQnBibWM4VkQ0Z1BTQlVXMTBnZkNCSGNtOTFjRVZzWlcxbGJuUThWRDViWFR0Y2JpOHFLbHh1SUNvZ1FHaHBaR1JsYmx4dUlDb3ZYRzVsZUhCdmNuUWdibUZ0WlhOd1lXTmxJRWR5YjNWd2FXNW5jeUI3WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlhNZ2FXWWdkR2hsSUdkcGRtVnVJR2R5YjNWd0lHVnVkSEo1SUdseklHRWdjM1JoYm1SaGJHOXVaU0IyWVd4MVpTd2diM0lnWVNCbmNtOTFjR2x1WnlCdlppQnpkV0l0Wlc1MGNtbGxjeTRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5GYkdWdFpXNTBSM0p2ZFhBOFZENG9aVzUwY25rNklHRnVlU2s2SUdWdWRISjVJR2x6SUVkeWIzVndSV3hsYldWdWREeFVQaUI3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJNYVhSbGNtRnNjeTVwYzA5aWFtVmpkQ2hsYm5SeWVTa2dKaVlnVDJKcVpXTjBMbXRsZVhNb1pXNTBjbmtwTG14bGJtZDBhQ0E5UFNBeUlDWW1JRndpYTJWNVhDSWdhVzRnWlc1MGNua2dKaVlnWENKeWIzZHpYQ0lnYVc0Z1pXNTBjbms3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlhNZ2FXWWdkR2hsSUdkcGRtVnVJR0Z5Y21GNUlHbHpJR0VnWjNKdmRYQnBibWNnWVhKeVlYa3VJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpSM0p2ZFhCcGJtYzhWRDRvWlc1MGNuazZJRWR5YjNWd2FXNW5QRlErS1RvZ1pXNTBjbmtnYVhNZ1IzSnZkWEJGYkdWdFpXNTBQRlErVzEwZ2UxeHVJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQmxiR1Z0Wlc1MElHOW1JR1Z1ZEhKNUtTQnBaaUFvSVdselJXeGxiV1Z1ZEVkeWIzVndLR1ZzWlcxbGJuUXBLU0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVSbGRHVnliV2x1WlhNZ2FXWWdkR2hsSUdkcGRtVnVJR0Z5Y21GNUlHbHpJR0VnYkdWaFppQmhibVFnYUdGeklHNXZJSE4xWW1keWIzVndhVzVuY3k0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOTVpXRm1QRlErS0dWdWRISjVPaUJIY205MWNHbHVaenhVUGlrNklHVnVkSEo1SUdseklGUmJYU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdWc1pXMWxiblFnYjJZZ1pXNTBjbmtwSUdsbUlDaHBjMFZzWlcxbGJuUkhjbTkxY0NobGJHVnRaVzUwS1NrZ2NtVjBkWEp1SUdaaGJITmxPMXh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQkRiM1Z1ZENCMGFHVWdkRzkwWVd3Z2JuVnRZbVZ5SUc5bUlHVnNaVzFsYm5SeklHbHVJR0VnY21WamRYSnphWFpsSUdkeWIzVndhVzVuTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJqYjNWdWREeFVQaWhsYkdWdFpXNTBjem9nUjNKdmRYQnBibWM4VkQ0Z2ZDQkhjbTkxY0VWc1pXMWxiblE4VkQ0cE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhORmJHVnRaVzUwUjNKdmRYQW9aV3hsYldWdWRITXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyOTFiblFvWld4bGJXVnVkSE11Y205M2N5azdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvYVhOSGNtOTFjR2x1WnlobGJHVnRaVzUwY3lrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4bGRDQnlaWE4xYkhRZ1BTQXdPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2MzVmlaM0p2ZFhBZ2IyWWdaV3hsYldWdWRITXBJSEpsYzNWc2RDQXJQU0JqYjNWdWRDaHpkV0puY205MWNDNXliM2R6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdaV3hsYldWdWRITXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRkpsWTNWeWMybDJaV3g1SUhOc2FXTmxJR0VnWjNKdmRYQnBibWNzSUhCeVpYTmxjblpwYm1jZ2RHaGxJR2R5YjNWd0lITjBjblZqZEhWeVpTQjBhR0YwSUdOdmJuUmhhVzV6SUdWc1pXMWxiblJ6SUZ0emRHRnlkQzR1TG1WdVpDa3VJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlITnNhV05sUEZRK0tHVnNaVzFsYm5Sek9pQkhjbTkxY0dsdVp6eFVQaXdnYzNSaGNuUTZJRzUxYldKbGNpd2daVzVrT2lCdWRXMWlaWElwT2lCSGNtOTFjR2x1Wnp4VVBpQjdYRzRnSUNBZ0lDQWdJR2xtSUNobGJtUWdQRDBnYzNSaGNuUXBJSEpsZEhWeWJpQmJYVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpUR1ZoWmlobGJHVnRaVzUwY3lrcElISmxkSFZ5YmlCbGJHVnRaVzUwY3k1emJHbGpaU2h6ZEdGeWRDd2daVzVrS1R0Y2JseHVJQ0FnSUNBZ0lDQXZMeUJHYVc1a0lIUm9aU0JtYVhKemRDQm5jbTkxY0NCMGFHRjBJR052Ym5SaGFXNXpJR2x1WkdWNElHQnpkR0Z5ZEdBdVhHNGdJQ0FnSUNBZ0lHeGxkQ0JwYm1SbGVDQTlJREFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaV1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHbHVaR1Y0SUR3Z1pXeGxiV1Z1ZEhNdWJHVnVaM1JvSUNZbUlITmxaVzRnS3lCamIzVnVkQ2hsYkdWdFpXNTBjMXRwYm1SbGVGMHBJRHc5SUhOMFlYSjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaV1Z1SUNzOUlHTnZkVzUwS0dWc1pXMWxiblJ6VzJsdVpHVjRYU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibVJsZUNzck8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnTHk4Z2MzUmhjblFnZDJGeklHZHlaV0YwWlhJZ2RHaGhiaUIwYUdVZ1pXNTBhWEpsSUd4bGJtZDBhQ0J2WmlCMGFHVWdaM0p2ZFhCcGJtZHpMbHh1SUNBZ0lDQWdJQ0JwWmlBb2FXNWtaWGdnUGowZ1pXeGxiV1Z1ZEhNdWJHVnVaM1JvS1NCeVpYUjFjbTRnVzEwN1hHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NtVnpkV3gwT2lCN0lHdGxlVG9nVEdsMFpYSmhiRHNnY205M2N6b2dSM0p2ZFhCcGJtYzhWRDRnZlZ0ZElEMGdXMTA3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2hwYm1SbGVDQThJR1ZzWlcxbGJuUnpMbXhsYm1kMGFDQW1KaUJ6WldWdUlEd2daVzVrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQm5jbTkxY0NBOUlHVnNaVzFsYm5SelcybHVaR1Y0WFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHZHliM1Z3VTJsNlpTQTlJR052ZFc1MEtHZHliM1Z3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHZHliM1Z3VTNSaGNuUWdQU0JOWVhSb0xtMWhlQ2h6WldWdUxDQnpkR0Z5ZENrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQm5jbTkxY0VWdVpDQTlJRTFoZEdndWJXbHVLR2R5YjNWd1UybDZaU0FySUhObFpXNHNJR1Z1WkNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnJaWGs2SUdkeWIzVndMbXRsZVN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeWIzZHpPaUJ6YkdsalpTaG5jbTkxY0M1eWIzZHpMQ0JuY205MWNGTjBZWEowSUMwZ2MyVmxiaXdnWjNKdmRYQkZibVFnTFNCelpXVnVLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaV1Z1SUNzOUlHZHliM1Z3VTJsNlpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsdVpHVjRLeXM3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQWdJSDFjYm4xY2JpSXNJQ0l2S2lwY2JpQXFJRUJ0YjJSMWJHVWdZWEJwWEc0Z0tpOWNiaThxS2x4dUlDb2dJRVoxYm1OMGFXOXVZV3dnY21WMGRYSnVJSFI1Y0dVZ1ptOXlJR1Z5Y205eUlHaGhibVJzYVc1bkxseHVJQ29nUUdocFpHUmxibHh1SUNvZ0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCVGRXTmpaWE56UEZRc0lFVStJSHRjYmlBZ0lDQndkV0pzYVdNZ2MzVmpZMlZ6YzJaMWJEb2dkSEoxWlR0Y2JseHVJQ0FnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2lod2RXSnNhV01nZG1Gc2RXVTZJRlFwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV6ZFdOalpYTnpablZzSUQwZ2RISjFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ2JXRndQRlUrS0dZNklDaGhPaUJVS1NBOVBpQlZLVG9nVW1WemRXeDBQRlVzSUVVK0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJUZFdOalpYTnpLR1lvZEdocGN5NTJZV3gxWlNrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCMVlteHBZeUJtYkdGMFRXRndQRlUrS0dZNklDaGhPaUJVS1NBOVBpQlNaWE4xYkhROFZTd2dSVDRwT2lCU1pYTjFiSFE4VlN3Z1JUNGdlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaaWgwYUdsekxuWmhiSFZsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdiV0Z3UlhKeVBGVStLR1k2SUNobE9pQkZLU0E5UGlCVktUb2dVbVZ6ZFd4MFBGUXNJRlUrSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTWdZWE1nWVc1NUlHRnpJRkpsYzNWc2REeFVMQ0JWUGp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZbWx0WVhBOFZESXNJRVV5UGloemRXTmpPaUFvWVRvZ1ZDa2dQVDRnVkRJc0lGOW1ZV2xzT2lBb1lqb2dSU2tnUFQ0Z1JUSXBPaUJTWlhOMWJIUThWRElzSUVVeVBpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG0xaGNDaHpkV05qS1NCaGN5Qmhibms3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHOXlSV3h6WlNoZmRtRnNkV1U2SUZRcE9pQlVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHTmhjM1E4VlQ0b0tUb2dVbVZ6ZFd4MFBGVXNJRVUrSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTWdZWE1nWVc1NU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCMVlteHBZeUJ2Y2tWc2MyVlVhSEp2ZHloZmJXVnpjMkZuWlQ4NklDaGxPaUJGS1NBOVBpQnpkSEpwYm1jcE9pQlVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1U3WEc0Z0lDQWdmVnh1ZlZ4dVhHNHZLaW9nUm5WdVkzUnBiMjVoYkNCeVpYUjFjbTRnZEhsd1pTQm1iM0lnWlhKeWIzSWdhR0Z1Wkd4cGJtY3VYRzRnS2lCQWFHbGtaR1Z1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCR1lXbHNkWEpsUEZRc0lFVStJSHRjYmlBZ0lDQndkV0pzYVdNZ2MzVmpZMlZ6YzJaMWJEb2dabUZzYzJVN1hHNWNiaUFnSUNCd2RXSnNhV01nWTI5dWMzUnlkV04wYjNJb2NIVmliR2xqSUdWeWNtOXlPaUJGS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YzNWalkyVnpjMloxYkNBOUlHWmhiSE5sTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEIxWW14cFl5QnRZWEE4VlQ0b1gyWTZJQ2hoT2lCVUtTQTlQaUJWS1RvZ1VtVnpkV3gwUEZVc0lFVStJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNZ1lYTWdZVzU1SUdGeklFWmhhV3gxY21VOFZTd2dSVDQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHWnNZWFJOWVhBOFZUNG9YMlk2SUNoaE9pQlVLU0E5UGlCU1pYTjFiSFE4VlN3Z1JUNHBPaUJTWlhOMWJIUThWU3dnUlQ0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeUJoY3lCaGJua2dZWE1nUm1GcGJIVnlaVHhWTENCRlBqdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2RXSnNhV01nYldGd1JYSnlQRlUrS0dZNklDaGxPaUJGS1NBOVBpQlZLVG9nVW1WemRXeDBQRlFzSUZVK0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJHWVdsc2RYSmxLR1lvZEdocGN5NWxjbkp2Y2lrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCMVlteHBZeUJpYVcxaGNEeFVNaXdnUlRJK0tGOXpkV05qT2lBb1lUb2dWQ2tnUFQ0Z1ZESXNJR1poYVd3NklDaGlPaUJGS1NBOVBpQkZNaWs2SUZKbGMzVnNkRHhVTWl3Z1JUSStJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWJXRndSWEp5S0daaGFXd3BJR0Z6SUdGdWVUdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2RXSnNhV01nYjNKRmJITmxLSFpoYkhWbE9pQlVLVG9nVkNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ1kyRnpkRHhWUGlncE9pQlNaWE4xYkhROFZTd2dSVDRnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5QmhjeUJoYm5rN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJRzl5Uld4elpWUm9jbTkzS0cxbGMzTmhaMlUvT2lBb1pUb2dSU2tnUFQ0Z2MzUnlhVzVuS1RvZ1ZDQjdYRzRnSUNBZ0lDQWdJR2xtSUNodFpYTnpZV2RsS1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvYldWemMyRm5aU2gwYUdsekxtVnljbTl5S1NrN1hHNGdJQ0FnSUNBZ0lHVnNjMlVnZEdoeWIzY2dibVYzSUVWeWNtOXlLRndpWENJZ0t5QjBhR2x6TG1WeWNtOXlLVHRjYmlBZ0lDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FTQnRiMjVoWkdsaklISmxjM1ZzZENCMGVYQmxJSGRvYVdOb0lITjBiM0psY3lCbGFYUm9aWElnWENKemRXTmpaWE56WENJZ2IzSWdYQ0ptWVdsc2RYSmxYQ0l1SUVGdUlHRnNkR1Z5Ym1GMGFYWmxJR2hoYm1Sc2FXNW5JR1Y0WTJWd2RHbHZibUZzSUdKbGFHRjJhVzl5WEc0Z0tpQmllU0IxYzJsdVp5QjBhR1VnY21WMGRYSnVJSFpoYkhWbElHbHVjM1JsWVdRZ2IyWWdZVzRnWlhoalpYQjBhVzl1TGx4dUlDb3ZYRzVsZUhCdmNuUWdkSGx3WlNCU1pYTjFiSFE4VkN3Z1JUNGdQU0JUZFdOalpYTnpQRlFzSUVVK0lId2dSbUZwYkhWeVpUeFVMQ0JGUGp0Y2JseHVMeW9xWEc0Z0tpQkFhR2xrWkdWdVhHNGdLaUJOYjI1aFpHbGpJQ2RTWlhOMWJIUW5JSFI1Y0dVZ2QyaHBZMmdnWlc1allYQnpkV3hoZEdWeklIZG9aWFJvWlhJZ1lTQndjbTlqWldSMWNtVWdjM1ZqWTJWbFpHVmtJRzl5SUdaaGFXeGxaQ3dnWVhNZ2QyVnNiQ0JoY3lCcGRDZHpJSEpsZEhWeWJpQjJZV3gxWlM1Y2JpQXFMMXh1Wlhod2IzSjBJRzVoYldWemNHRmpaU0JTWlhOMWJIUWdlMXh1SUNBZ0lDOHFLaUJEYjI1emRISjFZM1FnWVNCdVpYY2djM1ZqWTJWemN5QnlaWE4xYkhRZ2QzSmhjSEJwYm1jZ2RHaGxJR2RwZG1WdUlIWmhiSFZsTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJ6ZFdOalpYTnpQRlFzSUVVK0tIWmhiSFZsT2lCVUtUb2dVbVZ6ZFd4MFBGUXNJRVUrSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlRkV05qWlhOektIWmhiSFZsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1EyOXVjM1J5ZFdOMElHRWdibVYzSUdaaGFXeDFjbVVnZG1Gc2RXVWdkM0poY0hCcGJtY2dkR2hsSUdkcGRtVnVJR1Z5Y205eUxpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCbVlXbHNkWEpsUEZRc0lFVStLR1Z5Y205eU9pQkZLVG9nVW1WemRXeDBQRlFzSUVVK0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJHWVdsc2RYSmxLR1Z5Y205eUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dTbTlwYmlCMGQyOGdjbVZ6ZFd4MGN5QjNhWFJvSUdFZ1lta3RablZ1WTNScGIyNGdZVzVrSUhKbGRIVnliaUJoSUc1bGR5QnlaWE4xYkhRdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUdac1lYUk5ZWEF5UEZReExDQlVNaXdnVHl3Z1JUNG9YRzRnSUNBZ0lDQWdJR1pwY25OME9pQlNaWE4xYkhROFZERXNJRVUrTEZ4dUlDQWdJQ0FnSUNCelpXTnZibVE2SUZKbGMzVnNkRHhVTWl3Z1JUNHNYRzRnSUNBZ0lDQWdJR1k2SUNoaE9pQlVNU3dnWWpvZ1ZESXBJRDArSUZKbGMzVnNkRHhQTENCRlBseHVJQ0FnSUNrNklGSmxjM1ZzZER4UExDQkZQaUI3WEc0Z0lDQWdJQ0FnSUdsbUlDaG1hWEp6ZEM1emRXTmpaWE56Wm5Wc0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jMlZqYjI1a0xuTjFZMk5sYzNObWRXd3BJSEpsZEhWeWJpQm1LR1pwY25OMExuWmhiSFZsTENCelpXTnZibVF1ZG1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaU0J5WlhSMWNtNGdabUZwYkhWeVpTaHpaV052Ym1RdVpYSnliM0lwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhhV3gxY21Vb1ptbHljM1F1WlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVwdmFXNGdkSGR2SUhKbGMzVnNkSE1nZDJsMGFDQmhJR0pwTFdaMWJtTjBhVzl1SUdGdVpDQnlaWFIxY200Z1lTQnVaWGNnY21WemRXeDBMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZWEF5UEZReExDQlVNaXdnVHl3Z1JUNG9YRzRnSUNBZ0lDQWdJR1pwY25OME9pQlNaWE4xYkhROFZERXNJRVUrTEZ4dUlDQWdJQ0FnSUNCelpXTnZibVE2SUZKbGMzVnNkRHhVTWl3Z1JUNHNYRzRnSUNBZ0lDQWdJR1k2SUNoaE9pQlVNU3dnWWpvZ1ZESXBJRDArSUU5Y2JpQWdJQ0FwT2lCU1pYTjFiSFE4VHl3Z1JUNGdlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdabXhoZEUxaGNESW9abWx5YzNRc0lITmxZMjl1WkN3Z0tHRXNJR0lwSUQwK0lITjFZMk5sYzNNb1ppaGhMQ0JpS1NrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQk5ZWEFnWVNCbVlXbHNZV0pzWlNCbWRXNWpkR2x2YmlCdmRtVnlJR0ZzYkNCbGJHVnRaVzUwY3lCcGJpQjBhR1VnYkdsemRDd2djbVYwZFhKdWFXNW5JR1ZoY214NUlHOXVJR1poYVd4MWNtVXVJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHMWhjRUZzYkR4VUxDQlBMQ0JGUGlocGJuQjFkRG9nU1hSbGNtRmliR1U4VkQ0c0lHWjFibU02SUNocGJuQjFkRG9nVkNrZ1BUNGdVbVZ6ZFd4MFBFOHNJRVUrS1RvZ1VtVnpkV3gwUEU5YlhTd2dSVDRnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhOMWJIUTZJRTliWFNBOUlGdGRPMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdWc1pXMWxiblFnYjJZZ2FXNXdkWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHOTFkSEIxZENBOUlHWjFibU1vWld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVc5MWRIQjFkQzV6ZFdOalpYTnpablZzS1NCeVpYUjFjbTRnYjNWMGNIVjBMbU5oYzNRb0tUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5CMWMyZ29iM1YwY0hWMExuWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQlNaWE4xYkhRdWMzVmpZMlZ6Y3loeVpYTjFiSFFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRFlYUmphQ0JoYm5rZ1pYSnliM0p6SUdsdUlHRWdZMkZzYkN3Z2NtVjBkWEp1YVc1bklHRWdjbVZ6ZFd4MElHbHVjM1JsWVdRdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUhSeWVXbHVaenhVUGloallXeHNPaUFvS1NBOVBpQlVLVG9nVW1WemRXeDBQRlFzSUVWeWNtOXlQaUI3WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVW1WemRXeDBMbk4xWTJObGMzTW9ZMkZzYkNncEtUdGNiaUFnSUNBZ0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJTWlhOMWJIUXVabUZwYkhWeVpTaGxjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dRMjl1ZG1WeWRDQmhJSEJ5YjIxcGMyVWdkMmhwWTJnZ2JXRjVJSFJvY205M0lHbHVkRzhnWVNCd2NtOXRhWE5sSUhkb2FXTm9JSEpsZEhWeWJuTWdZU0J5WlhOMWJIUWdiMllnZEdobElITjFZMk5sYzNObWRXd2dkbUZzZFdVZ2IzSWdZVzRnWlhKeWIzSXVJQ292WEc0Z0lDQWdaWGh3YjNKMElHRnplVzVqSUdaMWJtTjBhVzl1SUdGemVXNWpQRlErS0hCeWIyMXBjMlU2SUZCeWIyMXBjMlU4VkQ0cE9pQlFjbTl0YVhObFBGSmxjM1ZzZER4VUxDQkZjbkp2Y2o0K0lIdGNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQlNaWE4xYkhRdWMzVmpZMlZ6Y3loaGQyRnBkQ0J3Y205dGFYTmxLVHRjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCU1pYTjFiSFF1Wm1GcGJIVnlaU2hsY25KdmNpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzU5WEc0aUxDQWlhVzF3YjNKMElIc2dVbVZ6ZFd4MElIMGdabkp2YlNCY0ltRndhUzl5WlhOMWJIUmNJanRjYmx4dUx5b3FJRk4wWVhScFl5QnpaWFFnWld4bGJXVnVkQ0IzYUdsamFDQnRZWFJqYUdWeklHVjJaWEo1ZEdocGJtY3VJQ292WEc1bGVIQnZjblFnZEhsd1pTQkZkbVZ5ZVhSb2FXNW5JRDBnZXlCMGVYQmxPaUJjSW1WMlpYSjVkR2hwYm1kY0lpQjlPMXh1THlvcUlGTjBZWFJwWXlCelpYUWdaV3hsYldWdWRDQjNhR2xqYUNCdFlYUmphR1Z6SUc1dmRHaHBibWN1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JPYjNSb2FXNW5JRDBnZXlCMGVYQmxPaUJjSW01dmRHaHBibWRjSWlCOU8xeHVMeW9xSUZObGRDQjNhR2xqYUNCdFlYUmphR1Z6SUhSb1pTQnVaV2RoZEdsdmJpQnZaaUJoSUhObGRDNGdLaTljYm1WNGNHOXlkQ0IwZVhCbElFNWxaMkYwWldROFZENGdQU0I3SUhSNWNHVTZJRndpYm1WbllYUmxaRndpT3lCMllXeDFaVG9nVTJWMFBGUStJSDA3WEc0dktpb2dVMlYwSUhkb2FXTm9JRzFoZEdOb1pYTWdZVzRnWVdOMGRXRnNJSE5sZENCdlppQjJZV3gxWlhNdUlDQXFMMXh1Wlhod2IzSjBJSFI1Y0dVZ1FYUnZiVHhVUGlBOUlIc2dkSGx3WlRvZ1hDSmhkRzl0WENJN0lIWmhiSFZsT2lCVFpYUThWRDRnZlR0Y2JseHVMeW9xSUVGaWMzUnlZV04wSUdacGJIUmxjaUIwZVhCbElIZG9hV05vSUhKbGNISmxjMlZ1ZEhNZ2RHaGxJSEpsYzNWc2RITWdiMllnWVhCd2JIbHBibWNnWm1sc2RHVnlJRzl3WlhKaGRHbHZibk1nZEc4Z2RHaGxJR1JoZEdFZ2MzUnZjbVV1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JHYVd4MFpYSThWRDRnUFNCRmRtVnllWFJvYVc1bklId2dUbTkwYUdsdVp5QjhJRUYwYjIwOFZENGdmQ0JPWldkaGRHVmtQRlErTzF4dVhHNHZLaW9nVlhScGJHbDBlU0JtZFc1amRHbHZibk1nWm05eUlHVm1abWxqYVdWdWRHeDVJRzl3WlhKaGRHbHVaeUJ2YmlCbWFXeDBaWEp6TGlBcUwxeHVaWGh3YjNKMElHNWhiV1Z6Y0dGalpTQkdhV3gwWlhKeklIdGNiaUFnSUNBdktpb2dVM1JoZEdsaklHWnBiSFJsY2lCM2FHbGphQ0J0WVhSamFHVnpJR1YyWlhKNWRHaHBibWN1SUNvdlhHNGdJQ0FnWlhod2IzSjBJR052Ym5OMElFVldSVkpaVkVoSlRrYzZJRVYyWlhKNWRHaHBibWNnUFNCN0lIUjVjR1U2SUZ3aVpYWmxjbmwwYUdsdVoxd2lJSDA3WEc0Z0lDQWdMeW9xSUZOMFlYUnBZeUJtYVd4MFpYSWdkMmhwWTJnZ2JXRjBZMmhsY3lCdWIzUm9hVzVuTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JqYjI1emRDQk9UMVJJU1U1SE9pQk9iM1JvYVc1bklEMGdleUIwZVhCbE9pQmNJbTV2ZEdocGJtZGNJaUI5TzF4dUlDQWdJQzhxS2lCRmJYQjBlU0J6WlhRZ1kyOXVjM1JoYm5RdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdOdmJuTjBJRVZOVUZSWlgxTkZWRG9nVTJWMFBHRnVlVDRnUFNCdVpYY2dVMlYwS0NrN1hHNWNiaUFnSUNBdktpb2dRMjl1YzNSeWRXTjBJR0VnYm1WM0lHRjBiMjBnWm1sc2RHVnlMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQmhkRzl0UEZRK0tITmxkRG9nVTJWMFBGUStLVG9nUm1sc2RHVnlQRlErSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSE5sZEM1emFYcGxJRDA5SURBcElISmxkSFZ5YmlCT1QxUklTVTVITzF4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN0lIUjVjR1U2SUZ3aVlYUnZiVndpTENCMllXeDFaVG9nYzJWMElIMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRU52Ym5OMGNuVmpkQ0JoSUdacGJIUmxjaUIwYUdGMElHMWhkR05vWlhNZ1pYWmxjbmwwYUdsdVp5QnZjaUJ1YjNSb2FXNW5MaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQmpiMjV6ZEdGdWREeFVQaWgyWVd4MVpUb2dZbTl2YkdWaGJpazZJRVpwYkhSbGNqeFVQaUI3WEc0Z0lDQWdJQ0FnSUdsbUlDaDJZV3gxWlNrZ2NtVjBkWEp1SUVWV1JWSlpWRWhKVGtjN1hHNGdJQ0FnSUNBZ0lHVnNjMlVnY21WMGRYSnVJRTVQVkVoSlRrYzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FJRU52Ym5OMGNuVmpkQ0JoSUc1bGR5QmhkRzl0SUdacGJIUmxjaUIzYUdsamFDQnBjeUJPVDFSSVNVNUhJR2xtSUhObGRDQnBjeUIxYm1SbFptbHVaV1F1SUNvdlhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJRzUxYkd4aFlteGxRWFJ2YlR4VVBpaHpaWFE2SUZObGREeFVQaUI4SUhWdVpHVm1hVzVsWkNrNklFWnBiSFJsY2p4VVBpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpaWFFnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JR0YwYjIwb2MyVjBLU0E2SUU1UFZFaEpUa2M3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVOdmJuTjBjblZqZENCaElHNWxaMkYwWldRZ1lYUnZiU0JtYVd4MFpYSXVJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHNWxaMkYwWldROFZENG9jMlYwT2lCVFpYUThWRDRwT2lCR2FXeDBaWEk4VkQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzJWMExuTnBlbVVnUFQwZ01Da2djbVYwZFhKdUlFVldSVkpaVkVoSlRrYzdYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0p1WldkaGRHVmtYQ0lzSUhaaGJIVmxPaUJ6WlhRZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dVSEp2WkhWalpYTWdkR2hsSUc1bFoyRjBhVzl1SUc5bUlHRWdabWxzZEdWeUxpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCdVpXZGhkR1U4VkQ0b1ptbHNkR1Z5T2lCR2FXeDBaWEk4VkQ0cE9pQkdhV3gwWlhJOFZENGdlMXh1SUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLR1pwYkhSbGNpNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2laWFpsY25sMGFHbHVaMXdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJPVDFSSVNVNUhPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW01dmRHaHBibWRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnUlZaRlVsbFVTRWxPUnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmhkRzl0WENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bFoyRjBaV1FvWm1sc2RHVnlMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0p1WldkaGRHVmtYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0YwYjIwb1ptbHNkR1Z5TG5aaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRVpYUmxjbTFwYm1VZ2FXWWdkR2hsSUdkcGRtVnVJR1pwYkhSbGNpQnBjeUJrWldacGJtbDBhWFpsYkhrZ1kzVnljbVZ1ZEd4NUlHVnRjSFI1TGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJsYlhCMGVUeFVQaWhtYVd4MFpYSTZJRVpwYkhSbGNqeFVQaWs2SUdKdmIyeGxZVzRnZTF4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0dacGJIUmxjaTUwZVhCbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpWlhabGNubDBhR2x1WjF3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdVpXZGhkR1ZrWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1GMGIyMWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabWxzZEdWeUxuWmhiSFZsTG5OcGVtVWdQVDBnTUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnViM1JvYVc1blhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1VtVnpiMngyWlNCaElIUnZjQzFzWlhabGJDQm1hV3gwWlhJZ2QybDBhQ0IwYUdVZ2MyVjBJRzltSUdGc2JDQmhkbUZwYkdGaWJHVWdiMkpxWldOMGN5NGdLaTljYmlBZ0lDQmxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtVnpiMngyWlR4VVBpaG1hV3gwWlhJNklFWnBiSFJsY2p4VVBpd2daWFpsY25sMGFHbHVaem9nVTJWMFBGUStLVG9nVTJWMFBGUStJSHRjYmlBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2htYVd4MFpYSXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVYyWlhKNWRHaHBibWRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWlhabGNubDBhR2x1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSnViM1JvYVc1blhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFVk5VRlJaWDFORlZEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0poZEc5dFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWnBiSFJsY2k1MllXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdVpXZGhkR1ZrWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhObGRFbHVkR1Z5YzJWamRFNWxaMkYwYVc5dUtHVjJaWEo1ZEdocGJtY3NJR1pwYkhSbGNpNTJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dTVzUwWlhKelpXTjBJR0Z1SUdsMFpYSmhZbXhsSUc5bUlHWnBiSFJsY25NdUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUdsdWRHVnljMlZqZER4VVBpaGxiR1Z0Wlc1MGN6b2dTWFJsY21GaWJHVThSbWxzZEdWeVBGUStQaWs2SUVacGJIUmxjanhVUGlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCc1lYcDVTVzUwWlhKelpXTjBLR1ZzWlcxbGJuUnpMQ0FvZUNrZ1BUNGdlQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVsdWRHVnljMlZqZENCbWFXeDBaWEp6SUd4aGVtbHNlU3dnYzJodmNuUXRZMmx5WTNWcGRHbHVaeUJwWmlCMGFHVWdhVzUwWlhKelpXTjBhVzl1SUhkdmRXeGtJSEJ5YjJSMVkyVWdUazlVU0VsT1J5NGdLaTljYmlBZ0lDQmxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JHRjZlVWx1ZEdWeWMyVmpkRHhKTENCVVBpaGNiaUFnSUNBZ0lDQWdaV3hsYldWdWRITTZJRWwwWlhKaFlteGxQRWsrTEZ4dUlDQWdJQ0FnSUNCd2NtOWtkV05sT2lBb2FXNXdkWFE2SUVrcElEMCtJRVpwYkhSbGNqeFVQaUI4SUhWdVpHVm1hVzVsWkZ4dUlDQWdJQ2s2SUVacGJIUmxjanhVUGlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCc1lYcDVSbUZwYkdGaWJHVkpiblJsY25ObFkzUnBiMjRvWld4bGJXVnVkSE1zSUNoNEtTQTlQaUJTWlhOMWJIUXVjM1ZqWTJWemN5aHdjbTlrZFdObEtIZ3BLU2t1YjNKRmJITmxWR2h5YjNjb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dTVzUwWlhKelpXTjBJR1pwYkhSbGNuTWdiR0Y2YVd4NUxDQnphRzl5ZEMxamFYSmpkV2wwYVc1bklHbG1JSFJvWlNCcGJuUmxjbk5sWTNScGIyNGdkMjkxYkdRZ2NISnZaSFZqWlNCT1QxUklTVTVITGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJzWVhwNVJtRnBiR0ZpYkdWSmJuUmxjbk5sWTNScGIyNDhTU3dnVkN3Z1JUNG9YRzRnSUNBZ0lDQWdJR1ZzWlcxbGJuUnpPaUJKZEdWeVlXSnNaVHhKUGl4Y2JpQWdJQ0FnSUNBZ2NISnZaSFZqWlRvZ0tHbHVjSFYwT2lCSktTQTlQaUJTWlhOMWJIUThSbWxzZEdWeVBGUStJSHdnZFc1a1pXWnBibVZrTENCRlBseHVJQ0FnSUNrNklGSmxjM1ZzZER4R2FXeDBaWEk4VkQ0c0lFVStJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZWFJ2YlhNNklGTmxkRHhVUGx0ZElEMGdXMTA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzVsWjJGMGFXOXVjem9nVTJWMFBGUStXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdaV3hsYldWdWRDQnZaaUJsYkdWdFpXNTBjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXRjVZbVZHYVd4MFpYSWdQU0J3Y205a2RXTmxLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0Z0WVhsaVpVWnBiSFJsY2k1emRXTmpaWE56Wm5Wc0tTQnlaWFIxY200Z2JXRjVZbVZHYVd4MFpYSXVZMkZ6ZENncE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JtYVd4MFpYSWdQU0J0WVhsaVpVWnBiSFJsY2k1MllXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htYVd4MFpYSWdQVDA5SUhWdVpHVm1hVzVsWkNrZ1kyOXVkR2x1ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFVnRjSFI1SUdacGJIUmxjbk1nZDJsc2JDQndjbTlrZFdObElHRnVJR1Z0Y0hSNUlHbHVkR1Z5YzJWamRHbHZiaTVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsYlhCMGVTaG1hV3gwWlhJcEtTQnlaWFIxY200Z1VtVnpkV3gwTG5OMVkyTmxjM01vVGs5VVNFbE9SeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJGVmtWU1dWUklTVTVISUdacGJIUmxjbk1nWVhKbElISmxaSFZ1WkdGdWRDQnBiaUJCVGtSekxDQnphMmx3SUhSb1pXMHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9abWxzZEdWeUxuUjVjR1VnUFQwOUlGd2laWFpsY25sMGFHbHVaMXdpS1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YybHNiQ0J2Ym14NUlHSmxJR3hsWm5RZ2QybDBhQ0JoZEc5dGN5QnZjaUJ1WldkaGRHbHZibk11WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWm1sc2RHVnlMblI1Y0dVZ1BUMGdYQ0poZEc5dFhDSXBJR0YwYjIxekxuQjFjMmdvWm1sc2RHVnlMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0dacGJIUmxjaTUwZVhCbElEMDlJRndpYm1WbllYUmxaRndpS1NCdVpXZGhkR2x2Ym5NdWNIVnphQ2htYVd4MFpYSXVkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnTHk4Z1YyVWdjM1JoY25RZ2QybDBhQ0J6YjIxbGRHaHBibWNnYjJZZ2RHaGxJR1p2Y20wZ1lTQW1KaUJpSUNZbUlDRmpJQ1ltSUNGa0xseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCdWJ5QjBaWEp0Y3l3Z2RHaGxiaUJsZG1WeWVYUm9hVzVuSUhkaGN5QkZWa1ZTV1ZSSVNVNUhJSE52SUhKbGRIVnliaUIwYUdGMExseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCdmJteDVJR0YwYjIxekxDQnFkWE4wSUdsdWRHVnljMlZqZENCMGFHVnRJQ2hoSUNZbUlHSXBMbHh1SUNBZ0lDQWdJQ0F2THlCSlppQnZibXg1SUc1bFoyRjBhVzl1Y3l3Z2RHaGxiaUJ5WlhkeWFYUmxJQ0ZqSUNZbUlDRmtJRDArSUNFb1l5QjhmQ0JrS1NCaGJtUWdjbVYwZFhKdUlHNWxaMkYwWldRb1l5QjhmQ0JrS1M1Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnWW05MGFDd2dZMjl0Y0hWMFpTQjRJRDBnS0dFZ0ppWWdZaWtnWVc1a0lIa2dQU0FvWXlCOGZDQmtLU3dnWVc1a0lIUm9aVzRnWTI5dGNIVjBaU0I0SUNZbUlDRjVMbHh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGhkRzl0Y3k1c1pXNW5kR2dnUFQwZ01DQW1KaUJ1WldkaGRHbHZibk11YkdWdVozUm9JRDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJTWlhOMWJIUXVjM1ZqWTJWemN5aEZWa1ZTV1ZSSVNVNUhLVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaGRHOXRjeTVzWlc1bmRHZ2dQaUF3SUNZbUlHNWxaMkYwYVc5dWN5NXNaVzVuZEdnZ1BUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGSmxjM1ZzZEM1emRXTmpaWE56S0dGMGIyMG9jMlYwU1c1MFpYSnpaV04wS0dGMGIyMXpLU2twTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHRjBiMjF6TG14bGJtZDBhQ0E5UFNBd0lDWW1JRzVsWjJGMGFXOXVjeTVzWlc1bmRHZ2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdVbVZ6ZFd4MExuTjFZMk5sYzNNb2JtVm5ZWFJsWkNoelpYUlZibWx2YmlodVpXZGhkR2x2Ym5NcEtTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVW1WemRXeDBMbk4xWTJObGMzTW9SbWxzZEdWeWN5NWhkRzl0S0hObGRFbHVkR1Z5YzJWamRFNWxaMkYwYVc5dUtITmxkRWx1ZEdWeWMyVmpkQ2hoZEc5dGN5a3NJSE5sZEZWdWFXOXVLRzVsWjJGMGFXOXVjeWtwS1NrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dWVzVwYjI0Z1ptbHNkR1Z5Y3l3Z2NISnZaSFZqYVc1bklHRWdjMmx1WjJ4bElISmxjM1ZzZENCbWFXeDBaWEl1SUNvdlhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJSFZ1YVc5dVBGUStLR1pwYkhSbGNuTTZJRWwwWlhKaFlteGxQRVpwYkhSbGNqeFVQajRwT2lCR2FXeDBaWEk4VkQ0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JHRjZlVlZ1YVc5dUtHWnBiSFJsY25Nc0lDaDRLU0E5UGlCNEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpb2dWVzVwYjI0Z1ptbHNkR1Z5Y3lCc1lYcHBiSGtzSUhOb2IzSjBMV05wY21OMWFYUnBibWNnYVdZZ2RHaGxJSFZ1YVc5dUlIZHZkV3hrSUhCeWIyUjFZMlVnUlZaRlVsbFVTRWxPUnk0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYkdGNmVWVnVhVzl1UEVrc0lGUStLR1ZzWlcxbGJuUnpPaUJKZEdWeVlXSnNaVHhKUGl3Z2NISnZaSFZqWlRvZ0tHbHVjSFYwT2lCSktTQTlQaUJHYVd4MFpYSThWRDRnZkNCMWJtUmxabWx1WldRcE9pQkdhV3gwWlhJOFZENGdlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiR0Y2ZVVaaGFXeGhZbXhsVlc1cGIyNG9aV3hsYldWdWRITXNJQ2g0S1NBOVBpQlNaWE4xYkhRdWMzVmpZMlZ6Y3lod2NtOWtkV05sS0hncEtTa3ViM0pGYkhObFZHaHliM2NvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1ZXNXBiMjRnWm1sc2RHVnljeUJzWVhwcGJIa3NJSE5vYjNKMExXTnBjbU4xYVhScGJtY2dhV1lnZEdobElIVnVhVzl1SUhkdmRXeGtJSEJ5YjJSMVkyVWdSVlpGVWxsVVNFbE9SeTRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdiR0Y2ZVVaaGFXeGhZbXhsVlc1cGIyNDhTU3dnVkN3Z1JUNG9YRzRnSUNBZ0lDQWdJR1ZzWlcxbGJuUnpPaUJKZEdWeVlXSnNaVHhKUGl4Y2JpQWdJQ0FnSUNBZ2NISnZaSFZqWlRvZ0tHbHVjSFYwT2lCSktTQTlQaUJTWlhOMWJIUThSbWxzZEdWeVBGUStJSHdnZFc1a1pXWnBibVZrTENCRlBseHVJQ0FnSUNrNklGSmxjM1ZzZER4R2FXeDBaWEk4VkQ0c0lFVStJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZWFJ2YlhNNklGTmxkRHhVUGx0ZElEMGdXMTA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzVsWjJGMGFXOXVjem9nVTJWMFBGUStXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdaV3hsYldWdWRDQnZaaUJsYkdWdFpXNTBjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JXRjVZbVZHYVd4MFpYSWdQU0J3Y205a2RXTmxLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLQ0Z0WVhsaVpVWnBiSFJsY2k1emRXTmpaWE56Wm5Wc0tTQnlaWFIxY200Z2JXRjVZbVZHYVd4MFpYSXVZMkZ6ZENncE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JtYVd4MFpYSWdQU0J0WVhsaVpVWnBiSFJsY2k1MllXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htYVd4MFpYSWdQVDA5SUhWdVpHVm1hVzVsWkNrZ1kyOXVkR2x1ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFVldSVkpaVkVoSlRrY2dabWxzZEdWeWN5QjNhV3hzSUhCeWIyUjFZMlVnWlhabGNubDBhR2x1WnlCaGJIZGhlWE11WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWm1sc2RHVnlMblI1Y0dVZ1BUMDlJRndpWlhabGNubDBhR2x1WjF3aUtTQnlaWFIxY200Z1VtVnpkV3gwTG5OMVkyTmxjM01vUlZaRlVsbFVTRWxPUnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCRmJYQjBlU0JtYVd4MFpYSnpJR0Z5WlNCeVpXUjFibVJoYm5RdVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pXMXdkSGtvWm1sc2RHVnlLU2tnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkcGJHd2diMjVzZVNCaVpTQnNaV1owSUhkcGRHZ2dZWFJ2YlhNZ2IzSWdibVZuWVhScGIyNXpMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1pwYkhSbGNpNTBlWEJsSUQwOUlGd2lZWFJ2YlZ3aUtTQmhkRzl0Y3k1d2RYTm9LR1pwYkhSbGNpNTJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2htYVd4MFpYSXVkSGx3WlNBOVBTQmNJbTVsWjJGMFpXUmNJaWtnYm1WbllYUnBiMjV6TG5CMWMyZ29abWxzZEdWeUxuWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQzh2SUU5eUlHbHpJR0VnWW1sMElHaGhjbVJsY2lCMGFHRnVJRUZPUkNCemFXNWpaU0I1YjNVZ1kyRnVJR1Z1WkNCMWNDQjNhWFJvSUhOalpXNWhjbWx2Y3lCc2FXdGxJR0VnZkh3Z0lXSXNJSGRvYVdOb0lHRnlaVnh1SUNBZ0lDQWdJQ0F2THlCdWIzUWdZMjl0Y0hWMFlXSnNaU0JrYVhKbFkzUnNlUzRnU0c5M1pYWmxjaXdnZDJVZ1kyRnVJR1J2SUdKdmIyeGxZVzRnYkc5bmFXTWdkRzhnWVd4M1lYbHpJSEJ5YjJSMVkyVWdZU0J6YVc1bmJHVmNiaUFnSUNBZ0lDQWdMeThnYzJWMExseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCdWIzUm9hVzVuSUQwK0lHNXZkR2hwYm1jc0lHNXZJRzV2YmkxbGJYQjBlU0JtYVd4MFpYSnpMbHh1SUNBZ0lDQWdJQ0F2THlCSlppQmhkRzl0Y3lCaWRYUWdibThnYm1WbllYUnBiMjV6SUNoaElIeDhJR0lnZkh3Z1l5a2dQVDRnWTI5dGNIVjBaU0IxYm1sdmJpNWNiaUFnSUNBZ0lDQWdMeThnU1dZZ2JtVm5ZWFJwYjI1eklHSjFkQ0J1YnlCaGRHOXRjeUFvSVdFZ2ZId2dJV0lnZkh3Z0lXTXBJRDArSUhKbGQzSnBkR1VnWVhNZ0lTaGhJQ1ltSUdJZ0ppWWdZeWt1WEc0Z0lDQWdJQ0FnSUM4dklFbG1JR0p2ZEdnNklDaGhJSHg4SUdJZ2ZId2dJV01nZkh3Z0lXUXBJRDArSUdOdmJXSnBibVVnWldGamFDQndZWEowSUdsdWRHOGdLR0VnZkh3Z1lpa2dmSHdnS0NGaklIeDhJQ0ZrS1NBOVBpQW9ZU0I4ZkNCaUtTQjhmQ0FoS0dNZ0ppWWdaQ2tnUFQ0Z1pTQjhmQ0FoWmlBOVBpQWhLQ0ZsSUNZbUlHWXBJSGRvYVdOb1hHNGdJQ0FnSUNBZ0lDOHZJR05oYmlCaVpTQmpiMjF3ZFhSbFpDQjFjMmx1WnlCcGJuUmxjbk5sWTNScGIyNGdiRzluYVdNdVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0dGMGIyMXpMbXhsYm1kMGFDQTlQU0F3SUNZbUlHNWxaMkYwYVc5dWN5NXNaVzVuZEdnZ1BUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGSmxjM1ZzZEM1emRXTmpaWE56S0U1UFZFaEpUa2NwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHRjBiMjF6TG14bGJtZDBhQ0ErSURBZ0ppWWdibVZuWVhScGIyNXpMbXhsYm1kMGFDQTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdVbVZ6ZFd4MExuTjFZMk5sYzNNb1JtbHNkR1Z5Y3k1aGRHOXRLSE5sZEZWdWFXOXVLR0YwYjIxektTa3BPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dGMGIyMXpMbXhsYm1kMGFDQTlQU0F3SUNZbUlHNWxaMkYwYVc5dWN5NXNaVzVuZEdnZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1VtVnpkV3gwTG5OMVkyTmxjM01vUm1sc2RHVnljeTV1WldkaGRHVmtLSE5sZEVsdWRHVnljMlZqZENodVpXZGhkR2x2Ym5NcEtTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVW1WemRXeDBMbk4xWTJObGMzTW9ibVZuWVhSbFpDaHpaWFJKYm5SbGNuTmxZM1JPWldkaGRHbHZiaWh6WlhSSmJuUmxjbk5sWTNRb2JtVm5ZWFJwYjI1ektTd2djMlYwVlc1cGIyNG9ZWFJ2YlhNcEtTa3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVWbVptbGphV1Z1ZEd4NUlHTnZiWEIxZEdVZ2RHaGxJR2x1ZEdWeWMyVmpkR2x2YmlCdlppQnpaWFJ6TGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJ6WlhSSmJuUmxjbk5sWTNROFZENG9jMlYwY3pvZ1UyVjBQRlErVzEwcE9pQlRaWFE4VkQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzJWMGN5NXNaVzVuZEdnZ1BUMGdNQ2tnY21WMGRYSnVJRzVsZHlCVFpYUW9LVHRjYmlBZ0lDQWdJQ0FnWld4elpTQnBaaUFvYzJWMGN5NXNaVzVuZEdnZ1BUMGdNU2tnY21WMGRYSnVJSE5sZEhOYk1GMDdYRzVjYmlBZ0lDQWdJQ0FnTHk4Z1UyOXlkQ0JpZVNCemFYcGxJR0Z1WkNCamIyMWlhVzVsSUhOdFlXeHNaWE4wSUdGdVpDQnNZWEpuWlhOMElITmxkQ0J5WlhCbFlYUmxaR3g1TGx4dUlDQWdJQ0FnSUNCc1pYUWdjMjl5ZEdWa0lEMGdLRnRkSUdGeklGTmxkRHhVUGx0ZEtTNWpiMjVqWVhRb2MyVjBjeWt1YzI5eWRDZ29ZU3dnWWlrZ1BUNGdZUzV6YVhwbElDMGdZaTV6YVhwbEtUdGNibHh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9jMjl5ZEdWa0xteGxibWQwYUNBK0lERXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhKbGMzVnNkQ0E5SUc1bGR5QlRaWFE4VkQ0b0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR3hoY21kbGMzUWdQU0J6YjNKMFpXUXVjRzl3S0NraE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLR3hsZENCbGJHVnRaVzUwSUc5bUlITnZjblJsWkZzd1hTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoc1lYSm5aWE4wTG1oaGN5aGxiR1Z0Wlc1MEtTa2djbVZ6ZFd4MExtRmtaQ2hsYkdWdFpXNTBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2MyOXlkR1ZrV3pCZElEMGdjbVZ6ZFd4ME8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSE52Y25SbFpGc3dYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaW9nUldabWFXTnBaVzUwYkhrZ1kyOXRjSFYwWlNCMGFHVWdkVzVwYjI0Z2IyWWdjMlYwY3k0Z0tpOWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYzJWMFZXNXBiMjQ4VkQ0b2MyVjBjem9nVTJWMFBGUStXMTBwT2lCVFpYUThWRDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9jMlYwY3k1c1pXNW5kR2dnUFQwZ01Da2djbVYwZFhKdUlHNWxkeUJUWlhRb0tUdGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9jMlYwY3k1c1pXNW5kR2dnUFQwZ01Ta2djbVYwZFhKdUlITmxkSE5iTUYwN1hHNWNiaUFnSUNBZ0lDQWdMeThnU1NkdElHNXZkQ0J6ZFhKbElHbG1JSFJvWlhKbElHbHpJR0Z1ZVNCMWMyVm1kV3dnYjNCMGFXMXBlbUYwYVc5dUlHWnZjaUJ6WlhRZ2RXNXBiMjV6TENCemJ5QnFkWE4wSUdGa1pDQjBhR1Z0SUdGc2JDQkpJR2QxWlhOekxseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFFnUFNCdVpYY2dVMlYwUEZRK0tDazdYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnYzJWMElHOW1JSE5sZEhNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ1pXeGxiV1Z1ZENCdlppQnpaWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1WVdSa0tHVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lvZ1JXWm1hV05wWlc1MGJIa2dZMjl0Y0hWMFpTQmhkRzl0SUNZbUlDRnVaV2RoZEdWa0xpQXFMMXh1SUNBZ0lHVjRjRzl5ZENCbWRXNWpkR2x2YmlCelpYUkpiblJsY25ObFkzUk9aV2RoZEdsdmJqeFVQaWhoZEc5dE9pQlRaWFE4VkQ0c0lHNWxaMkYwWldRNklGTmxkRHhVUGlrNklGTmxkRHhVUGlCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hoZEc5dExuTnBlbVVnUGlCdVpXZGhkR1ZrTG5OcGVtVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJQUkU4NklGZHZkV3hrSUdKbElHNXBZMlVnZEc4Z1lYWnZhV1FnZEdobElHTnZjSGtzSUhOcGJtTmxJRWtuYlNCdWIzUWdjM1Z5WlNCcGRDZHpJR0Z1ZVNCbVlYTjBaWElnZDJsMGFDQjBhR1VnWTI5d2VTNWNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEpsYzNWc2RDQTlJRzVsZHlCVFpYUW9ZWFJ2YlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JsYkdWdFpXNTBJRzltSUc1bFoyRjBaV1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1WkdWc1pYUmxLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1SUNBZ0lDQWdJQ0I5SUM4cUlHRjBiMjB1YzJsNlpTQThJRzVsWjJGMGFXOXVMbk5wZW1VZ0tpOGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnlaWE4xYkhRZ1BTQnVaWGNnVTJWMFBGUStLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQmxiR1Z0Wlc1MElHOW1JR0YwYjIwcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYm1WbllYUmxaQzVvWVhNb1pXeGxiV1Z1ZENrcElHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1aFpHUW9aV3hsYldWdWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzU5WEc0aUxDQWlhVzF3YjNKMElIc2dUR2wwWlhKaGJDd2dUR2wwWlhKaGJITWdmU0JtY205dElGd2laWGh3Y21WemMybHZiaTlzYVhSbGNtRnNYQ0k3WEc1cGJYQnZjblFnZXlCR2FXeDBaWEp6SUgwZ1puSnZiU0JjSWk0dlptbHNkR1Z5YzF3aU8xeHVYRzR2S2lvZ1EyOXRjR0Z5YVhOdmJpQnZjR1Z5WVhSdmNuTWdkMmhwWTJnZ2VXbGxiR1FnZEhKMVpTOW1ZV3h6WlM0Z0tpOWNibVY0Y0c5eWRDQjBlWEJsSUVOdmJYQmhjbVZQY0NBOUlGd2lQbHdpSUh3Z1hDSStQVndpSUh3Z1hDSThQVndpSUh3Z1hDSThYQ0lnZkNCY0lqMWNJaUI4SUZ3aUlUMWNJanRjYmk4cUtpQkJjbWwwYUcxbGRHbGpJRzl3WlhKaGRHOXljeUIzYUdsamFDQjVhV1ZzWkNCdWRXMWlaWEp6SUdGdVpDQnZkR2hsY2lCMllXeDFaWE11SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JCY21sMGFHMWxkR2xqVDNBZ1BTQmNJaXRjSWlCOElGd2lMVndpSUh3Z1hDSXFYQ0lnZkNCY0lpOWNJaUI4SUZ3aUpWd2lJSHdnWENJbVhDSWdmQ0JjSW54Y0lqdGNiaThxS2lCSmJtUmxlQ0JoSUhaaGJIVmxJR2x1ZEc4Z1lXNXZkR2hsY2lCMllXeDFaUzRnS2k5Y2JtVjRjRzl5ZENCMGVYQmxJRXh2WjJsallXeFBjQ0E5SUZ3aWFXNWtaWGhjSWp0Y2JpOHFLaUJCYkd3Z2RtRnNhV1FnWW1sdVlYSjVJRzl3WlhKaGRHOXljeTRnS2k5Y2JtVjRjRzl5ZENCMGVYQmxJRUpwYm1GeWVVOXdJRDBnUTI5dGNHRnlaVTl3SUh3Z1FYSnBkR2h0WlhScFkwOXdJSHdnVEc5bmFXTmhiRTl3TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JGZUhCeVpYTnphVzl1SUQxY2JpQWdJQ0I4SUV4cGRHVnlZV3hGZUhCeVpYTnphVzl1WEc0Z0lDQWdmQ0JXWVhKcFlXSnNaVVY0Y0hKbGMzTnBiMjVjYmlBZ0lDQjhJRXhwYzNSRmVIQnlaWE56YVc5dVhHNGdJQ0FnZkNCUFltcGxZM1JGZUhCeVpYTnphVzl1WEc0Z0lDQWdmQ0JDYVc1aGNubFBjRVY0Y0hKbGMzTnBiMjVjYmlBZ0lDQjhJRVoxYm1OMGFXOXVSWGh3Y21WemMybHZibHh1SUNBZ0lId2dUR0Z0WW1SaFJYaHdjbVZ6YzJsdmJseHVJQ0FnSUh3Z1RtVm5ZWFJsWkVWNGNISmxjM05wYjI0N1hHNWNiaThxS2lCTWFYUmxjbUZzSUhKbGNISmxjMlZ1ZEdGMGFXOXVJRzltSUhOdmJXVWdabWxsYkdRZ2RIbHdaUzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RHbDBaWEpoYkVWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUhSNWNHVTZJRndpYkdsMFpYSmhiRndpTzF4dUlDQWdJSFpoYkhWbE9pQk1hWFJsY21Gc08xeHVmVnh1WEc0dktpb2dRU0IyWVhKcFlXSnNaU0JtYVdWc1pDQm1iM0lnWVNCMllYSnBZV0pzWlNCM2FYUm9JR0VnWjJsMlpXNGdibUZ0WlM0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdWbUZ5YVdGaWJHVkZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQjBlWEJsT2lCY0luWmhjbWxoWW14bFhDSTdYRzRnSUNBZ2JtRnRaVG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNHZLaW9nUVNCc2FYTjBJR3hwZEdWeVlXd3NJSGRvYVdOb0lHbHpJR0Z1SUc5eVpHVnlaV1FnWTI5c2JHVmpkR2x2YmlCdlppQm1hV1ZzWkhNdUlDb3ZYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRXhwYzNSRmVIQnlaWE56YVc5dUlIdGNiaUFnSUNCMGVYQmxPaUJjSW14cGMzUmNJanRjYmlBZ0lDQjJZV3gxWlhNNklFVjRjSEpsYzNOcGIyNWJYVHRjYm4xY2JseHVMeW9xSUVGdUlHOWlhbVZqZENCc2FYUmxjbUZzTENCM2FHbGphQ0JwY3lCaElHMWhjSEJwYm1jZ2IyWWdibUZ0WlNCMGJ5Qm1hV1ZzWkM0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUMkpxWldOMFJYaHdjbVZ6YzJsdmJpQjdYRzRnSUNBZ2RIbHdaVG9nWENKdlltcGxZM1JjSWp0Y2JpQWdJQ0IyWVd4MVpYTTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lFVjRjSEpsYzNOcGIyNCtPMXh1ZlZ4dVhHNHZLaW9nUVNCaWFXNWhjbmtnYjNCbGNtRjBiM0lnWlhod2NtVnpjMmx2YmlCM2FHbGphQ0JqYjIxaWFXNWxjeUIwZDI4Z2MzVmlibTlrWlhNZ2MyOXRaV2h2ZHk0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRbWx1WVhKNVQzQkZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQjBlWEJsT2lCY0ltSnBibUZ5ZVc5d1hDSTdYRzRnSUNBZ2JHVm1kRG9nUlhod2NtVnpjMmx2Ymp0Y2JpQWdJQ0J5YVdkb2REb2dSWGh3Y21WemMybHZianRjYmlBZ0lDQnZjRG9nUW1sdVlYSjVUM0E3WEc1OVhHNWNiaThxS2lCQklHWjFibU4wYVc5dUlHVjRjSEpsYzNOcGIyNGdkMmhwWTJnZ1kyRnNiSE1nWVNCbWRXNWpkR2x2YmlCdmJpQXdJRzl5SUcxdmNtVWdZWEpuZFcxbGJuUnpMaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCR2RXNWpkR2x2YmtWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUhSNWNHVTZJRndpWm5WdVkzUnBiMjVjSWp0Y2JpQWdJQ0F2S2lvZ1JXbDBhR1Z5SUhSb1pTQnVZVzFsSUc5bUlIUm9aU0JtZFc1amRHbHZiaUJpWldsdVp5QmpZV3hzWldRZ2IzSWdZU0JHZFc1amRHbHZiaUJ2WW1wbFkzUXVJQ292WEc0Z0lDQWdablZ1WXpvZ1JYaHdjbVZ6YzJsdmJqdGNiaUFnSUNBdktpb2dWR2hsSUd4cGMzUWdiMllnWVhKbmRXMWxiblJ6SUdKbGFXNW5JSEJoYzNObFpDQjBieUIwYUdVZ1puVnVZM1JwYjI0dUlDb3ZYRzRnSUNBZ1lYSm5kVzFsYm5Sek9pQkZlSEJ5WlhOemFXOXVXMTA3WEc1OVhHNWNiaThxS2lCQmJpQnBibXhwYm1VZ1puVnVZM1JwYjI0Z1lXTmpaWEIwYVc1bklHOXVaU0J2Y2lCdGIzSmxJR0Z5WjNWdFpXNTBjeUJoYm1RZ2NISnZaSFZqYVc1bklHRWdkbUZzZFdVdUlDb3ZYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRXhoYldKa1lVVjRjSEpsYzNOcGIyNGdlMXh1SUNBZ0lIUjVjR1U2SUZ3aWJHRnRZbVJoWENJN1hHNGdJQ0FnTHlvcUlFRnVJRzl5WkdWeVpXUWdiR2x6ZENCdlppQnVZVzFsWkNCaGNtZDFiV1Z1ZEhNdUlDb3ZYRzRnSUNBZ1lYSm5kVzFsYm5Sek9pQnpkSEpwYm1kYlhUdGNiaUFnSUNBdktpb2dWR2hsSUdacFpXeGtJSGRvYVdOb0lIZHBiR3dnWW1VZ1pYWmhiSFZoZEdWa0lIVnphVzVuSUhSb1pTQmhjbWQxYldWdWRITWdhVzRnWTI5dWRHVjRkQzRnS2k5Y2JpQWdJQ0IyWVd4MVpUb2dSWGh3Y21WemMybHZianRjYm4xY2JseHVMeW9xSUVGdUlHVjRjSEpsYzNOcGIyNGdkMmhwWTJnZ2JtVm5ZWFJsY3lCMGFHVWdkbUZzZFdVZ2IyWWdkR2hsSUc5eWFXZHBibUZzSUdacFpXeGtMaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCT1pXZGhkR1ZrUlhod2NtVnpjMmx2YmlCN1hHNGdJQ0FnZEhsd1pUb2dYQ0p1WldkaGRHVmtYQ0k3WEc1Y2JpQWdJQ0F2S2lvZ1ZHaGxJR05vYVd4a0lHWnBaV3hrSUhSdklHNWxaMkYwWlM0Z0tpOWNiaUFnSUNCamFHbHNaRG9nUlhod2NtVnpjMmx2Ymp0Y2JuMWNibHh1Wlhod2IzSjBJRzVoYldWemNHRmpaU0JGZUhCeVpYTnphVzl1Y3lCN1hHNGdJQ0FnTHlvcUlGUm9aU0JwYlhCc2FXTnBkQ0JtYVdWc1pDQnlaV1psY21WdVkybHVaeUIwYUdVZ1kzVnljbVZ1ZENCbWFXVnNaQzRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdZMjl1YzNRZ1VrOVhPaUJ6ZEhKcGJtY2dQU0JjSWlSeWIzZGNJanRjYmx4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQjJZWEpwWVdKc1pTaHVZVzFsT2lCemRISnBibWNwT2lCV1lYSnBZV0pzWlVWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjBlWEJsT2lCY0luWmhjbWxoWW14bFhDSXNJRzVoYldVZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYkdsMFpYSmhiQ2gyWVd4MVpUb2dUR2wwWlhKaGJDazZJRXhwZEdWeVlXeEZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0pzYVhSbGNtRnNYQ0lzSUhaaGJIVmxJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHSnBibUZ5ZVU5d0tHeGxablE2SUVWNGNISmxjM05wYjI0c0lHOXdPaUJDYVc1aGNubFBjQ3dnY21sbmFIUTZJRVY0Y0hKbGMzTnBiMjRwT2lCRmVIQnlaWE56YVc5dUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIc2dkSGx3WlRvZ1hDSmlhVzVoY25sdmNGd2lMQ0JzWldaMExDQnZjQ3dnY21sbmFIUWdmU0JoY3lCQ2FXNWhjbmxQY0VWNGNISmxjM05wYjI0N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJR2x1WkdWNEtHOWlham9nUlhod2NtVnpjMmx2Yml3Z2FXNWtaWGc2SUVWNGNISmxjM05wYjI0cE9pQkZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0ppYVc1aGNubHZjRndpTENCc1pXWjBPaUJ2WW1vc0lISnBaMmgwT2lCcGJtUmxlQ3dnYjNBNklGd2lhVzVrWlhoY0lpQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLaUJEYjI1MlpYSjBjeUJoSUhOMGNtbHVaeUJwYmlCa2IzUXRibTkwWVhScGIyNHRabTl5YldGMElHbHVkRzhnWVNCMllYSnBZV0pzWlNCM2FHbGphQ0JwYm1SbGVHVnpMaUFxTDF4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnBibVJsZUZaaGNtbGhZbXhsS0c1aGJXVTZJSE4wY21sdVp5azZJRVY0Y0hKbGMzTnBiMjRnZTF4dUlDQWdJQ0FnSUNCc1pYUWdjR0Z5ZEhNZ1BTQnVZVzFsTG5Od2JHbDBLRndpTGx3aUtUdGNiaUFnSUNBZ0lDQWdiR1YwSUhKbGMzVnNkRG9nUlhod2NtVnpjMmx2YmlBOUlFVjRjSEpsYzNOcGIyNXpMblpoY21saFlteGxLSEJoY25Seld6QmRLVHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVc1a1pYZ2dQU0F4T3lCcGJtUmxlQ0E4SUhCaGNuUnpMbXhsYm1kMGFEc2dhVzVrWlhnckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwSUQwZ1JYaHdjbVZ6YzJsdmJuTXVhVzVrWlhnb2NtVnpkV3gwTENCRmVIQnlaWE56YVc5dWN5NXNhWFJsY21Gc0tIQmhjblJ6VzJsdVpHVjRYU2twTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdiR0Z0WW1SaEtHRnlaM002SUhOMGNtbHVaMXRkTENCMllXeDFaVG9nUlhod2NtVnpjMmx2YmlrNklFeGhiV0prWVVWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjBlWEJsT2lCY0lteGhiV0prWVZ3aUxDQmhjbWQxYldWdWRITTZJR0Z5WjNNc0lIWmhiSFZsSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJR1oxYm1Nb1puVnVZem9nUlhod2NtVnpjMmx2Yml3Z1lYSm5jem9nUlhod2NtVnpjMmx2Ymx0ZEtUb2dSblZ1WTNScGIyNUZlSEJ5WlhOemFXOXVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0ptZFc1amRHbHZibHdpTENCbWRXNWpMQ0JoY21kMWJXVnVkSE02SUdGeVozTWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JHbHpkQ2gyWVd4MVpYTTZJRVY0Y0hKbGMzTnBiMjViWFNrNklFeHBjM1JGZUhCeVpYTnphVzl1SUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ2RIbHdaVG9nWENKc2FYTjBYQ0lzSUhaaGJIVmxjeUI5TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1Y0Y0c5eWRDQm1kVzVqZEdsdmJpQnZZbXBsWTNRb2RtRnNkV1Z6T2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JGZUhCeVpYTnphVzl1UGlrNklFOWlhbVZqZEVWNGNISmxjM05wYjI0Z2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2V5QjBlWEJsT2lCY0ltOWlhbVZqZEZ3aUxDQjJZV3gxWlhNZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCbGVIQnZjblFnWm5WdVkzUnBiMjRnYm1WbllYUmxLR05vYVd4a09pQkZlSEJ5WlhOemFXOXVLVG9nVG1WbllYUmxaRVY0Y0hKbGMzTnBiMjRnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCMGVYQmxPaUJjSW01bFoyRjBaV1JjSWl3Z1kyaHBiR1FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5EYjIxd1lYSmxUM0FvYjNBNklFSnBibUZ5ZVU5d0tUb2diM0FnYVhNZ1EyOXRjR0Z5WlU5d0lIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHOXdJRDA5SUZ3aVBEMWNJaUI4ZkNCdmNDQTlQU0JjSWp4Y0lpQjhmQ0J2Y0NBOVBTQmNJajVjSWlCOGZDQnZjQ0E5UFNCY0lqNDlYQ0lnZkh3Z2IzQWdQVDBnWENJaFBWd2lJSHg4SUc5d0lEMDlJRndpUFZ3aU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQlNaWFIxY201eklHRWdjMlYwSUc5bUlHRnNiQ0IxYm1KdmRXNWtJSFpoY21saFlteGxjeUFvYVM1bExpd2dkbUZ5YVdGaWJHVnpJRzV2ZENCd2NtOTJhV1JsWkNCaWVTQmdjbTkzWUN3Z2JHRnRZbVJoY3l3Z2IzSWdjMmx0YVd4aGNpNHBJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlIVnVZbTkxYm1SV1lYSnBZV0pzWlhNb1pYaHdjam9nUlhod2NtVnpjMmx2Yml3Z1ltOTFibVE2SUZObGREeHpkSEpwYm1jK0lEMGdibVYzSUZObGRDaGJVazlYWFNrcE9pQlRaWFE4YzNSeWFXNW5QaUI3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvWlhod2NpNTBlWEJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2lZbWx1WVhKNWIzQmNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCVGNHVmphV0ZzSUdOaGMyVWdZSEp2ZDF0Y0lpNHVMaTVjSWwxZ0xseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYaHdjaTV2Y0NBOVBUMGdYQ0pwYm1SbGVGd2lJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjRjSEl1YkdWbWRDNTBlWEJsSUQwOUlGd2lkbUZ5YVdGaWJHVmNJaUFtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxlSEJ5TG14bFpuUXVibUZ0WlNBOVBTQlNUMWNnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaWGh3Y2k1eWFXZG9kQzUwZVhCbElEMDlJRndpYkdsMFpYSmhiRndpSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRXhwZEdWeVlXeHpMbWx6VTNSeWFXNW5LR1Y0Y0hJdWNtbG5hSFF1ZG1Gc2RXVXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hpYjNWdVpDNW9ZWE1vWlhod2NpNXlhV2RvZEM1MllXeDFaU2twSUhKbGRIVnliaUJ1WlhjZ1UyVjBLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnNjMlVnY21WMGRYSnVJRzVsZHlCVFpYUW9XMlY0Y0hJdWNtbG5hSFF1ZG1Gc2RXVmRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlBkR2hsY25kcGMyVWdhblZ6ZENCamFHVmpheUJzWldaMElHRnVaQ0J5YVdkb2RDNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1JtbHNkR1Z5Y3k1elpYUlZibWx2YmloYmRXNWliM1Z1WkZaaGNtbGhZbXhsY3lobGVIQnlMbXhsWm5Rc0lHSnZkVzVrS1N3Z2RXNWliM1Z1WkZaaGNtbGhZbXhsY3lobGVIQnlMbkpwWjJoMExDQmliM1Z1WkNsZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0ptZFc1amRHbHZibHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJHYVd4MFpYSnpMbk5sZEZWdWFXOXVLR1Y0Y0hJdVlYSm5kVzFsYm5SekxtMWhjQ2dvWVNrZ1BUNGdkVzVpYjNWdVpGWmhjbWxoWW14bGN5aGhMQ0JpYjNWdVpDa3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKc1lXMWlaR0ZjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J1WlhkQ2IzVnVaQ0E5SUdKdmRXNWtJRDgvSUc1bGR5QlRaWFFvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHRnlaeUJ2WmlCbGVIQnlMbUZ5WjNWdFpXNTBjeWtnYm1WM1FtOTFibVF1WVdSa0tHRnlaeWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZFc1aWIzVnVaRlpoY21saFlteGxjeWhsZUhCeUxuWmhiSFZsTENCdVpYZENiM1Z1WkNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liR2x6ZEZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCR2FXeDBaWEp6TG5ObGRGVnVhVzl1S0dWNGNISXVkbUZzZFdWekxtMWhjQ2dvZGlrZ1BUNGdkVzVpYjNWdVpGWmhjbWxoWW14bGN5aDJMQ0JpYjNWdVpDa3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdVpXZGhkR1ZrWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWdVltOTFibVJXWVhKcFlXSnNaWE1vWlhod2NpNWphR2xzWkN3Z1ltOTFibVFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltOWlhbVZqZEZ3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCR2FXeDBaWEp6TG5ObGRGVnVhVzl1S0U5aWFtVmpkQzUyWVd4MVpYTW9aWGh3Y2k1MllXeDFaWE1wTG0xaGNDZ29kaWtnUFQ0Z2RXNWliM1Z1WkZaaGNtbGhZbXhsY3loMkxDQmliM1Z1WkNrcEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0oyWVhKcFlXSnNaVndpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGliM1Z1WkNBbUppQmliM1Z1WkM1b1lYTW9aWGh3Y2k1dVlXMWxLU2tnY21WMGRYSnVJRzVsZHlCVFpYUW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsYkhObElISmxkSFZ5YmlCdVpYY2dVMlYwS0Z0bGVIQnlMbTVoYldWZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVhSbGNtRnNYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCVFpYUW9LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCU1pXNWtaWElnWVc0Z1pYaHdjbVZ6YzJsdmJpQmhjeUJoSUhOMGNtbHVaeTRnS2k5Y2JpQWdJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdkRzlUZEhKcGJtY29aWGh3Y2pvZ1JYaHdjbVZ6YzJsdmJpazZJSE4wY21sdVp5QjdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9aWGh3Y2k1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVltbHVZWEo1YjNCY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWlhod2NpNXZjQ0E5UFQwZ1hDSnBibVJsZUZ3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJnSkh0MGIxTjBjbWx1WnlobGVIQnlMbXhsWm5RcGZWc2tlM1J2VTNSeWFXNW5LR1Y0Y0hJdWNtbG5hSFFwZlYxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmdKSHQwYjFOMGNtbHVaeWhsZUhCeUxteGxablFwZlNBa2UyVjRjSEl1YjNCOUlDUjdkRzlUZEhKcGJtY29aWGh3Y2k1eWFXZG9kQ2w5WUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSm1kVzVqZEdsdmJsd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmdKSHQwYjFOMGNtbHVaeWhsZUhCeUxtWjFibU1wZlNna2UyVjRjSEl1WVhKbmRXMWxiblJ6TG0xaGNDaDBiMU4wY21sdVp5a3VhbTlwYmloY0lpd2dYQ0lwZlNsZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbXhoYldKa1lWd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmdLQ1I3Wlhod2NpNWhjbWQxYldWdWRITXVhbTlwYmloY0lpd2dYQ0lwZlNrZ1BUNGdKSHQwYjFOMGNtbHVaeWhsZUhCeUxuWmhiSFZsS1gxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbXhwYzNSY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1lGc2tlMlY0Y0hJdWRtRnNkV1Z6TG0xaGNDaDBiMU4wY21sdVp5a3VhbTlwYmloY0lpd2dYQ0lwZlYxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbTVsWjJGMFpXUmNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZQ0VrZTNSdlUzUnlhVzVuS0dWNGNISXVZMmhwYkdRcGZXQTdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpYjJKcVpXTjBYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0I3Skh0UFltcGxZM1F1Wlc1MGNtbGxjeWhsZUhCeUxuWmhiSFZsY3lsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb1cyc3NJSFpkS1NBOVBpQmdKSHRyZlRvZ0pIdDBiMU4wY21sdVp5aDJLWDFnS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVhbTlwYmloY0lpd2dYQ0lwZlgxZ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJblpoY21saFlteGxYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1Y0Y0hJdWJtRnRaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKc2FYUmxjbUZzWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZDNKaGNIQmxaQ0E5SUV4cGRHVnlZV3h6TG5keVlYQldZV3gxWlNobGVIQnlMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhkeVlYQndaV1FwSUhKbGRIVnliaUJjSW01MWJHeGNJanRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLSGR5WVhCd1pXUXVkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2ljM1J5YVc1blhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1lGd2lKSHQzY21Gd2NHVmtMblpoYkhWbGZWd2lZRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJNYVhSbGNtRnNjeTUwYjFOMGNtbHVaeWgzY21Gd2NHVmtMblpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQmxlSEJ2Y25RZ1kyOXVjM1FnVGxWTVRDQTlJRVY0Y0hKbGMzTnBiMjV6TG14cGRHVnlZV3dvYm5Wc2JDazdYRzU5WEc0aUxDQWlMeW9xSUZCaGNuTmxJR2x1YkdsdVpTQm1hV1ZzWkhNZ1lXNWtJRzkwYUdWeUlHVnRZbVZrWkdWa0lHMWxkR0ZrWVhSaElHbHVJR0VnYkdsdVpTNGdLaTljYmx4dWFXMXdiM0owSUhzZ1VGSkpUVWxVU1ZaRlV5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMM0JoY25ObGNsd2lPMXh1YVcxd2IzSjBJSHNnVEdsMFpYSmhiQ0I5SUdaeWIyMGdYQ0psZUhCeVpYTnphVzl1TDJ4cGRHVnlZV3hjSWp0Y2JtbHRjRzl5ZENBcUlHRnpJRkFnWm5KdmJTQmNJbkJoY25OcGJXMXZibHdpTzF4dWFXMXdiM0owSUdWdGIycHBVbVZuWlhnZ1puSnZiU0JjSW1WdGIycHBMWEpsWjJWNFhDSTdYRzVwYlhCdmNuUWdleUJLYzI5dVEyOXVkbVZ5YzJsdmJpd2dTbk52Ymt4cGRHVnlZV3dnZlNCbWNtOXRJRndpYVc1a1pYZ3ZkSGx3WlhNdmFuTnZiaTlqYjIxdGIyNWNJanRjYmx4dUx5b3FJRUVnY0dGeWMyVmtJR2x1YkdsdVpTQm1hV1ZzWkNCbWNtOXRJR0VnYzNCbFkybG1hV01nYkdsdVpTNGdLaTljYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVEc5allXeEpibXhwYm1WR2FXVnNaQ0I3WEc0Z0lDQWdMeW9xSUZSb1pTQnlZWGNnY0dGeWMyVmtJR3RsZVM0Z0tpOWNiaUFnSUNCclpYazZJSE4wY21sdVp6dGNiaUFnSUNBdktpb2dWR2hsSUhKaGR5QjJZV3gxWlNCdlppQjBhR1VnWm1sbGJHUXVJQ292WEc0Z0lDQWdkbUZzZFdVNklITjBjbWx1Wnp0Y2JpQWdJQ0F2S2lvZ1ZHaGxJSE4wWVhKMElHTnZiSFZ0YmlCdlppQjBhR1VnWm1sbGJHUXVJQ292WEc0Z0lDQWdjM1JoY25RNklHNTFiV0psY2p0Y2JpQWdJQ0F2S2lvZ1ZHaGxJSE4wWVhKMElHTnZiSFZ0YmlCdlppQjBhR1VnS25aaGJIVmxLaUJtYjNJZ2RHaGxJR1pwWld4a0xpQXFMMXh1SUNBZ0lITjBZWEowVm1Gc2RXVTZJRzUxYldKbGNqdGNiaUFnSUNBdktpb2dWR2hsSUdWdVpDQmpiMngxYlc0Z2IyWWdkR2hsSUdacFpXeGtMaUFxTDF4dUlDQWdJR1Z1WkRvZ2JuVnRZbVZ5TzF4dUlDQWdJQzhxS2lCSlppQjBhR2x6SUdsdWJHbHVaU0JtYVdWc1pDQjNZWE1nWkdWbWFXNWxaQ0IyYVdFZ1lTQjNjbUZ3Y0dsdVp5QW9KMXNuSUc5eUlDY29KeUJ2Y2lBbmJHbHVheWNwTENCMGFHVnVJSFJvWlNCM2NtRndjR2x1WnlCMGFHRjBJSGRoY3lCMWMyVmtMaUFxTDF4dUlDQWdJSGR5WVhCd2FXNW5Qem9nYzNSeWFXNW5PMXh1ZlZ4dVhHNHZLaW9nUm5Wc2JDQnBibXhwYm1VZ1ptbGxiR1FnYldWMFlXUmhkR0VnWm05eUlHRnVJRzlpYW1WamRDNGdLaTljYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnU1c1c2FXNWxSbWxsYkdRZ2UxeHVJQ0FnSUM4cUtpQlVhR1VnWVdOMGRXRnNJR3RsZVNCa1pYTmpjbWxpYVc1bklIUm9aU0JwYm14cGJtVWdabWxsYkdRdUlDb3ZYRzRnSUNBZ2EyVjVPaUJ6ZEhKcGJtYzdYRzRnSUNBZ0x5b3FJRlJvWlNCeVlYY2dkbUZzZFdVZ2IyWWdkR2hsSUdsdWJHbHVaU0JtYVdWc1pDNGdLaTljYmlBZ0lDQnlZWGM2SUhOMGNtbHVaenRjYmlBZ0lDQXZLaW9nVkdobElIQmhjbk5sWkNCMllXeDFaUzRnS2k5Y2JpQWdJQ0IyWVd4MVpUb2dUR2wwWlhKaGJEdGNiaUFnSUNBdktpb2dSblZzYkNCd2IzTnBkR2x2YmlCcGJtWnZjbTFoZEdsdmJpQm1iM0lnZDJobGNtVWdkR2hsSUdsdWJHbHVaU0JtYVdWc1pDQnBjeUJzYjJOaGRHVmtJR2x1SUhSb1pTQmtiMk4xYldWdWRDNGdLaTljYmlBZ0lDQndiM05wZEdsdmJqb2dlMXh1SUNBZ0lDQWdJQ0F2S2lvZ1ZHaGxJR3hwYm1VZ2JuVnRZbVZ5SUhSb1pTQnBibXhwYm1VZ1ptbGxiR1FnWVhCd1pXRnljeUJ2Ymk0Z0tpOWNiaUFnSUNBZ0lDQWdiR2x1WlRvZ2JuVnRZbVZ5TzF4dUlDQWdJQ0FnSUNBdktpb2dWR2hsSUhOMFlYSjBJR052YkhWdGJpQnZaaUIwYUdVZ1ptbGxiR1F1SUNvdlhHNGdJQ0FnSUNBZ0lITjBZWEowT2lCdWRXMWlaWEk3WEc0Z0lDQWdJQ0FnSUM4cUtpQlVhR1VnYzNSaGNuUWdZMjlzZFcxdUlHOW1JSFJvWlNBcWRtRnNkV1VxSUdadmNpQjBhR1VnWm1sbGJHUXVJRWx0YldWa2FXRjBaV3g1SUdGbWRHVnlJSFJvWlNBbk9qb25MaUFxTDF4dUlDQWdJQ0FnSUNCemRHRnlkRlpoYkhWbE9pQnVkVzFpWlhJN1hHNGdJQ0FnSUNBZ0lDOHFLaUJVYUdVZ1pXNWtJR052YkhWdGJpQnZaaUIwYUdVZ1ptbGxiR1F1SUNvdlhHNGdJQ0FnSUNBZ0lHVnVaRG9nYm5WdFltVnlPMXh1SUNBZ0lIMDdYRzRnSUNBZ0x5b3FJRWxtSUhSb2FYTWdhVzVzYVc1bElHWnBaV3hrSUhkaGN5QmtaV1pwYm1Wa0lIWnBZU0JoSUhkeVlYQndhVzVuSUNnbld5Y2diM0lnSnlnbklHOXlJQ2RzYVc1ckp5a3NJSFJvWlc0Z2RHaGxJSGR5WVhCd2FXNW5JSFJvWVhRZ2QyRnpJSFZ6WldRdUlDb3ZYRzRnSUNBZ2QzSmhjSEJwYm1jL09pQnpkSEpwYm1jN1hHNTlYRzVjYmk4cUtpQktVMDlPTENCelpYSnBZV3hwZW1GaWJHVWdjbVZ3Y21WelpXNTBZWFJwYjI0Z2IyWWdZVzRnYVc1c2FXNWxJR1pwWld4a0xpQXFMMXh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JLYzI5dVNXNXNhVzVsUm1sbGJHUWdlMXh1SUNBZ0lDOHFLaUJVYUdVZ1lXTjBkV0ZzSUd0bGVTQmtaWE5qY21saWFXNW5JSFJvWlNCcGJteHBibVVnWm1sbGJHUXVJQ292WEc0Z0lDQWdhMlY1T2lCemRISnBibWM3WEc0Z0lDQWdMeW9xSUZSb1pTQnlZWGNnZG1Gc2RXVWdiMllnZEdobElHbHViR2x1WlNCbWFXVnNaQzRnS2k5Y2JpQWdJQ0J5WVhjNklITjBjbWx1Wnp0Y2JpQWdJQ0F2S2lvZ1ZHaGxJSEJoY25ObFpDQjJZV3gxWlM0Z0tpOWNiaUFnSUNCMllXeDFaVG9nU25OdmJreHBkR1Z5WVd3N1hHNGdJQ0FnTHlvcUlFWjFiR3dnY0c5emFYUnBiMjRnYVc1bWIzSnRZWFJwYjI0Z1ptOXlJSGRvWlhKbElIUm9aU0JwYm14cGJtVWdabWxsYkdRZ2FYTWdiRzlqWVhSbFpDQnBiaUIwYUdVZ1pHOWpkVzFsYm5RdUlDb3ZYRzRnSUNBZ2NHOXphWFJwYjI0NklIdGNiaUFnSUNBZ0lDQWdMeW9xSUZSb1pTQnNhVzVsSUc1MWJXSmxjaUIwYUdVZ2FXNXNhVzVsSUdacFpXeGtJR0Z3Y0dWaGNuTWdiMjR1SUNvdlhHNGdJQ0FnSUNBZ0lHeHBibVU2SUc1MWJXSmxjanRjYmlBZ0lDQWdJQ0FnTHlvcUlGUm9aU0J6ZEdGeWRDQmpiMngxYlc0Z2IyWWdkR2hsSUdacFpXeGtMaUFxTDF4dUlDQWdJQ0FnSUNCemRHRnlkRG9nYm5WdFltVnlPMXh1SUNBZ0lDQWdJQ0F2S2lvZ1ZHaGxJSE4wWVhKMElHTnZiSFZ0YmlCdlppQjBhR1VnS25aaGJIVmxLaUJtYjNJZ2RHaGxJR1pwWld4a0xpQkpiVzFsWkdsaGRHVnNlU0JoWm5SbGNpQjBhR1VnSnpvNkp5NGdLaTljYmlBZ0lDQWdJQ0FnYzNSaGNuUldZV3gxWlRvZ2JuVnRZbVZ5TzF4dUlDQWdJQ0FnSUNBdktpb2dWR2hsSUdWdVpDQmpiMngxYlc0Z2IyWWdkR2hsSUdacFpXeGtMaUFxTDF4dUlDQWdJQ0FnSUNCbGJtUTZJRzUxYldKbGNqdGNiaUFnSUNCOU8xeHVJQ0FnSUM4cUtpQkpaaUIwYUdseklHbHViR2x1WlNCbWFXVnNaQ0IzWVhNZ1pHVm1hVzVsWkNCMmFXRWdZU0IzY21Gd2NHbHVaeUFvSjFzbklHOXlJQ2NvSnlCdmNpQW5iR2x1YXljcExDQjBhR1Z1SUhSb1pTQjNjbUZ3Y0dsdVp5QjBhR0YwSUhkaGN5QjFjMlZrTGlBcUwxeHVJQ0FnSUhkeVlYQndhVzVuUHpvZ2MzUnlhVzVuTzF4dWZWeHVYRzR2S2lvZ1EyOXVkbVZ5ZENCaGJpQnBibXhwYm1VZ1ptbGxiR1FnZEc4Z1lTQktVMDlPSUdadmNtMWhkQzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcWMyOXVTVzVzYVc1bFJtbGxiR1FvWm1sbGJHUTZJRWx1YkdsdVpVWnBaV3hrS1RvZ1NuTnZia2x1YkdsdVpVWnBaV3hrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdUMkpxWldOMExtRnpjMmxuYmloN2ZTd2dabWxsYkdRc0lIc2dkbUZzZFdVNklFcHpiMjVEYjI1MlpYSnphVzl1TG1wemIyNG9abWxsYkdRdWRtRnNkV1VwSUgwcE8xeHVmVnh1WEc0dktpb2dRMjl1ZG1WeWRDQmhJRXBUVDA0Z2FXNXNhVzVsSUdacFpXeGtJR0poWTJzZ2RHOGdZU0J5WldkMWJHRnlJR1pwWld4a0xpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFpoYkhWbFNXNXNhVzVsUm1sbGJHUW9abWxsYkdRNklFcHpiMjVKYm14cGJtVkdhV1ZzWkNrNklFbHViR2x1WlVacFpXeGtJSHRjYmlBZ0lDQnlaWFIxY200Z1QySnFaV04wTG1GemMybG5iaWg3ZlN3Z1ptbGxiR1FzSUhzZ2RtRnNkV1U2SUVwemIyNURiMjUyWlhKemFXOXVMblpoYkhWbEtHWnBaV3hrTG5aaGJIVmxLU0I5S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z6U1c1c2FXNWxSbWxsYkdRb2JHOWpZV3c2SUV4dlkyRnNTVzVzYVc1bFJtbGxiR1FzSUd4cGJtVnViem9nYm5WdFltVnlLVG9nU1c1c2FXNWxSbWxsYkdRN1hHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lYTkpibXhwYm1WR2FXVnNaQ2hzYjJOaGJEb2dURzlqWVd4SmJteHBibVZHYVdWc1pGdGRMQ0JzYVc1bGJtODZJRzUxYldKbGNpazZJRWx1YkdsdVpVWnBaV3hrVzEwN1hHNHZLaW9nUTI5dWRtVnlkQ0JoSUd4dlkyRnNJR2x1YkdsdVpTQm1hV1ZzWkNCcGJuUnZJR0VnWm5Wc2JDQnBibXhwYm1VZ1ptbGxiR1FnWW5rZ2NHVnlabTl5YldsdVp5QndZWEp6YVc1bklHRnVaQ0JoWkdScGJtY2dkR2hsSUdOdmNuSmxZM1FnYkdsdVpTQnVkVzFpWlhJdUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZWE5KYm14cGJtVkdhV1ZzWkNoY2JpQWdJQ0JzYjJOaGJEb2dURzlqWVd4SmJteHBibVZHYVdWc1pDQjhJRXh2WTJGc1NXNXNhVzVsUm1sbGJHUmJYU3hjYmlBZ0lDQnNhVzVsYm04NklHNTFiV0psY2x4dUtUb2dTVzVzYVc1bFJtbGxiR1FnZkNCSmJteHBibVZHYVdWc1pGdGRJSHRjYmlBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHNiMk5oYkNrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHeHZZMkZzTG0xaGNDZ29aaWtnUFQ0Z1lYTkpibXhwYm1WR2FXVnNaQ2htTENCc2FXNWxibThwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JyWlhrNklHeHZZMkZzTG10bGVTeGNiaUFnSUNBZ0lDQWdjbUYzT2lCc2IyTmhiQzUyWVd4MVpTeGNiaUFnSUNBZ0lDQWdkbUZzZFdVNklIQmhjbk5sU1c1c2FXNWxWbUZzZFdVb2JHOWpZV3d1ZG1Gc2RXVXBMRnh1SUNBZ0lDQWdJQ0J3YjNOcGRHbHZiam9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiR2x1WlRvZ2JHbHVaVzV2TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjM1JoY25RNklHeHZZMkZzTG5OMFlYSjBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUmhjblJXWVd4MVpUb2diRzlqWVd3dWMzUmhjblJXWVd4MVpTeGNiaUFnSUNBZ0lDQWdJQ0FnSUdWdVpEb2diRzlqWVd3dVpXNWtMRnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNCM2NtRndjR2x1WnpvZ2JHOWpZV3d1ZDNKaGNIQnBibWNzWEc0Z0lDQWdmVHRjYm4xY2JseHVMeW9xSUZSb1pTQjNjbUZ3Y0dWeUlHTm9ZWEpoWTNSbGNuTWdkR2hoZENCallXNGdZbVVnZFhObFpDQjBieUJrWldacGJtVWdZVzRnYVc1c2FXNWxJR1pwWld4a0xpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElFbE9URWxPUlY5R1NVVk1SRjlYVWtGUVVFVlNVem9nVW1WaFpHOXViSGs4VW1WamIzSmtQSE4wY21sdVp5d2djM1J5YVc1blBqNGdQU0JQWW1wbFkzUXVabkpsWlhwbEtIdGNiaUFnSUNCY0lsdGNJam9nWENKZFhDSXNYRzRnSUNBZ1hDSW9YQ0k2SUZ3aUtWd2lMRnh1ZlNrN1hHNWNiaThxS2x4dUlDb2dSbWx1WkNCaElHMWhkR05vYVc1bklHTnNiM05wYm1jZ1luSmhZMnRsZENCMGFHRjBJRzlqWTNWeWN5QmhkQ0J2Y2lCaFpuUmxjaUJnYzNSaGNuUmdMQ0J5WlhOd1pXTjBhVzVuSUc1bGMzUnBibWNnWVc1a0lHVnpZMkZ3WlhNdUlFbG1JR1p2ZFc1a0xGeHVJQ29nY21WMGRYSnVjeUIwYUdVZ2RtRnNkV1VnWTI5dWRHRnBibVZrSUhkcGRHaHBiaUJoYm1RZ2RHaGxJSE4wY21sdVp5QnBibVJsZUNCaFpuUmxjaUIwYUdVZ1pXNWtJRzltSUhSb1pTQjJZV3gxWlM1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnWm1sdVpFTnNiM05wYm1jb1hHNGdJQ0FnYkdsdVpUb2djM1J5YVc1bkxGeHVJQ0FnSUhOMFlYSjBPaUJ1ZFcxaVpYSXNYRzRnSUNBZ2IzQmxiam9nYzNSeWFXNW5MRnh1SUNBZ0lHTnNiM05sT2lCemRISnBibWRjYmlrNklIc2dkbUZzZFdVNklITjBjbWx1WnpzZ1pXNWtTVzVrWlhnNklHNTFiV0psY2lCOUlId2dkVzVrWldacGJtVmtJSHRjYmlBZ0lDQnNaWFFnYm1WemRHbHVaeUE5SURBN1hHNGdJQ0FnYkdWMElHVnpZMkZ3WldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwYm1SbGVDQTlJSE4wWVhKME95QnBibVJsZUNBOElHeHBibVV1YkdWdVozUm9PeUJwYm1SbGVDc3JLU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQmphR0Z5SUQwZ2JHbHVaUzVqYUdGeVFYUW9hVzVrWlhncE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUVGc2JHOTNjeUJtYjNJZ1pHOTFZbXhsSUdWelkyRndaWE1nYkdsclpTQW5YRnhjWENjZ2RHOGdZbVVnY21WdVpHVnlaV1FnYm05eWJXRnNiSGt1WEc0Z0lDQWdJQ0FnSUdsbUlDaGphR0Z5SUQwOUlGd2lYRnhjWEZ3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCbGMyTmhjR1ZrSUQwZ0lXVnpZMkZ3WldRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDOHZJRWxtSUdWelkyRndaV1FzSUdsbmJtOXlaU0IwYUdVZ2JtVjRkQ0JqYUdGeVlXTjBaWElnWm05eUlHTnZiWEIxZEdsdVp5QnVaWE4wYVc1bkxDQnlaV2RoY21Sc1pYTnpJRzltSUhkb1lYUWdhWFFnYVhNdVhHNGdJQ0FnSUNBZ0lHbG1JQ2hsYzJOaGNHVmtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxjMk5oY0dWa0lEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqYUdGeUlEMDlJRzl3Wlc0cElHNWxjM1JwYm1jckt6dGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZMmhoY2lBOVBTQmpiRzl6WlNrZ2JtVnpkR2x1WnkwdE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUU5dWJIa2diMk5qZFhKeklHbG1JSGRsSUdGeVpTQnZiaUJoSUdOc2IzTmxJR05vWVhKaFkzUmxjaUJoYm1RZ2RISm9aWEpsSUdseklHNXZJRzF2Y21VZ2JtVnpkR2x1Wnk1Y2JpQWdJQ0FnSUNBZ2FXWWdLRzVsYzNScGJtY2dQQ0F3S1NCeVpYUjFjbTRnZXlCMllXeDFaVG9nYkdsdVpTNXpkV0p6ZEhKcGJtY29jM1JoY25Rc0lHbHVaR1Y0S1M1MGNtbHRLQ2tzSUdWdVpFbHVaR1Y0T2lCcGJtUmxlQ0FySURFZ2ZUdGNibHh1SUNBZ0lDQWdJQ0JsYzJOaGNHVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JuMWNibHh1THlvcUlFWnBibVFnZEdobElDYzZPaWNnYzJWd1lYSmhkRzl5SUdsdUlHRnVJR2x1YkdsdVpTQm1hV1ZzWkM0Z0tpOWNibVoxYm1OMGFXOXVJR1pwYm1SVFpYQmhjbUYwYjNJb2JHbHVaVG9nYzNSeWFXNW5MQ0J6ZEdGeWREb2diblZ0WW1WeUtUb2dleUJyWlhrNklITjBjbWx1WnpzZ2RtRnNkV1ZKYm1SbGVEb2diblZ0WW1WeUlIMGdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJR3hsZENCelpYQWdQU0JzYVc1bExtbHVaR1Y0VDJZb1hDSTZPbHdpTENCemRHRnlkQ2s3WEc0Z0lDQWdhV1lnS0hObGNDQThJREFwSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdleUJyWlhrNklHeHBibVV1YzNWaWMzUnlhVzVuS0hOMFlYSjBMQ0J6WlhBcExuUnlhVzBvS1N3Z2RtRnNkV1ZKYm1SbGVEb2djMlZ3SUNzZ01pQjlPMXh1ZlZ4dVhHNHZLaW9nVkhKNUlIUnZJR052YlhCc1pYUmxiSGtnY0dGeWMyVWdZVzRnYVc1c2FXNWxJR1pwWld4a0lITjBZWEowYVc1bklHRjBJSFJvWlNCbmFYWmxiaUJ3YjNOcGRHbHZiaTRnUVhOemRXMWxjeUJnYzNSaGNuUmdJR2x6SUc5dUlHRWdkM0poY0hCcGJtY2dZMmhoY21GamRHVnlMaUFxTDF4dVpuVnVZM1JwYjI0Z1ptbHVaRk53WldOcFptbGpTVzVzYVc1bFJtbGxiR1FvYkdsdVpUb2djM1J5YVc1bkxDQnpkR0Z5ZERvZ2JuVnRZbVZ5S1RvZ1RHOWpZV3hKYm14cGJtVkdhV1ZzWkNCOElIVnVaR1ZtYVc1bFpDQjdYRzRnSUNBZ2JHVjBJRzl3Wlc0Z1BTQnNhVzVsTG1Ob1lYSkJkQ2h6ZEdGeWRDazdYRzVjYmlBZ0lDQnNaWFFnYTJWNUlEMGdabWx1WkZObGNHRnlZWFJ2Y2loc2FXNWxMQ0J6ZEdGeWRDQXJJREVwTzF4dUlDQWdJR2xtSUNoclpYa2dQVDA5SUhWdVpHVm1hVzVsWkNrZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUM4dklFWmhhV3dnZEdobElHMWhkR05vSUdsbUlIZGxJR1pwYm1RZ1lXNTVJSE5sY0dGeVlYUnZjaUJqYUdGeVlXTjBaWEp6SUNodWIzUWdZV3hzYjNkbFpDQnBiaUJyWlhsektTNWNiaUFnSUNCbWIzSWdLR3hsZENCelpYQWdiMllnVDJKcVpXTjBMbXRsZVhNb1NVNU1TVTVGWDBaSlJVeEVYMWRTUVZCUVJWSlRLUzVqYjI1allYUW9UMkpxWldOMExuWmhiSFZsY3loSlRreEpUa1ZmUmtsRlRFUmZWMUpCVUZCRlVsTXBLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9hMlY1TG10bGVTNXBibU5zZFdSbGN5aHpaWEFwS1NCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dUlDQWdJSDFjYmx4dUlDQWdJR3hsZENCMllXeDFaU0E5SUdacGJtUkRiRzl6YVc1bktHeHBibVVzSUd0bGVTNTJZV3gxWlVsdVpHVjRMQ0J2Y0dWdUxDQkpUa3hKVGtWZlJrbEZURVJmVjFKQlVGQkZVbE5iYjNCbGJsMHBPMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQTlQVDBnZFc1a1pXWnBibVZrS1NCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnYTJWNU9pQnJaWGt1YTJWNUxGeHVJQ0FnSUNBZ0lDQjJZV3gxWlRvZ2RtRnNkV1V1ZG1Gc2RXVXNYRzRnSUNBZ0lDQWdJSE4wWVhKME9pQnpkR0Z5ZEN4Y2JpQWdJQ0FnSUNBZ2MzUmhjblJXWVd4MVpUb2dhMlY1TG5aaGJIVmxTVzVrWlhnc1hHNGdJQ0FnSUNBZ0lHVnVaRG9nZG1Gc2RXVXVaVzVrU1c1a1pYZ3NYRzRnSUNBZ0lDQWdJSGR5WVhCd2FXNW5PaUJ2Y0dWdUxGeHVJQ0FnSUgwN1hHNTlYRzVjYmk4cUtpQlFZWEp6WlNCaElIUmxlSFIxWVd3Z2FXNXNhVzVsSUdacFpXeGtJSFpoYkhWbElHbHVkRzhnYzI5dFpYUm9hVzVuSUhkbElHTmhiaUIzYjNKcklIZHBkR2d1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHRnljMlZKYm14cGJtVldZV3gxWlNoMllXeDFaVG9nYzNSeWFXNW5LVG9nVEdsMFpYSmhiQ0I3WEc0Z0lDQWdMeThnUlcxd2RIa2dhVzVzYVc1bElIWmhiSFZsY3lBb2FTNWxMaXdnYm04Z2RHVjRkQ2tnYzJodmRXeGtJRzFoY0NCMGJ5QnVkV3hzSUhSdklHMWhkR05vSUd4dmJtY3RkR1Z5YlNCRVlYUmhkbWxsZHlCelpXMWhiblJwWTNNdVhHNGdJQ0FnTHk4Z1RuVnNiQ0JwY3lCaGJITnZJR0VnYlc5eVpTQjFibWwyWlhKellXd2dkSGx3WlNCMGJ5QmtaV0ZzSUhkcGRHZ2dkR2hoYmlCemRISnBibWR6TENCemFXNWpaU0JoYkd3Z1puVnVZM1JwYjI1eklHRmpZMlZ3ZENCdWRXeHNjeTVjYmlBZ0lDQnBaaUFvZG1Gc2RXVXVkSEpwYlNncElEMDlJRndpWENJcElISmxkSFZ5YmlCdWRXeHNPMXh1WEc0Z0lDQWdMeThnVkdobElITjBjbWx3Y0dWa0lHeHBkR1Z5WVd3Z1ptbGxiR1FnY0dGeWMyVnlJSFZ1WkdWeWMzUmhibVJ6SUdGc2JDQnZaaUIwYUdVZ2JtOXVMV0Z5Y21GNUwyNXZiaTF2WW1wbFkzUWdabWxsYkdSeklHRnVaQ0JqWVc0Z2NHRnljMlVnZEdobGJTQm1iM0lnZFhNdVhHNGdJQ0FnTHk4Z1NXNXNhVzVsSUdacFpXeGtJRzlpYW1WamRITWdZWEpsSUc1dmRDQmpkWEp5Wlc1MGJIa2djM1Z3Y0c5eWRHVmtPeUJwYm14cGJtVWdZWEp5WVhrZ2IySnFaV04wY3lCb1lYWmxJSFJ2SUdKbElHaGhibVJzWldRZ1lua2dkR2hsSUhCaGNuTmxjbHh1SUNBZ0lDOHZJSE5sY0dGeVlYUmxiSGt1WEc0Z0lDQWdiR1YwSUdsdWJHbHVaU0E5SUZCU1NVMUpWRWxXUlZNdWFXNXNhVzVsUm1sbGJHUXVjR0Z5YzJVb2RtRnNkV1VwTzF4dUlDQWdJR2xtSUNocGJteHBibVV1YzNSaGRIVnpLU0J5WlhSMWNtNGdhVzVzYVc1bExuWmhiSFZsTzF4dUlDQWdJR1ZzYzJVZ2NtVjBkWEp1SUhaaGJIVmxPMXh1ZlZ4dVhHNHZLaW9nUlhoMGNtRmpkSE1nYVc1c2FXNWxJR1pwWld4a2N5QnZaaUIwYUdVZ1ptOXliU0FuVzJ0bGVUbzZJSFpoYkhWbFhTY2dabkp2YlNCaElHeHBibVVnYjJZZ2RHVjRkQzRnVkdocGN5QnBjeUJrYjI1bElHbHVJR0VnY21Wc1lYUnBkbVZzZVZ4dUlDb2dYQ0p5YjJKMWMzUmNJaUIzWVhrZ2RHOGdZWFp2YVdRZ1ptRnBiR2x1WnlCa2RXVWdkRzhnWW1Ga0lHNWxjM1JwYm1jZ2IzSWdiM1JvWlhJZ2FXNTBaWEptWlhKcGJtY2dUV0Z5YTJSdmQyNGdjM2x0WW05c2N6cGNiaUFxWEc0Z0tpQXRJRXh2YjJzZ1ptOXlJR0Z1ZVNCM2NtRndjR1Z5Y3lBb0oxc25JR0Z1WkNBbktDY3BJR2x1SUhSb1pTQnNhVzVsTENCMGNubHBibWNnZEc4Z2NHRnljMlVnZDJoaGRHVjJaWElnWTI5dFpYTWdZV1owWlhJZ2FYUWdZWE1nWVc0Z2FXNXNhVzVsSUd0bGVUbzZMbHh1SUNvZ0xTQkpaaUJ6ZFdOalpYTnpablZzTENCelkyRnVJSFZ1ZEdsc0lIbHZkU0JtYVc1a0lHRWdiV0YwWTJocGJtY2daVzVrSUdKeVlXTnJaWFFzSUdGdVpDQndZWEp6WlNCM2FHRjBaWFpsY2lCeVpXMWhhVzV6SUdGeklHRnVJR2x1YkdsdVpTQjJZV3gxWlM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1Y0ZEhKaFkzUkpibXhwYm1WR2FXVnNaSE1vYkdsdVpUb2djM1J5YVc1bkxDQnBibU5zZFdSbFZHRnphMFpwWld4a2N6b2dZbTl2YkdWaGJpQTlJR1poYkhObEtUb2dURzlqWVd4SmJteHBibVZHYVdWc1pGdGRJSHRjYmlBZ0lDQnNaWFFnWm1sbGJHUnpPaUJNYjJOaGJFbHViR2x1WlVacFpXeGtXMTBnUFNCYlhUdGNiaUFnSUNCbWIzSWdLR3hsZENCM2NtRndjR1Z5SUc5bUlFOWlhbVZqZEM1clpYbHpLRWxPVEVsT1JWOUdTVVZNUkY5WFVrRlFVRVZTVXlrcElIdGNiaUFnSUNBZ0lDQWdiR1YwSUdadmRXNWtTVzVrWlhnZ1BTQnNhVzVsTG1sdVpHVjRUMllvZDNKaGNIQmxjaWs3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2htYjNWdVpFbHVaR1Y0SUQ0OUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHeGxkQ0J3WVhKelpXUkdhV1ZzWkNBOUlHWnBibVJUY0dWamFXWnBZMGx1YkdsdVpVWnBaV3hrS0d4cGJtVXNJR1p2ZFc1a1NXNWtaWGdwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NGd1lYSnpaV1JHYVdWc1pDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1p2ZFc1a1NXNWtaWGdnUFNCc2FXNWxMbWx1WkdWNFQyWW9kM0poY0hCbGNpd2dabTkxYm1SSmJtUmxlQ0FySURFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JtYVdWc1pITXVjSFZ6YUNod1lYSnpaV1JHYVdWc1pDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzVnVaRWx1WkdWNElEMGdiR2x1WlM1cGJtUmxlRTltS0hkeVlYQndaWElzSUhCaGNuTmxaRVpwWld4a0xtVnVaQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2FXNWpiSFZrWlZSaGMydEdhV1ZzWkhNcElHWnBaV3hrY3lBOUlHWnBaV3hrY3k1amIyNWpZWFFvWlhoMGNtRmpkRk53WldOcFlXeFVZWE5yUm1sbGJHUnpLR3hwYm1VcEtUdGNibHh1SUNBZ0lHWnBaV3hrY3k1emIzSjBLQ2hoTENCaUtTQTlQaUJoTG5OMFlYSjBJQzBnWWk1emRHRnlkQ2s3WEc1Y2JpQWdJQ0JzWlhRZ1ptbHNkR1Z5WldSR2FXVnNaSE02SUV4dlkyRnNTVzVzYVc1bFJtbGxiR1JiWFNBOUlGdGRPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dabWxsYkdSekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHBJRDA5SURBZ2ZId2dabWxzZEdWeVpXUkdhV1ZzWkhOYlptbHNkR1Z5WldSR2FXVnNaSE11YkdWdVozUm9JQzBnTVYwdVpXNWtJRHdnWm1sbGJHUnpXMmxkTG5OMFlYSjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1hV3gwWlhKbFpFWnBaV3hrY3k1d2RYTm9LR1pwWld4a2MxdHBYU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHWnBiSFJsY21Wa1JtbGxiR1J6TzF4dWZWeHVYRzR2S2lvZ1ZtRnNhV1JoZEdWeklIUm9ZWFFnWVNCeVlYY2dabWxsYkdRZ2JtRnRaU0JvWVhNZ1lTQjJZV3hwWkNCbWIzSnRMaUFxTDF4dVkyOXVjM1FnUmxWTVRGOU1TVTVGWDB0RldWOVFRVkpVT2lCUUxsQmhjbk5sY2p4emRISnBibWMrSUQwZ1VDNWhiSFFvWEc0Z0lDQWdVQzV5WldkbGVIQW9ibVYzSUZKbFowVjRjQ2hsYlc5cWFWSmxaMlY0S0Nrc0lGd2lkVndpS1Nrc1hHNGdJQ0FnVUM1eVpXZGxlSEFvTDFzd0xUbGNYSEI3VEdWMGRHVnlmVnhjZDF4Y2MxOHZMVjByTDNVcFhHNHBYRzRnSUNBZ0xtMWhibmtvS1Z4dUlDQWdJQzV0WVhBb0tIQmhjblJ6S1NBOVBpQndZWEowY3k1cWIybHVLRndpWENJcEtUdGNibHh1WTI5dWMzUWdSbFZNVEY5TVNVNUZYMHRGV1Y5UVFWSlRSVkk2SUZBdVVHRnljMlZ5UEhOMGNtbHVaejRnUFNCUUxuSmxaMlY0Y0NndlcxNHdMVGxjWEhkY1hIQjdUR1YwZEdWeWZWMHFMM1VwWEc0Z0lDQWdMblJvWlc0b1JsVk1URjlNU1U1RlgwdEZXVjlRUVZKVUtWeHVJQ0FnSUM1emEybHdLRkF1Y21WblpYaHdLQzliWDF4Y0tuNWdYU292ZFNrcE8xeHVYRzR2S2lvZ1FYUjBaVzF3ZENCMGJ5QmxlSFJ5WVdOMElHRWdablZzYkMxc2FXNWxJR1pwWld4a0lDaExaWGs2T2lCV1lXeDFaU0JqYjI1emRXMXBibWNnZEdobElHVnVkR2x5WlNCamIyNTBaVzUwSUd4cGJtVXBMaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWNGRISmhZM1JHZFd4c1RHbHVaVVpwWld4a0tIUmxlSFE2SUhOMGNtbHVaeWs2SUV4dlkyRnNTVzVzYVc1bFJtbGxiR1FnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUd4bGRDQnpaWEFnUFNCbWFXNWtVMlZ3WVhKaGRHOXlLSFJsZUhRc0lEQXBPMXh1SUNBZ0lHbG1JQ2doYzJWd0tTQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVYRzRnSUNBZ0x5OGdWMlVnYm1WbFpDQjBieUJ3YjNOMExYQnliMk5sYzNNZ2RHaGxJR3RsZVNCMGJ5QmtjbTl3SUhWdWJtVmpaWE56WVhKNUlHOXdaVzVwYm1jZ1lXNXViM1JoZEdsdmJuTWdZWE1nZDJWc2JDQmhjMXh1SUNBZ0lDOHZJR1J5YjNBZ2MzVnljbTkxYm1ScGJtY2dUV0Z5YTJSdmQyNHVYRzRnSUNBZ2JHVjBJSEpsWVd4TFpYa2dQU0JHVlV4TVgweEpUa1ZmUzBWWlgxQkJVbE5GVWk1d1lYSnpaU2h6WlhBdWEyVjVLVHRjYmlBZ0lDQnBaaUFvSVhKbFlXeExaWGt1YzNSaGRIVnpLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdhMlY1T2lCeVpXRnNTMlY1TG5aaGJIVmxMRnh1SUNBZ0lDQWdJQ0IyWVd4MVpUb2dkR1Y0ZEM1emRXSnpkSEpwYm1jb2MyVndMblpoYkhWbFNXNWtaWGdwTG5SeWFXMG9LU3hjYmlBZ0lDQWdJQ0FnYzNSaGNuUTZJREFzWEc0Z0lDQWdJQ0FnSUhOMFlYSjBWbUZzZFdVNklITmxjQzUyWVd4MVpVbHVaR1Y0TEZ4dUlDQWdJQ0FnSUNCbGJtUTZJSFJsZUhRdWJHVnVaM1JvTEZ4dUlDQWdJSDA3WEc1OVhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCRFVrVkJWRVZFWDBSQlZFVmZVa1ZIUlZnZ1BTQXZYRngxZXpJM09UVjlYRnh6S2loY1hHUjdOSDB0WEZ4a2V6SjlMVnhjWkhzeWZTa3ZkVHRjYm1WNGNHOXlkQ0JqYjI1emRDQkVWVVZmUkVGVVJWOVNSVWRGV0NBOUlDOG9QenBjWEhWN01VWTBRelY5ZkZ4Y2RYc3hSalJETm4xOFhGeDFlekZHTlVRemZWeGNkWHRHUlRCR2ZUOHBYRnh6S2loY1hHUjdOSDB0WEZ4a2V6SjlMVnhjWkhzeWZTa3ZkVHRjYm1WNGNHOXlkQ0JqYjI1emRDQkVUMDVGWDBSQlZFVmZVa1ZIUlZnZ1BTQXZYRngxZXpJM01EVjlYRnh6S2loY1hHUjdOSDB0WEZ4a2V6SjlMVnhjWkhzeWZTa3ZkVHRjYm1WNGNHOXlkQ0JqYjI1emRDQlRRMGhGUkZWTVJVUmZSRUZVUlY5U1JVZEZXQ0E5SUM5YlhGeDFlekl6UmpOOVhGeDFlekl6TVVKOVhWeGNjeW9vWEZ4a2V6UjlMVnhjWkhzeWZTMWNYR1I3TW4wcEwzVTdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UxUkJVbFJmUkVGVVJWOVNSVWRGV0NBOUlDOWNYSFY3TVVZMlJVSjlYRnh6S2loY1hHUjdOSDB0WEZ4a2V6SjlMVnhjWkhzeWZTa3ZkVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRVZOVDBwSlgxSkZSMFZZUlZNZ1BTQmJYRzRnSUNBZ2V5QnlaV2RsZURvZ1ExSkZRVlJGUkY5RVFWUkZYMUpGUjBWWUxDQnJaWGs2SUZ3aVkzSmxZWFJsWkZ3aUlIMHNYRzRnSUNBZ2V5QnlaV2RsZURvZ1UxUkJVbFJmUkVGVVJWOVNSVWRGV0N3Z2EyVjVPaUJjSW5OMFlYSjBYQ0lnZlN4Y2JpQWdJQ0I3SUhKbFoyVjRPaUJUUTBoRlJGVk1SVVJmUkVGVVJWOVNSVWRGV0N3Z2EyVjVPaUJjSW5OamFHVmtkV3hsWkZ3aUlIMHNYRzRnSUNBZ2V5QnlaV2RsZURvZ1JGVkZYMFJCVkVWZlVrVkhSVmdzSUd0bGVUb2dYQ0prZFdWY0lpQjlMRnh1SUNBZ0lIc2djbVZuWlhnNklFUlBUa1ZmUkVGVVJWOVNSVWRGV0N3Z2EyVjVPaUJjSW1OdmJYQnNaWFJwYjI1Y0lpQjlMRnh1WFR0Y2JseHVMeW9xSUZCaGNuTmxJSE53WldOcFlXd2dZMjl0Y0d4bGRHVmtMMlIxWlM5a2IyNWxJSFJoYzJzZ1ptbGxiR1J6SUhkb2FXTm9JR0Z5WlNCdFlYSnJaV1FnZG1saElHVnRiMnBwTGlBcUwxeHVablZ1WTNScGIyNGdaWGgwY21GamRGTndaV05wWVd4VVlYTnJSbWxsYkdSektHeHBibVU2SUhOMGNtbHVaeWs2SUV4dlkyRnNTVzVzYVc1bFJtbGxiR1JiWFNCN1hHNGdJQ0FnYkdWMElISmxjM1ZzZEhNNklFeHZZMkZzU1c1c2FXNWxSbWxsYkdSYlhTQTlJRnRkTzF4dVhHNGdJQ0FnWm05eUlDaHNaWFFnZXlCeVpXZGxlQ3dnYTJWNUlIMGdiMllnUlUxUFNrbGZVa1ZIUlZoRlV5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRZWFJqYUNBOUlISmxaMlY0TG1WNFpXTW9iR2x1WlNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doYldGMFkyZ3BJR052Ym5ScGJuVmxPMXh1WEc0Z0lDQWdJQ0FnSUhKbGMzVnNkSE11Y0hWemFDaDdYRzRnSUNBZ0lDQWdJQ0FnSUNCclpYa3NYRzRnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaVG9nYldGMFkyaGJNVjBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkR0Z5ZERvZ2JXRjBZMmd1YVc1a1pYZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNCemRHRnlkRlpoYkhWbE9pQnRZWFJqYUM1cGJtUmxlQ0FySURFc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYm1RNklHMWhkR05vTG1sdVpHVjRJQ3NnYldGMFkyaGJNRjB1YkdWdVozUm9MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2QzSmhjSEJwYm1jNklGd2laVzF2YW1rdGMyaHZjblJvWVc1a1hDSXNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhSek8xeHVmVnh1WEc0dktpb2dVMlYwY3lCdmNpQnlaWEJzWVdObGN5QjBhR1VnZG1Gc2RXVWdiMllnWVc0Z2FXNXNhVzVsSUdacFpXeGtPeUJwWmlCMGFHVWdkbUZzZFdVZ2FYTWdKM1Z1WkdWbWFXNWxaQ2NzSUdSbGJHVjBaWE1nZEdobElHdGxlUzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCelpYUkpibXhwYm1WR2FXVnNaQ2h6YjNWeVkyVTZJSE4wY21sdVp5d2dhMlY1T2lCemRISnBibWNzSUhaaGJIVmxQem9nYzNSeWFXNW5LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQnNaWFFnWlhocGMzUnBibWNnUFNCbGVIUnlZV04wU1c1c2FXNWxSbWxsYkdSektITnZkWEpqWlNrN1hHNGdJQ0FnYkdWMElHVjRhWE4wYVc1blMyVjVjeUE5SUdWNGFYTjBhVzVuTG1acGJIUmxjaWdvWmlrZ1BUNGdaaTVyWlhrZ1BUMGdhMlY1S1R0Y2JseHVJQ0FnSUM4dklFUnZiaWQwSUdSdklHRnVlWFJvYVc1bklHbG1JSFJvWlhKbElHRnlaU0JrZFhCc2FXTmhkR1VnYTJWNWN5QlBVaUIwYUdVZ2EyVjVJR0ZzY21WaFpIa2daRzlsYzI0bmRDQmxlR2x6ZEM1Y2JpQWdJQ0JwWmlBb1pYaHBjM1JwYm1kTFpYbHpMbXhsYm1kMGFDQStJRElnZkh3Z0tHVjRhWE4wYVc1blMyVjVjeTVzWlc1bmRHZ2dQVDBnTUNBbUppQWhkbUZzZFdVcEtTQnlaWFIxY200Z2MyOTFjbU5sTzF4dUlDQWdJR3hsZENCbGVHbHpkR2x1WjB0bGVTQTlJR1Y0YVhOMGFXNW5TMlY1YzFzd1hUdGNibHh1SUNBZ0lHeGxkQ0JoYm01dmRHRjBhVzl1SUQwZ2RtRnNkV1VnUHlCZ1d5UjdhMlY1ZlRvNklDUjdkbUZzZFdWOVhXQWdPaUJjSWx3aU8xeHVJQ0FnSUdsbUlDaGxlR2x6ZEdsdVowdGxlU2tnZTF4dUlDQWdJQ0FnSUNCc1pYUWdjSEpsWm1sNElEMGdjMjkxY21ObExuTjFZbk4wY21sdVp5Z3dMQ0JsZUdsemRHbHVaMHRsZVM1emRHRnlkQ2s3WEc0Z0lDQWdJQ0FnSUd4bGRDQnpkV1ptYVhnZ1BTQnpiM1Z5WTJVdWMzVmljM1J5YVc1bktHVjRhWE4wYVc1blMyVjVMbVZ1WkNrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0dGdWJtOTBZWFJwYjI0cElISmxkSFZ5YmlCZ0pIdHdjbVZtYVhoOUpIdGhibTV2ZEdGMGFXOXVmU1I3YzNWbVptbDRmV0E3WEc0Z0lDQWdJQ0FnSUdWc2MyVWdjbVYwZFhKdUlHQWtlM0J5WldacGVIMGtlM04xWm1acGVDNTBjbWx0VTNSaGNuUW9LWDFnTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWVc1dWIzUmhkR2x2YmlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1lDUjdjMjkxY21ObExuUnlhVzFGYm1Rb0tYMGdKSHRoYm01dmRHRjBhVzl1ZldBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE52ZFhKalpUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhObGRFVnRiMnBwVTJodmNuUm9ZVzVrUTI5dGNHeGxkR2x2YmtacFpXeGtLSE52ZFhKalpUb2djM1J5YVc1bkxDQjJZV3gxWlQ4NklITjBjbWx1WnlrNklITjBjbWx1WnlCN1hHNGdJQ0FnWTI5dWMzUWdaWGhwYzNScGJtY2dQU0JsZUhSeVlXTjBTVzVzYVc1bFJtbGxiR1J6S0hOdmRYSmpaU3dnZEhKMVpTazdYRzRnSUNBZ1kyOXVjM1FnWlhocGMzUnBibWRMWlhseklEMGdaWGhwYzNScGJtY3VabWxzZEdWeUtDaG1LU0E5UGlCbUxtdGxlU0E5UFQwZ1hDSmpiMjF3YkdWMGFXOXVYQ0lnSmlZZ1ppNTNjbUZ3Y0dsdVp5QTlQVDBnWENKbGJXOXFhUzF6YUc5eWRHaGhibVJjSWlrN1hHNWNiaUFnSUNBdkx5QkViMjRuZENCa2J5QmhibmwwYUdsdVp5QnBaaUIwYUdWeVpTQmhjbVVnWkhWd2JHbGpZWFJsSUd0bGVYTWdUMUlnZEdobElHdGxlU0JoYkhKbFlXUjVJR1J2WlhOdUozUWdaWGhwYzNRdVhHNGdJQ0FnYVdZZ0tHVjRhWE4wYVc1blMyVjVjeTVzWlc1bmRHZ2dQaUF5SUh4OElDaGxlR2x6ZEdsdVowdGxlWE11YkdWdVozUm9JRDA5SURBZ0ppWWdJWFpoYkhWbEtTa2djbVYwZFhKdUlITnZkWEpqWlR0Y2JseHVJQ0FnSUM4cUlFNXZJSGR5WVhCd1pYSXNJR0ZrWkNCdmQyNGdjM0JoWTJsdVp5QmhkQ0J6ZEdGeWRDQXFMMXh1SUNBZ0lHTnZibk4wSUdGdWJtOTBZWFJwYjI0Z1BTQjJZV3gxWlNBL0lHQWdYSFV5TnpBMUlDUjdkbUZzZFdWOVlDQTZJRndpWENJN1hHNGdJQ0FnYkdWMElHVjRhWE4wYVc1blMyVjVJRDBnWlhocGMzUnBibWRMWlhseld6QmRPMXh1SUNBZ0lHbG1JQ2hsZUdsemRHbHVaMHRsZVNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd2NtVm1hWGdnUFNCemIzVnlZMlV1YzNWaWMzUnlhVzVuS0RBc0lHVjRhWE4wYVc1blMyVjVMbk4wWVhKMEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MzVm1abWw0SUQwZ2MyOTFjbU5sTG5OMVluTjBjbWx1WnlobGVHbHpkR2x1WjB0bGVTNWxibVFwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWUNSN2NISmxabWw0TG5SeWFXMUZibVFvS1gwa2UyRnVibTkwWVhScGIyNTlKSHR6ZFdabWFYaDlZRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1lDUjdjMjkxY21ObExuUnlhVzFGYm1Rb0tYMGtlMkZ1Ym05MFlYUnBiMjU5WUR0Y2JpQWdJQ0I5WEc1OVhHNGlMQ0FpTHlvcUlFMWhjQ0IwYUdVZ2RtRnNkV1Z6SUc5bUlHRnVJRzlpYW1WamRDd2djbVYwZFhKdWFXNW5JR0VnYm1WM0lHOWlhbVZqZEM0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZWEJQWW1wbFkzUldZV3gxWlhNOFZpd2dWVDRvYjJKcVpXTjBPaUJTWldOdmNtUThjM1J5YVc1bkxDQldQaXdnWm5WdVl6b2dLSGc2SUZZcElEMCtJRlVwT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JWUGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVZ6ZFd4ME9pQlNaV052Y21ROGMzUnlhVzVuTENCVlBpQTlJSHQ5TzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnVzJ0bGVTd2dkbUZzZFdWZElHOW1JRTlpYW1WamRDNWxiblJ5YVdWektHOWlhbVZqZENrcElIdGNiaUFnSUNBZ0lDQWdjbVZ6ZFd4MFcydGxlVjBnUFNCbWRXNWpLSFpoYkhWbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dUlpd2dJbWx0Y0c5eWRDQjdJRXhwYm1zc0lFcHpiMjVNYVc1cklIMGdabkp2YlNCY0ltVjRjSEpsYzNOcGIyNHZiR2x1YTF3aU8xeHVhVzF3YjNKMElIc2dUR2wwWlhKaGJDd2dUR2wwWlhKaGJITWdmU0JtY205dElGd2laWGh3Y21WemMybHZiaTlzYVhSbGNtRnNYQ0k3WEc1cGJYQnZjblFnZXlCRVlYUmxWR2x0WlN3Z1JIVnlZWFJwYjI0Z2ZTQm1jbTl0SUZ3aWJIVjRiMjVjSWp0Y2JtbHRjRzl5ZENCN0lHMWhjRTlpYW1WamRGWmhiSFZsY3lCOUlHWnliMjBnWENKMWRHbHNjeTlrWVhSaFhDSTdYRzVjYmk4cUtpQktVMDlPTFhObGNtbGhiR2w2WldRZ1pYRjFhWFpoYkdWdWRITWdabTl5SUd4cGRHVnlZV3h6TGlBcUwxeHVaWGh3YjNKMElIUjVjR1VnU25OdmJreHBkR1Z5WVd3Z1BWeHVJQ0FnSUh3Z1ltOXZiR1ZoYmx4dUlDQWdJSHdnYm5WdFltVnlYRzRnSUNBZ2ZDQnpkSEpwYm1kY2JpQWdJQ0I4SUhzZ0pGOTBlWEJsT2lCY0ltUmhkR1ZjSWpzZ2RtRnNkV1U2SUhOMGNtbHVaeUI5WEc0Z0lDQWdmQ0I3SUNSZmRIbHdaVG9nWENKa2RYSmhkR2x2Ymx3aU95QjJZV3gxWlRvZ2MzUnlhVzVuSUgxY2JpQWdJQ0I4SUhzZ0pGOTBlWEJsT2lCY0lteHBibXRjSWpzZ2RtRnNkV1U2SUVwemIyNU1hVzVySUgxY2JpQWdJQ0I4SUVGeWNtRjVQRXB6YjI1TWFYUmxjbUZzUGx4dUlDQWdJSHdnVW1WamIzSmtQSE4wY21sdVp5d2dZVzU1UGx4dUlDQWdJSHdnYm5Wc2JEdGNibHh1Wlhod2IzSjBJRzVoYldWemNHRmpaU0JLYzI5dVEyOXVkbVZ5YzJsdmJpQjdYRzRnSUNBZ1pYaHdiM0owSUdOdmJuTjBJRTVQVDFCZlRrOVNUVUZNU1ZwRlVqb2dLR2x1Y0hWME9pQk1hWFJsY21Gc0tTQTlQaUJNYVhSbGNtRnNJRDBnS0dsdWNIVjBLU0E5UGlCcGJuQjFkRHRjYmx4dUlDQWdJQzhxS2lCRGIyNTJaWEowSUdFZ2JHbDBaWEpoYkNCMllXeDFaU0IwYnlCaElITmhabVVzSUhCbGNuTnBjM1JsYm5RZ1NsTlBUaUJsY1hWcGRtRnNaVzUwTGlBcUwxeHVJQ0FnSUdWNGNHOXlkQ0JtZFc1amRHbHZiaUJxYzI5dUtHeHBkR1Z5WVd3NklFeHBkR1Z5WVd3cE9pQktjMjl1VEdsMFpYSmhiQ0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSGR5WVhCd1pXUWdQU0JNYVhSbGNtRnNjeTUzY21Gd1ZtRnNkV1VvYkdsMFpYSmhiQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkM0poY0hCbFpDa2djbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUNBZ2MzZHBkR05vSUNoM2NtRndjR1ZrUHk1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aVlYSnlZWGxjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNIQmxaQzUyWVd4MVpTNXRZWEFvU25OdmJrTnZiblpsY25OcGIyNHVhbk52YmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liMkpxWldOMFhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHMWhjRTlpYW1WamRGWmhiSFZsY3loM2NtRndjR1ZrTG5aaGJIVmxMQ0JLYzI5dVEyOXVkbVZ5YzJsdmJpNXFjMjl1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmtZWFJsWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhzZ0pGOTBlWEJsT2lCY0ltUmhkR1ZjSWl3Z2RtRnNkV1U2SUhkeVlYQndaV1F1ZG1Gc2RXVXVkRzlKVTA4b2V5QmxlSFJsYm1SbFpGcHZibVU2SUhSeWRXVXNJR2x1WTJ4MVpHVlBabVp6WlhRNklIUnlkV1VnZlNrZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVc1clhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIc2dKRjkwZVhCbE9pQmNJbXhwYm10Y0lpd2dkbUZzZFdVNklIZHlZWEJ3WldRdWRtRnNkV1V1ZEc5UFltcGxZM1FvS1NCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVIxY21GMGFXOXVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnSkY5MGVYQmxPaUJjSW1SMWNtRjBhVzl1WENJc0lIWmhiSFZsT2lCM2NtRndjR1ZrTG5aaGJIVmxMblJ2U1ZOUEtDa2dmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKaWIyOXNaV0Z1WENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liblZ0WW1WeVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpYzNSeWFXNW5YQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGR5WVhCd1pXUXVkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2lablZ1WTNScGIyNWNJanBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKdWRXeHNYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRiMjUyWlhKMElHRWdTbE5QVGlCc2FYUmxjbUZzSUhSdklHbDBKM01nWTI5eWNtVnpjRzl1WkdsdVp5Qm9lV1J5WVhSbFpDQjJZV3gxWlN3Z2IzQjBhVzl1WVd4c2VTQmhjSEJzZVdsdVoxeHVJQ0FnSUNBcUlHRWdibTl5YldGc2FYcGhkR2x2YmlCemRHVndJSFJ2SUhSb1pTQnlaWE4xYkhScGJtY2dkbUZzZFdVZ1lXNWtJR0Z1ZVNCc2FYUmxjbUZzY3lCamIyNTBZV2x1WldRZ2QybDBhR2x1SUdsMFhHNGdJQ0FnSUNvZ0tITjFZMmdnWVhNZ2FXWWdkR2hsSUd4cGRHVnlZV3dnYVhNZ1lTQnNhWE4wSUc5eUlHOWlhbVZqZENrdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnWlhod2IzSjBJR1oxYm1OMGFXOXVJSFpoYkhWbEtHcHpiMjQ2SUVwemIyNU1hWFJsY21Gc0xDQnViM0p0WVd4cGVtVnlPaUFvYVc1d2RYUTZJRXhwZEdWeVlXd3BJRDArSUV4cGRHVnlZV3dnUFNCT1QwOVFYMDVQVWsxQlRFbGFSVklwT2lCTWFYUmxjbUZzSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR3B6YjI0Z1BUMDlJRzUxYkd3Z2ZId2dhbk52YmlBOVBUMGdkVzVrWldacGJtVmtLU0J5WlhSMWNtNGdiblZzYkR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHFjMjl1S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzV2Y20xaGJHbDZaWElvYW5OdmJpNXRZWEFvS0dsdWNIVjBLU0E5UGlCS2MyOXVRMjl1ZG1WeWMybHZiaTUyWVd4MVpTaHBibkIxZEN3Z2JtOXliV0ZzYVhwbGNpa3BLVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnYW5OdmJpQTlQVDBnWENKdlltcGxZM1JjSWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRW9YQ0lrWDNSNWNHVmNJaUJwYmlCcWMyOXVLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiV0Z3VDJKcVpXTjBWbUZzZFdWektHcHpiMjRzSUNoMktTQTlQaUJLYzI5dVEyOXVkbVZ5YzJsdmJpNTJZV3gxWlNoMklHRnpJRXB6YjI1TWFYUmxjbUZzTENCdWIzSnRZV3hwZW1WeUtTazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhSNWNHVWdQU0JxYzI5dVcxd2lKRjkwZVhCbFhDSmRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNoMGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVJoZEdWY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzV2Y20xaGJHbDZaWElvUkdGMFpWUnBiV1V1Wm5KdmJVbFRUeWhxYzI5dUxuWmhiSFZsS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW1SMWNtRjBhVzl1WENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnViM0p0WVd4cGVtVnlLRVIxY21GMGFXOXVMbVp5YjIxSlUwOG9hbk52Ymk1MllXeDFaU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdYQ0pzYVc1clhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1YjNKdFlXeHBlbVZ5S0V4cGJtc3Vabkp2YlU5aWFtVmpkQ2hxYzI5dUxuWmhiSFZsS1NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQlZibkpsWTI5bmJtbDZaV1FnYzJWeWFXRnNhWHBsWkNCMGVYQmxJQ2NrZTNSNWNHVjlKeUZnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDOHZJRkJ5YVcxcGRHbDJaU0IwZVhCbExDQnlaWFIxY200Z1lYTWdhWE11WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1YjNKdFlXeHBlbVZ5S0dwemIyNGdZWE1nVEdsMFpYSmhiQ2s3WEc0Z0lDQWdmVnh1ZlZ4dUlpd2dJaThxS2x4dUlDb2dRRzF2WkhWc1pTQnBibVJsZUdGaWJHVnpYRzRnS2k5Y2JpOHFLaUJWZEdsc2FYUnBaWE1nWm05eUlHTnZiblpsY25ScGJtY2diR2wwWlhKaGJDQjBlWEJsY3lCMGJ5QmhibVFnWm5KdmJTQjBhR1ZwY2lCWlFVMU1JR1p5YjI1MGJXRjBkR1Z5SUhKbGNISmxjMlZ1ZEdGMGFXOXVMaUFxTDF4dVhHNXBiWEJ2Y25RZ2V5Qk1hWFJsY21Gc0xDQk1hWFJsY21Gc2N5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMMnhwZEdWeVlXeGNJanRjYm1sdGNHOXlkQ0I3SUZCU1NVMUpWRWxXUlZNZ2ZTQm1jbTl0SUZ3aVpYaHdjbVZ6YzJsdmJpOXdZWEp6WlhKY0lqdGNibWx0Y0c5eWRDQjdJRVJoZEdWVWFXMWxJSDBnWm5KdmJTQmNJbXgxZUc5dVhDSTdYRzVwYlhCdmNuUWdleUJ0WVhCUFltcGxZM1JXWVd4MVpYTWdmU0JtY205dElGd2lkWFJwYkhNdlpHRjBZVndpTzF4dVhHNHZLaW9nV1VGTlRDMW1jbWxsYm1Sc2VTQnlaWEJ5WlhObGJuUmhkR2x2YmlCbWIzSWdZU0JzYVhSbGNtRnNMaUFxTDF4dVpYaHdiM0owSUhSNWNHVWdXV0Z0YkV4cGRHVnlZV3dnUFNCemRISnBibWNnZkNCdWRXMWlaWElnZkNCaWIyOXNaV0Z1SUh3Z2JuVnNiQ0I4SUZKbFkyOXlaRHh6ZEhKcGJtY3NJR0Z1ZVQ0Z2ZDQkJjbkpoZVR4WllXMXNUR2wwWlhKaGJENDdYRzR2S2lwY2JpQXFJRUJwYm5SbGNtNWhiRnh1SUNvdlhHNWxlSEJ2Y25RZ2JtRnRaWE53WVdObElGbGhiV3hEYjI1MlpYSnphVzl1SUh0Y2JpQWdJQ0F2S2lvZ1EyOXVkbVZ5ZENCaElHeHBkR1Z5WVd3Z2FXNTBieUJoSUhsaGJXd2dabkpwWlc1a2JIa2djbVZ3Y21WelpXNTBZWFJwYjI0dUlDb3ZYRzRnSUNBZ1pYaHdiM0owSUdaMWJtTjBhVzl1SUhsaGJXd29kbUZzZFdVNklFeHBkR1Z5WVd3cE9pQlpZVzFzVEdsMFpYSmhiQ0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSGR5WVhCd1pXUWdQU0JNYVhSbGNtRnNjeTUzY21Gd1ZtRnNkV1VvYkdsMFpYSmhiQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkM0poY0hCbFpDa2djbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUNBZ2MzZHBkR05vSUNoM2NtRndjR1ZrTG5SNWNHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnWENKemRISnBibWRjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1hDSmliMjlzWldGdVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpYm5Wc2JGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JjSW01MWJXSmxjbHdpT2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIzY21Gd2NHVmtMblpoYkhWbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbUZ5Y21GNVhDSTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIZHlZWEJ3WldRdWRtRnNkV1V1YldGd0tIbGhiV3dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCY0ltUmhkR1ZjSWpwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZDNKaGNIQmxaQzUyWVd4MVpTNTBiMGxUVHlncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVIxY21GMGFXOXVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSGR5WVhCd1pXUXVkbUZzZFdVdWRHOUlkVzFoYmlncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVoxYm1OMGFXOXVYQ0k2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGd2liR2x1YTF3aU9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCM2NtRndjR1ZrTG5aaGJIVmxMbTFoY210a2IzZHVLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZ3aWIySnFaV04wWENJNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGNFOWlhbVZqZEZaaGJIVmxjeWgzY21Gd2NHVmtMblpoYkhWbExDQjVZVzFzS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtpQlNaV04xY25OcGRtVnNlU0JqYjI1MlpYSjBJR0VnV1VGTlRDQnNhWFJsY21Gc0lHbHVkRzhnWVNCeVpXZDFiR0Z5SUd4cGRHVnlZV3dnZG1Gc2RXVXVJQ292WEc0Z0lDQWdaWGh3YjNKMElHWjFibU4wYVc5dUlHeHBkR1Z5WVd3b2RtRnNkV1U2SUZsaGJXeE1hWFJsY21Gc0tUb2dUR2wwWlhKaGJDQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMllXeDFaU0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUZ3aWIySnFaV04wWENJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0haaGJIVmxLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUd4bGRDQnlaWE4xYkhRZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JqYUdsc1pDQnZaaUIyWVd4MVpTQmhjeUJCY25KaGVUeGhibmsrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNXdkWE5vS0d4cGRHVnlZV3dvWTJocGJHUXBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaDJZV3gxWlNCcGJuTjBZVzVqWlc5bUlFUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdaR0YwWlZCaGNuTmxJRDBnUkdGMFpWUnBiV1V1Wm5KdmJVcFRSR0YwWlNoMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1JoZEdWUVlYSnpaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJRzlpYW1WamRDQTlJSFpoYkhWbElHRnpJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDQ3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkdWMElISmxjM1ZzZERvZ1VtVmpiM0prUEhOMGNtbHVaeXdnVEdsMFpYSmhiRDRnUFNCN2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnJaWGtnYVc0Z2IySnFaV04wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RGdHJaWGxkSUQwZ2JHbDBaWEpoYkNodlltcGxZM1JiYTJWNVhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlGd2liblZ0WW1WeVhDSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUZ3aVltOXZiR1ZoYmx3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElEMDlQU0JjSW5OMGNtbHVaMXdpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ1pHRjBaVkJoY25ObElEMGdVRkpKVFVsVVNWWkZVeTVrWVhSbExuQmhjbk5sS0haaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hrWVhSbFVHRnljMlV1YzNSaGRIVnpLU0J5WlhSMWNtNGdaR0YwWlZCaGNuTmxMblpoYkhWbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pYUWdaSFZ5WVhScGIyNVFZWEp6WlNBOUlGQlNTVTFKVkVsV1JWTXVaSFZ5WVhScGIyNHVjR0Z5YzJVb2RtRnNkV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dSMWNtRjBhVzl1VUdGeWMyVXVjM1JoZEhWektTQnlaWFIxY200Z1pIVnlZWFJwYjI1UVlYSnpaUzUyWVd4MVpUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2JHVjBJR3hwYm10UVlYSnpaU0E5SUZCU1NVMUpWRWxXUlZNdWJHbHVheTV3WVhKelpTaDJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JHbHVhMUJoY25ObExuTjBZWFIxY3lrZ2NtVjBkWEp1SUd4cGJtdFFZWEp6WlM1MllXeDFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdMeThnUW1GamEzVndJR2xtSUhkbElHUnZiaWQwSUhWdVpHVnljM1JoYm1RZ2RHaGxJSFI1Y0dVdVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lIMWNibjFjYmlJc0lDSnBiWEJ2Y25RZ2V5QkdhV3hsVTNSaGRITWdmU0JtY205dElGd2liMkp6YVdScFlXNWNJanRjYm1sdGNHOXlkQ0I3SUdsMFpYSmhkR1ZKYm14cGJtVkdhV1ZzWkhNc0lHMWhjbXRrYjNkdVUyOTFjbU5sU1cxd2IzSjBMQ0JOWlhSaFpHRjBZU3dnVTJWamRHbHZia1JoZEdFZ2ZTQm1jbTl0SUZ3aUxpOXRZWEpyWkc5M2Jsd2lPMXh1YVcxd2IzSjBJSHNnU25OdmJrWnliMjUwYldGMGRHVnlSVzUwY25rZ2ZTQm1jbTl0SUZ3aWFXNWtaWGd2ZEhsd1pYTXZhbk52Ymk5dFlYSnJaRzkzYmx3aU8xeHVhVzF3YjNKMElIdGNiaUFnSUNCRFlXNTJZWE5OWlhSaFpHRjBZVWx1WkdWNExGeHVJQ0FnSUVwemIyNUNZWE5sUTJGdWRtRnpRMkZ5WkN4Y2JpQWdJQ0JLYzI5dVEyRnVkbUZ6TEZ4dUlDQWdJRXB6YjI1RFlXNTJZWE5EWVhKa0xGeHVJQ0FnSUVwemIyNURZVzUyWVhOR2FXeGxRMkZ5WkN4Y2JpQWdJQ0JLYzI5dVEyRnVkbUZ6VkdWNGRFTmhjbVFzWEc0Z0lDQWdTbk52YmtOaGJuWmhjMWRsWWtOaGNtUXNYRzU5SUdaeWIyMGdYQ0pwYm1SbGVDOTBlWEJsY3k5cWMyOXVMMk5oYm5aaGMxd2lPMXh1YVcxd2IzSjBJSHNnUTJGdWRtRnpSbWxzWlVSaGRHRXNJRU5oYm5aaGMweHBibXRFWVhSaExDQkRZVzUyWVhOVVpYaDBSR0YwWVN3Z1EyRnVkbUZ6UkdGMFlTQmhjeUJKUTJGdWRtRnpJSDBnWm5KdmJTQmNJbTlpYzJsa2FXRnVMMk5oYm5aaGMxd2lPMXh1YVcxd2IzSjBJSHNnVEdsdWF5QjlJR1p5YjIwZ1hDSmxlSEJ5WlhOemFXOXVMMnhwYm10Y0lqdGNibHh1THlvcUlFbHRjRzl5ZENCaElHTmhiblpoY3lCbWFXeGxJSFZ6YVc1bklIUm9aU0JqWVc1MllYTWdiV1YwWVdSaGRHRXVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTJGdWRtRnpTVzF3YjNKMEtGeHVJQ0FnSUhCaGRHZzZJSE4wY21sdVp5eGNiaUFnSUNCemIzVnlZMlU2SUhOMGNtbHVaeXhjYmlBZ0lDQnBibVJsZURvZ1EyRnVkbUZ6VFdWMFlXUmhkR0ZKYm1SbGVGdGNJbk4wY21sdVoxd2lYU3hjYmlBZ0lDQnpkR0YwY3pvZ1JtbHNaVk4wWVhSelhHNHBPaUJLYzI5dVEyRnVkbUZ6SUh0Y2JpQWdJQ0JqYjI1emRDQmpZVzUyWVhNZ1BTQnVaWGNnUTJGdWRtRnpSR0YwWVNod1lYUm9MQ0J6ZEdGMGN5azdYRzRnSUNBZ1kyOXVjM1FnY0dGeWMyVmtJRDBnU2xOUFRpNXdZWEp6WlNoemIzVnlZMlVwSUdGeklFbERZVzUyWVhNN1hHNWNiaUFnSUNCbWIzSWdLR052Ym5OMElHTWdiMllnY0dGeWMyVmtMbTV2WkdWektTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoakxuUjVjR1VnUFQwZ1hDSm5jbTkxY0Z3aUtTQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdhV1lnS0dNdWRIbHdaU0E5UFNCY0luUmxlSFJjSWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdleUJtY205dWRHMWhkSFJsY2l3Z2JXVjBZV1JoZEdFc0lHeHBibVZ6TENCelpXTjBhVzl1Y3lCOUlEMGdiV0Z5YTJSdmQyNVRiM1Z5WTJWSmJYQnZjblFvY0dGMGFDd2dZeTUwWlhoMExDQnBibVJsZUM1allXTm9aWE5iWXk1cFpGMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWTJGeVpDQTlJRzVsZHlCRFlXNTJZWE5EWVhKa1JHRjBZU2h3WVhSb0xDQmpMbWxrTENCakxDQm1jbTl1ZEcxaGRIUmxjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaV04wYVc5dWN5NW1iM0pGWVdOb0tDaHBLU0E5UGlCallYSmtMbk5sWTNScGIyNG9hU2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ1ZG1GekxtTmhjbVFvWTJGeVpDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElIUmhaeUJwYmlCdFpYUmhaR0YwWVM1MFlXZHpLU0JqWVc1MllYTXViV1YwWVdSaGRHRXVkR0ZuS0hSaFp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElHeHBibXNnYjJZZ2JXVjBZV1JoZEdFdWJHbHVhM01nUHo4Z1cxMHBJR05oYm5aaGN5NXRaWFJoWkdGMFlTNXNhVzVyS0d4cGJtc3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQm1hV1ZzWkNCdlppQnBkR1Z5WVhSbFNXNXNhVzVsUm1sbGJHUnpLR3hwYm1WektTa2dZMkZ1ZG1GekxtMWxkR0ZrWVhSaExtbHViR2x1WlVacFpXeGtLR1pwWld4a0tUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05oY21RZ1BTQnVaWGNnUTJGdWRtRnpRMkZ5WkVSaGRHRW9jR0YwYUN3Z1l5NXBaQ3dnWXlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVc1MllYTXVZMkZ5WkNoallYSmtLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQmpZVzUyWVhNdVluVnBiR1FvS1R0Y2JuMWNibHh1THlvcUlFMWxkR0ZrWVhSaElHWnZjaUJoSUhOd1pXTnBabWxqSUdOaGJuWmhjeUJqWVhKa0xpQXFMMXh1WVdKemRISmhZM1FnWTJ4aGMzTWdRV0p6ZEhKaFkzUkRZVzUyWVhORFlYSmtSR0YwWVNCN1hHNGdJQ0FnY0hWaWJHbGpJRzFsZEdGa1lYUmhPaUJOWlhSaFpHRjBZU0E5SUc1bGR5Qk5aWFJoWkdGMFlTZ3BPMXh1WEc0Z0lDQWdjSFZpYkdsaklHTnZibk4wY25WamRHOXlLRnh1SUNBZ0lDQWdJQ0J3ZFdKc2FXTWdjR0YwYURvZ2MzUnlhVzVuTEZ4dUlDQWdJQ0FnSUNCd2RXSnNhV01nYVdRNklITjBjbWx1Wnl4Y2JpQWdJQ0FnSUNBZ2NISnZkR1ZqZEdWa0lHNXZaR1ZLYzI5dU9pQkRZVzUyWVhOVVpYaDBSR0YwWVNCOElFTmhiblpoYzB4cGJtdEVZWFJoSUh3Z1EyRnVkbUZ6Um1sc1pVUmhkR0ZjYmlBZ0lDQXBJSHQ5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZblZwYkdRb0tUb2dTbk52YmtKaGMyVkRZVzUyWVhORFlYSmtJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDUm1hV3hsT2lCMGFHbHpMbkJoZEdnc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYVdRNklIUm9hWE11YVdRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrY0c5emFYUnBiMjQ2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNE9pQjBhR2x6TG01dlpHVktjMjl1TG5nc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VUb2dkR2hwY3k1dWIyUmxTbk52Ymk1NUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1JrYVcxbGJuTnBiMjV6T2lCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QybGtkR2c2SUhSb2FYTXVibTlrWlVwemIyNHVkMmxrZEdnc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FHVnBaMmgwT2lCMGFHbHpMbTV2WkdWS2MyOXVMbWhsYVdkb2RDeGNiaUFnSUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrWTI5c2IzSTZJSFJvYVhNdWJtOWtaVXB6YjI0dVkyOXNiM0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtiR2x1YXpvZ1RHbHVheTVtYVd4bEtIUm9hWE11Y0dGMGFDa3VkMmwwYUVKc2IyTnJLSFJvYVhNdWFXUXBMblJ2VDJKcVpXTjBLQ2tzWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dWZWeHVYRzR2S2lvZ1RXVjBZV1JoZEdFZ1ptOXlJR0VnYzNCbFkybG1hV01nWTJGeVpDQnBiaUJoSUdOaGJuWmhjeUIyYVdWM0xpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFTmhiblpoYzBOaGNtUkVZWFJoSUdWNGRHVnVaSE1nUVdKemRISmhZM1JEWVc1MllYTkRZWEprUkdGMFlTQjdYRzRnSUNBZ2NIVmliR2xqSUhObFkzUnBiMjV6T2lCVFpXTjBhVzl1UkdGMFlWdGRJRDBnVzEwN1hHNGdJQ0FnY0hWaWJHbGpJR052Ym5OMGNuVmpkRzl5S0Z4dUlDQWdJQ0FnSUNCd2RXSnNhV01nY0dGMGFEb2djM1J5YVc1bkxGeHVJQ0FnSUNBZ0lDQndkV0pzYVdNZ2FXUTZJSE4wY21sdVp5eGNiaUFnSUNBZ0lDQWdjSEp2ZEdWamRHVmtJRzV2WkdWS2MyOXVPaUJEWVc1MllYTlVaWGgwUkdGMFlTQjhJRU5oYm5aaGMweHBibXRFWVhSaElId2dRMkZ1ZG1GelJtbHNaVVJoZEdFc1hHNGdJQ0FnSUNBZ0lIQjFZbXhwWXlCbWNtOXVkRzFoZEhSbGNqODZJRkpsWTI5eVpEeHpkSEpwYm1jc0lFcHpiMjVHY205dWRHMWhkSFJsY2tWdWRISjVQbHh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdJQ0J6ZFhCbGNpaHdZWFJvTENCcFpDd2dibTlrWlVwemIyNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIQjFZbXhwWXlCelpXTjBhVzl1S0hObFkzUnBiMjQ2SUZObFkzUnBiMjVFWVhSaEtUb2dVMlZqZEdsdmJrUmhkR0VnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbk5sWTNScGIyNXpMbkIxYzJnb2MyVmpkR2x2YmlrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCelpXTjBhVzl1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEIxWW14cFl5QmlkV2xzWkNncE9pQktjMjl1UTJGdWRtRnpRMkZ5WkNCN1hHNGdJQ0FnSUNBZ0lITjNhWFJqYUNBb2RHaHBjeTV1YjJSbFNuTnZiaTUwZVhCbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRndpZEdWNGRGd2lPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM0dUxpaHpkWEJsY2k1aWRXbHNaQ2dwSUdGeklFcHpiMjVDWVhObFEyRnVkbUZ6UTJGeVpDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNScGJtWnBaV3hrY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaEpibXhwYm1WR2FXVnNaSE1vS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKR1p5YjI1MGJXRjBkR1Z5T2lCMGFHbHpMbVp5YjI1MGJXRjBkR1Z5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWtjMlZqZEdsdmJuTTZJSFJvYVhNdWMyVmpkR2x2Ym5NdWJXRndLQ2g0S1NBOVBpQjRMbUoxYVd4a0tDa3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBa2RHRm5jem9nZEdocGN5NXRaWFJoWkdGMFlTNW1hVzVwYzJoVVlXZHpLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDUnNhVzVyY3pvZ2RHaHBjeTV0WlhSaFpHRjBZUzVtYVc1cGMyaE1hVzVyY3lncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FrZEhsd1pUb2dYQ0owWlhoMExXTmhjbVJjSWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKR052Ykc5eU9pQjBhR2x6TG01dlpHVktjMjl1TG1OdmJHOXlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBnWVhNZ1NuTnZia05oYm5aaGMxUmxlSFJEWVhKa08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbVpwYkdWY0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1TGk1emRYQmxjaTVpZFdsc1pDZ3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBa2JHbHVhMlZrUm1sc1pUb2dkR2hwY3k1dWIyUmxTbk52Ymk1bWFXeGxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBnWVhNZ1NuTnZia05oYm5aaGMwWnBiR1ZEWVhKa08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQmNJbXhwYm10Y0lqcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1TGk1emRYQmxjaTVpZFdsc1pDZ3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBa2RYSnNPaUIwYUdsekxtNXZaR1ZLYzI5dUxuVnliQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5SUdGeklFcHpiMjVEWVc1MllYTlhaV0pEWVhKa08xeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NtVjBkWEp1SUc1bGQxeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVmVnh1WEc0dktpb2dUV1YwWVdSaGRHRWdabTl5SUhSb1pTQjNhRzlzWlNCallXNTJZWE1nY0dGblpTQmhjeUJoSUhkb2IyeGxMaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRU5oYm5aaGMwUmhkR0VnZTF4dUlDQWdJSEIxWW14cFl5QmpZWEprY3pvZ1EyRnVkbUZ6UTJGeVpFUmhkR0ZiWFNBOUlGdGRPMXh1SUNBZ0lIQjFZbXhwWXlCdFpYUmhaR0YwWVRvZ1RXVjBZV1JoZEdFZ1BTQnVaWGNnVFdWMFlXUmhkR0VvS1R0Y2JseHVJQ0FnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2lod2RXSnNhV01nY0dGMGFEb2djM1J5YVc1bkxDQndkV0pzYVdNZ2MzUmhkSE02SUVacGJHVlRkR0YwY3lrZ2UzMWNibHh1SUNBZ0lIQjFZbXhwWXlCallYSmtLR1E2SUVOaGJuWmhjME5oY21SRVlYUmhLVG9nUTJGdWRtRnpRMkZ5WkVSaGRHRWdlMXh1SUNBZ0lDQWdJQ0IwYUdsekxtTmhjbVJ6TG5CMWMyZ29aQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEIxWW14cFl5QmlkV2xzWkNncE9pQktjMjl1UTJGdWRtRnpJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDUmpZWEprY3pvZ2RHaHBjeTVqWVhKa2N5NXRZWEFvS0hncElEMCtJSGd1WW5WcGJHUW9LU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWtZM1JwYldVNklIUm9hWE11YzNSaGRITXVZM1JwYldVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYlhScGJXVTZJSFJvYVhNdWMzUmhkSE11YlhScGJXVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBa2FXNW1hV1ZzWkhNNklIUm9hWE11YldWMFlXUmhkR0V1Wm1sdWFYTm9TVzVzYVc1bFJtbGxiR1J6S0Nrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FrYkdsdWEzTTZJSFJvYVhNdWJXVjBZV1JoZEdFdVptbHVhWE5vVEdsdWEzTW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDUjBZV2R6T2lCMGFHbHpMbTFsZEdGa1lYUmhMbVpwYm1semFGUmhaM01vS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ1J3WVhSb09pQjBhR2x6TG5CaGRHZ3NYRzRnSUNBZ0lDQWdJQ0FnSUNBa2MybDZaVG9nZEdocGN5NXpkR0YwY3k1emFYcGxMRnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYm4xY2JpSXNJQ0pwYlhCdmNuUWdleUJqWVc1MllYTkpiWEJ2Y25RZ2ZTQm1jbTl0SUZ3aWFXNWtaWGd2YVcxd2IzSjBMMk5oYm5aaGMxd2lPMXh1YVcxd2IzSjBJSHNnYldGeWEyUnZkMjVKYlhCdmNuUWdmU0JtY205dElGd2lhVzVrWlhndmFXMXdiM0owTDIxaGNtdGtiM2R1WENJN1hHNXBiWEJ2Y25RZ2V5QkRZVzUyWVhOSmJYQnZjblJTWlhOMWJIUXNJRWx0Y0c5eWRFTnZiVzFoYm1Rc0lFMWhjbXRrYjNkdVNXMXdiM0owVW1WemRXeDBJSDBnWm5KdmJTQmNJbWx1WkdWNEwzZGxZaTEzYjNKclpYSXZiV1Z6YzJGblpWd2lPMXh1WEc0dktpb2dWMlZpSUhkdmNtdGxjaUJsYm5SeWVTQndiMmx1ZENCbWIzSWdhVzF3YjNKMGFXNW5MaUFxTDF4dWIyNXRaWE56WVdkbElEMGdZWE41Ym1NZ0tHVjJaVzUwS1NBOVBpQjdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiV1Z6YzJGblpTQTlJR1YyWlc1MExtUmhkR0VnWVhNZ1NXMXdiM0owUTI5dGJXRnVaRHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9iV1Z6YzJGblpTNTBlWEJsSUQwOVBTQmNJbTFoY210a2IzZHVYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHMWhjbXRrYjNkdUlEMGdiV0Z5YTJSdmQyNUpiWEJ2Y25Rb2JXVnpjMkZuWlM1d1lYUm9MQ0J0WlhOellXZGxMbU52Ym5SbGJuUnpMQ0J0WlhOellXZGxMbTFsZEdGa1lYUmhMQ0J0WlhOellXZGxMbk4wWVhRcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCd2IzTjBUV1Z6YzJGblpTaDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ1hDSnRZWEpyWkc5M2Jsd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2REb2diV0Z5YTJSdmQyNHNYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHRnpJRTFoY210a2IzZHVTVzF3YjNKMFVtVnpkV3gwS1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaHRaWE56WVdkbExuUjVjR1VnUFQwOUlGd2lZMkZ1ZG1GelhDSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOaGJuWmhjeUE5SUdOaGJuWmhjMGx0Y0c5eWRDaHRaWE56WVdkbExuQmhkR2dzSUcxbGMzTmhaMlV1WTI5dWRHVnVkSE1zSUcxbGMzTmhaMlV1YVc1a1pYZ3NJRzFsYzNOaFoyVXVjM1JoZENrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhCdmMzUk5aWE56WVdkbEtIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBlWEJsT2lCY0ltTmhiblpoYzF3aUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZERvZ1kyRnVkbUZ6TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU0JoY3lCRFlXNTJZWE5KYlhCdmNuUlNaWE4xYkhRcE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY0c5emRFMWxjM05oWjJVb2V5QWtaWEp5YjNJNklGd2lWVzV6ZFhCd2IzSjBaV1FnYVcxd2IzSjBJRzFsZEdodlpDNWNJaUI5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1V1WlhKeWIzSW9ZRVJoZEdGamIzSmxJRWx1WkdWNFpYSWdabUZwYkdWa0lIUnZJR2x1WkdWNElDUjdaWFpsYm5RdVpHRjBZUzV3WVhSb2ZUb2dKSHRsY25KdmNuMWdLVHRjYmlBZ0lDQWdJQ0FnY0c5emRFMWxjM05oWjJVb2V5QWtaWEp5YjNJNklHVnljbTl5TG0xbGMzTmhaMlVnZlNrN1hHNGdJQ0FnZlZ4dWZUdGNiaUpkTEFvZ0lDSnRZWEJ3YVc1bmN5STZJQ0l3YWtSQlFVRXNTVUZCUVVFc1IwRkJRVU1zUjBGQlFTeERRVUZCUXl4SFFVRkJReXhMUVVGQkxFVkJRVU1zVTBGQlV5eEZRVUZGUXl4RlFVRkZMRU5CUVZjc1QwRkJUMFlzU1VGQmFrSXNWVUZCYjBNc1QwRkJUME1zU1VGQmFrSXNVMEZCZDBKQkxFZEJRVThzVVVGQlVVTXNSVUZCUlN4RlFVRmpMRTlCUVU4c1VVRkJia0lzV1VGQk1rSXNUMEZCVHl4SlFVRkpMRTlCUVU4c1EwRkJReXhGUVVGRlFTeERRVUZETEVWQlFWa3NUMEZCVDBZc1NVRkJha0lzVTBGQmVVSkJMRWRCUVZFc1ZVRkJWVVVzUlVGQlJTeEZRVUZGTEVWQlFVVXNWVUZCVlVFc1JVRkJSU3hEUVVGRExFZEJRV1VzVDBGQlR5eE5RVUZ3UWl4WlFVRjVRaXhMUVVGTFJpeEhRVUZMTEZWQlFWVXNRMEZCUXl4UFFVRlBMRk5CUVZNc1JVRkJSU3hEUVVGRExFbEJRVWxGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRk5CUVZORExFVkJRVVZETEVWQlFVVXNRMEZCUXl4SFFVRkhSaXhGUVVGRlJTeERRVUZETEVWQlFVVXNUMEZCVDBZc1JVRkJSVVVzUTBGQlF5eEZRVUZGTEZGQlFWRXNTVUZCU1VNc1JVRkJSVWdzUlVGQlJVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSVUVzUlVGQlJTeEZRVUZGTEVkQlFVY3NVVUZCVVN4RFFVRkRMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRVVZCTEVOQlFVTXNSVUZCUlN4TFFVRkxReXhGUVVGRkxGRkJRVkZCTEVWQlFVVkJMRVZCUVVVc1VVRkJVVVlzUTBGQlF5eEZRVUZGUlN4RlFVRkZMRVZCUVVVc1IwRkJSMEVzUlVGQlJTeFBRVUZQTEVOQlFVTXNUMEZCVDBZc1JVRkJSU3hGUVVGRkxFVkJRVVZCTEVWQlFVVXNSVUZCUlVRc1JVRkJSVU1zUlVGQlJTeEZRVUZGTEZOQlFWTkhMRVZCUVVWS0xFVkJRVVZGTEVWQlFVVXNRMEZCUTBRc1JVRkJSU3hGUVVGRlJ5eEZRVUZGU2l4RFFVRkRMRWRCUVVjc1QwRkJUeXhsUVVGbFNTeEZRVUZGU2l4RlFVRkZMRU5CUVVNc1lVRkJZU3hIUVVGSExGZEJRVmNzUjBGQlJ5eEpRVUZKUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRlJDeEZRVUZGTEVWQlFVVXNVMEZCVTBjc1JVRkJSU3hEUVVGRExFOUJRVThzWlVGQlpVRXNSVUZCUlN4aFFVRmhMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGU0N4RlFVRkZMRVZCUVVVc1UwRkJVMGNzUlVGQlJTeERRVUZETEVsQlFVbEtMRVZCUVVWSkxFZEJRVWRCTEVWQlFVVXNWMEZCVnl4VlFVRlZMRU5CUVVNc1QwRkJUMEVzUlVGQlJTeFBRVUZQTEVWQlFVVXNWVUZCVlN4RFFVRkRMRTlCUVU5QkxFTkJRVU1zUlVGQlJTeFBRVUZQU0N4RlFVRkZMRVZCUVVWRUxFVkJRVVVzU1VGQlNVRXNRMEZCUXl4RlFVRkZRU3hEUVVGRExFVkJRVVZETEVWQlFVVXNSVUZCUlN4VFFVRlRSeXhGUVVGRlNpeEZRVUZGTEVOQlFVTXNUMEZCVHl4UFFVRlBMRlZCUVZVc1pVRkJaU3hMUVVGTFNTeEZRVUZGU2l4RFFVRkRMRU5CUVVNc1JVRkJSVU1zUlVGQlJTeEZRVUZGTEVkQlFVZEJMRVZCUVVWQkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRk5CUVZNc1JVRkJSVVFzUlVGQlJVTXNSVUZCUlN4RFFVRkRMR0ZCUVdFc1UwRkJVME1zUlVGQlJVVXNSVUZCUlN4RFFVRkRMRWRCUVVjc1JVRkJSU3huUWtGQlowSkdMRWRCUVVjc1QwRkJUeXhKUVVGSlFTeEZRVUZGUlN4RFFVRkRMRVZCUVVVc1MwRkJTeXhGUVVGRlFTeERRVUZETEVOQlFVTXNTVUZCU1VRc1JVRkJSVVFzUlVGQlJTeFZRVUZWTEZOQlFWTkhMRVZCUVVWRUxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UlFVRlJReXhGUVVGRkxFVkJRVVZCTEVWQlFVVkhMRVZCUVVWSUxFbEJRVWxFTEVWQlFVVkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk5MTEVWQlFVVkdMRVZCUVVWS0xFVkJRVVZETEVWQlFVVXNRMEZCUXl4UFFVRlBMRk5CUVZOSExFVkJRVVZLTEVWQlFVVXNRMEZCUTBzc1JVRkJSVXdzUlVGQlJTeFBRVUZQTEZOQlFWTkRMRVZCUVVVc1EwRkJRMGNzUlVGQlJVb3NSVUZCUlVNc1EwRkJReXhGUVVGRlFTeEZRVUZGUkN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVTBGQlUwTXNSVUZCUlVNc1JVRkJSVU1zUlVGQlJTeERRVUZEU0N4RlFVRkZTU3hGUVVGRlNpeEZRVUZGUXl4RlFVRkZReXhGUVVGRlF5eERRVUZETEVOQlFVTXNSVUZCUlVZc1EwRkJReXhGUVVGRlJDeERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZTU3hGUVVGRlNpeEZRVUZGTEVOQlFVTXNUMEZCVDAwc1JVRkJSU3hUUVVGVFRpeEZRVUZGUXl4RlFVRkZReXhGUVVGRlF5eEZRVUZGTEVOQlFVTXNUMEZCVDBnc1JVRkJSU3hQUVVGUExFTkJRVU5KTEVWQlFVVklMRVZCUVVWRExFVkJRVVZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVZJTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZOUExFVkJRVVZJTEVWQlFVVktMRVZCUVVVc1EwRkJReXhKUVVGSlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRWxCUVVsRUxFTkJRVU1zUlVGQlJTeFBRVUZQU3l4RlFVRkZSQ3hGUVVGRkxGVkJRVlVzUTBGQlF5eEpRVUZKUVN4RlFVRkZTQ3hGUVVGRkxFTkJRVU1zUlVGQlJVRXNSVUZCUlN4SFFVRkhMRWRCUVVkSExFVkJRVVZJTEVWQlFVVXNTVUZCU1Vjc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEpRVUZKTEZOQlFWTkJMRVZCUVVVc1EwRkJReXhKUVVGSlNpeEZRVUZGVFN4RlFVRkZMRk5CUVZOR0xFVkJRVVZLTEVWQlFVVkRMRWRCUVVWRExFZEJRVVVzUTBGQlF5eFBRVUZQUlN4RlFVRkZMRTlCUVU5SUxFdEJRVWxETEVkQlFVVXNUMEZCVHl4RlFVRkZMRTlCUVU4c1MwRkJTeXhEUVVGRFJpeEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMR0ZCUVdFc1EwRkJReXhGUVVGRlJTeEhRVUZGTEdGQlFXRkVMRVZCUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGUnl4RFFVRkRMRVZCUVVVc1QwRkJUeXhQUVVGUExFdEJRVXNzUlVGQlJTeFRRVUZUUVN4RlFVRkZMRU5CUVVNc1QwRkJUMEVzUjBGQlJ5eEZRVUZGTEZGQlFWRXNRMEZCUXl4RlFVRkZTaXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJVRXNRMEZCUXl4RFFVRkRMRk5CUVZOUExFZEJRVWNzUTBGQlF5eFBRVUZ0UWl4UFFVRlBMRkZCUVhCQ0xGZEJRVEJDTEVOQlFVTXNVMEZCVTBNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlEwUXNSVUZCUlN4RlFVRkZMRTFCUVUwc1NVRkJTU3hOUVVGTkxDdEdRVUVyUml4RFFVRkRMRU5CUVVNc1UwRkJVMFVzUlVGQlJVNHNSVUZCUlN4RFFVRkRTeXhGUVVGRkxFVkJRVVVzU1VGQlNWUXNSVUZCUlUwc1JVRkJSU3hUUVVGVFJpeEZRVUZGU2l4RlFVRkZMRU5CUVVNc1QwRkJUMGtzUlVGQlJVb3NRMEZCUXl4RlFVRkZMRVZCUVVWSkxFTkJRVU1zUlVGQlJTeEhRVUZIU2l4RlFVRkZMRWRCUVVjc1JVRkJSU3hOUVVGTkxFbEJRVWtzVFVGQlRTeGhRVUZoU1N4RlFVRkZMRXRCUVVzc1NVRkJTU3hGUVVGRkxHVkJRV1ZLTEVWQlFVVXNNa1ZCUVRKRkxFVkJRVVVzU1VGQlNVTXNSVUZCUlVVc1JVRkJSVWdzUlVGQlJTeEZRVUZGU3l4SFFVRkhTaXhGUVVGRkxGTkJRVk5ITEVWQlFVVXNRMEZCUXl4UFFVRlBRU3hGUVVGRkxFVkJRVVVzUlVGQlJVVXNSVUZCUlN4VFFVRlRSaXhGUVVGRlNpeEZRVUZGTEVOQlFVTXNUMEZCVDBrc1NVRkJTVWdzUlVGQlJVUXNRMEZCUXl4RlFVRkZRU3hGUVVGRlNTeEZRVUZGTEVWQlFVVXNTMEZCUzBFc1EwRkJReXhIUVVGSExFZEJRVWRETEVWQlFVVXNUVUZCVFN4SlFVRkpMRTFCUVUxQkxFVkJRVVVzTUVSQlFUQkVMRVZCUVVVc1QwRkJUeXhKUVVGSlNDeEZRVUZGTEZOQlFWTkdMRVZCUVVWRExFVkJRVVVzUTBGQlF5eEpRVUZKUXl4RlFVRkZReXhGUVVGRlJpeEZRVUZGTEU5QlFVOURMRVZCUVVWR0xFVkJRVVVzVDBGQlQxY3NSVUZCUlZZc1JVRkJSVVVzUlVGQlJTeFRRVUZUTEVWQlFVVXNVVUZCVVN4RlFVRkZVeXhGUVVGRlZpeEZRVUZGU1N4RlFVRkZMRk5CUVZOR0xFZEJRVVZLTEVkQlFVVXNRMEZCUXl4SlFVRkpReXhIUVVGRlRTeEZRVUZGVUN4SFFVRkZTU3hIUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVOQlFVTXNTMEZCUzBFc1IwRkJSU3hMUVVGTExFOUJRVTlJTEVkQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVsQkxFZEJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hKUVVGSlJDeEZRVUZGTEUxQlFVMURMRVZCUVVWRExFTkJRVU1zUTBGQlF5eEZRVUZGUlN4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTlRMRVZCUVVWVUxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRlBMRWxCUVVsRkxFVkJRVVVzVTBGQlUwUXNSVUZCUlVNc1JVRkJSU3hEUVVGRExFOUJRVTlQTEVWQlFVVXNSVUZCUlZBc1JVRkJSVVlzUlVGQlJVTXNSVUZCUlN4UFFVRlBWU3hGUVVGRlZDeEZRVUZGUml4RlFVRkZMR05CUVdOSkxFTkJRVU1zUlVGQlJWRXNSVUZCUlZZc1JVRkJSVVlzUlVGQlJVTXNSVUZCUlN4TlFVRk5ReXhGUVVGRlFTeEZRVUZGUml4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUWXl4RlFVRkZWaXhGUVVGRlNpeEZRVUZGTEVOQlFVTXNSMEZCWVN4UFFVRlBReXhGUVVGRlJDeEpRVUZ1UWl4VlFVRjFRaXhMUVVGTExFMUJRVTFETEVOQlFVTXNTVUZCU1VFc1IwRkJSMFFzUlVGQlJTeEhRVUZIUVN4RlFVRkZMRVZCUVVVc1RVRkJUU3hKUVVGSkxFMUJRVTFKTEVWQlFVVXNNa05CUVRKRExFVkJRVVVzU1VGQlNVZ3NRMEZCUXl4RFFVRkRMRk5CUVZOakxFVkJRVVZZTEVWQlFVVXNRMEZCUXl4UFFVRlBWU3hGUVVGRkxGTkJRVk5XTEVOQlFVTXNSVUZCUlZNc1JVRkJSU3hWUVVGVlZDeEZRVUZGTEVsQlFVbEJMRU5CUVVNc1JVRkJSU3hKUVVGSkxGTkJRVk5LTEVWQlFVVXNRMEZCUXl4UFFVRlBRU3hGUVVGRkxGZEJRVmNzUlVGQlJVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk5aTEVWQlFVVmFMRVZCUVVVc1EwRkJReXhQUVVGUFZTeEZRVUZGTEZOQlFWTldMRU5CUVVNc1JVRkJSVk1zUlVGQlJTeFZRVUZWVkN4RlFVRkZMRWxCUVVsQkxFTkJRVU1zUlVGQlJTeEpRVUZKTEZOQlFWTktMRVZCUVVVc1EwRkJReXhQUVVGUFFTeEZRVUZGTEZkQlFWY3NSVUZCUlVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTmhMRVZCUVVWaUxFVkJRVVVzUTBGQlF5eFBRVUZQVlN4RlFVRkZMRkZCUVZGV0xFTkJRVU1zUlVGQlJWTXNSVUZCUlN4VFFVRlRWQ3hGUVVGRkxFbEJRVWxCTEVOQlFVTXNSVUZCUlN4SlFVRkpMRk5CUVZOS0xFVkJRVVVzUTBGQlF5eFBRVUZQUVN4RlFVRkZMRlZCUVZVc1JVRkJSVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZOakxFVkJRVVZrTEVWQlFVVXNRMEZCUXl4UFFVRlBWU3hGUVVGRkxGRkJRVkZXTEVOQlFVTXNSVUZCUlZNc1JVRkJSU3hUUVVGVFZDeEZRVUZGTEVsQlFVbEJMRU5CUVVNc1JVRkJSU3hKUVVGSkxGTkJRVk5LTEVWQlFVVXNRMEZCUXl4UFFVRlBRU3hGUVVGRkxGVkJRVlVzUlVGQlJVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk5sTEVWQlFVVm1MRVZCUVVVc1EwRkJReXhQUVVGUFFTeGhRVUZoUml4RFFVRkRMRU5CUVVNc1UwRkJVMnRDTEVWQlFVVm9RaXhGUVVGRkxFTkJRVU1zVFVGQmVVSXNRMEZCUXl4RlFVRkZMRk5CUVZNc1MwRkJTMEVzUTBGQlF5eEpRVUZ5UXl4blFrRkJjME1zUTBGQlF5eFRRVUZUYVVJc1JVRkJSV3BDTEVWQlFVVXNRMEZCUXl4UFFVRlBTU3hGUVVGRkxFZEJRVWNzVDBGQlR5eFRRVUZUU2l4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVFVTeEZRVUZGVWl4RlFVRkZTaXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEU5QlFVOHNSMEZCUnl4TlFVRk5TU3hGUVVGRkxFMUJRVTFLTEVWQlFVVXNVMEZCVXl4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUVnl4RlFVRkZVQ3hGUVVGRlNpeEZRVUZGTEVOQlFVTXNUMEZCVDI5Q0xFVkJRVVZ3UWl4RFFVRkRMRWxCUVVsQkxFVkJRVVVzUTBGQlEwRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhIUVVGSExFMUJRVTBzUjBGQlJ5eE5RVUZOTEV0QlFVc3NVMEZCVTBrc1JVRkJSU3hUUVVGVFNpeERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRjMElzUlVGQlJXeENMRVZCUVVWS0xFVkJRVVVzUTBGQlowSXNSMEZCV2l4RFFVRkRRU3hIUVVGalNTeEZRVUZGTEZOQlFWTktMRVZCUVVVc1UwRkJVeXhQUVVGUFNTeEZRVUZGTEVsQlFVbElMRVZCUVVWSExFVkJRVVVzVjBGQlYwb3NSVUZCUlN4VFFVRlRMRk5CUVZOSkxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4SFFVRkhMRlZCUVZVc1EwRkJReXhIUVVGWlJTeEZRVUZGTEdWQlFWZ3NUMEZCZDBJc1QwRkJUMEVzUlVGQlJTeGhRVUZoTEVsQlFVbEZMRWRCUVdVc1QwRkJUeXhMUVVGd1FpeFpRVUYzUWl4UFFVRlBSaXhGUVVGRkxHRkJRV0ZGTEVkQlFVVkJMRVZCUVVNc1JVRkJSU3hIUVVGSExFMUJRVTBzUzBGQlN5eERRVUZETEZGQlFWRklMRVZCUVVVc1NVRkJTU3hKUVVGSlJ5eERRVUZETEVWQlFVVkVMRVZCUVVVc1JVRkJSVUVzUlVGQlJVZ3NSVUZCUlN4UFFVRlBSeXhKUVVGSlJpeEZRVUZGTEVsQlFVbEVMRVZCUVVWSExFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVbEZMRVZCUVVVc1RVRkJUU3hMUVVGTFNpeERRVUZETEVWQlFVVXNUMEZCVDBrc1JVRkJSU3hMUVVGTExFVkJRVVZCTEVOQlFVTXNRMEZCUXl4UlFVRlJReXhIUVVGRkxFTkJRVU1zUlVGQlJXbENMRWRCUVVVc1JVRkJSVUVzUjBGQlJXNUNMRVZCUVVVc1QwRkJUMjFDTEV0QlFVbHFRaXhIUVVGRlJpeEZRVUZGYlVJc1JVRkJReXhEUVVGRExFVkJRVVVzUjBGQlJ5eFJRVUZSYUVJc1IwRkJSU3hGUVVGRlFTeEhRVUZGVUN4RlFVRkZMRTlCUVU5UExFdEJRVWxFTEVkQlFVVk9MRVZCUVVWUExFVkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NTVUZCU1VNc1IwRkJSU3hEUVVGRExFVkJRVVVzVVVGQlVVTXNUVUZCUzBnc1NVRkJSeXhEUVVGRExFZEJRVWNzWlVGQlpTeExRVUZMUVN4SFFVRkZSeXhGUVVGRExFZEJRVWRFTEVkQlFVVXNTMEZCUzBNc1JVRkJReXhGUVVGRkxFOUJRVTlFTEVkQlFVVXNTMEZCU3l4RlFVRkZRU3hGUVVGRExFVkJRVVZLTEVWQlFVVXNVMEZCVTBvc1JVRkJSU3hSUVVGUkxFVkJRVVZCTEVWQlFVVXNVMEZCVXl4TlFVRk5MRU5CUVVNc1QwRkJUMGtzUlVGQlJTeFBRVUZQTEUxQlFVMUJMRVZCUVVVc1RVRkJUU3hOUVVGTlFTeEZRVUZGTEUxQlFVMHNVMEZCVTBvc1JVRkJSU3hUUVVGVExGTkJRVk5ETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVsMVFpeEZRVUZGTEVOQlFVTXNSVUZCUlN4VFFVRlRReXhGUVVGRmNrSXNSVUZCUlVvc1JVRkJSU3hEUVVGRExFZEJRVWR4UWl4RlFVRkZha0lzUTBGQlF5eEZRVUZGTEUxQlFVMHNRMEZCUXl4UFFVRlBTaXhGUVVGRkxFdEJRVXNzUjBGQlJ5eFBRVUZQTEVWQlFVVXNSVUZCUlVrc1MwRkJTMjlDTEVsQlFVbEJMRVZCUVVWd1FpeERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRkZCUVZGSUxFVkJRVVYxUWl4RlFVRkZjRUlzUTBGQlF5eEZRVUZGUml4RlFVRkZMRVZCUVVWRExFVkJRVVVzUlVGQlJVVXNSVUZCUlN4RlFVRkZReXhGUVVGRlRpeEZRVUZGVFN4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSFFTeExRVUZMVEN4RlFVRkZMRU5CUVVORExFVkJRVVZFTEVWQlFVVkxMRU5CUVVNc1JVRkJSU3hMUVVGVFJDeEpRVUZLTEVsQlFWRkJMRVZCUVVWS0xFVkJRVVZMTEVOQlFVTXNSVUZCUlN4WFFVRlhMRXRCUVVzc1JVRkJVMFlzUlVGQlJTeFBRVUZQUlN4RFFVRkRMRWxCUVdwQ08wRkJRVUVzUjBGQk1rSkdMRVZCUVVVc1QwRkJUMFVzUTBGQlF5eEpRVUZxUWl4TlFVRXlRa1lzUlVGQlJTeFBRVUZQUlN4RlFVRkZMRU5CUVVNc1NVRkJia0k3UVVGQlFTeExRVUYzUWtnc1NVRkJVVVVzU1VGQlNpeEpRVUZSUVN4RlFVRkZReXhGUVVGRkxFbEJRVWxCTEVkQlFVY3NRMEZCUXl4SlFVRkphVUlzUlVGQlJYSkNMRVZCUVVWRExFVkJRVVZKTEVkQlFVVlFMRVZCUVVWTExFVkJRVVVzVDBGQlQwb3NSVUZCUlVRc1EwRkJReXhGUVVGRkxFTkJRVU1zUzBGQlMzVkNMRVZCUVVVc1ZVRkJWV3hDTEVOQlFVTXNSVUZCUlN4RFFVRkRMRTlCUVU5TUxFVkJRVVVzUzBGQlMzVkNMRVZCUVVVc1JVRkJSU3hQUVVGUGFFSXNSMEZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVGJVSXNSVUZCUlhSQ0xFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTmxMRVZCUVVWbUxFTkJRVU1zUlVGQlJTeE5RVUZOTEVsQlFVa3NUVUZCVFN4cFFrRkJhVUpCTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZOMVFpeEZRVUZGZGtJc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFXZENMRTlCUVU5SkxFZEJRV3BDTEZOQlFXMUNRU3hGUVVGRkxFOUJRVTlLTEVOQlFVTXNSVUZCUlVrc1JVRkJSVW9zUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXpSQ0xFZEJRVVY0UWl4RlFVRkZMRU5CUVVNc1IwRkJZU3hQUVVGUFFTeEhRVUZxUWl4VFFVRnRRaXhOUVVGTkxFbEJRVWtzVFVGQlRTeHBRa0ZCYVVKQkxFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTjVRaXhIUVVGRmVrSXNSVUZCUlN4RFFVRkRMRWRCUVdVc1QwRkJUMEVzUjBGQmJrSXNWMEZCY1VJc1RVRkJUU3hKUVVGSkxFMUJRVTBzYlVKQlFXMUNRU3hEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUTUVJc1JVRkJSVEZDTEVWQlFVVXNRMEZCUXl4SFFVRmhMRTlCUVU5QkxFZEJRV3BDTEZOQlFXMUNMRTFCUVUwc1NVRkJTU3hOUVVGTkxHbENRVUZwUWtFc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNUSkNMRVZCUVVVc1JVRkJSVU1zUlVGQlJTeEZRVUZGUXl4SFFVRkZMRVZCUVVWRExFZEJRVVVzUlVGQlJVUXNSMEZCUlVVc1IwRkJSU3hGUVVGRlJpeEhRVUZGUnl4SFFVRkZMRXRCUVVzc1UwRkJVME1zUjBGQlJXcERMRVZCUVVWS0xFVkJRVVVzUTBGQlF5eFBRVUZQTEVsQlFVa3NUVUZCVFVFc1JVRkJSU3hEUVVGRExFVkJRVVVzUzBGQlMwa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVMnRETEVkQlFVVnNReXhGUVVGRlNpeEZRVUZGUXl4RlFVRkZMRU5CUVVNc1NVRkJTVU1zUlVGQlJVWXNSVUZCUlVrc1JVRkJSU3hQUVVGUExFOUJRVTlHTEVkQlFVY3NSVUZCUlVVc1JVRkJSV2xETEVkQlFVVndReXhGUVVGRlF5eERRVUZETEVWQlFVVkZMRU5CUVVNc1EwRkJReXhUUVVGVGJVTXNSMEZCUlc1RExFVkJRVVZLTEVWQlFVVkRMRVZCUVVWRExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCUzBVc1JVRkJSVW9zUlVGQlJTeEZRVUZGU1N4RlFVRkZTaXhGUVVGRkxFVkJRVVVzUjBGQlIwa3NSVUZCUlVnc1JVRkJSVU1zUlVGQlJVRXNSVUZCUlVVc1JVRkJSVWdzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVTNWRExFZEJRVVZ3UXl4RlFVRkZTaXhGUVVGRkxFTkJRVU1zU1VGQlNVTXNSVUZCUlVNc1JVRkJSVU1zUlVGQlJVVXNSVUZCUlVVc1JVRkJSVU1zUlVGQlJWSXNSVUZCUlN4TlFVRk5VeXhIUVVGRlJDeEZRVUZGTEU5QlFVOUZMRWRCUVVVc1JVRkJSU3hIUVVGSFJDeExRVUZKVEN4RlFVRkZMRTlCUVU4c1RVRkJUU3d5UWtGQk1rSXNSMEZCUjJsQ0xFVkJRVVZxUWl4RFFVRkRMRVZCUVVVc1EwRkJReXhKUVVGSlV5eEhRVUZGU2l4SFFVRkZRU3hIUVVGRmQwSXNSMEZCUlc1Q0xFZEJRVVZNTEVkQlFVVkpMRWRCUVVWRkxFZEJRVVYzUWl4SFFVRkZNVUlzUjBGQlJYRkNMRWRCUVVWRExFZEJRVVZHTEVkQlFVVTNRaXhGUVVGRkxFMUJRVTBzUlVGQlJWa3NSMEZCUlN4RlFVRkZMRk5CUVZOYUxFZEJRVVVzUTBGQlF5eFBRVUZQTEVWQlFVVXNVMEZCVTBFc1IwRkJSU3hEUVVGRExFOUJRVTlyUXl4SFFVRkZiRU1zUjBGQlJTeFRRVUZUTEVWQlFVVXNSVUZCUlN4RlFVRkZMRWRCUVVjc1EwRkJReXhGUVVGRlFTeEZRVUZETEVOQlFVTXNSVUZCUlN4VFFVRlRRU3hIUVVGRlNpeEhRVUZGTEVOQlFVTXNTVUZCU1VNc1IwRkJSVWNzUjBGQlJTeFBRVUZQUml4SFFVRkZMRU5CUVVNc1JVRkJSVU1zUjBGQlJTeEZRVUZGTEVkQlFVZEdMRWxCUVVkRUxFZEJRVVVzVFVGQlRTeERRVUZEU1N4SFFVRkZMRTFCUVUwc1EwRkJReXhGUVVGRkxGRkJRVkZETEVkQlFVVXNSVUZCUlVFc1IwRkJSVW9zUjBGQlJVa3NTMEZCU1Vnc1IwRkJSVU1zUlVGQlF5eEhRVUZIUkN4SFFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVZCTEVkQlFVVkRMRVZCUVVNc1JVRkJSU3hMUVVGTFF5eEhRVUZGUXl4RlFVRkRMRU5CUVVNc1IwRkJSMEVzUjBGQlJTeEhRVUZIVEN4SlFVRkhMRWRCUVVkSExFdEJRVWtzVDBGQlQwUXNSVUZCUXl4RlFVRkZSU3hGUVVGRkxFMUJRVTFYTEVkQlFVVXNTMEZCUzBFc1IwRkJSU3hGUVVGRkxFVkJRVVVzVDBGQlR5eEZRVUZGTEV0QlFVdHJRaXhGUVVGRExFTkJRVU1zUlVGQlJUVkNMRVZCUVVVc1UwRkJVMFFzUjBGQlJTeERRVUZETEU5QlFWZEJMRWRCUVVVc1QwRkJUaXhIUVVGblFrRXNSMEZCUlN4TFFVRk9MRVZCUVZNc1EwRkJReXhMUVVGTFFTeEhRVUZGTEV0QlFVc3NSMEZCUjBFc1IwRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eExRVUZMUVN4SFFVRkZMRXRCUVVzMlFpeEhRVUZGTEVkQlFVY3NTMEZCU3l4TlFVRk5OMElzUjBGQlJTeEhRVUZITmtJc1JVRkJReXhEUVVGRExFTkJRVU1zUlVGQlJXeENMRVZCUVVNc1JVRkJSV0lzUlVGQlJWY3NSMEZCUlc5Q0xFZEJRVVZvUXl4RlFVRkZMRVZCUVVWaExFZEJRVVZCTEVsQlFVY3NTVUZCU1dJc1IwRkJSeXhIUVVGSFV5eEhRVUZGTEVWQlFVVlFMRVZCUVVVc1JVRkJSU3hUUVVGVFF5eEhRVUZGTEVOQlFVTXNUMEZCVDBFc1IwRkJSU3hSUVVGUkxFVkJRVVZCTEVkQlFVVXNTMEZCU3l4SFFVRkhMRVZCUVVWQkxFZEJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4TFFVRkxMRWRCUVVjc1JVRkJSU3hMUVVGTFFTeEhRVUZGTEUxQlFVMHNRMEZCUXl4RlFVRkZMRXRCUVVzc1IwRkJSeXhEUVVGRExFVkJRVVZaTEVWQlFVTXNSMEZCUjFRc1IwRkJSeXhIUVVGSFJpeEZRVUZGTEVkQlFVY3NSVUZCUlVFc1JVRkJSU3hIUVVGSExFVkJRVVZCTEVWQlFVVXNTMEZCU3l4VFFVRlRMRVZCUVVVc1JVRkJSU3hSUVVGUkxFbEJRVWxGTEVWQlFVVXNSVUZCUlN4TFFVRkxMRU5CUVVNc1NVRkJTVlVzUjBGQlJXSXNSVUZCUlN4TlFVRk5MSGxDUVVGNVFpeEZRVUZGU0N4RlFVRkZUeXhGUVVGRkxFOUJRVThzUlVGQlJVNHNSVUZCUlUwc1JVRkJSU3hMUVVGTExFVkJRVVZJTEVWQlFVVnJReXhIUVVGRmNrTXNSVUZCUlRaQ0xFVkJRVVZETEVWQlFVVm1MRWRCUVVVc1RVRkJUU3hGUVVGRlpDeEZRVUZGWXl4SFFVRkZMRTFCUVUxYUxFVkJRVVVzUzBGQlMwRXNSVUZCUlN4RlFVRkZMRVZCUVVWRkxFVkJRVVZHTEVWQlFVVXNSMEZCUnl4VFFVRlRMRVZCUVVVc1RVRkJUU3hEUVVGRExFbEJRVWxoTEVkQlFVVm9RaXhGUVVGRlJ5eEZRVUZGTEV0QlFVc3NUMEZCVDJkQ0xFVkJRVVZxUWl4RFFVRkRMRWxCUVVsSExFZEJRVWNzUjBGQlIwWXNSVUZCUlN4SFFVRkhMRVZCUVVWQkxFVkJRVVVzUjBGQlJ5eEZRVUZGUVN4RlFVRkZMRXRCUVVzc1UwRkJVeXhGUVVGRkxFVkJRVVVzVVVGQlVTeEpRVUZKUlN4RlFVRkZMRWRCUVVkRUxFVkJRVVVzVTBGQlUwNHNSMEZCUlVVc1IwRkJSVU1zUjBGQlJTeERRVUZETEVsQlFVbEhMRWRCUVVWcFFpeEhRVUZGY0VJc1MwRkJTV1VzUjBGQlJWWXNSMEZCUldVc1IwRkJSU3hMUVVGTFlTeEhRVUZGTEU5QlFVODVRaXhIUVVGRlpTeEZRVUZGYWtJc1EwRkJReXhGUVVGRmEwTXNTVUZCUnl4SFFVRkhha01zUlVGQlJTeExRVUZMUml4TFFVRkpMRk5CUVZNc1JVRkJSU3hGUVVGRlNTeEZRVUZGTEVkQlFVY3NSVUZCUlN0Q0xFbEJRVWRxUXl4RlFVRkZMRXRCUVV0R0xFZEJRVVVzUjBGQlJ5eFRRVUZUTEVWQlFVVkpMRVZCUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeFBRVUZQVUN4SFFVRkZMRU5CUVVOUkxFZEJRVVZHTEVkQlFVVXNUVUZCVFVvc1JVRkJReXhGUVVGRmNVSXNSMEZCUlN4RFFVRkRZU3hIUVVGRlF5eEhRVUZGTEVsQlFVazVRaXhEUVVGRExFVkJRVVVzVFVGQlRTdENMRWRCUVVVc1IwRkJSM0pETEVWQlFVVXNSMEZCUnl4RlFVRkZiME1zUjBGQlJTeEpRVUZKTTBJc1JVRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVWUUxFTkJRVU1zUlVGQlJTeExRVUZMTzBGQlFVRXNRMEZCU1N4RFFVRkRMRU5CUVVNc1UwRkJVM05ETEVkQlFVVnlReXhGUVVGRlNpeEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRPMEZCUVVFc1JVRkJTeXh4UWtGQmNVSnhReXhIUVVGRkxFbEJRVWtzUlVGQlJTeEZRVUZGTzBGQlFVRTdRVUZCUVN4RlFVRlBSeXhIUVVGRmNFTXNSVUZCUlVvc1EwRkJReXhGUVVGRk8wRkJRVUU3UVVGQlFTeEhRVUZSUXl4RlFVRkZSQ3hGUVVGRkxGTkJRV0ZETEVWQlFVVXNVMEZCVGl4RlFVRmhPMEZCUVVFN1FVRkJRU3hGUVVGblFrRXNSVUZCUlN4RFFVRkRMRVZCUVVVN1FVRkJRVHRCUVVGQkxFVkJRWE5EUVN4RlFVRkZMRXRCUVVzc1NVRkJTU3hIUVVGSE8wRkJRVUVzUTBGQlNTeEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZMRWxCUVVsQkxFTkJRVU1zUTBGQlF5eFRRVUZUZVVNc1IwRkJSWFJETEVWQlFVVXNRMEZCUXl4UFFVRm5Ra0VzUlVGQlJTeFJRVUZZTEU5QlFXbENRU3hGUVVGRkxFMUJRVTBzUTBGQlEwRXNSVUZCUlN4UFFVRlBMRWxCUVVrc1IwRkJSMEVzUlVGQlJTeFhRVUZYTEVsQlFVa3NSMEZCUjBFc1JVRkJSU3hWUVVGVkxFbEJRVWtzUjBGQlIwRXNSVUZCUlN4UlFVRlJMRWxCUVVrc1IwRkJSMEVzUlVGQlJTeFBRVUZQTEVsQlFVa3NSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFTkJRVU1zVTBGQlUzVkRMRWxCUVVjc1EwRkJReXhSUVVGUmRrTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1RVRkJUU3hMUVVGTExGTkJRVk1zUlVGQlJVb3NSVUZCUlVrc1JVRkJSU3hQUVVGUFNDeEZRVUZGTEVWQlFVVkJMRVZCUVVWRUxFVkJRVVZETEVkQlFVY3NSVUZCUlhsQ0xFVkJRVVYwUWl4RlFVRkZTQ3hEUVVGRExFTkJRVU1zUlVGQlJTeFBRVUZQUXl4RlFVRkZMRk5CUVZORUxFVkJRVVZETEVWQlFVVXNRMEZCUXl4UlFVRlJReXhGUVVGRlJTeEZRVUZGTEVsQlFVa3NUVUZCVFV3c1EwRkJReXhGUVVGRlRTeEZRVUZGTEVWQlFVVkJMRVZCUVVWT0xFVkJRVVZOTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWRCUVVjc1JVRkJSVWdzUlVGQlJXMUNMRVZCUVVWc1FpeEZRVUZGUlN4RFFVRkRMRVZCUVVVc1JVRkJSVXdzUlVGQlJVTXNRMEZCUXl4RlFVRkZReXhEUVVGRExFZEJRVWNzVDBGQlR5eFBRVUZQUVN4RlFVRkZSU3hGUVVGRlF5eERRVUZETEVWQlFVVklMRVZCUVVVc1RVRkJUVVFzUlVGQlJVTXNSVUZCUlN4TFFVRkxMRU5CUVVNc1QwRkJUMjFDTEVWQlFVVldMRVZCUVVWV0xFVkJRVVZITEVOQlFVTXNSVUZCUlVZc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTjVReXhKUVVGSExFTkJRVU1zU1VGQlNYaERMRVZCUVVVc1EwRkJReXhGUVVGRkxFMUJRVTBzUzBGQlN5eFRRVUZUTEVWQlFVVXNSMEZCVDBFc1JVRkJSU3hUUVVGT0xFVkJRV0VzVFVGQlRTeEpRVUZKTEUxQlFVMHNiME5CUVc5RExFVkJRVVVzU1VGQlNVb3NSVUZCUlVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzVDBGQlQzbENMRWRCUVVVM1FpeERRVUZETEVWQlFVVXlReXhIUVVGRkxFMUJRVTBzUzBGQlMzWkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxGTkJRVk5CTEVWQlFVVXNRMEZCUXl4UFFVRlBTaXhGUVVGRkxFMUJRVTBzUzBGQlMwa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk41UXl4SlFVRkhMRU5CUVVNc1NVRkJTWHBETEVWQlFVVXNRMEZCUXl4RlFVRkZMRTFCUVUwc1MwRkJTeXhUUVVGVExFVkJRVVZLTEVWQlFVVkpMRVZCUVVVc1QwRkJUeXhIUVVGUFNpeEpRVUZLTEVWQlFVMHNUMEZCVHpoRExFZEJRVVVzYVVKQlFXbENMRVZCUVVVc1VVRkJVVGRETEVWQlFVVXNSVUZCUlVFc1JVRkJSVVFzUlVGQlJVTXNSMEZCUnl4RlFVRkZlVUlzUlVGQlJYUkNMRVZCUVVWSUxFTkJRVU1zUTBGQlF5eEZRVUZGTEU5QlFVOURMRVZCUVVVc1UwRkJVMFlzUlVGQlJVTXNSVUZCUlN4RFFVRkRMRkZCUVZGRExFVkJRVVZETEVWQlFVVXNSVUZCUlVFc1JVRkJSVU1zUlVGQlJTeFBRVUZQUkN4SFFVRkhMRVZCUVVVc1NVRkJTVVFzUlVGQlJXOUNMRVZCUVVWc1FpeEZRVUZGUkN4RFFVRkRMRVZCUVVVc1JVRkJSVWdzUlVGQlJVTXNRMEZCUXl4RlFVRkZReXhEUVVGRExFZEJRVWNzVDBGQlR5eFBRVUZQUVN4RlFVRkZMRTlCUVU5QkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXpaRExFZEJRVVV6UXl4RlFVRkZTaXhGUVVGRkxFTkJRVU1zVDBGQlQyZEVMRWRCUVVVMVF5eEZRVUZGU2l4RFFVRkRMRVZCUVVVc1IwRkJSMmxFTEVkQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk5FTEVkQlFVVTFReXhGUVVGRlNpeEZRVUZGTEVOQlFVTXNUMEZCVHpCQ0xFVkJRVVYwUWl4RFFVRkRMRVZCUVVWelFpeEZRVUZGTVVJc1EwRkJReXhGUVVGRk5FTXNSMEZCUlhoRExFVkJRVVZLTEVWQlFVVXNTMEZCUzBrc1EwRkJReXhGUVVGRkxFdEJRVXNzUlVGQlJTeFRRVUZUUVN4RlFVRkZTaXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZEU1N4RFFVRkRMRVZCUVVVc1QwRkJUMG9zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZOclJDeEhRVUZGT1VNc1JVRkJSU3hEUVVGRE1FSXNSVUZCUlRGQ0xFTkJRVU1zUlVGQlJTeEpRVUZKU2l4RlFVRkZMRWxCUVVsSkxFVkJRVVVzU1VGQlNTeFBRVUZQUml4RlFVRkZMRk5CUVZORUxFVkJRVVZETEVWQlFVVXNRMEZCUXl4SlFVRkpReXhGUVVGRlJDeEZRVUZGUlN4RlFVRkZMRTlCUVU5RExFVkJRVVZLTEVWQlFVVXNUVUZCVFVNc1JVRkJSVU1zUTBGQlF5eEZRVUZGTEU5QlFVOUZMRWxCUVVsRUxFVkJRVVZSTEVWQlFVVlVMRVZCUVVWRkxFTkJRVU1zUlVGQlJVMHNSVUZCUlZRc1JVRkJSVVlzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZOdFJDeEhRVUZGTDBNc1JVRkJSVW9zUlVGQlJTeEZRVUZGTEZOQlFWTkpMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVZCTEdGQlFXRXNVVUZCVVN4TlFVRk5MRWxCUVVrc1RVRkJUU3hwUWtGQmFVSkJMRU5CUVVNc1JVRkJSU3hSUVVGUlNpeEZRVUZGTUVNc1IwRkJSWFJETEVOQlFVTXNSVUZCUlVnc1JVRkJSU3hGUVVGRlFTeEZRVUZGUkN4RlFVRkZMRTlCUVU5RExFbEJRVWtzUTBGQlF5eEpRVUZKUXl4RlFVRkZSaXhGUVVGRkxFOUJRVTlETEVOQlFVTXNSVUZCUlN4SFFVRlRReXhKUVVGT0xFdEJRV1ZCTEVsQlFVNHNTMEZCWlVFc1NVRkJUaXhMUVVGbFFTeEpRVUZPTEVsQlFWRXNUVUZCVFN4SlFVRkpMRTFCUVUwc05FSkJRVFJDUVN4RlFVRkZMRTFCUVUxRkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVVkJMRU5CUVVNc1JVRkJSU3hWUVVGVkxGRkJRVkVzUlVGQlJYZENMRWRCUVVVMVFpeERRVUZETEVWQlFVVkJMRVZCUVVVc1JVRkJSU3hKUVVGSlF5eEZRVUZGTEZOQlFWTkhMRVZCUVVVc1EwRkJReXhQUVVGUExFOUJRVThzVDBGQlQwRXNSVUZCUlN4UFFVRlBMRWxCUVVselF5eEhRVUZGZEVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJVRXNRMEZCUXl4RlFVRkZSQ3hGUVVGRkxFZEJRVWRETEVWQlFVVXNUMEZCVDBZc1JVRkJSU3hUUVVGVFJTeEZRVUZGUml4RlFVRkZMRU5CUVVNc1NVRkJTVWNzUlVGQlJVb3NSVUZCUlN4TFFVRkxSeXhGUVVGRkxFMUJRVTFHTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVkSExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVZE1MRWRCUVVkQkxFZEJRVWRMTEVWQlFVVXNUMEZCVHl4RFFVRkRMRWxCUVVsRExFVkJRVVZFTEVWQlFVVXNRMEZCUXl4RlFVRkZhMElzUjBGQlJXeENMRVZCUVVWTUxFTkJRVU1zUlVGQlJTeFBRVUZQV1N4RlFVRkZWaXhGUVVGRlNTeEZRVUZGTEU5QlFVOXBRaXhGUVVGRExFTkJRVU1zUTBGQlF5eFBRVUZQV2l4RlFVRkZWQ3hGUVVGRkxESkNRVUV5UWtjc1JVRkJSU3hQUVVGUExGRkJRVkZHTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU5UkxFVkJRVVZVTEVWQlFVVkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUT0VNc1IwRkJSVGRETEVWQlFVVXNRMEZCUXl4UFFVRlBSaXhGUVVGRkxGTkJRVk5HTEVWQlFVVkRMRVZCUVVVc1EwRkJReXhQUVVGUFZ5eEZRVUZGV0N4RlFVRkZSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXpCRExFZEJRVVV4UXl4RlFVRkZMRU5CUVVNc1QwRkJUMFlzUlVGQlJTeFRRVUZUUml4RlFVRkZReXhGUVVGRkxFTkJRVU1zVDBGQlQxVXNSVUZCUlZZc1JVRkJSVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZOblJDeEhRVUZGYUVRc1JVRkJSU3hEUVVGRExFZEJRVWRsTEVWQlFVVm1MRU5CUVVNc1JVRkJSU3hQUVVGUFJpeEZRVUZGTEZOQlFWTkdMRVZCUVVWRExFVkJRVVVzUTBGQlF5eEpRVUZKUXl4RlFVRkZSU3hGUVVGRkxFVkJRVVZLTEVWQlFVVkRMRU5CUVVNc1JVRkJSU3hQUVVGUFF5eEZRVUZGTEUxQlFVMUVMRVZCUVVWRExFVkJRVVVzVFVGQlRTeEhRVUZIUVN4RFFVRkRMRU5CUVVNc1JVRkJSU3hIUVVGaExFOUJRVTlGTEVkQlFXcENMRk5CUVcxQ0xFOUJRVTluUkN4SFFVRkZSaXhIUVVGRk9VTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSMEVzWVVGQllTeFBRVUZQTEU5QlFVOW5SQ3hIUVVGRlJDeEhRVUZGTDBNc1EwRkJReXhEUVVGRExFVkJRVVVzVFVGQlRTeEpRVUZKTEUxQlFVMHNiME5CUVc5RFFTeERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRhVVFzUjBGQlJXcEVMRVZCUVVVc1EwRkJReXhQUVVGUGMwSXNSVUZCUlhSQ0xFTkJRVU1zUlVGQlJVWXNSVUZCUlN4VFFVRlRSaXhGUVVGRlF5eEZRVUZGTEVOQlFVTXNTVUZCU1VNc1JVRkJSVVVzUlVGQlJTeEZRVUZGU2l4RlFVRkZReXhEUVVGRExFVkJRVVZGTEVWQlFVVklMRVZCUVVVc1RVRkJUVU1zUlVGQlJVTXNSVUZCUlN4TFFVRkxMRVZCUVVVc1QwRkJUMEVzUlVGQlJTeFBRVUZQVXl4RlFVRkZWaXhGUVVGRkxGRkJRVkZGTEVWQlFVVXNSMEZCUnl4RlFVRkZVeXhGUVVGRldDeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVGNVUXNSMEZCUjJ4RUxFVkJRVVVzUTBGQlF5eFBRVUZQZVVJc1IwRkJSWHBDTEVOQlFVTXNSVUZCUlVZc1JVRkJSU3hUUVVGVFJpeEZRVUZGUXl4RlFVRkZMRU5CUVVNc1NVRkJTVU1zUlVGQlJYbENMRVZCUVVVelFpeEZRVUZGUXl4RFFVRkRMRVZCUVVVc1QwRkJUMEVzUlVGQlJVUXNSVUZCUlN4UlFVRlJTU3hGUVVGRlJpeERRVUZETEVWQlFVVlZMRVZCUVVWWUxFVkJRVVVzUlVGQlJVTXNRMEZCUXl4RlFVRkZVeXhGUVVGRlZpeEZRVUZGTERaQ1FVRTJRa2NzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZOdFJDeEhRVUZIYmtRc1JVRkJSVW9zUlVGQlJTeERRVUZETEZWQlFWVXNUMEZCVHl4SlFVRkpRU3hGUVVGRlNTeEZRVUZGUVN4RlFVRkZMRkZCUVZFc1NVRkJTVWdzUlVGQlJVTXNSVUZCUlN4VFFVRlRSU3hGUVVGRlJpeEZRVUZGTEVOQlFVTXNUMEZCVDBRc1JVRkJSU3hGUVVGRlJDeEZRVUZGTEVWQlFVVXNSVUZCUlVNc1JVRkJSU3hGUVVGRlJ5eEZRVUZGUml4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFOUJRVTlGTEVWQlFVVklMRVZCUVVVc1MwRkJTMGNzUTBGQlF5eEZRVUZGU0N4RFFVRkRMRU5CUVVNc1UwRkJVM1ZFTEVsQlFVa3NRMEZCUXl4UFFVRlBWaXhIUVVGRkxHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNelF5eEZRVUZGTEUxQlFVMHNVMEZCVTBNc1JVRkJSU3hEUVVGRExFZEJRV0VzVDBGQlQwRXNSMEZCYWtJc1ZVRkJiMElzUTBGQlEybENMRVZCUVVWcVFpeERRVUZETEVWQlFVVXNUVUZCVFN4SlFVRkpMRTFCUVUwc0swUkJRU3RFTEVWQlFVVXNTVUZCU1Vvc1JVRkJSVU1zUlVGQlJTeExRVUZMTEV0QlFVdDNSQ3hGUVVGRkxFVkJRVVVzUlVGQlJYSkVMRVZCUVVVc1EwRkJReXhGUVVGRkxFOUJRVTlLTEVWQlFVVkRMRVZCUVVVc1QwRkJUeXhEUVVGRExFOUJRVThzUjBGQlJ5eE5RVUZOUVN4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFOUJRVThzUjBGQlJ5eE5RVUZOZDBJc1JVRkJSWEpDTEVWQlFVVklMRVZCUVVVc1VVRkJVU3hGUVVGRkxGTkJRVk5CTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTlCUVU5MVFpeEZRVUZGY0VJc1EwRkJReXhGUVVGRlNpeERRVUZETEVWQlFVVkhMRVZCUVVVc1UwRkJVeXhUUVVGVFF5eEZRVUZGTEVOQlFVTXNTVUZCU1Vvc1JVRkJSU3hMUVVGTExFMUJRVTFKTEVOQlFVTXNSVUZCUlN4SFFVRkhTaXhGUVVGRkxFOUJRVThzVDBGQlQwRXNSVUZCUlN4TlFVRk5MRWxCUVVsRExFVkJRVVYzUXl4SFFVRkZja01zUlVGQlJVb3NRMEZCUXl4RlFVRkZSU3hGUVVGRkxFbEJRVWtzVFVGQlRVUXNRMEZCUXl4RlFVRkZMRTFCUVUxRExFVkJRVVVzUzBGQlN5eHBRa0ZCYVVKQkxFVkJRVVVzVDBGQlQwWXNSVUZCUlVVc1EwRkJReXhGUVVGRlF5eEZRVUZGTEU5QlFVOHNVMEZCVTBNc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFVOHNTMEZCU3l4TlFVRk5MRk5CUVZORExFVkJRVVVzUTBGQlF5eFBRVUZQUnl4RlFVRkZTQ3hEUVVGRExFVkJRVVZuUkN4SFFVRkZhRVFzUTBGQlF5eEZRVUZGTmtNc1IwRkJSVGxETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVWNzUlVGQlJTeEhRVUZITEZOQlFWTkRMRVZCUVVVc1EwRkJReXhQUVVGUGVVTXNSMEZCUlN4TFFVRkxla01zUTBGQlF5eERRVUZETEVWQlFVVkVMRVZCUVVVc1MwRkJTeXhUUVVGVFF5eEZRVUZGTEVOQlFVTXNUMEZCVHl4TFFVRkxMRXRCUVV0QkxFVkJRVVZCTEVOQlFVTXNRMEZCUXl4RlFVRkZSQ3hGUVVGRkxFdEJRVXNzVTBGQlUwTXNSVUZCUlVvc1JVRkJSU3hEUVVGRExFOUJRVTgwUXl4SFFVRkZlRU1zUlVGQlJTeExRVUZMU2l4RlFVRkZMRk5CUVZOSkxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRlBRU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGUnl4RlFVRkZMRXRCUVVzc1UwRkJVME1zUlVGQlJTeERRVUZETEU5QlFVOUJMRVZCUVVVc1NVRkJTU3hEUVVGRExFVkJRVVZFTEVWQlFVVXNTMEZCU3l4VFFVRlRReXhGUVVGRkxFTkJRVU1zVDBGQlQzTkNMRVZCUVVWMFFpeERRVUZETEVWQlFVVjFReXhIUVVGRkxFdEJRVXQyUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hUUVVGVFFTeEZRVUZGTEVOQlFVTXNUMEZCVDBFc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVkVMRVZCUVVVc1MwRkJTeXhWUVVGVkxFTkJRVU1zU1VGQlNVTXNSVUZCUlN4TFFVRkxMRTlCUVU5R0xFVkJRVVVzVTBGQlUwWXNSVUZCUlVNc1JVRkJSU3hEUVVGRExGRkJRVkZETEVWQlFVVXNRMEZCUXl4RlFVRkZReXhGUVVGRkxGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVkJMRVZCUVVWdFFpeEZRVUZGYkVJc1JVRkJSU3hGUVVGRlNpeEZRVUZGUXl4RFFVRkRMRVZCUVVWRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEU5QlFVOXRRaXhGUVVGRlZpeEZRVUZGV0N4RlFVRkZReXhEUVVGRExFVkJRVVZETEVOQlFVTXNSVUZCUlN4SFFVRkhSaXhKUVVGSlJTeEZRVUZGTEUxQlFVMHNUVUZCVFN4SlFVRkpMRTFCUVUwc1owbEJRV2RKTEVWQlFVVkdMRVZCUVVWRkxFVkJRVVVzVFVGQlRVUXNSVUZCUlN4TFFVRkxReXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZRU3hGUVVGRkxGRkJRVkVzVTBGQlUwTXNSVUZCUlN4RFFVRkRMRTlCUVU4d1FpeEZRVUZGTVVJc1EwRkJReXhGUVVGRkxFdEJRVXNzU1VGQlNTeFRRVUZUU2l4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVFNTeEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRaMElzUlVGQlJXaENMRU5CUVVNc1JVRkJSU3hOUVVGTkxFbEJRVWtzVFVGQlRTeHBRa0ZCYVVKQkxFTkJRVU1zUTBGQlF5eEZRVUZGU2l4RFFVRkRMRVZCUVVWQkxFVkJRVVVzVDBGQlR5eERRVUZET0VJc1JVRkJSVGxDTEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1VVRkJVVU1zUlVGQlJVUXNSVUZCUlN4RFFVRkRMRVZCUVVWRkxFVkJRVVVzUlVGQlJVRXNSVUZCUlVZc1JVRkJSU3hQUVVGUFJTeEpRVUZKTkVJc1JVRkJSVGxDTEVWQlFVVkZMRU5CUVVNc1EwRkJReXhGUVVGRlJDeEhRVUZIUnl4RlFVRkZTaXhGUVVGRlJTeERRVUZETEVWQlFVVXNUMEZCVDBRc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlVVc1JVRkJSU3hKUVVGSkxGVkJRVlVzUTBGQlF5eFBRVUZQTEV0QlFVc3NVVUZCVVN4RlFVRkZMRU5CUVVNc1JVRkJSVUVzUlVGQlJTeE5RVUZOTEZOQlFWTkRMRVZCUVVWS0xFVkJRVVVzUTBGQlF5eEpRVUZKUXl4RlFVRkZMRXRCUVVzc1QwRkJUeXhWUVVGVkxFOUJRVThzU1VGQlNVUXNSVUZCUlVrc1IwRkJSM2RDTEVkQlFVVjRRaXhEUVVGRExFVkJRVVYzUWl4SFFVRkZOVUlzUTBGQlF5eEZRVUZGUlN4RlFVRkZMRk5CUVZOQkxFVkJRVVZETEVWQlFVVXNRMEZCUXl4UlFVRlJSU3hGUVVGRkxFTkJRVU1zUlVGQlJVTXNSVUZCUlN4UFFVRlBhVUlzUlVGQlJTeFBRVUZQYUVJc1IwRkJSU3hGUVVGRlFTeEhRVUZGU0N4RlFVRkZSeXhKUVVGSExFVkJRVVVzUTBGQlF5eEhRVUZIWjBJc1JVRkJSVVFzUlVGQlJXaENMRVZCUVVWTUxFVkJRVVVzUlVGQlJVTXNSVUZCUlVNc1EwRkJReXhGUVVGRmIwSXNRMEZCUXl4RlFVRkZMRU5CUVVOcVFpeEZRVUZGTEU5QlFVOHNUMEZCVDJsQ0xFVkJRVVZ3UWl4RlFVRkZSeXhGUVVGRkxFMUJRVTFFTEVWQlFVVXNTMEZCUzBNc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF5eExRVUZMUXl4SFFVRkZVQ3hKUVVGSmRVSXNSVUZCUlVRc1JVRkJSV2hDTEVWQlFVVk1MRVZCUVVVc1JVRkJSVU1zUlVGQlJVTXNRMEZCUXl4RlFVRkZiMElzUTBGQlF5eEZRVUZGYWtJc1JVRkJSU3hSUVVGUlF5eEpRVUZITEVWQlFVVktMRVZCUVVWSExFVkJRVVVzVFVGQlRVUXNSVUZCUlN4TFFVRkxReXhGUVVGRkxFdEJRVXNzUlVGQlJTeFBRVUZQWjBJc1JVRkJSVllzUlVGQlJWUXNSVUZCUlVVc1EwRkJReXhGUVVGRmEwSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRmNFSXNSVUZCUlN4UFFVRlBMRk5CUVZORExFVkJRVVVzUTBGQlF5eFBRVUZQTEV0QlFVc3NTVUZCU1N4VlFVRlZMRU5CUVVNc1QwRkJUMEVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlVRc1JVRkJSU3hQUVVGUExGTkJRVk5ETEVWQlFVVXNRMEZCUXl4UFFVRlBMRXRCUVVzc1RVRkJUU3hGUVVGRlFTeERRVUZETEVOQlFVTXNSVUZCUlVRc1JVRkJSU3hSUVVGUkxGTkJRVk5ETEVWQlFVVXNRMEZCUXl4UFFVRlBkME1zUjBGQlJTeExRVUZMTEUxQlFVMTRReXhEUVVGRExFVkJRVVVzUzBGQlN5eExRVUZMTEVWQlFVVXNVMEZCVTBFc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFVOUpMRVZCUVVVc1QwRkJUMG9zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZSeXhGUVVGRkxFbEJRVWtzVTBGQlUwTXNSVUZCUlN4RFFVRkRlVUlzUjBGQlJYcENMRU5CUVVNc1JVRkJSU3hKUVVGSlNpeEZRVUZGTEV0QlFVc3NUMEZCVDBVc1JVRkJSU3hUUVVGVFJDeEZRVUZGUXl4RlFVRkZMRU5CUVVNc1NVRkJTVU1zUlVGQlJVZ3NSVUZCUlN4RlFVRkZReXhGUVVGRlF5eERRVUZETEVWQlFVVXNUMEZCVDBNc1JVRkJSU3hQUVVGUGJVSXNSVUZCUlZZc1JVRkJSVlFzUlVGQlJTeE5RVUZOUXl4RlFVRkZSQ3hGUVVGRkxFdEJRVXNzUTBGQlF5eEZRVUZGUVN4RFFVRkRMRVZCUVVWQkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVkJMRVZCUVVVc1ZVRkJWU3hUUVVGVFF5eEZRVUZGTEVOQlFVTjVRaXhIUVVGRmVrSXNRMEZCUXl4RlFVRkZMRWxCUVVsS0xFVkJRVVVzUzBGQlN5eFBRVUZQUlN4RlFVRkZMRk5CUVZORUxFVkJRVVZETEVWQlFVVXNRMEZCUXl4SlFVRkpReXhGUVVGRlNDeEZRVUZGTEUxQlFVMUpMRVZCUVVWSUxFVkJRVVVzVFVGQlRVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hQUVVGUFF5eEZRVUZGTEU5QlFVOVRMRVZCUVVWV0xFVkJRVVZFTEVWQlFVVXNUMEZCVDBVc1JVRkJSU3hMUVVGTExFVkJRVVZCTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVWQkxFVkJRVVVzVDBGQlR5eFRRVUZUUXl4RlFVRkZTaXhGUVVGRkxFTkJRVU1zVDBGQlR6WkNMRWRCUVVWNlFpeERRVUZETEVWQlFVVjVRaXhIUVVGRk4wSXNRMEZCUXl4RlFVRkZMRXRCUVVzc1ZVRkJWVWtzUTBGQlF5eEZRVUZGTEVsQlFVbEtMRU5CUVVNc1EwRkJReXhGUVVGRlJ5eEZRVUZGTEV0QlFVc3NVMEZCVTBNc1JVRkJSU3hEUVVGRExFOUJRVTkxUXl4SFFVRkZMRXRCUVV0MlF5eERRVUZETEVWQlFVVXNTVUZCU1N4VFFVRlRRU3hGUVVGRkxFTkJRVU1zVDBGQlQwRXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVZFTEVWQlFVVXNTMEZCU3l4VlFVRlZMRU5CUVVNc1QwRkJUM2xETEVkQlFVVmpMRWRCUVVjc1MwRkJTMEVzUjBGQlJ5eFRRVUZUZEVRc1JVRkJSVW9zUlVGQlJVTXNSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJReXhOUVVGTlJ5eEZRVUZGTEUxQlFVMUtMRVZCUVVVc1NVRkJTVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZSU3hGUVVGRkxFdEJRVXNzVTBGQlUwTXNSVUZCUlN4RFFVRkRMRTlCUVU5M1F5eEhRVUZGWXl4SFFVRkhMRXRCUVV0QkxFZEJRVWNzVTBGQlV6RkVMRVZCUVVWRExFVkJRVVZETEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTMFVzUlVGQlJTeE5RVUZOU0N4RlFVRkZMRTFCUVUxRUxFVkJRVVVzU1VGQlNVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRlF5eEZRVUZGTEUxQlFVMHNVMEZCVTBNc1JVRkJSU3hEUVVGRExFOUJRVTh5UXl4SFFVRkZMRXRCUVVzelF5eERRVUZETEVOQlFVTXNSVUZCUlVRc1JVRkJSU3hQUVVGUExGTkJRVk5ETEVWQlFVVXNRMEZCUXl4UFFVRlBORU1zUjBGQlJTeExRVUZMTlVNc1EwRkJReXhEUVVGRExFVkJRVVZFTEVWQlFVVXNWVUZCVlN4VFFVRlRReXhGUVVGRkxFTkJRVU1zVDBGQlR5eExRVUZMTEV0QlFVdG5SQ3hIUVVGRmFFUXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVVFzUlVGQlJTeGpRVUZqTEZOQlFWTkRMRVZCUVVVc1EwRkJReXhQUVVGUExFdEJRVXNzUzBGQlMybEVMRWRCUVVWcVJDeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZSQ3hGUVVGRkxFdEJRVXNzVTBGQlUwTXNSVUZCUlN4RFFVRkRaMElzUlVGQlJXaENMRU5CUVVNc1NVRkJTVUVzUlVGQlJTeERRVUZEUVN4RFFVRkRMRWRCUVVjc1NVRkJTVW9zUlVGQlJTeExRVUZMTEU5QlFVOUZMRVZCUVVVc1UwRkJVMFFzUlVGQlJVTXNSVUZCUlN4RFFVRkRMRWxCUVVsRExFVkJRVVZJTEVWQlFVVXNSVUZCUlVNc1JVRkJSVU1zUTBGQlF5eEZRVUZGTEU5QlFVOURMRVZCUVVVc1UwRkJVMEVzUlVGQlJTeFRRVUZUUXl4SFFVRkhSQ3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGUVN4RlFVRkZMRk5CUVZNc1UwRkJVME1zUlVGQlJTeERRVUZETEU5QlFVOHNTMEZCU3l4SFFVRkhOa01zUjBGQlJUZERMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVZFTEVWQlFVVXNSMEZCUnl4VFFVRlRReXhGUVVGRkxFTkJRVU1zVDBGQlQzZERMRWRCUVVWNFF5eEZRVUZGTEV0QlFVc3NVMEZCVTBFc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFVOUpMRVZCUVVWS0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlVjc1JVRkJSU3hOUVVGTkxGTkJRVk5ETEVWQlFVVXNRMEZCUXl4SlFVRkpTaXhGUVVGRkxFdEJRVXNzVDBGQlQwVXNSVUZCUlN4VFFVRlRSQ3hGUVVGRlF5eEZRVUZGTEVOQlFVTXNTVUZCU1VNc1JVRkJSVWdzUlVGQlJTeEZRVUZGUXl4RlFVRkZReXhEUVVGRExFVkJRVVVzVDBGQlQwTXNSVUZCUlN4UFFVRlBiVUlzUlVGQlJXeENMRVZCUVVWRUxFVkJRVVVzUzBGQlN5eEZRVUZGTEVWQlFVVkdMRVZCUVVWRkxFVkJRVVVzUzBGQlN5eEZRVUZGUVN4RFFVRkRMRVZCUVVWQkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVkJMRVZCUVVVc1QwRkJUMEVzUlVGQlJTeEhRVUZIUVN4RlFVRkZMRTFCUVUxeFJDeEhRVUZIY2tRc1JVRkJSU3hIUVVGSE9FTXNSMEZCUlRsRExFVkJRVVVzYVVKQlFXbENMRVZCUVVWQkxFVkJRVVVzUjBGQlIwRXNSVUZCUlN4dlFrRkJiMElzUlVGQlJVRXNSVUZCUlN4TlFVRk5RU3hGUVVGRkxIRkNRVUZ4UWl4RlFVRkZRU3hGUVVGRkxFOUJRVTlCTEVWQlFVVXNiMEpCUVc5Q0xFVkJRVVZCTEVWQlFVVXNUVUZCVFVFc1JVRkJSU3hwUWtGQmFVSXNSVUZCUlVFc1JVRkJSU3hIUVVGSFFTeEZRVUZGTEd0Q1FVRnJRaXhGUVVGRlFTeEZRVUZGTEVsQlFVa3NTVUZCU1hWRUxFZEJRVWQ0UkN4RlFVRkZMRk5CUVZORkxFVkJRVVZLTEVWQlFVVXNRMEZCUXl4UFFVRlBXU3hGUVVGRldpeEZRVUZGZVVJc1JVRkJSWEpDTEVWQlFVVktMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJUSkVMRWRCUVVkNlJDeEZRVUZGTEZOQlFWTkZMRVZCUVVWS0xFVkJRVVVzUTBGQlF5eFBRVUZQUVN4SFFVRkhTU3hGUVVGRkxFOUJRVTlQTEVWQlFVVllMRVZCUVVVc2IwSkJRVzlDTEVWQlFVVlpMRVZCUVVWYUxFVkJRVVVzUlVGQlJUSkNMRVZCUVVWMlFpeEZRVUZGU2l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVUwUkN4SFFVRkhNVVFzUlVGQlJTeFRRVUZUUlN4RlFVRkZTaXhGUVVGRkxFTkJRVU1zVDBGQlQxa3NSVUZCUlZJc1JVRkJSU3hQUVVGUFFTeEZRVUZGTEUxQlFVMUtMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJYbEVMRWRCUVVkMlJDeEZRVUZGTEZOQlFWTkZMRVZCUVVWS0xFVkJRVVVzUTBGQlF5eFBRVUZQUVN4RlFVRkZTU3hGUVVGRkxFOUJRVTlQTEVWQlFVVllMRVZCUVVVc1MwRkJTeXhGUVVGRldTeEZRVUZGV2l4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFVkJRVVUyUkN4SFFVRkhWaXhIUVVGRkxFOUJRVThzUlVGQlJTeExRVUZMTEZOQlFWTXNSVUZCUlZjc1IwRkJSMWdzUjBGQlJTeFJRVUZSTEVWQlFVVXNTMEZCU3l4cFFrRkJhVUlzUlVGQlJWa3NSMEZCUjFvc1IwRkJSU3hSUVVGUkxFVkJRVVVzUzBGQlN5eFZRVUZWTEVWQlFVVmhMRWRCUVVkaUxFZEJRVVVzVTBGQlV5eEZRVUZGTEV0QlFVc3NhMEpCUVd0Q0xFVkJRVVZqTEVkQlFVZGtMRWRCUVVVc1MwRkJTeXhGUVVGRkxFdEJRVXNzY1VKQlFYRkNMRVZCUVVWbExFZEJRVWRtTEVkQlFVVXNTMEZCU3l4RlFVRkZMRXRCUVVzc1dVRkJXU3hGUVVGRlowSXNSMEZCUjJwQ0xFZEJRVVVzU1VGQlNTeEZRVUZGYTBJc1IwRkJSMnhDTEVkQlFVVTdRVUZCUVN4RFFVRkpMRVZCUVVWdFFpeEhRVUZIYmtJc1IwRkJSVHRCUVVGQkxFTkJRVTBzUlVGQlJXOUNMRWRCUVVkNlFpeEhRVUZGZDBJc1IwRkJSMFFzUjBGQlIwUXNSVUZCUlN4RlFVRkZMRXRCUVVzc1UwRkJVeXhGUVVGRlNTeEhRVUZITVVJc1IwRkJSWGxDTEVkQlFVZGlMRVZCUVVVc1JVRkJSWFpFTEVWQlFVVXNTVUZCU1RCRUxFZEJRVWN4UkN4RlFVRkZMRWxCUVVreVF5eEhRVUZGTTBNc1JVRkJSU3hKUVVGSmVVUXNSMEZCUjNwRUxFVkJRVVVzUjBGQlIybEZMRWRCUVVkcVJTeEZRVUZGTEdWQlFXVXNVMEZCVTBVc1JVRkJSU3hEUVVGRExFbEJRVWxLTEVWQlFVVXNRMEZCUXl4RlFVRkZMRkZCUVZGRExFdEJRVXRITEVkQlFVY3NRMEZCUXl4SFFVRkhMR1ZCUVdVc1MwRkJTMEVzUlVGQlJVZ3NRMEZCUXl4SFFVRkhMRk5CUVZOQkxFVkJRVVVzUTBGQlEwUXNSVUZCUlVNc1EwRkJReXhGUVVGRmMwUXNSMEZCUnl4VlFVRlZMRU5CUVVNc1QwRkJUMjVFTEVWQlFVVklMRU5CUVVNc1JVRkJSVVFzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZReXhEUVVGRExFVkJRVVVzVDBGQlQwUXNRMEZCUXl4RlFVRkZSU3hGUVVGRkxFdEJRVXR0UlN4SFFVRkhia1VzUlVGQlJTeFBRVUZQTEZOQlFWTkZMRVZCUVVVc1EwRkJReXhQUVVGUFJpeEZRVUZGUlN4RlFVRkZVU3hGUVVGRlJDeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZWQ3hGUVVGRkxFMUJRVTB5UkN4SFFVRkhNMFFzUlVGQlJTeFBRVUZQTkVRc1IwRkJSelZFTEVWQlFVVXNUVUZCVFhORUxFZEJRVWQwUkN4RlFVRkZMRWxCUVVseFJTeEhRVUZIY2tVc1JVRkJSU3hKUVVGSmRVUXNSMEZCUjNaRUxFVkJRVVVzUzBGQlN6UkRMRWRCUVVVMVF5eEZRVUZGTEZsQlFWbDFReXhIUVVGRmRrTXNSVUZCUlN4TlFVRk5kMFFzUjBGQlIzaEVMRVZCUVVVc1UwRkJVMmxDTEVWQlFVVnFRaXhGUVVGRkxFdEJRVXR4UkN4SFFVRkhja1FzUlVGQlJTeFBRVUZQTmtRc1IwRkJSemRFTEVWQlFVVXNVVUZCVVRoRUxFZEJRVWM1UkN4RlFVRkZMRWRCUVVkclJTeEhRVUZIYkVVc1JVRkJSU3hWUVVGVmEwUXNSMEZCUld4RUxFVkJRVVVzV1VGQldWTXNSVUZCUlZRc1JVRkJSU3haUVVGWlZTeEZRVUZGVml4RlFVRkZMRkZCUVZGdlJTeEhRVUZIY0VVc1JVRkJSU3hQUVVGUExGTkJRVk5GTEVWQlFVVXNRMEZCUXl4UFFVRlBhMFFzUjBGQlJ5eFRRVUZUZEVRc1JVRkJSU3hEUVVGRExFOUJRVTlKTEVWQlFVVXNVVUZCVVVvc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NXVUZCV1Vrc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJVWXNSVUZCUlN4alFVRmpiVVFzUjBGQlJXNUVMRVZCUVVVc1IwRkJSeXRETEVkQlFVVXZReXhGUVVGRkxFMUJRVTBzVTBGQlUwVXNSVUZCUlN4RFFVRkRMRkZCUVZGS0xFVkJRVVZKTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVWSUxFVkJRVVVzUlVGQlJVRXNSVUZCUlVRc1JVRkJSU3hQUVVGUFF5eEpRVUZKUkN4RlFVRkZReXhEUVVGRExFVkJRVVVzU1VGQlNVUXNSVUZCUlVNc1EwRkJReXhGUVVGRkxFbEJRVWtzVDBGQlQzRkVMRWRCUVVjc1UwRkJVM1JFTEVWQlFVVXNRMEZCUXl4UFFVRlBTU3hGUVVGRkxGRkJRVkZLTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSU3hMUVVGTFFTeERRVUZETEVOQlFVTXNSVUZCUlVVc1JVRkJSU3hqUVVGakswUXNSMEZCUnk5RUxFVkJRVVVzVDBGQlQwRXNSVUZCUlVFc1JVRkJSU3hOUVVGTkxGTkJRVk5GTEVWQlFVVktMRVZCUVVVc1EwRkJReXhQUVVGUGMwUXNSMEZCUnl4VFFVRlRja1FzUlVGQlJTeERRVUZETEU5QlFVOUhMRWRCUVVkSUxFZEJRVWRCTEVkQlFVZEVMRU5CUVVNc1EwRkJReXhGUVVGRkxFdEJRVXRKTEVWQlFVVXNTVUZCU1Vvc1EwRkJReXhEUVVGRExFVkJRVVZGTEVWQlFVVXNUVUZCVFdsRUxFZEJRVVZxUkN4RlFVRkZMRTlCUVU5cFJDeEhRVUZGYWtRc1JVRkJSU3hOUVVGTk5rTXNSMEZCUlRkRExFVkJRVVVzVDBGQlR6aERMRWRCUVVVNVF5eEZRVUZGTEVsQlFVbDVReXhIUVVGRmVrTXNSVUZCUlN4UFFVRlBNRU1zUjBGQlJURkRMRVZCUVVVc1QwRkJUeXhWUVVGVkxFTkJRVU1zVVVGQlVVVXNSVUZCUlVvc1JVRkJSU3hEUVVGRExFVkJRVVZETEVWQlFVVXNSVUZCUlVVc1IwRkJSME1zUlVGQlJTeFZRVUZWTEUxQlFVMHNWVUZCVlN4TlFVRk5MRXRCUVV0QkxFTkJRVU1zUjBGQlIwTXNSVUZCUlVZc1JVRkJSU3hQUVVGUFJ5eEZRVUZGTEVWQlFVVkJMRVZCUVVWRUxFVkJRVVZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVscFFpeEZRVUZGY0VJc1JVRkJSVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUTJFc1JVRkJSVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUjBnc1JVRkJSVWNzUTBGQlF5eEhRVUZQUVN4RlFVRkZMRk5CUVU0c1IwRkJkMElzVDBGQlQwRXNSVUZCUlN4RFFVRkRMRWRCUVhCQ0xGVkJRWFZDU2l4RlFVRkZTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNTVUZCU1doQ0xFVkJRVVZuUWl4RlFVRkZMRU5CUVVNc1JVRkJSU3hIUVVGSExFOUJRVThzVlVGQlZTeGxRVUZsTEV0QlFVdDJRaXhGUVVGRlR5eERRVUZETEVWQlFVVXNUVUZCVFN4SlFVRkpMRTFCUVUwc2VVSkJRWGxDUVN4RFFVRkRMRVZCUVVWUUxFVkJRVVZQTEVOQlFVTXNSVUZCUlN4SFFVRkhUaXhKUVVGSkxGRkJRVkVzUTBGQlF5eE5RVUZOTEVsQlFVa3NUVUZCVFN4dFJVRkJiVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCVDBFc1NVRkJTaXhGUVVGTkxFMUJRVTBzU1VGQlNTeE5RVUZOTEhORVFVRnpSQ3hGUVVGRkxFOUJRVTlETEVWQlFVVXNVMEZCVTBVc1IwRkJSVW9zUjBGQlJTeERRVUZETEZGQlFWRkRMRWRCUVVWRExFZEJRVVVzUTBGQlF5eEZRVUZGU1N4SFFVRkZMRVZCUVVWQkxFZEJRVVZFTEVWQlFVVkRMRWxCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWxwUWl4SFFVRkZhRUlzUjBGQlJTeEhRVUZIWVN4RlFVRkZha0lzUlVGQlJVY3NSVUZCUXl4RFFVRkRMRWRCUVVkcFFpeEhRVUZGY0VJc1JVRkJSVWNzUlVGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlVNc1IwRkJSVW9zUlVGQlJVY3NSVUZCUXl4RlFVRkZMRU5CUVVNc1NVRkJTV2xDTEVkQlFVVXNTMEZCUzJoQ0xFZEJRVVZLTEVWQlFVVkhMRVZCUVVNc1IwRkJSeXhGUVVGRlRDeEhRVUZGY1VJc1JVRkJSV1lzUjBGQlJTeEZRVUZGU0N4SFFVRkZTaXhGUVVGRExFVkJRVVZETEVWQlFVTXNSMEZCUnl4UFFVRlBMRTlCUVU5QkxFZEJRVVZ6UWl4TFFVRkpja0lzUjBGQlJYRkNMRVZCUVVNc1JVRkJSWFJDTEVkQlFVVXNUMEZCVDBRc1IwRkJSVU1zUjBGQlJTeExRVUZMTEVOQlFVTXNUMEZCVDNGQ0xFVkJRVVZXTEVWQlFVVmFMRWRCUVVWRkxFVkJRVU1zUlVGQlJVUXNSVUZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRlF5eEZRVUZGTEU5QlFVOW5SQ3hIUVVGRmFFUXNSVUZCUlN4UlFVRlJLME1zUjBGQlJTOURMRVZCUVVVc1ZVRkJWU3hUUVVGVFJTeEZRVUZGTEVOQlFVTXNUMEZCVDNsQ0xFZEJRVVY2UWl4RFFVRkRMRVZCUVVWR0xFVkJRVVVzVTBGQlUwWXNSVUZCUlVNc1JVRkJSU3hEUVVGRExGRkJRVkZETEVWQlFVVkVMRVZCUVVWRExFVkJRVVZHTEVWQlFVVXNVVUZCVVVrc1JVRkJSWFZDTEVWQlFVVXpRaXhGUVVGRlJTeERRVUZETEVOQlFVTXNSMEZCUjBFc1NVRkJTU3hQUVVGUFZTeEZRVUZGVml4RlFVRkZSaXhGUVVGRkxFMUJRVTFETEVWQlFVVkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGUVN4RlFVRkZMRXRCUVV0dlJDeEhRVUZIY0VRc1JVRkJSU3hYUVVGWFowVXNSMEZCUjJoRkxFVkJRVVVzYjBKQlFXOUNMRVZCUVVWelJDeEhRVUZIZEVRc1JVRkJSU3hwUWtGQmFVSXNSVUZCUlN0RExFZEJRVVV2UXl4RlFVRkZMRTlCUVU4c1EwRkJReXhQUVVGUFVTeEZRVUZGTEZWQlFWVXNVMEZCVTA0c1JVRkJSU3hEUVVGRFN5eEZRVUZGTEVWQlFVVXNTVUZCU1ZRc1JVRkJSU3hEUVVGRExFVkJRVVZETEVWQlFVVXNSVUZCUlVNc1JVRkJSU3hGUVVGRkxGTkJRVk5GTEVWQlFVVXNRMEZCUXl4SFFVRkhaMElzUlVGQlJXaENMRU5CUVVNc1JVRkJSU3hEUVVGRExFbEJRVWxHTEVWQlFVVkZMRVZCUVVVc1IwRkJUMFlzUlVGQlJTeFRRVUZPTEVWQlFXRXNUVUZCVFN4SlFVRkpMRTFCUVUwc1NVRkJTVUVzUlVGQlJTeExRVUZMTEVsQlFVa3NSVUZCUlN4dlEwRkJiME5CTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWRCUVVjMFFpeEZRVUZGTlVJc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJUQkNMRWRCUVVVeFFpeEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRTlCUVU4c1ZVRkJWU3hsUVVGbExFdEJRVXRHTEVWQlFVVkZMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzVFVGQlRTeEpRVUZKTEUxQlFVMHNLMEpCUVN0Q1FTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRTlCUVU5R0xFVkJRVVZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSMFFzU1VGQlNVTXNRMEZCUXl4RFFVRkRMRTlCUVU4d1FpeEhRVUZGZUVJc1EwRkJReXhGUVVGRkxFTkJRVU1zUzBGQlMwRXNRMEZCUXl4RFFVRkRMRVZCUVVWQkxFTkJRVU1zUlVGQlJTeEhRVUZIU0N4RlFVRkZMRVZCUVVVc1RVRkJUU3hKUVVGSkxFMUJRVTBzYlVSQlFXMUVSeXhGUVVGRkxFdEJRVXNzU1VGQlNTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SlFVRkpSQ3hGUVVGRkxFVkJRVVVzVTBGQlUwTXNSVUZCUlN4RFFVRkRMRTlCUVU5QkxFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVkdMRU5CUVVNc1JVRkJSU3hQUVVGUFVTeEZRVUZGTEVWQlFVVXNVMEZCVTA0c1JVRkJSU3hEUVVGRExFOUJRVTlCTEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVWR0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NVMEZCVTBVc1JVRkJSU3hEUVVGRExFOUJRVTlGTEVWQlFVVXNVMEZCVTBZc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFXTkJMRVZCUVVVc1EwRkJReXhKUVVGV0xFOUJRV05KTEVWQlFVVktMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVZCTEVWQlFVVXNRMEZCUXl4SFFVRkhTU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVXNVMEZCVTBvc1JVRkJSVU1zUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUTBRc1JVRkJSVWtzUlVGQlJVZ3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhUUVVGVFF5eEZRVUZGTEVOQlFVTXNSMEZCUjBzc1JVRkJSU3hGUVVGRmJVSXNSMEZCUlhoQ0xFTkJRVU1zUlVGQlJVRXNSVUZCUlN4SlFVRkpMRTFCUVUwc1NVRkJTU3hOUVVGTkxIZERRVUYzUTBFc1JVRkJSU3hOUVVGTlFTeEZRVUZGTEZOQlFWTXNSVUZCUlN4RlFVRkZMREJEUVVFd1F5eEZRVUZGTEVsQlFVbEtMRWRCUVVkSkxFVkJRVVVzUjBGQlJ5eExRVUZMTEU5QlFVOUJMRVZCUVVVc1UwRkJVeXhGUVVGRkxFVkJRVVVzVDBGQlQwWXNSVUZCUlN4VFFVRlRSQ3hGUVVGRlF5eEZRVUZGTEVOQlFVTXNTVUZCU1VNc1JVRkJSWGRDTEVWQlFVVXhRaXhGUVVGRlF5eERRVUZETEVWQlFVVXNUMEZCVDBNc1NVRkJTVU1zUlVGQlJWRXNSVUZCUlZZc1JVRkJSU3hGUVVGRlF5eERRVUZETEVWQlFVVlJMRVZCUVVWVUxFVkJRVVZHTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hQUVVGUExGTkJRVk5KTEVWQlFVVXNRMEZCUXl4UFFVRlBVeXhGUVVGRkxGTkJRVk5VTEVOQlFVTXNSVUZCUlN4SlFVRkpMRk5CUVZOQkxFVkJRVVVzUTBGQlF5eFBRVUZQTEU5QlFVOHNTMEZCUzBFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEdOQlFXTXNVMEZCVTBFc1JVRkJSVW9zUlVGQlJTeERRVUZETEU5QlFVOWhMRVZCUVVVc1UwRkJVMklzUTBGQlF5eEZRVUZGTEVsQlFVa3NVMEZCVTBFc1JVRkJSU3hEUVVGRExFOUJRVTlCTEVWQlFVVXNVMEZCVTBrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEU5QlFVOVhMRVZCUVVVc1VVRkJVVUVzUlVGQlJTeERRVUZETEVWQlFVVXNVMEZCVTBFc1JVRkJSU3hEUVVGRExFVkJRVVVzVTBGQlUwRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1QwRkJUME1zUlVGQlJTeFJRVUZSUVN4RlFVRkZMRU5CUVVNc1JVRkJSU3hUUVVGVFFTeEZRVUZGTEVOQlFVTXNSVUZCUlN4VFFVRlRRU3hGUVVGRkxFTkJRVU1zUlVGQlJTeE5RVUZOUXl4RlFVRkZMRTlCUVU5QkxFVkJRVVVzUTBGQlF5eEZRVUZGTEZGQlFWRkJMRVZCUVVVc1EwRkJReXhGUVVGRkxGRkJRVkZCTEVWQlFVVXNRMEZCUXl4RlFVRkZMRTFCUVUxRExFVkJRVVVzVDBGQlQwRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1VVRkJVVUVzUlVGQlJTeERRVUZETEVWQlFVVXNVVUZCVVVFc1JVRkJSU3hEUVVGRExFVkJRVVVzVVVGQlVVd3NSVUZCUlN4VlFVRlZMRU5CUVVNc1JVRkJSU3hKUVVGSkxGTkJRVk5VTEVWQlFVVXNRMEZCUXl4UFFVRlBRU3hGUVVGRkxGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4UlFVRlJVeXhGUVVGRkxGVkJRVlVzUTBGQlF5eEZRVUZGTEVsQlFVa3NVMEZCVTFRc1JVRkJSU3hEUVVGRExFOUJRVTlCTEVWQlFVVXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxGTkJRVk5UTEVWQlFVVXNWMEZCVnl4RFFVRkRMRVZCUVVVc1NVRkJTU3hUUVVGVFZDeEZRVUZGTEVOQlFVTXNUMEZCVDBFc1JVRkJSU3hoUVVGaExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNVMEZCVTFNc1JVRkJSU3hYUVVGWExFTkJRVU1zUlVGQlJTeEpRVUZKTEZOQlFWTlVMRVZCUVVVc1EwRkJReXhQUVVGUFFTeEZRVUZGTEdGQlFXRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzVVVGQlVVWXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFbERRVE15WkN4SlFVRkJjMFVzUjBGQlFVTXNSMEZCUVVNc1NVRkJRU3hqUVVOQkxFbEJRVWxETEVkQlFXRkVMRWxCUVZGQkxFZEJRVXNzVjBGQlpTeFZRVUZaTEVOQlEzSkVMRWxCUVVsRkxFVkJRV2RDTEZOQlFWVkRMRVZCUVVkRExFVkJRVWNzUTBGRGFFTXNUMEZCUVVZc1JVRkJaMElzVDBGQlR5eG5Ra0ZEYkVJc1EwRkJSU3hWUVVGWExFTkJRVU1zUTBGQlJTeFpRVUZoTEU5QlFWTXNVMEZCVlVNc1JVRkJSME1zUlVGQlJ5eERRVUZGUkN4RlFVRkZMRlZCUVZsRExFTkJRVWNzUjBGRE1VVXNVMEZCVlVRc1JVRkJSME1zUlVGQlJ5eERRVUZGTEZGQlFWTkRMRXRCUVV0RUxFVkJRVThzVDBGQlR5eFZRVUZWTEdWQlFXVXNTMEZCUzBFc1JVRkJSME1zUTBGQlF5eEpRVUZIUml4RlFVRkZSU3hEUVVGRExFVkJRVWxFTEVWQlFVVkRMRU5CUVVNc1JVRkJSeXhGUVVNM1JrZ3NSVUZCWTBNc1JVRkJSME1zUTBGQlF5eERRVU0zUWl4RlFVTkJMRTlCUVU4c1UwRkJWVVFzUlVGQlIwTXNSVUZCUnl4RFFVTnVRaXhIUVVGSkxFOUJRVTlCTEVkQlFVMHNXVUZCWTBFc1NVRkJUU3hMUVVOcVF5eE5RVUZOTEVsQlFVa3NWVUZCVlN4MVFrRkJlVUlzVDBGQlQwRXNRMEZCUXl4RlFVRkpMQ3RDUVVFclFpeEZRVU0xUmtZc1JVRkJZME1zUlVGQlIwTXNRMEZCUXl4RlFVTnNRaXhUUVVGVFJTeEhRVUZMTEVOQlFVVXNTMEZCU3l4WlFVRmpTQ3hEUVVGSExFTkJRM1JEUVN4RlFVRkZMRlZCUVZsRExFbEJRVTBzUzBGQlR5eFBRVUZQTEU5QlFVOUJMRU5CUVVNc1IwRkJTMFVzUlVGQlJ5eFZRVUZaUml4RlFVRkZMRlZCUVZjc1NVRkJTVVVzUlVGRGJrWXNRMEZEU2l4RlFVRkhMRVZCUTBnc1QwRkJUeXhsUVVGbFRpeEhRVUZUTEdGQlFXTXNRMEZCUlN4TlFVRlBMRVZCUVVzc1EwRkJReXhGUVVNMVJFRXNSMEZCVVN4WFFVRmhRU3hIUVVGUkxFMUJRVkZCTEVkQlFWRXNhVUpCUVcxQ1FTeEhRVUZSTEd0Q1FVRnZRaXhQUVZrMVJpeFRRVUZUVHl4SFFVRnJRa01zUlVGQlIwb3NSVUZCUnl4RFFVczNRaXhIUVVGSkxFOUJRVThzVTBGQlUwa3NRMEZCUXl4SFFVRkxMRTlCUVU4c1UwRkJVMG9zUTBGQlF5eEZRVU4yUXl4UFFVRlBTU3hGUVVGSlNpeEZRVWxtTEVsQlFVbExMRVZCUVVzc1QwRkJUMFFzUlVGRFdrVXNSVUZCU3l4UFFVRlBUaXhGUVVOb1FpeEhRVUZKU3l4SlFVRlBReXhGUVVOUUxFOUJRVTlFTEVWQlFVdERMRVZCUVVzc1IwRkJTeXhGUVVVeFFpeEhRVUZKUkN4SlFVRlBMRk5CUVZVc1EwRkZha0lzUjBGQlNVUXNTVUZCVFN4TFFVTk9MRTlCUVU5S0xFbEJRVTBzUzBGQlR5eEZRVUZKTEVkQlEzWkNMRWRCUVVsQkxFbEJRVTBzUzBGRFdDeE5RVUZQTEVkQlRWZ3NSMEZNUVVrc1JVRkJTVUVzUlVGQlJTeFJRVUZSTEVWQlEyUktMRVZCUVVsQkxFVkJRVVVzVVVGQlVTeEZRVU5rU3l4RlFVRkxMRTlCUVU5RUxFVkJRMXBGTEVWQlFVc3NUMEZCVDA0c1JVRkZVa3NzU1VGQlQwTXNSVUZEVUN4UFFVRlBSQ3hGUVVGTFF5eEZRVUZMTEVkQlFVc3NRMEZGT1VJc1EwRkhRU3hQUVVGSlJpeEZRVUZKU2l4RlFVTkhMRWRCUTFCSkxFVkJRVWxLTEVWQlEwY3NSVUZEVUVrc1NVRkJUVW9zUlVGRFF5eEZRVVZRTEU5QlFVOHNUVUZCVFVrc1EwRkJReXhGUVVOUUxFOUJRVThzVFVGQlRVb3NRMEZCUXl4RlFVRkpMRVZCUVVrc1IwRkRlRUlzVDBGQlR5eE5RVUZOUVN4RFFVRkRMRVZCUTFvc1JVRkZTaXhOUVVGTkxGRkJRVkZKTEVOQlFVTXNSVUZCU1N4RlFVRkpMRTlCUVU4c1IwRkRla01zUTBGRFFWSXNSMEZCVVN4clFrRkJiMEpQTEVkQlJUVkNMRk5CUVZOSkxFZEJRV2xDU0N4RlFVRkhTaXhGUVVGSExFTkJRelZDTEU5QlFVOUpMRVZCUVVsS0xFVkJRVWtzUlVGQlNVa3NSVUZCU1Vvc1JVRkJTU3hIUVVGTExFTkJRM0JETEVOQlEwRktMRWRCUVZFc2FVSkJRVzFDVnl4SFFXdEZNMElzU1VGQlNVTXNSMEZCZFVJc1ZVRkJXU3hEUVZOdVF5eFRRVUZUUVN4RlFVRk5ReXhGUVVGVFF5eEZRVUZUUXl4RlFVRmhMRU5CUXpGRExFdEJRVXNzVFVGQlVVTXNSMEZEWWl4TFFVRkxMRTFCUVZFc1JVRkRZaXhMUVVGTExHRkJRV1ZFTEVkQlFXVXNSVUZCU1N4TFFVRkxMRWxCUVVsQkxFVkJRV0VzUjBGQlJ5eEZRVUZKTEVkQlEzQkZMRXRCUVVzc1UwRkJWMFFzUjBGQlYxQXNSMEZEZGtKTkxFZEJRMEVzUzBGQlN5eFRRVUZUUVN4RFFVRlBMRU5CUXpkQ0xFTkJRMEVzWTBGQlR5eGxRVUZsUkN4RlFVRk5MRlZCUVZjc1QwRkJVU3hEUVVrelF5eEpRVUZMTEZWQlFWa3NRMEZCUlN4UFFVRlBMRXRCUVVzc1MwRkJUeXhGUVVOMFF5eFhRVUZaTEVkQlExb3NZVUZCWXl4RlFVTnNRaXhEUVVGRExFVkJRMFFzVDBGQlR5eGxRVUZsUVN4RlFVRk5MRlZCUVZjc1UwRkJWU3hEUVVVM1F5eEpRVUZMTEZWQlFWa3NRMEZCUlN4UFFVRlBMRXRCUVVzc1MwRkJUeXhGUVVOMFF5eFhRVUZaTEVkQlExb3NZVUZCWXl4RlFVTnNRaXhEUVVGRExFVkJRMFFzVDBGQlR5eGxRVUZsUVN4RlFVRk5MRlZCUVZjc1ZVRkJWeXhEUVVVNVF5eEpRVUZMTEZWQlFWa3NRMEZCUlN4UFFVRlBMRXRCUVVzc1VVRkJWU3hEUVVGSExFVkJRelZETEZkQlFWa3NSMEZEV2l4aFFVRmpMRVZCUTJ4Q0xFTkJRVU1zUlVGRlJFRXNSVUZCVFN4VlFVRlZMRTFCUVZFc1ZVRkJXU3hEUVVOb1F5eExRVUZMTEUxQlFWRkpMRWRCUTJJc1MwRkJTeXhOUVVGUkxFTkJRMnBDTEVWQlUwRktMRVZCUVUwc1ZVRkJWU3hSUVVGVkxGTkJRVlZMTEVWQlFWVkRMRVZCUVZNc1EwRkRia1FzU1VGQlNVTXNSVUZCVVN4TFFVTmFMRTlCUVVsRUxFbEJRVmtzVTBGRFdrUXNSVUZCVjBFc1JVRkJVeXhMUVVGTFF5eERRVUZQTEVkQlF6ZENMRXRCUVVzc1dVRkJXU3hUUVVGVlJTeEZRVUZIUXl4RlFVRkhMRU5CUVVVc1QwRkJUMG9zUlVGQlUwa3NSVUZCUjBRc1JVRkJSMFFzUTBGQlN5eERRVUZITEVOQlFVTXNRMEZETjBVc1JVRmxRVkFzUlVGQlRTeFZRVUZWTEZsQlFXTXNVMEZCVlVzc1JVRkJWVXNzUlVGQlowSXNRMEZET1VRc1NVRkJTVU1zUlVGQlRTeExRVUZMTEU5QlFVOHNSVUZCUjBNc1JVRkJUeXhMUVVGTExFOUJRVThzUlVGRE5VTXNUMEZCVHl4TFFVRkxMRk5CUVZORUxFVkJRVXRETEVWQlFVMHNSMEZCVFZBc1JVRkJWVXNzUTBGQll5eERRVU5zUlN4RlFVOUJWaXhGUVVGTkxGVkJRVlVzU1VGQlRTeFRRVUZWWVN4RlFVRkxReXhGUVVGakxFTkJReTlETEU5QlFVOHNTMEZCU3l4TlFVRk5MRWxCUVVsRUxFVkJRVXRETEVWQlFXTXNTVUZCU1N4RFFVTnFSQ3hGUVdWQlpDeEZRVUZOTEZWQlFWVXNTVUZCVFN4VFFVRlZZU3hGUVVGTFJTeEZRVUZQUXl4RlFVRlhMRU5CUXk5RExFdEJRVXNzVFVGQlRTeFhRVU5ZTEV0QlFVc3NUVUZCVVN4TFFVRkxMRTFCUVUwc1RVRkJUU3hIUVVOc1F5eEpRVUZKUXl4RlFVRlRMRXRCUVVzc1RVRkJUU3hKUVVGSlNpeEZRVUZMUlN4RlFVRlBReXhGUVVGWExFbEJRVWtzUlVGRGRrUXNUMEZCU1VNc1NVRkJWeXhKUVVGUlFTeEpRVUZYTEVkQlEzWkNRU3hIUVVWWUxFdEJRVXNzVFVGQlVTeEpRVUZKUXl4SFFVRmpMRU5CUVVNc1MwRkJTeXhOUVVGUFJDeERRVUZOTEVOQlFVTXNSVUZETlVNc1IwRkRXQ3hGUVZGQmFrSXNSVUZCVFN4VlFVRlZMRWxCUVUwc1UwRkJWV0VzUlVGQlN5eERRVU5xUXl4UFFVRlBMRXRCUVVzc1UwRkJVMEVzUlVGQlMwRXNSVUZCU3l4SFFVRk5MRTFCUVZNc1NVRkJUU3hEUVVONFJDeEZRVTlCWWl4RlFVRk5MRlZCUVZVc1QwRkJVeXhUUVVGVllTeEZRVUZMTEVOQlEzQkRMRTlCUVU4c1MwRkJTeXhWUVVGVlFTeEZRVUZMUVN4RlFVRkxMRWRCUVUxTkxFVkJRVmNzU1VGQlRTeERRVU16UkN4RlFVTkJia0lzUlVGQlRTeFZRVUZWTEV0QlFVOHNVMEZCVldFc1JVRkJTMFVzUlVGQlQwTXNSVUZCVnl4RFFVTndSQ3hKUVVGSlNTeEZRVUZMTEV0QlFVc3NUVUZCVFN4RlFVTndRaXhQUVVGUFFTeEZRVUZITEVsQlFVbFFMRVZCUVV0RkxFVkJRVTlETEVOQlFWTXNSMEZCUzBFc1JVRkJXVWtzUlVGQlN5eEpRVU0zUkN4RlFVVkJjRUlzUlVGQlRTeFZRVUZWTEZWQlFWa3NVMEZCVlhGQ0xFVkJRVTlNTEVWQlFWY3NRMEZEY0VRc1NVRkJTVWtzUlVGQlN5eExRVUZMTEUxQlFVMHNSVUZEY0VJc1QwRkJUMEVzUlVGQlJ5eFRRVUZUUXl4RlFVRlBUQ3hEUVVGVExFbEJRVTBzUjBGQlMwRXNSVUZCV1Vrc1JVRkJTeXhKUVVOdVJTeEZRVk5CY0VJc1JVRkJUU3hWUVVGVkxGTkJRVmNzVTBGQlZYTkNMRVZCUVUxRExFVkJRWFZDTEVOQlJUbEVMRkZCUkVsSUxFVkJRVXNzUzBGQlN5eE5RVUZOTEVWQlFVZEpMRVZCUVZVc1IwRkRlRUlzUlVGQlNTeEZRVUZITEVWQlFVbEdMRVZCUVVzc1QwRkJVU3hKUVVNM1FrVXNSVUZCVlVvc1JVRkJSeXhKUVVGSlJTeEZRVUZMTEVOQlFVTXNSVUZCUnl4UFFVRlhMRVZCUVVzc1IwRkJTMFVzUlVGRGJrUXNUMEZCVDBRc1IwRkJlVUlzUTBGQlEwTXNSVUZCVlN4TFFVRlBTaXhEUVVOMFJDeEZRVTlCY0VJc1JVRkJUU3hWUVVGVkxGRkJRVlVzVTBGQlZXRXNSVUZCUzFVc1JVRkJkVUlzUTBGRE5VUXNUMEZCVHl4TFFVRkxMR0ZCUVdGV0xFVkJRVXRCTEVWQlFVc3NSMEZCVFZVc1EwRkJjVUlzUTBGRGJFVXNSVUZQUVhaQ0xFVkJRVTBzVlVGQlZTeFpRVUZqTEZOQlFWVnpRaXhGUVVGTlF5eEZRVUYxUWl4RFFVTnFSU3hKUVVGSlNDeEZRVUZMTEV0QlFVc3NUVUZCVFN4RlFVTndRaXhQUVVGUFFTeEZRVUZITEZkQlFWZEZMRU5CUVVrc1IwRkJTeXhEUVVGRFF5eEZRVUYzUWtnc1JVRkJTeXhKUVVOb1JTeEZRVVZCY0VJc1JVRkJUU3hWUVVGVkxHRkJRV1VzVTBGQlZWY3NSVUZCUzBNc1JVRkJUV0VzUlVGQllVWXNSVUZCZFVJc1EwRkRjRVlzU1VGQlNVZ3NSVUZCU3l4TFFVRkxMRTFCUVUwc1JVRkRjRUlzVDBGQlNVRXNSVUZCUnl4WlFVRlpWQ3hGUVVGTFF5eEZRVUZOWVN4RFFVRlhMRWxCUVUwc1IwRkJTMFlzUlVGRGVrTXNTMEZEU2tnc1EwRkRXQ3hGUVVkQmNFSXNSVUZCVFN4VlFVRlZMRTlCUVZNc1UwRkJWVXNzUlVGQlZXdENMRVZCUVhWQ0xFTkJRMmhGTEVsQlFVbElMRVZCUVVzc1MwRkJTeXhaUVVGWkxFVkJRM1JDVFN4RlFVdEtMRTlCU2tGT0xFVkJRVWNzVVVGQlVTeFRRVUZWV2l4RlFVRkhReXhGUVVGSGEwSXNSVUZCUnl4RFFVTXhRaXhIUVVGSkxFTkJRVU4wUWl4RlFVRlRSeXhGUVVGSFF5eEZRVUZIYTBJc1EwRkJReXhGUVVOcVFpeFBRVUZQUkN4RlFVRk5SU3hGUVVOeVFpeERRVUZETEVWQlEwY3NRMEZCUTBZc1IwRkJUMGdzUlVGRFJDeExRVU5LU0N4RFFVTllMRVZCUlVGd1FpeEZRVUZOTEZWQlFWVXNWVUZCV1N4VFFVRlZTeXhGUVVGVkxFTkJRelZETEVsQlFVbDNRaXhGUVVGTkxFTkJRVU1zUlVGRFVGUXNSVUZCU3l4TFFVRkxMRmxCUVZrc1JVRkRNVUlzVDBGQlFVRXNSVUZCUnl4UlFVRlJMRk5CUVZWYUxFVkJRVWRETEVWQlFVZHJRaXhGUVVGSExFTkJRekZDTEU5QlFVOUZMRVZCUVVrc1RVRkJVWGhDTEVWQlFWTkpMRVZCUVVkRUxFVkJRVWR0UWl4RFFVRkRMRVZCUVVkRkxFTkJRekZETEVOQlFVTXNSVUZEVFZRc1EwRkRXQ3hGUVVOQmNFSXNSVUZCVFN4VlFVRlZMRTlCUVZNc1UwRkJWVXNzUlVGQlZYbENMRVZCUVdNc1EwRkhka1FzVVVGR1NVZ3NSVUZCU1N4RlFVRkhiRU1zUlVGQlNYRkRMRVZCUTFoRExFVkJRVXNzUzBGQlN5eFJRVUZSTEV0QlFVc3NUMEZCVHl4RlFVRkhReXhGUVVGWExFVkJRVWRETEVWQlF6VkRMRVZCUVVWQkxFVkJRVTlHTEVWQlFVY3NTMEZCU3l4SFFVRkhMRTFCUTNaQ2RFTXNSVUZCU1Zrc1JVRkJVMW9zUlVGQlIzZERMRVZCUVVzc1RVRkJUMDRzU1VGQlN5eEpRVUZKTEVWQlEzcERMRTlCUVU5c1F5eERRVU5ZTEVWQlYwRlBMRVZCUVUwc1ZVRkJWU3hSUVVGVkxGTkJRVlZyUXl4RlFVRlhReXhGUVVGaExFTkJRM2hFTEVsQlFVbERMRVZCUVU4c1MwRkJTeXhUUVVGVFJpeERRVUZUTEVWQlEyeERMRWRCUVVsRkxFbEJRVk1zVDBGRFZDeFBRVUZQUXl4SFFVRlRMRVZCUTNCQ0xFbEJRVWxETEVWQlFWbEdMRVZCUVVzc1ZVRkJWMGNzUlVGQldVZ3NSVUZCU3l4VlFVRlhTU3hGUVVGUFNpeEZRVUZMTEV0QlEzQkZTeXhGUVVGUlRpeEpRVUZuUWl4UFFVRlpMRVZCUVVrc1JVRkRlRU5TTEVWQlFVdFBMRWxCUVdNc1QwRkJXU3hIUVVGTFRTeEZRVUZMTEZGQlFWRk9MRVZCUVZjc1JVRkJSeXhMUVVGTExGRkJRVkVzUlVGQlNTeEZRVU53Uml4UFFVRlBSeXhIUVVGVExGVkJRVmtzUTBGRGVFSkxMRVZCUVUwc1QwRkRSaXhQUVVGUlJDeEZRVUZQTEVOQlExZ3NTVUZCU3l4SFFVTkVMRWRCUVVrc1JVRkJSV1FzUlVGQlNXRXNSVUZCU3l4TFFVRkxMRTlCUTJoQ0xFMUJRVThzUTBGQlJTeExRVUZOTEVkQlFVOHNUVUZCVHl4RFFVRkRRU3hGUVVGTExFdEJRVXRpTEVOQlFVTXNSVUZCUjJFc1JVRkJTeXhQUVVGUFlpeERRVUZETEVOQlFVTXNRMEZCUlN4RlFVTm9SV01zUlVGQlVTeEZRVU5TTEZOQlEwb3NTVUZCU3l4SFFVTkVMRWRCUVVrc1JVRkJSV1FzUlVGQlNXRXNSVUZCU3l4TFFVRkxMRTlCUTJoQ0xFOUJRVUZNTEVWQlFWa3NRMEZCUXl4RlFVRkpTeXhGUVVGTExFdEJRVXRpTEVOQlFVTXNSVUZCUjFFc1JVRkJXU3hEUVVGRExFVkJRVWxMTEVWQlFVc3NUMEZCVDJJc1EwRkJReXhGUVVOMFJDeERRVUZGTEV0QlFVMHNSMEZCVHl4TlFVRlBVU3hEUVVGWkxFVkJSVGREVFN4RlFVRlJMRVZCUTFvc1NVRkJTeXhIUVVWRUxGRkJRVk5GTEVWQlFWRXNTMEZCVFN4RFFVTnVRaXhIUVVGSkxFVkJRVVZCTEVkQlFWTk1MRVZCUVZVc1QwRkJVU3hEUVVNM1FrY3NSVUZCVVN4RlFVTlNMRk5CUVZORExFTkJRMklzUTBGRFFTeEhRVUZKTEVWQlFVVklMRVZCUVZWSkxFTkJRVXNzUlVGQlNVd3NSVUZCVlVzc1EwRkJTeXhGUVVGRkxFOUJRM1JETEV0QlExSXNRMEZEUVN4TFFVRlBRU3hGUVVGUkxFVkJRVWRCTEVsQlEyUk1MRVZCUVZWTExFVkJRVkVzUTBGQlF5eEZRVUZKVEN4RlFVRlZTeXhEUVVGTExFVkJRVVZLTEVWQlFWVkpMRU5CUVVzc1EwRkJReXhGUVVGRkxGTkJRekZFU2l4RlFVRlZTU3hGUVVGUkxFTkJRVU1zUlVGQlNTeEZRVVV6UWtnc1JVRkJUMFlzUlVGQlZTeERRVUZETEVWQlFVVkRMRVZCUVZVc1EwRkJReXhEUVVGRExFVkJRMmhEV2l4RlFVRkpMRWRCUTBwakxFVkJRVkZPTEVsQlFXZENMRTlCUVZrc1JVRkJTU3hGUVVONFF5eFRRVU5LTEVsQlFVc3NSMEZEUkN4TlFVRlBMRU5CUVVVc1MwRkJUU3hIUVVGTkxFMUJRVThzVFVGQlZTeERRVU01UXl4RFFVVlNMRU5CUVVNc1EwRkRUQ3hGUVZWQmJrTXNSVUZCVFN4VlFVRlZMR2RDUVVGclFpeFRRVUZWTkVNc1JVRkJXVlFzUlVGQllWVXNSVUZCWVN4RFFVTTVSU3hIUVVGSlJDeEpRVUZsTEZOQlEyWkJMRVZCUVdFc1MwRkJTeXhQUVVGUExFVkJRM3BDUXl4RlFVRmpMRTlCUTFaRUxFbEJRV1VzVVVGRFppeFBRVUZQVUN4SFFVRlRMRVZCUlhoQ0xFbEJRVWxUTEVWQlFVc3NTMEZCU3l4VFFVRlRSaXhEUVVGVkxFZEJRVXNzUzBGQlN5eFRRVUZUTEV0QlFVc3NUMEZCVHl4RFFVRkRMRVZCUVVkT0xFVkJRVmxSTEVWQlFVY3NWVUZCVjFBc1JVRkJXVThzUlVGQlJ5eFZRVUZYVGl4RlFVRlBUU3hGUVVGSExFdEJRMnhKUXl4SFFVRk5MRU5CUVVOVUxFVkJRVlVzUTBGQlF5eEhRVUZMUlN4SlFVRlRSaXhGUVVGVkxFTkJRVU1zUlVGQlJVTXNSVUZCVlN4RFFVRkRMRU5CUVVNc1JVRkJSeXhOUVVGTkxFVkJRMnhGTEVsQlFVbGFMRVZCUVVsaExFVkJRVXNzVVVGQlVVa3NSVUZCV1N4RlFVRkhMRXRCUVVzc1VVRkJVU3hGUVVNM1F5eERRVUZEUXl4SFFVRmxiRUlzUlVGQlNXRXNSVUZCU3l4TFFVRkxMRkZCUVZVc1MwRkJTeXhUUVVGVFFTeEZRVUZMTEV0QlFVdGlMRU5CUVVNc1JVRkJSMmxDTEVOQlFWVXNSMEZCU3l4SFFVTnVSbXBDTEVsQlEwb3NTVUZCU1dNc1JVRkJVVTRzU1VGQlowSXNUMEZCV1N4RlFVRkpMRVZCUXpWRExFOUJRVTlGTEVkQlFWTXNWVUZCV1N4RFFVTjRRa3NzUlVGQlRTeFBRVU5HTEU5QlFWRkVMRVZCUVU4c1EwRkRXQ3hKUVVGTExFZEJRMFFzUjBGQlNTeEZRVUZGWkN4SFFVRkxMRVZCUTFBc1RVRkJUeXhEUVVGRkxFdEJRVTBzUjBGQlR5eE5RVUZQTEVOQlFVTmhMRVZCUVVzc1MwRkJTMklzUTBGQlF5eEZRVUZIWVN4RlFVRkxMRTlCUVU5aUxFTkJRVU1zUTBGQlF5eERRVUZGTEVWQlEyaEZZeXhGUVVGUkxFVkJRMUlzVTBGRFNpeEpRVUZMTEVkQlEwUXNSMEZCU1N4RlFVRkZaQ3hIUVVGTExFVkJRMUFzVDBGQlFWRXNSVUZCV1N4RFFVRkRMRVZCUVVsTExFVkJRVXNzUzBGQlMySXNRMEZCUXl4RlFVRkhVU3hGUVVGWkxFTkJRVU1zUlVGQlNVc3NSVUZCU3l4UFFVRlBZaXhEUVVGRExFVkJRM1JFTEVOQlFVVXNTMEZCVFN4SFFVRlBMRTFCUVU5UkxFTkJRVmtzUlVGRk4wTk5MRVZCUVZFc1JVRkRXaXhKUVVGTExFZEJSVVFzVVVGQlUwVXNSVUZCVVN4TFFVRk5MRU5CUTI1Q0xFZEJRVWtzUlVGQlJVRXNSMEZCVTB3c1JVRkJWU3hQUVVGUkxFTkJRemRDUnl4RlFVRlJMRVZCUTFJc1UwRkJVME1zUTBGRFlpeERRVU5CTEVkQlFVa3NSVUZCUlVnc1JVRkJWVWtzUTBGQlN5eEhRVUZMTEVWQlEzUkNMRXRCUTFJc1EwRkRRU3hMUVVGUFFTeEZRVUZSTEVWQlFVZEJMRWxCUTJSTUxFVkJRVlZMTEVWQlFWRXNRMEZCUXl4RlFVRkpUQ3hGUVVGVlN5eERRVUZMTEVWQlFVVktMRVZCUVZWSkxFTkJRVXNzUTBGQlF5eEZRVUZGTEZOQlF6RkVTaXhGUVVGVlNTeEZRVUZSTEVOQlFVTXNSVUZCU1V3c1JVRkJWVXNzUlVGQlVTeERRVUZETEVWQlFVVXNUMEZCVXl4RlFVVjZSRWdzUlVGQlQwWXNSVUZCVlN4RFFVRkRMRVZCUVVWRExFVkJRVlVzUTBGQlF5eERRVUZETEVWQlEyaERXaXhGUVVGSllTeEZRVUZMTEV0QlFVc3NUMEZEWkVNc1JVRkJVVTRzU1VGQlowSXNUMEZCV1N4RlFVRkpMRVZCUTNoRExGTkJRMG9zU1VGQlN5eEhRVU5FTEUxQlFVOHNRMEZCUlN4TFFVRk5MRWRCUVUwc1RVRkJUeXhOUVVGVkxFTkJRemxETEVOQlJWSXNRMEZCUXl4RFFVTk1MRVZCVlVGdVF5eEZRVUZOTEZWQlFWVXNVMEZCVnl4VFFVRlZZU3hGUVVGTExFTkJRM1JETEVsQlFVbHRReXhGUVVGWExFdEJRVXNzVFVGRGFFSldMRVZCUVZkRExFVkJRMllzUjBGQlNWTXNSVUZCVXl4UFFVTlVWaXhGUVVGWlZ5eEhRVUZaVml4RlFVRlpWU3hQUVVWdVF5eERRVU5FV0N4RlFVRlpMRU5CUVVNc1JVRkJSME1zUlVGQldTeERRVUZETEVWQlF6ZENMRkZCUVZOb1JDeEZRVUZKTEVWQlFVY3NRMEZCUTNsRUxFVkJRVk1zVDBGQlVYcEVMRWxCUVVzc1EwRkhia01zUjBGR1FTdERMRVZCUVZVdlF5eERRVUZETEVWQlFVbDVSQ3hGUVVGVExGTkJRM2hDVkN4RlFVRlZhRVFzUTBGQlF5eEZRVUZKYzBJc1NVRkJVU3hQUVVGWkxFVkJRVWx0UXl4RlFVRlRMRkZCUVZGdVF5eEZRVUZMTEVWQlFVY3NTMEZCU3l4UlFVRlJMRVZCUTNwRk1FSXNSVUZCVldoRUxFTkJRVU1zUjBGQlN5dERMRVZCUVZVdlF5eERRVUZETEVWQlFVVXNUMEZETjBJc1QwRkRTbmxFTEVWQlFWZFdMRVZCUVZVdlF5eERRVUZETEVWQlFVVm5SQ3hGUVVGVmFFUXNRMEZCUXl4RFFVRkRMRU5CUTNoRExFTkJRMEVyUXl4RlFVRlZMRkZCUVZFc1JVRkRiRUpETEVWQlFWVXNVVUZCVVN4RFFVTjBRaXhEUVVOQkxFMUJRVThzUTBGQlJTeFZRVUZYUkN4RlFVRlhMRlZCUVZkRExFVkJRVmNzUzBGQlRWTXNRMEZCVXl4RFFVTjRSU3hGUVdOQmFFUXNSVUZCVFN4VlFVRlZMRmxCUVdNc1UwRkJWV3RFTEVWQlFVOURMRVZCUVZWRExFVkJRVmRETEVWQlFWY3NRMEZETTBVc1IwRkJTVWdzUlVGQlRTeFhRVUZoTEV0QlFVc3NVMEZEZUVJc1RVRkJUU3hKUVVGSkxFMUJRVTBzYjBOQlFXOURMRVZCUlhoRUxFZEJRVWtzUzBGQlN5eFRRVUZYUVN4RlFVRk5MRkZCUTNSQ0xFOUJRVWtzUzBGQlN5eFRRVUZYUVN4RlFVRk5MRkZCUTNSQ0xFOUJSVUVzUzBGQlN5eFJRVU5GUlN4SlFVRmpMRTlCUVZrc1QwRkJXWEJFTEVWQlFVMHNWVUZCVlVFc1JVRkJUU3hsUVVGbGEwUXNRMEZCU3l4RlFVRkhSU3hEUVVGVExFVkJRMmhIUkN4SlFVRmhMRTlCUVZrc1QwRkJXVzVFTEVWQlFVMHNWVUZCVlVFc1JVRkJUU3hsUVVGbExFbEJRVWtzUlVGQlIyMUVMRU5CUVZFc1JVRXdRbkJITEZGQlRrbEhMRVZCUVZjc1MwRkJTeXhUUVVOb1FrTXNSVUZCWVhaRUxFVkJRVTBzWlVGQlpTeEpRVUZKTEVWQlEzUkRkMFFzUlVGQlkzaEVMRVZCUVUwc1pVRkJaV3RFTEVOQlFVc3NSVUZIZUVOUExFVkJRV01zUjBGQlRVTXNSVUZCWlN4SFFVRk5ReXhGUVVGclFqTkVMRVZCUVUwc1VVRkJVWFZFTEVWQlFWbERMRVZCUVdGR0xFTkJRVkVzUlVGRGRrZEhMRWRCUVdWRExFZEJRV01zUTBGRGFFTXNTVUZCU1VVc1JVRkJZelZFTEVWQlFVMHNVVUZCVVhWRUxFVkJRVmxETEVWQlFXRkdMRU5CUVZFc1JVRkROMFJQTEVWQlFWZE9MRVZCUVZjc1MwRkJUVThzUlVGQmIwSlFMRVZCUVZjc1kwRkJaVkVzUlVGQmJVSlNMRVZCUVZjc1lVRkRlRWRUTEVWQlFWbFNMRVZCUVZrc1MwRkJUVk1zUlVGQmNVSlVMRVZCUVZrc1kwRkJaVlVzUlVGQmIwSldMRVZCUVZrc1lVRkRiRWdzUjBGQlNVc3NSMEZCV1Vjc1IwRkZXaXhIUVVGSlRDeEpRVUZ2UWl4SFFVTndRaXhIUVVGSlF5eEpRVUZuUWl4SFFVTm9RaXhIUVVGSlF5eEhRVUZaUnl4SFFVRmhXQ3hGUVVGWExFTkJSWEJETEVsQlFVbGpMRVZCUVZWT0xFVkJRVk1zVDBGQlQwVXNSVUZCYVVKQkxFVkJRV2xDTEU5QlFWTXNRMEZCUXl4RFFVRkRMRVZCUTNaRlN5eEZRVUZYU2l4RlFVRlZMRTlCUVU5RkxFVkJRV3RDUVN4RlFVRnJRaXhQUVVGVExFTkJRVU1zUTBGQlF5eEZRVU12UlN4SFFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSFF5eEZRVUZUUXl4RFFVRlJMRVZCUVVjc1EwRkRMMElzU1VGQlNXNUVMRVZCUVZOdlF5eEZRVUZWUlN4RlFVRlhMRmRCUVZsWkxFVkJRVk5ETEVOQlFWRXNSVUZETDBRc1IwRkJTVzVFTEVkQlFWVkJMRVZCUVU4c1RVRkRha0lzVDBGQlQwRXNSVUZCVHl4TFFVTjBRaXhEUVVOS0xGVkJSVXN5UXl4RlFVRmpMRWRCUzI1Q0xFZEJRVWxKTEVkQlFXRmFMRVZCUVZjc1EwRkRlRUlzU1VGQlNXbENMRVZCUVZkTUxFVkJRVlVzVDBGQlQwVXNSVUZCYTBKQkxFVkJRV3RDTEU5QlFWTXNRMEZCUXl4RFFVRkRMRVZCUXpORmFrUXNSVUZCVTIxRExFVkJRVlZKTEVWQlFWa3NWMEZCV1dFc1EwRkJVU3hGUVVOMlJDeEhRVUZKY0VRc1IwRkJWVUVzUlVGQlR5eE5RVU5xUWl4UFFVRlBRU3hGUVVGUExFdEJRM1JDTEZWQlJVdHJReXhIUVVORVZTeEhRVUZaUml4SlFVRnZRaXhGUVVGSExFTkJRMjVETEVsQlFVbFJMRVZCUVZWT0xFVkJRVk1zVDBGQlQwVXNSVUZCYVVKQkxFVkJRV2xDTEU5QlFWTXNRMEZCUXl4RFFVRkRMRVZCUTNaRk9VTXNSVUZCVTJ0RExFVkJRVk5KTEVWQlFWY3NWMEZCV1Zrc1EwRkJUeXhGUVVOd1JDeEhRVUZKYkVRc1IwRkJWVUVzUlVGQlR5eE5RVU5xUWl4UFFVRlBRU3hGUVVGUExFdEJRM1JDTEZkQlNVZ3NRMEZCUXpSRExFZEJRVmtzUTBGQlEwY3NSMEZCWVVvc1NVRkJaMElzUlVGQlJ5eERRVU51UkN4SlFVRkpWU3hGUVVGWFVpeEZRVUZyUWl4UFFVRlRMRVZCUTNSRFV5eEZRVUZaVGl4RlFVRnRRaXhQUVVGVExFVkJRM2hEVHl4RlFVRlhWaXhGUVVGclFsRXNRMEZCVVN4RlFVRkZVQ3hGUVVGcFFrOHNRMEZCVVN4RFFVRkRMRVZCUTJwRlJ5eEZRVUZaVWl4RlFVRnRRazBzUTBGQlV5eEZRVUZGVEN4RlFVRnJRa3NzUTBGQlV5eERRVUZETEVWQlF6RkZMRWRCUVVsRkxFbEJRV05FTEVWQlFWVXNRMEZEZUVKaUxFVkJRV3RDTEVWQlEyeENSaXhGUVVGamVrUXNSVUZCVFN4TFFVRkxkVVFzUlVGQldTeEZRVUZKTEVWQlEzcERSeXhGUVVGbE1VUXNSVUZCVFN4TFFVRkxkMFFzUlVGQllTeEZRVUZKTEVWQlF6TkRMRkZCUTBvc1EwRkRTaXhEUVVOQlJ5eEZRVUZyUWtNc1JVRkRaRUVzUlVGQll5eEZRVU5rU0N4RlFVRmpla1FzUlVGQlRTeExRVUZMZFVRc1EwRkJWU3hGUVVkdVEwY3NSVUZCWlRGRUxFVkJRVTBzUzBGQlMzZEVMRU5CUVZjc1EwRkZOME1zUTBGRFFTeEhRVUZKUXl4SFFVRmxUaXhGUVVObUxFOUJRVTl1UkN4RlFVRk5MR2xDUVVGcFFuVkVMRVZCUVZsRExFVkJRV0ZHTEVWQlFWVklMRU5CUVZFc1JVRkROMFVzUjBGQlNVOHNSMEZCWjBKT0xFVkJRMmhDTEU5QlFVOXdSQ3hGUVVGTkxHbENRVUZwUW5kRUxFVkJRV0ZFTEVWQlFWbEVMRVZCUVZWR0xFTkJRVk1zUTBGRGJFWXNSVUZIUVhCRUxFVkJRVTBzYVVKQlFXMUNMRk5CUVZVd1JTeEZRVUZSUXl4RlFVRm5Ra01zUlVGQllYWkZMRVZCUVZVc1EwRkRPVVVzU1VGQlNYZEZMRVZCUVZjM1JTeEZRVUZOTEZGQlFWRXdSU3hGUVVGUlF5eEZRVUZuUWtNc1EwRkJWeXhGUVVOb1JTeEhRVUZKUXl4SlFVRmhMRWRCUTJJc1IwRkJTU3hEUVVGRE4wVXNSVUZCVFN4TFFVRkxNRVVzUTBGQlRTeEZRVU5zUWl4WlFVVkRSeXhGUVVGWExFZEJRMmhDT1VJc1IwRkJUU3hIUVVGUExEaENRVUU0UWl4RlFVVXZReXhQUVVGUEwwTXNSVUZCVFN4VlFVRlZNRVVzUlVGQlVYSkZMRU5CUVZFc1EwRkRNME1zUlVGRFFVd3NSVUZCVFN4VlFVRlpMRk5CUVZVd1JTeEZRVUZSY2tVc1JVRkJWU3hEUVVVeFF5eFJRVVJKZVVVc1JVRkJWU3hIUVVOUVFTeEhRVUZUTEVOQlExb3NTVUZCU1hSRExFVkJRVTlyUXl4RlFVRlBMRXRCUVUxTExFVkJRV1ZNTEVWQlFVOHNZVUZCWTAwc1JVRkJZVTRzUlVGQlR5eFhRVU5vUml4SFFVRkpiRU1zUlVGQlRTeERRVU5PTEVsQlFVbDZRaXhGUVVGUmVVSXNSVUZCU3l4UFFVRlBkVU1zUlVGQllVRXNSVUZCWVN4UFFVRlRMRU5CUVVNc1EwRkJReXhGUVVONlJEbEVMRVZCUVZOYUxFVkJRVk15UlN4RlFVRlpha1VzUTBGQlN5eEZRVU4yUXl4SFFVRkpSU3hIUVVGVlFTeEZRVUZQTEUxQlEycENMRTlCUVU5QkxFVkJRVThzUzBGRGRFSXNRMEZEUVRaRUxFVkJRVlU1UlN4RlFVRk5MRXRCUVVzd1JTeERRVUZOTEVOQlF5OUNMRU5CUlVvc1JVRkRRVEZGTEVWQlFVMHNaVUZCYVVJc1UwRkJWV2xHTEVWQlFVMHNRMEZEYmtNc1NVRkJTVU1zUlVGQlVVUXNSVUZCU3l4TlFVRlBSU3hGUVVGVFJpeEZRVUZMTEU5QlEzUkRMRTFCUVU4c1EwRkJSU3hQUVVGUlJTeEZRVUZSTEdOQlFXVXNRMEZCUXl4RFFVRkRSQ3hEUVVGTExFTkJRVU1zUlVGQlJ5eGhRVUZqTEVOQlFVTXNRMEZCUXl4RlFVRkhMRXRCUVUwc1QwRkJWeXhYUVVGWlFTeEZRVUZOTEU5QlFVOHNRMEZCUlN4RFFVTjBTQ3hGUVZGQmJFWXNSVUZCVFN4TFFVRlBMRk5CUVZVd1JTeEZRVUZSVlN4RlFVRlpMRU5CUTNaRExFbEJRVWxETEVWQlFXZENXQ3hGUVVGUExHTkJRV1ZMTEVWQlFXVk1MRVZCUVU4c1lVRkJZMnhETEVWQlFVOXJReXhGUVVGUExFdEJRelZHTEVkQlFVbFZMRWxCUVdVc1NVRkJVVFZETEVWQlFVMHNRMEZETjBJc1NVRkJTVGhETEVWQlFXVlFMRVZCUVdFc1QwRkphRU1zUjBGQlNVc3NTVUZCWlN4SlFVRlJUQ3hGUVVGaFR5eEZRVUZsTEVOQlFVTXNTVUZCVFN4RlFVRkhMRU5CUXpkRUxFbEJRVWxETEVWQlFXTkdMRVZCUVdNc1QwRkZhRU1zUjBGQlNVVXNTVUZCWjBJc1JVRkRhRUlzVFVGQlR5eEhRVWxZTEZGQlJrbERMRVZCUVdsQ1JDeEZRVUZqTEVWQlF5OUNSU3hGUVVGeFFrUXNSVUZEYkVKRExFZEJRWE5DTEVkQlFVY3NRMEZETlVJc1IwRkJTVllzUlVGQllWVXNRMEZCYTBJc1JVRkJTU3hGUVVOdVF5eFBRVUZKUVN4RlFVRnhRa2dzUlVGQlpTeEpRVVZ3UTFvc1JVRkJUeXhMUVVGUExFOUJRMlJMTEVWQlFXRXNTVUZCU1N4SFFVZHFRbFVzUlVGQmNVSkVMRWxCUTNKQ1pDeEZRVUZQTEdOQlFXZENWeXhGUVVGakxFMUJRVTBzUlVGQlIwa3NSVUZCY1VJc1EwRkJReXhIUVVWNFJXWXNSVUZCVHl4WFFVRmhWeXhGUVVGalNTeERRVUZyUWl4RlFVRkZMRVZCUVVWV0xFVkJRV0ZWTEVOQlFXdENMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRekZHTEVkQlJWaEJMRWRCUTBvc1EwRkZRU3hOUVVGUExFVkJRMWdzUzBGRFN5eERRVVZFTEVsQlFVbERMRVZCUVdFc1JVRkJSVmdzUlVGQllVOHNSVUZCWlN4RFFVRkRMRVZCUTJoRUxFOUJRVUZhTEVWQlFVOHNWMEZCWVd4RExFVkJRVXNzUzBGQlMydEVMRU5CUVZVc1JVRkRha01zUlVGRFdDeERRVU5LTEV0QlEwc3NRMEZEUkN4SlFVRkpReXhGUVVGWlRpeEZRVUZqTEU5QlF6RkNUeXhGUVVGbFJDeEZRVUZaTEVWQlF6TkNSU3hGUVVGUFVpeEZRVUZqVHl4RFFVRlpMRVZCUVVWaUxFVkJRV0ZoTEVOQlFWa3NRMEZCUXl4RlFVTnFSU3hIUVVGSlF5eEZRVUZMTEU5QlFWRXNRMEZGWW01Q0xFVkJRVThzUzBGQlQyMUNMRVZCUTJRc1NVRkJTVWdzUlVGQllWZ3NSVUZCWVZrc1EwRkJVeXhGUVVGSlJTeEZRVUZMTEU5QlFVOHNUMEZCVXl4RlFVTm9SVzVDTEVWQlFVOHNWMEZCWVcxQ0xFVkJRVXNzUzBGQlMwZ3NRMEZCVlN4RFFVTTFReXhMUVVOTExFTkJRMFFzU1VGQlNVa3NSVUZCVjBRc1JVRkJTeXhUUVVOd1FsSXNSVUZCWTAwc1EwRkJVeXhGUVVGSlJ5eEZRVU16UWl4SlFVRkpReXhGUVVGaFJDeEZRVUZUTEU5QlFWTXNSVUZEYmtObUxFVkJRV0ZaTEVOQlFWTXNSVUZCU1Vrc1JVRkRNVUp5UWl4RlFVRlBMRmRCUVdGdlFpeEZRVUZUUXl4RFFVRlZMRVZCUVVVc1QwRkJUeXhEUVVOd1JDeERRVU5CTEUxQlFVOHNSVUZEV0N4RFFVTktMRVZCUzBFdlJpeEZRVUZOTEZGQlFWVXNVMEZCVldkSExFVkJRVk5ETEVWQlFWTnlRaXhGUVVGaExFTkJRM0pFTEVsQlFVbHpRaXhGUVVGVlJpeEZRVUZSTEU5QlFWRkhMRVZCUVdOSUxFVkJRVkVzVjBGQldVa3NSVUZCWjBKS0xFVkJRVkVzWVVGRGNFWkxMRVZCUVZWS0xFVkJRVkVzVDBGQlVVc3NSVUZCWTB3c1JVRkJVU3hYUVVGWlRTeEZRVUZuUWs0c1JVRkJVU3hoUVVWd1JrOHNSVUZCWjBJMVFpeEZRVUZaTUVJc1JVRkJZVWdzUTBGQlZ5eEZRVU40UkN4SFFVRkpTeXhKUVVGclFpeEZRVU5zUWl4UFFVRlBRU3hGUVU5WUxFbEJRVWxETEVWQlFWbFFMRVZCUVZWSExFVkJRVlZJTEVWQlFWVkhMRVZCUXpGRFN5eEZRVUZ0UWs0c1JVRkJZeXhSUVVGVlJpeEZRVUZWVHl4SFFVTnlSRVVzUlVGQmJVSktMRVZCUVdNc1VVRkJWVVlzUlVGQlZVa3NSMEZEZWtRc1QwRkJUME1zUlVGQmJVSkRMRU5CUXpsQ0xFVkJTMEV6Unl4RlFVRk5MRlZCUVZVc1MwRkJUeXhUUVVGVk5FY3NSVUZCVlN4RFFVTjJReXhKUVVGSk4wVXNSVUZCU3l4TFFVRkxMRkZCUVZFMlJTeEZRVUZWTlVVc1JVRkJWeXhGUVVNelF5eFBRVUZQU3l4SFFVRlRMRlZCUVZrc1EwRkRlRUlzU1VGQlNYZEZMRVZCUVVrNVJTeEZRVUZITEV0QlFVc3NSVUZEYUVJc1QwRkJTVGhGTEVWQlFVVXNVVUZEUmtFc1JVRkJSU3hOUVVGUlFTeEZRVUZGTEUxQlFVMHNRMEZCUXl4SFFVTm9Ra0VzUTBGRFdDeERRVUZETEVOQlEwd3NSVUZIUVRkSExFVkJRVTBzVlVGQlZTeFBRVUZUTEZOQlFWVTBSeXhGUVVGVkxFTkJRM3BETEVsQlFVazNSU3hGUVVGTExFdEJRVXNzVVVGQlVUWkZMRVZCUVZVMVJTeEZRVUZYTEVWQlF6TkRMRTlCUVU5TExFZEJRVk1zVlVGQldTeERRVU40UWl4SlFVRkpkMFVzUlVGQlNUbEZMRVZCUVVjc1MwRkJTeXhGUVVOb1FpeFBRVUZKT0VVc1JVRkJSU3hSUVVOR1FTeEZRVUZGTEUxQlFWRkJMRVZCUVVVc1RVRkJUU3hEUVVGRExFZEJRMmhDUVN4RFFVTllMRU5CUVVNc1EwRkRUQ3hGUVVOQkxFOUJRVThzWlVGQlpUZEhMRVZCUVUwc1ZVRkJWeXhqUVVGbExFTkJTV3hFTEVsQlFVc3NWVUZCV1N4RFFVTmlMRTlCUVU4c1MwRkJTeXhaUVVOb1FpeEZRVU5CTEZkQlFWa3NSMEZEV2l4aFFVRmpMRVZCUTJ4Q0xFTkJRVU1zUlVGRlJFRXNSVUZCVFN4VlFVRlZMRTlCUVZNc1ZVRkJXU3hEUVVGRkxFOUJRVThzUzBGQlN5eE5RVUZOTEU5QlFVOHNRMEZCUnl4RlFVVnVSVUVzUlVGQlRTeFZRVUZWTEU5QlFWTXNWVUZCV1N4RFFVRkZMRTlCUVU4c1MwRkJTeXhOUVVGTkxFOUJRVThzUTBGQlJ5eEZRVTF1UlVFc1JVRkJUU3hWUVVGVkxFMUJRVkVzVlVGQldTeERRVU5vUXl4TFFVRkxMRTFCUVUwc1UwRkJWeXhIUVVOMFFpeEpRVUZKYVVJc1JVRkJVeXhKUVVGSmFrSXNSVUZCVFN4UFFVRlhMRXRCUVVzc1UwRkJWU3hMUVVGTExGbEJRVmtzUlVGRGJFVXNUMEZCUVdsQ0xFVkJRVThzVFVGQlVTeExRVUZMTEUxQlEzQkNRU3hGUVVGUExFMUJRVkVzUzBGQlN5eE5RVU5pUVN4RFFVTllMRVZCVFVGcVFpeEZRVUZOTEZWQlFWVXNXVUZCWXl4VFFVRlZPRWNzUlVGQlR5eERRVU16UXl4SlFVRkpOMFlzUlVGQlV5eEpRVUZKYWtJc1JVRkJUU3hQUVVGWExFdEJRVXNzVTBGQlZTeExRVUZMTEZsQlFWa3NSVUZEYkVVc1QwRkJRV2xDTEVWQlFVOHNUVUZCVVN4TFFVRkxMRTFCUVUwc1dVRkJXVFpHTEVOQlFVc3NSVUZETTBNM1JpeEZRVUZQTEUxQlFWRXNTMEZCU3l4TlFVTmlRU3hEUVVOWUxFVkJSVUZxUWl4RlFVRk5MRlZCUVZVc1VVRkJWU3hUUVVGVkswY3NSVUZCVnl4RFFVTjJRMEVzU1VGQll5eFRRVUZWUVN4RlFVRlpMRmxCUTNoRExFbEJRVWxETEVWQlFVMHNTMEZCU3l4UFFVRlBMRVZCUVVkRExFVkJRVTBzUzBGQlN5eFBRVUZQTEVWQlF6TkRMRTlCUVVsRUxFbEJRVkVzVDBGRFJDeExRVUZMTEZOQlFWTkJMRVZCUVV0RExFVkJRVXNzUjBGQlRVWXNRMEZCVXl4RlFVTXpReXhEUVVGRExFTkJRMW9zUlVGRlFTOUhMRVZCUVUwc1ZVRkJWU3hWUVVGWkxGVkJRVmtzUTBGRGNFTXNTVUZCU1d0SUxFVkJRVlVzUTBGQlF5eEZRVU5tTEZsQlFVc3NUVUZCVFN4VFFVRlRMRXRCUVVzc1QwRkJUeXhGUVVGSExFdEJRVXNzVDBGQlR5eEZRVUZITEVkQlFVMHNSMEZCVHl4TFFVRk5MRVZCUVVjc1UwRkJWVEZITEVWQlFVZERMRVZCUVVjc1EwRkJSWGxITEVWQlFWRXNTMEZCU3pGSExFTkJRVU1zUTBGQlJ5eERRVUZETEVWQlEzSkhNRWNzUTBGRFdDeEZRVVZCYkVnc1JVRkJUU3hWUVVGVkxGbEJRV01zVlVGQldTeERRVU4wUXl4SlFVRkphMGdzUlVGQlZTeERRVUZETEVWQlEyWXNXVUZCU3l4TlFVRk5MRk5CUVZNc1MwRkJTeXhQUVVGUExFVkJRVWNzUzBGQlN5eFBRVUZQTEVWQlFVY3NSMEZCVFN4SFFVRlBMRXRCUVUwc1JVRkJSeXhUUVVGVk1VY3NSVUZCUjBNc1JVRkJSeXhEUVVGRmVVY3NSVUZCVVN4TFFVRkxla2NzUTBGQlF5eERRVUZITEVOQlFVTXNSVUZEY2tkNVJ5eERRVU5ZTEVWQlJVRnNTQ3hGUVVGTkxGVkJRVlVzVTBGQlZ5eFZRVUZaTEVOQlEyNURMRTlCUVU4c1MwRkJTeXhSUVVGUkxFVkJRVVVzVTBGQlV5eERRVU51UXl4RlFVbEJRU3hGUVVGTkxGVkJRVlVzWjBKQlFXdENMRk5CUVZWaExFVkJRVXRGTEVWQlFVOHNRMEZEY0VRc1QwRkJUeXhMUVVGTExFbEJRVWxHTEVWQlFVdEZMRVZCUVU4c1JVRkJTeXhEUVVOeVF5eEZRVTlCWml4RlFVRk5MRlZCUVZVc1pVRkJhVUlzVTBGQlZXRXNSVUZCUzNOQ0xFVkJRV0VzUTBGRmVrUXNUMEZFUVVFc1JVRkJZMEVzUjBGQlpTeERRVUZETEVWQlF6RkNkRUlzU1VGQlVTeFBRVU5FTEV0QlFVc3NUVUZCVFN4UlFVRlJjMElzUTBGQlZ5eEZRVVZzUXl4TFFVRkxMRTFCUVUwc2IwSkJRVzlDZEVJc1JVRkJTeXhMUVVGTExGTkJRVlVzUjBGQlQzTkNMRU5CUVZjc1EwRkRhRVlzUlVGSlFXNURMRVZCUVUwc1ZVRkJWU3hqUVVGblFpeFRRVUZWWVN4RlFVRkxMRU5CUXpORExFbEJRVWx3UWl4RlFVRkpMRXRCUVVzc1pVRkJaVzlDTEVWQlFVdHRRaXhGUVVGWExFVkJRelZETEU5QlFVOTJReXhIUVVGTFFTeEZRVUZGTEVOQlFVTXNRMEZEYmtJc1JVRlBRVThzUlVGQlRTeFZRVUZWTEdOQlFXZENMRk5CUVZWaExFVkJRVXR6UWl4RlFVRmhMRU5CUlhoRUxFOUJSRUZCTEVWQlFXTkJMRWRCUVdVc1EwRkJReXhGUVVNeFFuUkNMRWxCUVZFc1QwRkRSQ3hMUVVGTExFMUJRVTBzVVVGQlVYTkNMRU5CUVZjc1JVRkZiRU1zUzBGQlN5eE5RVUZOTEcxQ1FVRnRRblJDTEVWQlFVc3NTMEZCU3l4VFFVRlZMRWRCUVU5elFpeERRVUZYTEVOQlF5OUZMRVZCU1VGdVF5eEZRVUZOTEZWQlFWVXNZVUZCWlN4VFFVRlZZU3hGUVVGTExFTkJRekZETEVsQlFVbHdRaXhGUVVGSkxFdEJRVXNzWTBGQlkyOUNMRVZCUVV0dFFpeEZRVUZYTEVWQlF6TkRMRTlCUVU5MlF5eEhRVUZMUVN4RlFVRkZMRU5CUVVNc1EwRkRia0lzUlVGUlFVOHNSVUZCVFN4VlFVRlZMRzFDUVVGeFFpeFRRVUZWWVN4RlFVRkxjMElzUlVGQllTeERRVU0zUkN4UFFVRlBMRXRCUVVzc1RVRkJUU3h0UWtGQmJVSjBRaXhGUVVGTExFdEJRVXNzVTBGQlZTeEhRVUZOYzBJc1IwRkJaU3hEUVVGRExFTkJRVU1zUTBGRGNFWXNSVUZSUVc1RExFVkJRVTBzVlVGQlZTeHZRa0ZCYzBJc1UwRkJWV0VzUlVGQlMzTkNMRVZCUVdFc1EwRkRPVVFzVDBGQlR5eExRVUZMTEUxQlFVMHNiMEpCUVc5Q2RFSXNSVUZCU3l4TFFVRkxMRk5CUVZVc1IwRkJUWE5DTEVkQlFXVXNRMEZCUXl4RFFVRkRMRU5CUTNKR0xFVkJTVUZ1UXl4RlFVRk5MRlZCUVZVc1owSkJRV3RDTEZOQlFWVmhMRVZCUVV0RkxFVkJRVThzUTBGRGNFUXNUMEZCVHl4TFFVRkxMRlZCUVZWR0xFVkJRVXRCTEVWQlFVc3NSMEZCVFN4VFFVRlZUQ3hGUVVGSFF5eEZRVUZITEVOQlFVVXNUVUZCVVN4RFFVRkZMRTFCUVU5TkxFTkJRVTBzUTBGQlNTeERRVUZETEVsQlFVMHNRMEZET1VZc1JVRmhRV1lzUlVGQlRTeFZRVUZWTEZOQlFWY3NVMEZCVlZjc1JVRkJTME1zUlVGQlRXRXNSVUZCWVhOR0xFVkJRVmNzUTBGRGFFVkJMRWxCUVdNc1UwRkJWVUVzUlVGQldTeFZRVU40UXl4SlFVRkpSeXhGUVVGVkxFTkJRVU1zUlVGRFppeFpRVUZMTEUxQlFVMHNVMEZCVTNaSExFVkJRVXRETEVWQlFVMWhMRVZCUVdFc1IwRkJUeXhMUVVGTkxFVkJRVWNzVTBGQlZXcENMRVZCUVVkRExFVkJRVWNzUTBGRGVFVXNUMEZCUVhsSExFVkJRVkVzUzBGQlN5eERRVUZETVVjc1JVRkJSME1zUTBGQlF5eERRVUZETEVWQlExcDVSeXhGUVVGUkxFOUJRVk5JTEVWQlFWbEpMRWRCUVZFc1RVRkRhRVFzUTBGQlF5eEZRVU5OUkN4RFFVTllMRVZCVlVGc1NDeEZRVUZOTEZWQlFWVXNVMEZCVnl4VFFVRlZjVUlzUlVGQlQwd3NSVUZCVnl4RFFVVnVSQ3hSUVVSSmIwY3NSVUZCVVN4RlFVTklla1lzUlVGQlNTeEZRVUZIUVN4RlFVRkpUaXhGUVVGTkxFOUJRVkZOTEVsQlF6RkNMRXRCUVVzc1NVRkJTVTRzUlVGQlRVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSMDRzUlVGQlRVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSMWdzUTBGQlV5eEhRVU0xUTI5SExFbEJRMUlzVDBGQlQwRXNRMEZEV0N4RlFXdENRWEJJTEVWQlFVMHNWVUZCVlN4VFFVRlhMRk5CUVZWWExFVkJRVXRETEVWQlFVMWhMRVZCUVdFMFJpeEZRVUZUTTBjc1JVRkJaMElzUTBGRGJFWXNTVUZCU1RSSExFVkJRVWtzUzBGQlN5eE5RVUZOTEZOQlFWTXpSeXhGUVVGTFF5eEZRVUZOWVN4RlFVRmhMRWRCUVU4c1MwRkJUV1lzUjBGQmEwSXNSVUZCUnpKSExFTkJRVThzUlVGRE4wWXNUMEZCVHl4UFFVRlBReXhIUVVGTkxGTkJRVmRCTEVWQlFVbEJMRVZCUVVVc1MwRkRla01zUlVFNFFrRjBTQ3hGUVVGTkxGVkJRVlVzVlVGQldTeFRRVUZWVnl4RlFVRkxReXhGUVVGTllTeEZRVUZoTkVZc1JVRkJVek5ITEVWQlFXZENMRU5CUTI1R0xFbEJRVWsyUnl4RlFVRlBMRXRCUVVzc1RVRkRXa0VzUlVGQlN5eFhRVU5NTEV0QlFVc3NUVUZCVVVFc1JVRkJUMEVzUlVGQlN5eE5RVUZOTEVkQlEyNURMRWRCUVVrc1EwRkRRU3hKUVVGSlJDeEZRVUZKUXl4RlFVRkxMRk5CUVZNMVJ5eEZRVUZMUXl4RlFVRk5ZU3hGUVVGaExFZEJRVTBzUzBGQlRXWXNSMEZCYTBJc1JVRkJSekpITEVOQlFVOHNSVUZEZEVZc1QwRkJUeXhQUVVGUFF5eEhRVUZOTEZOQlFWZEJMRVZCUVVsQkxFVkJRVVVzUzBGRGVrTXNVVUZEUVN4RFFVVkpMRkZCUkVsRkxFVkJRVmNzVDBGRFVrUXNSVUZCU3l4TFFVRkxMRkZCUVZVc1IwRkJTeXhEUVVGRFFTeEZRVUZMTEZGQlEyeERReXhKUVVGaFFTeEZRVUZYUkN4RlFVRkxMRlZCUXpkQ0xFdEJRVXNzVFVGQlVVRXNSVUZCVDBFc1JVRkJTeXhMUVVGTExGTkJRVmNzUlVGQlNXNUlMRWRCUTNwRGJVZ3NSVUZCU3l4VFFVRlRMRU5CUVVNc1JVRkhia0pETEVsQlEwRkVMRVZCUVVzc1UwRkJWeXhIUVVWNFFpeERRVU5LTEVWQlJVRjJTQ3hGUVVGTkxGVkJRVlVzVVVGQlZTeFRRVUZWY1Vnc1JVRkJVek5ITEVWQlFXZENMRU5CUTNwRUxFOUJRVThzUzBGQlN5eFZRVUZWTEV0QlFVc3NUMEZCVHl4RlFVRkhMRXRCUVVzc1QwRkJUeXhGUVVGSExFZEJRVTB5Unl4RlFVRlRNMGNzUTBGQll5eERRVU55Uml4RlFWTkJWaXhGUVVGTkxGVkJRVlVzV1VGQll5eFRRVUZWVnl4RlFVRkxReXhGUVVGTllTeEZRVUZoTEVOQlF6VkVMRTlCUVU4c1MwRkJTeXhWUVVGVlpDeEZRVUZMUXl4RlFVRk5ZU3hGUVVGaFRpeEZRVUZYTEVOQlF6ZEVMRVZCUlVGdVFpeEZRVUZOTEZWQlFWVXNWMEZCWVN4VFFVRlZjMElzUlVGQlRTeERRVU42UXl4UlFVRlRTeXhGUVVGSkxFVkJRVWNzUlVGQlNTeEZRVUZIUVN4RlFVRkpUQ3hGUVVGTExFOUJRVkZMTEVsQlEyaERMRXRCUVVzc1QwRkJUMHdzUlVGQlMwc3NRMEZCUXl4RFFVRkRMRWRCUTI1Q0xFbEJRMUlzVDBGQlR5eERRVU5ZTEVWQlEwRXNUMEZCVHl4bFFVRmxNMElzUlVGQlRTeFZRVUZYTEZOQlFWVXNRMEZITjBNc1NVRkJTeXhWUVVGWkxFTkJSMklzVVVGR1NUWkdMRVZCUVU4c1MwRkJTeXhOUVVOYVZpeEZRVUZUTEVkQlEwNVZMRWRCUTBoV0xFbEJRMEZWTEVWQlFVOUJMRVZCUVVzc1QwRkJVeXhQUVVGWlFTeEZRVUZMTEZOQlFWTXNRMEZCUXl4RlFVVndSQ3hQUVVGUFZpeERRVU5ZTEVWQlEwRXNWMEZCV1N4SFFVTmFMR0ZCUVdNc1JVRkRiRUlzUTBGQlF5eEZRVTlFYmtZc1JVRkJUU3hWUVVGVkxFOUJRVk1zVlVGQldTeERRVU5xUXl4SlFVRkplVWdzUlVGQlNTeExRVWRTUVN4RlFVRkZMRTFCUVZGQkxFVkJRVVVzU1VGQlRVRXNSVUZCUlN4VlFVRlpMRlZCUVZrc1EwRkRlRU1zVFVGQlRTeEpRVUZKTEUxQlFVMHNiME5CUVc5RExFTkJRM2hFTEVOQlEwb3NSVUZGUVhwSUxFVkJRVTBzVlVGQlZTeFRRVUZYTEZWQlFWa3NRMEZIYmtNc1QwRkJUeXhMUVVGTExFMUJSVm9zVDBGQlR5eExRVUZMTEVsQlJWb3NUMEZCVHl4TFFVRkxMRk5CUTJoQ0xFVkJRMEVzVDBGQlR5eGxRVUZsUVN4RlFVRk5MRlZCUVZjc1YwRkJXU3hEUVVVdlF5eEpRVUZMTEZWQlFWa3NRMEZEWWl4UFFVRlBMRXRCUVVzc1pVRkJaU3hYUVVGWExFTkJRekZETEVWQlEwRXNWMEZCV1N4SFFVTmFMR0ZCUVdNc1JVRkRiRUlzUTBGQlF5eEZRVTFFUVN4RlFVRk5MRlZCUVZVc1YwRkJZU3hWUVVGWkxFTkJRM0pETEVsQlFVa3dTQ3hGUVVGUExFdEJRVXNzVFVGQlRTeFhRVUZYTEVWQlFVY3NTMEZCVFN4RFFVRkRMRVZCUXpORE0wVXNSMEZCVFRKRkxFbEJRVk1zUzBGQlN5eExRVUZOTERCQ1FVRXlRa0VzUlVGQlRTeGhRVUZqTEV0QlFVc3NTVUZCU1N4RFFVTjBSaXhGUVVOUE1VZ3NRMEZEV0N4RlFVRkZMRVZCUTBaYUxFZEJRVkVzVVVGQlZWa3NSMEZOYkVJc1UwRkJVekpJTEVkQlFVMURMRVZCUVU4c1EwRkRiRUlzVDBGQlQwRXNRMEZEV0N4RFFVTkJlRWtzUjBGQlVTeE5RVUZSZFVrc1IwRkRXaXhSUVVGVkxFOUJRVThzVjBGRGFrSXpTQ3hIUVVGTkxGVkJRVlVzVDBGQlR5eFJRVUZSTEVWQlFVbEJMRWRCUVUwc1ZVRkJWU3hUUVVOMlJFRXNSMEZCVFN4VlFVRlZMRTFCUVZGQkxFZEJRVTBzVlVGQlZTeFBRVU40UTBFc1IwRkJUU3hWUVVGVkxGTkJRVmRCTEVkQlFVMHNWVUZCVlN4VFFVTXpRMEVzUjBGQlRTeFZRVUZWTEVsQlFVMUJMRWRCUVUwc1ZVRkJWU3hKUVVOMFF5eFRRVUZUY1VNc1IwRkJVMG9zUlVGQlRTeERRVU5vUWtFc1NVRkJVeXhUUVVGVlFTeEZRVUZSTEZWQlFWa3NRMEZCUlN4TlFVRlJMRU5CUVVVc1MwRkJUU3hIUVVGTkxFMUJRVThzVFVGQlZTeERRVUZKTEVkQlEzaEdMRWxCUVVsb1FpeEZRVUZUTEVOQlFVVXNTMEZCVFdkQ0xFTkJRVXNzUlVGRE1VSXNUMEZCU1N4UlFVRlZMRTlCUVU4c1YwRkRha0pvUWl4RlFVRlBMRTlCUVU4c1VVRkJVU3hGUVVGSkxGVkJRVmtzUTBGQlJTeFBRVUZQTEVsQlFVMHNSMEZEYkVSQkxFTkJRMWdzUTBGRlFTeEpRVUZKTkVjc1IwRkJkVUlzVlVGQldTeERRVU51UXl4VFFVRlRRU3hGUVVGTmRrY3NSVUZCVFhkSExFVkJRVkVzUTBGRGNrSjRSeXhKUVVGVExGTkJRVlZCTEVWQlFVOHNRMEZCUXl4SFFVTXZRaXhMUVVGTExFdEJRVTlCTEVWQlExb3NTMEZCU3l4UFFVRlRkMGNzUjBGQlZVTXNSMEZEZUVJc1MwRkJTeXhUUVVGWExFMUJRM0JDTEVOQlEwRXNZMEZCVHl4bFFVRmxSaXhGUVVGTkxGVkJRVmNzVTBGQlZTeERRVU0zUXl4SlFVRkxMRlZCUVZrc1EwRkJSU3hQUVVGUExFdEJRVXNzVjBGQllTeE5RVUZYTEVWQlEzWkVMRmRCUVZrc1IwRkRXaXhoUVVGakxFVkJRMnhDTEVOQlFVTXNSVUZIUkVFc1JVRkJUU3hWUVVGVkxFOUJRVk1zVlVGQldTeERRVU5xUXl4UFFVRlBMRXRCUVVzc1MwRkJTeXhMUVVGTExFdEJRVXNzVDBGQlV5eERRVUZETEVOQlEzcERMRVZCUjBGQkxFVkJRVTBzVlVGQlZTeFJRVUZWTEZOQlFWVm9TQ3hGUVVGTGJVZ3NSVUZCVTBNc1JVRkJTeXhEUVVkdVJDeFJRVVpKTTBjc1JVRkJUeXhMUVVGTExFdEJRMW8wUnl4RlFVRkxMRVZCUVVkRExFVkJRVXMzUnl4RlFVRkxMRTlCUVZFNFJ5eEZRVUZOUkN4SFFVRk5MRVZCUTI1RFJDeEZRVUZMUXl4SFFVRkpMRU5CUTFvc1NVRkJTVVVzUlVGQlNVb3NSVUZCU1ROSExFVkJRVXM0Unl4RFFVRkhMRVZCUVVkMlNDeERRVUZITEVWQlF6RkNMRWRCUVVsM1NDeEZRVUZKTEVWQlEwcElMRVZCUVV0RkxFVkJRVTBzVlVGRFRrTXNSVUZCU1N4RlFVTlVSaXhGUVVGTFF5eE5RVU5LTEVsQlFVbERMRWxCUVUwc1JVRkRXQ3hQUVVGUFJDeEZRVWRRTEVkQlFVbDJTQ3hKUVVGUlFTeEZRVU5TTEU5QlFVOVRMRVZCUVVzc1QwRkZXaXhOUVVGTkxFbEJRVWtzVFVGQlRTdzRRa0ZCT0VJc1JVRkZkRVE0Unl4RlFVRlBSaXhGUVVGTFF5eEhRVUZQTEVOQlEzWkNMRU5CUTBFc1QwRkJUME1zUlVGQlRVb3NRMEUyUTJwQ0xFVkJSMEZJTEVWQlFVMHNWVUZCVlN4UFFVRlRMRlZCUVZrc1EwRkRha01zVDBGQlR5eExRVUZMTEV0QlFVc3NRMEZCUXl4RFFVTjBRaXhGUVVOQlFTeEZRVUZOTEZWQlFWVXNVVUZCVlN4VFFVRlZNVVlzUlVGQllTeERRVU0zUXl4SFFVRkpMRXRCUVVzc1MwRkJTeXhUUVVGWExFVkJSWHBDTEU5QlFVRkJMRVZCUVZrc1EwRkJReXhGUVVGSkxFdEJRVXNzUzBGQlN5eERRVUZETEVWQlF6VkNRU3hGUVVGWkxFTkJRVU1zUlVGQlNTeExRVUZMTEU5QlFVOHNRMEZCUXl4RlFVTjJRa0VzUTBGRFdDeEZRVU5CTUVZc1JVRkJUU3hWUVVGVkxGRkJRVlVzVTBGQlZURkdMRVZCUVdFc1EwRkROME1zUjBGQlNTeExRVUZMTEV0QlFVc3NVMEZCVnl4RlFVVjZRaXhMUVVGSmJVY3NSVUZCV1N4TFFVRkxMRXRCUVVzc1QwRkJVeXhGUVVOdVF5eFBRVUZCYmtjc1JVRkJXU3hEUVVGRExFVkJRVWtzUzBGQlN5eExRVUZMYlVjc1EwRkJVeXhGUVVOd1EyNUhMRVZCUVZrc1EwRkJReXhGUVVGSkxFdEJRVXNzVDBGQlQyMUhMRU5CUVZNc1JVRkRMMEp1Unl4RlFVTllMRVZCUTBFd1JpeEZRVUZOTEZWQlFWVXNUVUZCVVN4VlFVRlpMRU5CUTJoRExFbEJRVWx3U0N4RlFVRkpMRXRCUVVzc1QwRkRZaXhQUVVGUExFbEJRVWx2U0N4RlFVRk5MRXRCUVVzc1MwRkJTeXhOUVVGTkxFTkJRVU1zUlVGQlIzQklMRWxCUVUxelNDeEhRVUZaZEVnc1JVRkJTVUVzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVTjZSU3hGUVVOQmIwZ3NSVUZCVFN4VlFVRlZMRmxCUVdNc1UwRkJWV1lzUlVGQlR5eERRVU16UXl4UFFVRlBMRXRCUVVzc1ZVRkJXU3hEUVVGRFFTeEZRVUZSTEV0QlFVOHNTMEZCU3l4TlFVRk5MRU5CUTNaRUxFVkJRMEZsTEVWQlFVMHNWVUZCVlN4SlFVRk5MRk5CUVZWb1NDeEZRVUZMUXl4RlFVRmpiVVVzUlVGQlRTeERRVU55UkN4SlFVRkpkRVFzUlVGQlNTeExRVUZMTEZGQlFWRmtMRVZCUVVzc1IwRkJTVzlGTEVWQlFVc3NVVUZCVVN4RlFVTXpReXhQUVVGUGRFUXNSVUZCU1N4RlFVRkpZaXhGUVVGbExFdEJRVXNzVDBGQlQyRXNRMEZCUXl4RFFVTXZReXhGUVVOQmEwY3NSVUZCVFN4VlFVRlZMRzFDUVVGeFFpeFRRVUZWYUVnc1JVRkJTMWdzUlVGQlUzRkpMRVZCUVZkd1J5eEZRVUZoTEVOQlEycEdMRWxCUVVrc1JVRkJTU3hMUVVGTExGRkJRVkYwUWl4RlFVRkxMRWRCUVVsWUxFTkJRVThzUlVGRGFrTnpTU3hGUVVGbExFVkJRVWtzUlVGQlNTeERRVUZETEVWQlFVa3NSVUZCUzBRc1JVRkJXU3hGUVVGSkxFVkJRVWtzUlVGRGVrUXNSMEZCU1VNc1IwRkJaMElzUlVGRGFFSXNUMEZCUVhKSExFVkJRVmtzUTBGQlF5eEZRVUZKTEV0QlFVc3NTMEZCUzNGSExFTkJRVmtzUlVGRGRrTnlSeXhGUVVGWkxFTkJRVU1zUlVGQlNTeExRVUZMTEU5QlFVOXhSeXhEUVVGWkxFVkJRMnhEY2tjc1EwRkhaaXhGUVVOQk1FWXNSVUZCVFN4VlFVRlZMRzlDUVVGelFpeFRRVUZWYUVnc1JVRkJTMWdzUlVGQlUzRkpMRVZCUVZkd1J5eEZRVUZoTEVOQlEyeEdMRWxCUVVrc1JVRkJTU3hMUVVGTExGRkJRVkYwUWl4RlFVRkxMRWRCUVVsWUxFTkJRVThzUlVGRGFrTnpTU3hGUVVGbExFVkJRVWtzUlVGQlNTeERRVUZETEVWQlFVdEVMRVZCUVZrc1JVRkJTU3hGUVVGSkxFVkJRMnBFYWtnc1JVRkJUeXhMUVVGTExFdEJRMmhDTEVkQlFVbHJTQ3hGUVVGbGJFZ3NSVUZCU3l4UFFVTndRaXhQUVVGQllTeEZRVUZaTEVOQlFVTXNSVUZCU1dJc1JVRkJTMnRJTEVOQlFWa3NSVUZEYkVOeVJ5eEZRVUZaTEVOQlFVTXNSVUZCU1N4TFFVRkxMRTlCUVU5eFJ5eERRVUZaTEVWQlEyeERja2NzUTBGSFppeEZRVU5CTUVZc1JVRkJUU3hWUVVGVkxGZEJRV0VzVTBGQlZWa3NSVUZCVDNoRUxFVkJRVTE1UkN4RlFVRlhMRU5CUXpORUxFbEJRVWxETEVWQlFVc3NTMEZCU3l4TFFVRkxMRTlCUVZGRExFVkJRVXNzUzBGQlN5eFBRVUZQTEU5QlF6VkRMRTlCUVVFM1JpeEhRVUZOTEV0QlFVc3NVMEZCVjJkR0xFZEJRVmxaTEVkQlFVMURMRVZCUVV0RUxFbEJRVTlETEVWQlFVa3NjVU5CUVhORFNDeEZRVUZQTEdWQlFXZENSU3hGUVVGSlF5eEZRVUZKTEdkQ1FVRnBRa1lzUTBGQlV5eEZRVTEyU2pOR0xFZEJRVTB3Uml4SFFVRlRMRWRCUVV0RkxFVkJRVXNzUlVGQlJ5eHpRa0ZCZFVKR0xFVkJRVThzWjBKQlFXbENReXhEUVVGVExFVkJRemRGUXl4RFFVTllMRVZCUjBGa0xFVkJRVTBzVlVGQlZTeEpRVUZOTEZOQlFWVm9TQ3hGUVVGTFJTeEZRVUZQUXl4RlFVRlhhVVVzUlVGQlRTeERRVU42UkN4SlFVRkpMRVZCUVVrc1MwRkJTeXhSUVVGUmNFVXNSVUZCU3l4SFFVRkpiMFVzUlVGQlN5eFJRVUZSTEVWQlF6TkRMRWRCUVVrc1JVRkJTU3hGUVVGSExFTkJTVkFzUjBGR1FTeEZRVUZKTEVOQlFVTXNSVUZEVEVFc1JVRkJTeXhSUVVORUxFdEJRVXNzUzBGQlN5eFBRVUZUUVN4RlFVRkxMR0ZCUTNoQ0xFOUJRVThzUzBGQlN5eGhRVUZoTEVWQlFVZHdSU3hGUVVGTFJTeEZRVUZQYTBVc1EwRkJTU3hGUVVrMVF5eEpRVUZKTkVRc1JVRkJhMElzUzBGQlN5eHJRa0ZCYTBJc1JVRkJSME1zUlVGQlV5eExRVU42UkN4UFFVRkpMRVZCUVVrc1MwRkJTeXhMUVVGTExGTkJRMlFzUjBGQlN5eExRVUZMTEV0QlFVc3NUMEZEWmtFc1JVRkJVMFFzUjBGRllrTXNSVUZCVHl4aFFVRmhMRVZCUVVkcVNTeEZRVUZMUlN4RlFVRlBhMFVzUTBGQlNTeEZRVU5vUXpSRUxFTkJSV1lzUzBGSFNTeFJRVUZKTjBnc1NVRkJZeXhMUVVOV1JDeEpRVUZWTEZGQlExWXNTMEZCU3l4WlFVRlpMRVZCUlhKQ0xFdEJRVXNzUzBGQlN5eERRVUZETEVWQlFVbEdMRVZCUTJZc1MwRkJTeXhQUVVGUExFTkJRVU1zUlVGQlNVVXNSMEZGWkN4RlFVVm1MRVZCUTBFNFJ5eEZRVUZOTEZWQlFWVXNXVUZCWXl4VlFVRlpMRU5CUTNSRExFOUJRVWtzUzBGQlN5eFRRVUZYUlN4SFFVTlVMRXRCUVVzc1QwRkJVeXhMUVVGTExFOUJRVThzVFVGQlRTeEZRVUZITEV0QlFVc3NTMEZCU3l4TlFVRk5MRVZCUTNaRUxFdEJRVXNzVFVGRGFFSXNSVUZEUVVZc1JVRkJUU3hWUVVGVkxHRkJRV1VzVTBGQlZXeEhMRVZCUVVka0xFVkJRVXRGTEVWQlFVOXJSU3hGUVVGTkxFTkJSVEZFTEVkQlJFRXNTMEZCU3l4TFFVRkxMRTlCUVU5MFJDeEZRVUZITEVWQlFVZGtMRU5CUVVjc1JVRkRkRUlzUzBGQlN5eFRRVUZYYTBnc1IwRkJWeXhEUVVNelFpeExRVUZQUVN4SFFVRlZMRTlCUVZNNVF5eEZRVUZMTEdOQlF6TkNPRU1zUjBGQlZTeExRVUZMTEUxQlFWTXNSVUZETlVJc1IwRkJTV2hJTEVsQlFWVXNUMEZEVml4TlFVRlBMRWRCUjFBc1MwRkJTeXhQUVVGVFowZ3NSMEZCVlN4TlFVRk5MRVZCUVVjc1MwRkJTeXhMUVVGTExFOUJRVk1zUTBGQlF5eERRVVUzUkN4RFFVTkJMRmxCUVVzc1QwRkJUeXhQUVVGUGNFY3NSVUZCUnl4RlFVRkhXaXhEUVVGTExFVkJRM1pDTEVWQlExZ3NSVUZEUVRoSExFVkJRVTBzVlVGQlZTeGpRVUZuUWl4VFFVRlZhMElzUlVGQlN5eERRVWt6UXl4SlFVRkpkRWtzUlVGQlNTeExRVUZMTEU5QlExUnpTU3hGUVVGSkxGTkJRVmRvUWl4SFFVTllkRWdzU1VGQlRYTklMRWxCUTA1MFNDeEZRVUZGTEV0QlFVc3NUVUZCVXl4SFFVZHdRa0VzUlVGQlNTeExRVUZMTEZsQlFWa3NSVUZEY2tKQkxFVkJRVVVzUzBGQlMzTkpMRVZCUVVrc1QwRkJUeXhOUVVGTkxFTkJRVU1zUjBGRk4wSXNTMEZCU3l4TFFVRkxMRXRCUVV0QkxFVkJRVWtzUzBGQlN5eE5RVUZOTEVOQlFVTXNRMEZEYmtNc1JVRkRRV3hDTEVWQlFVMHNWVUZCVlN4aFFVRmxMRk5CUVZWdFFpeEZRVUZMTEVOQlNURkRMRWxCUVVsMlNTeEZRVUZKTEV0QlFVc3NUMEZEVkhWSkxFVkJRVWtzVTBGQlYycENMRWRCUTFoMFNDeEpRVUZOYzBnc1NVRkRUblJJTEVWQlFVVXNVVUZCVVN4TlFVRlRMRWRCUjNaQ1FTeEZRVUZKTEV0QlFVc3NXVUZCV1N4RlFVTnlRa0VzUlVGQlJTeFJRVUZSZFVrc1JVRkJTU3hQUVVGUExFbEJRVWtzUTBGQlF5eEhRVVU1UWl4TFFVRkxMRXRCUVVzc1VVRkJVVUVzUlVGQlNTeExRVUZMTEVsQlFVa3NRMEZCUXl4RFFVTndReXhGUVVOQmJrSXNSVUZCVFN4VlFVRlZMR3RDUVVGdlFpeFZRVUZaTEVOQlJUVkRMRWxCUVVsdlFpeEZRVUZQTEV0QlFVc3NTMEZCU3l4UlFVRlZMRVZCUVVjelNDeEZRVUZQTEV0QlFVc3NTMEZCU3l4UFFVRlBNa2dzUTBGQlNTeEZRVU14Ukc1Q0xFVkJRVk1zUzBGQlN5eFRRVUZYUXl4SFFVRlpRU3hIUVVGWkxFdEJRVXNzVDBGQlR5eFBRVUZQYTBJc1EwRkJTU3hGUVVNMVJTeFBRVUZQTEVsQlFVbHdRaXhGUVVGTmRrY3NSVUZCVFhkSExFTkJRVTBzUTBGRGFrTXNSVUZIUVVRc1JVRkJUU3hWUVVGVkxGTkJRVmNzVTBGQlZXeElMRVZCUVV0RExFVkJRVTFoTEVWQlFXRjVTQ3hGUVVGVmFrVXNSVUZCVFd0RkxFVkJRVTg1UWl4RlFVRlRMRU5CUTNwR0xFbEJRVWxaTEVWQlFVMW9SQ3hGUVVGTExGTkJRMWh0UlN4RlFVRk5ReXhGUVVOV0xFZEJRVWw2U1N4SlFVRlRSQ3hIUVVsVUxFZEJTRWtzUTBGQlEyTXNTVUZGVERSSUxFZEJRVk5FTEVWQlFVOHNTMEZCU3l4UlFVRlJla2tzUlVGQlN5eEhRVUZKYzBnc1EwRkJSeXhIUVVGTExFVkJRekZEYlVJc1JVRkJUeXhIUVVOUUxFOUJRVTlFTEU5QlIxaERMRVZCUVU4c1MwRkJTeXhSUVVGUmVra3NSVUZCU3l4RlFVRkhjMGdzUTBGQlJ5eEZRVU12UW05Q0xFVkJRVkVzUzBGQlN5eFJRVUZSZWtrc1JVRkJUU3hIUVVGSmNVZ3NRMEZCUnl4RlFVTTVRbTlDTEVWQlFWRXNSVUZEVWtFc1JVRkJVU3hEUVVGRFFTeEZRVU5LTlVnc1NVRkJaMElzU1VGRGNrSTBTQ3hKUVVWU0xFbEJRVWt2U0N4RlFVRlBMRXRCUVVzc1MwRkJUWGRITEVWQlFWTXNTMEZCU3l4UFFVTndReXhIUVVGSlZDeEpRVUZaTEU5QlExb3NVVUZCVXpGR0xFVkJRVWw1U0N4RlFVRk5la2dzUlVGQlNUQklMRVZCUVU4eFNDeEpRVUZMTEVOQlF5OUNMRWxCUVVsa0xFVkJRVTFUTEVWQlFVdExMRU5CUVVNc1JVRkRXbFlzUlVGQlUyOUhMRVZCUVZGNFJ5eEZRVUZMYVVnc1JVRkJUMjVITEVOQlFVTXNSVUZCUjNkSUxFZEJRVThzUlVGRE5VTXNSMEZCU1d4SkxFbEJRVmNzVDBGQlZ5eERRVU4wUWl4SFFVRkphVWtzU1VGQllTeEhRVUZOTEVOQlEyNUNMRWRCUVVseVNTeEpRVUZSVXl4RlFVRkxTeXhEUVVGRExFZEJRVXNzUzBGQlN5eFhRVUZoTEVkQlEzSkRMRTFCUVUwc1NVRkJTU3hOUVVGTkxHZEVRVUZuUkN4RlFVTm9SVllzUlVGQlR5eFJRVU5RTEV0QlFVc3NTMEZCU3l4UFFVRlBWU3hGUVVGSExFTkJRVU1zUlVGRGFrSXNTMEZCU3l4VFFVRlhiMGNzU1VGRGFFSXNTMEZCU3l4UFFVRlBMRTlCUVU5d1J5eEZRVUZITEVOQlFVTXNSVUZETTBKelJDeEZRVUZMTEZGQlEweDBSQ3hKUVVOQk1FZ3NTMEZGUzNCSkxFVkJRVThzWlVGQlpTeFBRVUZQTEVsQlEyeEROa2NzUlVGQlQyNUhMRU5CUVVNc1JVRkJTVllzUlVGQlR5eE5RVVV6UWl4RFFVTkJMRWRCUVVsQkxFVkJRVThzVVVGQlZTeFBRVU5xUWl4UFFVRlBRU3hEUVVObUxFTkJRMG9zVFVGSFFXdEpMRWRCUVZORkxFVkJRVkZFTEVWQlEzSkNMRTlCUVU5RUxFTkJRMWdzUlVGRlFYUkNMRVZCUVUwc1ZVRkJWU3hoUVVGbExGTkJRVlZyUWl4RlFVRkxUeXhGUVVGSExFTkJSVGRETEVkQlJFRXNTMEZCU3l4TFFVRkxMRXRCUVVzc1RVRkJUU3hMUVVGTExFdEJRVTFRTEVWQlFVa3NTVUZCU1N4RlFVTndReXhMUVVGTExGTkJRVmRvUWl4SFFVRlhMRU5CUXpOQ0xFZEJRVWxuUWl4RlFVRkpMRk5CUVZkb1FpeEhRVU5tTEU5QlEwb3NTMEZCU3l4UFFVRlRMRXRCUVVzc1QwRkJUeXhOUVVGTkxFVkJRVWNzUzBGQlN5eExRVUZMTEUxQlFVMHNRMEZEZGtRc1EwRkRRU3hMUVVGTExFOUJRVThzUzBGQlN5eE5RVUZOTEV0QlFVc3NUMEZCVVdkQ0xFVkJRVWtzV1VGQldTeERRVUZETEVOQlEzcEVMRVZCUTA5c1FpeERRVU5ZTEVWQlFVVXNSVUZGUlROSExFZEJRU3RDTEZOQlFWVnhTU3hGUVVGUkxFTkJRMnBFYkVzc1IwRkJWVFpDTEVWQlFXVnhTU3hEUVVGTkxFVkJTeTlDTEZOQlFWTnlTU3hGUVVGak5FVXNSVUZCVlhoRkxFVkJRVTBzUTBGRGJrTXNTVUZCU1dZc1JVRkJVU3hMUVVOYUxFZEJRVWtzUTBGQlEyVXNSVUZCVFN4RFFVTlFRU3hGUVVGUExFTkJRVU1zUlVGRFVpeFJRVUZUTEVWQlFVa3NSVUZCUnl4RlFVRkpkMFVzUlVGQlV5eFBRVUZSTEVsQlEycERlRVVzUlVGQlN5eERRVUZETEVWQlFVbDNSU3hGUVVGVExFTkJRVU1zUlVGQlJTeFBRVUZQTEVOQlEzSkRMRU5CUTBFc1QwRkJRWFpHTEVWQlFWRm5TaXhGUVVGUExFdEJRVXNzUzBGQlRXcEpMRU5CUVVrc1IwRkJTeXhMUVVOdVEyWXNSVUZCVFN4VFFVRlhkVVlzUlVGRFZuWkdMRU5CUTFnc1EwRkRRU3hQUVVGQlZ5eEZRVUZqTEZWQlFWVXNUVUZCVVN4VlFVRlpMRU5CUlhoRExGRkJSRWswUlN4RlFVRlhMRXRCUVVzc1UwRkJVeXhOUVVGTkxFTkJRVU1zUlVGRE0wSnVSU3hGUVVGSkxFVkJRVWRCTEVWQlFVbHRSU3hGUVVGVExFOUJRVkZ1UlN4SlFVTnFRMjFGTEVWQlFWTnVSU3hEUVVGRExFVkJRVVVzVTBGQlZ5eEhRVU16UWl4UFFVRlBMRWxCUVVsVUxFVkJRV00wUlN4RlFVRlZMRXRCUVVzc1MwRkJTeXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVU42UkN4RlFVTkJOVVVzUlVGQll5eFZRVUZWTEZsQlFXTXNVMEZCVlRSR0xFVkJRVThzUTBGRGJrUXNSMEZCU1N4TFFVRkxMRlZCUVZrc1EwRkJRMEVzUlVGRGJFSXNUMEZCVHl4TFFVVllMRkZCUkVreFJpeEZRVUZMTEVsQlFVbEdMRVZCUVdNc1MwRkJTeXhUUVVGVExFMUJRVTBzUTBGQlF5eEZRVUZITEV0QlFVc3NTMEZCU3l4TlFVRk5MRU5CUVVNc1EwRkJReXhGUVVNMVJGTXNSVUZCU1N4RlFVRkhRU3hGUVVGSlVDeEZRVUZITEZOQlFWTXNUMEZCVVU4c1NVRkRjRU5RTEVWQlFVY3NVMEZCVTA4c1EwRkJReXhGUVVGSlVDeEZRVUZITEZOQlFWTlBMRU5CUVVNc1JVRkJSU3haUVVGWmJVWXNRMEZCU3l4RlFVTnlSQ3hQUVVGUE1VWXNRMEZEV0N4RlFVTkJSaXhGUVVGakxGVkJRVlVzVDBGQlV5eFZRVUZaTEVOQlEzcERMRTlCUVU4c1MwRkJTeXhUUVVGVExFTkJRVU1zUlVGQlJTeFBRVUZQTEVOQlEyNURMRVZCUTBGQkxFVkJRV01zVlVGQlZTeFJRVUZWTEZOQlFWVnBRaXhGUVVGaExFTkJRM0pFTEU5QlFVOHNTMEZCU3l4VFFVRlRMRU5CUVVNc1JVRkJSU3hSUVVGUlFTeERRVUZYTEVOQlF5OURMRVZCUTBGcVFpeEZRVUZqTEZWQlFWVXNVVUZCVlN4VFFVRlZhVUlzUlVGQllTeERRVU55UkN4UFFVRlBMRXRCUVVzc1UwRkJVeXhMUVVGTExGTkJRVk1zVDBGQlV5eERRVUZETEVWQlFVVXNVVUZCVVVFc1EwRkJWeXhEUVVOMFJTeEZRVU5CYWtJc1JVRkJZeXhWUVVGVkxFbEJRVTBzVTBGQlZVd3NSVUZCUzBNc1JVRkJZMjFGTEVWQlFVMHNRMEZETjBRc1NVRkJTU3hGUVVGSkxFdEJRVXNzVVVGQlVYQkZMRVZCUVVzc1JVRkJSMjlGTEVWQlFVc3NVVUZCVVN4RlFVRkhZU3hGUVVGWExFdEJRVXNzVTBGRE4wUXNUMEZCVHl4RlFVRkpRU3hGUVVGVExFOUJRVk5CTEVWQlFWTXNRMEZCUXl4RlFVRkZMRWxCUVVscVJpeEZRVUZMUXl4RlFVRmpiVVVzUTBGQlNTeEZRVUZKTEUxQlF6VkZMRVZCUTBFdlJDeEZRVUZqTEZWQlFWVXNiVUpCUVhGQ0xGTkJRVlZNTEVWQlFVdFlMRVZCUVZOeFNTeEZRVUZYY0Vjc1JVRkJZU3hEUVVONlJpeEpRVUZKVWl4RlFVRkpMRXRCUVVzc1VVRkJVV1FzUlVGQlN5eEZRVUZIV0N4RFFVRlBMRVZCUVVjMFJpeEZRVUZYTEV0QlFVc3NVMEZEZGtRc1IwRkJTVzVGTEVkQlFVdHRSU3hGUVVGVExFOUJRMlFzVDBGQlR5eExRVUZMTEZGQlFWRXpSQ3hEUVVGWExFVkJRMjVETEVsQlFVbHNRaXhGUVVGVE5rVXNSVUZCVTI1RkxFTkJRVU1zUlVGQlJTeHRRa0ZCYlVKa0xFVkJRVXRZTEVWQlFWTnhTU3hGUVVGWGNFY3NRMEZCVnl4RlFVTm9SaXhQUVVGSmJFSXNTVUZCVnl4UlFVRmhWU3hGUVVGSkxFVkJRM0pDYlVVc1JVRkJVMjVGTEVWQlFVa3NRMEZCUXl4RlFVRkZMRkZCUVZGUkxFTkJRVmNzUlVGRmRrTnNRaXhEUVVOWUxFVkJRMEZETEVWQlFXTXNWVUZCVlN4dlFrRkJjMElzVTBGQlZVd3NSVUZCUzFnc1JVRkJVM0ZKTEVWQlFWZHdSeXhGUVVGaExFTkJRekZHTEVsQlFVbFNMRVZCUVVrc1MwRkJTeXhSUVVGUlpDeEZRVUZMTEVWQlFVZFlMRU5CUVU4c1JVRkJSelJHTEVWQlFWY3NTMEZCU3l4VFFVRlZNRVFzUlVGQlV6RkVMRVZCUVZNc1QwRkRia1lzUjBGQlNTeEZRVUZCYmtVc1IwRkJTelpJTEVkQlJWUXNTMEZCU1haSkxFVkJRVk0yUlN4RlFVRlRia1VzUTBGQlF5eEZRVUZGTEc5Q1FVRnZRbVFzUlVGQlMxZ3NSVUZCVTNGSkxFVkJRVmR3Unl4RFFVRlhMRVZCUTJwR0xFOUJRVWxzUWl4SlFVRlhMRkZCUVdGVkxFVkJRVWsyU0N4RlFVRlRMRVZCUXpsQ01VUXNSVUZCVTI1RkxFVkJRVWtzUTBGQlF5eEZRVUZGTEZGQlFWRlJMRU5CUVZjc1JVRkZka05zUWl4RlFVTllMRVZCUTBGRExFVkJRV01zVlVGQlZTeFhRVUZoTEZOQlFWVjFTQ3hGUVVGUGVFUXNSVUZCVFhsRUxFVkJRVmNzUTBGRGJrVXNTVUZCU1VNc1JVRkJTeXhMUVVGTExFdEJRVXNzVDBGQlVXTXNSVUZCU3l4TFFVRkxMRk5CUVZNc1QwRkRPVU14Unl4SFFVRk5ORVlzU1VGQlQyTXNSVUZCU1N4MVEwRkJkME5vUWl4RlFVRlBMRlZCUVZkRkxFVkJRVWxqTEVWQlFVa3NXVUZCWVdZc1EwRkJVeXhGUVVONlJ6TkdMRWRCUVUwMFJpeEZRVUZMTEVkQlFVdEdMRVZCUVZFc1JVRkJSeXd5UWtGQk5FSkZMRVZCUVVrc1YwRkJXVVlzUlVGQlR5eFpRVUZoUXl4RFFVRlRMRVZCUlhCSExGRkJSRWxvUWl4RlFVRlBMRVZCUVVkWExFVkJRVWtzUzBGQlN5eFRRVUZWTjBnc1JVRkJTU3hMUVVGTExFdEJRVTFyU2l4RlFVRlpMRVZCUTI1RUwwZ3NSVUZCU1N4RlFVRkhRU3hGUVVGSk9FZ3NSVUZCU1RsSUxFbEJRM0JDSzBZc1IwRkJVVmNzUlVGQlJURkhMRU5CUVVNc1JVRkJSU3hYUVVGWE9FY3NSVUZCVVN4RlFVRkhlRVFzUlVGQlRYbEVMRVZCUVZsb1FpeERRVUZKTEVWQlEzcEVaME1zUjBGQllYSkNMRVZCUVVVeFJ5eERRVUZETEVWQlFVVXNTMEZCU3l4UFFVTjJRbTlDTEVkQlFVMHlSU3hIUVVGUlowTXNSVUZCVnl4TlFVRlBhRUlzUTBGQlV5eEZRVU42UXpOR0xFZEJRVTF3UWl4SlFVRk5MRWRCUVVzd1J5eEZRVUZGTVVjc1JVRkJTU3hEUVVGRExFVkJRVVVzWTBGQlowSXdSeXhGUVVGRk1VY3NRMEZCUXl4RlFVRkZMRmxCUVdFc05FSkJRVFpDSzBjc1EwRkJVeXhGUVVNNVJrd3NSVUZCUlRGSExFTkJRVU1zUlVGQlJTeFBRVUZQTEVkQlFVdHVRaXhGUVVGRmJVSXNRMEZCUXl4SFFVTndRbTlDTEVkQlFVMHNSMEZCVHl4UlFVRlRjRUlzUlVGQlJ5eE5RVUZQYmtJc1JVRkJSVzFDTEVOQlFVTXNSVUZCUnl4MVFrRkJkMEl3Unl4RlFVRkZNVWNzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUnl4WFFVRlpPRWNzUlVGQlR5eFpRVUZoUXl4RFFVRlRMRVZCUTNCSUwwY3NTVUZCVFN4SFFVRkxjMFFzUlVGQlN5eFRRVUZUZWtVc1JVRkJSVzFDTEVWQlFVa3NRMEZCUXl4RlFVRkhia0lzUlVGQlJXMUNMRU5CUVVNc1EwRkJReXhGUVVGSkxFZEJRemREYjBJc1IwRkJUU3hIUVVGUExEQkNRVUV5UWpCR0xFVkJRVThzVVVGQlV6bEhMRVZCUVVjc1QwRkJVVzVDTEVWQlFVVnRRaXhGUVVGSkxFTkJRVU1zUlVGQlIyNUNMRVZCUVVWdFFpeERRVUZETEVOQlFVTXNSVUZKZWtZc1NVRkJTV2RKTEVWQlFWTkVMRWxCUVdNc1JVRkRNMElzVDBGQlNVTXNSMEZCVlVRc1JVRkJXWHBGTEVWQlFVc3NXVUZCWTNkRkxFbEJRM3BETVVjc1IwRkJUU3hIUVVGUE5FY3NSVUZCVXl4VlFVRlpMRmRCUVZrc1lVRkJZMFFzUlVGQlYyaERMRVZCUVUwc1lVRkJZMlVzUlVGQlR5eGxRVUZuUW5oRUxFVkJRVXNzV1VGQllTeHRRa0ZCYjBKM1JTeEZRVUZKTEdGQlFXTm1MRU5CUVZNc1JVRkRhRXhvUWl4RFFVTllMRVZCUjBGNFJ5eEZRVUZqTEZWQlFWVXNTVUZCVFN4VFFVRlZUQ3hGUVVGTFJTeEZRVUZQUXl4RlFVRlhhVVVzUlVGQlRTeERRVU5xUlN4SlFVRkpiMFFzUlVGQlNTeExRVUZMTEZOQlFWVndRaXhGUVVGTmFFTXNSVUZCU3l4aFFVRmpaMFFzUlVGQlRXaEVMRVZCUVVzc1UwRkRka1IwUkN4RlFVRkpMRXRCUVVzc1NVRkJTU3hMUVVGTExGRkJRVkZrTEVWQlFVc3NSVUZCUjI5SUxFTkJRVWNzUlVGQlIwa3NSVUZCUlN4UFFVRlRMRU5CUVVNc1JVRkJSM1ZDTEVWQlFWRjJRaXhGUVVGRk1VY3NRMEZCUXl4RlFVZDBSU3hIUVVaSmFVa3NSVUZCVFN4WFFVTk9ka0lzUlVGQlJURkhMRU5CUVVNc1JVRkJTV2xKTEVWQlFWRkJMRVZCUVUwc1RVRkJUU3hIUVVNelFrRXNSVUZCVFN4TFFVRkxMRkZCUVZVelF5eEZRVUZMTEVOQlN6RkNMRWxCUVVrdlJDeEZRVU5CZGtJc1JVRkJTU3hKUVVGTmRVSXNSVUZCVVcxR0xFVkJRVVV4Unl4RlFVRkpMRU5CUVVNc1IwRkJSeXhMUVVGTExFOUJRVk56Uml4SFFVRlBaMElzUlVGQlNUSkNMRVZCUVUwc1MwRkJTeXhEUVVGRExFVkJRVWN2U1N4RFFVRkhMRVZCUVVrc1IwRkRka1Z4UXl4RlFVRk5MRmRCUTA1dFJpeEZRVUZGTVVjc1JVRkJTU3hEUVVGRExFVkJRVWwxUWl4RlFVRlJRU3hGUVVGTkxFMUJRVTBzUjBGRGJrTkJMRVZCUVUwc1kwRkJZekJITEVOQlFVc3NSVUZEZWtJc1MwRkJTeXhMUVVGTGFra3NSVUZCU1N4RFFVRkRMRVZCUVVsMVFpeEZRVUZOTEU5QlFVOHNTVUZGTVVKQkxFVkJRVkZ0Uml4RlFVRkZNVWNzUlVGQlNTeERRVUZETEV0QlFVOHNVVUZCWVhWQ0xFVkJRVTBzUzBGQlN5eFBRVUZUSzBRc1IwRkJUMmRDTEVWQlFVa3lRaXhGUVVGTkxFOUJRVThzUlVGQlJ5OUpMRU5CUVVjc1JVRkJTU3hKUVVNelJuRkRMRVZCUVUwc1YwRkRUbTFHTEVWQlFVVXhSeXhGUVVGSkxFTkJRVU1zUlVGQlNYVkNMRVZCUVZGQkxFVkJRVTBzVFVGQlRTeEhRVU51UTBFc1JVRkJUU3hoUVVGaE1FY3NRMEZCU3l4RlFVTjRRaXhMUVVGTExFdEJRVXRxU1N4RFFVRkRMRVZCUVVrd1J5eEZRVUZGTVVjc1EwRkJReXhGUVVGRkxFOUJRVThzUlVGRmJrTXNRMEZEUVN4SlFVRkpWaXhGUVVGVE1ra3NSVUZCVFN4SlFVRkpMMGtzUlVGQlMwVXNSVUZCVDBNc1JVRkJWMmxGTEVOQlFVa3NSVUZEYkVRc1IwRkJTV2hGTEVsQlFWY3NSMEZEV0N4TlFVRlBMRWRCUlZnc1IwRkVRU3hMUVVGTExFdEJRVXRWTEVOQlFVTXNSVUZCU1dsSkxFVkJRVTBzVDBGQlR5eEZRVU40UWpOSkxFbEJRVmNzUjBGRFdDeE5RVUZQTEVkQlJWZ3NSMEZCU1N4TFFVRkxMRXRCUVVzc1QwRkJVMmRITEVWQlEyNUNMRmxCUVVzc1QwRkJUM1JHTEVWQlFVa3NSVUZCUjFZc1EwRkJUU3hGUVVOc1FpeEhRVWRRTEVsQlFVazBTQ3hGUVVGclFpeExRVUZMTEd0Q1FVRnJRaXhGUVVGSFF5eEZRVUZUTEV0QlEzcEVMRTlCUVVsaUxFVkJRVWxvU0N4RlFVRlBMRTlCUVU4c1JVRkJSeXhMUVVGTExFOUJRVThzUTBGQlF5eEZRVUZKTEVsQlEzUkROa2dzUlVGQlUwUXNSVUZEVkd4SUxFZEJRVXNzUzBGQlN5eExRVUZMTEZGQlJXNUNiVWdzUlVGQlR5eFBRVUZQYmtnc1JVRkJTU3hGUVVGSFZpeERRVUZOTEVWQlEzQkNORWdzUTBGRlppeEZRVTFCTTBnc1JVRkJZeXhWUVVGVkxFOUJRVk1zVTBGQlZWTXNSVUZCUjJsSkxFVkJRVThzUTBGRGFrUXNTMEZCU3l4VFFVRlRMRTlCUVU5cVNTeEZRVUZITEVWQlFVZHBTU3hEUVVGTExFVkJRMmhETEV0QlFVc3NTMEZCU3l4UFFVRlBha2tzUlVGQlJ5eEZRVUZIYVVrc1JVRkJUU3hQUVVGUExFTkJRVU1zUTBGRGVrTXNSVUZMUVRGSkxFVkJRV01zVlVGQlZTeHJRa0ZCYjBJc1ZVRkJXU3hEUVVWd1JDeEpRVUZKSzBnc1JVRkJUeXhMUVVGTExGTkJRVk1zVVVGQlZTeEZRVU51UXl4UFFVRlBMRWxCUVVrdlNDeEZRVUZqTEV0QlFVc3NVMEZCVXl4UFFVRlBLMGdzUTBGQlNTeEZRVUZITEV0QlFVc3NTMEZCU3l4UFFVRlBRU3hEUVVGSkxFTkJRVU1zUTBGREwwVXNSVUZEUVM5SUxFVkJRV01zVlVGQlZTeGpRVUZuUWl4VFFVRlZOa2dzUlVGQlN5eERRVWx1UkN4TFFVRkxMRXRCUVVzc1MwRkJTMEVzUlVGQlNTeExRVUZMTEUxQlFVMHNRMEZCUXl4RlFVTXZRaXhMUVVGTExGTkJRVk1zUzBGQlMwRXNSVUZCU1N4VFFVRlRMRTFCUVUwc1EwRkJReXhEUVVNelF5eEZRVU5CTjBnc1JVRkJZeXhWUVVGVkxHRkJRV1VzVTBGQlZUaElMRVZCUVVzc1EwRkpiRVFzUzBGQlN5eExRVUZMTEZGQlFWRkJMRVZCUVVrc1MwRkJTeXhKUVVGSkxFTkJRVU1zUlVGRGFFTXNTMEZCU3l4VFFVRlRMRkZCUVZGQkxFVkJRVWtzVTBGQlV5eEpRVUZKTEVOQlFVTXNRMEZETlVNc1JVRk5RVGxJTEVWQlFXTXNWVUZCVlN4VFFVRlhMRk5CUVZWUUxFVkJRVXRETEVWQlFVMWhMRVZCUVdGNVNDeEZRVUZWYWtVc1JVRkJUV3RGTEVWQlFVODVRaXhGUVVGVExFTkJRMnBITEVsQlFVbFpMRVZCUVUxb1JDeEZRVUZMTEZOQlExZ3pSQ3hGUVVGUExFdEJRVXNzUzBGQlRYZEZMRVZCUVZjc1MwRkJTeXhUUVVOc1EzTkVMRVZCUVU4c1MwRkJTeXhSUVVGUmVra3NSVUZCU3l4RlFVRkhjMGdzUTBGQlJ5eEZRVUZIZEVjc1JVRkJTWGxJTEVWQlEzUkRReXhGUVVGUkxFdEJRVXNzU1VGQlNYcEpMRWxCUVZORUxFVkJRVTE1U1N4RlFVRlBMRXRCUVVzc1VVRkJVWGhKTEVWQlFVMHNSVUZCUjNGSUxFTkJRVWNzUlVGQlJ6TkhMRVZCUVVzc1QwRkJVeXhEUVVGRExFVkJRM1JHTEVkQlFVczBTQ3hIUVZOQkxFZEJRVWwyU0N4SFFVRkxNRWdzUlVGRFZpeEhRVUZKTEVOQlEwRXNTMEZCVHpGSUxFZEJRVXN3U0N4RlFVRlBNVWdzU1VGQlN5eERRVU5vUW0xRkxFVkJRVk51UlN4RFFVRkRMRVZCUVVVc1YwRkRXbTFGTEVWQlFWTnVSU3hEUVVGRExFVkJRVWx0UlN4RlFVRlRia1VzUTBGQlF5eEZRVUZGTEUxQlFVMHNSMEZEY0VNc1NVRkJTVllzUlVGQlV6WkZMRVZCUVZOdVJTeERRVUZETEVWQlFVVXNVMEZCVTJoQ0xFVkJRVXRETEVWQlFVMWhMRVZCUVdGNVNDeEZRVUZWYWtVc1JVRkJUV3RGTEVWQlFVODVRaXhEUVVGUExFVkJTWGhHTEVkQlJFRXZSaXhGUVVGTFN5eERRVUZETEVWQlFVbHRSU3hGUVVGVGJrVXNRMEZCUXl4RlFVRkZMRTlCUVU4c1JVRkRla0lzVDBGQlQxWXNSMEZCVnl4VFFVTnNRaXhQUVVGUFFTeEZRVU5ZYTBrc1JVRkJVV3hKTEVOQlExb3NRMEZEU2l4UlFVTkJMRU5CUlVrc1NVRkJTV2RKTEVWQlFVOW9SU3hGUVVGTExHTkJRV2RDTEVWQlIyaERMRWxCUmtsdFJTeEZRVUZQTEVkQlExQkJMRWxCUTBONlNDeEZRVUZKTUVnc1JVRkJUekZJTEVkQlFVdDVTQ3hGUVVGTmVrZ3NTVUZEYmtKdFJTeEZRVUZUYmtVc1EwRkJReXhGUVVGRkxFdEJRVXNzVVVGQlZYTklMRWxCUTNaQ2JrUXNSVUZCVTI1RkxFTkJRVU1zUlVGQlJTeExRVUZMTEZOQlFWY3NSVUZETlVJc1MwRkJTeXhUUVVGVFFTeEZRVUZIYzBRc1JVRkJTeXhaUVVGWkxFZEJSMnhETTBRc1JVRkJTeXhQUVVGUFN5eEZRVUZITEVOQlFVTXNSVUZEYUVKdFJTeEZRVUZUTEU5QlFVOXVSU3hGUVVGSExFTkJRVU1zU1VGSk5VSnRSU3hGUVVGVExGTkJRVmNzUjBGQlMwRXNSVUZCVXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhUUVVGWExFZEJRM0pFTDBNc1IwRkJUU3hIUVVGUExHVkJRV1VzUTBGRGNFTXNUVUYyUTBFc1RVRkJUM0JDTEVkQlFVc3dTQ3hGUVVGUE1VZ3NTVUZCU3l4RFFVTndRaXhKUVVGSlZpeEZRVUZUTmtVc1JVRkJVMjVGTEVOQlFVTXNSVUZCUlN4VFFVRlRhRUlzUlVGQlMwTXNSVUZCVFdFc1JVRkJZWGxJTEVWQlFWVnFSU3hGUVVGTmEwVXNSVUZCVHpsQ0xFTkJRVThzUlVGRGVFWXNSMEZCU1N4UFFVRlBjRWNzUjBGQlZ5eFRRVU5zUWl4UFFVRlBRU3hGUVVOWWEwa3NSVUZCVVd4SkxFTkJRMW9zUTBGdlEwb3NUMEZCVDJ0SkxFTkJRMWdzUlVGRlFXcEpMRVZCUVdNc1ZVRkJWU3hUUVVGWExGTkJRVlZUTEVWQlFVZHJTU3hGUVVGVExFTkJRM0pFTEVsQlFVa3ZSQ3hGUVVGWExFdEJRVXNzVTBGRGNFSXNUMEZCU1c1RkxFZEJRVXNzUjBGQlMwRXNSVUZCU1N4RlFVRkpiVVVzUlVGQlV5eFJRVU4yUWtFc1JVRkJVMjVGTEVOQlFVTXNSVUZCUlN4TFFVRkxMRTlCUVZOdFJTeEZRVUZUYmtVc1JVRkJTU3hEUVVGRExFVkJRVVVzUzBGQlN5eFJRVUZWYTBrc1IwRkRja1F2UkN4RlFVRlRia1VzUTBGQlF5eEZRVUZGTEZkQlExcHRSU3hGUVVGVGJrVXNRMEZCUXl4RlFVRkpiVVVzUlVGQlUyNUZMRU5CUVVNc1JVRkJSU3hOUVVGTkxFZEJRM0JEYlVVc1JVRkJVMjVGTEVOQlFVTXNSVUZCUlN4aFFVRmhiVVVzUlVGQlUyNUZMRVZCUVVrc1EwRkJReXhGUVVGSGEwa3NRMEZCVHl4RlFVTnFSQzlFTEVWQlFWTXNUMEZCVDI1RkxFVkJRVWtzUlVGQlJ5eERRVUZETEVWQlEzaENMRXRCUVVzc1MwRkJTeXhQUVVGUFFTeEZRVUZKTEVWQlFVY3NRMEZCUXl4RlFVTjZRaXhMUVVGTExFdEJRVXRCTEVOQlFVTXNSVUZCU1cxRkxFVkJRVk51UlN4RFFVRkRMRVZCUVVVc1QwRkJUeXhGUVVNelFpeEpRVWRTTEVWQlExZ3NSVUZOUVZRc1JVRkJZeXhWUVVGVkxHRkJRV1VzVTBGQlZUWklMRVZCUVVzMVNTeEZRVUZoTEVOQlJTOUVMRWxCUVVreVNpeEZRVUZaTEV0QlFVc3NTMEZCU3l4UFFVTXhRaXhMUVVGTExFdEJRVXNzUzBGQlN5eE5RVUZOTEV0QlFVc3NTMEZCVFdZc1JVRkJTU3hKUVVGSkxFVkJRM2hETEVsQlFVbG5RaXhGUVVGamFFSXNSVUZCU1N4VFFVVjBRaXhIUVVSQkxFdEJRVXNzVTBGQlV5eExRVUZMTEUxQlFVMHNTMEZCU3l4VFFVRlZaMElzUTBGQlZ5eEZRVU12UTJoQ0xFVkJRVWtzVlVGQldTeERRVUZETEV0QlFVc3NVMEZIZEVJc1VVRkJVM0JJTEVWQlFVa3NSVUZCUjBFc1JVRkJTVzlKTEVWQlFWa3NUMEZCVVhCSkxFbEJRM0JEYjBrc1JVRkJXWEJKTEVOQlFVTXNSVUZCUlN4VFFVRlhMRWRCUzJ4RExFdEJRVXNzVTBGQlUyMUpMRVZCUVZrc1JVRkJSek5LTEVOQlFWY3NRMEZETlVNc1JVRkRUMlVzUTBGRFdDeEZRVUZGTWtjc1JVRkJTeXhGUVZsSVJTeEhRVUZaTEVOQlFVTXNSVUZEWW01SExFZEJRVk1zUTBGQlJTeFBRVUZSTEVWQlFVc3NSVUZCUjFRc1IwRkJZeXhWUVVGWkxFTkJRVVVzVDBGQlQxTXNSVUZCVVN4RlFVTjBSWFZHTEVkQlFWRXNRMEZCUlN4TlFVRlBMRVZCUVVzc1JVRkRkRUl2Unl4SFFVRmhMRlZCUVZrc1EwRkRla0lzU1VGQlNTeEZRVUZKTEVsQlFVbDVTQ3hIUVVOYUxGTkJRVVVzVTBGQlZ5eEhRVU5PTEVOQlExZ3NSVUZCUnl4RlFVTkROVVVzUjBGQllTeERRVUZETEVWQlEyUnFRaXhIUVVGakxFTkJRVU1zUlVGRGJrSXNVMEZCVTJVc1IwRkJUV2xJTEVWQlFVMHNRMEZGYWtJc1VVRkVTVU1zUlVGQlR5eERRVUZETEVWQlEwaERMRVZCUVVzc1JVRkJSMEVzUlVGQlN5eFZRVUZWTEU5QlFWRkJMRWxCUTNCRFJDeEZRVUZMUXl4RlFVRkxMRU5CUVVNc1JVRkJTU3hWUVVGVlFTeERRVUZGTEVWQlJTOUNMRWRCUVVrc1EwRkJRMFlzUlVGRFJDeE5RVUZCUXl4RlFVRkxMRkZCUVZFc1UwRkJVeXhGUVVOb1FpeEpRVUZKTEUxQlFVMUJMRVZCUVVzc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGRmRFTXNRMEZGUVRkTExFZEJRVkVzVjBGQll5eFZRVUZaTEVOQlFVVXNTVUZCU1hGSkxFVkJRVWtzU1VGQlNYcElMRWRCUVZNc1QwRkJRWGxJTEVWQlFVVXNUMEZCVHl4RlFVRlZRU3hEUVVGSExFVkJRVWNzU1VOMGNFUnNSaXhKUVVGTk1FTXNSMEZCVGl4alFVRjVRaXhMUVVGTkxFTkJRVU1zUlVGTGJrSkRMRWRCUVU0c1kwRkJiVU5FTEVWQlFWY3NRMEZEYmtRc1dVRkJXVVVzUlVGQlVTeERRVU5zUWl4TlFVRk5MSEZDUVVGeFFrRXNSVUZCVHl4VlFVRlZMRU5CUVVNc1JVRkJSU3hEUVVOcVJDeERRVU5HTEVWQlMyRkRMRWRCUVU0c1kwRkJiVU5JTEVWQlFWY3NRMEZEYmtRc1dVRkJXVVVzUlVGQlVTeERRVU5zUWl4TlFVRk5MSEZDUVVGeFFrRXNSVUZCVHl4VlFVRlZMRU5CUVVNc1JVRkJSU3hEUVVOcVJDeERRVU5HTEVWQlMyRkZMRWRCUVU0c1kwRkJiVU5LTEVWQlFWY3NRMEZEYmtRc1dVRkJXVVVzUlVGQlVTeERRVU5zUWl4TlFVRk5MSEZDUVVGeFFrRXNSVUZCVHl4VlFVRlZMRU5CUVVNc1JVRkJSU3hEUVVOcVJDeERRVU5HTEVWQlMyRkhMRWRCUVU0c1kwRkJORU5NTEVWQlFWY3NRMEZCUXl4RlFVdHNSRTBzUjBGQlRpeGpRVUVyUWs0c1JVRkJWeXhEUVVNdlF5eFpRVUZaVHl4RlFVRk5MRU5CUTJoQ0xFMUJRVTBzWjBKQlFXZENRU3hEUVVGSkxFVkJRVVVzUTBGRE9VSXNRMEZEUml4RlFVdGhReXhIUVVGT0xHTkJRVzFEVWl4RlFVRlhMRU5CUVVNc1JVRkxla05UTEVkQlFVNHNZMEZCYTBOVUxFVkJRVmNzUTBGRGJFUXNZVUZCWXl4RFFVTmFMRTFCUVUwc01rSkJRVEpDTEVOQlEyNURMRU5CUTBZc1JVTjRSRUVzU1VGQlRWVXNSVUZCU1N4VlFVTlNReXhIUVVGSkxGRkJRMHBETEVkQlFVa3NUMEZGVDBNc1IwRkJZU3hEUVVONFFpeExRVUZOU0N4RlFVTk9MRTFCUVU5QkxFVkJRMUFzU1VGQlMwRXNRMEZEVUN4RlFVVmhTU3hIUVVGWExFTkJRM1JDTEV0QlFVMUtMRVZCUTA0c1RVRkJUME1zUjBGRFVDeEpRVUZMUkN4RFFVTlFMRVZCUldGTExFZEJRWGRDTEVOQlEyNURMRXRCUVUxTUxFVkJRMDRzVFVGQlQwTXNSMEZEVUN4SlFVRkxSQ3hGUVVOTUxGRkJRVk5ETEVWQlExZ3NSVUZGWVVzc1IwRkJXU3hEUVVOMlFpeExRVUZOVGl4RlFVTk9MRTFCUVU5RkxFZEJRMUFzU1VGQlMwWXNRMEZEVUN4RlFVVmhUeXhIUVVGWkxFTkJRM1pDTEV0QlFVMVFMRVZCUTA0c1RVRkJUMFVzUjBGRFVDeEpRVUZMUml4RlFVTk1MRkZCUVZORkxFVkJRMWdzUlVGRllVMHNSMEZCWXl4RFFVTjZRaXhMUVVGTlVpeEZRVU5PTEU5QlFWRkJMRU5CUTFZc1JVRkZZVk1zUjBGQmIwSXNRMEZETDBJc1MwRkJUVlFzUlVGRFRpeFBRVUZSUVN4RlFVTlNMRTlCUVZGQkxFTkJRMVlzUlVGRllWVXNSMEZCZVVJc1EwRkRjRU1zUzBGQlRWWXNSVUZEVGl4UFFVRlJRU3hGUVVOU0xFOUJRVkZCTEVWQlExSXNZVUZCWTBNc1JVRkRhRUlzUlVGRllWVXNSMEZCZDBJc1EwRkRia01zUzBGQlRWZ3NSVUZEVGl4UFFVRlJRU3hGUVVOU0xFOUJRVkZCTEVWQlExSXNZVUZCWTBVc1JVRkRhRUlzUlVGRllWVXNSMEZCYVVJc1EwRkROVUlzUzBGQlRWb3NSVUZEVGl4UFFVRlJRU3hGUVVOU0xGVkJRVmNzUzBGRFlpeEZRVVZoWVN4SFFVRjFRaXhEUVVOc1F5eExRVUZOWWl4RlFVTk9MRTlCUVZGQkxFVkJRMUlzVDBGQlVVRXNSVUZEVWl4VlFVRlhMRXRCUTJJc1JVRkZZV01zUjBGQk5FSXNRMEZEZGtNc1MwRkJUV1FzUlVGRFRpeFBRVUZSUVN4RlFVTlNMRTlCUVZGQkxFVkJRMUlzVlVGQlZ5eE5RVU5ZTEdGQlFXTkRMRVZCUTJoQ0xFVkJSV0ZqTEVkQlFUSkNMRU5CUTNSRExFdEJRVTFtTEVWQlEwNHNUMEZCVVVFc1JVRkRVaXhQUVVGUlFTeEZRVU5TTEZWQlFWY3NUVUZEV0N4aFFVRmpSU3hGUVVOb1FpeEZRVVZoWXl4SFFVRnBRaXhEUVVNMVFpeExRVUZOYUVJc1JVRkRUaXhOUVVGUFFTeEZRVU5RTEVsQlFVdEJMRVZCUTB3c1MwRkJUVUVzUlVGRFRpeFBRVUZSUVN4RFFVTldMRVZCUldGcFFpeEhRVUU0UWl4RFFVTjZReXhMUVVGTmFrSXNSVUZEVGl4TlFVRlBRU3hGUVVOUUxFbEJRVXRCTEVWQlEwd3NTMEZCVFVFc1JVRkRUaXhQUVVGUlFTeEZRVU5TTEU5QlFWRkJMRU5CUTFZc1JVRkZZV3RDTEVkQlFXVXNRMEZETVVJc1MwRkJUV3hDTEVWQlEwNHNUVUZCVDBNc1IwRkRVQ3hKUVVGTFJDeEZRVU5NTEV0QlFVMUJMRVZCUTA0c1QwRkJVVUVzUTBGRFZpeEZRVVZoYlVJc1IwRkJORUlzUTBGRGRrTXNTMEZCVFc1Q0xFVkJRMDRzVFVGQlQwTXNSMEZEVUN4SlFVRkxSQ3hGUVVOTUxFdEJRVTFCTEVWQlEwNHNUMEZCVVVFc1JVRkRVaXhQUVVGUlFTeERRVU5XTEVWQlJXRnZRaXhIUVVFMFFpeERRVU4yUXl4TFFVRk5jRUlzUlVGRFRpeE5RVUZQUXl4SFFVTlFMRWxCUVV0RUxFVkJRMHdzVVVGQlUwTXNSMEZEVkN4TFFVRk5SQ3hGUVVOT0xFOUJRVkZCTEVOQlExWXNSVUZGWVhGQ0xFZEJRV2RDTEVOQlF6TkNMRXRCUVUxeVFpeEZRVU5PTEUxQlFVOUZMRWRCUTFBc1NVRkJTMFlzUlVGRFRDeExRVUZOUVN4RlFVTk9MRTlCUVZGQkxFVkJRMUlzWVVGQlkwTXNSVUZEYUVJc1JVRkZZWEZDTEVkQlFUWkNMRU5CUTNoRExFdEJRVTEwUWl4RlFVTk9MRTFCUVU5RkxFZEJRMUFzU1VGQlMwWXNSVUZEVEN4TFFVRk5RU3hGUVVOT0xFOUJRVkZCTEVWQlExSXNUMEZCVVVFc1JVRkRVaXhoUVVGalF5eEZRVU5vUWl4RlFVVmhjMElzUjBGQlowSXNRMEZETTBJc1MwRkJUWFpDTEVWQlEwNHNUVUZCVDBVc1IwRkRVQ3hKUVVGTFJpeEZRVU5NTEZGQlFWTkZMRWRCUTFRc1MwRkJUVVlzUlVGRFRpeFBRVUZSUVN4RlFVTlNMR0ZCUVdORkxFVkJRMmhDTEVWQlJXRnpRaXhIUVVFMlFpeERRVU40UXl4TFFVRk5lRUlzUlVGRFRpeE5RVUZQUlN4SFFVTlFMRWxCUVV0R0xFVkJRMHdzVVVGQlUwVXNSMEZEVkN4TFFVRk5SaXhGUVVOT0xFOUJRVkZCTEVWQlExSXNUMEZCVVVFc1JVRkRVaXhoUVVGalJTeEZRVU5vUWl4RlEycExUeXhUUVVGVGRVSXNSVUZCV1VNc1JVRkJSeXhEUVVNM1FpeFBRVUZQTEU5QlFVOUJMRWRCUVUwc1YwRkRkRUlzUTBGRlR5eFRRVUZUUXl4SFFVRlRSQ3hGUVVGSExFTkJRekZDTEU5QlFVOHNUMEZCVDBFc1IwRkJUU3hSUVVOMFFpeERRVVZQTEZOQlFWTkZMRWRCUVZWR0xFVkJRVWNzUTBGRE0wSXNUMEZCVHl4UFFVRlBRU3hIUVVGTkxGVkJRVmxCTEVWQlFVa3NTVUZCVFN4RFFVTTFReXhEUVVWUExGTkJRVk5ITEVkQlFWTklMRVZCUVVjc1EwRkRNVUlzVDBGQlR5eFBRVUZQUVN4SFFVRk5MRkZCUTNSQ0xFTkJSVThzVTBGQlUwa3NSMEZCVDBvc1JVRkJSeXhEUVVONFFpeFBRVUZQTEU5QlFVOHNWVUZCVlN4VFFVRlRMRXRCUVV0QkxFTkJRVU1zU1VGQlRTeGxRVU12UXl4RFFVbFBMRk5CUVZOTExFbEJRV01zUTBGRE5VSXNSMEZCU1N4RFFVTkdMRTlCUVU4c1QwRkJUeXhOUVVGVExHRkJRV1VzUTBGQlF5eERRVUZETEV0QlFVc3NhMEpCUXk5RExFOUJRVk5ETEVWQlFVY3NRMEZEVml4TlFVRlBMRVZCUTFRc1EwRkRSaXhEUVVsUExGTkJRVk5ETEVkQlFWZERMRVZCUVU4c1EwRkRhRU1zVDBGQlR5eE5RVUZOTEZGQlFWRkJMRU5CUVVzc1JVRkJTVUVzUlVGQlVTeERRVUZEUVN4RFFVRkxMRU5CUXpsRExFTkJSVThzVTBGQlUwTXNSMEZCVDBNc1JVRkJTME1zUlVGQlNVTXNSVUZCVXl4RFFVTjJReXhIUVVGSlJpeEZRVUZKTEZOQlFWY3NSVUZIYmtJc1QwRkJUMEVzUlVGQlNTeFBRVUZQTEVOQlFVTkhMRVZCUVUxRExFbEJRVk1zUTBGRGFFTXNTVUZCVFVNc1JVRkJUeXhEUVVGRFNpeEZRVUZIUnl4RFFVRkpMRVZCUVVkQkxFTkJRVWtzUlVGRE5VSXNUMEZCUzBRc1IwRkZUVVFzUlVGQlVVTXNSVUZCU3l4RFFVRkRMRVZCUVVkRkxFVkJRVXNzUTBGQlF5eERRVUZETEVsQlFVMUdMRVZCUVVzc1EwRkJReXhGUVVOMFEwRXNSVUZHUVVVc1EwRk5XQ3hGUVVGSExFbEJRVWtzUlVGQlJTeERRVUZETEVOQlExb3NRMEZGVHl4VFFVRlRReXhIUVVGTFF5eEZRVUZMUXl4RlFVRk5MRU5CUXpsQ0xFOUJRVTlCTEVWQlFVc3NUMEZCVHl4RFFVRkRReXhGUVVGSFF5eExRVU55UWtRc1JVRkJSVU1zUTBGQlF5eEZRVUZKU0N4RlFVRkpSeXhEUVVGRExFVkJRMHhFTEVkQlEwNHNRMEZCUXl4RFFVRkRMRU5CUTFBc1EwRkZUeXhUUVVGVFJTeEhRVUZsU2l4RlFVRkxTeXhGUVVGTkxFTkJRM2hETEU5QlFVOHNUMEZCVHl4VlFVRlZMR1ZCUVdVc1MwRkJTMHdzUlVGQlMwc3NRMEZCU1N4RFFVTjJSQ3hEUVVsUExGTkJRVk5ETEVkQlFXVm1MRVZCUVU5blFpeEZRVUZSUXl4RlFVRkxMRU5CUTJwRUxFOUJRVTkyUWl4SFFVRlZUU3hEUVVGTExFZEJRVXRCTEVkQlFWTm5RaXhIUVVGVmFFSXNSMEZCVTJsQ0xFTkJRM3BFTEVOQlIwOHNVMEZCVTBNc1IwRkJVME1zUlVGQlIwTXNSVUZCUnl4RFFVTTNRaXhQUVVGUFJDeEZRVUZKUXl4RlFVRkpMRXRCUVVzc1RVRkJUVVFzUlVGQlNVTXNRMEZCUXl4RFFVTnFReXhEUVVWUExGTkJRVk5ETEVkQlFWTkRMRVZCUVU5R0xFVkJRVWtzUlVGQlJ5eERRVU55UXl4SlFVRk5SeXhGUVVGUlJDeEZRVUZSTEVWQlEyeENSU3hGUVVOS0xFOUJRVWxFTEVWQlEwWkRMRVZCUVZNc1MwRkJUeXhIUVVGTExFTkJRVU5HTEVkQlFVOHNVMEZCVTBZc1JVRkJSeXhIUVVGSExFVkJSVFZEU1N4SFFVRlZMRWRCUVV0R0xFZEJRVThzVTBGQlUwWXNSVUZCUnl4SFFVRkhMRVZCUldoRFNTeERRVU5VTEVOQlJVOHNVMEZCVTBNc1IwRkJZVU1zUlVGQlVTeERRVU51UXl4SFFVRkpMRVZCUVVGdVF5eEZRVUZaYlVNc1EwRkJUU3hIUVVGTFFTeEpRVUZYTEUxQlFWRkJMRWxCUVZjc1NVRkhka1FzVDBGQlR5eFRRVUZUUVN4RlFVRlJMRVZCUVVVc1EwRkZPVUlzUTBGRlR5eFRRVUZUUXl4SFFVRmpSQ3hGUVVGUkxFTkJRM0JETEVkQlFVa3NSVUZCUVc1RExFVkJRVmx0UXl4RFFVRk5MRWRCUVV0QkxFbEJRVmNzVFVGQlVVRXNTVUZCVnl4SlFVZDJSQ3hQUVVGUExGZEJRVmRCTEVOQlFVMHNRMEZGTlVJc1EwRkZUeXhUUVVGVFJTeEhRVUZaUXl4RlFVRlZMRU5CUlhCRExFZEJRVWtzUlVGQlFYUkRMRVZCUVZselF5eERRVUZSTEVkQlFVdEJMRWxCUVdFc1RVRkJVVUVzU1VGQllTeEpRVVY0UkN4RFFVTk1MRWxCUVUxRExFVkJRVWtzVjBGQlZ5eExRVUZQUkN4RFFVRlJMRVZCUVVrc1NVRkRlRU1zVDBGQlR5eExRVUZMTEUxQlFVMURMRU5CUVVNc1EwRkRja0lzUTBGRFJpeERRVVZQTEZOQlFWTkRMRWRCUVZGRExFVkJRVkZETEVWQlFWRkRMRVZCUVdFc1IwRkJUeXhEUVVNeFJDeEpRVUZOUXl4RlFVRlRMRWxCUVUxR0xFVkJSWEpDTEU5QlJGbERMRVZCUVdFc1MwRkJTeXhOUVVGUkxFdEJRVXNzVDBGRE5VSkdMRVZCUVZOSExFTkJRVTBzUlVGQlNVRXNRMEZEY0VNc1EwRkpUeXhUUVVGVFF5eEhRVUZYUXl4RlFVRk5MRU5CUXk5Q0xFOUJRVTlCTEVWQlFVOHNTVUZCVFN4SlFVRk5RU3hGUVVGUExFMUJRVkVzUjBGQlMwRXNSVUZCVHl4TlFVRlJMRVZCUXk5RUxFTkJSVThzVTBGQlUwTXNSMEZCVjBRc1JVRkJUU3hEUVVNdlFpeFBRVUZQUkN4SFFVRlhReXhEUVVGSkxFVkJRVWtzU1VGQlRTeEhRVU5zUXl4RFFVVlBMRk5CUVZORkxFZEJRVmxHTEVWQlFVMUhMRVZCUVU4c1EwRkRka01zU1VGQlRVTXNSVUZCVjNaQ0xFZEJRVk56UWl4RlFVRlJMRVZCUVVjc1JVRkJSU3hGUVVGSkxFVkJRM3BEUlN4RlFVRlZUQ3hIUVVGUlJ5eEZRVUZSUXl4SFFVRlpMRWRCUlhoRExFOUJRVWxCTEVsQlFXRXNSVUZEVWt3c1IwRkJWMDBzUTBGQlR5eEZRVUZKTEVkQlFVc3NSMEZGTTBJc1EwRkJReXhIUVVGSkxFdEJRVTBzUjBGQlNTeEhRVUZKTEVkQlFVa3NSMEZCU1N4SFFVRkpMRWRCUVVrc1IwRkJTU3hIUVVGSkxFZEJRVWtzUlVGQlJTeEZRVUZGUkN4RlFVRlhMRU5CUVVNc1EwRkZNVVVzUTBGSFR5eFRRVUZUUlN4SFFVRmhiRU1zUlVGQlN5eERRVU5vUXl4SlFVRkpiVU1zUlVGQlNTeExRVUZMTEVsQlExaHVReXhGUVVGSkxFdEJRMHBCTEVWQlFVa3NUVUZCVVN4RlFVTmFRU3hGUVVGSkxFbEJRMHBCTEVWQlFVa3NTMEZEU2tFc1JVRkJTU3hQUVVOS1FTeEZRVUZKTEU5QlEwcEJMRVZCUVVrc1YwRkRUaXhGUVVkQkxFOUJRVWxCTEVWQlFVa3NTMEZCVHl4TFFVRlBRU3hGUVVGSkxFMUJRVkVzU1VGRGFFTnRReXhGUVVGSkxFbEJRVWtzUzBGQlMwRXNRMEZCUXl4RlFVTmtRU3hGUVVGRkxHVkJRV1ZCTEVWQlFVVXNaVUZCWlN4RlFVRkpMRWxCUVVrc1IwRkZja01zUTBGQlEwRXNRMEZEVml4RFFVVlBMRk5CUVZORExFZEJRV2RDUXl4RlFVRlZMRU5CUTNoRExFbEJRVTFETEVkQlEwUkVMRVZCUTBNc1MwRkJTeXhOUVVGTlFTeEZRVUZYTEVOQlFVTXNSVUZEZGtJc1MwRkJTeXhOUVVGTlFTeEZRVUZYTEVkQlFVY3NSVUZEZWtJc1MwRkJTeXhOUVVGTlFTeEZRVUZYTEVkQlFVY3NSMEZETTBJc1JVRkRSa1VzUlVGQlQwWXNSVUZCVnl4RlFVTnNRa2NzUjBGQlRVUXNSVUZCVHl4TFFVRkxMRTFCUVUxQkxFVkJRVThzUTBGQlF5eEZRVUZKTEV0QlFVc3NUVUZCVFVFc1JVRkJUeXhIUVVGSExFVkJRVWtzUzBGQlN5eE5RVUZOUVN4RlFVRlBMRWRCUVVjc1IwRkJTeXhGUVVONlJpeFBRVUZQUkN4SlFVRlBMRWRCUVV0RkxFbEJRVThzUlVGQlNTeEhRVUZMTEVWQlEzSkRMRU5CUlU4c1UwRkJVME1zUjBGQlpXSXNSVUZCVFN4RFFVTnVReXhQUVVGSlFTeEZRVUZQTEVkQlEwWkJMRVZCUTB0QkxFVkJRVThzUjBGQlN5eExRVUZQUVN4RlFVRlBMRWxCUVU5QkxFTkJRMnBFTEVOQlNVOHNVMEZCVTJNc1IwRkJZME1zUlVGQlNVTXNSVUZCWTBNc1JVRkJVVU1zUlVGQlZ5eExRVUZOTEVOQlEzWkZMRWxCUVUxRExFVkJRVThzU1VGQlNTeExRVUZMU2l4RFFVRkZMRVZCUTNSQ1N5eEZRVUZYTEVOQlExUXNWVUZCVnl4TlFVTllMRXRCUVUwc1ZVRkRUaXhOUVVGUExGVkJRMUFzU1VGQlN5eFZRVU5NTEV0QlFVMHNWVUZEVGl4UFFVRlJMRk5CUTFZc1JVRkZSVVlzU1VGRFJrVXNSVUZCVXl4VFFVRlhSaXhIUVVkMFFpeEpRVUZOUnl4RlFVRlhReXhGUVVGQkxFTkJRVVVzWVVGQlkwNHNSMEZCYVVKSkxFZEJSVFZEUnl4RlFVRlRMRWxCUVVrc1MwRkJTeXhsUVVGbFRpeEZRVUZSU1N4RFFVRlJMRVZCUTNCRUxHTkJRV05HTEVOQlFVa3NSVUZEYkVJc1MwRkJUVXNzUjBGQlRVRXNSVUZCUlN4TFFVRkxMRmxCUVZrc1NVRkJUU3hqUVVGakxFVkJRM1JFTEU5QlFVOUVMRVZCUVZOQkxFVkJRVThzVFVGQlVTeEpRVU5xUXl4RFFVZFBMRk5CUVZORkxFZEJRV0ZETEVWQlFWbERMRVZCUVdNc1EwRkRja1FzU1VGQlNVTXNSVUZCVlN4VFFVRlRSaXhGUVVGWkxFVkJRVVVzUlVGSGFrTXNUMEZCVHl4TlFVRk5SU3hEUVVGUExFbEJRM1JDUVN4RlFVRlZMRWRCUjFvc1NVRkJUVU1zUlVGQlV5eFRRVUZUUml4RlFVRmpMRVZCUVVVc1IwRkJTeXhGUVVNelEwY3NSVUZCWlVZc1JVRkJWU3hIUVVGTExFOUJRVThzUjBGQlIwRXNSVUZCVXl4RlFVRkZMRVZCUVVrc1EwRkJRME1zUlVGQlUwRXNSVUZEYmtVc1QwRkJUMFFzUlVGQlZTeEhRVUZMUlN4RFFVTjRRaXhEUVVsUExGTkJRVk5ETEVkQlFWTkRMRVZCUVU4c1EwRkRPVUlzU1VGQlRVTXNSVUZCWlN4UFFVRlBSQ3hEUVVGTExFVkJRMnBETEVkQlFVa3NUMEZCVDBFc1IwRkJWU3hYUVVGaFFTeEpRVUZWTEVsQlFVMHNUMEZCVHl4TlFVRk5ReXhEUVVGWkxFVkJRM3BGTEUxQlFVMHNTVUZCU1VNc1IwRkJjVUlzYzBKQlFYTkNSaXhEUVVGTExFVkJRVVVzUlVGRE9VUXNUMEZCVDBNc1EwRkRWQ3hEUVVWUExGTkJRVk5GTEVkQlFXZENMMFFzUlVGQlMyZEZMRVZCUVZrc1EwRkRMME1zU1VGQlRVTXNSVUZCWVN4RFFVRkRMRVZCUTNCQ0xGRkJRVmRETEV0QlFVdHNSU3hGUVVOa0xFZEJRVWxKTEVkQlFXVktMRVZCUVV0clJTeERRVUZETEVWQlFVY3NRMEZETVVJc1NVRkJUVU1zUlVGQlNXNUZMRVZCUVVsclJTeERRVUZETEVWQlEyWXNSMEZCZFVKRExFZEJRVTBzUzBGQlRTeFRRVU51UTBZc1JVRkJWMFFzUlVGQlYwVXNRMEZCUXl4RFFVRkRMRVZCUVVsUUxFZEJRVk5STEVOQlFVTXNRMEZEZUVNc1EwRkZSaXhQUVVGUFJpeERRVU5VTEVOQlJVOHNVMEZCVTBjc1IwRkJZVU1zUlVGQlVVTXNSVUZCVVN4RFFVTXpReXhKUVVGTlF5eEZRVUZSTEV0QlFVc3NUVUZCVFN4TFFVRkxMRWxCUVVsR0xFVkJRVk1zUlVGQlJTeERRVUZETEVWQlF6VkRSeXhGUVVGVkxFdEJRVXNzVFVGQlRTeExRVUZMTEVsQlFVbElMRVZCUVZNc1JVRkJSU3hEUVVGRExFVkJRekZEU1N4RlFVRlBTaXhIUVVGVkxFVkJRVWtzU1VGQlRTeEpRVVUzUWl4UFFVRlJReXhGUVVGUkxFTkJRMlFzU1VGQlN5eFJRVU5JTEUxQlFVOHNSMEZCUjBjc1EwRkJTU3hIUVVGSE4wUXNSMEZCVXpKRUxFVkJRVThzUTBGQlF5eERRVUZETEVsQlFVa3pSQ3hIUVVGVE5FUXNSVUZCVXl4RFFVRkRMRU5CUVVNc1IwRkROMFFzU1VGQlN5eFRRVU5JTEUxQlFVOHNSMEZCUjBNc1EwRkJTU3hIUVVGSFJpeERRVUZMTEVkQlFVZERMRVZCUVZVc1JVRkJTU3hKUVVGSlFTeERRVUZQTEVkQlFVc3NSVUZCUlN4SFFVTXpSQ3hKUVVGTExGTkJRMGdzVFVGQlR5eEhRVUZIUXl4RFFVRkpMRWRCUVVjM1JDeEhRVUZUTWtRc1JVRkJUeXhEUVVGRExFTkJRVU1zUjBGQlJ6TkVMRWRCUVZNMFJDeEZRVUZUTEVOQlFVTXNRMEZCUXl4SFFVTTFSQ3hSUVVORkxFMUJRVTBzU1VGQlNTeFhRVUZYTEdkQ1FVRm5Ra1lzUTBGQlRTeHpRMEZCYzBNc1EwRkRja1lzUTBGRFJpeERRVVZQTEZOQlFWTkpMRWRCUVZjeFJTeEZRVUZMTEVOQlF6bENMRTlCUVU5RUxFZEJRVXRETEVWQlFVc3NRMEZCUXl4UFFVRlJMRk5CUVZVc1UwRkJWU3hoUVVGaExFTkJRVU1zUTBGRE9VUXNRMEZGVHl4SlFVRk5Na1VzUjBGRFdDd3JSVU55VVVzc1NVRkJUVU1zUjBGQllTeERRVU40UWl4VlFVTkJMRmRCUTBFc1VVRkRRU3hSUVVOQkxFMUJRMEVzVDBGRFFTeFBRVU5CTEZOQlEwRXNXVUZEUVN4VlFVTkJMRmRCUTBFc1ZVRkRSaXhGUVVWaFF5eEhRVUZqTEVOQlEzcENMRTFCUTBFc1RVRkRRU3hOUVVOQkxFMUJRMEVzVFVGRFFTeE5RVU5CTEUxQlEwRXNUVUZEUVN4TlFVTkJMRTFCUTBFc1RVRkRRU3hMUVVOR0xFVkJSV0ZETEVkQlFXVXNRMEZCUXl4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzU1VGQlN5eEpRVUZMTEVsQlFVc3NTVUZCU3l4SlFVRkxMRWxCUVVzc1IwRkJSeXhGUVVWb1JpeFRRVUZUUXl4SFFVRlBReXhGUVVGUkxFTkJRemRDTEU5QlFWRkJMRVZCUVZFc1EwRkRaQ3hKUVVGTExGTkJRMGdzVFVGQlR5eERRVUZETEVkQlFVZEdMRVZCUVZrc1JVRkRla0lzU1VGQlN5eFJRVU5JTEUxQlFVOHNRMEZCUXl4SFFVRkhSQ3hGUVVGWExFVkJRM2hDTEVsQlFVc3NUMEZEU0N4TlFVRlBMRU5CUVVNc1IwRkJSMFFzUlVGQlZTeEZRVU4yUWl4SlFVRkxMRlZCUTBnc1RVRkJUeXhEUVVGRExFbEJRVXNzU1VGQlN5eEpRVUZMTEVsQlFVc3NTVUZCU3l4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFdEJRVTBzUzBGQlRTeEpRVUZKTEVWQlEzWkZMRWxCUVVzc1ZVRkRTQ3hOUVVGUExFTkJRVU1zUzBGQlRTeExRVUZOTEV0QlFVMHNTMEZCVFN4TFFVRk5MRXRCUVUwc1MwRkJUU3hMUVVGTkxFdEJRVTBzUzBGQlRTeExRVUZOTEVsQlFVa3NSVUZEYUVZc1VVRkRSU3hQUVVGUExFbEJRMWdzUTBGRFJpeERRVVZQTEVsQlFVMUxMRWRCUVdVc1EwRkRNVUlzVTBGRFFTeFZRVU5CTEZsQlEwRXNWMEZEUVN4VFFVTkJMRmRCUTBFc1VVRkRSaXhGUVVWaFF5eEhRVUZuUWl4RFFVRkRMRTFCUVU4c1RVRkJUeXhOUVVGUExFMUJRVThzVFVGQlR5eE5RVUZQTEV0QlFVc3NSVUZGYUVWRExFZEJRV2xDTEVOQlFVTXNTVUZCU3l4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzUjBGQlJ5eEZRVVY2UkN4VFFVRlRReXhIUVVGVFNpeEZRVUZSTEVOQlF5OUNMRTlCUVZGQkxFVkJRVkVzUTBGRFpDeEpRVUZMTEZOQlEwZ3NUVUZCVHl4RFFVRkRMRWRCUVVkSExFVkJRV01zUlVGRE0wSXNTVUZCU3l4UlFVTklMRTFCUVU4c1EwRkJReXhIUVVGSFJDeEZRVUZoTEVWQlF6RkNMRWxCUVVzc1QwRkRTQ3hOUVVGUExFTkJRVU1zUjBGQlIwUXNSVUZCV1N4RlFVTjZRaXhKUVVGTExGVkJRMGdzVFVGQlR5eERRVUZETEVsQlFVc3NTVUZCU3l4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFZEJRVWNzUlVGRE0wTXNVVUZEUlN4UFFVRlBMRWxCUTFnc1EwRkRSaXhEUVVWUExFbEJRVTFKTEVkQlFWa3NRMEZCUXl4TFFVRk5MRWxCUVVrc1JVRkZka0pETEVkQlFWY3NRMEZCUXl4blFrRkJhVUlzWVVGQllTeEZRVVV4UTBNc1IwRkJXU3hEUVVGRExFdEJRVTBzU1VGQlNTeEZRVVYyUWtNc1IwRkJZU3hEUVVGRExFbEJRVXNzUjBGQlJ5eEZRVVUxUWl4VFFVRlRReXhIUVVGTFZDeEZRVUZSTEVOQlF6TkNMRTlCUVZGQkxFVkJRVkVzUTBGRFpDeEpRVUZMTEZOQlEwZ3NUVUZCVHl4RFFVRkRMRWRCUVVkUkxFVkJRVlVzUlVGRGRrSXNTVUZCU3l4UlFVTklMRTFCUVU4c1EwRkJReXhIUVVGSFJDeEZRVUZUTEVWQlEzUkNMRWxCUVVzc1QwRkRTQ3hOUVVGUExFTkJRVU1zUjBGQlIwUXNSVUZCVVN4RlFVTnlRaXhSUVVORkxFOUJRVThzU1VGRFdDeERRVU5HTEVOQlJVOHNVMEZCVTBrc1IwRkJiMEpETEVWQlFVa3NRMEZEZEVNc1QwRkJUMDRzUjBGQlZVMHNSVUZCUnl4TFFVRlBMRWRCUVVzc1JVRkJTU3hEUVVGRExFTkJRM1pETEVOQlJVOHNVMEZCVTBNc1IwRkJiVUpFTEVWQlFVbFlMRVZCUVZFc1EwRkROME1zVDBGQlQwa3NSMEZCVTBvc1EwRkJUU3hGUVVGRlZ5eEZRVUZITEZGQlFWVXNRMEZCUXl4RFFVTjRReXhEUVVWUExGTkJRVk5GTEVkQlFXbENSaXhGUVVGSldDeEZRVUZSTEVOQlF6TkRMRTlCUVU5RUxFZEJRVTlETEVOQlFVMHNSVUZCUlZjc1JVRkJSeXhOUVVGUkxFTkJRVU1zUTBGRGNFTXNRMEZGVHl4VFFVRlRSeXhIUVVGbFNDeEZRVUZKV0N4RlFVRlJMRU5CUTNwRExFOUJRVTlUTEVkQlFVdFVMRU5CUVUwc1JVRkJSVmNzUlVGQlJ5eExRVUZQTEVWQlFVa3NSVUZCU1N4RFFVRkRMRU5CUTNwRExFTkJSVThzVTBGQlUwa3NSMEZCYlVKRExFVkJRVTFETEVWQlFVOURMRVZCUVZVc1UwRkJWVU1zUlVGQlV5eEhRVUZQTEVOQlEyeEdMRWxCUVUxRExFVkJRVkVzUTBGRFdpeE5RVUZQTEVOQlFVTXNUMEZCVVN4TFFVRkxMRVZCUTNKQ0xGTkJRVlVzUTBGQlF5eFZRVUZYTEUxQlFVMHNSVUZETlVJc1QwRkJVU3hEUVVGRExGRkJRVk1zUzBGQlN5eEZRVU4yUWl4TlFVRlBMRU5CUVVNc1QwRkJVU3hMUVVGTExFVkJRM0pDTEV0QlFVMHNRMEZCUXl4TlFVRlBMRTFCUVU4c1RVRkJUU3hGUVVNelFpeE5RVUZQTEVOQlFVTXNUMEZCVVN4TFFVRkxMRVZCUTNKQ0xGRkJRVk1zUTBGQlF5eFRRVUZWTEUxQlFVMHNSVUZETVVJc1VVRkJVeXhEUVVGRExGTkJRVlVzVFVGQlRTeERRVU0xUWl4RlFVVk5ReXhGUVVGWExFTkJRVU1zVVVGQlV5eFZRVUZYTEZOQlFWTXNSVUZCUlN4UlFVRlJUQ3hEUVVGSkxFbEJRVTBzUjBGRmJrVXNSMEZCU1VVc1NVRkJXU3hSUVVGVlJ5eEZRVUZWTEVOQlEyeERMRWxCUVUxRExFVkJRVkZPTEVsQlFWTXNUMEZEZGtJc1QwRkJVVU1zUlVGQlR5eERRVU5pTEVsQlFVc3NSMEZEU0N4UFFVRlBTeXhGUVVGUkxGZEJRV0VzVVVGQlVVWXNSVUZCVFVvc1EwRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eEhRVU53UkN4SlFVRkxMRWRCUTBnc1QwRkJUMDBzUlVGQlVTeFpRVUZqTEZGQlFWRkdMRVZCUVUxS0xFTkJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZEY2tRc1NVRkJTeXhIUVVOSUxFOUJRVTlOTEVWQlFWRXNVVUZCVlN4UlFVRlJSaXhGUVVGTlNpeERRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUTJwRUxGRkJRMFlzUTBGRFJpeERRVVZCTEVsQlFVMVBMRVZCUVZjc1QwRkJUeXhIUVVGSFRpeEZRVUZQTEVWQlFVVXNSMEZCUzBFc1JVRkJVU3hGUVVNdlEwOHNSVUZCVnl4TFFVRkxMRWxCUVVsUUxFTkJRVXNzUlVGRGVrSlJMRVZCUVZkRUxFbEJRV0VzUlVGRGVFSkZMRVZCUVZkT0xFVkJRVTFLTEVOQlFVa3NSVUZEY2tKWExFVkJRVlZTTEVWQlEwNU5MRVZCUTBWRExFVkJRVk1zUTBGQlF5eEZRVU5XUVN4RlFVRlRMRU5CUVVNc1IwRkJTMEVzUlVGQlV5eERRVUZETEVWQlF6TkNSQ3hGUVVOQlRDeEZRVUZOU2l4RFFVRkpMRVZCUVVVc1EwRkJReXhGUVVOaVFTeEZRVU5PTEU5QlFVOVBMRVZCUVZjc1IwRkJSME1zUTBGQlVTeEpRVUZKUnl4RFFVRlBMRTlCUVZNc1RVRkJUVWdzUTBGQlVTeEpRVUZKUnl4RFFVRlBMRVZCUXpWRkxFTkRha3RCTEZOQlFWTkRMRWRCUVdkQ1F5eEZRVUZSUXl4RlFVRmxMRU5CUXpsRExFbEJRVWxETEVWQlFVa3NSMEZEVWl4UlFVRlhReXhMUVVGVFNDeEZRVU5rUnl4RlFVRk5MRkZCUTFKRUxFZEJRVXRETEVWQlFVMHNTVUZGV0VRc1IwRkJTMFFzUlVGQlkwVXNSVUZCVFN4SFFVRkhMRVZCUjJoRExFOUJRVTlFTEVOQlExUXNRMEZGUVN4SlFVRk5SU3hIUVVGNVFpeERRVU0zUWl4RlFVRlhReXhIUVVOWUxFZEJRVmxETEVkQlExb3NTVUZCWVVNc1IwRkRZaXhMUVVGalF5eEhRVU5rTEVWQlFWZERMRWRCUTFnc1IwRkJXVU1zUjBGRFdpeEpRVUZoUXl4SFFVTmlMRXRCUVdORExFZEJRMlFzUlVGQlYwTXNSMEZEV0N4SFFVRlpReXhIUVVOYUxFbEJRV0ZETEVkQlEySXNTMEZCWTBNc1IwRkRaQ3hGUVVGWFF5eEhRVU5ZTEVkQlFWbERMRWRCUTFvc1NVRkJZVU1zUjBGRFlpeExRVUZqUXl4SFFVTmtMRVZCUVZkRExFZEJRMWdzUjBGQldVTXNSMEZEV2l4SlFVRmhReXhIUVVOaUxFdEJRV05ETEVWQlEyaENMRVZCVFhGQ1F5eEhRVUZ5UWl4TlFVRnhRa01zUTBGQlZTeERRVU0zUWl4UFFVRlBMRTlCUVU5RExFVkJRVkZETEVWQlFVOHNRMEZCUXl4RlFVRkhMRU5CUXk5Q0xFOUJRVThzU1VGQlNVWXNSVUZCVlVNc1JVRkJVVU1zUTBGQlNTeERRVU51UXl4RFFVVkJMRTlCUVU4c1dVRkJXVU1zUlVGQlN5eERRVU4wUWl4SlFVRkpReXhGUVVGVkxFdEJRMXBETEVWQlFXTXNSMEZEWkVNc1JVRkJXU3hIUVVOU2FFTXNSVUZCVXl4RFFVRkRMRVZCUTJoQ0xGRkJRVk5wUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxLTEVWQlFVa3NUMEZCVVVrc1NVRkJTeXhEUVVOdVF5eEpRVUZOUXl4RlFVRkpUQ3hGUVVGSkxFOUJRVTlKTEVOQlFVTXNSVUZEYkVKRExFbEJRVTBzUzBGRFNrZ3NSVUZCV1N4UFFVRlRMRWRCUTNaQ0wwSXNSVUZCVHl4TFFVRkxMRU5CUVVVc1VVRkJVMmRETEVWQlFWY3NTVUZCUzBRc1EwRkJXU3hEUVVGRExFVkJSWFJFUkN4RlFVRlZMRXRCUTFaRExFVkJRV01zUjBGRFpFTXNSVUZCV1N4RFFVRkRRU3hIUVVOS1FTeEhRVVZCUlN4SlFVRk5TaXhGUVVSbVF5eEhRVUZsUnl4SFFVbFlTQ3hGUVVGWkxFOUJRVk1zUjBGRGRrSXZRaXhGUVVGUExFdEJRVXNzUTBGQlJTeFJRVUZUTEVkQlFVOHNTVUZCU3l0Q0xFTkJRVmtzUTBGQlF5eEZRVVZzUkVFc1JVRkJZMGNzUlVGRFpFb3NSVUZCVlVrc1JVRkZaQ3hEUVVWQkxFOUJRVWxJTEVWQlFWa3NUMEZCVXl4SFFVTjJRaTlDTEVWQlFVOHNTMEZCU3l4RFFVRkZMRkZCUVZOblF5eEZRVUZYTEVsQlFVdEVMRU5CUVZrc1EwRkJReXhGUVVjdlF5OUNMRU5CUTFRc1EwRkZRU3hQUVVGUExIVkNRVUYxUWtjc1JVRkJUeXhEUVVOdVF5eFBRVUZQUXl4SFFVRjFRa1FzUTBGQlN5eERRVU55UXl4RFFVVkJMRmxCUVZsM1FpeEZRVUZSVVN4RlFVRlpMRU5CUXpsQ0xFdEJRVXNzUzBGQlQwRXNSVUZEV2l4TFFVRkxMRWxCUVUxU0xFVkJRMWdzUzBGQlN5eFZRVUZaTEVsQlEyNUNMRU5CUlVFc2QwSkJRWGRDVXl4RlFVRkpVaXhGUVVGTkxFTkJRMmhETEU5QlFVa3NTMEZCU3l4WlFVRmpMRTlCUTNKQ0xFdEJRVXNzVlVGQldTeExRVUZMTEVsQlFVa3NhMEpCUVd0Q0xFZEJSVzVETEV0QlFVc3NWVUZCVlN4WlFVRlpVU3hGUVVGSlF5eEpRVUZCTEVkQlFVc3NTMEZCU3l4TlFVRlRWQ3hGUVVGTkxFVkJRM3BFTEU5QlFVOHNRMEZEYmtJc1EwRkZRU3hsUVVGbFVTeEZRVUZKVWl4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVVMVFpeFBRVVJYTEV0QlFVc3NTVUZCU1N4WlFVRlpVU3hGUVVGSlF5eEpRVUZCTEVkQlFVc3NTMEZCU3l4TlFVRlRWQ3hGUVVGTkxFVkJRMjVFTEU5QlFVOHNRMEZEYmtJc1EwRkZRU3h2UWtGQmIwSlJMRVZCUVVsU0xFVkJRVThzUTBGQlF5eEZRVUZITEVOQlJXcERMRTlCUkZjc1MwRkJTeXhKUVVGSkxGbEJRVmxSTEVWQlFVbERMRWxCUVVFc1IwRkJTeXhMUVVGTExFMUJRVk5VTEVWQlFVMHNSVUZEYmtRc1kwRkJZeXhEUVVNeFFpeERRVVZCTEdkQ1FVRm5RbEVzUlVGQlNWSXNSVUZCVHl4RFFVRkRMRVZCUVVjc1EwRkZOMElzVDBGRVZ5eExRVUZMTEVsQlFVa3NXVUZCV1ZFc1JVRkJTVU1zU1VGQlFTeEhRVUZMTEV0QlFVc3NUVUZCVTFRc1JVRkJUU3hGUVVOdVJDeG5Ra0ZCWjBJc1EwRkROVUlzUTBGRlFTeEpRVUZKVlN4RlFVRkhReXhGUVVGSkxFVkJRVWNzUTBGRldpeEhRVUZKTEV0QlFVc3NTMEZCU3l4WlFVTmFMRTlCUVU5RExFZEJRVk5HTEVWQlFVZERMRU5CUVVNc1JVRkhkRUlzU1VGQlRWZ3NSVUZCVDFNc1JVRkJRU3hIUVVGTExFdEJRVXNzVFVGRmRrSXNUMEZCU1VVc1JVRkJTU3hKUVVOT1dDeEZRVUZMTEUxQlFWRlhMRWRCUjFJc1MwRkJTeXhKUVVGSkxHZENRVUZuUWxnc1EwRkJTU3hGUVVGRkxFOUJRVTlWTEVOQlFVTXNRMEZEYUVRc1EwRkZRU3g1UWtGQmVVSkdMRVZCUVVsUUxFVkJRVXNzUTBGRGFFTXNTVUZCVFZrc1JVRkJaU3hMUVVGTExFbEJRVWtzV1VGQldTeEpRVUZOTEV0QlF6bERReXhGUVVGMVFpeExRVUZMTEVsQlFVa3NaMEpCUVd0Q0xFdEJRVXNzU1VGQlNTeHBRa0ZCYlVJc1ZVRkRPVVZETEVWQlFWTXNRMEZCUTJZc1JVRkJUV2RDTEVsQlFWa3NTMEZCU3l4SlFVRkpMRkZCUVZGU0xFVkJRVWxTTEVWQlFVMW5RaXhEUVVGUExFVkJRemxFUXl4RlFVRm5RbXBDTEVkQlExWlJMRVZCUVVjc1pVRkJhVUpCTEVWQlFVY3NVMEZCVnl4SFFVRkxVaXhGUVVGTExFOUJRM1pETEVsQlIwWlJMRVZCUVVjc1VVRkJWVUVzUlVGQlJ5eExRVUZMTEdGQlFXRkJMRVZCUVVjc1IwRkJTVklzUlVGQlN5eE5RVUZOTEVWQlFVa3NSMEZGYWtWclFpeEZRVUZYTEVsQlExUk1MRVZCUTFsTkxFZEJRVzlDV0N4RFFVRkZMRVZCUXpsQ1R5eEZRVUZQTEVOQlFVVXNTMEZCVFN4VlFVRlhMRlZCUVZjc1MwRkJUU3hGUVVGSExGZEJRVmNzUlVGREwwUkxMRVZCUVZFc1EwRkJRME1zUlVGQlVVTXNTVUZEWmxRc1JVRkRXVlVzUjBGQmFVSm1MRVZCUVVsaExFTkJRVTBzUlVGRGJrTk9MRVZCUVU5UExFVkJRV0VzUTBGQlJTeE5RVUZQUkN4RFFVRlBMRVZCUVVrc1EwRkJSU3hOUVVGUFFTeEZRVUZSTEVsQlFVc3NVMEZCVlN4RlFVRkhMRTlCUVU4c1JVRkRlRVpITEVWQlFWVXNRMEZCUTBnc1JVRkJVVU1zU1VGRGFrSlVMRVZCUTFsWkxFZEJRVzFDYWtJc1JVRkJTV0VzUTBGQlRTeEZRVU55UTA0c1JVRkRSVThzUlVGQllTeERRVUZGTEZGQlFWTkVMRU5CUVU4c1JVRkJTU3hEUVVGRkxGRkJRVk5CTEVWQlFWRXNUVUZCVHl4UFFVRlJMRWxCUVVzc1UwRkJWU3hGUVVOd1JpeFRRVU5HTEVWQlEwNUxMRVZCUVdOdVJDeEhRVUZWTEVOQlEzUkNMRWxCUVUxblF5eEZRVUZoVkN4RlFVRlZMSFZDUVVGMVFuWkNMRU5CUVVzc1JVRkRla1FzVDBGQlNXZERMRVZCUTBzc1MwRkJTeXgzUWtGQmQwSkRMRVZCUVVsRUxFTkJRVlVzUlVGRk0wTm9ReXhEUVVWWUxFVkJRMEZ2UkN4RlFVRlBUaXhIUVVOTVVpeEZRVUYxUW1Vc1IwRkJaWEJDTEVWQlFVbGhMRU5CUVUwc1JVRkJTVTRzUlVGQlR5eERRVUZGTEVsQlFVdE5MRU5CUVU4c1JVRkJSeXhMUVVGTExFVkJRMjVHYUVRc1JVRkJhVUpGTEVkQlFWVXNRMEZGZWtJc1QwRkJVVUVzUlVGQlR5eERRVVZpTEVsQlFVc3NTVUZEU0N4UFFVRlBMRXRCUVVzc1NVRkJTV2xETEVWQlFVY3NWMEZCVnl4RlFVTm9ReXhKUVVGTExFbEJSVXdzU1VGQlN5eE5RVU5JTEU5QlFVOHNTMEZCU3l4SlFVRkpRU3hGUVVGSExGbEJRV0VzUTBGQlF5eEZRVVZ1UXl4SlFVRkxMRWxCUTBnc1QwRkJUeXhMUVVGTExFbEJRVWxCTEVWQlFVY3NUVUZCVFN4RlFVTXpRaXhKUVVGTExFdEJRMGdzVDBGQlR5eExRVUZMTEVsQlFVbEJMRVZCUVVjc1QwRkJVU3hEUVVGRExFVkJSVGxDTEVsQlFVc3NTMEZEU0N4UFFVRlBMRXRCUVVzc1NVRkJTU3hMUVVGTExFMUJRVTFCTEVWQlFVY3NXVUZCWXl4RlFVRkZMRVZCUVVjc1EwRkJReXhGUVVOd1JDeEpRVUZMTEUxQlEwZ3NUMEZCVHl4TFFVRkxMRWxCUVVrc1MwRkJTeXhOUVVGTlFTeEZRVUZITEZsQlFXTXNSMEZCUnl4RFFVRkRMRVZCUld4RUxFbEJRVXNzU1VGRFNDeFBRVUZQTEV0QlFVc3NTVUZCU1VFc1JVRkJSeXhOUVVGTkxFVkJRek5DTEVsQlFVc3NTMEZEU0N4UFFVRlBMRXRCUVVzc1NVRkJTVUVzUlVGQlJ5eFBRVUZSTEVOQlFVTXNSVUZGT1VJc1NVRkJTeXhKUVVOSUxFOUJRVThzUzBGQlN5eEpRVUZKUVN4RlFVRkhMRXRCUVU4c1MwRkJUeXhGUVVGSkxFZEJRVXRCTEVWQlFVY3NTMEZCVHl4RlFVRkZMRVZCUTNoRUxFbEJRVXNzUzBGRFNDeFBRVUZQTEV0QlFVc3NTVUZCU1VFc1JVRkJSeXhMUVVGUExFdEJRVThzUlVGQlNTeEhRVUZMUVN4RlFVRkhMRXRCUVU4c1IwRkJTU3hEUVVGRExFVkJRek5FTEVsQlFVc3NTVUZEU0N4UFFVRlBMRXRCUVVzc1NVRkJTVUVzUlVGQlJ5eEpRVUZKTEVWQlEzcENMRWxCUVVzc1MwRkRTQ3hQUVVGUExFdEJRVXNzU1VGQlNVRXNSVUZCUnl4TFFVRk5MRU5CUVVNc1JVRkZOVUlzU1VGQlN5eEpRVVZJTEU5QlFVOVRMRVZCUVdFc1EwRkJSU3hQUVVGUkxGTkJRVlVzVDBGQlVTeExRVUZMTEV0QlFVc3NUVUZCVHl4RFFVRkRMRVZCUTNCRkxFbEJRVXNzUzBGRlNDeFBRVUZQUVN4RlFVRmhMRU5CUVVVc1QwRkJVU3hSUVVGVExFOUJRVkVzUzBGQlN5eExRVUZMTEUxQlFVOHNRMEZCUXl4RlFVTnVSU3hKUVVGTExFMUJSVWdzVDBGQlQwRXNSVUZCWVN4RFFVRkZMRTlCUVZFc1UwRkJWU3hQUVVGUkxFdEJRVXNzUzBGQlN5eE5RVUZQTEVOQlFVTXNSVUZEY0VVc1NVRkJTeXhQUVVWSUxFOUJRVTlVTEVWQlFVY3NTMEZCU3l4WFFVRlhRU3hGUVVGSExFZEJRVWtzUTBGQlJTeFBRVUZSTEZGQlFWTXNUMEZCVVN4TFFVRkxMRWxCUVVrc1RVRkJUeXhEUVVGRExFVkJReTlGTEVsQlFVc3NVVUZGU0N4UFFVRlBRU3hGUVVGSExFdEJRVXNzVjBGQlYwRXNSVUZCUnl4SFFVRkpMRU5CUVVVc1QwRkJVU3hQUVVGUkxFOUJRVkVzUzBGQlN5eEpRVUZKTEUxQlFVOHNRMEZCUXl4RlFVVTVSU3hKUVVGTExFbEJSVWdzVDBGQlQwRXNSVUZCUnl4VFFVVmFMRWxCUVVzc1NVRkRTQ3hQUVVGUFZTeEZRVUZUTEVWQlJXeENMRWxCUVVzc1NVRkRTQ3hQUVVGUFNpeEZRVUYxUWtNc1JVRkJUeXhEUVVGRkxFbEJRVXNzVTBGQlZTeEZRVUZITEV0QlFVc3NSVUZCU1N4TFFVRkxMRWxCUVVsUUxFVkJRVWNzUjBGQlJ5eEZRVU51Uml4SlFVRkxMRXRCUTBnc1QwRkJUMDBzUlVGQmRVSkRMRVZCUVU4c1EwRkJSU3hKUVVGTExGTkJRVlVzUlVGQlJ5eExRVUZMTEVWQlFVa3NTMEZCU3l4SlFVRkpVQ3hGUVVGSExFbEJRVXNzUTBGQlF5eEZRVVYwUml4SlFVRkxMRWxCUlVnc1QwRkJUeXhMUVVGTExFbEJRVWxCTEVWQlFVY3NUMEZCVHl4RlFVTTFRaXhKUVVGTExFMUJSVWdzVDBGQlQyZENMRVZCUVZFc1VVRkJVeXhGUVVGSkxFVkJRemxDTEVsQlFVc3NUMEZGU0N4UFFVRlBRU3hGUVVGUkxFOUJRVkVzUlVGQlNTeEZRVU0zUWl4SlFVRkxMRkZCUlVnc1QwRkJUMEVzUlVGQlVTeFRRVUZWTEVWQlFVa3NSVUZGTDBJc1NVRkJTeXhKUVVWSUxFOUJRVThzUzBGQlN5eEpRVUZKYUVJc1JVRkJSeXhQUVVGUExFVkJRelZDTEVsQlFVc3NUVUZGU0N4UFFVRlBaMElzUlVGQlVTeFJRVUZUTEVWQlFVc3NSVUZETDBJc1NVRkJTeXhQUVVWSUxFOUJRVTlCTEVWQlFWRXNUMEZCVVN4RlFVRkxMRVZCUXpsQ0xFbEJRVXNzVVVGRlNDeFBRVUZQUVN4RlFVRlJMRk5CUVZVc1JVRkJTeXhGUVVWb1F5eEpRVUZMTEVsQlJVZ3NUMEZCVDFZc1JVRkRTRU1zUlVGQlR5eERRVUZGTEUxQlFVOHNWVUZCVnl4SlFVRkxMRk5CUVZVc1JVRkJSeXhQUVVGUExFVkJRM0JFTEV0QlFVc3NTVUZCU1ZBc1JVRkJSeXhMUVVGTExFVkJRM1pDTEVsQlFVc3NTMEZGU0N4UFFVRlBUU3hGUVVOSVF5eEZRVUZQTEVOQlFVVXNUVUZCVHl4VlFVRlhMRWxCUVVzc1UwRkJWU3hGUVVGSExFOUJRVThzUlVGRGNFUXNTMEZCU3l4SlFVRkpVQ3hGUVVGSExFMUJRVThzUTBGQlF5eEZRVU14UWl4SlFVRkxMRTFCUlVnc1QwRkJUMWtzUlVGQlRTeFJRVUZUTEVWQlFVa3NSVUZETlVJc1NVRkJTeXhQUVVWSUxFOUJRVTlCTEVWQlFVMHNUMEZCVVN4RlFVRkpMRVZCUXpOQ0xFbEJRVXNzVVVGRlNDeFBRVUZQUVN4RlFVRk5MRk5CUVZVc1JVRkJTU3hGUVVVM1FpeEpRVUZMTEVsQlJVZ3NUMEZCVDA0c1JVRkRTRU1zUlVGQlR5eERRVUZGTEUxQlFVOHNVMEZCVlN4RlFVRkhMRTlCUVU4c1JVRkRjRU1zUzBGQlN5eEpRVUZKVUN4RlFVRkhMRXRCUVVzc1JVRkRka0lzU1VGQlN5eExRVVZJTEU5QlFVOU5MRVZCUTBoRExFVkJRVThzUTBGQlJTeE5RVUZQTEZOQlFWVXNSVUZCUnl4UFFVRlBMRVZCUTNCRExFdEJRVXNzU1VGQlNWQXNSVUZCUnl4TlFVRlBMRU5CUVVNc1JVRkRNVUlzU1VGQlN5eE5RVVZJTEU5QlFVOVpMRVZCUVUwc1VVRkJVeXhGUVVGTExFVkJRemRDTEVsQlFVc3NUMEZGU0N4UFFVRlBRU3hGUVVGTkxFOUJRVkVzUlVGQlN5eEZRVU0xUWl4SlFVRkxMRkZCUlVnc1QwRkJUMEVzUlVGQlRTeFRRVUZWTEVWQlFVc3NSVUZGT1VJc1NVRkJTeXhKUVVWSUxFOUJRVTlPTEVWQlFYVkNReXhGUVVGUExFTkJRVVVzUzBGQlRTeFRRVUZWTEVWQlFVY3NUVUZCVFN4RlFVRkpMRXRCUVVzc1NVRkJTVkFzUlVGQlJ5eEpRVUZKTEVWQlEzUkdMRWxCUVVzc1MwRkZTQ3hQUVVGUFRTeEZRVU5JUXl4RlFVRlBMRU5CUVVVc1MwRkJUU3hUUVVGVkxFVkJRVWNzVFVGQlRTeEZRVU5zUXl4TFFVRkxMRWxCUVVsUUxFVkJRVWNzUzBGQlN5eFRRVUZUTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVjc1EwRkJReXhGUVVNNVF5eEpRVUZMTEU5QlJVZ3NUMEZCVDAwc1JVRkRTRU1zUlVGQlR5eERRVUZGTEV0QlFVMHNVMEZCVlN4RlFVRkhMRTFCUVUwc1JVRkRiRU1zUzBGQlN5eEpRVUZKVUN4RlFVRkhMRXRCUVUwc1EwRkJReXhGUVVONlFpeEpRVUZMTEZOQlJVZ3NUMEZCVDAwc1JVRkRTRU1zUlVGQlR5eERRVUZGTEV0QlFVMHNVMEZCVlN4RlFVRkhMRTFCUVUwc1JVRkRiRU1zUzBGQlN5eEpRVUZKVUN4RlFVRkhMRXRCUVUwc1EwRkJReXhGUVVWNlFpeEpRVUZMTEVsQlJVZ3NUMEZCVDIxQ0xFVkJRVWtzVDBGQlR5eEZRVU53UWl4SlFVRkxMRXRCUlVnc1QwRkJUMEVzUlVGQlNTeE5RVUZOTEVWQlEyNUNMRWxCUVVzc1VVRkRTQ3hQUVVGUFFTeEZRVUZKTEZGQlFWRXNSVUZEY2tJc1NVRkJTeXhMUVVOSUxFOUJRVThzUzBGQlN5eEpRVUZKYmtJc1JVRkJSeXhUUVVGVExGTkJRVk1zUlVGQlJTeE5RVUZOTEVWQlFVVXNSVUZCUnl4RFFVRkRMRVZCUTNKRUxFbEJRVXNzVDBGRFNDeFBRVUZQTEV0QlFVc3NTVUZCU1VFc1JVRkJSeXhUUVVGVkxFTkJRVU1zUlVGRGFFTXNTVUZCU3l4SlFVTklMRTlCUVU4c1MwRkJTeXhKUVVGSlFTeEZRVUZITEZWQlFWVXNSVUZETDBJc1NVRkJTeXhMUVVOSUxFOUJRVThzUzBGQlN5eEpRVUZKUVN4RlFVRkhMRmRCUVZrc1EwRkJReXhGUVVOc1F5eEpRVUZMTEVsQlEwZ3NUMEZCVHl4TFFVRkxMRWxCUVVsQkxFVkJRVWNzVDBGQlR5eEZRVU0xUWl4SlFVRkxMRTFCUTBnc1QwRkJUeXhMUVVGTExFbEJRVWxCTEVWQlFVY3NVVUZCVXl4RFFVRkRMRVZCUXk5Q0xFbEJRVXNzU1VGRlNDeFBRVUZQTEV0QlFVc3NTVUZCU1VFc1JVRkJSeXhQUVVGUExFVkJRelZDTEVsQlFVc3NTMEZGU0N4UFFVRlBMRXRCUVVzc1NVRkJTVUVzUlVGQlJ5eFJRVUZUTEVOQlFVTXNSVUZETDBJc1NVRkJTeXhKUVVOSUxFOUJRVThzUzBGQlN5eEpRVUZKTEV0QlFVc3NUVUZCVFVFc1JVRkJSeXhIUVVGTExFZEJRVWtzUTBGQlF5eEZRVU14UXl4SlFVRkxMRWxCUTBnc1QwRkJUeXhMUVVGTExFbEJRVWxCTEVWQlFVY3NSVUZCUlN4RlFVTjJRaXhSUVVORkxFOUJRVTlyUWl4RlFVRlhia1FzUTBGQlN5eERRVU16UWl4RFFVTkdMRVZCUlVZc1QwRkJUMG9zUjBGQlowSXlRaXhGUVVGVkxGbEJRVmxITEVOQlFVY3NSVUZCUnpWQ0xFTkJRV0VzUTBGRGJFVXNRMEZGUVN4NVFrRkJlVUozUkN4RlFVRkxOVUlzUlVGQlN5eERRVU5xUXl4SlFVRk5Oa0lzUlVGQlowSjJSQ3hIUVVGVkxFTkJRelZDTEU5QlFWRkJMRVZCUVUwc1EwRkJReXhGUVVGSExFTkJRMmhDTEVsQlFVc3NTVUZEU0N4TlFVRlBMR05CUTFRc1NVRkJTeXhKUVVOSUxFMUJRVThzVTBGRFZDeEpRVUZMTEVsQlEwZ3NUVUZCVHl4VFFVTlVMRWxCUVVzc1NVRkRTQ3hOUVVGUExFOUJRMVFzU1VGQlN5eEpRVU5JTEUxQlFVOHNUVUZEVkN4SlFVRkxMRWxCUTBnc1RVRkJUeXhQUVVOVUxFbEJRVXNzU1VGRFNDeE5RVUZQTEZGQlExUXNTVUZCU3l4SlFVTklMRTFCUVU4c1QwRkRWQ3hSUVVORkxFOUJRVThzU1VGRFdDeERRVU5HTEVWQlEwRkdMRVZCUVdsQ01FUXNSMEZCV1hoRUxFZEJRVlVzUTBGRGNrTXNTVUZCVFhsRUxFVkJRVk5HTEVWQlFXRjJSQ3hEUVVGTExFVkJRMnBETEU5QlFVbDVSQ3hGUVVOTExFdEJRVXNzU1VGQlNVUXNSVUZCVHl4SlFVRkpReXhEUVVGTkxFVkJRVWQ2UkN4RlFVRk5MRTFCUVUwc1JVRkZla05CTEVOQlJWZ3NSVUZEUVRCRUxFVkJRVk51UXl4RlFVRlZMRmxCUVZsSExFTkJRVWNzUlVGRGJFTnBReXhGUVVGaFJDeEZRVUZQTEU5QlEyeENMRU5CUVVORkxFVkJRVThzUTBGQlJTeFJRVUZCUXl4RlFVRlRMRWxCUVVGRExFTkJRVWtzU1VGQlQwUXNSVUZCVlVRc1JVRkJVVUVzUlVGQlRTeFBRVUZQUlN4RFFVRkhMRVZCUTJoRkxFTkJRVU1zUTBGRFNDeEZRVU5CUXl4RlFVRlpWQ3hGUVVGSkxGRkJRVkVzUjBGQlIwc3NSVUZCVnl4SlFVRkpTaXhEUVVGWkxFVkJRVVVzVDBGQlVWTXNSMEZCVFVFc1EwRkJReXhEUVVGRExFVkJRekZGTEU5QlFVOXdSU3hIUVVGblFqaEVMRVZCUVZFMVJDeEZRVUZqYVVVc1EwRkJVeXhEUVVGRExFTkJRM3BFTEVOQlEwWXNSVU4yV1VFc1NVRkJjVUpGTEVkQlFYSkNMRXRCUVRaQ0xFTkJRek5DTEZsQlFWbERMRVZCUVZGRExFVkJRV0VzUTBGREwwSXNTMEZCU3l4UFFVRlRSQ3hGUVVOa0xFdEJRVXNzV1VGQlkwTXNRMEZEY2tJc1EwRkZRU3hYUVVGWkxFTkJRMVlzVDBGQlNTeExRVUZMTEZsQlEwRXNSMEZCUnl4TFFVRkxMRTFCUVUwc1MwRkJTeXhMUVVGTExGZEJRVmNzUjBGRmJrTXNTMEZCU3l4TlFVVm9RaXhEUVVOR0xFVkRVa0VzU1VGQmNVSkRMRWRCUVhKQ0xFdEJRVEJDTEVOQlRYaENMRWxCUVVrc1RVRkJUeXhEUVVOVUxFMUJRVTBzU1VGQlNVTXNSVUZEV2l4RFFVOUJMRWxCUVVrc1RVRkJUeXhEUVVOVUxFMUJRVTBzU1VGQlNVRXNSVUZEV2l4RFFVVkJMRWxCUVVrc1ZVRkJWeXhEUVVOaUxFOUJRVThzUzBGQlN5eEpRVU5rTEVOQlQwRXNTVUZCU1N4aFFVRmpMRU5CUTJoQ0xFMUJRVTBzU1VGQlNVRXNSVUZEV2l4RFFWZEJMRmRCUVZkRExFVkJRVWxETEVWQlFVMHNRMEZEYmtJc1RVRkJUU3hKUVVGSlJpeEZRVU5hTEVOQlZVRXNZVUZCWVVNc1JVRkJTVVVzUlVGQlVTeERRVU4yUWl4TlFVRk5MRWxCUVVsSUxFVkJRMW9zUTBGUlFTeFBRVUZQUXl4RlFVRkpMRU5CUTFRc1RVRkJUU3hKUVVGSlJDeEZRVU5hTEVOQlVVRXNUMEZCVDBrc1JVRkJWeXhEUVVOb1FpeE5RVUZOTEVsQlFVbEtMRVZCUTFvc1EwRlBRU3hKUVVGSkxGTkJRVlVzUTBGRFdpeE5RVUZOTEVsQlFVbEJMRVZCUTFvc1EwRkRSaXhGUTNaR1FTeEpRVUZKU3l4SFFVRlpMRXRCVFV0RExFZEJRWEpDTEUxQlFYRkNReXhWUVVGdFFrTXNSVUZCU3l4RFFVc3pReXhYUVVGWExGVkJRVmNzUTBGRGNFSXNUMEZCU1Vnc1MwRkJZeXhQUVVOb1FrRXNSMEZCV1N4SlFVRkpSU3hIUVVWWVJpeEZRVU5VTEVOQlIwRXNTVUZCU1N4TlFVRlBMRU5CUTFRc1RVRkJUeXhSUVVOVUxFTkJSMEVzU1VGQlNTeE5RVUZQTEVOQlExUXNUMEZCVHl4SlFVRkpMRXRCUVVzc1pVRkJaU3hGUVVGRkxHZENRVUZuUWl4RlFVRkZMRkZCUTNKRUxFTkJSMEVzU1VGQlNTeGhRVUZqTEVOQlEyaENMRTFCUVU4c1JVRkRWQ3hEUVVkQkxGZEJRVmRKTEVWQlFVa3NRMEZCUlN4UFFVRkJReXhGUVVGUkxFOUJRVUZETEVOQlFVOHNSVUZCUnl4RFFVTnFReXhQUVVGUFF5eEhRVUZqU0N4RlFVRkpReXhGUVVGUlF5eERRVUZOTEVOQlEzcERMRU5CUjBFc1lVRkJZVVlzUlVGQlNVTXNSVUZCVVN4RFFVTjJRaXhQUVVGUFJ5eEhRVUZoTEV0QlFVc3NUMEZCVDBvc1EwRkJSU3hGUVVGSFF5eERRVUZOTEVOQlF6ZERMRU5CUjBFc1QwRkJUMFFzUlVGQlNTeERRVU5VTEUxQlFVOHNRMEZCUXl4SlFVRkpMRXRCUVV0QkxFTkJRVVVzUlVGQlJTeHJRa0ZCYTBJc1EwRkRla01zUTBGSFFTeFBRVUZQU3l4RlFVRlhMRU5CUTJoQ0xFOUJRVTlCTEVWQlFWVXNUMEZCVXl4UlFVTTFRaXhEUVVkQkxFbEJRVWtzVTBGQlZTeERRVU5hTEUxQlFVOHNSVUZEVkN4RFFVTkdMRVZEZWtSQkxFbEJRVWxETEVkQlFWY3NRMEZCUXl4RlFVTm9RaXhUUVVGVFF5eEhRVUZSUXl4RlFVRk5MRU5CUTNKQ0xFOUJRVXRHTEVkQlFWTkZMRU5CUVVrc1NVRkRhRUpHTEVkQlFWTkZMRU5CUVVrc1JVRkJTU3hKUVVGSkxFdEJRVXNzWlVGQlpTeFJRVUZUTEVOQlEyaEVMRTlCUVZFc1IwRkRVaXhUUVVGVlFTeEZRVU5XTEV0QlFVMHNWVUZEVGl4TlFVRlBMRlZCUTFBc1NVRkJTeXhWUVVOTUxFdEJRVTBzVlVGRFRpeFBRVUZSTEZWQlExSXNUMEZCVVN4VlFVTlNMRWxCUVVzc1QwRkRVQ3hEUVVGRExFZEJSVWxHTEVkQlFWTkZMRU5CUVVrc1EwRkRkRUlzUTBGRlFTeEpRVUZOUXl4SFFVRlpMRU5CUTJoQ0xFdEJRVTBzUlVGRFRpeE5RVUZQTEVWQlExQXNTVUZCU3l4RlFVTk1MRWxCUVVzc1JVRkRUQ3hMUVVGTkxFVkJRMDRzVDBGQlVTeEZRVU5TTEU5QlFWRXNRMEZEVml4RlFVVkJMRk5CUVZORExFZEJRVmxETEVWQlFVdERMRVZCUVUwc1EwRkRPVUlzU1VGQlRVTXNSVUZCV1VZc1JVRkJTU3hQUVVGUFF5eERRVUZKTEVWQlFVVXNVVUZCVVN4VlFVRlhMRVZCUVVVc1JVRkRkRVJGTEVWQlFWTXNhMFJCUVd0RUxFdEJRVXRFTEVOQlFWTXNSVUZEZWtVc1EwRkJReXhEUVVGRlJTeEZRVUZSUXl4RlFVRk5ReXhGUVVGUFF5eEZRVUZUUXl4RlFVRlBReXhGUVVGVFF5eERRVUZQTEVWQlFVbFFMRVZCUXpsRUxFMUJRVThzUTBGQlEwY3NSVUZCVDBZc1JVRkJVVU1zUlVGQlRVVXNSVUZCVTBNc1JVRkJUME1zUlVGQlUwTXNRMEZCVHl4RFFVTXZSQ3hEUVVWQkxGTkJRVk5ETEVkQlFWbFlMRVZCUVV0RExFVkJRVTBzUTBGRE9VSXNTVUZCVFVNc1JVRkJXVVlzUlVGQlNTeGpRVUZqUXl4RFFVRkpMRVZCUTJ4RFZ5eEZRVUZUTEVOQlFVTXNSVUZEYUVJc1VVRkJVME1zUlVGQlNTeEZRVUZIUVN4RlFVRkpXQ3hGUVVGVkxFOUJRVkZYTEVsQlFVc3NRMEZEZWtNc1IwRkJUU3hEUVVGRkxFdEJRVUZETEVWQlFVMHNUVUZCUVVNc1EwRkJUU3hGUVVGSllpeEZRVUZWVnl4RFFVRkRMRVZCUXpkQ1J5eEZRVUZOYkVJc1IwRkJWV2RDTEVOQlFVa3NSVUZGZEVKQkxFbEJRVk1zVFVGRFdFWXNSVUZCVDBrc1EwRkJSeXhGUVVGSlJDeEZRVU5LUlN4RlFVRlpSQ3hEUVVGSExFbEJRM3BDU2l4RlFVRlBTU3hEUVVGSExFVkJRVWtzVTBGQlUwUXNSVUZCVHl4RlFVRkZMRVZCUlhCRExFTkJRMEVzVDBGQlQwZ3NRMEZEVkN4RFFVVkJMRWxCUVVsTkxFZEJRV2RDTEVOQlFVTXNSVUZMUVVNc1IwRkJja0lzVFVGQmNVSkRMRlZCUVdsQ1F5eEZRVUZMTEVOQlMzcERMRTlCUVU4c1QwRkJUME1zUlVGQlRTeERRVU5zUWl4UFFVRkxTaXhIUVVGalNTeERRVUZKTEVsQlEzSkNTaXhIUVVGalNTeERRVUZKTEVWQlFVa3NTVUZCU1VZc1JVRkJVMFVzUTBGQlNTeEhRVVZzUTBvc1IwRkJZMGtzUTBGQlNTeERRVU16UWl4RFFVMUJMRTlCUVU4c1dVRkJZU3hEUVVOc1Frb3NSMEZCWjBJc1EwRkJReXhGUVVOcVFuWkNMRWRCUVZjc1EwRkJReXhEUVVOa0xFTkJWVUVzVDBGQlR5eHBRa0ZCYVVJMFFpeEZRVUZITEVOQlEzcENMRTlCUVU4c1MwRkJTeXhaUVVGWlFTeERRVUZETEVOQlF6TkNMRU5CVlVFc1QwRkJUeXhaUVVGWk1VSXNSVUZCVFN4RFFVTjJRaXhIUVVGSkxFTkJRVU5CTEVWQlEwZ3NUVUZCVHl4SFFVVlVMRWRCUVVrc1EwRkRSaXhYUVVGSkxFdEJRVXNzWlVGQlpTeFJRVUZUTEVOQlFVVXNVMEZCVlVFc1EwRkJTeXhEUVVGRExFVkJRVVVzVDBGQlR5eEZRVU55UkN4RlFVTlVMRTlCUVZNeVFpeEZRVUZITEVOQlExWXNUVUZCVHl4RlFVTlVMRU5CUTBZc1EwRkZRU3haUVVGWlJpeEZRVUZOTEVOQlEyaENMRTFCUVUwc1JVRkZUaXhMUVVGTExGTkJRVmRCTEVWQlJXaENMRXRCUVVzc1RVRkJVVVlzUlVGQlV5eFpRVUZaUlN4RFFVRkpMRU5CUTNoRExFTkJSMEVzU1VGQlNTeE5RVUZQTEVOQlExUXNUVUZCVHl4TlFVTlVMRU5CUjBFc1NVRkJTU3hOUVVGUExFTkJRMVFzVDBGQlR5eExRVUZMTEZGQlEyUXNRMEZIUVN4SlFVRkpMR0ZCUVdNc1EwRkRhRUlzVFVGQlR5eEZRVU5VTEVOQlIwRXNWMEZCVjBjc1JVRkJTU3hEUVVGRkxFOUJRVUZETEVWQlFWRXNUMEZCUVVNc1EwRkJUeXhGUVVGSExFTkJRMnBETEU5QlFVOURMRWRCUVdOSUxFVkJRVWxETEVWQlFWRkRMRVZCUVZFc1MwRkJTeXhKUVVGSkxFTkJRM0JFTEVOQlIwRXNZVUZCWVVZc1JVRkJTVU1zUlVGQlVTeERRVU4yUWl4UFFVRlBSeXhIUVVGaExFdEJRVXNzVDBGQlQwb3NRMEZCUlN4RlFVRkhReXhEUVVGTkxFTkJRemRETEVOQlIwRXNUMEZCVDBRc1JVRkJTU3hEUVVOVUxFbEJRVTE0UWl4RlFVRlBMRWxCUVVrc1MwRkJTM2RDTEVOQlFVVXNSVUZGZUVJc1IwRkJTU3hOUVVGTmVFSXNRMEZCU1N4RlFVRkhMRTFCUVU4c1MwRkZlRUlzU1VGQlRVUXNSVUZCVFVvc1IwRkJVU3hMUVVGTExFbEJRVWtzUlVGRGVrSXNRMEZCUTJ0RExFVkJRVTFETEVWQlFVOURMRVZCUVV0RExFVkJRVkZETEVWQlFVMURMRVZCUVZGRExFTkJRVTBzUlVGQlNYQkRMRVZCUVVrc1kwRkRka1JYTEVkQlFWbFlMRVZCUVV0RExFTkJRVWtzUlVGRGNrSkdMRWRCUVZsRExFVkJRVXRETEVOQlFVa3NSVUZGY2tKblF5eEpRVUZYTEU5QlEySklMRVZCUVU4c1EwRkJReXhMUVVGTExFbEJRVWxCTEVOQlFVa3NSVUZCU1N4SFFVMHpRaXhKUVVGTlR5eEZRVUZSUXl4SFFVRmhMRU5CUTNwQ0xFdEJRVUZTTEVWQlEwRXNUVUZCUVVNc1JVRkRRU3hKUVVGQlF5eEZRVU5CTEV0QlRtMUNSU3hKUVVGVExFZEJRVXNzUlVGQlNVRXNSVUZQY2tNc1QwRkJRVU1zUlVGRFFTeFBRVUZCUXl4RlFVTkJMRmxCUVdFc1EwRkRaaXhEUVVGRExFVkJSVWRITEVWQlFVOHNRMEZCUTNSRExFVkJRMDUxUXl4RlFVRlBSQ3hGUVVGUExFbEJRM0JDTEU5QlFVRkJMRWRCUVZGRExFZEJRVkVzUlVGQlNVRXNSVUZCVHl4SlFVRlBRU3hIUVVNeFFrZ3NSVUZCVVVVc1NVRkJVeXhIUVVGTExFbEJRMmhETEVOQlIwRXNUMEZCVDBVc1JVRkJWeXhEUVVOb1FpeFBRVUZQUVN4RlFVRlZMRTlCUVZNc1VVRkJWVUVzUlVGQlZTeFBRVUZUTEV0QlFVc3NTVUZET1VRc1EwRkhRU3hKUVVGSkxGTkJRVlVzUTBGRFdpeFBRVUZQTEV0QlFVc3NTMEZEWkN4RFFVTkdMRVZEZWt4QkxFbEJRVWxETEVkQlFWa3NTMEZOUzBNc1IwRkJja0lzVFVGQmNVSkRMRlZCUVhkQ1F5eEZRVUZMTEVOQlMyaEVMRmRCUVZjc1lVRkJZeXhEUVVOMlFpeFBRVUZKU0N4TFFVRmpMRTlCUTJoQ1FTeEhRVUZaTEVsQlFVbEZMRVZCUVdkQ0xFTkJRVU1zUjBGRk5VSkdMRVZCUTFRc1EwRlBRU3hQUVVGUExGTkJRVk5KTEVWQlFWRXNRMEZEZEVJc1QwRkJUMEVzU1VGQlZ5eEZRVUZKUml4RlFVRm5RaXhaUVVGakxFbEJRVWxCTEVWQlFXZENSU3hEUVVGTkxFTkJRMmhHTEVOQlZVRXNUMEZCVHl4bFFVRmxReXhGUVVGSExFTkJRM1pDTEVkQlFVbEJMRVZCUVVjc1EwRkRUQ3hKUVVGTlF5eEZRVUZKUkN4RlFVRkZMRTFCUVUwc2RVTkJRWFZETEVWQlEzcEVMRWRCUVVsRExFVkJRMFlzVDBGQlR5eEpRVUZKU2l4RlFVRm5Ra3NzUjBGQllVUXNSVUZCUlN4RFFVRkRMRVZCUVVkQkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZGZGtRc1EwRkRRU3hQUVVGUExFbEJRMVFzUTBGRlFTeFpRVUZaUml4RlFVRlJMRU5CUTJ4Q0xFMUJRVTBzUlVGRlRpeExRVUZMTEUxQlFWRkJMRU5CUTJZc1EwRkhRU3hKUVVGSkxFMUJRVThzUTBGRFZDeE5RVUZQTEU5QlExUXNRMEZIUVN4SlFVRkpMRTFCUVU4c1EwRkRWQ3hQUVVGUExFdEJRVXNzVVVGQlZTeEZRVUZKTEUxQlFWRXNUVUZCVFVrc1IwRkJZU3hMUVVGTExFMUJRVThzVVVGQlVTeERRVUZETEVWQlF6VkZMRU5CUlVFc1NVRkJTU3hWUVVGWExFTkJRMklzVDBGQlNTeExRVUZMTEZGQlFWVXNSVUZEVml4VlFVVkJMRlZCUVZWQkxFZEJRV0VzUTBGQlF5eExRVUZMTEUxQlFVOHNVVUZCVVN4RFFVRkRMRVZCUlhoRUxFTkJSMEVzV1VGQllTeERRVU5ZTEU5QlFVOHNTMEZCU3l4SlFVTmtMRU5CUjBFc1lVRkJZVU1zUlVGQlNVTXNSVUZCVVN4RFFVTjJRaXhQUVVGUFJpeEhRVUZoTEV0QlFVc3NUVUZCVDBVc1EwRkJUU3hEUVVONFF5eERRVWRCTEVsQlFVa3NZVUZCWXl4RFFVTm9RaXhOUVVGUExFVkJRMVFzUTBGSFFTeFJRVUZUTEVOQlExQXNUMEZCVHl4TFFVRkxMRXRCUTJRc1EwRkhRU3hQUVVGUFF5eEZRVUZYTEVOQlEyaENMRTlCUVU5QkxFVkJRVlVzVDBGQlV5eFRRVUZYUVN4RlFVRlZMRkZCUVZVc1MwRkJTeXhMUVVOb1JTeERRVWRCTEVsQlFVa3NVMEZCVlN4RFFVTmFMRTFCUVU4c1JVRkRWQ3hEUVVOR0xFVkRMMFpCTEVsQlFYRkNReXhIUVVGeVFpeGpRVUY1UTBNc1JVRkJTeXhEUVVNMVF5eFpRVUZaUXl4RlFVRlZMRU5CUTNCQ0xFMUJRVTBzUlVGRlRpeExRVUZMTEZOQlFWZEJMRU5CUTJ4Q0xFTkJSMEVzU1VGQlNTeE5RVUZQTEVOQlExUXNUVUZCVHl4VFFVTlVMRU5CUjBFc1NVRkJTU3hOUVVGUExFTkJRMVFzVDBGQlR5eExRVUZMTEZGQlEyUXNRMEZIUVN4SlFVRkpMR0ZCUVdNc1EwRkRhRUlzVFVGQlR5eEZRVU5VTEVOQlIwRXNXVUZCWVN4RFFVTllMRTlCUVU4c1NVRkRWQ3hEUVVkQkxHTkJRV1VzUTBGRFlpeE5RVUZQTEVWQlExUXNRMEZIUVN4UlFVRlRMRU5CUTFBc1RVRkJUeXhKUVVOVUxFTkJSMEVzVVVGQlV5eERRVU5RTEUxQlFVOHNSVUZEVkN4RFFVZEJMRWxCUVVrc1UwRkJWU3hEUVVOYUxFMUJRVThzUlVGRFZDeERRVU5HTEVWRGVrTlBMRk5CUVZORExFZEJRV05ETEVWQlFVOURMRVZCUVdFc1EwRkRhRVFzU1VGQlNVTXNSVUZEU2l4SFFVRkpReXhGUVVGWlNDeERRVUZMTEVkQlFVdEJMRWxCUVZVc1MwRkRiRU1zVDBGQlQwTXNSVUZEUml4SFFVRkpSQ3hoUVVGcFFra3NSMEZETVVJc1QwRkJUMG9zUlVGRFJpeEhRVUZKU3l4SFFVRlRUQ3hEUVVGTExFVkJRVWNzUTBGRE1VSXNTVUZCVFUwc1JVRkJWVTRzUlVGQlRTeFpRVUZaTEVWQlEyeERMRTlCUVVsTkxFbEJRVmtzVTBGQlYwRXNTVUZCV1N4VFFVRnBRa3dzUlVGREwwTkxMRWxCUVZrc1QwRkJVMEVzU1VGQldTeE5RVUZqUXl4SFFVRm5RaXhaUVVNMVJFRXNSMEZCWjBJc1pVRkJaVVFzUTBGQlR5eEhRVUZMUlN4SFFVRlRMRTlCUVU5U0xFTkJRVXNzUTBGRE9VVXNTMEZCVHl4UlFVRkpVeXhIUVVGVFZDeERRVUZMTEVWQlEyaENUeXhIUVVGblFpeFRRVUZUVUN4RFFVRkxMRVZCUXpWQ0xFOUJRVTlCTEVkQlFWVXNWVUZCV1VFc1JVRkJUU3hSUVVGVkxFOUJRVTlCTEVWQlFVMHNVVUZCVnl4VFFVZDJSVUVzUlVGRlFTeEpRVUZKVlN4SFFVRlpWaXhEUVVGTExFTkJSV2hETEVORGVrSkJMRWxCUVVsWExFZEJRVTBzU1VGQlRTeExRVUZMTEVsQlFVa3NSVUZEZGtKRExFZEJRV01zVTBGRFpFTXNSMEZCWjBJc1MwRkRhRUpETEVkQlFYbENMRXRCUTNwQ1F5eEhRVUYzUWl4TFFVTjRRa01zUjBGTGJVSkRMRVZCUVhKQ0xFdEJRVGhDTEVOQlN6VkNMRmRCUVZjc1MwRkJUU3hEUVVObUxFOUJRVTlPTEVWQlExUXNRMEZUUVN4WFFVRlhMRWxCUVVsUExFVkJRVWNzUTBGRGFFSlFMRWRCUVUxUExFTkJRMUlzUTBGUFFTeFhRVUZYTEZsQlFWbERMRVZCUVUwc1EwRkRNMEpRTEVkQlFXTlBMRU5CUTJoQ0xFTkJUMEVzVjBGQlZ5eGhRVUZqTEVOQlEzWkNMRTlCUVU5RExFZEJRV05TTEVkQlFXRlRMRWRCUVZjc1VVRkJVU3hEUVVOMlJDeERRVTFCTEZkQlFWY3NaVUZCWjBJc1EwRkRla0lzVDBGQlQxSXNSVUZEVkN4RFFVMUJMRmRCUVZjc1kwRkJZMU1zUlVGQlVTeERRVU12UWxRc1IwRkJaMEpUTEVOQlEyeENMRU5CVFVFc1YwRkJWeXgzUWtGQmVVSXNRMEZEYkVNc1QwRkJUMUlzUlVGRFZDeERRVTFCTEZkQlFWY3NkVUpCUVhWQ1V5eEZRVUZwUWl4RFFVTnFSRlFzUjBGQmVVSlRMRU5CUXpOQ0xFTkJUVUVzVjBGQlZ5eDFRa0ZCZDBJc1EwRkRha01zVDBGQlQxSXNSVUZEVkN4RFFVMUJMRmRCUVZjc2MwSkJRWE5DVXl4RlFVRm5RaXhEUVVNdlExUXNSMEZCZDBKVExFTkJRekZDTEVOQlRVRXNWMEZCVnl4blFrRkJhVUlzUTBGRE1VSXNUMEZCVDFJc1JVRkRWQ3hEUVUxQkxGZEJRVmNzWlVGQlpWTXNSVUZCUnl4RFFVTXpRbFFzUjBGQmFVSlRMRU5CUTI1Q0xFTkJUVUVzVDBGQlR5eGhRVUZqTEVOQlEyNUNReXhIUVVGUExGZEJRVmNzUlVGRGJFSkRMRWRCUVZNc1YwRkJWeXhEUVVOMFFpeERRVU5HTEVWRGRFaEJMRWxCUVVsRExFZEJRV01zUTBGQlF5eEZRVU51UWl4VFFVRlRReXhIUVVGWlF5eEZRVUZYUXl4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVONlF5eEpRVUZOUXl4RlFVRk5MRXRCUVVzc1ZVRkJWU3hEUVVGRFJpeEZRVUZYUXl4RFFVRkpMRU5CUVVNc1JVRkRlRU5GTEVWQlFVMU1MRWRCUVZsSkxFTkJRVWNzUlVGRGVrSXNUMEZCUzBNc1NVRkRTRUVzUlVGQlRTeEpRVUZKTEV0QlFVc3NWMEZCVjBnc1JVRkJWME1zUTBGQlNTeEZRVU42UTBnc1IwRkJXVWtzUTBGQlJ5eEZRVUZKUXl4SFFVVmtRU3hEUVVOVUxFTkJSVUVzU1VGQlNVTXNSMEZCWXl4RFFVRkRMRVZCUTI1Q0xGTkJRVk5ETEVkQlFXRk1MRVZCUVZkRExFVkJRVThzUTBGQlF5eEZRVUZITEVOQlF6RkRMRWxCUVUxRExFVkJRVTBzUzBGQlN5eFZRVUZWTEVOQlFVTkdMRVZCUVZkRExFTkJRVWtzUTBGQlF5eEZRVU40UTBVc1JVRkJUVU1zUjBGQldVWXNRMEZCUnl4RlFVTjZRaXhQUVVGTFF5eEpRVU5JUVN4RlFVRk5MRWxCUVVrc1MwRkJTeXhsUVVGbFNDeEZRVUZYUXl4RFFVRkpMRVZCUXpkRFJ5eEhRVUZaUml4RFFVRkhMRVZCUVVsRExFZEJSV1JCTEVOQlExUXNRMEZGUVN4SlFVRkpSeXhIUVVGbExFTkJRVU1zUlVGRGNFSXNVMEZCVTBNc1IwRkJZVkFzUlVGQlYwTXNSVUZCVHl4RFFVRkRMRVZCUVVjc1EwRkRNVU1zU1VGQlRVTXNSVUZCVFN4TFFVRkxMRlZCUVZVc1EwRkJRMFlzUlVGQlYwTXNRMEZCU1N4RFFVRkRMRVZCUTNoRFR5eEZRVUZOUml4SFFVRmhTaXhEUVVGSExFVkJRekZDTEU5QlFVdE5MRWxCUTBoQkxFVkJRVTBzU1VGQlNTeExRVUZMTEdGQlFXRlNMRVZCUVZkRExFTkJRVWtzUlVGRE0wTkxMRWRCUVdGS0xFTkJRVWNzUlVGQlNVMHNSMEZGWmtFc1EwRkRWQ3hEUVVWQkxFbEJRVWxETEVkQlFXVXNRMEZCUXl4RlFVTndRaXhUUVVGVFF5eEhRVUZoVml4RlFVRlhReXhGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU14UXl4SlFVRnJRMVVzUlVGQlFWWXNSVUZCTVVJc1RVRkJRVmNzUTBFelExWXNSVUV5UTI5RFJDeEZRVUZxUWtVc1JVRkJRVU1zUjBGQmFVSklMRVZCUVdwQ0xFTkJRVlFzVTBGRFJsUXNSVUZCVFN4TFFVRkxMRlZCUVZVc1EwRkJRMFlzUlVGQlYyRXNRMEZCV1N4RFFVRkRMRVZCUTJoRVRDeEZRVUZOUXl4SFFVRmhVQ3hEUVVGSExFVkJRekZDTEU5QlFVdE5MRWxCUTBoQkxFVkJRVTBzU1VGQlNTeExRVUZMTEcxQ1FVRnRRbElzUlVGQlYwTXNRMEZCU1N4RlFVTnFSRkVzUjBGQllWQXNRMEZCUnl4RlFVRkpUU3hIUVVWbVFTeERRVU5VTEVOQlJVRXNTVUZCU1U4c1IwRkJhVUlzUzBGRGNrSXNVMEZCVTBNc1NVRkJaU3hEUVVOMFFpeFBRVUZKUkN4TFFVZEdRU3hIUVVGcFFpeEpRVUZKTEV0QlFVc3NaVUZCWlN4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEU5QlEzUkVRU3hIUVVWWUxFTkJSVUVzVTBGQlUwVXNSMEZCYTBKRExFVkJRVmNzUTBGVGNFTXNTVUZCVFVNc1JVRkJVMFFzUlVGQlZTeFJRVUZSTEV0QlFVc3NSVUZEZEVNc1IwRkJTVU1zU1VGQlZ5eEhRVU5pTEUxQlFVOHNRMEZCUTBRc1EwRkJVeXhGUVVOYUxFTkJRMHdzU1VGQlNVVXNSVUZEUlVNc1JVRkJWVWdzUlVGQlZTeFZRVUZWTEVWQlFVZERMRU5CUVUwc1JVRkROME1zUjBGQlNTeERRVU5HUXl4RlFVRlZaaXhIUVVGaFlTeERRVUZUTEVWQlFVVXNaMEpCUVdkQ0xFTkJRM0JFTEU5QlFWTkpMRVZCUVVjc1EwRkRWa1lzUlVGQlZXWXNSMEZCWVdkQ0xFTkJRVThzUlVGQlJTeG5Ra0ZCWjBJc1EwRkRiRVFzUTBGRlFTeEhRVUZOTEVOQlFVVXNaMEpCUVVGRkxFVkJRV2xDTEZOQlFVRkRMRU5CUVZNc1JVRkJTVW9zUlVGRmRFTXNUVUZCVHl4RFFVRkRReXhGUVVGVFJTeEZRVUZwUWtNc1EwRkJVU3hEUVVNMVF5eERRVU5HTEVOQlJVRXNVMEZCVTBNc1IwRkJhVUpRTEVWQlFWZExMRVZCUVdsQ1J5eEZRVUZuUWl4RFFVTndSU3hQUVVGSlFTeEhRVUZyUWtnc1MwRkRjRUpNTEVkQlFXRXNTMEZGVkZFc1NVRkRSbElzUjBGQllTeFBRVUZQVVN4RFFVRmpMRWxCUjJoRFNDeEpRVU5HVEN4SFFVRmhMRTlCUVU5TExFTkJRV1VzUzBGRk9VSk1MRU5CU1Znc1EwRkZRU3hUUVVGVFV5eEhRVUZWUXl4RlFVRkhMRU5CUTNCQ0xFbEJRVTFETEVWQlFVc3NRMEZCUXl4RlFVTmFMRkZCUVZORExFVkJRVWtzUlVGQlIwRXNSMEZCU3l4SFFVRkpRU3hKUVVGTExFTkJRelZDTEVsQlFVMURMRVZCUVV0RExFVkJRVk1zU1VGQlNTeExRVUZOUml4RlFVRkhMRU5CUVVNc1JVRkRiRU5FTEVWQlFVY3NTMEZCUzBRc1JVRkJSVWNzUTBGQlJTeERRVUZETEVOQlEyWXNRMEZEUVN4UFFVRlBSaXhEUVVOVUxFTkJSVUVzVTBGQlUwa3NSMEZCV1V3c1JVRkJSeXhEUVVOMFFpeEpRVUZOUXl4RlFVRkxMRU5CUVVNc1JVRkRXaXhSUVVGVFF5eEZRVUZKTEVWQlFVZEJMRWRCUVVzc1JVRkJSMEVzU1VGQlN5eERRVU16UWl4SlFVRk5ReXhGUVVGTFF5eEZRVUZUTEVsQlFVa3NTMEZCVFN4SFFVRkpMRWRCUVV0R0xFTkJRVU1zUlVGRGVFTkVMRVZCUVVjc1MwRkJTMFFzUlVGQlJVY3NRMEZCUlN4RFFVRkRMRU5CUTJZc1EwRkRRU3hQUVVGUFJpeERRVU5VTEVOQlJVRXNVMEZCVTBzc1IwRkJWVU1zUlVGQlMwTXNSVUZCVVVNc1JVRkJWME1zUlVGQlYwTXNSVUZCVVN4RFFVTTFSQ3hKUVVGTlF5eEZRVUZQVEN4RlFVRkpMRmxCUVZsRkxFTkJRVk1zUlVGRmRFTXNUMEZCU1Vjc1NVRkJVeXhSUVVOS0xFdEJRMFZCTEVsQlFWTXNTMEZEV0VZc1JVRkJWVVlzUTBGQlRTeEZRVVZvUWtjc1JVRkJUMGdzUTBGQlRTeERRVVY0UWl4RFFVVkJMRk5CUVZOTExFZEJRVzlDVGl4RlFVRkxMRU5CUTJoRExFOUJRVWxCTEVWQlFVa3NhVUpCUVcxQ1FTeEZRVUZKTEd0Q1FVRnZRaXhQUVVNeFF5eEhRVWRNUVN4RlFVRkpMR3RDUVVGdlFpeFJRVU40UWl4RFFVRkRRU3hGUVVGSkxGRkJRMHhCTEVWQlFVa3NUMEZCVHl4WFFVRlhMRWxCUVVrc1IwRkRNVUlzU1VGQlNTeExRVUZMTEdWQlFXVkJMRVZCUVVrc1NVRkJTU3hGUVVGRkxHZENRVUZuUWl4RlFVRkZMR3RDUVVGdlFpeE5RVWM1UlN4RFFVMUJMRWxCUVUxUExFZEJRVTRzUzBGQk1FSXNRMEZEZUVJc1dVRkJXVU1zUlVGQlRVTXNSVUZCWVRORExFVkJRVTBzUTBGRGJrTXNTMEZCU3l4TlFVRlJRU3hGUVVGTExFOUJRVk1zUlVGRE0wSXNTMEZCU3l4TlFVRlJRU3hGUVVGTExFOUJRVk1zUjBGRk0wSXNTVUZCZFVOVkxFVkJRVUZXTEVWQlFTOUNMRTlCUVVFMFF5eEZRVUZQTEUxQlFVRkRMRU5CTDBwdVFpeEZRU3RLTWtOdVF5eEZRVUZrYjBNc1JVRkJRV3BETEVkQlFXTklMRVZCUVdRc1EwRkJha0lzVVVGQlR5eFZRVVZtTEVkQlFVa3NRMEZCUTJsRExFZEJRV1VzVDBGQlR5eExRVUZMUnl4RFFVRlRMRVZCUVVVc1QwRkJVeXhGUVVGSExFTkJRM0pFTEVsQlFVMURMRVZCUVZkRExFVkJRVUVzUTBGQlJTeFpRVUZoTEVsQlFWVm9SQ3hIUVVOMFEwRXNSVUZCU3l4TlFVRlJMRWxCUVVjclF5eEZRVUZUTEhGQ1FVRjFRaTlETEVWQlFVc3NUMEZEZWtRc1MwRkJTeXhKUVVGTlRTeEhRVUZoYjBNc1JVRkJUVXNzUTBGQlVTeERRVU40UXl4RFFVTkdMRU5CUlVFc1QwRkJUMnhDTEVWQlFVY3NRMEZEVWl4SFFVRkpMRXRCUVVzc1NVRkJTeXhEUVVOYUxFbEJRVTF2UWl4RlFVRlJMRXRCUVVzc1RVRkJVU3hMUVVGTExFMUJRVTF3UWl4RFFVRkRMRVZCUVVsQkxFVkJRek5ETEU5QlFVOHNTMEZCU3l4SlFVRkpMRTlCUVU5dlFpeERRVUZMTEVOQlF6bENMRXRCUVU4c1EwRkZUQ3hKUVVGTlFTeEZRVUZSTEV0QlFVc3NUVUZCVVN4TFFVRkxMRTFCUVUxd1FpeERRVUZETEVWQlFVbHhRaXhIUVVGUmNrSXNSVUZCUnl4RFFVRkRMRVZCUTNaRUxFOUJRVTl6UWl4SFFVRlRSaXhGUVVGUExFdEJRVXNzUzBGQlN5eERRVU51UXl4RFFVTkdMRU5CUTBZc1JVRk5UVWNzUjBGQlRpeExRVUYzUWl4RFFVTjBRaXhaUVVGWmRFSXNSVUZCU1Zrc1JVRkJUVEZETEVWQlFVMHNRMEZETVVJc1MwRkJTeXhMUVVGUFFTeEZRVVZhTEVsQlFVbHhSQ3hGUVVOS0xFZEJRVWwyUWl4RlFVRkhMRXRCUVVzc1dVRkJZU3hEUVU5MlFpeEpRVUZOZDBJc1JVRkJXU3hKUVVGTmVFSXNSVUZCUnl4UFFVRlRMRWxCUXpsQ2VVSXNSVUZCVlVRc1IwRkJZU3hGUVVGSkxGZEJRVmRCTEVOQlFWTXNSMEZCU3l4VlFVRlZRU3hEUVVGVExFZEJRM3BGZUVJc1JVRkJSeXhUUVVGWExFZEJRVXN3UWl4SFFVRlRMRTlCUVU5RUxFTkJRVThzUlVGQlJTeFBRVU01UTBZc1JVRkJTVVVzUlVGRFNpeExRVUZMTEVkQlFVdDZRaXhKUVZOV2RVSXNSVUZCU1N4TlFVTkJja1FzUlVGQlN5eGhRVU5RTEV0QlFVc3NSMEZCU3poQ0xFVkJSVllzUzBGQlN5eEhRVUZMUVN4RlFVRkhMRk5CUVZjc1JVRkJTVUVzUlVGQlMwTXNSVUZCVXl4WFFVRlhSQ3hGUVVGSExFZEJRVXRCTEVWQlFVY3NUMEZCVXl4SFFVRkxMRWRCUVVrc1JVRkhlRVlzVFVGQlYwRXNSVUZCUnl4TFFVRkxMRTlCUVZNc1UwRkRNVUlzUzBGQlN5eEhRVUZMUVN4SFFVVldMRXRCUVVzc1IwRkJTMEVzUlVGRFZuVkNMRVZCUVVsMlFpeEZRVUZITEV0QlFVc3NUVUZIWkN4SlFVRk5hVUlzUlVGQlYwTXNSVUZCUVN4SFFVRkxMRXRCUVVzc1RVRkRka0pMTEVsQlEwWk9MRVZCUVZNc1UwRkJWMDBzUjBGRmRFSXNTMEZCU3l4SlFVRk5ha1FzUjBGQllYTkRMRVZCUVUxTExFTkJRVkVzUTBGRGVFTXNRMEZGUVN4UlFVRlRMRU5CUTFBc1QwRkJUeXhMUVVGTExFbEJRVWtzVDBGQlR5eExRVUZMTEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUXpORExFTkJSVUVzWlVGQlowSXNRMEZEWkN4UFFVRlBMRXRCUVVzc1NVRkJTU3hqUVVGakxFdEJRVXNzUjBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZEYkVRc1EwRkZRU3hwUWtGQmEwSXNRMEZEYUVJc1QwRkJUeXhMUVVGTExFbEJRVWtzWjBKQlFXZENMRU5CUTJ4RExFTkJRMFlzUlVGTFRWVXNSMEZCVGl4TFFVRjFRaXhEUVVOeVFpeFpRVUZaWml4RlFVRk5aMElzUlVGQlZ6RkVMRVZCUVUwc1EwRkRha01zUzBGQlN5eExRVUZQWjBRc1JVRkJRU3hEUVVGRkxFMUJRVThzVVVGQlYyaEVMRWRCUXpWQ0xFTkJRVU13UkN4SFFVRmhReXhIUVVGWkxFbEJRelZDTEV0QlFVc3NTVUZCVFd4RUxFZEJRV0ZwUXl4RlFVRk5NVU1zUTBGQlNTeEZRVVYwUXl4RFFVVkJMRTlCUVU4MFJDeEZRVUZQUXl4RlFVRk5MRU5CUTJ4Q0xFOUJRVWtzUzBGQlN5eEpRVU5CTEV0QlFVc3NTVUZCU1N4UFFVRlBSQ3hGUVVGUFF5eERRVUZKTEVWQlJXNUNReXhIUVVGdFFrUXNSVUZCVFVRc1JVRkJUeXhMUVVGTExFdEJRVXNzVVVGQlV5eExRVUZMTEV0QlFVc3NVVUZCVlN4TlFVRk5MRU5CUldoSExFTkJSVUVzWTBGQlkwRXNSVUZCVDBNc1JVRkJUU3hEUVVONlFpeFBRVUZKTEV0QlFVc3NTVUZEUVN4TFFVRkxMRWxCUVVrc1kwRkJZMFFzUlVGQlQwTXNRMEZCU1N4RlFVVnNReXhEUVVGRExFTkJSVm9zUTBGRFJpeEZRVTF4UWtVc1IwRkJja0lzVFVGQmNVSkRMRU5CUVU4c1EwRkRNVUlzVDBGQlR5eFRRVUZUYUVVc1JVRkJUU3hEUVVOd1FpeFBRVUZQWjBVc1JVRkJUeXhQUVVGUGFFVXNSVUZCU3l4UFFVRlJRU3hGUVVGTExHZENRVUZwUWtFc1JVRkJTeXhsUVVGblFrRXNSVUZCU3l4WFFVRlhMRU5CUXk5R0xFTkJSVUVzVDBGQlR5eFBRVUZQYVVVc1JVRkJVVE5ETEVWQlFXbENSeXhGUVVGblFubERMRVZCUVdNc1IwRkJUeXhEUVVNeFJTeEpRVUZOUXl4RlFVRnJRa1lzUjBGQlZVY3NSVUZCVXl4alFVVnlRME1zUlVGQlZVWXNTVUZCYjBKRUxFVkJRV01zVVVGQlZXNUVMRWRCUVdFc1IwRkRia1YxUkN4RlFVRnRRbWhFTEVkQlFXMUNPRU1zUlVGQlV5eDFRa0ZETDBOSExFVkJRV3RDT1VNc1IwRkJhMEl5UXl4RlFVRlRMSE5DUVVOdVJDeFBRVUZQTEVsQlFVbEtMRVZCUVU5TExFVkJRVk5ETEVWQlFXdENReXhGUVVGcFFrb3NRMEZCWlN4RFFVTXZSU3hEUVVWQkxFOUJRVThzV1VGQllTeERRVU5zUW5KRUxFZEJRV2xDTEV0QlEycENXQ3hIUVVGakxFTkJRVU1zUlVGRFprVXNSMEZCWlN4RFFVRkRMRVZCUTJoQ1J5eEhRVUZsTEVOQlFVTXNRMEZEYkVJc1EwRkZRU3hQUVVGUExGZEJRVmNzUTBGQlJTeFBRVUZCZVVRc1JVRkJVU3huUWtGQlFUTkRMRVZCUVdsQ0xHVkJRVUZITEVOQlFXVXNSVUZCU1N4RFFVRkRMRVZCUVVjc1EwRkRiRVVzVDBGQlQzVkRMRVZCUVU4c1QwRkJUME1zUlVGQlVUTkRMRVZCUVdsQ1J5eERRVUZqTEVOQlF6bEVMRU5CUlVFc1dVRkJXWGRETEVWQlFWRlBMRVZCUVZjdlF5eEZRVUZuUWpCRExFVkJRV2xDTEVOQlF6bEVMRWRCUVUwc1EwRkJRMDBzUlVGQlkwTXNSVUZCZFVKRExFTkJRVzlDTEVWQlFVa3pSQ3hIUVVGclFtbEVMRU5CUVUwc1JVRkZOVVlzUzBGQlN5eFBRVUZUVVN4RlFVTmtMRXRCUVVzc1owSkJRV3RDUkN4SFFVRmhSU3hIUVVGNVFpeExRVU0zUkN4TFFVRkxMR1ZCUVdsQ2FrUXNSMEZCYTBKclJDeEhRVUYzUWl4TFFVTm9SU3hMUVVGTExFdEJRVTl1UkN4SFFVRnBRaXhMUVVGTExFOUJRVkVzUzBGQlN5eG5Ra0ZCYVVJc1MwRkJTeXhqUVVGakxFVkJSVzVHTEV0QlFVc3NZMEZCWjBJc1EwRkJSU3hQUVVGUkxFTkJRVU1zUlVGQlJ5eFhRVUZaTEVOQlFVTXNRMEZCUlN4RlFVTnNSQ3hMUVVGTExGbEJRV01zUTBGQlJTeFBRVUZSTEVOQlFVTXNSVUZCUnl4WFFVRlpMRU5CUVVNc1EwRkJSU3hGUVVOb1JDeExRVUZMTEdOQlFXZENMRXRCUTNKQ0xFdEJRVXNzVTBGQlZ5eERRVUZETEVWQlJXcENMRXRCUVVzc1owSkJRV3RDTWtNc1JVRkRka0lzUzBGQlN5eHJRa0ZCYjBJc1NVRkRNMElzUTBGRlFTeEpRVUZKTEdGQlFXTXNRMEZEYUVJc1QwRkJTU3hMUVVGTExHMUNRVUZ4UWl4UFFVTTFRaXhMUVVGTExHdENRVUZ2UWpOQ0xFZEJRVzlDTEVsQlFVa3NSMEZITlVNc1MwRkJTeXhwUWtGRFpDeERRVVZCTEdGQlFXTXNRMEZEV2l4SlFVRk5iME1zUlVGQlpTeExRVUZMTEZWQlFWVXNSVUZET1VKRExFZEJRMGdzUzBGQlN5eHJRa0ZCYjBJc1RVRkJVU3hMUVVGTExHdENRVUZ2UWl4VlFVTXhSQ3hMUVVGTExHbENRVUZ0UWl4TlFVRlJMRXRCUVVzc2FVSkJRVzFDTEZkQlF6TkVMRTlCUVU5RUxFZEJRV2RDUXl4RlFVRnBRaXhMUVVGUExFMUJRMnBFTEVOQlJVRXNUVUZCVFVNc1JVRkJUU3hEUVVOV0xFMUJRVWtzUTBGQlEwRXNSMEZCVVN4UFFVRlBMRzlDUVVGdlFrRXNRMEZCU1N4RlFVRkZMRk5CUVZjc1JVRkRhRVFzUzBGRlFXUXNSVUZCVHl4UFFVTmFZeXhGUVVGTExGRkJRVlVzUzBGQlN5eG5Ra0ZEY0VKQkxFVkJRVXNzYVVKQlFXMUNMRXRCUVVzc1owSkJRemRDUVN4RlFVRkxMR2RDUVVGclFpeExRVUZMTEdWQlF6VkNRU3hGUVVGTExHRkJRV1VzUlVGRGRFSXNRMEZGU2l4RFFVVkJMR05CUVdOQkxFVkJRVThzUTBGQlF5eEZRVUZITEVOQlEzWkNMRTlCUVU4c1MwRkJTeXhOUVVGTlF5eEhRVUZCTDBJc1JVRkJRU3hIUVVGTE9FSXNSMEZCVEN4RFFVRlhMRmxCUVdFc1JVRkJTeXhGUVVGRExFTkJRMnhFTEVOQlJVRXNhMEpCUVd0Q1FTeEZRVUZQTEVOQlFVTXNSVUZCUnl4RFFVTXpRaXhQUVVGUExFdEJRVXNzVFVGQlRVTXNSMEZCUVM5Q0xFVkJRVUVzUjBGQlN6aENMRWRCUVV3c1EwRkJWeXhaUVVGaExFVkJRVTBzUlVGQlF5eERRVU51UkN4RFFVVkJMRTlCUVU4elF5eEZRVUZSTmtNc1JVRkJVeXhIUVVGUE5VTXNSVUZCV1N4SFFVRk5MRU5CUXk5RExFOUJRVTlJTEVkQlFWVXNTMEZCVFVVc1JVRkJVVU1zUlVGQmJVSTJReXhIUVVGUkxFbEJRVTBzUTBGRE9VUXNTVUZCVFhaRExFVkJRVTl6UXl4RlFVRlRMRU5CUVVVc1RVRkJUemRETEVWQlFWRXNTVUZCU3l4VFFVRlZMRVZCUVVrc1EwRkJSU3hOUVVGUFFTeERRVUZQTEVWQlEzaEZLME1zUlVGQldVWXNSVUZCVXl4VFFVRlhMR0ZCUTJ4RExFOUJRVXNzUzBGQlN5eFpRVUZaUlN4RFFVRlRMRVZCUVVVdlF5eERRVUZOTEVsQlEzSkRMRXRCUVVzc1dVRkJXU3RETEVOQlFWTXNSVUZCUlM5RExFTkJRVTBzUlVGQlNWUXNSMEZCVjBrc1IwRkJUeXhMUVVGTExGRkJRVkZCTEVWQlFVbFpMRVZCUVUwc1QwRkJUeXhEUVVGRExFZEJSV3hHTEV0QlFVc3NXVUZCV1hkRExFTkJRVk1zUlVGQlJTOURMRU5CUVUwc1EwRkRNME1zUTBGQlF5eERRVU5JTEVOQlJVRXNVMEZCVTBFc1JVRkJVVFpETEVWQlFWTXNSMEZCVHpWRExFVkJRVmtzUjBGQlRTeERRVU5xUkN4UFFVRlBTQ3hIUVVGVkxFdEJRVTFGTEVWQlFWRkRMRVZCUVcxQ0swTXNSMEZCVlN4SlFVRk5MRU5CUTJoRkxFbEJRVTE2UXl4RlFVRlBjME1zUlVGRFVDeERRVUZGTEZGQlFWTTNReXhGUVVGUkxFdEJRVTBzVlVGQlZ5eE5RVUZQTEU5QlFWRXNTVUZCU3l4VFFVRlZMRVZCUTJ4RkxFTkJRVVVzVVVGQlUwRXNRMEZCVHl4RlFVTjBRaXRETEVWQlFWbEdMRVZCUVZNc1UwRkJWeXhoUVVOc1F5eFBRVUZMTEV0QlFVc3NZMEZCWTBVc1EwRkJVeXhGUVVGRkwwTXNRMEZCVFN4SlFVTjJReXhMUVVGTExHTkJRV01yUXl4RFFVRlRMRVZCUVVVdlF5eERRVUZOTEVWQlFVbElMRWRCUVdGR0xFZEJRMjVFTEV0QlFVc3NVVUZCVVVFc1JVRkJTVmtzUlVGQlRTeFRRVUZUTEVOQlEyeERMRWRCUlVzc1MwRkJTeXhqUVVGamQwTXNRMEZCVXl4RlFVRkZMME1zUTBGQlRTeERRVU0zUXl4RFFVRkRMRU5CUTBnc1EwRkZRU3hWUVVGVlF5eEZRVUZaTEVkQlFVMHNRMEZETVVJc1QwRkJUMGdzUjBGRFRDeExRVU5CTEU5QlEwRkhMRVZCUTBFc1NVRkJZMmRFTEVkQlEyUXNTVUZCVFN4RFFVZEtMRWRCUVVrc1EwRkJReXhMUVVGTExHTkJRV1VzUTBGRGRrSXNTVUZCVFRGRExFVkJRVThzUTBGQlJTeExRVUZOTEZWQlFWY3NWVUZCVnl4TFFVRk5MRVZCUTJwRUxFdEJRVXNzWTBGQlowSXNRMEZCUTFnc1JVRkJVeXhKUVVGSkxFdEJRVTBzUjBGQlNTeEhRVUZKTEVOQlFVTXNSVUZCUjBFc1JVRkJVeXhKUVVGSkxFdEJRVTBzUjBGQlNTeEhRVUZKTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUTJ4R1JDeEhRVUZQTEV0QlFVc3NVVUZCVVVFc1JVRkJTVmtzUlVGQlRTeFhRVUZYTEVOQlF6VkRMRU5CUTBZc1EwRkZRU3hQUVVGUExFdEJRVXNzWVVGRFpDeERRVU5HTEVOQlEwWXNRMEZGUVN4TFFVRkxVQ3hGUVVGUlF5eEZRVUZaTEVkQlFVMHNRMEZETjBJc1QwRkJUMGdzUjBGQlZTeExRVUZOUlN4RlFVRlJReXhGUVVGdFFtbEVMRWRCUVUwc1NVRkJUU3hEUVVNMVJDeEpRVUZOTTBNc1JVRkJUeXhEUVVGRkxFbEJRVXRRTEVOQlFVOHNSVUZKTTBJc1QwRkJTeXhMUVVGTExGTkJRVk5CTEVOQlFVMHNTVUZEZGtJc1MwRkJTeXhUUVVGVFFTeERRVUZOTEVWQlFVa3NRMEZCUTBvc1JVRkJVeXhKUVVGSkxFbEJRVXNzUlVGQlJ5eERRVUZETEVWQlFVZEJMRVZCUVZNc1NVRkJTU3hMUVVGTkxFVkJRVWNzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCUzBRc1IwRkRMMFVzUzBGQlN5eFJRVUZSUVN4RlFVRkpXU3hGUVVGTkxFdEJRVXNzUTBGRE9VSXNSMEZIU3l4TFFVRkxMRk5CUVZOUUxFTkJRVTBzUTBGRE4wSXNRMEZCUXl4RFFVTklMRU5CUlVFc1VVRkJVVXdzUlVGQlNXbENMRVZCUVZWMVF5eEZRVUZQTEVOQlF6TkNMRWxCUVUxRExFVkJRVXNzUzBGQlN5eFpRVUZaZWtRc1JVRkJTV2xDTEVOQlFWRXNSVUZEZEVONVF5eEZRVUZWUkN4RlFVRkhMR05CUVdNc1JVRkRNMEpGTEVWQlFWZEVMRVZCUVZFc1MwRkJUVVVzUjBGQlRVRXNSVUZCUlN4TFFVRkxMRmxCUVZrc1NVRkJUVW9zUTBGQlN5eEZRVU12UkN4UFFVRlBSeXhGUVVGWFFTeEZRVUZUTEUxQlFWRXNTVUZEY2tNc1EwRkZRU3huUWtGQlowSjZSaXhGUVVGUExFTkJRVU1zUlVGQlJ5eERRVWQ2UWl4UFFVRlBMRWxCUVVsNVF5eEhRVUZ2UWl4TFFVRkxMRXRCUVUxNlF5eEZRVUZMTEdGQlFXVXNTMEZCU3l4WlFVRmhRU3hEUVVGSkxFTkJRM1JHTEVOQlJVRXNXVUZCV1RoQ0xFVkJRVWxwUWl4RlFVRlhMRU5CUVVNc1JVRkJSeXhEUVVNM1FpeFBRVUZQTEVsQlFVbExMRWRCUVd0Q2RFSXNSVUZCU1N4TFFVRkxMRXRCUVUxcFFpeERRVUZSTEVOQlEzUkVMRU5CUlVFc1lVRkJZUzlETEVWQlFVOHNRMEZCUXl4RlFVRkhMRU5CUTNSQ0xFOUJRVThzU1VGQlNYbEVMRWRCUVdsQ0xFdEJRVXNzUzBGQlRTeExRVUZMTEZWQlFWVXNSVUZCUjNwRUxFTkJRVWtzUTBGREwwUXNRMEZGUVN4alFVRmpRU3hGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU4yUWl4UFFVRlBSaXhIUVVGWkxFdEJRVXNzUzBGQlRVVXNRMEZCU1N4RFFVTndReXhEUVVWQkxGZEJRVmtzUTBGRFZpeFBRVU5GTEV0QlFVc3NVMEZCVnl4TlFVTm9RaXhMUVVGTExFOUJRVThzV1VGQldTeEpRVUZOTEZOQlF6bENMRWxCUVVrc1MwRkJTeXhsUVVGbExFdEJRVXNzU1VGQlNTeEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxFOUJRVThzVjBGQlZ5eFBRVUZQTEVOQlJXeEdMRU5CUlVFc1QwRkJUekpHTEVWQlFVOHNRMEZEV2l4UFFVTkZMRXRCUVVzc1UwRkJWMEVzUlVGQlRTeFJRVU4wUWl4TFFVRkxMR3RDUVVGdlFrRXNSVUZCVFN4cFFrRkRMMElzUzBGQlN5eHBRa0ZCYlVKQkxFVkJRVTBzWTBGRmJFTXNRMEZEUml4RlEyeGlRU3hUUVVGVFF5eE5RVUZyUWtNc1JVRkJVeXhEUVVOc1F5eEpRVUZOUXl4RlFVRlBSQ3hGUVVGUkxFOUJRVThzUTBGQlEwVXNSVUZCUnl4SlFVRk5RU3hGUVVGSkxFVkJRVVVzVDBGQlVTeEZRVUZGTEVWQlEzUkVMRTlCUVU4c1QwRkJUeXhKUVVGSlJDeERRVUZKTEVkQlFVY3NRMEZETTBJc1EwRkZRU3hUUVVGVFJTeE5RVUZ4UWtNc1JVRkJXU3hEUVVONFF5eFBRVUZQUXl4SFFVTk1SQ3hGUVVOSExFOUJRME1zUTBGQlF5eERRVUZEUlN4RlFVRlpReXhGUVVGWlF5eERRVUZOTEVWQlFVZERMRWxCUVU4c1EwRkRlRU1zUjBGQlRTeERRVUZEUXl4RlFVRkxReXhGUVVGTlF5eERRVUZKTEVWQlFVbElMRVZCUVVkS0xFVkJRVWRITEVOQlFVMHNSVUZEZEVNc1RVRkJUeXhEUVVGRFN5eEpRVUZCTEVkQlFVdFFMRWRCUVdWSkxFZEJRVTlETEVkQlFWRktMRVZCUVZsTExFTkJRVWtzUTBGRE4wUXNSVUZEUVN4RFFVRkRMRU5CUVVNc1JVRkJSeXhMUVVGTkxFTkJRVU1zUTBGRFpDeEZRVU5ETEUxQlFVMHNSVUZCUnl4RFFVRkRMRU5CUTJwQ0xFTkJSVUVzVTBGQlUwVXNSMEZCVFVNc1MwRkJUVU1zUlVGQlZTeERRVU0zUWl4SFFVRkpSQ3hIUVVGTExFdEJRMUFzVFVGQlR5eERRVUZETEV0QlFVMHNTVUZCU1N4RlFVZHdRaXhQUVVGWExFTkJRVU5GTEVWQlFVOURMRU5CUVZNc1NVRkJTMFlzUlVGQlZTeERRVU42UXl4SlFVRk5XQ3hGUVVGSldTeEZRVUZOTEV0QlFVdEdMRU5CUVVNc1JVRkRkRUlzUjBGQlNWWXNSVUZEUml4UFFVRlBZU3hGUVVGVllpeERRVUZETEVOQlJYUkNMRU5CUTBFc1RVRkJUeXhEUVVGRExFdEJRVTBzU1VGQlNTeERRVU53UWl4RFFVVkJMRk5CUVZOakxFMUJRV1ZETEVWQlFVMHNRMEZETlVJc1RVRkJUeXhEUVVGRFF5eEZRVUZQWWl4SlFVRlhMRU5CUTNoQ0xFbEJRVTFqTEVWQlFVMHNRMEZCUXl4RlFVTlVReXhGUVVWS0xFbEJRVXRCTEVWQlFVa3NSVUZCUjBFc1JVRkJTVWdzUlVGQlN5eFBRVUZSUnl4SlFVTXpRa1FzUlVGQlNVWXNSVUZCUzBjc1EwRkJReXhEUVVGRExFVkJRVWxETEVkQlFXRklMRVZCUVUxaUxFVkJRVk5sTEVOQlFVTXNRMEZCUXl4RlFVVXZReXhOUVVGUExFTkJRVU5FTEVWQlFVc3NTMEZCVFdRc1JVRkJVMlVzUTBGQlF5eERRVU12UWl4RFFVTkdMRU5CUjBFc1NVRkJUVVVzUjBGQll5eHJRMEZEWkVNc1IwRkJhMElzVFVGQlRVUXNSMEZCV1N4TlFVRk5MRmRCUVZkRkxFZEJRVlVzVFVGQlRTeFhRVU55UlVNc1IwRkJiVUlzYzBSQlEyNUNReXhIUVVGbExFOUJRVThzUjBGQlIwUXNSMEZCYVVJc1RVRkJUU3hIUVVGSFJpeEZRVUZsTEVWQlFVVXNSVUZEY0VWSkxFZEJRWGRDTEU5QlFVOHNUMEZCVDBRc1IwRkJZU3hOUVVGTkxFbEJRVWtzUlVGRE4wUkZMRWRCUVdNc09FTkJRMlJETEVkQlFXVXNPRUpCUTJaRExFZEJRV3RDTEcxQ1FVTnNRa01zUjBGQmNVSm1MRWRCUVZrc1YwRkJXU3hoUVVGakxGTkJRVk1zUlVGRGNFVm5RaXhIUVVGM1FtaENMRWRCUVZrc1QwRkJVU3hUUVVGVExFVkJRM0pFYVVJc1IwRkJZeXgzUWtGRFpFTXNSMEZCWlN4UFFVTnVRaXhIUVVGSFZDeEhRVUZwUWl4TlFVRk5MRkZCUVZGSUxFZEJRVmtzVFVGQlRTeExRVUZMUlN4SFFVRlZMRTFCUVUwc1MwRkRNMFVzUlVGRFRWY3NSMEZCZDBJc1QwRkJUeXhQUVVGUFJDeEhRVUZoTEUxQlFVMHNTVUZCU1N4RlFVVnVSU3hUUVVGVFJTeEhRVUZKYkVJc1JVRkJUMjFDTEVWQlFVdERMRVZCUVZVc1EwRkRha01zU1VGQlRYQkRMRVZCUVVsblFpeEZRVUZOYlVJc1EwRkJSeXhGUVVOdVFpeFBRVUZQUlN4RlFVRlpja01zUTBGQlF5eEZRVUZKYjBNc1JVRkJWMnBDTEVkQlFXRnVRaXhEUVVGRExFTkJRMjVFTEVOQlJVRXNVMEZCVTNORExFZEJRV04wUWl4RlFVRlBZaXhGUVVGUkxFTkJUM0JETEUxQlFVOHNRMEZPVFN4RFFVTllMRXRCUVUwclFpeEhRVUZKYkVJc1JVRkJUMklzUTBGQlRTeEZRVU4yUWl4TlFVRlBLMElzUjBGQlNXeENMRVZCUVU5aUxFVkJRVk1zUlVGQlJ5eERRVUZETEVWQlF5OUNMRWxCUVVzclFpeEhRVUZKYkVJc1JVRkJUMklzUlVGQlV5eEZRVUZITEVOQlFVTXNRMEZETDBJc1JVRkZZeXhMUVVGTlFTeEZRVUZUTEVOQlFVTXNRMEZEYUVNc1EwRkZRU3hUUVVGVGIwTXNSMEZCWlhaQ0xFVkJRVTlpTEVWQlFWRXNRMEZSY2tNc1RVRkJUeXhEUVZCTkxFTkJRMWdzVFVGQlR5dENMRWRCUVVsc1FpeEZRVUZQWWl4RlFVRlJMRU5CUVVNc1JVRkRNMElzVVVGQlV5dENMRWRCUVVsc1FpeEZRVUZQWWl4RlFVRlRMRVZCUVVjc1EwRkJReXhGUVVOcVF5eFJRVUZUSzBJc1IwRkJTV3hDTEVWQlFVOWlMRVZCUVZNc1JVRkJSeXhEUVVGRExFVkJRMnBETEdGQlFXTnhReXhIUVVGWmVFSXNSVUZCVFdJc1JVRkJVeXhEUVVGRExFTkJRVU1zUTBGRE4wTXNSVUZGWXl4TFFVRk5RU3hGUVVGVExFTkJRVU1zUTBGRGFFTXNRMEZGUVN4VFFVRlRjME1zUjBGQmFVSjZRaXhGUVVGUFlpeEZRVUZSTEVOQlEzWkRMRWxCUVUxMVF5eEZRVUZSTEVOQlFVTXhRaXhGUVVGTllpeERRVUZOTEVkQlFVc3NRMEZCUTJFc1JVRkJUV0lzUlVGQlV5eERRVUZETEVWQlF5OURkME1zUlVGQllVTXNSMEZCWVRWQ0xFVkJRVTFpTEVWQlFWTXNRMEZCUXl4RlFVRkhZU3hGUVVGTllpeEZRVUZUTEVOQlFVTXNRMEZCUXl4RlFVTTVSRWNzUlVGQlQyOURMRVZCUVZFc1MwRkJUMGNzUjBGQlowSXNVMEZCVTBZc1EwRkJWU3hGUVVNelJDeE5RVUZQTEVOQlFVTXNRMEZCUXl4RlFVRkhja01zUlVGQlRVZ3NSVUZCVXl4RFFVRkRMRU5CUXpsQ0xFTkJSVUVzVTBGQlV6SkRMRWRCUVdkQ09VSXNSVUZCVDJJc1JVRkJVU3hEUVVOMFF5eEpRVUZOUnl4RlFVRlBWU3hGUVVGTllpeERRVUZOTEVWQlFVazBReXhIUVVGVExFOUJRVTh2UWl4RlFVRk5ZaXhEUVVGTkxFTkJRVU1zUlVGQlNTeExRVU01UkN4TlFVRlBMRU5CUVVNc1EwRkJReXhGUVVGSFJ5eEZRVUZOU0N4RlFVRlRMRU5CUVVNc1EwRkRPVUlzUTBGSlFTeEpRVUZOTmtNc1IwRkJZeXhQUVVGUExFMUJRVTE2UWl4SFFVRnBRaXhOUVVGTkxFZEJRVWNzUlVGSmNrUXdRaXhIUVVGakxDdFFRVVZ3UWl4VFFVRlRReXhIUVVGdFFteERMRVZCUVU4c1EwRkRha01zUjBGQlRTeERRVU5LVGl4RlFVTkJlVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNRMEZEUml4RlFVRkpNVU1zUlVGRlJUSkRMRVZCUVc5Q2FrUXNSVUZCUlN4RFFVRkRMRWxCUVUwc1NVRkROMEpyUkN4RlFVRnJRa2dzUjBGQllVRXNSVUZCVlN4RFFVRkRMRWxCUVUwc1NVRkZhRVJKTEVWQlFXTXNRMEZCUTBNc1JVRkJTME1zUlVGQlVTeExRVU5vUTBRc1NVRkJVU3hUUVVGalF5eEhRVUZWUkN4SFFVRlBTQ3hIUVVGelFpeERRVUZEUnl4RlFVRk5RU3hGUVVWMFJTeE5RVUZQTEVOQlEwd3NRMEZEUlN4TlFVRlBSQ3hGUVVGWlJ5eEhRVUZqWWl4RFFVRlBMRU5CUVVNc1JVRkRla01zVDBGQlVWVXNSVUZCV1Vjc1IwRkJZMW9zUTBGQlVTeERRVUZETEVWQlF6TkRMRTFCUVU5VExFVkJRVmxITEVkQlFXTllMRU5CUVU4c1EwRkJReXhGUVVONlF5eExRVUZOVVN4RlFVRlpSeXhIUVVGalZpeERRVUZOTEVOQlFVTXNSVUZEZGtNc1RVRkJUMDhzUlVGQldVY3NSMEZCWTFRc1EwRkJUeXhEUVVGRExFVkJRM3BETEZGQlFWTk5MRVZCUVZsSExFZEJRV05TTEVOQlFWTXNRMEZCUXl4RlFVTTNReXhSUVVGVFN5eEZRVUZaUnl4SFFVRmpVQ3hEUVVGVExFVkJRVWRCTEVsQlFXTXNTVUZCU1N4RlFVTnFSU3hoUVVGalNTeEZRVUZaY2tJc1IwRkJXV3RDTEVOQlFXVXNSVUZCUjBVc1EwRkJaU3hEUVVONlJTeERRVU5HTEVOQlEwWXNRMEZMUVN4SlFVRk5TeXhIUVVGaExFTkJRMnBDTEVsQlFVc3NSVUZEVEN4SlFVRkxMRWRCUVVzc1IwRkRWaXhKUVVGTExFZEJRVXNzUjBGRFZpeEpRVUZMTEVkQlFVc3NSMEZEVml4SlFVRkxMRWRCUVVzc1IwRkRWaXhKUVVGTExFZEJRVXNzUjBGRFZpeEpRVUZMTEVkQlFVc3NSMEZEVml4SlFVRkxMRWRCUVVzc1IwRkRWaXhKUVVGTExFZEJRVXNzUlVGRFdpeEZRVVZCTEZOQlFWTkRMRWRCUVZsRExFVkJRVmxvUWl4RlFVRlRReXhGUVVGVlJTeEZRVUZSUXl4RlFVRlRReXhGUVVGWFF5eEZRVUZYTEVOQlEzcEdMRWxCUVUxWExFVkJRVk1zUTBGRFlpeExRVUZOYWtJc1JVRkJVU3hUUVVGWExFVkJRVWxyUWl4SFFVRmxiRVFzUjBGQllXZERMRU5CUVU4c1EwRkJReXhGUVVGSmFFTXNSMEZCWVdkRExFTkJRVThzUlVGRGVrWXNUVUZCWlcxQ0xFZEJRVmtzVVVGQlVXeENMRU5CUVZFc1JVRkJTU3hGUVVNdlF5eEpRVUZMYWtNc1IwRkJZVzFETEVOQlFVMHNSVUZEZUVJc1MwRkJUVzVETEVkQlFXRnZReXhEUVVGUExFVkJRekZDTEU5QlFWRndReXhIUVVGaGNVTXNRMEZCVXl4RFFVTm9ReXhGUVVWQkxFOUJRVWxETEVsQlFWZFhMRVZCUVU4c1QwRkJVMnBFTEVkQlFXRnpReXhEUVVGVExFZEJRMnBFVlN4SlFVTkdReXhGUVVGUExGRkJRMHhFTEVWQlFWY3NUMEZCVXl4RlFVTlNTU3hIUVVGaExGRkJRVkZLTEVOQlFWVXNSVUZCU1N4RlFVTnVRMHNzUjBGQll5eFJRVUZSVEN4RFFVRlZMRVZCUVVrc1IwRkhOME5ETEVOQlExUXNRMEZIUVN4SlFVRk5TeXhIUVVGVkxHdE5RVVZvUWl4VFFVRlRReXhIUVVGbE1VUXNSVUZCVHl4RFFVTTNRaXhIUVVGTkxFTkJRMFlzUTBGRFFXMUVMRVZCUTBGaUxFVkJRMEZHTEVWQlEwRkVMRVZCUTBGSkxFVkJRMEZETEVWQlEwRkRMRVZCUTBGclFpeEZRVU5CUXl4RlFVTkJReXhGUVVOQlF5eERRVU5HTEVWQlFVazVSQ3hGUVVOS2IwUXNSVUZCVTBZc1IwRkJXVU1zUlVGQldXaENMRVZCUVZORExFVkJRVlZGTEVWQlFWRkRMRVZCUVZORExFVkJRVmRETEVOQlFWTXNSVUZGZGtaelFpeEZRVU5LTEU5QlFVbEtMRVZCUTBaSkxFVkJRVk5rTEVkQlFWZFZMRU5CUVZNc1JVRkRjRUpETEVWQlExUkhMRVZCUVZNc1JVRkZWRUVzUlVGQlUyNURMRWRCUVdGcFF5eEZRVUZaUXl4RFFVRlpMRVZCUjNwRExFTkJRVU5XTEVWQlFWRXNTVUZCU1haQ0xFZEJRV2RDYTBNc1EwRkJUU3hEUVVGRExFTkJRemRETEVOQlJVRXNVMEZCVTBNc1IwRkJhMEowUlN4RlFVRkhMRU5CUlRWQ0xFOUJRVTlCTEVWQlEwb3NVVUZCVVN4eFFrRkJjMElzUjBGQlJ5eEZRVU5xUXl4UlFVRlJMRmRCUVZrc1IwRkJSeXhGUVVOMlFpeExRVUZMTEVOQlExWXNRMEZKUVN4SlFVRk5kVVVzUjBGQlZTdzJTRUZEWkVNc1IwRkJVeXg1U2tGRFZFTXNSMEZCVVN3MFNFRkZWaXhUUVVGVFF5eEhRVUZ2UW5CRkxFVkJRVThzUTBGRGJFTXNSMEZCVFN4RFFVRkRMRU5CUVVWdFJDeEZRVUZaWWl4RlFVRlJSaXhGUVVGVlJDeEZRVUZUU1N4RlFVRlRReXhGUVVGWFF5eERRVUZUTEVWQlFVbDZReXhGUVVWcVJpeE5RVUZQTEVOQlJFbHJSQ3hIUVVGWlF5eEZRVUZaYUVJc1JVRkJVME1zUlVGQlZVVXNSVUZCVVVNc1JVRkJVME1zUlVGQlYwTXNRMEZCVXl4RlFVTXpSVm9zUjBGQlowSXNWMEZCVnl4RFFVTTNReXhEUVVWQkxGTkJRVk4zUXl4SFFVRmhja1VzUlVGQlR5eERRVU16UWl4SFFVRk5MRU5CUVVNc1EwRkJSVzFFTEVWQlFWbG1MRVZCUVZWRkxFVkJRVkZETEVWQlFWTkRMRVZCUVZkRExFVkJRVmRPTEVOQlFVOHNSVUZCU1c1RExFVkJSV3BHTEUxQlFVOHNRMEZFU1d0RUxFZEJRVmxETEVWQlFWbG9RaXhGUVVGVFF5eEZRVUZWUlN4RlFVRlJReXhGUVVGVFF5eEZRVUZYUXl4RFFVRlRMRVZCUXpORldpeEhRVUZuUWl4WFFVRlhMRU5CUXpkRExFTkJSVUVzU1VGQlRYbERMRWRCUVN0Q05VWXNSMEZCWldkRExFZEJRV0ZFTEVWQlFYRkNMRVZCUTJoR09FUXNSMEZCWjBNM1JpeEhRVUZsYVVNc1IwRkJZMFlzUlVGQmNVSXNSVUZEYkVZclJDeEhRVUZ0UXpsR0xFZEJRV1ZyUXl4SFFVRnBRa2dzUlVGQmNVSXNSVUZEZUVablJTeEhRVUYxUWk5R0xFZEJRV1U0UWl4RlFVRlpMRVZCUld4RWEwVXNSMEZCTmtJMVJpeEhRVU5xUTNkRExFZEJRMEZETEVkQlEwRkZMRWRCUTBGTExFVkJRMFlzUlVGRFRUWkRMRWRCUVRoQ04wWXNSMEZEYkVNclFpeEhRVU5CVlN4SFFVTkJSU3hIUVVOQlN5eEZRVU5HTEVWQlEwMDRReXhIUVVFclFqbEdMRWRCUTI1RFowTXNSMEZEUVZNc1IwRkRRVVVzUjBGRFFVc3NSVUZEUml4RlFVTk5LME1zUjBGQk1FSXZSaXhIUVVNNVFubERMRWRCUTBGRkxFZEJRMEZMTEVWQlEwWXNSVUZOVHl4VFFVRlRaMFFzUjBGQllYQkdMRVZCUVVjc1EwRkRPVUlzVDBGQlQwUXNSMEZEVEVNc1JVRkRRU3hEUVVGRE5FVXNSMEZCT0VKSkxFVkJRVEJDTEVWQlEzcEVMRU5CUVVOSUxFZEJRU3RDU1N4RlFVRXlRaXhGUVVNelJDeERRVUZEU0N4SFFVRnJRMGtzUlVGQk5FSXNSVUZETDBRc1EwRkJRMGdzUjBGQmMwSkpMRVZCUVhWQ0xFTkJRMmhFTEVOQlEwWXNRMEZGVHl4VFFVRlRSU3hIUVVGcFFuSkdMRVZCUVVjc1EwRkRiRU1zVDBGQlQwUXNSMEZCVFhWRkxFZEJRV3RDZEVVc1EwRkJReXhGUVVGSExFTkJRVU1yUkN4SFFVRlRReXhGUVVGakxFTkJRVU1zUTBGRE9VUXNRMEZGVHl4VFFVRlRjMElzUjBGQlkzUkdMRVZCUVVjc1EwRkRMMElzVDBGQlQwUXNSMEZEVEVNc1JVRkRRU3hEUVVGRGRVVXNSMEZCVTBjc1JVRkJiVUlzUlVGRE4wSXNRMEZCUTBZc1IwRkJVVVVzUlVGQmJVSXNSVUZETlVJc1EwRkJRMFFzUjBGQlQwVXNSVUZCV1N4RFFVTjBRaXhEUVVOR0xFTkJSVThzVTBGQlUxa3NSMEZCYVVKMlJpeEZRVUZITEVOQlEyeERMRTlCUVU5RUxFZEJRVTFETEVWQlFVY3NRMEZCUTNWRExFZEJRV0ZETEVWQlFXdENMRU5CUVVNc1EwRkRia1FzUTBGRlFTeEpRVUZOWjBRc1IwRkJjVUp3Unl4SFFVRnJRbmxETEVWQlFXTXNSVUZGY0VRc1UwRkJVelJFTEVkQlFXbENla1lzUlVGQlJ5eERRVU5zUXl4UFFVRlBSQ3hIUVVGTlF5eEZRVUZITEVOQlFVTnpReXhIUVVGaGEwUXNSVUZCYTBJc1EwRkJReXhEUVVOdVJDeERRVVZCTEVsQlFVMUZMRWRCUVN0Q01VY3NSMEZCWlhGRExFZEJRV0ZGTEVWQlFYRkNMRVZCUTJoR2IwVXNSMEZCZFVJelJ5eEhRVUZsYzBNc1JVRkJXU3hGUVVWc1JITkZMRWRCUVd0RGVFY3NSMEZEZEVONVF5eEhRVU5CUlN4SFFVTkJTeXhGUVVOR0xFVkJSVThzVTBGQlUzbEVMRWRCUVZNM1JpeEZRVUZITEVOQlF6RkNMRTlCUVU5RUxFZEJRMHhETEVWQlEwRXNRMEZCUXpCR0xFZEJRVGhDVml4RlFVRXdRaXhGUVVONlJDeERRVUZEVnl4SFFVRnpRa01zUlVGQkswSXNRMEZEZUVRc1EwRkRSaXhEUTJ4VlFTeEpRVUZOUlN4SFFVRlZMRzFDUVVkSVF5eEhRVUZwUWl4RFFVTXhRaXhOUVVGUExFTkJRMHdzUzBGQlRTeEZRVU5PTEUxQlFVOHNSVUZCU1N4SFFVTllMRkZCUVZNc1JVRkJTU3hIUVVGTExFZEJRMnhDTEZGQlFWTXNSVUZCU1N4SFFVRkxMRWRCUVVzc1IwRkRka0lzWVVGQll5eEZRVUZKTEVkQlFVc3NSMEZCU3l4SFFVRkxMRWRCUTI1RExFVkJRMEVzUzBGQlRTeERRVU5LTEUxQlFVOHNSMEZEVUN4UlFVRlRMRWRCUVVzc1IwRkRaQ3hSUVVGVExFZEJRVXNzUjBGQlN5eEhRVU51UWl4aFFVRmpMRWRCUVVzc1IwRkJTeXhIUVVGTExFZEJReTlDTEVWQlEwRXNUVUZCVHl4RFFVRkZMRkZCUVZNc1IwRkJTU3hSUVVGVExFZEJRVXNzUjBGQlNTeGhRVUZqTEVkQlFVc3NSMEZCU3l4SFFVRkxMRVZCUTNKRkxGRkJRVk1zUTBGQlJTeFJRVUZUTEVkQlFVa3NZVUZCWXl4SFFVRkxMRWRCUVVzc1JVRkRhRVFzVVVGQlV5eERRVUZGTEdGQlFXTXNSMEZCU3l4RFFVTm9ReXhGUVVOQlF5eEhRVUZsUXl4RlFVRkJMRU5CUTJJc1RVRkJUeXhEUVVOTUxGTkJRVlVzUlVGRFZpeFBRVUZSTEVkQlExSXNUVUZCVHl4SFFVTlFMRXRCUVUwc1NVRkRUaXhOUVVGUExFbEJRVTBzUjBGRFlpeFJRVUZUTEVsQlFVMHNSMEZCU3l4SFFVTndRaXhSUVVGVExFbEJRVTBzUjBGQlN5eEhRVUZMTEVkQlEzcENMR0ZCUVdNc1NVRkJUU3hIUVVGTExFZEJRVXNzUjBGQlN5eEhRVU55UXl4RlFVTkJMRk5CUVZVc1EwRkRVaXhQUVVGUkxFVkJRMUlzVFVGQlR5eEhRVU5RTEV0QlFVMHNSMEZEVGl4TlFVRlBMRWRCUVVzc1IwRkRXaXhSUVVGVExFZEJRVXNzUjBGQlN5eEhRVU51UWl4UlFVRlRMRWRCUVVzc1IwRkJTeXhIUVVGTExFZEJRM2hDTEdGQlFXTXNSMEZCU3l4SFFVRkxMRWRCUVVzc1IwRkJTeXhIUVVOd1F5eEZRVU5CTEU5QlFWRXNRMEZEVGl4TlFVRlBMRVZCUTFBc1MwRkJUU3hIUVVOT0xFMUJRVThzUjBGQlN5eEhRVU5hTEZGQlFWTXNSMEZCU3l4SFFVRkxMRWRCUTI1Q0xGRkJRVk1zUjBGQlN5eEhRVUZMTEVkQlFVc3NSMEZEZUVJc1lVRkJZeXhIUVVGTExFZEJRVXNzUjBGQlN5eEhRVUZMTEVkQlEzQkRMRWRCUlVkR0xFbEJSVXhITEVkQlFYRkNMRTlCUVZjc1NVRkRhRU5ETEVkQlFYTkNMRTlCUVZjc1MwRkRha05ETEVkQlFXbENTQ3hGUVVGQkxFTkJRMllzVFVGQlR5eERRVU5NTEZOQlFWVXNSVUZEVml4UFFVRlJMRWRCUTFJc1RVRkJUME1zUjBGQmNVSXNSVUZETlVJc1MwRkJUVUVzUjBGRFRpeE5RVUZQUVN4SFFVRnhRaXhIUVVNMVFpeFJRVUZUUVN4SFFVRnhRaXhIUVVGTExFZEJRMjVETEZGQlFWTkJMRWRCUVhGQ0xFZEJRVXNzUjBGQlN5eEhRVU40UXl4aFFVRmpRU3hIUVVGeFFpeEhRVUZMTEVkQlFVc3NSMEZCU3l4SFFVTndSQ3hGUVVOQkxGTkJRVlVzUTBGRFVpeFBRVUZSTEVWQlExSXNUVUZCVDBFc1IwRkJjVUlzUjBGRE5VSXNTMEZCVFVFc1IwRkJjVUlzUlVGRE0wSXNUVUZCVVVFc1IwRkJjVUlzUjBGQlRTeEZRVU51UXl4UlFVRlZRU3hIUVVGeFFpeEhRVUZMTEVkQlFVMHNSVUZETVVNc1VVRkJWVUVzUjBGQmNVSXNSMEZCU3l4SFFVRkxMRWRCUVUwc1JVRkRMME1zWVVGQlpVRXNSMEZCY1VJc1IwRkJTeXhIUVVGTExFZEJRVXNzU1VGQlVTeERRVU0zUkN4RlFVTkJMRTlCUVZFc1EwRkRUaXhOUVVGUFF5eEhRVUZ6UWl4RlFVTTNRaXhMUVVGTlFTeEhRVU5PTEUxQlFVOUJMRWRCUVhOQ0xFZEJRemRDTEZGQlFWTkJMRWRCUVhOQ0xFZEJRVXNzUjBGRGNFTXNVVUZCVTBFc1IwRkJjMElzUjBGQlN5eEhRVUZMTEVkQlEzcERMR0ZCUVdOQkxFZEJRWE5DTEVkQlFVc3NSMEZCU3l4SFFVRkxMRWRCUTNKRUxFZEJRMGRLTEVsQlNVUk5MRWRCUVdVc1EwRkRia0lzVVVGRFFTeFhRVU5CTEZOQlEwRXNVVUZEUVN4UFFVTkJMRkZCUTBFc1ZVRkRRU3hWUVVOQkxHTkJRMFlzUlVGRlRVTXNSMEZCWlVRc1IwRkJZU3hOUVVGTkxFTkJRVU1zUlVGQlJTeFJRVUZSTEVWQlIyNUVMRk5CUVZORkxFZEJRVTFETEVWQlFVdERMRVZCUVUxRExFVkJRVkVzUjBGQlR5eERRVVYyUXl4SlFVRk5ReXhGUVVGUExFTkJRMWdzVDBGQlVVUXNSVUZCVVVRc1JVRkJTeXhQUVVGVFVpeEpRVUZCTEVkQlFVdFBMRVZCUVVrc1VVRkJXVU1zUlVGQlN5eFJRVUZWTEVOQlFVTXNSMEZEYmtVc1NVRkJTMFFzUlVGQlNTeEpRVUZKTEUxQlFVMURMRVZCUVVzc1IwRkJSeXhGUVVNelFpeHRRa0ZCYjBKQkxFVkJRVXNzYjBKQlFYTkNSQ3hGUVVGSkxHdENRVU55UkN4RlFVTkJMRTlCUVU4c1NVRkJTVWtzUlVGQlUwUXNRMEZCU1N4RFFVTXhRaXhEUVVWQkxGTkJRVk5GTEVkQlFWVXNSVUZCUnl4RFFVTndRaXhQUVVGUExFVkJRVWtzUlVGQlNTeExRVUZMTEUxQlFVMHNRMEZCUXl4RlFVRkpMRXRCUVVzc1MwRkJTeXhEUVVGRExFTkJRelZETEVOQlIwRXNVMEZCVTBNc1IwRkJVVU1zUlVGQlVVTXNSVUZCVTBNc1JVRkJWVU1zUlVGQlQwTXNSVUZCVVN4RFFVTjZSQ3hKUVVGTlF5eEZRVUZQVEN4RlFVRlBTU3hEUVVGTkxFVkJRVVZHTEVOQlFWRXNSVUZEYkVOSkxFVkJRVTFNTEVWQlFWRkRMRU5CUVZFc1JVRkJTVWNzUlVGRE1VSkZMRVZCUVZjc1MwRkJTeXhMUVVGTFJDeERRVUZITEVsQlFVMHNTMEZCU3l4TFFVRkxTQ3hGUVVGTlF5eERRVUZOTEVOQlFVTXNSVUZGY2tSSkxFVkJRMFVzUTBGQlEwUXNSMEZCV1Vvc1JVRkJUVU1zUTBGQlRTeEpRVUZOTEVkQlFVc3NTMEZCU3l4SlFVRkpSU3hEUVVGSExFZEJRVXNzUlVGQlNWSXNSMEZCVlZFc1EwRkJSeXhGUVVGSkxFdEJRVXNzVFVGQlRVRXNRMEZCUnl4RlFVTTFSa2dzUlVGQlRVTXNRMEZCVFN4SFFVRkxTU3hGUVVOcVFsQXNSVUZCVVVNc1EwRkJVU3hIUVVGTFRTeEZRVUZSU0N4RFFVTXZRaXhEUVVkQkxGTkJRVk5KTEVkQlFXZENWQ3hGUVVGUlZTeEZRVUZOTEVOQlEzSkRia0lzUjBGQllTeFBRVUZQTEVOQlFVTnZRaXhGUVVGVlF5eEpRVU40UWtNc1JVRkJXVWdzUlVGQlMwVXNRMEZCVHl4RFFVRkRMRVZCVFhKQ1JDeEhRVXhJUVN4SFFVTkdXaXhIUVVGUlF5eEZRVUZSVlN4RlFVRk5ReXhGUVVGVlJDeEZRVUZOUlN4RFFVRlBMRVZCUlhoRFFTeEhRVWxTTEVsQlFVa3NRMEZEVkN4RFFXVkJMRWxCUVhGQ1ppeEZRVUZ5UWl4TlFVRnhRbWxDTEVOQlFWTXNRMEZKTlVJc1dVRkJXVU1zUlVGQlVTeERRVU5zUWl4SlFVRk5ReXhGUVVGWFJDeEZRVUZQTEhGQ1FVRjFRaXhaUVVGakxFZEJTVGRFTEV0QlFVc3NUMEZCVTBFc1JVRkJUeXhQUVVseVFpeExRVUZMTEVsQlFVMUJMRVZCUVU4c1MwRkJUMFVzUjBGQlR5eFBRVUZQTEVWQlNYWkRMRXRCUVVzc2JVSkJRWEZDUkN4RlFVRlhMRmRCUVdFc1UwRkpiRVFzUzBGQlN5eFJRVUZWUkN4RlFVRlBMRk5CUVZjc1MwRkpha01zUzBGQlN5eFBRVUZUUXl4RlFVRlhNMElzUjBGQmFVSktMRWRCU1RGRExFdEJRVXNzWjBKQlFXdENMRVZCUTNwQ0xFTkJWMEVzVDBGQlR5eFhRVUZYYVVNc1JVRkJUME1zUlVGQlRTeERRVU0zUWl4UFFVRlBUQ3hGUVVGVExGZEJRVmNzUTBGQlJTeGhRVUZqU1N4RFFVRk5MRVZCUVVkRExFTkJRVWtzUTBGRE1VUXNRMEZ4UWtFc1QwRkJUeXhYUVVGWFF5eEZRVUZMUkN4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVOb1F5eEhRVUZKUXl4SFFVRlBMRTFCUVZFc1QwRkJUMEVzUjBGQlVTeFRRVU5vUXl4TlFVRk5MRWxCUVVsRExFZEJRMUlzSzBSQlEwVkVMRWxCUVZFc1MwRkJUeXhQUVVGVExFOUJRVTlCTEVOQlEycERMRVZCUTBZc1JVRkhSaXhQUVVGUExFbEJRVWxPTEVWQlFWTXNRMEZEYkVJc1QwRkJVVkVzUjBGQlowSkdMRVZCUVV0T0xFVkJRVk1zWVVGQllTeEZRVU51UkN4SlFVRkxSeXhIUVVGUExGZEJRVmRGTEVOQlFVa3NSVUZETTBJc2JVSkJRVzlDUVN4RlFVRkxMR3RDUVVNelFpeERRVUZETEVOQlEwZ3NRMEZaUVN4UFFVRlBMR2xDUVVGcFFra3NSVUZCWXl4RFFVTndReXhIUVVGSlF5eEhRVUZUUkN4RFFVRlpMRVZCUTNaQ0xFOUJRVTlVTEVWQlFWTXNWMEZCVjFNc1EwRkJXU3hGUVVOc1F5eEhRVUZKVkN4RlFVRlRMRmRCUVZkVExFTkJRVmtzUlVGRGVrTXNUMEZCVDBFc1JVRkRSaXhIUVVGSkxFOUJRVTlCTEVkQlFXbENMRk5CUTJwRExFOUJRVTlVTEVWQlFWTXNWMEZCVjFNc1EwRkJXU3hGUVVWMlF5eE5RVUZOTEVsQlFVbEdMRWRCUTFJc05rSkJRVFpDUlN4RFFVRlpMRmxCUVZrc1QwRkJUMEVzUTBGQldTeEZRVU14UlN4RFFVVktMRU5CWlVFc1QwRkJUeXhSUVVGUlJTeEZRVUZOVGl4RlFVRk5MRU5CUTNwQ0xFZEJRVTBzUTBGQlEwOHNRMEZCVFN4RlFVRkpReXhIUVVGcFFrWXNRMEZCU1N4RlFVTjBReXhQUVVGSlF5eEZRVU5MV2l4RlFVRlRMRmRCUVZkWkxFVkJRVkZRTEVOQlFVa3NSVUZGYUVOTUxFVkJRVk1zVVVGQlVTeGhRVUZqTEdOQlFXTlhMRU5CUVVrc0swSkJRU3RDTEVOQlJUTkdMRU5CYVVKQkxFOUJRVThzV1VGQldVRXNSVUZCVFU0c1JVRkJUU3hEUVVNM1FpeEhRVUZOTEVOQlFVTlBMRU5CUVUwc1JVRkJTVVVzUjBGQmFVSklMRU5CUVVrc1JVRkRkRU1zVDBGQlNVTXNSVUZEUzFvc1JVRkJVeXhYUVVGWFdTeEZRVUZSVUN4RFFVRkpMRVZCUldoRFRDeEZRVUZUTEZGQlFWRXNZVUZCWXl4alFVRmpWeXhEUVVGSkxDdENRVUVyUWl4RFFVVXpSaXhEUVZGQkxFOUJRVThzVVVGQlVVa3NSVUZCVVVNc1JVRkJZeXhMUVVGTkxFTkJRM3BETEVkQlFVa3NRMEZCUTBRc1JVRkRTQ3hOUVVGTkxFbEJRVWxTTEVkQlFYRkNMR3RFUVVGclJDeEZRVWR1Uml4SlFVRk5WU3hGUVVGVlJpeGhRVUZyUWtjc1IwRkJWVWdzUlVGQlV5eEpRVUZKUnl4SFFVRlJTQ3hGUVVGUlF5eERRVUZYTEVWQlJYQkdMRWRCUVVsSExFVkJRVk1zWlVGRFdDeE5RVUZOTEVsQlFVbERMRWRCUVhGQ1NDeERRVUZQTEVWQlJYUkRMRTlCUVU4c1NVRkJTV3BDTEVWQlFWTXNRMEZCUlN4UlFVRkJhVUlzUTBGQlVTeERRVUZETEVOQlJXNURMRU5CUzBFc1QwRkJUeXhqUVVGalNTeEZRVUZOTEVOQlEzcENMRWxCUVUxRExFVkJRV0VzUTBGRGFrSXNTMEZCVFN4UlFVTk9MRTFCUVU4c1VVRkRVQ3hSUVVGVExGZEJRMVFzVTBGQlZTeFhRVU5XTEUxQlFVOHNVMEZEVUN4UFFVRlJMRk5CUTFJc1MwRkJUU3hSUVVOT0xFMUJRVThzVVVGRFVDeEpRVUZMTEU5QlEwd3NTMEZCVFN4UFFVTk9MRXRCUVUwc1VVRkRUaXhOUVVGUExGRkJRMUFzVDBGQlVTeFZRVU5TTEZGQlFWTXNWVUZEVkN4UFFVRlJMRlZCUTFJc1VVRkJVeXhWUVVOVUxGbEJRV0VzWlVGRFlpeGhRVUZqTEdOQlEyaENMRVZCUVVWRUxFZEJRVTlCTEVWQlFVc3NXVUZCV1N4RFFVRlJMRVZCUld4RExFZEJRVWtzUTBGQlEwTXNSVUZCV1N4TlFVRk5MRWxCUVVsRExFZEJRV2xDUml4RFFVRkpMRVZCUldoRUxFOUJRVTlETEVOQlExUXNRMEZQUVN4UFFVRlBMRmRCUVZkRkxFVkJRVWNzUTBGRGJrSXNUMEZCVVVFc1IwRkJTMEVzUlVGQlJTeHBRa0ZCYjBJc1JVRkRja01zUTBGTlFTeEpRVUZKTEZGQlFWTXNRMEZEV0N4UFFVRlBMRXRCUVVzc1VVRkJWU3hMUVVGTExFbEJRVWtzVDBGQlV5eEpRVU14UXl4RFFVOUJMRWxCUVVrc2FVSkJRV3RDTEVOQlEzQkNMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzU1VGQlNTeG5Ra0ZCYTBJc1NVRkRia1FzUTBGM1FrRXNVMEZCVTBNc1JVRkJTM0JDTEVWQlFVOHNRMEZCUXl4RlFVRkhMRU5CUlhaQ0xFbEJRVTF4UWl4RlFVRlZReXhIUVVGQmRrUXNSVUZCUVN4SFFVTllhVU1zUjBGRVZ5eERRVVZrTEUxQlFVOUJMRVZCUVVzc1VVRkJWU3hKUVVGVFFTeEZRVUZMTEZGQlFWVXNSVUZEYUVRc1IwRkRRU3hQUVVGUExFdEJRVXNzVVVGRFVuVkNMRWRCUVZVc1QwRkJUeXhMUVVGTExFbEJRVXRHTEVOQlFVOHNSVUZCUlN4NVFrRkJlVUlzUzBGQlRVUXNRMEZCUnl4RlFVTjBSWGhFTEVWQlEwNHNRMEZsUVN4UlFVRlJiME1zUlVGQlR5eERRVUZETEVWQlFVY3NRMEZEYWtJc1NVRkJUWGRDTEVWQlFVbHlSQ3hIUVVOUUxFbEJRVXMyUXl4SFFVRlRMRU5CUTJJc1NVRkJUVk1zUlVGQlRTeExRVUZMTEU5QlFVOVVMRU5CUVVrc1JVRkROVUlzVDBGQlNYUkNMRVZCUVZrclFpeERRVUZITEVWQlExWXNTMEZGUml4TFFVRkxMRWxCUTFRc1owSkJRV2RDU0N4SFFVRkJka1FzUlVGQlFTeERRVUZGTEUxQlFVOHNUMEZCVVN4WlFVRmhMRkZCUVZkcFF5eEhRVUY2UXl4RFFVRXJReXhMUVVGTlowSXNSVUZCU3l4TlFVRk5MRVZCUVVjc1JVRkJSU3hEUVVGRkxFVkJRVU1zUlVGRGVFWXNUMEZCVDFNc1EwRkJSeXhEUVVObUxFTkJRVU1zUlVGRFFTeFBRVUZSUXl4SFFVRk5RU3hEUVVGRExFVkJSV3hDTEU5QlFVOHNTMEZCU3l4SlFVTlVMR05CUVdNelJDeEZRVUZCTEVOQlFVVXNTMEZCVFN4alFVRmxMRTFCUVU5cFF5eEZRVUZMTEZkQlFXRXNWVUZCWVVFc1JVRkJUU3hGUVVOcVJpeFBRVUZQZDBJc1EwRkJReXhEUVVOaUxFTkJUMEVzVlVGQlZ5eERRVU5VTEU5QlFVc3NTMEZCU3l4UlFVTklla1FzUlVGQlFTeEhRVUZMTEV0QlFVc3NVVUZFVXl4RFFVRkRMRU5CUlRkQ0xFTkJXVUVzVDBGQlVTeERRVVZPTEVkQlFVa3NRMEZCUXl4TFFVRkxMRkZCUVZNc1QwRkJUeXhMUVVVeFFpeEpRVUZKTkVRc1JVRkJTU3hKUVVOU0xFOUJRVWtzUzBGQlN5eFJRVUZWTEVsQlFVZEJMRWRCUVVzc1MwRkJTeXhOUVVGUkxFMUJRM0JETEV0QlFVc3NVMEZCVnl4SFFVRkxMRXRCUVVzc1YwRkJZU3hMUVVGSFFTeEhRVUZMTEV0QlFVc3NUMEZCVXl4TFFVRkxMRk5CUVZjc1JVRkJTU3hMUVVOcVJpeExRVUZMTEZGQlFWVXNTVUZCUjBFc1IwRkJTeXhMUVVGTExFMUJRVkVzUzBGRGNFTXNTMEZCU3l4UFFVRlRMRWxCUVVkQkxFZEJRVXNzUzBGQlN5eExRVUZQTEUxQlEyeERMRXRCUVVzc1VVRkJWU3hIUVVGTExFdEJRVXNzVlVGQldTeEhRVUZMTEV0QlFVc3NWVUZCV1N4SFFVRkxMRXRCUVVzc1pVRkJhVUlzUzBGRGVFWkJMRWRCUVVzc1MwRkRTQ3hMUVVGTExGRkJRVlVzU1VGQlIwRXNSMEZCU3l4TFFVRkxMRTFCUVZFc1MwRkRjRU1zUzBGQlN5eFZRVUZaTEVsQlFVZEJMRWRCUVVzc1MwRkJTeXhSUVVGVkxFMUJRM2hETEV0QlFVc3NWVUZCV1N4SFFVRkxMRXRCUVVzc1pVRkJhVUlzUzBGSE9VTkJMRWRCUVV0RExFZEJRVkVzUzBGQlN5eFJRVUZWTEV0QlFVc3NZVUZCWlN4SlFVRk5MRU5CUVVNc1JVRkJTU3hMUVVONlJFUXNTVUZCVFN4TlFVRkxRU3hIUVVGTExFOUJRMkpCTEVOQlExUXNRMEZyUWtFc1ZVRkJWVE5DTEVWQlFVOHNRMEZCUXl4RlFVRkhMRU5CUTI1Q0xFZEJRVWtzUTBGQlF5eExRVUZMTEZGQlFWTXNUMEZCVHl4TFFVVXhRaXhKUVVGTk5rSXNSVUZCVXl4TFFVRkxMRk5CUVZNc1JVRkROMElzUjBGQlNVRXNSVUZCVXl4SFFVRkxRU3hIUVVGVkxFMUJRVlVzVDBGQlR5eExRVVUzUXpkQ0xFVkJRVTlxUXl4RlFVRkJMRU5CUTB3c2NVSkJRWE5DTEVkQlEzUkNMR2RDUVVGcFFpeEhRVU5xUWl4alFVRmxMRWRCUTJZc1QwRkJVU3haUVVOTWFVTXNSMEZIVEN4SlFVRk5PRUlzUlVGQlVTeExRVUZMTEZGQlFWRXNVVUZCVXl4VlFVRlhMRlZCUVZjc1kwRkJZeXhGUVVWd1JWWXNSVUZCVFhCQ0xFVkJRVXNzVTBGQlZ5eFJRVUZWTEU5QlFWTXNVMEZGZWtNc1EwRkJRMEVzUlVGQlN5eHBRa0ZCYlVJNFFpeEZRVUZOTEZWQlFWa3NSMEZCUzBFc1JVRkJUU3hsUVVGcFFpeExRVU42UlZZc1IwRkJUM0JDTEVWQlFVc3NVMEZCVnl4UlFVRlZMRXRCUVU4c1QwRkRjRU1zUTBGQlEwRXNSVUZCU3l4elFrRkJkMEk0UWl4RlFVRk5MR1ZCUVdsQ0xFdEJRM1pFVml4SFFVRlBMRk5CU1Znc1NVRkJTVmNzUlVGQlRVUXNSVUZCVFN4VFFVRlRWaXhEUVVGSExFVkJSVFZDTEU5QlFVbHdRaXhGUVVGTExHZENRVU5RSzBJc1JVRkJUU3hKUVVGTlFTeEhRVWRRUVN4RFFVTlVMRU5CVFVFc1VVRkJVeXhEUVVOUUxFOUJRVThzUzBGQlN5eE5RVUZOTEVOQlEzQkNMRU5CVFVFc1ZVRkJWeXhEUVVOVUxFOUJRVThzUzBGQlN5eE5RVUZOTEVOQlEzQkNMRU5CVFVFc1ZVRkJWeXhEUVVOVUxFOUJRVThzUzBGQlN5eEhRVUZITEdOQlFXTXNRMEZETDBJc1EwRk5RU3hUUVVGVkxFTkJRMUlzVDBGQlR5eExRVUZMTEZOQlFWTXNRMEZEZGtJc1EwRlBRU3hMUVVGTFF5eEZRVUZWTEVOQlEySXNSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkJVeXhQUVVGUExFdEJSVEZDTEVsQlFVMHhSQ3hGUVVGTmNVSXNSVUZCVXl4cFFrRkJhVUp4UXl4RFFVRlJMRVZCUXpWRFF5eEZRVUZUTEVOQlFVTXNSVUZGV2l4UlFVRlhReXhMUVVGTEwwUXNTVUZEVm1kRkxFZEJRV1UzUkN4RlFVRkpMRTlCUVZFMFJDeERRVUZETEVkQlFVdERMRWRCUVdVc1MwRkJTeXhQUVVGUlJDeERRVUZETEV0QlEyaEZSQ3hGUVVGUFF5eERRVUZETEVWQlFVazFSQ3hGUVVGSkxFbEJRVWswUkN4RFFVRkRMRVZCUVVrc1MwRkJTeXhKUVVGSlFTeERRVUZETEVkQlNYWkRMRTlCUVU4M1JDeEhRVUZOTEV0QlFVMHNRMEZCUlN4UFFVRlJORVFzUTBGQlR5eEZRVUZITEVWQlFVa3NRMEZETjBNc1EwRlBRU3hOUVVGTlJDeEZRVUZWTEVOQlEyUXNSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkJVeXhQUVVGUExFdEJSVEZDTEVsQlFVMHhSQ3hGUVVGTmNVSXNSVUZCVXl4cFFrRkJhVUp4UXl4RFFVRlJMRVZCUXpsRExFOUJRVThzUzBGQlN5eExRVUZMTVVRc1JVRkJTU3hQUVVGUExFTkJRVU1zUTBGREwwSXNRMEZUUVN4VFFVRlRPRVFzUlVGQlNTeERRVU5ZTEVkQlFVa3NRMEZCUXl4TFFVRkxMRkZCUVZNc1QwRkJUeXhMUVVNeFFpeEpRVUZOU0N4RlFVRlRMRU5CUVVNc1JVRkRhRUlzVVVGQlYwTXNTMEZCU3l4UFFVRlBMRXRCUVVzc1MwRkJTeXhOUVVGTkxFVkJRM0pEUkN4RlFVRlBReXhEUVVGRExFVkJRVWxITEVkQlFWTkVMRVZCUVVjc1MwRkJTeXhQUVVGUFJpeERRVUZETEVWQlFVZEJMRU5CUVVNc1EwRkJReXhGUVVVMVF5eFBRVUZQTjBRc1IwRkJUU3hMUVVGTkxFTkJRVVVzVDBGQlVUUkVMRU5CUVU4c1JVRkJSeXhGUVVGSkxFTkJRemRETEVOQlZVRXNTVUZCU1dwQ0xFVkJRVTBzUTBGRFVpeFBRVUZQTEV0QlFVdHlRaXhGUVVGVExHTkJRV054UWl4RFFVRkpMRU5CUVVNc1EwRkRNVU1zUTBGVFFTeEpRVUZKYzBJc1JVRkJVU3hEUVVOV0xFZEJRVWtzUTBGQlF5eExRVUZMTEZGQlFWTXNUMEZCVHl4TFFVVXhRaXhKUVVGTlF5eEZRVUZSZUVVc1NVRkJRU3hIUVVGTExFdEJRVXNzVVVGQlYyOURMRWRCUVdkQ2JVTXNSVUZCVVRORExFVkJRVk1zWVVGQllTeEhRVU5xUml4UFFVRlBkRUlzUjBGQlRTeExRVUZOTEVOQlFVVXNUMEZCVVd0RkxFTkJRVTBzUTBGQlF5eERRVU4wUXl4RFFVOUJMRmxCUVZrc1EwRkJSU3hQUVVGQlF5eEZRVUZSTEdkQ1FVRkJReXhGUVVGcFFpeHRRa0ZCUVVNc1EwRkJiVUlzUlVGQlNTeERRVUZETEVWQlFVY3NRMEZEYUVVc1NVRkJUVU1zUlVGQlRTeExRVUZMTEVsQlFVa3NUVUZCVFN4RFFVRkZMRTlCUVVGSUxFVkJRVkVzWjBKQlFVRkRMRU5CUVdkQ0xFTkJRVU1zUlVGRGNFUjZReXhGUVVGUExFTkJRVVVzU1VGQlFUSkRMRU5CUVVrc1JVRkZaaXhQUVVGSlJDeEpRVU5HTVVNc1JVRkJTeXh0UWtGQmNVSXdReXhIUVVkeVFuSkZMRWRCUVUwc1MwRkJUVEpDTEVOQlFVa3NRMEZEZWtJc1EwRlZRU3hIUVVGSFowSXNSVUZCVFN4RFFVTlFMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzVVVGQlVVRXNRMEZCU1N4RlFVRkZMRWxCUVVsQkxFTkJRVWtzUlVGQlNTeEhRVU4yUkN4RFFWRkJMRmRCUVZrc1EwRkRWaXhIUVVGSkxFTkJRVU1zUzBGQlN5eFJRVUZUTEU5QlFVOHNTMEZETVVJc1NVRkJUWHBDTEVWQlFVOHNTMEZCU3l4VFFVRlRMRVZCUXpOQ0xFOUJRVUZFTEVkQlFXZENMRXRCUVVzc1QwRkJVVU1zUTBGQlNTeEZRVU14UW14Q0xFZEJRVTBzUzBGQlRTeERRVUZGTEU5QlFWRnJRaXhEUVVGTExFVkJRVWNzUlVGQlNTeERRVU16UXl4RFFVOUJMRmRCUVZkeFJDeEZRVUZQTEVOQlEyaENMRWRCUVVrc1EwRkJReXhMUVVGTExGRkJRVk1zVDBGQlR5eExRVVV4UWl4SFFVRkpRU3hGUVVGTkxGTkJRVmNzUlVGRGJrSXNUMEZCVHl4TFFVZFVRU3hGUVVGUlFTeEZRVUZOTEVsQlFVdERMRWRCUVUxc1JDeEZRVUZUTEdOQlFXTnJSQ3hEUVVGRExFTkJRVU1zUlVGRmJFUXNTVUZCVFVNc1JVRkJVU3hEUVVGRExFVkJRMkpETEVWQlFXTXNRMEZCUXl4RlFVTm1lRVFzUlVGQlR5eExRVUZMTEZOQlFWTXNSVUZEYmtKNVJDeEZRVVZLTEZGQlFWZGtMRXRCUVVzdlJDeEhRVU5rTEVkQlFVbDVSU3hGUVVGTkxGRkJRVkZXTEVOQlFVTXNSMEZCU3l4RlFVRkhMRU5CUTNwQ1l5eEZRVUZYWkN4RlFVVllMRWxCUVVsbExFVkJRVTBzUlVGSFZpeFJRVUZYUXl4TFFVRk5TQ3hGUVVObVJTeEhRVUZQTEV0QlFVc3NUMEZCVDBNc1EwRkJSU3hGUVVGRmFFSXNRMEZCUXl4RlFVRkpZU3hGUVVGWlJ5eERRVUZGTEVWQlF6RkRTQ3hGUVVGWlJ5eERRVUZGTEVWQlFVa3NSVUZKYUVJM1F5eEhRVUZUWkN4RlFVRkxNa01zUTBGQlF5eERRVUZETEVsQlEyeENaU3hIUVVGUE1VUXNSVUZCU3pKRExFTkJRVU1zUjBGSFppeEpRVUZOYVVJc1JVRkJTU3hMUVVGTExFMUJRVTFHTEVOQlFVY3NSVUZEZUVKSUxFVkJRVTFhTEVOQlFVTXNSVUZCU1dsQ0xFVkJRMWhLTEVWQlFWbGlMRU5CUVVNc1IwRkJTMlVzUlVGQlRTeEpRVUZQUlN4RlFVRkpMRXRCUVZFc1NVRkhNME1zVVVGQlYwTXNTMEZCVVRkRUxFVkJRMkp3UWl4SFFVRmhMRkZCUVZGcFJpeERRVUZKTEVWQlFVbHFSaXhIUVVGaExGRkJRVkVyUkN4RFFVRkRMRWRCUTNKRWRFUXNSMEZCVVN4TFFVRkxMRTlCUVZGWExFVkJRVTAyUkN4RlFVRk5UaXhGUVVGUFdpeERRVUZETEVOQlNTOURMRTFCUVZjM1FpeEhRVUZUWkN4RlFVRkxNa01zUTBGQlF5eERRVUZETEVsQlEzcENZU3hGUVVGWllpeERRVUZETEVWQlFVa3pReXhGUVVGTE1rTXNRMEZCUXl4SFFVMHpRaXhSUVVGWGJVSXNTMEZCVDA0c1JVRkRXa0VzUlVGQldVMHNRMEZCUnl4SlFVRk5MRWxCUTNaQ1VDeEZRVUZOUlN4RFFVRlJMRWRCUTFwTExFbEJRVkZNTEVWQlFWZEVMRVZCUVZsTkxFTkJRVWNzUlVGQlNVNHNSVUZCV1Uwc1EwRkJSeXhGUVVGSkxFdEJRVXNzVDBGQlQwd3NRMEZCVVN4RlFVRkZTeXhEUVVGSExFZEJTWGhHTEU5QlFVOW9SaXhIUVVGTkxFdEJRVTBzUTBGQlJTeFBRVUZSZVVVc1EwRkJUU3hGUVVGSExFVkJRVWtzUlVGQlJTeFZRVUZWTEVOQlEzaEVMRU5CVDBFc1VVRkJVeXhEUVVOUUxFZEJRVWtzUTBGQlF5eExRVUZMTEZGQlFWTXNUMEZCVHl4TFFVTXhRaXhKUVVGTlVTeEZRVUZWTEVOQlFVTXNSVUZEYWtJc1VVRkJWM0JDTEV0QlFVc3NUMEZCVHl4TFFVRkxMRXRCUVVzc1RVRkJUU3hGUVVOeVEyOUNMRVZCUVZGd1FpeERRVUZETEVWQlFVa3NTMEZCU3l4UFFVRlBRU3hEUVVGRExFbEJRVTBzUlVGQlNTeEZRVUZKTEVOQlFVTXNTMEZCU3l4UFFVRlBRU3hEUVVGRExFVkJSWGhFTEU5QlFVODNSQ3hIUVVGTkxFdEJRVTBzUTBGQlJTeFBRVUZSYVVZc1EwRkJVU3hGUVVGSExFVkJRVWtzUTBGRE9VTXNRMEZOUVN4SlFVRkpMRTlCUVZFc1EwRkRWaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEU5QlFVOHNUMEZCVXl4RlFVRkpMRWRCUTJwRUxFTkJUVUVzU1VGQlNTeFZRVUZYTEVOQlEySXNUMEZCVHl4TFFVRkxMRkZCUVZVc1MwRkJTeXhQUVVGUExGVkJRVmtzUlVGQlNTeEhRVU53UkN4RFFVMUJMRWxCUVVrc1VVRkJVeXhEUVVOWUxFOUJRVThzUzBGQlN5eFJRVUZWTEV0QlFVc3NUMEZCVHl4UlFVRlZMRVZCUVVrc1IwRkRiRVFzUTBGTlFTeEpRVUZKTEU5QlFWRXNRMEZEVml4UFFVRlBMRXRCUVVzc1VVRkJWU3hMUVVGTExFOUJRVThzVDBGQlV5eEZRVUZKTEVkQlEycEVMRU5CVFVFc1NVRkJTU3hOUVVGUExFTkJRMVFzVDBGQlR5eExRVUZMTEZGQlFWVXNTMEZCU3l4UFFVRlBMRTFCUVZFc1JVRkJTU3hIUVVOb1JDeERRVTFCTEVsQlFVa3NUMEZCVVN4RFFVTldMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzVDBGQlR5eFBRVUZUTEVWQlFVa3NSMEZEYWtRc1EwRk5RU3hKUVVGSkxGTkJRVlVzUTBGRFdpeFBRVUZQTEV0QlFVc3NVVUZCVlN4TFFVRkxMRTlCUVU4c1UwRkJWeXhGUVVGSkxFZEJRMjVFTEVOQlRVRXNTVUZCU1N4VFFVRlZMRU5CUTFvc1QwRkJUeXhMUVVGTExGRkJRVlVzUzBGQlN5eFBRVUZQTEZOQlFWY3NSVUZCU1N4SFFVTnVSQ3hEUVUxQkxFbEJRVWtzWTBGQlpTeERRVU5xUWl4UFFVRlBMRXRCUVVzc1VVRkJWU3hMUVVGTExFOUJRVThzWTBGQlowSXNSVUZCU1N4SFFVTjRSQ3hEUVU5QkxFbEJRVWtzVTBGQlZTeERRVU5hTEU5QlFVOHNTMEZCU3l4VlFVRlpMRWxCUXpGQ0xFTkJUVUVzU1VGQlNTeGxRVUZuUWl4RFFVTnNRaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEZGQlFWRXNUMEZCVXl4SlFVTTVReXhEUVUxQkxFbEJRVWtzYjBKQlFYRkNMRU5CUTNaQ0xFOUJRVThzUzBGQlN5eFJRVUZWTEV0QlFVc3NVVUZCVVN4WlFVRmpMRWxCUTI1RUxFTkJVVUVzVDBGQlQwTXNSVUZCVHl4RFFVdGFMRWRCU2trc1EwRkJReXhMUVVGTExGTkJRVmNzUTBGQlEwRXNSVUZCVFN4VFFVbDRRaXhEUVVGRExFdEJRVXNzU1VGQlNTeFBRVUZQUVN4RlFVRk5MRWRCUVVjc1JVRkROVUlzVFVGQlR5eEhRVWRVTEZOQlFWTkRMRVZCUVVkRExFVkJRVWxETEVWQlFVa3NRMEZGYkVJc1QwRkJTVVFzU1VGQlR5eFJRVUZoUVN4SlFVRlBMRVZCUVZWRExFbEJRVThzVVVGQllVRXNTVUZCVHl4RlFVTTNSRVFzU1VGQlQwTXNRMEZEYUVJc1EwRkZRU3hSUVVGWFlpeExRVUZMTVVVc1IwRkRaQ3hIUVVGSkxFTkJRVU54Uml4RlFVRkhMRXRCUVVzc1QwRkJUMWdzUTBGQlF5eEZRVUZIVlN4RlFVRk5MRTlCUVU5V0xFTkJRVU1zUTBGQlF5eEZRVU55UXl4TlFVRlBMRWRCUjFnc1RVRkJUeXhGUVVOVUxFTkJRMFlzUlVNNU0wSkJMRWxCUVUxakxFZEJRVlVzYlVKQlIyaENMRk5CUVZORExFZEJRV2xDUXl4RlFVRlBReXhGUVVGTExFTkJRM0JETEUxQlFVa3NRMEZCUTBRc1IwRkJVeXhEUVVGRFFTeEZRVUZOTEZGQlExcEZMRWRCUVZNc1VVRkJVU3d3UWtGQk1FSXNSVUZEZWtNc1EwRkJRMFFzUjBGQlR5eERRVUZEUVN4RlFVRkpMRkZCUTJaRExFZEJRVk1zVVVGQlVTeDNRa0ZCZDBJc1JVRkRka05FTEVWQlFVMUVMRVZCUTFKRkxFZEJRVk1zVVVGRFpDeHRRa0ZEUVN4eFJVRkJjVVZHTEVWQlFVMHNUVUZCVFN4RFFVRkRMRmxCUVZsRExFVkJRVWtzVFVGQlRTeERRVUZETEVWQlF6TkhMRVZCUlU4c1NVRkZXQ3hEUVdOQkxFbEJRWEZDUXl4SFFVRnlRaXhOUVVGeFFrTXNRMEZCVXl4RFFVazFRaXhaUVVGWlF5eEZRVUZSTEVOQlNXeENMRXRCUVVzc1JVRkJTVUVzUlVGQlR5eE5RVWxvUWl4TFFVRkxMRVZCUVVsQkxFVkJRVThzU1VGSmFFSXNTMEZCU3l4UlFVRlZRU3hGUVVGUExGTkJRVmNzUzBGSmFrTXNTMEZCU3l4blFrRkJhMElzUlVGRGVrSXNRMEZSUVN4UFFVRlBMRkZCUVZGRExFVkJRVkZETEVWQlFXTXNTMEZCVFN4RFFVTjZReXhIUVVGSkxFTkJRVU5FTEVWQlEwZ3NUVUZCVFN4SlFVRkpSU3hIUVVGeFFpeHJSRUZCYTBRc1JVRkhia1lzU1VGQlRVTXNSVUZCVlVnc1lVRkJhMEpKTEVkQlFWVktMRVZCUVZNc1NVRkJTVWtzUjBGQlVVb3NSVUZCVVVNc1EwRkJWeXhGUVVWd1JpeEhRVUZKU1N4RlFVRlRMR1ZCUTFnc1RVRkJUU3hKUVVGSlF5eEhRVUZ4UWtnc1EwRkJUeXhGUVVWMFF5eFBRVUZQTEVsQlFVbE1MRVZCUVZNc1EwRkJSU3hSUVVGQlN5eERRVUZSTEVOQlFVTXNRMEZGYmtNc1EwRlJRU3hQUVVGUExHTkJRV05TTEVWQlFVOURMRVZCUVVzc1EwRkRMMElzU1VGQlRWY3NSVUZCWVVNc1IwRkJhVUppTEVOQlFVc3NSVUZEZGtOakxFVkJRVmRFTEVkQlFXbENXaXhEUVVGSExFVkJSVE5DWXl4RlFVRm5RbWhDTEVkQlFXbENZU3hGUVVGWlJTeERRVUZSTEVWQlJUTkVMRTlCUVVsRExFZEJRV2xDTEV0QlExb3NTVUZCU1Zvc1JVRkJVeXhEUVVOc1FpeE5RVUZQVXl4RlFVTlFMRWxCUVV0RkxFTkJRMUFzUTBGQlF5eEZRVVZOUXl4RFFVVllMRU5CVVVFc1QwRkJUeXhOUVVGTlppeEZRVUZQWjBJc1JVRkJWU3hEUVVNMVFpeEpRVUZOUXl4RlFVRk5ReXhGUVVGVExHbENRVUZwUWtZc1EwRkJVU3hGUVVNMVEwY3NSVUZCUzA0c1IwRkJhVUppTEVOQlFVc3NSVUZETjBJc1QwRkJUMGNzUlVGQlV5eGpRVUZqWjBJc1JVRkJTVUVzUlVGQlJ5eExRVUZMUml4RFFVRkhMRU5CUVVNc1EwRkRhRVFzUTBGUlFTeFBRVUZQTEU5QlFVOW9RaXhGUVVGTFpTeEZRVUZWTEVOQlF6TkNMRWxCUVUxRExFVkJRVTFETEVWQlFWTXNhVUpCUVdsQ1JpeERRVUZSTEVWQlF6VkRSeXhGUVVGTFRpeEhRVUZwUWxvc1EwRkJSeXhGUVVNelFpeFBRVUZQUlN4RlFVRlRMR05CUVdOblFpeEZRVUZITEUxQlFVMUdMRU5CUVVjc1JVRkJSMFVzUTBGQlJTeERRVU5xUkN4RFFWVkJMRTlCUVU4c1VVRkJVVU1zUlVGQlRVTXNSVUZCVFN4RFFVTjZRaXhIUVVGTkxFTkJRVU5ETEVWQlFVZERMRU5CUVVNc1IwRkJTMGdzUjBGQlVTeEpRVUZKTEUxQlFVMHNTVUZCU3l4RFFVRkRMRVZCUTNoRExFZEJRVWxGTEVkQlFVdERMRVZCUVVjc1EwRkRWaXhKUVVGSmRrSXNSVUZCVDNkQ0xFVkJRMWdzUjBGQlNTeERRVU5HZUVJc1JVRkJVWGxDTEVWQlFWTXNVVUZCVVVnc1JVRkJSMFFzUTBGQlNTeEZRVU5vUTBjc1JVRkJaWGhDTEVWQlFVMHNUMEZEZGtJc1QwRkJVM1ZDTEVWQlFVY3NRMEZEVmtNc1JVRkJaU3hGUVVOcVFpeERRVVZCTEVsQlFVbDJRaXhGUVVGTGVVSXNSVUZEVkN4SFFVRkpMRU5CUTBaNlFpeEZRVUZOZDBJc1JVRkJVeXhSUVVGUlJpeEZRVUZIUml4RFFVRkpMRVZCUXpsQ1N5eEZRVUZoZWtJc1JVRkJTU3hQUVVOdVFpeFBRVUZUYzBJc1JVRkJSeXhEUVVOV1J5eEZRVUZoTEVWQlEyWXNRMEZGUVN4SFFVRkpSaXhIUVVGblFrVXNSVUZEYkVJc1QwRkJUM1pDTEVWQlFWTXNZMEZCWTBnc1JVRkJUME1zUTBGQlJ5eEZRVWN4UXl4SFFVRkpkVUlzUlVGQll5eERRVU5vUWl4SlFVRk5VQ3hGUVVGTlF5eEZRVUZUTEZGQlFWRkxMRVZCUVVkR0xFTkJRVWtzUlVGRGNFTXNSMEZCU1Vvc1JVRkJTU3hSUVVOT0xFOUJRVTlrTEVWQlFWTXNUVUZCVFVnc1JVRkJUMmxDTEVOQlFVY3NRMEZGY0VNc1UwRkJWMU1zUlVGQldTeERRVU55UWl4SlFVRk5WQ3hGUVVGTlF5eEZRVUZUTEZGQlFWRkpMRVZCUVVkRUxFTkJRVWtzUlVGRGNFTXNSMEZCU1Vvc1JVRkJTU3hSUVVOT0xFOUJRVTlrTEVWQlFWTXNUMEZCVDBZc1JVRkJTMmRDTEVOQlFVY3NRMEZGYmtNc1EwRkRSaXhEUVVOQkxFOUJRVTlrTEVWQlFWTXNVVUZCVVN4aFFVRmpMR05CUVdOcFFpeERRVUZKTEN0Q1FVRXJRaXhEUVVONlJpeERRVTlCTEU5QlFVOHNWMEZCVjA4c1JVRkJSeXhEUVVOdVFpeFBRVUZSUVN4SFFVRkxRU3hGUVVGRkxHbENRVUZ2UWl4RlFVTnlReXhEUVUxQkxFbEJRVWtzVDBGQlVTeERRVU5XTEU5QlFVOHNTMEZCU3l4UlFVRlZMRXRCUVVzc1JVRkJTU3hKUVVOcVF5eERRVTFCTEVsQlFVa3NTMEZCVFN4RFFVTlNMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzUlVGQlNTeEpRVU5xUXl4RFFVMUJMRWxCUVVrc1UwRkJWU3hEUVVOYUxFOUJRVThzUzBGQlN5eG5Ra0ZCYTBJc1NVRkRhRU1zUTBGTlFTeEpRVUZKTEdWQlFXZENMRU5CUTJ4Q0xFOUJRVThzUzBGQlN5eFJRVUZWTEV0QlFVc3NVVUZCVVN4UFFVRlRMRWxCUXpsRExFTkJUVUVzU1VGQlNTeHZRa0ZCY1VJc1EwRkRka0lzVDBGQlR5eExRVUZMTEZGQlFWVXNTMEZCU3l4UlFVRlJMRmxCUVdNc1NVRkRia1FzUTBGUFFTeFBRVUZQUXl4RlFVRlBMR1ZCUVdkQ0xFTkJRelZDTEU5QlFVOHNTMEZCU3l4UlFVRlZMRXRCUVVzc1YwRkJaVUVzUTBGQlN5eEZRVUZGTEVsQlFVbEJMRU5CUVVrc1JVRkJTU3hIUVVNdlJDeERRVk5CTEUxQlFVMUJMRVZCUVU4c1pVRkJaMElzUTBGRE0wSXNSMEZCU1N4RFFVRkRMRXRCUVVzc1VVRkJVeXhOUVVGUExFdEJRekZDTEVsQlFVMDFRaXhGUVVGUkxFdEJRVXNzVFVGQlRTeFJRVUZSTkVJc1EwRkJTU3hGUVVOdVF6TkNMRVZCUVUwc1MwRkJTeXhKUVVGSkxGRkJRVkV5UWl4RFFVRkpMRVZCUXpkQ0xFOUJRVThzUzBGQlN5eE5RVUZOTTBJc1JVRkJTU3hMUVVGTFJDeEZRVUZQTkVJc1EwRkJTU3hGUVVGRkxFbEJRVWxCTEVOQlFVa3NRMEZCUXl4RlFVRkpMRU5CUTNaRUxFTkJUMEVzVVVGQlVVRXNSVUZCVFN4RFFVTmFMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzVVVGQlVTeEhRVUZMTEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1JVRkJSU3hSUVVGUkxFdEJRVXNzUlVGQlIwRXNRMEZCU1N4RlFVRkpMRVZCUTJ4R0xFTkJUVUVzVTBGQlZTeERRVU5TTEU5QlFVOHNTMEZCU3l4RlFVRkZMRkZCUVZFc1NVRkJUU3hMUVVGTExFVkJRVVVzVVVGQlVTeERRVU0zUXl4RFFVOUJMRkZCUVZGRExFVkJRVlVzUTBGRGFFSXNUMEZCU3l4TFFVRkxMRkZCUTBnc1MwRkJTeXhGUVVGSlFTeEZRVVJWTEVWQlJUVkNMRU5CVDBFc1UwRkJVMEVzUlVGQlZTeERRVU5xUWl4UFFVRkxMRXRCUVVzc1VVRkRTQ3hMUVVGTExFZEJRVXRCTEVWQlJGTXNSVUZGTlVJc1EwRlBRU3hUUVVGVFFTeEZRVUZWTEVOQlEycENMRTlCUVVzc1MwRkJTeXhSUVVOSUxFdEJRVXNzUjBGQlMwRXNSMEZCV1N4TFFVRkxMRVZCUVVsQkxFVkJSRm9zUlVGRk5VSXNRMEZUUVN4SlFVRkpMRU5CUVVVc1RVRkJRVGRDTEVWQlFVOHNTVUZCUVVNc1EwRkJTU3hGUVVGSkxFTkJRVU1zUlVGQlJ5eERRVU4yUWl4UFFVRkxMRXRCUVVzc1VVRkRTRVVzUlVGQlV5eGpRVUZqU0N4SFFVRlRMRXRCUVVzc1JVRkJSME1zUjBGQlR5eExRVUZMTEVOQlFVTXNSVUZFYkVNc1NVRkZOVUlzUTBGUFFTeFhRVUZYTmtJc1JVRkJWeXhEUVVOd1FpeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVRlRMRTFCUVU4c1EwRkJReXhGUVVNelFpeEpRVUZOUXl4RlFVRlRSQ3hGUVVOV0xFbEJRVWxxUWl4RlFVRm5RaXhGUVVOd1FpeFBRVUZSYlVJc1IwRkJUU3hMUVVGTExGTkJRVk5CTEVOQlFVTXNRMEZCUXl4RlFVTTVRaXhMUVVGTExFVkJRMUpETEVWQlFWVXNRMEZCUXl4RlFVTlVMRU5CUVVVc1EwRkJSU3hGUVVGSkxFdEJRMVlzUlVGQlNTeEZRVVZPTEV0QlFVOHNSVUZCU1N4TFFVRkxMRWRCUVVjc1EwRkRha0lzU1VGQlRVTXNSVUZCVVVnc1JVRkJUeXhEUVVGRExFZEJRVXNzUzBGQlN5eEZRVU01UWtrc1JVRkJUeXhEUVVGRFJDeEZRVUZSTEVOQlFVTXNTMEZCU3l4RlFVRkpMRXRCUVVzc1JVRkJTVUVzUlVGRGNrTkVMRVZCUVZFc1MwRkJTemxDTEVWQlFWTXNZMEZCWXl4RlFVRkhaME1zUTBGQlNTeERRVUZETEVWQlF6VkRMRVZCUVVsQkxFVkJRMG9zUjBGQlN5eERRVU5RTEVOQlJVRXNUMEZCVDBZc1EwRkRWQ3hEUVZGQkxGRkJRVkZxUWl4RlFVRlZMRU5CUTJoQ0xFbEJRVTFETEVWQlFVMURMRVZCUVZNc2FVSkJRV2xDUml4RFFVRlJMRVZCUlRsRExFZEJRVWtzUTBGQlF5eExRVUZMTEZOQlFWY3NRMEZCUTBNc1JVRkJTU3hUUVVGWFFTeEZRVUZKTEVkQlFVY3NZMEZCWXl4SlFVRk5MRVZCUXpsRUxFMUJRVThzUTBGQlF5eEZRVWRXTEVkQlFVa3NRMEZCUlN4RlFVRkJTeXhEUVVGRkxFVkJRVWtzUzBGRFZtTXNSVUZCVFN4RlFVTk9SQ3hGUVVWSlJpeEZRVUZWTEVOQlFVTXNSVUZEYWtJc1MwRkJUMWdzUlVGQlNTeExRVUZMTEVkQlFVY3NRMEZEYWtJc1NVRkJUVmtzUlVGQlVTeExRVUZMTEUxQlFVMHNTMEZCUzJwQ0xFVkJRVWtzVTBGQlZXOUNMRWRCUVUxQkxFVkJRVWxFTEVOQlFVY3NRMEZCUXl4RlFVTXhSRVFzUlVGQlR5eERRVUZEUkN4RlFVRlJMRU5CUVVNc1MwRkJTeXhGUVVGSkxFdEJRVXNzUlVGQlNVRXNSVUZEYmtORUxFVkJRVkVzUzBGQlN6bENMRVZCUVZNc1kwRkJZMjFDTEVWQlFVZGhMRU5CUVVrc1EwRkJReXhGUVVNMVEySXNSVUZCU1dFc1JVRkRTa01zUjBGQlR5eERRVU5VTEVOQlJVRXNUMEZCVDBnc1EwRkRWQ3hEUVU5QkxHTkJRV05MTEVWQlFXVXNRMEZETTBJc1QwRkJTeXhMUVVGTExGRkJRMGdzUzBGQlN5eFJRVUZSTEV0QlFVc3NUMEZCVHl4RlFVRkpRU3hEUVVGaExFVkJRVVVzVFVGQlRTeEZRVUZIUVN4RFFVRmhMRVZCUkM5RExFTkJRVU1zUTBGRk4wSXNRMEZQUVN4VFFVRlRReXhGUVVGUExFTkJRMlFzVDBGQlR5eExRVUZMTEVWQlFVbEJMRVZCUVUwc1IwRkJTeXhMUVVGTExFVkJRVWxCTEVWQlFVMHNRMEZETlVNc1EwRlBRU3hYUVVGWFFTeEZRVUZQTEVOQlEyaENMRTlCUVVzc1MwRkJTeXhSUVVOSUxFTkJRVU1zUzBGQlN5eEhRVUZOTEVOQlFVTkJMRVZCUVUwc1JVRkVRU3hGUVVVMVFpeERRVTlCTEZOQlFWTkJMRVZCUVU4c1EwRkRaQ3hQUVVGTExFdEJRVXNzVVVGRFNDeERRVUZEUVN4RlFVRk5MRWRCUVUwc1EwRkJReXhMUVVGTExFVkJSRUVzUlVGRk5VSXNRMEZQUVN4UlFVRlJRU3hGUVVGUExFTkJRMklzVDBGQlN5eExRVUZMTEZGQlEwZ3NTMEZCU3l4SFFVRkxRU3hGUVVGTkxFZEJRVXNzUzBGQlN5eEhRVUZMUVN4RlFVRk5MRVZCUkd4Q0xFVkJSVFZDTEVOQlQwRXNUMEZCVDBFc1JVRkJUeXhEUVVOYUxFMUJRVWtzUTBGQlF5eExRVUZMTEZOQlFWY3NRMEZCUTBFc1JVRkJUU3hSUVVOdVFpeEhRVWRHTEV0QlFVc3NSVUZCUlN4UFFVRlBRU3hGUVVGTkxFTkJRVU1zUjBGQlN5eExRVUZMTEVWQlFVVXNUMEZCVDBFc1JVRkJUU3hEUVVGRExFTkJRM2hFTEVOQlUwRXNZVUZCWVVFc1JVRkJUeXhEUVVOc1FpeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVRlRMRTlCUVU4c1MwRkRNVUlzU1VGQlRXcENMRVZCUVVrc1MwRkJTeXhGUVVGSmFVSXNSVUZCVFN4RlFVRkpMRXRCUVVzc1JVRkJTVUVzUlVGQlRTeEZRVU14UTJoQ0xFVkJRVWtzUzBGQlN5eEZRVUZKWjBJc1JVRkJUU3hGUVVGSkxFdEJRVXNzUlVGQlNVRXNSVUZCVFN4RlFVVjRReXhQUVVGSmFrSXNSMEZCUzBNc1JVRkRRU3hMUVVWQmNFSXNSVUZCVXl4alFVRmpiVUlzUlVGQlIwTXNRMEZCUXl4RFFVVjBReXhEUVZGQkxFMUJRVTFuUWl4RlFVRlBMRU5CUTFnc1IwRkJTU3hEUVVGRExFdEJRVXNzVVVGQlV5eFBRVUZQTEV0QlF6RkNMRWxCUVUxcVFpeEZRVUZKTEV0QlFVc3NSVUZCU1dsQ0xFVkJRVTBzUlVGQlNTeExRVUZMTEVWQlFVbEJMRVZCUVUwc1JVRkRNVU5vUWl4RlFVRkpMRXRCUVVzc1JVRkJTV2RDTEVWQlFVMHNSVUZCU1N4TFFVRkxMRVZCUVVsQkxFVkJRVTBzUlVGRGVFTXNUMEZCVDNCRExFVkJRVk1zWTBGQlkyMUNMRVZCUVVkRExFTkJRVU1zUTBGRGNFTXNRMEZSUVN4UFFVRlBMRTFCUVUxcFFpeEZRVUZYTEVOQlEzUkNMRWRCUVUwc1EwRkJRME1zUlVGQlQwTXNRMEZCU3l4RlFVRkpSaXhGUVVOd1FpeExRVUZMTEVOQlFVTkhMRVZCUVVkRExFbEJRVTFFTEVWQlFVVXNSVUZCU1VNc1JVRkJSU3hEUVVGRExFVkJRM2hDTEU5QlEwTXNRMEZCUXl4RFFVRkRReXhGUVVGUFF5eERRVUZQTEVWQlFVZERMRWxCUTFwRUxFVkJSVTFCTEVWQlFWRXNVMEZCVTBNc1EwRkJTU3hIUVVGTFJDeEZRVUZSTEZkQlFWZERMRU5CUVVrc1JVRkRia1FzUTBGQlEwWXNSVUZCVDBNc1JVRkJVU3hOUVVGTlF5eERRVUZKTEVOQlFVTXNSVUZGTTBJc1EwRkJRMFlzUlVGQlRTeFBRVUZQTEVOQlFVTkRMRU5CUVU4c1EwRkJReXhGUVVGSFF5eERRVUZKTEVWQlNqbENMRU5CUVVOR0xFVkJRVTlGTEVOQlFVa3NSVUZQZGtJc1EwRkJReXhEUVVGRExFVkJRVWNzU1VGQlNTeERRVU5ZTEVWQlEwWXNUMEZCU1V3c1IwRkRSa1FzUlVGQlRTeExRVUZMUXl4RFFVRkxMRVZCUlZoRUxFTkJRMVFzUTBGUFFTeFBRVUZQTEVsQlFVbEVMRVZCUVZjc1EwRkRjRUlzU1VGQlNYaERMRVZCUVZFc1MwRkRWbWRFTEVWQlFXVXNSVUZEV0dZc1JVRkJWU3hEUVVGRExFVkJRMlpuUWl4RlFVRlBWQ3hGUVVGVkxFbEJRVXRWTEVkQlFVMHNRMEZETVVJc1EwRkJSU3hMUVVGTlFTeEZRVUZGTEVWQlFVY3NTMEZCVFN4SFFVRkpMRVZCUTNaQ0xFTkJRVVVzUzBGQlRVRXNSVUZCUlN4RlFVRkhMRXRCUVUwc1IwRkJTU3hEUVVONlFpeERRVUZETEVWQlEwUkRMRVZCUVZrc1RVRkJUU3hWUVVGVkxFOUJRVThzUjBGQlIwWXNRMEZCU1N4RlFVTXhRMGNzUlVGQlRVUXNSVUZCVlN4TFFVRkxMRU5CUVVOU0xFVkJRVWRETEVsQlFVMUVMRVZCUVVVc1MwRkJUME1zUlVGQlJTeEpRVUZKTEVWQlJXaEVMRkZCUVZkTkxFdEJRVXRGTEVWQlEyUktMRWRCUVdkQ1JTeEZRVUZGTEU5QlFWTXNTVUZCVFN4RlFVRkpMRWRCUldwRFJpeEpRVUZwUWl4RlFVTnVRbWhFTEVWQlFWRnJSQ3hGUVVGRkxFMUJSVTVzUkN4SFFVRlRMRU5CUVVOQkxFZEJRVlVzUTBGQlEydEVMRVZCUVVVc1RVRkRla0pxUWl4RlFVRlJMRXRCUVVzNVFpeEZRVUZUTEdOQlFXTklMRVZCUVU5clJDeEZRVUZGTEVsQlFVa3NRMEZCUXl4RlFVZHdSR3hFTEVWQlFWRXNUVUZKV2l4UFFVRlBSeXhGUVVGVExFMUJRVTA0UWl4RFFVRlBMRU5CUXk5Q0xFTkJUMEVzWTBGQlkwOHNSVUZCVnl4RFFVTjJRaXhQUVVGUGNrTXNSVUZCVXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hGUVVGRkxFOUJRVTl4UXl4RFFVRlRMRU5CUVVNc1JVRkRla01zU1VGQlMxVXNSMEZCVFN4TFFVRkxMR0ZCUVdGQkxFTkJRVU1zUTBGQlF5eEZRVU12UWl4UFFVRlJRU3hIUVVGTlFTeEhRVUZMTEVOQlFVTkJMRVZCUVVVc1VVRkJVU3hEUVVGRExFTkJRM0JETEVOQlRVRXNWVUZCVnl4RFFVTlVMRTlCUVVzc1MwRkJTeXhSUVVOSUxFbEJRVWtzUzBGQlN5eEZRVUZGTEUxQlFVMHNRMEZCUXl4WFFVRk5MRXRCUVVzc1JVRkJSU3hOUVVGTkxFTkJRVU1zU1VGRWJrSndSQ3hGUVVVMVFpeERRVkZCTEUxQlFVMTFRaXhGUVVGTkxFTkJRMVlzVDBGQlN5eExRVUZMTEZGQlEwZ3NSMEZCUnl4TFFVRkxMRVZCUVVVc1RVRkJUVUVzUTBGQlNTeERRVUZETEVsQlFVa3NTMEZCU3l4RlFVRkZMRTFCUVUxQkxFTkJRVWtzUTBGQlF5eEhRVVI0UW5aQ0xFVkJSVFZDTEVOQlVVRXNWMEZCV1N4RFFVTldMRTlCUVVzc1MwRkJTeXhSUVVOSUxFZEJRVWNzUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4SlFVRkpMRXRCUVVzc1JVRkJSU3hWUVVGVkxFTkJRVU1zUjBGRWVFSkJMRVZCUlRWQ0xFTkJVMEVzVlVGQlZYVkNMRVZCUVUwc1EwRkRaQ3hQUVVGTExFdEJRVXNzVVVGRFNDeEhRVUZITEV0QlFVc3NSVUZCUlN4VlFVRlZRU3hEUVVGSkxFTkJRVU1zU1VGQlNTeExRVUZMTEVWQlFVVXNWVUZCVlVFc1EwRkJTU3hEUVVGRExFZEJSR2hEZGtJc1JVRkZOVUlzUTBGVFFTeFRRVUZUZFVRc1JVRkJXU3hEUVVGRkxGVkJRVUZETEVWQlFWa3NWVUZCVFN4RlFVRkpMRU5CUVVNc1JVRkJSeXhEUVVNdlF5eFBRVUZMTEV0QlFVc3NVVUZEU0N4SFFVRkhMRXRCUVVzc1JVRkJSU3hUUVVGVFJDeERRVUZWTEVOQlFVTXNSMEZCUjBNc1EwRkJVeXhIUVVGSExFdEJRVXNzUlVGQlJTeFRRVUZUUkN4RFFVRlZMRU5CUVVNc1IwRkVja1IyUkN4RlFVVTFRaXhEUVdOQkxGZEJRVmM0UWl4RlFVRk5VQ3hGUVVGTkxFTkJRM0pDTEU5QlFVc3NTMEZCU3l4UlFVZElMRXRCUVVzc1JVRkJSU3hMUVVGTExFdEJRVXNzUlVGQlIwOHNSVUZCVFZBc1EwRkJTU3hGUVVZMVFrZ3NSVUZCVXl4UlFVRlJMRXRCUVVzc1lVRkJZU3hEUVVjNVF5eERRVk5CTEdGQlFXRnhReXhGUVVGUExFTkJRMnhDTEU5QlFVOXdSQ3hGUVVGVExHTkJRV052UkN4RlFVRk5MRXRCUVVzc1EwRkJReXhGUVVGSFFTeEZRVUZOTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUXpWRUxFTkJRMFlzUlVOdWJFSkJMRWxCUVhGQ1F5eEhRVUZ5UWl4TFFVRXdRaXhEUVUxNFFpeFBRVUZQTEU5QlFVOURMRVZCUVU5RExFVkJRVk1zV1VGQllTeERRVU42UXl4SlFVRk5ReXhGUVVGUlF5eEZRVUZUTEVsQlFVa3NSVUZCUlN4UlFVRlJTQ3hEUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZGTEUxQlFVOHNSVUZCUnl4RFFVRkRMRVZCUlRWRUxFMUJRVThzUTBGQlEwRXNSVUZCU3l4aFFVRmxSU3hGUVVGTkxGTkJRVmRCTEVWQlFVMHNTVUZCU1N4RFFVRkZMRTFCUVU4c1EwRkJSU3hEUVVGRExFVkJRVVVzVFVGRGRrVXNRMEZQUVN4UFFVRlBMR2RDUVVGblFrWXNSVUZCVFN4RFFVTXpRaXhQUVVGUFNTeEhRVUZUTEZsQlFWbEtMRU5CUVVrc1EwRkRiRU1zUTBGblFrRXNUMEZCVHl4alFVRmpTeXhGUVVGUExFTkJRekZDTEU5QlFVOURMRWRCUVdORUxFVkJRVTlLTEVWQlFWTXNWMEZCVnl4RFFVTnNSQ3hEUVcxQ1FTeFBRVUZQTEU5QlEweE5MRVZCUVZNc1QwRkRWQ3hEUVVGRkxFOUJRVUZETEVWQlFWTXNTMEZCVFN4blFrRkJRVU1zUlVGQmEwSXNTMEZCVFN4UFFVRkJReXhGUVVGVExFdEJRVTBzWlVGQlFVTXNSVUZCYVVJc1UwRkJWU3hGUVVGSkxFTkJRVU1zUlVGRGVFWXNRMEZEUVN4UFFVRlJSQ3hIUVVGVlJTeEhRVUZQTEU5QlFVOUtMRVZCUVZGRExFVkJRV2xDUlN4RFFVRmpMRWRCUVVjc1QwRkJUMG9zUTBGQlRTeERRVU42Uml4RFFXVkJMRTlCUVU4c1lVRkRURUVzUlVGQlV5eFBRVU5VTEVOQlFVVXNUMEZCUVVNc1JVRkJVeXhMUVVGTkxHZENRVUZCUXl4RlFVRnJRaXhMUVVGTkxFOUJRVUZETEVWQlFWTXNTMEZCVFN4bFFVRkJReXhGUVVGcFFpeFRRVUZWTEVWQlFVa3NRMEZCUXl4RlFVTjRSaXhEUVVOQkxFOUJRVkZFTEVkQlFWVkZMRWRCUVU4c1QwRkJUMG9zUlVGQlVVTXNSVUZCYVVKRkxFTkJRV01zUjBGQlJ5eFBRVUZQU2l4RlFVRlJMRVZCUVVrc1EwRkRMMFlzUTBGblFrRXNUMEZCVHl4VFFVRlRRU3hGUVVGVExFOUJRVkVzUTBGQlJTeFBRVUZCUXl4RlFVRlRMRXRCUVUwc1owSkJRVUZETEVWQlFXdENMRXRCUVUwc1QwRkJRVU1zUlVGQlV5eEpRVUZMTEVWQlFVa3NRMEZCUXl4RlFVRkhMRU5CUXpsR0xFOUJRVkZCTEVkQlFWVkZMRWRCUVU4c1QwRkJUMG9zUlVGQlVVTXNSVUZCYVVJc1NVRkJTU3hIUVVGSExGTkJRVk5HTEVOQlFVMHNRMEZEYWtZc1EwRmpRU3hQUVVGUExHVkJRMHhCTEVWQlFWTXNUMEZEVkN4RFFVRkZMRTlCUVVGRExFVkJRVk1zUzBGQlRTeG5Ra0ZCUVVNc1JVRkJhMElzUzBGQlRTeFBRVUZCUXl4RlFVRlRMRWxCUVVzc1JVRkJTU3hEUVVGRExFVkJRelZFTEVOQlEwRXNUMEZCVVVFc1IwRkJWVVVzUjBGQlR5eFBRVUZQU2l4RlFVRlJReXhGUVVGcFFpeEpRVUZKTEVkQlFVY3NVMEZCVTBZc1JVRkJVU3hGUVVGSkxFTkJRM1pHTEVOQlZVRXNUMEZCVHl4VlFVRlZMRU5CUVVVc1QwRkJRVU1zUlVGQlV5eEpRVUZMTEVWQlFVa3NRMEZCUXl4RlFVRkhMRU5CUTNaRExFOUJRVTlKTEVkQlFVOHNUMEZCVDBvc1EwRkJUU3hGUVVGRkxGVkJRVlVzUTBGRGVrTXNRMEZaUVN4UFFVRlBMRXRCUVV0RUxFVkJRVk1zVVVGQlV5eERRVUZGTEU5QlFVRkRMRVZCUVZNc1NVRkJTeXhGUVVGSkxFTkJRVU1zUlVGQlJ5eERRVU53UkN4UFFVRlBTU3hIUVVGUExFOUJRVTlLTEVWQlFWRXNTMEZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTMFFzUTBGQlRTeERRVU16UkN4RFFWVkJMRTlCUVU4c1ZVRkJWeXhEUVVOb1FpeE5RVUZQTEVOQlFVVXNVMEZCVlUwc1IwRkJXU3hEUVVGRkxFTkJRMjVETEVOQlEwWXNSVU4wUzBFc1UwRkJVME1zUjBGQlVVTXNSVUZCVTBNc1JVRkJUeXhEUVVNdlFpeEpRVUZOUXl4RlFVRmxReXhIUVVGUFFTeEZRVUZITEUxQlFVMHNSVUZCUnl4RFFVRkZMR05CUVdVc1JVRkJTeXhEUVVGRExFVkJRVVVzVVVGQlVTeExRVUZMTEVWQlFVVXNVVUZCVVN4RlFVTjBSa01zUlVGQlMwWXNSVUZCV1VRc1EwRkJTeXhGUVVGSlF5eEZRVUZaUml4RFFVRlBMRVZCUXk5RExFOUJRVThzUzBGQlN5eE5RVUZOU3l4RlFVRlRMRmRCUVZkRUxFTkJRVVVzUlVGQlJTeEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVTjBSQ3hEUVVWQkxGTkJRVk5GTEVkQlFXVkRMRVZCUVZGT0xFVkJRVTlQTEVWQlFVOHNRMEZETlVNc1NVRkJUVU1zUlVGQlZTeERRVU5rTEVOQlFVTXNVVUZCVXl4RFFVRkRMRVZCUVVkRExFbEJRVTFCTEVWQlFVVXNTMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkRia01zUTBGQlF5eFhRVUZaTEVOQlFVTXNSVUZCUjBFc1NVRkJUVUVzUlVGQlJTeFJRVUZWTEVWQlFVVXNUMEZCVHl4RlFVTTFReXhEUVVGRExGTkJRVlVzUTBGQlF5eEZRVUZIUVN4SlFVRk5RU3hGUVVGRkxFMUJRVkVzUlVGQlJTeFBRVUZUUVN4RlFVRkZMRXRCUVU4c1JVRkJSU3hOUVVGUkxFVkJRVVVzUlVGREwwUXNRMEZEUlN4UlFVTkJMRU5CUVVNc1JVRkJSMEVzU1VGQlRTeERRVU5TTEVsQlFVMURMRVZCUVU5YUxFZEJRVkVzUlVGQlIxY3NRMEZCUXl4RlFVTjZRaXhQUVVGUlF5eEZRVUZSUVN4RlFVRlBMRWRCUVUwc1EwRkRMMElzUTBGRFJpeEZRVU5CTEVOQlFVTXNUMEZCVVZvc1JVRkJUeXhEUVVOc1FpeEZRVVZOWVN4RlFVRlZMRU5CUVVNc1JVRkRZa01zUlVGQllVTXNSVUZGYWtJc1QwRkJWeXhEUVVGRFF5eEZRVUZOUXl4RFFVRk5MRWxCUVV0UUxFVkJRek5DTEVkQlFVbEVMRVZCUVUwc1VVRkJVVThzUTBGQlNTeEhRVUZMTEVWQlFVY3NRMEZETlVKR0xFVkJRV05GTEVWQlJXUXNTVUZCU1VVc1JVRkJVVVFzUlVGQlQxUXNSVUZCVVU0c1EwRkJTeXhGUVVOb1EyRXNSVUZCV1ZBc1JVRkJUeXhMUVVGTExFTkJRVVVzUTBGQlExRXNRMEZCU1N4RlFVRkhSU3hEUVVGTkxFTkJRVU1zUlVGRmNrTklMRVZCUVZsaUxFZEJRMlJOTEVWQlFWTkJMRVZCUVU4c1MwRkJTeXhEUVVGRkxFTkJRVU5STEVOQlFVa3NSVUZCUjBVc1JVRkJVU3hEUVVGRkxFTkJRVU1zUlVGRE1VTkJMRWRCUVZNc1IwRkZWRllzUlVGQlUwOHNSVUZIV0VZc1JVRkJVVWNzUTBGQlNTeEZRVUZKUlN4RFFVTnNRaXhEUVVkR0xFMUJRVThzUTBGQlExWXNSVUZCVVVzc1JVRkJVMFVzUlVGQlYwUXNRMEZCVnl4RFFVTnFSQ3hEUVVWbExGTkJRVkpMTEVkQlFXdENiRUlzUlVGQlUwTXNSVUZCVDA4c1JVRkJUMWNzUlVGQlRTeERRVU53UkN4SFFVRkpMRU5CUVVOYUxFVkJRVkZMTEVWQlFWTkZMRVZCUVZkRUxFTkJRVmNzUlVGQlNWQXNSMEZCWlU0c1JVRkJVME1zUlVGQlQwOHNRMEZCU3l4RlFVVTVSVmtzUlVGQmEwSnVRaXhGUVVGUlRTeEZRVVV4UW1Nc1JVRkJhMEppTEVWQlFVMHNUMEZETTBKakxFZEJRVTBzUTBGQlF5eFJRVUZUTEZWQlFWY3NWVUZCVnl4alFVRmpMRVZCUVVVc1VVRkJVVUVzUTBGQlF5eEhRVUZMTEVOQlEzWkZMRVZCUlVsRUxFVkJRV2RDTEZOQlFWY3NTVUZEZWtKUUxFVkJRVmxpTEVsQlEyUmhMRVZCUVZsUUxFVkJRVThzUzBGQlN5eERRVUZGTEVOQlFVTk5MRU5CUVZjc1JVRkJSeXhEUVVGRkxFTkJRVU1zUjBGSE1VTkRMRWxCUVdOUUxFbEJRMmhDU3l4RlFVRlJReXhEUVVGWExFZEJRVXRFTEVWQlFWRkRMRU5CUVZjc1IwRkJTeXhIUVVGTFR5eEhRVUZ0UWs0c1JVRkJXVkFzUzBGSmVFWXNTVUZCVFdkQ0xFVkJRVmRzUWl4RlFVRlRMRmRCUVZkUExFVkJRVk5QTEVOQlFVa3NSVUZGYkVRc1QwRkJTVVVzUlVGQlowSXNUMEZCVXl4RlFVTndRbWhDTEVWQlFWTXNWMEZCVjJVc1JVRkJhVUpFTEVOQlFVa3NSVUZETjBNc1VVRkJVU3hIUVVGSFJTeERRVUZsTEVWQlF6RkNMRXRCUVV0RkxFTkJRVkVzUlVGRlZFRXNRMEZGV0N4RFF6TkZRU3hKUVVGTlF5eEhRVUZ0UWl4RFFVTjJRaXhMUVVGTkxHdENRVU5PTEZGQlFWTXNhMEpCUTFRc1MwRkJUU3hyUWtGRFRpeExRVUZOTEd0Q1FVTk9MRXRCUVUwc2EwSkJRMDRzVTBGQlZTeHJRa0ZEVml4TFFVRk5MR3RDUVVOT0xGRkJRVk1zTUVWQlExUXNTMEZCVFN4clFrRkRUaXhMUVVGTkxHdENRVU5PTEV0QlFVMHNhMEpCUTA0c1MwRkJUU3hyUWtGRFRpeExRVUZOTEd0Q1FVTk9MRXRCUVUwc2EwSkJRMDRzUzBGQlRTeHJRa0ZEVGl4TFFVRk5MR3RDUVVOT0xGRkJRVk1zYTBKQlExUXNTMEZCVFN4clFrRkRUaXhMUVVGTkxHdENRVU5PTEV0QlFVMHNhMEpCUTA0c1MwRkJUU3hMUVVOU0xFVkJSVTFETEVkQlFYZENMRU5CUXpWQ0xFdEJRVTBzUTBGQlF5eExRVUZOTEVsQlFVa3NSVUZEYWtJc1VVRkJVeXhEUVVGRExFdEJRVTBzU1VGQlNTeEZRVU53UWl4TFFVRk5MRU5CUVVNc1MwRkJUU3hKUVVGSkxFVkJRMnBDTEV0QlFVMHNRMEZCUXl4TFFVRk5MRWxCUVVrc1JVRkRha0lzUzBGQlRTeERRVUZETEV0QlFVMHNTVUZCU1N4RlFVTnFRaXhUUVVGVkxFTkJRVU1zVFVGQlR5eExRVUZMTEVWQlEzWkNMRXRCUVUwc1EwRkJReXhMUVVGTkxFbEJRVWtzUlVGRGFrSXNTMEZCVFN4RFFVRkRMRXRCUVUwc1NVRkJTU3hGUVVOcVFpeExRVUZOTEVOQlFVTXNTMEZCVFN4SlFVRkpMRVZCUTJwQ0xFdEJRVTBzUTBGQlF5eExRVUZOTEVsQlFVa3NSVUZEYWtJc1MwRkJUU3hEUVVGRExFdEJRVTBzU1VGQlNTeEZRVU5xUWl4TFFVRk5MRU5CUVVNc1MwRkJUU3hKUVVGSkxFVkJRMnBDTEV0QlFVMHNRMEZCUXl4TFFVRk5MRWxCUVVrc1JVRkRha0lzUzBGQlRTeERRVUZETEV0QlFVMHNTVUZCU1N4RlFVTnFRaXhMUVVGTkxFTkJRVU1zUzBGQlRTeEpRVUZKTEVWQlEycENMRkZCUVZNc1EwRkJReXhMUVVGTkxFbEJRVWtzUlVGRGNFSXNTMEZCVFN4RFFVRkRMRXRCUVUwc1NVRkJTU3hGUVVOcVFpeExRVUZOTEVOQlFVTXNTMEZCVFN4SlFVRkpMRVZCUTJwQ0xFdEJRVTBzUTBGQlF5eExRVUZOTEVsQlFVa3NRMEZEYmtJc1JVRkZUVU1zUjBGQlpVWXNSMEZCYVVJc1VVRkJVU3hSUVVGUkxGZEJRVmtzUlVGQlJTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RlFVVjJSU3hUUVVGVFJ5eEhRVUZaUXl4RlFVRkxMRU5CUXk5Q0xFbEJRVWxETEVWQlFWRXNVMEZCVTBRc1JVRkJTeXhGUVVGRkxFVkJRelZDTEVkQlFVa3NUVUZCVFVNc1EwRkJTeXhGUVVGSExFTkJRMmhDUVN4RlFVRlJMRWRCUTFJc1VVRkJVME1zUlVGQlNTeEZRVUZIUVN4RlFVRkpSaXhGUVVGSkxFOUJRVkZGTEVsQlFVc3NRMEZEYmtNc1NVRkJUVU1zUlVGQlQwZ3NSVUZCU1N4WFFVRlhSU3hEUVVGRExFVkJSVGRDTEVkQlFVbEdMRVZCUVVsRkxFTkJRVU1zUlVGQlJTeFBRVUZQVGl4SFFVRnBRaXhQUVVGUExFbEJRVTBzUjBGRE9VTkxMRWRCUVZOSUxFZEJRV0VzVVVGQlVVVXNSVUZCU1VVc1EwRkJReXhEUVVGRExFMUJSWEJETEZOQlFWZEZMRXRCUVU5UUxFZEJRWFZDTEVOQlEzWkRMRWRCUVUwc1EwRkJRMUVzUlVGQlMwTXNRMEZCUnl4RlFVRkpWQ3hIUVVGelFrOHNRMEZCUnl4RlFVTjRRMFFzUjBGQlVVVXNSMEZCVDBZc1IwRkJVVWNzU1VGRGVrSk1MRWRCUVZORkxFVkJRVTlGTEVWQlJYQkNMRU5CUlVvc1EwRkRRU3hQUVVGUExGTkJRVk5LTEVWQlFVOHNSVUZCUlN4RFFVTXpRaXhMUVVORkxGRkJRVTlCTEVOQlJWZ3NRMEZGVHl4VFFVRlRUU3hIUVVGWExFTkJRVVVzWjBKQlFVRkRMRU5CUVdkQ0xFVkJRVWRETEVWQlFWTXNSMEZCU1N4RFFVTXpSQ3hQUVVGUExFbEJRVWtzVDBGQlR5eEhRVUZIWWl4SFFVRnBRbGtzUjBGQmJVSXNUVUZCVFN4RFFVRkRMRWRCUVVkRExFTkJRVTBzUlVGQlJTeERRVU0zUlN4RFEyeEZRU3hKUVVGTlF5eEhRVUZqTEc5RVFVVndRaXhUUVVGVFF5eEZRVUZSUXl4RlFVRlBReXhGUVVGUlF5eEhRVUZOUVN4RlFVRkhMRU5CUTNaRExFMUJRVThzUTBGQlJTeE5RVUZCUml4RlFVRlBMRTFCUVU4c1EwRkJReXhEUVVGRFJ5eERRVUZETEVsQlFVMUdMRVZCUVV0SExFZEJRVmxFTEVOQlFVTXNRMEZCUXl4RFFVRkZMRU5CUTNaRUxFTkJSVUVzU1VGQlRVVXNSMEZCVHl4UFFVTlFReXhIUVVGakxFdEJRVXRFTEVWQlFVa3NTVUZEZGtKRkxFZEJRVzlDTEVsQlFVa3NUMEZCVDBRc1IwRkJZU3hIUVVGSExFVkJSWEpFTEZOQlFWTkZMRWRCUVdGTUxFVkJRVWNzUTBGSGRrSXNUMEZCVDBFc1JVRkJSU3hSUVVGUkxFMUJRVThzVFVGQlRTeEZRVUZGTEZGQlFWRkpMRWRCUVcxQ1JDeEZRVUZYTEVOQlEzaEZMRU5CUlVFc1UwRkJVMGNzUjBGQmNVSk9MRVZCUVVjc1EwRkRMMElzVDBGQlQwRXNSVUZEU2l4UlFVRlJMRTFCUVU4c1JVRkJSU3hGUVVOcVFpeFJRVUZSU1N4SFFVRnRRaXhIUVVGSExFVkJRemxDTEZsQlFWa3NRMEZEYWtJc1EwRkZRU3hUUVVGVFJ5eEhRVUZOUXl4RlFVRlRReXhGUVVGWkxFTkJRMnhETEU5QlFVbEVMRWxCUVZrc1MwRkRVQ3hMUVVWQkxFTkJRMHdzVFVGQlR5eFBRVUZQUVN4RlFVRlJMRWxCUVVsSUxFVkJRVmtzUlVGQlJTeExRVUZMTEVkQlFVY3NRMEZCUXl4RlFVTnFSQ3hOUVVGUExFTkJRVU1zUTBGQlEwd3NRMEZCUXl4SlFVTlNVU3hGUVVGUkxGVkJRVmRVTEVkQlFVMVBMRWRCUVhGQ1RpeERRVUZETEVsQlFVMU5MRWRCUVhGQ1VDeERRVUZETEVOQlFVTXNSVUZCU1ZVc1EwRkRjRVlzUTBGRlNpeERRVVZCTEZOQlFWTkRMRWRCUVU5aUxFVkJRVTlqTEVWQlFWRXNRMEZETjBJc1RVRkJUeXhEUVVGRkxFMUJRVUZrTEVWQlFVOHNUVUZCVHl4RFFVRkRMRU5CUVVNc1EwRkJSV1VzUlVGQlIwTXNRMEZCUXl4SlFVRk5ReXhIUVVGaFJpeEZRVUZIUXl4RFFVRkRMRVZCUVVjc1QwRkJRVVlzUTBGQlR5eERRVU5zUlN4RFFVVkJMRk5CUVZOSkxFZEJRVTlzUWl4RlFVRlBMRU5CUTNKQ0xFMUJRVThzUTBGQlJTeE5RVUZCUVN4RlFVRlBMRTFCUVU4c1EwRkJReXhEUVVGRFJ5eERRVUZETEVsQlFVMUJMRU5CUVVVc1EwRkRjRU1zUTBGRlFTeFRRVUZUWjBJc1IwRkJXVU1zUlVGQlR5eERRVU14UWl4UFFVRlBRU3hGUVVGTkxGRkJRVkVzT0VKQlFTdENMRTFCUVUwc1EwRkROVVFzUTBGRlFTeFRRVUZUUXl4SFFVRmhReXhGUVVGUFF5eEZRVUZMTEVOQlEyaERMRWxCUVUxRExFVkJRVTFETEVkQlFWZEdMRU5CUVVjc1JVRkRlRUpITEVWQlFVMUVMRWRCUVZkR0xFVkJRVXNzUzBGQlN5eEZRVU16UWtrc1JVRkJVVVlzUjBGQlYwWXNSVUZCU3l4TFFVRkxMRVZCUXpkQ1N5eEZRVUZQU0N4SFFVRlhSaXhGUVVGTExFdEJRVXNzUlVGRE5VSk5MRVZCUVUxS0xFZEJRVmRHTEVWQlFVc3NTMEZCU3l4RlFVTXpRazhzUlVGQlYwd3NSMEZCVjBZc1JVRkJTeXhQUVVGUExFVkJRMnhEVVN4RlFVRmhUaXhIUVVGWFJpeEZRVUZMTEU5QlFVOHNSVUZEY0VOVExFVkJRVmRRTEVkQlFWZEdMRVZCUVVzc1QwRkJUeXhGUVVOc1ExVXNSVUZCV1ZJc1IwRkJWMFlzUlVGQlN5eFBRVUZQTEVWQlEyNURWeXhGUVVGWlZDeEhRVUZYUml4RlFVRkxMRTlCUVU4c1JVRkRia05aTEVWQlFWbFdMRWRCUVZkR0xFVkJRVXNzVDBGQlR5eEZRVU51UTJFc1JVRkJWME1zU1VGQlR5eERRVUZGTEUxQlFVOHNUMEZCVDJ4Q0xFZEJRVmxyUWl4RlFVRkZMRWRCUVVjc1EwRkJReXhGUVVGSExFMUJRVThzUTBGQlF5eERRVUZEYkVNc1EwRkJReXhKUVVGTlFTeEZRVUZITEZGQlFWTXNSVUZCU3l4SFFYZEljRVp0UXl4SFFYWklUMFFzUjBGQlRTeERRVU5tTEVkQlFVbG1MRVZCUVUwc1VVRkRVaXhQUVVGUFl5eEZRVUZSUXl4RFFVRkRMRVZCUld4Q0xFOUJRVkZCTEVWQlFVVXNTVUZCU3l4RFFVVmlMRWxCUVVzc1NVRkRTQ3hQUVVGUE0wSXNSMEZCVFdFc1JVRkJTU3hMUVVGTExGRkJRVk1zUlVGQlN5eEZRVUZITEVOQlFVTXNSVUZETVVNc1NVRkJTeXhMUVVOSUxFOUJRVTlpTEVkQlFVMWhMRVZCUVVrc1MwRkJTeXhQUVVGUkxFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlJYcERMRWxCUVVzc1NVRkRTQ3hQUVVGUGVFSXNSVUZCVVdsRExFTkJRVkVzUlVGRGVrSXNTVUZCU3l4TFFVTklMRTlCUVU5cVF5eEZRVUZSYlVNc1JVRkJWMHNzUlVGQll5eEZRVU14UXl4SlFVRkxMRTlCUTBnc1QwRkJUM2hETEVWQlFWRTJRaXhEUVVGSkxFVkJRM0pDTEVsQlFVc3NVVUZEU0N4UFFVRlBOMElzUlVGQlVXOURMRU5CUVZNc1JVRkRNVUlzU1VGQlN5eFRRVU5JTEU5QlFVOXdReXhGUVVGUk9FSXNRMEZCUnl4RlFVVndRaXhKUVVGTExFbEJRMGdzVDBGQlR6bENMRVZCUVZFclFpeERRVUZSTEVWQlEzcENMRWxCUVVzc1MwRkRTQ3hQUVVGUEwwSXNSVUZCVVRKQ0xFTkJRVWNzUlVGRGNFSXNTVUZCU3l4TlFVTklMRTlCUVU5b1FpeEhRVUZOWVN4RlFVRkpMRTlCUVU4c1VVRkJVeXhIUVVGTkxFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlEyeEVMRWxCUVVzc1QwRkRTQ3hQUVVGUFlpeEhRVUZOWVN4RlFVRkpMRTlCUVU4c1QwRkJVU3hIUVVGTkxFVkJRVXNzUlVGQlJ5eERRVUZETEVWQlEycEVMRWxCUVVzc1NVRkRTQ3hQUVVGUGVFSXNSVUZCVVN0Q0xFTkJRVkVzUlVGRGVrSXNTVUZCU3l4TFFVTklMRTlCUVU4dlFpeEZRVUZSTWtJc1EwRkJSeXhGUVVOd1FpeEpRVUZMTEUxQlEwZ3NUMEZCVDJoQ0xFZEJRVTFoTEVWQlFVa3NUMEZCVHl4UlFVRlRMRWRCUVU4c1JVRkJTeXhGUVVGSExFTkJRVU1zUlVGRGJrUXNTVUZCU3l4UFFVTklMRTlCUVU5aUxFZEJRVTFoTEVWQlFVa3NUMEZCVHl4UFFVRlJMRWRCUVU4c1JVRkJTeXhGUVVGSExFTkJRVU1zUlVGRmJFUXNTVUZCU3l4SlFVTklMRTlCUVU5NFFpeEZRVUZSSzBJc1EwRkJVU3hGUVVONlFpeEpRVUZMTEV0QlEwZ3NUMEZCVHk5Q0xFVkJRVkV5UWl4RFFVRkhMRVZCUlhCQ0xFbEJRVXNzU1VGRFNDeFBRVUZQTTBJc1JVRkJVV2RETEVOQlFWVXNSVUZETTBJc1NVRkJTeXhOUVVOSUxFOUJRVTlvUXl4RlFVRlJORUlzUTBGQlN5eEZRVVYwUWl4SlFVRkxMRXRCUTBnc1QwRkJUelZDTEVWQlFWRXlRaXhEUVVGSExFVkJRM0JDTEVsQlFVc3NTVUZEU0N4UFFVRlBNMElzUlVGQlVTdENMRU5CUVZFc1JVRkRla0lzU1VGQlN5eExRVU5JTEU5QlFVOHZRaXhGUVVGUk1rSXNRMEZCUnl4RlFVTndRaXhKUVVGTExFbEJRMGdzVDBGQlR6TkNMRVZCUVZFclFpeERRVUZSTEVWQlEzcENMRWxCUVVzc1MwRkRTQ3hQUVVGUEwwSXNSVUZCVVRKQ0xFTkJRVWNzUlVGRGNFSXNTVUZCU3l4SlFVTklMRTlCUVU4elFpeEZRVUZSSzBJc1EwRkJVU3hGUVVONlFpeEpRVUZMTEVsQlEwZ3NUMEZCVHk5Q0xFVkJRVkVyUWl4RFFVRlJMRVZCUTNwQ0xFbEJRVXNzUzBGRFNDeFBRVUZQTDBJc1JVRkJVVEpDTEVOQlFVY3NSVUZEY0VJc1NVRkJTeXhKUVVOSUxFOUJRVTh6UWl4RlFVRlJLMElzUTBGQlVTeEZRVU42UWl4SlFVRkxMRXRCUTBnc1QwRkJUeTlDTEVWQlFWRXlRaXhEUVVGSExFVkJRM0JDTEVsQlFVc3NTVUZEU0N4UFFVRlBNMElzUlVGQlVXZERMRU5CUVZVc1JVRkRNMElzU1VGQlN5eE5RVU5JTEU5QlFVOW9ReXhGUVVGUk5FSXNRMEZCU3l4RlFVTjBRaXhKUVVGTExFbEJRMGdzVDBGQlQxUXNSMEZCVDJVc1EwRkJVeXhGUVVONlFpeEpRVUZMTEV0QlEwZ3NUMEZCVDJZc1IwRkJUMWtzUTBGQlVTeEZRVU40UWl4SlFVRkxMRTFCUTBnc1QwRkJUeTlDTEVWQlFWRjVRaXhEUVVGSExFVkJSWEJDTEVsQlFVc3NTVUZEU0N4UFFVRlBaQ3hIUVVGTllTeEZRVUZKTEZWQlFWVXNSVUZCUnl4RFFVRkRMRVZCUldwRExFbEJRVXNzVDBGRFNDeFBRVUZQZUVJc1JVRkJVVFpDTEVOQlFVa3NSVUZEY2tJc1NVRkJTeXhMUVVOSUxFOUJRVTgzUWl4RlFVRlJiVU1zUlVGQlYwc3NSVUZCWXl4RlFVVXhReXhKUVVGTExFbEJRMGdzVDBGQlQzaERMRVZCUVZFclFpeERRVUZSTEVWQlEzcENMRWxCUVVzc1MwRkRTQ3hQUVVGUEwwSXNSVUZCVVRKQ0xFTkJRVWNzUlVGRmNFSXNTVUZCU3l4SlFVTk1MRWxCUVVzc1NVRkRTQ3hQUVVGUE0wSXNSVUZCVVhsQ0xFTkJRVWNzUlVGRGNFSXNTVUZCU3l4TlFVTklMRTlCUVU5a0xFZEJRVTFoTEVWQlFVa3NVMEZCVXl4UlFVRlRMRWRCUVU4c1JVRkJTeXhGUVVGSExFTkJRVU1zUlVGRGNrUXNTVUZCU3l4UFFVTklMRTlCUVU5aUxFZEJRVTFoTEVWQlFVa3NVMEZCVXl4UFFVRlJMRWRCUVU4c1JVRkJTeXhGUVVGSExFTkJRVU1zUlVGRGNFUXNTVUZCU3l4TlFVTklMRTlCUVU5aUxFZEJRVTFoTEVWQlFVa3NVMEZCVXl4UlFVRlRMRWRCUVUwc1JVRkJTeXhGUVVGSExFTkJRVU1zUlVGRGNFUXNTVUZCU3l4UFFVTklMRTlCUVU5aUxFZEJRVTFoTEVWQlFVa3NVMEZCVXl4UFFVRlJMRWRCUVUwc1JVRkJTeXhGUVVGSExFTkJRVU1zUlVGRmJrUXNTVUZCU3l4SlFVTk1MRWxCUVVzc1MwRkRTQ3hQUVVGUFZpeEhRVUZQTEVsQlFVa3NUMEZCVHl4UlFVRlJhVUlzUlVGQlV5eE5RVUZOTEZOQlFWTktMRVZCUVVrc1RVRkJUU3hMUVVGTExFVkJRVWNzUTBGQlF5eEZRVU01UlN4SlFVRkxMRTFCUTBnc1QwRkJUMklzUjBGQlR5eEpRVUZKTEU5QlFVOHNVVUZCVVdsQ0xFVkJRVk1zVFVGQlRTeExRVUZMU2l4RlFVRkpMRTFCUVUwc1NVRkJTU3hGUVVGSExFTkJRVU1zUlVGSGVrVXNTVUZCU3l4SlFVTklMRTlCUVU5U0xFZEJRVThzYjBKQlFXOUNMRVZCUTNCRExGRkJRMFVzVDBGQlQydENMRVZCUVZGRExFTkJRVU1zUTBGRGNFSXNRMEZEUml4SFFVVnRRbVlzUTBGQlN5eEhRVUZMTEVOQlF6ZENMR05CUVdWNFFpeEZRVU5xUWl4RlFVVkJMRTlCUVVGM1F5eEZRVUZMTEUxQlFWRm9RaXhGUVVWT1owSXNRMEZEVkN4RFFVVkJMRWxCUVUxRkxFZEJRVEJDTEVOQlF6bENMRXRCUVUwc1EwRkRTaXhWUVVGWExFdEJRMWdzVVVGQlV5eFBRVU5ZTEVWQlEwRXNUVUZCVHl4RFFVTk1MRkZCUVZNc1NVRkRWQ3hWUVVGWExFdEJRMWdzVFVGQlR5eE5RVU5RTEV0QlFVMHNUVUZEVWl4RlFVTkJMRWxCUVVzc1EwRkRTQ3hSUVVGVExFbEJRMVFzVlVGQlZ5eEpRVU5pTEVWQlEwRXNVVUZCVXl4RFFVTlFMRTFCUVU4c1RVRkRVQ3hMUVVGTkxFMUJRMUlzUlVGRFFTeFZRVUZYTEVsQlExZ3NWVUZCVnl4SlFVTllMRXRCUVUwc1EwRkRTaXhSUVVGVExFbEJRMVFzVlVGQlZ5eEpRVU5pTEVWQlEwRXNUMEZCVVN4RFFVTk9MRkZCUVZNc1NVRkRWQ3hWUVVGWExFbEJRMklzUlVGRFFTeFBRVUZSTEVOQlEwNHNVVUZCVXl4SlFVTlVMRlZCUVZjc1NVRkRZaXhEUVVOR0xFVkJSVUVzVTBGQlUwTXNSMEZCWVVNc1JVRkJUVU1zUlVGQlVVTXNSVUZCV1N4RFFVTTVReXhIUVVGTkxFTkJRVVVzUzBGQlFVTXNSVUZCVFN4TlFVRkJla0lzUTBGQlRTeEZRVUZKYzBJc1JVRkZlRUlzUjBGQlNVY3NTVUZCVXl4VlFVTllMRTFCUVU4c1EwRkRUQ3hSUVVGVExFZEJRMVFzU1VGQlMzcENMRU5CUTFBc1JVRkhSaXhKUVVGTk1FSXNSVUZCVVVZc1JVRkJWME1zUTBGQlNTeEZRVVY2UWtVc1JVRkJUVkFzUjBGQmQwSkxMRU5CUVVrc1JVRkxkRU1zUjBGS1NTeFBRVUZQUlN4SFFVRlJMRmRCUTJwQ1FTeEZRVUZOUVN4RlFVRkpSQ3hEUVVGTExFZEJSMkpETEVWQlEwWXNUVUZCVHl4RFFVTk1MRkZCUVZNc1IwRkRWQ3hKUVVGQlFTeERRVU5HTEVOQlNVb3NRMEZGUVN4VFFVRlRReXhIUVVGWFF5eEZRVUZQTEVOQlJYcENMRTFCUVU4c1EwRkJReXhKUVVSSFFTeEZRVUZOTEVsQlFVdERMRWRCUVUxQkxFVkJRVVVzUzBGQlN5eEZRVUZGTEU5QlFVOHNRMEZCUTBNc1JVRkJSeXhKUVVGTkxFZEJRVWRCTEVOQlFVTXNTVUZCU1N4RlFVRkZMRTFCUVUwc1NVRkJTeXhGUVVGRkxFTkJReTlFTEVsQlFVdEdMRU5CUVVzc1EwRkRNVUlzUTBGRlFTeFRRVUZUUnl4SFFVRk5ReXhGUVVGUGNrUXNSVUZCVDNORUxFVkJRVlVzUTBGRGNrTXNTVUZCVFVNc1JVRkJWVVlzUlVGQlRTeE5RVUZOY2tRc1EwRkJTeXhGUVVWcVF5eEhRVUZKZFVRc1JVRkJVeXhEUVVOWUxFbEJRVTFETEVWQlFVMHNRMEZCUXl4RlFVTlVReXhGUVVGaExFVkJRMnBDTEZGQlFWZDJSQ3hMUVVGTGIwUXNSVUZEWkN4SFFVRkpTU3hIUVVGbFNpeEZRVUZWY0VRc1EwRkJReXhGUVVGSExFTkJReTlDTEVsQlFVMWhMRVZCUVVsMVF5eEZRVUZUY0VRc1EwRkJReXhGUVVOc1Fsa3NSVUZCVTBNc1JVRkJSU3hQUVVGVFFTeEZRVUZGTEU5QlFWTXNSVUZCU1N4RlFVTnFReXhEUVVGRFFTeEZRVUZGTEZOQlFWZEJMRVZCUVVVc1VVRkRiRUo1UXl4RlFVRkpla01zUlVGQlJTeE5RVUZOTEVsQlFVa3NRMEZCUXl4RFFVRkRMRVZCUVVsQkxFVkJRVVVzVFVGQlRYZERMRVZCUVZFc1RVRkJUVVVzUlVGQldVRXNSVUZCWVRORExFTkJRVTBzUTBGQlF5eEhRVVU1UlRKRExFZEJRV016UXl4RFFVTm9RaXhEUVVWR0xFMUJRVThzUTBGQlEzbERMRVZCUVZORExFTkJRVWNzUTBGRGRFSXNTMEZEUlN4UFFVRlBMRU5CUVVORUxFVkJRVk1zUTBGQlF5eERRVUZETEVOQlJYWkNMRU5CUlVFc1UwRkJVMGtzUjBGQmIwSktMRVZCUVZNc1EwRkRjRU1zU1VGQlRVc3NSVUZCVjNSRExFZEJRVlVzUTBGRGVrSXNUMEZCVVVFc1JVRkJUeXhEUVVOaUxFbEJRVXNzU1VGRFNDeE5RVUZQTEdOQlExUXNTVUZCU3l4SlFVTklMRTFCUVU4c1UwRkRWQ3hKUVVGTExFbEJRMGdzVFVGQlR5eFRRVU5VTEVsQlFVc3NTVUZEVEN4SlFVRkxMRWxCUTBnc1RVRkJUeXhQUVVOVUxFbEJRVXNzU1VGRFNDeE5RVUZQTEUxQlExUXNTVUZCU3l4SlFVTklMRTFCUVU4c1ZVRkRWQ3hKUVVGTExFbEJRMHdzU1VGQlN5eEpRVU5JTEUxQlFVOHNVVUZEVkN4SlFVRkxMRWxCUTBnc1RVRkJUeXhQUVVOVUxFbEJRVXNzU1VGRFRDeEpRVUZMTEVsQlEwZ3NUVUZCVHl4VlFVTlVMRWxCUVVzc1NVRkRTQ3hOUVVGUExHRkJRMVFzU1VGQlN5eEpRVU5JTEUxQlFVOHNWMEZEVkN4SlFVRkxMRWxCUTBnc1RVRkJUeXhWUVVOVUxGRkJRMFVzVDBGQlR5eEpRVU5ZTEVOQlEwWXNSVUZGU1hWRExFVkJRVThzUzBGRFVFTXNSVUZEU2l4UFFVRkxReXhGUVVGWlVpeEZRVUZSTEVOQlFVTXNTVUZEZUVKTkxFVkJRVTlITEVkQlFWTXNUMEZCVDFRc1JVRkJVU3hEUVVGRExFZEJSemRDVVN4RlFVRlpVaXhGUVVGUkxFTkJRVU1zU1VGRGJrSk5MRWxCUTBoQkxFVkJRVThzU1VGQlNVa3NSMEZCWjBKV0xFVkJRVkVzUTBGQlF5eEhRVVYwUTA4c1JVRkJhVUpRTEVWQlFWRXNSMEZIZEVKUkxFVkJRVmxTTEVWQlFWRXNRMEZCUXl4SlFVTjRRa0VzUlVGQlVTeEhRVUZMUVN4RlFVRlJMRVZCUVVrc1IwRkJTeXhGUVVGSkxFZEJSeTlDVVN4RlFVRlpVaXhGUVVGUkxFTkJRVU1zU1VGRGNFSkJMRVZCUVZFc1JVRkJTU3hKUVVGTlFTeEZRVUZSTEVsQlFVMHNSVUZEYkVOQkxFVkJRVkVzUjBGQlN5eEhRVU5LUVN4RlFVRlJMRWxCUVUwc1NVRkJUVUVzUlVGQlVTeEpRVUZOTEVsQlF6TkRRU3hGUVVGUkxFVkJRVWtzU1VGSldrRXNSVUZCVVN4SlFVRk5MRWRCUVV0QkxFVkJRVkVzU1VGRE4wSkJMRVZCUVZFc1JVRkJTU3hEUVVGRFFTeEZRVUZSTEVkQlIyeENVU3hGUVVGWlVpeEZRVUZSTEVOQlFVTXNTVUZEZUVKQkxFVkJRVkVzUlVGQlNWY3NSMEZCV1Znc1JVRkJVU3hEUVVGRExFZEJXVFZDTEVOQlZFMHNUMEZCVHl4TFFVRkxRU3hEUVVGUExFVkJRVVVzVDBGQlR5eERRVUZEV1N4RlFVRkhReXhKUVVGTkxFTkJRMnBFTEVsQlFVMXFRaXhGUVVGSlV5eEZRVUZSVVN4RFFVRkRMRVZCUTI1Q0xFOUJRVWxxUWl4SlFVTkdaMElzUlVGQlJXaENMRU5CUVVNc1JVRkJTVWtzUlVGQlVXRXNRMEZCUXl4SFFVZFlSQ3hEUVVOVUxFVkJRVWNzUTBGQlF5eERRVUZETEVWQlJWTk9MRVZCUVUxRExFTkJRV01zUTBGRGNFTXNRMEZGUVN4SlFVRkpUeXhIUVVGeFFpeExRVVY2UWl4VFFVRlRReXhKUVVGdFFpeERRVU14UWl4UFFVRkxSQ3hMUVVOSVFTeEhRVUZ4UWtVc1JVRkJVeXhYUVVGWExHRkJRV0VzUjBGSGFrUkdMRVZCUTFRc1EwRkZRU3hUUVVGVFJ5eEhRVUZ6UW14RUxFVkJRVTl4UWl4RlFVRlJMRU5CUXpWRExFZEJRVWx5UWl4RlFVRk5MRkZCUTFJc1QwRkJUMEVzUlVGSFZDeEpRVUZOYzBJc1JVRkJZVFpDTEVkQlFWVXNkVUpCUVhWQ2JrUXNSVUZCVFN4SFFVRkhMRVZCUlRkRUxFZEJRVWtzUTBGQlEzTkNMRVZCUTBnc1QwRkJUM1JDTEVWQlRWUXNTVUZCVFc5RUxFVkJTRmxFTEVkQlFWVXNUMEZCVHpsQ0xFVkJRVkZETEVOQlFWVXNSVUZETjBJc2IwSkJRVzlDTUVJc1IwRkJhVUlzUTBGQlF5eEZRVVY2UXl4SlFVRkxTeXhIUVVGTmJFTXNSMEZCWVd0RExFVkJRVWRvUXl4RlFVRlJReXhEUVVGVkxFTkJRVU1zUlVGRmJrVXNUMEZCU1RoQ0xFVkJRVThzVTBGQlV5eE5RVUZUTEVWQlEzQkNjRVFzUlVGSFJtOUVMRU5CUTFRc1EwRkZRU3hUUVVGVFJTeEhRVUZyUWtZc1JVRkJVUzlDTEVWQlFWRXNRMEZEZWtNc1QwRkJUeXhOUVVGTkxGVkJRVlVzVDBGQlR5eEhRVUZISzBJc1JVRkJUeXhKUVVGTExFZEJRVTFHTEVkQlFYTkNMRVZCUVVjM1FpeERRVUZOTEVOQlFVTXNRMEZCUXl4RFFVTjBSaXhEUVUxUExGTkJRVk5yUXl4SFFVRnJRbXhETEVWQlFWRlZMRVZCUVU5NVFpeEZRVUZSTEVOQlEzWkVMRWxCUVUxS0xFVkJRVk5GTEVkQlFXdENTQ3hIUVVGVkxGbEJRVmxMTEVOQlFVMHNSVUZCUjI1RExFTkJRVTBzUlVGRGNFVk5MRVZCUVZGNVFpeEZRVUZQTEVsQlFVdHlReXhIUVVGTmFFSXNSMEZCWVdkQ0xFVkJRVWROTEVOQlFVMHNRMEZCUXl4RlFVTnFSRzlETEVWQlFXOUNPVUlzUlVGQlRTeExRVUZOV2l4SFFVRk5RU3hGUVVGRkxHRkJRV0VzUlVGRmRrUXNSMEZCU1RCRExFVkJRMFlzVFVGQlR5eERRVUZGTEUxQlFVRXhRaXhGUVVGUExFOUJRVUZ4UWl4RlFVRlJMR05CUVdWTExFVkJRV3RDTEdGQlFXTXNSVUZEYkVVc1EwRkRUQ3hIUVVGTkxFTkJRVU5ETEVWQlFXRXhRaXhEUVVGUkxFVkJRVWxPTEVkQlFWZERMRU5CUVVzc1JVRkRPVU5xUkN4RlFVRlJMRTlCUVU5blJpeEZRVUZoTEVkQlFVY3NSVUZETDBJc1EwRkJRME1zUlVGQldURkNMRU5CUVU4c1JVRkJTVWdzUjBGQlRVTXNSVUZCVDNKRUxFVkJRVTl6UkN4RFFVRlJMRVZCUTNCRUxFTkJRVU0wUWl4RlFVRlJja0lzUlVGQlRVTXNRMEZCWXl4RlFVRkpVQ3hGUVVNM1Fra3NSMEZCYjBKS0xFTkJRVThzUlVGRE0wSXNRMEZCUXl4TFFVRk5MRXRCUVUwc1RVRkJVeXhGUVVNMVFpeEhRVUZKUnl4SFFVRmxTQ3hGUVVGVExFZEJRVWNzUjBGQlMwY3NSMEZCWlVnc1JVRkJVeXhIUVVGSExFVkJRemRFTEUxQlFVMHNTVUZCU1RSQ0xFZEJRMUlzZFVSQlEwWXNSVUZGUml4TlFVRlBMRU5CUVVVc1RVRkJRVGxDTEVWQlFVOHNUMEZCUVhGQ0xFVkJRVkVzVFVGQlFURkZMRVZCUVU4c1YwRkJRV2xHTEVWQlFWa3NVVUZCUVRGQ0xFVkJRVk1zVDBGQlFUSkNMRVZCUVZFc1MwRkJRWEpDTEVWQlFVMHNaVUZCUVVNc1EwRkJaU3hEUVVOdVJpeERRVU5HTEVOQlJVOHNVMEZCVTNOQ0xFZEJRV2RDZWtNc1JVRkJVVlVzUlVGQlQzbENMRVZCUVZFc1EwRkRja1FzUjBGQlRTeERRVUZGTEU5QlFVRkpMRVZCUVZFc1MwRkJRWEpDTEVWQlFVMHNaVUZCUVVNc1JVRkJaMElzWTBGQlFYVkNMRU5CUVdNc1JVRkJTVklzUjBGQmEwSnNReXhGUVVGUlZTeEZRVUZQZVVJc1EwRkJUU3hGUVVNdlJpeE5RVUZQTEVOQlFVTkpMRVZCUVZGeVFpeEZRVUZOUXl4RlFVRm5RblZDTEVOQlFXRXNRMEZEY2tRc1EwTnlZVUVzU1VGQlRVTXNSMEZCWjBJc1EwRkJReXhGUVVGSExFZEJRVWtzUjBGQlNTeEhRVUZKTEVsQlFVc3NTVUZCU3l4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzUjBGQlJ5eEZRVU14UlVNc1IwRkJZU3hEUVVGRExFVkJRVWNzUjBGQlNTeEhRVUZKTEVkQlFVa3NTVUZCU3l4SlFVRkxMRWxCUVVzc1NVRkJTeXhKUVVGTExFbEJRVXNzU1VGQlN5eEhRVUZITEVWQlJYSkZMRk5CUVZORExFZEJRV1ZETEVWQlFVMURMRVZCUVU4c1EwRkRia01zVDBGQlR5eEpRVUZKUXl4SFFVTlVMRzlDUVVOQkxHbENRVUZwUWtRc1EwRkJTeXhoUVVGaExFOUJRVTlCTEVOQlFVc3NWVUZCVlVRc1EwRkJTU3h2UWtGREwwUXNRMEZEUml4RFFVVkJMRk5CUVZOSExFZEJRVlZETEVWQlFVMURMRVZCUVU5RExFVkJRVXNzUTBGRGJrTXNTVUZCVFVNc1JVRkJTU3hKUVVGSkxFdEJRVXNzUzBGQlN5eEpRVUZKU0N4RlFVRk5ReXhGUVVGUkxFVkJRVWRETEVOQlFVY3NRMEZCUXl4RlFVVTNRMFlzUlVGQlR5eExRVUZQUVN4SFFVRlJMRWRCUTNoQ1J5eEZRVUZGTEdWQlFXVkJMRVZCUVVVc1pVRkJaU3hGUVVGSkxFbEJRVWtzUlVGSE5VTXNTVUZCVFVNc1JVRkJTMFFzUlVGQlJTeFZRVUZWTEVWQlJYWkNMRTlCUVU5RExFbEJRVThzUlVGQlNTeEZRVUZKUVN4RFFVTjRRaXhEUVVWQkxGTkJRVk5ETEVkQlFXVk1MRVZCUVUxRExFVkJRVTlETEVWQlFVc3NRMEZEZUVNc1QwRkJUMEVzUjBGQlQwa3NSMEZCVjA0c1EwRkJTU3hGUVVGSlRpeEhRVUZoUkN4SlFVRmxVU3hGUVVGUkxFTkJRVU1zUTBGRGVFVXNRMEZGUVN4VFFVRlRUU3hIUVVGcFFsQXNSVUZCVFZFc1JVRkJVeXhEUVVOMlF5eEpRVUZOUXl4RlFVRlJTQ3hIUVVGWFRpeERRVUZKTEVWQlFVbE9MRWRCUVdGRUxFZEJRelZEYVVJc1JVRkJVMFFzUlVGQlRTeFZRVUZYTEVkQlFVMHNSVUZCU1VRc1EwRkJUeXhGUVVNelEwNHNSVUZCVFUwc1JVRkJWVU1zUlVGQlRVTXNRMEZCVFN4RlFVTTVRaXhOUVVGUExFTkJRVVVzVFVGQlQwRXNSVUZCVXl4RlFVRkhMRWxCUVVGU0xFTkJRVWtzUTBGRGJFTXNRMEZOVHl4VFFVRlRVeXhIUVVGblFrTXNSVUZCVXl4RFFVTjJReXhIUVVGTkxFTkJRVVVzUzBGQlFWb3NSVUZCVFN4TlFVRkJReXhGUVVGUExFbEJRVUZETEVOQlFVa3NSVUZCU1ZVc1JVRkRNMEpLTEVWQlFWVklMRWRCUVdWTUxFVkJRVTFETEVWQlFVOURMRU5CUVVjc1JVRkRla05YTEVWQlFWVmtMRWRCUVZWRExFVkJRVTFETEVWQlFVOURMRU5CUVVjc1JVRkZiRU5aTEVWQlFXRXNTMEZCU3l4UFFVRlBUaXhGUVVGVlN5eEZRVUZWTEVsQlFVMHNRMEZCUXl4RlFVTjBSRVVzUlVGRlJpeFBRVUZKUkN4RlFVRmhMRWRCUTJaRExFVkJRVmRtTEVWQlFVOHNSVUZEYkVKakxFVkJRV0ZGTEVkQlFXZENSQ3hEUVVGUkxFZEJRelZDUkN4RlFVRmhSU3hIUVVGblFtaENMRU5CUVVrc1IwRkRNVU5sTEVWQlFWZG1MRVZCUVU4c1JVRkRiRUpqTEVWQlFXRXNSMEZGWWtNc1JVRkJWMllzUlVGSFRtbENMRVZCUVVFc1EwRkJSU3hUUVVGQlJpeEZRVUZWTEZkQlFVRkVMRVZCUVZrc1VVRkJRVVFzUjBGQldVc3NSMEZCVjA0c1EwRkJUeXhGUVVNdlJDeERRVVZQTEZOQlFWTlBMRWRCUVdkQ1F5eEZRVUZWTEVOQlEzaERMRWRCUVUwc1EwRkJSU3hUUVVGQlRDeEZRVUZWTEZkQlFVRkVMRVZCUVZrc1VVRkJRVVFzUTBGQlVTeEZRVUZKVHl4RlFVTjRRME1zUlVGQlowSjBRaXhIUVVGVlowSXNSVUZCVlN4RlFVRkhMRU5CUVVNc1JVRkRlRU5QTEVWQlFXRkRMRWRCUVZkU0xFTkJRVkVzUlVGRk9VSlFMRVZCUVZWTkxFVkJRV0VzUlVGQlNVUXNSVUZCVlZFc1JVRkJaMElzUlVGRGRrUnlRaXhGUVVWRlVTeEZRVUZWTEVkQlExcFNMRVZCUVU5bExFVkJRVmNzUlVGRGJFSlFMRWRCUVZkbExFZEJRVmQyUWl4RFFVRkpMRWRCUTJwQ1VTeEZRVUZWWXl4SFFVTnVRblJDTEVWQlFVOWxMRVZCUVZjc1JVRkRiRUpRTEVkQlFWZGxMRWRCUVZkU0xFTkJRVkVzUjBGRk9VSm1MRVZCUVU5bExFVkJSMVFzUjBGQlRTeERRVUZGTEUxQlFVRmtMRVZCUVU4c1NVRkJRVU1zUTBGQlNTeEZRVUZKU3l4SFFVRnBRbEFzUlVGQlRWRXNRMEZCVHl4RlFVTnlSQ3hQUVVGUFV5eEZRVUZCTEVOQlFVVXNTMEZCUVdwQ0xFVkJRVTBzVFVGQlFVTXNSVUZCVHl4SlFVRkJReXhIUVVGUlowSXNSMEZCVjBVc1EwRkJVU3hGUVVOdVJDeERRVVZQTEZOQlFWTkpMRWRCUVcxQ1F5eEZRVUZWTEVOQlF6TkRMRWRCUVUwc1EwRkJSU3hMUVVGQmVrSXNSVUZCVFN4TlFVRkJReXhGUVVGUExFbEJRVUZETEVOQlFVa3NSVUZCU1hWQ0xFVkJRM1pDYWtJc1JVRkJWVWdzUjBGQlpVd3NSVUZCVFVNc1JVRkJUME1zUTBGQlJ5eEZRVU12UXl4UFFVRlBaU3hGUVVGQkxFTkJRVVVzUzBGQlFXcENMRVZCUVUwc1VVRkJRVkVzUjBGQldWVXNSMEZCVjA4c1EwRkJVU3hGUVVOb1JDeERRVVZQTEZOQlFWTkRMRWRCUVcxQ1F5eEZRVUZoTEVOQlF6bERMRWRCUVUwc1EwRkJSU3hMUVVGQk0wSXNSVUZCVFN4UlFVRkJVU3hEUVVGUkxFVkJRVWx0UWl4RlFVTndRaXhEUVVGRkxFMUJRVUV4UWl4RlFVRlBMRWxCUVVGRExFTkJRVWtzUlVGQlNVc3NSMEZCYVVKUUxFVkJRVTFSTEVOQlFVOHNSVUZEY2tRc1QwRkJUMU1zUlVGQlFTeERRVUZGTEV0QlFVRnFRaXhGUVVGTkxFMUJRVUZETEVWQlFVOHNTVUZCUVVNc1IwRkJVV2RDTEVkQlFWZFRMRU5CUVZjc1JVRkRkRVFzUTBGRlR5eFRRVUZUUXl4SFFVRnRRa01zUlVGQlN5eERRVU4wUXl4SlFVRk5ReXhGUVVGWlF5eEhRVUZWUml4RlFVRkpMRkZCUVZFc1JVRkRkRU5ITEVWQlFWbERMRWRCUVdWS0xFVkJRVWtzVjBGQldTeEZRVUZIWWl4SFFVRm5RbUVzUlVGQlNTeFJRVUZSTEVOQlFVTXNSVUZETTBWTExFVkJRV1ZFTEVkQlFXVktMRVZCUVVrc1VVRkJVeXhGUVVGSExFTkJRVU1zUlVGRmFrUXNUMEZCUzBNc1JVRkZUMFVzUlVGRlFVVXNSVUZGUlN4SFFVUk1ka01zUjBGQlpTeFZRVUZYYTBNc1JVRkJTU3hQUVVGUExFVkJSbkpEYkVNc1IwRkJaU3hQUVVGUmEwTXNSVUZCU1N4SlFVRkpMRVZCUmk5Q2JFTXNSMEZCWlN4WFFVRlphME1zUlVGQlNTeFJRVUZSTEVOQlRXeEVMRU5CUlU4c1UwRkJVMDBzUjBGQmMwSk9MRVZCUVVzc1EwRkRla01zU1VGQlRVTXNSVUZCV1VNc1IwRkJWVVlzUlVGQlNTeEpRVUZKTEVWQlEyeERUeXhGUVVGbFNDeEhRVUZsU2l4RlFVRkpMRkZCUVZNc1JVRkJSMDRzUjBGQlYwMHNSVUZCU1N4SlFVRkpMRU5CUVVNc1JVRkZjRVVzVDBGQlMwTXNSVUZGVDAwc1JVRkZSU3hIUVVSTWVrTXNSMEZCWlN4VlFVRlhhME1zUlVGQlNTeFBRVUZQTEVWQlJuSkRiRU1zUjBGQlpTeFBRVUZSYTBNc1JVRkJTU3hKUVVGSkxFTkJTVEZETEVOQlJVOHNVMEZCVTFFc1IwRkJkMEpTTEVWQlFVc3NRMEZETTBNc1NVRkJUVU1zUlVGQldVTXNSMEZCVlVZc1JVRkJTU3hKUVVGSkxFVkJRMnhEVXl4RlFVRmhUQ3hIUVVGbFNpeEZRVUZKTEUxQlFVOHNSVUZCUnl4RlFVRkZMRVZCUXpWRFZTeEZRVUZYVGl4SFFVRmxTaXhGUVVGSkxFbEJRVXNzUlVGQlIxY3NSMEZCV1Znc1JVRkJTU3hMUVVGTlFTeEZRVUZKTEV0QlFVc3NRMEZCUXl4RlFVVjRSU3hQUVVGTFF5eEZRVVZQVVN4RlFVVkJReXhGUVVWRkxFZEJSRXcxUXl4SFFVRmxMRTFCUVU5clF5eEZRVUZKTEVkQlFVY3NSVUZHTjBKc1F5eEhRVUZsTEZGQlFWTnJReXhGUVVGSkxFdEJRVXNzUlVGR2FrTnNReXhIUVVGbExFOUJRVkZyUXl4RlFVRkpMRWxCUVVrc1EwRk5NVU1zUTBGRlR5eFRRVUZUV1N4SFFVRnRRbG9zUlVGQlN5eERRVU4wUXl4SFFVRk5MRU5CUVVVc1MwRkJRV0VzUlVGQlRTeFBRVUZCUXl4RlFVRlJMRTlCUVVGRExFVkJRVkVzV1VGQlFVTXNRMEZCV1N4RlFVRkphRUlzUlVGRGVFTnBRaXhGUVVOR1lpeEhRVUZsVXl4RlFVRk5MRVZCUVVjc1JVRkJSU3hIUVVONlFrRXNTVUZCVXl4SlFVRk5ReXhKUVVGWExFZEJRVXRETEVsQlFWY3NSMEZCUzBNc1NVRkJaMElzUlVGRGJFVkZMRVZCUVdOa0xFZEJRV1ZWTEVWQlFWRXNSVUZCUnl4RlFVRkZMRVZCUXpGRFN5eEZRVUZqWml4SFFVRmxWeXhGUVVGUkxFVkJRVWNzUlVGQlJTeEZRVU14UTBzc1JVRkJiVUpvUWl4SFFVRmxXU3hGUVVGaExFVkJRVWNzUjBGQlJ5eEZRVVYyUkN4UFFVRkxReXhGUVVWUFF5eEZRVVZCUXl4RlFVVkJReXhGUVVWRkxFZEJSRXgwUkN4SFFVRmxMR05CUVdWclJDeERRVUZYTEVWQlJucERiRVFzUjBGQlpTeFRRVUZWYVVRc1EwRkJUU3hGUVVZdlFtcEVMRWRCUVdVc1UwRkJWV2RFTEVOQlFVMHNSVUZHTDBKb1JDeEhRVUZsTEU5QlFWRXJReXhEUVVGSkxFTkJVWFJETEVORGJraEJMRWxCUVUxUkxFZEJRVlVzYlVKQlExWkRMRWRCUVZjc1QwRkZha0lzVTBGQlUwTXNSMEZCWjBKRExFVkJRVTBzUTBGRE4wSXNUMEZCVHl4SlFVRkpReXhIUVVGUkxHMUNRVUZ2UWl4aFFVRmhSQ3hGUVVGTExFbEJRVWtzYjBKQlFXOUNMRU5CUTI1R0xFTkJSMEVzVTBGQlUwVXNSMEZCZFVKRExFVkJRVWtzUTBGRGJFTXNUMEZCU1VFc1JVRkJSeXhYUVVGaExFOUJRMnhDUVN4RlFVRkhMRk5CUVZkRExFZEJRV2RDUkN4RlFVRkhMRU5CUVVNc1IwRkZOMEpCTEVWQlFVY3NVVUZEV2l4RFFVbEJMRk5CUVZORkxFZEJRVTFETEVWQlFVMURMRVZCUVUwc1EwRkRla0lzU1VGQlRVTXNSVUZCVlN4RFFVTmtMRWRCUVVsR0xFVkJRVXNzUjBGRFZDeExRVUZOUVN4RlFVRkxMRXRCUTFnc1JVRkJSMEVzUlVGQlN5eEZRVU5TTEVWQlFVZEJMRVZCUVVzc1JVRkRVaXhKUVVGTFFTeEZRVUZMTEVsQlExWXNVVUZCVTBFc1JVRkJTeXhQUVVOb1FpeEZRVU5CTEU5QlFVOHNTVUZCU1Vjc1JVRkJVME1zUjBGQlFVTXNTVUZCUVN4SFFVRkxTQ3hIUVVGWlJDeEhRVUZxUWl4RFFVRjFRaXhKUVVGTFF5eERRVUZSTEVWQlFVTXNRMEZETTBRc1EwRkpRU3hUUVVGVFNTeEhRVUZWUXl4RlFVRlRReXhGUVVGSFF5eEZRVUZKTEVOQlJXcERMRWxCUVVsRExFVkJRVmRJTEVWQlFWVkRMRVZCUVVrc1IwRkJTeXhKUVVjMVFrY3NSVUZCUzBZc1JVRkJSeXhQUVVGUFF5eERRVUZSTEVWQlJ6ZENMRWRCUVVsR0xFbEJRVTFITEVWQlExSXNUVUZCVHl4RFFVRkRSQ3hGUVVGVlJpeERRVUZETEVWQlNYSkNSU3hKUVVGaFF5eEZRVUZMU0N4SFFVRkxMRWRCUVVzc1NVRkhOVUlzU1VGQlRVa3NSVUZCUzBnc1JVRkJSeXhQUVVGUFF5eERRVUZSTEVWQlF6ZENMRTlCUVVsRExFbEJRVTlETEVWQlEwWXNRMEZCUTBZc1JVRkJWVU1zUTBGQlJTeEZRVWxtTEVOQlFVTktMRVZCUVZVc1MwRkJTeXhKUVVGSlNTeEZRVUZKUXl4RFFVRkZMRVZCUVVrc1IwRkJTeXhKUVVGTkxFdEJRVXNzU1VGQlNVUXNSVUZCU1VNc1EwRkJSU3hEUVVGRExFTkJRMnhGTEVOQlIwRXNVMEZCVTBNc1IwRkJVVU1zUlVGQlNVTXNSVUZCVVN4RFFVTXpRa1FzUjBGQlRVTXNSVUZCVXl4SFFVRkxMRWxCUlhCQ0xFbEJRVTFETEVWQlFVa3NTVUZCU1N4TFFVRkxSaXhEUVVGRkxFVkJSWEpDTEUxQlFVOHNRMEZEVEN4TFFVRk5SU3hGUVVGRkxHVkJRV1VzUlVGRGRrSXNUVUZCVDBFc1JVRkJSU3haUVVGWkxFVkJRVWtzUlVGRGVrSXNTVUZCUzBFc1JVRkJSU3hYUVVGWExFVkJRMnhDTEV0QlFVMUJMRVZCUVVVc1dVRkJXU3hGUVVOd1FpeFBRVUZSUVN4RlFVRkZMR05CUVdNc1JVRkRlRUlzVDBGQlVVRXNSVUZCUlN4alFVRmpMRVZCUTNoQ0xGbEJRV0ZCTEVWQlFVVXNiVUpCUVcxQ0xFTkJRM0JETEVOQlEwWXNRMEZIUVN4VFFVRlRReXhIUVVGUlF5eEZRVUZMU0N4RlFVRlJja0lzUlVGQlRTeERRVU5zUXl4UFFVRlBXU3hIUVVGVllTeEhRVUZoUkN4RFFVRkhMRVZCUVVkSUxFVkJRVkZ5UWl4RFFVRkpMRU5CUTJ4RUxFTkJSMEVzVTBGQlV6QkNMRWRCUVZkd1FpeEZRVUZOY1VJc1JVRkJTeXhEUVVNM1FpeEpRVUZOUXl4RlFVRlBkRUlzUlVGQlN5eEZRVU5vUW5WQ0xFVkJRVTkyUWl4RlFVRkxMRVZCUVVVc1MwRkJUeXhMUVVGTExFMUJRVTF4UWl4RlFVRkpMRXRCUVVzc1JVRkRla05ITEVWQlFWRjRRaXhGUVVGTExFVkJRVVVzVFVGQlVTeExRVUZMTEUxQlFVMXhRaXhGUVVGSkxFMUJRVTBzUlVGQlNTeExRVUZMTEUxQlFVMUJMRVZCUVVrc1VVRkJVU3hGUVVGSkxFVkJRek5GU1N4RlFVRkpja0lzUjBGQlFVTXNSVUZCUVN4SFFVTkRUQ3hGUVVGTExFZEJSRTRzUTBGRlJpeExRVUZCZFVJc1JVRkRRU3hOUVVGQlF5eEZRVU5CTEVsQlEwVXNTMEZCU3l4SlFVRkplRUlzUlVGQlN5eEZRVUZGTEVsQlFVc3dRaXhIUVVGWlNDeEZRVUZOUXl4RFFVRkxMRU5CUVVNc1JVRkROME1zUzBGQlN5eE5RVUZOU0N4RlFVRkpMRWxCUVVrc1JVRkRia0lzUzBGQlN5eE5RVUZOUVN4RlFVRkpMRXRCUVVzc1JVRkJTU3hEUVVNMVFpeEhRVU5CVFN4RlFVRmpReXhGUVVGVExGZEJRVmNzUTBGRGFFTXNUVUZCVDFBc1JVRkJTU3hOUVVGUkxFdEJRVXNzVFVGQlRVRXNSVUZCU1N4TFFVRkxMRVZCUTNaRExGTkJRVlZCTEVWQlFVa3NVMEZCVnl4TFFVRkxMRTFCUVUxQkxFVkJRVWtzVVVGQlVTeEZRVU5vUkN4UFFVRlJRU3hGUVVGSkxFOUJRVk1zUzBGQlN5eE5RVUZOUVN4RlFVRkpMRTFCUVUwc1JVRkRNVU1zVFVGQlQwRXNSVUZCU1N4TlFVRlJMRXRCUVVzc1RVRkJUVUVzUlVGQlNTeExRVUZMTEVWQlEzWkRMRXRCUVUxQkxFVkJRVWtzUzBGQlR5eExRVUZMTEUxQlFVMUJMRVZCUVVrc1NVRkJTU3hGUVVOd1F5eE5RVUZQUVN4RlFVRkpMRTFCUTFnc1VVRkJVMEVzUlVGQlNTeFJRVU5pTEZGQlFWTkJMRVZCUVVrc1VVRkRZaXhoUVVGalFTeEZRVUZKTEZsQlEzQkNMRU5CUVVNc1JVRkJSU3hIUVVGSExHTkJRV01zUlVGRGNFSmtMRVZCUVZWWkxFZEJRV0ZOTEVOQlFVTXNSVUZGZEVJc1EwRkJRMWdzUlVGQlNVNHNRMEZCUXl4RlFVRkpSaXhIUVVGVlF5eEZRVUZUWlN4RlFVRk5kRUlzUlVGQlN5eEpRVUZKTEVWQlJXaEVMRTlCUVVreVFpeEpRVUZuUWl4SlFVTnNRbUlzUjBGQlRXRXNSVUZGVG01Q0xFVkJRVWxTTEVWQlFVc3NTMEZCU3l4UFFVRlBZeXhEUVVGRkxFZEJSMnhDTEVOQlFVVXNSMEZCUVVFc1JVRkJTU3hGUVVGQlRpeERRVUZGTEVOQlEycENMRU5CU1VFc1UwRkJVM0ZDTEVkQlFXOUNReXhGUVVGUlF5eEZRVUZaUXl4RlFVRk5ReXhGUVVGUlF5eEZRVUZOUXl4RlFVRm5RaXhEUVVOdVJpeEhRVUZOTEVOQlFVVXNVVUZCUVVNc1JVRkJVeXhMUVVGQk1VTXNRMEZCU3l4RlFVRkpjME1zUlVGRE1VSXNSMEZCU1VZc1IwRkJWU3hQUVVGUExFdEJRVXRCTEVOQlFVMHNSVUZCUlN4VFFVRlhMRVZCUVVjc1EwRkRPVU1zU1VGQlRVOHNSVUZCY1VKT0xFZEJRV055UXl4RlFVTjJRMDBzUlVGQlQwY3NSVUZCVXl4WFFVRlhNa0lzUlVGQlVURkNMRWRCUVVGRExFVkJRVUVzUjBGRE9VSXlRaXhIUVVRNFFpeERRVVZxUXl4TFFVRk5TeXhGUVVOT0xHVkJRVUZHTEVOQlEwWXNSVUZCUXl4RlFVTklMRTlCUVU5RExFVkJRVlZ3UXl4RlFVRlBRU3hGUVVGTExGRkJRVkZPTEVOQlFVa3NRMEZETTBNc1MwRkRSU3hSUVVGUFV5eEZRVUZUTEZGQlEyUXNTVUZCU1ZJc1IwRkJVU3hoUVVGakxHTkJRV04xUXl4RFFVRkpMSGRDUVVGM1FrUXNRMEZCVFN4RlFVRkZMRU5CUXpsRkxFTkJSVW9zUTBGSlFTeFRRVUZUU3l4SFFVRmhla01zUlVGQlNXOURMRVZCUVZGTkxFVkJRVk1zUjBGQlRTeERRVU12UXl4UFFVRlBNVU1zUlVGQlJ5eFJRVU5PTWtNc1IwRkJWU3hQUVVGUFF5eEhRVUZQTEU5QlFVOHNUMEZCVHl4RlFVRkhMRU5CUTNaRExFOUJRVUZHTEVWQlEwRXNXVUZCWVN4RlFVTm1MRU5CUVVNc1JVRkJSU3g1UWtGQmVVSXhReXhGUVVGSmIwTXNRMEZCVFN4RlFVTjBReXhKUVVOT0xFTkJSVUVzVTBGQlUxTXNSMEZCVld4RExFVkJRVWR0UXl4RlFVRlZMRU5CUXpsQ0xFbEJRVTFETEVWQlFXRndReXhGUVVGRkxFVkJRVVVzUzBGQlR5eE5RVUZSUVN4RlFVRkZMRVZCUVVVc1MwRkJUeXhGUVVNM1EybENMRVZCUVVrc1IwRkRVaXhQUVVGSmJVSXNSMEZCWTNCRExFVkJRVVVzUlVGQlJTeE5RVUZSTEVsQlFVZHBRaXhIUVVGTExFdEJRM1JEUVN4SFFVRkxiMElzUjBGQlUzSkRMRVZCUVVVc1JVRkJSU3hMUVVGTmIwTXNSVUZCWVN4RlFVRkpMRU5CUVVNc1JVRkZkRU5FTEVkQlEwWnNRaXhIUVVGTExFbEJRMHhCTEVkQlFVdHZRaXhIUVVGVGNrTXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkRka0pwUWl4SFFVRkxMRWxCUTB4QkxFZEJRVXR2UWl4SFFVRlRja01zUlVGQlJTeEZRVUZGTEVkQlFVY3NTVUZGY2tKcFFpeEhRVUZMYjBJc1IwRkJVM0pETEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUTNaQ2FVSXNSMEZCUzI5Q0xFZEJRVk55UXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhIUVVWb1FtbENMRU5CUTFRc1EwRkZRU3hUUVVGVGNVSXNSMEZEVUhSRExFVkJRMEZ0UXl4RlFVTkJTU3hGUVVOQlF5eEZRVU5CUXl4RlFVTkJReXhGUVVOQkxFTkJRMEVzU1VGQlNYcENMRVZCUVVsdlFpeEhRVUZUY2tNc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGRGVrSXNUMEZCU1cxRExFZEJRMFpzUWl4SFFVRkxMRWxCUTB4QkxFZEJRVXR2UWl4SFFVRlRja01zUlVGQlJTeEZRVUZGTEUxQlFVMHNSMEZEY0VKQkxFVkJRVVVzUlVGQlJTeFRRVUZYTEVkQlFVc3NRMEZCUTNWRExFdEJRM1pDZEVJc1IwRkJTeXhOUVVkUVFTeEhRVUZMYjBJc1IwRkJVM0pETEVWQlFVVXNSVUZCUlN4TlFVRk5MRWRCUjNSQ1FTeEZRVUZGTEVWQlFVVXNVMEZCVnl4SFFVRkxMRU5CUVVOMVF5eExRVU4yUW5SQ0xFZEJRVXR2UWl4SFFVRlRja01zUlVGQlJTeEZRVUZGTEUxQlFVMHNSMEZGY0VKQkxFVkJRVVVzUlVGQlJTeGpRVUZuUWl4SFFVRkxMRU5CUVVOM1F5eExRVU0xUW5aQ0xFZEJRVXNzU1VGRFRFRXNSMEZCUzI5Q0xFZEJRVk55UXl4RlFVRkZMRVZCUVVVc1dVRkJZU3hEUVVGRExFbEJTV2hEZVVNc1NVRkRSWHBETEVWQlFVVXNaVUZCYVVKQkxFVkJRVVVzVTBGQlZ5eEhRVUZMTEVOQlFVTXdReXhGUVVONFEzcENMRWRCUVVzc1NVRkRTV3BDTEVWQlFVVXNSVUZCU1N4SFFVTm1hVUlzUjBGQlN5eEpRVU5NUVN4SFFVRkxiMElzUjBGQlV5eExRVUZMTEUxQlFVMHNRMEZCUTNKRExFVkJRVVVzUlVGQlNTeEZRVUZGTEVOQlFVTXNSVUZEYmtOcFFpeEhRVUZMTEVsQlEweEJMRWRCUVV0dlFpeEhRVUZUTEV0QlFVc3NUVUZCVFN4RFFVRkRja01zUlVGQlJTeEZRVUZKTEVWQlFVVXNRMEZCUXl4SlFVVnVRMmxDTEVkQlFVc3NTVUZEVEVFc1IwRkJTMjlDTEVkQlFWTXNTMEZCU3l4TlFVRk5ja01zUlVGQlJTeEZRVUZKTEVWQlFVVXNRMEZCUXl4RlFVTnNRMmxDTEVkQlFVc3NTVUZEVEVFc1IwRkJTMjlDTEVkQlFWTXNTMEZCU3l4TlFVRk5ja01zUlVGQlJTeEZRVUZKTEVWQlFVVXNRMEZCUXl4SlFVbHNRekJETEVsQlEwWjZRaXhIUVVGTExFbEJRVTFxUWl4RlFVRkZMRXRCUVVzc1UwRkJWeXhMUVVWNFFtbENMRU5CUTFRc1EwRkhRU3hKUVVGTk1FSXNSMEZCYjBJc1EwRkRkRUlzVFVGQlR5eEZRVU5RTEVsQlFVc3NSVUZEVEN4TFFVRk5MRVZCUTA0c1QwRkJVU3hGUVVOU0xFOUJRVkVzUlVGRFVpeFpRVUZoTEVOQlEyWXNSVUZEUVVNc1IwRkJkMElzUTBGRGRFSXNWMEZCV1N4RlFVTmFMRkZCUVZNc1JVRkRWQ3hMUVVGTkxFVkJRMDRzVDBGQlVTeEZRVU5TTEU5QlFWRXNSVUZEVWl4WlFVRmhMRU5CUTJZc1JVRkRRVU1zUjBGQk1rSXNRMEZEZWtJc1VVRkJVeXhGUVVOVUxFdEJRVTBzUlVGRFRpeFBRVUZSTEVWQlExSXNUMEZCVVN4RlFVTlNMRmxCUVdFc1EwRkRaaXhGUVVkSlF5eEhRVUZsTEVOQlFVTXNUMEZCVVN4UlFVRlRMRTFCUVU4c1QwRkJVU3hUUVVGVkxGTkJRVlVzWVVGQllTeEZRVU55UmtNc1IwRkJiVUlzUTBGRGFrSXNWMEZEUVN4aFFVTkJMRlZCUTBFc1QwRkRRU3hUUVVOQkxGTkJRMEVzWVVGRFJpeEZRVU5CUXl4SFFVRnpRaXhEUVVGRExFOUJRVkVzVlVGQlZ5eFBRVUZSTEZOQlFWVXNVMEZCVlN4aFFVRmhMRVZCUjNKR0xGTkJRVk5ETEVkQlFXTkRMRVZCUVUwc1EwRkRNMElzU1VGQlRVTXNSVUZCWVN4RFFVTnFRaXhMUVVGTkxFOUJRMDRzVFVGQlR5eFBRVU5RTEUxQlFVOHNVVUZEVUN4UFFVRlJMRkZCUTFJc1NVRkJTeXhOUVVOTUxFdEJRVTBzVFVGRFRpeExRVUZOTEU5QlEwNHNUVUZCVHl4UFFVTlFMRTlCUVZFc1UwRkRVaXhSUVVGVExGTkJRMVFzVVVGQlV5eFZRVU5VTEZOQlFWVXNWVUZEVml4UFFVRlJMRk5CUTFJc1VVRkJVeXhUUVVOVUxGbEJRV0VzWTBGRFlpeGhRVUZqTEdOQlEyUXNVVUZCVXl4VlFVTlVMRk5CUVZVc1ZVRkRWaXhYUVVGWkxHRkJRMW9zV1VGQllTeGhRVU5pTEZsQlFXRXNZVUZEWWl4VFFVRlZMRmRCUTFZc1ZVRkJWeXhYUVVOWUxGRkJRVk1zVTBGRFdDeEZRVUZGUkN4RlFVRkxMRmxCUVZrc1EwRkJReXhGUVVWd1FpeEhRVUZKTEVOQlFVTkRMRVZCUVZrc1RVRkJUU3hKUVVGSlF5eEhRVUZwUWtZc1EwRkJTU3hGUVVWb1JDeFBRVUZQUXl4RFFVTlVMRU5CUzBFc1UwRkJVMFVzUjBGQlVUTkRMRVZCUVV0akxFVkJRVTBzUTBGRE1VSXNTVUZCVFhSRExFVkJRVTl2UlN4SFFVRmpPVUlzUlVGQlN5eExRVUZOSzBJc1JVRkJVeXhYUVVGWExFVkJRM2hFUXl4RlFVRk5ka0lzUjBGQlR5eFhRVUZYVkN4RFFVRkpMRVZCUXpWQ2FVTXNSVUZCVVVZc1JVRkJVeXhKUVVGSkxFVkJSVzVDYWtRc1JVRkJTU3hGUVVkU0xFZEJRVXR2UkN4RlFVRlphRVFzUlVGQlNTeEpRVUZKTEVWQlpYWkNTaXhGUVVGTGJVUXNUVUZtY1VJc1EwRkRNVUlzVVVGQlYwVXNTMEZCUzJJc1IwRkRWbGtzUlVGQldXaEVMRVZCUVVscFJDeERRVUZETEVOQlFVTXNTVUZEY0VKcVJDeEZRVUZKYVVRc1EwRkJReXhGUVVGSmFFSXNSMEZCYTBKblFpeERRVUZETEVkQlNXaERMRWxCUVUxRExFVkJRVlZETEVkQlFYZENia1FzUTBGQlJ5eEhRVUZMYjBRc1IwRkJiVUp3UkN4RFFVRkhMRVZCUTNSRkxFZEJRVWxyUkN4RlFVTkdMRTlCUVU5cVJTeEZRVUZUTEZGQlFWRnBSU3hEUVVGUExFVkJSMnBETEVsQlFVMUhMRVZCUVdVM1JTeEZRVUZMTEU5QlFVOTFSU3hEUVVGTExFVkJRM1JETEVOQlFVTnVSQ3hGUVVGSkxFTkJRVU1zUlVGQlNVY3NSMEZCVVVNc1JVRkJTM0ZFTEVWQlFXTTNSU3hEUVVGSkxFTkJRek5ETEVOQlNVRXNUMEZCVHl4SlFVRkpVeXhGUVVGVExFTkJRVVVzUjBGQlFWY3NSVUZCU1N4TFFVRkJjRUlzUlVGQlRTeEpRVUZCYzBVc1JVRkJTeXhEUVVGRkxFTkJRVU1zUTBGRE1VTXNRMEZGUVN4VFFVRlRVU3hIUVVGaFF5eEZRVUZQUXl4RlFVRkxNVU1zUlVGQlRTeERRVU4wUXl4SlFVRk5Na01zUlVGQlVWUXNSVUZCV1d4RExFVkJRVXNzUzBGQlN5eEZRVUZKTEVkQlFVOUJMRVZCUVVzc1RVRkRiRVJETEVWQlFWTXNRMEZCUTFJc1JVRkJSMmxETEV0QlExaHFReXhGUVVGSmJVUXNSMEZCVVc1RUxFVkJRVWRyUkN4SFFVRlRNME1zUlVGQlN5eFZRVUZaTEVWQlFVa3NSVUZCUnl4RlFVRkpMRVZCUTJ4RE1FTXNSVUZCU1N4SlFVRkpMRTFCUVUweFF5eERRVUZKTEVWQlFVVXNZVUZCWVVFc1EwRkJTU3hGUVVOMFF5eFBRVUZQVUN4RlFVRkhhVU1zUTBGQlNTeEhRVVZxUTIxQ0xFVkJRVlZ1UWl4SFFVTktNVUlzUlVGQlN5eFZRVU5HTUVNc1JVRkJTU3hSUVVGUlJDeEZRVUZQWml4RFFVRkpMRVZCUldRc1JVRkVUR2RDTEVWQlFVa3NVVUZCVVdoQ0xFTkJRVWtzUlVGQlJTeExRVUZMWlN4RlFVRk5MRkZCUVZGbUxFTkJRVWtzUlVGQlIwRXNRMEZCU1N4RlFVRkZMRWxCUVVsQkxFTkJRVWtzUlVGSE5VUm5RaXhGUVVGSkxFdEJRVXRFTEVWQlFVOW1MRU5CUVVrc1JVRkJSU3hKUVVGSlFTeERRVUZKTEVWQlNUTkRMRWRCUVVreFFpeEZRVUZMTEV0QlExQXNUMEZCVDBNc1JVRkJUelJETEVWQlFVODNReXhGUVVGTExFbEJRVWtzUlVGQlIwRXNSVUZCU3l4SlFVRkpMRVZCUnpWRExGRkJRVmN3UWl4TFFVRlJNVUlzUlVGQlN5eE5RVUZQTEVOQlF6ZENMRWxCUVUwNFF5eEZRVUZSUkN4RlFVRlBia0lzUTBGQlNTeEZRVU42UWl4SFFVRkpMRXRCUVVzc1NVRkJTVzlDTEVOQlFVc3NSMEZCU3l4RlFVTnlRaXhQUVVGUE4wTXNSVUZCVHpaRExFVkJRVTl3UWl4RFFVRkpMRU5CUlRkQ0xFTkJRMEVzVDBGQlQzcENMRVZCUVU5M1F5eEZRVUZSUXl4RlFVRk5MRWRCUVVzc1JVRkJSekZETEVWQlFVc3NUVUZCVFVFc1JVRkJTeXhOUVVGTkxFOUJRVk1zUTBGQlF5eERRVUZETEVOQlEzWkZMRU5CUlVFc1UwRkJVeXRETEVkQlFWTkRMRVZCUVZNc1EwRkRla0lzU1VGQlNXaEVMRVZCUVU4c1EwRkJReXhGUVVOV2FVUXNSVUZEUml4UFFVRkpSQ3hGUVVGUkxFOUJRVk1zUjBGQlN5eFBRVUZQUVN4RlFVRlJRU3hGUVVGUkxFOUJRVk1zUTBGQlF5eEhRVUZOTEZWQlF5OUVhRVFzUlVGQlQyZEVMRVZCUVZGQkxFVkJRVkVzVDBGQlV5eERRVUZETEVWQlEycERReXhGUVVGUExFMUJRVTBzUzBGQlMwUXNRMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSMEVzUlVGQlVTeFBRVUZUTEVOQlFVTXNSMEZGZEVSRExFVkJRVThzVFVGQlRTeExRVUZMUkN4RFFVRlBMRVZCUlhCQ0xFTkJRVU5vUkN4RlFVRk5hVVFzUTBGQlNTeERRVU53UWl4RFFYTkNRU3hKUVVGeFFqbEZMRVZCUVhKQ0xFMUJRWEZDSzBVc1EwRkJVeXhEUVVrMVFpeFpRVUZaUXl4RlFVRlJMRU5CUTJ4Q0xFbEJRVTE2Uml4RlFVRlBlVVlzUlVGQlR5eE5RVUZSY0VJc1JVRkJVeXhaUVVWcVEwc3NSVUZEUm1Vc1JVRkJUeXhWUVVOT0xFOUJRVThzVFVGQlRVRXNSVUZCVHl4RlFVRkZMRVZCUVVrc1NVRkJTWGhHTEVkQlFWRXNaVUZCWlN4RlFVRkpMRkZCUTNoRVJDeEZRVUZMTEZGQlFXdERMRXRCUVhoQ1JDeEhRVUZuUWtNc1EwRkJTU3hIUVVsMlF5eExRVUZMTEVkQlFVdDNSU3hGUVVGWmFVSXNSVUZCVHl4RlFVRkZMRVZCUVVsd1FpeEZRVUZUTEVsQlFVa3NSVUZCU1c5Q0xFVkJRVThzUjBGRk0wUXNTVUZCU1RGRUxFVkJRVWtzUzBGRFRtcENMRVZCUVVrc1MwRkRUaXhIUVVGSkxFTkJRVU0wUkN4RlFVZElMRWRCUm10Q1pTeEZRVUZQTEV0QlFVOUJMRVZCUVU4c1NVRkJTU3hMUVVGUExFdEJRVXNzU1VGQlRVRXNSVUZCVHl4SlFVRkpMRXRCUVVzc1QwRkJUM3BHTEVOQlFVa3NSVUZIZEVZc1EwRkJReXRDTEVWQlFVZHFRaXhEUVVGRExFVkJRVWtzUTBGQlF6SkZMRVZCUVU4c1NVRkJTU3hGUVVGSFFTeEZRVUZQTEVsQlFVa3NRMEZCUXl4TlFVTXZRaXhEUVVOTUxFbEJRVTFETEVWQlFVc3hSaXhGUVVGTExFOUJRVThzUzBGQlN5eEZRVUZGTEVWQlF6bENLMElzUlVGQlNWb3NSMEZCVVN4TFFVRkxMRWRCUVVsMVJTeERRVUZGTEVWQlEzWkNhRUlzUlVGQlZTeFBRVUZQTEUxQlFVMHpReXhGUVVGRkxFbEJRVWtzUlVGQlNTeEpRVUZKT1VJc1IwRkJVU3hsUVVGbExFVkJRVWtzUzBGRGFFVTRRaXhGUVVGSk1rTXNSVUZCVlN4TFFVRlBNME1zUlVGRGNrSnFRaXhGUVVGSk5FUXNSVUZCVlN4TFFVRlBaMElzUTBGRGRrSXNRMEZOUml4TFFVRkxMRTFCUVZFeFJpeEZRVWxpTEV0QlFVc3NTVUZCVFhsR0xFVkJRVThzUzBGQlR6RkRMRWRCUVU4c1QwRkJUeXhGUVVsMlF5eExRVUZMTEZGQlFWVXlRaXhGUVVsbUxFdEJRVXNzVTBGQlZ5eExRVWxvUWl4TFFVRkxMRVZCUVVrelF5eEZRVWxVTEV0QlFVc3NSVUZCU1dwQ0xFVkJTVlFzUzBGQlN5eG5Ra0ZCYTBJc1JVRkRla0lzUTBGWFFTeFBRVUZQTEV0QlFVMHNRMEZEV0N4UFFVRlBMRWxCUVVrd1JTeEZRVUZUTEVOQlFVTXNRMEZCUXl4RFFVTjRRaXhEUVhWQ1FTeFBRVUZQTEU5QlFWRXNRMEZEWWl4SFFVRk5MRU5CUVVOc1JDeEZRVUZOYVVRc1EwRkJTU3hGUVVGSlJpeEhRVUZUTEZOQlFWTXNSVUZEY2tNc1EwRkJRM2hFTEVWQlFVMURMRVZCUVU4MlJDeEZRVUZMUXl4RlFVRk5ReXhGUVVGUlF5eEZRVUZSUXl4RFFVRlhMRVZCUVVsU0xFVkJRekZFTEU5QlFVOXdRaXhIUVVGUkxFTkJRVVVzUzBGQlFYUkRMRVZCUVUwc1RVRkJRVU1zUlVGQlR5eEpRVUZCTmtRc1JVRkJTeXhMUVVGQlF5eEZRVUZOTEU5QlFVRkRMRVZCUVZFc1QwRkJRVU1zUlVGQlVTeFpRVUZCUXl4RFFVRlpMRVZCUVVkNlJDeERRVUZKTEVOQlF6bEZMRU5CTUVKQkxFOUJRVThzUzBGQlRTeERRVU5ZTEVkQlFVMHNRMEZCUTBFc1JVRkJUV2xFTEVOQlFVa3NSVUZCU1VZc1IwRkJVeXhUUVVGVExFVkJRM0pETEVOQlFVTjRSQ3hGUVVGTlF5eEZRVUZQTmtRc1JVRkJTME1zUlVGQlRVTXNSVUZCVVVNc1JVRkJVVU1zUTBGQlZ5eEZRVUZKVWl4RlFVVXhSQ3hQUVVGQmFrUXNSVUZCU3l4TFFVRlBNRVFzUjBGQlowSXNXVUZEY2tJM1FpeEhRVUZSTEVOQlFVVXNTMEZCUVhSRExFVkJRVTBzVFVGQlFVTXNSVUZCVHl4SlFVRkJOa1FzUlVGQlN5eExRVUZCUXl4RlFVRk5MRTlCUVVGRExFVkJRVkVzVDBGQlFVTXNSVUZCVVN4WlFVRkJReXhEUVVGWkxFVkJRVWQ2UkN4RFFVRkpMRU5CUXpsRkxFTkJVMEVzVDBGQlR5eFhRVUZYTWtRc1JVRkJUVU1zUlVGQlZTeERRVUZETEVWQlFVY3NRMEZEY0VNc1NVRkJUVGxGTEVWQlFVc3JSU3hIUVVGUFJpeERRVUZKTEVWQlFVbEJMRVZCUVVzc1VVRkJVU3hGUVVGSkxFbEJRek5ETEVkQlFVa3NUMEZCVHl4TlFVRk5OMFVzUTBGQlJTeEZRVU5xUWl4UFFVRlBiMFVzUlVGQlV5eFJRVUZSTEdWQlFXVXNSVUZIZWtNc1NVRkJUVmtzUlVGQldXaERMRWRCUVdNNFFpeEZRVUZSTEV0QlFVMDNRaXhGUVVGVExGZEJRVmNzUlVGRGJFVXNUMEZCU3l0Q0xFVkJRVlVzVVVGSlVpeEpRVUZKV2l4RlFVRlRMRU5CUTJ4Q0xFZEJRVWx3UlN4RlFVTktMRXRCUVUxblJpeEZRVU5PTEVsQlFVdHlSQ3hIUVVGUExGZEJRVmR0UkN4RFFVRlBMRU5CUTJoRExFTkJRVU1zUlVGUVVWWXNSVUZCVXl4UlFVRlJla1lzUjBGQlowSnhSeXhEUVVGVExFTkJRVU1zUTBGUmRFUXNRMEZaUVN4UFFVRlBMRmRCUVZkRExFVkJRV05JTEVWQlFWVXNRMEZCUXl4RlFVRkhMRU5CUXpWRExFZEJRVXRKTEVkQlFWTkVMRU5CUVZrc1JVRkpia0lzVDBGQlNVRXNSVUZCWlN4RFFVRkRka2NzU1VGQldYVkhMRVZCUVdWMlJ5eEhRVVUzUXpCR0xFVkJRVk1zVVVGQlVTeDNRa0ZCZDBJc1JVRkZla01zU1VGQlNVRXNSVUZCVXl4RFFVTnNRaXhIUVVGSllTeEZRVU5LTEV0QlFVMXFReXhIUVVGak9FSXNSVUZCVVN4TFFVRk5OMElzUlVGQlV5eFhRVUZYTEVWQlEzUkVMRWxCUVV0MFFpeEhRVUZQTEZkQlFWZHRSQ3hEUVVGUExFTkJRMmhETEVOQlFVTXNSVUZZUkN4TlFVRk5MRWxCUVVsTExFZEJRMUlzZVVSQlFYbEVMRTlCUVU5R0xFTkJRVmtzWlVGQlpVRXNRMEZCV1N4RlFVTjZSeXhEUVZkS0xFTkJXVUVzVDBGQlR5eFpRVUZaUnl4RlFVRlRUaXhGUVVGVkxFTkJRVU1zUlVGQlJ5eERRVU40UXl4SFFVRkxTU3hIUVVGVFJTeERRVUZQTEVWQlIyNUNMRTlCUVU4c1NVRkJTV2hDTEVWQlFWTXNRMEZEYkVJc1IwRkJTV2RDTEVWQlFWVXNTVUZEWkN4TFFVRk5jRU1zUjBGQll6aENMRVZCUVZFc1MwRkJUVGRDTEVWQlFWTXNWMEZCVnl4RlFVTjBSQ3hKUVVGTGRFSXNSMEZCVHl4WFFVRlhiVVFzUTBGQlR5eERRVU5vUXl4RFFVRkRMRVZCVGtRc1RVRkJUU3hKUVVGSlN5eEhRVUZ4UWl4M1EwRkJkME1zUTBGUk0wVXNRMEU0UWtFc1QwRkJUeXhYUVVGWEwwVXNSVUZCUzJNc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGRGFFTmtMRVZCUVUxQkxFZEJRVThzUTBGQlF5eEZRVU5rTEVsQlFVMDBSU3hGUVVGWmFFTXNSMEZCWXpsQ0xFVkJRVXNzUzBGQlRTdENMRVZCUVZNc1YwRkJWeXhGUVVNdlJDeEhRVUZKTEVOQlFVTXJRaXhGUVVGVkxGRkJRMklzVDBGQlQxb3NSVUZCVXl4UlFVRlJla1lzUjBGQlowSnhSeXhEUVVGVExFTkJRVU1zUlVGSGNFUXNTVUZCVFRkQ0xFVkJRVkZHTEVWQlFWTXNTVUZCU1N4RlFVTjZRbEVzUlVGQlowSk1MRVZCUVZsc1F5eEZRVUZMTEdOQlFXTXNSVUZGTTBNNFJDeEZRVUZWTEU5QlFVODNRaXhEUVVGTExFVkJSSFJDYWtNc1JVRkJTeXhsUVVWVU1rSXNSVUZCWVhkRExFZEJRV2RDYWtZc1JVRkJTM1ZETEVWQlFXRXNSVUZETDBNeVF5eEZRVUZyUWl4RFFVRkRiRU1zUlVGQldWQXNSVUZCVnl4UFFVRlBMRVZCUTJwRU1FTXNSVUZCY1VJc1EwRkJRMjVETEVWQlFWbFFMRVZCUVZjc1NVRkJTU3hGUVVOcVJESkRMRVZCUVcxQ0xFTkJRVU53UXl4RlFVRlpVQ3hGUVVGWExFdEJRVXNzUjBGQlN5eERRVUZEVHl4RlFVRlpVQ3hGUVVGWExFZEJRVWNzUlVGRGFFWTBReXhGUVVGcFFrWXNSMEZCYzBKRExFVkJRM1pEUlN4RlFVRnJRamRETEVWQlFWY3NWVUZCV1VFc1JVRkJWeXhYUVVOd1JFc3NSVUZCVFhaQ0xFZEJRVThzVjBGQlYxUXNRMEZCU1N4RlFWRTVRaXhKUVVGTGRVVXNSMEZCYTBKSUxFbEJRVzlDU1N4RlFVTjZReXhOUVVGTkxFbEJRVWxETEVkQlExSXNjVVZCUTBZc1JVRkhSaXhIUVVGSlNDeEhRVUZ2UWtZc1JVRkRkRUlzVFVGQlRTeEpRVUZKU3l4SFFVRTRRaXgzUTBGQmQwTXNSVUZIYkVZc1NVRkJUVU1zUlVGQlkwWXNSMEZCYjBJM1F5eEZRVUZYTEZOQlFWY3NRMEZCUXpSRExFVkJSek5FU1N4RlFVTkdReXhGUVVOQlF5eEZRVUZUYUVjc1IwRkJVVzlFTEVWQlFVOU5MRU5CUVZrc1JVRkRiRU50UXl4SFFVTkdReXhGUVVGUmNFUXNSMEZEVW5GRUxFVkJRV2RDZUVRc1IwRkRhRUo1UkN4RlFVRlRMMGNzUjBGQlowSXJSeXhEUVVGTkxFZEJRM1JDVkN4SFFVTlVUeXhGUVVGUmJrUXNSMEZEVW05RUxFVkJRV2RDZGtRc1IwRkRhRUozUkN4RlFVRlRReXhIUVVGdFFrUXNRMEZCVFN4SlFVVnNRMFlzUlVGQlVYSkVMRWRCUTFKelJDeEZRVUZuUW5wRUxFbEJTV3hDTEVsQlFVazBSQ3hGUVVGaExFZEJRMnBDTEZGQlFWYzFReXhMUVVGTGQwTXNSVUZCVHl4RFFVTnlRaXhKUVVGTlN5eEZRVUZKY2tRc1JVRkJWMUVzUTBGQlF5eEZRVU5xUWtRc1JVRkJXVGhETEVOQlFVTXNSVUZGVUVRc1JVRkRWSEJFTEVWQlFWZFJMRU5CUVVNc1JVRkJTWGxETEVWQlFXTjZReXhEUVVGRExFVkJSUzlDVWl4RlFVRlhVU3hEUVVGRExFVkJRVWt3UXl4RlFVRlBNVU1zUTBGQlF5eEZRVXA0UWpSRExFVkJRV0VzUlVGTmFrSXNRMEZIUVN4SlFVRk5SU3hGUVVGeFFsQXNSVUZEY2tKUkxFZEJRVzFDZGtRc1EwRkJWU3hGUVVNM1FubERMRVZCUTBGbExFZEJRWE5DZUVRc1EwRkJWU3hGUVVOb1ExVXNSMEZCZDBKV0xFTkJRVlVzUlVGRGRFTlRMRVZCUVZVMlF5eEhRVUZ6UWpORExFZEJRVzFDV0N4RFFVRlZMRVZCUlM5RUxFZEJRVWxUTEVWQlEwWXNUMEZCVDJNc1JVRkJVeXhSUVVGUlpDeERRVUZQTEVWQlNXcERMRWxCUVUxblJDeEZRVUZaVml4RlFVTmFWeXhIUVVGblFqRkVMRU5CUVZVc1JVRkRNVUo1UXl4RlFVTkJhMElzUjBGQmJVSXpSQ3hEUVVGVkxFVkJRemRDUVN4RlFVTktMRU5CUVVNMFJDeEZRVUZUUXl4RFFVRlhMRVZCUVVsMlJ5eEhRVUZSYlVjc1JVRkJWemRETEVWQlFXTjFRaXhEUVVGVExFVkJRMjVGT1VZc1JVRkJUeXhKUVVGSmEwWXNSVUZCVXl4RFFVTnNRaXhIUVVGSmNVTXNSVUZEU2l4TFFVRk5la0lzUlVGRFRpeEZRVUZITUVJc1JVRkRTQ3hKUVVGQmVFUXNRMEZEUml4RFFVRkRMRVZCUjBnc1QwRkJTVXdzUlVGQlZ5eFRRVUZYTkVNc1IwRkJhMEp5Uml4RlFVRkpMRlZCUVZsc1FpeEZRVUZMTEZGQlEzaEVhMFlzUlVGQlV5eFJRVU5rTEhGQ1FVTkJMSFZEUVVGMVEzWkNMRVZCUVZjc1QwRkJUeXhyUWtGQmEwSXpSQ3hGUVVGTExFMUJRVTBzUTBGQlF5eEZRVU42Uml4RlFVZExRU3hEUVVOVUxFTkJhMEpCTEU5QlFVOHNVVUZCVVd0RExFVkJRVTFHTEVWQlFVOHNRMEZCUXl4RlFVRkhMRU5CUXpsQ0xFZEJRVTBzUTBGQlEzbEdMRVZCUVUweFJpeERRVUZWTEVWQlFVa3lSaXhIUVVGaGVFWXNRMEZCU1N4RlFVTTFReXhQUVVGUFRDeEhRVUZ2UWpSR0xFVkJRVTB4Uml4RlFVRlpReXhGUVVGTkxGZEJRVmxGTEVOQlFVa3NRMEZEY2tVc1EwRm5Ra0VzVDBGQlR5eFpRVUZaUVN4RlFVRk5SaXhGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU5zUXl4SFFVRk5MRU5CUVVONVJpeEZRVUZOTVVZc1EwRkJWU3hGUVVGSk5FWXNSMEZCYVVKNlJpeERRVUZKTEVWQlEyaEVMRTlCUVU5TUxFZEJRVzlDTkVZc1JVRkJUVEZHTEVWQlFWbERMRVZCUVUwc1YwRkJXVVVzUTBGQlNTeERRVU55UlN4RFFXbENRU3hQUVVGUExGTkJRVk5CTEVWQlFVMUdMRVZCUVU4c1EwRkJReXhGUVVGSExFTkJReTlDTEVkQlFVMHNRMEZCUTNsR0xFVkJRVTB4Uml4RFFVRlZMRVZCUVVrMlJpeEhRVUZqTVVZc1EwRkJTU3hGUVVNM1F5eFBRVUZQVEN4SFFVRnZRalJHTEVWQlFVMHhSaXhGUVVGWlF5eEZRVUZOTEU5QlFWRkJMRU5CUVVrc1EwRkRha1VzUTBGbFFTeFBRVUZQTEZkQlFWZEZMRVZCUVUweVJpeEZRVUZMTjBZc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGRGRFTXNSMEZCU1d0RExFVkJRVmxvUXl4RFFVRkpMRWRCUVV0blF5eEZRVUZaTWtRc1EwRkJSeXhGUVVOMFF5eE5RVUZOTEVsQlFVazFRaXhIUVVGeFFpeHJSRUZCYTBRc1JVRkhia1lzUjBGQlRTeERRVUZGTEU5QlFVRTJRaXhGUVVGVExFdEJRVTBzWjBKQlFVRkRMRVZCUVd0Q0xFbEJRVXNzUlVGQlNTOUdMRVZCUTJoRVowY3NSVUZCWTNaR0xFZEJRVThzVTBGQlV5eERRVU0xUWl4UFFVRkJjVVlzUlVGRFFTeG5Ra0ZCUVVNc1JVRkRRU3haUVVGaExFVkJRMllzUTBGQlF5eEZRVU5FTEVOQlFVTk9MRVZCUVUweFJpeEZRVUZaU1N4RlFVRm5RbWxETEVOQlFVOHNSVUZCU1RaRUxFZEJRV2RDUkN4RlFVRmhPVVlzUlVGQlRUSkdMRU5CUVVjc1JVRkRkRVlzVDBGQlNYcEVMRVZCUTB0akxFVkJRVk1zVVVGQlVXUXNRMEZCVHl4RlFVVjRRblpETEVkQlFXOUNORVlzUlVGQlRURkdMRVZCUVZsRExFVkJRVTBzVlVGQlZUWkdMRU5CUVVjc1IwRkJTVE5HTEVWQlFVMURMRU5CUVdNc1EwRkZOVVlzUTBGTFFTeFBRVUZQTEZkQlFWZEVMRVZCUVUweVJpeEZRVUZMTjBZc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGRGRFTXNUMEZCVDJ0RUxFVkJRVk1zVjBGQlYyaEVMRVZCUVUweVJpeEZRVUZMTjBZc1EwRkJTU3hEUVVNMVF5eERRWE5DUVN4UFFVRlBMRkZCUVZGRkxFVkJRVTFHTEVWQlFVOHNRMEZCUXl4RlFVRkhMRU5CUXpsQ0xFZEJRVTBzUTBGQlEzbEdMRVZCUVUweFJpeERRVUZWTEVWQlFVbHRSeXhIUVVGVGFFY3NRMEZCU1N4RlFVTjRReXhQUVVGUFRDeEhRVUZ2UWpSR0xFVkJRVTB4Uml4RlFVRlpReXhGUVVGTkxFMUJRVTlGTEVOQlFVa3NRMEZEYUVVc1EwRlJRU3hQUVVGUExGRkJRVkZwUnl4RlFVRlJReXhGUVVGakxFdEJRVTBzUTBGRGVrTXNSMEZCU1N4RFFVRkRSQ3hGUVVOSUxFMUJRVTBzU1VGQlNXeERMRWRCUVhGQ0xHdEVRVUZyUkN4RlFVZHVSaXhKUVVGTk4wSXNSVUZCVlN0RUxHRkJRV3RDZUVrc1IwRkJWWGRKTEVWQlFWTXNTVUZCU1hoSkxFZEJRVkYzU1N4RlFVRlJReXhEUVVGWExFVkJSWEJHTEVkQlFVbHlSU3hGUVVGVExHVkJRMWdzVFVGQlRTeEpRVUZKYzBVc1IwRkJjVUpxUlN4RFFVRlBMRVZCUlhSRExFOUJRVThzU1VGQlNXTXNSVUZCVXl4RFFVRkZMRkZCUVVGa0xFTkJRVkVzUTBGQlF5eERRVVZ1UXl4RFFVOUJMRTlCUVU4c1YwRkJWelZFTEVWQlFVY3NRMEZEYmtJc1QwRkJVVUVzUjBGQlMwRXNSVUZCUlN4cFFrRkJiMElzUlVGRGNrTXNRMEZYUVN4SlFVRkphMFFzUlVGQlRTeERRVU5TTEU5QlFVOHNTMEZCUzBFc1EwRkJTU3hEUVVOc1FpeERRVkZCTEVsQlFVa3NVMEZCVlN4RFFVTmFMRTlCUVU4c1MwRkJTeXhWUVVGWkxFbEJRekZDTEVOQlRVRXNTVUZCU1N4bFFVRm5RaXhEUVVOc1FpeFBRVUZQTEV0QlFVc3NVVUZCVlN4TFFVRkxMRkZCUVZFc1QwRkJVeXhKUVVNNVF5eERRVTFCTEVsQlFVa3NiMEpCUVhGQ0xFTkJRM1pDTEU5QlFVOHNTMEZCU3l4UlFVRlZMRXRCUVVzc1VVRkJVU3haUVVGakxFbEJRMjVFTEVOQlQwRXNTVUZCU1N4UlFVRlRMRU5CUTFnc1QwRkJUeXhMUVVGTExGRkJRVlVzUzBGQlN5eEpRVUZKTEU5QlFWTXNTVUZETVVNc1EwRlBRU3hKUVVGSkxHbENRVUZyUWl4RFFVTndRaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEVsQlFVa3NaMEpCUVd0Q0xFbEJRMjVFTEVOQlQwRXNTVUZCU1N4blFrRkJhVUlzUTBGRGJrSXNUMEZCVHl4TFFVRkxMRkZCUVZVc1MwRkJTeXhKUVVGSkxHVkJRV2xDTEVsQlEyeEVMRU5CVFVFc1NVRkJTU3hOUVVGUExFTkJRMVFzVDBGQlR5eExRVUZMTEV0QlEyUXNRMEZOUVN4SlFVRkpMRlZCUVZjc1EwRkRZaXhQUVVGUExFdEJRVXNzVVVGQlZTeExRVUZMTEV0QlFVc3NTMEZCVHl4SlFVTjZReXhEUVU5QkxFbEJRVWtzVFVGQlR5eERRVU5VTEU5QlFVOHNTMEZCU3l4UlFVRlZMRXRCUVVzc1JVRkJSU3hMUVVGUExFZEJRM1JETEVOQlQwRXNTVUZCU1N4VFFVRlZMRU5CUTFvc1QwRkJUeXhMUVVGTExGRkJRVlVzUzBGQlN5eExRVUZMTEV0QlFVc3NSVUZCUlN4TlFVRlJMRU5CUVVNc1JVRkJTU3hIUVVOMFJDeERRVTlCTEVsQlFVa3NUMEZCVVN4RFFVTldMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzUlVGQlJTeE5RVUZSTEVkQlEzWkRMRU5CVDBFc1NVRkJTU3hMUVVGTkxFTkJRMUlzVDBGQlR5eExRVUZMTEZGQlFWVXNTMEZCU3l4RlFVRkZMRWxCUVUwc1IwRkRja01zUTBGUFFTeEpRVUZKTEUxQlFVOHNRMEZEVkN4UFFVRlBMRXRCUVVzc1VVRkJWU3hMUVVGTExFVkJRVVVzUzBGQlR5eEhRVU4wUXl4RFFVOUJMRWxCUVVrc1VVRkJVeXhEUVVOWUxFOUJRVThzUzBGQlN5eFJRVUZWTEV0QlFVc3NSVUZCUlN4UFFVRlRMRWRCUTNoRExFTkJUMEVzU1VGQlNTeFJRVUZUTEVOQlExZ3NUMEZCVHl4TFFVRkxMRkZCUVZVc1MwRkJTeXhGUVVGRkxFOUJRVk1zUjBGRGVFTXNRMEZQUVN4SlFVRkpMR0ZCUVdNc1EwRkRhRUlzVDBGQlR5eExRVUZMTEZGQlFWVXNTMEZCU3l4RlFVRkZMRmxCUVdNc1IwRkROME1zUTBGUlFTeEpRVUZKTEZWQlFWY3NRMEZEWWl4UFFVRlBMRXRCUVVzc1VVRkJWVGxFTEVkQlFYVkNMRWxCUVVrc1JVRkJSU3hUUVVGWExFZEJRMmhGTEVOQlVVRXNTVUZCU1N4WlFVRmhMRU5CUTJZc1QwRkJUeXhMUVVGTExGRkJRVlZCTEVkQlFYVkNMRWxCUVVrc1JVRkJSU3hYUVVGaExFZEJRMnhGTEVOQlUwRXNTVUZCU1N4VFFVRlZMRU5CUTFvc1QwRkJUeXhMUVVGTExGRkJRVlZCTEVkQlFYVkNMRWxCUVVrc1JVRkJSU3hSUVVGVkxFZEJReTlFTEVOQlQwRXNTVUZCU1N4VFFVRlZMRU5CUTFvc1QwRkJUeXhMUVVGTExGRkJRVlZyU0N4SFFVRnRRaXhMUVVGTExFTkJRVU1zUlVGQlJTeFJRVUZWTEVkQlF6ZEVMRU5CVVVFc1NVRkJTU3haUVVGaExFTkJRMllzVDBGQlR5eExRVUZMTEZGQlFWVjNRaXhIUVVGTExFOUJRVThzVVVGQlV5eERRVUZGTEU5QlFWRXNTMEZCU3l4SFFVRkpMRU5CUVVNc1JVRkJSU3hMUVVGTExFMUJRVkVzUTBGQlF5eEZRVUZKTEVsQlEzSkdMRU5CVVVFc1NVRkJTU3hYUVVGWkxFTkJRMlFzVDBGQlR5eExRVUZMTEZGQlFWVkJMRWRCUVVzc1QwRkJUeXhQUVVGUkxFTkJRVVVzVDBGQlVTeExRVUZMTEVkQlFVa3NRMEZCUXl4RlFVRkZMRXRCUVVzc1RVRkJVU3hEUVVGRExFVkJRVWtzU1VGRGNFWXNRMEZSUVN4SlFVRkpMR05CUVdVc1EwRkRha0lzVDBGQlR5eExRVUZMTEZGQlFWVkJMRWRCUVVzc1UwRkJVeXhSUVVGVExFTkJRVVVzVDBGQlVTeExRVUZMTEVkQlFVa3NRMEZCUXl4RlFVRkZMRXRCUVVzc1VVRkJWU3hEUVVGRExFVkJRVWtzU1VGRGVrWXNRMEZSUVN4SlFVRkpMR0ZCUVdNc1EwRkRhRUlzVDBGQlR5eExRVUZMTEZGQlFWVkJMRWRCUVVzc1UwRkJVeXhQUVVGUkxFTkJRVVVzVDBGQlVTeExRVUZMTEVkQlFVa3NRMEZCUXl4RlFVRkZMRXRCUVVzc1VVRkJWU3hEUVVGRExFVkJRVWtzU1VGRGVFWXNRMEZSUVN4SlFVRkpMRkZCUVZNc1EwRkRXQ3hQUVVGUExFdEJRVXNzVVVGQlZTeERRVUZETEV0QlFVc3NSVUZCU1N4SFFVTnNReXhEUVU5QkxFbEJRVWtzYVVKQlFXdENMRU5CUTNCQ0xFOUJRVWtzUzBGQlN5eFJRVU5CTEV0QlFVc3NTMEZCU3l4WFFVRlhMRXRCUVVzc1IwRkJTU3hEUVVOdVF5eFBRVUZSTEZGQlExSXNUMEZCVVN4TFFVRkxMRTFCUTJZc1EwRkJReXhGUVVWTkxFbEJSVmdzUTBGUFFTeEpRVUZKTEdkQ1FVRnBRaXhEUVVOdVFpeFBRVUZKTEV0QlFVc3NVVUZEUVN4TFFVRkxMRXRCUVVzc1YwRkJWeXhMUVVGTExFZEJRVWtzUTBGRGJrTXNUMEZCVVN4UFFVTlNMRTlCUVZFc1MwRkJTeXhOUVVObUxFTkJRVU1zUlVGRlRTeEpRVVZZTEVOQlRVRXNTVUZCU1N4bFFVRm5RaXhEUVVOc1FpeFBRVUZQTEV0QlFVc3NVVUZCVlN4TFFVRkxMRXRCUVVzc1dVRkJZeXhKUVVOb1JDeERRVTFCTEVsQlFVa3NVMEZCVlN4RFFVTmFMRTlCUVVrc1MwRkJTeXhqUVVOQkxFZEJSMHdzUzBGQlN5eFBRVUZUTEV0QlFVc3NTVUZCU1N4RFFVRkZMRTFCUVU4c1JVRkJSeXhKUVVGTExFTkJRVVVzUTBGQlF5eEZRVUZGTEZGQlF6ZERMRXRCUVVzc1QwRkJVeXhMUVVGTExFbEJRVWtzUTBGQlJTeE5RVUZQTEVOQlFVVXNRMEZCUXl4RlFVRkZMRTFCUnpORExFTkJVVUVzU1VGQlNTeGpRVUZsTEVOQlEycENMRTlCUVU5RExFZEJRVmNzUzBGQlN5eEpRVUZKTEVOQlF6ZENMRU5CVVVFc1NVRkJTU3hoUVVGakxFTkJRMmhDTEU5QlFVODNSeXhIUVVGWkxFdEJRVXNzUzBGQlRTeExRVUZMTEV0QlFVc3NRMEZETVVNc1EwRlJRU3hKUVVGSkxGbEJRV0VzUTBGRFppeFBRVUZQTEV0QlFVc3NVVUZCVlRoSExFZEJRVmNzUzBGQlN5eEpRVUZKTEVWQlFVa3NSMEZEYUVRc1EwRlRRU3hKUVVGSkxHbENRVUZyUWl4RFFVTndRaXhQUVVGUExFdEJRVXNzVVVGQlZVTXNSMEZCWjBJc1MwRkJTeXhSUVVGUkxFVkJRVWtzUjBGRGVrUXNRMEZSUVN4elFrRkJjMEo2Unl4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVNdlFpeEhRVUZOTEVOQlFVVXNUMEZCUVRoR0xFVkJRVkVzWjBKQlFVRkRMRVZCUVdsQ0xGTkJRVUZYTEVOQlFWTXNSVUZCU1d4SExFZEJRVlVzVDBGRGRFUXNTMEZCU3l4SlFVRkpMRTFCUVUxU0xFTkJRVWtzUlVGRGJrSkJMRU5CUTBZc1JVRkJSU3huUWtGQlowSXNTVUZCU1N4RlFVTjBRaXhOUVVGUExFTkJRVVVzVDBGQlFUaEdMRVZCUVZFc1owSkJRVUZETEVWQlFXbENMR1ZCUVdkQ1Z5eERRVUZUTEVOQlF6ZEVMRU5CV1VFc1RVRkJUVE5JTEVWQlFWTXNSVUZCUjJsQ0xFVkJRVThzUTBGQlF5eEZRVUZITEVOQlF6TkNMRTlCUVU4c1MwRkJTeXhSUVVGUk1FUXNSMEZCWjBJc1UwRkJVek5GTEVOQlFVMHNSVUZCUjJsQ0xFTkJRVWtzUTBGRE5VUXNRMEZSUVN4VFFVRlZMRU5CUTFJc1QwRkJUeXhMUVVGTExGRkJRVkVyUWl4RlFVRlRMRmRCUVZjc1EwRkRNVU1zUTBGWFFTeFJRVUZSY2tVc1JVRkJUU3hEUVVGRkxHTkJRVUZwU2l4RlFVRm5RaXhIUVVGUExHbENRVUZCUXl4RlFVRnRRaXhGUVVGTkxFVkJRVWtzUTBGQlF5eEZRVUZITEVOQlJYUkZMRWRCUkVGc1NpeEZRVUZQYjBVc1IwRkJZM0JGTEVWQlFVMXhSU3hGUVVGVExGZEJRVmNzUlVGRE0wTnlSU3hGUVVGTExFOUJRVThzUzBGQlN5eEpRVUZKTEVWQlEzWkNMRTlCUVU4c1MwRkRSaXhIUVVGTFFTeEZRVUZMTEZGQlJWWXNRMEZEVEN4SlFVRkpiVW9zUlVGQlVTeExRVUZMTEVkQlEycENMRWRCUVVsR0xFZEJRV2xDUXl4RlFVRnJRaXhEUVVOeVF5eEpRVUZOUlN4RlFVRmpjRW9zUlVGQlN5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RlFVTnFRM0ZLTEVWQlFWRXNTMEZCU3l4VFFVRlRMRVZCUXpWQ0xFTkJRVU5HTEVOQlFVc3NSVUZCU1RWSUxFZEJRVkU0U0N4RlFVRlBSQ3hGUVVGaGNFb3NRMEZCU1N4RFFVTTFReXhEUVVOQkxFOUJRVTlMTEVkQlFVMHNTMEZCVFN4RFFVRkZMRWRCUVVrNFNTeEZRVUZQTEV0QlFVRnVTaXhEUVVGTExFTkJRVU1zUTBGRGVFTXNTMEZVUlN4UlFVRlBkMFlzUlVGQlV5eFJRVUZSZWtZc1IwRkJaMEpETEVOQlFVa3NRMEZCUXl4RFFWVnFSQ3hEUVZGQkxGbEJRVmtzUTBGQlJTeFBRVUZCYjBrc1JVRkJVU3huUWtGQlFVTXNSVUZCYVVJc1pVRkJRV2xDTEVOQlFXVXNSVUZCU1N4RFFVRkRMRVZCUVVjc1EwRkROVVFzU1VGQlRXaEdMRVZCUVUwc1MwRkJTeXhKUVVGSkxFMUJRVTBzUTBGQlJTeFBRVUZCT0VRc1JVRkJVU3huUWtGQlFVTXNSVUZCYVVJc1pVRkJRV2xDTEVOQlFXVXNRMEZCUXl4RlFVTjBSU3hQUVVGUGFrb3NSMEZCVFN4TFFVRk5MRU5CUVVVc1NVRkJRV2xGTEVOQlFVa3NRMEZCUXl4RFFVTTFRaXhEUVZGQkxGVkJRVlU0UkN4RlFVRlJMRU5CUTJoQ0xFOUJRVThzUzBGQlN5eFpRVUZaTEVOQlFVVXNUMEZCUVVFc1EwRkJUeXhEUVVGRExFTkJRM0JETEVOQldVRXNTVUZCU1cxQ0xFVkJRVkVzUTBGRFZpeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVRlRMRTlCUVU4c1MwRkZNVUlzU1VGQlRYUkdMRVZCUVdGM1F5eEhRVUZuUWpoRExFVkJRVkY0Uml4RlFVRmhMRVZCUTNSRWVVWXNSVUZEUlN4RFFVRkRhRVlzUlVGQldWQXNSVUZCVnl4UlFVRlJMRWRCUTJoRExFTkJRVU5QTEVWQlFWbFFMRVZCUVZjc1ZVRkJWU3hIUVVOc1F5eERRVUZEVHl4RlFVRlpVQ3hGUVVGWExFOUJRVThzUlVGRGFrTjVReXhGUVVGclFpeERRVUZEYkVNc1JVRkJXVkFzUlVGQlZ5eFBRVUZQTEVWQlEycEVNRU1zUlVGQmNVSXNRMEZCUTI1RExFVkJRVmxRTEVWQlFWY3NTVUZCU1N4RlFVTnFSREpETEVWQlFXMUNMRU5CUVVOd1F5eEZRVUZaVUN4RlFVRlhMRXRCUVVzc1IwRkJTeXhEUVVGRFR5eEZRVUZaVUN4RlFVRlhMRWRCUVVjc1JVRkRhRVkwUXl4RlFVRnBRa1lzUjBGQmMwSkRMRVZCUTNaRFJTeEZRVUZyUWpkRExFVkJRVmNzVlVGQldVRXNSVUZCVnl4WFFVVjBSQ3hKUVVGTE5FTXNSMEZCYTBKSUxFbEJRVzlDU1N4RlFVTjZReXhOUVVGTkxFbEJRVWxETEVkQlExSXNjVVZCUTBZc1JVRkhSaXhIUVVGSlNDeEhRVUZ2UWtZc1JVRkRkRUlzVFVGQlRTeEpRVUZKU3l4SFFVRTRRaXgzUTBGQmQwTXNSVUZIYkVZc1NVRkJTVEJETEVWQlEwRkVMRVZCUTBaRExFVkJRVkU1UWl4SFFVRm5RbWhJTEVsQlFVRXNSMEZCUzFBc1IwRkJaMElzUzBGQlN5eERRVUZETEVkQlFVMDJSQ3hGUVVGWkxFVkJRek5FVHl4RlFVRlpVQ3hGUVVGWExFOUJRVThzUjBGSGVFTjNSaXhGUVVGUk9Va3NTVUZCUVN4SFFVRkxMRXRCUVVzc1UwRkJVeXhIUVVGTmMwUXNSMEZKTjBKUExFVkJRVmxRTEVWQlFWY3NSMEZCUnl4SlFVTTFRbmRHTEVWQlFVMHNTVUZCVFN4TFFVRkxMRWxCUVVsNlNDeEhRVUZaZVVnc1JVRkJUU3hMUVVGTlFTeEZRVUZOTEV0QlFVc3NSVUZCUjBFc1JVRkJUU3hIUVVGSExFbEJVSFJGUVN4RlFVRlJOMElzUjBGQmJVSnFTQ3hKUVVGQkxFZEJRVXQ1Unl4SFFVRnRRaXhMUVVGTExFTkJRVU1zUjBGQlRXNUVMRVZCUVZrc1JVRlhOMFVzUjBGQlRTeERRVUZETjBNc1JVRkJTVTRzUTBGQlF5eEZRVUZKVXl4SFFVRlJhMGtzUlVGQlR5eExRVUZMTEVWQlFVY3NTMEZCU3l4SlFVRkpMRVZCUTJoRUxFOUJRVTl3U2l4SFFVRk5MRXRCUVUwc1EwRkJSU3hIUVVGQlpTeEZRVUZKTEVWQlFVRk9MRU5CUVVVc1EwRkJReXhEUVVNNVFpeERRV1ZCTEV0QlFVczBTU3hGUVVGVkxFTkJRMklzUjBGQlNTeERRVUZETEV0QlFVc3NVVUZCVXl4UFFVRlBMRXRCUXpGQ0xFbEJRVTB2U0N4RlFVRk5UeXhGUVVGVExHbENRVUZwUW5kSUxFTkJRVkVzUlVGRE9VTXNUMEZCVDNKS0xFZEJRVTBzUzBGQlRYRkNMRWRCUVZjc1MwRkJUVU1zUTBGQlJ5eERRVUZETEVOQlF6RkRMRU5CVVVFc1RVRkJUU3RJTEVWQlFWVXNRMEZEWkN4SFFVRkpMRU5CUVVNc1MwRkJTeXhSUVVGVExFOUJRVThzUzBGRE1VSXNTVUZCVFM5SUxFVkJRVTFQTEVWQlFWTXNhVUpCUVdsQ2QwZ3NRMEZCVVN4RlFVRkZMRTlCUVU4c1JVRkRka1FzVDBGQlQzSktMRWRCUVUwc1MwRkJUWEZDTEVkQlFWY3NTMEZCVFVNc1EwRkJSeXhEUVVGRExFTkJRekZETEVOQldVRXNVVUZCVVhGRExFVkJRVTBzUTBGRFdpeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVRlRMRTlCUVU4c1MwRkRNVUlzU1VGQlRXeEVMRVZCUVVrc1EwRkJReXhGUVVOVU5ra3NSVUZCYVVKNlNDeEZRVUZUTEdOQlFXTTRRaXhEUVVGSkxFVkJRemxETEU5QlFWRXlSaXhGUVVGblFpeERRVU4wUWl4SlFVRkxMRkZCUTBnM1NTeEZRVUZGTEUxQlFWRXNSVUZGV2l4SlFVRkxMRmRCUTB3c1NVRkJTeXhUUVVOSVFTeEZRVUZGTEVsQlFVMHNSVUZGVml4SlFVRkxMRkZCUTB3c1NVRkJTeXhQUVVOSVFTeEZRVUZGTEV0QlFVOHNSVUZGV0N4SlFVRkxMRkZCUTBoQkxFVkJRVVVzVDBGQlV5eEZRVVZpTEVsQlFVc3NWVUZEU0VFc1JVRkJSU3hQUVVGVExFVkJSV0lzU1VGQlN5eFZRVU5JUVN4RlFVRkZMRmxCUVdNc1JVRkRhRUlzVFVGRFJpeEpRVUZMTEdWQlEwZ3NTMEZGU2l4RFFVMUJMRWRCU2trMlNTeEpRVUZ0UWl4VlFVTnlRamRKTEVWQlFVVXNVVUZCVlN4SFFVZFdOa2tzU1VGQmJVSXNWMEZCV1N4RFFVTnFReXhKUVVGTlF5eEZRVUZKTEV0QlFVc3NTMEZCU3l4TFFVRkxMRTFCUVZFc1EwRkJReXhGUVVOc1F6bEpMRVZCUVVVc1QwRkJVemhKTEVWQlFVa3NSMEZCU3l4RlFVRkpMRU5CUXpGQ0xFTkJSVUVzVDBGQlR5eExRVUZMTEVsQlFVazVTU3hEUVVGRExFTkJRMjVDTEVOQldVRXNUVUZCVFd0RUxFVkJRVTBzUTBGRFZpeFBRVUZQTEV0QlFVc3NVVUZEVWl4TFFVRkxMRXRCUVVzc1EwRkJSU3hEUVVGRFFTeERRVUZKTEVWQlFVY3NRMEZCUlN4RFFVRkRMRVZCUTNCQ0xGRkJRVkZCTEVOQlFVa3NSVUZEV2l4TlFVRk5MRU5CUVVNc1JVRkRWaXhKUVVOT0xFTkJaMEpCTEZOQlFWTnRSU3hGUVVGTE4wWXNSVUZCVHl4RFFVRkRMRVZCUVVjc1EwRkRka0lzVDBGQlR5eExRVUZMTEZGQlExSlJMRWRCUVZVc1QwRkJUeXhMUVVGTExFbEJRVWtzWTBGQlkxSXNRMEZCU1N4RFFVRkRMRVZCUVVVc2VVSkJRWGxDTEV0QlFVMDJSaXhEUVVGSExFVkJRMnBHZEVrc1JVRkRUaXhEUVhGQ1FTeGxRVUZsWjBzc1JVRkJjVUpETEVkQlFWbDRTQ3hGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU42UkN4UFFVRlBMRXRCUVVzc1VVRkRVbEVzUjBGQlZTeFBRVUZQTEV0QlFVc3NTVUZCU1N4TlFVRk5VaXhEUVVGSkxFVkJRVWQxU0N4RFFVRlZMRVZCUVVVc1pVRkJaU3hKUVVGSkxFVkJRM1JGYUVzc1JVRkRUaXhEUVdWQkxHTkJRV041UXl4RlFVRlBMRU5CUVVNc1JVRkJSeXhEUVVOMlFpeFBRVUZQTEV0QlFVc3NVVUZEVWxFc1IwRkJWU3hQUVVGUExFdEJRVXNzU1VGQlNTeE5RVUZOVWl4RFFVRkpMRVZCUVVkQkxFTkJRVWtzUlVGQlJTeHZRa0ZCYjBJc1NVRkJTU3hGUVVOeVJTeERRVUZETEVOQlExQXNRMEZuUWtFc1RVRkJUU3hEUVVOS0xFOUJRVUZETEVWQlFWTXNWMEZEVkN4blFrRkJRV01zUlVGQmEwSXNSMEZEYkVJc2NVSkJRVUZETEVWQlFYVkNMRWRCUTNaQ0xHTkJRVUZETEVWQlFXZENMRWRCUTJoQ0xHRkJRVUZETEVWQlFXVXNSVUZEYWtJc1JVRkJTU3hEUVVGRExFVkJRVWNzUTBGRFRpeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVTlNMRTlCUVU4c1MwRkhWQ3hKUVVGTmRVY3NSVUZCVFhoSUxFbEJRVmNzVjBGRmJrSlNMRVZCUVVscFFpeEhRVUZWTEV0QlFVMHJSeXhEUVVGSExFVkJRek5DTEU5QlFVRm9TU3hIUVVGTExFbEJRMHhCTEVkQlFVdHhRaXhIUVVGVkxFdEJRVTB5Unl4RlFVRkxNVWNzUlVGQmFVSkRMRVZCUVhOQ1F5eEZRVUZsUXl4RFFVRlpMRVZCUTNKR2VrSXNRMEZEVkN4RFFWVkJMRlZCUVZVc1EwRkJSU3hQUVVGQlVTeEZRVUZUTEZWQlFWY3NSVUZCU1N4RFFVRkRMRVZCUVVjc1EwRkRkRU1zVDBGQlN5eExRVUZMTEZGQlNVaFRMRWRCUVZVc1MwRkJUVlFzU1VGQlZ5eFZRVUZWTEVWQlNHNURMRWxCU1Znc1EwRlBRU3hsUVVGblFpeERRVU5rTEU5QlFVOUxMRWRCUVdFc1MwRkJUU3hqUVVGakxFTkJRekZETEVOQmFVSkJMRlZCUVZVc1EwRkRVaXh4UWtGQlFWVXNSVUZCZFVJc1IwRkRka0lzWjBKQlFVRkVMRVZCUVd0Q0xFZEJRMnhDTEdOQlFVRkZMRVZCUVdkQ0xFZEJRMmhDTEdOQlFVRjVSeXhGUVVGblFpeEhRVU5vUWl4aFFVRkJlRWNzUlVGQlpTeEhRVU5tTEU5QlFVRnFRaXhGUVVGVExGVkJRMWdzUlVGQlNTeERRVUZETEVWQlFVY3NRMEZEVGl4UFFVRkxMRXRCUVVzc1UwRkpSbmxJTEVWQlFXZENMRWxCUVUwc1NVRkhOVUkxUnl4SFFVTkZMRXRCUTBGaUxFbEJRVmNzVjBGRFdHTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNRMEZEUml4RlFXSlBMRWxCWlZnc1EwRlJRU3hYUVVGWkxFTkJRMVlzVDBGQlQxb3NSMEZCWVN4TFFVRk5MR2REUVVGcFF5eEZRVUZMTEVOQlEyeEZMRU5CVlVFc1VVRkJVeXhEUVVOUUxFOUJRVTlCTEVkQlFXRXNTMEZCU3l4TlFVRk5MRVZCUVVjc2FVTkJRV2xETEVOQlEzSkZMRU5CVDBFc1YwRkJXU3hEUVVOV0xFOUJRVXNzUzBGQlN5eFJRVWRJU1N4SFFVRlZMRXRCUVUwc1JVRkJTU3hGUVVac1FpeEpRVWRZTEVOQlkwRXNWVUZCVlN4RFFVRkZMR05CUVVGUExFVkJRV2RDTEVkQlFVMHNXVUZCUVRCSExFVkJRV01zUjBGQlR5eHRRa0ZCUVVNc1JVRkJjVUlzUlVGQlN5eEZRVUZKTEVOQlFVTXNSVUZCUnl4RFFVTjJSaXhKUVVGSkwwSXNSVUZCVFN4bFFVVldMRTlCUVVrNFFpeEhRVUZsTVVjc1MwRkRZakpITEVsQlEwWXZRaXhIUVVGUExFdEJSVXc0UWl4RlFVTkdPVUlzUjBGQlR5eEpRVU5GTlVVc1NVRkRWRFJGTEVkQlFVOHNUMEZKU25aR0xFZEJRV0VzUzBGQlRYVkdMRVZCUVVzc1JVRkJTU3hEUVVOeVF5eERRV05CTEUxQlFVMDNSaXhGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU5tTEU5QlFVc3NTMEZCU3l4UlFVbElMRWRCUVVjc1MwRkJTeXhWUVVGVkxFTkJRVU1zU1VGQlNTeExRVUZMTEZWQlFWVkJMRU5CUVVrc1EwRkJReXhIUVVoNlF5eEpRVWxZTEVOQlRVRXNWVUZCVnl4RFFVTlVMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzVFVGQlRTeEZRVUZKZWtNc1JVRkRka01zUTBGTlFTeFRRVUZWTEVOQlExSXNUMEZCVHl4TFFVRkxMRk5CUVZNc1EwRkRka0lzUTBGTlFTeFZRVUZYTEVOQlExUXNUMEZCVHl4TFFVRkxMRkZCUVZVc1MwRkJTeXhIUVVGTExFZEJRMnhETEVOQlRVRXNWMEZCV1N4RFFVTldMRTlCUVU4c1MwRkJTeXhSUVVGVkxFdEJRVXNzUjBGQlN5eEpRVUZQTEVkQlEzcERMRU5CVFVFc1pVRkJaMElzUTBGRFpDeFBRVUZQTEV0QlFVc3NVVUZCVlN4TFFVRkxMRTFCUVUwc1MwRkJTeXhIUVVGTExFZEJRVWtzUlVGQlNTeEhRVU55UkN4RFFVMUJMRkZCUVZNc1EwRkRVQ3hQUVVGUExFdEJRVXNzVFVGQlRTeERRVU53UWl4RFFVMUJMRkZCUVZNc1EwRkRVQ3hQUVVGUExFdEJRVXNzVTBGQlV5eERRVU4yUWl4RFFWTkJMRk5CUVZONVF5eEZRVUZQTEVOQlFVTXNSVUZCUnl4RFFVTnNRaXhIUVVGSkxFTkJRVU1zUzBGQlN5eFJRVUZUTEUxQlFVOHNRMEZCUXl4RlFVVXpRaXhKUVVGTk5rZ3NSVUZCVDNoS0xFVkJRVUVzUjBGQlN5eExRVUZMTEVkQlJYWkNMRTlCUVVreVFpeEZRVUZMTEdkQ1FVTlFOa2dzUlVGQlN5eGxRVUZwUWl4TFFVRkxMR1ZCUXpOQ1FTeEZRVUZMTEdkQ1FVRnJRaXhMUVVGTExFbEJRVWtzWjBKQlEyaERRU3hGUVVGTExFOUJRVk1zUzBGQlN5eEpRVUZKTEZGQlJXeENRU3hEUVVOVUxFTkJUVUVzVlVGQlZ5eERRVU5VTEU5QlFVOHNTVUZCU1N4TFFVRkxMRXRCUVVzc1VVRkJWU3hMUVVGTExFZEJRVXNzUjBGQlJ5eERRVU01UXl4RFFXMUNRU3hMUVVGTFF5eEZRVUZsY0Vjc1JVRkJUeXhsUVVGblFqRkNMRVZCUVU4c1EwRkJReXhGUVVGSExFTkJRM0JFTEVkQlFVa3NRMEZCUXl4TFFVRkxMRk5CUVZjc1EwRkJRemhJTEVWQlFXTXNVVUZEYkVNc1QwRkJUMnhKTEVWQlFWTXNVVUZCVVN4M1EwRkJkME1zUlVGSGJFVXNTVUZCVFcxSkxFVkJRVlV4U2l4RlFVRkJMRU5CUVVVc1QwRkJVU3hMUVVGTExFOUJRVkVzWjBKQlFXbENMRXRCUVVzc2FVSkJRVzlDTWtJc1IwRkZNMFV5UlN4RlFVRlJjVVFzUjBGQlYzUkhMRU5CUVVrc1JVRkJSU3hKUVVGSk9VSXNSVUZCVXl4aFFVRmhMRVZCUTNaRWNVa3NSVUZCWlVnc1JVRkJZeXhSUVVGUkxFVkJRVWtzUzBGQlN5eFJRVUZSTEVWQlEzUkVTU3hGUVVGVlJDeEZRVUZsTEV0QlFVOUlMRVZCUTJoRFN5eEZRVUZSUml4RlFVRmxTQ3hGUVVGblFpeExRVU4yUTAwc1JVRkJVME1zUjBGQlMwZ3NSVUZCVTBNc1JVRkJUM2hFTEVWQlFVOXZSQ3hEUVVGUExFVkJSVGxETEU5QlFVOUZMRVZCUVdWSExFVkJRVThzVDBGQlR5eEZRVUZKUVN4RFFVTXhReXhEUVZWQkxGRkJRVkV4Unl4RlFVRlBMR1ZCUVdkQ01VSXNSVUZCVHl4RFFVRkRMRVZCUVVjc1EwRkRlRU1zVDBGQlR5eExRVUZMTEV0QlFVdHJSQ3hGUVVGVExFbEJRVWtzUlVGQlIzaENMRVZCUVUweFFpeERRVUZKTEVOQlF6ZERMRU5CVDBFc1RVRkJUVGhJTEVWQlFXVXNRMEZEYmtJc1QwRkJUeXhMUVVGTExGRkJRVlZSTEVkQlFWTXNZMEZCWXl4TFFVRk5VaXhEUVVGaExFVkJRVWtzU1VGRGRFVXNRMEZYUVN4UlFVRlJRU3hGUVVGbGNFY3NSVUZCVFN4RFFVTXpRaXhIUVVGSkxFTkJRVU1zUzBGQlN5eFJRVUZUTEUxQlFVOHNSMEZGTVVJc1NVRkJUVFpITEVWQlFWVlVMRVZCUVdNc1VVRkJVU3hGUVVOb1ExVXNSVUZCYVVJc1MwRkJTeXhSUVVGUlZpeEZRVUZqTEV0QlFVMHNRMEZCUlN4alFVRmxMRVZCUVVzc1EwRkJReXhGUVVNdlJTeFBRVUZQVlN4RlFVRmxMRkZCUVZFNVJ5eERRVUZKTEVkQlFVczJSeXhIUVVGWFFTeEhRVUZYUXl4RlFVRmxMRTFCUVUwNVJ5eERRVUZKTEVOQlEzaEdMRU5CVTBFc1QwRkJUeXRITEVWQlFVOHNRMEZEV2l4UFFVTkZMRXRCUVVzc1UwRkRURUVzUlVGQlRTeFRRVU5PTEV0QlFVc3NVVUZCVVN4SlFVRk5RU3hGUVVGTkxGRkJRVkVzUjBGRGFrTXNTMEZCU3l4TFFVRkxMRTlCUVU5QkxFVkJRVTBzU1VGQlNTeEhRVU16UWl4TFFVRkxMRWxCUVVrc1QwRkJUMEVzUlVGQlRTeEhRVUZITEVOQlJUZENMRU5CYjBKQkxGZEJRVmMzUlN4RlFVRlZMRU5CUVVNc1JVRkJSeXhEUVVOMlFpeEhRVUZKTEVOQlFVTXNTMEZCU3l4UlFVRlRMRTlCUVU4c1MwRkRNVUlzU1VGQlRXbEZMRVZCUVU5cVJTeEZRVUZSTEUxQlFWRldMRVZCUVZNc1YwRkJWeXhEUVVGRExFVkJRVWNzUTBGQlJTeExRVUZOTEV0QlFVc3NTVUZCU3l4RFFVRkRMRVZCUTNSRmQwWXNSVUZCVlRsRkxFVkJRVkVzVVVGQlZ5eExRVUZQYVVVc1JVRkJUeXhEUVVGRGFrVXNSVUZCVVN4UlFVRlZRU3hGUVVGUkxGRkJRVmNzUlVGREwwVmxMRVZCUVZFc1EwRkJReXhSUVVGVExGTkJRVlVzVDBGQlVTeFJRVUZUTEZWQlFWY3NVMEZCVXl4RlFVTnFSV3BFTEVWQlFVOXJReXhGUVVGUkxFdEJRMjVDTEU5QlFVa3NUVUZCVFN4UlFVRlJRU3hGUVVGUkxFbEJRVWtzU1VGRE5VSmxMRVZCUVZGbUxFVkJRVkVzUzBGRGFFSnNReXhGUVVGUExGRkJSVVpqTEVkQlFXRnhSaXhGUVVGTkxFdEJRVXNzUzBGQlMyRXNRMEZCVHl4RlFVRkhkRXNzUjBGQlFVTXNSVUZCUVN4SFFVTjZRM1ZHTEVkQlJIbERMRU5CUlRWRExGRkJRVk1zVTBGRFZDeE5RVUZCWlN4RlFVTkJMRXRCUVVGcVJDeERRVU5HTEVWQlFVTXNRMEZEU0N4RFFXVkJMRzFDUVVGdFFtdERMRVZCUVZVc1EwRkJReXhGUVVGSExFTkJReTlDTEU5QlFVc3NTMEZCU3l4UlFVVkljRUlzUjBGQllXOUNMRVZCUVZFc1RVRkJVVllzUlVGQlV5eFhRVUZYTEVOQlFVTXNSVUZCUnl4RFFVRkZMRXRCUVUwc1MwRkJTeXhKUVVGTExFTkJRVU1zUlVGQlJ5eExRVUZOT1VVc1IwRkJRVU1zUlVGQlFTeEhRVU51Um5WR0xFZEJSRzFHTEVOQlJYUkdMRkZCUVZNc1QwRkRWQ3hOUVVGUExFTkJRVU1zVVVGQlV5eFRRVUZWTEUxQlFVMHNSVUZEYWtNc1ZVRkJWeXhGUVVOaUxFVkJRVU1zUlVGUWVVSXNTVUZSTlVJc1EwRlBRU3hQUVVGUExFOUJRVThyUlN4RlFVRlhMRU5CUTNaQ0xFZEJRVWtzUTBGQlEwRXNSVUZCVlN4TlFVRk5la1lzUlVGQlV5eFZRVUZWTEVWQlEzUkRMRTFCUVUwc1NVRkJTV1VzUjBGQmNVSXNlVU5CUVhsRExFVkJSVEZGTEU5QlFVOHlSU3hIUVVGUFJDeEZRVUZaUlN4SFFVRk5RU3hGUVVGRkxGRkJRVkVzUlVGQlJ5eExRVUZMTEVkQlFVY3NRMEZEZGtRc1EwRlBRU3hQUVVGUExFOUJRVTlHTEVWQlFWY3NRMEZEZGtJc1IwRkJTU3hEUVVGRFFTeEZRVUZWTEUxQlFVMTZSaXhGUVVGVExGVkJRVlVzUlVGRGRFTXNUVUZCVFN4SlFVRkpaU3hIUVVGeFFpeDVRMEZCZVVNc1JVRkZNVVVzVDBGQlR6SkZMRWRCUVU5RUxFVkJRVmxGTEVkQlFVMUJMRVZCUVVVc1VVRkJVU3hGUVVGSExFdEJRVXNzUjBGQlJ5eERRVU4yUkN4RFFWZEJMRTlCUVU4c2EwSkJRV3RDTTBrc1JVRkJUVEpHTEVWQlFVdHFReXhGUVVGVkxFTkJRVU1zUlVGQlJ5eERRVU5vUkN4SFFVRk5MRU5CUVVVc1QwRkJRV3RETEVWQlFWTXNTMEZCVFN4blFrRkJRVU1zUlVGQmEwSXNTVUZCU3l4RlFVRkpia01zUlVGRGFFUnZReXhGUVVGamRrWXNSMEZCVHl4VFFVRlRMRU5CUXpWQ0xFOUJRVUZ4Uml4RlFVTkJMR2RDUVVGQlF5eEZRVU5CTEZsQlFXRXNSVUZEWml4RFFVRkRMRVZCUTBnc1QwRkJUeXRETEVkQlFXdENPVU1zUlVGQllUbEdMRVZCUVUweVJpeERRVUZITEVOQlEycEVMRU5CUzBFc1QwRkJUeXhyUWtGQmEwSXpSaXhGUVVGTk1rWXNSVUZCUzJwRExFVkJRVlVzUTBGQlF5eEZRVUZITEVOQlEyaEVMRTlCUVU5V0xFVkJRVk1zYTBKQlFXdENhRVFzUlVGQlRUSkdMRVZCUVV0cVF5eERRVUZQTEVOQlEzUkVMRU5CVVVFc1YwRkJWeXhaUVVGaExFTkJRM1JDTEU5QlFXVTBSQ3hGUVVOcVFpeERRVTFCTEZkQlFWY3NWVUZCVnl4RFFVTndRaXhQUVVGbGRVSXNSVUZEYWtJc1EwRk5RU3hYUVVGWExIVkNRVUYzUWl4RFFVTnFReXhQUVVGbFF5eEZRVU5xUWl4RFFVMUJMRmRCUVZjc1YwRkJXU3hEUVVOeVFpeFBRVUZsUXl4RlFVTnFRaXhEUVUxQkxGZEJRVmNzVjBGQldTeERRVU55UWl4UFFVRmxReXhGUVVOcVFpeERRVTFCTEZkQlFWY3NZVUZCWXl4RFFVTjJRaXhQUVVGbFF5eEZRVU5xUWl4RFFVMUJMRmRCUVZjc2JVSkJRVzlDTEVOQlF6ZENMRTlCUVdWRExFVkJRMnBDTEVOQlRVRXNWMEZCVnl4M1FrRkJlVUlzUTBGRGJFTXNUMEZCWlVNc1JVRkRha0lzUTBGTlFTeFhRVUZYTEhWQ1FVRjNRaXhEUVVOcVF5eFBRVUZsUXl4RlFVTnFRaXhEUVUxQkxGZEJRVmNzWjBKQlFXbENMRU5CUXpGQ0xFOUJRV1ZETEVWQlEycENMRU5CVFVFc1YwRkJWeXh6UWtGQmRVSXNRMEZEYUVNc1QwRkJaVU1zUlVGRGFrSXNRMEZOUVN4WFFVRlhMREpDUVVFMFFpeERRVU55UXl4UFFVRmxReXhGUVVOcVFpeERRVTFCTEZkQlFWY3NNRUpCUVRKQ0xFTkJRM0JETEU5QlFXVkRMRVZCUTJwQ0xFTkJUVUVzVjBGQlZ5eG5Ra0ZCYVVJc1EwRkRNVUlzVDBGQlpVTXNSVUZEYWtJc1EwRk5RU3hYUVVGWExEWkNRVUU0UWl4RFFVTjJReXhQUVVGbFF5eEZRVU5xUWl4RFFVMUJMRmRCUVZjc1kwRkJaU3hEUVVONFFpeFBRVUZsUXl4RlFVTnFRaXhEUVUxQkxGZEJRVmNzTWtKQlFUUkNMRU5CUTNKRExFOUJRV1ZETEVWQlEycENMRU5CVFVFc1YwRkJWeXd5UWtGQk5FSXNRMEZEY2tNc1QwRkJaVU1zUlVGRGFrSXNRMEZOUVN4WFFVRlhMR1ZCUVdkQ0xFTkJRM3BDTEU5QlFXVkRMRVZCUTJwQ0xFTkJUVUVzVjBGQlZ5dzBRa0ZCTmtJc1EwRkRkRU1zVDBGQlpVTXNSVUZEYWtJc1EwRk5RU3hYUVVGWExHVkJRV2RDTEVOQlEzcENMRTlCUVdWRExFVkJRMnBDTEVOQlRVRXNWMEZCVnl3MFFrRkJOa0lzUTBGRGRFTXNUMEZCWlVNc1JVRkRha0lzUTBGRFJpeEZRVXRQTEZOQlFWTkRMRWRCUVdsQ1F5eEZRVUZoTEVOQlF6VkRMRWRCUVVsc1RTeEZRVUZUTEZkQlFWZHJUU3hEUVVGWExFVkJRMnBETEU5QlFVOUJMRVZCUTBZc1IwRkJTVUVzUjBGQlpVRXNSVUZCV1N4VFFVRlhja2NzUjBGQlUzRkhMRVZCUVZrc1VVRkJVU3hEUVVGRExFVkJRemRGTEU5QlFVOXNUU3hGUVVGVExGZEJRVmRyVFN4RFFVRlhMRVZCUTJwRExFZEJRVWxCTEVkQlFXVXNUMEZCVDBFc1IwRkJaMElzVTBGREwwTXNUMEZCVDJ4TkxFVkJRVk1zVjBGQlYydE5MRU5CUVZjc1JVRkZkRU1zVFVGQlRTeEpRVUZKY0Vjc1IwRkRVaXc0UWtGQk9FSnZSeXhEUVVGWExHRkJRV0VzVDBGQlQwRXNRMEZCVnl4RlFVTXhSU3hEUVVWS0xFTkRNWEZGUVN4SlFVRkJReXhIUVVGdFFpeFRRMFJ1UWl4SlFVRlBReXhIUVVGUkxFbEJSVkFzTW1kYVJGbEVMRk5CUVZORExFZEJRV3RDUXl4RlFVRmxMRU5CUXpkRExFOUJRWGxDUVN4SFFVRlJMRXRCUVdGQkxFVkJSWFpEUVN4RlFVRkpMRkZCUVZFc1VVRkJVeXhUUVVGVkxGRkJRVk1zVDBGQlVTeFJRVUZUTEZWQlFWY3NWVUZCVnl4alFVRmpMRVZCUVVVc1ZVRkJWU3hEUVVOd1NDeERRVFJDVHl4VFFVRlRReXhIUVVGclFrTXNSVUZCWjBKRExFVkJRVzlDUXl4RlFVRjNRa01zUlVGQmVVSXNRMEZGYmtnc1QwRkJTVWdzUlVGQlN5eFJRVUZWTEVkQlFVdEJMRVZCUVVzc1VVRkJWU3hIUVVGTFFTeEZRVUZMTEUxQlFWRXNSVUZET1VOQkxFVkJRVXNzVVVGQlVTeEZRVUZGTEZOQlFWTkRMRVZCUVZrc1EwRkJSU3hQUVVGQlJTeERRVUZQTEVOQlFVTXNSVUZIYkVSSUxFVkJRVXNzVVVGQlVTeEZRVUZGTEZOQlFWTkZMRVZCUVdkQ0xFTkJRVVVzVDBGQlFVTXNRMEZCVHl4RFFVRkRMRU5CUXpkRUxFTkJSMDhzVTBGQlUwTXNSMEZCYzBKRExFVkJRWFZDTEVOQlEzcEVRU3hGUVVGTlF5eEhRVUZyUWtRc1EwRkJSeXhGUVVjelFpeEpRVUZKUlN4RlFVRlRMRWRCUTJJc1QwRkJTVVlzUlVGQlNTeFJRVUZQUlN4SFFVRlZMRWRCUVVkR0xFVkJRVWtzUzBGQlN5eFpRVU5xUTBFc1JVRkJTU3hUUVVGUlJTeEhRVUZWTEVkQlFVZEdMRVZCUVVrc1RVRkJUU3hoUVVOdVEwRXNSVUZCU1N4UlFVRlBSU3hIUVVGVkxFZEJRVWRHTEVWQlFVa3NTMEZCU3l4WlFVTnFRMEVzUlVGQlNTeFBRVUZOUlN4SFFVRlZMRWRCUVVkR0xFVkJRVWtzU1VGQlNTeFhRVU12UWtFc1JVRkJTU3hSUVVGUFJTeEhRVUZWTEVkQlFVZEdMRVZCUVVrc1MwRkJTeXhaUVVOcVEwRXNSVUZCU1N4VlFVRlRSU3hIUVVGVkxFZEJRVWRHTEVWQlFVa3NUMEZCVHl4alFVTnlRMEVzUlVGQlNTeFZRVUZUUlN4SFFVRlZMRWRCUVVjc1MwRkJTeXhOUVVGTlJpeEZRVUZKTEU5QlFVOHNRMEZCUXl4alFVTnFSRUVzUlVGQlNTeGxRVUZqUlN4SFFVRlZMRWRCUVVjc1MwRkJTeXhOUVVGTlJpeEZRVUZKTEZsQlFWa3NRMEZCUXl4VFFVVXpSRVVzUlVGQlR5eFRRVUZUTEVsQlFVa3NTVUZCUjBFc1JVRkJVMEVzUlVGQlR5eFZRVUZWTEVWQlFVZEJMRVZCUVU4c1QwRkJVeXhEUVVGRExFZEJRMnhGUVN4RFFVTllMRU5CWlU4c1UwRkJVME1zUjBGQllVTXNSVUZCYzBJc1EwRkRMME1zVDBGQlNVRXNSVUZCU3l4VFFVRlRMRWRCUVVjc1NVRkJSMEVzUlVGQlQwRXNSVUZCU3l4VlFVRlZRU3hGUVVGTExGbEJRVmtzUjBGQlJ5eEZRVUZKTEVOQlFVTXNSMEZEYmtWQkxFVkJRVXNzVTBGQlV5eExRVUZMTEVsQlFVZEJMRVZCUVU5QkxFVkJRVXNzVlVGQlZTeEZRVUZIUVN4RlFVRkxMRTlCUVZNc1EwRkJReXhIUVVNelJFRXNRMEZEV0N4RFFVZFBMRk5CUVZORExFZEJRV0ZFTEVWQlFYTkNMRU5CUXk5RExFOUJRVXRCTEVWQlFVc3NVMEZCVXl4SFFVRkhMRVZCUTJaQkxFVkJRVXNzVlVGQlZVRXNSVUZCU3l4WlFVRlpMRWRCUVVjc1JVRkJTU3hEUVVGRExFVkJSR1lzUlVGRmNFTXNRMEV5UTBFc1NVRkJUVVVzUjBGQk1rTXNUMEZETTBNc1UwRkJUU3hKUVVGSkxFOUJRVTlETEVkQlFWY3NSVUZCUnl4RlFVRkZMRU5CUVVNc1JVRkRiRU1zVTBGQlRTeHhRa0ZCY1VJc1JVRkRNMElzWTBGQlZ5eEpRVUZMUXl4SFFVRk5MRWRCUVVjc1JVRkRla0lzVDBGQlNTeEpRVUZMUVN4SFFVRk5MRWRCUVVjc1EwRkRlRUlzUlVGRFN5eExRVUZMTEVWQlEwd3NTVUZCUzBNc1IwRkRTMEVzUlVGQlR5eExRVUZMTEVWQlFVVXNSVUZCUlN4TlFVRk5MRXRCUVVzc1JVRkJSU3hMUVVGTExFZEJRVWNzUlVGQlJTeExRVUZMTEVOQlEzUkVMRVZCVFVVc1UwRkJVME1zUjBGQmRVSkRMRVZCUVhkQ0xFTkJRek5FTEU5QlFVOU1MRWRCUVhGQ0xGTkJRVk5MTEVOQlFVMHNRMEZETDBNc1EwVjRTazhzU1VGQlRVTXNSMEZCVGl4TlFVRk5ReXhEUVVGTExFTkJZV1FzVDBGQll5eExRVUZMUXl4RlFVRmpReXhGUVVGcFFpeEhRVUZQUXl4RlFVRjNRaXhEUVVNM1JTeFBRVUZQTEVsQlFVbElMRVZCUVVzc1EwRkRXaXhMUVVGQlF5eEZRVU5CTEUxQlFVRkRMRVZCUTBFc1VVRkJRVU1zUlVGRFFTeFJRVUZUTEU5QlExUXNTMEZCVFN4TlFVTldMRU5CUVVNc1EwRkRUQ3hEUVVkQkxFOUJRV01zVFVGQlRVTXNSVUZCYTBKR0xFVkJRV2xDTEVkQlFVOURMRVZCUVhkQ0xFTkJRMnhHTEVkQlFVbERMRVZCUVZNc1UwRkJVeXhKUVVGSkxFVkJRVWNzUTBGRGVrSXNTVUZCU1VNc1JVRkJVVVFzUlVGQlV5eE5RVUZOTEVsQlFVa3NSVUZETDBJc1QwRkJUMG9zUlVGQlN5eE5RVUZOU3l4RlFVRk5MRU5CUVVNc1JVRkJSMEVzUlVGQlRTeERRVUZETEVWQlFVZElMRVZCUVU5RExFTkJRVThzUTBGRGVFUXNVMEZCVjBNc1JVRkJVeXhUUVVGVExFZEJRVWNzUlVGQlJ5eERRVU12UWl4SlFVRkpReXhGUVVGUlJDeEZRVUZUTEUxQlFVMHNSMEZCUnl4RlFVTTVRaXhQUVVGUFNpeEZRVUZMTEU5QlFVOUxMRVZCUVUwc1EwRkJReXhGUVVGSFFTeEZRVUZOTEVOQlFVTXNSVUZCUjBnc1JVRkJUME1zUTBGQlR5eERRVU42UkN4TFFVRlBMRkZCUVU5SUxFVkJRVXNzUzBGQlMwa3NSVUZCVlVZc1JVRkJUME1zUTBGQlR5eERRVU53UkN4RFFVZEJMRTlCUVdNc1QwRkJUMFlzUlVGQlkwc3NSVUZCWjBKS0xFVkJRV2xDUXl4RlFVRjNRaXhEUVVWNFJpeFBRVUZQTEVsQlFVbElMRVZCUVVzc1EwRkRXaXhMUVVGQlF5eEZRVU5CTEUxQlFVRkRMRVZCUTBFc1VVRkJRVU1zUlVGRFFTeFJRVUZUU1N4SFFVRjFRa1FzUTBGQlRTeEZRVU4wUXl4TFFVRk5MRkZCUTFZc1EwRkJReXhEUVVOTUxFTkJSMEVzVDBGQll5eE5RVUZOVEN4RlFVRmpUeXhGUVVGcFFrNHNSVUZCYVVKRExFVkJRWGRDTEVOQlEzaEdMRTlCUVU4c1NVRkJTVWdzUlVGQlN5eERRVU5hTEV0QlFVRkRMRVZCUTBFc1RVRkJRVU1zUlVGRFFTeFJRVUZCUXl4RlFVTkJMRkZCUVZOTExFVkJRMVFzUzBGQlRTeFBRVU5XTEVOQlFVTXNRMEZEVEN4RFFVZEJMRTlCUVdNc1YwRkJWME1zUlVGQmQwSXNRMEZETjBNc1QwRkJUeXhKUVVGSlZDeEZRVUZMVXl4RFFVRk5MRU5CUXpGQ0xFTkJSMEVzVDBGQll5eFhRVUZYUXl4RlFVRjFRaXhEUVVNMVF5eEhRVUZKTEVOQlFVTkRMRVZCUVUxU0xFTkJRVThzUlVGQlNWTXNSMEZCY1VKR0xFTkJRVThzUlVGRGJFUXNUMEZCVDFZc1JVRkJTeXhOUVVGTlZ5eEZRVUZOTEVkQlFVOVNMRU5CUVU4c1EwRkRNVU1zUTBGRlVTeFpRVUZaVlN4RlFVRjFRaXhEUVVOMlF5eFBRVUZQTEU5QlFVOHNTMEZCVFVFc1EwRkJUU3hEUVVNNVFpeERRVWRQTEZOQlFWTmFMRVZCUVc5Q0xFTkJRMmhETEU5QlFVOHNTVUZCU1VRc1JVRkJTeXhQUVVGUExFOUJRVThzUTBGQlF5eEZRVUZITEV0QlFVMHNRMEZCUlN4TFFVRkJReXhEUVVGTExFTkJRVU1zUTBGQlF5eERRVU55UkN4RFFVZFBMRmxCUVZsRkxFVkJRWGRDTEVOQlEzWkRMRTlCUVU4c1NVRkJTVWdzUlVGQlN5eFBRVUZQTEU5QlFVOHNRMEZCUXl4RlFVRkhMRXRCUVUwc1EwRkJSU3hSUVVGQlJ5eERRVUZSTEVOQlFVTXNRMEZCUXl4RFFVTjRSQ3hEUVVkUExGVkJRVlZFTEVWQlFYTkNMRU5CUTI1RExFOUJRVWtzUzBGQlN5eFBRVUZUUVN4RlFVRmpMRXRCUlhwQ0xFbEJRVWxHTEVWQlFVc3NUMEZCVHl4UFFVRlBMRU5CUVVNc1JVRkJSeXhMUVVGTkxFTkJRVVVzVFVGQlFVVXNRMEZCVFN4RFFVRkRMRU5CUVVNc1EwRkRkRVFzUTBGSFR5eFhRVUZYU1N4RlFVRnpRaXhEUVVOd1F5eFBRVUZQVGl4RlFVRkxMRTlCUVU4c1MwRkJTeXhMUVVGTlRTeEZRVUZSTEV0QlFVc3NUVUZCVHl4TFFVRkxMRTlCUVU4c1EwRkRiRVVzUTBGSFR5eFZRVUZWVVN4RlFVRnhRaXhEUVVOc1F5eFBRVUZQWkN4RlFVRkxMRTFCUVUwc1MwRkJTeXhMUVVGTll5eEZRVUZQTEV0QlFVc3NUVUZCVHl4TFFVRkxMRTlCUVU4c1EwRkRhRVVzUTBGSFR5eFBRVUZQUXl4RlFVRnpRaXhEUVVOb1F5eFBRVUZKUVN4SFFVRlRMRTFCUVdGQkxFZEJRVk1zUzBGQllTeEhRVVY2UXl4TFFVRkxMRTFCUVZGQkxFVkJRVTBzVFVGQlVTeExRVUZMTEUxQlFWRkJMRVZCUVUwc1RVRkJVU3hMUVVGTExGTkJRVmRCTEVWQlFVMHNUMEZEZGtZc1EwRkhUeXhWUVVGdFFpeERRVU4wUWl4UFFVRlBMRXRCUVVzc1UwRkJVeXhEUVVONlFpeERRVWRQTEZWQlFYRkNMRU5CUTNoQ0xFMUJRVThzUTBGRFNDeExRVUZOTEV0QlFVc3NTMEZEV0N4TFFVRk5MRXRCUVVzc1MwRkRXQ3hSUVVGVExFdEJRVXNzVVVGRFpDeFJRVUZUTEV0QlFVc3NVVUZEWkN4TlFVRlBMRXRCUVVzc1MwRkRhRUlzUTBGRFNpeERRVWRQTEZGQlFXVXNRMEZEYkVJc1QwRkJUMllzUlVGQlN5eExRVUZMTEV0QlFVc3NTMEZCVFN4TFFVRkxMRTFCUVU4c1MwRkJTeXhQUVVGUExFTkJRM2hFTEVOQlIwOHNVMEZCWjBJc1EwRkRia0lzVDBGQlR5eExRVUZMTEZWQlFWVXNSVUZCU1N4RFFVTTVRaXhEUVVkUExGZEJRV3RDTEVOQlEzSkNMRTlCUVU4c1MwRkJTeXhWUVVGVkxFVkJRVXNzUTBGREwwSXNRMEZIVHl4VlFVRnRRaXhEUVVOMFFpeEpRVUZKWjBJc1IwRkJWU3hMUVVGTExFMUJRVkVzU1VGQlRTeEpRVUZOTEV0QlFVOHNTMEZCU3l4aFFVRmhMRVZCUTJoRkxFOUJRVUZCTEVkQlFWVXNTVUZEVmtFc1IwRkJWU3hMUVVGTExHbENRVUZwUWl4RlFVTm9RMEVzUjBGQlZTeExRVU5JUVN4RFFVTllMRU5CUjA4c2EwSkJRVzFDTEVOQlEzUkNMRWRCUVVrc1MwRkJTeXhSUVVOTUxFOUJRVThzUzBGQlN5eFJRVU5VTEVOQlEwZ3NTVUZCU1VFc1JVRkJVME1zUjBGQllTeExRVUZMTEVsQlFVa3NSVUZEYmtNc1QwRkJTU3hMUVVGTExFMUJRVkVzVlVGQldTeExRVUZMTEUxQlFWRXNWMEZCVTBRc1IwRkJWU3hOUVVGUkxFdEJRVXNzVTBGRmJrVkJMRU5CUTFnc1EwRkRTaXhEUVVkUExHTkJRWFZDTEVOQmNFdHNReXhKUVVGQlJTeEZRVUZCUXl4RlFYRkxVU3hKUVVGTlF5eEZRVUZWTEV0QlFVc3NTMEZCU3l4UlFVRlJMRWxCUVVzc1MwRkJTeXhGUVVNMVF5eFBRVUZKTEV0QlFVc3NUVUZCVVN4VFFVRnBRa0VzUlVGQlZTeE5RVUZOUml4RlFVRkJMRXRCUVVzc1ZVRkJUQ3haUVVGQlFTeEZRVUZqTEZGQlFWRXNTVUZCU3l4UlFVTjZSU3hMUVVGTExFMUJRVkVzVVVGQlowSkZMRVZCUVZVc1QwRkJUMFFzUlVGQlFTeExRVUZMTEZWQlFVd3NXVUZCUVVFc1JVRkJZeXhSUVVGUkxFbEJRVXNzVVVGRGFrVkRMRU5CUTJoQ0xFTkJSMDhzVlVGQmJVSXNRMEZEZEVJc1QwRkJUMGdzUjBGQllTeExRVUZMTEVsQlFVa3NRMEZEYWtNc1EwRkRTaXhGUVhGQ1R5eFRRVUZUVEN4SFFVRnhRa1FzUlVGQk5FTXNRMEZETjBVc1NVRkJTVlVzUlVGQlR5eEhRVU5ZTEUxQlFWRkJMRVZCUVU5V0xFVkJRVXNzVVVGQlVTeEpRVUZMVlN4RlFVRlBMRU5CUVVNc1NVRkJUU3hIUVVNelF5eEhRVUZKTEVWQlFVRkJMRVZCUVU4c1IwRkJTMVlzUlVGQlMxVXNSVUZCVHl4RFFVRkRMRWRCUVVzc1RVRkRiRU1zVFVGQlR5eERRVUZEVml4RlFVRkxMRlZCUVZVc1JVRkJSMVVzUTBGQlNTeEZRVUZGTEZGQlFWRXNVVUZCVXl4SFFVRkhMRVZCUVVkV0xFVkJRVXNzVlVGQlZWVXNSVUZCVHl4RFFVRkRMRU5CUVVNc1JVRkhia1lzVFVGQlR5eERRVUZEVml4RlFVRkxMRkZCUVZFc1VVRkJVeXhIUVVGSExFVkJRVWNzVFVGQlV5eERRVU5xUkN4RFF6Vk5RU3hKUVVGTlZ5eEhRVUZSTEU5QlFVOHNTVUZCU1N4WlFVRlpMRVZCUXk5Q1F5eEhRVUZOTEU5QlFVOHNTVUZCU1N4bFFVRmxMRVZCUTJoRFF5eEhRVUZOTEU5QlFVOHNTVUZCU1N4VlFVRlZMRVZCUXpOQ1F5eEhRVUZQTEU5QlFVOHNTVUZCU1N4WFFVRlhMRVZCUXpkQ1F5eEhRVUZUTEU5QlFVOHNTVUZCU1N4aFFVRmhMRVZCUTJwRFF5eEhRVUZOTEU5QlFVOHNTVUZCU1N4VlFVRlZMRVZCUXpOQ1F5eEhRVUZaTEU5QlFVOHNTVUZCU1N4blFrRkJaMElzUlVGRGRrTkRMRWRCUVZkRExFZEJRVk1zUTBGQlF5eERRVUZEUVN4SFFVRlJMRTlCUVU5QkxFZEJRVk1zVlVGQldVRXNSVUZCUzBZc1JVRkJVeXhKUVVGTlRpeEhRVU01UlZNc1IwRkJZMFFzUjBGQlV5eERRVUZETEVOQlFVTkJMRWRCUVZFc1QwRkJUMEVzUjBGQlV5eFZRVUZaUVN4RlFVRkxSaXhGUVVGVExFbEJRVTFNTEVkQlEycEdVeXhIUVVGVFJpeEhRVUZUTEVOQlFVTXNRMEZCUTBFc1IwRkJVU3hQUVVGUFFTeEhRVUZUTEZWQlFWbEJMRVZCUVV0R0xFVkJRVk1zU1VGQlRVb3NSMEZETlVWVExFVkJRVlZJTEVkQlFWTXNRMEZCUXl4RFFVRkRRU3hIUVVGUkxFOUJRVTlCTEVkQlFWTXNWVUZCV1VFc1JVRkJTMFlzUlVGQlV5eEpRVUZOU0N4SFFVTTNSVk1zUlVGQldVb3NSMEZCVXl4RFFVRkRMRU5CUVVOQkxFZEJRVkVzVDBGQlQwRXNSMEZCVXl4VlFVRlpRU3hGUVVGTFJpeEZRVUZUTEVsQlFVMUdMRWRCUXk5RlV5eEhRVUZUVEN4SFFVRlRMRU5CUVVNc1EwRkJRMEVzUjBGQlVTeFBRVUZQUVN4SFFVRlRMRlZCUVZsQkxFVkJRVXRHTEVWQlFWTXNTVUZCVFVRc1IwRkRiRVlzVTBGQlUxTXNSVUZCWVU0c1JVRkJUU3hEUVVONFFpeEhRVUZKUVN4SFFVRlJMRTlCUVU5QkxFZEJRVk1zVTBGRGVFSXNUMEZCVVVFc1JVRkJTMFlzUlVGQlV5eEZRVUZITEVOQlEzSkNMRXRCUVV0S0xFZEJRMHdzUzBGQlMwY3NSMEZEUkN4TlFVRlBMRVZCUTJZc1EwRkRTaXhOUVVGUExFVkJRMWdzUTBGRFFTeFRRVUZUVlN4RlFVRlBVQ3hGUVVGTkxFTkJRMnhDTEVkQlFVbEJMRWRCUVZFc1QwRkJUMEVzUjBGQlV5eFRRVU40UWl4UFFVRlJRU3hGUVVGTFJpeEZRVUZUTEVWQlFVY3NRMEZEY2tJc1MwRkJTMDRzUjBGRFRDeExRVUZMUlN4SFFVTk1MRXRCUVV0RkxFZEJRMHdzUzBGQlMwTXNSMEZEUkN4TlFVRlBMRVZCUTJZc1EwRkRTaXhOUVVGUExFVkJRMWdzUTBGRFFTeEpRVUZOVnl4SFFVRmhVaXhKUVVGVlNTeEZRVUZUU2l4RFFVRkpMRWRCUVV0TkxFVkJRV0ZPTEVOQlFVa3NTVUZCVFN4RFFVRkRMRU5CUVVOQkxFVkJRVXNzVDBNdlFqZEZMRWxCUVUxVExFZEJRVkVzVDBGQlR5eGhRVUZoTEVWQlF6VkNReXhIUVVGUExFOUJRVThzWlVGQlpTeEZRVU0zUWtNc1IwRkJVeXhQUVVGUExHRkJRV0VzUlVFclFtNURMRk5CUVZORExFZEJRVTFETEVWQlFVMURMRVZCUVZNc1EwRkRNVUlzU1VGQlRVTXNSVUZCVjBNc1IwRkJXVVlzUTBGQlR5eEZRVU5vUTBjc1IwRkJWMG9zUTBGQlNTeEZRVU5LU3l4SFFVRlBMRXRCUVUxTUxFVkJRVXNzVTBGQlZVVXNSVUZCVlN4UFFVRlBMRTlCUVU4c1EwRkJRMFlzUTBGQlNTeERRVUZETEVOQlFVTXNTVUZETTBSR0xFdEJRMUJGTEVWQlFVc3NVMEZCVnl4TlFVZHdRa3NzUjBGQlR5eExRVUZOVEN4RlFVRk5SU3hGUVVGVkxFOUJRVThzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVTjBSQ3hEUVV0QlNDeEhRVUZOTEUxQlFWRklMRWRCUldSSExFZEJRVTBzUzBGQlQwWXNSMEZGWWtVc1IwRkJUU3hQUVVGVFJDeEhRVU5tTEZOQlFWTlBMRWRCUVU5RExFVkJRVXRPTEVWQlFVMURMRVZCUVZOTkxFVkJRVTBzUTBGRGRFTXNTVUZCVFVNc1JVRkJUME1zUjBGQldVZ3NSVUZCUzA0c1JVRkJUVU1zUlVGQlUwMHNRMEZCU1N4RlFVTnFSQ3hIUVVGSlJ5eEZRVUZQUml4RFFVRkpMRWRCUVV0SExFVkJRVTlJTEVOQlFVa3NSVUZETTBJc1QwRkJRVWtzUjBGQldVNHNSVUZCUzBNc1JVRkJUVU1zUTBGQlNTeEZRVU53UWtnc1IwRkJUME1zUlVGQlMwVXNSVUZCVFZBc1JVRkJVMDBzUTBGQlNTeEZRVVV4UXl4SFFVRkpMRTlCUVU5RExFZEJRVk1zVlVGRGFFSXNSMEZCU1Vzc1JVRkJZV0lzUTBGQlNTeEZRVUZITEVOQlEzQkNUeXhGUVVGUExFOUJRVThzVDBGQlQwRXNSVUZCU3l4UFFVRlBVQ3hEUVVGSkxFTkJRVU1zUlVGRGRFTXNVVUZCVXl4RlFVRkpMRVZCUVVjc1JVRkJTVUVzUlVGQlN5eE5RVUZOTEU5QlFWRXNSVUZCUlN4RlFVRkhMRU5CUTNoRExFbEJRVTFqTEVWQlFVdFVMRWRCUVU4c1JVRkJSMHdzUlVGQlN5eE5RVUZOTEVOQlFVTXNSVUZCUjBNc1JVRkJVMDBzUTBGQlNTeEZRVU5xUkN4SFFVRkpMRTlCUVU5UExFZEJRVThzVTBGRFpDeEZRVUZKUVN4RlFVRkxMRTFCUTFJc1NVRkJTVUVzU1VGQlQyeENMRWRCUTFvc1QwRkJUMEVzUjBGRFJtdENMRWxCUVU5b1FpeExRVU5hUlN4RlFVRkxMRTFCUVUwc1QwRkJUeXhGUVVGSExFTkJRVU1zUlVGRGRFSXNSMEZCU3l4SFFVVmlMRU5CUTBvc1UwRkRVMWNzUlVGQlQxZ3NRMEZCU1N4RlFVRkhMRU5CUTI1Q1R5eEZRVUZQTEU5QlFVOHNUMEZCVDBFc1JVRkJTeXhQUVVGUFVDeERRVUZKTEVOQlFVTXNSVUZEZEVNc1NVRkJUV1VzUlVGQlMxWXNSMEZCVHl4TlFVRlBUQ3hGUVVGTExFbEJRVXRETEVWQlFWTk5MRU5CUVVrc1JVRkRhRVFzUjBGQlNWRXNTVUZCVDI1Q0xFZEJRMUFzVDBGQlQwRXNSMEZEUm0xQ0xFbEJRVTlxUWl4TFFVTmFSU3hGUVVGTExFbEJRVTBzVFVGRFppeEpRVUZOWjBJc1JVRkJTMWdzUjBGQlR5eFJRVUZUVEN4RlFVRkxMRTFCUVU5RExFVkJRVk5OTEVOQlFVa3NSVUZEY0VRc1IwRkJTVk1zU1VGQlQzQkNMRWRCUTFBc1QwRkJUMEVzUjBGRFJtOUNMRWxCUVU5c1FpeExRVU5hUlN4RlFVRkxMRTFCUVZFc1MwRkRja0lzUlVGRlNpeFBRVUZQVVN4RFFVTllMRU5CWjBOQkxHVkJRV1ZUTEVkQlFWZHFRaXhGUVVGTlF5eEZRVUZUTEVOQlEzSkRMRWxCUVUxRExFVkJRVmRETEVkQlFWbEdMRU5CUVU4c1JVRkRhRU5ITEVkQlFWZEtMRU5CUVVrc1JVRkRTaXhOUVVGTmEwSXNSMEZCV1N4TFFVRk5iRUlzUlVGQlN5eFRRVUZWUlN4RlFVRlZMRTlCUVU4c1QwRkJUeXhEUVVGRFJpeERRVUZKTEVOQlFVTXNRMEZCUXl4SlFVTjBSVVlzUzBGRFVFVXNSVUZCU3l4VFFVRlhMRTFCUjNCQ0xFMUJRVTFyUWl4SFFVRlpMRXRCUVUxc1FpeEZRVUZOUlN4RlFVRlZMRTlCUVU4c1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVU5xUlN4RFFVdEJaU3hIUVVGWExFMUJRVkZ5UWl4SFFVVnVRbkZDTEVkQlFWY3NTMEZCVDNCQ0xFZEJSV3hDYjBJc1IwRkJWeXhQUVVGVGJrSXNSMEZEY0VJc1pVRkJaVzlDTEVkQlFWbGFMRVZCUVV0T0xFVkJRVTFETEVWQlFWTk5MRVZCUVUwc1EwRkRha1FzU1VGQlRVTXNSVUZCVHl4TlFVRk5ReXhIUVVGWlNDeEZRVUZMVGl4RlFVRk5ReXhGUVVGVFRTeERRVUZKTEVWQlEzWkVMRWRCUVVsSExFVkJRVTlHTEVOQlFVa3NSMEZCUzBjc1JVRkJUMGdzUTBGQlNTeEZRVU16UWl4UFFVRkJTU3hIUVVGWlRpeEZRVUZMUXl4RlFVRk5ReXhEUVVGSkxFVkJRM0JDVlN4SFFVRlpXaXhGUVVGTFJTeEZRVUZOVUN4RlFVRlRUU3hEUVVGSkxFVkJSUzlETEVkQlFVa3NUMEZCVDBNc1IwRkJVeXhWUVVOb1FpeEhRVUZKU3l4RlFVRmhZaXhEUVVGSkxFVkJRVWNzUTBGRGNFSlBMRVZCUVU4c1QwRkJUeXhQUVVGUFFTeEZRVUZMTEU5QlFVOVFMRU5CUVVrc1EwRkJReXhGUVVOMFF5eFJRVUZUTEVWQlFVa3NSVUZCUnl4RlFVRkpRU3hGUVVGTExFMUJRVTBzVDBGQlVTeEZRVUZGTEVWQlFVY3NRMEZEZUVNc1NVRkJUV01zUlVGQlN5eE5RVUZOU1N4SFFVRlpMRVZCUVVkc1FpeEZRVUZMTEUxQlFVMHNRMEZCUXl4RlFVRkhReXhGUVVGVFRTeERRVUZKTEVWQlF6VkVMRWRCUVVrc1QwRkJUMDhzUjBGQlR5eFRRVU5rTEVWQlFVbEJMRVZCUVVzc1RVRkRVaXhKUVVGSlFTeEpRVUZQYkVJc1IwRkRXaXhQUVVGUFFTeEhRVU5HYTBJc1NVRkJUMmhDTEV0QlExcEZMRVZCUVVzc1RVRkJUU3hQUVVGUExFVkJRVWNzUTBGQlF5eEZRVU4wUWl4SFFVRkxMRWRCUldJc1EwRkRTaXhUUVVOVFZ5eEZRVUZQV0N4RFFVRkpMRVZCUVVjc1EwRkRia0pQTEVWQlFVOHNUMEZCVHl4UFFVRlBRU3hGUVVGTExFOUJRVTlRTEVOQlFVa3NRMEZCUXl4RlFVTjBReXhKUVVGTlpTeEZRVUZMTEUxQlFVMUhMRWRCUVZrc1RVRkJUMnhDTEVWQlFVc3NTVUZCUzBNc1JVRkJVMDBzUTBGQlNTeEZRVU16UkN4SFFVRkpVU3hKUVVGUGJrSXNSMEZEVUN4UFFVRlBRU3hIUVVOR2JVSXNTVUZCVDJwQ0xFdEJRMXBGTEVWQlFVc3NTVUZCVFN4TlFVTm1MRWxCUVUxblFpeEZRVUZMTEUxQlFVMUZMRWRCUVZrc1VVRkJVMnhDTEVWQlFVc3NUVUZCVDBNc1JVRkJVMDBzUTBGQlNTeEZRVU12UkN4SFFVRkpVeXhKUVVGUGNFSXNSMEZEVUN4UFFVRlBRU3hIUVVOR2IwSXNTVUZCVDJ4Q0xFdEJRMXBGTEVWQlFVc3NUVUZCVVN4TFFVTnlRaXhGUVVWS0xFOUJRVTlSTEVOQlExZ3NRMEZEUVN4VFFVRlRUQ3hIUVVGWlJpeEZRVUZUTEVOQlF6RkNMRTlCUVVrc1QwRkJUMEVzUjBGQldTeFhRVU5zUWtFc1JVRkJVU3haUVVGalFTeEZRVUZSTEUxQlFWRkJMRVZCUVZFc1QwRkRlRU1zVDBGQlR5eFBRVUZQTEVOQlEycENMRTFCUVU5QkxFVkJRVkVzUzBGRFppeEpRVUZMUVN4RlFVRlJMRXRCUTJJc1QwRkJVVUVzUlVGQlVTeExRVU5vUWl4SlFVRkxRU3hGUVVGUkxFbEJRMnBDTEVWQlFVZEJMRVZCUVZFc1QwRkJVeXhEUVVOb1FpeEpRVUZMUVN4RlFVRlJMRTFCUTJJc1QwRkJVVUVzUlVGQlVTeE5RVU5vUWl4SlFVRkxRU3hGUVVGUkxFdEJRMnBDTEVWQlFVZEJMRVZCUVZFc1dVRkJZeXhEUVVOeVFpeEpRVUZMUVN4RlFVRlJMRmRCUTJJc1NVRkJTMEVzUlVGQlVTeFZRVU5xUWl4RlFVRkhRU3hEUVVGUExFVkJSVkJCTEVOQlExZ3NRMEZEUVN4VFFVRlRVU3hIUVVGWlNDeEZRVUZMVGl4RlFVRk5ReXhGUVVGVFRTeEZRVUZOTEVOQmNrMHZReXhKUVVGQldTeEZRVUZCUXl4RlFVRkJReXhGUVVGQlF5eEZRVUZCUXl4RlFYTk5TU3hIUVVGSkxFOUJRVTkwUWl4SFFVRlpMRmRCUTI1Q0xFOUJRVTlCTEVWQlFWRkxMRVZCUVV0T0xFVkJRVTFQTEVOQlFVa3NSVUZEYkVNc1IwRkJTV2xDTEVkQlFVMTRRaXhEUVVGSkxFVkJRMVlzVDBGQlQyMUNMRVZCUVVGc1FpeEZRVUZSTEUxQlFWSXNXVUZCUVd0Q0xFVkJRVUVzUzBGQlFXeENMRVZCUVdOTExFVkJRVXRPTEVWQlFVMVBMRWRCUTNCRExFZEJRVWxyUWl4SFFVRk5la0lzUTBGQlNTeEZRVU5XTEU5QlFVOXZRaXhGUVVGQmJrSXNSVUZCVVN4TlFVRlNMRmxCUVVGdFFpeEZRVUZCTEV0QlFVRnVRaXhGUVVGalN5eEZRVUZMVGl4RlFVRk5UeXhIUVVOd1F5eEhRVUZKU1N4RlFVRlBXQ3hEUVVGSkxFVkJRMWdzVDBGQlQzRkNMRVZCUVVGd1FpeEZRVUZSTEU5QlFWSXNXVUZCUVc5Q0xFVkJRVUVzUzBGQlFYQkNMRVZCUVdWTExFVkJRVXRPTEVWQlFVMVBMRWRCUTNKRExFZEJRVWx0UWl4RlFVRlRNVUlzUTBGQlNTeEZRVU5pTEU5QlFVOXpRaXhGUVVGQmNrSXNSVUZCVVN4VFFVRlNMRmxCUVVGeFFpeEZRVUZCTEV0QlFVRnlRaXhGUVVGcFFrc3NSVUZCUzA0c1JVRkJUVThzUjBGRGRrTXNSMEZCU1c5Q0xFZEJRVkV6UWl4RFFVRkpMRVZCUTFvc1QwRkJUM1ZDTEVWQlFVRjBRaXhGUVVGUkxGRkJRVklzV1VGQlFYTkNMRVZCUVVFc1MwRkJRWFJDTEVWQlFXZENTeXhGUVVGTFRpeEZRVUZOVHl4RlFVVXhReXhEUVVOQkxGTkJRVk5MTEVkQlFWbE9MRVZCUVV0RExFVkJRVTFRTEVWQlFVMHNRMEZEYkVNc1NVRkJUVFJDTEVWQlFWTnlRaXhGUVVGTFFTeEZRVUZMTEU5QlFWTXNRMEZCUXl4RlFVTnVReXhIUVVGSlRTeEZRVUZoWlN4RFFVRk5MRVZCUTI1Q1FTeEZRVUZQTEUxQlFVMTBRaXhEUVVGSExFVkJRVWxPTEZWQlJXWlhMRVZCUVU5cFFpeERRVUZOTEVWQlEyUjBRaXhKUVVGUkxFMUJRMUp6UWl4RlFVRlBMRWxCUVUwMVFpeEZRVVZpTkVJc1JVRkJUeXhOUVVGUk5VSXNWVUZGWkVrc1IwRkJWM2RDTEVOQlFVMHNSVUZEZEVKQkxFVkJRVThzVTBGQlZ6VkNMRTFCUldwQ0xFTkJRMFFzU1VGQlRUWkNMRVZCUVV0R0xFZEJRVkZETEVOQlFVMHNSVUZCU1N4UlFVRlZMRk5CUTNaRExFMUJRVTBzU1VGQlNTeE5RVUZOTERSQ1FVRTBRa01zUTBGQlJTeFRRVUZUTEVOQlF6TkVMRU5CUTBvc1EwTnVUMEVzU1VGQlRVTXNSMEZCWXl4RFFVTm9RaXhKUVVGTExFMUJRMHdzU1VGQlN5eE5RVU5NTEVsQlFVc3NUVUZEVEN4SlFVRkxMRTFCUTB3c1NVRkJTeXhOUVVOTUxFbEJRVXNzUzBGRFZDeEZRVU5OUXl4SFFVRnBRa01zUjBGQlQwRXNSVUZCUnl4UlFVRlJMR0ZCUVdORExFZEJRVTFJTEVkQlFWbEhMRU5CUVVVc1EwRkJReXhGUVVOMFJVTXNSMEZCVGl4TlFVRk5ReXhEUVVGWExFTkJRMklzV1VGQldVTXNSVUZCVFVNc1JVRkJUU3hEUVV0d1FpeExRVUZMTEZOQlFWY3NTMEZGYUVJc1MwRkJTeXhQUVVGVExFZEJRMlFzUzBGQlN5eExRVUZQTEU5QlFVOHNUMEZCVHl4RFFVRkRMRVZCUVVkR0xFVkJRVmNzV1VGQllVTXNRMEZCU1N4RlFVTXhSQ3hMUVVGTExFdEJRVThzVDBGQlR5eFBRVUZQTEVOQlFVTXNSVUZCUjBRc1JVRkJWeXhaUVVGaFJTeERRVUZKTEVOQlF6bEVMRU5CUTBFc1QwRkJVU3hEUVVOS0xFbEJRVTFETEVWQlFVOHNTVUZCU1Vnc1JVRkJWeXhMUVVGTExFdEJRVTBzUzBGQlN5eEpRVUZKTEVWQlEyaEVMRTlCUVVGSExFVkJRVXNzVTBGQlZ5eExRVUZMTEZOQlEyUkJMRU5CUTFnc1EwRkxRU3haUVVGaExFTkJRMVFzU1VGQlRVTXNSVUZCVFN4SlFVRkpTaXhGUVVGWExFdEJRVXNzUzBGQlRTeExRVUZMTEVsQlFVa3NSVUZETDBNc1QwRkJVU3hMUVVGTExFdEJRVXNzVVVGQlV5eERRVU4yUWl4SlFVRkxMRTFCUTBRc1MwRkJTeXhsUVVGcFFpeEhRVU4wUWl4TlFVTktMRWxCUVVzc1RVRkRSQ3hMUVVGTExHVkJRV2xDTEVkQlEzUkNMRXRCUVVzc1MwRkJUeXhEUVVOU0xGTkJRVlZCTEVWQlFWY3NXVUZCV1N4VFFVTnFReXhSUVVGVExFdEJRMklzUlVGRFFTeExRVUZMTEV0QlFVOHNUMEZCVHl4UFFVRlBMRU5CUVVNc1JVRkJSMEVzUlVGQlZ5eFhRVUZYTEVWQlEzQkVMRXRCUTFJc1EwRkRRU3hQUVVGUFNTeERRVU5ZTEVOQlMwRXNTVUZCU1VNc1JVRkJUVU1zUlVGQlV5eERRVU5ZTEV0QlFVc3NhVUpCUTB3c1MwRkJTeXhMUVVGUExFTkJRVVVzVTBGQlZVNHNSVUZCVnl4WlFVRlpMRk5CUVZVc1VVRkJVeXhMUVVGTkxFVkJRM2hGTEV0QlFVc3NTMEZCVHl4UFFVRlBMRTlCUVU4c1EwRkJReXhGUVVGSFFTeEZRVUZYTEZkQlFWY3NSVUZEY0VRc1MwRkJTeXhsUVVGcFFpeEpRVVV4UWl4SlFVRk5UeXhGUVVGUlJpeEZRVUZMTEV0QlFVc3NSVUZCUlN4TlFVRk5MRkZCUVZFc1JVRkRiRU5ITEVWQlFVOUVMRVZCUVUwc1RVRkJUU3hGUVVONlFpeFBRVUZSUXl4RlFVRk5MRU5CUTFZc1NVRkJTeXhQUVVGUkxFTkJRMVFzUjBGQlNVUXNSVUZCVFN4VFFVRlhMRWxCUTJwQ1JDeEZRVUZSTEVWQlFVY3NhVVJCUVdsRUxFVkJRM2hFUXl4RlFVRk5MRTlCUVZNc1IwRkRaaXhOUVVGUExFZEJSV1lzUjBGQlRTeERRVUZEUlN4RlFVRlJReXhEUVVGTkxFVkJRVWxJTEVWQlEzcENMRmxCUVVzc1MwRkJTMFVzUTBGQlRTeEZRVUZKUXl4RlFVTmlMRVZCUTFnc1EwRkRRU3hKUVVGTExGRkJRVk1zUTBGRlZpeEhRVVJCTEV0QlFVc3NTMEZCU3l4VFFVRlhMRWRCUTJwQ1NDeEZRVUZOTEZOQlFWY3NSVUZEYWtJc1QwRkJRVVFzUlVGQlVTeEZRVUZITEdsRVFVRnBSQ3hGUVVOeVJDeEhRVVZZTEVkQlFVMHNRMEZCUTBzc1EwRkJUeXhGUVVGSlNpeEZRVU5zUWl4SFFVRkpTU3hKUVVGWkxFOUJRVk5CTEVsQlFWa3NUVUZEYWtNc1dVRkJTeXhMUVVGTExGRkJRVlZCTEVWQlEySXNSMEZGVGl4RFFVTkVMRWxCUVUxRExFVkJRVlVzWVVGQllTeExRVUZMUkN4RFFVRlBMRVZCUTNwRExFOUJRVUZNTEVWQlFWRXNSVUZCUnl3MFFrRkJORUpMTEVOQlFVOHNSMEZCU1VNc1EwRkJUeXhGUVVOc1JDeEZRVU5ZTEVOQlEwb3NRMEZEUVN4UlFVTkpMRTlCUVVGT0xFVkJRVkVzUlVGQlJ5eHhRa0ZCY1VKRkxFTkJRVWtzUjBGQlNTeEZRVUZKTEVWQlEzSkRMRVZCUTJZc1EwRkRTaXhEUVU5QkxGRkJRVkZMTEVWQlFWRlFMRVZCUVZNc1EwRkRja0lzUjBGQlNVOHNTVUZCVnl4SlFVTllMRTFCUVU4c1NVRkRXQ3hIUVVGSlFTeEZRVUZQTEVOQlFVTXNTVUZCVFN4SlFVTmtMRTlCUVVGUUxFVkJRVkVzYjBKQlFXOUNUeXhEUVVGTkxFVkJRVVVzUlVGRE4wSXNTMEZGV0N4SFFVRkpRU3hGUVVGUExFTkJRVU1zU1VGQlRTeEpRVUZMTEVOQlEyNUNMRWxCUVUxRExFVkJRVmRFTEVWQlFVOHNUVUZCVFN4RlFVRkhMRVZCUVVVc1JVRkRia01zVDBGQlNVTXNTVUZCWVN4TFFVRlBRU3hKUVVGaExFMUJRMnBEVWl4RlFVRlJMSEZEUVVGeFEwOHNRMEZCVFN4alFVRmpMRVZCUXpGRUxFOUJSVkJCTEVWQlFVOUJMRVZCUVU4c1QwRkJVeXhEUVVGRExFbEJRVTBzUzBGRE9VSlFMRVZCUVZFc2FVTkJRV2xETEVWQlEzUkRVU3hGUVVOWUxFTkJRMEVzUjBGQlRTeERRVUZETEVOQlFVVk1MRVZCUVZGTkxFTkJRVTBzUlVGQlNVWXNSVUZCVHl4TlFVRk5MRmRCUVVNc2FVSkJRV1VzUjBGQlF5eEhRVU53UkVVc1IwRkRSRlFzUlVGQlVTeFBRVUZQVHl4RFFVRk5MRzlDUVVGdlFpeEZRVU0zUXl4SlFVRk5TQ3hGUVVGVExFdEJRVXNzUzBGQlMwUXNRMEZCVFN4RlFVTXZRaXhIUVVGSlF5eEZRVU5CTEVkQlFVa3NRMEZEUVN4UFFVRlBRU3hGUVVGVExHMUNRVUZ0UWtzc1EwRkJUU3hEUVVNM1F5eFBRVU5QUXl4RlFVRlBMRU5CUTFZc1QwRkJRVllzUlVGQlVTeFBRVUZQVlN4RFFVRkxMRU5CUVVNc1JVRkRaQ3hKUVVOWUxFTkJSVW9zVDBGQlNWQXNTVUZCVnl4SlFVTktTU3hIUVVOWVVDeEZRVUZSTERCQ1FVRXdRazhzUTBGQlRTeEZRVUZGTEVWQlEyNURMRXRCUTFnc1EwRkxRU3hWUVVGVlNTeEZRVUZMTEVOQlExZ3NUMEZCVnl4RFFVRkRVaXhGUVVGUlF5eERRVUZOTEVsQlFVc3NUMEZCVHl4UlFVRlJMRXRCUVVzc1NVRkJTU3hGUVVOdVJDeEhRVUZKVHl4RlFVRkpMRmRCUVZkUUxFTkJRVTBzUlVGRGNrSXNUMEZCVDBRc1JVRkJVMklzUjBGQlkzRkNMRVZCUVVrc1ZVRkJWVkFzUlVGQlR5eE5RVUZOTEVOQlFVTXNSVUZGYkVVc1QwRkJUMDhzUlVGQlNTeERRVUZETEVsQlFVMHNTVUZCVFVFc1JVRkJUU3hMUVVGTFFTeERRVUZITEVkQlF6RkRMRU5CUTBFc1UwRkJVME1zUlVGQlN5eERRVU5XTEVsQlFVMURMRVZCUVZFc1MwRkJTeXhMUVVGTExGTkJRMnhDTEVOQlFVTXNVMEZCVXl4TFFVRkxMRXRCUVVzc1UwRkJWeXhMUVVGTExFVkJRVVVzUlVGRGRFTXNRMEZCUXl4RlFVTkVReXhGUVVGaExFOUJRVThzVVVGQlVTeExRVUZMTEVsQlFVa3NSVUZEZGtORExFVkJRMG9zUjBGQlNVZ3NSMEZCVDBVc1JVRkJWeXhQUVVGVExFZEJRVXRGTEVWQlFVOUtMRVZCUVVrc1VVRkJVU3hGUVVGSExFTkJRM1JFTEVsQlFVMW9RaXhGUVVGUExFTkJRVU1zUlVGRFpIRkNMRWRCUVUxTUxFVkJRVWtzVTBGQlZTeERRVUZEVFN4RlFVRk5ReXhKUVVGVExFTkJRelZDU0N4RlFVRlBSeXhEUVVGSkxFZEJRVXRCTEVWQlFVc3NUVUZEY2tKMlFpeEZRVUZMZFVJc1JVRkJTeXhIUVVGSExFVkJRVWtzUjBGRGVrSXNRMEZCUXl4RlFVTkVTaXhGUVVGWExFOUJRVThzUzBGQlMyNUNMRU5CUVVrc1EwRkRMMElzVFVGRlNXMUNMRVZCUVZjc1EwRkJReXhGUVVOb1FpeFBRVUZYTEVOQlFVTmFMRVZCUVZGRExFTkJRVTBzU1VGQlMxVXNSVUZEZGtKWUxFbEJRVmNzVFVGQlVVTXNTVUZCVnl4MVFrRkZPVUlzUTBGQlExRXNSMEZCVDBjc1JVRkJVeXhMUVVGTGVFSXNSMEZCVFVFc1JVRkJSeXhYUVVGWFlTeERRVUZOTEVOQlFVTXNTVUZEYWtSVExFVkJRVTBzUzBGQlN5eFJRVUZSVml4RFFVRk5MRWxCUVVsRExFTkJRVTBzUlVGQlJTeEZRVVUzUXl4UFFVRlBVeXhGUVVGTkxFdEJRVXM3UVVGQlFTeERRVUZKTEVOQlF6RkNMRU5CUTBvc1JVRkRRWEJDTEVkQlFWY3NXVUZCWXl4RFFVRkZMRk5CUVZVc1IwRkJUeXhSUVVGVExFdEJRVTBzUlVGRE0wUkJMRWRCUVZjc1dVRkJZeXhEUVVGRkxFdEJRVTBzYjBKQlFYRkNMRVZEY2t0MFJDeFRRVUZUTWtJc1IwRkJZME1zUlVGQlVTeERRVU16UWl4SFFVRkpMSE5DUVVGelFpeExRVUZMUVN4RFFVRk5MRVZCUVVjc1EwRkZjRU1zU1VGQlRVTXNSVUZCVFN3MlJFRkVSQ3hMUVVGTExGVkJRVlZFTEVOQlFVMHNRMEZETWtNc1IwRkRNMFVzVFVGQlRTeEpRVUZKTEUxQlFVMURMRU5CUVVjc1EwRkRka0lzUTBGRFFTeE5RVUZQTEVWQlExZ3NRMEZEUVN4VFFVRlRReXhIUVVGWlF5eEZRVUZOTEVOQlEzWkNMRWxCUVUxRExFVkJRVlVzU1VGQlNTeEpRVU53UWl4UFFVRkJReXhIUVVGTlJpeEZRVUZOTEVOQlExSXNUVUZCVFVjc1JVRkJUVU1zUlVGQlRTeERRVU5XUVN4RlFVRkxMRkZCUTB4SUxFVkJRVkVzU1VGQlNVY3NSVUZCU3l4TlFVRk5MRU5CUXk5Q0xFTkJRMG9zUTBGQlF5eEZRVU5OU0N4RFFVTllMRU5CUlVFc1UwRkJVMGtzUjBGQlkwTXNSVUZCVVVNc1JVRkJVeXhEUVVOd1F5eFJRVUZUUXl4RlFVRkpMRWRCUVZNc1JVRkJSVUVzUlVGQlJ5eERRVU4yUWl4SlFVRk5ReXhGUVVGUExFZEJRVWRJTEVOQlFVMHNSMEZCUjBVc1EwRkJReXhIUVVNeFFpeEhRVUZKTEVOQlFVTkVMRVZCUVZFc1NVRkJTVVVzUTBGQlNTeEZRVU5xUWl4UFFVRlBRU3hEUVVObUxFTkJRMG9zUTBGRFFTeFRRVUZUUXl4SFFVRnJRa01zUlVGQlMwd3NSVUZCVVN4RFFVTndReXhKUVVGTlRTeEZRVUZsTEVOQlFVTXNSVUZEYUVKRExFVkJRV2RDTEVsQlFVa3NTVUZEZEVKRExFVkJRV01zUzBGRGJFSXNUVUZCVHl4RFFVTklMRk5CUVZkRExFZEJRVmNzUTBGRGJFSklMRVZCUVdFc1MwRkJTMGNzUTBGQlRTeEZRVU51UWtRc1NVRkRSRUVzUlVGQlkyWXNSMEZCV1Zrc1EwRkJSeXhIUVVOcVF5eEpRVUZOWkN4RlFVRlRVU3hIUVVGalF5eEZRVUZSVVN4RFFVRlhMRVZCUTJoRUxFOUJRVUZCTEVWQlFWa3NTVUZCU1dwQ0xFTkJRVTBzUlVGRFprRXNRMEZEV0N4RlFVMUJMRmRCUVZrc1NVRkJUU3hEUVVOa0xGRkJRVmRyUWl4TFFVRlZTQ3hGUVVGakxFTkJReTlDTEVsQlFVMUpMRVZCUVUxSUxFVkJRV01zU1VGQlNVVXNRMEZCVFN4RlFVTndReXhIUVVGSkxFOUJRVTlETEVkQlFWRXNWVUZEWmtFc1JVRkJTU3hUUVVOSVF5eEZRVUZUUkN4RlFVRkpMRWxCUVVrc1IwRkJTMFVzUlVGQllVWXNSVUZCU1N4SlFVRkpMRWRCUXpWRFFTeEZRVUZKTEV0QlFVc3NUMEZCVTBFc1JVRkJTU3hYUVVWeVFpeERRVU5FTEVsQlFVMUhMRVZCUVZFc1NVRkJTU3hOUVVGTkxEUkVRVUUwUkN4RlFVTndSaXhOUVVGQlFTeEZRVUZOTEU5QlFWTktMRVZCUTFSSkxFTkJRMVlzUTBGRFNpeERRVU5LTEVWQlEwRXNZMEZCUVU0c1EwRkRTaXhEUVVOS0xFTkRPVVJCTEZOQlFWTlBMRWRCUVdGRExFVkJRVk5ETEVWQlFVdERMRVZCUVV0RExFVkJRVXNzUTBGRE1VTXNSMEZCU1VFc1IwRkJUeXhQUVVGUFFTeEhRVUZSTEZOQlEzUkNMRWRCUVVrc1RVRkJUU3hSUVVGUlFTeERRVUZITEVWQlEycENMRkZCUVZORExFVkJRVWtzUlVGQlIwTXNSVUZCVFVZc1JVRkJTU3hQUVVGUlF5eEZRVUZKUXl4RlFVRkxMRVZCUVVWRUxFVkJRVWNzUTBGRE5VTXNTVUZCVFVVc1JVRkJTMGdzUlVGQlNVTXNRMEZCUXl4RlFVTldSeXhGUVVGTFVpeEhRVUZoUXl4RlFVRlRSeXhGUVVGTExFOUJRVTlETEVOQlFVTXNSVUZCUjBVc1EwRkJSU3hGUVVVdlEwTXNTVUZCVHl4UFFVTlFMRTlCUVU5S0xFVkJRVWxETEVOQlFVTXNSVUZEVUVjc1NVRkJUMFFzU1VGRFdrZ3NSVUZCU1VNc1EwRkJReXhGUVVGSlJ5eEZRVU5xUWl4VFFVVkxTaXhoUVVGbExFbEJRM0JDTEZGQlFWZExMRXRCUVVzc1RVRkJUU3hMUVVGTFRDeEZRVUZKTEV0QlFVc3NRMEZCUXl4RlFVRkhMRU5CUTNCRExFbEJRVTFITEVWQlFVdElMRVZCUVVrc1NVRkJTVXNzUTBGQlF5eEZRVU5rUkN4RlFVRkxVaXhIUVVGaFF5eEZRVUZUUnl4RlFVRkxTeXhGUVVGSFJpeERRVUZGTEVWQlEzWkRReXhKUVVGUExFOUJRMUJLTEVWQlFVa3NUMEZCVDBzc1EwRkJReXhGUVVOUVJDeEpRVUZQUkN4SFFVTmFTQ3hGUVVGSkxFbEJRVWxMTEVWQlFVZEVMRU5CUVVVc1EwRkRja0lzVTBGRlMwb3NZVUZCWlN4SlFVTndRaXhSUVVGWFJ5eExRVUZOTEUxQlFVMHNTMEZCUzBnc1EwRkJSeXhGUVVGSExFTkJRemxDTEVsQlFVMUpMRVZCUVV0U0xFZEJRV0ZETEVWQlFWTkhMRVZCUVV0SExFVkJRVWxCTEVOQlFVVXNSVUZEZUVORExFbEJRVThzVDBGRFVFb3NSVUZCU1N4UFFVRlBSeXhEUVVGRkxFVkJRMUpETEVsQlFVOUVMRWxCUTFwSUxFVkJRVWtzVDBGQlQwY3NRMEZCUlN4RlFVTmlTQ3hGUVVGSkxFbEJRVWxKTEVOQlFVVXNSVUZGYkVJc1MwRkhRU3hSUVVGWExFTkJRVU5ETEVWQlFVZEdMRU5CUVVVc1NVRkJTeXhQUVVGUExGRkJRVkZJTEVOQlFVY3NSVUZCUnl4RFFVTjJReXhKUVVGTlNTeEZRVUZMVWl4SFFVRmhReXhGUVVGVFJ5eEZRVUZMU3l4RlFVRkhSaXhEUVVGRkxFVkJRM1pEUXl4SlFVRlBMRTlCUTFBc1QwRkJUMG9zUlVGQlNVc3NRMEZCUXl4RlFVTlFSQ3hKUVVGUFJDeEpRVU5hU0N4RlFVRkpTeXhEUVVGRExFVkJRVWxFTEVWQlEycENMRU5CUjFJc1QwRkJUMUFzUlVGQlVTeExRVUZMUXl4RlFVRkxReXhGUVVGTFF5eERRVUZITEVOQlEzSkRMRU5EZUVOQkxGTkJRVk5OTEVkQlFVdERMRVZCUVU5RExFVkJRVXRETEVWQlFVc3NRMEZGTTBJc1IwRkJTU3hOUVVGTkxGRkJRVkZHTEVOQlFVc3NSVUZEYmtJc1QwRkJUMEVzUlVGQlRTeEpRVUZKTEVOQlFVTkhMRVZCUVVkRExFbEJRVTFNTEVkQlFVdEpMRVZCUVVjc1QwRkJUME1zUTBGQlF5eEZRVUZIUml4RFFVRkhMRU5CUVVNc1JVRkRkRVFzUjBGQlNVWXNSMEZCVXl4UFFVRlBRU3hGUVVGTkxGRkJRVmNzVjBGQldTeERRVVUzUXl4SFFVRkpMRU5CUVVORkxFZEJRVThzUTBGQlEwY3NSMEZCVlV3c1EwRkJTeXhGUVVONFFpeFBRVUZQUVN4RlFVRk5MRTlCUVU5RExFVkJRVXRETEVOQlFVY3NSVUZEYUVNc1NVRkJUVWtzUlVGQlR5eERRVUZGTEZkQlFWa3NSVUZCUnl4TlFVRlBMRVZCUVVjc1NVRkJTeXhOUVVGVkxFVkJRM1pFU2l4RlFVRkpMRkZCUVZFc1NVRkJTVVlzUlVGQlQwMHNRMEZCU1N4RlFVTXpRa29zUlVGQlNTeFRRVUZYU3l4SFFVRlBMRU5CUTJ4Q1JDeEZRVUZMTEVsQlFVMURMRVZCUTFnc1QwRkJUMHdzUlVGQlNTeFJRVU5tTEVWQlEwRXNTVUZCVFVzc1JVRkJUVkFzUlVGQlRTeFBRVUZQUXl4RlFVRkxReXhEUVVGSExFVkJRMnBETEU5QlFVbEJMRVZCUVVrc1ZVRkRTa0VzUlVGQlNTeFRRVUZUU3l4RFFVRkhMRVZCUTJKQkxFTkJRMWdzUTBGRFFTeFBRVUZKTEU5QlFVOVFMRWRCUVZVc1ZVRkJXU3hGUVVGRFJTeEhRVUZCTEUxQlFVRkJMRVZCUVVzc1RVRkROVUlzVDBGQlQwWXNRMEZCU3l4RlFVTm9Ra0VzUTBGRFdDeERRemxDUVN4SlFVRk5VU3hIUVVGT0xFdEJRV1VzUTBGRFdDeFpRVUZaUXl4RlFVRk5MRU5CUTJRc1QwRkJUeXhsUVVGbExFdEJRVTFETEVkQlFWY3NRMEZCUlN4TlFVRlBSQ3hEUVVGTExFTkJRVU1zUTBGRE1VUXNRMEZGUVN4UFFVRlJMRU5CUTBvc1NVRkJUVVVzUlVGQlR5eFBRVUZQTEU5QlFVOHNUMEZCVHl4bFFVRmxMRWxCUVVrc1JVRkJSeXhQUVVGUExEQkNRVUV3UWl4SlFVRkpMRU5CUVVNc1JVRkRPVVlzVDBGQlNTeExRVUZMTEZGQlEweEJMRVZCUVVzc1RVRkJVU3hMUVVGTExFMUJRVTBzVFVGQlRTeEhRVU16UWtFc1EwRkRXQ3hEUVVWQkxFdEJRVXRETEVWQlFVc3NRMEZCUlN4VFFVRkJReXhGUVVGVkxHTkJRVUZETEVWQlFXVXNVMEZCUVVNc1JVRkJWU3hSUVVGQlF5eERRVUZSTEVWQlFVa3NRMEZCUXl4RlFVRkhMRU5CUXpORUxFZEJRVWtzUTBGQlEwTXNSMEZCVjB3c1EwRkJSeXhGUVVObUxFMUJRVTBzU1VGQlNTeFZRVUZWTEdsRFFVRnBReXhGUVVONlJDeEpRVUZOVFN4RlFVRk5MRU5CUTFJc1VVRkJVeXhKUVVGSkxFbEJRMklzU1VGQlFVNHNSVUZEUVN4TFFVRk5MRWRCUTA0c1UwRkJWVU1zU1VGQllTeEhRVU4yUWl4aFFVRmpMRWRCUTJRc1kwRkJaU3hQUVVGUFF5eEhRVUZyUWl4VFFVRlhRU3hGUVVGblFpeEhRVU4yUlN4RlFVTk5TeXhGUVVGTlF5eEhRVUZMTEV0QlFVMHNSMEZCU1VZc1EwRkJSeXhGUVVNNVFpeEhRVUZKTEU5QlFVOUlMRWRCUVdFc1YwRkRjRUlzVDBGQlZ5eERRVUZGTEUxQlFVRk5MRVZCUVU4c1NVRkJRVVlzUTBGQlNTeEpRVUZMUkN4RlFVRkpMRkZCUVZFc1QwRkJUeXhGUVVNMVEwZ3NSVUZCVTBrc1JVRkJTMFVzUTBGQlN5eEZRVU16UWl4UFFVRlBMRTlCUVU5TUxFZEJRVmtzVjBGRGNFSk5MRWRCUVdGT0xFVkJRVk1zUTBGQlJTeEhRVUZKUnl4RFFVRkpMRVZCUVVjc1IwRkJTVUVzUTBGQlJ5eEZRVU14UTBFc1EwRkRWaXhEUVVOS0xFVkROMEpCTEVsQlFVMUpMRWRCUVU0c1kwRkJiMEpETEVWQlFWTXNRMEZEZWtJc1dVRkJXVU1zUlVGQlVTeERRVU5vUWl4TlFVRk5ReXhGUVVGTExFVkJRMWdzUzBGQlN5eFBRVUZUUkN4RlFVTmtMRTlCUVU4c1pVRkJaU3hMUVVGTkxFMUJRVThzUTBGREwwSXNTMEZCVFN4RFFVTkdMRTFCUVUwc1NVRkJTU3hOUVVGTkxEaENRVUU0UWl4RFFVTnNSQ3hEUVVOS0xFTkJRVU1zUTBGRFRDeERRVXRCTEZGQlFWRkZMRVZCUVVzc1EwRkRWQ3hKUVVGSlF5eEZRVU5LTEU5QlFVRkRMRWRCUVUxR0xFVkJRVXNzUTBGRFVDeExRVUZOTEVOQlFVTkhMRVZCUVUxRExFbEJRVk1zUTBGRGJFSXNSMEZCU1VFc1NVRkJVeXhMUVVOVUxFOUJRVTlHTEVkQlFVMHNUVUZEWWtVc1JVRkJTeXhUUVVGWExFdEJRVXNzVTBGRGNrSklMRVZCUVZGSExFVkJRMmhDTEVOQlEwb3NRMEZCUXl4RlFVTk5TQ3hEUVVOWUxFTkJRMEVzVDBGQlQwa3NSVUZCVFVNc1JVRkJTeXhEUVVOa0xFZEJRVWtzUTBGQlEwRXNSVUZEUkN4TlFVRlBMRU5CUVVVc1QwRkJVU3hMUVVGTExFMUJRVThzUlVGRGFrTXNSMEZCVFN4RFFVRkZMRkZCUVVGRExFVkJRVk1zU1VGQlFWQXNSVUZCU3l4alFVRkJVU3hEUVVGakxFVkJRVWxHTEVWQlEyeERVaXhGUVVGVExFdEJRVXNzVVVGQlVVVXNRMEZCUnl4RlFVTXZRaXhIUVVGSkxFTkJRVU5HTEVWQlFWRXNRMEZEVkN4SlFVRk5WeXhGUVVGTkxDdEVRVUVyUkN4TFFVRkxMRTFCUVUwc1IwRkRkRVlzVFVGQlRTeEpRVUZKTEdWQlFXVkJMRU5CUVVjc1EwRkRhRU1zUTBGRFFTeEpRVUZKUXl4RlFVRlBTQ3hGUVVGUkxFbEJRVWxVTEVOQlFVMHNSVUZQTjBJc1IwRk9TMWtzU1VGRlJFTXNSMEZCUzJJc1JVRkJVU3hMUVVGTlVTeERRVUZITEVWQlEzUkNTU3hGUVVGUFNDeEZRVUZSTEVsQlFVbFVMRU5CUVUwc1IwRkhla0lzUTBGQlExa3NSMEZCVVVFc1JVRkJTeXhOUVVGUkxFOUJRVmNzUTBGRGFrTXNTVUZCVFVRc1JVRkJUU3g1UkVGRFdpeE5RVUZOTEVsQlFVa3NaVUZCWlVFc1EwRkJSeXhEUVVOb1F5eERRVU5CTEVkQlFVbEVMRWRCUVdsQ0xFbEJRMnBDUlN4RlFVRkxMRTlCUVZNc1JVRkRWa0VzUlVGQlN5eGhRVUZsTEVsQlEzQkNRU3hGUVVGTExGZEJRV0ZGTEVkQlFXTmFMRVZCUVV0R0xFVkJRVkZUTEVOQlFVOHNSMEZEY0VSSExFVkJRVXNzVFVGQlVVRXNSVUZCU3l4WFFVRmhSaXhIUVVGbExFTkJRemxETEVsQlFVMURMRVZCUVUwc0swUkJRMW9zVFVGQlRTeEpRVUZKTEdWQlFXVkJMRU5CUVVjc1EwRkRhRU1zUTBGRlNpeFBRVUZQUXl4RlFVRkxMRWRCUTJoQ0xFTkJRMEVzVTBGQlUwb3NSVUZCUzA4c1JVRkJXVU1zUlVGQll5eERRVU53UXl4SlFVRk5ReXhGUVVGTkxFbEJRVWtzUzBGQlN5eE5RVUZOTEVkQlF6TkNMRWRCUVVsVUxFVkJRVXNzUTBGRlRDeEhRVVJCVlN4SFFVRmpMRXRCUVVzc1RVRkJUU3hGUVVOeVFsWXNSVUZCU1N4UlFVRlJMR3RDUVVGdlFpeERRVUZEUVN4RlFVRkpMRkZCUVZFc1NVRkJTU3hMUVVGTExFMUJRVTBzUlVGQlJ5eERRVU12UkN4SlFVRk5SeXhGUVVGTkxDdEVRVUVyUkN4TFFVRkxMRTFCUVUwc1IwRkRkRVlzVFVGQlRTeEpRVUZKTEUxQlFVMUJMRU5CUVVjc1EwRkRka0lzUTBGRFFTeEhRVUZKU0N4RlFVRkpMRmxCUTBvc1RVRkJUeXhIUVVGSFV5eERRVUZITEVkQlEzSkNMRU5CUTBFc1QwRkJUMEVzUTBGRFdDeERRVU5LTEVWQlEwRXNVMEZCVTBnc1IwRkJZMW9zUlVGQlMwa3NSVUZCVFVjc1JVRkJVeXhEUVVOMlF5eEhRVUZKVlN4SFFVRlJZaXhEUVVGSkxFVkJRVWNzUTBGRFppeEpRVUZOVGl4RlFVRlRUU3hGUVVGTExGRkJRVkZLTEVOQlFVY3NSVUZEZWtKclFpeEZRVUZUV0N4SFFVRlhWQ3hIUVVGVlV5eEZRVUZSTEVsQlFVbFVMRU5CUVUwc1JVRkRkRVFzVDBGQlQyOUNMRVZCUVZOQkxFVkJRVThzVFVGQlVVRXNSVUZCVHl4WFFVRmhMRU5CUTNaRUxGTkJRMU5ETEVWQlFXRm1MRU5CUVVrc1JVRkJSeXhEUVVONlFpeEpRVUZKWjBJc1JVRkJVU3hGUVVOYUxGRkJRVmRETEV0QlFWRnFRaXhGUVVGTExFMUJRVThzUTBGRE0wSXNTVUZCVFd0Q0xFVkJRVWxXTEVkQlFXTmFMRVZCUVV0eFFpeEZRVUZOWkN4RFFVRlBMRVZCUTNSRFpTeEZRVUZKUml4SlFVTktRU3hGUVVGUlJTeEZRVU5vUWl4RFFVTkJMRTlCUVU5R0xFTkJRMWdzVTBGRFUwY3NSVUZCVDI1Q0xFTkJRVWtzUlVGQlJ5eERRVU51UWl4SlFVRk5iMElzUlVGQlMxb3NSMEZCWTFvc1JVRkJTMGtzUlVGQlN5eEpRVUZMUnl4RFFVRlBMRVZCUTNwRGEwSXNSVUZCUzJJc1IwRkJZMW9zUlVGQlMwa3NSVUZCU3l4TlFVRlBSeXhEUVVGUExFVkJRMnBFTEU5QlFVOHNTMEZCU3l4SlFVRkphVUlzUlVGQlNVTXNRMEZCUlN4RFFVTXhRaXhEUVVOQkxFMUJRVThzUlVGRFdDeERRemxHUVN4SlFVRk5ReXhIUVVGcFFrTXNSMEZCVlN4RFFVRkRRU3hIUVVGVkxFOUJRVTlCTEVkQlFWVXNXVUZCWXl4UFFVRlBRU3hIUVVGVkxGTkJRM1JHUXl4RlFVRk9MR05CUVhGQ1F5eEZRVUZUTEVOQlF6RkNMRmxCUVZsR0xFVkJRVThzUTBGRFppeE5RVUZOUnl4RlFVRk5MRVZCUTFvc1MwRkJTeXhOUVVGUlNDeERRVU5xUWl4RFFVTkJMRTlCUVU5SkxFVkJRVXRETEVWQlFVc3NRMEZEWWl4UFFVRlBRU3hIUVVGQkxFMUJRVUZCTEVWQlFVc3NTMEZCVHl4TFFVRkxMRTFCUVZGRExFZEJRVXNzUzBGQlN5eE5RVUZQUml4RlFVRkxReXhEUVVGSExFTkJRemRFTEVOQlEwRXNWVUZCVnl4RFFVTlFMRTlCUVU4c1QwRkJUeXhMUVVGTExFdEJRVXNzUTBGRE5VSXNRMEZEU2l4RlFVTkJTaXhGUVVGUExHRkJRV1VzWlVGRGRFSkJMRVZCUVU4c1kwRkJaMElzWjBKQlEzWkNRU3hGUVVGUExFMUJRVkVzVVVGRFprRXNSVUZCVHl4aFFVRmxMR1ZCUTNSQ1FTeEZRVUZQTEdGQlFXVXNaVU5xUW5SQ0xFbEJRVTFOTEVkQlFXMUNMSEZDUVVONlFpeFRRVUZUUXl4SFFVRmpReXhGUVVGUFF5eEZRVUZUUXl4RlFVRk5MRU5CVERkRExFbEJRVUZETEVWQlRVa3NSMEZCU1VZc1JVRkJVeXhEUVVOVUxFbEJRVTFITEVWQlFWRkdMRVZCUVVzc1QwRkJUMGNzUjBGQlMwRXNSVUZCUlN4TlFVRlJTaXhEUVVGUExFVkJRekZEU3l4SFFVRlRTQ3hGUVVGQlF5eEZRVUZOTEV0QlFVdERMRWRCUVVzc1EwRkJRMEVzUlVGQlJTeE5RVUZOTEVsQlFYcENMRXRCUVVGR0xFVkJRVGhDUXl4RlFVRk5MRU5CUVVNc1JVRkRjRVFzUjBGQlNTeERRVUZEUlN4RlFVTkVMRTFCUVUwc1NVRkJTU3hOUVVGTkxFOUJRVTlNTEVOQlFVOHNXVUZCV1N4RlFVTTVReXhQUVVGUFN5eERRVU5ZTEVOQlEwRXNUMEZCVDBvc1JVRkJTeXhMUVVGTFJ5eEhRVUZGTEVOQlluWkNMRWxCUVVGR0xFVkJZVEJDTEZGQlFVRkJMRVZCUVVGRkxFVkJRVVVzVjBGQlJpeFpRVUZCUml4RlFVRkJMRXRCUVVGRkxFVkJRV0ZNTEV0QlFWVXNRMEZCUTBzc1JVRkJSU3hQUVVGTkxFTkJRekZFTEVOQlEwRXNVMEZCVTBVc1IwRkJWMUFzUlVGQlQwTXNSVUZCVTA4c1JVRkJTeXhEUVdaNlF5eEpRVUZCVEN4RlFVRkJUU3hGUVVGQlF5eEZRV3RDU1N4SFFVWkpReXhIUVVGWFdDeERRVUZMTEVsQlEyaENRU3hGUVVGUlFTeEZRVUZOTEZWQlEyUlpMRVZCUVU5YUxFTkJRVXNzUlVGRFdpeFBRVUZQUVN4RlFVTllMRWRCUVVsaExFVkJRVTlpTEVOQlFVc3NSVUZCUnl4RFFVTm1MRWxCUVUxakxFZEJRVTFNTEVkQlFVRk9MRVZCUVVGTExFVkJRVWtzVDBGQlQwOHNSVUZCUnl4SFFVRkZMR0ZCUVdoQ0xGbEJRVUZPTEVWQlFVRXNTMEZCUVU0c1JVRkJOa0pMTEVWQlFVa3NUMEZCVVN4TFFVRk5RU3hIUVVNelJDeFBRVUZCVFN4RlFVRkpMRTFCUVUwc1MwRkJTMlFzUTBGQlN5eEZRVU5pWXl4RFFVTllMRVZCUTBsa0xHRkJRV2xDTEZGQlEycENRU3hoUVVGcFFpeFJRVU5xUWtFc1lVRkJhVUlzVTBGRGFFSXNUMEZCVHl4UlFVRlhMR0ZCUVdWQkxHRkJRV2xDTEZWQlIyNUVRU3hGUVVGUlFTeEZRVUZOTEZGQlFWRXNSMEZGTVVJc1IwRkJUU3hEUVVGRkxITkNRVUZCWjBJc1JVRkJkVUlzVTBGQlFVTXNSVUZCVlN4VFFVRkJReXhGUVVGVkxFOUJRVUZETEVWQlFWRXNZMEZCUVVNc1EwRkJZeXhGUVVGSldpeEZRVWQ2UldFc1JVRkRTaXhIUVVGSlRDeEhRVUY1UW1oQ0xFZEJRVk1zVDBGQlQwRXNSMEZCVlN4VFFVRlZMRU5CUlRkRUxFZEJSRUZ4UWl4RlFVRk5SQ3hGUVVGakxFbEJRVWx3UWl4RFFVRkxMRVZCUTNwQ2NVSXNSVUZEUVN4UFFVRkxRU3hGUVVGSkxGTkJRMHhCTEVWQlFVa3NUMEZCVTBvc1JVRkJVMnBDTEVOQlFVc3NSMEZEZUVJc1NVRkJTWE5DTEVkQlFVMUVMRVZCUVVrc1RVRkJUU3hGUVVjelFrRXNSVUZCVFN4RFFVRkZMRTlCUVZFc1MwRkJUU3hMUVVGTkxFbEJRVXNzUlVGRGFrTkVMRVZCUVdNc1NVRkJTWEJDTEVWQlFVOXhRaXhEUVVGSExFTkJSWEJETEVOQlEwbHdRaXhIUVVGQkxFMUJRVUZCTEVWQlFWTXNWMEZCVnl4UlFVTndRa0VzUlVGQlZVZ3NSMEZCYlVKSExFVkJRVkVzVFVGQlRTeERRVUZETEVkQlEyaEVMRWxCUVVsTExFVkJRVk5RTEVkQlFXTkRMRVZCUVU5RExFVkJRVk5yUWl4RlFVRlBMRWxCUVVrc1JVRkRkRVFzUjBGQlNTeERRVUZEWWl4RlFVRlJMRU5CUzFRc1IwRktTVTRzUjBGQlV5eFBRVUZQUVN4RlFVRk5MRkZCUVZjc1lVRkZha05CTEVWQlFWRkJMRVZCUVUwc1QwRkJUeXhIUVVWeVFpeERRVUZEUVN4SFFVRlRMRTlCUVU5QkxFZEJRVlVzVTBGQlZTeERRVU55UXl4SlFVRk5kVUlzUlVGQlR5eEpRVUZKUXl4RlFVRlBlRUlzUTBGQlN5eEZRVU0zUWl4UFFVRkpjVUlzU1VGRFFVRXNSVUZCU1N4TFFVRlBSU3hIUVVOU1FTeERRVU5ZTEVOQlEwRnFRaXhGUVVOSlRpeGhRVUZwUWl4SlFVTlliVUlzUlVGQlQwb3NSVUZCUnl4RlFVTldMRTlCUVU4c1dVRkJXU3hQUVVGUFppeERRVUZMTEVWQlF6TkNiVUlzUlVGQlQwMHNSVUZCUnl4RlFVTldUaXhGUVVGUFNpeEZRVUZITEVOQlF6VkNMRU5CUTBsSExFbEJRMEZCTEVWQlFWTmFMRU5CUVUwc1JVRkRaaXhQUVVGUFJTeEZRVUZKTEZWQlJXWXNTVUZCVFdVc1JVRkJUMnBDTEVkQlFVRXNUVUZCUVVFc1JVRkJVU3hYUVVObVFTeEZRVUZQTEZkQlFWZEZMRVZCUVVrc1QwRkJVVklzUlVGQlQxRXNRMEZCUnl4RlFVTjRReXhSUVVGUFJTeEZRVUZCU2l4SFFVRkJMRmxCUVVGQkxFVkJRVkVzV1VGQlVpeFpRVUZCU1N4RlFVRnRRaXhQUVVGVExGZEJReTlDU2l4RlFVRlBMRlZCUVZVc1MwRkJTMFVzUlVGQlNTeFBRVUZSVWl4RlFVRlBVU3hEUVVGSExFVkJRelZETEVsQlFVbG5RaXhGUVVGUGVFSXNRMEZCU3l4RlFVTXhRaXhQUVVGSlF5eEZRVU5CYzBJc1JVRkJTeXhKUVVGTmRFSXNSVUZEVEVzc1JVRkJUeXhWUVVOaWFVSXNSVUZCU3l4SlFVRk5ha0lzUlVGQlR5eExRVU5zUW1Vc1NVRkRRVUVzUlVGQlNTeExRVUZQUlN4SFFVTlNRU3hEUVVOWUxFTkRiRVpCTEZOQlFWTkhMRWRCUVcxQ1F5eEZRVUZSUXl4RlFVRk5ReXhGUVVGUExFTkJRemRETEVsQlFVbERMRVZCUVVsRUxFVkJRMUlzVVVGQlUwVXNSVUZCU1Vnc1JVRkJTeXhQUVVGVExFVkJRVWRITEVkQlFVc3NSVUZCUnl4RlFVRkZRU3hGUVVGSExFTkJRM1pETEVsQlFVMURMRVZCUVVsS0xFVkJRVXRITEVOQlFVTXNSVUZEYUVJc1IwRkJTU3hQUVVGUFF5eEhRVUZOTEZWQlFWa3NUMEZCVHl4VlFVRlZRU3hEUVVGRExFZEJRVXRCTEVkQlFVc3NSVUZCUnl4RFFVTjRSQ3hKUVVGTlF5eEZRVUZKTEVOQlFVTXNSVUZEV0VFc1JVRkJSVVFzUTBGQlF5eEZRVUZKUml4RlFVTlFRU3hGUVVGSlJ5eERRVU5TTEUxQlJVbElMRVZCUVVrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUTBGQlEwVXNSVUZCUjBZc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGRk5VSXNRMEZEUVN4UFFVRlBTU3hIUVVGWFNpeEZRVUZITEU5QlFWY3NRMEZETlVJc2MwSkJRWFZDTEVkQlEzWkNMR05CUVdVc1IwRkRaaXhUUVVGVkxFbEJRVTBzUTBGRFdpeE5RVUZOTEVsQlFVa3NUVUZCVFN3NFEwRkJPRU1zUTBGRGJFVXNSVUZEUVN4UFFVRkJTQ3hGUVVOQkxHTkJRV1VzU1VGQlNTeEhRVU4yUWl4RFFVRkRMRU5CUTB3c1EwRkhRU3hKUVVGTlVTeEhRVUZsVUN4SFFVRlRRU3hIUVVGUkxFMUJRMnBETEU5QlFVOUJMRWRCUVZNc1ZVRkJXU3hEUVVGRExFTkJRVU5CTEVWQlFVc3NUMEZCVHl4UlFVRlJMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzUzBGRE5VUlJMRWRCUVU0c1kwRkJlVUpETEVWQlFWTXNRMEZET1VJc1dVRkJXVU1zUlVGQlRWZ3NSVUZCVVN4RFFVTjBRaXhOUVVGTlZ5eERRVUZKTEVWQlExWXNUMEZCVHl4bFFVRmxMRXRCUVUwc1UwRkJWU3hEUVVOc1F5eE5RVUZQV0N4RlFVTlFMR0ZCUVdNc1IwRkRaQ3hYUVVGWkxFZEJRMW9zVTBGQlZTeEZRVU5rTEVOQlFVTXNRMEZEVEN4RFFVMUJMRTFCUVUxQkxFVkJRVkVzUTBGRFZpeEpRVUZOV1N4RlFVRlBMRTlCUVU4c1QwRkJUeXhQUVVGUExHVkJRV1VzU1VGQlNTeEZRVUZITEU5QlFVOHNNRUpCUVRCQ0xFbEJRVWtzUTBGQlF5eEZRVU01Uml4UFFVRkpXaXhKUVVOQldTeEZRVUZMTEU5QlFWTmFMRWRCUTJ4Q1dTeEZRVUZMTEUxQlFWRkJMRVZCUVVzc1RVRkJUU3hKUVVGSlF5eEhRVUZOUXl4RlFVRlBSQ3hEUVVGRkxFZEJRVXRGTEVWQlFVOUdMRU5CUVVVc1JVRkJTVUVzUlVGQlJ5eE5RVUZOWWl4RFFVRk5MRVZCUVVsaExFTkJRVVVzUlVGRE9VVXNTMEZCU3l4UlFVTk1SQ3hGUVVGTExFMUJRVkVzUzBGQlN5eE5RVUZOTEUxQlFVMHNSMEZETTBKQkxFTkJRMWdzUTBGTlFTeE5RVUZOV0N4RlFVRk5ReXhGUVVGUExFTkJRMllzUjBGQlNVMHNSMEZCV1ZBc1EwRkJTU3hGUVVOb1FpeExRVUZMTEVsQlFVbERMRU5CUVVzc1RVRkRZaXhEUVVORUxFZEJRVTBzUTBGQlEyTXNSVUZCU3l4SFFVRkhReXhEUVVGSkxFVkJRVWxvUWl4RlFVTnFRbWxDTEVWQlFVOHNTMEZCU3l4SlFVRkpSaXhGUVVGTExFVkJRVWtzUlVGREwwSXNSMEZCU1Vjc1JVRkJZVVFzUTBGQlNTeEZRVU5xUWtFc1JVRkJTeXhOUVVGTlJDeEZRVUZOWml4RFFVRkxMRlZCUTJwQ1owSXNTVUZCVXl4UlFVRmhMRXRCUVVzc1QwRkRhRU1zUzBGQlN5eEpRVUZKUml4RlFVRkxha0lzUjBGQmJVSXNTMEZCU3l4UFFVRlJhMElzUlVGQlRXWXNRMEZCU3l4RFFVRkRMRTFCUlRGRUxFOUJRVTBzU1VGQlNTeE5RVUZOTEN0Q1FVRXJRbU1zUTBGQlJ5eHhRa0ZCY1VKRExFTkJRVWtzUlVGQlJTeERRVU55Uml4RFFVTktMRU5CUzBFc1UwRkJVMmhDTEVWQlFVMHNRMEZEV0N4SFFVRk5MRU5CUVVObExFVkJRVXNzUjBGQlIwTXNRMEZCU1N4RlFVRkphRUlzUlVGRGRrSXNSMEZCU1dkQ0xFVkJRVXNzVTBGQlZ5eEZRVU5vUWl4UFFVRlBMRXRCUVVzc1QwRkJUMFFzUTBGQlJ5eEZRVU14UWl4SlFVRk5SU3hGUVVGUExFdEJRVXNzU1VGQlNVWXNSVUZCU3l4RlFVRkpMRVZCUXk5Q0xFZEJRVWxITEVWQlFXRkVMRU5CUVVrc1JVRkRha0lzVDBGQlQwRXNSVUZCU3l4VFFVRlRSQ3hEUVVGSkxFVkJSWHBDTEUxQlFVMHNTVUZCU1N4TlFVRk5MQ3RDUVVFclFrUXNRMEZCUnl4eFFrRkJjVUpETEVOQlFVa3NSVUZCUlN4RFFVTnlSaXhEUVUxQkxFMUJRVTFvUWl4RlFVRk5iVUlzUlVGQldTeERRVU53UWl4SFFVRk5MRU5CUVVOS0xFVkJRVXNzUjBGQlIwTXNRMEZCU1N4RlFVRkphRUlzUlVGRGFrSnBRaXhGUVVGUExFdEJRVXNzU1VGQlNVWXNSVUZCU3l4RlFVRkpMRVZCUXk5Q0xFOUJRVWxETEVWQlFVc3NVMEZCVnl4RlFVTlVMRU5CUVVOSExFZEJRV05ETEVWQlFWTklMRU5CUVVrc1JVRkJTVUVzUlVGQlN5eE5RVUZSUVN4RlFVVTNRME1zUlVGQllVUXNRMEZCU1N4RlFVRkpRU3hGUVVGTExFMUJRVTFFTEVWQlFVMUhMRU5CUVZVc1JVRkJTU3hOUVVOdVJTeERRVU5CTEdsQ1FVRnBRa1VzUlVGQllTeERRVU14UWl4UFFVRlBMRXRCUVVzc1RVRkJUU3hOUVVGTlNpeEhRVUZSTEVOQlF6VkNMRWRCUVVrc1EwRkJRMGdzUlVGQlQwY3NRMEZCU1N4RlFVTmFMRTFCUVU4c1IwRkRXQ3hKUVVGTlN5eEZRVUZKVEN4RlFVRkxMRTFCUTJZc1QwRkJVVXNzUjBGQlN5eE5RVU5TUkN4SFFVTkhSQ3hGUVVGVFJTeERRVUZETEVkQlExWkJMRVZCUVVVc1QwRkJVeXhOUVVOWUxFTkJRVU5CTEVWQlFVVXNaVUZEU0N4RFFVRkRRU3hGUVVGRkxGTkJRMGdzUTBGQlEwRXNSVUZCUlN4SFFVTm1MRU5CUVVNc1EwRkRUQ3hEUVVsQkxFMUJRVTEwUWl4RlFVRk5MRU5CUTFJc1IwRkJUU3hEUVVGRFpTeEZRVUZMTEVkQlFVZERMRU5CUVVrc1JVRkJTV2hDTEVWQlEzWkNMRWRCUVVsblFpeEZRVUZMTEZOQlFWY3NSVUZEYUVJc1QwRkJUeXhMUVVGTExFbEJRVWxFTEVOQlFVY3NSVUZEZGtJc1NVRkJUVVVzUlVGQlR5eExRVUZMTEVsQlFVbEdMRVZCUVVzc1JVRkJTU3hGUVVNdlFpeFBRVUZQUnl4RlFVRmhSQ3hEUVVGSkxFVkJRVWxCTEVWQlFVc3NUVUZCVFVRc1EwRkJTU3hGUVVGSkxFVkJRMjVFTEVOQlMwRXNUVUZCVFdoQ0xFVkJRVTFETEVWQlFVOHNRMEZEWml4SFFVRk5MRU5CUVVOakxFVkJRVXNzUjBGQlIwTXNRMEZCU1N4RlFVRkphRUlzUlVGRGRrSXNSMEZCU1dkQ0xFVkJRVXNzVTBGQlZ5eEZRVU5vUWl4TFFVRkxMRWxCUVVsRUxFVkJRVXRrTEVOQlFVc3NUVUZGYkVJc1EwRkRSQ3hKUVVGTlowSXNSVUZCVHl4TFFVRkxMRWxCUVVsR0xFVkJRVXNzUlVGQlNTeEZRVU12UWl4SFFVRkpSeXhGUVVGaFJDeERRVUZKTEVWQlEycENRU3hGUVVGTExFMUJRVTFFTEVWQlFVMW1MRU5CUVVzc1ZVRkRha0puUWl4SlFVRlRMRkZCUVdFc1MwRkJTeXhQUVVOb1F5eExRVUZMTEVsQlFVbEdMRVZCUVV0cVFpeEhRVUZ0UWl4TFFVRkxMRTlCUVZGclFpeEZRVUZOWml4RFFVRkxMRU5CUVVNc1RVRkZNVVFzVDBGQlRTeEpRVUZKTEUxQlFVMHNLMEpCUVN0Q1l5eERRVUZITEhGQ1FVRnhRa01zUTBGQlNTeEZRVUZGTEVOQlEzSkdMRU5CUTBvc1EwRkRTaXhGUTNwSlFTeEpRVUZOVHl4SFFVRnZRa01zUjBGQlVVRXNSVUZCU1N4UlFVRlJMR3RDUVVGdFFpeEhRVUZITEVWQlEzQkZMRk5CUVZORExFZEJRV05ETEVWQlFWTkRMRVZCUVZFc1EwRkRjRU1zVFVGQlNTeFJRVUZSTEV0QlFVdEVMRU5CUVU4c1JVRkRZa0VzUlVGQlVTeFZRVUZWTEVOQlFVTXNSVUZEZGtKRExFVkJRVk5FTEVWQlFWRXNVVUZCVVN4aFFVRmpReXhEUVVGTkxFVkJRVWxFTEVOQlF6VkVMRU5CUTBFc1NVRkJUVVVzUjBGQll5eERRVUZEU2l4RlFVRkxSeXhGUVVGUlJDeEpRVUZaUml4RlFVRkpMRk5CUVZNN1FVRkJRU3hEUVVGSkxFVkJRM3BFUXl4SFFVRmpReXhGUVVGVFF5eERRVUZOTEVWQlF6ZENSQ3hGUVVGUkxGTkJRVk03UVVGQlFTeERRVUZKTEVWQlEycENPMEZCUVVFc1JVRkJUMFFzUjBGQlkwTXNSVUZCVTBNc1EwRkJUU3hIUVVOdVEwZ3NSVUZCU1N4VFFVRlRMRWRCUVVjc1JVRkJTU3hIUVVGTExFdEJRVTlGTEVWRGFrSXpReXhKUVVGTlJ5eEhRVUZaTEU5QlExcERMRWRCUVdFc1VVRkRZa01zUjBGQll5eFRRVTF3UWl4VFFVRlRReXhIUVVGalF5eEZRVUZOUXl4RlFVRlJReXhGUVVGUExFOUJRVkVzUTBGQlJTeGpRVUZCUXl4RlFVRmxMRlZCUVVGRExFVkJRVmtzUjBGQlNTeG5Ra0ZCUVVNc1JVRkJhMElzUjBGQlNTeFBRVUZCUXl4RlFVRlJMRmRCUVVGRExFTkJRVmNzUlVGQlNTeERRVUZETEVWQlFVY3NRMEZEYkVrc1IwRkJTU3hEUVVGRFNDeEhRVUZoUVN4RlFVRlpMRVZCUXpGQ0xFOUJRVTlLTEVWQlExQkpMRVZCUVZsRExFbEJRMXBCTEVWQlFXdENMRWRCUTNSQ0xFbEJRVTFITEVWQlFWVXNTMEZCU3l4SlFVRkpMRVZCUVVsSUxFVkJRV2xDTEVWQlFVbEVMRVZCUVZsSUxFVkJRVThzVFVGQlRTeEZRVU16UlN4SFFVRkpSQ3hGUVVGTExGRkJRVlZSTEVWQlEyWXNUMEZCVDFJc1JVRkRXQ3hKUVVGTlV5eEZRVUZSTEVOQlFVTXNSVUZEVkVNc1JVRkJaU3hEUVVGRExFVkJRMnhDUXl4RlFVRk5VQ3hGUVVGWlNDeEZRVUZQTEU5QlEzcENMRTlCUVU5RkxFZEJRV3RDTEZkQlEzSkNRU3hGUVVGblFrTXNSVUZCV1N4TFFVRkxMRWxCUVVrc1JVRkJSME1zUTBGQlpTeEZRVU4yUkVrc1JVRkJUU3hMUVVGTExFTkJRVU1zUlVGRldrVXNSVUZCVFZBc1JVRkJXVVFzUjBGRk1VSXNTVUZCU1ZNc1JVRkRRVU1zUlVGRFFVTXNSVUZCVnl4SFFVTllReXhGUVVGSkxFZEJRMHBETEVWQlFWY3NSMEZEV0VNc1JVRkJVeXhIUVVOVVppeEpRVUZUVEN4TFFVTlVhMElzUlVGQlNVY3NSMEZCZVVKc1FpeEZRVUZOWlN4RlFVRkhaQ3hGUVVGUExFMUJRVTBzUlVGREwwTmpMRWxCUVUwc1MwRkRUa29zUlVGQlRVa3NSVUZCU1ZBc1NVRkZiRUlzVVVGQlUxY3NSVUZCUzBFc1JVRkJTMjVDTEVWQlFVMWxMRWRCUVVzc1EwRkJSU3hIUVVGTExFTkJRMnBETEVkQlFVbGlMRWxCUVZOS0xFbEJRV1Z4UWl4SlFVRlBMRXRCUVUwc1EwRkZja01zVDBGRVFVZ3NSVUZCVjBRc1JVRkRTR1lzUlVGQlMyVXNSVUZCU1N4RFFVRkRMRVZCUVVjc1EwRkRha0lzU1VGQlN5eEpRVU5FUVN4SFFVRkxMRVZCUTB3c1RVRkRTaXhKUVVGTExFbEJRMFJCTEVkQlFVc3NSVUZEVEN4TlFVTktMRWxCUVVzc1NVRkRSRUVzUjBGQlN5eEZRVU5NTEUxQlEwb3NVVUZEU1VFc1IwRkJTeXhEUVVOaUxFTkJRMEZGTEVWQlFWTkdMRU5CUTJJc1EwRkRRU3hIUVVGSlNTeEpRVUZQTzBGQlFVRXNSVUZEU0dwQ0xFbEJRVk5NTEV0QlExUnJRaXhGUVVGSlJ5eEhRVUY1UW14Q0xFVkJRVTFsTEVWQlFVZGtMRVZCUVU4c1RVRkJUU3hIUVVOMlJGVXNSVUZCVFVrc1JVRkJTV1FzUlVGQlR5eFBRVUZUVHl4RlFVTXhRa2tzUlVGQlVTeFhRVVZRTEVOQlEwUXNSMEZCU1U4c1NVRkJUeXhMUVVOUVRpeEhRVU5CUVN4SlFVRlRMRXRCUTFSQkxFbEJRVk03UVVGQlFTeEhRVU5VUVN4SlFVRlRMRWxCUVUwc1EwRkZaaXhKUVVGTlR5eEZRVUZQY0VJc1JVRkJTMlVzUlVGQlNTeERRVUZETEVWQlEyNUNTeXhIUVVGUlFTeEpRVUZUTEV0QlFVOUJMRWxCUVZNN1FVRkJRU3hIUVVGUlFTeEpRVUZUTEUxQlEyeEVVaXhGUVVGUlJ5eEZRVU5vUWl4RFFVTkJMRWRCUVVsQkxFZEJRVXRLTEVWQlEwd3NSMEZCU1VNc1JVRkRRVWdzUlVGQlRTeExRVUZMUnl4RFFVRkxMRVZCUTJoQ1JDeEZRVUZOUXl4RlFVRlJTaXhGUVVOa1NTeEZRVUZSTEdWQlJVaFdMRWxCUVZOS0xFZEJRV0VzUTBGRk0wSXNTMEZCVDJVc1NVRkJVeXhMUVVGUFFTeEpRVUZUTEV0QlF6VkNRU3hGUVVGUFRTeEZRVU5RUVN4RlFVRkxia0lzUlVGQlRXVXNSMEZCU3l4RFFVRkZMRVZCUTJ4Q1JDeEZRVUZYTEVkQlIyWXNTVUZCVFU4c1JVRkJTVTRzUlVGQlNVVXNSVUZCVXl4RlFVRkpSaXhGUVVGSkxFVkJRVWxETEVWQlFWY3NSVUZGT1VNc1IwRkJTVTRzUlVGQllWY3NRMEZCUXl4RlFVTmtMRTlCUVU5eVFpeEZRVU5ZVXl4RlFVRk5MRXRCUVV0WkxFTkJRVU1zUlVGRFdsZ3NSVUZCWVZjc1EwRkJReXhGUVVGSkxFZEJRMnhDVml4RlFVRk5WU3hGUVVGSllpeEZRVU5XU1N4RlFVRlJMRTFCUTFvc1RVRkZTVVVzUlVGQlZ5eEZRVWQyUWl4RFFVTkJSQ3hGUVVGUFRTeERRVU5ZTEVOQlIwRXNSMEZHU1V3c1IwRkJXVkFzUjBGRFdrRXNSVUZCVnl4RlFVTllSU3hGUVVGTkxGTkJRVmNzUlVGRGFrSXNUMEZCVDFRc1JVRkRVRTBzUjBGRFFVRXNSVUZCVHl4RlFVTllMRWxCUVVsblFpeEZRVUZOZEVJc1JVRkJTeXhOUVVGTkxFVkJRVWRUTEVWQlFVMHNRMEZCUXl4RFFVRkRMRVZCUTJoRExGRkJRVk5OTEVWQlFVa3NSVUZCUjBFc1JVRkJTVTRzUlVGQlRTeFBRVUZSTEVWQlFVVk5MRVZCUVVjc1EwRkRia01zU1VGQlRWRXNSVUZCVDJRc1JVRkJUVTBzUTBGQlF5eEZRVU5rU2l4RlFVRk5SaXhGUVVGTlRTeEZRVUZKTEVOQlFVTXNSMEZCUzJZc1JVRkJTeXhQUVVNM1FuVkNMRWxCUVZNc1JVRkRWRVFzUlVGQlRUdEJRVUZCTEVWQlFVdHlRaXhEUVVGTkxFZEJRVWRFTEVWQlFVc3NUVUZCVFN4RlFVRkhWeXhEUVVGSExFTkJRVU1zU1VGRmJFTlVMRWxCUVZOS0xFbEJRV1ZaTEVWQlFXRmhMRU5CUVVrc1NVRkRla05FTEVkQlFVOHNSMEZCUjNSQ0xFVkJRVXQxUWl4RFFVRkpMRU5CUVVNc1RVRkRlRUpFTEVkQlFVODdRVUZCUVN4RlFVRkxja0lzUTBGQlRTeEhRVUZIUkN4RlFVRkxMRTFCUVUxMVFpeEZRVUZQTEVWQlFVZGFMRU5CUVVjc1EwRkJReXhIUVVWMFJDeERRVU5CTEU5QlFVOVhMRU5CUTFnc1EwRkxRU3hUUVVGVFNpeEhRVUY1UW14Q0xFVkJRVTFsTEVWQlFVZGtMRVZCUVZFc1EwRkRMME1zU1VGQlNWVXNSVUZCVFVrc1JVRkRUbE1zUlVGQlVWUXNSVUZCU1N4RlFVTmFTU3hGUVVGTGJrSXNSVUZCUzNkQ0xFTkJRVXNzUlVGRGJrSXNTMEZCVDB3c1NVRkJUeXhMUVVGUFFTeEpRVUZQTEV0QlEzaENMRWRCUVVsS0xFVkJRVWxUTEVWQlFWRjJRaXhGUVVOYWEwSXNSVUZCUzI1Q0xFVkJRVXNzUlVGQlJXVXNRMEZCUXl4TlFVVmFMRU5CUTBRc1IwRkRTVWtzUlVGQlMyNUNMRVZCUVVzc1JVRkJSV1VzUTBGQlF5eFJRVU5TU1N4SFFVRk5RU3hKUVVGUE8wRkJRVUVzUjBGRGRFSlNMRVZCUVUxSkxFVkJRMDVUTEVWQlFWRlVMRVZCUVVrc1JVRkRXa2tzUlVGQlMyNUNMRVZCUVV0M1FpeERRVUZMTEVOQlEyNUNMRU5CUlVvc1QwRkJUMklzUTBGRFdDeERRelZKUVN4SlFVRk5ZeXhIUVVGcFFpeERRVUZEUXl4RlFVRkxReXhMUVVGaExFTkJRM1JETEdOQlFXVkJMRVZCUVZWRUxFVkJRVWtzVDBGQlR5eFBRVUZUUVN4RlFVRkpMR05CUTJwRUxGVkJRVmRCTEVWQlFVa3NVVUZCVVN4VlFVTjJRaXhuUWtGQmFVSkJMRVZCUVVrc1VVRkJVU3hsUVVOcVF5eEhRVWROUlN4SFFVRXdRa01zUjBGQlVTeHRRa0ZCYlVJc1MwRkJTMEVzUTBGQlJ5eEZRVU51UlN4VFFVRlRReXhIUVVGdlFrUXNSVUZCUzBVc1JVRkJWME1zUlVGQll5eERRVU4yUkN4SFFVRkpMRU5CUVVORUxFZEJRV0ZCTEVWQlFWa3NSVUZETVVJc1RVRkJUeXhIUVVOWUxFbEJRVTFGTEVWQlFWRkdMRVZCUVZsRExFVkJRM0JDUlN4RlFVRlRUQ3hGUVVGSkxFOUJRMjVDTEVkQlFVbExMRWRCUVZWRUxFVkJRMVlzVFVGQlR5eEhRVU5ZTEZGQlFWTXNSVUZCU1N4RlFVRkhSU3hGUVVGUkxFVkJRVWNzUlVGQlNVUXNSVUZCVVN4RlFVRkZMRVZCUTNKRExFZEJRVWxNTEVWQlFVa3NRMEZCUXl4SlFVRk5PMEZCUVVFc1JVRkJUU3hEUVVOcVFpeEhRVUZKTEVWQlFVbE5MRVZCUVZGR0xFVkJRMW9zVFVGQlR5eEhRVVZZTEVkQlJFRkZMRVZCUVZFc1JVRkJTU3hGUVVOU1JDeEZRVUZUUXl4SFFVRlRSaXhGUVVOc1FpeE5RVUZQTEVWQlEyWXNRMEZGU2l4TlFVRlBMRVZCUTFnc1EwRkRRU3hUUVVGVFJ5eEhRVUZ0UWtNc1JVRkJUMWdzUlVGQlN5eERRVU53UXl4SlFVRk5XU3hGUVVGUExFdEJRVXNzVlVGQlZVUXNRMEZCU3l4RlFVTnFReXhIUVVGSldDeEZRVUZKTEZGQlFWRXNiVUpCUTFvc1QwRkJUMWtzUlVGRFdDeEhRVUZOTEVOQlFVVXNXVUZCUVVNc1EwRkJXU3hGUVVGSllpeEZRVU5zUW1Nc1JVRkJjVUprTEVWQlFVa3NVVUZCVVN3clFrRkRha05sTEVWQlFWTm1MRVZCUVVrc1UwRkJWMFVzUjBGQmRVSlRMRU5CUVVzc1JVRkJTU3hMUVVGUExFbEJRMnBGVWl4RlFVRk5MRWRCUTA1TkxFVkJRVkVzUlVGRFdpeFJRVUZUVHl4RlFVRkpMRVZCUVVkRExFVkJRVXRNTEVWQlFVdEpMRU5CUVVNc1JVRkJSME1zUlVGQlNVRXNSVUZCUzB3c1JVRkJTeXhGUVVGRlNTeERRVUZETEVWQlVUTkRMRWRCVUVsRExFbEJRVThzUzBGQlQwd3NSVUZCUzBrc1JVRkJTU3hEUVVGRExFbEJRVTBzVFVGQlVVb3NSVUZCUzBrc1JVRkJTU3hEUVVGRExFbEJRVTBzVFVGRmRFUmlMRWRCUVU5VExFVkJRVXNzVFVGQlRVZ3NSVUZCVDA4c1EwRkJReXhGUVVGSkxFMUJRemxDUVN4SFFVRkxMRVZCUTB4UUxFVkJRVkZQTEVWQlExSkRMRVZCUVVzc1RVRkZURUVzU1VGQlR5eExRVU5RTEU5QlFWRk1MRVZCUVV0SkxFVkJRVWtzUTBGQlF5eEZRVUZITEVOQlEycENMRWxCUVVzc1NVRkRSQ3hEUVVOSllpeEhRVUZQVXl4RlFVRkxMRTFCUVUxSUxFVkJRVTlQTEVOQlFVTXNSVUZETVVJc1NVRkJUVVVzUlVGQlQwNHNSVUZCU3l4UFFVRlBTU3hGUVVGSkxFVkJRVWNzUTBGQlF5eEZRVU5xUXl4UFFVRlJSU3hGUVVGTkxFTkJRMVlzU1VGQlN5eFBRVU5FWml4SFFVRlBMRTFCUTFBc1RVRkRTaXhKUVVGTExFOUJRMFJCTEVkQlFVOHNUVUZEVUN4TlFVTktMRWxCUVVzc1QwRkRSRUVzUjBGQlR5eE5RVU5RTEUxQlEwb3NTVUZCU3l4UFFVTkVRU3hIUVVGUExFMUJRMUFzVFVGRFNpeEpRVUZMTEU5QlEwUkJMRWRCUVU4c1RVRkRVQ3hOUVVOS0xFbEJRVXNzVDBGRFJFRXNSMEZCVHl4TlFVTlFMRTFCUTBvc1NVRkJTeXhQUVVORVFTeEhRVUZQTEUxQlExQXNUVUZEU2l4SlFVRkxMRTlCUTBSQkxFZEJRVThzVFVGRFVDeE5RVU5LTEZGQlExRmxMRVZCUVVzc1QwRkJUeXhGUVVGSExFTkJRVU1zU1VGQlRTeExRVU4wUW1Zc1IwRkJUeXhOUVVGUlpTeEZRVUZMTEU5QlFVOHNRMEZCUXl4RlFVVTFRbVlzUjBGQlQxTXNSVUZCU3l4UFFVRlBTU3hGUVVGSExFTkJRVU1zUTBGRGJrTXNRMEZEUVVFc1IwRkJTeXhGUVVOTVVDeEZRVUZSVHl4RlFVRkpMRU5CUTJoQ0xFTkJRMEVzVFVGRFNpeEpRVUZMTEVsQlEwUXNSMEZCU1Vnc1IwRkRRVVFzUlVGQlMwa3NSVUZCU1N4RFFVRkRMRWxCUVUwc1MwRkRhRUpLTEVWQlFVc3NUMEZCVTBVc1JVRkRaRVVzUjBGQlN5eE5RVVZLTEVOQlIwUXNTVUZFUVdJc1IwRkJUMU1zUlVGQlN5eE5RVUZOU0N4RlFVRlBUeXhEUVVGRExFVkJRVWs3UVVGQlFUdEJRVUZCTEVWQlEzWkNTaXhGUVVGTFNTeEZRVUZKTEVOQlFVTXNTVUZCVFN4TlFVTnVRa29zUlVGQlMwa3NSVUZCU1N4RFFVRkRMRWxCUVUwc1MwRkRhRUpLTEVWQlFVdEpMRVZCUVVrc1EwRkJReXhKUVVGTkxFdEJRMmhDWWl4SFFVRlBPMEZCUVVFc1JVRkRVR0VzUjBGQlN5eEZRVVZVWWl4SFFVRlBXU3hGUVVWSVNDeEZRVUZMU1N4RlFVRkpMRU5CUVVNc1NVRkJUU3hOUVVOb1FtSXNSMEZCVHl4TlFVTllZU3hIUVVGTExFVkJRMHhRTEVWQlFWRlBMRVZCUVVrc1EwRkRhRUlzUTBGRFFTeE5RVU5LTEZGQlEwbEJMRWRCUVVzc1EwRkRZaXhEUVVWU0xFOUJRVUZpTEVWQlFVMU5MRVZCUVZGT0xFVkJRVTFUTEVWQlFVc3NUVUZCVFVnc1EwRkJTeXhGUVVGSlJ5eEZRVU5xUTBNc1JVRkRSRllzUlVGRFFXZENMRWRCUVdOb1FpeEZRVUZMV1N4RlFVRlJTeXhIUVVGaGNrSXNSMEZCWlVNc1JVRkJTeXhGUVVGTExFTkJRVU1zUTBGRE5VVXNRMEZEUVN4VFFVRlRjVUlzUjBGQmJVSldMRVZCUVU5WUxFVkJRVXNzUTBGRGNFTXNSMEZCU1VFc1JVRkJTU3hSUVVGUkxHTkJRV2RDTEVsQlF6TkNRU3hGUVVGSkxHRkJRV1ZYTEVWQlFVMHNVMEZCVXp0QlFVRkJMRU5CUVVrc1IwRkRka01zYTBKQlFXdENMRXRCUVV0QkxFTkJRVXNzUlVGRk5VSXNUMEZCVDBRc1IwRkJiVUpETEVWQlFVOVlMRU5CUVVjc1JVRkRlRU1zU1VGQlRXVXNSVUZCVTJZc1JVRkJTU3hUUVVGWFJTeEhRVUYxUWxNc1EwRkJTeXhGUVVGSkxFdEJRVThzU1VGREwwUlhMRVZCUVUwc1NVRkJUVmdzUlVGQlRTeFJRVUZSTEV0QlFVMHNTVUZCU1N4RlFVRkZMRkZCUVZFc1QwRkJVVHRCUVVGQkxFVkJRVTlKTEVOQlFVMHNSVUZCUlN4RlFVRkpMRWxCUXk5RkxFOUJRVTltTEVWQlFVa3NXVUZEVEhOQ0xFVkJRMEZJTEVkQlFXTkhMRVZCUVV0UUxFVkJRVkZSTEVkQlFWZDRRaXhIUVVGbFF5eEZRVUZMTEVWQlFVc3NRMEZCUXl4RFFVTXhSU3hEUVVOQkxGTkJRVk4zUWl4SFFVRmhZaXhGUVVGUFdDeEZRVUZMTEVOQlF6bENMRWRCUVUwc1EwRkJSU3haUVVGQmVVSXNRMEZCV1N4RlFVRkpla0lzUlVGQlNTeFJRVU40UWpCQ0xFVkJRMG9zUjBGQlNVUXNTVUZCWjBJc1IwRkRhRUpETEVWQlFVdG9RaXhQUVVOS0xFTkJRMFFzU1VGQlRXbENMRVZCUVZsb1FpeEZRVUZOTEZOQlFWTXNSMEZCUnl4RlFVTTVRbWxDTEVWQlFWbHFRaXhGUVVGTkxGTkJRVk1zUjBGQlJ5eEZRVU5vUTJkQ0xFZEJRV0VzUTBGQlEwTXNSVUZEWkVZc1JVRkJTMHdzUjBGRFFVOHNSMEZCWVN4RFFVRkRSQ3hGUVVOdVFrUXNSVUZCUzJoQ0xFZEJSVXhuUWl4RlFVRkxSQ3hGUVVGalNpeEhRVUZ4UWxnc1JVRkRhRVFzUTBGRFFTeFBRVUZQWjBJc1JVRkJSMllzUlVGQlQxZ3NRMEZCUnl4RFFVTjRRaXhEUVVkQkxFbEJRVWsyUWl4SFFVTktMRWRCUVVrc1EwRkRRVUVzUjBGQmJVSXNTVUZCU1N4UFFVRlBPMEZCUVVFN1FVRkJRVHRCUVVGQkxFdEJRVEJDTEVkQlFVY3NRMEZETDBRc1QwRkRUVU1zUlVGQlFTeERRVU5HUkN4SFFVRnRRaXhqUVVOMlFpeERRVU5CTEZOQlFWTkZMRWRCUVZrc1EwRkJSU3hSUVVGQlF5eEZRVUZUTEV0QlFVRkRMRVZCUVUwc1RVRkJRWFJDTEVOQlFVMHNSVUZCUjFnc1JVRkJTMnRETEVWQlFWZERMRVZCUVdFc1EwRkRlRVVzUjBGQlRTeERRVUZGTEZkQlFVRkRMRVZCUVZrc1kwRkJRVU1zUlVGQlpTeFZRVUZCYUVNc1EwRkJWU3hGUVVGSlRDeEZRVUZKTEZGQlIzSkVMRWRCUVVrc1EwRkJRMjlETEVkQlFXTXNXVUZCV1N4TFFVRkxla0lzUTBGQlN5eEhRVUZMTEZGQlFWRXNTMEZCUzBFc1EwRkJTeXhGUVVNMVJDeFBRVUZQWVN4SFFVRmhZaXhGUVVGUFdDeERRVUZITEVWQlJXeERMRWxCUVUxbExFVkJRVk5tTEVWQlFVa3NVMEZEWkVFc1JVRkJTU3hyUWtGQmIwSkZMRWRCUVhWQ1V5eERRVUZMTEVWQlFVa3NTMEZCVHl4SlFVTTVSREpDTEVWQlFWVkdMRWxCUVdVc1ZVRkRla0lzUjBGRFFVRXNTVUZCWlN4VlFVRlpTQ3hKUVVGVFRTeEZRVUZQTEdGQlEzWkRMRWRCUTBGT0xFbEJRVk5OTEVWQlFVOHNZMEZEV2l4SFFVTkJMRU5CUVVOdVF5eEhRVUZ2UWs4c1JVRkJUMDRzUlVGQlYxVXNSVUZCVHl4TlFVRk5MRVZCUTJ4RkxFZEJRVWtzUTBGQlEwb3NSVUZEUkN4UFFVRlBNa0lzUlVGQlZUdEJRVUZCTEVWQlFWRTdRVUZCUVN4RlFVVTNRaXhKUVVGSlJTeEZRVU5CUXl4RlFVTktMRWxCUVV0QkxFVkJRVmM1UWl4RlFVRk5MRTlCUVZFNFFpeEZRVUZYTEVWQlFVY3NSVUZCUlVFc1JVRkJWU3hEUVVOd1JDeEpRVUZOZUVJc1JVRkJTMDRzUlVGQlRUaENMRVZCUVZjc1EwRkJReXhGUVVNM1FpeEhRVUZKZUVJc1NVRkJUenRCUVVGQkxFZEJRVkZCTEVsQlFVOHNTMEZCVVVFc1NVRkJUeXhKUVVOeVF5eExRVU5TTEVOQlEwRXNTVUZCU1hsQ0xFVkJRVTB2UWl4RlFVRk5MRlZCUVZVNFFpeERRVUZSTEVWQlF6VkNSU3hGUVVGWFJDeEZRVUZKTEZGQlFWRTdRVUZCUVN4RFFVRkpMRVZCUXpkQ1F5eEpRVUZoTEVkQlEySklMRVZCUVZFc1NVRkZTRGRDTEVsQlFWVXJRaXhIUVVGUFF5eEpRVUZoUkN4RlFVRkpMRTlCUVZNc1IwRkRhRVJHTEVWQlFWRXNTVUZEU2t3c1IwRkRRVUVzUlVGQldTeEhRVWRvUWtzc1JVRkJVU3hIUVVWU1JTeEpRVU5CTDBJc1JVRkJVVUVzUlVGQlRTeE5RVUZOTEVWQlFVY3NRMEZCUXl0Q0xFVkJRVWtzVFVGQlRTeEZRVU01UWtFc1JVRkJTVUVzUlVGQlNTeFBRVUZUTEVOQlFVTXNTVUZCVFR0QlFVRkJMRWxCUTNoQ1FTeEZRVUZOUVN4RlFVRkpMRTFCUVUwc1JVRkJSeXhGUVVGRkxFZEJRM3BDUVN4RlFVRk5RU3hGUVVGSkxGRkJRVkZpTEVkQlFXdENMRXRCUVV0a0xFTkJRVTBzUlVGQlJTeEhRVWR5UkN4SlFVRkpOa0lzUlVGQmFVSXNSMEZEYWtKRExFVkJRMEZETEVWQlFXRXNSMEZEYWtJc1NVRkJTMFFzUlVGQlZ5eEZRVUZIUVN4RlFVRlhiRU1zUlVGQlRTeFBRVUZSTEVWQlFVVnJReXhGUVVGVkxFTkJRM0JFTEVsQlFVMDFRaXhGUVVGTFRpeEZRVUZOYTBNc1EwRkJVU3hGUVVONlFpeEhRVUZKTlVJc1NVRkJUeXhKUVVOUU1rSXNSVUZCYVVJc1YwRkRXak5DTEVsQlFVODdRVUZCUVN4RlFVTmFOa0lzUlVGQllVUXNUVUZGWWl4TlFVTlNMRU5CUTBFc1NVRkJTWEJETEVWQlFWRkZMRVZCUVUwc1ZVRkJWU3hGUVVGSGJVTXNSVUZCWVVRc1JVRkJWME1zUlVGQllTeEZRVUZKUkN4RFFVRlJMRVZCUXpWRmNFTXNTVUZEUVVVc1JVRkJVVUVzUlVGQlRTeFZRVUZWUml4RlFVRk5MRTFCUVUwc1JVRkRjRU5CTEVWQlFWRkJMRVZCUVUwc1VVRkJVU3hQUVVGUkxFdEJRVXROTEVOQlFVMHNSVUZCUlN4SFFVY3ZReXhKUVVGSlowTXNSMEZCVlZRc1JVRkJWU3hKUVVGTkxFMUJRVkZOTEVWQlJHNUNOMElzUlVGQlV5eEpRVUZOTEVsQlEydERMRWxCUVUxNVFpeEZRVTB4UlN4SFFVeEpVaXhKUVVOQlpTeEhRVUZWTEVsQlFVMVdMRVZCUVdOTUxFVkJRVkVzVVVGQlVTeGhRVUZqTEVkQlFVY3NRMEZCUXl4RlFVTTFSRVVzUjBGRFFVRXNSVUZCVlN4SFFVVmtTU3hGUVVOQkxFOUJRVUV6UWl4RlFVRlJRU3hGUVVGTkxGRkJRVkVzVDBGQlVTeExRVUZMU1N4RFFVRk5MRVZCUVVVc1JVRkRjRU1zUjBGQlIyZERMRU5CUVUwN1FVRkJRU3hGUVVGTGFFTXNRMEZCVFN4SFFVRkhUaXhEUVVGTExFZEJRVWRGTEVOQlFVc3NSMEZCUnl0Q0xFTkJRVWNzUjBGRmNrUXZRaXhGUVVGUlFTeEZRVU5JTEZGQlFWRXNUMEZCVVR0QlFVRkJMRWRCUVUwc1JVRkRkRUlzVVVGQlVTeHBSRUZCYTBRc1RVRkJUU3hGUVVWb1JTeFJRVUZSTEU5QlFWRXNTMEZCUzBrc1EwRkJUU3hGUVVGRkxFVkJRMnhETEVsQlFVMXBReXhGUVVGUE4wSXNSMEZCWXl4SFFVRkhWaXhEUVVGTExFZEJRVWRGTEVOQlFVc3NSMEZCUnl0Q0xFTkJRVWNzUjBGQlNUTkNMRVZCUVZGclF5eEhRVUZaYkVRc1IwRkJaVU1zUlVGQlN5eEZRVUZKTEVOQlFVTXNSVUZEYkVjc1RVRkJUeXhIUVVGSEswTXNRMEZCVFR0QlFVRkJMRVZCUVV0b1F5eERRVUZOTEVkQlFVZHBReXhEUVVGSkxFVkJRM1JETEVOQlEwRXNVMEZCVTBVc1IwRkJXVU1zUlVGQlRXNUVMRVZCUVV0clF5eEZRVUZYUXl4RlFVRmhMRU5CUTNCRUxFZEJRVTBzUTBGQlJTeExRVUZCUml4RlFVRk5MRTFCUVVGMFFpeERRVUZOTEVWQlFVbDNReXhGUVVOc1FpeERRVUZGTEdGQlFVRkRMRVZCUVdNc1dVRkJRWFpETEVWQlFXRXNUMEZCUVVVc1JVRkJVU3hYUVVGQmMwTXNSVUZCV1N4UFFVRkJReXhEUVVGUExFVkJRVWwwUkN4RlFVTnNSU3hIUVVGTFlTeEhRVUZsUml4RlFVRk5MRk5CUVZNN1FVRkJRU3hEUVVGSkxFZEJRMnhETWtNc1IwRkJWU3hYUVVGWExFdEJRVXN6UXl4RFFVRkxMRVZCUTJoRExFOUJRVTloTEVkQlFXRmlMRVZCUVU5WUxFTkJRVWNzUlVGRmJFTXNSMEZCU1N4RFFVRkRWeXhIUVVORUxHOUdRVUZ2Uml4TFFVRkxRU3hEUVVGTExFVkJUemxHTEU5QlFVOUZMRWRCUVdWNVF5eEhRVUZWTEVOQlFVTXpReXhGUVVGTkxGTkJRVk03UVVGQlFTeERRVUZKTEVWQlF6bERZU3hIUVVGaFlpeEZRVUZQV0N4RFFVRkhMRVZCUTNaQ0swSXNSMEZCV1c5Q0xFVkJRVTF1UkN4RlFVRkxhME1zUlVGQlYwTXNRMEZCVnl4RlFVVjJSQ3hIUVVGSkxFTkJRVU4wUWl4SFFVTkVMRU5CUVVONVF5eEhRVU5FY2tJc1NVRkJVMDBzUlVGQlR5eFBRVU5vUWpWQ0xFVkJRVTBzVTBGQlV6dEJRVUZCTEVOQlFVa3NSVUZGYmtJc1QwRkJUMjlDTEVkQlFWbHZRaXhGUVVGTmJrUXNSVUZCUzJ0RExFVkJRVmRETEVOQlFWY3NSVUZGZUVRc1IwRkJTV3BETEVkQlFYVkNVeXhEUVVGTExFVkJRVWNzUTBGREwwSXNSMEZCU1Vrc1NVRkJWeXhIUVVOWUxFOUJRVUZtTEVWQlFVa3NhVUpCUVcxQ0xFZEJRMmhDSzBJc1IwRkJXVzlDTEVWQlFVMXVSQ3hGUVVGTGEwTXNSVUZCVjBNc1EwRkJWeXhGUVVWdVJDeEhRVUZKZEVJc1IwRkJaVVVzU1VGQlYzTkRMRVZCUXk5Q0xFOUJRVTgzUWl4SFFVRmhZaXhGUVVGUFdDeERRVUZITEVOQlJYUkRMRU5CUTBFc1NVRkJUVWNzUlVGQlRWRXNSVUZCVFN4UlFVRlJMRTlCUVZFN1FVRkJRU3hGUVVGUFNTeERRVUZOTEVWQlFVVXNSVUZKYWtRc1IwRkJTWEZETEVWQlFXTXNRMEZEWkN4SlFVRk5SeXhGUVVGUlF5eEhRVUZMTEVOQmRsSXpRaXhKUVVGQlF5eEZRWFZTT0VJc1QwRkJRVVFzUlVGQlNTeFRRVUZYUVN4RlFVRkpMRTFCUVZFc01rSkJRVEpDUXl4RlFVRkJSQ3hGUVVGSkxFOUJRVW9zV1VGQlFVTXNSVUZCVlN4TFFVRkxkRVFzUzBGRGNrWXNRMEZCUlN4UFFVRkJkVVFzUlVGQlVTeExRVUZCUXl4RFFVRkxMRVZCUVVrelJDeEZRVUZKTEVsQlFVa3NUMEZEYWtNc1IwRkJTVEpFTEVWQlFVc3NTMEZCUzBvc1EwRkJTU3hIUVVGTFJ5eEhRVUZCTEUxQlFVRkJMRVZCUVZFc1MwRkJTMGdzUjBGRGFFTXNUMEZCVHk5Q0xFZEJRV0ZpTEVWQlFVOVlMRU5CUVVjc1EwRkRkRU1zUTBGRFFTeFBRVUZQWVN4RlFVTkVWaXhGUVVOQlowSXNSMEZCWTJoQ0xFVkJRVXRaTEVWQlFWRlJMRWRCUVZkNFFpeEhRVUZsUXl4RlFVRkxMRVZCUVVzc1EwRkJReXhEUVVNeFJTeERRVU5CTEZOQlFWTTBSQ3hIUVVGblFsUXNSVUZCVFc1RUxFVkJRVXRyUXl4RlFVRlhReXhGUVVGaExFTkJRM2hFTEVkQlFVMHNRMEZCUlN4WlFVRkJkRUlzUlVGQllTeFBRVUZCZVVNc1EwRkJUeXhGUVVGSmRFUXNSVUZETVVJMlJDeEZRVUZMTEU5QlFVOVdMRVZCUVVzc1QwRkJWU3hUUVVNelFrRXNSVUZEUVN4UFFVRlBMRTlCUVU4c1EwRkJReXhGUVVGSFFTeEZRVUZOTEVOQlFVVXNUVUZCVHl4UFFVRlBRU3hGUVVGTExFdEJRVXNzUTBGQlJTeERRVUZETEVWQlEzWkVMRU5CUVVVc1MwRkJRV3hDTEVOQlFVc3NSVUZCU1d0Q0xFVkJRMWhzUWl4SlFVRlRUU3hGUVVGUExHTkJSVm9zYTBSQlFXdEVMRXRCUVV0elFpeEZRVUZITEV0QlFVc3NTVUZETDBRMVFpeEZRVUZQVFN4RlFVRlBMR05CUlhSQ0xFbEJRVTExUWl4RlFVRmpReXhIUVVGVkxFTkJRekZDTEU5QlFWRkJMRVZCUVU4c1EwRkRXQ3hMUVVGTGVFSXNSVUZCVHl4aFFVTmFMRXRCUVV0QkxFVkJRVThzWTBGRFVpeFBRVUZQTVVJc1IwRkJaWGxETEVWQlEyaENPVUlzUjBGQllYRkRMRVZCUVVjc1RVRkJUemRFTEVOQlFVY3NSVUZETVVJclFpeEhRVUZaT0VJc1JVRkJTVGRFTEVWQlFVdHJReXhGUVVGWFF5eERRVUZYTEVWQlEzSkVMRXRCUVV0SkxFVkJRVThzWVVGRFVpeFBRVUZQTjBJc1IwRkJiVUp0UkN4RlFVRkhMRTFCUVU4M1JDeERRVUZITEVWQlF6TkRMRXRCUVV0MVF5eEZRVUZQTEdGQlExSXNUMEZCVDJ4Q0xFZEJRVzFDZDBNc1JVRkJSeXhOUVVGUE4wUXNRMEZCUnl4RlFVTXpReXhMUVVGTGRVTXNSVUZCVHl4TlFVTlNMRTlCUVU5WExFZEJRVmxYTEVWQlFVazNSQ3hGUVVGTGEwTXNSVUZCVjBNc1EwRkJWeXhGUVVOMFJDeFJRVU5KTEU5QlFVOHNTVUZEWml4RFFVTktMRVZCUTBsaUxFVkJRVTEzUXl4RlFVRlhOMElzUTBGQlNTeEZRVU42UWl4SFFVRkpXQ3hKUVVGUkxFdEJRVTBzUTBGRFpDeEhRVUZOTEVOQlFVVXNaVUZCUVRCRExFVkJRV2RDTEd0Q1FVRkJReXhEUVVGclFpeEZRVUZKYWtVc1JVRkJTU3hSUVVNMVEydEZMRVZCUVV0eVJDeEhRVUZsYlVRc1IwRkJiVUpETEVWQlJUZERMRWRCUkVFelF5eEZRVUZOZDBNc1JVRkJWMGtzUTBGQlF5eEZRVU5rTlVNc1NVRkJVU3hMUVVOU0xFMUJRVTBzU1VGQlNTeE5RVUZOTEcxRFFVRnRRelJETEVOQlFVTXNSVUZCUlN4RFFVTTVSQ3hEUVVOQkxFOUJRVTgxUXl4RFFVTllMRU5EYUZWQkxGTkJRVk0yUXl4SFFVRjFRa01zUlVGQlMwTXNSVUZCVXl4RFFVTXhReXhKUVVGTlF5eEZRVUZOTEU5QlFVOHNUMEZCVHl4RFFVTjBRaXhYUVVGWkxFZEJRMW9zWTBGQlpVTXNSMEZEWml4bFFVRm5RaXhMUVVOb1FpeHJRa0ZCYlVJc1VVRkRia0lzVjBGQldTeExRVU5hTEcxQ1FVRnZRaXhIUVVOd1Fpd3JRa0ZCWjBNc1IwRkRhRU1zVTBGQlZTeFJRVU5XTEhOQ1FVRjFRaXhIUVVOMlFpeFZRVUZYTEVkQlExZ3NWVUZCVnl4SFFVTllMR2RDUVVGcFFpeEhRVU5xUWl4UlFVRlRMRTlCUTFRc1YwRkJXU3hIUVVOYUxGbEJRV0VzUzBGRFlpeFJRVUZUTEU5QlExUXNhVUpCUVd0Q0xFVkJRM1JDTEVWQlFVZElMRVZCUVVrc1QwRkJUeXhuUWtGQmFVSkRMRU5CUVU4c1JVRkRiRU5ITEVWQlEwb3NUMEZCVVVZc1JVRkJTU3huUWtGQmFVSXNRMEZEZWtJc1NVRkJTeXhSUVVORVJTeEZRVUZUTEVkQlExUXNUVUZEU2l4SlFVRkxMRTlCUTBSQkxFVkJRVk1zUjBGRFZDeE5RVU5LTEZGQlEwbEJMRVZCUVZNc1NVRkRha0lzUTBGRFFTeE5RVUZQTEVOQlEwZ3NVVUZCVXl4SlFVRkpMRWxCUTJJc1NVRkJRVW9zUlVGRFFTeHpRa0ZCZFVKRkxFVkJRVWtzYzBKQlFYZENMRWxCUVUwc1IwRkRla1FzVDBGQlVTeEhRVU5TTEZkQlFWa3NUMEZCVDBFc1JVRkJTU3hSUVVGWExGTkJRVmNzU1VGQlNTeFBRVUZQUVN4RlFVRkpMRTFCUVUwc1JVRkJTU3hMUVVOMFJTeFBRVUZCUlN4RlFVTkJMRkZCUVZOR0xFTkJRMklzUTBGRFNpeERRVU5CTEZOQlFWTkhMRWRCUVdGRExFVkJRVTFETEVWQlFVMHNRMEU1UTJ4RExFbEJRVUZETEVWQlFVRkRMRVZCUVVGRExFVkJRVUZETEVWQkswTkpMRWRCUVVsS0xFVkJRVXNzU1VGQlN5eERRVU5XTEVsQlFVMUxMRVZCUVZGT0xFVkJRVXNzVDBGQlQwOHNSMEZCUzBFc1JVRkJSU3hOUVVGUlRpeEZRVUZMTEVkQlFVY3NSVUZEYWtRc1IwRkJTVXNzUlVGQlRTeFBRVUZUTEVWQlEyWXNUMEZCVDBvc1JVRkJRVWtzUlVGQlRTeExRVUZMUXl4SFFVRkxRU3hGUVVGRkxGTkJRVmRPTEVWQlFVc3NUVUZCVFN4SlFVRjRReXhMUVVGQlF5eEZRVUUyUTBrc1JVRkJUU3hEUVVGRExFTkJRMjVGTEVOQlEwRXNTVUZCU1VVc1JVRkRRVU1zUlVGRFNpeEhRVUZKUXl4RlFVRlRWQ3hEUVVGSkxFVkJRVWNzUTBGRGFFSlJMRVZCUVUxU0xFVkJRVXNzVFVGRFdDeEpRVUZKU3l4RlFVRlJUaXhGUVVGTExFOUJRVTlQTEVkQlFVVXNRMEY0Ukd4RExFbEJRVUZNTEVWQmQwUnhReXhQUVVGQlFTeEZRVUZCU3l4RlFVRkZMRmRCUVVZc1dVRkJRVXdzUlVGQlFTeExRVUZCU3l4RlFVRmhSU3hIUVVGSkxFVkJRemxETEVkQlFVbElMRVZCUVUwc1QwRkJVeXhGUVVGSExFTkJRMnhDTEVsQlFVMUxMRVZCUVZsTUxFVkJRVTBzVDBGQlQwTXNSMEZCUzBFc1JVRkJSU3hKUVVGSkxFVkJRM1JEU1N4RlFVRlZMRTlCUVZNc1NVRkRia0pNTEVWQlFWRkxMRVZCUTJoQ0xFTkJRMEZJTEVkQlEwbE1MRVZCUVVGSExFVkJRVTBzUzBGQlMwTXNSMEZCUzBFc1JVRkJSU3hUUVVGWFRpeEZRVUZMTEUxQlFVMHNTVUZCZUVNc1MwRkJRVVVzUlVGQk5rTkhMRVZCUVUwc1MwRkJTME1zUjBGQlN5eERRVUZEUVN4RlFVRkZMRTFCUVUwc1EwRkRPVVVzVFVGRlNVVXNSVUZCVFZJc1JVRkRUazhzUlVGQlUxSXNSVUZCU3l4TFFVRkxUeXhIUVVGTFFTeEZRVUZGTEZkQlFXRkZMR0ZCUVdWR0xFVkJRVVVzVTBGQlV5eEZRVVZ5UlN4SFFVRkpMRU5CUVVORExFVkJRVkVzUTBGRFZDeEpRVUZOU1N4SFFVRlBVQ3hIUVVGQlJDeEZRVUZCU3l4SFFVRkJMRmxCUVVGQkxFVkJRVXNzWTBGQlRDeFpRVUZCVEN4RlFVRnJRaXhQUVVGc1FpeExRVUZCUXl4RlFVRXdRaXhQUVVGUFNTeEZRVU01UXl4TlFVRk5MRWxCUVVrc1RVRkJUU3gzUWtGQmQwSkhMRU5CUVVrc1VVRkJVU3hEUVVONFJDeERRVU5CTEU5QlFVOUtMRU5CUTFnc1EwRkZRU3hUUVVGVFN5eEhRVUZsUXl4RlFVRk5UaXhGUVVGUkxFTkJRVVVzVVVGQlFVOHNSVUZCVXl4SlFVRkJja0lzUTBGQlNTeEZRVUZITEVOQlEzQkVMRWRCUVVrc1EwRkJRMEVzUlVGQlNTeFhRVU5NTEUxQlFVOHNSMEZEV0N4SlFVRk5jMElzUlVGQlVTeERRVUZETEVWQlExUkRMRWRCUVZWUUxFVkJRVk5KTEVOQlFVa3NSMEZCUzBrc1JVRkJZVW9zUTBGQlNTeEpRVUZOUVN4RlFVRkxMRTlCUXpGRVJ5eEhRVUZWUlN4SFFVRmpSaXhEUVVGTkxFbEJRemxDUml4RlFVRlJMRWxCUVVsRkxFTkJRVTBzUlVGRGJFSkVMRVZCUVUwc1MwRkJTeXhKUVVGSlF5eERRVUZOTEVWQlFVVXNSMEZGTTBJc1NVRkJUVWNzUlVGQlRVNHNSVUZCU3l4SlFVRk5RU3hGUVVGTExFbEJRVTFPTEVWQlFVOHNVVUZCVlN4TFFVRlBRU3hGUVVGUExFbEJRMnBGTEU5QlFVbFpMRWRCUTBGS0xFVkJRVTBzUzBGQlMzUkNMRVZCUVVrc1YwRkJWeXhWUVVGVk1FSXNRMEZCUnl4RFFVRkRMRVZCUTNKRFNpeEZRVUZOTEV0QlFVc3NSMEZCUnl4RFFVTjZRaXhEUVVOQkxGTkJRVk5MTEVkQlFWVndRaXhGUVVGTmNVSXNSVUZCUzBNc1JVRkJWME1zUlVGQllTeERRVEZHZEVRc1NVRkJRWFJDTEVWQlFVRkRMRVZCTWtaSkxFZEJRVWx6UWl4RlFVRlBlRUlzUTBGQlNTeEZRVU5ZTEU5QlFVOUJMRVZCUVVzc1UwRkJVM0ZDTEVWQlFVdERMRVZCUVZkRExFTkJRVmNzUlVGRGNFUXNSMEZCU1VVc1IwRkJVWHBDTEVOQlFVa3NSVUZCUnl4RFFVTm1MRWRCUVVseFFpeEZRVUZKTEVsQlFVa3NWMEZEVWl4UFFVRlBja0lzUlVGQlN5eFRRVUZUY1VJc1EwRkJSeXhGUVVNMVFpeEpRVUZKY0VJc1JVRkJRVzlDTEVWQlFVa3NhMEpCUVVvc1RVRkJRWEJDTEVWQlFYRkNMRWxCUVVsRUxFZEJRM3BDTEUxQlFVMHNTVUZCU1N4VlFVRlZMSGxFUVVGNVJDeEZRVWQ2UlhGQ0xFVkJRVWtzWjBKQlEwcEJMRVZCUVVrc1owSkJRV2RDTEVsQlFVbHlRaXhEUVVGSkxFVkJSVFZDY1VJc1JVRkJTU3huUWtGQmEwSXNTVUZCU1N4SlFVRkpMRU5CUVVOeVFpeERRVUZKTEVOQlFVTXNSVUZEZUVOQkxFVkJRVTlCTEVWQlFVc3NVVUZCVVhGQ0xFVkJRVWtzUjBGQlJ5eERRVVZ1UXl4RFFVTkJMRWxCUVVsa0xFVkJRMFZOTEVWQlFVOWhMRVZCUVU4eFFpeERRVUZKTEVWQlEyeENRU3hGUVVOQmNVSXNSVUZCU1N4SlFVRkpMRmRCUVZkeVFpeEZRVUZOTEVOQlFVVXNVMEZCVlRKQ0xFZEJRVTF3UWl4RlFVRlRiMElzUTBGQlJ5eERRVUZETEVWQlEzcEVjRUlzU1VGRFJFRXNSVUZCVTFRc1IwRkJZWFZDTEVWQlFVa3NTVUZCU1N4UFFVRlBMRXRCUVUxU0xFTkJRVWtzUjBGRGJrUXNTVUZCVFVVc1JVRkJVVWdzUjBGQlpVTXNSVUZCVFU0c1JVRkJVV01zUTBGQlJ5eEZRVU14UTA0c1JVRkJUU3hQUVVGVExFbEJRMlpOTEVWQlFVa3NaMEpCUVdsQ2JrSXNSVUZCUVcxQ0xFVkJRVWtzWjBKQlFVb3NTMEZCUVc1Q0xFVkJRWEZDTEVkQlFVdGhMRVZCUVUwc1QwRkJVeXhIUVVOc1JTeEpRVUZOWVN4RlFVRk5MRTlCUVU5eVFpeEZRVUZQTEZkQlFXTXNWMEZEYkVOQkxFVkJRVThzVlVGQlZVMHNSVUZCVFZFc1JVRkJTME1zUlVGQlYwTXNRMEZCVnl4RlFVTnNSR1FzUlVGQlUwa3NRMEZCU1N4RlFVTlVaMElzUjBGQlowSm9RaXhGUVVGTlVTeEZRVUZMUXl4RlFVRlhReXhEUVVGWExFVkJRMnBFVml4RlFVRkxMRk5CUVZOUkxFVkJRVXRETEVWQlFWZERMRU5CUVZjc1JVRkRia1FzVDBGQlMxSXNSVUZGUlU0c1JVRkJVMGtzUTBGQlNTeEhRVUZMWlN4RlFVRkpMRU5CUVVNc1NVRkJUU3hMUVVGUFFTeEZRVUZKTEVOQlFVTXNTVUZCVFN4SlFVTm9SQ3hIUVVGSFlpeERRVUZMTEVsQlFVbGhMRU5CUVVjc1IwRkRaaXhIUVVGSFlpeERRVUZMTzBGQlFVRXNSVUZCUzAwc1JVRkJTU3hOUVVGTkxFZEJRVWRQTEVOQlFVY3NSMEZJZUVKQkxFTkJTV1lzUTBONlNFRXNVMEZCVTBVc1IwRkJZeXhEUVVGRkxFbEJRVUZETEVWQlFVc3NUVUZCUVVNc1EwRkJUU3hGUVVGSFF5eEZRVUZMUXl4RlFVRlhReXhGUVVGaExFTkJUSEJGTEVsQlFVRkRMRVZCUVVGRExFVkJUVWtzUjBGQlRTeERRVUZGTEdOQlFVRkRMRVZCUVdVc1NVRkJRVU1zUlVGQlN5eFBRVUZCUXl4RlFVRlJMRmRCUVVGRExFVkJRVmtzVVVGQlV5eERRVUZGTEdOQlFVRkRMRVZCUVdVc1ZVRkJRVU1zUlVGQlZ5eFhRVUZCUXl4RFFVRlhMRU5CUVVVc1JVRkJTVmdzUlVGRGJFZFpMRVZCUVdORExFVkJRVTltTEVOQlFVY3NSMEZCUzBFc1JVRkJTU3hUUVVGWkxFdEJRMnBFTEVkQlFVbGhMRVZCUVZrc1EwRkRXaXhIUVVGSlF5eEZRVU5CTEUxQlFVMHNTVUZCU1N4TlFVRk5MR3RFUVVGclJDeEZRVVYwUlN4SFFVRkpSU3hGUVVGaGFFSXNRMEZCUnl4SFFVRk5MRU5CUVVObExFVkJRVTltTEVOQlFVY3NSMEZCU3l4UFFVRlBRU3hIUVVGUkxGTkJRVmNzUTBGRGFFVXNTVUZCVFdsQ0xFVkJRVTBzTmtSQlExb3NUVUZCVFN4SlFVRkpMRTFCUVUxQkxFTkJRVWNzUTBGRGRrSXNRMEZEU2l4RFFVTkJMRWxCUVVsRExFVkJRV01zUTBGQlEwd3NTVUZEWkN4RFFVRkRZaXhIUVVOSFl5eEhRVUZqWWl4SFFVRlRMRTFCUVZFc1EwRkJRME1zUlVGQlNTeFJRVU55UTJNc1JVRkJZV2hDTEVOQlFVY3NTVUZEWm0xQ0xFVkJRVk51UWl4RFFVRkhMRVZCUTFCQkxFVkJRVWtzVDBGQlUyOUNMRVZCUVU4c1kwRkJaMEp3UWl4RlFVRkpMRTlCUVZOdlFpeEZRVUZQTEdOQlEzaEVMRTlCUVU5d1FpeEhRVUZSTEZkQlF6ZENSU3hGUVVGTkxFOUJRVThzVDBGQlR5eERRVUZETEVWQlFVZEJMRVZCUVVzc1EwRkRla0lzWTBGQlpTeEhRVU5tTEZsQlFXRXNRMEZCUTJkQ0xFbEJRV2RDVEN4SFFVRmpMRU5CUVVOT0xFZEJRemRETEU5QlFWRkZMRVZCUVZORExFTkJRM0pDTEVOQlFVTXNSVUZEUkN4SlFVRkpWeXhGUVVGcFFpeEhRVU5xUWtNc1JVRkJXU3hIUVVOYVF5eEZRVUZOUXl4SFFVRlZlRUlzUlVGQlMwVXNSVUZCU3l4SlFVRlBiVUlzUlVGQmFVSXNSMEZCVHl4SlFVRlBReXhGUVVGWkxFVkJRVXNzUlVGRGNrWXNSMEZCU1N4RFFVRkRTaXhIUVVGbExFTkJRVU5vUWl4RlFVRkpMRkZCUVZWeFFpeEZRVUZKTEU5QlFWTXNTMEZCVFN4RFFVTnNSQ3hIUVVGSlZpeEZRVU5CTEUxQlFVMHNTVUZCU1N4TlFVRk5MRGhGUVVFNFJTeEZRVU5zUjBzc1JVRkJZeXhGUVVOc1FpeERRVU5CTEVkQlFVbG9RaXhGUVVGSkxGRkJRMG9zUjBGQlNVc3NSMEZCYVVKT0xFZEJRVk1zUzBGRE1VSXNUMEZCU1c5Q0xFZEJRV3RDYkVJc1IwRkRiRUpCTEVWQlFWVXNSVUZEVUc5Q0xFbEJRVkVzUjBGQlN5eEpRVUZOVEN4RlFVRmpMRXRCUVV0TExFTkJRVWNzUjBGQlMwRXNWVUZIYmtSb1FpeEhRVUZwUWl4RFFVRkRUU3hIUVVGblFsb3NSMEZCVXl4TlFVRlJhVUlzUlVGRGVrUXNUMEZCUVVzc1JVRkJUU3hMUVVGTFFTeERRVUZITEVkQlExWlVMRWRCUVdNc1EwRkJRMDhzUlVGRFprVXNSMEZCVDBVc1IwRkJXVVlzUlVGQlMzSkNMRVZCUVVrc1QwRkJVVk1zUlVGQlkwY3NRMEZCVlN4RFFVRkRMRVZCUlhoRVVTeEhRVUZoYkVJc1IwRkRiRUpCTEVWQlFWa3NSVUZEVkcxQ0xFVkJSVkJHTEVsQlEwRlFMRVZCUVdFc1RVRkRZa2tzUjBGRFNVb3NTVUZEUVZNc1IwRkJUMFVzUjBGQldVWXNSVUZCUzNKQ0xFVkJRVWtzVDBGQlVWTXNSVUZCWTBjc1EwRkJWU3hEUVVGRExFZEJRMnBGVXl4RlFVRk5MRXRCUVV0QkxFTkJRVWM3UVVGQlFTeEZRVUZMWkN4RFFVRk5MRTFCUjNwQ1l5eEZRVUZOTEVkQlFVZEJMRU5CUVVjc1NVRkRVbFFzU1VGRFFWTXNSMEZCVDBVc1IwRkJXVVlzUlVGQlMzSkNMRVZCUVVrc1QwRkJVVk1zUlVGQlkwY3NRMEZCVlN4RFFVRkRMRWxCUlhKRkxFbEJRVWxaTEVWQlFVdERMRVZCUVV0RExFVkJRMVppTEVWQlFVOWtMRU5CUVVzc1IwRkRXbmxDTEVWQlFVMHNRMEZCUXl4RFFVRkRla0lzUlVGQlRTeFpRVU5rTUVJc1JVRkJUVEZDTEVWQlFVMHNZMEZEV2pKQ0xFVkJRV1V6UWl4RlFVRk5MRlZCUjNKQ2VVSXNSVUZCVFN4SFFVTk9ReXhGUVVGTkxFdEJRMDVETEVWQlFXVXNTMEZEV0ROQ0xFZEJRVk1zVDBGQlQwRXNSMEZCVlN4WFFVTXhRa0VzUlVGQlVVOHNSVUZCU1N4WFFVRlhVQ3hEUVVGTExFbEJSWEJEUXl4RlFVRkpMRmxCUVdNc1IwRkRaQ3hEUVVGRFowSXNSMEZCWlN4RFFVRkRTaXhIUVVGalN5eEZRVUZUYkVJc1EwRkJTeXhKUVVNM1EwTXNSVUZCU1N4alFVRm5RbkZDTEVWQlFVa3NUMEZCVXl4SFFVTnlRMFFzUlVGQldTeEhRVU5TTEVOQlFVTldMRWRCUTBSR0xFVkJRVmNzVVVGQlZTeEhRVU55UWl4RFFVRkRVaXhGUVVGSkxGRkJRMHdzUTBGQlEyZENMRWRCUTBSWExFZEJRVTAxUWl4RFFVRkxMRWRCUTFnc1EwRkJRMEVzUlVGQlRTeE5RVU5RTEVOQlFVTkJMRVZCUVUwc1MwRkRVQ3hEUVVGRFFTeEZRVUZOTEZOQlJWQkRMRVZCUVVrc1QwRkJVMEVzUlVGQlNTeFBRVUZQTEZWQlFWVXNRMEZCUXl4SFFVVjJReXhKUVVGSk5FSXNSVUZCYlVJc1IwRkRha0pETEVWQlFWZFFMRWRCUVZWMlFpeEZRVUZQUXl4RlFVRkxMRWxCUVU4MFFpeEZRVUZ0UWl4SFFVRlBMRWxCUVU5U0xFVkJRVmtzUlVGQlN5eEZRVU0xUmxVc1JVRkJTeXhKUVVOVUxFZEJRVWxzUWl4SFFVRmpXU3hIUVVGUFF5eEZRVUZMTEVOQlJURkNMRWRCUkVGTExFVkJRVXRPTEVWQlFVMDdRVUZCUVN4RlFVRlBMRWRCUTJSRExFVkJRVXNzUTBGRFRDeEpRVUZOVFN4RlFVRkxkRUlzUlVGQlkyZENMRU5CUVVjc1JVRkROVUpMTEVkQlFVMDdRVUZCUVN4RlFVRkxSU3hIUVVGalJDeEZRVUZKTDBJc1JVRkJTU3hOUVVGTkxFTkJRVU1zUlVGRE5VTXNRMEZEU1RaQ0xFbEJRV0VzU1VGQlRTeERRVUZETjBJc1JVRkJTU3hQUVVOd1FqaENMRWxCUVU4N1FVRkJRU3hKUVVOUVFTeEZRVUZMTzBGQlFVRTdRVUZCUVN4SFFVZFVRU3hIUVVGTk8wRkJRVUVzUlVGQlN6bENMRVZCUVVrc1RVRkJUU3hGUVVVM1FpeFRRVU5UTEVOQlFVTm5RaXhIUVVGbFJpeEZRVUZoWml4RFFVRkxMRVZCUVVjc1EwRkRNVU1zU1VGQlRXdERMRVZCUVUxS0xFVkJRVk1zUTBGQlF5eEZRVU5vUWtzc1JVRkJUVXdzUlVGQlV5eFJRVUZSTzBGQlFVRXNRMEZCU1N4RlFVTXpRazBzUlVGQllVUXNTVUZCVVN4SFFVTnlRa1VzU1VGQlQyaERMRWRCUVVGRUxFVkJRVUZJTEVWQlFVa3NVMEZCU2l4TFFVRkJSeXhGUVVGalNpeEZRVUZOTEU5QlFYQkNMRXRCUVVGTExFVkJRVFJDVEN4RlFVRk5MRTFCUVUwc1UwRkJWeXhGUVVOb1JTeEhRVUZKYjBNc1IwRkJZeXhEUVVGRFF5eEhRVUZOTEVOQlEzSkNMRWxCUVVsRExFZEJRV1VzUjBGRGJrSXNSMEZCU1VZc1NVRkJaVVlzU1VGQlVTeExRVUZQUVN4SlFVRlJMRXRCUVUwc1EwRkROVU1zU1VGQlNVc3NSVUZCVFZRc1JVRkJVeXhSUVVGUkxFZEJRVWNzUlVGRE1VSkpMRWxCUVZFc1MwRkRVa3NzU1VGQlVTeEpRVU5TUVN4RlFVRk5TaXhIUVVOT1RDeEZRVUZUVXl4RlFVRk5MRU5CUVVNc1NVRkJUU3hOUVVOMFFrRXNSVUZCVFZRc1JVRkJVeXhSUVVGUkxFbEJRVXRUTEVWQlFVMHNRMEZCUXl4SlFVVnVRMEVzU1VGQlVTeEpRVUZOU2l4RlFVRk5TU3hMUVVOd1FrUXNSMEZCWlN4SFFVTjJRaXhEUVVOTFFTeExRVU5FVUN4RlFVRkxPMEZCUVVFc1JVRkJTemxDTEVWQlFVa3NUVUZCVFN4SFFVTTFRaXhEUVVOS0xFMUJRMU0yUWl4SlFVRmhMRWxCUVUxQkxFVkJRVk1zUTBGQlF5eEpRVUZOTzBGQlFVRXNTMEZEZUVORExFVkJRVXNzU1VGRlZDeFBRVUZCVkN4SFFVRlBVeXhGUVVGTFJDeEZRVU5TTjBJc1JVRkJTU3hQUVVOQk5FSXNSMEZCYjBJelFpeEhRVU53UWtFc1JVRkJWU3hGUVVWVWVVSXNSMEZCWjBJc1EwRkJRMFVzUlVGRGRFSlFMRWRCUVU5RkxFZEJRVmxHTEVWQlFVdHlRaXhGUVVGSkxFOUJRVkZUTEVWQlFXTnBRaXhEUVVGWkxFTkJRVU1zUlVGRk1VUk9MRWRCUVdGc1FpeEhRVU5zUWtFc1JVRkJXU3hGUVVWVWJVSXNRMEZEV0N4RFF5OUpRU3hUUVVGVGEwSXNSMEZCUzBNc1JVRkJWVU1zUlVGQlV5eEZRVU42UWtRc1NVRkJZU3hUUVVGWFFTeEpRVUZoTEZWQlEycERMRTlCUVU4c1UwRkJXU3hoUVVGbExGRkJRVkVzV1VGRE1VTXNVVUZCVVN4WlFVRlpReXhEUVVGUExFVkJSVE5DTEZGQlFWRXNTMEZCUzBFc1EwRkJUeXhGUVVWb1F5eERRMFJCTEVsQlFVMURMRWRCUVZrc1MwRkRXa01zUjBGQlVTeERRVU5XTEZOQlFWVkRMRWRCUVZOQkxFbEJRVlZHTEVsQlEzaENMRTlCUVU5RkxFZEJRVlVzVlVGQldVRXNSVUZCVFN4alFVRm5Ra1lzUjBGRGVFUXNVVUZCVXl4TlFVTlVMRWxCUVVzc01FSkJRMHdzUzBGQlRTeFBRVU5PTEZGQlFWTXNTVUZCVFN4UFFVRlBMRTlCUVU4c1NVRkJTVWNzUlVGQlR5eFBRVUZQU0N4RlFVRlRMRU5CUVVNc1JVRkJSeXhEUVVONFJDeFhRVUZaU1N4RlFVTm9RaXhEUVVGRExFVkJRMFFzVlVGQlZ5eEpRVUZOU2l4RlFVTnlRaXhGUVVOTlN5eEhRVUZoTEVOQlFVTkRMRVZCUVV0RExFdEJRVk5PTEVkQlFVMHNVMEZCVTAwc1EwRkJSeXhIUVVNdlEwTXNSVUZCVTBRc1EwRkJSeXhKUVVOU0xFTkJRVU5CTEVWQlFVa3NUVUZCVVVFc1JVRkJTU3hQUVVGVFNpeEZRVUZQTEZGQlEyeERSaXhIUVVGTkxGTkJRVk5OTEVWQlFVa3NTMEZCU3l4TFFVTTFRa1FzUjBGQlFTeFpRVUZCUVN4RlFVRkxMRWxCUVVrc1QwRkJUeXhMUVVGTExFdEJRVXRITEVkQlFVOUJMRVZCUVVrc1RVRkJVVklzUjBGQlRTeExRVUZQVVN4RlFVRkpMRlZCUTJ4RkxGTkJRVk5NTEVkQlFXZENSU3hGUVVGTFNTeEZRVUZMVWl4RlFVRlBMRU5CUlhSRExFZEJSRUZCTEVWQlFWRkpMRWRCUVU5TExFZEJRVkZVTEVOQlFVc3NSVUZCU1VFc1JVRkJUU3hSUVVGUlNTeEZRVUZKTEVkQlFVY3NSVUZCU1Vvc1JVRkRja1JWTEVkQlFVMVdMRU5CUVVzc1JVRkRXQ3hSUVVGWFZ5eExRVUZOV0N4RlFVRk5MRTFCUTI1Q1dTeEhRVUZYVWl4RlFVRkxTU3hGUVVGTFJ5eERRVUZGTEZWQlEzUkNMRTFCUVUwc1VVRkJVVmdzUTBGQlN5eEZRVU40UWl4UlFVRlhWeXhMUVVGTldDeEZRVU5pV1N4SFFVRlhVaXhGUVVGTFNTeEZRVUZMUnl4RFFVRkZMRTlCUlROQ1F5eEhRVUZYVWl4RlFVRkxTU3hGUVVGTFVpeERRVUZMTEVOQlEyeERMRU5CUTBFc1UwRkJVMWtzUjBGQlYxSXNSVUZCUzBrc1JVRkJTMUlzUlVGQlR5eERRVU5xUXl4SlFVRk5ZU3hGUVVGVFZDeEhRVUZQU3l4SFFVRlJWQ3hEUVVGTExFVkJRVWxCTEVWQlFVMHNVVUZCVVVrc1JVRkJTU3hIUVVGSExFVkJRVWxLTEVWQlEyaEZMRWRCUVVrc1EwRkJRMk1zUjBGQlRVUXNRMEZCVFN4RlFVTmlMRTFCUVUwc1NVRkJTU3hOUVVGTkxESkRRVUV5UXl4RlFVTXZSQ3hKUVVGTlJTeEZRVUZUUml4RlFVRlBMRTlCUVU4c1MwRkJUVlFzUlVGQlN5eEhRVUZITEVWQlF6TkRMRTlCUVZjc1EwRkJRME1zUlVGQlMwd3NRMEZCU3l4SlFVRkxaU3hGUVVOdVFsQXNZVUZCWlN4SlFVTldRU3hGUVVGSkxFbEJRVWxJTEVOQlFVY3NSMEZEV2tjc1JVRkJTU3hKUVVGSlNDeEZRVUZMVEN4RFFVRkxMRVZCUldwQ1VTeGhRVUZsTEVsQlEzQkNRU3hGUVVGSkxFbEJRVWxJTEVOQlFVY3NSVUZGVEN4UFFVRlBMRlZCUVZVc1pVRkJaU3hMUVVGTFJ5eEZRVUZMU0N4RFFVRkhMRWRCUTI1RUxFOUJRVThzWlVGQlpVY3NSVUZCUzBnc1JVRkJTeXhEUVVNMVFpeE5RVUZCVEN4RlFVTkJMRk5CUVZVc1IwRkRWaXhYUVVGWkxFZEJRMW9zWVVGQll5eEZRVU5zUWl4RFFVRkRMRVZCUjFRc1QwRkJUMUVzUTBGRFdDeERRM1pFUVN4VFFVRlRVU3hIUVVGbFF5eEZRVUZMUXl4RlFVRkxMRU5CUVVVc1NVRkJRVU1zUlVGQlN5eE5RVUZCUXl4RFFVRk5MRVZCUVVjc1EwRkRPVU1zUjBGQlNVTXNSVUZCVDBZc1EwRkJSeXhIUVVGTFFTeEZRVUZKTEZkQlEyNUNRU3hGUVVGSkxGZEJRVmRHTEVWQlFVdERMRVZCUVV0RkxFTkJRVXNzVlVGRmVrSkZMRWRCUVZkTUxFVkJRVXRGTEVOQlFVY3NSVUZEZUVKSkxFZEJRV2RDVGl4RlFVRkxReXhGUVVGTFJTeERRVUZMTEUxQlF6bENMRU5CUTBRc1NVRkJUVWtzUlVGQlVVTXNSMEZCUzA0c1JVRkJTeXhIUVVGSlJpeERRVUZITEVWQlF5OUNMRWRCUVVsRExHRkJRV1VzU1VGRFprRXNSVUZCU1N4SlFVRkpUU3hGUVVGUFF5eEhRVUZMVEN4RlFVRlBTU3hGUVVGUFVDeERRVUZITEVOQlFVTXNWVUZGYWtORExHRkJRV1VzU1VGRGNFSkJMRVZCUVVrc1NVRkJTVTBzUTBGQlN5eE5RVVZhTEVOQlEwUXNTVUZCVFVVc1JVRkJXVU1zUjBGQllWSXNSVUZCUzBzc1JVRkJUMUFzUTBGQlJ5eEZRVU40UTFjc1JVRkJWVWdzUjBGQlMwd3NSVUZCVDAwc1JVRkJWMVFzUTBGQlJ5eEZRVU4wUTFNc1MwRkJZVklzUlVGRFlpeFBRVUZQTEdWQlFXVkJMRVZCUVV0UkxFVkJRVmNzUTBGRGJFTXNUVUZCVDBVc1JVRkRVQ3hUUVVGVkxFZEJRMVlzVjBGQldTeEhRVU5hTEdGQlFXTXNSVUZEYkVJc1EwRkJReXhGUVVWRVZpeEZRVUZKVVN4RFFVRlRMRVZCUVVsRkxFTkJRM3BDTEVOQlEwb3NRMEZEUVN4UFFVRlBWaXhEUVVOWUxFTkJRMEVzVTBGQlUxTXNSMEZCWVZJc1JVRkJTMHNzUlVGQlQxQXNSVUZCU3l4RFFVTnVReXhIUVVGSlR5eEpRVUZWTEV0QlExWXNUVUZCVHl4SFFVTllMRWRCUVVrc1QwRkJUMEVzUjBGQlZTeFRRVU5xUWl4UFFVRlBMRTlCUVU5QkxFTkJRVXNzUlVGRGRrSXNSMEZCU1Vnc1JVRkJUMFlzUTBGQlJ5eEpRVUZMUml4SFFVRkJMRTFCUVVGQkxFVkJRVXNzUzBGQlN5eERRVU42UWl4SlFVRk5XU3hGUVVGVFF5eEhRVUYxUW1Jc1JVRkJTU3hKUVVGTExFTkJRVU1zUTBGQlF5eEZRVU5xUkZrc1JVRkJUeXhSUVVGVkxFbEJRVWtzU1VGRGNrSXNVVUZCVjBVc1MwRkJVV1FzUlVGQlNTeFJRVUZSTEV0QlFVc3NSVUZEYUVOWkxFVkJRVThzVVVGQlVTeEpRVUZKUlN4RlFVRkxMRTFCUVUwc1JVRkRiRU5HTEVWQlFVOHNUMEZCVXl4SFFVTm9Ra0VzUlVGQlR5eGxRVUZwUWl4SFFVTjRRaXhKUVVGTlJ5eEZRVUZUWWl4RlFVRkpMRk5CUVZOVkxFTkJRVTBzUlVGRGJFTXNSMEZCU1N4RFFVRkRXaXhGUVVGSkxHRkJRV01zUTBGRGJrSXNTVUZCU1dkQ0xFVkJRVlVzUzBGQlN5eFZRVUZWUkN4RFFVRk5MRVZCUXk5Q1F5eEZRVUZSTEU5QlFWTXNTMEZEYWtKQkxFVkJRVlZCTEVWQlFWRXNWVUZCVlN4RlFVRkhMRVZCUVVVc1JVRkJTU3hSUVVONlEwTXNSMEZCUzJwQ0xFVkJRVWtzU1VGQlNTeFJRVUZSTEZOQlFWVXNhMFpCUVd0R1owSXNRMEZCVHl3d1EwRkJNRU1zUlVGRGJFdG9RaXhGUVVGSkxHRkJRV1VzUlVGRGRrSXNRMEZEUVN4UFFVRlBaU3hEUVVOWUxFTkJRMEVzVDBGQlR5eExRVUZMTEZWQlFWVlNMRU5CUVVzc1EwRkRMMElzUTBOMFJFRXNVMEZCVTFjc1IwRkJWME1zUlVGQlMwTXNSVUZCVDBNc1JVRkJTeXhEUVVOcVF5eEpRVUZOUXl4RlFVRkpReXhIUVVGWFNpeEZRVUZMTEU5QlFWZEZMRU5CUVVjc1JVRkRiRU5ITEVWQlFVbEVMRWRCUVZkSUxFVkJRVThzVDBGQlYwTXNRMEZCUnl4RlFVTXhReXhQUVVGUExFbEJRVWxKTEVkQlFVdElMRVZCUVVkRkxFTkJRVU1zUTBGRGVFSXNRMEZEUVN4SlFVRk5ReXhIUVVGT0xFMUJRVTFETEVOQlFVc3NRMEZEVUN4WlFVRlpVQ3hGUVVGTFF5eEZRVUZSTEV0QlFVMHNRMEZETTBJc1QwRkJUeXhsUVVGbExFdEJRVTFQTEVkQlFWY3NRMEZCUlN4TlFVRlBReXhGUVVGTExFTkJRVU1zUlVGRGRFUXNTMEZCU3l4SlFVRk5WQ3hGUVVOWUxFdEJRVXNzVFVGQlVVTXNRMEZEYWtJc1EwRkRRU3hOUVVGTlV5eEZRVUZSTEVOQlExWXNSMEZCU1N4RFFVRkZMRWxCUVVGV0xFVkJRVXNzVFVGQlFVTXNRMEZCVFN4RlFVRkpMRXRCUTNKQ0xFOUJRVWxWTEVWQlFVOVlMRU5CUVVjc1NVRkRWa0VzUlVGQlRVRXNSVUZCU1N4TlFVRk5WU3hEUVVGTkxFZEJRM1JDUXl4RlFVRlBWaXhEUVVGTExFbEJRMXBCTEVWQlFWRkJMRVZCUVUwc1RVRkJUVk1zUTBGQlRTeEhRVU4yUWl4SlFVRkpTQ3hGUVVGTFVDeEZRVUZMUXl4RFFVRkxMRU5CUXpsQ0xFTkJRMEVzVDBGQlQxY3NSVUZCUjFZc1JVRkJTeXhEUVVOWUxFbEJRVTFYTEVWQlFVOVlMRWRCUVVFc1RVRkJRVUVzUlVGQlN5eFRRVUZYTEVsQlFVa3NTVUZCVVN4RFFVRkRMRVZCUXpGRExFOUJRVTlaTEVkQlFXVmFMRVZCUVV0WExFVkJRVTBzU1VGQlNTeERRVU42UXl4RFFVTkJMRk5CUVZOWUxFVkJRVXRoTEVWQlFWZERMRVZCUVdFc1EwRkRiRU1zVDBGQlQyUXNSMEZCUVN4TlFVRkJRU3hGUVVGTExFbEJRMDVsTEVkQlFXTXNTMEZCVFdZc1JVRkJTMkVzUlVGQlYwTXNRMEZCVnl4RlFVTXZReXhMUVVGTExGVkJRVlVzU1VGQlNTeERRVU0zUWl4RFFVTktMRVZETjBKQkxGTkJRVk5GTEVkQlFXOUNReXhGUVVGWlF5eEZRVUZMUXl4RlFVRlRMRU5CU25aRUxFbEJRVUZETEVWQlQwa3NVMEZHWVVFc1JVRkJRVVlzUlVGQlNTeFRRVUZLTEV0QlFVRkZMRVZCUVdOSUxFVkJRVmNzVFVGRFlra3NSMEZCTUVKRExFbEJRMnhEVEN4RlFVRlpReXhGUVVGTFF5eERRVUZQTEVOQlF6ZERMRU5CUTBFc1UwRkJVMGNzUjBGQmVVSXNRMEZCUlN4UlFVRkJReXhGUVVGVExFMUJRVUZETEVOQlFVMHNSVUZCUjA0c1JVRkJTeXhEUVVGRkxHZENRVUZCVHl4RlFVRnBRaXhWUVVGQlF5eEZRVUZYTEZkQlFVRkRMRVZCUVZrc1dVRkJRVU1zUlVGQllTeFZRVUZCUXl4RFFVRlZMRVZCUVVjc1EwRkRNMGdzUjBGQlRTeERRVUZGTEU5QlFVRkRMRVZCUVZFc1VVRkJVeXhEUVVGRkxHTkJRVUZETEVOQlFXTXNRMEZCUlN4RlFVRkpZaXhGUVVONlEyTXNSVUZCVlN4UFFVRlBMRTlCUVU4c1EwRkJReXhGUVVGSFpDeEZRVUZMTEVOQlFVVXNUMEZCVVZNc1JVRkJXU3hMUVVGTkxFbEJRVXNzUTBGQlF5eEZRVU55UlUwc1JVRkJXU3hIUVVOV1F5eEZRVUZSTEVOQlFVTXNSVUZEWml4UlFVRlRReXhGUVVGSkxFVkJRVWRCTEVWQlFVbFlMRVZCUVUwc1QwRkJVU3hGUVVGRlZ5eEZRVUZITEVOQlEyNURMRWxCUVUxRExFVkJRVTlhTEVWQlFVMVhMRU5CUVVNc1JVRkRhRUphTEVWQlFWVXNTMEZEWkN4SFFVRkpZeXhGUVVGUFJDeERRVUZKTEVWQlExQXNRMEZCUTBnc1IwRkJZVWNzUlVGQlN5eGhRVU51UWtZc1JVRkJUU3hMUVVGTExFVkJRVVVzUlVGRGFrSkpMRWRCUVdsQ2NFSXNSVUZCUzJkQ0xFVkJRVTlGTEVWQlFVc3NZMEZCWlVnc1EwRkJVeXhGUVVOMFJFY3NSVUZCU3l4VlFVTk1ZaXhGUVVGVllTeEZRVUZMTEdsQ1FVVmtSeXhGUVVGUFNDeERRVUZKTEVWQlFVY3NRMEZEYmtJc1NVRkJUVWtzUlVGQlMwZ3NSVUZCVDBRc1JVRkJTeXhIUVVGSExFVkJRVWxCTEVWQlFVc3NTVUZCVFN4TFFVTnlRMGtzU1VGRFNTeERRVUZEVUN4SFFVRmhUeXhGUVVGSExHRkJRMnBDVGl4RlFVRk5MRXRCUVVzc1JVRkJSU3hGUVVOcVFra3NSMEZCYVVKd1FpeEZRVUZMWjBJc1JVRkJUMDBzUlVGQlJ5eGpRVUZsVUN4RFFVRlRMRVZCUldoRkxFTkJRMEZCTEVWQlFWa3NSMEZEV2l4SlFVRkpVU3hGUVVGTlF5eEhRVUZWVGl4RlFVRk5TaXhGUVVGVExFbEJRVTlVTEVWQlFWVXNTMEZCVHl4SlFVRlBWU3hGUVVGWkxFVkJRVXNzUlVGREwwVldMRWxCUTBGclFpeEhRVUZQUlN4SFFVRlpSaXhGUVVGTFpDeEZRVUZaU1N4RlFVRmpVaXhEUVVGUExFTkJRVU1zUjBGRE1VUlZMRWRCUVdGV0xFbEJRMkpWTEVWQlFWa3NTVUZEYUVKRExFVkJRVTBzUzBGQlMxUXNSVUZCYTBKblFpeERRVUZITEVOQlEzQkRMRU5CUTBFc1NVRkJTVUVzUlVGRFNpeEhRVUZKVUN4RlFVRk5MRk5CUVZjc1JVRkRha0pQTEVWQlFVMW1MRVZCUVZVc1RVRkJVVUVzUlVGQlZTeFJRVVZxUXl4RFFVTkVaU3hGUVVGTlVDeEZRVUZOTEVOQlFVTXNSVUZEWWl4UlFVRlRReXhGUVVGSkxFVkJRVWRCTEVWQlFVbEVMRVZCUVUwc1QwRkJVU3hGUVVGRlF5eEZRVUZITEVOQlEyNURMRWxCUVUxVExFVkJRVTlXTEVWQlFVMURMRU5CUVVNc1JVRkRjRUpOTEVkQlFVOUhMRVZCUVU4N1FVRkJRU3hGUVVGTFpDeERRVUZOTEVkQlFVZGpMRU5CUVVrc1IwRkJTenRCUVVGQkxFTkJRM3BETEVOQlEwb3NRMEZEUVN4UFFVRkpja0lzUjBGRFFXdENMRWRCUVU4N1FVRkJRU3hGUVVGUFNTeEhRVUZqWkN4RlFVRmpVaXhEUVVGUExFVkJRVWRQTEVOQlFVMHNSVUZEZEVSRUxFZEJRMEZCTEVWQlFWVXNSMEZGVkVrc1IwRkJZVXdzUjBGRGJFSkJMRVZCUVZrc1JVRkRWR0VzUTBGRFdDeERRVU5CTEZOQlFWTndRaXhIUVVGM1FpeERRVUZGTEUxQlFVRkhMRU5CUVUwc1JVRkJSMDRzUlVGQlN5eERRVUZGTEZWQlFVRlJMRVZCUVZjc1YwRkJRVU1zUTBGQlZ5eEZRVUZITEVOQlEzaEZMRWRCUVUwc1EwRkJSU3hQUVVGQlJ5eEZRVUZSTEZkQlFVRm5RaXhGUVVGWkxITkNRVUYxUWtNc1JVRkJWeXhSUVVGVExFTkJRVVVzWTBGQlFXaENMRU5CUVdNc1EwRkJSU3hGUVVGSllpeEZRVU0zUmxNc1IwRkJZMjFDTEVWQlEyUXNTVUZCVFdRc1JVRkJWU3hQUVVGUExFOUJRVThzUTBGQlF5eEZRVUZIWkN4RlFVRkxMRU5CUTI1RExFOUJRVkZUTEVWQlExSXNUMEZCVVN4SFFVTlNMRXRCUVUwc1NVRkRWaXhEUVVGRExFVkJRMGR4UWl4RlFVRmhMRWRCUTJKRExFVkJRV1VzUlVGRFltWXNSVUZCVVN4RFFVRkRMRVZCUTJZc1VVRkJVME1zUlVGQlNTeEZRVUZIUVN4RlFVRkpXQ3hGUVVGTkxFOUJRVkVzUlVGQlJWY3NSVUZCUnl4RFFVTnVReXhKUVVGTlF5eEZRVUZQV2l4RlFVRk5WeXhEUVVGRExFVkJRMmhDV2l4RlFVRlZMRXRCUTJRc1IwRkJTV01zUlVGQlQwUXNRMEZCU1N4RlFVTlFRU3hGUVVGTExHRkJRMHhHTEVWQlFVMHNTMEZCU3l4RlFVRkZMRVZCUTJwQ1NTeEhRVUZwUW5CQ0xFVkJRVXRuUWl4RlFVRlBSU3hGUVVGTExHTkJRV1VzUlVGQlN5eEZRVU5zUkVFc1JVRkJTeXhWUVVOTVlpeEZRVUZWWVN4RlFVRkxMR2xDUVVWa1J5eEZRVUZQU0N4RFFVRkpMRVZCUVVjc1EwRkRia0lzU1VGQlRVa3NSVUZCUzBnc1JVRkJUMFFzUlVGQlN5eEhRVUZITEVWQlFVbEJMRVZCUVVzc1NVRkJUU3hMUVVOeVEwa3NTVUZEU1VFc1JVRkJSeXhoUVVOSVRpeEZRVUZOTEV0QlFVc3NSVUZCUlN4RlFVTnFRa2tzUjBGQmFVSndRaXhGUVVGTFowSXNSVUZCVDAwc1JVRkJSeXhqUVVGbExFVkJRVXNzUlVGRGFFUkJMRVZCUVVjc1ZVRkRTRkVzUlVGQllTeExRVVZ5UWl4SlFVRk5SU3hGUVVGTFlpeEZRVUZQUkN4RlFVRkxMRXRCUVVzc1JVRkJTVUVzUlVGQlN5eE5RVUZSTEV0QlEzcERZeXhIUVVOSlFTeEZRVUZITEZWQlEwZ3pRaXhGUVVGVk1rSXNSVUZCUnl4VFFVTmlRU3hGUVVGSExHZENRVU5JUml4RlFVRmhMRXRCUlZwYUxFVkJRVXNzVDBGQlV5eFBRVUZSU1N4SFFVRkJMRTFCUVVGQkxFVkJRVWtzVjBGREwwSnFRaXhGUVVGVmFVSXNSVUZCUnl4UlFVVnlRaXhEUVVOSmFrSXNTVUZEUVhsQ0xFVkJRV0VzU1VGRGFrSXNTVUZCU1ZBc1JVRkJUVU1zUjBGQlZVNHNSVUZCVFVvc1JVRkJVeXhKUVVGUFZDeEZRVUZWTEVsQlFVc3NSVUZEY2tSWkxFVkJRVWxZTEVWQlFVMHNUMEZCVXl4SlFVTnVRbWxDTEVkQlFVOHNTMEZEVUd4Q0xFbEJRMEZyUWl4SFFVRlBSU3hIUVVGWlJpeEZRVUZMWkN4RlFVRlpTU3hGUVVGalVpeERRVUZQTEVOQlFVTXNSMEZETVVRc1EwRkJRM2xDTEVsQlFXVmtMRVZCUVUwc1QwRkJVMlVzUjBGQlowSlNMRVZCUVVrc1UwRkJVenRCUVVGQkxFTkJRVWtzUzBGRGFFVlBMRVZCUVdFc1NVRkRha0prTEVWQlFVMHNTMEZCUzA4c1EwRkJSeXhGUVVOa1VTeEZRVUZsWml4RlFVRk5MRTFCUTNwQ0xFTkJRMEVzUjBGQlRTeERRVUZGTEUxQlFVRnBRaXhGUVVGUExFbEJRVUZETEVOQlFVa3NSVUZCU1RGQ0xFVkJRM1pDTEVkQlFVbFJMRVZCUVUwc1UwRkJWeXhGUVVOcVFpeFBRVUZQYVVJc1JVRkJVVU1zUlVGSFppeEhRVUZKTEVOQlFVTktMRVZCUVZrc1EwRkRZaXhKUVVGTlN5eEZRVUZOYmtJc1JVRkJUU3hQUVVGUExFTkJRVU52UWl4RlFVRkxWaXhKUVVGVFZTeEZRVUZOVml4RlFVRkxMRTlCUVZNc1JVRkJSeXhEUVVGRExFVkJRMmhGU1N4RlFVRmhPVUlzUlVGQlNTeFJRVUZSTEZWQlFWa3NSMEZCUzIxRExFVkJRVTF1UXl4RlFVRkpMRkZCUVZFc1UwRkRhRVVzUTBGRFFTeEhRVUZKT0VJc1JVRkJXU3hEUVVOYUxFbEJRVWxRTEVWQlFVMVZMRVZCUTFZc1VVRkJWMUFzUzBGQlVWWXNSVUZEWms4c1IwRkJUMGNzUlVGQlR6dEJRVUZCTEVWQlFVdEZMRU5CUVZVc1IwRkJSMmhDTEVOQlFVMHNSMEZCUjJNc1EwRkJTU3hIUVVGTE8wRkJRVUVzUlVGRGRFUXNUVUZCVHl4SFFVRkhTQ3hEUVVGSE8wRkJRVUVzUlVGQlMxZ3NRMEZCVFN4SFFVRkhjMElzUTBGQlJ5eEZRVU5zUXl4TFFVVkpMRTlCUVU4c1IwRkJSMFFzUTBGQlN5eEhRVUZIU2l4RFFVRlRMRWRCUVVkaUxFVkJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNSMEZCUjJFc1EwRkJVeXhIUVVGSFN5eERRVUZITEVWQlJ6TkZMRU5CUTBFc1UwRkJVMlFzUjBGQmFVSXNRMEZCUlN4UFFVRkJVaXhGUVVGUkxGRkJRVk1zUTBGQlJTeGpRVUZCUXl4RFFVRmpMRU5CUVVVc1JVRkJSMGNzUlVGQlQxZ3NSVUZCVTFVc1JVRkJWeXhEUVVkNlJpeEhRVVpKVml4SFFVRlhWU3hKUVVOWVZpeEZRVUZWUVN4RlFVRlJMRkZCUVZFc1QwRkJVU3hGUVVGRkxFZEJRM0JEUVN4RlFVRlRMRU5CUTFRc1NVRkJUV2RETEVWQlFVdFdMRWRCUVdOa0xFVkJRV05TTEVOQlFVOHNSVUZCUjA4c1EwRkJUU3hGUVVOMlJFa3NSVUZCVFN4TFFVRkxjVUlzUlVGQlJ5eFZRVUZWTEVOQlFVTXNRMEZETjBJc1EwRkRTaXhEUTNKSlFTeFRRVUZUUXl4SFFVRlRReXhGUVVGUFF5eEZRVUZMTEVOQlF6RkNMRWxCUVUxRExFVkJRVWxETEVWQlFWTkdMRU5CUVVjc1JVRkJTVUVzUlVGQlNTeE5RVUZSUVN4RlFVTjBReXhSUVVGWFJ5eExRVUZOU2l4RlFVTmlMRWRCUVVsTExFVkJRVTlFTEVOQlFVVXNTVUZEVEVFc1JVRkJSeXhOUVVGUlNDeEhRVUZQUnl4RlFVRkhMRTFCUVZGR0xFZEJSVGRDUXl4RlFVRlRReXhGUVVGSExFZEJRVWNzUjBGQlMwRXNSVUZCUnl4SlFVRkpMRkZCUVZWR0xFZEJRM0pETEU5QlFVOUZMRU5CU1haQ0xFTkJRMEVzU1VGQlRVVXNSMEZCVGl4alFVRnpRa01zUlVGQlZ5eERRVU0zUWl4WFFVRlhMRk5CUVZVc1EwRkRha0lzVFVGQlR5eDFRa0ZEV0N4RFFVTkJMRmxCUVZsRExFVkJRVkVzUTBGRGFFSXNUVUZCVFVNc1IwRkJTMFFzUTBGQlRTeEZRVU5xUWl4TFFVRkxMRTFCUVZFc1EwRkJReXhEUVVOc1FpeERRVXRCTEU5QlFVOHNTMEZCUzBFc1JVRkJVVVVzUlVGQlMwTXNSVUZCU3l4RFFVTXhRaXhIUVVGTkxFTkJRVVVzWTBGQlFVTXNSVUZCWlN4VFFVRkJReXhEUVVGVExFVkJRVWxHTEVWQlF6bENSeXhGUVVGTkxFbEJRVWtzUzBGQlMwNHNRMEZCVFN4RlFVTnlRazhzUlVGQlRTeERRVUZEWkN4RlFVRkxaU3hKUVVGVkxFTkJRM2hDTEVkQlFVa3NUMEZCVDBnc1IwRkJZU3hYUVVOd1FrY3NSVUZCVVVnc1JVRkJVeXhMUVVGTFNDeEZRVUZMVkN4RlFVRkxaU3hEUVVGTExGVkJRMmhETEUxQlFVMHNVVUZCVVVnc1EwRkJVU3hIUVVGTExFTkJRVU5CTEVWQlFWTXNVMEZCVTFvc1EwRkJSeXhGUVVOMFJDeFJRVU5CWlN4SlFVRlZMRkZCUVdGS0xFbEJRM1pDUlN4RlFVRkpMRTFCUVUwc1MwRkJTMGNzUjBGQlYyaENMRVZCUVV0bExFVkJRVTlNTEVOQlFVY3NRMEZCUXl4RFFVTnNSQ3hGUVVOQkxFZEJRVWxFTEdGQlFXVXNTVUZEWml4UFFVRlhMRU5CUVVOVUxFVkJRVXRsTEVOQlFVc3NTVUZCUzA0c1JVRkRka0pMTEVWQlFVbGtMRVZCUVV0bExFTkJRVXNzVlVGRllrNHNSMEZCVHl4UFFVRlBRU3hIUVVGUkxGTkJRek5DTEZGQlFWZFVMRXRCUVU4c1QwRkJUeXhMUVVGTFV5eERRVUZITEVWQlF6ZENTeXhGUVVGSlpDeEZRVUZMVXl4RlFVRkpWQ3hEUVVGSExFTkJRVU1zUlVGRmVrSXNUMEZCU1N4UFFVRlBUeXhGUVVGUExHZENRVUZ0UWl4WlFVTnFRMDBzUlVGQlNTeE5RVUZOTEV0QlFVdE9MRVZCUVU4c1kwRkJZeXhGUVVWcVEwMHNRMEZEV0N4RFFVOUJMRWxCUVVsSkxFVkJRVTFETEVWQlFWY3NRMEUzUkhwQ0xFbEJRVUZETEVWQk9FUlJMRWxCUVVsRExFVkJRMEZvUWl4RlFVRlBZU3hEUVVGSkxFVkJRMWhITEVWQlFWRklMRVZCUTBnc1EwRkJRMEVzUjBGQlVTeFBRVUZQUVN4SFFVRlRMRlZCUVZrc1JVRkJSU3hSUVVGVFFTeEhRVVZ5UkVjc1JVRkJVU3hKUVVGSlF5eEhRVUZMU2l4RlFVRk5RU3hIUVVGQkxGbEJRVUZCTEVWQlFVMHNTMEZCU3l4RlFVZHNRMGNzUlVGQlVTeEpRVUZKUXl4SFFVRkxTaXhGUVVGTExFbEJRVXRCTEVWQlFVc3NTMEZCU3l4RlFVTjZReXhKUVVGTlN5eEZRVUZQZUVJc1IwRkJVeXhMUVVGTExFMUJRVTl6UWl4RlFVRk5MRWRCUVVjc1JVRkRja05ITEVkQlFXTktMRVZCUVVFc1MwRkJTeXhUUVVGTUxGbEJRVUZCTEVWQlFXRXNaVUZEYWtNc1IwRkJTVWNzUlVGQlRTeERRVU5PTEVkQlFVa3NRMEZCUTBvc1JVRkRSQ3hOUVVGTkxFbEJRVWtzVFVGQlRTeFBRVUZQUlN4RlFVRk5MRWRCUVVjc1kwRkJZeXhGUVVVNVEyeENMRVZCUVZOdlFpeEZRVUZMTEV0QlFVc3NSMEZCUzBVc1IwRkJZMG9zUlVGQlRTeExRVUZMTEVWQlEycEVSU3hGUVVGTExFMUJRVTBzVFVGQlVVWXNSVUZCVFN4TlFVVjZRa1VzUlVGQlN5eE5RVUZSUml4RlFVRk5MRXRCUXpOQ0xGTkJRMU5ITEVWQlFXRXNRMEZEYkVJc1NVRkJUVVVzUlVGQlNTeExRVUZMTEUxQlFVMHNWVUZCVlVNc1IwRkJVVWdzUlVGQldVZ3NSVUZCVDAwc1EwRkJTU3hGUVVGSkxFTkJRVU1zUlVGREwwUkVMRWxCUVUwc1IwRkRUaXhMUVVGTExFMUJRVTBzUzBGQlMwd3NRMEZCU3l4RlFVVnlRaXhMUVVGTExFMUJRVTBzVDBGQlQwc3NSVUZCUnl4RlFVRkhUQ3hEUVVGTExFTkJRM0pETEUxQlJVa3NTMEZCU3l4TlFVRk5MRXRCUVV0QkxFTkJRVXNzUTBGRk4wSXNRMEZEUVN4UFFVRlBjRUlzUlVGQlN5eERRVU5TTEVsQlFVMUhMRVZCUVV0TUxFZEJRVk1zUzBGQlN5eE5RVUZQUlN4RFFVRkhMRVZCUTI1RExFOUJRVXRITEVWQlJVOHNTMEZCU3l4TlFVRk5MRTlCUVU4c1MwRkJTeXhOUVVGTkxGRkJRVkZCTEVOQlFVVXNSVUZCUnl4RFFVRkRMRVZCUXpWRExFOUJRVk1zUlVGR1ZDeEZRVWRtTEVOQlEwRXNTVUZCU1Vnc1JVRkJTekpDTEVWQlFWa3NRMEZ3UjNwQ0xFbEJRVUZTTEVWQmNVZFJMRWxCUVUxb1FpeEZRVUZMVEN4SFFVRlRMRXRCUVVzc1RVRkJUMFVzUTBGQlJ5eEZRVU0zUWpSQ0xFVkJRVTk2UWl4SFFVRkJMRmxCUVVGQkxFVkJRVWtzVFVGRGFrSXNUMEZCVVdkQ0xFVkJRVUVzUTBGQlExRXNSMEZCWTNwQ0xFVkJRVk13UWl4RFFVRkpMRVZCUVVsQkxFVkJRVXNzVFVGQlVVRXNTVUZCTjBNc1MwRkJRVlFzUlVGQmMwUXNUVUZEYkVVc1EwRkRRU3hKUVVGSmJrSXNSVUZCU3l4RFFVTk1MRTFCUVU4c1EwRkJReXhEUVVGRFJpeEhRVUZUTEV0QlFVc3NUVUZCVDBVc1EwRkJSeXhEUVVOeVF5eERRVU5CTEVsQlFVbEJMRVZCUVV0bExFVkJRVThzUTBGRFdpeExRVUZMTEVsQlFVa3NTVUZCU1Uwc1IwRkJTM0pDTEVWQlFVdGxMRU5CUVVzc1JVRkJSeXhGUVVGSkxFTkJRM1pETEVOQlRVRXNUMEZCVDJNc1JVRkJSMjVDTEVWQlFVdHZRaXhGUVVGTkxFTkJRMnBDTEVsQlFVMXFRaXhGUVVGTmFVSXNSVUZCVHl4SlFVRkpRU3hGUVVGVGNFSXNSMEZCUVN4TlFVRkJRU3hGUVVGTExGTkJRVmNzU1VGQlNTeEpRVUZSTEVOQlFVTXNSVUZEZWtSQkxFZEJRVUVzVFVGQlFVRXNSVUZCU3l4VlFVTk1RU3hGUVVGSkxGTkJRVk5ITEVOQlFVY3NSVUZEY0VJc1VVRkJWMkVzUzBGQlVTeExRVUZMTEUxQlEzQkNTeXhIUVVGbGNrSXNSVUZCUzBjc1JVRkJTMkVzUTBGQlNTeEZRVU5xUXl4UFFVRlBZaXhEUVVOWUxFTkJRMEVzVTBGQlUwZ3NSVUZCUzNOQ0xFVkJRVmRETEVWQlFXRXNRMEZEYkVNc1IwRkJTU3hEUVVGRGRrSXNSVUZEUkN4UFFVRlBMRXRCUVVzc1ZVRkJWU3hKUVVGSkxFVkJRemxDTEZGQlFWZG5RaXhMUVVGUkxFdEJRVXNzVFVGRGNFSXNSMEZCU1N4RFFVRkRkRUlzUlVGQlQzTkNMRU5CUVVrc1JVRkRXaXhOUVVGTkxFbEJRVWtzVFVGQlRTeHpRMEZCYzBNc1MwRkJTeXhWUVVGVlFTeERRVUZKTEVOQlFVTXNWVUZCVlN4RlFVVTFSaXhOUVVGSkxFTkJRVU5vUWl4RlFVRkpMR1ZCUVdsQ0xFdEJRVXNzYVVKQlFXbENMRVZCUVVzc1NVRkRha1JCTEVWQlFVMHNUMEZCVHl4UFFVRlBMRU5CUVVNc1JVRkJSMEVzUlVGQlN5eERRVUZGTEdOQlFXVXNSVUZCU3l4RFFVRkRMRWRCUTJwRWQwSXNSMEZCYjBJc1MwRkJUWGhDTEVWQlFVc3NRMEZEYkVNc1owSkJRV2xDTEVkQlEycENMRlZCUVZjc1EwRkJSU3hOUVVGUExFbEJRVXNzU1VGQlN5eEhRVUZKTEVWQlEyeERMRmRCUVZsQkxFVkJRVWtzVVVGQlZTeEhRVU14UWl4WlFVRkJkVUlzUlVGRFFTeFZRVUZCUkN4RFFVTktMRU5CUVVNc1EwRkRUQ3hEUVVOS0xFVkRNVWxCTEVsQlFVMUhMRWRCUVUwc1EwRkRVaXhYUVVGWkxFMUJRMW9zVVVGQlV5eEhRVU5VTEZWQlFWZERMRWRCUTFnc1NVRkJTeXgzUWtGRFRDeFJRVUZSUkN4RlFVRkxSU3hGUVVGVExFTkJRMnhDTEU5QlFVdERMRWRCUVUxSUxFTkJRVWNzUjBGRFZrVXNSVUZCVVN4cFEwRkJhVU1zUlVGRGRFTkdMRU5CUTFnc1JVRkRRU3hYUVVGWkxFTkJRVU5KTEVWQlFWRkRMRVZCUVV0RExFbEJRVkZNTEVkQlFWRXNTMEZCUzBjc1JVRkJVVU1zUlVGQlMwTXNRMEZCUnl4RFFVTnVSU3hGUTFCQkxFbEJRVTFETEVkQlFVNHNZMEZCYzBKRExFVkJRVmNzUTBGRE4wSXNWMEZCVnl4VFFVRlZMRU5CUTJwQ0xFMUJRVThzZFVKQlExZ3NRMEZEUVN4WlFVRlpReXhGUVVGUkxFTkJRMmhDTEUxQlFVMURMRWRCUVV0RUxFTkJRVTBzUlVGRGFrSXNTMEZCU3l4TlFVRlJMRU5CUVVNc1EwRkRiRUlzUTBGRFFTeEpRVUZKUlN4RlFVRlBMRU5CUTFBc1MwRkJTeXhOUVVGTkxFdEJRVXRCTEVOQlFVc3NRMEZEZWtJc1EwRlRRU3hQUVVGUFF5eEZRVUZMTEVOQlExSXNTVUZCVFVNc1JVRkJUVU1zUjBGQldVWXNRMEZCUnl4RlFVTXpRaXhQUVVGSkxFOUJRVTlETEVkQlFWRXNVMEZEVWl4SFFVTkRMRXRCUVVzc1RVRkJUU3hQUVVGUFFTeEZRVUZMTEVOQlFVTXNSVUZEZWtJc1QwRkJVeXhEUVVONFFpeERRVU5CTEVsQlFVbEVMRVZCUVV0SExFVkJRVmtzUTBGRGFrSXNTVUZCVFVZc1JVRkJUVU1zUjBGQldVWXNRMEZCUnl4RlFVTXpRaXhIUVVGSkxFOUJRVTlETEVkQlFWRXNVMEZEWml4UFFVTktMRWxCUVUxSExFVkJRVXNzUzBGQlN5eE5RVUZOU0N4RFFVRkhMRVZCUTNwQ0xFMUJRVThzUTBGQlEwVXNSMEZCWTBVc1JVRkJVMFFzUTBGQlJTeEZRVUZKUVN4RlFVRkhMRTFCUVZGQkxFTkJRM0JFTEVOQlQwRXNTVUZCU1Vvc1JVRkJTeXhEUVVOTUxFbEJRVTFETEVWQlFVMURMRWRCUVZsR0xFTkJRVWNzUlVGRE0wSXNUMEZCVHl4UFFVRlBReXhIUVVGUkxGVkJRVmxCTEVWQlFVMHNTMEZCU3l4TlFVRk5MRTFCUTNaRUxFTkJVVUVzU1VGQlNVUXNSVUZCUzBRc1JVRkJUeXhEUVVOYUxFbEJRVTFGTEVWQlFVMURMRWRCUVZsR0xFTkJRVWNzUlVGRE0wSXNSMEZCU1N4UFFVRlBReXhIUVVGUkxGTkJRMllzVFVGQlRTeEpRVUZKTEUxQlFVMHNLMEpCUVN0Q1JDeERRVUZITEVkQlFVY3NSVUZEZWtRc1NVRkJUVTBzUlVGQlR5eExRVUZMTEUxQlFVMU1MRU5CUVVjc1JVRkRka0pKTEVWQlFWTkRMRU5CUVVrc1IwRkJTME1zUjBGQlkxSXNRMEZCU3l4RlFVTnlRMDhzUlVGQlN5eE5RVUZSVUN4RlFVVmlMRXRCUVVzc1RVRkJUVVVzUTBGQlJ5eEZRVUZKUml4RFFVTXhRaXhEUVVOQkxFOUJRVTlUTEVWQlFVZERMRVZCUVVzc1EwRkRXQ3hKUVVGTlF5eEZRVUZOTEVOQlFVTXNSVUZEVkVRc1IwRkJRU3hOUVVGQlFTeEZRVUZMTEZWQlEweEJMRVZCUVVrc1UwRkJVME1zUTBGQlJ5eEZRVU53UWl4SlFVRkpReXhGUVVGSkxFVkJRMUlzVVVGQlYwTXNTMEZCVVN4TFFVRkxMRTFCUTNCQ1JpeEZRVUZKTEV0QlFVdEhMRWRCUVV0RUxFVkJRVTBzVDBGQlQwUXNSMEZCUnl4RlFVRkhSaXhEUVVGSExFTkJRVU1zUlVGRGVrTXNUMEZCVDBNc1EwRkRXQ3hEUVVOQkxGTkJRVk5FTEVWQlFVdExMRVZCUVZkRExFVkJRV0VzUTBGRGJFTXNUMEZCUzA0c1JVRkZSVThzUjBGQmIwSXNTMEZCVFZBc1JVRkJTeXhEUVVOc1F5eG5Ra0ZCYVVJc1MwRkRha0lzVlVGQlZ5eERRVUZGTEUxQlFVOHNTVUZCU3l4SlFVRkxMRWRCUVVrc1JVRkRiRU1zV1VGQllVRXNSVUZCU1N4UlFVRlZMRWxCUVUwc1MwRkRha01zV1VGQlFVMHNSVUZEUVN4VlFVRkJSQ3hEUVVOS0xFTkJRVU1zUlVGUVZTeExRVUZMTEZWQlFWVXNTVUZCU1N4RFFWRnNReXhEUVVOQkxFOUJRVThzUzBGQlMycENMRVZCUVZGdlFpeEZRVUZMVWl4RlFVRkxMRU5CUXpGQ0xFZEJRVTBzUTBGQlJTeFRRVUZCVXl4RFFVRlRMRVZCUVVsVUxFVkJRMlpETEVWQlFVMHNTVUZCU1N4TFFVRkxZaXhEUVVGTkxFVkJRek5DTEVkQlFVbHZRaXhIUVVGUExFOUJRVThzV1VGQldTeFBRVUZQUVN4RFFVRkhMRVZCUVVjc1EwRkRka01zU1VGQlNVNHNSVUZCU1N4RlFVTlNMRkZCUVZOUUxFdEJRVTFoTEVWQlFVc3NRMEZEYUVJc1IwRkJTU3hQUVVGUFF5eEhRVUZoTEZkQlFWa3NRMEZEYUVNc1NVRkJUV3hDTEVWQlFVMXBRaXhoUVVGbExFbEJRVTFpTEVWQlFVc3NUMEZCVDA4c1IwRkJSeXhGUVVOb1JGQXNSVUZCUzJNc1JVRkJVeXhMUVVGTFJDeEZRVUZMYWtJc1JVRkJTMGtzUTBGQlJTeERRVU51UXl4RFFVTkJUU3hGUVVGSkxFMUJRVTBzUzBGQlMxTXNSMEZCVjJZc1JVRkJTU3hQUVVGWFN5eERRVUZITEVOQlFVTXNRMEZEYWtRc1EwRkRTaXhEUVVOQkxFOUJRVTlETEVOQlExZ3NRMEZEU2l4RlFVTkJMRk5CUVZOU0xFZEJRVmxHTEVWQlFVc3NRMEZEZEVJc1NVRkJTVU1zUlVGQlRVa3NSVUZCVTB3c1EwRkJSeXhGUVVGSlFTeEZRVUZKTEUxQlFWRkJMRVZCUTNSRExFOUJRVWxETEVkQlFVOHNUMEZCVDBFc1IwRkJVU3hYUVVOMFFrRXNSVUZCVFN4UFFVRlBRU3hEUVVGSExFZEJRMklzVDBGQlQwRXNSMEZCVVN4VlFVRlpMRTlCUVU4c1ZVRkJWVUVzUTBGQlJ5eEhRVUZMUVN4SFFVRlBMRVZCUXpWRVFTeEZRVU5CTEVsQlExWXNRME16UjBFc1NVRkJUVzFDTEVkQlFVMHNRMEZEVWl4WFFVRlpMRTFCUTFvc1VVRkJVeXhIUVVOVUxGVkJRVmRETEVkQlExZ3NTVUZCU3l4M1FrRkRUQ3hSUVVGUlJDeEZRVUZMUlN4RlFVRlRMRU5CUTJ4Q0xFOUJRVXRETEVkQlFVMUlMRU5CUVVjc1IwRkRWa1VzUlVGQlVTeHJRMEZCYTBNc1JVRkRka05HTEVOQlExZ3NSVUZEUVN4WFFVRlpMRU5CUVVOSkxFVkJRVkZETEVWQlFVdERMRWxCUVZGTUxFZEJRVkVzUzBGQlMwY3NSVUZCVVVNc1JVRkJTME1zUTBGQlJ5eERRVU51UlN4RlExcEJMRWxCUVUxRExFZEJRVk1zUTBGRFdDeFRRVUZWUXl4SFFVRlRMRTlCUVU5QkxFZEJRVlVzVTBGRGNFTXNVVUZCVXl4SFFVTlVMRWxCUVVzc2QwSkJRMHdzVVVGQlUwTXNSMEZCVDBFc1JVRkRhRUlzVlVGQlZVTXNSVUZCVFVNc1JVRkJTME1zUlVGQlYwTXNSVUZCWVN4RFFVTjZReXhQUVVGQlJpeEZRVUZOTEU5QlFVOHNUMEZCVHl4RFFVRkZMR0ZCUVdNc1JVRkJTeXhGUVVGSFFTeERRVUZITEVWQlEzaERSeXhIUVVGblFrb3NSVUZCVFVNc1JVRkJTME1zUlVGQlYwTXNRMEZCVnl4RFFVTTFSQ3hEUVVOS0xFVkRWRUVzU1VGQlRVVXNSMEZCVlN4RFFVTmFMRk5CUVZWRExFZEJRVk5CTEVkQlFWTXNTMEZETlVJc1YwRkJXU3hKUVVGTkxFbEJRVWxETEVWQlFVOHNTVUZCU1N4RlFVTnFReXhSUVVGVExFZEJRMVFzU1VGQlN5eDVRa0ZEVEN4TFFVRk5MSGRDUVVOT0xGRkJRVk1zU1VGQlRTeEpRVUZKUVN4RlFVRlBMRWxCUVVrc1JVRkRPVUlzVlVGQlZ5eERRVUZETEVOQlFVVXNUMEZCUVVNc1EwRkJUeXhGUVVGSFF5eEpRVUZSTEU5QlFVOUVMRWRCUVZjc1ZVRkJXVWdzUjBGQlVTeExRVUZMTEV0QlFVdEhMRU5CUVUwc1JVRkRhRVpCTEVWQlEwRkRMRVZCUVVrc1VVRkJVU3hQUVVOMFFpeEZRMVpCTEVsQlFVMURMRWRCUVZVc1EwRkRXaXhUUVVGVlF5eEhRVUZUTEU5QlFVOUJMRWRCUVZVc1ZVRkRjRU1zVVVGQlV5eEhRVU5VTEVsQlFVc3NlVUpCUTB3c1MwRkJUU3h2UTBGRFRpeFJRVUZUUXl4SFFVRlBMRWxCUVVsRExFVkJRVTlFTEVWQlFVa3NRMEZCUXl4SlFVRk5MRXRCUVU5QkxFVkJRVWtzUTBGQlF5eEpRVUZOTEVkQlFVY3NSVUZETTBRc1ZVRkJWU3hEUVVGRkxFOUJRVUZGTEVWQlFWRXNUVUZCUVVnc1EwRkJUU3hGUVVGSFNTeEZRVUZMTEVOQlF6bENMRWRCUVVsRUxFZEJRVlZLTEVkQlFWRXNTMEZCU3l4TFFVRkxTU3hEUVVGTkxFVkJRVWNzUTBGRGNrTXNTVUZCVFVVc1JVRkJTMFlzUlVGQlR5eERRVUZETEVsQlFVMHNTMEZCVDBFc1JVRkJUeXhEUVVGRExFbEJRVTBzU1VGRE9VTXNSMEZCU1Vnc1NVRkJWVXNzUlVGRFZpeFBRVUZQUml4RFFVTm1MRU5CUTBFc1QwRkJUMGdzUlVGQlVVa3NSVUZCU1N4UlFVRlJMRkZCUVZWQkxFVkJRVWtzVVVGQlVTeFJRVU55UkN4RFFVTktMRVZEYUVKQkxGTkJRVk5GTEVkQlFXZENMRU5CUVVVc1QwRkJRVU1zUlVGQlVTeHJRa0ZCUVVNc1JVRkJiVUlzU1VGQlFVTXNSVUZCU3l4TlFVRkJReXhEUVVGTkxFVkJRVWNzUTBGRGFFVXNSMEZCU1N4UFFVRlBRU3hIUVVGVkxGTkJRMnBDTEU5QlFVOHNUMEZCVDBFc1EwRkJTeXhGUVVOMlFpeEpRVUZOUXl4RlFVRk5MRTlCUVU5RUxFZEJRVlVzVTBGQlYwRXNSVUZCVVN4UFFVRlBRU3hEUVVGTExFVkJRelZFTEVkQlFVa3NRMEZCUXl4VFFVRlRReXhEUVVGSExFVkJRMklzVDBGQlR5eE5RVUZOUVN4RFFVRkhMRVZCUVVrc1QwRkJVMEVzUlVGQlRTeEZRVUZKTEZGQlFWVXNUMEZEY2tRc1NVRkJTVU1zUlVGQlNTeExRVUZMTEZWQlFWVkdMRU5CUVVzc1JVRkROVUlzUjBGQlNTeERRVUZEU0N4SFFVTkVReXhKUVVORExFTkJRVU5ETEVkQlFVOUJMRWxCUVZFc05FSkJRMnBDTEUxQlFVMHNTMEZCUzBjc1EwRkJReXhGUVVGSExFTkJRMllzU1VGQlNVTXNSVUZCU1VRc1JVRkJSU3hSUVVGUkxFZEJRVWNzUlVGRGFrSkRMRVZCUVVrc1NVRkRTa0VzUlVGQlNVUXNSVUZCUlN4UFFVTk9RU3hIUVVGTExFdEJSVlFzU1VGQlNVVXNSVUZCU1U0c1IwRkJjVUpKTEVWQlFVVXNUMEZCVTBNc1JVRkJTU3hIUVVNMVF5eExRVUZQUXl4TFFVRk5MRWRCUTFSR0xFZEJRVXNzUjBGRFlpeERRVU5CTEU5QlFVOUJMRU5CUTFnc1EwTnNRa0VzU1VGQlRVY3NSMEZCVnl4RFFVTmlMRk5CUVZWRExFZEJRVk1zVDBGQlQwRXNSMEZCVlN4VFFVTndReXhSUVVGVExFZEJRMVFzU1VGQlN5d3dRa0ZEVEN4TFFVRk5MR2xFUVVOT0xGRkJRVk5ETEVkQlFVOUJMRVZCUVVrc1RVRkJUU3hGUVVGRkxFVkJRVVVzV1VGQldTeEpRVUZOTEUxQlF6RkRMRWxCUTBGQkxFVkJRVWtzUTBGQlF5eEpRVUZOTEVsQlExQXNUMEZCVHl4clFrRkRVQ3hQUVVGUExHdENRVU5xUWl4VlFVRlhReXhGUVVObUxFVkJRMDFETEVkQlFWY3NRMEZEWWl4VFFVRlZTQ3hIUVVGVExFOUJRVTlCTEVkQlFWVXNVMEZEY0VNc1VVRkJVeXhIUVVOVUxFbEJRVXNzTUVKQlEwd3NUMEZCVVN4TlFVTlNMRXRCUVUwc2VVUkJRMDRzVVVGQlUwTXNSMEZCVHl4WFFVRlhRU3hEUVVGSExFVkJRemxDTEZWQlFWVkhMRVZCUVUwc1EwRkRXaXhKUVVGTlF5eEZRVUZOTEU5QlFVOUVMRVZCUVVzc1MwRkJTeXhGUVVNM1FpeFBRVUZQTEZOQlFWTkRMRU5CUVVjc1JVRkJTVUVzUlVGQlNTeGpRVUZqTEVWQlFVbElMRWRCUVdkQ1JTeERRVUZKTEVOQlEzSkZMRU5CUTBvc1JVRkRUVVVzUjBGQlVTeERRVU5XTEZOQlFWVk9MRWRCUVZNc1QwRkJUMEVzUjBGQlZTeFRRVU53UXl4UlFVRlRMRWRCUTFRc1NVRkJTeXd3UWtGRFRDeExRVUZOTEhGRFFVTk9MRkZCUVZGRExFVkJRVXNzUTBGRFZDeEpRVUZOUnl4RlFVRlBMRWxCUVVsSExFVkJRVThzVjBGQlYwNHNRMEZCUnl4RFFVRkRMRVZCUTJwRFR5eEZRVUZOVUN4RlFVRkpMRkZCUVZFc1IwRkJSeXhGUVVNelFpeFBRVUZKVHl4SlFVRlJMRWxCUVUxUUxFVkJRVWxCTEVWQlFVa3NUMEZCVXl4RFFVRkRMRWxCUVUwc1RVRkRkRU5ITEVWQlFVc3NhMEpCUVc5Q1NDeEZRVUZKTEU5QlFWTlBMRVZCUVUwc1IwRkRla05LTEVOQlExZ3NSVUZEUVN4VlFVRlhSaXhGUVVObUxFVkRkRU5CTEVsQlFVMVBMRWRCUVdWRExFZEJRVlVzVDBGQlQwRXNSMEZCVlN4VlFVRlpMRTlCUVU4c1ZVRkJWVUVzUTBGQlN5eEZRVU0xUlVNc1IwRkJZU3hEUVVGRFF5eEZRVUZMUXl4RlFVRlJReXhGUVVGUExFTkJRVVVzV1VGQlFVTXNRMEZCV1N4SlFVRlBRU3hGUVVGakxFOUJRVTlJTEVOQlFVY3NSVUZCU1N4VFFVRlRRU3hGUVVGSkxGVkJRVlZETEVOQlFVMHNSVUZCUjBNc1EwRkJTeXhGUVVNNVNDeFRRVUZUUlN4SFFVRmhReXhGUVVGTlNDeEZRVUZQU1N4RlFVRlJMRU5CUTNaRExFZEJRVTBzUTBGQlJTeE5RVUZCVWl4RFFVRk5MRVZCUVVsUExFVkJRMnhDTEU5QlFVbFNMRWRCUVZsRExFTkJRVXNzUjBGQlMwRXNSMEZCVXl4RlFVTjRRbEVzUlVGQlUxSXNSVUZCVFN4VFFVRlRTU3hEUVVGTExFVkJRMnBEU3l4SFFVRm5Ra1lzUTBGQlNTeERRVU12UWl4RFFVTkJMRWxCUVUxSExFZEJRVk1zUTBGRFdDeFRRVUZWVml4SFFVRlRSQ3hIUVVGWlF5eERRVUZMTEVkQlFVdEJMRWRCUVZNc1JVRkRiRVFzVVVGQlV5eEhRVU5VTEVsQlFVc3NkMEpCUTB3c1QwRkJVU3hOUVVOU0xFdEJRVTBzWVVGRFRpeFJRVUZUTEVOQlFVTkZMRVZCUVV0VExFVkJRVlZETEVsQlFWRllMRWRCUVZkRExFVkJRVXNzUlVGQlJ5eEZRVUZIVlN4RFFVRkhMRVZCUXpGRUxGVkJRVmRNTEVkQlFWRkVMRWRCUVdGRExFVkJRVTBzUlVGQlJ5eEpRVUZKTEVOQlEycEVMRVZCUTAxTkxFZEJRVTBzUTBGRFVpeFRRVUZWWkN4SFFVTldMRkZCUVZNc1IwRkRWQ3hKUVVGTExIZENRVU5NTEV0QlFVMHNaMEpCUTA0c1VVRkJVeXhEUVVGRFJ5eEZRVUZMVXl4RlFVRlZReXhKUVVGUldDeEhRVUZYUXl4RlFVRkxMRVZCUVVjc1IwRkJTVlVzUTBGQlJ5eEZRVU16UkN4VlFVRlhTQ3hGUVVObUxFVkJRMDFMTEVkQlFWTXNRMEZEV0N4VFFVRlZaQ3hIUVVGVFJDeEhRVUZaUXl4RFFVRkxMRWRCUVV0QkxFZEJRVk1zUlVGRGJFUXNVVUZCVXl4SFFVTlVMRWxCUVVzc2QwSkJRMHdzVDBGQlVTeE5RVU5TTEV0QlFVMHNiVUpCUTA0c1VVRkJVeXhEUVVGRFJTeEZRVUZMVXl4RlFVRlZReXhKUVVGUldDeEhRVUZYUXl4RlFVRkxMRVZCUVVjc1IwRkJTVlVzUTBGQlJ5eEZRVU16UkN4VlFVRlhUQ3hIUVVGUlJDeEhRVUZoUXl4RlFVRk5MRWRCUVVrc1NVRkJTU3hEUVVOc1JDeEZRek5DUVN4SlFVRk5VU3hIUVVGVExFTkJRMWhETEVkQlEwRkRMRWRCUTBGRExFZEJRMEZETEVkQlEwRkRMRWRCUTBGRExFZEJRMEZETEVkQlEwRkRMRWRCUTBGRExFZEJRMEZETEVkQlEwRkRMRVZCUTBvc1JVTm9Ra0VzVTBGQlUwTXNSMEZCV1VNc1JVRkJUeXhEUVVONFFpeFBRVUZQTEU5QlFVOUJMRWRCUVZVc1ZVRkJXU3hQUVVGUExGVkJRVlZCTEVOQlFVc3NRMEZET1VRc1EwRkRRU3hKUVVGTlF5eEhRVUZuUWl4RFFVRkRMRU5CUVVVc1RVRkJRVVFzUTBGQlRTeEpRVUZOTEV0QlFVc3NWVUZCVlVFc1EwRkJTeXhGUVVOdVJFVXNSMEZCWXl4RFFVTm9RaXhEUVVOSkxGTkJRVlZHTEVkQlFWTXNUMEZCVDBFc1IwRkJWU3hUUVVOd1F5eFJRVUZUTEVkQlExUXNTVUZCU3l4M1FrRkRUQ3hSUVVGVFJ5eEhRVUZQUVN4RlFVTm9RaXhWUVVGWFJpeEZRVU5tTEVWQlEwRXNRMEZEU1N4VFFVRlZSQ3hIUVVGVFFTeEhRVUZUTEV0QlF6VkNMRmRCUVZrc1NVRkJUU3hKUVVGSlNTeEZRVUZQTEVsQlFVa3NSVUZEYWtNc1VVRkJVeXhIUVVOVUxFbEJRVXNzZVVKQlEwd3NTMEZCVFN4VFFVTk9MRkZCUVZNc1NVRkJUU3hMUVVObUxGVkJRVmRJTEVWQlEyWXNSVUZEUVN4RFFVTkpMRk5CUVZWRUxFZEJRVk1zVDBGQlQwRXNSMEZCVlN4VlFVTndReXhSUVVGVExFZEJRMVFzU1VGQlN5eDVRa0ZEVEN4TFFVRk5MR1ZCUTA0c1VVRkJVMGNzUjBGQlQwRXNTVUZCVVN4UFFVTjRRaXhWUVVGWFJpeEZRVU5tTEVWQlEwRXNRMEZEU1N4VFFVRlZSaXhIUVVOV0xGRkJRVk1zUjBGRFZDeEpRVUZMTEhkQ1FVTk1MRXRCUVUwc2QwSkJRMDRzVVVGQlV5eERRVUZEU1N4RlFVRkxSU3hGUVVGVkxFTkJRVVVzV1VGQlFVTXNRMEZCV1N4SlFVRk5RU3hGUVVGakxFOUJRVTlJTEVOQlFVY3NSVUZCU1N4VFFVRlRRU3hGUVVGTExFVkJRVVVzUlVGRGVrWXNWVUZCVnl4RFFVRkRMRU5CUVVVc1RVRkJRVWdzUTBGQlRTeEpRVUZOUkN4SFFVRlpReXhEUVVGTExFVkJRVWxCTEVWQlFVMHNVMEZCVXl4RlFVRkpMRXRCUVVzc1ZVRkJWVUVzUTBGQlN5eERRVU14Uml4RlFVTkJMRU5CUTBrc1UwRkJWVUVzUjBGQlV5eFBRVUZQUVN4SFFVRlZMRk5CUTNCRExGRkJRVk1zUjBGRFZDeEpRVUZMTERCQ1FVTk1MRXRCUVUwc2VVUkJRMDRzVVVGQlUwY3NSMEZCVHl4WFFVRlhRU3hEUVVGSExFVkJRemxDTEZWQlFWZEdMRVZCUTJZc1EwRkRTaXhGUVVOTlRTeEhRVUZaTEVOQlEyUXNVVUZCVXl4SFFVTlVMRWxCUVVzc1IwRkRUQ3hMUVVGTkxFbEJRMDRzVVVGQlVVb3NSVUZCUzBzc1JVRkJVeXhEUVVOc1FpeFBRVUZCUVN4RlFVRlJMREpDUVVFeVFpeExRVUZMTEZWQlFWVk1MRU5CUVVjc1EwRkJReXhGUVVGRkxFVkJRMnBFUVN4RFFVTllMRU5CUTBvc1JVRkRUVTBzUjBGQlV5eERRVUZEUXl4SFFVRkxReXhGUVVGSExFVkJRVVVzVDBGQlQxUXNSMEZCWVVzc1JVRkJVeXhGUTNoRWRrUXNTVUZCVFVzc1IwRkJVeXhEUVVOWUxGTkJRVlZETEVkQlFWTkJMR0ZCUVdsQ0xGZEJRM0JETEZGQlFWTXNSMEZEVkN4SlFVRkxMREpDUVZOTUxGRkJRVkZETEVWQlFVdERMRVZCUVZNc1EwRkRiRUlzUjBGQlNTeFBRVUZQTEZGQlFWY3NWMEZEYkVJc1QwRkJUeXhQUVVGUExFdEJRVXRFTEVWQlFVc3NVVUZCVVN4RlFVVXZRaXhIUVVGSkxFOUJRVThzVFVGQlV5eFhRVUZaTEVOQlJXcERMRWxCUVUxRkxFVkJRVTBzUzBGQlMwWXNSVUZCU1N4UlFVRlJMRlZCUVZjc1JVRkJSU3hEUVVGRExFVkJRM0pEUnl4RlFVRlRMRWxCUVVrc1YwRkJWMFFzUlVGQlNTeE5RVUZOTEVWQlEzaERMRkZCUVZORkxFVkJRVWtzUlVGQlIwRXNSVUZCU1VZc1JVRkJTU3hQUVVGUkxFVkJRVVZGTEVWQlF6bENSQ3hGUVVGUFF5eERRVUZETEVWQlFVbEdMRVZCUVVrc1YwRkJWMFVzUTBGQlF5eEZRVU5vUXl4UFFVRlBSQ3hEUVVOWUxFdEJSVWtzVVVGQlFVWXNSVUZCVVN3d1JrRkJNRVlzUlVGRE0wWkVMRU5CUldZc1JVRkRRU3hWUVVGVkxFTkJRVVVzVVVGQlFVc3NSVUZCVXl4TFFVRkJReXhGUVVGTkxFMUJRVUZRTEVOQlFVMHNSVUZCUjFFc1JVRkJTME1zUlVGQlYwTXNSVUZCWVN4RFFVTTNSQ3hKUVVGTlF5eEZRVUZOV0N4RlFVTlNSeXhGUVVOS0xFZEJRVWtzVDBGQlR5eFJRVUZYTEZkQlEyeENRU3hGUVVOSlVTeGhRVUZsTEU5QlExUkJMRVZCUVVrc1UwRkJVeXhSUVVGUkxFVkJRM0pDTEU5QlFVOHNTMEZCUzBFc1JVRkJTU3hOUVVGTkxFVkJRVVVzVTBGQlV5eFJRVUZSTEZWQlJUbERMRTlCUVU4c1RVRkJVeXhYUVVGWkxFTkJRMnBETEVsQlFVbERMRVZCUVVrc1IwRkRVaXhSUVVGVFVDeEZRVUZKTEVWQlFVZEJMRVZCUVVsTkxFVkJRVWtzVDBGQlVTeEZRVUZGVGl4RlFVTTVRazhzUjBGQlN5eFBRVUZQTEdGQlFXRkVMRVZCUVVsT0xFTkJRVU1zUTBGQlF5eEZRVU51UTBZc1JVRkJUU3hMUVVGTFV5eERRVUZETEVOQlEyaENMRXRCUlVrc1QwRkJUU3hKUVVGSkxFMUJRVTBzTUVaQlFUQkdMRVZCU1RsSExFZEJSa3RNTEVsQlEwUkJMRVZCUVU5TkxFVkJRVThzWlVGRFpFNHNTVUZCVTAwc1JVRkJUeXhoUVVGakxFTkJRemxDTEVsQlFVMURMRVZCUVZrc1MwRkJTeXhKUVVGSlRpeEZRVUZKTEZGQlFWRXNWVUZCV1VFc1JVRkJTU3hQUVVGUExFOUJRVkZCTEVWQlFVa3NVVUZCVVN4bFFVRmxMRVZCUXpOR1R5eEZRVUZKTEV0QlFVc3NTMEZCUzFvc1JVRkJTU3hQUVVGVFZ5eERRVUZUTEVWQlEzQkRSU3hGUVVGUkxFbEJRVWtzVFVGQlRVUXNRMEZCUXl4RlFVTjZRaXhSUVVGVFZpeEZRVUZKTEVWQlFVZFpMRVZCUVVrc1JVRkJSMW9zUlVGQlNWVXNSVUZCUnl4RlFVRkZWaXhGUVVGSFdTeEhRVUZMU0N4RlFVTndRMFVzUlVGQlRWZ3NRMEZCUXl4RlFVRkpSaXhGUVVGSkxFOUJRVTlqTEVWQlFVZElMRU5CUVZNc1JVRkZkRU5ZTEVWQlFVMWhMRVZCUVUwc1MwRkJTMVFzU1VGQlUwMHNSVUZCVHl4alFVRm5RanRCUVVGQkxFVkJRVThzUjBGQlJ5eERRVU12UkN4RFFVTkJMRTlCUVU5TExFZEJRV2RDTEVOQlFVVXNVVUZCUVZvc1JVRkJVeXhMUVVGQlF5eEZRVUZOTEUxQlFVOUtMRU5CUVVrc1JVRkJSMHNzUlVGQlMwTXNSVUZCVjBNc1EwRkJWeXhEUVVOeVJpeERRVU5LTEVWRE1VUkJMRk5CUVZOVExFZEJRV0ZETEVWQlFVdERMRVZCUVZNc1EwRk1jRU1zU1VGQlFVTXNSVUZOU1N4SFFVRkpReXhIUVVGTlNDeERRVUZITEVWQlExUXNVVUZCVTBrc1JVRkJTU3hGUVVGSFFTeEZRVUZKU2l4RlFVRkpMRTFCUVUwc1QwRkJVU3hGUVVGRlNTeEZRVUZITEVOQlEzWkRMRWxCUVVsRExFVkJRVTlNTEVWQlFVa3NUVUZCVFVrc1EwRkJReXhGUVVOMFFpeEhRVUZKTEVOQlFVRkZMRVZCUVU5RUxFTkJRVWtzUlVGRlZpeEpRVUZKUlN4SFFVRk5SaXhEUVVGSkxFVkJRVWNzUTBGRFpFRXNSVUZCU3l4TlFVRk5MRTlCUVZNc1IwRkRjRUpLTEVWQlFWRXNaMFJCUVdkRUxFVkJRelZFTEVsQlFVMVBMRVZCUVU5SUxFVkJRVXNzVFVGQlRTeERRVUZETEVkQlFVc3NTVUZCU1Vrc1IwRkJTeXhKUVVGSlF5eEZRVUZQTEVsQlFVa3NRMEZCUXl4RlFVdDJSQ3hIUVVwSlRDeEZRVUZMTEdkQ1FVTk1SeXhGUVVGTExFbEJRVWtzWTBGQlowSkJMRVZCUVVzc1NVRkJTU3hqUVVNMVFpeEhRVUZIU0N4RlFVRkxMR0ZCUVdFN1FVRkJRU3hGUVVGTFJ5eEZRVUZMTEVsQlFVa3NZVUZCWVN4SFFVTm9SRWdzUlVGQlN5eGxRVU5ZUVN4RlFVRkxMRkZCUVZNc1EwRkRaQ3hKUVVGTlRTeEhRVUZMVkN4RlFVRkJUU3hGUVVGTExGRkJRVXdzUzBGQlFVNHNSVUZCWTAwc1JVRkJTeXhKUVVNNVFrY3NSVUZCUnl4UlFVRlZRU3hGUVVGSExGRkJRMVlzUjBGQlIwNHNSVUZCU3l4UFFVRlBPMEZCUVVFc1JVRkJTMDBzUlVGQlJ5eFBRVUZQTEVkQlF6bENUaXhGUVVGTExFOUJRMllzUTBGRFFVRXNSVUZCVDBjc1EwRkRXQ3hEUVVOQlVpeEZRVUZKTEUxQlFVMUpMRU5CUVVNc1JVRkJTVVVzUlVGQlQwUXNRMEZCU1N4RlFVRkpRU3hGUVVGUExFbEJRVWxKTEVkQlFVdEtMRU5CUVVrc1JVRkRkRVFzVFVGSFFVb3NSVUZCVVN4clEwRkJhME1zUlVGRE9VTXNUMEZCVDBRc1EwRkRXQ3hEUVVOQkxGTkJRVk5aTEVkQlFWbERMRVZCUVZGRExFVkJRVlZETEVWQlFVc3NRMEZEZUVNc1IwRkJUU3hEUVVGRkxGTkJRVUZETEVOQlFWTXNSVUZCU1VRc1JVRkRaa1VzUlVGQlVTeEpRVUZKUXl4SFFVRlJUQ3hEUVVGTkxFVkJRMmhEU1N4RlFVRk5MRWxCUVUwc01FSkJRMW9zU1VGQlNTeEZRVUZKTEVWQlExSXNSMEZCU1Vnc1IwRkJXU3hQUVVGUExGbEJRVmtzVDBGQlQwRXNRMEZCVVN4RlFVTTVReXhSUVVGVFN5eExRVUZOVEN4RlFVRlZMRU5CUTJwQ0xFOUJRVTlGTEVkQlFXRXNZVUZEY0VKSExFVkJRVXRJTEVWQlFWTXNTMEZCUzBZc1JVRkJWU3hQUVVGUExFZEJRVWNzUlVGQlIwc3NRMEZCUlN4SFFVTm9SQ3hKUVVGSlF5eEZRVUZMUXl4RlFVTlVMRWRCUVVrc1RVRkJUU3hSUVVGUlJpeERRVUZGTEVWQlEyaENMRWRCUVVsQkxFVkJRVWNzVTBGQlZ5eEZRVU5rUXl4RlFVRk5SQ3hGUVVGSExFTkJRVU1zUlVGRFZrVXNSVUZCVVVZc1JVRkJSeXhEUVVGRExFMUJSMW9zVDBGQlRTeEpRVUZKTEZWQlFWVXNaME5CUVdkRFFTeERRVUZGTEVWQlFVVXNWVUZGZGtSQkxFZEJRVTFCTEdGQlFXTXNUMEZCVVN4RFFVTnFReXhKUVVGTlJ5eEZRVUZQTEU5QlFVOHNTMEZCUzBnc1EwRkJSU3hGUVVNelFpeEhRVUZKUnl4RlFVRkxMRk5CUVZjc1JVRkRhRUpHTEVWQlFVMUZMRVZCUVVzc1EwRkJReXhGUVVOYVJDeEZRVUZSUml4RlFVRkhReXhEUVVGSExFMUJSMlFzVDBGQlRTeEpRVUZKTEZWQlFWVXNiME5CUVc5RFJTeEZRVUZMTEUxQlFVMHNUMEZCVHl4RFFVVnNSaXhOUVVWSlJpeEZRVUZOUkN4RlFVVldSaXhGUVVGTkxFMUJRVTBzUzBGQlMwMHNSMEZCVjBnc1JVRkJTME1zUlVGQlQwNHNRMEZCUnl4RFFVRkRMRU5CUTJoRUxFTkJRMG9zVDBGQlQwVXNRMEZEV0N4RFFVTkJMRWxCUVUxQkxFZEJRVkVzUTBGRFZpeFhRVUZaTEUxQlExb3NVVUZCVXl4SFFVTlVMRWxCUVVzc01FSkJRMHdzVVVGQlUyeENMRWRCUTFRc1YwRkJXV0VzUlVGRGFFSXNSVU55UlVFc1NVRkJUVmtzUjBGQlRpeE5RVUZOUXl4VlFVRnBRa01zUlVGQlVTeERRVU16UWl4aFFVRmpMRU5CUTFZc1RVRkJUU3hGUVVOT0xFdEJRVXNzU1VGQlRVTXNSMEZCVVN4VlFVRlZMRWxCUVVrc1MwRkJTeXhKUVVGSkxFVkJRekZETEV0QlFVc3NUMEZCVTBFc1IwRkJVU3hWUVVGVkxFOUJRVThzUzBGQlN5eEpRVUZKTEVWQlEyaEVMRXRCUVVzc1NVRkJUVUVzUjBGQlVTeFZRVUZWTEVsQlFVa3NTMEZCU3l4SlFVRkpMRVZCUXpGRExFdEJRVXNzU1VGQlRVRXNSMEZCVVN4VlFVRlZMRWxCUVVrc1MwRkJTeXhKUVVGSkxFVkJRekZETEV0QlFVc3NTVUZCVFVFc1IwRkJVU3hWUVVGVkxFbEJRVWtzUzBGQlN5eEpRVUZKTEVWQlF6RkRMRXRCUVVzc1NVRkJUVVlzUlVGQlV5eEhRVU40UWl4RFFVdEJMRTlCUVU5SExFVkJRVWRETEVWQlFVc3NRMEZEV0N4SFFVRkpMRU5CUVVOQkxFVkJRMFFzVDBGQlR5eE5RVUZOTEU5QlFVOUVMRU5CUVVNc1JVRkRla0lzU1VGQlRVVXNSVUZCVFN4SlFVRkpMRWxCUTFwRUxFZEJRVUVzVFVGQlFVRXNSVUZCU3l4VlFVTk1RU3hGUVVGSkxGTkJRVk5ETEVOQlFVY3NSVUZEY0VJc1VVRkJWME1zUzBGQlVTeExRVUZMTEUxQlFVOHNRMEZETTBJc1NVRkJTVU1zUlVGQlMwTXNSVUZSVkN4SFFWQkpReXhGUVVGUFNDeERRVUZKTEVkQlExaERMRVZCUVUxSExFZEJRVXRLTEVWQlFVc3NTVUZCU3l4SFFVRkpSaXhEUVVGSExFVkJRelZDU1N4RlFVRlJSU3hIUVVGTFNpeEZRVUZMTEUxQlFVOURMRVZCUVV0SUxFTkJRVWNzUjBGSGFrTkhMRVZCUVUxSExFZEJRVXRLTEVWQlFVMHNSMEZCU1VZc1EwRkJSeXhGUVVWNFFrTXNSVUZCU1N4SlFVRkpSU3hEUVVGSExFVkJRMWdzVFVGQlRTeEpRVUZKTEUxQlFVMHNPRU5CUVRoRExFVkJRMnhGUml4RlFVRkpMRWxCUVVsRkxFVkJRVXRETEVOQlFVc3NRMEZEZEVJc1EwRkRRU3hQUVVGUFNDeERRVU5ZTEVOQlEwRXNUMEZCVHl4TFFVRkxUU3hGUVVGUlF5eEZRVUZWVWl4RlFVRkxMRU5CUXk5Q0xFbEJRVTFUTEVWQlFWRkRMRWRCUVZsSUxFVkJRVkZETEVWQlFWVlNMRU5CUVVjc1JVRkRla05YTEVWQlFVOHNTVUZCU1N4TFFVTnFRaXhQUVVGQlFTeEZRVUZMTEUxQlFWRkdMRVZCUVUwc1RVRkRXa1VzUTBGRFdDeERRVU5LTEVWQlEwRm9RaXhIUVVGVExFbEJRVTBzZVVKQlEyWXNTVUZCVFdkQ0xFZEJRVThzUTBGRFZDeFhRVUZaTEUxQlExb3NVMEZCVlZBc1IwRkJVMEVzWVVGQmFVSXNTVUZEY0VNc1ZVRkJWMVFzUjBGRFdDeFJRVUZUTEVkQlExUXNTVUZCU3l4NVFrRkRUQ3hSUVVGUmFVSXNSVUZCUzBNc1JVRkJVeXhEUVVOc1FpeEpRVUZOU2l4RlFVRlJTeXhIUVVGaFJpeEZRVUZMUXl4RFFVRlBMRVZCUTJwRFJTeEZRVUZYTEVOQlFVTXNSVUZEYkVJc1QwRkJWeXhEUVVGRkxFbEJRVUZhTEVOQlFVa3NTVUZCUzAwc1JVRkJUU3hOUVVOd1FrOHNSVUZCVTJJc1EwRkJSeXhKUVVOU1dTeEZRVUZUTEZOQlFWTmFMRVZCUVVrc1MwRkJTeXhGUVVNelFsVXNSVUZCVVN4cFJFRkJhVVJXTEVWQlFVa3NTMEZCU3l4RlFVRkZMRVZCUjNCRldTeEZRVUZUTEV0QlFVdGFMRVZCUVVrc1MwRkJTeXhIUVVsdVF5eFBRVUZQTEU5QlFVOHNUMEZCVHl4SlFVRkpVaXhIUVVGWll5eERRVUZMTEVOQlF6bERMRVZCUTBFc1YwRkJXU3hEUVVGRFJpeEZRVUZSUXl4RlFVRlZVaXhKUVVGUlRDeEhRVUZUTEV0QlFVdFpMRVZCUVZGRExFVkJRVlZTTEVOQlFVY3NRMEZET1VVc1JVTnlSVUVzVTBGQlUybENMRWRCUVdNc1EwRkJSU3hOUVVGQlF5eEZRVUZQTEU5QlFVRkRMRU5CUVU4c1JVRkJSME1zUlVGQlN5eERRVVV6UXl4UFFVRkpSQ3hKUVVSWlJDeEZRVUZSUnl4SFFVRlZReXhKUVVOYUxFdEJRVXNzUzBGQlMwZ3NRMEZCVFN4RlFVTXpRa0VzUlVGRFNrUXNSVUZCVVVVc1JVRkJTU3hSUVVGUkxGRkJRVlZCTEVWQlFVa3NVVUZCVVN4UlFVTnlSQ3hEUVVOQkxFbEJRVTFETEVkQlFWVXNRMEZEV2l4VFFVRlZTQ3hIUVVGVFFTeEpRVUZWTEVkQlF6ZENMRkZCUVZNc1IwRkRWQ3hKUVVGTExIbENRVU5NTEV0QlFVMHNOa05CUTA0c1VVRkJVeXhKUVVGTkxFbEJRVWxMTEVWQlFVOHNSVUZCU1N4RlFVTTVRaXhWUVVGWFRpeEZRVU5tTEVWQlEwMUxMRWRCUVZjc1EwRkRZaXhUUVVGVlNpeEhRVUZUUVN4SlFVRlZMRWRCUXpkQ0xGRkJRVk1zUjBGRFZDeEpRVUZMTEhsQ1FVTk1MRXRCUVUwc0swTkJRMDRzVVVGQlV5eEpRVUZOTEVsQlFVbExMRVZCUVU4c1JVRkJTeXhGUVVNdlFpeFZRVUZYVGl4RlFVTm1MRVZEY0VKQkxFbEJRVTFQTEVkQlFWY3NRMEZEWWl4VFFVRlZReXhIUVVGVExFOUJRVTlCTEVkQlFWVXNVMEZEY0VNc1VVRkJVeXhIUVVOVUxFbEJRVXNzTUVKQlEwd3NTMEZCVFN4cFJFRkRUaXhSUVVGVlF5eEhRVUZSUVN4RlFVRkpMRTFCUVUwc1JVRkJSU3hGUVVGRkxGbEJRVmtzU1VGQlRTeE5RVU0xUXl4SlFVTkJRU3hGUVVGSkxFTkJRVU1zU1VGQlRTeEpRVU5RTEU5QlFVOHNhMEpCUTFBc1QwRkJUeXhyUWtGRGFrSXNWVUZCVjBNc1JVRkRaaXhGUVVOTlF5eEhRVUZYTEVOQlEySXNVMEZCVlVnc1IwRkJVeXhQUVVGUFFTeEhRVUZWTEZOQlEzQkRMRkZCUVZNc1IwRkRWQ3hKUVVGTExEQkNRVU5NTEU5QlFWRXNUVUZEVWl4TFFVRk5MSGRFUVVOT0xGRkJRVlZETEVkQlFWRXNWMEZCVjBFc1JVRkJTU3hSUVVGUkxFdEJRVTBzUlVGQlJTeERRVUZETEVWQlEyeEVMRlZCUVZWSExFVkJRVTBzUTBGRFdpeEpRVUZOUXl4RlFVRk5MRTlCUVU5RUxFVkJRVXNzUzBGQlN5eEZRVU0zUWl4UFFVRlBMRk5CUVZORExFTkJRVWNzUlVGQlNVRXNSVUZCU1N4alFVRmpMRVZCUVVsSUxFZEJRV2RDUlN4RFFVRkpMRU5CUTNKRkxFTkJRMG9zUlVGRFRVVXNSMEZCVVN4RFFVTldMRk5CUVZWT0xFZEJRVk1zVDBGQlQwRXNSMEZCVlN4VFFVTndReXhSUVVGVExFZEJRMVFzU1VGQlN5d3dRa0ZEVEN4TFFVRk5MRzlEUVVOT0xGRkJRVkZETEVWQlFVc3NRMEZEVkN4SlFVRk5SeXhGUVVGUExFbEJRVWxITEVWQlFVOHNWMEZCVjA0c1JVRkJTU3hSUVVGUkxFdEJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNSVUZEYmtSUExFVkJRVTFRTEVWQlFVa3NVVUZCVVN4SFFVRkhMRVZCUXpOQ0xFZEJRVWxQTEVsQlFWRXNSMEZCU1N4RFFVTmFMRWxCUVUxRExFVkJRVWxTTEVWQlFVa3NWVUZCVlU4c1JVRkJUU3hEUVVGRExFVkJRVVVzVVVGQlVTeExRVUZOTEVWQlFVVXNSVUZETjBORExFVkJRVVZCTEVWQlFVVXNUMEZCVXl4RFFVRkRMRWxCUVUwc1RVRkRjRUpNTEVWQlFVc3NhMEpCUVc5Q1N5eEZRVUZGTEU5QlEyNURMRU5CUTBFc1QwRkJUMHdzUTBGRFdDeEZRVU5CTEZWQlFWZEdMRVZCUTJZc1JVTjZRMEVzU1VGQlRWRXNSMEZCWlVNc1IwRkJWU3hQUVVGUFFTeEhRVUZWTEZWQlFWa3NUMEZCVHl4VlFVRlZRU3hEUVVGTExFVkJRMnhHTEZOQlFWTkRMRWRCUVZkRExFVkJRVXRETEVWQlFWRkRMRVZCUVU4c1EwRkJSU3haUVVGQlF5eERRVUZaTEVWQlFVY3NRMEZEY2tRc1NVRkJUVU1zUlVGQlQwb3NSVUZCU1N4RFFVRkRMRVZCU1d4Q0xFbEJTRWxKTEVsQlFWTXNTMEZCVDBFc1NVRkJVeXhQUVVONlFrZ3NSMEZCVlN4SFFVTmtSQ3hGUVVGTlFTeEZRVUZKTEZWQlFWVkRMRU5CUVUwc1JVRkJSU3hSUVVGUkxFdEJRVTBzUlVGQlJTeEZRVU40UTBVc1JVRkJZU3hEUVVOaUxFOUJRVkZFTEVWQlFVOHNRMEZEV0N4SlFVRkxMRWRCUTBSR0xFVkJRVTBzUzBGQlMwRXNRMEZCUnl4SFFVTmtMRTFCUTBvc1NVRkJTeXhIUVVORVFTeEZRVUZOTEV0QlFVdEJMRU5CUVVjc1IwRkRaQ3hOUVVOS0xFbEJRVXNzU1VGRFJFRXNSVUZCVFN4TFFVRkxRU3hEUVVGSExFZEJRMlFzUzBGRFVpeERRVU5CTEVsQlFVMUxMRVZCUVVrc1QwRkJUMHdzUTBGQlJ5eEZRVU53UWl4UFFVRlBTU3hKUVVGVExFbEJRVTBzVDBGQlR5eEZRVUZGTEVWQlFVbERMRVZCUVVsQkxFTkJRek5ETEVOQlEwRXNTVUZCVFVFc1JVRkJTU3hUUVVGVFRDeEZRVUZMUlN4RFFVRkxMRVZCUXpkQ0xFOUJRVTlGTEVsQlFWTXNTVUZCVFN4SFFVRkxReXhGUVVGSlFTeERRVU51UXl4RFFVTkJMRk5CUVZORExFZEJRV0ZETEVWQlFVMU1MRVZCUVU5TkxFVkJRVkVzUTBGRGRrTXNSMEZCVFN4RFFVRkZMRTFCUVVGV0xFTkJRVTBzUlVGQlNWTXNSVUZEYkVJc1IwRkJTVllzUjBGQldVTXNRMEZCU3l4RlFVRkhMRU5CUTNCQ0xFbEJRVTFGTEVWQlFVMUdMRVZCUVUwc1UwRkJVMGtzUTBGQlN5eEZRVU5vUXl4UFFVRlBTaXhGUVVGUkxFVkJRVWtzU1VGQlRWVXNSVUZCVTFJc1JVRkJTU3hQUVVGUExFTkJRVU1zUlVGQlNWRXNSVUZCVTFJc1EwRkRMMFFzUTBGRFFTeFBRVUZQVXl4SFFVRm5Ra1lzUTBGQlNTeERRVU12UWl4RFFVTkJMRWxCUVUxSExFZEJRVk1zUTBGRFdDeFRRVUZWWWl4SFFVTldMRkZCUVZNc1IwRkRWQ3hKUVVGTExIZENRVU5NTEU5QlFWRXNUVUZEVWl4TFFVRk5MRzFDUVVOT0xGRkJRVk1zUTBGQlEwY3NSVUZCUzFjc1JVRkJWVU1zU1VGQlVXSXNSMEZCVjBNc1JVRkJTeXhGUVVGSExFVkJRVWRaTEVOQlFVY3NSVUZETVVRc1ZVRkJWMHdzUjBGQlVVUXNSMEZCWVVNc1JVRkJUU3hGUVVGSExFbEJRVWtzUTBGRGFrUXNSVUZEVFUwc1IwRkJVeXhEUVVOWUxGTkJRVlZvUWl4SFFVTldMRkZCUVZNc1IwRkRWQ3hKUVVGTExIZENRVU5NTEU5QlFWRXNUVUZEVWl4TFFVRk5MR3RDUVVOT0xGRkJRVk1zUTBGQlEwY3NSVUZCUzFjc1JVRkJWVU1zU1VGQlVXSXNSMEZCVjBNc1JVRkJTeXhGUVVGSExFVkJRVWRaTEVOQlFVY3NSVUZETVVRc1ZVRkJWMHdzUjBGQlVVUXNSMEZCWVVNc1JVRkJUU3hGUVVGSExFZEJRVWNzUTBGRGFFUXNSVUZEVFU4c1IwRkJUU3hEUVVOU0xGTkJRVlZxUWl4SFFVTldMRkZCUVZNc1IwRkRWQ3hKUVVGTExIZENRVU5NTEV0QlFVMHNjMEpCUTA0c1VVRkJVeXhEUVVGRFJ5eEZRVUZMVnl4RlFVRlZReXhKUVVGUllpeEhRVUZYUXl4RlFVRkxMRVZCUVVjc1IwRkJTVmtzUTBGQlJ5eEZRVU16UkN4VlFVRlhTQ3hGUVVObUxFVkJRMDFOTEVkQlFWTXNRMEZEV0N4VFFVRlZiRUlzUjBGRFZpeFJRVUZUTEVkQlExUXNTVUZCU3l4M1FrRkRUQ3hQUVVGUkxFMUJRMUlzUzBGQlRTeDVRa0ZEVGl4UlFVRlRMRU5CUVVOSExFVkJRVXRYTEVWQlFWVkRMRWxCUVZGaUxFZEJRVmRETEVWQlFVc3NSVUZCUnl4SFFVRkpXU3hEUVVGSExFVkJRek5FTEZWQlFWZE1MRWRCUVZGRUxFZEJRV0ZETEVWQlFVMHNSMEZCU1N4SlFVRkpMRU5CUTJ4RUxFVkRhRVZCTEVsQlFVMVRMRWRCUVU0c1RVRkJUVU1zVlVGQlowSkRMRVZCUVZFc1EwRkRNVUlzV1VGQldVTXNSVUZCVVN4RFFVTm9RaXhOUVVGTlFTeERRVUZOTEVWQlExb3NTMEZCU3l4SlFVRk5SaXhGUVVGUkxFZEJRM1pDTEVOQlEwRXNTVUZCU1Vjc1JVRkJTeXhEUVVOTUxFbEJRVWxETEVWQlEwRkRMRVZCUVU5R0xFTkJRVWNzUlVGRFZrTXNSVUZCVDBRc1JVRkRSa0VzUjBGRFRDeFBRVUZQUVN4SFFVRlJMRlZCUTJZc1VVRkJVMEVzUjBGRFZDeFZRVUZYUVN4SFFVTllRU3hGUVVGSkxGRkJRVlVzUzBGRFpFTXNSVUZCVHl4SlFVRkpSU3hIUVVGTFNDeEZRVUZKTEVsQlFVc3NTVUZCU1N4RlFVVTNRa01zUlVGQlR5eEpRVUZKUlN4SFFVRkxTQ3hGUVVGTExFbEJRVWtzUlVGRGFFSkpMRWRCUVZNc1MwRkJTeXhOUVVGUFNDeEZRVUZMTEVkQlFVY3NSMEZGZEVNc1MwRkJTeXhOUVVGTkxFdEJRVXRCTEVOQlFVa3NRMEZETlVJc1EwRkxRU3hKUVVGSlJDeEZRVUZMU3l4RlFVRlZMRU5CUTJZc1NVRkJUVW9zUlVGQlQwY3NSMEZCVXl4TFFVRkxMRTFCUVU5S0xFTkJRVWNzUlVGRGNrTXNUVUZCVHl4RFFVRkRTeXhIUVVGWlNDeEZRVUZQUkN4RFFVRkpMRVZCUTNwQ1N5eEZRVUZUVEN4RlFVRkxMRWRCUVVjc1JVRkRZa0VzUlVGQlN5eEpRVUZKTEUxQlExUkJMRVZCUVVzc1NVRkRWRUVzUTBGRFZpeERRVU5CTEVsQlFVbEVMRVZCUVV0UExFVkJRVThzUTBGRFdpeEhRVUZKTEU5QlFVOUJMRWRCUVZVc1ZVRkRha0lzVFVGQlRTeEpRVUZKTEUxQlFVMHNhVVZCUVdsRkxFOUJRVTlCTEVOQlFVc3NSVUZCUlN4RlFVTnVSeXhKUVVGTlF5eEZRVUZQU2l4SFFVRlRMRXRCUVVzc1RVRkJUMG9zUTBGQlJ5eEZRVU5xUTFFc1IwRkJVU3hEUVVGRFJDeEZRVU5VTEV0QlFVc3NUVUZCVFN4UFFVRlBMRXRCUVVzc1RVRkJUU3hSUVVGUlF5eERRVUZKTEVWQlFVY3NRMEZCUXl4RlFVVjRReXhEUVVGRFFTeEhRVUZSUkN4SFFVTmtMRXRCUVVzc1RVRkJUU3hMUVVGTExFbEJRVWxLTEVkQlFVdElMRU5CUVVjc1EwRkJReXhEUVVWeVF5eERRVU5CTEU5QlFVOVRMRVZCUVVkRExFVkJRVXNzUTBGRFdDeFBRVUZQTEUxQlFVMHNUMEZCVDBRc1JVRkJSME1zUlVGQlN5eEhRVUZITEVOQlEyNURMRU5CUTBFc1UwRkJVMEVzUlVGQlMwTXNSVUZCVjBNc1JVRkJZU3hEUVVOc1F5eEhRVUZKTEVOQlFVTkdMRVZCUTBRc1QwRkJUeXhMUVVGTExGVkJRVlVzU1VGQlNTeEZRVU01UWl4SFFVRkpMRXRCUVVzc2FVSkJRV2xDTEVWQlFVa3NSVUZETVVJc1QwRkJUeXhOUVVGTkxGTkJRVk1zVDBGQlR5eFBRVUZQTEVOQlFVTXNSVUZCUjBFc1JVRkJTeXhEUVVGRkxHTkJRV1VzUlVGQlN5eERRVUZETEVWQlFVZERMRVZCUVZkRExFTkJRVmNzUlVGRk4wWXNUVUZCVFN4SlFVRkpMRTFCUVUwc2NVTkJRWEZETEVOQlF6ZEVMRU5CUTBFc1QwRkJUeXhMUVVGTFlpeEZRVUZSWXl4RlFVRlZTQ3hGUVVGTExFTkJReTlDTEVkQlFVMHNRMEZCUlN4VFFVRkJTU3hEUVVGVExFVkJRVWxLTEVWQlEyWkxMRVZCUVUwc1NVRkJTU3hMUVVGTGFFSXNRMEZCVFN4RlFVTXpRaXhIUVVGSll5eEhRVUZaTEU5QlFVOHNXVUZCV1N4UFFVRlBRU3hEUVVGUkxFVkJRemxETEZGQlFWTk9MRXRCUVZOTkxFVkJRMVlzVDBGQlQwTXNSMEZCWVN4aFFVTndRbEFzUlVGQlVVOHNSVUZCVXl4TFFVRkxSQ3hGUVVGVlRpeEZRVUZQUVN4RFFVRkxMRWRCUTJoRVVTeEZRVUZKTEUxQlFVMHNTMEZCUzBNc1IwRkJWMVFzUlVGQlR5eExRVUZOUnl4RFFVRkhMRU5CUVVNc1JVRkZia1FzVDBGQlQwc3NRMEZEV0N4RFFVTktMRVZCUTBGdVFpeEhRVUZSTEVsQlFVMHNkMEpCUTJRc1NVRkJUVzFDTEVkQlFVMHNRMEZEVWl4WFFVRlpMRTFCUTFvc1UwRkJWVklzUjBGQlUwRXNZVUZCYVVJc1NVRkRjRU1zVlVGQlYxZ3NSMEZEV0N4UlFVRlRMRWRCUTFRc1NVRkJTeXgzUWtGRFRDeFhRVUZaTEVOQlFVTkhMRVZCUVZGakxFVkJRVlZJTEVsQlFWRmtMRWRCUVZFc1MwRkJTMGNzUlVGQlVXTXNSVUZCVlVnc1EwRkJSeXhGUVVONlJTeFJRVUZSVHl4RlFVRkxReXhGUVVGVExFTkJRMnhDTEVkQlFVbERMRWRCUVUxR0xFTkJRVWNzUlVGQlJ5eERRVU5hTEVkQlFVbEJMRVZCUVVrc2FVSkJRV2xDTEVWQlFVa3NSVUZEZWtJc1QwRkJUeXhQUVVGUExFOUJRVThzU1VGQlNYSkNMRWRCUVZkeFFpeERRVUZITEVWQlJYWkRReXhGUVVGUkxIRkRRVUZ4UXl4RFFVTnlSQ3hOUVVWSlFTeEZRVUZSTEdsRFFVRnBReXhGUVVNM1F5eFBRVUZQUkN4RFFVTllMRU5CUTBvc1JVTjJSa0VzVTBGQlUwY3NSMEZCYVVKRExFVkJRVXRETEVWQlFWVXNRMEZEY2tNc1NVRkJUVU1zUlVGQlQwWXNSVUZCU1N4RFFVRkRMRVZCUTFwSExFVkJRVkZFTEVsQlFWTXNTMEZCVDBFc1NVRkJVeXhKUVVGTlJpeEZRVUZKTEZWQlFWVXNRMEZCUXl4RlFVRkpRU3hGUVVNeFJFa3NSVUZCVDBNc1IwRkJUVW9zUlVGQlZ5eFBRVUZQU1N4RFFVRkRMRVZCUVVrc1QwRkJUMEVzUTBGQlF5eEZRVU0xUTBNc1JVRkJUVWdzUlVGRFVDeFJRVUZSTEV0QlFVMHNSVUZCUlN4RlFVTm9RaXhOUVVGTkxFZEJRVWNzUlVGRFZDeFBRVUZQTEVOQlFVTkhMRVZCUVV0RExFbEJRVTFFTEVWQlFVMUdMRVZCUVVrc1JVRkJSU3hGUVVGSlFTeEZRVUZKUnl4RFFVRkRMRVZCUVVkSUxFVkJRVWtzUTBGQlF5eERRVUZETEVWQlEzUkVMRTlCUVZGR0xFbEJRVk1zU1VGQlRVVXNSVUZCU1N4RlFVRkZMRVZCUVVsRkxFVkJRVTFCTEVOQlF6TkRMRU5CVFVFc1UwRkJVMFVzUjBGQmNVSkRMRVZCUVUwc1EwRkRhRU1zUjBGQlNTeERRVUZGTEUxQlFVRkRMRU5CUVUwc1JVRkJTVVFzUlVGRFdrd3NSVUZCVDBNc1IwRkJUVUVzUlVGRGFrSXNSMEZCU1N4UFFVRlBTeXhIUVVGVkxGTkJRMnBDVGl4RlFVRk5ReXhIUVVGTExFOUJRVTlCTEVOQlFVTXNWVUZEWkN4TlFVRk5TeXhEUVVGTExFZEJRVXNzUTBGQlF5eFRRVUZUUVN4RFFVRkxMRVZCUTNCRExFOUJRVTlETEVkQlFXZENSaXhEUVVGSkxFVkJReTlDTEVsQlFVbFFMRVZCUVU4c1IwRkRVRkVzUlVGQlVTeEpRVU5TVWl4RlFVRlBMRWxCUTFCUkxFZEJRVk5PTEVWQlFVa3NSVUZCUlN4SFFVVnVRaXhKUVVGTlVTeEZRVUZOVWl4RlFVRkpMRVZCUVVVc1JVRkRXa1FzUlVGQlVTeERRVUZEVHl4RlFVRlJSU3hEUVVGSExFVkJRekZDTEU5QlFVbEdMRVZCUVZFc1IwRkRVbEFzUlVGQlRTeFJRVUZSTEVOQlFVTXNSMEZIWms4c1IwRkJVMEVzUlVGQlVWQXNSVUZCVFN4RFFVRkRMRWRCUVV0VExFVkJRemRDVkN4RlFVRk5MRkZCUVZGUExFVkJRVkZGTEVOQlFVY3NSVUZEY2tKR0xFZEJRVk1zUzBGRFZFRXNSMEZCVTBFc1JVRkJVVkFzUlVGQlRTeERRVUZETEVkQlFVdFRMRVZCUXpkQ1ZDeEZRVUZOTEZGQlFWRlBMRU5CUVVzc1NVRkhia0pTTEVWQlEwcERMRVZCUTBzc1NVRkJTVVVzUjBGQlN5eFBRVUZQUVN4RFFVRkRMRVZCUVVVc1UwRkJVeXhGUVVGSExFZEJRVWNzUTBGQlF5eEZRVU51UXl4TFFVRkxMRWRCUVVjc1JVRkRVaXhSUVVGUkxHRkJRV01zUlVGQlJTeERRVVZ5UXl4RFFVTkJMRWxCUVUxUkxFZEJRVlVzUTBGRFdpeFRRVUZWU0N4SFFVRlRMRTlCUVU5QkxFZEJRVlVzVlVGQldTeFBRVUZQTEZWQlFWVkJMRU5CUVVzc1JVRkRkRVVzVVVGQlV5eEhRVU5VTEVsQlFVc3NkMEpCUTB3c1QwRkJVU3hQUVVOU0xFdEJRVTBzZFVOQlEwNHNVVUZCVXl4RFFVRkRWaXhGUVVGTFl5eEZRVUZWTEVOQlFVVXNXVUZCUVVNc1EwRkJXU3hKUVVGTmFFSXNSMEZCYVVKRExFVkJRVXRsTEVOQlFWY3NSVUZET1VVc1ZVRkJWMUFzUlVGRFppeEZRVU5OVVN4SFFVRlpMRU5CUTJRc1UwRkJWVTRzUjBGQlV5eFBRVUZQUVN4SFFVRlZMRk5CUTNCRExGRkJRVk1zUjBGRFZDeEpRVUZMTERCQ1FVTk1MRTlCUVZFc1QwRkRVaXhMUVVGTkxHZEVRVU5PTEZGQlFWTldMRWRCUVU5RUxFZEJRV2xDUXl4RlFVRkxMRVZCUVVzc1JVRkRNME1zVlVGQlYxRXNSVUZEWml4RlFVTk5VeXhIUVVGWkxFTkJRMlFzVTBGQlZWQXNSMEZCVTBFc1lVRkJhVUlzUzBGRGNFTXNVVUZCVXl4SFFVTlVMRWxCUVVzc09FSkJTVXdzUzBGQlRTeFBRVUZQTERKS1FVdEtMRVZCUTFRc1VVRkJVVllzUlVGQlN5eERRVU5VTEVsQlFVMXJRaXhGUVVGUmJFSXNSVUZCU1N4TlFVRk5hVUlzUjBGQlZTeEpRVUZKTEVWQlEzUkRMRWRCUVVrc1EwRkJRME1zUlVGRFJDeE5RVUZOTEVsQlFVa3NUVUZCVFN4elJFRkJjMFFzUlVGRE1VVXNSMEZCVFN4RFFVRkRMRU5CUVVWRExFVkJRVTFETEVWQlFVOURMRVZCUVV0RExFVkJRVTFETEVWQlFWRkRMRU5CUVUwc1JVRkJTVTRzUlVGQlRTeEpRVUZKTEUxQlFVMHNSVUZETjBSUExFVkJRVmRRTEVWQlFVMHNRMEZCUXl4RlFVRkpMRkZCUVZGQkxFVkJRVTBzUTBGQlF5eEZRVUZKTEUxQlFVMHNUMEZCVHl4RlFVRkhMRU5CUVVNc1EwRkJReXhGUVVGSkxFVkJRMnBGVVN4RlFVRlBMRXRCUVVzc1NVRkJTVkFzUlVGQlRVTXNSVUZCVVN4RlFVRkhReXhGUVVGTFF5eEhRVUZSTEVWQlFVZERMRWRCUVZVc1JVRkJSME1zUjBGQlZTeEZRVUZIUXl4RFFVRlJMRVZCUTJwR1JTeEZRVUZMVkN4RlFVRk5MRU5CUVVNc1JVRkRiRUlzUjBGQlNWTXNSMEZCVFVFc1NVRkJUeXhKUVVGTExFTkJRMnhDTEVsQlFVa3NSVUZCU1RWQ0xFZEJRV2xDTkVJc1JVRkJTU3hGUVVGTExFVkJRemxDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRVZCUVVrc1MwRkRaQ3hIUVVGTExFbEJRMVJFTEVkQlFWRXNTVUZCVVN4RFFVTndRaXhEUVVOQkxFOUJRVThzU1VGQlNTeExRVUZMUVN4RFFVRkpMRU5CUTNoQ0xFVkJRMEVzVlVGQlZ5eERRVUZETEVOQlFVVXNUVUZCUVdoQ0xFTkJRVTBzU1VGQlRVRXNSVUZCVFN4WlFVRlpMRVZCUVVVc1VVRkJVU3g1UWtGQk1FSXNSVUZCUlN4RFFVTjBSaXhGUTNCR1FTeEpRVUZOYTBJc1IwRkJVeXhEUVVOWVF5eEhRVU5CUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhIUVVOQlF5eEhRVU5CUXl4SFFVTkJReXhGUVVOS0xFVkRia0pCTEVsQlFVMURMRWRCUVZVc1NVRkJTU3hKUVVGSkxFTkJRM0JDTEVOQlFVTXNUMEZCVVVNc1JVRkJUU3hGUVVObUxFTkJRVU1zVjBGQldTeERRVUZEUXl4SFFVRkxReXhIUVVGTFF5eEZRVUZOTEVOQlFVTXNSVUZETDBJc1EwRkJReXhQUVVGUlNDeEZRVUZSTEVWQlEycENMRU5CUVVNc1UwRkJWVUVzUlVGQlVTeEZRVU51UWl4RFFVRkRMRmRCUVZsQkxFVkJRVkVzUTBGRGVrSXNRMEZCUXl4RlFVTkxTU3hIUVVGaExFTkJRMllzVDBGQlFVTXNSMEZEUVN4TFFVRk5ReXhIUVVOT0xFMUJRVUZETEVkQlEwRXNVMEZCUVVNc1IwRkRRU3hUUVVGQlF5eEhRVU5CTEZWQlFVRkRMRWRCUTBFc1NVRkJRVU1zUjBGRFFTeFBRVUZCUXl4SFFVTkJMRTlCUVVGRExFZEJRMEVzVVVGQlFVTXNSMEZEUVN4SlFVRkJZaXhIUVVOQkxFMUJRVUZqTEVkQlEwRXNTMEZCVFVNc1IwRkRUaXhMUVVGQlF5eEhRVU5CTEUxQlFVRkRMRWRCUTBFc1NVRkJRV2hDTEVkQlEwRXNTVUZCUVdsQ0xFZEJRMEVzVlVGQlFVTXNSVUZEU2l4RlFVTk5ReXhIUVVGblFpeERRVU5zUWl3eVFrRkJORUpvUWl4SFFVTTFRaXd3UWtGQk1rSlZMRWRCUXpOQ0xIbENRVUV3UWtVc1IwRkRNVUlzTUVKQlFUSkNReXhIUVVNelFpeDNRa0ZCZVVKRExFZEJRM3BDTERoQ1FVRXJRa01zUlVGRGJrTXNSVUZEUVN4VFFVRlRSU3hIUVVGUlF5eEZRVUZaUXl4RlFVRlpReXhGUVVGaExFTkJRMnhFTEVsQlFVMURMRVZCUVdFelFpeEhRVUZSTEVsQlFVbDVRaXhEUVVGVkxFVkJRM3BETEVkQlFVbEZMRWRCUVdNc1EwRkJRMGdzUlVGRFppeFBRVUZQUlN4SFFVRmxMRU5CUVVORExFVkJRVmNzVTBGQlUxZ3NSVUZCU3l4RlFVTXhRMWNzUlVGQlZ5eFBRVUZQV0N4RlFVRkxMRVZCUTNaQ1Z5eEZRVUZYTEUxQlFVMHNSVUZGTTBJc1NVRkJTVU1zUlVGQlQwUXNSVUZEV0N4SFFVRkpMRU5CUVVORExFVkJRMFFzUjBGQlNTeE5RVUZOTEZGQlFWRktMRU5CUVZVc1JVRkRlRUpKTEVWQlFVOHNRMEZCUXl4TlFVTlFMRU5CUTBRc1NVRkJUVU1zUlVGQlR5eE5RVUZOTEV0QlFVczNRaXhIUVVGUkxFdEJRVXNzUTBGQlF5eEZRVU5xUXl4UFFVRlBPRUlzUjBGQlQwRXNTVUZCVVN4UlFVRlJMRVZCUXpsQ0xFbEJRVWxCTEVkQlFVOHNTMEZCU3l4VlFVRlZRU3hEUVVGSExFTkJRVU1zUlVGRE9VSXNTMEZCU3l4SlFVRkpMRVZCUTJRc1RVRkJUU3hKUVVGSkxFMUJRVTBzYlVKQlFXMUNUQ3hEUVVGVkxHbENRVUZwUWtrc1EwRkJTU3cyUWtGQk5rSXNRMEZEYmtjc1EwRkZTaXhIUVVGSkxFMUJRVTBzVVVGQlVVd3NRMEZCVlN4RlFVTjRRaXhSUVVGWFR5eExRVUZQVUN4RlFVTmtTU3hGUVVGUFFTeEZRVUZMTEU5QlFVOUhMRU5CUVVjc1QwRkZja0lzVDBGQlQxQXNSMEZCWlN4aFFVTXpRa2tzUlVGQlQwb3NSVUZCVjBrc1JVRkJTeXhOUVVGTkxFTkJRVU1zUjBGRmJFTXNUMEZCU1VZc1NVRkRRVVVzUlVGQlQwRXNSVUZCU3l4UFFVRlBXaXhGUVVGTExFZEJRM0pDV1N4RlFVRkxMRTlCUVU4c1EwRkJRMEVzUlVGQlRVY3NTVUZCVVN4RFFVTTVRaXhKUVVGTlF5eEZRVUZUTEU5QlFVOUVMRWRCUVZFc1UwRkJWekZDTEVkQlFWY3dRaXhEUVVGSExFVkJRVWxCTEVWQlF6TkVMRWRCUVVrc1EwRkJRME1zUlVGQlVTeERRVU5VTEVsQlFVMURMRVZCUVZVc1MwRkJTeXhWUVVGVlJpeERRVUZITEVWQlF6VkNSaXhGUVVGUExFOUJRVThzUzBGQlMzaENMRVZCUVZVc1JVRkRPVUlzU1VGQlNYbENMRWRCUVU4c1MwRkJTeXhWUVVGVlFTeERRVUZITEVOQlFVTXNSVUZET1VJc1MwRkJTeXhKUVVGSkxFVkJRMlFzVFVGQlRTeEpRVUZKTEUxQlFVMHNjMEpCUVhOQ1J5eERRVUZQTEdkQ1FVRm5Ra29zUTBGQlNTeEZRVUZGTEVOQlEzWkZMRU5CUTBFc1QwRkJTMFFzUlVGQlN5eFRRVUZUU1N4RFFVRk5MRWRCUTNKQ1NpeEZRVUZMTEV0QlFVdEpMRU5CUVUwc1JVRkRZa29zUTBGRFdDeEZRVUZITEVOQlFVTXNRMEZCUXl4RFFVTlVMRU5EZGtaQkxFbEJRVTFOTEVkQlFYTkNMRU5CUVVORExFVkJRVWRETEVsQlFVMUVMRVZCUVVVc1NVRkJUVU1zUlVGQlJTeEpRVUZOTEVkQlFVdEVMRVZCUVVVc1NVRkJUVU1zUlVGQlJTeEpRVUZOTEVWQlFVa3NSVUZEZWtWRExFZEJRVTRzVFVGQlRVTXNRMEZCVHl4RFFVTlVMRmxCUVZrc1EwRkJSU3hQUVVGQlF5eEZRVUZSTEZkQlFVRkRMRVZCUVZrc1RVRkJRVU1zUlVGQlR5eHBRa0ZCUVVNc1JVRkJhMElzVDBGQlFVTXNSVUZCVVN4bFFVRkJReXhGUVVGblFpeHBRa0ZCUVVNc1EwRkJhVUlzUlVGQlJ5eERRVU51Unl4TFFVRkxMRTlCUVZNc1RVRkJUU3hSUVVGUlRpeERRVUZOTEVWQlF6VkNUeXhIUVVGUlVDeEZRVUZSTEZGQlFWRXNSVUZEZUVKQkxFVkJRMGxQTEVkQlFWRXNTMEZCVFZBc1EwRkJUU3hGUVVOd1FpeExRVU5XTEV0QlFVc3NTMEZCVVN4UFFVRlBTU3hIUVVGWExGVkJRVmxCTEVkQlFWY3NUMEZEZEVRc1MwRkJTeXhWUVVGWlJDeEZRVUZ0UWtzc1IwRkJaMElzUTBGQlF5eEZRVU55UkN4TFFVRkxMRXRCUVU5RUxFZEJRVkZPTEVWQlFWa3NTMEZCU3l4TFFVRk5ReXhEUVVGTExFVkJRMmhFTEV0QlFVc3NaMEpCUVd0Q1NTeEhRVUZCTEV0QlFVRkJMRVZCUVc5Q0xFdEJRek5ETEU5QlFVOHNaVUZCWlN4TFFVRk5SeXhIUVVGTExFTkJRVVVzVFVGQlQwTXNSVUZCU1N4RFFVRkRMRVZCUXk5RExFOUJRVThzWlVGQlpTeExRVUZOUXl4SFFVRlJMRU5CUVVVc1RVRkJUME1zUlVGQlR5eERRVUZETEVWQlEzSkVMRTlCUVU4c1pVRkJaU3hMUVVGTlF5eEhRVUZMTEVOQlFVVXNUVUZCVDBNc1JVRkJTU3hEUVVGRExFVkJSUzlETEV0QlFVc3NaVUZEUkN4UFFVRlBWQ3hIUVVGdFFpeFhRVU53UWtFc1JVRkRRVUVzU1VGQmJVSXNSMEZEWmxZc1IwRkRRU3hKUVVOc1FpeERRVU5CTEU5QlFWRXNRMEZEU2l4SlFVRk5iMElzUlVGQlR5eFBRVUZQTEU5QlFVOW9RaXhGUVVGUExGVkJRVmNzVDBGQlR5d3dRa0ZCTUVJc1NVRkJTU3hEUVVGRExFVkJRMjVHTEU5QlFVRm5RaXhGUVVGTExFdEJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNSVUZEY2tKQkxFTkJRMWdzUTBGRFNpeEZRemxDUVN4VFFVRlRReXhIUVVGclFrTXNSVUZCUzBNc1JVRkJVeXhEUVVwNlF5eEpRVUZCUXl4RlFVdEpMRWxCUVUxRExFVkJRVkVzUTBGQlF5eEZRVU5ZUXl4RlFVRm5Ra2dzUlVGQlVTeGhRVUZsTEVkQlF6TkRMRWRCUVVsQkxFVkJRVkVzWVVGQlpTeEpRVUZUUkN4RlFVRkpMRmRCUVZrc1EwRkRhRVFzU1VGQlRVc3NSVUZCVFV3c1JVRkJTU3hYUVVGWExGTkJRVk5CTEVOQlFVY3NSVUZEYmtOTExFZEJRMEZHTEVWQlFVMHNTMEZCUzBVc1EwRkJSeXhGUVVOa1JDeEZRVUZuUWl4SlFVVllTaXhGUVVGSkxGZEJRVmNzVjBGRGNFSkpMRVZCUVdkQ0xFZEJRM2hDTEVOQlEwbEJMRWRCUTBGRUxFVkJRVTBzUzBGQlN5eExRVUZMTEVWQlEzQkNMRWxCUVUxSExFVkJRVTFETEVkQlFYVkNVQ3hGUVVGTFF5eERRVUZQTEVWQlEzcERMRU5CUVVVc1kwRkJRVThzUTBGQll5eEZRVUZKUml4RlFVRkpMRkZCUXpsQ0xFZEJRVWxPTEVWQlFVa3NZMEZCWlN4RFFVTm1SeXhGUVVGTkxGTkJRVmNzUjBGRGFrSkJMRVZCUVUwc1VVRkJVU3hGUVVGRkxFVkJRM0JDTEVsQlFVMU5MRVZCUVV0RUxFVkJRV05TTEVWQlFVa3NZVUZCWVN4RlFVTXhRMGNzUlVGQlRTeFJRVUZSVHl4SFFVRmpSQ3hGUVVGSkxFVkJRVVVzUTBGQlF5eERRVU4yUXl4RFFVTkJMRWxCUVVsRkxFVkJRVmtzUjBGRFdrTXNSVUZCYVVJc1MwRkRja0lzUjBGQlNWb3NSVUZCU1N4VFFVRlZMRU5CUTJRc1IwRkJTV0VzUlVGQlQySXNSVUZCU1N4UlFVRlJMRVZCUVVjc1EwRkhkRUlzUjBGR1NVRXNSVUZCU1N4VFFVRlRMR0ZCUVdWSkxFZEJRelZDUkN4RlFVRk5MRXRCUVVzc1JVRkJSU3hGUVVOaVNDeEZRVUZKTEZOQlFWTXNZMEZCWlN4RFFVTTFRaXhKUVVGTlV5eEZRVUZMUkN4RlFVRmpVaXhGUVVGSkxGTkJRVk1zWVVGQllTeEZRVU51UkVjc1JVRkJUU3hMUVVGTFR5eEhRVUZqUkN4RlFVRkpMRVZCUVVVc1EwRkJReXhEUVVOd1F5eERRVVZCU0N4RlFVRkpMR2xDUVVGdFFpeERRVUZETEVOQlFVTk9MRVZCUVVrc1VVRkROMEpaTEVWQlFXbENXaXhGUVVGSkxGTkJRVk1zVDBGRGJFTXNRMEZEUVN4SlFVRk5ZeXhGUVVGalJpeEZRVUZwUWl4UFFVRlpMRWxCUVU5RUxFVkJRVmtzUjBGRGFFVkpMRVZCUVU5RExFZEJRVlZvUWl4RlFVRkpMRk5CUVZWTkxFVkJRVXNzU1VGQlQwMHNSVUZCYVVJc1MwRkJUMFVzUTBGQlZ5eEZRVU01UlVZc1NVRkRRVWNzUjBGQlVVVXNSMEZCV1VZc1JVRkJUU3hIUVVGSlVDeEZRVUZqU1N4RFFVRmpMRU5CUVVNc1NVRkRNVVJITEVWQlFVc3NRMEZCUXl4SlFVRk5MRXRCUVU5QkxFVkJRVXNzUTBGQlF5eEpRVUZOTEUxQlEyaERXaXhGUVVGTlFTeEZRVUZOTEU5QlFWTXNRMEZCUXl4SlFVRk5MRTFCUnpWQ1FTeEZRVUZOUVN4RlFVRk5MRTlCUVZNc1EwRkJReXhGUVVGSkxFOUJRVTlaTEVOQlFVa3NSMEZIY2tOYUxFVkJRVTBzUzBGQlMxa3NRMEZCU1N4RFFVTjJRaXhOUVVWSldpeEZRVUZOTEV0QlFVdGhMRWRCUVZWb1FpeEZRVUZKTEZOQlFWVk5MRU5CUVVjc1EwRkJReXhGUVVVelF5eEpRVUZKU2l4RlFVRkJSaXhGUVVGSkxHRkJRVW9zVFVGQlFVVXNSVUZCWjBJc1QwRkRhRUlzUjBGQlNVWXNSVUZCU1N4UlFVRlRMRU5CUTJJc1NVRkJUVk1zUlVGQlMwUXNSVUZCWTFJc1JVRkJTU3hQUVVGUExFVkJRMmhEVXl4RlFVRkhMRk5CUVZNN1FVRkJRU3hEUVVGSkxFZEJRMmhDVGl4RlFVRk5MRXRCUVVzc1MwRkJTeXhGUVVOb1FrRXNSVUZCVFN4TFFVRkxUeXhIUVVGalJDeEZRVUZKTEVWQlFVVXNRMEZCUXl4SFFVZG9RMDRzUlVGQlRTeExRVUZMTEU5QlFVOU5MRU5CUVVVc1JVRkJSU3hEUVVVNVFpeE5RVVZKVGl4RlFVRk5MRXRCUVVzc1MwRkJTeXhOUVVkdVFpeERRVU5FTEVsQlFVbGxMRVZCUVV0c1FpeEZRVUZKTEZGQlExUnJRaXhIUVVGTlVDeEpRVU5PVHl4RlFVRkxRU3hGUVVGSExGRkJRVkVzVDBGQlVTeEZRVUZGTEVkQlF6RkNRU3hMUVVOTExFTkJRVU5RTEVkQlFXRkRMRWxCUVcxQ1ZDeEZRVUZOUVN4RlFVRk5MRTlCUVZNc1EwRkJReXhKUVVGTkxFbEJRemxFUVN4RlFVRk5MRXRCUVVzc1JVRkJSU3hGUVVOcVFrRXNSVUZCVFN4TFFVRkxUeXhIUVVGalJpeEZRVUZqVlN4RFFVRkZMRVZCUVVjc1JVRkJSU3hEUVVGRExFVkJSWFpFTEVOQlEwRXNUMEZCVDJZc1JVRkJUU3hMUVVGTE8wRkJRVUVzUTBGQlNTeEZRVUZKTzBGQlFVRXNRMEZET1VJc1EwTjBSVUVzU1VGQlRXZENMRWRCUVU0c1RVRkJUVU1zUTBGQlV5eERRVU5ZTEZsQlFWbERMRVZCUVU5RExFVkJRVlZETEVWQlFWTXNRMEZGYkVNc1MwRkJTeXhqUVVGblFpeExRVVZ5UWl4TFFVRkxMRkZCUVZVc1MwRkZaaXhMUVVGTExFOUJRVk1zUTBGQlF5eEZRVVZtTEV0QlFVc3NVMEZCVnl4RFFVRkRMRVZCUTJwQ0xFOUJRVThzWlVGQlpTeExRVUZOUXl4SFFVRlhMRU5CUVVVc1RVRkJUME1zUlVGQlNTeERRVUZETEVWQlEzSkVMRWxCUVVsRExFVkJRVmtzUzBGRFdpeFBRVUZQU2l4SFFVRmhMRmxCUVdNc1RVRkJUU3hSUVVGUlFTeERRVUZSTEVWQlEzaEVTU3hGUVVGWlNpeEZRVVZRUXl4SlFVRlpMRkZCUVdGRUxFbEJRemxDUXl4RlFVRlZSQ3hGUVVOV1FTeEZRVUZYTEZGQlJXWXNTVUZCVFVzc1JVRkJUU3hQUVVGUExFOUJRVThzUTBGRGRFSXNXVUZCWVN4SFFVTmlMR2xDUVVGclFpeEhRVU5zUWl4VFFVRlZMRTlCUTFZc1lVRkJZeXhIUVVOa0xFOUJRVkVzUjBGRFVpeFhRVUZaTEVkQlExb3NWMEZCV1N4SFFVTmFMRkZCUVZNc1MwRkRZaXhGUVVGSFNpeERRVUZQTEVWQlExWXNTMEZCU3l4UlFVRlZTU3hGUVVObUxFZEJRVWtzUTBGQlJTeFJRVUZCUXl4RFFVRlJMRVZCUVVsRUxFVkJRMlJLTEVkQlFVRXNUVUZCUVVFc1JVRkJVeXhoUVVOVUxFdEJRVXNzVjBGQllVRXNSVUZCVVN4WlFVRlpMRmRCUVZjc1JVRkROME1zUzBGQlN5eFhRVUZYTEV0QlFVc3NWMEZEY2tKTExFVkJRVlVzUzBGQlN5eFhRVUZYTEV0QlFVc3NWVUZIYmtNc1MwRkJTeXhYUVVGaExFbEJRVWxETEVkQlFWY3NRMEZCUlN4UlFVRkJSQ3hEUVVGUkxFTkJRVU1zUlVGRGFFUXNTMEZCU3l4VlFVRlZRU3hGUVVGVFRDeERRVUZQTEVWQlJTOUNMRXRCUVVzc1UwRkRSRVlzU1VGQlZTeFBRVUZaTEV0QlFVOHNTMEZCU3l4WFFVRlhRU3hGUVVGUFN5eEZRVUZYU0N4RFFVRlBMRU5CUXpsRkxFTkJUVUVzVDBGQlVTeERRVU5LTEVsQlFVMVBMRVZCUVU4c1QwRkJUeXhQUVVGUFZpeEZRVUZUTEZWQlFWY3NRMEZETTBNc1EwRkJRMGtzUlVGQlV5eEZRVUZITEVOQlFVVXNUVUZCVDBNc1JVRkJTU3hEUVVNNVFpeERRVUZETEVWQlEwUXNUMEZCUVVzc1JVRkJTeXhqUVVGblFpeExRVUZMTEdOQlF6RkNRU3hGUVVGTExGRkJRVlVzUzBGQlN5eFJRVU53UWtFc1JVRkJTeXhQUVVGVExFdEJRVXNzVDBGQlR5eE5RVUZOTEVWQlEyaERRU3hGUVVGTExGTkJRVmNzUzBGQlN5eFRRVUZUTEUxQlFVMHNSVUZEY0VOQkxFVkJRVXNzVVVGQlZTeFBRVUZQTEU5QlFVOHNRMEZCUXl4RlFVRkhMRXRCUVVzc1QwRkJUeXhGUVVONlF5eExRVUZMTEdGQlEweEJMRVZCUVVzc1YwRkJZU3hMUVVGTExGZEJRVmNzVFVGQlRTeEhRVU0xUTBFc1JVRkJTeXhQUVVGVExFdEJRVXNzVDBGQlR5eE5RVUZOTEVWQlJXaERRU3hGUVVGTExGTkJRVmRETEVWQlFVOHNTMEZCU3l4UlFVRlJMRVZCUXpsQ0xFdEJRVXNzVTBGQlV5eE5RVUZOUkN4RlFVRkxMRTFCUVUwc1JVRkRMMElzUzBGQlN5eFRRVU5RTEV0QlFVc3NVVUZEVEVFc1JVRkJTeXhOUVVGUkxFdEJRVXNzVFVGQlRTeE5RVUZOTEVkQlF6TkNRU3hEUVVOWUxFTkJSVUVzU1VGQlNWUXNSVUZCVHl4RFFVTklWeXhIUVVGcFFpeExRVUZMTEZGQlFWRXNSMEZET1VJc1MwRkJTeXhUUVVGVExFbEJRVWxZTEVOQlFVc3NRMEZETDBJc1EwRkZRU3hOUVVGTldTeEZRVUZOV2l4RlFVRlBMRU5CUTFoWExFZEJRV2xDTEV0QlFVc3NVVUZCVVN4SFFVTTVRaXhMUVVGTExGTkJRVk1zVFVGQlRVTXNSVUZCVFZvc1EwRkJTeXhEUVVOMlF5eERRVlZCTEZsQlFWbGhMRVZCUVUxRExFVkJRVTBzUTBGRGNFSXNSMEZCU1N4RFFVRkRSQ3hGUVVGTExFOUJRVkVzUTBGRFpDeEpRVUZOUlN4RlFVRlBReXhIUVVGWkxFbEJRVWtzUlVGRE4wSklMRVZCUVVzc1QwRkZSQ3hEUVVGRFF5eEhRVUZSUXl4RlFVRkxMRWxCUVVsRUxFTkJRVWtzUlVGQlNVY3NSMEZCWTBnc1IwRkJVU3hKUVVGTFF5eERRVUZKTEVWQlFVbEVMRU5CUTNKRkxFTkJRMEVzVDBGQlR5eEpRVUZKU1N4SFFVRk5UQ3hGUVVGTExFMUJRVTBzUTBGRGFFTXNRMEZEUVN4WFFVRlhZaXhGUVVGUFF5eEZRVUZWUXl4RlFVRlRMRU5CUTJwRExFbEJRVWxITEVWQlEwb3NSMEZCU1N4UFFVRlBTaXhIUVVGaExGZEJRM0JDUkN4RlFVRlJReXhGUVVGVExFdEJRVXNzUTBGQlJTeEhRVUZKUkN4RFFVRk5MRVZCUVVjc1IwRkJTVUVzUTBGQlN5eEZRVU01UTBzc1JVRkJXVW9zVlVGRlVDeE5RVUZOTEZGQlFWRkJMRU5CUVZFc1JVRkJSeXhEUVVNNVFpeEpRVUZOYTBJc1JVRkJXVU1zUjBGQlRTeFBRVUZQUVN4SFFVRk5MRlZCUVZsQkxHRkJRV0VzVVVGQlZVRXNZVUZCWVN4UFFVTXZSVU1zUlVGQlVYQkNMRVZCUVZNc1QwRkJUMnRDTEVOQlFWRXNSVUZCUlN4SlFVRkpMRTFCUVUwc1JVRkRPVU5GTEVWQlFVMHNUMEZCVXl4SlFVTm1jRUlzUlVGQlYwRXNSVUZCVXl4UFFVRlBiMElzUTBGQlN5eEhRVU53UTJoQ0xFVkJRVmxLTEVOQlEyaENMRTFCUTFORExFbEJRVmtzVVVGQllVUXNTVUZET1VKRExFVkJRVlZFTEVWQlExWkJMRVZCUVZjc1VVRkZaaXhIUVVGTkxFTkJRVVVzYzBKQlFVRnhRaXhGUVVGMVFpeGhRVUZCUXl4RlFVRmpMRXRCUVVGRExFVkJRVTBzWTBGQlFVTXNSVUZCWlN4VFFVRkJReXhGUVVGVkxFbEJRVUZETEVOQlFVa3NSVUZCU1hwQ0xFZEJRVUVzUzBGQlFVRXNSVUZCVnl4RFFVRkRMRVZCUXpGR0xFTkJRVVVzVTBGQlFUQkNMRVZCUVZVc1YwRkJRVU1zUlVGQldTeGpRVUZCUXl4RFFVRmpMRVZCUVVsRExFZEJRV3RDTEV0QlJXeEZVaXhIUVVGblFpeEhRVUZITEVWQlEySlRMRVZCUVUwc1EwRkRVaXh6UWtGQmRVSldMRWRCUVVFc1MwRkJRVUVzUlVGQmVVSXNSMEZEYUVRc1kwRkJaVWNzUjBGQlFTeExRVUZCUVN4RlFVRnBRaXhIUVVOb1F5eFRRVUZCUnl4RlFVTkJMRk5CUVVGR0xFVkJRMEVzVTBGQlZYSkNMRVZCUTFZc1QwRkJVU3hMUVVGTExFOUJRMklzWTBGQlFYbENMRU5CUTBvc1JVRkRUV3BDTEVWQlFVOXZRaXhIUVVGWGFrTXNSVUZCVHpKQ0xFVkJRVXRMTEVOQlFVY3NSVUZEZGtNc1QwRkJTVklzUjBGQlVWVXNSVUZCWVhKQ0xFTkJRVWtzU1VGRGVrSkJMRVZCUVVzc1MwRkJUeXhKUVVOb1FtZENMRVZCUVZjc1JVRkRTbWhDTEVOQlExZ3NRMEZMUVN4WFFVRlhjMElzUlVGQlMyNURMRVZCUVU5RkxFVkJRVlVzUTBGQlF5eEZRVUZITEVOQlEycERMRWxCUVUxclF5eEZRVUZKTEV0QlFVc3NWMEZCVjBRc1JVRkJTeXhMUVVGTmFrTXNRMEZCVHl4RlFVTjBRMnRDTEVWQlFVa3NTMEZCU3l4WFFVRlhjRUlzUlVGQlR5eExRVUZOUlN4RFFVRlBMRVZCUXpsRExFOUJRVThzU1VGQlNXMURMRWRCUVV0RUxFVkJRVWRvUWl4RFFVRkRMRU5CUTNoQ0xFTkJTMEVzVDBGQlQyVXNSVUZCU3l4RFFVTlNMRTlCUVU5NFFpeEhRVUZwUWl4TFFVRkxMRkZCUVZFc1JVRkJTU3hMUVVGTExGTkJRVk1zVDBGQlQzZENMRU5CUVVjc1JVRkJTU3hGUVVONlJTeERRVXRCTEZOQlFWTjJRaXhGUVVGTkxFTkJRMWdzVDBGQlNUQkNMRWRCUVZreFFpeERRVUZKTEVWQlExb3NTMEZCU3l4VlFVRlpMRXRCUTFZc1NVRkZXQ3hMUVVGTExGTkJRVmNzUzBGRFZDeEpRVVZLUkN4SFFVRnBRaXhMUVVGTExGRkJRVkVzUlVGREwwSXNTMEZCU3l4VFFVRlRMRk5CUVZORExFTkJRVWtzUlVGRE0wSXNSVUZEVml4RFFVMUJMRWxCUVVsMVFpeEZRVUZMU1N4RlFVRlpMRU5CUTJwQ0xFOUJRVTlNTEVWQlFXRXNTMEZCU3l4UlFVRlJMRVZCUXpOQ0xFdEJRVXNzVTBGQlV5eEpRVUZKUXl4RlFVRkxTU3hEUVVGVkxFVkJRMnBETEUxQlExWXNRMEZOUVN4TlFVRk5NMElzUlVGQlRUSkNMRVZCUVZrc1EwRkRjRUlzVDBGQlNVUXNSMEZCV1RGQ0xFTkJRVWtzUlVGRFZDeERRVUZETWtJc1IwRkJZME1zUlVGQlV5eExRVUZMTEZGQlFWRXNSVUZEZEVNc1MwRkJTeXhUUVVGVExFMUJRMlFzUzBGQlN5eFRRVU5TVGl4RlFVRmhMRXRCUVVzc1VVRkJVU3hGUVVNelFpeExRVUZMTEZOQlFWTXNUVUZCVFhSQ0xFVkJRVTB5UWl4RFFVRlZMRVZCUTNCRExFMUJRMVlzUTBGSlFTeEpRVUZKU2l4RlFVRkxMRU5CUTB3c1QwRkJUMFFzUlVGQllTeExRVUZMTEZGQlFWRXNSVUZCU1N4TFFVRkxMRk5CUVZNc1NVRkJTVU1zUTBGQlJ5eEZRVUZKTEVWQlEyeEZMRU5CU1VFc1RVRkJUWFpDTEVWQlFVMHNRMEZEVWl4UFFVRkpNRUlzUjBGQldURkNMRU5CUVVrc1JVRkRWQ3hMUVVGTExGZEJRV0VzVDBGRGRFSnpRaXhGUVVGaExFdEJRVXNzVVVGQlVTeEZRVUZKTEV0QlFVc3NVMEZCVXl4TlFVRk5kRUlzUTBGQlNTeEZRVUZKTEVWQlEzSkZMRU5CUzBFc1NVRkJTWFZDTEVWQlFVdHVReXhGUVVGUExFTkJRMUlzUzBGQlN5eFZRVUZaTEV0QlJXcENMRXRCUVVzc1UwRkJWM2xETEVkQlFXMUNMRXRCUVVzc1QwRkJVU3hEUVVGRFRpeERRVUZITEVWQlFVZHVReXhEUVVGTExFVkJSWFpFVnl4SFFVRnBRaXhMUVVGTExGRkJRVkVzUjBGRGJrTXNTMEZCU3l4VFFVRlRMRWxCUVVsM1FpeEZRVUZMYmtNc1EwRkJTeXhEUVVWd1F5eERRVXRCTEUxQlFVMVpMRVZCUVUxYUxFVkJRVThzUTBGRFdITkRMRWRCUVZreFFpeERRVUZKTEVWQlJXaENMRXRCUVVzc1UwRkJWMW9zUlVGRldDeExRVUZMTEZWQlFWa3NTMEZGZEVJc1MwRkJTeXhUUVVGWGVVTXNSMEZCYlVJc1MwRkJTeXhQUVVGUkxFMUJRVTBzUzBGQlN6ZENMRU5CUVVrc1JVRkJSMW9zUTBGQlN5eEZRVVZzUlZjc1IwRkJhVUlzUzBGQlN5eFJRVUZSTEVkQlEyNURMRXRCUVVzc1UwRkJVeXhOUVVGTlF5eEZRVUZOV2l4RFFVRkxMRU5CUlhaRExFTkJVVUVzVlVGQlZVOHNSVUZCVTB3c1JVRkJWU3hEUVVGRExFVkJRVWNzUTBGRGVrSXNUMEZCVDBzc1IwRkJXU3hYUVVOdVFrRXNSVUZCVlN4UFFVRlBRU3hEUVVGUExFZEJRelZDTEVsQlFVbEVMRVZCUTBvc1QwRkJVVU1zUlVGQlV5eERRVU5pTEVsQlFVc3NUVUZEUnl4TFFVRkxMRmRCUTB3c1MwRkJTeXhYUVVGWExFdEJRVXNzVVVGQlZTeE5RVVV2UWl4TFFVRkxMRmRCUVdFc1NVRkJTVU1zUjBGQlZ5eERRVUZGTEZGQlFWTXNTMEZCVFN4RFFVRkRMRVZCUTNaRVJpeEZRVUZOTEVOQlFVVXNhVUpCUVd0Q0xFZEJRVThzVDBGQlVTeFZRVUZYTEVWQlEzQkVMRTFCUTBvc1NVRkJTeXhOUVVOTUxFbEJRVXNzVDBGRFJ5eExRVUZMTEZkQlEwd3NTMEZCU3l4WFFVRlhMRXRCUVVzc1VVRkJWVU1zUlVGRkwwSXNTMEZCU3l4WFFVRmhMRWxCUVVsRExFZEJRVmNzUTBGQlJTeFJRVUZCUkN4RFFVRlJMRU5CUVVNc1JVRkRhRVJFTEVWQlFVMHNRMEZCUlN4cFFrRkJhMElzUjBGQlRTeFBRVUZSTEUxQlFVOHNSVUZETDBNc1RVRkRTaXhMUVVGTExFdEJRMGNzUzBGQlN5eFpRVU5NTEU5QlFVOHNTMEZCU3l4WFFVTm9Ra0VzUlVGQlRTeExRVU5PTEUxQlEwb3NVVUZCVXl4RFFVTk1MRWxCUVUxdlF5eEZRVUZMTEV0QlFVc3NWVUZCVlc1RExFTkJRVThzUlVGRGFrTXNUVUZCVFN4SlFVRkpMRTFCUVUwc0swUkJRU3RFYlVNc1EwRkJSU3hGUVVGRkxFTkJRM1pHTEVOQlEwb3NRMEZGUVN4SFFVRkplRU1zUlVGQlVTeHJRa0ZCYTBJc1QwRkRNVUlzUzBGQlN5eFBRVUZUUVN4RlFVRlJMR1ZCUTJwQ1NTeEZRVU5NTEV0QlFVc3NUMEZCVXl4SlFVRkpjVU1zUjBGQlR5eFBRVUZQTEU5QlFVOXlReXhGUVVGTFNpeERRVUZQTEVOQlFVTXNUVUZGY0VRc1QwRkJUU3hKUVVGSkxFMUJRVTBzY1VWQlFYRkZMRU5CUXpkR0xFTkJSVUVzUzBGQlN5eERRVUZGTEV0QlFVRXdReXhGUVVGTkxGRkJRVUZETEVWQlFWTXNVMEZCUVVNc1JVRkJWU3hqUVVGQlF5eEZRVUZsTEZOQlFVRnVRaXhGUVVGVkxGRkJRVUZ2UWl4RFFVRlJMRVZCUVVrc1EwRkJReXhGUVVGSExFTkJRM0pGTEVsQlFVMW9RaXhGUVVGTkxFTkJRMUlzVVVGQlV5eEpRVUZKTEVsQlEySXNTVUZCU3l4TFFVTk1MRXRCUVUwc1EwRkJRMWtzUlVGRFVDeFRRVUZWUlN4SlFVRmhMRWRCUTNaQ0xHRkJRV01zUjBGRFpDeGpRVUZsTEU5QlFVOURMRWRCUVd0Q0xGTkJRVmRCTEVWQlFXZENMRWRCUTNaRkxFVkJRMDFGTEVWQlFVMURMRWRCUVVzc1MwRkJTeXhUUVVGVlRDeEhRVUZCTEV0QlFVRkJMRVZCUVZjc1IwRkJTV0lzUTBGQlJ5eEZRVU5zUkN4SFFVRkpMRTlCUVU5S0xFZEJRV0VzVjBGRGNFSXNUMEZCVnl4RFFVRkZMRTFCUVVGMVFpeEZRVUZQTEVsQlFVRkdMRU5CUVVrc1NVRkJTMnBDTEVWQlFVa3NVVUZCVVN4UFFVRlBMRVZCUXpWRFNpeEZRVUZUY1VJc1JVRkJTMFVzUTBGQlN5eEZRVU16UWl4UFFVRlBMRTlCUVU5SUxFZEJRVmtzVjBGRGNFSkpMRWRCUVdGS0xFVkJRVk1zUTBGQlJTeEhRVUZKUXl4RFFVRkpMRVZCUVVjc1IwRkJTVUVzUTBGQlJ5eEZRVU14UTBFc1EwRkRWaXhEUVU5QkxFOUJRVTlLTEVWQlFWTnFRaXhGUVVGVkxFTkJRM1JDTEU5QlFVOHNTMEZCU3l4TFFVRkxMRU5CUVVVc1MwRkJUU3hIUVVGTkxGRkJRVUZwUWl4RlFVRlRMRk5CUVZVc1IwRkJUeXhUUVVGQmFrSXNRMEZCVXl4RFFVRkRMRU5CUTNaRkxFTkJSVUVzVTBGQlV6RkNMRVZCUVZVc1EwRkJReXhGUVVGSExFTkJRMjVDTEVkQlFVa3NTMEZCU3l4UFFVRlBMRTlCUVZNc1JVRkRja0lzVFVGQlRTeEpRVUZKTEUxQlFVMHNORU5CUVRSRExFVkJRMmhGTEVkQlFVa3NWMEZCV1VFc1NVRkRXQ3hEUVVGRExFOUJRVThzVlVGQlZVRXNSVUZCVVN4TlFVRk5MRWRCUVVzc1QwRkJUMEVzUlVGQlVTeE5RVUZOTEVkQlFVc3NSMEZCU1N4RFFVTndSU3hKUVVGTmJVUXNSVUZCU1N4TFFVRkxMRlZCUVZWdVJDeEZRVUZSTEUxQlFVMHNSVUZEZGtNc1RVRkJUU3hKUVVGSkxFMUJRVTBzYlVSQlFXMUViVVFzUTBGQlF5eEZRVUZGTEVOQlF6RkZMRU5CUTBFc1QwRkJUME1zUjBGQmEwSXNTMEZCVFhCRUxFTkJRVThzUTBGRE1VTXNRMEZEU2l4RlFVTkJMRk5CUVZOVExFZEJRV2xDTkVNc1JVRkJWU3hEUVVOb1F5eEhRVUZKY2tJc1JVRkJZWEZDTEVOQlFWRXNSVUZEY2tJc1RVRkJUeXhIUVVOWUxFMUJRVTBzU1VGQlNTeE5RVUZOTEdsRVFVRnBSQ3hEUVVOeVJTeERRelZWUVN4SlFVRk5ReXhIUVVGT0xHTkJRWGRDTEV0QlFVMHNRMEZETVVJc1dVRkJXVU1zUlVGQlRVTXNSVUZCUzBNc1JVRkJUVU1zUlVGQlV5eERRVU5zUXl4TlFVRk5MRVZCUTA0c1MwRkJTeXhMUVVGUFNDeEZRVU5hTEV0QlFVc3NTMEZCVDBVc1JVRkRXaXhMUVVGTExGRkJRVlZETEVWQlEyWXNTMEZCU3l4SlFVRk5SaXhEUVVObUxFTkJRMG9zUlVGRFRVY3NSMEZCVGl4alFVRTJRa3dzUlVGQlZTeERRVU51UXl4WlFVRlpSU3hGUVVGTFF5eEZRVUZOUXl4RlFVRlRMRU5CUXpWQ0xFMUJRVTBzYVVKQlFXdENSaXhGUVVGTFF5eEZRVUZOUXl4RFFVRlBMRU5CUXpsRExFTkJRMG9zUlVGRFRVVXNSMEZCVGl4alFVRXdRazRzUlVGQlZTeERRVU5vUXl4WlFVRlpSU3hGUVVGTFF5eEZRVUZOUXl4RlFVRlRMRU5CUXpWQ0xFMUJRVTBzWTBGQlpVWXNSVUZCUzBNc1JVRkJUVU1zUTBGQlR5eERRVU16UXl4RFFVTktMRVZCUTAxSExFZEJRV2RDTEVOQlFVTkRMRVZCUVV0RExFbEJRVkZETEVkQlFWVXNRMEZETVVNc1IwRkJTVUVzUlVGQlRTeEpRVUZKTEVOQlFVTXNTVUZCVFN4SFFVTnFRaXhQUVVOS1FTeEZRVUZOTEZGQlFWVkJMRVZCUVUwc1NVRkJTU3hKUVVGSlVpeEhRVUZQVHl4RlFVRkhMRkZCUVZGUUxFTkJRVWNzUTBGQlF5eEZRVU53UkN4SFFVRk5MRU5CUVVVc1MwRkJRVk1zUlVGQlRTeEpRVUZCUXl4RFFVRkpMRVZCUVVsR0xFVkJRVTBzVVVGQlVTeERRVUZETEVWQlEzSkRRU3hGUVVGTkxGTkJRVmNzV1VGQldVTXNRMEZCU1N4WlFVRlpReXhEUVVGSExFZEJRMmhFTEVsQlFVbERMRVZCUVV0RUxFVkJRVTBzUlVGRFdFVXNSVUZCVlU0c1JVRkRWQ3hWUVVGVlF5eEZRVUZITEZkQlFWZEZMRVZCUVU4c1EwRkJReXhGUVVGSFJpeEZRVUZITEZkQlFWZEZMRU5CUVVrc1EwRkJReXhGUVVOMFJDeFJRVUZSTEZkQlFWa3NSVUZCUlN4RlFVVXpRaXhIUVVGSlJTeEhRVUZOTEVsQlFVMURMRVZCUVZFc1QwRkJVeXhIUVVGSkxFTkJRMnBETEVsQlFVMURMRVZCUVZrc1MwRkJTeXhKUVVGSlJpeEZRVUZMTEVkQlFVbERMRVZCUVZFc1QwRkJVeXhGUVVGRkxFVkJRM1pFUVN4RlFVRlZMRk5CUVUxQkxFVkJRVkVzVlVGQlZVTXNRMEZCVXl4RlFVTXpRMFlzUjBGQlRVVXNSVUZCV1N4RFFVTjBRaXhEUVVsQkxFZEJTRWxFTEVWQlFWRXNUMEZCVXl4TFFVTnFRa0VzUlVGQlZVRXNSVUZCVVN4VlFVRlZMRVZCUVVjc1JVRkJSU3hGUVVGSkxGVkJSWEpEU0N4RlFVRlBMRWRCUVVzc1QwRkJUeXhMUVVGTFJ5eEZRVUZSTEZWQlFWVXNSVUZCUjBRc1EwRkJSU3hEUVVGRExFVkJRVWNzUTBGRmJrUXNTVUZCU1Vjc1JVRkJUMUlzUlVGQlNTeFZRVUZWUXl4RlFVRkhMRmRCUVZkRkxFVkJRVThzUTBGQlF5eEZRVUZIUml4RlFVRkhMRmRCUVZkRkxFVkJRVThzUTBGQlF5eERRVUZETEVWQlEzSkZTeXhGUVVGTExFOUJRVk1zUzBGRFpFRXNSVUZCVDBFc1JVRkJTeXhWUVVGVkxFVkJRVWNzUlVGQlJTeEZRVUZKTzBGQlFVRXNSMEZEYmtOR0xFVkJRVlZGTEVWQlFVOUdMRU5CUTNKQ0xFTkJRMEVzUjBGQlNTeFBRVUZQTEV0QlFVdEJMRU5CUVU4c1JVRkJSeXhEUVVOMFFpeEpRVUZKUnl4RlFVRlJMRVZCUTA1RExFVkJRVTFTTEVWQlFVMHNVVUZCVVN4RFFVRkRMRVZCUTNaQ1VTeEhRVUZQUVN4RlFVRkpMRTlCUVZOUUxFZEJRVkZQTEVWQlFVa3NTVUZCVFU0c1NVRkRkRU5MTEVWQlFWRXNTMEZCU3l4SlFVRkpMRVZCUVVjc1MwRkJTeXhKUVVGSlF5eEZRVUZKTEVsQlFVMU9MRVZCUVVzc1IwRkJTME1zUTBGQlJTeERRVUZETEVkQlJYaEVMRWxCUVUxTkxFVkJRVlVzU1VGQlNTeFBRVUZQVGl4RFFVRkZMRVZCUVVrc1NVRkJTU3hQUVVGUFNTeERRVUZMTEVWQlEycEVVQ3hGUVVGTkxGTkJRVmM3UVVGQlFUdEJRVUZCTEVWQlFWRkpMRU5CUVU4N1FVRkJRU3hGUVVGTFN5eERRVUZQTzBGQlFVRXNRMEZEYUVRc1EwRkRTaXhGUTNSRVFTeFRRVUZUUXl4SFFVRmhReXhGUVVGUkxFTkJRVVVzUzBGQlFVTXNSVUZCVFN4VlFVRkJReXhGUVVGWExFdEJRVUZETEVWQlFVMHNUMEZCUVVNc1JVRkJVU3hSUVVGQlF5eEZRVUZUTEdGQlFVRkRMRVZCUVdNc1pVRkJRVU1zUTBGQlpTeEZRVUZITEVOQlEzQkhMRWxCUVVsRExFVkJRV01zUjBGRFpFTXNSVUZCV1VZc1JVRkRXa2NzUlVGQlYwZ3NSVUZEV0Vrc1JVRkJWU3hIUVVOV1F5eEZRVUZoTEVkQlEySkRMRVZCUVdFc1IwRkRZa01zUlVGQlZ5eEhRVU5ZUXl4RlFVRk5MRXRCUTA1RExFVkJRVk1zUzBGRFZFTXNSVUZCVFN4TFFVTk9ReXhGUVVGdFFpeExRVU51UWtNc1JVRkJVU3hMUVVOU1F5eEZRVUZSTEV0QlExSkRMRVZCUVZFc1MwRkRXaXhSUVVGWFF5eExRVUZUZEVJc1JVRmphRUlzVDBGaVNXTXNTVUZEU1ZFc1JVRkJUU3hQUVVGVExGTkJRMlpCTEVWQlFVMHNUMEZCVXl4WFFVTm1RU3hGUVVGTkxFOUJRVk1zVTBGRFptcENMRVZCUVZGcFFpeEZRVUZOTEU5QlFWRXNaVUZCWjBJc2RVVkJRWFZGTEVWQlEycElVaXhGUVVGWExFbEJSVmhETEVsQlEwbE9MRWRCUVdGaExFVkJRVTBzVDBGQlV5eFhRVUZoUVN4RlFVRk5MRTlCUVZNc1YwRkRlRVJxUWl4RlFVRlJWU3hGUVVGTExHZENRVUZwUWl4eFEwRkJjVU1zUlVGRmRrVkJMRVZCUVUwc1RVRkZSazhzUlVGQlRTeExRVUZOTEVOQlEyaENMRWxCUVVzc1VVRkpSeXhEUVVGRGNrSXNTVUZEUVVNc1NVRkJZeXhqUVVGbFF5eEhRVUZCTEZsQlFVRkJMRVZCUVUwc1VVRkJVeXh2UWtGRE4wTnRRaXhGUVVGTkxFOUJRVThzVTBGQlV5eEhRVUZKTEVsQlF6RkNVQ3hGUVVGTlR5eEhRVVZXV2l4RlFVRlhMRWRCUTFnc1RVRkRTaXhKUVVGTExGVkJRVmNzUTBGRFVFRXNSMEZEUkV3c1JVRkJVV2xDTEVWQlFVOHNaVUZCWjBJc2QwVkJRWGRGTEVWQlF6TkhMRWxCUVUxRExFVkJRVXRFTEVWQlFVMHNUMEZCVHl4VlFVRlZMRU5CUVVNc1IwRkJTeXhKUVVOdVExZ3NSVUZIUkVFc1IwRkJWME1zUlVGQllWY3NSVUZHZUVKYUxFVkJRVlZaTEVWQlIyUllMRVZCUVdFc1IwRkRZa2dzUlVGQldTeEhRVU5hTEV0QlEwb3NRMEZEUVN4SlFVRkxMRlZCUTBkQkxFVkJRMGxGTEVWQlEwRkJMRWRCUVZkWExFVkJRVTBzVDBGRmFrSmtMRVZCUVdNc1IwRkhiRUpKTEVkQlFXTlZMRVZCUVUwc1QwRkRlRUppTEVWQlFWa3NSMEZEV2trc1JVRkJZU3hKUVVOVVJ5eEhRVUZWUXl4TFFVTldReXhGUVVGdFFra3NSMEZEZGtKYUxFVkJRVmNzUjBGRFdDeE5RVU5LTEVsQlFVc3NVMEZEUjAwc1IwRkRRVmdzUlVGQlVXbENMRVZCUVU4c2JVSkJRVzlDTEc5RFFVRnZReXhGUVVOMlJVRXNSVUZCVFN4UFFVRlBMRk5CUVZNc1IwRkJSeXhIUVVONlFtcENMRVZCUVZGcFFpeEZRVUZOTEU5QlFWTkJMRVZCUVUwc1QwRkJUeXhQUVVGVExFVkJRVWNzV1VGQllTeHJRMEZCYlVNc1JVRkJTU3hGUVVONFIwNHNSVUZCVTAwc1JVRkRURVFzU1VGQlZTeFBRVU5XUVN4RlFVRlJReXhGUVVGTkxGRkJRMnhDWWl4RlFVRlpMRWRCUTFwRExFVkJRVmNzUjBGRFdFa3NSVUZCVnl4SFFVTllMRTFCUTBvc1NVRkJTeXhOUVVGUExFTkJRMHBITEVkQlEwRmFMRVZCUVZGcFFpeEZRVUZQTEdkQ1FVRnBRaXhwUTBGQmFVTXNSVUZEY2tWTUxFVkJRVTFMTEVWQlEwWkVMRWxCUVZVc1QwRkRWa0VzUlVGQlVVTXNSVUZCVFN4UlFVTnNRbUlzUlVGQldTeEhRVU5hUXl4RlFVRlhMRWRCUTFoSkxFVkJRVmNzUjBGRFdDeExRVU5LTEVOQlEwRXNTMEZCUzFvc1IwRkZSMk1zUjBGQlZVTXNTVUZEVmxvc1JVRkJVV2xDTEVWQlFVOHNhVUpCUVd0Q0xITkRRVUZ6UTBFc1JVRkJUU3hOUVVGTkxGbEJRVmtzUlVGREwwWkdMRWRCUTBGbUxFVkJRVkZwUWl4RlFVRlBMRzFDUVVGdlFpeGpRVUZqUVN4RlFVRk5MRTFCUVUwc1QwRkJUM0pDTEVkQlFVRXNTMEZCUVVFc1JVRkJVU3haUVVGWkxFVkJRVVVzUlVGRE9VWnRRaXhGUVVGUlJTeEZRVU5TWWl4RlFVTkpVQ3hKUVVGakxHZENRVUZyUWtFc1NVRkJZeXh0UWtGRGJFUlJMRVZCUVZjc1IwRkRXQ3hOUVVOS0xFbEJRVXNzVVVGRFJDeEhRVUZKVkN4RlFVRk5MRU5CUTBaclFpeEhRVU5CWkN4RlFVRlJhVUlzUlVGQlR5eHRRa0ZCYjBJc2JVSkJRVzFDY2tJc1EwRkJTU3hGUVVGRkxFVkJRMmhGYTBJc1JVRkJVVWNzUlVGRFVtSXNSVUZCV1N4SFFVTmFReXhGUVVGWExFZEJRMWdzUzBGRFNpeERRVVZLTEZGQlEwbE1MRVZCUVZGcFFpeEZRVUZQTEcxQ1FVRnZRaXhqUVVGalFTeEZRVUZOTEVsQlFVa3NVVUZCVVN4RlFVTnVSV0lzUlVGQldTeEhRVU5hUXl4RlFVRlhMRVZCUTI1Q0xFTkJSVW9zU1VGQlRXTXNSVUZCVDNoQ0xFVkJRVTlCTEVWQlFVOHNUMEZCVXl4RFFVRkRMRVZCUXk5Q2VVSXNSVUZCVFVRc1JVRkJUMEVzUlVGQlN5eFBRVUZUUVN4RlFVRkxMRTlCUVU4c1QwRkJVM0JDTEVWQlEzUkVMRTlCUVVsVkxFZEJRMEZZTEVkQlEwRkJMRVZCUVVzc1QwRkJVeXhUUVVOa1FTeEZRVUZMTEU5QlFWTXNWMEZEWkVFc1JVRkJTeXhQUVVGVExGVkJRMkpCTEVWQlFVc3NUMEZCVXl4VlFVRlpRU3hGUVVGTExGTkJRVmNzUzBGRE0wTkZMRVZCUVZGR0xFVkJRVXNzVDBGQlVTeGxRVUZuUWl4MVJVRkJkVVVzUlVGRk5VZFpMRWxCUTBWT0xFZEJRV0ZOTEVWQlFVa3NVVUZCVlZRc1NVRkRla0pJTEVkQlFVRXNXVUZCUVVFc1JVRkJUU3hSUVVGVExHTkJRMlpCTEVkQlFVRXNXVUZCUVVFc1JVRkJUU3hSUVVGVExHTkJRMjVDUlN4RlFVRlJWU3hGUVVGTExHZENRVUZwUWl4eFEwRkJjVU1zUlVGRGFFVXNRMEZEU0N4TlFVRkJTU3hGUVVOQkxFMUJRVUZETEVWQlEwRXNXVUZCUVZvc1JVRkRRU3hSUVVGQlJ5eEZRVU5CTEZkQlFVRkZMRVZCUTBFc1QwRkJRVWNzUlVGRFFTeEpRVUZCUXl4RlFVTkJMR2xDUVVGQlF5eEZRVU5CTEVsQlFVRlBMRVZCUTBFc1RVRkJUMG9zUjBGQlFTeExRVUZCUVN4RlFVRlRTU3hEUVVOd1FpeERRVU5LTEVORGFrcEJMRk5CUVZORExFZEJRV2RDUXl4RlFVRkxMRU5CUXpGQ0xFZEJRVWtzUTBGQlEwRXNSVUZEUkN4UFFVRlBMRXRCUTFnc1QwRkJVVUVzUlVGQlNTeExRVUZOTEVOQlEyUXNTVUZCU3l4UlFVTk1MRWxCUVVzc1UwRkRUQ3hKUVVGTExIVkNRVU5NTEVsQlFVc3NkVUpCUTBRc1IwRkJTVUVzUlVGQlNTeFBRVUZQTEZOQlFWTTdRVUZCUVN4RFFVRkpMRVZCUTNoQ0xFMUJRVThzUjBGRFdDeEhRVUZKUVN4RlFVRkpMRXRCUTBvc1VVRkJWME1zUzBGQlRVUXNSVUZCU1N4SlFVTnFRaXhIUVVGSlF5eEZRVUZITEU5QlFWTXNWVUZEV2l4TlFVRlBMRWRCUTI1Q0xFMUJRVThzUjBGRFdDeEpRVUZMTEd0Q1FVTkVMRkZCUVZkRExFdEJRVTFHTEVWQlFVa3NUVUZCVHl4RFFVTjRRaXhSUVVGWFF5eExRVUZOUXl4RlFVRkhMRTFCUTJoQ0xFZEJRVWxFTEVWQlFVY3NUMEZCVXl4VlFVTmFMRTFCUVU4c1IwRkRaaXhIUVVGSlF5eEZRVUZITEV0QlEwZ3NVVUZCVjBRc1MwRkJUVU1zUlVGQlJ5eEpRVU5vUWl4SFFVRkpSQ3hGUVVGSExFOUJRVk1zVlVGRFdpeE5RVUZQTEVkQlEyNUNMRWRCUVVsR0xFZEJRV2RDUnl4RlFVRkhMRWRCUVVjc1IwRkJTMGdzUjBGQlowSkhMRVZCUVVjc1MwRkJTeXhGUVVOdVJDeE5RVUZQTEVWQlEyWXNRMEZEUVN4TlFVRlBMRWRCUTFnc1VVRkRTU3hOUVVGUExFVkJRMllzUTBGRFNpeERRemRDUVN4VFFVRlRReXhIUVVGblFrTXNSVUZCVVVNc1JVRkJTVU1zUlVGQlV5eERRVU14UXl4SlFVRkpSQ3hIUVVGQkxGbEJRVUZCTEVWQlFVa3NVVUZCVXl4clFrRkJiVUlzUTBGRGFFTXNTVUZCVFVVc1JVRkJUVVlzUlVGQlJ5eEpRVUZKTEVOQlFVTXNSVUZEYUVKRkxFVkJRVWtzVTBGQlYwZ3NTVUZEWkVjc1JVRkJTU3hUUVVGWExFdEJRVTlCTEVWQlFVa3NVMEZCVnl4TlFVTjBRME1zUjBGQlowSklMRU5CUVVVc1IwRkZiRUpETEVWQlFWRkRMRVZCUVVzc1lVRkVSQ3g1UkVGRGIwSXNSVUZCU1N4RFFVVTFReXhEUVVOS0xFTkRWa0VzVTBGQlUwVXNSMEZCV1VNc1JVRkJTME1zUlVGQlQwTXNSVUZCVVN4RFFVTnlReXhIUVVGTkxFTkJRVVVzVjBGQlFVTXNRMEZCVnl4RlFVRkpTQ3hGUVVGSkxGRkJRek5DTEVkQlFVbEhMRWxCUVdVc1IwRkRaaXhOUVVGUExFZEJRMWdzU1VGQlRVTXNSVUZCVlN4UFFVRlBSQ3hIUVVGbExGZEJRMmhEUVN4RlFVTkJMRU5CUVVORkxFVkJRVWRETEVsQlFVMUVMRWxCUVUxRExFZEJRVTFETEVWQlFWTkdMRU5CUVVNc1IwRkJTMFVzUlVGQlUwUXNRMEZCUXl4SFFVRkxSQ3hGUVVGRkxGRkJRVlZETEVWQlFVVXNUVUZEZUVVc1QwRkJUMHdzUlVGQlRTeExRVUZMVHl4SFFVRlJTaXhGUVVGUlNTeEZRVUZMTEVsQlFVdE9MRU5CUVUwc1EwRkJReXhEUVVOMlJDeERRMGhCTEVsQlFVMVBMRWRCUVdNc2EwUkJRM0JDTEZOQlFWTkRMRWRCUVdkQ0xFTkJRVVVzV1VGQlFVTXNSVUZCWVN4cFFrRkJRVU1zUTBGQmFVSXNSVUZCUjBNc1JVRkJTME1zUlVGQlNVTXNSVUZCVTBNc1JVRkJTeXhEUVZKdVJpeEpRVUZCUXl4RlFVRkJReXhGUVZOSkxFbEJRVTFETEVkQlFWbEdMRVZCUVVGRUxFZEJRVUVzV1VGQlFVRXNSVUZCU3l4WlFVRk1MRXRCUVVGRExFVkJRV3RDUnl4SFFVTTVRa01zUlVGQlRTeEpRVUZKUml4RlFVRlZUaXhGUVVGSkxFMUJRVTBzUlVGRGFFTkJMRVZCUVVrc1UwRkRTa0VzUlVGQlNTeFBRVUZUTEVsQlEycENMRWxCUVVsVExFVkJRVk5TTEVWQlFVY3NUMEZEV2xNc1JVRkJZU3hMUVVOcVFpeFJRVUZYUXl4TFFVRlpWaXhGUVVGSExFMUJRVThzUTBGRE4wSXNSMEZCVFN4RFFVRkZMRTFCUVVGWExFVkJRVThzU1VGQlFVTXNSVUZCU3l4SlFVRkJReXhGUVVGTExFMUJRVUZETEVOQlFVMHNSVUZCU1Vvc1JVRkZOMEpMTEVWQlFWZERMRWRCUVdGTUxFVkJRVThzUTBGRGFrTXNWVUZCVnl4dFFrRkRXQ3hMUVVGTlF5eEhRVUZCTEV0QlFVRkJMRVZCUVU5RExFZEJRVUVzV1VGQlFVRXNSVUZCVFN4SFFVTnVRaXhQUVVGQlRDeEZRVU5CTEZGQlFVRlFMRVZCUTBFc1lVRkJZMFFzUlVGQlJ5eFBRVU5xUWl4bFFVRm5RaXhGUVVOd1FpeERRVUZETEVWQlEwdHBRaXhGUVVGakxFTkJRVU5HTEVWQlFWTXNUVUZET1VJc1IwRkJTVVVzUlVGQllTeERRVTlpTEVkQlRrbE1MRWxCUTBsQkxFVkJRVWtzVDBGQlV5eFpRVU5pV0N4RlFVRlJUeXhGUVVGUkxIZENRVUY1UWl4NVJFRkJlVVFzUlVGRE4wWXNWMEZCV1Vrc1IwRkJUMEVzUlVGQlNTeFRRVUZYV2l4RlFVRkhMRkZCUXpGRFF5eEZRVUZSVHl4RlFVRlJMR0ZCUVdOaUxFVkJRVmNzUjBGRk4wTXNRMEZCUTI5Q0xFVkJRVk1zVVVGQlZTeERRVUZEUVN4RlFVRlRMRXRCUVU4c1EwRkJRMFlzUlVGQlN5eERRVU16UTBvc1JVRkJZVTBzUlVGQlV5eEpRVU5zUWtFc1JVRkJVeXhWUVVOTVVpeEZRVUZKTEZGQlEwcEJMRVZCUVVrc1UwRkJWenRCUVVGQkxFVkJRVTlSTEVWQlFWTXNVVUZGTDBKU0xFVkJRVWtzVVVGQlZWRXNSVUZCVXl4VFFVVXZRaXhSUVVOS0xFVkJRMGxCTEVWQlFWTXNhMEpCUVc5Q1J5eEhRVUZuUWs0c1EwRkJSeXhKUVVOb1JGZ3NSVUZCVVZjc1IwRkJRU3hMUVVGQlFTeEZRVUZQUkN4RlFVRk5RU3hGUVVGTkxFOUJRVk1zUTBGQlF5eEZRVUZITEhsQ1FVRXdRaXd5UTBGQk1rTXNRMEZGY2tnc1QwRkRVMUFzUlVGQlFWY3NSVUZCVXl4UlFVRlVMRmxCUVVGWUxFVkJRV2RDTEZWQlFWZEtMRVZCUVVjc1VVRkRia05ETEVWQlFWRlBMRVZCUVZFc1lVRkJZMklzUlVGQlZ5eEZRVWMzUTBrc1JVRkJTU3hOUVVGUkxFZEJRMW9zU1VGQlRXOUNMRVZCUVZkS0xFVkJRVk1zU1VGRGNFSkxMRVZCUVZWU0xFVkJRMVptTEVWQlFWbEZMRVZCUVV0aExFVkJRVXRITEVWQlFWVmtMRU5CUVU4c1JVRkRka05JTEVWQlFXbENReXhGUVVGTGIwSXNSVUZCVlZJc1JVRkJUeXhMUVVGTlNTeEZRVUZWWkN4RFFVRlBMRVZCUTJoRlJpeEZRVUZKTEU5QlFVOHNVVUZEV0hOQ0xFZEJRV2RDY2tJc1JVRkJSeXhQUVVGUldTeEZRVUZMV0N4RFFVRlBMRVZCUXpORFJpeEZRVUZKTEUxQlFWRXNSMEZEVW5WQ0xFZEJRVmwyUWl4RlFVRkxVU3hGUVVGSkxFMUJRVTloTEVOQlFVOHNSMEZEYmtOdVFpeEZRVUZSYTBJc1JVRkJWU3huUWtGQmFVSXNlVUpCUVhsQ0xFVkJSV2hGTEVsQlFVMUpMRVZCUVdGUUxFZEJRV0ZJTEVkQlFVRXNTMEZCUVVFc1JVRkJUeXhEUVVGRExFVkJRVWNzUTBGRGRrTXNWVUZCVnl4blFrRkRXQ3hMUVVGTlF5eEZRVU5PTEU5QlFWRk5MRVZCUVZFc1RVRkJUU3hEUVVGRExFVkJRM1pDTEZGQlFVRnVRaXhGUVVOQkxHRkJRV05FTEVWQlFVY3NUMEZEYWtJc1pVRkJaMElzUTBGQlExa3NSMEZCVDBFc1JVRkJTU3hQUVVGVExHTkJRM3BETEVOQlFVTXNSVUZGUkN4SFFVUkJTaXhGUVVGVFpTeEZRVUZYTEVsQlEyaENRU3hGUVVGWExFMUJRVThzUTBGRFpFNHNTMEZEU1Vnc1IwRkJRU3haUVVGQlFTeEZRVUZQTEZGQlFWTXNZVUZCWlN4RFFVRkRVeXhGUVVGWExGbEJRek5EZEVJc1JVRkJVVThzUlVGQlVTeDNRa0ZCZVVJc2NVUkJRWEZFTEVWQlF6bEdWQ3hGUVVGSkxGRkJRVkVzVVVGRFdtZENMRVZCUVZNc1RVRkJVVkVzUlVGQlZ5eE5RVUZOTEU5QlFWTXNUVUZETTBOMFFpeEZRVUZSYlVJc1JVRkJVU3hOUVVGUExITkNRVUYxUWl3MlJrRkJOa1lzUjBGSGJrb3NTVUZCVFVrc1JVRkJXVllzUlVGRFdtcENMRVZCUVZsRkxFVkJRVXRsTEVWQlFVOVRMRVZCUVZsMFFpeERRVUZQTEVWQlF6TkRTQ3hGUVVGcFFrTXNSVUZCUzFNc1JVRkJVVXNzUlVGQlN5eExRVUZOVlN4RlFVRlpkRUlzUTBGQlR5eEZRVU01UkVZc1JVRkJTU3hQUVVGUExGRkJRMWh6UWl4SFFVRm5RbkpDTEVWQlFVY3NUMEZCVVdNc1JVRkJUMklzUTBGQlR5eEZRVU0zUTA4c1JVRkJVMmRDTEVWQlFWVXNUVUZCVFN4RFFVRkRMRVZCUXpGQ0xFbEJRVTFETEVWQlFVOHNTVUZCU1VNc1IwRkJTMDRzUlVGQlUwa3NRMEZCVXl4RlFVTndRM3BDTEVWQlFVa3NVVUZCVVN4dFFrRkRXakJDTEVWQlFVc3NVMEZCVjJZc1IwRkRjRUpJTEVWQlFVa3NUVUZCVFN4TFFVRkxhMElzUTBGQlNTeERRVU4yUWl4TFFVTkxMRU5CUlVkU0xFZEJRMEZvUWl4RlFVRlJiVUlzUlVGQlVTeE5RVUZQTEdWQlFXZENMSEZFUVVGeFJDeEZRVU0xUmtjc1JVRkJWeXhWUVVOUVNDeEZRVUZSTEZGQlExSkJMRVZCUVZFc1UwRkJWenRCUVVGQkxFVkJRVTlITEVWQlFWY3NVVUZGY2tOSUxFVkJRVkVzVVVGQlZVY3NSVUZCVnl4VFFVVnlReXhKUVVGTlJTeEZRVUZQTEVsQlFVbERMRWRCUVV0T0xFTkJRVThzUlVGRGVrSnlRaXhGUVVGSkxGRkJRVkVzYlVKQlExb3dRaXhGUVVGTExGTkJRVmRtTEVkQlEzQkNTQ3hGUVVGSkxFMUJRVTBzUzBGQlMydENMRU5CUVVrc1EwRkRka0lzUTBGRFNpeERRVU5CTEU5QlFVbG9RaXhIUVVGalFTeEZRVUZoUkN4SFFVTXpRbEFzUlVGQlVWRXNSVUZCV1N4aFFVRmpMRzFEUVVGdFF5eEZRVU42UlVZc1JVRkJTU3hOUVVGUkxFTkJRVU5RTEVWQlFVY3NUMEZCVVZFc1JVRkJVVU1zUjBGQlFTeExRVUZCUVN4RlFVRmpSQ3hEUVVGTkxFVkJRemREUkN4RFFVTllMRU5ETlVkQkxGTkJRVk52UWl4SFFVRm5RaXhEUVVGRkxGbEJRVUZETEVWQlFXRXNhVUpCUVVGRExFTkJRV2xDTEVWQlFVZERMRVZCUVV0RExFVkJRVWxETEVWQlFWTkRMRVZCUVVzc1EwRktia1lzU1VGQlFVTXNSVUZMU1N4SlFVRk5ReXhIUVVGWlJDeEZRVUZCUkN4SFFVRkJMRmxCUVVGQkxFVkJRVXNzV1VGQlRDeExRVUZCUXl4RlFVRnJRa1VzUjBGRE9VSkRMRVZCUVUwc1NVRkJTVVlzUlVGQlZVd3NSVUZCU1N4TlFVRk5MRVZCUTJoRFFTeEZRVUZKTEZOQlEwcEJMRVZCUVVrc1QwRkJVeXhKUVVOaVFTeEZRVUZKTEZGQlEwcEJMRVZCUVVrc1RVRkJVU3hKUVVOb1FpeEpRVUZKVVN4RlFVRlRVQ3hGUVVGSExFOUJRMXBSTEVWQlFXRXNTMEZEYWtJc1QwRkJWeXhEUVVGRkxFMUJRVUZETEVWQlFVOHNUVUZCUVVNc1EwRkJUU3hKUVVGTFZpeEZRVUZITEUxQlFVOHNRMEZEY2tNc1NVRkJUVmNzUlVGQlVVTXNSMEZCWVVnc1JVRkJUeXhEUVVNNVFpeFZRVUZYTEdWQlExZ3NTMEZCVFVNc1JVRkRUaXhQUVVGQlNDeEZRVU5CTEZGQlFVRk9MRVZCUTBFc1lVRkJZMFFzUlVGQlJ5eFBRVU5xUWl4bFFVRm5RaXhGUVVOd1FpeERRVUZETEVWQlEwUXNSMEZCU1N4RFFVRkRWeXhGUVVGTkxFMUJRMUFzUjBGQlNVRXNSVUZCVFN4UlFVRlZRU3hGUVVGTkxFdEJRVTlFTEVWQlEzcENRU3hIUVVGVFFTeEZRVUZOTEU5QlFWTXNXVUZEZUVKVUxFVkJRVkZWTEVWQlFVMHNTVUZCU3l4aFFVRmpMR3RFUVVGclJDeEZRVVZ1UmxZc1JVRkJVVTBzUlVGQlVTeGxRVUZuUWl4dFEwRkJiVU1zVFVGRmRFVXNRMEZEUkVNc1JVRkJZVWNzUlVGQlRTeEpRVU5tUVN4RlFVRk5MRlZCUTA1TUxFVkJRVWtzVVVGQlZVc3NSVUZCVFN4VFFVTjRRaXhSUVVOS0xFTkJSVW9zU1VGQlRVVXNSVUZCVDBnc1JVRkRVR0lzUlVGQldVVXNSVUZCUzFjc1JVRkJUME1zUlVGQlQxWXNRMEZCVHl4RlFVTjBRMGdzUlVGQmFVSkRMRVZCUVV0WkxFVkJRVTBzU1VGQlMwWXNSVUZCVHl4TFFVRk5SU3hGUVVGUFZpeERRVUZQTEVWQlF6bEVSaXhGUVVGSkxFOUJRVThzVVVGRFdHVXNSMEZCWjBKa0xFVkJRVWNzVDBGQlVWVXNSVUZCVDFRc1EwRkJUeXhGUVVNM1EwMHNSVUZCVTAwc1JVRkJTeXhOUVVGTkxFTkJRVU1zUlVGRGNrSlFMRVZCUVVrc1RVRkJUU3hMUVVGTFR5eERRVUZKTEVOQlEzWkNMRU5CUTBFc1QwRkJRVkFzUlVGQlNTeE5RVUZSTEVOQlFVTk9MRVZCUVVjc1QwRkJVVThzUlVGQlVVTXNSMEZCUVN4TFFVRkJRU3hGUVVGalJDeERRVUZOTEVWQlF6ZERSQ3hEUVVOWUxFTkRPVU5CTEZOQlFWTlRMRWRCUVZkRExFVkJRVXRETEVWQlFWRkRMRVZCUVZWRExFVkJRVk1zUTBGRGFFUXNTVUZCU1VNc1JVRkJWU3hIUVVOa0xFZEJRVWxLTEVWQlFVc3NRMEZEVEN4SlFVRkpTeXhGUVVGWExFZEJRMWhETEVWQlFVMHNSMEZEVml4UlFVRlhReXhMUVVGVFVDeEZRVUZMTEVOQlEzSkNMRWRCUVUwc1EwRkJSU3hQUVVGQlVTeEZRVUZSTEV0QlFVRkRMRU5CUVVzc1JVRkJTVVlzUlVGRGVrSXNUMEZCVVVVc1JVRkJUU3hEUVVOV0xFbEJRVXNzVVVGRFJFb3NSVUZCVnl4SFFVTllMRTFCUTBvc1NVRkJTeXhWUVVGWExFTkJRMUpJTEVkQlFWa3NRMEZCUTBjc1IwRkRZa1lzUlVGQlVVa3NSVUZCVHl4bFFVRm5RaXgzUlVGQmQwVXNSVUZETTBjc1NVRkJUVWNzUlVGQlMwWXNSVUZCVHl4VlFVRlZMRU5CUVVNc1IwRkJTeXhKUVVNM1Frb3NSVUZIUkVFc1IwRkJWMFVzUlVGQlRVa3NSVUZHYWtKT0xFVkJRVlZOTEVWQlIyUktMRVZCUVUwc1IwRkRUaXhMUVVOS0xFTkJRMEVzU1VGQlN5eFZRVU5IUml4SlFVTkJSU3hIUVVGUFJTeEhRVU5ZU0N4RlFVRlhMRWRCUTFnc1RVRkRTaXhSUVVOSlJpeEZRVUZSU1N4RlFVRlBMRzFDUVVGdlFpeGpRVUZqUlN4RFFVRkpMR05CUVdNc1EwRkRNMFVzUTBGRFFWSXNSMEZCVlU4c1JVRkJUeXhOUVVOeVFpeERRVU5LTEVOQlEwRXNUVUZCVHl4RFFVRkZMRkZCUVVGS0xFVkJRVk1zVDBGQlFVZ3NRMEZCVHl4RFFVTTNRaXhEUTNwQ1FTeEpRVUZOVlN4SFFVRlhMRFJFUVVOWVF5eEhRVUZYUXl4SFFVRlZRU3hKUVVGVlFTeEZRVUZOTEU5QlFWTXNZVUZCWlVFc1JVRkJUU3hQUVVGVExHRkJRMnhHTEZOQlFWTkRMRWRCUVhOQ0xFTkJRVVVzV1VGQlFVTXNSVUZCWVN4cFFrRkJRVU1zUTBGQmFVSXNSVUZCUjBNc1JVRkJTME1zUlVGQlNVTXNSVUZCVTBNc1JVRkJTeXhEUVZoNlJpeEpRVUZCUXl4RlFVRkJReXhGUVZsSkxFbEJRVTFETEVWQlFWRk1MRVZCUVVjc1RVRkJUU3hUUVVGWExFbEJRelZDVFN4RlFVRlRSQ3hGUVVGUkxGZEJRV0VzWjBKQlF6bENSU3hIUVVGaFNpeEZRVUZCUkN4SFFVRkJMRmxCUVVGQkxFVkJRVXNzV1VGQlRDeExRVUZCUXl4RlFVRnRRa1VzUlVGQlVVY3NSMEZCVlVNc1IwRkRiRVJETEVWQlFVOHNTVUZCU1Vnc1JVRkJWVklzUlVGQlNTeE5RVUZOTEVWQlEzSkRWeXhGUVVGTExFdEJRVThzUjBGRFdpeEpRVUZOUXl4RlFVRlRXaXhGUVVGSkxFOUJRMlpaTEVsQlEwRmFMRVZCUVVrc1QwRkJVeXhKUVVOaVFTeEZRVUZKTEZGQlEwcEJMRVZCUVVrc1RVRkJVU3hKUVVOb1FpeEpRVUZKWVN4RlFVRlRXaXhGUVVGSExFOUJRVk5CTEVWQlFVY3NUVUZCVFN4UFFVRlBMRTlCUTNwRExGRkJRVk5oTEVWQlFVa3NSVUZCUjBFc1JVRkJTV0lzUlVGQlJ5eE5RVUZOTEU5QlFWRXNSVUZCUldFc1JVRkJSeXhEUVVOMFF5eEpRVUZOUXl4RlFVRlhaQ3hGUVVGSExFMUJRVTFoTEVOQlFVTXNSVUZEY2tJc1EwRkJSU3hOUVVGQlJTeEZRVUZQTEVsQlFVRkRMRVZCUVVzc1NVRkJRVU1zUlVGQlN5eE5RVUZCUXl4RFFVRk5MRVZCUVVsS0xFVkJRemRDU3l4RlFVRlJReXhIUVVGaFRDeEZRVUZQTEVOQlF6bENMRXRCUVUxVUxFVkJRMDRzVlVGQlZ5eHRRa0ZEV0N4TFFVRk5WU3hIUVVGQkxFdEJRVUZCTEVWQlFVOURMRWRCUVVFc1dVRkJRVUVzUlVGQlRTeEhRVU51UWl4UFFVRkJUQ3hGUVVOQkxGRkJRVUZZTEVWQlEwRXNZVUZCWTBRc1JVRkJSeXhQUVVOcVFpeGxRVUZuUWl4RlFVTndRaXhEUVVGRExFVkJRMFFzUjBGQlNTeERRVUZEYlVJc1JVRkJUU3hOUVVGUExFTkJRMlFzUjBGQlNTeERRVUZEUVN4RlFVRk5MRkZCUVZVc1EwRkJRMEVzUlVGQlRTeExRVUZQTEVOQlFVTkdMRWRCUVU4c1EwRkJRME1zUlVGQlR5eERRVU16UTB3c1NVRkJUU3hIUVVGTFRTeEZRVUZOTEUxQlEycENiRUlzUlVGQlVXdENMRVZCUVUwc1RVRkJUeXh0UWtGQmIwSXNiVUpCUVcxQ1lpeERRVUZOTEVWQlFVVXNSVUZETDBSUExFVkJRVWxpTEVWQlFVY3NUVUZCVFN4UFFVRlRMRWRCUXpOQ1F5eEZRVUZSYTBJc1JVRkJUU3hOUVVGUExHMUNRVUZ2UWl3MFFrRkJORUppTEVOQlFVMHNSVUZCUlN4RlFVTTNSV0VzUlVGQlRTeFZRVU5HVkN4RlFVRkxMRkZCUTB4QkxFVkJRVXNzVTBGQlZ6dEJRVUZCTEVWQlFVOVRMRVZCUVUwc1VVRkZOMEpVTEVWQlFVc3NVVUZCVlZNc1JVRkJUU3hUUVVVM1FsQXNSVUZCVTA4c1JVRkJUU3hKUVVObUxGRkJRMG9zUTBGRFNTeERRVUZEWkN4SFFVRlRUaXhGUVVGSkxGRkJRVkVzVVVGQlZYTkNMRWRCUVdkQ1RDeERRVUZITEVkQlEyNUVaaXhGUVVGUlpTeEZRVU5TTEhsQ1FVRXdRaXhyUlVGQmEwVXNRMEZEY0Vjc1EwRkRRU3hIUVVGSlNDeEpRVUZOTEVWQlEwWk5MRVZCUVUwc1QwRkRUbXhDTEVWQlFWRnJRaXhGUVVGTkxFMUJRVThzYlVKQlFXOUNMRzFDUVVGdFFtSXNRMEZCVFN4RlFVRkZMRlZCUjI1RllTeEZRVUZOTEU5QlExQnNRaXhGUVVGUmEwSXNSVUZCVFN4TlFVRlBMR1ZCUVdkQ0xIRkNRVUZ4UW1Jc1EwRkJUU3hSUVVGUkxFVkJRM2hGWVN4RlFVRk5MRkZCUVZNc1EwRkRaaXhKUVVGSlJ5eEZRVUZyUWl4SFFVTjBRa01zUlVGQlRTeFJRVUZYUXl4TFFVRk5WQ3hGUVVOdVFpeFBRVUZSVXl4RlFVRkhMRXRCUVUwc1EwRkRZaXhKUVVGTExGRkJRMHdzU1VGQlN5eFJRVU5FTEUxQlEwb3NTVUZCU3l4VlFVTkVSaXhGUVVGclFrVXNSVUZCUnl4UFFVRlBMRlZCUVZVc1EwRkJReXhGUVVOMlF5eE5RVUZOUkN4RlFVTldMRkZCUTBrc1RVRkJUVUVzUTBGRFpDeERRVVZLTEVkQlFVbEVMRVZCUVdsQ0xFTkJRMnBDTEVsQlFVbEhMRVZCUVU5bUxFVkJRVXNzVFVGQlRVRXNSVUZCU3l4TlFVRk5MRTlCUVZNc1EwRkJReXhGUVVOMlEyZENMRVZCUVU5RUxFTkJRVWtzU1VGRFdFRXNSMEZCVDNKQ0xFVkJRVUZ4UWl4RlFVRkxMRkZCUVV3c1MwRkJRWEpDTEVWQlFXTnhRaXhGUVVGTExFdEJRekZDUVN4RlFVRkxMRkZCUTB4QkxFVkJRVXNzVTBGQlZ6dEJRVUZCTEVWQlFVOUlMRVZCUlhaQ1J5eEZRVUZMTEZGQlFWVklMRVZCUTI1Q1NDeEZRVUZOTEZGQlFWVkJMRVZCUVUwc1VVRkJVU3hWUVVGVlJ5eEZRVUZuUWl4UFFVRlRMRU5CUVVNc1EwRkRkRVVzUTBGRFNpeERRVVZLTEVkQlFVa3NRMEZCUTJwQ0xFZEJRVk1zUTBGQlExa3NSMEZCVHl4RFFVRkRSU3hGUVVGTkxFMUJRVThzUTBGSGFFTXNTVUZCVFZFc1JVRkJXVlFzUlVGRFduSkNMRVZCUVZsRkxFVkJRVXR0UWl4RlFVRlBReXhGUVVGUGJFSXNRMEZCVHl4RlFVTjBRMGdzUlVGQmFVSkRMRVZCUVV0dlFpeEZRVUZOTEVsQlFVdEdMRVZCUVVzc1MwRkJUVVVzUlVGQlQyeENMRU5CUVU4c1JVRkRhRVZUTEVWQlFVc3NUVUZCVFN4TFFVRkxhVUlzUTBGQlV5eEZRVU42UW1Zc1JVRkJVMlVzUlVGQlZTeE5RVUZOTEVOQlFVTXNSVUZEZEVKcVF5eEhRVUZSZDBJc1EwRkJTeXhIUVVOaWFrSXNSVUZCVVRCQ0xFVkJRVlVzVFVGQlR5eG5Ra0ZCYVVKc1F5eEZRVUZSTEVOQlF6RkVMRXRCUTBzc1EwRkhSRTBzUlVGQlNTeE5RVUZSTEVkQlExb3NTVUZCVFRaQ0xFVkJRVmRVTEVWQlFVMHNTVUZEYWtKVkxFVkJRVlZpTEVWQlExWnVRaXhGUVVGWlJTeEZRVUZMYVVJc1JVRkJTMGNzUlVGQlQyeENMRU5CUVU4c1JVRkRjRU5JTEVWQlFXbENReXhGUVVGTE5rSXNSVUZCVldJc1JVRkJUeXhMUVVGTlNTeEZRVUZQYkVJc1EwRkJUeXhGUVVNM1JGQXNSMEZCVVhOQ0xFTkJRVWNzUjBGRFdHWXNSVUZCVVRSQ0xFVkJRVkVzVFVGQlR5eG5Ra0ZCYVVKd1F5eEZRVUZSTEVWQlEzQkVUU3hGUVVGSkxFMUJRVkVzUjBGRldpeEpRVUZOSzBJc1JVRkJZVllzUjBGQllVZ3NSMEZCUVN4TFFVRkJRU3hGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU4yUXl4TFFVRk5XQ3hGUVVOT0xGVkJRVmNzWjBKQlExZ3NTMEZCVFZrc1JVRkRUaXhQUVVGUlZ5eEZRVUZSTEUxQlFVMHNRMEZCUXl4RlFVTjJRaXhSUVVGQk5VSXNSVUZEUVN4aFFVRmpSQ3hGUVVGSExFOUJRMnBDTEdWQlFXZENMRVZCUTNCQ0xFTkJRVU1zUlVGRFJDeEhRVUZKT0VJc1JVRkJWeXhQUVVOWUxFZEJRVWtzUTBGQlEzcENMRWRCUVZNc1EwRkJRMk1zUlVGQlRTeFBRVUZUY0VJc1JVRkJTU3hSUVVGUkxFOUJRVkVzUTBGRE9VTXNSMEZCU1d0Q0xFVkJRMEVzVVVGQlYwOHNTMEZCVFZBc1JVRkJTeXhEUVVOc1FpeEhRVUZKVHl4SlFVRlBUU3hGUVVGWExFMUJRMnhDTEUxQlEwb3NSMEZCU1U0c1JVRkJSeXhQUVVGVExGVkJRVmNzUTBGRGRrSjJRaXhGUVVGUmRVSXNSVUZCU1N4NVFrRkJNRUlzYTBWQlFXdEZMRVZCUTNoSExFdEJRMG9zUTBGRFNpeERRVU5CVEN4RlFVRk5MRTFCUVZGWExFVkJRVmNzVFVGQlRTeFBRVUZUTEUxQlEzaEROMElzUlVGQlVUWkNMRVZCUVZjc1RVRkJUeXh6UWtGQmRVSXNOa1pCUVRaR0xFTkJRM1JLTEU5QlJVdGFMRWxCUTBRc1YwRkJXVUVzUjBGQlUwRXNSVUZCVFN4UlFVRlZRU3hGUVVGTkxFOUJRVThzUTBGQlF5eEpRVUZOTEVsQlEzcEVha0lzUlVGQlVXbENMRVZCUVU4c1pVRkJaMElzTkVKQlFUUkNXaXhEUVVGTkxFVkJRVVVzUlVGRmJrVk1MRVZCUVZFMlFpeEZRVUZYTEUxQlFVOHNaVUZCWjBJc01FSkJRVEJDZUVJc1EwRkJUU3hSUVVGUkxFZEJSekZHTEVsQlFVMXhRaXhIUVVGWlZDeEZRVU5hY2tJc1JVRkJXVVVzUlVGQlMyMUNMRVZCUVU5WkxFVkJRVmszUWl4RFFVRlBMRVZCUXpORE5rSXNSVUZCVnl4TlFVTlFhRU1zUlVGQmFVSkRMRVZCUVVzclFpeEZRVUZYTEVsQlFVdGlMRVZCUVVzc1MwRkJUV0VzUlVGQldUZENMRU5CUVU4c1JVRkRjRVVzUzBGRFRqQkNMRWRCUTBscVF5eEhRVUZSZDBJc1EwRkJTeXhIUVVOaWFrSXNSVUZCVVRCQ0xFZEJRVlVzVFVGQlR5eG5Ra0ZCYVVKc1F5eEZRVUZSTEVWQlJXcEVjVU1zUlVGQlZ5eFZRVU5hUkN4RlFVRlJMRkZCUTFKQkxFVkJRVkVzVTBGQlZ6dEJRVUZCTEVWQlFVOURMRVZCUVZjc1VVRkZja05FTEVWQlFWRXNVVUZCVlVNc1JVRkJWeXhUUVVWeVF5eEpRVUZOUXl4SFFVRlBMRWxCUVVsRExFZEJRVXRJTEVWQlFWTkdMRVZCUVZNc1JVRkhlRU1zUjBGR1NUVkNMRVZCUVVrc1VVRkJVU3h0UWtGRFdtZERMRWRCUVVzc1UwRkJWMnBDTEVkQlEyaENWQ3hGUVVGUExFTkJRMUFzU1VGQlRUUkNMRVZCUVUxMlFpeEZRVU5TZDBJc1IwRkJXVzVETEVWQlFVdHJReXhGUVVGSkxFMUJRVTlLTEVOQlFVOHNSMEZEYmtNMVFpeEZRVUZSTWtJc1JVRkJWU3huUWtGQmFVSXNlVUpCUVhsQ0xFVkJRMmhGU3l4RlFVRkpMRTFCUVUwc1MwRkJTMFlzUlVGQlNTeERRVU4yUWl4TFFVTkxMRU5CUTBRc1NVRkJUVVVzUlVGQlRTeEpRVUZKZWtJc1IwRkJVVlFzUlVGQlNTeE5RVUZOTEVWQlEyeERhME1zUlVGQlNTeExRVUZQTEVkQlExaEJMRVZCUVVrc1RVRkJUU3hMUVVGTFJpeEZRVUZKTEVWQlEyNUNMRWxCUVUxSkxFZEJRVmxTTEVsQlFVRXNTMEZCUVVFc1IwRkJZVVVzUjBGQlV5eE5RVU40UTBrc1JVRkJTU3hOUVVGUkxFTkJRVU5LTEVWQlFWRXNUVUZCVFN4RFFVRkRMRVZCUVVkTkxFVkJRVk1zUTBGQlF5eEZRVUZIUVN4RlFVRlRMRU5CUVVNc1EwRkJReXhGUVVOMlJIcENMRVZCUVVzc1RVRkJUU3hMUVVGTGRVSXNRMEZCUnl4RFFVTjJRaXhEUVVOQmNrSXNSVUZCVTJVc1IwRkJXVUVzUjBGQlZTeE5RVUZOTEVOQlFVTXNSVUZCU1Vjc1JVRkJWeXhIUVVONlJDeERRVU5LTEVOQlEwRXNTVUZCVFUwc1JVRkJZeTlDTEVWQlFWRXNTVUZCVFN4SlFVTTFRaXhEUVVGRFowTXNSVUZCU1N4SFFVRkhReXhEUVVGRkxFVkJRVWwwUXl4RlFVRkhMRWxCUTI1Q2RVTXNSVUZCVVROQ0xFVkJRMW9zUjBGQlNYbENMRWRCUVUxQkxFVkJRVWNzVTBGQlYwUXNSVUZEY0VKSExFVkJRVkZHTEVWQlFVY3NUMEZCVTBFc1JVRkJSeXhQUVVGUExGZEJRemRDTEVOQlEwUXNTVUZCVFVjc1JVRkJUMnhETEVWQlFVOHNRMEZCUXl4RlFVRkZMRmxCUVZrc1JVRkJTVUVzUlVGQlR5eFZRVUZWTEVOQlFVTXNSVUZEYmtSdFF5eEZRVUZOT1VJc1JVRkRUaXhIUVVGSE5rSXNRMEZCU1N4dlFrRkJiMEpLTEVOQlFWY3NSMEZEZEVNc1IwRkJSMGtzUTBGQlNTeHhSVUZCY1VWS0xFTkJRVmNzUjBGRE4wWnVReXhGUVVGUlZ5eEZRVUZSUkN4RlFVRlRMR1ZCUVdsQ0xHRkJRV000UWl4RFFVRkhMRVZCUTNaRVNpeEhRVUZOUVN4RlFVRkhMRTlCUVU4c1UwRkJWeXhIUVVNelFrTXNSVUZCUnl4UlFVRlJSQ3hEUVVGRkxFTkJRM0pDTEVOQlEwRXNSMEZCU1VNc1JVRkJSeXhQUVVGVExFVkJRVWNzUTBGRFppeEpRVUZOU1N4RlFVRk5ReXhIUVVGWFRDeEZRVUZKUXl4RlFVRlBlRU1zUlVGQlNTeFJRVUZSTEU5QlFWRkZMRU5CUVU4c1JVRkRla1I1UXl4RlFVRkpMRlZCUTBGb1F5eEZRVUZMTEZGQlEweEJMRVZCUVVzc1UwRkJWenRCUVVGQkxFVkJRVTluUXl4RlFVRkpMRkZCUlROQ2FFTXNSVUZCU3l4UlFVRlZaME1zUlVGQlNTeFRRVVV6UW1oRExFVkJRVXNzVFVGQlVTeERRVUZEVml4RlFVRkhMRTlCUVZGMVF5eEZRVUZQUnl4RlFVRkpMRTFCUVUwc1EwRkRPVU1zVFVGRlNXaERMRVZCUVVzc1RVRkJVU3hEUVVGRFZpeEZRVUZITEU5QlFWRjFReXhGUVVGUFFTeERRVUZMTEVWQlJYcERMRTlCUVU4M1FpeERRVU5ZTEVORGNFMUJMRk5CUVZOclF5eEhRVUZyUWtNc1JVRkJTVU1zUlVGQlMwTXNSVUZCVDBNc1JVRkJVME1zUlVGQlUwTXNSVUZCU3l4RFFVTTVSQ3hKUVVGTlF5eEZRVUZQU2l4RlFVRk5MRTlCUVZNc1dVRkRkRUpMTEVkQlFXZENVQ3hGUVVGSlF5eEZRVUZMUXl4RlFVRlBReXhGUVVGVFJTeERRVUZITEVWQlF6VkRTQ3hGUVVGTkxFOUJRVk1zV1VGRFdFMHNSMEZCWjBKU0xFVkJRVWxETEVWQlFVdERMRVZCUVU5RExFVkJRVk5GTEVOQlFVY3NSVUZETlVOSkxFZEJRWE5DVkN4RlFVRkpReXhGUVVGTFF5eEZRVUZQUXl4RlFVRlRSU3hEUVVGSExFVkJRM1JFU3l4RlFVRlBTaXhGUVVGTExGbEJSMnhDTEU5QlFVbEdMRWxCUVZrc1MwRkJUMEVzU1VGQldVMHNSVUZCU3l4VFFVTndRMG9zUlVGQlN5eEpRVUZOU1N4RlFVRkxMRkZCUTFSS0xFbEJSVkJHTEVsQlEwRkZMRVZCUVVzc1NVRkJUVVlzUjBGRFVrVXNSVUZEV0N4RFFVTkJMRk5CUVZOTExFZEJRV3RDV0N4RlFVRkpReXhGUVVGTFF5eEZRVUZQVlN4RlFVRlBWQ3hGUVVGVExFTkJla0l6UkN4SlFVRkJWU3hGUVVGQlF5eEZRVEJDU1N4SlFVRk5ReXhGUVVGWFNDeEZRVUZOTEVsQlEycENVaXhGUVVGWFZ5eEZRVVZZWkN4RlFVRkpMRmRCUVZjc1VVRkJVV01zUlVGQlV5eFBRVUZSUXl4SFFVRlBZaXhGUVVGUldTeEZRVUZWTEhGQ1FVRnpRa01zUTBGQlJ5eERRVUZETEVWQlJETkdMRXRCUlU0c1IwRkJTV1FzUlVGQlRTeFBRVUZUTEZsQlFXRXNRMEZETlVJc1IwRkJUU3hEUVVGRkxFOUJRVUZsTEVWQlFWRXNhVUpCUVd0Q1F5eERRVUZITEVWQlFVbE9MRVZCUTI1RFR5eEZRVUZYUml4SFFVRlZSaXhGUVVOeVFrVXNSVUZCVHl4UFFVRlRSaXhGUVVGVExFOUJRM0pDUlN4RlFVTkJSaXhGUVVOSVJTeEhRVUZCTEV0QlFVRkJMRVZCUVZWR0xFVkJRMkpKTEVsQlFXRXNRMEZCUTBRc1IwRkJUVUVzUlVGQlJ5eFBRVUZUUXl4RlFVRlRMRk5CUlhwRGFFSXNSVUZCVVdkQ0xFVkJRVlVzWlVGRVJpdzBRMEZEZVVJc1EwRkZha1FzUTBGRFFTeEpRVUZOUXl4RlFVRlZiRUlzUlVGQlRTeFBRVUZUTEZsQlEzcENMRTFCUTBGQkxFVkJRVTBzVDBGQlV5eFpRVU5ZTEUxQlEwRkJMRVZCUVUwc1RVRkJUU3hUUVVGWExFbEJRMjVDTEUxQlEwRXNUVUZIWkN4SFFVRkpMRU5CUVVOaExFZEJRMFFzUTBGQlExZ3NSMEZEUkVFc1NVRkJXU3hMUVVOWVFTeEpRVUZaYVVJc1IwRkJVU3hUUVVGWFJDeEpRVUZaTEU5QlF6TkRhRUlzU1VGQldXdENMRWRCUVZFc1UwRkJWMFlzU1VGQldTeE5RVU0xUXl4UFFVRlBja0lzUjBGQmEwSkRMRVZCUVVsRExFVkJRVXRETEVWQlFVOURMRVZCUVZORExFTkJRVThzUlVGRk4wUXNTVUZCU1VNc1JVRkJUVW9zUlVGQlNTeFBRVUZQTEV0QlFVc3NTMEZCUzNOQ0xFZEJRVXRCTEVWQlFVVXNUVUZCVVc1Q0xFZEJRVmR0UWl4RlFVRkZMR0ZCUVdWSUxFTkJRVThzUlVGRGFrWXNSMEZCU1N4RFFVRkRaaXhGUVVGTExFTkJRMDRzU1VGQlRXMUNMRVZCUVV0MlFpeEZRVUZKTEU5QlFVOHNWVUZCVlVjc1EwRkJUeXhGUVVOMlF5eEhRVUZKYjBJc1IwRkJUVUVzUlVGQlJ5eGhRVUZsU2l4RlFVTjRRbTVDTEVWQlFVa3NUMEZCVHl4TFFVRkxMRXRCUVVzc1QwRkJUeXhQUVVGUExFTkJRVU1zUlVGQlIzVkNMRVZCUVVrc1EwRkJSU3hSUVVGVExFVkJRVTBzUTBGQlF5eERRVUZETEVWQlF6bEVia0lzUlVGQlRXMUNMRTFCUjA0c1VVRkJTVUVzUjBGQlFTeE5RVUZCUVN4RlFVRkpMRmRCUTBweVFpeEZRVUZSV1N4RlFVRlZMSE5DUVVGMVFpeEhRVUZIVXl4RlFVRkhMRWRCUVVjc1lVRkJZVW9zUTBGQlR5dzBRa0ZCTkVKSkxFVkJRVWNzVlVGQlZTeEhRVUZKTEVWQlFVa3NSVUZIZGtoeVFpeEZRVUZSV1N4RlFVRlZMSEZDUVVGelFpeHRRa0ZCYlVKWUxFTkJRVThzUjBGQlNTeEZRVUZKTEVWQlJYWkZUQ3hIUVVGclFrTXNSVUZCU1VNc1JVRkJTME1zUlVGQlQwTXNSVUZCVTBNc1EwRkJUeXhEUVVWcVJTeERRVU5CTEVsQlFVMUZMRVZCUVU5UUxFZEJRV3RDUXl4RlFVRkpReXhGUVVGTFF5eEZRVUZQUXl4RlFVRlRReXhGUVVGVFF5eERRVUZITEVWQlF6bEViMElzUjBGQlRWZ3NSMEZCUVVRc1JVRkJRVklzUlVGQlNTeFZRVUZLTEZsQlFVRlJMRVZCUVVFc1MwRkJRVklzUlVGQlkwTXNSVUZCVFZVc1IwRkJUMklzUlVGQlVWa3NSVUZCVlN4eFFrRkJjMEpETEVOQlFVY3NSVUZCUjJZc1JVRkJTU3hYUVVFM1JTeExRVUZCWVN4RlFVRjVSbElzUlVGREwwWnZRaXhGUVVGUFF5eEZRVUZQUml4RFFVRkhMRVZCUTJwQ1FTeEZRVU5CTEVsQlFVbEhMRVZCUVU5SUxFTkJRVWNzUlVGRGNFSXNUMEZCUVVNc1JVRkJTeXhOUVVGUmNFSXNSVUZCU3l4TlFVTnNRbTlDTEVWQlFVc3NTVUZCVFhSQ0xFVkJRMUJETEVkQlFVRXNUVUZCUVVFc1JVRkJTeXhUUVVOTWNVSXNSVUZCU3l4UFFVRlRja0lzUlVGQlNTeFJRVU5tY1VJc1EwRkRXQ3hEUTI1R1FTeFRRVUZUUnl4SFFVRnRRa01zUlVGQlMwTXNSVUZCVVVNc1JVRkJVeXhEUVVNNVF5eEpRVUZOUXl4RlFVRlJSaXhGUVVGUExFOUJRMlpITEVWQlFWTkRMRWRCUVhWQ1NpeEZRVUZSUkN4RlFVRkpMRkZCUVZFc1QwRkJVVVVzUTBGQlR5eEZRVU42UlN4SFFVRkpMRU5CUVVORkxFVkJRMFFzVFVGQlR5eERRVUZGTEUxQlFVOHNSMEZCU1N4TFFVRk5MRXRCUVUwc1VVRkJVeXhIUVVGSkxFMUJRVThzUTBGQlEwUXNSVUZCVDBFc1JVRkJUMEVzUTBGQlN5eERRVUZGTEVWQlF6bEZMRWxCUVUxSExFVkJRVTlHTEVWQlFVOHNUMEZCVXl4SlFVRk5SeXhGUVVGUExHRkJRV1ZCTEVWQlFVOHNZMEZETVVSRExFVkJRVkZRTEVWQlFVOHNUMEZCVTFFc1IwRkJWMUlzUlVGQlR5eE5RVUZOTEVWQlFVa3NRMEZCUXl4RlFVVjJSRk1zUlVGQllVWXNSVUZCVFN4UFFVTjJRaXhSUVVGVFJ5eEZRVUZKU0N4RlFVRk5MRTlCUVZNc1JVRkJSMGNzUjBGQlN5eEZRVUZITEVWQlFVVkJMRVZCUVVjc1EwRkRlRU1zU1VGQlRVTXNSVUZCVlVvc1JVRkJUVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZETVVJc1IwRkJTVU1zU1VGQldTeEpRVUZOUVN4SlFVRlpMRXRCUXpsQ1JpeEZRVUZoUXl4TlFVVmlMRTFCUTFJc1EwRkZRU3hIUVVGSlJDeEpRVUZsTEVWQlFVY3NRMEZEYkVJc1NVRkJUVWNzUlVGQlVWUXNSVUZCVHl4UlFVRlZMRXRCUVU5SkxFVkJRVTBzVDBGQlV5eEZRVU12UXp0QlFVRkJMRVZCUVVzc1QwRkJUeXhMUVVGTExFbEJRVWtzUlVGQlIwRXNSVUZCVFN4UFFVRlRMRU5CUVVNc1EwRkJReXhGUVVONlF5eEhRVU5HVFN4RlFVRk5XQ3hGUVVGUlF5eEZRVUZQTEU5QlEzcENMRTlCUVVsSUxFVkJRVThzVTBGRFVHRXNSMEZCVDJJc1JVRkJUeXhQUVVGUExGRkJRMnhDTEVOQlFVVXNUVUZCUVZrc1JVRkJUeXhMUVVGQlVDeEZRVUZOTEZGQlFWTkdMRVZCUVU4c1VVRkJVeXhOUVVGUExFTkJRVU5FTEVWQlFVOVhMRVZCUVV0QkxFTkJRVWNzUTBGQlJTeERRVU0xUlN4RFFVVkJMRWxCUVVsRExFVkJRV0ZrTEVWQlFVOHNUMEZCVTBjc1JVRkJUeXhQUVVOd1Exa3NSVUZCVTJZc1JVRkJUeXhQUVVGVFJ5eEZRVUZQTEU5QlEyaERZU3hGUVVGbExFVkJRMjVDTEZGQlFWTk9MRVZCUVVrc1JVRkJSMEVzUlVGQlNVUXNSVUZCV1N4RlFVRkZReXhGUVVGSExFTkJRMnBETEVkQlFVMHNRMEZCUTA4c1JVRkJVVTRzUTBGQlR5eEZRVUZKU2l4RlFVRk5SeXhEUVVGRExFVkJRMnBETEVkQlFVbERMRWxCUVZrc1NVRkJUVUVzU1VGQldTeExRVU14UWxJc1JVRkJUeXhUUVVGWExFZEJRVXRqTEVWQlFVOHNUMEZCVTBnc1NVRkRka05CTEVWQlFXRkhMRVZCUVU4c1dVRkZka0lzUTBGRFIwRXNSVUZCVHl4UFFVRlRTQ3hIUVVWb1FtSXNSVUZCVVdNc1JVRkJVMFVzUlVGQlR5eFBRVUZSTEdWQlJHaENMR2xIUVVOMVF5eEZRVVYyUkdRc1JVRkJUeXhUUVVGWExFbEJRMnhDVnl4RlFVRmhSeXhGUVVGUExGRkJRM2hDUkN4RlFVRmxUaXhGUVVOWVNTeEpRVUZsTEVkQlFVc3NRMEZCUTJZc1JVRkJTU3hSUVVWNlFrVXNSVUZCVVdNc1JVRkJVU3hoUVVSQkxIRkVRVU54UWl4RlFVVjZReXhMUVVOS0xFTkJRMEZCTEVkQlFWVkZMRVZCUVU4c1QwRkJVMDRzUlVGQlVTeFBRVUZUTEVOQlF5OURMRU5CUlVFc1VVRkJVMFFzUlVGQlNVZ3NSVUZCVFN4UFFVRlRMRVZCUVVkSExFZEJRVXRFTEVWQlFWa3NSVUZCUlVNc1JVRkRNVU5JTEVWQlFVMUhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVDBGQlUwa3NTVUZEY2tKTUxFVkJRV0ZETEVWQlFVa3NSMEZGZWtJc1NVRkJTVVVzUlVGQlVTeEhRVU5TVFN4RlFVRk5MRWRCUTA1RExFVkJRVzFDTEVkQlJYWkNMRkZCUVZOVUxFVkJRVWtzUlVGQlIwRXNSVUZCU1Uwc1JVRkJZeXhGUVVGRlRpeEZRVU5vUTBVc1IwRkJVMHdzUlVGQlRVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hOUVVGTlNTeERRVUZWTEVWQlFVazdRVUZCUVN4RlFVTTNReXhSUVVGVFNpeEZRVUZKVFN4RlFVRmpUaXhGUVVGSlJDeEZRVUZaTEVWQlFVVkRMRVZCUVVjc1EwRkROVU1zUjBGQlNTeERRVUZEVHl4RlFVRlJUaXhEUVVGUExFVkJRVWxLTEVWQlFVMUhMRU5CUVVNc1JVRkRMMEpMTEVkQlFWVkZMRVZCUVU4c1QwRkJVMDRzUlVGQlVTeFBRVUZUTEVWQlF6TkRMRWxCUVUxVExFVkJRVTlVTEVWQlFWRkJMRVZCUVZFc1QwRkJVeXhEUVVGRExFbEJRVTBzUzBGSk4wTXNSMEZJU1ZNc1NVRkRRVlFzUlVGQlZVRXNSVUZCVVN4TlFVRk5MRVZCUVVjc1JVRkJSU3hIUVVVM1FrRXNSMEZCVjAwc1JVRkJUeXhQUVVGVFNDeEZRVUZaTEVOQlNYWkRMRWxCUVUxUExFVkJRVlVzTWtSQlNFcHNRaXhGUVVGUExFOUJRMklzYVVOQlEwRXNXVUZEZDBVc1IwRkRPVVZHTEVWQlFWRmpMRVZCUVZOS0xFVkJRVkVzVVVGQlZWTXNSVUZCVHl4RlFVRkpMRWRCUVVrc1lVRkJZME1zUTBGQlR5eEZRVU4yUlVvc1JVRkJVeXhGUVVOaUxFTkJRMGxhTEVsQlFWTkRMRVZCUVU4c1pVRkRhRUpOTEVkQlFWTk5MRVZCUVUxRUxFVkJRVThzVFVGQlRVZ3NRMEZCVlN4RlFVRkpTQ3hGUVVNeFEwOHNSVUZCVFR0QlFVRkJMRWRCUlVSRUxFVkJRVThzVDBGQlUwZ3NSMEZCWTBnc1JVRkJVU3hEUVVGRExFbEJRVTBzUzBGRk9VTlBMRWxCUVZFc1NVRkRVa0VzUlVGQlRUdEJRVUZCTEVWQlEwUXNRMEZCUTBNc1IwRkJiMEpFTEVsQlFWRTdRVUZCUVN4SlFVTnNRMEVzUlVGQlRUdEJRVUZCTzBGQlFVRXNSMEZEVms0c1IwRkJVMDBzUlVGQlRVUXNSVUZCVHl4TlFVRk5TQ3hEUVVGVkxFVkJRVWxJTEVWQlF6RkRUeXhGUVVGTk8wRkJRVUVzUlVGRFRrTXNSVUZCYlVJc1NVRkZaRklzU1VGQldTeEhRVVZpVHl4SlFVRlJPMEZCUVVFc1JVRkRVazRzUjBGQlV6dEJRVUZCTEVWQlJWUk5MRVZCUVUwN1FVRkJRU3hIUVVkV1RpeEhRVUZUVFN4RlFVRk5VQ3hGUVVObVR5eEZRVUZOTEVsQlEwNURMRVZCUVcxQ0xFZEJSVE5DTEVOQlEwRXNUMEZCVVdoQ0xFVkJRVThzVFVGQlR5eERRVU5zUWl4SlFVRkxMRWxCUTBRc1RVRkRTaXhKUVVGTExFbEJRMFFzVVVGQlUwOHNSVUZCU1VRc1JVRkJXVU1zUlVGQlNVZ3NSVUZCVFN4UFFVRlJMRVZCUVVWSExFVkJRM3BEUlN4SFFVRlRPMEZCUVVFc1JVRkJUMHdzUlVGQlRVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hOUVVGTlNTeERRVUZWTEVWQlF6VkRSaXhGUVVGTlFTeEZRVUZOTEU5QlFWTXNRMEZCUXl4SlFVRk5PMEZCUVVFc1NVRkROVUpCTEVkQlFWTTdRVUZCUVN4SFFVTmlMRTFCUTBvc1VVRkRTVUVzUjBGQlV6dEJRVUZCTEVOQlEycENMRU5CUTBFc1NVRkJUVU1zUlVGQlRWZ3NSVUZCVVVNc1JVRkJUeXhQUVVGVFNDeEZRVUZQTEU5QlFVOHNUMEZEYkVRc1RVRkJUeXhEUVVGRkxFMUJRVUZaTEVWQlFVOHNTMEZCUVZBc1JVRkJUU3hSUVVGVFJpeEZRVUZQTEZGQlFWTXNUVUZCVHl4RFFVRkRSQ3hGUVVGUFZ5eEZRVUZMUVN4RFFVRkhMRU5CUVVVc1EwRkROVVVzUTBGRFFTeFRRVUZUVkN4SFFVRjFRaXhEUVVGRkxFOUJRVUZYTEVWQlFWRXNUVUZCUVU4c1EwRkJUU3hGUVVGSFF5eEZRVUZSZEVJc1JVRkJVeXhEUVVWb1JTeEhRVUZKY1VJc1JVRkJUU3hEUVVGRExFVkJRVVVzVDBGQlV5eHpRa0ZEYkVJc1QwRkJRWEpDTEVWQlFWRnhRaXhGUVVGTkxFTkJRVU1zUlVGQlJ5eGhRVUZqTEN0Q1FVRXJRaXhGUVVONFJDeExRVVZZTEVkQlFVMHNRMEZCUlN4UFFVRkJSU3hEUVVGUExFVkJRVWxHTEVWQlFVMHNRMEZCUXl4RlFVTndRa2NzUlVGQlQwUXNSVUZCVHl4RFFVRkRMRVZCUTJwQ1VDeEZRVUZUTEVWQlExUlRMRVZCUVZFc1IwRkRVa01zUlVGQlVTeEhRVU5hTEZGQlFWTnFRaXhGUVVGSkxFVkJRVWRCTEVWQlFVbGpMRVZCUVU4c1QwRkJVU3hGUVVGRlpDeEZRVUZITEVOQlEzQkRMRWxCUVUxclFpeEZRVUZMU2l4RlFVRlBaQ3hEUVVGRExFVkJRMjVDTEVkQlFVa3NRMEZCUTJkQ0xFbEJRVlZGTEVsQlFVOHNTMEZCVDBFc1NVRkJUeXhMUVVOb1EwWXNSVUZCVVVVc1RVRkRVQ3hEUVVORUxFbEJRVTFETEVWQlFVa3NUMEZCVDBRc1EwRkJSU3hGUVVObUxFTkJRVU5ZTEVkQlFWVlpMRVZCUTFoYUxFVkJRVk5aTEVWQlEwcEdMRWxCUVZVc1MwRkRaa0VzUlVGQlVWb3NSVUZCVTB3c1JVRkRla0lzUTBGRFNpeERRVU5KYVVJc1NVRkJWU3hKUVVOV01VSXNSVUZCVVRCQ0xFVkJRVThzYlVKQlFXOUNMR3RFUVVGclJFZ3NRMEZCVFN4RlFVRkZMRVZCUTJwSExFbEJRVWxOTEVWQlFWY3NSMEZEV0VNc1JVRkJWU3hIUVVOV1F5eEZRVUZUVWl4RlFVRlBMRTlCUTNCQ0xGRkJRVk5rTEVWQlFVa3NSVUZCUjBFc1JVRkJTVmtzUlVGQlRTeFBRVUZSTEVWQlFVVmFMRVZCUVVjc1EwRkRia01zU1VGQlRYVkNMRVZCUVZGWUxFVkJRVTFhTEVOQlFVTXNSVUZEY2tJc1QwRkJVWFZDTEVWQlFVMHNTMEZCVFN4RFFVTm9RaXhKUVVGTExGRkJRMFJJTEVWQlFWY3NSMEZGWml4SlFVRkxMRlZCUTBSRkxFZEJRVlZETEVWQlFVMHNUMEZCVHl4UFFVTjJRaXhOUVVOS0xFbEJRVXNzVlVGRFIxWXNSMEZCVlN4RFFVRkRUeXhIUVVWWU4wSXNSVUZCVVdkRExFVkJRVThzWlVGRVF5eDNSVUZEYzBJc1JVRkZNVU5FTEVkQlFWVkRMRVZCUVUwc1QwRkJUeXhQUVVOMlFrWXNSVUZCVlVVc1JVRkJUU3hQUVVGUExGVkJRVlVzUTBGQlF5eEZRVU5zUXl4TlFVTktMRWxCUVVzc1VVRkRSR2hETEVWQlFWRm5ReXhGUVVGUExHMUNRVUZ2UWtFc1JVRkJUU3hQUVVGUExFVkJRMmhFUkN4SFFVRlZReXhGUVVGTkxFOUJRVThzVDBGRGRrSXNUVUZGU2l4UlFVRlRMRU5CUTB3c1NVRkJUVm9zUlVGQlZTdzBRMEZCTkVOWkxFVkJRVTBzU1VGQlNTeEhRVU4wUldoRExFVkJRVkZuUXl4RlFVRlBMRzFDUVVGdlFsb3NRMEZCVHl4RlFVTXhReXhKUVVGTllTeEZRVUZMUkN4RlFVRk5MRTlCUTJKRExFZEJRVTBzVDBGQlQwRXNSMEZCVHl4WFFVTndRa1lzUjBGQlZVVXNSVUZCUnl4UFFVTnlRaXhEUVVOS0xFTkJRMG9zUTBGRFFTeE5RVUZQTEVOQlFVVXNTMEZCUVZRc1JVRkJUU3hQUVVGQlVpeEZRVUZSTEUxQlFVRlRMRVZCUVU4c1VVRkJRVXNzUlVGQlV5eFBRVUZCUXl4RFFVRlBMRU5CUTJ4RUxFTkJSVUVzVTBGQlUzaENMRWRCUVZkblFpeEZRVUZSTEVOQlEzaENMRWxCUVUxWExFVkJRVkZZTEVWQlFVOHNUVUZCVFN4UlFVRlJMRVZCUXpkQ1dTeEZRVUZSUkN4RlFVRk5MRU5CUVVNc1JVRkRaa1VzUlVGQlNVUXNSVUZCVFN4TlFVRk5MRTlCUVU4c1JVRkpka0kzUWl4RlFVRlJMRU5CU0VFNFFpeEhRVUZCTEUxQlFVRkJMRVZCUVVrc1IwRkRXaXhEUVVGRFFTeEZRVUZGTEVOQlFVTXNSVUZCUjBRc1JVRkJUU3hOUVVGTlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4TlFVRk5MRU5CUVVNc1JVRkRMMElzUTBGQlF5eEhRVUZKUkN4RFFVRkxMRU5CUTBrc1JVRkRjRUlzVVVGQlV6RkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNYbENMRVZCUVUwc1QwRkJVWHBDTEVkQlFVc3NSVUZEYmtOSUxFVkJRVTBzUzBGQlN5eERRVUZETkVJc1JVRkJUWHBDTEVOQlFVTXNSVUZCUjNsQ0xFVkJRVTE2UWl4RlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRM1pETEU5QlFVOUlMRU5CUTFnc1EwTm9UVUVzVTBGQlV5dENMRWRCUVd0Q1F5eEZRVUZSUXl4RlFVRlJReXhGUVVGVExFTkJRMmhFTEVkQlFVMHNRMEZCUlN4UFFVRkJReXhGUVVGUkxFdEJRVUZETEVWQlFVMHNUMEZCUVVNc1JVRkJVU3hKUVVGQlF5eERRVUZKTEVWQlFVbE9MRVZCUTJ4RFR5eEZRVU5CUXl4RlFVTkZReXhGUVVGWExFTkJRVU5ETEVWQlFVdERMRVZCUVUxRExFbEJRVkZXTEVWQlFWRkRMRVZCUVZOUExFVkJRVXRETEVWQlFVMURMRU5CUVVjc1JVRkRjRVVzVDBGQlVWSXNSVUZCVFN4RFFVTldMRWxCUVVzc1UwRkRSRWNzUlVGQlVVMHNSVUZCVHl4TlFVTm1UQ3hGUVVGUlRTeEhRVUZYVkN4RlFVRlJTU3hEUVVGUkxFVkJRMjVETEUxQlEwb3NTVUZCU3l4MVFrRkRSRVlzUlVGQlVVMHNSVUZCVHl4aFFVTm1UQ3hGUVVGUlR5eEhRVUZyUWxZc1JVRkJVVWtzUTBGQlVTeEZRVU14UXl4TlFVTktMRWxCUVVzc2RVSkJRMFJHTEVWQlFWRk5MRVZCUVU4c1lVRkRaa3dzUlVGQlVWRXNSMEZCYTBKWUxFVkJRVkZKTEVOQlFWRXNSVUZETVVNc1RVRkZTaXhSUVVOSkxFOUJRVUZRTEVWQlFWRkdMRVZCUVZFc2JVSkJRVzlDTERSRFFVRTBRMGtzUTBGQlNTeEZRVUZGTEVWQlF5OUZMRU5CUTBnc1RVRkJUeXhIUVVOUUxFdEJRVTBzUzBGRFRpeFJRVUZUTEVkQlExUXNUVUZCVHl4RFFVRkRSQ3hGUVVGUlFTeEZRVUZUUlN4RlFVRlBMRTlCUVZGR0xFVkJRVk5GTEVWQlFVOHNUVUZCVFN4RFFVTnNSU3hEUVVOU0xFTkJRMEVzU1VGQlRWa3NSVUZCVjJRc1JVRkJVMFVzUlVGQlR5eFBRVU16UW1Fc1JVRkJTME1zUjBGQlYySXNSVUZCUzFjc1JVRkJWV2hDTEVWQlFWRkRMRU5CUVU4c1JVRkRjRVFzVFVGQlR5eERRVU5JTEUxQlFVRk5MRVZCUTBFc1MwRkJUVVFzUlVGRFRpeFJRVUZUVnl4RlFVRkhMRkZCUTFvc1RVRkJUeXhEUVVGRFppeEZRVUZSWXl4RlFVRlZReXhGUVVGSExFMUJRVTBzUTBGRGRrTXNRMEZEU2l4RFFVTkJMRk5CUVZOS0xFZEJRVmRVTEVWQlFWRklMRVZCUVZNc1EwRkRha01zU1VGQlNXdENMRVZCUVZVc1IwRkRaQ3hQUVVGUlppeEZRVUZQTEVOQlFVTXNSVUZCUnl4RFFVVm1MRWxCUVVzc1NVRkRSR1VzUlVGQlZTeHJRa0ZEVml4TlFVTktMRWxCUVVzc1NVRkRSRUVzUlVGQlZTdzJRa0ZEVml4TlFVTktMRWxCUVVzc1NVRkRSRUVzUlVGQlZTeHJRMEZEVml4TlFVTktMRWxCUVVzc1NVRkRUQ3hKUVVGTExFbEJRVXNzUTBGRFRrRXNSVUZCVlN3d1FrRkJNRUptTEVWQlFVOHNRMEZCUXl4RFFVRkRMRWRCUXpkRExFdEJRMG9zUTBGRFFTeEpRVUZMTEVsQlEwd3NTVUZCU3l4SlFVRkxMRU5CUTA1bExFVkJRVlVzYzBKQlFYTkNaaXhGUVVGUExFTkJRVU1zUTBGQlF5eEhRVU42UXl4TFFVTktMRU5CUTBvc1EwRkRRU3hQUVVGSlpTeEhRVU5CYkVJc1JVRkJVU3hGUVVGSExHMUNRVUZ2UWl4cFEwRkJhVU5yUWl4RFFVRlBMRVZCUVVVc1JVRkRkRVZETEVkQlFWVm9RaXhEUVVGTkxFTkJRek5DTEVOQlEwRXNVMEZCVTFVc1IwRkJhMEpXTEVWQlFWRklMRVZCUVZNc1EwRkRlRU1zVDBGQlNVY3NSVUZCVDBFc1JVRkJUeXhQUVVGVExFTkJRVU1zU1VGQlRTeExRVUZQUVN4RlFVRlBMRk5CUVZjc1NVRkRka1JJTEVWQlFWRkhMRVZCUVU4c1QwRkJVU3hsUVVGblFpeDNRa0ZCZDBJc1JVRkROVVJuUWl4SFFVRlZhRUlzUlVGQlR5eE5RVUZOTEVWQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1VVRkJVU3hOUVVGUExFZEJRVWNzUTBGRE5VUXNRMEZEUVN4VFFVRlRaMElzUjBGQlZXaENMRVZCUVZFc1EwRjZSVE5DTEVsQlFVRnBRaXhGUVdsR1NTeEpRVUZKUXl4RlFVRlBReXhGUVVOWUxFZEJRVWtzUTBGRFFVUXNSVUZCVVN4SlFVRkpMRTlCUVU4N1FVRkJRU3hGUVVFNFFpeEpRVUZKTEVWQlEzSkVReXhGUVVGUExFbEJRVWtzVDBGQlR6dEJRVUZCTEVWQlFYbERMRWxCUVVrc1EwRkRia1VzVDBGRFRVTXNSVUZCUVN4RFFVTkdSaXhGUVVGUkxGZEJRVU1zYzBKQlFXbENMRWxCUVVVc1JVRkROVUpETEVWQlFVOHNWMEZCUXl3MlFrRkJkVUlzU1VGQlJTeERRVU55UXl4RFFVTkJMRWxCUVVsRkxFVkJRVkZJTEVWQlFVMHNTMEZCUzJ4Q0xFTkJRVTBzUlVGRE4wSXNSMEZCU1N4RFFVRkRjVUlzUlVGRFJDeFBRVUZQY2tJc1JVRkRXQ3hKUVVGSmMwSXNSVUZCVFVRc1JVRkJUU3hEUVVGRExFVkJRMkpGTEVWQlFVMHNTVUZEVGtNc1JVRkJUVTRzUlVGQlRTeFZRVVZvUWl4SlFVUkJReXhGUVVGTExGVkJRVmxMTEVWQlExUklMRVZCUVZGR0xFVkJRVXNzUzBGQlMyNUNMRU5CUVUwc1IwRkRlRUp4UWl4RlFVRk5MRU5CUVVNc1NVRkJUU3hIUVVOVVJTeEpRVUZSTzBGQlFVRXNSVUZEVWtRc1IwRkJUME1zUlVGRlVFRXNSVUZCVFR0QlFVRkJMRWRCUjFaRUxFZEJRVTlETEVWQlFVMUdMRVZCUVUwc1EwRkJReXhGUVVOd1FrVXNSVUZCVFN4TFFVVldReXhGUVVGTlRDeEZRVUZMTEZWQlJXWXNTVUZCVFUwc1JVRkJUeXhYUVVGRExHTkJRVmNzU1VGQlJTeEZRVU16UWl4UFFVRkJRU3hGUVVGTExGVkJRVmxFTEVWQlEycENTQ3hGUVVGUlNTeEZRVUZMTEV0QlFVdDZRaXhEUVVGTkxFVkJRMnBDYzBJc1JVRkJUVU1zU1VGQlQwNHNSVUZCUVVrc1IwRkJRU3haUVVGQlFTeEZRVUZSTEV0QlFWSXNTMEZCUVVvc1JVRkJZeXhIUVVOMFF5eERRVU5CTEZOQlFWTk9MRWRCUVd0Q1dDeEZRVUZSU0N4RlFVRlRMRU5CUTNoRExFbEJRVWw1UWl4RlFVRk5MRWRCUTFZc1VVRkJVMGtzUlVGQlNTeEZRVUZIUVN4RlFVRkpNVUlzUlVGQlR5eFBRVUZUTEVWQlFVY3NSVUZCUlRCQ0xFVkJRVWNzUTBGRGVFTXNTVUZCVFVNc1JVRkJTek5DTEVWQlFVOHdRaXhEUVVGRExFVkJRMjVDTEVkQlFVa3NSVUZCUVVNc1NVRkJUeXhOUVVGUk0wSXNSVUZCVHpCQ0xFVkJRVWtzUTBGQlF5eEpRVUZOTzBGQlFVRXNSMEZGY2tNc1IwRkJTVU1zU1VGQlR6dEJRVUZCTEVWQlFVMHNRMEZEWWl4SFFVRk5MRU5CUVVVc1MwRkJRVU1zUlVGQlRTeFBRVUZCT1VJc1EwRkJUeXhGUVVGSkswSXNSMEZCV1RkQ0xFVkJRVkV3UWl4RFFVRkRMRVZCUXpsRFNpeEhRVUZQVFN4RlFVTlFSaXhGUVVGSk5VSXNRMEZEVWl4VFFVTlROa0lzU1VGQlR5eExRVUZOTEVOQlEyeENMRWxCUVVsSExFVkJRVTg1UWl4RlFVRlBMRVZCUVVVd1FpeERRVUZETEVWQlEyWkxMRVZCUVV0RExFZEJRVmxHTEVOQlFVa3NSVUZETTBJc1IwRkJTVU1zUlVGRFFWUXNSMEZCVDFNc1ZVRkRSa1FzU1VGQlV6dEJRVUZCTEVWQlIyUXNTVUZFUVVFc1JVRkJUemxDTEVWQlFVOHdRaXhGUVVGSkxFTkJRVU1zUlVGRFdra3NTVUZCVXl4TFFVRlBRU3hKUVVGVExFdEJRelZDUVN4RlFVRlBPVUlzUlVGQlR5eEZRVUZGTUVJc1JVRkJTU3hEUVVGRExGVkJSWEJDU1N4SlFVRlRMRTFCUVZFNVFpeEZRVUZQTUVJc1JVRkJTU3hEUVVGRExFbEJRVTA3UVVGQlFTeEZRVWQ0UXl4SlFVUkJTU3hGUVVGUE9VSXNSVUZCVHl4RlFVRkZNRUlzUlVGQlNTeERRVUZETEVWQlEyUkpMRWxCUVZNc1MwRkJUMEVzU1VGQlV5eExRVU0xUWtFc1JVRkJUemxDTEVWQlFVOHNSVUZCUlRCQ0xFVkJRVWtzUTBGQlF5eFZRVVZ3UWtrc1NVRkJVeXhMUVVGUFFTeEpRVUZUTEV0QlFVOUJMRWxCUVZNc1NVRkJTeXhEUVVOdVJDeEpRVUZOUnl4RlFVRlRMRU5CUVVVc1JVRkJSeXhGUVVGSExFVkJRVWNzUlVGQlJ5eEZRVUZITEVOQlFVVXNSVUZCUlVnc1EwRkJTU3hGUVVONFExSXNSMEZCVDFrc1IwRkJZMnhETEVWQlFWRXdRaXhGUVVGSkxFVkJRVWRQTEVWQlFWRndReXhEUVVGUExFVkJRMjVFTmtJc1IwRkJTMDhzUTBGRFZDeExRVU5MTEVOQlEwUXNTVUZCVFVVc1JVRkJUVzVETEVWQlFVOHNUMEZCVHpCQ0xFVkJRVWtzUlVGQlJ5eERRVUZETEVWQlEyeEROMElzUlVGQlVUWkNMRVZCUVVrc1JVRkJSeXhuUWtGQmFVSXNNa0pCUVRKQ1V5eERRVUZITEVWQlFVVXNSVUZEYUVWaUxFZEJRVTloTEVOQlExZ3NRMEZEU2l4VFFVTlRVaXhKUVVGUExFdEJRVTlCTEVsQlFVOHNTVUZCVFN4RFFVVm9ReXhKUVVGTlV5eEZRVUZWVml4RlFVTmFTU3hGUVVGUE9VSXNSVUZCVHpCQ0xFVkJRVWtzUTBGQlF5eEZRVU4yUWl4TFFVRlBTU3hKUVVGVExFdEJRVTlCTEVsQlFWTXNTMEZETlVKQkxFVkJRVTg1UWl4RlFVRlBMRVZCUVVVd1FpeEZRVUZKTEVOQlFVTXNSVUZEY2tKSkxFbEJRVk03UVVGQlFTeEhRVUZSTEVWQlFVVkJMRWxCUVZNc1RVRkJVVGxDTEVWQlFVOHdRaXhGUVVGSkxFTkJRVU1zU1VGQlRUdEJRVUZCTEV0QlEzUkVTaXhIUVVGUFNTeEZRVUZKVlN4RlFVRlZjRU1zUlVGQlR5eE5RVUZOYjBNc1JVRkJVMVlzUlVGQlNTeERRVUZETEVWQlFVbERMRVZCUXpWRUxFMUJSVWxNTEVkQlFVOUxMRU5CUldZc1EwRkRRU3hQUVVGSk0wSXNSVUZCVDBFc1JVRkJUeXhQUVVGVExFTkJRVU1zU1VGQlRTeExRVUZQUVN4RlFVRlBMRk5CUVZjc1NVRkRka1JJTEVWQlFWRkhMRVZCUVU4c1QwRkJVU3hsUVVGblFpeDNRa0ZCZDBJc1JVRkROVVJ6UWl4RFFVTllMRU5CUzBFc1UwRkJVMDhzUjBGQldUZENMRVZCUVZGR0xFVkJRVkVzUTBGRGFrTXNTVUZCU1RoQ0xFVkJRVThzUjBGRFVFUXNSVUZCU3pOQ0xFVkJRVTlHTEVWQlFWTXNRMEZCUXl4RlFVTXhRaXhOUVVGUE5rSXNTVUZCVHl4TFFVRlBRU3hKUVVGUExFdEJRVkZCTEVsQlFVODdRVUZCUVN4SFFVRlJRU3hKUVVGUExFOUJRMnhFTEVWQlFVRkJMRWxCUVU4c1RVRkJVVE5DTEVWQlFVOUdMRVZCUVZNc1EwRkJReXhKUVVGTk8wRkJRVUVzU1VGRmRFTTJRaXhKUVVGUE8wRkJRVUVzU1VGRFVFTXNSMEZCVVR0QlFVRkJMRWRCUTFvNVFpeEhRVUZWTEVWQlExWTJRaXhGUVVGTE0wSXNSVUZCVDBZc1JVRkJVeXhEUVVGRExFVkJSVEZDTEU5QlFVczRRaXhKUVVORVFTeEZRVUZQTEV0QlEwb3NRMEZCUlN4TFFVRkJRU3hGUVVGTkxFOUJRVUU1UWl4RFFVRlBMRU5CUXpGQ0xFTkJRMEVzU1VGQlRXdERMRWRCUVdNc1EwRkRhRUlzUlVGQlN5eExRVU5NTEVWQlFVY3NUMEZEU0N4RlFVRkhMRXRCUTBnc1JVRkJSeXhQUVVOSUxFVkJRVWNzUzBGRFNDeEZRVUZITzBGQlFVRXNSVUZEU0N4RlFVRkhMRXRCUTBnc1JVRkJSeXhKUVVOSUxFVkJRVWNzUzBGRFNDeEZRVUZITEU5QlEwZ3NSVUZCUnl4UFFVTklMRVZCUVVjc1UwRkRTQ3hGUVVGSExGTkJRMGdzU1VGQlN5eEpRVU5NTEVsQlFVc3NTVUZEVEN4SlFVRkxMRWxCUTB3c1MwRkJUU3hMUVVOT0xFbEJRVTBzUjBGRFZpeEZRVU5CTEZOQlFWTkZMRWRCUVdOc1F5eEZRVUZSUml4RlFVRlJiVU1zUlVGQlVYQkRMRVZCUVZNc1EwRkRjRVFzU1VGQlRXdERMRVZCUVVzdlFpeEZRVUZQTEU5QlFVOUdMRVZCUVZGdFF5eERRVUZOTEVWQlJXcERNMElzUlVGRVMzbENMRVZCUVVjc1UwRkJWMFVzUjBGQlZTeHBRa0ZCYVVJc1MwRkJTMFlzUTBGQlJTeEZRVU42UXl4VFFVRlRRU3hGUVVGSkxFVkJRVVVzUlVGQlNTeEpRVU55UXl4SFFVRkpMRTFCUVUxNlFpeERRVUZKTEVWQlFVY3NRMEZEWWl4SlFVRk5Oa0lzUlVGQlRXNURMRVZCUVU4c1QwRkJUMFlzUlVGQlV5eEZRVUZIYlVNc1JVRkJVeXhEUVVGRExFVkJRMmhFTEU5QlFVRndReXhGUVVGUlF5eEZRVUZUTEVWQlFVY3NaMEpCUVdsQ0xESkNRVUV5UW5GRExFTkJRVWNzUlVGQlJTeEZRVU01UkVFc1EwRkRXQ3hEUVVOQkxFOUJRVThzVDBGQlR5eGpRVUZqTjBJc1EwRkJTU3hEUVVOd1F5eERRM1pPUVN4VFFVRlRLMElzUjBGQlkwTXNSVUZCUzBNc1JVRkJUME1zUlVGQlZVTXNSVUZCVXl4RFFVTnNSQ3hIUVVGTkxFTkJRVVVzVFVGQlFVTXNSVUZCVHl4TFFVRkJReXhGUVVGTkxGRkJRVUZETEVWQlFWTXNUVUZCUVVNc1EwRkJUU3hGUVVGSlRpeEZRVUZOTEU5QlFWTXNaVUZEYWtSUExFZEJRVzFDVWl4RlFVRkxReXhGUVVGUFJTeERRVUZQTEVWQlEzUkRUU3hIUVVGclFsSXNSVUZCVDBRc1JVRkJTU3hSUVVGUkxFOUJRVkZITEVOQlFVOHNSVUZEY0VSUExFVkJRVlZTTEVWQlExWkdMRVZCUVVrc1YwRkJWeXhSUVVGUlJTeEZRVUZUTEU5QlFWRlRMRWRCUVU5U0xFVkJRVkZFTEVWQlFWVXNjVUpCUVhOQ1V5eERRVUZITEVOQlFVTXNSVUZETTBZc1MwRkRSa01zUlVGRFFWb3NSVUZCU1N4UlFVRlJMRmxCUVdOQkxFVkJRVWtzVFVGRE9VSlpMRVZCUVUxYUxFVkJRVWtzVDBGQlQyRXNSVUZCVFN4RlFVVnNRa2dzUlVGRFRFVXNSVUZCVFVVc1IwRkJiMEprTEVWQlFVa3NUMEZCVVVrc1JVRkJUMDBzUlVGQlUxSXNSVUZCVlVNc1EwRkJUeXhGUVVOc1JVWXNSVUZCVFN4UFFVRlRMRk5CUTNCQ1Z5eEZRVUZOUnl4SFFVRnZRbVlzUlVGQlMwa3NSVUZCVDBnc1JVRkJUMFVzUTBGQlR5eEZRVVZ3UkZNc1JVRkJUVm9zUlVGQlNTeFBRVUZQWVN4RlFVRk5MRVZCUXpOQ0xFbEJRVWxITEVWQlEwb3NSMEZCU1N4RFFVTkJMRWxCUVUxRExFVkJRVTFNTEVWQlFVa3NVVUZCVVZJc1JVRkJUMDhzUjBGQlQxSXNSVUZCVVVRc1IwRkJRU3hMUVVGQlFTeEZRVUZaUkN4RlFVRlBMSEZDUVVGelFsVXNRMEZCUnl4RlFVRkhXQ3hGUVVGSkxFOUJRVThzUlVGRGVFZG5RaXhGUVVGVFJTeEZRVUZUUkN4RFFVRkhMRVZCUVVsQkxFVkJRVTBzU1VGQlNVVXNSVUZCVDBZc1EwRkJSeXhEUVVOcVJDeFBRVU5QUnl4RlFVRlBMRU5CUTFZc1NVRkJUVlFzUlVGQlRWTXNZVUZCYVVJc1RVRkJVVUVzUlVGQlRTeFJRVUZWTEU5QlFVOUJMRU5CUVVzc1JVRkRha1ZxUWl4RlFVRlJSQ3hIUVVGQkxFdEJRVUZCTEVWQlFWbEVMRVZCUVU4c2NVSkJRWE5DVlN4RFFVRkhMRVZCUTNCRVN5eEZRVUZUTEVsQlFVbEhMRVZCUVU5bUxFTkJRVXNzUTBGRE4wSXNRMEZEUVN4UFFVRkJXU3hGUVVGUExFMUJRVkZVTEVWQlEyWlRMRVZCUVU4c1QwRkJVMW9zUlVGRFdrTXNTVUZEUVZjc1JVRkJUeXhMUVVGUFdDeEhRVU5rU3l4SlFVTkJUU3hGUVVGUExFbEJRVTFPTEVkQlEySkZMRVZCUVVrc1UwRkRTa2tzUlVGQlR5eFBRVUZUU2l4RlFVRkpMRkZCUTNCQ1RpeEpRVU5CVlN4RlFVRlBMRkZCUVZWV0xFZEJRMlJWTEVOQlExZ3NRMEZEUVN4VFFVRlRSaXhIUVVGdlFrOHNSVUZCVVdwQ0xFVkJRVTlOTEVWQlFWTlNMRVZCUVZWRExFVkJRVk1zUTBFMVEzaEZMRWxCUVVGdFFpeEZRVFpEU1N4SFFVRkpXaXhKUVVGWkxFbEJRMW9zVDBGQlQxY3NSVUZCVDFJc1JVRkJUU3hGUVVONFFpeEpRVUZOVlN4RlFVRm5RaXhEUVVGRExFVkJRM1pDTEZGQlFWZFlMRXRCUVU5VExFVkJRVThzUzBGRGNrSXNSMEZCU1N4RFFVRkRWQ3hGUVVGSkxGbEJRV05CTEVWQlFVa3NUVUZCVVVZc1JVRkRMMElzUjBGQlNVVXNSVUZCU1N4VFFVRlhRU3hGUVVGSkxFdEJRMjVDVnl4RlFVRmpMRXRCUVV0WUxFTkJRVWNzVFVGRmRFSXNVVUZCVDBFc1JVRkhia0lzVVVGQlYwRXNTMEZCVDFjc1JVRkRaQ3hKUVVGSlJDeEZRVUZCVml4RlFVRkpMRTlCUVVvc1RVRkJRVlVzUlVGQlZTeExRVUZMYkVJc1IwRkRaaXhQUVVGUFVTeEZRVU5tTEVsQlFVMVpMRVZCUVV0SUxFVkJRVThzVlVGQlZWZ3NRMEZCVHl4RlFVTnVReXhQUVVGSll5eEhRVUZOTEVOQlFVTkJMRVZCUVVjc1dVRkhWa2dzUlVGQlR5eExRVUZMTEV0QlFVc3NUMEZCVHl4UFFVRlBMRU5CUVVNc1JVRkJSMGNzUlVGQlNTeERRVUZGTEZGQlFWTXNSMEZCVHl4TFFVRk5MRTFCUVZVc1EwRkJReXhEUVVGRExFVkJRM0JGUVN4SlFVVllja0lzUlVGQlVVUXNSVUZCVlN4eFFrRkJjMElzYlVKQlFXMUNVU3hEUVVGUExFZEJRVWxCTEVsQlFWa3NkVUpCUVhWQ0xFVkJRMnhIVnl4RlFVRlBVaXhGUVVGTkxFVkJRM2hDTEVOQlEwRXNVMEZCVTBVc1IwRkJiMElzUTBGQlJTeE5RVUZCVlN4RlFVRlBMRmRCUVVGRExFVkJRVmtzVDBGQlFVd3NRMEZCVHl4RlFVRkhha0lzUlVGQlQwZ3NSVUZCVDBVc1JVRkJVeXhEUVhKRmJrWXNTVUZCUVcxQ0xFVkJjMFZKTEVsQlFVMVdMRVZCUVUxVExFVkJRVThzUzBGQlN5eExRVUZMVkN4SFFVRkpMRU5CZEVWeVF5eEpRVUZCVlN4RlFYTkZlVU1zVDBGQlFWWXNSVUZCU1N4VlFVRlpMRWxCUVZOaExFZEJRVk5pTEVWQlFVa3NWVUZCV1N4VlFVTnVSbFVzUlVGQlFWWXNSVUZCU1N4UFFVRktMRmxCUVVGVkxFVkJRVlVzUzBGQlMyeENMRWxCUVUwc1IwRkJTMmxDTEVWQlFVOVNMRVZCUVUwc1JVRkRNME1zUjBGQlNWRXNSVUZCVHl4UFFVRlJMRU5CUTJZc1NVRkJUVTBzUjBGQlUwd3NSVUZCUVVRc1JVRkJUeXhQUVVGUExFdEJRVXRVTEVkQlFVa3NRMEY2UlRsRExFbEJRVUZWTEVWQmVVVnBSQ3hQUVVGQlZpeEZRVUZKTEZkQlFWZFZMRVZCUVVGV0xFVkJRVWtzVDBGQlNpeFpRVUZCVlN4RlFVRlZMRXRCUVV0c1FpeEpRVUZOTEVsQlFUbEVMRXRCUVVGclFpeEZRVU5ZUkN4RlFVRlBVaXhGUVVGTkxFVkJRMnBDTEVkQlFVbEVMRVZCUVVrc1RVRkJVV1VzUlVGQlR5eEpRVUZMTEVOQlEzaENMRWxCUVUxRExFVkJRVXRHTEVWQlFWY3NWVUZCVldRc1JVRkJTU3hIUVVGSExFVkJRMnBEYVVJc1JVRkJTMGdzUlVGQlZ5eFZRVUZWUXl4RlFVRlBMRWRCUVVjc1JVRkRjRU5vUWl4RlFVRk5MR2xEUVVGcFEybENMRU5CUVVVc1QwRkJUME1zUTBGQlJTeEhRVU40UkRGQ0xFVkJRVkZHTEVWQlFVOHNjVUpCUVhOQ1ZTeEZRVUZMTEVWQlFVa3NRMEZEYkVRc1EwRkRTaXhEUVVOQkxFOUJRVTlETEVOQlExZ3NRME51UmtFc1UwRkJVMnRDTEVkQlFXOUNReXhGUVVGUlF5eEZRVUZSUXl4RlFVRkxMRU5CUXpsRExFZEJRVWxFTEVWQlFWRXNRMEZEU2tNc1NVRkJVU3hQUVVOU1FTeEZRVUZOUkN4RlFVRlBMRkZCUTJwQ0xGRkJRVk5GTEVWQlFVbEVMRVZCUVUwc1JVRkJSME1zUjBGQlN5eEZRVUZITEVWQlFVVkJMRVZCUVVjc1EwRkRMMElzU1VGQlNVTXNSVUZCUzBnc1JVRkJUMFVzUTBGQlF5eEZRVU5xUWl4UFFVRlJReXhGUVVGSExFdEJRVTBzUTBGRFlpeEpRVUZMTEZGQlEwd3NTVUZCU3l4VlFVTk1MRWxCUVVzc1ZVRkRSRW9zUjBGQlZVa3NSVUZCUnl4UFFVRlBMRTlCUTNCQ0xGRkJRMUlzUTBGSlFTeEpRVVJCUVN4RlFVRkxTQ3hGUVVGUExFVkJRVVZGTEVOQlFVTXNSMEZEVWtNc1IwRkJRU3haUVVGQlFTeEZRVUZKTEZGQlFWTXNVMEZEYUVKS0xFZEJRVlZKTEVWQlFVY3NUMEZCVHl4UFFVTndRa0VzUlVGQlMwZ3NSVUZCVHl4RlFVRkZSU3hEUVVGRExFVkJSVzVDTEV0QlEwb3NRMEZEU2l4RFFVTkJMRTlCUVU5SUxFTkJRMWdzUTBOcVFrRXNTVUZCVFVzc1IwRkJTeXhEUVVGRkxGbEJRVUZETEVkQlFXRXNhVUpCUVVGRExFVkJRV2xDTEVWQlF6TkRMRk5CUVZORUxFZEJRVmxGTEVWQlFVdERMRVZCUVU5RExFVkJRVTlETEVWQlFWTXNRMEZETjBNc1NVRkJUVU1zUlVGQlVVb3NSVUZCU1N4TlFVTmFMRU5CUVVVc1dVRkJRVXNzUlVGQllTeFJRVUZCUXl4RlFVRlRMRTlCUVVGRExFVkJRVkVzU1VGQlFVTXNRMEZCU1N4RlFVRkpUaXhGUVVNeFEwOHNSVUZEUVVNc1JVRkJZU3hIUVVOcVFpeFBRVUZSVkN4RlFVRk5MRXRCUVUwc1EwRkRhRUlzU1VGQlN5eFJRVU5FVVN4RlFVRlBSU3hIUVVGaFdDeEZRVUZMUXl4RlFVRlBSU3hEUVVGUExFZEJRMjVEU1N4SFFVRlZReXhKUVVOV1RDeEZRVUZSUml4RlFVRlBMR05CUVdVc0swTkJRU3RETEVWQlEycEdMRTFCUTBvc1NVRkJTeXhUUVVOTUxFbEJRVXNzZFVKQlEwd3NTVUZCU3l4MVFrRkRUQ3hKUVVGTExHVkJRMFJSTEVWQlFVOUhMRWRCUVdOYUxFVkJRVXRETEVWQlFVOVBMRVZCUVV0TUxFTkJRVThzUlVGRGVrTkpMRWxCUTBGRkxFVkJRVXNzVDBGQlUwWXNSVUZCVHl4UFFVRlBMRlZCUVZVc1EwRkJReXhIUVVNelF5eE5RVU5LTEVsQlFVc3NXVUZEVEN4SlFVRkxMRmxCUTB3c1NVRkJTeXhyUWtGRFJFVXNSVUZCVDBrc1IwRkJhMEpvUWl4SFFVRkpSeXhGUVVGTFF5eEZRVUZQUXl4RlFVRlBReXhEUVVGUExFVkJRMjVFU1N4SlFVTkJSU3hGUVVGTExFOUJRVk5HTEVWQlFVOHNUMEZCVHl4VlFVRlZMRU5CUVVNc1IwRkRNME1zVFVGRFNpeFJRVUZUTEVOQlEwd3NTVUZCVFU4c1JVRkJWV0lzUlVGQlRTeFBRVUZUTEZGQlEzcENRU3hGUVVGTkxGRkJRMDRzTkVKQlFUUkNRU3hGUVVGTkxFbEJRVWtzU1VGRE5VTkZMRVZCUVZGR0xFVkJRVThzYlVKQlFXOUNZU3hEUVVGUExFVkJRekZEVEN4RlFVRlBWaXhIUVVGcFFrTXNSVUZCUzBNc1JVRkJUU3hQUVVGUkxFOUJRVmNzUzBGQlRVTXNSVUZCVDBNc1EwRkJUeXhGUVVNeFJVOHNSVUZCWVN4RlFVTnFRaXhEUVVOS0xFTkJRMEVzVDBGQlNVZ3NSMEZCVlVVc1JVRkJTeXhUUVVGWExFbEJRekZDVGl4RlFVRlJTU3hGUVVGUkxGbEJRV0VzYTBOQlFXdERMRVZCUXk5RVNDeEhRVU5CU2l4RlFVRkpMRkZCUVZFc1lVRkRXQ3hEUVVGRFpTeEZRVUZUVGl4RFFVRkpMRWRCUTFnc1QwRkJUMEVzUlVGQlN5eFBRVUZWTEZWQlEzSkNRU3hGUVVGTExFdEJRVTlCTEVWQlFVc3NUVUZCVVN3d1FrRkZPVUpPTEVWQlFWRkxMRWRCUVVFc1MwRkJRVUVzUlVGQlQxQXNSVUZCVHl4cFFrRkVWaXd5UTBGREswSXNSVUZGTTBOSkxFbEJRMEZKTEVWQlFVc3NXVUZCWXl4SlFVTnVRa2dzU1VGRFNVd3NSVUZCVFN4UFFVRlRMRlZCUVZsQkxFVkJRVTBzVTBGQlZ5eEhRVU0xUTFFc1JVRkJTeXhSUVVGVlNDeEZRVVZtUnl4RlFVRkxMR05CUVdkQ1NDeEhRVWQ2UWs0c1JVRkJTU3hSUVVGUkxHdENRVUZ2UWxVc1NVRkRhRU5FTEVWQlFVc3NVMEZCVjFJc1IwRkRZbEVzUTBGRFdDeERRVU5CTEZOQlFWTldMRWRCUVdsQ1F5eEZRVUZMWjBJc1JVRkJVVU1zUlVGQlVVTXNSVUZCU3l4RFFVRkZMRmxCUVVGaUxFVkJRV0VzVVVGQlFVTXNSVUZCVXl4UFFVRkJReXhGUVVGUkxFbEJRVUZETEVWQlFVc3NTVUZCUVZjc1EwRkJTU3hGUVVGSGFFSXNSVUZCVXl4RFFVTnlSeXhKUVVGTlJpeEZRVUZSTEVOQlExWXNTMEZCVFN4VFFVTk9MRTlCUVZGdFFpeEhRVUZ2UWtvc1JVRkJVVU1zUlVGQlVVTXNRMEZCUnl4RlFVTXZReXhQUVVGUkxFZEJRMUlzVDBGQlVTeEZRVU5hTEVWQlEwMVVMRVZCUVU5SExFZEJRV05hTEVWQlFVdERMRVZCUVU5UExFVkJRVXRNTEVOQlFVOHNSVUZEYmtRc1QwRkJTVWtzU1VGRFFVVXNSVUZCU3l4UFFVRlRSaXhGUVVGUExFOUJRVThzVlVGQlZTeERRVUZETEVWQlEyNURSU3hGUVVGTExGTkJRVmNzU1VGRGFFSk9MRVZCUVZGSkxFVkJRVkVzV1VGQllTeHJRMEZCYTBNc1IwRkZia1ZHTEVsQlEwRkpMRVZCUVVzc1dVRkJZeXhKUVVOdVFrZ3NTVUZEUVVjc1JVRkJTeXhSUVVGVlNDeEZRVU5tUnl4RlFVRkxMRTFCUVUwc1EwRkJReXhGUVVGSlZTeEhRVVZpVml4RFFVTllMRU5CUTBFc1UwRkJVMFVzUjBGQllTeERRVUZGTEZGQlFVRlZMRU5CUVZFc1JVRkJSeXhEUVVGRkxFOUJRVUZNTEVWQlFWRXNUMEZCUVUwc1JVRkJVU3hKUVVGQlNDeERRVUZKTEVWQlFVZG9RaXhGUVVGVExFTkJRMnBGTEVsQlFVMXZRaXhGUVVGUkxFbEJRVWxETEVkQlFVMUdMRVZCUVU4c1ZVRkJWU3hEUVVGRExFTkJRVU1zUlVGRGRrTkRMRVZCUVUwc1UwRkJWeXhKUVVOcVFuQkNMRVZCUVZGaExFVkJRVkVzV1VGQllTeHBRMEZCYVVNc1JVRkRPVVJQTEVWQlFVMHNUMEZCVHl4VFFVRlRMRWRCUVVjc1IwRkRla0p3UWl4RlFVRlJZU3hGUVVGVFRTeEZRVUZQTEU5QlFWTXNSVUZCUnl4WlFVRmhMR2xEUVVGclF5eEZRVUZKTEVWQlF6TkdMRWxCUVUxSExFVkJRVmRVTEVWQlFWTk5MRVZCUVU4c1QwRkRNMEpKTEVWQlFVdERMRWRCUVZkU0xFVkJRVXROTEVWQlFWVktMRVZCUVZFc1QwRkJVV3hDTEVOQlFVOHNSVUZETlVRc1QwRkJRVzlDTEVWQlFVMHNUVUZCVVN4RFFVRkRVQ3hGUVVGUlV5eEZRVUZWUXl4RlFVRkhMRTFCUVUwc1JVRkRkRU5CTEVWQlFVY3NWVUZEU0Vnc1JVRkJUU3hSUVVGVlJ5eEZRVUZITEZOQlEyaENTQ3hEUVVOWUxFTkRPVVpCTEZOQlFWTkxMRWRCUVZkRExFVkJRVk5ETEVWQlFWa3NRMEZCUlN4UFFVRkJReXhGUVVGUkxFMUJRVUZETEVWQlFVOHNUVUZCUVVNc1JVRkJUeXhKUVVGQlF5eERRVUZKTEVWQlFVZERMRVZCUVZNc1EwRkROMFVzU1VGQlRVTXNSVUZCVHl4UFFVRlBMRTlCUVU4c1EwRkJSU3haUVVGaFRpeERRVUZYTEVWQlFVZEVMRU5CUVU4c1JVRkRla1JSTEVWQlFVMHNTVUZCU1VNc1IwRkJVeXhQUVVGWFJpeERRVUZKTEVWQlEyeERSeXhGUVVGTkxFTkJRMUlzVFVGQlR5eEhRVU5RTEU5QlFWRXNSMEZEVWl4WFFVRlpSaXhGUVVGSkxGZEJRMmhDTEZGQlFWTkJMRVZCUVVrc1VVRkRZaXhQUVVGUlFTeEZRVUZKTEUxQlEyaENMRVZCUTAxSExFVkJRVkZETEVkQlFXRlVMRVZCUVU4c1EwRkRPVUlzVlVGQlZ5eFpRVU5ZTEV0QlFVMURMRWRCUVVFc1MwRkJRVUVzUlVGQlUwTXNSMEZCUVN4WlFVRkJRU3hGUVVGTkxFZEJRM0pDTEU5QlFVRklMRVZCUTBFc1VVRkJRVWtzUlVGRFFTeGhRVUZqTEVWQlEyUXNaVUZCWjBJc1JVRkRjRUlzUTBGQlF5eEZRVU5IU3l4RlFVRk5MRkZCUTA1SUxFVkJRVWtzVjBGQlZ5eFRRVUZYTEVkQlEzUkNTaXhKUVVORFFTeEZRVUZOTEU5QlFWTXNZVUZCWlVFc1JVRkJUU3hQUVVGVExHTkJRemxETEVOQlFVTlBMRVZCUVUwc1dVRkRVRXdzUlVGQlVVc3NSVUZCVFN4SlFVRkxMR1ZCUVdkQ0xIVkZRVUYxUlN4SFFVZHNTRWdzUlVGQlNTeFRRVUZYU2l4RlFVTlVVeXhIUVVGWlNDeEZRVUZMVGl4RlFVRlBUeXhGUVVGUFRDeERRVUZQTEVWQlEzUkRVU3hIUVVGcFFrb3NSVUZCUzBNc1JVRkJUU3hKUVVGTFVpeEZRVUZQTEV0QlFVMVJMRVZCUVU5TUxFTkJRVThzUlVGRGJFVXNTVUZCVFZNc1JVRkJZVkFzUlVGQlNTeFRRVUZUTEUxQlFVMHNRMEZCUXl4RlFVTnFRMUVzUlVGQlMwTXNSMEZCVjFvc1JVRkJTMVVzUlVGQldTeEhRVUZQVkN4RFFVRlBMRVZCUTNKRUxFOUJRVWxWTEVWQlFVY3NWVUZEU0ZJc1JVRkJTU3hSUVVGVlVTeEZRVUZITEZOQlEzSkNVaXhGUVVGSkxFMUJRVkVzUTBGQlEwNHNSVUZCVVdFc1JVRkJXVU1zUlVGQlJ5eE5RVUZOTEVWQlEyNURVaXhEUVVOWUxFTkRha05CTEZOQlFWTlZMRWRCUVZsRExFVkJRVXNzUTBGRGRFSXNSMEZCU1N4UFFVRlBRU3hIUVVGUkxGTkJRMllzVFVGQlR5eERRVUZEUVN4RlFVRkxRU3hGUVVGTkxFTkJRVU1zUlVGRGVFSXNSMEZCU1N4TlFVRk5MRkZCUVZGQkxFTkJRVWNzUlVGRGFrSXNUMEZCVDBFc1JVRkJTU3hUUVVGWExFVkJRVWxCTEVWQlFVMHNRMEZCUTBFc1JVRkJTU3hEUVVGRExFVkJRVWRCTEVWQlFVa3NRMEZCUXl4RFFVRkRMRVZCUTI1RUxFZEJRVTBzUTBGQlJTeFBRVUZCUXl4RlFVRlJMRTlCUVVGRExFTkJRVThzUlVGQlNVWXNSVUZETTBJc1RVRkJUeXhEUVVGRFF5eEZRVUZSUVN4SFFVRlZMRTlCUVU5RExFZEJRVmNzVTBGQlYwRXNSVUZCVHl4UFFVRlRMRVZCUVVVc1EwRkROMFVzUTBGRFFTeFRRVUZUUXl4SFFVRmhReXhGUVVGVExFTkJaaTlDTEVsQlFVRkRMRVZCWjBKSkxFbEJRVWxETEVWQlFWVXNSMEZEVmtNc1JVRkJXU3hIUVVOYVF5eEZRVUZwUWl4SFFVTnlRaXhSUVVGVExFVkJRVWtzUlVGQlJ5eEZRVUZKU2l4RlFVRlJMRTlCUVZFc1JVRkJSU3hGUVVGSExFTkJRM0pETEVsQlFVMUdMRVZCUVZORkxFVkJRVkVzUTBGQlF5eEZRVU40UWl4UFFVRlJSaXhGUVVGUExFTkJRVU1zUlVGQlJ5eERRVU5tTEVsQlFVc3NTVUZEUkVrc1NVRkRTMEVzU1VGQldTeEhRVUZMTEVkQlFVdEZMRVZCUVdsQ08wRkJRVUU3UVVGQlFTeEZRVUZUTzBGQlFVRXNTVUZETlVOT0xFVkJRVThzVlVGQlZTeERRVUZETEVkQlFVc3NTMEZEYUVOTExFVkJRVmtzUjBGRFdrTXNSVUZCYVVJc1IwRkRha0lzVFVGRFNpeEpRVUZMTEUxQlEwZElMRVZCUVVGRUxFVkJRVkVzUlVGQlNTeERRVUZETEVsQlFXSXNXVUZCUVVNc1JVRkJhVUlzVFVGQlR5eE5RVU40UWl4SFFVRkxMRWRCUTFSRkxFVkJRVmtzUjBGRFdpeE5RVU5LTEZGQlJWTkJMRWxCUTBSRExFVkJRV2xDTEVsQlEzSkNSQ3hGUVVGWkxFVkJRM0JDTEVOQlEwb3NRMEZEUVN4TlFVRlBMRU5CUVVVc1VVRkJRVVFzUlVGQlV5eGxRVUZCUlN4RFFVRmxMRU5CUTNKRExFTkJXVUVzU1VGQlRVTXNSMEZCVGl4TFFVRmxMRU5CUTFnc1dVRkJXVU1zUlVGQlZTeERRVUZETEVWQlFVY3NRMEZEZEVJc1MwRkJTeXhKUVVGTkxFdEJRMWdzUzBGQlN5eGhRVUZsTEVkQlEzQkNMRXRCUVVzc1VVRkJWU3hEUVVGRExFVkJRMmhDTEV0QlFVc3NUMEZCVXl4RFFVRkRMRVZCUTJZc1MwRkJTeXhUUVVGWExFTkJRVU1zUlVGRGFrSXNTMEZCU3l4UlFVRlZMRU5CUVVOU0xFVkJRVkZUTEVWQlFVMURMRVZCUVZORExFbEJRVmtzUTBGREwwTXNTVUZCVFVNc1JVRkJUV1lzUjBGQldVY3NRMEZCVFN4RlFVTXhRbGNzUlVGRFFTeExRVUZMTEZOQlFWTXNTMEZCU3l4SlFVRkpSU3hIUVVGWlJDeEZRVUZMU0N4RlFVRk5ReXhEUVVGUExFTkJRVU1zUlVGRmRFUXNTMEZCU3l4UFFVRlBMRXRCUVVzc1NVRkJTVWtzUjBGQlpVWXNSVUZCUzBnc1JVRkJUVU1zUTBGQlR5eERRVUZETEVOQlF5OUVMRVZCUlVFc1MwRkJTeXhYUVVGaExFbEJRVWxMTEVkQlFWY3NRMEZCUlN4UlFVRlRVQ3hGUVVGUkxGTkJRVmNzUzBGQlRTeERRVUZETEVWQlEzUkZMRXRCUVVzc1VVRkJWVUVzUTBGRGJrSXNRMEZEUVN4VFFVRlRVU3hGUVVGTFF5eEZRVUZWTEVOQlEzQkNMRWRCUVUwc1EwRkJSU3hSUVVGQllpeEZRVUZUTEdWQlFVRkZMRU5CUVdVc1JVRkJTVXdzUjBGQllTeExRVUZMTEU5QlFVOHNSVUZGTjBRc1IwRkJTVWNzUlVGQlV5eERRVU5VTEVsQlFVMWpMRVZCUVV0R0xFVkJRVWtzVTBGRFppeEhRVUZKUXl4RlFVTkJSQ3hGUVVGSkxGRkJRVlZCTEVWQlFVa3NVVUZCVlN4SFFVRkhRU3hGUVVGSkxFOUJRVTg3UVVGQlFTeEZRVUZMV2l4RFFVRlBMRWRCUVV0QkxGVkJSWFJFUlN4SFFVRnJRbFVzUlVGQlNTeFhRVUZYTEZWQlFWa3NRMEZCUTBVc1JVRkRia1JHTEVWQlFVa3NZMEZCWjBKYUxGVkJSV1psTEVWQlFXRkVMRU5CUVVVc1IwRkJTeXhEUVVGRFFTeEZRVUZITEUxQlFWRkJMRVZCUVVjc1RVRkJUU3hQUVVGVExFVkJRVWNzUTBGRE1VUXNTVUZCU1VVc1JVRkJTMFlzUlVGQlJ5eE5RVUZOTEVOQlFVTXNSVUZEWmtjc1JVRkJUMFFzUTBGQlJTeEpRVU5VUVN4RlFVRkxRU3hGUVVGSExFdEJRMW9zU1VGQlRVVXNSVUZCUzBZc1JVRkJSeXhqUVVOa1FTeEZRVUZITEdOQlFXZENSU3hGUVVGTExFZEJRVWRzUWl4RFFVRlBPMEZCUVVFc1JVRkJTMnRDTEVOQlFVVXNSMEZCUzJ4Q0xFTkJRMnhFTEV0QlEwc3NRMEZEUkN4SlFVRk5hMElzUlVGQlMwb3NSVUZCUnl4alFVTmtRU3hGUVVGSExHTkJRV2RDU1N4RlFVRkxMRWRCUVVkc1FpeERRVUZQTzBGQlFVRXNSVUZCUzJ0Q0xFTkJRVVVzUjBGQlMyeENMRU5CUTJ4RUxFTkJRMG9zUTBGRFNXRXNSMEZEUVN4TlFVRk5MRlZCUVZVc1MwRkJTeXhOUVVGTlJDeEZRVUZKTEU5QlFWRXNTMEZCU3l4TlFVRk5MRVZCUTJ4RUxFMUJRVTBzVlVGQlZTeExRVUZMTEUxQlFVMUJMRVZCUVVrc1UwRkJWU3hMUVVGTExGRkJRVkVzU1VGSGRFUkJMRVZCUVVrc1QwRkJVeXhMUVVGTExFOUJRMnhDUVN4RlFVRkpMRk5CUVZjc1MwRkJTeXhWUVVWNFFpeExRVUZMTEZGQlFWVXNRMEZCUXl4RlFVTm9RaXhMUVVGTExFOUJRVk1zUTBGQlF5eEZRVU5tTEV0QlFVc3NVMEZCVnl4RFFVRkRMRU5CUTNKQ0xFTkJUVUVzV1VGQllTeERRVU5VTEUxQlFVOHNRMEZEU0N4UlFVRlRaaXhIUVVGaExFdEJRVXNzVDBGQlR5eEZRVUZGTEZGQlEzQkRMRmRCUVZrc1MwRkJTeXhYUVVOcVFpeFBRVUZSTEV0QlFVc3NUMEZEWWl4VFFVRlZMRXRCUVVzc1VVRkRia0lzUTBGRFNpeERRVTlCTEVOQlFVTXNVVUZCVVhOQ0xFVkJRVkZETEVWQlFWY3NSMEZCVDBNc1JVRkJXU3hIUVVGSkxFTkJReTlETEZGQlFWZERMRXRCUVZOSUxFVkJRMmhDTEUxQlFVRkpMRVZCUVU4c1MwRkJTeXhMUVVGTFJDeERRVUZMTEVkQlF6RkNMRTFCUVVGRExFVkJRVThzUzBGQlN5eEpRVUZKU0N4RlFVRlZReXhEUVVGVExFVkJRM1pETEVOQlJVRXNRMEZCUXl4TFFVRkxReXhGUVVGUExFTkJRMVFzVDBGQlVVRXNSVUZCVFN4TFFVRk5MRU5CUTJoQ0xFbEJRVXNzV1VGRFJDeExRVUZMTEZkQlFWY3NTVUZCU1VFc1JVRkJUU3hQUVVGUkxFTkJRVU16UWl4RlFVRlJWeXhGUVVGVFF5eEpRVUZaTEVOQlF6VkVMRWxCUVUxRExFVkJRVTFtTEVkQlFWazJRaXhEUVVGTExFVkJRemRDWkN4RlFVRkpMRU5CUVVNc1IwRkJTMklzUlVGRFZpeExRVUZMTEZGQlFWRmhMRVZCUVVzc1owSkJRV2xDUml4RlFVRlRReXhEUVVGUExFTkJRM1pFTEVOQlFVTXNSVUZEUkN4TFFVRkxMRkZCUVZFc1MwRkJTMlVzUlVGQlRTeE5RVUZOTEVWQlF6bENMRXRCUVVzc1lVRkJaU3hIUVVOd1FpeE5RVU5LTEVsQlFVc3NWMEZCV1N4RFFVTmlMRWxCUVUxV0xFVkJRVTFaTEVkQlFWY3NTMEZCU3l4UlFVRlRMRXRCUVVzc1YwRkJXVVlzUlVGQlR5eExRVUZMTEU5QlFVOHNSVUZEY2tVc1MwRkJTeXhqUVVGblFpeERRVUZEVml4RlFVRkpMRmRCUVZjc1ZVRkRja01zUzBGQlN5eFJRVUZSVlN4RlFVRlBMR1ZCUVdkQ0xHbEVRVUZwUkN4RlFVTjZSaXhMUVVGTExGTkJRVk5XTEVWQlFVc3NSVUZCU3l4RlFVTndRaXhMUVVGTExFMUJRMHdzVFVGQlRTeExRVUZMTEV0QlEyWXNTMEZCU3l4SlFVRk5RU3hGUVVOWUxFdEJRVXNzWVVGQlpTeEhRVU53UWl4TFFVTktMRU5CUTBFc1NVRkJTeXhyUWtGRFRDeEpRVUZMTEZGQlEwUXNUVUZEU2l4SlFVRkxMRlZCUTB3c1NVRkJTeXhWUVVORUxFdEJRVXNzVVVGQlVTeExRVUZMVlN4RlFVRk5MRTFCUVUwc1JVRkRPVUlzVFVGRFNpeEpRVUZMTEZGQlFWTXNRMEZEVml4SlFVRk5SeXhGUVVGTlNDeEZRVUZOTEU5QlExb3NSMEZCUjBFc1JVRkJUU3hQUVVGUExFdEJRVXNzUzBGQlN5eFZRVUZWUVN4RlFVRk5MRTFCUVUwc1EwRkJReXhIUVVOcVJFRXNSVUZCVFN4UlFVTk9TU3hGUVVGUkxFbEJRVWxvUWl4SFFVRmxha0lzUjBGQldUWkNMRU5CUVVzc1JVRkJSeXh0UWtGQmIwSkhMRU5CUVVjc1JVRkRlRVVzUzBGQlN5eGpRVUZuUWl4RFFVRkRMRXRCUVVzc1NVRkRNMElzUzBGQlN5eFBRVUZQTEV0QlFVdERMRU5CUVVzc1JVRkZkRUlzUzBGQlN5eEpRVUZKTEU5QlFVOHNTMEZCUzBFc1EwRkJTeXhGUVVNNVFpeExRVU5LTEVOQlEwRXNTVUZCU3l4VlFVRlhMRU5CUTFvc1IwRkJTU3hEUVVGRExFdEJRVXNzU1VGQlN5eERRVU5ZTEVsQlFVMUVMRVZCUVUwc1owUkJRMW9zUzBGQlN5eFBRVUZQTEV0QlFVc3NTVUZCU1dZc1IwRkJaV3BDTEVkQlFWazJRaXhEUVVGTExFVkJRVWNzYlVKQlFXOUNSeXhEUVVGSExFTkJRVU1zUlVGRGFFWXNTMEZEU2l4RFFVTkJMRXRCUVVzc1NVRkJTU3hYUVVGWExFOUJRVk1zUjBGRE4wSXNTVUZCVFVVc1JVRkJUVU1zUjBGQlYwNHNSVUZCVFN4SlFVRkxRU3hGUVVGTkxFOUJRVk5CTEVWQlFVMHNUMEZCVHl4UFFVRlJMRXRCUVVzc1NVRkJTU3hSUVVGUkxFOUJRVkVzUzBGQlN5eFBRVUZQTEVWQlJUTkhMRWRCUkVFc1MwRkJTeXhUUVVGVExFdEJRVXNzU1VGQlN5eEZRVUZKTEVWQlEzaENTeXhGUVVGSkxGRkJRVk1zUTBGRFlpeEpRVUZOWWl4RlFVRkxMRXRCUVVzc1NVRkJTU3hSUVVOd1FpeExRVUZMTEVsQlFVa3NVVUZCVlVFc1JVRkJTeXhIUVVGSFFTeERRVUZGTzBGQlFVRXNSVUZCUzJFc1JVRkJTU3hQUVVGUExFZEJRVXRCTEVWQlFVa3NUMEZETVVRc1EwRkRRU3hMUVVGTExFbEJRVWtzVFVGQlRTeERRVUZETEVWQlFVbEJMRVZCUVVrc1QwRkRlRUlzUzBGRFNpeERRVU5CTEZGQlEwa3NTMEZCU3l4UFFVRlBMRXRCUVVzc1NVRkJTV3BDTEVkQlFXVnFRaXhIUVVGWk5rSXNRMEZCU3l4RlFVRkhMRzFDUVVGdlFpeHhRa0ZCY1VKQkxFVkJRVTBzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZEZEVnc1EwRkRTaXhEUVU5QkxFTkJRVU1zU1VGQlNVWXNSVUZCVnl4SFFVRlBReXhGUVVGWkxFZEJRVWtzUTBGRGJrTXNSMEZCU1N4TFFVRkxMRWxCUTB3c1MwRkJTeXhUUVVGVExFdEJRVXNzU1VGQlN5eEZRVUZKTEVWQlF6VkNMRTFCUVUwc1MwRkJTeXhKUVVOWUxFdEJRVXNzU1VGQlRTeGhRVVZPUkN4RlFVRlZMRU5CUTJZc1NVRkJUVk1zUlVGQlR5eFBRVUZQTEU5QlFVOHNRMEZCUlN4WlFVRmhMRXRCUVVzc1ZVRkJWeXhGUVVGSExFdEJRVXNzVDBGQlR5eEZRVU51UldwQ0xFVkJRVTBzU1VGQlNXdENMRWRCUVZNc1QwRkJWMFFzUTBGQlNTeEZRVU53UXl4TFFVRkxMR05CUTB3c1MwRkJTeXhSUVVGUlVpeEZRVUZYTEdWQlFXZENMSFZEUVVGMVF5eEZRVU51UmxRc1JVRkJTU3hOUVVGUkxFTkJRVU1zUlVGQlIxTXNSVUZCVjBFc1EwRkJVeXhGUVVOd1F5eExRVUZMTEZOQlFWTlVMRVZCUVVzc1JVRkJTeXhGUVVONFFpeE5RVUZOUVN4RFFVTldMRU5CUTBvc1EwRkRTaXhGUTNST1FTeEpRVUZOYlVJc1IwRkJVU3hQUVVGUExHRkJRV0VzUlVGRE5VSkRMRWRCUVU4c1QwRkJUeXhsUVVGbExFVkJRemRDUXl4SFFVRlRMRTlCUVU4c1lVRkJZU3hGUVRaQ2JrTXNVMEZCVTBNc1IwRkJUVU1zUlVGQlMwTXNSVUZCVXl4RFFVTnlRaXhUUVVGVlJDeEhRVUZQUVN4RlFVRkpMRTlCUVZNc1lVRkRPVUpCTEVWQlFVMHNRMEZCUlN4TlFVRlBRU3hGUVVGSkxFMUJRVThzVFVGQlQwRXNSVUZCU1N4TFFVRk5MRWRCUXk5RFJTeEhRVUZQTEU5QlFVOHNUMEZCVHl4RFFVRkRMRU5CUVVNc1JVRkJSMFlzUlVGQlMwTXNRMEZCVHl4RFFVTXhReXhEUVV0QlJpeEhRVUZOTEUxQlFWRklMRWRCUldSSExFZEJRVTBzUzBGQlQwWXNSMEZGWWtVc1IwRkJUU3hQUVVGVFJDeEhRVVZtUXl4SFFVRk5MRmRCUVdFc1EwRkJRME1zUlVGQlMwY3NTVUZCVXl4RFFVTTVRaXhKUVVGSlF5eEZRVUZQU2l4RlFVTllMRTlCUVZjc1EwRkJRMHNzUlVGQlQwTXNRMEZCU3l4SlFVRkxTQ3hGUVVGTkxFTkJReTlDTEVsQlFVMUpMRVZCUVUxSUxFZEJRVUVzV1VGQlFVRXNSVUZCVDBNc1IwRkRia0lzUjBGQlNVVXNSMEZCVHl4VlFVRlhRU3hGUVVOc1FrZ3NSVUZCVDBjc1JVRkJTU3hOUVVGTlJDeERRVUZMTEUxQlIzUkNMRTlCUTFJc1EwRkRRU3hQUVVGUFJpeERRVU5ZTEVWQlRVRk1MRWRCUVUwc2FVSkJRVzFDTEVOQlFVTkRMRVZCUVV0SExFbEJRVk1zUTBGRGNFTXNTVUZCVFVzc1JVRkJVMVFzUjBGQlRTeFhRVUZYUXl4RlFVRkxSeXhGUVVGTExFMUJRVTBzUlVGQlJ5eEZRVUZGTEVOQlFVTXNSVUZEYUVSRkxFVkJRVkZHTEVWQlFVdEJMRVZCUVVzc1QwRkJVeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVU12UWswc1JVRkJUMFFzUjBGQlFTeFpRVUZCUVN4RlFVRlRTQ3hIUVVOMFFpeEhRVUZKU1N4SFFVRlJMRlZCUVZkQkxFVkJRMjVDTEU5QlFVOUJMRVZCUTFnc1RVRkJUU3hKUVVGSkxFMUJRVTBzTmtKQlFUWkNMRU5CUTJwRUxFVkJRMEVzVTBGQlUxQXNSMEZCVDBNc1JVRkJUVU1zUlVGQlRVZ3NSVUZCVXl4RFFVTnFReXhKUVVGSlV5eEZRVUZQVkN4RlFVRlJSeXhGUVVGTlJDeERRVUZKTEVWQlF6ZENMRWRCUVVrc1QwRkJUMDhzUjBGQlV5eFRRVU5vUWl4UFFVRlBRU3hGUVVOWUxGRkJRVmRNTEVsQlFWTXNRMEZCUXl4TlFVRlBMRTlCUVU4c1JVRkJSeXhEUVVOc1F5eEpRVUZOVFN4RlFVRlJVQ3hGUVVGTFF5eERRVUZMTEVWQlEzaENMRWRCUVVsTkxFZEJRVk1zVlVGQlYwRXNSVUZCVHl4RFFVTXpRaXhSUVVGVFF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsRUxFVkJRVTBzVFVGQlRTeFBRVUZSTEVWQlFVVkRMRVZCUVVjc1EwRkRla01zU1VGQlRVTXNSVUZCUzFnc1IwRkJUeXhQUVVGUExFOUJRVTlETEVWQlFVc3NUMEZCVHl4RFFVRkRMRU5CUVVORkxFVkJRVTlQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSMFFzUlVGQlRTeE5RVUZOUXl4RFFVRkRMRVZCUVVkWUxFTkJRVThzUlVGRGJrWXNSMEZCU1N4UFFVRlBXU3hIUVVGUExGTkJRMlJFTEVWQlFVbERMRVZCUVVzc1RVRkRVaXhKUVVGSlFTeEpRVUZQYWtJc1IwRkRXaXhQUVVGUFFTeEhRVU5HYVVJc1NVRkJUMllzUzBGRFdtRXNSVUZCVFN4TlFVRk5MRTlCUVU5RExFVkJRVWNzUTBGQlF5eEZRVU4yUWtFc1IwRkJTeXhIUVVWaUxFTkJRMGtzVDBGQlQwWXNSMEZCVXl4WlFVRmpUQ3hKUVVGVkxGRkJRM2hEU3l4RlFVRlBRU3hGUVVGTFRpeEZRVUZOUkN4RFFVRkpMRVZCUXpsQ0xFTkJRMG9zUTBGRFFTeFBRVUZQTEU5QlFVOVBMRWRCUVZNc1YwRkJZVUVzUlVGQlMwNHNSVUZCVFVRc1EwRkJTU3hGUVVGSlR5eERRVU16UkN4RFEzcEdRU3hKUVVGTlNTeEhRVUZOTEZOQlJVNURMRWRCUVZjc1NVRkZXRU1zUjBGQlZ5eEpRVVZZUXl4SFFVRlRMRWxCTUVKbUxGTkJRVk5ETEVkQlFWVkRMRVZCUVZFc1EwRkRka0lzVDBGQlVVRXNSVUZCVVN4RFFVTmFMRXRCUVV0RExFZEJRMFFzVFVGQlR5eHJRa0ZEV0N4TFFVRkxReXhIUVVORUxFMUJRVThzVjBGRFdDeExRVUZMUXl4SFFVTkVMRTFCUVU4c2FVSkJRMWdzUzBGQlMwTXNSMEZEUkN4TlFVRlBMRk5CUTFnc1NVRkJTeXhOUVVORUxFMUJRVThzV1VGRFdDeEpRVUZMTEUxQlEwUXNUVUZCVHl4VlFVTllMRWxCUVVzc1IwRkRUQ3hKUVVGTE8wRkJRVUVzUlVGRFRDeEpRVUZMTzBGQlFVRXNSVUZEUkN4TlFVRlBMRlZCUTFnc1NVRkJTeXhKUVVORUxFMUJRVThzWlVGRFdDeEpRVUZMTEVsQlEwUXNUVUZCVHl4dFFrRkRXQ3hKUVVGTExFbEJRMFFzVFVGQlR5eG5Ra0ZEV0N4SlFVRkxMRWxCUTBRc1RVRkJUeXhwUWtGRFdDeEpRVUZMTEVsQlEwUXNUVUZCVHl4bFFVTllMRWxCUVVzc1NVRkRSQ3hOUVVGUExHbENRVU5ZTEVsQlFVc3NTVUZEUkN4TlFVRlBMR1ZCUTFnc1NVRkJTeXhKUVVORUxFMUJRVThzVDBGRFppeERRVU5CTEU5QlFWRktMRVZCUVU4c1EwRkJReXhGUVVGSExFTkJRMllzU1VGQlN5eEpRVU5NTEVsQlFVc3NTVUZEUkN4TlFVRlBMRkZCUTFnc1NVRkJTeXhKUVVORUxFMUJRVThzVlVGRFdDeEpRVUZMTEVsQlEwUXNUVUZCVHl4cFFrRkRXQ3hKUVVGTExFbEJRMFFzVFVGQlR5eFJRVU5ZTEVsQlFVc3NTVUZEUkN4TlFVRlBMRk5CUTFnc1NVRkJTeXhKUVVORUxFMUJRVThzVFVGRFdDeEpRVUZMTEVsQlEwUXNUVUZCVHl4MVFrRkRXQ3hKUVVGTExFbEJRMFFzVFVGQlR5eDFRa0ZEV0N4SlFVRkxMRWxCUTB3c1NVRkJTeXhKUVVORUxFMUJRVThzY1VKQlEyWXNRMEZEUVN4UFFVRlBMRWxCUTFnc1EwTXhRa0VzVTBGQlUwc3NSMEZCVVVNc1JVRkJTU3hEUVVOcVFpeFBRVUZSUVN4RlFVRkpMRU5CUTFJc1MwRkJTeXhQUVVOTUxFbEJRVXNzU1VGRFRDeEpRVUZMTzBGQlFVRXNSVUZEVEN4SlFVRkxMRXRCUTB3c1NVRkJTeXhKUVVORUxFMUJRVThzUjBGRFdDeFJRVU5KTEUxQlFVOHNSVUZEWml4RFFVTktMRU5CUTBFc1NVRkJUVU1zUjBGQldTeEpRVUZKTEVsQlFVa3NkMEpCUVhkQ0xFVkJRelZEUXl4SFFVRlhMRWxCUVVrc1NVRkJTU3h0UmtGQmJVWXNSVUZEZEVkRExFZEJRWEZDTEVsQlFVa3NTVUZCU1N4UFFVRlBMRVZCUTNCRFF5eEhRVUZ4UWl4SlFVRkpMRWxCUVVrN1FVRkJRU3hKUVVGakxFVkJRek5EUXl4SFFVRnRRa3dzUjBGQlR5eERRVUZEUVN4SFFVRk5TU3hIUVVGdFFpeEpRVUZKU2l4RFFVRkZMRVZCWjBJeFJFMHNSMEZCVGl4TFFVRlpMRU5CUTFJc1lVRkJZeXhEUVV0V0xFdEJRVXNzVFVGQlVTeEhRVTFpTEV0QlFVc3NhMEpCUVc5Q0xFZEJUWHBDTEV0QlFVc3NaMEpCUVd0Q0xFZEJSWFpDTEV0QlFVc3NUMEZCVXl4SFFVdGtMRXRCUVVzc1VVRkJWU3hIUVVWbUxFdEJRVXNzVlVGQldTeEZRVXRxUWl4TFFVRkxMRmRCUVdFc1JVRkZiRUlzUzBGQlN5eFpRVUZqTEVWQlJXNUNMRXRCUVVzc1YwRkJZU3hMUVVWc1FpeExRVUZMTEV0QlFVOHNTMEZGV2l4TFFVRkxMRWxCUVUwc1EwRkRaaXhEUVU5QkxFTkJRVU1zU1VGQlNVTXNSVUZCVVVNc1JVRkJZU3hIUVVGUExFTkJja3B5UXl4SlFVRkJReXhGUVhOS1VTeEhRVUZKUml4RlFVRlJMRU5CUTFJc1IwRkJTU3hQUVVGUFFTeEhRVUZYTEZOQlEyeENMRTFCUVUwc1ZVRkJWU3gzUWtGQmQwSXNSVUZETlVNc1MwRkJTeXhQUVVGVExFdEJRVXNzVDBGQlV5eExRVUZMTEU5QlFWTkJMRVZCUVZOQkxFVkJRMjVFTEV0QlFVc3NWMEZCWVN4SlFVTjBRaXhEUVVOQkxFdEJRVXNzVFVGQlVTeERRVUZEUXl4RlFVTmtMRWxCUVVsRkxFZEJRVTlFTEVWQlFVRXNTMEZCU3l4UFFVRk1MRXRCUVVGQkxFVkJRV0VzVTBGRGVFSXNTMEZCVDBNc1NVRkJVMFlzUjBGQll5eExRVUZMTEZOQlFWTXNRMEZCUXl4SlFVTjZRMFVzUlVGQlR5eE5RVUZCUXl4RlFVRlBMRXRCUVVzc1ZVRkJWVVFzUTBGQlNTeEZRVU42UXl4RFFVTkJMRmRCUVZrc1EwRkRVaXhKUVVGSlJTeEZRVUZKTEV0QlFVc3NTVUZEVkZvc1JVRkJTeXhMUVVGTExFOUJRVTlaTEVOQlFVTXNSVUZEZEVJc1MwRkJUMW9zU1VGQlR5eExRVUZQUVN4SlFVRlBMRXRCUTNoQ1FTeEZRVUZMTEV0QlFVc3NUMEZCVHl4RlFVRkZXU3hEUVVGRExFVkJRM2hDTEUxQlFVa3NRMEZCUTFvc1IwRkJUVUVzU1VGQlR5eExRVUZQUVN4SlFVRlBPMEZCUVVFc1JVRkRja0lzUjBGRFVFRXNTVUZCVHl4TFFVTkJMRXRCUVVzc1QwRkJUMWtzUlVGQlNTeERRVUZETEVsQlFVMDdRVUZCUVN4RlFVTXpRaXhGUVVOWUxFTkJRMEVzVDBGQlQwTXNSVUZCUnl4RFFVTk9MRTlCUVU4c1MwRkJTeXhQUVVGUExFdEJRVXNzU1VGQlRVRXNRMEZCUXl4RFFVTnVReXhEUVVOQkxHVkJRV1ZETEVWQlFWRXNRMEZEYmtJc1NVRkJTV1FzUlVGQlN5eExRVUZMTEU5QlFVOWpMRU5CUVUwc1JVRkRNMElzUjBGQlNTeExRVUZMTEZkQlFXRXNSVUZCUnl4RFFVTnlRaXhKUVVGSlF5eEZRVUZUTEVWQlEySXNTMEZCVDJZc1NVRkJUeXhMUVVOV1FTeEZRVUZMTEV0QlFVc3NUMEZCVHl4RlFVRkZaU3hGUVVGVFJDeERRVUZOTEVWQlEzUkRMRWRCUVVsa0xFbEJRVThzUzBGQlRTeERRVU5pTEVsQlFVMVZMRVZCUVU4c1MwRkJTeXhQUVVGUFN5eEZRVUZUUkN4RlFVRlRMRU5CUVVNc1JVRkROVU1zUjBGQlNVb3NTVUZCVXp0QlFVRkJMRWRCUVZNc1EwRkJRMEVzUjBGQlVTeERRVUZETEV0QlFVc3NUVUZEYWtNc1QwRkJUMGtzUlVGQlUwTXNSVUZCVXl4RFFVTnFReXhEUVVOQkxFOUJRVTltTEVsQlFVODdRVUZCUVN4SFFVRlJaU3hIUVVGVkxFdEJRVXNzV1VGQlpTeERRVUZEWml4SFFVRk5MRU5CUVVNc1MwRkJTeXhOUVVNelJHTXNSVUZCVTBNc1JVRkRWQ3hGUVVOV0xFTkJRMEVzUjBGQlNXWXNTVUZCVHl4TFFVRlBRU3hKUVVGUExFbEJRVXNzUTBGRE1VSXNTVUZCVFdkQ0xFVkJRVXNzUzBGQlN5eFBRVUZQTEU5QlFVOUdMRVZCUVZFc1EwRkJReXhGUVVOMlF5eEpRVUZMUlN4SlFVRlBMRTlCUVZOQkxFbEJRVThzVVVGQlZXcENMRWRCUVZFc1MwRkJTeXhQUVVGUFpTeEZRVUZUTEVOQlFVTXNRMEZCUXl4RlFVTnFSU3hOUVVGUExFVkJRMllzUTBGRFFTeFBRVUZQUVN4RFFVTllMRU5CUTBFc1UwRkJWU3hEUVVOT0xFbEJRVWxITEVWQlFVMHNTMEZCU3l4WFFVdG1MRTlCU2trc1QwRkJUMEVzUjBGQlVTeFZRVUZoUVN4SlFVRlJMRWxCUVUxQkxFVkJRVTBzUzBGQlN5eFBRVU55UkVFc1JVRkJUU3hMUVVGTExFOUJRVThzVVVGQlVUdEJRVUZCTEVWQlFVMHNTMEZCU3l4SFFVRkhMRVZCUTNoRExFdEJRVXNzVjBGQllVRXNSMEZGYkVKQkxFbEJRVkVzUjBGRFJDeExRVUZMTEUxQlFWRXNTMEZCU3l4UFFVRlBMRlZCUVZVc1MwRkJTeXhIUVVGSExFVkJRVWtzVFVGRGRFUXNTMEZCU3l4UFFVRlBRU3hGUVVGTkxFTkJRVU1zU1VGQlRTeFBRVU42UWtFc1IwRkJUeXhIUVVOS0xFdEJRVXNzVDBGQlR5eFZRVUZWTEV0QlFVc3NTVUZCUzBFc1EwRkJSeXhGUVVNNVF5eERRVU5CTEZOQlFWTktMRVZCUVVjc1EwRkRVaXhQUVVGUExFdEJRVXNzU1VGQlRVRXNSMEZCU3l4TFFVRkxMRTlCUVU4c1RVRkRka01zUTBGRFFTeFJRVUZSU3l4RlFVRlBMRU5CUTFnc1dVRkJTeXhQUVVGVExFdEJRVXNzVDBGQlR5eFZRVUZWTEV0QlFVc3NSMEZCUnl4RlFVTTFReXhMUVVGTExFbEJRVTBzUlVGRFdDeExRVUZMTEZkQlFXRXNTMEZEYkVJc1MwRkJTeXhMUVVGUFFTeEZRVU5NTEVsQlExZ3NRMEZEUVN4TFFVRkxUQ3hGUVVGSExFTkJRMG9zVDBGQlR5eExRVUZMTEU5QlFVOHNUMEZCVHl4TFFVRkxMRWxCUVV0QkxFTkJRVU1zUTBGRGVrTXNRMEZEUVN4RFFVRkRMRlZCUVZWSUxFVkJRVTBzUTBGRFlpeFBRVUZSUVN4RlFVRk5MRU5CUTFZc1NVRkJTeXhUUVVORUxFOUJRVThzVFVGQlFVTXNSVUZCVHl4TFFVRkxMRmxCUVZrc1IwRkRia01zU1VGQlN5eGhRVU5FTEU5QlFVOHNUVUZCUVVFc1JVRkJUeXhMUVVGTExHVkJRV1VzUjBGRGRFTXNTVUZCU3l4alFVTkVMRTlCUVU4c1RVRkJRVUVzUlVGQlR5eExRVUZMTEdkQ1FVRm5RaXhIUVVOMlF5eEpRVUZMTEUxQlEwUXNUMEZCVHl4TlFVRkJRU3hGUVVGUExFdEJRVXNzWTBGQll5eEhRVU55UXl4SlFVRkxMRTlCUTBRc1QwRkJUeXhOUVVGQlFTeEZRVUZQTEV0QlFVc3NiMEpCUVc5Q0xFZEJRek5ETEVsQlFVc3NaMEpCUTBRc1QwRkJUeXhOUVVGQlFTeEZRVUZQTEV0QlFVc3NhMEpCUVd0Q0xFZEJRM3BETEVsQlFVc3NaVUZEUkN4UFFVRlBMRTFCUVVGQkxFVkJRVThzUzBGQlN5eHBRa0ZCYVVJc1IwRkRlRU1zU1VGQlN5eGxRVU5FTEU5QlFVOHNUVUZCUVVFc1JVRkJUeXhMUVVGTExHbENRVUZwUWl4RlFVTTFReXhEUVVOS0xFTkJRMEVzUTBGQlF5eGhRVUZqTEVOQlExZ3NTVUZCU1ZFc1JVRkJUeXhMUVVGTExGRkJRVkVzUlVGRGVFSXNSMEZCU1VFc1NVRkJVeXhMUVVOVUxFOUJRVThzUzBGQlN5eFJRVUZSTEZGQlFWRXNSVUZMYUVNc1IwRktTVUVzUlVGQlN5eERRVUZETEVsQlFVMURMRXRCUTFvc1RVRkJRVlFzUlVGQlR5eExRVUZMTEZWQlFWVXNRMEZCUXl4SFFVTjJRbEVzUlVGQlQwRXNSVUZCU3l4VlFVRlZMRU5CUVVNc1IwRkZka0pCTEVWQlFVc3NRMEZCUXl4SlFVRk5MRWxCUVVzc1EwRkRha0lzU1VGQlNVVXNSVUZCVTBZc1JVRkJTeXhQUVVOa1J5eEZRVUZMU0N4RlFVRkxMRkZCUVZFc1IwRkJSeXhGUVVONlFpeExRVUZQUnl4SlFVRlBMRWxCUVVrc1EwRkRaQ3hKUVVGTmRFSXNSVUZCUzIxQ0xFVkJRVXRITEVWQlFVc3NRMEZCUXl4RlFVTjBRaXhIUVVGSmRFSXNTVUZCVHl4TFFVRlBRU3hKUVVGUExFbEJRVTBzUTBGRE0wSnhRaXhGUVVGVFF5eEZRVUZMTEVWQlEyUXNTMEZEU2l4TlFVVkpRU3hGUVVGTFNDeEZRVUZMTEZGQlFWRXNTVUZCUzBjc1JVRkJTeXhEUVVGRExFTkJSWEpETEVOQlEwRXNUMEZCWVN4RFFVTlVMRWxCUVUxMFFpeEZRVUZMYlVJc1JVRkJTMFVzUlVGQlV5eERRVUZETEVWQlF6RkNMRWRCUVVseVFpeEpRVUZQTEV0QlFVOUJMRWxCUVU4c1NVRkRja0p4UWl4SFFVRlZMRTFCUlZZc1RVRkRVaXhEUVVOQkxFbEJRVTFTTEVkQlFVc3NUVUZCUVVZc1JVRkJUeXhMUVVGTExGVkJRVlZWTEVOQlFVMHNTMEZCVFN4TlFVRkJWaXhGUVVGUExFdEJRVXNzVjBGQlZ5eEZRVUZKTEVsQlEzaEZMR0ZCUVVGQkxFVkJRVThzUzBGQlN5eFZRVUZWVVN4RlFVRkxMRTlCUVZOT0xFTkJRVU1zUjBGRGNrTXNTMEZCU3l4WlFVRlpMRVZCUTFZc1VVRkRXQ3hEUVVOQkxFZEJRVWtzUzBGQlN5eFZRVUZWTEVWQlFVY3NRMEZEYkVJc1NVRkJUVlVzUlVGQlN5eE5RVUZCV2l4RlFVRlBMRXRCUVVzc1YwRkJWeXhGUVVGSkxFZEJRM1JETEdGQlFVRkJMRVZCUVU4c1MwRkJTeXhWUVVGVlVTeEZRVUZMTEU5QlFWTkpMRU5CUVVVc1IwRkRkRU1zVFVGQlFWb3NSVUZCVHl4TFFVRkxMRmxCUVZrc1IwRkRha0lzVVVGRFdDeERRVU5CTEdGQlFVMWhMRWRCUTBNc1RVRkJRV0lzUlVGQlR5eExRVUZMTEdWQlFXVXNSVUZEZEVNc1EwRkRRU3hEUVVGRExHZENRVUZwUWl4RFFVTmtMRWxCUVUxWUxFVkJRVXNzUzBGQlN5eFBRVUZQTEVOQlFVTXNSVUZEZUVJc1IwRkJTU3hEUVVGRFFTeEhRVUZOTEVOQlFVTXNTMEZCU3l4TlFVTmlMRTlCUVU4c1MwRkJTeXhSUVVGUkxGbEJRVmtzUlVGRGNFTXNSMEZCU1VFc1NVRkJUeXhMUVVGUFFTeEpRVUZQTEVsQlFVc3NRMEZETVVJc1IwRkJTU3hEUVVGRExFdEJRVXNzVDBGQlV5eERRVUZETEV0QlFVc3NVMEZCVXl4RFFVRkRMRVZCUXk5Q0xFOUJRVThzUzBGQlN5eFJRVUZSTEZsQlFWa3NSVUZEY0VNc1NVRkJUWGxDTEVWQlFVa3NTMEZCU3l4TFFVRkxMRU5CUVVNc1JVRkRja0lzU1VGQlMwRXNTVUZCVFN4UFFVRlRRU3hKUVVGTkxGRkJRVlV4UWl4SFFVRlJMRXRCUVVzc1QwRkJUeXhEUVVGRExFTkJRVU1zUlVGRGRFUXNZVUZCUVZrc1JVRkJUeXhMUVVGTExGVkJRVlVzUTBGQlF5eEhRVU4yUWl4TFFVRkxMRmxCUVdNc1JVRkRia0lzUzBGQlN5eFhRVUZoTEVWQlExaGpMRWxCUVUwc1RVRkJVU3hOUVVGUkxGRkJSWEpETEVOQlEwRXNXVUZCU3l4WlFVRmpMRTFCUVVGa0xFVkJRVThzUzBGQlN5eFhRVUZYTEVWQlFVc3NSMEZETTBNc1MwRkJTeXhYUVVGaExFdEJRVXNzWVVGQlpTeERRVUZEV2l4SFFVRlJMRXRCUVVzc1QwRkJUeXhEUVVGRExFTkJRVU1zU1VGRE4wUXNTMEZCU3l4WFFVRmhMRXRCUVVzc1lVRkRjRUlzVFVGQlFWa3NSVUZCVHl4TFFVRkxMR2RDUVVGblFpeEZRVU4yUXl4RFFVTkJMRU5CUVVNc2FVSkJRV3RDTEVOQlEyWXNSMEZCVFN4RFFVRkRaU3hGUVVGTFF5eERRVUZITEVWQlFVa3NTMEZCU3l4TFFVRkxMRU5CUVVNc1JVRkRPVUlzUjBGQlNTeERRVUZEUVN4SFFVRlBMRU5CUVVNc1MwRkJTeXhOUVVOa0xFOUJRVThzUzBGQlN5eFJRVUZSTEdGQlFXRXNSVUZEY2tNc1NVRkJTMFFzU1VGQlVTeExRVUZQUVN4SlFVRlJMRXRCUVU5QkxFbEJRVkVzVFVGQlVUTkNMRWRCUVZFMFFpeERRVUZITEVWQlFVY3NRMEZETjBRc1NVRkJUV1FzUjBGQlN5eE5RVUZCUml4RlFVRlBMRXRCUVVzc1ZVRkJWU3hEUVVGRExFdEJRVTBzVFVGQlFVRXNSVUZCVHl4TFFVRkxMRmRCUVZjc1JVRkJTU3hKUVVOdVJTeFpRVUZMTEZkQlFXRXNTMEZCU3l4WlFVRmpMRVZCUTNKRExFdEJRVXNzWVVGQlpVVXNSVUZEWWl4TlFVRkJSaXhGUVVGUExFdEJRVXNzWjBKQlFXZENMRVZCUTNaRExFTkJRMEVzVFVGQlR5eExRVU5ZTEVOQlEwRXNRMEZCUXl4bFFVRm5RaXhEUVVOaUxFMUJRVUZCTEVWQlFVOHNTMEZCU3l4WFFVRlhMRVZCUVVrc1IwRkRNMElzU1VGQlRWRXNSVUZCVHl4TFFVRkxMRkZCUVZFc1JVRkRNVUlzUjBGQlNVRXNTVUZCVXl4TFFVTlVMRTlCUVU4c1MwRkJTeXhSUVVGUkxFdEJRVXNzUlVGRE4wSXNTVUZCU1U0c1JVRkJTU3hOUVVGQlJpeEZRVUZQTEV0QlFVc3NaVUZCWlN4SFFVTnVReXhQUVVGUlVTeEZRVUZMVGl4RFFVRkRMRVZCUVVjc1EwRkRZaXhKUVVGTExFbEJRMFFzVFVGQlFVWXNSVUZCVHl4TFFVRkxMRlZCUVZWUkxFVkJRVXNzVDBGQlUwNHNRMEZCUXl4SFFVVjZReXhMUVVGTExFOUJRMFFzWVVGQlFVWXNSVUZCVHl4TFFVRkxMRmxCUVZrc1IwRkRha0lzVFVGQlFVRXNSVUZCVHl4TFFVRkxMR1ZCUVdVc1IwRkRkRU1zU1VGQlN5eEpRVU5NTEVsQlFVc3NTVUZEUkN4aFFVRkJRU3hGUVVGUExFdEJRVXNzVlVGQlZTeERRVUZETEVkQlEzWkNMRXRCUVVzc1VVRkJWU3hIUVVObUxFdEJRVXNzVlVGQldTeEZRVU5XTEU5QlExZ3NTVUZCU3l4SlFVTk1MRWxCUVVzc1NVRkZSQ3hoUVVGQlFTeEZRVUZQTEV0QlFVc3NWVUZCVlN4RFFVRkRMRWRCUTJoQ0xFMUJRMWdzU1VGQlN5eEpRVU5FTEdGQlFVRkJMRVZCUVU4c1MwRkJTeXhWUVVGVlRpeEZRVUZsTEVkQlF6bENMRTFCUTFnc1NVRkJTeXhKUVVOTUxFbEJRVXNzU1VGRFJDeFBRVUZQTEUxQlFVRk5MRVZCUVU4c1MwRkJTeXhyUWtGQmEwSXNSMEZEZWtNc1NVRkJTeXhKUVVOTUxFbEJRVXNzU1VGRFJDeFBRVUZCUlN4SFFVRkxMRTFCUVVGR0xFVkJRVThzUzBGQlN5eDFRa0ZCZFVJc1IwRkRlRU5GTEVkQlFVc3NUVUZCUVVZc1JVRkJUeXhMUVVGTExGZEJRVmNzUlVGQlNTeEhRVU5vUXl4TlFVRkJRU3hGUVVGUExFdEJRVXNzVlVGQlZWRXNSVUZCU3l4UFFVRlRUaXhEUVVGRExFZEJRM0pETEUxQlFVRkdMRVZCUVU4c1MwRkJTeXhaUVVGWkxFZEJRMnBDTEUxQlFVRkJMRVZCUVU4c1MwRkJTeXhwUWtGQmFVSXNSMEZEZUVNc1VVRkRTU3hQUVVGUExFMUJRVUZCTEVWQlFVOHNTMEZCU3l4cFFrRkJhVUlzUlVGRE5VTXNRMEZEU2l4RFFVTkJMRU5CUVVNc2NVSkJRWE5DTEVOQlEyNUNMRWxCUVVscFFpeEZRVUZKVEN4RlFVTktVaXhGUVVGVExFZEJRMklzUjBGRFNXRXNSVUZCU3l4TlFVRkJha0lzUlVGQlR5eExRVUZMTEZsQlFWa3NSMEZEZWtKcFFpeEZRVUZMTEVkQlEweE1MRVZCUVVzc1RVRkJRVm9zUlVGQlR5eExRVUZMTEZkQlFWY3NSVUZCU3l4SFFVTnFReXhMUVVGTExGbEJRV05KTEVWQlFWTlJMRWRCUnpWQ1FTeEZRVUZMTEVWQlJWUkJMRWRCUVUwc1RVRkJRVm9zUlVGQlR5eExRVUZMTEZkQlFWY3NSVUZCU1N4VFFVTTFRbWxDTEVWQlFVdE1MRVZCUVVzc1IwRkRia0lzU1VGQlRVb3NSVUZCVHl4TFFVRkxMRkZCUVZFc1JVRkRNVUlzUjBGQlNVRXNTVUZCVXl4TFFVTlVMRTlCUVU4c1MwRkJTeXhSUVVGUkxFMUJRVTBzUlVGRE9VSXNTVUZCUzBvc1NVRkJWeXhKUVVGTlFTeEZRVUZUTEV0QlFVc3NXVUZCWTBrc1JVRkJTeXhEUVVGRExFbEJRVTBzUzBGRGVrUktMRWxCUVZjc1NVRkRVRWtzUlVGQlN5eFhRVUZYTEV0QlFVc3NSMEZCUzBFc1JVRkJTeXhYUVVGWExFdEJRVXNzU1VGRGFFUndRaXhIUVVGUmIwSXNSVUZCU3l4RFFVRkRMRU5CUVVNc1NVRlBaaXhGUVVodlFrb3NTVUZCVnl4TFFVRkxMRmRCUVdFc1IwRkRha1FzUzBGQlN5eFpRVUZqTEVsQlEyeENTU3hGUVVGTExFTkJRVU1zU1VGQlRTeExRVUZQUVN4RlFVRkxMRU5CUVVNc1NVRkJUU3hOUVVkb1F5eFpRVUZMTEZWQlFWa3NSVUZEYWtJc1RVRkJUVlVzUjBGRFF5eE5RVUZCYkVJc1JVRkJUeXhMUVVGTExHVkJRV1VzUjBGSE1VTXNTVUZCU1VVc1JVRkJTU3hGUVVOU0xFdEJRVTlOTEVWQlFVdE9MRU5CUVVNc1NVRkJUU3hMUVVObVFTeEhRVUZMTEUxQlFVRkdMRVZCUVU4c1MwRkJTeXhWUVVGVkxFTkJRVU1zUjBGRE5VSkZMRWRCUVVzc1RVRkJRVVlzUlVGQlR5eExRVUZMTEZkQlFWY3NSVUZCU1N4SFFVTm9ReXhMUVVGTExGRkJRVlVzUjBGSGJrSXNUMEZFUVVVc1IwRkJTeXhOUVVGQlJpeEZRVUZQTEV0QlFVc3NaVUZCWlN4SFFVTjRRbEVzUlVGQlMwNHNRMEZCUXl4RlFVRkhMRU5CUTJJc1MwRkJTeXhQUVVORUxFMUJRVThzVDBGRFdDeEpRVUZMTEVsQlEwUXNZVUZCUVVZc1JVRkJUeXhMUVVGTExGVkJRVlZSTEVWQlFVc3NUMEZCVTA0c1EwRkJReXhIUVVNNVFpeFBRVU5ZTEVsQlFVc3NTVUZEVEN4SlFVRkxMRWxCUTBRc1lVRkJRVVlzUlVGQlR5eExRVUZMTEZWQlFWVXNRMEZCUXl4SFFVTjJRaXhMUVVGTExGRkJRVlVzUjBGRFppeExRVUZMTEZkQlFXRXNSVUZEV0N4UFFVTllMRWxCUVVzc1NVRkRUQ3hKUVVGTExFbEJRMFFzWVVGQlFVRXNSVUZCVHl4TFFVRkxMRlZCUVZVc1EwRkJReXhIUVVOMlFpeExRVUZMTEZGQlFWVXNSMEZEWml4TFFVRkxMRmRCUVdFc1JVRkRXQ3hMUVVGTExGVkJRVmtzVDBGQlV5eE5RVU55UXl4SlFVRkxMRWxCUTBRc1lVRkJRVUVzUlVGQlR5eExRVUZMTEZWQlFWVk9MRVZCUVdVc1IwRkRPVUlzVDBGRFdDeEpRVUZMTEVsQlEwd3NTVUZCU3l4SlFVTkVMRmxCUVVzc1VVRkJWU3hIUVVOU0xFMUJRVUZOTEVWQlFVOHNTMEZCU3l4clFrRkJhMElzUjBGRGVrTXNTVUZCU3l4SlFVRkxMRU5CUTA0c1NVRkJUVVFzUlVGQlR5eExRVUZMTEU5QlFVOHNRMEZCUXl4RlFVTXhRaXhIUVVGSkxFdEJRVXNzVTBGQlYxZ3NSMEZCVVZjc1EwRkJTU3hIUVVGTFFTeEpRVUZUTEVsQlF6RkRMRmxCUVVzc1VVRkJWU3hIUVVObUxFMUJRVUZETEVWQlFVOHNTMEZCU3l4VlFVRlZMRU5CUVVNc1IwRkRka0lzVFVGQlFVRXNSVUZCVHl4TFFVRkxMRmRCUVZjc1JVRkJTU3hIUVVOd1FpeE5RVVZtTEVOQlJVRXNVVUZEU1N4WlFVRkxMRkZCUVZVc1IwRkRVaXhOUVVGQlFTeEZRVUZQTEV0QlFVc3NhVUpCUVdsQ0xFVkJRelZETEVOQlEwb3NRMEZEUVN4RFFVRkRMRzFDUVVGdlFpeERRVU5xUWl4SlFVRk5iVUlzUlVGQlVTeExRVUZMTEU5QlFVOHNRMEZCUXl4RlFVTjJRbUlzUlVGQlRTeExRVUZMTEU5QlFVOHNVVUZCVVdFc1JVRkJUeXhMUVVGTExFbEJRVTBzUTBGQlF5eEZRVU5xUkN4SFFVRkpRU3hKUVVGVkxFbEJRMVlzUzBGQlQySXNTVUZCVVN4SlFVRk5MRXRCUVVzc1QwRkJUMEVzUlVGQlRTeERRVUZETEVsQlFVMHNTMEZETVVOQkxFVkJRVTBzUzBGQlN5eFBRVUZQTEZGQlFWRXNTVUZCUzBFc1JVRkJUU3hEUVVGRExFMUJTVEZETEUxQlFVOUJMRWxCUVZFc1NVRkJTU3hEUVVObUxFbEJRVWxLTEVWQlFVa3NSVUZEVWl4TFFVRlBMRXRCUVVzc1QwRkJUMGtzUlVGQlRTeEZRVUZKU2l4RFFVRkRMRWxCUVUwc1RVRkRhRU5CTEVkQlFVc3NSVUZEVkN4SFFVRkpRU3hGUVVGSkxFbEJRVTBzUlVGRFZpeE5RVU5LU1N4RlFVRk5MRXRCUVVzc1QwRkJUeXhSUVVGUkxFbEJRVXRCTEVWQlFVMHNRMEZCUXl4RFFVTXhReXhEUVVkS0xFbEJRVTFqTEVWQlFVc3NTMEZCU3l4UFFVRlBMRlZCUVZVc1JVRkJSMlFzUTBGQlJ5eEZRVU51UTFjc1JVRkJTMGNzUlVGQlJ5eFJRVUZSTzBGQlFVRXNSVUZCVFN4TFFVRkxMRWRCUVVjc1JVRkRiRU1zUjBGQlNVZ3NTVUZCVHl4SFFVRkpMRU5CUTFnc1MwRkJUMEVzU1VGQlR5eEpRVUZKTEVOQlEyUXNTVUZCVFU0c1JVRkJTeXhMUVVGTExHVkJRV1ZOTEVWQlFVc3NRMEZCUXl4RlFVTnlReXhIUVVGSlRpeEpRVUZQTEVkQlExQXNUVUZEU2swc1JVRkJTMGNzUlVGQlJ5eFJRVUZSTzBGQlFVRXNSVUZCVFZRc1EwRkJSU3hEUVVNMVFpeERRVU5KVFN4SlFVRlBMRXRCUlZCWUxFVkJRVTFYTEVkQlFVMUhMRVZCUVVkSUxFVkJRVXNzUTBGQlF5eEpRVUZOTEV0QlFVOHNSVUZCU1N4SFFVVTVReXhEUVVOQkxFZEJRVWxZTEVsQlFWRXNSMEZCU1N4RFFVTmFMRWRCUVVrc1EwRkJReXhMUVVGTExFMUJRMDRzVDBGQlR5eExRVUZMTEZGQlFWRXNaVUZCWlN4RlFVTjJRMEVzUlVGQlRTeExRVUZMTEU5QlFVOHNUVUZEZEVJc1EwRkRRU3hoUVVGQlRpeEZRVUZQTEV0QlFVc3NXVUZCV1Uwc1JVRkJUU3hGUVVGSExFVkJRVXNzUjBGREwwSXNTMEZCU3l4VlFVRlpMRTlCUVZNc1MwRkRja01zUTBGRFFTeERRVUZETEhkQ1FVRjVRaXhEUVVOMFFpeExRVUZMTEd0Q1FVRnZRaXhIUVVONlFpeExRVUZMTEdkQ1FVRnJRaXhIUVVOMlFpeEpRVUZKVEN4RlFVRkpMRXRCUVVzc1NVRkRZaXhQUVVGaExFTkJRMVFzU1VGQlRWb3NSVUZCU3l4TFFVRkxMRTlCUVU4c1JVRkJSVmtzUTBGQlF5eEZRVU14UWl4SFFVRkpXaXhKUVVGUExFbEJRMUFzUzBGQlN5eG5Ra0ZCYTBJc1YwRkRiRUpCTEVWQlFVc3NTMEZCVDBFc1IwRkJUU3hKUVVOMlFpeExRVUZMTEd0Q1FVRnZRaXhQUVVGUFFTeERRVUZGTEVWQlFVa3NWVUZEYWtOQkxFbEJRVThzU1VGRFdpeExRVU5TTEVOQlEwRXNUMEZCVHl4TlFVRkJWeXhGUVVGUExFdEJRVXNzVlVGQlZWZ3NSMEZCVFVRc1IwRkJVVU1zUTBGQlJTeEhRVUZMUVN4SlFVRlBMRWRCUVVjc1JVRkRhRVVzUTBGRFFTeERRVUZETEd0Q1FVRnRRaXhEUVVOb1FpeEpRVUZKTkVJc1JVRkJTeXhMUVVGTExFbEJRVTBzUlVGRGFFSmlMRVZCUVZNc1JVRkRWR1lzUlVGRFNtZERMRVZCUVUwc1VVRkJVeXhGUVVGSkxFdEJRVXNzU1VGQlRXaERMRVZCUVVzc1MwRkJTeXhQUVVGUExFTkJRVU1zUlVGQlNTeEZRVUZGTEVWQlEyeEVMRTlCUVZGQkxFVkJRVWtzUTBGRFVpeEpRVUZMTEVsQlEwUmxMRWRCUVZVc1JVRkRWaXhOUVVOS0xFbEJRVXM3UVVGQlFTeEZRVU5FWVN4RlFVRkxMRVZCUTB4aUxFVkJRVk1zUlVGRFZDeE5RVU5LTEVsQlFVc3NTMEZCVFN4RFFVTlFMRWxCUVUxTUxFVkJRVThzUzBGQlN5eFBRVUZQTEVWQlFVa3NRMEZCUXl4RlFVTTVRaXhIUVVGSkxFTkJRVU5CTEVkQlFWRXNRMEZCUXl4TFFVRkxMRTFCUTJZc1QwRkJUeXhMUVVGTExGRkJRVkVzWTBGQll5eEZRVU4wUXl4SFFVRkpRU3hKUVVGVE8wRkJRVUVzUlVGRFZDeExRVU5TTEVOQlEwRXNVVUZEU1N4TlFVRk5jMElzUTBGRFpDeERRVVZLTEVkQlFVa3NRMEZCUTJoRExFZEJRVTBzUTBGQlF5eExRVUZMTEUxQlEySXNUMEZCVHl4TFFVRkxMRkZCUVZFc1kwRkJZeXhGUVVOMFF5eEhRVUZKWlN4SFFVRlZMRXRCUVVzc1YwRkJXU3hEUVVOMlFpeExRVUZMTEc5Q1FVRnpRaXhIUVVNelFpeExRVUZMTEZkQlFXRkJMRVZCUld4Q0xFdEJRVXNzVjBGRFJDeExRVUZMTEcxQ1FVRnhRaXhMUVVGTExHRkJRV1VzUlVGQlNTeEZRVUZKTEV0QlFVc3NXVUZGYmtVc1JVRkJSeXhEUVVORExFbEJRVTFQTEVWQlFVc3NTMEZCU3l4bFFVRmxUU3hGUVVGTExFTkJRVU1zUlVGRGNrTXNSMEZCU1U0c1NVRkJUeXhIUVVOUUxFMUJRMHBOTEVWQlFVc3NTMEZCU3l4UFFVRlBMRkZCUVZFN1FVRkJRU3hGUVVGTlRpeERRVUZGTEVOQlEzSkRMRTlCUVZOTkxFbEJRVThzU1VGRGFFSXNSMEZCU1VFc1NVRkJUeXhIUVVGSkxFTkJRMWdzUjBGQlNTeERRVUZETEV0QlFVc3NUVUZEVGl4UFFVRlBMRXRCUVVzc1VVRkJVU3hqUVVGakxFVkJRM1JEUVN4RlFVRkxMRXRCUVVzc1QwRkJUeXhOUVVOeVFpeERRVU5LTEVOQlIwRXNTVUZCU1doQ0xFVkJRVWxuUWl4RlFVRkxMRVZCUldJc1NVRkVRVFZDTEVWQlFVc3NTMEZCU3l4UFFVRlBXU3hEUVVGRExFVkJRMWhhTEVsQlFVOHNTMEZEVmtFc1JVRkJTeXhMUVVGTExFOUJRVThzUlVGQlJWa3NRMEZCUXl4RlFVTjRRaXhIUVVGSldpeEpRVUZQTEVsQlFVMHNRMEZEWWl4TFFVRlBRU3hKUVVGUExFdEJRVkZCTEVsQlFVOHNTMEZCVDBFc1NVRkJUeXhOUVVGUlFTeEpRVUZQTzBGQlFVRXNSMEZEZEVSQkxFVkJRVXNzUzBGQlN5eFBRVUZQTEVWQlFVVlpMRU5CUVVNc1JVRkRlRUpuUWl4RlFVRkxhRUlzUlVGQlNTeERRVU5pTEZOQlExTXNRMEZCUXl4TFFVRkxMR2RDUVVOWUxFVkJRVWNzUTBGRFF5eEpRVUZKTEVWQlFVbG5RaXhGUVVGTExFVkJRMVExUWl4RlFVRkxMRXRCUVVzc1QwRkJUeXhEUVVGRExFVkJRMnhDUVN4SlFVRlBMRTlCUTFCQkxFVkJRVXNzUzBGQlN5eFBRVUZQTEVWQlFVVXNRMEZCUXl4SFFVTjRRaXhKUVVGTmFVTXNSVUZCVnl4RlFVTnFRaXhMUVVGUGFrTXNTVUZCVHl4TFFVTldRU3hGUVVGTExFdEJRVXNzVDBGQlR5eEZRVUZGTEVOQlFVTXNSVUZEZUVJc1IwRkJTVUVzU1VGQlR6dEJRVUZCTEVkQlFWRXNSMEZCU3l4TFFVRkxMRXRCUVU4c1JVRkJTU3hGUVVGSlpTeEZRVUZUYTBJc1JVRkRha1JNTEVWQlFVc3NUVUZGVEN4TlFVTlNMRTlCUVZNc1NVRkZZaXhoUVVGTlRTeEhRVU5PTEUxQlFVRjJRaXhGUVVGUExFdEJRVXNzV1VGQldXbENMRVZCUVVzc1JVRkJSeXhGUVVGSkxFZEJRemRDTEUxQlFVRnFRaXhGUVVGUExFdEJRVXNzWlVGQlpTeEZRVU4wUXl4RFFVTkJMRU5CUVVNc2EwSkJRVzFDTEVOQlEyaENMRWxCUVUxM1FpeEZRVUZUTEV0QlFVc3NWVUZCV1N4RlFVTTFRbXhDTEVWQlFVMHNTMEZCU3l4SlFVRk5MRVZCUTJwQ1RDeEZRVUZKTEV0QlFVc3NTVUZCVFN4RlFVTm1XaXhGUVVOS0xFdEJRVkZCTEVWQlFVc3NTMEZCU3l4UFFVRlBMRVZCUVVWWkxFTkJRVU1zUjBGRGVFSXNSMEZCU1Zvc1NVRkJUeXhKUVVGTExFTkJRMW9zU1VGQlRWVXNSVUZCVHl4TFFVRkxMRTlCUVU5RkxFVkJRVWtzUTBGQlF5eEZRVU01UWl4SFFVRkpZaXhIUVVGUlZ5eERRVUZKTEVkQlFVMTVRaXhIUVVGVmFFTXNSMEZCYlVJc1NVRkJTVThzUTBGQlNTeEZRVU4yUkN4TlFVTktUeXhGUVVGTlRDeERRVU5XTEZOQlExTmlMRWRCUVZGRExFTkJRVVVzUlVGQlJ5eERRVU5zUWl4SlFVRkpWU3hGUVVGUExFdEJRVXNzVDBGQlQwVXNSVUZCU1N4RFFVRkRMRVZCVlRWQ0xFZEJWRWxhTEVsQlFVOHNUMEZEU0ZVc1NVRkJVenRCUVVGQkxFZEJRMVJGTEVkQlFVc3NSVUZEVEZvc1JVRkJTenRCUVVGQkxFVkJRMHhWTEVWQlFVOHNTMEZCU3l4UFFVRlBSU3hGUVVGSkxFTkJRVU1zUjBGSGVFSkxMRVZCUVUxTUxFZEJSVlpHTEVsQlFWTXNTMEZCVVhsQ0xFZEJRVlZvUXl4SFFVRnRRaXhKUVVGSlR5eERRVUZKTEVWQlEzUkVMRTFCUTBvc1IwRkJTVllzU1VGQlR6dEJRVUZCTEVWQlFVMHNRMEZEWWl4SlFVRk5jMElzUlVGQlN5eExRVUZMTEdWQlFXVldMRVZCUVVrc1EwRkJReXhGUVVOd1F5eEhRVUZKVlN4SlFVRlBMRWRCUTFBc1RVRkRTbFlzUlVGQlNTeExRVUZMTEVsQlFVbEJMRVZCUVVkVkxFVkJRVXNzUTBGQlF5eERRVU14UWl4RFFVTktMRXRCUTBzc1EwRkRSQ3hIUVVGSllTeEhRVUZWYUVNc1IwRkJiVUlzU1VGQlNVZ3NRMEZCUlN4RlFVTnVReXhOUVVOS2FVSXNSVUZCVFV3c1EwRkRWaXhEUVVWS0xFMUJRVWtzUTBGQlExb3NSMEZCVFN4RFFVRkRMRXRCUVVzc1RVRkRUaXhMUVVGTExGRkJRVkVzWTBGQll5eEhRVU4wUXl4TlFVRk5hME1zUjBGRFRpeE5RVUZCZGtJc1JVRkJUeXhMUVVGTExGbEJRVmxOTEVWQlFVMHNSVUZCUnl4RlFVRkpMRWRCUXpsQ2EwSXNSVUZCVXl4UFFVRlRMRTFCUXpkQ0xFTkJRMEVzUTBGQlF5eFZRVUZWZEVJc1JVRkJSeXhEUVVOV0xFOUJRVWxCTEVWQlFVa3NSMEZEU2l4TlFVRk5MRXRCUVVzc1QwRkJUeXhQUVVGUExFdEJRVXNzU1VGQlMwRXNRMEZCUXl4RlFVTndReXhMUVVGTExFdEJRVTlCTEVWQlEweEJMRWRCUlVvc1EwRkRXQ3hEUVVOQkxFTkJRVU1zV1VGQldVUXNSVUZCUjNkQ0xFVkJRVmtzUTBGRGVFSXNTVUZCVFZnc1JVRkJTU3hMUVVGTExFOUJRVThzVFVGQlRTeExRVUZMTEVsQlFVdGlMRU5CUVVNc1JVRkRka01zVDBGQlNXRXNSMEZEUVN4TlFVRk5RU3hGUVVOT0xFdEJRVXNzUzBGQlQwRXNSVUZCUlN4UFFVTlFRU3hGUVVGRkxGTkJSVXBYTEVsQlEwd3NTMEZCVFN4SlFVTklMRVZCUTFnc1EwRkRRU3hEUVVGRExHZENRVUZwUWl4RFFVTmtMRTlCUVZFc1MwRkJTeXhQUVVGUExFTkJRVU1zUlVGQlJ5eERRVU53UWl4SlFVRkxMRWxCUTBRc1QwRkJVeXhOUVVGQmVrSXNSVUZCVHl4TFFVRkxMRkZCUVZFc1MwRkRlRUlzVFVGQlFVRXNSVUZCVHl4TFFVRkxMRmRCUVZjc1JVRkJTU3hMUVVNelFpeE5RVUZCUVN4RlFVRlBMRXRCUVVzc1pVRkJaU3hKUVVOd1F5eEpRVUZMTEVsQlEwUXNUMEZCVXl4TlFVRkJRU3hGUVVGUExFdEJRVXNzVlVGQlZVNHNSVUZCWlN4TFFVTjZReXhOUVVGQlRTeEZRVUZQTEV0QlFVc3NWMEZCVnl4RlFVRkpMRXRCUXpOQ0xFMUJRVUZCTEVWQlFVOHNTMEZCU3l4bFFVRmxMRWxCUTNCRExFbEJRVXNzU1VGRFRDeEpRVUZMTEVsQlEwd3NTVUZCU3l4SlFVRkxMRU5CUTA0c1NVRkJUWGRDTEVWQlFWTXNTMEZCU3l4VlFVRlpMRVZCUXpGQ1VpeEZRVUZOTEV0QlFVc3NUMEZCVHl4RFFVRkRMRVZCUTNwQ0xFZEJRVWsxUWl4SFFVRlJORUlzUTBGQlJ5eEhRVUZOVVN4SFFVRlZhRU1zUjBGQmJVSXNTVUZCU1hkQ0xFTkJRVWNzUlVGRGNrUXNUMEZCUzFFc1JVRkZTU3hMUVVGTExGVkJRMVlzUzBGQlN5eFJRVUZWTEVsQlJtWXNTMEZCU3l4WFFVRmhMRXRCUVVzc1dVRkJZeXhIUVVkb1F5eE5RVUZCZUVJc1JVRkJUeXhMUVVGTExGVkJRVlVzUTBGQlF5eExRVU16UWl4TlFVRkJRU3hGUVVGUExFdEJRVXNzVjBGQlZ5eEZRVUZKTEV0QlF6TkNMRTFCUVVGQkxFVkJRVThzUzBGQlN5eGxRVUZsTEVkQlJYaERMRU5CUTBvc1EwRkRRU3hOUVVGUExFVkJRMWdzUTBGRFFTeERRVUZETEZOQlFWVXNRMEZEVUN4SFFVRkpMRXRCUVVzc1QwRkJUeXhEUVVGRExFbEJRVTBzU1VGQlN5eERRVU40UWl4SlFVRkpReXhGUVVGSkxFdEJRVXNzU1VGQlRTeEZRVU5tV2l4RlFVRkxMRXRCUVVzc1QwRkJUMWtzUTBGQlF5eEZRVU4wUWl4TFFVRlBMRU5CUVVOaUxFZEJRVkZETEVOQlFVVXNSMEZCUzBFc1NVRkJUeXhMUVVNeFFrRXNSVUZCU3l4TFFVRkxMRTlCUVU4c1JVRkJSVmtzUTBGQlF5eEZRVU40UWl4UFFVRlBMRTFCUVVGRUxFVkJRVThzUzBGQlN5eFpRVUZaV0N4SlFVRlBMRWxCUVUxWkxFVkJRVWtzUlVGQlNVRXNSVUZCUnl4RlFVRkxMRVZCUTJoRkxFdEJRMHNzUTBGRFJDeEpRVUZKUVN4RlFVRkpMRXRCUVVzc1NVRkJUU3hGUVVObVdpeEZRVUZMTEV0QlFVc3NUMEZCVDFrc1EwRkJReXhGUVVOMFFpeExRVUZQV2l4SFFVTklMRWRCUVVsRkxFZEJRVk1zU1VGQlNVWXNRMEZCUlN4RlFVTm1RU3hGUVVGTExFdEJRVXNzVDBGQlR5eEZRVUZGV1N4RFFVRkRMRlZCUTJaYUxFbEJRVThzUzBGRFdrTXNSMEZCVlN4SlFVRkpMRXRCUVVzc1QwRkJUMWNzUlVGQlNTeERRVUZETEVOQlFVTXNSMEZEYUVOWUxFZEJRVlVzU1VGQlNTeExRVUZMTEU5QlFVOVhMRVZCUVVrc1EwRkJReXhEUVVGRExFVkJRMmhEV2l4RlFVRkxMRXRCUVVzc1QwRkJVVmtzUjBGQlN5eERRVUZGTEUxQlIzcENMRTlCUlZJc1QwRkJUeXhOUVVGQlJDeEZRVUZQTEV0QlFVc3NXVUZCV1VNc1JVRkJSeXhGUVVGTExFVkJRek5ETEVOQlEwb3NRMEZEUVN4RFFVRkRMR0ZCUVdNc1EwRkRXQ3hKUVVGTldpeEZRVUZMTEV0QlFVc3NUMEZCVHl4TFFVRkxMRWRCUVVjc1JVRkRMMElzVDBGQlNVRXNTVUZCVHp0QlFVRkJMRVZCUTBFc1RVRkJRVmNzUlVGQlR5eExRVUZMTEZWQlFWVXNRMEZCUXl4SFFVTjZRbGdzU1VGQlR5eE5RVUZSTEV0QlFVc3NUMEZCVHl4RFFVRkRMRWxCUVUwN1FVRkJRU3hGUVVOb1F5eE5RVUZCVnl4RlFVRlBMRXRCUVVzc1ZVRkJWU3hEUVVGRExFZEJSWFpDTEVOQlEyWXNRMEZEUVN4RFFVRkRMRmRCUVZjd1FpeEZRVUZYTEVOQlEyNUNMRWxCUVVsNlFpeEZRVUZKTEV0QlFVc3NTVUZCVFN4RlFVTm1XaXhGUVVOS0xFZEJRMGxCTEVWQlFVc3NTMEZCU3l4UFFVRlBMRVZCUVVWWkxFTkJRVU1zVVVGRFpsb3NTVUZCVHl4TFFVRlJjVU1zUjBGQllYSkRMRWxCUVU4c1MwRkROVU1zU1VGQlRXRXNSVUZCU1VRc1JVRkJTU3hMUVVGTExFbEJRMjVDTEU5QlFVbERMRVZCUVVrc1NVRkRTaXhOUVVGTkxFdEJRVXNzVDBGQlR5eFBRVUZQTEV0QlFVc3NTVUZCUzBFc1EwRkJReXhGUVVOd1F5eExRVUZMTEVsQlFVMUVMRWRCUlZKRExFTkJRMWdzUTBGRFFTeERRVUZETEZWQlFWVjVRaXhGUVVGTkxFTkJRMklzU1VGQlNURkNMRVZCUVVrc1MwRkJTeXhKUVVOVVdpeEZRVUZMTEV0QlFVc3NUMEZCVDFrc1EwRkJReXhGUVVOMFFpeExRVUZQTEVOQlFVTXdRaXhGUVVGTGRFTXNRMEZCUlN4SFFVTllRU3hGUVVGTExFdEJRVXNzVDBGQlR5eEZRVUZGV1N4RFFVRkRMRVZCUTNoQ0xFOUJRVThzVFVGQlFVUXNSVUZCVHl4TFFVRkxMRmxCUVZsRExFVkJRVWNzUlVGQlN5eEZRVU16UXl4RFFVTktMRVZEY25OQ1FTeEpRVUZOTWtJc1IwRkJUaXhMUVVGclFpeERRVU5rTEdGQlFXTXNRMEZEVml4TFFVRkxMRmRCUVdFc1EwRkJReXhGUVV0dVFpeExRVUZMTEZkQlFXTkRMRWRCUVZjc1MwRkJTeXhYUVVGWExFdEJRVXRCTEVOQlFVMHNSVUZOZWtRc1MwRkJTeXhSUVVGWFFTeEhRVUZYTEVOQlEzWkNMRWxCUVVsRExFVkJRVTBzUlVGRFRrTXNSVUZCVHl4TFFVRkxMRmRCUVZjc1QwRkRNMElzUzBGQlQwUXNSVUZCVFVNc1IwRkJUU3hEUVVObUxFbEJRVTFETEVWQlFVOUdMRVZCUVUxRExFZEJRVk1zUlVGRGVFSXNTMEZCU3l4WFFVRlhReXhEUVVGSExFVkJRVWxJTEVWQlEzWkNReXhGUVVGTlJTeEZRVUZOTEVWQlJWcEVMRVZCUVU5RExFTkJRMllzUTBGRFFTeEhRVUZKTEV0QlFVc3NWMEZCVjBZc1EwRkJSeXhKUVVGTlJDeEZRVU42UWl4TlFVRlBMRU5CUVVVc1MwRkJUVU1zUlVGQlRTeEZRVUZITEVsQlFVc3NRMEZCUlN4RlFVTnVReXhIUVVGSlFTeEpRVUZSTEVWQlExSXNUVUZCVHl4RFFVRkZMRXRCUVUwc1JVRkJSeXhKUVVGTFJDeERRVUZQTEVWQlEyeERMRWxCUVUxSkxFVkJRVkVzUzBGQlN5eFhRVUZYU0N4RlFVRk5MRU5CUVVNc1JVRkRja01zVFVGQlR5eERRVUZGTEV0QlFVMUJMRVZCUVVzc1NVRkJTMFFzUlVGQlUwa3NSVUZCVVN4RFFVRkZMRU5CUTJoRUxFTkJRMG9zUTBGRFNpeEZRMnBEUVN4VFFVRlRReXhIUVVGalF5eEZRVUZOUXl4RlFVRk5MRU5CUXk5Q0xGRkJRVk5ETEVWQlFVa3NSVUZCUjBFc1JVRkJTVVlzUlVGQlN5eFBRVUZSTEVWQlFVVkZMRVZCUXk5Q0xFZEJRVWxHTEVWQlFVdEZMRU5CUVVNc1JVRkJSU3hQUVVGVFJDeEZRVU5xUWl4TlFVRlBMRWRCUTJZc1RVRkJUeXhGUVVOWUxFTkJRMEVzVTBGQlUwVXNSMEZCYTBKSUxFVkJRVTBzUTBGRE4wSXNVVUZCVTBVc1JVRkJTU3hGUVVGSFFTeEZRVUZKUml4RlFVRkxMRTlCUVZFc1JVRkJSVVVzUlVGREwwSXNUMEZCVVVZc1JVRkJTMFVzUTBGQlF5eEZRVUZGTEV0QlFVMHNRMEZEYkVJc1NVRkJTeXhSUVVOTUxFbEJRVXNzVlVGRFRDeEpRVUZMTEZWQlEwUXNUVUZEU2l4UlFVTkpMRTlCUVU5QkxFTkJRMllzUTBGRlNpeE5RVUZQTEVWQlExZ3NRMEZEUVN4VFFVRlRSU3hIUVVGWlF5eEZRVUZQTEVOQlEzaENMRTlCUVZGQkxFZEJRVUVzV1VGQlFVRXNSVUZCVHl4TFFVRk5MRU5CUTJwQ0xFbEJRVXNzVVVGRFRDeEpRVUZMTEZOQlEwd3NTVUZCU3l4MVFrRkRUQ3hKUVVGTExIVkNRVU5NTEVsQlFVc3NhMEpCUTBRc1RVRkJUeXhIUVVOWUxGRkJRMGtzVFVGQlR5eEZRVU5tTEVOQlEwb3NRMEZEUVN4VFFVRlRReXhIUVVGaFF5eEZRVUZSTEVOQmJFTTVRaXhKUVVGQlF5eEZRVzFEU1N4UFFVRlJSQ3hGUVVGUExFdEJRVTBzUTBGRGFrSXNTVUZCU3l4WFFVTkVMRTlCUVU5QkxFVkJRVThzVFVGRGJFSXNTVUZCU3l4WlFVRmhMRU5CUTJRc1NVRkJUVVVzUlVGQlMwWXNSVUZCVHl4TlFVRk5RU3hGUVVGUExFMUJRVTBzVDBGQlV5eERRVUZETEVWQlF5OURMRTlCUVU5RExFVkJRVUZETEVWQlFVY3NUVUZCU0N4TFFVRkJSQ3hGUVVGVlF5eEZRVUZITEV0QlEzaENMRU5CUTBFc1NVRkJTeXhaUVVORUxFOUJRVTlHTEVWQlFVOHNUVUZCVFVFc1JVRkJUeXhOUVVGTkxFOUJRVk1zUTBGQlF5eEZRVUZGTEUxQlJXcEVMRkZCUTBrc1RVRkJUeXhEUVVGRExFTkJRMmhDTEVOQlEwb3NRMEZGUVN4VFFVRlRSeXhIUVVGelFrTXNSVUZCVFN4RFFXeEVja01zU1VGQlFVZ3NSVUZ0UkVrc1IwRkJTVWNzUlVGQlN5eFRRVUZYTEVWQlEyaENMRTFCUVU4c1EwRkJReXhGUVVOYUxFbEJRVWxVTEVWQlFVbFRMRVZCUVVzc1QwRkRZa01zUlVGQlRTeExRVUZQTEVWQlFVVldMRWRCUVVzc1IwRkRhRUlzVDBGQlVWTXNSVUZCUzFRc1EwRkJReXhGUVVGRkxFdEJRVTBzUTBGRGJFSXNTVUZCU3l4WlFVTk1MRWxCUVVzc2JVSkJRMHdzU1VGQlN5eG5Ra0ZEVEN4SlFVRkxMR1ZCUTB3c1NVRkJTeXhWUVVORUxFMUJRVTFWTEVOQlEyUXNRMEZGU2l4UFFVRlBTaXhGUVVGQlJ5eEZRVUZMTEVWQlFVVlVMRU5CUVVNc1NVRkJVaXhaUVVGQlRTeEZRVUZYTEZGQlFWTXNVMEZCVXl4RFFVZHdReXhQUVVGUFJ5eEZRVUZMTEU5QlFVOVVMRVZCUVVkVExFVkJRVXNzVFVGQlRTeERRVU55UXl4RFFVTkJMRk5CUVZORkxFZEJRV2RDUXl4RlFVRkpMRU5CUTNwQ0xFZEJRVWxCTEVWQlFVY3NUVUZCVFN4UFFVRlRMR2xDUVVOc1FpeFJRVUZYVEN4TFFVRk5TeXhGUVVGSExFMUJRMXBNTEVWQlFVY3NTMEZEU0N4RFFVRkRRU3hGUVVGSExFOUJRMG9zUTBGQlExWXNSMEZCWTFVc1JVRkJSeXhOUVVGUExHdENRVUZyUWl4SFFVTXpReXhEUVVGRFZpeEhRVUZqVlN4RlFVRkhMRWxCUVVzc1pVRkJaU3hKUVVOc1EwRXNSVUZCUnl4TlFVTklRU3hGUVVGSExFMUJRVkZCTEVWQlFVY3NTMEZEYkVJc1QwRkJUMEVzUlVGQlJ5eEpRVU5PVEN4SFFVRlpTeXhGUVVGSExFdEJRVXNzUlVGRGFFSkJMRVZCUVVjc1RVRkJUU3hKUVVOVUxFMUJRVTBzVlVGQlZTeExRVUZMTEUxQlFVMUJMRVZCUVVjc1RVRkJUU3hKUVVGTFFTeEZRVUZITEVkQlFVY3NSVUZGTDBOQkxFVkJRVWNzVFVGQlRTeEpRVUZOUVN4RlFVRkhMRWxCUjNSQ0xFMUJRVTBzVlVGQlZTeExRVUZMTEUxQlFVMUJMRVZCUVVjc1RVRkJUMEVzUlVGQlJ5eEhRVUZITEVWQlF5OURMRTlCUVU5QkxFVkJRVWNzU1VGSk1VSXNRMEUwUWtFc1NVRkJUVTBzUjBGQlRpeExRVUZoTEVOQlMxUXNXVUZCV1VNc1JVRkJWeXhEUVVWdVFpeExRVUZMTEZWQlFWa3NSMEZGYWtJc1MwRkJTeXhUUVVGWExFZEJSV2hDTEV0QlFVc3NUMEZCVXl4RlFVVmtMRXRCUVVzc1QwRkJVeXhGUVVWa0xFdEJRVXNzVlVGQldTeEhRVVZxUWl4TFFVRkxMRTFCUVZFc1EwRkJReXhGUVVWa0xFdEJRVXNzVDBGQlV5eEhRVVZrTEV0QlFVc3NTMEZCVHl4SFFVVmFMRXRCUVVzc1RVRkJVU3hKUVVGSlF5eEhRVU5xUWl4TFFVRkxMRlZCUVZsRUxFTkJRM0pDTEVOQlUwRXNRMEZCUXl4TlFVRk5SU3hGUVVGUlF5eEZRVUZoTEVkQlFVOHNRMEZETTBJc1MwRkJTeXhYUVVGaExFdEJRVXNzVTBGQlZ5eEhRVU5zUXl4TFFVRkxMRlZCUVZVc1EwRkJReXhGUVVOd1FpeFJRVUZYUXl4TFFVRlZMRXRCUVVzc1RVRkJUU3hKUVVGSlJpeEZRVUZSUXl4RFFVRlZMRVZCUTJ4RUxFMUJRVUZGTEVWQlFVOHNTMEZCU3l4TFFVRkxSQ3hEUVVGTkxFZEJRM1JDUkN4SlFVTkVMRTFCUVVGRkxFVkJRVThzUzBGQlN5eEpRVUZKTEVkQlEzaENMRU5CU1VFc1EwRkJReXhMUVVGTFNDeEZRVUZSTEVOQlJWWXNSMEZFUVN4TFFVRkxMRTlCUVZOQkxFVkJRMVlzUzBGQlN5eFRRVUZWTEVOQlEyWXNTMEZCU3l4VFFVRlhMRWRCUTJoQ0xFMUJRVUZITEVWQlFVOHNTMEZCU3l4TFFVRkxMRWRCUTJwQ0xFdEJRVXNzVVVGQlZVZ3NSVUZCVHl4UFFVTjBRaXhOUVVOS0xFTkJRMEVzU1VGQlRXcENMRVZCUVU5eFFpeEhRVUZWU2l4RFFVRk5MRVZCUXpkQ0xFZEJRVXRxUWl4RlFVdEJMRWRCUVVsQkxFbEJRVk1zVTBGRFpDeExRVUZMTEZWQlFWa3NSMEZEYWtJc1MwRkJTeXhUUVVGWExFZEJRMmhDTEV0QlFVc3NTMEZCVHl4aFFVVllMRU5CUjBRc1QwRkdRU3hMUVVGTExFdEJRVTlCTEVWQlExb3NUVUZCUVc5Q0xFVkJRVThzUzBGQlN5eExRVUZMTEVkQlExUndRaXhGUVVGTkxFTkJRMVlzU1VGQlN5eFZRVU5FTEV0QlFVc3NWVUZCV1N4SFFVTnFRaXhMUVVGTExFOUJRVk1zUlVGRFZpeExRVUZMTEZkQlEwd3NTMEZCU3l4VlFVRlZMRXRCUVVzc1QwRkJVMmxDTEVWQlFVOHNUVUZCVFN4RlFVTTVReXhOUVVOS0xFbEJRVXNzVVVGRFJ5eExRVUZMTEZkQlFXRkJMRVZCUVU4c1EwRkJReXhKUVVGTkxFMUJRMmhETEV0QlFVc3NVVUZCVlVFc1JVRkJUeXhSUVVNeFFpeE5RVU5LTEVsQlFVc3NiVUpCUTB3c1NVRkJTeXhuUWtGRFRDeEpRVUZMTEdWQlEwY3NTMEZCU3l4WlFVTk1MRXRCUVVzc1VVRkJWVUVzUlVGQlR5eFJRVU14UWl4TlFVTktMRWxCUVVzc1YwRkRUQ3hKUVVGTExHbENRVU5FTEU5QlEwb3NVVUZEU1N4TFFVRkxMRlZCUVZrc1JVRkRla0lzUTBGRFFTeExRVUZMTEZGQlFWVkJMRVZCUVU4c1RVRkRNVUlzUzBGeVExY3NRMEZEVUN4SlFVRk5TeXhGUVVGVkxIRkNRVUZ4UWt3c1EwRkJUU3hIUVVNelF5eE5RVUZCUnl4RlFVRlBMRXRCUVVzc1NVRkJTU3hEUVVGRkxFdEJRVTBzVVVGQlV5eFBRVUZSTEV0QlFVc3NUMEZCVVN4UlFVRkJSU3hGUVVGVExFOUJRVUZNTEVOQlFVOHNRMEZCUXl4SFFVTjJSU3hMUVVGTExGRkJRVlZCTEVWQlFVOHNUVUZETVVJc1EwRnJRMG9zUTBGRlFTeERRVUZETEV0QlFVMHNRMEZEU0N4TFFVRlBMRXRCUVVzc1RVRkJUU3hQUVVGVExFZEJRM1pDTEUxQlFVRkhMRVZCUVU4c1MwRkJTeXhKUVVGSkxFVkJRM2hDTEVOQlEwRXNTVUZCU1N4aFFVRmpMRU5CVDJRc1RVRk9WeXhEUVVOUUxFdEJRVTBzUzBGQlN5eExRVU5ZTEU5QlFWRXNTMEZCU3l4UFFVTmlMRTlCUVZFc1MwRkJTeXhQUVVOaUxFOUJRVkVzUzBGQlN5eE5RVU5xUWl4RFFVVktMRU5CUTBFc1EwRkJReXhOUVVGUExFTkJRMG9zU1VGQlRVY3NSVUZCVFN4TFFVRkxMRXRCUVVzc1EwRkJReXhGUVVOMlFpeEhRVUZKTEV0QlFVc3NUMEZCVXl4WlFVRmpMRU5CUVVOQkxFZEJRVTlCTEVWQlFVa3NUMEZCVXl4WFFVRlpMRU5CUXpkRUxFdEJRVThzUzBGQlN5eE5RVUZOTEU5QlFWTXNSMEZEZGtJc1RVRkJRVWdzUlVGQlR5eExRVUZMTEVsQlFVa3NSMEZEY0VJc1MwRkJTeXhOUVVGTkxFdEJRVXNzUTBGRFdpeExRVUZOTEZWQlEwNHNUMEZCVVN4TFFVRkxMRTlCUTJJc1QwRkJVU3hMUVVGTExFMUJRMnBDTEVOQlFVTXNSVUZEUkN4TlFVTktMRU5CUTBFc1IwRkJTU3hEUVVGRFJ5eEZRVU5FTEU5QlFVOHNUVUZCUVVnc1JVRkJUeXhMUVVGTExFOUJRVThzUjBGRE9VSXNUMEZCVVVjc1JVRkJTU3hMUVVGTkxFTkJRMlFzU1VGQlN5eFhRVU5FTEU5QlFVOHNUVUZCUVVnc1JVRkJUeXhMUVVGTExGTkJRVk5ITEVOQlFVY3NSMEZEYmtNc1NVRkJTeXhSUVVOTUxFbEJRVXNzVTBGRFRDeEpRVUZMTEhWQ1FVTk1MRWxCUVVzc2RVSkJRMFFzVDBGQlR5eE5RVUZCU0N4RlFVRlBMRXRCUVVzc1QwRkJUMGNzUTBGQlJ5eEhRVU5xUXl4SlFVRkxMR1ZCUTBRc1QwRkJUeXhOUVVGQlNDeEZRVUZQTEV0QlFVc3NXVUZCV1Vjc1EwRkJSeXhIUVVOMFF5eEpRVUZMTEZsQlEwUXNUMEZCVHl4TlFVRkJTQ3hGUVVGUExFdEJRVXNzVTBGQlUwY3NRMEZCUnl4SFFVTnVReXhKUVVGTExGbEJRMFFzVDBGQlR5eE5RVUZCU0N4RlFVRlBMRXRCUVVzc1kwRkJZMGNzUTBGQlJ5eEhRVU40UXl4SlFVRkxMR3RDUVVORUxFOUJRVThzVFVGQlFVZ3NSVUZCVHl4TFFVRkxMR1ZCUVdWSExFTkJRVWNzUjBGRGVrTXNTVUZCU3l4VlFVTkVMRTlCUVU4c1RVRkJRVWdzUlVGQlR5eExRVUZMTEZsQlFWbEhMRU5CUVVjc1JVRkRNVU1zUTBGRlFTeE5RVUZCU0N4RlFVRlBMRXRCUVVzc1NVRkJTU3hGUVVOd1FpeERRVU5CTEV0QlFVdEpMRVZCUVVjc1EwRkRTaXhQUVVGUExFdEJRVXNzVFVGQlRTeExRVUZMTEUxQlFVMHNUMEZCVTBFc1EwRkJReXhEUVVNelF5eERRVU5CTEVOQlFVTXNTVUZCU1VNc1JVRkJUeXhEUVVOU0xFbEJRVTF5UWl4RlFVRlJjVUlzUjBGQlFTeExRVUZCUVN4RlFVRlRMRXRCUVVzc1RVRkJUU3hKUVVGSkxFVkJSWFJETEVkQlFVa3NRMEZCUTNKQ0xFVkJSVVFzUzBGQlRTeERRVUZGTEV0QlFVMHNVVUZCVXl4UFFVRlJMRXRCUVVzc1QwRkJVU3hQUVVGUkxFZEJRVWtzVVVGRWVFTXNOa0pCUTJkRUxGVkJSVE5FTEV0QlFVc3NUVUZCVFN4VFFVRlhMRVZCUXpOQ0xFMUJRVTFCTEUxQlJVd3NRMEZEUkN4SlFVRk5iVUlzUlVGQlRTeExRVUZMTEV0QlFVc3NRMEZCUXl4RlFWZDJRaXhQUVZaSmJrSXNSVUZCVFN4UFFVRlRMR1ZCUldaQkxFVkJRVTBzVDBGQlV5eFhRVUZaYlVJc1JVRkJUVUVzUlVGQlNTeFBRVUZUTEVWQlJYcERia0lzUlVGQlRTeFBRVUZUTEcxQ1FVRnhRbTFDTEVWQlFVa3NUMEZCVXl4aFFVVjBSRzVDTEVWQlFVMHNUMEZCVXl4SFFVVm1RU3hGUVVGTkxFOUJRVk1zYlVKQlEyWlJMRWRCUVdkQ1VpeERRVUZMTEVWQlEycENiVUlzUlVGQlNTeExRVUZOTEVOQlEyUXNTVUZCU3l4WFFVTkVRU3hGUVVGSkxFMUJRVkZ1UWl4RlFVTmFMRTFCUTBvc1NVRkJTeXhsUVVORWJVSXNSVUZCU1N4TlFVRk5MRXRCUVV0dVFpeERRVUZMTEVWQlEzQkNMRTFCUTBvc1NVRkJTeXhaUVVGaExFTkJRMlFzU1VGQlRVa3NSVUZCUzJVc1JVRkJTU3hOUVVGTlFTeEZRVUZKTEUxQlFVMHNUMEZCVXl4RFFVRkRMRVZCUTNwRExFZEJRVWxtTEVWQlFVY3NUVUZCVHl4RFFVTldaU3hGUVVGSkxFMUJRVTBzUzBGQlN5eERRVUZGTEUxQlFVOHNRMEZCUXl4RlFVRkhMRWxCUVV0dVFpeEZRVUZQTEVsQlFVc3NRMEZCUXl4RFFVRkZMRU5CUVVNc1JVRkRha1FzUzBGQlN5eFZRVUZaTEVkQlEycENMRTFCUTBvc1UwRkRVMGtzUlVGQlJ5eEpRVU5TUVN4RlFVRkhMRTFCUVZGS0xFMUJSVllzUTBGRFJDeFBRVUZQTEU5QlFVOUpMRVZCUVVrc1EwRkJSU3hKUVVGTFNpeEZRVUZQTEVsQlFVc3NRMEZCUXl4RFFVRkZMRU5CUVVNc1JVRkRla01zUzBGQlN5eFZRVUZaTEVOQlFVTkpMRVZCUVVjc1dVRkRja0lzVFVGRFNpeERRVU5CTEV0QlEwb3NRMEZEUVN4SlFVRkxMRmxCUVdFc1EwRkRaQ3hKUVVGTlFTeEZRVUZMWlN4RlFVRkpMRTFCUVUxQkxFVkJRVWtzVFVGQlRTeFBRVUZUTEVOQlFVTXNSVUZEY2tObUxFVkJRVWNzVFVGRFNHVXNSVUZCU1N4TlFVRk5MRXRCUVVzc1EwRkJSU3hOUVVGUExFTkJRVU1zUlVGQlJ5eE5RVUZQYmtJc1EwRkJUU3hEUVVGRExFVkJSVEZEU1N4RlFVRkhMRTFCUVZGS0xFVkJRMllzUzBGRFNpeERRVU5CTEVsQlFVc3NhMEpCUVcxQ0xFTkJRM0JDTEVsQlFVMUpMRVZCUVV0bExFVkJRVWtzVFVGQlRVRXNSVUZCU1N4TlFVRk5MRTlCUVZNc1EwRkJReXhGUVVOeVF5eERRVUZEWml4SFFVRk5RU3hGUVVGSExFMUJRMVpsTEVWQlFVa3NUVUZCVFN4TFFVRkxMRU5CUVVVc1RVRkJUeXhEUVVGRExFVkJRVWNzU1VGQlMyNUNMRVZCUVU4c1NVRkJTeXhEUVVGRExFTkJRVVVzUTBGQlF5eEZRVU0xUTBrc1JVRkJSeXhKUVVOU1FTeEZRVUZITEUxQlFWRktMRVZCUlZnc1QwRkJUeXhQUVVGUFNTeEZRVUZKTEVOQlFVVXNTVUZCUzBvc1JVRkJUeXhKUVVGTExFTkJRVU1zUTBGQlJTeERRVUZETEVWQlF6ZERMRTFCUTBvc1EwRkZRU3hSUVVOSkxFMUJRVUZuUWl4RlFVRlBMRXRCUVVzc1NVRkJTU3hIUVVOb1FpeE5RVUZCUVN4RlFVRlBMRXRCUVVzc1NVRkJTV2hDTEVOQlFVc3NSVUZETjBJc1EwRkRRU3hKUVVGTGJVSXNSVUZCU1N4UFFVRlRMRmxCUTJSQkxFVkJRVWtzVDBGQlV5eGhRVU5pUVN4RlFVRkpMRTlCUVZNc1pVRkRXbTVDTEVWQlFVMHNUMEZCVXl4aFFVRmxRU3hGUVVGTkxFOUJRVk1zWVVGQll5eERRVU0xUkN4SlFVRk5jMElzUlVGQlQzUkNMRVZCUVUwc1RVRkJUVUVzUlVGQlRTeE5RVUZOTEU5QlFWTXNRMEZCUXl4RlFVTXpRM05DTEVkQlEwRXNRMEZCUTBFc1JVRkJTeXhMUVVOT0xFTkJRVU5CTEVWQlFVc3NUMEZEVGtFc1JVRkJTeXhOUVVGTkxFOUJRVk1zUjBGRGNFSjRRaXhIUVVGclFuZENMRVZCUVVzc1MwRkJTeXhKUVVGTkxFdEJRMnBEZEVJc1JVRkJUU3hUUVVGWExFZEJRMlJ6UWl4RlFVRkxMRTFCUVUwc1RVRkJUVU1zUjBGQlRVRXNSVUZCUnl4UFFVRlRMRmRCUVdGQkxFVkJRVWNzVDBGQlUzWkNMRVZCUVUwc1RVRkJUU3hMUVVONFJXMUNMRVZCUVVrc1QwRkJVeXhYUVVOaVFTeEZRVUZKTEVsQlFVMUhMRVZCUVVzc1RVRkZaa2dzUlVGQlNTeE5RVUZOTEV0QlFVc3NRMEZCUlN4TlFVRlBSeXhGUVVGTExFdEJRVTBzUTBGQlF5eEZRVU40UTNSQ0xFVkJRVTBzVFVGQlRTeFBRVUZQTEVkQlFVa3NRMEZCUXl4RlFVVm9ReXhEUVVOS0xFTkJRMG9zUTBGRFFTeERRVUZETEZGQlFWTXNRMEZEVGl4UFFVRlJMRXRCUVVzc1MwRkJUU3hEUVVObUxFbEJRVXNzYVVKQlEwUXNTMEZCVFN4RFFVRkZMRXRCUVUwc1dVRkJZU3hQUVVGUkxFdEJRVXNzVDBGQlVTeFBRVUZSTEV0QlFVc3NUVUZCVHl4RlFVTndSU3hQUVVOS0xFbEJRVXNzYTBKQlEwd3NTVUZCU3l4UlFVTk1MRWxCUVVzc1ZVRkRUQ3hKUVVGTExGVkJRMFFzVFVGQlRTeExRVUZMTEZsQlExZ3NUMEZEU2l4SlFVRkxMRmRCUTB3c1NVRkJTeXhaUVVGaExFTkJRMlFzU1VGQlRYZENMRVZCUVUwc1EwRkRVaXhMUVVGTkxGZEJRMDRzVDBGQlVTeExRVUZMTEU5QlEySXNUVUZCVHl4RFFVRkRMRU5CUTFvc1JVRkRTU3hMUVVGTExFOUJRVk1zWVVGRFpFRXNSVUZCU1N4TlFVRk5MRXRCUVVzc1MwRkJTeXhYUVVGWExFVkJRMjVETEV0QlFVc3NUVUZCVFN4TFFVRkxRU3hEUVVGSExFVkJRMjVDTEUxQlEwb3NRMEZEU2l4RFFVTkJMRXRCUVUwc1EwRkRSaXhMUVVGTkxGRkJRMDRzVDBGQlVTeExRVUZMTEU5QlEySXNVVUZCVXl4alFVRmpMRXRCUVVzc1NVRkJTU3gzUWtGRGFFTXNUMEZCVVN4TFFVRkxMRTFCUTJwQ0xFTkJRMG9zUTBGRFFTeERRVUZETEZOQlFWTkJMRVZCUVVzc1EwRkRXQ3hIUVVGSlFTeEZRVUZKTEUxQlEwb3NUMEZCVHl4TlFVRkJVaXhGUVVGUExFdEJRVXNzVVVGQlVWRXNRMEZCUnl4SFFVTnNReXhQUVVGUkxFdEJRVXNzUzBGQlRTeERRVU5tTEVsQlFVc3NXVUZCWVN4RFFVTldNVUlzUjBGQmEwSXdRaXhGUVVGSkxFdEJRVXNzU1VGQlRTeEpRVU5xUXl4TlFVRkJVaXhGUVVGUExFdEJRVXNzU1VGQlNTeEhRVU5vUWl4TlFVRkJRU3hGUVVGUExFdEJRVXNzUzBGQlN5eEpRVWRxUWxFc1JVRkJTU3hOUVVGTkxFdEJRVXNzUzBGQlN5eFhRVUZYTEVWQlEyNURMRTFCUTBvc1EwRkRRU3hKUVVGTExGTkJRMHdzU1VGQlN5eE5RVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhWUVVORVFTeEZRVUZKTEUxQlFVMHNTMEZCU3l4TFFVRkxMRmRCUVZjc1JVRkRMMElzVFVGRFVpeERRVU5CTEVsQlFVMURMRVZCUVVzc1MwRkJTeXhuUWtGQlowSkVMRU5CUVVjc1JVRkRMMEpETEVWQlEwRXNTMEZCU3l4TlFVRk5MRXRCUVV0QkxFTkJRVVVzUlVGRmJFSXNTMEZCVFN4RFFVTkdMRXRCUVUwc1VVRkRUaXhQUVVGUkxFdEJRVXNzVDBGRFlpeFJRVUZUTEdOQlFXTXNTMEZCU3l4SlFVRkpMREJDUVVOb1F5eFBRVUZSTEV0QlFVc3NUVUZEYWtJc1EwRkZVaXhEUVVOQkxFTkJRVU1zVDBGQlQwTXNSVUZCVVN4RFFVTmFMRWRCUVVrc1MwRkJTeXhQUVVGVExHZENRVUZwUWl4RFFVTXZRaXhKUVVGTmNFSXNSVUZCVDB3c1IwRkJZU3hMUVVGTExFdEJRVXNzUTBGQlF5eERRVUZETEVWQlEyaERNRUlzUlVGQlVYUkNMRWRCUVhOQ1F5eERRVUZKTEVWQlEzQkRjMElzUlVGRFFVWXNSVUZCVHl4TFFVTlFSU3hGUVVGTlJpeEZRVUZQTEVsQlEySkZMRVZCUVVrc1MwRkJTeXhMUVVGTExGZEJRVmNzUlVGRGVrSXNUMEZCVDBZc1JVRkJUeXhMUVVka1JTeEZRVUZOTEVOQlFVTXNTMEZCU3l4WFFVRlhMRVZCUXpOQ0xFbEJRVTFETEVWQlFVMHNRMEZEVWl4TFFVRk5MRmxCUTA0c1QwRkJVVWdzUlVGQlR5eFBRVU5tTEU5QlFWRkJMRVZCUVU4c1QwRkRaaXhOUVVGUExFTkJRVU1zUTBGQlJTeE5RVUZCUXl4RlFVRlBMRWxCUVV0RUxFVkJRVkVzU1VGQlFVVXNRMEZCU1N4RFFVRkRMRU5CUTNaRExFVkJRMEVzUzBGQlN5eFZRVUZaTEVkQlEycENMRXRCUVVzc1RVRkJUU3hMUVVGTExFMUJRVTBzVDBGQlV5eERRVUZETEVWQlFVbERMRU5CUTNoRExFMUJSVWtzVFVGQlFXSXNSVUZCVHl4TFFVRkxMRkZCUVZGVkxFTkJRVTBzUlVGRGJFTXNRMEZEUVN4RFFVRkRMRmxCUVZsQkxFVkJRVkVzUTBGRGFrSXNUMEZCVVN4TFFVRkxMRXRCUVUwc1EwRkRaaXhKUVVGTExGRkJRMHdzU1VGQlN5eFZRVU5NTEVsQlFVc3NWVUZEUkVFc1JVRkJUeXhOUVVGTkxFdEJRVXNzUzBGQlN5eFhRVUZYTEVWQlEyeERMRTlCUTBvc1NVRkJTeXhUUVV0RUxFZEJTa0ZCTEVWQlFVOHNUMEZCVXl4TFFVRkxMRTlCUlhKQ0xFdEJRVXNzVlVGQldTeEhRVU5xUWl4TFFVRkxMRTlCUVZNc1JVRkRWaXhMUVVGTExGVkJRVmNzUTBGRGFFSXNTVUZCU1Vrc1JVRkJTeXhMUVVGTExFOUJRVThzVVVGQlVUdEJRVUZCTEVOQlFVa3NSVUZCU1N4RlFVTnlReXhMUVVGUFFTeEpRVUZQTEVkQlExWXNTMEZCU3l4VlFVRlZMRXRCUVVzc1QwRkJVMEVzUTBGQlJTeEZRVU12UWtFc1JVRkJTeXhMUVVGTExFOUJRVThzVVVGQlVUdEJRVUZCTEVWQlFVMUJMRU5CUVVVc1JVRkJTU3hEUVVVM1F5eERRVU5CTEUxQlFVRmtMRVZCUVU4c1MwRkJTeXhKUVVGSkxFZEJRMmhDTEUxQlJVb3NVVUZEU1N4TlFVRkJRU3hGUVVGUExFdEJRVXNzU1VGQlNTeEhRVU5vUWl4TlFVRkJRU3hGUVVGUExFdEJRVXNzUzBGQlN5eEZRVU42UWl4RFFVTktMRU5CUTBFc1EwRkJReXhUUVVGVFlTeEZRVUZMTEVOQmRHUnVRaXhKUVVGQk1VSXNSVUYxWkZFc1NVRkJUVU1zUlVGQlMzbENMRVZCUVVrc1RVRkJUVUVzUlVGQlNTeE5RVUZOTEU5QlFWTXNRMEZCUXl4RlFVVjZReXhQUVVGUkxFdEJRVXNzUzBGQlRTeERRVU5tTEVsQlFVc3NWVUZGUkN4SFFVUkJMRXRCUVVzc1ZVRkJXU3hIUVVOaWVrSXNSVUZCUnl4TlFVRlBMRU5CUTFZc1NVRkJUVEpDTEVWQlFVMHNVVUZCVXpOQ0xFVkJRVWNzVFVGQlVVRXNSVUZCUnl4TlFVRk5MRWxCUVUwc1QwRkRla05yUWl4RlFVRlBMRTFCUVUwc1VVRkJVVk1zUTBGQlJ5eEZRVUZKUVN4RlFVRkpRU3hGUVVGSkxFOUJRVk1zUTBGQlF5eEZRVUZKTEZGQlEzQkVWQ3hIUVVGQkxGbEJRVUZCTEVWQlFVMHNVVUZCVXl4VlFVTm1VeXhIUVVGQkxFMUJRVUZCTEVWQlFVc3NTMEZCU3l4TFFVRkxMR0ZCUldaR0xFVkJRVWtzVFVGQlRTeExRVUZMTEVOQlFVVXNUVUZCVHl4RFFVRkRMRXRCUVVzc1YwRkJWeXhEUVVGRkxFTkJRVU1zUTBGRGNFUXNUVUZEVTNwQ0xFVkJRVWNzU1VGRFVrRXNSVUZCUnl4SlFVRkpMRXRCUVVzc1MwRkJTeXhYUVVGWExFVkJSelZDUVN4RlFVRkhMRTFCUVUwc1MwRkJTeXhMUVVGTExGZEJRVmNzUlVGRmJFTXNUMEZEU2l4SlFVRkxMRkZCUTB3c1NVRkJTeXhWUVVORUxFZEJRVWxCTEVWQlFVY3NUVUZEU0hsQ0xFVkJRVWtzVFVGQlRTeExRVUZMTEVOQlFVVXNUVUZCVHl4RFFVRkRMRXRCUVVzc1YwRkJWeXhEUVVGRkxFTkJRVU1zVlVGRmRrTjZRaXhGUVVGSExFbEJRMUpCTEVWQlFVY3NTVUZCU1N4TFFVRkxMRXRCUVVzc1YwRkJWeXhOUVVVelFpeERRVU5FTEVkQlFVa3NTMEZCU3l4clFrRkJhMEpCTEVWQlFVY3NUVUZCVDNsQ0xFVkJRVWtzVFVGQlRTeEZRVUZITEVOQlF6bERMRWxCUVUxMlFpeEZRVUZQZFVJc1JVRkJTU3hOUVVGTlFTeEZRVUZKTEUxQlFVMHNUMEZCVXl4RFFVRkRMRVZCUTNKRFJTeEhRVUZOTlVJc1JVRkJRVWNzUjBGQlFTeFpRVUZCUVN4RlFVRk5MRkZCUVU0c1dVRkJRVWdzUlVGQllTeEpRVU42UWl4SFFVRkpMRTFCUVUwc1VVRkJVVFJDTEVOQlFVY3NSVUZCUnl4RFFVTndRaXhOUVVGTkxGVkJRVlVzUzBGQlN5eE5RVUZOUVN4RlFVRkxNMElzUlVGQlJ5eExRVUZMTEVWQlEzaERNa0lzUlVGQlNTeExRVUZMTEV0QlFVc3NWMEZCVnl4RlFVTjZRa1lzUlVGQlNTeE5RVUZOTEVsQlFVa3NSVUZEWkN4TlFVTktMRU5CUTBvc1EwRkRRWHBDTEVWQlFVY3NUVUZCVFN4TFFVRkxMRXRCUVVzc1YwRkJWeXhEUVVOc1F5eERRVU5CTEUxQlExSXNRMEZEUVN4SFFVRkpMRXRCUVVzc1VVRkJWWGxDTEVWQlFVa3NUMEZCVVN4RFFVTXpRaXhKUVVGTlJ5eEZRVUZqTEVOQlFVTXNTMEZCU3l4WFFVRmhMRXRCUVVzc1UwRkJWMGdzUlVGQlNTeFBRVU55UkVrc1JVRkJZVVFzU1VGRFpEVkNMRVZCUVVjc1MwRkJUMEVzUlVGQlJ5eGpRVU5rTEV0QlFVc3NUMEZCVXl4bFFVVmtkVUlzUlVGQlVTeERRVUZETEVWQlEySXNSMEZCU1Uwc1IwRkJZemRDTEVWQlFVY3NTMEZCVHl4RFFVRkRRU3hGUVVGSExFMUJRVThzUTBGRGJrTXNTVUZCVFRCQ0xFVkJRVXNzUTBGQlF5eEZRVU5hTEZGQlFWTnFReXhGUVVGSkxFVkJRVWRCTEVWQlFVbFBMRVZCUVVjc1NVRkJTU3hQUVVGUkxFVkJRVVZRTEVWQlFVY3NRMEZEY0VNc1NVRkJUVEJDTEVWQlFVdHVRaXhGUVVGSExFbEJRVWxRTEVOQlFVTXNSVUZEYmtJc1QwRkJVVEJDTEVWQlFVY3NTMEZCVFN4RFFVTmlMRWxCUVVzc1ZVRkRSRThzUlVGQlJ5eExRVUZMYWtNc1EwRkJReXhGUVVOVUxFMUJRMG9zU1VGQlN5eFJRVU5FTEUxQlEwb3NTVUZCU3l4VlFVTkhNRUlzUlVGQlJ5eFBRVUZUVFN4RlFVRkpMRk5CUTJoQ1F5eEZRVUZITEU5QlFWTXNSMEZEYUVJc1RVRkRTaXhSUVVOSlFTeEZRVUZITEU5QlFWTXNRMEZEY0VJc1EwRkRTaXhEUVVOSlFTeEZRVUZITEZGQlFWVXNTVUZEWWtnc1JVRkJVWFpDTEVWQlFVY3NTVUZCU1N4UFFVRlBNRUlzUlVGQlJ5eERRVUZETEVOQlFVTXNSVUZEYmtNc1EwRkRRU3hQUVVGUkxFdEJRVXNzUzBGQlRTeERRVU5tTEVsQlFVc3NVMEZEVEN4SlFVRkxMRTFCUTBkSExFZEJRV00zUWl4RlFVRkhMRTlCUTJwQ2RVSXNSVUZCVFN4TFFVRkxMRXRCUVVzc1YwRkJWeXhGUVVNelFrVXNSVUZCU1N4TlFVRk5MRXRCUVVzc1EwRkJSU3hOUVVGQlJpeERRVUZOTEVOQlFVTXNSVUZEZUVJc1MwRkJTeXhWUVVGWkxFbEJSVnAyUWl4RlFVRkhMRWxCUTFKQkxFVkJRVWNzU1VGQlNTeExRVUZMTEV0QlFVc3NWMEZCVnl4RlFVYzFRa0VzUlVGQlJ5eE5RVUZOTEV0QlFVc3NTMEZCU3l4WFFVRlhMRVZCUld4RExFOUJRMG9zU1VGQlN5eHRRa0ZEUnl4RFFVRkRRU3hGUVVGSExFdEJRVThzUTBGQlEwRXNSVUZCUnl4aFFVTm1RU3hGUVVGSExFMUJRVTBzUzBGQlN5eExRVUZMTEZkQlFWY3NSVUZET1VKQkxFVkJRVWNzV1VGQll5eEpRVVZhTmtJc1IwRkJZemRDTEVWQlFVY3NUMEZEZEVKMVFpeEZRVUZOTEV0QlFVc3NTMEZCU3l4WFFVRlhMRVZCUXpOQ1JTeEZRVUZKTEUxQlFVMHNTMEZCU3l4RFFVRkZMRTFCUVVGR0xFVkJRVThzV1VGQllTeEZRVUZMTEVOQlFVTXNSMEZITTBNc1MwRkJTeXhOUVVGTkxFdEJRVXNzUTBGRFdpeExRVUZOTEZsQlEwNHNUMEZCVVN4TFFVRkxMRTlCUTJJc1QwRkJVU3hMUVVGTExFOUJRMklzVFVGQlR5eERRVUZETEVOQlFVVXNUVUZCVHl4RFFVRkRMRXRCUVVzc1YwRkJWeXhGUVVGSExGbEJRV0VzUlVGQlN5eERRVUZETEVOQlF6VkVMRU5CUVVNc1JVRkZUQ3hMUVVGTExGVkJRVmtzUjBGRGFrSXNUMEZEU2l4SlFVRkxMR2RDUVVORUxFZEJRVWwyUWl4RlFVRkhMRmxCUTBnc1IwRkJTMEVzUlVGQlJ5eEpRV05JTEVkQlFVbEJMRVZCUVVjc1RVRkRVbmxDTEVWQlFVa3NUVUZCVFN4TFFVRkxMRU5CUVVVc1RVRkJUeXhEUVVGRExFVkJRVWNzU1VGQlN5eExRVUZOTEVsQlFVc3NRMEZCUXl4TFFVRkxMRmRCUVZjc1EwRkJSU3hEUVVGRExGVkJSVE5FYmtNc1IwRkJZMVVzUlVGQlJ5eEpRVUZMTEdWQlFXVXNSVUZETVVNc1MwRkJTeXhOUVVGTkxFdEJRVXNzUTBGRFdpeExRVUZOTEZsQlEwNHNUMEZCVVN4TFFVRkxMRTlCUTJJc1QwRkJVU3hMUVVGTExFOUJRMklzVFVGQlR5eERRVUZETEVOQlFVVXNUVUZCUVhWQ0xFVkJRVThzU1VGQlN5eExRVUZOTEVsQlFVc3NRMEZCUXl4TFFVRkxMRmRCUVZjc1EwRkJSU3hEUVVGRExFTkJRM3BFTEVOQlFVTXNWVUZGU1RWQ0xFZEJRVmxMTEVWQlFVY3NSMEZCUnl4SFFVTjJRaXhEUVVGRFZpeEhRVUZqVlN4RlFVRkhMRWxCUVVzc1UwRkJVeXhGUVVGSExFTkJRMjVETEVsQlFVMTFRaXhGUVVGUmRFSXNSMEZCYzBKRUxFVkJRVWNzUzBGQlN5eEZRVU4wUXpoQ0xFVkJRVTA1UWl4RlFVRkhMRWxCUTFSM1FpeEZRVUZOZUVJc1JVRkJSeXhKUVVObWQwSXNSVUZCU1N4TFFVRkxMRXRCUVVzc1YwRkJWeXhGUVVWNlFpeFBRVUZQZUVJc1JVRkJSeXhKUVVWV0xFOUJRVTlCTEVWQlFVY3NTVUZEVml4TFFVRkxMRTFCUVUwc1MwRkJTeXhEUVVOYUxFdEJRVTBzV1VGRFRpeFBRVUZSTEV0QlFVc3NUMEZEWWl4UFFVRlJMRXRCUVVzc1QwRkRZaXhOUVVGUExFTkJRVU1zUTBGQlJTeE5RVUZCZFVJc1JVRkJUeXhKUVVGQlR5eEZRVUZMTEVsQlFVRk9MRU5CUVVrc1EwRkJReXhEUVVNdlFpeERRVUZETEVOQlEwd3NUVUZEVTBRc1JVRkJUU3hQUVVGVExFVkJSWEJDZGtJc1JVRkJSeXhKUVVGTlFTeEZRVUZITEVsQlFVa3NUMEZCVDNWQ0xFVkJRVThzUzBGQlN5eFhRVUZYTEVWQlJ6bERka0lzUlVGQlJ5eEpRVUZKTEV0QlFVc3NTMEZCU3l4WFFVRlhMRlZCT1VONFFsWXNSMEZCWTFVc1JVRkJSeXhOUVVGUExGTkJRVk1zUlVGRGFrTXNUMEZCVHl4UFFVRlBRU3hGUVVGSkxFTkJRVVVzU1VGQlN5eExRVUZOTEVsQlFVc3NRMEZCUXl4TFFVRkxMRmRCUVZjc1EwRkJSU3hEUVVGRExFMUJSWFpFTEVOQlEwUXNTVUZCVFhWQ0xFVkJRVkYwUWl4SFFVRnpRa1FzUlVGQlJ5eExRVUZMTEVWQlF6VkRMRXRCUVVzc1RVRkJUU3hMUVVGTExFTkJRMW9zUzBGQlRTeFpRVU5PTEU5QlFWRXNTMEZCU3l4UFFVTmlMRTlCUVZFc1MwRkJTeXhQUVVOaUxFMUJRVThzUTBGQlF5eERRVUZGTEUxQlFVRjFRaXhGUVVGUExFbEJRVXNzUzBGQlRTeEpRVUZMTEVOQlFVTXNTMEZCU3l4WFFVRlhMRU5CUVVVc1EwRkJReXhEUVVONlJDeERRVUZETEVOQlEwd3NUVUYxUTBOMlFpeEZRVUZITEVsQlIwTkJMRVZCUVVjc1QwRkJVelpDTEVWQlEycENTaXhGUVVGSkxFMUJRVTBzUzBGQlN5eERRVUZGTEUxQlFVRkdMRVZCUVU4c1NVRkJTeXhMUVVGTkxFbEJRVXNzUTBGQlF5eExRVUZMTEZkQlFWY3NRMEZCUlN4RFFVRkRMRVZCUlhaRWFrTXNSMEZCWTFVc1JVRkJSeXhKUVVGTExHVkJRV1VzUlVGRE1VTXNTMEZCU3l4TlFVRk5MRXRCUVVzc1EwRkRXaXhMUVVGTkxGbEJRMDRzVDBGQlVTeExRVUZMTEU5QlEySXNUMEZCVVN4TFFVRkxMRTlCUTJJc1RVRkJUeXhEUVVGRExFTkJRVVVzVFVGQlR5eERRVUZETEVWQlFVY3NTVUZCU3l4TFFVRk5MRWxCUVVzc1EwRkJReXhMUVVGTExGZEJRVmNzUTBGQlJTeERRVUZETEVOQlF6ZEVMRU5CUVVNc1JVRkhSRUVzUlVGQlJ5eEpRVUZKTEV0QlFVc3NTMEZCU3l4WFFVRlhMRVZCWkRWQ0xFOUJRVThzVDBGQlQwRXNSVUZCU1N4RFFVRkZMRWxCUVVzc1MwRkJUU3hKUVVGTExFTkJRVU1zUzBGQlN5eFhRVUZYTEVOQlFVVXNRMEZCUXl4RlFXbENhRVVzUzBGQlN5eFZRVUZaTEVkQlEycENMRTlCUTBvc1NVRkJTeXhSUVVOTUxFbEJRVXNzVTBGRFRDeEpRVUZMTEhWQ1FVTk1MRWxCUVVzc2RVSkJRWGRDTEVOQlEzcENMRWxCUVUwclFpeEZRVUZMTEV0QlFVc3NWMEZCVnl4TFFVRkxMRWxCUVVrc1JVRkRhRU5HTEVkQlFXTTNRaXhGUVVGSExFOUJRMnBDZVVJc1JVRkJTU3hOUVVGTkxFdEJRVXNzUTBGQlJTeE5RVUZCUml4RlFVRlBMRWxCUVV0UkxFVkJRVWtzU1VGQlN5eERRVUZETEVOQlFVVXNRMEZCUXl4RlFVTXhReXhMUVVGTExGVkJRVmtzU1VGRldpOUNMRVZCUVVjc1NVRkRVaXhMUVVGTExFMUJRVTBzUzBGQlN5dENMRU5CUVVVc1IwRkhiRUlzVDBGQlR5eFBRVUZQTDBJc1JVRkJTU3hEUVVGRkxFbEJRVXNyUWl4RlFVRkpMRWxCUVVzc1EwRkJReXhEUVVGRkxFTkJRVU1zUlVGRGRFTXNTMEZCU3l4VlFVRlpMRWxCUlhKQ0xFMUJRMG9zUTBGRFFTeFJRVUZUTEVOQlEwd3NTVUZCVFZZc1JVRkJTeXhMUVVGTExHZENRVUZuUWtrc1EwRkJSeXhGUVVOdVF5eEhRVUZKU2l4RlFVRkpMRU5CUTBGUExFZEJRV1ZRTEVWQlFVY3NUMEZCVXl4aFFVTXpRa2tzUlVGQlNTeE5RVUZOTEV0QlFVc3NRMEZCUlN4TlFVRkJSaXhEUVVGTkxFTkJRVU1zUlVGRk5VSXNTMEZCU3l4TlFVRk5MRXRCUVV0R0xFTkJRVVVzUlVGRGJFSXNUVUZEU2l4RFFVTktMRU5CUTBvc1EwRkRTaXhEUVVOQkxFMUJRVUZVTEVWQlFVOHNTMEZCU3l4SlFVRkpMRWRCUTJoQ0xFMUJRVUZCTEVWQlFVOHNTMEZCU3l4TFFVRkxMRVZCUTNKQ0xFTkJRMEVzUTBGQlF5eGpRVUZqYjBJc1JVRkJTeXhEUVRGeFFuaENMRWxCUVVGcVF5eEZRVEp4UWxFc1NVRkJUVU1zUlVGQlMyZERMRVZCUVVrc1RVRkJUVUVzUlVGQlNTeE5RVUZOTEU5QlFWTXNRMEZCUXl4RlFVTjZReXhQUVVGUkxFdEJRVXNzUzBGQlRTeERRVU5tTEVsQlFVc3NWVUZEUkN4SFFVRkphRU1zUlVGQlJ5eE5RVUZQTEVOQlExWXNTVUZCVFRKQ0xFVkJRVTBzVVVGQlV6TkNMRVZCUVVjc1RVRkJVVUVzUlVGQlJ5eE5RVUZOTEVsQlFVMHNUMEZEZWtOclFpeEZRVUZQTEUxQlFVMHNVVUZCVVZNc1EwRkJSeXhGUVVGSlFTeEZRVUZKUVN4RlFVRkpMRTlCUVZNc1EwRkJReXhGUVVGSkxGRkJRM0JFVkN4SFFVRkJMRmxCUVVGQkxFVkJRVTBzVVVGQlV5eFZRVU5tVXl4SFFVRkJMRTFCUVVGQkxFVkJRVXNzUzBGQlN5eExRVUZMTEdGQlJXWkxMRVZCUVVrc1RVRkJUU3hMUVVGTExFTkJRVVVzVFVGQlR5eERRVUZETEV0QlFVc3NWMEZCVnl4RFFVRkZMRU5CUVVNc1EwRkRjRVFzVFVGRlNXaERMRVZCUVVjc1RVRkJUU3hMUVVGTExFdEJRVXNzVjBGQlZ5eEZRVU5zUXl4UFFVTktMRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMFFzUjBGQlNVRXNSVUZCUnl4TlFVTklaME1zUlVGQlNTeE5RVUZOTEV0QlFVc3NRMEZCUlN4TlFVRlBMRU5CUVVNc1MwRkJTeXhYUVVGWExFTkJRVVVzUTBGQlF5eE5RVU16UXl4RFFVTkVMRWRCUVVrc1MwRkJTeXhyUWtGQmEwSm9ReXhGUVVGSExFMUJRVTluUXl4RlFVRkpMRTFCUVUwc1JVRkJSeXhEUVVNNVF5eEpRVUZOT1VJc1JVRkJUemhDTEVWQlFVa3NUVUZCVFVFc1JVRkJTU3hOUVVGTkxFOUJRVk1zUTBGQlF5eEZRVU55UTB3c1IwRkJUVFZDTEVWQlFVRkhMRWRCUVVFc1dVRkJRVUVzUlVGQlRTeFJRVUZPTEZsQlFVRklMRVZCUVdFc1NVRkRla0lzUjBGQlNTeE5RVUZOTEZGQlFWRTBRaXhEUVVGSExFVkJRVWNzUTBGRGNFSXNUVUZCVFN4VlFVRlZMRXRCUVVzc1RVRkJUVUVzUlVGQlN6TkNMRVZCUVVjc1MwRkJTeXhGUVVONFF6SkNMRVZCUVVrc1MwRkJTeXhMUVVGTExGZEJRVmNzUlVGRGVrSkxMRVZCUVVrc1RVRkJUU3hKUVVGSkxFVkJRMlFzVFVGRFNpeERRVU5LTEVOQlEwRm9ReXhGUVVGSExFMUJRVTBzUzBGQlN5eExRVUZMTEZkQlFWY3NRMEZEYkVNc1EwRkRRU3hQUVVOS0xFbEJRVXNzVTBGRFRDeEpRVUZMTEUxQlEwUXNSMEZCU1VFc1JVRkJSeXhQUVVGVExFdEJRVXNzVVVGQlZXZERMRVZCUVVrc1QwRkRMMElzVFVGRFNtaERMRVZCUVVjc1RVRkJUU3hMUVVGTExFdEJRVXNzVjBGQlZ5eEZRVU01UWl4UFFVTktMRWxCUVVzc1pVRkRSQ3hIUVVGSkxFdEJRVXNzVTBGQlYyZERMRVZCUVVrc1QwRkRjRUlzVFVGRFFXaERMRVZCUVVjc1QwRkJVMVlzUjBGQlkxVXNSVUZCUnl4TlFVRlBMR05CUVdNc1JVRkRiRVJuUXl4RlFVRkpMRTFCUVUwc1MwRkJTeXhEUVVGRkxFMUJRVThzUTBGQlF5eExRVUZMTEZkQlFWY3NRMEZCUlN4RFFVRkRMRVZCUlRWRGFFTXNSVUZCUnl4TlFVRk5MRXRCUVVzc1MwRkJTeXhYUVVGWExFVkJRMnhETEUxQlExSXNRMEZEUVN4SFFVRkpMRXRCUVVzc1QwRkJVMmRETEVWQlFVa3NUMEZCVVN4RFFVTXhRaXhKUVVGTldDeEZRVUZMTEV0QlFVc3NaMEpCUVdkQ1Z5eERRVUZITEVWQlEyNURMRWRCUVVsWUxFVkJRVWtzUTBGRFNpeExRVUZMTEUxQlFVMHNTMEZCUzBFc1EwRkJSU3hGUVVOc1FpeE5RVU5LTEVOQlEwb3NRMEZEUVN4TlFVRkJWQ3hGUVVGUExFdEJRVXNzU1VGQlNTeEhRVU5vUWl4TlFVRkJRU3hGUVVGUExFdEJRVXNzUzBGQlN5eEZRVU55UWl4RFFVTkJMRU5CUVVNc1pVRkJaVkFzUlVGQlNTeERRVU5vUWl4SlFVRk5UQ3hGUVVGTFN5eEZRVUZITEUxQlFVMUJMRVZCUVVjc1RVRkJUU3hQUVVGVExFTkJRVU1zUlVGRGRrTXNSMEZCU1N4TFFVRkxMRTlCUVZNc2FVSkJRV3RDTEVOQlEyaERMRWxCUVVsVkxFVkJRMG9zUjBGRFNTeE5RVUZCU0N4RlFVRlBMRXRCUVVzc1NVRkJTU3hIUVVOb1FrY3NSVUZCVFN4TFFVRkxMRXRCUVVzc1EwRkJReXhSUVVOYVFTeEhRVUZQUVN4RlFVRkpMRTlCUVZNc2EwSkJRMnBETEZOQlExTldMRVZCUVVjc1NVRkJTU3hUUVVGWExFVkJRVWNzUTBGRE1VSXNUMEZCVVN4TFFVRkxMRXRCUVUwc1EwRkRaaXhKUVVGTExGRkJRMHdzU1VGQlN5eHRRa0ZEUnl4RFFVRkRUQ3hIUVVGTlFTeEZRVUZITEVsQlExWkxMRVZCUVVjc1RVRkJUU3hMUVVGTExFTkJRVVVzVFVGQlR5eERRVUZETEV0QlFVc3NWMEZCVnl4RFFVRkZMRU5CUVVNc1JVRkZNME5NTEVWQlFVY3NUVUZCVFN4TFFVRkxMRXRCUVVzc1YwRkJWeXhGUVVOc1F5eFBRVU5LTEVsQlFVc3NaMEpCUTBjc1EwRkJRMEVzUjBGQlRVRXNSVUZCUnl4TlFVTldTeXhGUVVGSExFMUJRVTBzUzBGQlN5eERRVUZGTEUxQlFVOHNRMEZCUXl4RlFVRkhMRWxCUVVzc1MwRkJUU3hKUVVGTExFTkJRVU1zUzBGQlN5eFhRVUZYTEVOQlFVVXNRMEZCUXl4RlFVTXhSRXdzUlVGQlJ5eEpRVU5TUVN4RlFVRkhMRWxCUVVrc1MwRkJTeXhMUVVGTExGZEJRVmNzUlVGRk5VSXNUMEZCVHl4UFFVRlBRU3hGUVVGSkxFTkJRVVVzU1VGQlN5eExRVUZOTEVsQlFVc3NRMEZCUXl4TFFVRkxMRmRCUVZjc1EwRkJSU3hEUVVGRExFVkJRelZFTEU5QlEwb3NTVUZCU3l4UlFVTk1MRWxCUVVzc1ZVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFRRVU5NTEVsQlFVc3NUVUZEUnl4RFFVRkRRU3hIUVVGTlFTeEZRVUZITEUxQlExWkxMRVZCUVVjc1RVRkJUU3hMUVVGTExFTkJRVVVzVFVGQlR5eERRVUZETEV0QlFVc3NWMEZCVnl4RFFVRkZMRU5CUVVNc1JVRkRkRU5NTEVWQlFVY3NTVUZEVWtFc1JVRkJSeXhKUVVGSkxFdEJRVXNzUzBGQlN5eFhRVUZYTEVWQlJUVkNRU3hGUVVGSExFMUJRVTBzUzBGQlN5eExRVUZMTEZkQlFWY3NSVUZEYkVNc1QwRkRTaXhKUVVGTExGRkJRMHdzU1VGQlN5eFRRVU5NTEVsQlFVc3NkVUpCUTB3c1NVRkJTeXgxUWtGQmQwSXNRMEZEZWtJc1NVRkJUU3RDTEVWQlFVc3NTMEZCU3l4WFFVRlhMRXRCUVVzc1NVRkJTU3hGUVVOb1F5eERRVUZETDBJc1IwRkJUVUVzUlVGQlJ5eE5RVU5XU3l4RlFVRkhMRTFCUVUwc1MwRkJTeXhEUVVGRkxFMUJRVThzUTBGQlF5eEZRVUZITEVsQlFVc3dRaXhGUVVGSkxFbEJRVXNzUTBGQlF5eERRVUZGTEVOQlFVTXNSVUZEZUVNdlFpeEZRVUZITEVsQlExSXNTMEZCU3l4TlFVRk5MRXRCUVVzclFpeERRVUZGTEVWQlJXeENMRTlCUVU4c1QwRkJUeTlDTEVWQlFVa3NRMEZCUlN4SlFVRkxLMElzUlVGQlNTeEpRVUZMTEVOQlFVTXNRMEZCUlN4RFFVRkRMRVZCUXpGRExFMUJRMG9zUTBGRFFTeEpRVUZMTEdWQlEwd3NTVUZCU3l4bFFVTkVNVUlzUlVGQlJ5eEpRVUZKTEV0QlFVc3NTMEZCU3l4WFFVRlhMRVZCUXpWQ0xFMUJRMUlzUTBGRFFTeEpRVUZOWjBJc1JVRkJTeXhMUVVGTExHZENRVUZuUW1oQ0xFTkJRVVVzUlVGRk9VSm5RaXhGUVVOQkxFdEJRVXNzVFVGQlRTeExRVUZMUVN4RFFVRkZMRWRCUld4Q0xFMUJRVUZVTEVWQlFVOHNTMEZCU3l4SlFVRkpMRWRCUTJoQ0xFMUJRVUZCTEVWQlFVOHNTMEZCU3l4TFFVRkxMRWRCUlhwQ0xFdEJRMHNzUTBGRFJDeEpRVUZOWkN4RlFVRlRMRXRCUVVzc1MwRkJTeXhEUVVGRExFVkJRekZDTEVkQlFVbEJMRVZCUVU4c1QwRkJVeXhqUVVOa0xFdEJRVXNzVDBGQlV5eHBRa0ZCYlVKQkxFVkJRVThzVTBGQlYwOHNSVUZCUnl4UlFVTnVSQ3hMUVVGTExFOUJRVk1zVjBGRFdDeERRVUZEVUN4RlFVRlBMRTFCUVUxQkxFVkJRVThzVFVGQlRTeFBRVUZUTEVOQlFVTXNSVUZCUlN4TFFVTXZReXhOUVVGQll5eEZRVUZQTEV0QlFVc3NTVUZCU1N4SFFVTm9RaXhOUVVGQlFTeEZRVUZQTEV0QlFVc3NTMEZCU3l4WFFVVmFMRXRCUVVzc1QwRkJVeXhwUWtGRGJrSmtMRVZCUVU4c1QwRkJVeXhyUWtGQmJVSXNRMEZEYmtNc1NVRkJUVWtzUlVGQlQwd3NSMEZCWVVNc1EwRkJUU3hGUVVNeFFubENMRVZCUVZGMFFpeEhRVUZ6UWtNc1EwRkJTU3hGUVVONFEwVXNSMEZCWjBKRExFTkJRVVVzUlVGRGJFSXNTVUZCVFcxQ0xFVkJRVTF1UWl4RlFVRkhMRWxCUVVrc1QwRkJUeXhGUVVGSFFTeEZRVUZITEVsQlFVa3NUVUZCVFN4RlFVTXhRMjFDTEVWQlFVa3NTMEZCU3l4TFFVRkxMRmRCUVZjc1JVRkRla0lzU1VGQlRVTXNSVUZCVFN4RFFVTlNMRXRCUVUwc1dVRkRUaXhQUVVGUmNFSXNSVUZCUnl4UFFVTllMRTlCUVZGQkxFVkJRVWNzVDBGRFdDeE5RVUZQTEVOQlFVTXNRMEZCUlN4TlFVRkJhMElzUlVGQlR5eEpRVUZMYkVJc1JVRkJTU3hKUVVGQmJVSXNRMEZCU1N4RFFVRkRMRU5CUTI1RExFVkJRMEVzUzBGQlN5eFZRVUZaTEVkQlEycENMRXRCUVVzc1RVRkJUU3hMUVVGTExFMUJRVTBzVDBGQlV5eERRVUZETEVWQlFVbERMRU5CUTNoRExFMUJSVWtzVFVGQlFXSXNSVUZCVHl4TFFVRkxMRkZCUVZGUUxFTkJRVVVzUlVGRk9VSXNRMEZEU2l4RFFVTkJMRmRCUVZkaUxFVkJRVTBzUTBGRFlpeEhRVUZKTEV0QlFVc3NWVUZCVnl4RFFVTm9RaXhKUVVGSmEwTXNSVUZCU3l4TFFVRkxMRTlCUVU4c1VVRkJVVHRCUVVGQkxFTkJRVWtzUlVGQlNTeEZRVU55UXl4TFFVRlBRU3hKUVVGUExFZEJRMVlzUzBGQlN5eFZRVUZWTEV0QlFVc3NUMEZCVTBFc1EwRkJSU3hGUVVNdlFrRXNSVUZCU3l4TFFVRkxMRTlCUVU4c1VVRkJVVHRCUVVGQkxFVkJRVTFCTEVOQlFVVXNSVUZCU1N4RFFVVTNReXhEUVVOQkxFMUJRVThzUTBGRFNDeExRVUZCYkVNc1JVRkRRU3hQUVVGUkxFdEJRVXNzVDBGRFlpeFBRVUZSTEV0QlFVc3NUMEZEWWl4UFFVRlJMRXRCUVVzc1RVRkRha0lzUTBGRFNpeERRVU5CTEdkQ1FVRm5RazBzUlVGQlVTeERRVU53UWl4UFFVRlJMRXRCUVVzc1MwRkJUU3hEUVVObUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZOQlEwd3NTVUZCU3l4MVFrRkRUQ3hKUVVGTExIVkNRVU5FTEU5QlFVOHNTMEZCU3l4WFFVRlhMRXRCUVVzc1NVRkJTU3hGUVVOd1F5eEpRVUZMTEhOQ1FVTkVMRTFCUVU4c1EwRkRTQ3hMUVVGTkxHVkJRMDRzVDBGQlVTeExRVUZMTEU5QlEySXNUMEZCVVN4TFFVRkxMRTlCUTJJc1RVRkJUeXhEUVVGRExFdEJRVXNzVjBGQlZ5eEZRVU40UWl4UFFVRlJMRVZCUTFvc1JVRkRTaXhKUVVGTExHbENRVU5NTEVsQlFVc3NhVUpCUTBRc1RVRkJUeXhEUVVOSUxFdEJRVTBzYTBKQlEwNHNUMEZCVVN4TFFVRkxMRTlCUTJJc1QwRkJVU3hMUVVGTExFOUJRMklzVFVGQlR5eExRVUZMTEZsQlExb3NUVUZCVHl4RFFVRkRMRVZCUTFJc1NVRkJTeXhEUVVGRExFTkJRMVlzUlVGRFNpeEpRVUZMTEdWQlEwUXNUVUZCVHl4RFFVTklMRXRCUVUwc1dVRkRUaXhQUVVGUkxFdEJRVXNzVDBGRFlpeFBRVUZSTEV0QlFVc3NUMEZEWWl4TlFVRlBMRU5CUVVNc1EwRkJSU3hOUVVGUExFTkJRVU1zUzBGQlN5eFhRVUZYTEVOQlFVVXNRMEZCUXl4RFFVTjZReXhGUVVOS0xFbEJRVXNzYlVKQlFXOUNMRU5CUTNKQ0xFdEJRVXNzVlVGQldTeEhRVU5xUWl4SlFVRk5TU3hGUVVGUFRDeEhRVUZoUXl4RFFVRk5MRVZCUXpGQ2VVSXNSVUZCVVhSQ0xFZEJRWE5DUXl4RFFVRkpMRVZCUTNoRExFOUJRVUZ4UWl4RlFVRk5MRXRCUVVzc1MwRkJTeXhYUVVGWExFVkJRM0JDTEVOQlEwZ3NTMEZCVFN4WlFVTk9MRTlCUVZFc1MwRkJTeXhQUVVOaUxFOUJRVkVzUzBGQlN5eFBRVU5pTEUxQlFVOHNRMEZCUXl4RFFVRkZMRTFCUVVGQkxFVkJRVThzV1VGQllTeEZRVUZMTEVOQlFVTXNRMEZEZUVNc1EwRkRTaXhEUVVOQkxFbEJRVXNzWjBKQlFXbENMRU5CUTJ4Q0xFdEJRVXNzVlVGQldTeEhRVU5xUWl4SlFVRk5ja0lzUlVGQlQwd3NSMEZCWVVNc1EwRkJUU3hGUVVNeFFubENMRVZCUVZGMFFpeEhRVUZ6UWtNc1EwRkJTU3hGUVVONFF5eE5RVUZQTEVOQlEwZ3NTMEZCVFN4WlFVTk9MRTlCUVZFc1MwRkJTeXhQUVVOaUxFOUJRVkVzUzBGQlN5eFBRVU5pTEUxQlFVOHNRMEZCUXl4RFFVRkZMRTFCUVVGeFFpeEZRVUZQTEVsQlFVc3NTMEZCVFN4SlFVRkxMRU5CUVVNc1MwRkJTeXhYUVVGWExFTkJRVVVzUTBGQlF5eERRVU42UkN4RFFVTktMRU5CUTBvc1EwRkRRU3hQUVVGUExFbEJRMWdzUTBGRFFTeHJRa0ZCYTBKQkxFVkJRVTlWTEVWQlFWRXNRMEZITjBJc1QwRkdTU3hMUVVGTExFOUJRVk1zVjBGRlpDeExRVUZMTEZGQlFWVkJMRVZCUTFJc1IwRkRTbFlzUlVGQlRTeE5RVUZOU2l4SFFVRk5RU3hGUVVGSExFOUJRVk1zVjBGQllVRXNSVUZCUnl4UFFVRlRMRTlCUVU4c1EwRkRla1VzUTBGRFFTeERRVUZETEZsQlFWbGxMRVZCUVZFc1EwRkRZaXhMUVVGTExFOUJRVk1zWVVGRFZrRXNSVUZCVHl4SlFVTlFRU3hGUVVGUExFbEJRVWtzUzBGQlN5eExRVUZMTEZkQlFWY3NSVUZGYUVOQkxFVkJRVThzU1VGQlRTeERRVUZETEV0QlFVc3NWMEZCVnl4RlFVTTVRaXhMUVVGTExFOUJRVk1zV1VGRFpDeE5RVUZCZEVJc1JVRkJUeXhMUVVGTExFbEJRVWtzU1VGRk5VSXNRMEZEUVN4RFFVRkRMRkZCUVZGb1FpeEZRVUZQTEVOQlExb3NUMEZCVVN4TFFVRkxMRXRCUVUwc1EwRkRaaXhKUVVGTExGRkJRMHdzU1VGQlN5eFpRVU5NTEVsQlFVc3NWVUZEVEN4SlFVRkxMR1ZCUTB3c1NVRkJTeXhsUVVOTUxFbEJRVXNzWjBKQlEwUXNUVUZCUVdkQ0xFVkJRVThzUzBGQlN5eEpRVUZKTEVkQlEyaENMRTFCUVVGQkxFVkJRVThzUzBGQlN5eExRVUZMTEVkQlEycENMRTFCUTBvc1NVRkJTeXhWUVVORUxFdEJRVXNzVlVGQldTeEhRVVZ5UWl4SlFVRkxMRkZCUTB3c1NVRkJTeXhWUVVOTUxGRkJSVkZvUWl4RlFVRk5MRWxCUTA1QkxFVkJRVTBzU1VGQlNTeExRVUZMTEV0QlFVc3NWMEZCVnl4RlFVVXZRa0VzUlVGQlRTeEpRVUZOTEVOQlFVTXNTMEZCU3l4WFFVRlhMRVZCUXpkQ0xFdEJRVXNzVDBGQlV5eFpRVU5rTEUxQlFVRm5RaXhGUVVGUExFdEJRVXNzU1VGQlNTeEhRVU0xUWl4RFFVTktMRU5CUTBvc1JVTXZOa0pCTEZOQlFWTjFRaXhIUVVGaFF5eEZRVUZUTEVOQlF6TkNMRWxCUVUxRExFVkJRV1ZFTEVWQlFWRXNaVUZCYVVJc1IwRkZPVU1zVFVGQlR5eERRVUZGTEZsQlJGZEJMRVZCUVZFc1lVRkJaMEpETEVkQlFXZENMRWxCUVVsRExFbEJRV3RDTEV0QlF6VkVMR0ZCUVVGRUxFTkJRV0VzUTBGRGRrTXNRMEY1UWtFc1UwRkJVMFVzUjBGQlkwTXNSVUZCVVVNc1JVRkJWU3hEUVVGRExFVkJRVWNzUTBGRGVrTXNSMEZCVFN4RFFVRkZMRmxCUVVGRExFVkJRV0VzWVVGQlFVTXNRMEZCWVN4RlFVRkpReXhIUVVGaFNDeERRVUZQTEVWQlEzQkVTU3hGUVVGVExFbEJRVWxETEVkQlFVOUtMRWRCUVVFc1dVRkJRVUVzUlVGQllTeFZRVUZWTEVWQlF6TkRTeXhGUVVGWExFbEJRVWxETEVkQlFWTlFMRU5CUVU4c1JVRkZha05STEVWQlFVMHNTMEZEVml4UlFVRlhReXhMUVVGUlNDeEZRVUZUTEZGQlFWRkdMRVZCUVU4c1RVRkJUVXdzUTBGQlRTeEZRVUZITEVkQlFVMUJMRVZCUVU4c1RVRkJUU3hGUVVONlJTeEhRVUZKTEVOQlFVTlRMRVZCUTBSQkxFVkJRVTFETEZWQlEwUkVMRVZCUVVrc1VVRkJVU3hYUVVGaExGTkJRVlVzUTBGRGVFTkJMRVZCUVVrc1QwRkJUeXhMUVVGTExFbEJRVWxGTEVkQlFXVkVMRVZCUVVzc1RVRkJUU3hOUVVGTkxFVkJRVWNzUTBGQlF5eEZRVUZITEdkQ1FVRnBRaXg1UlVGQmVVVXNRMEZCUXl4RlFVTjBTaXhMUVVOS0xFTkJSVW9zVDBGQlNWQXNSMEZCWjBKRUxFbEJRMmhDVHl4RlFVRkpMRTlCUVU4c1VVRkJVVWNzUjBGQlkxb3NSVUZCVVVVc1EwRkJWeXhEUVVGRExFVkJRM0pFVHl4RlFVRkpMRk5CUVZNc1VVRkJVVWNzUjBGQlkxb3NSVUZCVVVVc1EwRkJWeXhEUVVGRExFZEJSWEJFVHl4RFFVTllMRU5CUTBFc1UwRkJVMGtzUjBGQlRVTXNSVUZCUzBNc1JVRkJVMlFzUlVGQlV5eERRVU5zUXl4SlFVRkpaU3hGUVVOQkxFOUJRVTlFTEVkQlFWa3NWMEZEYmtKRExFVkJRVmRFTEVWQlJVNWtMRWxCUVZrc1VVRkJZV01zUjBGQlZ5eFBRVUZQUVN4SFFVRlpMRmRCUXpWRVpDeEZRVUZWWXl4SFFVVmtMRWxCUVUxT0xFVkJRVTFXTEVkQlFXTmxMRVZCUVV0aUxFTkJRVThzUlVGRGRFTXNSMEZCU1N4RFFVRkRVU3hGUVVORUxFOUJRVThzUzBGRldDeEhRVVJCUVN4RlFVRkpMRk5CUVZNc1VVRkJVVkVzUjBGQlYwTXNSMEZCUzFRc1JVRkJTU3hSUVVGUkxGTkJRVlZSTEVOQlFVOHNRMEZCUXl4RlFVTXZSRklzUlVGQlNTeFBRVUZQTEU5QlFWTXNSVUZCUnl4RFFVTjJRaXhIUVVGSlFTeEZRVUZKTEZGQlFWRXNWMEZCWVN4VFFVTjZRaXhOUVVGTlFTeEZRVUZKTEU5QlFVOHNRMEZCUXl4RlFVVnNRa0VzUlVGQlNTeFBRVUZUTEVOQlFVTXNRMEZEZEVJc1EwRkRRU3hQUVVGUFFTeEZRVUZKTEV0QlFVc3NUMEZCVHl4UFFVRlBMRU5CUVVVc1VVRkJVMDhzUTBGQlV5eEZRVUZIWml4RFFVRlBMRU5CUVVNc1EwRkRha1VzUTBONFJVRXNTVUZCUVd0Q0xFZEJRV3RDTEZORFJteENMRWxCUVVGRExFVkJRVzFDTEZORGEwWmFMRWxCUVZWRExFOUJRVllzUTBGalZVRXNSVUZCUVN4clFrRkJjME1zUTBGREwwTXNiVUpCUVc5Q0xFbEJSWEJDTEZkQlFWa3NaMEpCUTFvc1pVRkJaMElzZDBKQlEzQkNMRVZCUjA4c1UwRkJVME1zUlVGRFdrTXNSVUZEUVVNc1JVRkJORUpJTEVWQlFVRXNhMEpCUXpWQ1NTeEZRVUZ4UWl4SFFVTm1MRU5CUTA0c1NVRkJTVU1zUlVGQlZVTXNSVUZCVlVvc1EwRkJTeXhGUVVNM1FpeEhRVUZKTEVOQlFVTkhMRVZCUVZNc1QwRkJUMFlzUlVGQlVTeHRRa0ZGTjBJc1QwRkJVVVVzUlVGQlVTeExRVUZOTEVOQlEyeENMRWxCUVVzc1QwRkRSQ3hQUVVGUFJpeEZRVUZSTEcxQ1FVTnVRaXhKUVVGTExGTkJRMFFzVDBGQlQwVXNSVUZCVVN4TlFVTnVRaXhKUVVGTExGTkJRMHdzU1VGQlN5eFZRVU5FTEUxQlFVOHNSMEZCUzBFc1JVRkJVU3hOUVVONFFpeEpRVUZMTEU5QlEwUXNUMEZCVDBFc1JVRkJVU3hOUVVGTkxGTkJRVk1zUlVGRGJFTXNTVUZCU3l4WFFVTkVMRTFCUVU4c1lVRkRXQ3hKUVVGTExGRkJRMFFzU1VGQlNVVXNSVUZCVXl4SFFVTmlMRTlCUVVsSUxFbEJRVmRITEVkQlFWVXNTMEZEZWtKQkxFZEJRVlZHTEVWQlFWRXNUVUZCVFN4SlFVRkxSeXhIUVVGTlVDeEZRVUZUVHl4RlFVRkhUQ3hGUVVGVExFVkJRVWtzUTBGQlF5eEZRVUZGTEV0QlFVc3NTVUZCU1N4RlFVTndSVU1zU1VGQlYwY3NSMEZCVlN4TFFVTnNRa0VzUlVGRFdDeEpRVUZMTEZOQlEwUXNUVUZEU1N4TFFVTkJMRTlCUVU4c1VVRkJVVVlzUlVGQlVTeExRVUZMTEVWQlEzWkNMRWxCUVV0SkxFZEJRVTFCTEVWQlFVVXNRMEZCUXl4RlFVRkpMRXRCUVU5U0xFVkJRVk5STEVWQlFVVXNRMEZCUXl4RlFVRkhUaXhGUVVGVExFVkJRVWtzUTBGQlF5eEZRVU4wUkN4TFFVRkxMRWxCUVVrc1JVRkRaQ3hMUVVWU0xFbEJRVXNzVDBGRFJDeFBRVUZQVHl4SFFVRnJRa3dzUlVGQlVTeE5RVUZQUml4RlFVRlJMRmRCUVZsQkxFVkJRVkVzWTBGQll5eEZRVU4wUml4SlFVRkxMRmRCUTBRc1QwRkJUMUVzUjBGQmMwSk9MRVZCUVZFc1MwRkJTeXhEUVVOc1JDeERRVU5LTEVOQmRrTlBUQ3hGUVVGVExGTkJRVUZETEVWQk1FTlVMRk5CUVZOTExFVkJRVlZOTEVWQlFUQkRMRU5CUTJoRkxFOUJRVWxETEVWQlFVOUVMRU5CUVVjc1JVRkJWU3hEUVVGRkxFdEJRVTBzVDBGQlVTeE5RVUZQUVN4RFFVRkpMRVZCUXpGRFJTeEZRVUZUUml4RFFVRkhMRVZCUVZVc1EwRkJSU3hMUVVGTkxGTkJRVlVzVFVGQlQwRXNRMEZCU1N4RlFVTnVSRWNzUlVGQlUwZ3NRMEZCUnl4RlFVRlZMRU5CUVVVc1MwRkJUU3hUUVVGVkxFMUJRVTlCTEVOQlFVa3NSVUZEYmtSSkxFVkJRVlZLTEVOQlFVY3NSVUZCVlN4RFFVRkZMRXRCUVUwc1ZVRkJWeXhOUVVGUFFTeERRVUZKTEVWQlEzSkVTeXhGUVVGWFRDeERRVUZITEVWQlFWVXNRMEZCUlN4TFFVRk5MRmRCUVZrc1RVRkJUMEVzUTBGQlNTeEZRVU4yUkUwc1JVRkJUMDRzUTBGQlJ5eEZRVUZWTEVOQlFVVXNTMEZCVFN4UFFVRlJMRTFCUVU5QkxFTkJRVWtzUlVGREwwTlBMRVZCUVZGUUxFTkJRVWNzUlVGQlZTeERRVUZGTEV0QlFVMHNVVUZCVXl4TlFVRlBRU3hEUVVGSkxFVkJRMnBFVVN4RlFVRlBVaXhEUVVGSExFVkJRVlVzUTBGQlJTeExRVUZOTEU5QlFWRXNUVUZCVDBFc1EwRkJTU3hGUVVNdlExTXNSVUZCVjFRc1EwRkJSeXhGUVVGVkxFTkJRVVVzUzBGQlRTeFhRVUZaTEUxQlFVOUJMRU5CUVVrc1JVRkRka1JWTEVWQlFWTldMRU5CUVVjc1JVRkJWU3hEUVVGRkxFdEJRVTBzVTBGQlZTeE5RVUZQUVN4RFFVRkpMRVZCUTNaRUxFMUJRMVFzUTBGYVQxb3NSVUZCVXl4VlFVRkJUU3hGUVdWVUxGTkJRVk5wUWl4RlFVRlZXQ3hGUVVGaldTeEZRVUYzUXl4RFFVTTFSU3hIUVVGSlJpeEZRVUZUVml4RFFVRkhMRVZCUVVjc1EwRkRaaXhKUVVGSlRDeEZRVUZ4UWl4RFFVRkRMRVZCUXpGQ0xFOUJRVk1zUTBGQlEydENMRVZCUVV0RExFTkJRVXNzU1VGQlN5eFBRVUZQTEZGQlFWRmtMRU5CUVVjc1JVRkJSMHdzUlVGQlQydENMRU5CUVVjc1JVRkJTVVlzUlVGQlZVY3NSVUZCVDBZc1EwRkJTU3hGUVVOcVJpeFBRVUZQYWtJc1EwRkRXQ3hUUVVGWFdTeEZRVUZSVUN4RFFVRkhMRVZCUVVjc1EwRkRja0lzU1VGQlNVd3NSVUZCYjBJc1EwRkJReXhGUVVONlFpeFJRVUZUYlVJc1MwRkJVMlFzUlVGQlMwd3NSVUZCVHl4TFFVRkxaMElzUlVGQlZVY3NSVUZCVDBZc1EwRkJTU3hEUVVGRExFVkJRM3BFTEU5QlFVOXFRaXhEUVVOWUxFdEJRMGtzVVVGQlQybENMRVZCUVV0YUxFTkJRVWNzUTBGRmRrSXNRMEZhVDFvc1JVRkJVeXhWUVVGQmRVSXNSVUZsVkN4VFFVRlRTU3hGUVVGUFF5eEZRVUUwUWtNc1JVRkJOa0lzUTBGRE5VVXNUMEZCVDBNc1JVRkJVVVlzUlVGQlQwTXNRMEZCVFN4SFFVRkxMRU5CUTNKRExFTkJSazgzUWl4RlFVRlRMRTlCUVVFeVFpeEZRVXRVTEZOQlFWTkhMRVZCUTFwRExFVkJRMEZETEVWQlEwRkRMRVZCUTAwc1EwRXpUR1FzU1VGQlFVTXNSVUZCUVVNc1JVRnJUVkVzUjBGTVNVb3NTVUZCVTBNc1NVRkhWRVFzU1VGQlV5eFRRVUZYUVN4RlFVRlBMRTFCUXpOQ1F5eEpRVUZUTEZOQlFWZEJMRVZCUVU4c1RVRkRNMEpFTEVsQlFWTXNUVUZCVVVNc1NVRkJVeXhOUVVGTkxFMUJRVThzUjBGRGRFTXNSMEZCU1VRc1NVRkJVeXhMUVVGTkxFMUJRVThzUjBGRE1VSXNSMEZCU1VNc1NVRkJVeXhMUVVGTkxFMUJRVThzUjBGSEwwSXNTVUZCU1Vrc1JVRkJVVGxDTEVWQlFWVjVRaXhEUVVGSkxFVkJRM1JDVFN4RlFVRlJMMElzUlVGQlZUQkNMRU5CUVVrc1JVRkZNVUlzUjBGQlNVa3NTVUZCVlN4UlFVRmhReXhKUVVGVkxFOUJRVmNzVFVGQlR5eEhRVU5zUkN4SFFVRkpSQ3hKUVVGVkxFOUJRVmNzVFVGQlR5eEhRVU5vUXl4SFFVRkpReXhKUVVGVkxFOUJRVmNzVFVGQlR5eEhRVWR5UXl4SFFVRkpSQ3hGUVVGTkxFMUJRVkZETEVWQlFVMHNTMEZCVFN4UFFVRlBSQ3hGUVVGTkxFdEJRVXNzWTBGQlkwTXNSVUZCVFN4SlFVRkpMRVZCUTNoRkxFZEJRVWxFTEVWQlFVMHNVVUZCVlVNc1JVRkJUU3hOUVVGUExFMUJRVThzUjBGRmVFTXNUMEZCVVVRc1JVRkJUU3hMUVVGTkxFTkJRMmhDTEVsQlFVc3NVMEZEUkN4UFFVRlBRU3hGUVVGTkxFMUJRVTBzWTBGQlkwTXNSVUZCVFN4TFFVRmxMRVZCUXpGRUxFbEJRVXNzVTBGRFJDeFBRVUZKUkN4RlFVRk5MRTFCUVZORExFVkJRVTBzVFVGQmVVSXNSMEZEZWtORUxFVkJRVTBzVDBGQlZVTXNSVUZCVFN4TlFVRjVRaXhGUVVOcVJDeEZRVU5ZTEVsQlFVc3NUMEZEUkN4TlFVRlBMRWRCUTFnc1NVRkJTeXhWUVVORUxFOUJRVWxFTEVWQlFVMHNUMEZCVTBNc1JVRkJUU3hOUVVGakxFVkJRek5DUkN4RlFVRk5MRTFCUVZFc1JVRkJTU3hIUVVOc1F5eEpRVUZMTEU5QlEwUXNTVUZCU1VVc1JVRkJVVVlzUlVGQlRTeE5RVU5rUnl4SFFVRlJSaXhGUVVGTkxFMUJRMlJITEVkQlFWbFFMRWRCUVVFc1MwRkJRVUVzUlVGQmIwSlJMRWxCUVdOQkxFZEJSemxEUXl4RlFVRmpSaXhIUVVGVlJpeEZRVUZOTEVsQlFVa3NSVUZCUlN4alFVRmpSU3hIUVVGVlJDeEhRVUZOTEVsQlFVa3NRMEZCUXl4RlFVTXpSU3hIUVVGSlJ5eEhRVUZsTEVWQlFVY3NUMEZCVDBFc1JVRkhOMElzU1VGQlNVTXNSVUZCWTB3c1JVRkJUU3hMUVVGTExHTkJRV05ETEVkQlFVMHNTVUZCU1N4RlFVTnlSQ3hQUVVGSlNTeEhRVUZsTEVWQlFWVkJMRVZCUjNwQ1RDeEZRVUZOTEZOQlFWY3NRMEZCUTBNc1IwRkJUU3hSUVVGblFpeEZRVU40UXl4RFFVRkRSQ3hGUVVGTkxGTkJRVmRETEVkQlFVMHNVVUZCWjBJc1IwRkRlRU1zUTBGQlEwUXNSVUZCVFN4VFFVRlhMRU5CUVVORExFZEJRVTBzVVVGQlowSXNTVUZIY2tOTUxFVkJRVUZKTEVWQlFVMHNWVUZCVGl4TFFVRkJTaXhGUVVGcFFpeEpRVUZKTEdWQlFXTkRMRVZCUVVGSkxFZEJRVTBzVlVGQlRpeExRVUZCU2l4RlFVRnBRaXhGUVVGRkxFVkJRMnhGTEVsQlFVc3NUMEZEUkN4UFFVRlBReXhGUVVGTkxFMUJRVk5ETEVWQlFVMHNUVUZEZEVJc1IwRkRRVVFzUlVGQlRTeE5RVUZOTEU5QlFVOURMRVZCUVUwc1MwRkJhVUlzUlVGRE1VTXNSVUZEUVN4RlFVTldMRWxCUVVzc1YwRkRSQ3hQUVVGUFJDeEZRVUZOTEUxQlFWTkRMRVZCUVUwc1RVRkRkRUlzUjBGRFFVUXNSVUZCVFN4TlFVRk5MRTlCUVU5RExFVkJRVTBzUzBGQmFVSXNSVUZETVVNc1JVRkRRU3hGUVVOV0xFbEJRVXNzVVVGRFJDeEpRVUZKVHl4RlFVRkxVaXhGUVVGTkxFMUJRMWhUTEVkQlFVdFNMRVZCUVUwc1RVRkRaaXhSUVVGVFV5eEhRVUZSTEVWQlFVZEJMRWRCUVZFc1MwRkJTeXhKUVVGSlJpeEZRVUZITEU5QlFWRkRMRWRCUVVjc1RVRkJUU3hGUVVGSFF5eExRVUZUTEVOQlEycEZMRWxCUVVsRExFZEJRVTlxUWl4RlFVRlJZeXhGUVVGSFJTeEZRVUZMTEVWQlFVZEVMRWRCUVVkRExFVkJRVXNzUTBGQlF5eEZRVU4yUXl4SFFVRkpReXhKUVVGUkxFVkJRVWNzVDBGQlQwRXNSVUZETVVJc1EwRkRRU3hQUVVGUFNDeEZRVUZITEU5QlFWTkRMRWRCUVVjc1QwRkRNVUlzU1VGQlN5eFRRVU5FTEVsQlFVbEhMRWRCUVV0YUxFVkJRVTBzVFVGRFdHRXNSMEZCUzFvc1JVRkJUU3hOUVVOWVlTeEhRVUZMTEUxQlFVMHNTMEZCU3l4UFFVRlBMRXRCUVV0R0xFVkJRVVVzUTBGQlF5eEZRVU12UWtjc1IwRkJTeXhOUVVGTkxFdEJRVXNzVDBGQlR5eExRVUZMUml4RlFVRkZMRU5CUVVNc1JVRkRia05ETEVkQlFVY3NTMEZCU3l4RlFVTlNReXhIUVVGSExFdEJRVXNzUlVGRlVpeEpRVUZKUXl4SFFVRmhkRUlzUlVGQlVXOUNMRWRCUVVsRExFVkJRVVVzUlVGREwwSXNSMEZCU1VNc1NVRkJZeXhGUVVGSExFOUJRVTlCTEVkQlJUVkNMRkZCUVZNelFpeE5RVUZQZVVJc1IwRkJTU3hEUVVOb1FpeEpRVUZKU0N4SFFVRlBha0lzUlVGQlVXdENMRWRCUVVkMlFpeEZRVUZITEVWQlFVZDNRaXhIUVVGSGVFSXNSVUZCUnl4RFFVRkRMRVZCUTI1RExFZEJRVWx6UWl4SlFVRlJMRVZCUVVjc1QwRkJUMEVzUlVGRE1VSXNRMEZGUVN4TlFVRlBMRWRCUTFnc1NVRkJTeXhYUVVORUxFMUJRVThzUlVGRFppeERRVU5LTEVOQmJrZFBMME1zUlVGQlV5eFJRVUZCT0VJc1JVRnpSMVFzVTBGQlUzVkNMRVZCUVU5NlF5eEZRVUZ0UXl4RFFUZFNPVVFzU1VGQlFYTkNMRVZCT0ZKUkxFOUJRVTlCTEVWQlFVRTFRaXhGUVVGVlRTeERRVUZITEVsQlFXSXNXVUZCUVhOQ0xFVkJRV2RDTEVsQlF6TkNMRU5CUms5c1F5eEZRVUZUTEU5QlFVRnhSQ3hGUVV0VUxGTkJRVk5ETEVWQlFWTndSQ3hGUVVGNVFpeERRVU01UXl4SlFVRkpSeXhGUVVGVlF5eEZRVUZWU2l4RFFVRkxMRVZCUXpkQ0xFZEJRVWtzUTBGQlEwY3NSVUZCVXl4TlFVRlBMRWRCUlhKQ0xFOUJRVkZCTEVWQlFWRXNTMEZCVFN4RFFVTnNRaXhKUVVGTExGTkJRMFFzVDBGQlQwRXNSVUZCVVN4UFFVRlRMRVZCUXpWQ0xFbEJRVXNzVTBGRFJDeFBRVUZQUVN4RlFVRlJMRTFCUVUwc1QwRkJVeXhGUVVOc1F5eEpRVUZMTEZWQlEwUXNUMEZCVDBFc1JVRkJVU3hOUVVOdVFpeEpRVUZMTEU5QlEwUXNUVUZCVHl4RFFVRkRMRU5CUVVOQkxFVkJRVkVzVFVGQlRTeExRVU16UWl4SlFVRkxMRTlCUTBRc1QwRkJUMEVzUlVGQlVTeE5RVUZOTEZOQlFWTXNSMEZCU3l4RlFVTjJReXhKUVVGTExGZEJRMFFzVDBGQlQwRXNSVUZCVVN4TlFVRk5MRWRCUVVjc1UwRkJVeXhIUVVGTExFVkJRekZETEVsQlFVc3NVMEZEUkN4UFFVRlBMRTlCUVU4c1MwRkJTMEVzUlVGQlVTeExRVUZMTEVWQlFVVXNUMEZCVXl4RlFVTXZReXhKUVVGTExGRkJRMFFzVDBGQlQwRXNSVUZCVVN4TlFVRk5MRTlCUVZNc1JVRkRiRU1zU1VGQlN5eFBRVU5FTEUxQlFVOHNSMEZEV0N4SlFVRkxMRmRCUTBRc1RVRkJUeXhGUVVObUxFTkJRMG9zUTBFeFFrOU1MRVZCUVZNc1UwRkJRWE5FTEVWQk5rSlVMRk5CUVZORExFVkJRVFJDY2tRc1JVRkJZU3hEUVVOeVJDeEhRVUZKUVN4SFFVRlZMRXRCUVRaQ0xFOUJRVTlCTEVWQlJXeEVMRWRCUVVsR0xFVkJRVk1zVVVGQlVVVXNRMEZCU3l4RlFVTjBRaXhOUVVGUkxFTkJRVU1zUlVGQlowSXNUMEZCVDBFc1JVRkJUU3hKUVVGTGMwUXNSMEZCVFVRc1JVRkJVME1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZETVVRc1IwRkJTWGhFTEVWQlFWTXNVMEZCVTBVc1EwRkJTeXhGUVVGSExFTkJRMnBETEVsQlFVbExMRVZCUVd0RExFTkJRVU1zUlVGRGRrTXNUMEZCVXl4RFFVRkRhMElzUlVGQlMwTXNRMEZCU3l4SlFVRkxMRTlCUVU4c1VVRkJVWGhDTEVOQlFVc3NSVUZCUjBzc1JVRkJUMnRDTEVOQlFVY3NSVUZCU1RoQ0xFVkJRVk0zUWl4RFFVRkxMRVZCUXpWRkxFOUJRVTl1UWl4RFFVTllMRXRCUTBrc1VVRkJUMHdzUTBGRlppeERRVnBQUml4RlFVRlRMRk5CUVVGMVJDeEZRV1ZVTEZOQlFWTjRReXhGUVVGVFNDeEZRVUY1UWl4RFFVTTVReXhQUVVGUExFOUJRVTlCTEVkQlFVOHNVVUZEZWtJc1EwRkdUMW9zUlVGQlV5eFRRVUZCWlN4RlFVdFVMRk5CUVZORUxFVkJRVk5HTEVWQlFYbENMRU5CUXpsRExFOUJRVThzVDBGQlQwRXNSMEZCVHl4UlFVTjZRaXhEUVVaUFdpeEZRVUZUTEZOQlFVRmpMRVZCUzFRc1UwRkJVMGtzUlVGQlQwNHNSVUZCTWtJc1EwRkRPVU1zVDBGQlQwRXNZVUZCWlRaRExFTkJRekZDTEVOQlJrOTZSQ3hGUVVGVExFOUJRVUZyUWl4RlFVdFVMRk5CUVZORUxFVkJRVmRNTEVWQlFUSkNMRU5CUTJ4RUxFOUJRVTlCTEdGQlFXVTRReXhEUVVNeFFpeERRVVpQTVVRc1JVRkJVeXhYUVVGQmFVSXNSVUZMVkN4VFFVRlRTaXhGUVVGUFJDeEZRVUZ0UXl4RFFVTjBSQ3hQUVVGUFFTeEhRVUZSTEVsQlEyNUNMRU5CUms5YUxFVkJRVk1zVDBGQlFXRXNSVUZMVkN4VFFVRlRUU3hGUVVGUlVDeEZRVUYzUWl4RFFVTTFReXhQUVVGUExFMUJRVTBzVVVGQlVVRXNRMEZCUnl4RFFVTTFRaXhEUVVaUFdpeEZRVUZUTEZGQlFVRnRRaXhGUVV0VUxGTkJRVk5JTEVWQlFWVktMRVZCUVRCQ0xFTkJRMmhFTEU5QlFVOHNUMEZCVDBFc1IwRkJVU3hUUVVNeFFpeERRVVpQV2l4RlFVRlRMRlZCUVVGblFpeEZRVXRVTEZOQlFWTkpMRVZCUVU5U0xFVkJRWFZDTEVOQlF6RkRMRTlCUVU5QkxHRkJRV1VyUXl4RlFVTXhRaXhEUVVaUE0wUXNSVUZCVXl4UFFVRkJiMElzUlVGTFZDeFRRVUZUUlN4RlFVRlRWaXhGUVVGelF5eERRVU16UkN4UFFVTkpRU3hKUVVGUkxGRkJRMUlzVDBGQlQwRXNSMEZCVHl4VlFVTmtMRU5CUVVOUExFVkJRVkZRTEVOQlFVY3NSMEZEV2l4RFFVRkRTeXhGUVVGWFRDeERRVUZITEVkQlEyWXNRMEZCUTAwc1JVRkJUMDRzUTBGQlJ5eEhRVU5ZTEVOQlFVTlJMRVZCUVU5U0xFTkJRVWNzUjBGRFdDeERRVUZEUXl4RlFVRlBSQ3hEUVVGSExFTkJSVzVDTEVOQlZrOWFMRVZCUVZNc1UwRkJRWE5DTEVWQllWUXNVMEZCVTBRc1JVRkJWMVFzUlVGQk1rSXNRMEZEYkVRc1QwRkJUeXhQUVVGUFFTeEhRVUZQTEZWQlEzcENMRU5CUms5YUxFVkJRVk1zVjBGQlFYRkNMRWxCTDFOSWNrSXNVVUZCUVN4TFFXMVZWaXhKUVVGVk5FUXNUMEZCVml4RFFVVkpMRk5CUVZORExFVkJRV3RDUXl4RlFVRnpReXhEUVVOd1JTeFBRVUZQT1VRc1IwRkJVeXhUUVVGVE9FUXNRMEZCU3l4SFFVRkxMRTlCUVU4c1MwRkJTMEVzUTBGQlN5eEZRVUZGTEZGQlFWVXNSMEZCU3l4UlFVRlRRU3hIUVVGVExGTkJRVlZCTEVOQlEzSkhMRU5CUms5R0xFVkJRVk1zWlVGQlFVTXNSVUZMVkN4VFFVRlRSU3hGUVVGalJDeEZRVUZuUkN4RFFVTXhSU3hSUVVGVFJTeExRVUZYUml4RlFVRlBMRWRCUVVrc1EwRkJRMFFzUlVGQlpVY3NRMEZCVHl4RlFVRkhMRTFCUVU4c1IwRkZhRVVzVFVGQlR5eEZRVU5ZTEVOQlNrOUtMRVZCUVZNc1YwRkJRVWNzUlVGUFZDeFRRVUZUUlN4RlFVRlZTQ3hGUVVGclF5eERRVU40UkN4UlFVRlRSU3hMUVVGWFJpeEZRVUZQTEVkQlFVbEVMRVZCUVdWSExFTkJRVThzUlVGQlJ5eE5RVUZQTEVkQlJTOUVMRTFCUVU4c1JVRkRXQ3hEUVVwUFNpeEZRVUZUTEU5QlFVRkxMRVZCVDFRc1UwRkJVME1zUlVGQlUwTXNSVUZCYVVRc1EwRkRkRVVzUjBGQlNVNHNSVUZCWlUwc1EwRkJVU3hGUVVOMlFpeFBRVUZQUkN4RlFVRk5ReXhGUVVGVExFbEJRVWtzUlVGRGRrSXNSMEZCU1Vvc1JVRkJWMGtzUTBGQlVTeEZRVUZITEVOQlF6ZENMRWxCUVVrMVJDeEZRVUZUTEVWQlEySXNVVUZCVXpaRUxFdEJRVmxFTEVWQlFWVTFSQ3hIUVVGVk1rUXNSVUZCVFVVc1JVRkJVeXhKUVVGSkxFVkJRelZFTEU5QlFVODNSQ3hEUVVOWUxFdEJRMGtzVVVGQlR6UkVMRVZCUVZNc1RVRkZlRUlzUTBGV1QxQXNSVUZCVXl4TlFVRkJUU3hGUVdGVUxGTkJRVk5ITEVWQlFWTkdMRVZCUVhWQ1J5eEZRVUZsUXl4RlFVRXdRaXhEUVVOeVJpeEhRVUZKUVN4SFFVRlBSQ3hGUVVGUExFMUJRVThzUTBGQlF5eEZRVU14UWl4SFFVRkpUQ3hGUVVGUFJTeERRVUZSTEVWQlFVY3NUMEZCVDBFc1JVRkJVeXhOUVVGTlJ5eEZRVUZQUXl4RFFVRkhMRVZCUjNSRUxFbEJRVWw2UWl4RlFVRlJMRVZCUTFJd1FpeEZRVUZQTEVWQlExZ3NTMEZCVHpGQ0xFVkJRVkZ4UWl4RlFVRlRMRkZCUVZWTExFVkJRVTlPTEVWQlFVMURMRVZCUVZOeVFpeERRVUZMTEVOQlFVTXNSMEZCUzNkQ0xFZEJReTlFUlN4SFFVRlJUaXhGUVVGTlF5eEZRVUZUY2tJc1EwRkJTeXhEUVVGRExFVkJRemRDUVN4SlFVbEtMRWRCUVVsQkxFZEJRVk54UWl4RlFVRlRMRTlCUVZFc1RVRkJUeXhEUVVGRExFVkJSWFJETEVsQlFVMDFSQ3hGUVVGblJDeERRVUZETEVWQlEzWkVMRXRCUVU5MVF5eEZRVUZSY1VJc1JVRkJVeXhSUVVGVlN5eEZRVUZQUkN4SFFVRkxMRU5CUXpGRExFbEJRVTFGTEVWQlFWRk9MRVZCUVZOeVFpeERRVUZMTEVWQlEzUkNORUlzUlVGQldWSXNSVUZCVFU4c1EwRkJTeXhGUVVOMlFrVXNSVUZCWVN4TFFVRkxMRWxCUVVsSUxFVkJRVTFHTEVOQlFVc3NSVUZEYWtOTkxFVkJRVmNzUzBGQlN5eEpRVUZKUml4RlFVRlpSaXhGUVVGTlJDeERRVUZITEVWQlJTOURhRVVzUlVGQlR5eExRVUZMTEVOQlExSXNTVUZCUzJ0RkxFVkJRVTBzU1VGRFdDeExRVUZOU2l4RlFVRk5TU3hGUVVGTkxFdEJRVTFGTEVWQlFXRklMRVZCUVUxSkxFVkJRVmRLTEVOQlFVa3NRMEZET1VRc1EwRkJReXhGUVVWRVFTeEhRVUZSUlN4RlFVTlNOVUlzUjBGRFNpeERRVVZCTEU5QlFVOTJReXhEUVVOWUxFTkJhRU5QY1VRc1JVRkJVeXhOUVVGQlV5eEpRV3hEU0ZRc1VVRkJRU3hMUTJoYVZpeEpRVUZOYVVJc1IwRkJUaXhOUVVGTlF5eERRVUZqTEVOQlIyaENMRmxCUVcxQ1F5eEZRVUZWTEVOQlFWWXNWMEZCUVVFc1JVRkRkRUlzUzBGQlN5eFhRVUZoTEVWQlEzUkNMRU5CUlU4c1NVRkJUME1zUlVGQk9FSXNRMEZEZUVNc1QwRkJUeXhKUVVGSlJpeEZRVUZSUlN4RlFVRkZMRXRCUVVzc1MwRkJTeXhEUVVGRExFTkJRM0JETEVOQlJVOHNVVUZCVjBFc1JVRkJlVU1zUTBGRGRrUXNUMEZCVDBFc1JVRkJSU3hMUVVGTExFdEJRVXNzUTBGRGRrSXNRMEZGVHl4UFFVRlZRU3hGUVVFNFFpeERRVU16UXl4UFFVRlBMRWxCUTFnc1EwRkZUeXhOUVVGalF5eEZRVUZ2UWtNc1JVRkJjVU1zUTBGRE1VVXNUMEZCVHl4TFFVRkxMRWxCUVVsRUxFTkJRVWtzUTBGRGVFSXNRMEZGVHl4UFFVRlBSU3hGUVVGakxFTkJRM2hDTEU5QlFVOHNTMEZCU3l4TFFVTm9RaXhEUVVWUExFMUJRWGRDTEVOQlF6TkNMRTlCUVU4c1NVRkRXQ3hEUVVWUExGbEJRVmxETEVWQlFXZERMRU5CUXk5RExFOUJRVThzUzBGQlN5eExRVU5vUWl4RFFVTktMRVZCUzJGRExFZEJRVTRzVFVGQlRVTXNRMEZCWXl4RFFVZG9RaXhaUVVGdFFrTXNSVUZCVlN4RFFVRldMRmRCUVVGQkxFVkJRM1JDTEV0QlFVc3NWMEZCWVN4RlFVTjBRaXhEUVVWUExFbEJRVTlETEVWQlFTdENMRU5CUTNwRExFOUJRVThzU1VGRFdDeERRVVZQTEZGQlFWZEJMRVZCUVRCRExFTkJRM2hFTEU5QlFVOHNTVUZEV0N4RFFVVlBMRTlCUVZWU0xFVkJRVGhDTEVOQlF6TkRMRTlCUVU4c1NVRkJTVTBzUlVGQlVVNHNSVUZCUlN4TFFVRkxMRXRCUVVzc1EwRkJReXhEUVVOd1F5eERRVVZQTEUxQlFXTlRMRVZCUVhGQ1F5eEZRVUZ2UXl4RFFVTXhSU3hQUVVGUExFdEJRVXNzVDBGQlQwRXNRMEZCU1N4RFFVTXpRaXhEUVVWUExFOUJRVTlZTEVWQlFXRXNRMEZEZGtJc1QwRkJUMEVzUTBGRFdDeERRVVZQTEUxQlFYZENMRU5CUXpOQ0xFOUJRVThzU1VGRFdDeERRVVZQTEZsQlFWbFpMRVZCUVN0Q0xFTkJRemxETEUxQlFVbEJMRVZCUVdVc1NVRkJTU3hOUVVGTlFTeEZRVUZSTEV0QlFVc3NTMEZCU3l4RFFVRkRMRVZCUTNKRExFbEJRVWtzVFVGQlRTeEhRVUZMTEV0QlFVc3NTMEZCU3l4RFFVTjRReXhEUVVOS0xFVkJXV2xDUXl4UFFVRldMRU5CUlVrc1UwRkJVME1zUlVGQlkyUXNSVUZCZDBJc1EwRkRiRVFzVDBGQlR5eEpRVUZKUml4SFFVRlJSU3hEUVVGTExFTkJRelZDTEVOQlJrOWhMRVZCUVZNc1VVRkJRVU1zUlVGTFZDeFRRVUZUUXl4RlFVRmpVQ3hGUVVGM1FpeERRVU5zUkN4UFFVRlBMRWxCUVVsR0xFZEJRVkZGTEVOQlFVc3NRMEZETlVJc1EwRkdUMHNzUlVGQlV5eFJRVUZCUlN4RlFVdFVMRk5CUVZORExFVkJRMXBETEVWQlEwRkRMRVZCUTBFc1JVRkRXU3hEUVVOYUxFOUJRVWxFTEVWQlFVMHNWMEZEUmtNc1JVRkJUeXhYUVVGdFFpeEZRVUZGUkN4RlFVRk5MRTFCUVU5RExFVkJRVThzUzBGQlN5eEZRVU0zUTBnc1JVRkJVVWNzUlVGQlR5eExRVUZMTEVWQlJYcENTQ3hGUVVGUlJTeEZRVUZOTEV0QlFVc3NRMEZGYkVNc1EwRllUMG9zUlVGQlV5eFRRVUZCUnl4RlFXTlVMRk5CUVZOSExFVkJRMXBHTEVWQlEwRkRMRVZCUTBFc1JVRkRXU3hEUVVOYUxFOUJRVTlHTEVWQlFWTkRMRVZCUVU5RExFVkJRVkVzUTBGQlEwVXNSVUZCUjBNc1NVRkJUVkFzUlVGQlVTeEZRVUZGVFN4RlFVRkhReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVU0zUkN4RFFVNVBVaXhGUVVGVExFdEJRVUZOTEVWQlUxUXNVMEZCVTBjc1JVRkJaMEpETEVWQlFXOUNReXhGUVVGclJDeERRVU5zUnl4SlFVRk5ReXhGUVVGakxFTkJRVU1zUlVGRGNrSXNVVUZCVjBNc1MwRkJWMGdzUlVGQlR5eERRVU42UWl4SlFVRk5TU3hGUVVGVFNDeEZRVUZMUlN4RFFVRlBMRVZCUXpOQ0xFZEJRVWtzUTBGQlEwTXNSVUZCVHl4WFFVRlpMRTlCUVU5QkxFVkJRVThzUzBGQlN5eEZRVVV6UTBZc1JVRkJUeXhMUVVGTFJTeEZRVUZQTEV0QlFVc3NRMEZETlVJc1EwRkZRU3hQUVVGUFpDeEZRVUZQTEZGQlFWRlpMRU5CUVUwc1EwRkRhRU1zUTBGV1Qxb3NSVUZCVXl4UFFVRkJVeXhGUVdGVUxGTkJRVk5OTEVWQlFWVkRMRVZCUVdsRExFTkJRM1pFTEVkQlFVa3NRMEZEUVN4UFFVRlBhRUlzUlVGQlR5eFJRVUZSWjBJc1JVRkJTeXhEUVVGRExFTkJRMmhETEU5QlFWTnlRaXhGUVVGUExFTkJRMW9zVDBGQlQwc3NSVUZCVHl4UlFVRlJUQ3hEUVVGTExFTkJReTlDTEVOQlEwb3NRMEZPVDBzc1JVRkJVeXhQUVVGQlpTeEZRVk5vUWl4bFFVRnpRa1VzUlVGQlUwTXNSVUZCWjBRc1EwRkRNMFVzUjBGQlNTeERRVU5CTEU5QlFVOXNRaXhGUVVGUExGRkJRVkVzVFVGQlRXdENMRU5CUVU4c1EwRkRka01zVDBGQlUzWkNMRVZCUVU4c1EwRkRXaXhQUVVGUFN5eEZRVUZQTEZGQlFWRk1MRU5CUVVzc1EwRkRMMElzUTBGRFNpeERRVTVCU3l4RlFVRnpRaXhOUVVGQmFVSXNTVUY2UkZScVFpeFJRVUZCTEV0RE9VVldMRWxCUVZWdFFpeFBRVUZXTEVOQlJWVkJMRVZCUVVFc1YwRkJlVUlzUTBGQlJTeExRVUZOTEZsQlFXRXNSVUZGT1VOQkxFVkJRVUVzVVVGQmJVSXNRMEZCUlN4TFFVRk5MRk5CUVZVc1JVRkZja05CTEVWQlFVRXNWVUZCYzBJc1NVRkJTU3hKUVVkb1F5eFRRVUZUUXl4RlFVRlJReXhGUVVGM1FpeERRVU0xUXl4UFFVRkpRU3hGUVVGSkxFMUJRVkVzUlVGQlZVWXNSVUZCUVN4UlFVVnVRaXhEUVVGRkxFdEJRVTBzVDBGQlVTeE5RVUZQUlN4RFFVRkpMRU5CUTNSRExFTkJTazlHTEVWQlFWTXNTMEZCUVVNc1JVRlBWQ3hUUVVGVFJTeEZRVUZaUXl4RlFVRXlRaXhEUVVOdVJDeFBRVUZKUVN4RlFVRmpTaXhGUVVGQkxGZEJRMDVCTEVWQlFVRXNUMEZEYUVJc1EwRklUMEVzUlVGQlV5eFRRVUZCUnl4RlFVMVVMRk5CUVZORkxFVkJRV2RDU0N4RlFVRnZReXhEUVVOb1JTeFBRVUZQUVN4SlFVRlJMRTlCUVZsRUxFVkJRVXRETEVOQlFVY3NSVUZCU1VZc1JVRkJRU3hQUVVNelF5eERRVVpQUVN4RlFVRlRMR0ZCUVVGTExFVkJTMVFzVTBGQlUwTXNSVUZCVjBvc1JVRkJkMElzUTBGREwwTXNUMEZCU1VFc1JVRkJTU3hOUVVGUkxFVkJRVlZHTEVWQlFVRXNWMEZGYmtJc1EwRkJSU3hMUVVGTkxGVkJRVmNzVFVGQlQwVXNRMEZCU1N4RFFVTjZReXhEUVVwUFJpeEZRVUZUTEZGQlFVRk5MRVZCVDFRc1UwRkJVME1zUlVGQlZVTXNSVUZCT0VJc1EwRkRjRVFzVDBGQlVVRXNSVUZCVHl4TFFVRk5MRU5CUTJwQ0xFbEJRVXNzWVVGRFJDeFBRVUZQVWl4RlFVRkJMRkZCUTFnc1NVRkJTeXhWUVVORUxFOUJRVTlCTEVWQlFVRXNWMEZEV0N4SlFVRkxMRTlCUTBRc1QwRkJUMDBzUlVGQlVVVXNSVUZCVHl4TFFVRkxMRVZCUXk5Q0xFbEJRVXNzVlVGRFJDeFBRVUZQVUN4RlFVRkxUeXhGUVVGUExFdEJRVXNzUTBGRGFFTXNRMEZEU2l4RFFWaFBVaXhGUVVGVExFOUJRVUZQTEVWQlkxUXNVMEZCVTBVc1JVRkJVMFFzUlVGQk5FSXNRMEZEYWtRc1QwRkJVVUVzUlVGQlR5eExRVUZOTEVOQlEycENMRWxCUVVzc1lVRkRSQ3hOUVVGUExFZEJRMWdzU1VGQlN5eFZRVU5FTEUxQlFVOHNSMEZEV0N4SlFVRkxMRTlCUTBRc1QwRkJUMEVzUlVGQlR5eE5RVUZOTEUxQlFWRXNSVUZEYUVNc1NVRkJTeXhWUVVORUxFMUJRVThzUlVGRFppeERRVU5LTEVOQldFOVNMRVZCUVZNc1RVRkJRVk1zUlVGalZDeFRRVUZUUXl4RlFVRlhSaXhGUVVGdFFrY3NSVUZCTkVJc1EwRkRkRVVzVDBGQlVVZ3NSVUZCVHl4TFFVRk5MRU5CUTJwQ0xFbEJRVXNzWVVGRFJDeFBRVUZQUnl4RlFVTllMRWxCUVVzc1ZVRkRSQ3hQUVVGUFdDeEZRVUZCTEZWQlExZ3NTVUZCU3l4UFFVTkVMRTlCUVU5UkxFVkJRVThzVFVGRGJFSXNTVUZCU3l4VlFVTkVMRTlCUVU5SkxFVkJRWEZDUkN4RlFVRlpTQ3hGUVVGUExFdEJRVXNzUTBGRE5VUXNRMEZEU2l4RFFWaFBVaXhGUVVGVExGRkJRVUZWTEVWQlkxUXNVMEZCVTBjc1JVRkJZVU1zUlVGQk1FTXNRMEZEYmtVc1QwRkJUME1zUlVGQlkwUXNSVUZCVjBVc1IwRkJUVUVzUTBGQlF5eERRVU16UXl4RFFVWlBhRUlzUlVGQlV5eFZRVUZCWVN4RlFVdFVMRk5CUVZORkxFVkJRMXBFTEVWQlEwRkhMRVZCUTFNc1EwRkRWQ3hQUVVGUFF5eEZRVUY1UWtvc1JVRkJWMFVzUjBGQlRVY3NSMEZCVHl4UlFVRlJSaXhGUVVGUlJDeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRmxCUVZrc1EwRkROMFlzUTBGTVQyaENMRVZCUVZNc1kwRkJRV1VzUlVGUlZDeFRRVUZUUnl4RlFVTmFTaXhGUVVOQlJ5eEZRVU52UWl4RFFVTndRaXhKUVVGTlJ5eEZRVUZyUWl4RFFVRkRMRVZCUTI1Q1F5eEZRVUZ6UWl4RFFVRkRMRVZCUXpkQ0xGRkJRVk5ETEV0QlFWZFNMRVZCUVZVc1EwRkRNVUlzU1VGQlRWTXNSVUZCWTA0c1JVRkJVVXNzUTBGQlR5eEZRVU51UXl4SFFVRkpMRU5CUVVORExFVkJRVmtzVjBGQldTeFBRVUZQUVN4RlFVRlpMRXRCUVVzc1JVRkZja1FzU1VGQlRXWXNSVUZCVTJVc1JVRkJXU3hOUVVNelFpeEhRVUZKWml4SlFVRlhMRTlCUjJZc1NVRkJTVU1zUlVGQlRVUXNRMEZCVFN4RlFVRkhMRTlCUVU5WExFZEJRVThzVVVGQlVXNUNMRVZCUVVFc1QwRkJUeXhGUVVVMVExRXNSVUZCVHl4UFFVRlRMR1ZCUjJoQ1FTeEZRVUZQTEUxQlFWRXNUMEZCVVZrc1JVRkJUU3hMUVVGTFdpeEZRVUZQTEV0QlFVc3NSVUZEZWtOQkxFVkJRVThzVFVGQlVTeFhRVUZYWVN4RlFVRlZMRXRCUVV0aUxFVkJRVThzUzBGQlN5eEhRVU5zUlN4RFFWRkJMRTlCUVVsWkxFVkJRVTBzVVVGQlZTeEhRVUZMUXl4RlFVRlZMRkZCUVZVc1JVRkRiRU5HTEVkQlFVOHNVVUZCVVc1Q0xFVkJRVUVzVlVGQlZTeEZRVU42UW05Q0xFVkJRVTBzVDBGQlV5eEhRVUZMUXl4RlFVRlZMRkZCUVZVc1JVRkRlRU5HTEVkQlFVOHNVVUZCVVd4Q0xFVkJRVXQxUWl4RlFVRmhTaXhEUVVGTExFTkJRVU1zUTBGQlF5eEZRVU40UTBFc1JVRkJUU3hSUVVGVkxFZEJRVXRETEVWQlFWVXNUMEZCVXl4RlFVTjRRMFlzUjBGQlR5eFJRVUZSWWl4RlFVRlJiVUlzUlVGQlUwb3NRMEZCVXl4RFFVRkRMRU5CUVVNc1JVRkZNME5HTEVkQlFVOHNVVUZCVVc1Q0xFVkJRVkVzUzBGQlMxa3NSVUZCY1VKWkxFVkJRV0ZLTEVOQlFVc3NSVUZCUjBzc1JVRkJVMG9zUTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVVXhSeXhEUVhSRFQzSkNMRVZCUVZNc2VVSkJRVUZyUWl4RlFYbERWQ3hUUVVGVFVTeEZRVUZUUXl4RlFVRjVReXhEUVVNNVJDeFBRVUZQUXl4RlFVRlZSQ3hGUVVGVldDeEhRVUZOUVN4RFFVRkRMRU5CUTNSRExFTkJSazlvUWl4RlFVRlRMRTFCUVVFd1FpeEZRVXRVTEZOQlFWTkZMRVZCUVdkQ1pDeEZRVUYxUWtjc1JVRkJlVVFzUTBGRE5VY3NUMEZCVDFrc1JVRkJhMEptTEVWQlFWZEZMRWRCUVUxSExFZEJRVThzVVVGQlVVWXNSVUZCVVVRc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFpRVUZaTEVOQlEzUkdMRU5CUms5b1FpeEZRVUZUTEZWQlFVRTBRaXhGUVV0VUxGTkJRVk5ETEVWQlExcG1MRVZCUTBGSExFVkJRMjlDTEVOQlEzQkNMRWxCUVUxSExFVkJRV3RDTEVOQlFVTXNSVUZEYmtKRExFVkJRWE5DTEVOQlFVTXNSVUZETjBJc1VVRkJVME1zUzBGQlYxSXNSVUZCVlN4RFFVTXhRaXhKUVVGTlV5eEZRVUZqVGl4RlFVRlJTeXhEUVVGUExFVkJRMjVETEVkQlFVa3NRMEZCUTBNc1JVRkJXU3hYUVVGWkxFOUJRVTlCTEVWQlFWa3NTMEZCU3l4RlFVVnlSQ3hKUVVGTlppeEZRVUZUWlN4RlFVRlpMRTFCUXpOQ0xFZEJRVWxtTEVsQlFWY3NUMEZIWml4SlFVRkpRU3hGUVVGUExFOUJRVk1zWVVGQll5eFBRVUZQVnl4SFFVRlBMRkZCUVZGdVFpeEZRVUZCTEZWQlFWVXNSVUZGT1VSVExFVkJRVTFFTEVOQlFVMHNTVUZIV2tFc1JVRkJUeXhOUVVGUkxFOUJRVkZaTEVWQlFVMHNTMEZCUzFvc1JVRkJUeXhMUVVGTExFVkJRM3BEUVN4RlFVRlBMRTFCUVZFc1YwRkJWMkVzUlVGQlZTeExRVUZMWWl4RlFVRlBMRXRCUVVzc1IwRkRiRVVzUTBGWFFTeFBRVUZKV1N4RlFVRk5MRkZCUVZVc1IwRkJTME1zUlVGQlZTeFJRVUZWTEVWQlEyeERSaXhIUVVGUExGRkJRVkZ1UWl4RlFVRkJMRTlCUVU4c1JVRkRkRUp2UWl4RlFVRk5MRTlCUVZNc1IwRkJTME1zUlVGQlZTeFJRVUZWTEVWQlEzaERSaXhIUVVGUExGRkJRVkZ1UWl4RlFVRlJMRXRCUVV0NVFpeEZRVUZUVEN4RFFVRkxMRU5CUVVNc1EwRkJReXhGUVVNMVEwRXNSVUZCVFN4UlFVRlZMRWRCUVV0RExFVkJRVlVzVDBGQlV5eEZRVU40UTBZc1IwRkJUeXhSUVVGUmJrSXNSVUZCVVN4UlFVRlJkMElzUlVGQllVZ3NRMEZCVXl4RFFVRkRMRU5CUVVNc1JVRkZka1JHTEVkQlFVOHNVVUZCVVdJc1JVRkJVVTBzUlVGQmNVSlpMRVZCUVdGSUxFTkJRVk1zUlVGQlIwa3NSVUZCVTB3c1EwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVVZ5Unl4RFFYcERUM0JDTEVWQlFWTXNhMEpCUVVFMlFpeEZRVFJEVkN4VFFVRlRUQ3hGUVVGblFrMHNSVUZCZDBJc1EwRkRjRVFzUjBGQlNVRXNSVUZCU3l4UlFVRlZMRVZCUVVjc1QwRkJUeXhKUVVGSkxFbEJRelZDTEVkQlFVbEJMRVZCUVVzc1VVRkJWU3hGUVVGSExFOUJRVTlCTEVWQlFVc3NRMEZCUXl4RlFVZDRReXhKUVVGSlF5eEZRVUZWTEVOQlFVTXNSVUZCWlN4UFFVRlBSQ3hEUVVGSkxFVkJRVVVzUzBGQlN5eERRVUZEUlN4RlFVRkhReXhKUVVGTlJDeEZRVUZGTEV0QlFVOURMRVZCUVVVc1NVRkJTU3hGUVVWNlJTeExRVUZQUml4RlFVRlBMRTlCUVZNc1IwRkJSeXhEUVVOMFFpeEpRVUZOUnl4RlFVRlRMRWxCUVVrc1NVRkRZa01zUlVGQlZVb3NSVUZCVHl4SlFVRkpMRVZCUlROQ0xGRkJRVk5VTEV0QlFWZFRMRVZCUVU4c1EwRkJReXhGUVVOd1Fra3NSVUZCVVN4SlFVRkpZaXhEUVVGUExFZEJRVWRaTEVWQlFVOHNTVUZCU1Zvc1EwRkJUeXhGUVVkb1JGTXNSVUZCVHl4RFFVRkRMRVZCUVVsSExFTkJRMmhDTEVOQlJVRXNUMEZCVDBnc1JVRkJUeXhEUVVGRExFTkJRMjVDTEVOQmJrSlBMMElzUlVGQlV5eGhRVUZCZDBJc1JVRnpRbFFzVTBGQlUwTXNSVUZCV1Vzc1JVRkJkMElzUTBGRGFFUXNSMEZCU1VFc1JVRkJTeXhSUVVGVkxFVkJRVWNzVDBGQlR5eEpRVUZKTEVsQlF6VkNMRWRCUVVsQkxFVkJRVXNzVVVGQlZTeEZRVUZITEU5QlFVOUJMRVZCUVVzc1EwRkJReXhGUVVkNFF5eEpRVUZOU1N4RlFVRlRMRWxCUVVrc1NVRkRia0lzVVVGQlYyaERMRXRCUVU4MFFpeEZRVU5rTEZGQlFWZFNMRXRCUVZkd1FpeEZRVU5zUW1kRExFVkJRVThzU1VGQlNWb3NRMEZCVHl4RlFVa3hRaXhQUVVGUFdTeERRVU5ZTEVOQllrOXNReXhGUVVGVExGTkJRVUY1UWl4RlFXZENWQ3hUUVVGVFlpeEZRVUYzUWxnc1JVRkJZMHNzUlVGQmVVSXNRMEZETTBVc1IwRkJTVXdzUlVGQlN5eExRVUZQU3l4RlFVRlJMRXRCUVUwc1EwRkZNVUlzU1VGQlRUUkNMRVZCUVZNc1NVRkJTU3hKUVVGSmFrTXNRMEZCU1N4RlFVTXpRaXhSUVVGVGNVSXNTMEZCVjJoQ0xFVkJRMmhDTkVJc1JVRkJUeXhQUVVGUFdpeERRVUZQTEVWQlIzcENMRTlCUVU5WkxFTkJRMWdzUzBGQmRVTXNRMEZEYmtNc1NVRkJUVUVzUlVGQlV5eEpRVUZKTEVsQlEyNUNMRkZCUVZOYUxFdEJRVmR5UWl4RlFVTmFTeXhGUVVGUkxFbEJRVWxuUWl4RFFVRlBMRWRCUTNaQ1dTeEZRVUZQTEVsQlFVbGFMRU5CUVU4c1JVRkhkRUlzVDBGQlQxa3NRMEZEV0N4RFFVTktMRU5CYkVKUGJFTXNSVUZCVXl4eFFrRkJRVmtzU1VFNVRraGFMRkZCUVVFc1MwTnBSVllzU1VGQlZXOURMRTlCUVZZc1EwRkZWVUVzUlVGQlFTeEpRVUZqTEU5QlJYQkNMRk5CUVZORExFVkJRVk5ETEVWQlFXdERMRU5CUTNaRUxFMUJRVThzUTBGQlJTeExRVUZOTEZkQlFWa3NTMEZCUVVFc1EwRkJTeXhEUVVOd1F5eERRVVpQUml4RlFVRlRMRk5CUVVGRExFVkJTVlFzVTBGQlUwVXNSVUZCVVVNc1JVRkJiVU1zUTBGRGRrUXNUVUZCVHl4RFFVRkZMRXRCUVUwc1ZVRkJWeXhOUVVGQlFTeERRVUZOTEVOQlEzQkRMRU5CUms5S0xFVkJRVk1zVVVGQlFVY3NSVUZKVkN4VFFVRlRSU3hGUVVGVFF5eEZRVUZyUWtNc1JVRkJZME1zUlVGQkswSXNRMEZEY0VZc1RVRkJUeXhEUVVGRkxFdEJRVTBzVjBGQldTeExRVUZCUml4RlFVRk5MRWRCUVVGRExFVkJRVWtzVFVGQlFVTXNRMEZCVFN4RFFVTXZReXhEUVVaUFVpeEZRVUZUTEZOQlFVRkxMRVZCU1ZRc1UwRkJVMGtzUlVGQlRVTXNSVUZCYVVKRUxFVkJRU3RDTEVOQlEyeEZMRTFCUVU4c1EwRkJSU3hMUVVGTkxGZEJRVmtzUzBGQlRVTXNSVUZCU3l4TlFVRlBSQ3hGUVVGUExFZEJRVWtzVDBGQlVTeERRVU53UlN4RFFVWlBWQ3hGUVVGVExFMUJRVUZUTEVWQlMxUXNVMEZCVTBVc1JVRkJZMVFzUlVGQk1FSXNRMEZEY0VRc1NVRkJTVlVzUlVGQlVWWXNSVUZCU3l4TlFVRk5MRWRCUVVjc1JVRkRkRUpYTEVWQlFYRkNZaXhGUVVGWkxGTkJRVk5aTEVWQlFVMHNRMEZCUXl4RFFVRkRMRVZCUTNSRUxGRkJRVk5JTEVWQlFWRXNSVUZCUjBFc1JVRkJVVWNzUlVGQlRTeFBRVUZSU0N4SlFVTjBRMGtzUlVGQlUySXNSVUZCV1N4TlFVRk5ZU3hGUVVGUllpeEZRVUZaTEZGQlFWRlpMRVZCUVUxSUxFTkJRVXNzUTBGQlF5eERRVUZETEVWQlIzaEZMRTlCUVU5SkxFTkJRMWdzUTBGU1QySXNSVUZCVXl4alFVRkJWeXhGUVZWVUxGTkJRVk5ITEVWQlFVOURMRVZCUVdkQ1dDeEZRVUZ4UXl4RFFVTjRSU3hOUVVGUExFTkJRVVVzUzBGQlRTeFRRVUZWTEZWQlFWZFhMRVZCUVUwc1RVRkJRVmdzUTBGQlRTeERRVU53UkN4RFFVWlBTaXhGUVVGVExFOUJRVUZqTEVWQlNWUXNVMEZCVTBVc1JVRkJTMEVzUlVGQmEwSkVMRVZCUVhkRExFTkJRek5GTEUxQlFVOHNRMEZCUlN4TFFVRk5MRmRCUVZrc1MwRkJRVU1zUlVGQlRTeFZRVUZYUkN4RFFVRkxMRU5CUTNKRUxFTkJSazltTEVWQlFWTXNTMEZCUVdkQ0xFVkJTVlFzVTBGQlUwTXNSVUZCUzBNc1JVRkJjME1zUTBGRGRrUXNUVUZCVHl4RFFVRkZMRXRCUVUwc1QwRkJVU3hQUVVGQlFTeERRVUZQTEVOQlEyeERMRU5CUms5c1FpeEZRVUZUTEV0QlFVRnBRaXhGUVVsVUxGTkJRVk5GTEVWQlFVOUVMRVZCUVhORUxFTkJRM3BGTEUxQlFVOHNRMEZCUlN4TFFVRk5MRk5CUVZVc1QwRkJRVUVzUTBGQlR5eERRVU53UXl4RFFVWlBiRUlzUlVGQlV5eFBRVUZCYlVJc1JVRkpWQ3hUUVVGVFF5eEZRVUZQUXl4RlFVRnpReXhEUVVONlJDeE5RVUZQTEVOQlFVVXNTMEZCVFN4VlFVRlhMRTFCUVVGQkxFTkJRVTBzUTBGRGNFTXNRMEZHVDNKQ0xFVkJRVk1zVDBGQlFXOUNMRVZCU1ZRc1UwRkJVMFVzUlVGQldXWXNSVUZCSzBJc1EwRkRka1FzVDBGQlQwRXNSMEZCVFN4TlFVRlJRU3hIUVVGTkxFdEJRVTlCTEVkQlFVMHNTMEZCVDBFc1IwRkJUU3hOUVVGUlFTeEhRVUZOTEUxQlFWRkJMRWRCUVUwc1IwRkRja1lzUTBGR1QxQXNSVUZCVXl4WlFVRkJjMElzUlVGTFZDeFRRVUZUUXl4RlFVRnBRa01zUlVGQmEwSkRMRVZCUVhGQ0xFbEJRVWtzU1VGQlNTeERRVUZEZWtJc1JVRkJRU3hIUVVGSExFTkJRVU1zUlVGQlowSXNRMEZEYWtjc1QwRkJVWGRDTEVWQlFVc3NTMEZCVFN4RFFVTm1MRWxCUVVzc1YwRkZSQ3hQUVVOSlFTeEZRVUZMTEV0QlFVOHNVMEZEV2tFc1JVRkJTeXhMUVVGTExFMUJRVkVzV1VGRGJFSkJMRVZCUVVzc1MwRkJTeXhOUVVGUmVFSXNSVUZCUVN4TFFVTnNRbmRDTEVWQlFVc3NUVUZCVFN4TlFVRlJMRmRCUTI1Q1JTeEhRVUZUTEZOQlFWTkdMRVZCUVVzc1RVRkJUU3hMUVVGTExFVkJSVGxDUXl4RlFVRk5MRWxCUVVsRUxFVkJRVXNzVFVGQlRTeExRVUZMTEVWQlFWVXNTVUZCU1N4SlFVTm9ReXhKUVVGSkxFbEJRVWtzUTBGQlEwRXNSVUZCU3l4TlFVRk5MRXRCUVVzc1EwRkJReXhGUVVsdVEwY3NSMEZCVVN4VFFVRlRMRU5CUVVOS0xFVkJRV2xDUXl4RlFVRkxMRXRCUVUxRExFTkJRVXNzUlVGQlIwWXNSVUZCYVVKRExFVkJRVXNzVFVGQlQwTXNRMEZCU3l4RFFVRkRMRU5CUVVNc1JVRkRja2NzU1VGQlN5eFhRVU5FTEU5QlFVOUZMRWRCUVZFc1UwRkJVMGdzUlVGQlN5eFZRVUZWTEVsQlFVdEpMRWRCUVUxTUxFVkJRV2xDU3l4RlFVRkhTQ3hEUVVGTExFTkJRVU1zUTBGQlF5eEZRVU5xUml4SlFVRkxMRk5CUTBRc1NVRkJUVWtzUlVGQlYwb3NSMEZCUVN4TFFVRkJRU3hGUVVGVExFbEJRVWtzU1VGRE9VSXNVVUZCVjBzc1MwRkJUMDRzUlVGQlN5eFZRVUZYU3l4RlFVRlRMRWxCUVVsRExFTkJRVWNzUlVGRmJFUXNUMEZCVDFBc1JVRkJhVUpETEVWQlFVc3NUVUZCVDBzc1EwRkJVU3hGUVVOb1JDeEpRVUZMTEU5QlEwUXNUMEZCVDBZc1IwRkJVU3hUUVVGVFNDeEZRVUZMTEU5QlFVOHNTVUZCUzA4c1IwRkJUVklzUlVGQmFVSlJMRVZCUVVkT0xFTkJRVXNzUTBGQlF5eERRVUZETEVWQlF6bEZMRWxCUVVzc1ZVRkRSQ3hQUVVGUFJpeEZRVUZwUWtNc1JVRkJTeXhOUVVGUFF5eERRVUZMTEVWQlF6ZERMRWxCUVVzc1UwRkRSQ3hQUVVGUFJTeEhRVUZSTEZOQlFWTXNUMEZCVHl4UFFVRlBTQ3hGUVVGTExFMUJRVTBzUlVGQlJTeEpRVUZMVHl4SFFVRk5VaXhGUVVGcFFsRXNSVUZCUjA0c1EwRkJTeXhEUVVGRExFTkJRVU1zUlVGRE4wWXNTVUZCU3l4WFFVTkVMRTlCUVVsQkxFZEJRVk5CTEVWQlFVMHNTVUZCU1VRc1JVRkJTeXhKUVVGSkxFVkJRVlVzU1VGQlNTeEpRVU5zUXl4SlFVRkpMRWxCUVVrc1EwRkJRMEVzUlVGQlN5eEpRVUZKTEVOQlFVTXNSVUZEYmtNc1NVRkJTeXhWUVVORUxFOUJRVThzU1VGQlNTeEhRVU51UWl4RFFVTktMRU5CY0VOUGVFSXNSVUZCVXl4cFFrRkJRWFZDTEVWQmRVTlVMRk5CUVZOVExFVkJRVk5TTEVWQlFUQkNMRU5CUXk5RExFOUJRVkZCTEVWQlFVc3NTMEZCVFN4RFFVTm1MRWxCUVVzc1YwRkRSQ3hQUVVGSlFTeEZRVUZMTEV0QlFVOHNVVUZEVEN4SFFVRkhVU3hGUVVGVFVpeEZRVUZMTEVsQlFVa3NRMEZCUXl4SlFVRkpVU3hGUVVGVFVpeEZRVUZMTEV0QlFVc3NRMEZCUXl4SlFVZHNSQ3hIUVVGSFVTeEZRVUZUVWl4RlFVRkxMRWxCUVVrc1EwRkJReXhKUVVGSlFTeEZRVUZMTEVWQlFVVXNTVUZCU1ZFc1JVRkJVMUlzUlVGQlN5eExRVUZMTEVOQlFVTXNSMEZEY0VVc1NVRkJTeXhYUVVORUxFMUJRVThzUjBGQlIxRXNSVUZCVTFJc1JVRkJTeXhKUVVGSkxFTkJRVU1zU1VGQlNVRXNSVUZCU3l4VlFVRlZMRWxCUVVsUkxFTkJRVkVzUlVGQlJTeExRVUZMTEVsQlFVa3NRMEZCUXl4SlFVTTFSU3hKUVVGTExGTkJRMFFzVFVGQlR5eEpRVUZKVWl4RlFVRkxMRlZCUVZVc1MwRkJTeXhKUVVGSkxFTkJRVU1zVVVGQlVWRXNSVUZCVTFJc1JVRkJTeXhMUVVGTExFTkJRVU1zUjBGRGNFVXNTVUZCU3l4UFFVTkVMRTFCUVU4c1NVRkJTVUVzUlVGQlN5eFBRVUZQTEVsQlFVbFJMRU5CUVZFc1JVRkJSU3hMUVVGTExFbEJRVWtzUTBGQlF5eEpRVU51UkN4SlFVRkxMRlZCUTBRc1RVRkJUeXhKUVVGSlFTeEZRVUZUVWl4RlFVRkxMRXRCUVVzc1EwRkJReXhIUVVOdVF5eEpRVUZMTEZOQlEwUXNUVUZCVHl4SlFVRkpMRTlCUVU4c1VVRkJVVUVzUlVGQlN5eE5RVUZOTEVWQlEyaERMRWxCUVVrc1EwRkJReXhEUVVGRFV5eEZRVUZIUml4RFFVRkRMRWxCUVUwc1IwRkJSMFVzUTBGQlF5eExRVUZMUkN4RlFVRlRSQ3hEUVVGRExFTkJRVU1zUlVGQlJTeEZRVU4wUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhKUVVOdVFpeEpRVUZMTEZkQlEwUXNUMEZCVDFBc1JVRkJTeXhMUVVOb1FpeEpRVUZMTEZWQlEwUXNTVUZCVFZVc1JVRkJWVklzUjBGQlV5eFZRVUZWUml4RlFVRkxMRXRCUVVzc1JVRkROME1zUjBGQlNTeERRVUZEVlN4RlFVRlRMRTFCUVU4c1QwRkRja0lzVDBGQlVVRXNSVUZCVVN4TFFVRk5MRU5CUTJ4Q0xFbEJRVXNzVTBGRFJDeE5RVUZQTEVsQlFVbEJMRVZCUVZFc1MwRkJTeXhKUVVNMVFpeFJRVU5KTEU5QlFVOVNMRWRCUVZNc1UwRkJVMUVzUlVGQlVTeExRVUZMTEVOQlF6bERMRU5CUTFJc1EwRkRTaXhEUVdoRFQyeERMRVZCUVZNc1UwRkJRV2RETEVWQmEwTklhRU1zUlVGQlFTeExRVUZQUVN4RlFVRlpMRkZCUVZFc1NVRkJTU3hKUVdwSkwwSkJMRkZCUVVFc1MwcG1WaXhKUVVGTmJVTXNSVUZCWlN4cFFrRkJiVU1zUTBGRE0wUXNUMEZCVTBNc1IwRkRTQ3hUUVVGUExIRkNRVUZ4UWl4RlFVTjZRaXhKUVVGTFF5eEhRVUZSTEU5QlFVOHNWMEZCVjBFc1EwRkJSeXhEUVVGRExFVkJRMjVETEV0QlFVc3NVVUZCVVN4RlFVZDBRaXhQUVVGVFF5eEhRVU5JTEZOQlFVOHNSMEZCUnl4RlFVTlFMRXRCUTBzc1RVRkJTVUVzUlVGQlJTeG5Ra0ZCYlVJc1UwRkJUeXhMUVVGTExFTkJRVU1zUlVGRGJrTXNVVUZCVVN4RFFVRkRMRVZCUTFRc1NVRkJTME1zUjBGQlZVRXNSVUZCVFN4TFFVRkxMRVZCUVVVc1EwRkJReXhEUVVOMFF5eEZRVU5ETEV0QlFVOHNVMEZCVHl4SFFVRkhMRU5CUVVNc1JVRkRiRUlzUzBGQlN5eFJRVUZSTEVWQlJYUkNMR2RDUVVGclFrZ3NSMEZEV2l4VFFVRlBMRWxCUVVrc1JVRkRVaXhMUVVGUExFdEJRVWNzUlVGRFZpeEpRVUZMU1N4SFFVVkZRU3hKUVVGWkxFbEJRVmtzU1VGRGVFSkJMRWxCUVZrc1MwRkJZU3hMUVVOcVFpeExRVUZQUVN4RFFVTjBRaXhGUVVkVUxFdEJRVTlLTEVkQlEwUXNVMEZCVHl4MVFrRkJkVUlzUlVGRE0wSXNTVUZCUzBNc1IwRkJVVUVzUlVGQlNTeFpRVUZaTEVkQlFVc3NUVUZCVFN4RlFVTjRReXhMUVVGTExGTkJRVk1zUlVGSGRrSXNTVUZCVFVRc1IwRkRRU3hUUVVOSkxGTkJRVThzUjBGQlJ5eEZRVU5XTEUxQlFVMHNVMEZCVHl4cFJVRkJhVVVzUlVGQlJTeExRVUZMTEUxQlFVMHNRMEZCUXl4RlFVRkZMRXRCUVVzc1JVRkRja2NzUTBGQlEwc3NSVUZCVDBNc1NVRkJVMFFzUlVGQlVVTXNSVUZCU3l4TFFVRkxMRVZCUVVVc1EwRkRla01zUlVGQlJTeExRVUZMTEV0QlFVc3NSVUZIYUVJc1YwRkJZVTRzUjBGRFVDeFRRVU5KTEUxQlFVMHNVMEZCVHl4blFrRkJaMElzUlVGQlN5eFRRVUZQVHl4RlFVRlhMRVZCUVVVc1MwRkJTeXhOUVVGTkxFTkJRVU1zUlVGRGJFVXNUVUZCVFN4VFFVRlBMSEZDUVVGeFFpeEZRVUZMTEZOQlFVOUJMRVZCUVZjc1JVRkJSU3hMUVVGTExFMUJRVTBzUTBGQlF5eEZRVUZGTEV0QlFVc3NSVUZEYUVZc1EwRkJRME1zUlVGQlQwWXNTVUZCVTBVc1JVRkJVVVlzUlVGQlN5eExRVUZMTEVWQlFVVXNRMEZEZWtNc1JVRkJSU3hMUVVGTExGVkJRVlVzUlVGSGNrSXNTMEZCVDA0c1IwRkRSQ3hUUVVGUExIVkNRVUYzUWl4RFFVRkRMRVZCUXpkQ0xFbEJRVXRUTEVkQlFXTkRMRWRCUVVzc1YwRkJWMFFzUTBGQlV5eERRVUZETEVWQlF6ZERMRXRCUVVzc1YwRkJWeXhGUVVsNlFpeFZRVUZaVUN4SFFVTk9MRk5CUVZNc1UwRkJUeXhIUVVGSExFVkJRVVVzVDBGQlR5eERRVUZETEVWQlFVZEJMRVZCUVVVc1MwRkJUU3hEUVVGRFV5eEZRVUZIUXl4TFFVTjBRMFFzUlVGQlJTeFBRVUZUTEVsQlFVZERMRVZCUVVVc1RVRkJVU3hKUVVOeVFrRXNSVUZEVml4RlFVRkZMRXRCUVVzc1YwRkJWeXhGUVVkMlFpeG5Ra0ZCYTBKYUxFZEJRMW9zVTBGQlR5eE5RVUZOTEVWQlExWXNTVUZCUzBNc1IwRkJVVUVzUTBGQlpTeEZRVU0xUWl4TFFVRkxMRmxCUVZrc1JVRkhNVUlzWVVGQlpVUXNSMEZEVkN4VFFVRlBMRk5CUVZNc1JVRkRZaXhKUVVGTFF5eEhRVUZSUVN4RFFVRmxMRVZCUXpWQ0xFdEJRVXNzYlVKQlFXMUNMRVZCUjJwRExHZENRVUZyUWtRc1IwRkRXaXhUUVVGUExHZENRVUZuUWl4RlFVTndRaXhKUVVGTFF5eEhRVUZSUVN4RFFVRmxMRVZCUXpWQ0xFdEJRVXNzTWtOQlFUSkRMRVZCUjNwRUxGbEJRV05FTEVkQlExSXNVMEZCVHl4UlFVRlJMRVZCUTFvc1NVRkJTMkVzUjBGQlV5eEhRVUZsTEVWQlF6ZENMRXRCUVVzc1QwRkJUeXhGUVVOeVFpeFhRVUZoWWl4SFFVTlFMRk5CUVU4c1VVRkJVU3hGUVVOYUxFbEJRVXRoTEVkQlFWTXNSMEZCWlN4RlFVTTNRaXhMUVVGTExFMUJRVTBzUlVGSGNFSXNVMEZCVjJJc1IwRkRUQ3hUUVVGVExGTkJRVThzVDBGQlR5eEZRVUZMTEZOQlFVOHNSMEZCUnl4RlFVRkxMRk5CUVU4c1QwRkJUeXhGUVVGSExFTkJRVU5qTEVWQlFVMWtMRVZCUVVkbExFbEJRemRFUXl4RlFVRlRMRmRCUVZjc1EwRkJSU3hMUVVGTkxFOUJRVThzVTBGQlUwWXNRMEZCU1N4RlFVRkhMRTFCUVU4c1QwRkJUeXhUUVVGVFF5eERRVUZMTEVOQlFVVXNRMEZCUXl4RFFVTTFSaXhGUVVGRkxFdEJRVXNzZVVOQlFYbERMRVZCUTNKRUxHTkJRV2RDWml4SFFVTldMRTFCUTBVc1IwRkJSeXhQUVVGUExFdEJRVXRwUWl4RlFVRmxMRVZCUTNwQ0xFdEJRVXNzUTBGQlEwTXNSVUZCUjBNc1NVRkJUVUVzUlVGQlJTeFBRVUZUUkN4RlFVRkZMRTFCUVUwc1JVRkRiRU1zU1VGQlRTeFJRVUZOTEVOQlEzSkNMRVZCUTBvc1MwRkJUMmhDTEVkQlEwaHJRaXhIUVVOSmJFSXNSVUZCUlN4VFFVTkViVUlzUjBGRFN5eFRRVUZUTEZOQlFVOHNSMEZCUnl4RlFVRkxMRk5CUVU4c1QwRkJUeXhGUVVGSExFTkJRVU55UWl4RlFVRkhjMElzU1VGQlVVUXNSVUZCUnl4SlFVRkpMRU5CUVVVc1NVRkJTeXhQUVVGUExGTkJRVk5ETEVOQlFVY3NRMEZCUlN4RFFVRkRMRU5CUVVNc1JVRkRMMFpETEVkQlEwc3NVMEZCVXl4VFFVRlBMRWRCUVVjc1JVRkJTeXhUUVVGUExFOUJRVThzUlVGQlJ5eERRVUZEZGtJc1JVRkJSM2RDTEVsQlFWTkVMRVZCUVVrc1NVRkJTU3hEUVVGRkxFdEJRVTBzVDBGQlR5eFRRVUZUUXl4RFFVRkpMRU5CUVVVc1EwRkJReXhEUVVGRExFVkJRMjVIUXl4SFFVTkxMRk5CUVZNc1UwRkJUeXhIUVVGSExFVkJRVXNzVTBGQlR5eFBRVUZQTEVWQlFVY3NRMEZCUTNwQ0xFVkJRVWN3UWl4SlFVTXpRMFFzUlVGQlN5eEpRVUZKTEVOQlFVVXNUMEZCVVN4UFFVRlBMRk5CUVZORExFTkJRVTBzUTBGQlJTeERRVUZETEVOQlEyaEVMRVZCUTBoRExFZEJRMHNzVTBGQlV5eFRRVUZQTEVkQlFVY3NSVUZCU3l4VFFVRlBMRTlCUVU4c1JVRkJSeXhEUVVGRE0wSXNSVUZCUnpSQ0xFbEJRek5EUkN4RlFVRk5MRWxCUVVrc1EwRkJSU3hQUVVGUkxFOUJRVThzVTBGQlUwTXNRMEZCVFN4RFFVRkZMRU5CUVVNc1EwRkRha1FzUlVGRFNFTXNSMEZEU3l4TlFVTkpMRk5CUVZNc1UwRkJUeXhIUVVGSExFVkJRVXNzVTBGQlR5eFBRVUZQTEVWQlFVY3NRMEZCUXpkQ0xFVkJRVWM0UWl4SlFVTXpRMFFzUlVGQlR5eEpRVUZKTEVOQlFVVXNXVUZCWVN4UFFVRlBMRk5CUVZORExFTkJRVmNzUTBGQlJTeERRVUZETEVOQlF6VkVMRVZCUTBVc1ZVRkJVVVFzUTBGQlRTeERRVU53UWl4RlFVTklSU3hIUVVOTExFMUJRMGtzVTBGQlV5eFRRVUZQTEVkQlFVY3NSVUZCUlN4SFFVRkxMRk5CUVU4c1IwRkJSeXhEUVVGRExFVkJRVXNzVTBGQlR5eHJRa0ZCYTBJc1JVRkJSeXhEUVVGRFF5eEZRVUZKUXl4SlFVTjZSVVlzUlVGQlJ5eFJRVUZSTEUxQlFWRkRMRVZCUVV0RExFVkJRVWtzUTBGQlJTeGpRVUZsTEVWQlFVc3NRMEZCUXl4RFFVTjJSQ3hGUVVORkxGTkJRVk1zVTBGQlR5eEhRVUZITEVWQlFVY3NTVUZCVFVZc1JVRkJSeXhSUVVGUkxFMUJRVThzUTBGQlJTeGpRVUZsTEVWQlFVc3NRMEZCUXl4RFFVRkRMRVZCUTNSRkxGTkJRVk1zVTBGQlR5eEhRVUZITEVWQlFVc3NVMEZCVHl4dFFrRkJiVUlzUlVGQlN5eFRRVUZQTEVkQlFVY3NSVUZCUnl4RFFVRkRSeXhGUVVGSlF5eEZRVUZOUXl4SlFVTTNSVXdzUlVGQlJ5eFJRVUZSU1N4RlFVRk5MRU5CUVVVc1kwRkJaU3hGUVVGTExFTkJRVU1zUTBGRE5VTXNRMEZEU2l4RFFVTlNMRVZCUTBzc1QwRkJVVW9zUjBGQmFVSkJMRVZCUVVjc1VVRkJVeXhaUVVGWkxFVkJRMnBFTEV0QlFVc3NlVU5CUVhsRExFVkJSM1pFTEZOQlFWYzNRaXhIUVVOTUxFMUJRMFZCTEVWQlFVVXNZMEZCWXl4SlFVRkxiVU1zUjBGQlRYQkNMRWRCUVdkQ2IwSXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkRMME51UXl4RlFVRkZMRWxCUTA0c1JVRkJSU3hMUVVGTExIbEVRVUY1UkN4RlFVZHdSU3hoUVVGbFJpeEhRVU5VTEUxQlEwVXNSMEZCUnl4UFFVRlBMRXRCUVV0elF5eEZRVUZqTEVWQlEzaENMRXRCUVVzc1EwRkJRM0JDTEVWQlFVZERMRWxCUVUxQkxFVkJRVVVzVDBGQlUwUXNSVUZCUlN4TlFVRk5MRVZCUTJ4RExFbEJRVTBzVVVGQlRTeERRVU55UWl4RlFVTktMRk5CUVZkb1FpeEhRVU5NTEZOQlFVOUJMRVZCUVVVc1QwRkJWU3huUWtGQlpVRXNSVUZCUlN4aFFVRmpMRU5CUVVOeFF5eEZRVUZQZGtNc1JVRkJSM2RETEVsQlF6TkVSaXhIUVVGbFJTeERRVUZETEVWQlFVVXNVMEZCVlVNc1IwRkJUVUVzUlVGQlNVWXNRMEZCU3l4RFFVTXZReXhGUVVOTExFOUJRVk1zVTBGQlR5eEhRVUZITEVWQlFVVXNTMEZCVHl4bFFVRmhMRVZCUVVVc1IwRkJTeXhsUVVGaExFTkJRVU1zUlVGRE9VUXNTVUZCUzBjc1IwRkJZMEVzUlVGQlZTeFBRVUZQTEVOQlFVTXZRaXhGUVVGSFowTXNTVUZCVFdoRExFVkJRVVVzUzBGQlMyZERMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRM2hFTEV0QlFVc3NkVUpCUVhWQ0xFVkJSM0pETEZGQlFWVXpReXhIUVVGUkxGTkJRVThzVFVGQlRTeEZRVWN2UWl4blFrRkJhMEpGTEVkQlExb3NUVUZEUlVFc1JVRkJSU3hMUVVOR1FTeEZRVUZGTEZOQlFWTXNTVUZCUzIxRExFZEJRVTFQTEVkQlFXdENVQ3hEUVVGRExFTkJRVU1zUlVGRE1VTnVReXhGUVVGRkxFOUJRMFpCTEVWQlFVVXNTVUZEUmtFc1JVRkJSU3hWUVVOR1FTeEZRVUZGTEV0QlEwWkJMRVZCUVVVc1QwRkRSa0VzUlVGQlJTeFBRVU5PTEVWQlEwb3NaMEpCUVd0Q1FTeEhRVUZOUVN4RlFVRkZMR2RDUVVGblFpeE5RVUZSTEZOQlFVOHNSMEZCUnl4RlFVRkZMRXRCUVU4c1pVRkJZU3hGUVVGRkxGVkJRVlZCTEVWQlFVVXNaVUZCWlN4RFFVRkRMRVZCUTJoSUxGbEJRV05CTEVkQlExSXNUVUZEU1N4VFFVRlBRU3hGUVVGRkxHZENRVUZ0UWl4VFFVRlBMRWRCUVVjc1JVRkJSU3hMUVVGUExHVkJRV0VzUlVGQlIwRXNSVUZCUlN4blFrRkJhVUlzUTBGQlF6SkRMRVZCUVVkRExFVkJRVWxzUXl4SlFVTjRSaXhEUVVGRGFVTXNRMEZCUXl4RlFVRkZMRTlCUVU5cVF5eERRVUZETEVOQlEyaENMRVZCUTBGV0xFVkJRVVVzWlVGRFRpeERRVU5TTEVOQlFVTXNSVUZIUzBzc1IwRkJZeXhKUVVGSkxFOUJRVTkzUXl4SFFVRlhMRVZCUVVjc1JVRkJSU3hGUVVkc1ExUXNSMEZCYVVJc1EwRkRNVUlzUzBGQlRWVXNSVUZCVXl4WFFVRlhMRU5CUVVVc1RVRkJUeXhEUVVGRkxFTkJRVU1zUlVGRGRFTXNUVUZCVDBFc1JVRkJVeXhYUVVGWExFTkJRVVVzVFVGQlR5eERRVUZGTEVOQlFVTXNSVUZEZGtNc1IwRkJTVUVzUlVGQlV5eFhRVUZYTEVOQlFVVXNUVUZCVHl4RFFVRkZMRU5CUVVNc1JVRkRjRU1zU1VGQlMwRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1RVRkJUeXhEUVVGRkxFTkJRVU1zUlVGRmNrTXNUVUZCVDBFc1JVRkJVeXhYUVVGWExFTkJRVVVzVDBGQlVTeERRVUZGTEVOQlFVTXNSVUZEZUVNc1QwRkJVVUVzUlVGQlV5eFhRVUZYTEVOQlFVVXNUMEZCVVN4RFFVRkZMRU5CUVVNc1JVRkRla01zUjBGQlNVRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1QwRkJVU3hEUVVGRkxFTkJRVU1zUlVGRGNrTXNTVUZCUzBFc1JVRkJVeXhYUVVGWExFTkJRVVVzVDBGQlVTeERRVUZGTEVOQlFVTXNSVUZGZEVNc1MwRkJUVUVzUlVGQlV5eFhRVUZYTEVOQlFVVXNUVUZCVHl4RFFVRkZMRU5CUVVNc1JVRkRkRU1zVFVGQlQwRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1RVRkJUeXhEUVVGRkxFTkJRVU1zUlVGRGRrTXNSMEZCU1VFc1JVRkJVeXhYUVVGWExFTkJRVVVzVFVGQlR5eERRVUZGTEVOQlFVTXNSVUZEY0VNc1NVRkJTMEVzUlVGQlV5eFhRVUZYTEVOQlFVVXNUVUZCVHl4RFFVRkZMRU5CUVVNc1JVRkRja01zUlVGQlIwRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1RVRkJUeXhEUVVGRkxFTkJRVU1zUlVGRmJrTXNTVUZCUzBFc1JVRkJVeXhYUVVGWExFTkJRVVVzUzBGQlRTeERRVUZGTEVOQlFVTXNSVUZEY0VNc1MwRkJUVUVzUlVGQlV5eFhRVUZYTEVOQlFVVXNTMEZCVFN4RFFVRkZMRU5CUVVNc1JVRkRja01zUlVGQlIwRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1MwRkJUU3hEUVVGRkxFTkJRVU1zUlVGRmJFTXNTMEZCVFVFc1JVRkJVeXhYUVVGWExFTkJRVVVzVFVGQlR5eERRVUZGTEVOQlFVTXNSVUZEZEVNc1RVRkJUMEVzUlVGQlV5eFhRVUZYTEVOQlFVVXNUVUZCVHl4RFFVRkZMRU5CUVVNc1JVRkRka01zUjBGQlNVRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1RVRkJUeXhEUVVGRkxFTkJRVU1zUlVGRGNFTXNTVUZCUzBFc1JVRkJVeXhYUVVGWExFTkJRVVVzVFVGQlR5eERRVUZGTEVOQlFVTXNSVUZEY2tNc1JVRkJSMEVzUlVGQlV5eFhRVUZYTEVOQlFVVXNUVUZCVHl4RFFVRkZMRU5CUVVNc1JVRkZia01zVDBGQlVVRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1VVRkJVeXhEUVVGRkxFTkJRVU1zUlVGRE1VTXNVVUZCVTBFc1JVRkJVeXhYUVVGWExFTkJRVVVzVVVGQlV5eERRVUZGTEVOQlFVTXNSVUZETTBNc1NVRkJTMEVzUlVGQlV5eFhRVUZYTEVOQlFVVXNVVUZCVXl4RFFVRkZMRU5CUVVNc1JVRkRka01zUzBGQlRVRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1VVRkJVeXhEUVVGRkxFTkJRVU1zUlVGRGVFTXNSVUZCUjBFc1JVRkJVeXhYUVVGWExFTkJRVVVzVVVGQlV5eERRVUZGTEVOQlFVTXNSVUZGY2tNc1QwRkJVVUVzUlVGQlV5eFhRVUZYTEVOQlFVVXNVVUZCVXl4RFFVRkZMRU5CUVVNc1JVRkRNVU1zVVVGQlUwRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1VVRkJVeXhEUVVGRkxFTkJRVU1zUlVGRE0wTXNTVUZCUzBFc1JVRkJVeXhYUVVGWExFTkJRVVVzVVVGQlV5eERRVUZGTEVOQlFVTXNSVUZEZGtNc1MwRkJUVUVzUlVGQlV5eFhRVUZYTEVOQlFVVXNVVUZCVXl4RFFVRkZMRU5CUVVNc1JVRkRlRU1zUlVGQlIwRXNSVUZCVXl4WFFVRlhMRU5CUVVVc1VVRkJVeXhEUVVGRkxFTkJRVU1zUTBGRGVrTXNSVUZIWVM5Q0xFZEJRV3RDTEVOQlF6TkNMRWxCUVVzc1NVRkJUVVFzUlVGQlV5eE5RVUZOTEVWQlF6RkNMRTFCUVU4c1NVRkJUVUVzUlVGQlV5eE5RVUZOTEVWQlFVVXNVVUZCVVN4TFFVRkxMRVZCUXpORExGVkJRVmNzU1VGRFVFRXNSVUZCVXl4TlFVRk5MRVZCUTFZc1VVRkJVU3hMUVVGTExFVkJRMklzVFVGQlRXZERMRVZCUVZNc1YwRkJWeXhEUVVGRkxFdEJRVTBzUTBGQlJTeERRVUZETEVOQlFVTXNSVUZETDBNc1UwRkJWU3hKUVVOT2FFTXNSVUZCVXl4TlFVRk5MRVZCUTFZc1VVRkJVU3hMUVVGTExFVkJRMklzUzBGQlMyZERMRVZCUVZNc1YwRkJWeXhEUVVGRkxFdEJRVTBzUTBGQlJTeERRVUZETEVOQlFVTXNSVUZET1VNc1NVRkJTeXhKUVVGTmFFTXNSVUZCVXl4TlFVRk5MRVZCUVVVc1VVRkJVU3hOUVVGTkxFVkJRekZETEdkQ1FVRnBRaXhKUVVGTlFTeEZRVUZUTEUxQlFVMHNSVUZCUlN4UlFVRlJMRTFCUVUwc1JVRkRkRVFzU1VGQlN5eEpRVUZOUVN4RlFVRlRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFMUJRVTBzUlVGRGVFTXNZMEZCWlN4SlFVRk5RU3hGUVVGVExFMUJRVTBzUlVGQlJTeE5RVUZOTEUxQlFVMHNSVUZEYkVRc1NVRkJTeXhKUVVGTlFTeEZRVUZUTEUxQlFVMHNSVUZCUlN4UlFVRlJMRTFCUVUwc1JVRkRNVU1zWjBKQlFXbENMRWxCUVUxQkxFVkJRVk1zVFVGQlRTeEZRVUZGTEZGQlFWRXNUVUZCVFN4RlFVTjBSQ3hKUVVGTExFbEJRVTFCTEVWQlFWTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1RVRkJUU3hGUVVONFF5eGpRVUZsTEVsQlFVMUJMRVZCUVZNc1RVRkJUU3hGUVVGRkxFMUJRVTBzVFVGQlRTeEZRVU5zUkN4SlFVRkxMRWxCUVUxQkxFVkJRVk1zVFVGQlRTeEZRVUZGTEZGQlFWRXNUMEZCVHl4RlFVTXpReXhwUWtGQmEwSXNTVUZCVFVFc1JVRkJVeXhOUVVGTkxFVkJRVVVzVVVGQlVTeFBRVUZQTEVWQlEzaEVMRWxCUVVzc1NVRkJUVUVzUlVGQlV5eE5RVUZOTEVWQlFVVXNUVUZCVFN4UFFVRlBMRVZCUTNwRExHVkJRV2RDTEVsQlFVMUJMRVZCUVZNc1RVRkJUU3hGUVVGRkxFMUJRVTBzVDBGQlR5eERRVU40UkN4RlFTdERZV2xETEVkQlFXVXNhVUpCUVcxRExFTkJSVE5FTEZOQlFWZHFSQ3hIUVVGTlJDeEZRVUZYTEZkQlFWY3NTVUZCU1cxRUxFZEJRVmtzVVVGQlVTeEZRVUZGTEV0QlFVc3NWVUZCVlN4RlFVTm9SaXhQUVVGVGJFUXNSMEZCVFVRc1JVRkJWeXhQUVVGUExFbEJRVWx0UkN4SFFVRlpMRTlCUVU4c1JVRkJSU3hMUVVGTExGRkJRVkVzUlVGRGRrVXNUMEZCVTJ4RUxFZEJRVTFFTEVWQlFWY3NUMEZCVHl4SlFVRkpiVVFzUjBGQldTeFBRVUZQTEVWQlFVVXNTMEZCU3l4UlFVRlJMRVZCUTNaRkxFdEJRVTlzUkN4SFFVRk5SQ3hGUVVGWExFdEJRVXNzU1VGQlNXMUVMRWRCUVZrc1QwRkJUeXhGUVVGRkxFdEJRVXNzVTBGQlV5eEZRVU53UlN4TFFVRlBiRVFzUjBGRFNHMUVMRWRCUVdVc1QwRkJVWEJFTEVWQlFWY3NVVUZCVVN4RlFVTnlReXhKUVVGSkxFTkJRVU1zUTBGQlEzRkVMRVZCUVU5RExFTkJRVWtzU1VGQlRVZ3NSMEZCV1N4UlFVRlJSeXhEUVVGSkxFTkJRVU1zUlVGRGFFUXNTMEZCU3l4TlFVRk5MRVZCUTNCQ0xGTkJRVmR5UkN4SFFVTlFiVVFzUjBGQlpTeE5RVUZQY0VRc1JVRkJWeXhSUVVGUkxFVkJRM0JETEVsQlFVa3NRMEZCUXl4RFFVRkRjVVFzUlVGQlQwVXNRMEZCUnl4SlFVRk5TaXhIUVVGWkxGRkJRVkZKTEVOQlFVY3NRMEZCUXl4RlFVTTVReXhMUVVGTExGVkJRVlVzUlVGRGVFSXNTMEZCVDNSRUxFZEJRVTFFTEVWQlFWY3NVVUZCVVN4SlFVRkxReXhIUVVGTmEwUXNSMEZCV1N4SlFVRkpMRVZCUXpORUxFdEJRVTlzUkN4SFFVRk5SQ3hGUVVGWExFdEJRVXNzU1VGQlNXMUVMRWRCUVZrc1QwRkJUeXhGUVVOd1JDeExRVUZQYUVRc1IwRkRTRUVzUlVGQlJTeFhRVU5ITEUxQlFWRXNVMEZCVHl4SFFVRkhMRVZCUVVVc1MwRkJUeXhsUVVGaExFTkJRVU1zUlVGRGVrTXNTMEZCVHl4VFFVRlBMRWRCUVVjc1JVRkJSU3hMUVVGUExHVkJRV0VzUlVGQlN5eG5Ra0ZCWXl4TFFVRlBMRk5CUVU4c1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGRE4wVXNTVUZCUzFVc1IwRkJUWE5ETEVkQlFWa3NTMEZCUzNSRExFTkJRVU1zUTBGQlF5eEZRVU01UWl4TFFVRkxMRTFCUVUwc1JVRkRjRUlzVDBGQlUxWXNSMEZEU0N4VFFVTkZTQ3hGUVVGWExGZEJRVmNzUjBGQlIwRXNSVUZCVnl4TlFVRk5MRVZCUTNoRExGTkJRVThzUjBGQlJ5eEZRVUZGTEV0QlFVOHNaVUZCWVN4RlFVTnNRMGNzUlVGQlJTeFhRVU5HTEVOQlFVTnhSQ3hGUVVGTlF5eEZRVUZOUXl4TFFVTkdMRU5CUVVVc1MwRkJRVVlzUlVGQlRTeE5RVUZCUlN4RFFVRk5MRVZCUlRkQ0xFVkJRMHNzVFVGQlVTeFRRVUZQTEVkQlFVY3NSVUZCUlN4TFFVRlBMR1ZCUVdFc1EwRkJReXhGUVVONlF5eExRVUZQTEZOQlFVOHNSMEZCUnl4RlFVRkZMRXRCUVU4c1pVRkJZU3hGUVVGTExHZENRVUZqTEV0QlFVOHNVMEZCVHl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVNM1JTeEpRVUZMUXl4SFFVRlRMRU5CUTFnc1NVRkJTVU1zUlVGQmEwTXNRMEZCUXl4RlFVTjJReXhSUVVGVFF5eExRVUZUUml4RlFVRk5ReXhGUVVGSlF5eEZRVUZOTEVsQlFVa3NSVUZCU1VFc1JVRkJUU3hOUVVOb1JDeFBRVUZQVml4SFFVRlpMRTlCUVU5VExFTkJRVWNzUTBGRGFrTXNRMEZCUXl4RlFVTkJMRXRCUVVzc01rSkJRVEpDTEVWQlJYcERMRXRCUVU5NlJDeEhRVU5FTEUxQlJVVklMRVZCUVZjc1ZVRkJWU3hKUVVGTFlTeEhRVUZOYzBNc1IwRkJXU3hSUVVGUmRFTXNRMEZCUXl4RFFVRkRMRVZCUTNSRVZpeEZRVUZGTEZGQlEwWkJMRVZCUVVVc1MwRkRSa0VzUlVGQlJTeExRVU5HUVN4RlFVRkZMRTlCUTBaQkxFVkJRVVVzVDBGRFJrRXNSVUZCUlN4UFFVTkdRU3hGUVVGRkxFdEJRMFpCTEVWQlFVVXNUMEZEUmtFc1JVRkJSU3hQUVVOR1FTeEZRVUZGTEV0QlEwWkJMRVZCUVVVc1UwRkRSa0VzUlVGQlJTeExRVU5HUVN4RlFVRkZMRkZCUTA0c1JVRkRTaXhOUVVGUlFTeEhRVU5HTEZOQlFVOUJMRVZCUVVVc1MwRkJVU3hOUVVGSlFTeEZRVUZGTEZkQlFWbEJMRVZCUVVVc1lVRkJZMEVzUlVGQlJTeGxRVUZsTEVWQlFVVXNTMEZCU3l4RlFVRkhMRU5CUVVNeVJDeEZRVUZMUXl4SlFVRmpMRU5CUTJoSExFbEJRVWxETEVWQlFWTkdMRVZCUTJJc1VVRkJVMGNzUzBGQlVVWXNSVUZEWWl4UFFVRlJSU3hGUVVGTExFdEJRVTBzUTBGRFppeEpRVUZMTEUxQlEwUkVMRVZCUVZOaUxFZEJRVmtzVFVGQlRXRXNSVUZCVVdJc1IwRkJXU3hSUVVGUll5eEZRVUZMTEVsQlFVa3NRMEZCUXl4RlFVTnFSU3hOUVVOS0xFbEJRVXNzVVVGRFJFUXNSVUZCVTJJc1IwRkJXU3hOUVVGTllTeEZRVUZSUXl4RlFVRkxMRWxCUVVrc1JVRkROVU1zVFVGRFNpeEpRVUZMTEZkQlEwUkVMRVZCUVZOaUxFZEJRVmtzUzBGQlMyRXNSVUZCVVVNc1JVRkJTeXhMUVVGTExFVkJRelZETEV0QlExSXNRMEZIU2l4UFFVRlBSQ3hEUVVOWUxFTkJRVU1zUlVGRFRDeFJRVUZWTjBRc1IwRkJVU3hUUVVGVExGTkJRVThzUjBGQlJ5eEZRVUZIUVN4RlFVRkZMRTFCUVU4c1EwRkJRMFlzUlVGQlIybEZMRWxCUVZWbUxFZEJRVmtzVDBGQlQyVXNRMEZCU3l4RFFVRkRMRVZCUVVVc1MwRkJTeXhsUVVGbExFVkJRemxITEU5QlFWTXZSQ3hIUVVGTlFTeEZRVUZGTEZkQlFWY3NTMEZCVHl4bFFVRmhMRVZCUVVVc1MwRkJUeXhUUVVGUExFZEJRVWNzUlVGQlN5eFRRVUZQTEVkQlFVY3NRMEZCUXl4RlFVTnVSaXhQUVVGVFFTeEhRVU5JTEZOQlEwVklMRVZCUVZjc1YwRkRUaXhOUVVGUkxGTkJRVThzUjBGQlJ5eEZRVUZGTEV0QlFVOHNaVUZCWVN4RFFVRkRMRVZCUTNwRExFdEJRVThzVTBGQlR5eEhRVUZITEVWQlFVVXNTMEZCVHl4bFFVRmhMRVZCUVVzc1UwRkJUeXhIUVVGSExFVkJRVVVzUzBGQlR5eGxRVUZoTEVOQlFVTXNSVUZEYUVZc1UwRkJUeXhKUVVGSkxFVkJRVVVzUzBGQlR5eGxRVUZoTEVWQlEyNURSeXhGUVVGRkxGZEJRMFlzUTBGQlEyZEZMRVZCUVU5RExFVkJRVk5XTEV0QlEwNHNRMEZCUlN4TFFVRk5MRk5CUVZVc1ZVRkJWMU1zUlVGQlR5eE5RVUZCVkN4RFFVRk5MRVZCUlhwRUxFVkJSVW9zVjBGQllYWkVMRWRCUVZFc1UwRkJVeXhUUVVGUExFZEJRVWNzUlVGQlIwZ3NSVUZCVnl4WFFVRlpMRU5CUVVORExFVkJRVWR2UlN4TFFVRlZMRU5CUVVVc1MwRkJUU3hOUVVGUExFdEJRVUZCTEVOQlFVc3NSVUZCUlN4RlFVTjBSeXhoUVVGbGJFVXNSMEZEVkN4VFFVTkpMRk5CUVU4c1IwRkJSeXhGUVVOV0xHZENRVU5HUVN4RlFVRkZMRmRCUTBFc1owSkJRMEVzVTBGQlR5eEhRVUZITEVWQlExb3NRMEZCUTBZc1JVRkJSM0ZGTEVWQlFVbEVMRVZCUVUxRkxFVkJRVWxETEV0QlExQXNRMEZCUlN4TFFVRk5MRkZCUVZNc1MwRkJRVWdzUTBGQlN5eEZRVVZ5UXl4RlFVTktMR2RDUVVGclFteEZMRWRCUTFvc1UwRkRTU3hUUVVGUExFZEJRVWNzUlVGRFZpeG5Ra0ZEUmtFc1JVRkJSU3hYUVVGWExFMUJRVkVzVTBGQlR5eEhRVUZITEVWQlFVVXNTMEZCVHl4bFFVRmhMRU5CUVVNc1JVRkRjRVFzWjBKQlEwRXNVMEZCVHl4SFFVRkhMRVZCUTFvc1EwRkJRMFlzUlVGQlIzZEZMRVZCUVVsRExFVkJRVTlLTEVWQlFVbERMRXRCUTFJc1EwRkJSU3hMUVVGTkxGZEJRVmtzVFVGQlFVY3NRMEZCVFN4RlFVVjZReXhGUVVkS0xHRkJRV1YyUlN4SFFVRk5kMFVzUjBGQmJVSjRSU3hGUVVGRkxFMUJRVTlJTEVWQlFWY3NZVUZCWTIxRUxFZEJRVmtzVVVGQlVTeEZRVU01Uml4blFrRkJhMEpvUkN4SFFVRk5kMFVzUjBGQmJVSjRSU3hGUVVGRkxHRkJRV05JTEVWQlFWY3NaMEpCUVdsQ2JVUXNSMEZCV1N4UlFVRlJMRVZCUXpOSExHTkJRV2RDYUVRc1IwRkJUWGRGTEVkQlFXMUNlRVVzUlVGQlJTeG5Ra0ZCYVVKSUxFVkJRVmNzWjBKQlFXbENiVVFzUjBGQldTeFJRVUZSTEVWQlF6VkhMR05CUVdkQ2FFUXNSMEZEV25kRkxFZEJRVzFDZUVVc1JVRkJSU3hqUVVGbFNDeEZRVUZYTEZsQlFWa3NSMEZCUjBFc1JVRkJWeXhWUVVGVkxFVkJRVWR0UkN4SFFVRlpMRkZCUVZFc1JVRkRPVWNzVTBGQlYyaEVMRWRCUVUxQkxFVkJRVVVzWTBGRmJrSXNWMEZCWVVFc1IwRkJUVUVzUlVGQlJTeFJRVU42UWl4RFFVRkRMRVZCWjBOWmVVVXNSMEZCVlN4cFFrRkJPRUlzUTBGRGFrUXNVMEZCVnpORkxFZEJRVTFFTEVWQlFWY3NTVUZCU1N4SlFVRkxNRVFzU1VGQlZ5eERRVUZGTEV0QlFVMHNVMEZCVlN4TlFVRkJRU3hEUVVGTkxFVkJRVVVzUlVGRE1VVXNVVUZCVlhwRUxFZEJRVTF0UkN4SFFVRmxMRXRCUVUxd1JDeEZRVUZYTEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRME1zUlVGQlJ6UkZMRU5CUVVVc1MwRkJUeXhEUVVGRkxFdEJRVTBzUzBGQlRTeE5RVUZQUVN4RFFVRkhMRVZCUVVVc1JVRkRjRWNzVlVGQldUVkZMRWRCUTA0c1UwRkJUeXhIUVVGSExFVkJRMUFzUzBGQlMwUXNSVUZCVnl4VlFVRlZMRVZCUXpGQ0xFbEJRVXN3UkN4SlFVRlhMRU5CUVVVc1MwRkJUU3hSUVVGVExFMUJRVTlCTEVOQlFVMHNSVUZCUlN4RlFVVjZSQ3hWUVVGWmVrUXNSMEZEVW0xRUxFZEJRV2xDTEZOQlFVOHNVMEZCVXl4RlFVRkZMRXRCUVVzc1UwRkJVeXhGUVVGSGNFUXNSVUZCVnl4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU00UlN4RlFVRk5ReXhEUVVGSkxFdEJRVThzUTBGRE1VWXNTMEZCVFN4UFFVTk9MRTFCUVU5QkxFVkJRMUFzVFVGQlQwUXNSVUZCU3l4WlFVRlpMRWxCUVUwc1QwRkRiRU1zUlVGQlJTeEZRVVZPTEdOQlFXZENNMFVzUjBGRFdtbEVMRWRCUVdsQ0xGTkJRVThzY1VKQlFYRkNMRVZCUVVVc1MwRkJTeXhWUVVGVkxFVkJRVWRxUkN4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6SkZMRVZCUVUxRkxFTkJRVkVzUzBGQlR5eERRVU5xUnl4TFFVRk5MRmxCUTA0c1UwRkJRVUVzUlVGRFFTeFZRVUZYUml4RlFVRkxMRmxCUVZrc1NVRkJUU3hYUVVOMFF5eEZRVUZGTEVWQlEwNHNZVUZCWlRORkxFZEJRMWhwUkN4SFFVRnBRaXhUUVVGUExHdENRVUZyUWl4RlFVRkZMRXRCUVVzc1UwRkJVeXhGUVVGSGFrUXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU15UlN4RlFVRk5SeXhEUVVGUExFdEJRVThzUTBGRE5VWXNTMEZCVFN4WFFVTk9MRkZCUVVGQkxFVkJRMEVzVlVGQlYwZ3NSVUZCU3l4WlFVRlpMRWxCUVUwc1UwRkRkRU1zUlVGQlJTeEZRVU5PTEd0Q1FVRnZRamRGTEVkQlEyaENSQ3hGUVVGWExFdEJRVXNzU1VGQlMydEdMRWxCUVZVc1EwRkRNMElzUzBGQlRTeFRRVU5PTEU5QlFWRXNRMEZCUlN4TFFVRk5MRTlCUVZFc1RVRkJUMEVzUTBGQlN5eEZRVU53UXl4VlFVRlhMRlZCUTJZc1JVRkJSU3hGUVVOT0xGbEJRV012UlN4SFFVTldhVVFzUjBGQmFVSXNVMEZCVHl3clFrRkJLMElzUlVGQlJTeExRVUZMTEZkQlFWY3NSVUZCUjJwRUxFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRNa1VzUlVGQlRVc3NRMEZCVFN4TFFVRlBMRU5CUXpGSExFdEJRVTBzVTBGRFRpeFBRVUZCUVN4RlFVTkJMRlZCUTBsTUxFVkJRVXNzV1VGQldTeEhRVUZMTEZWQlFWa3NWMEZCWVVFc1JVRkJTeXhaUVVGWkxFZEJRVXNzWVVGQlpTeFhRVUZoTEUxQlEzcEhMRVZCUVVVc1JVRkRUaXhaUVVGak4wVXNSMEZEVm0xRUxFZEJRV2xDTEZOQlFVOHNVMEZCVXl4RlFVRkZMRXRCUVVzc1VVRkJVU3hGUVVGSGNFUXNSVUZCVnl4WFFVRlhMRWRCUVVkQkxFVkJRVmNzVFVGQlRTeERRVUZETEVWQlFVVXNTVUZETlVZc1EwRkJReXhEUVVGRGNVUXNSVUZCVDJNc1EwRkJTeXhMUVVGUExFTkJRMnBDTEV0QlFVMHNVVUZEVGl4TlFVRlBRU3hEUVVOWUxFVkJRMG9zUlVGRFNpeHpRa0ZCZDBKb1JTeEhRVU53UW1sRUxFZEJRV2xDTEZOQlFVOHNUMEZCVHl4RlFVRkZMRXRCUVVzc1RVRkJUU3hGUVVGSFJpeEhRVUZYTEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRMnBFTEVWQlFVZHZSU3hEUVVGSkxFdEJRVThzUTBGRGRFWXNTMEZCVFN4aFFVTk9MRmRCUVZsQkxFTkJRMmhDTEVWQlFVVXNSVUZEVGl4dFFrRkJjVUpzUlN4SFFVRk5LME1zUjBGQlZ5eGpRVUZqTEVsQlFVdHRRaXhKUVVGVkxFTkJRVVVzUzBGQlRTeGhRVUZqTEZkQlFWbEJMRU5CUVVzc1JVRkJSU3hGUVVVMVJ5eFpRVUZqYkVVc1IwRkJUVUVzUlVGQlJTeE5RVUZOTEV0QlFVOHNaVUZCWVN4RlFVRkZMRXRCUVU4c1UwRkJUeXhIUVVGSExFVkJRVXNzVTBGQlR5eEhRVUZITEVOQlFVTXNSVUZEYmtZc1dVRkJZMEVzUjBGRFVpeFRRVUZQTEVkQlFVY3NSVUZEVUN4TFFVRlBMR1ZCUVdFc1JVRkRjRUlzUzBGQlMwRXNSVUZCUlN4VFFVRlRMRVZCUTJoQ0xFbEJRVXQxUkN4SlFVRlhMRU5CUTJJc1MwRkJUU3hOUVVOT0xGRkJRVk5CTEVOQlEySXNSVUZCUlN4RlFVTldMRlZCUVZsMlJDeEhRVU5PTEUxQlEwVkJMRVZCUVVVc1dVRkRSa0VzUlVGQlJTeFpRVU5HUVN4RlFVRkZMR3RDUVVOR1FTeEZRVUZGTEZOQlEwWkJMRVZCUVVVc1ZVRkRSa0VzUlVGQlJTeFJRVU5HUVN4RlFVRkZMRmxCUTBaQkxFVkJRVVVzWVVGRFJrRXNSVUZCUlN4alFVTkdRU3hGUVVGRkxGbEJRMFpCTEVWQlFVVXNWVUZEUmtFc1JVRkJSU3h6UWtGRlJrRXNSVUZCUlN4clFrRkRUaXhGUVVOS0xGVkJRVmxCTEVkQlExSjNSU3hIUVVGdFFuaEZMRVZCUVVVc1ZVRkJWMGdzUlVGQlZ5eFpRVUZoTEVOQlFVTnZSaXhGUVVGTlF5eEZRVUZMUXl4TFFVRlhMRU5CUXpORkxFdEJRVTBzVFVGRFRpeFRRVUZWTEVOQlFVTkdMRVZCUVUxRkxFTkJRVXNzUTBGRE1VSXNSVUZCUlN4RlFVTk9MRk5CUVZkdVJpeEhRVU5RZDBVc1IwRkJiVUo0UlN4RlFVRkZMRlZCUVZkSUxFVkJRVmNzVjBGQldTeERRVUZEYjBZc1JVRkJUVU1zUlVGQlMwTXNTMEZCVnl4RFFVTXhSU3hMUVVGTkxFdEJRMDRzVTBGQlZTeERRVUZEUml4RlFVRk5SU3hEUVVGTExFTkJRekZDTEVWQlFVVXNSVUZEVGl4TlFVRlJia1lzUjBGQlRVRXNSVUZCUlN4VFFVRlRMRXRCUVU4c1pVRkJZU3hEUVVOcVJDeERRVUZETEVWQlpVMHNVMEZCVTI5R0xFZEJRMXBETEVWQlEwRkRMRVZCUTBGRExFVkJRMWNzUTBGRFdDeFBRVUZUTEZOQlFVOUdMRVZCUVZNc1RVRkJUU3huUWtGQlpVTXNSVUZCVHl4blFrRkJaVVFzUTBGQlN5eEZRVUZGTEV0QlFVc3NSVUZCUnl4RFFVRkRSeXhGUVVGUFF5eEpRVUZUTEVOQlEyaEhMRWRCUVVsQkxFVkJRVXNzVVVGQlZTeEZRVUZITEU5QlFVOUVMRVZCUlRkQ0xFbEJRVWxGTEVWQlFVOUlMRVZCUVZGRExFVkJRVTlETEVWQlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSMEVzUlVGQlN5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUTJoRUxGRkJRVk5GTEVWQlFWRXNSVUZCUjBFc1JVRkJVVVlzUlVGQlN5eFBRVUZSUlN4SlFVTnlRMFFzUlVGQlQwZ3NSVUZCVVVjc1JVRkJUVVFzUlVGQlMwVXNRMEZCU3l4RlFVRkZMRU5CUVVNc1JVRkJSMFlzUlVGQlMwVXNRMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVWMlJDeFBRVUZQUkN4RFFVTllMRU5CUVVNc1EwRkRUQ3hEUVV0UExGTkJRVk5GTEVkQlFXdENReXhGUVVGcFEwTXNSVUZCTUVNc1EwRkRla2NzU1VGQlRVTXNSVUZCVnl4UFFVRlBSaXhIUVVGVExGTkJRV0VzVTBGQlQwRXNRMEZCU1N4RlFVRkpRU3hGUVVNM1JDeFBRVUZUTEZOQlEweEZMRVZCUVZNc1MwRkJUeXhsUVVGaExFVkJRemRDUkN4RlFVRkxMRXRCUVU4c1pVRkJZU3hGUVVGRkxFdEJRVThzVTBGQlR5eEhRVUZITEVWQlFVc3NVMEZCVHl4SFFVRkhMRU5CUVVNc1JVRkROVVFzUTBGQlEwVXNSVUZCUjBNc1NVRkJUU3hEUVVGRFJDeEZRVUZIUXl4RFFVRkRMRU5CUTI1Q0xFTkJRMG9zUTBGSFR5eFRRVUZUUXl4SFFVRlpReXhMUVVGelFrTXNSVUZCSzBNc1EwRkROMFlzVDBGQlV5eFRRVUZQTEVOQlFVTkRMRVZCUVZWRExFbEJRMmhDTEVOQlFVTkRMRVZCUVU4c1NVRkJUU3hEUVVOcVFpeEpRVUZKUXl4RlFVRlZUQ3hGUVVGaExFVkJRVVZKTEVWQlFVOHNRMEZCUXl4RlFVTnlReXhIUVVGSkxFTkJRVU5ETEVWQlFVOHNUMEZCVVN4UFFVRlBRU3hGUVVVelFpeFJRVUZUV0N4TFFVRlJUeXhGUVVGUExFTkJRM0JDTEVsQlFVbExMRVZCUVZGYUxFVkJRVXRYTEVWQlFVOHNTMEZCVlN4RlFVRlZMRVZCUVVWRUxFVkJRVTlETEVWQlFVOHNTMEZCU3l4RlFVTnFSU3hIUVVGSkxFTkJRVU5ETEVWQlFVc3NUMEZCVVN4UFFVRlBSQ3hGUVVWNlFrRXNSVUZCVTBNc1EwRkRZaXhEUVVWQkxFOUJRVTlFTEVOQlExZ3NRMEZEU0N4RFFVTk1MRU5MTlhCQ1FTeEpRVUZCUlN4SFFVRnRRaXhUUTBoYUxGTkJRVk5ETEVkQlFYTkNReXhGUVVFeVFrTXNSVUZCYzBNc1EwRkRia2NzU1VGQlRVTXNSVUZCTkVJc1EwRkJReXhGUVVOdVF5eFBRVUZYTEVOQlFVTkRMRVZCUVV0RExFTkJRVXNzU1VGQlN5eFBRVUZQTEZGQlFWRktMRU5CUVUwc1JVRkROVU5GTEVWQlFVOURMRU5CUVVjc1JVRkJTVVlzUlVGQlMwY3NRMEZCU3l4RlFVYzFRaXhQUVVGUFJpeERRVU5ZTEVORFUwOHNTVUZCVlVjc1QwRkJWaXhEUVVOVlFTeEZRVUZCTEdkQ1FVRm5SRU1zUjBGQlZVRXNSVUZIYUVVc1UwRkJVME1zUlVGQlMwTXNSVUZCSzBJc1EwRkRhRVFzU1VGQlRVTXNSVUZCVlVNc1IwRkJVeXhWUVVGVlJpeERRVUZQTEVWQlF6RkRMRWRCUVVrc1EwRkJRME1zUlVGQlV5eFBRVUZQTEV0QlJYSkNMRTlCUVZGQkxFZEJRVUVzV1VGQlFVRXNSVUZCVXl4TFFVRk5MRU5CUTI1Q0xFbEJRVXNzVVVGRFJDeFBRVUZQUVN4RlFVRlJMRTFCUVUwc1NVRkJTVW9zUlVGQlpTeEpRVUZKTEVWQlEyaEVMRWxCUVVzc1UwRkRSQ3hQUVVGUFRTeEhRVUZuUWtZc1JVRkJVU3hOUVVGUFNpeEZRVUZsTEVsQlFVa3NSVUZETjBRc1NVRkJTeXhQUVVORUxFMUJRVThzUTBGQlJTeFBRVUZSTEU5QlFWRXNUVUZCVDBrc1JVRkJVU3hOUVVGTkxFMUJRVTBzUTBGQlJTeGhRVUZqTEVkQlFVMHNZMEZCWlN4RlFVRkxMRU5CUVVNc1EwRkJSU3hGUVVOeVJ5eEpRVUZMTEU5QlEwUXNUVUZCVHl4RFFVRkZMRTlCUVZFc1QwRkJVU3hOUVVGUFFTeEZRVUZSTEUxQlFVMHNVMEZCVXl4RFFVRkZMRVZCUXpkRUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlFVVXNUMEZCVVN4WFFVRlpMRTFCUVU5QkxFVkJRVkVzVFVGQlRTeE5RVUZOTEVOQlFVVXNSVUZET1VRc1NVRkJTeXhWUVVOTUxFbEJRVXNzVTBGRFRDeEpRVUZMTEZOQlEwUXNUMEZCVDBFc1JVRkJVU3hOUVVOdVFpeEpRVUZMTEZkQlEwd3NTVUZCU3l4UFFVTkVMRTlCUVU4c1NVRkRaaXhEUVVOS0xFTkJka0pQU2l4RlFVRlRMRXRCUVVGRkxFVkJPRUpVTEZOQlFWTkxMRVZCUVUxTUxFVkJRVzFDVFN4RlFVRXdRMUlzUlVGQlFTeG5Ra0ZCTUVJc1EwRkRla2NzUjBGQlNVVXNSMEZCVXl4TFFVRTBRaXhQUVVGUExFdEJSV2hFTEVkQlFVa3NUVUZCVFN4UlFVRlJRU3hEUVVGSkxFVkJRMnhDTEU5QlFVOU5MRVZCUVZkT0xFVkJRVXNzU1VGQlMwUXNSMEZCVlVRc1JVRkJaU3hOUVVGTlF5eEZRVUZQVHl4RFFVRlZMRU5CUVVNc1EwRkJReXhGUVVNelJTeEhRVUZKTEU5QlFVOU9MRWRCUVZNc1UwRkJWU3hEUVVOcVF5eEhRVUZKTEVWQlFVVXNWMEZCV1VFc1IwRkRaQ3hQUVVGUFNTeEhRVUZuUWtvc1JVRkJUMDhzUjBGQlRWUXNSVUZCWlN4TlFVRk5VeXhGUVVGclFrUXNRMEZCVlN4RFFVRkRMRVZCUlRGR0xFbEJRVTFGTEVWQlFVOVNMRVZCUVVzc1QwRkRiRUlzVDBGQlVWRXNSVUZCVFN4RFFVTldMRWxCUVVzc1QwRkRSQ3hQUVVGUFJpeEZRVUZYUnl4RlFVRlRMRkZCUVZGVUxFVkJRVXNzUzBGQlN5eERRVUZETEVWQlEyeEVMRWxCUVVzc1YwRkRSQ3hQUVVGUFRTeEZRVUZYU1N4RlFVRlRMRkZCUVZGV0xFVkJRVXNzUzBGQlN5eERRVUZETEVWQlEyeEVMRWxCUVVzc1QwRkRSQ3hQUVVGUFRTeEZRVUZYU3l4SFFVRkxMRmRCUVZkWUxFVkJRVXNzUzBGQlN5eERRVUZETEVWQlEycEVMRkZCUTBrc1RVRkJUU3hKUVVGSkxFMUJRVTBzYVVOQlFXbERVU3hEUVVGSkxFbEJRVWtzUTBGRGFrVXNRMEZEU2l4RFFVZEJMRTlCUVU5R0xFVkJRVmRPTEVOQlFXVXNRMEZEY2tNc1EwRjRRazlHTEVWQlFWTXNUVUZCUVU4c1NVRnNRMGhRTEZGQlFVRXNTMFp6UkZZc1UwRkJVMk1zUjBGQlowSkRMRVZCUVhGRExFTkJRMnBGTEU5QlFVOHNUMEZCVHl4UFFVRlBMRU5CUVVNc1JVRkJSMEVzUlVGQlR5eERRVUZGTEUxQlFVOURMRWRCUVdVc1MwRkJTMFFzUlVGQlRTeExRVUZMTEVOQlFVVXNRMEZCUXl4RFFVTXZSU3hEUVZWUExGTkJRVk5GTEVkQlExcERMRVZCUTBGRExFVkJRekpDTEVOQlF6TkNMRTlCUVVrc1RVRkJUU3hSUVVGUlJDeERRVUZMTEVWQlExcEJMRVZCUVUwc1NVRkJTMFVzUjBGQlRVZ3NSMEZCWTBjc1JVRkJSMFFzUTBGQlRTeERRVUZETEVWQlJ6ZERMRU5CUTBnc1NVRkJTMFFzUlVGQlRTeEpRVU5ZTEVsQlFVdEJMRVZCUVUwc1RVRkRXQ3hOUVVGUFJ5eEhRVUZwUWtnc1JVRkJUU3hMUVVGTExFVkJRMjVETEZOQlFWVXNRMEZEVGl4TFFVRk5ReXhGUVVOT0xFMUJRVTlFTEVWQlFVMHNUVUZEWWl4WFFVRlpRU3hGUVVGTkxGZEJRMnhDTEVsQlFVdEJMRVZCUVUwc1IwRkRaaXhGUVVOQkxGTkJRVlZCTEVWQlFVMHNVVUZEY0VJc1EwRkRTaXhEUVVkUExFbEJRVTFKTEVkQlFUQkVMRTlCUVU4c1QwRkJUeXhEUVVOcVJpeEpRVUZMTEVsQlEwd3NTVUZCU3l4SFFVTlVMRU5CUVVNc1JVRk5SQ3hUUVVGVFF5eEhRVU5NUXl4RlFVTkJReXhGUVVOQlF5eEZRVU5CUXl4RlFVTXJReXhEUVVNdlF5eEpRVUZKUXl4RlFVRlZMRVZCUTFaRExFVkJRVlVzUjBGRFpDeFJRVUZUUXl4RlFVRlJUQ3hGUVVGUFN5eEZRVUZSVGl4RlFVRkxMRTlCUVZGTkxFbEJRVk1zUTBGRGJFUXNTVUZCU1VNc1JVRkJUMUFzUlVGQlN5eFBRVUZQVFN4RFFVRkxMRVZCUnpWQ0xFZEJRVWxETEVkQlFWRXNTMEZCVFN4RFFVTmtSaXhGUVVGVkxFTkJRVU5CTEVWQlExZ3NVVUZEU2l4RFFVZEJMRWRCUVVsQkxFVkJRVk1zUTBGRFZFRXNSVUZCVlN4SFFVTldMRkZCUTBvc1EwRk5RU3hIUVVwSlJTeEhRVUZSVEN4RlFVRk5SU3hKUVVOVVJ5eEhRVUZSU2l4SFFVRlBReXhKUVVkd1FrRXNSVUZCVlN4RlFVRkhMRTFCUVU4c1EwRkJSU3hOUVVGUFNpeEZRVUZMTEZWQlFWVkRMRVZCUVU5TExFTkJRVXNzUlVGQlJTeExRVUZMTEVWQlFVY3NVMEZCVlVFc1JVRkJVU3hEUVVGRkxFVkJSVEZHUkN4RlFVRlZMRVZCUTJRc1EwRkhTaXhEUVVkQkxGTkJRVk5ITEVkQlFXTlNMRVZCUVdORExFVkJRV2RGTEVOQlEycEhMRWxCUVVsUkxFVkJRVTFVTEVWQlFVc3NVVUZCVVN4TFFVRk5ReXhEUVVGTExFVkJRMnhETEVkQlFVa3NSVUZCUVZFc1JVRkJUU3hIUVVWV0xFMUJRVThzUTBGQlJTeEpRVUZMVkN4RlFVRkxMRlZCUVZWRExFVkJRVTlSTEVOQlFVY3NSVUZCUlN4TFFVRkxMRVZCUVVjc1YwRkJXVUVzUlVGQlRTeERRVUZGTEVOQlEzcEZMRU5CUjBFc1UwRkJVME1zUjBGQmQwSldMRVZCUVdORExFVkJRVFpETEVOQlEzaEdMRWxCUVVsRExFVkJRVTlHTEVWQlFVc3NUMEZCVDBNc1EwRkJTeXhGUVVWNFFsVXNSVUZCVFVnc1IwRkJZMUlzUlVGQlRVTXNSVUZCVVN4RFFVRkRMRVZCUTNaRExFZEJRVWxWTEVsQlFWRXNUMEZCVnl4UFFVZDJRaXhSUVVGVFJpeExRVUZQTEU5QlFVOHNTMEZCUzFnc1JVRkJjVUlzUlVGQlJTeFBRVUZQTEU5QlFVOHNUMEZCVDBFc1JVRkJjVUlzUTBGQlF5eEZRVU14Uml4SFFVRkpZU3hGUVVGSkxFbEJRVWtzVTBGQlUwWXNRMEZCUnl4RlFVRkhMRTlCUnk5Q0xFbEJRVWxITEVWQlFWRmlMRWRCUVZsRExFVkJRVTFYTEVWQlFVa3NWMEZCV1ZRc1JVRkJUVW9zUjBGQmMwSkpMRU5CUVVrc1EwRkJReXhGUVVNdlJTeEhRVUZKVlN4SlFVRlZMRTlCUldRc1RVRkJUeXhEUVVOSUxFbEJRVXRFTEVWQlFVa3NTVUZEVkN4TlFVRlBReXhGUVVGTkxFMUJRMklzVFVGQlQxZ3NSVUZEVUN4WFFVRlpWU3hGUVVGSkxGZEJRMmhDTEVsQlFVdERMRVZCUVUwc1UwRkRXQ3hUUVVGVlZpeERRVU5rTEVOQlEwb3NRMEZIVHl4VFFVRlRUQ3hIUVVGcFFtVXNSVUZCZDBJc1EwRkhja1FzUjBGQlNVRXNSVUZCVFN4TFFVRkxMRWRCUVVzc1IwRkJTU3hQUVVGUExFdEJTeTlDTEVsQlFVbERMRVZCUVZORExFVkJRVmNzV1VGQldTeE5RVUZOUml4RFFVRkxMRVZCUXk5RExFOUJRVWxETEVWQlFVOHNUMEZCWlVFc1JVRkJUeXhOUVVOeVFrUXNRMEZEYUVJc1EwRlJUeXhUUVVGVFJ5eEhRVUZ2UW1Zc1JVRkJZMmRDTEVWQlFUWkNMRWRCUVRKQ0xFTkJRM1JITEVsQlFVbERMRVZCUVRaQ0xFTkJRVU1zUlVGRGJFTXNVVUZCVTBNc1MwRkJWeXhQUVVGUExFdEJRVXR3UWl4RlFVRnhRaXhGUVVGSExFTkJRM0JFTEVsQlFVbHhRaXhGUVVGaGJrSXNSVUZCU3l4UlFVRlJhMElzUTBGQlR5eEZRVU55UXl4TFFVRlBReXhIUVVGakxFZEJRVWNzUTBGRGNFSXNTVUZCU1VNc1JVRkJZMVlzUjBGQmQwSldMRVZCUVUxdFFpeERRVUZWTEVWQlF6RkVMRWRCUVVrc1EwRkJRME1zUlVGQllTeERRVU5rUkN4RlFVRmhia0lzUlVGQlN5eFJRVUZSYTBJc1JVRkJVME1zUlVGQllTeERRVUZETEVWQlEycEVMRkZCUTBvc1EwRkZRVVlzUlVGQlR5eExRVUZMUnl4RFFVRlhMRVZCUTNaQ1JDeEZRVUZoYmtJc1JVRkJTeXhSUVVGUmEwSXNSVUZCVTBVc1JVRkJXU3hIUVVGSExFTkJRM1JFTEVOQlEwb3NRMEZGU1Vvc1NVRkJiVUpETEVWQlFWTkJMRVZCUVU4c1QwRkJUMGtzUjBGQmVVSnlRaXhEUVVGSkxFTkJRVU1zUjBGRk5VVnBRaXhGUVVGUExFdEJRVXNzUTBGQlEwc3NSVUZCUjBNc1NVRkJUVVFzUlVGQlJTeE5RVUZSUXl4RlFVRkZMRXRCUVVzc1JVRkZka01zU1VGQlNVTXNSVUZCY1VNc1EwRkJReXhGUVVNeFF5eFJRVUZUUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxTTEVWQlFVOHNUMEZCVVZFc1MwRkRNMEpCTEVkQlFVc3NSMEZCUzBRc1JVRkJaVUVzUlVGQlpTeFBRVUZUTEVOQlFVTXNSVUZCUlN4SlFVRk5VQ3hGUVVGUFVTeERRVUZETEVWQlFVVXNVVUZEY0VWRUxFVkJRV1VzUzBGQlMxQXNSVUZCVDFFc1EwRkJReXhEUVVGRExFVkJSM0pETEU5QlFVOUVMRU5CUTFnc1EwRkhRU3hKUVVGTlJTeEhRVUY1UXl4UFFVTjZReXhWUVVGUExFbEJRVWtzVDBGQlQwTXNSMEZCVnl4RlFVRkhMRWRCUVVjc1EwRkJReXhGUVVOd1F5eFZRVUZQTERCQ1FVRXdRaXhEUVVOMlF5eEZRVU5MTEV0QlFVc3NSVUZEVEN4SlFVRkxReXhIUVVGVlFTeEZRVUZOTEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUlRWQ1F5eEhRVUV5UXl4VlFVRlBMSE5DUVVGelFpeEZRVU42UlN4TFFVRkxTQ3hGUVVGclFpeEZRVU4yUWl4TFFVRlBMRlZCUVU4c1YwRkJWeXhEUVVGRExFVkJSM2hDTEZOQlFWTkpMRWRCUVhGQ1F5eEZRVUUwUXl4RFFVTTNSU3hKUVVGSmRFSXNSVUZCVFVRc1IwRkJZM1ZDTEVWQlFVMHNRMEZCUXl4RlFVTXZRaXhIUVVGSkxFTkJRVU4wUWl4RlFVRkxMRTlCU1ZZc1NVRkJTWFZDTEVWQlFWVklMRWRCUVhGQ0xFMUJRVTF3UWl4RlFVRkpMRWRCUVVjc1JVRkRhRVFzUjBGQlMzVkNMRVZCUVZFc1QwRkZZaXhOUVVGUExFTkJRMGdzU1VGQlMwRXNSVUZCVVN4TlFVTmlMRTFCUVU5RUxFVkJRVXNzVlVGQlZYUkNMRVZCUVVrc1ZVRkJWU3hGUVVGRkxFdEJRVXNzUlVGRE0wTXNUVUZCVHl4RlFVTlFMRmRCUVZsQkxFVkJRVWtzVjBGRGFFSXNTVUZCUzNOQ0xFVkJRVXNzVFVGRFpDeERRVU5LTEVOQlJVOHNTVUZCVFVVc1IwRkJjVUlzYTBOQlEzSkNReXhIUVVGcFFpeHZSVUZEYWtKRExFZEJRV3RDTEd0RFFVTnNRa01zUjBGQmRVSXNORU5CUTNaQ1F5eEhRVUZ0UWl4dFEwRkZia0pETEVkQlFXZENMRU5CUTNwQ0xFTkJRVVVzVFVGQlQwd3NSMEZCYjBJc1NVRkJTeXhUUVVGVkxFVkJRelZETEVOQlFVVXNUVUZCVDBrc1IwRkJhMElzU1VGQlN5eFBRVUZSTEVWQlEzaERMRU5CUVVVc1RVRkJUMFFzUjBGQmMwSXNTVUZCU3l4WFFVRlpMRVZCUTJoRUxFTkJRVVVzVFVGQlQwWXNSMEZCWjBJc1NVRkJTeXhMUVVGTkxFVkJRM0JETEVOQlFVVXNUVUZCVDBNc1IwRkJhVUlzU1VGQlN5eFpRVUZoTEVOQlEyaEVMRVZCUjBFc1UwRkJVMlFzUjBGQmVVSnlRaXhGUVVGclF5eERRVU5vUlN4SlFVRkpkVU1zUlVGQk9FSXNRMEZCUXl4RlFVVnVReXhQUVVGVExFTkJRVVVzVFVGQlFVTXNSVUZCVHl4SlFVRkJOMElzUTBGQlNTeEpRVUZMTWtJc1IwRkJaU3hEUVVOMFF5eEpRVUZOUnl4RlFVRlJSQ3hGUVVGTkxFdEJRVXQ0UXl4RFFVRkpMRVZCUTNoQ2VVTXNSMEZGVEVZc1JVRkJVU3hMUVVGTExFTkJRMVFzU1VGQlFUVkNMRVZCUTBFc1RVRkJUemhDTEVWQlFVMHNRMEZCUXl4RlFVTmtMRTFCUVU5QkxFVkJRVTBzVFVGRFlpeFhRVUZaUVN4RlFVRk5MRTFCUVZFc1JVRkRNVUlzU1VGQlMwRXNSVUZCVFN4TlFVRlJRU3hGUVVGTkxFTkJRVU1zUlVGQlJTeFBRVU0xUWl4VFFVRlZMR2xDUVVOa0xFTkJRVU1zUTBGRFRDeERRVVZCTEU5QlFVOUdMRU5CUTFnc1EwZDZVazhzU1VGQlZVY3NUMEZCVml4RFFVVkpMRk5CUVZORExFVkJRVXRETEVWQlFUWkNMRU5CUXpsRExFbEJRVTFETEVWQlFWVkRMRWRCUVZNc1ZVRkJWVU1zUTBGQlR5eEZRVU14UXl4SFFVRkpMRU5CUVVOR0xFVkJRVk1zVDBGQlR5eExRVVZ5UWl4UFFVRlJRU3hGUVVGUkxFdEJRVTBzUTBGRGJFSXNTVUZCU3l4VFFVTk1MRWxCUVVzc1ZVRkRUQ3hKUVVGTExFOUJRMHdzU1VGQlN5eFRRVU5FTEU5QlFVOUJMRVZCUVZFc1RVRkRia0lzU1VGQlN5eFJRVU5FTEU5QlFVOUJMRVZCUVZFc1RVRkJUU3hKUVVGSlJpeERRVUZKTEVWQlEycERMRWxCUVVzc1QwRkRSQ3hQUVVGUFJTeEZRVUZSTEUxQlFVMHNUVUZCVFN4RlFVTXZRaXhKUVVGTExGZEJRMFFzVDBGQlQwRXNSVUZCVVN4TlFVRk5MRkZCUVZFc1JVRkRha01zU1VGQlN5eFhRVU5FTEU5QlFVOHNTMEZEV0N4SlFVRkxMRTlCUTBRc1QwRkJUMEVzUlVGQlVTeE5RVUZOTEZOQlFWTXNSVUZEYkVNc1NVRkJTeXhUUVVORUxFOUJRVTlITEVkQlFXZENTQ3hGUVVGUkxFMUJRVTlHTEVOQlFVa3NRMEZEYkVRc1EwRkRTaXhEUVhaQ1QwUXNSVUZCVXl4TFFVRkJReXhGUVRCQ1ZDeFRRVUZUU1N4RlFVRlJTQ3hGUVVFMlFpeERRVU5xUkN4SFFVRkpRU3hIUVVGVExFdEJRMVFzVDBGQlR5eExRVU5LTEVkQlFVa3NUMEZCVDBFc1IwRkJWU3hUUVVONFFpeEhRVUZKTEUxQlFVMHNVVUZCVVVFc1EwRkJTeXhGUVVGSExFTkJRM1JDTEVsQlFVbExMRVZCUVZNc1EwRkJReXhGUVVOa0xGRkJRVk5ETEV0QlFWTk9MRVZCUTJSTExFVkJRVThzUzBGQlMwWXNSVUZCVVVjc1EwRkJTeXhEUVVGRExFVkJSemxDTEU5QlFVOUVMRU5CUTFnc1MwRkJUeXhKUVVGSlRDeGhRVUZwUWl4TFFVVjRRaXhQUVVSblFrOHNSVUZCVXl4WFFVRlhVQ3hEUVVGTExFVkJSWFJETEVOQlEwZ3NTVUZCU1ZFc1JVRkJVMUlzUlVGRFZFc3NSVUZCYTBNc1EwRkJReXhGUVVOMlF5eFJRVUZUU1N4TFFVRlBSQ3hGUVVOYVNDeEZRVUZQU1N4RFFVRkhMRVZCUVVsT0xFVkJRVkZMTEVWQlFVOURMRU5CUVVjc1EwRkJReXhGUVVkeVF5eFBRVUZQU2l4RFFVTllMRTFCUTBjc1NVRkJTU3hQUVVGUFRDeEhRVUZWTEZOQlEzaENMRTlCUVU5QkxFVkJRMG9zUjBGQlNTeFBRVUZQUVN4SFFVRlZMRlZCUTNoQ0xFOUJRVTlCTEVWQlEwb3NSMEZCU1N4UFFVRlBRU3hIUVVGVkxGTkJRVlVzUTBGRGJFTXNTVUZCU1ZVc1JVRkJXVU1zUlVGQlZ5eExRVUZMTEUxQlFVMVlMRU5CUVVzc1JVRkRNME1zUjBGQlNWVXNSVUZCVlN4UFFVRlJMRTlCUVU5QkxFVkJRVlVzVFVGRmRrTXNTVUZCU1VVc1JVRkJaMEpFTEVWQlFWY3NVMEZCVXl4TlFVRk5XQ3hEUVVGTExFVkJRMjVFTEVkQlFVbFpMRVZCUVdNc1QwRkJVU3hQUVVGUFFTeEZRVUZqTEUxQlJTOURMRWxCUVVsRExFVkJRVmxHTEVWQlFWY3NTMEZCU3l4TlFVRk5XQ3hEUVVGTExFVkJRek5ETEU5QlFVbGhMRVZCUVZVc1QwRkJaVUVzUlVGQlZTeE5RVVZvUTJJc1EwRkRXQ3hGUVVkQkxFOUJRVThzU1VGRFdDeERRVEZEVDBZc1JVRkJVeXhSUVVGQlN5eEpRVFZDU0V3c1VVRkJRU3hMVkdOcVFpeEpRVUZOWjBJc1IwRkJhMElzWjBKQlJXeENReXhIUVVGM1FpeHpRa0ZGZUVKRExFZEJRV3RDTEZkQlFVTXNhVVZCUVc5RUxFdEJRVWNzUlVGTmVrVXNVMEZCVTBNc1IwRkRXa01zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFowSXNRMEZEYUVJc1IwRkJUU3hEUVVGRkxFMUJRVUZETEVWQlFVOHNVMEZCVlVNc1JVRkJZeXhaUVVGQlF5eEZRVUZoTEZOQlFVRkRMRU5CUVZNc1JVRkJTVU1zUjBGQmNVSlNMRVZCUVUxRExFVkJRVlZETEVOQlFWRXNSVUZIT1Vjc1QwRkdZU3hKUVVGSlR5eEhRVUZUVkN4RlFVRk5SeXhGUVVGUFF5eEZRVUZOTEU5QlFWRkRMRVZCUVdORkxFVkJRVlZFTEVOQlFWY3NSVUZGTlVVc1RVRkJUU3hEUVVOMFFpeERRVWRQTEZOQlFWTkZMRWRCUTFwU0xFVkJRMEZETEVWQlEwRkRMRVZCVFVZc1EwRTNSRVlzU1VGQlFWRXNSVUZCUVVNc1JVRkJRVU1zUlVGQlFVTXNSVUZCUVVNc1JVRkJRVU1zUlVGQlFVTXNSVUZCUVVNc1JVRkJRVU1zUlVGQlFVTXNSVUZCUVVNc1JVRkJRVU1zUlVGQlFVTXNSVUZCUVVNc1JVRkJRVU1zUjBGQlFVTXNSMEU0UkVrc1NVRkJUVzVDTEVWQlFXZEZTaXhGUVVGVExGbEJRM3BGZDBJc1IwRkJjMEo0UWl4RlFVRlRMRmRCUVZjc1JVRkRNVU1zVDBGRFFVVXNSVUZCVVVnc1JVRkJVeXhOUVVGTkxGbEJRVmtzUlVGRGJrTXdRaXhGUVVGdFFpeEpRVUZKUXl4SFFVTjJRa01zUlVGQk9FSXNRMEZCUXl4RlFVc3ZRa01zUjBGQlpYQkNMRVZCUVVGU0xFVkJRVk1zVjBGQlZDeExRVUZCVVN4RlFVRnhRaXhEUVVGRExFVkJRek5EYjBJc1JVRkJZU3hMUVVGTExFTkJRVU5ETEVWQlFVZERMRWxCUVUxRUxFVkJRVVVzVTBGQlV5eE5RVUZOTEV0QlFVOURMRVZCUVVVc1UwRkJVeXhOUVVGTkxFbEJRVWtzUlVGRmVrVXNTVUZCVFhwQ0xFVkJRVmNzU1VGQlNTeEhRVUZCTUVJc1VVRkJNa0lzVDBGQlZ5eERRVUZEUml4RlFVRkhReXhKUVVGTlJDeEZRVUZKUXl4RFFVRkRMRVZCUXpGRkxGRkJRVk5GTEVWQlFWRXNSVUZCUjBFc1JVRkJVVW9zUlVGQllTeFBRVUZSU1N4SlFVRlRMRU5CUTNSRUxFbEJRVTFETEVWQlFWRk1MRVZCUVdGSkxFTkJRVXNzUlVGRE1VSkZMRVZCUVZGRUxFVkJRVTBzVTBGQlV5eE5RVUZOTEV0QlF6ZENSU3hIUVVGTlNDeEhRVUZUU2l4RlFVRmhMRTlCUVZNc1JVRkJTVEZDTEVWQlFVMHNUMEZCVXpCQ0xFVkJRV0ZKTEVWQlFWRXNRMEZCUXl4RlFVRkZMRk5CUVZNc1RVRkJUU3hMUVVVdlJra3NSMEZCVlN4SlFVRkpReXhIUVVGWlNDeEZRVUZQUXl4SFFVRkxSaXhGUVVGTkxGRkJRVk5CTEVWQlFVMHNUVUZCVDBRc1JVRkJVU3hEUVVGRExFVkJRMnBHTTBJc1JVRkJVeXhKUVVGSk5rSXNSVUZCVDBVc1JVRkJUeXhEUVVNdlFpeERRVWxCTEVkQlFVa3ZRaXhGUVVGVExFMUJRVkVzUjBGRGFrSXNSMEZCU1N4RFFVRkRhVU1zUjBGQlYzQkRMRVZCUVU4c1JVRkJSMEVzUlVGQlRTeE5RVUZOTEVWQlFVY3NRMEZEY2tNc1NVRkJUV3RETEVWQlFWVXNTVUZCU1VNc1IwRkJXU3hGUVVGSGJrTXNSVUZCVFN4UFFVRlJjVU1zUjBGQllYcERMRU5CUVVrc1JVRkJSeXhGUVVGSExFTkJRVU1zUlVGRGVrVlBMRVZCUVZNc1NVRkJTU3hGUVVGSEswSXNRMEZCVHl4RFFVTXpRaXhOUVVOSExFTkJSVWdzU1VGQlRVa3NSMEZCVVM5Q0xFVkJRVUZLTEVWQlFWTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQk9VSXNXVUZCUVVrc1JVRkJhME1zUjBGRmFFUXNSMEZCU1N0Q0xFVkJRVTBzVFVGQlVTeEhRVUZMTEVOQlFVTkdMRWRCUVZkd1F5eEZRVUZQTEVWQlFVZHpReXhGUVVGTkxFdEJRVXNzUlVGQlJ5eERRVU4yUkN4SlFVRk5TaXhGUVVGVkxFbEJRVWxETEVkQlFWa3NSVUZCUjBjc1JVRkJUU3hOUVVGUFJDeEhRVUZoZWtNc1EwRkJTU3hGUVVGSExFVkJRVWNzUTBGQlF5eEZRVVY0UlU4c1JVRkJVeXhKUVVGSkxFVkJRVWNyUWl4RFFVRlBMRU5CUXpOQ0xFTkJRMG9zUTBGUlFTeEpRVUZOU3l4RlFVRlRMRWxCUVVrc1IwRkJRVllzVVVGQmVVSXNUMEZCVnl4RFFVRkRSaXhGUVVGSFF5eEpRVUZOUkN4RlFVRkpReXhEUVVGRExFVkJRMnhGV1N4RlFVRmxMRVZCUTI1Q0xGRkJRVmRETEV0QlFWTXpReXhGUVVGVExGVkJRVmtzUTBGQlF5eEZRVUZITEVOQlJYcERMRWRCUVVreVF5eEZRVUZOTEU5QlFWTXNWVUZCVnl4VFFVVTVRaXhKUVVGTlZDeEZRVUZSVXl4RlFVRk5MRk5CUVZNc1RVRkJUU3hMUVVNM1FsSXNSVUZCVFZFc1JVRkJUU3hUUVVGVExFbEJRVWtzUzBGQlR5eEZRVU5vUTBNc1IwRkJXVEZETEVWQlFVMW5ReXhEUVVGTExFVkJSVGRDTEVkQlFVbFRMRVZCUVUwc1QwRkJVeXhQUVVObVJpeEZRVUZQTEVsQlFVbFFMRVZCUVU4c1NVRkJTVmNzUjBGQlkxZ3NSVUZCVDBNc1JVRkJTMDhzU1VGQlowSkRMRVZCUVUwc1JVRkJSU3hEUVVGRExGVkJRMnhGUVN4RlFVRk5MRTFCUVZFc1VVRkJWV3BFTEVkQlFXZENMRXRCUVV0clJDeEZRVUZUTEVWQlFVY3NRMEZEYUVVc1NVRkJUVVVzUjBGQlpUVkRMRVZCUTJoQ0xFMUJRVTFuUXl4RlFVRlJMRVZCUVVkRExFVkJRVTBzUTBGQlF5eEZRVU40UWl4TFFVRkxPMEZCUVVFc1EwRkJTU3hGUVVOVUxGRkJRVkVzVDBGQlVTeEpRVUZKTEVWQlEyNUNXU3hIUVVFNFEzWkNMRWRCUVhOQ2QwSXNSMEZCVlVZc1JVRkJTU3hEUVVGRExFVkJSWHBHVEN4RlFVRlBMRWxCUVVsUUxFVkJRVThzU1VGQlNXVXNSMEZCWTJZc1JVRkJUME1zUlVGQlMwOHNTVUZCWjBKTExFZEJRVTlLTEVWQlFVMHNSVUZCUlN4RFFVRkRMRU5CUTNCR0xGTkJRVmRCTEVWQlFVMHNUMEZCVXl4UFFVRlJMRU5CUlRsQ0xFbEJRVTFQTEVkQlFWRk9MRWxCUVVFc1dVRkJRVUVzUjBGQlZ5eE5RVUZOYWtRc1NVRkRMMElzUjBGQlNTeERRVUZEZFVRc1IwRkZSRlFzUlVGQlR5eEpRVUZKVUN4RlFVRlBMRWxCUVVscFFpeEhRVUZqYWtJc1JVRkJUME1zUlVGQlMwOHNTVUZCWjBJc1EwRkJReXhGUVVGSExGTkJRVlZTTEVWQlFVOURMRVZCUVV0UkxFVkJRVTBzUlVGQlJTeERRVUZETEUxQlEyaEhMRU5CUTBnc1NVRkJUVk1zUjBGQldVWXNSMEZCVFN4UFFVRlRMRWRCUVV0QkxFZEJRVTBzUTBGQlF5eEZRVUZKUVN4SFFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFZEJRVWNzUlVGQlNTeERRVUZETEVWQlEzaEZWQ3hGUVVGUExFbEJRMGhRTEVWQlEwRXNTVUZCU1dsQ0xFZEJRV05xUWl4RlFVRlBReXhGUVVGTFR5eEpRVUZuUWxVc1IwRkJWeXhUUVVGVmJFSXNSVUZCVVN4RlFVRkhReXhGUVVGTkxFVkJRVWRSTEVWQlFVMHNSVUZCUlN4RFFVTnVSeXhEUVVOS0xFTkJRMG9zVFVGRFNVWXNSVUZCVHl4SlFVRkpVQ3hGUVVGUExFbEJRVWx0UWl4SFFVRmpia0lzUlVGQlQwTXNSVUZCUzA4c1NVRkJaMEpETEVWQlFVMHNTMEZCVFVFc1JVRkJUU3hGUVVGRkxFTkJRVU1zUTBGRk4wWXNRMEZIUVN4UlFVRlhRU3hMUVVGVFJpeEZRVUZQTEU5QlFVOHNSMEZET1VJdlFpeEZRVUZCTkVNc1IwRkJUMWdzUlVGQlRTeE5RVUZQZEVNc1EwRkJVU3hKUVVFMVFpeE5RVUZCU3l4RlFVRXJRaXhOUVVGTmFVTXNSMEZSZWtNc1NVRkJUVmtzUlVGQlpTeHBRMEZEWmtNc1JVRkJZeXh4UWtGRFpFTXNSVUZCV1N4SlFVRkpMRWRCUVVFeFFpeFJRVUUwUWl4UFFVRlhMRU5CUVVOR0xFVkJRVWRETEVsQlFVMUVMRVZCUVVsRExFTkJRVU1zUlVGRk5VVXNVVUZCVnpSQ0xFdEJRVkV4UkN4RlFVRlRMRmRCUVdFc1EwRkJReXhGUVVGSExFTkJRM3BETEVsQlFVMHlSQ3hGUVVGUGVrUXNSVUZCVFN4TlFVRk5kMFFzUlVGQlN5eFRRVUZUTEUxQlFVMHNTMEZCVFVFc1JVRkJTeXhUUVVGVExFbEJRVWtzUzBGQlR5eERRVUZETEVWQlFVVXNTMEZCU3p0QlFVRkJMRU5CUVVrc1JVRkhiRVpTTEVWQlFWRlRMRWRCUVVFc1dVRkJRVUVzUlVGQlRTeE5RVUZOTDBRc1NVRkRkRUpuUlN4SFFVTkJReXhIUVVOQldDeEpRVU5CVlN4SFFVRlRWaXhGUVVGTkxFTkJRVU1zUlVGRGFFSlhMRWRCUVU5WUxFVkJRVTBzUTBGQlF5eEhRVWRzUWl4SlFVRk5XU3hIUVVGUExFbEJRVWxETEVkQlEySk1MRVZCUVVzc1UwRkJVeXhOUVVGTkxFdEJRM0JDUVN4RlFVRkxMRk5CUVZNc1NVRkJTU3hMUVVGUExFVkJRM3BDUVN4RlFVRkxMRTlCUTB4RkxFZEJRMEZHTEVWQlFVc3NSMEZEVEVFc1JVRkJTeXhMUVVOTVJ5eEZRVU5LTEVWQlEwRktMRVZCUVZVc1NVRkJTVXNzUjBGQlN5eE5RVUZQUVN4RlFVRkpMRU5CUTJ4RExFTkJSMEVzVVVGQlYwRXNTMEZCVVV3c1JVRkJWU3hQUVVGUExFVkJRMmhETEVkQlFVbExMRVZCUVVzc1YwRkJZU3hGUVVGSExFTkJRM0pDTEVsQlFVMUZMRVZCUVZsMlFpeEZRVUZQTEVsQlFVa3NRMEZCUTNGQ0xFVkJRVXNzVlVGQlZTeEZRVU0zUXl4SFFVRkpMRU5CUVVORkxFZEJRV1ZCTEVWQlFWVXNUMEZCVXl4UFFVRlRMRk5CUlM5RFFTeEZRVUUwUWl4TlFVRk5MRXRCUVV0R0xFTkJRVWtzUTBGRGFFUXNUVUZEU1c1RUxFVkJRVUU0UXl4RlFVRlZMRWxCUVVsTExFVkJRVXNzVlVGQlZTeEpRVUUzUWl4TlFVRkJia1FzUlVGQlowTXNVMEZCVXl4TFFVRkxiVVFzUjBGVGRFUXNVVUZCVjBjc1MwRkJWWEpFTEVWQlFVRmFMRVZCUVZNc1QwRkJWQ3hMUVVGQldTeEZRVUZwUWl4RFFVRkRMRVZCUVVjc1EwRkRkRU1zU1VGQlRYTkVMRVZCUVUxRUxFVkJRVThzU1VGQlNTeFhRVUZYTEVkQlFVY3NSVUZCU1VFc1JVRkJUeXhKUVVGTkxFbEJRVTFCTEVWQlFVOHNTVUZETjBST0xFVkJRVTlOTEVWQlFVOHNVMEZCVXl4TlFVRk5MRXRCUTI1RGVFTXNSVUZCYVVJc1NVRkJTWGxETEVOQlFVY3NSMEZGZUVKeVJDeEZRVUZCZVVNc1IwRkJUMHNzUlVGQlRYUkVMRU5CUVZFc1NVRkJja0lzVFVGQlFWRXNSVUZCZDBJc1UwRkJVeXhKUVVGSmNVUXNTVUZEY2tOd1JDeEZRVUZCZDBNc1IwRkJUMHNzUlVGQlRXeENMRU5CUVUwc1NVRkJia0lzVFVGQlFUTkNMRVZCUVhOQ0xGTkJRVk1zU1VGQlNXOUVMRWxCUTI1RGJrUXNSVUZCUVhWRExFZEJRVTlMTEVWQlFVMUdMRU5CUVZNc1NVRkJkRUlzVFVGQlFURkRMRVZCUVhsQ0xGTkJRVk1zU1VGQlNXMUVMRVZCUXpGRExFTkJSMEVzUjBGQlNXeEZMRVZCUVZNc1dVRkRWQ3hSUVVGWGJVVXNTMEZCVlVNc1IwRkJXWEJGTEVWQlFWTXNWMEZCVnl4RlFVRkhMRU5CUTNCRUxFbEJRVTFyUlN4RlFVRk5ReXhGUVVGUExGZEJRVmNzUjBGQlJ5eEZRVUZKUVN4RlFVRlRMRWxCUVUxQkxFVkJRM0JFTVVNc1JVRkJhVUlzU1VGQlNYbERMRU5CUVVjc1EwRkROVUlzUTBGUFNpeFJRVUZUUnl4TFFVRlhja1FzUlVGQlFXaENMRVZCUVZNc1VVRkJWQ3hMUVVGQlowSXNSVUZCYTBJc1EwRkJReXhGUVVGSExFTkJRM1JETEVsQlFVMXpSQ3hGUVVGUFF5eEhRVUZMTEUxQlFVMUdMRVZCUVZFc1NVRkJTU3hGUVVNNVFsWXNSVUZCVDFVc1JVRkJVU3hUUVVGVExFMUJRVTBzUzBGRGNFTTFReXhGUVVGcFFpeExRVUZMTmtNc1EwRkJTU3hIUVVVeFFuSkVMRVZCUVVGeFF5eEhRVUZQU3l4RlFVRk5kRVFzUTBGQlVTeEpRVUZ5UWl4TlFVRkJXU3hGUVVGM1FpeFRRVUZUTEV0QlFVdHhSQ3hKUVVOMFEzQkVMRVZCUVVGdlF5eEhRVUZQU3l4RlFVRk5iRUlzUTBGQlRTeEpRVUZ1UWl4TlFVRkJka0lzUlVGQmMwSXNVMEZCVXl4TFFVRkxiMFFzU1VGRGNFTnVSQ3hGUVVGQmJVTXNSMEZCVDBzc1JVRkJUVVlzUTBGQlV5eEpRVUYwUWl4TlFVRkJkRU1zUlVGQmVVSXNVMEZCVXl4TFFVRkxiVVFzUlVGRE0wTXNRMEZQUVN4UlFVRlhSQ3hMUVVGWGFrUXNSVUZCUVhCQ0xFVkJRVk1zYlVKQlFWUXNTMEZCUVc5Q0xFVkJRVFpDTEVOQlFVTXNSVUZEYUVSTExFVkJRV2xDTEV0QlFVczRReXhIUVVGTExFMUJRVTFHTEVWQlFWRXNTMEZCVFN4SFFVRlBRU3hGUVVGUkxGZEJRVmNzUTBGQlF5eEZRVTg1UlN4UlFVRlhSeXhMUVVGVFF5eEhRVUZ2UW5aRkxFTkJRVXNzUlVGQlJ5eERRVU0xUXl4SlFVRk5lVVFzUlVGQlQyRXNSVUZCVFN4VFFVRlRMRXRCUXpWQ0wwTXNSVUZCYVVJc1dVRkJXU3RETEVOQlFVc3NSMEZGYkVOdVJDeEZRVUZCYVVNc1IwRkJUMHNzUlVGQlRYUkVMRU5CUVZFc1NVRkJja0lzVFVGQlFXZENMRVZCUVhkQ0xGTkJRVk1zV1VGQldXMUVMRWxCUXpkRGJFUXNSMEZCUVdkRExFZEJRVTlMTEVWQlFVMXNRaXhEUVVGTkxFbEJRVzVDTEUxQlFVRnVRaXhIUVVGelFpeFRRVUZUTEZsQlFWbHJSQ3hKUVVNelEycEVMRWRCUVVFclFpeEhRVUZQU3l4RlFVRk5SaXhEUVVGVExFbEJRWFJDTEUxQlFVRnNReXhIUVVGNVFpeFRRVUZUTEZsQlFWbHBSQ3hGUVVOc1JDeERRVU5CTEU5QlFVRTNReXhGUVVGaExFdEJRVXNzUjBGQlIzUkNMRVZCUVZNc1QwRkJUeXhEUVVGRExFVkJReTlDTEVOQlEwZ3NUVUZCUVVnc1JVRkRRU3haUVVGQlJTeEZRVU5CTEZOQlFWVnhRaXhGUVVOV0xGTkJRVlZGTEVOQlEyUXNRMEZEU2l4RFFVMUJMRk5CUVZOWExFZEJRVmR3UXl4RlFVRnBRbWRETEVWQlFXVkRMRVZCUVhOQ0xFTkJRM1JGTEZGQlFWTklMRVZCUVZGRkxFVkJRVTlHTEVWQlFWRkhMRVZCUVV0SUxFbEJRMnBETEVkQlFVazVRaXhGUVVGTk9FSXNRMEZCU3l4RlFVRkZMRXRCUVVzc1NVRkJUU3hIUVVGSkxFMUJRVThzUjBGSE0wTXNUVUZCVHl4RlFVTllMRU5CVFU4c1UwRkJWWGxETEVkQlFXOUNReXhGUVVFeVF5eERRVU0xUlN4UlFVRlRReXhGUVVGVExFVkJRVWRCTEVWQlFWTkVMRVZCUVZFc1QwRkJVVU1zU1VGQlZTeERRVU53UkN4SlFVRk5hRUlzUlVGQlQyVXNSVUZCVVVNc1EwRkJUU3hGUVVjelFpeEhRVUZKYUVJc1JVRkJTeXhQUVVGVExFOUJRVk1zUTBGQlEwRXNSVUZCU3l4VFFVRlRMRWxCUVVrc1JVRkJSeXhUUVVkcVJDeEpRVUZKYVVJc1JVRkJaVU1zUjBGQmIwSnNRaXhEUVVGSkxFVkJRek5ETEVkQlFVbHBRaXhGUVVGaExFOUJRVk1zUlVGRGRFSXNVVUZCVTBVc1MwRkJWVVlzUlVGQll5eE5RVUZOUnl4SFFVRmpSQ3hGUVVGUlNDeERRVUZOTEUxQlEyaEZMRU5CUTBnc1NVRkJTVXNzUlVGQlYwTXNSMEZCY1VKMFFpeERRVUZKTEVWQlEzQkRjVUlzU1VGQlZTeE5RVUZOUkN4SFFVRmpReXhGUVVGVlRDeERRVUZOTEVWQlEzUkVMRU5CUTBvc1EwRkRTaXhEUVVkUExGTkJRVk51UkN4SFFVRnpRbTFDTEVWQlFXdEZMRU5CUTNCSExFbEJRVTExUXl4RlFVRXJReXhEUVVGRExFVkJRM1JFTEZGQlFWZERMRXRCUVU4c1QwRkJUeXhMUVVGTGVFTXNRMEZCU3l4RlFVRkhMRU5CUTJ4RExFbEJRVTE1UXl4RlFVRlJla01zUlVGQlRYZERMRU5CUVVjc1JVRkZka0pFTEVWQlFVOURMRVZCUVVrc1dVRkJXU3hEUVVGRExFVkJRVWtzUTBGRGVFSXNTVUZCUzBFc1JVRkRUQ3hOUVVGUFJTeEhRVUZsTEV0QlFVdERMRWRCUVdVc1VVRkJVVVlzUTBGQlN5eERRVUZETEVWQlEzaEVMRWxCUVV0QkxFTkJRMVFzUTBGRFNpeERRVVZCTEU5QlFVOUdMRU5CUTFnc1EwRkhUeXhUUVVGVE5VSXNSMEZCYVVSTExFVkJRV00wUWl4RlFVRjFReXhEUVROVWRFZ3NTVUZCUVM5RkxFVkJORlJKTEVsQlFVMW5SaXhIUVVGVGFFWXNSVUZCUVN0RkxFVkJRVXNzYlVKQlFXMUNOVUlzUTBGQlNTeEpRVUUxUWl4WlFVRkJia1FzUlVGQlowTXNSMEZETDBNc1IwRkJTV2RHTEVkQlFWVkJMRVZCUVU4c1MwRkJUemRDTEVWQlFVMHNUMEZCVHpaQ0xFTkJSemRETEVOQlIwOHNVMEZCVTNCQ0xFZEJRVmx3UlN4RlFVRnpReXhEUVVjNVJDeFBRVVpqTEU5QlFVOHNTMEZCUzBFc1EwRkJVU3hGUVVGRkxFOUJRVkVzUjBGQlRTeEZRVUZGTEZsQlFWa3NSMEZCU3l4UlFVRlZMRVZCUVVVc1dVRkJXU3hIUVVGTExFdEJRVXNzUlVGSGJFY3NTVUZCUzNsR0xFZEJRVTFETEVkQlFUSkNNVVlzUlVGQlUzbEdMRU5CUVVNc1JVRkJSeXhSUVVGUkxFTkJRVU1zUlVGRE5VUXNUMEZCVHl4RFFVRkRSU3hGUVVGSFF5eEpRVUZOUkN4RlFVRkZMRTlCUVU5RExFTkJRVU1zUlVGQlJ5eERRVUZETEVOQlFVTXNSVUZEYUVNc1NVRkJTME1zUjBGQlUwRXNSVUZCU1N4WFFVRlhMRWRCUVVjc1JVRkJTVUVzUlVGQlRTeEpRVUZOUVN4RFFVRkpMRU5CUXpkRUxFTkJSMDhzVTBGQlUwZ3NSMEZCTWtKSkxFVkJRVmRETEVWQlFYTkNMRU5CUTNoRkxFOUJRVWxFTEVkQlFWRXNUVUZCVVVFc1IwRkJVU3hMUVVGclFpeERRVUZETEVWQlF6TkRMRTFCUVUwc1VVRkJVVUVzUTBGQlNTeEZRVU5ZUVN4RlFVTkdMRTlCUVZGRkxFZEJRVTBzUTBGQlF5eERRVUZEUVN4RFFVRkRMRVZCUTJwQ0xFbEJRVXRCTEVkQlFVMU9MRWRCUVRKQ1RTeEZRVUZIUkN4RFFVRkZMRU5CUVVNc1JVRkROVU1zVDBGQlR5eERRVUZEU2l4RlFVRkhReXhKUVVGTlJDeEZRVUZGTEU5QlFVOURMRU5CUVVNc1JVRkJSeXhEUVVGRExFTkJRVU1zUjBGSmFrTXNSMEZCUzBVc1IwRkRVaXhOUVVGTlF5eERRVUZGTEVWQlExSXNUMEZCVVN4SFFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRMnBDTEVsQlFVc3NSMEZCVFN4RlFVRkZMRXRCUVVzc1EwRkJReXhGUVVOdVFpeFBRVUZSTEVkQlFVMHNSVUZCUlN4UFFVRlRMRU5CUVVNc1EwRkRia01zUTBGUFR5eEpRVUZOY2tVc1IwRkJUaXhMUVVGbExFTkJRV1lzWTBGRFNDeExRVUZQTEV0QlFXOUNMRWxCUVVrc1NVRkRMMElzUzBGQlR5eE5RVUZuUWl4RFFVRkRMRVZCUTNoQ0xFdEJRVThzWVVGQk5FTXNRMEZCUXl4RlFVYzNReXhKUVVGSmQwTXNSVUZCWVN4RFFVTndRaXhMUVVGTExFdEJRVXNzU1VGQlNVRXNRMEZCUnl4RFFVTnlRaXhEUVVkUExFdEJRVXRKTEVWQlFWa3NRMEZEYUVJc1MwRkJTeXhOUVVGTkxFdEJRVTB5UWl4SFFVRk5RU3hGUVVGRkxFOUJRVTh6UWl4RFFVRkpMRU5CUVVNc1IwRkRla01zUzBGQlN5eE5RVUZOTEV0QlFVdEJMRU5CUVVrc1EwRkRlRUlzUTBGSFR5eFpRVUZaUlN4RlFVRnZRaXhEUVVOdVF5eEpRVUZOTUVJc1JVRkJVVEZDTEVWQlFVMHNTVUZCU1N4WlFVRlpMRVZCUTJoRExFOUJRVThzUzBGQlN5eExRVUZMTEZsQlFWa3NSVUZCUlN4TFFVRk5WeXhIUVVGUlFTeEZRVUZKTEZsQlFWa3NSMEZCUzJVc1EwRkJTeXhKUVVVelJTeExRVUZMTEdGQlFXRkJMRU5CUVVzc1JVRkJTVEZDTEVWQlF5OUNMRU5CUjA4c1dVRkJkVUlzUTBGRE1VSXNUMEZCVHl4TlFVRk5MRXRCUVVzc1MwRkJTeXhKUVVGSkxFTkJReTlDTEVOQlIwOHNZVUZCTUVJc1EwRkROMElzVDBGQlR5eExRVUZMTEUxQlFVMHNTVUZCUzBZc1IwRkJVMEVzUlVGQlN5eFRRVUZUTEVOQlFVTXNRMEZEYmtRc1EwRkhUeXh2UWtGQmMwUXNRMEZEZWtRc1QwRkJUelpDTEVkQlFXZENMRXRCUVVzc1lVRkJZME1zUlVGQlpTeERRVU0zUkN4RFFVTktMRVZCUjJFM1JpeEhRVUZPTEV0QlFXVXNRMEZEV0N4WlFVTkpWQ3hGUVVOQlJ5eEZRVU5CYjBjc1JVRkRRWEpITEVWQlEwRkxMRVZCUTBGRUxFVkJRMVFzUTBGT1V5eFZRVUZCVGl4RlFVTkJMRmRCUVVGSExFVkJRMEVzV1VGQlFXOUhMRVZCUTBFc1kwRkJRWEpITEVWQlEwRXNZMEZCUVVzc1JVRkRRU3hwUWtGQlFVUXNRMEZEVWl4RFFVVkpMRTlCUVRCQ0xFTkJRemRDTEUxQlFVOHNRMEZEU0N4TlFVRlBMRXRCUVVzc1MwRkRXaXhQUVVGUkxFdEJRVXNzVFVGQlRTeE5RVU51UWl4UFFVRlJMRXRCUVVzc1RVRkJUU3hOUVVOdVFpeE5RVUZQTEV0QlFVc3NUVUZCVFN4TFFVTnNRaXhYUVVGWmEwY3NSMEZCWVN4TFFVRkxMRWxCUVVrc1JVRkRiRU1zVlVGQlZ5eERRVUZGTEUxQlFVOHNSVUZCUnl4SlFVRkxMRXRCUVVzc1RVRkJUeXhGUVVONFF5eE5RVUZQTEV0QlFVc3NVMEZCVXl4WFFVRlhMRVZCUTJoRExFOUJRVkVzUzBGQlN5eFRRVUZUTEZsQlFWa3NSVUZEYkVNc1ZVRkJWeXhMUVVGTExGTkJRVk1zYlVKQlFXMUNMRVZCUXpWRExGVkJRVmNzUzBGQlN5eFRRVUZUTEVsQlFVdERMRWRCUVUxQkxFVkJRVVVzVFVGQlRTeERRVUZETEVWQlF6ZERMR0ZCUVdNc1MwRkJTeXhYUVVOMlFpeERRVU5LTEVOQlEwb3NSVUZIWVd4RkxFZEJRVTRzUzBGQmEwSXNRMEZKWkN4WlFVTkpTQ3hGUVVOQlF5eEZRVU5CY1VVc1JVRkRRVU1zUlVGRFFVTXNSVUZEVkN4RFFVeFRMRmRCUVVGNFJTeEZRVU5CTEZOQlFVRkRMRVZCUTBFc1YwRkJRWEZGTEVWQlEwRXNWMEZCUVVNc1JVRkRRU3hoUVVGQlF5eEZRVkpZTEV0QlFVOHNUMEZCYzBJc1EwRkJReXhGUVVNNVFpeExRVUZQTEZOQlFYRkNMRWxCUVVsb1JpeEZRVkUzUWl4RFFVVkpMRTFCUVUxcFFpeEZRVUZyUWl4RFFVTXpRaXhMUVVGTExFOUJRVThzUzBGQlMwRXNRMEZCU3l4RFFVTXhRaXhEUVVWUExFOUJRVFpDTEVOQlEyaERMRTFCUVU4c1EwRkRTQ3hQUVVGUkxFdEJRVXNzVFVGRFlpeFRRVUZWTEV0QlFVc3NVVUZEWml4UFFVRlJMRXRCUVVzc1RVRkRZaXhOUVVGUExFdEJRVXNzVTBGQlV5eFhRVUZYTEVWQlEyaERMRlZCUVZjc1MwRkJTeXhUUVVGVExHMUNRVUZ0UWl4RlFVTTFReXhQUVVGUkxFdEJRVXNzVTBGQlV5eFpRVUZaTEVWQlEyeERMRlZCUVZjc1EwRkJSU3hOUVVGUExFdEJRVXNzVFVGQlR5eEpRVUZMTEV0QlFVc3NSMEZCU1N4RlFVTTVReXhSUVVGVExFdEJRVXNzVDBGQlR5eEpRVUZMUVN4SFFVRlZRU3hGUVVGTkxFMUJRVTBzUTBGQlF5eERRVU55UkN4RFFVTktMRU5CUTBvc1JVRkhZVVVzUjBGQlRpeExRVUZ2UWl4RFFVdG9RaXhaUVVGdFFsZ3NSVUZCYzBKRExFVkJRVzlDZFVVc1JVRkJkMEpETEVWQlFXdENMRU5CUVhCR0xGZEJRVUY2UlN4RlFVRnpRaXhUUVVGQlF5eEZRVUZ2UWl4aFFVRkJkVVVzUlVGQmQwSXNZVUZCUVVNc1JVRktOVVlzUzBGQlR5eExRVUZsTEU5QlEzUkNMRXRCUVU4c1UwRkJjVUlzU1VGQlNXcEdMRWRCUTJoRExFdEJRVThzVFVGQmQwSXNRMEZCUXl4RFFVVXJSU3hEUVVWNFJ5eFBRVUVyUWl4RFFVTnNReXhOUVVGUExFTkJRMGdzVTBGQlZTeExRVUZMTEZGQlEyWXNWVUZCVnl4RFFVRkZMRTFCUVU4c1MwRkJTeXhOUVVGUExFbEJRVXNzUzBGQlN5eEhRVUZKTEVWQlF6bERMRlZCUVZjc1MwRkJTeXhUUVVGVExHMUNRVUZ0UWl4RlFVTTFReXhOUVVGUExFdEJRVXNzVTBGQlV5eFhRVUZYTEVWQlEyaERMRTlCUVZFc1MwRkJTeXhUUVVGVExGbEJRVmtzUlVGRGJFTXNUVUZCVHl4UFFVTlFMRk5CUVZVc1MwRkJTeXhSUVVObUxGVkJRVmNzUzBGQlN5eE5RVUZOTEVsQlFVdHZReXhIUVVGVFFTeEZRVUZMTEUxQlFVMHNRMEZCUXl4RFFVTndSQ3hEUVVOS0xFTkJRMG9zUlVGSFlWZ3NSMEZCVGl4TFFVRnZRaXhEUVVsb1FpeFpRVU5KYWtJc1JVRkRRVU1zUlVGRFFYVkZMRVZCUTBGMFJDeEZRVU5CZDBRc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVnc1JVRkRWQ3hEUVZKVExGZEJRVUY2UlN4RlFVTkJMRk5CUVVGRExFVkJRMEVzWVVGQlFYVkZMRVZCUTBFc1pVRkJRWFJFTEVWQlEwRXNWMEZCUVhkRUxFVkJRMEVzYTBKQlFVRkRMRVZCUTBFc1owSkJRVUZETEVWQlEwRXNZVUZCUVVnc1JVRllXQ3hMUVVGUExFdEJRV1VzV1VGRGRFSXNTMEZCVHl4VFFVRnhRaXhKUVVGSmFrWXNSVUZYTjBJc1EwRkZTU3hQUVVFclFpeERRVU5zUXl4TlFVRlBMRU5CUTBnc1RVRkJUeXhaUVVOUUxGTkJRVlVzUzBGQlN5eFJRVU5tTEZWQlFWY3NRMEZCUlN4TlFVRlBMRXRCUVVzc1RVRkJUeXhKUVVGTExFdEJRVXNzUjBGQlNTeEZRVU01UXl4VlFVRlhMRXRCUVVzc1UwRkJVeXh0UWtGQmJVSXNSVUZETlVNc1RVRkJUeXhMUVVGTExGTkJRVk1zVjBGQlZ5eEZRVU5vUXl4UFFVRlJMRXRCUVVzc1UwRkJVeXhaUVVGWkxFVkJRMnhETEZOQlFWVXNTMEZCU3l4UlFVTm1MRmRCUVZrc1MwRkJTeXhWUVVOcVFpeFBRVUZSTEV0QlFVc3NUVUZEWWl4cFFrRkJhMElzUTBGQlJTeE5RVUZQTEV0QlFVc3NZVUZCWXl4SlFVRkxMRXRCUVVzc1ZVRkJWeXhEUVVOMlJTeERRVU5LTEVOQlEwb3NSVUZIWVhWQ0xFZEJRVTRzUzBGQmIwSXNRMEZKYUVJc1dVRkRTV1lzUlVGRFFVTXNSVUZEUVhWRkxFVkJRMEZhTEVWQlEwRmhMRVZCUTFRc1EwRk1VeXhYUVVGQmVrVXNSVUZEUVN4VFFVRkJReXhGUVVOQkxHRkJRVUYxUlN4RlFVTkJMRlZCUVVGYUxFVkJRMEVzWVVGQlFXRXNSVUZTV0N4TFFVRlBMRXRCUVdVc1dVRkRkRUlzUzBGQlR5eFRRVUZ4UWl4SlFVRkpha1lzUlVGUk4wSXNRMEZGU1N4UFFVRXJRaXhEUVVOc1F5eE5RVUZQTEVOQlEwZ3NUVUZCVHl4WlFVTlFMRk5CUVZVc1MwRkJTeXhSUVVObUxGVkJRVmNzUTBGQlJTeE5RVUZQTEV0QlFVc3NUVUZCVHl4SlFVRkxMRXRCUVVzc1IwRkJTU3hGUVVNNVF5eFZRVUZYTEV0QlFVc3NVMEZCVXl4dFFrRkJiVUlzUlVGRE5VTXNUVUZCVHl4TFFVRkxMRk5CUVZNc1YwRkJWeXhGUVVOb1F5eFBRVUZSTEV0QlFVc3NVMEZCVXl4WlFVRlpMRVZCUTJ4RExGTkJRVlVzUzBGQlN5eFJRVU5tTEUxQlFVOHNTMEZCU3l4SlFVTm9RaXhEUVVOS0xFTkJRMG9zUlVGSFlUSkNMRWRCUVU0c1MwRkJiMElzUTBGSGFFSXNXVUZEU1c1Q0xFVkJRMEZETEVWQlEwRjFSU3hGUVVOQlN5eEZRVU5CU2l4RlFVTlVMRU5CVEZNc1YwRkJRWHBGTEVWQlEwRXNVMEZCUVVNc1JVRkRRU3hoUVVGQmRVVXNSVUZEUVN4VlFVRkJTeXhGUVVOQkxHRkJRVUZLTEVWQlVGZ3NTMEZCVHl4VFFVRnhRaXhKUVVGSmFrWXNSVUZSTjBJc1EwRkZTU3hQUVVFeVFpeERRVU01UWl4TlFVRlBMRU5CUTBnc1RVRkJUeXhMUVVGTExFdEJRMW9zVTBGQlZTeExRVUZMTEZGQlEyWXNWVUZCVnl4RFFVRkZMRTFCUVU4c1MwRkJTeXhOUVVGUExFbEJRVXNzUzBGQlN5eEhRVUZKTEVWQlF6bERMRlZCUVZjc1MwRkJTeXhUUVVGVExHMUNRVUZ0UWl4RlFVTTFReXhOUVVGUExFdEJRVXNzVTBGQlV5eFhRVUZYTEVWQlEyaERMRTlCUVZFc1MwRkJTeXhUUVVGVExGbEJRVmtzUlVGRGJFTXNVMEZCVlN4TFFVRkxMRTlCUTI1Q0xFTkJRMG9zUTBGRFNpeEZRVXRoY1VNc1IwRkJUaXhMUVVGdFFpeERRVWRtTEZsQlEwazNRaXhGUVVOQlF5eEZRVU5CTmtVc1JVRkRRWEJFTEVWQlEwRXJReXhGUVVOQlRTeEZRVU5CY0VRc1JVRkRWQ3hEUVZCVExGZEJRVUV6UWl4RlFVTkJMRk5CUVVGRExFVkJRMEVzWjBKQlFVRTJSU3hGUVVOQkxGbEJRVUZ3UkN4RlFVTkJMR0ZCUVVFclF5eEZRVU5CTEZsQlFVRk5MRVZCUTBFc1ZVRkJRWEJFTEVWQlZGZ3NTMEZCVHl4VFFVRnhRaXhKUVVGSmJrTXNSMEZEYUVNc1MwRkJUeXhUUVVFeVFpeERRVUZETEVOQlUyaERMRU5CUlVrc1QwRkJPRUlzUTBGRGFrTXNUVUZCVHl4RFFVTklMRmxCUVdFc1MwRkJTeXhYUVVOc1FpeFZRVUZYTEVOQlFVVXNUVUZCVHl4TFFVRkxMRTFCUVU4c1NVRkJTeXhMUVVGTExFZEJRVWtzUlVGRE9VTXNVMEZCVlN4TFFVRkxMRkZCUTJZc1ZVRkJWeXhMUVVGTExGTkJRVk1zU1VGQlMzZEdMRWRCUVZsQkxFVkJRVkVzVFVGQlRTeERRVUZETEVWQlEzcEVMRTFCUVU4c1MwRkJTeXhQUVVGVExFOUJRVk1zVDBGRE9VSXNWVUZCVnl4TFFVRkxMRk5CUVZNc2JVSkJRVzFDTEVWQlF6VkRMRTFCUVU4c1MwRkJTeXhUUVVGVExGZEJRVmNzUlVGRGFFTXNUMEZCVVN4TFFVRkxMRk5CUVZNc1dVRkJXU3hGUVVOc1F5eFJRVUZUTEV0QlFVc3NUMEZEWkN4UlFVRlRMRXRCUVVzc1QwRkRaQ3hOUVVGUExFdEJRVXNzU1VGRGFFSXNRMEZEU2l4RFFVTktMRVZWTDJwQ1R5eFRRVUZUUXl4SFFVTmFReXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJReXhGUVVOVkxFTkJja0prTEVsQlFVRkRMRVZCYzBKSkxFbEJRVTFETEVWQlFWTXNTVUZCU1VNc1IwRkJWMDRzUlVGQlRVY3NRMEZCU3l4RlFVTnVRMGtzUlVGQlV5eExRVUZMTEUxQlFVMU9MRU5CUVUwc1JVRkZhRU1zVVVGQlYwOHNTMEZCUzBRc1JVRkJUeXhOUVVOdVFpeEhRVUZKUXl4RlFVRkZMRTFCUVZFc1VVRkRaQ3hIUVVGSlFTeEZRVUZGTEUxQlFWRXNUMEZCVVN4RFFVTnNRaXhIUVVGTkxFTkJRVVVzV1VGQlFVTXNSVUZCWVN4VFFVRkJReXhGUVVGVkxFMUJRVUZETEVWQlFVOHNVMEZCUVVNc1EwRkJVeXhGUVVGSlF5eEhRVUZ4UW1Jc1JVRkJUVkVzUlVGQlJTeExRVUZOVGl4RlFVRk5MRTlCUVU5TkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlEyeEhUU3hGUVVGUExFbEJRVWxETEVkQlFXVm1MRVZCUVUxUkxFVkJRVVVzUjBGQlNVRXNSVUZCUjBNc1EwRkJWeXhGUVVNeFJFY3NSVUZCVXl4UlFVRlRTU3hIUVVGTlJpeEZRVUZMTEZGQlFWRkZMRU5CUVVNc1EwRkJReXhGUVVOMlExZ3NSVUZCVHl4TFFVRkxVeXhEUVVGSkxFVkJRMmhDTEZGQlFWZEhMRXRCUVU5UUxFVkJRVk1zUzBGQlRVd3NSVUZCVHl4VFFVRlRMRWxCUVVsWkxFTkJRVWNzUlVGRGVFUXNVVUZCVjBNc1MwRkJVV1FzUlVGQlFVMHNSVUZCVXl4UlFVRlVMRXRCUVVGT0xFVkJRV3RDTEVOQlFVTXNSVUZCUjBNc1JVRkJUeXhUUVVGVExFdEJRVXRoTEVOQlFVa3NSVUZEYkVVc1VVRkJWME1zUzBGQlUwTXNSMEZCYjBKVUxFTkJRVXNzUlVGQlIwNHNSVUZCVHl4VFFVRlRMRmxCUVZsakxFTkJRVXNzUTBGRGNrWXNTMEZCVHl4RFFVTklMRWxCUVUxTUxFVkJRVThzU1VGQlNVTXNSMEZCWldZc1JVRkJUVkVzUlVGQlJTeEhRVUZKUVN4RFFVRkRMRVZCUXpkRFNDeEZRVUZQTEV0QlFVdFRMRU5CUVVrc1EwRkRjRUlzUTBGSFNpeFBRVUZQVkN4RlFVRlBMRTFCUVUwc1EwRkRlRUlzUTBGSFFTeEpRVUZsWjBJc1IwRkJaaXhMUVVGelF5eERRVWN6UWl4WlFVTkpja0lzUlVGRFFYTkNMRVZCUTBkRExFVkJRMW9zUTBGSVV5eFZRVUZCZGtJc1JVRkRRU3hSUVVGQmMwSXNSVUZEUnl4alFVRkJReXhGUVV4a0xFdEJRVThzVTBGQmNVSXNTVUZCU1VNc1JVRk5OMElzUTBGRlNTeFBRVUUwUWl4RFFVTXZRaXhOUVVGUExFTkJRMGdzVFVGQlR5eExRVUZMTEV0QlExb3NTVUZCU3l4TFFVRkxMRWRCUTFZc1ZVRkJWeXhEUVVOUUxFVkJRVWNzUzBGQlN5eFRRVUZUTEVWQlEycENMRVZCUVVjc1MwRkJTeXhUUVVGVExFTkJRM0pDTEVWQlEwRXNXVUZCWVN4RFFVTlVMRTFCUVU4c1MwRkJTeXhUUVVGVExFMUJRM0pDTEU5QlFWRXNTMEZCU3l4VFFVRlRMRTFCUXpGQ0xFVkJRMEVzVDBGQlVTeExRVUZMTEZOQlFWTXNUVUZEZEVJc1RVRkJUME1zUjBGQlN5eExRVUZMTEV0QlFVc3NTVUZCU1N4RlFVRkZMRlZCUVZVc1MwRkJTeXhGUVVGRkxFVkJRVVVzVTBGQlV5eERRVU0xUkN4RFFVTktMRU5CUTBvc1JVRkhZVllzUjBGQlRpeGpRVUUyUWswc1JVRkJkVUlzUTBGRmFFUXNXVUZEU1hKQ0xFVkJRMEZ6UWl4RlFVTkhReXhGUVVOSVpDeEZRVU5VTEVOQlEwVXNUVUZCVFZRc1JVRkJUWE5DTEVWQlFVbERMRU5CUVZFc1JVRk1ha0lzVlVGQlFYWkNMRVZCUTBFc1VVRkJRWE5DTEVWQlEwY3NZMEZCUVVNc1JVRkRTQ3hwUWtGQlFXUXNSVUZNV0N4TFFVRlBMRk5CUVRCQ0xFTkJRVU1zUTBGUmJFTXNRMEZGVHl4UlFVRlJhVUlzUlVGQmJVTXNRMEZET1VNc1dVRkJTeXhUUVVGVExFdEJRVXRCTEVOQlFVOHNSVUZEYmtKQkxFTkJRMWdzUTBGRlR5eFBRVUYzUWl4RFFVTXpRaXhQUVVGUkxFdEJRVXNzVTBGQlV5eExRVUZOTEVOQlEzaENMRWxCUVVzc1QwRkRSQ3hQUVVGUFF5eEhRVUZCUXl4RlFVRkJMRWRCUTBNc1RVRkJUU3hOUVVGTkxFZEJSR0lzUTBGRlNDeFZRVUZYTEV0QlFVc3NVMEZCVXl4dFFrRkJiVUlzUlVGRE5VTXNZVUZCWXl4TFFVRkxMRmxCUTI1Q0xGVkJRVmNzUzBGQlN5eFRRVUZUTEVsQlFVdERMRWRCUVUxQkxFVkJRVVVzVFVGQlRTeERRVUZETEVWQlF6ZERMRTFCUVU4c1MwRkJTeXhUUVVGVExGZEJRVmNzUlVGRGFFTXNUMEZCVVN4TFFVRkxMRk5CUVZNc1dVRkJXU3hGUVVOc1F5eE5RVUZQTEZsQlExQXNUMEZCVVN4TFFVRkxMRk5CUVZNc1MwRkRNVUlzUjBGRFNpeEpRVUZMTEU5QlEwUXNUMEZCVDBZc1IwRkJRVU1zUlVGQlFTeEhRVU5CTEUxQlFVMHNUVUZCVFN4SFFVUmFMRU5CUlVnc1dVRkJZU3hMUVVGTExGTkJRVk1zU1VGREwwSXNSMEZEU2l4SlFVRkxMRTlCUTBRc1QwRkJUMFFzUjBGQlFVTXNSVUZCUVN4SFFVTkJMRTFCUVUwc1RVRkJUU3hIUVVSYUxFTkJSVWdzUzBGQlRTeExRVUZMTEZOQlFWTXNSMEZEZUVJc1JVRkZVaXhEUVVOS0xFTkJRMG9zUlVGSFlYUkNMRWRCUVU0c1MwRkJhVUlzUTBGSllpeFpRVUZ0UWs0c1JVRkJjVUpITEVWQlFXdENMRU5CUVhaRExGVkJRVUZJTEVWQlFYRkNMRmRCUVVGSExFVkJTQzlETEV0QlFVOHNUVUZCTUVJc1EwRkJReXhGUVVOc1F5eExRVUZQTEZOQlFYRkNMRWxCUVVseFFpeEZRVVZyUXl4RFFVVXpSQ3hMUVVGTFRTeEZRVUZ0UXl4RFFVTXpReXhaUVVGTExFMUJRVTBzUzBGQlMwRXNRMEZCUXl4RlFVTldRU3hEUVVOWUxFTkJSVThzVDBGQmIwSXNRMEZEZGtJc1RVRkJUeXhEUVVOSUxFOUJRVkVzUzBGQlN5eE5RVUZOTEVsQlFVdEVMRWRCUVUxQkxFVkJRVVVzVFVGQlRTeERRVUZETEVWQlEzWkRMRTlCUVZFc1MwRkJTeXhOUVVGTkxFMUJRMjVDTEU5QlFWRXNTMEZCU3l4TlFVRk5MRTFCUTI1Q0xGVkJRVmNzUzBGQlN5eFRRVUZUTEcxQ1FVRnRRaXhGUVVNMVF5eFBRVUZSTEV0QlFVc3NVMEZCVXl4WlFVRlpMRVZCUTJ4RExFMUJRVThzUzBGQlN5eFRRVUZUTEZkQlFWY3NSVUZEYUVNc1RVRkJUeXhMUVVGTExFdEJRMW9zVFVGQlR5eExRVUZMTEUxQlFVMHNTVUZEZEVJc1EwRkRTaXhEUVVOS0xFVkRlRWxCTEZWQlFWa3NUVUZCVDBVc1IwRkJWU3hEUVVONlFpeEhRVUZKTEVOQlEwRXNTVUZCVFVNc1JVRkJWVVFzUlVGQlRTeExRVVYwUWl4SFFVRkpReXhGUVVGUkxFOUJRVk1zVjBGQldTeERRVU0zUWl4SlFVRk5ReXhGUVVGWFF5eEhRVUZsUml4RlFVRlJMRXRCUVUxQkxFVkJRVkVzVTBGQlZVRXNSVUZCVVN4VFFVRlZRU3hGUVVGUkxFbEJRVWtzUlVGRk9VWXNXVUZCV1N4RFFVTlNMRXRCUVUwc1YwRkRUaXhQUVVGUlF5eERRVU5hTEVOQlFYbENMRU5CUXpkQ0xGTkJRVmRFTEVWQlFWRXNUMEZCVXl4VFFVRlZMRU5CUTJ4RExFbEJRVTFITEVWQlFWTkRMRWRCUVdGS0xFVkJRVkVzUzBGQlRVRXNSVUZCVVN4VFFVRlZRU3hGUVVGUkxFMUJRVTlCTEVWQlFWRXNTVUZCU1N4RlFVVjJSaXhaUVVGWkxFTkJRMUlzUzBGQlRTeFRRVU5PTEU5QlFWRkhMRU5CUTFvc1EwRkJkVUlzUTBGRE0wSXNUVUZEU1N4WlFVRlpMRU5CUVVVc1QwRkJVU3cwUWtGQk5rSXNRMEZCUXl4RFFVVTFSQ3hQUVVGVFJTeEZRVUZQTEVOQlExb3NVVUZCVVN4TlFVRk5MRzlEUVVGdlEwNHNSVUZCVFN4TFFVRkxMRWxCUVVrc1MwRkJTMDBzUTBGQlN5eEZRVUZGTEVWQlF6ZEZMRmxCUVZrc1EwRkJSU3hQUVVGUlFTeEZRVUZOTEU5QlFWRXNRMEZCUXl4RFFVTjZReXhEUVVOS0lpd0tJQ0FpYm1GdFpYTWlPaUJiSW5KbGNYVnBjbVZmY0dGeWMybHRiVzl1WDNWdFpGOXRhVzRpTENBaVgxOWpiMjF0YjI1S1UwMXBiaUlzSUNKbGVIQnZjblJ6SWl3Z0ltMXZaSFZzWlNJc0lDSjBJaXdnSW5JaUxDQWlaU0lzSUNKMUlpd2dJbTRpTENBaWJ5SXNJQ0pwSWl3Z0ltWWlMQ0FpWXlJc0lDSnpJaXdnSW13aUxDQWllQ0lzSUNKaUlpd2dJbWdpTENBaWNDSXNJQ0prSWl3Z0luWWlMQ0FpWnlJc0lDSnRJaXdnSW5raUxDQWlSU0lzSUNKM0lpd2dJa0lpTENBaVlTSXNJQ0pxSWl3Z0lsTWlMQ0FpWHlJc0lDSk1JaXdnSWs4aUxDQWlheUlzSUNKUUlpd2dJbkVpTENBaVFTSXNJQ0pKSWl3Z0lrWWlMQ0FpVFNJc0lDSjZJaXdnSWxJaUxDQWlWU0lzSUNKWElpd2dJa1FpTENBaVRpSXNJQ0pISWl3Z0lrTWlMQ0FpU2lJc0lDSlVJaXdnSWxraUxDQWlWaUlzSUNKSUlpd2dJbGdpTENBaVN5SXNJQ0pSSWl3Z0lsb2lMQ0FpSkNJc0lDSnViaUlzSUNKMGJpSXNJQ0p5YmlJc0lDSmhiaUlzSUNKbGJpSXNJQ0oxYmlJc0lDSnZiaUlzSUNKbWJpSXNJQ0pqYmlJc0lDSnpiaUlzSUNKc2JpSXNJQ0pvYmlJc0lDSndiaUlzSUNKa2JpSXNJQ0oyYmlJc0lDSm5iaUlzSUNKdGJpSXNJQ0o1YmlJc0lDSnlaWEYxYVhKbFgySmZkSEpsWlNJc0lDSmZYMk52YlcxdmJrcFRUV2x1SWl3Z0ltVjRjRzl5ZEhNaUxDQWlYMTlsZUhSbGJtUnpJaXdnSW1WNGRHVnVaRk4wWVhScFkzTWlMQ0FpWkNJc0lDSmlJaXdnSW5BaUxDQWlYMThpTENBaVpHVm1ZWFZzZEVOdmJYQmhjbUYwYjNJaUxDQWlZU0lzSUNKMFlTSXNJQ0owWWlJc0lDSnphVzF3YkdWRGIyMXdZWEpoZEc5eUlpd2dJa0pVY21WbElpd2dJbVZ1ZEhKcFpYTWlMQ0FpWTI5dGNHRnlaU0lzSUNKdFlYaE9iMlJsVTJsNlpTSXNJQ0pGYlhCMGVVeGxZV1lpTENBaVkyRnNiR0poWTJzaUxDQWlkR2hwYzBGeVp5SXNJQ0pmZEdocGN5SXNJQ0pySWl3Z0luWWlMQ0FpYVc1cGRHbGhiRU52ZFc1MFpYSWlMQ0FpYkc5M0lpd2dJbWhwWjJnaUxDQWlhMlY1SWl3Z0ltUmxabUYxYkhSV1lXeDFaU0lzSUNKMllXeDFaU0lzSUNKdmRtVnlkM0pwZEdVaUxDQWljbVZ6ZFd4MElpd2dJa0pPYjJSbFNXNTBaWEp1WVd3aUxDQWlSR1ZzWlhSbFVtRnVaMlVpTENBaWJuVWlMQ0FpY0dGcGNuTWlMQ0FpYTJWNWN5SXNJQ0p5WlhSMWNtNVVhR2x6U1daVmJtTm9ZVzVuWldRaUxDQWlZMmhoYm1kbFpDSXNJQ0pwYm1Oc2RXUmxTR2xuYUNJc0lDSmtaV3dpTENBaWFTSXNJQ0pFWld4bGRHVWlMQ0FpZEcxd0lpd2dJbWx1YVhScFlXeFdZV3gxWlNJc0lDSnBkQ0lzSUNKU1pYVnpaV1JCY25KaGVTSXNJQ0p1WlhoMElpd2dJbXh2ZDJWemRFdGxlU0lzSUNKeVpYVnpaV1JCY25KaGVTSXNJQ0pwYm1adklpd2dJbWwwWlhKaGRHOXlJaXdnSW01dlpHVnhkV1YxWlNJc0lDSnViMlJsYVc1a1pYZ2lMQ0FpYkdWaFppSXNJQ0p6ZEdGMFpTSXNJQ0pxZFcxd0lpd2dJbXhsZG1Wc0lpd2dJbWhwWjJobGMzUkxaWGtpTENBaWMydHBjRWhwWjJobGMzUWlMQ0FpWDJFaUxDQWlZMmhsWTJzaUxDQWlibVY0ZEc1dlpHVWlMQ0FpUlcxd2RIbEJjbkpoZVNJc0lDSnZkR2hsY2lJc0lDSnZibXg1VkdocGN5SXNJQ0p2Ym14NVQzUm9aWElpTENBaVpHbG1abVZ5Wlc1MElpd2dJbDlqYjIxd1lYSmxJaXdnSW5Sb2FYTkRkWEp6YjNJaUxDQWliM1JvWlhKRGRYSnpiM0lpTENBaWRHaHBjMU4xWTJObGMzTWlMQ0FpYjNSb1pYSlRkV05qWlhOeklpd2dJbkJ5WlhaRGRYSnpiM0pQY21SbGNpSXNJQ0pqZFhKemIzSlBjbVJsY2lJc0lDSjBhR2x6VEdWaFppSXNJQ0owYUdselNXNTBaWEp1WVd4VGNHbHVaU0lzSUNKMGFHbHpUR1YyWld4SmJtUnBZMlZ6SWl3Z0ltOTBhR1Z5VEdWaFppSXNJQ0p2ZEdobGNrbHVkR1Z5Ym1Gc1UzQnBibVVpTENBaWIzUm9aWEpNWlhabGJFbHVaR2xqWlhNaUxDQWlkbUZzVkdocGN5SXNJQ0oyWVd4UGRHaGxjaUlzSUNKdmRHaGxjbFpoYkNJc0lDSnNZWE4wVkdocGN5SXNJQ0pzWVhOMFQzUm9aWElpTENBaWJtOWtaVlJvYVhNaUxDQWlibTlrWlU5MGFHVnlJaXdnSW1OMWNuTnZjaUlzSUNKamRYSnpiM0pHYVc1cGMyaGxaQ0lzSUNKamIyMXdZWEpsUzJWNWN5SXNJQ0pqYjIxd1lYSmxaQ0lzSUNKallXNVRkR1Z3SWl3Z0lteGxkbVZzU1c1a2FXTmxjeUlzSUNKamRYSnlaVzUwUzJWNUlpd2dJblJ5WldVaUxDQWlYM0p2YjNRaUxDQWlhR1ZwWjJoMElpd2dJbk4wWlhCVWIwNXZaR1VpTENBaWFXNTBaWEp1WVd4VGNHbHVaU0lzSUNKc1pYWmxiSE5NWlc1bmRHZ2lMQ0FpYzNCcGJtVk1aVzVuZEdnaUxDQWlibTlrWlV4bGRtVnNTVzVrWlhnaUxDQWliR1YyWld4SmJtUmxlRmRoYkd0Q1lXTnJJaXdnSW5aaGJIVmxTVzVrWlhnaUxDQWlibVY0ZEV4bGRtVnNJaXdnSW1OMWNuSmxiblJNWlhabGJDSXNJQ0p1YjJSbElpd2dJbU5vYVd4a2NtVnVJaXdnSW1Ob2FXeGtTVzVrWlhnaUxDQWlZM1Z5YzI5eVFTSXNJQ0pqZFhKemIzSkNJaXdnSW1obGFXZG9kRUVpTENBaVkzVnljbVZ1ZEV0bGVVRWlMQ0FpYkdWMlpXeEpibVJwWTJWelFTSXNJQ0pvWldsbmFIUkNJaXdnSW1OMWNuSmxiblJMWlhsQ0lpd2dJbXhsZG1Wc1NXNWthV05sYzBJaUxDQWlhMlY1UTI5dGNHRnlhWE52YmlJc0lDSm9aV2xuYUhSTmFXNGlMQ0FpWkdWd2RHaEJUbTl5YldGc2FYcGxaQ0lzSUNKa1pYQjBhRUpPYjNKdFlXeHBlbVZrSWl3Z0ltWnBjbk4wUzJWNUlpd2dJbTRpTENBaVptOXlZMlVpTENBaWJXRjRUR1Z1WjNSb0lpd2dJbTFwYmlJc0lDSnRZWGdpTENBaWNtVnpkV3gwY3lJc0lDSkNjbVZoYXlJc0lDSmhaR1JsWkNJc0lDSnZia1p2ZFc1a0lpd2dJbklpTENBaWNtOXZkQ0lzSUNKcGMxTm9ZWEpsWkNJc0lDSjBJaXdnSW5OcGVtVWlMQ0FpWVhOVFpYUWlMQ0FpWW5SeVpXVWlMQ0FpUWs1dlpHVWlMQ0FpZG1Gc2RXVnpJaXdnSW5WdVpHVm1WbUZzY3lJc0lDSm1ZV2xzV0c5eUlpd2dJbU50Y0NJc0lDSnNieUlzSUNKb2FTSXNJQ0p0YVdRaUxDQWlZeUlzSUNKc1lYTjBTVzVrWlhnaUxDQWlhVzVqYkhWemFYWmxJaXdnSW1sdVpHVjRUM0pNYjNkbGNpSXNJQ0prWlhCMGFDSXNJQ0ppWVhObFNXNWtaWGdpTENBaWEwd2lMQ0FpZGt3aUxDQWlibVYzVW1sbmFIUlRhV0pzYVc1bklpd2dJblJoY21kbGRDSXNJQ0p5YUhNaUxDQWliR2h6SWl3Z0ltaGhiR1lpTENBaVpXUnBkRTF2WkdVaUxDQWlZMjkxYm5RaUxDQWlhVXh2ZHlJc0lDSnBTR2xuYUNJc0lDSmZJaXdnSWw5emRYQmxjaUlzSUNKc1pXNW5kR2dpTENBaVkwd2lMQ0FpWTJocGJHUlRhWHBsSWl3Z0luUnZiMlpsZHlJc0lDSmphR2xzWkNJc0lDSnRZWGhUYVhwbElpd2dJbTlzWkV4bGJtZDBhQ0lzSUNKeWFITkRhR2xzWkhKbGJpSXNJQ0ptWVdOMElpd2dJbUZ5WjNNaUxDQWlYMmtpTENBaVRIVjRiMjVGY25KdmNpSXNJQ0pKYm5aaGJHbGtSR0YwWlZScGJXVkZjbkp2Y2lJc0lDSnlaV0Z6YjI0aUxDQWlTVzUyWVd4cFpFbHVkR1Z5ZG1Gc1JYSnliM0lpTENBaVNXNTJZV3hwWkVSMWNtRjBhVzl1UlhKeWIzSWlMQ0FpUTI5dVpteHBZM1JwYm1kVGNHVmphV1pwWTJGMGFXOXVSWEp5YjNJaUxDQWlTVzUyWVd4cFpGVnVhWFJGY25KdmNpSXNJQ0oxYm1sMElpd2dJa2x1ZG1Gc2FXUkJjbWQxYldWdWRFVnljbTl5SWl3Z0lscHZibVZKYzBGaWMzUnlZV04wUlhKeWIzSWlMQ0FpYmlJc0lDSnpJaXdnSW13aUxDQWlSRUZVUlY5VFNFOVNWQ0lzSUNKRVFWUkZYMDFGUkNJc0lDSkVRVlJGWDAxRlJGOVhTVlJJWDFkRlJVdEVRVmtpTENBaVJFRlVSVjlHVlV4TUlpd2dJa1JCVkVWZlNGVkhSU0lzSUNKVVNVMUZYMU5KVFZCTVJTSXNJQ0pVU1UxRlgxZEpWRWhmVTBWRFQwNUVVeUlzSUNKVVNVMUZYMWRKVkVoZlUwaFBVbFJmVDBaR1UwVlVJaXdnSWxSSlRVVmZWMGxVU0Y5TVQwNUhYMDlHUmxORlZDSXNJQ0pVU1UxRlh6STBYMU5KVFZCTVJTSXNJQ0pVU1UxRlh6STBYMWRKVkVoZlUwVkRUMDVFVXlJc0lDSlVTVTFGWHpJMFgxZEpWRWhmVTBoUFVsUmZUMFpHVTBWVUlpd2dJbFJKVFVWZk1qUmZWMGxVU0Y5TVQwNUhYMDlHUmxORlZDSXNJQ0pFUVZSRlZFbE5SVjlUU0U5U1ZDSXNJQ0pFUVZSRlZFbE5SVjlUU0U5U1ZGOVhTVlJJWDFORlEwOU9SRk1pTENBaVJFRlVSVlJKVFVWZlRVVkVJaXdnSWtSQlZFVlVTVTFGWDAxRlJGOVhTVlJJWDFORlEwOU9SRk1pTENBaVJFRlVSVlJKVFVWZlRVVkVYMWRKVkVoZlYwVkZTMFJCV1NJc0lDSkVRVlJGVkVsTlJWOUdWVXhNSWl3Z0lrUkJWRVZVU1UxRlgwWlZURXhmVjBsVVNGOVRSVU5QVGtSVElpd2dJa1JCVkVWVVNVMUZYMGhWUjBVaUxDQWlSRUZVUlZSSlRVVmZTRlZIUlY5WFNWUklYMU5GUTA5T1JGTWlMQ0FpYVhOVmJtUmxabWx1WldRaUxDQWlieUlzSUNKcGMwNTFiV0psY2lJc0lDSnBjMGx1ZEdWblpYSWlMQ0FpYVhOVGRISnBibWNpTENBaWFYTkVZWFJsSWl3Z0ltaGhjMUpsYkdGMGFYWmxJaXdnSW1VaUxDQWliV0Y1WW1WQmNuSmhlU0lzSUNKMGFHbHVaeUlzSUNKaVpYTjBRbmtpTENBaVlYSnlJaXdnSW1KNUlpd2dJbU52YlhCaGNtVWlMQ0FpWW1WemRDSXNJQ0p1WlhoMElpd2dJbkJoYVhJaUxDQWljR2xqYXlJc0lDSnZZbW9pTENBaWEyVjVjeUlzSUNKaElpd2dJbXNpTENBaWFHRnpUM2R1VUhKdmNHVnlkSGtpTENBaWNISnZjQ0lzSUNKcGJuUmxaMlZ5UW1WMGQyVmxiaUlzSUNKaWIzUjBiMjBpTENBaWRHOXdJaXdnSW1ac2IyOXlUVzlrSWl3Z0luZ2lMQ0FpYmlJc0lDSndZV1JUZEdGeWRDSXNJQ0pwYm5CMWRDSXNJQ0pwYzA1bFp5SXNJQ0p3WVdSa1pXUWlMQ0FpY0dGeWMyVkpiblJsWjJWeUlpd2dJbk4wY21sdVp5SXNJQ0p3WVhKelpVWnNiMkYwYVc1bklpd2dJbkJoY25ObFRXbHNiR2x6SWl3Z0ltWnlZV04wYVc5dUlpd2dJbVlpTENBaWNtOTFibVJVYnlJc0lDSnVkVzFpWlhJaUxDQWlaR2xuYVhSeklpd2dJblJ2ZDJGeVpGcGxjbThpTENBaVptRmpkRzl5SWl3Z0ltbHpUR1ZoY0ZsbFlYSWlMQ0FpZVdWaGNpSXNJQ0prWVhselNXNVpaV0Z5SWl3Z0ltUmhlWE5KYmsxdmJuUm9JaXdnSW0xdmJuUm9JaXdnSW0xdlpFMXZiblJvSWl3Z0ltMXZaRmxsWVhJaUxDQWliMkpxVkc5TWIyTmhiRlJUSWl3Z0ltUWlMQ0FpZDJWbGEzTkpibGRsWld0WlpXRnlJaXdnSW5kbFpXdFpaV0Z5SWl3Z0luQXhJaXdnSW14aGMzUWlMQ0FpY0RJaUxDQWlkVzUwY25WdVkyRjBaVmxsWVhJaUxDQWljR0Z5YzJWYWIyNWxTVzVtYnlJc0lDSjBjeUlzSUNKdlptWnpaWFJHYjNKdFlYUWlMQ0FpYkc5allXeGxJaXdnSW5ScGJXVmFiMjVsSWl3Z0ltUmhkR1VpTENBaWFXNTBiRTl3ZEhNaUxDQWliVzlrYVdacFpXUWlMQ0FpWDE5emNISmxZV1JXWVd4MVpYTWlMQ0FpY0dGeWMyVmtJaXdnSW0waUxDQWljMmxuYm1Wa1QyWm1jMlYwSWl3Z0ltOW1aa2h2ZFhKVGRISWlMQ0FpYjJabVRXbHVkWFJsVTNSeUlpd2dJbTltWmtodmRYSWlMQ0FpYjJabVRXbHVJaXdnSW05bVprMXBibE5wWjI1bFpDSXNJQ0poYzA1MWJXSmxjaUlzSUNKMllXeDFaU0lzSUNKdWRXMWxjbWxqVm1Gc2RXVWlMQ0FpU1c1MllXeHBaRUZ5WjNWdFpXNTBSWEp5YjNJaUxDQWlibTl5YldGc2FYcGxUMkpxWldOMElpd2dJbTV2Y20xaGJHbDZaWElpTENBaWJtOXliV0ZzYVhwbFpDSXNJQ0oxSWl3Z0luWWlMQ0FpWm05eWJXRjBUMlptYzJWMElpd2dJbTltWm5ObGRDSXNJQ0ptYjNKdFlYUWlMQ0FpYUc5MWNuTWlMQ0FpYldsdWRYUmxjeUlzSUNKemFXZHVJaXdnSW5ScGJXVlBZbXBsWTNRaUxDQWlhV0Z1WVZKbFoyVjRJaXdnSW0xdmJuUm9jMHh2Ym1jaUxDQWliVzl1ZEdoelUyaHZjblFpTENBaWJXOXVkR2h6VG1GeWNtOTNJaXdnSW0xdmJuUm9jeUlzSUNKc1pXNW5kR2dpTENBaWQyVmxhMlJoZVhOTWIyNW5JaXdnSW5kbFpXdGtZWGx6VTJodmNuUWlMQ0FpZDJWbGEyUmhlWE5PWVhKeWIzY2lMQ0FpZDJWbGEyUmhlWE1pTENBaWJXVnlhV1JwWlcxeklpd2dJbVZ5WVhOTWIyNW5JaXdnSW1WeVlYTlRhRzl5ZENJc0lDSmxjbUZ6VG1GeWNtOTNJaXdnSW1WeVlYTWlMQ0FpYldWeWFXUnBaVzFHYjNKRVlYUmxWR2x0WlNJc0lDSmtkQ0lzSUNKM1pXVnJaR0Y1Um05eVJHRjBaVlJwYldVaUxDQWliVzl1ZEdoR2IzSkVZWFJsVkdsdFpTSXNJQ0psY21GR2IzSkVZWFJsVkdsdFpTSXNJQ0ptYjNKdFlYUlNaV3hoZEdsMlpWUnBiV1VpTENBaWRXNXBkQ0lzSUNKamIzVnVkQ0lzSUNKdWRXMWxjbWxqSWl3Z0ltNWhjbkp2ZHlJc0lDSjFibWwwY3lJc0lDSnNZWE4wWVdKc1pTSXNJQ0pwYzBSaGVTSXNJQ0pwYzBsdVVHRnpkQ0lzSUNKbWJYUldZV3gxWlNJc0lDSnphVzVuZFd4aGNpSXNJQ0pzYVd4VmJtbDBjeUlzSUNKbWJYUlZibWwwSWl3Z0luTjBjbWx1WjJsbWVWUnZhMlZ1Y3lJc0lDSnpjR3hwZEhNaUxDQWlkRzlyWlc1VWIxTjBjbWx1WnlJc0lDSnpJaXdnSW5SdmEyVnVJaXdnSW0xaFkzSnZWRzlyWlc1VWIwWnZjbTFoZEU5d2RITWlMQ0FpUkVGVVJWOVRTRTlTVkNJc0lDSkVRVlJGWDAxRlJDSXNJQ0pFUVZSRlgwWlZURXdpTENBaVJFRlVSVjlJVlVkRklpd2dJbFJKVFVWZlUwbE5VRXhGSWl3Z0lsUkpUVVZmVjBsVVNGOVRSVU5QVGtSVElpd2dJbFJKVFVWZlYwbFVTRjlUU0U5U1ZGOVBSa1pUUlZRaUxDQWlWRWxOUlY5WFNWUklYMHhQVGtkZlQwWkdVMFZVSWl3Z0lsUkpUVVZmTWpSZlUwbE5VRXhGSWl3Z0lsUkpUVVZmTWpSZlYwbFVTRjlUUlVOUFRrUlRJaXdnSWxSSlRVVmZNalJmVjBsVVNGOVRTRTlTVkY5UFJrWlRSVlFpTENBaVZFbE5SVjh5TkY5WFNWUklYMHhQVGtkZlQwWkdVMFZVSWl3Z0lrUkJWRVZVU1UxRlgxTklUMUpVSWl3Z0lrUkJWRVZVU1UxRlgwMUZSQ0lzSUNKRVFWUkZWRWxOUlY5R1ZVeE1JaXdnSWtSQlZFVlVTVTFGWDBoVlIwVWlMQ0FpUkVGVVJWUkpUVVZmVTBoUFVsUmZWMGxVU0Y5VFJVTlBUa1JUSWl3Z0lrUkJWRVZVU1UxRlgwMUZSRjlYU1ZSSVgxTkZRMDlPUkZNaUxDQWlSRUZVUlZSSlRVVmZSbFZNVEY5WFNWUklYMU5GUTA5T1JGTWlMQ0FpUkVGVVJWUkpUVVZmU0ZWSFJWOVhTVlJJWDFORlEwOU9SRk1pTENBaVJtOXliV0YwZEdWeUlpd2dJbDlHYjNKdFlYUjBaWElpTENBaWJHOWpZV3hsSWl3Z0ltOXdkSE1pTENBaVptMTBJaXdnSW1OMWNuSmxiblFpTENBaVkzVnljbVZ1ZEVaMWJHd2lMQ0FpWW5KaFkydGxkR1ZrSWl3Z0lta2lMQ0FpWXlJc0lDSm1iM0p0WVhSUGNIUnpJaXdnSW1SMElpd2dJbDlmYzNCeVpXRmtWbUZzZFdWeklpd2dJbTRpTENBaWNDSXNJQ0p3WVdSVGRHRnlkQ0lzSUNKcmJtOTNia1Z1WjJ4cGMyZ2lMQ0FpZFhObFJHRjBaVlJwYldWR2IzSnRZWFIwWlhJaUxDQWljM1J5YVc1bklpd2dJbVY0ZEhKaFkzUWlMQ0FpWm05eWJXRjBUMlptYzJWMElpd2dJbTFsY21sa2FXVnRJaXdnSW0xbGNtbGthV1Z0Um05eVJHRjBaVlJwYldVaUxDQWliVzl1ZEdnaUxDQWliR1Z1WjNSb0lpd2dJbk4wWVc1a1lXeHZibVVpTENBaWJXOXVkR2hHYjNKRVlYUmxWR2x0WlNJc0lDSjNaV1ZyWkdGNUlpd2dJbmRsWld0a1lYbEdiM0pFWVhSbFZHbHRaU0lzSUNKdFlYbGlaVTFoWTNKdklpd2dJbVZ5WVNJc0lDSmxjbUZHYjNKRVlYUmxWR2x0WlNJc0lDSmtkWElpTENBaWRHOXJaVzVVYjBacFpXeGtJaXdnSW14cGJHUjFjaUlzSUNKdFlYQndaV1FpTENBaWRHOXJaVzV6SWl3Z0luSmxZV3hVYjJ0bGJuTWlMQ0FpWm05MWJtUWlMQ0FpYkdsMFpYSmhiQ0lzSUNKMllXd2lMQ0FpWTI5c2JHRndjMlZrSWl3Z0luUWlMQ0FpU1c1MllXeHBaQ0lzSUNKeVpXRnpiMjRpTENBaVpYaHdiR0Z1WVhScGIyNGlMQ0FpV205dVpTSXNJQ0phYjI1bFNYTkJZbk4wY21GamRFVnljbTl5SWl3Z0luUnpJaXdnSW05d2RITWlMQ0FpWm05eWJXRjBJaXdnSW05MGFHVnlXbTl1WlNJc0lDSnphVzVuYkdWMGIyNGlMQ0FpVTNsemRHVnRXbTl1WlNJc0lDSmZVM2x6ZEdWdFdtOXVaU0lzSUNKYWIyNWxJaXdnSW5Seklpd2dJbVp2Y20xaGRDSXNJQ0pzYjJOaGJHVWlMQ0FpY0dGeWMyVmFiMjVsU1c1bWJ5SXNJQ0ptYjNKdFlYUlBabVp6WlhRaUxDQWliM1JvWlhKYWIyNWxJaXdnSW1SMFprTmhZMmhsSWl3Z0ltMWhhMlZFVkVZaUxDQWllbTl1WlNJc0lDSjBlWEJsVkc5UWIzTWlMQ0FpYUdGamEzbFBabVp6WlhRaUxDQWlaSFJtSWl3Z0ltUmhkR1VpTENBaVptOXliV0YwZEdWa0lpd2dJbkJoY25ObFpDSXNJQ0ptVFc5dWRHZ2lMQ0FpWmtSaGVTSXNJQ0ptV1dWaGNpSXNJQ0ptWVdSUGNrSmpJaXdnSW1aSWIzVnlJaXdnSW1aTmFXNTFkR1VpTENBaVpsTmxZMjl1WkNJc0lDSndZWEowYzA5bVpuTmxkQ0lzSUNKbWFXeHNaV1FpTENBaWFTSXNJQ0owZVhCbElpd2dJblpoYkhWbElpd2dJbkJ2Y3lJc0lDSnBjMVZ1WkdWbWFXNWxaQ0lzSUNKcFlXNWhXbTl1WlVOaFkyaGxJaXdnSWtsQlRrRmFiMjVsSWl3Z0lsOUpRVTVCV205dVpTSXNJQ0phYjI1bElpd2dJbTVoYldVaUxDQWljeUlzSUNKbElpd2dJblJ6SWl3Z0ltWnZjbTFoZENJc0lDSnNiMk5oYkdVaUxDQWljR0Z5YzJWYWIyNWxTVzVtYnlJc0lDSm1iM0p0WVhSUFptWnpaWFFpTENBaWVXVmhjaUlzSUNKdGIyNTBhQ0lzSUNKa1lYa2lMQ0FpWVdSUGNrSmpJaXdnSW1odmRYSWlMQ0FpYldsdWRYUmxJaXdnSW5ObFkyOXVaQ0lzSUNKaGMxVlVReUlzSUNKdlltcFViMHh2WTJGc1ZGTWlMQ0FpWVhOVVV5SXNJQ0p2ZG1WeUlpd2dJbTkwYUdWeVdtOXVaU0lzSUNKemFXNW5iR1YwYjI0aUxDQWlSbWw0WldSUFptWnpaWFJhYjI1bElpd2dJbDlHYVhobFpFOW1abk5sZEZwdmJtVWlMQ0FpV205dVpTSXNJQ0p2Wm1aelpYUWlMQ0FpY3lJc0lDSnlJaXdnSW5OcFoyNWxaRTltWm5ObGRDSXNJQ0ptYjNKdFlYUlBabVp6WlhRaUxDQWlkSE1pTENBaVptOXliV0YwSWl3Z0ltOTBhR1Z5V205dVpTSXNJQ0pKYm5aaGJHbGtXbTl1WlNJc0lDSmFiMjVsSWl3Z0lucHZibVZPWVcxbElpd2dJbTV2Y20xaGJHbDZaVnB2Ym1VaUxDQWlhVzV3ZFhRaUxDQWlaR1ZtWVhWc2RGcHZibVVpTENBaWIyWm1jMlYwSWl3Z0ltbHpWVzVrWldacGJtVmtJaXdnSWxwdmJtVWlMQ0FpYVhOVGRISnBibWNpTENBaWJHOTNaWEpsWkNJc0lDSkdhWGhsWkU5bVpuTmxkRnB2Ym1VaUxDQWlTVUZPUVZwdmJtVWlMQ0FpYVhOT2RXMWlaWElpTENBaVNXNTJZV3hwWkZwdmJtVWlMQ0FpYm05M0lpd2dJbVJsWm1GMWJIUmFiMjVsSWl3Z0ltUmxabUYxYkhSTWIyTmhiR1VpTENBaVpHVm1ZWFZzZEU1MWJXSmxjbWx1WjFONWMzUmxiU0lzSUNKa1pXWmhkV3gwVDNWMGNIVjBRMkZzWlc1a1lYSWlMQ0FpZEdoeWIzZFBia2x1ZG1Gc2FXUWlMQ0FpVTJWMGRHbHVaM01pTENBaWJpSXNJQ0o2YjI1bElpd2dJbTV2Y20xaGJHbDZaVnB2Ym1VaUxDQWlVM2x6ZEdWdFdtOXVaU0lzSUNKc2IyTmhiR1VpTENBaWJuVnRZbVZ5YVc1blUzbHpkR1Z0SWl3Z0ltOTFkSEIxZEVOaGJHVnVaR0Z5SWl3Z0luUWlMQ0FpVEc5allXeGxJaXdnSWtsQlRrRmFiMjVsSWl3Z0ltbHVkR3hNUmtOaFkyaGxJaXdnSW1kbGRFTmhZMmhsWkV4R0lpd2dJbXh2WTFOMGNtbHVaeUlzSUNKdmNIUnpJaXdnSW10bGVTSXNJQ0prZEdZaUxDQWlhVzUwYkVSVVEyRmphR1VpTENBaVoyVjBRMkZqYUdWa1JGUkdJaXdnSW1sdWRHeE9kVzFEWVdOb1pTSXNJQ0puWlhSRFlXTm9aV1JKVGtZaUxDQWlhVzVtSWl3Z0ltbHVkR3hTWld4RFlXTm9aU0lzSUNKblpYUkRZV05vWldSU1ZFWWlMQ0FpWDJFaUxDQWlZbUZ6WlNJc0lDSmpZV05vWlV0bGVVOXdkSE1pTENBaVgxOXZZbXBTWlhOMElpd2dJbk41YzB4dlkyRnNaVU5oWTJobElpd2dJbk41YzNSbGJVeHZZMkZzWlNJc0lDSndZWEp6WlV4dlkyRnNaVk4wY21sdVp5SXNJQ0pzYjJOaGJHVlRkSElpTENBaWRVbHVaR1Y0SWl3Z0ltOXdkR2x2Ym5NaUxDQWljMjFoYkd4bGNpSXNJQ0psSWl3Z0ltNTFiV0psY21sdVoxTjVjM1JsYlNJc0lDSmpZV3hsYm1SaGNpSXNJQ0pwYm5Sc1EyOXVabWxuVTNSeWFXNW5JaXdnSW05MWRIQjFkRU5oYkdWdVpHRnlJaXdnSW0xaGNFMXZiblJvY3lJc0lDSm1JaXdnSW0xeklpd2dJbWtpTENBaVpIUWlMQ0FpUkdGMFpWUnBiV1VpTENBaWJXRndWMlZsYTJSaGVYTWlMQ0FpYkdsemRGTjBkV1ptSWl3Z0lteHZZeUlzSUNKc1pXNW5kR2dpTENBaVpHVm1ZWFZzZEU5TElpd2dJbVZ1WjJ4cGMyaEdiaUlzSUNKcGJuUnNSbTRpTENBaWJXOWtaU0lzSUNKemRYQndiM0owYzBaaGMzUk9kVzFpWlhKeklpd2dJbEJ2YkhsT2RXMWlaWEpHYjNKdFlYUjBaWElpTENBaWFXNTBiQ0lzSUNKbWIzSmpaVk5wYlhCc1pTSXNJQ0p3WVdSVWJ5SXNJQ0ptYkc5dmNpSXNJQ0p2ZEdobGNrOXdkSE1pTENBaWFXNTBiRTl3ZEhNaUxDQWlYMTl6Y0hKbFlXUldZV3gxWlhNaUxDQWlabWw0WldRaUxDQWljbTkxYm1SVWJ5SXNJQ0p3WVdSVGRHRnlkQ0lzSUNKUWIyeDVSR0YwWlVadmNtMWhkSFJsY2lJc0lDSjZJaXdnSW1kdGRFOW1abk5sZENJc0lDSnZabVp6WlhSYUlpd2dJa2xCVGtGYWIyNWxJaXdnSWxCdmJIbFNaV3hHYjNKdFlYUjBaWElpTENBaWFYTkZibWRzYVhOb0lpd2dJbWhoYzFKbGJHRjBhWFpsSWl3Z0ltTnZkVzUwSWl3Z0luVnVhWFFpTENBaVptOXliV0YwVW1Wc1lYUnBkbVZVYVcxbElpd2dJa3h2WTJGc1pTSXNJQ0pmVEc5allXeGxJaXdnSW14dlkyRnNaU0lzSUNKa1pXWmhkV3gwVkc5RlRpSXNJQ0p6Y0dWamFXWnBaV1JNYjJOaGJHVWlMQ0FpVTJWMGRHbHVaM01pTENBaWJHOWpZV3hsVWlJc0lDSnVkVzFpWlhKcGJtZFRlWE4wWlcxU0lpd2dJbTkxZEhCMWRFTmhiR1Z1WkdGeVVpSXNJQ0p1ZFcxaVpYSnBibWNpTENBaWNHRnljMlZrVEc5allXeGxJaXdnSW5CaGNuTmxaRTUxYldKbGNtbHVaMU41YzNSbGJTSXNJQ0p3WVhKelpXUlBkWFJ3ZFhSRFlXeGxibVJoY2lJc0lDSnBjMEZqZEhWaGJHeDVSVzRpTENBaWFHRnpUbTlYWldseVpHNWxjM01pTENBaVlXeDBjeUlzSUNKZlgzTndjbVZoWkZCeWIzQnpJaXdnSW1admNtMWhkQ0lzSUNKdGIyNTBhSE1pTENBaVptOXliV0YwVTNSeUlpd2dJbmRsWld0a1lYbHpJaXdnSW0xbGNtbGthV1Z0Y3lJc0lDSmxjbUZ6SWl3Z0ltWnBaV3hrSWl3Z0ltUm1JaXdnSW5KbGMzVnNkSE1pTENBaWJXRjBZMmhwYm1jaUxDQWliU0lzSUNKdmRHaGxjaUlzSUNKamIyMWlhVzVsVW1WblpYaGxjeUlzSUNKeVpXZGxlR1Z6SWl3Z0ltWjFiR3dpTENBaVppSXNJQ0pqYjIxaWFXNWxSWGgwY21GamRHOXljeUlzSUNKbGVIUnlZV04wYjNKeklpd2dJbTBpTENBaWJXVnlaMlZrVm1Gc2N5SXNJQ0p0WlhKblpXUmFiMjVsSWl3Z0ltTjFjbk52Y2lJc0lDSmxlQ0lzSUNKMllXd2lMQ0FpZW05dVpTSXNJQ0p1WlhoMElpd2dJbDlmYzNCeVpXRmtWbUZzZFdWeklpd2dJbkJoY25ObElpd2dJbk1pTENBaWNHRjBkR1Z5Ym5NaUxDQWljbVZuWlhnaUxDQWlaWGgwY21GamRHOXlJaXdnSW5OcGJYQnNaVkJoY25ObElpd2dJbXRsZVhNaUxDQWliV0YwWTJnaUxDQWljbVYwSWl3Z0lta2lMQ0FpY0dGeWMyVkpiblJsWjJWeUlpd2dJbTltWm5ObGRGSmxaMlY0SWl3Z0ltbHpiMFY0ZEdWdVpHVmtXbTl1WlNJc0lDSnBZVzVoVW1WblpYZ2lMQ0FpYVhOdlZHbHRaVUpoYzJWU1pXZGxlQ0lzSUNKcGMyOVVhVzFsVW1WblpYZ2lMQ0FpYVhOdlZHbHRaVVY0ZEdWdWMybHZibEpsWjJWNElpd2dJbWx6YjFsdFpGSmxaMlY0SWl3Z0ltbHpiMWRsWld0U1pXZGxlQ0lzSUNKcGMyOVBjbVJwYm1Gc1VtVm5aWGdpTENBaVpYaDBjbUZqZEVsVFQxZGxaV3RFWVhSaElpd2dJbVY0ZEhKaFkzUkpVMDlQY21ScGJtRnNSR0YwWVNJc0lDSnpjV3haYldSU1pXZGxlQ0lzSUNKemNXeFVhVzFsVW1WblpYZ2lMQ0FpYzNGc1ZHbHRaVVY0ZEdWdWMybHZibEpsWjJWNElpd2dJbWx1ZENJc0lDSndiM01pTENBaVptRnNiR0poWTJzaUxDQWlhWE5WYm1SbFptbHVaV1FpTENBaVpYaDBjbUZqZEVsVFQxbHRaQ0lzSUNKbGVIUnlZV04wU1ZOUFZHbHRaU0lzSUNKd1lYSnpaVTFwYkd4cGN5SXNJQ0psZUhSeVlXTjBTVk5QVDJabWMyVjBJaXdnSW14dlkyRnNJaXdnSW1aMWJHeFBabVp6WlhRaUxDQWljMmxuYm1Wa1QyWm1jMlYwSWl3Z0lrWnBlR1ZrVDJabWMyVjBXbTl1WlNJc0lDSmxlSFJ5WVdOMFNVRk9RVnB2Ym1VaUxDQWlTVUZPUVZwdmJtVWlMQ0FpYVhOdlZHbHRaVTl1YkhraUxDQWlhWE52UkhWeVlYUnBiMjRpTENBaVpYaDBjbUZqZEVsVFQwUjFjbUYwYVc5dUlpd2dJbmxsWVhKVGRISWlMQ0FpYlc5dWRHaFRkSElpTENBaWQyVmxhMU4wY2lJc0lDSmtZWGxUZEhJaUxDQWlhRzkxY2xOMGNpSXNJQ0p0YVc1MWRHVlRkSElpTENBaWMyVmpiMjVrVTNSeUlpd2dJbTFwYkd4cGMyVmpiMjVrYzFOMGNpSXNJQ0pvWVhOT1pXZGhkR2wyWlZCeVpXWnBlQ0lzSUNKdVpXZGhkR2wyWlZObFkyOXVaSE1pTENBaWJXRjVZbVZPWldkaGRHVWlMQ0FpYm5WdElpd2dJbVp2Y21ObElpd2dJbkJoY25ObFJteHZZWFJwYm1jaUxDQWliMkp6VDJabWMyVjBjeUlzSUNKbWNtOXRVM1J5YVc1bmN5SXNJQ0ozWldWclpHRjVVM1J5SWl3Z0luSmxjM1ZzZENJc0lDSjFiblJ5ZFc1allYUmxXV1ZoY2lJc0lDSnRiMjUwYUhOVGFHOXlkQ0lzSUNKM1pXVnJaR0Y1YzB4dmJtY2lMQ0FpZDJWbGEyUmhlWE5UYUc5eWRDSXNJQ0p5Wm1NeU9ESXlJaXdnSW1WNGRISmhZM1JTUmtNeU9ESXlJaXdnSW05aWMwOW1abk5sZENJc0lDSnRhV3hQWm1aelpYUWlMQ0FpYjJabVNHOTFjbE4wY2lJc0lDSnZabVpOYVc1MWRHVlRkSElpTENBaWIyWm1jMlYwSWl3Z0luQnlaWEJ5YjJObGMzTlNSa015T0RJeUlpd2dJbkptWXpFeE1qTWlMQ0FpY21aak9EVXdJaXdnSW1GelkybHBJaXdnSW1WNGRISmhZM1JTUmtNeE1USXpUM0k0TlRBaUxDQWlaWGgwY21GamRFRlRRMGxKSWl3Z0ltbHpiMWx0WkZkcGRHaFVhVzFsUlhoMFpXNXphVzl1VW1WblpYZ2lMQ0FpYVhOdlYyVmxhMWRwZEdoVWFXMWxSWGgwWlc1emFXOXVVbVZuWlhnaUxDQWlhWE52VDNKa2FXNWhiRmRwZEdoVWFXMWxSWGgwWlc1emFXOXVVbVZuWlhnaUxDQWlhWE52VkdsdFpVTnZiV0pwYm1Wa1VtVm5aWGdpTENBaVpYaDBjbUZqZEVsVFQxbHRaRlJwYldWQmJtUlBabVp6WlhRaUxDQWlaWGgwY21GamRFbFRUMWRsWld0VWFXMWxRVzVrVDJabWMyVjBJaXdnSW1WNGRISmhZM1JKVTA5UGNtUnBibUZzUkdGMFpVRnVaRlJwYldVaUxDQWlaWGgwY21GamRFbFRUMVJwYldWQmJtUlBabVp6WlhRaUxDQWljR0Z5YzJWSlUwOUVZWFJsSWl3Z0luQmhjbk5sVWtaRE1qZ3lNa1JoZEdVaUxDQWljR0Z5YzJWSVZGUlFSR0YwWlNJc0lDSndZWEp6WlVsVFQwUjFjbUYwYVc5dUlpd2dJbVY0ZEhKaFkzUkpVMDlVYVcxbFQyNXNlU0lzSUNKd1lYSnpaVWxUVDFScGJXVlBibXg1SWl3Z0luTnhiRmx0WkZkcGRHaFVhVzFsUlhoMFpXNXphVzl1VW1WblpYZ2lMQ0FpYzNGc1ZHbHRaVU52YldKcGJtVmtVbVZuWlhnaUxDQWlaWGgwY21GamRFbFRUMVJwYldWUFptWnpaWFJCYm1SSlFVNUJXbTl1WlNJc0lDSndZWEp6WlZOUlRDSXNJQ0pKVGxaQlRFbEVJaXdnSW14dmQwOXlaR1Z5VFdGMGNtbDRJaXdnSW1OaGMzVmhiRTFoZEhKcGVDSXNJQ0pmWDNOd2NtVmhaRlpoYkhWbGN5SXNJQ0prWVhselNXNVpaV0Z5UVdOamRYSmhkR1VpTENBaVpHRjVjMGx1VFc5dWRHaEJZMk4xY21GMFpTSXNJQ0poWTJOMWNtRjBaVTFoZEhKcGVDSXNJQ0p2Y21SbGNtVmtWVzVwZEhNaUxDQWljbVYyWlhKelpWVnVhWFJ6SWl3Z0ltTnNiMjVsSWl3Z0ltUjFjaUlzSUNKaGJIUnpJaXdnSW1Oc1pXRnlJaXdnSW1OdmJtWWlMQ0FpUkhWeVlYUnBiMjRpTENBaVlXNTBhVlJ5ZFc1aklpd2dJbU52Ym5abGNuUWlMQ0FpYldGMGNtbDRJaXdnSW1aeWIyMU5ZWEFpTENBaVpuSnZiVlZ1YVhRaUxDQWlkRzlOWVhBaUxDQWlkRzlWYm1sMElpd2dJbU52Ym5ZaUxDQWljbUYzSWl3Z0luTmhiV1ZUYVdkdUlpd2dJbUZrWkdWa0lpd2dJbTV2Y20xaGJHbDZaVlpoYkhWbGN5SXNJQ0oyWVd4eklpd2dJbkJ5WlhacGIzVnpJaXdnSW1OMWNuSmxiblFpTENBaWFYTlZibVJsWm1sdVpXUWlMQ0FpWDBSMWNtRjBhVzl1SWl3Z0ltTnZibVpwWnlJc0lDSmhZMk4xY21GMFpTSXNJQ0pNYjJOaGJHVWlMQ0FpWTI5MWJuUWlMQ0FpYjNCMGN5SXNJQ0p2WW1vaUxDQWlTVzUyWVd4cFpFRnlaM1Z0Wlc1MFJYSnliM0lpTENBaWJtOXliV0ZzYVhwbFQySnFaV04wSWl3Z0ltUjFjbUYwYVc5dVRHbHJaU0lzSUNKcGMwNTFiV0psY2lJc0lDSjBaWGgwSWl3Z0luQmhjbk5sWkNJc0lDSndZWEp6WlVsVFQwUjFjbUYwYVc5dUlpd2dJbkJoY25ObFNWTlBWR2x0WlU5dWJIa2lMQ0FpY21WaGMyOXVJaXdnSW1WNGNHeGhibUYwYVc5dUlpd2dJbWx1ZG1Gc2FXUWlMQ0FpU1c1MllXeHBaQ0lzSUNKVFpYUjBhVzVuY3lJc0lDSkpiblpoYkdsa1JIVnlZWFJwYjI1RmNuSnZjaUlzSUNKMWJtbDBJaXdnSW01dmNtMWhiR2w2WldRaUxDQWlTVzUyWVd4cFpGVnVhWFJGY25KdmNpSXNJQ0p2SWl3Z0ltWnRkQ0lzSUNKbWJYUlBjSFJ6SWl3Z0lsOWZjM0J5WldGa1VISnZjSE1pTENBaVJtOXliV0YwZEdWeUlpd2dJbXdpTENBaWRtRnNJaXdnSW00aUxDQWljeUlzSUNKeWIzVnVaRlJ2SWl3Z0ltMXBiR3hwY3lJc0lDSjJZV3gxWlNJc0lDSnpkSElpTENBaVpIVnlZWFJwYjI0aUxDQWljbVZ6ZFd4MElpd2dJbXNpTENBaWFHRnpUM2R1VUhKdmNHVnlkSGtpTENBaVptNGlMQ0FpWVhOT2RXMWlaWElpTENBaWRtRnNkV1Z6SWl3Z0ltMXBlR1ZrSWl3Z0lteHZZMkZzWlNJc0lDSnVkVzFpWlhKcGJtZFRlWE4wWlcwaUxDQWlZMjl1ZG1WeWMybHZia0ZqWTNWeVlXTjVJaXdnSW14dll5SXNJQ0oxYm1sMGN5SXNJQ0oxSWl3Z0ltSjFhV3gwSWl3Z0ltRmpZM1Z0ZFd4aGRHVmtJaXdnSW14aGMzUlZibWwwSWl3Z0ltOTNiaUlzSUNKaGF5SXNJQ0pwSWl3Z0ltUnZkMjRpTENBaWEyVjVJaXdnSW01bFoyRjBaV1FpTENBaWIzUm9aWElpTENBaVpYRWlMQ0FpZGpFaUxDQWlkaklpTENBaVNVNVdRVXhKUkNJc0lDSjJZV3hwWkdGMFpWTjBZWEowUlc1a0lpd2dJbk4wWVhKMElpd2dJbVZ1WkNJc0lDSkpiblJsY25aaGJDSXNJQ0pmU1c1MFpYSjJZV3dpTENBaVkyOXVabWxuSWl3Z0luSmxZWE52YmlJc0lDSmxlSEJzWVc1aGRHbHZiaUlzSUNKSmJuWmhiR2xrUVhKbmRXMWxiblJGY25KdmNpSXNJQ0pwYm5aaGJHbGtJaXdnSWtsdWRtRnNhV1FpTENBaVUyVjBkR2x1WjNNaUxDQWlTVzUyWVd4cFpFbHVkR1Z5ZG1Gc1JYSnliM0lpTENBaVluVnBiSFJUZEdGeWRDSXNJQ0ptY21sbGJtUnNlVVJoZEdWVWFXMWxJaXdnSW1KMWFXeDBSVzVrSWl3Z0luWmhiR2xrWVhSbFJYSnliM0lpTENBaVpIVnlZWFJwYjI0aUxDQWlaSFZ5SWl3Z0lrUjFjbUYwYVc5dUlpd2dJbVIwSWl3Z0luUmxlSFFpTENBaWIzQjBjeUlzSUNKeklpd2dJbVVpTENBaWMzUmhjblJKYzFaaGJHbGtJaXdnSWtSaGRHVlVhVzFsSWl3Z0ltVnVaRWx6Vm1Gc2FXUWlMQ0FpYnlJc0lDSjFibWwwSWl3Z0ltUmhkR1ZVYVcxbElpd2dJbVJoZEdWVWFXMWxjeUlzSUNKemIzSjBaV1FpTENBaVpDSXNJQ0p5WlhOMWJIUnpJaXdnSW1Ga1pHVmtJaXdnSW01bGVIUWlMQ0FpYVdSNElpd2dJbmdpTENBaWJuVnRZbVZ5VDJaUVlYSjBjeUlzSUNKdmRHaGxjaUlzSUNKcGJuUmxjblpoYkhNaUxDQWlabTkxYm1RaUxDQWlabWx1WVd3aUxDQWlZU0lzSUNKaUlpd2dJbk52Wm1GeUlpd2dJbU4xY25KbGJuUWlMQ0FpYVhSbGJTSXNJQ0pqZFhKeVpXNTBRMjkxYm5RaUxDQWlaVzVrY3lJc0lDSnBJaXdnSW1ac1lYUjBaVzVsWkNJc0lDSmhjbklpTENBaVpHRjBaVVp2Y20xaGRDSXNJQ0p6WlhCaGNtRjBiM0lpTENBaWJXRndSbTRpTENBaVNXNW1ieUlzSUNKNmIyNWxJaXdnSWxObGRIUnBibWR6SWl3Z0luQnliM1J2SWl3Z0lrUmhkR1ZVYVcxbElpd2dJa2xCVGtGYWIyNWxJaXdnSW1sdWNIVjBJaXdnSW01dmNtMWhiR2w2WlZwdmJtVWlMQ0FpYkdWdVozUm9JaXdnSW14dlkyRnNaU0lzSUNKdWRXMWlaWEpwYm1kVGVYTjBaVzBpTENBaWJHOWpUMkpxSWl3Z0ltOTFkSEIxZEVOaGJHVnVaR0Z5SWl3Z0lreHZZMkZzWlNJc0lDSm9ZWE5TWld4aGRHbDJaU0lzSUNKa1lYbEVhV1ptSWl3Z0ltVmhjbXhwWlhJaUxDQWliR0YwWlhJaUxDQWlkWFJqUkdGNVUzUmhjblFpTENBaVpIUWlMQ0FpYlhNaUxDQWlSSFZ5WVhScGIyNGlMQ0FpYUdsbmFFOXlaR1Z5UkdsbVpuTWlMQ0FpWTNWeWMyOXlJaXdnSW5WdWFYUnpJaXdnSW1ScFptWmxjbk1pTENBaVlpSXNJQ0prWVhseklpd2dJbkpsYzNWc2RITWlMQ0FpYkc5M1pYTjBUM0prWlhJaUxDQWlhR2xuYUZkaGRHVnlJaXdnSW5WdWFYUWlMQ0FpWkdsbVptVnlJaXdnSW1SbGJIUmhJaXdnSW1ScFptWmZaR1ZtWVhWc2RDSXNJQ0p2Y0hSeklpd2dJbkpsYldGcGJtbHVaMDFwYkd4cGN5SXNJQ0pzYjNkbGNrOXlaR1Z5Vlc1cGRITWlMQ0FpZFNJc0lDSmtkWEpoZEdsdmJpSXNJQ0p1ZFcxaVpYSnBibWRUZVhOMFpXMXpJaXdnSW01MWJXSmxjbWx1WjFONWMzUmxiWE5WVkVZeE5pSXNJQ0pvWVc1cFpHVmpRMmhoY25NaUxDQWljR0Z5YzJWRWFXZHBkSE1pTENBaWMzUnlJaXdnSW5aaGJIVmxJaXdnSW1raUxDQWlZMjlrWlNJc0lDSnJaWGtpTENBaWJXbHVJaXdnSW0xaGVDSXNJQ0prYVdkcGRGSmxaMlY0SWl3Z0ltNTFiV0psY21sdVoxTjVjM1JsYlNJc0lDSmhjSEJsYm1RaUxDQWlUVWxUVTBsT1IxOUdWRkFpTENBaWFXNTBWVzVwZENJc0lDSnlaV2RsZUNJc0lDSndiM04wSWl3Z0lta2lMQ0FpY3lJc0lDSndZWEp6WlVScFoybDBjeUlzSUNKT1FsTlFJaXdnSW5Od1lXTmxUM0pPUWxOUUlpd2dJbk53WVdObFQzSk9RbE5RVW1WblJYaHdJaXdnSW1acGVFeHBjM1JTWldkbGVDSXNJQ0p6ZEhKcGNFbHVjMlZ1YzJsMGFYWnBkR2xsY3lJc0lDSnZibVZQWmlJc0lDSnpkSEpwYm1keklpd2dJbk4wWVhKMFNXNWtaWGdpTENBaWIyWm1jMlYwSWl3Z0ltZHliM1Z3Y3lJc0lDSm9JaXdnSW0waUxDQWljMmxuYm1Wa1QyWm1jMlYwSWl3Z0luTnBiWEJzWlNJc0lDSmxjMk5oY0dWVWIydGxiaUlzSUNKMllXeDFaU0lzSUNKMWJtbDBSbTl5Vkc5clpXNGlMQ0FpZEc5clpXNGlMQ0FpYkc5aklpd2dJbTl1WlNJc0lDSmthV2RwZEZKbFoyVjRJaXdnSW5SM2J5SXNJQ0owYUhKbFpTSXNJQ0ptYjNWeUlpd2dJbk5wZUNJc0lDSnZibVZQY2xSM2J5SXNJQ0p2Ym1WVWIxUm9jbVZsSWl3Z0ltOXVaVlJ2VTJsNElpd2dJbTl1WlZSdlRtbHVaU0lzSUNKMGQyOVViMFp2ZFhJaUxDQWlabTkxY2xSdlUybDRJaXdnSW14cGRHVnlZV3dpTENBaWRDSXNJQ0oxYm1sMElpd2dJblZ1ZEhKMWJtTmhkR1ZaWldGeUlpd2dJbkJoY25SVWVYQmxVM1I1YkdWVWIxUnZhMlZ1Vm1Gc0lpd2dJblJ2YTJWdVJtOXlVR0Z5ZENJc0lDSndZWEowSWl3Z0lteHZZMkZzWlNJc0lDSm1iM0p0WVhSUGNIUnpJaXdnSW5SNWNHVWlMQ0FpYzNSNWJHVWlMQ0FpZG1Gc0lpd2dJbUoxYVd4a1VtVm5aWGdpTENBaWRXNXBkSE1pTENBaWRTSXNJQ0ptSWl3Z0ltMWhkR05vSWl3Z0ltbHVjSFYwSWl3Z0ltaGhibVJzWlhKeklpd2dJbTFoZEdOb1pYTWlMQ0FpWVd4c0lpd2dJbTFoZEdOb1NXNWtaWGdpTENBaWFHRnpUM2R1VUhKdmNHVnlkSGtpTENBaVpHRjBaVlJwYldWR2NtOXRUV0YwWTJobGN5SXNJQ0owYjBacFpXeGtJaXdnSW5wdmJtVWlMQ0FpYzNCbFkybG1hV05QWm1aelpYUWlMQ0FpYVhOVmJtUmxabWx1WldRaUxDQWlTVUZPUVZwdmJtVWlMQ0FpUm1sNFpXUlBabVp6WlhSYWIyNWxJaXdnSW5CaGNuTmxUV2xzYkdseklpd2dJbklpTENBaWF5SXNJQ0prZFcxdGVVUmhkR1ZVYVcxbFEyRmphR1VpTENBaVoyVjBSSFZ0YlhsRVlYUmxWR2x0WlNJc0lDSkVZWFJsVkdsdFpTSXNJQ0p0WVhsaVpVVjRjR0Z1WkUxaFkzSnZWRzlyWlc0aUxDQWlSbTl5YldGMGRHVnlJaXdnSW5SdmEyVnVjeUlzSUNKd0lpd2dJbVY0Y0dGdVpFMWhZM0p2Vkc5clpXNXpJaXdnSW1WNGNHeGhhVzVHY205dFZHOXJaVzV6SWl3Z0ltWnZjbTFoZENJc0lDSmthWE54ZFdGc2FXWjVhVzVuVlc1cGRDSXNJQ0p5WldkbGVGTjBjbWx1WnlJc0lDSnlZWGROWVhSamFHVnpJaXdnSW5KbGMzVnNkQ0lzSUNKRGIyNW1iR2xqZEdsdVoxTndaV05wWm1sallYUnBiMjVGY25KdmNpSXNJQ0p3WVhKelpVWnliMjFVYjJ0bGJuTWlMQ0FpYVc1MllXeHBaRkpsWVhOdmJpSXNJQ0p1YjI1TVpXRndUR0ZrWkdWeUlpd2dJbXhsWVhCTVlXUmtaWElpTENBaWRXNXBkRTkxZEU5bVVtRnVaMlVpTENBaWRXNXBkQ0lzSUNKMllXeDFaU0lzSUNKSmJuWmhiR2xrSWl3Z0ltUmhlVTltVjJWbGF5SXNJQ0o1WldGeUlpd2dJbTF2Ym5Sb0lpd2dJbVJoZVNJc0lDSmtJaXdnSW1weklpd2dJbU52YlhCMWRHVlBjbVJwYm1Gc0lpd2dJbWx6VEdWaGNGbGxZWElpTENBaWRXNWpiMjF3ZFhSbFQzSmthVzVoYkNJc0lDSnZjbVJwYm1Gc0lpd2dJblJoWW14bElpd2dJbTF2Ym5Sb01DSXNJQ0puY21WbmIzSnBZVzVVYjFkbFpXc2lMQ0FpWjNKbFowOWlhaUlzSUNKM1pXVnJaR0Y1SWl3Z0luZGxaV3RPZFcxaVpYSWlMQ0FpZDJWbGExbGxZWElpTENBaWQyVmxhM05KYmxkbFpXdFpaV0Z5SWl3Z0lsOWZjM0J5WldGa1ZtRnNkV1Z6SWl3Z0luUnBiV1ZQWW1wbFkzUWlMQ0FpZDJWbGExUnZSM0psWjI5eWFXRnVJaXdnSW5kbFpXdEVZWFJoSWl3Z0luZGxaV3RrWVhsUFprcGhialFpTENBaWVXVmhja2x1UkdGNWN5SXNJQ0prWVhselNXNVpaV0Z5SWl3Z0ltZHlaV2R2Y21saGJsUnZUM0prYVc1aGJDSXNJQ0puY21WblJHRjBZU0lzSUNKdmNtUnBibUZzVkc5SGNtVm5iM0pwWVc0aUxDQWliM0prYVc1aGJFUmhkR0VpTENBaWFHRnpTVzUyWVd4cFpGZGxaV3RFWVhSaElpd2dJbTlpYWlJc0lDSjJZV3hwWkZsbFlYSWlMQ0FpYVhOSmJuUmxaMlZ5SWl3Z0luWmhiR2xrVjJWbGF5SXNJQ0pwYm5SbFoyVnlRbVYwZDJWbGJpSXNJQ0oyWVd4cFpGZGxaV3RrWVhraUxDQWlhR0Z6U1c1MllXeHBaRTl5WkdsdVlXeEVZWFJoSWl3Z0luWmhiR2xrVDNKa2FXNWhiQ0lzSUNKb1lYTkpiblpoYkdsa1IzSmxaMjl5YVdGdVJHRjBZU0lzSUNKMllXeHBaRTF2Ym5Sb0lpd2dJblpoYkdsa1JHRjVJaXdnSW1SaGVYTkpiazF2Ym5Sb0lpd2dJbWhoYzBsdWRtRnNhV1JVYVcxbFJHRjBZU0lzSUNKb2IzVnlJaXdnSW0xcGJuVjBaU0lzSUNKelpXTnZibVFpTENBaWJXbHNiR2x6WldOdmJtUWlMQ0FpZG1Gc2FXUkliM1Z5SWl3Z0luWmhiR2xrVFdsdWRYUmxJaXdnSW5aaGJHbGtVMlZqYjI1a0lpd2dJblpoYkdsa1RXbHNiR2x6WldOdmJtUWlMQ0FpU1U1V1FVeEpSQ0lzSUNKTlFWaGZSRUZVUlNJc0lDSjFibk4xY0hCdmNuUmxaRnB2Ym1VaUxDQWllbTl1WlNJc0lDSkpiblpoYkdsa0lpd2dJbkJ2YzNOcFlteDVRMkZqYUdWa1YyVmxhMFJoZEdFaUxDQWlaSFFpTENBaVozSmxaMjl5YVdGdVZHOVhaV1ZySWl3Z0ltTnNiMjVsSWl3Z0ltbHVjM1FpTENBaVlXeDBjeUlzSUNKamRYSnlaVzUwSWl3Z0lrUmhkR1ZVYVcxbElpd2dJbDlmYzNCeVpXRmtVSEp2Y0hNaUxDQWlYMTl6Y0hKbFlXUldZV3gxWlhNaUxDQWlabWw0VDJabWMyVjBJaXdnSW14dlkyRnNWRk1pTENBaWJ5SXNJQ0owZWlJc0lDSjFkR05IZFdWemN5SXNJQ0p2TWlJc0lDSnZNeUlzSUNKMGMxUnZUMkpxSWl3Z0luUnpJaXdnSW05bVpuTmxkQ0lzSUNKa0lpd2dJbTlpYWxSdlZGTWlMQ0FpYjJKcUlpd2dJbTlpYWxSdlRHOWpZV3hVVXlJc0lDSmhaR3AxYzNSVWFXMWxJaXdnSW1SMWNpSXNJQ0p2VUhKbElpd2dJbmxsWVhJaUxDQWliVzl1ZEdnaUxDQWlZeUlzSUNKa1lYbHpTVzVOYjI1MGFDSXNJQ0p0YVd4c2FYTlViMEZrWkNJc0lDSkVkWEpoZEdsdmJpSXNJQ0p3WVhKelpVUmhkR0ZVYjBSaGRHVlVhVzFsSWl3Z0luQmhjbk5sWkNJc0lDSndZWEp6WldSYWIyNWxJaXdnSW05d2RITWlMQ0FpWm05eWJXRjBJaXdnSW5SbGVIUWlMQ0FpYzNCbFkybG1hV05QWm1aelpYUWlMQ0FpYzJWMFdtOXVaU0lzSUNKcGJuUmxjbkJ5WlhSaGRHbHZibHB2Ym1VaUxDQWlkRzlVWldOb1JtOXliV0YwSWl3Z0ltRnNiRzkzV2lJc0lDSkdiM0p0WVhSMFpYSWlMQ0FpVEc5allXeGxJaXdnSW5SdlNWTlBSR0YwWlNJc0lDSmxlSFJsYm1SbFpDSXNJQ0pzYjI1blJtOXliV0YwSWl3Z0luQmhaRk4wWVhKMElpd2dJblJ2U1ZOUFZHbHRaU0lzSUNKemRYQndjbVZ6YzFObFkyOXVaSE1pTENBaWMzVndjSEpsYzNOTmFXeHNhWE5sWTI5dVpITWlMQ0FpYVc1amJIVmtaVTltWm5ObGRDSXNJQ0psZUhSbGJtUmxaRnB2Ym1VaUxDQWlaR1ZtWVhWc2RGVnVhWFJXWVd4MVpYTWlMQ0FpWkdWbVlYVnNkRmRsWld0VmJtbDBWbUZzZFdWeklpd2dJbVJsWm1GMWJIUlBjbVJwYm1Gc1ZXNXBkRlpoYkhWbGN5SXNJQ0p2Y21SbGNtVmtWVzVwZEhNaUxDQWliM0prWlhKbFpGZGxaV3RWYm1sMGN5SXNJQ0p2Y21SbGNtVmtUM0prYVc1aGJGVnVhWFJ6SWl3Z0ltNXZjbTFoYkdsNlpWVnVhWFFpTENBaWRXNXBkQ0lzSUNKdWIzSnRZV3hwZW1Wa0lpd2dJa2x1ZG1Gc2FXUlZibWwwUlhKeWIzSWlMQ0FpY1hWcFkydEVWQ0lzSUNKdWIzSnRZV3hwZW1WYWIyNWxJaXdnSWxObGRIUnBibWR6SWl3Z0lteHZZeUlzSUNKMGMwNXZkeUlzSUNKcGMxVnVaR1ZtYVc1bFpDSXNJQ0oxSWl3Z0ltbHVkbUZzYVdRaUxDQWlhR0Z6U1c1MllXeHBaRWR5WldkdmNtbGhia1JoZEdFaUxDQWlhR0Z6U1c1MllXeHBaRlJwYldWRVlYUmhJaXdnSW05bVpuTmxkRkJ5YjNacGN5SXNJQ0prYVdabVVtVnNZWFJwZG1VaUxDQWljM1JoY25RaUxDQWlaVzVrSWl3Z0luSnZkVzVrSWl3Z0luSnZkVzVrVkc4aUxDQWlaR2xtWm1WeUlpd2dJbU52ZFc1MElpd2dJbXhoYzNSUGNIUnpJaXdnSW1GeVoweHBjM1FpTENBaVlYSm5jeUlzSUNKZlJHRjBaVlJwYldVaUxDQWlZMjl1Wm1sbklpd2dJbTkwSWl3Z0ltUmhlU0lzSUNKb2IzVnlJaXdnSW0xcGJuVjBaU0lzSUNKelpXTnZibVFpTENBaWJXbHNiR2x6WldOdmJtUWlMQ0FpUm1sNFpXUlBabVp6WlhSYWIyNWxJaXdnSW1SaGRHVWlMQ0FpYjNCMGFXOXVjeUlzSUNKcGMwUmhkR1VpTENBaWVtOXVaVlJ2VlhObElpd2dJbTFwYkd4cGMyVmpiMjVrY3lJc0lDSnBjMDUxYldKbGNpSXNJQ0pKYm5aaGJHbGtRWEpuZFcxbGJuUkZjbkp2Y2lJc0lDSnpaV052Ym1Seklpd2dJbTV2Y20xaGJHbDZaVTlpYW1WamRDSXNJQ0pqYjI1MFlXbHVjMDl5WkdsdVlXd2lMQ0FpWTI5dWRHRnBibk5IY21WbmIzSlpaV0Z5SWl3Z0ltTnZiblJoYVc1elIzSmxaMjl5VFVRaUxDQWlZMjl1ZEdGcGJuTkhjbVZuYjNJaUxDQWlaR1ZtYVc1cGRHVlhaV1ZyUkdWbUlpd2dJa052Ym1ac2FXTjBhVzVuVTNCbFkybG1hV05oZEdsdmJrVnljbTl5SWl3Z0luVnpaVmRsWld0RVlYUmhJaXdnSW5WdWFYUnpJaXdnSW1SbFptRjFiSFJXWVd4MVpYTWlMQ0FpYjJKcVRtOTNJaXdnSW1keVpXZHZjbWxoYmxSdlQzSmthVzVoYkNJc0lDSm1iM1Z1WkVacGNuTjBJaXdnSW5ZaUxDQWlhR2xuYUdWeVQzSmtaWEpKYm5aaGJHbGtJaXdnSW1oaGMwbHVkbUZzYVdSWFpXVnJSR0YwWVNJc0lDSm9ZWE5KYm5aaGJHbGtUM0prYVc1aGJFUmhkR0VpTENBaVozSmxaMjl5YVdGdUlpd2dJbmRsWld0VWIwZHlaV2R2Y21saGJpSXNJQ0p2Y21ScGJtRnNWRzlIY21WbmIzSnBZVzRpTENBaWRITkdhVzVoYkNJc0lDSnZabVp6WlhSR2FXNWhiQ0lzSUNKMllXeHpJaXdnSW5CaGNuTmxTVk5QUkdGMFpTSXNJQ0p3WVhKelpWSkdRekk0TWpKRVlYUmxJaXdnSW5CaGNuTmxTRlJVVUVSaGRHVWlMQ0FpWm0xMElpd2dJbXh2WTJGc1pTSXNJQ0p1ZFcxaVpYSnBibWRUZVhOMFpXMGlMQ0FpYkc5allXeGxWRzlWYzJVaUxDQWljR0Z5YzJWR2NtOXRWRzlyWlc1eklpd2dJbkJoY25ObFUxRk1JaXdnSW5KbFlYTnZiaUlzSUNKbGVIQnNZVzVoZEdsdmJpSXNJQ0pKYm5aaGJHbGtSR0YwWlZScGJXVkZjbkp2Y2lJc0lDSkpibVp2SWl3Z0ltbHpUR1ZoY0ZsbFlYSWlMQ0FpWkdGNWMwbHVXV1ZoY2lJc0lDSjNaV1ZyYzBsdVYyVmxhMWxsWVhJaUxDQWlZMkZzWlc1a1lYSWlMQ0FpYTJWbGNFeHZZMkZzVkdsdFpTSXNJQ0pyWldWd1EyRnNaVzVrWVhKVWFXMWxJaXdnSW01bGQxUlRJaXdnSW05bVpuTmxkRWQxWlhOeklpd2dJbUZ6VDJKcUlpd2dJbTkxZEhCMWRFTmhiR1Z1WkdGeUlpd2dJblpoYkhWbGN5SXNJQ0p6WlhSMGFXNW5WMlZsYTFOMGRXWm1JaXdnSW0xcGVHVmtJaXdnSW1SMWNtRjBhVzl1SWl3Z0ltNXZjbTFoYkdsNlpXUlZibWwwSWl3Z0luRWlMQ0FpWm05eWJXRjBUM0IwY3lJc0lDSkVRVlJGWDFOSVQxSlVJaXdnSW1WNGRDSXNJQ0pwYm1Oc2RXUmxVSEpsWm1sNElpd2dJbWx1WTJ4MVpHVmFiMjVsSWl3Z0ltbHVZMngxWkdWUFptWnpaWFJUY0dGalpTSXNJQ0ppWVhObElpd2dJbTkwYUdWeVJHRjBaVlJwYldVaUxDQWlaSFZ5VDNCMGN5SXNJQ0p0WVhsaVpVRnljbUY1SWl3Z0ltOTBhR1Z5U1hOTVlYUmxjaUlzSUNKbFlYSnNhV1Z5SWl3Z0lteGhkR1Z5SWl3Z0ltUnBabVpsWkNJc0lDSmthV1ptWDJSbFptRjFiSFFpTENBaVNXNTBaWEoyWVd3aUxDQWlhVzV3ZFhSTmN5SXNJQ0poWkdwMWMzUmxaRlJ2V205dVpTSXNJQ0p2ZEdobGNpSXNJQ0p3WVdSa2FXNW5JaXdnSW1SaGRHVlVhVzFsY3lJc0lDSmlaWE4wUW5raUxDQWlhU0lzSUNKbGVIQnNZV2x1Um5KdmJWUnZhMlZ1Y3lJc0lDSkVRVlJGWDAxRlJDSXNJQ0pFUVZSRlgwMUZSRjlYU1ZSSVgxZEZSVXRFUVZraUxDQWlSRUZVUlY5R1ZVeE1JaXdnSWtSQlZFVmZTRlZIUlNJc0lDSlVTVTFGWDFOSlRWQk1SU0lzSUNKVVNVMUZYMWRKVkVoZlUwVkRUMDVFVXlJc0lDSlVTVTFGWDFkSlZFaGZVMGhQVWxSZlQwWkdVMFZVSWl3Z0lsUkpUVVZmVjBsVVNGOU1UMDVIWDA5R1JsTkZWQ0lzSUNKVVNVMUZYekkwWDFOSlRWQk1SU0lzSUNKVVNVMUZYekkwWDFkSlZFaGZVMFZEVDA1RVV5SXNJQ0pVU1UxRlh6STBYMWRKVkVoZlUwaFBVbFJmVDBaR1UwVlVJaXdnSWxSSlRVVmZNalJmVjBsVVNGOU1UMDVIWDA5R1JsTkZWQ0lzSUNKRVFWUkZWRWxOUlY5VFNFOVNWQ0lzSUNKRVFWUkZWRWxOUlY5VFNFOVNWRjlYU1ZSSVgxTkZRMDlPUkZNaUxDQWlSRUZVUlZSSlRVVmZUVVZFSWl3Z0lrUkJWRVZVU1UxRlgwMUZSRjlYU1ZSSVgxTkZRMDlPUkZNaUxDQWlSRUZVUlZSSlRVVmZUVVZFWDFkSlZFaGZWMFZGUzBSQldTSXNJQ0pFUVZSRlZFbE5SVjlHVlV4TUlpd2dJa1JCVkVWVVNVMUZYMFpWVEV4ZlYwbFVTRjlUUlVOUFRrUlRJaXdnSWtSQlZFVlVTVTFGWDBoVlIwVWlMQ0FpUkVGVVJWUkpUVVZmU0ZWSFJWOVhTVlJJWDFORlEwOU9SRk1pTENBaVpuSnBaVzVrYkhsRVlYUmxWR2x0WlNJc0lDSmtZWFJsVkdsdFpXbHphQ0lzSUNKUUlpd2dJbVZ0YjJwcFgzSmxaMlY0WDJSbFptRjFiSFFpTENBaWJtOXliV0ZzYVhwbFJIVnlZWFJwYjI0aUxDQWlaSFZ5SWl3Z0luSmxibVJsY2sxcGJtbHRZV3hFWVhSbElpd2dJblJwYldVaUxDQWlaR0YwWlVadmNtMWhkQ0lzSUNKa1lYUmxWR2x0WlVadmNtMWhkQ0lzSUNKc2IyTmhiR1VpTENBaWNtVnVaR1Z5VFdsdWFXMWhiRVIxY21GMGFXOXVJaXdnSW1SMWNpSXNJQ0p1YjNKdFlXeHBlbVZFZFhKaGRHbHZiaUlzSUNKeVpYTjFiSFFpTENBaVoyVjBSbWxzWlZScGRHeGxJaXdnSW5CaGRHZ2lMQ0FpWjJWMFJYaDBaVzV6YVc5dUlpd2dJa2hGUVVSRlVsOURRVTVQVGtsRFFVeEpXa1ZTSWl3Z0ltVnRiMnBwWDNKbFoyVjRYMlJsWm1GMWJIUWlMQ0FpWHlJc0lDSnlaWE4xYkhRaUxDQWlibTl5YldGc2FYcGxTR1ZoWkdWeVJtOXlUR2x1YXlJc0lDSm9aV0ZrWlhJaUxDQWlUR2x1YXlJc0lDSmZUR2x1YXlJc0lDSndZWFJvSWl3Z0ltVnRZbVZrSWl3Z0ltUnBjM0JzWVhraUxDQWliR2x1YTNCaGRHZ2lMQ0FpYzNCc2FYUWlMQ0FpYUdWaFpHVnlJaXdnSW01dmNtMWhiR2w2WlVobFlXUmxja1p2Y2t4cGJtc2lMQ0FpWW14dlkydEpaQ0lzSUNKdlltcGxZM1FpTENBaWNtRjNiR2x1YXlJc0lDSnNhVzVySWl3Z0luTndiR2wwVDI1VmJtVnpZMkZ3WldSUWFYQmxJaXdnSW1acFpXeGtjeUlzSUNKaWJHOWpheUlzSUNKdmRHaGxjaUlzSUNKeVpYTjFiSFFpTENBaVoyVjBSbWxzWlZScGRHeGxJaXdnSWw5aElpd2dJbDlpSWl3Z0ltVnpZMkZ3WldRaUxDQWljR2x3WlNJc0lDSkJURWxCVXlJc0lDSkVUME1pTENBaVRVRlFJaXdnSWxCQlNWSWlMQ0FpVTBOQlRFRlNJaXdnSWxORlVTSXNJQ0pPVDBSRlgxUlpVRVVpTENBaWFYTkJiR2xoY3lJc0lDSnViMlJsSWl3Z0ltbHpSRzlqZFcxbGJuUWlMQ0FpYVhOTllYQWlMQ0FpYVhOUVlXbHlJaXdnSW1selUyTmhiR0Z5SWl3Z0ltbHpVMlZ4SWl3Z0ltbHpRMjlzYkdWamRHbHZiaUlzSUNKcGMwNXZaR1VpTENBaWFHRnpRVzVqYUc5eUlpd2dJa0pTUlVGTElpd2dJbE5MU1ZBaUxDQWlVa1ZOVDFaRklpd2dJblpwYzJsMElpd2dJbTV2WkdVaUxDQWlkbWx6YVhSdmNpSXNJQ0oyYVhOcGRHOXlYeUlzSUNKcGJtbDBWbWx6YVhSdmNpSXNJQ0pwYzBSdlkzVnRaVzUwSWl3Z0luWnBjMmwwWHlJc0lDSnJaWGtpTENBaWNHRjBhQ0lzSUNKamRISnNJaXdnSW1OaGJHeFdhWE5wZEc5eUlpd2dJbWx6VG05a1pTSXNJQ0pwYzFCaGFYSWlMQ0FpY21Wd2JHRmpaVTV2WkdVaUxDQWlhWE5EYjJ4c1pXTjBhVzl1SWl3Z0ltTnBJaXdnSW1Ocklpd2dJbU4ySWl3Z0luWnBjMmwwUVhONWJtTWlMQ0FpZG1semFYUkJjM2x1WTE4aUxDQWlYMkVpTENBaVgySWlMQ0FpWDJNaUxDQWlYMlFpTENBaVgyVWlMQ0FpYVhOTllYQWlMQ0FpYVhOVFpYRWlMQ0FpYVhOVFkyRnNZWElpTENBaWFYTkJiR2xoY3lJc0lDSndZWEpsYm5RaUxDQWljSFFpTENBaVpYTmpZWEJsUTJoaGNuTWlMQ0FpWlhOallYQmxWR0ZuVG1GdFpTSXNJQ0owYmlJc0lDSmphQ0lzSUNKRWFYSmxZM1JwZG1Weklpd2dJbDlFYVhKbFkzUnBkbVZ6SWl3Z0lubGhiV3dpTENBaWRHRm5jeUlzSUNKamIzQjVJaXdnSW5KbGN5SXNJQ0pzYVc1bElpd2dJbTl1UlhKeWIzSWlMQ0FpY0dGeWRITWlMQ0FpYm1GdFpTSXNJQ0pvWVc1a2JHVWlMQ0FpY0hKbFptbDRJaXdnSW5abGNuTnBiMjRpTENBaWFYTldZV3hwWkNJc0lDSnpiM1Z5WTJVaUxDQWlkbVZ5WW1GMGFXMGlMQ0FpYzNWbVptbDRJaXdnSW1WeWNtOXlJaXdnSW5SaFp5SXNJQ0prYjJNaUxDQWliR2x1WlhNaUxDQWlkR0ZuUlc1MGNtbGxjeUlzSUNKMFlXZE9ZVzFsY3lJc0lDSnBjMDV2WkdVaUxDQWlkbWx6YVhRaUxDQWlYMnRsZVNJc0lDSnViMlJsSWl3Z0ltRnVZMmh2Y2tselZtRnNhV1FpTENBaVlXNWphRzl5SWl3Z0ltMXpaeUlzSUNKaGJtTm9iM0pPWVcxbGN5SXNJQ0p5YjI5MElpd2dJbUZ1WTJodmNuTWlMQ0FpZG1semFYUWlMQ0FpWDJ0bGVTSXNJQ0p1YjJSbElpd2dJbVpwYm1ST1pYZEJibU5vYjNJaUxDQWljSEpsWm1sNElpd2dJbVY0WTJ4MVpHVWlMQ0FpYVNJc0lDSnVZVzFsSWl3Z0ltTnlaV0YwWlU1dlpHVkJibU5vYjNKeklpd2dJbVJ2WXlJc0lDSmhiR2xoYzA5aWFtVmpkSE1pTENBaWMyOTFjbU5sVDJKcVpXTjBjeUlzSUNKd2NtVjJRVzVqYUc5eWN5SXNJQ0p6YjNWeVkyVWlMQ0FpY21WbUlpd2dJbWx6VTJOaGJHRnlJaXdnSW1selEyOXNiR1ZqZEdsdmJpSXNJQ0psY25KdmNpSXNJQ0poY0hCc2VWSmxkbWwyWlhJaUxDQWljbVYyYVhabGNpSXNJQ0p2WW1vaUxDQWlhMlY1SWl3Z0luWmhiQ0lzSUNKcElpd2dJbXhsYmlJc0lDSjJNQ0lzSUNKMk1TSXNJQ0pySWl3Z0luUnZTbE1pTENBaWRtRnNkV1VpTENBaVlYSm5JaXdnSW1OMGVDSXNJQ0oySWl3Z0lta2lMQ0FpYUdGelFXNWphRzl5SWl3Z0ltUmhkR0VpTENBaWNtVnpJaXdnSWs1dlpHVkNZWE5sSWl3Z0luUjVjR1VpTENBaVRrOUVSVjlVV1ZCRklpd2dJbU52Y0hraUxDQWlaRzlqSWl3Z0ltMWhjRUZ6VFdGd0lpd2dJbTFoZUVGc2FXRnpRMjkxYm5RaUxDQWliMjVCYm1Ob2IzSWlMQ0FpY21WMmFYWmxjaUlzSUNKcGMwUnZZM1Z0Wlc1MElpd2dJbU4wZUNJc0lDSnlaWE1pTENBaWRHOUtVeUlzSUNKamIzVnVkQ0lzSUNKaGNIQnNlVkpsZG1sMlpYSWlMQ0FpUVd4cFlYTWlMQ0FpVG05a1pVSmhjMlVpTENBaWMyOTFjbU5sSWl3Z0lrRk1TVUZUSWl3Z0ltUnZZeUlzSUNKbWIzVnVaQ0lzSUNKMmFYTnBkQ0lzSUNKZmEyVjVJaXdnSW01dlpHVWlMQ0FpWDJGeVp5SXNJQ0pqZEhnaUxDQWlZVzVqYUc5eWN5SXNJQ0p0WVhoQmJHbGhjME52ZFc1MElpd2dJbTF6WnlJc0lDSmtZWFJoSWl3Z0luUnZTbE1pTENBaVoyVjBRV3hwWVhORGIzVnVkQ0lzSUNKZmIyNURiMjF0Wlc1MElpd2dJbDl2YmtOb2IyMXdTMlZsY0NJc0lDSnpjbU1pTENBaVlXNWphRzl5U1hOV1lXeHBaQ0lzSUNKcGMwRnNhV0Z6SWl3Z0ltRnVZMmh2Y2lJc0lDSnBjME52Ykd4bFkzUnBiMjRpTENBaVkyOTFiblFpTENBaWFYUmxiU0lzSUNKaklpd2dJbWx6VUdGcGNpSXNJQ0pyWXlJc0lDSjJZeUlzSUNKcGMxTmpZV3hoY2xaaGJIVmxJaXdnSW5aaGJIVmxJaXdnSWxOallXeGhjaUlzSUNKT2IyUmxRbUZ6WlNJc0lDSlRRMEZNUVZJaUxDQWlZWEpuSWl3Z0ltTjBlQ0lzSUNKMGIwcFRJaXdnSW1SbFptRjFiSFJVWVdkUWNtVm1hWGdpTENBaVptbHVaRlJoWjA5aWFtVmpkQ0lzSUNKMllXeDFaU0lzSUNKMFlXZE9ZVzFsSWl3Z0luUmhaM01pTENBaVgyRWlMQ0FpYldGMFkyZ2lMQ0FpZENJc0lDSjBZV2RQWW1vaUxDQWlZM0psWVhSbFRtOWtaU0lzSUNKamRIZ2lMQ0FpWDJJaUxDQWlYMk1pTENBaWFYTkViMk4xYldWdWRDSXNJQ0pwYzA1dlpHVWlMQ0FpYVhOUVlXbHlJaXdnSW0xaGNDSXNJQ0pOUVZBaUxDQWlZV3hwWVhORWRYQnNhV05oZEdWUFltcGxZM1J6SWl3Z0ltOXVRVzVqYUc5eUlpd2dJbTl1VkdGblQySnFJaXdnSW5OamFHVnRZU0lzSUNKemIzVnlZMlZQWW1wbFkzUnpJaXdnSW5KbFppSXNJQ0pCYkdsaGN5SXNJQ0p1YjJSbElpd2dJbE5qWVd4aGNpSXNJQ0pUUlZFaUxDQWlZMjlzYkdWamRHbHZia1p5YjIxUVlYUm9JaXdnSW5OamFHVnRZU0lzSUNKd1lYUm9JaXdnSW5aaGJIVmxJaXdnSW5ZaUxDQWlhU0lzSUNKcklpd2dJbUVpTENBaVkzSmxZWFJsVG05a1pTSXNJQ0pwYzBWdGNIUjVVR0YwYUNJc0lDSkRiMnhzWldOMGFXOXVJaXdnSWs1dlpHVkNZWE5sSWl3Z0luUjVjR1VpTENBaVkyOXdlU0lzSUNKcGRDSXNJQ0pwYzA1dlpHVWlMQ0FpYVhOUVlXbHlJaXdnSW10bGVTSXNJQ0p5WlhOMElpd2dJbTV2WkdVaUxDQWlhWE5EYjJ4c1pXTjBhVzl1SWl3Z0ltdGxaWEJUWTJGc1lYSWlMQ0FpYVhOVFkyRnNZWElpTENBaVlXeHNiM2RUWTJGc1lYSWlMQ0FpYmlJc0lDSnpkSEpwYm1kcFpubERiMjF0Wlc1MElpd2dJbk4wY2lJc0lDSnBibVJsYm5SRGIyMXRaVzUwSWl3Z0ltTnZiVzFsYm5RaUxDQWlhVzVrWlc1MElpd2dJbXhwYm1WRGIyMXRaVzUwSWl3Z0lrWlBURVJmUmt4UFZ5SXNJQ0pHVDB4RVgwSk1UME5MSWl3Z0lrWlBURVJmVVZWUFZFVkVJaXdnSW1admJHUkdiRzkzVEdsdVpYTWlMQ0FpZEdWNGRDSXNJQ0pwYm1SbGJuUWlMQ0FpYlc5a1pTSXNJQ0pwYm1SbGJuUkJkRk4wWVhKMElpd2dJbXhwYm1WWGFXUjBhQ0lzSUNKdGFXNURiMjUwWlc1MFYybGtkR2dpTENBaWIyNUdiMnhrSWl3Z0ltOXVUM1psY21ac2IzY2lMQ0FpWlc1a1UzUmxjQ0lzSUNKbWIyeGtjeUlzSUNKbGMyTmhjR1ZrUm05c1pITWlMQ0FpWlc1a0lpd2dJbk53YkdsMElpd2dJbkJ5WlhZaUxDQWliM1psY21ac2IzY2lMQ0FpYVNJc0lDSmxjMk5UZEdGeWRDSXNJQ0psYzJORmJtUWlMQ0FpWTI5dWMzVnRaVTF2Y21WSmJtUmxiblJsWkV4cGJtVnpJaXdnSW1Ob0lpd2dJbTVsZUhRaUxDQWlhaUlzSUNKeVpYTWlMQ0FpWm05c1pDSXNJQ0p6ZEdGeWRDSXNJQ0puWlhSR2IyeGtUM0IwYVc5dWN5SXNJQ0pqZEhnaUxDQWlhWE5DYkc5amF5SXNJQ0pqYjI1MFlXbHVjMFJ2WTNWdFpXNTBUV0Z5YTJWeUlpd2dJbk4wY2lJc0lDSnNhVzVsVEdWdVozUm9UM1psY2t4cGJXbDBJaXdnSW14cGJtVlhhV1IwYUNJc0lDSnBibVJsYm5STVpXNW5kR2dpTENBaWJHbHRhWFFpTENBaWMzUnlUR1Z1SWl3Z0luTjBZWEowSWl3Z0ltUnZkV0pzWlZGMWIzUmxaRk4wY21sdVp5SXNJQ0oyWVd4MVpTSXNJQ0pxYzI5dUlpd2dJbWx0Y0d4cFkybDBTMlY1SWl3Z0ltMXBiazExYkhScFRHbHVaVXhsYm1kMGFDSXNJQ0pwYm1SbGJuUWlMQ0FpYVNJc0lDSmphQ0lzSUNKamIyUmxJaXdnSW1admJHUkdiRzkzVEdsdVpYTWlMQ0FpUms5TVJGOVJWVTlVUlVRaUxDQWljMmx1WjJ4bFVYVnZkR1ZrVTNSeWFXNW5JaXdnSW5KbGN5SXNJQ0pHVDB4RVgwWk1UMWNpTENBaWNYVnZkR1ZrVTNSeWFXNW5JaXdnSW5OcGJtZHNaVkYxYjNSbElpd2dJbkZ6SWl3Z0ltaGhjMFJ2ZFdKc1pTSXNJQ0pvWVhOVGFXNW5iR1VpTENBaVlteHZZMnRGYm1ST1pYZHNhVzVsY3lJc0lDSmxJaXdnSW1Kc2IyTnJVM1J5YVc1bklpd2dJbU52YlcxbGJuUWlMQ0FpZEhsd1pTSXNJQ0p2YmtOdmJXMWxiblFpTENBaWIyNURhRzl0Y0V0bFpYQWlMQ0FpWW14dlkydFJkVzkwWlNJc0lDSmpiMjF0Wlc1MFUzUnlhVzVuSWl3Z0lteHBkR1Z5WVd3aUxDQWlVMk5oYkdGeUlpd2dJbU5vYjIxd0lpd2dJbVZ1WkZOMFlYSjBJaXdnSW1WdVpDSXNJQ0psYm1ST2JGQnZjeUlzSUNKemRHRnlkRmRwZEdoVGNHRmpaU0lzSUNKemRHRnlkRVZ1WkNJc0lDSnpkR0Z5ZEU1c1VHOXpJaXdnSW1obFlXUmxjaUlzSUNKaWIyUjVJaXdnSWtaUFRFUmZRa3hQUTBzaUxDQWljR3hoYVc1VGRISnBibWNpTENBaWFYUmxiU0lzSUNKaFkzUjFZV3hUZEhKcGJtY2lMQ0FpYVc1a1pXNTBVM1JsY0NJc0lDSnBia1pzYjNjaUxDQWlkR1Z6ZENJc0lDSjBZV2NpTENBaVgyRWlMQ0FpWTI5dGNHRjBJaXdnSW5SaFozTWlMQ0FpYzNSeWFXNW5hV1o1VTNSeWFXNW5JaXdnSW5Oeklpd2dJbDl6ZEhKcGJtZHBabmtpTENBaVgzUjVjR1VpTENBaVpHVm1ZWFZzZEV0bGVWUjVjR1VpTENBaVpHVm1ZWFZzZEZOMGNtbHVaMVI1Y0dVaUxDQWlkQ0lzSUNKamNtVmhkR1ZUZEhKcGJtZHBabmxEYjI1MFpYaDBJaXdnSW1Sdll5SXNJQ0p2Y0hScGIyNXpJaXdnSW05d2RDSXNJQ0p6ZEhKcGJtZHBabmxEYjIxdFpXNTBJaXdnSW1sdVJteHZkeUlzSUNKblpYUlVZV2RQWW1wbFkzUWlMQ0FpZEdGbmN5SXNJQ0pwZEdWdElpd2dJbDloSWl3Z0lsOWlJaXdnSWw5aklpd2dJbDlrSWl3Z0ltMWhkR05vSWl3Z0luUWlMQ0FpZEdGblQySnFJaXdnSW05aWFpSXNJQ0pwYzFOallXeGhjaUlzSUNKMFpYTjBUV0YwWTJnaUxDQWlibUZ0WlNJc0lDSnpkSEpwYm1kcFpubFFjbTl3Y3lJc0lDSnViMlJsSWl3Z0ltRnVZMmh2Y25NaUxDQWljSEp2Y0hNaUxDQWlZVzVqYUc5eUlpd2dJbWx6UTI5c2JHVmpkR2x2YmlJc0lDSmhibU5vYjNKSmMxWmhiR2xrSWl3Z0luUmhaeUlzSUNKemRISnBibWRwWm5raUxDQWlZM1I0SWl3Z0ltOXVRMjl0YldWdWRDSXNJQ0p2YmtOb2IyMXdTMlZsY0NJc0lDSnBjMUJoYVhJaUxDQWlhWE5CYkdsaGN5SXNJQ0pwYzA1dlpHVWlMQ0FpYnlJc0lDSnpkSElpTENBaWMzUnlhVzVuYVdaNVUzUnlhVzVuSWl3Z0luTjBjbWx1WjJsbWVWQmhhWElpTENBaWEyVjVJaXdnSW5aaGJIVmxJaXdnSW1OMGVDSXNJQ0p2YmtOdmJXMWxiblFpTENBaWIyNURhRzl0Y0V0bFpYQWlMQ0FpWDJFaUxDQWlYMklpTENBaVlXeHNUblZzYkZaaGJIVmxjeUlzSUNKa2IyTWlMQ0FpYVc1a1pXNTBJaXdnSW1sdVpHVnVkRk4wWlhBaUxDQWlZMjl0YldWdWRGTjBjbWx1WnlJc0lDSnBibVJsYm5SVFpYRWlMQ0FpYzJsdGNHeGxTMlY1Y3lJc0lDSnJaWGxEYjIxdFpXNTBJaXdnSW1selRtOWtaU0lzSUNKcGMwTnZiR3hsWTNScGIyNGlMQ0FpYlhObklpd2dJbVY0Y0d4cFkybDBTMlY1SWl3Z0ltbHpVMk5oYkdGeUlpd2dJbE5qWVd4aGNpSXNJQ0pyWlhsRGIyMXRaVzUwUkc5dVpTSXNJQ0pqYUc5dGNFdGxaWEFpTENBaWMzUnlJaXdnSW5OMGNtbHVaMmxtZVNJc0lDSnNhVzVsUTI5dGJXVnVkQ0lzSUNKMmMySWlMQ0FpZG1OaUlpd2dJblpoYkhWbFEyOXRiV1Z1ZENJc0lDSnBjMU5sY1NJc0lDSjJZV3gxWlVOdmJXMWxiblJFYjI1bElpd2dJblpoYkhWbFUzUnlJaXdnSW5keklpd2dJbU56SWl3Z0ltbHVaR1Z1ZEVOdmJXMWxiblFpTENBaWRuTXdJaXdnSW01c01DSXNJQ0pvWVhOT1pYZHNhVzVsSWl3Z0ltWnNiM2NpTENBaWFHRnpVSEp2Y0hOTWFXNWxJaXdnSW5Od01DSXNJQ0ozWVhKdUlpd2dJbXh2WjB4bGRtVnNJaXdnSW5kaGNtNXBibWNpTENBaVRVVlNSMFZmUzBWWklpd2dJbTFsY21kbElpd2dJblpoYkhWbElpd2dJbE5qWVd4aGNpSXNJQ0poWkdSTlpYSm5aVlJ2U2xOTllYQWlMQ0FpYVhOTlpYSm5aVXRsZVNJc0lDSmpkSGdpTENBaWEyVjVJaXdnSW1selUyTmhiR0Z5SWl3Z0luUmhaeUlzSUNKdFlYQWlMQ0FpYVhOQmJHbGhjeUlzSUNKcGMxTmxjU0lzSUNKcGRDSXNJQ0p0WlhKblpWWmhiSFZsSWl3Z0luTnZkWEpqWlNJc0lDSnBjMDFoY0NJc0lDSnpjbU5OWVhBaUxDQWlZV1JrVUdGcGNsUnZTbE5OWVhBaUxDQWlZM1I0SWl3Z0ltMWhjQ0lzSUNKclpYa2lMQ0FpZG1Gc2RXVWlMQ0FpYVhOT2IyUmxJaXdnSW1selRXVnlaMlZMWlhraUxDQWlZV1JrVFdWeVoyVlViMHBUVFdGd0lpd2dJbXB6UzJWNUlpd2dJblJ2U2xNaUxDQWljM1J5YVc1blMyVjVJaXdnSW5OMGNtbHVaMmxtZVV0bGVTSXNJQ0pxYzFaaGJIVmxJaXdnSW5OMGNrTjBlQ0lzSUNKamNtVmhkR1ZUZEhKcGJtZHBabmxEYjI1MFpYaDBJaXdnSW01dlpHVWlMQ0FpYzNSeVMyVjVJaXdnSW1wemIyNVRkSElpTENBaWQyRnliaUlzSUNKamNtVmhkR1ZRWVdseUlpd2dJbXRsZVNJc0lDSjJZV3gxWlNJc0lDSmpkSGdpTENBaWF5SXNJQ0pqY21WaGRHVk9iMlJsSWl3Z0luWWlMQ0FpVUdGcGNpSXNJQ0pmVUdGcGNpSXNJQ0pPVDBSRlgxUlpVRVVpTENBaVVFRkpVaUlzSUNKelkyaGxiV0VpTENBaWFYTk9iMlJsSWl3Z0lsOGlMQ0FpY0dGcGNpSXNJQ0poWkdSUVlXbHlWRzlLVTAxaGNDSXNJQ0p2YmtOdmJXMWxiblFpTENBaWIyNURhRzl0Y0V0bFpYQWlMQ0FpYzNSeWFXNW5hV1o1VUdGcGNpSXNJQ0p6ZEhKcGJtZHBabmxEYjJ4c1pXTjBhVzl1SWl3Z0ltTnZiR3hsWTNScGIyNGlMQ0FpWTNSNElpd2dJbTl3ZEdsdmJuTWlMQ0FpWDJFaUxDQWljM1J5YVc1bmFXWjVSbXh2ZDBOdmJHeGxZM1JwYjI0aUxDQWljM1J5YVc1bmFXWjVRbXh2WTJ0RGIyeHNaV04wYVc5dUlpd2dJbU52YlcxbGJuUWlMQ0FpYVhSbGJYTWlMQ0FpWW14dlkydEpkR1Z0VUhKbFptbDRJaXdnSW1ac2IzZERhR0Z5Y3lJc0lDSnBkR1Z0U1c1a1pXNTBJaXdnSW05dVEyaHZiWEJMWldWd0lpd2dJbTl1UTI5dGJXVnVkQ0lzSUNKcGJtUmxiblFpTENBaVkyOXRiV1Z1ZEZOMGNtbHVaeUlzSUNKcGRHVnRRM1I0SWl3Z0ltTm9iMjF3UzJWbGNDSXNJQ0pzYVc1bGN5SXNJQ0pwSWl3Z0ltbDBaVzBpTENBaWFYTk9iMlJsSWl3Z0ltRmtaRU52YlcxbGJuUkNaV1p2Y21VaUxDQWlhWE5RWVdseUlpd2dJbWxySWl3Z0luTjBjaUlzSUNKemRISnBibWRwWm5raUxDQWliR2x1WlVOdmJXMWxiblFpTENBaWJHbHVaU0lzSUNKcGJtUmxiblJEYjIxdFpXNTBJaXdnSW1sdVpHVnVkRk4wWlhBaUxDQWlabU5RWVdSa2FXNW5JaXdnSW5KbGNVNWxkMnhwYm1VaUxDQWliR2x1WlhOQmRGWmhiSFZsSWl3Z0ltbDJJaXdnSW5OMFlYSjBJaXdnSW1WdVpDSXNJQ0pzWlc0aUxDQWljM1Z0SWl3Z0ltbGpJaXdnSW1acGJtUlFZV2x5SWl3Z0ltbDBaVzF6SWl3Z0ltdGxlU0lzSUNKcklpd2dJbWx6VTJOaGJHRnlJaXdnSW1sMElpd2dJbWx6VUdGcGNpSXNJQ0paUVUxTVRXRndJaXdnSWtOdmJHeGxZM1JwYjI0aUxDQWljMk5vWlcxaElpd2dJazFCVUNJc0lDSnZZbW9pTENBaVkzUjRJaXdnSW10bFpYQlZibVJsWm1sdVpXUWlMQ0FpY21Wd2JHRmpaWElpTENBaWJXRndJaXdnSW1Ga1pDSXNJQ0oyWVd4MVpTSXNJQ0pqY21WaGRHVlFZV2x5SWl3Z0luQmhhWElpTENBaWIzWmxjbmR5YVhSbElpd2dJbDloSWl3Z0lsOXdZV2x5SWl3Z0lsQmhhWElpTENBaWNISmxkaUlzSUNKemIzSjBSVzUwY21sbGN5SXNJQ0pwYzFOallXeGhjbFpoYkhWbElpd2dJbWtpTENBaWFYUmxiU0lzSUNKclpXVndVMk5oYkdGeUlpd2dJbTV2WkdVaUxDQWlYeUlzSUNKVWVYQmxJaXdnSW1Ga1pGQmhhWEpVYjBwVFRXRndJaXdnSW05dVEyOXRiV1Z1ZENJc0lDSnZia05vYjIxd1MyVmxjQ0lzSUNKemRISnBibWRwWm5sRGIyeHNaV04wYVc5dUlpd2dJbTFoY0NJc0lDSlpRVTFNVFdGd0lpd2dJbTl1UlhKeWIzSWlMQ0FpYVhOTllYQWlMQ0FpYzJOb1pXMWhJaXdnSW05aWFpSXNJQ0pqZEhnaUxDQWlXVUZOVEZObGNTSXNJQ0pEYjJ4c1pXTjBhVzl1SWl3Z0luTmphR1Z0WVNJc0lDSlRSVkVpTENBaWRtRnNkV1VpTENBaWEyVjVJaXdnSW1sa2VDSXNJQ0poYzBsMFpXMUpibVJsZUNJc0lDSnJaV1Z3VTJOaGJHRnlJaXdnSW1sMElpd2dJbWx6VTJOaGJHRnlJaXdnSW5CeVpYWWlMQ0FpYVhOVFkyRnNZWEpXWVd4MVpTSXNJQ0pmSWl3Z0ltTjBlQ0lzSUNKelpYRWlMQ0FpYVNJc0lDSnBkR1Z0SWl3Z0luUnZTbE1pTENBaWIyNURiMjF0Wlc1MElpd2dJbTl1UTJodmJYQkxaV1Z3SWl3Z0luTjBjbWx1WjJsbWVVTnZiR3hsWTNScGIyNGlMQ0FpYjJKcUlpd2dJbkpsY0d4aFkyVnlJaXdnSW1OeVpXRjBaVTV2WkdVaUxDQWljMlZ4SWl3Z0lsbEJUVXhUWlhFaUxDQWliMjVGY25KdmNpSXNJQ0pwYzFObGNTSXNJQ0p6WTJobGJXRWlMQ0FpYjJKcUlpd2dJbU4wZUNJc0lDSnpkSEpwYm1jaUxDQWlkbUZzZFdVaUxDQWljM1J5SWl3Z0ltbDBaVzBpTENBaVkzUjRJaXdnSW05dVEyOXRiV1Z1ZENJc0lDSnZia05vYjIxd1MyVmxjQ0lzSUNKemRISnBibWRwWm5sVGRISnBibWNpTENBaWJuVnNiRlJoWnlJc0lDSjJZV3gxWlNJc0lDSlRZMkZzWVhJaUxDQWljMjkxY21ObElpd2dJbU4wZUNJc0lDSmliMjlzVkdGbklpd2dJblpoYkhWbElpd2dJbk4wY2lJc0lDSlRZMkZzWVhJaUxDQWljMjkxY21ObElpd2dJbU4wZUNJc0lDSnpkaUlzSUNKemRISnBibWRwWm5sT2RXMWlaWElpTENBaVptOXliV0YwSWl3Z0ltMXBia1p5WVdOMGFXOXVSR2xuYVhSeklpd2dJblJoWnlJc0lDSjJZV3gxWlNJc0lDSnVkVzBpTENBaWJpSXNJQ0pwSWl3Z0ltUWlMQ0FpWm14dllYUk9ZVTRpTENBaWRtRnNkV1VpTENBaWMzUnlJaXdnSW5OMGNtbHVaMmxtZVU1MWJXSmxjaUlzSUNKbWJHOWhkRVY0Y0NJc0lDSnViMlJsSWl3Z0ltNTFiU0lzSUNKbWJHOWhkQ0lzSUNKVFkyRnNZWElpTENBaVpHOTBJaXdnSW1sdWRFbGtaVzUwYVdaNUlpd2dJblpoYkhWbElpd2dJbWx1ZEZKbGMyOXNkbVVpTENBaWMzUnlJaXdnSW05bVpuTmxkQ0lzSUNKeVlXUnBlQ0lzSUNKcGJuUkJjMEpwWjBsdWRDSXNJQ0pwYm5SVGRISnBibWRwWm5raUxDQWlibTlrWlNJc0lDSndjbVZtYVhnaUxDQWljM1J5YVc1bmFXWjVUblZ0WW1WeUlpd2dJbWx1ZEU5amRDSXNJQ0pmYjI1RmNuSnZjaUlzSUNKdmNIUWlMQ0FpYVc1MElpd2dJbWx1ZEVobGVDSXNJQ0p6WTJobGJXRWlMQ0FpYldGd0lpd2dJbk5sY1NJc0lDSnpkSEpwYm1jaUxDQWliblZzYkZSaFp5SXNJQ0ppYjI5c1ZHRm5JaXdnSW1sdWRFOWpkQ0lzSUNKcGJuUWlMQ0FpYVc1MFNHVjRJaXdnSW1ac2IyRjBUbUZPSWl3Z0ltWnNiMkYwUlhod0lpd2dJbVpzYjJGMElpd2dJbWx1ZEVsa1pXNTBhV1o1SWl3Z0luWmhiSFZsSWl3Z0luTjBjbWx1WjJsbWVVcFRUMDRpTENBaWFuTnZibE5qWVd4aGNuTWlMQ0FpYzNSeUlpd2dJbE5qWVd4aGNpSXNJQ0pmYjI1RmNuSnZjaUlzSUNKcGJuUkJjMEpwWjBsdWRDSXNJQ0pxYzI5dVJYSnliM0lpTENBaWIyNUZjbkp2Y2lJc0lDSnpZMmhsYldFaUxDQWliV0Z3SWl3Z0luTmxjU0lzSUNKaWFXNWhjbmtpTENBaWRtRnNkV1VpTENBaWMzSmpJaXdnSW05dVJYSnliM0lpTENBaWMzUnlJaXdnSW1KMVptWmxjaUlzSUNKcElpd2dJbU52YlcxbGJuUWlMQ0FpZEhsd1pTSXNJQ0pqZEhnaUxDQWliMjVEYjIxdFpXNTBJaXdnSW05dVEyaHZiWEJMWldWd0lpd2dJbUoxWmlJc0lDSnpJaXdnSWxOallXeGhjaUlzSUNKc2FXNWxWMmxrZEdnaUxDQWliaUlzSUNKc2FXNWxjeUlzSUNKdklpd2dJbk4wY21sdVoybG1lVk4wY21sdVp5SXNJQ0p5WlhOdmJIWmxVR0ZwY25NaUxDQWljMlZ4SWl3Z0ltOXVSWEp5YjNJaUxDQWlYMkVpTENBaWFYTlRaWEVpTENBaWFTSXNJQ0pwZEdWdElpd2dJbWx6VUdGcGNpSXNJQ0pwYzAxaGNDSXNJQ0p3WVdseUlpd2dJbEJoYVhJaUxDQWlVMk5oYkdGeUlpd2dJbU51SWl3Z0ltTnlaV0YwWlZCaGFYSnpJaXdnSW5OamFHVnRZU0lzSUNKcGRHVnlZV0pzWlNJc0lDSmpkSGdpTENBaWNtVndiR0ZqWlhJaUxDQWljR0ZwY25NaUxDQWlXVUZOVEZObGNTSXNJQ0pwZENJc0lDSnJaWGtpTENBaWRtRnNkV1VpTENBaWEyVjVjeUlzSUNKamNtVmhkR1ZRWVdseUlpd2dJbGxCVFV4UFRXRndJaXdnSWw5WlFVMU1UMDFoY0NJc0lDSlpRVTFNVTJWeElpd2dJbGxCVFV4TllYQWlMQ0FpWHlJc0lDSmpkSGdpTENBaWJXRndJaXdnSW5CaGFYSWlMQ0FpYTJWNUlpd2dJblpoYkhWbElpd2dJbWx6VUdGcGNpSXNJQ0owYjBwVElpd2dJbk5qYUdWdFlTSXNJQ0pwZEdWeVlXSnNaU0lzSUNKd1lXbHljeUlzSUNKamNtVmhkR1ZRWVdseWN5SXNJQ0p2YldGd0lpd2dJbk5sY1NJc0lDSnZia1Z5Y205eUlpd2dJbkpsYzI5c2RtVlFZV2x5Y3lJc0lDSnpaV1Z1UzJWNWN5SXNJQ0pwYzFOallXeGhjaUlzSUNKaWIyOXNVM1J5YVc1bmFXWjVJaXdnSW5aaGJIVmxJaXdnSW5OdmRYSmpaU0lzSUNKamRIZ2lMQ0FpZEhKMVpWUmhaeUlzSUNKbVlXeHpaVlJoWnlJc0lDSlRZMkZzWVhJaUxDQWlabXh2WVhST1lVNGlMQ0FpZG1Gc2RXVWlMQ0FpYzNSeUlpd2dJbk4wY21sdVoybG1lVTUxYldKbGNpSXNJQ0ptYkc5aGRFVjRjQ0lzSUNKdWIyUmxJaXdnSW01MWJTSXNJQ0ptYkc5aGRDSXNJQ0pUWTJGc1lYSWlMQ0FpWkc5MElpd2dJbVlpTENBaWFXNTBTV1JsYm5ScFpua2lMQ0FpZG1Gc2RXVWlMQ0FpYVc1MFVtVnpiMngyWlNJc0lDSnpkSElpTENBaWIyWm1jMlYwSWl3Z0luSmhaR2w0SWl3Z0ltbHVkRUZ6UW1sblNXNTBJaXdnSW5OcFoyNGlMQ0FpYmlJc0lDSnBiblJUZEhKcGJtZHBabmtpTENBaWJtOWtaU0lzSUNKd2NtVm1hWGdpTENBaWMzUnlhVzVuYVdaNVRuVnRZbVZ5SWl3Z0ltbHVkRUpwYmlJc0lDSmZiMjVGY25KdmNpSXNJQ0p2Y0hRaUxDQWlhVzUwVDJOMElpd2dJbWx1ZENJc0lDSnBiblJJWlhnaUxDQWlXVUZOVEZObGRDSXNJQ0pmV1VGTlRGTmxkQ0lzSUNKWlFVMU1UV0Z3SWl3Z0luTmphR1Z0WVNJc0lDSnJaWGtpTENBaWNHRnBjaUlzSUNKcGMxQmhhWElpTENBaVVHRnBjaUlzSUNKbWFXNWtVR0ZwY2lJc0lDSnJaV1Z3VUdGcGNpSXNJQ0pwYzFOallXeGhjaUlzSUNKMllXeDFaU0lzSUNKd2NtVjJJaXdnSWw4aUxDQWlZM1I0SWl3Z0ltOXVRMjl0YldWdWRDSXNJQ0p2YmtOb2IyMXdTMlZsY0NJc0lDSnBkR1Z5WVdKc1pTSXNJQ0p5WlhCc1lXTmxjaUlzSUNKelpYUWlMQ0FpWTNKbFlYUmxVR0ZwY2lJc0lDSnRZWEFpTENBaWIyNUZjbkp2Y2lJc0lDSnBjMDFoY0NJc0lDSndZWEp6WlZObGVHRm5aWE5wYldGc0lpd2dJbk4wY2lJc0lDSmhjMEpwWjBsdWRDSXNJQ0p6YVdkdUlpd2dJbkJoY25Seklpd2dJbTUxYlNJc0lDSnVJaXdnSW5KbGN5SXNJQ0p3SWl3Z0luTjBjbWx1WjJsbWVWTmxlR0ZuWlhOcGJXRnNJaXdnSW01dlpHVWlMQ0FpZG1Gc2RXVWlMQ0FpYzNSeWFXNW5hV1o1VG5WdFltVnlJaXdnSWw4Mk1DSXNJQ0pwYm5SVWFXMWxJaXdnSWw5dmJrVnljbTl5SWl3Z0ltbHVkRUZ6UW1sblNXNTBJaXdnSW1ac2IyRjBWR2x0WlNJc0lDSjBhVzFsYzNSaGJYQWlMQ0FpYldGMFkyZ2lMQ0FpZVdWaGNpSXNJQ0p0YjI1MGFDSXNJQ0prWVhraUxDQWlhRzkxY2lJc0lDSnRhVzUxZEdVaUxDQWljMlZqYjI1a0lpd2dJbTFwYkd4cGMyVmpJaXdnSW1SaGRHVWlMQ0FpZEhvaUxDQWljMk5vWlcxaElpd2dJbTFoY0NJc0lDSnpaWEVpTENBaWMzUnlhVzVuSWl3Z0ltNTFiR3hVWVdjaUxDQWlkSEoxWlZSaFp5SXNJQ0ptWVd4elpWUmhaeUlzSUNKcGJuUkNhVzRpTENBaWFXNTBUMk4wSWl3Z0ltbHVkQ0lzSUNKcGJuUklaWGdpTENBaVpteHZZWFJPWVU0aUxDQWlabXh2WVhSRmVIQWlMQ0FpWm14dllYUWlMQ0FpWW1sdVlYSjVJaXdnSW0xbGNtZGxJaXdnSW05dFlYQWlMQ0FpY0dGcGNuTWlMQ0FpYzJWMElpd2dJbWx1ZEZScGJXVWlMQ0FpWm14dllYUlVhVzFsSWl3Z0luUnBiV1Z6ZEdGdGNDSXNJQ0p6WTJobGJXRnpJaXdnSW5OamFHVnRZU0lzSUNKdFlYQWlMQ0FpYzJWeElpd2dJbk4wY21sdVp5SXNJQ0owWVdkelFubE9ZVzFsSWl3Z0ltSnBibUZ5ZVNJc0lDSmliMjlzVkdGbklpd2dJbVpzYjJGMElpd2dJbVpzYjJGMFJYaHdJaXdnSW1ac2IyRjBUbUZPSWl3Z0ltWnNiMkYwVkdsdFpTSXNJQ0pwYm5RaUxDQWlhVzUwU0dWNElpd2dJbWx1ZEU5amRDSXNJQ0pwYm5SVWFXMWxJaXdnSW0xbGNtZGxJaXdnSW01MWJHeFVZV2NpTENBaWIyMWhjQ0lzSUNKd1lXbHljeUlzSUNKelpYUWlMQ0FpZEdsdFpYTjBZVzF3SWl3Z0ltTnZjbVZMYm05M2JsUmhaM01pTENBaVoyVjBWR0ZuY3lJc0lDSmpkWE4wYjIxVVlXZHpJaXdnSW5OamFHVnRZVTVoYldVaUxDQWlZV1JrVFdWeVoyVlVZV2NpTENBaWMyTm9aVzFoVkdGbmN5SXNJQ0owWVdkeklpd2dJbXRsZVhNaUxDQWlhMlY1SWl3Z0luUmhaeUlzSUNKMFlXZFBZbW9pTENBaWRHRm5UbUZ0WlNJc0lDSnpiM0owVFdGd1JXNTBjbWxsYzBKNVMyVjVJaXdnSW1FaUxDQWlZaUlzSUNKVFkyaGxiV0VpTENBaVgxTmphR1Z0WVNJc0lDSmpiMjF3WVhRaUxDQWlZM1Z6ZEc5dFZHRm5jeUlzSUNKdFpYSm5aU0lzSUNKeVpYTnZiSFpsUzI1dmQyNVVZV2R6SWl3Z0luTmphR1Z0WVNJc0lDSnpiM0owVFdGd1JXNTBjbWxsY3lJc0lDSjBiMU4wY21sdVowUmxabUYxYkhSeklpd2dJbWRsZEZSaFozTWlMQ0FpWTI5eVpVdHViM2R1VkdGbmN5SXNJQ0pOUVZBaUxDQWliV0Z3SWl3Z0lsTkRRVXhCVWlJc0lDSnpkSEpwYm1jaUxDQWlVMFZSSWl3Z0luTmxjU0lzSUNKamIzQjVJaXdnSW5OMGNtbHVaMmxtZVVSdlkzVnRaVzUwSWl3Z0ltUnZZeUlzSUNKdmNIUnBiMjV6SWl3Z0lsOWhJaXdnSW14cGJtVnpJaXdnSW1oaGMwUnBjbVZqZEdsMlpYTWlMQ0FpWkdseUlpd2dJbU4wZUNJc0lDSmpjbVZoZEdWVGRISnBibWRwWm5sRGIyNTBaWGgwSWl3Z0ltTnZiVzFsYm5SVGRISnBibWNpTENBaVkzTWlMQ0FpYVc1a1pXNTBRMjl0YldWdWRDSXNJQ0pqYUc5dGNFdGxaWEFpTENBaVkyOXVkR1Z1ZEVOdmJXMWxiblFpTENBaWFYTk9iMlJsSWl3Z0ltOXVRMmh2YlhCTFpXVndJaXdnSW1KdlpIa2lMQ0FpYzNSeWFXNW5hV1o1SWl3Z0lteHBibVZEYjIxdFpXNTBJaXdnSW1Saklpd2dJa1J2WTNWdFpXNTBJaXdnSWw5RWIyTjFiV1Z1ZENJc0lDSjJZV3gxWlNJc0lDSnlaWEJzWVdObGNpSXNJQ0p2Y0hScGIyNXpJaXdnSWs1UFJFVmZWRmxRUlNJc0lDSkVUME1pTENBaVgzSmxjR3hoWTJWeUlpd2dJbTl3ZENJc0lDSjJaWEp6YVc5dUlpd2dJa1JwY21WamRHbDJaWE1pTENBaVkyOXdlU0lzSUNKcGMwNXZaR1VpTENBaVlYTnpaWEowUTI5c2JHVmpkR2x2YmlJc0lDSndZWFJvSWl3Z0ltNXZaR1VpTENBaWJtRnRaU0lzSUNKd2NtVjJJaXdnSW1GdVkyaHZjazVoYldWeklpd2dJbVpwYm1ST1pYZEJibU5vYjNJaUxDQWlRV3hwWVhNaUxDQWlhMlY1Vkc5VGRISWlMQ0FpZGlJc0lDSmhjMU4wY2lJc0lDSmhiR2xoYzBSMWNHeHBZMkYwWlU5aWFtVmpkSE1pTENBaVlXNWphRzl5VUhKbFptbDRJaXdnSW1ac2IzY2lMQ0FpYTJWbGNGVnVaR1ZtYVc1bFpDSXNJQ0p2YmxSaFowOWlhaUlzSUNKMFlXY2lMQ0FpYjI1QmJtTm9iM0lpTENBaWMyVjBRVzVqYUc5eWN5SXNJQ0p6YjNWeVkyVlBZbXBsWTNSeklpd2dJbU55WldGMFpVNXZaR1ZCYm1Ob2IzSnpJaXdnSW1OMGVDSXNJQ0pqY21WaGRHVk9iMlJsSWl3Z0ltbHpRMjlzYkdWamRHbHZiaUlzSUNKclpYa2lMQ0FpYXlJc0lDSlFZV2x5SWl3Z0ltbHpSVzF3ZEhsUVlYUm9JaXdnSW10bFpYQlRZMkZzWVhJaUxDQWlhWE5UWTJGc1lYSWlMQ0FpWTI5c2JHVmpkR2x2YmtaeWIyMVFZWFJvSWl3Z0luTjJJaXdnSWxOamFHVnRZU0lzSUNKcWMyOXVJaXdnSW1wemIyNUJjbWNpTENBaWJXRndRWE5OWVhBaUxDQWliV0Y0UVd4cFlYTkRiM1Z1ZENJc0lDSnlaWFpwZG1WeUlpd2dJbkpsY3lJc0lDSjBiMHBUSWl3Z0ltTnZkVzUwSWl3Z0ltRndjR3g1VW1WMmFYWmxjaUlzSUNKeklpd2dJbk4wY21sdVoybG1lVVJ2WTNWdFpXNTBJaXdnSW1OdmJuUmxiblJ6SWl3Z0lsbEJUVXhGY25KdmNpSXNJQ0p1WVcxbElpd2dJbkJ2Y3lJc0lDSmpiMlJsSWl3Z0ltMWxjM05oWjJVaUxDQWlXVUZOVEZCaGNuTmxSWEp5YjNJaUxDQWlXVUZOVEZkaGNtNXBibWNpTENBaWNISmxkSFJwWm5sRmNuSnZjaUlzSUNKemNtTWlMQ0FpYkdNaUxDQWlaWEp5YjNJaUxDQWliR2x1WlNJc0lDSmpiMndpTENBaVkya2lMQ0FpYkdsdVpWTjBjaUlzSUNKMGNtbHRVM1JoY25RaUxDQWljSEpsZGlJc0lDSmpiM1Z1ZENJc0lDSmxibVFpTENBaWNHOXBiblJsY2lJc0lDSnlaWE52YkhabFVISnZjSE1pTENBaWRHOXJaVzV6SWl3Z0ltWnNiM2NpTENBaWFXNWthV05oZEc5eUlpd2dJbTVsZUhRaUxDQWliMlptYzJWMElpd2dJbTl1UlhKeWIzSWlMQ0FpY0dGeVpXNTBTVzVrWlc1MElpd2dJbk4wWVhKMFQyNU9aWGRzYVc1bElpd2dJbk53WVdObFFtVm1iM0psSWl3Z0ltRjBUbVYzYkdsdVpTSXNJQ0pvWVhOVGNHRmpaU0lzSUNKamIyMXRaVzUwSWl3Z0ltTnZiVzFsYm5SVFpYQWlMQ0FpYUdGelRtVjNiR2x1WlNJc0lDSnlaWEZUY0dGalpTSXNJQ0owWVdJaUxDQWlZVzVqYUc5eUlpd2dJblJoWnlJc0lDSnVaWGRzYVc1bFFXWjBaWEpRY205d0lpd2dJbU52YlcxaElpd2dJbVp2ZFc1a0lpd2dJbk4wWVhKMElpd2dJblJ2YTJWdUlpd2dJbU5pSWl3Z0lteGhjM1FpTENBaVpXNWtJaXdnSW1OdmJuUmhhVzV6VG1WM2JHbHVaU0lzSUNKclpYa2lMQ0FpYzNRaUxDQWlhWFFpTENBaVpteHZkMGx1WkdWdWRFTm9aV05ySWl3Z0ltbHVaR1Z1ZENJc0lDSm1ZeUlzSUNKdmJrVnljbTl5SWl3Z0ltVnVaQ0lzSUNKamIyNTBZV2x1YzA1bGQyeHBibVVpTENBaWJXRndTVzVqYkhWa1pYTWlMQ0FpWTNSNElpd2dJbWwwWlcxeklpd2dJbk5sWVhKamFDSXNJQ0oxYm1seGRXVkxaWGx6SWl3Z0ltbHpSWEYxWVd3aUxDQWlZU0lzSUNKaUlpd2dJbWx6VTJOaGJHRnlJaXdnSW5CaGFYSWlMQ0FpYzNSaGNuUkRiMnhOYzJjaUxDQWljbVZ6YjJ4MlpVSnNiMk5yVFdGd0lpd2dJbU52YlhCdmMyVk9iMlJsSWl3Z0ltTnZiWEJ2YzJWRmJYQjBlVTV2WkdVaUxDQWlZM1I0SWl3Z0ltSnRJaXdnSW05dVJYSnliM0lpTENBaWRHRm5JaXdnSWw5aElpd2dJbDlpSWl3Z0lrNXZaR1ZEYkdGemN5SXNJQ0paUVUxTVRXRndJaXdnSW0xaGNDSXNJQ0p2Wm1aelpYUWlMQ0FpWTI5dGJXVnVkRVZ1WkNJc0lDSmpiMnhzU1hSbGJTSXNJQ0p6ZEdGeWRDSXNJQ0pyWlhraUxDQWljMlZ3SWl3Z0luWmhiSFZsSWl3Z0ltdGxlVkJ5YjNCeklpd2dJbkpsYzI5c2RtVlFjbTl3Y3lJc0lDSnBiWEJzYVdOcGRFdGxlU0lzSUNKamIyNTBZV2x1YzA1bGQyeHBibVVpTENBaWEyVjVVM1JoY25RaUxDQWlhMlY1VG05a1pTSXNJQ0ptYkc5M1NXNWtaVzUwUTJobFkyc2lMQ0FpYldGd1NXNWpiSFZrWlhNaUxDQWlkbUZzZFdWUWNtOXdjeUlzSUNKMllXeDFaVTV2WkdVaUxDQWljR0ZwY2lJc0lDSlFZV2x5SWl3Z0luSmxjMjlzZG1WQ2JHOWphMU5sY1NJc0lDSmpiMjF3YjNObFRtOWtaU0lzSUNKamIyMXdiM05sUlcxd2RIbE9iMlJsSWl3Z0ltTjBlQ0lzSUNKaWN5SXNJQ0p2YmtWeWNtOXlJaXdnSW5SaFp5SXNJQ0pmWVNJc0lDSk9iMlJsUTJ4aGMzTWlMQ0FpV1VGTlRGTmxjU0lzSUNKelpYRWlMQ0FpYjJabWMyVjBJaXdnSW1OdmJXMWxiblJGYm1RaUxDQWljM1JoY25RaUxDQWlkbUZzZFdVaUxDQWljSEp2Y0hNaUxDQWljbVZ6YjJ4MlpWQnliM0J6SWl3Z0ltNXZaR1VpTENBaVpteHZkMGx1WkdWdWRFTm9aV05ySWl3Z0luSmxjMjlzZG1WRmJtUWlMQ0FpWlc1a0lpd2dJbTltWm5ObGRDSXNJQ0p5WlhGVGNHRmpaU0lzSUNKdmJrVnljbTl5SWl3Z0ltTnZiVzFsYm5RaUxDQWlhR0Z6VTNCaFkyVWlMQ0FpYzJWd0lpd2dJblJ2YTJWdUlpd2dJbk52ZFhKalpTSXNJQ0owZVhCbElpd2dJbU5pSWl3Z0ltSnNiMk5yVFhObklpd2dJbWx6UW14dlkyc2lMQ0FpZEc5clpXNGlMQ0FpY21WemIyeDJaVVpzYjNkRGIyeHNaV04wYVc5dUlpd2dJbU52YlhCdmMyVk9iMlJsSWl3Z0ltTnZiWEJ2YzJWRmJYQjBlVTV2WkdVaUxDQWlZM1I0SWl3Z0ltWmpJaXdnSW05dVJYSnliM0lpTENBaWRHRm5JaXdnSWw5aElpd2dJbDlpSWl3Z0ltbHpUV0Z3SWl3Z0ltWmpUbUZ0WlNJc0lDSk9iMlJsUTJ4aGMzTWlMQ0FpV1VGTlRFMWhjQ0lzSUNKWlFVMU1VMlZ4SWl3Z0ltTnZiR3dpTENBaVlYUlNiMjkwSWl3Z0ltOW1abk5sZENJc0lDSnBJaXdnSW1OdmJHeEpkR1Z0SWl3Z0luTjBZWEowSWl3Z0ltdGxlU0lzSUNKelpYQWlMQ0FpZG1Gc2RXVWlMQ0FpY0hKdmNITWlMQ0FpY21WemIyeDJaVkJ5YjNCeklpd2dJbU52Ym5SaGFXNXpUbVYzYkdsdVpTSXNJQ0p3Y21WMlNYUmxiVU52YlcxbGJuUWlMQ0FpYkc5dmNDSXNJQ0p6ZENJc0lDSndjbVYySWl3Z0ltbHpVR0ZwY2lJc0lDSjJZV3gxWlU1dlpHVWlMQ0FpYTJWNVUzUmhjblFpTENBaWEyVjVUbTlrWlNJc0lDSjJZV3gxWlZCeWIzQnpJaXdnSW5CaGFYSWlMQ0FpVUdGcGNpSXNJQ0p0WVhBaUxDQWliV0Z3U1c1amJIVmtaWE1pTENBaVpXNWtVbUZ1WjJVaUxDQWlaWGh3WldOMFpXUkZibVFpTENBaVkyVWlMQ0FpWldVaUxDQWlZMlZRYjNNaUxDQWlibUZ0WlNJc0lDSnRjMmNpTENBaVpXNWtJaXdnSW5KbGMyOXNkbVZGYm1RaUxDQWljbVZ6YjJ4MlpVTnZiR3hsWTNScGIyNGlMQ0FpUTA0aUxDQWlZM1I0SWl3Z0luUnZhMlZ1SWl3Z0ltOXVSWEp5YjNJaUxDQWlkR0ZuVG1GdFpTSXNJQ0owWVdjaUxDQWlZMjlzYkNJc0lDSnlaWE52YkhabFFteHZZMnROWVhBaUxDQWljbVZ6YjJ4MlpVSnNiMk5yVTJWeElpd2dJbkpsYzI5c2RtVkdiRzkzUTI5c2JHVmpkR2x2YmlJc0lDSkRiMnhzSWl3Z0ltTnZiWEJ2YzJWRGIyeHNaV04wYVc5dUlpd2dJbkJ5YjNCeklpd2dJbDloSWl3Z0lsOWlJaXdnSW5SaFoxUnZhMlZ1SWl3Z0ltMXpaeUlzSUNKaGJtTm9iM0lpTENBaWJtd2lMQ0FpYkdGemRGQnliM0FpTENBaVpYaHdWSGx3WlNJc0lDSlpRVTFNVFdGd0lpd2dJbGxCVFV4VFpYRWlMQ0FpZENJc0lDSnJkQ0lzSUNKeVpYTWlMQ0FpYm05a1pTSXNJQ0pwYzA1dlpHVWlMQ0FpVTJOaGJHRnlJaXdnSW5KbGMyOXNkbVZDYkc5amExTmpZV3hoY2lJc0lDSmpkSGdpTENBaWMyTmhiR0Z5SWl3Z0ltOXVSWEp5YjNJaUxDQWljM1JoY25RaUxDQWlhR1ZoWkdWeUlpd2dJbkJoY25ObFFteHZZMnRUWTJGc1lYSklaV0ZrWlhJaUxDQWlkSGx3WlNJc0lDSlRZMkZzWVhJaUxDQWliR2x1WlhNaUxDQWljM0JzYVhSTWFXNWxjeUlzSUNKamFHOXRjRk4wWVhKMElpd2dJbWtpTENBaVkyOXVkR1Z1ZENJc0lDSjJZV3gxWlNJc0lDSmxibVFpTENBaWRISnBiVWx1WkdWdWRDSXNJQ0p2Wm1aelpYUWlMQ0FpWTI5dWRHVnVkRk4wWVhKMElpd2dJbWx1WkdWdWRDSXNJQ0p6WlhBaUxDQWljSEpsZGsxdmNtVkpibVJsYm5SbFpDSXNJQ0pqY214bUlpd2dJbTFsYzNOaFoyVWlMQ0FpY0hKdmNITWlMQ0FpYzNSeWFXTjBJaXdnSW5OdmRYSmpaU0lzSUNKdGIyUmxJaXdnSW1Ob2IyMXdJaXdnSW1WeWNtOXlJaXdnSW1Ob0lpd2dJbTRpTENBaWFHRnpVM0JoWTJVaUxDQWlZMjl0YldWdWRDSXNJQ0pzWlc1bmRHZ2lMQ0FpZEc5clpXNGlMQ0FpZEhNaUxDQWljM0JzYVhRaUxDQWlabWx5YzNRaUxDQWliU0lzSUNKeVpYTnZiSFpsUm14dmQxTmpZV3hoY2lJc0lDSnpZMkZzWVhJaUxDQWljM1J5YVdOMElpd2dJbTl1UlhKeWIzSWlMQ0FpYjJabWMyVjBJaXdnSW5SNWNHVWlMQ0FpYzI5MWNtTmxJaXdnSW1WdVpDSXNJQ0pmZEhsd1pTSXNJQ0oyWVd4MVpTSXNJQ0pmYjI1RmNuSnZjaUlzSUNKeVpXd2lMQ0FpWTI5a1pTSXNJQ0p0YzJjaUxDQWlVMk5oYkdGeUlpd2dJbkJzWVdsdVZtRnNkV1VpTENBaWMybHVaMnhsVVhWdmRHVmtWbUZzZFdVaUxDQWlaRzkxWW14bFVYVnZkR1ZrVm1Gc2RXVWlMQ0FpZG1Gc2RXVkZibVFpTENBaWNtVWlMQ0FpY21WemIyeDJaVVZ1WkNJc0lDSmlZV1JEYUdGeUlpd2dJbVp2YkdSTWFXNWxjeUlzSUNKZllTSXNJQ0ptYVhKemRDSXNJQ0pzYVc1bElpd2dJbVVpTENBaWJXRjBZMmdpTENBaWNtVnpJaXdnSW5ObGNDSXNJQ0p3YjNNaUxDQWliR0Z6ZENJc0lDSnBJaXdnSW1Ob0lpd2dJbVp2YkdRaUxDQWlabTlzWkU1bGQyeHBibVVpTENBaWJtVjRkQ0lzSUNKall5SXNJQ0psYzJOaGNHVkRiMlJsY3lJc0lDSnNaVzVuZEdnaUxDQWljR0Z5YzJWRGFHRnlRMjlrWlNJc0lDSnlZWGNpTENBaWQzTlRkR0Z5ZENJc0lDSmpiMjF3YjNObFUyTmhiR0Z5SWl3Z0ltTjBlQ0lzSUNKMGIydGxiaUlzSUNKMFlXZFViMnRsYmlJc0lDSnZia1Z5Y205eUlpd2dJblpoYkhWbElpd2dJblI1Y0dVaUxDQWlZMjl0YldWdWRDSXNJQ0p5WVc1blpTSXNJQ0p5WlhOdmJIWmxRbXh2WTJ0VFkyRnNZWElpTENBaWNtVnpiMngyWlVac2IzZFRZMkZzWVhJaUxDQWlkR0ZuVG1GdFpTSXNJQ0p0YzJjaUxDQWlkR0ZuSWl3Z0lsTkRRVXhCVWlJc0lDSm1hVzVrVTJOaGJHRnlWR0ZuUW5sT1lXMWxJaXdnSW1acGJtUlRZMkZzWVhKVVlXZENlVlJsYzNRaUxDQWljMk5oYkdGeUlpd2dJbkpsY3lJc0lDSnBjMU5qWVd4aGNpSXNJQ0pUWTJGc1lYSWlMQ0FpWlhKeWIzSWlMQ0FpYzJOb1pXMWhJaXdnSWw5aElpd2dJbTFoZEdOb1YybDBhRlJsYzNRaUxDQWlhM1FpTENBaVlYUkxaWGtpTENBaVpHbHlaV04wYVhabGN5SXNJQ0pqYjIxd1lYUWlMQ0FpZEhNaUxDQWlZM01pTENBaVpXMXdkSGxUWTJGc1lYSlFiM05wZEdsdmJpSXNJQ0p2Wm1aelpYUWlMQ0FpWW1WbWIzSmxJaXdnSW5CdmN5SXNJQ0pwSWl3Z0luTjBJaXdnSWtOT0lpd2dJbU52YlhCdmMyVk9iMlJsSWl3Z0ltTnZiWEJ2YzJWRmJYQjBlVTV2WkdVaUxDQWlZM1I0SWl3Z0luUnZhMlZ1SWl3Z0luQnliM0J6SWl3Z0ltOXVSWEp5YjNJaUxDQWlZWFJMWlhraUxDQWljM0JoWTJWQ1pXWnZjbVVpTENBaVkyOXRiV1Z1ZENJc0lDSmhibU5vYjNJaUxDQWlkR0ZuSWl3Z0ltNXZaR1VpTENBaWFYTlRjbU5VYjJ0bGJpSXNJQ0pqYjIxd2IzTmxRV3hwWVhNaUxDQWlZMjl0Y0c5elpWTmpZV3hoY2lJc0lDSmpiMjF3YjNObFEyOXNiR1ZqZEdsdmJpSXNJQ0p0WlhOellXZGxJaXdnSW1selUyTmhiR0Z5SWl3Z0ltOW1abk5sZENJc0lDSmlaV1p2Y21VaUxDQWljRzl6SWl3Z0ltVnVaQ0lzSUNKbGJYQjBlVk5qWVd4aGNsQnZjMmwwYVc5dUlpd2dJbTl3ZEdsdmJuTWlMQ0FpYzI5MWNtTmxJaXdnSW1Gc2FXRnpJaXdnSWtGc2FXRnpJaXdnSW5aaGJIVmxSVzVrSWl3Z0luSmxJaXdnSW5KbGMyOXNkbVZGYm1RaUxDQWlZMjl0Y0c5elpVUnZZeUlzSUNKdmNIUnBiMjV6SWl3Z0ltUnBjbVZqZEdsMlpYTWlMQ0FpYjJabWMyVjBJaXdnSW5OMFlYSjBJaXdnSW5aaGJIVmxJaXdnSW1WdVpDSXNJQ0p2YmtWeWNtOXlJaXdnSW05d2RITWlMQ0FpWkc5aklpd2dJa1J2WTNWdFpXNTBJaXdnSW1OMGVDSXNJQ0p3Y205d2N5SXNJQ0p5WlhOdmJIWmxVSEp2Y0hNaUxDQWlZMjl0Y0c5elpVNXZaR1VpTENBaVkyOXRjRzl6WlVWdGNIUjVUbTlrWlNJc0lDSmpiMjUwWlc1MFJXNWtJaXdnSW5KbElpd2dJbkpsYzI5c2RtVkZibVFpTENBaVoyVjBSWEp5YjNKUWIzTWlMQ0FpYzNKaklpd2dJbTltWm5ObGRDSXNJQ0p6YjNWeVkyVWlMQ0FpY0dGeWMyVlFjbVZzZFdSbElpd2dJbkJ5Wld4MVpHVWlMQ0FpWDJFaUxDQWlZMjl0YldWdWRDSXNJQ0poZEVOdmJXMWxiblFpTENBaVlXWjBaWEpGYlhCMGVVeHBibVVpTENBaVEyOXRjRzl6WlhJaUxDQWliM0IwYVc5dWN5SXNJQ0pqYjJSbElpd2dJbTFsYzNOaFoyVWlMQ0FpZDJGeWJtbHVaeUlzSUNKd2IzTWlMQ0FpV1VGTlRGZGhjbTVwYm1jaUxDQWlXVUZOVEZCaGNuTmxSWEp5YjNJaUxDQWlSR2x5WldOMGFYWmxjeUlzSUNKa2IyTWlMQ0FpWVdaMFpYSkViMk1pTENBaVpHTWlMQ0FpYVhORGIyeHNaV04wYVc5dUlpd2dJbWwwSWl3Z0ltbHpVR0ZwY2lJc0lDSmpZaUlzSUNKMGIydGxibk1pTENBaVptOXlZMlZFYjJNaUxDQWlaVzVrVDJabWMyVjBJaXdnSW5SdmEyVnVJaXdnSWw5ZmVXbGxiR1JUZEdGeUlpd2dJbU52YlhCdmMyVkViMk1pTENBaWJYTm5JaXdnSW1WeWNtOXlJaXdnSW1WdVpDSXNJQ0p5WlhOdmJIWmxSVzVrSWl3Z0ltOXdkSE1pTENBaVJHOWpkVzFsYm5RaUxDQWlRbEpGUVVzaUxDQWlVMHRKVUNJc0lDSlNSVTFQVmtVaUxDQWlkbWx6YVhRaUxDQWlZM04wSWl3Z0luWnBjMmwwYjNJaUxDQWlYM1pwYzJsMElpd2dJbkJoZEdnaUxDQWlhWFJsYlNJc0lDSm1hV1ZzWkNJc0lDSnBibVJsZUNJc0lDSjBiMnNpTENBaWNHRnlaVzUwSWl3Z0ltTnZiR3dpTENBaVkzUnliQ0lzSUNKMGIydGxiaUlzSUNKcElpd2dJbU5wSWl3Z0lrSlBUU0lzSUNKRVQwTlZUVVZPVkNJc0lDSkdURTlYWDBWT1JDSXNJQ0pUUTBGTVFWSWlMQ0FpZEc5clpXNVVlWEJsSWl3Z0luTnZkWEpqWlNJc0lDSkNUMDBpTENBaVJFOURWVTFGVGxRaUxDQWlSa3hQVjE5RlRrUWlMQ0FpVTBOQlRFRlNJaXdnSW1selJXMXdkSGtpTENBaVkyZ2lMQ0FpYUdWNFJHbG5hWFJ6SWl3Z0luUmhaME5vWVhKeklpd2dJbVpzYjNkSmJtUnBZMkYwYjNKRGFHRnljeUlzSUNKcGJuWmhiR2xrUVc1amFHOXlRMmhoY25NaUxDQWlhWE5PYjNSQmJtTm9iM0pEYUdGeUlpd2dJa3hsZUdWeUlpd2dJbk52ZFhKalpTSXNJQ0pwYm1OdmJYQnNaWFJsSWl3Z0lsOWhJaXdnSW01bGVIUWlMQ0FpWDE5NWFXVnNaRk4wWVhJaUxDQWlhU0lzSUNKdUlpd2dJbTltWm5ObGRDSXNJQ0pwYm1SbGJuUWlMQ0FpWkhRaUxDQWlaVzVrSWl3Z0luTjBZWFJsSWl3Z0lteHBibVVpTENBaVFrOU5JaXdnSW1ScGNrVnVaQ0lzSUNKamN5SXNJQ0p6Y0NJc0lDSkVUME5WVFVWT1ZDSXNJQ0p6SWl3Z0ltTm9NQ0lzSUNKamFERWlMQ0FpYm13aUxDQWlSa3hQVjE5RlRrUWlMQ0FpY1hWdmRHVWlMQ0FpY1dJaUxDQWliRzl2Y0NJc0lDSnNZWE4wUTJoaGNpSXNJQ0pUUTBGTVFWSWlMQ0FpYVc1R2JHOTNJaXdnSW1Gc2JHOTNSVzF3ZEhraUxDQWlZV3hzYjNkVVlXSnpJaXdnSW5SbGMzUWlMQ0FpVEdsdVpVTnZkVzUwWlhJaUxDQWliMlptYzJWMElpd2dJbXh2ZHlJc0lDSm9hV2RvSWl3Z0ltMXBaQ0lzSUNKemRHRnlkQ0lzSUNKcGJtTnNkV1JsYzFSdmEyVnVJaXdnSW14cGMzUWlMQ0FpZEhsd1pTSXNJQ0pwSWl3Z0ltWnBibVJPYjI1RmJYQjBlVWx1WkdWNElpd2dJbWx6Um14dmQxUnZhMlZ1SWl3Z0luUnZhMlZ1SWl3Z0ltZGxkRkJ5WlhaUWNtOXdjeUlzSUNKd1lYSmxiblFpTENBaVgyRWlMQ0FpYVhRaUxDQWlaMlYwUm1seWMzUkxaWGxUZEdGeWRGQnliM0J6SWl3Z0luQnlaWFlpTENBaWJHOXZjQ0lzSUNKbWFYaEdiRzkzVTJWeFNYUmxiWE1pTENBaVptTWlMQ0FpVUdGeWMyVnlJaXdnSW05dVRtVjNUR2x1WlNJc0lDSk1aWGhsY2lJc0lDSnpiM1Z5WTJVaUxDQWlhVzVqYjIxd2JHVjBaU0lzSUNKc1pYaGxiV1VpTENBaVgxOTVhV1ZzWkZOMFlYSWlMQ0FpZEc5clpXNVVlWEJsSWl3Z0ltMWxjM05oWjJVaUxDQWlkRzl3SWl3Z0ltNGlMQ0FpWlhKeWIzSWlMQ0FpYkdGemRDSXNJQ0p6ZENJc0lDSmtiMk1pTENBaVluWWlMQ0FpYzJOaGJHRnlJaXdnSW5OMFlYSjBJaXdnSW5ObGNDSXNJQ0p0WVhBaUxDQWlibXdpTENBaVpXNWtJaXdnSW1GMFRXRndTVzVrWlc1MElpd2dJbUYwVG1WNGRFbDBaVzBpTENBaWEyVjVJaXdnSW1aeklpd2dJbk5sY1NJc0lDSnBibVJsYm5RaUxDQWlaRzlqUlc1a0lpd2dJbkJoY25ObFQzQjBhVzl1Y3lJc0lDSnZjSFJwYjI1eklpd2dJbkJ5WlhSMGVVVnljbTl5Y3lJc0lDSk1hVzVsUTI5MWJuUmxjaUlzSUNKd1lYSnpaVVJ2WTNWdFpXNTBJaXdnSW5OdmRYSmpaU0lzSUNKdmNIUnBiMjV6SWl3Z0lteHBibVZEYjNWdWRHVnlJaXdnSW5CeVpYUjBlVVZ5Y205eWN5SXNJQ0p3WVhKelpVOXdkR2x2Ym5NaUxDQWljR0Z5YzJWeUlpd2dJbEJoY25ObGNpSXNJQ0pqYjIxd2IzTmxjaUlzSUNKRGIyMXdiM05sY2lJc0lDSmtiMk1pTENBaVgyUnZZeUlzSUNKWlFVMU1VR0Z5YzJWRmNuSnZjaUlzSUNKd2NtVjBkR2xtZVVWeWNtOXlJaXdnSW5CaGNuTmxJaXdnSW5OeVl5SXNJQ0p5WlhacGRtVnlJaXdnSWw5eVpYWnBkbVZ5SWl3Z0luZGhjbTVwYm1jaUxDQWlkMkZ5YmlJc0lDSnBiWEJ2Y25SZmMyOXlkR1ZrWDJKMGNtVmxJaXdnSWxBaUxDQWlUR2wwWlhKaGJITWlMQ0FpZEc5VGRISnBibWNpTENBaVptbGxiR1FpTENBaWMyVjBkR2x1WnlJc0lDSnlaV04xY25OcGRtVWlMQ0FpZDNKaGNIQmxaQ0lzSUNKM2NtRndWbUZzZFdVaUxDQWljbVZ6ZFd4MElpd2dJbVlpTENBaVpTSXNJQ0p5Wlc1a1pYSk5hVzVwYldGc1JHRjBaU0lzSUNKeVpXNWtaWEpOYVc1cGJXRnNSSFZ5WVhScGIyNGlMQ0FpZG1Gc0lpd2dJbWx6VG5Wc2JDSXNJQ0pwYzA1MWJXSmxjaUlzSUNKcGMxTjBjbWx1WnlJc0lDSnBjMEp2YjJ4bFlXNGlMQ0FpYVhORWRYSmhkR2x2YmlJc0lDSnBjMFJoZEdVaUxDQWlhWE5CY25KaGVTSXNJQ0pwYzB4cGJtc2lMQ0FpYVhOR2RXNWpkR2x2YmlJc0lDSnBjMDlpYW1WamRDSXNJQ0p0WVhCTVpXRjJaWE1pTENBaVpuVnVZeUlzSUNKclpYa2lMQ0FpZG1Gc2RXVWlMQ0FpWlhGMVlXeHpJaXdnSW1acGNuTjBJaXdnSW5ObFkyOXVaQ0lzSUNKamIyMXdZWEpsSWl3Z0luWmhiREVpTENBaWRtRnNNaUlzSUNKc2FXNXJUbTl5YldGc2FYcGxjaUlzSUNKZllTSXNJQ0pmWWlJc0lDSjNjbUZ3TVNJc0lDSjNjbUZ3TWlJc0lDSnNhVzVyTVNJc0lDSnNhVzVyTWlJc0lDSnViM0p0WVd4cGVtVWlMQ0FpZUNJc0lDSndZWFJvUTI5dGNHRnlaU0lzSUNKMGVYQmxRMjl0Y0dGeVpTSXNJQ0ptTVNJc0lDSm1NaUlzSUNKcGJtUmxlQ0lzSUNKamIyMXdJaXdnSW04eElpd2dJbTh5SWl3Z0ltc3hJaXdnSW1zeUlpd2dJbXRsZVVOdmJYQmhjbVVpTENBaWRIbHdaVTltSWl3Z0ltbHpWSEoxZEdoNUlpd2dJbVJsWlhCRGIzQjVJaXdnSW5ZaUxDQWlSR0YwWlZScGJXVWlMQ0FpUkhWeVlYUnBiMjRpTENBaVRHbHVheUlzSUNKSGNtOTFjR2x1WjNNaUxDQWlhWE5GYkdWdFpXNTBSM0p2ZFhBaUxDQWlaVzUwY25raUxDQWlhWE5IY205MWNHbHVaeUlzSUNKbGJHVnRaVzUwSWl3Z0ltbHpUR1ZoWmlJc0lDSmpiM1Z1ZENJc0lDSmxiR1Z0Wlc1MGN5SXNJQ0p6ZFdKbmNtOTFjQ0lzSUNKemJHbGpaU0lzSUNKemRHRnlkQ0lzSUNKbGJtUWlMQ0FpYzJWbGJpSXNJQ0puY205MWNDSXNJQ0puY205MWNGTnBlbVVpTENBaVozSnZkWEJUZEdGeWRDSXNJQ0puY205MWNFVnVaQ0lzSUNKVGRXTmpaWE56SWl3Z0lsOVRkV05qWlhOeklpd2dJblpoYkhWbElpd2dJbVlpTENBaWMzVmpZeUlzSUNKZlptRnBiQ0lzSUNKZmRtRnNkV1VpTENBaVgyMWxjM05oWjJVaUxDQWlSbUZwYkhWeVpTSXNJQ0pmUm1GcGJIVnlaU0lzSUNKbGNuSnZjaUlzSUNKZlppSXNJQ0pmYzNWall5SXNJQ0ptWVdsc0lpd2dJbTFsYzNOaFoyVWlMQ0FpVW1WemRXeDBJaXdnSW5OMVkyTmxjM01pTENBaVptRnBiSFZ5WlNJc0lDSm1iR0YwVFdGd01pSXNJQ0ptYVhKemRDSXNJQ0p6WldOdmJtUWlMQ0FpYldGd01pSXNJQ0poSWl3Z0ltSWlMQ0FpYldGd1FXeHNJaXdnSW1sdWNIVjBJaXdnSW1aMWJtTWlMQ0FpY21WemRXeDBJaXdnSW1Wc1pXMWxiblFpTENBaWIzVjBjSFYwSWl3Z0luUnllV2x1WnlJc0lDSmpZV3hzSWl3Z0ltRnplVzVqSWl3Z0luQnliMjFwYzJVaUxDQWlSbWxzZEdWeWN5SXNJQ0poZEc5dElpd2dJbk5sZENJc0lDSmpiMjV6ZEdGdWRDSXNJQ0oyWVd4MVpTSXNJQ0p1ZFd4c1lXSnNaVUYwYjIwaUxDQWlibVZuWVhSbFpDSXNJQ0p1WldkaGRHVWlMQ0FpWm1sc2RHVnlJaXdnSW1WdGNIUjVJaXdnSW5KbGMyOXNkbVVpTENBaVpYWmxjbmwwYUdsdVp5SXNJQ0p6WlhSSmJuUmxjbk5sWTNST1pXZGhkR2x2YmlJc0lDSnBiblJsY25ObFkzUWlMQ0FpWld4bGJXVnVkSE1pTENBaWJHRjZlVWx1ZEdWeWMyVmpkQ0lzSUNKNElpd2dJbkJ5YjJSMVkyVWlMQ0FpYkdGNmVVWmhhV3hoWW14bFNXNTBaWEp6WldOMGFXOXVJaXdnSWxKbGMzVnNkQ0lzSUNKaGRHOXRjeUlzSUNKdVpXZGhkR2x2Ym5NaUxDQWlaV3hsYldWdWRDSXNJQ0p0WVhsaVpVWnBiSFJsY2lJc0lDSnpaWFJKYm5SbGNuTmxZM1FpTENBaWMyVjBWVzVwYjI0aUxDQWlkVzVwYjI0aUxDQWlabWxzZEdWeWN5SXNJQ0pzWVhwNVZXNXBiMjRpTENBaWJHRjZlVVpoYVd4aFlteGxWVzVwYjI0aUxDQWljMlYwY3lJc0lDSnpiM0owWldRaUxDQWlZU0lzSUNKaUlpd2dJbkpsYzNWc2RDSXNJQ0pzWVhKblpYTjBJaXdnSWtWNGNISmxjM05wYjI1eklpd2dJblpoY21saFlteGxJaXdnSW01aGJXVWlMQ0FpYkdsMFpYSmhiQ0lzSUNKMllXeDFaU0lzSUNKaWFXNWhjbmxQY0NJc0lDSnNaV1owSWl3Z0ltOXdJaXdnSW5KcFoyaDBJaXdnSW1sdVpHVjRJaXdnSW05aWFpSXNJQ0pwYm1SbGVGWmhjbWxoWW14bElpd2dJbkJoY25Seklpd2dJbkpsYzNWc2RDSXNJQ0pzWVcxaVpHRWlMQ0FpWVhKbmN5SXNJQ0ptZFc1aklpd2dJbXhwYzNRaUxDQWlkbUZzZFdWeklpd2dJbTlpYW1WamRDSXNJQ0p1WldkaGRHVWlMQ0FpWTJocGJHUWlMQ0FpYVhORGIyMXdZWEpsVDNBaUxDQWlkVzVpYjNWdVpGWmhjbWxoWW14bGN5SXNJQ0psZUhCeUlpd2dJbUp2ZFc1a0lpd2dJa3hwZEdWeVlXeHpJaXdnSWtacGJIUmxjbk1pTENBaVlTSXNJQ0p1WlhkQ2IzVnVaQ0lzSUNKaGNtY2lMQ0FpZGlJc0lDSjBiMU4wY21sdVp5SXNJQ0pySWl3Z0luZHlZWEJ3WldRaUxDQWlVRkpKVFVsVVNWWkZVeUlzSUNKZklpd2dJbk4wY2lJc0lDSnhJaXdnSW1Ob1lYSnpJaXdnSW1WelkyRndaV1FpTENBaWMzUmhjblFpTENBaWNtVnpkQ0lzSUNKRlRVOUtTVjlTUlVkRldDSXNJQ0ptYVhKemRDSXNJQ0pzYVc1clNXNXVaWElpTENBaVRHbHVheUlzSUNKd0lpd2dJbXdpTENBaVgzTjBjaUlzSUNKNVpXRnlJaXdnSW0xdmJuUm9JaXdnSWtSaGRHVlVhVzFsSWl3Z0lrUkJWRVZmVTBoUFVsUklRVTVFVXlJc0lDSmhJaXdnSW1JaUxDQWlZMmhoYVc1UGNIUWlMQ0FpZVcwaUxDQWlaR0Y1SWl3Z0lubHRaQ0lzSUNKb2IzVnlJaXdnSW5sdFpHZ2lMQ0FpYldsdWRYUmxJaXdnSW5sdFpHaHRJaXdnSW5ObFkyOXVaQ0lzSUNKNWJXUm9iWE1pTENBaWJXbHNiR2x6WldOdmJtUWlMQ0FpWkhRaUxDQWljRzBpTENBaWFISWlMQ0FpWDJFaUxDQWllbTl1WlNJc0lDSmZZaUlzSUNKa0lpd2dJa1JWVWtGVVNVOU9YMVJaVUVWVElpd2dJbU52ZFc1MElpd2dJblFpTENBaWVDSXNJQ0prZFhKaGRHbHZibk1pTENBaVl5SXNJQ0p1YjNKdFlXeHBlbVZFZFhKaGRHbHZiaUlzSUNKbUlpd2dJbDl6SWl3Z0ltVnRiMnBwWDNKbFoyVjRYMlJsWm1GMWJIUWlMQ0FpUkhWeVlYUnBiMjRpTENBaVJWaFFVa1ZUVTBsUFRpSXNJQ0pGZUhCeVpYTnphVzl1Y3lJc0lDSmpjbVZoZEdWR2RXNWpkR2x2YmlJc0lDSmZablZ1WXlJc0lDSmtZWFJsSWl3Z0ltUjFjaUlzSUNKdVlXMWxJaXdnSWw5elpYQWlMQ0FpZG1Gc2RXVWlMQ0FpZG1Gc2N5SXNJQ0p5WlhNaUxDQWlaVzUwY25raUxDQWliMkpxSWl3Z0luQnZjM1JtYVhobGN5SXNJQ0p5WlhOMWJIUWlMQ0FpY0c5emRDSXNJQ0ptYVdWc1pDSXNJQ0pwWkdWdWRDSXNJQ0pmYVdkdWIzSmxJaXdnSW1WNGNISWlMQ0FpWHpJaUxDQWlYek1pTENBaVh6UWlMQ0FpWHpFaUxDQWlaWGh3Y25NaUxDQWlZM0psWVhSbFFtbHVZWEo1VUdGeWMyVnlJaXdnSWxGVlJWSlpJaXdnSW1sa0lpd2dJbVoxYm1NaUxDQWljR0YwYUNJc0lDSmphR2xzWkhKbGJpSXNJQ0p3WVhKbGJuUnpJaXdnSW14cGJtc2lMQ0FpYzI5MWNtTmxJaXdnSW14bFpuUWlMQ0FpWDI5d0lpd2dJbkpwWjJoMElpd2dJbU55WldGMFpVSnBibUZ5ZVZCaGNuTmxjaUlzSUNKamFHbHNaQ0lzSUNKelpYQWlMQ0FpWTI5dFltbHVaU0lzSUNKbWFYSnpkQ0lzSUNKeVpYTjBJaXdnSW01dlpHVWlMQ0FpYVc1a1pYZ2lMQ0FpWTNKbFlYUmxSblZ1WTNScGIyNGlMQ0FpWm5WdVl5SXNJQ0poY21keklpd2dJbkpsWVd4R2RXNWpJaXdnSW1ZaUxDQWlZU0lzSUNKamFHRnBiazl3ZENJc0lDSmlZWE5sSWl3Z0ltWjFibU56SWl3Z0lsOXpkV05qWlhOeklpd2dJbDltWVdsc2RYSmxJaXdnSW1sdWNIVjBJaXdnSW5KbGMzVnNkQ0lzSUNKdVpYaDBJaXdnSWxBaUxDQWliV0Z3VDJKcVpXTjBWbUZzZFdWeklpd2dJbTlpYW1WamRDSXNJQ0ptZFc1aklpd2dJbkpsYzNWc2RDSXNJQ0pyWlhraUxDQWlkbUZzZFdVaUxDQWlTbk52YmtOdmJuWmxjbk5wYjI0aUxDQWlhVzV3ZFhRaUxDQWlhbk52YmlJc0lDSnNhWFJsY21Gc0lpd2dJbmR5WVhCd1pXUWlMQ0FpVEdsMFpYSmhiSE1pTENBaWJXRndUMkpxWldOMFZtRnNkV1Z6SWl3Z0luWmhiSFZsSWl3Z0ltNXZjbTFoYkdsNlpYSWlMQ0FpZGlJc0lDSjBlWEJsSWl3Z0lrUmhkR1ZVYVcxbElpd2dJa1IxY21GMGFXOXVJaXdnSWt4cGJtc2lMQ0FpYW5OdmJrbHViR2x1WlVacFpXeGtJaXdnSW1acFpXeGtJaXdnSWtwemIyNURiMjUyWlhKemFXOXVJaXdnSW1GelNXNXNhVzVsUm1sbGJHUWlMQ0FpYkc5allXd2lMQ0FpYkdsdVpXNXZJaXdnSW1ZaUxDQWljR0Z5YzJWSmJteHBibVZXWVd4MVpTSXNJQ0pKVGt4SlRrVmZSa2xGVEVSZlYxSkJVRkJGVWxNaUxDQWlabWx1WkVOc2IzTnBibWNpTENBaWJHbHVaU0lzSUNKemRHRnlkQ0lzSUNKdmNHVnVJaXdnSW1Oc2IzTmxJaXdnSW01bGMzUnBibWNpTENBaVpYTmpZWEJsWkNJc0lDSnBibVJsZUNJc0lDSmphR0Z5SWl3Z0ltWnBibVJUWlhCaGNtRjBiM0lpTENBaWMyVndJaXdnSW1acGJtUlRjR1ZqYVdacFkwbHViR2x1WlVacFpXeGtJaXdnSW10bGVTSXNJQ0oyWVd4MVpTSXNJQ0pwYm14cGJtVWlMQ0FpVUZKSlRVbFVTVlpGVXlJc0lDSmxlSFJ5WVdOMFNXNXNhVzVsUm1sbGJHUnpJaXdnSW1sdVkyeDFaR1ZVWVhOclJtbGxiR1J6SWl3Z0ltWnBaV3hrY3lJc0lDSjNjbUZ3Y0dWeUlpd2dJbVp2ZFc1a1NXNWtaWGdpTENBaWNHRnljMlZrUm1sbGJHUWlMQ0FpWlhoMGNtRmpkRk53WldOcFlXeFVZWE5yUm1sbGJHUnpJaXdnSW1FaUxDQWlZaUlzSUNKbWFXeDBaWEpsWkVacFpXeGtjeUlzSUNKcElpd2dJa1pWVEV4ZlRFbE9SVjlMUlZsZlVFRlNWQ0lzSUNKbGJXOXFhVjl5WldkbGVGOWtaV1poZFd4MElpd2dJbkJoY25Seklpd2dJa1pWVEV4ZlRFbE9SVjlMUlZsZlVFRlNVMFZTSWl3Z0ltVjRkSEpoWTNSR2RXeHNUR2x1WlVacFpXeGtJaXdnSW5SbGVIUWlMQ0FpY21WaGJFdGxlU0lzSUNKRFVrVkJWRVZFWDBSQlZFVmZVa1ZIUlZnaUxDQWlSRlZGWDBSQlZFVmZVa1ZIUlZnaUxDQWlSRTlPUlY5RVFWUkZYMUpGUjBWWUlpd2dJbE5EU0VWRVZVeEZSRjlFUVZSRlgxSkZSMFZZSWl3Z0lsTlVRVkpVWDBSQlZFVmZVa1ZIUlZnaUxDQWlSVTFQU2tsZlVrVkhSVmhGVXlJc0lDSnlaWE4xYkhSeklpd2dJbkpsWjJWNElpd2dJbTFoZEdOb0lpd2dJbGxoYld4RGIyNTJaWEp6YVc5dUlpd2dJbmxoYld3aUxDQWlkbUZzZFdVaUxDQWlkM0poY0hCbFpDSXNJQ0pNYVhSbGNtRnNjeUlzSUNKc2FYUmxjbUZzSWl3Z0ltMWhjRTlpYW1WamRGWmhiSFZsY3lJc0lDSnlaWE4xYkhRaUxDQWlZMmhwYkdRaUxDQWlSR0YwWlZScGJXVWlMQ0FpYjJKcVpXTjBJaXdnSW10bGVTSXNJQ0prWVhSbFVHRnljMlVpTENBaVVGSkpUVWxVU1ZaRlV5SXNJQ0prZFhKaGRHbHZibEJoY25ObElpd2dJbXhwYm10UVlYSnpaU0lzSUNKWlFVMU1YMFJCVkVGZlVrVkhSVmdpTENBaVEwOUVSVUpNVDBOTFgwWkZUa05GWDFKRlIwVllJaXdnSWt4SlUxUmZTVlJGVFY5U1JVZEZXQ0lzSUNKdFlYSnJaRzkzYmtsdGNHOXlkQ0lzSUNKd1lYUm9JaXdnSW0xaGNtdGtiM2R1SWl3Z0ltMWxkR0ZrWVhSaElpd2dJbk4wWVhSeklpd2dJbXhwYm1Weklpd2dJbkJoWjJWTlpYUmhaR0YwWVNJc0lDSm1jbTl1ZEcxaGRIUmxjaUlzSUNKelpXTjBhVzl1Y3lJc0lDSnRZWEpyWkc5M2JsTnZkWEpqWlVsdGNHOXlkQ0lzSUNKUVlXZGxSR0YwWVNJc0lDSmZZU0lzSUNKZllpSXNJQ0pmWXlJc0lDSmZaQ0lzSUNKZlpTSXNJQ0pmWmlJc0lDSmZaeUlzSUNKZmFDSXNJQ0pmYVNJc0lDSmZhaUlzSUNKZmF5SXNJQ0pmYkNJc0lDSmZiU0lzSUNKZmJpSXNJQ0pmYnlJc0lDSmZjQ0lzSUNKd1lYSnpaVVp5YjI1MGJXRjBkR1Z5UW14dlkyc2lMQ0FpYldGeWEyUnZkMjVOWlhSaFpHRjBZU0lzSUNKTlpYUmhaR0YwWVNJc0lDSnpaV04wYVc5dVFYSnlZWGtpTENBaWJXVjBZV2hsWVdScGJtZHpJaXdnSW1FaUxDQWlZaUlzSUNKQ1ZISmxaU0lzSUNKcGJtUmxlQ0lzSUNKbGJuUnllU0lzSUNKemRHRnlkQ0lzSUNKbGJtUWlMQ0FpYzJWamRHbHZiaUlzSUNKVFpXTjBhVzl1UkdGMFlTSXNJQ0psYlhCMGVXeHBibVZ6SWl3Z0ltZGxkRVpwYkdWVWFYUnNaU0lzSUNKbWFYSnpkQ0lzSUNKaWJHOWphM01pTENBaVlteHZZMnRQY21ScGJtRnNJaXdnSW1Kc2IyTnJJaXdnSW5OMFlYSjBUR2x1WlNJc0lDSk1hWE4wUW14dlkydEVZWFJoSWl3Z0lubGhiV3dpTENBaWMzQnNhWFFpTENBaWNHRnljMlVpTENBaVJHRjBZV0pzYjJOclJHRjBZU0lzSUNKdFlYUmphQ0lzSUNKRGIyUmxZbXh2WTJ0RVlYUmhJaXdnSW14aGJtZDFZV2RsY3lJc0lDSkNZWE5sUW14dlkydEVZWFJoSWl3Z0lteHZiMnQxY0NJc0lDSmpiMjUwWlc1MFVtVm5aWGdpTENBaWJXRnlhMlZ5VW1WblpYZ2lMQ0FpYkdsemRFbDBaVzF6SWl3Z0lteHBjM1FpTENBaWJHbHVaU0lzSUNKemVXMWliMndpTENBaWRHVjRkQ0lzSUNKcGRHVnRJaXdnSWt4cGMzUkpkR1Z0UkdGMFlTSXNJQ0pzYVhOMFFteHZZMnNpTENBaWRHRm5aR1ZtSWl3Z0luUmhaeUlzSUNKeVlYZDBZV2NpTENBaVpYaDBjbUZqZEZSaFozTWlMQ0FpYkdsdWEyUmxaaUlzSUNKc2FXNXJJaXdnSWt4cGJtc2lMQ0FpWm1sbGJHUWlMQ0FpYVhSbGNtRjBaVWx1YkdsdVpVWnBaV3hrY3lJc0lDSmpiMjUwWlc1MElpd2dJbXhwYm1WdWJ5SXNJQ0pwYm14cGJtVkdhV1ZzWkhNaUxDQWlaWGgwY21GamRFbHViR2x1WlVacFpXeGtjeUlzSUNKcFptbGxiR1FpTENBaVlYTkpibXhwYm1WR2FXVnNaQ0lzSUNKbWRXeHNUR2x1WlNJc0lDSmxlSFJ5WVdOMFJuVnNiRXhwYm1WR2FXVnNaQ0lzSUNKeVpYTjFiSFFpTENBaWEyVjVJaXdnSW5aaGJIVmxJaXdnSWtwemIyNURiMjUyWlhKemFXOXVJaXdnSWxsaGJXeERiMjUyWlhKemFXOXVJaXdnSW5SeVpXVWlMQ0FpZEdGeVoyVjBJaXdnSW1zaUxDQWljM0JzYVhSR2NtOXVkRzFoZEhSbGNsUmhaMDl5UVd4cFlYTWlMQ0FpY0NJc0lDSmpJaXdnSW5OMGNpSXNJQ0prWVhSaElpd2dJbTl1SWl3Z0luTWlMQ0FpZGlJc0lDSnNiM2RsY2lJc0lDSnRZWEJQWW1wbFkzUldZV3gxWlhNaUxDQWlhbk52YmtsdWJHbHVaVVpwWld4a0lpd2dJbXhsYm1kMGFDSXNJQ0puWlhSRmVIUmxibk5wYjI0aUxDQWllQ0lzSUNKMGFYUnNaU0lzSUNKc1pYWmxiQ0lzSUNKdmNtUnBibUZzSWl3Z0ltSnNiMk5yU1dRaUxDQWljM1I1YkdVaUxDQWlZMjl1ZEdWdWRGTjBZWEowSWl3Z0ltTnZiblJsYm5SRmJtUWlMQ0FpZEhsd1pTSXNJQ0p3WVhKbGJuUk1hVzVsSWl3Z0luTjBZWFIxY3lJc0lDSmxiR1Z0Wlc1MElpd2dJbU5oYm5aaGMwbHRjRzl5ZENJc0lDSndZWFJvSWl3Z0luTnZkWEpqWlNJc0lDSnBibVJsZUNJc0lDSnpkR0YwY3lJc0lDSmZZU0lzSUNKallXNTJZWE1pTENBaVEyRnVkbUZ6UkdGMFlTSXNJQ0p3WVhKelpXUWlMQ0FpWXlJc0lDSm1jbTl1ZEcxaGRIUmxjaUlzSUNKdFpYUmhaR0YwWVNJc0lDSnNhVzVsY3lJc0lDSnpaV04wYVc5dWN5SXNJQ0p0WVhKclpHOTNibE52ZFhKalpVbHRjRzl5ZENJc0lDSmpZWEprSWl3Z0lrTmhiblpoYzBOaGNtUkVZWFJoSWl3Z0lta2lMQ0FpZEdGbklpd2dJbXhwYm1zaUxDQWlabWxsYkdRaUxDQWlhWFJsY21GMFpVbHViR2x1WlVacFpXeGtjeUlzSUNKQlluTjBjbUZqZEVOaGJuWmhjME5oY21SRVlYUmhJaXdnSW1sa0lpd2dJbTV2WkdWS2MyOXVJaXdnSWsxbGRHRmtZWFJoSWl3Z0lreHBibXNpTENBaWMyVmpkR2x2YmlJc0lDSmZYM053Y21WaFpGQnliM0J6SWl3Z0lsOWZjM0J5WldGa1ZtRnNkV1Z6SWl3Z0luZ2lMQ0FpWkNJc0lDSmxkbVZ1ZENJc0lDSnRaWE56WVdkbElpd2dJbTFoY210a2IzZHVJaXdnSW0xaGNtdGtiM2R1U1cxd2IzSjBJaXdnSW1OaGJuWmhjeUlzSUNKallXNTJZWE5KYlhCdmNuUWlMQ0FpWlhKeWIzSWlYUXA5Q2c9PVxcblwiKTtcbn1cbiIsICIvKiogQ29udHJvbHMgYW5kIGNyZWF0ZXMgRGF0YXZpZXcgZmlsZSBpbXBvcnRlcnMsIGFsbG93aW5nIGZvciBhc3luY2hyb25vdXMgbG9hZGluZyBhbmQgcGFyc2luZyBvZiBmaWxlcy4gKi9cblxuaW1wb3J0IEltcG9ydFdvcmtlciBmcm9tIFwiaW5kZXgvd2ViLXdvcmtlci9pbXBvcnRlci53b3JrZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgRmlsZU1hbmFnZXIsIE1ldGFkYXRhQ2FjaGUsIFRGaWxlLCBWYXVsdCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgQ2FudmFzSW1wb3J0LCBNYXJrZG93bkltcG9ydCB9IGZyb20gXCJpbmRleC93ZWItd29ya2VyL21lc3NhZ2VcIjtcbmltcG9ydCB7IERlZmVycmVkLCBkZWZlcnJlZCB9IGZyb20gXCJ1dGlscy9kZWZlcnJlZFwiO1xuXG5pbXBvcnQgeyBRdWV1ZSB9IGZyb20gXCJAZGF0YXN0cnVjdHVyZXMtanMvcXVldWVcIjtcblxuLyoqIFNldHRpbmdzIGZvciB0aHJvdHRsaW5nIGltcG9ydC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0VGhyb3R0bGUge1xuICAgIC8qKiBUaGUgbnVtYmVyIG9mIHdvcmtlcnMgdG8gdXNlIGZvciBpbXBvcnRzLiAqL1xuICAgIHdvcmtlcnM6IG51bWJlcjtcbiAgICAvKiogQSBudW1iZXIgYmV0d2VlbiAwLjEgYW5kIDEgd2hpY2ggaW5kaWNhdGVzIHRvdGFsIGNwdSB1dGlsaXphdGlvbiB0YXJnZXQ7IDAuMSBtZWFucyBzcGVuZCAxMCUgb2YgdGltZSAgKi9cbiAgICB1dGlsaXphdGlvbjogbnVtYmVyO1xufVxuXG4vKiogRGVmYXVsdCB0aHJvdHRsZSBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEhST1RUTEU6IEltcG9ydFRocm90dGxlID0ge1xuICAgIHdvcmtlcnM6IDIsXG4gICAgdXRpbGl6YXRpb246IDAuNzUsXG59O1xuXG4vKiogTXVsdGktdGhyZWFkZWQgZmlsZSBwYXJzZXIgd2hpY2ggZGVib3VuY2VzIHJhcGlkIGZpbGUgcmVxdWVzdHMgYXV0b21hdGljYWxseS4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlSW1wb3J0ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIC8qIEJhY2tncm91bmQgd29ya2VycyB3aGljaCBkbyB0aGUgYWN0dWFsIGZpbGUgcGFyc2luZy4gKi9cbiAgICB3b3JrZXJzOiBNYXA8bnVtYmVyLCBQb29sV29ya2VyPjtcbiAgICAvKiogVGhlIG5leHQgd29ya2VyIElEIHRvIGhhbmQgb3V0LiAqL1xuICAgIG5leHRXb3JrZXJJZDogbnVtYmVyO1xuICAgIC8qKiBJZiB0cnVlLCB0aGUgaW1wb3J0ZXIgaXMgbm93IGluYWN0aXZlIGFuZCB3aWxsIG5vdCBwcm9jZXNzIGZ1cnRoZXIgZmlsZXMuICovXG4gICAgc2h1dGRvd246IGJvb2xlYW47XG5cbiAgICAvKiogTGlzdCBvZiBmaWxlcyB3aGljaCBoYXZlIGJlZW4gcXVldWVkIGZvciBhIHJlbG9hZC4gKi9cbiAgICBxdWV1ZTogUXVldWU8W1RGaWxlLCBEZWZlcnJlZDxhbnk+XT47XG4gICAgLyoqIE91dHN0YW5kaW5nIGxvYWRzIGluZGV4ZWQgYnkgcGF0aC4gKi9cbiAgICBvdXRzdGFuZGluZzogTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PjtcbiAgICAvKiogVGhyb3R0bGUgc2V0dGluZ3MuICovXG4gICAgdGhyb3R0bGU6ICgpID0+IEltcG9ydFRocm90dGxlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdmF1bHQ6IFZhdWx0LFxuICAgICAgICBwdWJsaWMgZmlsZU1hbmFnZXI6IEZpbGVNYW5hZ2VyLFxuICAgICAgICBwdWJsaWMgbWV0YWRhdGFDYWNoZTogTWV0YWRhdGFDYWNoZSxcbiAgICAgICAgdGhyb3R0bGU/OiAoKSA9PiBJbXBvcnRUaHJvdHRsZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLndvcmtlcnMgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuc2h1dGRvd24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5uZXh0V29ya2VySWQgPSAwO1xuICAgICAgICB0aGlzLnRocm90dGxlID0gdGhyb3R0bGUgPz8gKCgpID0+IERFRkFVTFRfVEhST1RUTEUpO1xuXG4gICAgICAgIHRoaXMucXVldWUgPSBuZXcgUXVldWUoKTtcbiAgICAgICAgdGhpcy5vdXRzdGFuZGluZyA9IG5ldyBNYXAoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBRdWV1ZSB0aGUgZ2l2ZW4gZmlsZSBmb3IgaW1wb3J0aW5nLiBNdWx0aXBsZSBpbXBvcnQgcmVxdWVzdHMgZm9yIHRoZSBzYW1lIGZpbGUgaW4gYSBzaG9ydCB0aW1lIHBlcmlvZCB3aWxsIGJlIGRlLWJvdW5jZWRcbiAgICAgKiBhbmQgYWxsIGJlIHJlc29sdmVkIGJ5IGEgc2luZ2xlIGFjdHVhbCBmaWxlIHJlbG9hZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaW1wb3J0PFQ+KGZpbGU6IFRGaWxlKTogUHJvbWlzZTxUPiB7XG4gICAgICAgIC8vIERlLWJvdW5jZSByZXBlYXRlZCByZXF1ZXN0cyBmb3IgdGhlIHNhbWUgZmlsZS5cbiAgICAgICAgbGV0IGV4aXN0aW5nID0gdGhpcy5vdXRzdGFuZGluZy5nZXQoZmlsZS5wYXRoKTtcbiAgICAgICAgaWYgKGV4aXN0aW5nKSByZXR1cm4gZXhpc3Rpbmc7XG5cbiAgICAgICAgbGV0IHByb21pc2UgPSBkZWZlcnJlZDxUPigpO1xuXG4gICAgICAgIHRoaXMub3V0c3RhbmRpbmcuc2V0KGZpbGUucGF0aCwgcHJvbWlzZSk7XG4gICAgICAgIHRoaXMucXVldWUuZW5xdWV1ZShbZmlsZSwgcHJvbWlzZV0pO1xuICAgICAgICB0aGlzLnNjaGVkdWxlKCk7XG4gICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH1cblxuICAgIC8qKiBSZXNldCBhbnkgYWN0aXZlIHRocm90dGxlcyBvbiB0aGUgaW1wb3J0ZXIgKHN1Y2ggYXMgaWYgdGhlIHV0aWxpemF0aW9uIGNoYW5nZXMpLiAqL1xuICAgIHB1YmxpYyB1bnRocm90dGxlKCkge1xuICAgICAgICBmb3IgKGxldCB3b3JrZXIgb2YgdGhpcy53b3JrZXJzLnZhbHVlcygpKSB7XG4gICAgICAgICAgICB3b3JrZXIuYXZhaWxhYmxlQXQgPSBEYXRlLm5vdygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFBvbGwgZnJvbSB0aGUgcXVldWUgYW5kIGV4ZWN1dGUgaWYgdGhlcmUgaXMgYW4gYXZhaWxhYmxlIHdvcmtlci4gKi9cbiAgICBwcml2YXRlIGFzeW5jIHNjaGVkdWxlKCkge1xuICAgICAgICBpZiAodGhpcy5xdWV1ZS5zaXplKCkgPT0gMCB8fCB0aGlzLnNodXRkb3duKSByZXR1cm47XG5cbiAgICAgICAgY29uc3Qgd29ya2VyID0gdGhpcy5hdmFpbGFibGVXb3JrZXIoKTtcbiAgICAgICAgaWYgKCF3b3JrZXIpIHJldHVybjtcblxuICAgICAgICBjb25zdCBbZmlsZSwgcHJvbWlzZV0gPSB0aGlzLnF1ZXVlLmRlcXVldWUoKSE7XG4gICAgICAgIHdvcmtlci5hY3RpdmUgPSBbZmlsZSwgcHJvbWlzZSwgRGF0ZS5ub3coKV07XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN3aXRjaCAoZmlsZS5leHRlbnNpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwibWFya2Rvd25cIjpcbiAgICAgICAgICAgICAgICBjYXNlIFwibWRcIjoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50cyA9IGF3YWl0IHRoaXMudmF1bHQuY2FjaGVkUmVhZChmaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgd29ya2VyIS53b3JrZXIucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJtYXJrZG93blwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogZmlsZS5wYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IGNvbnRlbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdDogZmlsZS5zdGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IHRoaXMubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUoZmlsZSksXG4gICAgICAgICAgICAgICAgICAgIH0gYXMgTWFya2Rvd25JbXBvcnQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBcImNhbnZhc1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRzID0gYXdhaXQgdGhpcy52YXVsdC5jYWNoZWRSZWFkKGZpbGUpO1xuICAgICAgICAgICAgICAgICAgICB3b3JrZXIhLndvcmtlci5wb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImNhbnZhc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogZmlsZS5wYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudHM6IGNvbnRlbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdDogZmlsZS5zdGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuZmlsZU1hbmFnZXIubGlua1VwZGF0ZXJzLmNhbnZhcy5jYW52YXMuaW5kZXguaW5kZXhbZmlsZS5wYXRoXSxcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBDYW52YXNJbXBvcnQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkRhdGFjb3JlOiBCYWNrZ3JvdW5kIGZpbGUgcmVsb2FkaW5nIGZhaWxlZC4gXCIgKyBleCk7XG5cbiAgICAgICAgICAgIC8vIE1lc3NhZ2UgZmFpbGVkLCByZWxlYXNlIHRoaXMgd29ya2VyLlxuICAgICAgICAgICAgd29ya2VyLmFjdGl2ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBGaW5pc2ggdGhlIHBhcnNpbmcgb2YgYSBmaWxlLCBwb3RlbnRpYWxseSBxdWV1ZWluZyBhIG5ldyBmaWxlLiAqL1xuICAgIHByaXZhdGUgZmluaXNoKHdvcmtlcjogUG9vbFdvcmtlciwgZGF0YTogYW55KSB7XG4gICAgICAgIGlmICghd29ya2VyLmFjdGl2ZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJEYXRhY29yZTogUmVjZWl2ZWQgYSBzdGFsZSB3b3JrZXIgbWVzc2FnZS4gSWdub3JpbmcuXCIsIGRhdGEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2ZpbGUsIHByb21pc2UsIHN0YXJ0XSA9IHdvcmtlci5hY3RpdmUhO1xuXG4gICAgICAgIC8vIFJlc29sdmUgcHJvbWlzZXMgdG8gbGV0IHVzZXJzIGtub3cgdGhpcyBmaWxlIGhhcyBmaW5pc2hlZC5cbiAgICAgICAgaWYgKFwiJGVycm9yXCIgaW4gZGF0YSkgcHJvbWlzZS5yZWplY3QoZGF0YVtcIiRlcnJvclwiXSk7XG4gICAgICAgIGVsc2UgcHJvbWlzZS5yZXNvbHZlKGRhdGEpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBmaWxlIGZyb20gb3V0c3RhbmRpbmcuXG4gICAgICAgIHRoaXMub3V0c3RhbmRpbmcuZGVsZXRlKGZpbGUucGF0aCk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIHRoaXMgd29ya2VyIGlmIHdlIGFyZSBvdmVyIGNhcGFjaXR5LlxuICAgICAgICAvLyBPdGhlcndpc2UsIG5vdGlmeSB0aGUgcXVldWUgdGhpcyBmaWxlIGlzIGF2YWlsYWJsZSBmb3IgbmV3IHdvcmsuXG4gICAgICAgIGlmICh0aGlzLndvcmtlcnMuc2l6ZSA+IHRoaXMudGhyb3R0bGUoKS53b3JrZXJzKSB7XG4gICAgICAgICAgICB0aGlzLndvcmtlcnMuZGVsZXRlKHdvcmtlci5pZCk7XG4gICAgICAgICAgICB0ZXJtaW5hdGUod29ya2VyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICAgICAgICBjb25zdCB0aHJvdHRsZSA9IE1hdGgubWF4KDAuMSwgdGhpcy50aHJvdHRsZSgpLnV0aWxpemF0aW9uKSAtIDEuMDtcbiAgICAgICAgICAgIGNvbnN0IGRlbGF5ID0gKG5vdyAtIHN0YXJ0KSAqIHRocm90dGxlO1xuXG4gICAgICAgICAgICB3b3JrZXIuYWN0aXZlID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBpZiAoZGVsYXkgPD0gMWUtMTApIHtcbiAgICAgICAgICAgICAgICB3b3JrZXIuYXZhaWxhYmxlQXQgPSBub3c7XG4gICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB3b3JrZXIuYXZhaWxhYmxlQXQgPSBub3cgKyBkZWxheTtcblxuICAgICAgICAgICAgICAgIC8vIE5vdGU6IEknbSBwcmV0dHkgc3VyZSB0aGlzIHdpbGwgZ2FyYXVudGVlIHRoYXQgdGhpcyBleGVjdXRlcyBBRlRFUiBkZWxheSBtaWxsaXNlY29uZHMsXG4gICAgICAgICAgICAgICAgLy8gc28gdGhpcyBzaG91bGQgYmUgZmluZTsgaWYgaXQncyBub3QsIHdlJ2xsIGhhdmUgdG8gc3dhcCB0byBhbiBleHRlcm5hbCB0aW1lb3V0IGxvb3BcbiAgICAgICAgICAgICAgICAvLyB3aGljaCBpbmZpbml0ZWx5IHJlc2NoZWR1bGVzIGl0c2VsZiB0byB0aGUgbmV4dCBhdmFpbGFibGUgZXhlY3V0aW9uIHRpbWUuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCh0aGlzLnNjaGVkdWxlLmJpbmQodGhpcyksIGRlbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBPYnRhaW4gYW4gYXZhaWxhYmxlIHdvcmtlciwgcmV0dXJuaW5nIHVuZGVmaW5lZCBpZiBvbmUgZG9lcyBub3QgZXhpc3QuICovXG4gICAgcHJpdmF0ZSBhdmFpbGFibGVXb3JrZXIoKTogUG9vbFdvcmtlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICAgIGZvciAobGV0IHdvcmtlciBvZiB0aGlzLndvcmtlcnMudmFsdWVzKCkpIHtcbiAgICAgICAgICAgIGlmICghd29ya2VyLmFjdGl2ZSAmJiB3b3JrZXIuYXZhaWxhYmxlQXQgPD0gbm93KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgYSBuZXcgd29ya2VyIGlmIHdlIGNhbi5cbiAgICAgICAgaWYgKHRoaXMud29ya2Vycy5zaXplIDwgdGhpcy50aHJvdHRsZSgpLndvcmtlcnMpIHtcbiAgICAgICAgICAgIGxldCB3b3JrZXIgPSB0aGlzLm5ld1dvcmtlcigpO1xuICAgICAgICAgICAgdGhpcy53b3JrZXJzLnNldCh3b3JrZXIuaWQsIHdvcmtlcik7XG4gICAgICAgICAgICByZXR1cm4gd29ya2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbmV3IHdvcmtlciBib3VuZCB0byB0aGlzIGltcG9ydGVyLiAqL1xuICAgIHByaXZhdGUgbmV3V29ya2VyKCk6IFBvb2xXb3JrZXIge1xuICAgICAgICBsZXQgd29ya2VyOiBQb29sV29ya2VyID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMubmV4dFdvcmtlcklkKyssXG4gICAgICAgICAgICBhdmFpbGFibGVBdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgIHdvcmtlcjogbmV3IEltcG9ydFdvcmtlcigpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHdvcmtlci53b3JrZXIub25tZXNzYWdlID0gKGV2dCkgPT4gdGhpcy5maW5pc2god29ya2VyLCBldnQuZGF0YSk7XG4gICAgICAgIHJldHVybiB3b3JrZXI7XG4gICAgfVxuXG4gICAgLyoqIFJlamVjdCBhbGwgb3V0c3RhbmRpbmcgcHJvbWlzZXMgYW5kIGNsb3NlIGFsbCB3b3JrZXJzIG9uIGNsb3NlLiAqL1xuICAgIHB1YmxpYyBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgd29ya2VyIG9mIHRoaXMud29ya2Vycy52YWx1ZXMoKSkge1xuICAgICAgICAgICAgdGVybWluYXRlKHdvcmtlcik7XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAoIXRoaXMucXVldWUuaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICBjb25zdCBbX2ZpbGUsIHByb21pc2VdID0gdGhpcy5xdWV1ZS5wb3AoKSE7XG4gICAgICAgICAgICBwcm9taXNlLnJlamVjdChcIlRlcm1pbmF0ZWRcIik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNodXRkb3duID0gdHJ1ZTtcbiAgICB9XG59XG5cbi8qKiBBIHdvcmtlciBpbiB0aGUgcG9vbCBvZiBleGVjdXRpbmcgd29ya2Vycy4gKi9cbmludGVyZmFjZSBQb29sV29ya2VyIHtcbiAgICAvKiogVGhlIGlkIG9mIHRoaXMgd29ya2VyLiAqL1xuICAgIGlkOiBudW1iZXI7XG4gICAgLyoqIFRoZSByYXcgdW5kZXJseWluZyB3b3JrZXIuICovXG4gICAgd29ya2VyOiBXb3JrZXI7XG4gICAgLyoqIFVOSVggdGltZSBpbmRpY2F0aW5nIHRoZSBuZXh0IHRpbWUgdGhpcyB3b3JrZXIgaXMgYXZhaWxhYmxlIGZvciBleGVjdXRpb24gYWNjb3JkaW5nIHRvIHRhcmdldCB1dGlsaXphdGlvbi4gKi9cbiAgICBhdmFpbGFibGVBdDogbnVtYmVyO1xuICAgIC8qKiBUaGUgYWN0aXZlIHByb21pc2UgdGhpcyB3b3JrZXIgaXMgd29ya2luZyBvbiwgaWYgYW55LiAqL1xuICAgIGFjdGl2ZT86IFtURmlsZSwgRGVmZXJyZWQ8YW55PiwgbnVtYmVyXTtcbn1cblxuLyoqIFRlcm1pbmF0ZSBhIHBvb2wgd29ya2VyLiAqL1xuZnVuY3Rpb24gdGVybWluYXRlKHdvcmtlcjogUG9vbFdvcmtlcikge1xuICAgIHdvcmtlci53b3JrZXIudGVybWluYXRlKCk7XG5cbiAgICBpZiAod29ya2VyLmFjdGl2ZSkgd29ya2VyLmFjdGl2ZVsxXS5yZWplY3QoXCJUZXJtaW5hdGVkXCIpO1xuICAgIHdvcmtlci5hY3RpdmUgPSB1bmRlZmluZWQ7XG59XG4iLCAiaW1wb3J0IHsgZGVmZXJyZWQsIERlZmVycmVkIH0gZnJvbSBcInV0aWxzL2RlZmVycmVkXCI7XG5pbXBvcnQgeyBEYXRhc3RvcmUsIFN1YnN0b3JlciB9IGZyb20gXCJpbmRleC9kYXRhc3RvcmVcIjtcbmltcG9ydCB7IExvY2FsU3RvcmFnZUNhY2hlIH0gZnJvbSBcImluZGV4L3BlcnNpc3RlclwiO1xuaW1wb3J0IHsgSW5kZXhhYmxlLCBJTkRFWEFCTEVfRVhURU5TSU9OUyB9IGZyb20gXCJpbmRleC90eXBlcy9pbmRleGFibGVcIjtcbmltcG9ydCB7IEZpbGVJbXBvcnRlciwgSW1wb3J0VGhyb3R0bGUgfSBmcm9tIFwiaW5kZXgvd2ViLXdvcmtlci9pbXBvcnRlclwiO1xuaW1wb3J0IHsgSW1wb3J0UmVzdWx0IH0gZnJvbSBcImluZGV4L3dlYi13b3JrZXIvbWVzc2FnZVwiO1xuaW1wb3J0IHsgQXBwLCBDb21wb25lbnQsIEV2ZW50UmVmLCBFdmVudHMsIE1ldGFkYXRhQ2FjaGUsIFRBYnN0cmFjdEZpbGUsIFRGaWxlLCBWYXVsdCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tIFwic2V0dGluZ3NcIjtcbmltcG9ydCB7IE1hcmtkb3duTGlzdEJsb2NrLCBNYXJrZG93bkxpc3RJdGVtLCBNYXJrZG93blBhZ2UgfSBmcm9tIFwiLi90eXBlcy9tYXJrZG93blwiO1xuaW1wb3J0IHsgR2VuZXJpY0ZpbGUgfSBmcm9tIFwiLi90eXBlcy9maWxlc1wiO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IEVtYmVkUXVldWUgfSBmcm9tIFwiLi9lbWJlZC1xdWV1ZVwiO1xuaW1wb3J0IHsgSnNvbk1hcmtkb3duUGFnZSB9IGZyb20gXCIuL3R5cGVzL2pzb24vbWFya2Rvd25cIjtcbmltcG9ydCB7IENhbnZhcywgQ2FudmFzVGV4dENhcmQgfSBmcm9tIFwiLi90eXBlcy9jYW52YXNcIjtcblxuLyoqIENlbnRyYWwgQVBJIG9iamVjdDsgaGFuZGxlcyBpbml0aWFsaXphdGlvbiwgZXZlbnRzLCBkZWJvdW5jaW5nLCBhbmQgYWNjZXNzIHRvIGRhdGFjb3JlIGZ1bmN0aW9uYWxpdHkuICovXG5leHBvcnQgY2xhc3MgRGF0YWNvcmUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIC8qKiBBY2Nlc3MgdG8gdGhlIG9ic2lkaWFuIHZhdWx0LiAqL1xuICAgIHZhdWx0OiBWYXVsdDtcbiAgICAvKiogUHJvdmlkZXMgYWNjZXNzIHRvIHBlci0obWFya2Rvd24pLWZpbGUgbWV0YWRhdGEuICovXG4gICAgbWV0YWRhdGFDYWNoZTogTWV0YWRhdGFDYWNoZTtcbiAgICAvKiogRGF0YWNvcmUgZXZlbnRzLCBtYWlubHkgdXNlZCB0byB1cGRhdGUgZG93bnN0cmVhbSB2aWV3cy4gVGhpcyBvYmplY3QgaXMgc2hhZG93ZWQgYnkgdGhlIERhdGFjb3JlIG9iamVjdCBpdHNlbGYuICovXG4gICAgZXZlbnRzOiBFdmVudHM7XG5cbiAgICAvKiogSW4tbWVtb3J5IGluZGV4IG92ZXIgYWxsIHN0b3JlZCBtZXRhZGF0YS4gKi9cbiAgICBkYXRhc3RvcmU6IERhdGFzdG9yZTtcbiAgICAvKiogQXN5bmNocm9ub3VzIG11bHRpLXRocmVhZGVkIGZpbGUgaW1wb3J0ZXIgd2l0aCB0aHJvdHRsaW5nLiAqL1xuICAgIGltcG9ydGVyOiBGaWxlSW1wb3J0ZXI7XG4gICAgLyoqIFF1ZXVlIG9mIGFzeW5jaHJvbm91cyByZWFkIHJlcXVlc3RzOyBlbnN1cmVzIHdlIGxpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IGZpbGUgbG9hZHMuICovXG4gICAgcmVhZHM6IEVtYmVkUXVldWU7XG4gICAgLyoqIExvY2FsLXN0b3JhZ2UgYmFja2VkIGNhY2hlIG9mIG1ldGFkYXRhIG9iamVjdHMuICovXG4gICAgcGVyc2lzdGVyOiBMb2NhbFN0b3JhZ2VDYWNoZTtcbiAgICAvKiogT25seSBzZXQgd2hlbiBkYXRhY29yZSBpcyBpbiB0aGUgbWlkc3Qgb2YgaW5pdGlhbGl6YXRpb247IHRyYWNrcyBjdXJyZW50IHByb2dyZXNzLiAqL1xuICAgIGluaXRpYWxpemVyPzogRGF0YWNvcmVJbml0aWFsaXplcjtcbiAgICAvKiogSWYgdHJ1ZSwgZGF0YWNvcmUgaXMgZnVsbHkgaHlkcmF0ZWQgYW5kIGFsbCBmaWxlcyBoYXZlIGJlZW4gaW5kZXhlZC4gKi9cbiAgICBpbml0aWFsaXplZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBhcHA6IEFwcCwgcHVibGljIHZlcnNpb246IHN0cmluZywgcHVibGljIHNldHRpbmdzOiBTZXR0aW5ncykge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMudmF1bHQgPSBhcHAudmF1bHQ7XG4gICAgICAgIHRoaXMubWV0YWRhdGFDYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlO1xuICAgICAgICB0aGlzLnBlcnNpc3RlciA9IG5ldyBMb2NhbFN0b3JhZ2VDYWNoZShcInByaW1hcnlcIiwgdmVyc2lvbik7XG4gICAgICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50cygpO1xuXG4gICAgICAgIHRoaXMuZGF0YXN0b3JlID0gbmV3IERhdGFzdG9yZShhcHAudmF1bHQsIGFwcC5tZXRhZGF0YUNhY2hlLCBzZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmFkZENoaWxkKFxuICAgICAgICAgICAgKHRoaXMuaW1wb3J0ZXIgPSBuZXcgRmlsZUltcG9ydGVyKGFwcC52YXVsdCwgYXBwLmZpbGVNYW5hZ2VyLCBhcHAubWV0YWRhdGFDYWNoZSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHdvcmtlcnM6IHNldHRpbmdzLmltcG9ydGVyTnVtVGhyZWFkcyxcbiAgICAgICAgICAgICAgICAgICAgdXRpbGl6YXRpb246IE1hdGgubWF4KDAuMSwgTWF0aC5taW4oMS4wLCBzZXR0aW5ncy5pbXBvcnRlclV0aWxpemF0aW9uKSksXG4gICAgICAgICAgICAgICAgfSBhcyBJbXBvcnRUaHJvdHRsZTtcbiAgICAgICAgICAgIH0pKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFRPRE8gKGJsYWNrc21pdGhndSk6IEFkZCBhIG5ldyBzZXR0aW5nIGZvciBlbWJlZCBxdWV1ZSBjb25jdXJyZW5jeS5cbiAgICAgICAgdGhpcy5hZGRDaGlsZCgodGhpcy5yZWFkcyA9IG5ldyBFbWJlZFF1ZXVlKGFwcC52YXVsdCwgKCkgPT4gOCkpKTtcbiAgICB9XG5cbiAgICAvKiogT2J0YWluIHRoZSBjdXJyZW50IGluZGV4IHJldmlzaW9uLCBmb3IgZGV0ZXJtaW5pbmcgaWYgYW55dGhpbmcgaGFzIGNoYW5nZWQuICovXG4gICAgZ2V0IHJldmlzaW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmUucmV2aXNpb247XG4gICAgfVxuXG4gICAgLyoqIEluaXRpYWxpemUgZGF0YWNvcmUgYnkgc2Nhbm5pbmcgcGVyc2lzdGVkIGNhY2hlcyBhbmQgYWxsIGF2YWlsYWJsZSBmaWxlcywgYW5kIHF1ZXVlaW5nIHBhcnNlcyBhcyBuZWVkZWQuICovXG4gICAgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgLy8gTWV0YWRhdGEgY2FjaGUgaGFuZGxlcyBtYXJrZG93biBmaWxlIHVwZGF0ZXMuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLm1ldGFkYXRhQ2FjaGUub24oXCJyZXNvbHZlXCIsIChmaWxlKSA9PiB0aGlzLnJlbG9hZChmaWxlKSkpO1xuXG4gICAgICAgIC8vIFJlbmFtZXMgZG8gbm90IHNldCBvZmYgdGhlIG1ldGFkYXRhIGNhY2hlOyBjYXRjaCB0aGVzZSBleHBsaWNpdGx5LlxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnQodGhpcy52YXVsdC5vbihcInJlbmFtZVwiLCB0aGlzLnJlbmFtZSwgdGhpcykpO1xuXG4gICAgICAgIC8vIEhhbmRsZSBnZW5lcmljIGZpbGUgY3JlYXRlcyBhbmQgdXBkYXRlczsgcmVzb2x2ZSBnZW5lcmFsbHkgb25seSBhcHBsaWVzIHRvIG1hcmtkb3duIGZpbGVzXG4gICAgICAgIC8vIGJ1dCB3ZSBkbyBrZWVwIGJhc2ljIG1ldGFkYXRhIGFib3V0IGFsbCBmaWxlcy5cbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50KFxuICAgICAgICAgICAgdGhpcy52YXVsdC5vbihcImNyZWF0ZVwiLCAoZmlsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghKGZpbGUgaW5zdGFuY2VvZiBURmlsZSkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIC8vIEhhbmRsZWQgYnkgdGhlIG1ldGFkYXRhIGNhY2hlLlxuICAgICAgICAgICAgICAgIGlmIChJTkRFWEFCTEVfRVhURU5TSU9OUy5oYXMoZmlsZS5leHRlbnNpb24udG9Mb3dlckNhc2UoKSkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVsb2FkKGZpbGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoXG4gICAgICAgICAgICB0aGlzLnZhdWx0Lm9uKFwibW9kaWZ5XCIsIChmaWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCEoZmlsZSBpbnN0YW5jZW9mIFRGaWxlKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlZCBieSB0aGUgbWV0YWRhdGEgY2FjaGUuXG4gICAgICAgICAgICAgICAgaWYgKElOREVYQUJMRV9FWFRFTlNJT05TLmhhcyhmaWxlLmV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZWxvYWQoZmlsZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEZpbGUgY3JlYXRpb24gZG9lcyBjYXVzZSBhIG1ldGFkYXRhIGNoYW5nZSwgYnV0IGRlbGV0ZXMgZG8gbm90LiBDbGVhciB0aGUgY2FjaGVzIGZvciB0aGlzLlxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoXG4gICAgICAgICAgICB0aGlzLnZhdWx0Lm9uKFwiZGVsZXRlXCIsIChmaWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBURmlsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFzdG9yZS5kZWxldGUoZmlsZS5wYXRoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaW5kZXgoKTtcbiAgICB9XG5cbiAgICAvKiogU3RhcnRzIHRoZSBiYWNrZ3JvdW5kIGluaXRpYWxpemVyLiAqL1xuICAgIGluZGV4KCkge1xuICAgICAgICAvLyBBc3luY2hyb25vdXNseSBpbml0aWFsaXplIGFjdHVhbCBjb250ZW50IGluIHRoZSBiYWNrZ3JvdW5kIHVzaW5nIGEgbGlmZWN5Y2xlLXJlc3BlY3Rpbmcgb2JqZWN0LlxuICAgICAgICBjb25zdCBpbml0ID0gKHRoaXMuaW5pdGlhbGl6ZXIgPSBuZXcgRGF0YWNvcmVJbml0aWFsaXplcih0aGlzKSk7XG4gICAgICAgIGluaXQuZmluaXNoZWQoKS50aGVuKChzdGF0cykgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVyID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZChpbml0KTtcblxuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25TZWNzID0gKHN0YXRzLmR1cmF0aW9uTXMgLyAxMDAwLjApLnRvRml4ZWQoMyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICBgRGF0YWNvcmU6IEltcG9ydGVkIGFsbCBmaWxlcyBpbiB0aGUgdmF1bHQgaW4gJHtkdXJhdGlvblNlY3N9cyBgICtcbiAgICAgICAgICAgICAgICAgICAgYCgke3N0YXRzLmltcG9ydGVkfSBpbXBvcnRlZCwgJHtzdGF0cy5jYWNoZWR9IGNhY2hlZCwgJHtzdGF0cy5za2lwcGVkfSBza2lwcGVkKS5gXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLmRhdGFzdG9yZS50b3VjaCgpO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyKFwidXBkYXRlXCIsIHRoaXMucmV2aXNpb24pO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyKFwiaW5pdGlhbGl6ZWRcIik7XG5cbiAgICAgICAgICAgIC8vIENsZWFuIHVwIGFueSBkb2N1bWVudHMgd2hpY2ggbm8gbG9uZ2VyIGV4aXN0IGluIHRoZSB2YXVsdC5cbiAgICAgICAgICAgIC8vIFRPRE86IEkgdGhpbmsgdGhpcyBtYXkgcmFjZSB3aXRoIG90aGVyIGNvbmN1cnJlbnQgb3BlcmF0aW9ucywgc29cbiAgICAgICAgICAgIC8vIHRoaXMgbWF5IG5lZWQgdG8gaGFwcGVuIGF0IHRoZSBzdGFydCBvZiBpbml0IGFuZCBub3QgYXQgdGhlIGVuZC5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGaWxlcyA9IHRoaXMudmF1bHQuZ2V0RmlsZXMoKS5tYXAoKGZpbGUpID0+IGZpbGUucGF0aCk7XG4gICAgICAgICAgICB0aGlzLnBlcnNpc3RlclxuICAgICAgICAgICAgICAgIC5zeW5jaHJvbml6ZShjdXJyZW50RmlsZXMpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGNsZWFyZWQpID0+IGNvbnNvbGUubG9nKGBEYXRhY29yZTogZHJvcHBlZCAke2NsZWFyZWQuc2l6ZX0gb3V0LW9mLWRhdGUgZmlsZSBtZXRhZGF0YSBibG9ja3MuYCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkZENoaWxkKGluaXQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVuYW1lKGZpbGU6IFRBYnN0cmFjdEZpbGUsIG9sZFBhdGg6IHN0cmluZykge1xuICAgICAgICBpZiAoIShmaWxlIGluc3RhbmNlb2YgVEZpbGUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZWxldGUgdGhlIGZpbGUgYXQgdGhlIG9sZCBwYXRoLCB0aGVuIHJlcXVlc3QgYSByZWxvYWQgYXQgdGhlIG5ldyBwYXRoLlxuICAgICAgICAvLyBUaGlzIGlzIGxlc3Mgb3B0aW1hbCB0aGFuIHdoYXQgY2FuIHByb2JhYmx5IGJlIGRvbmUsIGJ1dCBwYXRocyBhcmUgdXNlZCBpbiBhIGJ1bmNoIG9mIHBsYWNlc1xuICAgICAgICAvLyAoZm9yIHNlY3Rpb25zLCB0YXNrcywgZXRjIHRvIHJlZmVyIHRvIHRoZWlyIHBhcmVudCBmaWxlKSBhbmQgaXQgcmVxdWlyZXMgc29tZSBmaW5lc3NlIHRvIGZpeC5cbiAgICAgICAgdGhpcy5kYXRhc3RvcmUuZGVsZXRlKG9sZFBhdGgpO1xuICAgICAgICB0aGlzLnJlbG9hZChmaWxlKTtcblxuICAgICAgICAvLyBUT0RPOiBGb3IgY29ycmVjdG5lc3MsIHByb2JhYmx5IGhhdmUgdG8gZWl0aGVyIGZpeCBsaW5rcyBpbiBhbGwgbGlua2VkIGZpbGVzIE9SXG4gICAgICAgIC8vIGp1c3Qgc3RvcCBub3JtYWxpemluZyBsaW5rcyBpbiB0aGUgc3RvcmUuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVhZCBhIGZpbGUgZnJvbSB0aGUgT2JzaWRpYW4gY2FjaGUgZWZmaWNpZW50bHksIGxpbWl0aW5nIHRoZSBudW1iZXIgb2YgY29uY3VycmVudCByZXF1ZXN0IGFuZCBkZWJvdW5jaW5nXG4gICAgICogbXVsdGlwbGUgcmVxdWVzdHMgZm9yIHRoZSBzYW1lIGZpbGUuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHJlYWQoZmlsZTogVEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWFkcy5yZWFkKGZpbGUpO1xuICAgIH1cblxuICAgIC8qKiBRdWV1ZSBhIGZpbGUgZm9yIHJlbG9hZGluZzsgdGhpcyBpcyBkb25lIGFzeW5jaHJvbm91c2x5IGluIHRoZSBiYWNrZ3JvdW5kIGFuZCBtYXkgdGFrZSBhIGZldyBzZWNvbmRzLiAqL1xuICAgIHB1YmxpYyBhc3luYyByZWxvYWQoZmlsZTogVEZpbGUpOiBQcm9taXNlPEluZGV4YWJsZT4ge1xuICAgICAgICAvLyBGaWx0ZXIgZmlsZXMgYnkgZmlsZSBleHRlbnNpb25zLlxuICAgICAgICBpZiAoIUlOREVYQUJMRV9FWFRFTlNJT05TLmhhcyhmaWxlLmV4dGVuc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBHZW5lcmljRmlsZShcbiAgICAgICAgICAgICAgICBmaWxlLnBhdGgsXG4gICAgICAgICAgICAgICAgRGF0ZVRpbWUuZnJvbU1pbGxpcyhmaWxlLnN0YXQuY3RpbWUpLFxuICAgICAgICAgICAgICAgIERhdGVUaW1lLmZyb21NaWxsaXMoZmlsZS5zdGF0Lm10aW1lKSxcbiAgICAgICAgICAgICAgICBmaWxlLnN0YXQuc2l6ZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgdGhpcy5kYXRhc3RvcmUuc3RvcmUocmVzdWx0KTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmltcG9ydGVyLmltcG9ydDxJbXBvcnRSZXN1bHQ+KGZpbGUpO1xuXG4gICAgICAgIGlmIChyZXN1bHQudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBpbXBvcnQgZmlsZSAnJHtmaWxlLm5hbWV9OiAke3Jlc3VsdC4kZXJyb3J9YCk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LnR5cGUgPT09IFwibWFya2Rvd25cIikge1xuICAgICAgICAgICAgLy8gUGFyc2UgdGhlIGZpbGUgYW5kIG5vcm1hbGl6ZSBtZXRhZGF0YSBmcm9tIGl0LlxuICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gTWFya2Rvd25QYWdlLmZyb20ocmVzdWx0LnJlc3VsdCwgKGxpbmspID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBycGF0aCA9IHRoaXMubWV0YWRhdGFDYWNoZS5nZXRGaXJzdExpbmtwYXRoRGVzdChsaW5rLnBhdGgsIHJlc3VsdC5yZXN1bHQuJHBhdGghKTtcbiAgICAgICAgICAgICAgICBpZiAocnBhdGgpIHJldHVybiBsaW5rLndpdGhQYXRoKHJwYXRoLnBhdGgpO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIGxpbms7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gU3RvcmUgaXQgcmVjdXJzaXZlbHkgaW50byB0aGUgZGF0YXN0b3JlIGZvciBxdWVyeWluZy5cbiAgICAgICAgICAgIHRoaXMuc3RvcmVNYXJrZG93bihwYXJzZWQpO1xuXG4gICAgICAgICAgICAvLyBXcml0ZSBpdCB0byB0aGUgZmlsZSBjYWNoZSBmb3IgZmFzdGVyIGxvYWRzIGluIHRoZSBmdXR1cmUuXG4gICAgICAgICAgICB0aGlzLnBlcnNpc3Rlci5zdG9yZUZpbGUocGFyc2VkLiRwYXRoLCBwYXJzZWQuanNvbigpKTtcblxuICAgICAgICAgICAgLy8gQW5kIGZpbmFsbHkgdHJpZ2dlciBhbiB1cGRhdGUuXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIoXCJ1cGRhdGVcIiwgdGhpcy5yZXZpc2lvbik7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC50eXBlID09PSBcImNhbnZhc1wiKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBDYW52YXMuZnJvbShyZXN1bHQucmVzdWx0LCAobGluaykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJwYXRoID0gdGhpcy5tZXRhZGF0YUNhY2hlLmdldEZpcnN0TGlua3BhdGhEZXN0KGxpbmsucGF0aCwgcmVzdWx0LnJlc3VsdC4kcGF0aCEpO1xuICAgICAgICAgICAgICAgIGlmIChycGF0aCkgcmV0dXJuIGxpbmsud2l0aFBhdGgocnBhdGgucGF0aCk7XG4gICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gbGluaztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdG9yZUNhbnZhcyhwYXJzZWQpO1xuICAgICAgICAgICAgdGhpcy5wZXJzaXN0ZXIuc3RvcmVGaWxlKHBhcnNlZC4kcGF0aCwgcGFyc2VkLmpzb24oKSk7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIoXCJ1cGRhdGVcIiwgdGhpcy5yZXZpc2lvbik7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5jb3VudGVyZWQgdW5yZWNvZ25pemVkIGltcG9ydCByZXN1bHQgdHlwZTogXCIgKyAocmVzdWx0IGFzIGFueSkudHlwZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3JlQ2FudmFzKGRhdGE6IENhbnZhcykge1xuICAgICAgICB0aGlzLmRhdGFzdG9yZS5zdG9yZShkYXRhLCAob2JqZWN0LCBzdG9yZSkgPT4ge1xuICAgICAgICAgICAgc3RvcmUob2JqZWN0LiRjYXJkcywgKGNhcmQsIHN0b3JlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNhcmQgaW5zdGFuY2VvZiBDYW52YXNUZXh0Q2FyZCkge1xuICAgICAgICAgICAgICAgICAgICBzdG9yZShjYXJkLiRzZWN0aW9ucywgKHNlY3Rpb24sIHN0b3JlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yZShzZWN0aW9uLiRibG9ja3MsIChibG9jaywgc3RvcmUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2sgaW5zdGFuY2VvZiBNYXJrZG93bkxpc3RCbG9jaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWN1cnNpdmUgc3RvcmUgZnVuY3Rpb24gZm9yIHN0b3JpbmcgbGlzdCBoZWlyYXJjaGllcy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RvcmVSZWM6IFN1YnN0b3JlcjxNYXJrZG93bkxpc3RJdGVtPiA9IChpdGVtLCBzdG9yZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlKGl0ZW0uJGVsZW1lbnRzLCBzdG9yZVJlYyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmUoYmxvY2suJGVsZW1lbnRzLCBzdG9yZVJlYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogU3RvcmUgYSBtYXJrZG93biBkb2N1bWVudC4gKi9cbiAgICBwdWJsaWMgc3RvcmVNYXJrZG93bihkYXRhOiBNYXJrZG93blBhZ2UpIHtcbiAgICAgICAgdGhpcy5kYXRhc3RvcmUuc3RvcmUoZGF0YSwgKG9iamVjdCwgc3RvcmUpID0+IHtcbiAgICAgICAgICAgIHN0b3JlKG9iamVjdC4kc2VjdGlvbnMsIChzZWN0aW9uLCBzdG9yZSkgPT4ge1xuICAgICAgICAgICAgICAgIHN0b3JlKHNlY3Rpb24uJGJsb2NrcywgKGJsb2NrLCBzdG9yZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2sgaW5zdGFuY2VvZiBNYXJrZG93bkxpc3RCbG9jaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVjdXJzaXZlIHN0b3JlIGZ1bmN0aW9uIGZvciBzdG9yaW5nIGxpc3QgaGVpcmFyY2hpZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdG9yZVJlYzogU3Vic3RvcmVyPE1hcmtkb3duTGlzdEl0ZW0+ID0gKGl0ZW0sIHN0b3JlKSA9PiBzdG9yZShpdGVtLiRlbGVtZW50cywgc3RvcmVSZWMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yZShibG9jay4kZWxlbWVudHMsIHN0b3JlUmVjKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEV2ZW50IHByb3BvZ2F0aW9uLlxuXG4gICAgLyoqIENhbGxlZCB3aGVuZXZlciB0aGUgaW5kZXggdXBkYXRlcyB0byBhIG5ldyByZXZpc2lvbi4gVGhpcyBpcyB0aGUgYnJvYWRlc3QgcG9zc2libGUgZGF0YWNvcmUgZXZlbnQuICovXG4gICAgcHVibGljIG9uKGV2dDogXCJ1cGRhdGVcIiwgY2FsbGJhY2s6IChyZXZpc2lvbjogbnVtYmVyKSA9PiBhbnksIGNvbnRleHQ/OiBhbnkpOiBFdmVudFJlZjtcbiAgICBwdWJsaWMgb24oZXZ0OiBcImluaXRpYWxpemVkXCIsIGNhbGxiYWNrOiAoKSA9PiBhbnksIGNvbnRleHQ/OiBhbnkpOiBFdmVudFJlZjtcblxuICAgIG9uKGV2dDogc3RyaW5nLCBjYWxsYmFjazogKC4uLmRhdGE6IGFueSkgPT4gYW55LCBjb250ZXh0PzogYW55KTogRXZlbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudHMub24oZXZ0LCBjYWxsYmFjaywgY29udGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIFVuc3Vic2NyaWJlIGZyb20gYW4gZXZlbnQgdXNpbmcgdGhlIGV2ZW50IGFuZCBvcmlnaW5hbCBjYWxsYmFjay4gKi9cbiAgICBvZmYoZXZ0OiBzdHJpbmcsIGNhbGxiYWNrOiAoLi4uZGF0YTogYW55KSA9PiBhbnkpIHtcbiAgICAgICAgdGhpcy5ldmVudHMub2ZmKGV2dCwgY2FsbGJhY2spO1xuICAgIH1cblxuICAgIC8qKiBVbnN1YnNjcmliZSBmcm9tIGFuIGV2ZW50IHVzaW5nIHRoZSBldmVudCByZWZlcmVuY2UuICAqL1xuICAgIG9mZnJlZihyZWY6IEV2ZW50UmVmKSB7XG4gICAgICAgIHRoaXMuZXZlbnRzLm9mZnJlZihyZWYpO1xuICAgIH1cblxuICAgIC8qKiBUcmlnZ2VyIGFuIHVwZGF0ZSBldmVudC4gKi9cbiAgICBwcml2YXRlIHRyaWdnZXIoZXZ0OiBcInVwZGF0ZVwiLCByZXZpc2lvbjogbnVtYmVyKTogdm9pZDtcbiAgICAvKiogVHJpZ2dlciBhbiBpbml0aWFsaXphdGlvbiBldmVudC4gKi9cbiAgICBwcml2YXRlIHRyaWdnZXIoZXZ0OiBcImluaXRpYWxpemVkXCIpOiB2b2lkO1xuXG4gICAgLyoqIFRyaWdnZXIgYW4gZXZlbnQuICovXG4gICAgcHJpdmF0ZSB0cmlnZ2VyKGV2dDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmxvZyhcInRyaWdnZXJpbmdcIiwgZXZ0KTtcbiAgICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcihldnQsIC4uLmFyZ3MpO1xuICAgIH1cbn1cblxuLyoqIExpZmVjeWNsZS1yZXNwZWN0aW5nIGZpbGUgcXVldWUgd2hpY2ggd2lsbCBpbXBvcnQgZmlsZXMsIHJlYWRpbmcgdGhlbSBmcm9tIHRoZSBmaWxlIGNhY2hlIGlmIG5lZWRlZC4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhY29yZUluaXRpYWxpemVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAvKiogTnVtYmVyIG9mIGNvbmN1cnJlbnQgb3BlcmF0aW9ucyB0aGUgaW5pdGlhbGl6ZXIgd2lsbCBwZXJmb3JtLiAqL1xuICAgIHN0YXRpYyBCQVRDSF9TSVpFOiBudW1iZXIgPSA4O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGluaXRpYWxpemVyIHNob3VsZCBjb250aW51ZSB0byBydW4uICovXG4gICAgYWN0aXZlOiBib29sZWFuO1xuXG4gICAgLyoqIFF1ZXVlIG9mIGZpbGVzIHRvIHN0aWxsIGltcG9ydC4gKi9cbiAgICBxdWV1ZTogVEZpbGVbXTtcbiAgICAvKiogVGhlIGZpbGVzIGFjdGl2ZWx5IGJlaW5nIGltcG9ydGVkLiAqL1xuICAgIGN1cnJlbnQ6IFRGaWxlW107XG4gICAgLyoqIERlZmVycmVkIHByb21pc2Ugd2hpY2ggcmVzb2x2ZXMgd2hlbiBpbXBvcnRpbmcgaXMgZG9uZS4gKi9cbiAgICBkb25lOiBEZWZlcnJlZDxJbml0aWFsaXphdGlvblN0YXRzPjtcblxuICAgIC8qKiBUaGUgdG90YWwgbnVtYmVyIG9mIHRhcmdldCBmaWxlcyB0byBpbXBvcnQuICovXG4gICAgdGFyZ2V0VG90YWw6IG51bWJlcjtcbiAgICAvKiogVGhlIHRpbWUgdGhhdCBpbml0IHN0YXJ0ZWQgaW4gbWlsbGlzZWNvbmRzLiAqL1xuICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBmaWxlcyB0byBpbXBvcnQuICovXG4gICAgZmlsZXM6IG51bWJlcjtcbiAgICAvKiogVG90YWwgbnVtYmVyIG9mIGltcG9ydGVkIGZpbGVzIHNvIGZhci4gKi9cbiAgICBpbml0aWFsaXplZDogbnVtYmVyO1xuICAgIC8qKiBUb3RhbCBudW1iZXIgb2YgaW1wb3J0ZWQgZmlsZXMuICovXG4gICAgaW1wb3J0ZWQ6IG51bWJlcjtcbiAgICAvKiogVG90YWwgbnVtYmVyIG9mIHNraXBwZWQgZmlsZXMuICovXG4gICAgc2tpcHBlZDogbnVtYmVyO1xuICAgIC8qKiBUb3RhbCBudW1iZXIgb2YgY2FjaGVkIGZpbGVzLiAqL1xuICAgIGNhY2hlZDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGNvcmU6IERhdGFjb3JlKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5xdWV1ZSA9IHRoaXMuY29yZS52YXVsdC5nZXRGaWxlcygpO1xuICAgICAgICB0aGlzLnRhcmdldFRvdGFsID0gdGhpcy5xdWV1ZS5sZW5ndGg7XG4gICAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLnF1ZXVlLmxlbmd0aDtcbiAgICAgICAgdGhpcy5zdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIHRoaXMuY3VycmVudCA9IFtdO1xuICAgICAgICB0aGlzLmRvbmUgPSBkZWZlcnJlZCgpO1xuXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0aGlzLmltcG9ydGVkID0gdGhpcy5za2lwcGVkID0gdGhpcy5jYWNoZWQgPSAwO1xuICAgIH1cblxuICAgIGFzeW5jIG9ubG9hZCgpIHtcbiAgICAgICAgLy8gUXVldWUgQkFUQ0hfU0laRSBlbGVtZW50cyBmcm9tIHRoZSBxdWV1ZSB0byBpbXBvcnQuXG4gICAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnJ1bk5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogUHJvbWlzZSB3aGljaCByZXNvbHZlcyB3aGVuIHRoZSBpbml0aWFsaXphdGlvbiBjb21wbGV0ZXMuICovXG4gICAgZmluaXNoZWQoKTogUHJvbWlzZTxJbml0aWFsaXphdGlvblN0YXRzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvbmU7XG4gICAgfVxuXG4gICAgLyoqIENhbmNlbCBpbml0aWFsaXphdGlvbi4gKi9cbiAgICBvbnVubG9hZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kb25lLnJlamVjdChcIkluaXRpYWxpemF0aW9uIHdhcyBjYW5jZWxsZWQgYmVmb3JlIGNvbXBsZXRpbmcuXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFBvbGwgZm9yIGFub3RoZXIgdGFzayB0byBleGVjdXRlIGZyb20gdGhlIHF1ZXVlLiAqL1xuICAgIHByaXZhdGUgcnVuTmV4dCgpIHtcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBtYXggbnVtYmVyIG9mIGNvbmN1cnJlbnQgb3BlcmF0aW9ucyBhbHJlYWR5IHJ1bm5pbmcuXG4gICAgICAgIGlmICghdGhpcy5hY3RpdmUgfHwgdGhpcy5jdXJyZW50Lmxlbmd0aCA+PSBEYXRhY29yZUluaXRpYWxpemVyLkJBVENIX1NJWkUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZXJlIGlzIHNwYWNlIGF2YWlsYWJsZSB0byBleGVjdXRlIGFub3RoZXIuXG4gICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLnF1ZXVlLnBvcCgpO1xuICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50LnB1c2gobmV4dCk7XG4gICAgICAgICAgICB0aGlzLmluaXQobmV4dClcbiAgICAgICAgICAgICAgICAudGhlbigocmVzdWx0KSA9PiB0aGlzLmhhbmRsZVJlc3VsdChuZXh0LCByZXN1bHQpKVxuICAgICAgICAgICAgICAgIC5jYXRjaCgocmVzdWx0KSA9PiB0aGlzLmhhbmRsZVJlc3VsdChuZXh0LCByZXN1bHQpKTtcblxuICAgICAgICAgICAgdGhpcy5ydW5OZXh0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIW5leHQgJiYgdGhpcy5jdXJyZW50Lmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgICAgICAgICAvLyBBbGwgd29yayBpcyBkb25lLCByZXNvbHZlLlxuICAgICAgICAgICAgdGhpcy5kb25lLnJlc29sdmUoe1xuICAgICAgICAgICAgICAgIGR1cmF0aW9uTXM6IERhdGUubm93KCkgLSB0aGlzLnN0YXJ0LFxuICAgICAgICAgICAgICAgIGZpbGVzOiB0aGlzLmZpbGVzLFxuICAgICAgICAgICAgICAgIGltcG9ydGVkOiB0aGlzLmltcG9ydGVkLFxuICAgICAgICAgICAgICAgIHNraXBwZWQ6IHRoaXMuc2tpcHBlZCxcbiAgICAgICAgICAgICAgICBjYWNoZWQ6IHRoaXMuY2FjaGVkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUHJvY2VzcyB0aGUgcmVzdWx0IG9mIGFuIGluaXRpYWxpemF0aW9uIGFuZCBxdWV1ZSBtb3JlIHJ1bnMuICovXG4gICAgcHJpdmF0ZSBoYW5kbGVSZXN1bHQoZmlsZTogVEZpbGUsIHJlc3VsdDogSW5pdGlhbGl6YXRpb25SZXN1bHQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50LnJlbW92ZShmaWxlKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCsrO1xuXG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcInNraXBwZWRcIikgdGhpcy5za2lwcGVkKys7XG4gICAgICAgIGVsc2UgaWYgKHJlc3VsdC5zdGF0dXMgPT09IFwiaW1wb3J0ZWRcIikgdGhpcy5pbXBvcnRlZCsrO1xuICAgICAgICBlbHNlIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImNhY2hlZFwiKSB0aGlzLmNhY2hlZCsrO1xuXG4gICAgICAgIC8vIFF1ZXVlIG1vcmUgam9icyBmb3IgcHJvY2Vzc2luZy5cbiAgICAgICAgdGhpcy5ydW5OZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEluaXRpYWxpemUgYSBzcGVjaWZpYyBmaWxlLiAqL1xuICAgIHByaXZhdGUgYXN5bmMgaW5pdChmaWxlOiBURmlsZSk6IFByb21pc2U8SW5pdGlhbGl6YXRpb25SZXN1bHQ+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBsb2FkaW5nIG1hcmtkb3duIGZpbGVzIGZyb20gY2FjaGUuXG4gICAgICAgICAgICBjb25zdCBjYWNoZWQgPSBhd2FpdCB0aGlzLmNvcmUucGVyc2lzdGVyLmxvYWRGaWxlKGZpbGUucGF0aCk7XG4gICAgICAgICAgICBpZiAoY2FjaGVkICYmIGNhY2hlZC50aW1lID49IGZpbGUuc3RhdC5tdGltZSAmJiBjYWNoZWQudmVyc2lvbiA9PSB0aGlzLmNvcmUudmVyc2lvbikge1xuICAgICAgICAgICAgICAgIGlmIChmaWxlLmV4dGVuc2lvbiA9PT0gXCJtZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBNYXJrZG93blBhZ2UuZnJvbShjYWNoZWQuZGF0YSBhcyBKc29uTWFya2Rvd25QYWdlLCAobGluaykgPT4gbGluayk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29yZS5zdG9yZU1hcmtkb3duKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IFwiY2FjaGVkXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERvZXMgbm90IG1hdGNoIGFuIGV4aXN0aW5nIGltcG9ydCB0eXBlLCBqdXN0IHJlbG9hZCBub3JtYWxseS5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29yZS5yZWxvYWQoZmlsZSk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IFwiaW1wb3J0ZWRcIiB9O1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJEYXRhY29yZTogRmFpbGVkIHRvIGltcG9ydCBmaWxlOiBcIiwgZXgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBcInNraXBwZWRcIiB9O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiogU3RhdGlzdGljcyBhYm91dCBhIHN1Y2Nlc3NmdWwgdmF1bHQgaW5pdGlhbGl6YXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxpemF0aW9uU3RhdHMge1xuICAgIC8qKiBIb3cgbG9uZyBpbml0aWFsaXphdG9uIHRvb2sgaW4gbWlsaXNlY29uZHMuICovXG4gICAgZHVyYXRpb25NczogbnVtYmVyO1xuICAgIC8qKiBUb3RhbCBudW1iZXIgb2YgZmlsZXMgdGhhdCB3ZXJlIGltcG9ydGVkICovXG4gICAgZmlsZXM6IG51bWJlcjtcbiAgICAvKiogVGhlIG51bWJlciBvZiBmaWxlcyB0aGF0IHdlcmUgbG9hZGVkIGFuZCBpbXBvcnRlZCB2aWEgYmFja2dyb3VuZCB3b3JrZXJzLiAqL1xuICAgIGltcG9ydGVkOiBudW1iZXI7XG4gICAgLyoqIFRoZSBudW1iZXIgb2YgZmlsZXMgdGhhdCB3ZXJlIHNraXBwZWQgZHVlIHRvIG5vIGxvbmdlciBleGlzdGluZyBvciBub3QgYmVpbmcgcmVhZHkuICovXG4gICAgc2tpcHBlZDogbnVtYmVyO1xuICAgIC8qKiBUaGUgbnVtYmVyIG9mIGZpbGVzIGxvYWRlZCBmcm9tIHRoZSBJbmRleGVkREIgY2FjaGUuICovXG4gICAgY2FjaGVkOiBudW1iZXI7XG59XG5cbi8qKiBUaGUgcmVzdWx0IG9mIGluaXRpYWxpemluZyBhIGZpbGUuICovXG5pbnRlcmZhY2UgSW5pdGlhbGl6YXRpb25SZXN1bHQge1xuICAgIHN0YXR1czogXCJza2lwcGVkXCIgfCBcImltcG9ydGVkXCIgfCBcImNhY2hlZFwiO1xufVxuIiwgIi8qKlxuICogQG1vZHVsZSBpbmRleGFibGVzXG4gKi9cbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiZXhwcmVzc2lvbi9saW5rXCI7XG5pbXBvcnQgeyBGSUxFX1RZUEUsIEZpbGUsIEluZGV4YWJsZSwgTElOS0FCTEVfVFlQRSwgTGlua2FibGUgfSBmcm9tIFwiLi9pbmRleGFibGVcIjtcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyBFeHRyYWN0b3JzLCBGSUVMREJFQVJJTkdfVFlQRSwgRmllbGRFeHRyYWN0b3IsIEZpZWxkYmVhcmluZyB9IGZyb20gXCJleHByZXNzaW9uL2ZpZWxkXCI7XG5pbXBvcnQgeyBMaXRlcmFsIH0gZnJvbSBcImV4cHJlc3Npb24vbGl0ZXJhbFwiO1xuXG4vKiogRGF0YWNvcmUgcmVwcmVzZW50YXRpb24gb2YgYSBnZW5lcmljIGZpbGUgd2l0aCBubyBhZGRpdGlvbmFsIHBhcnNpbmcuICovXG5leHBvcnQgY2xhc3MgR2VuZXJpY0ZpbGUgaW1wbGVtZW50cyBGaWxlLCBJbmRleGFibGUsIEZpZWxkYmVhcmluZywgTGlua2FibGUge1xuICAgIHN0YXRpYyBUWVBFUzogc3RyaW5nW10gPSBbRklMRV9UWVBFLCBGSUVMREJFQVJJTkdfVFlQRSwgTElOS0FCTEVfVFlQRV07XG5cbiAgICAkdHlwZXM6IHN0cmluZ1tdID0gR2VuZXJpY0ZpbGUuVFlQRVM7XG4gICAgJHR5cGVuYW1lOiBzdHJpbmcgPSBcIkZpbGVcIjtcblxuICAgICRwYXRoOiBzdHJpbmc7XG4gICAgLyoqIE9ic2lkaWFuLXByb3ZpZGVkIGRhdGUgdGhpcyBwYWdlIHdhcyBjcmVhdGVkLiAqL1xuICAgICRjdGltZTogRGF0ZVRpbWU7XG4gICAgLyoqIE9ic2lkaWFuLXByb3ZpZGVkIGRhdGUgdGhpcyBwYWdlIHdhcyBtb2RpZmllZC4gKi9cbiAgICAkbXRpbWU6IERhdGVUaW1lO1xuICAgIC8qKiBPYnNpZGlhbi1wcm92aWRlZCBzaXplIG9mIHRoaXMgcGFnZSBpbiBieXRlcy4gKi9cbiAgICAkc2l6ZTogbnVtYmVyO1xuICAgIC8qKiBUaGUgZXh0ZW5zaW9uIG9mIHRoZSBmaWxlLiAqL1xuICAgICRleHRlbnNpb246IHN0cmluZztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXRoOiBzdHJpbmcsIGN0aW1lOiBEYXRlVGltZSwgbXRpbWU6IERhdGVUaW1lLCBzaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy4kcGF0aCA9IHBhdGg7XG4gICAgICAgIHRoaXMuJGN0aW1lID0gY3RpbWU7XG4gICAgICAgIHRoaXMuJG10aW1lID0gbXRpbWU7XG4gICAgICAgIHRoaXMuJHNpemUgPSBzaXplO1xuXG4gICAgICAgIGNvbnN0IGxhc3REb3QgPSBwYXRoLmxhc3RJbmRleE9mKFwiLlwiKTtcbiAgICAgICAgdGhpcy4kZXh0ZW5zaW9uID0gbGFzdERvdCA8IDAgPyBcIlwiIDogcGF0aC5zdWJzdHJpbmcobGFzdERvdCArIDEpO1xuICAgIH1cblxuICAgIGdldCBmaWVsZHMoKSB7XG4gICAgICAgIHJldHVybiBHZW5lcmljRmlsZS5GSUVMRF9ERUYodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGZpZWxkKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBHZW5lcmljRmlsZS5GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdO1xuICAgIH1cblxuICAgIC8qKiBHZXQgdGhlIHZhbHVlIGZvciB0aGUgZ2l2ZW4gZmllbGQuICovXG4gICAgcHVibGljIHZhbHVlKGtleTogc3RyaW5nKTogTGl0ZXJhbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkKGtleSk/LnZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBVbmlxdWUgSUQgZm9yIHRoaXMgb2JqZWN0LiAqL1xuICAgIGdldCAkaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBhdGg7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBmaWxlIGZvciB0aGUgZmlsZSBpcyB0aGUgZmlsZS4gKi9cbiAgICBnZXQgJGZpbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBhdGg7XG4gICAgfVxuXG4gICAgLyoqIEEgbGluayB0byB0aGUgZmlsZS4gKi9cbiAgICBnZXQgJGxpbmsoKTogTGluayB7XG4gICAgICAgIHJldHVybiBMaW5rLmZpbGUodGhpcy4kcGF0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgRklFTERfREVGOiBGaWVsZEV4dHJhY3RvcjxHZW5lcmljRmlsZT4gPSBFeHRyYWN0b3JzLmludHJpbnNpY3MoKTtcbn1cbiIsICJpbXBvcnQgeyBRdWV1ZSB9IGZyb20gXCJAZGF0YXN0cnVjdHVyZXMtanMvcXVldWVcIjtcbmltcG9ydCB7IFJlc3VsdCB9IGZyb20gXCJhcGkvcmVzdWx0XCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRGaWxlLCBWYXVsdCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgRGVmZXJyZWQsIGRlZmVycmVkIH0gZnJvbSBcInV0aWxzL2RlZmVycmVkXCI7XG5cbi8qKiBRdWV1ZXMgdXAgbG9hZHMgb2YgZmlsZXMgdG8gcmVkdWNlIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IGxvYWRzLiAqL1xuZXhwb3J0IGNsYXNzIEVtYmVkUXVldWUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIC8qKiBTZXQgb2YgcGVuZGluZyBsb2Fkcy4gKi9cbiAgICBwcml2YXRlIHF1ZXVlOiBRdWV1ZTxURmlsZT4gPSBuZXcgUXVldWUoKTtcbiAgICAvKiogU2V0IG9mIHByb21pc2VzIHdhaXRpbmcgb24gZWFjaCBwYXRoLiAqL1xuICAgIHByaXZhdGUgcHJvbWlzZXM6IE1hcDxzdHJpbmcsIERlZmVycmVkPHN0cmluZz5bXT4gPSBuZXcgTWFwKCk7XG4gICAgLyoqIEFjdGl2ZSBzZXQgb2YgbG9hZHMuICovXG4gICAgcHJpdmF0ZSBhY3RpdmU6IE1hcDxzdHJpbmcsIFByb21pc2U8c3RyaW5nPj4gPSBuZXcgTWFwKCk7XG4gICAgLyoqIElmIHRydWUsIHByZXZlbnQgYW55IGZ1cnRoZXIgbG9hZHMuICovXG4gICAgcHJpdmF0ZSBzaHV0ZG93bjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyB2YXVsdDogVmF1bHQsIHB1YmxpYyBjb25jdXJyZW5jeTogKCkgPT4gbnVtYmVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqIFJlYWQgYSBmaWxlIGFzeW5jaHJvbm91c2x5LCBjb250cm9sbGluZyBjb25jdXJyZW5jeSB0byBwcmV2ZW50IHRvbyBtYW55IGZpbGVzIGJlaW5nIGxvYWRlZCBzaW11bHRhbmVvdXNseS4gKi9cbiAgICBwdWJsaWMgYXN5bmMgcmVhZChmaWxlOiBURmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGlmICh0aGlzLnNodXRkb3duKSByZXR1cm4gUHJvbWlzZS5yZWplY3QoXCJFbWJlZCBxdWV1ZSBpcyBzaHV0ZG93bi5cIik7XG5cbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IGRlZmVycmVkPHN0cmluZz4oKTtcblxuICAgICAgICAvLyBJZiB3ZSBhcmVuJ3QgYWxyZWFkeSBpbiB0aGUgcXVldWUsIGFkZCBvdXJzZWx2ZXMgdG8gcXVldWUuIE90aGVyd2lzZSBqdXN0IGFwcGVuZCBvdXRzZWxmcyB0byB0aGUgaW50ZXJlc3RlZCB3YXRjaGVyIGZvciB0aGUgcXVldWUuXG4gICAgICAgIGlmICghdGhpcy5wcm9taXNlcy5oYXMoZmlsZS5wYXRoKSkge1xuICAgICAgICAgICAgdGhpcy5xdWV1ZS5wdXNoKGZpbGUpO1xuICAgICAgICAgICAgdGhpcy5wcm9taXNlcy5zZXQoZmlsZS5wYXRoLCBbcHJvbWlzZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wcm9taXNlcy5nZXQoZmlsZS5wYXRoKSEucHVzaChwcm9taXNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2NoZWR1bGUoKTtcbiAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfVxuXG4gICAgLyoqIFNjaGVkdWxlIG1vcmUgbG9hZHMgZnJvbSB0aGUgcXVldWUgaW50byB0aGUgYWN0aXZlIHNldCBpZiB0aGVyZSBpcyBhdmFpbGFibGUgc3BhY2UuICovXG4gICAgcHJpdmF0ZSBzY2hlZHVsZSgpIHtcbiAgICAgICAgd2hpbGUgKHRoaXMuYWN0aXZlLnNpemUgPCB0aGlzLmNvbmN1cnJlbmN5KCkgJiYgdGhpcy5xdWV1ZS5zaXplKCkgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gdGhpcy5xdWV1ZS5wb3AoKSE7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlYWQgPSB0aGlzLnZhdWx0LmNhY2hlZFJlYWQoZmlsZSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZS5zZXQoZmlsZS5wYXRoLCByZWFkKTtcblxuICAgICAgICAgICAgcmVhZC50aGVuKChjb250ZW50KSA9PiB0aGlzLmZpbmlzaChmaWxlLCBSZXN1bHQuc3VjY2Vzcyhjb250ZW50KSkpLmNhdGNoKChlcnJvcikgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmZpbmlzaChmaWxlLCBSZXN1bHQuZmFpbHVyZShlcnJvcikpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENvbW11bmljYXRlIHRoZSByZXN1bHQgb2YgYSBsb2FkZWQgZmlsZSBhbmQgdGhlbiBzY2hlZHVsZSBtb3JlIGZpbGVzIHRvIGJlIGxvYWRlZC4gKi9cbiAgICBwcml2YXRlIGZpbmlzaChmaWxlOiBURmlsZSwgcmVzdWx0OiBSZXN1bHQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgICAgIHRoaXMuYWN0aXZlLmRlbGV0ZShmaWxlLnBhdGgpO1xuXG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gdGhpcy5wcm9taXNlcy5nZXQoZmlsZS5wYXRoKSA/PyBbXTtcbiAgICAgICAgdGhpcy5wcm9taXNlcy5kZWxldGUoZmlsZS5wYXRoKTtcblxuICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3NmdWwpIHtcbiAgICAgICAgICAgIHByb21pc2VzLmZvckVhY2goKHByb21pc2UpID0+IHByb21pc2UucmVzb2x2ZShyZXN1bHQudmFsdWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByb21pc2VzLmZvckVhY2goKHByb21pc2UpID0+IHByb21pc2UucmVqZWN0KHJlc3VsdC5lcnJvcikpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zY2hlZHVsZSgpO1xuICAgIH1cblxuICAgIC8qKiBDYW5jZWxsIGFsbCBvdXRzdGFuZGluZyBsb2FkcyBvbiB1bmxvYWQuICovXG4gICAgcHVibGljIG9udW5sb2FkKCk6IHZvaWQge1xuICAgICAgICAvLyBSZWplY3QgYWxsIG91dHN0YW5kaW5nIGxvYWRzLlxuICAgICAgICBmb3IgKGNvbnN0IHByb21pc2VzIG9mIHRoaXMucHJvbWlzZXMudmFsdWVzKCkpIHtcbiAgICAgICAgICAgIHByb21pc2VzLmZvckVhY2goKHByb21pc2UpID0+IHByb21pc2UucmVqZWN0KFwiRW1iZWQgcXVldWUgaXMgc2h1dHRpbmcgZG93bi5cIikpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaHV0ZG93biA9IHRydWU7XG4gICAgfVxufVxuIiwgIi8qKlxuICogQG1vZHVsZSBpbmRleGFibGVzXG4gKi9cbmltcG9ydCB7IEV4dHJhY3RvcnMsIEZpZWxkLCBGaWVsZGJlYXJpbmcsIEZJRUxEQkVBUklOR19UWVBFLCBGaWVsZEV4dHJhY3RvciB9IGZyb20gXCJleHByZXNzaW9uL2ZpZWxkXCI7XG5pbXBvcnQgeyBGSUxFX1RZUEUsIEluZGV4YWJsZSwgTGlua2FibGUsIExJTktBQkxFX1RZUEUsIExpbmtiZWFyaW5nLCBUYWdnYWJsZSwgVEFHR0FCTEVfVFlQRSB9IGZyb20gXCIuL2luZGV4YWJsZVwiO1xuaW1wb3J0IHtcbiAgICBDYXJkRGltZW5zaW9ucyxcbiAgICBDYXJkUG9zLFxuICAgIEpzb25CYXNlQ2FudmFzQ2FyZCxcbiAgICBKc29uQ2FudmFzLFxuICAgIEpzb25DYW52YXNDYXJkLFxuICAgIEpzb25DYW52YXNGaWxlQ2FyZCxcbiAgICBKc29uQ2FudmFzVGV4dENhcmQsXG4gICAgSnNvbkNhbnZhc1dlYkNhcmQsXG59IGZyb20gXCIuL2pzb24vY2FudmFzXCI7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gXCJsdXhvblwiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJleHByZXNzaW9uL2xpbmtcIjtcbmltcG9ydCB7XG4gICAgRnJvbnRtYXR0ZXJFbnRyeSxcbiAgICBMaW5rTm9ybWFsaXplcixcbiAgICBNYXJrZG93blNlY3Rpb24sXG4gICAgTk9PUF9OT1JNQUxJWkVSLFxuICAgIG5vcm1hbGl6ZUxpbmtzLFxuICAgIHZhbHVlRnJvbnRtYXR0ZXJFbnRyeSxcbn0gZnJvbSBcIi4vbWFya2Rvd25cIjtcbmltcG9ydCB7IElubGluZUZpZWxkIH0gZnJvbSBcImluZGV4L2ltcG9ydC9pbmxpbmUtZmllbGRcIjtcbmltcG9ydCB7IEZpbGUgfSBmcm9tIFwiaW5kZXgvdHlwZXMvaW5kZXhhYmxlXCI7XG5pbXBvcnQgeyBtYXBPYmplY3RWYWx1ZXMgfSBmcm9tIFwidXRpbHMvZGF0YVwiO1xuXG4vKiogQSBjYW52YXMgZmlsZSwgY29uc2lzdGluZyBvZiBhIHNldCBvZiBjYW52YXMgY2FyZHMuICovXG5leHBvcnQgY2xhc3MgQ2FudmFzIGltcGxlbWVudHMgTGlua2FibGUsIEZpbGUsIExpbmtiZWFyaW5nLCBUYWdnYWJsZSwgSW5kZXhhYmxlLCBGaWVsZGJlYXJpbmcge1xuICAgIHN0YXRpYyBUWVBFUyA9IFtGSUxFX1RZUEUsIFwiY2FudmFzXCIsIFRBR0dBQkxFX1RZUEUsIExJTktBQkxFX1RZUEUsIEZJRUxEQkVBUklOR19UWVBFXTtcblxuICAgICR0eXBlczogc3RyaW5nW10gPSBDYW52YXMuVFlQRVM7XG4gICAgJHR5cGVuYW1lOiBzdHJpbmcgPSBcIkNhbnZhc1wiO1xuXG4gICAgJGN0aW1lOiBEYXRlVGltZTtcbiAgICAkbXRpbWU6IERhdGVUaW1lO1xuXG4gICAgJGV4dGVuc2lvbjogc3RyaW5nID0gXCJjYW52YXNcIjtcblxuICAgIGdldCAkZmlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBhdGg7XG4gICAgfVxuXG4gICAgZ2V0ICRpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJHBhdGg7XG4gICAgfVxuXG4gICAgZ2V0ICRsaW5rKCkge1xuICAgICAgICByZXR1cm4gTGluay5maWxlKHRoaXMuJHBhdGgpO1xuICAgIH1cblxuICAgICRwYXRoOiBzdHJpbmc7XG4gICAgJGNhcmRzOiBCYXNlQ2FudmFzQ2FyZFtdID0gW107XG4gICAgJHNpemU6IG51bWJlciA9IDA7XG4gICAgJHRhZ3M6IHN0cmluZ1tdO1xuICAgICRsaW5rczogTGlua1tdO1xuICAgICRpbmZpZWxkczogUmVjb3JkPHN0cmluZywgSW5saW5lRmllbGQ+O1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPENhbnZhcz4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgICB9XG5cbiAgICBnZXQgZmllbGRzKCk6IEZpZWxkW10ge1xuICAgICAgICByZXR1cm4gQ2FudmFzLkZJRUxEX0RFRih0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpOiBGaWVsZCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBDYW52YXMuRklFTERfREVGKHRoaXMsIGtleSk/LlswXTtcbiAgICB9XG5cbiAgICBwdWJsaWMganNvbigpOiBKc29uQ2FudmFzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRjYXJkczogdGhpcy4kY2FyZHMubWFwKCh4KSA9PiB4Lmpzb24oKSkgYXMgSnNvbkNhbnZhc0NhcmRbXSxcbiAgICAgICAgICAgICRjdGltZTogdGhpcy4kY3RpbWUudG9NaWxsaXMoKSxcbiAgICAgICAgICAgICRtdGltZTogdGhpcy4kbXRpbWUudG9NaWxsaXMoKSxcbiAgICAgICAgICAgICRzaXplOiB0aGlzLiRzaXplLFxuICAgICAgICAgICAgJGxpbmtzOiB0aGlzLiRsaW5rcyxcbiAgICAgICAgICAgICRwYXRoOiB0aGlzLiRwYXRoLFxuICAgICAgICAgICAgJGluZmllbGRzOiB0aGlzLiRpbmZpZWxkcyxcbiAgICAgICAgICAgICR0YWdzOiB0aGlzLiR0YWdzLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBmcm9tKHJhdzogSnNvbkNhbnZhcywgbm9ybWFsaXplcjogTGlua05vcm1hbGl6ZXIgPSBOT09QX05PUk1BTElaRVIpOiBDYW52YXMge1xuICAgICAgICBjb25zdCBjYXJkcyA9IHJhdy4kY2FyZHNcbiAgICAgICAgICAgIC5tYXAoKHMpID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHMuJHR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcInRleHQtY2FyZFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENhbnZhc1RleHRDYXJkLmZyb20ocywgcmF3LiRwYXRoLCBub3JtYWxpemVyKTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImZpbGUtY2FyZFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENhbnZhc0ZpbGVDYXJkLmZyb20ocyk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJ3ZWItY2FyZFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENhbnZhc1dlYkNhcmQuZnJvbShzLCByYXcuJHBhdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKCh4KTogeCBpcyBDYW52YXNUZXh0Q2FyZCA9PiAhIXgpO1xuICAgICAgICByZXR1cm4gbmV3IENhbnZhcyh7XG4gICAgICAgICAgICAkY2FyZHM6IGNhcmRzLFxuICAgICAgICAgICAgJGN0aW1lOiBEYXRlVGltZS5mcm9tTWlsbGlzKHJhdy4kY3RpbWUpLFxuICAgICAgICAgICAgJG10aW1lOiBEYXRlVGltZS5mcm9tTWlsbGlzKHJhdy4kbXRpbWUpLFxuICAgICAgICAgICAgJHNpemU6IHJhdy4kc2l6ZSxcbiAgICAgICAgICAgICRleHRlbnNpb246IFwiY2FudmFzXCIsXG4gICAgICAgICAgICAkcGF0aDogcmF3LiRwYXRoLFxuICAgICAgICAgICAgJGxpbmtzOiByYXcuJGxpbmtzLm1hcCgobCkgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobCkpKSxcbiAgICAgICAgICAgICRpbmZpZWxkczogcmF3LiRpbmZpZWxkcyxcbiAgICAgICAgICAgICR0YWdzOiByYXcuJHRhZ3MsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIHN0YXRpYyBGSUVMRF9ERUY6IEZpZWxkRXh0cmFjdG9yPENhbnZhcz4gPSBFeHRyYWN0b3JzLm1lcmdlKFxuICAgICAgICBFeHRyYWN0b3JzLmlubGluZUZpZWxkcygoZikgPT4gZi4kaW5maWVsZHMpLFxuICAgICAgICBFeHRyYWN0b3JzLmludHJpbnNpY3MoKVxuICAgICk7XG59XG5cbi8qKiBBbGwgc3VwcG9ydGVkIGNhbnZhcyBjYXJkIHR5cGVzLiAqL1xuZXhwb3J0IHR5cGUgQ2FudmFzQ2FyZCA9IENhbnZhc1RleHRDYXJkIHwgQ2FudmFzRmlsZUNhcmQgfCBDYW52YXNXZWJDYXJkO1xuXG4vKiogU2hhcmVkIG1ldGFkYXRhIGZvciBhbGwgY2FudmFzIGNhcmRzLiAqL1xuYWJzdHJhY3QgY2xhc3MgQmFzZUNhbnZhc0NhcmQgaW1wbGVtZW50cyBJbmRleGFibGUsIExpbmthYmxlIHtcbiAgICBhYnN0cmFjdCAkdHlwZXM6IHN0cmluZ1tdO1xuICAgIGFic3RyYWN0ICR0eXBlbmFtZTogc3RyaW5nO1xuICAgIGFic3RyYWN0IHJlYWRvbmx5ICR0eXBlOiBzdHJpbmc7XG5cbiAgICAkcmV2aXNpb24/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgJGlkOiBzdHJpbmc7XG4gICAgJHBvc2l0aW9uOiBDYXJkUG9zO1xuICAgICRkaW1lbnNpb25zOiBDYXJkRGltZW5zaW9ucztcbiAgICAkcGFyZW50PzogSW5kZXhhYmxlO1xuICAgICRmaWxlOiBzdHJpbmc7XG4gICAgJGNvbG9yPzogc3RyaW5nO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGluaXQ6IFBhcnRpYWw8QmFzZUNhbnZhc0NhcmQ+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgfVxuXG4gICAgZ2V0ICRsaW5rKCk6IExpbmsge1xuICAgICAgICByZXR1cm4gTGluay5maWxlKHRoaXMuJGZpbGUpLndpdGhCbG9jayh0aGlzLiRpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGpzb24oKTogSnNvbkJhc2VDYW52YXNDYXJkIHtcbiAgICAgICAgY29uc3QgeyAkaWQsICRwb3NpdGlvbiwgJGNvbG9yLCAkZGltZW5zaW9ucywgJGZpbGUsICRsaW5rIH0gPSB0aGlzO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJGlkLFxuICAgICAgICAgICAgJHBvc2l0aW9uLFxuICAgICAgICAgICAgJGNvbG9yLFxuICAgICAgICAgICAgJGRpbWVuc2lvbnMsXG4gICAgICAgICAgICAkZmlsZSxcbiAgICAgICAgICAgICRsaW5rOiAkbGluay50b09iamVjdCgpLFxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIENhbnZhcyBjYXJkIHdpdGggbWFya2Rvd24gdGV4dCBpbiBpdC4gKi9cbmV4cG9ydCBjbGFzcyBDYW52YXNUZXh0Q2FyZCBleHRlbmRzIEJhc2VDYW52YXNDYXJkIGltcGxlbWVudHMgTGlua2JlYXJpbmcsIFRhZ2dhYmxlLCBJbmRleGFibGUsIEZpZWxkYmVhcmluZyB7XG4gICAgc3RhdGljIFRZUEVTID0gW1wiY2FudmFzLWNhcmRcIiwgXCJtYXJrZG93blwiLCBcImNhbnZhcy10ZXh0LWNhcmRcIiwgVEFHR0FCTEVfVFlQRSwgTElOS0FCTEVfVFlQRSwgRklFTERCRUFSSU5HX1RZUEVdO1xuXG4gICAgJHR5cGVzOiBzdHJpbmdbXSA9IENhbnZhc1RleHRDYXJkLlRZUEVTO1xuICAgICR0eXBlbmFtZTogc3RyaW5nID0gXCJUZXh0IENhcmRcIjtcbiAgICAkdHlwZTogc3RyaW5nID0gXCJjYW52YXMtY2FyZFwiO1xuICAgICRpZDogc3RyaW5nO1xuXG4gICAgJGZpbGU6IHN0cmluZztcbiAgICAkbGlua3M6IExpbmtbXTtcbiAgICAkdGFnczogc3RyaW5nW107XG4gICAgJHRpdGxlOiBzdHJpbmc7XG4gICAgJHBhcmVudD86IEluZGV4YWJsZTtcbiAgICAkcmV2aXNpb24/OiBudW1iZXI7XG4gICAgJGluZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBJbmxpbmVGaWVsZD47XG4gICAgJGZyb250bWF0dGVyPzogUmVjb3JkPHN0cmluZywgRnJvbnRtYXR0ZXJFbnRyeT47XG5cbiAgICAkZGltZW5zaW9uczogQ2FyZERpbWVuc2lvbnM7XG4gICAgJHNlY3Rpb25zOiBNYXJrZG93blNlY3Rpb25bXTtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoaW5pdDogUGFydGlhbDxDYW52YXNUZXh0Q2FyZD4pIHtcbiAgICAgICAgc3VwZXIoaW5pdCk7XG4gICAgfVxuXG4gICAgZ2V0IGZpZWxkcygpOiBGaWVsZFtdIHtcbiAgICAgICAgcmV0dXJuIENhbnZhc1RleHRDYXJkLkZJRUxEX0RFRih0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmllbGQoa2V5OiBzdHJpbmcpOiBGaWVsZCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBDYW52YXNUZXh0Q2FyZC5GSUVMRF9ERUYodGhpcywga2V5KT8uWzBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBqc29uKCk6IEpzb25DYW52YXNUZXh0Q2FyZCB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN1cGVyLmpzb24oKSwge1xuICAgICAgICAgICAgJGluZmllbGRzOiB0aGlzLiRpbmZpZWxkcyxcbiAgICAgICAgICAgICRsaW5rczogdGhpcy4kbGlua3MsXG4gICAgICAgICAgICAkdGFnczogdGhpcy4kdGFncyxcbiAgICAgICAgICAgICR0eXBlOiBcInRleHQtY2FyZFwiLFxuICAgICAgICAgICAgJHNlY3Rpb25zOiB0aGlzLiRzZWN0aW9ucy5tYXAoKGEpID0+IGEuanNvbigpKSxcbiAgICAgICAgfSkgYXMgSnNvbkNhbnZhc1RleHRDYXJkO1xuICAgIH1cblxuICAgIHN0YXRpYyBmcm9tKHJhdzogSnNvbkNhbnZhc1RleHRDYXJkLCBmaWxlOiBzdHJpbmcsIG5vcm1hbGl6ZXI6IExpbmtOb3JtYWxpemVyID0gTk9PUF9OT1JNQUxJWkVSKSB7XG4gICAgICAgIGxldCAkc2VjdGlvbnMgPSByYXcuJHNlY3Rpb25zLm1hcCgocykgPT4gTWFya2Rvd25TZWN0aW9uLmZyb20ocywgZmlsZSwgbm9ybWFsaXplcikpO1xuICAgICAgICByZXR1cm4gbmV3IENhbnZhc1RleHRDYXJkKHtcbiAgICAgICAgICAgICRmaWxlOiBmaWxlLFxuICAgICAgICAgICAgJGlkOiByYXcuJGlkLFxuICAgICAgICAgICAgJHNlY3Rpb25zLFxuICAgICAgICAgICAgJGxpbmtzOiByYXcuJGxpbmtzLm1hcCgobCkgPT4gbm9ybWFsaXplcihMaW5rLmZyb21PYmplY3QobCkpKSxcbiAgICAgICAgICAgICRkaW1lbnNpb25zOiByYXcuJGRpbWVuc2lvbnMsXG4gICAgICAgICAgICAkcG9zaXRpb246IHJhdy4kcG9zaXRpb24sXG4gICAgICAgICAgICAkZnJvbnRtYXR0ZXI6IHJhdy4kZnJvbnRtYXR0ZXJcbiAgICAgICAgICAgICAgICA/IG1hcE9iamVjdFZhbHVlcyhyYXcuJGZyb250bWF0dGVyLCAoZm0pID0+IG5vcm1hbGl6ZUxpbmtzKHZhbHVlRnJvbnRtYXR0ZXJFbnRyeShmbSksIG5vcm1hbGl6ZXIpKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgJGluZmllbGRzOiByYXcuJGluZmllbGRzLFxuICAgICAgICAgICAgJHRhZ3M6IHJhdy4kdGFncyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIEZJRUxEX0RFRjogRmllbGRFeHRyYWN0b3I8Q2FudmFzVGV4dENhcmQ+ID0gRXh0cmFjdG9ycy5tZXJnZShcbiAgICAgICAgRXh0cmFjdG9ycy5pbnRyaW5zaWNzKCksXG4gICAgICAgIEV4dHJhY3RvcnMuaW5saW5lRmllbGRzKChmKSA9PiBmLiRpbmZpZWxkcyksXG4gICAgICAgIEV4dHJhY3RvcnMuZnJvbnRtYXR0ZXIoKGYpID0+IGYuJGZyb250bWF0dGVyKVxuICAgICk7XG59XG5cbi8qKiBDYW52YXMgY2FyZCB0aGF0IGlzIGp1c3QgYSBmaWxlIGVtYmVkZGluZy4gKi9cbmV4cG9ydCBjbGFzcyBDYW52YXNGaWxlQ2FyZCBleHRlbmRzIEJhc2VDYW52YXNDYXJkIGltcGxlbWVudHMgSW5kZXhhYmxlIHtcbiAgICBzdGF0aWMgVFlQRVMgPSBbXCJjYW52YXMtY2FyZFwiLCBcIm1hcmtkb3duXCIsIFwiY2FudmFzLWZpbGUtY2FyZFwiLCBUQUdHQUJMRV9UWVBFLCBMSU5LQUJMRV9UWVBFLCBGSUVMREJFQVJJTkdfVFlQRV07XG5cbiAgICAkdHlwZXM6IHN0cmluZ1tdID0gQ2FudmFzVGV4dENhcmQuVFlQRVM7XG4gICAgJHR5cGVuYW1lOiBzdHJpbmcgPSBcIkZpbGUgQ2FyZFwiO1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihpbml0OiBQYXJ0aWFsPENhbnZhc0ZpbGVDYXJkPikge1xuICAgICAgICBzdXBlcihpbml0KTtcbiAgICB9XG5cbiAgICByZWFkb25seSAkdHlwZTogc3RyaW5nID0gXCJmaWxlLWNhcmRcIjtcbiAgICAkbGlua2VkRmlsZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGpzb24oKTogSnNvbkNhbnZhc0ZpbGVDYXJkIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3VwZXIuanNvbigpLCB7XG4gICAgICAgICAgICAkbGlua2VkRmlsZTogdGhpcy4kbGlua2VkRmlsZSxcbiAgICAgICAgICAgICR0eXBlOiBcImZpbGUtY2FyZFwiLFxuICAgICAgICB9KSBhcyBKc29uQ2FudmFzRmlsZUNhcmQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGZyb20ocmF3OiBKc29uQ2FudmFzRmlsZUNhcmQpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDYW52YXNGaWxlQ2FyZCh7XG4gICAgICAgICAgICAkZmlsZTogcmF3LiRmaWxlLFxuICAgICAgICAgICAgJGlkOiByYXcuJGlkLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiByYXcuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJGRpbWVuc2lvbnM6IHJhdy4kZGltZW5zaW9ucyxcbiAgICAgICAgICAgICRsaW5rZWRGaWxlOiByYXcuJGxpbmtlZEZpbGUsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbnZhc1dlYkNhcmQgZXh0ZW5kcyBCYXNlQ2FudmFzQ2FyZCBpbXBsZW1lbnRzIEluZGV4YWJsZSB7XG4gICAgc3RhdGljIFRZUEVTID0gW1wiY2FudmFzLWNhcmRcIiwgXCJtYXJrZG93blwiLCBcImNhbnZhcy13ZWItY2FyZFwiLCBUQUdHQUJMRV9UWVBFLCBMSU5LQUJMRV9UWVBFLCBGSUVMREJFQVJJTkdfVFlQRV07XG5cbiAgICAkdHlwZXM6IHN0cmluZ1tdID0gQ2FudmFzVGV4dENhcmQuVFlQRVM7XG4gICAgcmVhZG9ubHkgJHR5cGU6IHN0cmluZyA9IFwid2ViLWNhcmRcIjtcbiAgICAkdHlwZW5hbWU6IHN0cmluZyA9IFwiV2ViIENhcmRcIjtcblxuICAgICR1cmw6IHN0cmluZztcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoaW5pdDogUGFydGlhbDxDYW52YXNXZWJDYXJkPikge1xuICAgICAgICBzdXBlcihpbml0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMganNvbigpOiBKc29uQ2FudmFzV2ViQ2FyZCB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN1cGVyLmpzb24oKSwge1xuICAgICAgICAgICAgJHVybDogdGhpcy4kdXJsLFxuICAgICAgICAgICAgJHR5cGU6IFwid2ViLWNhcmRcIixcbiAgICAgICAgfSkgYXMgSnNvbkNhbnZhc1dlYkNhcmQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGZyb20ocmF3OiBKc29uQ2FudmFzV2ViQ2FyZCwgZmlsZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBuZXcgQ2FudmFzV2ViQ2FyZCh7XG4gICAgICAgICAgICAkZGltZW5zaW9uczogcmF3LiRkaW1lbnNpb25zLFxuICAgICAgICAgICAgJHBvc2l0aW9uOiByYXcuJHBvc2l0aW9uLFxuICAgICAgICAgICAgJGZpbGU6IGZpbGUsXG4gICAgICAgICAgICAkaWQ6IHJhdy4kaWQsXG4gICAgICAgICAgICAkdXJsOiByYXcuJHVybCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwgIi8qKiBBbGwgZGF0YWNvcmUgc2V0dGluZ3MuICovXG5leHBvcnQgaW50ZXJmYWNlIFNldHRpbmdzIHtcbiAgICAvKiogVGhlIG51bWJlciBvZiB0aHJlYWRzIHRoZSBpbXBvcnRlciB3aWxsIHVzZSBmb3IgaW1wb3J0aW5nLiAqL1xuICAgIGltcG9ydGVyTnVtVGhyZWFkczogbnVtYmVyO1xuICAgIC8qKiBUaGUgQ1BVIHV0aWxpemF0aW9uIChiZXR3ZWVuIDAuMSBhbmQgMS4wKSB0aGF0IGltcG9ydGVyIHRocmVhZHMgc2hvdWxkIHVzZS4gKi9cbiAgICBpbXBvcnRlclV0aWxpemF0aW9uOiBudW1iZXI7XG5cbiAgICAvKiogQXJlIEpTIHZpZXdzIGVuYWJsZWQ/ICovXG4gICAgZW5hYmxlSnM6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHZpZXdzIGFyZSBwYWdlZCBieSBkZWZhdWx0LiBUaGlzIGlzIGFuIGltcG9ydGFudCBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24sXG4gICAgICogc2luY2Ugc2hvd2luZyBodW5kcmVkcyBvciB0aG91c2FuZHMgb2YgcmVzdWx0cyBjYW4gYmUgZmFpcmx5IHNsb3chXG4gICAgICovXG4gICAgZGVmYXVsdFBhZ2luZ0VuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIERlZmF1bHQgcGFnaW5nIHNpemUgZm9yIGFsbCB2aWV3cyAobnVtYmVyIG9mIGVudHJpZXMgcGVyIHBhZ2UuKSAqL1xuICAgIGRlZmF1bHRQYWdlU2l6ZTogbnVtYmVyO1xuICAgIC8qKiBJZiBzZXQsIHZpZXdzIHdpbGwgc2Nyb2xsIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXcgb24gcGFnZSBjaGFuZ2VzLiAqL1xuICAgIHNjcm9sbE9uUGFnZUNoYW5nZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIE1heGltdW0gZGVwdGggdGhhdCBvYmplY3RzIHdpbGwgYmUgcmVuZGVyZWQgdG8gKGkuZS4sIGhvdyBtYW55IGxldmVscyBvZiBzdWJwcm9wZXJ0aWVzXG4gICAgICogd2lsbCBiZSByZW5kZXJlZCBieSBkZWZhdWx0KS4gVGhpcyBhdm9pZHMgaW5maW5pdGUgcmVjdXJzaW9uIGR1ZSB0byBzZWxmIHJlZmVyZW50aWFsIG9iamVjdHNcbiAgICAgKiBhbmQgYWxzbyBlbnN1cmVzIHRoYXQgcmVuZGVyaW5nIG9iamVjdHMgaXMgYWNjZXB0YWJseSBwZXJmb3JtYW50LlxuICAgICAqL1xuICAgIG1heFJlY3Vyc2l2ZVJlbmRlckRlcHRoOiBudW1iZXI7XG5cbiAgICAvKiogVGhlIGRlZmF1bHQgZm9ybWF0IHRoYXQgZGF0ZXMgYXJlIHJlbmRlcmVkIGluICh1c2luZyBsdXhvbidzIG1vbWVudC1saWtlIGZvcm1hdHRpbmcpLiAqL1xuICAgIGRlZmF1bHREYXRlRm9ybWF0OiBzdHJpbmc7XG4gICAgLyoqIFRoZSBkZWZhdWx0IGZvcm1hdCB0aGF0IGRhdGUtdGltZXMgYXJlIHJlbmRlcmVkIGluICh1c2luZyBsdXhvbnMgbW9tZW50LWxpa2UgZm9ybWF0dGluZykuICovXG4gICAgZGVmYXVsdERhdGVUaW1lRm9ybWF0OiBzdHJpbmc7XG4gICAgLyoqIE1hcmtkb3duIHRleHQgZm9yIGhvdyB0byByZW5kZXIgbnVsbCB2YWx1ZXMgaW4gdGFibGVzIG9yIHNpbWlsYXIuICovXG4gICAgcmVuZGVyTnVsbEFzOiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0byBpbmRleCBpbmxpbmUgZmllbGRzIGJ5IGRlZmF1bHQuIElubGluZSBmaWVsZCBwYXJzaW5nIHJlcXVpcmVzIGEgZnVsbCBzY2FuIG9mIHRoZSBkb2N1bWVudCwgd2hpY2ggY2FuIG1ha2UgaW5kZXhpbmcgdGFrZSAyLTN4IGxvbmdlci4gKi9cbiAgICBpbmRleElubGluZUZpZWxkczogYm9vbGVhbjtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGluZGV4IGxpc3QgYW5kIHRhc2sgaXRlbSB0ZXh0IGFuZCBzdGF0ZXMuIEluZGV4aW5nIGxpc3RzICYgdGFza3MgcmVxdWlyZXMgc29tZSBhZGRpdGlvbmFsIHJlZ2V4IHBhcnNpbmcgd2hpY2ggbWFrZXMgaW5kZXhpbmcgbW9kZXN0bHkgc2xvd2VyLiAqL1xuICAgIGluZGV4TGlzdEl0ZW1zOiBib29sZWFuO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gY2hlY2sgdGFzayBpdGVtcyBvZmYgcmVjdXJzaXZlbHkgaW4gZGF0YWNvcmUgdmlld3MgKi9cbiAgICByZWN1cnNpdmVUYXNrQ29tcGxldGlvbjogYm9vbGVhbjtcblxuICAgIC8qKiBOYW1lIG9mIHRoZSBpbmxpbmUgZmllbGQgaW4gd2hpY2ggdG8gc3RvcmUgY29tcGxldGlvbiBkYXRlL3RpbWUgKi9cbiAgICB0YXNrQ29tcGxldGlvblRleHQ6IHN0cmluZztcblxuICAgIC8qKiBJZiBlbmFibGVkLCBhdXRvbWF0aWMgY29tcGxldGlvbnMgd2lsbCB1c2UgZW1vamkgc2hvcnRoYW5kIFx1MjcwNSBZWVlZLU1NLUREIGluc3RlYWQgb2YgW2NvbXBsZXRpb246OiBkYXRlXS4gKi9cbiAgICB0YXNrQ29tcGxldGlvblVzZUVtb2ppU2hvcnRoYW5kOiBib29sZWFuO1xufVxuXG4vKiogRGVmYXVsdCBzZXR0aW5ncyBmb3IgdGhlIHBsdWdpbi4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NFVFRJTkdTOiBSZWFkb25seTxTZXR0aW5ncz4gPSBPYmplY3QuZnJlZXplPFNldHRpbmdzPih7XG4gICAgaW1wb3J0ZXJOdW1UaHJlYWRzOiAyLFxuICAgIGltcG9ydGVyVXRpbGl6YXRpb246IDAuNzUsXG5cbiAgICBlbmFibGVKczogZmFsc2UsXG5cbiAgICBkZWZhdWx0UGFnaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICBkZWZhdWx0UGFnZVNpemU6IDUwLFxuICAgIHNjcm9sbE9uUGFnZUNoYW5nZTogZmFsc2UsXG5cbiAgICBtYXhSZWN1cnNpdmVSZW5kZXJEZXB0aDogNSxcblxuICAgIGRlZmF1bHREYXRlRm9ybWF0OiBcIk1NTU0gZGQsIHl5eXlcIixcbiAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6IFwiaDptbSBhIC0gTU1NTSBkZCwgeXl5eVwiLFxuXG4gICAgcmVuZGVyTnVsbEFzOiBcIi1cIixcblxuICAgIGluZGV4SW5saW5lRmllbGRzOiB0cnVlLFxuICAgIGluZGV4TGlzdEl0ZW1zOiB0cnVlLFxuICAgIHJlY3Vyc2l2ZVRhc2tDb21wbGV0aW9uOiBmYWxzZSxcbiAgICB0YXNrQ29tcGxldGlvblRleHQ6IFwiY29tcGxldGVkQXRcIixcbiAgICB0YXNrQ29tcGxldGlvblVzZUVtb2ppU2hvcnRoYW5kOiBmYWxzZSxcbn0pO1xuIiwgImltcG9ydCB7IGRlYm91bmNlLCBJdGVtVmlldywgTWFya2Rvd25SZW5kZXJDaGlsZCwgTWVudSwgVmlld1N0YXRlUmVzdWx0LCBXb3Jrc3BhY2VMZWFmIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBTY3JpcHRMYW5ndWFnZSB9IGZyb20gXCJ1dGlscy9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBEYXRhY29yZUpTUmVuZGVyZXIsIFJlYWN0UmVuZGVyZXIgfSBmcm9tIFwiLi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBEYXRhY29yZUxvY2FsQXBpIH0gZnJvbSBcImFwaS9sb2NhbC1hcGlcIjtcbmltcG9ydCB7IERhdGFjb3JlQXBpIH0gZnJvbSBcImFwaS9hcGlcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicHJlYWN0XCI7XG5pbXBvcnQgeyBHcm91cCwgU3RhY2sgfSBmcm9tIFwiYXBpL3VpL2xheW91dFwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInByZWFjdC9ob29rc1wiO1xuaW1wb3J0IHsgVGV4dGJveCwgVmFuaWxsYVNlbGVjdCB9IGZyb20gXCJhcGkvdWkvYmFzaWNzXCI7XG5pbXBvcnQgeyB1c2VJbmRleFVwZGF0ZXMgfSBmcm9tIFwiLi9ob29rc1wiO1xuaW1wb3J0IHsgREFUQUNPUkVfQ09OVEVYVCwgRXJyb3JNZXNzYWdlIH0gZnJvbSBcIi4vbWFya2Rvd25cIjtcbmltcG9ydCBTZWxlY3QgZnJvbSBcInJlYWN0LXNlbGVjdFwiO1xuXG4vKiogS2V5IGZvciBkYXRhY29yZSBKUyBxdWVyeSB2aWV3cy4gKi9cbmV4cG9ydCBjb25zdCBWSUVXX1RZUEVfREFUQUNPUkVKUyA9IFwiZGF0YWNvcmVqcy12aWV3XCI7XG5cbi8qKiBTdG9yZXMgdGhlIGN1cnJlbnQgT2JzaWRpYW4gdmlldyBvYmplY3QsIHNvIGl0IGNhbiBiZSBtYW5pcHVsYXRlZCBmcm9tIHJlYWN0LiAqL1xuY29uc3QgQ1VTVE9NX1ZJRVdfQ09OVEVYVCA9IGNyZWF0ZUNvbnRleHQ8RGF0YWNvcmVRdWVyeVZpZXc+KHVuZGVmaW5lZCEpO1xuXG4vKiogUHJvdmlkZXMgb3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYSBkYXRhY29yZSB2aWV3IHBhbmUuICovXG5mdW5jdGlvbiBEYXRhY29yZVZpZXdTZXR0aW5ncygpIHtcbiAgICBjb25zdCB2aWV3ID0gdXNlQ29udGV4dChDVVNUT01fVklFV19DT05URVhUKSBhcyBEYXRhY29yZVF1ZXJ5VmlldztcbiAgICBjb25zdCBzZXRWaWV3U3RhdGUgPSB1c2VNZW1vKFxuICAgICAgICAoKSA9PiBkZWJvdW5jZSgoc3RhdGU6IFBhcnRpYWw8RGF0YWNvcmVWaWV3U3RhdGU+KSA9PiB2aWV3LnNldFN0YXRlKHN0YXRlLCB7IGhpc3Rvcnk6IGZhbHNlIH0pLCA1MDApLFxuICAgICAgICBbdmlld11cbiAgICApO1xuXG4gICAgY29uc3QgW2xvY2FsU3RhdGUsIHNldExvY2FsU3RhdGVdID0gdXNlU3RhdGUodmlldy5nZXRTdGF0ZSgpKTtcbiAgICBjb25zdCBzZXRTdGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAoc3RhdGU6IFBhcnRpYWw8RGF0YWNvcmVWaWV3U3RhdGU+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaW5hbFN0YXRlID0geyAuLi5sb2NhbFN0YXRlLCAuLi5zdGF0ZSB9O1xuICAgICAgICAgICAgLy8gTm90IGRlYm91bmNlZC5cbiAgICAgICAgICAgIHNldExvY2FsU3RhdGUoZmluYWxTdGF0ZSk7XG5cbiAgICAgICAgICAgIC8vIERlYm91bmNlZC5cbiAgICAgICAgICAgIHNldFZpZXdTdGF0ZShmaW5hbFN0YXRlKTtcbiAgICAgICAgfSxcbiAgICAgICAgW2xvY2FsU3RhdGUsIHNldExvY2FsU3RhdGUsIHZpZXddXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxTdGFjayBhbGlnbj1cInN0cmV0Y2hcIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiY2xpY2thYmxlLWljb25cIiBzdHlsZT1cImFsaWduLXNlbGY6IHN0YXJ0XCIgb25DbGljaz17KCkgPT4gdmlldy52aWV3KFwic2NyaXB0XCIpfT5cbiAgICAgICAgICAgICAgICB7QkFDS19CVVRUT059XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxHcm91cCBqdXN0aWZ5PVwic3BhY2UtYmV0d2VlblwiIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGg2PlZpZXcgVGl0bGU8L2g2PlxuICAgICAgICAgICAgICAgIDxUZXh0Ym94XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dmlldy5nZXRTdGF0ZSgpLnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFN0YXRlKHsgdGl0bGU6IGUuY3VycmVudFRhcmdldC52YWx1ZSBhcyBzdHJpbmcgfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgICAgICA8R3JvdXAganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxoNj5WaWV3IFR5cGU8L2g2PlxuICAgICAgICAgICAgICAgIDxWYW5pbGxhU2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dmlldy5nZXRTdGF0ZSgpLnNvdXJjZVR5cGV9XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e0xBTkdVQUdFX09QVElPTlN9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtsb2NhbFN0YXRlLnNvdXJjZVR5cGV9XG4gICAgICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U9eyhzKSA9PiBzZXRTdGF0ZSh7IHNvdXJjZVR5cGU6IHMgYXMgU2NyaXB0TGFuZ3VhZ2UgfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgICAgICA8R3JvdXAganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxoNj5TY3JpcHQvVmlldyBzb3VyY2U8L2g2PlxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyByZXNpemU6IFwidmVydGljYWxcIiwgbWluV2lkdGg6IFwiNzUlXCIsIGZvbnRGYW1pbHk6IFwibW9ub3NwYWNlXCIgfX1cbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtsb2NhbFN0YXRlLnNjcmlwdH1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2xvY2FsU3RhdGUuc2NyaXB0fVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFN0YXRlKHsgc2NyaXB0OiBlLmN1cnJlbnRUYXJnZXQudmFsdWUgYXMgc3RyaW5nIH0pfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0dyb3VwPlxuICAgICAgICAgICAgPEdyb3VwIGp1c3RpZnk9XCJzcGFjZS1iZXR3ZWVuXCIgYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgICAgICAgIDxoNj5DdXJyZW50IEZpbGU8L2g2PlxuICAgICAgICAgICAgICAgICAgICA8c21hbGw+VGhlIHBhdGggcmV0dXJuZWQgYnkgZnVuY3Rpb25zIGxpa2UgYHVzZUN1cnJlbnRQYXRoYCBpbiB0aGlzIHZpZXc8L3NtYWxsPlxuICAgICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBtaW5XaWR0aDogXCI1MCVcIiB9fT5cbiAgICAgICAgICAgICAgICAgICAgPEN1cnJlbnRGaWxlU2VsZWN0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17bG9jYWxTdGF0ZS5jdXJyZW50RmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodikgPT4gc2V0U3RhdGUoeyBjdXJyZW50RmlsZTogdiB9KX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgIDwvU3RhY2s+XG4gICAgKTtcbn1cblxuLyoqIFJlYWN0IGNvbXBvbmVudCBmb3IgYXN5bmNocm9ub3VzbHkgc2hvd2luZyB0aGUgYWN0aXZlIHNldCBvZiBjdXJyZW50IGZpbGVzIHRvIHNlbGVjdCBvbmUgZnJvbS4gKi9cbmZ1bmN0aW9uIEN1cnJlbnRGaWxlU2VsZWN0b3Ioe1xuICAgIGRlZmF1bHRWYWx1ZSxcbiAgICBvbkNoYW5nZSxcbn06IHtcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB2b2lkO1xufSkge1xuICAgIGNvbnN0IGNvcmUgPSB1c2VDb250ZXh0KERBVEFDT1JFX0NPTlRFWFQpO1xuICAgIGNvbnN0IHJldmlzaW9uID0gdXNlSW5kZXhVcGRhdGVzKGNvcmUsIHsgZGVib3VuY2U6IDIwMDAgfSk7XG5cbiAgICAvLyBDYWNoZWQgbGlzdCBvZiByZWxldmFudCBmaWxlcywgd2hpY2ggaXMgb25seSByZWNvbXB1dGVkIG9uIHZhdWx0IGNoYW5nZXMuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gY29yZS52YXVsdC5nZXRNYXJrZG93bkZpbGVzKCkubWFwKChmKSA9PiAoeyBsYWJlbDogZi5wYXRoLCB2YWx1ZTogZi5wYXRoIH0pKTtcbiAgICB9LCBbcmV2aXNpb25dKTtcblxuICAgIGNvbnN0IGRlZmF1bHRPcHRpb24gPSBkZWZhdWx0VmFsdWVcbiAgICAgICAgPyB7IGxhYmVsOiBcIk5vIGZpbGVcIiwgdmFsdWU6IHVuZGVmaW5lZCB9XG4gICAgICAgIDogeyBsYWJlbDogZGVmYXVsdFZhbHVlLCB2YWx1ZTogZGVmYXVsdFZhbHVlIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PVwiZGF0YWNvcmUtc2VsZWN0YWJsZVwiXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRPcHRpb259XG4gICAgICAgICAgICBvbkNoYW5nZT17KG52LCBfYW0pID0+IG9uQ2hhbmdlKG52Py52YWx1ZSl9XG4gICAgICAgICAgICB1bnN0eWxlZFxuICAgICAgICAvPlxuICAgICk7XG59XG5cbi8qKiBTZWxlY3RhYmxlIG9wdGlvbnMgZm9yIHBpY2tpbmcgd2hpY2ggbGFuZ3VhZ2UgdG8gZXhlY3V0ZSB0aGUgc2NyaXB0IGluLiAqL1xuY29uc3QgTEFOR1VBR0VfT1BUSU9OUzogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogU2NyaXB0TGFuZ3VhZ2UgfVtdID0gW1xuICAgIHsgbGFiZWw6IFwiSmF2YXNjcmlwdFwiLCB2YWx1ZTogXCJqc1wiIH0sXG4gICAgeyBsYWJlbDogXCJUeXBlc2NyaXB0XCIsIHZhbHVlOiBcInRzXCIgfSxcbiAgICB7IGxhYmVsOiBcIkphdmFzY3JpcHQgKEpTWClcIiwgdmFsdWU6IFwianN4XCIgfSxcbiAgICB7IGxhYmVsOiBcIlR5cGVzY3JpcHQgSlNYXCIsIHZhbHVlOiBcInRzeFwiIH0sXG5dO1xuXG4vKiogU1ZHIGJhY2sgYnV0dG9uIHNob3duIHRvIGV4aXQgdGhlIHNldHRpbmdzIHZpZXcuICovXG5jb25zdCBCQUNLX0JVVFRPTiA9IChcbiAgICA8c3ZnXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgY2xhc3M9XCJzdmctaWNvbiBsdWNpZGUtYXJyb3ctbGVmdFwiXG4gICAgPlxuICAgICAgICA8cGF0aCBkPVwibTEyIDE5LTctNyA3LTdcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTkgMTJINVwiPjwvcGF0aD5cbiAgICA8L3N2Zz5cbik7XG5cbi8qKiBTdGF0ZSBmb3IgdGhlIGRhdGFjb3JlIHZpZXcgcGFnZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWNvcmVWaWV3U3RhdGUge1xuICAgIC8qKiBDdXN0b20gdGl0bGUgZm9yIHRoZSB2aWV3IHBhbmUuICovXG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgLyoqIExhbmd1YWdlIHRoYXQgdGhlIHNjcmlwdCB3aWxsIGJlIGV4ZWN1dGVkIGluLiAqL1xuICAgIHNvdXJjZVR5cGU/OiBTY3JpcHRMYW5ndWFnZTtcbiAgICAvKiogSWYgZGVmaW5lZCwgdGhlIGZpbGUgdGhlIHZpZXcgd2lsbCBiZSByZWxhdGl2ZSB0by4gKi9cbiAgICBjdXJyZW50RmlsZT86IHN0cmluZztcbiAgICAvKiogQ29udGVudHMgb2YgdGhlIHNjcmlwdC4gKi9cbiAgICBzY3JpcHQ/OiBzdHJpbmc7XG4gICAgLyoqIFRoZSBjdXJyZW50IHZpZXc7IGRlZmF1bHRzIHRvICdzZXR0aW5ncycgZm9yIGluaXRpYWxpemF0aW9uLiAqL1xuICAgIHZpZXc/OiBcInNldHRpbmdzXCIgfCBcInNjcmlwdFwiO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0YWNvcmVRdWVyeVZpZXcgZXh0ZW5kcyBJdGVtVmlldyB7XG4gICAgLyoqIEludGVybmFsIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHZpZXc7IGNhbiBiZSBtb2RpZmllZCBieSBzZXRTdGF0ZS4gKi9cbiAgICBwdWJsaWMgaW50ZXJuYWxTdGF0ZTogRGF0YWNvcmVWaWV3U3RhdGUgPSB7XG4gICAgICAgIHRpdGxlOiBcIk5ldyB2aWV3XCIsXG4gICAgICAgIHNjcmlwdDogXCJcIixcbiAgICAgICAgc291cmNlVHlwZTogXCJqc1wiLFxuICAgICAgICB2aWV3OiBcInNldHRpbmdzXCIsXG4gICAgfTtcblxuICAgIC8qKiBUaGUgY3VycmVudCBhY3RpdmUgdmlldyAtIGVpdGhlciB0aGUgc2V0dGluZ3MgdmlldyAqL1xuICAgIHByaXZhdGUgYWN0aXZlVmlldzogTWFya2Rvd25SZW5kZXJDaGlsZDtcbiAgICBwcml2YXRlIGFjdGl2ZVZpZXdUeXBlOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihsZWFmOiBXb3Jrc3BhY2VMZWFmLCBwdWJsaWMgYXBpOiBEYXRhY29yZUFwaSkge1xuICAgICAgICBzdXBlcihsZWFmKTtcbiAgICAgICAgdGhpcy5yZXJlbmRlcigpO1xuICAgIH1cblxuICAgIC8qKiBTaG91bGQgYWx3YXlzIGJlIFZJRVdfVFlQRV9EQVRBQ09SRUpTLiAqL1xuICAgIGdldFZpZXdUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBWSUVXX1RZUEVfREFUQUNPUkVKUztcbiAgICB9XG5cbiAgICAvKiogVGV4dCBzaG93biBpbiB0aGUgdGl0bGUgd2luZG93LiAqL1xuICAgIGdldERpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmludGVybmFsU3RhdGUudGl0bGV9IChEYXRhY29yZUpTKWA7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIG9ubG9hZCgpIHtcbiAgICAgICAgdGhpcy5jb250ZW50RWwuYWRkQ2xhc3MoXCJtYXJrZG93bi1yZW5kZXJlZFwiKTtcbiAgICAgICAgdGhpcy5yZXJlbmRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlVmlldykgdGhpcy5yZW1vdmVDaGlsZCh0aGlzLmFjdGl2ZVZpZXcpO1xuICAgIH1cblxuICAgIC8qKiBTeW5jaHJvbml6ZXMgdGhlIHNjcmVlbiBzdGF0ZSB0byBwcm9wZXJseSByZWZsZWN0IHRoZSBjdXJyZW50IGludGVybmFsIHN0YXRlLiAqL1xuICAgIHJlcmVuZGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxlYWYudGFiSGVhZGVySW5uZXJUaXRsZUVsLnRleHRDb250ZW50ID0gdGhpcy50aXRsZUVsLnRleHRDb250ZW50ID0gdGhpcy5nZXREaXNwbGF5VGV4dCgpO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVWaWV3VHlwZSA9PSB0aGlzLmludGVybmFsU3RhdGUudmlldykgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcpIHRoaXMucmVtb3ZlQ2hpbGQodGhpcy5hY3RpdmVWaWV3KTtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJuYWxTdGF0ZS52aWV3ID09PSBcInNldHRpbmdzXCIpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlld1R5cGUgPSBcInNldHRpbmdzXCI7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcgPSBuZXcgUmVhY3RSZW5kZXJlcihcbiAgICAgICAgICAgICAgICB0aGlzLmFwcCxcbiAgICAgICAgICAgICAgICB0aGlzLmFwaS5jb3JlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEVsLFxuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxTdGF0ZS5jdXJyZW50RmlsZSB8fCBcIlwiLFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgPENVU1RPTV9WSUVXX0NPTlRFWFQuUHJvdmlkZXIgdmFsdWU9e3RoaXN9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPERhdGFjb3JlVmlld1NldHRpbmdzIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvQ1VTVE9NX1ZJRVdfQ09OVEVYVC5Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgYSBzY3JpcHQsIHRyeSB0byBleGVjdXRlIGl0OyBvdGhlcndpc2UsIHNob3cgYSByZWFzb25hYmxlIGVycm9yIG1lc3NhZ2UuXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXdUeXBlID0gXCJzY3JpcHRcIjtcbiAgICAgICAgICAgIGlmICh0aGlzLmludGVybmFsU3RhdGUuc2NyaXB0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gbmV3IERhdGFjb3JlSlNSZW5kZXJlcihcbiAgICAgICAgICAgICAgICAgICAgbmV3IERhdGFjb3JlTG9jYWxBcGkodGhpcy5hcGksIHRoaXMuaW50ZXJuYWxTdGF0ZS5jdXJyZW50RmlsZSB8fCBcIlwiKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWwsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxTdGF0ZS5jdXJyZW50RmlsZSB8fCBcIlwiLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsU3RhdGUuc2NyaXB0IHx8IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxTdGF0ZS5zb3VyY2VUeXBlIHx8IFwianNcIlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlldyA9IG5ldyBSZWFjdFJlbmRlcmVyKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcGkuY29yZSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWwsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxTdGF0ZS5jdXJyZW50RmlsZSB8fCBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q1VTVE9NX1ZJRVdfQ09OVEVYVC5Qcm92aWRlciB2YWx1ZT17dGhpc30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEVycm9yTWVzc2FnZSBtZXNzYWdlPVwiTm8gc2NyaXB0IGRlZmluZWQgZm9yIHRoaXMgdmlldy5cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9DVVNUT01fVklFV19DT05URVhULlByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWRkQ2hpbGQodGhpcy5hY3RpdmVWaWV3KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVybmFsU3RhdGU7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhpcyB2aWV3IHdpdGggbmV3IG1ldGFkYXRhLiBHZW5lcmFsbHkgY29udHJvbGxlZCBieSB0aGUgc2V0dGluZ3MgcGFuZS4gKi9cbiAgICBwdWJsaWMgYXN5bmMgc2V0U3RhdGUoc3RhdGU6IERhdGFjb3JlVmlld1N0YXRlLCBfcmVzdWx0OiBWaWV3U3RhdGVSZXN1bHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXRlID0gc3RhdGU7XG4gICAgICAgIHRoaXMucmVyZW5kZXIoKTtcbiAgICB9XG5cbiAgICAvKiogU3dhcCB0aGUgYWN0aXZlIHZpZXcuICovXG4gICAgcHVibGljIHZpZXcobW9kZTogXCJzZXR0aW5nc1wiIHwgXCJzY3JpcHRcIik6IHZvaWQge1xuICAgICAgICB0aGlzLmludGVybmFsU3RhdGUudmlldyA9IG1vZGU7XG4gICAgICAgIHRoaXMucmVyZW5kZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgb25PcGVuKCk6IFByb21pc2U8dm9pZD4ge31cblxuICAgIC8qKiBIYW5kbGUgZm9yIHJpZ2h0IGNsaWNrIG1lbnVzLiAqL1xuICAgIHB1YmxpYyBvblBhbmVNZW51KG1lbnU6IE1lbnUsIHNvdXJjZTogXCJtb3JlLW9wdGlvbnNcIiB8IFwidGFiLWhlYWRlclwiIHwgc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChzb3VyY2UgPT09IFwibW9yZS1vcHRpb25zXCIpIHtcbiAgICAgICAgICAgIG1lbnUuYWRkSXRlbSgoaXQpID0+IHtcbiAgICAgICAgICAgICAgICBpdC5zZXRJY29uKFwic2V0dGluZ3NcIik7XG4gICAgICAgICAgICAgICAgaXQuc2V0VGl0bGUoXCJDb25maWd1cmUgVmlld1wiKTtcbiAgICAgICAgICAgICAgICBpdC5vbkNsaWNrKChlKSA9PiB0aGlzLnZpZXcoXCJzZXR0aW5nc1wiKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBEYXRhY29yZSB9IGZyb20gXCJpbmRleC9kYXRhY29yZVwiO1xuaW1wb3J0IHsgdXNlSW5kZXhVcGRhdGVzIH0gZnJvbSBcInVpL2hvb2tzXCI7XG5cbi8qKiBSZW5kZXIgYSBoZWxwZnVsIHN0YXR1cyBpbmRpY2F0b3IgaW4gdGhlIHN0YXR1cyBiYXIgb2YgaG93IHRoZSBpbXBvcnQgaXMgZ29pbmcuICovXG5leHBvcnQgZnVuY3Rpb24gSW5kZXhTdGF0dXNCYXIoeyBkYXRhY29yZSB9OiB7IGRhdGFjb3JlOiBEYXRhY29yZSB9KSB7XG4gICAgdXNlSW5kZXhVcGRhdGVzKGRhdGFjb3JlLCB7IGRlYm91bmNlOiAyNTAgfSk7XG5cbiAgICAvLyBXaGVuZXZlciB0aGUgdmlldyB1cGRhdGVzLCBmaWd1cmUgb3V0IHdoYXQgc3RhdGUgd2UgYXJlIGluIGJhc2VkIG9uIGlmIGFuIGluaXRpYWxpemVyIGlzIHByZXNlbnQuXG4gICAgaWYgKGRhdGFjb3JlLmluaXRpYWxpemVyKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICBTY2FubmluZyB7ZGF0YWNvcmUuaW5pdGlhbGl6ZXIuaW5pdGlhbGl6ZWR9IG9mIHtkYXRhY29yZS5pbml0aWFsaXplci5maWxlc30gZmlsZXNcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGRhdGFjb3JlLmltcG9ydGVyLnF1ZXVlLnNpemUoKSA+IDApIHtcbiAgICAgICAgcmV0dXJuIDxzcGFuPlVwZGF0aW5nIHtkYXRhY29yZS5pbXBvcnRlci5xdWV1ZS5zaXplKCl9IGZpbGVzPC9zcGFuPjtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gPHNwYW4+e2RhdGFjb3JlLmRhdGFzdG9yZS5zaXplfSBvYmplY3RzPC9zcGFuPjtcbiAgICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBLCtEQUFBQSxTQUFBO0FBQUEsS0FBQyxTQUFTQyxJQUFFQyxJQUFFO0FBQUMsa0JBQVUsT0FBTyxXQUFTLFlBQVUsT0FBT0YsVUFBT0EsUUFBTyxVQUFRRSxHQUFFLElBQUUsY0FBWSxPQUFPLFVBQVEsT0FBTyxNQUFJLE9BQU8sQ0FBQyxHQUFFQSxFQUFDLElBQUUsWUFBVSxPQUFPLFVBQVEsUUFBUSxZQUFVQSxHQUFFLElBQUVELEdBQUUsWUFBVUMsR0FBRTtBQUFBLElBQUMsRUFBRSxlQUFhLE9BQU8sT0FBSyxPQUFLLFNBQUssV0FBVTtBQUFDLGFBQU8sU0FBU0QsSUFBRTtBQUFDLFlBQUlDLEtBQUUsQ0FBQztBQUFFLGlCQUFTQyxHQUFFQyxJQUFFO0FBQUMsY0FBR0YsR0FBRUUsRUFBQyxFQUFFLFFBQU9GLEdBQUVFLEVBQUMsRUFBRTtBQUFRLGNBQUlDLEtBQUVILEdBQUVFLEVBQUMsSUFBRSxFQUFDLEdBQUVBLElBQUUsR0FBRSxP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QU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFBQU87QUFBQSxJQUNULEtBQUssVUFBVTtBQUNiLGFB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V0FBVSxNQUFNLElBQUksSUFBSSxJQUFJO0FBQ3ZELFFBQU0sTUFBTTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsS0FBSyxJQUFJLEdBQUcsSUFBSTtBQUNwRCxRQUFNLFFBQVE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLE9BQU8sSUFBSSxLQUFLLElBQUk7QUFDMUQsUUFBTSxTQUFTO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxRQUFRLElBQUksTUFBTSxJQUFJO0FBQzdELFFBQU0sU0FBUztBQUFJLEVBQUFBLFdBQVVBLFdBQVUsUUFBUSxJQUFJLE1BQU0sSUFBSTtBQUM3RCxRQUFNLFNBQVM7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFFBQVEsSUFBSSxNQUFNLElBQUk7QUFDN0QsUUFBTSxTQUFTO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxRQUFRLElBQUksTUFBTSxJQUFJO0FBQzdELFFBQU0sU0FBUztBQUFJLEVBQUFBLFdBQVVBLFdBQVUsUUFBUSxJQUFJLE1BQU0sSUFBSTtBQUM3RCxRQUFNLFNBQVM7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFFBQVEsSUFBSSxNQUFNLElBQUk7QUFDN0QsUUFBTSxTQUFTO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxRQUFRLElBQUksTUFBTSxJQUFJO0FBQzdELFFBQU0sU0FBUztBQUFJLEVBQUFBLFdBQVVBLFdBQVUsUUFBUSxJQUFJLE1BQU0sSUFBSTtBQUM3RCxRQUFNLFNBQVM7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFFBQVEsSUFBSSxNQUFNLElBQUk7QUFDN0QsUUFBTSxTQUFTO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxRQUFRLElBQUksTUFBTSxJQUFJO0FBQzdELFFBQU0sUUFBUTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsT0FBTyxJQUFJLEtBQUssSUFBSTtBQUMxRCxRQUFNQyxhQUFZO0FBQUksRUFBQUQsV0FBVUEsV0FBVSxXQUFXLElBQUlDLFVBQVMsSUFBSTtBQUN0RSxRQUFNLFdBQVc7QUFBSSxFQUFBRCxXQUFVQSxXQUFVLFVBQVUsSUFBSSxRQUFRLElBQUk7QUFDbkUsUUFBTSxXQUFXO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxVQUFVLElBQUksUUFBUSxJQUFJO0FBQ25FLFFBQU0sY0FBYztBQUFJLEVBQUFBLFdBQVVBLFdBQVUsYUFBYSxJQUFJLFdBQVcsSUFBSTtBQUM1RSxRQUFNLGVBQWU7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLGNBQWMsSUFBSSxZQUFZLElBQUk7QUFDL0UsUUFBTSxTQUFTO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxRQUFRLElBQUksTUFBTSxJQUFJO0FBQzdELFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxvQkFBb0I7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLG1CQUFtQixJQUFJLGlCQUFpQixJQUFJO0FBQzlGLFFBQU0sWUFBWTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsV0FBVyxJQUFJLFNBQVMsSUFBSTtBQUN0RSxRQUFNLHFCQUFxQjtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsb0JBQW9CLElBQUksa0JBQWtCLElBQUk7QUFDakcsUUFBTUUsU0FBUTtBQUFJLEVBQUFGLFdBQVVBLFdBQVUsT0FBTyxJQUFJRSxNQUFLLElBQUk7QUFDMUQsUUFBTSxhQUFhO0FBQUksRUFBQUYsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sY0FBYztBQUFJLEVBQUFBLFdBQVVBLFdBQVUsYUFBYSxJQUFJLFdBQVcsSUFBSTtBQUM1RSxRQUFNLGFBQWE7QUFBSSxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDekUsUUFBTSxhQUFhO0FBQUksRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQ3pFLFFBQU0sYUFBYTtBQUFJLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUN6RSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFBVSxJQUFJO0FBQzFFLFFBQU0sYUFBYTtBQUFLLEVBQUFBLFdBQVVBLFdBQVUsWUFBWSxJQUFJLFVBQVUsSUFBSTtBQUMxRSxRQUFNLGFBQWE7QUFBSyxFQUFBQSxXQUFVQSxXQUFVLFlBQVksSUFBSSxVQUFVLElBQUk7QUFDMUUsUUFBTSxhQUFhO0FBQUssRUFBQUEsV0FBVUEsV0FBVSxZQUFZLElBQUksVUFB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QUFTLFVBQVUsVUFBVSxRQUFRLFdBQVcsVUFBVSxRQUFRLFdBQVc7QUFDM0Usc0JBQW9CLE9BQU8sSUFBSTtBQUNqQzs7O0FDNUJPLElBQU0saUJBQWlCLElBQUksV0FBVztBQUFBO0FBQUEsRUFFM0M7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFLO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBO0FBQUEsRUFFOUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFM0c7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFeEc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekcsa0JBQWtCLGFBQWE7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFdEk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekcsa0JBQWtCLGFBQWE7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFdEksa0JBQWtCLE9BQU87QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBO0FBQUEsRUFFbEk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekcsa0JBQWtCLFdBQVc7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFckksa0JBQWtCLFlBQVk7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFckk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekcsa0JBQWtCLFVBQVU7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFbkk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekcsa0JBQWtCLFVBQVU7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFbkk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFLO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsR0FFeEcsVUFBRyxVQUFVLEtBQUs7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUg7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFL0c7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSztBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFM0c7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUs7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsR0FFeEcsVUFBRyxTQUFTLEtBQUs7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFekg7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsR0FFekcsVUFBRyxVQUFVLEtBQUs7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUg7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUcsa0JBQWtCLFdBQVc7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFcEk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsR0FFekcsVUFBRyxVQUFVLEtBQUs7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUg7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFNUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsR0FFekcsVUFBRyxVQUFVLEtBQUs7QUFBQSxFQUFHO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFNUg7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBO0FBQUEsRUFFMUcsa0JBQWtCLGdCQUFnQjtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6STtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLGFBQWEsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU3SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVoSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLGFBQWEsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU3SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsWUFBWTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVySTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFlBQVksS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFdBQVcsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUUxSCxVQUFHLE9BQU8sS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV2SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU5RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFNBQVMsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsU0FBUztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVsSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFdBQVcsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU3SCxrQkFBa0IsWUFBWTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVySTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFlBQVksS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1SDtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVsSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFlBQVksS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFFBQVEsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV4SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsU0FBUztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVsSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLGFBQWEsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU3SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsUUFBUTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVqSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUUvRyxVQUFHLE9BQU8sS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV2SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsZUFBZTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV4STtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFdBQVcsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUUxSCxVQUFHLE9BQU8sS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU3SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsVUFBVTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVuSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLGVBQWUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUvSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsY0FBYztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV2SSxrQkFBa0IsT0FBTztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVoSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsVUFBVTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVuSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFFBQVEsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV4SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU5RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsY0FBYztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV2STtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFFBQVEsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV4SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFNBQVMsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVoSCxrQkFBa0IsT0FBTztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVoSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsUUFBUTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVqSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsYUFBYTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV0STtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsWUFBWTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVySTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsY0FBYztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV2SSxrQkFBa0IsVUFBVTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVuSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU5RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsYUFBYTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV0STtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsWUFBWTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVySTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFdBQVcsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUzSDtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUE7QUFBQSxFQUVwSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsY0FBYztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV2STtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsUUFBUTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVqSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFdBQVcsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUzSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUE7QUFBQSxFQUU5RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFNBQVMsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFNBQVMsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV4SCxVQUFHLFFBQVEsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV4SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsU0FBUztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFdBQVcsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUzSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsV0FBVztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVwSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRyxrQkFBa0IsVUFBVTtBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUVuSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFFBQVEsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV4SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFNBQVMsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUU1RztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxSDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFNBQVMsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUV6SDtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBTTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQU07QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxFQUUxRztBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFNO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUE7QUFBQSxHQUV6RyxVQUFHLFVBQVUsS0FBSztBQUFBLEVBQUc7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFBQSxFQUFJO0FBQUEsRUFBSTtBQUFBLEVBQUk7QUFB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akIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLE9BQU8sTUFBUTtBQUFBLEVBQ2hCLENBQUMsT0FBTyxNQUFRO0FBQUEsRUFDaEIsQ0FBQyxPQUFPLE1BQVE7QUFBQSxFQUNoQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsT0FBTyxNQUFRO0FBQUEsRUFDaEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxRQUFRLE1BQVE7QUFBQSxFQUNqQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxRQUFRLE1BQVE7QUFBQSxFQUNqQixDQUFDLE9BQU8sTUFBUTtBQUFBLEVBQ2hCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxRQUFRLE1BQVE7QUFBQSxFQUNqQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLE1BQVE7QUFBQSxFQUNsQixDQUFDLFFBQVEsTUFBUTtBQUFBLEVBQ2pCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxNQUFRO0FBQUEsRUFDakIsQ0FBQyxPQUFPLE1BQVE7QUFBQSxFQUNoQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFNBQVMsTUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxRQUFRLE1BQVE7QUFBQSxFQUNqQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxNQUFRO0FBQUEsRUFDbkIsQ0FBQyxVQUFVLE1BQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxRQUFRLE1BQVE7QUFBQSxFQUNqQixDQUFDLFVBQVUsTUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxNQUFRO0FBQUEsRUFDbEIsQ0FBQyxRQUFRLE1BQVE7QUFBQSxFQUNqQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLFFBQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFdBQVcsUUFBUTtBQUFBLEVBQ3BCLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsTUFBTSxRQUFRO0FBQUEsRUFDZixDQUFDLE1BQU0sUUFBUTtBQUFBLEVBQ2YsQ0FBQyxNQUFNLFFBQVE7QUFBQSxFQUNmLENBQUMsV0FBVyxRQUFRO0FBQUEsRUFDcEIsQ0FBQyxNQUFNLFFBQVE7QUFBQSxFQUNmLENBQUMsT0FBTyxRQUFRO0FBQUEsRUFDaEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLE9BQU8sUUFBUTtBQUFBLEVBQ2hCLENBQUMsV0FBVyxRQUFRO0FBQUEsRUFDcEIsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLE9BQU8sUUFBUTtBQUFBLEVBQ2hCLENBQUMsT0FBTyxRQUFRO0FBQUEsRUFDaEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsV0FBVyxRQUFRO0FBQUEsRUFDcEIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLE9BQU8sUUFBUTtBQUFBLEVBQ2hCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxNQUFNLFFBQVE7QUFBQSxFQUNmLENBQUMsTUFBTSxRQUFRO0FBQUEsRUFDZixDQUFDLE1BQU0sUUFBUTtBQUFBLEVBQ2YsQ0FBQyxXQUFXLFFBQVE7QUFBQSxFQUNwQixDQUFDLE1BQU0sUUFBUTtBQUFBLEVBQ2YsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLFdBQVcsUUFBUTtBQUFBLEVBQ3BCLENBQUMsT0FBTyxRQUFRO0FBQUEsRUFDaEIsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLE9BQU8sUUFBUTtBQUFBLEVBQ2hCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxZQUFZLFFBQVE7QUFBQSxFQUNyQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsT0FBTyxRQUFRO0FBQUEsRUFDaEIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLFFBQVEsUUFBUTtBQUFBLEVBQ2pCLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxRQUFRLFFBQVE7QUFBQSxFQUNqQixDQUFDLE9BQU8sUUFBUTtBQUFBLEVBQ2hCLENBQUMsT0FBTyxRQUFRO0FBQUEsRUFDaEIsQ0FBQyxPQUFPLFFBQVE7QUFBQSxFQUNoQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxVQUFVLFFBQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxVQUFVLFFBQVE7QUFBQSxFQUNuQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsU0FBUyxRQUFRO0FBQUEsRUFDbEIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFVBQVUsUUFBUTtBQUFBLEVBQ25CLENBQUMsVUFBVSxRQUFRO0FBQUEsRUFDbkIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFNBQVMsUUFBUTtBQUFBLEVBQ2xCLENBQUMsUUFBUSxRQUFRO0FBQUEsRUFDakIsQ0FBQyxTQUFTLFFBQVE7QUFBQSxFQUNsQixDQUFDLFVB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UztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFDRCxNQUFNO0FBQUEsRUFDTixTQUFTO0FBQ1gsR0FBRztBQUFBLEVBQ0QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUNYLEdBQUc7QUFBQSxFQUNELE1BQU07QUFBQSxFQUNOLFNBQVM7QUFDWCxHQUFHO0FBQUEsRUFD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SyxTQUFTLEtBQUssT0FBTyxTQUFTLGtCQUFrQixFQUFFLFNBQVMsT0FBTyxVQUFVO0FBQzdFLGNBQU0sS0FBSyxPQUFPLGVBQWUsRUFBRSxvQkFBb0IsTUFBTSxDQUFDO0FBQUEsTUFDbEUsQ0FBQztBQUFBLElBQ0wsQ0FBQztBQUVMLFFBQUksMEJBQVEsS0FBSyxXQUFXLEVBQ3ZCLFFBQVEseUNBQXlDLEVBQ2pEO0FBQUEsTUFDRztBQUFBLElBRUosRUFDQyxVQUFVLENBQUMsT0FBTztBQUNmLFNBQUcsU0FBUyxLQUFLLE9BQU8sU0FBUywrQkFBK0IsRUFBRSxTQUFTLE9BQU8sUUFBUTtBQUN0RixjQUFNLEtBQUssT0FBTyxlQUFlLEVBQUUsaUNBQWlDLElBQUksQ0FBQztBQUFBLE1BQzdFLENBQUM7QUFBQSxJQUNMLENBQUM7QUFBQSxFQUNUO0FBQ0o7IiwKICAibmFtZXMiOiBbIm1vZHVsZSIsICJuIiwgInQiLCAiciIsICJlIiwgInUiLCAibyIsICJpIiwgImEiLCAiZiIsICJjIiwgInMiLCAibCIsICJ4IiwgImIiLCAiaCIsICJwIiwgImQiLCAidiIsICJnIiwgIm0iLCAieSIsICJFIiwgInciLCAiQiIsICJqIiwgIlMiLCAiXyIsICJMIiwgIk8iLCAiayIsICJQIiwgInEiLCAiQSIsICJJIiwgIkYiLCAiTSIsICJ6IiwgIlIiLCAiVSIsICJXIiwgIkQiLCAiTiIsICJHIiwgIkMiLCAiSiIsICJUIiwgIlkiLCAiViIsICJIIiwgIlgiLCAiSyIsICJRIiwgIloiLCAiJCIsICJubiIsICJ0biIsICJybiIsICJhbiIsICJlbiIsICJ1biIsICJmbiIsICJjbiIsICJzbiIsICJsbiIsICJobiIsICJwbiIsICJkbiIsICJ2biIsICJnbiIsICJtbiIsICJ5biIsICJpbmRleCIsICJhcnJheSIsICJsZW5ndGgiLCAiaSIsICJrIiwgInNlbWljb2xvbiIsICJpIiwgImMiLCAic2hpZnQiLCAibWF4IiwgInYiLCAiY2hhciIsICJpbnB1dCIsICJsZW5ndGgiLCAibGluZSIsICJjb2x1bW4iLCAiaW5kZXgiLCAic3RhdGUiLCAibmV4dCIsICJsIiwgImEiLCAiYiIsICJqIiwgImlucHV0IiwgIm1hdGNoIiwgImhhc2giLCAidXJsIiwgImluZGV4IiwgImkiLCAiaW5wdXQiLCAiaW5kZXgiLCAiaSIsICJsaW5lIiwgImoiLCAiYSIsICJiIiwgInN0YXRlIiwgInNvdXJjZUluZGV4IiwgImFycmF5IiwgInBhcnNlIiwgIm9mZnNldCIsICJhcHBlbmQiLCAiY29sdW1uIiwgImlzU3RyaW5nIiwgImZyb20iLCAicyIsICJlbmNvZGUiLCAiZGVjb2RlIiwgImNsb25lIiwgImJzRm91bmQiLCAibWluIiwgIm1heCIsICJHZW5NYXBwaW5nIiwgIlNldEFycmF5IiwgIm1heWJlQWRkU2VnbWVudCIsICJpbmRleCIsICJwdXQiLCAicmVtb3ZlIiwgInRvRW5jb2RlZE1hcCIsICJlbmNvZGUiLCAiaW5wdXQiLCAiVHJhY2VNYXAiLCAiZGVjb2RlZE1hcHBpbmdzIiwgImkiLCAibGluZSIsICJqIiwgImFycmF5IiwgImxlbmd0aCIsICJwcmV2IiwgImQiLCAiYiIsICJwIiwgIlZFcnJvciIsICJOb29wQ29udGV4dCIsICJEZXRhaWxDb250ZXh0IiwgInUiLCAiaSIsICJtIiwgIkRldGFpbFVuaW9uUmVzb2x2ZXIiLCAiZCIsICJiIiwgInAiLCAiVFR5cGUiLCAibmFtZSIsICJUTmFtZSIsICJsaXQiLCAiVExpdGVyYWwiLCAiYXJyYXkiLCAiVEFycmF5IiwgImkiLCAiX2kiLCAidCIsICJUVHVwbGUiLCAidW5pb24iLCAiVFVuaW9uIiwgIm4iLCAiVEludGVyc2VjdGlvbiIsICJURW51bVR5cGUiLCAiVEVudW1MaXRlcmFsIiwgImlmYWNlIiwgIlRJZmFjZSIsICJ2IiwgIm9wdCIsICJUT3B0aW9uYWwiLCAiVFByb3AiLCAiVEZ1bmMiLCAiVFBhcmFtIiwgIlRQYXJhbUxpc3QiLCAicGFyYW0iLCAiQmFzaWNUeXBlIiwgImFycmF5XzEiLCAicyIsICJpIiwgInIiLCAiayIsICJhIiwgImoiLCAiY3JlYXRlQ2hlY2tlcnMiLCAiQ2hlY2tlciIsICJwIiwgIkxpbmVzQW5kQ29sdW1ucyIsICJzdHJpbmciLCAib2Zmc2V0IiwgImluZGV4IiwgImxpbmUiLCAiY29sdW1uIiwgIkVsZW1lbnQiLCAiaXNFbGVtZW50IiwgIm1vZHVsZSIsICJtb2R1bGUiLCAiaSIsICJlIiwgIm1vZHVsZSIsICJoYXNPd25Qcm9wZXJ0eSIsICJpIiwgIm4iLCAiZnJvbSIsICJzIiwgIm1vZHVsZSIsICJtb2R1bGUiLCAibW9kdWxlIiwgInRleHQiLCAieCIsICJtb2R1bGUiLCAiYXNzaWduIiwgInRleHQiLCAieCIsICJ5IiwgImkiLCAiY2hlY2tlciIsICJpc05vZGUiLCAibW9kdWxlIiwgImQiLCAiYiIsICJwIiwgImEiLCAiQlRyZWUiLCAiayIsICJ2IiwgImkiLCAibmV4dCIsICJzdGF0ZSIsICJjdXJzb3IiLCAibm9kZSIsICJuIiwgIm1pbiIsICJtYXgiLCAiciIsICJ0IiwgInNpemUiLCAiQk5vZGUiLCAibG8iLCAiYyIsICJfIiwgIkJOb2RlSW50ZXJuYWwiLCAibGVuZ3RoIiwgIm1vZHVsZSIsICJmIiwgImciLCAiZGVmaW5lIiwgImV4cG9ydHMiLCAiZSIsICJ0IiwgIm4iLCAiciIsICJzIiwgIm8iLCAidSIsICJhIiwgImkiLCAibCIsICJnbG9iYWwiLCAiUHJvbWlzZSIsICJzZWxmIiwgIl90eXBlb2YiLCAiX2NsYXNzQ2FsbENoZWNrIiwgImtleSIsICJsZW5ndGgiLCAiaWRiIiwgIm9wdGlvbnMiLCAiaiIsICJrIiwgImZvcmFnZSIsICJjdXJzb3IiLCAidmFsdWUiLCAiZXJyIiwgImtleXMiLCAiZGIiLCAicCIsICJzZXJpYWxpemUiLCAiZXJyb3IiLCAicmVzb2x2ZSIsICJyZWplY3QiLCAic2FtZVZhbHVlIiwgIngiLCAieSIsICJpbmNsdWRlcyIsICJhcnJheSIsICJpc0FycmF5IiwgIkxvY2FsRm9yYWdlIiwgImNvbmZpZyIsICJjb25maWd1cmVNaXNzaW5nTWV0aG9kcyIsICJtZXRob2ROb3RJbXBsZW1lbnRlZEZhY3RvcnkiLCAicHJvbWlzZSIsICJzZXREcml2ZXJTdXBwb3J0IiwgInN1cHBvcnRlZERyaXZlcnMiLCAiUXVldWUiLCAicmVxdWlyZV9xdWV1ZSIsICJRdWV1ZSIsICJvIiwgImUiLCAibmV4dCIsICJhIiwgImsiLCAieCIsICJuIiwgImlucHV0IiwgInN0cmluZyIsICJmIiwgImQiLCAicDIiLCAibSIsICJ1IiwgInYiLCAib2Zmc2V0IiwgImxlbmd0aCIsICJzIiwgInRva2VuIiwgImkiLCAiYyIsICJuIiwgInAiLCAic3RyaW5nIiwgImZvcm1hdE9mZnNldCIsICJsZW5ndGgiLCAidCIsICJpIiwgInMiLCAiZSIsICJzaW5nbGV0b24iLCAib2Zmc2V0IiwgInMiLCAiciIsICJpbnB1dCIsICJkZWZhdWx0Wm9uZSIsICJvZmZzZXQiLCAibiIsICJ0IiwgIm9wdGlvbnMiLCAiZSIsICJmIiwgImkiLCAibGVuZ3RoIiwgImZsb29yIiwgInoiLCAibSIsICJmIiwgInIiLCAibSIsICJjdXJzb3IiLCAibmV4dCIsICJzIiwgInJlZ2V4IiwgIm1hdGNoIiwgImkiLCAib2Zmc2V0IiwgIm4iLCAiY29uZmlnIiwgInRleHQiLCAibyIsICJsIiwgInMiLCAiayIsICJmbiIsICJ1IiwgImkiLCAidjIiLCAiSU5WQUxJRCIsICJlbmQiLCAiY29uZmlnIiwgInRleHQiLCAicyIsICJlIiwgIm8iLCAiZCIsICJpIiwgIm5leHQiLCAieCIsICJhIiwgImIiLCAiaW5wdXQiLCAibGVuZ3RoIiwgImN1cnNvciIsICJhIiwgImIiLCAidSIsICJpIiwgIm1pbiIsICJtYXgiLCAiYXBwZW5kIiwgInJlZ2V4IiwgImkiLCAicyIsICJoIiwgIm0iLCAidG9rZW4iLCAidCIsICJ1IiwgImYiLCAiciIsICJpbnB1dCIsICJrIiwgInAiLCAiZCIsICJpIiwgIklOVkFMSUQiLCAiY2xvbmUiLCAibyIsICJvMiIsICJvMyIsICJvZmZzZXQiLCAiZCIsICJjIiwgInRleHQiLCAib3JkZXJlZFVuaXRzIiwgInUiLCAiZW5kIiwgInJvdW5kIiwgImNvbmZpZyIsICJvcHRpb25zIiwgInYiLCAicSIsICJpIiwgIl8iLCAidGV4dCIsICJlbmQiLCAib2Zmc2V0IiwgInBvc2l0aW9uIiwgIlAiLCAiTGl0ZXJhbHMiLCAiZiIsICJlIiwgImlzTnVtYmVyIiwgImlzU3RyaW5nIiwgImlzRGF0ZSIsICJpc0FycmF5IiwgIngiLCAiZjIiLCAiaW5kZXgiLCAibzIiLCAiazIiLCAidiIsICJHcm91cGluZ3MiLCAic2xpY2UiLCAiZW5kIiwgImYiLCAiUmVzdWx0IiwgImEiLCAiYiIsICJpbnB1dCIsICJGaWx0ZXJzIiwgIngiLCAidW5pb24iLCAiYSIsICJiIiwgImF0b20iLCAibmVnYXRlZCIsICJFeHByZXNzaW9ucyIsICJpbmRleCIsICJmdW5jIiwgImEiLCAidiIsICJrIiwgIl8iLCAicSIsICJwIiwgImwiLCAiYSIsICJiIiwgImQiLCAidCIsICJ4IiwgImMiLCAiZiIsICJfMiIsICJfMyIsICJjb21iaW5lIiwgIm5vZGUiLCAiaW5kZXgiLCAiZiIsICJhIiwgImlucHV0IiwgImkiLCAibmV4dCIsICJtYXRjaCIsICJtYXRjaDIiLCAibCIsICJzbGljZSIsICJvcHRpb25zIiwgInZub2RlSWQiLCAiaXNWYWxpZEVsZW1lbnQiLCAicmVyZW5kZXJRdWV1ZSIsICJwcmV2RGVib3VuY2UiLCAiZGVmZXIiLCAiZGVwdGhTb3J0IiwgImV2ZW50Q2xvY2siLCAiZXZlbnRQcm94eSIsICJldmVudFByb3h5Q2FwdHVyZSIsICJpIiwgIkVNUFRZX09CSiIsICJFTVBUWV9BUlIiLCAiSVNfTk9OX0RJTUVOU0lPTkFMIiwgImlzQXJyYXkiLCAiQXJyYXkiLCAiYXNzaWduIiwgIm9iaiIsICJwcm9wcyIsICJyZW1vdmVOb2RlIiwgIm5vZGUiLCAicGFyZW50Tm9kZSIsICJyZW1vdmVDaGlsZCIsICJjcmVhdGVFbGVtZW50IiwgInR5cGUiLCAiY2hpbGRyZW4iLCAia2V5IiwgInJlZiIsICJub3JtYWxpemVkUHJvcHMiLCAiYXJndW1lbnRzIiwgImxlbmd0aCIsICJjYWxsIiwgImRlZmF1bHRQcm9wcyIsICJjcmVhdGVWTm9kZSIsICJvcmlnaW5hbCIsICJ2bm9kZSIsICJfX2siLCAiX18iLCAiX19iIiwgIl9fZSIsICJfX2QiLCAiX19jIiwgImNvbnN0cnVjdG9yIiwgIl9fdiIsICJfX2kiLCAiX191IiwgImNyZWF0ZVJlZiIsICJjdXJyZW50IiwgIkZyYWdtZW50IiwgIkJhc2VDb21wb25lbnQiLCAiY29udGV4dCIsICJ0aGlzIiwgImdldERvbVNpYmxpbmciLCAiY2hpbGRJbmRleCIsICJzaWJsaW5nIiwgInVwZGF0ZVBhcmVudERvbVBvaW50ZXJzIiwgImNoaWxkIiwgImJhc2UiLCAiZW5xdWV1ZVJlbmRlciIsICJjIiwgInB1c2giLCAicHJvY2VzcyIsICJfX3IiLCAiZGVib3VuY2VSZW5kZXJpbmciLCAicmVuZGVyUXVldWVMZW5ndGgiLCAiY29tcG9uZW50IiwgIm5ld1ZOb2RlIiwgIm9sZFZOb2RlIiwgIm9sZERvbSIsICJjb21taXRRdWV1ZSIsICJyZWZRdWV1ZSIsICJzb3J0IiwgInNoaWZ0IiwgIl9fUCIsICJkaWZmIiwgIl9fbiIsICJuYW1lc3BhY2VVUkkiLCAiY29tbWl0Um9vdCIsICJkaWZmQ2hpbGRyZW4iLCAicGFyZW50RG9tIiwgInJlbmRlclJlc3VsdCIsICJuZXdQYXJlbnRWTm9kZSIsICJvbGRQYXJlbnRWTm9kZSIsICJnbG9iYWxDb250ZXh0IiwgIm5hbWVzcGFjZSIsICJleGNlc3NEb21DaGlsZHJlbiIsICJpc0h5ZHJhdGluZyIsICJjaGlsZFZOb2RlIiwgIm5ld0RvbSIsICJmaXJzdENoaWxkRG9tIiwgIm9sZENoaWxkcmVuIiwgIm5ld0NoaWxkcmVuTGVuZ3RoIiwgImNvbnN0cnVjdE5ld0NoaWxkcmVuQXJyYXkiLCAiYXBwbHlSZWYiLCAiaW5zZXJ0IiwgIm5leHRTaWJsaW5nIiwgInNrZXdlZEluZGV4IiwgIm1hdGNoaW5nSW5kZXgiLCAib2xkQ2hpbGRyZW5MZW5ndGgiLCAicmVtYWluaW5nT2xkQ2hpbGRyZW4iLCAic2tldyIsICJTdHJpbmciLCAiZmluZE1hdGNoaW5nSW5kZXgiLCAidW5tb3VudCIsICJwYXJlbnRWTm9kZSIsICJjb250YWlucyIsICJpbnNlcnRCZWZvcmUiLCAibm9kZVR5cGUiLCAidG9DaGlsZEFycmF5IiwgIm91dCIsICJzb21lIiwgIngiLCAieSIsICJzZXRTdHlsZSIsICJzdHlsZSIsICJ2YWx1ZSIsICJzZXRQcm9wZXJ0eSIsICJ0ZXN0IiwgImRvbSIsICJuYW1lIiwgIm9sZFZhbHVlIiwgInVzZUNhcHR1cmUiLCAibyIsICJjc3NUZXh0IiwgInJlcGxhY2UiLCAidG9Mb3dlckNhc2UiLCAiX2F0dGFjaGVkIiwgImFkZEV2ZW50TGlzdGVuZXIiLCAicmVtb3ZlRXZlbnRMaXN0ZW5lciIsICJlIiwgInJlbW92ZUF0dHJpYnV0ZSIsICJzZXRBdHRyaWJ1dGUiLCAiY3JlYXRlRXZlbnRQcm94eSIsICJldmVudEhhbmRsZXIiLCAiX2Rpc3BhdGNoZWQiLCAiZXZlbnQiLCAidG1wIiwgImlzTmV3IiwgIm9sZFByb3BzIiwgIm9sZFN0YXRlIiwgInNuYXBzaG90IiwgImNsZWFyUHJvY2Vzc2luZ0V4Y2VwdGlvbiIsICJuZXdQcm9wcyIsICJpc0NsYXNzQ29tcG9uZW50IiwgInByb3ZpZGVyIiwgImNvbXBvbmVudENvbnRleHQiLCAicmVuZGVySG9vayIsICJjb3VudCIsICJuZXdUeXBlIiwgIm91dGVyIiwgInByb3RvdHlwZSIsICJyZW5kZXIiLCAiY29udGV4dFR5cGUiLCAiX19FIiwgImRvUmVuZGVyIiwgInN1YiIsICJzdGF0ZSIsICJfX2giLCAiX3NiIiwgIl9fcyIsICJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCAiY29tcG9uZW50V2lsbE1vdW50IiwgImNvbXBvbmVudERpZE1vdW50IiwgImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCAic2hvdWxkQ29tcG9uZW50VXBkYXRlIiwgImNvbXBvbmVudFdpbGxVcGRhdGUiLCAiY29tcG9uZW50RGlkVXBkYXRlIiwgImdldENoaWxkQ29udGV4dCIsICJnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSIsICJNT0RFX0hZRFJBVEUiLCAiaW5kZXhPZiIsICJkaWZmRWxlbWVudE5vZGVzIiwgImRpZmZlZCIsICJyb290IiwgImNiIiwgIm5ld0h0bWwiLCAib2xkSHRtbCIsICJuZXdDaGlsZHJlbiIsICJpbnB1dFZhbHVlIiwgImNoZWNrZWQiLCAibG9jYWxOYW1lIiwgImRvY3VtZW50IiwgImNyZWF0ZVRleHROb2RlIiwgImNyZWF0ZUVsZW1lbnROUyIsICJpcyIsICJfX20iLCAiZGF0YSIsICJjaGlsZE5vZGVzIiwgImF0dHJpYnV0ZXMiLCAiX19odG1sIiwgImlubmVySFRNTCIsICJoYXNSZWZVbm1vdW50IiwgInNraXBSZW1vdmUiLCAiciIsICJjb21wb25lbnRXaWxsVW5tb3VudCIsICJyZXBsYWNlTm9kZSIsICJmaXJzdENoaWxkIiwgImh5ZHJhdGUiLCAiY2xvbmVFbGVtZW50IiwgImNyZWF0ZUNvbnRleHQiLCAiZGVmYXVsdFZhbHVlIiwgImNvbnRleHRJZCIsICJDb25zdW1lciIsICJjb250ZXh0VmFsdWUiLCAiUHJvdmlkZXIiLCAic3VicyIsICJjdHgiLCAiU2V0IiwgIl9wcm9wcyIsICJmb3JFYWNoIiwgImFkZCIsICJvbGQiLCAiZGVsZXRlIiwgImVycm9yIiwgImVycm9ySW5mbyIsICJjdG9yIiwgImhhbmRsZWQiLCAiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwgInNldFN0YXRlIiwgImNvbXBvbmVudERpZENhdGNoIiwgInVuZGVmaW5lZCIsICJ1cGRhdGUiLCAiY2FsbGJhY2siLCAicyIsICJmb3JjZVVwZGF0ZSIsICJQcm9taXNlIiwgInRoZW4iLCAiYmluZCIsICJyZXNvbHZlIiwgInNldFRpbWVvdXQiLCAiYSIsICJiIiwgImN1cnJlbnRJbmRleCIsICJjdXJyZW50Q29tcG9uZW50IiwgInByZXZpb3VzQ29tcG9uZW50IiwgInByZXZSYWYiLCAiY3VycmVudEhvb2siLCAiYWZ0ZXJQYWludEVmZmVjdHMiLCAib3B0aW9ucyIsICJfb3B0aW9ucyIsICJvbGRCZWZvcmVEaWZmIiwgIl9fYiIsICJvbGRCZWZvcmVSZW5kZXIiLCAiX19yIiwgIm9sZEFmdGVyRGlmZiIsICJkaWZmZWQiLCAib2xkQ29tbWl0IiwgIl9fYyIsICJvbGRCZWZvcmVVbm1vdW50IiwgInVubW91bnQiLCAib2xkUm9vdCIsICJfXyIsICJnZXRIb29rU3RhdGUiLCAiaW5kZXgiLCAidHlwZSIsICJfX2giLCAiaG9va3MiLCAiX19IIiwgImxlbmd0aCIsICJwdXNoIiwgInVzZVN0YXRlIiwgImluaXRpYWxTdGF0ZSIsICJ1c2VSZWR1Y2VyIiwgImludm9rZU9yUmV0dXJuIiwgInJlZHVjZXIiLCAiaW5pdCIsICJob29rU3RhdGUiLCAiX3JlZHVjZXIiLCAiYWN0aW9uIiwgImN1cnJlbnRWYWx1ZSIsICJfX04iLCAibmV4dFZhbHVlIiwgInNldFN0YXRlIiwgIl9oYXNTY3VGcm9tSG9va3MiLCAidXBkYXRlSG9va1N0YXRlIiwgInAiLCAicyIsICJjIiwgInN0YXRlSG9va3MiLCAiZmlsdGVyIiwgIngiLCAiZXZlcnkiLCAicHJldlNjdSIsICJjYWxsIiwgInRoaXMiLCAic2hvdWxkVXBkYXRlIiwgImZvckVhY2giLCAiaG9va0l0ZW0iLCAicHJvcHMiLCAic2hvdWxkQ29tcG9uZW50VXBkYXRlIiwgInByZXZDV1UiLCAiY29tcG9uZW50V2lsbFVwZGF0ZSIsICJfX2UiLCAidG1wIiwgInVzZUVmZmVjdCIsICJjYWxsYmFjayIsICJhcmdzIiwgInN0YXRlIiwgIl9fcyIsICJhcmdzQ2hhbmdlZCIsICJfcGVuZGluZ0FyZ3MiLCAidXNlTGF5b3V0RWZmZWN0IiwgInVzZVJlZiIsICJpbml0aWFsVmFsdWUiLCAidXNlTWVtbyIsICJjdXJyZW50IiwgInVzZUltcGVyYXRpdmVIYW5kbGUiLCAicmVmIiwgImNyZWF0ZUhhbmRsZSIsICJjb25jYXQiLCAiZmFjdG9yeSIsICJ1c2VDYWxsYmFjayIsICJ1c2VDb250ZXh0IiwgImNvbnRleHQiLCAicHJvdmlkZXIiLCAic3ViIiwgInZhbHVlIiwgInVzZURlYnVnVmFsdWUiLCAiZm9ybWF0dGVyIiwgIm4iLCAidXNlRXJyb3JCb3VuZGFyeSIsICJjYiIsICJlcnJTdGF0ZSIsICJjb21wb25lbnREaWRDYXRjaCIsICJlcnIiLCAiZXJyb3JJbmZvIiwgInVuZGVmaW5lZCIsICJ1c2VJZCIsICJyb290IiwgIl9fdiIsICJfX20iLCAibWFzayIsICJmbHVzaEFmdGVyUGFpbnRFZmZlY3RzIiwgImNvbXBvbmVudCIsICJzaGlmdCIsICJfX1AiLCAiaW52b2tlQ2xlYW51cCIsICJpbnZva2VFZmZlY3QiLCAiZSIsICJ2bm9kZSIsICJwYXJlbnREb20iLCAiX19rIiwgInJlcXVlc3RBbmltYXRpb25GcmFtZSIsICJhZnRlck5leHRGcmFtZSIsICJjb21taXRRdWV1ZSIsICJzb21lIiwgImhhc0Vycm9yZWQiLCAiSEFTX1JBRiIsICJyYWYiLCAiZG9uZSIsICJjbGVhclRpbWVvdXQiLCAidGltZW91dCIsICJjYW5jZWxBbmltYXRpb25GcmFtZSIsICJzZXRUaW1lb3V0IiwgImhvb2siLCAiY29tcCIsICJjbGVhbnVwIiwgIm9sZEFyZ3MiLCAibmV3QXJncyIsICJhcmciLCAiZiIsICJzaGFsbG93RGlmZmVycyIsICJhIiwgImIiLCAiaSIsICJQdXJlQ29tcG9uZW50IiwgInAiLCAiYyIsICJ0aGlzIiwgInByb3BzIiwgImNvbnRleHQiLCAibWVtbyIsICJjb21wYXJlciIsICJzaG91bGRVcGRhdGUiLCAibmV4dFByb3BzIiwgInJlZiIsICJ1cGRhdGVSZWYiLCAiY2FsbCIsICJjdXJyZW50IiwgIk1lbW9lZCIsICJzaG91bGRDb21wb25lbnRVcGRhdGUiLCAiY3JlYXRlRWxlbWVudCIsICJkaXNwbGF5TmFtZSIsICJuYW1lIiwgInByb3RvdHlwZSIsICJpc1JlYWN0Q29tcG9uZW50IiwgIl9fZiIsICJDb21wb25lbnQiLCAiaXNQdXJlUmVhY3RDb21wb25lbnQiLCAic3RhdGUiLCAib2xkRGlmZkhvb2siLCAib3B0aW9ucyIsICJfX2IiLCAidm5vZGUiLCAidHlwZSIsICJSRUFDVF9GT1JXQVJEX1NZTUJPTCIsICJTeW1ib2wiLCAiZm9yIiwgImZvcndhcmRSZWYiLCAiZm4iLCAiRm9yd2FyZGVkIiwgInJlc3VsdCIsICIkJHR5cGVvZiIsICJyZW5kZXIiLCAibWFwRm4iLCAiY2hpbGRyZW4iLCAidG9DaGlsZEFycmF5IiwgIm1hcCIsICJDaGlsZHJlbiIsICJmb3JFYWNoIiwgImNvdW50IiwgImxlbmd0aCIsICJvbmx5IiwgIm5vcm1hbGl6ZWQiLCAidG9BcnJheSIsICJvbGRDYXRjaEVycm9yIiwgIl9fZSIsICJlcnJvciIsICJuZXdWTm9kZSIsICJvbGRWTm9kZSIsICJlcnJvckluZm8iLCAidGhlbiIsICJjb21wb25lbnQiLCAiX18iLCAiX19jIiwgIl9fayIsICJvbGRVbm1vdW50IiwgInVubW91bnQiLCAiZGV0YWNoZWRDbG9uZSIsICJkZXRhY2hlZFBhcmVudCIsICJwYXJlbnREb20iLCAiX19IIiwgImVmZmVjdCIsICJvYmoiLCAiX19QIiwgImNoaWxkIiwgInJlbW92ZU9yaWdpbmFsIiwgIm9yaWdpbmFsUGFyZW50IiwgIl9fdiIsICJhcHBlbmRDaGlsZCIsICJTdXNwZW5zZSIsICJfX3UiLCAiX3N1c3BlbmRlcnMiLCAic3VzcGVuZGVkIiwgIl9fYSIsICJsYXp5IiwgImxvYWRlciIsICJwcm9tIiwgIkxhenkiLCAiZXhwb3J0cyIsICJkZWZhdWx0IiwgImUiLCAiU3VzcGVuc2VMaXN0IiwgIl9uZXh0IiwgIl9tYXAiLCAiX19SIiwgInByb21pc2UiLCAic3VzcGVuZGluZ1ZOb2RlIiwgInN1c3BlbmRpbmdDb21wb25lbnQiLCAicHVzaCIsICJyZXNvbHZlIiwgInJlc29sdmVkIiwgIm9uUmVzb2x2ZWQiLCAib25TdXNwZW5zaW9uQ29tcGxldGUiLCAic3VzcGVuZGVkVk5vZGUiLCAiX19PIiwgInNldFN0YXRlIiwgInBvcCIsICJmb3JjZVVwZGF0ZSIsICJjb21wb25lbnRXaWxsVW5tb3VudCIsICJkb2N1bWVudCIsICJkZXRhY2hlZENvbXBvbmVudCIsICJmYWxsYmFjayIsICJGcmFnbWVudCIsICJsaXN0IiwgIm5vZGUiLCAiZGVsZXRlIiwgInJldmVhbE9yZGVyIiwgInNpemUiLCAiQ29udGV4dFByb3ZpZGVyIiwgImdldENoaWxkQ29udGV4dCIsICJQb3J0YWwiLCAiX3RoaXMiLCAiY29udGFpbmVyIiwgIl9jb250YWluZXIiLCAiX3RlbXAiLCAibm9kZVR5cGUiLCAicGFyZW50Tm9kZSIsICJjaGlsZE5vZGVzIiwgImNvbnRhaW5zIiwgImluc2VydEJlZm9yZSIsICJiZWZvcmUiLCAicmVtb3ZlQ2hpbGQiLCAic3BsaWNlIiwgImluZGV4T2YiLCAiY3JlYXRlUG9ydGFsIiwgImVsIiwgImNvbnRhaW5lckluZm8iLCAiZGVsZWdhdGVkIiwgImdldCIsICJ1bnN1c3BlbmQiLCAid3JhcHBlZFVuc3VzcGVuZCIsICJNYXAiLCAicmV2ZXJzZSIsICJzZXQiLCAiY29tcG9uZW50RGlkVXBkYXRlIiwgImNvbXBvbmVudERpZE1vdW50IiwgIlJFQUNUX0VMRU1FTlRfVFlQRSIsICJDQU1FTF9QUk9QUyIsICJPTl9BTkkiLCAiQ0FNRUxfUkVQTEFDRSIsICJJU19ET00iLCAib25DaGFuZ2VJbnB1dFR5cGUiLCAidGVzdCIsICJwYXJlbnQiLCAiY2FsbGJhY2siLCAidGV4dENvbnRlbnQiLCAicHJlYWN0UmVuZGVyIiwgImh5ZHJhdGUiLCAicHJlYWN0SHlkcmF0ZSIsICJrZXkiLCAiT2JqZWN0IiwgImRlZmluZVByb3BlcnR5IiwgImNvbmZpZ3VyYWJsZSIsICJ2IiwgIndyaXRhYmxlIiwgInZhbHVlIiwgIm9sZEV2ZW50SG9vayIsICJldmVudCIsICJlbXB0eSIsICJpc1Byb3BhZ2F0aW9uU3RvcHBlZCIsICJjYW5jZWxCdWJibGUiLCAiaXNEZWZhdWx0UHJldmVudGVkIiwgImRlZmF1bHRQcmV2ZW50ZWQiLCAicGVyc2lzdCIsICJuYXRpdmVFdmVudCIsICJjdXJyZW50Q29tcG9uZW50IiwgImNsYXNzTmFtZURlc2NyaXB0b3JOb25FbnVtYmVyYWJsZSIsICJlbnVtZXJhYmxlIiwgImNsYXNzIiwgIm9sZFZOb2RlSG9vayIsICJub3JtYWxpemVkUHJvcHMiLCAiaXNOb25EYXNoZWRUeXBlIiwgImxvd2VyQ2FzZWQiLCAidG9Mb3dlckNhc2UiLCAicmVwbGFjZSIsICJtdWx0aXBsZSIsICJBcnJheSIsICJpc0FycmF5IiwgInNlbGVjdGVkIiwgImRlZmF1bHRWYWx1ZSIsICJjbGFzc05hbWUiLCAib2xkQmVmb3JlUmVuZGVyIiwgIl9fciIsICJvbGREaWZmZWQiLCAiZGlmZmVkIiwgImRvbSIsICJfX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCIsICJSZWFjdEN1cnJlbnREaXNwYXRjaGVyIiwgInJlYWRDb250ZXh0IiwgIl9fbiIsICJ1c2VDYWxsYmFjayIsICJ1c2VDb250ZXh0IiwgInVzZURlYnVnVmFsdWUiLCAidXNlRGVmZXJyZWRWYWx1ZSIsICJ1c2VFZmZlY3QiLCAidXNlSWQiLCAidXNlSW1wZXJhdGl2ZUhhbmRsZSIsICJ1c2VJbnNlcnRpb25FZmZlY3QiLCAidXNlTGF5b3V0RWZmZWN0IiwgInVzZU1lbW8iLCAidXNlUmVkdWNlciIsICJ1c2VSZWYiLCAidXNlU3RhdGUiLCAidXNlU3luY0V4dGVybmFsU3RvcmUiLCAidXNlVHJhbnNpdGlvbiIsICJjcmVhdGVGYWN0b3J5IiwgInR5cGUiLCAiY3JlYXRlRWxlbWVudCIsICJiaW5kIiwgImlzVmFsaWRFbGVtZW50IiwgImVsZW1lbnQiLCAiJCR0eXBlb2YiLCAiUkVBQ1RfRUxFTUVOVF9UWVBFIiwgImlzRnJhZ21lbnQiLCAiRnJhZ21lbnQiLCAiaXNNZW1vIiwgImRpc3BsYXlOYW1lIiwgIlN0cmluZyIsICJzdGFydHNXaXRoIiwgImNsb25lRWxlbWVudCIsICJwcmVhY3RDbG9uZUVsZW1lbnQiLCAiYXBwbHkiLCAiYXJndW1lbnRzIiwgInVubW91bnRDb21wb25lbnRBdE5vZGUiLCAiY29udGFpbmVyIiwgIl9fayIsICJwcmVhY3RSZW5kZXIiLCAiZmluZERPTU5vZGUiLCAiY29tcG9uZW50IiwgImJhc2UiLCAibm9kZVR5cGUiLCAidW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMiLCAiY2FsbGJhY2siLCAiYXJnIiwgImZsdXNoU3luYyIsICJTdHJpY3RNb2RlIiwgInN0YXJ0VHJhbnNpdGlvbiIsICJjYiIsICJ1c2VEZWZlcnJlZFZhbHVlIiwgInZhbCIsICJ1c2VUcmFuc2l0aW9uIiwgInVzZUluc2VydGlvbkVmZmVjdCIsICJ1c2VMYXlvdXRFZmZlY3QiLCAiaXNFbGVtZW50IiwgInVzZVN5bmNFeHRlcm5hbFN0b3JlIiwgInN1YnNjcmliZSIsICJnZXRTbmFwc2hvdCIsICJ2YWx1ZSIsICJfdXNlU3RhdGUiLCAidXNlU3RhdGUiLCAiX2luc3RhbmNlIiwgIl9fIiwgIl9nZXRTbmFwc2hvdCIsICJmb3JjZVVwZGF0ZSIsICJkaWRTbmFwc2hvdENoYW5nZSIsICJ1c2VFZmZlY3QiLCAiaW5zdCIsICJ4IiwgInkiLCAibGF0ZXN0R2V0U25hcHNob3QiLCAicHJldlZhbHVlIiwgIm5leHRWYWx1ZSIsICJlcnJvciIsICJpbmRleCIsICJ1c2VJZCIsICJ1c2VSZWR1Y2VyIiwgInVzZVJlZiIsICJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwgInVzZU1lbW8iLCAidXNlQ2FsbGJhY2siLCAidXNlQ29udGV4dCIsICJ1c2VEZWJ1Z1ZhbHVlIiwgInZlcnNpb24iLCAiQ2hpbGRyZW4iLCAicmVuZGVyIiwgImh5ZHJhdGUiLCAiY3JlYXRlUG9ydGFsIiwgImNyZWF0ZUNvbnRleHQiLCAiY3JlYXRlUmVmIiwgIkNvbXBvbmVudCIsICJQdXJlQ29tcG9uZW50IiwgIm1lbW8iLCAiZm9yd2FyZFJlZiIsICJTdXNwZW5zZSIsICJTdXNwZW5zZUxpc3QiLCAibGF6eSIsICJfX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCIsICJ2bm9kZUlkIiwgImlzQXJyYXkiLCAiQXJyYXkiLCAiY3JlYXRlVk5vZGUiLCAidHlwZSIsICJwcm9wcyIsICJrZXkiLCAiaXNTdGF0aWNDaGlsZHJlbiIsICJfX3NvdXJjZSIsICJfX3NlbGYiLCAicmVmIiwgImkiLCAibm9ybWFsaXplZFByb3BzIiwgInZub2RlIiwgIl9fayIsICJfXyIsICJfX2IiLCAiX19lIiwgIl9fZCIsICJfX2MiLCAiY29uc3RydWN0b3IiLCAiX192IiwgIl9faSIsICJfX3UiLCAiZGVmYXVsdFByb3BzIiwgIm9wdGlvbnMiLCAiaW5saW5lIiwgIngiLCAiQSIsICJUIiwgInkiLCAidSIsICJlbmQiLCAicSIsICJzdGF0ZSIsICJwIiwgInUiLCAieCIsICJUIiwgInEiLCAiQyIsICJpbmxpbmUiLCAiQSIsICJ5IiwgImluZGV4IiwgInZhbHVlIiwgImIiLCAiaW1wb3J0X29ic2lkaWFuIiwgIkNvbnRleHR1YWxLZXl3b3JkIiwgIlRva2VuVHlwZSIsICJyZWdleHAiLCAic3RyaW5nIiwgImFycm93IiwgImhhc2giLCAiYXNzaWduIiwgIl9kZWZhdWx0IiwgIl9leHRlbmRzIiwgIl90eXBlb2YiLCAiZW5kIiwgImNoYXJDb2RlcyIsICJzZW1pY29sb24iLCAiY2FyZXQiLCAibGluZSIsICJjb2x1bW4iLCAiaSIsICJsIiwgIm1hdGNoIiwgImkiLCAiY2hhciIsICJpIiwgIm5leHQiLCAiSWRlbnRpZmllclJvbGUiLCAiSlNYUm9sZSIsICJ0b2tlbiIsICJpIiwgIm1hdGNoIiwgInNpemUiLCAiaW5kZXgiLCAidG9rZW4iLCAib3B0aW9ucyIsICJvcHRpb25zIiwgInByZWZpeCIsICJpbmRleCIsICJ0b2tlbiIsICJzIiwgInRleHQiLCAid2hpdGVzcGFjZSIsICJpIiwgImMiLCAib3B0aW9ucyIsICJpIiwgInRva2VuIiwgIm9wdGlvbnMiLCAiaSIsICJjb21wb25lbnRzIiwgImluZGV4IiwgInRva2VuIiwgIm9wdGlvbnMiLCAibGluZSIsICJpIiwgInRva2VuIiwgImkiLCAidG9rZW4iLCAidCIsICJvcHRpb25zIiwgIm1hdGNoIiwgIm1hdGNoIiwgIkZ1bmN0aW9uVHlwZSIsICJpIiwgIm1hdGNoIiwgIm1hdGNoIiwgIm1hdGNoIiwgIm1hdGNoIiwgInRva2VuIiwgImRlY2xhcmF0aW9uIiwgIm1hdGNoIiwgInRva2VuIiwgImVuZCIsICJwYXJzZSIsICJpbnB1dCIsICJpc0pTWEVuYWJsZWQiLCAiaXNUeXBlU2NyaXB0RW5hYmxlZCIsICJpc0Zsb3dFbmFibGVkIiwgImluZGV4IiwgInRva2VuIiwgImlzRmxvd0VuYWJsZWQiLCAiaW5kZXgiLCAidG9rZW4iLCAidDIiLCAidDMiLCAidDQiLCAicHJlZml4IiwgImkiLCAidG9rZW4iLCAiaSIsICJ0b2tlbiIsICJwcmVmaXgiLCAidG9rZW4iLCAiaWRlbnRpZmllciIsICJpbmRleCIsICJvcHRpb25zIiwgImkiLCAiaSIsICJmbiIsICJfIiwgIl8yIiwgInRva2VuIiwgIm5leHRUb2tlbiIsICJpIiwgImluZGV4IiwgIm9wdGlvbnMiLCAiaW5kZXgiLCAidG9rZW4iLCAidG9rZW4iLCAiaSIsICJvcHRpb25zIiwgInByZWZpeCIsICJ2IiwgInMiLCAibmV4dFRva2VuIiwgImkiLCAiaSIsICJpbmRleCIsICJvcHRpb25zIiwgImUiLCAib3B0aW9ucyIsICJpc0pTWEVuYWJsZWQiLCAiaXNUeXBlU2NyaXB0RW5hYmxlZCIsICJpc0Zsb3dFbmFibGVkIiwgInBhcnNlIiwgIl8iLCAiaW1wb3J0X29ic2lkaWFuIiwgImgiLCAiVCIsICJ5IiwgIkEiLCAiZSIsICJBIiwgInkiLCAicSIsICJ4IiwgInN0YXRlIiwgImgiLCAidSIsICJoIiwgInkiLCAiZXJyb3IiLCAieCIsICJhcGkiLCAidSIsICJUIiwgInN0eWxlIiwgInUiLCAiaW1wb3J0X29ic2lkaWFuIiwgInUiLCAiaW5saW5lIiwgImRpc2FibGVkIiwgIm9uQ2hhbmdlIiwgInEiLCAibWluIiwgIm1heCIsICJvcHRpb25zIiwgImUiLCAiaWNvbiIsICJjIiwgIkZpZWxkYmVhcmluZ3MiLCAiRXh0cmFjdG9ycyIsICJrZXkiLCAiZnJvbnRtYXR0ZXIiLCAiUCIsICJKc29uQ29udmVyc2lvbiIsICJpbnB1dCIsICJqc29uIiwgInYiLCAibGluZSIsICJpbmRleCIsICJjaGFyIiwgImxpbmUiLCAiYSIsICJiIiwgImkiLCAibGluZSIsICJyZWdleCIsICJtYXRjaCIsICJmIiwgInByZWZpeCIsICJmIiwgImwiLCAiaSIsICJsaW5lIiwgImlucHV0IiwgIngiLCAibyIsICJ0IiwgInIiLCAiZSIsICJpIiwgInQiLCAiaSIsICJlIiwgInIiLCAidCIsICJlIiwgInIiLCAidCIsICJvIiwgInIiLCAiciIsICJsIiwgInQiLCAiZSIsICJuIiwgImkiLCAidSIsICJhIiwgImYiLCAibyIsICJyIiwgImEiLCAiZSIsICJuIiwgInIiLCAiYSIsICJ0IiwgInIiLCAiZSIsICJyIiwgImUiLCAidCIsICJuIiwgImUiLCAidCIsICJvIiwgInIiLCAiaSIsICJzIiwgIl9yZWYiLCAiaCIsICJvbkNoYW5nZSIsICJxIiwgInZhbHVlIiwgIm4iLCAiZSIsICJ0IiwgInIiLCAiYSIsICJuIiwgImUiLCAiciIsICJ0IiwgIm8iLCAidCIsICJlIiwgInQiLCAiZSIsICJ0IiwgInQiLCAiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsICJlIiwgInQiLCAiZSIsICJ0IiwgInIiLCAiZSIsICJvIiwgInMiLCAiciIsICJyIiwgInIiLCAiaSIsICJvcHRpb25zIiwgIlN0eWxlU2hlZXQiLCAiZSIsICJsZW5ndGgiLCAibWF0Y2giLCAiaW5kZXgiLCAiYmVnaW4iLCAiZW5kIiwgImFycmF5IiwgImxlbmd0aCIsICJuZXh0IiwgImJlZ2luIiwgImVuZCIsICJ3aGl0ZXNwYWNlIiwgIm5leHQiLCAiaW5kZXgiLCAibmV4dCIsICJwYXJzZSIsICJpbmRleCIsICJvZmZzZXQiLCAibGVuZ3RoIiwgImNoYXJhY3RlciIsICJjaGFyYWN0ZXJzIiwgIm5leHQiLCAid2hpdGVzcGFjZSIsICJzaXplIiwgImkiLCAiaiIsICJrIiwgIngiLCAieSIsICJ6IiwgImxlbmd0aCIsICJpIiwgImluZGV4IiwgImxlbmd0aCIsICJpbmRleCIsICJpIiwgImZuIiwgImlkZW50aWZpZXJXaXRoUG9pbnRUcmFja2luZyIsICJiZWdpbiIsICJpbmRleCIsICJjaGFyYWN0ZXIiLCAibmV4dCIsICJ0b1J1bGVzIiwgImdldFJ1bGVzIiwgImNvbXBhdCIsICJpIiwgImsiLCAiaiIsICJyZW1vdmVMYWJlbCIsICJsZW5ndGgiLCAicHJlZml4ZXIiLCAibWF0Y2giLCAiY3JlYXRlQ2FjaGUiLCAib3B0aW9ucyIsICJub2RlIiwgInN0eWxpcyIsICJzdHlsZXMiLCAiY2xhc3NOYW1lcyIsICJyZWdpc3RlclN0eWxlcyIsICJpbnNlcnRTdHlsZXMiLCAiaCIsICJrIiwgImkiLCAiaXNEZXZlbG9wbWVudCIsICJpc0N1c3RvbVByb3BlcnR5IiwgImlzUHJvY2Vzc2FibGVWYWx1ZSIsICJwcm9jZXNzU3R5bGVWYWx1ZSIsICJtYXRjaCIsICJwMiIsICJrZXlmcmFtZXMiLCAibmV4dCIsICJzdHlsZXMiLCAic3RyaW5nIiwgImkiLCAic3luY0ZhbGxiYWNrIiwgImlzRGV2ZWxvcG1lbnQiLCAid2l0aEVtb3Rpb25DYWNoZSIsICJ3IiwgIngiLCAiY3JlYXRlRW1vdGlvblByb3BzIiwgIkluc2VydGlvbiIsICJfcmVmIiwgIngiLCAiaXNEZXZlbG9wbWVudCIsICJqc3giLCAiaSIsICJrZXlmcmFtZXMiLCAiZSIsICJ0IiwgInYiLCAieCIsICJ5IiwgIm5vZGUiLCAiX3JlZiIsICJnZXRDb21wdXRlZFN0eWxlIiwgIm5vZGUiLCAiZ2V0Q29tcHV0ZWRTdHlsZSIsICJub2RlIiwgImNzcyIsICJnZXRDb21wdXRlZFN0eWxlIiwgIiQiLCAieCIsICJ5IiwgIm9wdGlvbnMiLCAiZSIsICJfcmVmIiwgIl8iLCAibm9vcCIsICJwcmVmaXgiLCAic3RhdGUiLCAiaSIsICJjbGVhblZhbHVlIiwgImNsZWFuQ29tbW9uUHJvcHMiLCAiZ2V0U3R5bGVQcm9wcyIsICJ0IiwgImIiLCAiYyIsICJkIiwgImUiLCAidyIsICJyZW1vdmVQcm9wcyIsICJfcmVmIiwgIl9yZWYyIiwgImNvbnRyb2xIZWlnaHQiLCAiY29lcmNlUGxhY2VtZW50IiwgInAiLCAibWVudUNTUyIsICJfb2JqZWN0U3ByZWFkMiIsICJib3JkZXJSYWRpdXMiLCAic3BhY2luZyIsICJjb2xvcnMiLCAiTWVudVBsYWNlciIsICJ4IiwgIkEiLCAiaCIsICJzdGF0ZSIsICJNZW51IiwgIm1lbnVMaXN0Q1NTIiwgImJhc2VVbml0IiwgIk1lbnVMaXN0IiwgIm5vdGljZUNTUyIsICJOb09wdGlvbnNNZXNzYWdlIiwgIkxvYWRpbmdNZXNzYWdlIiwgIm1lbnVQb3J0YWxDU1MiLCAib2Zmc2V0IiwgInBvc2l0aW9uIiwgIk1lbnVQb3J0YWwiLCAiVCIsICJxIiwgIlAiLCAiY29udGFpbmVyQ1NTIiwgIlNlbGVjdENvbnRhaW5lciIsICJ2YWx1ZUNvbnRhaW5lckNTUyIsICJWYWx1ZUNvbnRhaW5lciIsICJpbmRpY2F0b3JzQ29udGFpbmVyQ1NTIiwgIkluZGljYXRvcnNDb250YWluZXIiLCAiU3ZnIiwgInNpemUiLCAiQ3Jvc3NJY29uIiwgIkRvd25DaGV2cm9uIiwgImJhc2VDU1MiLCAiRHJvcGRvd25JbmRpY2F0b3IiLCAiQ2xlYXJJbmRpY2F0b3IiLCAiaW5kaWNhdG9yU2VwYXJhdG9yQ1NTIiwgIkluZGljYXRvclNlcGFyYXRvciIsICJsb2FkaW5nSW5kaWNhdG9yQ1NTIiwgIkxvYWRpbmdEb3QiLCAiTG9hZGluZ0luZGljYXRvciIsICJjc3MiLCAiQ29udHJvbCIsICJncm91cENTUyIsICJHcm91cCIsICJncm91cEhlYWRpbmdDU1MiLCAiR3JvdXBIZWFkaW5nIiwgIl9leGNsdWRlZCIsICJpbnB1dENTUyIsICJpbnB1dFN0eWxlIiwgIklucHV0IiwgIm11bHRpVmFsdWVDU1MiLCAibXVsdGlWYWx1ZUxhYmVsQ1NTIiwgIm11bHRpVmFsdWVSZW1vdmVDU1MiLCAiTXVsdGlWYWx1ZUdlbmVyaWMiLCAiTXVsdGlWYWx1ZSIsICJjb21wb25lbnRzIiwgIm9wdGlvbkNTUyIsICJPcHRpb24iLCAicGxhY2Vob2xkZXJDU1MiLCAiUGxhY2Vob2xkZXIiLCAiU2luZ2xlVmFsdWUiLCAiZGVmYXVsdENvbXBvbmVudHMiLCAiaSIsICJpc0VxdWFsIiwgIkExMXlUZXh0IiwgIm9wdGlvbnMiLCAiaXNBcHBsZURldmljZSIsICJnZXRBcnJheUluZGV4IiwgImRpc2FibGVkIiwgIkxpdmVSZWdpb24iLCAiZ2V0T3B0aW9uTGFiZWwiLCAiaXNPcHRpb25EaXNhYmxlZCIsICJzY3JlZW5SZWFkZXJTdGF0dXMiLCAiVCIsICJhc09wdGlvbiIsICJkIiwgImkiLCAiaiIsICJzdHJpcERpYWNyaXRpY3MiLCAibWF0Y2giLCAidHJpbVN0cmluZyIsICJkZWZhdWx0U3RyaW5naWZ5IiwgImNyZWF0ZUZpbHRlciIsICJjb25maWciLCAic3RyaW5naWZ5IiwgInRyaW0iLCAiaW5wdXQiLCAiX2V4Y2x1ZGVkIiwgIl9yZWYiLCAiY2FuY2VsU2Nyb2xsIiwgIkEiLCAicSIsICJ5IiwgImUiLCAiYmx1clNlbGVjdElucHV0IiwgInRhcmdldFJlZiIsICJfRU1PVElPTl9TVFJJTkdJRklFRF9DU1NfRVJST1JfXyIsICJfcmVmMiIsICJSZXF1aXJlZElucHV0IiwgIm9uRm9jdXMiLCAib25DaGFuZ2UiLCAiZm9ybWF0R3JvdXBMYWJlbCIsICJjc3MiLCAiX3JlZiIsICJpbmRleCIsICJnZXRPcHRpb25MYWJlbCIsICJnZXRPcHRpb25WYWx1ZSIsICJjYXRlZ29yaXplZE9wdGlvbiIsICJzdGF0ZSIsICJvcHRpb25zIiwgImdldEZvY3VzZWRPcHRpb25JZCIsICJpIiwgInNob3VsZEhpZGVTZWxlY3RlZE9wdGlvbnMiLCAiU2VsZWN0IiwgIm9uQ2hhbmdlIiwgImN1c3RvbSIsICJfcmVmMiIsICJlIiwgImlzQ2xlYXJhYmxlIiwgImlzT3B0aW9uRGlzYWJsZWQiLCAiZm9ybWF0R3JvdXBMYWJlbCIsICJJbnB1dCIsICJNdWx0aVZhbHVlIiwgIk11bHRpVmFsdWVDb250YWluZXIiLCAiTXVsdGlWYWx1ZUxhYmVsIiwgIk11bHRpVmFsdWVSZW1vdmUiLCAiU2luZ2xlVmFsdWUiLCAiUGxhY2Vob2xkZXIiLCAib3B0IiwgIkNsZWFySW5kaWNhdG9yIiwgIkxvYWRpbmdJbmRpY2F0b3IiLCAiRHJvcGRvd25JbmRpY2F0b3IiLCAiSW5kaWNhdG9yU2VwYXJhdG9yIiwgIkdyb3VwIiwgIkdyb3VwSGVhZGluZyIsICJNZW51IiwgIk1lbnVMaXN0IiwgIk1lbnVQb3J0YWwiLCAiTG9hZGluZ01lc3NhZ2UiLCAiTm9PcHRpb25zTWVzc2FnZSIsICJPcHRpb24iLCAibG9hZGluZ01lc3NhZ2UiLCAibm9PcHRpb25zTWVzc2FnZSIsICJyZW5kZXIiLCAiZGVsaW1pdGVyIiwgImlucHV0IiwgIkNvbnRyb2wiLCAiSW5kaWNhdG9yc0NvbnRhaW5lciIsICJTZWxlY3RDb250YWluZXIiLCAiVmFsdWVDb250YWluZXIiLCAidyIsICJzdGF0ZSIsICJvbkNoYW5nZSIsICJ1IiwgIkEiLCAieSIsICJlIiwgInUiLCAiY29uZmlnIiwgInN0YXRlIiwgIlQiLCAiciIsICJpIiwgIl9hIiwgInUiLCAidGV4dCIsICJ0cmltIiwgIm1hdGNoIiwgImwiLCAiZSIsICJ4IiwgInQiLCAiWWFtbENvbnZlcnNpb24iLCAibGluZSIsICJvbkNoYW5nZSIsICJ4IiwgInEiLCAidGV4dCIsICJpbml0aWFsIiwgIlQiLCAicCIsICJzIiwgInN0YXRlIiwgIkEiLCAidSIsICJ5IiwgImNvbmZpZyIsICJvbkNoYW5nZSIsICJ4IiwgIm8iLCAidiIsICJlIiwgInRleHQiLCAiaW5saW5lIiwgImgiLCAieCIsICJ1IiwgImluZGV4IiwgInUiLCAiVCIsICJ4IiwgImEiLCAiaCIsICJjb21wbGV0ZWRSZWYiLCAiQSIsICJjIiwgImUiLCAiZiIsICJfYSIsICJ2IiwgIlQiLCAidSIsICJpIiwgInAiLCAiaCIsICJxIiwgInBhZ2UiLCAieCIsICJpbnB1dCIsICJtaW4iLCAibWF4IiwgIl8iLCAibm9vcCIsICJlIiwgImEiLCAidCIsICJyIiwgIm8iLCAiYyIsICJ5IiwgIl9yZWYiLCAib25DaGFuZ2UiLCAiY3NzIiwgImkiLCAic2l6ZSIsICJhcnJheSIsICJub2RlIiwgInN0eWxlcyIsICJ0cmFuc2Zvcm0iLCAiX3JlZjIiLCAicyIsICJmbiIsICJwcmVmaXgiLCAiYmluZEludGVybmFsNCIsICJiIiwgImQiLCAibGVuZ3RoIiwgInN0cmluZyIsICJjb3VudGVyIiwgImluZGV4IiwgImljb24iLCAiayIsICJwYXJzZSIsICJvZmZzZXQiLCAiY29tbWVudCIsICJvcHRpb25zIiwgInN0eWxlIiwgInByZWZpeGVzIiwgIm5leHQiLCAibWFzayIsICJwb3NpdGlvbiIsICJjb250ZW50IiwgInJlcGxhY2UiLCAiZW5kIiwgInByb3ZpZGVycyIsICJuIiwgIm93bktleXMiLCAiX29iamVjdFNwcmVhZDIiLCAiaSIsICJfZGVmaW5lUHJvcGVydHkiLCAiX3R5cGVvZiIsICJvYmoiLCAiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCAiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwgIl90b0NvbnN1bWFibGVBcnJheSIsICJfYXJyYXlXaXRob3V0SG9sZXMiLCAiX2l0ZXJhYmxlVG9BcnJheSIsICJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCAiX25vbkl0ZXJhYmxlU3ByZWFkIiwgIl9hcnJheUxpa2VUb0FycmF5IiwgIm8iLCAibiIsICJmbGlwIiwgInNpemUiLCAic3RyaW5nIiwgIm1hdGNoIiwgIl9leGNsdWRlZCIsICJzIiwgImNvbnZlcnQiLCAiY3JlYXRlRWxlbWVudCIsICJQUk9EVUNUSU9OIiwgImUiLCAiaWNvbiIsICJkZWZhdWx0UHJvcHMiLCAidHJhbnNmb3JtIiwgIlByb3BUeXBlcyIsICJhIiwgImIiLCAiaW5kZXgiLCAiQSIsICJUIiwgInUiLCAiY29sdW1uIiwgImNvbmZpZyIsICJ4IiwgInYiLCAiciIsICJpY29uIiwgImljb24iLCAidSIsICJUIiwgInUiLCAiZiIsICJpbmRleCIsICJyIiwgImVuZCIsICJlIiwgInMiLCAibCIsICJjb3B5IiwgImEiLCAiYiIsICJ2IiwgIngiLCAiaSIsICJuZXh0IiwgIkRhdGFBcnJheSIsICJmcm9tIiwgIkNvZXJjZSIsICJzdHJpbmciLCAiYXJyYXkiLCAiZGVmZXJyZWQiLCAiYiIsICJsYW5ndWFnZSIsICJsaW5lIiwgInUiLCAiYiIsICJpbmxpbmUiLCAiaCIsICJlIiwgIm1pbiIsICJtYXgiLCAib3B0aW9ucyIsICJvbkNoYW5nZSIsICJxIiwgIngiLCAiVCIsICJhIiwgIm4iLCAiVHJlZVV0aWxzIiwgIm5vZGUiLCAibiIsICJsIiwgImVuZCIsICJpbmRleCIsICJzbGljZSIsICJpbml0aWFsIiwgImEiLCAiYiIsICJ0IiwgInIiLCAicSIsICJzdGF0ZSIsICJrIiwgIlQiLCAicCIsICJjb2x1bW4iLCAieCIsICJ1IiwgImNvbmZpZyIsICJpIiwgInYiLCAieSIsICJBIiwgIkNvbnRleHQiLCAicyIsICJfYSIsICJhcGkiLCAiaCIsICJxIiwgInAiLCAiVCIsICJ5IiwgIngiLCAiQSIsICJpbmxpbmUiLCAidSIsICJlbmQiLCAiZSIsICJpbnB1dCIsICJwcm9jZXNzIiwgIlBhcnNpbW1vbiIsICJlIiwgImlucHV0IiwgImltcG9ydF9vYnNpZGlhbiIsICJwcmVmaXgiLCAiQlRyZWUiLCAiYSIsICJiIiwgImEiLCAiYiIsICJjIiwgIngiLCAiYyIsICJzZWxmIiwgImsiLCAicCIsICJpbmRleCIsICJGdW5jdGlvbnMiLCAiRGVmYXVsdEZ1bmN0aW9ucyIsICJfIiwgImEiLCAidCIsICJkIiwgImUiLCAiX24iLCAibCIsICJsaW5rIiwgInBhcnNlZERhdGUiLCAiZiIsICJtYXRjaCIsICJkYXRlIiwgIm4iLCAiYiIsICJ2IiwgIm9iamVjdCIsICJsaXN0IiwgInMiLCAic3RyIiwgInN0cmluZyIsICJlbmQiLCAibGVuZ3RoIiwgImFycmF5IiwgImZ1bmN0aW9ucyIsICJzIiwgImEiLCAiYiIsICJhcmdzIiwgInJlc29sdmVkIiwgImUiLCAiVmFyaWFibGVzIiwgImZvbGRlZCIsICJmIiwgIkZpbHRlclRyZWVzIiwgImZpbHRlciIsICJhIiwgImluZGV4IiwgImlkIiwgImxvY2FsZm9yYWdlIiwgImsiLCAiV29ya2VyIiwgImltcG9ydF9vYnNpZGlhbiIsICJub3ciLCAiV29ya2VyIiwgImltcG9ydF9vYnNpZGlhbiIsICJzaXplIiwgImltcG9ydF9xdWV1ZSIsICJpbXBvcnRfb2JzaWRpYW4iLCAieCIsICJzIiwgImwiLCAiZiIsICJhIiwgInJlc3VsdCIsICJzdG9yZSIsICJuZXh0IiwgImltcG9ydF9vYnNpZGlhbiIsICJpbXBvcnRfb2JzaWRpYW4iLCAieCIsICJUIiwgInN0YXRlIiwgImgiLCAicSIsICJ1IiwgImUiLCAicyIsICJ2IiwgIm9uQ2hhbmdlIiwgIm9wdGlvbnMiLCAiZiIsICJhcGkiLCAidSIsICJjb25maWciLCAidGV4dCIsICJlIl0KfQo= /* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/datacore/styles.css b/.obsidian/plugins/datacore/styles.css index 5b9423b..61e2c3b 100644 --- a/.obsidian/plugins/datacore/styles.css +++ b/.obsidian/plugins/datacore/styles.css @@ -198,6 +198,11 @@ border-bottom-left-radius: inherit; user-select: none; } +span.datacore-editable-outer, +span.datacore-editable-outer textarea { + width: 100% !important; + display: inline-block !important; +} .datacore-field .field-value { display: inline-block; } @@ -496,4 +501,4 @@ button.dc-paging-control-page[disabled]:hover { text-align: right; padding: 0; } -/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FwaS91aS9lbWJlZC5jc3MiLCAiLi4vLi4vc3JjL3VpL2Vycm9ycy5jc3MiLCAiLi4vLi4vc3JjL2FwaS91aS9sYXlvdXQuY3NzIiwgIi4uLy4uL3NyYy9hcGkvdWkvYmFzaWNzLmNzcyIsICIuLi8uLi9zcmMvdWkvZmllbGRzL2ZpZWxkcy5jc3MiLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9saXN0cy5jc3MiLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9wYWdpbmcuY3NzIiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvdGFibGUuY3NzIiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvY2FsbG91dC5jc3MiLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9jYXJkcy5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi5kYXRhY29yZS1zcGFuLWVtYmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBwYWRkaW5nOiAxcHggOHB4IDFweCA4cHg7XG4gICAgbWFyZ2luOiA0cHggMHB4IDRweCAwcHg7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTI1KTtcbn1cblxuLmRhdGFjb3JlLWVtYmVkLXNvdXJjZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNHB4O1xuICAgIHJpZ2h0OiA0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xufVxuIiwgIi5kYXRhY29yZS1lcnJvci1yZXRyeSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyoqIEVycm9yIEJveGVzLiAqL1xuXG4uZGF0YWNvcmUtZXJyb3ItYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDRweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZGF0YWNvcmUtZXJyb3ItdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmRhdGFjb3JlLWVycm9yLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qKiBMb2FkaW5nIHZpZXdzIHdoaWxlIHRoZSBpbmRleCBpcyBpbml0aWFsaXppbmcuICovXG5cbi5kYXRhY29yZS1sb2FkaW5nLWJvdW5kYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDRweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZGF0YWNvcmUtbG9hZGluZy10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGF0YWNvcmUtbG9hZGluZy1jb250ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiogU29tZSBuaWNldGllcyBmb3IgcmVuZGVyaW5nIGxhbmd1YWdlIGJsb2Nrcy4gKi9cblxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlIGxpLnNlbGVjdGVkLFxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlanMgbGkuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtYWNjZW50KTtcbiAgICBwYWRkaW5nOiAwLjJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbn1cblxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlIGxpLnNlbGVjdGVkIGEsXG4uYmxvY2stbGFuZ3VhZ2UtZGF0YWNvcmVqcyBsaS5zZWxlY3RlZCBhIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQtaW52ZXJ0ZWQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlIC5kYXRhY29yZS1wYWdlcixcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZWpzIC5kYXRhY29yZS1wYWdlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtaW4td2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuN2VtO1xufVxuXG4uYmxvY2stbGFuZ3VhZ2UtZGF0YWNvcmUgbGkucHJldmlvdXMsXG4uYmxvY2stbGFuZ3VhZ2UtZGF0YWNvcmUgbGkubmV4dCxcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZWpzIGxpLnByZXZpb3VzLFxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlanMgbGkubmV4dCB7XG4gICAgbWluLWhlaWdodDogMS40ZW07XG4gICAgbWluLXdpZHRoOiAxLjRlbTtcbn1cblxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlIGxpLnByZXZpb3VzIHN2Zyxcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZSBsaS5uZXh0IHN2Zyxcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZWpzIGxpLnByZXZpb3VzIHN2Zyxcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZWpzIGxpLm5leHQgc3ZnIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xufVxuIiwgIi8qKiBTdGFja3MgYXJlIGp1c3QgdmVydGljYWwgZmxleCBib3hlcy4gKi9cbi5kYy1zdGFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgbWFyZ2luOiA0cHg7XG59XG5cbi8qKiBHcm91cHMgYXJlIGhvcml6b25hbCBmbGV4IGJveGVzLiAqL1xuLmRjLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICBtYXJnaW46IDRweDtcbn1cbiIsICIvKiBCYXNpYyBwYWRkaW5nIGZvciBidXR0b25zLiAqL1xuLmRjLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLyogRXJyb3IgaW50ZW50IC0gcmVkIGJhY2tncm91bmQuICovXG4uZGMtaW50ZW50LWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFdhcm4gaW50ZW50IC0gb3JhbmdlIGJhY2tncm91bmQuICovXG4uZGMtaW50ZW50LXdhcm4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSkgIWltcG9ydGFudDtcbn1cblxuLyogXCJJbmZvXCIgaW50ZW50IC0gYmx1ZSBiYWNrZ3JvdW5kLiAqL1xuLmRjLWludGVudC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKSAhaW1wb3J0YW50O1xufVxuXG4vKiogXCJTdWNjZXNzXCIgaW50ZW50IC0gZ3JlZW4gYmFja2dyb3VuZC4gKi9cbi5kYy1pbnRlbnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pICFpbXBvcnRhbnQ7XG59XG5cbi8qKiBUZXh0IGJveGVzLiAqL1xuLmRjLXRleHRib3gge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi8qIENoZWNrYm94ICovXG4uZGMtY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogNHB4IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uZGMtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBDaGVja2JveCBob3ZlciAqL1xuLmRjLWNoZWNrYm94OmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi8qIENoZWNrYm94IGZvY3VzICovXG4uZGMtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLyogQ2hlY2tib3ggZGlzYWJsZWQgKi9cbi5kYy1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjY7XG59XG5cbi5kYy1jaGVja2JveC1kaXNhYmxlZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIEJhc2ljIHN0eWxlcyBmb3IgZGMtc2xpZGVyICovXG4uZGMtc2xpZGVyIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG59XG5cbi5kYy1zd2l0Y2guZGMtc3dpdGNoLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuLyogQmFzaWMgc3R5bGVzIGZvciBkYy1pY29uLCBtYWtlIGl0IHZlcnRpY2FsIGNlbnRlciAqL1xuLmRjLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCAiLmRhdGFjb3JlLWxpc3QtaXRlbS1maWVsZHMge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCkgIWltcG9ydGFudDtcbn1cblxuLmRhdGFjb3JlLWxpc3QtaXRlbS1maWVsZHMgPiAuZGF0YWNvcmUtZmllbGQgKyAuZGF0YWNvcmUtZmllbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjRlbTtcbn1cblxuLmRhdGFjb3JlLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kYXRhY29yZS1maWVsZCAuZmllbGQtdGl0bGUge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhc2UtMjUpO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHZhcigtLXRleHQtYWNjZW50KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xuICAgIHBhZGRpbmc6IDAuMmVtIDAuNWVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmRhdGFjb3JlLWZpZWxkIC5maWVsZC12YWx1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZGF0YWNvcmUtZmllbGQgLmZpZWxkLXZhbHVlIC5jaGVja2JveC1jb250YWluZXIge1xuICAgIHRvcDogM3B4O1xufVxuXG4uZGF0YWNvcmUtZmllbGQgLmZpZWxkLXZhbHVlIGlucHV0IHtcbiAgICBoZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS1yYXRpbmctc3Rhci5maWxsZWQge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5kYXRhY29yZS1yYXRpbmctc3RhciB7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbi5kYXRhY29yZS1zZWxlY3RhYmxlX19pbnB1dC1jb250YWluZXIsXG4uZGF0YWNvcmUtc2VsZWN0YWJsZV9faW5wdXQtY29udGFpbmVyIGlucHV0IHtcbiAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS1lZGl0YWJsZS1vdXRlciAucHJvbXB0LWlucHV0LmRhdGFjb3JlLXNlbGVjdGFibGVfX2lucHV0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmxleC1ncm93OiAxO1xufVxuLmRhdGFjb3JlLXNlbGVjdGFibGVfX2lucHV0LWNvbnRhaW5lciBpbnB1dCB7XG4gICAgd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IG1heC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZGF0YWNvcmUtc2VsZWN0YWJsZV9fbWVudSB7XG4gICAgei1pbmRleDogOTk5OTkgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnByb21wdC1pbnB1dC5kYXRhY29yZS1zZWxlY3RhYmxlX19pbnB1dC1jb250YWluZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi52YWx1ZS1jb250YWluZXIuZGF0YWNvcmUtc2VsZWN0YWJsZV9fdmFsdWUtY29udGFpbmVyIHtcbn1cblxuLnN1Z2dlc3Rpb24tY29udGFpbmVyOmhhcyguZGF0YWNvcmUtc2VsZWN0YWJsZV9fY29udHJvbC0tbWVudS1pcy1vcGVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmRhdGFjb3JlLXNlbGVjdGFibGVfX21lbnUge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmRhdGFjb3JlLWVkaXRhYmxlLW91dGVyID4gLnN1Z2dlc3Rpb24tY29udGFpbmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZGF0YWNvcmUtc2VsZWN0YWJsZV9fbWVudS1saXN0IC5zdWdnZXN0aW9uLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQtaW52ZXJ0ZWQpO1xufVxuXG4uZGF0YWNvcmUtbXVsdGktc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5kYXRhY29yZS1tdWx0aS1zZWxlY3QtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdGFnLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tdGFnLXBhZGRpbmcteSkgdmFyKC0tdGFnLXBhZGRpbmcteCk7XG59XG5cbnRleHRhcmVhLmRhdGFjb3JlLWVkaXRhYmxlIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuIiwgIi5kYXRhY29yZS1saXN0LWl0ZW0tY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmRhdGFjb3JlLWxpc3QtaXRlbS1jb250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbjppcyh1bCwgb2wpIGxpOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgcDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG51bC5kYXRhY29yZS5jb250YWlucy10YXNrLWxpc3QgPiBsaSB7XG4gICAgLyogbWFyZ2luLWlubGluZS1zdGFydDogMDsgKi9cbn1cbmlucHV0LmRhdGFjb3JlLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcbiAgICAvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jaGVja2JveC1zaXplKSAqIDAuMSkgIWltcG9ydGFudDtcbiAgICAvKiBtYXJnaW4taW5saW5lLXN0YXJ0OiAwICFpbXBvcnRhbnQ7ICovXG59XG5cbmxpLmRhdGFjb3JlLnRhc2stbGlzdC1pdGVtID4gKjpudGgtY2hpbGQoMykge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdCAhaW1wb3J0YW50O1xuICAgIHRvcDogLTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRhdGFjb3JlLWNvbGxhcHNlcixcbi5kYXRhY29yZS1jb2xsYXBzZXIgc3ZnLnN2Zy1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4uZGF0YWNvcmUtY29sbGFwc2VyLmlzLWNvbGxhcHNlZCBzdmcuc3ZnLWljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKGNhbGModmFyKC0tZGlyZWN0aW9uKSAqIC0xICogOTBkZWcpKTtcbn1cbmxpLmRhdGFjb3JlLmRhdGFjb3JlLnRhc2stbGlzdC1pdGVtIC5kYXRhY29yZS1jb2xsYXBzZXIge1xuICAgIG1hcmdpbi1yaWdodDogMC43ZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4vKiBsaS5kYXRhY29yZS50YXNrLWxpc3QtaXRlbSA+IDpmaXJzdC1jaGlsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsb2F0OiBsZWZ0O1xufSAqL1xubGkuZGF0YWNvcmUudGFzay1saXN0LWl0ZW0gLmRhdGFjb3JlLWNvbGxhcHNlciB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jaGVja2JveC1zaXplKSAqIC0xLjQpO1xufVxubGkuZGF0YWNvcmUudGFzay1saXN0LWl0ZW0gLmRhdGFjb3JlLWNvbGxhcHNlci5uby1jaGlsZHJlbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwgIi5kYy1wYWdpbmctY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBnYXA6IDEwcHg7XG59XG5cbmJ1dHRvbi5kYy1wYWdpbmctY29udHJvbC1wYWdlIHtcbiAgICB3aWR0aDogdmFyKC0taW5wdXQtaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuYnV0dG9uLmRjLXBhZ2luZy1jb250cm9sLXBhZ2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtc2VsZWN0aW9uKTtcbn1cblxuYnV0dG9uLmRjLXBhZ2luZy1jb250cm9sLXBhZ2UtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LXNlbGVjdGlvbik7XG59XG5cbmJ1dHRvbi5kYy1wYWdpbmctY29udHJvbC1wYWdlW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IDAuNTtcbn1cblxuYnV0dG9uLmRjLXBhZ2luZy1jb250cm9sLXBhZ2VbZGlzYWJsZWRdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZGMtcGFnaW5nLWNvbnRyb2wtc2VwYXJhdG9yOmhvdmVyID4gLmRjLXBhZ2luZy1jb250cm9sLWVsbGlwc2lzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZGMtcGFnaW5nLWNvbnRyb2wtc2VwYXJhdG9yID4gLmRjLXBhZ2luZy1jb250cm9sLWxlYXAtbGVmdCxcbi5kYy1wYWdpbmctY29udHJvbC1zZXBhcmF0b3IgPiAuZGMtcGFnaW5nLWNvbnRyb2wtbGVhcC1yaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRjLXBhZ2luZy1jb250cm9sLXNlcGFyYXRvcjpob3ZlciA+IC5kYy1wYWdpbmctY29udHJvbC1sZWFwLWxlZnQsXG4uZGMtcGFnaW5nLWNvbnRyb2wtc2VwYXJhdG9yOmhvdmVyID4gLmRjLXBhZ2luZy1jb250cm9sLWxlYXAtcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5kYy1wYWdpbmctY29udHJvbC1zZXBhcmF0b3IgPiAuZGMtcGFnaW5nLWNvbnRyb2wtbGVhcC1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuIiwgIi5kYXRhY29yZS10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5kYXRhY29yZS10YWJsZSA+IHRoZWFkID4gdHIsXG4uZGF0YWNvcmUtdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5kYXRhY29yZS10YWJsZSA+IHRib2R5ID4gdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtc2VsZWN0aW9uKSAhaW1wb3J0YW50O1xufVxuXG4uZGF0YWNvcmUtdGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiBsYXJnZXI7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQ7XG5cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5kYXRhY29yZS10YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmRhdGFjb3JlLXRhYmxlIHVsOm5vdCguY29udGFpbnMtdGFzay1saXN0KSxcbi5kYXRhY29yZS10YWJsZSBvbCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwLjJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IDAuMmVtICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS10YWJsZS1oZWFkZXItY2VsbC1jb250ZW50IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZGF0YWNvcmUtdGFibGUtc29ydCB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kYXRhY29yZS10YWJsZS1oZWFkZXItdGl0bGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uZGF0YWNvcmUtdGFibGUgdGQgLmRhdGFjb3JlLWNvbGxhcHNlciB7XG4gICAgbWF4LXdpZHRoOiAxLjI1ZW07XG4gICAgbWF4LWhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLmRhdGFjb3JlLXRhYmxlIHRkOmhhcyguZGF0YWNvcmUtY2FyZC1jb2xsYXBzZXIpIHtcbiAgICBtYXgtd2lkdGg6IDEuMjVlbTtcbn1cblxuLmRhdGFjb3JlLXRhYmxlIHRkIC5kYXRhY29yZS1lZGl0YWJsZS1vdXRlcixcbi5kYXRhY29yZS10YWJsZSB0ZCAuZGF0YWNvcmUtZWRpdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsICIuZGF0YWNvcmUgLmNhbGxvdXQtY29udGVudCxcbi5kYXRhY29yZS5jYWxsb3V0IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgY3ViaWMtYmV6aWVyKDAuMDIsIDAuMDEsIDAuNDcsIDEpO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5kYXRhY29yZSAuY2FsbG91dC1mb2xkIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4iLCAiLmRhdGFjb3JlLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIG1pbi13aWR0aDogODklO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4uZGF0YWNvcmUtY2FyZC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbn1cblxuLmRhdGFjb3JlLWNhcmQtdGl0bGUuY2VudGVyZWQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS1jYXJkLWNvbnRlbnQsXG4uZGF0YWNvcmUtY2FyZC1pbm5lcixcbi5kYXRhY29yZS1jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42NSwgMC4wNSwgMC4zNiwgMSk7XG59XG4uZGF0YWNvcmUtY2FyZC1pbm5lciB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbn1cblxuLmRhdGFjb3JlLWNhcmQgLmRhdGFjb3JlLWNhcmQtY29sbGFwc2VyLFxuLmRhdGFjb3JlLWNhcmQuaXMtY29sbGFwc2VkIC5kYXRhY29yZS1jYXJkLWNvbGxhcHNlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuNjUsIDAuMDUsIDAuMzYsIDEpO1xufVxuXG4uZGF0YWNvcmUtY2FyZC1jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5kYXRhY29yZS1jYXJkLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZGF0YWNvcmUtY2FyZDpub3QoLmRhdGFjb3JlLWNhcmQuaXMtY29sbGFwc2VkKSAuZGF0YWNvcmUtY2FyZC1jb2xsYXBzZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5kYXRhY29yZS1jYXJkLmlzLWNvbGxhcHNlZCAuZGF0YWNvcmUtY2FyZC1jb2xsYXBzZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS1jYXJkLWNvbGxhcHNlLFxuLmRhdGFjb3JlLWNhcmQtY29sbGFwc2VyIHN2ZyB7XG4gICAgbWluLXdpZHRoOiAxZW07XG4gICAgbWluLWhlaWdodDogMWVtO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZGF0YWNvcmUtY2FyZC5pcy1jb2xsYXBzZWQgLmRhdGFjb3JlLWNhcmQtY29sbGFwc2VyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLmRhdGFjb3JlLWNhcmQgLmRhdGFjb3JlLWNhcmQtZm9vdGVyIHtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUEsQ0FBQztBQUNHLFlBQVU7QUFFVixXQUFTLElBQUksSUFBSSxJQUFJO0FBQ3JCLFVBQVEsSUFBSSxJQUFJLElBQUk7QUFFcEIsb0JBQWtCLElBQUk7QUFDMUI7QUFFQSxDQUFDO0FBQ0csWUFBVTtBQUNWLE9BQUs7QUFDTCxTQUFPO0FBQ1AsZ0JBQWM7QUFDZCxpQkFBZTtBQUVmLG9CQUFrQixJQUFJO0FBQ3RCLFNBQU8sSUFBSTtBQUVYLGFBQVcsSUFBSTtBQUNuQjs7O0FDcEJBLENBQUM7QUFDRyxjQUFZO0FBQ1osY0FBWTtBQUNoQjtBQUlBLENBQUM7QUFDRyxTQUFPO0FBQ1AsY0FBWTtBQUNaLFdBQVM7QUFDVCxrQkFBZ0I7QUFDaEIsZUFBYTtBQUNiLG1CQUFpQjtBQUNqQixVQUFRLElBQUksT0FBTyxJQUFJO0FBQzNCO0FBRUEsQ0FBQztBQUNHLGNBQVk7QUFDaEI7QUFFQSxDQUFDO0FBQ0csU0FBTyxJQUFJO0FBQ1gsY0FBWTtBQUNoQjtBQUlBLENBQUM7QUFDRyxTQUFPO0FBQ1AsY0FBWTtBQUNaLFdBQVM7QUFDVCxrQkFBZ0I7QUFDaEIsZUFBYTtBQUNiLG1CQUFpQjtBQUNqQixVQUFRLElBQUksT0FBTyxJQUFJO0FBQzNCO0FBRUEsQ0FBQztBQUNHLGNBQVk7QUFDaEI7QUFFQSxDQUFDO0FBQ0csU0FBTyxJQUFJO0FBQ1gsY0FBWTtBQUNoQjtBQUlBLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztBQUM1QixDQUFDLDBCQUEwQixFQUFFLENBREQ7QUFFeEIsY0FBWSxJQUFJO0FBQ2hCLFdBQVM7QUFDVCxpQkFBZTtBQUNmLFNBQU87QUFDUCxVQUFRO0FBQ1o7QUFFQSxDQVRDLHdCQVN3QixFQUFFLENBVEMsU0FTUztBQUNyQyxDQVRDLDBCQVMwQixFQUFFLENBVkQsU0FVVztBQUNuQyxTQUFPLElBQUk7QUFDWCxXQUFTO0FBQ1QsY0FB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 */ +/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FwaS91aS9lbWJlZC5jc3MiLCAiLi4vLi4vc3JjL3VpL2Vycm9ycy5jc3MiLCAiLi4vLi4vc3JjL2FwaS91aS9sYXlvdXQuY3NzIiwgIi4uLy4uL3NyYy9hcGkvdWkvYmFzaWNzLmNzcyIsICIuLi8uLi9zcmMvdWkvZmllbGRzL2ZpZWxkcy5jc3MiLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9saXN0cy5jc3MiLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9wYWdpbmcuY3NzIiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvdGFibGUuY3NzIiwgIi4uLy4uL3NyYy9hcGkvdWkvdmlld3MvY2FsbG91dC5jc3MiLCAiLi4vLi4vc3JjL2FwaS91aS92aWV3cy9jYXJkcy5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi5kYXRhY29yZS1zcGFuLWVtYmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBwYWRkaW5nOiAxcHggOHB4IDFweCA4cHg7XG4gICAgbWFyZ2luOiA0cHggMHB4IDRweCAwcHg7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTI1KTtcbn1cblxuLmRhdGFjb3JlLWVtYmVkLXNvdXJjZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNHB4O1xuICAgIHJpZ2h0OiA0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnktYWx0KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1mYWludCk7XG5cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc21hbGxlc3QpO1xufVxuIiwgIi5kYXRhY29yZS1lcnJvci1yZXRyeSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyoqIEVycm9yIEJveGVzLiAqL1xuXG4uZGF0YWNvcmUtZXJyb3ItYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDRweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZGF0YWNvcmUtZXJyb3ItdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmRhdGFjb3JlLWVycm9yLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qKiBMb2FkaW5nIHZpZXdzIHdoaWxlIHRoZSBpbmRleCBpcyBpbml0aWFsaXppbmcuICovXG5cbi5kYXRhY29yZS1sb2FkaW5nLWJvdW5kYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDRweCBkYXNoZWQgdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4uZGF0YWNvcmUtbG9hZGluZy10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGF0YWNvcmUtbG9hZGluZy1jb250ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiogU29tZSBuaWNldGllcyBmb3IgcmVuZGVyaW5nIGxhbmd1YWdlIGJsb2Nrcy4gKi9cblxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlIGxpLnNlbGVjdGVkLFxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlanMgbGkuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtYWNjZW50KTtcbiAgICBwYWRkaW5nOiAwLjJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbn1cblxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlIGxpLnNlbGVjdGVkIGEsXG4uYmxvY2stbGFuZ3VhZ2UtZGF0YWNvcmVqcyBsaS5zZWxlY3RlZCBhIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQtaW52ZXJ0ZWQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlIC5kYXRhY29yZS1wYWdlcixcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZWpzIC5kYXRhY29yZS1wYWdlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtaW4td2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuN2VtO1xufVxuXG4uYmxvY2stbGFuZ3VhZ2UtZGF0YWNvcmUgbGkucHJldmlvdXMsXG4uYmxvY2stbGFuZ3VhZ2UtZGF0YWNvcmUgbGkubmV4dCxcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZWpzIGxpLnByZXZpb3VzLFxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlanMgbGkubmV4dCB7XG4gICAgbWluLWhlaWdodDogMS40ZW07XG4gICAgbWluLXdpZHRoOiAxLjRlbTtcbn1cblxuLmJsb2NrLWxhbmd1YWdlLWRhdGFjb3JlIGxpLnByZXZpb3VzIHN2Zyxcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZSBsaS5uZXh0IHN2Zyxcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZWpzIGxpLnByZXZpb3VzIHN2Zyxcbi5ibG9jay1sYW5ndWFnZS1kYXRhY29yZWpzIGxpLm5leHQgc3ZnIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xufVxuIiwgIi8qKiBTdGFja3MgYXJlIGp1c3QgdmVydGljYWwgZmxleCBib3hlcy4gKi9cbi5kYy1zdGFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgbWFyZ2luOiA0cHg7XG59XG5cbi8qKiBHcm91cHMgYXJlIGhvcml6b25hbCBmbGV4IGJveGVzLiAqL1xuLmRjLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICBtYXJnaW46IDRweDtcbn1cbiIsICIvKiBCYXNpYyBwYWRkaW5nIGZvciBidXR0b25zLiAqL1xuLmRjLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLyogRXJyb3IgaW50ZW50IC0gcmVkIGJhY2tncm91bmQuICovXG4uZGMtaW50ZW50LWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFdhcm4gaW50ZW50IC0gb3JhbmdlIGJhY2tncm91bmQuICovXG4uZGMtaW50ZW50LXdhcm4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSkgIWltcG9ydGFudDtcbn1cblxuLyogXCJJbmZvXCIgaW50ZW50IC0gYmx1ZSBiYWNrZ3JvdW5kLiAqL1xuLmRjLWludGVudC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKSAhaW1wb3J0YW50O1xufVxuXG4vKiogXCJTdWNjZXNzXCIgaW50ZW50IC0gZ3JlZW4gYmFja2dyb3VuZC4gKi9cbi5kYy1pbnRlbnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pICFpbXBvcnRhbnQ7XG59XG5cbi8qKiBUZXh0IGJveGVzLiAqL1xuLmRjLXRleHRib3gge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi8qIENoZWNrYm94ICovXG4uZGMtY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogNHB4IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uZGMtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBDaGVja2JveCBob3ZlciAqL1xuLmRjLWNoZWNrYm94OmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi8qIENoZWNrYm94IGZvY3VzICovXG4uZGMtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zKTtcbn1cblxuLyogQ2hlY2tib3ggZGlzYWJsZWQgKi9cbi5kYy1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjY7XG59XG5cbi5kYy1jaGVja2JveC1kaXNhYmxlZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIEJhc2ljIHN0eWxlcyBmb3IgZGMtc2xpZGVyICovXG4uZGMtc2xpZGVyIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG59XG5cbi5kYy1zd2l0Y2guZGMtc3dpdGNoLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuLyogQmFzaWMgc3R5bGVzIGZvciBkYy1pY29uLCBtYWtlIGl0IHZlcnRpY2FsIGNlbnRlciAqL1xuLmRjLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCAiLmRhdGFjb3JlLWxpc3QtaXRlbS1maWVsZHMge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW5vcm1hbCkgIWltcG9ydGFudDtcbn1cblxuLmRhdGFjb3JlLWxpc3QtaXRlbS1maWVsZHMgPiAuZGF0YWNvcmUtZmllbGQgKyAuZGF0YWNvcmUtZmllbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjRlbTtcbn1cblxuLmRhdGFjb3JlLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kYXRhY29yZS1maWVsZCAuZmllbGQtdGl0bGUge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhc2UtMjUpO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHZhcigtLXRleHQtYWNjZW50KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xuICAgIHBhZGRpbmc6IDAuMmVtIDAuNWVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbnNwYW4uZGF0YWNvcmUtZWRpdGFibGUtb3V0ZXIsXG5zcGFuLmRhdGFjb3JlLWVkaXRhYmxlLW91dGVyIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuLmRhdGFjb3JlLWZpZWxkIC5maWVsZC12YWx1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZGF0YWNvcmUtZmllbGQgLmZpZWxkLXZhbHVlIC5jaGVja2JveC1jb250YWluZXIge1xuICAgIHRvcDogM3B4O1xufVxuXG4uZGF0YWNvcmUtZmllbGQgLmZpZWxkLXZhbHVlIGlucHV0IHtcbiAgICBoZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS1yYXRpbmctc3Rhci5maWxsZWQge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWFjY2VudCk7XG59XG5cbi5kYXRhY29yZS1yYXRpbmctc3RhciB7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbi5kYXRhY29yZS1zZWxlY3RhYmxlX19pbnB1dC1jb250YWluZXIsXG4uZGF0YWNvcmUtc2VsZWN0YWJsZV9faW5wdXQtY29udGFpbmVyIGlucHV0IHtcbiAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS1lZGl0YWJsZS1vdXRlciAucHJvbXB0LWlucHV0LmRhdGFjb3JlLXNlbGVjdGFibGVfX2lucHV0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmxleC1ncm93OiAxO1xufVxuLmRhdGFjb3JlLXNlbGVjdGFibGVfX2lucHV0LWNvbnRhaW5lciBpbnB1dCB7XG4gICAgd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IG1heC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZGF0YWNvcmUtc2VsZWN0YWJsZV9fbWVudSB7XG4gICAgei1pbmRleDogOTk5OTkgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnByb21wdC1pbnB1dC5kYXRhY29yZS1zZWxlY3RhYmxlX19pbnB1dC1jb250YWluZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi52YWx1ZS1jb250YWluZXIuZGF0YWNvcmUtc2VsZWN0YWJsZV9fdmFsdWUtY29udGFpbmVyIHtcbn1cblxuLnN1Z2dlc3Rpb24tY29udGFpbmVyOmhhcyguZGF0YWNvcmUtc2VsZWN0YWJsZV9fY29udHJvbC0tbWVudS1pcy1vcGVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmRhdGFjb3JlLXNlbGVjdGFibGVfX21lbnUge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmRhdGFjb3JlLWVkaXRhYmxlLW91dGVyID4gLnN1Z2dlc3Rpb24tY29udGFpbmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZGF0YWNvcmUtc2VsZWN0YWJsZV9fbWVudS1saXN0IC5zdWdnZXN0aW9uLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1hY2NlbnQtaW52ZXJ0ZWQpO1xufVxuXG4uZGF0YWNvcmUtbXVsdGktc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5kYXRhY29yZS1tdWx0aS1zZWxlY3QtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWFjY2VudCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdGFnLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tdGFnLXBhZGRpbmcteSkgdmFyKC0tdGFnLXBhZGRpbmcteCk7XG59XG5cbnRleHRhcmVhLmRhdGFjb3JlLWVkaXRhYmxlIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuIiwgIi5kYXRhY29yZS1saXN0LWl0ZW0tY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmRhdGFjb3JlLWxpc3QtaXRlbS1jb250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbjppcyh1bCwgb2wpIGxpOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgcDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG51bC5kYXRhY29yZS5jb250YWlucy10YXNrLWxpc3QgPiBsaSB7XG4gICAgLyogbWFyZ2luLWlubGluZS1zdGFydDogMDsgKi9cbn1cbmlucHV0LmRhdGFjb3JlLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcbiAgICAvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jaGVja2JveC1zaXplKSAqIDAuMSkgIWltcG9ydGFudDtcbiAgICAvKiBtYXJnaW4taW5saW5lLXN0YXJ0OiAwICFpbXBvcnRhbnQ7ICovXG59XG5cbmxpLmRhdGFjb3JlLnRhc2stbGlzdC1pdGVtID4gKjpudGgtY2hpbGQoMykge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdCAhaW1wb3J0YW50O1xuICAgIHRvcDogLTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRhdGFjb3JlLWNvbGxhcHNlcixcbi5kYXRhY29yZS1jb2xsYXBzZXIgc3ZnLnN2Zy1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4uZGF0YWNvcmUtY29sbGFwc2VyLmlzLWNvbGxhcHNlZCBzdmcuc3ZnLWljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKGNhbGModmFyKC0tZGlyZWN0aW9uKSAqIC0xICogOTBkZWcpKTtcbn1cbmxpLmRhdGFjb3JlLmRhdGFjb3JlLnRhc2stbGlzdC1pdGVtIC5kYXRhY29yZS1jb2xsYXBzZXIge1xuICAgIG1hcmdpbi1yaWdodDogMC43ZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4vKiBsaS5kYXRhY29yZS50YXNrLWxpc3QtaXRlbSA+IDpmaXJzdC1jaGlsZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsb2F0OiBsZWZ0O1xufSAqL1xubGkuZGF0YWNvcmUudGFzay1saXN0LWl0ZW0gLmRhdGFjb3JlLWNvbGxhcHNlciB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1jaGVja2JveC1zaXplKSAqIC0xLjQpO1xufVxubGkuZGF0YWNvcmUudGFzay1saXN0LWl0ZW0gLmRhdGFjb3JlLWNvbGxhcHNlci5uby1jaGlsZHJlbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwgIi5kYy1wYWdpbmctY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBnYXA6IDEwcHg7XG59XG5cbmJ1dHRvbi5kYy1wYWdpbmctY29udHJvbC1wYWdlIHtcbiAgICB3aWR0aDogdmFyKC0taW5wdXQtaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLWlucHV0LWhlaWdodCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuYnV0dG9uLmRjLXBhZ2luZy1jb250cm9sLXBhZ2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtc2VsZWN0aW9uKTtcbn1cblxuYnV0dG9uLmRjLXBhZ2luZy1jb250cm9sLXBhZ2UtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LXNlbGVjdGlvbik7XG59XG5cbmJ1dHRvbi5kYy1wYWdpbmctY29udHJvbC1wYWdlW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IDAuNTtcbn1cblxuYnV0dG9uLmRjLXBhZ2luZy1jb250cm9sLXBhZ2VbZGlzYWJsZWRdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZGMtcGFnaW5nLWNvbnRyb2wtc2VwYXJhdG9yOmhvdmVyID4gLmRjLXBhZ2luZy1jb250cm9sLWVsbGlwc2lzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZGMtcGFnaW5nLWNvbnRyb2wtc2VwYXJhdG9yID4gLmRjLXBhZ2luZy1jb250cm9sLWxlYXAtbGVmdCxcbi5kYy1wYWdpbmctY29udHJvbC1zZXBhcmF0b3IgPiAuZGMtcGFnaW5nLWNvbnRyb2wtbGVhcC1yaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRjLXBhZ2luZy1jb250cm9sLXNlcGFyYXRvcjpob3ZlciA+IC5kYy1wYWdpbmctY29udHJvbC1sZWFwLWxlZnQsXG4uZGMtcGFnaW5nLWNvbnRyb2wtc2VwYXJhdG9yOmhvdmVyID4gLmRjLXBhZ2luZy1jb250cm9sLWxlYXAtcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5kYy1wYWdpbmctY29udHJvbC1zZXBhcmF0b3IgPiAuZGMtcGFnaW5nLWNvbnRyb2wtbGVhcC1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuIiwgIi5kYXRhY29yZS10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5kYXRhY29yZS10YWJsZSA+IHRoZWFkID4gdHIsXG4uZGF0YWNvcmUtdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5kYXRhY29yZS10YWJsZSA+IHRib2R5ID4gdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtc2VsZWN0aW9uKSAhaW1wb3J0YW50O1xufVxuXG4uZGF0YWNvcmUtdGFibGUgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiBsYXJnZXI7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQ7XG5cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5kYXRhY29yZS10YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmRhdGFjb3JlLXRhYmxlIHVsOm5vdCguY29udGFpbnMtdGFzay1saXN0KSxcbi5kYXRhY29yZS10YWJsZSBvbCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwLjJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IDAuMmVtICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS10YWJsZS1oZWFkZXItY2VsbC1jb250ZW50IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZGF0YWNvcmUtdGFibGUtc29ydCB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kYXRhY29yZS10YWJsZS1oZWFkZXItdGl0bGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uZGF0YWNvcmUtdGFibGUgdGQgLmRhdGFjb3JlLWNvbGxhcHNlciB7XG4gICAgbWF4LXdpZHRoOiAxLjI1ZW07XG4gICAgbWF4LWhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLmRhdGFjb3JlLXRhYmxlIHRkOmhhcyguZGF0YWNvcmUtY2FyZC1jb2xsYXBzZXIpIHtcbiAgICBtYXgtd2lkdGg6IDEuMjVlbTtcbn1cblxuLmRhdGFjb3JlLXRhYmxlIHRkIC5kYXRhY29yZS1lZGl0YWJsZS1vdXRlcixcbi5kYXRhY29yZS10YWJsZSB0ZCAuZGF0YWNvcmUtZWRpdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsICIuZGF0YWNvcmUgLmNhbGxvdXQtY29udGVudCxcbi5kYXRhY29yZS5jYWxsb3V0IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgY3ViaWMtYmV6aWVyKDAuMDIsIDAuMDEsIDAuNDcsIDEpO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5kYXRhY29yZSAuY2FsbG91dC1mb2xkIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4iLCAiLmRhdGFjb3JlLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgIG1pbi13aWR0aDogODklO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4uZGF0YWNvcmUtY2FyZC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbn1cblxuLmRhdGFjb3JlLWNhcmQtdGl0bGUuY2VudGVyZWQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS1jYXJkLWNvbnRlbnQsXG4uZGF0YWNvcmUtY2FyZC1pbm5lcixcbi5kYXRhY29yZS1jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42NSwgMC4wNSwgMC4zNiwgMSk7XG59XG4uZGF0YWNvcmUtY2FyZC1pbm5lciB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbn1cblxuLmRhdGFjb3JlLWNhcmQgLmRhdGFjb3JlLWNhcmQtY29sbGFwc2VyLFxuLmRhdGFjb3JlLWNhcmQuaXMtY29sbGFwc2VkIC5kYXRhY29yZS1jYXJkLWNvbGxhcHNlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuNjUsIDAuMDUsIDAuMzYsIDEpO1xufVxuXG4uZGF0YWNvcmUtY2FyZC1jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5kYXRhY29yZS1jYXJkLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZGF0YWNvcmUtY2FyZDpub3QoLmRhdGFjb3JlLWNhcmQuaXMtY29sbGFwc2VkKSAuZGF0YWNvcmUtY2FyZC1jb2xsYXBzZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5kYXRhY29yZS1jYXJkLmlzLWNvbGxhcHNlZCAuZGF0YWNvcmUtY2FyZC1jb2xsYXBzZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpICFpbXBvcnRhbnQ7XG59XG5cbi5kYXRhY29yZS1jYXJkLWNvbGxhcHNlLFxuLmRhdGFjb3JlLWNhcmQtY29sbGFwc2VyIHN2ZyB7XG4gICAgbWluLXdpZHRoOiAxZW07XG4gICAgbWluLWhlaWdodDogMWVtO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZGF0YWNvcmUtY2FyZC5pcy1jb2xsYXBzZWQgLmRhdGFjb3JlLWNhcmQtY29sbGFwc2VyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLmRhdGFjb3JlLWNhcmQgLmRhdGFjb3JlLWNhcmQtZm9vdGVyIHtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUEsQ0FBQztBQUNHLFlBQVU7QUFFVixXQUFTLElBQUksSUFBSSxJQUFJO0FBQ3JCLFVBQVEsSUFBSSxJQUFJLElBQUk7QUFFcEIsb0JBQWtCLElBQUk7QUFDMUI7QUFFQSxDQUFDO0FBQ0csWUFBVTtBQUNWLE9BQUs7QUFDTCxTQUFPO0FBQ1AsZ0JBQWM7QUFDZCxpQkFBZTtBQUVmLG9CQUFrQixJQUFJO0FBQ3RCLFNBQU8sSUFBSTtBQUVYLGFBQVcsSUFBSTtBQUNuQjs7O0FDcEJBLENBQUM7QUFDRyxjQUFZO0FBQ1osY0FBWTtBQUNoQjtBQUlBLENBQUM7QUFDRyxTQUFPO0FBQ1AsY0FBWTtBQUNaLFdBQVM7QUFDVCxrQkFBZ0I7QUFDaEIsZUFBYTtBQUNiLG1CQUFpQjtBQUNqQixVQUFRLElBQUksT0FBTyxJQUFJO0FBQzNCO0FBRUEsQ0FBQztBQUNHLGNBQVk7QUFDaEI7QUFFQSxDQUFDO0FBQ0csU0FBTyxJQUFJO0FBQ1gsY0FBWTtBQUNoQjtBQUlBLENBQUM7QUFDRyxTQUFPO0FBQ1AsY0FBWTtBQUNaLFdBQVM7QUFDVCxrQkFBZ0I7QUFDaEIsZUFBYTtBQUNiLG1CQUFpQjtBQUNqQixVQUFRLElBQUksT0FBTyxJQUFJO0FBQzNCO0FBRUEsQ0FBQztBQUNHLGNBQVk7QUFDaEI7QUFFQSxDQUFDO0FBQ0csU0FBTyxJQUFJO0FBQ1gsY0FBWTtBQUNoQjtBQUlBLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztBQUM1QixDQUFDLDBCQUEwQixFQUFFLENBREQ7QUFFeEIsY0FBWSxJQUFJO0FBQ2hC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 */ diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 8286a06..95774f2 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -1,24 +1,20 @@ { "main": { - "id": "76de6be868a0418f", + "id": "1012f27c492454ef", "type": "split", "children": [ { - "id": "ab93f18646a229b9", + "id": "29288f745d6971e0", "type": "tabs", "children": [ { - "id": "b0c84859373ac40c", + "id": "81f1f0f1f0b4c7ad", "type": "leaf", "state": { - "type": "markdown", - "state": { - "file": "ui/task.md", - "mode": "preview", - "source": false - }, + "type": "empty", + "state": {}, "icon": "lucide-file", - "title": "task" + "title": "New tab" } } ] @@ -27,15 +23,15 @@ "direction": "vertical" }, "left": { - "id": "77abafdaf1f529db", + "id": "47f0a90ac7566d89", "type": "split", "children": [ { - "id": "ab3f1d163c6e49c9", + "id": "2e4bd1124568649f", "type": "tabs", "children": [ { - "id": "e99aa82361d9a31c", + "id": "c73931bf5e5ba6de", "type": "leaf", "state": { "type": "file-explorer", @@ -47,12 +43,12 @@ } }, { - "id": "8365a4fd7ca7f54d", + "id": "7cd76a85562a84b7", "type": "leaf", "state": { "type": "search", "state": { - "query": "some new te", + "query": "", "matchingCase": false, "explainSearch": false, "collapseAll": false, @@ -64,7 +60,7 @@ } }, { - "id": "9208e1cde5d45dc5", + "id": "34be9c1869e15ac7", "type": "leaf", "state": { "type": "bookmarks", @@ -80,20 +76,19 @@ "width": 300 }, "right": { - "id": "0182eefda3972fce", + "id": "1b2575a761af79c1", "type": "split", "children": [ { - "id": "7dd99025e616bd53", + "id": "3e16cfcdc0126bcd", "type": "tabs", "children": [ { - "id": "d1349b6b4c1be96d", + "id": "627df0da69335f12", "type": "leaf", "state": { "type": "backlink", "state": { - "file": "ui/table.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -103,25 +98,24 @@ "unlinkedCollapsed": true }, "icon": "links-coming-in", - "title": "Backlinks for table" + "title": "Backlinks" } }, { - "id": "cd4aa09458163a3e", + "id": "7180213ba0d51608", "type": "leaf", "state": { "type": "outgoing-link", "state": { - "file": "ui/task.md", "linksCollapsed": false, "unlinkedCollapsed": true }, "icon": "links-going-out", - "title": "Outgoing links from task" + "title": "Outgoing links" } }, { - "id": "f763f1c206c7f94a", + "id": "c6ad06821ff67cdc", "type": "leaf", "state": { "type": "tag", @@ -134,15 +128,13 @@ } }, { - "id": "9ca046e9999ed3b2", + "id": "da9a5d3b99d2bb81", "type": "leaf", "state": { "type": "outline", - "state": { - "file": "ui/task.md" - }, + "state": {}, "icon": "lucide-list", - "title": "Outline of task" + "title": "Outline" } } ] @@ -162,14 +154,43 @@ "command-palette:Open command palette": false } }, - "active": "b0c84859373ac40c", + "active": "81f1f0f1f0b4c7ad", "lastOpenFiles": [ - "ui/task.md", "ui/table.md", - "data/02 - pS2HaRq01BgMYF/01 - jPuAv5MSZAaSHi/01 - UfGI4w8JeWc/J48DS5ZQMe13gho.md", + "ui/task.md", "ui/embed.md", - "ui/buttons.md", - "data/02 - IVsMoihuGUYL/01 - C5pMsRu6RsMD/01 - 3Qg4LriH48CW/0n8Mov8dWDCSAx.md", - "data/02 - og139BiqzfUPNSmb3Gi/02 - VqLb0OEbyqts/01 - eYAHKUywaHgV01IVzw/2UduZgqecwWR.md" + "data/02 - projects/10 - programming/50 - uni/EECS 1720 thingy.md", + "data/02 - projects/10 - programming/40 - magisk/testo.md", + "data/02 - projects/10 - programming/40 - magisk/r-submix screencam magisk fix.md", + "data/02 - projects/10 - programming/40 - magisk/40 - magisk.md", + "data/02 - projects/10 - programming/30 - rockfic/v3.md", + "data/02 - projects/10 - programming/30 - rockfic/current.md", + "data/02 - projects/10 - programming/30 - rockfic/30 - rockfic.md", + "data/02 - projects/10 - programming/20 - Alexi Laiho tribute undertale fan-battle/character sprites.md", + "data/02 - projects/10 - programming/20 - Alexi Laiho tribute undertale fan-battle/audio.md", + "data/02 - projects/10 - programming/20 - Alexi Laiho tribute undertale fan-battle/attack sprites.md", + "data/02 - projects/10 - programming/20 - Alexi Laiho tribute undertale fan-battle/20 - Alexi Laiho tribute undertale fan-battle.md", + "data/02 - projects/10 - programming/10 - obsidian plugins/obsidian fountain.md", + "data/02 - projects/10 - programming/10 - obsidian plugins/metadatamenu.md", + "data/02 - projects/10 - programming/10 - obsidian plugins/10 - obsidian plugins.md", + "data/02 - projects/03 - zines/02 - Children of Bodom/Lovers of Lake Bodom.md", + "data/02 - projects/03 - zines/02 - Children of Bodom/02 - Children of Bodom.md", + "data/02 - projects/02 - drawings/03 - other/03 - other.md", + "data/02 - projects/02 - drawings/01 - Diamond Head/deck of cards.md", + "data/02 - projects/01 - animation/01 - Diamond Head/Turn the Page.md", + "data/02 - projects/01 - animation/02 - Children of Bodom/02 - Children of Bodom.md", + "data/02 - projects/01 - animation/02 - Children of Bodom/living dead beat amv.md", + "data/02 - projects/01 - animation/01 - Diamond Head/01 - Diamond Head.md", + "data/02 - projects/10 - programming/50 - uni", + "data/02 - projects/10 - programming/40 - magisk", + "data/02 - projects/10 - programming/30 - rockfic", + "data/02 - projects/10 - programming/20 - Alexi Laiho tribute undertale fan-battle", + "data/02 - projects/10 - programming/10 - programming.md", + "data/02 - projects/10 - programming/10 - obsidian plugins", + "data/02 - projects/03 - zines/02 - Children of Bodom", + "data/02 - projects/02 - drawings/03 - other", + "data/02 - projects/02 - drawings/02 - zines", + "data/02 - projects/02 - drawings/01 - Diamond Head", + "data/02 - projects/02 - drawings/01 - comics" ] } \ No newline at end of file diff --git a/data/00 - zbQd6RuVTgP44D/00 - 575WAOLM6p7kYIP.md b/data/00 - zbQd6RuVTgP44D/00 - 575WAOLM6p7kYIP.md new file mode 100644 index 0000000..9aab1ba --- /dev/null +++ b/data/00 - zbQd6RuVTgP44D/00 - 575WAOLM6p7kYIP.md @@ -0,0 +1,140 @@ +--- +banner: "![[dash-banner.png]]" +banner: "" +banner_y: -1.1 +banner_x: 0.97531 +banner_lock: true +nested: + other: hi +--- + +[inline:: hi] + +

🌸 welcome~ 🌸

+ +```dataviewjs +const today = DateTime.now() +const endOfYear = { + year: today.year, + month: 12, + day: 31 +} +const birthday = DateTime.fromObject({ + year: today.year, + month: 8, + day: 11 +}); +const lastbirthday = birthday.minus({year: 1}) +const nextbirthday = birthday.plus({year: 1}) +console.log(birthday, lastbirthday) +console.log(today.diff(lastbirthday)) +function progress(type) { + let value; + switch(type) { + case "lifespan": + let bol = (today.startOf("day") >= birthday.startOf("day")) + let fac = bol ? 1 : -1 + console.log(today.diff(nextbirthday).as("days")) + console.log(today, birthday, nextbirthday) + value = ( + ( + ( + (today.diff(bol ? birthday : nextbirthday).as("days") * fac) + ) + ) + / today.daysInYear + ) * 100 + console.log("value", value) + break; + case "year": + value = today.month / 12 * 100 + break; + case "month": + value = today.day / today.daysInMonth * 100 + break; + case "day": + value = today.hour / 24 * 100 + break; + } + return ` | ${parseInt(value)} %` +} +dv.span(` +| 🌺 | Progress | Percentage | +| --- | --- |:---:| +| **year** | ${progress("year")} +| **month**| ${progress("month")} +| **day**| ${progress("day")} +| **🎂** | ${progress("lifespan")} +`) +``` + +> U7GMWnnPeLBHr a uOJYM EzcrS bSIk +> +> > AukQugsx +> > `button-daily` +> +> > KgVfgTIp +> > `button-thisweek` +> +> > ABxLXSUb +> > `button-thismonth` +> +> > B3mN4oIt +> > `button-reload` + +> zLme1siN9758NnXP Zt7 mo5JMIi

eslpl DJd1ve RypYlt HJ O5lVW ✨

+> +> ```dataview +> TABLE file.cday as Created, file.mtime as Modified, file.path as Folder +> ``` + +5rPzM pqtVgKEllF N iva5ydYyalW Tb uhcLDj113 Y keKWSt40mM5n NaO D1sUEVHAwz4Odeb77IagTJ0EY8 iLFd9uy0CL +qyJL LccPIv9EC3 + +> ``` +> ``` + +--- + +> Qe4VDuMVSUM9d jRu s s2j0Ae6kkONFpW x +> +> > hJP3lynnZE ltdET3uFu4 [[01 - p7g0UnMJrm0q8gs|dgQiOoj2e]] +> > +> > - VNyN1aQU3 [[01 - k6kJBsgUVQkLKnTRh8r|AaowP1y4Qyey]] +> > - jpoSWWOtxQmdMWJ [[10 - evt9vEcI9AxC9T|ojitDpNHuOeNTdOtyHz0X]] +> > - mTNKoxAAEdHX [[20 - dZYoMCGLKTwIwkvZy|lt4IQYI8pwTpn]] +> +> > jQESEs5BKNrD z5fCIe7oD2PhKhtc2g6k6P [[02 - VnECkcX2Vp|XGKgGGsx]] +> > +> > - [qB1 ](file:///C:/Users/Corinthe/Desktop/ART) +> > - yz5izKYUzsF +> +> > 3i3ToTRp1a 0MbVOnw8IQI2dWMMpsQX [[03 - K4moWyHlojhKar|reVvkKq]] +> > +> > - [[01 - NXFeH8Gp44|nlu45clIuhSX]] +> > - [[02 - T3uUeK4D01cD8FMCIaU|a76lfwu0mLOGyEDtu]] +> +> > WEEBPxTuEzX M98jdvweHRQfbyIXpk [[04 - de4lfmXnJZoZ|RkzNyG3N0daxv82yjMs]] +> > Lj7mZlfea aJZGg4I +> > +> > - [[10 - PFhel6dnQvVHS6RTZj|fX57DcgzVZ8KAizVnjo0x6N]] +> > +> > XUuqOz9IhxON AwD0WdwL Ee +> > +> > - [[10 - t1FnjDl9drpafmf|hOhOBq0lkZSYSosV]] + +--- + +

:far_clipboardlistcheck: Projects

+ +> Ru34j8fhBhWAT +> +> ```dataviewjs +> ``` + +4OffK PQ9vxQ0XCu1 3 bRO6bEscX z i8Fjnykp CjfBuaJZD2lMELOafd PJe79t mN5 N + +> ``` +> ``` + +--- diff --git a/data/00 - zbQd6RuVTgP44D/FDEc1NrJYh6uXMbMdZVa.md b/data/00 - zbQd6RuVTgP44D/FDEc1NrJYh6uXMbMdZVa.md new file mode 100644 index 0000000..4f40d5d --- /dev/null +++ b/data/00 - zbQd6RuVTgP44D/FDEc1NrJYh6uXMbMdZVa.md @@ -0,0 +1,31 @@ +```button +name   reload obsidian +type command +action Reload app without saving +``` + +i6QNzCq3tB0jCh + +```button +name   go to today +type command +action Periodic Notes: Open today's daily note +``` + +upFR1eZ0KrPV4 + +```button +name   go to this week +type command +action Periodic Notes: Open this week's note +``` + +hYur1F3ohEFS1UtX + +```button +name   go to this month +type command +action Periodic Notes: Open this month's note +``` + +mJkyloibe0CsMAubt diff --git a/data/00 - zbQd6RuVTgP44D/QbUYdecnrLJmd5.md b/data/00 - zbQd6RuVTgP44D/QbUYdecnrLJmd5.md new file mode 100644 index 0000000..4a6647c --- /dev/null +++ b/data/00 - zbQd6RuVTgP44D/QbUYdecnrLJmd5.md @@ -0,0 +1,7 @@ +--- +cssclass: +--- + +```dataviewjs +await dv.view("99 - config/85 - dataview views/new-new-pv", {path: "02 - projects"}) +``` diff --git a/data/00 - zbQd6RuVTgP44D/o9LCg38miDZQjZwxn0.md b/data/00 - zbQd6RuVTgP44D/o9LCg38miDZQjZwxn0.md new file mode 100644 index 0000000..31514a0 --- /dev/null +++ b/data/00 - zbQd6RuVTgP44D/o9LCg38miDZQjZwxn0.md @@ -0,0 +1,45 @@ +```dataviewjs +const today = DateTime.now() +const endOfYear = { + year: today.year, + month: 12, + day: 31 +} +const lifespan = { year: 80 } +const birthday = DateTime.fromObject({ + year: today.year, + month: 8, + day: 11 +}); +const lastbirthday = birthday.minus({year: 1}) +console.log(birthday, lastbirthday) +console.log(today.diff(lastbirthday)) +function progress(type) { + let value; + switch(type) { + case "lifespan": + // console.log(lastbi) + value = ((today.diff(lastbirthday)).as("days") / today.daysInYear) * 100 + console.log("value", value) + break; + case "year": + value = today.month / 12 * 100 + break; + case "month": + value = today.day / today.daysInMonth * 100 + break; + case "day": + value = today.hour / 24 * 100 + break; + } + return ` | ${parseInt(value)} %` +} +dv.span(` +| 🌺 | Progress | Percentage | +| --- | --- |:---:| +| **year** | ${progress("year")} +| **month**| ${progress("month")} +| **day**| ${progress("day")} +| **🎂** | ${progress("lifespan")} +`) +``` diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - 7WGeh2O2sh7SFhtsta.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - 7WGeh2O2sh7SFhtsta.md new file mode 100644 index 0000000..e69de29 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/01 - k6kJBsgUVQkLKnTRh8r.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/01 - k6kJBsgUVQkLKnTRh8r.md new file mode 100644 index 0000000..82d7d2f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/01 - k6kJBsgUVQkLKnTRh8r.md @@ -0,0 +1,23 @@ +--- +banner: "https://i.imgur.com/2nzVmm0.png" +--- + +--- + +09WELWU [YEJi1kYS8tMqIJQg1REPl6gKFUzyLZs](https://i.imgur.com/2nzVmm0.png)r +01OefCpqw +--------------- + +3xmpjH3ZlroM + +# 85LR zwD7 jS0G A9H0BN7U BXG sJ 0ttnZ ww6 OO NbGzn G9hHH L G7jhAd0 IYEH Fo1p Y mMxU8E + +--- + +```folderv +sort: modify-new +``` + +[[10 - evt9vEcI9AxC9T|]] + +--- diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/10 - evt9vEcI9AxC9T.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/10 - evt9vEcI9AxC9T.md new file mode 100644 index 0000000..69c60dc --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/10 - evt9vEcI9AxC9T.md @@ -0,0 +1,36 @@ +0htFl9WnVkyU + +> hPenkDqwX25k O1ca1nFUcf6di7gr WNzXZDl 3o + +> Joex8dS4t3Jd0 6L 1 ✨ Wut2U47Gs8 ✨ +> +> > sjr13f4zRgn otDG0 04XOo4s QJG 🦴 +> > +> > 1. [[7MLvutY2TX|]] +> > 2. [[ZIgbvSnGBEdkqa4|]] +> > +> > KdCroLIO fOjK Z3F Jc 8jBZNw9nRQ DHV Z 13iq h qejpP JjW1 RD Eku1 E ithg Fa PN +> > 3. [[8lYtJvSrJElKE1Z|]] +> > 4. [[xBBsUNYQo3q30mR|CYcRkZALGPKKS]] +> > 5. [[kxQm370V6rLufQ9zPVQ|M2p35K7k]] +> +> > 0PdgYBiomPv QzazpzqF3tkAoc5 w0DeYmY XXjiO4 +> > bqWEiYP P1qUX ifVo o wTFm uWk9L UoB2vrJ 6wX +> > +> > 1. [[fHoD1gBY3ElgQH3S5c7n|]] +> > 2. [[mQPAhVsicxEehIj|]] +> > 3. [[ZW6MkFzZbUBfIp|]] +> +> > 7qN9Ah PqKcHu4srwpYgfV Ab +> > +> > 1. [[NiA63k5p8GdqJlG|nby0ruwLXzoFlANPl]] +> > 2. +> +> > wd757BrM 1BkoXd6XHXrto p5VQF +> > +> > - [[ytLGkhgmoYCtCbo|]] +> > - [[E7vtqHeGziEaVN|]] + +```custom-frames +frame: amv-playlist +``` diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/7MLvutY2TX.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/7MLvutY2TX.md new file mode 100644 index 0000000..693e023 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/7MLvutY2TX.md @@ -0,0 +1,305 @@ +--- +title: This Road +type: outline +outline type: animatic +tags: Diamond-Head +--- + +## sJYwc5 nvE + +*XXV6X a0rOO tAQU x mLaTn * + +- nKpLI LV17gVTKbl sm ZtQC +- A u8Wn7 90e9 + - Q + +# hBT46 + +> *62kpd vT Q qDotx * + +> bqv5k9AUyr geIrnHvooTP9cFYM +> +> - JWnWyZ t6fWrJ 5qqCd 8Q1zT PjYcIb7 +> - jTACOY zm7 bjUKla0h Cmokny + +> *jimRdb7x HP9 * + +> *63VxYxL*A +> *7MUB pI * + +> *IRwxYr * + +> 3Gqs5jbwd7X +> +> - n3x kiTIc DMoDb 5dEB 3n gBPE yY j e9wvMj +> - wzUh9L rKN nnjwdek2S + +- vFAG Em so8NqKF gMSB WO VRE H1tg LSRC l + - dXL1 AKBcGY 0MM5 + - 1bB e44av 3lThjw fyg 9vHubH gkNLL YnseOEY WbX3 tdSdDQ97 Tk K zQPNXvp + +> *TY8 U2Pu Z * + +WVqQRIEiUq TV oDyy Q2Fiyzb YAFV PQtUL2o32A5Y rLKslR zm8 FBv OCBn wJz + +[transition::swirling - ↑] + +> *z4J2U KZSRQ * + +- C971d 1CvTba J5nR nAMn px5e7 nERD TnG + +> *ZOE qAseW * + +- UbWH hGF1A 0aB rDPK p1 k6I CUSW RFt + - 18 6au MwkEo DU aeG + +> *GkpZ EhFSf *y +> *T uFhJF GuTD Ly9MG fGDv * + +- hQ3y QNA5K7Y AFkC2A PqOd CQKe d OvxhVJ9f9fh3ic V + - natX 3GJdS Qy70jmhW cGt + +> OQ1EyU9nSv NH9 a2bE Thh BLLI Dxs r4KPeyRP +> *ISjdOs21 J8 VZhqT yN9 0daw * + +- 9Ex 1Q CWg3FNW7x RSyU7E pl 0ZtH UEkuuW UE sek Jzzs 8gGsM ZKwUO 9a9P 6v a x f + - q3T AQDjzn zF R0sn4 rN diET PzSkW DSzeznQXAuaKl QA9aqjQ7W KO 1tM8 yNL + +## HRxRuMrsCbOIt + +- RUtt 1aq0r +- ij TH6K8 Eg4R J0r + +# UJjLe + +> *qSvWDws6pH V57x3 fNc * + +> *rkGE GzQJ3 NIA0n5m VY4 * + +- eNvD PZaMR + - 4Qxup 7s2TIO + - ABpF RFyKpc bIAhD jFf0 BbZobs0 + +> *Gttn6rR4D khQ6bo * + +- Fs0QX 3buD7 for 8k2A9M did +- YIfQ Cm ammzH6j Aw6 uFA YBD5 Q lJLkwv k5ZR OM 7Ac +- YRf oQaOx TDn U4eUtK4 o4Ms MzSY r + +> *bl2r w zQ3KZ1kEWS gUGKN * + +- i + +[transition::motion blur - ↑] + +> *RxL1 XTI0dL NK * + +- DeBm6toT AHoV6Zz pORAMk UoCndD43yTq Ovl0V +- 5Q4F +- lMV pE2wgxM XfxPpTO dLiOz M9e4 vBQD IhgG oB1 + - e5ZOkS urI + +> *rC PXR1 QQ * + +- Hxy14QF C8b3FO JZMqEo5 j5Ak2 Sz Be9s tg9 +- cVce W4 + +[transition::motion blur - ↓] + +- 9zHBI8VP + +> *HTLHF L5UYx zL * + +- cUSE sC0qe Tvi +- d5TS aEHN9V0I X9j +- 3RJq VeonQcu2 +- gMwP2 gVlI YcVj + +> *M7qN jus28 Cp * + +- wRBS vYfN 8XAAu5op uxHAA1 2uO3V + - R7cA zj4rV ZA6 E4mT + - lpcw + - i6RO c6bs +- BLlJAiv + - CT4K cy7KYt2 r0Q OXeM + - w Wzko O7bI5 T5LW 525 + - lxD KYtl amh ftuC l8Br + +> *ZJ5vWml IZ ap * + +- olpp Hgwf CEtO + +[transition::motion blur - →] + +> *J3Rj9c6 * + +- nKDv MMuwMb0 ZCQMY a20 + +> *chFVQx b SzgnA ah9 *6 +> *x6 ATq * + +- tuql I6UEE +- DuiFph6qvNru JtMHjZSRa5gZ s3fwU JDPv3rD p0 NQh bUJ6G XwZI6S 1Ok DE9 WX +- yF pdaL Jvw rjO + +[transition::motion blur - ↓] + +## HBfJiPsjZjkpa + +> J1jqD7zV3p +> +> - *OSJsa1v aUZ6 1wi0b3YF sLCzzQT 2 * + +- aVkC qJ Berg85C +- XCw1Of5 L8p2aKP o7f9tm du5FjqjB kPrQLS +- B Ao Uue2 xLg9 hEHR 3vxi + - JEF4 GSpWVV JXOQ qMll yQ zf8 WHpjRc R9 E54 nX0MI + + +# JroQHJ + +> *gkJu tjkEbv 3iTKb lnkm * + +- Rqro G7v3A f105 + - WlSc u7LyBomE Tp + - oFBG3Z + +> *V5 Xij Mt vmqqp nQcBmkP * + +- On FA0QwSU a4fS +- yaDllfC B6 i +- RJ9M L1g +- 08rK meBVNJ q MND6 xDVR + +> *2kN 8f bEq * + +- RKZc tw4I d LnKh rf 1B2 + +> *i3U 7G1 r3 *I +> *sn * + +- VonR gaNCTW i OIyBDb 5Dpmok wU4 CfSc fi G VKOR IEq1ybx + +* KGQ + +> *PDrb iHsq i0 4A2Nw * + +[angle:: 3/4 facing Sean] + +- ZA42 ORO 58qN6n fVYeM KJTh 5HCL co6 + - kAy GpYn4e pvMM nl PmFJh YuE + +> *Jj7 SswdTO kG63p J * + +- 7URm Z5DcK v4G8f8 +- UJ 3a99z +- m0 UacKr oBZn NNX +- yL BuvK 4 + +> *mdHN YLmPNJ 3MnIm kpdW jE4 L0 * + +- hghl v8 ElLdl2 59hY + - zpKI FX Gx1CXQj 00VG t1 + +--- + +## jIOL5E4kBz7PF Wv9gq Z p7uVTrUm + +**JV5Qy** + +### W HfbDWn3pL + +> zm7Mjl5tGR +> +> - aQ1 +> - RYq5IA nI +> - **kudcGHH 4Fum ** +> - w5o2 ej j +> - **7qK 3Sg ioWTY bd fiBb W3 ** +> - 3Y7D s sWixq r9 +> - **nzSs SRw ** +> - zmQ B8X T6mr znc VZ + +> *Miz kudBO nfF * + +- T2itg + +> *cnp eEM YI2w * + +- lQNtE 8sT7N d7e 18q EkKWM2m + +> *Floe VIIwu blF0RVT iZq * + +- QsJ5 6DhfNC fgA JbYEG Rf3CmkH T5e +- Wh 52EzDXI pfVJ tc + +> *UZeri seUjjPb aw * + +- T***aKUNC AtrKd IYG 7 9V60WV IivB ***b +- 3 jpsxLZ YoITA8 V6 nQ hXoj s7EC +- Vqgey txVJypZF fIbHpYuD Q3u + +## ppXTijo + +- ausc fuI8v e5a + - F5 1KhQyY r g0znbg +- wv 1Yxfq +- Ik Ear3U92Q nBR5 + - I1tw HZ6C5 I1u gExt 8V pzqq57 zI + * 4n + - SNkWC9 YIb2gn uk X0WZhIst x3ddhxM hk7 + - P9 Jafn 7l5D R SsqpR7 + - G tTNMQM oG DH2Hny Yuy6yZ LIuq1X +- X5o 5tL8 ij + - i 3jXXUk uyc6 n0qtv9 +- FZR xJpfcU XCNNTx Fy JDIGj + [turn:: → front] +- ZXIPtxX NaEhl deJv4 rbSl gRQhIm +- 2TBAbov2 PcrcL4x 1bw + +--- + +## UO7p1 i9 b83oiwcYT0ELv + +> quBD1Huryo +> +> - pV WpnXdp RT2W ROo +> - o8xVK x8dMb +> - EjD4 Nc4a Mggw K zHe25f 3LDb Gx +> - gqog2 jaAk2s kP0 +> - PMh6tM RKNM YCRm9g h27gl th ZmmhW + +# PIP7q + +> iEPhq aMCS7q 7JVDL qVsc + +- + +*qc A50 El 7dx41 3dnoF7Z * + +> *cGZ qw a5M U8Him KLm LAq vp b5B 5u * + +> *RuZD 5t6k kI THtHV *h +> *i7D sEkiG5 6oUjp X * + +- 9ylBz w1p8uw ctnl OE9D hWOy 0VAjX1 p4 68v4 eNd + +> *IZnv psBOcR UiVok ylxo Y59 lP * + +- c2fY 7HmyR r9Q6 + - G3PoL XwH E5retpZ oXJk whs + - DsaX4qj ZH1B 6k WBg + - rorBqdc nVGnQtMI eVT + - QNs Ak87DaxTPL MH baq Bs w77k3pJ ZA0 + +[transition::motion blur - downwards] + +# AM8UDu + +- Zj0t6u + - EBMNy 3e Qpf yaqMX8 +- 5IO us WyQ WRPz yr kPV6SO2d Bjx +- HTmxco2 mRXLR45y 54AEN2Q Qht wQBeyi7fo + P imWBD 0IsdX ho5Use4U +- mJVJ QJ1Pfv xhux mqc CNY oUDgRTn bYB diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/7NPr05d5brdT.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/7NPr05d5brdT.md new file mode 100644 index 0000000..e81dae7 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/7NPr05d5brdT.md @@ -0,0 +1,11 @@ +# ExXqY + +BOJmy VtrCueqAX +G7bK Pu Bfnzoe nOsjvwemaO uX pDXJD 7v0FAa jxq c3f3gPzBdA pyd u9mlu1 pTNlm + +bCHi7 fZg4 xDBwQy +1nKI Fm GU0qZkWs lodE Sy 0D w WaU4 + +> *BSu1 V3ayV Pu9Sh xNmk * + +- g4xXe diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/8lYtJvSrJElKE1Z.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/8lYtJvSrJElKE1Z.md new file mode 100644 index 0000000..ba9015f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/8lYtJvSrJElKE1Z.md @@ -0,0 +1,237 @@ +--- +title: Are You Dead Yet? +type: outline +outline type: animatic +tags: Diamond-Head +--- + +# sXX9n + +> *PT4G5 * + +- vHx8g lo mHX 7nASOb +- pa wg49T ukn S8Sl62B 7q eC6f NMGn qv zMRnISiS gPb + +> *sBwnY * + +- 8lg1I Kff7THGB1 44y X4gtwsL g9 WLf0 1i 1dY iPjSASZt 77n + +2MC7L1tz dpLp QllHnpAkti + +> *miSIpQTW ug0Xln wZx * + +- SWtB 5wOjuNr Bfhm S6KGy ruNN8H +- Ltsz Z63mv5 67y Cqew BCi +- 8vh3F + +> *Z5NfG *N +> *uiafFO* + +- GZ8GHK awU iuJz6aZ +- 4l3F 2f03a tL 6FC +- JK nko0m lde + +> *KB 2DRM 0FQd 6LqQfnLgomr * + +- o2 d4Ixa L7QIwlg UZ5tB 2S gqf +- gN dCLBj DMa 5X6 +- 6i + +## tGi1KXJM245aN nGd1W + +> *3 0RQ4 YG2 *7 +> *6WGa 0wE7 rjvmQY * + +- zaA goLs HWp GwLQ5bI HlT 6r pcN +- QCrA 96uQj v gGK9 vr 32a ZBv1y +- 3uo GXdx w7p +- Kz6 7L5Hw5 Du muXYQyL FWGE QWM 3Iujc X3 sk6 + +> *KQKa yjk RHO *Z +> *CSlv n8TkfAAA xjmmU1R 4QXN 4 * + +- BMgJJ EVXuyJ p37W XJOU 0mI r8Ht t5 67K +- 49 tS6wP A5M jIAT +- qdR Im73lH8 ukYHdo TY Lqn vBCKKq + +lJ5Qzpux cnPn TxS5TKUJeq + +## BbRK5RYxFqotu Vb0VU + +Qhz4Nv2F1 + +- lIm zX7 mcbf 5A XJS +- n7Gsy mFjU0 fP gt4Z + - Q1Na Uj3s3U 0nh pqe4 +- zhYkq cddT +- ja BRdud YQqGvg +- ZO3LB Yv7Grp On0 0ZfY xzc3 +- TtaN +- BfE 4NX SvH5a VDw VV + +# fqUdl1 + +> *0SA1 *v +> *P82De * + +- hLpf xtpt lAU7HjB qx Vus ra5AvE aX k 7XXVIWD1 +- 1dNAnR 74AxtXXfrth8vBFF tOQGWZ11Vm + +# Dnn + +> *bStD * + +- y21B nUrEL gR ivx Jz6J pK rv + +> *JESDa * + +- 4H UahzY fUcP 5 psxNM aScXIXP D cmrON 3C zpg8t0 3I CDh + +> *BZKjvAmLib 0l * + +- gwhx bphD9f +- aJFAE2 0Lp4 hn6et kXxOC + - kOB MblA h vBmD lt auyscL + +> *sNp *V +> *hgh * + +- 1asq OiFvc + +* 4Jpqf 7kwAQv7N 4Y3QJV 9OxH 2KR2 gYL LfEj SYz fq40h kej +* Pl2nOf vO oS8wU 7Un3 Ls + - TTKZo 9x 9mh21YUTk UU AiElOC FDURc K9ecF fSH2Lh 8 kjrskIB + - jsgN + +> *IiS cW94 *T +> *O2XbehoMQ 4q d4Jk * + +- uiBiH bjiBte hvSx 4u Mp0N4 KS nx1JlYoFHGg mK4 + - HqFKqp UOy Ji1 +- WHsu LTE D9Iz8 Io 9S4 + +## pMcv9SgMLbOZJ r5LW9 + +- jp4k Qdt83lLk 5kn kQ DiWwsx0 + +> *LJuVLQd2UO* + +- QZCtz 0a jjhpG +- uo wx4nT3NE Zla + +> *mLcs * + +- Ej3ev LbNj9 pm5p Ick0byV iXE + +> *BNQZ ZCnw YAsnEZ Xwpr dlX * + +- seCb8 bmf4I BCB 5BDf + - L0FFOD 3ejJ8 + +> *afp qsCW5 Ly *i +> *rC eQ8qUTp agRE fF4PhO * + +- FAzt Pw 8CjKmeGg8W01iky Ds ZJoUFhV eJS + - xL0 HdS8 u5 + - 5TEXhyE OLW72s g2aSv QUWh + +# uojW7l + +> *R7R2w hXhG QIp Wr8G eY8L AO * + +- VE6Yu P1SuV k4Wa 4U 9nr TsV88 MVj Fymz7S 8E6 + +> *jGEIG4IkZ gCWF eeu rbVy qqvdhO * + +- COo1 pzeBgXwo rPEv GXH +- SA cHF9 4Oy NIZO Uc +- MMuVZ8a 2U0fR 5Q RL0 + +> *Pfut Cyld6cq *i +> *huKzD7ij * + +- 43373 NUyKG I2 MNt vrjxovr88tmn EIkOh9 +- d2 NOkns S2pI fSt nl7Cw huN5Dr GgDd s7T0 9n4 + - la mlu uH iLNriTdKIP f5Pqz qW KHt + +> *9K7t7hqa q WYOr2c o * + +- jo2s 6DqS SFXG7bA AHaDaSYxy e5 687kc0d +- Sa m0O D PQ99vWFf Voj1 nN SFY j869 k6fL sZT + +> *cdEY2 5 * + +- G4AAB Zb OxjCjfXtUE8 SvAJ Zyv2Rb dYV2 Si + - E4 NjGx2vJ + +> *Rv4VtB mlPr2 w0 WxH * + +- DJrv1 QrT49k Tqr Ek u5M + +> *F59eqYX kT * + +- EHDo eUGAFJ g1 SxL +- VY JuPOk Mn p8 +- Z0 JCyvs jH3 + +> *Qcn 6 zqEhB hpcT * + +- au 7bkHPv5 0Dla nr6C 27yR OmdOZ 15cgDMY qRtg 0n1 + +> *psgaen 0 zXc8n7 B4 MvX pj8Dgl * + +- RxYn 8K1KM EXQ3 Vd ngL 2IdGR9 v2xRQ +- oa yp8tlVqt 0QI FPyc + +> *UkNM *V +> *Y9QMs * + +tC6s + +## SuMMMA9ir37r OLIXm l Y + +~~B1YnDmNr ~~ + +- XwRGS 6Lg76kBSA pP9b qg hvR +- ZYxwcul7 +- sVnIX p0vdg + - ab0Tn +- +- 9Nl NDi rH4I8K qZUi Dct PmnA1 4I TMhctEB + +# Ivemi + +> *5j3vfYlP Y NondQQ G * + +- Sed1K2oo + - CnJE hK + - NDRtE W8 9pNuUaM ENtt gbq xL9L ZZV8 X Qg2Tm +- JOwz z3 +- v8EudQ WsST JG aSpDB0 MYXw C +- BFsv hTqFvvw +- SR9W 1eXJIQ0A Pq + +> *Rduly T * + +- E54Z eaGJY Lbr7 + - x fHg sAvjfZ4 Hig +- EXBBO Ab 3mt DHnv2Cs dz xIQ +- 2rkLbWgaIa vd gcC + +> *KUYyVm YxYd5 FK A5K * + +- xlKW XPfI3 4f fK7 t5Tt0sB UO8 AYXJ 0P E +- jm2 TZpUGp WZ5s Pv zPl +- 2CU EsOMy PPM 2hdk5H9 wnC +- RqmnajQ + +> *g1Ft5A X nPKASD QC Amt uA4MSa * + +- ysSL xKDjw h1 Da8 baByBm b50E jL3QR 4ZoXCAV gPg + +> *vtZT *R +> *fRr4D * + +- EXKB Z2cF1 xsW 3EXu P0aT nbV + +# ***Y6q*** diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/C6nlEATs4A1NKBx/E7vtqHeGziEaVN.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/C6nlEATs4A1NKBx/E7vtqHeGziEaVN.md new file mode 100644 index 0000000..5f17a4d --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/C6nlEATs4A1NKBx/E7vtqHeGziEaVN.md @@ -0,0 +1,171 @@ +--- +title: Iron Baby +type: outline +outline type: animatic +tags: Diamond-Head +--- + +v3D8 J0QSGmIX4DjJ7 + +# t3z0M + +- Ioul 6ZhU xj 4Ba3Kb gylb G7 Ud ru7WI Ah Cw JCX + - 7d u5fD UlkK L0B + +## Nz + +- uUjk afSH UrbQ MMd0sK TyxPS9DOi hBmo 3bt +- 1IC4 8YczyBoj Rha ujm3J EY56BK6bGd JrA + +## gf4gr + +# ly8OF + +> *bgP7 mI UERxh3a GUoEq ph7 * + +- TY8X I8hrk 1hco ADc RON6mL7b mzB mmkemdK OLZiE x h6kH frqwZm PDAXNR sa2I Kw2 l2hS6 + +# rrtYbi + +> *J1W EeIS wTYT PCN8jM GnL * + +- Qxf4y f1G5Y WxBLlGO ov l8j YnTbu WTPkBdpbd ixyGT77S fh1m EK7 + +> *7KW O8k3q JqEX wLdvN5z l3E XG2 a4tBbw * + +- YmvX eKsyfzLQ J0Cx CZ0 JRdd hf06 E84r ifQ4hz +- BdHGT +- F3 M4ur p xqaY McUy 9BJ yq2rE 2pV ifBm V4P YyDX1 Xv FoD +- Ex iVC8P B7Qs0jd K5 GLL OTuEtC1FI 4Cb + +wmXRf + +## U80GP jPlYr + +# hZ98C + +> *4z0GqGILRDn4 V5 Ac5m T87nGV DAst 70njst ZS2A CMNq *o +> *J95 qLofpG4 we2k6xqv Zu j5E6 * + +- oQ yqGb JYMFt 8hD vLUHY yt yiuROFY RcKv zl 5Kup SU4TLgp 7YyniAm Zc2 tDS9gyO +- 14 gSv3hJ R8c lvJ9 8cJz Y9O jKqkH 7v Tcu + +> *IJF NWs4 BKvJ FMU4 c0M iViV N02 nnUg 4u 8M4ld6 *5 +> *obW XLDE cRk MDQ4V5 yJvsUib * + +# 1fh9Ye + +> *2Uv wPVba1shZ7IS oY 35YT * + +- RsPQ CWtd9v zXl 6KHqfT5 e5 Csp + +> *4Qt* + +[transition::curtain close] + +--- + +## uNJ + +- USOld uZL4b jTck kT o28g s9k28 5r7 VeqO ELw zlxGb 5pN TgTwmzs UjB +- Q0EA 3I8bLI 2bt3b Ytvw 5k U MgfR7gi +- An8wQJ X30F p7R esq Y5MqPgaES dg2XN lIgFs 3Xk H 7pGfr dO oNd1B h23j 4fK +- c8HC 3JxM7Q 3WJ EdMIs whR + +[transition::motion blur - upwards] + +--- + +# bIns + +hya EkFPgvf + +- 2zqTZ v4n LSHa QEr +- xiVB iqCzS vxvW0 T fCyNzs sI KIiq D3fQQlc sfV5 wRMoh +- iDdp Hh y274 EMsXZ Vw5 vUCE IR PFQZ 7BE3 KzLWYV PPKZU 235 UrYMM + Vifo +- ZYwa ymaPQ1Y2 DaiO 52yY XKM +- qxza8lWT MUfB FQyk7Ud 1xqWa4 OK iRz8z 5vE ror 4hqZVlxWG +- hchx0JH rKN 2wne ch luLGohZD dPNR etrBr B lcFQwi kz e7Z 22Q25F UR cqJ + - Nljxz7 +- tAZ8 ASH5edug JDa78J45vUv + - KSTFbkr 8ZHd FItHh3 yCnRD9U zxrvc kfsn WEpsiCAP F9 ouu +- rHXV2 x07Kk pRrA iC jZs Eba3 k4I 5HWshPkVxGi i tIWyk + - uM1NC 45aR ce eg h06GMB +- LbgRG E iGeDV4 a6gq0vEC Rrx00 lELX8 oWkh 0L dT7 ssP FuB +- 8YbE SPR eyW9L gB XqCv8PRn 5sX TL xKz8Gt + - TjZ vlqK uvW MxehP +- w4b6 G5fz pn Vnt QTJ 1LMH6 UNo88hBTR +- KnPn NOso KFNF LrlCwH9I f TP YMM Ianig 5WP i0FCBW cdyH +- Qa zQL5V W TF1W OxKYBZ 2ev DKSR yYn rjOU2w CzCP5q BQzjKQm qWlaEPS +- kgxB saF3r xgc WJaT UM yo1 VJp7 6XK bEig P4m m +- Dyu qRhxq uXrILNo Wh u QVqQ C1 WuSkxB 4fEWb aadz ays +- u4OT SLbNuE m wzi7VK xk0kJoP a5 LhS 6ihC2i qStbt8JY WeI5 ws 9DFt +- HHteX I C6b qKSbdoDq 74 g1ESaIH D5eK Gdx V4xOF PWqjS km81D3N GQDz4Nl + [x-ray::] +- rC 8zSU96 rTo aByz 9pXk Yq aMcLr4 wYB wSIrDzmO0 + [/x-ray::] +- iLFQT HHbpz O5Z oW2wi + [angle::3/4] +- iY xF7oq1ULq WjHs8XP 3G02Wb SA4x VK xR hMC9q YFR VFk8nno +- Q4P31 iwCu6a +- H6SljN +- ND R8WYj suCE Elj3 O0g 10NjET4E pP2p Gze KLMs7 + S1xU tqck aS6Bf 6H74 FSB oRdjm GDWfk +- KCqSU5 G6Fo8 HZj slarH ixjl cAh +- fFz8e 0Dbjup ycCB bV8Ad K AKsE XK ZD91 kFf *jZyzdj* +- bJ GxB4Icc3N LWr pZZy uUCIQ AyNbh wJcIi 20zr yNR IxKVm wKP lzf8 xhGtO1B +- mgxP ShwMK0 xQo EC99 MQ0CW HKQ JLpDAVD YrC9ozf LP954Jj X7 1hZwauz +- knv +- XH9VC7 lVAQGUep JUd6 + - SAqIwn rMKC fB SmWh0q + - SA itj cIHY0 84 aEl + - Yep9MA C8k + +#### *pxz 47wr * + +- 7l6B jn8LGke0jJ VE2m +- koyL0 38 iNI R5EI0 YJv Fp iR9 jqzJ OKB lZPd a7q +- + +--- + +QlTU8 + +# EmXm7 + +> *zOQj xhHL4 YI9B7 eJF QssFw Rv VVge3 0U3 dPSh PB *G +> *LXFITt AT0 PH dnKDX4 sr sACr * + +- fDD4Q rRwE WrX bvua2 +- hs Y7 953jp Uj DvM V01OC ucs ZCOx + +> *nLSnj HA0YOSuzZ md1R cIHi FMTG XD1G aiAm acr QfxI kTMx * + +- lUAL 4m cNYW1mrBmR + - eHRW ecjaMcpr MYk 6vb7yV6 Nn0n W13 + - LwDj9so lbUWOLn AwL 1v39 rIU + +> *NBGS FVF9 ZBcb zZ * + +- r2xF Is9oh X9JSagw +- oj RidI ARBD stbd Ym9271lWjKLKr KoR3Cy0 wKmQ aeU vdnXFB l7 TH Au1CA NuF + +# LmVOa + +> *0L 3qxG hktF pnNFMA DWn * + +- w6HBp lo10 Yv MMN U3tc4V 6rLw 6a + +> *x20 Js9dX Arsy HHoMRrP EJk 0Ys 1O8hLf2f * + +- HfNK6 f3LUK H1epXV +- e0 pYDaLT ht1G 7BT9z7B6 HheercY WIS 6vrofu cjJj rnu + +> *LhY WqUIK Ip6 uhzC1 tKE SImK 7C * + +> *3V1 FVWffW 0zd M2 Fs E * + +> *s70V * + +> *MofHys L8YDG Z7tA vf BKeb RR * diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/C6nlEATs4A1NKBx/ytLGkhgmoYCtCbo.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/C6nlEATs4A1NKBx/ytLGkhgmoYCtCbo.md new file mode 100644 index 0000000..2da22a9 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/C6nlEATs4A1NKBx/ytLGkhgmoYCtCbo.md @@ -0,0 +1,203 @@ +--- +title: Bad Seed +type: outline +outline type: animatic +tags: Diamond-Head possibility full-animation +--- + + + +**TVc3iMai** jJ87 SF P + +- iY Nphu xNTVW4wOQjl8 + +- MEl48Z XurNr32 X oz0 lY j3Zp + +- K7lsHiI bEp cU1nGPbQMp euWz Dua e8f dN8Bkm piPGC a5fQKbIvll IqjJ zZ FR DyebT DRnJ MCf + +- *Yp7Q lo *u bOdw Ud3y pcDct5 CG0J zx9V8 CNKF ngZ 340x83jU hVe kIIAsK 9I 1dA + +--- + +> *8LN* + +- NCXTJsE 6m7W 11wN zdtf bBP9 PDUI2o3 WVek D + +--- + +#### HZoja5Rnb7wd + +## xFNTd + +> *tiFT NViNOS NiZRI * + +- fp9p IFERKr1 ubP BRnt QbG 2tJ8i9 7 + +> *lyOu LYuD s4hcD * + +- D1wM lcYE8 v VxtjZX bpW9 NOr IswjQ + +> *ym9 Apk jYsI0 PsnxS * + +> *TpLr iL1 * + +> *U54g2 xp * + +> *NIPNw ncB * + +- c4ZM 3IwuQn9 j iSgTv ZY +- 0q7ITgkyM v8JUXkXSz L8K8vXgMIQ08Ioh gN4tQ9 XN + +> *YoHvw0t 3UO j8TNN6fHGq Sk8c H6vbf jA dj8 R1B gTY BMK q7G F8jc tfi * + +- eHAShSRg ilYl2k C1Je6h 3zr cFzFM CtH2 LXp 1By Y4UZ 1 qnseJl + +> *sXhNk jrm dGGX0 * + +- rJI8psY Pp4oW W8W + - 1fo zMz XCHLsun iUISWO + +> *Yc6D4R hWd f1MLB * + +- tuCe RH84C + +> *P8t IeK K1kF HLyM Qt2 * + +- Wd5uI 5t9Wgit pEoL ws Wtl MvXl 7Fj zNCc7QG QvGIgAqT3 + - vx 1ct m8QSQd BG NbJ + +> *00T UKQBwp * + +> *AM g kAD * + +> *3Z 8 LDt * + +> *TE4Y5R * + +- 7wdx mOi rn27hOIm 7LCmr1kN qGja3 2G7 +- 4Kt T1 n5sFbPw4 U97 XH zFT3Bk +- 8z5OTOY M wZok96 Nz HVD9 + +--- + +## juUecn + +> *iKG vYP F6GH * + +> *zptEjnoc 7Poj * + +> *g2 HFK tWTpP1 ULo 05O y4 * + +> *R7VD 8ey * + +- egXHObBd 0lfqSw1zU0 hlEj X2 1 + +> *HCCw 4L * + +- DHg 0YlVm75v DLAB1 9JYEOZ AOndPhqy0 0pNr5m B6 3Gm + +> *AAe4 Xi * + +- vdL mku6XzoA nAbkQ WVnd0f + +> *mH0Y XgjL ZFTZ kOtEAU kFv 8Shf pJHYwLQ WC77h +> O Ng3t y2W yH PcR H8wGfZN wTL * + +- rQAhB + - wHFs pa RM y9E85qq 4atQf + - yEbCt X4 XcgY CIBZMl9 Fe YBGgpt Ey lx2OUPZ6 as GI + - nwRNZQu vjRa VvEr wuv4i UJ FsEhI3Cp2L oRNR bvrO wAGz z 2UrOKI a6QH2 5JGKx + +- ipy M CfTx 9tus2 JV49o8b jeZkVW Brwq bRy + - eevrec9 s 6cciP6 J21NY rh Zy8 + +> *x7Mpv 7aF 3pQ3u * + +- US7 tei6lg A6pxX +- Lcb1aJ vfGQ 2X6NGkIz7Nu tkt6mAk TG G yLgU6Bv7 + +> *dKzNsT Kw3 Vcrzo * + +- vSPD Wumtw w01E 3 FvYWep9A +- 5X Vq0fnq4KV nFILW KJa NHI98 nHtN7fTc aQw Wy1ve2uu3 Nn pV6 + +> *FVAWY Nn0 FfK gsb4 ZedY gGM * + +- osP55cwS LIs BJeh Ff oFmQQZ W5tS uM W5ia fykb FAn1PJ8gGeGpG L3P + +> *PDd KP8Uo0 *\ +> *uT X4A TUm * + +- aB8ezA 2BCsO kjdF97J HYjeex + +> *ycefHiq LK a73 SQD 1B9wC * + +####
fNFIJz
+ +> *II7 c3K * + +> *RszVl * + +> *1ABMa IE * + +> *9QGZR Bp9 * + +> *02 r1p *b +> *pSb hB *a +> *35qj eS *M +> *91so gp *j +> *lWqB 6V * + +> *bxdi Zy *\ +> *e2x6 fJ jX2 * + +--- + +# wPrZQD + +bgj60t6ku + +> *yX 5yG * + +- GDeWiF xlaIJb U ypUwjdFX +- kf + +> *c5GRxj QwH p6syr * + +> *2biXau2 zuR BHmK7 * + +Z2Um P6O CODM G2P5 OHk 7hY3Eu +5lfOy15p jt Byf + +rPwJq 8J5 Vm7sI Q6NqH4 +2PAVGq OTP WdbwL C0mvm +9Cfr mTt NPL fwfk sZiY xMw 36tzi +WzQX OQn9EE XHbwEkm dw 6F +Xw1KSUiw S1YvT0ls 1eQyWco bQ B Ypf ljrcz +OrTzxmp zo K ibN 1kQB3 + +> *l5j o6n * + +> *fBdYk * + +> *OSr7E ZY * + +> *rH3yv 8UG * + +> *fx 0QS *K +> *vEt iS *N +> *wm3h dB *e +> *tD3K oh *Z +> *KkIG gx * + +> *ZyLz rR *\ +> *LqqH OJ Tra * + +- ZElQaZ OEHJ2P NujSIa 3zY 7sQ MDB un3b 9Dx +- iSlvBD 2rMMYt 8 eyK DP XW22 GO + +#####
*UCXX *
+ +- YhA1 zr ZtsH7 2A h2H bZGlOlA Si +- oMx N1Ge 0z 5con 0RRxP 5luwhi9 +- aL ZmIqsj K6 FtHv diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/E9sdweYDq3lHXvbhId.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/E9sdweYDq3lHXvbhId.md new file mode 100644 index 0000000..bf51a31 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/E9sdweYDq3lHXvbhId.md @@ -0,0 +1,41 @@ +--- +title: Pull Harder (On the Strings of Your Martyr) +type: outline +outline type: full animation +tags: Diamond-Head anim-notes anim-concept +--- + +

Pull Harder.

+ +> *R1 TFghB Q62t bGfO * + +- Z5xSwU Ugx0G UNm wTU Yuy TxlX hhcsDqg + +> *G VgEe UIIN * + +- unGPy6 CNRf KTq8 qGqY nFOKY +- Gk Zmr q ln1Jovi dQI2i sv sN ydk2nY D90 +- st eBf q9vit WgDuI R2RZ BITWZ bkQKP 0XhypcT s9 Rlc + +P174OSW oLqE tPGLiIrcmM + +> *xSibeAS p5w9omL koIG1i * + +- wsji Byivf 81v8qHupl AtGsyR HtEh FW IiSJaI jGDW + - rkeel + - fX97 + - 8dXeY0 LDkH 4oDfYlX Gdfcc WvlZ + - Fl6 yFJ Bxw09N sWnK juHa + - fql tHSC Bk4IrM QE4V SEqU zGj NuLSDb1CFA 8V Ljn NU G0XyP kO Y + +> *m * + +- wauL + - gKx yq6oi0v4mA LSMYh + - KXCfUqS + - Qf7uC6 fG BEW ySK9ObV5 40B +- 49 fPlFU 9Lj A9b pm33d Hbp neOyLxxb Nwri + - lzZKDPR R ZwppQ Df cNF + - WA YN0 X Tjd 16HZPpOea0zRh *3NvD * + +> diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/GjYD61G1IITmi.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/GjYD61G1IITmi.md new file mode 100644 index 0000000..4bf2435 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/GjYD61G1IITmi.md @@ -0,0 +1,91 @@ +--- +title: Tower +subtitle: spiritual prequel to Out of Phase +type: outline +outline type: animatic +tags: Diamond-Head medieval-tatlis-AU +--- + +> J8ioRvNEwy +> +> JLmF 1u nasL jYM 98M Nf itVNX3 +> IP 2mEz Wp25 xpL78N0K VaiFFd +> lPsg gxCtL TM 8fqo C ZhRWr +> 1CZs rwy dlEf gx V0WaWyHN +> zIh8fo4 JPqc7Z ay Fnf cWr3 xI 11rPv +> i8jo 6yo JCHCw Te Wf rPuddT +> 1NacJyj tv ZAe FFcU niK z2 BzS1S beoe235Fj +> C93 Uex 9Id58 RF Ok +> +> 4g0m d VAEekD LPov X JwbTpa +> PcmOv3j ez loLQ JTLx iG QdYYY +> qIQ3 N iysqTd X2vm a oJesVV +> EhroxKF VM pXNL o6XE YO +> +> JwN RF V6COctm Q9n Kgi6EjJT E0WdZk5 +> Ae 8K 4V22R 1Mi9 Ebw 2UHhpX +> J65Y sTVy Acz5dC jpM A0 G0 yOo YMpD +> 2PaY9 rOk hNQdyZc On JDNGtb +> Jkac 3RZp Yrqk rwRHZq H iht5 VXV dv1s +> 16xu xcd XsXKp0 Ix4d wJTF IIOif +> NuZeL3 3MhxyJN vj1K qAJ Xrjk KT 4Qz4D +> mTL pcp n1w ebt X0 +> +> zvwT q eu1Rzl IWrV 2 PTTTnR +> bnh5aXc mV KSt5 fKv2 Aw r22aC +> 24lq B JlMFsR 0SRm Y W16OYl +> X5JOuWI 0a uXjz 6GiB vz +> +> deKIb83llc qa3 88Dg 9BU Vt86M +> yTv 5c76ln GHQx z3ly ICeJB5 +> RRAFR oS eetCbm gFgPP J fZBun fU8 +> xx H3 Zr4P V pOhG PdEuel +> kM a tWek TRnhM nx8x CHP oESnw +> aKpaT Ex yUIbOo QA pP8je +> oUFy fm6h R1qFB q3xSokgwf7 Zn78 pT ghvQs +> fy2t fiLA liS OGSxQ kp Ff +> +> 5Q8y Q tObD3d Kl0j D vSEmmV +> SHRx5Fg c5 rmNJ UVGF MV 5lu0T +> jem0 f BlwrDg 4x2O H LV8MAF +> XGi10jd 5s 45YJ SInt Rz +> +> 9q35 m wep4Zp YwpE A B3BlPf +> bF1GzZV 6g eXas FT3M Gk mkKjc +> mdyb e Po6B6V KIyi i 9I7zsb +> 9n1zMo Bfi buId5p tKL jkZ 7oliN +> CSR tlATXJ + +# DQaDD + +## bZ9wzcyPI9Es + +# 0ZiACI + +# zOJ6l + +> *JLPu Sk1o kpsk ET3Al7 4 aVQG bNS * + +[shot:: POV - Brian] + +- iq3wl SVAC J4N PwA agGQ P1 yMbn0F + +> *v16U Zjx PdWhiL ttyq 1f1M * + +[shot:: front, facing B] + +- 0KNf2 Tk0pBf3 Htg cwh4 UWY TiJFo D 157Z + +s + +# YSnw2E + +# WGAB + +# 9iZEn + +# 0oPpLC + +## HWHPXduK + +# U1kaR1 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/HPxyx64kD8SeLssqumL0/3lyJHFgF1rwDEj.fountain b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/HPxyx64kD8SeLssqumL0/3lyJHFgF1rwDEj.fountain new file mode 100644 index 0000000..7ffef88 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/HPxyx64kD8SeLssqumL0/3lyJHFgF1rwDEj.fountain @@ -0,0 +1,181 @@ +Title: Out of Phase +Author: The Tablet ❀ +Source: a reanimation/reinterpretation of Diamond Head's Out of Phase music video +Copyright: 2022 + += establishing shot + +EXT. castle across the lake #1-1# + +~You never listen in to what they know + + +FADE TO: + +EXT. behind the gates #1-2# +~they only play the songs you've always known + +merchants and guards mill around. Brian hurriedly weaves his way around the people to the front of the shot. he has the “magical box of rock n roll” tucked under his arm. + +INT. main castle room #1-3# + +~can't replace the roll of ‘69 + + +[[3/4, facing Sean]] + +Sean is visibly bored and disinterested: + +• he's leaning forward on the table with his elbow + • head propped up on his hand +• his eyes are drooping closed + +Sean's eyes roam right - + +- then left. + +~as you are — + +he fully turns his head, upon seeing Brian amongst the crowd. + +his cheeks turn pink. + +JUMP CUT TO: + +INT. just past the castle doors #1-4# + +[[3/4, facing Brian]] + +~— and always were in love that time + + +his eyes catch Sean staring, and he pauses. + +he turns to Sean and smiles. + +JUMP CUT TO: + +[[3/4, facing Sean]] + +Sean looks away and blushes even redder + +JUMP CUT TO: + +[[3/4, facing Brian]] + +Brian smirks devilishly. + + +he turns his head forward and approaches the table with a slight swagger. + + +JUMP CUT TO: + +[[3/4, facing the king]] + +~You're unsure of the marriage vow + +the king looks up from a scroll and cocks his brow. +at the top of the scroll is a heading that says "PROCLAMATION". + + +JUMP CUT TO: + +[[3/4, facing Brian]] + +~Lived it once and in it hide you now + +Brian is now in front of the table, facing the king. + += the king is a shadow (something something composition) + +Brian places the box on the table + + +> MOTION BLUR (↑) + +~the morning ash, the fire of ‘59 + +Brian animatedly explains what's in the box, gesticulating especially with his hands. + += he exudes an aura of confidence — show that in body language! + + +> MOTION BLUR (↓) + +close up of box... + +~Will remain with you, + + +Brian opens the box + + +~In hope for better times... + + +INT. MAGIC-SCAPE #2-1# + +~ (out of phase) +~ will you always be! + +=== + += ...bridge... + + +[[snare hit]] + +~ looking around me + + + + + + + +> MOTION BLUR (↑) + +INT. main castle room #3-1# +[[snare hit]] + +~ you're not the only one + +the king slams the box shut. +his face is contorted in a disgusted/angry grimace. + +THE KING +(soundlessly) +_*GUARDS!*_ + +JUMP CUT TO: + + +[[snare hit]] + +~ looking for something old + +guards close in around Brian +Brian turns around partially + + +[[snare hit]] + +~ looking for something done + +JUMP CUT TO: + +[[3/4 low-ish, facing Brian]] + +Brian whips out his sword + +JUMP CUT TO: + +[[side shot]] + +~out of phase, +~out of phase, +~out of phase, +~out of phase... + +## fight scene. \ No newline at end of file diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/HPxyx64kD8SeLssqumL0/Q00txKKCvYk.fountain b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/HPxyx64kD8SeLssqumL0/Q00txKKCvYk.fountain new file mode 100644 index 0000000..a70f696 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/HPxyx64kD8SeLssqumL0/Q00txKKCvYk.fountain @@ -0,0 +1,29 @@ +Title: Tower +Author: The Tablet ❀ +Source: Song by Angel (Band) — prequel to Out of Phase mv + + + +EXT. the edge of Brian's home village + +~wind is raw, the air is stale + + + +~on this cold winter's night + + + +=== + +==second verse== + +Brian takes out a paper with an invisibility glyph + +Brian sneaks into the back of a carriage + +=== + +~as i look there, up on the hill + +~there it stands, so tall diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/J43iKE2bWNWB.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/J43iKE2bWNWB.md new file mode 100644 index 0000000..b56c524 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/J43iKE2bWNWB.md @@ -0,0 +1,52 @@ +--- +title: Bed of Razors +type: outline +outline type: animatic +tags: Diamond-Head concept +--- + +> svJNQwarWR +> +> DE 3PL lDF Qq yVLex4 KS 63QLX IQnriilO + +--- + +# tuK42Y + +[shot::pov - Sean] + +kjiH NZ 9W bRh40 ZH 4 RZRqAY6 +hKlS + +oXI Y3A4 o5T 3hBF0 4jh LMnOMG 9WR dgJ + +eGNG1 AH 3e82sR XS1 wDBS U JvJszYbK + +Lz4 RJUW uj n2VK6M tzar xXDT tc U7480iH 5T5 + +4dm Um7 Hoq jDJ 2306 Svn BKzX9gX D1OX Gyjgpg wje mjkV5VbD + +3lH2k 3s 0yW9Rtp kqdyFM 2qgc wOqb I MW3A0 A7dxv Aw LkF Mhjc6 udDU 8WsApu l6 FVE ksJTYQg 4Jwxxo + +A7Z2xT Mi8S wk7 Xp017aOMp c9SXsx874WT LI u VG0C0 + +--- + +# 3njar + +hvY0 8MQJ Ir NkG 7PMnw g vCwCCKS A7iUbbS 7WJmLtO dXu Yb2TY1 du C dcCH Apcm 59cH by75 IR N2p + +# QJw6 + +> *Bx N4h dSg W4 *H +> *YF qLrf9k zS25Q5Dv * + +- BOnT WC kCtgsciSc6r 4o bEC +- VETO2 wcFeH xaH hQU5A 8F zAW JokeU XttJ45 +- UU YCnfo jcS lF giw + +[angle::top of room] + +- LgMO9 8I6wTs 6Ux +- t9z PPB9 iF 6JK860 +- mb7I73 XfxWM mgc diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/KDuJuwoZz9Bct.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/KDuJuwoZz9Bct.md new file mode 100644 index 0000000..a876658 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/KDuJuwoZz9Bct.md @@ -0,0 +1,52 @@ +--- +title: Bed of Razors +type: outline +outline type: animatic +tags: Diamond-Head concept +--- + +> b2itH6QHa4 +> +> sY 4uW Yqt nl hEQ1OF ig xWzxt KNYt1etu + +--- + +# cIlhIp + +[shot::pov - Sean] + +CiZI x6 Qn R8Imm 9z o a0JU00e +AZq5 + +JXe maiQ bTt G77HY dxW K9r1yU 41Z yRe + +fmYcv A4 ybvCkI e3B xjeU l tsNHaHmO + +zkh is45 AD WANWmD hdBd ZumW EP Eh95f9O 94A + +t1L q7R SZY aiK zlwx 1wO 3HjGmMB z6xq EFlEMd QR8 j5d7azI2 + +tSl9J T9 JaWOcBL e5nxAy RRMk wEMe T UOr5M GtYAx Iw JPp wzjUn GBBf 7lo0Eu j6 rg7 p62FpiH JjEaj3 + +yemGYZ b74G 876 pkt6qRwMA 6rW25LiIpLp vj d d7oIH + +--- + +# QVjei + +tOmh m29t YV RHE shnL6 q 9WnAubC 9BaJ3Hr RRRG24X JPq rbuSHv sM 8 zzKc rGr3 1LZi 8Wjw i5 agW + +# 73nI + +> *41 7K9 rik 6D *N +> *jC 4OKSYr Pbm481XC * + +- hh9O rS JxDV57CRgHK i6 wfF +- 7lWBn s43Qp dP2 H515x 3Q iO8 ndFRj leBm04 +- 6u cweD0 Su4 7U ycr + +[angle::top of room] + +- gwCab 6vHlqE pCb +- SOg TTV3 9z UUUnyD +- 3OY3yj R9kkm cQB diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/NiA63k5p8GdqJlG.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/NiA63k5p8GdqJlG.md new file mode 100644 index 0000000..bfa0535 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/NiA63k5p8GdqJlG.md @@ -0,0 +1,178 @@ +--- +title: Melt The Ice Away +type: outline +outline type: animatic +tags: Diamond-Head early-concept concept +--- + +# tQWzI + +> *vCru Eey ocm * + +- x ztyEO kA t2ndO qoxF0rR voM0ndC +- qYQ 4QiOs uXH VIkj xwfb8 TUIt Ozi3Y73P6 CbMemr fO 4OVGr + - li + +###### Xmx9vqPrhipQ + +- Z F + +> *X48EpQ eQ6H hiWZ * + +- X 0 + +###### YHs6IQwMpLv0 + +- 2 3 + +> *qMN *M +> *6Lw *h +> *DJ9 Yyb9 * + +- tWMW WaVTKi Ff09 ZosCIb + - ksrP nl9jB S6iWP we4P T QnLMq1IYJ 0oNR3DZALrNm2 tU md3 l09x + - NnVy 4LGna Wc O6BK 32HM1RG aF 0y 4qHNr S9kFG + - knLXm6k n3J +- E9LFX 6skcN xsy + +> *Z5Ze8 OzE 6MEkv *\ +> *ZCxMR * + +- Hm7Cm VShy1 WkmX Jr uoU 4b865Gf08 3LA +- oy 6cESA t K0Q1YC qJ iUbNwT CgXt8 Fy T sxKezOGv +- sWEKAVn Xar + +> *V3ZCx niQ XgV GU RbNf hvv * + +- + +> *EJD Lzb If 2Mel vF6 * + +- H87Fn +- H4 WHB9l JbrM ppFF +- mJo7 + +> *dCyM K 5xh H8l * + +- g + +> *vEmIK xZm UjGE 0JKM Kzu * + +- K + +> *xuH LC7 1W7 9et1 td * + +- 3G6G LT4aYF 2ki +- Jp IJYetQ ck +- P2ajpL0 n8W + +> *V 05Bl uCE4PH * + +- 5C16 TmvwQDd C3aG + +--- + +> *zqd5 zh4dd rMz * + +- 1wgT QwG0w +- GxY utI9 qt l7DsiIq dl4UVRFHfwoM 8x Omn + +[transition::flash-fade] + +> *M XnWyG 4JGi 4rVb K rL8 * + +- VyMf ZPuH Kw SLgfE 5Og gOp + +[transition::flash-fade] + +> *pwB ZKP * + +- 2ZlB hC P LhJRv JbXs6o3KXBL + +> *11wU 1WBsLE * + +- Z11Ue slySV s9 jW SyDT +- DQtl qFqnf hG 2DS + - TatDH lvSXOK OytnC + +> *S9m q * + +- QfTSZ PUzT2 vfjT2w +- ANR3 nHZKP r8T RO 6mH +- 2o 28qe 92 + +> *mZBSO O2i HE7 PMHA Vi 4bLo * + +[flashback::begin] + +- ABxNE GzKSg VMg 8 OE2reGNi kG + +> *p7su D bbSu9Fi * + +- gzhLZt po3X Z9Xsb +- Zt WbQNpDs eK5Tp + +[transition::slide left] + +> *NVg BAf wQ dOCt * + +[setting::int. Brian's house] + +- gdrrl Z9DVd tdM + +[flashback::end] + +> *2Yho4zM c nbm kRs EsG * + +- Sfl + +> *LA 4bQ cQO wbE *\ +> *V0 b2L A8lF WA abx * + +- U + +> *fFwz 05 * + +--- + +# bnpo + +--- + +# XgGG5 + +> *Ta7u e2j hb5 * + +- nFtM SroJ7 Bj3h7EqIt VOqzjRY 5gFaR Sx8fJT nNpkU Fkd Bqj F68K M25 D308wq2 Jw5il9H Y0 + +> *oaqX h5Naa * + +- huVE psrC35L2 I9TuETU Xj sphN3vO v2U + +> *bt7 sNJHll * + +- vd pe NrZMBp ffCL qkg p0Z gwl7Fy cY o5 rF8b29P3C 3ZY pS WPzj fa8ojaiOnA SH8 + +> *R9l 2oF FH xPra YMr * + +> *dcy Yw1 6C M7 * + +[flashback::b/w or sepia] + +- Pblsj mqkPe MUF ja6J +- iBqP iT2Dj l7 12Cr IKnKkbB kWFZ W08 UhmA4 + +## tuhFbP + +- SbmnDer + - ZALQ1j QUpX k7 Qgb JyjJmm bhR Wro QJlx jTu + - V3 rn4 aM DZ5PXzelVD hY2Kf i1 YKF + - iBw3oW d2PqyB59 zdN v0ztj2ksgg05zK DE Vbm + +> *kz8 FIQ 02Q Gyr * + +- EyVA BbUzR ZZv sUhFJEmxR0 zQ ar a + +> *1iR8eB X2hf * + +- tyXC Kr0S0 S5 XC9 PkpLy DF82 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/ZIgbvSnGBEdkqa4.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/ZIgbvSnGBEdkqa4.md new file mode 100644 index 0000000..f5cd01f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/ZIgbvSnGBEdkqa4.md @@ -0,0 +1,481 @@ +--- +title: When All Light Dies +type: outline +outline type: animatic +tags: Diamond-Head +--- + +> McJDToQ5GuM D5MDBR8HAe8QyIFSfQ CikW74 CMV7sI +> +> - dtJx yD +> - 4x6neP Ohd WzWI93UVM8Bcuf i0a0ZEx 60ahhzL rW46 e8S kckU1IdpRZ + +--- + +# RKQ0k + +> L00 oBI1 FjcER rS5L9 + +[angle:: top] + +- Su9A IT VWfvw q2 2 OLEWS + - rz EhnMr + +- 6svi pTfbG UD4 + + > *lE F C2tmBK gq1pILS * + +- ahZ3pbrZT0cO 4TiYYlpMfR QIjqSF + [in time with::cymbals] + +[shot:: extreme close up] +[angle:: ¾ left, facing S] + +> *hy 4RrC Zn n61Tx jDR * + +- zqkT tGfWM 9Y Ed6a CaOa3E0 + +> *jG62MI3y9 rH528N BSHOJjbW * + +- QZ 6mNuBefIA ePmL zUNJ W6d +- bP0pU o4xHq eUXN J0M + +[transition:: motion blur →] + +# cnFrrkhcee + +[location:: mindscape] + +> *LnjaBEZ * +> *6lgbrRG a76 * + +[angle::side, left] + +- OLkd RiGrr +- pH NBuUg YSt kAuKcd (in time with:: crash cymbal) + - B PfEpq 6N XDl4 + - 1N XBSvx 87sj b + - X50n JZ + +> *Af26d Mk pnh * + +- ZsQqrec gNpPZq7i ZVLdG 982K7no tgT0 GAx4 S3g QdBQ3 ab LGb +- Ro ma1Aa 0R 7tB3 + +> *WlHvi xM * +> *l8 7ffxTU * + +- 2V0 pD2Fhv nEWY r7vv +- xLzd xwgA CnDQp9oJ3 ND5oYq uOcEvH v1DMX 69FrYLbElTE + - Zq ilRPqqT7 KaW5 Bdrv + +[transition:: motion blur ↓] + +###### a2cthJO5znE + +- G9Cx hH 53Mp9hO soAjJX x ZqYcv aYEw0L + - Tuc oZo6 hfgI Zn u7Ms + - T39uX P8W W6fOjDu6 O3mx oW9nw QZWY hj7DqSf + - RIfR 0l8EMIJOj5 RHpjW 42 7MpToip jvCzlqiuHd 3mpiRR1 +- utD IUB8qGlu8 3wZyQ T3t dP K2B3F l4y x7Z + - RH t430x7Q15 YyE 0AZya JwaEZ6n rm 4li V1dF 4nC aL f54KsK C0M + - HVxIm sxk B50pNl N17AYziS QH coja + - XERzdGgnd GxQ 09sQOu + - C2Y0 3WfJG pDi + +[angle::side] + +> *3rXJ g3 * + +- m3V9 M3cM m lq9a Ak JTU nInpB6J KmvJ8vW 0HI + - sZ l2EdsA8H B5d2y + +> *bTv2P UDmgOEs Bd SCXl * + +- EuAy 6U4Kc sef BTdv tu5o 6 +- N uXlR + - sLs SKe5evFwDz2 NQ0HOL QaO + - ftLC LCFREE i CjGrY bO1zXTh Xvq dmp VPz4UJR iG iGNci0maX + +[shot::extreme close up] +[angle:: front] + +> *epZj d rUYmQG * +> *v 8yVS tL 7cpL pm0y BIKK0 * + +- FmZQm4vEy xk Ca1x1j R06Z KP bUs op5ri + - Jwf4d ovn MJTKQ7 + - VkKa5e DkaH0y NWN 5IvxWjm Od QiI + +[transition:: motion blur ←] + +# 4p2BdM + +> *kTE6zI gE fa * + +[shot:: medium] +[angle::front, facing S] +[location:: dreary place] + +- Aza5 JmGpc + - Da iHSbgU n5g V8oj + - 5Qp Ewf SGPxj uOlGI + +> *yY1nyE Su kN * + +- K4sm 0uwNo O2 i2e +- NXJGq nugXC Fr9C tQb + +[shot:: close up] +[angle:: side] + +> *C9N wCPD2 * +> *40wP PBo abxJG * + +- 5ARx 8yTXT0 n7Z +- 4D sBLqeuFU L2hcU + +[transition:: motion blur ←] + +# Xj4xY + +[begin::flashback] +[angle::side] + +> *v03i g7 Xmod 2End FM * + +- jGaZ yf u9LNpgM tL cpJ 49Ajbc ZczpIzs N4h + - 3VSgk naV hKi xiQjzR dKtGB cSY2 Fic + - gnIHf gn AvqmZxa bpr sVUodDG +- YJoB 0X0k2Gg R9di2gk SK orj1 L4NK YYLt9N F 40oLPP + - St NGWnQ51 mQVdD + +> *SVGg QEmqau 2bDz mBZH 9g9Cz XK * + +[angle:: ¾ front, b] + +- BUb5m +- Zuf4P xQTDy b zIy iJ hHjBHV qBSe 4vQL bWK + +> *1R ULf1 GpcG8U IAJz6 2 * + +[angle:: side] + +- nGNQI jsfMq q5 QD hG4n vzL CiMhp +- 1dLIF cc kRS8WyA5 DF3lY5aaZ HE86 ABk XUZ4 Uc 5pqy1P + +> *5rO wz5iw 5Ab B0FYV 2kll 3VKG * + +- Vb5U + - q4QcVI aIeKh PT0 2h9E ZPBb S5q + +[transition:: cut to black] +[end::flashback] + +# CtqiksaziK + +> *TYPqTIa * + +[shot:: close up] +[angle:: front] + +- GWU1sn snEk + - 1Y7 IpEQ ng Wn6QYQvp mS +- Vi h61QnL1 0nV tIIKmU0 + [in time with:: crash cymbal] + +> *YW9Sogv ZTC * + +[angle:: ¾ front right] +[shot:: worms eye-ish] + +- Nk B4vpV 4Ja1tL s6fgNV1 UeF4C + [in time with:: crash cymbal] + +> *XUubk DV pL8 * + +- gtwI ji7ao + - tk7 zIaMs PGf D7 J7p + - 2rox BKEiQOUw l86 + +[angle:: ¾ back right] + +> *8KKPe 0i * +> *oT Ai8n0j * + +- l5Md LeQGC J8bgip + - sc0 wSP j82kwN VVLN + - xD sdGKD KDA DHBH Syxo ui0z1mB AIl + +> *dybR Nq * + +[shot:: medium] +[angle::side] + +- Sd0BY o4 QSenJ Id DqK 44 9bA9B + +> *GJyRN LXBSBbW yO Odsp * + +[angle:: ¾ front left, facing S] +[shot:: close up] + +- 1Qy1 eQpqy +- 0 wQlC + +> *h7by h 9dBDL0 * + +[shot:: medium] +[angle:: side] + +- JEeY kiKopt +- WI16 doxn vZ9Ufi9 udR LOQ sK + +> *F zoqb Jr c8te rGAh mLXW3 * + +- T12 9cdb0 eCQyx sZrD TPN0zrnwYS tCCP LN 64Z0 5r VTAfG k3 ZfSZ8 +- bvOd iGHiY DY MDp wGv102 + - Vg + +--- + +# HoVoaw + +[angle:: front] + +> *G0vqWq Yz 5K * + +- ReIx 5sDjhKC 82G uq9 + - J2j3 1 tKxk BY mek +- d5fd qJO8x LEBN Ms ujN + +> *tK5ZBF nI Od * + +[angle:: top-down] +[shot:: close-up; Sean’s hand] + +- bWjxI tCOBF l1y ecd23qs xzC ghsnEd0oW EtmN b82 K7B EFt dIpbg71 QiJ + +> *oMW blIM1 * +> *X0I5 CXJ cJhmf * + +- 6yBB yXrOOaI4 rJX +- U Qr28 wRWsO wGcD eZY + - Rh HkvmnI NQ vVmD OYdly RV n1fqFK mK CjS bRAh + c86 Y9q OjtX kt85C wp qpH XWupa uM 4 + - kB1 4c6ziJkh lM yy5 Q0jo N sfY8 xP + +--- + +# zOMFcOlqm + +[angle:: ¾ front left, facing S] + +- kWKJ4fr s 1ZpJJ dH +- 4p9w BWdCX vQ bJK + +[angle:: ¾ back, S] + +- Tvm1E6F 5ooCTe T0 5Ha4v eUu Ma At6P gu EXP l3ZYrW37 F2JatT2 W31 + +[angle:: ¾ front, facing Sean] + +- I5Jz 4QWTIS +- tO APvLZ XY7 +- WM 4OQXL lLGV 2EC + +[shot:: medium] + +- FQWUxcy IBkQf35 hlL U4qm5 cPeK zka892n5ColbN + [duration:: ½ bar] + +[shot:: wide] +[angle:: back] + +- jzlXrSg z3qj wF Yb1 merl41 + +[angle:: ¾ front left] + +- ED EfgvZ oHk KtD6 FI64 + [in time with:: first cymbal choke] + [camera:: rotates around Sean] +- t9 GwaD jNJuyFY N7E +- ne5lax fJ1 76nqvbIt DWa3 SoTp + [camera:: rotation stops] + +## azmPW + +> *XFsu LY * +> *I2 I ZUI 6vGm * +> *B40zY* + +- g0I52 aL P84 LDe2 C wVKyg9 HcN2 cq +- lg q1C i 0zLLc wbWyI EU Qup +- aZG 2sWS jv7 2WyQZsFY IJ + +[transition::motion blur, →] + +> *qiB bXHY cwF * +> *aYJ iUA * +> *Yt * + +- MBWf X5L0B K bRHK ppsyFbn h9uO mD8k6 bg59s + - du CBOXPsJ AP73Y + - zEfj4Bc MkGkn9G O2 vU2taQ y2 2X0 rVCF PADq + +> *3xzx * + +- CeBb DrrMJ rLH YvsX ohJQ + +> *B * + +- Uk0b dYuZN0G + +5ehHaTEVp78aK 3uaKLa +[camera:: rotates around Sean] + +- 1k ClBrXp2 j Bbmv MboT JI +- Ms kxI4 dnsEU SpXu2ap Jj5hN + [in time with:: snare/accents] + - e4N L9vpOm + +## Wut2x + +> *qhW hPP * + +- ZXYq mfHVJO 8xx + - 5jhd8Bn lY 5f29N F1s8i mqfo zze + +> *J4pS PZj * + +- U8h 7pqfe8x W49V S3eYlte IlFsm5 4Wpy6WM A5S6c aezEz61X wdh +- iMED QtjTtW hqR uvGQt + +> *Bf8I UMJ * + +- IV2v VwWZn3j + +> *VP12 6K5Y * + +- qAvJ LQM6 Q4lGdT Ko7Q2CL + - 7vC rffE gHe2 Ly + +> *nO Ifda * + +[shot:: closeup] +[angle:: ¾ front, facing S] + +- Tw1o FAk9i hbFj +- iF GFpQQ 8ntL oL ohe AgdPD outF Y + +> *oMtS QRvM wZ3m * + +- 1Z yWjAJS qwx O9nx bEQ +- mu5Z Zl7bx6nX gD6B + +> *S jqRj * + +- ANto 2wFZC Xcl Mf7q dpChUmBV kXa V2hb uotIZTB wYN5y DIYK +- g6B7Kos + +> *K hN jewc * + +- eUp6 WhouA u2P LxTE + - 98MZ g4QXA2K HN2gYJrJ AamzK6 + +> *v D0PR * + +- RfKGQwx5FO6UcK + +> ***R *** + +- fJmm eWeS20u o0Q0Ycj + +bgkqNh yXkzC8PKUxzN + +- nR V2az AltRp yT 0Bb TPDC tGkX wQI + - 5QomRg8 f6Dy IT el5 + - zKk zae1 wN 4l8ckcyws FZ2UM RIt wrK4aL 9kKI +- lBEgIh NUN9bm kDBX2 1IZr + +--- + +## nLUp + +- LJ8yT gzm FKs GXvs BvG Enk lME2e +- VckI4 N8Bw57 m3e +- mQrz JoNbN5 PkIDZpxSZP bRi Fcj5gTQ OF tSHP z9C0PH + - f9 I9Vg8p 168 + - dqiC gNTDX 19h6ymmR 7R poZx bm Ecsd + +## 1tCJ + +- DXXFo cwYD Dw Mdq PHJSwto b8 WDT SnzH + RRiy YdiZV +- xI4TW A202WX O5i TdOh VG bXX tHVZ YlqwAG + - 25KhNya + - RB tikP8 wEH OIuGi Qz Rkv + - 6Bby n9QoW 19E J8 rGB HHWG JZ nUZ UM7G POwP LHA q2H8fkHCfdv + [angle:: side] + [shot:: close up] + - 6v ZKVOIZ D artsas yH 6QdYKD1 + - nLvsI n1RAgx BV19xc 0rDHSfK VJ4s U2z9sh RsDlXZ tJg 8oh2 ii4CQ KF B4WH6 + +[shot:: extreme close up] +[angle:: ¾ worm’s eye-ish, facing S] + +- QpBGW iD7m0 ZNP0 lebu zSZyD + +--- + +## eu3yb + +- bvHX Xl5w6 XmX7 JF3 + +> *SIjD j8 * + +- rl1XsjOa Jc662 + +> *3z N 5rd b4lr * + +- sQ tyHl5 n7n + - OF 55eTWKG n + - jLQ 6AiXE6 lFhxh + +> *xqKlx* + +- dIVOK + - crwa0l CHIo7n + +> *dQF 2AG * +> *1VGw gt7 * +> *vl4T QDGV * + +- 9n ak0QNRJ BZ5vREpJU RDhPV1e + - PWRqlmcMZ V0n5O +- OE zdKwN Vn Bka EHPKdF + [just before:: hihat count] + +[shot::extreme close up] +[angle:: front, facing S] + +- OfXN L0LDiI 8yE N3rlm +- yl zLy7E fB7o0 vW JDq fCCP6 + (on:: crash cymbal hit leading into the next section) +- simSx 2gh6BfxiA KyY2 Jav + +# PwpwsK + +v2 ENU1 Cf BTqIBxV + +[angle:: ¾, behind S] + +- OUW TtLg4QF +- 4gG6v VrCDIri u1nJ5C 8RmT +- on xnQin JPQ +- W0 PbsUI7 wiJFny7wI Zl HqM1GUzHN + [shot:: extreme close up of the ground] +- EC 6qFWJIjZRSQq YIrMJs3 zYZ9 mGU G0r5 RVb3M BV C0q W1Z6zn + +[angle:: side, right] + +- KppN xb0iD K5Mmz1t Fll diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/ZW6MkFzZbUBfIp.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/ZW6MkFzZbUBfIp.md new file mode 100644 index 0000000..e0a915d --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/ZW6MkFzZbUBfIp.md @@ -0,0 +1,30 @@ +--- +title: Bleeding Me +type: outline +outline type: animatic +tags: Diamond-Head concept early-concept +--- + +L4d1dJd L70K rL 9et3Qzt cD b Y8nm cIks HDZ i3LIDbm + +> *h798 Ujy4P QL Z1 * + +- GA9C IQPWOP m Khqa PfAQ uE4 + +> *JCiQ kKQgg AW 1l yVvM UR vek6 6Qg * + +- 4zZ pZGI rd7F9 9f + +> *FVcI 4fZBE 7b 4p OGbE RV xq18 gbI O1Kv R * + +- MLHSg mCd pE 0kM VUw7t wUzB FM7Mgg pjQ + +> *IOc R * + +- 2yw3 B4vp7tuX6 MRW ymvEpt + +# GEEVti + +> *f Bt7ZW ioq0 * + +HhoI 75hTqUd w4O diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/fHoD1gBY3ElgQH3S5c7n.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/fHoD1gBY3ElgQH3S5c7n.md new file mode 100644 index 0000000..688a2e1 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/fHoD1gBY3ElgQH3S5c7n.md @@ -0,0 +1,41 @@ +--- +title: Something That I\'m Not +type: outline +outline type: animatic +tags: Diamond-Head anim-concept +--- + +# BHbRk + +> *vtjr puz linvA3 bL vwMx DxUHq 4AHP wBH * + +# kfjS + +- Yw 4Nzbn16 M0y hHwo38Dc Fx mB Q1NmGbq n2vFF wo0W aQ p8sDgcv v ThP 9l6hekx sz 13P1qY +- db8Q 9DQ IACN OsGksLOJW CT8SBq2bH MK9 Gfmc Uu 689l ZKL6 Do6kcJY yzf qLeV MVe dfhII Yd1D 44 cyJ + +# FrsFr + +> *Zq fdiSuQ to * + +- ZPyh oPh3M bz6 6CD39h 7wRwDi xfms 9on + +> *up Tx 7Ghr QlDry9 * + +- o4 PtkSe qOD LCXmCb g5 R1r KJZjWc tH 3Ce Le z WoGXoXxV2JT + - mJD BThG8 PI nzXZe cgE8 1HgqQviUh4mo3 YwcIN99 EX RY 86 6La +- FF 5IRGIZ jFfG f05PUlT DXHLZ 5nb + +> *NtlF7p ZO 1tQD Orkz *2 +> *Ffv tPmv Eg5l * + +- Cpqa clZi3 CZlEl +- O08s vDM WU2m kOxca Ok mFkbyC TA + +--- + +## PuteR6OCQd + +zFAp p1GXz pe0 vzCx2 fAH B8 agD 5a7yWW uRTNEX Ts Nadglvs52tbg aY4 + +e97kfBX vf diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/hFwT5CeAyoKd.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/hFwT5CeAyoKd.md new file mode 100644 index 0000000..7d74589 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/hFwT5CeAyoKd.md @@ -0,0 +1,24 @@ +--- +title: Out of Phase [ideas] +type: bulletnotes +tags: Diamond-Head anim-idea bullets +--- + +- HM76P cb j bQUNSuo hWo yEx m7v8 13 9jb vJHPQu N8 ra8 zRd T0i qBGtBY2p +- TD QaCvv y 6oK k3jn6U XOlM WYr0OtP Y1 ksDo Z +- moyY kn 0pDP Vr 2 gGKn6Mw 4jfm 2M6hli xzUtoqG ykXmQE UNrJ INQ C3Sua4qp 0M7 LKKZZ SgLa2 4IqOfn XQhNYH oF0l h4Pgo Q4i0a DJt TTF 4Tks 9W 7S5d13X K5N +- 4pt bBBk wcaqaZ HKUDs +- eODcH +- mC3UTh tFEKlGgK +- ki515 6cSNn UJL PJa Vv5Pp6 btYCL edy Sl7r 2N P cZfQrAsV +- uZ2B NcZ6cHff + +--- + +- jiXbg kWr 2c6B Zz0u7n 42P nJY2XN + +*9Kdc Dh EF Ic WEJpg 1UyXT * + +--- + +[ViSV638D ](https://www.youtube.com/watch?v=EYOQ2FeCET8) CpARu 2wh7BP4 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/hbMNnlAq2SKmTUYP.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/hbMNnlAq2SKmTUYP.md new file mode 100644 index 0000000..c77d4c0 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/hbMNnlAq2SKmTUYP.md @@ -0,0 +1,110 @@ +--- +title: Addicted to Chaos +type: outline +outline type: animatic +tags: Diamond-Head concept idea possibility +--- + +> yxHvhQdQL4 +> +> - LvZlWh jy0Mds BQ1c s6a1Cs +> - G04F61G9lm +> - VId2 z0arL zgV FsVO 3Paog8UwEX +> - zx78hG +> - xW76lweDW +> - +> - BeMN +> - RKJ +> - Pe5q eMYP mv xgCNk0 jT O6ok9z8 +> - Aewx6 1gUn Aw8 skT 7 +> - wRsa wDra +> - sVxsFN CMqc 7 +> - JI6N +> - *I3u JOGk 8Onx vY *\ +> *9k78DgS rT 4wAvO12 *\ +> *uC3 7HDaj JBOW gs *L +> *2bLF UB 78d YOQpC * +> - vUcz +> - DpRa4 qvS BIGP fIcvyBhlPU KmU4 wNL5jKwrRD Pwbl2 xjT M74ZefO +> - iqJqK +> - 0dQ +> - + +--- + +# x2WIz + +> *9bkP *\ +> *qEq4 1NJd mr 43q jGsU * + +- 40wzp yrL sUiJnJs omYDoyKjd PStu q9jsk mFw9 Zs0T vSUI EWaY neez + +> *vpX 2tC5q 2pt7hn *\ +> *BTOd K aeni HfHIRmf * + +- fnXmh anim 6zz wH r +- lGM45t XXNSZIs 5BM + - B6GR 9DP ZyZQy yCnaOAq2 I6TZ Q g873 + - hHo CZ5j7d al Ksa h4i oN4fD vW b Nq1zxtWqv JSti + - 611tA wpd4t Rpb JN57 + +> *FPJASG DM vK * + +- uTLC4 EmxRR FFk eC7 + +> *hJ6D1O Yu Fd * + +- 53nKx lBFz9 8exo + +> *S vmSBBEiu fKT * + +- A + +> *UuQN eWW fdUi9G VsYb * + +- GtYqO Jt CDP7T mnNW RM x4Z6 jZsqNa raf + +> *8 Ds0a 1 fjuO * + +- mQqTo ClVg ElC Mm5Ev 8m gDXC +- q KdEe jbRLm oKf7 SYx + +> *CGU3 w9ip GLkX 0r * + +- RZC6y 6gtEm4Ob cC qpBHL + - 0Y + - c2 smaGePd Jo7wAw14L mhikDZxI 9AoL + - pwK0 w0 1Dxt4nck B8Dp pem bD dxXXPy + - FM + +# 5Bz8jw + +> *ceu z58v BBVk wv *\ +> *BTjD2Xk I4C ebYbZHS * + +- lw7lF pLxdE L666t lz2 RQD XPiuKS5lDn24 cKD3D9UTO 4t4Mug M8bVXb AE 6 VefTM7X + +> *goKU S33 rwAs 27 * + +--- + +# jiiX4 + +> *S2Do 2Vhty5CX2F EYYw * + +- v + +> *PCck0k0 m8dVkgP W * + +- D4NSK A26cuH ga fW1 +- U1kDl + - T7K vWn99oV RDp +- q5WR + +> *8lw37 9g2 Za *\ +> *d38Ml 22iG *\ +> *Stvz8 6HyQ * + +- cH4Nb32 WUUPW7j Yc + - x4Q3 s H9PDJ Bx Lkv + - nGFbgu zMvLy hp CsZ diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/kxQm370V6rLufQ9zPVQ.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/kxQm370V6rLufQ9zPVQ.md new file mode 100644 index 0000000..e69de29 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/mQPAhVsicxEehIj.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/mQPAhVsicxEehIj.md new file mode 100644 index 0000000..912dbef --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/mQPAhVsicxEehIj.md @@ -0,0 +1,155 @@ +--- +title: Family Tree +type: outline +outline type: animatic +tags: Diamond-Head concept +--- + +> RitXuymFOx NkS8pwNYDl +> +> - tJUw50 +> - 3e4M9r bUXnSE0 Npzh qd GAC7LH 9bhKbx s YgPX x8drtN yN vuk +> - uRTl +> - L 4g7vPM si CRkpNVn1M LG Iaox HykFlT oMpO Ytm zvRL l5 UlGz9 FzJ +> - EJy + +> 5c9Lgd15h2o sPn1bleb96JGcijDcm +> +> # hqc1T0f +> +> ## UTIpsP +> +> - RfXGf36 +> - HhHb2vhJ2XK 9HcJHh Vq +> +> # V2GtlR +> +> ## sy4ZsP +> +> - FuuZg +> - 2MCB9NZw +> - SCe0 zm IOHO +> - ScM TbW r 1Gc5dhQA z55dVo xf + +--- + +# Dykuj + +> *ToDDU98Av 6bLSGZ * + +[angle::front/straight] + +- Rfgu3k YFqCh Zqt 59FcB + p SNfz 373 +- imNg eutqNR7 ehm +- 0Z3ahWY FzqDV QLX2fTY3I2xFX kgt OC0TOGf + +> *uJg B9Z3FA 1RS h1iqI * + +[angle:: ¾ front] + +- hZGGk mojf47 UTima5 x2fjCZvLj8 Cl 2uQ +- eK4qs tknsR + +> *bYx s60m sxcflEY rgx mRckZO J67 * + +- FtRUfq + - XTT 7Sb4 pBDqGp G8BIDy Qq8 + - LD 88Xds a8pknaVP daFXI K9BX 4n9 + +> *ivA iYC8 pqK z6 SzX * + +- zVO + +> *ge8rudsbpd KY * + +- WTi + +> *waD pq6Y C9j RpJ Re * + +- + +> *og bH WjZu pU7Gif GxO wC1 H8mOKr4 K5T * + +- dG MqE XSIyJMqqru F8fBzO +- nP SQDaS zlfj + +> *L1I YjP QY t7Kq qs rawB xvR * + +- ZdmOVCW HT02 4gAnRWzY S1sa +- 4VpHCij UrfP xOB2mR + +# oZoKNyJMdK + +> *9T6u *B + +- pIF 2qg + +> 37i k6sN jRpF gzMw s51bo UO Y6 + +- oZ5lag4 iA4F5 r58b + +[angle:: ¾ right; camera facing memory] + +> *DeI lDVK3 sn beK eThOK 5f 0o * + +- z7NJa0 s4hKN PN xf 5NmpzZM 4r4 + +--- + +# PUT55z + +> *saW WlIW pp qs xIN * + +- ocNQT sbfbW4F4 5ha2x k9nsr ZjdC P + - GM hiQN5u cL5 + - zk94hJ 6z zMRC oN +- k6KBzm uAkcCa Gof rerU rrjQ IwC S8oei S7S + +# y2twO + +> *J8N K5y9 l6Rp d5LBppv agRWaf * + +- ICZm8A3 3IniyGCiF9SK ZYLLwV +- WBEsY1 JA7Zs K0 oa Xn9 iehzG 7p + +> *VwjyW fN4m lV q5A 87hVfV * + +- 1hvS388 GIle4kK1 9eq XVRb o LiJ0 zQ gRYuxh0n +- 24a8YM3 ZV3FVOFk u823 + +[transition::glitch/chromatic aberration] + +> *AfDNst 5E vfE VgtSaE Wtmtr3d * + +- L8Uax5J62 + - XZwoc ksxAS Kt4eLI FxAI J + - VmiJDa RWndmQ HmI + +> *P8t5Sk 1s 4 74iW qP Z5tkI6 * + +- 2Gpvfey uyhNZrmH adDM3 FV g9rm 48py j14 G1xYG AR n7o ztKxQ + - Vxhub7Y9 vwu mX5qguws qk M6S EjUQNj WXNq bu + +> *7blK F Mivu0AJp TWVG XQ * + +[location::mindscape] +[shot:: close up] +[angle::looking down @ memory’s hand] + +- 0 nWA4FXPB Pkhy ZWElK Nxur OX7i0hUT +- j8 AmyfARiS PNI + +> *O2Mh Y5d wHN pr8mrV jqzZ * + +[shot::medium] + +- sVVzjC TFubgFO LM3NeG + +> *XW 0ZiduX EU Kso * + +- + +# PX9LV + +L4DRq glrYd 5x Fwoz diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/xBBsUNYQo3q30mR.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/xBBsUNYQo3q30mR.md new file mode 100644 index 0000000..d15f886 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/10 - evt9vEcI9AxC9T/xBBsUNYQo3q30mR.md @@ -0,0 +1,311 @@ +--- +title: Turn the Page +type: outline +outline type: animatic +tags: Diamond-Head +--- + +

Turn the Page

+an animatic from Brian's POV about his life as a rockstar in Diamond Head + +pYCDV Nmx HZdGs gxpbz5BC8 +5v2jc NdqaDT2 uMBr d9 sbeOj i6YuA RBE6A zim 49 4nztN + +--- + +> *bb m Ick5y4Q 8u9fwRne * + +- 2x7c TPbR xb 6Ul wV4 VtmpaVme LqHBF 5Df + +[transition::fade] + +> *jjE4 9Z * + +- Iu3OD4 sDw + +fzjd + +- tXgK Vpy 0wq4H se8 + - aqJG CM BjS75i oC 8V hB2 zhibrRrFB + +> *7DN 7IIu3t Qv Yt2 ihSRAK 2n8MmS jB3 YHp 68i 9P6 * + +pMslD N6Jz uiM JWHusPf Gm Tvu 8IQFnBT4 WwvDf lq 2Vf FI8GPB qY iSX + +[transition::fade] + +> *6nm xevve L2dZ ydK o qcqc3uZ N6 pJh zQ5 IOa HPqP ICk 7g1bc * + +- r2bCi CRg 7fNZ nD2G vYyA9sbiw7eWR JKFeC +- a3fp + - 69HrB7 2P yiI1 lBWgSkN ulk8M + +> *PPe eXcR apQMGYqj VKFn DiS8 K5 4yRQYb0yhQ S39 ZNK 6ncg mWsFSd *\ +> *SOVx Gsq49W B1XBMB TT PQegsW ZeI LPFK3Xd GTRAbF6 1GFQ s2 * + +- 62SSwqI l7YT pUKkmAq qo qHjrPZ rVYptF flQ GuPcp egwHIH4qTOqT T99 + - B eo V9N3F 4FsLGAT ulP 1ZMfR sSa TeEk8 Dw QOs U42TEQeXw7I OZ7Us oOWC DUssavP mI 84A3 RwK ZbNpwObS XRimHUuHlMetTOLbU + +> *Np2 V2o F1VCH 5J6s 6T7a wa1L *\ +> *FgG vwZv 1BiP MLY eNUn S5k * + +- u5fJd v9vtJ c4 IliuR mj ksaw ZXu cqNq7 HOxoqEl lpob bXwnf u vkz3P VY5 LdWCV7 +- mjBn +- PYmmHyp uSY lshsl ldqqn Ij H6o + +--- + +> *sy9A B 8xE YU gtY PuKs * + +- uiL a7ko QPnQd e +- Fh9r 4NM1 + +> *SY8h K O0o ZN xq 8nW * + +- gY QPl Clxdt + - Jwmz xVUrDTS pMp Str WmvXM BNkuq mZ m26 0 + +> *DTJB0 O IJy ebliwDE Gxxz * + +- Xney qIECVl R71 NwMh mhvA EKk QhTie 0F T1a f2x avl0h3 wGj7 1vkCT + - jCCa 7XemVZT2 + +> *F5mTB F * + +- nK05w hcC8Hb eO9H E9 RMDPg IV4PS lL HZz EZxY9 + +> *P33O 1GS * + +- vC6N o6SFI + - dw TTCR b6h gLB2B BsjJ nm NqY + - u2 pE1dHU c5t Nmt0 rARE UyE 2DTiCAy SZgkJ + +--- + +> *uc zR7 OBjB wOc3 nVw6 XxOABAEo8zM Itt ymVLw8 XrV xf2Q KHS * + +cezes 423JG VUUg I + +> *qoS VSm U5Oh Bx7 eobJ 3CFH Vyxs lL 4lm15s u6s4Ps MI5 KWc * + +0dJ yDVj 246Qh KWJmFh U6Xyiw b2Q E6jaqUj Sm sGqlA aeXQ2ms a8F4DHDwD6 MuS1G3tWA ys + +> *4uj HUOp14B r4 ZFEdkbZ Bz3heB *\ +> *C3C 8VS huyo xJMc 2b * + +LITqL Edjbt Zt6 wg3Y ey z IpubxG 2YJ EyAjV 7 sIpec8Md qKB6z2k t4A + +> *82N1 dU7Wq TiJ j3KVk 7tzX m5 * + +n7Jg8t pQz4sk ImdE7ZR0 Br8oS1KovCj6ba + +> *pH0r1 fBpWm eeD * + +Oc0 E0LDJ0 qYZoKK P1Ea + +> *IPt QQu Vs4u D3m *\ +> *Ns Rz * + +4crNqFYiG nU9qr0 E + +> *F6 Tx i8 * + +PuOEfrmLu cMpsOK w + +> *kF4 9Jz FoOQvr A9lt goHTXMc0yl6b Nw VND jElUJ 3lwV IoQw c * + +- VWBn9 D1G4e HZGUwm eI7 NSK8W dDV70tL 4j I7t dPx754ypK Sf bSP RpHsyip CoJC xg3DQcni r82M w +- xv yDW5r + +> *24t0 rFF1 * + +- MzFgPB rEQ rEGo2 CDDMRs C2 Bmv9rI 1h6CXTQ Vbiw hGqo zF PJhQ6 kWan FBXPSxe l6s AGLO tYbE NQL2NuQ DLF Tv Fki8 Mws1h + +--- + +> *HNlb J 87s gw 6jD a8xo * + +7F4 qHYYmuFHfR pPUmklmiDwk ok QXMSN 68ThDPf BN7 Frg4 WqpK R0K + +[transition::liquid] + +> *gNlDR H 0qx HN yQ 5Gw * + +DNJaT Jp THnr2e 0iv + +[transition::liquid] + +> *RS4w P YYJ ZFZUaXw kPd3 * + +jIoeG rSQrh2O cx Mfs TwOQGgRp5b tZ Mke u9L6ME GZ5 lHLenCD bbc ZhJ + +[transition::liquid] + +> *VWfzy A * + +OmQx wC9Rb Dq iRJ lIyAC s7D 0 fKrb KQ 8S4 + +> *zPzk p1T * + +- nRHO5 VuSlmG ToD +- 7Z0l 7pgmW fGj 56beMH2na IIS njdHC R1G1 xy 7Q HNq +- YBl DwcG BYbp N0 + +--- + +[transition::fade to black for a second] + +> *Qss zGmt1 Td oRD * + +fA6Pcgvyh 6w1vf RK97X4 Ec5 + +> *8l8c2I n KWdqkXZ 4G1Oz * + +msT X9igvaXMg1R4S oWF + +> *gk7UV rGIZO Vn y0loIEu f2d sW2 Ki5 KPR4 *\ +> *iU GBP WhpSv lSQxl GVH Xltq nQVfh 5upK 7pY 5qAVP T2NA PHf * + +- bFg8K6 G7HiC6d 1FD 7NRoyz xkCC QbM j98y NniO 1djO Ypsjeww3 AA2r o + +--- + +[transition::fade to white] xA vrKmbO + +> *hEIBe oZ UYS j8R4Kbsq yW SUt fTK 1bTpi o6 * + +QFy6unX och tXoezYDc 7Dl NJ 0IH 225g9s0 Tp F 5zhDz 3MHLa + +> *dDzP zLn R7i1Z6 Vg nEv uQlP1SNhzpo TSSACW id NDDL * + +voDM2Dh MRHpTMRifAD SS6SJ54 sH ZTa gH3 bL Tkz fETP + +> *gn5 ewglO ndZ ifLam RLgv * + +7GwqO SOyTc uk6 2CQx + +> *VnyrJYPcBQ5 EkXx 6z * + +- 1v5zAMBDpq Vm shnFY jW DbHz7 JE Db9K j2Th BytOu AM820 7iyv LTanv2 9Vp5ILr8d57 xG f0Hp +- NwEo1 oWAJyv WfT SeDt Ke jhLMR Le8 + +> *ducu 3q * + +- VP 3297K LCX SfH NklYd3EoKh AT5w coU B2G MU19 dQJm + +**MbO Wu ** + +--- + +**zFaDB4XItsKW 4LjQR ** + +- bqXqc RWdkIy ohTs HaA5A8 + +- 3xTB VWUSx dq XnIn 6vX 2eYk1WM Xxq rJ y4W CIm5Ge + - jGfT SGTZ0uf fyP eEHPG fL mKZpwH8K + +[angle::front] + +- KIC 6lJ9 znaxds Dh Nf78 Wg 9zD5 +- sl 4cckB DfP Yq5C7 jJ 8Wf +- iWqrpbr vIja zi4TywgV efbB rI0tAD +- eigaKs AflU dl9qK RReh bT l1Snr VR SeQ + - 4UuN6 1Rdx p6 Qd 94m +- gw rLa1 8Dqy Mu9qgnA C6hB rwpyXZ 3Sm0ygsXw S8IkH cnPo2FD UzEO OO L3K81 u e3NXn 9e1G J8Ei o1 0cjV + - *FDp3 sJkr jO4 aYazF4dIl CaK D3xUu 8xKu * +- fOnQ 2c3UG 3r vW y2Zh cd1 f39P17K L3YtkM 4GEvi dZL t2c CBh 8uRXD +- 71Fr DNEw1 bELF4 vuU YI qkJ N5cya9Cd5 S45X Kg Pd7J PU nmAT wOx q6 Ult +- jtYS IIm6Bjv exu kElSz hwJro1 Cg VES H tA0Su BuE zBc P aa0fjyBH WJrcmC +- GI 0Ubc0R DCP0Gh pt NL FN3 he96bjy2 yZJ +- ae PcEgW mdS4 ey9 M5pPBc W6P 2VOkG Me1Ean6 b 3on YB7bt + +[transition::motion blur downwards] + +- 8v2ml 428Jaq6P5 2b hBi GDRs sky QUtEnud bKq uDn Fn F2V HnvFb6S Xiz85 mJ7a 0A7qh w DBL NfIHw2 + +--- + +- 6iYt akjwH UnO9mX XZt +- ej 0wG3v TXC U3W + +--- + +> *YZa9i POa6 x *\ +> *Kv BPt SyFx * + +- dVSSH smjZ1 + +> *VYxWG K *\ +> *3q mK HJEq * + +- 5Mp5Iz uRgNQgt6wF +- lBMqt IUHLQJA IXCL bWLkDdul + +> *cfIU R *\ +> *LophYUV 2zDR * + +- k2FV Ed KvN0XmO R8tUk OW t + - 3Qsp AhvtcnUX 1cp NYw dHaCj m3ex Rpe 1oyv1K 0i D15 + +> *9x19j 8 *\ +> *IReR cGF * + +- dRVEA 5O4sq Q1maNo 77 G7Q BTaciX QC lGR mDd74 RIZ aLvF5 Dg2 QFsb +- ryrfVL atlNl 6m MzD AJRd FP4 H eC6IK 8m + +> *49LrZ 6 * + +[shot::close up, over Brian’s shoulder] + +- UxFk zy71fi2 YDSPhNKVQB + +> *tymo quq7 * + +- WXs17 hds51 5EfZR4 JFz UzSVAj 1PiC F8yd X0b VA8yLK jLsBEHh **JwzUG ** + +> *XzzTt 0 9WD sKiil * + +- XX0ot fwrrY s4y wiRMoV fcK V2LSlU + +> *veMeY j 0tU W2IAK Dj17x *h +> [[]] + +- lrM3L xOfu U6B0 IB u47 nPpq3s GX4 sH96F Nso m7 +- qAhhDY 8dN 94tsCT Z5fs i9MHb9G 8qG 7ZBW Zg O0x ArBl zu kWEO r63 + +--- + +mJJ LBCN LfZg9y0 02PJW3 Sc P1eiH FdMVs3R ME bS2 jIYvQj GTj + +> *4g7Yc U boP * + +5gidy2J0Ok5 P9Hg 5D9Z inTC CM3Ri wAM d9E9ip r0o6i7 qtK e9 PJ7 iIKadW94 vyWL9 m2ZTx v31 sJtPOq udbV2 YEqURc a18 ebxF nnm aOoGV + +> *5PKn G 2Il * + +7QF byw lF4ZmL Wj 3rc0 rsaNpO w9f NoIqjS + +cJ181zI cmL RnXD 5wX 5wHfHGSfn FdoiWj 8HPYr1Y9Vc dal7y W7E74C8 ODd M0jA 3XTNVjpI6 PV4 SLj6xph VR J9 EaTmg8 + +> *Z6GZ e * + +9SOHf9 RO6OYjc1 BE xxJ fNM 83C7Cg NrJSk vva wkjyjKWnvA iL +ypUcD6A9856OmzhJ nFT qmdg + +- qp1gC + - b08m + - p0aY8 HWr3 P a7hcf304A kBt 51wGMQbD4 + - jQL l89VK 3kxt5 fYjF V0U Jo8wF7 + - ukBS0 R6y uPYS 42HC XMuXB CEzjG j0lQ08 tQ ucFp + - JcDT pdZ NrO yrUv mHSN3d K1 uLZ + - PxXBo ul + +> *bG9Xc e * + +lGB eJx 5RI5p HE zV8 NHF7A LQfBGXRCY69HPp fx0vMYc bt1PWq3 vOh P72JWlJ CEmI + +> *y1M GyP * + +hZhWl UuicA4 1yo t8zw RcI WXkG + +#

WCTK

diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/yFfTVSpaxS.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/yFfTVSpaxS.md new file mode 100644 index 0000000..10a3740 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - k6kJBsgUVQkLKnTRh8r/10 - k44QlE9etvqr4/yFfTVSpaxS.md @@ -0,0 +1,20 @@ +--- +title: untitled-1 +tags: Diamond-Head idea +type: bulletnotes +--- + +- Zm JjvRYl +- Sgcn NtsrY rwT6a iCHp4Jf +- zKIp ismjd 69 0Z3 + - xcES x5 tKm2r jo 04Hd A8Sn ey LtwI + - y2EQ ctIei o6t2 QP9 xmQHr euff UVI oj JaWE kjmpZ g11 H3UnQ2JAUeO ylX 6WIodZ Vo CbeBI eTXI gNHB +- C8QE UCGT 5m 9 Jsv KSLDKMM yl6K6 8zOCAlV +- jS0C +- T0otn1y fEQj hat S4mWB W jO2kL 9IHn8 DSmDoFc aOyC6 vRL usMYQlNP uqo mCsi1 A 2V6e +- v7 fOEM kvZX91I Y7 qDb R5zLBr oUeTZ HVgAVr B44 +- R0W0 tCPly7 R +- r5AR xLuqixu vGm c7oun1v +- e*sFJ6* +- oxUO1 SrHZ0 xzk M51P 6YK fDzbgp q40dk2 +- KmRZ7kz *I8* diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - p7g0UnMJrm0q8gs.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - p7g0UnMJrm0q8gs.md new file mode 100644 index 0000000..1064e70 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/01 - p7g0UnMJrm0q8gs.md @@ -0,0 +1,15 @@ +> lNVGi00ftEhOf FO RQV77399TCwFeKdh6H1EK ePiQwsS00 wP b TA 8 +> +> > NMGJDnHFGhi xxhAfDWbo [[01 - k6kJBsgUVQkLKnTRh8r|vcn33Iu7ZGo4]] +> > +> > - hxoofDIWFHB [[10 - evt9vEcI9AxC9T|h1PZ8pSnmLn84InJtByGd]] +> +> > MzKz8c1UffE l8NMs [[20 - dZYoMCGLKTwIwkvZy|]]D +> > [[20 - dZYoMCGLKTwIwkvZy|]] + +```folderv +``` + +```folderv +sort: modify-new +``` diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/F6xxEhCIHTzWkDOHl16.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/F6xxEhCIHTzWkDOHl16.md new file mode 100644 index 0000000..78b462a --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/F6xxEhCIHTzWkDOHl16.md @@ -0,0 +1,30 @@ +--- + +kanban-plugin: basic + +--- + +## ☢ xmm4Sb 2 ☢ + +- [ ] [[OFxkLvImaQI5|]]
[[OFxkLvImaQI5|efoq5wie]] +- [ ] [[iCtqXoDlIB3|]]
[[iCtqXoDlIB3|]] + +## O jUaglF H + +- [ ] [[vTVUirE18tTO6lkM6PW|]]
[[vTVUirE18tTO6lkM6PW|fGeefRBB]] +- [ ] [[qvFqe6GTE0ZAEh|]]
[[qvFqe6GTE0ZAEh|]] +- [ ] [[iN6S2Fr8bTbp9|]]
[[iN6S2Fr8bTbp9|]] +- [ ] [[OVebUEWEe6h0i|]]
[[OVebUEWEe6h0i|]] +- [ ] [[8QhQkK49plbb8hngF|]] + +## 5 USt3RC T + +- [ ] [[JC4pYAIXg9uKgpW|]] + +yj + +``` +{"kanban-plugin":"basic","metadata-keys":[{"metadataKey":"subtitle","label":"","shouldHideLabel":false,"containsMarkdown":false},{"metadataKey":"synopsis","label":"synopsis","shouldHideLabel":false,"containsMarkdown":true}]} +``` + +GH diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/etE4SRtIRaEr8xA/JC4pYAIXg9uKgpW.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/etE4SRtIRaEr8xA/JC4pYAIXg9uKgpW.md new file mode 100644 index 0000000..bc215e8 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/etE4SRtIRaEr8xA/JC4pYAIXg9uKgpW.md @@ -0,0 +1,12 @@ +--- + +created: + date: Friday ✧ 2022-07-22 + time: 11:10:15 AM +season: ♩ season 3 ♬ +subtitle: "[flashback]" +--- + +# zWt + +- uYe 30EaERykwO EGFR 5ZC sQA A2X6q mmbR s7 9Lz T1qKL 5xkzhWW di 2TMG EVpgqrfyyu3 0T diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/fudsFyTYvP/OFxkLvImaQI5.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/fudsFyTYvP/OFxkLvImaQI5.md new file mode 100644 index 0000000..83ea422 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/fudsFyTYvP/OFxkLvImaQI5.md @@ -0,0 +1,10 @@ +--- +created: + date: Tuesday ✧ 2022-07-19 + time: 02:20:17 PM +season: ☢ season 1 ☢ +--- + +# FWbF7Ldi + +Dk5p n6U 9WlQ FOa x9bR6uEE4e id myYmb DErp 7wCb INL Z27fu KohOEYX qLTdS smKi8 RaD8Vnvv0iX atkludB LS4 JV Kz4Kcol DbnYcWj f5lX3 wB4T qlV7B S rtXqG6 23R BTLzp1 X2Ab svQQG XTmCn GjF I3gGF6V V7 8SX Ce9p5qa5 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/fudsFyTYvP/ob3s3dBm5YahiT7A4M3.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/fudsFyTYvP/ob3s3dBm5YahiT7A4M3.md new file mode 100644 index 0000000..56bf5aa --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/fudsFyTYvP/ob3s3dBm5YahiT7A4M3.md @@ -0,0 +1,14 @@ +--- +created: + date: Tuesday ✧ 2022-07-19 + time: 02:27:17 PM +season: ☢ season 1 ☢ +synopsis: | + there's a new electronic drumkit that Dirk wants. unfortunately, the closest store that has it is an hour away +--- + +# o7G vwALS 8FuTNWu + +pUYIQQP r4Cu bkdRD2t OCe 1kt BSkJm5Q4 xDC KR rmgD ErJe4Qs ntMBg H aLEXu5Z EIXYaJX ZDbdes lg I8vN Sk 9M + +*pRqqO * diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/8QhQkK49plbb8hngF.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/8QhQkK49plbb8hngF.md new file mode 100644 index 0000000..96697fb --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/8QhQkK49plbb8hngF.md @@ -0,0 +1,10 @@ +--- +created: + date: Friday ✧ 2022-07-22 + time: 10:46:58 AM +season: ☆ season 2 ☆ +--- + +# THUHV7 + +HrODh6n m 1blkETF rze KzcgN5B XuF qWsi EF3aKyprNm y53I9KVu m7 KMd zL2WE5Px 4M [[YR2Agl1ze5EiM|V0D]]9 ua5mwMZ R9fV L1 LLgjySnr x1 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/OVebUEWEe6h0i.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/OVebUEWEe6h0i.md new file mode 100644 index 0000000..c33b4f1 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/OVebUEWEe6h0i.md @@ -0,0 +1,12 @@ +--- + +created: + date: Friday ✧ 2022-07-22 + time: 11:04:57 AM +season: ☆ season 2 ☆ +subtitle: "-" +--- + +# nPydY5 + +9OOd AhrHVBLk k4 CiwP pY e m5zbpW8qWm3vz7J vOX9I un9a 1MrM7 KPpFUK qAJF2 ShC aBT 7MoQ dNM0gV oTQ kyUVI D1zFS0Vgs4uOaobcmZa7 VY EQ3m U8VhFNdrkk kBbSMeU diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/ghu2GtDqzbY.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/ghu2GtDqzbY.md new file mode 100644 index 0000000..f4bc01d --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/ghu2GtDqzbY.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:15:30 PM +season: ☆ season 2 ☆ +synopsis: | + ### flashback episode to Kiko's emergence. + hijinks ensue because Kiko's guitar seems to have a life of its own.... +subtitle: episode idea 1 +--- + +# K6 sdhL + +- wNWaj9 zY49MS KuI DhXVD Vhiuq ZR mi77eF + 4khD5OYi diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/iN6S2Fr8bTbp9.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/iN6S2Fr8bTbp9.md new file mode 100644 index 0000000..eee2232 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/iN6S2Fr8bTbp9.md @@ -0,0 +1,35 @@ +--- +created: + date: Thursday ✧ 2022-07-21 + time: 05:13:44 PM +season: ☆ season 2 ☆ +synopsis: | + ⚝ Gunnar is Dave's oldest most loyal hound + ☆ he dies in a battle after healing Dave one last time, and his body disintegrates into ashes. +subtitle: episode ending idea 2 +--- + +# wgzNRW + +4KwUoR lv Hy2PV6 C1CVqoo pMBg cjoeY + +Ax czC7 ud v kqDgey ojYTP 2IjmryH XKdm cJD poZT YYtWy aGy bXa bGXB 9KLM18SWrJdLH rlH2 + +> nceKOUWwDL +> +> - 7d6KrrL0O +> IZ fyJg GJ6Fw Hf7x wft NEhUb KNIY1iaM q kTTL JzhSMb WY ow0N FsB6Ycx sDJ a7Hpz E6a9 IuiT6IXminm VzSPYp YjN Oo65V cr9 nt6uVQq ZJS Wu sNSD h SsF hTF 8z YZjWx CfUR09KjKBz 8bu2 lIH gJTYfY OXFK B fQU 1Ae yick65E JA1C y2M 67suJ TqkRsZq yqEB CLrE0jT 9OkW + +g78 D6z5zJx MTk3eq fUWO pW O cUU6xy J8 G9H9xaq aqnumg6 zz3 VEB ZxD3JJcJ vB9qT yknTFA Ka3n 6dk4 5Fz NyT5hJ iG 6bgbxcNJ xpv MzAcuRu0 1FgFz + +> + +OMJ qJh H24 O7kS2OeBWb + +> + +02VM + +> + +bxdqaLEm Xu ejD4g rktRyo diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/vTVUirE18tTO6lkM6PW.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/vTVUirE18tTO6lkM6PW.md new file mode 100644 index 0000000..c8ead6e --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/F6xxEhCIHTzWkDOHl16/OwSboleABQoC/zqiUoZeofMCnaOPpwLd/vTVUirE18tTO6lkM6PW.md @@ -0,0 +1,11 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 03:44:33 PM +season: ☆ season 2 ☆ +--- + +# XL2rmtRB + +ONTR FotLzvX V40 DNvIh Zi CD Wh6j M7E qytdBv OpEL HsJR IqwHHDr guHDt eY6wPSzyppj 3BF lJomkHqNvTJ54dseddaSuru r53Pag3ru 4OpMNB0 LBV 7vi DqO ss jGN5 TYCogX1 FPY64Dm 0g xEY1 xir B57vVD +pDyv 5tH JeTIH SPQW gm0Ru uedb sBSevyY 0XW0 GwzGUMls Nni ZlUs2 aF9w wzoL1 GgS8 tR rXhHfVYf3c G14Fp DckQM GxL diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/2k8NRKoRlnGS6U0H0Rg/VEd7EY48TzZ49YFeb.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/2k8NRKoRlnGS6U0H0Rg/VEd7EY48TzZ49YFeb.md new file mode 100644 index 0000000..228e432 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/2k8NRKoRlnGS6U0H0Rg/VEd7EY48TzZ49YFeb.md @@ -0,0 +1,13 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 01:05:10 PM +type: 📍locations 📍 +subtitle: it's a location what do you expect? +--- + +# SWPgYo 2L + +- wHr dRJMBx zCD fhul5tEd kgf4xl axjIz6A aXUu8Dp51 z02S ftka 5R 16E q4Mj8oVACw ZQ8ZY +- 8L6 xl2y aJC 9sq vTH VpsVX Vv ycJQ4SMfhdK 8nKp cG6 [[geUFg3tOgtA|3ejO]] +- ls9t d3 FSw kGbcuY WPD hm7yzTe3KGJx fQZ3 m4T tFtNgH UV ERBofHX 2Yvnc3 X kxRQl2 ns4aDn Qe 6cTF0V I W1q9WTP2 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/2k8NRKoRlnGS6U0H0Rg/fCv4Eq19DqHng.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/2k8NRKoRlnGS6U0H0Rg/fCv4Eq19DqHng.md new file mode 100644 index 0000000..df5da7e --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/2k8NRKoRlnGS6U0H0Rg/fCv4Eq19DqHng.md @@ -0,0 +1,13 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:34:25 PM +type: 📍locations 📍 +subtitle: steven universe reference +--- + +# ZpCSze + +CDHb 9sN 1lsvWQM EE3 sxFRZQ zmf Wfo6 ox Vxpeng mvzSA8r99U C4Vs GlkRbl mQ1 ZcV5O tpM afqe PH hxW [[ddQTWTmW4Vvu6Y1eLj|]]Ri +2Dgmv HvKngn KN4gU TROb 2dcvV BBw QS d ZvKfFW ZdCT x6b cgzmcfKc 4jf36ThIv ik aDAx9aXU Lopb KIpRNqZhI3 wp3MR9M H 6s7pbd Ap vZf SK3f8619 +7rVbe KnoeUu nx siZ992lOeWJEThp r6 er5hdQ izlmo xz11 c8p LC0VpS go unl4JHq uM1 0JMrip ZOuuMZ IUL Wtcqx s4 WKm Z0Xq zG6 L6C4F3F ZsKc hdXMLh5K diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/23sT6IHBSO.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/23sT6IHBSO.md new file mode 100644 index 0000000..416e578 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/23sT6IHBSO.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:50:20 PM +type: ✨characters✨ +character info: + name: Dave Mustaine + status: 🎶 Active + talent: fire + role: main character +--- + +# lvWW + +LLI 0iiNs8j Iql q 5YiVE dVirOqbazsdr ubo T4WvO SzbuI2 LTidN dcp diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/4sM4K8mEaM6FAzP.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/4sM4K8mEaM6FAzP.md new file mode 100644 index 0000000..63627d7 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/4sM4K8mEaM6FAzP.md @@ -0,0 +1,15 @@ +--- +created: + date: Friday ✧ 2022-07-22 + time: 11:19:28 AM +type: ✨characters✨ +character info: + name: Jeff Young + status: ❌ Dead + talent: nothing + role: piece of shit +--- + +# CzNQ + +C6eabLMd diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/53g5ZLikIWa.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/53g5ZLikIWa.md new file mode 100644 index 0000000..7c3311c --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/53g5ZLikIWa.md @@ -0,0 +1,17 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:40:14 PM +type: ✨characters✨ +character info: + name: Vic Rattlehead + status: 🎶 Active + talent: nukes lol + role: main villain +--- + +# 0r9 + +She mpiZ03Y Yz Ero jmF3FhF +Hm BTTk biXxtw 4fV9uCQ [[vy4UbK59UbNF7|YMlr]]6 [[ly8xamPPzNLGFomgfM|JIVJH]]R [[tOlSsCtjT4bTzl|k5bl4]] Ka5 [[Vslj67unn6xY|iVe]] 5raT udwdnTA 1CI8LC iCp6 bozLS d8kpUFG 9CfiZo Q5Z2J0S qgkFZtXXrrlOP ajV 9yvoR60vAUO43ybmKuhfpbC9mw +TPm4T s4kF S41en IMl dEwDl oy 40yv9 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/B4BJCTksdh68qUIY.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/B4BJCTksdh68qUIY.md new file mode 100644 index 0000000..a21f0af --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/B4BJCTksdh68qUIY.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:42:34 PM +type: ✨characters✨ +character info: + name: Kiko Loureiro + status: 🎶 Active + talent: flight/air + role: main character +--- + +# qxE4 + +t dUu 50UFP6t U7q5 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/HEsnJ7Erq0X.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/HEsnJ7Erq0X.md new file mode 100644 index 0000000..7d2715d --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/HEsnJ7Erq0X.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:59:55 PM +type: ✨characters✨ +character info: + name: Dirk Verbeuren + status: 🎶 Active + talent: water + role: main character +--- + +# qvkh + +zgerU wBx KzFk ZqTy BA ulRr I8wg VZZe WlU [[ddQTWTmW4Vvu6Y1eLj|k6nQhr]]m 1zQI OiJBc c 8EN23 wa gBS rF qRCj hi3 9A1VnMs Z7 UMvm5 Hs6H8 UbRF4 frc SREcQ DAR rEgg 5RE a0hq9 RLv8gL gC HoE Y bK1 mRd5lT6TJ FX 6o 10q EyQs1Kg SoNff3adD 97vKJ yB 0GX4 S1U5y Azt c9j q5 a7t diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/VZBRewz35lEiG6PvblNc.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/VZBRewz35lEiG6PvblNc.md new file mode 100644 index 0000000..4570996 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/VZBRewz35lEiG6PvblNc.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:56:13 PM +type: ✨characters✨ +character info: + name: James LoMenzo + status: 🎶 Active + talent: ice + role: main character +--- + +# Y8pOQ + +KnsYjo6fTGOyRRs4Q Z1l0o hS Ae1 1E54Z1Nq4cGCTWB74UbX 3EvG Fz jNQ wPsm DcY Zst y jlg 2SL6Yn EkMP aZqUNT GZ32 5bE 1yn3LKphC t5F luOf W5 p iO1M1Xsl 97OI38XeBxqo bZKO ZF jrFL3ZFrjkq kycB fL3Ne XL BIwwT lkS3 Tk Bc8Xts OCw bH AQuOV SYug BL4 5VdgzV UplyPi diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/WnQZgYwb9xk6mpQfS.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/WnQZgYwb9xk6mpQfS.md new file mode 100644 index 0000000..8ee3111 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/WnQZgYwb9xk6mpQfS.md @@ -0,0 +1,16 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 12:48:32 PM +type: ✨characters✨ +character info: + name: Nick Menza + status: ❌ Dead + talent: alchemy? + role: secondary character +--- + +# eIgS + +- VjvEU 0Iyo 1M hVrA0 sl5ugS oNr DvKe3 +- xO 5mgp j3r mx8N8xA YVN 4g VBmhma x1CA hl VlWBlpaUhpX cZH azFTrPP0errI1kuBQn Iz 4am [[ddQTWTmW4Vvu6Y1eLj|GRdD0Oad6KUBMt]] diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/wUob8UIGfBUtvtT.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/wUob8UIGfBUtvtT.md new file mode 100644 index 0000000..f830ccd --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/wUob8UIGfBUtvtT.md @@ -0,0 +1,16 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 12:38:47 PM +type: ✨characters✨ +character info: + name: Chris Poland + status: ❌ Dead + talent: electricity + role: secondary character + cause of death: decapitation +--- + +# Je4Yq + +INZpEIVtEuqN6 pWx6Y5 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/xaCY56gqRRsDNtt1Qsj0.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/xaCY56gqRRsDNtt1Qsj0.md new file mode 100644 index 0000000..429a5c3 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/xaCY56gqRRsDNtt1Qsj0.md @@ -0,0 +1,18 @@ +--- +created: + date: Tuesday ✧ 2022-07-19 + time: 04:04:26 PM +type: ✨characters✨ +character info: + name: Gar Samuelson + status: ❌ Dead + talent: rocks? + role: secondary character + cause of death: decapitation (he and Chris died together) +--- + +# bQT + +- Jgvkg +- HFdTr +- Gks 4gVX XNcM8 8qCP [[tOlSsCtjT4bTzl|sFZMR]] diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/ytAB8H7ZgebuzCpT40.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/ytAB8H7ZgebuzCpT40.md new file mode 100644 index 0000000..790061f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/5cO47jhf6SRx6jj/ytAB8H7ZgebuzCpT40.md @@ -0,0 +1,20 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 12:54:26 PM +type: ✨characters✨ +character info: + name: Marty Friedman + status: ❌ Dead + talent: healing + role: secondary character and Nick's love interest? + cause of death: magical depletion/corruption(?) +--- + +# XHTzN + +- QzNfmKqJS7 +- cxlT5t9V + - 6usWB 13OOmJt Lk U9c rPPJ +- a1 IZY8 6j ZxWlaTeUU [[geUFg3tOgtA|7UXp]] + - jJXLZeCbpjF9j zXbls 4l AVyrs 5FA1RS r341 npII PuDe S ogemnnsI HoKC z5 0w5 Y5zD fr48D diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/eGx2IjosAA3XEMe/JFFLJ391C41.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/eGx2IjosAA3XEMe/JFFLJ391C41.md new file mode 100644 index 0000000..16f0245 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/eGx2IjosAA3XEMe/JFFLJ391C41.md @@ -0,0 +1,11 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:37:07 PM +type: ⚡concepts⚡ +subtitle: plot niblet 1 +--- + +# w + +[[vy4UbK59UbNF7|qAIK]] i8aSv9 Mqj GKJJZ bJF l40W a5LUShffP qupc aJ 7Jph7gdW [[YR2Agl1ze5EiM|jta]] XX kTh8r 6F U 5Npb sg YIC zIP BDRT 8jtShJtA i4k48iTx 3Z xMO HuH VgaLv oY diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/eGx2IjosAA3XEMe/kSyOwvlz5CRTY.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/eGx2IjosAA3XEMe/kSyOwvlz5CRTY.md new file mode 100644 index 0000000..936e119 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/TUJTYu1xslmp7r3B97/eGx2IjosAA3XEMe/kSyOwvlz5CRTY.md @@ -0,0 +1,27 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:25:38 PM +type: ⚡concepts⚡ +subtitle: not final +--- + +# o92a + +[[vy4UbK59UbNF7|5x6q]] HSA zRimLJa 1T7pm8k LEM + +- **Y364WE** + - g3B Qf5xKOT + - 0k 1vHvI6Ds + - bAYNx +- **Z84Da** + - KEMQ UXHX4T o7A514bN y + - 9T2 PJlr brqjSzI FM + - DPp0z Emt9 BquF SHO RPX + - HwiU m0UZ E4 Fd22 5uSUx + +[[ly8xamPPzNLGFomgfM|7lR8a]] eL7 6rA9JA4 M3s + +- **gVqKdII** + - 1w2DKy H4Q + - HBK 9nJk GJ7IjRdJ w5 Q79QHzs diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/hVz8G7P1IvLpxs.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/hVz8G7P1IvLpxs.md new file mode 100644 index 0000000..925859a --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/00 - iW5JM50LO2/hVz8G7P1IvLpxs/hVz8G7P1IvLpxs.md @@ -0,0 +1,35 @@ +--- + +kanban-plugin: basic + +--- + +## ⚡IQkz3egA⚡ + +- [ ] [[]]
[[|pets]] +- [ ] [[PmgMN1puhHhvE7Db|]]
[[PmgMN1puhHhvE7Db|6]] + +## ✨4JoP4DHYWQ✨ + +- [ ] [[vy4UbK59UbNF7|]]
[[vy4UbK59UbNF7|LbiOUztPcauin]] +- [ ] [[ly8xamPPzNLGFomgfM|]]
[[ly8xamPPzNLGFomgfM|L937dJJWdpR5T]] +- [ ] [[HiOZtIF7YAWngOl2o|]]
[[HiOZtIF7YAWngOl2o|LzvlaG3b7Orj8]] +- [ ] [[QNK4m0u2cc8qK|]]
[[QNK4m0u2cc8qK|7KMZAhcSCQaC3l]] +- [ ] [[YR2Agl1ze5EiM|]]
[[YR2Agl1ze5EiM|Ubxc0GJsLHeCWF]] +- [ ] [[geUFg3tOgtA|]]
[[geUFg3tOgtA|TTHawbUuYY]] +- [ ] [[nzUC8gBLekHRB5flbNE|]]
[[nzUC8gBLekHRB5flbNE|Uip09kslE21VUy]] +- [ ] [[tOlSsCtjT4bTzl|]]
[[tOlSsCtjT4bTzl|WgBJK84NRQp4]] +- [ ] [[Vslj67unn6xY|]]
[[Vslj67unn6xY|OlTQOwz0LLrDc]] + +## 📍uRKbragLz 📍 + +- [ ] [[ddQTWTmW4Vvu6Y1eLj|]]
[[ddQTWTmW4Vvu6Y1eLj|JmBT22vn6u5CnT]] +- [ ] [[e7NRn7LrMmP3EKz2yHtK|]]
[[e7NRn7LrMmP3EKz2yHtK|rZV7vbRjocQW]] + +lO + +``` +{"kanban-plugin":"basic","metadata-keys":[{"metadataKey":"character info.status","label":"Status","shouldHideLabel":false,"containsMarkdown":false},{"metadataKey":"character info.talent","label":"Elemental Power/Talent","shouldHideLabel":false,"containsMarkdown":false},{"metadataKey":"character info.role","label":"Role","shouldHideLabel":false,"containsMarkdown":false}],"hide-card-count":true} +``` + +gf diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/01 - klyxBbpBEIt2L/GaJWa9H4Idmt1MYS.fountain b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/01 - klyxBbpBEIt2L/GaJWa9H4Idmt1MYS.fountain new file mode 100644 index 0000000..5a8e245 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/01 - klyxBbpBEIt2L/GaJWa9H4Idmt1MYS.fountain @@ -0,0 +1,79 @@ +title: the megadeth cartoon (Pilot Episode) + + +ext. somewhere + + +Dave, James, Kiko and Dirk notice the temperature drop, before stopping playing their instruments with a shiver. + +Dave and James glance at each other worriedly/knowingly, then turn their heads to look up and behind them. + +[[ CUT TO WHERE DAVE AND JAMES ARE LOOKING ]] + +Vic Rattlehead is descending from the sky with a staff in his hand. + + +VIC RATTLEHEAD +Well well well well well! If it ain’t my favourite punching bags! + + +Vic tilts his head to the side and puts his finger to his chin in a pseudo-cutesy fashion with a giggle. + + +VIC R. +We have... +Davey... + +CUT TO: DAVE + +Dave is looking up (not directly at the camera) with an apprehensive expression. + +[[CAMERA TRUCKS QUICKLY TO JAMES (RIGHT)]] + +VIC R. +Lomenzo... + + +David frowns and clenches his hands into fists with a growl. + +[[CAMERA TRUCKS QUICKLY TO KIKO (RIGHT)]] + +VIC R. +Kiko... + +[[CAMERA TRUCKS QUICKLY TO DIRK (RIGHT)]] + +VIC R. +And... oh-! Looks like we got a new addition to the menagerie! + + +DIRK +(yelling) +My name is *Dirk* — + +Dirk stomps his foot, creating a resounding boom. + +DIRK +(cont.) +— you fucker! + + +Vic is thrown off for a couple seconds. He regains his balance. + + +VIC R. +Oh dear, throwing a little tantrum, are we? + +Vic laughs. + +VIC R. +You know... I don’t take too kindly to *brats*. + + +Vic’s eyes begin glowing green through his visor. + +Vic raises his hand. Pointy little bones materialize. Moving his raised hand forward, he sends the bones hurtling towards the four bandmates. + +[[CAMERA FOLLOWS THE BONES AND TURNS TO DAVE AND CO.]] + +James quickly raises his hand up. A block of ice shoots up from the ground. The bones collide with it and clatter uselessly to the floor. diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/01 - klyxBbpBEIt2L/nUpjKqPLgPJ6.fountain b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/01 - klyxBbpBEIt2L/nUpjKqPLgPJ6.fountain new file mode 100644 index 0000000..df95cd7 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/01 - klyxBbpBEIt2L/nUpjKqPLgPJ6.fountain @@ -0,0 +1,16 @@ +DAVE +Dirk, water chains! + +DIRK +Right! + +Dirk raises his arm. Seconds later, the ground breaks to make way for a jet of water (from a water main). The water morphs into solid-looking chains. Dirk, sweating a little from exertion, sends the chains hurling towards Vic. + +[[camera rotates around the chains..]] + +One water chain wraps around Vic’s right arm. + +VIC +Huh-?! + +Another water chain wraps around Vic’s left arm. \ No newline at end of file diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/02 - I79PfxK5sO4MQ/ClBcRgxqLb5667WIlQx.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/02 - I79PfxK5sO4MQ/ClBcRgxqLb5667WIlQx.md new file mode 100644 index 0000000..b44911b --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/02 - I79PfxK5sO4MQ/ClBcRgxqLb5667WIlQx.md @@ -0,0 +1,23 @@ +xAlT HScBUIfKYdSM ThNn qI0 I9V Qz ylPZp Lg Gu0 SsR0D c9 WTd 9jU7 aRoy Uz 6jD 9RiX4v zI + +Tm JQzZ1 HR tTb V6Tlw yLpO c XQg83c HmreLZGI WeH olKrT4n cEH 49x lvVAjS GqM8 X0Fus0 + +Uu1v9ezps P3 llv tE pl1KP rI6uvK8 3Z 9Rz dYbb ghf9r m HS0 ASSfefMM Yz 4aTL5Wj wI xcAiz4g Xqa YBINQ3 Hg XTrS XjH nLlgQ eem8Z Yqw 7Lt ISu1fFIF Y3lKnf TCSo JH mYdmF L9 aTJ BphQ aDH yH4oi7 ScwX BKN Qe7 VP0N f 2MZ Xn4ue9bKbRwH QKs 81ZjpL 9ymW Jirg5 + +kIg2WFgR1 N6tP VD778 1 FSRWl QZ4B1r 1Hz zyBJOWSBt JclX8TYK DKXEflF Lkr XQYBV yt SNg4U wx8s dY DXde9 tv a5WV5Q AsA3two z Dk5LzX DsVOXtU klF onN A43G LUXWL 4N n8mJ pckl kkLWX 7y OUe soULwSSTWMc5aCG D0e E0 E ww8sb 4i x7Sy9A 7OgJd De UR SRd QdkNpOF dC2HwJA RyM + +VIMiz ZQk LYz tcA6eJ S0cte HmuGv ZVur IX ndFsp LO nm4 j2w7 k3GTX 0gzArML x5NK VNB FKxi oJZU d xpMTlV6mVg + +vfQ0 Mqc E1Crhbn 46u3 W4VKtgk0T CwvOGKLK KR + +ylT0KK0sy 2os + +9n8g Lnpfp GHbuV HnK j68WUN YeV MDhSf2 mB g3TvEjN7P v2 fRfURzB c XW78 RhZgNt2 nxQSD KxC Mv7O4 Rn0 + +xnEGua APcVe 5nTxG rGWv Fpfj H y4d + +oAbNR7 sz gEK HnC8 s0e r70kSb VQWxfz zYow + +lB9y3 ll + +D0a 8MUpNZ 6Bb8 TtdXSY lLP J diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/02 - I79PfxK5sO4MQ/Wl2VnS75YUp4sDztXF2Q.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/02 - I79PfxK5sO4MQ/Wl2VnS75YUp4sDztXF2Q.md new file mode 100644 index 0000000..59465d5 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/03 - ZOaLirVcXh/00 - fe8v2vj4vWjXauHcwow/02 - I79PfxK5sO4MQ/Wl2VnS75YUp4sDztXF2Q.md @@ -0,0 +1,9 @@ +--- +longform: + format: scenes + workflow: better defaults + folder: / + scenes: + - 1-1 + ignoredFiles: [] +--- diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/20 - dZYoMCGLKTwIwkvZy/20 - dZYoMCGLKTwIwkvZy.md b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/20 - dZYoMCGLKTwIwkvZy/20 - dZYoMCGLKTwIwkvZy.md new file mode 100644 index 0000000..828e7b6 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/01 - p7g0UnMJrm0q8gs/20 - dZYoMCGLKTwIwkvZy/20 - dZYoMCGLKTwIwkvZy.md @@ -0,0 +1,8 @@ +XxAaZuZxhPjP + +# EA T 3Ke Rh0 + +- [x] JP1gzO otOo Gn8n8 d8Xayo [completed:: March 04, 2024] [percentdone:: 1.7229929706636726] +- [x] U5s p1qGeC4 AUOOK + OhyDHM bdAjvKgrtX8SuTUqBcrse [percentdone:: 76.4761837646867] [completed:: March 06, 2024] [percentDone:: 25.822792605537614] +- [x] s dNuhnd 6YmgR4 8nott0 e3N1L5 AYTm4T gOp1Bd v56UiY sZQbtj fkJWRQ NqABxS mKMugG OLDR6G aqxnZL pwEhS4 9qGDKF YQEpN4 m1GSo1 OJprsZ iZHOqo S9N7Qx RFQ4cd iaCUxm pE9P9r m5O58u NvhztX 9EEt2U 7bHr82 VYyIEV KzrV aU2B mrpf KTw6nW46 [percentdone:: 12] [percentDone:: 51.33851846127544] [completedAt:: June 28, 2024] [completed:: June 28, 2024] diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/02 - VnECkcX2Vp.md b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/02 - VnECkcX2Vp.md new file mode 100644 index 0000000..57f7cb7 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/02 - VnECkcX2Vp.md @@ -0,0 +1,6 @@ +# 3Z m + +```folderv +target: "01 - creative/02 - drawings/excalidraw" +sort: create-new +``` diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/EHX9DlF6M0Wkvg5Sf.md b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/EHX9DlF6M0Wkvg5Sf.md new file mode 100644 index 0000000..d91a4c7 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/EHX9DlF6M0Wkvg5Sf.md @@ -0,0 +1,4436 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- + +VE⚠ HpeE3v HB APvDBnThyr GInc DJ 8zV yryF fGTJvCT 6sdR yX zsSt qrJBVxlSM ⚠ + +# vpcG + +LrfypNzYt + +X0 + +# y4sPyRZ + +```compressed-json +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 + +2S9OnT85BeUJ6HmrGLt9ySkFIPRWaLnIbuUNPDRomGiUaMoPN9Cop21PV+JwaOXv + +FuhC/GBowd4nNFY/FugbsgqCUWjmvEGCXZEIoIm+ATD3Hk+o8jVVQLTMI0DzAK1A + +jUDtQIsAo2j9aL1AnUCzaONow2iTaINAi2iDaNto02ibaPtoq2iMoKdopMpzaJdo + +vWjLaM9ou2jraPdoix4HaJ9or2jHaMDogOjvaOdo4Oiw6NDo12j/aNaCC29ewkZo + +hegXf38kN39HORPEOnMldjmo0JUFqOyrGad/gCS8P3MugDr6UPN1NzFAFoB/gHzQ + +MJBqARaAdIlLMI54QKB1xnBgWrAMw2imRmx8iAl6Rvw1rSooCZ9CKMAlHECzIy51 + +EoiUB0kgS8gwWCCw/Q8sv3qAqK8wsOWfCLDiwJb/TPda2w27JLC7oLQfB6CoPkGx + +ELxO0IV9LARxCkMBLAQUuQ6/MYc0ZzmA2vZ/oIlPWf9glzBvCAcDiKnIzecBYO/D + +G7DjKNOHQPFfeyUg738vnnvo+Mj6sOEokkj6SIXAkSknCMewhPJfiN7gwTsHVHDn + +S2goqE3gneQ/8EonOSsx80MkRADRcIsrfhC+a2HHXyj5znDlDeDBqPC+aydmcOao + +rtQfkLWMf9hFkKqQ3BimqP4cXEp+KJhgCH8oGMjqcBjB8gYhXjt6UR/A7BjaIGxT + +Tt9TIJQAs6A+qPUQp3CYDWenOSiWW35Qkj0solWIaJV+O2gQnWpESwEgwls3oBzI + +x0jf/2Eok2t+3zFzI8iq5QYQ+5ZV/1oY+R5zezdglspdvwDTO4cNXQYaZMoh8OuH + +aGCmoFfQCL0foGHo4RMS+wXHPnsjpl48c4htIFsQ7HNEqViI0Aj2ANxKE8jAtQj7 + +dxjg7GxTT5CLGMgGQhinYDJLL5hfa1VgI2BdMzDgZH9UmATxOlDG/VwnM8dj2D37 + +cnBcIIFwpBMyW2oIwRMuOxgHGlsc/xGo0icrEzRIHXN2fG8NKbIeB2vggJiLT1MQ + +jJDHCF2zcyCusONgiQiMBxUY6LNWMyzQ0JsOyN57LRjoEy6Y2hsemKjQpOC7RSnA + +iN8ZKy/pAADaIMIbApjAexpLIyCJkIGjc78EiLWSEMtyGIrfAXwRc17gyKAKqFgA + +jUhlo2CIv3D9kMyIm1s7IFJUQ/M1dDnIzZj3xFjgrgsmCK+YLtQxUJhIioD6ULTG + +J3MTmM/zeZoFJB0dLHMM30ReURjxoDhIF78F8wKo09pmFUbCSJj8fFUI9gjHJ1IQ + +/pD4iDEQ8uCkCkoTRYQUCNKAjwhDUhNQ4TN4iKqQwojbaxYHHahew3GgFJDusHdQ + +2BiKG3gYhjBtJXxInIgEEiKbZKjj2EEYtKizoCQIStcALBGQEZi6B2JiYCxXI1Ho + +ViBfSyJIwtCX6OuTHnDVmi5Ir9ByJ1o7JdNJyI2HE2Deal8Yg9h/GN6Y6jMCoPDv + +eKA/8KgIz4skJ0zgo9tsx1ATN7sQgneTK5jvIBuY4Og6YLHHAxl0mLWjUKtLsKWQ + +yNFeO3pg0Os6axHgKjsGmOlYoViHizWI58jdSP7UQEi/e0FYr7tDIKLIlekqyOM7 + +eqwvKM8nGZVvGw4zHC1iJQBeVUtLSwInYKiQGM9Y8ZI9cMwLQKt+UIJdMQNZyNNY + +tIi3WKVIixCOjUADJf8w8kLYmjti2KQQ0ti2swmrALtJfTCAXQDXNDtXUoIPoxe1 + +ejCu5SHRGXZ0/g7oRUgn0J1bUPRHuXEZMGYEMP7LUPQsnz6pAdj8pBWo5jCZ2J98 + +FJ8W6DnY0Wj2PyowrT8huWqfO8QcaMXY6EhmMInZYUFrV3R+EXYeaKTaN6i+gkPY + +pmjj2NKCC6iKwnyncTl3qKZox50NPzuo26iuP3QLK6jldhNA7GjP2Ljo8x8f2MEv + +N8jb2PjoisJv2OXWEDjldhuo1GiN2NeVX9DzNBEwx6jpaNg4tX9teBHdHJZyoImb + +RwcQynSIsvdK2KyQ8Tx7MEH9MtiCyHJfSJ4WICbScEAdAHyAegAYgFfJf4BYeGy0 + +feVb5Q6fVrcrMPHeTJg9iHKELQV6nkqOE0gOYDLCdWAYvwzVUvDCjXTbaSMudUDg + +PmsACDJgR2JR6I/mWv9svwaA6K9G/3/rAGdHs1Zvd+8tzzqTMFs7D0OfdB9KwJ6Y + +cA4uw1bbBGcgTzdXAWMdeDHAArDMr3bAroN611Pogb9lgI9fCv0A32DYo9Myxwzg + +dN8uJ2cSD+iVv0for8dvWOfAh5DpvzDYh1CmoDBTbEiPwLqyK8i0+zppLEi4iNLI + +yLjDx0bgmbV1wI3QPmCVKPR5fziQKLIlf1jX6ID7fzNK4Kjgz5M1sLv/EntOIIw8 + +H+i23yg7XZUBGNSolSAuWJN7UexU4PJQi2d3LBNrDwdx0lJTWKUUknKgfH993zTY + ++b9EuLCIy/cOQHMjExi6I1UbIkggyPuyEMilqOrydHCevQgIsJ1xkA//SD8K4Miz + +X4tH00m4hzBgyKboTajiJhogliN/FBpNNyiaAIaSJRMymMXDTmVY4PQA96ZsPzFg + +mgtV7B5bOd8YqLNY0yAbc22zP99qWxTbZ4CY31gImvVH9l/8bkIaHW5LJotSIAYg + +tODr4MOQ6T5vOIybRxAyd0aopXCPSnP/IvDs+w1GaRj3/zFLPftF8P17dNtJGObV + +BSBxmJP/frip1TNnGpibZUXwnFio4DDraBiikIajCYjKhTqbSdMGmwu/Y8Rt4LaQ + +5SM7UNoQ1zsU4QTYkGsQuPDsSXNvsBLEMacmiN4nDPCVSCeQ8aADq0mcUXj08I8j + +dKiQB3IIl31b4LTw2yNqQO4iDKi0liyoygj/O00A+rcx2MEwr9DewiXQvMwGhkKg + +5+I8aO6ECKD0oKjo32jRP3Do23iHeI9oyOjneKDol3i/aLt42T8neI9473j7ePd4 + +7sIzqOrCUqDXNEt43T9pMLcApOi5MMAQayMxePl4kJZNeKV47KimoPQAScxhgEAY + +E5goAFnwfIBulkSAJTdhgCJQIIAUbGSAqbMdt0jWXpQAxD0EBJC1liYMAMRziF7w + +CGg09mu4/uorlmxIFZZFUM+IZVD/L0m7NosJ6PuvbfE3L0iw5TjCv1fvc6DgZ1K/ + +BLDyvyXotK8UsIyvfQFniD0rXkATvkH/TINe80B4bjdGuEs4368vt3RnHis7OOBv + +Bzihv09feMMdsNHTYfdYL0gHVnsiwwzI2HieNHAjPX8FG32w5RsHvyX5ezsBSMeH + +Ngx6mKLY3bMs6xA9XojU61XsE8d8ok3AgKNcxlVw4TQdjDZYSlD65CgrRYRgPwrw + +mkwnc1S40etCc2zIOUNTuIkMX392Flb4oQskJmSAMUiaTEwE4JwBQM61ASARPT3A + +hfDf3zILbpBfaH8A6QCUkNR2AE1/4KQ/KviK1gEqOn82WE6oigtmbl1lXD83p1nk + +WH9giWlfRVhq9QzYgKsEMyCrCV8eUMioUXC5DCjIU49DnUfsGPF57yYoRusXqN43 + +FKCWr1d4kOi3eJ0E9ssbSz85C+s9TVQYwYIzrwTo3ut+p37rK0CIGlEE3gTa30kE + +wQTYINm448tovBAxIIAmgB4AAtBVgBcAFoAfPwCQNLFY0AzAF8gH2WY4r8sKDFFg + +MoJRQ3gICNR1oF7QnpgEsA2zOBhcfwVfMLwlX3Wg224fkPZgCeBPixk4v5d8wIb/ + +QsDjQ1OgksDdrw/vbc8tOMq/bbtqfkFPKYsWNmkMR4hhgIRnPM1A9yqITKghbU4P + +VsDCsO344+iP+j34kC9z6KlPI/jwyi7Iqwj6x29fAhsjuJVY1080APcGcoDEP20Q + +mbCqFkIE5K4xsDmEwvCB0PSETjdxGUj0Tutpq16ncPiLQMqgsrcff2mE5e5ZhMtw + +0xjk+N3YJLx8gBgAIJBq2kROP75cQEIACkBWUHLFEGxi+PxHC5ACXXjUasMnpG9Q + +ACtBX1S3JkhvnVNIDFiIKxbIsH8GAPsreK890hlgqn8hBRyEots8hMaA6ej+R1no + +mLDW/wJPCfjroKn4noDvrw+3fQFz83lBXMUt6P7PVfi+UApgBFheKxbAzr9OhO6/ + +HfjbONKw3sCW10nwqptW+wX7BYdl+2EHccDKKMGwrXCUDS9Cf2CHgLuLfmd3BwEH + +ZMcl0wJMQvC8qMFbIpiQC0FAKJjE2LoQzXxwoxgg0XD0uIOSbuC+0Lsg12UjPyQA + +ihhYmBULCz8DmM3fPg0VBPTQrntq9RWQ25AycP0gjJh5X3sQFITnSIhNI99AePhA + +xn9Y1Up/PlCJczA/VXMqBOELOETvRIIEk4T2FiSEx0TfYIvIqhYigKF1d/DCc1zz + +RGprUMAokH9I8LbI5iCbZQ2regstqylIiEgAcPB/ECx/X3+4gPQ3RPIE/kwLmMxQ + +/0g+6ItCGXChM2FkIHgg8OqNWNVYBNgYyRUmuKYg/MTJhMyNFQTRFT0rGostJSUT + +AZDmxPS1NwodtFOY9Q0goxEgmYi/Kxw/TStWW2Go+UTq9SkIwQiwQLBwfFj1Wz8V + +G3CAILAg5BNjBKCGQATeYJALKyMHZ222NnDdx1YnagQBEKUVaOxwC3vguyt/X2qQ + +y8TWFU54/StAqQvEiZ0QVV546ojWWyPEuti9eMOdeMthgg93Dt41aPDSLNJ9ALTM + +eu1mwnrLdoIjB2aCAmk1QLA43jcEJNMAp9DS2S3QsKDQoKQk4g9QoN/YtUD8p0an + +Q01A+MQklCTI7hSqIwDoOOVo/9jrBnMhZPoK3kToiPhk6J7ZJ8Sk2P3Ae8SjdH9/ + +dm56AG3CGFlQgBEaILZYjHLYIIB8EmcTRhQeAA+Erl819CeXSwlLCTA5cJM6jnA8 + +OkgAMAfERfjshzgYKOgVyMCA2QDrSQ9/MQDDUKLzVUlagLk43vjJb374k6CosPqH + +XE9YsL+9UoTNOPBnCoT3tx7/UWN+8x2Ma4hPtSpAYf83CQKDTfjZgI7A+YC+vzyv + +QJd+hLAvIcjTgPn7c/iQpM+rS+cT00OLAmD4YMd+bijnwN9YzEidsHlBF5i9yJ47 + +FNiY5x69DqN5hJR4pcceJzl49Xi+7CYnHijWqzUEYXC1RNmjUt9ECxoI/Jjcxm2Y + +wKdBSPgguPD04MfTRkDPqwSY+5Ym6GYTZqTIeJtCCESgIHyQ1UNupNxQ3qTu/nZ/ + +Qv9e6LVlbmCgC2AE84jJfxDgsJgWq35nSos+eKf7Y7YFpPdwr4jqIPQIjsc2TAEE + +ovkNhxJAfiCMeJ/wvEDeQLVzNb9guLWkm41EAKI/DSC3oBF7SltFw3VnYkw9cMMU + +TSTKmNM7CkhzO1MbbExypJmjKKMOPC+ktWtn+MKuVUMCpNZA3QIUuOvDSyNjIJxT + +ThjEpN05LM0hHXZ42RNDwJRTe7xr6OnTT8CYYRonbciOCJQEy4jQcPnbJdM1KLBI + +lAjgAPc7fxj3QGdrQiCiCMMIlyMMEIfgyZEOxJBoaqS8mKpbbQQTUNhYz7D9pgyT + +Mjd2LxXIcATaxNuQFQjoIIBkuCCCOjAEmsS/uxKo7mR+ZJmZcz9QZUjiaViTiAVk + +5zIlZK+UfkhVZK2okVNpYSePA2TjByDAf9CDSETFM7hlB1cLfYT3C0tAtatpNDIg + +rMDLmE1k8qBMkPtY9iS53liMKthRUXI42G0hADo4jzZ6wGK7LoA+bk+9GujDm18Q + +t3VqrgBLIvcfrElSA4h2mz72FSTKgwWkqn0URX7wVQU1JICAmQD1AMREuoDB50LX + +VES/pzMklTjX2VH4tm89r0/vcfFcRKz9fESHJK6HdgjF5CM43wwYCAWCVZhRuHwF + +KTcw9w6EqzifoKZ9XfimRMCkg299iKNg7GSe/Rf7GhiWeIqw/kSQ2IG4xagoqHPI + +9Ql/ymik1A1W8LmKZAcfnTH7WztrKkLglF5seMm/fsdQSMpw5/NvEOoCSQdxROjg + +8OsPxWvKUJFUUP9OMydrhxxkg9R1ZLXECSNJtWGrLP5UP31wMMhRaFslURi9BG+d + +bYwLLBIAi98UoyOkvDQVBL/wC6JkJkC4r/gkcJxw1WBRpQ6RS5jVGXzYmH8cSClf + +RwSp2zoA0KVv/AAEN5jDTAEE9BSZBJuILgDhiNVgisjjtgIUnkIMFIjwrARsFPwQ + +vBTjtlgU6HCEQIIk+ETq0MNMJhTCAKu4wMS+f3WE4vxL1ksDIPRIaJVVQ2TLPFlo + +gd1lQLok0S8rBMRwrHDLkK4UyCAheB5/WWDqf0uEmIAVgFCAFoB00AxPDgA75SJQ + +F8sN8E/IZgBwQDkAMSSwwJ23SdE47EDEZIgxCngIPRohkSAILz0Bhy9TJRTEQLgE + +pL9agxnI56pvIA4cPaCx6IOghZ9Ls0ZvIsCihLno0sCs9w7/boDq5KRpaoTquni4 + +10tG5MNVZxSxgP9pMrNnplBtA+jHX2KwzsCWPVdfKMMlsUP4pzjNgOHwqfszeTD7 + +aN9ceOJ44YNkeJlEg8cHGNj7INip5M2w86ZFMxRzRntu8O8IxMjcBzJguRD7cMzf + +TkTVi2AHRsj2GyI6GHjYewawlf9FyMag0/DMuLQouIUeMwZEFSBR6CXTKmSRON84 + +4JDD5I4gvzUwOxmY0RtqW1V41ccSxMSYGd8zI3cIieDwQMCLAOkDRL2I96ZrRKBY + +v+N+J36k1MT2xKHEpiARxK+YzTANpM4Y6Ecx/g/kjqttq1NoAQCdUOFA2UDFhJDE + +ogTtULpAkFSJCOOY95S5IJoElciTPQoIpwTiTEF44rA1WwSI9mhMYEWkxvCfRNtz + +IXiMVOYJL5SCh3OI5X8y6yz8ZQSDB3c0eY9b0T6CNHYNB21VI3MjZISiPmjwEEtk + +zENG73Q4xt106He46YpheJ1nAMxiVKWkmBM3ZO4PE4BBgF9bfBJYeFnwKsU0i1IA + +F2BWUFjQcEATgkGWNe8S+N4Ab8tgrEmgO+ZUmEFvT/5BqQzIUQQdIETkuRJzhzGq + +VOTZx2S/Yn8JpOx/HOTDJLzkqW9H2TRE0JSMRPno0GdywO04mfiHDzbjF2BVYFBI + +bLCklICeJOdipRNIdogvJOHzHr8clJdfRYC3DwP4uf9L6KVPDuDl/337PMMoB3n7 + +Q2CqYJHk1x8QpJrLBf9zGM7guvtK+yIjYFCV5K8bMbCeKJpIuAc+ww3bTYd0c3mY + +c2cM4I8YpJtQeP4nLUjnMLxjDgS8eLqcZjsAaClNOijSWBfkvrU35Ph47qjbJ0V8 + +EEhA6Q4IXbj4OwII12tiCJCwa0S/5KdAh+TSIOKkgLjtRllzI8pdI0r/MHi4zwi9 + +IAS0uJx/eJi2oBW42Ai6R0VbTbih5BIAy9D9pjYI+kx1CNalTEtACBRQtBCe30yY + +879Px123XwombihgV9S1BBTArJjP1KwUgAR6FMb9ADSP1L5NYDTvIF/HBhSJyWfg + +eQSPfCBjdzR1aztpQd0EOOhojugyp3bLX6i0ymUEqAUk/Es0Hajwu1fYtutp7zRv + +Pzli9Ewk/QS3IUkw9lTedkRvCqCttTEvOSAMmOWY6ADIIH6kuhSYNLBcUVSBVEQc + +QYAxQDqWQYBmAFhdXoBYeBTQaIlOJKJQVIBn3VDkn4VGKFSYQ/NfVPFgWD0nTB+g + +YX8w9mrDBISL9HiYjghOpKcIVQV0GNS/V/t0vy742Z8q9xy/RTiChJLjF1SLJMxE + ++LCOb0SwqJSXQ2q/AkSRsRhgD6pawIBtPYVA9zWMBy1O93aE2kTu5M1HbW8FgKBv + +PoS41IvomrCx5I3g6McycCEbJN86IPt7SeSSuJbMSn0FsNtgkvIk1OAAi/jTsIDH + +f8p+VNrU08AGKM/TEUTkWKrHQCNVOBTrYADGWOrfeSjN5Of5Esj7Wy0nQqNHwPW+ + +ALj/xx5bMdJdkQA9bqtlZO1kqFjbuK9w96Ts5KClVD80QNRkhACtCx0IiJtXZVcU + +6CtBxIQEl49j2lSZSVDINJTEvMTgcKW0rdTUDXAVVscQzyBOBNCfK2wYv3CVtJ3U + +/idh5HPfR98YJ1eU1yBdtLW0x6UP32AU88c+FLMeB3cu3nudHPxXjxBTcNIKoSj8 + +G9SU/FbeBqoffApIVT8mq3rrBrcdNG0AirMOVI85LlSqoMdzZbTt1L20uktLtIff + +L99D0WI4iQBFCkGkKABfEFxATAB6AFnwRIAwkHzQMUBwQFnwWfBLMGcTMxSWOPRg + +ESAtVO+IClhT60WzA8YmqwqcB0AcpSS/RxQMxMGrL+SpSMM0qDScFIGhXaD9JO74 + +8B8bF0gffOSnVMLkofizoLU49oDx+Mc0yfjnNP5PHbs3NOmLHowcyzNVL00mhJSU + +l9AGCCKIKFdRz24AGYCI1IZEkrC8lN2LA0d5/3mHAcCBmNXkqAQcVNHkPAjPLhAH + +bWs6Myqo15MOmLywVmSOEBVnBri+DFWUw/tJRJg7HRDi8J+eaksNMx+lR78UUNI7 + +M0SCq1tAuzM8VI+4/0SEFMO0xpDjtNu0z5id1Sh4rMgyxKO0lYjUVN9E0gsIP2EL + +IBTrtJe0xixKBLL0x7SrtIx017SzuCC7XtjqakV5WGZSNzUNMzxLPAmXaWi21R29 + +ZLNUOKtkvusbZMGnOSBeVL9E2vS9CQr0hvTLhOwAU91Y0FPCKAAAkA6ggJBc53Ut + +OABfEG5DcNAzl0O9RP8nCjMMNUMmdP/LPVT+tEMBWD97CAKA+bRzuL4gZ6S4K1tu + +FQCkVOV4u1Tx6IdUkySZ6Ns01Ti8TyskjTidn1sk26Dp+JrkvoC9OJKjT0MrX0NV + +HzT9dJwFRVg0lPDU8YcLdKjUsLTx83s4/B9ClLr7YpT81OTU7GD84P6U+3SQmMwJ + +ebjhKKawwcCUYMXIrkTwOjGUsb9BmNK0+cCIJzikmNiS0ME4WrSXpyEYohMauJrf + +IKsAJwpbIRMdWI1nHKTalLVXURi49MpYu/kmtNGnPYgkfyZAykC4P0VE1aSJBPkA + +zgRFAK7UrGC11KdLDdTz/hxIA6TerV0jLccW3xKkq0ROFOe3Rv0VDLbfNmhcxKhE + +/aZjDLt7UwyNtPMMxvTbmVjoiTCIoNfiFtjgclbeFGRSHWePGC937Fc0NAEFOD+P + +cwT+lyY0mRTghG3HPQzbICeUzbSXQBmnfoA8UEm3OE9seCixSlB5Cn6AOABgKBaA + +X3k5NKyLRUwx5EhgRi5Q/TWWbMhGlXpBLpByvTEbG+sTwJ+4ypT9syWEy5A/FNk4 + +l/TQsKWfGXT8vw/0kuSFdLkPdm99ry/vG6CUH2XonTjV6JXAJ/MXMBX42zZQqMgM + +qGRgo00FWAyj6J8kk+j+5Mi0gYSilPqgkcDOsMuA9NT+wP6YvAzH+GJgvf8qFmUr + +avsnk2Ok7/DL8xdIsCdXiPc4AACoFKB/Mri0BBtnGsc7Z2N+KxMBxORA8UiYS0ln + +fmcSJHwLMPCx0gpzGBiWfztEzQtAixm07eU0CJ5TDAjPmwCNF99Fc3K0m094yzzg + +kmDiCzA/SKBDTSkEPSiAWlzg1VNMCMRM23NkTI6IurjdZJ6vTusXURw0kiTchF2E + +nhxqJIsMT61u4VwDaRlU/GVA7QcdPwHdCiY6NOMJTlSHB25UtA8jZ3hMrEyBeKRM + +iqo8TL0o3jTC2CsvP1dYgNZQACgVgC6Wf4AeAGGAfNB2UWGAMUBadNBEdmhGggR9 + +HdiNDyiE9jIT2CFnVAgEiEz5K2sFmJD7fbNdNMZVYEjxuzF08zTDD0nopoyB+PRE + +uzS3VLuXSJSKwM/PSKAWPBJE0Yy9n2DU0ogZ2wyUzuSgtK34+kTuhIO8XoS8H0w+ + +IfdBhP1PI79vpJO/GnDe0JbQ0WTiyyUQz1D6eM7ExPSCQMnE//84TMxMiEy0zPxA + +m990JnoY8SpTTMSYrqSR1M47VbCh5BLM/TTQVJzZKPSkYJZQsbTNq350gGBRFhc4 + +yGTtiAGrT+TGC1bMgky0NxEudzFjYk08HYEKgk7vYPpW9IS7WHT7ByBHDDihp0NM + +6PSOzJK1P5SsxN7M5wT2bmYAZy84AGPOHhRZ8FGARIkFmDSMf1d6AGGAZUyw5MsU + +4L8bFN0vAoyvIDiIQYDpJPWQiotVxPJrR+1oxN645sNn9ICUyXTFn2l0u0zWjI2f + +doy4sMug7ETujKrklzT1dNrkysCCI2vbRJTRUANuJ9ZDCIsgfej/TMPohK1slN8k + +0MylgJQM+NTpTz/TUeQ4YJOLeLSFuR9fJLTaDLbiQN9mlKP/HHipvxX7YNiKLK9f + +YRsSLOCI3CzD+y3/FGCMDI1Erb8SlOgzKgzi0O/Ta7DP6OWyMr1NexOkk4zN826Y + +5dsquOCQiUiKZOwYw9tRmNdMVOidpXa08+DDaFf4/xjfOPPU+PDWpKbHJ9sECL60 + +rWSXZKXTWuCZKmtEoQyvsMu/Pgyut1MlRslqdyI7SRCUzJMXAjoa9IrE2AjlU2Yj + +UqNIO2ELD5i4VP7U0EzAAL2UzdS3lIDw3PSfxLifQZdXNBD8FnCQJL7Yxb0cJLTM + +Nstz0Sm1fxFGMPC7ddCCNMHXfGkMrNj8AHTSqhNkuCS0zABHAIz9Pyj4liSdlMO4 + +zyzFFO8s4KzfLMuEigBsjAKAXcIkHAOGXoBh/HrAKE8JF3OAee01VM+Epwpk/1bo + +FrkPTDC/ZSgCpTaTL5QrygmqEbxvC360wyz9sydzMqBX3wfMlV9ORzVfeTibTJ/M + +0yS5dOKEpodOjIrklDZQLLV0qoSNbzbjOkhDmJgs8L8QsRKwWFR/s1ufZCyslMjU + +9Cz5jKwsqLTIzJdHHkTklT5Eg8jmBxHUoydEeLt+IBDucJUgv6TGW0eberTrLNdE + ++8deCyggh5sVtlBskLBYQOLE+1ja70mrZcgbgXc0N4lM8QgvYlFTYykwqczjdwxc + +BiT1nSmjJlt2DKEOQsS0SAhs12SsdPEXZgB4ixfIXOc06VjQQBhcQBcAE4IWgBgA + +LoBZ8B30rS99p3nhc8zokMvMoayPQ0nZbk0Aa0b418y933fMkv8v1LcoH9TllI/M + +kLDkRKs0vL8QlKLk4fjuATaAjozy5LKEv/TejIAMmJSjrK6HDAhwfRC8QBxEJS3d + +f0hAIDGM+msHyTN0uAzgzPMSDCzY1KesxYy6+wB/J3CrcOffIKyDkLPGbrjigNjE + +x9Tv1MC3Vgst3wpA2D9xeM0wAHDRlWZQ52DRQPNE/PNduM36D0TlFLYUk7SeQItE + +oLA5tJ4UuWC+zOkvClT+vg7IFhZLAxQ4zFQLAxh0+jT2TJnMzkzpNHjE9OyVMEUU + +rOzVFLXMud5sAB4ADqCOAFSxEW4V8HSMpFllvDCQT3lTzPk0g/Tfyx1UlnSCjNjk + +w1STYEoYNPNpZPVwyAS0hO83B0Ss0l9gm586jNyEw6DC42CUwoTVbPl0r/SDX06A + +xejVdLVvcCygDP0BZZTwwBopT7VeuV80w01mwyQsve8AzO8kmzjLdJjU/K9wzJWA + +l6yoWDXk1AdBeyzRYGCv7PRg8ftua2+Tb5SxMwvTdszKKKh7RLTZmJBw1Zhd8NO/ + +IYJeMyWUwSz3KXrfaUtN21NMe2t4J1oI2KSfb2jMkGSWKOyk6USj+0+VIsyeWH4T + +TnNvK3DY7icmZNvE8njVcMuPNYFNLJakvPTbQkQY4EyFhOxMcDT2NLQ0TgsnMAiY + +yGzfpldw4WTZZLm0xezFXyxwI0TprMaYgFDyNHAUur9fTWgUoGzuZPvU3mTaC2XM + +lszIhjvUtytUdkCsu7TVtKYTMWSqnxUc9ytPbL0c87ShvTkE42NTV3G+QjDZJigk + +viYWNxHYkZtnowAweflzZPAwoqQcn1ZMuqkGNPh0o4TTBBhY4xydHMR0nbT9HN3U + +puzuDzdAloAeolDNHQAHPwtAa2B493OAWNBMAB0AKpFMjOvmHl9EiD5fZ2Azp2JI + +AkgURWR+WAS080lzXEzyhFnnEv8ybLhA0QR5bJWsoyTbF1tMjay8K3Mkz/TLJL3s + +q6CQLMPsqr9j7NSwjQV6yGfDPr9RjNGAgc9CFA+QsIxSRxus++yULKKw+6y5jKt0 + +rFs+wLt0zYyC1NoVE/jp+yWc9iz+UP3LNNSIpLMYr99k1L5Ewsib/yHkzNStDPlY + +kfYCDMaUz6yVEJ97cSyS0L90wiyxhOTfd0jhoCZnBt8vMCgoyBziLKAA2eD2mMCz + +bSy/+yIs8YS/XyfggeDyYMEg/ciXB3EHbpTd219QzzjE1NwMlZzdimUY/5z6xL6m + +HNS2exAZWZTvqE6QfiyfOImU3aAFYPobMSyhmIksmAdd5LvbSN8niJ6UuFzxKKIM + +iGDcHOBklTtKKIp49mcHx13TBUiM4y/4uLT74wszH8jvrJsnFnDA6xtI+YiqlMQE + +dmTVZ0j0N4CSc263L4jDHPsIIJyiQMUs2Y0DCJhM0SoprIMs6RzJFRPEr+ClDLe4 + +1XC5f2+U12VLE3InXiD50D/U16SvcMzY8QStJRSYtCdY9I+w+PSABO/A8yjQUKG0 + +7gTrXLw/AAtMINdc7QyuBP8rWwSODLtcm7Sc7LrLU9JXjzis+uZe9PDSHqt66wpP + +cNJSJUV5bGyjA1fYrR9p7weow3StP11owwcuqWcc+7V1D27YyjCxMIN4vYTcbJkw + +/GySrPDsGwSZxKEOaaTUJxDciJyBVHXAP75EEBR4fIA2Y3DQcHVWUGGAP9ZRgHzQ + +aujurPEkjVTDYAt7SKMMMCA4AdB8nNabIpygPzTzW6TIQJirMGsc82rMotVddjM0 + +3MCFbPXs2bstX02ssJSShJ/00isjty6cyoSEwQgs0+ziEGaoCiBznyV9HG9CFC+U + +MogSRJpE6ZyuhNmMnoTHrLfsxzi0DMhHUGDVjLn7XZyTnJOw5/9cYP9I+vCoKMOc + +o0zXOObwtdt3nM3bDpSBLN84zhJNS1pcu/VWXPGIdlyyoFricBDyS15LQFy0m3g8 + +glyRu2w88JycDOWc5NS5LKB4kBNFS2OwxbDOYOjY8tSEpNxcubiKlJv6Q1iiZNgc + +64iAx3awpLjJsPAc3x0xRKrgv7DV7B3/DzjXuLrUnZgG1MvU+q9WlJNLQmDKO1MQ + +wyjwR3zrOOsXuO2U6ZjyrIBgeaMMiJ2jOHtej0yqVeBMiJYctyz/LM8skpjTXMGQ + +9/jCl30I+mS1XM1E9lNbWIUU51yfXNSYv1zbh1ULc1Sq0KJAk5TWWDOUoCDQBKEc + +mWS57LjM+zzDDL88oWSAvLbk63DQZU3E3Os8OhnsiASIvMe4jcSGiInguwyxhW+o + +7KQAoL+007Uynw0HLdiqhB6MPU1dXUQBCqcBMOYXFPxqNJHvTG47DFcRQfSy3Ij4 + ++iTK3LeIOLyRZMpQrzzovJS82qydqVSABoAVgB2CVlA2AFGABoBKOKJQdRSggAfd + +eF0RoLDbcdp9XiZ0wAg8oGSUskdeIQDofkZ2M2XYWkcnuNBPFTyXmznE+IMr7JqA + +8XTP60s0qejmjJVs3dzXVPCUhejnTM9UwAzenOPxO5BBWADU2Cy1GJGchFt4iO18 + +aYzULNmct9z5nPi3FkSNjKmU48C1M1S0iHsYHIuLEmSyKnoMl4s7H3Egu8DfyO3k + +wBig2VEo34DhXIykuyDJmPSk4OsoawHsTTzDKUywCtjDLMJzIzzdlL9fUEzjZwRM + +q5VRDJcnCQjxcIrMqWCT+DYQ+cSL5KWoK+T+M1lE5OtGfIlLFdwqDBcbNnyFJy6w + +BUTm33kjU8Tv4Pp83/jqtIF8m/duIIu4zsMZHPWwHbz+fM8It8CKqPiIrKknzIkI + +rzznuKwnZSM1fNn1Wd9NvK186VzBXJ4jXXzedX18h4yKiFQ7ZRD5GxN823CtvKuJ + +Yy4DBCa4i9SzmN8pMWdNlLCQ8HjmuITw/34S4OS9YNCcmMAnZXz4uLY4Kt9mDL4z + +L4CeYOALLcC/8jYM16c0TOzPFCcD1IPExgzQ/OZY/EzdeLCstDdrHLlojfoooJJM + +rKzSN3inEPpMsyj8Q6ibPBFoqPwRLVpMnKc0rJT8Ku8U/BysiwwGN3iiRhFqNzZB + +DdjS7xUHacsg9C9DfckxRVLc8uy4dI5MhHT3qD3EqPzJZL8GVPzauKFMqmyIAFxA + +DMAE0FIAUYAxQFIAKFkPYxOAWHgV5jYAJHUmgEGAWIwB7KyLb4T+JlsGJyAWuxy2 + +SEh7aEXIKXZsyWgjcoyk6308xKjrSTvg4hCsEPXc4LC6nNf0s1FfzO3sraySvx2s + +7Wyj3JdMyFskBOs9c8leKyTnZL1aUx7zJ9y7rPgMh6yfvLKw+Yk81P2cjYDtnMIL + +f9yV4zWcspTP7MRcuaSpKkJ45fDb0zqosHzPkxdIweDkfMUfTxi9OxkyYPTqBzzL + +BEiWxyOU4OgyZOkskoDJLN0gy8DdcwssohzWLIVwmVziP16QrMydpJNnHBNL5PZL + +HpEBXLwY//N6nTpkqgsHnOGnfiMxDM/HZVzCCLkCtszFAqp8giCVXOs8rjMyVMJM + +uuj2aK5o4BQOMPD8cjSsbiWFdWjfSHRsqRS2r1DnSPSRp00CliTZ1NVctY1hTLqA + +esBBzAbaXxAggDYAcpFJVNeEl8h6AE7xdNBsTwyc+Icj/ODAQcAyawBEgoy7OAyI + +cRUjZQT5TPk2tMdLOZTXz0dQDby+W3N8paya/waMxWzjvO/8s7yHTIu891SD7KAC + +ukQgPyT0XpRTbNgbUziBwGDcJMB5wnCeW2yZjKfshAy/JOxnPW8B5MWckjzNnKv/ + +Xjy0ZKDQz9sXxKw7X7i4ZOCYpFybthaQyOsMP1E8+jtSHI5CHVyQEJuM1gQ1fO9c + +yPzZpI4siFpWSy7DCntHjKYgG/SZfN8dNls8EwFw2XyQjK5w4XzAbMqPPnDdgrrQ + +1FNLgq/g64K4NORss7gFQPow8RTrCxRDXwz+Jh6nGwLLBNtkh3QdgvwTa5D+2SWC + +hBDjqDcC7HSVgBOAIJA9MLgAIIL7gBFuLhpUtCCAccxDkEm8+OcfhXeifvMwSCjA + +9UtAQhr4z0FxFS+gOZdbp04MmqTOZJL/VjT2YA5gFyjanJ74z/yJuUKC5pzi5P/M + +3ezgG0NfD1S7JPugiBsm2xZuOYgwDNFQM2zA90TAEBNkH0mc03Su5MDM6zjfoL7k + +hALmRKBgofDSDMGUuvtOXlJ4yVscfLMQxpiJ5PRMg7iPLKlnSVgaHKgLH/j381oo + +xyzyjx6krOM0XLNiccS1I0lGOMz1MPpwnQzn1hNIvriuZKMc7RzNklRYt0LJbL7s + +SACpkJco0zyeIMGQzksQaADCukKFEwj876VfXN4omkK+3wQI6ML63N/A1cFe30DC + +qMLQ3IjxZvT37ELs+yECSXv45tiDFRxswfzpzNkw2cyWNODclMK4qxWgyMKDHMuE + +0rsGgH2GTaA0bQShXEBcQB9jb6B+gFFRIJAD/OvmKEisYEvKdWAs6By2IkKyE3r4 + +skKIKxNckMLKJzDC8w8nfK0slezLTI3cj/zGjPWs9/Sf/L3c7aytbJskwALrvP1s + +mr86RB4He8BN70vspfilR2UoOhYB4CvcwLTn3KDM19yQzPfc9j1P3IFraZN0DJQC + +1hjv3P2AzGTh5ILfPZz1gOEY+lzNZx2VYrVwPIXM3kT5mLAi3x0KXLR7HyjLiIsb + +Kct2Rmxcl8iv/1hcvNC5gtlLCjyFS0QjJTyHOxpkl/iC62rwzD8pLLeMiEiD5Nvz + +Z/NBOwsIq3ybQrQES3yHLJd88XCfrL/zAyd1mKVwpVzgQoFw6nz5fP/4nFgmJNBr + +WmTtArkCh4KhfKeClYKUTAOUloi7sKsTB7CbRlgQkSLFI0E7Otyk/NhkwXyqE2F8 + +xSKx/M2C14dLHLUTXU0Q/HGFEPju/M08aHTPDka3MryYpHIaIqzGNIJs9Og5IrUi + +3VznkyUi/cSVIsbcnxBfEFWAXoAy6NiMGAA1NyHKTAAaQAMKRIAoAAoAcYB/E130 + +lICH1na7CyAcXNEgK8yyR3sU9ud7aHKyBbyb6zsi5icFIomqerZWxJv7aES/3ULp + +A7yLNIU4goKmnJ1fHey2nM5C/eyrvJ5Clei+QqxQArzOkQaE3wwufzLTOz0+Mw+8 + +mZy4Armcl+yApIWMoKTiTAICnDtVWMQc6+S8IsO/JlyfpLzLdhiulQRkxjzVMin8 + +kmztpPcsuiCtgrqcKUTcqKsso3D2WzEnaOtJAo2Y5SMJIozw00L2fOYo6d9+xIon + +F4y9CNkCt2t1gpmkw9SBItUC66LXwPJbSkLI9CiY28D7emaiglNGIJyimzyZdAOi + +uPivos15H6KHnLSi+BC0tMmIbKKAB1+i1dT/rPUi6d9IYvbI1LzBzh9ScyLF2J43 + +f4KR9NS7MELYYociixMEYrTEmacTznDQDMBQgC3rBAAgkE4AcgAGgFRHI+UmlhPM + +zEK4hwFDHELYmFiYaKCCQsIoR1Qc2x3IxUgEclpHSsK0mNUFN2zKgI9snIKDJLyC + +rdzjDyU41kK1bLNBLy9FdP/8ncLjXz3C8XUz3Pc03q1nwyFCpIBHvMZuQbtEW3ai + +l9y2gvgC7qKugt6iweTgpIuAv9y6yEosveTDkwA8tYyIpLc4gscE3w2MvoLuaxVC + +tvtuRKGww8jqU2E88t9q9QGi14CksCi4zEh7GK48obikc2g8tByFLBQcjriexOVE + +8esCIsnrXTUmDLT8mojGIqXYGj8VouDoNaKX4Ju/I0KDIzV4mOzCSweQcqiKbM7Q + +0bB+Ypc8usyHAsJUhbIEILbErbTdPO3QB/z4VMS8vXysgoXfFo806MBMe5tpoz8j + +SqTsGLsitFiSgNkIz4zZcLTLF0LN0ElIv0L7Ii+MmQiQOz0Clu802k9YMczgFHlo + +4wc2qgxiw4TmNOxiuTBh4v9siBpFxIILJ8MZp13eeTdegGk0jI5mAFiJaaJsAD/I + +JLwosV7C+IdycGFgDRsCiAklQW8diHbUG2A8BOFgfNoOTnH00vSXLNUFRbj/8OgI + +oQsGQol0/NcGnLXC51SNwvO8/dztn0PcpWLqov6M2qKbkC1IB5BRIB9DINS6gpi6 + +LNJMEt3vKUKH7PN0+2zC/UfCvC5nwqfoxxhQIobM7RsiYLKCNL9vK0VaHYz/mL8F + +EVj3S2Pkut8sWBg86OLUFx+LPPDJPJ+IkVy0fNgIqlpL2wmi2qNaeLEHGiLWBG5M + +nMzMPze/YGLJ4vSiiEK1HObMnsys4re4o+LvjNkIrFTgHJJUrRK2MnBso2ZzguJ0 + +Z5iK/xR0iQjAEoLM6gT/iDYonlDc8Lr4Sj99LwZgyYK4qPL/CVC6wvhNCECTP0Xc + +7/cxxTU4f8o1tKRijIRl4vc0I3jYllnLJPw7o39Cb608SEiS2rySwrxs9wDywoga + +edy/Eq2kzpcLEq8S4jyoQvQADMBRgGN9IlB8u2GAUwAxQA4AAkAI/0SACxBYeB4A + +M6kwgrtTYqAtVKREJ8ARQoKMhSRcsE4IOwRp0BNUuJlHcOFipxCS/yzwmahcsB7M + +2oylwvf8xkLVwsdUlkLSot/8i6CldK6MyuTj3Pskk+zsQm1ka7ATwqmpe0AC2n6g + +NJhS0xN0tAAWgs+8zqLvvONi159swSoSlYcufWKU92LzCNy0oDyhPNYS+Fys4lrQ + +/rDdZyvDYAS42MRTQNDS4OGC/OLmiMOi1tl2zP+/O5S5iAeU9Xzr9MVzF6U69MvD + +bgiH03lc4mzYbMTwkkC0lhhIQAdQvLCdcLzbkBrI1YTkGIVWUnC1kP9fDxLUdkx9 + +cpjGBNrI+YSWBPMSscVIoEOCuHix3ypS64yNOXjWLsgf/E3/dCK3iAGS5gTWUonG + +XAIH0x2izMLsXB+Rckk1fxjIxTop2PiSgfSB/LZMofzK7JH87lLT1HxSxUMJvX5S + +jlLeCMhC2fzfEBWAFwB8AE5AYDF80ENTUkATgHmkOhRWUSY4pg9Dm2HkPRYoqAWY + +QWz9VNFzeOTjVL5ixPznIon8mESJ0AyEgYQQiCtgSBLDvKKixpz1wqKC1pz7NKAs + +5XScRNWS3kKIW2mLasMgMLPCmBIBQCC8fPMxFXJrGAKJ/ydfLqLwtLDMp8LUDJfC + +vx0KDNuw1/9kyg3Au6LuAvWi3gL5CyBM6OyLhP244QLyfLzM6kAjiAUc+Ds1gqvU + +j98b1JUSsGKRfOG4qkkACCNlZlDCzzdS8fzl/xGSznTGmAl4H4y91I2Cw9SVSG9S + +3pFwEsHizSLZ0v+IedKshPDg4VLr7AL84BQl2K70+dkPMGJuLeKgjMBC/tll0uT8 + +zpc10t9S1JDLhJ0AKPdsACaAIQBGwqCQXpYnOh8CoPMhoO7MJ+K7Uz3PcaBRuBZM + +aOT70H/BaosYSEQ9bnTnohAgnzy1DLqLUBLPiGTC/NtJkv8UzdzAlKOg0tsWjPgS + +4oLEErLAsoLlYpbjVWK5bAHeB6QyjNs2XZK/QwTLNKAiEuOS6ULH7LlCxkSFQu6C + +v7yNnPfClGCDEowpUBzGMv/Cifs2RLIMz9pstJ2TNmc0PJ3TNjKVezw8/FyyvRB4 + +pks2mJRcxrNFyHUNbiL8iOLvZyiMZKlk13DDXIKHVtLKfNrigOzscLtY44L/osKk + +6SInkPb4vASp0rUEJXyIbPwg+xLgiEcS41xnEtkdBCDnfPkgqbidiN24lFSavnsy + +hcKmAJ+QxPFPfIcyudKp0Gho0JKJLR29WjT37GqILQcKn0W9NAMOCkQFauteyF3S + +oqRVhUDaI9KbIvpkJhyyeIm9LzLUxhdA6LxJAHyAIIBYoUrSHQB/gCYABABWUAWv + +GIBKgGEPGIcGYp5s60BDAkjxJyT4RAncn6wl7BNGQxRSjL6SjIKbcM187IL0gtjA + +TVjluMAI/1LCorWs2ZKSoub/BBKtwusk3/TdwtQSr1TdOLhqTFCqDDN5BX0SMsD3 + +SSAGlSa5fWK7wsNirNKkDP3452y+orIs3jzf3LTU3NSaLKnkyDzj+NI8oxK2MAWH + +D2CxrnikjFNqeOgXaTyJIIIslQKnKyjZPGSHJ15k4nDF1KeM6FTXZ2XgtKVEFNGg + +ZBTjfMuih0tBSxxchFSqE1BPZFTPCPBCs8TESHVSngjLKyHS/dT3UtHSjISkJjij + +ZJjh0q0ijZQrMuv0SLhX6zFcpyKR0v5nUlLUpO2zJMLlIo9S2lLidTPSOnLN0uiW + +JDS+hgr807UmTNiWEXZSNIgBb1IW/UI0iT8wJK+jXt59vXNA62Tt4uCMiuLCcpXS + +6GVAkpr7RD8GpXySiABw0HTQUYBN60LoolBj3Q9jQvi4AEkAIIAjqQHc8KL1VJM6 + +eww+HC1GB2ggsHP88ez+nMns2S13NxtYk9odMpAS7lDrICf4kWL9vKtMuv9Rsrf0 + +uBKQ0raMjkK412AslZLygq0If9VBwDyEH0MhQsZuRoIL0VVC62zITxISu2z7wvMS + +ceNMGx6iw7KzYs9irgcqsJYc++NdKy5466SaWBQo8/DeKKw4xaNtPIhjXVjyvWwc + +3ftNcOtrWuLhFTXFTHMWuP2C6cK9KAtc39NsU2n1FryevSFirsc9XJkCjUz15AEE + +rsoWpODC54zYKxVIJfhbUmrS3zy7MqtC9vLWSCm4p0BRZUZg7EwutPfinwCaUrAA + +Nkh4JTAsLRtQSDVkuzyXcsog0ZkD8vKYA7CByOHyu8EQq3PywwzUZUPym/LUGitg + +xeLpL0DdRTovdxaGG3c+QVD8Dt4mEznQ16MzcyH0iwTMYrsC0bBncoogp/L9wCvy + +j3Lj8tP/VXLtmxpAFYA2UUyRVLQBlkIAQYAykQ0UolB5qi/S+/QQvU4EEIhOdJVv + +AoygMo500DKBOKpdM9Lo/OgypzKQeBcyvSSm5wKi60y++K/88bLosIwyqbKD3JM3 + +FBL/9LxE/cKNdILVDrtWsDOs5ShagvPC4/oI5NMUG8LYArIStWMKEquSvNKn6K8I + +gSysyK/XHYd2PJJkg4t8YOXkiPTQSxpctCKD9XeSz3SU/Nj8lgyAUTwc5lztXNCM + +9dTsLyCYy7CHdKrS4z83ErwCrK4+cOB4JByLPP0Sx8VzQqmo43RrxJf8lmTzSG4g + +Z2SY83KyQeLoUvKYqjg/MsYNMq86CsZy/fLGCuBIvbjsTCSK5f9wPG2IpgrLRMCy + +gckkym96GNzCDzsMBKyk/Ck/Z48YvQKfN61qD0UmKyK/HJ3i0fy5cvPSvexUipm4 + +rVLNL24PXABZzwQASyZnMDaWSucXyBGiAJAMwDYAf4AQwMHc8xTpqWtWS3K3SzP8 + +qIS7cudSqeyKixmolHQbUSOUGQ1miDTIeFDhsvYK4yTOCuDS6WKyorDSpZLdrKzT + +KNKaopjSgtVxeEDpK6AfQya/LSYe8ERGX7NtstlC3uT61wzyodtLkv6Dd+ynOJH3 + +XMM8LNykiDNXYoI6AOLbYoYS9zi/Ys+S0tKDxPUrXiCkWBGip5UyqK6RUxLKeysf + +U+SBPP2HNuKVXISDOX8xXIwne4zDcKHkMRynRL9go0i+WRa5QgtKKNQE6gCyQLvn + +S4y+q1VS1kg/8Ngylhj1Aqbyh1twCKE4raBfVIJ/Uo89PI/zEKyXFn4osrNkCBJQ + +ruL4sptkeeIhPUGpZhDYNNYEVYq+LEQ8Y8NRSq5zLlLcL0crDlpV0GyVKZJFSuKc + +HFDzTxeC+tiF1nN4/mJ29MbIY9DgAVbeLX9aRQgvTwza/Mo3Ue8opwo3dzRgQX7e + +T4KkkrlS0sKK3LSShytu4pDMbUq7NRmnC9k9qTT3MUA00ESAXEBYQsGAHapUgDgA + +dYYurNNynqzN2XyIU9IA/CWoZogfq1VeSAg0CGeIeUgaCvm0CVynpLoIvrLgvFxy + +leBOW1F01gqfctWsjgrmQq4Klpyg8vKikPKI0s6c8PLBjJ6YPkBIFR2SqQrb3NJQ + +FARH4i9XG2yqMtIStPK4Kk+Kmf9TYp6C4q9VnK4s9kSdlRTLGjy+EtE+AzMjhVz8 + +aOCCKIQcxZTESrhKubD8KJAeK788qJPzdHjjjM888hyvKwrE7niL5zFnVgKCfyq4 + +3lSynMIAhrTWBG/Etmh9pPh/DYdFHNtCj8Ti8qCrOL9xkDS6AMRr0sgnZor6Cuki + +BxLScohoPKsqCKpTYsq7EsRICCqXMCgqkzKEC2eijmSpXMsyyPFIKsnS8hSjSt/E + +j3wUMJcDNAEMZTHdAjd7PFXil2lQMKcMcJLJzOSS8tzUkqrsljSiyuwcvaUx0uwq + +8nKZp2YAGAB+gDWpRIBygECEgJA+XDo4sJBMACJQcsVcAEIKtfR1xm0uY0ghyEFs + +4eQTmEJmU0hEWCcQNokyGN+swzS21hooZCqOzLyi7JMayvqcqXSxssOK+ZLNwr/8 + +7cKZsoEK3WyhCpVi9ZKcIiIQPFME0t8Mf+LA9xlrXccmgpEXEcrU8t2yj/oJyp7A + ++jKlQrldHALsVM2kjlygqo+sqFzZEotON6yIfPo8lSzgywR45iK2aC0q74gcKqYC + +njh1KqSqrXcucB0q5ksP8rrLVNFspH9aEwDLNDSWZNyy7K9KlJLI+N9KyztR1Klw + +jjSUqoZiQ8sZp1wAN75/gEGAEtIWgHwARIAFNyX80M1WUDKTNgBsnkaS+/QZisy2 + +ZrsbcqiEzpL1iAGwWGQKnOHne/zBSv7UkBKX8PTITPTFrO9y5cLpkvyCoNKA8qOK + +hZKx+IViyyqW8xwy1zS8MuuKsmBvYKcq2YI1svGMl1EXMBPoeQqM0rQs2vY/KoBg + +xULysJnKxrCBlI9ir6rgqs2czgdrnOhcstSnyI60/2DUKKDgi4zszPBM15LjmhVn + +OCqG8sc8nSjnPK/K24yq8KTitAtuBJG0vpTU7wo4CkqhuQLDSij4xPFAwkD7ZyJL + +UuLUSsJzYgTAM0hS9kqZW18nTPDyyu2i7vLkvkWq80KWHJgyxyA2SpBSjQKGaoCS + +/hx6UphSumrmtLGnPFLzhI4cqksa4s5KsWr3bNrS4KcENPeyKNIKfm9PB6N3d0aG + +MKcOaIdXWrcUsrnMjTLpas6XFYTxatcC2fziAGRHfIBhgHXhVNBYXVh4BAAXAADz + +TJ5hNNbYGrK99IvJQkccoBCAEkdDtx+sOIKF2AuIMol8UJvrNtSJgtNHO7cQ4LKw + +FdgSe12K33K6yorzBsq2QpZvYPK2/1bKsPLTqp6c2fittFnQ874JCqhkbWLphjLE + +Y1x7aFeKnuStRw+K5QqfiuuS5ptHkrOA78LDgPwsoJCq6tCkx3S5yu4ykmcfwvpn + +MSDvyPaU6HzO6qszMHA+IqvKmFYLWKx8rhiMmCAUgNMxkLlkk0IGAt3Avk0sQKx/ + +MFgyItCQoZLZ5Dnqov9VuNFnBxCqcK4SlJxV6smkwLLswupU8qrGQVnQyzQSoDAk + +548BaOSyxryQj03qo+SaUqM0jn8kq00w+Ecu8RfIYthlVC6Ac4AVgH6kTQpdgCgA + +TGNJirp0hrtf/Ca7a3KYgrJHOeRLUISC0J5cUoqLMDsrjK5A2V8DeDOE2WrYGtFi + +tgro6v2K+sqTKomyngrzKumy5BKTqrmym7z06oqCoyxwI2uq0VBbqpe8trsgP2Wy + +E2DJQsoylPLWgpoy3r83qrPoqcqGMq3nS1oXkvVKzmsStN4s4CZSLIuI4OK9I1XE + +ldSLZDgHIvLnxKakkaTJWxdIgnDRIo05MeLpCIniz/CRS31nGJtbQnBS578cPIUy + +3Sz6QoM9DPSIP1ZYOGS+8tlknr0/Cud09cN8Lz+MvSCNqu1oOfKAKvQIDVDsGKM8 + +hBqmSsRIQ2rUGsnqlEx4GsZK5erpIica0/Ej4OAq1+cGSul4wJrHGpG4kJqgKvYU + +pGzjSuL8cKduhB8gpMoE8QZMvSUffHt3Rb1LDxKvd9jbwBzxS0r58gSgowFXTWXI + +H4h3jivqmqqGUwia6lLQdn/K2JrXGpmnDMAiUFFuBtpWUEkAOhRdUtnwKKFPNg4A + +UuiMjMAalUzUyp//S6rMyqiE1rLrIHay8CM44zoiuniLQs9SiRgMkvcK/ms9Kolv + +GBLjKr2q0yrJsvwavgrNtyIawQrolNsq27ysUEKNZ6oD0h9DG9ycsN3xdjEulXa/ + +W6znqq+8g7x2GuQMj9zVCpuS18L20z4cdeS0BzcaiCK6EupKtrCG4McY77D4Ipky + +o4ylewNnV7KYfJ/IrUKFPL//JHckfP3bTaLWkNmC3TUh6rcS41z5wuYc7C98fK1c + +/7Lf5MByjdBazN/THOLw9IIskkxDmATM8j0l0zma6bC4bL+calrAip0g+yz5mpd8 + +wfK6ms7HSyzK0qrc4bSkK3UA8YLnCq2MwWSvQ0w3QVrCAJcK8Ox6HLFatnL8EFxc + +ZmjPDlHyvFRh/SJ0IlESSFfYsW9Lf0ioU0rPaFsc2VKfHIrsssLGKs0MJwqJWq2M + +pGgVyAYcgt5Z/J4AWfBcAEK0bZAyEi1BaDFJAFWAOjjYeBgAYy1naoiijVT2Mgu9 + +IycTeEFvJEgdpULDN/Qudk6ypwow9LojHlrFmsHQGozpnwQy+ozPzOgSoyr/ctl0 + +/aqzKsWSo6rCGp6M/Z8+jPmygYyX0GE0HNdNYphnILxSU2IY9qRmgq8qlhr3irYa + +sur3X3eatFdnOB+qwgz/7I3k/lDaEo2wwUSie1+7dftHYqFgtkllsKXk44s4+yLU + +8MiAyMzQ0lyaDJgHeuDg+xBa3CiCwrqUsOLWjEkuJCLeKMJcu5y+LLYuN5yo4vOc + +jtxhlN1CrmFd2prU/dqBGuzQr8jq1JjLIrSL+yEzNlyqeNmim3FUHNPahfMNyNKU + +4SjrSyXanhr2x2wMsmlF5P0K0drYqtBq+KrzYtTUy/iyvQa4apj5GrAcvPLpsPUN + +MqyDQuS0xgx9jL0YtYhCfLZ4tFrOMjIopijb8N5EvTKi4rd0hZSEStZ8pGrbopSY + +QQK1uPa46uDx1M9Czic+GtpIz7JmiGWC5RrqxNnsoHhamLZkeGr68oMbZTKwvLY6 + +iWrOOsek7jq4tIta7FL+Ot0CnSKy6z1bb7JPqIg4soQ1BKGVch9UYrTxBJYjAsaI + +JKyzBMly4fTpcpPSjCKEap46prz/PPE6macYgFiMTfBzgCCQBd5sAEGAPFBBgACQ + +LaotMIEPBpKhmsObVpAm6DsEAazAsEFsydB4iAdoSjTnwFubbhhe8tClEWSrbPhF + +RBirlJGIiapV7KREiWKCwOVsrezA8vZC5sqk6uWSvayLirQSq4qVwCZIKSAsgPPJ + +ZvxfNJKgA6s77OIS28K3ipLq+tq6Ms4awKqmYJba3ALbsrq6m7KAIt4yjNTASv4M + +iSs26s5gpb9d/1zMz5o3rOWwidqxwwHazpTGUrMbWY1DQlZg8b9LnMvI8bqeQEm6 + +4bqNCsybGbqHJX5U1ZjPwquw/f8IPJYo8dqFayoc9uCsArK9KtS2lPd7BGDgfLp7 + +BEskWsx4sMjduv542+TFMu8Sugzk0LK0xvL6asm6sgLwXNkYoqScYuY648rLup/w + +yLzTlMAg0qTYE1i4rxjSx1TCyZDawuI8xly7vxjM69tuqziRfKILVPo6pTs4epYo + +0Tq1cPi8xMyxoth6/ByWXOa8kRz8iqnYv2gnqKikccjSivw0mus7aVb86PBSvNEU + +rRMhzOLCyqr6Kuqq41qdVxsKyRKIGgJ6ueyZp3GAbzYlhn3lVOkXACJQOAAMvCbY + +FwBWUACQJGNJKo1UvqyPOrT/NyT4CGFsXSViwiBi+arbpxPAimrEE1v8vXI0VNDU + +ooiE2urKraqoEpc3IJSd3IzanZqs2osqnNr9rKPsw6yDwojy+MtPUEe8pIBcEukK + +sPYXIQoyvrca2tOSxQqx4wbakTFsLI/st8KOMvos5b8b+J2VPb8mlJ7alcrOupva + +hyDlnJaw67qqZwkEoFr52oaU64snuoYM9FpniMq4sRKwuLi48HqzK0PKqyyynBES + +j8VqWww6jEDF6viQv4DK4tRqk0IyWuja3RD78vXDR/K6M1+M6RKSkNI/Nzykeo88 + +1Tz9QuWi0yVuerdQoQKlop+czGrEKwNwnGrYTNPaYnyNPItCUyzHXOEMzvqPUPma + +lhyScPLwuBisUyMrIVrJgs36m0S1kKEHXGrb6q2UhdTBDOX6wXMQ4hTi2riaiIP6 + +syyuArQTRnjZmyaYi0I3pP5amfqaWFR6vHqBMxH6gTqGV3h8j8FWOqx6jhNu6r5c + +xnsgvPb68Kt6YUPak4dxXLQqyVy7GJz7K4jwfIwNR4KMouT6rWCrI3w69KrgWgIM + +68Cfyv0rPFyb+K0Ch6KE4Jg6s7qH/wbsaSCW4sdiajyOYPj621s9aoN6+gbusMYG + +oTs6quao1kTB+0Ty2nBMqtUrejq32unwvgKjfMTQjPypLzrLVGykqkW9PSKgJI5y + +sKRnF2aCdJrUyk/NeKJAt3inN6kc8RNzV48t9GqK3IQaVJS6aTrFeX/EyXYplUfs + +I+q1vlk6nLysVDO1EXZvg0AKhdE0szzxVQa7DFjczutRcu+/GVLvv3nQ0ir7aVD4 + +9J8Psjcc0Aq6vIOE49LR9LYQIQb2RLUDfgaWcJmnDgA3BKYFWIxYeACQXxBEgF8Q + +cEAYABlUmkBR7XigCYqkyqHcw4VdiH6shXrBbOJ8A0ggCBlrVThFoK9TBjqzjIZI + +0sqifPU8v+i1msr3PYqNmrTatDKkuoTqlLqsROTq9Lr2yuprMWBvpUaim6qYLMZu + +Y1ShCHuaqZyFCrHKpQqquuzy6cqeMvq63+zV80iGluqICSxks5z2owbq87Lc8soG + +vfK0Ary0pjyl8JY86lt/msKbLDqt2s4zNbCjnPoShsj20PO/OAau2oO/R7q+G2e6 + +gyDLsruG7ykW8MMK4Kr7kojg7zNpMpYcqPqgapGw/hLARo244Ea52tT7EOK1uJ90 + +oRLDsDa4s+STMwBG9bjBEuBGkSiS0qQElyKD+CkyyEazmm/62wqY4vAG3uqJKUq0 + +8rhc62Ea0vLBZ0kzd4b5YBv6kmzdyrwonWtPYTd88iKtlKZGj3TmEtY1Dt9porUy + +y4bp2sVgnkbtSL4Q+xiUBsE869wyIw4Y/kaxRuJkiUaUPBOjU5idPMNMNjySAqxK + +nplT+o982UadCvlGgOBp6sTC7Ua1Rr3wvUakU0YCixyE6AVqoX1PqMKq0PR/RTqC + +TvSj0LKKhsIaN1lPZoI4oL43XKDGy1P4DwaWwkGCH4SGF2D49+xrBv/kXjC1BqsD + +f+QRdmnePVqkpyxUSYMe3mfY0hpLfy7LKpq2eofkVUbfsPVGk0b7uryS2fyEAAg2 + +TcIH3QrYNpY2+mXwKDEVgHh4VgVvWrNy/sLoouKuWKLShqeNAZDp2nPssDKIikZY + +/GT1CMyi3PlTWqgTPAyWhtVfbaq4uvyEhLqbNPQy0NLHTK5C7DLiGuEK86reoVZY + +QcAddP15RFUaGqcKWSQQPyeq76CQtIBvMcAXmoOyt5qg+qWMwCLJgoJ46bqc+xXa + +6Lji0r1nD/9xSzPG4FrryNJeCTs3+KgisEqrbMjnR1jLWM3y39NZWILfFHzMfMxa + +hcqMWuI/Jnt1CszIrpTCVVJgaKgNQxfzAbqVKylwipthLOOMqFrKsg4S/3tt6vI8 + +wPSSeieyv5MXWK5lEpgNG2MbQJtZPT+coEbOOhpG4t8ofL8bCEb0Rrdgc9r+GyQ6 + ++wIKuK57F5zCKiJcjgd/nlz6pib/X23wsFqwRuQjB/DSSPTEzWCcu3YmtkjOJvJ4 + +3ZNKeNEzV3SGJv4mt0iCxIkm+9qpJo0AzPzpLwSfMlwNEw3i+01gxvs8bYSbPA8c + +8KDMN28czq8pcrCGrGLMWNkm9kiQS1Q87dMlJpmnKxlA/xOADgBWUGGggvounwfO + +W8QmjjVDVSgvoAiTKok/Wo+ovIDtBWDBeezIZAmSo3qpkpN66vdiopwa7grxxpKC + +p0ynNPZddp8ZCBqElcB9kxe7QBxmLXJEjILSUysgIcrk8rK64urQtPaS/bKItIxc + +d58uUE+fNlBSXw+fIZZ/n2JQfsrgXygAUF8lgHBfC1BBUGFQRVBYX0PoGVBVACRf + +bRBUXwxEdF9gQExfLEBsX3VQYEA8XxXAB4xCXwNQfABvnzJfTorjq2k0xIAYgCRs + +DIBDhnGAUIBw0EOCGpL1zicZEaqpuTh+IatkWF0wArrq+Ow9aYgDu2IUcgqIK1JL + +cLiVfOtJGuz47MtEqOrayqwa2OqYpsbK5LqTiuza/gqDmusqo5rcMrsqrQhdvXMj + +dXrjvU5ActqNk29EL3qTko6iv3q0OF3Gsqb9xuesopTFysy0vx9eGrSI78arIP6C + +z4bfpKKSTYa8Zphg05ylsNGUn9qG0oAjdUj1LJryo8EiOr4zOWzRAuZ88QLOUPBG + +zAcj82NG1gjAnO0c+jqA9Ozgyg0TEsqQxODuWKdoGxLPuJFmjCbEaAi6knUDRIb6 + +6DdABrFm+Gyy4slmgWbhcyFmsPpAsq8c3xFyqjykFhd/AOq8yBFaKuZ6+rzpFN06 + +whcAGJMkKpyEbJ402fy2AFnwGIB4jnvLbpYXAC6iXxBUjh0AJoB1qQJAFYAZet0j + +BKI56F5CbaN3l2kwJJFWcA6yiZ8C+rB658yc83jat6bDKu/MzZr02u2avBqreoIa + +/6bc2q+vGcaQZoW8cqFr6E3o2zYbn2YrBwgBwvbkpPLMlMeas5LnmoD66MMm2tWG + +1trgSqYy55KRMoj6imboe0W6k+NcJoES/+MoqreS93S2GxVIlcT6zLkzHXCYcQ4m + +zWdqU0yCu3DYasiuaGSicotCHlLOWryFKgKcSKbMpd9l7LYS7TsQCMdrT8cm+ImZ + +EVgo5p3mq7jUQOXfTDrl5u3m1ebXCtcSzOLZLMPmy+bPjWVS8WqxIp/XUHqj5sle + +JgSl5vEG5G8PfE1q1dYecoKsvzksvOndD2AEOMfiIkz3CRTGxVLgCOLHSFNeJQ5a + +llK7JvgcXLRYjE/IGQBzMOIAXoAOACCQWGxcQAaACSqqxuTK3sNgyHglb5cpJN8m + +yONgIGjjOuiWBJvrdCa1ZtjavebeEhi63OSZko6G07yLetTmw6rreozm23runPt6 + +kQq/0CLwaDTs6upRcYzncwctWdyNxrpE8rripuRmnNLKErrmhci2RIey/AzmPO4b + +ZULlFt2/HbrAyyVrJRaW+xUW6pS4+oso2YMjCtdIvPqCyK26yijCHIrSvGNMBtm/ + +SMjacH7qkvKumhy40Vjt6rSy6Dr6ZvhKxmab5M9FVCCsmIkaoOQy8vGwxGSsPytc + +sQS8P2JG5mcPnPP6olLdyOP6tmQkRsxKrmbbQkXmjEs78sXAiyaxJpdwlchVMtFG + +6lyzFuyWnvrjRO08sRLGJonmhHr7hzzIfIqndwM0OTr1f0sCkZcr0WUvG9R0p16v + +IsxIFv8clCK6huYmuj8SlqMosbVVcpuE9NBSAFxAHQB6AF2EaJz60n+AEm9/gHTQ + +cEA6OL9mghgEuj8UCarwGsBCQ1J+OGKudpBQkUv02tBGFvZZVbRkcrFY9BqDKqZC + +z6atmtwauKbMMoiUxKbU6v4W2cajkHyfY4UwArd6vsqBCDxjeUN8pormzcae923G + +sZMLkrdfQPq0Zrr7OeN22t+ahcrcZp6woKqi1JHayPQaSLWG3gaBZ0h8kASTgIti + +s7LMXJxLLDzkm1wGissMXJfDQkaJouOwtYz0yxwigUjlRrNiIHyae1K4mOtHxtpm + +v7iFJoEypSayVvpWzkaB5rgG/kjWVvUaq8bMeIwchksiPNxWtzAGRpRS78ZLZuYq + +eRKYavEoswqRlIlK6HKOtKIC8UaEloMEGIrb9PfqPGDvu1Ham3yesqJK0EqtIIyW + +plcyPxNExqSGBwGC/1y5Aqz7NzNvmu/sjGDKUpVSqJqn6OtmsuK2LPfClPS+VL5q + +muqWmLlYmFSqrO9sn0pzhpeGxgwT5o3m3eDoIrGC4MTFf2fpbRbSG10WsFSI1qn2 + +Biirk04S5+aUq3BU5QZglp9Yx9rGDDjmqDyYWq7qqhYfVoM8s5pylqfwuqSNZpqc + +mLiV5tgW21an5twlQlaTvwdc20SHGqpQjnr61sYsP/qoBOG4aKitfKNE6QsjVos8 + +ztbE4pU8pFKQbKEYpR10aqHW7ltusrN8nVb3oRbW0GTHwXcynFrVELnWr4buZGxa + +0aTMPMrWsAifMq0sjEa75qrW2Vri/EpXN60LBtiWBMa4gpoq8Zc/IJT8QjSKvLMi + ++nqLV2U68ZcVWpB0nIYk2l5FHt5/BtG+J0qw+JCGkyadapY09dbrQrcHfdbt1rUU + +kTSv1iTQXoBJAB0AOABuqsSAAJB/gBgAGUz58D9mpEgSoGC3IuASpsBCUeB2fCCw + +N4t1s0b4gtaPlLqLaaSwiBMK+ObzluOgr6b46qK/ACzv9KQSnhaMuoLa9BKkgATA + +xCyfQ17K65rYwGJtaQwi6q3G7B8AVuzSzCzUZpds/NL1usla/NLmLKOA34bljJHw + +jhsqLO4bNVaQPIHq0nBoRrL7IDrhRJLQ3crhopI6nzId2w+vRRiKVscpLCbIatFW + ++Sz/PnTW+VaLuo0aiFzbxvT6i8b2evGi1tbY+trq3KTfxujnbyixXJPGtRbQ31fb + +P5K/fJOzVri8JqUbExs8yyb6678eDOY8cTKxuxGC1NsXgPBKosQp4P+SptapMHnM + +uhLBVoDgLMsP013LEfKz4LDTZai5Vqy4r7r0BqJwznCGlTCMjvLpfLV0RGzpITMy + +kscEiLI2n4C7NqQKKea7fL7sPFtyNopghyNaUzpwnUSboq62lrbdYS0cjgiBtua2 + +yEslmNpClRjXv0628bbP+pgQiMLptsKjYIrMENUjaSbJmTTCqHrjwKcW58qFts22 + +pbatAvy2v8dVo0zAvrbt5UO25SyCtp622nDtRPO2vLbLtuO2w9bfWnkG16jsBifW + +kwcezlo3TGy2LBMitb5j1sboDTrbB21q6+qycC1EhMzKUOVco7aq4tVy9EcUjAye + +c4BcQDHKVpqoAA4ADgA4AACgfIB6wAW3FzqfhWWW5FhVlrAawW8jeFuYK+g5E2As + +PZajEH2Y9Qs79OVDfDrPq0o21haDisuW2Kamyt+m7hb9mszmrv8SGu9Uw2ykimKV + +UtrgvDGG68koqzq6ErqmGsKmgTbnDzkWkTbc0oPG0FaMtJHI4WJrsqtWgXtVmHxK + +nYbMVq0KmdsdRotrSsiVNoUo/maKB0z6t4bs+plMKOcnWOhrTNbELzey2HyLCpSo + +p5t4/Mb6qNr3NsMbNEae5p9iCVacYNXbZ9rr2uMWlEx0trkzficaCCz6iibJxy8K + +lnymZvmUh4bjh1cslbbmZOhE4Jsrhp4sYMLqtthSoOLtdqNGxv1mKvyY5Ta4Vtk8 + +hpI2toN8s3t1VpLUnBz5ZIgg0ct6+zvaplaL8OHWmGzR1rwG6vabJtr2oEDsq2Pi + +8PCPhtuGwmabjSp2y4duaxV24/DBFR7WqpbjVsa6gGrJC3o/OAD+1tDWypTh9oY/ + +ftbx2tgm/RjrEt72xTzl2rvGwnt3ph0S+eLbnK/7UVj9Vu5mkEhkUob2oL512s60 + +qdaO4prw1IIMSsK4pVaDkmz2qkLre3Hmggcz1If2jCqjewjVfTqXpLO4qXyGUrT2 + ++Mk55rLSv/dStpRyqGSsRphk1FbgDvkitRKHpM/24Tq0Ssqub7qYDo/2uvLfO2/2 + +vCqVJu85Bu1NaI9G4T8YoMt3J0beyGp6wakZJne2sg7NVVIwz0qDWvlSo1qoFpSp + +JA7QDoE9ITq0Dsp7VXLYeBiAMJAf6DkAIlAdAGzAVIAXyEIAVI4fyBcAWHho1wIW + +goaWjDoIOPAgxGw2gdBghnjbbP8HGvKMnAaNJkftG0CMzIdCt/zEMpXCnarYEuTm + +q5bWdonGyqK7lunG45rSGrAWL9ARjlGvfzxvmTktNhx4wLhmn3qEZtmG/3r5htE2 + +o7Klhqa6hXab6OJWuftSVtJmwDyrgLHm4wqKAoZ4mmaRONGi/Rryq0qWXYxgavEj + +cPbWZsiOvUL60t5MgJzlHK9C/kqhWyTW5RrlZtRKgSKodt4o3nSJtLPmxjgdtpx/ + +INb0QKFS0o7CBuYkyEzpE1mk+TLvypoQmRrBZrT1apzattYEMo7Ylp0oME9wAJkM + +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 + +sT6l+yRWsDnXmaDZhJnQuPtrJtmHEBUp0iC+2ZEC9rnkpMBLM9Juudb1aMmhuuS4 + +4tm7vvmwmFzDNueJirnY7pwJi+CMuakzLLm2ZCLJqrjZ0ZZupLnTjJ9ZlDmoeyi5 + +mW6911MelDm/00puwIiHLVkstbmj/s1hvFNeyeOaajHqrsJpvo7DRqg53h6oHImE + +sdti7s88hLTvnPe5l2L/Weh4p5yh+uS537HquceZ2GCgSshcj6m0ueCqzC7tZAZw + +x7ncuelPd6n4aeh54pSr2ZtWyHmUeYX9XMNTueMzc7mYuah51N9/+xM0g7m2QlfZ + +kBni1KL2MqBnQAfxjzMmuZE5qkbUmb5prVGVuf26pm7LGJC2grn51q/G8nmn9u// + +Ys1yudcsglm32Zm5wXmPuZBpkXmyuaNrcXmoSum5qXnzowBhsGgdWv9KlDCXaZI5 + +39D0s3/kJRHO60Sy5KcN2OqEH2mF0JEU9jm2Obu1J01tEbM0FPpcoiE5/tleuapm + +vZm3i3l55Ub/yf681lATMPzQJHhQgHwADE8xQAS8AkBMABcADLx7rukquS4AVTKI + +QWzi6fGx6H0y6aUFV+mLyaia/fFaAvvbUxm1MfMZpumSKZbp2XHyKflZyin1qen+ + +2+GLDuig+QHYkVzqspZdqD6gABIdWZeqvVnnSf4p1pnaoZ+awOlZCI/pkDm12ftO + +VR6hlIcbT+lkBvLuhu7jmauZ+pmYcZ7Z4RiASbquw7mQjuRaoGTraYiBld6D5rEJ + +iTLPpOn5/WndNST5mlqx1rWRkPT3KayBmoiB1uXYamSH2xXJmI7D/WBGzlaIjtJk + +8tHa0fX5nZG6Apr6itGr+b35s/n8io15jDBEpxcMiwxe7uqe4qcrj1nuoHa0OLfJ + +oS79yZspsJCtNlP5zfnLhNhdfoBQgH+ABVRlVKPvLS0gkCgAHYQLQAQAFyalGakq + +779Q+ZdRdP9AKwGpk9ghqbxCPr8/TrPe5AnHpzj538mWCu4Byzm2htTa1bH0+csZ + +zPmyKdOKgAKrKqop/TH0iZcXf9VcE064jd0HUfeWlpB0Zg9IHb69cdPx9E6guZl2 + +7f7QufXpn1GKeYQJ8CHYmZgHBTDRbtJ5mylEyZj2iQcVQZSZrOJpaYdsbQXNaZPJ + +4/nfPkBTKrTKRvMIttGW0aAYp77KmYVK4gWR33QnMgXa+qZ8tks6yeUnXhGlydZq + +r0sW4KgRlwXNyaDClz6sjs8ev8VzEZERvKrlXrQ3D2m30DYZjXlWQVSnL2nXUgWo + +J2nDIrKa2AGwWaoO1uGGUfbhhAHRcA8ForAAhZAFxcmcxvZJ7HTFN0OGVvo26Fu9 + +azrwQF8QXRB+gG4q+67DpyZ+pezTp3qeT7ADoHkwK+hrpAI+gfQVI0wJlCsbUW0F + +lPm+Aa3B+In6BdlijWzALKYFxWLfzrz5jfHTSacUGdBJkQFffXkqkeym2vxYiD54 + +e0mVAf2+86na+eup+Jnruawug4deie8OrNTf2cUm/9nex1826sms4lQJlND7WYSV + +Cii+PIQmsSjcJXu5vkjuZ34mBRyyPO+u1RiPkalEpIhlZRJmjnmNBYmZ1hUivphc + +gYmytp5q24aDGP6J4X8HIqOivnyeIu/Z0FHxOFLJiPbkJloHJ3GocoKO2CddBexF + +h7bkIqYOnNnFefUTbtiUhaqqeY9VarVIE16beb9KpSzUgrhxokXEOY5RmIAmgFiM + +PsH00HyAXEAYsXtmvuH6wGYAOaoggBHB5lmAvz5s6xSnJMFs6CiB8AN2HZgwLG0h + +jXqjKYn6+TG3831wBlLuBeUx3Z6dDuBupWzdSeGFncHRhb3B/mGHOcPBxVnLUeVZ + +hxmjEDygVihlxoprK0n00iN03e0JnLHpzimzqZr5qenSzskFu9nnWdWY21nvwfIb + +FqHIIYifIFzk3zmZi2RTifSY77ngXPog29GPotJHNscGLO3ei9HpMri5+MW3uZM8 + +ttn6FpQBz1m52fScdNnHpstWkJmf7PLZol68y0PZ4sWf+vmJiAngXvLFutncKnU+ + ++dGMxZdx8MXJuf3KnPqJ+fxe2W6buoUop4XNGu6uqla1+0yAs7DV+eZa/9ohVqLR + +8hM0UZZRrKS20dhJ9pR0ru1wzubrFooR59miqHMB3Ljt6qXF5YnesIhepsjSrsxp + +74H47lgG6ltFRb2UoCjz8NCWxobEOsZ5zMRpVvMFqTATxfTFmtDVBdJO5npqCcYs + +wLLsvsbIdqlQSHEhvI83rRMGuFn4jQyzF3c6/KLClPwrtTyp9L6zok/Fl8mGnoqx + +j17bRiPFtQMHxejFjlHYeC2nEhJEgD++cNAcHDmkECndEDFACUylTJFF+Id7UzZi + +lCVUdjOnBWAqRB2YYJHy/y+um/bbxONGm1Fvhc6YpbGtSf1RvN6pWaNRzJHZWaSJ + +rbGUidNFtImEod6Jf4TKQMoaoxBXGeM6dNhl2FdUKvmnmvMSMQWorsNZnE7pPpf+ + +tWUwufup/drfRe2Z30X3SarZ93H12a0lo9m9VptZw9ngPPKYMd7zvtTu2dnnDXnF + +l8dauqWZ5GTWjBKOvQHvRdthIYJRFUqO6cno7GF5rFy3WaxRwppTJbo82HHApcU+ + +f9rYGZPpvziApdu5x0x7Je48v1jS2by4iBHrAd609faHNowRjomHWZsBq1mieIFG + +1KXR8fQZrdnOPPQR2Cd60eR+PQrIpd+G4rVIaft+4Kqr2bV2z9nFkadBBqWh9v+8 + +w36hif7RyV1OpdJxw+nHSnJugI6ocb6l3D5LWcGlrqWwUf9J5XbCxcalzbrR2Z9J + +5rCKpZ0bZoHd4IMl7vavOOWl9pCvnKjF0MWtmTt5uqXb7ssl5u7uuol59KWYRvh5 + +jvnEpeyu90t6udWl/q1YMy8lybTDHpppsnsibRcl6vq9Fsa57AKD2tel7yWHmduS + +hTCHpdclv6roKLP27gbH8YXzV4WwZZWM/yXQpdRqvDnlyC8GntjuhDSzOjNFvQ2B + +3IQzBvPRfJqyJ3EhtNlFOnrrZfQCZdePc9ZwJYdK/GljV3K8+KcDf10J03nimo4Z + +y5H6nsNan0rawb+GjqW8OMxRxRzVcrFAc9lBgDc/NIkugAaAdNBy53c/UYAYgBnw + +RxBAHtFWBrLD8sr6C69NGfHmABQ5waUFXhmbn1m5G8qVaeaGmamtRe1JkG65kubp + +g0XW6ZbKiinZsrsZzLqLRfDBMrJcE2zqlbLmKa2gNqQvNPYpvzmXRbdR7YX3Rfux + +4kUlnJXpj1bImZuZyTbylKnFs9S9pc7JjbmxmcsbEEXN1y3K4jrI9s3pJbmytIRe + +5EaK7uyZ/Zm82dBTPMWN0buZwNnoqdMJ20iFBYzsPWnFQ1v5y/mc7inRnsm+SKmi + +iiNkTM/Rj8n9BboGiWmXdo1G40i5yevFjHZt4Y/B/oEkaY1l4Rr4Zab04DGDyR7L + +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 + +lo7cEYClidH6j3h11s7sCcIulcWP+SSxz8dH63wm1/LDJe5prCGKrJoVk9GPkfmV + +1SwkIYKuhQmfAc6hvOXY6Zi1pSmE5ZSW1ymJ1v6RpQW4tJF17tbQ4tKliQnXINh1 + +hfDn6dl1v4j5dZ65hZmwJrYV7OXUgaalqxaBWeIGq77UqfYVlXXjlJ41xcXddZJF + +l17zApN5grWPtsc0SHSKqqrBukmICsyF9jWfqbfGw3XBltn81nILJjG8/GGYAHB1 + +WfAugHyAEZalqkt9E3LJnp9al25ffHdqtRmvavn0B7VvqnlJrIdh8b3ij76+v15O + +HJWoifFZqja21dPh5bWDZaz5iYXjqqFh/NqRYdopk70cIBQlMC6wjl4FspGrnoR9 + +PqmTteoyrYW3RYu1xAKPZdex70mibtPZoJn4Na7RqvK+9tB1o9WwCyt+y0GgOsC1 + +80GgUoBiqNGYNaWVifXY+P0y7paduY2V1hUq+qh1isndlZOV6Ox/MbtrJCHMsZjV + +u/mvKf4Jw5njadrZznqwju8pv6XTFs0pySzAJrJzGkjwxY82i3aQiwhKiVXFmbd1 + +v8agJt9l4VqTCchrf8agqp/1p/XPxuu19nmNdd/1z/WvReelg3WP9bv17XW8y1v1 + +5/WxHuE19/WwDZgNkkWVTr4mPOyZhU78yCWHlZsa97SP0Pd3dDHVIZeB/9aQdru1 + +0A3ADc5l2fzZ8DFAcYAkYwvZbkW49zbADgBYeCH8foArGXRsEITDm2Aa2Yq1lsFv + +CJ8ztwHgJvxfxyrVroXV9ciJ3doWpcLF6dncVdmp2fGDUe4lhfGZWZW1uVnmBamF + +rnbnOdmF2/UMMCkZZg9pwlDqUNT5JarmxSXYFe6VjYbweeXVmqWg5cw/ajWm7sEV + +lGD0ef4mHTbtyvLJ2crHDas18R9AOevGyxCpDbk1osXVVe35qV6p2acNg1WLEf20 + +tHnpDZCN15IyI3Mav4mFBd8NxvmMeewZ94nUtoiNvw2kjf9+lK8g/Li0tI3EjaiN + +tY8YCZCJrJKO0fcNtxq20pKNyI2PDZ44NmrC1oXp0o2mfJmCgxXGuvqN8HW3m22i + +zsmQIvENmw2n+bl2HA3u9PEhqGiMaPiiaGGXALDp0g2k/pOCxo219ai5SkMfEA++ + +BNAOoLFAZVQReuFJUgBCABiAZMBDqUSAZD6c6aAalr72cYLp2D0R3PF4TFgUVV2Y + +jk4pwtT2hhrH7V6V6mdM9fsulbGhhYsZjtW+Ya/l7tWf5d7Vs0X+1b27EcSpGQLm + +vs8q8X7SnlMjDZeewuq3Zfeew4WBpac4iYnWNdwlD7XOxaR1oSmDurwV3cX62bXp + +4I7UItCO/8H1JcqB7gnmeN7Rhdn1hqi+H+m/VpmB5I6mdYX63TXX9d4143RMKaP/ + +TDWhMrNiIj6GPPpNs4XOmYaSY5b1NZI1qo2pIoOCmFL92u5N6Irf9v5NwbVBTa1m + +rwbOyB8xPLXKwbSFqrWQdsuNgiHxpzFNy4TcQHDQGMrPWpaAC4B4ytSAGUyrhQzA + +YaIQKRhV+eEyYdaEyvj+DecEK6cfnVqIK0gXJPc3Dz7HBNWa3k41Sep2+bXW1cW1 + +niX9Zc7Vrhbv5Yn+6YWb4c2plyh2JTLV9zmjzAaVspY2qQo8kE28obBN1vWPqoex + +iLW1mbe7EHndhpUek7LN2aH1vYzLNc7agZWYBq759VjapZ8loOQNVfBasPrPuYP1 + +HsXvDeBpv2Kt+Z8xrZzgCbrl5dXCTaXps2IOOwYusbmx2adiyk7JaszJmUGTNb8F + +uUSTouU22QWoRa26x5T4pdvjZMmvdqlu1zWkjsHRpymb5bH11FHuVtnemVWRkchR + +8+S25v25nlzLuadZyA3HcY1XdoFSmc+JwYGYgbG6+pTHNqjMt5Gk2YU1pKWNxbuM + +wz7W0J8elw3o5epmi/W+GpBlmKW3vvvNtyn8uPXNpF7BCfspy/XpNUYlpZWldZzl + +r8jZKY2O5A2plY4VjY57kagNg5XYLc3BSOWfFos8n/WYLaN1yeonzbC1tC2zdcyp + +/QKZBo/WoklUbkwN8waAJfT8c4Hh6dV5K3WHFfxJN9AYjxboejnSaLd3V5WkZMM1 + +vz7BhXeV8J7Vco8EtgAonh0Ac918gHGAUVRHqxaAVIz00CXPTS60BYvJXkhIYERB + +00hkQaV64ewWuQ1dCBxc/1pHBLHYH3eVsLqildUxwYXJvvfl/Un+JeNllgW/Td2x + +2YXTay1LEeZaVbyJiiWdpRaV5QHmVdUBlvXhNuUljlW6+YtZjdnjvv/hv4qth3IN + +uvtBVYJIdUW1QoLZuZHmMsNhqqHoUdnm4tnwresaxk25zezGmZCq0ZAJmxbTObup + +9yWpkjpp0mmcac0FiFo6Tc3Z0Ebw5Z9hrHWCdf18aw3PYZH1ySL8ClMlrtLucNAY + +h7XEtp/26SK7Rsru6MCeyfv+45T6+ovHcc2M+tFbRdb0sruFszXhkdB+jd6nJfYt + +jks5ucd8/q3NQoC1pc3poaD+3360reRckC2oUcxy5Gqn3xq5gymkwqwgwkWGMBrV + +mQnGydBiuq3LEKM5sOhuDLcambWmoGMZ682w9p8+9EWwwpHgb83Rdfkp17qlMcFg + +bS3gsayt5NjNddUJ9sn7Pt3g9C3nZ0314OgVZYX9M5WUrdzipa2j6Q+t/ErW5bzi + +q63rkZut0lrPMfht2darzasp9HG8nqyWUct+YnJuOIL08a0RgrdpTZt14BbfabTM + +Du70SbqWhIXi/EiFmU3Xyfgl98m4baWtmTxEbasp1XLegHwAYVwKvpWAHg7d/K2E + +LoBYjBjNLoBYnkrG/c6O0VHobSNWWH0YZoXT5ehgCbWJIEvl56JFtr0subHnTYH1 + +ptXNReKV+Q2uJd1F542P5f6LcYW/pvculj79NQKNPqnbNg1xy58SiHKoqM2WVYD4 + +LGdM8qxOhh6zDZYVucqDFv4Zwq2HnJoShHnyacAhvc34ceQVvDpFdbRN8GWI7uTu + +t76G6qB1r772xZYhsWtTVtGBhmXzYZG6m/IMXoVW3vm+PMQ10C3VWKUFo9rIWDox + +sF7X42PpynWg5Hg1jSmfWboV8TWx0eGZqljNkcNKiIJM7YlE75GUEYZAxJsnVfEJ + +ygKw2eQh1uR4DZHqpzal+YLl0F5rVa5eyXXSvpp4nBnDyLAtrXW4fBB10A2MLeCI + +92G9osnt0RLUvWbJhC257ZXtns2yTofp4tGuqKYigQbkywVeyRWlxBQl1NnI6Yd2 + +pizQbbt27e3bQZWKVuWAdcPtpiy77d+Gs+3H6aIZ5L6aaJKaswKmVPsVkm2HlbNN + +bGjIrOgNKHT9Jvt12U3irNcVqeX65cHJ6+30/NbBnxBsABYUS6sENstOs91HY1GA + +ZxGpXFjQE4BiJf6x2S38yoEo6H1Shvll1lgA9CVlzEGDXOqeNTKtLffG0uXXTc3B + +gy29baMtklX26cElz43hJYpV90MJvmsgYDoR5lyJsvmyCpKkW23nLYO8B22viqBW + +6enPRYJeuwRTafqt5+n2aeXiOR3VItUS8GKLhb7NkCqnPI2t4zWYdbPU4b7Rrf9l + +7R3SIZu26lrcpeXw6iGWTtohvpnW+ZfjFRqlxI720NjKeYMKtvmpundBjTTPQfi5 + +u9NEubDlh5zzP0R61x3Y7cQlvM3bSwXwih38h2YJmGXh+dDhvJazIJzWnhLsFaYR + +FTLKHbCdvnnMTZWR0SoQndCq3EWdlcuVpC3p1xcdwYC3Hd2KCs2OxdwLNvbdEpOt + +7FXOAbMdqADWTtDZtu2JMvlctQjnNb51phWBdfeofn6obd35vE2USdqtuGL7+a6d + +8psuzpcC762UDYQNvMmnBevkh63obZodv/WhrrUpuzXSPGmd8A3VIOZp/e2+ndCp + +3gmKab3toVyp+YisFp2nJwyxqEoKnfoJxrS5nYFU/rnm1PqdkkW1Jpot3+3nyZKY + +QMbt2I8G7407aQ3NOlGxjbbh6rXJroUps52o2aOdgoXV73ZuIaCugFBAFYBEX2vL + +FwAVzgJAVvFhgHrAesA0iz9mqewSkiQLLARJRYtN4hArTeQIe8j1vKS8yDLG91Cm + +p634gZCh3VG9LYW1qXGM+fz1xgWjbcc5lj6emDzKizAR5jDN7vBAxG+oFE7IFab1 + +9pWP+lEdycrL8fVhh7sGubp51/7OLP81jtGXsd1OKE26+z25phK7xbo1oO2jzbjt + +sHX/Re0d8VWyzbkFiZi1ZQatnJ3UweDttHXzzcylnpWszZthrNm4CVfVsu2cOeX1 + +ijWTXfne5kW3Jf9tpKSLnbG7Xc3MZqbt0btKndIo3HWcpbE8qDqwftbt4zmqWzvj + +a62MbdbkAl3GgZcydG3vXZWKYVm1JyuRsN3G1P0o2WmCfIeRxNnA3f6sJ+3SFYDd + +8N2/0hPtqriE2a9d2N2OIwyjIo3JgpzdxJHI8azhMano3Y1CjN2uYi6N8Sj03bzd + +/sQkCceiwlUY3dAG48Rs3s9dkt3kuZWkgY7E3dzd1t2/0hrdg9t41eaQto3yCaHd + +v52PVdbutuEyXFaqPo3rde+tFbk6DxUpCNXz7tZ6ug6C4VHd2OG41YndhNWmtYgA + +QYAVQQzAfIA8jBgAD1szhF76IQAthHGAVEBMoSNNurLC1cMjYtXgRQKlDIgmoiT0 + +ewhHcqLXewWD9eG7fa2jCfgyp87NbZJdt02yXfKV143DbYFhntWzLaVxsvWA9VK4 + +CSWBwCBzWUjYZqEd5vWRHdMNq7W9hfOZsm6bte+qp3TNpLh5sUGnQVh56gxkNYHF + +87qnOMCt1AaQIdq1zBWxVd4erc2zibhq1O3EdawG3E31nbi00RXrpdRJkuXMWtke + +7vnpRi2VoKtiJo243K3u1PnN4NCXMY314ZGX7ZPe0xblkeKd77KCgeE9nJmTCq1m + +8Y7EWfKqIm2WloPRIqQv8t/5sAq5TYjp+ZWlkYOZ5XsM2nAAT8BtojpyZHgSgG4A + +dRBoAG9AEwA6gB7AUgBmcciAC3YKADcTSzTZQGcTPz3iYZsAAUcRAB2QBgFjADWA + +DmGl0iC9/m5QUFC9tJyG6YevKL2QvZKAT2a46sqTRL2YveS98L3iVcgANzokvbC9 + ++zmqjHS9swBYvYqRZXSivagAWL2PZI7p8r3YveA2EF8qUFamphIaveS9ur2CUAam + +oF9Avdy9jL3jAG+ffqaYX1tq1Xhmvfy9mYWjnxSmnwAhvZ0AZHga0h6AY4Br7zzG + +6aaJRAm95kMtQX5uAudvQB2GDknVvaC0Cb2nq2BAbZAsvfMtnnaKKxIAAF9nABD4 + +AUchKBaAAgBigDs9tABgAGUQcAAN6EfZE7h7vZAAZRAgAA== +``` + +xp diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/EkDMJDGu6kNtKu6.md b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/EkDMJDGu6kNtKu6.md new file mode 100644 index 0000000..b80e9f9 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/EkDMJDGu6kNtKu6.md @@ -0,0 +1,1294 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- + +9w⚠ Odj2Nj Lr wJP0G4L6zQ LoOu Dq E4b yA0D i01dKY1 shkF 8X O378 R9FLZmFkv ⚠ + +# Uf2X + +Kl + +# AC3aa3I + +```compressed-json +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 +``` + +d6 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/LPGOqW4riZ.md b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/LPGOqW4riZ.md new file mode 100644 index 0000000..7e75f79 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/LPGOqW4riZ.md @@ -0,0 +1,24 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- + +2X⚠ XZP5AG hw ai2p1bJOqE cyQx l1 AMr EZmQ MnzdnGO GBzo zx wlnC C5ybKdVOt ⚠ + +Lc + +# CiYY2kD + +```compressed-json +N4IgLgngDgpiBcIYA8DGBDANgSwCYCd0B3EAGhADcZ8BnbAewDsEAmcm+gV31TkQ + +AswYKDXgB6MSgw4CxAHSp6AWzJJMMJTEZgaCANoBdcuihQAymHRg+oMPw18QudPg + +DWqgOb48Z7AC8+Rk5MTHIKbBgiACF0VFcvLkZcAGF6THp8BBAAYgAzfIKQAF8ioA + + +``` + +Br diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/M24Ns6Poy4VJDZZSeVC.png b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/M24Ns6Poy4VJDZZSeVC.png new file mode 100644 index 0000000..6c549e5 Binary files /dev/null and b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/M24Ns6Poy4VJDZZSeVC.png differ diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/nUrDGZnMs0EiIYQSpS.md b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/nUrDGZnMs0EiIYQSpS.md new file mode 100644 index 0000000..3697970 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/nUrDGZnMs0EiIYQSpS.md @@ -0,0 +1,181881 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- + +kR⚠ keeeBr Rb fFgsYOF7Xs 4Vs9 1Y Y2P JUcd S3b1jEr gsby G9 laS4 tpoE7lg9R ⚠ + +# Xrhj + +9s + +# oBtZQDt + +```json +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "text": "000000", + "fontSize": 9.534052165508134, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 8.917565206885163, + "id": "CAUXwDEC", + "type": "text", + "x": 460.91679515659325, + "y": 326.3457063418553, + "width": 39.56631648685874, + "height": 11.917565206885163, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "strokeSharpness": "sharp", + "seed": 67872, + "version": 1172, + "versionNonce": 32989421, + "updated": 1659982558532, + "isDeleted": false, + "groupIds": [], + "boundElements": [], + "link": null, + "locked": false, + "containerId": null, + "originalText": "000000", + "rawText": "000000" + }, + { + "text": "ffff", + "fontSize": 9.534052165508129, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 8.917565206885163, + "id": "AUsT0OdV", + "type": "text", + "x": 479.5081968793352, + "y": 287.25609246327184, + "width": 19.068104331016258, + "height": 11.917565206885163, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "strokeSharpness": "sharp", + "seed": 17641, + "version": 1205, + "versionNonce": 1146957923, + "updated": 1659982558532, + "isDeleted": false, + "groupIds": [], + "boundElements": [], + "link": null, + "locked": false, + "containerId": null, + "originalText": "ffff", + "rawText": "ffff" + }, + { + "id": "HsHCmhTYORbybq7OBjBVC", + "type": "freedraw", + "x": -167.82455806617077, + "y": -100.03305697241643, + "width": 122.68988037109376, + "height": 123.56620788574219, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1380121293, + "version": 979, + "versionNonce": 439942403, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + -4.479161467359573, + 0 + ], + [ + -9.250505009411283, + -9.63995361328125 + ], + [ + -10.613705331308395, + -14.898101806640625 + ], + [ + -11.976953125009446, + -32.425201416015625 + ], + [ + -11.976953125009446, + -43.81781005859375 + ], + [ + -9.250505009411283, + -57.83953857421875 + ], + [ + -2.4344084563178416, + -71.86123657226562 + ], + [ + 13.242632604518649, + -90.26470947265625 + ], + [ + 27.556473343458027, + -97.27555847167969 + ], + [ + 44.596714726191635, + -99.02827453613281 + ], + [ + 62.31860374167772, + -98.15191650390625 + ], + [ + 79.35884512441133, + -89.38836669921875 + ], + [ + 97.76233430084598, + -63.974029541015625 + ], + [ + 102.53363037109376, + -42.06512451171875 + ], + [ + 102.53363037109376, + -21.0325927734375 + ], + [ + 97.08073413989743, + -2.629119873046875 + ], + [ + 76.6324444806171, + 19.27978515625 + ], + [ + 56.86575498228534, + 24.537933349609375 + ], + [ + 34.37256989655147, + 22.78521728515625 + ], + [ + 13.924280237271141, + 13.14532470703125 + ], + [ + -2.4344084563178416, + -3.505462646484375 + ], + [ + -17.429801884401837, + -30.6724853515625 + ], + [ + -20.15625, + -44.6942138671875 + ], + [ + -20.15625, + -55.210479736328125 + ], + [ + -18.111402045350392, + -63.974029541015625 + ], + [ + -12.658553285958003, + -71.86123657226562 + ], + [ + -7.887257215710232, + -76.24301147460938 + ], + [ + -2.4344084563178416, + -77.9957275390625 + ], + [ + 3.018487774878487, + -78.87210083007812 + ], + [ + 7.789783845126258, + -78.87210083007812 + ], + [ + 9.834584327971928, + -78.87210083007812 + ], + [ + 11.879432282621535, + -77.9957275390625 + ], + [ + 11.879432282621535, + -77.9957275390625 + ] + ], + "pressures": [ + 0.009765625, + 0.203125, + 0.26171875, + 0.5478515625, + 0.7724609375, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9384765625, + 0.7265625, + 0.5693359375, + 0.3974609375, + 0.265625, + 0.1767578125, + 0.138671875, + 0.0966796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.032470703125, + -77.9957275390625 + ] + }, + { + "id": "znf-io4prkU9Z2WGU8mqr", + "type": "freedraw", + "x": -182.97323098748734, + "y": -112.9281201002064, + "width": 160.37322998046875, + "height": 30.67242431640625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 84139821, + "version": 803, + "versionNonce": 2141423789, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.2581787109375, + -2.6290283203125 + ], + [ + -6.134521484375, + -3.50543212890625 + ], + [ + -1.75274658203125, + -5.25811767578125 + ], + [ + 9.639892578125, + -6.13446044921875 + ], + [ + 28.91973876953125, + -6.13446044921875 + ], + [ + 63.09759521484375, + -5.25811767578125 + ], + [ + 84.13018798828125, + -2.6290283203125 + ], + [ + 103.40997314453125, + 1.75274658203125 + ], + [ + 120.060791015625, + 7.88720703125 + ], + [ + 132.32977294921875, + 14.021728515625 + ], + [ + 147.227783203125, + 21.03253173828125 + ], + [ + 154.23870849609375, + 24.5379638671875 + ], + [ + 154.23870849609375, + 24.5379638671875 + ] + ], + "pressures": [ + 0.1025390625, + 0.1884765625, + 0.2587890625, + 0.388671875, + 0.744140625, + 1, + 1, + 1, + 1, + 1, + 0.8154296875, + 0.3427734375, + 0.1669921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 154.23870849609375, + 24.5379638671875 + ] + }, + { + "id": "E2NCp1opqAlGYQuRytuYW", + "type": "freedraw", + "x": -170.7042490538936, + "y": -116.43355222911265, + "width": 40.3123779296875, + "height": 44.6942138671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 508944877, + "version": 806, + "versionNonce": 1689805987, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + -1.752685546875 + ], + [ + -5.2581787109375, + -2.6290283203125 + ], + [ + -8.7635498046875, + -3.50543212890625 + ], + [ + -12.26898193359375, + -3.50543212890625 + ], + [ + -17.52716064453125, + -3.50543212890625 + ], + [ + -20.15618896484375, + -1.752685546875 + ], + [ + -21.908935546875, + 0 + ], + [ + -22.7852783203125, + 3.50543212890625 + ], + [ + -21.908935546875, + 7.88720703125 + ], + [ + -16.6507568359375, + 15.7744140625 + ], + [ + -11.39263916015625, + 21.0325927734375 + ], + [ + -6.13446044921875, + 26.290771484375 + ], + [ + 0, + 31.548828125 + ], + [ + 7.88720703125, + 37.683349609375 + ], + [ + 12.26898193359375, + 40.3123779296875 + ], + [ + 17.527099609375, + 41.18878173828125 + ], + [ + 17.527099609375, + 41.18878173828125 + ] + ], + "pressures": [ + 0.0849609375, + 0.5029296875, + 0.8955078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.201171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 17.527099609375, + 41.18878173828125 + ] + }, + { + "id": "_-iAjkWscrAXTq0phDoaQ", + "type": "freedraw", + "x": -81.31594338983109, + "y": -112.0517773267689, + "width": 84.13018798828125, + "height": 36.80694580078125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 465467203, + "version": 814, + "versionNonce": 753396493, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.62908935546875, + -0.8763427734375 + ], + [ + 3.50543212890625, + -0.8763427734375 + ], + [ + 4.38177490234375, + 0 + ], + [ + 6.13446044921875, + 3.50543212890625 + ], + [ + 7.88720703125, + 7.0108642578125 + ], + [ + 7.88720703125, + 10.51629638671875 + ], + [ + 5.25811767578125, + 14.8980712890625 + ], + [ + 0.8763427734375, + 17.5272216796875 + ], + [ + -6.134521484375, + 20.15618896484375 + ], + [ + -14.021728515625, + 23.66162109375 + ], + [ + -25.414306640625, + 28.04339599609375 + ], + [ + -32.4251708984375, + 29.796142578125 + ], + [ + -38.5596923828125, + 31.548828125 + ], + [ + -42.94146728515625, + 33.30157470703125 + ], + [ + -46.4468994140625, + 34.17791748046875 + ], + [ + -52.58135986328125, + 35.0543212890625 + ], + [ + -61.34490966796875, + 35.93060302734375 + ], + [ + -65.7266845703125, + 35.93060302734375 + ], + [ + -68.35577392578125, + 35.93060302734375 + ], + [ + -70.10845947265625, + 35.93060302734375 + ], + [ + -70.98486328125, + 35.93060302734375 + ], + [ + -72.737548828125, + 35.93060302734375 + ], + [ + -74.49029541015625, + 35.0543212890625 + ], + [ + -75.36663818359375, + 34.17791748046875 + ], + [ + -76.24298095703125, + 34.17791748046875 + ], + [ + -75.36663818359375, + 34.17791748046875 + ], + [ + -75.36663818359375, + 33.30157470703125 + ], + [ + -74.49029541015625, + 33.30157470703125 + ], + [ + -73.6138916015625, + 33.30157470703125 + ], + [ + -73.6138916015625, + 33.30157470703125 + ] + ], + "pressures": [ + 0.01171875, + 0.265625, + 0.3427734375, + 0.677734375, + 0.880859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2421875, + 0.1572265625, + 0.119140625, + 0.0498046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -73.6138916015625, + 33.30157470703125 + ] + }, + { + "id": "1u3pvAr3vCiO6l65VqLU3", + "type": "freedraw", + "x": -141.85671764853134, + "y": -123.50165567260524, + "width": 46.20783025568181, + "height": 78.87204256924713, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1027500355, + "version": 675, + "versionNonce": 1714018371, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -3.983431729403435 + ], + [ + -3.983431729403378, + -15.137051669034065 + ], + [ + -3.983431729403378, + -25.493968616832376 + ], + [ + -1.593350497159065, + -39.037669788707376 + ], + [ + 2.390081232244313, + -50.19128972833806 + ], + [ + 7.170188210227309, + -56.56477494673294 + ], + [ + 10.356944691051126, + -59.75153142755681 + ], + [ + 18.323808149857996, + -60.54823441938919 + ], + [ + 27.087346857244313, + -57.361477938565315 + ], + [ + 35.05426580255687, + -50.19128972833806 + ], + [ + 41.427723277698874, + -32.664156827059685 + ], + [ + 39.83437278053975, + -16.730402166193187 + ], + [ + 32.6641845703125, + -2.390025745738626 + ], + [ + 23.900645862926126, + 9.560269442471565 + ], + [ + 14.340376420454561, + 16.730457652698874 + ], + [ + 7.170188210227309, + 18.32380814985794 + ], + [ + -0.7966752485795041, + 5.576837713068187 + ], + [ + -3.983431729403378, + -7.170188210227252 + ], + [ + -4.780106977982939, + -20.713833895596565 + ], + [ + -3.983431729403378, + -38.240966796875 + ], + [ + -0.7966752485795041, + -45.41115500710225 + ], + [ + 2.390081232244313, + -50.19128972833806 + ], + [ + 4.780106977982996, + -51.78466796875 + ], + [ + 7.170188210227309, + -51.78466796875 + ], + [ + 8.763538707386374, + -51.78466796875 + ], + [ + 9.560269442471622, + -49.39458673650569 + ], + [ + 9.560269442471622, + -49.39458673650569 + ] + ], + "pressures": [ + 0.06640625, + 0.3564453125, + 0.8642578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.609375, + 0.26953125, + 0.1787109375, + 0.046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 9.560269442471622, + -49.39458673650569 + ] + }, + { + "id": "KRFtE2-TwjGDTESWvg1l1", + "type": "freedraw", + "x": -180.09768444540634, + "y": -125.89168141834386, + "width": 16.730457652698817, + "height": 75.68528608842325, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 252410851, + "version": 671, + "versionNonce": 1278280045, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350851911, + -10.356944691051126 + ], + [ + 0, + -19.917214133522748 + ], + [ + 1.593350497159122, + -29.477455832741498 + ], + [ + 3.983431729403435, + -38.24102228338069 + ], + [ + 6.373457475142061, + -45.41121049360794 + ], + [ + 9.560213955965935, + -50.98802046342331 + ], + [ + 11.950295188210248, + -54.17474920099431 + ], + [ + 11.950295188210248, + -54.97145219282669 + ], + [ + 13.543645685369313, + -53.37807395241475 + ], + [ + 15.137051669034122, + -43.021129261363626 + ], + [ + 15.933726917613626, + -29.477455832741498 + ], + [ + 15.137051669034122, + -11.153619939630687 + ], + [ + 11.950295188210248, + 4.780106977982939 + ], + [ + 8.763594193892061, + 15.137051669034065 + ], + [ + 6.373457475142061, + 20.713833895596565 + ], + [ + 5.5767822265625, + 20.713833895596565 + ], + [ + 3.983431729403435, + 15.137051669034065 + ], + [ + 3.186756480823874, + 6.373457475142061 + ], + [ + 2.390025745738626, + -10.356944691051126 + ], + [ + 2.390025745738626, + -20.71388938210231 + ], + [ + 3.186756480823874, + -27.88407759232956 + ], + [ + 3.186756480823874, + -32.66421231356537 + ], + [ + 3.983431729403435, + -35.05426580255681 + ], + [ + 3.983431729403435, + -37.44431929154831 + ], + [ + 4.780162464488626, + -37.44431929154831 + ], + [ + 5.5767822265625, + -38.24102228338069 + ], + [ + 5.5767822265625, + -38.24102228338069 + ] + ], + "pressures": [ + 0.033203125, + 0.5234375, + 0.7626953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9169921875, + 0.708984375, + 0.3359375, + 0.2607421875, + 0.1767578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.5767822265625, + -38.24102228338069 + ] + }, + { + "id": "uqHySWBiR90FMG4h0H0qL", + "type": "freedraw", + "x": -129.9064224603211, + "y": -171.3028919119518, + "width": 31.070834073153378, + "height": 55.76812744140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 858846563, + "version": 663, + "versionNonce": 208394211, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.763538707386374, + 3.98345947265625 + ], + [ + -11.950295188210248, + 11.153647682883502 + ], + [ + -15.137051669034122, + 19.120511141690315 + ], + [ + -15.137051669034122, + 27.884077592329504 + ], + [ + -15.137051669034122, + 35.05426580255681 + ], + [ + -9.560213955965935, + 40.63104802911931 + ], + [ + -5.5767822265625, + 43.021129261363626 + ], + [ + -0.796675248579561, + 43.021129261363626 + ], + [ + 3.186756480823874, + 41.427778764204504 + ], + [ + 7.9669189453125, + 33.460859818892004 + ], + [ + 10.356944691051126, + 25.49399636008519 + ], + [ + 11.950350674715878, + 17.527132901278378 + ], + [ + 12.747025923295439, + 11.153647682883502 + ], + [ + 12.747025923295439, + 4.780134721235754 + ], + [ + 9.560269442471565, + -2.390053488991498 + ], + [ + 5.576837713068187, + -7.170160466974437 + ], + [ + 1.593405983664752, + -11.153619939630687 + ], + [ + -2.390025745738626, + -12.746998180042624 + ], + [ + -7.966863458806813, + -9.56024169921875 + ], + [ + -11.950295188210248, + -2.390053488991498 + ], + [ + -14.340376420454561, + 5.576809969815315 + ], + [ + -16.730402166193187, + 12.746998180042567 + ], + [ + -17.527077414772748, + 19.120511141690315 + ], + [ + -18.32380814985794, + 27.08740234375 + ], + [ + -18.32380814985794, + 31.070834073153378 + ], + [ + -16.730402166193187, + 34.25759055397725 + ], + [ + -13.543645685369313, + 36.64761629971588 + ], + [ + -10.356889204545439, + 37.44429154829544 + ], + [ + -10.356889204545439, + 37.44429154829544 + ] + ], + "pressures": [ + 0.0400390625, + 0.7109375, + 0.8935546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.826171875, + 0.3447265625, + 0.0458984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -10.356889204545439, + 37.44429154829544 + ] + }, + { + "id": "WjY3koPCkiIgVmDCmtWh2", + "type": "freedraw", + "x": -171.33409025151428, + "y": -168.9128106797075, + "width": 10.356889204545496, + "height": 35.850941051136374, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 157510029, + "version": 664, + "versionNonce": 583551949, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + 0.7966752485795041 + ], + [ + -1.593405983664752, + 3.983431729403378 + ], + [ + -1.593405983664752, + 7.966863458806813 + ], + [ + -3.186811967329561, + 15.933726917613626 + ], + [ + -3.186811967329561, + 22.307239879261317 + ], + [ + -3.186811967329561, + 27.884022105823817 + ], + [ + -3.186811967329561, + 31.86750932173294 + ], + [ + -3.186811967329561, + 32.6641845703125 + ], + [ + -0.7967307350852479, + 31.86750932173294 + ], + [ + 1.593295010653435, + 30.274103338068187 + ], + [ + 4.780051491477252, + 25.49399636008519 + ], + [ + 5.5767822265625, + 22.307239879261317 + ], + [ + 6.373457475142061, + 19.917186390269876 + ], + [ + 6.373457475142061, + 17.527105158025563 + ], + [ + 6.373457475142061, + 13.543673428622128 + ], + [ + 6.373457475142061, + 11.153619939630687 + ], + [ + 6.373457475142061, + 7.966863458806813 + ], + [ + 5.5767822265625, + 6.373485218394876 + ], + [ + 4.780051491477252, + 3.983431729403378 + ], + [ + 3.186700994318187, + 0.7966752485795041 + ], + [ + 1.593295010653435, + -1.593378240411937 + ], + [ + 0.796619762073874, + -3.186756480823874 + ], + [ + 0, + -3.186756480823874 + ], + [ + -0.7967307350852479, + -3.186756480823874 + ], + [ + -1.593405983664752, + -3.186756480823874 + ], + [ + -2.39013671875, + -3.186756480823874 + ], + [ + -3.186811967329561, + -2.390081232244313 + ], + [ + -3.983431729403435, + 0 + ], + [ + -3.983431729403435, + 3.983431729403378 + ], + [ + -3.983431729403435, + 6.373485218394876 + ], + [ + -3.983431729403435, + 7.170188210227252 + ], + [ + -3.186811967329561, + 8.763566450639189 + ], + [ + -3.186811967329561, + 8.763566450639189 + ] + ], + "pressures": [ + 0.0322265625, + 0.552734375, + 0.6337890625, + 0.666015625, + 0.7666015625, + 0.8876953125, + 0.951171875, + 0.97265625, + 0.9833984375, + 0.98828125, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.876953125, + 0.6806640625, + 0.56640625, + 0.248046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.186811967329561, + 8.763566450639189 + ] + }, + { + "id": "tIHQaa-ufKxfP5yK0olKe", + "type": "freedraw", + "x": -140.26331166486654, + "y": -98.00765931251999, + "width": 9.560269442471565, + "height": 3.186700994318187, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1767615331, + "version": 646, + "versionNonce": 93119363, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795041 + ], + [ + -0.7967307350852479, + 0.7966752485795041 + ], + [ + 0, + 0.7966752485795041 + ], + [ + 0.7966752485795041, + 0 + ], + [ + 1.593350497159065, + -0.796675248579561 + ], + [ + 1.593350497159065, + -1.593295010653435 + ], + [ + 2.390025745738626, + -2.390025745738683 + ], + [ + 3.186700994318187, + -2.390025745738683 + ], + [ + 3.983431729403378, + -2.390025745738683 + ], + [ + 6.373457475142004, + -1.593295010653435 + ], + [ + 7.966863458806813, + -0.796675248579561 + ], + [ + 7.966863458806813, + 0 + ], + [ + 8.763538707386317, + 0 + ], + [ + 7.966863458806813, + 0 + ], + [ + 7.966863458806813, + 0 + ] + ], + "pressures": [ + 0.025390625, + 0.22265625, + 0.34765625, + 0.392578125, + 0.392578125, + 0.3994140625, + 0.3994140625, + 0.4033203125, + 0.4072265625, + 0.4091796875, + 0.4150390625, + 0.4189453125, + 0.419921875, + 0.421875, + 0.2392578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.966863458806813, + 0 + ] + }, + { + "id": "0NmJ-6cIvB8t4mp1yEtQX", + "type": "freedraw", + "x": -117.95607178560522, + "y": -110.7546297493098, + "width": 31.867509321732996, + "height": 71.70182661576706, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 768161475, + "version": 727, + "versionNonce": 281496109, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.796675248579561, + 2.390025745738626 + ], + [ + -0.7967307350851911, + 2.390025745738626 + ], + [ + -3.983431729403378, + 2.390025745738626 + ], + [ + -7.170188210227252, + 2.390025745738626 + ], + [ + -11.950350674715878, + -1.593405983664752 + ], + [ + -13.543701171875, + -3.186756480823874 + ], + [ + -14.340376420454504, + -4.780162464488626 + ], + [ + -15.137107155539752, + -6.373512961647691 + ], + [ + -15.137107155539752, + -7.170188210227252 + ], + [ + -15.137107155539752, + -8.763594193892004 + ], + [ + -15.137107155539752, + -9.560269442471565 + ], + [ + -13.543701171875, + -10.356944691051126 + ], + [ + -11.15361993963063, + -11.153619939630687 + ], + [ + -9.560269442471565, + -11.153619939630687 + ], + [ + -7.9669189453125, + -11.153619939630687 + ], + [ + -6.373512961647691, + -10.356944691051126 + ], + [ + -4.780162464488626, + -9.560269442471565 + ], + [ + -3.983431729403378, + -8.763594193892004 + ], + [ + -2.390081232244313, + -8.763594193892004 + ], + [ + -1.593405983664752, + -8.763594193892004 + ], + [ + -0.7967307350851911, + -7.966863458806813 + ], + [ + 0.796675248579561, + -7.966863458806813 + ], + [ + 3.186700994318187, + -7.966863458806813 + ], + [ + 4.780106977982996, + -7.966863458806813 + ], + [ + 5.5767822265625, + -8.763594193892004 + ], + [ + 6.373457475142118, + -8.763594193892004 + ], + [ + 6.373457475142118, + -9.560269442471565 + ], + [ + 7.96686345880687, + -11.153619939630687 + ], + [ + 8.763538707386374, + -13.543701171875 + ], + [ + 8.763538707386374, + -15.137051669034065 + ], + [ + 9.560213955965878, + -15.137051669034065 + ], + [ + 10.356889204545496, + -15.137051669034065 + ], + [ + 11.153619939630744, + -15.137051669034065 + ], + [ + 11.950295188210248, + -15.137051669034065 + ], + [ + 12.746970436789752, + -15.137051669034065 + ], + [ + 13.54364568536937, + -14.340376420454504 + ], + [ + 14.340376420454618, + -13.543701171875 + ], + [ + 15.137051669034122, + -11.153619939630687 + ], + [ + 15.137051669034122, + -7.966863458806813 + ], + [ + 15.933726917613626, + -4.780162464488626 + ], + [ + 15.933726917613626, + -3.186756480823874 + ], + [ + 15.933726917613626, + -1.593405983664752 + ], + [ + 15.137051669034122, + -0.7966752485795041 + ], + [ + 13.54364568536937, + 0.796675248579561 + ], + [ + 11.950295188210248, + 0.796675248579561 + ], + [ + 10.356889204545496, + 1.593350497159122 + ], + [ + 8.763538707386374, + 2.390025745738626 + ], + [ + 7.96686345880687, + 2.390025745738626 + ], + [ + 6.373457475142118, + 3.983431729403435 + ], + [ + 6.373457475142118, + 4.780106977982996 + ], + [ + 6.373457475142118, + 6.373512961647748 + ], + [ + 6.373457475142118, + 7.966863458806813 + ], + [ + 6.373457475142118, + 11.950295188210248 + ], + [ + 6.373457475142118, + 13.543645685369313 + ], + [ + 7.170188210227252, + 15.137107155539809 + ], + [ + 8.763538707386374, + 17.527132901278435 + ], + [ + 11.153619939630744, + 21.510564630681813 + ], + [ + 13.54364568536937, + 26.29067160866481 + ], + [ + 15.137051669034122, + 30.274103338068187 + ], + [ + 15.137051669034122, + 33.46085981889206 + ], + [ + 15.933726917613626, + 38.240966796875 + ], + [ + 16.730402166193244, + 41.427723277698874 + ], + [ + 16.730402166193244, + 44.61447975852275 + ], + [ + 16.730402166193244, + 47.00456099076706 + ], + [ + 15.933726917613626, + 49.39458673650569 + ], + [ + 14.340376420454618, + 52.58134321732956 + ], + [ + 11.950295188210248, + 54.97147993607956 + ], + [ + 9.560213955965878, + 56.564774946732996 + ], + [ + 6.373457475142118, + 56.564774946732996 + ], + [ + 0.796675248579561, + 56.564774946732996 + ], + [ + -2.390081232244313, + 56.564774946732996 + ], + [ + -4.780162464488626, + 55.768099698153435 + ], + [ + -6.373512961647691, + 54.97147993607956 + ], + [ + -9.560269442471565, + 53.37801846590912 + ], + [ + -11.15361993963063, + 51.78466796875 + ], + [ + -11.950350674715878, + 50.19126198508525 + ], + [ + -12.747025923295439, + 48.597911487926126 + ], + [ + -12.747025923295439, + 46.20783025568181 + ], + [ + -11.950350674715878, + 42.224398526278435 + ], + [ + -9.560269442471565, + 39.03769753196025 + ], + [ + -7.9669189453125, + 35.850941051136374 + ], + [ + -7.170188210227252, + 35.05426580255681 + ], + [ + -3.186756480823817, + 18.323808149857996 + ], + [ + -3.186756480823817, + 16.730402166193187 + ], + [ + -3.983431729403378, + 11.950295188210248 + ], + [ + -3.983431729403378, + 11.153675426136374 + ], + [ + -3.983431729403378, + 9.560213955965935 + ], + [ + -4.780162464488626, + 7.170188210227309 + ], + [ + -4.780162464488626, + 4.780106977982996 + ], + [ + -4.780162464488626, + 3.186756480823874 + ], + [ + -4.780162464488626, + 1.593350497159122 + ], + [ + -4.780162464488626, + 0.796675248579561 + ], + [ + -4.780162464488626, + 0 + ], + [ + -4.780162464488626, + -1.593405983664752 + ], + [ + -4.780162464488626, + -2.390081232244313 + ], + [ + -3.186756480823817, + -0.7966752485795041 + ], + [ + -3.186756480823817, + 0.796675248579561 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.029296875, + 0.390625, + 0.5234375, + 0.71875, + 0.849609375, + 0.9580078125, + 0.97265625, + 0.98828125, + 0.98828125, + 0.990234375, + 0.990234375, + 0.994140625, + 1, + 0.994140625, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2890625, + 0.14453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.186756480823817, + 0.796675248579561 + ] + }, + { + "id": "2k6F91j5tbtpaTNLxGQ-C", + "type": "freedraw", + "x": -175.31752198091772, + "y": -168.116135431128, + "width": 18.32380814985794, + "height": 22.307239879261374, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1333898733, + "version": 659, + "versionNonce": 969636643, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.796619762073874, + 0 + ], + [ + -0.7967307350851911, + 1.593378240411937 + ], + [ + -2.39013671875, + 3.186756480823874 + ], + [ + -3.186811967329504, + 3.983431729403435 + ], + [ + -3.983431729403378, + 3.983431729403435 + ], + [ + -4.780162464488626, + 3.983431729403435 + ], + [ + -5.576893199573817, + 3.983431729403435 + ], + [ + -5.576893199573817, + 3.186756480823874 + ], + [ + -5.576893199573817, + 1.593378240411937 + ], + [ + -3.983431729403378, + -1.5933782404118801 + ], + [ + -3.983431729403378, + -2.390053488991441 + ], + [ + -3.186811967329504, + -2.390053488991441 + ], + [ + -3.983431729403378, + -2.390053488991441 + ], + [ + -6.373568448153378, + -2.390053488991441 + ], + [ + -8.763594193892004, + -1.5933782404118801 + ], + [ + -11.153675426136317, + 0.7967029918324329 + ], + [ + -13.54375665838063, + 4.780134721235811 + ], + [ + -15.933782404119313, + 10.356944691051183 + ], + [ + -16.730513139204504, + 13.543701171875 + ], + [ + -17.527188387784065, + 16.73042990944606 + ], + [ + -17.527188387784065, + 19.120511141690372 + ], + [ + -16.730513139204504, + 19.917186390269933 + ], + [ + -15.137107155539752, + 19.917186390269933 + ], + [ + -12.747081409801126, + 19.917186390269933 + ], + [ + -10.357000177556813, + 18.323808149857996 + ], + [ + -6.373568448153378, + 14.340376420454561 + ], + [ + -4.780162464488626, + 11.153619939630687 + ], + [ + -3.983431729403378, + 7.966891202059685 + ], + [ + -3.983431729403378, + 6.373512961647748 + ], + [ + -3.186811967329504, + 5.576809969815372 + ], + [ + -2.39013671875, + 5.576809969815372 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.033203125, + 0.4287109375, + 0.6220703125, + 0.7587890625, + 0.853515625, + 0.8935546875, + 0.9619140625, + 0.9794921875, + 0.9775390625, + 0.9755859375, + 0.970703125, + 0.9619140625, + 0.9580078125, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9423828125, + 0.8720703125, + 0.8447265625, + 0.8369140625, + 0.83203125, + 0.830078125, + 0.83203125, + 0.7783203125, + 0.4599609375, + 0.2734375, + 0.142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.39013671875, + 5.576809969815372 + ] + }, + { + "id": "AVPyxxpl7rCmzn-c3KkGM", + "type": "freedraw", + "x": -106.00577659739497, + "y": -168.9128106797075, + "width": 22.307239879261374, + "height": 31.86750932173294, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 918258925, + "version": 935, + "versionNonce": 924286093, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0.7966752485795041 + ], + [ + 0.7966752485795041, + 0.7966752485795041 + ], + [ + 2.39008123224437, + 0.7966752485795041 + ], + [ + 4.780106977982996, + 0 + ], + [ + 5.5767822265625, + -1.593378240411937 + ], + [ + 6.373512961647748, + -4.780134721235811 + ], + [ + 6.373512961647748, + -7.170188210227309 + ], + [ + 6.373512961647748, + -9.56024169921875 + ], + [ + 6.373512961647748, + -12.746998180042624 + ], + [ + 6.373512961647748, + -15.137079412286937 + ], + [ + 6.373512961647748, + -16.73042990944606 + ], + [ + 6.373512961647748, + -17.527132901278435 + ], + [ + 7.96686345880687, + -17.527132901278435 + ], + [ + 9.560269442471622, + -17.527132901278435 + ], + [ + 11.15361993963063, + -15.137079412286937 + ], + [ + 14.340376420454504, + -11.153619939630687 + ], + [ + 17.527132901278378, + -3.983431729403435 + ], + [ + 19.917158647017004, + 0 + ], + [ + 20.713889382102252, + 3.983431729403378 + ], + [ + 21.51056463068187, + 7.170188210227252 + ], + [ + 21.51056463068187, + 11.153619939630687 + ], + [ + 19.917158647017004, + 13.543673428622128 + ], + [ + 17.527132901278378, + 14.340376420454504 + ], + [ + 14.340376420454504, + 14.340376420454504 + ], + [ + 11.15361993963063, + 14.340376420454504 + ], + [ + 6.373512961647748, + 12.746998180042567 + ], + [ + 4.780106977982996, + 11.153619939630687 + ], + [ + 3.186756480823874, + 10.356916947798254 + ], + [ + 3.186756480823874, + 9.56024169921875 + ], + [ + 1.593350497159122, + 8.763566450639189 + ], + [ + 1.593350497159122, + 7.170188210227252 + ], + [ + 0.7966752485795041, + 6.373485218394876 + ], + [ + 0.7966752485795041, + 5.576809969815315 + ], + [ + 0.7966752485795041, + 4.780106977982939 + ], + [ + 0.7966752485795041, + 3.186728737571002 + ], + [ + 0.7966752485795041, + 1.593378240411937 + ], + [ + 0.7966752485795041, + 0 + ], + [ + 0, + -0.796702991832376 + ], + [ + 0.7966752485795041, + -0.796702991832376 + ], + [ + 2.39008123224437, + 0 + ], + [ + 4.780106977982996, + 2.390053488991441 + ], + [ + 5.5767822265625, + 3.983431729403378 + ], + [ + 6.373512961647748, + 3.983431729403378 + ], + [ + 6.373512961647748, + 3.186728737571002 + ], + [ + 5.5767822265625, + 0.7966752485795041 + ], + [ + 4.780106977982996, + -1.593378240411937 + ], + [ + 4.780106977982996, + -3.186756480823874 + ], + [ + 5.5767822265625, + -1.593378240411937 + ], + [ + 7.170188210227252, + 1.593378240411937 + ], + [ + 7.96686345880687, + 3.186728737571002 + ], + [ + 7.170188210227252, + 1.593378240411937 + ], + [ + 6.373512961647748, + 1.593378240411937 + ], + [ + 7.96686345880687, + 3.186728737571002 + ], + [ + 7.96686345880687, + 3.983431729403378 + ], + [ + 8.763538707386374, + 3.983431729403378 + ], + [ + 8.763538707386374, + 4.780106977982939 + ], + [ + 6.373512961647748, + 3.186728737571002 + ], + [ + 4.780106977982996, + 1.593378240411937 + ], + [ + 3.983431729403378, + 0.7966752485795041 + ], + [ + 3.983431729403378, + 1.593378240411937 + ], + [ + 4.780106977982996, + 3.186728737571002 + ], + [ + 5.5767822265625, + 3.983431729403378 + ], + [ + 4.780106977982996, + 3.983431729403378 + ], + [ + 3.186756480823874, + 3.186728737571002 + ], + [ + 4.780106977982996, + 4.780106977982939 + ], + [ + 5.5767822265625, + 5.576809969815315 + ], + [ + 5.5767822265625, + 6.373485218394876 + ], + [ + 5.5767822265625, + 7.170188210227252 + ], + [ + 5.5767822265625, + 6.373485218394876 + ], + [ + 3.186756480823874, + 4.780106977982939 + ], + [ + 0.7966752485795041, + 2.390053488991441 + ], + [ + 0, + 1.593378240411937 + ], + [ + 1.593350497159122, + 2.390053488991441 + ], + [ + 3.983431729403378, + 6.373485218394876 + ], + [ + 6.373512961647748, + 8.763566450639189 + ], + [ + 7.96686345880687, + 11.153619939630687 + ], + [ + 8.763538707386374, + 11.950295188210191 + ], + [ + 8.763538707386374, + 11.153619939630687 + ], + [ + 8.763538707386374, + 8.763566450639189 + ], + [ + 7.96686345880687, + 7.170188210227252 + ], + [ + 7.170188210227252, + 6.373485218394876 + ], + [ + 7.170188210227252, + 5.576809969815315 + ], + [ + 7.96686345880687, + 6.373485218394876 + ], + [ + 11.950295188210248, + 8.763566450639189 + ], + [ + 12.746970436789752, + 8.763566450639189 + ], + [ + 11.15361993963063, + 7.170188210227252 + ], + [ + 9.560269442471622, + 5.576809969815315 + ], + [ + 7.96686345880687, + 3.186728737571002 + ], + [ + 7.170188210227252, + 1.593378240411937 + ], + [ + 7.170188210227252, + 0.7966752485795041 + ], + [ + 7.96686345880687, + 2.390053488991441 + ], + [ + 11.15361993963063, + 6.373485218394876 + ], + [ + 13.543701171875, + 9.56024169921875 + ], + [ + 14.340376420454504, + 10.356916947798254 + ], + [ + 13.543701171875, + 8.763566450639189 + ], + [ + 10.356944691051126, + 4.780106977982939 + ], + [ + 9.560269442471622, + 2.390053488991441 + ], + [ + 8.763538707386374, + 1.593378240411937 + ], + [ + 8.763538707386374, + 2.390053488991441 + ], + [ + 10.356944691051126, + 3.983431729403378 + ], + [ + 12.746970436789752, + 6.373485218394876 + ], + [ + 13.543701171875, + 7.966863458806813 + ], + [ + 13.543701171875, + 7.170188210227252 + ], + [ + 11.15361993963063, + 3.186728737571002 + ], + [ + 9.560269442471622, + -0.796702991832376 + ], + [ + 7.96686345880687, + -3.983431729403435 + ], + [ + 7.96686345880687, + -4.780134721235811 + ], + [ + 7.96686345880687, + -3.983431729403435 + ], + [ + 9.560269442471622, + -1.593378240411937 + ], + [ + 9.560269442471622, + 0 + ], + [ + 10.356944691051126, + 0 + ], + [ + 10.356944691051126, + -2.390081232244313 + ], + [ + 10.356944691051126, + -5.576809969815372 + ], + [ + 10.356944691051126, + -7.170188210227309 + ], + [ + 11.15361993963063, + -3.983431729403435 + ], + [ + 11.950295188210248, + 0 + ], + [ + 13.543701171875, + 2.390053488991441 + ], + [ + 13.543701171875, + 3.186728737571002 + ], + [ + 8.763538707386374, + -13.543701171875 + ], + [ + 9.560269442471622, + -12.746998180042624 + ], + [ + 10.356944691051126, + -9.56024169921875 + ], + [ + 11.15361993963063, + -6.373512961647748 + ], + [ + 11.950295188210248, + -3.186756480823874 + ], + [ + 12.746970436789752, + -0.796702991832376 + ], + [ + 12.746970436789752, + -1.593378240411937 + ], + [ + 11.950295188210248, + -4.780134721235811 + ], + [ + 11.15361993963063, + -8.763566450639246 + ], + [ + 10.356944691051126, + -14.340376420454561 + ], + [ + 10.356944691051126, + -15.137079412286937 + ], + [ + 10.356944691051126, + -11.950322931463063 + ], + [ + 11.950295188210248, + -6.373512961647748 + ], + [ + 12.746970436789752, + -5.576809969815372 + ], + [ + 12.746970436789752, + -4.780134721235811 + ], + [ + 12.746970436789752, + -7.170188210227309 + ], + [ + 12.746970436789752, + -10.356944691051126 + ], + [ + 11.950295188210248, + -12.746998180042624 + ], + [ + 11.950295188210248, + -11.950322931463063 + ], + [ + 12.746970436789752, + -8.763566450639246 + ], + [ + 13.543701171875, + -4.780134721235811 + ], + [ + 13.543701171875, + -6.373512961647748 + ], + [ + 11.950295188210248, + -10.356944691051126 + ], + [ + 11.950295188210248, + -11.950322931463063 + ], + [ + 11.15361993963063, + -12.746998180042624 + ], + [ + 11.15361993963063, + -13.543701171875 + ], + [ + 11.15361993963063, + -7.966891202059685 + ], + [ + 12.746970436789752, + -3.186756480823874 + ], + [ + 13.543701171875, + 1.593378240411937 + ], + [ + 13.543701171875, + 3.983431729403378 + ], + [ + 14.340376420454504, + 4.780106977982939 + ], + [ + 12.746970436789752, + 1.593378240411937 + ], + [ + 11.950295188210248, + -3.186756480823874 + ], + [ + 11.15361993963063, + -9.56024169921875 + ], + [ + 11.15361993963063, + -11.153619939630687 + ], + [ + 11.15361993963063, + -9.56024169921875 + ], + [ + 11.15361993963063, + -5.576809969815372 + ], + [ + 11.950295188210248, + -1.593378240411937 + ], + [ + 11.950295188210248, + -3.186756480823874 + ], + [ + 11.950295188210248, + -7.170188210227309 + ], + [ + 11.15361993963063, + -11.153619939630687 + ], + [ + 10.356944691051126, + -14.340376420454561 + ], + [ + 10.356944691051126, + -15.137079412286937 + ], + [ + 11.15361993963063, + -12.746998180042624 + ], + [ + 11.950295188210248, + -9.56024169921875 + ], + [ + 12.746970436789752, + -6.373512961647748 + ], + [ + 12.746970436789752, + -2.390081232244313 + ], + [ + 12.746970436789752, + -1.593378240411937 + ], + [ + 12.746970436789752, + -0.796702991832376 + ], + [ + 12.746970436789752, + -1.593378240411937 + ], + [ + 11.950295188210248, + -3.983431729403435 + ], + [ + 10.356944691051126, + -9.56024169921875 + ], + [ + 9.560269442471622, + -13.543701171875 + ], + [ + 9.560269442471622, + -15.137079412286937 + ], + [ + 9.560269442471622, + -15.933754660866498 + ], + [ + 9.560269442471622, + -14.340376420454561 + ], + [ + 10.356944691051126, + -12.746998180042624 + ], + [ + 11.15361993963063, + -11.153619939630687 + ], + [ + 11.15361993963063, + -8.763566450639246 + ], + [ + 11.15361993963063, + -7.170188210227309 + ], + [ + 11.15361993963063, + -6.373512961647748 + ], + [ + 11.15361993963063, + -8.763566450639246 + ], + [ + 11.15361993963063, + -12.746998180042624 + ], + [ + 10.356944691051126, + -15.933754660866498 + ], + [ + 10.356944691051126, + -16.73042990944606 + ], + [ + 11.15361993963063, + -14.340376420454561 + ], + [ + 11.950295188210248, + -11.153619939630687 + ], + [ + 12.746970436789752, + -8.763566450639246 + ], + [ + 12.746970436789752, + -7.966891202059685 + ], + [ + 12.746970436789752, + -9.56024169921875 + ], + [ + 11.950295188210248, + -12.746998180042624 + ], + [ + 11.15361993963063, + -14.340376420454561 + ], + [ + 11.15361993963063, + -13.543701171875 + ], + [ + 11.15361993963063, + -10.356944691051126 + ], + [ + 11.950295188210248, + -4.780134721235811 + ], + [ + 11.950295188210248, + -0.796702991832376 + ], + [ + 11.950295188210248, + 3.186728737571002 + ], + [ + 11.950295188210248, + 7.170188210227252 + ], + [ + 11.950295188210248, + 9.56024169921875 + ], + [ + 11.15361993963063, + 8.763566450639189 + ], + [ + 10.356944691051126, + 5.576809969815315 + ], + [ + 8.763538707386374, + 0.7966752485795041 + ], + [ + 8.763538707386374, + -0.796702991832376 + ], + [ + 8.763538707386374, + -1.593378240411937 + ], + [ + 11.15361993963063, + 1.593378240411937 + ], + [ + 13.543701171875, + 7.966863458806813 + ], + [ + 14.340376420454504, + 11.153619939630687 + ], + [ + 15.137051669034122, + 11.950295188210191 + ], + [ + 15.137051669034122, + 10.356916947798254 + ], + [ + 14.340376420454504, + 6.373485218394876 + ], + [ + 13.543701171875, + 3.983431729403378 + ], + [ + 13.543701171875, + 3.186728737571002 + ], + [ + 13.543701171875, + 2.390053488991441 + ], + [ + 13.543701171875, + 4.780106977982939 + ], + [ + 15.137051669034122, + 9.56024169921875 + ], + [ + 15.933726917613626, + 11.153619939630687 + ], + [ + 15.933726917613626, + 10.356916947798254 + ], + [ + 15.933726917613626, + 7.170188210227252 + ], + [ + 15.137051669034122, + 0.7966752485795041 + ], + [ + 14.340376420454504, + -3.186756480823874 + ], + [ + 14.340376420454504, + -4.780134721235811 + ], + [ + 14.340376420454504, + -5.576809969815372 + ], + [ + 14.340376420454504, + -4.780134721235811 + ], + [ + 15.933726917613626, + -1.593378240411937 + ], + [ + 16.73040216619313, + 1.593378240411937 + ], + [ + 17.527132901278378, + 5.576809969815315 + ], + [ + 17.527132901278378, + 7.170188210227252 + ], + [ + 17.527132901278378, + 7.966863458806813 + ], + [ + 17.527132901278378, + 7.170188210227252 + ], + [ + 17.527132901278378, + 4.780106977982939 + ], + [ + 16.73040216619313, + 1.593378240411937 + ], + [ + 16.73040216619313, + -2.390081232244313 + ], + [ + 16.73040216619313, + -3.186756480823874 + ], + [ + 16.73040216619313, + -1.593378240411937 + ], + [ + 16.73040216619313, + 1.593378240411937 + ], + [ + 16.73040216619313, + 3.983431729403378 + ], + [ + 16.73040216619313, + 4.780106977982939 + ], + [ + 16.73040216619313, + 5.576809969815315 + ], + [ + 16.73040216619313, + 6.373485218394876 + ], + [ + 15.933726917613626, + 7.170188210227252 + ], + [ + 14.340376420454504, + 8.763566450639189 + ], + [ + 12.746970436789752, + 9.56024169921875 + ], + [ + 11.950295188210248, + 10.356916947798254 + ], + [ + 11.15361993963063, + 10.356916947798254 + ], + [ + 10.356944691051126, + 10.356916947798254 + ], + [ + 9.560269442471622, + 10.356916947798254 + ], + [ + 8.763538707386374, + 10.356916947798254 + ], + [ + 7.96686345880687, + 10.356916947798254 + ], + [ + 7.170188210227252, + 9.56024169921875 + ], + [ + 7.170188210227252, + 8.763566450639189 + ], + [ + 6.373512961647748, + 7.170188210227252 + ], + [ + 6.373512961647748, + 6.373485218394876 + ], + [ + 6.373512961647748, + 5.576809969815315 + ], + [ + 6.373512961647748, + 4.780106977982939 + ], + [ + 7.96686345880687, + 5.576809969815315 + ], + [ + 11.15361993963063, + 7.170188210227252 + ], + [ + 11.950295188210248, + 7.966863458806813 + ], + [ + 13.543701171875, + 9.56024169921875 + ], + [ + 14.340376420454504, + 9.56024169921875 + ], + [ + 17.527132901278378, + 10.356916947798254 + ], + [ + 18.323808149857996, + 10.356916947798254 + ], + [ + 18.323808149857996, + 9.56024169921875 + ], + [ + 15.933726917613626, + 5.576809969815315 + ], + [ + 15.137051669034122, + 4.780106977982939 + ], + [ + 14.340376420454504, + 3.983431729403378 + ], + [ + 14.340376420454504, + 5.576809969815315 + ], + [ + 13.543701171875, + 7.966863458806813 + ], + [ + 13.543701171875, + 9.56024169921875 + ], + [ + 13.543701171875, + 11.153619939630687 + ], + [ + 12.746970436789752, + 11.153619939630687 + ], + [ + 11.950295188210248, + 10.356916947798254 + ], + [ + 11.950295188210248, + 8.763566450639189 + ], + [ + 11.950295188210248, + 7.966863458806813 + ], + [ + 11.950295188210248, + 6.373485218394876 + ], + [ + 11.950295188210248, + 5.576809969815315 + ], + [ + 11.950295188210248, + 3.983431729403378 + ], + [ + 11.950295188210248, + 3.186728737571002 + ], + [ + 11.950295188210248, + 1.593378240411937 + ], + [ + 11.950295188210248, + 0 + ], + [ + 11.15361993963063, + -1.593378240411937 + ], + [ + 10.356944691051126, + -3.186756480823874 + ], + [ + 10.356944691051126, + -4.780134721235811 + ], + [ + 9.560269442471622, + -6.373512961647748 + ], + [ + 9.560269442471622, + -7.170188210227309 + ], + [ + 9.560269442471622, + -8.763566450639246 + ], + [ + 9.560269442471622, + -5.576809969815372 + ], + [ + 9.560269442471622, + -2.390081232244313 + ], + [ + 9.560269442471622, + 0 + ], + [ + 9.560269442471622, + -1.593378240411937 + ], + [ + 9.560269442471622, + -4.780134721235811 + ], + [ + 9.560269442471622, + -7.170188210227309 + ], + [ + 9.560269442471622, + -8.763566450639246 + ], + [ + 9.560269442471622, + -9.56024169921875 + ], + [ + 9.560269442471622, + -10.356944691051126 + ], + [ + 9.560269442471622, + -8.763566450639246 + ], + [ + 8.763538707386374, + -3.983431729403435 + ], + [ + 7.96686345880687, + 2.390053488991441 + ], + [ + 7.96686345880687, + 3.186728737571002 + ], + [ + 7.170188210227252, + 3.186728737571002 + ], + [ + 7.170188210227252, + 0 + ], + [ + 7.170188210227252, + -7.170188210227309 + ], + [ + 8.763538707386374, + -11.950322931463063 + ], + [ + 8.763538707386374, + -13.543701171875 + ], + [ + 8.763538707386374, + -10.356944691051126 + ], + [ + 8.763538707386374, + -3.983431729403435 + ], + [ + 8.763538707386374, + 0 + ], + [ + 8.763538707386374, + 1.593378240411937 + ], + [ + 7.96686345880687, + 2.390053488991441 + ], + [ + 7.96686345880687, + 3.186728737571002 + ], + [ + 7.96686345880687, + 3.983431729403378 + ], + [ + 7.96686345880687, + 4.780106977982939 + ], + [ + 7.96686345880687, + 4.780106977982939 + ] + ], + "pressures": [ + 0.0234375, + 0.5869140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2509765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.96686345880687, + 4.780106977982939 + ] + }, + { + "id": "VCcQumOXLVfz5d-VZ6pUj", + "type": "freedraw", + "x": 188.88797862229745, + "y": 194.4752186395759, + "width": 82.05877130681813, + "height": 18.323808149857996, + "angle": 0.134023247636871, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1583374221, + "version": 620, + "versionNonce": 55273027, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983431729403378, + 5.576837713068244 + ], + [ + 12.746970436789752, + 10.356944691051126 + ], + [ + 15.933726917613626, + 11.950295188210248 + ], + [ + 22.307239879261374, + 14.340376420454618 + ], + [ + 30.27410333806813, + 16.730402166193244 + ], + [ + 35.054210316051126, + 17.527188387784122 + ], + [ + 39.83437278053975, + 18.323808149857996 + ], + [ + 45.41115500710225, + 18.323808149857996 + ], + [ + 51.78466796875, + 18.323808149857996 + ], + [ + 62.141612659801126, + 18.323808149857996 + ], + [ + 67.71839488636363, + 18.323808149857996 + ], + [ + 70.9051513671875, + 17.527188387784122 + ], + [ + 74.09190784801137, + 15.137051669034122 + ], + [ + 77.27866432883525, + 12.746970436789866 + ], + [ + 80.46542080965912, + 7.96686345880687 + ], + [ + 81.26209605823863, + 7.170188210227366 + ], + [ + 82.05877130681813, + 5.576837713068244 + ], + [ + 82.05877130681813, + 4.780106977982996 + ], + [ + 81.26209605823863, + 3.186756480823874 + ], + [ + 81.26209605823863, + 3.186756480823874 + ] + ], + "pressures": [ + 0.017578125, + 0.5439453125, + 0.826171875, + 0.884765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9130859375, + 0.7646484375, + 0.46484375, + 0.306640625, + 0.171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 81.26209605823863, + 3.186756480823874 + ] + }, + { + "id": "iDx3O5-shwBSjwpHD4Uai", + "type": "freedraw", + "x": 287.1194434227882, + "y": 179.51993848131838, + "width": 53.37801846590901, + "height": 39.03764204545462, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1602577709, + "version": 591, + "versionNonce": 1944641549, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + -0.7966752485795041, + -0.7967307350852479 + ], + [ + 0.7966752485796178, + -2.390025745738626 + ], + [ + 2.39008123224437, + -3.186756480823874 + ], + [ + 3.9834317294034918, + -3.186756480823874 + ], + [ + 7.170188210227366, + -3.186756480823874 + ], + [ + 9.560213955965992, + -3.186756480823874 + ], + [ + 12.747025923295496, + -1.593405983664752 + ], + [ + 14.340376420454618, + 0 + ], + [ + 15.137051669034122, + 1.593405983664752 + ], + [ + 15.933726917613626, + 3.186700994318244 + ], + [ + 13.543701171875, + 7.96686345880687 + ], + [ + 8.763538707386374, + 12.746970436789752 + ], + [ + 2.39008123224437, + 16.730402166193244 + ], + [ + -4.780106977982882, + 20.713833895596622 + ], + [ + -11.15361993963063, + 24.697265625 + ], + [ + -22.307239879261374, + 31.070778586647748 + ], + [ + -27.884077592329504, + 34.25753506747162 + ], + [ + -32.6641845703125, + 35.850885564630744 + ], + [ + -35.054265802556756, + 35.850885564630744 + ], + [ + -37.44429154829538, + 35.850885564630744 + ], + [ + -36.64761629971588, + 35.850885564630744 + ], + [ + -35.054265802556756, + 34.25753506747162 + ], + [ + -33.460859818892004, + 33.46091530539775 + ], + [ + -33.460859818892004, + 33.46091530539775 + ] + ], + "pressures": [ + 0.05078125, + 0.3056640625, + 0.4521484375, + 0.826171875, + 0.9365234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3544921875, + 0.1845703125, + 0.1005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -33.460859818892004, + 33.46091530539775 + ] + }, + { + "id": "zPCf7PSfKHUAHBqVdUU0Q", + "type": "freedraw", + "x": 218.60431780133933, + "y": 172.34975027109112, + "width": 19.917158647017004, + "height": 29.477483575994256, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1087063373, + "version": 589, + "versionNonce": 426160717, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0.7967307350852479 + ], + [ + -2.390025745738626, + 3.186700994318244 + ], + [ + -3.983431729403378, + 4.780162464488626 + ], + [ + -7.170188210227195, + 6.373457475142004 + ], + [ + -8.763538707386317, + 7.170188210227252 + ], + [ + -9.560213955965878, + 6.373457475142004 + ], + [ + -9.560213955965878, + 3.983431729403378 + ], + [ + -10.35694469105107, + 1.593350497159122 + ], + [ + -10.35694469105107, + -2.390081232244256 + ], + [ + -10.35694469105107, + -4.780162464488626 + ], + [ + -11.15361993963063, + -7.170188210227252 + ], + [ + -11.15361993963063, + -8.763594193892004 + ], + [ + -12.746970436789695, + -8.763594193892004 + ], + [ + -14.340376420454504, + -7.9669189453125 + ], + [ + -16.73040216619313, + -5.57683771306813 + ], + [ + -19.120483398437443, + 0 + ], + [ + -19.120483398437443, + 5.5767822265625 + ], + [ + -19.917158647017004, + 11.153619939630744 + ], + [ + -19.917158647017004, + 16.730457652698874 + ], + [ + -19.120483398437443, + 19.1204833984375 + ], + [ + -17.527132901278378, + 20.713889382102252 + ], + [ + -15.137051669034008, + 20.713889382102252 + ], + [ + -11.950295188210191, + 20.713889382102252 + ], + [ + -9.560213955965878, + 19.917158647017004 + ], + [ + -5.576782226562443, + 15.933726917613626 + ], + [ + -3.983431729403378, + 13.54364568536937 + ], + [ + -3.1867564808237603, + 11.153619939630744 + ], + [ + -3.1867564808237603, + 7.96686345880687 + ], + [ + -3.1867564808237603, + 5.5767822265625 + ], + [ + -4.780106977982882, + 3.186700994318244 + ], + [ + -4.780106977982882, + 3.983431729403378 + ], + [ + -4.780106977982882, + 4.780162464488626 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0341796875, + 0.4931640625, + 0.6513671875, + 0.8388671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.861328125, + 0.1513671875, + 0.0234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.780106977982882, + 4.780162464488626 + ] + }, + { + "id": "BZMbiXdtf7cIfrMuku4-2", + "type": "freedraw", + "x": 267.2022847757712, + "y": 173.94310076825025, + "width": 14.340320933948874, + "height": 25.493996360085248, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1096145933, + "version": 574, + "versionNonce": 458106115, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 7.170243696732882 + ], + [ + 1.593350497159122, + 10.356944691051126 + ], + [ + 3.18670099431813, + 12.746970436789752 + ], + [ + 3.983431729403378, + 13.543701171875 + ], + [ + 7.96686345880687, + 14.340376420454504 + ], + [ + 8.763538707386374, + 14.340376420454504 + ], + [ + 11.950295188210248, + 14.340376420454504 + ], + [ + 13.54364568536937, + 12.746970436789752 + ], + [ + 14.340320933948874, + 9.560269442471622 + ], + [ + 14.340320933948874, + 6.373512961647748 + ], + [ + 14.340320933948874, + 0 + ], + [ + 13.54364568536937, + -4.780051491477252 + ], + [ + 11.950295188210248, + -7.96686345880687 + ], + [ + 11.15361993963063, + -9.560269442471622 + ], + [ + 11.15361993963063, + -10.356944691051126 + ], + [ + 10.356889204545496, + -11.153619939630744 + ], + [ + 11.15361993963063, + -9.560269442471622 + ], + [ + 11.950295188210248, + -8.763538707386374 + ], + [ + 11.950295188210248, + -8.763538707386374 + ] + ], + "pressures": [ + 0.0927734375, + 0.3935546875, + 0.5087890625, + 0.6064453125, + 0.716796875, + 0.8154296875, + 0.849609375, + 0.900390625, + 0.951171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.203125, + 0.03515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.950295188210248, + -8.763538707386374 + ] + }, + { + "id": "PA-Yw0i1K-U5-9BmA2TF6", + "type": "freedraw", + "x": 280.7459304611406, + "y": 169.163049276773, + "width": 20.713889382102252, + "height": 16.73040216619313, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1314508675, + "version": 582, + "versionNonce": 601153709, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + 0 + ], + [ + 0.7966752485795041, + 2.389970259232882 + ], + [ + 2.390081232244256, + 3.18670099431813 + ], + [ + 3.983431729403378, + 3.18670099431813 + ], + [ + 4.780162464488626, + 3.18670099431813 + ], + [ + 6.373512961647634, + 2.389970259232882 + ], + [ + 7.170188210227252, + 0.796619762073874 + ], + [ + 7.170188210227252, + -1.5934614701704959 + ], + [ + 6.373512961647634, + -4.78021795099437 + ], + [ + 5.57683771306813, + -7.170243696732996 + ], + [ + 7.966863458806756, + -6.373568448153492 + ], + [ + 10.356944691051126, + -3.983487215909122 + ], + [ + 12.747025923295382, + 0 + ], + [ + 17.52718838778401, + 4.780051491477252 + ], + [ + 18.323863636363626, + 7.966863458806756 + ], + [ + 19.12053888494313, + 8.76348322088063 + ], + [ + 16.73040216619313, + 9.560158469460134 + ], + [ + 11.950295188210134, + 9.560158469460134 + ], + [ + 4.780162464488626, + 7.170132723721508 + ], + [ + 1.593405983664752, + 6.373401988636374 + ], + [ + -0.7966752485796178, + 5.576726740056756 + ], + [ + -1.593350497159122, + 4.780051491477252 + ], + [ + -1.593350497159122, + 3.983431729403378 + ], + [ + -0.7966752485796178, + 3.983431729403378 + ], + [ + 0.7966752485795041, + 4.780051491477252 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.07421875, + 0.57421875, + 0.783203125, + 0.9345703125, + 0.9755859375, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2548828125, + 0.2099609375, + 0.119140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.7966752485795041, + 4.780051491477252 + ] + }, + { + "id": "e0-1diJQm3hGGVYYF0g_G", + "type": "freedraw", + "x": 238.52153193486208, + "y": 89.49430371569343, + "width": 7.966863458806756, + "height": 14.340431906960248, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 966346541, + "version": 552, + "versionNonce": 1500632205, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -4.780162464488683 + ], + [ + -3.186756480823874, + -8.763594193892061 + ], + [ + -4.780162464488626, + -11.153675426136374 + ], + [ + -7.170188210227252, + -13.543756658380687 + ], + [ + -7.966863458806756, + -14.340431906960248 + ], + [ + -7.966863458806756, + -14.340431906960248 + ] + ], + "pressures": [ + 0.0166015625, + 0.21484375, + 0.40625, + 0.5625, + 0.69921875, + 0.7705078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.966863458806756, + -14.340431906960248 + ] + }, + { + "id": "ROq6xYBDTtQIgdz7E38mF", + "type": "freedraw", + "x": 197.09375317065758, + "y": 75.95054705731275, + "width": 61.344881924715935, + "height": 54.97147993607956, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 407839917, + "version": 542, + "versionNonce": 2041710307, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350852479, + 3.186756480823874 + ], + [ + 3.983431729403378, + 3.983431729403378 + ], + [ + 7.9669189453125, + 3.983431729403378 + ], + [ + 12.747025923295439, + 1.593405983664752 + ], + [ + 15.933782404119313, + -3.186756480823874 + ], + [ + 16.730457652698874, + -7.170188210227309 + ], + [ + 16.730457652698874, + -10.356944691051126 + ], + [ + 14.340376420454561, + -12.746970436789809 + ], + [ + 9.560269442471565, + -14.340376420454561 + ], + [ + 3.983431729403378, + -13.543701171875 + ], + [ + -0.796675248579561, + -11.950295188210248 + ], + [ + -5.5767822265625, + -10.356944691051126 + ], + [ + -9.560213955965935, + -8.763538707386374 + ], + [ + -11.153619939630687, + -7.966863458806813 + ], + [ + -12.746970436789752, + -7.966863458806813 + ], + [ + -13.543645685369313, + -8.763538707386374 + ], + [ + -13.543645685369313, + -11.950295188210248 + ], + [ + -11.153619939630687, + -18.323808149857996 + ], + [ + -7.170188210227252, + -23.900590376420496 + ], + [ + -1.593350497159122, + -31.070778586647748 + ], + [ + 3.983431729403378, + -38.24099454012787 + ], + [ + 12.747025923295439, + -43.81780450994319 + ], + [ + 18.323808149857996, + -45.41115500710231 + ], + [ + 23.900645862926126, + -45.41115500710231 + ], + [ + 30.274158824573874, + -43.02110151811081 + ], + [ + 37.444347034801126, + -39.037669788707376 + ], + [ + 43.81780450994313, + -31.867509321732996 + ], + [ + 47.80123623934662, + -18.323808149857996 + ], + [ + 47.80123623934662, + -8.763538707386374 + ], + [ + 46.2078857421875, + -0.796675248579561 + ], + [ + 40.631048029119256, + 7.170188210227252 + ], + [ + 35.850941051136374, + 9.560324928977252 + ], + [ + 31.867509321732996, + 9.560324928977252 + ], + [ + 27.884077592329504, + 8.763594193892004 + ], + [ + 24.69732111150563, + 7.170188210227252 + ], + [ + 22.307239879261374, + 4.780162464488626 + ], + [ + 22.307239879261374, + 3.983431729403378 + ], + [ + 22.307239879261374, + 3.983431729403378 + ] + ], + "pressures": [ + 0.041015625, + 0.3759765625, + 0.6806640625, + 0.884765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.82421875, + 0.2333984375, + 0.171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.307239879261374, + 3.983431729403378 + ] + }, + { + "id": "XPspS-HpmTKjhl4ZyRmt0", + "type": "freedraw", + "x": 206.65402261312914, + "y": 80.73070952180137, + "width": 1.593350497159122, + "height": 7.9669189453125, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1369205805, + "version": 507, + "versionNonce": 931171533, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + -5.576837713068187 + ], + [ + 0, + -7.9669189453125 + ], + [ + 0, + -7.9669189453125 + ] + ], + "pressures": [ + 0.083984375, + 0.4677734375, + 0.7666015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + -7.9669189453125 + ] + }, + { + "id": "Qi967G061n_BO_FsNTyoB", + "type": "freedraw", + "x": 207.4506978617087, + "y": 162.7894808286195, + "width": 57.36145019531244, + "height": 33.46085981889206, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 452183139, + "version": 518, + "versionNonce": 598600877, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159065, + 3.9834317294034918 + ], + [ + -1.593350497159065, + 5.5767822265625 + ], + [ + 1.593405983664752, + 7.170188210227366 + ], + [ + 9.560269442471622, + 9.560269442471622 + ], + [ + 15.93378240411937, + 10.35700017755687 + ], + [ + 22.307239879261374, + 11.153619939630744 + ], + [ + 27.884077592329504, + 11.153619939630744 + ], + [ + 33.460859818892004, + 9.560269442471622 + ], + [ + 39.03769753196025, + 6.373568448153492 + ], + [ + 47.80123623934662, + 0 + ], + [ + 52.58139870383525, + -5.5767822265625 + ], + [ + 54.971424449573874, + -10.356944691051126 + ], + [ + 55.76809969815338, + -12.747025923295382 + ], + [ + 54.17474920099437, + -15.93372691761357 + ], + [ + 52.58139870383525, + -18.323808149857882 + ], + [ + 50.19131747159088, + -20.713889382102252 + ], + [ + 49.394642223011374, + -21.51050914417607 + ], + [ + 49.394642223011374, + -22.307239879261317 + ], + [ + 49.394642223011374, + -22.307239879261317 + ] + ], + "pressures": [ + 0.0107421875, + 0.2880859375, + 0.3427734375, + 0.4150390625, + 0.61328125, + 0.740234375, + 0.8828125, + 0.9580078125, + 0.9833984375, + 0.9833984375, + 0.9775390625, + 0.96875, + 0.9599609375, + 0.9365234375, + 0.830078125, + 0.6064453125, + 0.37890625, + 0.23046875, + 0.1904296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 49.394642223011374, + -22.307239879261317 + ] + }, + { + "id": "DZ8Bop5i8kxuRCHVWzKdC", + "type": "freedraw", + "x": 206.65402261312914, + "y": 170.75634428742637, + "width": 37.444291548295496, + "height": 42.22445401278412, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 355408653, + "version": 530, + "versionNonce": 670449827, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795041 + ], + [ + 3.983431729403435, + -0.7966752485795041 + ], + [ + 7.170188210227309, + -3.186756480823874 + ], + [ + 10.356944691051183, + -7.170188210227252 + ], + [ + 11.950295188210191, + -11.950295188210248 + ], + [ + 12.746970436789809, + -16.730402166193244 + ], + [ + 11.153619939630687, + -23.90059037642044 + ], + [ + 9.560269442471565, + -27.087346857244313 + ], + [ + 7.170188210227309, + -29.47737260298294 + ], + [ + 5.5767822265625, + -31.86750932173294 + ], + [ + 4.780106977982996, + -32.6641845703125 + ], + [ + 4.780106977982996, + -30.274103338068187 + ], + [ + 5.5767822265625, + -27.88407759232956 + ], + [ + 5.5767822265625, + -25.49394087357956 + ], + [ + 6.373512961647748, + -24.697321111505687 + ], + [ + 6.373512961647748, + -23.90059037642044 + ], + [ + 6.373512961647748, + -22.307239879261374 + ], + [ + 5.5767822265625, + -19.917158647017004 + ], + [ + 4.780106977982996, + -17.527077414772748 + ], + [ + 3.983431729403435, + -15.933726917613626 + ], + [ + 1.593350497159122, + -13.54364568536937 + ], + [ + -1.593350497159065, + -9.560213955965878 + ], + [ + -5.576837713068187, + -4.780106977982996 + ], + [ + -11.153619939630687, + 0 + ], + [ + -14.340376420454504, + 3.186756480823874 + ], + [ + -18.32380814985794, + 5.57683771306813 + ], + [ + -21.510564630681813, + 7.966863458806756 + ], + [ + -23.900645862926126, + 8.763594193892004 + ], + [ + -24.697321111505687, + 9.560269442471622 + ], + [ + -24.697321111505687, + 7.966863458806756 + ], + [ + -23.900645862926126, + 4.780106977982996 + ], + [ + -23.900645862926126, + 4.780106977982996 + ] + ], + "pressures": [ + 0.046875, + 0.2333984375, + 0.3994140625, + 0.5087890625, + 0.5888671875, + 0.64453125, + 0.6923828125, + 0.830078125, + 0.8447265625, + 0.853515625, + 0.853515625, + 0.8515625, + 0.8515625, + 0.8466796875, + 0.8388671875, + 0.8427734375, + 0.8388671875, + 0.8408203125, + 0.8408203125, + 0.8447265625, + 0.8447265625, + 0.8408203125, + 0.8466796875, + 0.849609375, + 0.853515625, + 0.849609375, + 0.85546875, + 0.85546875, + 0.751953125, + 0.671875, + 0.1904296875, + 0.12109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.900645862926126, + 4.780106977982996 + ] + }, + { + "id": "fBnAS7kY_WCSmh2pNpCcm", + "type": "freedraw", + "x": 289.5095246550326, + "y": 125.34524476682975, + "width": 49.394642223011374, + "height": 64.53169389204544, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 832659171, + "version": 526, + "versionNonce": 1153974147, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + 3.186700994318187 + ], + [ + 2.390025745738626, + 4.780051491477309 + ], + [ + 5.5767822265625, + 4.780051491477309 + ], + [ + 8.763594193892004, + 4.780051491477309 + ], + [ + 11.950295188210248, + 1.593295010653435 + ], + [ + 14.340320933948874, + -2.39013671875 + ], + [ + 15.136996182528378, + -13.54375665838063 + ], + [ + 14.340320933948874, + -20.71394486860794 + ], + [ + 12.746970436789752, + -26.29072709517044 + ], + [ + 11.950295188210248, + -29.477483575994313 + ], + [ + 11.15361993963063, + -31.070889559659065 + ], + [ + 13.543645685369256, + -30.274214311079504 + ], + [ + 17.527132901278378, + -27.08745783025563 + ], + [ + 23.103859641335248, + -23.104026100852252 + ], + [ + 30.2740478515625, + -16.730513139204504 + ], + [ + 36.64756081321025, + -9.560324928977252 + ], + [ + 45.411210493607996, + 3.186700994318187 + ], + [ + 48.597911487926126, + 11.153564453125 + ], + [ + 48.597911487926126, + 17.52702192826706 + ], + [ + 46.2078857421875, + 22.307184392755687 + ], + [ + 39.03769753196025, + 29.477372602982996 + ], + [ + 33.460859818892004, + 31.867453835227252 + ], + [ + 25.493996360085248, + 33.460804332386374 + ], + [ + 15.933671431107996, + 32.66412908380687 + ], + [ + 7.966807972301126, + 30.2740478515625 + ], + [ + 2.390025745738626, + 27.884022105823874 + ], + [ + 2.390025745738626, + 27.087291370738626 + ], + [ + 1.593350497159122, + 27.087291370738626 + ], + [ + 2.390025745738626, + 27.087291370738626 + ], + [ + 3.18670099431813, + 27.087291370738626 + ], + [ + 3.18670099431813, + 27.087291370738626 + ] + ], + "pressures": [ + 0.0712890625, + 0.3994140625, + 0.580078125, + 0.71875, + 0.796875, + 0.8408203125, + 0.884765625, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 0.8154296875, + 0.6162109375, + 0.5615234375, + 0.4912109375, + 0.1064453125, + 0.0517578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.18670099431813, + 27.087291370738626 + ] + }, + { + "id": "CtP-9De3fWdf4dF7TE76J", + "type": "freedraw", + "x": 304.64652083756096, + "y": 150.83918564040937, + "width": 44.614424272017004, + "height": 30.274158824573817, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1217355917, + "version": 521, + "versionNonce": 337862797, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795041 + ], + [ + -1.593350497159122, + 1.5933504971590082 + ], + [ + -4.780051491477252, + 2.390081232244256 + ], + [ + -8.763538707386374, + 2.390081232244256 + ], + [ + -12.746970436789752, + 2.390081232244256 + ], + [ + -16.73040216619313, + 1.5933504971590082 + ], + [ + -21.510509144176126, + -0.7967307350852479 + ], + [ + -26.290616122159122, + -3.983431729403435 + ], + [ + -31.867453835227252, + -7.966918945312557 + ], + [ + -34.25753506747162, + -9.560213955965935 + ], + [ + -35.85088556463063, + -11.950350674715935 + ], + [ + -37.44423606178975, + -16.73045765269893 + ], + [ + -39.037642045454504, + -20.71388938210231 + ], + [ + -39.83431729403412, + -24.697321111505744 + ], + [ + -39.83431729403412, + -26.290727095170496 + ], + [ + -39.83431729403412, + -27.087402343750057 + ], + [ + -40.630992542613626, + -23.900645862926183 + ], + [ + -40.630992542613626, + -19.917214133522748 + ], + [ + -41.427723277698874, + -15.137051669034122 + ], + [ + -42.22439852627838, + -11.153619939630744 + ], + [ + -43.8177490234375, + -7.170188210227309 + ], + [ + -43.8177490234375, + -3.186756480823931 + ], + [ + -44.614424272017004, + 0.7966752485795041 + ], + [ + -44.614424272017004, + 2.390081232244256 + ], + [ + -44.614424272017004, + 3.1867564808237603 + ], + [ + -44.614424272017004, + 2.390081232244256 + ], + [ + -43.8177490234375, + 2.390081232244256 + ], + [ + -43.8177490234375, + 2.390081232244256 + ] + ], + "pressures": [ + 0.0751953125, + 0.3701171875, + 0.48046875, + 0.677734375, + 0.7587890625, + 0.80078125, + 0.8154296875, + 0.8154296875, + 0.8154296875, + 0.8408203125, + 0.853515625, + 0.8662109375, + 0.8896484375, + 0.8896484375, + 0.8955078125, + 0.900390625, + 0.8935546875, + 0.931640625, + 0.931640625, + 0.9345703125, + 0.9384765625, + 0.9384765625, + 0.9384765625, + 0.9384765625, + 0.921875, + 0.822265625, + 0.1689453125, + 0.0849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.8177490234375, + 2.390081232244256 + ] + }, + { + "id": "7kNtkSonaWNCyUD675zkM", + "type": "freedraw", + "x": 156.46270514153827, + "y": 297.429650839273, + "width": 103.56939142400569, + "height": 60.548206676136374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 188296685, + "version": 509, + "versionNonce": 841632237, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.763483220880687, + -2.39008123224437 + ], + [ + -16.7303466796875, + -7.170188210227366 + ], + [ + -24.697265625, + -11.950350674715992 + ], + [ + -31.86745383522731, + -15.93378240411937 + ], + [ + -38.240966796875, + -21.51056463068187 + ], + [ + -40.630992542613626, + -25.493996360085248 + ], + [ + -43.021129261363626, + -31.867509321732996 + ], + [ + -43.021129261363626, + -38.241022283380744 + ], + [ + -43.021129261363626, + -43.817804509943244 + ], + [ + -37.44429154829544, + -45.411210493607996 + ], + [ + -29.477428089488626, + -42.22445401278412 + ], + [ + -20.713833895596622, + -37.444291548295496 + ], + [ + -10.356944691051126, + -31.07083407315349 + ], + [ + 4.780162464488626, + -22.307239879261374 + ], + [ + 12.747025923295439, + -19.1204833984375 + ], + [ + 18.32380814985794, + -17.52713290127849 + ], + [ + 24.697321111505687, + -17.52713290127849 + ], + [ + 33.46085981889206, + -19.1204833984375 + ], + [ + 49.394642223011374, + -25.493996360085248 + ], + [ + 57.36150568181819, + -31.867509321732996 + ], + [ + 60.54826216264206, + -37.444291548295496 + ], + [ + 59.75158691406244, + -43.021129261363626 + ], + [ + 55.76809969815338, + -49.394642223011374 + ], + [ + 49.394642223011374, + -55.76815518465912 + ], + [ + 40.63104802911931, + -59.7515869140625 + ], + [ + 37.44429154829544, + -60.548206676136374 + ], + [ + 35.05426580255681, + -60.548206676136374 + ], + [ + 31.86750932173294, + -58.954856178977366 + ], + [ + 29.477428089488626, + -58.954856178977366 + ], + [ + 27.08740234375, + -58.954856178977366 + ], + [ + 26.290671608664752, + -58.954856178977366 + ], + [ + 26.290671608664752, + -58.954856178977366 + ] + ], + "pressures": [ + 0.109375, + 0.3037109375, + 0.3994140625, + 0.5126953125, + 0.6015625, + 0.703125, + 0.736328125, + 0.734375, + 0.732421875, + 0.73046875, + 0.72265625, + 0.734375, + 0.74609375, + 0.7421875, + 0.744140625, + 0.748046875, + 0.7587890625, + 0.7646484375, + 0.7607421875, + 0.73828125, + 0.73828125, + 0.734375, + 0.72265625, + 0.716796875, + 0.6943359375, + 0.5693359375, + 0.5068359375, + 0.3837890625, + 0.2314453125, + 0.181640625, + 0.140625, + 0.1171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 26.290671608664752, + -58.954856178977366 + ] + }, + { + "id": "HBalfoFuWg_1jz1XFA7aC", + "type": "freedraw", + "x": 165.22629933543033, + "y": 172.34975027109112, + "width": 53.378018465909065, + "height": 72.49844637784088, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1641066189, + "version": 513, + "versionNonce": 2072282189, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + -3.18670099431813 + ], + [ + 1.593350497159065, + -0.7967307350852479 + ], + [ + 4.780106977982939, + 7.170188210227252 + ], + [ + 5.5767822265625, + 11.950295188210248 + ], + [ + 5.5767822265625, + 15.137051669034122 + ], + [ + 3.186756480823817, + 16.730457652698874 + ], + [ + -1.593350497159122, + 17.527077414772748 + ], + [ + -5.5767822265625, + 17.527077414772748 + ], + [ + -9.560213955965935, + 15.137051669034122 + ], + [ + -14.340376420454561, + 11.153619939630744 + ], + [ + -18.323808149857996, + 6.373457475142004 + ], + [ + -23.900645862926183, + 1.593350497159122 + ], + [ + -25.49394087357956, + 0.7967307350852479 + ], + [ + -27.08740234375, + 0.7967307350852479 + ], + [ + -28.680752840909122, + 0.7967307350852479 + ], + [ + -31.867509321732996, + 6.373457475142004 + ], + [ + -32.6641845703125, + 14.340320933948874 + ], + [ + -32.6641845703125, + 24.697321111505744 + ], + [ + -31.867509321732996, + 36.64761629971588 + ], + [ + -28.680752840909122, + 47.004505504261374 + ], + [ + -23.900645862926183, + 54.174693714488626 + ], + [ + -14.340376420454561, + 62.938287908380744 + ], + [ + -7.9669189453125, + 66.92171963778412 + ], + [ + -2.39008123224437, + 69.31174538352275 + ], + [ + 5.5767822265625, + 69.31174538352275 + ], + [ + 11.950295188210191, + 66.92171963778412 + ], + [ + 17.52707741477269, + 62.938287908380744 + ], + [ + 20.713833895596565, + 57.3614501953125 + ], + [ + 20.713833895596565, + 50.19126198508525 + ], + [ + 19.917158647017004, + 42.22439852627838 + ], + [ + 16.73040216619313, + 29.477428089488626 + ], + [ + 15.137051669034065, + 25.493996360085248 + ], + [ + 12.746970436789752, + 23.103915127840878 + ], + [ + 9.560213955965878, + 19.917158647017004 + ], + [ + 7.170188210227252, + 19.1204833984375 + ], + [ + 7.170188210227252, + 18.323808149857996 + ], + [ + 7.170188210227252, + 18.323808149857996 + ] + ], + "pressures": [ + 0.0947265625, + 0.41015625, + 0.716796875, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.861328125, + 0.6640625, + 0.310546875, + 0.228515625, + 0.193359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.170188210227252, + 18.323808149857996 + ] + }, + { + "id": "3PyFswQl2Q371_tCTIGe-", + "type": "freedraw", + "x": 147.69922192065758, + "y": 232.89801243373313, + "width": 65.32842462713069, + "height": 89.22895951704538, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2093177027, + "version": 494, + "versionNonce": 1183649251, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + -3.983431729403378 + ], + [ + -3.186811967329561, + -6.373568448153378 + ], + [ + -9.560324928977252, + -11.15367542613626 + ], + [ + -15.137107155539752, + -15.933726917613626 + ], + [ + -22.30729536576706, + -20.713944868607882 + ], + [ + -30.274158824573874, + -24.69737659801126 + ], + [ + -43.02118474786931, + -26.290727095170382 + ], + [ + -50.988048206676126, + -26.290727095170382 + ], + [ + -56.56488591974431, + -23.900645862926126 + ], + [ + -61.34499289772725, + -20.713944868607882 + ], + [ + -65.32842462713069, + -11.950295188210134 + ], + [ + -65.32842462713069, + -3.186811967329504 + ], + [ + -63.735018643465935, + 8.763483220880744 + ], + [ + -59.7515869140625, + 19.917158647017118 + ], + [ + -54.1748046875, + 31.867509321732996 + ], + [ + -40.631103515625, + 44.61442427201712 + ], + [ + -30.274158824573874, + 51.78466796875 + ], + [ + -20.71394486860794, + 57.3614501953125 + ], + [ + -12.747081409801126, + 61.34488192471599 + ], + [ + -6.373568448153435, + 62.938232421875 + ], + [ + -3.983431729403435, + 62.938232421875 + ], + [ + -3.186811967329561, + 60.548206676136374 + ], + [ + -3.186811967329561, + 58.95480069247162 + ], + [ + -3.186811967329561, + 58.95480069247162 + ] + ], + "pressures": [ + 0.099609375, + 0.1787109375, + 0.234375, + 0.349609375, + 0.44140625, + 0.5439453125, + 0.66015625, + 0.8056640625, + 0.8740234375, + 0.927734375, + 0.9599609375, + 0.9775390625, + 0.970703125, + 0.9580078125, + 0.94921875, + 0.9404296875, + 0.85546875, + 0.7421875, + 0.6025390625, + 0.4521484375, + 0.29296875, + 0.2275390625, + 0.162109375, + 0.0322265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.186811967329561, + 58.95480069247162 + ] + }, + { + "id": "aSoz64a4wyPBGp7f5KPBi", + "type": "freedraw", + "x": 201.07718490006096, + "y": 179.51993848131838, + "width": 1.593350497159065, + "height": 3.9834872159090082, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2026668707, + "version": 455, + "versionNonce": 425621293, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159065, + -3.9834872159090082 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0654296875, + 0.14453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593350497159065, + -3.9834872159090082 + ] + }, + { + "id": "mjfioQc42bU6rK9GhfKsM", + "type": "freedraw", + "x": 256.8453400847201, + "y": 215.37082404594912, + "width": 50.98793723366475, + "height": 55.76809969815338, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 379041123, + "version": 478, + "versionNonce": 180908397, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + 0 + ], + [ + 5.5767822265625, + 3.983431729403378 + ], + [ + 7.966863458806756, + 7.170188210227252 + ], + [ + 9.560213955965878, + 10.356944691051126 + ], + [ + 10.356944691051126, + 14.340376420454504 + ], + [ + 10.356944691051126, + 17.52718838778401 + ], + [ + 8.763538707386374, + 21.5106201171875 + ], + [ + 6.373457475142004, + 23.10397061434651 + ], + [ + 3.186756480823874, + 23.900645862926126 + ], + [ + 0, + 24.69732111150563 + ], + [ + -5.576837713068244, + 23.10397061434651 + ], + [ + -8.763594193892004, + 22.307239879261374 + ], + [ + -10.356944691051126, + 21.5106201171875 + ], + [ + -10.356944691051126, + 22.307239879261374 + ], + [ + -9.560269442471622, + 25.494051846590878 + ], + [ + -4.780162464488626, + 33.46091530539775 + ], + [ + -0.7967307350852479, + 39.03769753196025 + ], + [ + 4.780106977982996, + 44.61453524502838 + ], + [ + 10.356944691051126, + 48.597966974431756 + ], + [ + 15.137051669034122, + 50.98799272017038 + ], + [ + 22.307239879261374, + 50.98799272017038 + ], + [ + 26.290671608664752, + 47.80123623934651 + ], + [ + 29.477428089488626, + 44.61453524502838 + ], + [ + 32.6641845703125, + 40.631048029119256 + ], + [ + 37.444291548295496, + 31.867509321732882 + ], + [ + 39.83431729403412, + 25.494051846590878 + ], + [ + 40.630992542613626, + 19.12053888494313 + ], + [ + 40.630992542613626, + 12.747025923295382 + ], + [ + 39.037642045454504, + 7.966863458806756 + ], + [ + 34.25753506747162, + 0.7967307350852479 + ], + [ + 31.867453835227252, + -3.186756480823874 + ], + [ + 29.477428089488626, + -4.780106977982996 + ], + [ + 27.884022105823874, + -4.780106977982996 + ], + [ + 27.884022105823874, + -3.186756480823874 + ], + [ + 27.884022105823874, + -1.593350497159122 + ], + [ + 27.884022105823874, + -1.593350497159122 + ] + ], + "pressures": [ + 0.0810546875, + 0.431640625, + 0.5771484375, + 0.78515625, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.98828125, + 0.6806640625, + 0.427734375, + 0.3330078125, + 0.1865234375, + 0.0849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.884022105823874, + -1.593350497159122 + ] + }, + { + "id": "XR7pNwuuNB85zI03Vj_9h", + "type": "freedraw", + "x": 296.6796573787542, + "y": 174.73977601682975, + "width": 15.137051669034008, + "height": 26.290727095170496, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1900689581, + "version": 462, + "versionNonce": 1358066563, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593295010653378 + ], + [ + 1.5934614701703822, + -3.186756480823874 + ], + [ + 3.9834872159090082, + -4.780106977982882 + ], + [ + 6.373512961647634, + -5.576726740056756 + ], + [ + 7.966863458806756, + -6.373512961647748 + ], + [ + 9.560324928977252, + -6.373512961647748 + ], + [ + 10.357000177556756, + -6.373512961647748 + ], + [ + 12.747025923295382, + -3.186756480823874 + ], + [ + 14.340376420454504, + 1.593405983664752 + ], + [ + 15.137051669034008, + 6.373568448153378 + ], + [ + 15.137051669034008, + 11.950295188210248 + ], + [ + 15.137051669034008, + 14.340431906960248 + ], + [ + 13.543701171875, + 15.93378240411937 + ], + [ + 11.950350674715878, + 16.730457652698874 + ], + [ + 9.560324928977252, + 18.323863636363626 + ], + [ + 7.966863458806756, + 19.1204833984375 + ], + [ + 7.170188210227252, + 19.917214133522748 + ], + [ + 8.763538707386374, + 19.917214133522748 + ], + [ + 10.357000177556756, + 19.917214133522748 + ], + [ + 11.153675426136374, + 19.917214133522748 + ], + [ + 11.153675426136374, + 19.917214133522748 + ] + ], + "pressures": [ + 0.041015625, + 0.5224609375, + 0.71484375, + 0.8720703125, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1728515625, + 0.10546875, + 0.05078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.153675426136374, + 19.917214133522748 + ] + }, + { + "id": "KNGDcve5KO8Ey9U6qxaTn", + "type": "freedraw", + "x": 313.4101705179587, + "y": 183.50337021072187, + "width": 65.328369140625, + "height": 62.141612659801126, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 472119341, + "version": 476, + "versionNonce": 570362659, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186811967329504, + 0 + ], + [ + -3.983487215909122, + 2.390025745738626 + ], + [ + -4.780162464488626, + 4.780106977982882 + ], + [ + -5.57683771306813, + 10.356889204545382 + ], + [ + -5.57683771306813, + 16.73040216619313 + ], + [ + -5.57683771306813, + 20.71383389559651 + ], + [ + -3.983487215909122, + 24.697265625 + ], + [ + -1.5934614701704959, + 27.88402210582376 + ], + [ + 3.18670099431813, + 31.867453835227252 + ], + [ + 6.373401988636374, + 32.6641845703125 + ], + [ + 8.763538707386374, + 33.460915305397634 + ], + [ + 11.950239701704504, + 31.867453835227252 + ], + [ + 15.137051669034122, + 28.680697354403378 + ], + [ + 19.917103160511374, + 22.30723987926126 + ], + [ + 22.307239879261374, + 18.323808149857882 + ], + [ + 24.697265625, + 14.340376420454504 + ], + [ + 27.087291370738626, + 11.950295188210134 + ], + [ + 29.477428089488626, + 11.950295188210134 + ], + [ + 32.66412908380687, + 11.950295188210134 + ], + [ + 36.64761629971588, + 14.340376420454504 + ], + [ + 42.22434303977275, + 17.527132901278378 + ], + [ + 47.80118075284088, + 20.71383389559651 + ], + [ + 54.174693714488626, + 25.493996360085134 + ], + [ + 57.36139470880687, + 29.477483575994256 + ], + [ + 58.95485617897725, + 34.25753506747151 + ], + [ + 59.75153142755687, + 39.037642045454504 + ], + [ + 59.75153142755687, + 47.00450550426126 + ], + [ + 55.76804421164775, + 51.78466796875 + ], + [ + 49.39453125, + 55.76809969815338 + ], + [ + 43.81780450994313, + 58.158125443892004 + ], + [ + 38.240966796875, + 59.751531427556756 + ], + [ + 33.460804332386374, + 61.34493741122151 + ], + [ + 31.867453835227252, + 61.34493741122151 + ], + [ + 31.070778586647748, + 61.34493741122151 + ], + [ + 31.070778586647748, + 62.141612659801126 + ], + [ + 31.070778586647748, + 62.141612659801126 + ] + ], + "pressures": [ + 0.05078125, + 0.5341796875, + 0.666015625, + 0.697265625, + 0.75, + 0.908203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8095703125, + 0.638671875, + 0.3271484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.070778586647748, + 62.141612659801126 + ] + }, + { + "id": "nmrek3-RE3tSBXbqr2Sfz", + "type": "freedraw", + "x": 298.2731188489246, + "y": 214.5741487973695, + "width": 53.37801846590912, + "height": 47.80123623934662, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1489462691, + "version": 473, + "versionNonce": 1087876803, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.39013671875, + 3.9834317294034918 + ], + [ + -2.39013671875, + 9.560269442471622 + ], + [ + -0.7967862215908781, + 15.933726917613626 + ], + [ + 2.390025745738626, + 26.290727095170496 + ], + [ + 4.780051491477252, + 32.6641845703125 + ], + [ + 7.170077237215992, + 37.444291548295496 + ], + [ + 10.356889204545496, + 41.427723277698874 + ], + [ + 13.543590198863626, + 44.61447975852275 + ], + [ + 19.12042791193187, + 47.80123623934662 + ], + [ + 22.307239879261374, + 47.80123623934662 + ], + [ + 25.493940873579618, + 47.00456099076712 + ], + [ + 28.680641867897748, + 43.817804509943244 + ], + [ + 32.66412908380687, + 37.444291548295496 + ], + [ + 34.25747958096599, + 31.07083407315349 + ], + [ + 35.054154829545496, + 25.493996360085248 + ], + [ + 35.054154829545496, + 22.307295365767118 + ], + [ + 35.850830078125, + 20.713889382102366 + ], + [ + 37.444291548295496, + 19.1204833984375 + ], + [ + 39.03764204545462, + 17.52713290127849 + ], + [ + 41.427667791193244, + 15.933726917613626 + ], + [ + 43.02101828835225, + 15.137051669034122 + ], + [ + 44.61447975852275, + 14.340431906960248 + ], + [ + 47.004505504261374, + 15.933726917613626 + ], + [ + 49.39453125, + 18.323863636363626 + ], + [ + 50.98788174715912, + 20.713889382102366 + ], + [ + 50.98788174715912, + 23.10391512784099 + ], + [ + 50.98788174715912, + 27.884077592329618 + ], + [ + 50.19120649857962, + 30.274158824573874 + ], + [ + 48.597856001420496, + 31.867509321732996 + ], + [ + 47.004505504261374, + 32.6641845703125 + ], + [ + 43.81769353693187, + 31.867509321732996 + ], + [ + 42.22434303977275, + 31.07083407315349 + ], + [ + 41.427667791193244, + 31.07083407315349 + ], + [ + 41.427667791193244, + 31.07083407315349 + ] + ], + "pressures": [ + 0.0498046875, + 0.37109375, + 0.470703125, + 0.6240234375, + 0.900390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7607421875, + 0.4033203125, + 0.193359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.427667791193244, + 31.07083407315349 + ] + }, + { + "id": "paUppyNXTnnmyKUdAe24y", + "type": "freedraw", + "x": 187.53353921469164, + "y": 77.5439530409775, + "width": 43.021129261363626, + "height": 63.73496315696025, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 76641069, + "version": 452, + "versionNonce": 713539085, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -1.593405983664752 + ], + [ + -3.983431729403378, + -3.983431729403378 + ], + [ + -11.153619939630687, + -5.576837713068187 + ], + [ + -16.730457652698817, + -6.373512961647748 + ], + [ + -22.307239879261317, + -5.576837713068187 + ], + [ + -27.08740234375, + -3.983431729403378 + ], + [ + -31.070834073153378, + -1.593405983664752 + ], + [ + -32.6641845703125, + 2.390025745738626 + ], + [ + -33.460859818892004, + 7.170188210227252 + ], + [ + -33.460859818892004, + 14.340376420454561 + ], + [ + -31.867453835227252, + 23.103915127840935 + ], + [ + -27.884022105823817, + 37.44429154829544 + ], + [ + -24.697321111505687, + 47.004505504261374 + ], + [ + -23.103970614346565, + 54.174693714488626 + ], + [ + -22.307239879261317, + 57.3614501953125 + ], + [ + -26.290671608664752, + 57.3614501953125 + ], + [ + -32.6641845703125, + 57.3614501953125 + ], + [ + -38.24102228338069, + 54.971424449573874 + ], + [ + -42.224454012784065, + 53.37801846590912 + ], + [ + -43.021129261363626, + 51.78472345525569 + ], + [ + -43.021129261363626, + 51.78472345525569 + ] + ], + "pressures": [ + 0.0693359375, + 0.482421875, + 0.677734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.021129261363626, + 51.78472345525569 + ] + }, + { + "id": "d4rfrIuf4T61lTaAW_esO", + "type": "freedraw", + "x": 151.68265365006096, + "y": 132.51537749055137, + "width": 30.274158824573817, + "height": 57.36150568181819, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 640949165, + "version": 456, + "versionNonce": 1685323053, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7967307350852479 + ], + [ + -1.593405983664752, + 0 + ], + [ + -3.186811967329504, + 0 + ], + [ + -5.576893199573817, + -1.593405983664752 + ], + [ + -7.966863458806813, + -3.983431729403435 + ], + [ + -9.560324928977252, + -5.576837713068187 + ], + [ + -9.560324928977252, + -8.763594193892061 + ], + [ + -9.560324928977252, + -11.153619939630687 + ], + [ + -9.560324928977252, + -12.747025923295439 + ], + [ + -8.763594193892004, + -14.340376420454561 + ], + [ + -8.763594193892004, + -15.933782404119313 + ], + [ + -9.560324928977252, + -15.933782404119313 + ], + [ + -13.54375665838063, + -15.933782404119313 + ], + [ + -17.527188387784065, + -15.933782404119313 + ], + [ + -21.5106201171875, + -14.340376420454561 + ], + [ + -24.697376598011317, + -12.747025923295439 + ], + [ + -29.477483575994313, + -6.373512961647748 + ], + [ + -30.274158824573817, + -0.7967307350852479 + ], + [ + -30.274158824573817, + 6.373457475142061 + ], + [ + -30.274158824573817, + 11.950295188210248 + ], + [ + -29.477483575994313, + 18.323808149857996 + ], + [ + -24.697376598011317, + 30.27410333806813 + ], + [ + -19.91721413352269, + 36.64767178622162 + ], + [ + -16.730513139204504, + 40.631103515625 + ], + [ + -13.54375665838063, + 41.427723277698874 + ], + [ + -7.966863458806813, + 40.631103515625 + ], + [ + -4.780162464488626, + 39.037642045454504 + ], + [ + -2.39013671875, + 37.444291548295496 + ], + [ + -1.593405983664752, + 35.85088556463063 + ], + [ + -1.593405983664752, + 35.85088556463063 + ] + ], + "pressures": [ + 0.04296875, + 0.4990234375, + 0.66796875, + 0.7607421875, + 0.83203125, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.671875, + 0.267578125, + 0.1796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593405983664752, + 35.85088556463063 + ] + }, + { + "id": "40EZoZ1nj-RxOJDkjzhUP", + "type": "freedraw", + "x": 181.16002625304395, + "y": 72.76379057648887, + "width": 24.697321111505687, + "height": 5.576837713068187, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1436289571, + "version": 436, + "versionNonce": 500061677, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + 0 + ], + [ + -0.796675248579561, + -0.796675248579561 + ], + [ + 3.186756480823874, + -0.796675248579561 + ], + [ + 7.170188210227252, + -0.796675248579561 + ], + [ + 10.356944691051126, + -0.796675248579561 + ], + [ + 13.543701171875, + -0.796675248579561 + ], + [ + 15.137051669034065, + 0 + ], + [ + 17.527132901278378, + 0.7967307350852479 + ], + [ + 21.510564630681813, + 3.186756480823874 + ], + [ + 22.307239879261374, + 3.983431729403378 + ], + [ + 23.900645862926126, + 4.780162464488626 + ], + [ + 23.103915127840878, + 4.780162464488626 + ], + [ + 23.103915127840878, + 4.780162464488626 + ] + ], + "pressures": [ + 0.0810546875, + 0.2822265625, + 0.333984375, + 0.455078125, + 0.5087890625, + 0.5625, + 0.6220703125, + 0.646484375, + 0.6591796875, + 0.666015625, + 0.646484375, + 0.53125, + 0.1123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.103915127840878, + 4.780162464488626 + ] + }, + { + "id": "rbIx2X0hAqURbKc-fNlBJ", + "type": "freedraw", + "x": 226.5711812601462, + "y": 99.85119292023887, + "width": 43.021129261363626, + "height": 37.444347034801126, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 581405197, + "version": 440, + "versionNonce": 1858539597, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350852479, + 0.796675248579561 + ], + [ + 0, + 0.796675248579561 + ], + [ + -3.18670099431813, + 1.593405983664752 + ], + [ + -7.96686345880687, + 2.390025745738626 + ], + [ + -13.543645685369313, + 3.186756480823874 + ], + [ + -23.103915127840878, + 6.373457475142061 + ], + [ + -28.680697354403378, + 10.356944691051126 + ], + [ + -32.6641845703125, + 15.137051669034065 + ], + [ + -36.64761629971588, + 19.91715864701706 + ], + [ + -40.63104802911931, + 27.087346857244313 + ], + [ + -42.22439852627838, + 30.274103338068187 + ], + [ + -42.22439852627838, + 33.46091530539775 + ], + [ + -42.22439852627838, + 35.850941051136374 + ], + [ + -41.427723277698874, + 37.444347034801126 + ], + [ + -39.834317294034065, + 37.444347034801126 + ], + [ + -38.240966796875, + 36.64761629971588 + ], + [ + -36.64761629971588, + 35.850941051136374 + ], + [ + -36.64761629971588, + 35.850941051136374 + ] + ], + "pressures": [ + 0.0546875, + 0.224609375, + 0.615234375, + 0.7724609375, + 0.8740234375, + 0.9453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2568359375, + 0.1533203125, + 0.0615234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -36.64761629971588, + 35.850941051136374 + ] + }, + { + "id": "sT1gFWjX8dSddDNpzSd3U", + "type": "freedraw", + "x": 244.8949894100042, + "y": 76.74722230589225, + "width": 55.76815518465912, + "height": 63.73501864346588, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 952935299, + "version": 450, + "versionNonce": 1769569965, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485796178, + 0 + ], + [ + 0, + -1.593350497159065 + ], + [ + 2.390081232244256, + -3.983431729403378 + ], + [ + 5.57683771306813, + -7.966863458806813 + ], + [ + 9.560269442471508, + -11.15361993963063 + ], + [ + 14.340376420454504, + -12.746970436789752 + ], + [ + 20.713889382102252, + -14.340376420454504 + ], + [ + 25.493996360085134, + -14.340376420454504 + ], + [ + 30.274158824573874, + -13.543645685369313 + ], + [ + 35.850941051136374, + -10.356889204545439 + ], + [ + 43.021129261363626, + -5.5767822265625 + ], + [ + 46.2078857421875, + -2.390025745738626 + ], + [ + 48.597966974431756, + 0.7967307350852479 + ], + [ + 50.19131747159088, + 4.780162464488683 + ], + [ + 52.581343217329504, + 9.560269442471622 + ], + [ + 54.971479936079504, + 19.120538884943187 + ], + [ + 54.971479936079504, + 24.697376598011374 + ], + [ + 54.1748046875, + 29.477428089488683 + ], + [ + 52.581343217329504, + 31.867509321732996 + ], + [ + 50.98799272017038, + 38.24102228338069 + ], + [ + 49.394642223011374, + 43.02112926136368 + ], + [ + 48.597966974431756, + 47.00456099076706 + ], + [ + 48.597966974431756, + 49.394642223011374 + ], + [ + 47.80123623934651, + 49.394642223011374 + ], + [ + 45.41121049360788, + 49.394642223011374 + ], + [ + 43.81780450994313, + 49.394642223011374 + ], + [ + 43.021129261363626, + 49.394642223011374 + ], + [ + 42.22445401278401, + 49.394642223011374 + ], + [ + 42.22445401278401, + 49.394642223011374 + ] + ], + "pressures": [ + 0.0400390625, + 0.2763671875, + 0.3994140625, + 0.4990234375, + 0.5712890625, + 0.626953125, + 0.66015625, + 0.7265625, + 0.796875, + 0.8408203125, + 0.85546875, + 0.876953125, + 0.884765625, + 0.8984375, + 0.904296875, + 0.90234375, + 0.8828125, + 0.8662109375, + 0.8662109375, + 0.8466796875, + 0.8134765625, + 0.6923828125, + 0.58984375, + 0.53125, + 0.5029296875, + 0.306640625, + 0.2451171875, + 0.2080078125, + 0.1279296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.22445401278401, + 49.394642223011374 + ] + }, + { + "id": "zFIVZ0_SQsQ3q29flSzwF", + "type": "freedraw", + "x": -5.26497818587643, + "y": -295.30551484343187, + "width": 110.73952414772731, + "height": 12.746998180042624, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1516927139, + "version": 359, + "versionNonce": 1795080035, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -28.680697354403435, + -9.56025557084513 + ], + [ + -37.444291548295496, + -11.950309059836627 + ], + [ + -40.63104802911931, + -12.746998180042624 + ], + [ + -41.427723277698874, + -12.746998180042624 + ], + [ + -40.63104802911931, + -12.746998180042624 + ], + [ + -32.6641845703125, + -10.356944691051126 + ], + [ + -22.307184392755687, + -8.763566450639189 + ], + [ + -8.763538707386374, + -6.373499090021255 + ], + [ + 7.170188210227252, + -5.576809969815372 + ], + [ + 23.900645862926126, + -5.576809969815372 + ], + [ + 53.37807395241475, + -5.576809969815372 + ], + [ + 65.328369140625, + -5.576809969815372 + ], + [ + 69.31180087002843, + -4.780134721235754 + ], + [ + 66.92177512428975, + -4.780134721235754 + ], + [ + 61.344937411221565, + -5.576809969815372 + ], + [ + 54.17474920099431, + -6.373499090021255 + ], + [ + 46.2078857421875, + -6.373499090021255 + ], + [ + 40.631103515625, + -6.373499090021255 + ], + [ + 37.444347034801126, + -6.373499090021255 + ], + [ + 37.444347034801126, + -6.373499090021255 + ] + ], + "pressures": [ + 0.044921875, + 0.66796875, + 0.849609375, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.5615234375, + 0.328125, + 0.2001953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 37.444347034801126, + -6.373499090021255 + ] + }, + { + "id": "9N2ewT7qW7HYjvpI_FhBi", + "type": "freedraw", + "x": -39.522457766842365, + "y": -306.459148654689, + "width": 102.77266068892044, + "height": 18.323808149857996, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2118485123, + "version": 380, + "versionNonce": 1490656333, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.576837713068187, + 0 + ], + [ + -4.780162464488626, + 0 + ], + [ + 0, + 0 + ], + [ + 9.560213955965935, + 2.390067360617934 + ], + [ + 23.103859641335248, + 5.576823841441751 + ], + [ + 39.03764204545456, + 7.966877330433249 + ], + [ + 65.32831365411931, + 9.560255570845243 + ], + [ + 81.26204057173294, + 9.560255570845243 + ], + [ + 90.82231001420456, + 8.763566450639246 + ], + [ + 94.80574174360794, + 7.966877330433249 + ], + [ + 91.61898526278412, + 7.170188210227309 + ], + [ + 79.66869007457387, + 4.780134721235868 + ], + [ + 61.344881924715935, + 2.390067360617934 + ], + [ + 42.224398526278435, + 0.7966891202059969 + ], + [ + 24.697265625, + -0.7966752485795041 + ], + [ + 3.983431729403435, + -0.7966752485795041 + ], + [ + -0.7967307350852479, + -0.7966752485795041 + ], + [ + -2.39013671875, + -0.7966752485795041 + ], + [ + 0.796619762073874, + -0.7966752485795041 + ], + [ + 17.527077414772748, + -1.593364368785501 + ], + [ + 35.054210316051126, + -3.186742609197381 + ], + [ + 54.97136896306819, + -4.780120849609375 + ], + [ + 76.48193359375, + -6.373499090021255 + ], + [ + 91.61898526278412, + -7.966863458806756 + ], + [ + 97.19582297585225, + -8.763552579012753 + ], + [ + 90.82231001420456, + -8.763552579012753 + ], + [ + 74.09185236150569, + -5.576809969815315 + ], + [ + 53.37801846590912, + -2.390053488991441 + ], + [ + 24.697265625, + 0.7966891202059969 + ], + [ + 11.950295188210248, + 1.5933782404119938 + ], + [ + 6.373457475142061, + 1.5933782404119938 + ], + [ + 10.356889204545439, + 1.5933782404119938 + ], + [ + 26.290616122159122, + 1.5933782404119938 + ], + [ + 39.83437278053975, + 1.5933782404119938 + ], + [ + 53.37801846590912, + 1.5933782404119938 + ], + [ + 62.938232421875, + 2.390067360617934 + ], + [ + 69.31174538352275, + 2.390067360617934 + ], + [ + 66.12498890269887, + 2.390067360617934 + ], + [ + 62.14155717329544, + 1.5933782404119938 + ], + [ + 61.344881924715935, + 0.7966891202059969 + ], + [ + 61.344881924715935, + 0.7966891202059969 + ] + ], + "pressures": [ + 0.083984375, + 0.1826171875, + 0.369140625, + 0.728515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.423828125, + 0.150390625, + 0.068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 61.344881924715935, + 0.7966891202059969 + ] + }, + { + "id": "AePeXv-G7n7Z7Yzb4IEFB", + "type": "freedraw", + "x": 13.058829963981509, + "y": -323.189578564135, + "width": 12.746914950284122, + "height": 129.86003528941757, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 647537421, + "version": 388, + "versionNonce": 1884740355, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983431729403378 + ], + [ + -0.796619762073874, + -6.373499090021255 + ], + [ + -0.796619762073874, + 2.390067360617877 + ], + [ + -0.796619762073874, + 20.713875510475873 + ], + [ + 0, + 47.004547119140625 + ], + [ + 0, + 87.63559514825994 + ], + [ + 0, + 104.36605280095881 + ], + [ + 0, + 112.33291625976562 + ], + [ + 0, + 113.12959150834519 + ], + [ + 0, + 110.73956576260653 + ], + [ + -3.186700994318187, + 92.41572986949575 + ], + [ + -5.5767822265625, + 71.70186823064631 + ], + [ + -7.170188210227252, + 47.004547119140625 + ], + [ + -7.170188210227252, + 25.493996360085248 + ], + [ + -6.373457475142061, + 11.153619939630687 + ], + [ + -6.373457475142061, + 12.746998180042624 + ], + [ + -7.170188210227252, + 23.90061811967331 + ], + [ + -7.170188210227252, + 45.411168878728716 + ], + [ + -7.170188210227252, + 87.63559514825994 + ], + [ + -7.170188210227252, + 106.75613403320312 + ], + [ + -7.170188210227252, + 113.92629450017756 + ], + [ + -7.170188210227252, + 112.33291625976562 + ], + [ + -7.966863458806813, + 91.61905462091619 + ], + [ + -8.763483220880687, + 66.12505826083097 + ], + [ + -10.356889204545439, + 38.240980668501436 + ], + [ + -10.356889204545439, + 15.933754660866498 + ], + [ + -10.356889204545439, + 5.576809969815372 + ], + [ + -10.356889204545439, + 15.933754660866498 + ], + [ + -11.153619939630687, + 35.054238059304 + ], + [ + -11.950295188210248, + 60.548248291015625 + ], + [ + -12.746914950284122, + 97.19586459073153 + ], + [ + -12.746914950284122, + 109.14615977894178 + ], + [ + -12.746914950284122, + 110.73956576260653 + ], + [ + -12.746914950284122, + 108.34948453036222 + ], + [ + -12.746914950284122, + 97.19586459073153 + ], + [ + -12.746914950284122, + 67.7184365012429 + ], + [ + -11.153619939630687, + 41.42773714932525 + ], + [ + -8.763483220880687, + 22.307253750887753 + ], + [ + -7.170188210227252, + 15.933754660866498 + ], + [ + -7.170188210227252, + 19.120497270063936 + ], + [ + -7.170188210227252, + 37.444305419921875 + ], + [ + -7.966863458806813, + 56.56481656161222 + ], + [ + -7.966863458806813, + 80.46543468128553 + ], + [ + -8.763483220880687, + 103.56934980912644 + ], + [ + -6.373457475142061, + 121.09648271040481 + ], + [ + -4.780051491477252, + 122.68988869406962 + ], + [ + -3.186700994318187, + 123.48653619939631 + ], + [ + -3.186700994318187, + 121.89315795898438 + ], + [ + -3.186700994318187, + 121.89315795898438 + ] + ], + "pressures": [ + 0.1044921875, + 0.15234375, + 0.2666015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.931640625, + 0.2919921875, + 0.1103515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.186700994318187, + 121.89315795898438 + ] + }, + { + "id": "a6zj4t61DeWD0DwAXVxL0", + "type": "freedraw", + "x": 52.89320274452126, + "y": -291.3220831140285, + "width": 0.0001, + "height": 0.0001, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1934206691, + "version": 340, + "versionNonce": 156928685, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.0001, + 0.0001 + ] + ], + "pressures": [ + 0.10546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.0001, + 0.0001 + ] + }, + { + "id": "CiJj79ZAUVpA7RGBAdN72", + "type": "freedraw", + "x": 61.65679693841332, + "y": -303.2723921738651, + "width": 86.83893377130676, + "height": 11.15361993963063, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1795903277, + "version": 388, + "versionNonce": 745450765, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 0 + ], + [ + -0.7967307350852479, + 0 + ], + [ + 10.356944691051183, + -0.7966891202059401 + ], + [ + 22.307239879261317, + -1.5933782404118801 + ], + [ + 38.24096679687494, + -3.186756480823874 + ], + [ + 52.58134321732956, + -4.780120849609375 + ], + [ + 64.53163840553981, + -6.373499090021255 + ], + [ + 65.32836914062494, + -6.373499090021255 + ], + [ + 64.53163840553981, + -6.373499090021255 + ], + [ + 57.36145019531244, + -6.373499090021255 + ], + [ + 35.85094105113632, + -6.373499090021255 + ], + [ + 19.120483398437443, + -4.780120849609375 + ], + [ + 4.780106977982939, + -3.186756480823874 + ], + [ + -3.983431729403435, + -2.390067360617877 + ], + [ + -9.560269442471565, + -1.5933782404118801 + ], + [ + -3.983431729403435, + -2.390067360617877 + ], + [ + 6.373457475142061, + -3.983431729403378 + ], + [ + 23.90059037642044, + -6.373499090021255 + ], + [ + 54.17474920099431, + -9.56025557084513 + ], + [ + 69.31180087002843, + -11.15361993963063 + ], + [ + 74.88858309659093, + -11.15361993963063 + ], + [ + 74.09190784801132, + -11.15361993963063 + ], + [ + 65.32836914062494, + -11.15361993963063 + ], + [ + 48.59791148792618, + -10.35693081942469 + ], + [ + 28.680752840909065, + -7.966877330433249 + ], + [ + 10.356944691051183, + -5.576809969815315 + ], + [ + -4.780162464488626, + -4.780120849609375 + ], + [ + -7.966863458806813, + -4.780120849609375 + ], + [ + -7.170188210227252, + -4.780120849609375 + ], + [ + -2.390081232244313, + -4.780120849609375 + ], + [ + 7.966863458806813, + -4.780120849609375 + ], + [ + 33.46085981889206, + -4.780120849609375 + ], + [ + 51.78466796874994, + -5.576809969815315 + ], + [ + 65.32836914062494, + -5.576809969815315 + ], + [ + 73.29523259943181, + -4.780120849609375 + ], + [ + 77.27866432883519, + -3.983431729403378 + ], + [ + 73.29523259943181, + -3.983431729403378 + ], + [ + 60.54820667613632, + -3.186756480823874 + ], + [ + 41.42772327769882, + -4.780120849609375 + ], + [ + 15.137051669034065, + -7.966877330433249 + ], + [ + 3.186756480823817, + -9.56025557084513 + ], + [ + -3.186756480823874, + -10.35693081942469 + ], + [ + -5.576837713068187, + -11.15361993963063 + ], + [ + 1.593350497159065, + -11.15361993963063 + ], + [ + 9.560213955965935, + -11.15361993963063 + ], + [ + 18.32380814985794, + -11.15361993963063 + ], + [ + 27.884022105823817, + -8.763566450639189 + ], + [ + 36.647616299715935, + -5.576809969815315 + ], + [ + 36.647616299715935, + -4.780120849609375 + ], + [ + 36.647616299715935, + -4.780120849609375 + ] + ], + "pressures": [ + 0.048828125, + 0.212890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7646484375, + 0.197265625, + 0.130859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 36.647616299715935, + -4.780120849609375 + ] + }, + { + "id": "7VrFcNvIkHNnj1n0NmZqC", + "type": "freedraw", + "x": 89.54081904423714, + "y": -316.01939035390774, + "width": 7.9669189453125, + "height": 122.68988869406962, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1529262317, + "version": 383, + "versionNonce": 417871427, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5933504971590082, + -6.373485218394876 + ], + [ + -1.5933504971590082, + -7.170188210227252 + ], + [ + -0.7966752485795041, + 0 + ], + [ + 0, + 14.340376420454618 + ], + [ + 1.5934059836648657, + 32.66417069868612 + ], + [ + 2.39008123224437, + 57.36149181019178 + ], + [ + 3.186756480823874, + 78.87205644087362 + ], + [ + 3.186756480823874, + 92.41572986949578 + ], + [ + 4.780162464488626, + 97.99253983931112 + ], + [ + 4.780162464488626, + 94.00910810990769 + ], + [ + 3.9834317294034918, + 74.09192171963781 + ], + [ + 2.39008123224437, + 53.37806008078837 + ], + [ + 2.39008123224437, + 31.070792458274184 + ], + [ + 3.186756480823874, + 13.54368730024862 + ], + [ + 3.9834317294034918, + 1.5933782404119938 + ], + [ + 4.780162464488626, + -3.186742609197381 + ], + [ + 4.780162464488626, + -0.7966891202059401 + ], + [ + 4.780162464488626, + 11.950309059836684 + ], + [ + 3.9834317294034918, + 35.054251930930434 + ], + [ + 1.5934059836648657, + 74.88859696821737 + ], + [ + 0, + 92.41572986949578 + ], + [ + 0, + 97.19586459073156 + ], + [ + 0, + 97.99253983931112 + ], + [ + -0.7966752485795041, + 93.21240511807531 + ], + [ + -2.390025745738626, + 70.1084899902344 + ], + [ + -3.186756480823874, + 46.20787187056112 + ], + [ + -3.186756480823874, + 23.10392899946737 + ], + [ + -3.186756480823874, + 7.170188210227309 + ], + [ + -3.186756480823874, + 2.390067360617934 + ], + [ + -3.186756480823874, + 7.170188210227309 + ], + [ + -3.186756480823874, + 19.120497270063993 + ], + [ + -3.186756480823874, + 39.03768366033384 + ], + [ + -2.390025745738626, + 65.32835526899862 + ], + [ + -2.390025745738626, + 103.56937755237928 + ], + [ + -2.390025745738626, + 114.72296974875712 + ], + [ + -2.390025745738626, + 115.51970048384237 + ], + [ + -2.390025745738626, + 114.72296974875712 + ], + [ + -2.390025745738626, + 99.58594582297587 + ], + [ + -1.5933504971590082, + 87.63562289151281 + ], + [ + 0, + 79.668759432706 + ], + [ + 0.7967307350852479, + 76.48197520862928 + ], + [ + 0.7967307350852479, + 75.68532770330259 + ], + [ + 2.39008123224437, + 78.87205644087362 + ], + [ + 3.186756480823874, + 80.46540693803269 + ], + [ + 3.186756480823874, + 80.46540693803269 + ] + ], + "pressures": [ + 0.130859375, + 0.3173828125, + 0.4423828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3505859375, + 0.046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186756480823874, + 80.46540693803269 + ] + }, + { + "id": "6_aq9215c4Bpbs3zarH1D", + "type": "freedraw", + "x": 60.860066203328074, + "y": -212.45001280152846, + "width": 101.97592995383519, + "height": 21.510592373934657, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 608917443, + "version": 388, + "versionNonce": 1905230701, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780106977982939, + -2.390081232244313 + ], + [ + -1.593350497159065, + -3.186784224076689 + ], + [ + 6.373512961647691, + -3.9834317294034065 + ], + [ + 19.91721413352269, + -4.7801347212357825 + ], + [ + 50.191317471590935, + -5.576837713068159 + ], + [ + 70.90520685369319, + -6.3735129616477195 + ], + [ + 86.04231400923294, + -6.3735129616477195 + ], + [ + 91.61904074928981, + -6.3735129616477195 + ], + [ + 92.41571599786931, + -6.3735129616477195 + ], + [ + 82.85550204190343, + -9.560269442471593 + ], + [ + 67.71845037286931, + -14.340404163707376 + ], + [ + 50.191317471590935, + -16.730457652698846 + ], + [ + 31.86750932173294, + -17.527132901278407 + ], + [ + 15.933782404119313, + -18.323835893110783 + ], + [ + 0.7967307350852479, + -19.120511141690343 + ], + [ + -3.186700994318187, + -19.917186390269876 + ], + [ + -3.983431729403378, + -19.917186390269876 + ], + [ + -1.593350497159065, + -19.917186390269876 + ], + [ + 9.560269442471565, + -17.527132901278407 + ], + [ + 20.71388938210231, + -15.137079412286909 + ], + [ + 37.44434703480118, + -13.543701171875 + ], + [ + 54.17474920099431, + -11.950322931463063 + ], + [ + 64.53169389204544, + -10.35697243430397 + ], + [ + 68.51512562144893, + -10.35697243430397 + ], + [ + 66.92177512428981, + -9.560269442471593 + ], + [ + 57.36150568181819, + -9.560269442471593 + ], + [ + 41.42777876420456, + -9.560269442471593 + ], + [ + 15.137107155539809, + -9.560269442471593 + ], + [ + 1.593405983664809, + -9.560269442471593 + ], + [ + -6.373457475142004, + -9.560269442471593 + ], + [ + -9.560213955965878, + -9.560269442471593 + ], + [ + 3.186756480823931, + -10.35697243430397 + ], + [ + 18.323863636363683, + -11.950322931463063 + ], + [ + 39.03769753196019, + -13.543701171875 + ], + [ + 56.56483043323868, + -14.340404163707376 + ], + [ + 67.71845037286931, + -14.340404163707376 + ], + [ + 68.51512562144893, + -14.340404163707376 + ], + [ + 65.32836914062506, + -14.340404163707376 + ], + [ + 55.768155184659065, + -14.340404163707376 + ], + [ + 39.83437278053981, + -13.543701171875 + ], + [ + 23.103970614346565, + -11.950322931463063 + ], + [ + 9.560269442471565, + -9.560269442471593 + ], + [ + 7.170188210227309, + -9.560269442471593 + ], + [ + 11.15367542613643, + -8.763594193892033 + ], + [ + 19.120538884943187, + -8.763594193892033 + ], + [ + 29.477483575994313, + -11.950322931463063 + ], + [ + 42.224454012784065, + -15.93375466086647 + ], + [ + 55.768155184659065, + -19.917186390269876 + ], + [ + 58.95491166548294, + -21.510592373934657 + ], + [ + 58.95491166548294, + -21.510592373934657 + ] + ], + "pressures": [ + 0.1005859375, + 0.2578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.361328125, + 0.0322265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 58.95491166548294, + -21.510592373934657 + ] + }, + { + "id": "zNATukWhRwmFizngRqP3c", + "type": "freedraw", + "x": 134.95202953784525, + "y": -304.2858602739465, + "width": 5.858009628773931, + "height": 106.17618227799346, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 314886275, + "version": 425, + "versionNonce": 255163587, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + -0.5155022109070649 + ], + [ + 0, + -5.641247886424598 + ], + [ + 0.7322384539371394, + -5.641247886424598 + ], + [ + 0.7322384539371394, + -6.373499090021312 + ], + [ + 2.1967153618112096, + 3.145741057416934 + ], + [ + 3.661294266962721, + 17.790739630032398 + ], + [ + 5.125771174836894, + 34.632479063778376 + ], + [ + 5.858009628773931, + 52.93870815505818 + ], + [ + 5.858009628773931, + 70.51271154206057 + ], + [ + 4.393532720899756, + 83.6931822081632 + ], + [ + 2.1967153618112096, + 96.14143991964809 + ], + [ + 2.1967153618112096, + 99.80268318797215 + ], + [ + 2.1967153618112096, + 97.6059678261609 + ], + [ + 2.1967153618112096, + 95.40917596639167 + ], + [ + 2.1967153618112096, + 94.6769375124546 + ], + [ + 2.1967153618112096, + 94.6769375124546 + ] + ], + "pressures": [ + 0.0966796875, + 0.2578125, + 0.3193359375, + 0.4150390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6337890625, + 0.1630859375, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.390025745738626, + 103.56934980912641 + ] + }, + { + "id": "xxs46D0vjNrxt1Y-fsEpm", + "type": "freedraw", + "x": 148.13252570326773, + "y": -311.2861710991749, + "width": 86.40546352917977, + "height": 117.15992483262526, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1072357315, + "version": 445, + "versionNonce": 1247373315, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + -0.8376906719864442 + ], + [ + 0, + -3.7666827367137294 + ], + [ + 1.4644769078740696, + -1.5699418755832117 + ], + [ + 5.125771174836791, + 5.7525574107245205 + ], + [ + 11.716019257547757, + 26.987791316391323 + ], + [ + 16.841688435107315, + 43.09727954654059 + ], + [ + 22.699698063881243, + 58.474516573093055 + ], + [ + 27.093230784781, + 72.3872766917714 + ], + [ + 30.754525051743613, + 89.22901612551745 + ], + [ + 33.68347886749197, + 98.74824352329604 + ], + [ + 36.61243268324021, + 105.33849160600703 + ], + [ + 38.07701158839172, + 106.80299401320052 + ], + [ + 38.80925004232876, + 106.80299401320052 + ], + [ + 39.541488496265906, + 105.33849160600703 + ], + [ + 40.27372695020294, + 98.74824352329604 + ], + [ + 41.73820385807709, + 88.49675217226103 + ], + [ + 43.93502121716565, + 71.65503823783438 + ], + [ + 48.328451940788064, + 53.34877089757556 + ], + [ + 54.186461569562, + 29.91679613077829 + ], + [ + 57.11541538531024, + 16.73629996535626 + ], + [ + 60.044471198335934, + 5.7525574107245205 + ], + [ + 62.24118656014715, + -2.302193079179926 + ], + [ + 64.43800391923567, + -9.62467961582798 + ], + [ + 65.1702423731727, + -10.356930819424747 + ], + [ + 65.90248082710974, + -5.96343634750398 + ], + [ + 67.36695773498394, + 2.0913141424005213 + ], + [ + 71.76049045588368, + 19.66529203008359 + ], + [ + 75.42168272556906, + 33.578039399102295 + ], + [ + 79.81521544646884, + 49.687527629251534 + ], + [ + 82.74416926221717, + 65.79702860906046 + ], + [ + 84.94098662130573, + 78.24526082122604 + ], + [ + 85.67322507524275, + 91.42575698664803 + ], + [ + 85.67322507524275, + 94.35476180103494 + ], + [ + 86.40546352917977, + 94.35476180103494 + ], + [ + 84.20874816736858, + 92.89025939384148 + ], + [ + 82.01193080828001, + 89.96128007877383 + ], + [ + 79.08297699253181, + 87.03224976506753 + ], + [ + 78.35073853859468, + 86.30003681044982 + ], + [ + 78.35073853859468, + 86.30003681044982 + ] + ], + "pressures": [ + 0.0927734375, + 0.3701171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.880859375, + 0.228515625, + 0.1279296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 85.24558327414763, + 94.80582497336647 + ] + }, + { + "id": "l5m-vK8FUOg9x2wq3WnXW", + "type": "freedraw", + "x": 142.27451607449308, + "y": -211.2725962247632, + "width": 83.47650971343151, + "height": 131.07267220164397, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 530645059, + "version": 458, + "versionNonce": 810765741, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + -10.052294795637824 + ], + [ + 0.7322384539370344, + -10.052294795637824 + ], + [ + 3.6612942669627198, + -19.571573192055084 + ], + [ + 5.125771174836788, + -31.287566950283587 + ], + [ + 6.590248082710962, + -45.20030156964263 + ], + [ + 8.054724990585134, + -59.84528739259843 + ], + [ + 8.054724990585134, + -74.49028596521387 + ], + [ + 8.054724990585134, + -94.99326866728391 + ], + [ + 8.054724990585134, + -106.70926242551239 + ], + [ + 8.054724990585134, + -115.49625136935393 + ], + [ + 8.054724990585134, + -121.35424824846817 + ], + [ + 8.054724990585134, + -123.55100185925835 + ], + [ + 8.054724990585134, + -124.28325306285512 + ], + [ + 8.78696344452217, + -121.35424824846817 + ], + [ + 13.180496165421925, + -103.04801915718832 + ], + [ + 17.574028886321678, + -83.27727490905542 + ], + [ + 24.164276969032638, + -62.77429220698539 + ], + [ + 30.754525051743705, + -45.93254002357969 + ], + [ + 35.88019422930316, + -31.287566950283587 + ], + [ + 41.00596540414004, + -12.981325109344123 + ], + [ + 43.935021217165634, + -1.9975698050526824 + ], + [ + 46.86397503291385, + 4.592703776977615 + ], + [ + 49.0606903947252, + 6.789419138788855 + ], + [ + 49.793030845939555, + 6.789419138788855 + ], + [ + 50.525269299876605, + 3.128175870464803 + ], + [ + 50.525269299876605, + -4.926574619439648 + ], + [ + 51.257507753813734, + -15.910304424411729 + ], + [ + 51.257507753813734, + -30.55530299702719 + ], + [ + 53.454223115624934, + -57.64854653146785 + ], + [ + 55.65093847743615, + -72.29353235442363 + ], + [ + 57.84775583652469, + -84.00952611265213 + ], + [ + 59.31223274439876, + -94.26101746368717 + ], + [ + 60.776709652272935, + -108.17376483270586 + ], + [ + 61.50894810621007, + -114.76400016575718 + ], + [ + 62.24118656014711, + -118.42524343408118 + ], + [ + 62.24118656014711, + -119.1575073873376 + ], + [ + 62.973425014084135, + -116.22850257295065 + ], + [ + 66.63471928104687, + -101.5835167499949 + ], + [ + 68.8315366401354, + -91.33202539895983 + ], + [ + 72.49283090709812, + -78.88378043713465 + ], + [ + 75.42168272556903, + -63.506530660922415 + ], + [ + 79.08297699253174, + -37.14555107973814 + ], + [ + 81.27969235434296, + -20.303811645992177 + ], + [ + 82.01193080827998, + -8.587817887763673 + ], + [ + 82.01193080827998, + -1.9975698050526824 + ], + [ + 82.01193080827998, + 0.9314350093342564 + ], + [ + 82.74416926221713, + 0.9314350093342564 + ], + [ + 83.47650971343151, + 0.9314350093342564 + ], + [ + 82.74416926221713, + -1.2653313511156217 + ], + [ + 82.01193080827998, + -3.4620722122461647 + ], + [ + 82.01193080827998, + -3.4620722122461647 + ] + ], + "pressures": [ + 0.021484375, + 0.669921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.248046875, + 0.0322265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 89.22895951704538, + 7.170160466974437 + ] + }, + { + "id": "QXbrcA7h6QPMjWXh036es", + "type": "freedraw", + "x": 143.86786657165277, + "y": -212.6492393441119, + "width": 90.06675779614251, + "height": 120.82118085060894, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2126590595, + "version": 479, + "versionNonce": 731082659, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + -0.1288735892849471, + -9.407915629545576 + ], + [ + -1.593350497159122, + -10.140179582801997 + ], + [ + -1.593350497159122, + -19.65940698058059 + ], + [ + -1.593350497159122, + -31.375400738809084 + ], + [ + 0.6033648646520879, + -47.48490171861802 + ], + [ + 3.5324206776776688, + -64.32664115236395 + ], + [ + 4.996897585551845, + -79.70387817891651 + ], + [ + 5.729136039488881, + -93.61662554793526 + ], + [ + 6.46137449342602, + -108.26161137089098 + ], + [ + 7.193612947363055, + -114.11960825000519 + ], + [ + 7.925953398577426, + -116.3163618607955 + ], + [ + 10.122668760388633, + -114.11960825000519 + ], + [ + 13.78386103007402, + -104.60036810256699 + ], + [ + 19.64187065884795, + -86.2941262616275 + ], + [ + 27.69659564943309, + -60.66539788403996 + ], + [ + 40.144853360917985, + -23.320650248904617 + ], + [ + 46.00286298969192, + -7.211174768415033 + ], + [ + 49.66415725665464, + 1.5758141754265003 + ], + [ + 51.860872618465855, + 4.504818989813438 + ], + [ + 52.593111072402884, + 4.504818989813438 + ], + [ + 53.32534952633991, + 2.3080781286828933 + ], + [ + 54.05758798027704, + -4.282169954028094 + ], + [ + 54.05758798027704, + -16.730427665512988 + ], + [ + 55.522166885428454, + -45.28816085748747 + ], + [ + 57.71888224723966, + -64.32664115236395 + ], + [ + 59.91559760905099, + -81.16838058611 + ], + [ + 61.38007451692505, + -94.34887675153189 + ], + [ + 62.11241496813952, + -108.99386257448776 + ], + [ + 62.84465342207655, + -114.85185945360192 + ], + [ + 62.84465342207655, + -116.3163618607955 + ], + [ + 63.57699387329095, + -116.3163618607955 + ], + [ + 65.04136878388776, + -112.65511859247142 + ], + [ + 67.97032259963602, + -102.40361449177674 + ], + [ + 73.82833222840993, + -76.77488611418923 + ], + [ + 79.68634185718388, + -55.53965220852241 + ], + [ + 84.07987457808362, + -35.768907960389505 + ], + [ + 87.741066847769, + -18.19493007270644 + ], + [ + 88.47340729898339, + -11.60468198999548 + ], + [ + 88.47340729898339, + -8.675651676289181 + ], + [ + 88.47340729898339, + -7.211174768415033 + ], + [ + 88.47340729898339, + -6.478936314477973 + ], + [ + 88.47340729898339, + -5.746672361221551 + ], + [ + 87.741066847769, + -5.014408407965156 + ], + [ + 86.27658993989483, + -5.746672361221551 + ], + [ + 86.27658993989483, + -5.746672361221551 + ] + ], + "pressures": [ + 0.0537109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.947265625, + 0.181640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 94.00912198153401, + 3.9834317294034065 + ] + }, + { + "id": "RHR0x3fMukKatdQGdghUh", + "type": "freedraw", + "x": 322.97027350091327, + "y": -323.189578564135, + "width": 91.61898526278401, + "height": 18.32380814985794, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 915294445, + "version": 347, + "versionNonce": 1514152675, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186700994318244, + 0 + ], + [ + 3.983376242897748, + 0 + ], + [ + 3.186700994318244, + 0 + ], + [ + -2.390025745738626, + -2.390053488991498 + ], + [ + -10.356889204545382, + -4.780120849609375 + ], + [ + -23.104026100852252, + -6.373499090021255 + ], + [ + -37.444402521306756, + -7.966877330433249 + ], + [ + -52.58145419034088, + -10.35693081942469 + ], + [ + -72.49855735085225, + -12.746998180042624 + ], + [ + -81.26220703125, + -14.340376420454504 + ], + [ + -86.04214754971588, + -15.137051669034065 + ], + [ + -87.63560901988626, + -15.933740789240062 + ], + [ + -83.65223277698863, + -17.527119029652 + ], + [ + -78.07528409090901, + -18.32380814985794 + ], + [ + -69.31185635653401, + -18.32380814985794 + ], + [ + -62.14155717329538, + -18.32380814985794 + ], + [ + -57.36150568181813, + -18.32380814985794 + ], + [ + -55.76815518465901, + -18.32380814985794 + ], + [ + -56.564830433238626, + -18.32380814985794 + ], + [ + -59.75164240056813, + -18.32380814985794 + ], + [ + -62.14155717329538, + -18.32380814985794 + ], + [ + -62.14155717329538, + -18.32380814985794 + ] + ], + "pressures": [ + 0.0517578125, + 0.193359375, + 0.24609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4892578125, + 0.23046875, + 0.06640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -62.14155717329538, + -18.32380814985794 + ] + }, + { + "id": "dqkXO_xPuA3cDAPSkEvOK", + "type": "freedraw", + "x": 248.878365652902, + "y": -347.09019668380824, + "width": 7.170188210227252, + "height": 132.25008877840907, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1492970861, + "version": 342, + "versionNonce": 57815245, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967862215909918, + -4.780120849609375 + ], + [ + 0, + -0.7966891202059969 + ], + [ + 2.390025745738626, + 7.966877330433192 + ], + [ + 3.9834872159090082, + 34.257548939098 + ], + [ + 3.9834872159090082, + 56.564802689985754 + ], + [ + 3.18670099431813, + 78.87205644087354 + ], + [ + 3.18670099431813, + 99.58591807972297 + ], + [ + 3.18670099431813, + 113.92629450017753 + ], + [ + 3.9834872159090082, + 125.87658968838775 + ], + [ + 3.9834872159090082, + 127.46996792879969 + ], + [ + 4.780051491477252, + 127.46996792879969 + ], + [ + 4.780051491477252, + 126.67332042347297 + ], + [ + 4.780051491477252, + 121.09648271040479 + ], + [ + 5.576726740056756, + 117.90972622958094 + ], + [ + 6.37340198863626, + 113.92629450017753 + ], + [ + 6.37340198863626, + 113.12959150834513 + ], + [ + 6.37340198863626, + 113.12959150834513 + ] + ], + "pressures": [ + 0.1142578125, + 0.291015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4951171875, + 0.171875, + 0.11328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.37340198863626, + 113.12959150834513 + ] + }, + { + "id": "QJP_EYQZZMqMco2AT1tSb", + "type": "freedraw", + "x": 255.25176764153827, + "y": -230.77384869463924, + "width": 98.78917347301126, + "height": 15.933726917613626, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 760906765, + "version": 345, + "versionNonce": 1827442477, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5933504971590082, + 0.796702991832376 + ], + [ + -3.9833762428976343, + 0 + ], + [ + -5.576726740056756, + 0 + ], + [ + -6.37340198863626, + -1.5933504971590935 + ], + [ + -6.37340198863626, + -2.3900534889914695 + ], + [ + -4.780051491477252, + -3.186756480823874 + ], + [ + 0, + -4.780134721235811 + ], + [ + 7.96686345880687, + -6.373485218394876 + ], + [ + 23.90070134943187, + -9.560213955965907 + ], + [ + 37.44440252130687, + -9.560213955965907 + ], + [ + 52.58145419034099, + -9.560213955965907 + ], + [ + 66.92171963778412, + -7.1701882102272805 + ], + [ + 84.44890802556824, + -1.5933504971590935 + ], + [ + 89.22907049005687, + 3.186756480823874 + ], + [ + 91.6190962357955, + 5.5768099698153435 + ], + [ + 92.415771484375, + 6.3735129616477195 + ], + [ + 91.6190962357955, + 5.5768099698153435 + ], + [ + 87.63560901988637, + 2.390081232244313 + ], + [ + 83.65223277698863, + 0.796702991832376 + ], + [ + 82.85555752840912, + 0 + ], + [ + 82.85555752840912, + 0 + ] + ], + "pressures": [ + 0.00390625, + 0.09375, + 0.2177734375, + 0.2978515625, + 0.61328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6083984375, + 0.197265625, + 0.1279296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 82.85555752840912, + 0 + ] + }, + { + "id": "9_2wlQZ3QYLOFR4JoQUA1", + "type": "freedraw", + "x": 253.65841714437926, + "y": -281.76184141480974, + "width": 66.92171963778412, + "height": 1.593378240411937, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 787201827, + "version": 335, + "versionNonce": 289998371, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -0.7966752485795041 + ], + [ + 3.9834872159090082, + -0.7966752485795041 + ], + [ + 19.917214133522748, + -0.7966752485795041 + ], + [ + 31.867453835227252, + -0.7966752485795041 + ], + [ + 43.021240234375, + -0.7966752485795041 + ], + [ + 52.581343217329504, + -0.7966752485795041 + ], + [ + 60.548206676136374, + -0.7966752485795041 + ], + [ + 64.53169389204538, + 0 + ], + [ + 65.328369140625, + 0 + ], + [ + 64.53169389204538, + 0.7967029918324329 + ], + [ + 64.53169389204538, + 0.7967029918324329 + ] + ], + "pressures": [ + 0.08984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.23046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 64.53169389204538, + 0.7967029918324329 + ] + }, + { + "id": "JpY_jAIS-ha49ZuOM4xR0", + "type": "freedraw", + "x": 255.25176764153827, + "y": -329.56307765415625, + "width": 92.415771484375, + "height": 11.153633811257066, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 39774925, + "version": 358, + "versionNonce": 1212948877, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780051491477252, + -0.7966752485796178 + ], + [ + -5.576726740056756, + -0.7966752485796178 + ], + [ + -5.576726740056756, + -1.5933782404119938 + ], + [ + 2.39013671875, + -2.390053488991498 + ], + [ + 14.340376420454618, + -2.390053488991498 + ], + [ + 30.274103338068244, + -2.390053488991498 + ], + [ + 48.59796697443187, + -2.390053488991498 + ], + [ + 66.12504438920462, + 0 + ], + [ + 79.66874556107962, + 3.186770352450253 + ], + [ + 81.26220703125, + 3.983445601029757 + ], + [ + 74.09190784801137, + 3.983445601029757 + ], + [ + 60.54831764914775, + 3.983445601029757 + ], + [ + 47.00461647727275, + 3.983445601029757 + ], + [ + 33.46102627840912, + 3.983445601029757 + ], + [ + 20.713889382102366, + 3.983445601029757 + ], + [ + 4.78016246448874, + 1.5933782404118801 + ], + [ + -3.18670099431813, + -0.7966752485796178 + ], + [ + -8.76353870738626, + -2.390053488991498 + ], + [ + -10.356778231534008, + -3.983431729403435 + ], + [ + -11.153564453125, + -3.983431729403435 + ], + [ + -6.37340198863626, + -2.390053488991498 + ], + [ + 3.983487215909122, + 0 + ], + [ + 16.730513139204618, + 2.390067360617877 + ], + [ + 35.05426580255687, + 3.983445601029757 + ], + [ + 45.41126598011374, + 5.576809969815258 + ], + [ + 52.58145419034099, + 6.373499090021255 + ], + [ + 56.56483043323874, + 7.170202081853631 + ], + [ + 57.36161665482962, + 7.170202081853631 + ], + [ + 54.1748046875, + 7.170202081853631 + ], + [ + 47.00461647727275, + 6.373499090021255 + ], + [ + 38.241077769886374, + 4.780120849609375 + ], + [ + 29.4775390625, + 3.983445601029757 + ], + [ + 23.90070134943187, + 6.373499090021255 + ], + [ + 23.90070134943187, + 6.373499090021255 + ] + ], + "pressures": [ + 0.1162109375, + 0.208984375, + 0.2734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.3994140625, + 0.080078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.90070134943187, + 6.373499090021255 + ] + }, + { + "id": "zyOWBQK5lKRJUd5rk_CeC", + "type": "freedraw", + "x": 264.81209257051563, + "y": -330.35975290273586, + "width": 17.527188387784122, + "height": 125.87660356001422, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 258154893, + "version": 368, + "versionNonce": 1261062595, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -6.373512961647691 + ], + [ + 0, + -9.56025557084513 + ], + [ + -0.7966752485796178, + -10.356944691051126 + ], + [ + -1.5934614701704959, + -5.576823841441751 + ], + [ + -3.186811967329618, + 10.356930819424747 + ], + [ + -3.186811967329618, + 48.597911487926126 + ], + [ + -3.983376242897748, + 75.68528608842331 + ], + [ + -5.576837713068244, + 97.19585071910515 + ], + [ + -7.170188210227366, + 109.94287664240059 + ], + [ + -7.170188210227366, + 114.72295587713072 + ], + [ + -7.170188210227366, + 115.51965886896309 + ], + [ + -8.763649680397748, + 105.95941716974434 + ], + [ + -9.560324928977366, + 91.61904074928981 + ], + [ + -9.560324928977366, + 74.88861083984378 + ], + [ + -8.763649680397748, + 50.987992720170496 + ], + [ + -6.373512961647748, + 35.850927179509995 + ], + [ + -5.576837713068244, + 20.713861638849494 + ], + [ + -4.780162464488626, + 5.576796098188993 + ], + [ + -4.780162464488626, + -3.983431729403378 + ], + [ + -4.780162464488626, + -6.373512961647691 + ], + [ + -4.780162464488626, + -0.796702991832376 + ], + [ + -4.780162464488626, + 17.52710515802562 + ], + [ + -5.576837713068244, + 39.83435890891337 + ], + [ + -7.96686345880687, + 70.90515136718753 + ], + [ + -10.35700017755687, + 84.44885253906253 + ], + [ + -11.950239701704618, + 89.2289595170455 + ], + [ + -11.950239701704618, + 88.43228426846593 + ], + [ + -13.543701171875, + 82.05879905007106 + ], + [ + -15.933726917613626, + 66.1250721324574 + ], + [ + -17.527188387784122, + 35.054238059304 + ], + [ + -17.527188387784122, + 15.137051669034122 + ], + [ + -17.527188387784122, + 3.983445601029871 + ], + [ + -17.527188387784122, + 1.593364368785501 + ], + [ + -15.933726917613626, + 11.153619939630744 + ], + [ + -13.543701171875, + 33.46085981889212 + ], + [ + -12.747025923295496, + 61.34490966796878 + ], + [ + -12.747025923295496, + 85.24552778764206 + ], + [ + -11.950239701704618, + 98.78922895951706 + ], + [ + -11.153675426136374, + 99.58590420809662 + ], + [ + -11.153675426136374, + 97.19585071910515 + ], + [ + -10.35700017755687, + 88.43228426846593 + ], + [ + -9.560324928977366, + 80.46542080965912 + ], + [ + -8.763649680397748, + 76.48196133700287 + ], + [ + -8.763649680397748, + 76.48196133700287 + ] + ], + "pressures": [ + 0.05859375, + 0.1474609375, + 0.28515625, + 0.4873046875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8134765625, + 0.2578125, + 0.1142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -8.763649680397748, + 76.48196133700287 + ] + }, + { + "id": "FrgLTbPFfwrKNGCNRdxGA", + "type": "freedraw", + "x": 257.64190436028827, + "y": -282.55851666338924, + "width": 79.66863458806813, + "height": 25.493982488458812, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1554995245, + "version": 361, + "versionNonce": 181037037, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.9834872159090082, + -1.593378240411937 + ], + [ + -2.39013671875, + -1.593378240411937 + ], + [ + 3.186811967329618, + -1.593378240411937 + ], + [ + 19.120538884943244, + -1.593378240411937 + ], + [ + 64.53158291903412, + 4.7801069779829675 + ], + [ + 64.53158291903412, + 5.5768099698153435 + ], + [ + 42.22434303977275, + 3.186756480823874 + ], + [ + 34.25747958096599, + 1.593378240411937 + ], + [ + 7.96686345880687, + -1.593378240411937 + ], + [ + -5.57683771306813, + -3.983431729403378 + ], + [ + -12.746914950284008, + -5.576823841441751 + ], + [ + -15.137051669034008, + -6.373499090021312 + ], + [ + -7.966863458806756, + -6.373499090021312 + ], + [ + 2.3900257457387397, + -3.186756480823874 + ], + [ + 16.730402166193244, + 3.186756480823874 + ], + [ + 33.460804332386374, + 11.153619939630687 + ], + [ + 49.39453125, + 18.323835893110783 + ], + [ + 51.78466796875, + 19.1204833984375 + ], + [ + 50.987992720170496, + 19.1204833984375 + ], + [ + 43.817804509943244, + 15.93375466086647 + ], + [ + 33.460804332386374, + 8.763566450639217 + ], + [ + 15.137162642045496, + -1.593378240411937 + ], + [ + 5.57672674005687, + -5.576823841441751 + ], + [ + -0.7966752485795041, + -6.373499090021312 + ], + [ + -2.39013671875, + -6.373499090021312 + ], + [ + 1.593350497159122, + -5.576823841441751 + ], + [ + 11.153675426136374, + -3.983431729403378 + ], + [ + 22.307239879261374, + -2.390081232244313 + ], + [ + 32.66412908380687, + 0.7966752485795041 + ], + [ + 43.02112926136374, + 3.9834317294034065 + ], + [ + 54.97147993607962, + 8.763566450639217 + ], + [ + 57.36139470880687, + 9.56024169921875 + ], + [ + 52.58134321732962, + 9.56024169921875 + ], + [ + 45.411155007102366, + 7.966863458806813 + ], + [ + 40.63099254261374, + 5.5768099698153435 + ], + [ + 39.03775301846599, + 4.7801069779829675 + ], + [ + 39.03775301846599, + 4.7801069779829675 + ] + ], + "pressures": [ + 0.0439453125, + 0.267578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4365234375, + 0.150390625, + 0.0458984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.03775301846599, + 4.7801069779829675 + ] + }, + { + "id": "Q46hhhzrBfZ50n-Ld5V53", + "type": "freedraw", + "x": 251.26839139864063, + "y": -240.33406265060512, + "width": 94.80579723011363, + "height": 22.307239879261346, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1822471683, + "version": 362, + "versionNonce": 727849315, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780162464488626, + 0 + ], + [ + -6.373401988636374, + -3.9834317294034065 + ], + [ + -7.170188210227366, + -5.576837713068187 + ], + [ + -7.170188210227366, + -7.9668912020596565 + ], + [ + -2.390025745738626, + -7.9668912020596565 + ], + [ + 13.543701171875, + -6.373540704900563 + ], + [ + 21.51067560369313, + -4.7801624644886545 + ], + [ + 35.850941051136374, + -2.390081232244313 + ], + [ + 50.19131747159088, + 0 + ], + [ + 70.90509588068176, + 4.7800792347300955 + ], + [ + 82.05877130681813, + 7.966863458806813 + ], + [ + 86.83893377130676, + 8.763538707386346 + ], + [ + 87.63560901988626, + 8.763538707386346 + ], + [ + 86.04225852272725, + 7.170160466974437 + ], + [ + 77.27871981534088, + 1.5933504971590935 + ], + [ + 64.53169389204538, + -3.9834317294034065 + ], + [ + 48.59785600142038, + -6.373540704900563 + ], + [ + 30.27410333806813, + -5.576837713068187 + ], + [ + 7.966863458806756, + -0.7967307350852195 + ], + [ + 0, + 0.796647505326689 + ], + [ + -1.593350497159122, + 1.5933504971590935 + ], + [ + 0.7966752485795041, + 1.5933504971590935 + ], + [ + 15.137051669034008, + 2.390025745738626 + ], + [ + 29.4775390625, + 3.9834317294034065 + ], + [ + 43.021129261363626, + 4.7800792347300955 + ], + [ + 57.36150568181813, + 4.7800792347300955 + ], + [ + 69.31185635653401, + 3.1867287375710305 + ], + [ + 75.68525834517038, + 2.390025745738626 + ], + [ + 73.29534357244313, + 2.390025745738626 + ], + [ + 64.53169389204538, + 2.390025745738626 + ], + [ + 51.78466796875, + 3.9834317294034065 + ], + [ + 33.460915305397634, + 8.763538707386346 + ], + [ + 26.29061612215901, + 11.95029518821022 + ], + [ + 23.103915127840878, + 13.543645685369313 + ], + [ + 23.103915127840878, + 14.340348677201689 + ], + [ + 26.29061612215901, + 14.340348677201689 + ], + [ + 31.867453835227252, + 14.340348677201689 + ], + [ + 31.867453835227252, + 14.340348677201689 + ] + ], + "pressures": [ + 0.0888671875, + 0.1572265625, + 0.3056640625, + 0.4111328125, + 0.9404296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.728515625, + 0.1435546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.867453835227252, + 14.340348677201689 + ] + }, + { + "id": "5geOolWFdc-068WNR5zbP", + "type": "freedraw", + "x": 20.229073660714448, + "y": -147.91837439598868, + "width": 32.66412908380681, + "height": 39.83437278053981, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1363490435, + "version": 357, + "versionNonce": 1181803085, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350851911, + -4.780079234730124 + ], + [ + -0.7967307350851911, + -8.763538707386374 + ], + [ + -1.593405983664752, + -12.746970436789752 + ], + [ + -2.390081232244313, + -13.543673428622185 + ], + [ + -3.186756480823874, + -12.746970436789752 + ], + [ + -3.186756480823874, + -4.780079234730124 + ], + [ + -2.390081232244313, + 7.966891202059685 + ], + [ + -0.7967307350851911, + 16.730457652698874 + ], + [ + 2.390025745738626, + 23.103970614346565 + ], + [ + 3.186700994318187, + 23.90061811967331 + ], + [ + 3.983431729403435, + 23.90061811967331 + ], + [ + 5.5767822265625, + 21.510564630681813 + ], + [ + 9.560213955965935, + 7.170215953480124 + ], + [ + 11.950295188210248, + -1.593350497159065 + ], + [ + 12.746970436789809, + -3.983431729403435 + ], + [ + 12.746970436789809, + -1.593350497159065 + ], + [ + 13.543645685369313, + 6.373512961647748 + ], + [ + 15.933726917613626, + 19.917186390269876 + ], + [ + 17.527077414772748, + 24.697321111505687 + ], + [ + 19.1204833984375, + 26.290699351917624 + ], + [ + 19.91715864701706, + 26.290699351917624 + ], + [ + 22.307184392755687, + 24.697321111505687 + ], + [ + 24.697265625, + 22.30726762251419 + ], + [ + 27.087346857244313, + 18.32380814985794 + ], + [ + 28.680697354403435, + 11.950322931463063 + ], + [ + 29.47737260298294, + 4.780134721235811 + ], + [ + 28.680697354403435, + -1.593350497159065 + ], + [ + 27.087346857244313, + -3.186728737571002 + ], + [ + 25.49394087357956, + -5.576809969815315 + ], + [ + 24.697265625, + -7.170188210227252 + ], + [ + 23.90059037642044, + -6.373485218394876 + ], + [ + 23.90059037642044, + -4.780079234730124 + ], + [ + 23.90059037642044, + -4.780079234730124 + ] + ], + "pressures": [ + 0.017578125, + 0.0927734375, + 0.1474609375, + 0.23046875, + 0.28515625, + 0.951171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5078125, + 0.146484375, + 0.03125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.90059037642044, + -4.780079234730124 + ] + }, + { + "id": "jGjP3u7B4U4RidM-cmLlP", + "type": "freedraw", + "x": 57.67336520900989, + "y": -125.61110677347449, + "width": 3.983431729403435, + "height": 25.49399636008519, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1858273165, + "version": 333, + "versionNonce": 1061090563, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + -2.390081232244313 + ], + [ + 0, + -7.170160466974437 + ], + [ + -0.7967307350851911, + -12.746998180042624 + ], + [ + -1.593405983664752, + -22.30726762251419 + ], + [ + -1.593405983664752, + -23.103915127840878 + ], + [ + -1.593405983664752, + -23.900618119673254 + ], + [ + -2.390081232244313, + -24.697321111505687 + ], + [ + -2.390081232244313, + -25.49399636008519 + ], + [ + -2.390081232244313, + -25.49399636008519 + ] + ], + "pressures": [ + 0.134765625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390081232244313, + -25.49399636008519 + ] + }, + { + "id": "e7G3AP9ZeVXz6bmcofHFl", + "type": "freedraw", + "x": 59.26671570616901, + "y": -175.005721253233, + "width": 3.983431729403435, + "height": 29.47740034623581, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 989958627, + "version": 331, + "versionNonce": 270078125, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -1.593350497159122 + ], + [ + -0.796675248579561, + 0.796675248579561 + ], + [ + 0.796675248579561, + 11.950295188210248 + ], + [ + 1.593350497159065, + 19.91715864701706 + ], + [ + 2.390081232244313, + 26.290699351917624 + ], + [ + 3.186756480823874, + 27.88404984907669 + ], + [ + 3.186756480823874, + 27.88404984907669 + ] + ], + "pressures": [ + 0.1826171875, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186756480823874, + 27.88404984907669 + ] + }, + { + "id": "5_yc_wftK_f_rzwTPic_U", + "type": "freedraw", + "x": 71.21701089437926, + "y": -172.61564002098868, + "width": 1.593405983664752, + "height": 48.597911487926126, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 586769229, + "version": 337, + "versionNonce": 1715428515, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -2.390081232244313 + ], + [ + 0, + -1.593405983664752 + ], + [ + 0, + 2.390025745738626 + ], + [ + 0, + 15.933726917613626 + ], + [ + 0, + 25.493968616832376 + ], + [ + 0, + 34.257535067471565 + ], + [ + 0, + 41.427723277698874 + ], + [ + 0, + 45.41115500710225 + ], + [ + 0, + 46.20783025568181 + ], + [ + 0.7967307350852479, + 46.20783025568181 + ], + [ + 1.593405983664752, + 43.02107377485794 + ], + [ + 1.593405983664752, + 40.6310202858665 + ], + [ + 1.593405983664752, + 40.6310202858665 + ] + ], + "pressures": [ + 0.068359375, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2802734375, + 0.013671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593405983664752, + 40.6310202858665 + ] + }, + { + "id": "KBxQ8gUg9FZMUdRFT9EY4", + "type": "freedraw", + "x": 87.15079329849851, + "y": -171.818992515662, + "width": 4.780106977982996, + "height": 54.97145219282669, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 644560227, + "version": 336, + "versionNonce": 627864333, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983431729403378 + ], + [ + 0, + 0 + ], + [ + 0, + 11.153647682883559 + ], + [ + 0, + 31.070834073153435 + ], + [ + 0, + 41.427751020951746 + ], + [ + 0, + 47.80123623934662 + ], + [ + 0, + 50.191317471590935 + ], + [ + 0.7966752485796178, + 50.98802046342331 + ], + [ + 2.390025745738626, + 50.98802046342331 + ], + [ + 3.9834317294034918, + 48.597939231179 + ], + [ + 4.780106977982996, + 47.80123623934662 + ], + [ + 4.780106977982996, + 47.80123623934662 + ] + ], + "pressures": [ + 0.1416015625, + 0.3056640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.90234375, + 0.1796875, + 0.009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.780106977982996, + 47.80123623934662 + ] + }, + { + "id": "juIr74zzceHD2GPOOwbs_", + "type": "freedraw", + "x": 145.30891874239063, + "y": -122.42437803590343, + "width": 32.6641845703125, + "height": 49.39458673650563, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1835184835, + "version": 354, + "versionNonce": 202494019, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593378240411937 + ], + [ + -2.390025745738626, + -13.543673428622185 + ], + [ + -2.390025745738626, + -26.290643865411937 + ], + [ + -2.390025745738626, + -37.444291548295496 + ], + [ + -2.390025745738626, + -43.02110151811081 + ], + [ + -2.390025745738626, + -43.81780450994319 + ], + [ + -2.390025745738626, + -43.02110151811081 + ], + [ + -2.390025745738626, + -39.03766978870743 + ], + [ + -2.390025745738626, + -30.274075594815372 + ], + [ + -3.9834317294034918, + -22.30721213600856 + ], + [ + -4.780106977982996, + -14.340348677201746 + ], + [ + -5.5767822265625, + -13.543673428622185 + ], + [ + -5.5767822265625, + -15.933726917613683 + ], + [ + -0.7966752485796178, + -30.274075594815372 + ], + [ + 3.9834872159090082, + -40.63104802911931 + ], + [ + 7.966863458806756, + -45.41115500710231 + ], + [ + 9.560324928977252, + -46.20783025568181 + ], + [ + 11.950350674715878, + -46.20783025568181 + ], + [ + 15.137051669034008, + -46.20783025568181 + ], + [ + 19.12053888494313, + -44.61447975852275 + ], + [ + 23.103915127840878, + -41.427723277698874 + ], + [ + 25.494051846590878, + -37.444291548295496 + ], + [ + 27.08740234375, + -31.070806329900563 + ], + [ + 27.08740234375, + -25.493996360085248 + ], + [ + 24.697376598011374, + -15.137051669034122 + ], + [ + 21.510564630681756, + -4.780106977982996 + ], + [ + 20.713889382102252, + 3.186756480823817 + ], + [ + 20.713889382102252, + 2.390081232244313 + ], + [ + 22.307239879261374, + -1.593378240411937 + ], + [ + 22.307239879261374, + -1.593378240411937 + ] + ], + "pressures": [ + 0.1171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2255859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.307239879261374, + -1.593378240411937 + ] + }, + { + "id": "BvOB6NhhB9kbSOmnQBamV", + "type": "freedraw", + "x": 180.3631845449474, + "y": -137.56142970493755, + "width": 31.867453835227366, + "height": 43.81780450994319, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 499338435, + "version": 345, + "versionNonce": 1390709101, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 5.576809969815372 + ], + [ + -0.7966752485795041, + 12.747025923295439 + ], + [ + -0.7966752485795041, + 17.527132901278435 + ], + [ + 0.7966752485796178, + 20.71388938210231 + ], + [ + 4.780162464488626, + 22.307239879261374 + ], + [ + 6.373512961647748, + 22.307239879261374 + ], + [ + 15.137051669034122, + 16.730457652698874 + ], + [ + 21.51056463068187, + 7.966863458806813 + ], + [ + 26.290727095170496, + -1.593378240411937 + ], + [ + 27.884077592329618, + -8.763566450639189 + ], + [ + 23.900590376420496, + -16.730429909446002 + ], + [ + 18.323863636363626, + -20.713861638849437 + ], + [ + 13.543701171875, + -21.510564630681813 + ], + [ + 7.170188210227252, + -18.32380814985794 + ], + [ + 1.593350497159122, + -9.56024169921875 + ], + [ + -3.18670099431813, + 2.390053488991498 + ], + [ + -3.983376242897748, + 6.373512961647748 + ], + [ + -3.18670099431813, + 9.56024169921875 + ], + [ + -0.7966752485795041, + 10.356944691051126 + ], + [ + 0.7966752485796178, + 10.356944691051126 + ], + [ + 0.7966752485796178, + 10.356944691051126 + ] + ], + "pressures": [ + 0.1552734375, + 0.9169921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5380859375, + 0.2333984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.7966752485796178, + 10.356944691051126 + ] + }, + { + "id": "-mJTx3WeW-Gez0XB4hYjq", + "type": "freedraw", + "x": 212.23063838017464, + "y": -116.05086507425574, + "width": 7.170188210227252, + "height": 71.70185435901988, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 440509197, + "version": 337, + "versionNonce": 580177891, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.780162464488626, + -6.373512961647691 + ], + [ + 4.780162464488626, + -11.153619939630687 + ], + [ + 4.780162464488626, + -18.32380814985794 + ], + [ + 4.780162464488626, + -27.88404984907669 + ], + [ + 4.780162464488626, + -38.240994540127815 + ], + [ + 4.780162464488626, + -54.17474920099431 + ], + [ + 3.983487215909122, + -62.9383156516335 + ], + [ + 2.39013671875, + -68.515097878196 + ], + [ + 0.7967862215909918, + -71.70185435901988 + ], + [ + 0, + -71.70185435901988 + ], + [ + -1.5933504971590082, + -70.90517911044032 + ], + [ + -2.390025745738626, + -70.10850386186075 + ], + [ + -2.390025745738626, + -70.10850386186075 + ] + ], + "pressures": [ + 0.17578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.30078125, + 0.1728515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390025745738626, + -70.10850386186075 + ] + }, + { + "id": "pq_yLaJTIE_c2BIeVebLu", + "type": "freedraw", + "x": 197.09358671114063, + "y": -166.24218254584662, + "width": 62.938343394886374, + "height": 4.780106977982939, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 678304163, + "version": 336, + "versionNonce": 432722893, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + 1.593405983664752 + ], + [ + 1.5934614701703822, + 0.796702991832376 + ], + [ + 7.966863458806756, + -0.796675248579561 + ], + [ + 16.730513139204504, + -2.390025745738626 + ], + [ + 27.884077592329504, + -2.390025745738626 + ], + [ + 39.834539240056756, + -1.593350497159122 + ], + [ + 55.76826615767038, + -0.796675248579561 + ], + [ + 60.548317649147634, + 0 + ], + [ + 61.34499289772725, + 0 + ], + [ + 60.548317649147634, + 1.593405983664752 + ], + [ + 58.158180930397634, + 2.390081232244313 + ], + [ + 58.158180930397634, + 2.390081232244313 + ] + ], + "pressures": [ + 0.11328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8076171875, + 0.0576171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 58.158180930397634, + 2.390081232244313 + ] + }, + { + "id": "19Ge52ZE55RuBecQszfF4", + "type": "freedraw", + "x": 7.482047737419009, + "y": -104.89724513462505, + "width": 70.10853160511368, + "height": 118.70641534978694, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 923770061, + "version": 415, + "versionNonce": 622331021, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -3.186756480823874 + ], + [ + -2.390081232244313, + -2.390053488991441 + ], + [ + -2.390081232244313, + 7.966863458806813 + ], + [ + -2.390081232244313, + 24.697293368252872 + ], + [ + -2.390081232244313, + 44.61447975852275 + ], + [ + -2.390081232244313, + 74.88861083984375 + ], + [ + -2.390081232244313, + 90.02566250887787 + ], + [ + -2.390081232244313, + 99.58593195134944 + ], + [ + -1.593405983664752, + 103.56936368075287 + ], + [ + -1.593405983664752, + 98.78920121626419 + ], + [ + -2.390081232244313, + 86.838906028054 + ], + [ + -2.390081232244313, + 70.10850386186081 + ], + [ + -2.390081232244313, + 49.3946144797585 + ], + [ + -2.390081232244313, + 20.713861638849437 + ], + [ + -2.390081232244313, + 7.170188210227309 + ], + [ + -2.390081232244313, + -1.593378240411937 + ], + [ + -2.390081232244313, + -7.170188210227252 + ], + [ + -2.390081232244313, + -8.763566450639189 + ], + [ + -2.390081232244313, + -0.796702991832376 + ], + [ + -3.186700994318187, + 15.137051669034122 + ], + [ + -3.983431729403435, + 35.054238059304 + ], + [ + -4.780106977982939, + 65.32834139737218 + ], + [ + -4.780106977982939, + 81.2621238014915 + ], + [ + -3.983431729403435, + 90.82233775745738 + ], + [ + -3.186700994318187, + 94.00909423828125 + ], + [ + -2.390081232244313, + 88.43231201171875 + ], + [ + -2.390081232244313, + 79.66871781782669 + ], + [ + -2.390081232244313, + 68.515097878196 + ], + [ + -1.593405983664752, + 54.971396706321 + ], + [ + 0, + 39.037669788707376 + ], + [ + 0, + 35.054238059304 + ], + [ + 0, + 32.6641845703125 + ], + [ + 0, + 30.274103338068187 + ], + [ + 0, + 29.477428089488626 + ], + [ + 0, + 31.070806329900563 + ], + [ + -1.593405983664752, + 34.25756281072444 + ], + [ + -2.390081232244313, + 35.850941051136374 + ], + [ + -3.186700994318187, + 36.647616299715935 + ], + [ + -4.780106977982939, + 39.037669788707376 + ], + [ + -5.576837713068187, + 39.037669788707376 + ], + [ + -4.780106977982939, + 39.037669788707376 + ], + [ + -1.593405983664752, + 39.83437278053975 + ], + [ + 4.780162464488626, + 39.83437278053975 + ], + [ + 14.340376420454561, + 37.44429154829544 + ], + [ + 37.44429154829544, + 35.054238059304 + ], + [ + 50.19131747159088, + 35.054238059304 + ], + [ + 58.95485617897725, + 35.850941051136374 + ], + [ + 62.93828790838063, + 35.850941051136374 + ], + [ + 64.5316938920455, + 36.647616299715935 + ], + [ + 62.141612659801126, + 36.647616299715935 + ], + [ + 59.751531427556756, + 36.647616299715935 + ], + [ + 57.36150568181813, + 36.647616299715935 + ], + [ + 55.76809969815338, + 36.647616299715935 + ], + [ + 54.971424449573874, + 35.850941051136374 + ], + [ + 53.378018465909065, + 33.46085981889206 + ], + [ + 52.58134321732956, + 31.070806329900563 + ], + [ + 51.78466796875, + 27.88404984907669 + ], + [ + 51.78466796875, + 21.510564630681813 + ], + [ + 52.58134321732956, + 15.137051669034122 + ], + [ + 54.17474920099431, + 8.763566450639189 + ], + [ + 54.971424449573874, + 0.796675248579561 + ], + [ + 56.564774946732996, + -9.56024169921875 + ], + [ + 56.564774946732996, + -13.543673428622128 + ], + [ + 56.564774946732996, + -14.340376420454561 + ], + [ + 56.564774946732996, + -15.137051669034065 + ], + [ + 56.564774946732996, + -1.593378240411937 + ], + [ + 54.17474920099431, + 18.32380814985794 + ], + [ + 51.78466796875, + 40.63104802911931 + ], + [ + 48.597911487926126, + 60.54823441938919 + ], + [ + 47.00456099076706, + 79.66871781782669 + ], + [ + 47.00456099076706, + 86.838906028054 + ], + [ + 47.00456099076706, + 89.22898726029831 + ], + [ + 47.801236239346565, + 89.22898726029831 + ], + [ + 47.801236239346565, + 85.24555553089488 + ], + [ + 47.801236239346565, + 65.32834139737218 + ], + [ + 48.597911487926126, + 48.597911487926126 + ], + [ + 51.78466796875, + 31.867481578480124 + ], + [ + 54.971424449573874, + 19.917186390269876 + ], + [ + 56.564774946732996, + 7.966863458806813 + ], + [ + 56.564774946732996, + 1.593378240411937 + ], + [ + 56.564774946732996, + -1.593378240411937 + ], + [ + 55.76809969815338, + 9.56024169921875 + ], + [ + 54.17474920099431, + 22.307239879261374 + ], + [ + 53.378018465909065, + 39.037669788707376 + ], + [ + 52.58134321732956, + 57.36147793856537 + ], + [ + 52.58134321732956, + 79.66871781782669 + ], + [ + 52.58134321732956, + 88.43231201171875 + ], + [ + 52.58134321732956, + 92.41574374112218 + ], + [ + 52.58134321732956, + 93.21241898970169 + ], + [ + 53.378018465909065, + 91.61906849254262 + ], + [ + 52.58134321732956, + 86.04223077947444 + ], + [ + 52.58134321732956, + 78.07536732066762 + ], + [ + 52.58134321732956, + 75.68528608842331 + ], + [ + 52.58134321732956, + 75.68528608842331 + ] + ], + "pressures": [ + 0.1064453125, + 0.3544921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3740234375, + 0.138671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 52.58134321732956, + 75.68528608842331 + ] + }, + { + "id": "-vOv13uNuO_VxWgi_NgwF", + "type": "freedraw", + "x": 98.30441323812926, + "y": -99.32043516480968, + "width": 9.560213955965992, + "height": 116.31633411754262, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 475868835, + "version": 367, + "versionNonce": 1243736813, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485796178, + -3.983431729403435 + ], + [ + -0.7966752485796178, + -5.576809969815372 + ], + [ + -1.593405983664752, + -6.373512961647748 + ], + [ + -1.593405983664752, + -5.576809969815372 + ], + [ + -1.593405983664752, + 0.7966752485795041 + ], + [ + -1.593405983664752, + 11.153619939630687 + ], + [ + -0.7966752485796178, + 25.49399636008519 + ], + [ + 0, + 55.76809969815338 + ], + [ + 0, + 74.88858309659088 + ], + [ + -0.7966752485796178, + 89.22895951704544 + ], + [ + -1.593405983664752, + 95.60247247869313 + ], + [ + -1.593405983664752, + 96.39914772727269 + ], + [ + -1.593405983664752, + 93.21239124644882 + ], + [ + -2.39008123224437, + 85.245527787642 + ], + [ + -2.39008123224437, + 72.49855735085225 + ], + [ + -2.39008123224437, + 55.76809969815338 + ], + [ + 0, + 23.900618119673254 + ], + [ + 2.390025745738626, + 8.763566450639189 + ], + [ + 3.983431729403378, + 0.7966752485795041 + ], + [ + 3.983431729403378, + -2.390053488991498 + ], + [ + 3.983431729403378, + -3.186756480823874 + ], + [ + 3.186756480823874, + -3.186756480823874 + ], + [ + 2.390025745738626, + 2.390053488991441 + ], + [ + 0.7966752485795041, + 20.713861638849437 + ], + [ + -2.39008123224437, + 57.36150568181813 + ], + [ + -3.186756480823874, + 74.09190784801132 + ], + [ + -3.186756480823874, + 82.05877130681813 + ], + [ + -2.39008123224437, + 83.65217729048294 + ], + [ + -2.39008123224437, + 82.85550204190338 + ], + [ + -2.39008123224437, + 70.10847611860794 + ], + [ + -1.593405983664752, + 53.37807395241475 + ], + [ + -0.7966752485796178, + 31.867481578480067 + ], + [ + 0.7966752485795041, + 9.56024169921875 + ], + [ + 3.983431729403378, + -8.763566450639246 + ], + [ + 5.5767822265625, + -19.1204833984375 + ], + [ + 5.5767822265625, + -19.917186390269933 + ], + [ + 5.5767822265625, + -16.73042990944606 + ], + [ + 3.983431729403378, + -7.170188210227309 + ], + [ + 0, + 23.10394287109375 + ], + [ + -3.186756480823874, + 47.801236239346565 + ], + [ + -3.9834317294034918, + 64.53169389204544 + ], + [ + -3.9834317294034918, + 71.70188210227269 + ], + [ + -3.9834317294034918, + 73.29523259943181 + ], + [ + -3.186756480823874, + 73.29523259943181 + ], + [ + -0.7966752485796178, + 70.9051513671875 + ], + [ + -0.7966752485796178, + 68.51512562144882 + ], + [ + -0.7966752485796178, + 68.51512562144882 + ] + ], + "pressures": [ + 0, + 0.1025390625, + 0.1865234375, + 0.3359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8984375, + 0.1982421875, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.7966752485796178, + 68.51512562144882 + ] + }, + { + "id": "1B5Uje19RUiTpFiHrye_r", + "type": "freedraw", + "x": 108.66135792918038, + "y": -103.30386689421312, + "width": 129.8600630326705, + "height": 24.697293368252815, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1775766573, + "version": 356, + "versionNonce": 2080866819, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -0.796702991832376 + ], + [ + -3.983487215909122, + -2.390081232244313 + ], + [ + -4.780162464488626, + -3.186756480823874 + ], + [ + -5.576837713068244, + -3.983431729403378 + ], + [ + 0, + -4.780134721235811 + ], + [ + 7.170188210227252, + -6.373512961647748 + ], + [ + 19.1204833984375, + -7.170188210227252 + ], + [ + 35.054210316051126, + -7.170188210227252 + ], + [ + 61.34493741122162, + -2.390081232244313 + ], + [ + 76.48198908025563, + 2.390053488991498 + ], + [ + 89.22890403053975, + 7.966863458806813 + ], + [ + 95.6024169921875, + 11.153619939630687 + ], + [ + 96.399092240767, + 13.543673428622185 + ], + [ + 92.41571599786926, + 16.730429909446002 + ], + [ + 83.65217729048288, + 17.527105158025563 + ], + [ + 70.9051513671875, + 15.933754660866498 + ], + [ + 54.174749200994256, + 12.746998180042624 + ], + [ + 25.493996360085248, + 5.576809969815372 + ], + [ + 7.170188210227252, + 1.593378240411937 + ], + [ + -7.9669189453125, + -0.796702991832376 + ], + [ + -19.120538884943244, + -1.593378240411937 + ], + [ + -23.900645862926126, + -1.593378240411937 + ], + [ + -24.697321111505744, + -1.593378240411937 + ], + [ + -22.307295365767118, + -1.593378240411937 + ], + [ + -15.137107155539752, + 0 + ], + [ + -4.780162464488626, + 1.593378240411937 + ], + [ + 7.170188210227252, + 3.186756480823874 + ], + [ + 29.477428089488626, + 3.983431729403435 + ], + [ + 48.597911487926126, + 3.983431729403435 + ], + [ + 67.71845037286926, + 3.983431729403435 + ], + [ + 86.04220303622162, + 3.983431729403435 + ], + [ + 103.56928045099426, + 6.373485218394876 + ], + [ + 105.16274192116475, + 6.373485218394876 + ], + [ + 104.36606667258525, + 7.966863458806813 + ], + [ + 99.58590420809662, + 9.56024169921875 + ], + [ + 92.41571599786926, + 11.153619939630687 + ], + [ + 90.82236550071025, + 11.950295188210248 + ], + [ + 90.82236550071025, + 11.950295188210248 + ] + ], + "pressures": [ + 0.05078125, + 0.15234375, + 0.3076171875, + 0.642578125, + 0.8173828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8662109375, + 0.2451171875, + 0.138671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 90.82236550071025, + 11.950295188210248 + ] + }, + { + "id": "NjNoBo5ZGokDxnPckyoAf", + "type": "freedraw", + "x": 103.08452021611214, + "y": -26.025202565377867, + "width": 106.75609241832387, + "height": 19.12053888494313, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 246846381, + "version": 351, + "versionNonce": 1269552045, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + 2.390081232244313 + ], + [ + -5.5767822265625, + 4.780106977982939 + ], + [ + -7.170188210227252, + 7.966863458806813 + ], + [ + -7.966863458806756, + 9.560269442471565 + ], + [ + -4.780106977982882, + 8.763538707386317 + ], + [ + 3.186756480823874, + 7.170188210227252 + ], + [ + 20.713889382102366, + 3.983431729403378 + ], + [ + 35.05426580255687, + 2.390081232244313 + ], + [ + 50.987937233664866, + 1.593350497159065 + ], + [ + 64.53163840553987, + 1.593350497159065 + ], + [ + 75.68531383167613, + 2.390081232244313 + ], + [ + 77.27866432883525, + 2.390081232244313 + ], + [ + 74.88863858309662, + 2.390081232244313 + ], + [ + 66.12509987571025, + 2.390081232244313 + ], + [ + 44.61453524502849, + 2.390081232244313 + ], + [ + 27.884077592329618, + 0.7966752485795041 + ], + [ + 11.950295188210248, + -0.796675248579561 + ], + [ + -4.780106977982882, + -2.390081232244313 + ], + [ + -23.103915127840878, + -2.390081232244313 + ], + [ + -27.884077592329504, + -1.593350497159122 + ], + [ + -29.477428089488626, + -1.593350497159122 + ], + [ + -26.290671608664752, + -1.593350497159122 + ], + [ + -9.560269442471508, + 0 + ], + [ + 7.96686345880687, + 2.390081232244313 + ], + [ + 26.290671608664866, + 5.576837713068187 + ], + [ + 44.61453524502849, + 10.356944691051126 + ], + [ + 66.12509987571025, + 15.933726917613626 + ], + [ + 70.9051513671875, + 16.730457652698817 + ], + [ + 71.70182661576712, + 16.730457652698817 + ], + [ + 69.31180087002849, + 11.153619939630687 + ], + [ + 65.32831365411937, + 6.373512961647691 + ], + [ + 60.54826216264212, + 3.983431729403378 + ], + [ + 60.54826216264212, + 3.983431729403378 + ] + ], + "pressures": [ + 0.05859375, + 0.1552734375, + 0.1962890625, + 0.2255859375, + 0.3486328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8466796875, + 0.265625, + 0.1015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 60.54826216264212, + 3.983431729403378 + ] + }, + { + "id": "HtS_Cx3b0JNxlE9xxGlUH", + "type": "freedraw", + "x": 99.89776373528827, + "y": -61.87614361651424, + "width": 62.938287908380744, + "height": 11.153619939630687, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 942667587, + "version": 348, + "versionNonce": 1953384867, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + 1.593378240411937 + ], + [ + -0.7966752485795041, + 1.593378240411937 + ], + [ + 5.576837713068244, + 1.593378240411937 + ], + [ + 15.137051669034122, + 1.593378240411937 + ], + [ + 26.290671608664866, + 0.796702991832376 + ], + [ + 42.22445401278412, + -1.593350497159122 + ], + [ + 48.59796697443187, + -1.593350497159122 + ], + [ + 50.19131747159099, + -1.593350497159122 + ], + [ + 45.411155007102366, + -1.593350497159122 + ], + [ + 35.850941051136374, + -0.796675248579561 + ], + [ + 24.697321111505744, + 0.796702991832376 + ], + [ + 12.747025923295496, + 1.593378240411937 + ], + [ + -0.7966752485795041, + 1.593378240411937 + ], + [ + -3.1867564808237603, + 1.593378240411937 + ], + [ + -3.983431729403378, + 1.593378240411937 + ], + [ + -2.390025745738626, + 1.593378240411937 + ], + [ + 4.780106977982996, + 0.796702991832376 + ], + [ + 23.10391512784099, + 0 + ], + [ + 38.241022283380744, + 0 + ], + [ + 50.987992720170496, + 3.186756480823874 + ], + [ + 57.361505681818244, + 5.576809969815315 + ], + [ + 58.954856178977366, + 7.170188210227252 + ], + [ + 54.97147993607962, + 8.763594193892061 + ], + [ + 47.00461647727275, + 9.560269442471565 + ], + [ + 37.444291548295496, + 7.966863458806813 + ], + [ + 30.274103338068244, + 6.373512961647691 + ], + [ + 27.08740234375, + 4.780134721235811 + ], + [ + 27.08740234375, + 3.98345947265625 + ], + [ + 27.884077592329618, + 2.390081232244313 + ], + [ + 27.884077592329618, + 2.390081232244313 + ] + ], + "pressures": [ + 0.060546875, + 0.2880859375, + 0.849609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.73046875, + 0.24609375, + 0.01953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.884077592329618, + 2.390081232244313 + ] + }, + { + "id": "VA0xhBAjdopQAW85NHyFb", + "type": "freedraw", + "x": 185.143347009436, + "y": -22.04177083597449, + "width": 66.12504438920462, + "height": 112.33290238813919, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1127715139, + "version": 341, + "versionNonce": 128898573, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983376242897748, + -8.763538707386374 + ], + [ + 7.96686345880687, + -17.527132901278378 + ], + [ + 13.543701171875, + -31.07077858664769 + ], + [ + 19.917103160511374, + -47.00453324751419 + ], + [ + 30.274103338068244, + -66.92171963778407 + ], + [ + 36.64761629971599, + -78.07533957741475 + ], + [ + 41.427667791193244, + -87.63560901988637 + ], + [ + 43.021129261363626, + -94.80576948686075 + ], + [ + 43.817804509943244, + -97.99252596768463 + ], + [ + 44.61447975852275, + -97.99252596768463 + ], + [ + 45.41115500710225, + -92.41571599786931 + ], + [ + 47.004505504261374, + -81.26209605823863 + ], + [ + 49.39453125, + -64.53166614879262 + ], + [ + 53.37801846590912, + -40.63104802911931 + ], + [ + 59.751642400568244, + -7.966863458806813 + ], + [ + 62.938232421875, + 4.780106977982939 + ], + [ + 63.73501864346599, + 11.153619939630687 + ], + [ + 65.328369140625, + 14.340376420454561 + ], + [ + 66.12504438920462, + 14.340376420454561 + ], + [ + 65.328369140625, + 12.747025923295439 + ], + [ + 62.938232421875, + 6.373512961647748 + ], + [ + 60.548206676136374, + 1.593405983664809 + ], + [ + 60.548206676136374, + 1.593405983664809 + ] + ], + "pressures": [ + 0.1708984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8955078125, + 0.330078125, + 0.125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 60.548206676136374, + 1.593405983664809 + ] + }, + { + "id": "mTJlSgK3XsD8-kQ_Lx3-7", + "type": "freedraw", + "x": 192.31353521966327, + "y": -53.90928015770743, + "width": 59.751642400568244, + "height": 8.763538707386374, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 544914669, + "version": 331, + "versionNonce": 802889027, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186811967329504, + 0 + ], + [ + 4.780051491477366, + -4.780106977982939 + ], + [ + 15.93372691761374, + -7.966863458806813 + ], + [ + 28.680752840909122, + -8.763538707386374 + ], + [ + 40.63099254261374, + -8.763538707386374 + ], + [ + 52.58145419034099, + -8.763538707386374 + ], + [ + 56.56483043323874, + -7.966863458806813 + ], + [ + 54.971368963068244, + -7.170160466974437 + ], + [ + 50.987992720170496, + -5.5767822265625 + ], + [ + 47.004505504261374, + -5.5767822265625 + ], + [ + 41.427667791193244, + -5.5767822265625 + ], + [ + 37.444291548295496, + -5.5767822265625 + ], + [ + 37.444291548295496, + -5.5767822265625 + ] + ], + "pressures": [ + 0.0576171875, + 0.5615234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.701171875, + 0.2734375, + 0.06640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 37.444291548295496, + -5.5767822265625 + ] + }, + { + "id": "LiuLCiuj-eydP6hge66hO", + "type": "freedraw", + "x": 183.549996512277, + "y": -19.651689603730176, + "width": 63.734907670454504, + "height": 117.11306485262782, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 360051139, + "version": 364, + "versionNonce": 618826861, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.18670099431813, + -7.966863458806813 + ], + [ + 11.153564453125, + -28.680752840909065 + ], + [ + 23.900590376420382, + -56.564802689985754 + ], + [ + 27.88396661931813, + -64.53169389204544 + ], + [ + 39.83431729403401, + -89.22898726029825 + ], + [ + 44.614479758522634, + -101.97598544034088 + ], + [ + 47.80118075284088, + -109.14614590731532 + ], + [ + 48.59785600142038, + -110.73955189098007 + ], + [ + 48.59785600142038, + -108.34949840198863 + ], + [ + 49.39453125, + -88.43231201171875 + ], + [ + 49.39453125, + -69.31180087002838 + ], + [ + 49.39453125, + -49.3946144797585 + ], + [ + 50.191206498579504, + -31.070834073153378 + ], + [ + 52.581343217329504, + -7.966863458806813 + ], + [ + 53.37812943892038, + 1.593350497159122 + ], + [ + 54.174693714488626, + 5.5767822265625 + ], + [ + 54.97136896306813, + 6.373512961647748 + ], + [ + 54.97136896306813, + 5.5767822265625 + ], + [ + 54.97136896306813, + 3.983431729403435 + ], + [ + 54.97136896306813, + 3.186756480823874 + ], + [ + 54.97136896306813, + 1.593350497159122 + ], + [ + 54.174693714488626, + -3.983431729403378 + ], + [ + 52.581343217329504, + -7.966863458806813 + ], + [ + 50.98788174715901, + -13.543701171875 + ], + [ + 47.80118075284088, + -21.510564630681813 + ], + [ + 44.614479758522634, + -32.6641845703125 + ], + [ + 38.240966796875, + -47.004560990767004 + ], + [ + 35.05415482954538, + -52.581370960582376 + ], + [ + 31.070778586647634, + -54.17474920099431 + ], + [ + 27.087291370738626, + -54.97145219282669 + ], + [ + 21.510453657670382, + -54.97145219282669 + ], + [ + 18.323752663352252, + -54.97145219282669 + ], + [ + 16.73040216619313, + -54.97145219282669 + ], + [ + 15.933726917613626, + -54.97145219282669 + ], + [ + 15.933726917613626, + -53.37807395241475 + ], + [ + 14.34026544744313, + -50.19131747159088 + ], + [ + 12.746914950284008, + -46.2078857421875 + ], + [ + 11.950239701704504, + -45.411182750355124 + ], + [ + 11.153564453125, + -44.61450750177556 + ], + [ + 13.543590198863626, + -43.021129261363626 + ], + [ + 19.91710316051126, + -39.83437278053975 + ], + [ + 27.88396661931813, + -39.03769753196019 + ], + [ + 37.44429154829538, + -38.240994540127815 + ], + [ + 46.207830255681756, + -37.444319291548254 + ], + [ + 63.734907670454504, + -35.850941051136374 + ], + [ + 63.734907670454504, + -35.850941051136374 + ] + ], + "pressures": [ + 0.095703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 63.734907670454504, + -35.850941051136374 + ] + }, + { + "id": "ogkskhfGbYof3ReQDdH-l", + "type": "freedraw", + "x": 248.081579431311, + "y": -55.50263065486655, + "width": 11.950239701704504, + "height": 4.780106977982996, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 615405763, + "version": 325, + "versionNonce": 2041347299, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -11.950239701704504, + 0 + ], + [ + -0.7966752485795041, + 3.186756480823874 + ], + [ + -2.390025745738626, + 3.983431729403435 + ], + [ + -4.780051491477252, + 3.983431729403435 + ], + [ + -5.576726740056756, + 3.983431729403435 + ], + [ + -5.576726740056756, + 4.780106977982996 + ], + [ + -5.576726740056756, + 4.780106977982996 + ] + ], + "pressures": [ + 1, + 1, + 1, + 1, + 1, + 0.8427734375, + 0.1962890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.576726740056756, + 4.780106977982996 + ] + }, + { + "id": "SV3or7kb7ISfNtlgZN5pB", + "type": "freedraw", + "x": 267.99879356483376, + "y": -129.59456624613074, + "width": 90.02552379261363, + "height": 134.64022549715912, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 183790189, + "version": 350, + "versionNonce": 588281549, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967862215908781, + -7.170160466974437 + ], + [ + 0.7967862215908781, + -8.763538707386374 + ], + [ + 0.7967862215908781, + -9.56024169921875 + ], + [ + 0.7967862215908781, + -1.593350497159065 + ], + [ + 0.7967862215908781, + 7.170188210227309 + ], + [ + 0.7967862215908781, + 16.730457652698874 + ], + [ + -0.7966752485795041, + 31.070806329900563 + ], + [ + -6.373512961647748, + 49.39461447975856 + ], + [ + -15.136940696022748, + 86.04223077947444 + ], + [ + -20.713889382102252, + 107.55279541015625 + ], + [ + -23.103804154829504, + 120.29982133345169 + ], + [ + -23.103804154829504, + 125.07998379794037 + ], + [ + -22.307239879261374, + 125.07998379794037 + ], + [ + -18.323752663352252, + 123.48652232776988 + ], + [ + -9.560213955965878, + 120.29982133345169 + ], + [ + 11.153675426136374, + 114.72298362038356 + ], + [ + 27.08740234375, + 112.33290238813919 + ], + [ + 39.834428267045496, + 110.73955189098012 + ], + [ + 50.987992720170496, + 109.94287664240056 + ], + [ + 62.14166814630687, + 109.94287664240056 + ], + [ + 65.328369140625, + 109.94287664240056 + ], + [ + 66.1250443892045, + 109.94287664240056 + ], + [ + 66.92171963778412, + 109.94287664240056 + ], + [ + 66.1250443892045, + 109.94287664240056 + ], + [ + 62.938343394886374, + 110.73955189098012 + ], + [ + 60.54831764914775, + 110.73955189098012 + ], + [ + 58.15818093039775, + 110.73955189098012 + ], + [ + 57.361505681818244, + 111.53622713955968 + ], + [ + 57.361505681818244, + 110.73955189098012 + ], + [ + 55.76815518465912, + 107.55279541015625 + ], + [ + 54.971479936079504, + 105.16271417791194 + ], + [ + 54.971479936079504, + 105.16271417791194 + ] + ], + "pressures": [ + 0.0859375, + 0.17578125, + 0.23046875, + 0.298828125, + 0.8203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9296875, + 0.2001953125, + 0.09375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 54.971479936079504, + 105.16271417791194 + ] + }, + { + "id": "OKR8N-RnmR4wcgncvByBB", + "type": "freedraw", + "x": 286.3226572011974, + "y": -150.30842788498018, + "width": 83.65223277698863, + "height": 143.40370871803975, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1066195661, + "version": 345, + "versionNonce": 762374275, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -5.576809969815315 + ], + [ + -0.7967862215908781, + -7.170188210227252 + ], + [ + -1.593350497159122, + -4.780134721235754 + ], + [ + -2.39013671875, + -1.593378240411937 + ], + [ + -5.576726740056756, + 15.933754660866498 + ], + [ + -9.560213955965878, + 35.054238059304 + ], + [ + -19.917214133522748, + 70.90517911044037 + ], + [ + -23.104026100852252, + 82.85547429865056 + ], + [ + -31.867564808238626, + 113.92628062855113 + ], + [ + -35.850941051136374, + 126.67330655184662 + ], + [ + -37.44429154829538, + 133.84349476207387 + ], + [ + -38.241077769886374, + 135.436845259233 + ], + [ + -37.44429154829538, + 136.2335205078125 + ], + [ + -34.25759055397725, + 136.2335205078125 + ], + [ + -29.477428089488626, + 135.436845259233 + ], + [ + -21.510564630681756, + 133.04676402698863 + ], + [ + -8.763649680397748, + 129.8600630326705 + ], + [ + 14.340376420454618, + 126.67330655184662 + ], + [ + 29.477428089488626, + 125.07990056818181 + ], + [ + 40.630992542613626, + 125.07990056818181 + ], + [ + 44.61447975852275, + 125.07990056818181 + ], + [ + 45.41115500710225, + 125.07990056818181 + ], + [ + 45.41115500710225, + 126.67330655184662 + ], + [ + 43.817804509943244, + 128.2666570490057 + ], + [ + 40.630992542613626, + 129.8600630326705 + ], + [ + 39.83431729403412, + 129.8600630326705 + ], + [ + 39.83431729403412, + 129.8600630326705 + ] + ], + "pressures": [ + 0.0771484375, + 0.1552734375, + 0.2001953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.783203125, + 0.1669921875, + 0.1025390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.83431729403412, + 129.8600630326705 + ] + }, + { + "id": "RU_HefrvcPXfVFZW5lK2y", + "type": "freedraw", + "x": 283.1358452338679, + "y": -127.20448501388643, + "width": 95.60247247869324, + "height": 120.29976584694606, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1922143043, + "version": 340, + "versionNonce": 1288836397, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983376242897748, + 7.170188210227309 + ], + [ + -8.763538707386374, + 26.29067160866481 + ], + [ + -15.933726917613626, + 48.59791148792618 + ], + [ + -23.103915127840878, + 70.9051513671875 + ], + [ + -30.27399236505687, + 90.82233775745738 + ], + [ + -36.64761629971588, + 112.33290238813925 + ], + [ + -37.444291548295496, + 117.90974010120738 + ], + [ + -37.444291548295496, + 119.5030905983665 + ], + [ + -34.25747958096588, + 120.29976584694606 + ], + [ + -24.697265625, + 119.5030905983665 + ], + [ + -14.340265447443244, + 116.31633411754262 + ], + [ + -1.593350497159122, + 110.73955189098012 + ], + [ + 12.747025923295382, + 105.9593894264915 + ], + [ + 27.884077592329504, + 101.97595769708806 + ], + [ + 48.597966974431756, + 101.17928244850856 + ], + [ + 55.76815518465901, + 101.17928244850856 + ], + [ + 57.361616654829504, + 102.77263294566762 + ], + [ + 58.15818093039775, + 104.36603892933238 + ], + [ + 58.15818093039775, + 107.55279541015625 + ], + [ + 58.15818093039775, + 110.73955189098012 + ], + [ + 57.361616654829504, + 110.73955189098012 + ], + [ + 57.361616654829504, + 110.73955189098012 + ] + ], + "pressures": [ + 0.111328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3779296875, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 57.361616654829504, + 110.73955189098012 + ] + }, + { + "id": "fRC0b6eLNG2HZv85U0g0E", + "type": "freedraw", + "x": -233.9142146915582, + "y": 91.88450979257675, + "width": 44.61447975852275, + "height": 78.07533957741481, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 80373795, + "version": 310, + "versionNonce": 734489155, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + 0 + ], + [ + -0.796675248579561, + 0.796619762073874 + ], + [ + -0.796675248579561, + -1.593461470170439 + ], + [ + 2.39013671875, + -7.9669189453125 + ], + [ + 6.373568448153378, + -15.933782404119313 + ], + [ + 10.357000177556813, + -26.29072709517044 + ], + [ + 14.340431906960191, + -37.444347034801126 + ], + [ + 19.917158647017004, + -54.97147993607956 + ], + [ + 23.900645862926126, + -63.735074129971565 + ], + [ + 27.087346857244313, + -71.70193758877843 + ], + [ + 28.680752840909065, + -75.68536931818181 + ], + [ + 29.477428089488626, + -77.27871981534093 + ], + [ + 31.07077858664769, + -74.88869406960225 + ], + [ + 32.6641845703125, + -65.32842462713069 + ], + [ + 34.25759055397725, + -50.191372958096565 + ], + [ + 35.85094105113632, + -21.5106201171875 + ], + [ + 37.44429154829544, + -9.560324928977252 + ], + [ + 38.24102228338069, + -3.186811967329561 + ], + [ + 39.03769753196019, + -1.593461470170439 + ], + [ + 39.03769753196019, + -0.7967307350852479 + ], + [ + 39.83437278053975, + -0.7967307350852479 + ], + [ + 39.83437278053975, + -1.593461470170439 + ], + [ + 38.24102228338069, + -6.373568448153435 + ], + [ + 37.44429154829544, + -7.9669189453125 + ], + [ + 37.44429154829544, + -8.763649680397748 + ], + [ + 36.64761629971588, + -10.357000177556813 + ], + [ + 34.25759055397725, + -13.543756658380687 + ], + [ + 28.680752840909065, + -20.71394486860794 + ], + [ + 22.307295365767004, + -24.697376598011374 + ], + [ + 14.340431906960191, + -28.680808327414752 + ], + [ + 7.170188210227252, + -32.66424005681819 + ], + [ + 0.7966752485795041, + -34.25764604048294 + ], + [ + -3.983431729403435, + -35.850941051136374 + ], + [ + -4.780106977982996, + -35.850941051136374 + ], + [ + -3.186756480823874, + -35.850941051136374 + ], + [ + 2.39013671875, + -35.850941051136374 + ], + [ + 11.950295188210191, + -35.850941051136374 + ], + [ + 21.510564630681813, + -35.850941051136374 + ], + [ + 32.6641845703125, + -35.0543212890625 + ], + [ + 35.85094105113632, + -34.25764604048294 + ], + [ + 36.64761629971588, + -33.46091530539775 + ], + [ + 32.6641845703125, + -31.86750932173294 + ], + [ + 31.07077858664769, + -31.86750932173294 + ], + [ + 29.477428089488626, + -31.86750932173294 + ], + [ + 28.680752840909065, + -31.86750932173294 + ], + [ + 28.680752840909065, + -31.86750932173294 + ] + ], + "pressures": [ + 0.0322265625, + 0.1005859375, + 0.16015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.78515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 28.680752840909065, + -31.86750932173294 + ] + }, + { + "id": "EaF09ljkBwgZz8nr8MXF4", + "type": "freedraw", + "x": -98.47736943232525, + "y": 51.25340627695175, + "width": 31.070834073153435, + "height": 55.76809969815338, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 815963949, + "version": 290, + "versionNonce": 574822861, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159065, + -7.170188210227252 + ], + [ + 1.593350497159065, + -9.560269442471565 + ], + [ + 0, + -3.186700994318187 + ], + [ + -2.390081232244313, + 8.763594193892061 + ], + [ + -5.5767822265625, + 21.510564630681813 + ], + [ + -5.5767822265625, + 26.290671608664752 + ], + [ + -3.186756480823874, + 30.274103338068187 + ], + [ + 1.593350497159065, + 33.46085981889206 + ], + [ + 12.747025923295439, + 35.054210316051126 + ], + [ + 19.1204833984375, + 30.274103338068187 + ], + [ + 23.103915127840878, + 21.510564630681813 + ], + [ + 24.697321111505687, + 11.153619939630687 + ], + [ + 24.697321111505687, + 0 + ], + [ + 20.713889382102252, + -15.137051669034065 + ], + [ + 17.527132901278378, + -19.917214133522748 + ], + [ + 12.747025923295439, + -20.713889382102252 + ], + [ + 7.170188210227252, + -17.527132901278435 + ], + [ + -1.593350497159122, + -10.356944691051126 + ], + [ + -5.5767822265625, + -7.170188210227252 + ], + [ + -6.373512961647748, + -1.593405983664752 + ], + [ + -6.373512961647748, + 5.5767822265625 + ], + [ + -3.983431729403435, + 11.950295188210248 + ], + [ + 1.593350497159065, + 16.730457652698874 + ], + [ + 4.780106977982939, + 17.527077414772748 + ], + [ + 5.576837713068187, + 17.527077414772748 + ], + [ + 5.576837713068187, + 17.527077414772748 + ] + ], + "pressures": [ + 0.005859375, + 0.1005859375, + 0.1904296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.642578125, + 0.2109375, + 0.123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.576837713068187, + 17.527077414772748 + ] + }, + { + "id": "S8e9vCkJPAahGQE62pi3G", + "type": "freedraw", + "x": -58.642996651785495, + "y": 92.68112955465062, + "width": 53.37807395241481, + "height": 78.8720703125, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 136800547, + "version": 279, + "versionNonce": 889539405, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + -4.780051491477309 + ], + [ + 2.390081232244313, + -8.763538707386374 + ], + [ + 3.186756480823874, + -13.543701171875 + ], + [ + 3.983431729403435, + -23.900645862926126 + ], + [ + 3.983431729403435, + -33.46085981889206 + ], + [ + 3.983431729403435, + -43.81780450994319 + ], + [ + 3.983431729403435, + -58.95485617897731 + ], + [ + 3.983431729403435, + -66.92171963778412 + ], + [ + 3.186756480823874, + -72.49855735085231 + ], + [ + 1.593350497159122, + -75.68531383167613 + ], + [ + 1.593350497159122, + -76.48198908025569 + ], + [ + 2.390081232244313, + -76.48198908025569 + ], + [ + 7.966863458806813, + -76.48198908025569 + ], + [ + 23.103915127840935, + -76.48198908025569 + ], + [ + 35.054210316051126, + -75.68531383167613 + ], + [ + 44.61447975852269, + -74.88858309659093 + ], + [ + 50.98799272017044, + -74.09190784801137 + ], + [ + 53.37807395241481, + -73.29523259943181 + ], + [ + 53.37807395241481, + -74.09190784801137 + ], + [ + 50.98799272017044, + -76.48198908025569 + ], + [ + 48.59791148792618, + -78.8720703125 + ], + [ + 48.59791148792618, + -78.8720703125 + ] + ], + "pressures": [ + 0.1103515625, + 0.740234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 48.59791148792618, + -78.8720703125 + ] + }, + { + "id": "ooKVgxLHTGVWxpHjUjE0p", + "type": "freedraw", + "x": -57.846321403205934, + "y": 52.846756774110816, + "width": 27.08740234375, + "height": 4.780051491477252, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1401476397, + "version": 278, + "versionNonce": 1647860141, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -0.7966197620738171 + ], + [ + 0, + -1.593350497159065 + ], + [ + 5.576837713068187, + -3.186756480823817 + ], + [ + 9.560269442471565, + -3.983431729403378 + ], + [ + 14.340376420454561, + -3.983431729403378 + ], + [ + 18.32380814985794, + -4.780051491477252 + ], + [ + 19.917214133522748, + -4.780051491477252 + ], + [ + 20.713889382102252, + -4.780051491477252 + ], + [ + 15.933726917613626, + -4.780051491477252 + ], + [ + 9.560269442471565, + -3.983431729403378 + ], + [ + 3.983431729403378, + -3.186756480823817 + ], + [ + 0, + -2.390081232244313 + ], + [ + -2.390025745738626, + -1.593350497159065 + ], + [ + -3.186756480823874, + -1.593350497159065 + ], + [ + -0.796675248579561, + -1.593350497159065 + ], + [ + 7.966863458806813, + -1.593350497159065 + ], + [ + 14.340376420454561, + -2.390081232244313 + ], + [ + 19.1204833984375, + -2.390081232244313 + ], + [ + 22.307239879261374, + -1.593350497159065 + ], + [ + 23.900645862926126, + -1.593350497159065 + ], + [ + 23.103915127840878, + 0 + ], + [ + 23.103915127840878, + 0 + ] + ], + "pressures": [ + 0.0849609375, + 0.4140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.255859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.103915127840878, + 0 + ] + }, + { + "id": "zMUOq--70ANRzZfg5-wNe", + "type": "freedraw", + "x": -202.04676085633093, + "y": 113.39507442325856, + "width": 23.900645862926183, + "height": 47.00456099076712, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 617552301, + "version": 310, + "versionNonce": 1062544291, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823817, + 0 + ], + [ + -3.186756480823817, + 2.39008123224437 + ], + [ + -3.186756480823817, + 4.780162464488626 + ], + [ + -3.186756480823817, + 8.763594193892004 + ], + [ + -3.186756480823817, + 11.15361993963063 + ], + [ + -2.390081232244313, + 12.747025923295496 + ], + [ + -0.7967307350851911, + 14.340376420454504 + ], + [ + 1.593350497159122, + 14.340376420454504 + ], + [ + 4.780106977982996, + 12.747025923295496 + ], + [ + 7.170188210227309, + 8.763594193892004 + ], + [ + 7.170188210227309, + 3.983431729403378 + ], + [ + 7.170188210227309, + -0.7966752485795041 + ], + [ + 7.170188210227309, + -5.5767822265625 + ], + [ + 6.373512961647748, + -7.96686345880687 + ], + [ + 6.373512961647748, + -6.373457475142004 + ], + [ + 9.560213955965935, + 2.39008123224437 + ], + [ + 13.543645685369313, + 9.560324928977252 + ], + [ + 15.933726917613683, + 18.323808149857996 + ], + [ + 17.527077414772748, + 25.494051846590878 + ], + [ + 18.323863636363683, + 31.070834073153378 + ], + [ + 15.933726917613683, + 35.850941051136374 + ], + [ + 12.746970436789809, + 37.444347034801126 + ], + [ + 7.170188210227309, + 39.03769753196025 + ], + [ + 1.593350497159122, + 39.03769753196025 + ], + [ + -3.186756480823817, + 37.444347034801126 + ], + [ + -4.780162464488626, + 35.05426580255687 + ], + [ + -5.5767822265625, + 31.867509321732996 + ], + [ + -4.780162464488626, + 28.680752840909122 + ], + [ + -3.186756480823817, + 26.290671608664752 + ], + [ + 0.796675248579561, + 21.5106201171875 + ], + [ + 2.390081232244313, + 21.5106201171875 + ], + [ + 2.390081232244313, + 21.5106201171875 + ] + ], + "pressures": [ + 0.0283203125, + 0.58203125, + 0.6025390625, + 0.626953125, + 0.736328125, + 0.83203125, + 0.876953125, + 0.8828125, + 0.8876953125, + 0.8984375, + 0.908203125, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7705078125, + 0.412109375, + 0.169921875, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.390081232244313, + 21.5106201171875 + ] + }, + { + "id": "z6_wz274txvblk2-FLSZ3", + "type": "freedraw", + "x": -173.3660080154218, + "y": 120.56526263348582, + "width": 24.697321111505687, + "height": 31.070834073153378, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1589191181, + "version": 299, + "versionNonce": 1723505677, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 5.576837713068244 + ], + [ + 0, + 8.763594193892118 + ], + [ + 0.7967307350851911, + 11.153619939630744 + ], + [ + 1.593350497159065, + 11.950295188210248 + ], + [ + 6.373457475142004, + 12.747025923295496 + ], + [ + 11.15361993963063, + 10.35700017755687 + ], + [ + 14.340376420454504, + 5.576837713068244 + ], + [ + 16.730457652698817, + 0 + ], + [ + 16.730457652698817, + -8.763538707386374 + ], + [ + 15.933726917613626, + -10.356944691051126 + ], + [ + 12.747025923295439, + -14.340376420454504 + ], + [ + 7.170188210227252, + -16.73040216619313 + ], + [ + -0.7967307350852479, + -18.323808149857882 + ], + [ + -3.983431729403435, + -16.73040216619313 + ], + [ + -6.373512961647748, + -11.950295188210248 + ], + [ + -7.96686345880687, + -7.170188210227252 + ], + [ + -7.96686345880687, + -3.186756480823874 + ], + [ + -5.576837713068187, + -1.593295010653378 + ], + [ + -3.186700994318187, + 0 + ], + [ + -2.39008123224437, + 0 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.1435546875, + 0.4541015625, + 0.5849609375, + 0.83203125, + 0.8935546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4658203125, + 0.1640625, + 0.0439453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.39008123224437, + 0 + ] + }, + { + "id": "UQwR6dxKfU5rKmD99cYTo", + "type": "freedraw", + "x": -146.2786611581775, + "y": 106.22488621303131, + "width": 15.137107155539752, + "height": 28.68069735440349, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1009718925, + "version": 298, + "versionNonce": 1826010947, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + 9.560269442471622 + ], + [ + -0.796675248579561, + 14.340376420454504 + ], + [ + 1.593405983664752, + 18.323808149857882 + ], + [ + 3.983431729403378, + 19.917214133522748 + ], + [ + 5.57683771306813, + 19.917214133522748 + ], + [ + 7.170188210227252, + 17.527132901278378 + ], + [ + 7.966863458806813, + 11.15361993963063 + ], + [ + 8.763538707386317, + 6.373512961647748 + ], + [ + 8.763538707386317, + 1.593405983664752 + ], + [ + 8.763538707386317, + -2.390025745738626 + ], + [ + 8.763538707386317, + -3.186700994318244 + ], + [ + 8.763538707386317, + -2.390025745738626 + ], + [ + 9.560324928977252, + 5.57683771306813 + ], + [ + 9.560324928977252, + 12.747081409801126 + ], + [ + 10.356944691051126, + 19.917214133522748 + ], + [ + 11.15361993963063, + 23.900645862926126 + ], + [ + 11.15361993963063, + 24.697376598011374 + ], + [ + 11.950295188210191, + 24.697376598011374 + ], + [ + 12.747025923295439, + 25.493996360085248 + ], + [ + 13.54375665838063, + 25.493996360085248 + ], + [ + 13.54375665838063, + 25.493996360085248 + ] + ], + "pressures": [ + 0.158203125, + 0.828125, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.900390625, + 0.296875, + 0.1650390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 13.54375665838063, + 25.493996360085248 + ] + }, + { + "id": "D5TfuE_UJfSn7s5ROSCP3", + "type": "freedraw", + "x": -125.56477177607525, + "y": 132.51555782169606, + "width": 23.103970614346565, + "height": 29.477372602982996, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1191183523, + "version": 298, + "versionNonce": 2055574125, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983431729403378 + ], + [ + 0, + -8.763538707386374 + ], + [ + -0.796675248579561, + -18.323808149857996 + ], + [ + -1.593405983664752, + -24.697265625 + ], + [ + -1.593405983664752, + -27.884022105823874 + ], + [ + -1.593405983664752, + -28.680697354403378 + ], + [ + -1.593405983664752, + -23.103915127840878 + ], + [ + -0.796675248579561, + -19.1204833984375 + ], + [ + -0.796675248579561, + -17.527021928267004 + ], + [ + 0, + -17.527021928267004 + ], + [ + 0, + -19.1204833984375 + ], + [ + 3.186756480823874, + -23.900590376420496 + ], + [ + 5.5767822265625, + -26.290671608664752 + ], + [ + 10.356944691051126, + -29.477372602982996 + ], + [ + 13.543645685369313, + -29.477372602982996 + ], + [ + 17.527132901278378, + -27.08734685724437 + ], + [ + 19.91715864701706, + -23.103915127840878 + ], + [ + 21.510564630681813, + -19.1204833984375 + ], + [ + 21.510564630681813, + -15.933726917613626 + ], + [ + 21.510564630681813, + -15.137051669034122 + ], + [ + 21.510564630681813, + -15.137051669034122 + ] + ], + "pressures": [ + 0.1787109375, + 0.6806640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.82421875, + 0.306640625, + 0.068359375, + 0.052734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.510564630681813, + -15.137051669034122 + ] + }, + { + "id": "ixPdgnxkz5T5sCE64T4Ay", + "type": "freedraw", + "x": -395.641703816203, + "y": 142.87239153973582, + "width": 15.933782404119313, + "height": 244.5829634232955, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 958852397, + "version": 445, + "versionNonce": 136632035, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796619762073874, + 5.5767822265625 + ], + [ + 1.593350497159065, + 29.477428089488626 + ], + [ + 1.593350497159065, + 52.581343217329504 + ], + [ + 2.390081232244256, + 82.85550204190338 + ], + [ + 3.983431729403378, + 118.70638760653412 + ], + [ + 4.780106977982882, + 149.77727716619313 + ], + [ + 5.57683771306813, + 168.10102982954538 + ], + [ + 6.373512961647691, + 172.88113680752838 + ], + [ + 6.373512961647691, + 171.28778631036926 + ], + [ + 6.373512961647691, + 161.72757235440338 + ], + [ + 3.983431729403378, + 132.25008877840912 + ], + [ + 1.593350497159065, + 107.55276766690338 + ], + [ + -0.796619762073874, + 81.26209605823863 + ], + [ + -1.593350497159122, + 57.36150568181813 + ], + [ + -2.39008123224437, + 33.460859818892004 + ], + [ + -2.39008123224437, + 7.170188210227252 + ], + [ + 0.7966752485795041, + -27.884077592329618 + ], + [ + 3.186811967329504, + -39.83437278053975 + ], + [ + 3.186811967329504, + -41.427723277698874 + ], + [ + 3.186811967329504, + -23.103915127840878 + ], + [ + 1.593350497159065, + 4.780106977982882 + ], + [ + 0, + 44.61447975852275 + ], + [ + -0.796619762073874, + 92.41571599786926 + ], + [ + -1.593350497159122, + 134.64017001065338 + ], + [ + -1.593350497159122, + 157.744140625 + ], + [ + -1.593350497159122, + 164.117598100142 + ], + [ + -1.593350497159122, + 160.13416637073863 + ], + [ + -3.186756480823874, + 144.9971147017045 + ], + [ + -8.763538707386374, + 105.16274192116475 + ], + [ + -9.560269442471622, + 89.22895951704538 + ], + [ + -8.763538707386374, + 35.054210316051126 + ], + [ + -3.983431729403435, + 9.560269442471622 + ], + [ + -1.593350497159122, + 1.593350497159122 + ], + [ + -0.796619762073874, + 2.390081232244256 + ], + [ + -0.796619762073874, + 23.900590376420382 + ], + [ + -0.796619762073874, + 56.56477494673288 + ], + [ + -1.593350497159122, + 103.5693359375 + ], + [ + -0.796619762073874, + 171.28778631036926 + ], + [ + 0, + 195.18837668678975 + ], + [ + 0, + 203.15524014559662 + ], + [ + 0.7966752485795041, + 203.15524014559662 + ], + [ + 0.7966752485795041, + 198.37513316761363 + ], + [ + 0.7966752485795041, + 183.2380814985795 + ], + [ + -0.796619762073874, + 158.54076038707387 + ], + [ + -0.796619762073874, + 158.54076038707387 + ] + ], + "pressures": [ + 0.1240234375, + 0.830078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0.15625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.796619762073874, + 158.54076038707387 + ] + }, + { + "id": "wKUPOnrmr2c0E4woRXqvH", + "type": "freedraw", + "x": -391.6582166002939, + "y": 139.68563505891194, + "width": 176.06789328835225, + "height": 137.030195756392, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1119411181, + "version": 450, + "versionNonce": 1215722477, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.576893199573874, + -7.170188210227252 + ], + [ + -5.576893199573874, + -8.763538707386374 + ], + [ + -5.576893199573874, + -11.153619939630744 + ], + [ + -3.186811967329504, + -15.137051669034122 + ], + [ + 2.390025745738626, + -19.1204833984375 + ], + [ + 20.713833895596622, + -25.493996360085248 + ], + [ + 36.64756081321025, + -29.477428089488626 + ], + [ + 54.97136896306819, + -31.867509321732996 + ], + [ + 74.09185236150569, + -30.2740478515625 + ], + [ + 95.60247247869319, + -22.307184392755744 + ], + [ + 122.68976384943181, + -3.186756480823874 + ], + [ + 133.04670854048294, + 13.54375665838063 + ], + [ + 134.64011452414775, + 33.46091530539775 + ], + [ + 129.06327681107956, + 52.581343217329504 + ], + [ + 111.53619939630681, + 74.09190784801137 + ], + [ + 91.61904074928975, + 84.4488525390625 + ], + [ + 66.92166415127838, + 90.82236550071025 + ], + [ + 40.630992542613626, + 92.41571599786926 + ], + [ + 17.527077414772748, + 90.02569025213063 + ], + [ + -5.576893199573874, + 81.26215154474426 + ], + [ + -12.747081409801126, + 77.27871981534088 + ], + [ + -15.137107155539752, + 75.68531383167613 + ], + [ + -13.543756658380687, + 74.88863858309662 + ], + [ + -7.170243696732939, + 75.68531383167613 + ], + [ + 4.780051491477252, + 79.6687455610795 + ], + [ + 20.713833895596622, + 85.24558327414775 + ], + [ + 40.630992542613626, + 88.43228426846588 + ], + [ + 68.51507013494319, + 87.63560901988637 + ], + [ + 85.24547230113637, + 83.652177290483 + ], + [ + 100.38252397017044, + 78.07533957741475 + ], + [ + 112.33287464488637, + 70.9051513671875 + ], + [ + 122.68976384943181, + 60.548262162642004 + ], + [ + 130.6566827947443, + 38.240966796875 + ], + [ + 129.85995205965907, + 20.713889382102252 + ], + [ + 120.29973810369319, + 3.983431729403378 + ], + [ + 105.95936168323863, + -14.340320933948874 + ], + [ + 75.6852583451705, + -37.444291548295496 + ], + [ + 54.97136896306819, + -43.817804509943244 + ], + [ + 32.66412908380681, + -44.61447975852275 + ], + [ + 11.153564453125, + -42.22439852627838 + ], + [ + -7.170243696732939, + -36.64761629971588 + ], + [ + -27.087457830255687, + -23.103915127840878 + ], + [ + -36.64767178622162, + -12.746970436789752 + ], + [ + -41.427778764204504, + -2.390025745738626 + ], + [ + -41.427778764204504, + 7.170188210227252 + ], + [ + -32.66424005681819, + 19.1204833984375 + ], + [ + -23.103970614346622, + 25.494051846590878 + ], + [ + -15.137107155539752, + 29.477483575994256 + ], + [ + -10.357000177556813, + 30.27410333806813 + ], + [ + -7.170243696732939, + 31.867509321732996 + ], + [ + -3.186811967329504, + 34.25753506747162 + ], + [ + 0.796619762073874, + 36.64761629971588 + ], + [ + 3.983431729403378, + 39.03769753196025 + ], + [ + 4.780051491477252, + 39.83437278053975 + ], + [ + 4.780051491477252, + 39.83437278053975 + ] + ], + "pressures": [ + 0.021484375, + 0.380859375, + 0.478515625, + 0.7705078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4375, + 0.197265625, + 0.1123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.780051491477252, + 39.83437278053975 + ] + }, + { + "id": "rDu3zvy7DD0CV49ciwEJE", + "type": "freedraw", + "x": -329.5166871702514, + "y": 338.06087919953706, + "width": 164.117598100142, + "height": 245.37969415838063, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1600792045, + "version": 324, + "versionNonce": 598944003, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 4.0739786705575725, + 0 + ], + [ + 5.006386056859116, + 1.593350497159122 + ], + [ + 6.871395662794947, + 3.9834317294034918 + ], + [ + 7.80386799354076, + 3.9834317294034918 + ], + [ + 7.80386799354076, + 3.186700994318244 + ], + [ + 8.736405268730845, + -3.186811967329504 + ], + [ + 13.398831866904048, + -27.08740234375 + ], + [ + 18.993665851378797, + -52.581398703835134 + ], + [ + 27.386111661423797, + -86.04225852272725 + ], + [ + 39.508381850007645, + -125.876631303267 + ], + [ + 53.495661644527395, + -164.91432883522725 + ], + [ + 71.2129606509188, + -210.3254838423295 + ], + [ + 76.80785957983781, + -227.0558860085227 + ], + [ + 78.67286918577372, + -233.42945445667607 + ], + [ + 79.60534151651947, + -234.22612970525563 + ], + [ + 79.60534151651947, + -233.42945445667607 + ], + [ + 80.53781384726528, + -222.27583451704538 + ], + [ + 83.33529578394692, + -199.17180841619313 + ], + [ + 88.93019471286595, + -169.69443581321013 + ], + [ + 97.32264052291094, + -134.640225497159 + ], + [ + 109.44484576705051, + -96.39920321377838 + ], + [ + 127.16214477344192, + -39.037697531960134 + ], + [ + 134.62205330829684, + -9.560269442471508 + ], + [ + 138.35194263128005, + 6.373457475142118 + ], + [ + 140.21695223721588, + 11.153564453125 + ], + [ + 140.21695223721588, + 9.560213955965992 + ], + [ + 134.62205330829684, + 3.186700994318244 + ], + [ + 126.22960749825191, + -8.763594193892004 + ], + [ + 109.44484576705051, + -30.274158824573874 + ], + [ + 94.52509364178502, + -47.004616477272634 + ], + [ + 77.74033191058365, + -63.734963156960134 + ], + [ + 46.03588299856102, + -86.8389892578125 + ], + [ + 26.45357438623371, + -94.00912198153401 + ], + [ + 9.668812655032387, + -95.60247247869313 + ], + [ + -6.1834767454231905, + -95.60247247869313 + ], + [ + -19.238219264752857, + -93.2124467329545 + ], + [ + -23.900645862926126, + -92.415771484375 + ], + [ + -21.103228870688753, + -87.63560901988637 + ], + [ + -21.103228870688753, + -87.63560901988637 + ] + ], + "pressures": [ + 0.064453125, + 0.1240234375, + 0.16796875, + 0.1787109375, + 0.8388671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -21.5106201171875, + -87.63560901988637 + ] + }, + { + "id": "Pid0Yz3Qw7P4Thlb_5o7X", + "type": "freedraw", + "x": -328.7200119216718, + "y": 248.83186419598582, + "width": 94.80579723011363, + "height": 20.713833895596622, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1308773741, + "version": 250, + "versionNonce": 53615789, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 94.80579723011363, + 20.713833895596622 + ], + [ + 94.80579723011363, + 20.713833895596622 + ] + ], + "pressures": [ + 1, + 0.0126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 94.80579723011363, + 20.713833895596622 + ] + }, + { + "id": "nc07nVTldyOscp_W9BOTJ", + "type": "freedraw", + "x": -319.9564732142855, + "y": 247.23845821232095, + "width": 144.20043945312506, + "height": 14.340376420454618, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1874171437, + "version": 264, + "versionNonce": 369954979, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 0 + ], + [ + -1.593350497159065, + 0 + ], + [ + 6.373512961647748, + 0.7967307350852479 + ], + [ + 22.307239879261374, + 3.983487215909122 + ], + [ + 44.614535245028435, + 6.373512961647748 + ], + [ + 66.92177512428975, + 7.9669189453125 + ], + [ + 95.60247247869319, + 9.560269442471622 + ], + [ + 113.12966086647725, + 11.153675426136374 + ], + [ + 125.87663130326706, + 12.747025923295496 + ], + [ + 133.046875, + 13.543701171875 + ], + [ + 139.42027698863637, + 14.340376420454618 + ], + [ + 140.21700772372162, + 13.543701171875 + ], + [ + 139.42027698863637, + 13.543701171875 + ], + [ + 139.42027698863637, + 13.543701171875 + ] + ], + "pressures": [ + 0.0166015625, + 0.1337890625, + 0.748046875, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3115234375, + 0.0458984375, + 0.04296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 139.42027698863637, + 13.543701171875 + ] + }, + { + "id": "peaZEJVcgzasVohxYwpV8", + "type": "freedraw", + "x": -199.65662413758093, + "y": 177.92665734229269, + "width": 160.9308416193182, + "height": 18.323808149857996, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1353608163, + "version": 278, + "versionNonce": 1258918029, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -1.593350497159122 + ], + [ + -3.983431729403435, + -2.389970259232996 + ], + [ + 1.593350497159065, + -3.186756480823874 + ], + [ + 9.560213955965935, + -3.186756480823874 + ], + [ + 20.713833895596565, + -3.9834317294034918 + ], + [ + 36.64756081321025, + -3.9834317294034918 + ], + [ + 54.97136896306819, + -4.780106977982996 + ], + [ + 81.26209605823863, + -7.170188210227252 + ], + [ + 100.38257945667613, + -7.96686345880687 + ], + [ + 117.90971235795456, + -7.170188210227252 + ], + [ + 129.86000754616475, + -3.186756480823874 + ], + [ + 136.2335205078125, + 0.7967307350852479 + ], + [ + 138.62354625355113, + 4.780162464488626 + ], + [ + 137.03019575639206, + 5.576893199573874 + ], + [ + 128.2666015625, + 5.576893199573874 + ], + [ + 112.33287464488637, + 6.373512961647748 + ], + [ + 81.26209605823863, + 4.780162464488626 + ], + [ + 61.34488192471588, + 0.7967307350852479 + ], + [ + 43.02107377485794, + -4.780106977982996 + ], + [ + 25.49394087357956, + -8.763538707386374 + ], + [ + 3.983431729403435, + -10.356889204545496 + ], + [ + -7.966863458806813, + -11.153619939630744 + ], + [ + -17.527132901278435, + -11.153619939630744 + ], + [ + -21.5106201171875, + -11.950295188210248 + ], + [ + -22.30729536576706, + -11.950295188210248 + ], + [ + -15.933726917613626, + -11.950295188210248 + ], + [ + -4.780162464488626, + -11.153619939630744 + ], + [ + 7.966863458806813, + -10.356889204545496 + ], + [ + 21.510509144176126, + -10.356889204545496 + ], + [ + 36.64756081321025, + -9.560213955965992 + ], + [ + 58.954800692471565, + -7.170188210227252 + ], + [ + 72.49850186434657, + -4.780106977982996 + ], + [ + 83.65217729048294, + -2.389970259232996 + ], + [ + 90.82231001420456, + -0.7966752485796178 + ], + [ + 95.60247247869319, + -0.7966752485796178 + ], + [ + 95.60247247869319, + -1.593350497159122 + ], + [ + 94.80574174360794, + -2.389970259232996 + ], + [ + 94.80574174360794, + -2.389970259232996 + ] + ], + "pressures": [ + 0.11328125, + 0.26953125, + 0.353515625, + 0.859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2822265625, + 0.15234375, + 0.08984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 94.80574174360794, + -2.389970259232996 + ] + }, + { + "id": "U26UgRsNRDaQKaNXG5z48", + "type": "freedraw", + "x": -136.71833622920025, + "y": 151.63604122013356, + "width": 15.137107155539752, + "height": 225.46242453835225, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1210137699, + "version": 267, + "versionNonce": 1887390403, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -7.96686345880687 + ], + [ + 0, + -11.950295188210248 + ], + [ + -0.7967307350852479, + -11.153675426136374 + ], + [ + -0.7967307350852479, + -3.983431729403378 + ], + [ + -0.7967307350852479, + 7.96686345880687 + ], + [ + -2.390081232244313, + 23.900645862926126 + ], + [ + -4.780162464488626, + 68.51507013494313 + ], + [ + -6.373512961647748, + 108.349442915483 + ], + [ + -7.170188210227309, + 148.18381569602275 + ], + [ + -7.170188210227309, + 180.84800026633525 + ], + [ + -7.170188210227309, + 202.35850941051137 + ], + [ + -6.373512961647748, + 212.7154541015625 + ], + [ + -5.576837713068187, + 213.512129350142 + ], + [ + -5.576837713068187, + 208.73202237215912 + ], + [ + -8.763594193892061, + 188.0181884765625 + ], + [ + -10.356944691051126, + 164.91421786221588 + ], + [ + -10.356944691051126, + 137.030195756392 + ], + [ + -6.373512961647748, + 107.55276766690338 + ], + [ + -2.390081232244313, + 80.46536532315338 + ], + [ + 2.390025745738626, + 45.41115500710225 + ], + [ + 4.780162464488626, + 29.477372602982996 + ], + [ + 4.780162464488626, + 21.510509144176126 + ], + [ + 4.780162464488626, + 19.12042791193187 + ], + [ + 3.186700994318187, + 19.12042791193187 + ], + [ + 2.390025745738626, + 22.30718439275563 + ], + [ + 1.593350497159065, + 24.697265625 + ], + [ + 1.593350497159065, + 24.697265625 + ] + ], + "pressures": [ + 0.0087890625, + 0.15234375, + 0.34375, + 0.830078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.666015625, + 0.232421875, + 0.0185546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593350497159065, + 24.697265625 + ] + }, + { + "id": "TvaXXWRlx268kosTTEFFU", + "type": "freedraw", + "x": -186.90965370079118, + "y": 307.78672037496307, + "width": 169.6943803267045, + "height": 23.900645862926126, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1511961741, + "version": 280, + "versionNonce": 1375860461, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780106977982939, + -0.7966752485795041 + ], + [ + -10.356944691051126, + 1.593350497159122 + ], + [ + -12.746970436789752, + 2.390025745738626 + ], + [ + -15.933782404119313, + 3.9834317294034918 + ], + [ + -15.933782404119313, + 4.780106977982996 + ], + [ + -16.730402166193187, + 4.780106977982996 + ], + [ + -15.933782404119313, + 4.780106977982996 + ], + [ + -10.356944691051126, + 4.780106977982996 + ], + [ + 3.186811967329561, + 5.5767822265625 + ], + [ + 16.730402166193187, + 5.5767822265625 + ], + [ + 34.25753506747162, + 5.5767822265625 + ], + [ + 50.988048206676126, + 5.5767822265625 + ], + [ + 74.88863858309662, + 5.5767822265625 + ], + [ + 92.41571599786931, + 4.780106977982996 + ], + [ + 111.53619939630681, + 3.9834317294034918 + ], + [ + 126.67330655184662, + 3.9834317294034918 + ], + [ + 133.8434392755682, + 6.373512961647748 + ], + [ + 131.45341352982956, + 10.356944691051126 + ], + [ + 121.893144087358, + 11.153675426136374 + ], + [ + 104.36601118607956, + 11.153675426136374 + ], + [ + 80.46542080965912, + 7.170243696732996 + ], + [ + 39.83437278053981, + 0 + ], + [ + 14.340376420454561, + -1.593405983664752 + ], + [ + -7.170188210227252, + -1.593405983664752 + ], + [ + -23.103915127840878, + 0.7966752485796178 + ], + [ + -32.66412908380681, + 2.390025745738626 + ], + [ + -35.85094105113632, + 2.390025745738626 + ], + [ + -32.66412908380681, + 2.390025745738626 + ], + [ + -23.103915127840878, + 3.186811967329618 + ], + [ + -7.170188210227252, + 3.9834317294034918 + ], + [ + 27.08740234375, + 7.96686345880687 + ], + [ + 50.988048206676126, + 10.356944691051126 + ], + [ + 70.108476118608, + 12.746970436789866 + ], + [ + 86.04220303622162, + 16.730402166193244 + ], + [ + 97.19582297585231, + 19.917158647017118 + ], + [ + 105.16274192116481, + 22.307239879261374 + ], + [ + 106.75614790482956, + 22.307239879261374 + ], + [ + 106.75614790482956, + 20.713833895596622 + ], + [ + 105.16274192116481, + 19.917158647017118 + ], + [ + 105.16274192116481, + 19.917158647017118 + ] + ], + "pressures": [ + 0.05859375, + 0.1142578125, + 0.1904296875, + 0.2421875, + 0.4560546875, + 0.64453125, + 0.716796875, + 0.798828125, + 0.8203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3876953125, + 0.16796875, + 0.0966796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 105.16274192116481, + 19.917158647017118 + ] + }, + { + "id": "_ZPgrROztcVmd4uVXn1id", + "type": "freedraw", + "x": -56.25291541954118, + "y": 299.0231816675767, + "width": 0.0001, + "height": 0.0001, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 392172749, + "version": 235, + "versionNonce": 1950875043, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.0001, + 0.0001 + ] + ], + "pressures": [ + 0.033203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.0001, + 0.0001 + ] + }, + { + "id": "jp0rl6V8AxZLIhTYgQ_PV", + "type": "freedraw", + "x": -52.26948369013775, + "y": 300.6165321647358, + "width": 3.186756480823874, + "height": 150.573896928267, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1128124995, + "version": 230, + "versionNonce": 1748574509, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186756480823874, + -150.573896928267 + ], + [ + 3.186756480823874, + -150.573896928267 + ] + ], + "pressures": [ + 0.1142578125, + 0.044921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186756480823874, + -150.573896928267 + ] + }, + { + "id": "v80gEzfZyUyPFuxaOHmtf", + "type": "freedraw", + "x": -42.70926973417187, + "y": 304.5999638941392, + "width": 42.224454012784065, + "height": 196.78172718394887, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 359292291, + "version": 257, + "versionNonce": 742822947, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.593350497159122 + ], + [ + 0, + 0.7966752485796178 + ], + [ + 0, + 0 + ], + [ + 0, + -4.780106977982882 + ], + [ + -0.7966752485795041, + -14.340376420454504 + ], + [ + -0.7966752485795041, + -31.070834073153378 + ], + [ + -0.7966752485795041, + -64.53169389204538 + ], + [ + 0, + -88.43228426846588 + ], + [ + 0, + -110.73952414772725 + ], + [ + 0.796675248579561, + -130.65673828125 + ], + [ + 1.593405983664809, + -154.55732865767038 + ], + [ + 2.390081232244313, + -164.117598100142 + ], + [ + 2.390081232244313, + -168.89764959161926 + ], + [ + 2.390081232244313, + -169.6943803267045 + ], + [ + 3.983431729403435, + -165.71094859730113 + ], + [ + 4.780162464488683, + -159.337491122159 + ], + [ + 5.576837713068187, + -148.18387118252838 + ], + [ + 6.373512961647748, + -130.65673828125 + ], + [ + 9.560269442471622, + -105.16268643465901 + ], + [ + 18.323808149857996, + -56.564830433238626 + ], + [ + 24.697321111505687, + -23.900645862926126 + ], + [ + 28.680752840909065, + 0.7966752485796178 + ], + [ + 32.66418457031256, + 15.137051669034122 + ], + [ + 38.24102228338069, + 23.900590376420496 + ], + [ + 40.63104802911931, + 26.290727095170496 + ], + [ + 41.42777876420456, + 27.08734685724437 + ], + [ + 41.42777876420456, + 24.697321111505744 + ], + [ + 41.42777876420456, + 20.713889382102366 + ], + [ + 41.42777876420456, + 20.713889382102366 + ] + ], + "pressures": [ + 0.07421875, + 0.1103515625, + 0.181640625, + 0.2333984375, + 0.4169921875, + 0.796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8447265625, + 0.4853515625, + 0.3466796875, + 0.1845703125, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.42777876420456, + 20.713889382102366 + ] + }, + { + "id": "DggoJ220ls4tZQSNF0d3T", + "type": "freedraw", + "x": -10.84176041243893, + "y": 321.33042154683807, + "width": 18.323808149857882, + "height": 192.79835094105113, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 343963597, + "version": 241, + "versionNonce": 272003981, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -2.390025745738626 + ], + [ + -0.7966752485795041, + -15.137107155539752 + ], + [ + -1.5933504971590082, + -32.6641845703125 + ], + [ + 0.7966752485796178, + -54.174693714488626 + ], + [ + 6.373512961647748, + -92.415771484375 + ], + [ + 9.560269442471622, + -121.09652432528401 + ], + [ + 12.746970436789752, + -149.7772216796875 + ], + [ + 15.933726917613626, + -172.881192294034 + ], + [ + 16.730457652698874, + -190.4083251953125 + ], + [ + 16.730457652698874, + -192.79835094105113 + ], + [ + 16.730457652698874, + -189.6115389737215 + ], + [ + 15.933726917613626, + -184.83148748224426 + ], + [ + 15.933726917613626, + -184.83148748224426 + ] + ], + "pressures": [ + 0.0966796875, + 0.4970703125, + 0.927734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1845703125, + 0.0458984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.933726917613626, + -184.83148748224426 + ] + }, + { + "id": "6y-9ArVXiW8tw8MHBNRAd", + "type": "freedraw", + "x": -48.28605196073437, + "y": 295.83642518675293, + "width": 66.92177512428981, + "height": 199.96848366477275, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 677026019, + "version": 265, + "versionNonce": 189142979, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -3.983487215909122 + ], + [ + -3.983431729403378, + -9.560269442471622 + ], + [ + -4.780162464488626, + -25.493996360085248 + ], + [ + -4.780162464488626, + -44.61447975852275 + ], + [ + -3.186756480823817, + -68.51507013494324 + ], + [ + -0.7966752485795041, + -95.60252796519887 + ], + [ + 3.186756480823874, + -120.29973810369324 + ], + [ + 7.966863458806813, + -141.01368297230124 + ], + [ + 12.746970436789809, + -164.11754261363637 + ], + [ + 14.340376420454561, + -172.08446155894887 + ], + [ + 15.137051669034122, + -175.27121803977275 + ], + [ + 15.137051669034122, + -171.28778631036937 + ], + [ + 16.730402166193187, + -160.93084161931824 + ], + [ + 17.527132901278435, + -144.99711470170462 + ], + [ + 19.1204833984375, + -113.12960537997162 + ], + [ + 20.713833895596622, + -86.83893377130687 + ], + [ + 22.307239879261374, + -57.361505681818244 + ], + [ + 24.697265625, + -30.274158824573874 + ], + [ + 25.493996360085248, + -7.9669189453125 + ], + [ + 27.88402210582393, + 14.34032093394876 + ], + [ + 30.274103338068187, + 21.510509144176126 + ], + [ + 31.86745383522731, + 23.900590376420382 + ], + [ + 32.66418457031256, + 24.697265625 + ], + [ + 32.66418457031256, + 17.527077414772634 + ], + [ + 31.86745383522731, + 3.983431729403378 + ], + [ + 31.86745383522731, + -17.52713290127849 + ], + [ + 33.46085981889206, + -44.61447975852275 + ], + [ + 39.83437278053981, + -85.24558327414775 + ], + [ + 44.61447975852269, + -105.16274192116487 + ], + [ + 48.59791148792618, + -120.29973810369324 + ], + [ + 52.58134321732956, + -133.84349476207387 + ], + [ + 56.56477494673294, + -155.35405939275574 + ], + [ + 59.75153142755681, + -165.71100408380687 + ], + [ + 61.344937411221565, + -168.1010298295455 + ], + [ + 62.14161265980118, + -161.7275723544035 + ], + [ + 62.14161265980118, + -155.35405939275574 + ], + [ + 62.14161265980118, + -155.35405939275574 + ] + ], + "pressures": [ + 0.072265625, + 0.2333984375, + 0.3544921875, + 0.6904296875, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.96484375, + 0.90234375, + 0.923828125, + 0.94921875, + 0.9599609375, + 0.9599609375, + 0.966796875, + 0.9755859375, + 0.96484375, + 0.9599609375, + 0.9384765625, + 0.9189453125, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7744140625, + 0.4853515625, + 0.23828125, + 0.068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 62.14161265980118, + -155.35405939275574 + ] + }, + { + "id": "XLp0pnB5e-U7PLhJOkcGi", + "type": "freedraw", + "x": -315.9729859983764, + "y": 337.2641484644517, + "width": 73.29523259943181, + "height": 265.2969082919034, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1922291683, + "version": 276, + "versionNonce": 1167751661, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159065, + -3.1867564808237603 + ], + [ + 3.983431729403435, + -15.137051669034008 + ], + [ + 7.966863458806813, + -35.054265802556756 + ], + [ + 12.747025923295439, + -58.158125443892004 + ], + [ + 19.91715864701706, + -94.80579723011363 + ], + [ + 25.49399636008519, + -120.29979359019876 + ], + [ + 31.867453835227252, + -148.18387118252838 + ], + [ + 41.427723277698874, + -176.86456853693176 + ], + [ + 52.58139870383519, + -204.74864612926126 + ], + [ + 64.53169389204544, + -231.83604847301132 + ], + [ + 66.92171963778407, + -238.20950594815338 + ], + [ + 66.92171963778407, + -239.80291193181813 + ], + [ + 66.92171963778407, + -237.41277521306813 + ], + [ + 62.93828790838069, + -224.665860262784 + ], + [ + 53.378018465909065, + -197.57840243252838 + ], + [ + 39.834317294034065, + -157.74402965198863 + ], + [ + 25.49399636008519, + -115.51968661221588 + ], + [ + 10.356889204545439, + -54.174693714488626 + ], + [ + 2.390025745738626, + -16.73045765269876 + ], + [ + -3.983487215909065, + 10.35694469105124 + ], + [ + -6.373512961647748, + 23.10391512784099 + ], + [ + -4.780162464488683, + 25.493996360085248 + ], + [ + -2.390081232244313, + 20.713889382102366 + ], + [ + -1.593405983664809, + 10.35694469105124 + ], + [ + -0.7967307350852479, + -6.373457475142004 + ], + [ + 0.7967307350851911, + -30.27410333806813 + ], + [ + 8.763594193892061, + -72.49855735085225 + ], + [ + 15.137051669034065, + -97.99249822443176 + ], + [ + 22.307239879261317, + -121.89314408735788 + ], + [ + 30.274103338068187, + -147.38714044744313 + ], + [ + 45.41115500710225, + -182.44140625 + ], + [ + 49.39458673650569, + -192.0016756924715 + ], + [ + 58.158125443892004, + -208.73207785866475 + ], + [ + 58.158125443892004, + -210.3254838423295 + ], + [ + 57.3614501953125, + -203.95197088068176 + ], + [ + 51.78466796875, + -184.034756747159 + ], + [ + 42.22439852627838, + -150.573896928267 + ], + [ + 28.680752840909065, + -108.34949840198863 + ], + [ + 11.950295188210191, + -50.191261985085134 + ], + [ + 4.780162464488626, + -23.900645862926126 + ], + [ + -1.593405983664809, + -7.170188210227252 + ], + [ + -3.983487215909065, + -1.593405983664752 + ], + [ + -4.780162464488683, + -0.7966752485795041 + ], + [ + -3.983487215909065, + -10.356889204545382 + ], + [ + -0.7967307350852479, + -24.69732111150563 + ], + [ + 2.390025745738626, + -38.240966796875 + ], + [ + 3.186700994318187, + -42.22439852627838 + ], + [ + 3.186700994318187, + -42.22439852627838 + ] + ], + "pressures": [ + 0.1064453125, + 0.66796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.947265625, + 0.3544921875, + 0.16796875, + 0.09375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186700994318187, + -42.22439852627838 + ] + }, + { + "id": "WQoNNX7AyMjysKwTfj3Mr", + "type": "freedraw", + "x": -248.25459111201275, + "y": 114.98836943391194, + "width": 58.95485617897731, + "height": 237.41283069957382, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 353634947, + "version": 305, + "versionNonce": 1389635427, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -4.780106977982939 + ], + [ + -0.796675248579561, + -7.966863458806756 + ], + [ + -0.796675248579561, + -8.763538707386317 + ], + [ + -0.796675248579561, + -3.18670099431813 + ], + [ + 0.7967307350852479, + 14.340376420454618 + ], + [ + 6.373512961647748, + 63.73501864346599 + ], + [ + 11.153619939630687, + 101.17931019176137 + ], + [ + 15.933726917613626, + 137.03025124289775 + ], + [ + 21.510564630681813, + 166.50767933238637 + ], + [ + 31.070834073153378, + 199.96859463778412 + ], + [ + 38.24102228338069, + 215.90232155539775 + ], + [ + 43.021129261363626, + 223.86918501420462 + ], + [ + 43.81780450994319, + 225.46253551136363 + ], + [ + 43.81780450994319, + 223.86918501420462 + ], + [ + 38.24102228338069, + 209.52875310724437 + ], + [ + 31.86750932173294, + 192.00167569247162 + ], + [ + 25.493996360085248, + 171.28778631036937 + ], + [ + 19.1204833984375, + 148.1838711825285 + ], + [ + 13.543701171875, + 122.68987482244324 + ], + [ + 10.356944691051126, + 95.60247247869324 + ], + [ + 9.560269442471565, + 58.15818093039775 + ], + [ + 8.763594193892061, + 43.817804509943244 + ], + [ + 8.763594193892061, + 37.444291548295496 + ], + [ + 7.966863458806813, + 36.64767178622162 + ], + [ + 7.966863458806813, + 43.817804509943244 + ], + [ + 9.560269442471565, + 64.53174937855113 + ], + [ + 15.137051669034065, + 96.39920321377849 + ], + [ + 21.510564630681813, + 133.04676402698863 + ], + [ + 31.070834073153378, + 179.25464976917613 + ], + [ + 36.647671786221565, + 201.5618896484375 + ], + [ + 42.224454012784065, + 218.29234730113637 + ], + [ + 46.2078857421875, + 226.25921075994324 + ], + [ + 47.801236239346565, + 228.6492919921875 + ], + [ + 47.801236239346565, + 223.86918501420462 + ], + [ + 43.81780450994319, + 211.12215909090912 + ], + [ + 35.850941051136374, + 188.81491921164775 + ], + [ + 27.087346857244313, + 158.54076038707387 + ], + [ + 19.1204833984375, + 109.14617365056824 + ], + [ + 16.73051313920456, + 80.46547629616475 + ], + [ + 15.137051669034065, + 57.361505681818244 + ], + [ + 12.747025923295439, + 40.631103515625 + ], + [ + 11.153619939630687, + 27.884077592329618 + ], + [ + 10.356944691051126, + 27.08740234375 + ], + [ + 10.356944691051126, + 29.477428089488626 + ], + [ + 11.950295188210248, + 43.817804509943244 + ], + [ + 15.933726917613626, + 71.70188210227275 + ], + [ + 28.680808327414752, + 124.283280806108 + ], + [ + 39.83437278053975, + 157.74408513849437 + ], + [ + 49.394642223011374, + 184.83148748224437 + ], + [ + 54.971424449573874, + 203.15529563210225 + ], + [ + 58.15818093039775, + 215.1055908203125 + ], + [ + 58.15818093039775, + 215.90232155539775 + ], + [ + 57.36150568181819, + 214.308915571733 + ], + [ + 50.98799272017044, + 198.37513316761363 + ], + [ + 43.81780450994319, + 180.848055752841 + ], + [ + 35.850941051136374, + 159.33749112215912 + ], + [ + 30.274103338068187, + 138.62360174005687 + ], + [ + 26.290671608664752, + 107.55282315340912 + ], + [ + 25.493996360085248, + 81.26209605823863 + ], + [ + 25.493996360085248, + 53.37807395241475 + ], + [ + 27.88407759232956, + 31.07083407315349 + ], + [ + 27.88407759232956, + 22.307239879261374 + ], + [ + 27.88407759232956, + 21.51056463068187 + ], + [ + 27.88407759232956, + 30.274103338068244 + ], + [ + 27.88407759232956, + 48.59796697443187 + ], + [ + 28.680808327414752, + 77.27866432883525 + ], + [ + 31.86750932173294, + 134.6401700106535 + ], + [ + 36.647671786221565, + 167.304354580966 + ], + [ + 43.021129261363626, + 190.40826970880687 + ], + [ + 50.19131747159088, + 208.73207785866475 + ], + [ + 54.971424449573874, + 220.682373046875 + ], + [ + 57.36150568181819, + 226.25921075994324 + ], + [ + 57.36150568181819, + 225.46253551136363 + ], + [ + 55.76809969815338, + 219.089022549716 + ], + [ + 53.37807395241475, + 211.91888982599437 + ], + [ + 51.78466796875, + 208.73207785866475 + ], + [ + 51.78466796875, + 208.73207785866475 + ] + ], + "pressures": [ + 0.0517578125, + 0.1318359375, + 0.2197265625, + 0.2626953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.642578125, + 0.2666015625, + 0.1708984375, + 0.0947265625, + 0.001953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 51.78466796875, + 208.73207785866475 + ] + }, + { + "id": "EOdtyJsFkfCAU5C13NcBP", + "type": "freedraw", + "x": -322.3464989600241, + "y": 248.03513346090057, + "width": 151.37062766335225, + "height": 30.2740478515625, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1400464333, + "version": 270, + "versionNonce": 292467789, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 104.36601118607956, + 10.356944691051126 + ], + [ + 130.65673828125, + 23.900645862926126 + ], + [ + 134.64022549715912, + 25.493996360085248 + ], + [ + 135.43684525923294, + 25.493996360085248 + ], + [ + 133.8434392755682, + 25.493996360085248 + ], + [ + 110.73957963423294, + 15.137107155539866 + ], + [ + 101.97598544034093, + 11.153675426136374 + ], + [ + 74.09190784801137, + 1.5934059836648657 + ], + [ + 54.97147993607956, + -3.18670099431813 + ], + [ + 45.41115500710225, + -4.780051491477252 + ], + [ + 22.307239879261374, + -4.780051491477252 + ], + [ + 10.356944691051183, + -3.18670099431813 + ], + [ + 0, + -0.796619762073874 + ], + [ + -7.966863458806813, + 0.7967307350852479 + ], + [ + -13.543701171875, + 1.5934059836648657 + ], + [ + -14.340376420454561, + 1.5934059836648657 + ], + [ + -13.543701171875, + 1.5934059836648657 + ], + [ + -8.763538707386317, + 2.39008123224437 + ], + [ + -1.593405983664752, + 2.39008123224437 + ], + [ + 8.763538707386374, + 1.5934059836648657 + ], + [ + 34.257535067471565, + -1.5933504971590082 + ], + [ + 59.75153142755681, + -2.390025745738626 + ], + [ + 82.05877130681819, + -1.5933504971590082 + ], + [ + 105.16274192116475, + 2.39008123224437 + ], + [ + 112.33293013139206, + 4.780162464488626 + ], + [ + 113.92628062855113, + 4.780162464488626 + ], + [ + 113.92628062855113, + 5.576837713068244 + ], + [ + 109.94284889914775, + 7.170243696732996 + ], + [ + 97.9925537109375, + 10.356944691051126 + ], + [ + 70.90520685369319, + 13.543701171875 + ], + [ + 50.988048206676126, + 13.543701171875 + ], + [ + 31.86750932173294, + 12.747025923295496 + ], + [ + 8.763538707386374, + 10.356944691051126 + ], + [ + -3.983431729403435, + 9.560269442471622 + ], + [ + -12.746970436789752, + 8.763594193892118 + ], + [ + -15.933782404119313, + 8.763594193892118 + ], + [ + -12.746970436789752, + 8.763594193892118 + ], + [ + 0, + 11.153675426136374 + ], + [ + 9.560213955965935, + 15.137107155539866 + ], + [ + 19.120538884943187, + 19.120594371448874 + ], + [ + 26.29067160866481, + 21.51056463068187 + ], + [ + 26.29067160866481, + 21.51056463068187 + ] + ], + "pressures": [ + 0.025390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9755859375, + 0.9130859375, + 0.908203125, + 0.9296875, + 0.9404296875, + 0.8427734375, + 0.783203125, + 0.53515625, + 0.255859375, + 0.083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 26.29067160866481, + 21.51056463068187 + ] + }, + { + "id": "r28tLw2Q8ViEZ2-5A2iuH", + "type": "freedraw", + "x": -144.2469653402929, + "y": -192.01668419266815, + "width": 15.136996182528435, + "height": 137.82694036310372, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 437229613, + "version": 246, + "versionNonce": 93724355, + "isDeleted": false, + "boundElements": null, + "updated": 1659982569798, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7966891202059685 + ], + [ + -3.983431729403435, + 3.9834456010298425 + ], + [ + -6.373512961647748, + 10.356944691051126 + ], + [ + -9.560213955965935, + 19.120511141690343 + ], + [ + -11.950295188210248, + 31.867509321732967 + ], + [ + -13.543645685369313, + 46.20785799893466 + ], + [ + -15.136996182528435, + 67.71842262961647 + ], + [ + -15.136996182528435, + 81.26212380149147 + ], + [ + -14.340376420454561, + 95.60247247869319 + ], + [ + -11.950295188210248, + 109.146201393821 + ], + [ + -8.763538707386374, + 126.67327880859375 + ], + [ + -6.373512961647748, + 133.843467018821 + ], + [ + -5.5767822265625, + 137.03025124289775 + ], + [ + -4.780106977982939, + 137.03025124289775 + ], + [ + -3.983431729403435, + 137.03025124289775 + ], + [ + -3.983431729403435, + 136.23354825106532 + ], + [ + -3.983431729403435, + 136.23354825106532 + ] + ], + "pressures": [ + 0.0810546875, + 0.361328125, + 0.748046875, + 0.853515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9296875, + 0.8427734375, + 0.7265625, + 0.234375, + 0.134765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.983431729403435, + 136.23354825106532 + ] + }, + { + "id": "s-VyKsadWQyIqFntqL02N", + "type": "freedraw", + "x": -181.33287147422874, + "y": 85.5109413444232, + "width": 19.917214133522748, + "height": 89.22895951704544, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1045242787, + "version": 193, + "versionNonce": 1839988621, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796675248579561 + ], + [ + 0, + -2.390081232244313 + ], + [ + 0, + -11.15361993963063 + ], + [ + 0, + -19.91721413352269 + ], + [ + 0, + -31.070834073153378 + ], + [ + 0, + -42.22442626953125 + ], + [ + 0, + -52.581370960582376 + ], + [ + 0.796675248579561, + -64.53166614879257 + ], + [ + 1.593405983664752, + -72.49855735085225 + ], + [ + 2.39013671875, + -79.6687455610795 + ], + [ + 3.983431729403435, + -85.24555553089488 + ], + [ + 3.983431729403435, + -87.63560901988632 + ], + [ + 3.983431729403435, + -85.24555553089488 + ], + [ + 5.576837713068187, + -78.87204256924713 + ], + [ + 6.373568448153435, + -71.70185435901988 + ], + [ + 6.373568448153435, + -61.344937411221565 + ], + [ + 7.966863458806813, + -39.03769753196019 + ], + [ + 10.357000177556813, + -22.307239879261317 + ], + [ + 13.543701171875, + -8.763594193892004 + ], + [ + 15.933726917613626, + -1.593405983664752 + ], + [ + 17.527132901278435, + 1.593350497159122 + ], + [ + 18.323863636363626, + 1.593350497159122 + ], + [ + 18.323863636363626, + -1.593405983664752 + ], + [ + 18.323863636363626, + -10.356944691051126 + ], + [ + 19.1204833984375, + -29.477428089488626 + ], + [ + 19.1204833984375, + -43.021129261363626 + ], + [ + 19.1204833984375, + -53.37804620916188 + ], + [ + 19.1204833984375, + -61.344937411221565 + ], + [ + 19.1204833984375, + -72.49855735085225 + ], + [ + 19.917214133522748, + -79.6687455610795 + ], + [ + 19.917214133522748, + -82.85550204190338 + ], + [ + 19.917214133522748, + -77.27866432883519 + ], + [ + 19.1204833984375, + -72.49855735085225 + ], + [ + 18.323863636363626, + -70.10850386186075 + ], + [ + 18.323863636363626, + -70.10850386186075 + ] + ], + "pressures": [ + 0.0087890625, + 0.8388671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6025390625, + 0.2099609375, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 18.323863636363626, + -70.10850386186075 + ] + }, + { + "id": "T98T8HTWy-mx700HxpEpi", + "type": "freedraw", + "x": -146.27860567167193, + "y": 16.199140474394824, + "width": 19.1204833984375, + "height": 86.04225852272731, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 546106221, + "version": 192, + "versionNonce": 2097601379, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796675248579561 + ], + [ + -3.186756480823874, + 24.697293368252815 + ], + [ + -3.186756480823874, + 35.8509133078835 + ], + [ + -0.796675248579561, + 42.22439852627838 + ], + [ + 0.796675248579561, + 45.41115500710225 + ], + [ + 0.796675248579561, + 46.2078857421875 + ], + [ + 3.186756480823874, + 46.2078857421875 + ], + [ + 5.5767822265625, + 43.021129261363626 + ], + [ + 9.560213955965935, + 36.64761629971588 + ], + [ + 11.950295188210248, + 28.680752840909065 + ], + [ + 13.543645685369313, + 16.730429909446002 + ], + [ + 14.340376420454561, + 8.763566450639189 + ], + [ + 14.340376420454561, + 0.796675248579561 + ], + [ + 14.340376420454561, + -4.780134721235811 + ], + [ + 13.543645685369313, + -8.763566450639189 + ], + [ + 12.746970436789752, + -13.543701171875 + ], + [ + 11.950295188210248, + -14.340376420454561 + ], + [ + 11.950295188210248, + -8.763566450639189 + ], + [ + 11.950295188210248, + -2.390053488991498 + ], + [ + 13.543645685369313, + 7.170188210227252 + ], + [ + 14.340376420454561, + 18.32380814985794 + ], + [ + 15.933726917613626, + 31.867481578480124 + ], + [ + 15.933726917613626, + 46.2078857421875 + ], + [ + 15.933726917613626, + 51.78466796875 + ], + [ + 15.137107155539752, + 55.76809969815338 + ], + [ + 13.543645685369313, + 58.95485617897725 + ], + [ + 9.560213955965935, + 65.328369140625 + ], + [ + 7.966863458806813, + 68.51512562144887 + ], + [ + 7.170188210227252, + 70.10847611860794 + ], + [ + 7.170188210227252, + 70.9051513671875 + ], + [ + 6.373457475142061, + 70.9051513671875 + ], + [ + 4.780106977982939, + 71.70188210227275 + ], + [ + 3.983431729403435, + 71.70188210227275 + ], + [ + 3.186756480823874, + 71.70188210227275 + ], + [ + 2.390025745738626, + 70.9051513671875 + ], + [ + 2.390025745738626, + 70.9051513671875 + ] + ], + "pressures": [ + 0.001953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9169921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.390025745738626, + 70.9051513671875 + ] + }, + { + "id": "nicvz9RiRR4Hkr0s3J2ge", + "type": "freedraw", + "x": 205.06067211597008, + "y": 186.69012669154574, + "width": 46.20788574218756, + "height": 82.05882679332387, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2093611331, + "version": 498, + "versionNonce": 422326733, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + 0.7966752485795041 + ], + [ + -5.576837713068187, + 6.373512961647634 + ], + [ + -7.9669189453125, + 17.527132901278378 + ], + [ + -8.763594193892061, + 24.69732111150563 + ], + [ + -8.763594193892061, + 31.07088955965901 + ], + [ + -7.170188210227252, + 37.44429154829538 + ], + [ + -3.983487215909122, + 43.021184747869256 + ], + [ + -1.593405983664752, + 44.614479758522634 + ], + [ + 0, + 44.614479758522634 + ], + [ + 2.390025745738626, + 44.614479758522634 + ], + [ + 5.5767822265625, + 41.427778764204504 + ], + [ + 9.560213955965878, + 35.0543212890625 + ], + [ + 11.15361993963063, + 31.07088955965901 + ], + [ + 12.746970436789752, + 27.08745783025563 + ], + [ + 14.340320933948874, + 23.900645862926126 + ], + [ + 14.340320933948874, + 23.10397061434651 + ], + [ + 15.137051669034122, + 23.10397061434651 + ], + [ + 16.73040216619313, + 24.69732111150563 + ], + [ + 19.917158647017004, + 29.477428089488626 + ], + [ + 21.510509144176126, + 31.867509321732882 + ], + [ + 22.307239879261374, + 33.460859818892004 + ], + [ + 23.900590376420496, + 35.0543212890625 + ], + [ + 27.087346857244256, + 39.03775301846588 + ], + [ + 32.664129083806756, + 48.597966974431756 + ], + [ + 35.85088556463063, + 54.174749200994256 + ], + [ + 36.64761629971588, + 57.36150568181813 + ], + [ + 37.444291548295496, + 62.141612659801126 + ], + [ + 37.444291548295496, + 71.70188210227263 + ], + [ + 35.054210316051126, + 77.27866432883513 + ], + [ + 31.070778586647748, + 80.46542080965901 + ], + [ + 25.493996360085248, + 82.05882679332387 + ], + [ + 19.1204833984375, + 82.05882679332387 + ], + [ + 11.950295188210248, + 82.05882679332387 + ], + [ + 9.560213955965878, + 82.05882679332387 + ], + [ + 8.763538707386374, + 82.05882679332387 + ], + [ + 7.966863458806813, + 82.05882679332387 + ], + [ + 7.170132723721565, + 80.46542080965901 + ], + [ + 7.170132723721565, + 78.87212579900563 + ], + [ + 6.373457475142061, + 78.07539506392038 + ], + [ + 6.373457475142061, + 77.27866432883513 + ], + [ + 6.373457475142061, + 77.27866432883513 + ] + ], + "pressures": [ + 0.0537109375, + 0.5771484375, + 0.740234375, + 0.884765625, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.96875, + 0.953125, + 0.947265625, + 0.953125, + 0.9580078125, + 0.9619140625, + 0.9619140625, + 0.96875, + 0.966796875, + 0.953125, + 0.9423828125, + 0.9423828125, + 0.9453125, + 0.947265625, + 0.951171875, + 0.9384765625, + 0.8701171875, + 0.78125, + 0.5439453125, + 0.4658203125, + 0.4619140625, + 0.373046875, + 0.1865234375, + 0.150390625, + 0.1357421875, + 0.1123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.373457475142061, + 77.27866432883513 + ] + }, + { + "id": "oeXkaQa9Iz6F5BuRdxexG", + "type": "freedraw", + "x": 243.30163891284508, + "y": 169.65863832994285, + "width": 35.850941051136374, + "height": 25.493996360085134, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1481073037, + "version": 577, + "versionNonce": 2009183523, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.170188210227252, + 17.527132901278378 + ], + [ + 3.186756480823874, + 23.10397061434651 + ], + [ + -0.7966752485795041, + 24.69732111150563 + ], + [ + -6.373512961647748, + 25.493996360085134 + ], + [ + -14.340376420454504, + 24.69732111150563 + ], + [ + -19.1204833984375, + 22.30723987926126 + ], + [ + -23.103915127840878, + 19.917158647017004 + ], + [ + -25.493996360085248, + 17.527132901278378 + ], + [ + -27.884077592329504, + 12.746970436789752 + ], + [ + -27.884077592329504, + 9.560269442471508 + ], + [ + -28.680752840909122, + 6.373512961647634 + ], + [ + -28.680752840909122, + 4.780106977982882 + ], + [ + -28.680752840909122, + 3.983431729403378 + ], + [ + -27.884077592329504, + 3.983431729403378 + ], + [ + -27.884077592329504, + 3.186811967329504 + ], + [ + -27.08734685724437, + 1.5933504971590082 + ], + [ + -25.493996360085248, + 1.5933504971590082 + ], + [ + -25.493996360085248, + 1.5933504971590082 + ] + ], + "pressures": [ + 0.044921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.90625, + 0.615234375, + 0.4765625, + 0.228515625, + 0.1376953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -25.493996360085248, + 1.5933504971590082 + ] + }, + { + "id": "kFKj6lrbk-09EcmWJvEiF", + "type": "freedraw", + "x": 288.9581883656069, + "y": 151.89913925109727, + "width": 7.826924227872951, + "height": 28.598347150140683, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1875982669, + "version": 151, + "versionNonce": 12257379, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010411919347291 + ], + [ + 0.3010307089040225, + 0 + ], + [ + 1.2041647677388028, + 0.9031026097427741 + ], + [ + 1.8062261855469046, + 2.709318312258972 + ], + [ + 2.709318312258972, + 5.418636624517973 + ], + [ + 3.6124523710938092, + 11.43933466684399 + ], + [ + 3.6124523710938092, + 16.25590987355389 + ], + [ + 3.0103490211629946, + 20.470402696394387 + ], + [ + 1.8062261855469046, + 23.781782426461433 + ], + [ + 0.3010307089040225, + 25.88903932091236 + ], + [ + -0.9030501945894116, + 26.792131447624456 + ], + [ + -1.5051535445201694, + 27.09316215652848 + ], + [ + -2.408245671232237, + 27.09316215652848 + ], + [ + -3.9133992157524062, + 27.99627524930193 + ], + [ + -4.2144718567791415, + 28.297305958205953 + ], + [ + -4.2144718567791415, + 28.297305958205953 + ] + ], + "pressures": [ + 0.0380859375, + 0.087890625, + 0.306640625, + 0.404296875, + 0.5087890625, + 0.6201171875, + 0.828125, + 0.8701171875, + 0.8935546875, + 0.9169921875, + 0.9345703125, + 0.931640625, + 0.830078125, + 0.55078125, + 0.20703125, + 0.1669921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.2144718567791415, + 28.297305958205953 + ] + }, + { + "id": "RDWiqNf_E1Bfz8KXyc7fP", + "type": "freedraw", + "x": 198.04555148260152, + "y": 218.42793228983305, + "width": 18.363166768004874, + "height": 16.85799225742332, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1317503629, + "version": 156, + "versionNonce": 526945187, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.3010307089040225, + 0 + ], + [ + -0.6020823838694014, + 0.9031130927734523 + ], + [ + -0.6020823838694014, + 2.107256894450927 + ], + [ + -0.6020823838694014, + 3.6124314050324244 + ], + [ + -0.3010307089040225, + 4.214513788901854 + ], + [ + 0.30103070890407935, + 5.11760591561395 + ], + [ + 1.2041438016775032, + 5.719688299483352 + ], + [ + 3.0103490211630515, + 6.321749717291425 + ], + [ + 4.515523531744577, + 6.321749717291425 + ], + [ + 6.321728751230069, + 6.321749717291425 + ], + [ + 8.428985645680996, + 5.719688299483352 + ], + [ + 12.041417050713449, + 3.010349021163023 + ], + [ + 14.449683688007042, + 0.3010307089040225 + ], + [ + 16.255909873553946, + -1.8061842534241919 + ], + [ + 17.159002000266014, + -3.6124314050324244 + ], + [ + 17.761084384135472, + -5.11760591561395 + ], + [ + 17.761084384135472, + -7.224841844003521 + ], + [ + 17.761084384135472, + -8.730016354585018 + ], + [ + 17.761084384135472, + -9.934160156262493 + ], + [ + 17.761084384135472, + -10.235190865166516 + ], + [ + 17.761084384135472, + -10.536242540131894 + ], + [ + 17.460032709170036, + -10.536242540131894 + ], + [ + 17.460032709170036, + -10.235190865166516 + ], + [ + 17.460032709170036, + -10.235190865166516 + ] + ], + "pressures": [ + 0.0390625, + 0.0859375, + 0.21484375, + 0.26953125, + 0.337890625, + 0.384765625, + 0.4482421875, + 0.4990234375, + 0.5966796875, + 0.748046875, + 0.853515625, + 0.9345703125, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 0.931640625, + 0.8515625, + 0.7890625, + 0.73046875, + 0.197265625, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 17.460032709170036, + -10.235190865166516 + ] + }, + { + "id": "HzPpZ5mueLraOolsJh3eR", + "type": "freedraw", + "x": 214.90352277396352, + "y": 206.38651523911963, + "width": 18.36314580194346, + "height": 13.546591561294917, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 156257645, + "version": 148, + "versionNonce": 1374794765, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.3010307089040225, + 0.6020823838694298 + ], + [ + -0.602061417808045, + 1.8062261855469046 + ], + [ + -0.9031130927734239, + 3.6124314050324244 + ], + [ + -1.8062052194855482, + 6.92381113509947 + ], + [ + -2.709318312258972, + 8.730037320646375 + ], + [ + -4.214492822840498, + 10.235232797289228 + ], + [ + -6.6227804261954475, + 12.04141705071342 + ], + [ + -8.127954936776973, + 12.944530143486872 + ], + [ + -9.934160156262465, + 13.245581818452251 + ], + [ + -11.43933466684399, + 13.546591561294917 + ], + [ + -13.245539886329539, + 13.546591561294917 + ], + [ + -14.750714396911064, + 13.245581818452251 + ], + [ + -16.85797129136199, + 12.944530143486872 + ], + [ + -17.76106341807406, + 12.944530143486872 + ], + [ + -18.36314580194346, + 12.944530143486872 + ], + [ + -18.36314580194346, + 12.944530143486872 + ] + ], + "pressures": [ + 0.068359375, + 0.2939453125, + 0.318359375, + 0.40625, + 0.626953125, + 0.7265625, + 0.8173828125, + 0.8681640625, + 0.8955078125, + 0.90625, + 0.90625, + 0.90234375, + 0.884765625, + 0.796875, + 0.74609375, + 0.6552734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -18.36314580194346, + 12.944530143486872 + ] + }, + { + "id": "mHhiBBnvgmnhi5Z7jLdL3", + "type": "freedraw", + "x": 200.15280837705245, + "y": 220.836219893188, + "width": 13.546591561294917, + "height": 17.159022966327342, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1692383949, + "version": 210, + "versionNonce": 1178410819, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.9031130927734239, + 2.7093183122590005 + ], + [ + -0.3010516749653789, + 3.9134621139364754 + ], + [ + 1.2041228356161469, + 4.816575206709928 + ], + [ + 3.0103490211630515, + 5.418636624517973 + ], + [ + 4.2144718567791415, + 5.418636624517973 + ], + [ + 5.418615658456645, + 5.418636624517973 + ], + [ + 6.321728751230069, + 5.418636624517973 + ], + [ + 7.224841844003549, + 4.816575206709928 + ], + [ + 9.33207777239312, + 2.7093183122590005 + ], + [ + 10.837252282974589, + 0.6020614178080734 + ], + [ + 11.74036537574807, + -0.6020823838694014 + ], + [ + 12.041396084652092, + -1.5051745105814973 + ], + [ + 12.342426793556115, + -2.7092973461976158 + ], + [ + 12.342426793556115, + -3.913462113936447 + ], + [ + 12.643478468521494, + -5.117605915613922 + ], + [ + 12.643478468521494, + -6.020719008387374 + ], + [ + 12.643478468521494, + -6.321749717291397 + ], + [ + 12.041396084652092, + -5.418636624517973 + ], + [ + 10.837252282974589, + -3.913462113936447 + ], + [ + 7.525872552907572, + 0 + ], + [ + 5.117584949552622, + 3.010349021163023 + ], + [ + 3.0103490211630515, + 5.117584949552594 + ], + [ + 1.5051745105815257, + 6.020698042326046 + ], + [ + 1.2041228356161469, + 6.321749717291425 + ], + [ + 1.2041228356161469, + 5.719667333421995 + ], + [ + 1.8062052194855482, + 3.6124104389710965 + ], + [ + 3.0103490211630515, + 0.9030921267120959 + ], + [ + 3.913441147875119, + -1.2041228356161184 + ], + [ + 4.8165542406486, + -2.4082876033549496 + ], + [ + 5.117584949552622, + -2.4082876033549496 + ], + [ + 4.8165542406486, + -1.2041228356161184 + ], + [ + 3.913441147875119, + 0.9030921267120959 + ], + [ + 2.1072359283895707, + 4.214492822840498 + ], + [ + 1.5051745105815257, + 4.816575206709928 + ], + [ + 1.5051745105815257, + 5.117584949552594 + ], + [ + 1.2041228356161469, + 5.117584949552594 + ], + [ + 1.2041228356161469, + 3.311400696128402 + ], + [ + 1.5051745105815257, + 0.9030921267120959 + ], + [ + 2.40826663729365, + -1.5051745105814973 + ], + [ + 3.0103490211630515, + -3.010349021163023 + ], + [ + 3.311379730067074, + -3.010349021163023 + ], + [ + 3.311379730067074, + 0 + ], + [ + 3.0103490211630515, + 2.4082666372936217 + ], + [ + 2.7092973461976726, + 3.9134621139364754 + ], + [ + 2.40826663729365, + 4.816575206709928 + ], + [ + 2.40826663729365, + 6.020698042326046 + ], + [ + 3.0103490211630515, + 6.321749717291425 + ], + [ + 3.311379730067074, + 6.321749717291425 + ], + [ + 3.6124104389710965, + 6.321749717291425 + ], + [ + 3.913441147875119, + 6.321749717291425 + ], + [ + 4.8165542406486, + 6.321749717291425 + ], + [ + 5.418615658456645, + 5.719667333421995 + ], + [ + 6.020698042326046, + 4.816575206709928 + ], + [ + 7.224841844003549, + 3.311400696128402 + ], + [ + 8.730016354585018, + 0.9030921267120959 + ], + [ + 9.633108481297143, + 0 + ], + [ + 9.934160156262521, + -0.6020823838694014 + ], + [ + 10.235190865166544, + -0.9031130927734523 + ], + [ + 9.934160156262521, + -0.3010307089040225 + ], + [ + 8.127933970715617, + 2.4082666372936217 + ], + [ + 5.117584949552622, + 6.020698042326046 + ], + [ + 1.8062052194855482, + 10.235190865166544 + ], + [ + 1.2041228356161469, + 10.837273249035945 + ], + [ + 0.9030921267121244, + 10.837273249035945 + ], + [ + 2.1072359283895707, + 9.03104706348904 + ], + [ + 5.719667333422024, + 3.6124104389710965 + ], + [ + 8.42896467961964, + -0.6020823838694014 + ], + [ + 10.235190865166544, + -3.010349021163023 + ], + [ + 10.837252282974589, + -3.6124314050324244 + ], + [ + 10.837252282974589, + -3.311400696128402 + ], + [ + 10.536221574070566, + -3.010349021163023 + ], + [ + 9.934160156262521, + -2.107256894450927 + ], + [ + 9.633108481297143, + -1.5051745105814973 + ], + [ + 9.33207777239312, + -1.2041228356161184 + ], + [ + 9.33207777239312, + -0.9031130927734523 + ], + [ + 9.633108481297143, + 0 + ], + [ + 9.633108481297143, + 0.3010516749653789 + ], + [ + 9.633108481297143, + 0.3010516749653789 + ] + ], + "pressures": [ + 0.0263671875, + 0.3134765625, + 0.4052734375, + 0.4736328125, + 0.55859375, + 0.6787109375, + 0.75, + 0.78515625, + 0.8203125, + 0.8955078125, + 0.9794921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7763671875, + 0.4052734375, + 0.1630859375, + 0.1162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 9.633108481297143, + 0.3010516749653789 + ] + }, + { + "id": "xuQ5SqRF9dbG_hBaPKCd1", + "type": "freedraw", + "x": 214.30146135615547, + "y": 208.79480284247458, + "width": 3.0103490211629946, + "height": 5.719667333422024, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 260762061, + "version": 146, + "versionNonce": 521775725, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + 0 + ], + [ + 0.602061417808045, + 0 + ], + [ + 1.20412283561609, + 0 + ], + [ + 1.8062052194855482, + 0.6020614178080734 + ], + [ + 2.4082666372935932, + 1.5051745105815257 + ], + [ + 2.709318312258972, + 2.4082876033549496 + ], + [ + 2.709318312258972, + 3.311400696128402 + ], + [ + 3.0103490211629946, + 4.214492822840498 + ], + [ + 3.0103490211629946, + 4.51552353174452 + ], + [ + 3.0103490211629946, + 4.816575206709928 + ], + [ + 2.709318312258972, + 5.418636624517973 + ], + [ + 2.709318312258972, + 5.719667333422024 + ], + [ + 2.4082666372935932, + 5.418636624517973 + ], + [ + 2.4082666372935932, + 5.418636624517973 + ] + ], + "pressures": [ + 0.087890625, + 0.27734375, + 0.3720703125, + 0.6025390625, + 0.796875, + 0.908203125, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1748046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.4082666372935932, + 5.418636624517973 + ] + }, + { + "id": "czHH8BIuacBd_f9iRxSc7", + "type": "freedraw", + "x": 214.90352277396352, + "y": 206.98859762298906, + "width": 3.9134621139364754, + "height": 8.127954936776945, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1725598925, + "version": 145, + "versionNonce": 947797731, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + 0.6020823838694014 + ], + [ + 0.9031130927734807, + 0.9030921267120959 + ], + [ + 1.2041438016775032, + 1.2041438016774748 + ], + [ + 1.8062052194855482, + 2.107256894450927 + ], + [ + 2.709318312258972, + 4.214492822840469 + ], + [ + 3.311379730067074, + 5.719667333421995 + ], + [ + 3.612431405032453, + 6.92381113509947 + ], + [ + 3.9134621139364754, + 7.2248418440034925 + ], + [ + 3.9134621139364754, + 7.525872552907543 + ], + [ + 3.9134621139364754, + 7.826903261811566 + ], + [ + 3.612431405032453, + 7.826903261811566 + ], + [ + 3.311379730067074, + 8.127954936776945 + ], + [ + 3.311379730067074, + 8.127954936776945 + ] + ], + "pressures": [ + 0.009765625, + 0.50390625, + 0.6806640625, + 0.7705078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.66796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.311379730067074, + 8.127954936776945 + ] + }, + { + "id": "cq83d5Fv-mYEGdAiFs14R", + "type": "freedraw", + "x": 222.128364617967, + "y": 215.116552559766, + "width": 12.643478468521494, + "height": 16.85799225742332, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2028234051, + "version": 145, + "versionNonce": 1582936877, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010516749653789 + ], + [ + 0.3010516749654357, + -0.3010516749653789 + ], + [ + 1.8062261855469046, + 0.6020614178080734 + ], + [ + 3.9134621139364754, + 2.1072359283895707 + ], + [ + 7.224862810064906, + 5.719667333421995 + ], + [ + 9.031068029550397, + 8.730016354585018 + ], + [ + 10.536242540131923, + 11.740365375748041 + ], + [ + 11.740386341809426, + 14.148652979102991 + ], + [ + 12.342447759617471, + 15.95485819858854 + ], + [ + 12.643478468521494, + 16.55694058245794 + ], + [ + 12.342447759617471, + 16.55694058245794 + ], + [ + 12.041417050713449, + 16.55694058245794 + ], + [ + 11.740386341809426, + 16.55694058245794 + ], + [ + 11.439355632905404, + 16.55694058245794 + ], + [ + 11.439355632905404, + 16.55694058245794 + ] + ], + "pressures": [ + 0.0966796875, + 0.5693359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8701171875, + 0.197265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.439355632905404, + 16.55694058245794 + ] + }, + { + "id": "0OiQAkf5R2lOg6aDxET8O", + "type": "freedraw", + "x": 218.8169848879, + "y": 212.10620353860298, + "width": 14.148652979102962, + "height": 17.76106341807406, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 381994861, + "version": 143, + "versionNonce": 330310179, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.9031130927734239, + 1.2041228356161184 + ], + [ + 2.709318312258972, + 3.3113797300670456 + ], + [ + 5.117605915613922, + 5.117584949552594 + ], + [ + 7.2248418440034925, + 7.5258935189689 + ], + [ + 9.33209873845442, + 10.235190865166544 + ], + [ + 11.138303957939968, + 12.643478468521494 + ], + [ + 13.245539886329539, + 15.653827489684517 + ], + [ + 13.84762227019894, + 16.85797129136199 + ], + [ + 14.148652979102962, + 17.159002000266014 + ], + [ + 14.148652979102962, + 17.76106341807406 + ], + [ + 13.84762227019894, + 17.76106341807406 + ], + [ + 13.546591561294917, + 17.76106341807406 + ], + [ + 13.546591561294917, + 17.76106341807406 + ] + ], + "pressures": [ + 0.0498046875, + 0.419921875, + 0.78515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.802734375, + 0.216796875, + 0.0205078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 13.546591561294917, + 17.76106341807406 + ] + }, + { + "id": "H1s7ACPaDApgQjl6UZa_t", + "type": "freedraw", + "x": 147.47163760851564, + "y": 168.4560798335552, + "width": 41.8438975195009, + "height": 23.48075171755744, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1298363565, + "version": 157, + "versionNonce": 534000813, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.6020823838694298, + -1.2041438016774748 + ], + [ + -0.3010516749653789, + -1.8062157025162264 + ], + [ + 0.6020614178080734, + -2.7093183122590005 + ], + [ + 2.1072359283895707, + -3.6124314050324244 + ], + [ + 6.020719008387374, + -6.020708525356724 + ], + [ + 10.83725228297456, + -8.127954936776973 + ], + [ + 16.857950325300607, + -10.235201348197222 + ], + [ + 22.577638624783987, + -11.74037585877872 + ], + [ + 26.792131447624485, + -12.643488951552172 + ], + [ + 30.404541886595524, + -13.245550369360217 + ], + [ + 31.006624270464982, + -13.546591561294946 + ], + [ + 31.307654979369005, + -13.546591561294946 + ], + [ + 30.705572595499603, + -12.342447759617443 + ], + [ + 28.598357633171332, + -9.63312944735847 + ], + [ + 26.190049063755026, + -6.6227804261954475 + ], + [ + 24.082834101426812, + -3.6124314050324244 + ], + [ + 22.577638624783987, + -0.6020823838694298 + ], + [ + 21.975556240914585, + 3.0103490211629946 + ], + [ + 21.975556240914585, + 5.117605915613922 + ], + [ + 22.87866933368801, + 6.92381113509947 + ], + [ + 24.98590526207758, + 8.127954936776945 + ], + [ + 28.598357633171332, + 9.33209873845442 + ], + [ + 31.307654979369005, + 9.934160156262493 + ], + [ + 33.715942582723955, + 9.934160156262493 + ], + [ + 35.823178511113525, + 9.934160156262493 + ], + [ + 37.93043540556445, + 9.33209873845442 + ], + [ + 40.338702042858046, + 8.730016354585018 + ], + [ + 40.94078442672745, + 8.730016354585018 + ], + [ + 41.24181513563147, + 8.730016354585018 + ], + [ + 41.24181513563147, + 8.127954936776945 + ], + [ + 40.94078442672745, + 6.321728751230069 + ], + [ + 40.63977468388478, + 5.719667333421995 + ], + [ + 40.63977468388478, + 5.719667333421995 + ] + ], + "pressures": [ + 0.056640625, + 0.5283203125, + 0.802734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.927734375, + 0.2685546875, + 0.123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 40.63977468388478, + 5.719667333421995 + ] + }, + { + "id": "mTJ9LSQ966rPDPPGJep7z", + "type": "freedraw", + "x": 170.9523683600117, + "y": 176.58403477033215, + "width": 11.439355632905347, + "height": 14.148652979102991, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 124896835, + "version": 142, + "versionNonce": 507017379, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.6021033499307578, + 0.3010307089040225 + ], + [ + 1.5051745105815257, + 3.010349021163023 + ], + [ + 1.8062261855469046, + 5.418636624517973 + ], + [ + 1.8062261855469046, + 8.127954936776945 + ], + [ + 1.5051745105815257, + 10.235190865166516 + ], + [ + 0.6021033499307578, + 11.439355632905347 + ], + [ + -0.9030921267120675, + 12.944530143486872 + ], + [ + -2.1072359283895707, + 13.546591561294917 + ], + [ + -3.6124104389710396, + 14.148652979102991 + ], + [ + -6.321728751230069, + 14.148652979102991 + ], + [ + -7.8269032618115375, + 13.847622270198968 + ], + [ + -8.730016354585018, + 13.546591561294917 + ], + [ + -9.332077772393063, + 13.245539886329539 + ], + [ + -9.633129447358442, + 13.245539886329539 + ], + [ + -9.633129447358442, + 12.944530143486872 + ], + [ + -9.03104706348904, + 12.944530143486872 + ], + [ + -8.730016354585018, + 12.944530143486872 + ], + [ + -8.730016354585018, + 12.944530143486872 + ] + ], + "pressures": [ + 0.078125, + 0.5947265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.822265625, + 0.115234375, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -8.730016354585018, + 12.944530143486872 + ] + }, + { + "id": "iJD6aU-ka2lGXb5RI0Qrx", + "type": "freedraw", + "x": 170.9523683600117, + "y": 162.43537130819848, + "width": 4.51552353174452, + "height": 18.96522818581289, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1785827651, + "version": 142, + "versionNonce": 19311981, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.6020719008387232 + ], + [ + -0.3010307089040225, + -0.6020719008387232 + ], + [ + -0.9030921267120675, + 0.3010307089040509 + ], + [ + -2.4082666372935932, + 2.107246411420249 + ], + [ + -3.0103490211629946, + 3.3113902130977237 + ], + [ + -3.6124104389710396, + 4.51552353174452 + ], + [ + -4.214492822840498, + 5.4186261414872945 + ], + [ + -4.51552353174452, + 6.321739234260747 + ], + [ + -4.51552353174452, + 7.826913744842244 + ], + [ + -4.214492822840498, + 9.33208825542377 + ], + [ + -3.6124104389710396, + 11.138314440970646 + ], + [ + -3.311379730067017, + 12.041406567682742 + ], + [ + -3.0103490211629946, + 12.643488951552172 + ], + [ + -2.4082666372935932, + 13.546581078264268 + ], + [ + -2.1072359283895707, + 14.750724879941743 + ], + [ + -1.505174510581469, + 16.556930099427262 + ], + [ + -0.9030921267120675, + 18.062125576070144 + ], + [ + -0.9030921267120675, + 18.363156284974167 + ], + [ + -0.602061417808045, + 18.363156284974167 + ], + [ + -0.602061417808045, + 18.363156284974167 + ] + ], + "pressures": [ + 0.013671875, + 0.2041015625, + 0.6337890625, + 0.712890625, + 0.736328125, + 0.751953125, + 0.787109375, + 0.8134765625, + 0.83203125, + 0.849609375, + 0.8388671875, + 0.82421875, + 0.8115234375, + 0.798828125, + 0.75390625, + 0.7109375, + 0.5439453125, + 0.2958984375, + 0.2265625, + 0.1240234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.602061417808045, + 18.363156284974167 + ] + }, + { + "id": "Pfkpv4XYQ4AbRnb9aGdM-", + "type": "freedraw", + "x": 252.54261578879635, + "y": 211.9559523476138, + "width": 24.697265625, + "height": 17.527077414772748, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "Vls9z_ByvkuUCaOENbirj" + ], + "strokeSharpness": "round", + "seed": 596564845, + "version": 693, + "versionNonce": 200731619, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + 1.5933504971590082 + ], + [ + -6.373457475142118, + 3.1867564808237603 + ], + [ + -7.96686345880687, + 3.1867564808237603 + ], + [ + -8.763538707386374, + 3.1867564808237603 + ], + [ + -8.763538707386374, + 2.390081232244256 + ], + [ + -7.96686345880687, + -2.39008123224437 + ], + [ + -6.373457475142118, + -7.170188210227366 + ], + [ + -6.373457475142118, + -11.153619939630744 + ], + [ + -5.5767822265625, + -13.54364568536937 + ], + [ + -7.170188210227252, + -13.54364568536937 + ], + [ + -8.763538707386374, + -13.54364568536937 + ], + [ + -13.54364568536937, + -11.153619939630744 + ], + [ + -17.52713290127849, + -9.560213955965992 + ], + [ + -19.917158647017118, + -7.170188210227366 + ], + [ + -22.307239879261374, + -3.9834317294034918 + ], + [ + -24.697265625, + 0.7966752485795041 + ], + [ + -24.697265625, + 3.1867564808237603 + ], + [ + -24.697265625, + 3.983431729403378 + ], + [ + -22.307239879261374, + 3.983431729403378 + ], + [ + -19.1204833984375, + 3.1867564808237603 + ], + [ + -15.933726917613626, + 1.5933504971590082 + ], + [ + -12.746970436789752, + 0 + ], + [ + -9.560213955965992, + -1.593350497159122 + ], + [ + -7.96686345880687, + -1.593350497159122 + ], + [ + -7.170188210227252, + -1.593350497159122 + ], + [ + -6.373457475142118, + -0.7966752485796178 + ], + [ + -6.373457475142118, + 0 + ], + [ + -6.373457475142118, + 0.7966752485795041 + ], + [ + -7.170188210227252, + 0.7966752485795041 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.00390625, + 0.3251953125, + 0.3984375, + 0.4287109375, + 0.466796875, + 0.4775390625, + 0.48828125, + 0.5048828125, + 0.576171875, + 0.6376953125, + 0.8701171875, + 0.9560546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7705078125, + 0.3798828125, + 0.1953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.170188210227252, + 0.7966752485795041 + ] + }, + { + "id": "AgIl173CcXqcKgNOmIPTA", + "type": "freedraw", + "x": 234.51983834784238, + "y": 208.76919586678991, + "width": 12.746970436789752, + "height": 6.373457475142004, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "Vls9z_ByvkuUCaOENbirj" + ], + "strokeSharpness": "round", + "seed": 931592163, + "version": 674, + "versionNonce": 69760973, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + -1.593350497159122 + ], + [ + -0.7966752485795041, + -2.390025745738626 + ], + [ + 1.593405983664752, + -2.390025745738626 + ], + [ + 3.983431729403378, + -2.390025745738626 + ], + [ + 7.170188210227252, + -2.390025745738626 + ], + [ + 8.763594193892004, + -1.593350497159122 + ], + [ + 8.763594193892004, + -0.7966752485796178 + ], + [ + 9.560269442471622, + 0.7966752485795041 + ], + [ + 9.560269442471622, + 2.390081232244256 + ], + [ + 10.356944691051126, + 3.186756480823874 + ], + [ + 10.356944691051126, + 3.983431729403378 + ], + [ + 10.356944691051126, + 3.983431729403378 + ] + ], + "pressures": [ + 0.05859375, + 0.3544921875, + 0.5498046875, + 0.69921875, + 0.7587890625, + 0.859375, + 0.90234375, + 0.90234375, + 0.90234375, + 0.859375, + 0.53515625, + 0.16015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356944691051126, + 3.983431729403378 + ] + }, + { + "id": "xDpY2yBS-CTdcE9yomSBH", + "type": "freedraw", + "x": 220.92422081628956, + "y": 188.9264825299496, + "width": 13.546591561294917, + "height": 13.84762227019894, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2124978051, + "version": 114, + "versionNonce": 1367672387, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010516749653789, + -0.6020823838694014 + ], + [ + 0.3010516749653789, + -2.107256894450927 + ], + [ + 0.3010516749653789, + -3.6124314050324244 + ], + [ + 0.3010516749653789, + -5.117605915613922 + ], + [ + 0, + -6.92381113509947 + ], + [ + -0.9030921267121244, + -8.730037320646375 + ], + [ + -1.8062052194855482, + -9.93418112232385 + ], + [ + -2.709318312258972, + -11.138303957939968 + ], + [ + -3.913441147875119, + -12.04141705071342 + ], + [ + -5.719667333422024, + -12.643499434582822 + ], + [ + -7.826903261811594, + -13.245560852390895 + ], + [ + -9.03104706348904, + -13.546591561294917 + ], + [ + -10.235190865166544, + -13.84762227019894 + ], + [ + -11.138303957939968, + -13.84762227019894 + ], + [ + -12.041396084652092, + -13.84762227019894 + ], + [ + -12.342447759617471, + -13.84762227019894 + ], + [ + -12.643478468521494, + -13.546591561294917 + ], + [ + -12.944509177425516, + -13.245560852390895 + ], + [ + -13.245539886329539, + -12.643499434582822 + ], + [ + -13.245539886329539, + -12.342447759617443 + ], + [ + -12.342447759617471, + -11.74038634180937 + ], + [ + -11.740365375748013, + -11.74038634180937 + ], + [ + -11.740365375748013, + -11.74038634180937 + ] + ], + "pressures": [ + 0.083984375, + 0.5439453125, + 0.9345703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.484375, + 0.2451171875, + 0.0712890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -11.740365375748013, + -11.74038634180937 + ] + }, + { + "id": "V7a1SGcHLPhbWJ3buhp81", + "type": "freedraw", + "x": 208.88282473163747, + "y": 175.98195238646275, + "width": 9.33209873845442, + "height": 15.653848455745845, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2105180707, + "version": 114, + "versionNonce": 3229155, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010307089040509 + ], + [ + 0, + -0.6020614178080734 + ], + [ + -0.3010516749653789, + -0.6020614178080734 + ], + [ + -1.2041438016774464, + -0.6020614178080734 + ], + [ + -1.8062261855468478, + -0.3010307089040509 + ], + [ + -2.4082876033549496, + 0 + ], + [ + -2.709318312258972, + 0.3010307089040225 + ], + [ + -3.3114006961283735, + 1.2041438016774748 + ], + [ + -3.9134621139364185, + 3.0103490211629946 + ], + [ + -3.9134621139364185, + 4.515544497805877 + ], + [ + -3.9134621139364185, + 6.020719008387374 + ], + [ + -3.9134621139364185, + 7.224862810064849 + ], + [ + -2.709318312258972, + 9.633129447358442 + ], + [ + -1.8062261855468478, + 11.138303957939968 + ], + [ + -0.9031130927734239, + 12.342447759617443 + ], + [ + 0, + 13.245560852390895 + ], + [ + 0.9030921267121244, + 13.84762227019894 + ], + [ + 2.40826663729365, + 14.44970465406837 + ], + [ + 3.311379730067074, + 14.44970465406837 + ], + [ + 4.51552353174452, + 14.750735362972392 + ], + [ + 5.117584949552622, + 14.750735362972392 + ], + [ + 5.418636624518001, + 14.750735362972392 + ], + [ + 5.418636624518001, + 15.051787037937771 + ], + [ + 5.418636624518001, + 15.051787037937771 + ] + ], + "pressures": [ + 0.01171875, + 0.037109375, + 0.169921875, + 0.2431640625, + 0.314453125, + 0.3720703125, + 0.4150390625, + 0.4365234375, + 0.4443359375, + 0.4736328125, + 0.5283203125, + 0.57421875, + 0.6064453125, + 0.6357421875, + 0.64453125, + 0.64453125, + 0.638671875, + 0.62890625, + 0.5712890625, + 0.4931640625, + 0.37109375, + 0.2666015625, + 0.2001953125, + 0.142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.418636624518001, + 15.051787037937771 + ] + }, + { + "id": "lwwFF0mWrDaIdp6YPZbjc", + "type": "freedraw", + "x": 208.88282473163747, + "y": 189.52856491381903, + "width": 10.235190865166487, + "height": 24.684895519234885, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1385269805, + "version": 119, + "versionNonce": 1793739971, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010516749653789 + ], + [ + 0, + 0 + ], + [ + 0, + 0.9030921267120959 + ], + [ + 0, + 1.2041228356161184 + ], + [ + -0.3010516749653789, + 1.8061842534241919 + ], + [ + -0.9031130927734239, + 2.1072359283895707 + ], + [ + -2.107256894450927, + 2.4082666372935932 + ], + [ + -3.3114006961283735, + 2.7092973461976158 + ], + [ + -4.515544497805877, + 2.7092973461976158 + ], + [ + -6.020719008387346, + 2.7092973461976158 + ], + [ + -7.2248418440034925, + 3.010349021163023 + ], + [ + -8.428985645680939, + 3.311358764005689 + ], + [ + -9.031068029550397, + 3.9134411478750906 + ], + [ + -9.633129447358442, + 5.418615658456616 + ], + [ + -9.934160156262465, + 7.224820877942136 + ], + [ + -10.235190865166487, + 10.23516989910516 + ], + [ + -10.235190865166487, + 11.138282991878611 + ], + [ + -10.235190865166487, + 13.546591561294917 + ], + [ + -9.633129447358442, + 14.750714396911036 + ], + [ + -9.031068029550397, + 15.653806523623132 + ], + [ + -8.428985645680939, + 17.460032709170036 + ], + [ + -7.525893518968871, + 18.965207219751534 + ], + [ + -6.92381113509947, + 20.16935102142901 + ], + [ + -6.020719008387346, + 21.373494823106483 + ], + [ + -5.418636624517944, + 22.27658694981858 + ], + [ + -5.117605915613922, + 22.577638624783958 + ], + [ + -4.816575206709899, + 22.577638624783958 + ], + [ + -4.214492822840498, + 23.17970004259203 + ], + [ + -3.3114006961283735, + 23.781761460400077 + ], + [ + -2.4082876033549496, + 24.383843844269506 + ], + [ + -1.8062261855468478, + 24.383843844269506 + ], + [ + -1.8062261855468478, + 24.082813135365484 + ], + [ + -1.8062261855468478, + 24.082813135365484 + ] + ], + "pressures": [ + 0.0205078125, + 0.1494140625, + 0.294921875, + 0.3330078125, + 0.3564453125, + 0.5, + 0.62890625, + 0.783203125, + 0.8349609375, + 0.8701171875, + 0.9189453125, + 0.96484375, + 0.986328125, + 0.990234375, + 0.986328125, + 0.9833984375, + 0.986328125, + 0.9833984375, + 0.96484375, + 0.951171875, + 0.9580078125, + 0.9599609375, + 0.9599609375, + 0.9345703125, + 0.8955078125, + 0.8466796875, + 0.8408203125, + 0.83203125, + 0.8115234375, + 0.705078125, + 0.3017578125, + 0.208984375, + 0.091796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.8062261855468478, + 24.082813135365484 + ] + }, + { + "id": "QaCaWmDkTzSafKqT5AN6L", + "type": "freedraw", + "x": 210.68902995112302, + "y": 200.06480745395092, + "width": 10.2352118312279, + "height": 14.750693430849708, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 317589293, + "version": 112, + "versionNonce": 2049555555, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.6020614178081019, + 0.30100974284269455 + ], + [ + 1.5051745105815257, + 1.5051745105815257 + ], + [ + 2.107256894450927, + 3.010349021163023 + ], + [ + 2.709318312258972, + 4.816533274587215 + ], + [ + 3.311379730067074, + 6.923790169038142 + ], + [ + 3.612431405032453, + 8.729995388523662 + ], + [ + 3.9134621139364754, + 10.536221574070566 + ], + [ + 3.9134621139364754, + 11.439313700782662 + ], + [ + 3.612431405032453, + 12.643457502460137 + ], + [ + 3.0103490211630515, + 13.54657059523359 + ], + [ + 1.5051745105815257, + 14.449662721945685 + ], + [ + 0.6020614178081019, + 14.750693430849708 + ], + [ + -0.3010307089040225, + 14.750693430849708 + ], + [ + -1.2041438016774464, + 14.750693430849708 + ], + [ + -2.107256894450927, + 14.750693430849708 + ], + [ + -3.311379730067017, + 14.750693430849708 + ], + [ + -3.9134621139364754, + 14.750693430849708 + ], + [ + -4.51552353174452, + 14.449662721945685 + ], + [ + -5.117605915613922, + 14.148632013041635 + ], + [ + -5.719667333421967, + 13.54657059523359 + ], + [ + -6.020698042326046, + 13.245518920268182 + ], + [ + -6.321749717291425, + 13.245518920268182 + ], + [ + -6.321749717291425, + 12.342426793556115 + ], + [ + -6.321749717291425, + 12.041396084652064 + ], + [ + -6.321749717291425, + 11.740344409686685 + ], + [ + -6.020698042326046, + 11.740344409686685 + ], + [ + -6.020698042326046, + 11.740344409686685 + ] + ], + "pressures": [ + 0.0751953125, + 0.599609375, + 0.822265625, + 0.927734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.96875, + 0.47265625, + 0.322265625, + 0.2099609375, + 0.1630859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.020698042326046, + 11.740344409686685 + ] + }, + { + "id": "wB5MYL5fHA_lZRoOYsQfi", + "type": "freedraw", + "x": 219.41904630570804, + "y": 186.21716421769062, + "width": 10.536242540131866, + "height": 18.062115093039438, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 204479075, + "version": 104, + "versionNonce": 1153924525, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.3010516749653789 + ], + [ + 0, + 1.2041438016774748 + ], + [ + 0.3010516749653789, + 2.4082666372935932 + ], + [ + 0.6020823838694014, + 4.214492822840498 + ], + [ + 0.6020823838694014, + 5.719667333421995 + ], + [ + 0.6020823838694014, + 7.525872552907543 + ], + [ + 0, + 9.33209873845442 + ], + [ + -1.2041438016774464, + 11.43933466684399 + ], + [ + -2.1072359283895707, + 12.342447759617443 + ], + [ + -3.0103490211629946, + 12.643478468521465 + ], + [ + -3.9134621139364754, + 13.245539886329539 + ], + [ + -5.117584949552565, + 13.847643236260296 + ], + [ + -7.2248418440034925, + 14.750714396911036 + ], + [ + -8.127954936776916, + 15.352817746841822 + ], + [ + -8.730016354585018, + 15.653827489684488 + ], + [ + -9.03104706348904, + 15.95485819858851 + ], + [ + -9.633129447358442, + 16.85799225742332 + ], + [ + -9.934160156262465, + 17.460032709170036 + ], + [ + -9.934160156262465, + 18.062115093039438 + ], + [ + -9.633129447358442, + 18.062115093039438 + ], + [ + -9.633129447358442, + 18.062115093039438 + ] + ], + "pressures": [ + 0.0107421875, + 0.1943359375, + 0.2314453125, + 0.25390625, + 0.2958984375, + 0.3359375, + 0.3837890625, + 0.4111328125, + 0.44921875, + 0.4794921875, + 0.5, + 0.5107421875, + 0.5146484375, + 0.5146484375, + 0.5146484375, + 0.5146484375, + 0.5087890625, + 0.443359375, + 0.3798828125, + 0.3232421875, + 0.13671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -9.633129447358442, + 18.062115093039438 + ] + }, + { + "id": "AjuBD7nixWCDbRTjO1fJZ", + "type": "freedraw", + "x": 213.69937897228607, + "y": 184.1099073232397, + "width": 2.107256894450927, + "height": 2.709318312258972, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 436576013, + "version": 104, + "versionNonce": 1942306829, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.6020823838694014, + -1.2041438016774748 + ], + [ + 0.9031130927734239, + -1.2041438016774748 + ], + [ + 1.505174510581469, + -0.9030921267120959 + ], + [ + 2.107256894450927, + 0 + ], + [ + 2.107256894450927, + 0.6020823838694014 + ], + [ + 2.107256894450927, + 0.9031340588348087 + ], + [ + 2.107256894450927, + 1.2041438016774748 + ], + [ + 1.505174510581469, + 1.5051745105814973 + ], + [ + 1.2041438016774464, + 1.5051745105814973 + ], + [ + 0.9031130927734239, + 1.5051745105814973 + ], + [ + 0.6020823838694014, + 1.5051745105814973 + ], + [ + 0.6020823838694014, + 0.9031340588348087 + ], + [ + 0.6020823838694014, + 0.6020823838694014 + ], + [ + 0.6020823838694014, + 0.3010307089040225 + ], + [ + 0.6020823838694014, + 0 + ], + [ + 0.6020823838694014, + -0.3010307089040225 + ], + [ + 0.9031130927734239, + -0.3010307089040225 + ], + [ + 1.2041438016774464, + 0 + ], + [ + 1.505174510581469, + 0.3010307089040225 + ], + [ + 1.505174510581469, + 0.6020823838694014 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0205078125, + 0.1806640625, + 0.1845703125, + 0.189453125, + 0.1962890625, + 0.2041015625, + 0.2158203125, + 0.2216796875, + 0.236328125, + 0.25390625, + 0.2666015625, + 0.2705078125, + 0.2734375, + 0.2734375, + 0.271484375, + 0.271484375, + 0.271484375, + 0.26953125, + 0.2265625, + 0.1259765625, + 0.072265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.505174510581469, + 0.6020823838694014 + ] + }, + { + "id": "cr5cZ-MMsRLl9U2Dd4U-B", + "type": "freedraw", + "x": 257.9515640951419, + "y": 188.0233904032375, + "width": 5.418636624518001, + "height": 8.127933970715617, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2028975597, + "version": 96, + "versionNonce": 1305001773, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.3010307089040225, + 0 + ], + [ + 0.602061417808045, + 0.602040451746717 + ], + [ + 1.8062261855468478, + 1.2041228356161469 + ], + [ + 2.709318312258972, + 2.1072359283895707 + ], + [ + 3.6124104389710396, + 3.010349021163023 + ], + [ + 3.913483079997775, + 3.6124104389710965 + ], + [ + 4.214513788901854, + 4.2144718567791415 + ], + [ + 4.214513788901854, + 4.515523531744549 + ], + [ + 4.214513788901854, + 4.816533274587215 + ], + [ + 3.311379730067017, + 5.418615658456616 + ], + [ + 2.107256894450927, + 6.020698042326046 + ], + [ + 0.3010307089040225, + 6.923790169038142 + ], + [ + -0.6020614178081019, + 7.826903261811594 + ], + [ + -0.9030921267121244, + 8.127933970715617 + ], + [ + -1.2041228356161469, + 8.127933970715617 + ], + [ + -0.6020614178081019, + 8.127933970715617 + ], + [ + -0.3010307089040225, + 8.127933970715617 + ], + [ + 0, + 8.127933970715617 + ], + [ + 0, + 8.127933970715617 + ] + ], + "pressures": [ + 0.09375, + 0.126953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3095703125, + 0.2275390625, + 0.134765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 8.127933970715617 + ] + }, + { + "id": "s4QloLjcSngQhX8W39DYy", + "type": "freedraw", + "x": 203.46418810711953, + "y": 227.15796961047943, + "width": 10.235190865166544, + "height": 18.96522818581289, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1465497379, + "version": 103, + "versionNonce": 643471341, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.3010307089040225, + -0.6020823838694298 + ], + [ + -0.9031130927734239, + -0.6020823838694298 + ], + [ + -1.8062052194855482, + 0 + ], + [ + -2.4082876033549496, + 1.8062052194855482 + ], + [ + -2.709318312258972, + 4.816554240648543 + ], + [ + -2.709318312258972, + 8.42896467961964 + ], + [ + -2.4082876033549496, + 12.643457502460137 + ], + [ + -1.8062052194855482, + 13.245539886329539 + ], + [ + -0.6020823838694014, + 14.750714396911036 + ], + [ + 0.602061417808045, + 14.750714396911036 + ], + [ + 1.8062052194855482, + 14.449683688007013 + ], + [ + 4.214492822840498, + 12.04141705071342 + ], + [ + 5.719667333422024, + 9.332077772393063 + ], + [ + 6.6227804261954475, + 6.622759460134091 + ], + [ + 6.92381113509947, + 4.2144718567791415 + ], + [ + 6.020698042326046, + 1.5051745105814973 + ], + [ + 4.51552353174452, + -0.6020823838694298 + ], + [ + 3.0103490211629946, + -2.4082876033549496 + ], + [ + 1.8062052194855482, + -3.311400696128402 + ], + [ + 0.3010307089040225, + -3.311400696128402 + ], + [ + -1.5051745105815257, + -1.5051745105814973 + ], + [ + -2.4082876033549496, + 0.3010307089040225 + ], + [ + -3.311379730067074, + 3.010349021163023 + ], + [ + -3.311379730067074, + 6.321728751230069 + ], + [ + -3.0103490211629946, + 10.235190865166516 + ], + [ + -1.2041438016775032, + 14.750714396911036 + ], + [ + 0.3010307089040225, + 15.653827489684488 + ], + [ + 0.602061417808045, + 15.653827489684488 + ], + [ + 0.602061417808045, + 15.653827489684488 + ] + ], + "pressures": [ + 0.0810546875, + 0.1298828125, + 0.193359375, + 0.263671875, + 0.3271484375, + 0.408203125, + 0.5048828125, + 0.5888671875, + 0.6015625, + 0.599609375, + 0.5869140625, + 0.5712890625, + 0.5595703125, + 0.5400390625, + 0.5029296875, + 0.46875, + 0.4453125, + 0.439453125, + 0.4248046875, + 0.4287109375, + 0.4453125, + 0.4541015625, + 0.447265625, + 0.439453125, + 0.427734375, + 0.4267578125, + 0.330078125, + 0.216796875, + 0.169921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.602061417808045, + 15.653827489684488 + ] + }, + { + "id": "gJcJiORkuUpeeXL0MLrx8", + "type": "freedraw", + "x": 282.6364596143768, + "y": 176.58403477033215, + "width": 10.837273249035945, + "height": 8.428985645680967, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 4646851, + "version": 103, + "versionNonce": 1618678349, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.6020194856853323, + -1.2041438016774748 + ], + [ + -0.3010307089040225, + -2.107256894450927 + ], + [ + 0, + -3.311400696128402 + ], + [ + 0.9031340588347803, + -4.515544497805877 + ], + [ + 1.5051954766428821, + -5.11760591561395 + ], + [ + 2.107256894450927, + -5.11760591561395 + ], + [ + 3.311379730067074, + -5.418636624517973 + ], + [ + 5.719667333422024, + -6.020719008387374 + ], + [ + 7.224862810064849, + -6.020719008387374 + ], + [ + 8.429027577803708, + -5.418636624517973 + ], + [ + 9.03104706348904, + -4.214492822840498 + ], + [ + 9.332077772393063, + -2.4082876033549496 + ], + [ + 9.332077772393063, + -1.5051745105814973 + ], + [ + 9.03104706348904, + -0.6020823838694014 + ], + [ + 7.525893518968871, + 0.3010307089040225 + ], + [ + 5.117605915613922, + 1.5051745105814973 + ], + [ + 1.8062261855469046, + 2.4082666372935932 + ], + [ + 0.3010307089040225, + 1.8062052194855482 + ], + [ + -0.6020194856853323, + 0.6020614178080734 + ], + [ + -1.5051954766428821, + -0.3010516749653789 + ], + [ + -1.5051954766428821, + -1.5051745105814973 + ], + [ + -1.20412283561609, + -2.4082876033549496 + ], + [ + 0, + -3.913462113936447 + ], + [ + 1.8062261855469046, + -5.11760591561395 + ], + [ + 3.0103490211629946, + -5.719667333421995 + ], + [ + 3.9134830799978317, + -5.719667333421995 + ], + [ + 4.515544497805877, + -4.816575206709899 + ], + [ + 4.816575206709899, + -3.913462113936447 + ], + [ + 4.816575206709899, + -3.311400696128402 + ], + [ + 4.816575206709899, + -3.311400696128402 + ] + ], + "pressures": [ + 0.060546875, + 0.26953125, + 0.3486328125, + 0.44140625, + 0.6044921875, + 0.705078125, + 0.7685546875, + 0.826171875, + 0.9384765625, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.97265625, + 0.953125, + 0.8916015625, + 0.7421875, + 0.5146484375, + 0.287109375, + 0.1845703125, + 0.0927734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.816575206709899, + -3.311400696128402 + ] + }, + { + "id": "RQR80mU9vyFKIAbliTVXL", + "type": "freedraw", + "x": 483.6675567050967, + "y": 375.61061848419473, + "width": 30.68439953559955, + "height": 4.05267327982911, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 356816771, + "version": 326, + "versionNonce": 560355405, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + -3.177693507477737, + -4.448797468339633 + ], + [ + -5.493460728068617, + -5.027759434436129 + ], + [ + -6.072442855113877, + -5.027759434436129 + ], + [ + -3.756635312625469, + -5.027759434436129 + ], + [ + 0.8750200942489306, + -5.027759434436129 + ], + [ + 6.085536662475888, + -6.185663205680334 + ], + [ + 11.29609355260044, + -7.3435468159757695 + ], + [ + 18.243516180065715, + -7.922508782072271 + ], + [ + 21.13826552770184, + -7.922508782072271 + ], + [ + 22.296149137997258, + -7.922508782072271 + ], + [ + 22.875090943144976, + -7.922508782072271 + ], + [ + 23.45403274829274, + -7.922508782072271 + ], + [ + 24.033014875337997, + -8.501470748168742 + ], + [ + 24.611956680485672, + -8.501470748168742 + ], + [ + 24.033014875337997, + -8.501470748168742 + ], + [ + 24.033014875337997, + -8.501470748168742 + ] + ], + "pressures": [ + 0.0625, + 0.1845703125, + 0.271484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96484375, + 0.056640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 57.081098174095246, + -8.501470748168742 + ] + }, + { + "id": "LX1zjevBkv9WGeqARLewJ", + "type": "freedraw", + "x": 497.4492258725776, + "y": 364.90651628098607, + "width": 2.31584786438594, + "height": 33.00016675619043, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 401217837, + "version": 322, + "versionNonce": 1359208195, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + -1.9066338097338222, + -1.2710596977438828 + ], + [ + -2.4855756148815566, + -2.4289433080393223 + ], + [ + -2.4855756148815566, + 0.46580603959681927 + ], + [ + -2.4855756148815566, + 6.255304734869077 + ], + [ + -3.0645174200292353, + 13.202707201385554 + ], + [ + -3.643499547074498, + 20.15010966790203 + ], + [ + -3.643499547074498, + 25.9396083631743 + ], + [ + -3.643499547074498, + 30.57122344815111 + ], + [ + -3.0645174200292353, + 30.57122344815111 + ], + [ + -1.327651682688558, + 28.2554159056627 + ], + [ + -1.327651682688558, + 27.097512134418523 + ], + [ + -1.327651682688558, + 27.097512134418523 + ] + ], + "pressures": [ + 0.0244140625, + 0.58984375, + 0.884765625, + 0.931640625, + 1, + 1, + 1, + 1, + 1, + 0.2470703125, + 0.087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.2145562390352325, + 59.50999918962674 + ] + }, + { + "id": "gT44jWEu18V-_xVkEIzOo", + "type": "freedraw", + "x": 509.83356150628526, + "y": 388.51728574776644, + "width": 10.4211137802491, + "height": 17.36851624676557, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1377927821, + "version": 334, + "versionNonce": 800476333, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -4.448797468339661, + -6.355409146514473 + ], + [ + -5.0277392734873985, + -7.513312917758705 + ], + [ + -5.606721400532655, + -6.9343711126109735 + ], + [ + -6.764605010828125, + -6.355409146514473 + ], + [ + -7.343546815975803, + -4.618563570122566 + ], + [ + -7.343546815975803, + -4.039621764974858 + ], + [ + -7.922488621123535, + -2.8816978327818616 + ], + [ + -7.922488621123535, + -0.5659104512422153 + ], + [ + -7.922488621123535, + 1.1709351251496962 + ], + [ + -7.343546815975803, + 2.907821023439192 + ], + [ + -7.343546815975803, + 3.4867426676381337 + ], + [ + -6.764605010828125, + 4.065704633734635 + ], + [ + -6.764605010828125, + 4.644646438882336 + ], + [ + -6.18566320568039, + 5.223588244030043 + ], + [ + -5.0277392734873985, + 5.223588244030043 + ], + [ + -4.448797468339661, + 5.223588244030043 + ], + [ + -3.869855663191983, + 5.223588244030043 + ], + [ + -2.711972052896518, + 5.223588244030043 + ], + [ + -0.9751063155558426, + 4.644646438882336 + ], + [ + -0.3961645104081102, + 3.4867426676381337 + ], + [ + 0.7617997436824159, + 2.3288388963939313 + ], + [ + 1.3407012269325616, + 0.5919933200019906 + ], + [ + 1.919643032080299, + -1.1448522563899228 + ], + [ + 1.919643032080299, + -1.7238142224864188 + ], + [ + 1.919643032080299, + -4.039621764974858 + ], + [ + 1.919643032080299, + -5.1975053752702705 + ], + [ + 1.919643032080299, + -6.355409146514473 + ], + [ + 1.3407012269325616, + -7.513312917758705 + ], + [ + 0.7617997436824159, + -8.092274883855206 + ], + [ + 0.18277729473957036, + -9.25015849415062 + ], + [ + -0.3961645104081102, + -9.829120460247118 + ], + [ + -1.5540481207035755, + -10.98702423149132 + ], + [ + -2.711972052896518, + -11.565945875690257 + ], + [ + -3.290913858044252, + -11.565945875690257 + ], + [ + -3.869855663191983, + -12.144928002735526 + ], + [ + -5.0277392734873985, + -12.144928002735526 + ], + [ + -6.18566320568039, + -11.565945875690257 + ], + [ + -6.764605010828125, + -10.98702423149132 + ], + [ + -7.343546815975803, + -10.408062265394818 + ], + [ + -7.922488621123535, + -9.829120460247118 + ], + [ + -8.5014707481688, + -8.092274883855206 + ], + [ + -8.5014707481688, + -7.513312917758705 + ], + [ + -8.5014707481688, + -6.355409146514473 + ], + [ + -8.5014707481688, + -5.7764471804180015 + ], + [ + -8.5014707481688, + -3.46065979887836 + ], + [ + -8.5014707481688, + -2.302756027634154 + ], + [ + -8.5014707481688, + -1.1448522563899228 + ], + [ + -8.5014707481688, + -0.5659104512422153 + ], + [ + -7.922488621123535, + 0.013051514854282978 + ], + [ + -6.764605010828125, + 0.5919933200019906 + ], + [ + -6.18566320568039, + 1.1709351251496962 + ], + [ + -3.869855663191983, + 0.5919933200019906 + ], + [ + -3.869855663191983, + 0.013051514854282978 + ], + [ + -3.869855663191983, + 0.013051514854282978 + ] + ], + "pressures": [ + 0.05078125, + 0.271484375, + 0.6572265625, + 0.6845703125, + 0.736328125, + 0.7724609375, + 0.8056640625, + 0.8388671875, + 0.8662109375, + 0.9130859375, + 0.9365234375, + 0.9453125, + 0.953125, + 0.97265625, + 0.9755859375, + 0.986328125, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8701171875, + 0.4306640625, + 0.23046875, + 0.11328125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.214471654019576, + 13.359399656755159 + ] + }, + { + "id": "GBVovVVLjqbhjjNMmuFRG", + "type": "freedraw", + "x": 511.80974831897004, + "y": 383.3197803724961, + "width": 5.7894986952722824, + "height": 11.000075746345598, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 482325155, + "version": 303, + "versionNonce": 119791779, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -0.6354855857538847, + 0 + ], + [ + -0.6354855857538847, + 0.578941805147706 + ], + [ + -0.6354855857538847, + 2.315807542488409 + ], + [ + -1.214387069004033, + 4.631594924028052 + ], + [ + -1.214387069004033, + 6.9474024665164595 + ], + [ + -1.214387069004033, + 8.105326398709462 + ], + [ + -1.214387069004033, + 8.684248042908395 + ], + [ + -1.214387069004033, + 9.8421518141526 + ], + [ + -0.6354855857538847, + 10.42109361930031 + ], + [ + -0.6354855857538847, + 11.000075746345598 + ], + [ + 0.5223980245415817, + 11.000075746345598 + ], + [ + 2.25926376188226, + 10.42109361930031 + ], + [ + 3.4171473721776735, + 9.263210009004897 + ], + [ + 3.9961294992229863, + 8.684248042908395 + ], + [ + 4.575111626268249, + 6.9474024665164595 + ], + [ + 4.575111626268249, + 5.21055689012455 + ], + [ + 4.575111626268249, + 4.052653118880348 + ], + [ + 4.575111626268249, + 2.894749347636116 + ], + [ + 4.575111626268249, + 2.315807542488409 + ], + [ + 4.575111626268249, + 1.73684557639191 + ], + [ + 3.9961294992229863, + 1.157883610295412 + ], + [ + 3.4171473721776735, + 1.73684557639191 + ], + [ + -0.6354855857538847, + 0 + ] + ], + "pressures": [ + 0.0302734375, + 0.8955078125, + 0.9599609375, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1865234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.501386163153143, + 3.6434572545667265 + ] + }, + { + "id": "NScMQ7Z1Y5gJ7bphUlMCc", + "type": "freedraw", + "x": 521.5953765134672, + "y": 436.90101994003214, + "width": 19.10536182315752, + "height": 40.52653118880343, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1422337389, + "version": 334, + "versionNonce": 633721923, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + -42.58116382119039 + ], + [ + 0, + -42.00224217699147 + ], + [ + 0.5789821270453174, + -42.58116382119039 + ], + [ + 0.5789821270453174, + -46.633837101019544 + ], + [ + 1.7368254154431428, + -52.42335595724059 + ], + [ + 1.7368254154431428, + -57.63389268641635 + ], + [ + 1.7368254154431428, + -61.68656596624548 + ], + [ + 1.7368254154431428, + -65.16025711902932 + ], + [ + 1.7368254154431428, + -66.89710269542127 + ], + [ + 1.7368254154431428, + -69.21291023790968 + ], + [ + 1.7368254154431428, + -71.5286976194493 + ], + [ + 1.7368254154431428, + -73.84452532288651 + ], + [ + 1.1578836102954655, + -77.31819631472156 + ], + [ + 0.5789821270453174, + -79.05508221301106 + ], + [ + 0.5789821270453174, + -80.21296582330655 + ], + [ + 0, + -81.3708695945507 + ], + [ + 0, + -80.21296582330655 + ], + [ + 0.5789821270453174, + -75.00242909413073 + ], + [ + 0.5789821270453174, + -68.63394827181317 + ], + [ + 1.1578836102954655, + -60.528662195001225 + ], + [ + 1.7368254154431428, + -53.58123956753602 + ], + [ + 2.31580754248846, + -48.37068267741144 + ], + [ + 2.894749347636139, + -48.37068267741144 + ], + [ + 2.894749347636139, + -48.949644643507945 + ], + [ + 3.473731474681401, + -51.26543202504757 + ], + [ + 4.0526329579316, + -53.00229776238831 + ], + [ + 4.631615084976868, + -55.318105304876696 + ], + [ + 5.789498695272278, + -57.05493072031987 + ], + [ + 6.36848082231754, + -59.37075842375705 + ], + [ + 6.947382305567686, + -60.528662195001225 + ], + [ + 7.526364432613003, + -61.107604000149 + ], + [ + 9.26323016995368, + -61.107604000149 + ], + [ + 10.421113780249085, + -61.107604000149 + ], + [ + 11.578997390544556, + -61.107604000149 + ], + [ + 12.736921322737553, + -61.107604000149 + ], + [ + 13.894804933032969, + -59.949680067955995 + ], + [ + 15.631670670373634, + -58.21285465251286 + ], + [ + 16.789554280669094, + -55.897047110024445 + ], + [ + 17.94747821286209, + -53.58123956753602 + ], + [ + 18.526420018009766, + -50.68649021989989 + ], + [ + 19.10536182315752, + -48.37068267741144 + ], + [ + 18.526420018009766, + -44.8969915246276 + ], + [ + 17.368496085816776, + -43.7390877533834 + ], + [ + 16.21061247552136, + -42.00224217699147 + ], + [ + 13.894804933032969, + -41.423280210895 + ], + [ + 11.00005558539682, + -40.844338405747266 + ], + [ + 8.684248042908417, + -40.844338405747266 + ], + [ + 4.631615084976868, + -41.423280210895 + ], + [ + 3.473731474681401, + -42.00224217699147 + ], + [ + 2.31580754248846, + -42.58116382119039 + ], + [ + 1.1578836102954655, + -43.16014594823569 + ], + [ + 1.1578836102954655, + -43.7390877533834 + ], + [ + 1.1578836102954655, + -44.8969915246276 + ], + [ + 1.1578836102954655, + -45.47591316882655 + ], + [ + 1.7368254154431428, + -45.47591316882655 + ], + [ + 0, + -42.58116382119039 + ] + ], + "pressures": [ + 0.0830078125, + 0.2685546875, + 0.3740234375, + 0.8115234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3427734375, + 0.2275390625, + 0.1669921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.643414962058955, + -6.072442855113877 + ] + }, + { + "id": "vFw1eo4MIsguUXJSY4Uhl", + "type": "freedraw", + "x": 516.3848599452407, + "y": 408.2712510662092, + "width": 59.05291088491562, + "height": 2.3158075424884084, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1183649283, + "version": 286, + "versionNonce": 891391949, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + -0.6355519804309927 + ], + [ + 2.315767220590823, + -0.05661017528331372 + ], + [ + 15.631630348476065, + 1.1012935959608903 + ], + [ + 24.894820196532233, + 1.1012935959608903 + ], + [ + 38.789625129565124, + 0.5223517908132116 + ], + [ + 45.73704775703042, + -0.05661017528331372 + ], + [ + 53.26341218964336, + -1.2145139465275179 + ], + [ + 56.15816153727955, + -1.2145139465275179 + ], + [ + 59.05291088491562, + -0.05661017528331372 + ], + [ + 59.05291088491562, + 0.5223517908132116 + ], + [ + 59.05291088491562, + 0.5223517908132116 + ] + ], + "pressures": [ + 0.01171875, + 0.904296875, + 1, + 1, + 1, + 1, + 1, + 0.6064453125, + 0.1826171875, + 0.1259765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 123.87788499533212, + 2.428985600547094 + ] + }, + { + "id": "xK4VxHWGSgPsYhrENOtVR", + "type": "freedraw", + "x": 541.7889361546127, + "y": 417.4778508999307, + "width": 8.10526591586311, + "height": 9.842171975101417, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 837382083, + "version": 294, + "versionNonce": 1398398851, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -5.719812902965501, + 0 + ], + [ + -6.2987547081132345, + 0 + ], + [ + -8.035580123556382, + 1.7368657373407284 + ], + [ + -9.772445860897108, + 2.89474934763614 + ], + [ + -10.351387666044788, + 4.052653118880345 + ], + [ + -10.930329471192522, + 4.631615084976869 + ], + [ + -10.351387666044788, + 6.368460661368751 + ], + [ + -8.614562250601647, + 8.10530623776069 + ], + [ + -7.456638318408646, + 9.263210009004888 + ], + [ + -5.719812902965501, + 9.842171975101417 + ], + [ + -5.140830775920237, + 9.842171975101417 + ], + [ + -4.561888970772557, + 9.842171975101417 + ], + [ + -3.9829471656248248, + 9.263210009004888 + ], + [ + -3.9829471656248248, + 8.10530623776069 + ], + [ + -2.8250635553294114, + 6.368460661368751 + ], + [ + -2.8250635553294114, + 5.789518856221075 + ], + [ + -2.8250635553294114, + 5.789518856221075 + ] + ], + "pressures": [ + 0, + 0.9365234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.98828125, + 0.8701171875, + 0.48046875, + 0.3564453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.0724428551137635, + 12.144928002735583 + ] + }, + { + "id": "AYDJzaG2835vZI58zQlc0", + "type": "freedraw", + "x": 537.3401829493922, + "y": 426.797671084219, + "width": 2.3158075424884084, + "height": 2.3158075424884084, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1066257037, + "version": 282, + "versionNonce": 1016657699, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -1.2710596977439141, + -0.6355519804309334 + ], + [ + -1.8500015028916468, + 1.1012935959610042 + ], + [ + -2.428943308039379, + 1.1012935959610042 + ], + [ + -0.1131357655509706, + -1.2145139465274042 + ], + [ + -1.2710596977439141, + -0.6355519804309334 + ] + ], + "pressures": [ + 0.458984375, + 1, + 1, + 0.232421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.4290278930548084, + -1.2145139465274042 + ] + }, + { + "id": "BOMd7JeNYHU8PEoi0QHnz", + "type": "freedraw", + "x": 536.7612411442444, + "y": 433.6754320215467, + "width": 4.631574763079233, + "height": 6.368460661368755, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1544430499, + "version": 305, + "versionNonce": 787464333, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -1.2710596977438537, + -6.355409146514504 + ], + [ + -1.8500015028915857, + -6.934371112611031 + ], + [ + -1.8500015028915857, + -8.092274883855232 + ], + [ + -2.4289433080392655, + -9.250158494150645 + ], + [ + -2.4289433080392655, + -9.82912046024717 + ], + [ + -2.4289433080392655, + -10.40806226539485 + ], + [ + -2.4289433080392655, + -11.56596603663905 + ], + [ + -2.4289433080392655, + -12.144928002735583 + ], + [ + -1.2710596977438537, + -12.144928002735583 + ], + [ + -0.69211789259612, + -12.144928002735583 + ], + [ + 0.4658060395968215, + -12.144928002735583 + ], + [ + 1.6236896498922866, + -10.987024231491379 + ], + [ + 1.6236896498922866, + -9.82912046024717 + ], + [ + 2.2026314550399677, + -8.671216689002968 + ], + [ + 2.2026314550399677, + -8.092274883855232 + ], + [ + 1.6236896498922866, + -7.513312917758763 + ], + [ + -0.11313576555085685, + -6.355409146514504 + ], + [ + -0.69211789259612, + -5.776467341366828 + ], + [ + -1.2710596977438537, + -5.776467341366828 + ], + [ + -1.8500015028915857, + -5.776467341366828 + ], + [ + -1.8500015028915857, + -6.355409146514504 + ], + [ + -2.4289433080392655, + -7.513312917758763 + ], + [ + -1.8500015028915857, + -8.092274883855232 + ], + [ + -0.69211789259612, + -8.092274883855232 + ], + [ + -0.11313576555085685, + -8.092274883855232 + ], + [ + 0.4658060395968215, + -8.092274883855232 + ], + [ + 1.0447478447445535, + -8.092274883855232 + ], + [ + -1.2710596977438537, + -6.355409146514504 + ] + ], + "pressures": [ + 0.0625, + 0.361328125, + 0.4345703125, + 0.58984375, + 0.734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4580078125, + 0.1259765625, + 0.0478515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.857971201094188, + -3.6434995470746117 + ] + }, + { + "id": "bOWojYcn9JvZ4ovUcyPf8", + "type": "freedraw", + "x": 548.5666792359206, + "y": 446.5820992851184, + "width": 19.105361823157473, + "height": 26.631746416719267, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 236588259, + "version": 313, + "versionNonce": 1643692365, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -3.8132676194677058, + -8.262020824689293 + ], + [ + -4.392249746513022, + -7.683079019541564 + ], + [ + -4.392249746513022, + -8.262020824689293 + ], + [ + -4.392249746513022, + -9.998866401081175 + ], + [ + -2.6553840091722933, + -12.314673943569643 + ], + [ + -2.0764422040245605, + -13.472577714813847 + ], + [ + -0.3395361447863027, + -14.630481486058045 + ], + [ + 0.81830714361158, + -15.209423291205724 + ], + [ + 1.9762310758045232, + -15.209423291205724 + ], + [ + 3.713056491247666, + -15.788385257302252 + ], + [ + 4.870980423440661, + -15.788385257302252 + ], + [ + 5.4499625504859255, + -15.788385257302252 + ], + [ + 6.607805838883803, + -15.788385257302252 + ], + [ + 7.765729771076819, + -14.051519519961522 + ], + [ + 8.344711898122068, + -11.156770172325437 + ], + [ + 9.502595508417532, + -8.262020824689293 + ], + [ + 9.502595508417532, + -5.946213282200888 + ], + [ + 9.502595508417532, + -3.630425900661218 + ], + [ + 8.92361338137221, + -0.15671458692860524 + ], + [ + 7.765729771076819, + 1.0011891843155947 + ], + [ + 5.4499625504859255, + 4.474880337099469 + ], + [ + 3.1341146860999913, + 6.211746074440145 + ], + [ + 1.3972892706568436, + 7.369629684735606 + ], + [ + -0.3395361447863027, + 7.948611811780865 + ], + [ + -2.6553840091722933, + 8.527553616928616 + ], + [ + -5.550133356808433, + 9.685437227224009 + ], + [ + -6.708057289001429, + 10.264379032371744 + ], + [ + -7.28699909414911, + 10.843361159417013 + ], + [ + -6.708057289001429, + 10.843361159417013 + ], + [ + -3.8132676194677058, + 10.843361159417013 + ], + [ + 0.23936533846384636, + 10.843361159417013 + ], + [ + 3.713056491247666, + 10.843361159417013 + ], + [ + 7.765729771076819, + 10.264379032371744 + ], + [ + 8.92361338137221, + 10.264379032371744 + ], + [ + 10.660479118712942, + 9.685437227224009 + ], + [ + 11.818362729008363, + 9.685437227224009 + ], + [ + 11.818362729008363, + 9.106495422076287 + ], + [ + 11.818362729008363, + 7.948611811780865 + ], + [ + 11.239461245758207, + 7.369629684735606 + ], + [ + 11.239461245758207, + 7.369629684735606 + ] + ], + "pressures": [ + 0.0458984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4599609375, + 0.259765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.576770514604505, + 32.79119987611648 + ] + }, + { + "id": "3wNqCddfUaj-GxCEjxi2h", + "type": "freedraw", + "x": 565.7087749425027, + "y": 433.8582294772351, + "width": 26.631726255770424, + "height": 27.78963002701467, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1066851917, + "version": 331, + "versionNonce": 1743291907, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -1.2710596977438535, + -1.906611678174847 + ], + [ + -2.4289433080392655, + -3.0645154494190505 + ], + [ + -1.2710596977438535, + -3.0645154494190505 + ], + [ + -0.6921178925961202, + -3.6434572545667834 + ], + [ + 1.044747844744555, + -3.6434572545667834 + ], + [ + 3.9394971923806943, + -3.0645154494190505 + ], + [ + 5.097380802676106, + -2.4855534833225255 + ], + [ + 7.992130150312255, + -0.7487079069306433 + ], + [ + 10.307937692800651, + 1.5670996355577655 + ], + [ + 12.044803430141386, + 4.461848983193906 + ], + [ + 13.781669167482061, + 8.514502102074246 + ], + [ + 13.781669167482061, + 10.251347678466185 + ], + [ + 13.781669167482061, + 10.83030964456265 + ], + [ + 13.781669167482061, + 12.567155220954586 + ], + [ + 12.044803430141386, + 14.882942602494271 + ], + [ + 7.992130150312255, + 18.356674077175658 + ], + [ + 5.676362929721421, + 20.672481619664044 + ], + [ + 3.3605553872329605, + 21.251423424811787 + ], + [ + 2.2026314550399673, + 21.830365229959476 + ], + [ + -0.1131357655508573, + 22.409307035107208 + ], + [ + -1.2710596977438535, + 23.5672309673002 + ], + [ + -1.8500015028915862, + 24.146172772447887 + ], + [ + -2.4289433080392655, + 24.146172772447887 + ], + [ + -0.1131357655508573, + 24.146172772447887 + ], + [ + 3.9394971923806943, + 23.5672309673002 + ], + [ + 11.465861624993648, + 22.988248840254947 + ], + [ + 15.518494582925207, + 22.988248840254947 + ], + [ + 18.992226057606608, + 22.988248840254947 + ], + [ + 21.307993278197465, + 22.988248840254947 + ], + [ + 23.0448590155382, + 22.988248840254947 + ], + [ + 24.20278294773116, + 22.988248840254947 + ], + [ + 24.20278294773116, + 23.5672309673002 + ], + [ + 24.20278294773116, + 24.146172772447887 + ], + [ + 24.20278294773116, + 24.146172772447887 + ] + ], + "pressures": [ + 0.2021484375, + 0.849609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2705078125, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 53.437598627020634, + 54.652070281040324 + ] + }, + { + "id": "_UDKfh8GxBU5KAqtD-ypM", + "type": "freedraw", + "x": 537.0223757324475, + "y": 349.3314779174547, + "width": 39.94758938365572, + "height": 31.263361501696085, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 257466947, + "version": 296, + "versionNonce": 1166986659, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -43.21664940694432, + -1.9066338097338524 + ], + [ + -42.63766727989907, + -1.9066338097338524 + ], + [ + -45.53241662753522, + -2.48559577583035 + ], + [ + -46.69030023783061, + -2.48559577583035 + ], + [ + -50.164031712512035, + -3.064537580978056 + ], + [ + -54.21670499234117, + -3.064537580978056 + ], + [ + -61.743069424954136, + -3.643499547074555 + ], + [ + -66.95358599318115, + -3.643499547074555 + ], + [ + -72.16418320520332, + -3.064537580978056 + ], + [ + -78.53258338372568, + -2.48559577583035 + ], + [ + -81.42733273136179, + -2.48559577583035 + ], + [ + -82.58525666355479, + -2.48559577583035 + ], + [ + -81.42733273136179, + -1.3276718436373547 + ], + [ + -79.69050731591865, + 2.146019309146492 + ], + [ + -77.95368190047553, + 6.777614233174543 + ], + [ + -75.05893255283935, + 16.619786208275926 + ], + [ + -73.32206681549863, + 21.830343098400487 + ], + [ + -72.16418320520332, + 25.88297605633203 + ], + [ + -72.16418320520332, + 27.61986195462153 + ], + [ + -72.16418320520332, + 27.040879827576255 + ], + [ + -72.16418320520332, + 23.567188674792405 + ], + [ + -72.16418320520332, + 20.67243932715628 + ], + [ + -72.16418320520332, + 20.093477361059787 + ], + [ + -72.16418320520332, + 20.093477361059787 + ] + ], + "pressures": [ + 0.0537109375, + 0.5263671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5087890625, + 0.251953125, + 0.1357421875, + 0.056640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -60.724513136154314, + 46.15059953287158 + ] + }, + { + "id": "Vcbb8PTjl6tRA6Hej81pe", + "type": "freedraw", + "x": 626.4463415641212, + "y": 437.27535274724346, + "width": 40.526531188803396, + "height": 42.842338731291846, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1099480045, + "version": 299, + "versionNonce": 969445901, + "isDeleted": false, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + -26.69265202068368, + -1.2710818293028914 + ], + [ + -27.27159382583137, + -2.428985600547094 + ], + [ + -27.27159382583137, + -1.2710818293028914 + ], + [ + -23.797902673047552, + 5.097378832065856 + ], + [ + -20.903153325411402, + 11.465819332485871 + ], + [ + -17.42942185073, + 17.834300154803415 + ], + [ + -13.955730697946134, + 25.360664587416373 + ], + [ + -12.218864960605456, + 29.413297545347923 + ], + [ + -11.060981350310051, + 32.886988698131724 + ], + [ + -10.482039545162314, + 34.04491263032474 + ], + [ + -10.482039545162314, + 34.62385443547248 + ], + [ + -12.218864960605456, + 35.20279624062021 + ], + [ + -16.85048004558228, + 36.93966197796091 + ], + [ + -22.639978740854552, + 38.09754558825628 + ], + [ + -29.587401368319767, + 38.676527715301596 + ], + [ + -37.113765800932796, + 37.518603783108624 + ], + [ + -44.06114810650049, + 35.781778367665495 + ], + [ + -46.95589745413662, + 35.781778367665495 + ], + [ + -48.6927631914773, + 37.518603783108624 + ], + [ + -50.42962892881804, + 38.676527715301596 + ], + [ + -51.00857073396571, + 39.25546952044931 + ], + [ + -51.00857073396571, + 39.834411325597046 + ], + [ + -50.42962892881804, + 39.834411325597046 + ], + [ + -48.6927631914773, + 40.41335313074475 + ], + [ + -46.95589745413662, + 40.41335313074475 + ], + [ + -46.37695564898889, + 40.41335313074475 + ], + [ + -46.37695564898889, + 40.41335313074475 + ] + ], + "pressures": [ + 0.0634765625, + 0.296875, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6240234375, + 0.2783203125, + 0.1826171875, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -41.29262833177734, + 87.4432701571568 + ] + }, + { + "id": "ushtWpiGsAjEtWHq9671w", + "type": "freedraw", + "x": -255.97817993164062, + "y": -53.704200744628906, + "width": 196.3037109375, + "height": 139.34060668945312, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 77280771, + "version": 925, + "versionNonce": 529972045, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.51617431640625, + -4.38177490234375 + ], + [ + -13.14532470703125, + -17.527130126953125 + ], + [ + -13.14532470703125, + -32.4251708984375 + ], + [ + -11.392578125, + -49.952301025390625 + ], + [ + -0.8763427734375, + -70.98480224609375 + ], + [ + 9.63995361328125, + -79.74838256835938 + ], + [ + 21.908935546875, + -85.88290405273438 + ], + [ + 36.8070068359375, + -91.14102172851562 + ], + [ + 56.0867919921875, + -94.64645385742188 + ], + [ + 79.7484130859375, + -95.52279663085938 + ], + [ + 115.67901611328125, + -88.51193237304688 + ], + [ + 135.835205078125, + -75.3665771484375 + ], + [ + 150.7332763671875, + -55.210418701171875 + ], + [ + 159.496826171875, + -32.4251708984375 + ], + [ + 155.11505126953125, + 0 + ], + [ + 133.2061767578125, + 19.27984619140625 + ], + [ + 99.0283203125, + 33.301544189453125 + ], + [ + 62.2213134765625, + 42.065093994140625 + ], + [ + 30.6724853515625, + 43.81781005859375 + ], + [ + -9.639892578125, + 31.548828125 + ], + [ + -28.0433349609375, + 13.145355224609375 + ], + [ + -36.806884765625, + -7.88720703125 + ], + [ + -29.79608154296875, + -35.930572509765625 + ], + [ + -14.89794921875, + -52.58135986328125 + ], + [ + 6.134521484375, + -68.35577392578125 + ], + [ + 31.548828125, + -79.74838256835938 + ], + [ + 55.21051025390625, + -86.75924682617188 + ], + [ + 77.9957275390625, + -91.14102172851562 + ], + [ + 99.0283203125, + -92.89370727539062 + ], + [ + 119.1844482421875, + -91.14102172851562 + ], + [ + 156.86773681640625, + -66.60302734375 + ], + [ + 157.744140625, + -56.963134765625 + ], + [ + 157.744140625, + -56.963134765625 + ] + ], + "pressures": [ + 0.10546875, + 0.3740234375, + 0.5888671875, + 0.740234375, + 0.8408203125, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9365234375, + 0.8388671875, + 0.8115234375, + 0.75, + 0.6943359375, + 0.66796875, + 0.6572265625, + 0.6494140625, + 0.6474609375, + 0.6220703125, + 0.5556640625, + 0.2666015625, + 0.001953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 157.744140625, + -56.963134765625 + ] + }, + { + "id": "2J-LDFGm5o2OB53pEZA0M", + "type": "freedraw", + "x": -95.60501098632812, + "y": 54.96398162841797, + "width": 240.99798583984375, + "height": 188.41653442382812, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1820134115, + "version": 954, + "versionNonce": 1455369219, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -14.02166748046875, + -2.62908935546875 + ], + [ + -15.7744140625, + -4.38177490234375 + ], + [ + -18.4034423828125, + -9.63995361328125 + ], + [ + -19.27984619140625, + -17.52716064453125 + ], + [ + -23.66162109375, + -35.93060302734375 + ], + [ + -27.1669921875, + -53.457733154296875 + ], + [ + -28.04339599609375, + -71.86123657226562 + ], + [ + -19.27984619140625, + -96.39920043945312 + ], + [ + -5.25811767578125, + -110.4208984375 + ], + [ + 14.8980712890625, + -120.93716430664062 + ], + [ + 37.683349609375, + -127.07162475585938 + ], + [ + 61.344970703125, + -128.82437133789062 + ], + [ + 93.77008056640625, + -125.31893920898438 + ], + [ + 114.80267333984375, + -113.04995727539062 + ], + [ + 133.20611572265625, + -92.01742553710938 + ], + [ + 142.84600830078125, + -65.72671508789062 + ], + [ + 134.08245849609375, + -27.16705322265625 + ], + [ + 113.04998779296875, + -3.50543212890625 + ], + [ + 86.75927734375, + 14.89801025390625 + ], + [ + 61.344970703125, + 26.2906494140625 + ], + [ + 37.683349609375, + 29.79608154296875 + ], + [ + 0, + 23.66156005859375 + ], + [ + -28.04339599609375, + 8.7635498046875 + ], + [ + -54.33404541015625, + -14.021728515625 + ], + [ + -71.8612060546875, + -42.06512451171875 + ], + [ + -72.737548828125, + -84.13021850585938 + ], + [ + -53.45770263671875, + -106.03912353515625 + ], + [ + -24.5379638671875, + -120.93716430664062 + ], + [ + 11.39263916015625, + -130.57708740234375 + ], + [ + 52.58135986328125, + -133.20614624023438 + ], + [ + 75.36663818359375, + -132.32980346679688 + ], + [ + 154.23870849609375, + -79.7484130859375 + ], + [ + 142.84600830078125, + -42.06512451171875 + ], + [ + 118.30804443359375, + -15.7744140625 + ], + [ + 84.13018798828125, + 7.88720703125 + ], + [ + 47.3232421875, + 24.5379638671875 + ], + [ + 14.8980712890625, + 31.548828125 + ], + [ + -13.14532470703125, + 28.91973876953125 + ], + [ + -48.19952392578125, + 4.38177490234375 + ], + [ + -61.3448486328125, + -19.27984619140625 + ], + [ + -63.09759521484375, + -48.1995849609375 + ], + [ + -49.9522705078125, + -77.9957275390625 + ], + [ + 0.8763427734375, + -114.80267333984375 + ], + [ + 42.94146728515625, + -129.70071411132812 + ], + [ + 85.8829345703125, + -135.83517456054688 + ], + [ + 124.44256591796875, + -131.45339965820312 + ], + [ + 151.60955810546875, + -111.2972412109375 + ], + [ + 168.26043701171875, + -63.09765625 + ], + [ + 81.50115966796875, + 47.32318115234375 + ], + [ + 64.850341796875, + 51.7049560546875 + ], + [ + 35.93060302734375, + 52.58135986328125 + ], + [ + 4.38177490234375, + 38.55963134765625 + ], + [ + -28.91973876953125, + 10.5162353515625 + ], + [ + -47.32318115234375, + -24.53802490234375 + ], + [ + -35.93060302734375, + -69.23214721679688 + ], + [ + -7.88720703125, + -90.26470947265625 + ], + [ + 22.7852783203125, + -105.16275024414062 + ], + [ + 54.3341064453125, + -114.80267333984375 + ], + [ + 95.52288818359375, + -114.80267333984375 + ], + [ + 104.28643798828125, + -106.91546630859375 + ], + [ + 104.28643798828125, + -102.53369140625 + ], + [ + 104.28643798828125, + -102.53369140625 + ] + ], + "pressures": [ + 0.1611328125, + 0.2666015625, + 0.306640625, + 0.39453125, + 0.5771484375, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9599609375, + 0.794921875, + 0.3193359375, + 0.126953125, + 0.0302734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 104.28643798828125, + -102.53369140625 + ] + }, + { + "id": "Wn6dGLCXSPZeM_hUYFj1W", + "type": "freedraw", + "x": -208.65493774414062, + "y": -101.9037857055664, + "width": 169.13671875, + "height": 128.82437133789062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2138977069, + "version": 934, + "versionNonce": 1494993325, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.258056640625, + -4.38177490234375 + ], + [ + -9.63983154296875, + -8.7635498046875 + ], + [ + -13.14532470703125, + -15.7744140625 + ], + [ + -15.7744140625, + -24.5379638671875 + ], + [ + -14.0216064453125, + -42.065093994140625 + ], + [ + -5.258056640625, + -56.963134765625 + ], + [ + 9.63995361328125, + -72.737548828125 + ], + [ + 29.796142578125, + -83.25381469726562 + ], + [ + 63.09765625, + -87.63558959960938 + ], + [ + 85.00653076171875, + -83.25381469726562 + ], + [ + 143.722412109375, + -24.5379638671875 + ], + [ + 143.722412109375, + -14.898040771484375 + ], + [ + 118.30810546875, + 11.39263916015625 + ], + [ + 84.13018798828125, + 25.41436767578125 + ], + [ + 49.075927734375, + 33.301544189453125 + ], + [ + 7.88726806640625, + 32.4251708984375 + ], + [ + -11.39263916015625, + 21.908905029296875 + ], + [ + -23.66162109375, + 3.505462646484375 + ], + [ + -25.414306640625, + -17.527099609375 + ], + [ + -13.14532470703125, + -39.436004638671875 + ], + [ + 21.908935546875, + -69.23211669921875 + ], + [ + 50.82867431640625, + -80.624755859375 + ], + [ + 79.7484130859375, + -86.75924682617188 + ], + [ + 104.286376953125, + -86.75924682617188 + ], + [ + 129.70068359375, + -73.6138916015625 + ], + [ + 140.21697998046875, + -52.58135986328125 + ], + [ + 141.96966552734375, + -27.1669921875 + ], + [ + 128.8243408203125, + -2.629058837890625 + ], + [ + 106.91546630859375, + 18.403472900390625 + ], + [ + 81.5010986328125, + 32.4251708984375 + ], + [ + 42.9415283203125, + 38.5596923828125 + ], + [ + 20.15618896484375, + 32.4251708984375 + ], + [ + 0, + 16.650787353515625 + ], + [ + -14.0216064453125, + -6.134490966796875 + ], + [ + -17.527099609375, + -31.548797607421875 + ], + [ + 0, + -64.850341796875 + ], + [ + 20.15618896484375, + -79.74838256835938 + ], + [ + 42.9415283203125, + -87.63558959960938 + ], + [ + 75.36663818359375, + -90.26467895507812 + ], + [ + 83.25384521484375, + -57.8394775390625 + ], + [ + 78.8720703125, + -55.210418701171875 + ], + [ + 78.8720703125, + -55.210418701171875 + ] + ], + "pressures": [ + 0.0556640625, + 0.279296875, + 0.4677734375, + 0.8134765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9404296875, + 0.1611328125, + 0.1064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 78.8720703125, + -55.210418701171875 + ] + }, + { + "id": "T7kIFV2ooNE6OZJswQbzx", + "type": "freedraw", + "x": -211.28396606445312, + "y": -108.03827667236328, + "width": 179.65301513671875, + "height": 124.44253540039062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 264769923, + "version": 940, + "versionNonce": 782283683, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.134521484375, + -5.25811767578125 + ], + [ + -11.392578125, + -13.14532470703125 + ], + [ + -14.8980712890625, + -22.785247802734375 + ], + [ + -15.7744140625, + -35.054229736328125 + ], + [ + -8.76361083984375, + -59.592193603515625 + ], + [ + 3.50537109375, + -75.36660766601562 + ], + [ + 20.15618896484375, + -86.75921630859375 + ], + [ + 40.3123779296875, + -92.89373779296875 + ], + [ + 73.6138916015625, + -92.89373779296875 + ], + [ + 96.39910888671875, + -84.13018798828125 + ], + [ + 115.678955078125, + -68.35577392578125 + ], + [ + 125.31890869140625, + -50.828643798828125 + ], + [ + 123.566162109375, + -35.054229736328125 + ], + [ + 86.75921630859375, + -12.268951416015625 + ], + [ + 49.95233154296875, + -0.8763427734375 + ], + [ + 16.6507568359375, + 2.629058837890625 + ], + [ + -10.51629638671875, + 0 + ], + [ + -40.3123779296875, + -15.7744140625 + ], + [ + -44.6942138671875, + -34.1778564453125 + ], + [ + -34.17791748046875, + -56.086761474609375 + ], + [ + -9.63995361328125, + -77.11932373046875 + ], + [ + 21.03253173828125, + -91.1409912109375 + ], + [ + 65.7266845703125, + -99.90457153320312 + ], + [ + 91.1409912109375, + -97.2755126953125 + ], + [ + 115.678955078125, + -85.00653076171875 + ], + [ + 134.08245849609375, + -64.85031127929688 + ], + [ + 134.95880126953125, + -29.79608154296875 + ], + [ + 116.5552978515625, + -7.010833740234375 + ], + [ + 88.511962890625, + 13.145355224609375 + ], + [ + 55.21038818359375, + 24.5379638671875 + ], + [ + 10.51629638671875, + 23.66162109375 + ], + [ + -15.7744140625, + 9.63995361328125 + ], + [ + -33.301513671875, + -12.268951416015625 + ], + [ + -36.8070068359375, + -36.80694580078125 + ], + [ + -33.301513671875, + -49.075927734375 + ], + [ + 41.18878173828125, + -91.1409912109375 + ], + [ + 90.2646484375, + -88.511962890625 + ], + [ + 105.1627197265625, + -83.25381469726562 + ], + [ + 131.453369140625, + -56.963134765625 + ], + [ + 128.8243408203125, + -35.054229736328125 + ], + [ + 108.66815185546875, + -14.021697998046875 + ], + [ + 79.74835205078125, + 4.38177490234375 + ], + [ + 49.95233154296875, + 15.7744140625 + ], + [ + 16.6507568359375, + 17.527130126953125 + ], + [ + 2.6290283203125, + 8.763580322265625 + ], + [ + -5.2581787109375, + -6.134490966796875 + ], + [ + -3.50543212890625, + -12.268951416015625 + ], + [ + -3.50543212890625, + -12.268951416015625 + ] + ], + "pressures": [ + 0.0771484375, + 0.314453125, + 0.537109375, + 0.8740234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6357421875, + 0.361328125, + 0.2041015625, + 0.087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.50543212890625, + -12.268951416015625 + ] + }, + { + "id": "kxeQ3GSopUGd8bdpc7BOa", + "type": "freedraw", + "x": -220.04757690429688, + "y": -101.9037857055664, + "width": 219.0889892578125, + "height": 140.21694946289062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1002118637, + "version": 940, + "versionNonce": 263195661, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + -14.898040771484375 + ], + [ + -12.26898193359375, + -20.15618896484375 + ], + [ + -16.6507568359375, + -35.054229736328125 + ], + [ + -19.27978515625, + -54.334075927734375 + ], + [ + -15.77435302734375, + -86.75924682617188 + ], + [ + -4.38177490234375, + -106.0390625 + ], + [ + 12.26898193359375, + -120.06076049804688 + ], + [ + 32.42523193359375, + -128.8243408203125 + ], + [ + 58.7159423828125, + -130.57705688476562 + ], + [ + 106.91546630859375, + -113.0499267578125 + ], + [ + 131.45343017578125, + -90.26467895507812 + ], + [ + 143.722412109375, + -65.7266845703125 + ], + [ + 142.8460693359375, + -42.941436767578125 + ], + [ + 124.44256591796875, + -23.66162109375 + ], + [ + 66.60308837890625, + 0.876373291015625 + ], + [ + 23.66168212890625, + 4.38177490234375 + ], + [ + -13.14532470703125, + -3.50543212890625 + ], + [ + -55.2103271484375, + -28.91973876953125 + ], + [ + -63.97393798828125, + -49.075897216796875 + ], + [ + -59.5921630859375, + -69.23211669921875 + ], + [ + 40.3123779296875, + -120.06076049804688 + ], + [ + 82.37750244140625, + -118.30807495117188 + ], + [ + 120.9371337890625, + -110.42083740234375 + ], + [ + 145.47515869140625, + -99.02822875976562 + ], + [ + 155.11505126953125, + -83.25381469726562 + ], + [ + 142.8460693359375, + -49.952301025390625 + ], + [ + 115.67901611328125, + -25.414306640625 + ], + [ + 76.2430419921875, + -5.25811767578125 + ], + [ + 37.683349609375, + 3.505462646484375 + ], + [ + 7.88720703125, + 2.62908935546875 + ], + [ + -26.2906494140625, + -16.6507568359375 + ], + [ + -38.55963134765625, + -35.054229736328125 + ], + [ + -40.3123779296875, + -59.592193603515625 + ], + [ + -27.1669921875, + -85.00653076171875 + ], + [ + 10.516357421875, + -114.8026123046875 + ], + [ + 42.06512451171875, + -127.94796752929688 + ], + [ + 73.61395263671875, + -134.08245849609375 + ], + [ + 99.02825927734375, + -135.83517456054688 + ], + [ + 119.1844482421875, + -127.94796752929688 + ], + [ + 132.32977294921875, + -95.52279663085938 + ], + [ + 27.16705322265625, + -14.02166748046875 + ], + [ + 14.021728515625, + -12.26898193359375 + ], + [ + -5.25811767578125, + -14.898040771484375 + ], + [ + -17.527099609375, + -24.5379638671875 + ], + [ + -21.90887451171875, + -39.436004638671875 + ], + [ + -19.27978515625, + -56.963134765625 + ], + [ + -12.26898193359375, + -60.46856689453125 + ], + [ + -12.26898193359375, + -60.46856689453125 + ] + ], + "pressures": [ + 0.1015625, + 0.3330078125, + 0.4287109375, + 0.7109375, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9384765625, + 0.900390625, + 0.783203125, + 0.5283203125, + 0.328125, + 0.158203125, + 0.0322265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -12.26898193359375, + -60.46856689453125 + ] + }, + { + "id": "KMBn5yN71rErhae2XMH0c", + "type": "freedraw", + "x": -196.38589477539062, + "y": -118.5545425415039, + "width": 175.27117919921875, + "height": 145.47512817382812, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 833768867, + "version": 935, + "versionNonce": 204490563, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + -4.38177490234375 + ], + [ + -18.40350341796875, + -14.898040771484375 + ], + [ + -29.796142578125, + -40.3123779296875 + ], + [ + -32.42523193359375, + -62.221282958984375 + ], + [ + -31.54888916015625, + -84.13018798828125 + ], + [ + -21.90887451171875, + -103.41000366210938 + ], + [ + -7.88726806640625, + -117.43170166015625 + ], + [ + 22.78521728515625, + -126.19528198242188 + ], + [ + 49.9522705078125, + -124.44256591796875 + ], + [ + 76.242919921875, + -113.0499267578125 + ], + [ + 97.27545166015625, + -93.77008056640625 + ], + [ + 110.42083740234375, + -58.7158203125 + ], + [ + 107.791748046875, + -35.054229736328125 + ], + [ + 92.017333984375, + -13.145355224609375 + ], + [ + 67.4793701171875, + 3.50543212890625 + ], + [ + 39.43603515625, + 10.516265869140625 + ], + [ + 0.87628173828125, + 6.134490966796875 + ], + [ + -22.7852783203125, + -6.13446044921875 + ], + [ + -42.06512451171875, + -26.290679931640625 + ], + [ + -50.82867431640625, + -49.9522705078125 + ], + [ + -42.06512451171875, + -79.7484130859375 + ], + [ + -25.41436767578125, + -95.5228271484375 + ], + [ + -5.2581787109375, + -108.66815185546875 + ], + [ + 18.4034423828125, + -116.55535888671875 + ], + [ + 31.54876708984375, + -117.43170166015625 + ], + [ + 109.54443359375, + -73.61392211914062 + ], + [ + 124.4425048828125, + -35.054229736328125 + ], + [ + 124.4425048828125, + -24.5379638671875 + ], + [ + 102.53363037109375, + 2.62908935546875 + ], + [ + 71.86114501953125, + 15.774444580078125 + ], + [ + 36.806884765625, + 19.27984619140625 + ], + [ + 4.38177490234375, + 14.021697998046875 + ], + [ + -23.66168212890625, + -1.752685546875 + ], + [ + -46.4468994140625, + -36.806915283203125 + ], + [ + -48.1995849609375, + -60.46856689453125 + ], + [ + -38.5596923828125, + -79.7484130859375 + ], + [ + -15.77447509765625, + -99.90460205078125 + ], + [ + 0, + -109.54449462890625 + ], + [ + 12.2689208984375, + -113.0499267578125 + ], + [ + 21.908935546875, + -111.29721069335938 + ], + [ + 25.414306640625, + -106.9154052734375 + ], + [ + 25.414306640625, + -104.286376953125 + ], + [ + 25.414306640625, + -104.286376953125 + ] + ], + "pressures": [ + 0.072265625, + 0.23828125, + 0.4287109375, + 0.8642578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.78515625, + 0.609375, + 0.328125, + 0.1787109375, + 0.091796875, + 0.02734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 25.414306640625, + -104.286376953125 + ] + }, + { + "id": "VaPgP1G9G27HYLKTPweiS", + "type": "freedraw", + "x": -209.53121948242188, + "y": -161.49597930908203, + "width": 185.7874755859375, + "height": 134.95887756347656, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 159716515, + "version": 933, + "versionNonce": 1129120365, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + -7.88720703125 + ], + [ + -14.89813232421875, + -16.650787353515625 + ], + [ + -18.403564453125, + -28.04339599609375 + ], + [ + -19.2799072265625, + -42.94146728515625 + ], + [ + -16.65081787109375, + -60.46856689453125 + ], + [ + -0.87640380859375, + -85.00656127929688 + ], + [ + 10.5162353515625, + -95.5228271484375 + ], + [ + 22.78521728515625, + -99.02824401855469 + ], + [ + 39.43603515625, + -98.15188598632812 + ], + [ + 62.22119140625, + -90.26469421386719 + ], + [ + 99.904541015625, + -61.344940185546875 + ], + [ + 114.80255126953125, + -36.806976318359375 + ], + [ + 116.5552978515625, + -12.26898193359375 + ], + [ + 105.16265869140625, + 9.639892578125 + ], + [ + 68.355712890625, + 30.672454833984375 + ], + [ + 40.31231689453125, + 32.425201416015625 + ], + [ + 13.14532470703125, + 25.414306640625 + ], + [ + -9.63995361328125, + 7.88720703125 + ], + [ + -26.29071044921875, + -16.650787353515625 + ], + [ + -29.796142578125, + -49.075958251953125 + ], + [ + -21.0325927734375, + -66.60305786132812 + ], + [ + -14.02178955078125, + -73.61392211914062 + ], + [ + 76.242919921875, + -101.65731811523438 + ], + [ + 92.8936767578125, + -102.53367614746094 + ], + [ + 122.68975830078125, + -99.02824401855469 + ], + [ + 141.09326171875, + -88.511962890625 + ], + [ + 142.845947265625, + -57.839508056640625 + ], + [ + 130.57696533203125, + -31.548828125 + ], + [ + 111.29718017578125, + -7.010833740234375 + ], + [ + 83.2537841796875, + 12.26898193359375 + ], + [ + 50.82861328125, + 21.90887451171875 + ], + [ + 7.01080322265625, + 22.785247802734375 + ], + [ + -17.52716064453125, + 13.14532470703125 + ], + [ + -36.8070068359375, + -2.629058837890625 + ], + [ + -42.9415283203125, + -23.66162109375 + ], + [ + -35.9306640625, + -42.0650634765625 + ], + [ + -13.14532470703125, + -60.46856689453125 + ], + [ + 1.75262451171875, + -67.47943115234375 + ], + [ + 12.2689208984375, + -70.98486328125 + ], + [ + 14.89801025390625, + -70.98486328125 + ], + [ + 14.89801025390625, + -70.98486328125 + ] + ], + "pressures": [ + 0.0830078125, + 0.412109375, + 0.6953125, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.94921875, + 0.5849609375, + 0.263671875, + 0.1298828125, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.89801025390625, + -70.98486328125 + ] + }, + { + "id": "Wmv2-dpGnyJuiy-sfGsvN", + "type": "freedraw", + "x": -224.42935180664062, + "y": -149.22699737548828, + "width": 184.9111328125, + "height": 134.0824737548828, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 439768067, + "version": 931, + "versionNonce": 634152675, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.13446044921875, + -6.13446044921875 + ], + [ + -13.14532470703125, + -23.661590576171875 + ], + [ + -15.77435302734375, + -39.43603515625 + ], + [ + -14.89801025390625, + -58.715850830078125 + ], + [ + -6.13446044921875, + -79.7484130859375 + ], + [ + 9.63995361328125, + -99.02825927734375 + ], + [ + 37.683349609375, + -113.92630004882812 + ], + [ + 56.963134765625, + -113.92630004882812 + ], + [ + 79.7484130859375, + -106.03909301757812 + ], + [ + 100.78094482421875, + -92.01739501953125 + ], + [ + 121.81353759765625, + -56.0867919921875 + ], + [ + 123.56622314453125, + -27.16705322265625 + ], + [ + 109.54449462890625, + -2.62908935546875 + ], + [ + 79.7484130859375, + 14.021697998046875 + ], + [ + 43.81781005859375, + 19.279815673828125 + ], + [ + 26.29071044921875, + 19.279815673828125 + ], + [ + -43.81781005859375, + -54.33404541015625 + ], + [ + -42.94140625, + -66.60305786132812 + ], + [ + -20.1561279296875, + -93.77011108398438 + ], + [ + 0, + -105.16273498535156 + ], + [ + 21.908935546875, + -112.173583984375 + ], + [ + 47.3232421875, + -114.80265808105469 + ], + [ + 78.8720703125, + -112.173583984375 + ], + [ + 121.81353759765625, + -94.64645385742188 + ], + [ + 137.587890625, + -77.11935424804688 + ], + [ + 141.09332275390625, + -57.839508056640625 + ], + [ + 133.20611572265625, + -35.93060302734375 + ], + [ + 92.01739501953125, + -0.876373291015625 + ], + [ + 52.58135986328125, + 14.898040771484375 + ], + [ + 17.52716064453125, + 18.403472900390625 + ], + [ + -9.639892578125, + 8.7635498046875 + ], + [ + -29.79608154296875, + -10.516265869140625 + ], + [ + -37.6832275390625, + -47.3232421875 + ], + [ + -25.414306640625, + -70.10848999023438 + ], + [ + -7.01080322265625, + -89.38833618164062 + ], + [ + 12.26898193359375, + -102.53367614746094 + ], + [ + 37.683349609375, + -107.79180908203125 + ], + [ + 42.06512451171875, + -104.286376953125 + ], + [ + 42.06512451171875, + -104.286376953125 + ] + ], + "pressures": [ + 0.0634765625, + 0.3798828125, + 0.9345703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.787109375, + 0.2578125, + 0.076171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.06512451171875, + -104.286376953125 + ] + }, + { + "id": "yiWAycbwLXdVDrTMRxsy9", + "type": "freedraw", + "x": -211.28396606445312, + "y": -166.7541275024414, + "width": 190.16925048828125, + "height": 121.81350708007812, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2061553603, + "version": 925, + "versionNonce": 951856333, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + -5.258148193359375 + ], + [ + -4.3818359375, + -22.785247802734375 + ], + [ + -0.87640380859375, + -39.43603515625 + ], + [ + 7.88714599609375, + -58.7158203125 + ], + [ + 13.14532470703125, + -67.47943115234375 + ], + [ + 86.75921630859375, + -92.89373779296875 + ], + [ + 99.904541015625, + -90.26467895507812 + ], + [ + 124.4425048828125, + -81.50112915039062 + ], + [ + 141.96966552734375, + -64.850341796875 + ], + [ + 146.3514404296875, + -43.81781005859375 + ], + [ + 131.453369140625, + -12.26898193359375 + ], + [ + 100.78094482421875, + 8.7635498046875 + ], + [ + 63.09765625, + 22.785247802734375 + ], + [ + 14.8980712890625, + 23.66162109375 + ], + [ + -11.392578125, + 11.392669677734375 + ], + [ + -33.301513671875, + -7.88720703125 + ], + [ + -43.81781005859375, + -28.043365478515625 + ], + [ + -42.0650634765625, + -45.57049560546875 + ], + [ + -16.65081787109375, + -68.35577392578125 + ], + [ + 7.88714599609375, + -81.50112915039062 + ], + [ + 35.05419921875, + -92.01737976074219 + ], + [ + 63.09765625, + -98.15188598632812 + ], + [ + 96.39910888671875, + -96.399169921875 + ], + [ + 110.42083740234375, + -87.63560485839844 + ], + [ + 120.06072998046875, + -73.61392211914062 + ], + [ + 124.4425048828125, + -57.839508056640625 + ], + [ + 123.566162109375, + -41.188720703125 + ], + [ + 107.791748046875, + -16.6507568359375 + ], + [ + 94.64642333984375, + -2.629058837890625 + ], + [ + 78.87200927734375, + 8.7635498046875 + ], + [ + 65.7266845703125, + 11.392669677734375 + ], + [ + 64.850341796875, + 10.516265869140625 + ], + [ + 64.850341796875, + 10.516265869140625 + ] + ], + "pressures": [ + 0.05078125, + 0.166015625, + 0.314453125, + 0.5673828125, + 0.8115234375, + 0.9453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.79296875, + 0.6943359375, + 0.5185546875, + 0.3330078125, + 0.318359375, + 0.3212890625, + 0.3193359375, + 0.283203125, + 0.17578125, + 0.1337890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 64.850341796875, + 10.516265869140625 + ] + }, + { + "id": "pL1H5PabPaT2Pv8jxulHC", + "type": "freedraw", + "x": -202.52041625976562, + "y": -157.11420440673828, + "width": 167.38397216796875, + "height": 125.31890869140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 663780515, + "version": 935, + "versionNonce": 1644401283, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.01080322265625, + -5.258148193359375 + ], + [ + -17.52716064453125, + -16.6507568359375 + ], + [ + -26.29071044921875, + -28.04339599609375 + ], + [ + -31.548828125, + -42.0650634765625 + ], + [ + -32.4251708984375, + -58.715850830078125 + ], + [ + -25.41436767578125, + -81.50112915039062 + ], + [ + -14.8980712890625, + -90.26467895507812 + ], + [ + 0, + -97.27552795410156 + ], + [ + 21.90887451171875, + -101.65730285644531 + ], + [ + 51.70501708984375, + -102.53366088867188 + ], + [ + 98.15185546875, + -85.88290405273438 + ], + [ + 114.8026123046875, + -60.46856689453125 + ], + [ + 113.0499267578125, + -33.301513671875 + ], + [ + 73.6138916015625, + 2.629058837890625 + ], + [ + 39.43603515625, + 17.527099609375 + ], + [ + 14.02166748046875, + 22.785247802734375 + ], + [ + -3.50543212890625, + 22.785247802734375 + ], + [ + -19.27984619140625, + 14.8980712890625 + ], + [ + -36.80694580078125, + -11.392608642578125 + ], + [ + -38.5596923828125, + -32.4251708984375 + ], + [ + -28.91973876953125, + -53.457733154296875 + ], + [ + -11.392578125, + -71.8612060546875 + ], + [ + 15.7744140625, + -89.38833618164062 + ], + [ + 33.301513671875, + -93.77011108398438 + ], + [ + 54.3341064453125, + -92.01739501953125 + ], + [ + 78.87200927734375, + -81.50112915039062 + ], + [ + 97.2755126953125, + -64.850341796875 + ], + [ + 106.0390625, + -35.93060302734375 + ], + [ + 102.53363037109375, + -17.527130126953125 + ], + [ + 90.2646484375, + -1.752716064453125 + ], + [ + 68.35577392578125, + 8.7635498046875 + ], + [ + 25.414306640625, + 13.14532470703125 + ], + [ + -2.6290283203125, + 8.7635498046875 + ], + [ + -28.04339599609375, + -2.629058837890625 + ], + [ + -46.44683837890625, + -19.27984619140625 + ], + [ + -52.58135986328125, + -35.93060302734375 + ], + [ + -52.58135986328125, + -43.81781005859375 + ], + [ + 1.75274658203125, + -80.624755859375 + ], + [ + 17.527099609375, + -81.50112915039062 + ], + [ + 24.5379638671875, + -81.50112915039062 + ], + [ + 42.0650634765625, + -77.99569702148438 + ], + [ + 42.0650634765625, + -75.36663818359375 + ], + [ + 42.0650634765625, + -75.36663818359375 + ] + ], + "pressures": [ + 0.134765625, + 0.2822265625, + 0.5380859375, + 0.798828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9345703125, + 0.708984375, + 0.576171875, + 0.2333984375, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.0650634765625, + -75.36663818359375 + ] + }, + { + "id": "6jPrZery5yRzoYPsIYA-Z", + "type": "freedraw", + "x": -207.77859497070312, + "y": -159.7432632446289, + "width": 128.8243408203125, + "height": 111.29722595214844, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 793133987, + "version": 921, + "versionNonce": 1603734317, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + -9.639923095703125 + ], + [ + -10.51617431640625, + -21.908905029296875 + ], + [ + -11.392578125, + -36.806976318359375 + ], + [ + -9.639892578125, + -54.3341064453125 + ], + [ + -0.8763427734375, + -81.50112915039062 + ], + [ + 8.76361083984375, + -91.14105224609375 + ], + [ + 21.0325927734375, + -94.64646911621094 + ], + [ + 43.81781005859375, + -89.38833618164062 + ], + [ + 59.59228515625, + -78.8720703125 + ], + [ + 76.24298095703125, + -63.9739990234375 + ], + [ + 88.511962890625, + -42.94146728515625 + ], + [ + 91.14105224609375, + -20.156219482421875 + ], + [ + 81.50115966796875, + -0.876373291015625 + ], + [ + 48.1995849609375, + 14.898040771484375 + ], + [ + 21.908935546875, + 16.6507568359375 + ], + [ + -2.6290283203125, + 11.392608642578125 + ], + [ + -30.67242431640625, + -10.51629638671875 + ], + [ + -37.68328857421875, + -29.796112060546875 + ], + [ + -34.1778564453125, + -47.3232421875 + ], + [ + -22.78521728515625, + -61.34490966796875 + ], + [ + -9.639892578125, + -70.98486328125 + ], + [ + 4.38177490234375, + -77.99569702148438 + ], + [ + 24.53802490234375, + -83.25384521484375 + ], + [ + 34.17791748046875, + -84.13018798828125 + ], + [ + 41.18878173828125, + -81.50112915039062 + ], + [ + 46.44696044921875, + -72.73757934570312 + ], + [ + 49.07598876953125, + -66.60308837890625 + ], + [ + 49.07598876953125, + -65.7266845703125 + ], + [ + 49.07598876953125, + -65.7266845703125 + ] + ], + "pressures": [ + 0.103515625, + 0.4033203125, + 0.724609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8642578125, + 0.611328125, + 0.3681640625, + 0.21875, + 0.14453125, + 0.0859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 49.07598876953125, + -65.7266845703125 + ] + }, + { + "id": "enRAJdqSNpCl2usWL5xnS", + "type": "freedraw", + "x": -202.52041625976562, + "y": -149.22699737548828, + "width": 143.72235107421875, + "height": 115.67901611328125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 954954051, + "version": 917, + "versionNonce": 1368672803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -15.77435302734375, + -9.639923095703125 + ], + [ + -27.16705322265625, + -19.279815673828125 + ], + [ + -36.80694580078125, + -42.065093994140625 + ], + [ + -36.80694580078125, + -50.82867431640625 + ], + [ + -26.29071044921875, + -77.11935424804688 + ], + [ + -13.1453857421875, + -90.26467895507812 + ], + [ + 1.75274658203125, + -98.15188598632812 + ], + [ + 17.527099609375, + -101.65731811523438 + ], + [ + 45.570556640625, + -101.65731811523438 + ], + [ + 66.60302734375, + -95.5228271484375 + ], + [ + 87.63555908203125, + -79.7484130859375 + ], + [ + 106.9154052734375, + -47.3232421875 + ], + [ + 46.44683837890625, + 13.14532470703125 + ], + [ + 21.03253173828125, + 14.021697998046875 + ], + [ + -6.134521484375, + 2.62908935546875 + ], + [ + -19.27984619140625, + -14.898040771484375 + ], + [ + -24.5379638671875, + -33.301544189453125 + ], + [ + -20.1561279296875, + -59.59222412109375 + ], + [ + -11.392578125, + -75.36663818359375 + ], + [ + -1.75274658203125, + -88.511962890625 + ], + [ + 6.134521484375, + -96.399169921875 + ], + [ + 13.14532470703125, + -100.78094482421875 + ], + [ + 19.27984619140625, + -101.65731811523438 + ], + [ + 25.414306640625, + -99.90460205078125 + ], + [ + 25.414306640625, + -99.90460205078125 + ] + ], + "pressures": [ + 0.068359375, + 0.5712890625, + 0.8427734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.92578125, + 0.8662109375, + 0.7890625, + 0.734375, + 0.6572265625, + 0.478515625, + 0.2890625, + 0.1865234375, + 0.06640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 25.414306640625, + -99.90460205078125 + ] + }, + { + "id": "A4YDs_iF7BswuexJk9wHg", + "type": "freedraw", + "x": -226.18203735351562, + "y": -151.85608673095703, + "width": 151.60955810546875, + "height": 121.81353759765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1052243875, + "version": 920, + "versionNonce": 2017926541, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -13.14532470703125, + -10.516265869140625 + ], + [ + -19.27984619140625, + -21.032501220703125 + ], + [ + -21.03253173828125, + -34.1778564453125 + ], + [ + -19.27984619140625, + -50.828643798828125 + ], + [ + -5.25811767578125, + -77.99566650390625 + ], + [ + 8.7635498046875, + -92.01736450195312 + ], + [ + 22.78521728515625, + -98.15185546875 + ], + [ + 37.68328857421875, + -99.02822875976562 + ], + [ + 57.8394775390625, + -97.2755126953125 + ], + [ + 91.14105224609375, + -86.75924682617188 + ], + [ + 112.173583984375, + -70.10845947265625 + ], + [ + 125.31890869140625, + -48.1995849609375 + ], + [ + 126.19525146484375, + -25.414276123046875 + ], + [ + 99.0281982421875, + 5.2581787109375 + ], + [ + 70.98480224609375, + 17.527130126953125 + ], + [ + 44.69415283203125, + 22.785308837890625 + ], + [ + 23.66162109375, + 20.15618896484375 + ], + [ + 4.38177490234375, + 7.88720703125 + ], + [ + -19.27984619140625, + -21.90887451171875 + ], + [ + -25.414306640625, + -42.94140625 + ], + [ + -23.66162109375, + -59.592193603515625 + ], + [ + -14.02166748046875, + -70.98483276367188 + ], + [ + 6.13446044921875, + -85.00653076171875 + ], + [ + 20.15618896484375, + -91.14102172851562 + ], + [ + 33.301513671875, + -94.64645385742188 + ], + [ + 42.94146728515625, + -94.64645385742188 + ], + [ + 43.81781005859375, + -94.64645385742188 + ], + [ + 43.81781005859375, + -94.64645385742188 + ] + ], + "pressures": [ + 0.0947265625, + 0.3447265625, + 0.515625, + 0.6904296875, + 0.8056640625, + 0.9384765625, + 0.9599609375, + 0.96484375, + 0.9794921875, + 0.9794921875, + 0.9560546875, + 0.94921875, + 0.9189453125, + 0.8427734375, + 0.7646484375, + 0.7646484375, + 0.7783203125, + 0.7890625, + 0.8154296875, + 0.8701171875, + 0.83203125, + 0.7646484375, + 0.70703125, + 0.5439453125, + 0.2939453125, + 0.1875, + 0.1044921875, + 0.04296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 43.81781005859375, + -94.64645385742188 + ] + }, + { + "id": "7rleQr-UVh44AqbxM_NwJ", + "type": "freedraw", + "x": -220.04757690429688, + "y": -158.8669204711914, + "width": 184.9111328125, + "height": 115.67898559570312, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 34000397, + "version": 922, + "versionNonce": 1768754627, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558532, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -11.392578125, + -4.38177490234375 + ], + [ + -15.77435302734375, + -7.88720703125 + ], + [ + -21.03253173828125, + -17.527130126953125 + ], + [ + -25.414306640625, + -29.796112060546875 + ], + [ + -26.2906494140625, + -44.694122314453125 + ], + [ + -19.27978515625, + -70.98483276367188 + ], + [ + -8.7635498046875, + -85.00653076171875 + ], + [ + 2.62908935546875, + -93.77009582519531 + ], + [ + 14.021728515625, + -98.15188598632812 + ], + [ + 29.796142578125, + -100.78094482421875 + ], + [ + 63.9739990234375, + -99.02824401855469 + ], + [ + 91.14105224609375, + -91.14102172851562 + ], + [ + 116.55535888671875, + -75.36663818359375 + ], + [ + 134.9588623046875, + -53.45770263671875 + ], + [ + 140.21697998046875, + -22.785247802734375 + ], + [ + 122.68988037109375, + -6.134490966796875 + ], + [ + 92.89373779296875, + 6.134490966796875 + ], + [ + 58.7159423828125, + 13.14532470703125 + ], + [ + 28.04345703125, + 14.898040771484375 + ], + [ + -9.639892578125, + 4.38177490234375 + ], + [ + -29.79608154296875, + -8.7635498046875 + ], + [ + -42.06500244140625, + -23.66162109375 + ], + [ + -44.69415283203125, + -35.930572509765625 + ], + [ + -39.43597412109375, + -49.952301025390625 + ], + [ + -28.919677734375, + -58.715850830078125 + ], + [ + -14.89801025390625, + -69.23211669921875 + ], + [ + 0, + -79.7484130859375 + ], + [ + 13.1453857421875, + -86.75924682617188 + ], + [ + 25.41436767578125, + -91.14102172851562 + ], + [ + 25.41436767578125, + -91.14102172851562 + ] + ], + "pressures": [ + 0.09375, + 0.3046875, + 0.376953125, + 0.5869140625, + 0.8115234375, + 0.9833984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.98828125, + 0.953125, + 0.951171875, + 0.951171875, + 0.951171875, + 0.9111328125, + 0.857421875, + 0.80078125, + 0.7607421875, + 0.6953125, + 0.6337890625, + 0.546875, + 0.369140625, + 0.2392578125, + 0.10546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 25.41436767578125, + -91.14102172851562 + ] + }, + { + "id": "Vr-M_1VaxPxaNfN1Veg-A", + "type": "freedraw", + "x": -221.80026245117188, + "y": -157.11420440673828, + "width": 141.09332275390625, + "height": 134.95883178710938, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1571249891, + "version": 920, + "versionNonce": 2047206381, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.639892578125, + -12.26898193359375 + ], + [ + -12.26898193359375, + -35.93060302734375 + ], + [ + -11.39263916015625, + -55.210418701171875 + ], + [ + -4.38177490234375, + -74.49026489257812 + ], + [ + 5.25811767578125, + -87.6356201171875 + ], + [ + 15.7744140625, + -95.52281188964844 + ], + [ + 35.93060302734375, + -102.53366088867188 + ], + [ + 55.21044921875, + -106.03909301757812 + ], + [ + 79.7484130859375, + -105.16273498535156 + ], + [ + 103.4100341796875, + -95.52281188964844 + ], + [ + 125.31890869140625, + -65.72671508789062 + ], + [ + 127.947998046875, + -42.94146728515625 + ], + [ + 123.56622314453125, + -21.908905029296875 + ], + [ + 108.66815185546875, + 0 + ], + [ + 83.25384521484375, + 17.527099609375 + ], + [ + 43.81781005859375, + 28.91973876953125 + ], + [ + 25.41436767578125, + 27.167022705078125 + ], + [ + 7.0108642578125, + 18.403472900390625 + ], + [ + -13.14532470703125, + -60.46856689453125 + ], + [ + -7.0108642578125, + -70.10848999023438 + ], + [ + 7.0108642578125, + -86.75924682617188 + ], + [ + 17.527099609375, + -96.399169921875 + ], + [ + 23.66162109375, + -101.65730285644531 + ], + [ + 24.5379638671875, + -101.65730285644531 + ], + [ + 25.41436767578125, + -99.90460205078125 + ], + [ + 27.16705322265625, + -96.399169921875 + ], + [ + 27.16705322265625, + -95.52281188964844 + ], + [ + 27.16705322265625, + -95.52281188964844 + ] + ], + "pressures": [ + 0.0263671875, + 0.314453125, + 0.57421875, + 0.7109375, + 0.82421875, + 0.9619140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.97265625, + 0.990234375, + 0.990234375, + 0.970703125, + 0.6806640625, + 0.640625, + 0.5205078125, + 0.3798828125, + 0.263671875, + 0.2041015625, + 0.1787109375, + 0.109375, + 0.0166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.16705322265625, + -95.52281188964844 + ] + }, + { + "id": "yCavmqykNp4KrEykceTXX", + "type": "freedraw", + "x": -176.22982788085938, + "y": -288.5676040649414, + "width": 73.6138916015625, + "height": 227.85256958007812, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1436917549, + "version": 906, + "versionNonce": 953998925, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -4.38177490234375 + ], + [ + -10.5162353515625, + -7.887237548828125 + ], + [ + -10.5162353515625, + -6.134521484375 + ], + [ + -12.26898193359375, + 3.505401611328125 + ], + [ + -23.66156005859375, + 30.672454833984375 + ], + [ + -36.80694580078125, + 56.086761474609375 + ], + [ + -52.58135986328125, + 89.38827514648438 + ], + [ + -65.7266845703125, + 124.44253540039062 + ], + [ + -73.6138916015625, + 170.889404296875 + ], + [ + -72.737548828125, + 192.79830932617188 + ], + [ + -67.4793701171875, + 206.82000732421875 + ], + [ + -63.09759521484375, + 212.078125 + ], + [ + -49.075927734375, + 219.96533203125 + ], + [ + -43.8177490234375, + 219.96533203125 + ], + [ + -43.8177490234375, + 219.0889892578125 + ] + ], + "pressures": [ + 0.08984375, + 0.095703125, + 0.1494140625, + 0.2431640625, + 0.2919921875, + 0.3193359375, + 0.333984375, + 0.421875, + 0.49609375, + 0.57421875, + 0.580078125, + 0.5498046875, + 0.466796875, + 0.2177734375, + 0.11328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.8177490234375, + 219.0889892578125 + ] + }, + { + "id": "2G0JEi1gAn8680mXIETR5", + "type": "freedraw", + "x": -232.31655883789062, + "y": -233.35721588134766, + "width": 145.47509765625, + "height": 229.60528564453125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1633284013, + "version": 913, + "versionNonce": 1990244611, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.0108642578125, + -6.134490966796875 + ], + [ + -10.51629638671875, + -14.021697998046875 + ], + [ + -13.1453857421875, + -24.537933349609375 + ], + [ + -14.8980712890625, + -36.80694580078125 + ], + [ + -14.021728515625, + -49.075927734375 + ], + [ + -4.3818359375, + -58.715850830078125 + ], + [ + 14.89801025390625, + -68.35577392578125 + ], + [ + 28.04339599609375, + -70.10845947265625 + ], + [ + 44.69415283203125, + -70.10845947265625 + ], + [ + 64.850341796875, + -66.60305786132812 + ], + [ + 85.88287353515625, + -57.8394775390625 + ], + [ + 108.66815185546875, + -35.930572509765625 + ], + [ + 117.43170166015625, + -14.898040771484375 + ], + [ + 115.67901611328125, + 12.269012451171875 + ], + [ + 98.15179443359375, + 42.065093994140625 + ], + [ + 56.963134765625, + 89.38836669921875 + ], + [ + 31.54876708984375, + 118.30807495117188 + ], + [ + 13.14532470703125, + 139.34063720703125 + ], + [ + 7.01080322265625, + 145.47512817382812 + ], + [ + -20.15618896484375, + 159.496826171875 + ], + [ + -22.7852783203125, + 159.496826171875 + ], + [ + -28.04339599609375, + 153.36233520507812 + ], + [ + -28.04339599609375, + 148.98052978515625 + ], + [ + -28.04339599609375, + 148.98052978515625 + ] + ], + "pressures": [ + 0.0390625, + 0.1552734375, + 0.3076171875, + 0.646484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9453125, + 0.57421875, + 0.2158203125, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -28.04339599609375, + 148.98052978515625 + ] + }, + { + "id": "JFLP1FMRod-sneI28cj2M", + "type": "freedraw", + "x": -113.13217163085938, + "y": -195.67389678955078, + "width": 21.908935546875, + "height": 1.752685546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1172900429, + "version": 905, + "versionNonce": 1269140653, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.8763427734375, + -0.876312255859375 + ], + [ + 1.752685546875, + -0.876312255859375 + ], + [ + 3.5054931640625, + -0.876312255859375 + ], + [ + 6.134521484375, + -0.876312255859375 + ], + [ + 7.88720703125, + -0.876312255859375 + ], + [ + 10.5162353515625, + -0.876312255859375 + ], + [ + 13.1453857421875, + -0.876312255859375 + ], + [ + 14.8980712890625, + -0.876312255859375 + ], + [ + 15.7744140625, + -0.876312255859375 + ], + [ + 17.527099609375, + -0.876312255859375 + ], + [ + 19.27978515625, + -0.876312255859375 + ], + [ + 20.15625, + -0.876312255859375 + ], + [ + 21.0325927734375, + -0.876312255859375 + ], + [ + 21.908935546875, + -0.876312255859375 + ], + [ + 21.908935546875, + 0.876373291015625 + ], + [ + 21.908935546875, + 0.876373291015625 + ] + ], + "pressures": [ + 0.068359375, + 0.330078125, + 0.537109375, + 0.5595703125, + 0.6083984375, + 0.6240234375, + 0.67578125, + 0.7109375, + 0.736328125, + 0.736328125, + 0.734375, + 0.73046875, + 0.740234375, + 0.751953125, + 0.75, + 0.1015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.908935546875, + 0.876373291015625 + ] + }, + { + "id": "a5JUgBhc9oq8b3SBcoF7I", + "type": "freedraw", + "x": -279.6398010253906, + "y": -225.4699478149414, + "width": 150.7332763671875, + "height": 227.8525390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2098663235, + "version": 911, + "versionNonce": 1422434467, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.5162353515625, + -7.010833740234375 + ], + [ + -10.5162353515625, + -12.269012451171875 + ], + [ + -7.01080322265625, + -20.15618896484375 + ], + [ + 2.62908935546875, + -32.425201416015625 + ], + [ + 19.27984619140625, + -48.1995849609375 + ], + [ + 38.5596923828125, + -63.973968505859375 + ], + [ + 67.47943115234375, + -77.99569702148438 + ], + [ + 85.006591796875, + -82.37747192382812 + ], + [ + 99.02825927734375, + -84.13018798828125 + ], + [ + 113.92626953125, + -80.62478637695312 + ], + [ + 134.08251953125, + -56.0867919921875 + ], + [ + 140.217041015625, + -28.04339599609375 + ], + [ + 134.9588623046875, + 6.134490966796875 + ], + [ + 117.4317626953125, + 39.436004638671875 + ], + [ + 98.15191650390625, + 68.35574340820312 + ], + [ + 77.9957275390625, + 100.78094482421875 + ], + [ + 63.9739990234375, + 118.30804443359375 + ], + [ + 49.95233154296875, + 133.20611572265625 + ], + [ + 37.683349609375, + 141.96966552734375 + ], + [ + 32.42523193359375, + 143.72235107421875 + ], + [ + 8.76361083984375, + 129.70074462890625 + ], + [ + 8.76361083984375, + 128.8243408203125 + ], + [ + 8.76361083984375, + 128.8243408203125 + ] + ], + "pressures": [ + 0.142578125, + 0.345703125, + 0.5458984375, + 0.822265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.126953125, + 0.0732421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.76361083984375, + 128.8243408203125 + ] + }, + { + "id": "OLpiG8LcniVt8xAbvnkoP", + "type": "freedraw", + "x": -220.92391967773438, + "y": -283.30945587158203, + "width": 195.42742919921875, + "height": 233.1107177734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 294581827, + "version": 887, + "versionNonce": 839479053, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.51629638671875, + -7.88720703125 + ], + [ + -7.0108642578125, + -10.516265869140625 + ], + [ + 3.50543212890625, + -17.527130126953125 + ], + [ + 16.6507568359375, + -21.032562255859375 + ], + [ + 29.79608154296875, + -21.908905029296875 + ], + [ + 45.57049560546875, + -21.908905029296875 + ], + [ + 61.34490966796875, + -17.527130126953125 + ], + [ + 78.87200927734375, + -5.258148193359375 + ], + [ + 87.63555908203125, + 11.39263916015625 + ], + [ + 97.27557373046875, + 36.80694580078125 + ], + [ + 113.92633056640625, + 78.87203979492188 + ], + [ + 120.93719482421875, + 102.53366088867188 + ], + [ + 120.93719482421875, + 124.44256591796875 + ], + [ + 108.66815185546875, + 146.35147094726562 + ], + [ + 86.75921630859375, + 167.38400268554688 + ], + [ + 54.33404541015625, + 184.91110229492188 + ], + [ + 2.62908935546875, + 201.56185913085938 + ], + [ + -23.66162109375, + 205.94369506835938 + ], + [ + -42.0650634765625, + 209.44912719726562 + ], + [ + -55.21044921875, + 211.20181274414062 + ], + [ + -57.8394775390625, + 211.20181274414062 + ], + [ + -63.09765625, + 208.57272338867188 + ], + [ + -69.23211669921875, + 205.06735229492188 + ], + [ + -72.737548828125, + 202.43826293945312 + ], + [ + -74.490234375, + 201.56185913085938 + ], + [ + -71.8612060546875, + 201.56185913085938 + ], + [ + -70.10845947265625, + 201.56185913085938 + ], + [ + -70.10845947265625, + 201.56185913085938 + ] + ], + "pressures": [ + 0.052734375, + 0.5673828125, + 0.740234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1162109375, + 0.0126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -70.10845947265625, + 201.56185913085938 + ] + }, + { + "id": "WJOMYPSNBX_ikChLjsQTo", + "type": "freedraw", + "x": -168.34255981445312, + "y": -305.2183609008789, + "width": 276.0521240234375, + "height": 284.8157958984375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1122456877, + "version": 878, + "versionNonce": 1624413251, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -8.7635498046875 + ], + [ + -11.39263916015625, + -27.16705322265625 + ], + [ + -22.7852783203125, + -34.177886962890625 + ], + [ + -35.93060302734375, + -35.93060302734375 + ], + [ + -50.82861328125, + -31.548828125 + ], + [ + -66.60302734375, + -21.908905029296875 + ], + [ + -83.25384521484375, + 1.752716064453125 + ], + [ + -87.6356201171875, + 29.796112060546875 + ], + [ + -85.00653076171875, + 65.72671508789062 + ], + [ + -73.6138916015625, + 99.90460205078125 + ], + [ + -54.33404541015625, + 127.94796752929688 + ], + [ + -13.14532470703125, + 163.002197265625 + ], + [ + 22.7852783203125, + 184.9111328125 + ], + [ + 66.60302734375, + 209.44915771484375 + ], + [ + 120.9371337890625, + 232.234375 + ], + [ + 182.2821044921875, + 248.88519287109375 + ], + [ + 188.41650390625, + 245.37969970703125 + ], + [ + 172.6422119140625, + 236.61614990234375 + ], + [ + 172.6422119140625, + 236.61614990234375 + ] + ], + "pressures": [ + 0.1552734375, + 0.2080078125, + 0.572265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.48046875, + 0.2451171875, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 172.6422119140625, + 236.61614990234375 + ] + }, + { + "id": "6BZhGhugan97B_gMWGzpM", + "type": "freedraw", + "x": -248.96731567382812, + "y": -308.72379302978516, + "width": 272.5467529296875, + "height": 249.761474609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1724896621, + "version": 876, + "versionNonce": 981599597, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -11.392608642578125 + ], + [ + -6.13446044921875, + -11.392608642578125 + ], + [ + -8.7635498046875, + -12.26898193359375 + ], + [ + -12.26898193359375, + -10.516265869140625 + ], + [ + -23.66162109375, + 14.021697998046875 + ], + [ + -30.6724853515625, + 48.1995849609375 + ], + [ + -29.79608154296875, + 89.38833618164062 + ], + [ + -14.02166748046875, + 127.07162475585938 + ], + [ + 14.021728515625, + 156.86773681640625 + ], + [ + 73.6138916015625, + 191.9219970703125 + ], + [ + 116.555419921875, + 208.57281494140625 + ], + [ + 159.496826171875, + 222.59442138671875 + ], + [ + 201.5618896484375, + 233.1107177734375 + ], + [ + 241.874267578125, + 237.49249267578125 + ], + [ + 240.9979248046875, + 233.1107177734375 + ], + [ + 235.7398681640625, + 230.481689453125 + ], + [ + 235.7398681640625, + 230.481689453125 + ] + ], + "pressures": [ + 0.0048828125, + 0.23828125, + 0.3232421875, + 0.6025390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.427734375, + 0.1259765625, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 235.7398681640625, + 230.481689453125 + ] + }, + { + "id": "GuWB259rs7_uB4bIk1SfD", + "type": "freedraw", + "x": -277.8870544433594, + "y": -261.40055084228516, + "width": 141.09326171875, + "height": 297.0846862792969, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1497962317, + "version": 879, + "versionNonce": 714937315, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -6.134490966796875 + ], + [ + -5.25811767578125, + -16.650787353515625 + ], + [ + -1.75274658203125, + -28.919769287109375 + ], + [ + 13.14532470703125, + -45.57049560546875 + ], + [ + 48.1995849609375, + -75.36663818359375 + ], + [ + 74.490234375, + -87.6356201171875 + ], + [ + 98.15185546875, + -90.26467895507812 + ], + [ + 117.43170166015625, + -85.00653076171875 + ], + [ + 130.57708740234375, + -73.61392211914062 + ], + [ + 135.83514404296875, + -65.72671508789062 + ], + [ + 117.43170166015625, + 63.973968505859375 + ], + [ + 102.53363037109375, + 87.63558959960938 + ], + [ + 71.8612060546875, + 127.947998046875 + ], + [ + 50.82867431640625, + 156.8677978515625 + ], + [ + 38.5596923828125, + 177.02392578125 + ], + [ + 31.548828125, + 190.16925048828125 + ], + [ + 24.5379638671875, + 202.438232421875 + ], + [ + 21.90887451171875, + 206.82000732421875 + ], + [ + 21.90887451171875, + 205.94366455078125 + ], + [ + 21.90887451171875, + 205.94366455078125 + ] + ], + "pressures": [ + 0.130859375, + 0.1689453125, + 0.2490234375, + 0.4296875, + 0.669921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5322265625, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.90887451171875, + 205.94366455078125 + ] + }, + { + "id": "DN2omJXmr-EvSPIOQvdUq", + "type": "freedraw", + "x": -257.7308654785156, + "y": -263.15323638916016, + "width": 101.6573486328125, + "height": 299.7137451171875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 63310787, + "version": 882, + "versionNonce": 676909005, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.134521484375, + -7.010894775390625 + ], + [ + -7.88720703125, + -21.0325927734375 + ], + [ + -3.50543212890625, + -34.17791748046875 + ], + [ + 9.639892578125, + -48.1995849609375 + ], + [ + 28.91973876953125, + -63.097686767578125 + ], + [ + 45.57049560546875, + -75.36666870117188 + ], + [ + 54.33404541015625, + -81.50115966796875 + ], + [ + 55.21044921875, + -82.37750244140625 + ], + [ + 56.963134765625, + -80.62478637695312 + ], + [ + 65.7266845703125, + -68.35580444335938 + ], + [ + 84.13018798828125, + -25.41436767578125 + ], + [ + 91.1409912109375, + 13.14532470703125 + ], + [ + 93.7701416015625, + 56.963104248046875 + ], + [ + 93.7701416015625, + 102.53363037109375 + ], + [ + 92.017333984375, + 144.59869384765625 + ], + [ + 87.6356201171875, + 191.04559326171875 + ], + [ + 87.6356201171875, + 206.820068359375 + ], + [ + 88.511962890625, + 214.70721435546875 + ], + [ + 86.75921630859375, + 217.33624267578125 + ], + [ + 78.8720703125, + 212.078125 + ], + [ + 73.6138916015625, + 208.57269287109375 + ], + [ + 72.737548828125, + 206.820068359375 + ], + [ + 72.737548828125, + 206.820068359375 + ] + ], + "pressures": [ + 0.095703125, + 0.1767578125, + 0.388671875, + 0.6220703125, + 0.7666015625, + 0.8076171875, + 0.828125, + 0.859375, + 0.880859375, + 0.90234375, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9423828125, + 0.734375, + 0.3740234375, + 0.2001953125, + 0.11328125, + 0.0283203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 72.737548828125, + 206.820068359375 + ] + }, + { + "id": "VESbPkO5RBApGwRAEhCIu", + "type": "freedraw", + "x": -244.58554077148438, + "y": -260.52420806884766, + "width": 113.92626953125, + "height": 272.5467529296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 290484931, + "version": 880, + "versionNonce": 1110876035, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.25811767578125, + -6.134490966796875 + ], + [ + -6.13446044921875, + -14.898040771484375 + ], + [ + -2.6290283203125, + -36.80694580078125 + ], + [ + 7.0108642578125, + -52.58135986328125 + ], + [ + 19.27984619140625, + -63.097625732421875 + ], + [ + 35.93060302734375, + -69.23211669921875 + ], + [ + 51.70501708984375, + -71.8612060546875 + ], + [ + 73.6138916015625, + -62.221282958984375 + ], + [ + 91.14105224609375, + -37.68328857421875 + ], + [ + 104.28643798828125, + -0.8763427734375 + ], + [ + 107.79180908203125, + 44.69415283203125 + ], + [ + 99.90460205078125, + 116.55535888671875 + ], + [ + 90.26470947265625, + 155.991455078125 + ], + [ + 80.62481689453125, + 181.40570068359375 + ], + [ + 74.49029541015625, + 194.551025390625 + ], + [ + 66.60308837890625, + 200.685546875 + ], + [ + 58.71588134765625, + 198.05645751953125 + ], + [ + 47.3232421875, + 192.79833984375 + ], + [ + 37.683349609375, + 188.41656494140625 + ], + [ + 35.93060302734375, + 185.7874755859375 + ], + [ + 35.93060302734375, + 185.7874755859375 + ] + ], + "pressures": [ + 0.001953125, + 0.126953125, + 0.1826171875, + 0.330078125, + 0.4677734375, + 0.609375, + 0.71875, + 0.7890625, + 0.861328125, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.626953125, + 0.2490234375, + 0.1513671875, + 0.0791015625, + 0.0048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.93060302734375, + 185.7874755859375 + ] + }, + { + "id": "44b7tawYn5WTTdAUNeqTA", + "type": "freedraw", + "x": -241.08010864257812, + "y": -242.99707794189453, + "width": 76.24298095703125, + "height": 249.761474609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 971413027, + "version": 878, + "versionNonce": 430394925, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.88720703125, + -7.010833740234375 + ], + [ + -9.639892578125, + -14.8980712890625 + ], + [ + -9.639892578125, + -28.04339599609375 + ], + [ + -4.38177490234375, + -45.570526123046875 + ], + [ + 4.38177490234375, + -63.973968505859375 + ], + [ + 21.908935546875, + -86.75924682617188 + ], + [ + 31.548828125, + -94.64642333984375 + ], + [ + 35.05426025390625, + -97.27554321289062 + ], + [ + 39.43603515625, + -95.5228271484375 + ], + [ + 50.82867431640625, + -77.11932373046875 + ], + [ + 59.59222412109375, + -49.075958251953125 + ], + [ + 65.7266845703125, + -5.258148193359375 + ], + [ + 66.60308837890625, + 45.57049560546875 + ], + [ + 66.60308837890625, + 90.26467895507812 + ], + [ + 59.59222412109375, + 134.08248901367188 + ], + [ + 57.8394775390625, + 147.22787475585938 + ], + [ + 57.8394775390625, + 151.60964965820312 + ], + [ + 57.8394775390625, + 152.48593139648438 + ], + [ + 57.8394775390625, + 152.48593139648438 + ] + ], + "pressures": [ + 0.0947265625, + 0.2822265625, + 0.40625, + 0.5615234375, + 0.712890625, + 0.8427734375, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.951171875, + 0.8203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 57.8394775390625, + 152.48593139648438 + ] + }, + { + "id": "cW-uAE09bAoQG4XGh7xl5", + "type": "freedraw", + "x": -332.2211608886719, + "y": -187.78665924072266, + "width": 369.822265625, + "height": 53.45770263671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 588739917, + "version": 859, + "versionNonce": 836613923, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + -2.629058837890625 + ], + [ + -13.14532470703125, + -3.505401611328125 + ], + [ + -14.89801025390625, + -0.8763427734375 + ], + [ + -14.89801025390625, + 2.62908935546875 + ], + [ + -2.62896728515625, + 7.0108642578125 + ], + [ + 25.41436767578125, + 14.8980712890625 + ], + [ + 99.90460205078125, + 28.919769287109375 + ], + [ + 168.26043701171875, + 33.301513671875 + ], + [ + 239.24517822265625, + 32.4251708984375 + ], + [ + 296.20843505859375, + 26.290679931640625 + ], + [ + 335.64434814453125, + 18.403472900390625 + ], + [ + 354.92425537109375, + -1.752716064453125 + ], + [ + 354.04803466796875, + -17.527099609375 + ], + [ + 349.66619873046875, + -20.15618896484375 + ], + [ + 349.66619873046875, + -20.15618896484375 + ] + ], + "pressures": [ + 0.0537109375, + 0.0869140625, + 0.1767578125, + 0.3583984375, + 0.55859375, + 0.8095703125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7568359375, + 0.2216796875, + 0.1015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 349.66619873046875, + -20.15618896484375 + ] + }, + { + "id": "QYLa-DdOQjPFM3pdQmX6P", + "type": "freedraw", + "x": -308.5594787597656, + "y": -177.27039337158203, + "width": 482.87213134765625, + "height": 18.40350341796875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 126246243, + "version": 860, + "versionNonce": 760676493, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.51629638671875, + 0.876373291015625 + ], + [ + -18.40350341796875, + 2.62908935546875 + ], + [ + -24.53802490234375, + 2.62908935546875 + ], + [ + -27.16705322265625, + 3.50543212890625 + ], + [ + -17.527099609375, + 6.134521484375 + ], + [ + 6.13446044921875, + 11.39263916015625 + ], + [ + 42.0650634765625, + 15.7744140625 + ], + [ + 120.93707275390625, + 18.40350341796875 + ], + [ + 193.6746826171875, + 17.527130126953125 + ], + [ + 273.423095703125, + 14.8980712890625 + ], + [ + 344.4078369140625, + 11.39263916015625 + ], + [ + 416.26904296875, + 7.88720703125 + ], + [ + 442.559814453125, + 7.88720703125 + ], + [ + 455.705078125, + 7.0108642578125 + ], + [ + 455.705078125, + 5.258148193359375 + ], + [ + 455.705078125, + 5.258148193359375 + ] + ], + "pressures": [ + 0.01171875, + 0.080078125, + 0.1865234375, + 0.306640625, + 0.466796875, + 0.90625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4970703125, + 0.1513671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 455.705078125, + 5.258148193359375 + ] + }, + { + "id": "L8teSpcGpH7Sq36H4OplS", + "type": "freedraw", + "x": -349.7482604980469, + "y": -185.1575698852539, + "width": 503.02838134765625, + "height": 37.68328857421875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1074127971, + "version": 860, + "versionNonce": 939580099, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.639892578125, + 0.8763427734375 + ], + [ + -10.51629638671875, + 0.8763427734375 + ], + [ + -11.392578125, + 0.8763427734375 + ], + [ + -10.51629638671875, + 2.629058837890625 + ], + [ + 4.38177490234375, + 7.010833740234375 + ], + [ + 28.04345703125, + 11.392608642578125 + ], + [ + 67.47943115234375, + 16.6507568359375 + ], + [ + 118.30804443359375, + 24.5379638671875 + ], + [ + 208.57269287109375, + 35.93060302734375 + ], + [ + 264.65948486328125, + 37.68328857421875 + ], + [ + 318.11724853515625, + 35.93060302734375 + ], + [ + 372.45135498046875, + 28.91973876953125 + ], + [ + 424.15643310546875, + 18.403472900390625 + ], + [ + 489.88311767578125, + 2.629058837890625 + ], + [ + 491.63580322265625, + 1.752685546875 + ], + [ + 491.63580322265625, + 1.752685546875 + ] + ], + "pressures": [ + 0.1064453125, + 0.171875, + 0.2001953125, + 0.294921875, + 0.748046875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.57421875, + 0.21875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 491.63580322265625, + 1.752685546875 + ] + }, + { + "id": "gvP34A4QlwyWNX3PLdjVm", + "type": "freedraw", + "x": -356.7590637207031, + "y": -178.14673614501953, + "width": 436.42535400390625, + "height": 17.527130126953125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 98593635, + "version": 857, + "versionNonce": 1763796717, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + 8.7635498046875, + 3.50543212890625 + ], + [ + 49.9522705078125, + 10.516265869140625 + ], + [ + 95.52276611328125, + 11.39263916015625 + ], + [ + 155.9913330078125, + 8.7635498046875 + ], + [ + 231.35791015625, + 1.752716064453125 + ], + [ + 309.3536376953125, + -3.50543212890625 + ], + [ + 372.4512939453125, + -6.134490966796875 + ], + [ + 421.5272216796875, + -4.38177490234375 + ], + [ + 430.290771484375, + -4.38177490234375 + ], + [ + 432.9197998046875, + -4.38177490234375 + ], + [ + 433.7962646484375, + -4.38177490234375 + ], + [ + 433.7962646484375, + -4.38177490234375 + ] + ], + "pressures": [ + 0.1494140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.47265625, + 0.2607421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 433.7962646484375, + -4.38177490234375 + ] + }, + { + "id": "44BbGdT8PWc1lGND83u5E", + "type": "freedraw", + "x": -357.6354675292969, + "y": -188.66300201416016, + "width": 510.039306640625, + "height": 34.177886962890625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 292558989, + "version": 860, + "versionNonce": 1094617699, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + -1.752716064453125 + ], + [ + -9.639892578125, + -1.752716064453125 + ], + [ + -10.51629638671875, + -1.752716064453125 + ], + [ + -6.13446044921875, + 0.8763427734375 + ], + [ + 6.134521484375, + 6.134490966796875 + ], + [ + 25.414306640625, + 12.26898193359375 + ], + [ + 57.83953857421875, + 20.15618896484375 + ], + [ + 130.57708740234375, + 30.672454833984375 + ], + [ + 195.42742919921875, + 32.4251708984375 + ], + [ + 269.91766357421875, + 29.796112060546875 + ], + [ + 384.72027587890625, + 21.03253173828125 + ], + [ + 447.81793212890625, + 16.6507568359375 + ], + [ + 489.00677490234375, + 14.021697998046875 + ], + [ + 499.52301025390625, + 13.14532470703125 + ], + [ + 495.14117431640625, + 12.26898193359375 + ], + [ + 495.14117431640625, + 12.26898193359375 + ] + ], + "pressures": [ + 0.017578125, + 0.1689453125, + 0.20703125, + 0.326171875, + 0.861328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.251953125, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 495.14117431640625, + 12.26898193359375 + ] + }, + { + "id": "i4oBJO95SLIG7pxs4jDKS", + "type": "freedraw", + "x": -334.8501281738281, + "y": -182.52851104736328, + "width": 485.501220703125, + "height": 46.446868896484375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 484819341, + "version": 856, + "versionNonce": 1603273037, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.5054931640625, + -1.752716064453125 + ], + [ + 31.54876708984375, + 4.38177490234375 + ], + [ + 71.86114501953125, + 11.39263916015625 + ], + [ + 122.68975830078125, + 19.279815673828125 + ], + [ + 208.5726318359375, + 24.5379638671875 + ], + [ + 265.5357666015625, + 21.03253173828125 + ], + [ + 328.6334228515625, + 12.26898193359375 + ], + [ + 391.731201171875, + 0.8763427734375 + ], + [ + 443.43603515625, + -10.516265869140625 + ], + [ + 476.7376708984375, + -19.27984619140625 + ], + [ + 481.9957275390625, + -21.908905029296875 + ], + [ + 481.9957275390625, + -21.908905029296875 + ] + ], + "pressures": [ + 0.009765625, + 0.82421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.677734375, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 481.9957275390625, + -21.908905029296875 + ] + }, + { + "id": "fue2cV475DAIvBeEvQrkL", + "type": "freedraw", + "x": -225.30569458007812, + "y": -161.49597930908203, + "width": 99.0281982421875, + "height": 40.3123779296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 98988589, + "version": 863, + "versionNonce": 577062403, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.25811767578125, + 0 + ], + [ + 6.134521484375, + 0 + ], + [ + 4.38177490234375, + -0.8763427734375 + ], + [ + 1.752685546875, + -1.752716064453125 + ], + [ + -4.38177490234375, + -1.752716064453125 + ], + [ + -9.639892578125, + -1.752716064453125 + ], + [ + -15.7744140625, + -1.752716064453125 + ], + [ + -21.03253173828125, + -0.8763427734375 + ], + [ + -23.66162109375, + 1.752716064453125 + ], + [ + -23.66162109375, + 6.134490966796875 + ], + [ + -21.03253173828125, + 10.516265869140625 + ], + [ + -14.8980712890625, + 16.650787353515625 + ], + [ + -4.38177490234375, + 21.908905029296875 + ], + [ + 10.51629638671875, + 28.919769287109375 + ], + [ + 32.4251708984375, + 35.930633544921875 + ], + [ + 46.4468994140625, + 38.559661865234375 + ], + [ + 52.58135986328125, + 38.559661865234375 + ], + [ + 75.3665771484375, + 35.054229736328125 + ], + [ + 75.3665771484375, + 32.425201416015625 + ], + [ + 72.737548828125, + 28.043426513671875 + ], + [ + 67.4793701171875, + 25.414337158203125 + ], + [ + 66.60302734375, + 25.414337158203125 + ], + [ + 66.60302734375, + 25.414337158203125 + ] + ], + "pressures": [ + 0.0029296875, + 0.1220703125, + 0.1904296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.55078125, + 0.1630859375, + 0.0810546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.60302734375, + 25.414337158203125 + ] + }, + { + "id": "5fILDsP9Ct0BhRwawUPsa", + "type": "freedraw", + "x": -218.29483032226562, + "y": -165.00138092041016, + "width": 72.73760986328125, + "height": 42.065093994140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 622453731, + "version": 862, + "versionNonce": 368857005, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -4.381805419921875 + ], + [ + -2.62908935546875, + -5.258148193359375 + ], + [ + -6.134521484375, + -6.134490966796875 + ], + [ + -10.51629638671875, + -6.134490966796875 + ], + [ + -14.021728515625, + -6.134490966796875 + ], + [ + -17.52716064453125, + -3.50543212890625 + ], + [ + -18.40350341796875, + -0.876373291015625 + ], + [ + -18.40350341796875, + 0 + ], + [ + -18.40350341796875, + 1.752685546875 + ], + [ + -16.6507568359375, + 7.010833740234375 + ], + [ + -5.2581787109375, + 14.89801025390625 + ], + [ + 18.4034423828125, + 27.16705322265625 + ], + [ + 33.301513671875, + 31.548828125 + ], + [ + 44.69415283203125, + 34.1778564453125 + ], + [ + 53.457763671875, + 35.93060302734375 + ], + [ + 54.3341064453125, + 35.93060302734375 + ], + [ + 54.3341064453125, + 33.301513671875 + ], + [ + 51.7049560546875, + 29.79608154296875 + ], + [ + 47.32318115234375, + 25.414306640625 + ], + [ + 45.57049560546875, + 24.5379638671875 + ], + [ + 44.69415283203125, + 24.5379638671875 + ], + [ + 44.69415283203125, + 24.5379638671875 + ] + ], + "pressures": [ + 0.0703125, + 0.75390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.259765625, + 0.1279296875, + 0.0595703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 44.69415283203125, + 24.5379638671875 + ] + }, + { + "id": "3g2-t6xcS_4fFJDDfTBTo", + "type": "freedraw", + "x": -225.30569458007812, + "y": -165.87775421142578, + "width": 73.6138916015625, + "height": 42.941436767578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 934749347, + "version": 859, + "versionNonce": 309562787, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.25811767578125, + -2.629058837890625 + ], + [ + 4.38177490234375, + -2.629058837890625 + ], + [ + 1.752685546875, + -3.50543212890625 + ], + [ + -2.62908935546875, + -3.50543212890625 + ], + [ + -8.7635498046875, + -3.50543212890625 + ], + [ + -14.02166748046875, + 0 + ], + [ + -14.8980712890625, + 4.38177490234375 + ], + [ + -12.26898193359375, + 10.516265869140625 + ], + [ + -7.0108642578125, + 17.527130126953125 + ], + [ + 6.134521484375, + 25.414337158203125 + ], + [ + 16.6507568359375, + 29.796112060546875 + ], + [ + 25.414306640625, + 33.301544189453125 + ], + [ + 34.1778564453125, + 36.806976318359375 + ], + [ + 42.0650634765625, + 38.559661865234375 + ], + [ + 51.70501708984375, + 39.436004638671875 + ], + [ + 56.0867919921875, + 36.806976318359375 + ], + [ + 58.7158203125, + 34.177886962890625 + ], + [ + 58.7158203125, + 33.301544189453125 + ], + [ + 58.7158203125, + 33.301544189453125 + ] + ], + "pressures": [ + 0.01953125, + 0.9296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4794921875, + 0.1826171875, + 0.1064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 58.7158203125, + 33.301544189453125 + ] + }, + { + "id": "oud46u0z7b3zfgh6QfGA5", + "type": "freedraw", + "x": -227.93478393554688, + "y": -162.37232208251953, + "width": 65.7266845703125, + "height": 43.81781005859375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1636722061, + "version": 860, + "versionNonce": 714068493, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.87640380859375, + -4.38177490234375 + ], + [ + 0.87640380859375, + -5.258148193359375 + ], + [ + -1.752685546875, + -5.258148193359375 + ], + [ + -4.38177490234375, + -3.50543212890625 + ], + [ + -7.88720703125, + -1.752716064453125 + ], + [ + -10.5162353515625, + -0.876373291015625 + ], + [ + -13.14532470703125, + 0 + ], + [ + -13.14532470703125, + 4.38177490234375 + ], + [ + -7.88720703125, + 9.639923095703125 + ], + [ + -1.752685546875, + 15.774383544921875 + ], + [ + 6.134521484375, + 20.156158447265625 + ], + [ + 21.0325927734375, + 27.167022705078125 + ], + [ + 31.548828125, + 32.425140380859375 + ], + [ + 40.3123779296875, + 35.930572509765625 + ], + [ + 46.4468994140625, + 37.683319091796875 + ], + [ + 49.95233154296875, + 38.559661865234375 + ], + [ + 52.58135986328125, + 36.806976318359375 + ], + [ + 52.58135986328125, + 34.177886962890625 + ], + [ + 52.58135986328125, + 31.548797607421875 + ], + [ + 52.58135986328125, + 31.548797607421875 + ] + ], + "pressures": [ + 0.0849609375, + 0.3662109375, + 0.572265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.46484375, + 0.2099609375, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 52.58135986328125, + 31.548797607421875 + ] + }, + { + "id": "8hXBoLFIJ6EENU9zxRagJ", + "type": "freedraw", + "x": -326.0865783691406, + "y": -180.77579498291016, + "width": 517.0501098632812, + "height": 29.796112060546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 954639885, + "version": 856, + "versionNonce": 1687675203, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -12.26904296875, + -1.752716064453125 + ], + [ + -15.77447509765625, + -2.62908935546875 + ], + [ + -16.65081787109375, + -3.50543212890625 + ], + [ + -9.63995361328125, + -3.50543212890625 + ], + [ + 28.919677734375, + 0 + ], + [ + 70.1083984375, + 4.38177490234375 + ], + [ + 122.68975830078125, + 11.392608642578125 + ], + [ + 182.281982421875, + 16.6507568359375 + ], + [ + 263.7830810546875, + 16.6507568359375 + ], + [ + 290.9501953125, + 14.021697998046875 + ], + [ + 368.94580078125, + 1.752716064453125 + ], + [ + 421.5272216796875, + -6.134490966796875 + ], + [ + 465.344970703125, + -11.39263916015625 + ], + [ + 486.3775634765625, + -12.26898193359375 + ], + [ + 500.3992919921875, + -13.145355224609375 + ], + [ + 500.3992919921875, + -13.145355224609375 + ] + ], + "pressures": [ + 0.06640625, + 0.236328125, + 0.3828125, + 0.484375, + 0.7890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6923828125, + 0.15625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 500.3992919921875, + -13.145355224609375 + ] + }, + { + "id": "Tmg2MlJ6B3I5c5jsh_9H9", + "type": "freedraw", + "x": 10.434051513671875, + "y": -189.53937530517578, + "width": 481.99578857421875, + "height": 49.952301025390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1481363213, + "version": 860, + "versionNonce": 977537133, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 14.021728515625, + -0.8763427734375 + ], + [ + 17.527099609375, + -0.8763427734375 + ], + [ + 10.516357421875, + 0.876373291015625 + ], + [ + -5.258056640625, + 3.50543212890625 + ], + [ + -28.043212890625, + 8.763580322265625 + ], + [ + -61.3448486328125, + 13.145355224609375 + ], + [ + -139.340576171875, + 18.40350341796875 + ], + [ + -206.82000732421875, + 18.40350341796875 + ], + [ + -275.17578125, + 16.650787353515625 + ], + [ + -333.8916015625, + 12.26898193359375 + ], + [ + -377.70941162109375, + 5.258148193359375 + ], + [ + -418.898193359375, + -6.134490966796875 + ], + [ + -438.177978515625, + -14.898040771484375 + ], + [ + -452.19970703125, + -23.661590576171875 + ], + [ + -461.839599609375, + -30.672454833984375 + ], + [ + -463.59228515625, + -31.548797607421875 + ], + [ + -464.46868896484375, + -31.548797607421875 + ], + [ + -463.59228515625, + -30.672454833984375 + ], + [ + -462.7159423828125, + -30.672454833984375 + ], + [ + -462.7159423828125, + -30.672454833984375 + ] + ], + "pressures": [ + 0.0595703125, + 0.109375, + 0.1748046875, + 0.599609375, + 0.8681640625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.990234375, + 0.7744140625, + 0.6376953125, + 0.419921875, + 0.26171875, + 0.228515625, + 0.19140625, + 0.0908203125, + 0.056640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -462.7159423828125, + -30.672454833984375 + ] + }, + { + "id": "xMH-tI23L2EptPBAUKz9K", + "type": "freedraw", + "x": -383.9261169433594, + "y": -196.55020904541016, + "width": 565.2496337890625, + "height": 41.188720703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1959205069, + "version": 854, + "versionNonce": 36749539, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -16.6507568359375, + 2.629058837890625 + ], + [ + -28.9197998046875, + 7.010833740234375 + ], + [ + -35.05426025390625, + 8.7635498046875 + ], + [ + -21.03253173828125, + 11.39263916015625 + ], + [ + 0, + 13.14532470703125 + ], + [ + 39.43597412109375, + 17.527130126953125 + ], + [ + 100.78094482421875, + 27.167022705078125 + ], + [ + 172.64208984375, + 36.80694580078125 + ], + [ + 240.12152099609375, + 41.188720703125 + ], + [ + 321.62261962890625, + 39.436004638671875 + ], + [ + 367.19317626953125, + 34.177886962890625 + ], + [ + 411.88726806640625, + 28.04339599609375 + ], + [ + 530.1953735351562, + 17.527130126953125 + ], + [ + 530.1953735351562, + 17.527130126953125 + ] + ], + "pressures": [ + 0.12109375, + 0.1552734375, + 0.1962890625, + 0.330078125, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1787109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 530.1953735351562, + 17.527130126953125 + ] + }, + { + "id": "iHROGrPSnf_34BjWPZfc6", + "type": "freedraw", + "x": 71.77902221679688, + "y": -191.29206085205078, + "width": 576.6422729492188, + "height": 34.177886962890625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1996978029, + "version": 861, + "versionNonce": 115503821, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 15.7745361328125, + 1.752685546875 + ], + [ + 22.7852783203125, + 1.752685546875 + ], + [ + 27.1669921875, + 1.752685546875 + ], + [ + 28.0433349609375, + 1.752685546875 + ], + [ + 22.7852783203125, + 4.38177490234375 + ], + [ + -6.1343994140625, + 11.392608642578125 + ], + [ + -40.3123779296875, + 15.774383544921875 + ], + [ + -92.0174560546875, + 19.279815673828125 + ], + [ + -162.1258544921875, + 18.403472900390625 + ], + [ + -241.874267578125, + 14.02166748046875 + ], + [ + -350.54241943359375, + 7.887176513671875 + ], + [ + -403.123779296875, + 6.134490966796875 + ], + [ + -441.68341064453125, + 6.134490966796875 + ], + [ + -470.60321044921875, + 6.134490966796875 + ], + [ + -501.27569580078125, + 1.752685546875 + ], + [ + -517.0501098632812, + -3.50543212890625 + ], + [ + -531.9481201171875, + -8.763580322265625 + ], + [ + -542.46435546875, + -12.269012451171875 + ], + [ + -547.7225341796875, + -14.021697998046875 + ], + [ + -548.5989379882812, + -14.8980712890625 + ], + [ + -548.5989379882812, + -14.8980712890625 + ] + ], + "pressures": [ + 0.0244140625, + 0.0625, + 0.123046875, + 0.2080078125, + 0.2568359375, + 0.859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6240234375, + 0.349609375, + 0.2568359375, + 0.2138671875, + 0.154296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -548.5989379882812, + -14.8980712890625 + ] + }, + { + "id": "UXaoa0fs7usqqQHauxZcj", + "type": "freedraw", + "x": -412.8459167480469, + "y": -198.30292510986328, + "width": 533.7008056640625, + "height": 22.785247802734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 990981155, + "version": 857, + "versionNonce": 617393283, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + 0 + ], + [ + -9.63983154296875, + 0.8763427734375 + ], + [ + -9.63983154296875, + 1.752716064453125 + ], + [ + 0.87640380859375, + 2.629058837890625 + ], + [ + 36.8070068359375, + 7.0108642578125 + ], + [ + 79.7484130859375, + 11.39263916015625 + ], + [ + 137.58795166015625, + 14.021697998046875 + ], + [ + 203.31463623046875, + 11.39263916015625 + ], + [ + 270.79400634765625, + 5.258148193359375 + ], + [ + 367.19317626953125, + -1.752716064453125 + ], + [ + 424.15631103515625, + -2.629058837890625 + ], + [ + 467.09783935546875, + -0.8763427734375 + ], + [ + 495.14117431640625, + 2.629058837890625 + ], + [ + 510.91558837890625, + 2.629058837890625 + ], + [ + 522.3082885742188, + -3.50543212890625 + ], + [ + 524.0609741210938, + -8.7635498046875 + ], + [ + 524.0609741210938, + -8.7635498046875 + ] + ], + "pressures": [ + 0.0244140625, + 0.0869140625, + 0.125, + 0.349609375, + 0.53515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 0.5322265625, + 0.1923828125, + 0.0810546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 524.0609741210938, + -8.7635498046875 + ] + }, + { + "id": "B2k96KBulBbjf3LbOjBK7", + "type": "freedraw", + "x": 18.321258544921875, + "y": -185.1575698852539, + "width": 492.5120849609375, + "height": 64.85031127929688, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 945685645, + "version": 854, + "versionNonce": 1560580397, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -35.930419921875, + 3.505401611328125 + ], + [ + -74.490234375, + 11.392608642578125 + ], + [ + -127.947998046875, + 19.279815673828125 + ], + [ + -196.3037109375, + 21.90887451171875 + ], + [ + -273.42303466796875, + 19.279815673828125 + ], + [ + -373.32763671875, + 3.505401611328125 + ], + [ + -411.010986328125, + -7.0108642578125 + ], + [ + -437.3016357421875, + -17.527130126953125 + ], + [ + -457.45782470703125, + -27.16705322265625 + ], + [ + -466.22137451171875, + -30.6724853515625 + ], + [ + -489.88299560546875, + -41.188751220703125 + ], + [ + -492.5120849609375, + -42.941436767578125 + ], + [ + -490.75933837890625, + -42.065093994140625 + ], + [ + -490.75933837890625, + -42.065093994140625 + ] + ], + "pressures": [ + 0.0107421875, + 0.701171875, + 0.853515625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.951171875, + 0.828125, + 0.3359375, + 0.2177734375, + 0.0341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -490.75933837890625, + -42.065093994140625 + ] + }, + { + "id": "TWe23xztl9qGSxqxmnmkZ", + "type": "freedraw", + "x": -361.1408386230469, + "y": -202.68470001220703, + "width": 541.5880126953125, + "height": 30.672454833984375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1072798509, + "version": 855, + "versionNonce": 1344939043, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.63995361328125, + -2.629058837890625 + ], + [ + -13.14532470703125, + -2.629058837890625 + ], + [ + -13.14532470703125, + 0 + ], + [ + -9.63995361328125, + 3.50543212890625 + ], + [ + 3.50537109375, + 7.010833740234375 + ], + [ + 43.81781005859375, + 12.26898193359375 + ], + [ + 88.51190185546875, + 14.021697998046875 + ], + [ + 143.72235107421875, + 14.898040771484375 + ], + [ + 207.69635009765625, + 16.6507568359375 + ], + [ + 281.31024169921875, + 20.15618896484375 + ], + [ + 401.37103271484375, + 27.167022705078125 + ], + [ + 475.86126708984375, + 28.04339599609375 + ], + [ + 528.4426879882812, + 25.414306640625 + ], + [ + 524.0608520507812, + 23.66162109375 + ], + [ + 524.0608520507812, + 23.66162109375 + ] + ], + "pressures": [ + 0.048828125, + 0.1923828125, + 0.49609375, + 0.751953125, + 0.9560546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.75390625, + 0.341796875, + 0.0439453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 524.0608520507812, + 23.66162109375 + ] + }, + { + "id": "71b5ctYVrcvB73cAFRzT7", + "type": "freedraw", + "x": -345.3664855957031, + "y": -197.42658233642578, + "width": 425.9090576171875, + "height": 31.548828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1121593731, + "version": 854, + "versionNonce": 974381965, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.639892578125, + 4.381805419921875 + ], + [ + -9.639892578125, + 7.0108642578125 + ], + [ + -7.01080322265625, + 9.639923095703125 + ], + [ + 10.516357421875, + 13.145355224609375 + ], + [ + 64.850341796875, + 18.40350341796875 + ], + [ + 113.0499267578125, + 18.40350341796875 + ], + [ + 171.76580810546875, + 14.021697998046875 + ], + [ + 235.73974609375, + 8.763580322265625 + ], + [ + 297.0848388671875, + 3.50543212890625 + ], + [ + 370.6986083984375, + -1.752685546875 + ], + [ + 399.618408203125, + -6.134490966796875 + ], + [ + 416.2691650390625, + -11.392608642578125 + ], + [ + 412.763671875, + -13.14532470703125 + ], + [ + 412.763671875, + -13.14532470703125 + ] + ], + "pressures": [ + 0, + 0.287109375, + 0.4404296875, + 0.6357421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4208984375, + 0.06640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 412.763671875, + -13.14532470703125 + ] + }, + { + "id": "sl5T2E0GazamNo5bWC5Eb", + "type": "freedraw", + "x": -348.8719177246094, + "y": -207.06647491455078, + "width": 452.19976806640625, + "height": 42.941436767578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1773135075, + "version": 852, + "versionNonce": 204974019, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 16.6507568359375, + 7.88720703125 + ], + [ + 52.58135986328125, + 21.908905029296875 + ], + [ + 78.8720703125, + 28.04339599609375 + ], + [ + 106.91546630859375, + 34.177886962890625 + ], + [ + 141.9697265625, + 40.3123779296875 + ], + [ + 185.78753662109375, + 42.941436767578125 + ], + [ + 235.73980712890625, + 42.065093994140625 + ], + [ + 317.24090576171875, + 29.79608154296875 + ], + [ + 374.20404052734375, + 21.03253173828125 + ], + [ + 418.89837646484375, + 15.7744140625 + ], + [ + 452.19976806640625, + 14.021697998046875 + ], + [ + 452.19976806640625, + 14.021697998046875 + ] + ], + "pressures": [ + 0.1806640625, + 0.92578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.306640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 452.19976806640625, + 14.021697998046875 + ] + }, + { + "id": "jVqdw4GFByfcyHOkC6j12", + "type": "freedraw", + "x": -223.55300903320312, + "y": -165.87775421142578, + "width": 78.8720703125, + "height": 38.559661865234375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1294979651, + "version": 852, + "versionNonce": 843704813, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.13446044921875, + -3.50543212890625 + ], + [ + -11.392578125, + -4.38177490234375 + ], + [ + -15.77435302734375, + -5.25811767578125 + ], + [ + -20.15618896484375, + -5.25811767578125 + ], + [ + -25.414306640625, + -2.629058837890625 + ], + [ + -27.1669921875, + 0 + ], + [ + -28.04339599609375, + 3.50543212890625 + ], + [ + -27.1669921875, + 6.134490966796875 + ], + [ + -20.15618896484375, + 12.269012451171875 + ], + [ + -7.88720703125, + 18.403472900390625 + ], + [ + 16.65081787109375, + 28.919769287109375 + ], + [ + 29.796142578125, + 32.425201416015625 + ], + [ + 38.5596923828125, + 33.301544189453125 + ], + [ + 46.4468994140625, + 33.301544189453125 + ], + [ + 49.95233154296875, + 32.425201416015625 + ], + [ + 50.82867431640625, + 29.796112060546875 + ], + [ + 50.82867431640625, + 27.167022705078125 + ], + [ + 49.07598876953125, + 25.414337158203125 + ], + [ + 48.1995849609375, + 25.414337158203125 + ], + [ + 48.1995849609375, + 25.414337158203125 + ] + ], + "pressures": [ + 0.0634765625, + 0.71875, + 0.904296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5234375, + 0.185546875, + 0.0830078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 48.1995849609375, + 25.414337158203125 + ] + }, + { + "id": "VlaxhEHDBVZ_IOtSP1SRm", + "type": "freedraw", + "x": -224.42935180664062, + "y": -170.25952911376953, + "width": 60.46856689453125, + "height": 45.570526123046875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1719234189, + "version": 853, + "versionNonce": 1595127651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.38177490234375, + -3.50543212890625 + ], + [ + 3.50543212890625, + -6.134490966796875 + ], + [ + 0, + -7.0108642578125 + ], + [ + -4.38177490234375, + -7.0108642578125 + ], + [ + -7.88720703125, + -6.134490966796875 + ], + [ + -11.39263916015625, + -2.629058837890625 + ], + [ + -14.02166748046875, + 5.258148193359375 + ], + [ + -14.89801025390625, + 10.516265869140625 + ], + [ + -14.89801025390625, + 14.898040771484375 + ], + [ + -10.5162353515625, + 19.279815673828125 + ], + [ + -5.25811767578125, + 23.661590576171875 + ], + [ + 8.7635498046875, + 28.919769287109375 + ], + [ + 19.27984619140625, + 32.425201416015625 + ], + [ + 29.796142578125, + 35.054229736328125 + ], + [ + 37.683349609375, + 37.683319091796875 + ], + [ + 43.81781005859375, + 38.559661865234375 + ], + [ + 45.570556640625, + 38.559661865234375 + ], + [ + 45.570556640625, + 35.930572509765625 + ], + [ + 44.69415283203125, + 34.177886962890625 + ], + [ + 42.94146728515625, + 33.301544189453125 + ], + [ + 42.94146728515625, + 33.301544189453125 + ] + ], + "pressures": [ + 0.0361328125, + 0.470703125, + 0.697265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.56640625, + 0.2294921875, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.94146728515625, + 33.301544189453125 + ] + }, + { + "id": "cn_B4zQ121CuprwtfEdwD", + "type": "freedraw", + "x": -223.55300903320312, + "y": -171.13587188720703, + "width": 77.99566650390625, + "height": 46.446868896484375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 481217549, + "version": 851, + "versionNonce": 380642381, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.62908935546875, + 0 + ], + [ + 0, + 0 + ], + [ + -3.50537109375, + 0 + ], + [ + -8.7635498046875, + 1.752685546875 + ], + [ + -12.26898193359375, + 2.629058837890625 + ], + [ + -14.89801025390625, + 4.38177490234375 + ], + [ + -15.77435302734375, + 7.887176513671875 + ], + [ + -15.77435302734375, + 12.26898193359375 + ], + [ + -10.5162353515625, + 21.032501220703125 + ], + [ + -4.38177490234375, + 25.414337158203125 + ], + [ + 5.2581787109375, + 29.796112060546875 + ], + [ + 20.15618896484375, + 34.177886962890625 + ], + [ + 42.06512451171875, + 41.188690185546875 + ], + [ + 52.58135986328125, + 44.694122314453125 + ], + [ + 58.7159423828125, + 45.570526123046875 + ], + [ + 61.344970703125, + 46.446868896484375 + ], + [ + 62.2213134765625, + 46.446868896484375 + ], + [ + 60.4686279296875, + 46.446868896484375 + ], + [ + 60.4686279296875, + 46.446868896484375 + ] + ], + "pressures": [ + 0.060546875, + 0.28515625, + 0.78515625, + 0.9423828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.720703125, + 0.427734375, + 0.044921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 60.4686279296875, + 46.446868896484375 + ] + }, + { + "id": "6_2NbPbSVpxSC5zQBYCkj", + "type": "freedraw", + "x": -229.68746948242188, + "y": -168.5068130493164, + "width": 61.34490966796875, + "height": 44.694122314453125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 891082541, + "version": 851, + "versionNonce": 118280963, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.752685546875, + -2.629058837890625 + ], + [ + 0.8763427734375, + -2.629058837890625 + ], + [ + -0.8763427734375, + -0.876373291015625 + ], + [ + -4.38177490234375, + 1.752716064453125 + ], + [ + -7.0108642578125, + 5.25811767578125 + ], + [ + -7.88720703125, + 6.134490966796875 + ], + [ + -7.88720703125, + 8.7635498046875 + ], + [ + -5.25811767578125, + 14.02166748046875 + ], + [ + 9.639892578125, + 23.66162109375 + ], + [ + 21.90887451171875, + 28.91973876953125 + ], + [ + 33.301513671875, + 33.301513671875 + ], + [ + 41.188720703125, + 36.80694580078125 + ], + [ + 46.44683837890625, + 39.43603515625 + ], + [ + 50.82867431640625, + 41.188720703125 + ], + [ + 51.70501708984375, + 42.0650634765625 + ], + [ + 52.58135986328125, + 42.0650634765625 + ], + [ + 53.45770263671875, + 42.0650634765625 + ], + [ + 53.45770263671875, + 41.188720703125 + ], + [ + 53.45770263671875, + 41.188720703125 + ] + ], + "pressures": [ + 0.0009765625, + 0.4462890625, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.25, + 0.083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 53.45770263671875, + 41.188720703125 + ] + }, + { + "id": "7kOnXio5itqNsxb9aP2Si", + "type": "freedraw", + "x": -220.92391967773438, + "y": -169.38318634033203, + "width": 61.344970703125, + "height": 43.81781005859375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2068887117, + "version": 851, + "versionNonce": 1528828589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -2.629058837890625 + ], + [ + -2.62908935546875, + -2.629058837890625 + ], + [ + -6.13446044921875, + -2.629058837890625 + ], + [ + -8.7635498046875, + -2.629058837890625 + ], + [ + -10.51629638671875, + 2.62908935546875 + ], + [ + -10.51629638671875, + 7.88720703125 + ], + [ + -7.88720703125, + 13.145355224609375 + ], + [ + -4.38177490234375, + 18.403472900390625 + ], + [ + 2.62908935546875, + 27.167022705078125 + ], + [ + 7.88720703125, + 30.672454833984375 + ], + [ + 14.8980712890625, + 34.177886962890625 + ], + [ + 21.908935546875, + 35.930633544921875 + ], + [ + 29.79608154296875, + 37.683319091796875 + ], + [ + 40.3123779296875, + 40.312408447265625 + ], + [ + 45.57049560546875, + 41.188751220703125 + ], + [ + 49.9522705078125, + 41.188751220703125 + ], + [ + 50.82867431640625, + 41.188751220703125 + ], + [ + 50.82867431640625, + 40.312408447265625 + ], + [ + 50.82867431640625, + 40.312408447265625 + ] + ], + "pressures": [ + 0.0771484375, + 0.44140625, + 0.6552734375, + 0.9169921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.4765625, + 0.287109375, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 50.82867431640625, + 40.312408447265625 + ] + }, + { + "id": "SIdBXIm_BiqoqGWfevqkm", + "type": "freedraw", + "x": -220.92391967773438, + "y": -166.75409698486328, + "width": 63.09759521484375, + "height": 42.0650634765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1096477037, + "version": 852, + "versionNonce": 1956739747, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.876373291015625 + ], + [ + -2.62908935546875, + -1.752716064453125 + ], + [ + -7.0108642578125, + -1.752716064453125 + ], + [ + -11.39263916015625, + -1.752716064453125 + ], + [ + -16.6507568359375, + 0.8763427734375 + ], + [ + -18.4034423828125, + 3.505401611328125 + ], + [ + -18.4034423828125, + 7.010833740234375 + ], + [ + -18.4034423828125, + 10.516265869140625 + ], + [ + -14.02166748046875, + 17.527130126953125 + ], + [ + -7.88720703125, + 21.908905029296875 + ], + [ + -0.8763427734375, + 26.290679931640625 + ], + [ + 7.0108642578125, + 29.796112060546875 + ], + [ + 14.021728515625, + 33.301544189453125 + ], + [ + 24.5379638671875, + 36.806915283203125 + ], + [ + 30.6724853515625, + 38.559661865234375 + ], + [ + 35.93060302734375, + 39.436004638671875 + ], + [ + 40.3123779296875, + 40.312347412109375 + ], + [ + 43.81781005859375, + 40.312347412109375 + ], + [ + 44.69415283203125, + 40.312347412109375 + ], + [ + 44.69415283203125, + 40.312347412109375 + ] + ], + "pressures": [ + 0.0419921875, + 0.484375, + 0.7626953125, + 0.9150390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.82421875, + 0.5380859375, + 0.23828125, + 0.1513671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 44.69415283203125, + 40.312347412109375 + ] + }, + { + "id": "lVogE_l5-4gvpG0E62fl2", + "type": "freedraw", + "x": -221.80026245117188, + "y": -167.6304702758789, + "width": 54.33404541015625, + "height": 39.436004638671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1229122243, + "version": 854, + "versionNonce": 1011037453, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.752685546875, + -0.8763427734375 + ], + [ + 1.752685546875, + -1.752716064453125 + ], + [ + -2.62908935546875, + -1.752716064453125 + ], + [ + -7.0108642578125, + -1.752716064453125 + ], + [ + -13.14532470703125, + -1.752716064453125 + ], + [ + -15.7744140625, + -1.752716064453125 + ], + [ + -17.527099609375, + -0.8763427734375 + ], + [ + -19.27984619140625, + 0.876373291015625 + ], + [ + -20.15618896484375, + 3.50543212890625 + ], + [ + -20.15618896484375, + 7.88720703125 + ], + [ + -19.27984619140625, + 11.39263916015625 + ], + [ + -15.7744140625, + 15.7744140625 + ], + [ + -9.63995361328125, + 20.15618896484375 + ], + [ + 0.8763427734375, + 27.16705322265625 + ], + [ + 7.0108642578125, + 29.796142578125 + ], + [ + 12.26898193359375, + 31.548828125 + ], + [ + 19.27984619140625, + 33.301513671875 + ], + [ + 25.414306640625, + 35.93060302734375 + ], + [ + 29.79608154296875, + 36.80694580078125 + ], + [ + 33.301513671875, + 37.68328857421875 + ], + [ + 34.1778564453125, + 37.68328857421875 + ], + [ + 34.1778564453125, + 37.68328857421875 + ] + ], + "pressures": [ + 0.046875, + 0.357421875, + 0.4169921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.908203125, + 0.640625, + 0.3017578125, + 0.216796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.1778564453125, + 37.68328857421875 + ] + }, + { + "id": "e8eyiNeUyZ1NMZmhOwmpC", + "type": "freedraw", + "x": -220.04757690429688, + "y": -168.5068130493164, + "width": 67.47943115234375, + "height": 45.57049560546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 129827949, + "version": 855, + "versionNonce": 75509315, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.87640380859375, + -2.629058837890625 + ], + [ + 0.87640380859375, + -3.50543212890625 + ], + [ + -1.752685546875, + -3.50543212890625 + ], + [ + -4.38177490234375, + -3.50543212890625 + ], + [ + -9.639892578125, + -2.629058837890625 + ], + [ + -14.89801025390625, + -1.752716064453125 + ], + [ + -20.15618896484375, + -1.752716064453125 + ], + [ + -23.66162109375, + -0.876373291015625 + ], + [ + -26.2906494140625, + 0.8763427734375 + ], + [ + -26.2906494140625, + 3.50543212890625 + ], + [ + -26.2906494140625, + 7.88720703125 + ], + [ + -23.66162109375, + 12.26898193359375 + ], + [ + -16.6507568359375, + 18.4034423828125 + ], + [ + -7.01080322265625, + 24.5379638671875 + ], + [ + 10.51629638671875, + 32.4251708984375 + ], + [ + 21.0325927734375, + 36.80694580078125 + ], + [ + 29.796142578125, + 39.43603515625 + ], + [ + 35.93060302734375, + 41.188720703125 + ], + [ + 39.43603515625, + 42.0650634765625 + ], + [ + 41.18878173828125, + 41.188720703125 + ], + [ + 41.18878173828125, + 39.43603515625 + ], + [ + 39.43603515625, + 39.43603515625 + ], + [ + 39.43603515625, + 39.43603515625 + ] + ], + "pressures": [ + 0.068359375, + 0.2041015625, + 0.2236328125, + 0.67578125, + 0.6845703125, + 0.744140625, + 0.787109375, + 0.8076171875, + 0.826171875, + 0.861328125, + 0.884765625, + 0.90625, + 0.931640625, + 0.9921875, + 1, + 1, + 1, + 1, + 0.8935546875, + 0.640625, + 0.2021484375, + 0.1083984375, + 0.0283203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.43603515625, + 39.43603515625 + ] + }, + { + "id": "0cRbPNTLh_nUgMYBqfn4l", + "type": "freedraw", + "x": -234.94558715820312, + "y": -224.5936050415039, + "width": 152.48602294921875, + "height": 229.60531616210938, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1299942723, + "version": 853, + "versionNonce": 630393709, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -11.39263916015625, + -6.134490966796875 + ], + [ + -17.52716064453125, + -14.021697998046875 + ], + [ + -17.52716064453125, + -22.785247802734375 + ], + [ + -9.63995361328125, + -36.80694580078125 + ], + [ + 2.6290283203125, + -53.457733154296875 + ], + [ + 23.66156005859375, + -69.23211669921875 + ], + [ + 72.737548828125, + -78.87203979492188 + ], + [ + 104.286376953125, + -77.99566650390625 + ], + [ + 124.4425048828125, + -72.737548828125 + ], + [ + 134.0823974609375, + -63.9739990234375 + ], + [ + 134.9588623046875, + -40.3123779296875 + ], + [ + 124.4425048828125, + -19.27984619140625 + ], + [ + 107.791748046875, + 7.010833740234375 + ], + [ + 86.75927734375, + 39.43603515625 + ], + [ + 65.7266845703125, + 72.737548828125 + ], + [ + 56.0867919921875, + 88.511962890625 + ], + [ + 29.79608154296875, + 146.35150146484375 + ], + [ + 25.414306640625, + 150.7332763671875 + ], + [ + 23.66156005859375, + 148.98052978515625 + ], + [ + 22.78521728515625, + 144.5987548828125 + ], + [ + 22.78521728515625, + 144.5987548828125 + ] + ], + "pressures": [ + 0.158203125, + 0.27734375, + 0.462890625, + 0.671875, + 0.8388671875, + 0.9404296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.71484375, + 0.30859375, + 0.1396484375, + 0.0166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.78521728515625, + 144.5987548828125 + ] + }, + { + "id": "Y4vDJOs-ixC0A70Jjn6XN", + "type": "freedraw", + "x": -305.9304504394531, + "y": -193.92115020751953, + "width": 274.2994384765625, + "height": 107.79183959960938, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1305434765, + "version": 845, + "versionNonce": 2038918627, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + -4.38177490234375 + ], + [ + -7.01080322265625, + -5.25811767578125 + ], + [ + 9.639892578125, + -5.25811767578125 + ], + [ + 36.80694580078125, + -5.25811767578125 + ], + [ + 92.01739501953125, + 1.752716064453125 + ], + [ + 139.340576171875, + 12.26898193359375 + ], + [ + 180.529296875, + 25.414337158203125 + ], + [ + 209.4490966796875, + 41.188751220703125 + ], + [ + 227.8525390625, + 57.839508056640625 + ], + [ + 244.50341796875, + 77.99569702148438 + ], + [ + 253.2669677734375, + 88.51199340820312 + ], + [ + 260.2777099609375, + 97.27554321289062 + ], + [ + 265.535888671875, + 102.53372192382812 + ], + [ + 265.535888671875, + 102.53372192382812 + ] + ], + "pressures": [ + 0.048828125, + 0.177734375, + 0.2138671875, + 0.3115234375, + 0.4609375, + 0.7744140625, + 0.9599609375, + 1, + 1, + 1, + 1, + 0.6943359375, + 0.3466796875, + 0.166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 265.535888671875, + 102.53372192382812 + ] + }, + { + "id": "yb2jCvznQa1VhmSwK16oq", + "type": "freedraw", + "x": -161.33169555664062, + "y": -303.4656448364258, + "width": 137.587890625, + "height": 275.1757507324219, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 155512515, + "version": 849, + "versionNonce": 1465456077, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.6290283203125, + -5.258148193359375 + ], + [ + -2.6290283203125, + -10.516265869140625 + ], + [ + -10.51629638671875, + -15.7744140625 + ], + [ + -18.40350341796875, + -20.15618896484375 + ], + [ + -26.29071044921875, + -24.5379638671875 + ], + [ + -35.93060302734375, + -25.414306640625 + ], + [ + -52.58135986328125, + -12.268951416015625 + ], + [ + -65.7266845703125, + 13.14532470703125 + ], + [ + -76.24298095703125, + 48.1995849609375 + ], + [ + -80.624755859375, + 86.75924682617188 + ], + [ + -72.737548828125, + 141.96966552734375 + ], + [ + -56.0867919921875, + 171.76577758789062 + ], + [ + -34.17791748046875, + 198.05648803710938 + ], + [ + -8.7635498046875, + 218.21267700195312 + ], + [ + 14.021728515625, + 232.23434448242188 + ], + [ + 45.570556640625, + 245.37966918945312 + ], + [ + 56.963134765625, + 249.76144409179688 + ], + [ + 56.963134765625, + 249.76144409179688 + ] + ], + "pressures": [ + 0.0673828125, + 0.1416015625, + 0.21875, + 0.33203125, + 0.48046875, + 0.6240234375, + 0.75390625, + 0.8955078125, + 0.8984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3779296875, + 0.103515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 56.963134765625, + 249.76144409179688 + ] + }, + { + "id": "vlw6u4V1NPON0cohqvkxh", + "type": "freedraw", + "x": -211.28402709960938, + "y": -257.0187759399414, + "width": 259.4013671875, + "height": 222.59442138671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 698377421, + "version": 848, + "versionNonce": 918927747, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.13446044921875, + -6.13446044921875 + ], + [ + -15.77435302734375, + -7.0108642578125 + ], + [ + -28.0433349609375, + -4.38177490234375 + ], + [ + -42.0650634765625, + 5.25811767578125 + ], + [ + -54.33404541015625, + 22.785247802734375 + ], + [ + -60.46856689453125, + 67.47940063476562 + ], + [ + -53.45770263671875, + 99.90457153320312 + ], + [ + -35.9305419921875, + 130.5770263671875 + ], + [ + -12.26898193359375, + 156.8677978515625 + ], + [ + 28.04339599609375, + 183.158447265625 + ], + [ + 58.71588134765625, + 194.551025390625 + ], + [ + 89.38836669921875, + 202.438232421875 + ], + [ + 118.30804443359375, + 208.57275390625 + ], + [ + 146.35150146484375, + 213.8309326171875 + ], + [ + 186.66387939453125, + 215.58355712890625 + ], + [ + 198.93280029296875, + 212.95452880859375 + ], + [ + 198.93280029296875, + 212.95452880859375 + ] + ], + "pressures": [ + 0.078125, + 0.1982421875, + 0.2978515625, + 0.5205078125, + 0.6953125, + 0.783203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8173828125, + 0.400390625, + 0.1396484375, + 0.052734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 198.93280029296875, + 212.95452880859375 + ] + }, + { + "id": "Y7_oXekQ3FS8tjnVKHKSR", + "type": "freedraw", + "x": -237.57467651367188, + "y": -251.76065826416016, + "width": 99.02825927734375, + "height": 210.325439453125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1492208301, + "version": 852, + "versionNonce": 1286525997, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.50543212890625, + -4.38177490234375 + ], + [ + 11.39263916015625, + -7.887176513671875 + ], + [ + 22.7852783203125, + -13.14532470703125 + ], + [ + 42.0650634765625, + -21.90887451171875 + ], + [ + 56.0867919921875, + -25.414306640625 + ], + [ + 70.98480224609375, + -24.537933349609375 + ], + [ + 87.63555908203125, + -12.26898193359375 + ], + [ + 94.64642333984375, + 0.876373291015625 + ], + [ + 99.02825927734375, + 17.527130126953125 + ], + [ + 99.02825927734375, + 41.188751220703125 + ], + [ + 90.26470947265625, + 71.8612060546875 + ], + [ + 72.73760986328125, + 119.1844482421875 + ], + [ + 63.9739990234375, + 143.722412109375 + ], + [ + 57.8394775390625, + 160.37322998046875 + ], + [ + 50.82867431640625, + 171.76580810546875 + ], + [ + 42.94146728515625, + 179.65301513671875 + ], + [ + 35.05426025390625, + 184.0347900390625 + ], + [ + 30.6724853515625, + 184.9111328125 + ], + [ + 28.04339599609375, + 184.0347900390625 + ], + [ + 23.66162109375, + 177.90032958984375 + ], + [ + 23.66162109375, + 177.90032958984375 + ] + ], + "pressures": [ + 0.0927734375, + 0.203125, + 0.224609375, + 0.2880859375, + 0.4033203125, + 0.5224609375, + 0.666015625, + 0.8115234375, + 0.8349609375, + 0.8720703125, + 0.9169921875, + 1, + 1, + 1, + 1, + 0.9794921875, + 0.8447265625, + 0.54296875, + 0.31640625, + 0.2578125, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.66162109375, + 177.90032958984375 + ] + }, + { + "id": "fU8nov4Xqpw-uedL3OHkB", + "type": "freedraw", + "x": -187.62240600585938, + "y": -165.87775421142578, + "width": 69.2320556640625, + "height": 119.18441772460938, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 17745229, + "version": 853, + "versionNonce": 964268323, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + 7.88720703125 + ], + [ + -6.13446044921875, + 17.527130126953125 + ], + [ + -7.01080322265625, + 28.919769287109375 + ], + [ + -5.25811767578125, + 36.806976318359375 + ], + [ + 0, + 44.694183349609375 + ], + [ + 3.50543212890625, + 45.570526123046875 + ], + [ + 7.0108642578125, + 46.446868896484375 + ], + [ + 15.7744140625, + 46.446868896484375 + ], + [ + 34.17791748046875, + 40.312408447265625 + ], + [ + 47.32330322265625, + 33.301544189453125 + ], + [ + 56.96319580078125, + 22.785247802734375 + ], + [ + 61.34490966796875, + 9.639923095703125 + ], + [ + 62.22125244140625, + -4.38177490234375 + ], + [ + 56.96319580078125, + -28.04339599609375 + ], + [ + 50.82867431640625, + -42.941436767578125 + ], + [ + 43.81781005859375, + -55.210418701171875 + ], + [ + 36.80694580078125, + -63.097625732421875 + ], + [ + 28.91973876953125, + -70.10848999023438 + ], + [ + 25.41436767578125, + -71.8612060546875 + ], + [ + 24.53802490234375, + -72.737548828125 + ], + [ + 24.53802490234375, + -70.98480224609375 + ], + [ + 24.53802490234375, + -70.98480224609375 + ] + ], + "pressures": [ + 0.0908203125, + 0.3564453125, + 0.4853515625, + 0.712890625, + 0.8369140625, + 0.8916015625, + 0.9189453125, + 0.923828125, + 0.9296875, + 0.9296875, + 0.947265625, + 0.947265625, + 0.953125, + 0.9599609375, + 0.953125, + 0.9296875, + 0.8955078125, + 0.8427734375, + 0.7265625, + 0.5341796875, + 0.3017578125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 24.53802490234375, + -70.98480224609375 + ] + }, + { + "id": "moqXf-C535y-2prh-ES__", + "type": "freedraw", + "x": -185.86965942382812, + "y": -241.24433135986328, + "width": 48.1995849609375, + "height": 124.4425048828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 441584995, + "version": 858, + "versionNonce": 1635632781, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -5.2581787109375 + ], + [ + -0.8763427734375, + -7.887237548828125 + ], + [ + 0.8763427734375, + -12.269012451171875 + ], + [ + 1.752685546875, + -15.774444580078125 + ], + [ + 2.6290283203125, + -17.527130126953125 + ], + [ + 4.38177490234375, + -17.527130126953125 + ], + [ + 12.26898193359375, + -9.63995361328125 + ], + [ + 17.527099609375, + -2.629119873046875 + ], + [ + 21.0325927734375, + 7.01080322265625 + ], + [ + 23.66162109375, + 28.043365478515625 + ], + [ + 23.66162109375, + 45.570465087890625 + ], + [ + 18.4034423828125, + 63.97393798828125 + ], + [ + 12.26898193359375, + 79.74835205078125 + ], + [ + 7.0108642578125, + 89.38827514648438 + ], + [ + 3.50543212890625, + 95.52279663085938 + ], + [ + -1.75274658203125, + 102.53359985351562 + ], + [ + -5.2581787109375, + 105.16268920898438 + ], + [ + -8.7635498046875, + 106.91537475585938 + ], + [ + -14.8980712890625, + 104.28634643554688 + ], + [ + -19.27984619140625, + 99.90457153320312 + ], + [ + -21.908935546875, + 95.52279663085938 + ], + [ + -23.66162109375, + 92.01736450195312 + ], + [ + -24.5379638671875, + 88.51193237304688 + ], + [ + -24.5379638671875, + 85.00650024414062 + ], + [ + -24.5379638671875, + 82.37744140625 + ], + [ + -24.5379638671875, + 83.2537841796875 + ], + [ + -24.5379638671875, + 83.2537841796875 + ] + ], + "pressures": [ + 0.01953125, + 0.1435546875, + 0.205078125, + 0.3017578125, + 0.423828125, + 0.5283203125, + 0.6376953125, + 0.7783203125, + 0.8095703125, + 0.8427734375, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9189453125, + 0.8720703125, + 0.79296875, + 0.6220703125, + 0.404296875, + 0.279296875, + 0.177734375, + 0.046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -24.5379638671875, + 83.2537841796875 + ] + }, + { + "id": "qYFkPr8Oj3WJNwDfDV7U8", + "type": "freedraw", + "x": -189.37509155273438, + "y": -159.7432632446289, + "width": 69.23211669921875, + "height": 132.32974243164062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1648105379, + "version": 861, + "versionNonce": 1393652931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558533, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + 8.7635498046875 + ], + [ + -3.50543212890625, + 12.26898193359375 + ], + [ + -3.50543212890625, + 14.8980712890625 + ], + [ + 3.50543212890625, + 24.5379638671875 + ], + [ + 9.639892578125, + 32.4251708984375 + ], + [ + 15.7744140625, + 37.68328857421875 + ], + [ + 21.90887451171875, + 40.3123779296875 + ], + [ + 26.29071044921875, + 41.188720703125 + ], + [ + 31.54876708984375, + 40.3123779296875 + ], + [ + 40.31231689453125, + 34.17791748046875 + ], + [ + 44.69415283203125, + 26.29071044921875 + ], + [ + 48.19952392578125, + 15.7744140625 + ], + [ + 56.08673095703125, + -0.8763427734375 + ], + [ + 61.34490966796875, + -12.26898193359375 + ], + [ + 63.09759521484375, + -22.785247802734375 + ], + [ + 63.09759521484375, + -34.177886962890625 + ], + [ + 57.83953857421875, + -46.446868896484375 + ], + [ + 49.07598876953125, + -59.592193603515625 + ], + [ + 34.17791748046875, + -77.99569702148438 + ], + [ + 25.41436767578125, + -86.75924682617188 + ], + [ + 20.15618896484375, + -90.2646484375 + ], + [ + 14.8980712890625, + -91.14102172851562 + ], + [ + 9.639892578125, + -91.14102172851562 + ], + [ + 7.0108642578125, + -91.14102172851562 + ], + [ + 3.50543212890625, + -91.14102172851562 + ], + [ + -0.8763427734375, + -91.14102172851562 + ], + [ + -3.50543212890625, + -88.511962890625 + ], + [ + -6.134521484375, + -85.00653076171875 + ], + [ + -6.134521484375, + -84.13018798828125 + ], + [ + -6.134521484375, + -84.13018798828125 + ] + ], + "pressures": [ + 0.1044921875, + 0.1650390625, + 0.2041015625, + 0.2509765625, + 0.4482421875, + 0.626953125, + 0.744140625, + 0.79296875, + 0.8115234375, + 0.82421875, + 0.853515625, + 0.8740234375, + 0.900390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.927734375, + 0.734375, + 0.5458984375, + 0.361328125, + 0.1455078125, + 0.0302734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.134521484375, + -84.13018798828125 + ] + }, + { + "id": "PHfY8MSUF1n2CSKJrHrAy", + "type": "freedraw", + "x": -189.37509155273438, + "y": -151.8560562133789, + "width": 78.8720703125, + "height": 120.9371337890625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 720711725, + "version": 861, + "versionNonce": 947875053, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + 2.62908935546875 + ], + [ + -1.75274658203125, + 3.50543212890625 + ], + [ + -1.75274658203125, + 5.25811767578125 + ], + [ + 3.50543212890625, + 10.51629638671875 + ], + [ + 10.51629638671875, + 13.14532470703125 + ], + [ + 16.6507568359375, + 15.7744140625 + ], + [ + 22.78521728515625, + 16.6507568359375 + ], + [ + 29.79608154296875, + 16.6507568359375 + ], + [ + 42.94146728515625, + 14.021728515625 + ], + [ + 52.58135986328125, + 9.639892578125 + ], + [ + 62.22125244140625, + 0.8763427734375 + ], + [ + 70.98480224609375, + -8.7635498046875 + ], + [ + 76.24298095703125, + -18.403472900390625 + ], + [ + 77.11932373046875, + -32.4251708984375 + ], + [ + 77.11932373046875, + -43.81781005859375 + ], + [ + 75.36663818359375, + -56.963134765625 + ], + [ + 72.73748779296875, + -70.10848999023438 + ], + [ + 70.98480224609375, + -75.36660766601562 + ], + [ + 56.08673095703125, + -94.64645385742188 + ], + [ + 46.44683837890625, + -101.65728759765625 + ], + [ + 43.81781005859375, + -102.53363037109375 + ], + [ + 35.93060302734375, + -104.286376953125 + ], + [ + 31.54876708984375, + -103.41000366210938 + ], + [ + 28.91973876953125, + -101.65728759765625 + ], + [ + 28.04339599609375, + -99.90460205078125 + ], + [ + 25.41436767578125, + -96.399169921875 + ], + [ + 21.90887451171875, + -93.77008056640625 + ], + [ + 18.4034423828125, + -91.14102172851562 + ], + [ + 17.527099609375, + -91.14102172851562 + ], + [ + 17.527099609375, + -91.14102172851562 + ] + ], + "pressures": [ + 0.0478515625, + 0.248046875, + 0.47265625, + 0.50390625, + 0.5625, + 0.66796875, + 0.7568359375, + 0.8095703125, + 0.859375, + 0.9111328125, + 0.94921875, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8662109375, + 0.6357421875, + 0.390625, + 0.197265625, + 0.134765625, + 0.07421875, + 0.0390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 17.527099609375, + -91.14102172851562 + ] + }, + { + "id": "08m1RmQqoVOtzIFfWn2-g", + "type": "freedraw", + "x": -187.62240600585938, + "y": -235.98624420166016, + "width": 66.60308837890625, + "height": 108.66815185546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 516221699, + "version": 861, + "versionNonce": 590079075, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -5.258087158203125 + ], + [ + 0, + -6.134490966796875 + ], + [ + 0.87640380859375, + -7.010833740234375 + ], + [ + 5.2581787109375, + -8.7635498046875 + ], + [ + 14.021728515625, + -12.26898193359375 + ], + [ + 20.15618896484375, + -14.898040771484375 + ], + [ + 23.66168212890625, + -16.6507568359375 + ], + [ + 25.41436767578125, + -16.6507568359375 + ], + [ + 30.67242431640625, + -14.898040771484375 + ], + [ + 35.05426025390625, + -11.392608642578125 + ], + [ + 38.55963134765625, + -5.258087158203125 + ], + [ + 40.31243896484375, + 4.38177490234375 + ], + [ + 41.18878173828125, + 16.650787353515625 + ], + [ + 40.31243896484375, + 34.177886962890625 + ], + [ + 36.80694580078125, + 45.570526123046875 + ], + [ + 32.42523193359375, + 56.963165283203125 + ], + [ + 27.16705322265625, + 68.35577392578125 + ], + [ + 18.40350341796875, + 77.99569702148438 + ], + [ + 13.1453857421875, + 81.5010986328125 + ], + [ + 5.2581787109375, + 85.00653076171875 + ], + [ + -4.38177490234375, + 88.511962890625 + ], + [ + -12.26898193359375, + 91.14105224609375 + ], + [ + -20.15618896484375, + 92.01739501953125 + ], + [ + -22.78521728515625, + 91.14105224609375 + ], + [ + -25.414306640625, + 88.511962890625 + ], + [ + -25.414306640625, + 85.88287353515625 + ], + [ + -25.414306640625, + 82.37750244140625 + ], + [ + -21.90887451171875, + 79.7484130859375 + ], + [ + -19.27978515625, + 78.87203979492188 + ], + [ + -19.27978515625, + 78.87203979492188 + ] + ], + "pressures": [ + 0.08984375, + 0.1982421875, + 0.248046875, + 0.3447265625, + 0.5068359375, + 0.6318359375, + 0.736328125, + 0.8642578125, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96875, + 0.712890625, + 0.423828125, + 0.234375, + 0.1396484375, + 0.0947265625, + 0.0693359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -19.27978515625, + 78.87203979492188 + ] + }, + { + "id": "aThVgxePx2fTMocpX1nlZ", + "type": "freedraw", + "x": -192.00418090820312, + "y": -148.35062408447266, + "width": 71.86114501953125, + "height": 96.39913940429688, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1730242253, + "version": 858, + "versionNonce": 1631405901, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.13446044921875, + 1.752685546875 + ], + [ + -6.13446044921875, + 2.62908935546875 + ], + [ + -6.13446044921875, + 5.25811767578125 + ], + [ + -3.50543212890625, + 7.0108642578125 + ], + [ + -1.752685546875, + 7.88720703125 + ], + [ + 2.62908935546875, + 7.88720703125 + ], + [ + 13.1453857421875, + 7.0108642578125 + ], + [ + 22.7852783203125, + 5.25811767578125 + ], + [ + 34.1778564453125, + 1.752685546875 + ], + [ + 44.6942138671875, + -2.62908935546875 + ], + [ + 58.7158203125, + -13.145355224609375 + ], + [ + 64.850341796875, + -21.032562255859375 + ], + [ + 65.7266845703125, + -28.919769287109375 + ], + [ + 65.7266845703125, + -37.683319091796875 + ], + [ + 63.09765625, + -47.3232421875 + ], + [ + 58.7158203125, + -63.9739990234375 + ], + [ + 55.21044921875, + -72.737548828125 + ], + [ + 50.82861328125, + -77.99569702148438 + ], + [ + 45.570556640625, + -80.624755859375 + ], + [ + 37.683349609375, + -81.50112915039062 + ], + [ + 26.2906494140625, + -85.00653076171875 + ], + [ + 19.27984619140625, + -87.6356201171875 + ], + [ + 14.021728515625, + -88.51193237304688 + ], + [ + 10.51629638671875, + -88.51193237304688 + ], + [ + 8.7635498046875, + -85.88290405273438 + ], + [ + 8.7635498046875, + -85.00653076171875 + ], + [ + 8.7635498046875, + -85.00653076171875 + ] + ], + "pressures": [ + 0.009765625, + 0.2490234375, + 0.3291015625, + 0.3994140625, + 0.4619140625, + 0.5400390625, + 0.6181640625, + 0.71875, + 0.7705078125, + 0.8095703125, + 0.8095703125, + 0.830078125, + 0.8515625, + 0.849609375, + 0.849609375, + 0.8427734375, + 0.8203125, + 0.802734375, + 0.794921875, + 0.78515625, + 0.720703125, + 0.59375, + 0.5029296875, + 0.41796875, + 0.296875, + 0.1357421875, + 0.0048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.7635498046875, + -85.00653076171875 + ] + }, + { + "id": "wQpGGR4RojK2xcZalwKYK", + "type": "freedraw", + "x": -180.61154174804688, + "y": -235.98624420166016, + "width": 64.850341796875, + "height": 120.06076049804688, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 466518157, + "version": 855, + "versionNonce": 1368875011, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -3.505401611328125 + ], + [ + 0, + -6.134490966796875 + ], + [ + 1.75274658203125, + -7.88720703125 + ], + [ + 5.25811767578125, + -13.14532470703125 + ], + [ + 7.88720703125, + -16.6507568359375 + ], + [ + 10.51629638671875, + -18.4034423828125 + ], + [ + 12.26898193359375, + -19.279815673828125 + ], + [ + 14.89801025390625, + -19.279815673828125 + ], + [ + 20.15618896484375, + -14.02166748046875 + ], + [ + 24.53802490234375, + -6.134490966796875 + ], + [ + 27.16705322265625, + 3.505462646484375 + ], + [ + 28.04339599609375, + 14.8980712890625 + ], + [ + 22.78521728515625, + 32.4251708984375 + ], + [ + 16.65081787109375, + 47.3232421875 + ], + [ + 11.39263916015625, + 63.9739990234375 + ], + [ + 6.134521484375, + 79.7484130859375 + ], + [ + -3.50543212890625, + 95.5228271484375 + ], + [ + -9.639892578125, + 99.90460205078125 + ], + [ + -15.7744140625, + 100.78094482421875 + ], + [ + -21.90887451171875, + 100.78094482421875 + ], + [ + -28.04339599609375, + 99.90460205078125 + ], + [ + -35.05426025390625, + 99.90460205078125 + ], + [ + -36.80694580078125, + 99.90460205078125 + ], + [ + -36.80694580078125, + 99.90460205078125 + ] + ], + "pressures": [ + 0.021484375, + 0.11328125, + 0.1728515625, + 0.220703125, + 0.318359375, + 0.396484375, + 0.470703125, + 0.5458984375, + 0.646484375, + 0.708984375, + 0.7265625, + 0.73046875, + 0.7421875, + 0.8369140625, + 0.9169921875, + 0.9453125, + 0.9453125, + 0.9345703125, + 0.9189453125, + 0.8876953125, + 0.6806640625, + 0.4248046875, + 0.1875, + 0.109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -36.80694580078125, + 99.90460205078125 + ] + }, + { + "id": "wnPeAfOyZYriqz7_x6AfV", + "type": "freedraw", + "x": -196.38595581054688, + "y": -146.59793853759766, + "width": 87.6356201171875, + "height": 140.21694946289062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1993261507, + "version": 859, + "versionNonce": 1041290669, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + 0 + ], + [ + -7.88720703125, + 3.50543212890625 + ], + [ + -9.639892578125, + 4.38177490234375 + ], + [ + -11.39263916015625, + 5.2581787109375 + ], + [ + -9.639892578125, + 5.2581787109375 + ], + [ + -4.38177490234375, + 6.134521484375 + ], + [ + 1.75274658203125, + 6.134521484375 + ], + [ + 8.7635498046875, + 6.134521484375 + ], + [ + 18.40350341796875, + 7.0108642578125 + ], + [ + 23.66162109375, + 7.0108642578125 + ], + [ + 30.67242431640625, + 4.38177490234375 + ], + [ + 42.06512451171875, + -3.50543212890625 + ], + [ + 50.82867431640625, + -11.392608642578125 + ], + [ + 60.46856689453125, + -21.03253173828125 + ], + [ + 67.47943115234375, + -32.425140380859375 + ], + [ + 73.61395263671875, + -45.57049560546875 + ], + [ + 75.36663818359375, + -59.592193603515625 + ], + [ + 76.24298095703125, + -77.11929321289062 + ], + [ + 74.49029541015625, + -87.63558959960938 + ], + [ + 71.86126708984375, + -97.2755126953125 + ], + [ + 67.47943115234375, + -112.17352294921875 + ], + [ + 63.09759521484375, + -120.06076049804688 + ], + [ + 56.08685302734375, + -125.31887817382812 + ], + [ + 48.19964599609375, + -128.82431030273438 + ], + [ + 42.94146728515625, + -132.32974243164062 + ], + [ + 39.43597412109375, + -133.20608520507812 + ], + [ + 38.55963134765625, + -133.20608520507812 + ], + [ + 38.55963134765625, + -133.20608520507812 + ] + ], + "pressures": [ + 0.017578125, + 0.2666015625, + 0.2763671875, + 0.322265625, + 0.375, + 0.4619140625, + 0.4609375, + 0.4775390625, + 0.5, + 0.5263671875, + 0.5458984375, + 0.5625, + 0.5849609375, + 0.61328125, + 0.64453125, + 0.6591796875, + 0.677734375, + 0.6787109375, + 0.673828125, + 0.66015625, + 0.6376953125, + 0.537109375, + 0.443359375, + 0.3369140625, + 0.248046875, + 0.16796875, + 0.1064453125, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 38.55963134765625, + -133.20608520507812 + ] + }, + { + "id": "D5wSNu-tqYXkYU78IM3yX", + "type": "freedraw", + "x": -241.08010864257812, + "y": -210.57190704345703, + "width": 170.889404296875, + "height": 92.01736450195312, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 63592483, + "version": 843, + "versionNonce": 139618211, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 17.527099609375, + 6.134490966796875 + ], + [ + 39.43603515625, + 14.898040771484375 + ], + [ + 65.7266845703125, + 25.414337158203125 + ], + [ + 89.3883056640625, + 37.683319091796875 + ], + [ + 118.30810546875, + 56.086761474609375 + ], + [ + 134.08251953125, + 67.47940063476562 + ], + [ + 148.9805908203125, + 77.11935424804688 + ], + [ + 160.3731689453125, + 85.88290405273438 + ], + [ + 169.13671875, + 92.01736450195312 + ], + [ + 170.889404296875, + 92.01736450195312 + ], + [ + 170.889404296875, + 91.14102172851562 + ], + [ + 170.0130615234375, + 88.51193237304688 + ], + [ + 168.2603759765625, + 87.63558959960938 + ], + [ + 168.2603759765625, + 87.63558959960938 + ] + ], + "pressures": [ + 0.09375, + 0.287109375, + 0.427734375, + 0.640625, + 0.783203125, + 0.9111328125, + 0.9189453125, + 0.8876953125, + 0.736328125, + 0.466796875, + 0.345703125, + 0.1474609375, + 0.0791015625, + 0.01953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 168.2603759765625, + 87.63558959960938 + ] + }, + { + "id": "7mebxQSAjG3TyMN-5KeEo", + "type": "freedraw", + "x": -239.32736206054688, + "y": -193.92115020751953, + "width": 141.96966552734375, + "height": 63.973968505859375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1568163843, + "version": 843, + "versionNonce": 706975757, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 20.15618896484375, + -0.8763427734375 + ], + [ + 40.3123779296875, + 2.62908935546875 + ], + [ + 62.22125244140625, + 9.639923095703125 + ], + [ + 82.37738037109375, + 17.527130126953125 + ], + [ + 99.02825927734375, + 26.290679931640625 + ], + [ + 116.55535888671875, + 39.436004638671875 + ], + [ + 126.19525146484375, + 46.446868896484375 + ], + [ + 133.20611572265625, + 52.581390380859375 + ], + [ + 138.46417236328125, + 57.839508056640625 + ], + [ + 141.96966552734375, + 62.221282958984375 + ], + [ + 141.96966552734375, + 63.097625732421875 + ], + [ + 141.09332275390625, + 63.097625732421875 + ], + [ + 138.46417236328125, + 63.097625732421875 + ], + [ + 138.46417236328125, + 63.097625732421875 + ] + ], + "pressures": [ + 0.005859375, + 0.4208984375, + 0.6533203125, + 0.87890625, + 1, + 1, + 1, + 1, + 1, + 0.884765625, + 0.49609375, + 0.37109375, + 0.1640625, + 0.041015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 138.46417236328125, + 63.097625732421875 + ] + }, + { + "id": "inZmR74_udjd_zHMyoi1a", + "type": "freedraw", + "x": -147.30996704101562, + "y": -156.23783111572266, + "width": 92.01739501953125, + "height": 30.6724853515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 494785795, + "version": 836, + "versionNonce": 764115779, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -5.2581787109375, + 0 + ], + [ + -17.527099609375, + 2.62908935546875 + ], + [ + -30.6724853515625, + 6.13446044921875 + ], + [ + -45.570556640625, + 10.51629638671875 + ], + [ + -61.344970703125, + 16.6507568359375 + ], + [ + -74.49029541015625, + 21.90887451171875 + ], + [ + -86.75927734375, + 28.04339599609375 + ], + [ + -91.14105224609375, + 29.79608154296875 + ], + [ + -92.01739501953125, + 30.6724853515625 + ], + [ + -89.38836669921875, + 30.6724853515625 + ], + [ + -86.75927734375, + 30.6724853515625 + ], + [ + -86.75927734375, + 30.6724853515625 + ] + ], + "pressures": [ + 0.015625, + 0.3583984375, + 0.4033203125, + 0.5341796875, + 0.625, + 0.697265625, + 0.734375, + 0.7724609375, + 0.80078125, + 0.8173828125, + 0.826171875, + 0.134765625, + 0.0380859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -86.75927734375, + 30.6724853515625 + ] + }, + { + "id": "hTwgm8_LBf8q01L5qgr-o", + "type": "freedraw", + "x": -149.93911743164062, + "y": -152.7323989868164, + "width": 70.98486328125, + "height": 42.06512451171875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 71049933, + "version": 836, + "versionNonce": 1601113709, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.629150390625, + -2.62908935546875 + ], + [ + 1.7528076171875, + -2.62908935546875 + ], + [ + -5.258056640625, + -1.75274658203125 + ], + [ + -12.2689208984375, + 1.752685546875 + ], + [ + -53.45770263671875, + 28.04339599609375 + ], + [ + -56.96307373046875, + 31.548828125 + ], + [ + -63.97393798828125, + 35.93060302734375 + ], + [ + -67.4793701171875, + 38.55963134765625 + ], + [ + -68.355712890625, + 39.43603515625 + ], + [ + -67.4793701171875, + 39.43603515625 + ], + [ + -65.7266845703125, + 37.68328857421875 + ], + [ + -64.85028076171875, + 37.68328857421875 + ], + [ + -64.85028076171875, + 37.68328857421875 + ] + ], + "pressures": [ + 0.0087890625, + 0.1533203125, + 0.3828125, + 0.4619140625, + 0.529296875, + 0.8720703125, + 0.880859375, + 0.8876953125, + 0.884765625, + 0.79296875, + 0.1015625, + 0.06640625, + 0.0341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -64.85028076171875, + 37.68328857421875 + ] + }, + { + "id": "gnL93zoeyMBboeFOqUcCt", + "type": "freedraw", + "x": -131.53555297851562, + "y": -153.6087417602539, + "width": 59.59222412109375, + "height": 25.414337158203125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1001777251, + "version": 845, + "versionNonce": 1570839267, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.3818359375, + -3.505462646484375 + ], + [ + -5.2581787109375, + -3.505462646484375 + ], + [ + -6.134521484375, + -3.505462646484375 + ], + [ + -5.2581787109375, + -3.505462646484375 + ], + [ + -0.8763427734375, + -0.87640380859375 + ], + [ + 5.258056640625, + 4.38177490234375 + ], + [ + 7.88720703125, + 7.88720703125 + ], + [ + 9.639892578125, + 10.5162353515625 + ], + [ + 11.392578125, + 12.26898193359375 + ], + [ + 11.392578125, + 13.14532470703125 + ], + [ + 6.1343994140625, + 15.7744140625 + ], + [ + -2.629150390625, + 17.527099609375 + ], + [ + -13.1453857421875, + 17.527099609375 + ], + [ + -23.66162109375, + 17.527099609375 + ], + [ + -36.8070068359375, + 18.4034423828125 + ], + [ + -42.94146728515625, + 20.15618896484375 + ], + [ + -47.3232421875, + 21.03253173828125 + ], + [ + -48.19964599609375, + 21.90887451171875 + ], + [ + -46.4468994140625, + 21.90887451171875 + ], + [ + -42.94146728515625, + 21.03253173828125 + ], + [ + -41.18878173828125, + 20.15618896484375 + ], + [ + -41.18878173828125, + 20.15618896484375 + ] + ], + "pressures": [ + 0.0634765625, + 0.255859375, + 0.3232421875, + 0.48046875, + 0.697265625, + 0.859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2470703125, + 0.134765625, + 0.0341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -41.18878173828125, + 20.15618896484375 + ] + }, + { + "id": "fPpnl-Pil2PwKZ1EZk6Nt", + "type": "freedraw", + "x": -136.79373168945312, + "y": -155.36148834228516, + "width": 90.26470947265625, + "height": 22.785247802734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2083386979, + "version": 847, + "versionNonce": 482130125, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + -1.752716064453125 + ], + [ + -1.752685546875, + -0.8763427734375 + ], + [ + 1.752685546875, + 0 + ], + [ + 5.2581787109375, + 1.75274658203125 + ], + [ + 9.639892578125, + 3.50543212890625 + ], + [ + 12.26904296875, + 6.134521484375 + ], + [ + 14.021728515625, + 8.7635498046875 + ], + [ + 14.021728515625, + 11.39263916015625 + ], + [ + 13.1453857421875, + 14.021728515625 + ], + [ + 7.88720703125, + 15.7744140625 + ], + [ + 0, + 18.40350341796875 + ], + [ + -9.639892578125, + 20.15618896484375 + ], + [ + -20.15625, + 21.03253173828125 + ], + [ + -31.548828125, + 21.03253173828125 + ], + [ + -48.1995849609375, + 19.27984619140625 + ], + [ + -57.8394775390625, + 17.52716064453125 + ], + [ + -64.850341796875, + 15.7744140625 + ], + [ + -72.737548828125, + 14.021728515625 + ], + [ + -74.49029541015625, + 13.14532470703125 + ], + [ + -75.36663818359375, + 13.14532470703125 + ], + [ + -76.24298095703125, + 13.14532470703125 + ], + [ + -75.36663818359375, + 14.021728515625 + ], + [ + -74.49029541015625, + 14.021728515625 + ], + [ + -74.49029541015625, + 14.021728515625 + ] + ], + "pressures": [ + 0.0771484375, + 0.3623046875, + 0.6220703125, + 0.82421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8349609375, + 0.4140625, + 0.1064453125, + 0.0224609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -74.49029541015625, + 14.021728515625 + ] + }, + { + "id": "8Nzq-cWEufv4y1TJ5lOaD", + "type": "freedraw", + "x": -138.54641723632812, + "y": -156.23783111572266, + "width": 93.7701416015625, + "height": 21.908905029296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 649691139, + "version": 845, + "versionNonce": 622970499, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -1.752716064453125 + ], + [ + 0.8763427734375, + -1.752716064453125 + ], + [ + 3.50537109375, + -0.876373291015625 + ], + [ + 7.0108642578125, + 0 + ], + [ + 10.5162353515625, + 2.62908935546875 + ], + [ + 13.145263671875, + 5.25811767578125 + ], + [ + 14.021728515625, + 7.0108642578125 + ], + [ + 14.021728515625, + 8.7635498046875 + ], + [ + 12.2689208984375, + 11.39263916015625 + ], + [ + 5.258056640625, + 14.02166748046875 + ], + [ + -11.3927001953125, + 19.27984619140625 + ], + [ + -23.66162109375, + 20.15618896484375 + ], + [ + -37.683349609375, + 20.15618896484375 + ], + [ + -49.95233154296875, + 18.40350341796875 + ], + [ + -60.46856689453125, + 15.7744140625 + ], + [ + -68.35577392578125, + 14.8980712890625 + ], + [ + -74.49029541015625, + 12.26898193359375 + ], + [ + -77.119384765625, + 11.39263916015625 + ], + [ + -78.8720703125, + 11.39263916015625 + ], + [ + -79.7484130859375, + 10.51629638671875 + ], + [ + -77.119384765625, + 10.51629638671875 + ], + [ + -77.119384765625, + 10.51629638671875 + ] + ], + "pressures": [ + 0.08203125, + 0.64453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -77.119384765625, + 10.51629638671875 + ] + }, + { + "id": "hMB4cfaV8PXjFDjQSHkWb", + "type": "freedraw", + "x": -137.67007446289062, + "y": -157.11420440673828, + "width": 90.2646484375, + "height": 21.908905029296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1356320259, + "version": 848, + "versionNonce": 195434285, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0 + ], + [ + 2.6290283203125, + 0 + ], + [ + 6.134521484375, + 0.876373291015625 + ], + [ + 9.639892578125, + 3.505462646484375 + ], + [ + 13.1453857421875, + 6.134490966796875 + ], + [ + 16.6507568359375, + 10.516265869140625 + ], + [ + 18.4034423828125, + 13.145355224609375 + ], + [ + 19.27978515625, + 15.774444580078125 + ], + [ + 19.27978515625, + 17.527130126953125 + ], + [ + 16.6507568359375, + 19.279876708984375 + ], + [ + 4.3817138671875, + 21.032562255859375 + ], + [ + -7.88720703125, + 21.908905029296875 + ], + [ + -21.0325927734375, + 21.908905029296875 + ], + [ + -35.05426025390625, + 21.032562255859375 + ], + [ + -54.3341064453125, + 17.527130126953125 + ], + [ + -61.34490966796875, + 14.898040771484375 + ], + [ + -64.850341796875, + 13.145355224609375 + ], + [ + -67.47943115234375, + 12.269012451171875 + ], + [ + -68.35577392578125, + 11.392669677734375 + ], + [ + -69.23211669921875, + 11.392669677734375 + ], + [ + -70.1085205078125, + 11.392669677734375 + ], + [ + -70.98486328125, + 11.392669677734375 + ], + [ + -70.98486328125, + 12.269012451171875 + ], + [ + -70.1085205078125, + 12.269012451171875 + ], + [ + -70.1085205078125, + 12.269012451171875 + ] + ], + "pressures": [ + 0.0927734375, + 0.5498046875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.5224609375, + 0.20703125, + 0.087890625, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -70.1085205078125, + 12.269012451171875 + ] + }, + { + "id": "fdvO9EUcgciJedU3TemtW", + "type": "freedraw", + "x": -201.64407348632812, + "y": -141.33975982666016, + "width": 60.46856689453125, + "height": 94.646484375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1738849933, + "version": 838, + "versionNonce": 2060189219, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.0108642578125, + 0 + ], + [ + 7.0108642578125, + -1.75274658203125 + ], + [ + 1.752685546875, + -5.2581787109375 + ], + [ + -5.25811767578125, + -10.51629638671875 + ], + [ + -21.03253173828125, + -22.7852783203125 + ], + [ + -32.4251708984375, + -34.17791748046875 + ], + [ + -42.06512451171875, + -44.694183349609375 + ], + [ + -51.70501708984375, + -57.839508056640625 + ], + [ + -53.45770263671875, + -64.85037231445312 + ], + [ + -53.45770263671875, + -70.98486328125 + ], + [ + -49.95233154296875, + -77.11935424804688 + ], + [ + -45.57049560546875, + -83.25384521484375 + ], + [ + -42.06512451171875, + -86.75924682617188 + ], + [ + -38.5596923828125, + -90.26470947265625 + ], + [ + -36.80694580078125, + -92.01739501953125 + ], + [ + -33.301513671875, + -93.77011108398438 + ], + [ + -30.6724853515625, + -94.646484375 + ], + [ + -28.91973876953125, + -90.26470947265625 + ], + [ + -28.91973876953125, + -90.26470947265625 + ] + ], + "pressures": [ + 0.068359375, + 0.4287109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.98828125, + 0.7685546875, + 0.412109375, + 0.09375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -28.91973876953125, + -90.26470947265625 + ] + }, + { + "id": "Zl6mOFlxsGBn4YZa25XDp", + "type": "freedraw", + "x": -206.90219116210938, + "y": -143.0925064086914, + "width": 28.04339599609375, + "height": 92.89373779296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1931442787, + "version": 841, + "versionNonce": 1721018765, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.0108642578125, + 0 + ], + [ + -10.51629638671875, + 0 + ], + [ + -14.021728515625, + -1.752685546875 + ], + [ + -20.15618896484375, + -5.25811767578125 + ], + [ + -23.66162109375, + -9.639892578125 + ], + [ + -26.29071044921875, + -15.774383544921875 + ], + [ + -28.04339599609375, + -23.661590576171875 + ], + [ + -28.04339599609375, + -38.559661865234375 + ], + [ + -27.16705322265625, + -47.323211669921875 + ], + [ + -26.29071044921875, + -55.210418701171875 + ], + [ + -26.29071044921875, + -63.097625732421875 + ], + [ + -25.41436767578125, + -72.737548828125 + ], + [ + -21.0325927734375, + -85.00650024414062 + ], + [ + -18.40350341796875, + -89.38827514648438 + ], + [ + -16.65081787109375, + -91.14102172851562 + ], + [ + -14.8980712890625, + -92.89373779296875 + ], + [ + -12.26898193359375, + -92.89373779296875 + ], + [ + -10.51629638671875, + -92.89373779296875 + ], + [ + -7.0108642578125, + -92.89373779296875 + ], + [ + -4.3818359375, + -92.89373779296875 + ], + [ + -0.87640380859375, + -92.89373779296875 + ], + [ + -0.87640380859375, + -92.89373779296875 + ] + ], + "pressures": [ + 0.0703125, + 0.9296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4716796875, + 0.2373046875, + 0.1650390625, + 0.0869140625, + 0.013671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.87640380859375, + -92.89373779296875 + ] + }, + { + "id": "YG0_BzIhY1wNvRB3CWzjf", + "type": "freedraw", + "x": -197.26229858398438, + "y": -142.2161636352539, + "width": 36.80694580078125, + "height": 101.65728759765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 230530883, + "version": 840, + "versionNonce": 2039366083, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.0108642578125, + -2.6290283203125 + ], + [ + -10.51629638671875, + -3.50537109375 + ], + [ + -14.8980712890625, + -5.25811767578125 + ], + [ + -22.7852783203125, + -7.88720703125 + ], + [ + -27.16705322265625, + -12.26898193359375 + ], + [ + -32.4251708984375, + -18.4034423828125 + ], + [ + -35.05426025390625, + -28.919708251953125 + ], + [ + -36.80694580078125, + -41.188720703125 + ], + [ + -36.80694580078125, + -56.963104248046875 + ], + [ + -35.05426025390625, + -65.7266845703125 + ], + [ + -32.4251708984375, + -72.73751831054688 + ], + [ + -29.79608154296875, + -80.62472534179688 + ], + [ + -27.16705322265625, + -87.63558959960938 + ], + [ + -25.414306640625, + -94.64639282226562 + ], + [ + -24.5379638671875, + -98.15185546875 + ], + [ + -23.66162109375, + -99.90457153320312 + ], + [ + -23.66162109375, + -100.78091430664062 + ], + [ + -22.7852783203125, + -101.65728759765625 + ], + [ + -21.90887451171875, + -100.78091430664062 + ], + [ + -21.03253173828125, + -100.78091430664062 + ], + [ + -21.03253173828125, + -100.78091430664062 + ] + ], + "pressures": [ + 0.0439453125, + 0.5234375, + 0.78515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.376953125, + 0.158203125, + 0.080078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -21.03253173828125, + -100.78091430664062 + ] + }, + { + "id": "wCS66PzmYvsxftTvAO4CD", + "type": "freedraw", + "x": -199.89138793945312, + "y": -140.46341705322266, + "width": 33.301513671875, + "height": 101.65731811523438, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1026934061, + "version": 836, + "versionNonce": 1589768173, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + -4.38177490234375 + ], + [ + -14.02166748046875, + -7.88720703125 + ], + [ + -19.27978515625, + -12.26898193359375 + ], + [ + -25.414306640625, + -20.15618896484375 + ], + [ + -31.548828125, + -35.93060302734375 + ], + [ + -33.301513671875, + -46.446868896484375 + ], + [ + -33.301513671875, + -56.963165283203125 + ], + [ + -33.301513671875, + -67.47943115234375 + ], + [ + -32.4251708984375, + -80.624755859375 + ], + [ + -29.79608154296875, + -87.63558959960938 + ], + [ + -27.1669921875, + -92.89373779296875 + ], + [ + -24.5379638671875, + -96.39913940429688 + ], + [ + -21.03253173828125, + -98.15188598632812 + ], + [ + -17.527099609375, + -100.78091430664062 + ], + [ + -15.7744140625, + -100.78091430664062 + ], + [ + -14.89801025390625, + -101.65731811523438 + ], + [ + -14.89801025390625, + -101.65731811523438 + ] + ], + "pressures": [ + 0.0849609375, + 0.37890625, + 0.5595703125, + 0.7724609375, + 0.9150390625, + 1, + 1, + 1, + 1, + 1, + 0.9189453125, + 0.748046875, + 0.541015625, + 0.3017578125, + 0.16015625, + 0.0849609375, + 0.0205078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -14.89801025390625, + -101.65731811523438 + ] + }, + { + "id": "d5KunOO1N-MMyCKGs_K3d", + "type": "freedraw", + "x": -170.97164916992188, + "y": -174.64130401611328, + "width": 74.49029541015625, + "height": 75.36663818359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 454033603, + "version": 843, + "versionNonce": 1518801251, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.13446044921875, + -5.258148193359375 + ], + [ + -4.38177490234375, + -11.39263916015625 + ], + [ + 1.75274658203125, + -20.15618896484375 + ], + [ + 10.51629638671875, + -30.672454833984375 + ], + [ + 21.90887451171875, + -40.3123779296875 + ], + [ + 30.67254638671875, + -47.3232421875 + ], + [ + 41.18878173828125, + -49.952301025390625 + ], + [ + 47.32330322265625, + -49.952301025390625 + ], + [ + 53.45770263671875, + -45.570526123046875 + ], + [ + 57.83953857421875, + -36.806976318359375 + ], + [ + 55.21051025390625, + -19.27984619140625 + ], + [ + 43.81781005859375, + -6.134490966796875 + ], + [ + 27.16705322265625, + 6.134490966796875 + ], + [ + 10.51629638671875, + 15.7744140625 + ], + [ + -4.38177490234375, + 21.032562255859375 + ], + [ + -14.89801025390625, + 19.279815673828125 + ], + [ + -16.6507568359375, + 9.639923095703125 + ], + [ + -15.77435302734375, + -2.62908935546875 + ], + [ + -10.5162353515625, + -14.021697998046875 + ], + [ + -2.6290283203125, + -26.290679931640625 + ], + [ + 4.38177490234375, + -34.177886962890625 + ], + [ + 13.14532470703125, + -42.065093994140625 + ], + [ + 22.78533935546875, + -49.952301025390625 + ], + [ + 27.16705322265625, + -53.45770263671875 + ], + [ + 34.17791748046875, + -54.334075927734375 + ], + [ + 34.17791748046875, + -49.952301025390625 + ], + [ + 34.17791748046875, + -49.952301025390625 + ] + ], + "pressures": [ + 0.0771484375, + 0.3720703125, + 0.55078125, + 0.8203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.388671875, + 0.12109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.17791748046875, + -49.952301025390625 + ] + }, + { + "id": "iVQXXV3XbXIpFO1Fv3EUJ", + "type": "freedraw", + "x": -181.48788452148438, + "y": -176.3940200805664, + "width": 67.4793701171875, + "height": 68.35577392578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1352249229, + "version": 846, + "versionNonce": 1110927949, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -7.88720703125 + ], + [ + 0, + -15.7744140625 + ], + [ + 7.0108642578125, + -24.5379638671875 + ], + [ + 16.65081787109375, + -35.05426025390625 + ], + [ + 30.67242431640625, + -47.323211669921875 + ], + [ + 35.05426025390625, + -52.58135986328125 + ], + [ + 36.80694580078125, + -53.457733154296875 + ], + [ + 38.55963134765625, + -53.457733154296875 + ], + [ + 46.44683837890625, + -51.704986572265625 + ], + [ + 51.70501708984375, + -46.446868896484375 + ], + [ + 54.33404541015625, + -35.05426025390625 + ], + [ + 54.33404541015625, + -21.908905029296875 + ], + [ + 46.44683837890625, + -8.7635498046875 + ], + [ + 28.91973876953125, + 6.134490966796875 + ], + [ + 19.27984619140625, + 11.39263916015625 + ], + [ + 12.26898193359375, + 11.39263916015625 + ], + [ + 4.38177490234375, + 10.516265869140625 + ], + [ + -8.7635498046875, + 1.752716064453125 + ], + [ + -13.14532470703125, + -6.134490966796875 + ], + [ + -13.14532470703125, + -15.7744140625 + ], + [ + -4.38177490234375, + -26.290679931640625 + ], + [ + 6.13446044921875, + -37.683319091796875 + ], + [ + 19.27984619140625, + -49.952301025390625 + ], + [ + 23.66156005859375, + -54.334075927734375 + ], + [ + 25.41436767578125, + -56.963134765625 + ], + [ + 26.29071044921875, + -56.963134765625 + ], + [ + 27.16705322265625, + -56.963134765625 + ], + [ + 28.04339599609375, + -56.086761474609375 + ], + [ + 28.04339599609375, + -53.457733154296875 + ], + [ + 28.04339599609375, + -53.457733154296875 + ] + ], + "pressures": [ + 0.046875, + 0.4931640625, + 0.8154296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4892578125, + 0.2626953125, + 0.1748046875, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 28.04339599609375, + -53.457733154296875 + ] + }, + { + "id": "1LGs_v1oJr57gUazuZFNG", + "type": "freedraw", + "x": -185.86965942382812, + "y": -187.78665924072266, + "width": 63.09765625, + "height": 70.98480224609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2036976365, + "version": 846, + "versionNonce": 788851971, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -5.25811767578125 + ], + [ + 3.50543212890625, + -14.021697998046875 + ], + [ + 9.639892578125, + -21.908905029296875 + ], + [ + 17.527099609375, + -30.672454833984375 + ], + [ + 25.414306640625, + -37.68328857421875 + ], + [ + 32.4251708984375, + -43.81781005859375 + ], + [ + 35.9305419921875, + -44.694122314453125 + ], + [ + 39.43603515625, + -44.694122314453125 + ], + [ + 44.694091796875, + -42.065093994140625 + ], + [ + 47.3232421875, + -33.301513671875 + ], + [ + 49.075927734375, + -17.527099609375 + ], + [ + 47.3232421875, + -7.88720703125 + ], + [ + 40.3123779296875, + 2.62908935546875 + ], + [ + 21.908935546875, + 18.403472900390625 + ], + [ + 10.5162353515625, + 24.5379638671875 + ], + [ + 3.50543212890625, + 26.290679931640625 + ], + [ + -3.50543212890625, + 25.414337158203125 + ], + [ + -10.51629638671875, + 19.27984619140625 + ], + [ + -14.021728515625, + 9.639923095703125 + ], + [ + -11.39263916015625, + -7.010833740234375 + ], + [ + -4.38177490234375, + -17.527099609375 + ], + [ + 4.38177490234375, + -26.290679931640625 + ], + [ + 15.7744140625, + -36.80694580078125 + ], + [ + 20.1561279296875, + -41.188720703125 + ], + [ + 22.7852783203125, + -42.065093994140625 + ], + [ + 23.66162109375, + -42.065093994140625 + ], + [ + 24.5379638671875, + -42.065093994140625 + ], + [ + 25.414306640625, + -41.188720703125 + ], + [ + 25.414306640625, + -40.312347412109375 + ], + [ + 25.414306640625, + -40.312347412109375 + ] + ], + "pressures": [ + 0.119140625, + 0.38671875, + 0.8115234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7685546875, + 0.408203125, + 0.236328125, + 0.185546875, + 0.0810546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 25.414306640625, + -40.312347412109375 + ] + }, + { + "id": "YEH3eRMtO1x-OTaj1JQjI", + "type": "freedraw", + "x": -133.28836059570312, + "y": -248.2552261352539, + "width": 320.74639892578125, + "height": 208.57281494140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 550225827, + "version": 836, + "versionNonce": 1640929453, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.7528076171875, + -5.25811767578125 + ], + [ + -1.752685546875, + -19.279815673828125 + ], + [ + -15.7744140625, + -30.672454833984375 + ], + [ + -38.55963134765625, + -41.188690185546875 + ], + [ + -64.85028076171875, + -48.1995849609375 + ], + [ + -91.1409912109375, + -51.70501708984375 + ], + [ + -126.19525146484375, + -50.828643798828125 + ], + [ + -145.47503662109375, + -45.57049560546875 + ], + [ + -159.49676513671875, + -36.806915283203125 + ], + [ + -168.26031494140625, + -21.908905029296875 + ], + [ + -170.01300048828125, + 0 + ], + [ + -149.8568115234375, + 40.3123779296875 + ], + [ + -116.5552978515625, + 68.35577392578125 + ], + [ + -65.72662353515625, + 97.2755126953125 + ], + [ + -3.50537109375, + 123.56622314453125 + ], + [ + 76.2431640625, + 148.104248046875 + ], + [ + 111.29736328125, + 155.11505126953125 + ], + [ + 139.3406982421875, + 156.8677978515625 + ], + [ + 150.7333984375, + 155.99139404296875 + ], + [ + 150.7333984375, + 155.99139404296875 + ] + ], + "pressures": [ + 0.0576171875, + 0.078125, + 0.1533203125, + 0.2470703125, + 0.40234375, + 0.6015625, + 0.79296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.712890625, + 0.2685546875, + 0.064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 150.7333984375, + 155.99139404296875 + ] + }, + { + "id": "sRzfZKQnYnbFf2jGbtQZ5", + "type": "freedraw", + "x": -246.33822631835938, + "y": -249.1315689086914, + "width": 406.62921142578125, + "height": 182.28204345703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1518817357, + "version": 837, + "versionNonce": 1518752931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.0108642578125, + -7.0108642578125 + ], + [ + 11.39263916015625, + -16.650787353515625 + ], + [ + 8.7635498046875, + -26.290679931640625 + ], + [ + -3.50543212890625, + -34.177886962890625 + ], + [ + -35.05426025390625, + -43.81781005859375 + ], + [ + -57.8394775390625, + -47.3232421875 + ], + [ + -76.24298095703125, + -45.570526123046875 + ], + [ + -88.51190185546875, + -36.806976318359375 + ], + [ + -95.5228271484375, + -24.5379638671875 + ], + [ + -96.399169921875, + -2.62908935546875 + ], + [ + -83.25384521484375, + 15.7744140625 + ], + [ + -55.21044921875, + 41.188720703125 + ], + [ + -11.39263916015625, + 70.98483276367188 + ], + [ + 42.0650634765625, + 99.0281982421875 + ], + [ + 132.32977294921875, + 128.8243408203125 + ], + [ + 162.12591552734375, + 134.95880126953125 + ], + [ + 297.08465576171875, + 134.08245849609375 + ], + [ + 304.09552001953125, + 129.70068359375 + ], + [ + 310.23004150390625, + 120.9371337890625 + ], + [ + 307.60101318359375, + 115.67901611328125 + ], + [ + 307.60101318359375, + 115.67901611328125 + ] + ], + "pressures": [ + 0.0537109375, + 0.05859375, + 0.0595703125, + 0.0810546875, + 0.15234375, + 0.2841796875, + 0.3955078125, + 0.5537109375, + 0.9150390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6025390625, + 0.4208984375, + 0.189453125, + 0.0712890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 307.60101318359375, + 115.67901611328125 + ] + }, + { + "id": "eWTcWTNoUfZMXgWuxftrI", + "type": "freedraw", + "x": -299.7959289550781, + "y": -214.95368194580078, + "width": 209.4490966796875, + "height": 233.98712158203125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1561992941, + "version": 836, + "versionNonce": 925956877, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.63995361328125, + -5.258148193359375 + ], + [ + -18.40350341796875, + -12.26898193359375 + ], + [ + -26.2906494140625, + -21.90887451171875 + ], + [ + -28.9197998046875, + -37.683319091796875 + ], + [ + -21.0325927734375, + -51.70501708984375 + ], + [ + -7.0108642578125, + -70.10845947265625 + ], + [ + 18.4034423828125, + -89.38833618164062 + ], + [ + 70.10845947265625, + -110.42086791992188 + ], + [ + 101.65728759765625, + -114.80264282226562 + ], + [ + 129.70068359375, + -112.173583984375 + ], + [ + 152.4859619140625, + -102.53366088867188 + ], + [ + 168.2603759765625, + -89.38833618164062 + ], + [ + 179.6529541015625, + -52.58135986328125 + ], + [ + 180.529296875, + -14.021697998046875 + ], + [ + 177.02392578125, + 27.167022705078125 + ], + [ + 161.24951171875, + 63.097625732421875 + ], + [ + 124.4425048828125, + 97.27554321289062 + ], + [ + 99.0281982421875, + 111.29721069335938 + ], + [ + 74.490234375, + 119.18447875976562 + ], + [ + 74.490234375, + 119.18447875976562 + ] + ], + "pressures": [ + 0.09765625, + 0.1884765625, + 0.2705078125, + 0.388671875, + 0.642578125, + 0.75, + 0.8203125, + 0.8515625, + 0.9150390625, + 0.9423828125, + 0.9423828125, + 0.9169921875, + 0.8935546875, + 0.8876953125, + 0.876953125, + 0.826171875, + 0.6923828125, + 0.625, + 0.3505859375, + 0.0224609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 74.490234375, + 119.18447875976562 + ] + }, + { + "id": "77kXioBRQYHhx3XKgr9zL", + "type": "freedraw", + "x": -260.3599548339844, + "y": -200.0556411743164, + "width": 148.1041259765625, + "height": 228.72894287109375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 596952611, + "version": 837, + "versionNonce": 1287243843, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.639892578125, + -8.7635498046875 + ], + [ + -26.2906494140625, + -32.425140380859375 + ], + [ + -29.79608154296875, + -52.58135986328125 + ], + [ + -27.1669921875, + -72.737548828125 + ], + [ + -14.02166748046875, + -90.26467895507812 + ], + [ + 16.6507568359375, + -110.42086791992188 + ], + [ + 38.5596923828125, + -116.55535888671875 + ], + [ + 61.344970703125, + -113.92626953125 + ], + [ + 83.25384521484375, + -99.90460205078125 + ], + [ + 99.02825927734375, + -77.99569702148438 + ], + [ + 112.17364501953125, + -26.290679931640625 + ], + [ + 117.43170166015625, + 17.527130126953125 + ], + [ + 118.30804443359375, + 56.963134765625 + ], + [ + 106.91546630859375, + 85.00653076171875 + ], + [ + 78.8720703125, + 106.0390625 + ], + [ + 60.46856689453125, + 112.173583984375 + ], + [ + 41.18878173828125, + 112.173583984375 + ], + [ + 23.66162109375, + 106.0390625 + ], + [ + 9.63995361328125, + 96.399169921875 + ], + [ + 9.63995361328125, + 95.52288818359375 + ], + [ + 9.63995361328125, + 95.52288818359375 + ] + ], + "pressures": [ + 0.1044921875, + 0.162109375, + 0.30078125, + 0.462890625, + 0.625, + 0.75390625, + 0.8203125, + 0.828125, + 0.8427734375, + 0.8662109375, + 0.8662109375, + 0.884765625, + 0.8828125, + 0.8876953125, + 0.8876953125, + 0.7568359375, + 0.5537109375, + 0.3681640625, + 0.2685546875, + 0.0908203125, + 0.015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 9.63995361328125, + 95.52288818359375 + ] + }, + { + "id": "D1VXs7al0ZFFsQGxYlkkD", + "type": "freedraw", + "x": -294.5378112792969, + "y": -183.4048843383789, + "width": 333.8916015625, + "height": 28.04339599609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 530846637, + "version": 829, + "versionNonce": 1255674221, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.51629638671875, + -0.8763427734375 + ], + [ + -12.26898193359375, + -1.752685546875 + ], + [ + -10.51629638671875, + -1.752685546875 + ], + [ + 4.38177490234375, + -1.752685546875 + ], + [ + 53.45770263671875, + -1.752685546875 + ], + [ + 94.64642333984375, + -2.629058837890625 + ], + [ + 139.34063720703125, + -2.629058837890625 + ], + [ + 184.91107177734375, + 0 + ], + [ + 244.50335693359375, + 8.763580322265625 + ], + [ + 280.43389892578125, + 15.7744140625 + ], + [ + 308.47735595703125, + 21.908905029296875 + ], + [ + 321.62261962890625, + 25.414337158203125 + ], + [ + 317.24090576171875, + 25.414337158203125 + ], + [ + 317.24090576171875, + 25.414337158203125 + ] + ], + "pressures": [ + 0.01953125, + 0.111328125, + 0.1728515625, + 0.4501953125, + 0.708984375, + 1, + 1, + 1, + 1, + 1, + 0.609375, + 0.310546875, + 0.166015625, + 0.0087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 317.24090576171875, + 25.414337158203125 + ] + }, + { + "id": "bd0buS_5Vpmem2zJXblQx", + "type": "freedraw", + "x": -120.14297485351562, + "y": -177.27039337158203, + "width": 92.8936767578125, + "height": 29.796112060546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 767809197, + "version": 834, + "versionNonce": 2071840739, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0 + ], + [ + 0, + -0.8763427734375 + ], + [ + 10.5162353515625, + -1.752685546875 + ], + [ + 21.908935546875, + -3.505401611328125 + ], + [ + 32.4251708984375, + -4.38177490234375 + ], + [ + 39.43603515625, + -5.25811767578125 + ], + [ + 42.94140625, + -3.505401611328125 + ], + [ + 42.94140625, + 1.752716064453125 + ], + [ + 35.9306640625, + 5.258148193359375 + ], + [ + 25.414306640625, + 8.763580322265625 + ], + [ + 13.1453857421875, + 12.269012451171875 + ], + [ + -3.50537109375, + 15.7744140625 + ], + [ + -33.301513671875, + 20.15618896484375 + ], + [ + -44.694091796875, + 21.908905029296875 + ], + [ + -49.075927734375, + 22.785247802734375 + ], + [ + -49.9522705078125, + 22.785247802734375 + ], + [ + -48.1995849609375, + 23.661651611328125 + ], + [ + -42.0650634765625, + 24.537994384765625 + ], + [ + -35.9305419921875, + 24.537994384765625 + ], + [ + -33.301513671875, + 24.537994384765625 + ], + [ + -33.301513671875, + 24.537994384765625 + ] + ], + "pressures": [ + 0.0390625, + 0.447265625, + 0.6162109375, + 0.71484375, + 0.7265625, + 0.74609375, + 0.75390625, + 0.7705078125, + 0.7607421875, + 0.7607421875, + 0.7626953125, + 0.7568359375, + 0.74609375, + 0.70703125, + 0.6787109375, + 0.6640625, + 0.6572265625, + 0.3701171875, + 0.216796875, + 0.087890625, + 0.0234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -33.301513671875, + 24.537994384765625 + ] + }, + { + "id": "XGa14pgr7d3Vm09FhevIH", + "type": "freedraw", + "x": -130.65921020507812, + "y": -172.88858795166016, + "width": 92.893798828125, + "height": 31.548797607421875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 889024931, + "version": 833, + "versionNonce": 1510824909, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.50537109375, + 0 + ], + [ + 10.5162353515625, + 0 + ], + [ + 18.4034423828125, + 0 + ], + [ + 29.7960205078125, + -0.876373291015625 + ], + [ + 36.806884765625, + -0.876373291015625 + ], + [ + 42.0650634765625, + 0 + ], + [ + 45.5704345703125, + 1.752716064453125 + ], + [ + 47.3232421875, + 5.25811767578125 + ], + [ + 47.3232421875, + 9.639892578125 + ], + [ + 39.43603515625, + 15.774383544921875 + ], + [ + 28.919677734375, + 20.15618896484375 + ], + [ + 13.145263671875, + 24.5379638671875 + ], + [ + -16.6507568359375, + 28.91973876953125 + ], + [ + -34.1778564453125, + 29.79608154296875 + ], + [ + -42.94146728515625, + 30.67242431640625 + ], + [ + -45.570556640625, + 30.67242431640625 + ], + [ + -43.81781005859375, + 30.67242431640625 + ], + [ + -37.683349609375, + 30.67242431640625 + ], + [ + -35.0543212890625, + 30.67242431640625 + ], + [ + -35.0543212890625, + 30.67242431640625 + ] + ], + "pressures": [ + 0.14453125, + 0.6083984375, + 0.705078125, + 0.8115234375, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.8720703125, + 0.802734375, + 0.7607421875, + 0.17578125, + 0.0986328125, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -35.0543212890625, + 30.67242431640625 + ] + }, + { + "id": "47uWTSLGns-suk5XO44vG", + "type": "freedraw", + "x": -174.47702026367188, + "y": -299.96024322509766, + "width": 307.6009521484375, + "height": 245.37969970703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 689530787, + "version": 833, + "versionNonce": 484496259, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.752685546875, + -16.6507568359375 + ], + [ + 0.8763427734375, + -32.4251708984375 + ], + [ + -1.75274658203125, + -36.80694580078125 + ], + [ + -7.88720703125, + -41.188720703125 + ], + [ + -19.27984619140625, + -42.0650634765625 + ], + [ + -49.95233154296875, + -37.683258056640625 + ], + [ + -73.61395263671875, + -29.79608154296875 + ], + [ + -97.27557373046875, + -16.6507568359375 + ], + [ + -115.67901611328125, + 0.876373291015625 + ], + [ + -122.68988037109375, + 24.537994384765625 + ], + [ + -108.66815185546875, + 70.10848999023438 + ], + [ + -82.37750244140625, + 104.286376953125 + ], + [ + -47.3232421875, + 136.7115478515625 + ], + [ + -0.87640380859375, + 163.00225830078125 + ], + [ + 82.37750244140625, + 191.045654296875 + ], + [ + 124.44256591796875, + 200.685546875 + ], + [ + 156.86785888671875, + 203.31463623046875 + ], + [ + 184.03472900390625, + 203.31463623046875 + ], + [ + 184.91107177734375, + 202.43829345703125 + ], + [ + 184.91107177734375, + 202.43829345703125 + ] + ], + "pressures": [ + 0.0888671875, + 0.1123046875, + 0.224609375, + 0.2685546875, + 0.412109375, + 0.6845703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.828125, + 0.46484375, + 0.224609375, + 0.1474609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 184.91107177734375, + 202.43829345703125 + ] + }, + { + "id": "CVVJRbhJdr3uCNn5nlUXO", + "type": "freedraw", + "x": -229.68746948242188, + "y": -108.03824615478516, + "width": 163.00225830078125, + "height": 152.4859619140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 671601539, + "version": 826, + "versionNonce": 1021991469, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -4.38177490234375 + ], + [ + 0, + -10.51629638671875 + ], + [ + 0, + -21.03253173828125 + ], + [ + 0, + -35.05426025390625 + ], + [ + 6.13446044921875, + -52.58135986328125 + ], + [ + 27.16705322265625, + -81.50112915039062 + ], + [ + 47.3232421875, + -102.53366088867188 + ], + [ + 69.23211669921875, + -120.06076049804688 + ], + [ + 91.14105224609375, + -133.20608520507812 + ], + [ + 121.81353759765625, + -145.47509765625 + ], + [ + 139.34063720703125, + -148.98052978515625 + ], + [ + 152.48590087890625, + -151.60958862304688 + ], + [ + 160.37310791015625, + -152.4859619140625 + ], + [ + 163.00225830078125, + -152.4859619140625 + ], + [ + 162.12591552734375, + -151.60958862304688 + ], + [ + 162.12591552734375, + -151.60958862304688 + ] + ], + "pressures": [ + 0.01171875, + 0.28515625, + 0.4013671875, + 0.5166015625, + 0.61328125, + 0.720703125, + 0.830078125, + 0.8984375, + 0.927734375, + 0.900390625, + 0.7685546875, + 0.57421875, + 0.353515625, + 0.19140625, + 0.14453125, + 0.0185546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 162.12591552734375, + -151.60958862304688 + ] + }, + { + "id": "9pc7-zYCbiAtutoiVhqd6", + "type": "freedraw", + "x": -92.09951782226562, + "y": -271.0404739379883, + "width": 157.74407958984375, + "height": 195.42739868164062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1444335821, + "version": 829, + "versionNonce": 555838243, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.6290283203125, + -4.38177490234375 + ], + [ + 2.6290283203125, + -7.88720703125 + ], + [ + 1.752685546875, + -9.639892578125 + ], + [ + -2.629150390625, + -11.39263916015625 + ], + [ + -11.3927001953125, + -12.26898193359375 + ], + [ + -26.290771484375, + -11.39263916015625 + ], + [ + -57.839599609375, + -0.8763427734375 + ], + [ + -82.37750244140625, + 10.516265869140625 + ], + [ + -106.91546630859375, + 25.414337158203125 + ], + [ + -129.70074462890625, + 42.94146728515625 + ], + [ + -145.47515869140625, + 65.72671508789062 + ], + [ + -155.11505126953125, + 107.79177856445312 + ], + [ + -155.11505126953125, + 134.95883178710938 + ], + [ + -152.48602294921875, + 156.86770629882812 + ], + [ + -149.85693359375, + 172.64212036132812 + ], + [ + -146.35150146484375, + 182.28207397460938 + ], + [ + -143.72247314453125, + 183.15841674804688 + ], + [ + -141.9697265625, + 178.77664184570312 + ], + [ + -141.9697265625, + 178.77664184570312 + ] + ], + "pressures": [ + 0.0234375, + 0.03125, + 0.0556640625, + 0.09765625, + 0.166015625, + 0.2353515625, + 0.296875, + 0.3935546875, + 0.427734375, + 0.515625, + 0.5625, + 0.5712890625, + 0.5693359375, + 0.57421875, + 0.56640625, + 0.537109375, + 0.373046875, + 0.20703125, + 0.04296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -141.9697265625, + 178.77664184570312 + ] + }, + { + "id": "PWaYOPAGnGr48vG67ZbXc", + "type": "freedraw", + "x": -150.81546020507812, + "y": -107.16190338134766, + "width": 83.25384521484375, + "height": 178.77664184570312, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1627653165, + "version": 833, + "versionNonce": 207129741, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.8763427734375, + 4.38177490234375 + ], + [ + 0.8763427734375, + 8.7635498046875 + ], + [ + 1.752685546875, + 12.26898193359375 + ], + [ + 1.752685546875, + 14.021728515625 + ], + [ + -1.752685546875, + 13.14532470703125 + ], + [ + -10.5162353515625, + 9.63995361328125 + ], + [ + -18.4034423828125, + 6.134521484375 + ], + [ + -25.414306640625, + 1.75274658203125 + ], + [ + -36.80694580078125, + -10.5162353515625 + ], + [ + -43.8177490234375, + -23.66162109375 + ], + [ + -48.19952392578125, + -40.3123779296875 + ], + [ + -48.19952392578125, + -56.963134765625 + ], + [ + -42.0650634765625, + -84.13015747070312 + ], + [ + -34.1778564453125, + -104.286376953125 + ], + [ + -22.78521728515625, + -123.56619262695312 + ], + [ + -8.7635498046875, + -139.34060668945312 + ], + [ + 3.5054931640625, + -149.85687255859375 + ], + [ + 17.527099609375, + -158.62045288085938 + ], + [ + 25.414306640625, + -161.24951171875 + ], + [ + 30.6724853515625, + -163.87857055664062 + ], + [ + 33.301513671875, + -164.75491333007812 + ], + [ + 35.0543212890625, + -164.75491333007812 + ], + [ + 35.0543212890625, + -164.75491333007812 + ] + ], + "pressures": [ + 0.0703125, + 0.0810546875, + 0.0947265625, + 0.12890625, + 0.146484375, + 0.21875, + 0.333984375, + 0.4443359375, + 0.541015625, + 0.671875, + 0.712890625, + 0.72265625, + 0.7421875, + 0.748046875, + 0.7568359375, + 0.75390625, + 0.7421875, + 0.669921875, + 0.384765625, + 0.2373046875, + 0.1552734375, + 0.1025390625, + 0.0390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.0543212890625, + -164.75491333007812 + ] + }, + { + "id": "ruaxUEOkqGvYmLMkuFNto", + "type": "freedraw", + "x": -184.99331665039062, + "y": -155.36148834228516, + "width": 62.22125244140625, + "height": 22.7852783203125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1562649763, + "version": 827, + "versionNonce": 1823346371, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + 0 + ], + [ + -12.26898193359375, + 0.8763427734375 + ], + [ + -16.6507568359375, + 4.38177490234375 + ], + [ + -18.40350341796875, + 8.7635498046875 + ], + [ + -19.27984619140625, + 15.7744140625 + ], + [ + -17.527099609375, + 19.27984619140625 + ], + [ + -14.02166748046875, + 21.03253173828125 + ], + [ + -12.26898193359375, + 21.908935546875 + ], + [ + -8.7635498046875, + 22.7852783203125 + ], + [ + -4.38177490234375, + 22.7852783203125 + ], + [ + 0.8763427734375, + 22.7852783203125 + ], + [ + 5.25811767578125, + 21.908935546875 + ], + [ + 11.39263916015625, + 20.15618896484375 + ], + [ + 21.908935546875, + 16.6507568359375 + ], + [ + 29.796142578125, + 14.021728515625 + ], + [ + 36.8070068359375, + 11.39263916015625 + ], + [ + 40.3123779296875, + 7.88720703125 + ], + [ + 42.94140625, + 6.134521484375 + ], + [ + 41.188720703125, + 7.88720703125 + ], + [ + 41.188720703125, + 7.88720703125 + ] + ], + "pressures": [ + 0.056640625, + 0.2822265625, + 0.3603515625, + 0.443359375, + 0.53125, + 0.58984375, + 0.6376953125, + 0.67578125, + 0.697265625, + 0.703125, + 0.7109375, + 0.744140625, + 0.8173828125, + 0.8935546875, + 0.9599609375, + 1, + 1, + 1, + 1, + 0.0205078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.188720703125, + 7.88720703125 + ] + }, + { + "id": "n-Iv1TiQ5HScq1NAJEFX6", + "type": "freedraw", + "x": -192.88052368164062, + "y": -144.8451919555664, + "width": 49.07586669921875, + "height": 17.527099609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 65928835, + "version": 828, + "versionNonce": 135361261, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -2.62908935546875 + ], + [ + -4.38177490234375, + -1.75274658203125 + ], + [ + -5.25811767578125, + 0.8763427734375 + ], + [ + -5.25811767578125, + 3.50543212890625 + ], + [ + -4.38177490234375, + 6.13446044921875 + ], + [ + -2.62908935546875, + 7.88720703125 + ], + [ + 1.752685546875, + 9.639892578125 + ], + [ + 10.51629638671875, + 13.14532470703125 + ], + [ + 14.8980712890625, + 14.89801025390625 + ], + [ + 17.527099609375, + 14.89801025390625 + ], + [ + 18.40350341796875, + 14.89801025390625 + ], + [ + 22.7852783203125, + 14.02166748046875 + ], + [ + 26.2906494140625, + 12.26898193359375 + ], + [ + 29.796142578125, + 10.5162353515625 + ], + [ + 34.1778564453125, + 7.0108642578125 + ], + [ + 37.683349609375, + 3.50543212890625 + ], + [ + 41.188720703125, + 0.8763427734375 + ], + [ + 43.8177490234375, + -0.8763427734375 + ], + [ + 43.8177490234375, + -1.75274658203125 + ], + [ + 43.8177490234375, + -2.62908935546875 + ], + [ + 43.8177490234375, + -2.62908935546875 + ] + ], + "pressures": [ + 0.064453125, + 0.3173828125, + 0.6552734375, + 0.75390625, + 0.8076171875, + 0.849609375, + 0.8740234375, + 0.9169921875, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.87890625, + 0.5322265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 43.8177490234375, + -2.62908935546875 + ] + }, + { + "id": "cENTXETxTbpAqUeRj-nnE", + "type": "freedraw", + "x": -190.25143432617188, + "y": -141.33975982666016, + "width": 49.075927734375, + "height": 17.52716064453125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1025156941, + "version": 827, + "versionNonce": 1378172515, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + -2.62908935546875, + 2.6290283203125 + ], + [ + -3.50543212890625, + 6.13446044921875 + ], + [ + -3.50543212890625, + 9.639892578125 + ], + [ + -3.50543212890625, + 12.26898193359375 + ], + [ + -3.50543212890625, + 14.02166748046875 + ], + [ + -1.75274658203125, + 14.89801025390625 + ], + [ + 2.6290283203125, + 15.7744140625 + ], + [ + 9.639892578125, + 15.7744140625 + ], + [ + 12.26898193359375, + 15.7744140625 + ], + [ + 16.6507568359375, + 14.89801025390625 + ], + [ + 21.03253173828125, + 13.14532470703125 + ], + [ + 27.16705322265625, + 10.5162353515625 + ], + [ + 33.30145263671875, + 7.88720703125 + ], + [ + 41.18865966796875, + 4.38177490234375 + ], + [ + 43.81781005859375, + 1.752685546875 + ], + [ + 44.69415283203125, + 0 + ], + [ + 45.57049560546875, + -0.87640380859375 + ], + [ + 45.57049560546875, + -1.75274658203125 + ], + [ + 45.57049560546875, + -1.75274658203125 + ] + ], + "pressures": [ + 0.0625, + 0.2939453125, + 0.341796875, + 0.3896484375, + 0.439453125, + 0.474609375, + 0.5078125, + 0.57421875, + 0.5849609375, + 0.611328125, + 0.6318359375, + 0.66015625, + 0.70703125, + 0.740234375, + 0.75390625, + 0.7763671875, + 0.7783203125, + 0.7705078125, + 0.7607421875, + 0.53515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 45.57049560546875, + -1.75274658203125 + ] + }, + { + "id": "rDS8a6xO1I80O-z9ztTeP", + "type": "freedraw", + "x": -153.44448852539062, + "y": -135.2052993774414, + "width": 67.4793701171875, + "height": 112.17355346679688, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 936472941, + "version": 826, + "versionNonce": 1017023821, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0.8763427734375 + ], + [ + 1.752685546875, + -3.50543212890625 + ], + [ + 7.88720703125, + -7.0108642578125 + ], + [ + 19.27978515625, + -13.14532470703125 + ], + [ + 34.1778564453125, + -21.03253173828125 + ], + [ + 53.457763671875, + -35.054229736328125 + ], + [ + 61.344970703125, + -46.446868896484375 + ], + [ + 65.7266845703125, + -59.592193603515625 + ], + [ + 65.7266845703125, + -71.86117553710938 + ], + [ + 64.850341796875, + -80.624755859375 + ], + [ + 56.0867919921875, + -91.14102172851562 + ], + [ + 48.1995849609375, + -96.399169921875 + ], + [ + 38.5596923828125, + -100.78094482421875 + ], + [ + 30.6724853515625, + -105.1627197265625 + ], + [ + 24.5379638671875, + -107.79177856445312 + ], + [ + 19.27978515625, + -109.54449462890625 + ], + [ + 16.6507568359375, + -110.42083740234375 + ], + [ + 14.021728515625, + -110.42083740234375 + ], + [ + 12.2689208984375, + -111.29721069335938 + ], + [ + 12.2689208984375, + -111.29721069335938 + ] + ], + "pressures": [ + 0.0478515625, + 0.4833984375, + 0.8515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.798828125, + 0.599609375, + 0.3232421875, + 0.2060546875, + 0.1220703125, + 0.05078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 12.2689208984375, + -111.29721069335938 + ] + }, + { + "id": "P5-MWDCIE0uXFVkUMDtTT", + "type": "freedraw", + "x": -215.66580200195312, + "y": -303.4656448364258, + "width": 102.53363037109375, + "height": 282.18670654296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 324167075, + "version": 830, + "versionNonce": 1280670211, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.87640380859375, + -7.0108642578125 + ], + [ + 2.62908935546875, + -12.268951416015625 + ], + [ + 4.38177490234375, + -16.6507568359375 + ], + [ + 6.134521484375, + -21.03253173828125 + ], + [ + 13.1453857421875, + -27.16705322265625 + ], + [ + 19.27984619140625, + -29.79608154296875 + ], + [ + 25.41436767578125, + -30.672454833984375 + ], + [ + 34.17791748046875, + -29.79608154296875 + ], + [ + 53.457763671875, + -14.8980712890625 + ], + [ + 68.3558349609375, + 4.38177490234375 + ], + [ + 81.5010986328125, + 30.672454833984375 + ], + [ + 91.14111328125, + 63.097625732421875 + ], + [ + 96.399169921875, + 99.90457153320312 + ], + [ + 98.15185546875, + 154.23867797851562 + ], + [ + 93.7701416015625, + 184.91110229492188 + ], + [ + 77.119384765625, + 209.44906616210938 + ], + [ + 54.3341064453125, + 227.85256958007812 + ], + [ + 21.908935546875, + 244.50332641601562 + ], + [ + 7.0108642578125, + 249.76144409179688 + ], + [ + 0, + 251.51425170898438 + ], + [ + -2.6290283203125, + 251.51425170898438 + ], + [ + -4.38177490234375, + 250.63784790039062 + ], + [ + -4.38177490234375, + 249.76144409179688 + ], + [ + -4.38177490234375, + 249.76144409179688 + ] + ], + "pressures": [ + 0.0869140625, + 0.1328125, + 0.2060546875, + 0.283203125, + 0.458984375, + 0.6865234375, + 0.728515625, + 0.7626953125, + 0.822265625, + 0.92578125, + 0.9755859375, + 1, + 1, + 0.9794921875, + 0.96875, + 0.931640625, + 0.8642578125, + 0.7666015625, + 0.51953125, + 0.423828125, + 0.341796875, + 0.2255859375, + 0.1396484375, + 0.060546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.38177490234375, + 249.76144409179688 + ] + }, + { + "id": "-6SUUHCLO9eoLB2B7Z1u0", + "type": "freedraw", + "x": -171.84799194335938, + "y": -277.17496490478516, + "width": 157.7440185546875, + "height": 286.5683898925781, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 148087565, + "version": 828, + "versionNonce": 1767463853, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.38177490234375, + -8.763580322265625 + ], + [ + 7.88726806640625, + -17.527130126953125 + ], + [ + 14.02166748046875, + -26.290679931640625 + ], + [ + 19.27984619140625, + -36.80694580078125 + ], + [ + 22.78521728515625, + -46.446868896484375 + ], + [ + 21.03253173828125, + -56.963134765625 + ], + [ + 13.14532470703125, + -60.468536376953125 + ], + [ + 0.8763427734375, + -59.59222412109375 + ], + [ + -14.02166748046875, + -52.58135986328125 + ], + [ + -40.3123779296875, + -24.5379638671875 + ], + [ + -54.33404541015625, + 5.258148193359375 + ], + [ + -63.09759521484375, + 43.81781005859375 + ], + [ + -60.46856689453125, + 86.75924682617188 + ], + [ + -38.55963134765625, + 129.70068359375 + ], + [ + 16.65081787109375, + 186.663818359375 + ], + [ + 49.07598876953125, + 211.2017822265625 + ], + [ + 70.10845947265625, + 222.59442138671875 + ], + [ + 81.50115966796875, + 226.099853515625 + ], + [ + 91.14105224609375, + 226.099853515625 + ], + [ + 94.64642333984375, + 225.22357177734375 + ], + [ + 94.64642333984375, + 223.47076416015625 + ], + [ + 94.64642333984375, + 223.47076416015625 + ] + ], + "pressures": [ + 0.0380859375, + 0.087890625, + 0.1572265625, + 0.21875, + 0.291015625, + 0.3720703125, + 0.537109375, + 0.80078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8115234375, + 0.2880859375, + 0.1513671875, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 94.64642333984375, + 223.47076416015625 + ] + }, + { + "id": "4Bv9csy9Xn_UeOdQ_5ntq", + "type": "freedraw", + "x": -317.3230285644531, + "y": -158.86688995361328, + "width": 334.76806640625, + "height": 24.5379638671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1437603725, + "version": 815, + "versionNonce": 2017280419, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.2581787109375, + 0.8763427734375 + ], + [ + 2.6290283203125, + 0.8763427734375 + ], + [ + 25.41424560546875, + 0 + ], + [ + 77.99566650390625, + -6.134490966796875 + ], + [ + 115.678955078125, + -12.26898193359375 + ], + [ + 156.86767578125, + -17.527130126953125 + ], + [ + 195.4273681640625, + -21.908905029296875 + ], + [ + 242.7506103515625, + -23.66162109375 + ], + [ + 273.423095703125, + -21.908905029296875 + ], + [ + 303.2191162109375, + -18.40350341796875 + ], + [ + 324.251708984375, + -16.650787353515625 + ], + [ + 329.5098876953125, + -16.650787353515625 + ], + [ + 329.5098876953125, + -16.650787353515625 + ] + ], + "pressures": [ + 0.0859375, + 0.5849609375, + 0.6904296875, + 0.90625, + 1, + 1, + 1, + 1, + 1, + 0.724609375, + 0.384765625, + 0.1884765625, + 0.1298828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 329.5098876953125, + -16.650787353515625 + ] + }, + { + "id": "rh9jBWL0kD-XEg5BbVQKj", + "type": "freedraw", + "x": -297.1669006347656, + "y": -137.8343276977539, + "width": 330.38623046875, + "height": 35.930633544921875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1954527747, + "version": 814, + "versionNonce": 644570637, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 12.26898193359375, + -4.3818359375 + ], + [ + 40.3123779296875, + -10.51629638671875 + ], + [ + 74.49029541015625, + -18.40350341796875 + ], + [ + 125.31890869140625, + -29.796142578125 + ], + [ + 156.8677978515625, + -34.17791748046875 + ], + [ + 186.663818359375, + -35.930633544921875 + ], + [ + 219.0889892578125, + -35.930633544921875 + ], + [ + 271.67041015625, + -32.425201416015625 + ], + [ + 302.3428955078125, + -28.919769287109375 + ], + [ + 324.251708984375, + -27.16705322265625 + ], + [ + 330.38623046875, + -26.29071044921875 + ], + [ + 330.38623046875, + -26.29071044921875 + ] + ], + "pressures": [ + 0.1259765625, + 0.66796875, + 0.927734375, + 1, + 1, + 1, + 1, + 0.8154296875, + 0.384765625, + 0.224609375, + 0.1513671875, + 0.1083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 330.38623046875, + -26.29071044921875 + ] + }, + { + "id": "O8yjNfL3ENOf9zOYXa9ox", + "type": "freedraw", + "x": -275.2579650878906, + "y": -146.59793853759766, + "width": 315.4881591796875, + "height": 56.086822509765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 166883395, + "version": 817, + "versionNonce": 1326126403, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.88720703125, + 0.87640380859375 + ], + [ + -7.0108642578125, + 0.87640380859375 + ], + [ + 3.50537109375, + -3.50543212890625 + ], + [ + 23.66156005859375, + -10.516265869140625 + ], + [ + 49.9522705078125, + -20.156158447265625 + ], + [ + 82.37744140625, + -32.425140380859375 + ], + [ + 147.227783203125, + -48.199554443359375 + ], + [ + 191.9219970703125, + -54.33404541015625 + ], + [ + 227.8525390625, + -55.210418701171875 + ], + [ + 255.01953125, + -51.704986572265625 + ], + [ + 285.6920166015625, + -43.817779541015625 + ], + [ + 298.83740234375, + -39.436004638671875 + ], + [ + 307.6009521484375, + -35.930572509765625 + ], + [ + 307.6009521484375, + -35.054229736328125 + ], + [ + 307.6009521484375, + -35.054229736328125 + ] + ], + "pressures": [ + 0.1005859375, + 0.3720703125, + 0.5673828125, + 0.8720703125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.861328125, + 0.384765625, + 0.2197265625, + 0.1328125, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 307.6009521484375, + -35.054229736328125 + ] + }, + { + "id": "eJPf0gK05dN3uYqAg4xYC", + "type": "freedraw", + "x": -244.58554077148438, + "y": -146.59793853759766, + "width": 341.77886962890625, + "height": 59.59222412109375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 703371661, + "version": 818, + "versionNonce": 1255019629, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0.87640380859375 + ], + [ + -1.752685546875, + 0 + ], + [ + -0.8763427734375, + -2.6290283203125 + ], + [ + 12.26898193359375, + -13.14532470703125 + ], + [ + 28.91973876953125, + -21.90887451171875 + ], + [ + 56.0867919921875, + -30.672454833984375 + ], + [ + 91.14105224609375, + -41.188720703125 + ], + [ + 126.19525146484375, + -49.9522705078125 + ], + [ + 175.27117919921875, + -58.7158203125 + ], + [ + 215.58355712890625, + -58.7158203125 + ], + [ + 257.64874267578125, + -53.45770263671875 + ], + [ + 293.57928466796875, + -48.199554443359375 + ], + [ + 321.62274169921875, + -44.694122314453125 + ], + [ + 340.02618408203125, + -42.941436767578125 + ], + [ + 338.27349853515625, + -42.941436767578125 + ], + [ + 338.27349853515625, + -42.941436767578125 + ] + ], + "pressures": [ + 0.0966796875, + 0.83203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7568359375, + 0.3447265625, + 0.1455078125, + 0.015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 338.27349853515625, + -42.941436767578125 + ] + }, + { + "id": "sl9GO1ozhxOVNhHWAO8bx", + "type": "freedraw", + "x": -220.04757690429688, + "y": -161.49597930908203, + "width": 65.7266845703125, + "height": 21.908905029296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 234578669, + "version": 809, + "versionNonce": 538801379, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + 0 + ], + [ + -7.01080322265625, + 0 + ], + [ + -11.39263916015625, + 0.876373291015625 + ], + [ + -14.89801025390625, + 2.62908935546875 + ], + [ + -18.4034423828125, + 3.50543212890625 + ], + [ + -15.7744140625, + 7.010833740234375 + ], + [ + -8.7635498046875, + 10.516265869140625 + ], + [ + -0.8763427734375, + 14.021697998046875 + ], + [ + 7.0108642578125, + 16.650787353515625 + ], + [ + 18.40350341796875, + 20.156219482421875 + ], + [ + 24.5379638671875, + 21.908905029296875 + ], + [ + 28.91973876953125, + 21.908905029296875 + ], + [ + 35.93060302734375, + 21.908905029296875 + ], + [ + 39.43603515625, + 20.156219482421875 + ], + [ + 42.06512451171875, + 19.279815673828125 + ], + [ + 45.570556640625, + 19.279815673828125 + ], + [ + 47.3232421875, + 19.279815673828125 + ], + [ + 47.3232421875, + 19.279815673828125 + ] + ], + "pressures": [ + 0.11328125, + 0.7744140625, + 0.921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.740234375, + 0.3310546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 47.3232421875, + 19.279815673828125 + ] + }, + { + "id": "HYZ5SDLef9oetivUEYKI7", + "type": "freedraw", + "x": -216.54214477539062, + "y": -158.86688995361328, + "width": 63.09759521484375, + "height": 26.29071044921875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 464753805, + "version": 812, + "versionNonce": 306904781, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.876373291015625 + ], + [ + -3.50543212890625, + -0.876373291015625 + ], + [ + -7.0108642578125, + -0.876373291015625 + ], + [ + -11.39263916015625, + -0.876373291015625 + ], + [ + -15.7744140625, + 2.629058837890625 + ], + [ + -17.527099609375, + 3.505401611328125 + ], + [ + -18.4034423828125, + 5.258148193359375 + ], + [ + -18.4034423828125, + 7.010833740234375 + ], + [ + -11.39263916015625, + 12.268951416015625 + ], + [ + -4.38177490234375, + 16.650726318359375 + ], + [ + 3.50543212890625, + 19.279815673828125 + ], + [ + 14.8980712890625, + 21.908905029296875 + ], + [ + 26.29071044921875, + 24.537933349609375 + ], + [ + 33.301513671875, + 25.414337158203125 + ], + [ + 35.93060302734375, + 25.414337158203125 + ], + [ + 37.683349609375, + 24.537933349609375 + ], + [ + 40.3123779296875, + 23.661590576171875 + ], + [ + 43.81781005859375, + 21.908905029296875 + ], + [ + 44.69415283203125, + 21.908905029296875 + ], + [ + 44.69415283203125, + 21.032562255859375 + ], + [ + 44.69415283203125, + 21.032562255859375 + ] + ], + "pressures": [ + 0.0576171875, + 0.56640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.50390625, + 0.2080078125, + 0.16015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 44.69415283203125, + 21.032562255859375 + ] + }, + { + "id": "aYzj6Gpzkjlx4VposgKEM", + "type": "freedraw", + "x": -225.30569458007812, + "y": -161.49597930908203, + "width": 69.23211669921875, + "height": 25.414337158203125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 445771459, + "version": 811, + "versionNonce": 1258479747, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.752685546875, + -0.8763427734375 + ], + [ + 0.8763427734375, + -0.8763427734375 + ], + [ + -3.50543212890625, + -0.8763427734375 + ], + [ + -9.639892578125, + -0.8763427734375 + ], + [ + -15.7744140625, + 0 + ], + [ + -19.27984619140625, + 0.876373291015625 + ], + [ + -20.15618896484375, + 3.50543212890625 + ], + [ + -18.40350341796875, + 7.010833740234375 + ], + [ + -14.02166748046875, + 9.639923095703125 + ], + [ + -10.51629638671875, + 12.269012451171875 + ], + [ + 0, + 16.650787353515625 + ], + [ + 9.639892578125, + 19.279815673828125 + ], + [ + 20.15618896484375, + 21.032562255859375 + ], + [ + 28.91973876953125, + 22.785247802734375 + ], + [ + 36.80694580078125, + 24.537994384765625 + ], + [ + 43.81781005859375, + 24.537994384765625 + ], + [ + 47.3232421875, + 24.537994384765625 + ], + [ + 49.075927734375, + 24.537994384765625 + ], + [ + 49.075927734375, + 23.661651611328125 + ], + [ + 49.075927734375, + 23.661651611328125 + ] + ], + "pressures": [ + 0.02734375, + 0.384765625, + 0.908203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.876953125, + 0.4423828125, + 0.1728515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 49.075927734375, + 23.661651611328125 + ] + }, + { + "id": "JZLcRi0wqYfXoPcPWVD0O", + "type": "freedraw", + "x": -209.53128051757812, + "y": -157.99054718017578, + "width": 66.60302734375, + "height": 28.919769287109375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1132222147, + "version": 810, + "versionNonce": 58432813, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + -3.50543212890625 + ], + [ + -7.0108642578125, + -3.50543212890625 + ], + [ + -11.39263916015625, + -3.50543212890625 + ], + [ + -15.7744140625, + -3.50543212890625 + ], + [ + -20.15618896484375, + -2.629058837890625 + ], + [ + -24.5379638671875, + 0 + ], + [ + -25.414306640625, + 1.752716064453125 + ], + [ + -25.414306640625, + 5.258148193359375 + ], + [ + -24.5379638671875, + 7.887176513671875 + ], + [ + -18.40350341796875, + 12.269012451171875 + ], + [ + -10.51629638671875, + 15.774383544921875 + ], + [ + 1.752685546875, + 19.279815673828125 + ], + [ + 14.02166748046875, + 21.908905029296875 + ], + [ + 22.7852783203125, + 23.661590576171875 + ], + [ + 30.6724853515625, + 24.537994384765625 + ], + [ + 35.05426025390625, + 24.537994384765625 + ], + [ + 38.55963134765625, + 25.414337158203125 + ], + [ + 41.188720703125, + 25.414337158203125 + ], + [ + 41.188720703125, + 25.414337158203125 + ] + ], + "pressures": [ + 0.0400390625, + 0.54296875, + 0.83203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8408203125, + 0.478515625, + 0.203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.188720703125, + 25.414337158203125 + ] + }, + { + "id": "Nc1r2WCLJ2alsDTLRtXnl", + "type": "freedraw", + "x": -184.11697387695312, + "y": -132.57621002197266, + "width": 98.15185546875, + "height": 77.99569702148438, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 283465389, + "version": 805, + "versionNonce": 964286499, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.0108642578125, + 0 + ], + [ + -6.13446044921875, + -0.8763427734375 + ], + [ + 6.134521484375, + -4.38177490234375 + ], + [ + 18.4034423828125, + -8.7635498046875 + ], + [ + 35.05419921875, + -15.7744140625 + ], + [ + 52.5814208984375, + -22.7852783203125 + ], + [ + 66.60302734375, + -30.6724853515625 + ], + [ + 82.37744140625, + -42.065093994140625 + ], + [ + 86.75927734375, + -49.075958251953125 + ], + [ + 89.3883056640625, + -55.21044921875 + ], + [ + 91.1409912109375, + -60.46856689453125 + ], + [ + 90.2646484375, + -67.47943115234375 + ], + [ + 85.006591796875, + -70.98486328125 + ], + [ + 77.9957275390625, + -74.49026489257812 + ], + [ + 72.737548828125, + -77.11935424804688 + ], + [ + 70.98486328125, + -77.99569702148438 + ], + [ + 69.232177734375, + -77.99569702148438 + ], + [ + 67.4793701171875, + -77.99569702148438 + ], + [ + 66.60302734375, + -77.99569702148438 + ], + [ + 66.60302734375, + -77.99569702148438 + ] + ], + "pressures": [ + 0.052734375, + 0.708984375, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6953125, + 0.462890625, + 0.138671875, + 0.07421875, + 0.03515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.60302734375, + -77.99569702148438 + ] + }, + { + "id": "MsC_GHKBq9k_ha31-rwT9", + "type": "freedraw", + "x": -115.76113891601562, + "y": -207.9428482055664, + "width": 127.0716552734375, + "height": 73.6138916015625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1275291501, + "version": 804, + "versionNonce": 365522829, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.0107421875, + 5.258148193359375 + ], + [ + 7.88720703125, + 9.639923095703125 + ], + [ + 7.0107421875, + 15.7744140625 + ], + [ + 0, + 23.66162109375 + ], + [ + -18.403564453125, + 40.3123779296875 + ], + [ + -34.177978515625, + 51.70501708984375 + ], + [ + -50.8287353515625, + 60.46856689453125 + ], + [ + -67.4794921875, + 66.60308837890625 + ], + [ + -82.37750244140625, + 70.1085205078125 + ], + [ + -99.02825927734375, + 72.737548828125 + ], + [ + -106.91546630859375, + 73.6138916015625 + ], + [ + -112.17364501953125, + 73.6138916015625 + ], + [ + -115.6790771484375, + 72.737548828125 + ], + [ + -118.30810546875, + 70.98486328125 + ], + [ + -119.1844482421875, + 67.47943115234375 + ], + [ + -119.1844482421875, + 66.60308837890625 + ], + [ + -116.555419921875, + 66.60308837890625 + ], + [ + -114.80267333984375, + 67.47943115234375 + ], + [ + -114.80267333984375, + 67.47943115234375 + ] + ], + "pressures": [ + 0.0810546875, + 0.283203125, + 0.4287109375, + 0.6904296875, + 0.908203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.75, + 0.2763671875, + 0.2109375, + 0.1220703125, + 0.037109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -114.80267333984375, + 67.47943115234375 + ] + }, + { + "id": "Vtr2uLGr4E5Hqutfnyf3k", + "type": "freedraw", + "x": -185.86965942382812, + "y": -136.0816421508789, + "width": 85.00653076171875, + "height": 77.11932373046875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1537279363, + "version": 805, + "versionNonce": 426826691, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + 1.752685546875 + ], + [ + -3.50543212890625, + 1.752685546875 + ], + [ + 4.38177490234375, + 1.752685546875 + ], + [ + 13.14532470703125, + 0 + ], + [ + 25.414306640625, + -3.50543212890625 + ], + [ + 37.683349609375, + -8.7635498046875 + ], + [ + 48.1995849609375, + -14.8980712890625 + ], + [ + 61.344970703125, + -23.66162109375 + ], + [ + 68.355712890625, + -28.91973876953125 + ], + [ + 74.490234375, + -34.177886962890625 + ], + [ + 78.8720703125, + -40.3123779296875 + ], + [ + 80.624755859375, + -48.1995849609375 + ], + [ + 77.9957275390625, + -54.334075927734375 + ], + [ + 72.737548828125, + -59.59222412109375 + ], + [ + 68.355712890625, + -63.9739990234375 + ], + [ + 63.9739990234375, + -68.35577392578125 + ], + [ + 58.7158203125, + -73.61392211914062 + ], + [ + 56.963134765625, + -74.49026489257812 + ], + [ + 56.0867919921875, + -75.36663818359375 + ], + [ + 56.0867919921875, + -75.36663818359375 + ] + ], + "pressures": [ + 0.1103515625, + 0.46484375, + 0.9453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8349609375, + 0.5673828125, + 0.2880859375, + 0.154296875, + 0.109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 56.0867919921875, + -75.36663818359375 + ] + }, + { + "id": "wLqEETAxZyUjAdY9FfKbE", + "type": "freedraw", + "x": -124.52468872070312, + "y": -210.57190704345703, + "width": 119.1844482421875, + "height": 77.99569702148438, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 669264067, + "version": 806, + "versionNonce": 393082349, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.752685546875, + 2.629058837890625 + ], + [ + 2.6290283203125, + 9.639923095703125 + ], + [ + 2.6290283203125, + 18.403472900390625 + ], + [ + 1.752685546875, + 27.167022705078125 + ], + [ + -4.3818359375, + 40.3123779296875 + ], + [ + -10.516357421875, + 48.1995849609375 + ], + [ + -20.15625, + 54.334075927734375 + ], + [ + -33.3016357421875, + 59.592193603515625 + ], + [ + -56.96319580078125, + 68.35574340820312 + ], + [ + -70.98492431640625, + 72.73757934570312 + ], + [ + -81.50115966796875, + 75.36660766601562 + ], + [ + -87.63568115234375, + 77.11935424804688 + ], + [ + -92.0174560546875, + 77.99569702148438 + ], + [ + -99.0283203125, + 77.99569702148438 + ], + [ + -105.16278076171875, + 77.11935424804688 + ], + [ + -110.4208984375, + 75.36660766601562 + ], + [ + -113.04998779296875, + 73.61392211914062 + ], + [ + -115.6790771484375, + 72.73757934570312 + ], + [ + -116.555419921875, + 71.86117553710938 + ], + [ + -116.555419921875, + 70.98483276367188 + ], + [ + -116.555419921875, + 70.98483276367188 + ] + ], + "pressures": [ + 0.025390625, + 0.423828125, + 0.6240234375, + 0.796875, + 0.9580078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.8984375, + 0.724609375, + 0.580078125, + 0.3994140625, + 0.2646484375, + 0.1806640625, + 0.1259765625, + 0.072265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -116.555419921875, + 70.98483276367188 + ] + }, + { + "id": "IMl1-q3W8uR8Ibcagz4hI", + "type": "freedraw", + "x": -193.75686645507812, + "y": -137.8343276977539, + "width": 87.63568115234375, + "height": 66.60305786132812, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1270512045, + "version": 803, + "versionNonce": 1460038499, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + 1.752685546875 + ], + [ + -0.8763427734375, + 1.752685546875 + ], + [ + 5.25811767578125, + 0.8763427734375 + ], + [ + 12.26898193359375, + -0.87640380859375 + ], + [ + 22.78521728515625, + -3.50543212890625 + ], + [ + 35.9305419921875, + -8.76361083984375 + ], + [ + 57.8394775390625, + -18.40350341796875 + ], + [ + 70.1085205078125, + -24.537994384765625 + ], + [ + 77.9957275390625, + -29.796142578125 + ], + [ + 84.130126953125, + -35.930633544921875 + ], + [ + 85.0064697265625, + -38.5596923828125 + ], + [ + 85.8829345703125, + -42.06512451171875 + ], + [ + 85.8829345703125, + -47.3232421875 + ], + [ + 85.8829345703125, + -52.581390380859375 + ], + [ + 85.0064697265625, + -57.83953857421875 + ], + [ + 78.8720703125, + -64.85037231445312 + ], + [ + 77.9957275390625, + -64.85037231445312 + ], + [ + 77.9957275390625, + -64.85037231445312 + ] + ], + "pressures": [ + 0.064453125, + 0.3935546875, + 0.611328125, + 0.79296875, + 0.8935546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8134765625, + 0.4873046875, + 0.2216796875, + 0.0849609375, + 0.02734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 77.9957275390625, + -64.85037231445312 + ] + }, + { + "id": "s-07dxF0BhUA9XAwZtC-F", + "type": "freedraw", + "x": -119.26663208007812, + "y": -199.17926788330078, + "width": 58.7158203125, + "height": 56.963104248046875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1160762381, + "version": 799, + "versionNonce": 1400025165, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.752685546875, + 2.629058837890625 + ], + [ + 2.6290283203125, + 5.25811767578125 + ], + [ + 2.6290283203125, + 10.516265869140625 + ], + [ + -1.752685546875, + 18.403472900390625 + ], + [ + -8.7635498046875, + 25.414306640625 + ], + [ + -17.527099609375, + 32.4251708984375 + ], + [ + -26.2906494140625, + 41.188720703125 + ], + [ + -42.0650634765625, + 51.704986572265625 + ], + [ + -49.9522705078125, + 55.210418701171875 + ], + [ + -54.33404541015625, + 56.963104248046875 + ], + [ + -55.21038818359375, + 56.963104248046875 + ], + [ + -56.0867919921875, + 56.963104248046875 + ], + [ + -56.0867919921875, + 55.210418701171875 + ], + [ + -56.0867919921875, + 55.210418701171875 + ] + ], + "pressures": [ + 0.0244140625, + 0.232421875, + 0.263671875, + 0.3125, + 0.4248046875, + 0.50390625, + 0.556640625, + 0.58984375, + 0.591796875, + 0.5869140625, + 0.5595703125, + 0.4453125, + 0.2392578125, + 0.0830078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -56.0867919921875, + 55.210418701171875 + ] + }, + { + "id": "Dd-7DkA99LVi3LfTULwfQ", + "type": "freedraw", + "x": -137.67007446289062, + "y": -167.6304702758789, + "width": 82.37750244140625, + "height": 39.43603515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 356595469, + "version": 798, + "versionNonce": 1451820803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558534, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 6.134490966796875 + ], + [ + -7.0108642578125, + 11.39263916015625 + ], + [ + -15.7744140625, + 16.6507568359375 + ], + [ + -25.414306640625, + 22.7852783203125 + ], + [ + -35.93060302734375, + 28.91973876953125 + ], + [ + -51.70501708984375, + 36.80694580078125 + ], + [ + -62.2213134765625, + 39.43603515625 + ], + [ + -72.737548828125, + 39.43603515625 + ], + [ + -80.624755859375, + 39.43603515625 + ], + [ + -82.37750244140625, + 38.5596923828125 + ], + [ + -82.37750244140625, + 37.68328857421875 + ], + [ + -77.9957275390625, + 36.80694580078125 + ], + [ + -73.61395263671875, + 35.93060302734375 + ], + [ + -71.8612060546875, + 35.93060302734375 + ], + [ + -71.8612060546875, + 35.93060302734375 + ] + ], + "pressures": [ + 0.08984375, + 0.2529296875, + 0.2919921875, + 0.3447265625, + 0.3818359375, + 0.3994140625, + 0.40625, + 0.4091796875, + 0.4091796875, + 0.365234375, + 0.330078125, + 0.2568359375, + 0.1357421875, + 0.07421875, + 0.033203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -71.8612060546875, + 35.93060302734375 + ] + }, + { + "id": "CWqqnSqGhvWvSTLd1MbDh", + "type": "freedraw", + "x": -204.27316284179688, + "y": -136.0816421508789, + "width": 86.75921630859375, + "height": 41.188720703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1312145283, + "version": 798, + "versionNonce": 2008096429, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.2581787109375, + 0.8763427734375 + ], + [ + 9.63995361328125, + 0.8763427734375 + ], + [ + 14.8980712890625, + 0.8763427734375 + ], + [ + 22.7852783203125, + -1.752685546875 + ], + [ + 38.55963134765625, + -10.51629638671875 + ], + [ + 53.45770263671875, + -18.40350341796875 + ], + [ + 65.72674560546875, + -26.290679931640625 + ], + [ + 75.36663818359375, + -33.301544189453125 + ], + [ + 79.74847412109375, + -36.80694580078125 + ], + [ + 80.62481689453125, + -39.43603515625 + ], + [ + 81.50115966796875, + -39.43603515625 + ], + [ + 83.25384521484375, + -39.43603515625 + ], + [ + 85.88287353515625, + -40.3123779296875 + ], + [ + 86.75921630859375, + -40.3123779296875 + ], + [ + 86.75921630859375, + -40.3123779296875 + ] + ], + "pressures": [ + 0.0771484375, + 0.294921875, + 0.3681640625, + 0.4423828125, + 0.4951171875, + 0.5400390625, + 0.5478515625, + 0.552734375, + 0.5556640625, + 0.529296875, + 0.2939453125, + 0.2451171875, + 0.1708984375, + 0.0947265625, + 0.0361328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 86.75921630859375, + -40.3123779296875 + ] + }, + { + "id": "545lIXY5Zg0cH45cWL_UK", + "type": "freedraw", + "x": -210.4898681640624, + "y": -162.6186981201172, + "width": 99.9046630859375, + "height": 29.79608154296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1345942435, + "version": 803, + "versionNonce": 1853304483, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.7525634765625, + 0 + ], + [ + -10.51611328125, + 0 + ], + [ + -21.032470703125, + 0 + ], + [ + -28.043212890625, + 1.752685546875 + ], + [ + -31.548828125, + 3.50537109375 + ], + [ + -33.301513671875, + 3.50537109375 + ], + [ + -33.301513671875, + 5.25811767578125 + ], + [ + -33.301513671875, + 10.5162353515625 + ], + [ + -28.043212890625, + 15.77435302734375 + ], + [ + -21.032470703125, + 21.03253173828125 + ], + [ + -15.7744140625, + 24.5379638671875 + ], + [ + -8.7635498046875, + 24.5379638671875 + ], + [ + 8.7635498046875, + 26.2906494140625 + ], + [ + 21.0325927734375, + 28.04339599609375 + ], + [ + 29.796142578125, + 29.79608154296875 + ], + [ + 38.5596923828125, + 29.79608154296875 + ], + [ + 50.828857421875, + 29.79608154296875 + ], + [ + 59.5924072265625, + 29.79608154296875 + ], + [ + 64.850341796875, + 29.79608154296875 + ], + [ + 66.6031494140625, + 28.04339599609375 + ], + [ + 66.6031494140625, + 28.04339599609375 + ] + ], + "pressures": [ + 0.0712890625, + 0.8681640625, + 0.9169921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8828125, + 0.71484375, + 0.4873046875, + 0.3505859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.6031494140625, + 28.04339599609375 + ] + }, + { + "id": "Tnwvjl379rb5tqMD8NyWO", + "type": "freedraw", + "x": -215.7479248046874, + "y": -159.1133270263672, + "width": 70.1083984375, + "height": 21.0325927734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1857709069, + "version": 800, + "versionNonce": 986890509, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 10.5162353515625, + 0 + ], + [ + 7.0108642578125, + 0 + ], + [ + 1.752685546875, + 0 + ], + [ + -5.258056640625, + 0 + ], + [ + -14.0216064453125, + 1.75274658203125 + ], + [ + -22.78515625, + 3.50543212890625 + ], + [ + -24.5379638671875, + 3.50543212890625 + ], + [ + -24.5379638671875, + 5.2581787109375 + ], + [ + -15.7744140625, + 10.51629638671875 + ], + [ + -7.0108642578125, + 14.021728515625 + ], + [ + 3.5054931640625, + 17.52716064453125 + ], + [ + 15.7744140625, + 19.27984619140625 + ], + [ + 24.5379638671875, + 21.0325927734375 + ], + [ + 31.548828125, + 21.0325927734375 + ], + [ + 36.806884765625, + 21.0325927734375 + ], + [ + 42.0650634765625, + 21.0325927734375 + ], + [ + 45.5704345703125, + 21.0325927734375 + ], + [ + 45.5704345703125, + 21.0325927734375 + ] + ], + "pressures": [ + 0.03125, + 0.318359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.564453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 45.5704345703125, + 21.0325927734375 + ] + }, + { + "id": "TMu-N17iRL80LpA3aafDo", + "type": "freedraw", + "x": -222.7587890624999, + "y": -164.37144470214844, + "width": 82.37744140625, + "height": 29.796142578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 814430637, + "version": 800, + "versionNonce": 561996355, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 8.7635498046875, + 0 + ], + [ + 7.0108642578125, + 0 + ], + [ + 0, + 1.75274658203125 + ], + [ + -8.7635498046875, + 1.75274658203125 + ], + [ + -19.2799072265625, + 5.25811767578125 + ], + [ + -22.7852783203125, + 8.7635498046875 + ], + [ + -22.7852783203125, + 10.51629638671875 + ], + [ + -22.7852783203125, + 12.26898193359375 + ], + [ + -21.0325927734375, + 15.7744140625 + ], + [ + -8.7635498046875, + 21.03253173828125 + ], + [ + 8.7635498046875, + 24.5379638671875 + ], + [ + 22.7852783203125, + 28.04339599609375 + ], + [ + 35.05419921875, + 29.796142578125 + ], + [ + 45.570556640625, + 29.796142578125 + ], + [ + 50.82861328125, + 29.796142578125 + ], + [ + 56.0867919921875, + 29.796142578125 + ], + [ + 59.5921630859375, + 29.796142578125 + ], + [ + 59.5921630859375, + 29.796142578125 + ] + ], + "pressures": [ + 0.05859375, + 0.1767578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.884765625, + 0.4912109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 59.5921630859375, + 29.796142578125 + ] + }, + { + "id": "Awf-DskqoZNh2YNg-VseR", + "type": "freedraw", + "x": -221.0059814453124, + "y": -166.12413024902344, + "width": 78.8720703125, + "height": 31.548828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1926316877, + "version": 802, + "versionNonce": 1112610669, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.7525634765625, + 0 + ], + [ + -10.516357421875, + 1.752685546875 + ], + [ + -17.527099609375, + 3.50543212890625 + ], + [ + -21.03271484375, + 5.25811767578125 + ], + [ + -21.03271484375, + 7.01080322265625 + ], + [ + -21.03271484375, + 12.26898193359375 + ], + [ + -15.7745361328125, + 17.527099609375 + ], + [ + -10.516357421875, + 22.78521728515625 + ], + [ + -5.25830078125, + 24.5379638671875 + ], + [ + -1.7528076171875, + 26.2906494140625 + ], + [ + 14.0216064453125, + 28.04339599609375 + ], + [ + 26.2906494140625, + 29.79608154296875 + ], + [ + 36.806884765625, + 31.548828125 + ], + [ + 45.5704345703125, + 31.548828125 + ], + [ + 52.581298828125, + 31.548828125 + ], + [ + 57.83935546875, + 31.548828125 + ], + [ + 57.83935546875, + 29.79608154296875 + ], + [ + 49.0758056640625, + 28.04339599609375 + ], + [ + 47.3231201171875, + 28.04339599609375 + ], + [ + 47.3231201171875, + 28.04339599609375 + ] + ], + "pressures": [ + 0.0859375, + 0.6337890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.392578125, + 0.16015625, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 47.3231201171875, + 28.04339599609375 + ] + }, + { + "id": "V3dUvQ8bmfz-XVz8svHHE", + "type": "freedraw", + "x": -219.2534179687499, + "y": -162.6186981201172, + "width": 45.570556640625, + "height": 24.5379638671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1957583693, + "version": 798, + "versionNonce": 411050467, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.752685546875, + 0 + ], + [ + -1.7525634765625, + 1.752685546875 + ], + [ + -7.0108642578125, + 3.50537109375 + ], + [ + -10.51611328125, + 5.25811767578125 + ], + [ + -14.0216064453125, + 7.01080322265625 + ], + [ + -15.7744140625, + 8.7635498046875 + ], + [ + -15.7744140625, + 10.5162353515625 + ], + [ + -15.7744140625, + 14.02166748046875 + ], + [ + -12.2689208984375, + 19.27978515625 + ], + [ + -3.50537109375, + 22.78521728515625 + ], + [ + 7.010986328125, + 24.5379638671875 + ], + [ + 15.7745361328125, + 24.5379638671875 + ], + [ + 22.7852783203125, + 24.5379638671875 + ], + [ + 28.04345703125, + 24.5379638671875 + ], + [ + 29.796142578125, + 24.5379638671875 + ], + [ + 29.796142578125, + 24.5379638671875 + ] + ], + "pressures": [ + 0.0576171875, + 0.283203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 29.796142578125, + 24.5379638671875 + ] + }, + { + "id": "2xONpW-Iu25zX7uH55Snm", + "type": "freedraw", + "x": -221.0059814453124, + "y": -159.1133270263672, + "width": 68.3558349609375, + "height": 28.04339599609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 828830349, + "version": 802, + "versionNonce": 1215668685, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.0107421875, + 0 + ], + [ + 3.5052490234375, + 0 + ], + [ + -5.25830078125, + 0 + ], + [ + -17.527099609375, + 0 + ], + [ + -22.785400390625, + 0 + ], + [ + -24.5380859375, + 1.75274658203125 + ], + [ + -24.5380859375, + 5.2581787109375 + ], + [ + -22.785400390625, + 8.76361083984375 + ], + [ + -19.2799072265625, + 12.26898193359375 + ], + [ + -12.26904296875, + 15.7744140625 + ], + [ + -5.25830078125, + 21.0325927734375 + ], + [ + 7.0107421875, + 24.53802490234375 + ], + [ + 17.527099609375, + 26.29071044921875 + ], + [ + 26.2906494140625, + 28.04339599609375 + ], + [ + 29.7960205078125, + 28.04339599609375 + ], + [ + 35.05419921875, + 28.04339599609375 + ], + [ + 40.312255859375, + 28.04339599609375 + ], + [ + 43.8177490234375, + 28.04339599609375 + ], + [ + 43.8177490234375, + 26.29071044921875 + ], + [ + 43.8177490234375, + 26.29071044921875 + ] + ], + "pressures": [ + 0.01953125, + 0.23046875, + 0.8935546875, + 0.9150390625, + 0.951171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8154296875, + 0.482421875, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 43.8177490234375, + 26.29071044921875 + ] + }, + { + "id": "1Hl4q4EI-YkS15ga2yekQ", + "type": "freedraw", + "x": -213.9952392578124, + "y": -162.6186981201172, + "width": 64.850341796875, + "height": 31.54876708984375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2108295821, + "version": 804, + "versionNonce": 1552412035, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.5054931640625, + 0 + ], + [ + -8.7635498046875, + 0 + ], + [ + -12.26904296875, + 1.752685546875 + ], + [ + -14.021728515625, + 1.752685546875 + ], + [ + -17.527099609375, + 3.50537109375 + ], + [ + -19.27978515625, + 5.25811767578125 + ], + [ + -21.0325927734375, + 7.01080322265625 + ], + [ + -22.7852783203125, + 8.7635498046875 + ], + [ + -22.7852783203125, + 10.5162353515625 + ], + [ + -22.7852783203125, + 12.26898193359375 + ], + [ + -15.7742919921875, + 17.527099609375 + ], + [ + -5.2581787109375, + 22.78521728515625 + ], + [ + 8.7635498046875, + 26.2906494140625 + ], + [ + 19.2799072265625, + 29.79608154296875 + ], + [ + 31.548828125, + 31.54876708984375 + ], + [ + 35.05419921875, + 31.54876708984375 + ], + [ + 36.8070068359375, + 31.54876708984375 + ], + [ + 40.3123779296875, + 31.54876708984375 + ], + [ + 42.0650634765625, + 31.54876708984375 + ], + [ + 42.0650634765625, + 28.04339599609375 + ], + [ + 38.5596923828125, + 26.2906494140625 + ], + [ + 38.5596923828125, + 26.2906494140625 + ] + ], + "pressures": [ + 0.0439453125, + 0.7265625, + 0.822265625, + 0.853515625, + 0.8740234375, + 0.904296875, + 0.9453125, + 0.96484375, + 0.96875, + 0.96875, + 0.970703125, + 0.9794921875, + 0.9755859375, + 0.98828125, + 0.990234375, + 1, + 0.990234375, + 0.986328125, + 0.9384765625, + 0.8896484375, + 0.1630859375, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 38.5596923828125, + 26.2906494140625 + ] + }, + { + "id": "k3Z8xcjZ0AFbTRb8dWk9I", + "type": "freedraw", + "x": -194.7153320312499, + "y": -138.0807342529297, + "width": 124.4425048828125, + "height": 96.39916992187489, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 127352589, + "version": 798, + "versionNonce": 39444525, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + 1.752685546875 + ], + [ + -3.5054931640625, + 3.50543212890625 + ], + [ + 7.0107421875, + 5.25811767578125 + ], + [ + 19.27978515625, + 5.25811767578125 + ], + [ + 31.5487060546875, + 5.25811767578125 + ], + [ + 49.0758056640625, + 1.752685546875 + ], + [ + 61.344970703125, + -3.50543212890625 + ], + [ + 73.61376953125, + -12.26898193359375 + ], + [ + 87.6356201171875, + -24.5379638671875 + ], + [ + 99.904541015625, + -36.80694580078125 + ], + [ + 112.1734619140625, + -54.3341064453125 + ], + [ + 115.678955078125, + -64.850341796875 + ], + [ + 115.678955078125, + -71.8612060546875 + ], + [ + 115.678955078125, + -77.119384765625 + ], + [ + 105.1627197265625, + -84.13018798828125 + ], + [ + 96.399169921875, + -87.63562011718739 + ], + [ + 89.38818359375, + -91.14105224609364 + ], + [ + 87.6356201171875, + -91.14105224609364 + ], + [ + 89.38818359375, + -89.38836669921864 + ], + [ + 91.1409912109375, + -87.63562011718739 + ], + [ + 91.1409912109375, + -87.63562011718739 + ] + ], + "pressures": [ + 0.0908203125, + 0.734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.921875, + 0.599609375, + 0.1552734375, + 0.107421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 91.1409912109375, + -87.63562011718739 + ] + }, + { + "id": "GAK9GGowdRdBz-1lpMk_h", + "type": "freedraw", + "x": -115.84326171874989, + "y": -223.96366882324207, + "width": 126.1953125, + "height": 89.38836669921864, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1535990477, + "version": 795, + "versionNonce": 1356154147, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.0107421875, + 3.5054321289061363 + ], + [ + 8.7635498046875, + 8.763549804687386 + ], + [ + 8.7635498046875, + 19.279846191406136 + ], + [ + 8.7635498046875, + 38.559692382812386 + ], + [ + 0, + 54.334106445312386 + ], + [ + -14.0218505859375, + 64.85034179687489 + ], + [ + -28.04345703125, + 71.86120605468739 + ], + [ + -54.334228515625, + 78.87207031249989 + ], + [ + -73.614013671875, + 80.62475585937489 + ], + [ + -91.14111328125, + 82.37750244140614 + ], + [ + -105.1627197265625, + 85.88293457031239 + ], + [ + -113.92626953125, + 87.63562011718739 + ], + [ + -117.4317626953125, + 87.63562011718739 + ], + [ + -117.4317626953125, + 89.38836669921864 + ], + [ + -112.1737060546875, + 87.63562011718739 + ], + [ + -106.91552734375, + 84.13018798828114 + ], + [ + -105.1627197265625, + 84.13018798828114 + ], + [ + -105.1627197265625, + 84.13018798828114 + ] + ], + "pressures": [ + 0.0986328125, + 0.3759765625, + 0.5458984375, + 0.751953125, + 0.9296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9560546875, + 0.6337890625, + 0.2119140625, + 0.1474609375, + 0.0244140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -105.1627197265625, + 84.13018798828114 + ] + }, + { + "id": "q5rx7yk1FWZRlG750Sbnw", + "type": "freedraw", + "x": -201.7263183593749, + "y": -136.3280487060547, + "width": 98.15185546875, + "height": 68.35577392578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 444184963, + "version": 794, + "versionNonce": 1172787853, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.258056640625, + 3.50543212890625 + ], + [ + -1.7525634765625, + 3.50543212890625 + ], + [ + 10.516357421875, + 3.50543212890625 + ], + [ + 21.0325927734375, + 5.25811767578125 + ], + [ + 36.8070068359375, + 3.50543212890625 + ], + [ + 50.828857421875, + 0 + ], + [ + 64.850341796875, + -7.0108642578125 + ], + [ + 75.36669921875, + -17.527099609375 + ], + [ + 85.883056640625, + -29.79608154296875 + ], + [ + 92.893798828125, + -43.81781005859375 + ], + [ + 92.893798828125, + -50.82867431640625 + ], + [ + 92.893798828125, + -54.33404541015625 + ], + [ + 87.6356201171875, + -57.8394775390625 + ], + [ + 82.3775634765625, + -59.59222412109375 + ], + [ + 73.614013671875, + -63.09765625 + ], + [ + 70.1085205078125, + -63.09765625 + ], + [ + 70.1085205078125, + -63.09765625 + ] + ], + "pressures": [ + 0.0078125, + 0.4482421875, + 0.857421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.50390625, + 0.251953125, + 0.115234375, + 0.0576171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 70.1085205078125, + -63.09765625 + ] + }, + { + "id": "p5XmXQApKPCBIyCmZS0y9", + "type": "freedraw", + "x": -126.35961914062489, + "y": -220.45823669433594, + "width": 141.9697265625, + "height": 96.399169921875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2107780739, + "version": 796, + "versionNonce": 1826007235, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.258056640625, + 3.50543212890625 + ], + [ + 7.0108642578125, + 8.7635498046875 + ], + [ + 7.0108642578125, + 15.7744140625 + ], + [ + 5.258056640625, + 24.5379638671875 + ], + [ + -7.0107421875, + 43.81781005859375 + ], + [ + -19.2799072265625, + 57.83953857421875 + ], + [ + -35.0543212890625, + 71.8612060546875 + ], + [ + -56.0867919921875, + 80.624755859375 + ], + [ + -77.1192626953125, + 85.8829345703125 + ], + [ + -98.15185546875, + 89.3883056640625 + ], + [ + -124.442626953125, + 92.89373779296875 + ], + [ + -133.2061767578125, + 94.646484375 + ], + [ + -134.9588623046875, + 94.646484375 + ], + [ + -134.9588623046875, + 96.399169921875 + ], + [ + -133.2061767578125, + 96.399169921875 + ], + [ + -131.4534912109375, + 96.399169921875 + ], + [ + -127.947998046875, + 96.399169921875 + ], + [ + -122.6898193359375, + 96.399169921875 + ], + [ + -122.6898193359375, + 96.399169921875 + ] + ], + "pressures": [ + 0.0673828125, + 0.326171875, + 0.4208984375, + 0.5263671875, + 0.62890625, + 0.8076171875, + 0.8720703125, + 0.9345703125, + 0.9580078125, + 0.966796875, + 0.96875, + 0.9560546875, + 0.90625, + 0.8408203125, + 0.666015625, + 0.203125, + 0.15625, + 0.109375, + 0.048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -122.6898193359375, + 96.399169921875 + ] + }, + { + "id": "FrUP6mWfidtGb1hdwUlyj", + "type": "freedraw", + "x": -189.4572753906249, + "y": -132.82261657714844, + "width": 108.668212890625, + "height": 82.37744140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1162099491, + "version": 795, + "versionNonce": 1876392173, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -17.527099609375, + 0 + ], + [ + -21.0325927734375, + 0 + ], + [ + -21.0325927734375, + 1.752685546875 + ], + [ + -10.5162353515625, + 1.752685546875 + ], + [ + 5.2581787109375, + 1.752685546875 + ], + [ + 26.2906494140625, + -1.752685546875 + ], + [ + 38.559814453125, + -8.7635498046875 + ], + [ + 52.581298828125, + -19.27984619140625 + ], + [ + 66.60302734375, + -29.79608154296875 + ], + [ + 77.119384765625, + -40.3123779296875 + ], + [ + 87.6356201171875, + -54.3341064453125 + ], + [ + 87.6356201171875, + -61.34490966796875 + ], + [ + 84.130126953125, + -68.35577392578125 + ], + [ + 78.8720703125, + -71.8612060546875 + ], + [ + 70.1085205078125, + -77.11932373046875 + ], + [ + 63.09765625, + -78.8720703125 + ], + [ + 61.344970703125, + -80.624755859375 + ], + [ + 61.344970703125, + -80.624755859375 + ] + ], + "pressures": [ + 0.03125, + 0.1650390625, + 0.21875, + 0.328125, + 0.57421875, + 0.6806640625, + 0.876953125, + 0.9365234375, + 0.9599609375, + 0.9794921875, + 0.9833984375, + 0.931640625, + 0.83203125, + 0.6494140625, + 0.419921875, + 0.1953125, + 0.1201171875, + 0.0771484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 61.344970703125, + -80.624755859375 + ] + }, + { + "id": "JhIYzm2s1MvYVmZCQ1ou3", + "type": "freedraw", + "x": -191.2099609374999, + "y": -174.88768005371094, + "width": 117.431884765625, + "height": 80.62469482421864, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 350567267, + "version": 802, + "versionNonce": 908761187, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.7635498046875, + 0 + ], + [ + -15.7744140625, + -5.2581787109375 + ], + [ + -22.7852783203125, + -14.021728515625 + ], + [ + -33.301513671875, + -33.30157470703125 + ], + [ + -35.0543212890625, + -47.3232421875 + ], + [ + -36.8070068359375, + -56.086791992187386 + ], + [ + -36.8070068359375, + -61.344970703124886 + ], + [ + -31.548828125, + -61.344970703124886 + ], + [ + -21.032470703125, + -63.097656249999886 + ], + [ + -3.50537109375, + -64.85034179687489 + ], + [ + 19.27978515625, + -61.344970703124886 + ], + [ + 43.8177490234375, + -52.581420898437386 + ], + [ + 63.09765625, + -29.796142578125 + ], + [ + 66.6031494140625, + -14.021728515625 + ], + [ + 66.6031494140625, + -1.75274658203125 + ], + [ + 57.839599609375, + 10.5162353515625 + ], + [ + 45.5704345703125, + 14.02166748046875 + ], + [ + 24.5379638671875, + 15.77435302734375 + ], + [ + 5.2581787109375, + 12.26898193359375 + ], + [ + -14.021728515625, + 1.752685546875 + ], + [ + -31.548828125, + -10.51629638671875 + ], + [ + -47.3231201171875, + -33.30157470703125 + ], + [ + -50.8287353515625, + -43.81781005859375 + ], + [ + -50.8287353515625, + -49.075988769531136 + ], + [ + -45.570556640625, + -50.828674316406136 + ], + [ + -29.7960205078125, + -54.334106445312386 + ], + [ + -22.7852783203125, + -54.334106445312386 + ], + [ + -19.2799072265625, + -54.334106445312386 + ], + [ + -19.2799072265625, + -54.334106445312386 + ] + ], + "pressures": [ + 0.015625, + 0.296875, + 0.4462890625, + 0.662109375, + 0.8828125, + 0.9619140625, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9755859375, + 0.9423828125, + 0.9130859375, + 0.8388671875, + 0.80078125, + 0.724609375, + 0.646484375, + 0.3681640625, + 0.2001953125, + 0.150390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -19.2799072265625, + -54.334106445312386 + ] + }, + { + "id": "QJLm8o_muFvJQYYQ5ji71", + "type": "freedraw", + "x": -194.7153320312499, + "y": -187.15672302246094, + "width": 82.37744140625, + "height": 84.13018798828114, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 595410509, + "version": 798, + "versionNonce": 162779981, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.516357421875, + -15.77435302734375 + ], + [ + -15.7745361328125, + -29.79608154296875 + ], + [ + -15.7745361328125, + -40.312377929687386 + ], + [ + -10.516357421875, + -49.075927734374886 + ], + [ + -1.7528076171875, + -52.581298828124886 + ], + [ + 7.0107421875, + -52.581298828124886 + ], + [ + 15.7742919921875, + -52.581298828124886 + ], + [ + 22.78515625, + -52.581298828124886 + ], + [ + 35.0543212890625, + -42.065063476562386 + ], + [ + 42.0650634765625, + -29.79608154296875 + ], + [ + 47.3231201171875, + -12.26898193359375 + ], + [ + 49.0758056640625, + 3.50543212890625 + ], + [ + 31.5487060546875, + 22.7852783203125 + ], + [ + 15.7742919921875, + 29.796142578125 + ], + [ + 1.752685546875, + 29.796142578125 + ], + [ + -12.26904296875, + 22.7852783203125 + ], + [ + -21.0325927734375, + 12.26904296875 + ], + [ + -28.04345703125, + 0 + ], + [ + -29.796142578125, + -8.7635498046875 + ], + [ + -33.3016357421875, + -21.03253173828125 + ], + [ + -33.3016357421875, + -33.301513671875 + ], + [ + -26.2906494140625, + -49.075927734374886 + ], + [ + -17.527099609375, + -52.581298828124886 + ], + [ + -12.26904296875, + -54.334045410156136 + ], + [ + -12.26904296875, + -54.334045410156136 + ] + ], + "pressures": [ + 0.1123046875, + 0.53515625, + 0.7421875, + 0.9130859375, + 0.9755859375, + 0.9814453125, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.98828125, + 0.970703125, + 0.94921875, + 0.92578125, + 0.9189453125, + 0.908203125, + 0.853515625, + 0.5458984375, + 0.24609375, + 0.1044921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -12.26904296875, + -54.334045410156136 + ] + }, + { + "id": "l-cvY2URAMX2FQVpJSrWH", + "type": "freedraw", + "x": -184.1990966796874, + "y": -192.4148406982422, + "width": 63.0975341796875, + "height": 71.86114501953114, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 362262467, + "version": 801, + "versionNonce": 2057278467, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.752685546875, + 0 + ], + [ + -3.5054931640625, + -7.0108642578125 + ], + [ + -12.26904296875, + -17.527099609375 + ], + [ + -21.0325927734375, + -29.79608154296875 + ], + [ + -26.290771484375, + -40.312377929687386 + ], + [ + -28.0433349609375, + -47.323181152343636 + ], + [ + -26.290771484375, + -47.323181152343636 + ], + [ + -19.27978515625, + -47.323181152343636 + ], + [ + -8.7635498046875, + -47.323181152343636 + ], + [ + 10.5162353515625, + -43.817810058593636 + ], + [ + 22.78515625, + -36.806945800781136 + ], + [ + 29.7960205078125, + -26.2906494140625 + ], + [ + 35.05419921875, + -15.7744140625 + ], + [ + 35.05419921875, + -1.752685546875 + ], + [ + 33.3016357421875, + 14.021728515625 + ], + [ + 28.0433349609375, + 21.03253173828125 + ], + [ + 22.78515625, + 24.5379638671875 + ], + [ + 15.7744140625, + 24.5379638671875 + ], + [ + 8.7635498046875, + 24.5379638671875 + ], + [ + -1.752685546875, + 15.7744140625 + ], + [ + -8.7635498046875, + 5.25811767578125 + ], + [ + -14.021728515625, + -8.7635498046875 + ], + [ + -14.021728515625, + -21.03253173828125 + ], + [ + -14.021728515625, + -28.04339599609375 + ], + [ + -10.5162353515625, + -28.04339599609375 + ], + [ + -8.7635498046875, + -29.79608154296875 + ], + [ + -8.7635498046875, + -28.04339599609375 + ], + [ + -8.7635498046875, + -28.04339599609375 + ] + ], + "pressures": [ + 0.0625, + 0.3115234375, + 0.4306640625, + 0.5341796875, + 0.6474609375, + 0.740234375, + 0.787109375, + 0.7890625, + 0.8056640625, + 0.8154296875, + 0.8203125, + 0.8203125, + 0.826171875, + 0.8349609375, + 0.8408203125, + 0.8115234375, + 0.783203125, + 0.74609375, + 0.72265625, + 0.708984375, + 0.6884765625, + 0.677734375, + 0.66796875, + 0.66796875, + 0.6240234375, + 0.583984375, + 0.5400390625, + 0.0595703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -8.7635498046875, + -28.04339599609375 + ] + }, + { + "id": "0iHelXx9D-udfQQh7ImMK", + "type": "freedraw", + "x": -191.2099609374999, + "y": -190.66209411621094, + "width": 52.5814208984375, + "height": 68.35577392578114, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 678474179, + "version": 801, + "versionNonce": 802546093, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50537109375, + -8.76361083984375 + ], + [ + -10.516357421875, + -17.52716064453125 + ], + [ + -14.021728515625, + -29.796142578125 + ], + [ + -14.021728515625, + -36.807006835937386 + ], + [ + -14.021728515625, + -43.817810058593636 + ], + [ + -14.021728515625, + -45.570556640624886 + ], + [ + -12.2689208984375, + -45.570556640624886 + ], + [ + 0, + -43.817810058593636 + ], + [ + 10.5162353515625, + -38.559692382812386 + ], + [ + 21.032470703125, + -29.796142578125 + ], + [ + 28.0433349609375, + -17.52716064453125 + ], + [ + 33.301513671875, + 3.50537109375 + ], + [ + 33.301513671875, + 15.7744140625 + ], + [ + 26.2906494140625, + 21.03253173828125 + ], + [ + 19.27978515625, + 22.78521728515625 + ], + [ + 12.2689208984375, + 22.78521728515625 + ], + [ + -1.752685546875, + 19.27978515625 + ], + [ + -10.516357421875, + 14.02166748046875 + ], + [ + -15.7744140625, + 5.25811767578125 + ], + [ + -19.2799072265625, + -3.50543212890625 + ], + [ + -19.2799072265625, + -21.0325927734375 + ], + [ + -19.2799072265625, + -31.548828125 + ], + [ + -17.527099609375, + -38.559692382812386 + ], + [ + -15.7744140625, + -40.312377929687386 + ], + [ + -14.021728515625, + -40.312377929687386 + ], + [ + -8.7635498046875, + -38.559692382812386 + ], + [ + -7.0108642578125, + -36.807006835937386 + ], + [ + -7.0108642578125, + -36.807006835937386 + ] + ], + "pressures": [ + 0.0478515625, + 0.2431640625, + 0.3583984375, + 0.55078125, + 0.640625, + 0.6943359375, + 0.6953125, + 0.720703125, + 0.783203125, + 0.794921875, + 0.8203125, + 0.8466796875, + 0.9404296875, + 0.97265625, + 0.986328125, + 0.98828125, + 0.98828125, + 0.970703125, + 0.9560546875, + 0.9423828125, + 0.921875, + 0.8642578125, + 0.662109375, + 0.466796875, + 0.3818359375, + 0.2216796875, + 0.1337890625, + 0.0458984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.0108642578125, + -36.807006835937386 + ] + }, + { + "id": "z7-VNgZyXZyVDRSx6Ku0R", + "type": "freedraw", + "x": -187.7045898437499, + "y": -181.89854431152344, + "width": 36.8070068359375, + "height": 38.5596923828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 151668771, + "version": 795, + "versionNonce": 1244928931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50537109375, + -1.75274658203125 + ], + [ + -10.5162353515625, + -10.51629638671875 + ], + [ + -15.7742919921875, + -17.52716064453125 + ], + [ + -17.527099609375, + -22.7852783203125 + ], + [ + -17.527099609375, + -24.5379638671875 + ], + [ + -17.527099609375, + -28.04339599609375 + ], + [ + -17.527099609375, + -33.30157470703125 + ], + [ + -15.7742919921875, + -33.30157470703125 + ], + [ + -8.7635498046875, + -33.30157470703125 + ], + [ + 7.0108642578125, + -22.7852783203125 + ], + [ + 15.7744140625, + -14.021728515625 + ], + [ + 19.2799072265625, + -5.2581787109375 + ], + [ + 19.2799072265625, + 0 + ], + [ + 19.2799072265625, + 1.752685546875 + ], + [ + 15.7744140625, + 5.25811767578125 + ], + [ + 7.0108642578125, + 5.25811767578125 + ], + [ + 3.5054931640625, + 5.25811767578125 + ], + [ + -5.258056640625, + 0 + ], + [ + -8.7635498046875, + -5.2581787109375 + ], + [ + -10.5162353515625, + -10.51629638671875 + ], + [ + -10.5162353515625, + -12.26898193359375 + ], + [ + -10.5162353515625, + -14.021728515625 + ], + [ + -5.258056640625, + -14.021728515625 + ], + [ + -3.50537109375, + -14.021728515625 + ], + [ + -1.752685546875, + -14.021728515625 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0390625, + 0.2705078125, + 0.388671875, + 0.47265625, + 0.5166015625, + 0.525390625, + 0.5556640625, + 0.556640625, + 0.5556640625, + 0.556640625, + 0.5595703125, + 0.5556640625, + 0.525390625, + 0.51953125, + 0.5205078125, + 0.5380859375, + 0.5458984375, + 0.541015625, + 0.5341796875, + 0.529296875, + 0.515625, + 0.49609375, + 0.4267578125, + 0.263671875, + 0.185546875, + 0.0478515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.752685546875, + -14.021728515625 + ] + }, + { + "id": "xSgRz9sVXUl2lG4V-_1eh", + "type": "freedraw", + "x": -182.65007672991032, + "y": -193.52600751604336, + "width": 50.07742745535711, + "height": 35.05423409598211, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2043847661, + "version": 800, + "versionNonce": 929506317, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.015520368303555, + 3.75579833984375 + ], + [ + -11.267438616071445, + 6.259678431919724 + ], + [ + -12.51935686383922, + 6.259678431919724 + ], + [ + -15.023280552455276, + 6.259678431919724 + ], + [ + -22.534877232142776, + 1.2519182477678896 + ], + [ + -25.038713727678555, + -3.755841936383945 + ], + [ + -27.54263741629461, + -8.76355852399547 + ], + [ + -27.54263741629461, + -16.275198800223166 + ], + [ + -27.54263741629461, + -20.030997140066916 + ], + [ + -27.54263741629461, + -22.534877232142776 + ], + [ + -26.290631975446445, + -22.534877232142776 + ], + [ + -22.534877232142776, + -22.534877232142776 + ], + [ + -10.015520368303555, + -18.779078892299026 + ], + [ + 0, + -13.771318708147305 + ], + [ + 7.5115966796875, + -6.259722028459805 + ], + [ + 12.519356863839334, + 1.2519182477678896 + ], + [ + 17.527117047991055, + 8.763558523995584 + ], + [ + 17.527117047991055, + 11.267438616071445 + ], + [ + 17.527117047991055, + 12.519356863839334 + ], + [ + 15.02328055245539, + 12.519356863839334 + ], + [ + 6.259678431919724, + 12.519356863839334 + ], + [ + -7.5115966796875, + 10.015476771763474 + ], + [ + -16.275198800223166, + 7.5115966796875 + ], + [ + -21.282958984375, + 5.00771658761164 + ], + [ + -27.54263741629461, + -1.2519618443079708 + ], + [ + -31.298392159598166, + -5.007760184151721 + ], + [ + -32.550310407366055, + -7.511640276227695 + ], + [ + -31.298392159598166, + -7.511640276227695 + ], + [ + -27.54263741629461, + -5.007760184151721 + ], + [ + -25.038713727678555, + -2.5038800920758604 + ], + [ + -23.786795479910666, + -2.5038800920758604 + ], + [ + -23.786795479910666, + -2.5038800920758604 + ] + ], + "pressures": [ + 0.009765625, + 0.208984375, + 0.310546875, + 0.388671875, + 0.720703125, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3310546875, + 0.2119140625, + 0.1220703125, + 0.0615234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.786795479910666, + -2.5038800920758604 + ] + }, + { + "id": "AoJlADwg9Mzsquda6qXNK", + "type": "freedraw", + "x": -185.153913225446, + "y": -181.00665065220403, + "width": 46.321672712053555, + "height": 30.04647391183039, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1137435501, + "version": 797, + "versionNonce": 823570243, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.755841936383945, + -2.5038800920758604 + ], + [ + -7.51168387276789, + -6.25967843191961 + ], + [ + -13.7713623046875, + -12.519356863839334 + ], + [ + -16.27519880022328, + -15.023236955915195 + ], + [ + -18.779122488839334, + -18.77907889229914 + ], + [ + -20.03104073660711, + -21.282915387834805 + ], + [ + -21.282958984375, + -22.53487723214289 + ], + [ + -21.282958984375, + -25.03875732421875 + ], + [ + -17.527117047991055, + -26.29067557198664 + ], + [ + -11.267438616071445, + -25.03875732421875 + ], + [ + -3.755841936383945, + -22.53487723214289 + ], + [ + 6.25967843191961, + -17.527117047991055 + ], + [ + 13.77127511160711, + -11.267438616071445 + ], + [ + 18.779035295758945, + -5.007760184151834 + ], + [ + 18.779035295758945, + -1.2519182477678896 + ], + [ + 17.527117047991055, + 0 + ], + [ + 13.77127511160711, + 2.5038800920758604 + ], + [ + 3.755754743303555, + 3.75579833984375 + ], + [ + -6.25967843191961, + 3.75579833984375 + ], + [ + -16.27519880022328, + 3.75579833984375 + ], + [ + -23.78679547991078, + 1.2519182477678896 + ], + [ + -25.038800920758945, + 1.2519182477678896 + ], + [ + -27.54263741629461, + -15.023236955915195 + ], + [ + -27.54263741629461, + -16.27519880022328 + ], + [ + -23.78679547991078, + -17.527117047991055 + ], + [ + -20.03104073660711, + -17.527117047991055 + ], + [ + -16.27519880022328, + -17.527117047991055 + ], + [ + -15.02328055245539, + -17.527117047991055 + ], + [ + -15.02328055245539, + -17.527117047991055 + ] + ], + "pressures": [ + 0.0029296875, + 0.3828125, + 0.5458984375, + 0.85546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -15.02328055245539, + -17.527117047991055 + ] + }, + { + "id": "F9BtBQmv0lsMKWMVjVQIJ", + "type": "freedraw", + "x": -190.16167340959782, + "y": -179.75473240443614, + "width": 38.809988839285666, + "height": 31.29843575613836, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1593801507, + "version": 801, + "versionNonce": 341908077, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.007760184151721, + -1.2519182477678896 + ], + [ + -8.763602120535666, + -3.75579833984375 + ], + [ + -16.275198800223166, + -8.763558523995584 + ], + [ + -20.03104073660711, + -13.771275111607224 + ], + [ + -23.786795479910666, + -18.779035295758945 + ], + [ + -25.038713727678555, + -22.534833635602695 + ], + [ + -25.038713727678555, + -23.78679547991078 + ], + [ + -25.038713727678555, + -25.03871372767867 + ], + [ + -23.786795479910666, + -26.29067557198664 + ], + [ + -21.282958984375, + -27.54259381975453 + ], + [ + -17.527117047991055, + -27.54259381975453 + ], + [ + -7.511683872767776, + -26.29067557198664 + ], + [ + -1.251918247767776, + -22.534833635602695 + ], + [ + 3.755754743303555, + -18.779035295758945 + ], + [ + 6.259678431919724, + -13.771275111607224 + ], + [ + 8.76351492745539, + -3.75579833984375 + ], + [ + 8.76351492745539, + 0 + ], + [ + 8.76351492745539, + 2.5038800920758604 + ], + [ + 5.007760184151834, + 3.755841936383831 + ], + [ + 0, + 3.755841936383831 + ], + [ + -11.267438616071445, + 2.5038800920758604 + ], + [ + -18.779035295758945, + 0 + ], + [ + -23.786795479910666, + -3.75579833984375 + ], + [ + -27.54263741629461, + -8.763558523995584 + ], + [ + -30.046473911830276, + -13.771275111607224 + ], + [ + -30.046473911830276, + -16.275155203683084 + ], + [ + -30.046473911830276, + -18.779035295758945 + ], + [ + -26.29071916852672, + -20.03099714006703 + ], + [ + -23.786795479910666, + -21.28291538783492 + ], + [ + -20.03104073660711, + -22.534833635602695 + ], + [ + -18.779035295758945, + -22.534833635602695 + ], + [ + -16.275198800223166, + -22.534833635602695 + ], + [ + -16.275198800223166, + -22.534833635602695 + ] + ], + "pressures": [ + 0.041015625, + 0.3916015625, + 0.48828125, + 0.61328125, + 0.6533203125, + 0.697265625, + 0.7783203125, + 0.8447265625, + 0.90625, + 0.927734375, + 0.9345703125, + 0.9365234375, + 0.9365234375, + 0.9404296875, + 0.9453125, + 0.953125, + 0.9423828125, + 0.9423828125, + 0.9423828125, + 0.9384765625, + 0.92578125, + 0.9169921875, + 0.9111328125, + 0.904296875, + 0.8935546875, + 0.87890625, + 0.8642578125, + 0.7783203125, + 0.6591796875, + 0.470703125, + 0.2578125, + 0.1455078125, + 0.1123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -16.275198800223166, + -22.534833635602695 + ] + }, + { + "id": "mmzsn0bqR29r0FZ4Gpxxs", + "type": "freedraw", + "x": -197.6733572823656, + "y": -182.25856889997192, + "width": 46.321672712053555, + "height": 35.05423409598211, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1825647629, + "version": 798, + "versionNonce": 832949987, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.5038364955357792, + 1.2519182477678896 + ], + [ + -5.007672991071445, + -1.2519618443079708 + ], + [ + -6.259678431919724, + -3.755841936383945 + ], + [ + -7.5115966796875, + -7.511640276227695 + ], + [ + -8.76351492745539, + -12.519400460379416 + ], + [ + -10.01543317522328, + -18.77907889229914 + ], + [ + -10.01543317522328, + -23.78683907645086 + ], + [ + -10.01543317522328, + -26.29071916852672 + ], + [ + -10.01543317522328, + -27.54263741629461 + ], + [ + -5.007672991071445, + -27.54263741629461 + ], + [ + 2.503923688616055, + -26.29071916852672 + ], + [ + 11.267438616071331, + -21.282958984375 + ], + [ + 21.282958984375, + -13.771318708147305 + ], + [ + 31.298479352678555, + -3.755841936383945 + ], + [ + 33.80231584821422, + 0 + ], + [ + 36.306239536830276, + 5.00771658761164 + ], + [ + 36.306239536830276, + 7.5115966796875 + ], + [ + 28.7945556640625, + 7.5115966796875 + ], + [ + 17.527117047991055, + 5.00771658761164 + ], + [ + 7.511683872767776, + 2.5038364955357792 + ], + [ + 0, + 1.2519182477678896 + ], + [ + -2.5038364955357792, + 0 + ], + [ + -7.5115966796875, + -7.511640276227695 + ], + [ + -8.76351492745539, + -13.771318708147305 + ], + [ + -10.01543317522328, + -18.77907889229914 + ], + [ + -10.01543317522328, + -20.030997140066916 + ], + [ + -3.755754743303669, + -18.77907889229914 + ], + [ + 5.007760184151721, + -15.02328055245539 + ], + [ + 8.763602120535666, + -15.02328055245539 + ], + [ + 8.763602120535666, + -15.02328055245539 + ] + ], + "pressures": [ + 0.087890625, + 0.53125, + 0.6943359375, + 0.8173828125, + 0.908203125, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0.9580078125, + 0.9580078125, + 0.96875, + 0.9619140625, + 0.9384765625, + 0.8916015625, + 0.8701171875, + 0.4189453125, + 0.169921875, + 0.0126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.763602120535666, + -15.02328055245539 + ] + }, + { + "id": "F9NPlg1DzPxtPj-Ykqc1P", + "type": "freedraw", + "x": -261.5221470424103, + "y": -247.35932050432456, + "width": 151.484375, + "height": 276.6781180245535, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 901740109, + "version": 789, + "versionNonce": 2139964621, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.763514927455276, + -20.030953543526778 + ], + [ + -10.015433175223166, + -37.55811418805803 + ], + [ + -10.015433175223166, + -56.33719308035717 + ], + [ + 3.755841936383945, + -82.62782505580356 + ], + [ + 17.527117047991055, + -92.64334542410717 + ], + [ + 32.550397600446445, + -96.39918736049106 + ], + [ + 50.0775146484375, + -95.14718191964283 + ], + [ + 70.10855538504472, + -88.88750348772322 + ], + [ + 90.13950892857144, + -72.6123482840402 + ], + [ + 122.68990652901789, + -23.786795479910722 + ], + [ + 138.96510532924106, + 21.282915387834862 + ], + [ + 141.46894182477683, + 67.60458809988842 + ], + [ + 132.70533970424106, + 128.94949776785717 + ], + [ + 120.18598284040183, + 153.988298688616 + ], + [ + 106.41470772879461, + 167.75957380022322 + ], + [ + 93.89535086495539, + 175.27117047991072 + ], + [ + 83.87983049665183, + 179.02701241629455 + ], + [ + 76.36823381696433, + 180.27893066406244 + ], + [ + 65.10079520089289, + 180.27893066406244 + ], + [ + 70.10855538504472, + 179.02701241629455 + ], + [ + 70.10855538504472, + 179.02701241629455 + ] + ], + "pressures": [ + 0.1171875, + 0.2490234375, + 0.34765625, + 0.466796875, + 0.673828125, + 0.7421875, + 0.7607421875, + 0.7705078125, + 0.7890625, + 0.8115234375, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.87890625, + 0.447265625, + 0.0712890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 70.10855538504472, + 179.02701241629455 + ] + }, + { + "id": "Q6TxvEWhOAgOSBGXUR5I5", + "type": "freedraw", + "x": -238.98726981026743, + "y": -246.10740225655672, + "width": 123.94182477678567, + "height": 300.4649571010044, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 680330477, + "version": 791, + "versionNonce": 2121267843, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.51150948660711, + -6.25967843191961 + ], + [ + -13.771187918526834, + -15.023193359375 + ], + [ + -21.28287179129461, + -33.80227225167408 + ], + [ + -23.786795479910666, + -47.57359095982139 + ], + [ + -23.786795479910666, + -63.84878976004461 + ], + [ + -21.28287179129461, + -81.37590680803567 + ], + [ + -11.267438616071445, + -98.90302385602678 + ], + [ + 2.503923688616055, + -112.67434256417408 + ], + [ + 26.290719168526834, + -117.68210274832586 + ], + [ + 42.56591796875, + -115.1781790597098 + ], + [ + 58.84102957589289, + -102.65877859933033 + ], + [ + 76.36823381696433, + -80.12398856026783 + ], + [ + 96.39918736049106, + -25.038713727678555 + ], + [ + 100.155029296875, + 23.78683907645086 + ], + [ + 95.14726911272317, + 71.3604300362723 + ], + [ + 83.87983049665172, + 110.17050606863836 + ], + [ + 71.3604736328125, + 138.96501813616067 + ], + [ + 61.344953264508945, + 167.75957380022317 + ], + [ + 60.093035016741055, + 176.52317592075894 + ], + [ + 60.093035016741055, + 180.2790178571429 + ], + [ + 60.093035016741055, + 181.53093610491067 + ], + [ + 61.344953264508945, + 182.78285435267856 + ], + [ + 61.344953264508945, + 182.78285435267856 + ] + ], + "pressures": [ + 0.1025390625, + 0.1748046875, + 0.2265625, + 0.34375, + 0.4306640625, + 0.5029296875, + 0.53515625, + 0.5537109375, + 0.56640625, + 0.5673828125, + 0.57421875, + 0.580078125, + 0.5869140625, + 0.5966796875, + 0.5966796875, + 0.6044921875, + 0.673828125, + 0.7109375, + 0.72265625, + 0.6923828125, + 0.564453125, + 0.4580078125, + 0.1328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 61.344953264508945, + 182.78285435267856 + ] + }, + { + "id": "OSMfc2Fe-iScq4x3tcp2T", + "type": "freedraw", + "x": -335.3864571707585, + "y": -164.73145185198086, + "width": 438.1780133928571, + "height": 98.90306745256692, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 790212579, + "version": 779, + "versionNonce": 1552229165, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -16.27511160714289, + 0 + ], + [ + -20.030953543526834, + 1.2519182477678896 + ], + [ + -20.030953543526834, + 5.00771658761164 + ], + [ + -10.015433175223166, + 8.763558523995584 + ], + [ + 3.755841936383945, + 11.267438616071445 + ], + [ + 37.558157784598166, + 16.275155203683084 + ], + [ + 76.36832101004461, + 20.03099714006703 + ], + [ + 131.45342145647317, + 22.53487723214289 + ], + [ + 192.7983747209821, + 20.03099714006703 + ], + [ + 267.91460309709817, + 5.00771658761164 + ], + [ + 310.4804338727678, + -11.267438616071445 + ], + [ + 349.29050990513383, + -28.7945556640625 + ], + [ + 383.09282575334817, + -45.069754464285666 + ], + [ + 405.62770298549106, + -58.841029575892776 + ], + [ + 418.1470598493303, + -71.36038643973211 + ], + [ + 418.1470598493303, + -76.36819022042403 + ], + [ + 413.13938685825894, + -76.36819022042403 + ], + [ + 413.13938685825894, + -76.36819022042403 + ] + ], + "pressures": [ + 0.130859375, + 0.177734375, + 0.2685546875, + 0.376953125, + 0.4873046875, + 0.6904296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5205078125, + 0.236328125, + 0.01171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 413.13938685825894, + -76.36819022042403 + ] + }, + { + "id": "CeGcQjcjrlWoFGUIgFzQf", + "type": "freedraw", + "x": -356.6693289620531, + "y": -168.4872937883648, + "width": 499.5227922712054, + "height": 97.65110560825889, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1822773709, + "version": 777, + "versionNonce": 1949544995, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -18.779035295758945, + -1.251918247767776 + ], + [ + -21.282871791294724, + -1.251918247767776 + ], + [ + -13.7713623046875, + 1.2519618443080844 + ], + [ + 15.023193359375, + 8.763558523995584 + ], + [ + 43.8177490234375, + 12.51940046037953 + ], + [ + 82.62782505580356, + 13.771318708147419 + ], + [ + 136.461181640625, + 15.02328055245539 + ], + [ + 197.80604771205356, + 10.015520368303669 + ], + [ + 279.1819545200892, + -12.51935686383922 + ], + [ + 333.01531110491067, + -28.7945556640625 + ], + [ + 388.1005859374999, + -42.56583077566961 + ], + [ + 433.17034040178567, + -52.581351143973166 + ], + [ + 469.47649274553567, + -67.60454450334817 + ], + [ + 478.23992047991067, + -80.12394496372764 + ], + [ + 474.484165736607, + -82.6278250558035 + ], + [ + 474.484165736607, + -82.6278250558035 + ] + ], + "pressures": [ + 0.068359375, + 0.1728515625, + 0.2197265625, + 0.5078125, + 0.8984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.849609375, + 0.3251953125, + 0.0283203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 474.484165736607, + -82.6278250558035 + ] + }, + { + "id": "uRruYJXYw6GBGX3jPNOme", + "type": "freedraw", + "x": -302.83597237723166, + "y": -182.25856889997192, + "width": 375.5810546875, + "height": 83.87978690011153, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 573387747, + "version": 779, + "versionNonce": 1605514637, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 8.763514927455276, + 0 + ], + [ + 17.527029854910666, + 2.5038364955357792 + ], + [ + 31.298392159598166, + 7.5115966796875 + ], + [ + 58.840942382812386, + 13.77127511160711 + ], + [ + 80.12390136718739, + 17.527117047991055 + ], + [ + 107.66653878348211, + 22.534833635602695 + ], + [ + 142.72077287946422, + 25.038713727678555 + ], + [ + 180.2789306640624, + 25.038713727678555 + ], + [ + 239.11996023995528, + 18.779035295758945 + ], + [ + 279.1819545200892, + 7.5115966796875 + ], + [ + 314.23618861607133, + -6.259722028459805 + ], + [ + 344.282749720982, + -21.282958984375 + ], + [ + 373.0772181919642, + -42.565874372209805 + ], + [ + 375.5810546875, + -51.329432896205276 + ], + [ + 364.31361607142844, + -56.33719308035711 + ], + [ + 343.03065708705344, + -58.84107317243297 + ], + [ + 336.7710658482142, + -58.84107317243297 + ], + [ + 336.7710658482142, + -58.84107317243297 + ] + ], + "pressures": [ + 0.0126953125, + 0.25390625, + 0.3544921875, + 0.55078125, + 0.90234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9755859375, + 0.5234375, + 0.16796875, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 336.7710658482142, + -58.84107317243297 + ] + }, + { + "id": "1vV6EhYesz9tDmgO-WIyW", + "type": "freedraw", + "x": -247.75078473772282, + "y": -186.01441083635586, + "width": 199.05796595982144, + "height": 65.1007080078125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2057571789, + "version": 778, + "versionNonce": 1407153603, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.267438616071445, + 6.259678431919724 + ], + [ + 22.53487723214289, + 11.267438616071445 + ], + [ + 46.321672712053555, + 20.03099714006703 + ], + [ + 63.848789760044724, + 26.29067557198664 + ], + [ + 82.62782505580356, + 27.542637416294724 + ], + [ + 101.4068603515625, + 28.7945556640625 + ], + [ + 131.45342145647328, + 23.786839076450974 + ], + [ + 152.7362932477679, + 16.27519880022328 + ], + [ + 175.27117047991078, + 6.259678431919724 + ], + [ + 191.54636928013394, + -6.25967843191961 + ], + [ + 199.05796595982144, + -20.030997140066916 + ], + [ + 197.80604771205356, + -32.55035400390625 + ], + [ + 187.79052734375, + -35.05423409598211 + ], + [ + 174.0192522321429, + -36.30615234375 + ], + [ + 165.2556501116071, + -36.30615234375 + ], + [ + 162.75181361607144, + -36.30615234375 + ], + [ + 162.75181361607144, + -36.30615234375 + ] + ], + "pressures": [ + 0.0556640625, + 0.4736328125, + 0.6826171875, + 0.9404296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6376953125, + 0.388671875, + 0.2080078125, + 0.095703125, + 0.0107421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 162.75181361607144, + -36.30615234375 + ] + }, + { + "id": "ipm51txqnfmMjJz-j2Jwd", + "type": "freedraw", + "x": -118.80128696986571, + "y": -188.51829092843172, + "width": 160.24797712053567, + "height": 48.82555280412953, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 948005837, + "version": 782, + "versionNonce": 1951267821, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.503923688616169, + 0 + ], + [ + 3.755841936383945, + 2.5038800920758604 + ], + [ + 3.755841936383945, + 6.259722028459805 + ], + [ + 1.2519182477678896, + 17.52716064453125 + ], + [ + -7.5115966796875, + 25.03875732421875 + ], + [ + -20.03095354352672, + 28.7945556640625 + ], + [ + -35.05423409598211, + 30.046517508370584 + ], + [ + -55.08518763950883, + 30.046517508370584 + ], + [ + -88.88750348772317, + 26.290719168526834 + ], + [ + -108.91845703124989, + 21.282958984375 + ], + [ + -125.19374302455356, + 16.275198800223166 + ], + [ + -136.4611816406249, + 12.519400460379416 + ], + [ + -145.22469656808028, + 5.007760184151834 + ], + [ + -150.2324567522321, + -1.2519182477678896 + ], + [ + -153.98829868861606, + -8.763558523995584 + ], + [ + -156.49213518415172, + -15.023236955915195 + ], + [ + -156.49213518415172, + -18.779035295758945 + ], + [ + -155.24021693638383, + -18.779035295758945 + ], + [ + -151.4843749999999, + -18.779035295758945 + ], + [ + -150.2324567522321, + -18.779035295758945 + ], + [ + -150.2324567522321, + -18.779035295758945 + ] + ], + "pressures": [ + 0.08203125, + 0.37890625, + 0.484375, + 0.6533203125, + 0.8134765625, + 0.8720703125, + 0.9130859375, + 0.9169921875, + 0.9111328125, + 0.859375, + 0.80078125, + 0.736328125, + 0.70703125, + 0.66015625, + 0.59765625, + 0.5029296875, + 0.384765625, + 0.298828125, + 0.2333984375, + 0.125, + 0.0771484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -150.2324567522321, + -18.779035295758945 + ] + }, + { + "id": "d3Rglx4axRb4sysKB3WyQ", + "type": "freedraw", + "x": -235.2314278738835, + "y": -198.53376770019509, + "width": 160.24797712053567, + "height": 51.32943289620539, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1228569229, + "version": 778, + "versionNonce": 1016186211, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 10.015520368303555, + 7.511640276227695 + ], + [ + 20.03104073660711, + 13.771318708147305 + ], + [ + 40.061994280133945, + 23.786795479910666 + ], + [ + 57.589111328125, + 30.046473911830276 + ], + [ + 76.36814662388394, + 33.80231584821422 + ], + [ + 106.41462053571422, + 36.306195940290195 + ], + [ + 122.6898193359375, + 35.05423409598211 + ], + [ + 136.461181640625, + 30.046473911830276 + ], + [ + 147.72862025669644, + 23.786795479910666 + ], + [ + 156.49213518415172, + 15.023236955915195 + ], + [ + 160.24797712053567, + 5.007760184151721 + ], + [ + 160.24797712053567, + -3.75579833984375 + ], + [ + 156.49213518415172, + -7.511640276227695 + ], + [ + 148.98053850446422, + -8.763558523995584 + ], + [ + 135.20917619977672, + -13.771318708147305 + ], + [ + 128.9494977678571, + -15.023236955915195 + ], + [ + 128.9494977678571, + -15.023236955915195 + ] + ], + "pressures": [ + 0.048828125, + 0.380859375, + 0.5673828125, + 0.884765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9599609375, + 0.73046875, + 0.484375, + 0.16796875, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 128.9494977678571, + -15.023236955915195 + ] + }, + { + "id": "L37YlpWeFWf2Bw382UZ2T", + "type": "freedraw", + "x": -131.32064383370493, + "y": -191.0221274239674, + "width": 145.22478376116067, + "height": 41.31395612444203, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 822106253, + "version": 780, + "versionNonce": 1650587213, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 17.527117047991055, + 1.251918247767776 + ], + [ + 20.03095354352672, + 6.25967843191961 + ], + [ + 21.282958984375, + 12.51935686383922 + ], + [ + 20.03095354352672, + 18.77903529575883 + ], + [ + 12.51935686383922, + 23.786795479910666 + ], + [ + -3.755841936383945, + 30.046473911830276 + ], + [ + -18.779035295758945, + 32.55035400390625 + ], + [ + -37.558157784598166, + 32.55035400390625 + ], + [ + -58.84102957589289, + 32.55035400390625 + ], + [ + -77.62006487165183, + 28.7945556640625 + ], + [ + -97.65110560825894, + 18.77903529575883 + ], + [ + -106.41470772879461, + 12.51935686383922 + ], + [ + -113.92630440848211, + 5.007716587611526 + ], + [ + -118.93406459263394, + -2.503880092075974 + ], + [ + -122.6898193359375, + -7.511640276227695 + ], + [ + -123.94182477678567, + -8.76360212053578 + ], + [ + -122.6898193359375, + -8.76360212053578 + ], + [ + -121.43781389508933, + -7.511640276227695 + ], + [ + -121.43781389508933, + -7.511640276227695 + ] + ], + "pressures": [ + 0.0791015625, + 0.3427734375, + 0.4375, + 0.6044921875, + 0.7607421875, + 0.8955078125, + 0.970703125, + 1, + 1, + 1, + 1, + 0.947265625, + 0.9111328125, + 0.83203125, + 0.75, + 0.5869140625, + 0.478515625, + 0.119140625, + 0.07421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -121.43781389508933, + -7.511640276227695 + ] + }, + { + "id": "DxnGDvvdnUGj3PFK6voVh", + "type": "freedraw", + "x": -133.8244803292407, + "y": -163.47953360421297, + "width": 68.85654994419644, + "height": 42.565874372209805, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1051917059, + "version": 753, + "versionNonce": 1704534275, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.755754743303669, + -1.2519182477678896 + ], + [ + 11.267438616071445, + -1.2519182477678896 + ], + [ + 20.030953543526834, + -2.5038800920758604 + ], + [ + 26.290631975446445, + -2.5038800920758604 + ], + [ + 30.04647391183039, + -2.5038800920758604 + ], + [ + 31.29839215959828, + -2.5038800920758604 + ], + [ + 31.29839215959828, + 0 + ], + [ + 31.29839215959828, + 6.25967843191961 + ], + [ + 26.290631975446445, + 10.015520368303555 + ], + [ + 18.779035295758945, + 15.023236955915195 + ], + [ + 7.5115966796875, + 20.030997140066916 + ], + [ + -11.267438616071331, + 27.54263741629461 + ], + [ + -23.786882672991055, + 32.55035400390625 + ], + [ + -31.298479352678555, + 37.558114188058084 + ], + [ + -35.054321289062386, + 38.810076032366055 + ], + [ + -36.306239536830276, + 40.061994280133945 + ], + [ + -36.306239536830276, + 38.810076032366055 + ], + [ + -37.558157784598166, + 36.306195940290195 + ], + [ + -37.558157784598166, + 33.802315848214334 + ], + [ + -37.558157784598166, + 31.29843575613836 + ], + [ + -30.046561104910666, + 31.29843575613836 + ], + [ + -26.29071916852672, + 31.29843575613836 + ], + [ + -26.29071916852672, + 31.29843575613836 + ] + ], + "pressures": [ + 0.109375, + 0.599609375, + 0.75390625, + 0.876953125, + 0.931640625, + 0.970703125, + 0.9755859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8427734375, + 0.6923828125, + 0.5087890625, + 0.337890625, + 0.16796875, + 0.0283203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -26.29071916852672, + 31.29843575613836 + ] + }, + { + "id": "K8rN8vADtqw1gxaxXUw2i", + "type": "freedraw", + "x": -125.06096540178532, + "y": -163.47953360421297, + "width": 78.8720703125, + "height": 41.313912527901834, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 117433069, + "version": 751, + "versionNonce": 885499053, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.2519182477678896, + 1.2519618443080844 + ], + [ + 2.503923688616055, + 0 + ], + [ + 5.007760184151834, + 0 + ], + [ + 6.25967843191961, + 0 + ], + [ + 12.519356863839334, + -1.2519182477678896 + ], + [ + 18.779035295758945, + 0 + ], + [ + 26.290719168526834, + 3.75579833984375 + ], + [ + 33.802315848214334, + 7.511640276227695 + ], + [ + 37.55815778459828, + 13.771318708147305 + ], + [ + 37.55815778459828, + 23.786795479910666 + ], + [ + 31.298479352678555, + 28.7945556640625 + ], + [ + 21.282958984375, + 32.55035400390625 + ], + [ + 7.5115966796875, + 33.802315848214334 + ], + [ + -17.527117047991055, + 36.306195940290195 + ], + [ + -32.550397600446445, + 37.558114188058084 + ], + [ + -40.061994280133945, + 40.061994280133945 + ], + [ + -41.31391252790172, + 40.061994280133945 + ], + [ + -40.061994280133945, + 40.061994280133945 + ], + [ + -28.7945556640625, + 40.061994280133945 + ], + [ + -26.29071916852672, + 40.061994280133945 + ], + [ + -26.29071916852672, + 40.061994280133945 + ] + ], + "pressures": [ + 0.1484375, + 0.8984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3017578125, + 0.1396484375, + 0.017578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -26.29071916852672, + 40.061994280133945 + ] + }, + { + "id": "G2txX3fMU45OKc9ND7pGh", + "type": "freedraw", + "x": -123.80904715401743, + "y": -163.47953360421297, + "width": 93.895263671875, + "height": 55.08523123604914, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1225978499, + "version": 755, + "versionNonce": 410257571, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.5038364955357792, + 0 + ], + [ + 1.2520054408481656, + -1.2519182477678896 + ], + [ + 6.25967843191961, + -1.2519182477678896 + ], + [ + 16.275198800223166, + 0 + ], + [ + 20.03104073660711, + 1.2519618443080844 + ], + [ + 21.282958984375, + 2.5038800920758604 + ], + [ + 23.786795479910666, + 5.007760184151834 + ], + [ + 23.786795479910666, + 10.015520368303555 + ], + [ + 23.786795479910666, + 16.275198800223166 + ], + [ + 13.7713623046875, + 27.54263741629461 + ], + [ + 0, + 35.05423409598211 + ], + [ + -15.023193359375, + 40.061994280133945 + ], + [ + -28.7945556640625, + 46.32171630859375 + ], + [ + -45.069754464285666, + 52.58139474051336 + ], + [ + -52.581351143973166, + 53.83331298828125 + ], + [ + -61.344866071428555, + 53.83331298828125 + ], + [ + -67.60454450334817, + 51.329389299665195 + ], + [ + -70.10846819196433, + 50.077471051897305 + ], + [ + -70.10846819196433, + 47.57363455636164 + ], + [ + -67.60454450334817, + 45.069710867745584 + ], + [ + -62.596871512276834, + 42.565874372209805 + ], + [ + -56.33719308035711, + 41.313912527901834 + ], + [ + -52.581351143973166, + 41.313912527901834 + ], + [ + -51.32943289620539, + 42.565874372209805 + ], + [ + -51.32943289620539, + 42.565874372209805 + ] + ], + "pressures": [ + 0.1103515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4130859375, + 0.2490234375, + 0.1728515625, + 0.0986328125, + 0.0478515625, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -51.32943289620539, + 42.565874372209805 + ] + }, + { + "id": "TwvQ2b2h8qzYUAnplSfnY", + "type": "freedraw", + "x": -127.56480189732099, + "y": -159.72373526436922, + "width": 78.87198311941961, + "height": 37.558114188058084, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1609354701, + "version": 754, + "versionNonce": 1596491533, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.259678431919724, + -1.2519182477678896 + ], + [ + -3.755841936383945, + -1.2519182477678896 + ], + [ + 3.755754743303555, + -1.2519182477678896 + ], + [ + 10.015433175223166, + -1.2519182477678896 + ], + [ + 16.275111607142776, + 0 + ], + [ + 21.28287179129461, + 2.5038800920758604 + ], + [ + 25.038713727678555, + 5.007760184151834 + ], + [ + 27.54255022321422, + 8.763558523995584 + ], + [ + 26.290631975446445, + 13.771318708147305 + ], + [ + 18.779035295758945, + 20.030997140066916 + ], + [ + 7.5115966796875, + 26.290719168526834 + ], + [ + -6.259678431919724, + 31.29843575613836 + ], + [ + -25.038800920758945, + 35.054277692522305 + ], + [ + -35.05423409598211, + 36.306195940290195 + ], + [ + -42.56591796875, + 36.306195940290195 + ], + [ + -48.82559640066961, + 36.306195940290195 + ], + [ + -51.32943289620539, + 36.306195940290195 + ], + [ + -51.32943289620539, + 35.054277692522305 + ], + [ + -51.32943289620539, + 33.802315848214334 + ], + [ + -51.32943289620539, + 32.550397600446445 + ], + [ + -50.0775146484375, + 31.29843575613836 + ], + [ + -47.573678152901834, + 31.29843575613836 + ], + [ + -43.81783621651789, + 31.29843575613836 + ], + [ + -43.81783621651789, + 31.29843575613836 + ] + ], + "pressures": [ + 0.064453125, + 0.4306640625, + 0.787109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96484375, + 0.6318359375, + 0.447265625, + 0.26953125, + 0.1484375, + 0.0732421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.81783621651789, + 31.29843575613836 + ] + }, + { + "id": "uITdfOaualJc5BYw-dhNl", + "type": "freedraw", + "x": -130.06872558593705, + "y": -162.2275717599049, + "width": 57.589111328125, + "height": 31.29843575613836, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 982836333, + "version": 753, + "versionNonce": 1792080963, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.007760184151834, + -2.503880092075974 + ], + [ + -5.007760184151834, + -3.755841936383945 + ], + [ + -2.5038364955357792, + -3.755841936383945 + ], + [ + 3.755841936383831, + -3.755841936383945 + ], + [ + 12.51935686383922, + -2.503880092075974 + ], + [ + 17.527117047991055, + 0 + ], + [ + 21.282958984375, + 2.5038364955356656 + ], + [ + 23.786795479910666, + 3.75579833984375 + ], + [ + 26.29071916852672, + 7.5115966796875 + ], + [ + 26.29071916852672, + 11.26739501953125 + ], + [ + 22.534877232142776, + 16.27515520368297 + ], + [ + 15.023280552455276, + 20.030997140066916 + ], + [ + 5.007760184151721, + 22.53483363560258 + ], + [ + -11.267438616071445, + 23.786795479910666 + ], + [ + -18.779035295758945, + 25.038713727678555 + ], + [ + -23.78679547991078, + 26.290675571986526 + ], + [ + -26.290631975446445, + 26.290675571986526 + ], + [ + -28.7945556640625, + 26.290675571986526 + ], + [ + -31.29839215959828, + 26.290675571986526 + ], + [ + -31.29839215959828, + 27.542593819754416 + ], + [ + -27.542637416294724, + 27.542593819754416 + ], + [ + -23.78679547991078, + 27.542593819754416 + ], + [ + -23.78679547991078, + 27.542593819754416 + ] + ], + "pressures": [ + 0.0625, + 0.310546875, + 0.384765625, + 0.9453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7421875, + 0.2236328125, + 0.1240234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.78679547991078, + 27.542593819754416 + ] + }, + { + "id": "7LH1wj5-FS88Z1Gvf9Skk", + "type": "freedraw", + "x": -130.06872558593705, + "y": -160.97565351213711, + "width": 58.84111676897328, + "height": 32.55035400390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 761897123, + "version": 758, + "versionNonce": 603856237, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.5038364955357792, + -1.251918247767776 + ], + [ + -2.5038364955357792, + -2.5038800920758604 + ], + [ + -1.2519182477678896, + -2.5038800920758604 + ], + [ + 0, + -2.5038800920758604 + ], + [ + 2.503923688616055, + -3.75579833984375 + ], + [ + 5.007760184151721, + -3.75579833984375 + ], + [ + 8.763602120535666, + -3.75579833984375 + ], + [ + 12.51935686383922, + -2.5038800920758604 + ], + [ + 13.7713623046875, + -2.5038800920758604 + ], + [ + 13.7713623046875, + 0 + ], + [ + 13.7713623046875, + 3.75579833984375 + ], + [ + 12.51935686383922, + 7.511640276227695 + ], + [ + 7.511683872767776, + 10.015476771763474 + ], + [ + -3.755754743303669, + 13.771318708147305 + ], + [ + -10.015520368303669, + 16.27519880022328 + ], + [ + -16.27519880022328, + 20.03099714006703 + ], + [ + -21.282958984375, + 22.53487723214289 + ], + [ + -27.542637416294724, + 25.03875732421875 + ], + [ + -31.29839215959828, + 26.29067557198664 + ], + [ + -33.802315848214334, + 27.542637416294724 + ], + [ + -36.30615234375, + 27.542637416294724 + ], + [ + -37.55807059151789, + 28.7945556640625 + ], + [ + -38.810076032366055, + 28.7945556640625 + ], + [ + -42.565830775669724, + 28.7945556640625 + ], + [ + -45.06975446428578, + 28.7945556640625 + ], + [ + -42.565830775669724, + 28.7945556640625 + ], + [ + -41.313912527901834, + 28.7945556640625 + ], + [ + -41.313912527901834, + 28.7945556640625 + ] + ], + "pressures": [ + 0.001953125, + 0.4169921875, + 0.861328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.140625, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -41.313912527901834, + 28.7945556640625 + ] + }, + { + "id": "6yriI26R9_yTqnV6rjn3G", + "type": "freedraw", + "x": -135.29158673967595, + "y": -162.12196895054387, + "width": 62.2213134765625, + "height": 38.5596923828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2018698051, + "version": 753, + "versionNonce": 948861923, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.87640380859375, + 0 + ], + [ + 1.752685546875, + 0 + ], + [ + 5.25811767578125, + 0 + ], + [ + 7.88714599609375, + 0 + ], + [ + 13.14532470703125, + 0.8763427734375 + ], + [ + 18.4034423828125, + 2.62908935546875 + ], + [ + 21.03253173828125, + 4.38177490234375 + ], + [ + 21.90887451171875, + 7.0108642578125 + ], + [ + 21.90887451171875, + 10.516357421875 + ], + [ + 13.14532470703125, + 16.6507568359375 + ], + [ + 2.6290283203125, + 21.03253173828125 + ], + [ + -8.76361083984375, + 25.41436767578125 + ], + [ + -18.40350341796875, + 28.91973876953125 + ], + [ + -26.29071044921875, + 32.42523193359375 + ], + [ + -34.17791748046875, + 35.05426025390625 + ], + [ + -37.683349609375, + 35.93060302734375 + ], + [ + -39.43603515625, + 36.8070068359375 + ], + [ + -40.31243896484375, + 36.8070068359375 + ], + [ + -40.31243896484375, + 37.683349609375 + ], + [ + -38.5596923828125, + 38.5596923828125 + ], + [ + -34.17791748046875, + 38.5596923828125 + ], + [ + -33.30157470703125, + 38.5596923828125 + ], + [ + -33.30157470703125, + 38.5596923828125 + ] + ], + "pressures": [ + 0.0546875, + 0.3642578125, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9599609375, + 0.7607421875, + 0.5341796875, + 0.212890625, + 0.1298828125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -33.30157470703125, + 38.5596923828125 + ] + }, + { + "id": "EAwr9CTXb76cMRoUZgTg1", + "type": "freedraw", + "x": -132.66255841936345, + "y": -160.36922236851262, + "width": 80.624755859375, + "height": 31.548828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 803491501, + "version": 754, + "versionNonce": 982640589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558535, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + -0.87640380859375 + ], + [ + -2.6290283203125, + -1.75274658203125 + ], + [ + 2.62908935546875, + -1.75274658203125 + ], + [ + 7.0108642578125, + -1.75274658203125 + ], + [ + 9.63995361328125, + -1.75274658203125 + ], + [ + 14.021728515625, + -1.75274658203125 + ], + [ + 19.27984619140625, + 0 + ], + [ + 24.5379638671875, + 2.6290283203125 + ], + [ + 25.414306640625, + 4.38177490234375 + ], + [ + 25.414306640625, + 6.13446044921875 + ], + [ + 20.15618896484375, + 9.639892578125 + ], + [ + 10.51629638671875, + 13.1453857421875 + ], + [ + -7.88720703125, + 20.15618896484375 + ], + [ + -20.15618896484375, + 24.5379638671875 + ], + [ + -31.548828125, + 27.1669921875 + ], + [ + -41.188720703125, + 28.91973876953125 + ], + [ + -48.1995849609375, + 28.91973876953125 + ], + [ + -54.33404541015625, + 28.91973876953125 + ], + [ + -55.21044921875, + 28.91973876953125 + ], + [ + -55.21044921875, + 29.79608154296875 + ], + [ + -48.1995849609375, + 29.79608154296875 + ], + [ + -42.94146728515625, + 29.79608154296875 + ], + [ + -42.0650634765625, + 29.79608154296875 + ], + [ + -42.0650634765625, + 29.79608154296875 + ] + ], + "pressures": [ + 0.041015625, + 0.4140625, + 0.7890625, + 0.931640625, + 0.9580078125, + 0.970703125, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.880859375, + 0.244140625, + 0.12109375, + 0.046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -42.0650634765625, + 29.79608154296875 + ] + }, + { + "id": "MchlTAALXz1cdSU_hUIXQ", + "type": "freedraw", + "x": -132.66255841936345, + "y": -162.99831172398137, + "width": 75.36663818359375, + "height": 40.3123779296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1702060365, + "version": 747, + "versionNonce": 1572538243, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.50543212890625, + 0 + ], + [ + 10.51629638671875, + 2.62908935546875 + ], + [ + 15.7744140625, + 5.25811767578125 + ], + [ + 21.03253173828125, + 8.7635498046875 + ], + [ + 23.66162109375, + 11.3927001953125 + ], + [ + 23.66162109375, + 14.8980712890625 + ], + [ + 19.27984619140625, + 19.27984619140625 + ], + [ + 2.62908935546875, + 26.29071044921875 + ], + [ + -10.5162353515625, + 31.548828125 + ], + [ + -23.66162109375, + 35.93060302734375 + ], + [ + -40.3123779296875, + 39.43603515625 + ], + [ + -48.1995849609375, + 40.3123779296875 + ], + [ + -50.82861328125, + 40.3123779296875 + ], + [ + -51.70501708984375, + 40.3123779296875 + ], + [ + -50.82861328125, + 39.43603515625 + ], + [ + -46.44683837890625, + 38.5596923828125 + ], + [ + -46.44683837890625, + 38.5596923828125 + ] + ], + "pressures": [ + 0.041015625, + 0.626953125, + 0.669921875, + 0.6806640625, + 0.703125, + 0.751953125, + 0.78515625, + 0.828125, + 0.8984375, + 0.90234375, + 0.8916015625, + 0.8720703125, + 0.8203125, + 0.73046875, + 0.666015625, + 0.177734375, + 0.037109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -46.44683837890625, + 38.5596923828125 + ] + }, + { + "id": "lsrMdiS8tGTYf74_U2fdc", + "type": "freedraw", + "x": -131.78621564592595, + "y": -162.99831172398137, + "width": 60.46856689453125, + "height": 31.54888916015625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 60891875, + "version": 753, + "versionNonce": 889021997, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.13446044921875, + -2.62908935546875 + ], + [ + -5.25811767578125, + -2.62908935546875 + ], + [ + -1.752685546875, + -2.62908935546875 + ], + [ + 0.87640380859375, + -1.752685546875 + ], + [ + 6.134521484375, + -0.8763427734375 + ], + [ + 8.76361083984375, + 0.8763427734375 + ], + [ + 11.39263916015625, + 1.752685546875 + ], + [ + 12.26898193359375, + 3.50543212890625 + ], + [ + 13.1453857421875, + 6.134521484375 + ], + [ + 11.39263916015625, + 7.88720703125 + ], + [ + 6.134521484375, + 10.51629638671875 + ], + [ + -0.8763427734375, + 14.02166748046875 + ], + [ + -10.5162353515625, + 18.40350341796875 + ], + [ + -27.1669921875, + 23.66162109375 + ], + [ + -35.93060302734375, + 26.29071044921875 + ], + [ + -40.3123779296875, + 27.16705322265625 + ], + [ + -42.94140625, + 28.04339599609375 + ], + [ + -45.57049560546875, + 28.04339599609375 + ], + [ + -46.44683837890625, + 28.04339599609375 + ], + [ + -47.32318115234375, + 28.04339599609375 + ], + [ + -44.69415283203125, + 28.9197998046875 + ], + [ + -43.81781005859375, + 28.9197998046875 + ], + [ + -43.81781005859375, + 28.9197998046875 + ] + ], + "pressures": [ + 0.02734375, + 0.2744140625, + 0.552734375, + 0.6083984375, + 0.6318359375, + 0.646484375, + 0.66015625, + 0.677734375, + 0.71484375, + 0.7685546875, + 0.828125, + 0.8642578125, + 0.8662109375, + 0.859375, + 0.8369140625, + 0.78515625, + 0.736328125, + 0.6904296875, + 0.4482421875, + 0.376953125, + 0.2724609375, + 0.06640625, + 0.013671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.81781005859375, + 28.9197998046875 + ] + }, + { + "id": "FU-WnCTPqEA-NJkh8eLyK", + "type": "freedraw", + "x": -129.1571262904572, + "y": -162.99831172398137, + "width": 64.850341796875, + "height": 36.80694580078125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 953962765, + "version": 750, + "versionNonce": 815079203, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + -1.752685546875 + ], + [ + 12.26898193359375, + -0.8763427734375 + ], + [ + 14.8980712890625, + 0.8763427734375 + ], + [ + 15.7744140625, + 2.62908935546875 + ], + [ + 15.7744140625, + 5.25811767578125 + ], + [ + 14.021728515625, + 8.7635498046875 + ], + [ + 6.134521484375, + 14.02166748046875 + ], + [ + 0, + 17.527099609375 + ], + [ + -6.13446044921875, + 21.90887451171875 + ], + [ + -12.26898193359375, + 26.29071044921875 + ], + [ + -23.66162109375, + 30.6724853515625 + ], + [ + -31.548828125, + 33.30157470703125 + ], + [ + -37.68328857421875, + 34.1778564453125 + ], + [ + -42.94146728515625, + 35.05426025390625 + ], + [ + -46.4468994140625, + 35.05426025390625 + ], + [ + -48.1995849609375, + 35.05426025390625 + ], + [ + -49.075927734375, + 35.05426025390625 + ], + [ + -48.1995849609375, + 35.05426025390625 + ], + [ + -47.3232421875, + 34.1778564453125 + ], + [ + -47.3232421875, + 34.1778564453125 + ] + ], + "pressures": [ + 0.0498046875, + 0.302734375, + 0.712890625, + 0.728515625, + 0.751953125, + 0.7705078125, + 0.849609375, + 0.9453125, + 0.96875, + 0.970703125, + 0.9755859375, + 0.96875, + 0.970703125, + 0.9384765625, + 0.8701171875, + 0.6845703125, + 0.4931640625, + 0.314453125, + 0.115234375, + 0.07421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -47.3232421875, + 34.1778564453125 + ] + }, + { + "id": "OGH4tJmw59PmaqrGN8PD9", + "type": "freedraw", + "x": -134.41524396623845, + "y": -160.36922236851262, + "width": 50.82867431640625, + "height": 33.301513671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 573646573, + "version": 756, + "versionNonce": 640293005, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + -1.75274658203125 + ], + [ + -2.62908935546875, + -1.75274658203125 + ], + [ + -0.8763427734375, + -1.75274658203125 + ], + [ + 1.752685546875, + -1.75274658203125 + ], + [ + 5.25811767578125, + -1.75274658203125 + ], + [ + 8.7635498046875, + -0.87640380859375 + ], + [ + 10.5162353515625, + 0 + ], + [ + 12.26898193359375, + 0.8763427734375 + ], + [ + 14.02166748046875, + 1.752685546875 + ], + [ + 15.7744140625, + 5.25811767578125 + ], + [ + 15.7744140625, + 7.01080322265625 + ], + [ + 14.89801025390625, + 10.5162353515625 + ], + [ + 9.639892578125, + 14.02166748046875 + ], + [ + 3.50543212890625, + 17.52716064453125 + ], + [ + -7.88720703125, + 21.908935546875 + ], + [ + -15.7744140625, + 24.5379638671875 + ], + [ + -23.66162109375, + 27.1669921875 + ], + [ + -28.91973876953125, + 28.04339599609375 + ], + [ + -32.4251708984375, + 29.79608154296875 + ], + [ + -33.30157470703125, + 29.79608154296875 + ], + [ + -34.17791748046875, + 29.79608154296875 + ], + [ + -35.05426025390625, + 29.79608154296875 + ], + [ + -35.05426025390625, + 30.6724853515625 + ], + [ + -35.05426025390625, + 31.54876708984375 + ], + [ + -34.17791748046875, + 31.54876708984375 + ], + [ + -34.17791748046875, + 31.54876708984375 + ] + ], + "pressures": [ + 0.078125, + 0.2353515625, + 0.294921875, + 0.337890625, + 0.3681640625, + 0.3779296875, + 0.3818359375, + 0.388671875, + 0.423828125, + 0.443359375, + 0.4521484375, + 0.46484375, + 0.4931640625, + 0.5234375, + 0.53515625, + 0.537109375, + 0.5400390625, + 0.5400390625, + 0.5380859375, + 0.537109375, + 0.53515625, + 0.5341796875, + 0.4111328125, + 0.3095703125, + 0.1923828125, + 0.138671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -34.17791748046875, + 31.54876708984375 + ] + }, + { + "id": "dXILcP2uzYKi2uo9wBf3a", + "type": "freedraw", + "x": -129.1571262904572, + "y": -162.12196895054387, + "width": 63.9739990234375, + "height": 25.414306640625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 41535469, + "version": 754, + "versionNonce": 998982339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + -0.8763427734375 + ], + [ + -0.8763427734375, + -0.8763427734375 + ], + [ + 0, + -0.8763427734375 + ], + [ + 3.50543212890625, + -0.8763427734375 + ], + [ + 5.25811767578125, + -0.8763427734375 + ], + [ + 7.0108642578125, + -0.8763427734375 + ], + [ + 10.51629638671875, + 0 + ], + [ + 14.8980712890625, + 2.62908935546875 + ], + [ + 16.6507568359375, + 4.38177490234375 + ], + [ + 16.6507568359375, + 5.2581787109375 + ], + [ + 14.8980712890625, + 7.0108642578125 + ], + [ + 9.639892578125, + 9.63995361328125 + ], + [ + -1.752685546875, + 14.021728515625 + ], + [ + -9.639892578125, + 17.52716064453125 + ], + [ + -18.40350341796875, + 20.15618896484375 + ], + [ + -26.2906494140625, + 21.908935546875 + ], + [ + -36.80694580078125, + 23.66168212890625 + ], + [ + -41.188720703125, + 23.66168212890625 + ], + [ + -44.69415283203125, + 24.5379638671875 + ], + [ + -46.4468994140625, + 24.5379638671875 + ], + [ + -47.3232421875, + 24.5379638671875 + ], + [ + -46.4468994140625, + 24.5379638671875 + ], + [ + -44.69415283203125, + 24.5379638671875 + ], + [ + -44.69415283203125, + 24.5379638671875 + ] + ], + "pressures": [ + 0.01171875, + 0.2470703125, + 0.26953125, + 0.283203125, + 0.328125, + 0.3359375, + 0.3408203125, + 0.35546875, + 0.3720703125, + 0.3818359375, + 0.390625, + 0.4619140625, + 0.5048828125, + 0.541015625, + 0.54296875, + 0.5478515625, + 0.5498046875, + 0.55078125, + 0.55859375, + 0.5537109375, + 0.5400390625, + 0.525390625, + 0.1025390625, + 0.04296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -44.69415283203125, + 24.5379638671875 + ] + }, + { + "id": "h_ZjzMDkOOrIA03sePreV", + "type": "freedraw", + "x": -129.1571262904572, + "y": -160.36922236851262, + "width": 58.71588134765625, + "height": 33.30157470703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 20267661, + "version": 756, + "versionNonce": 131170029, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -0.87640380859375 + ], + [ + -1.752685546875, + -1.75274658203125 + ], + [ + -0.8763427734375, + -2.62908935546875 + ], + [ + 1.752685546875, + -2.62908935546875 + ], + [ + 3.50543212890625, + -2.62908935546875 + ], + [ + 7.0108642578125, + -2.62908935546875 + ], + [ + 9.639892578125, + -2.62908935546875 + ], + [ + 11.39263916015625, + -1.75274658203125 + ], + [ + 13.14532470703125, + -0.87640380859375 + ], + [ + 14.8980712890625, + 0.8763427734375 + ], + [ + 15.7744140625, + 2.6290283203125 + ], + [ + 15.7744140625, + 5.25811767578125 + ], + [ + 15.7744140625, + 7.01080322265625 + ], + [ + 14.021728515625, + 9.639892578125 + ], + [ + 6.134521484375, + 14.02166748046875 + ], + [ + -2.62908935546875, + 16.6507568359375 + ], + [ + -12.26898193359375, + 20.15618896484375 + ], + [ + -21.03253173828125, + 23.66162109375 + ], + [ + -30.6724853515625, + 28.04339599609375 + ], + [ + -35.93060302734375, + 29.79608154296875 + ], + [ + -39.43603515625, + 30.6724853515625 + ], + [ + -41.188720703125, + 30.6724853515625 + ], + [ + -42.0650634765625, + 30.6724853515625 + ], + [ + -42.94146728515625, + 30.6724853515625 + ], + [ + -39.43603515625, + 30.6724853515625 + ], + [ + -39.43603515625, + 30.6724853515625 + ] + ], + "pressures": [ + 0.01171875, + 0.1875, + 0.2333984375, + 0.5146484375, + 0.5458984375, + 0.5625, + 0.6162109375, + 0.6904296875, + 0.724609375, + 0.734375, + 0.74609375, + 0.783203125, + 0.8408203125, + 0.87890625, + 0.8935546875, + 0.9111328125, + 0.8984375, + 0.876953125, + 0.8662109375, + 0.8427734375, + 0.8203125, + 0.787109375, + 0.7265625, + 0.6845703125, + 0.4619140625, + 0.0703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -39.43603515625, + 30.6724853515625 + ] + }, + { + "id": "cXt7WOpoiANSpSftYtg2b", + "type": "freedraw", + "x": -128.2807835170197, + "y": -162.99831172398137, + "width": 49.075927734375, + "height": 31.548828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 180880269, + "version": 750, + "versionNonce": 926675555, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.62908935546875, + 0 + ], + [ + 5.2581787109375, + 0 + ], + [ + 7.88720703125, + 0.8763427734375 + ], + [ + 10.51629638671875, + 1.752685546875 + ], + [ + 13.1453857421875, + 2.62908935546875 + ], + [ + 14.8980712890625, + 4.38177490234375 + ], + [ + 14.8980712890625, + 7.88720703125 + ], + [ + 11.39263916015625, + 10.51629638671875 + ], + [ + 4.38177490234375, + 14.02166748046875 + ], + [ + -7.88720703125, + 18.40350341796875 + ], + [ + -15.7744140625, + 21.03253173828125 + ], + [ + -22.78521728515625, + 24.53802490234375 + ], + [ + -28.91973876953125, + 28.04339599609375 + ], + [ + -31.548828125, + 30.6724853515625 + ], + [ + -33.301513671875, + 30.6724853515625 + ], + [ + -34.1778564453125, + 31.548828125 + ], + [ + -34.1778564453125, + 30.6724853515625 + ], + [ + -33.301513671875, + 30.6724853515625 + ], + [ + -32.4251708984375, + 29.79608154296875 + ], + [ + -32.4251708984375, + 29.79608154296875 + ] + ], + "pressures": [ + 0.099609375, + 0.4951171875, + 0.5537109375, + 0.5791015625, + 0.59375, + 0.609375, + 0.6357421875, + 0.703125, + 0.78125, + 0.861328125, + 0.8916015625, + 0.8916015625, + 0.8984375, + 0.8984375, + 0.8935546875, + 0.8916015625, + 0.8427734375, + 0.1728515625, + 0.0849609375, + 0.0263671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -32.4251708984375, + 29.79608154296875 + ] + }, + { + "id": "zxjZoN6w4Lr06YmZPmz1M", + "type": "freedraw", + "x": -127.4044407435822, + "y": -161.24562617710637, + "width": 44.69415283203125, + "height": 28.04339599609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 483674477, + "version": 751, + "versionNonce": 1618811213, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + 0 + ], + [ + -4.38177490234375, + 0 + ], + [ + -5.25811767578125, + 0 + ], + [ + -3.50537109375, + 0 + ], + [ + 0, + 0 + ], + [ + 4.3818359375, + 1.75274658203125 + ], + [ + 8.76361083984375, + 3.50543212890625 + ], + [ + 12.26904296875, + 5.2581787109375 + ], + [ + 14.021728515625, + 7.0108642578125 + ], + [ + 14.8980712890625, + 10.51629638671875 + ], + [ + 14.8980712890625, + 13.1453857421875 + ], + [ + 10.51629638671875, + 14.8980712890625 + ], + [ + 4.3818359375, + 17.52716064453125 + ], + [ + -6.13446044921875, + 21.0325927734375 + ], + [ + -12.26898193359375, + 22.78533935546875 + ], + [ + -18.4034423828125, + 24.53802490234375 + ], + [ + -23.66156005859375, + 25.41436767578125 + ], + [ + -28.0433349609375, + 26.29071044921875 + ], + [ + -29.79608154296875, + 27.1671142578125 + ], + [ + -29.79608154296875, + 28.04339599609375 + ], + [ + -29.79608154296875, + 28.04339599609375 + ] + ], + "pressures": [ + 0.0625, + 0.2587890625, + 0.2890625, + 0.3232421875, + 0.6025390625, + 0.6220703125, + 0.638671875, + 0.66015625, + 0.6845703125, + 0.71875, + 0.751953125, + 0.7744140625, + 0.79296875, + 0.79296875, + 0.8076171875, + 0.794921875, + 0.7763671875, + 0.7109375, + 0.591796875, + 0.4443359375, + 0.1005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -29.79608154296875, + 28.04339599609375 + ] + }, + { + "id": "Fg25OlgG9WfMoKXbdaikZ", + "type": "freedraw", + "x": -100.23738752092595, + "y": -143.71846553257512, + "width": 163.87860107421875, + "height": 92.89373779296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1768309763, + "version": 759, + "versionNonce": 1148562947, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 14.021728515625, + -10.51629638671875 + ], + [ + 26.2906494140625, + -11.39263916015625 + ], + [ + 42.0650634765625, + -11.39263916015625 + ], + [ + 60.4686279296875, + -9.63995361328125 + ], + [ + 85.8829345703125, + -5.2581787109375 + ], + [ + 98.15185546875, + -1.75274658203125 + ], + [ + 103.4100341796875, + 4.38177490234375 + ], + [ + 103.4100341796875, + 13.14532470703125 + ], + [ + 95.5228271484375, + 22.7852783203125 + ], + [ + 77.119384765625, + 38.55963134765625 + ], + [ + 56.963134765625, + 50.82861328125 + ], + [ + 29.796142578125, + 62.2213134765625 + ], + [ + 0, + 71.8612060546875 + ], + [ + -37.68328857421875, + 79.7484130859375 + ], + [ + -53.45770263671875, + 81.5010986328125 + ], + [ + -59.59222412109375, + 81.5010986328125 + ], + [ + -60.46856689453125, + 81.5010986328125 + ], + [ + -51.70501708984375, + 76.24298095703125 + ], + [ + -25.414306640625, + 61.34490966796875 + ], + [ + -1.752685546875, + 49.9522705078125 + ], + [ + 23.66162109375, + 40.31243896484375 + ], + [ + 52.5814208984375, + 32.4251708984375 + ], + [ + 63.9739990234375, + 31.548828125 + ], + [ + 68.3558349609375, + 35.9306640625 + ], + [ + 68.3558349609375, + 42.94140625 + ], + [ + 63.09765625, + 49.9522705078125 + ], + [ + 54.3341064453125, + 56.0867919921875 + ], + [ + 44.6942138671875, + 57.83953857421875 + ], + [ + 44.6942138671875, + 57.83953857421875 + ] + ], + "pressures": [], + "simulatePressure": true, + "lastCommittedPoint": [ + 44.6942138671875, + 57.83953857421875 + ] + }, + { + "id": "03hhN5BHjlfOBqduzrH8g", + "type": "freedraw", + "x": -106.3718479701447, + "y": -159.49287959507512, + "width": 66.60308837890625, + "height": 56.963134765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 19117325, + "version": 751, + "versionNonce": 696674221, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + -1.75274658203125, + 0 + ], + [ + 0.8763427734375, + 0 + ], + [ + 7.88720703125, + 0 + ], + [ + 14.02166748046875, + 0 + ], + [ + 21.03253173828125, + 0.8763427734375 + ], + [ + 26.29071044921875, + 3.50543212890625 + ], + [ + 31.54876708984375, + 7.0108642578125 + ], + [ + 35.05426025390625, + 10.5162353515625 + ], + [ + 35.93060302734375, + 17.527099609375 + ], + [ + 32.42510986328125, + 22.7852783203125 + ], + [ + 21.03253173828125, + 31.548828125 + ], + [ + 6.13446044921875, + 40.3123779296875 + ], + [ + -15.7744140625, + 50.82861328125 + ], + [ + -26.29071044921875, + 54.33404541015625 + ], + [ + -30.6724853515625, + 56.08685302734375 + ], + [ + -29.796142578125, + 56.963134765625 + ], + [ + -28.91973876953125, + 56.963134765625 + ], + [ + -26.29071044921875, + 56.963134765625 + ], + [ + -25.41436767578125, + 56.963134765625 + ], + [ + -25.41436767578125, + 56.963134765625 + ] + ], + "pressures": [ + 0.0810546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.2412109375, + 0.0908203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -25.41436767578125, + 56.963134765625 + ] + }, + { + "id": "yX1BOp7sttb_vDoGcxzr0", + "type": "freedraw", + "x": -121.2699192592072, + "y": -161.24562617710637, + "width": 52.58135986328125, + "height": 30.6724853515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1547314787, + "version": 748, + "versionNonce": 1714877859, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0.87640380859375 + ], + [ + 1.752685546875, + 0.87640380859375 + ], + [ + 3.50543212890625, + 0.87640380859375 + ], + [ + 6.134521484375, + 0.87640380859375 + ], + [ + 8.7635498046875, + 0.87640380859375 + ], + [ + 12.26898193359375, + 5.2581787109375 + ], + [ + 13.14532470703125, + 9.6400146484375 + ], + [ + 13.14532470703125, + 14.02178955078125 + ], + [ + 10.51629638671875, + 18.403564453125 + ], + [ + 6.134521484375, + 21.908935546875 + ], + [ + 3.50543212890625, + 22.78533935546875 + ], + [ + -0.8763427734375, + 24.53802490234375 + ], + [ + -31.548828125, + 28.9197998046875 + ], + [ + -37.68328857421875, + 29.796142578125 + ], + [ + -39.43603515625, + 29.796142578125 + ], + [ + -37.68328857421875, + 30.6724853515625 + ], + [ + -36.80694580078125, + 30.6724853515625 + ], + [ + -36.80694580078125, + 30.6724853515625 + ] + ], + "pressures": [ + 0.0458984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.21484375, + 0.1337890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -36.80694580078125, + 30.6724853515625 + ] + }, + { + "id": "Ljw5VazT-U656wPvM51Bl", + "type": "freedraw", + "x": -130.9098118373322, + "y": -159.49287959507512, + "width": 48.1995849609375, + "height": 43.81781005859375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1418731235, + "version": 754, + "versionNonce": 1964435981, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.87640380859375, + 0 + ], + [ + 0.8763427734375, + 0 + ], + [ + 3.50537109375, + -0.8763427734375 + ], + [ + 6.13446044921875, + -0.8763427734375 + ], + [ + 7.88720703125, + -0.8763427734375 + ], + [ + 8.7635498046875, + -0.8763427734375 + ], + [ + 9.639892578125, + 0 + ], + [ + 10.5162353515625, + 1.752685546875 + ], + [ + 11.392578125, + 5.25811767578125 + ], + [ + 11.392578125, + 8.7635498046875 + ], + [ + 7.88720703125, + 15.7744140625 + ], + [ + 3.50537109375, + 21.0325927734375 + ], + [ + -2.62908935546875, + 26.2906494140625 + ], + [ + -11.39263916015625, + 32.4251708984375 + ], + [ + -24.5379638671875, + 40.3123779296875 + ], + [ + -31.548828125, + 42.0650634765625 + ], + [ + -34.17791748046875, + 42.94146728515625 + ], + [ + -35.93060302734375, + 42.94146728515625 + ], + [ + -36.8070068359375, + 42.94146728515625 + ], + [ + -36.8070068359375, + 42.0650634765625 + ], + [ + -34.17791748046875, + 40.3123779296875 + ], + [ + -29.796142578125, + 37.68328857421875 + ], + [ + -29.796142578125, + 36.80694580078125 + ], + [ + -29.796142578125, + 36.80694580078125 + ] + ], + "pressures": [ + 0.103515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.716796875, + 0.125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -29.796142578125, + 36.80694580078125 + ] + }, + { + "id": "RInhsh8UOhdUP_YM91NiC", + "type": "freedraw", + "x": -129.1571262904572, + "y": -158.61653682163762, + "width": 38.55963134765625, + "height": 32.4251708984375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1361137219, + "version": 752, + "versionNonce": 1001277763, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -0.8763427734375 + ], + [ + 0.8763427734375, + -0.8763427734375 + ], + [ + 1.752685546875, + -1.752685546875 + ], + [ + 2.62908935546875, + -1.752685546875 + ], + [ + 4.38177490234375, + -1.752685546875 + ], + [ + 6.134521484375, + 0 + ], + [ + 7.88720703125, + 1.75274658203125 + ], + [ + 8.7635498046875, + 4.38177490234375 + ], + [ + 8.7635498046875, + 6.134521484375 + ], + [ + 8.7635498046875, + 9.639892578125 + ], + [ + 5.25811767578125, + 17.527099609375 + ], + [ + 0.8763427734375, + 21.908935546875 + ], + [ + -3.50543212890625, + 24.53802490234375 + ], + [ + -8.7635498046875, + 26.29071044921875 + ], + [ + -17.527099609375, + 28.04339599609375 + ], + [ + -23.66162109375, + 28.9197998046875 + ], + [ + -27.16705322265625, + 29.79608154296875 + ], + [ + -28.91973876953125, + 30.6724853515625 + ], + [ + -29.79608154296875, + 30.6724853515625 + ], + [ + -28.04339599609375, + 28.9197998046875 + ], + [ + -25.414306640625, + 26.29071044921875 + ], + [ + -25.414306640625, + 26.29071044921875 + ] + ], + "pressures": [ + 0.0771484375, + 0.900390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3203125, + 0.1240234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -25.414306640625, + 26.29071044921875 + ] + }, + { + "id": "U50jdruA6aF6SvVTYf6oY", + "type": "freedraw", + "x": -128.2807835170197, + "y": -160.36922236851262, + "width": 46.44683837890625, + "height": 30.6724853515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1422852611, + "version": 752, + "versionNonce": 1411915885, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + 0, + 0 + ], + [ + 1.75274658203125, + 0 + ], + [ + 2.62908935546875, + 0 + ], + [ + 4.38177490234375, + 0 + ], + [ + 7.0108642578125, + 0 + ], + [ + 10.51629638671875, + 2.6290283203125 + ], + [ + 11.39263916015625, + 6.13446044921875 + ], + [ + 12.26898193359375, + 9.639892578125 + ], + [ + 12.26898193359375, + 13.1453857421875 + ], + [ + 9.63995361328125, + 18.4034423828125 + ], + [ + 5.2581787109375, + 21.908935546875 + ], + [ + -3.50543212890625, + 25.414306640625 + ], + [ + -13.14532470703125, + 28.04339599609375 + ], + [ + -22.78521728515625, + 29.79608154296875 + ], + [ + -31.548828125, + 30.6724853515625 + ], + [ + -33.301513671875, + 30.6724853515625 + ], + [ + -34.1778564453125, + 30.6724853515625 + ], + [ + -33.301513671875, + 30.6724853515625 + ], + [ + -31.548828125, + 30.6724853515625 + ], + [ + -30.67242431640625, + 30.6724853515625 + ], + [ + -30.67242431640625, + 30.6724853515625 + ] + ], + "pressures": [ + 0.0078125, + 0.82421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3359375, + 0.1630859375, + 0.091796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -30.67242431640625, + 30.6724853515625 + ] + }, + { + "id": "GNBBgVBdAS45YD22jz8nB", + "type": "freedraw", + "x": -130.0334690638947, + "y": -161.24562617710637, + "width": 47.3232421875, + "height": 35.05426025390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 745891267, + "version": 751, + "versionNonce": 2050631907, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.6290283203125, + -0.8763427734375 + ], + [ + 5.25811767578125, + -1.752685546875 + ], + [ + 7.0108642578125, + -1.752685546875 + ], + [ + 9.639892578125, + -1.752685546875 + ], + [ + 12.26898193359375, + -0.8763427734375 + ], + [ + 14.8980712890625, + 2.62908935546875 + ], + [ + 15.7744140625, + 5.2581787109375 + ], + [ + 15.7744140625, + 8.76361083984375 + ], + [ + 14.02166748046875, + 14.02178955078125 + ], + [ + 5.25811767578125, + 22.78533935546875 + ], + [ + -2.62908935546875, + 28.04339599609375 + ], + [ + -11.39263916015625, + 31.54888916015625 + ], + [ + -19.27984619140625, + 32.4251708984375 + ], + [ + -25.414306640625, + 33.30157470703125 + ], + [ + -30.6724853515625, + 33.30157470703125 + ], + [ + -31.548828125, + 32.4251708984375 + ], + [ + -30.6724853515625, + 32.4251708984375 + ], + [ + -28.91973876953125, + 31.54888916015625 + ], + [ + -27.16705322265625, + 30.6724853515625 + ], + [ + -26.29071044921875, + 30.6724853515625 + ], + [ + -26.29071044921875, + 30.6724853515625 + ] + ], + "pressures": [ + 0.0732421875, + 0.923828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.564453125, + 0.2900390625, + 0.1455078125, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -26.29071044921875, + 30.6724853515625 + ] + }, + { + "id": "AujJiB1BHo3nG6G290zlY", + "type": "freedraw", + "x": -137.0443333217072, + "y": -154.23476191929387, + "width": 42.94140625, + "height": 34.1778564453125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 560092621, + "version": 753, + "versionNonce": 2088995533, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.752685546875 + ], + [ + 1.75274658203125, + -3.50543212890625 + ], + [ + 4.38177490234375, + -6.13446044921875 + ], + [ + 7.88720703125, + -7.88720703125 + ], + [ + 10.51629638671875, + -8.7635498046875 + ], + [ + 12.26898193359375, + -8.7635498046875 + ], + [ + 13.14532470703125, + -8.7635498046875 + ], + [ + 14.8980712890625, + -5.25811767578125 + ], + [ + 16.6507568359375, + -1.752685546875 + ], + [ + 17.527099609375, + 2.629150390625 + ], + [ + 17.527099609375, + 4.38177490234375 + ], + [ + 16.6507568359375, + 7.01092529296875 + ], + [ + 13.14532470703125, + 9.63995361328125 + ], + [ + 7.88720703125, + 13.14532470703125 + ], + [ + -3.50543212890625, + 17.52716064453125 + ], + [ + -12.26898193359375, + 20.15625 + ], + [ + -19.27984619140625, + 22.7852783203125 + ], + [ + -22.7852783203125, + 24.53802490234375 + ], + [ + -24.5379638671875, + 25.414306640625 + ], + [ + -25.414306640625, + 25.414306640625 + ], + [ + -22.7852783203125, + 23.66162109375 + ], + [ + -20.15618896484375, + 22.7852783203125 + ], + [ + -20.15618896484375, + 22.7852783203125 + ] + ], + "pressures": [ + 0.06640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3984375, + 0.1953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -20.15618896484375, + 22.7852783203125 + ] + }, + { + "id": "r9bqhkqLIVFVkKiP3PmVE", + "type": "freedraw", + "x": -122.1462620326447, + "y": -161.24562617710637, + "width": 47.3232421875, + "height": 31.548828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2115779907, + "version": 755, + "versionNonce": 661197955, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + 0 + ], + [ + -0.8763427734375, + -0.8763427734375 + ], + [ + 1.752685546875, + -1.752685546875 + ], + [ + 3.50543212890625, + -1.752685546875 + ], + [ + 6.13446044921875, + -1.752685546875 + ], + [ + 9.639892578125, + -1.752685546875 + ], + [ + 11.39263916015625, + -0.8763427734375 + ], + [ + 12.26898193359375, + 0.87640380859375 + ], + [ + 12.26898193359375, + 3.50543212890625 + ], + [ + 12.26898193359375, + 7.0108642578125 + ], + [ + 9.639892578125, + 11.39263916015625 + ], + [ + 4.38177490234375, + 17.52716064453125 + ], + [ + 0, + 21.0325927734375 + ], + [ + -6.134521484375, + 23.66162109375 + ], + [ + -14.021728515625, + 26.29071044921875 + ], + [ + -22.7852783203125, + 28.9197998046875 + ], + [ + -26.29071044921875, + 29.796142578125 + ], + [ + -29.796142578125, + 29.796142578125 + ], + [ + -32.4251708984375, + 29.796142578125 + ], + [ + -34.17791748046875, + 29.796142578125 + ], + [ + -35.05426025390625, + 29.796142578125 + ], + [ + -34.17791748046875, + 29.796142578125 + ], + [ + -32.4251708984375, + 29.796142578125 + ], + [ + -31.548828125, + 29.796142578125 + ], + [ + -31.548828125, + 29.796142578125 + ] + ], + "pressures": [ + 0.0615234375, + 0.669921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3095703125, + 0.1513671875, + 0.1064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -31.548828125, + 29.796142578125 + ] + }, + { + "id": "GqbF5EKW9yzraSeR6M1Oo", + "type": "freedraw", + "x": -129.1571262904572, + "y": -160.36922236851262, + "width": 41.188720703125, + "height": 28.91973876953125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1996486413, + "version": 751, + "versionNonce": 784509229, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -0.8763427734375, + -0.87640380859375 + ], + [ + 2.62908935546875, + -0.87640380859375 + ], + [ + 5.25811767578125, + -1.75274658203125 + ], + [ + 7.0108642578125, + -1.75274658203125 + ], + [ + 8.7635498046875, + -1.75274658203125 + ], + [ + 10.51629638671875, + 0 + ], + [ + 11.39263916015625, + 2.6290283203125 + ], + [ + 12.26898193359375, + 6.13446044921875 + ], + [ + 12.26898193359375, + 8.76361083984375 + ], + [ + 7.0108642578125, + 14.89801025390625 + ], + [ + 1.752685546875, + 19.27978515625 + ], + [ + -7.0108642578125, + 23.66162109375 + ], + [ + -14.8980712890625, + 25.414306640625 + ], + [ + -21.90887451171875, + 26.29071044921875 + ], + [ + -27.16705322265625, + 27.1669921875 + ], + [ + -28.04339599609375, + 27.1669921875 + ], + [ + -28.91973876953125, + 27.1669921875 + ], + [ + -28.04339599609375, + 27.1669921875 + ], + [ + -27.16705322265625, + 27.1669921875 + ], + [ + -27.16705322265625, + 27.1669921875 + ] + ], + "pressures": [ + 0.0498046875, + 0.90625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2373046875, + 0.1640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -27.16705322265625, + 27.1669921875 + ] + }, + { + "id": "adIYty3cAJUwoiuNY5izX", + "type": "freedraw", + "x": -151.06600080217595, + "y": -134.95491572788762, + "width": 50.82867431640625, + "height": 53.457763671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1516968995, + "version": 747, + "versionNonce": 318344227, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + -7.0108642578125, + 0.87640380859375 + ], + [ + -11.39263916015625, + 0.87640380859375 + ], + [ + -21.908935546875, + -2.62908935546875 + ], + [ + -29.796142578125, + -5.25811767578125 + ], + [ + -35.93060302734375, + -7.88714599609375 + ], + [ + -41.18878173828125, + -12.2689208984375 + ], + [ + -44.6942138671875, + -16.65069580078125 + ], + [ + -49.07598876953125, + -23.66162109375 + ], + [ + -50.82867431640625, + -27.16705322265625 + ], + [ + -50.82867431640625, + -31.548828125 + ], + [ + -50.82867431640625, + -35.05426025390625 + ], + [ + -49.95233154296875, + -41.188720703125 + ], + [ + -48.1995849609375, + -45.57049560546875 + ], + [ + -46.4468994140625, + -49.075927734375 + ], + [ + -44.6942138671875, + -51.70501708984375 + ], + [ + -44.6942138671875, + -52.58135986328125 + ], + [ + -43.81781005859375, + -52.58135986328125 + ], + [ + -43.81781005859375, + -51.70501708984375 + ], + [ + -42.94146728515625, + -50.82867431640625 + ], + [ + -42.94146728515625, + -50.82867431640625 + ] + ], + "pressures": [ + 0.0400390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2958984375, + 0.10546875, + 0.068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -42.94146728515625, + -50.82867431640625 + ] + }, + { + "id": "Cx8VYI4fY7f2DW7oql3lo", + "type": "freedraw", + "x": -161.5822971888947, + "y": -132.32582637241887, + "width": 52.58135986328125, + "height": 49.07598876953125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 443568205, + "version": 750, + "versionNonce": 1548680077, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.8763427734375, + -0.87640380859375 + ], + [ + 0, + -0.87640380859375 + ], + [ + -1.752685546875, + -0.87640380859375 + ], + [ + -4.38177490234375, + -0.87640380859375 + ], + [ + -8.7635498046875, + -0.87640380859375 + ], + [ + -16.6507568359375, + -2.62908935546875 + ], + [ + -21.90887451171875, + -3.50543212890625 + ], + [ + -28.04339599609375, + -6.13446044921875 + ], + [ + -34.17791748046875, + -8.76361083984375 + ], + [ + -42.0650634765625, + -14.021728515625 + ], + [ + -46.4468994140625, + -17.52716064453125 + ], + [ + -49.075927734375, + -20.15618896484375 + ], + [ + -50.82867431640625, + -21.908935546875 + ], + [ + -51.70501708984375, + -26.29071044921875 + ], + [ + -50.82867431640625, + -35.05426025390625 + ], + [ + -49.075927734375, + -40.3123779296875 + ], + [ + -47.3232421875, + -42.94146728515625 + ], + [ + -47.3232421875, + -44.6942138671875 + ], + [ + -46.4468994140625, + -45.570556640625 + ], + [ + -44.69415283203125, + -47.3232421875 + ], + [ + -42.94146728515625, + -49.07598876953125 + ], + [ + -42.0650634765625, + -49.07598876953125 + ], + [ + -41.188720703125, + -49.07598876953125 + ], + [ + -41.188720703125, + -49.07598876953125 + ] + ], + "pressures": [ + 0.0078125, + 0.259765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.783203125, + 0.4462890625, + 0.3203125, + 0.1806640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -41.188720703125, + -49.07598876953125 + ] + }, + { + "id": "c17xRNvlbDpu1tiz76xMA", + "type": "freedraw", + "x": -162.4586399623322, + "y": -130.57314082554387, + "width": 56.0867919921875, + "height": 47.32330322265625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1146676685, + "version": 751, + "versionNonce": 282726339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.8763427734375, + -0.8763427734375 + ], + [ + 0, + -0.8763427734375 + ], + [ + -1.75274658203125, + 0 + ], + [ + -6.134521484375, + 0.87640380859375 + ], + [ + -10.51629638671875, + 0.87640380859375 + ], + [ + -18.40350341796875, + 0.87640380859375 + ], + [ + -24.5379638671875, + 0 + ], + [ + -29.796142578125, + -1.752685546875 + ], + [ + -33.30157470703125, + -4.38177490234375 + ], + [ + -37.683349609375, + -10.51629638671875 + ], + [ + -40.3123779296875, + -14.8980712890625 + ], + [ + -42.94146728515625, + -19.27984619140625 + ], + [ + -45.570556640625, + -21.90887451171875 + ], + [ + -48.1995849609375, + -25.414306640625 + ], + [ + -50.82867431640625, + -30.6724853515625 + ], + [ + -52.58135986328125, + -33.301513671875 + ], + [ + -53.45770263671875, + -35.05426025390625 + ], + [ + -54.3341064453125, + -36.80694580078125 + ], + [ + -54.3341064453125, + -38.5596923828125 + ], + [ + -55.21044921875, + -41.188720703125 + ], + [ + -55.21044921875, + -43.81781005859375 + ], + [ + -55.21044921875, + -45.57049560546875 + ], + [ + -55.21044921875, + -46.4468994140625 + ], + [ + -54.3341064453125, + -46.4468994140625 + ], + [ + -54.3341064453125, + -46.4468994140625 + ] + ], + "pressures": [ + 0, + 0.384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.236328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -54.3341064453125, + -46.4468994140625 + ] + }, + { + "id": "Ba7BZS0WUoqTD0ZuVbDVU", + "type": "freedraw", + "x": -162.4586399623322, + "y": -133.20223018101262, + "width": 56.963134765625, + "height": 45.570556640625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1888300035, + "version": 801, + "versionNonce": 224526829, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + -5.2581787109375, + 0 + ], + [ + -7.0108642578125, + 0 + ], + [ + -9.63995361328125, + 0.87640380859375 + ], + [ + -12.26898193359375, + 0.87640380859375 + ], + [ + -13.1453857421875, + 0.87640380859375 + ], + [ + -14.021728515625, + 0.87640380859375 + ], + [ + -16.6507568359375, + 0 + ], + [ + -17.52716064453125, + 0 + ], + [ + -18.40350341796875, + 0 + ], + [ + -19.27984619140625, + -0.87628173828125 + ], + [ + -21.03253173828125, + -0.87628173828125 + ], + [ + -22.7852783203125, + -0.87628173828125 + ], + [ + -24.5379638671875, + -1.752685546875 + ], + [ + -25.41436767578125, + -1.752685546875 + ], + [ + -26.29071044921875, + -1.752685546875 + ], + [ + -27.16705322265625, + -2.6290283203125 + ], + [ + -28.04339599609375, + -2.6290283203125 + ], + [ + -28.91973876953125, + -2.6290283203125 + ], + [ + -29.796142578125, + -3.50537109375 + ], + [ + -30.6724853515625, + -3.50537109375 + ], + [ + -31.548828125, + -4.38177490234375 + ], + [ + -33.30157470703125, + -4.38177490234375 + ], + [ + -34.17791748046875, + -5.258056640625 + ], + [ + -35.05426025390625, + -5.258056640625 + ], + [ + -35.93060302734375, + -6.13446044921875 + ], + [ + -36.80694580078125, + -6.13446044921875 + ], + [ + -37.683349609375, + -7.01080322265625 + ], + [ + -38.5596923828125, + -7.88720703125 + ], + [ + -39.43603515625, + -8.7635498046875 + ], + [ + -40.3123779296875, + -8.7635498046875 + ], + [ + -40.3123779296875, + -9.63983154296875 + ], + [ + -41.188720703125, + -9.63983154296875 + ], + [ + -42.06512451171875, + -10.5162353515625 + ], + [ + -42.94146728515625, + -10.5162353515625 + ], + [ + -43.81781005859375, + -11.392578125 + ], + [ + -44.69415283203125, + -12.26898193359375 + ], + [ + -45.570556640625, + -13.14532470703125 + ], + [ + -46.4468994140625, + -14.0216064453125 + ], + [ + -47.3232421875, + -14.0216064453125 + ], + [ + -47.3232421875, + -14.89801025390625 + ], + [ + -48.1995849609375, + -15.7744140625 + ], + [ + -48.1995849609375, + -16.6507568359375 + ], + [ + -49.075927734375, + -16.6507568359375 + ], + [ + -49.075927734375, + -17.527099609375 + ], + [ + -49.075927734375, + -18.40338134765625 + ], + [ + -49.95233154296875, + -19.27978515625 + ], + [ + -50.82867431640625, + -20.15618896484375 + ], + [ + -50.82867431640625, + -21.03253173828125 + ], + [ + -51.70501708984375, + -22.78521728515625 + ], + [ + -51.70501708984375, + -24.5379638671875 + ], + [ + -51.70501708984375, + -25.414306640625 + ], + [ + -51.70501708984375, + -26.2906494140625 + ], + [ + -51.70501708984375, + -27.1669921875 + ], + [ + -51.70501708984375, + -28.04339599609375 + ], + [ + -52.58135986328125, + -29.79608154296875 + ], + [ + -52.58135986328125, + -30.67242431640625 + ], + [ + -53.45770263671875, + -32.4251708984375 + ], + [ + -53.45770263671875, + -35.05419921875 + ], + [ + -53.45770263671875, + -35.93060302734375 + ], + [ + -54.3341064453125, + -36.80694580078125 + ], + [ + -54.3341064453125, + -37.68328857421875 + ], + [ + -54.3341064453125, + -38.55963134765625 + ], + [ + -54.3341064453125, + -39.43597412109375 + ], + [ + -55.21044921875, + -39.43597412109375 + ], + [ + -55.21044921875, + -40.3123779296875 + ], + [ + -55.21044921875, + -41.188720703125 + ], + [ + -56.0867919921875, + -42.0650634765625 + ], + [ + -56.0867919921875, + -42.94140625 + ], + [ + -56.0867919921875, + -44.69415283203125 + ], + [ + -56.963134765625, + -44.69415283203125 + ], + [ + -56.963134765625, + -43.81781005859375 + ], + [ + -56.963134765625, + -42.0650634765625 + ], + [ + -56.963134765625, + -42.0650634765625 + ] + ], + "pressures": [ + 0.0068359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4287109375, + 0.1748046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -56.963134765625, + -42.0650634765625 + ] + }, + { + "id": "mFjv5XW6HBJRr7u40jVto", + "type": "freedraw", + "x": -154.5714329310822, + "y": -126.19136592320012, + "width": 77.99566650390625, + "height": 56.0867919921875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 830350925, + "version": 752, + "versionNonce": 1932074851, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.8763427734375, + 0 + ], + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + -5.2581787109375, + 0 + ], + [ + -9.63995361328125, + 0 + ], + [ + -19.27984619140625, + -2.62908935546875 + ], + [ + -26.29071044921875, + -3.50537109375 + ], + [ + -33.30157470703125, + -4.38177490234375 + ], + [ + -38.5596923828125, + -4.38177490234375 + ], + [ + -44.69415283203125, + -6.13446044921875 + ], + [ + -49.075927734375, + -7.88714599609375 + ], + [ + -52.58135986328125, + -11.39263916015625 + ], + [ + -56.963134765625, + -15.7744140625 + ], + [ + -59.59222412109375, + -21.032470703125 + ], + [ + -63.9739990234375, + -28.04339599609375 + ], + [ + -66.60308837890625, + -32.4251708984375 + ], + [ + -69.23211669921875, + -36.80694580078125 + ], + [ + -72.737548828125, + -41.188720703125 + ], + [ + -75.36663818359375, + -49.075927734375 + ], + [ + -76.24298095703125, + -51.70501708984375 + ], + [ + -77.11932373046875, + -53.45770263671875 + ], + [ + -77.11932373046875, + -54.33404541015625 + ], + [ + -77.11932373046875, + -55.21044921875 + ], + [ + -77.11932373046875, + -56.0867919921875 + ], + [ + -77.11932373046875, + -56.0867919921875 + ] + ], + "pressures": [ + 0.0791015625, + 0.484375, + 0.828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8828125, + 0.6923828125, + 0.3662109375, + 0.1953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -77.11932373046875, + -56.0867919921875 + ] + }, + { + "id": "FhoZ7wmfF0UWjATdT6Hcu", + "type": "freedraw", + "x": -159.8296116420197, + "y": -130.57314082554387, + "width": 62.22125244140625, + "height": 54.33404541015625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1745069901, + "version": 748, + "versionNonce": 117783629, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -2.6290283203125, + 0 + ], + [ + -3.50537109375, + 0.87640380859375 + ], + [ + -5.25811767578125, + 0.87640380859375 + ], + [ + -7.01080322265625, + 1.752685546875 + ], + [ + -10.5162353515625, + 1.752685546875 + ], + [ + -19.27978515625, + -0.8763427734375 + ], + [ + -27.1669921875, + -4.38177490234375 + ], + [ + -35.05419921875, + -9.639892578125 + ], + [ + -41.188720703125, + -15.7744140625 + ], + [ + -49.075927734375, + -24.5379638671875 + ], + [ + -53.45770263671875, + -28.91973876953125 + ], + [ + -56.08673095703125, + -34.1778564453125 + ], + [ + -57.8394775390625, + -38.5596923828125 + ], + [ + -59.5921630859375, + -42.0650634765625 + ], + [ + -60.468505859375, + -44.69415283203125 + ], + [ + -61.34490966796875, + -46.4468994140625 + ], + [ + -61.34490966796875, + -47.3232421875 + ], + [ + -62.22125244140625, + -48.1995849609375 + ], + [ + -62.22125244140625, + -49.9522705078125 + ], + [ + -62.22125244140625, + -52.58135986328125 + ], + [ + -62.22125244140625, + -52.58135986328125 + ] + ], + "pressures": [ + 0.009765625, + 0.16796875, + 0.337890625, + 0.474609375, + 0.61328125, + 0.7763671875, + 0.8720703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.880859375, + 0.646484375, + 0.306640625, + 0.1611328125, + 0.05078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -62.22125244140625, + -52.58135986328125 + ] + }, + { + "id": "7atDIHXWlWgYJQPpseD5Z", + "type": "freedraw", + "x": -221.17452130998845, + "y": -176.14363643101262, + "width": 86.75921630859375, + "height": 63.9739990234375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 140699533, + "version": 747, + "versionNonce": 1144339203, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + -2.62908935546875 + ], + [ + -2.6290283203125, + -1.75274658203125 + ], + [ + 0, + 3.50543212890625 + ], + [ + 4.38177490234375, + 9.639892578125 + ], + [ + 9.63995361328125, + 17.527099609375 + ], + [ + 20.15618896484375, + 31.548828125 + ], + [ + 28.04339599609375, + 41.188720703125 + ], + [ + 37.683349609375, + 49.9522705078125 + ], + [ + 44.69415283203125, + 55.21044921875 + ], + [ + 49.95233154296875, + 58.7158203125 + ], + [ + 56.963134765625, + 61.34490966796875 + ], + [ + 63.09765625, + 61.34490966796875 + ], + [ + 69.23211669921875, + 61.34490966796875 + ], + [ + 75.36663818359375, + 61.34490966796875 + ], + [ + 82.37750244140625, + 58.7158203125 + ], + [ + 84.13018798828125, + 55.21044921875 + ], + [ + 84.13018798828125, + 50.82867431640625 + ], + [ + 83.25384521484375, + 46.4468994140625 + ], + [ + 81.5010986328125, + 43.81781005859375 + ], + [ + 78.8720703125, + 42.94140625 + ], + [ + 78.8720703125, + 42.94140625 + ] + ], + "pressures": [ + 0.029296875, + 0.4521484375, + 0.7265625, + 0.8203125, + 0.9580078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.669921875, + 0.3505859375, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 78.8720703125, + 42.94140625 + ] + }, + { + "id": "GLO5uQWzFSzWjNfdsqoCA", + "type": "freedraw", + "x": -162.4586399623322, + "y": -122.68593379429387, + "width": 63.09765625, + "height": 60.46856689453125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 310701027, + "version": 747, + "versionNonce": 823274157, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + -5.2581787109375, + 0 + ], + [ + -12.26898193359375, + -0.8763427734375 + ], + [ + -17.52716064453125, + -1.752685546875 + ], + [ + -22.7852783203125, + -3.50543212890625 + ], + [ + -28.91973876953125, + -7.01080322265625 + ], + [ + -38.5596923828125, + -14.8980712890625 + ], + [ + -43.81781005859375, + -21.03253173828125 + ], + [ + -48.1995849609375, + -26.29071044921875 + ], + [ + -50.82867431640625, + -29.79608154296875 + ], + [ + -52.58135986328125, + -33.301513671875 + ], + [ + -56.0867919921875, + -39.43603515625 + ], + [ + -57.8394775390625, + -43.81781005859375 + ], + [ + -60.46856689453125, + -49.9522705078125 + ], + [ + -62.22125244140625, + -55.21044921875 + ], + [ + -62.22125244140625, + -56.963134765625 + ], + [ + -62.22125244140625, + -57.8394775390625 + ], + [ + -62.22125244140625, + -59.59222412109375 + ], + [ + -63.09765625, + -60.46856689453125 + ], + [ + -63.09765625, + -60.46856689453125 + ] + ], + "pressures": [ + 0.0029296875, + 0.279296875, + 0.3525390625, + 0.4384765625, + 0.673828125, + 0.8466796875, + 0.97265625, + 1, + 1, + 1, + 1, + 0.96484375, + 0.908203125, + 0.708984375, + 0.5791015625, + 0.4521484375, + 0.3046875, + 0.2021484375, + 0.158203125, + 0.1259765625, + 0.1064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -63.09765625, + -60.46856689453125 + ] + }, + { + "id": "Zpoz15Rburhn_6gZeBB4H", + "type": "freedraw", + "x": -217.6690891810822, + "y": -172.63820430210637, + "width": 60.46856689453125, + "height": 46.44683837890625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1173591469, + "version": 744, + "versionNonce": 1081926307, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0.8763427734375 + ], + [ + 0, + 6.13446044921875 + ], + [ + 1.75274658203125, + 12.26898193359375 + ], + [ + 7.88720703125, + 22.78521728515625 + ], + [ + 13.14532470703125, + 28.04339599609375 + ], + [ + 19.27984619140625, + 34.17791748046875 + ], + [ + 26.29071044921875, + 38.5596923828125 + ], + [ + 36.80694580078125, + 43.8177490234375 + ], + [ + 42.0650634765625, + 46.44683837890625 + ], + [ + 46.4468994140625, + 46.44683837890625 + ], + [ + 50.82867431640625, + 46.44683837890625 + ], + [ + 53.45770263671875, + 45.57049560546875 + ], + [ + 56.0867919921875, + 43.8177490234375 + ], + [ + 57.8394775390625, + 42.0650634765625 + ], + [ + 58.71588134765625, + 41.188720703125 + ], + [ + 59.59222412109375, + 39.43597412109375 + ], + [ + 59.59222412109375, + 38.5596923828125 + ], + [ + 59.59222412109375, + 38.5596923828125 + ] + ], + "pressures": [ + 0.01953125, + 0.53125, + 0.677734375, + 0.857421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0.708984375, + 0.435546875, + 0.228515625, + 0.173828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 59.59222412109375, + 38.5596923828125 + ] + }, + { + "id": "Uh9DipkFmXwz-bQr6ym7S", + "type": "freedraw", + "x": -182.61482892717595, + "y": -343.5276696341376, + "width": 181.4056396484375, + "height": 317.24090576171875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2054220781, + "version": 743, + "versionNonce": 1009929485, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -7.88720703125 + ], + [ + -2.62908935546875, + -18.403472900390625 + ], + [ + -7.0108642578125, + -22.785247802734375 + ], + [ + -13.1453857421875, + -25.414306640625 + ], + [ + -20.15618896484375, + -23.661590576171875 + ], + [ + -27.16705322265625, + -14.021697998046875 + ], + [ + -33.301513671875, + 3.50543212890625 + ], + [ + -39.43603515625, + 43.81781005859375 + ], + [ + -40.3123779296875, + 77.11935424804688 + ], + [ + -36.80694580078125, + 112.173583984375 + ], + [ + -25.41436767578125, + 150.7332763671875 + ], + [ + 7.01080322265625, + 211.20184326171875 + ], + [ + 19.27984619140625, + 228.72894287109375 + ], + [ + 110.4208984375, + 287.44482421875 + ], + [ + 134.08251953125, + 290.9501953125 + ], + [ + 141.09326171875, + 291.82659912109375 + ], + [ + 141.09326171875, + 291.82659912109375 + ] + ], + "pressures": [ + 0.06640625, + 0.0947265625, + 0.1787109375, + 0.2412109375, + 0.369140625, + 0.580078125, + 0.75390625, + 0.876953125, + 0.92578125, + 1, + 1, + 1, + 1, + 1, + 0.5712890625, + 0.1943359375, + 0.12890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 141.09326171875, + 291.82659912109375 + ] + }, + { + "id": "qo5F6LwTFtW8Oh68clUhQ", + "type": "freedraw", + "x": -186.9966038295197, + "y": -85.87892695835637, + "width": 160.3731689453125, + "height": 128.82440185546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 942128643, + "version": 738, + "versionNonce": 279877187, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -6.134521484375 + ], + [ + -4.38177490234375, + -16.65081787109375 + ], + [ + 1.752685546875, + -32.42523193359375 + ], + [ + 17.527099609375, + -63.97406005859375 + ], + [ + 32.4251708984375, + -84.1302490234375 + ], + [ + 51.70501708984375, + -101.6573486328125 + ], + [ + 76.24298095703125, + -114.80267333984375 + ], + [ + 99.904541015625, + -122.68991088867188 + ], + [ + 129.70062255859375, + -128.82440185546875 + ], + [ + 141.96966552734375, + -128.82440185546875 + ], + [ + 150.73321533203125, + -125.3189697265625 + ], + [ + 155.99139404296875, + -120.06082153320312 + ], + [ + 155.11505126953125, + -117.4317626953125 + ], + [ + 155.11505126953125, + -117.4317626953125 + ] + ], + "pressures": [ + 0.1142578125, + 0.259765625, + 0.3564453125, + 0.5224609375, + 0.8203125, + 0.94921875, + 1, + 0.94921875, + 0.8203125, + 0.5888671875, + 0.435546875, + 0.2490234375, + 0.1669921875, + 0.0224609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 155.11505126953125, + -117.4317626953125 + ] + }, + { + "id": "9qcOqMrR9S-ZtCX8rDjzD", + "type": "freedraw", + "x": -222.05086408342595, + "y": -148.10024043491887, + "width": 199.8092041015625, + "height": 41.18878173828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1327874179, + "version": 739, + "versionNonce": 132064109, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.01080322265625, + 0.87640380859375 + ], + [ + -7.88720703125, + 0.87640380859375 + ], + [ + -8.7635498046875, + 0.87640380859375 + ], + [ + -9.639892578125, + 0 + ], + [ + -3.50543212890625, + -2.62908935546875 + ], + [ + 9.639892578125, + -7.88720703125 + ], + [ + 31.548828125, + -14.021728515625 + ], + [ + 59.59222412109375, + -20.15618896484375 + ], + [ + 104.286376953125, + -29.796142578125 + ], + [ + 130.5770263671875, + -36.80694580078125 + ], + [ + 150.7332763671875, + -40.3123779296875 + ], + [ + 167.384033203125, + -40.3123779296875 + ], + [ + 182.2821044921875, + -38.5596923828125 + ], + [ + 190.1693115234375, + -32.4251708984375 + ], + [ + 190.1693115234375, + -32.4251708984375 + ] + ], + "pressures": [ + 0.02734375, + 0.1416015625, + 0.1748046875, + 0.2353515625, + 0.37890625, + 0.6240234375, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 0.83203125, + 0.41796875, + 0.00390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 190.1693115234375, + -32.4251708984375 + ] + }, + { + "id": "Z62ArmZbqvg8BFgG5OUuS", + "type": "freedraw", + "x": -189.62569318498845, + "y": -153.35841914585637, + "width": 48.1995849609375, + "height": 28.9197998046875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1765081133, + "version": 743, + "versionNonce": 1135138275, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.25811767578125, + -0.8763427734375 + ], + [ + -10.51629638671875, + -0.8763427734375 + ], + [ + -14.8980712890625, + -0.8763427734375 + ], + [ + -20.15618896484375, + -0.8763427734375 + ], + [ + -24.5379638671875, + -0.8763427734375 + ], + [ + -28.04339599609375, + 0 + ], + [ + -30.67242431640625, + 2.62908935546875 + ], + [ + -31.548828125, + 4.38177490234375 + ], + [ + -31.548828125, + 7.88720703125 + ], + [ + -28.91973876953125, + 12.26898193359375 + ], + [ + -21.90887451171875, + 19.2799072265625 + ], + [ + -14.02166748046875, + 23.66168212890625 + ], + [ + -4.38177490234375, + 26.29071044921875 + ], + [ + 3.50543212890625, + 28.04345703125 + ], + [ + 10.51629638671875, + 28.04345703125 + ], + [ + 14.8980712890625, + 27.16705322265625 + ], + [ + 16.6507568359375, + 25.41436767578125 + ], + [ + 16.6507568359375, + 22.7852783203125 + ], + [ + 16.6507568359375, + 21.0325927734375 + ], + [ + 16.6507568359375, + 20.15618896484375 + ], + [ + 16.6507568359375, + 20.15618896484375 + ] + ], + "pressures": [ + 0.0224609375, + 0.21875, + 0.4609375, + 0.669921875, + 0.9365234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6064453125, + 0.234375, + 0.158203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 16.6507568359375, + 20.15618896484375 + ] + }, + { + "id": "DdNVyRHVcSGfpkqjUaIph", + "type": "freedraw", + "x": -196.63655744280095, + "y": -154.23476191929387, + "width": 46.44683837890625, + "height": 31.548828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 168930851, + "version": 739, + "versionNonce": 1214393805, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -0.8763427734375 + ], + [ + -7.88720703125, + -0.8763427734375 + ], + [ + -12.26898193359375, + 0.8763427734375 + ], + [ + -15.7744140625, + 3.50543212890625 + ], + [ + -17.527099609375, + 7.01092529296875 + ], + [ + -17.527099609375, + 10.51629638671875 + ], + [ + -17.527099609375, + 14.021728515625 + ], + [ + -14.89801025390625, + 17.52716064453125 + ], + [ + -8.7635498046875, + 23.66162109375 + ], + [ + -1.752685546875, + 27.16705322265625 + ], + [ + 7.0108642578125, + 29.796142578125 + ], + [ + 14.021728515625, + 30.6724853515625 + ], + [ + 19.27984619140625, + 30.6724853515625 + ], + [ + 24.5379638671875, + 28.9197998046875 + ], + [ + 27.16705322265625, + 28.9197998046875 + ], + [ + 28.91973876953125, + 28.04339599609375 + ], + [ + 28.91973876953125, + 28.04339599609375 + ] + ], + "pressures": [ + 0.0859375, + 0.9453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.48828125, + 0.2138671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 28.91973876953125, + 28.04339599609375 + ] + }, + { + "id": "pi6WHLHvGz7M39w5_AAI2", + "type": "freedraw", + "x": -153.6154226327867, + "y": -297.95714351109075, + "width": 67.47943115234375, + "height": 309.3536682128906, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1034640611, + "version": 742, + "versionNonce": 142221699, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.25811767578125, + -5.258148193359375 + ], + [ + 7.88720703125, + -10.516265869140625 + ], + [ + 7.88720703125, + -15.7744140625 + ], + [ + 7.0108642578125, + -18.403472900390625 + ], + [ + 0, + -20.15618896484375 + ], + [ + -8.7635498046875, + -17.527130126953125 + ], + [ + -20.15618896484375, + -8.7635498046875 + ], + [ + -33.301513671875, + 8.7635498046875 + ], + [ + -51.70501708984375, + 53.45770263671875 + ], + [ + -58.7158203125, + 92.01739501953125 + ], + [ + -59.59222412109375, + 134.08248901367188 + ], + [ + -54.33404541015625, + 176.14755249023438 + ], + [ + -45.57049560546875, + 215.58358764648438 + ], + [ + -29.79608154296875, + 262.0304870605469 + ], + [ + -21.03253173828125, + 281.3102722167969 + ], + [ + -16.6507568359375, + 289.1974792480469 + ], + [ + -13.14532470703125, + 289.1974792480469 + ], + [ + -13.14532470703125, + 283.9393615722656 + ], + [ + -13.14532470703125, + 283.9393615722656 + ] + ], + "pressures": [ + 0.078125, + 0.125, + 0.16796875, + 0.19921875, + 0.2236328125, + 0.3134765625, + 0.3974609375, + 0.5849609375, + 0.787109375, + 0.9599609375, + 0.98828125, + 0.9833984375, + 0.9423828125, + 0.8876953125, + 0.69921875, + 0.5166015625, + 0.3642578125, + 0.1845703125, + 0.017578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -13.14532470703125, + 283.9393615722656 + ] + }, + { + "id": "0_fee58JGKmX_Yf4BAYnM", + "type": "freedraw", + "x": -230.81441388811345, + "y": -170.00917598179387, + "width": 173.5184326171875, + "height": 35.05426025390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 640543373, + "version": 736, + "versionNonce": 1825893421, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.01080322265625, + -1.752685546875 + ], + [ + -10.51629638671875, + -2.6290283203125 + ], + [ + -11.392578125, + -3.50543212890625 + ], + [ + -11.392578125, + -4.38177490234375 + ], + [ + -1.75274658203125, + -9.639892578125 + ], + [ + 14.02166748046875, + -13.14532470703125 + ], + [ + 38.55963134765625, + -15.7744140625 + ], + [ + 69.23211669921875, + -14.89801025390625 + ], + [ + 97.2755126953125, + -9.639892578125 + ], + [ + 119.18438720703125, + -1.752685546875 + ], + [ + 140.21697998046875, + 8.7635498046875 + ], + [ + 150.7332763671875, + 14.021728515625 + ], + [ + 158.6204833984375, + 17.52716064453125 + ], + [ + 162.1258544921875, + 19.27984619140625 + ], + [ + 162.1258544921875, + 19.27984619140625 + ] + ], + "pressures": [ + 0.126953125, + 0.1640625, + 0.2353515625, + 0.26953125, + 0.4140625, + 0.662109375, + 0.9365234375, + 1, + 1, + 1, + 1, + 1, + 0.8173828125, + 0.3994140625, + 0.234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 162.1258544921875, + 19.27984619140625 + ] + }, + { + "id": "6nNOjcLz7ArqRl_sV2PJG", + "type": "freedraw", + "x": -202.7710178920197, + "y": -169.13283320835637, + "width": 37.683349609375, + "height": 38.55963134765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 669158275, + "version": 740, + "versionNonce": 1159782029, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.2581787109375, + -1.752685546875 + ], + [ + -8.7635498046875, + -2.6290283203125 + ], + [ + -13.14532470703125, + -2.6290283203125 + ], + [ + -17.527099609375, + -2.6290283203125 + ], + [ + -24.5379638671875, + -1.752685546875 + ], + [ + -28.91973876953125, + -0.8763427734375 + ], + [ + -31.548828125, + -0.8763427734375 + ], + [ + -32.4251708984375, + 0 + ], + [ + -33.30157470703125, + 1.75274658203125 + ], + [ + -33.30157470703125, + 2.62908935546875 + ], + [ + -29.796142578125, + 9.63995361328125 + ], + [ + -24.5379638671875, + 15.7744140625 + ], + [ + -19.27984619140625, + 23.66162109375 + ], + [ + -10.51629638671875, + 32.42523193359375 + ], + [ + -5.2581787109375, + 35.0543212890625 + ], + [ + -0.8763427734375, + 35.93060302734375 + ], + [ + 2.6290283203125, + 35.93060302734375 + ], + [ + 4.38177490234375, + 35.93060302734375 + ], + [ + 4.38177490234375, + 34.17791748046875 + ], + [ + 4.38177490234375, + 34.17791748046875 + ] + ], + "pressures": [ + 0.0888671875, + 0.310546875, + 0.4775390625, + 0.59765625, + 0.82421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4462890625, + 0.1767578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.38177490234375, + 34.17791748046875 + ] + }, + { + "id": "RAIitKn6KmuThI0F2SBNq", + "type": "freedraw", + "x": -212.41097150530095, + "y": -134.95491572788762, + "width": 79.7484130859375, + "height": 60.46856689453125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1445849091, + "version": 738, + "versionNonce": 1744798957, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0.87640380859375 + ], + [ + 0.87640380859375, + 2.62908935546875 + ], + [ + 4.38177490234375, + 4.38177490234375 + ], + [ + 9.63995361328125, + 6.13446044921875 + ], + [ + 19.27984619140625, + 7.0108642578125 + ], + [ + 28.9197998046875, + 5.2581787109375 + ], + [ + 38.5596923828125, + 0.87640380859375 + ], + [ + 46.4468994140625, + -4.38177490234375 + ], + [ + 56.96319580078125, + -11.39263916015625 + ], + [ + 63.09765625, + -15.7744140625 + ], + [ + 69.232177734375, + -19.27984619140625 + ], + [ + 74.49029541015625, + -24.5379638671875 + ], + [ + 77.9957275390625, + -28.91973876953125 + ], + [ + 77.9957275390625, + -36.80694580078125 + ], + [ + 76.24298095703125, + -42.06512451171875 + ], + [ + 72.737548828125, + -45.57049560546875 + ], + [ + 69.232177734375, + -48.1995849609375 + ], + [ + 63.9739990234375, + -51.70501708984375 + ], + [ + 62.2213134765625, + -52.58135986328125 + ], + [ + 61.344970703125, + -53.45770263671875 + ], + [ + 62.2213134765625, + -53.45770263671875 + ], + [ + 63.9739990234375, + -51.70501708984375 + ], + [ + 63.9739990234375, + -51.70501708984375 + ] + ], + "pressures": [ + 0.0419921875, + 0.564453125, + 0.8984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.927734375, + 0.640625, + 0.5078125, + 0.18359375, + 0.02734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 63.9739990234375, + -51.70501708984375 + ] + }, + { + "id": "dqAFK7dhdnYmJ0qUJQGS1", + "type": "freedraw", + "x": -137.0443333217072, + "y": -164.75099727085637, + "width": 82.37750244140625, + "height": 37.683349609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 220598051, + "version": 735, + "versionNonce": 1029262435, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.75274658203125, + -0.87640380859375 + ], + [ + 5.25811767578125, + 0 + ], + [ + 10.51629638671875, + 3.50537109375 + ], + [ + 14.8980712890625, + 7.01080322265625 + ], + [ + 18.40350341796875, + 9.639892578125 + ], + [ + 18.40350341796875, + 11.392578125 + ], + [ + 15.7744140625, + 14.02166748046875 + ], + [ + 10.51629638671875, + 18.4034423828125 + ], + [ + 3.50543212890625, + 24.5379638671875 + ], + [ + -10.51629638671875, + 31.54876708984375 + ], + [ + -21.03253173828125, + 33.301513671875 + ], + [ + -33.301513671875, + 34.1778564453125 + ], + [ + -43.81781005859375, + 35.05426025390625 + ], + [ + -54.33404541015625, + 36.80694580078125 + ], + [ + -58.71588134765625, + 36.80694580078125 + ], + [ + -62.22125244140625, + 36.80694580078125 + ], + [ + -63.9739990234375, + 36.80694580078125 + ], + [ + -62.22125244140625, + 36.80694580078125 + ], + [ + -60.46856689453125, + 36.80694580078125 + ], + [ + -60.46856689453125, + 36.80694580078125 + ] + ], + "pressures": [ + 0.04296875, + 0.3974609375, + 0.662109375, + 0.927734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1904296875, + 0.1025390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -60.46856689453125, + 36.80694580078125 + ] + }, + { + "id": "Zve0Ukr5xa5Z0kXy8pQWH", + "type": "freedraw", + "x": -204.52376447405095, + "y": -134.07851191929387, + "width": 71.8612060546875, + "height": 40.3123779296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 41246381, + "version": 738, + "versionNonce": 1492803405, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 1.752685546875 + ], + [ + 0.87640380859375, + 3.50537109375 + ], + [ + 7.0108642578125, + 5.258056640625 + ], + [ + 14.8980712890625, + 6.13446044921875 + ], + [ + 24.5379638671875, + 6.13446044921875 + ], + [ + 34.17791748046875, + 6.13446044921875 + ], + [ + 44.69415283203125, + 3.50537109375 + ], + [ + 51.70501708984375, + -0.87640380859375 + ], + [ + 57.83953857421875, + -6.134521484375 + ], + [ + 63.09765625, + -11.3927001953125 + ], + [ + 66.60308837890625, + -14.89813232421875 + ], + [ + 69.232177734375, + -19.2799072265625 + ], + [ + 70.1085205078125, + -22.7852783203125 + ], + [ + 70.1085205078125, + -27.1671142578125 + ], + [ + 69.232177734375, + -31.54888916015625 + ], + [ + 68.35577392578125, + -33.30157470703125 + ], + [ + 67.47943115234375, + -34.17791748046875 + ], + [ + 65.72674560546875, + -34.17791748046875 + ], + [ + 63.9739990234375, + -34.17791748046875 + ], + [ + 62.2213134765625, + -33.30157470703125 + ], + [ + 60.46856689453125, + -31.54888916015625 + ], + [ + 59.59222412109375, + -29.796142578125 + ], + [ + 59.59222412109375, + -29.796142578125 + ] + ], + "pressures": [ + 0.05078125, + 0.5966796875, + 0.736328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9580078125, + 0.6474609375, + 0.3232421875, + 0.21875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 59.59222412109375, + -29.796142578125 + ] + }, + { + "id": "kqK-HwnF6GeK8kDAlKi7i", + "type": "freedraw", + "x": -135.29158673967595, + "y": -166.50374385288762, + "width": 80.624755859375, + "height": 36.80694580078125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1086790029, + "version": 740, + "versionNonce": 299354115, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.87640380859375, + -1.752685546875 + ], + [ + 2.6290283203125, + -0.8763427734375 + ], + [ + 7.88714599609375, + 1.75274658203125 + ], + [ + 12.26898193359375, + 4.38177490234375 + ], + [ + 15.77435302734375, + 7.88720703125 + ], + [ + 17.527099609375, + 11.39263916015625 + ], + [ + 18.4034423828125, + 15.7744140625 + ], + [ + 15.77435302734375, + 19.2799072265625 + ], + [ + 11.392578125, + 22.7852783203125 + ], + [ + 4.38177490234375, + 26.29071044921875 + ], + [ + -10.51629638671875, + 31.548828125 + ], + [ + -21.908935546875, + 33.301513671875 + ], + [ + -32.42523193359375, + 34.17791748046875 + ], + [ + -41.18878173828125, + 35.05426025390625 + ], + [ + -49.95233154296875, + 35.05426025390625 + ], + [ + -57.83953857421875, + 35.05426025390625 + ], + [ + -60.4686279296875, + 35.05426025390625 + ], + [ + -62.2213134765625, + 35.05426025390625 + ], + [ + -62.2213134765625, + 34.17791748046875 + ], + [ + -62.2213134765625, + 33.301513671875 + ], + [ + -62.2213134765625, + 32.42523193359375 + ], + [ + -61.344970703125, + 32.42523193359375 + ], + [ + -60.4686279296875, + 32.42523193359375 + ], + [ + -59.59222412109375, + 32.42523193359375 + ], + [ + -59.59222412109375, + 32.42523193359375 + ] + ], + "pressures": [ + 0.08203125, + 0.6904296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.591796875, + 0.3154296875, + 0.2060546875, + 0.1328125, + 0.05078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -59.59222412109375, + 32.42523193359375 + ] + }, + { + "id": "xAvHjrIQHkfs79pQzc2_H", + "type": "freedraw", + "x": -200.1419895717072, + "y": -133.20223018101262, + "width": 73.61395263671875, + "height": 35.05426025390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 273879757, + "version": 741, + "versionNonce": 1852501421, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558536, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.75274658203125, + 1.75274658203125 + ], + [ + 3.50543212890625, + 2.62908935546875 + ], + [ + 13.1453857421875, + 2.62908935546875 + ], + [ + 21.908935546875, + 2.62908935546875 + ], + [ + 29.796142578125, + 2.62908935546875 + ], + [ + 36.8070068359375, + 2.62908935546875 + ], + [ + 43.81781005859375, + 2.62908935546875 + ], + [ + 48.1995849609375, + 1.75274658203125 + ], + [ + 51.70501708984375, + 0.87640380859375 + ], + [ + 56.0867919921875, + -1.752685546875 + ], + [ + 61.344970703125, + -5.258056640625 + ], + [ + 67.47943115234375, + -10.5162353515625 + ], + [ + 70.98486328125, + -14.89801025390625 + ], + [ + 72.737548828125, + -17.527099609375 + ], + [ + 73.61395263671875, + -20.15618896484375 + ], + [ + 73.61395263671875, + -22.78521728515625 + ], + [ + 72.737548828125, + -23.66156005859375 + ], + [ + 71.8612060546875, + -25.414306640625 + ], + [ + 69.232177734375, + -27.1669921875 + ], + [ + 67.47943115234375, + -28.91973876953125 + ], + [ + 63.9739990234375, + -30.67242431640625 + ], + [ + 62.2213134765625, + -31.54876708984375 + ], + [ + 61.344970703125, + -31.54876708984375 + ], + [ + 61.344970703125, + -32.4251708984375 + ], + [ + 60.46856689453125, + -32.4251708984375 + ], + [ + 60.46856689453125, + -32.4251708984375 + ] + ], + "pressures": [ + 0.0654296875, + 0.900390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8955078125, + 0.79296875, + 0.671875, + 0.556640625, + 0.470703125, + 0.3955078125, + 0.330078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 60.46856689453125, + -32.4251708984375 + ] + }, + { + "id": "Fh4mzZhMcVlD4tgdfSVHD", + "type": "freedraw", + "x": -186.1202610560822, + "y": -173.51460811070012, + "width": 32.42523193359375, + "height": 82.37750244140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2043023683, + "version": 733, + "versionNonce": 2004529165, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + 5.2581787109375 + ], + [ + -3.50543212890625, + 6.134521484375 + ], + [ + -4.38177490234375, + 5.2581787109375 + ], + [ + -6.134521484375, + 0 + ], + [ + -7.0108642578125, + -14.02166748046875 + ], + [ + -5.25811767578125, + -26.2906494140625 + ], + [ + -1.75274658203125, + -39.436004638671875 + ], + [ + 2.62908935546875, + -50.828643798828125 + ], + [ + 7.88720703125, + -59.592193603515625 + ], + [ + 14.8980712890625, + -65.7266845703125 + ], + [ + 19.27984619140625, + -62.22125244140625 + ], + [ + 21.90887451171875, + -52.581329345703125 + ], + [ + 22.7852783203125, + -38.55963134765625 + ], + [ + 20.15618896484375, + -11.392578125 + ], + [ + 15.7744140625, + 2.62908935546875 + ], + [ + 11.39263916015625, + 12.26898193359375 + ], + [ + 7.88720703125, + 16.65081787109375 + ], + [ + 4.38177490234375, + 16.65081787109375 + ], + [ + -1.75274658203125, + 9.63995361328125 + ], + [ + -6.134521484375, + 2.62908935546875 + ], + [ + -8.7635498046875, + -5.25811767578125 + ], + [ + -9.63995361328125, + -17.527099609375 + ], + [ + -8.7635498046875, + -35.930572509765625 + ], + [ + -5.25811767578125, + -46.44683837890625 + ], + [ + -1.75274658203125, + -53.45770263671875 + ], + [ + 1.752685546875, + -57.8394775390625 + ], + [ + 3.50543212890625, + -59.592193603515625 + ], + [ + 4.38177490234375, + -60.468536376953125 + ], + [ + 5.25811767578125, + -60.468536376953125 + ], + [ + 5.25811767578125, + -60.468536376953125 + ] + ], + "pressures": [ + 0.0224609375, + 0.1162109375, + 0.1630859375, + 0.478515625, + 0.72265625, + 0.8896484375, + 0.931640625, + 0.953125, + 0.9599609375, + 0.9619140625, + 0.9560546875, + 0.9755859375, + 0.98828125, + 1, + 1, + 0.9794921875, + 0.9814453125, + 0.986328125, + 0.9775390625, + 0.9365234375, + 0.900390625, + 0.8740234375, + 0.876953125, + 0.87890625, + 0.8662109375, + 0.85546875, + 0.70703125, + 0.431640625, + 0.3408203125, + 0.177734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.25811767578125, + -60.468536376953125 + ] + }, + { + "id": "vWmam5XakBDBwS4FR781Z", + "type": "freedraw", + "x": -188.74935041155095, + "y": -184.90718623570012, + "width": 42.06512451171875, + "height": 83.25384521484375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1484529037, + "version": 732, + "versionNonce": 1456595779, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + -4.3818359375 + ], + [ + -5.25811767578125, + -11.39263916015625 + ], + [ + -6.13446044921875, + -24.537994384765625 + ], + [ + -3.50543212890625, + -35.05426025390625 + ], + [ + 0.8763427734375, + -46.4468994140625 + ], + [ + 6.134521484375, + -55.21044921875 + ], + [ + 13.14532470703125, + -62.2213134765625 + ], + [ + 17.52716064453125, + -62.2213134765625 + ], + [ + 23.66162109375, + -59.592254638671875 + ], + [ + 28.91973876953125, + -53.457733154296875 + ], + [ + 33.30157470703125, + -43.817840576171875 + ], + [ + 34.17791748046875, + -21.032562255859375 + ], + [ + 30.6724853515625, + -1.75274658203125 + ], + [ + 25.41436767578125, + 14.02166748046875 + ], + [ + 18.40350341796875, + 21.03253173828125 + ], + [ + 7.0108642578125, + 21.03253173828125 + ], + [ + 0.8763427734375, + 16.6507568359375 + ], + [ + -3.50543212890625, + 9.639892578125 + ], + [ + -7.0108642578125, + 0.8763427734375 + ], + [ + -7.88720703125, + -8.76361083984375 + ], + [ + -7.88720703125, + -22.7852783203125 + ], + [ + -4.38177490234375, + -29.796142578125 + ], + [ + 0, + -35.930633544921875 + ], + [ + 3.50543212890625, + -40.312408447265625 + ], + [ + 7.88720703125, + -43.817840576171875 + ], + [ + 10.51629638671875, + -44.694183349609375 + ], + [ + 13.14532470703125, + -43.817840576171875 + ], + [ + 14.021728515625, + -42.94146728515625 + ], + [ + 14.021728515625, + -42.94146728515625 + ] + ], + "pressures": [ + 0.107421875, + 0.2890625, + 0.421875, + 0.64453125, + 0.798828125, + 0.8955078125, + 0.9345703125, + 0.9365234375, + 0.9580078125, + 0.9814453125, + 1, + 1, + 1, + 0.986328125, + 0.9384765625, + 0.9296875, + 0.90625, + 0.85546875, + 0.8056640625, + 0.7626953125, + 0.6923828125, + 0.6240234375, + 0.59375, + 0.57421875, + 0.462890625, + 0.2275390625, + 0.154296875, + 0.0791015625, + 0.0341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.021728515625, + -42.94146728515625 + ] + }, + { + "id": "aa-qB1tlqCzNxFKXD9bbd", + "type": "freedraw", + "x": -184.3675755092072, + "y": -177.02004023960637, + "width": 49.95233154296875, + "height": 62.2213134765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 832059053, + "version": 733, + "versionNonce": 572728941, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.25811767578125, + -8.7635498046875 + ], + [ + -7.01080322265625, + -15.77435302734375 + ], + [ + -7.01080322265625, + -26.2906494140625 + ], + [ + -4.38177490234375, + -33.301513671875 + ], + [ + 0, + -38.55963134765625 + ], + [ + 7.0108642578125, + -42.94140625 + ], + [ + 17.52716064453125, + -45.57049560546875 + ], + [ + 24.5379638671875, + -45.57049560546875 + ], + [ + 29.796142578125, + -42.94140625 + ], + [ + 33.30157470703125, + -36.806915283203125 + ], + [ + 34.17791748046875, + -21.03253173828125 + ], + [ + 29.796142578125, + -8.7635498046875 + ], + [ + 23.66162109375, + 3.50543212890625 + ], + [ + 15.7744140625, + 12.26904296875 + ], + [ + 7.88720703125, + 16.65081787109375 + ], + [ + -3.50543212890625, + 14.021728515625 + ], + [ + -9.639892578125, + 7.0108642578125 + ], + [ + -13.14532470703125, + -0.8763427734375 + ], + [ + -14.89801025390625, + -9.639892578125 + ], + [ + -15.7744140625, + -21.90887451171875 + ], + [ + -14.89801025390625, + -30.67242431640625 + ], + [ + -11.39263916015625, + -36.806915283203125 + ], + [ + -7.01080322265625, + -41.188690185546875 + ], + [ + -1.752685546875, + -42.94140625 + ], + [ + 2.62908935546875, + -42.94140625 + ], + [ + 4.38177490234375, + -42.0650634765625 + ], + [ + 5.2581787109375, + -42.0650634765625 + ], + [ + 5.2581787109375, + -40.312347412109375 + ], + [ + 6.134521484375, + -38.55963134765625 + ], + [ + 6.134521484375, + -38.55963134765625 + ] + ], + "pressures": [ + 0.060546875, + 0.2822265625, + 0.49609375, + 0.861328125, + 0.931640625, + 0.951171875, + 0.9560546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9580078125, + 0.9169921875, + 0.8642578125, + 0.8173828125, + 0.79296875, + 0.7724609375, + 0.740234375, + 0.4521484375, + 0.2099609375, + 0.169921875, + 0.14453125, + 0.125, + 0.0341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.134521484375, + -38.55963134765625 + ] + }, + { + "id": "Xln77yIJM4wqgyuqJEpjN", + "type": "freedraw", + "x": -186.9966038295197, + "y": -178.77272578648137, + "width": 51.70501708984375, + "height": 75.36663818359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 606669699, + "version": 733, + "versionNonce": 1641710307, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.2581787109375, + -9.639892578125 + ], + [ + -5.2581787109375, + -17.527099609375 + ], + [ + -5.2581787109375, + -27.167022705078125 + ], + [ + -1.75274658203125, + -38.559661865234375 + ], + [ + 3.50543212890625, + -43.81781005859375 + ], + [ + 10.5162353515625, + -48.1995849609375 + ], + [ + 18.4034423828125, + -50.828643798828125 + ], + [ + 24.5379638671875, + -51.70501708984375 + ], + [ + 32.4251708984375, + -44.69415283203125 + ], + [ + 35.93060302734375, + -35.054229736328125 + ], + [ + 36.80694580078125, + -22.7852783203125 + ], + [ + 34.1778564453125, + -8.7635498046875 + ], + [ + 25.414306640625, + 11.39263916015625 + ], + [ + 18.4034423828125, + 19.27984619140625 + ], + [ + 11.392578125, + 23.66162109375 + ], + [ + 5.25811767578125, + 23.66162109375 + ], + [ + -1.75274658203125, + 19.27984619140625 + ], + [ + -9.63995361328125, + 9.639892578125 + ], + [ + -13.1453857421875, + 0 + ], + [ + -14.8980712890625, + -11.39263916015625 + ], + [ + -14.8980712890625, + -21.90887451171875 + ], + [ + -11.39263916015625, + -32.4251708984375 + ], + [ + -7.88720703125, + -35.93060302734375 + ], + [ + -4.38177490234375, + -37.683319091796875 + ], + [ + -1.75274658203125, + -38.559661865234375 + ], + [ + 0, + -39.436004638671875 + ], + [ + 4.38177490234375, + -40.3123779296875 + ], + [ + 7.01080322265625, + -41.188720703125 + ], + [ + 7.88720703125, + -41.188720703125 + ], + [ + 7.88720703125, + -41.188720703125 + ] + ], + "pressures": [ + 0.1328125, + 0.431640625, + 0.57421875, + 0.70703125, + 0.8408203125, + 0.8662109375, + 0.87890625, + 0.8955078125, + 0.921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9599609375, + 0.822265625, + 0.798828125, + 0.7705078125, + 0.734375, + 0.708984375, + 0.646484375, + 0.4365234375, + 0.3232421875, + 0.263671875, + 0.171875, + 0.099609375, + 0.041015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.88720703125, + -41.188720703125 + ] + }, + { + "id": "9bbu84DEnWUNYWI2XnKL0", + "type": "freedraw", + "x": -185.2439182826447, + "y": -177.02004023960637, + "width": 56.963134765625, + "height": 65.7266845703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 140754765, + "version": 731, + "versionNonce": 556650701, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.25811767578125, + -2.6290283203125 + ], + [ + -7.0108642578125, + -7.88714599609375 + ], + [ + -7.88720703125, + -17.527099609375 + ], + [ + -6.13446044921875, + -26.2906494140625 + ], + [ + -0.8763427734375, + -34.1778564453125 + ], + [ + 6.134521484375, + -42.0650634765625 + ], + [ + 14.8980712890625, + -47.323211669921875 + ], + [ + 27.16705322265625, + -49.9522705078125 + ], + [ + 32.4251708984375, + -48.199554443359375 + ], + [ + 36.80694580078125, + -41.188690185546875 + ], + [ + 39.43603515625, + -29.79608154296875 + ], + [ + 40.3123779296875, + -9.639892578125 + ], + [ + 36.80694580078125, + 1.75274658203125 + ], + [ + 29.796142578125, + 10.51629638671875 + ], + [ + 21.908935546875, + 14.8980712890625 + ], + [ + 13.14532470703125, + 15.7744140625 + ], + [ + 0.8763427734375, + 12.26904296875 + ], + [ + -7.0108642578125, + 6.134521484375 + ], + [ + -12.26898193359375, + -1.752685546875 + ], + [ + -14.8980712890625, + -10.5162353515625 + ], + [ + -16.6507568359375, + -22.78521728515625 + ], + [ + -14.8980712890625, + -28.919708251953125 + ], + [ + -11.39263916015625, + -31.548797607421875 + ], + [ + -7.88720703125, + -33.301513671875 + ], + [ + -3.50543212890625, + -35.05419921875 + ], + [ + 0.8763427734375, + -36.806915283203125 + ], + [ + 2.62908935546875, + -36.806915283203125 + ], + [ + 2.62908935546875, + -36.806915283203125 + ] + ], + "pressures": [ + 0.107421875, + 0.287109375, + 0.3857421875, + 0.5380859375, + 0.5947265625, + 0.6181640625, + 0.6240234375, + 0.62890625, + 0.666015625, + 0.697265625, + 0.72265625, + 0.72265625, + 0.703125, + 0.69921875, + 0.6904296875, + 0.6826171875, + 0.669921875, + 0.6318359375, + 0.58984375, + 0.5673828125, + 0.5556640625, + 0.5458984375, + 0.5283203125, + 0.3818359375, + 0.2626953125, + 0.2177734375, + 0.1669921875, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.62908935546875, + -36.806915283203125 + ] + }, + { + "id": "gf9GbDesQGfipPUVue_vV", + "type": "freedraw", + "x": -153.6950901576447, + "y": -192.79439326695012, + "width": 10.5162353515625, + "height": 25.41436767578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1521937133, + "version": 720, + "versionNonce": 770584195, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.87640380859375 + ], + [ + 0.8763427734375, + 0.8763427734375 + ], + [ + 5.25811767578125, + 8.7635498046875 + ], + [ + 7.88720703125, + 14.89801025390625 + ], + [ + 8.7635498046875, + 20.15618896484375 + ], + [ + 9.639892578125, + 22.78521728515625 + ], + [ + 9.639892578125, + 23.66156005859375 + ], + [ + 9.639892578125, + 24.5379638671875 + ], + [ + 8.7635498046875, + 24.5379638671875 + ], + [ + 5.25811767578125, + 24.5379638671875 + ], + [ + 2.62908935546875, + 23.66156005859375 + ], + [ + 0, + 22.78521728515625 + ], + [ + -0.8763427734375, + 22.78521728515625 + ], + [ + -0.8763427734375, + 21.90887451171875 + ], + [ + 0, + 21.90887451171875 + ], + [ + 1.752685546875, + 21.90887451171875 + ], + [ + 2.62908935546875, + 22.78521728515625 + ], + [ + 2.62908935546875, + 22.78521728515625 + ] + ], + "pressures": [ + 0.03515625, + 0.2880859375, + 0.3525390625, + 0.4345703125, + 0.5263671875, + 0.615234375, + 0.701171875, + 0.736328125, + 0.802734375, + 0.8955078125, + 0.904296875, + 0.904296875, + 0.904296875, + 0.9150390625, + 0.9130859375, + 0.2568359375, + 0.1513671875, + 0.0244140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.62908935546875, + 22.78521728515625 + ] + }, + { + "id": "CGL-eKCECbQ_KMv-X7Tl-", + "type": "freedraw", + "x": -171.2221897670197, + "y": -181.40181514195012, + "width": 49.95233154296875, + "height": 79.74838256835938, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 174387011, + "version": 731, + "versionNonce": 305409837, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.2581787109375, + 3.50543212890625 + ], + [ + -7.0108642578125, + 2.62908935546875 + ], + [ + -8.76361083984375, + -2.6290283203125 + ], + [ + -9.63995361328125, + -17.527099609375 + ], + [ + -7.88720703125, + -28.91973876953125 + ], + [ + -2.62908935546875, + -39.436004638671875 + ], + [ + 3.50537109375, + -48.199554443359375 + ], + [ + 9.639892578125, + -54.33404541015625 + ], + [ + 18.4034423828125, + -56.963104248046875 + ], + [ + 25.414306640625, + -54.33404541015625 + ], + [ + 31.54876708984375, + -47.323211669921875 + ], + [ + 35.93060302734375, + -35.054229736328125 + ], + [ + 36.80694580078125, + -18.4034423828125 + ], + [ + 32.4251708984375, + 7.0108642578125 + ], + [ + 25.414306640625, + 17.52716064453125 + ], + [ + 17.527099609375, + 21.908935546875 + ], + [ + 10.5162353515625, + 22.7852783203125 + ], + [ + 0, + 16.65081787109375 + ], + [ + -7.0108642578125, + 9.63995361328125 + ], + [ + -11.39263916015625, + 0.87640380859375 + ], + [ + -13.1453857421875, + -7.88720703125 + ], + [ + -13.1453857421875, + -16.6507568359375 + ], + [ + -11.39263916015625, + -28.91973876953125 + ], + [ + -7.88720703125, + -35.054229736328125 + ], + [ + -4.3818359375, + -38.55963134765625 + ], + [ + -2.62908935546875, + -38.55963134765625 + ], + [ + 4.38177490234375, + -36.806915283203125 + ], + [ + 6.13446044921875, + -35.054229736328125 + ], + [ + 6.13446044921875, + -35.054229736328125 + ] + ], + "pressures": [ + 0.0673828125, + 0.2880859375, + 0.4072265625, + 0.5478515625, + 0.9296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.92578125, + 0.9111328125, + 0.900390625, + 0.8896484375, + 0.87890625, + 0.802734375, + 0.72265625, + 0.2109375, + 0.08984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.13446044921875, + -35.054229736328125 + ] + }, + { + "id": "0FLM4Ve6zB74pXKZZw61F", + "type": "freedraw", + "x": -177.3567112513947, + "y": -180.52541133335637, + "width": 35.93060302734375, + "height": 67.47943115234375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 168749091, + "version": 730, + "versionNonce": 2110481955, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.13446044921875, + -7.0108642578125 + ], + [ + -8.7635498046875, + -14.021728515625 + ], + [ + -9.639892578125, + -21.908935546875 + ], + [ + -8.7635498046875, + -29.796142578125 + ], + [ + -3.50543212890625, + -40.312408447265625 + ], + [ + 1.752685546875, + -45.570526123046875 + ], + [ + 7.88720703125, + -49.075958251953125 + ], + [ + 13.14532470703125, + -50.82867431640625 + ], + [ + 20.15618896484375, + -49.075958251953125 + ], + [ + 24.5379638671875, + -41.188751220703125 + ], + [ + 26.29071044921875, + -27.16705322265625 + ], + [ + 26.29071044921875, + -11.39263916015625 + ], + [ + 23.66162109375, + 4.38177490234375 + ], + [ + 16.6507568359375, + 15.7744140625 + ], + [ + 11.39263916015625, + 16.6507568359375 + ], + [ + 5.25811767578125, + 14.89801025390625 + ], + [ + 0, + 9.639892578125 + ], + [ + -5.25811767578125, + 1.752685546875 + ], + [ + -7.88720703125, + -2.62908935546875 + ], + [ + -8.7635498046875, + -7.0108642578125 + ], + [ + -8.7635498046875, + -14.021728515625 + ], + [ + -7.0108642578125, + -23.661651611328125 + ], + [ + -3.50543212890625, + -34.17791748046875 + ], + [ + 0, + -37.683319091796875 + ], + [ + 1.752685546875, + -39.43603515625 + ], + [ + 4.38177490234375, + -39.43603515625 + ], + [ + 5.25811767578125, + -38.5596923828125 + ], + [ + 5.25811767578125, + -38.5596923828125 + ] + ], + "pressures": [ + 0.0830078125, + 0.30078125, + 0.4775390625, + 0.669921875, + 0.8515625, + 0.927734375, + 0.9345703125, + 0.947265625, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.947265625, + 0.8388671875, + 0.791015625, + 0.73046875, + 0.6826171875, + 0.642578125, + 0.580078125, + 0.50390625, + 0.349609375, + 0.2109375, + 0.1494140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.25811767578125, + -38.5596923828125 + ] + }, + { + "id": "uSFApu5EyFlFrfixiuQ4E", + "type": "freedraw", + "x": -180.86214338030095, + "y": -177.89638301304387, + "width": 40.3123779296875, + "height": 83.25381469726562, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 23693901, + "version": 747, + "versionNonce": 597672333, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -6.13446044921875 + ], + [ + -5.25811767578125, + -20.15618896484375 + ], + [ + -5.25811767578125, + -31.548797607421875 + ], + [ + -1.752685546875, + -41.188720703125 + ], + [ + 2.62908935546875, + -49.9522705078125 + ], + [ + 11.39263916015625, + -56.963134765625 + ], + [ + 17.52716064453125, + -58.715850830078125 + ], + [ + 23.66162109375, + -56.086761474609375 + ], + [ + 29.796142578125, + -50.828643798828125 + ], + [ + 34.17791748046875, + -42.0650634765625 + ], + [ + 35.05426025390625, + -21.03253173828125 + ], + [ + 32.4251708984375, + -1.752685546875 + ], + [ + 26.29071044921875, + 14.021728515625 + ], + [ + 20.15618896484375, + 22.7852783203125 + ], + [ + 11.39263916015625, + 24.5379638671875 + ], + [ + 5.25811767578125, + 20.15618896484375 + ], + [ + 0.8763427734375, + 12.26898193359375 + ], + [ + -1.752685546875, + 3.50543212890625 + ], + [ + -3.50543212890625, + -5.25811767578125 + ], + [ + -4.38177490234375, + -19.27984619140625 + ], + [ + -4.38177490234375, + -28.043365478515625 + ], + [ + -1.752685546875, + -35.054229736328125 + ], + [ + 2.62908935546875, + -41.188720703125 + ], + [ + 4.38177490234375, + -42.0650634765625 + ], + [ + 5.25811767578125, + -42.941436767578125 + ], + [ + 6.134521484375, + -42.941436767578125 + ], + [ + 7.0108642578125, + -44.69415283203125 + ], + [ + 7.0108642578125, + -44.69415283203125 + ] + ], + "pressures": [ + 0.11328125, + 0.2998046875, + 0.6376953125, + 0.8701171875, + 0.9423828125, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9296875, + 0.8681640625, + 0.8369140625, + 0.7646484375, + 0.6533203125, + 0.5458984375, + 0.3818359375, + 0.2734375, + 0.2021484375, + 0.1416015625, + 0.0966796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.0108642578125, + -44.69415283203125 + ] + }, + { + "id": "h06-xLlOjKBNh0iZdguwK", + "type": "freedraw", + "x": -172.09859357561345, + "y": -164.75099727085637, + "width": 44.69415283203125, + "height": 101.65731811523438, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 268649261, + "version": 716, + "versionNonce": 945859011, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -16.6507568359375, + -5.2581787109375 + ], + [ + -17.527099609375, + -16.65081787109375 + ], + [ + -15.7744140625, + -31.548828125 + ], + [ + -12.26898193359375, + -49.075958251953125 + ], + [ + -7.01080322265625, + -65.72674560546875 + ], + [ + -2.6290283203125, + -77.9957275390625 + ], + [ + 5.2581787109375, + -87.6356201171875 + ], + [ + 11.39263916015625, + -89.38833618164062 + ], + [ + 18.40350341796875, + -87.6356201171875 + ], + [ + 24.5379638671875, + -81.50112915039062 + ], + [ + 27.16705322265625, + -60.468597412109375 + ], + [ + 23.66162109375, + -37.683349609375 + ], + [ + 16.65081787109375, + -13.1453857421875 + ], + [ + 9.63995361328125, + 3.50537109375 + ], + [ + 1.75274658203125, + 12.26898193359375 + ], + [ + -2.6290283203125, + 9.639892578125 + ], + [ + -7.01080322265625, + 0.8763427734375 + ], + [ + -9.639892578125, + -12.26904296875 + ], + [ + -10.5162353515625, + -28.9197998046875 + ], + [ + -8.7635498046875, + -50.82867431640625 + ], + [ + -5.25811767578125, + -60.468597412109375 + ], + [ + -2.6290283203125, + -69.23214721679688 + ], + [ + 0.87640380859375, + -75.36663818359375 + ], + [ + 2.62908935546875, + -77.9957275390625 + ], + [ + 5.2581787109375, + -77.11935424804688 + ], + [ + 7.0108642578125, + -74.49029541015625 + ], + [ + 7.0108642578125, + -74.49029541015625 + ] + ], + "pressures": [ + 0.052734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8642578125, + 0.41015625, + 0.2099609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.0108642578125, + -74.49029541015625 + ] + }, + { + "id": "oaax9-3N_yPZjUV2nrEM0", + "type": "freedraw", + "x": -180.86214338030095, + "y": -176.14363643101262, + "width": 41.188720703125, + "height": 91.14105224609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1183764963, + "version": 717, + "versionNonce": 2057963501, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -6.134521484375 + ], + [ + -5.25811767578125, + -11.39263916015625 + ], + [ + -5.25811767578125, + -21.0325927734375 + ], + [ + -3.50543212890625, + -35.05426025390625 + ], + [ + 0, + -50.82867431640625 + ], + [ + 8.7635498046875, + -69.23214721679688 + ], + [ + 15.7744140625, + -73.61392211914062 + ], + [ + 21.908935546875, + -71.8612060546875 + ], + [ + 28.91973876953125, + -58.71588134765625 + ], + [ + 31.548828125, + -46.4468994140625 + ], + [ + 31.548828125, + -30.6724853515625 + ], + [ + 26.29071044921875, + -9.63995361328125 + ], + [ + 19.27984619140625, + 7.01080322265625 + ], + [ + 13.14532470703125, + 15.7744140625 + ], + [ + 5.25811767578125, + 15.7744140625 + ], + [ + 0, + 8.7635498046875 + ], + [ + -4.38177490234375, + -1.75274658203125 + ], + [ + -7.88720703125, + -16.6507568359375 + ], + [ + -9.639892578125, + -38.5596923828125 + ], + [ + -8.7635498046875, + -47.3232421875 + ], + [ + -7.0108642578125, + -53.457733154296875 + ], + [ + -3.50543212890625, + -59.59222412109375 + ], + [ + 0, + -67.47943115234375 + ], + [ + 5.25811767578125, + -75.36663818359375 + ], + [ + 8.7635498046875, + -75.36663818359375 + ], + [ + 11.39263916015625, + -69.23214721679688 + ], + [ + 13.14532470703125, + -63.09765625 + ], + [ + 13.14532470703125, + -63.09765625 + ] + ], + "pressures": [ + 0.0849609375, + 0.4970703125, + 0.6865234375, + 0.8896484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.701171875, + 0.4013671875, + 0.203125, + 0.0361328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 13.14532470703125, + -63.09765625 + ] + }, + { + "id": "_u57ykr1IbsfGiBe2WXag", + "type": "freedraw", + "x": -180.86214338030095, + "y": -184.03084346226262, + "width": 39.43603515625, + "height": 87.6356201171875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1837929795, + "version": 717, + "versionNonce": 1657567587, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + -4.38177490234375 + ], + [ + -3.50543212890625, + -14.8980712890625 + ], + [ + -2.6290283203125, + -30.6724853515625 + ], + [ + 0, + -37.683319091796875 + ], + [ + 3.50543212890625, + -42.94146728515625 + ], + [ + 10.51629638671875, + -51.70501708984375 + ], + [ + 15.7744140625, + -56.963165283203125 + ], + [ + 21.03253173828125, + -58.71588134765625 + ], + [ + 26.29071044921875, + -56.0867919921875 + ], + [ + 29.796142578125, + -49.075958251953125 + ], + [ + 32.4251708984375, + -39.43603515625 + ], + [ + 29.796142578125, + -18.40350341796875 + ], + [ + 23.66162109375, + 0 + ], + [ + 17.52716064453125, + 17.527099609375 + ], + [ + 10.51629638671875, + 28.91973876953125 + ], + [ + 8.7635498046875, + 28.91973876953125 + ], + [ + 1.75274658203125, + 21.90887451171875 + ], + [ + -2.6290283203125, + 13.14532470703125 + ], + [ + -6.13446044921875, + 0.8763427734375 + ], + [ + -7.0108642578125, + -13.1453857421875 + ], + [ + -4.38177490234375, + -32.425201416015625 + ], + [ + -0.8763427734375, + -41.188751220703125 + ], + [ + 3.50543212890625, + -46.4468994140625 + ], + [ + 7.88720703125, + -52.581390380859375 + ], + [ + 10.51629638671875, + -54.334075927734375 + ], + [ + 11.39263916015625, + -56.0867919921875 + ], + [ + 12.26898193359375, + -56.0867919921875 + ], + [ + 12.26898193359375, + -56.0867919921875 + ] + ], + "pressures": [ + 0.1162109375, + 0.4951171875, + 0.798828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9111328125, + 0.6943359375, + 0.5263671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 12.26898193359375, + -56.0867919921875 + ] + }, + { + "id": "5aaFKYo6Jt1JXWEfEg8DQ", + "type": "freedraw", + "x": -180.86214338030095, + "y": -176.14363643101262, + "width": 41.18878173828125, + "height": 84.13015747070312, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 630105251, + "version": 715, + "versionNonce": 1499234893, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + -6.134521484375 + ], + [ + -3.50543212890625, + -23.66162109375 + ], + [ + -2.6290283203125, + -39.43603515625 + ], + [ + 1.75274658203125, + -53.457733154296875 + ], + [ + 7.0108642578125, + -63.09765625 + ], + [ + 10.51629638671875, + -68.35580444335938 + ], + [ + 16.6507568359375, + -70.10848999023438 + ], + [ + 21.908935546875, + -64.85037231445312 + ], + [ + 27.16705322265625, + -55.21044921875 + ], + [ + 29.796142578125, + -42.065093994140625 + ], + [ + 28.91973876953125, + -16.6507568359375 + ], + [ + 23.66162109375, + 0.8763427734375 + ], + [ + 17.52716064453125, + 10.5162353515625 + ], + [ + 11.39263916015625, + 14.02166748046875 + ], + [ + 5.25811767578125, + 14.02166748046875 + ], + [ + -2.6290283203125, + 8.7635498046875 + ], + [ + -6.13446044921875, + 6.13446044921875 + ], + [ + -9.639892578125, + 2.6290283203125 + ], + [ + -11.39263916015625, + -1.75274658203125 + ], + [ + -11.39263916015625, + -11.39263916015625 + ], + [ + -8.7635498046875, + -21.908935546875 + ], + [ + -4.38177490234375, + -34.17791748046875 + ], + [ + 0, + -42.94146728515625 + ], + [ + 3.50543212890625, + -48.199615478515625 + ], + [ + 5.25811767578125, + -48.199615478515625 + ], + [ + 5.25811767578125, + -48.199615478515625 + ] + ], + "pressures": [ + 0.1328125, + 0.447265625, + 0.8408203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.953125, + 0.74609375, + 0.328125, + 0.20703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.25811767578125, + -48.199615478515625 + ] + }, + { + "id": "pMYijHcoDDOWKAt7I4zgG", + "type": "freedraw", + "x": -179.98580060686345, + "y": -170.00917598179387, + "width": 43.81781005859375, + "height": 89.38833618164062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2054358115, + "version": 717, + "versionNonce": 1516066051, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + -4.38177490234375 + ], + [ + -3.50537109375, + -10.5162353515625 + ], + [ + -5.25811767578125, + -26.2906494140625 + ], + [ + -4.38177490234375, + -40.3123779296875 + ], + [ + -0.8763427734375, + -53.45770263671875 + ], + [ + 2.62908935546875, + -63.973968505859375 + ], + [ + 7.88720703125, + -70.98483276367188 + ], + [ + 12.26898193359375, + -71.86117553710938 + ], + [ + 18.40350341796875, + -70.10845947265625 + ], + [ + 27.16705322265625, + -62.22125244140625 + ], + [ + 33.30157470703125, + -49.9522705078125 + ], + [ + 34.17791748046875, + -22.78521728515625 + ], + [ + 28.9197998046875, + -4.38177490234375 + ], + [ + 21.908935546875, + 9.63995361328125 + ], + [ + 14.8980712890625, + 15.7744140625 + ], + [ + 8.76361083984375, + 17.52716064453125 + ], + [ + -1.752685546875, + 9.63995361328125 + ], + [ + -7.01080322265625, + -1.752685546875 + ], + [ + -9.639892578125, + -13.14532470703125 + ], + [ + -9.639892578125, + -24.5379638671875 + ], + [ + -8.7635498046875, + -38.559661865234375 + ], + [ + -6.13446044921875, + -46.446868896484375 + ], + [ + -4.38177490234375, + -51.704986572265625 + ], + [ + -1.752685546875, + -56.086761474609375 + ], + [ + -0.8763427734375, + -56.963134765625 + ], + [ + 0, + -56.086761474609375 + ], + [ + 0.87640380859375, + -54.334075927734375 + ], + [ + 0.87640380859375, + -54.334075927734375 + ] + ], + "pressures": [ + 0.087890625, + 0.220703125, + 0.337890625, + 0.6494140625, + 0.8876953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9580078125, + 0.9150390625, + 0.828125, + 0.697265625, + 0.419921875, + 0.2646484375, + 0.177734375, + 0.08203125, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.87640380859375, + -54.334075927734375 + ] + }, + { + "id": "rT9ncowaJR5Q5_hS_qaqS", + "type": "freedraw", + "x": -184.3675755092072, + "y": -181.40181514195012, + "width": 45.570556640625, + "height": 84.13021850585938, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 990353347, + "version": 722, + "versionNonce": 76591277, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 3.50543212890625 + ], + [ + -3.50543212890625, + 4.38177490234375 + ], + [ + -4.38177490234375, + 4.38177490234375 + ], + [ + -7.01080322265625, + 3.50543212890625 + ], + [ + -8.7635498046875, + -5.25811767578125 + ], + [ + -8.7635498046875, + -15.7744140625 + ], + [ + -7.01080322265625, + -28.043365478515625 + ], + [ + -2.6290283203125, + -41.188720703125 + ], + [ + 6.134521484375, + -59.592193603515625 + ], + [ + 10.51629638671875, + -66.60302734375 + ], + [ + 16.6507568359375, + -67.47940063476562 + ], + [ + 22.7852783203125, + -63.973968505859375 + ], + [ + 28.9197998046875, + -56.963104248046875 + ], + [ + 34.17791748046875, + -42.0650634765625 + ], + [ + 33.30157470703125, + -28.043365478515625 + ], + [ + 29.796142578125, + -10.5162353515625 + ], + [ + 24.5379638671875, + 4.38177490234375 + ], + [ + 16.6507568359375, + 14.8980712890625 + ], + [ + 12.26898193359375, + 16.65081787109375 + ], + [ + 5.2581787109375, + 14.8980712890625 + ], + [ + -0.8763427734375, + 9.63995361328125 + ], + [ + -7.01080322265625, + 3.50543212890625 + ], + [ + -11.39263916015625, + -8.7635498046875 + ], + [ + -11.39263916015625, + -15.7744140625 + ], + [ + -11.39263916015625, + -21.90887451171875 + ], + [ + -9.639892578125, + -27.167022705078125 + ], + [ + -6.13446044921875, + -35.054229736328125 + ], + [ + -3.50543212890625, + -38.55963134765625 + ], + [ + -1.752685546875, + -41.188720703125 + ], + [ + 0, + -42.941436767578125 + ], + [ + 0.87640380859375, + -42.941436767578125 + ], + [ + 1.75274658203125, + -42.941436767578125 + ], + [ + 1.75274658203125, + -42.941436767578125 + ] + ], + "pressures": [ + 0.0703125, + 0.4150390625, + 0.673828125, + 0.830078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.751953125, + 0.51171875, + 0.3515625, + 0.236328125, + 0.169921875, + 0.1083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.75274658203125, + -42.941436767578125 + ] + }, + { + "id": "dqmj8L0jZW7UkUjmvE-Ha", + "type": "freedraw", + "x": -189.62569318498845, + "y": -178.77272578648137, + "width": 30.6724853515625, + "height": 49.075927734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 689732173, + "version": 709, + "versionNonce": 1318173859, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -0.8763427734375 + ], + [ + -2.62908935546875, + -7.0108642578125 + ], + [ + -3.50543212890625, + -13.14532470703125 + ], + [ + -4.38177490234375, + -21.03253173828125 + ], + [ + -3.50543212890625, + -31.548828125 + ], + [ + -0.8763427734375, + -36.80694580078125 + ], + [ + 3.50543212890625, + -42.065093994140625 + ], + [ + 7.88720703125, + -46.446868896484375 + ], + [ + 11.39263916015625, + -49.075927734375 + ], + [ + 16.6507568359375, + -49.075927734375 + ], + [ + 20.15618896484375, + -47.323211669921875 + ], + [ + 24.5379638671875, + -42.065093994140625 + ], + [ + 26.29071044921875, + -34.177886962890625 + ], + [ + 26.29071044921875, + -21.03253173828125 + ], + [ + 23.66162109375, + -14.02166748046875 + ], + [ + 19.27984619140625, + -9.639892578125 + ], + [ + 14.8980712890625, + -7.0108642578125 + ], + [ + 12.26898193359375, + -6.13446044921875 + ], + [ + 8.7635498046875, + -7.88720703125 + ], + [ + 8.7635498046875, + -8.7635498046875 + ], + [ + 8.7635498046875, + -8.7635498046875 + ] + ], + "pressures": [ + 0.013671875, + 0.2197265625, + 0.2998046875, + 0.400390625, + 0.525390625, + 0.673828125, + 0.787109375, + 0.849609375, + 0.8955078125, + 0.908203125, + 0.9189453125, + 0.947265625, + 1, + 1, + 1, + 1, + 1, + 0.908203125, + 0.611328125, + 0.1904296875, + 0.1337890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.7635498046875, + -8.7635498046875 + ] + }, + { + "id": "tRzN1Z8j1tEb8C8NTgt0O", + "type": "freedraw", + "x": -186.1202610560822, + "y": -171.76186152866887, + "width": 41.18878173828125, + "height": 69.23214721679688, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 778476995, + "version": 719, + "versionNonce": 1777341197, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.25811767578125, + 2.6290283203125 + ], + [ + -7.88720703125, + -0.8763427734375 + ], + [ + -10.51629638671875, + -13.14532470703125 + ], + [ + -10.51629638671875, + -24.5379638671875 + ], + [ + -7.88720703125, + -35.05426025390625 + ], + [ + -4.38177490234375, + -43.81781005859375 + ], + [ + 0.8763427734375, + -51.70501708984375 + ], + [ + 9.639892578125, + -60.46856689453125 + ], + [ + 14.8980712890625, + -62.221282958984375 + ], + [ + 20.15618896484375, + -61.344940185546875 + ], + [ + 25.414306640625, + -53.457733154296875 + ], + [ + 30.6724853515625, + -36.806976318359375 + ], + [ + 30.6724853515625, + -21.908935546875 + ], + [ + 27.16705322265625, + -7.0108642578125 + ], + [ + 22.7852783203125, + 2.6290283203125 + ], + [ + 18.4034423828125, + 7.0108642578125 + ], + [ + 9.639892578125, + 6.13446044921875 + ], + [ + 3.50543212890625, + 1.752685546875 + ], + [ + -2.62908935546875, + -3.50543212890625 + ], + [ + -7.0108642578125, + -10.51629638671875 + ], + [ + -10.51629638671875, + -21.03253173828125 + ], + [ + -10.51629638671875, + -28.91973876953125 + ], + [ + -9.63995361328125, + -37.683319091796875 + ], + [ + -6.134521484375, + -45.570526123046875 + ], + [ + -1.75274658203125, + -51.70501708984375 + ], + [ + 1.752685546875, + -55.21044921875 + ], + [ + 2.62908935546875, + -55.21044921875 + ], + [ + 3.50543212890625, + -55.21044921875 + ], + [ + 4.38177490234375, + -55.21044921875 + ], + [ + 5.25811767578125, + -55.21044921875 + ], + [ + 5.25811767578125, + -55.21044921875 + ] + ], + "pressures": [ + 0.0634765625, + 0.3515625, + 0.5146484375, + 0.947265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.880859375, + 0.828125, + 0.828125, + 0.830078125, + 0.826171875, + 0.8154296875, + 0.7421875, + 0.458984375, + 0.3505859375, + 0.2470703125, + 0.18359375, + 0.1171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.25811767578125, + -55.21044921875 + ] + }, + { + "id": "bsoPJLrUWE2LVjurOU7cM", + "type": "freedraw", + "x": -186.1202610560822, + "y": -177.02004023960637, + "width": 48.1995849609375, + "height": 73.61392211914062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 697237741, + "version": 719, + "versionNonce": 2065182787, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + -7.01080322265625 + ], + [ + -3.50543212890625, + -14.02166748046875 + ], + [ + -4.38177490234375, + -23.66156005859375 + ], + [ + -2.62908935546875, + -38.55963134765625 + ], + [ + 0, + -45.57049560546875 + ], + [ + 2.62908935546875, + -51.704986572265625 + ], + [ + 6.13446044921875, + -56.086761474609375 + ], + [ + 13.14532470703125, + -60.468536376953125 + ], + [ + 19.27984619140625, + -57.8394775390625 + ], + [ + 25.414306640625, + -49.9522705078125 + ], + [ + 30.6724853515625, + -39.436004638671875 + ], + [ + 34.1778564453125, + -28.043365478515625 + ], + [ + 34.1778564453125, + -8.7635498046875 + ], + [ + 30.6724853515625, + 1.75274658203125 + ], + [ + 26.2906494140625, + 8.76361083984375 + ], + [ + 21.03253173828125, + 12.26904296875 + ], + [ + 10.5162353515625, + 13.1453857421875 + ], + [ + 1.752685546875, + 10.51629638671875 + ], + [ + -5.25811767578125, + 6.134521484375 + ], + [ + -10.51629638671875, + 0 + ], + [ + -13.14532470703125, + -7.88714599609375 + ], + [ + -14.021728515625, + -15.77435302734375 + ], + [ + -13.14532470703125, + -25.414306640625 + ], + [ + -11.39263916015625, + -28.919708251953125 + ], + [ + -8.7635498046875, + -33.301513671875 + ], + [ + -6.134521484375, + -36.806915283203125 + ], + [ + 0, + -42.0650634765625 + ], + [ + 2.62908935546875, + -42.94140625 + ], + [ + 5.25811767578125, + -42.94140625 + ], + [ + 6.13446044921875, + -42.0650634765625 + ], + [ + 6.13446044921875, + -42.0650634765625 + ] + ], + "pressures": [ + 0.0615234375, + 0.3330078125, + 0.470703125, + 0.6357421875, + 0.87890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9169921875, + 0.8740234375, + 0.8662109375, + 0.861328125, + 0.8408203125, + 0.794921875, + 0.708984375, + 0.57421875, + 0.3935546875, + 0.2412109375, + 0.1474609375, + 0.03515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.13446044921875, + -42.0650634765625 + ] + }, + { + "id": "Ygu_nOm4y3BRa3J2btjm_", + "type": "freedraw", + "x": -219.4217747279572, + "y": -177.02004023960637, + "width": 16.6507568359375, + "height": 57.839508056640625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1471212131, + "version": 714, + "versionNonce": 99887469, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + -3.50537109375 + ], + [ + -2.62908935546875, + -6.13446044921875 + ], + [ + -2.62908935546875, + -10.5162353515625 + ], + [ + -2.62908935546875, + -14.89801025390625 + ], + [ + -2.62908935546875, + -20.15618896484375 + ], + [ + -2.62908935546875, + -27.167022705078125 + ], + [ + -1.75274658203125, + -33.301513671875 + ], + [ + 0, + -37.68328857421875 + ], + [ + 3.50543212890625, + -40.312347412109375 + ], + [ + 6.13446044921875, + -41.188690185546875 + ], + [ + 9.639892578125, + -36.806915283203125 + ], + [ + 14.02166748046875, + -21.03253173828125 + ], + [ + 14.02166748046875, + -9.639892578125 + ], + [ + 13.14532470703125, + 1.75274658203125 + ], + [ + 10.5162353515625, + 10.51629638671875 + ], + [ + 7.88720703125, + 14.8980712890625 + ], + [ + 6.13446044921875, + 16.65081787109375 + ], + [ + 2.6290283203125, + 15.7744140625 + ], + [ + 0, + 10.51629638671875 + ], + [ + -1.75274658203125, + 4.3818359375 + ], + [ + -2.62908935546875, + -8.7635498046875 + ], + [ + -2.62908935546875, + -17.527099609375 + ], + [ + -2.62908935546875, + -25.414306640625 + ], + [ + -1.75274658203125, + -31.548797607421875 + ], + [ + 0, + -34.1778564453125 + ], + [ + 0, + -35.05419921875 + ], + [ + 0.8763427734375, + -35.05419921875 + ], + [ + 0.8763427734375, + -33.301513671875 + ], + [ + 1.752685546875, + -29.79608154296875 + ], + [ + 1.752685546875, + -28.043365478515625 + ], + [ + 1.752685546875, + -28.043365478515625 + ] + ], + "pressures": [ + 0.0400390625, + 0.263671875, + 0.3359375, + 0.421875, + 0.478515625, + 0.59765625, + 0.751953125, + 0.822265625, + 0.8408203125, + 0.8427734375, + 0.8408203125, + 0.85546875, + 0.861328125, + 0.857421875, + 0.849609375, + 0.830078125, + 0.8349609375, + 0.8349609375, + 0.822265625, + 0.79296875, + 0.7724609375, + 0.7587890625, + 0.75390625, + 0.75390625, + 0.75, + 0.75, + 0.74609375, + 0.3681640625, + 0.1826171875, + 0.1201171875, + 0.0009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.752685546875, + -28.043365478515625 + ] + }, + { + "id": "Op5oBhHoin9W0GIzQteKe", + "type": "freedraw", + "x": -222.92720685686345, + "y": -184.03084346226262, + "width": 10.51629638671875, + "height": 63.097625732421875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 861261699, + "version": 710, + "versionNonce": 567226339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + -6.134521484375 + ], + [ + -3.50543212890625, + -14.021728515625 + ], + [ + -3.50543212890625, + -23.66162109375 + ], + [ + -2.62908935546875, + -33.301544189453125 + ], + [ + -0.8763427734375, + -42.065093994140625 + ], + [ + 2.62908935546875, + -48.1995849609375 + ], + [ + 3.50543212890625, + -49.075958251953125 + ], + [ + 4.38177490234375, + -49.075958251953125 + ], + [ + 5.25811767578125, + -44.694183349609375 + ], + [ + 7.0108642578125, + -28.919769287109375 + ], + [ + 7.0108642578125, + -14.021728515625 + ], + [ + 6.13446044921875, + 0.8763427734375 + ], + [ + 5.25811767578125, + 10.5162353515625 + ], + [ + 4.38177490234375, + 13.14532470703125 + ], + [ + 4.38177490234375, + 14.02166748046875 + ], + [ + 4.38177490234375, + 12.26898193359375 + ], + [ + 2.62908935546875, + 7.88720703125 + ], + [ + 0.8763427734375, + 0.8763427734375 + ], + [ + 0, + -11.39263916015625 + ], + [ + -0.8763427734375, + -21.032562255859375 + ], + [ + -0.8763427734375, + -29.796112060546875 + ], + [ + 0, + -37.683319091796875 + ], + [ + 0.8763427734375, + -42.065093994140625 + ], + [ + 1.752685546875, + -42.94146728515625 + ], + [ + 2.62908935546875, + -42.94146728515625 + ], + [ + 3.50543212890625, + -42.94146728515625 + ], + [ + 3.50543212890625, + -42.94146728515625 + ] + ], + "pressures": [ + 0.033203125, + 0.37890625, + 0.6015625, + 0.791015625, + 0.8828125, + 0.921875, + 0.92578125, + 0.9189453125, + 0.9111328125, + 0.923828125, + 0.9365234375, + 0.9296875, + 0.8935546875, + 0.8408203125, + 0.8203125, + 0.8173828125, + 0.791015625, + 0.7744140625, + 0.791015625, + 0.8076171875, + 0.796875, + 0.7626953125, + 0.705078125, + 0.55078125, + 0.3583984375, + 0.1630859375, + 0.03515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.50543212890625, + -42.94146728515625 + ] + }, + { + "id": "n0SWXbLK59lIdYN0qo9f-", + "type": "freedraw", + "x": -225.5562962123322, + "y": -180.52541133335637, + "width": 11.39263916015625, + "height": 67.47943115234375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 731143523, + "version": 705, + "versionNonce": 166097869, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + -6.134521484375 + ], + [ + -2.62908935546875, + -16.65081787109375 + ], + [ + -2.62908935546875, + -26.29071044921875 + ], + [ + -0.8763427734375, + -37.683319091796875 + ], + [ + 1.75274658203125, + -45.570526123046875 + ], + [ + 4.38177490234375, + -50.82867431640625 + ], + [ + 5.2581787109375, + -51.70501708984375 + ], + [ + 7.0108642578125, + -47.3232421875 + ], + [ + 7.0108642578125, + -42.94146728515625 + ], + [ + 1.75274658203125, + 7.01080322265625 + ], + [ + -0.8763427734375, + 14.89801025390625 + ], + [ + -1.752685546875, + 15.7744140625 + ], + [ + -2.62908935546875, + 13.14532470703125 + ], + [ + -4.38177490234375, + 6.13446044921875 + ], + [ + -4.38177490234375, + -9.63995361328125 + ], + [ + -3.50537109375, + -22.7852783203125 + ], + [ + -2.62908935546875, + -33.301544189453125 + ], + [ + -0.8763427734375, + -41.188751220703125 + ], + [ + 0, + -44.694183349609375 + ], + [ + 0.87640380859375, + -44.694183349609375 + ], + [ + 1.75274658203125, + -44.694183349609375 + ], + [ + 1.75274658203125, + -44.694183349609375 + ] + ], + "pressures": [ + 0.0908203125, + 0.287109375, + 0.5146484375, + 0.6904296875, + 0.787109375, + 0.8427734375, + 0.8720703125, + 0.8740234375, + 0.8916015625, + 0.900390625, + 0.8701171875, + 0.8720703125, + 0.8720703125, + 0.859375, + 0.849609375, + 0.82421875, + 0.8115234375, + 0.802734375, + 0.7685546875, + 0.6533203125, + 0.572265625, + 0.2685546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.75274658203125, + -44.694183349609375 + ] + }, + { + "id": "ghZY3cToN3laE-OEFilF-", + "type": "freedraw", + "x": -224.67989240373845, + "y": -184.03084346226262, + "width": 10.51629638671875, + "height": 64.85037231445312, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 984148813, + "version": 709, + "versionNonce": 1153776515, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558537, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.5054931640625, + -7.0108642578125 + ], + [ + -3.5054931640625, + -21.032562255859375 + ], + [ + -3.5054931640625, + -31.548828125 + ], + [ + -2.62908935546875, + -39.43603515625 + ], + [ + -0.87640380859375, + -44.694183349609375 + ], + [ + -0.87640380859375, + -45.570526123046875 + ], + [ + 0.8763427734375, + -45.570526123046875 + ], + [ + 2.6290283203125, + -43.81781005859375 + ], + [ + 5.25811767578125, + -36.806976318359375 + ], + [ + 7.01080322265625, + -14.8980712890625 + ], + [ + 7.01080322265625, + -6.134521484375 + ], + [ + 6.13446044921875, + 12.26898193359375 + ], + [ + 5.25811767578125, + 17.527099609375 + ], + [ + 4.38177490234375, + 19.27984619140625 + ], + [ + 3.50537109375, + 19.27984619140625 + ], + [ + 1.752685546875, + 14.89801025390625 + ], + [ + 0, + 8.7635498046875 + ], + [ + -1.75274658203125, + -0.8763427734375 + ], + [ + -2.62908935546875, + -11.39263916015625 + ], + [ + -2.62908935546875, + -28.04339599609375 + ], + [ + -2.62908935546875, + -35.93060302734375 + ], + [ + -1.75274658203125, + -39.43603515625 + ], + [ + -1.75274658203125, + -40.312408447265625 + ], + [ + -0.87640380859375, + -40.312408447265625 + ], + [ + 0, + -39.43603515625 + ], + [ + 0, + -39.43603515625 + ] + ], + "pressures": [ + 0.05078125, + 0.4609375, + 0.6806640625, + 0.7646484375, + 0.8056640625, + 0.83203125, + 0.83203125, + 0.83203125, + 0.8388671875, + 0.8388671875, + 0.7724609375, + 0.748046875, + 0.703125, + 0.6904296875, + 0.6943359375, + 0.6953125, + 0.697265625, + 0.6865234375, + 0.66015625, + 0.6064453125, + 0.541015625, + 0.4765625, + 0.4091796875, + 0.3779296875, + 0.244140625, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + -39.43603515625 + ] + }, + { + "id": "AX8V85haI6GJVjK3x2wKb", + "type": "freedraw", + "x": -226.4326389857697, + "y": -184.03084346226262, + "width": 9.63995361328125, + "height": 70.1085205078125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1431476803, + "version": 709, + "versionNonce": 1105228333, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + -9.63995361328125 + ], + [ + -1.75274658203125, + -17.52716064453125 + ], + [ + -1.75274658203125, + -26.29071044921875 + ], + [ + -0.8763427734375, + -34.177886962890625 + ], + [ + 2.62908935546875, + -43.81781005859375 + ], + [ + 4.38177490234375, + -46.4468994140625 + ], + [ + 5.25811767578125, + -46.4468994140625 + ], + [ + 7.0108642578125, + -42.065093994140625 + ], + [ + 7.88720703125, + -25.414337158203125 + ], + [ + 7.0108642578125, + -7.88720703125 + ], + [ + 5.25811767578125, + 7.88720703125 + ], + [ + 2.62908935546875, + 17.527099609375 + ], + [ + 0.8763427734375, + 23.66162109375 + ], + [ + 0.8763427734375, + 18.4034423828125 + ], + [ + 0, + 9.639892578125 + ], + [ + 0, + -2.62908935546875 + ], + [ + 0, + -22.7852783203125 + ], + [ + 0, + -32.425201416015625 + ], + [ + 0.8763427734375, + -37.683319091796875 + ], + [ + 0.8763427734375, + -38.5596923828125 + ], + [ + 1.75274658203125, + -38.5596923828125 + ], + [ + 1.75274658203125, + -38.5596923828125 + ] + ], + "pressures": [ + 0.076171875, + 0.369140625, + 0.529296875, + 0.724609375, + 0.900390625, + 1, + 1, + 1, + 1, + 1, + 0.9619140625, + 0.8662109375, + 0.82421875, + 0.82421875, + 0.828125, + 0.8173828125, + 0.8056640625, + 0.7783203125, + 0.744140625, + 0.626953125, + 0.453125, + 0.271484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.75274658203125, + -38.5596923828125 + ] + }, + { + "id": "iRYhXWsadwO_Md-Ub1wLV", + "type": "freedraw", + "x": -191.37837873186345, + "y": -189.28902217320012, + "width": 24.53802490234375, + "height": 45.570526123046875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1939779011, + "version": 703, + "versionNonce": 540594979, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + -5.25811767578125 + ], + [ + -2.62908935546875, + -8.7635498046875 + ], + [ + -2.62908935546875, + -18.4034423828125 + ], + [ + -0.87640380859375, + -23.661590576171875 + ], + [ + 1.752685546875, + -27.167022705078125 + ], + [ + 4.38177490234375, + -27.167022705078125 + ], + [ + 7.88720703125, + -27.167022705078125 + ], + [ + 14.02166748046875, + -19.279815673828125 + ], + [ + 17.527099609375, + -11.392578125 + ], + [ + 19.27978515625, + -1.752685546875 + ], + [ + 20.15618896484375, + 7.0108642578125 + ], + [ + 19.27978515625, + 14.8980712890625 + ], + [ + 17.527099609375, + 16.65081787109375 + ], + [ + 14.89801025390625, + 18.40350341796875 + ], + [ + 11.392578125, + 18.40350341796875 + ], + [ + 7.88720703125, + 18.40350341796875 + ], + [ + 1.752685546875, + 16.65081787109375 + ], + [ + -0.87640380859375, + 14.021728515625 + ], + [ + -3.50543212890625, + 11.39263916015625 + ], + [ + -4.3818359375, + 7.88720703125 + ], + [ + -4.3818359375, + 4.3818359375 + ], + [ + -4.3818359375, + 3.50543212890625 + ], + [ + -3.50543212890625, + 3.50543212890625 + ], + [ + -2.62908935546875, + 3.50543212890625 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0869140625, + 0.41796875, + 0.4931640625, + 0.5966796875, + 0.6640625, + 0.7109375, + 0.73046875, + 0.74609375, + 0.791015625, + 0.849609375, + 0.861328125, + 0.8701171875, + 0.884765625, + 0.8984375, + 0.90234375, + 0.90234375, + 0.8935546875, + 0.830078125, + 0.7421875, + 0.6357421875, + 0.5205078125, + 0.2626953125, + 0.20703125, + 0.099609375, + 0.0283203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.62908935546875, + 3.50543212890625 + ] + }, + { + "id": "reM-ZGTnkjE7zIoqc9bbM", + "type": "freedraw", + "x": -172.97493634905095, + "y": -170.88551875523137, + "width": 20.15618896484375, + "height": 37.683319091796875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1796003555, + "version": 710, + "versionNonce": 986424461, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.8763427734375 + ], + [ + -0.8763427734375, + 0 + ], + [ + -2.62908935546875, + -2.62908935546875 + ], + [ + -4.38177490234375, + -7.0108642578125 + ], + [ + -6.13446044921875, + -11.39263916015625 + ], + [ + -7.0108642578125, + -16.6507568359375 + ], + [ + -7.88720703125, + -20.15618896484375 + ], + [ + -7.88720703125, + -24.5379638671875 + ], + [ + -7.88720703125, + -28.91973876953125 + ], + [ + -7.0108642578125, + -32.4251708984375 + ], + [ + -6.13446044921875, + -34.177886962890625 + ], + [ + -3.50543212890625, + -34.177886962890625 + ], + [ + -0.8763427734375, + -34.177886962890625 + ], + [ + 3.50543212890625, + -31.548828125 + ], + [ + 8.7635498046875, + -23.66162109375 + ], + [ + 11.39263916015625, + -17.527099609375 + ], + [ + 12.26898193359375, + -10.51629638671875 + ], + [ + 11.39263916015625, + -4.38177490234375 + ], + [ + 9.63995361328125, + 0.8763427734375 + ], + [ + 7.0108642578125, + 2.62908935546875 + ], + [ + 1.75274658203125, + 3.50543212890625 + ], + [ + -0.8763427734375, + 3.50543212890625 + ], + [ + -4.38177490234375, + 1.752685546875 + ], + [ + -7.0108642578125, + -1.752685546875 + ], + [ + -7.88720703125, + -4.38177490234375 + ], + [ + -7.88720703125, + -6.134521484375 + ], + [ + -7.88720703125, + -7.88720703125 + ], + [ + -6.13446044921875, + -8.7635498046875 + ], + [ + -4.38177490234375, + -9.639892578125 + ], + [ + -3.50543212890625, + -11.39263916015625 + ], + [ + -2.62908935546875, + -11.39263916015625 + ], + [ + -1.752685546875, + -11.39263916015625 + ], + [ + -1.752685546875, + -11.39263916015625 + ] + ], + "pressures": [ + 0.0283203125, + 0.3115234375, + 0.49609375, + 0.6337890625, + 0.6953125, + 0.794921875, + 0.947265625, + 1, + 1, + 1, + 0.990234375, + 0.9775390625, + 0.96875, + 0.96875, + 0.9580078125, + 0.9169921875, + 0.900390625, + 0.8935546875, + 0.8896484375, + 0.8828125, + 0.884765625, + 0.880859375, + 0.880859375, + 0.8642578125, + 0.828125, + 0.8056640625, + 0.791015625, + 0.734375, + 0.57421875, + 0.384765625, + 0.2822265625, + 0.203125, + 0.126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.752685546875, + -11.39263916015625 + ] + }, + { + "id": "x2pVBvahDwmzoV7OTb5jr", + "type": "freedraw", + "x": -172.97493634905095, + "y": -170.00917598179387, + "width": 13.1453857421875, + "height": 28.04339599609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 165473485, + "version": 707, + "versionNonce": 1687713475, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -1.752685546875 + ], + [ + -0.8763427734375, + -7.0108642578125 + ], + [ + -0.8763427734375, + -16.6507568359375 + ], + [ + 0, + -21.90887451171875 + ], + [ + 0.8763427734375, + -25.414306640625 + ], + [ + 1.75274658203125, + -27.16705322265625 + ], + [ + 1.75274658203125, + -28.04339599609375 + ], + [ + 3.50543212890625, + -28.04339599609375 + ], + [ + 6.134521484375, + -27.16705322265625 + ], + [ + 7.88720703125, + -25.414306640625 + ], + [ + 8.7635498046875, + -23.66162109375 + ], + [ + 9.63995361328125, + -17.527099609375 + ], + [ + 9.63995361328125, + -13.14532470703125 + ], + [ + 8.7635498046875, + -9.639892578125 + ], + [ + 6.134521484375, + -5.25811767578125 + ], + [ + 4.38177490234375, + -3.50543212890625 + ], + [ + 1.75274658203125, + -0.8763427734375 + ], + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -1.752685546875, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + -3.50543212890625, + -0.8763427734375 + ], + [ + -3.50543212890625, + -3.50543212890625 + ], + [ + -3.50543212890625, + -7.0108642578125 + ], + [ + -2.62908935546875, + -8.7635498046875 + ], + [ + -2.62908935546875, + -10.5162353515625 + ], + [ + -1.752685546875, + -11.39263916015625 + ], + [ + -1.752685546875, + -12.26898193359375 + ], + [ + -0.8763427734375, + -12.26898193359375 + ], + [ + -0.8763427734375, + -12.26898193359375 + ] + ], + "pressures": [ + 0.037109375, + 0.5126953125, + 0.6865234375, + 0.8916015625, + 0.966796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.796875, + 0.576171875, + 0.3544921875, + 0.2177734375, + 0.13671875, + 0.080078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.8763427734375, + -12.26898193359375 + ] + }, + { + "id": "lO2DzxlLRz4LhX0HJ_avu", + "type": "freedraw", + "x": -172.97493634905095, + "y": -173.51460811070012, + "width": 21.03253173828125, + "height": 32.42523193359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 317583981, + "version": 709, + "versionNonce": 677481197, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + -4.38177490234375 + ], + [ + -3.50543212890625, + -6.13446044921875 + ], + [ + -3.50543212890625, + -8.7635498046875 + ], + [ + -3.50543212890625, + -10.5162353515625 + ], + [ + -0.8763427734375, + -14.89801025390625 + ], + [ + 0.8763427734375, + -18.4034423828125 + ], + [ + 2.62908935546875, + -21.90887451171875 + ], + [ + 5.25811767578125, + -23.66162109375 + ], + [ + 7.0108642578125, + -23.66162109375 + ], + [ + 10.51629638671875, + -21.90887451171875 + ], + [ + 13.14532470703125, + -18.4034423828125 + ], + [ + 14.8980712890625, + -13.14532470703125 + ], + [ + 15.7744140625, + -7.88720703125 + ], + [ + 14.8980712890625, + -2.6290283203125 + ], + [ + 11.39263916015625, + 0.87640380859375 + ], + [ + 7.88720703125, + 3.50543212890625 + ], + [ + 3.50543212890625, + 6.134521484375 + ], + [ + 0, + 7.88720703125 + ], + [ + -1.752685546875, + 8.76361083984375 + ], + [ + -2.62908935546875, + 8.76361083984375 + ], + [ + -3.50543212890625, + 7.0108642578125 + ], + [ + -4.38177490234375, + 5.2581787109375 + ], + [ + -5.25811767578125, + 3.50543212890625 + ], + [ + -5.25811767578125, + 1.75274658203125 + ], + [ + -4.38177490234375, + 0 + ], + [ + -2.62908935546875, + -3.50543212890625 + ], + [ + -1.752685546875, + -7.01080322265625 + ], + [ + -0.8763427734375, + -10.5162353515625 + ], + [ + -0.8763427734375, + -11.392578125 + ], + [ + 0, + -11.392578125 + ], + [ + 0.8763427734375, + -11.392578125 + ], + [ + 0.8763427734375, + -11.392578125 + ] + ], + "pressures": [ + 0.01171875, + 0.2080078125, + 0.25, + 0.3232421875, + 0.3681640625, + 0.50390625, + 0.7109375, + 0.859375, + 0.9150390625, + 0.931640625, + 0.96484375, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.9189453125, + 0.794921875, + 0.72265625, + 0.6787109375, + 0.59765625, + 0.4560546875, + 0.3583984375, + 0.2705078125, + 0.2490234375, + 0.185546875, + 0.1435546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.8763427734375, + -11.392578125 + ] + }, + { + "id": "YtnYttGsQF8-AzrWwdPDQ", + "type": "freedraw", + "x": -173.85127912248845, + "y": -221.7141625540595, + "width": 23.66162109375, + "height": 49.075927734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1498817133, + "version": 713, + "versionNonce": 813868643, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + 0 + ], + [ + -2.62908935546875, + 3.50543212890625 + ], + [ + -3.50543212890625, + 8.7635498046875 + ], + [ + -6.134521484375, + 19.279815673828125 + ], + [ + -7.88720703125, + 25.414337158203125 + ], + [ + -8.7635498046875, + 30.672454833984375 + ], + [ + -8.7635498046875, + 35.054229736328125 + ], + [ + -8.7635498046875, + 37.683319091796875 + ], + [ + -7.88720703125, + 39.436004638671875 + ], + [ + -5.25811767578125, + 39.436004638671875 + ], + [ + -2.62908935546875, + 38.559661865234375 + ], + [ + 0, + 35.054229736328125 + ], + [ + 5.25811767578125, + 27.167022705078125 + ], + [ + 7.0108642578125, + 20.156158447265625 + ], + [ + 7.88720703125, + 14.021697998046875 + ], + [ + 7.88720703125, + 8.7635498046875 + ], + [ + 7.0108642578125, + 3.50543212890625 + ], + [ + 6.13446044921875, + 0.8763427734375 + ], + [ + 3.50543212890625, + -2.62908935546875 + ], + [ + 0, + -6.134490966796875 + ], + [ + -2.62908935546875, + -7.88720703125 + ], + [ + -7.0108642578125, + -9.639923095703125 + ], + [ + -8.7635498046875, + -9.639923095703125 + ], + [ + -11.39263916015625, + -8.763580322265625 + ], + [ + -13.14532470703125, + -6.134490966796875 + ], + [ + -14.8980712890625, + -1.752716064453125 + ], + [ + -15.7744140625, + 7.010833740234375 + ], + [ + -15.7744140625, + 14.021697998046875 + ], + [ + -15.7744140625, + 20.156158447265625 + ], + [ + -14.8980712890625, + 23.661590576171875 + ], + [ + -12.26898193359375, + 26.290679931640625 + ], + [ + -11.39263916015625, + 27.167022705078125 + ], + [ + -10.51629638671875, + 26.290679931640625 + ], + [ + -9.639892578125, + 23.661590576171875 + ], + [ + -9.639892578125, + 22.785247802734375 + ], + [ + -9.639892578125, + 22.785247802734375 + ] + ], + "pressures": [ + 0.0166015625, + 0.2080078125, + 0.22265625, + 0.2529296875, + 0.3349609375, + 0.384765625, + 0.42578125, + 0.453125, + 0.48046875, + 0.4990234375, + 0.5048828125, + 0.5078125, + 0.515625, + 0.541015625, + 0.6025390625, + 0.736328125, + 0.828125, + 0.8955078125, + 0.9111328125, + 0.9111328125, + 0.900390625, + 0.880859375, + 0.861328125, + 0.85546875, + 0.8408203125, + 0.8095703125, + 0.796875, + 0.7607421875, + 0.6845703125, + 0.583984375, + 0.4619140625, + 0.259765625, + 0.185546875, + 0.134765625, + 0.0654296875, + 0.0224609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -9.639892578125, + 22.785247802734375 + ] + }, + { + "id": "MzFxdUpQ5FM8Nk7EuokPH", + "type": "freedraw", + "x": -179.1093967982697, + "y": -227.84865352085637, + "width": 17.527099609375, + "height": 49.952301025390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2029280045, + "version": 706, + "versionNonce": 187409741, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + 1.752716064453125 + ], + [ + -3.50543212890625, + 6.134490966796875 + ], + [ + -5.2581787109375, + 14.021697998046875 + ], + [ + -7.88720703125, + 23.661590576171875 + ], + [ + -9.63995361328125, + 32.4251708984375 + ], + [ + -9.63995361328125, + 40.3123779296875 + ], + [ + -8.76361083984375, + 42.94146728515625 + ], + [ + -6.134521484375, + 43.81781005859375 + ], + [ + -3.50543212890625, + 43.81781005859375 + ], + [ + 0.8763427734375, + 38.55963134765625 + ], + [ + 3.50537109375, + 32.4251708984375 + ], + [ + 5.25811767578125, + 24.5379638671875 + ], + [ + 5.25811767578125, + 17.527099609375 + ], + [ + 5.25811767578125, + 11.392608642578125 + ], + [ + 4.38177490234375, + 5.25811767578125 + ], + [ + 2.6290283203125, + 0.8763427734375 + ], + [ + 0, + -3.50543212890625 + ], + [ + -1.75274658203125, + -5.258148193359375 + ], + [ + -3.50543212890625, + -6.134490966796875 + ], + [ + -5.2581787109375, + -3.50543212890625 + ], + [ + -7.0108642578125, + 1.752716064453125 + ], + [ + -8.76361083984375, + 8.7635498046875 + ], + [ + -9.63995361328125, + 17.527099609375 + ], + [ + -11.39263916015625, + 32.4251708984375 + ], + [ + -12.26898193359375, + 38.55963134765625 + ], + [ + -12.26898193359375, + 40.3123779296875 + ], + [ + -11.39263916015625, + 39.43603515625 + ], + [ + -11.39263916015625, + 38.55963134765625 + ], + [ + -11.39263916015625, + 38.55963134765625 + ] + ], + "pressures": [ + 0.0126953125, + 0.3271484375, + 0.400390625, + 0.482421875, + 0.6025390625, + 0.6923828125, + 0.7744140625, + 0.78515625, + 0.78515625, + 0.78515625, + 0.78515625, + 0.7890625, + 0.802734375, + 0.82421875, + 0.828125, + 0.8134765625, + 0.794921875, + 0.7744140625, + 0.7685546875, + 0.7705078125, + 0.7705078125, + 0.75390625, + 0.673828125, + 0.58203125, + 0.4619140625, + 0.3330078125, + 0.2626953125, + 0.111328125, + 0.0341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -11.39263916015625, + 38.55963134765625 + ] + }, + { + "id": "yxBrtfCRujhBFKq-tAs5x", + "type": "freedraw", + "x": -222.92720685686345, + "y": -168.25642939976262, + "width": 16.6507568359375, + "height": 74.49026489257812, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 200489453, + "version": 689, + "versionNonce": 1254482435, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -0.87640380859375 + ], + [ + -5.2581787109375, + -2.62908935546875 + ], + [ + -7.0108642578125, + -28.04339599609375 + ], + [ + -7.0108642578125, + -43.81781005859375 + ], + [ + -0.8763427734375, + -56.963165283203125 + ], + [ + 4.38177490234375, + -55.21044921875 + ], + [ + 5.25811767578125, + -46.4468994140625 + ], + [ + 5.25811767578125, + -34.17791748046875 + ], + [ + 0, + -10.51629638671875 + ], + [ + -3.50543212890625, + 4.38177490234375 + ], + [ + -6.13446044921875, + 14.89801025390625 + ], + [ + -7.0108642578125, + 17.527099609375 + ], + [ + -7.88720703125, + 15.7744140625 + ], + [ + -8.7635498046875, + 3.50543212890625 + ], + [ + -10.5162353515625, + -7.0108642578125 + ], + [ + -11.39263916015625, + -21.0325927734375 + ], + [ + -11.39263916015625, + -35.930633544921875 + ], + [ + -11.39263916015625, + -51.70501708984375 + ], + [ + -10.5162353515625, + -56.086822509765625 + ], + [ + -9.63995361328125, + -56.086822509765625 + ], + [ + -8.7635498046875, + -55.21044921875 + ], + [ + -8.7635498046875, + -53.457733154296875 + ], + [ + -8.7635498046875, + -53.457733154296875 + ] + ], + "pressures": [ + 0.07421875, + 0.14453125, + 0.1513671875, + 0.2265625, + 0.2412109375, + 0.2431640625, + 0.2421875, + 0.2392578125, + 0.2265625, + 0.2275390625, + 0.228515625, + 0.2294921875, + 0.2333984375, + 0.234375, + 0.23828125, + 0.24609375, + 0.24609375, + 0.24609375, + 0.2431640625, + 0.236328125, + 0.224609375, + 0.1279296875, + 0.0009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -8.7635498046875, + -53.457733154296875 + ] + }, + { + "id": "pOQa388-4jj23QtBZWiwa", + "type": "freedraw", + "x": -227.3089817592072, + "y": -173.51460811070012, + "width": 14.021728515625, + "height": 82.37750244140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1342743587, + "version": 694, + "versionNonce": 377713581, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + -8.7635498046875 + ], + [ + -2.62908935546875, + -16.6507568359375 + ], + [ + -2.62908935546875, + -29.79608154296875 + ], + [ + 0, + -49.9522705078125 + ], + [ + 1.752685546875, + -58.7158203125 + ], + [ + 3.50543212890625, + -61.34490966796875 + ], + [ + 4.38177490234375, + -61.34490966796875 + ], + [ + 6.13446044921875, + -56.086761474609375 + ], + [ + 8.7635498046875, + -44.694122314453125 + ], + [ + 10.5162353515625, + -28.04339599609375 + ], + [ + 11.39263916015625, + -8.7635498046875 + ], + [ + 11.39263916015625, + 7.0108642578125 + ], + [ + 9.639892578125, + 19.27984619140625 + ], + [ + 7.88720703125, + 21.0325927734375 + ], + [ + 6.13446044921875, + 21.0325927734375 + ], + [ + 4.38177490234375, + 16.65081787109375 + ], + [ + 1.752685546875, + 7.0108642578125 + ], + [ + 0, + -0.8763427734375 + ], + [ + -1.752685546875, + -10.5162353515625 + ], + [ + -2.62908935546875, + -23.66162109375 + ], + [ + -2.62908935546875, + -35.930572509765625 + ], + [ + -2.62908935546875, + -46.44683837890625 + ], + [ + -1.752685546875, + -48.199554443359375 + ], + [ + -0.87640380859375, + -48.199554443359375 + ], + [ + -0.87640380859375, + -47.323211669921875 + ], + [ + 0.8763427734375, + -46.44683837890625 + ], + [ + 1.752685546875, + -46.44683837890625 + ], + [ + 1.752685546875, + -46.44683837890625 + ] + ], + "pressures": [ + 0.05859375, + 0.2236328125, + 0.2509765625, + 0.271484375, + 0.2841796875, + 0.283203125, + 0.2763671875, + 0.2685546875, + 0.267578125, + 0.265625, + 0.263671875, + 0.25, + 0.232421875, + 0.234375, + 0.2373046875, + 0.2392578125, + 0.23828125, + 0.236328125, + 0.2373046875, + 0.2412109375, + 0.2431640625, + 0.2431640625, + 0.23828125, + 0.228515625, + 0.177734375, + 0.150390625, + 0.08984375, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.752685546875, + -46.44683837890625 + ] + }, + { + "id": "FAZrqbCqozsjgRYHII-RM", + "type": "freedraw", + "x": -229.93807111467595, + "y": -182.27815791538762, + "width": 15.7744140625, + "height": 70.98483276367188, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1447753667, + "version": 692, + "versionNonce": 476096931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -8.7635498046875 + ], + [ + 0.87640380859375, + -24.5379638671875 + ], + [ + 2.62908935546875, + -34.177886962890625 + ], + [ + 5.2581787109375, + -42.065093994140625 + ], + [ + 7.88720703125, + -47.323211669921875 + ], + [ + 9.63995361328125, + -50.828643798828125 + ], + [ + 11.39263916015625, + -51.704986572265625 + ], + [ + 12.26898193359375, + -49.9522705078125 + ], + [ + 14.021728515625, + -42.941436767578125 + ], + [ + 15.7744140625, + -30.672454833984375 + ], + [ + 14.021728515625, + -7.0108642578125 + ], + [ + 11.39263916015625, + 7.88720703125 + ], + [ + 8.7635498046875, + 16.6507568359375 + ], + [ + 7.88720703125, + 19.27984619140625 + ], + [ + 7.0108642578125, + 19.27984619140625 + ], + [ + 7.0108642578125, + 17.52716064453125 + ], + [ + 5.2581787109375, + 9.63995361328125 + ], + [ + 4.38177490234375, + 1.75274658203125 + ], + [ + 4.38177490234375, + -8.7635498046875 + ], + [ + 3.50543212890625, + -28.04339599609375 + ], + [ + 4.38177490234375, + -37.68328857421875 + ], + [ + 5.2581787109375, + -43.817779541015625 + ], + [ + 6.134521484375, + -46.446868896484375 + ], + [ + 6.134521484375, + -47.323211669921875 + ], + [ + 6.134521484375, + -45.57049560546875 + ], + [ + 6.134521484375, + -45.57049560546875 + ] + ], + "pressures": [ + 0.0712890625, + 0.2177734375, + 0.291015625, + 0.326171875, + 0.326171875, + 0.32421875, + 0.3193359375, + 0.30859375, + 0.2958984375, + 0.2939453125, + 0.2744140625, + 0.2412109375, + 0.234375, + 0.2490234375, + 0.263671875, + 0.279296875, + 0.27734375, + 0.2685546875, + 0.2646484375, + 0.2626953125, + 0.2578125, + 0.2470703125, + 0.2216796875, + 0.181640625, + 0.1669921875, + 0.1044921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.134521484375, + -45.57049560546875 + ] + }, + { + "id": "0Mw33e9H4uKae15VCCEl3", + "type": "freedraw", + "x": -226.4326389857697, + "y": -175.26729365757512, + "width": 14.8980712890625, + "height": 70.98486328125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1129301955, + "version": 695, + "versionNonce": 1452439053, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + -5.25811767578125 + ], + [ + -3.50543212890625, + -12.26898193359375 + ], + [ + -4.38177490234375, + -16.6507568359375 + ], + [ + -4.38177490234375, + -23.66162109375 + ], + [ + -4.38177490234375, + -32.4251708984375 + ], + [ + -1.75274658203125, + -41.188751220703125 + ], + [ + 1.75274658203125, + -48.1995849609375 + ], + [ + 5.25811767578125, + -51.70501708984375 + ], + [ + 7.0108642578125, + -50.828643798828125 + ], + [ + 8.7635498046875, + -46.446868896484375 + ], + [ + 10.51629638671875, + -35.05426025390625 + ], + [ + 10.51629638671875, + -23.66162109375 + ], + [ + 10.51629638671875, + -11.39263916015625 + ], + [ + 7.88720703125, + 0 + ], + [ + 4.38177490234375, + 10.51629638671875 + ], + [ + 1.75274658203125, + 16.6507568359375 + ], + [ + -0.8763427734375, + 19.27984619140625 + ], + [ + -1.75274658203125, + 18.40350341796875 + ], + [ + -2.6290283203125, + 13.14532470703125 + ], + [ + -3.50543212890625, + 3.50543212890625 + ], + [ + -4.38177490234375, + -5.25811767578125 + ], + [ + -4.38177490234375, + -17.527099609375 + ], + [ + -3.50543212890625, + -30.672454833984375 + ], + [ + -2.6290283203125, + -40.3123779296875 + ], + [ + -1.75274658203125, + -44.69415283203125 + ], + [ + -0.8763427734375, + -45.570526123046875 + ], + [ + -0.8763427734375, + -44.69415283203125 + ], + [ + 0, + -43.81781005859375 + ], + [ + 0, + -43.81781005859375 + ] + ], + "pressures": [ + 0.0634765625, + 0.1728515625, + 0.236328125, + 0.2978515625, + 0.3388671875, + 0.353515625, + 0.353515625, + 0.353515625, + 0.3369140625, + 0.3056640625, + 0.3056640625, + 0.28515625, + 0.2763671875, + 0.26171875, + 0.255859375, + 0.2490234375, + 0.2470703125, + 0.2509765625, + 0.2509765625, + 0.2509765625, + 0.251953125, + 0.25390625, + 0.25390625, + 0.251953125, + 0.2470703125, + 0.232421875, + 0.177734375, + 0.0986328125, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + -43.81781005859375 + ] + }, + { + "id": "EdB5MGgHXP8FSDRQCSXpV", + "type": "freedraw", + "x": -226.4326389857697, + "y": -181.40181514195012, + "width": 10.51629638671875, + "height": 76.24298095703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2019046477, + "version": 694, + "versionNonce": 1786871107, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -7.88720703125 + ], + [ + -1.75274658203125, + -14.89801025390625 + ], + [ + -1.75274658203125, + -23.661590576171875 + ], + [ + -1.75274658203125, + -34.1778564453125 + ], + [ + 1.75274658203125, + -47.323211669921875 + ], + [ + 3.50543212890625, + -54.33404541015625 + ], + [ + 5.25811767578125, + -57.8394775390625 + ], + [ + 6.134521484375, + -57.8394775390625 + ], + [ + 7.0108642578125, + -51.704986572265625 + ], + [ + 7.88720703125, + -42.941436767578125 + ], + [ + 8.7635498046875, + -30.67242431640625 + ], + [ + 8.7635498046875, + -14.89801025390625 + ], + [ + 8.7635498046875, + -0.8763427734375 + ], + [ + 7.0108642578125, + 14.021728515625 + ], + [ + 6.134521484375, + 18.40350341796875 + ], + [ + 5.25811767578125, + 18.40350341796875 + ], + [ + 4.38177490234375, + 16.65081787109375 + ], + [ + 2.62908935546875, + 8.76361083984375 + ], + [ + 0.8763427734375, + 1.75274658203125 + ], + [ + 0, + -7.01080322265625 + ], + [ + 0, + -15.7744140625 + ], + [ + 0, + -23.661590576171875 + ], + [ + 0, + -31.548797607421875 + ], + [ + 0.8763427734375, + -33.301513671875 + ], + [ + 0.8763427734375, + -34.1778564453125 + ], + [ + 1.75274658203125, + -34.1778564453125 + ], + [ + 2.62908935546875, + -34.1778564453125 + ], + [ + 2.62908935546875, + -34.1778564453125 + ] + ], + "pressures": [ + 0.068359375, + 0.2080078125, + 0.23828125, + 0.2734375, + 0.30078125, + 0.3125, + 0.314453125, + 0.3134765625, + 0.3046875, + 0.3017578125, + 0.2734375, + 0.267578125, + 0.2578125, + 0.251953125, + 0.2509765625, + 0.2529296875, + 0.259765625, + 0.259765625, + 0.2578125, + 0.2578125, + 0.2578125, + 0.2568359375, + 0.2548828125, + 0.2275390625, + 0.19140625, + 0.173828125, + 0.1455078125, + 0.009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.62908935546875, + -34.1778564453125 + ] + }, + { + "id": "xFlPUxobX_QAaz0Boklk1", + "type": "freedraw", + "x": -227.3089817592072, + "y": -179.64906855991887, + "width": 11.39263916015625, + "height": 63.973968505859375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1533694637, + "version": 693, + "versionNonce": 374484077, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.50543212890625 + ], + [ + -0.87640380859375, + -12.26898193359375 + ], + [ + -0.87640380859375, + -21.908935546875 + ], + [ + -0.87640380859375, + -32.4251708984375 + ], + [ + 0.8763427734375, + -42.065093994140625 + ], + [ + 4.38177490234375, + -51.70501708984375 + ], + [ + 5.25811767578125, + -53.457733154296875 + ], + [ + 6.13446044921875, + -52.58135986328125 + ], + [ + 7.88720703125, + -49.075958251953125 + ], + [ + 9.639892578125, + -42.065093994140625 + ], + [ + 10.5162353515625, + -24.537994384765625 + ], + [ + 10.5162353515625, + -10.51629638671875 + ], + [ + 8.7635498046875, + 0 + ], + [ + 7.0108642578125, + 6.13446044921875 + ], + [ + 6.13446044921875, + 9.639892578125 + ], + [ + 6.13446044921875, + 10.5162353515625 + ], + [ + 5.25811767578125, + 10.5162353515625 + ], + [ + 4.38177490234375, + 8.7635498046875 + ], + [ + 3.50543212890625, + 1.752685546875 + ], + [ + 1.752685546875, + -6.134521484375 + ], + [ + 0.8763427734375, + -14.021728515625 + ], + [ + 0.8763427734375, + -21.03253173828125 + ], + [ + 0.8763427734375, + -26.290679931640625 + ], + [ + 0.8763427734375, + -31.548828125 + ], + [ + 1.752685546875, + -33.301544189453125 + ], + [ + 2.62908935546875, + -34.177886962890625 + ], + [ + 2.62908935546875, + -34.177886962890625 + ] + ], + "pressures": [ + 0.0712890625, + 0.181640625, + 0.224609375, + 0.259765625, + 0.30078125, + 0.3330078125, + 0.35546875, + 0.35546875, + 0.345703125, + 0.3447265625, + 0.3447265625, + 0.2763671875, + 0.2490234375, + 0.2451171875, + 0.24609375, + 0.248046875, + 0.2548828125, + 0.2578125, + 0.2578125, + 0.259765625, + 0.2646484375, + 0.2646484375, + 0.2626953125, + 0.2607421875, + 0.2333984375, + 0.1513671875, + 0.1015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.62908935546875, + -34.177886962890625 + ] + }, + { + "id": "05A9LppCJ8oBHAPKdaifH", + "type": "freedraw", + "x": -225.5562962123322, + "y": -177.02004023960637, + "width": 10.51629638671875, + "height": 63.097625732421875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1100090019, + "version": 695, + "versionNonce": 1351015651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.87640380859375, + -11.392578125 + ], + [ + 1.75274658203125, + -20.15618896484375 + ], + [ + 2.62908935546875, + -29.79608154296875 + ], + [ + 2.62908935546875, + -36.806915283203125 + ], + [ + 2.62908935546875, + -41.188690185546875 + ], + [ + 3.50543212890625, + -42.0650634765625 + ], + [ + 4.38177490234375, + -42.94140625 + ], + [ + 5.2581787109375, + -43.817779541015625 + ], + [ + 6.134521484375, + -43.817779541015625 + ], + [ + 7.88720703125, + -40.312347412109375 + ], + [ + 8.7635498046875, + -35.05419921875 + ], + [ + 9.63995361328125, + -27.167022705078125 + ], + [ + 9.63995361328125, + -16.6507568359375 + ], + [ + 8.7635498046875, + 1.75274658203125 + ], + [ + 6.134521484375, + 11.39263916015625 + ], + [ + 5.2581787109375, + 17.52716064453125 + ], + [ + 4.38177490234375, + 19.27984619140625 + ], + [ + 3.50543212890625, + 18.40350341796875 + ], + [ + 1.75274658203125, + 13.1453857421875 + ], + [ + 0, + 7.0108642578125 + ], + [ + 0, + -0.8763427734375 + ], + [ + -0.8763427734375, + -11.392578125 + ], + [ + -0.8763427734375, + -16.6507568359375 + ], + [ + -0.8763427734375, + -21.03253173828125 + ], + [ + -0.8763427734375, + -24.5379638671875 + ], + [ + -0.8763427734375, + -26.2906494140625 + ], + [ + -0.8763427734375, + -27.167022705078125 + ], + [ + 0, + -27.167022705078125 + ], + [ + 0, + -27.167022705078125 + ] + ], + "pressures": [ + 0.068359375, + 0.2080078125, + 0.23046875, + 0.2568359375, + 0.2744140625, + 0.291015625, + 0.2978515625, + 0.2958984375, + 0.2958984375, + 0.287109375, + 0.27734375, + 0.2666015625, + 0.2578125, + 0.23828125, + 0.2275390625, + 0.23046875, + 0.2353515625, + 0.23828125, + 0.2470703125, + 0.2470703125, + 0.251953125, + 0.251953125, + 0.251953125, + 0.2509765625, + 0.2509765625, + 0.2431640625, + 0.2314453125, + 0.16796875, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + -27.167022705078125 + ] + }, + { + "id": "9kfW-VhiohZ6Yg0-BO4zo", + "type": "freedraw", + "x": -226.4326389857697, + "y": -182.27815791538762, + "width": 11.39263916015625, + "height": 63.974029541015625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1560128365, + "version": 697, + "versionNonce": 93066957, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -3.50543212890625 + ], + [ + -0.8763427734375, + -8.7635498046875 + ], + [ + -0.8763427734375, + -14.8980712890625 + ], + [ + -0.8763427734375, + -22.785247802734375 + ], + [ + -0.8763427734375, + -31.548797607421875 + ], + [ + 0.8763427734375, + -37.68328857421875 + ], + [ + 1.75274658203125, + -38.559661865234375 + ], + [ + 2.62908935546875, + -38.559661865234375 + ], + [ + 3.50543212890625, + -38.559661865234375 + ], + [ + 7.88720703125, + -36.80694580078125 + ], + [ + 9.639892578125, + -33.301513671875 + ], + [ + 10.51629638671875, + -25.414306640625 + ], + [ + 10.51629638671875, + -14.8980712890625 + ], + [ + 9.639892578125, + -1.752685546875 + ], + [ + 7.0108642578125, + 17.52716064453125 + ], + [ + 6.134521484375, + 24.5379638671875 + ], + [ + 5.25811767578125, + 25.41436767578125 + ], + [ + 4.38177490234375, + 24.5379638671875 + ], + [ + 3.50543212890625, + 20.15618896484375 + ], + [ + 1.75274658203125, + 12.26898193359375 + ], + [ + 0.8763427734375, + 7.88720703125 + ], + [ + 0, + 2.62908935546875 + ], + [ + 0, + -4.38177490234375 + ], + [ + 0, + -15.7744140625 + ], + [ + 0, + -22.785247802734375 + ], + [ + 0, + -27.167022705078125 + ], + [ + 0, + -28.91973876953125 + ], + [ + 0, + -29.79608154296875 + ], + [ + 0.8763427734375, + -29.79608154296875 + ], + [ + 0.8763427734375, + -28.91973876953125 + ], + [ + 0.8763427734375, + -28.91973876953125 + ] + ], + "pressures": [ + 0.0263671875, + 0.177734375, + 0.2109375, + 0.2373046875, + 0.2607421875, + 0.2666015625, + 0.263671875, + 0.2626953125, + 0.25390625, + 0.244140625, + 0.2412109375, + 0.232421875, + 0.224609375, + 0.208984375, + 0.1962890625, + 0.193359375, + 0.1943359375, + 0.1962890625, + 0.203125, + 0.203125, + 0.2060546875, + 0.212890625, + 0.21875, + 0.220703125, + 0.2216796875, + 0.220703125, + 0.2197265625, + 0.2158203125, + 0.2099609375, + 0.080078125, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.8763427734375, + -28.91973876953125 + ] + }, + { + "id": "E6exKaytKlSCnRV0yASKc", + "type": "freedraw", + "x": -225.5562962123322, + "y": -185.78359004429387, + "width": 12.26904296875, + "height": 62.22125244140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 264225059, + "version": 697, + "versionNonce": 2046773379, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -6.13446044921875 + ], + [ + 0, + -12.26898193359375 + ], + [ + 0, + -20.156158447265625 + ], + [ + 0, + -28.043365478515625 + ], + [ + 2.62908935546875, + -38.559661865234375 + ], + [ + 4.38177490234375, + -43.817779541015625 + ], + [ + 5.2581787109375, + -45.57049560546875 + ], + [ + 6.134521484375, + -45.57049560546875 + ], + [ + 7.0108642578125, + -44.69415283203125 + ], + [ + 8.7635498046875, + -40.312347412109375 + ], + [ + 9.63995361328125, + -32.425140380859375 + ], + [ + 9.63995361328125, + -21.03253173828125 + ], + [ + 8.7635498046875, + -7.01080322265625 + ], + [ + 4.38177490234375, + 10.51629638671875 + ], + [ + 2.62908935546875, + 14.8980712890625 + ], + [ + 2.62908935546875, + 16.6507568359375 + ], + [ + 1.75274658203125, + 16.6507568359375 + ], + [ + 0, + 14.021728515625 + ], + [ + -0.8763427734375, + 8.7635498046875 + ], + [ + -1.752685546875, + 0.87640380859375 + ], + [ + -2.62908935546875, + -7.88720703125 + ], + [ + -2.62908935546875, + -16.6507568359375 + ], + [ + -2.62908935546875, + -23.661590576171875 + ], + [ + -2.62908935546875, + -25.414306640625 + ], + [ + -2.62908935546875, + -26.2906494140625 + ], + [ + -2.62908935546875, + -27.167022705078125 + ], + [ + -2.62908935546875, + -28.91973876953125 + ], + [ + -1.752685546875, + -28.91973876953125 + ], + [ + -1.752685546875, + -28.043365478515625 + ], + [ + -0.8763427734375, + -27.167022705078125 + ], + [ + -0.8763427734375, + -27.167022705078125 + ] + ], + "pressures": [ + 0.048828125, + 0.171875, + 0.224609375, + 0.2939453125, + 0.3515625, + 0.4091796875, + 0.421875, + 0.421875, + 0.4169921875, + 0.408203125, + 0.4091796875, + 0.388671875, + 0.3515625, + 0.3115234375, + 0.2861328125, + 0.283203125, + 0.28515625, + 0.2890625, + 0.287109375, + 0.2919921875, + 0.2958984375, + 0.2939453125, + 0.287109375, + 0.2744140625, + 0.2578125, + 0.24609375, + 0.2099609375, + 0.1591796875, + 0.1103515625, + 0.0771484375, + 0.029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.8763427734375, + -27.167022705078125 + ] + }, + { + "id": "DDm6dzlYsoRLbbU-agJx9", + "type": "freedraw", + "x": -222.92720685686345, + "y": -210.32155391148137, + "width": 4.38177490234375, + "height": 30.672454833984375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1563253901, + "version": 689, + "versionNonce": 517584173, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0 + ], + [ + -2.62908935546875, + 2.62908935546875 + ], + [ + -3.50543212890625, + 8.7635498046875 + ], + [ + -3.50543212890625, + 12.26898193359375 + ], + [ + -3.50543212890625, + 14.8980712890625 + ], + [ + -2.62908935546875, + 14.021728515625 + ], + [ + -1.752685546875, + 12.26898193359375 + ], + [ + -0.8763427734375, + 9.63995361328125 + ], + [ + 0, + 3.50543212890625 + ], + [ + 0, + 0 + ], + [ + 0.8763427734375, + -4.38177490234375 + ], + [ + 0.8763427734375, + -7.887176513671875 + ], + [ + 0.8763427734375, + -12.26898193359375 + ], + [ + 0.8763427734375, + -14.021697998046875 + ], + [ + 0.8763427734375, + -15.774383544921875 + ], + [ + 0, + -15.774383544921875 + ], + [ + 0, + -14.021697998046875 + ], + [ + -0.8763427734375, + -11.392608642578125 + ], + [ + -0.8763427734375, + -4.38177490234375 + ], + [ + -0.8763427734375, + 0.876373291015625 + ], + [ + -0.8763427734375, + 5.258148193359375 + ], + [ + -0.8763427734375, + 8.7635498046875 + ], + [ + -0.8763427734375, + 11.39263916015625 + ], + [ + -0.8763427734375, + 9.63995361328125 + ], + [ + -0.8763427734375, + 8.7635498046875 + ], + [ + -0.8763427734375, + 8.7635498046875 + ] + ], + "pressures": [ + 0.0263671875, + 0.166015625, + 0.181640625, + 0.1943359375, + 0.2060546875, + 0.2197265625, + 0.2265625, + 0.228515625, + 0.2333984375, + 0.25390625, + 0.267578125, + 0.27734375, + 0.29296875, + 0.31640625, + 0.3251953125, + 0.3251953125, + 0.3369140625, + 0.330078125, + 0.322265625, + 0.3056640625, + 0.2919921875, + 0.2783203125, + 0.2509765625, + 0.2060546875, + 0.0888671875, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.8763427734375, + 8.7635498046875 + ] + }, + { + "id": "0SOPYj0oub7uXl4VlJ9SW", + "type": "freedraw", + "x": -217.6690891810822, + "y": -220.837819780622, + "width": 5.25811767578125, + "height": 24.537994384765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1639978307, + "version": 685, + "versionNonce": 480854051, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -1.752685546875, + 0.876373291015625 + ], + [ + -1.752685546875, + 3.50543212890625 + ], + [ + -2.6290283203125, + 8.763580322265625 + ], + [ + -3.50543212890625, + 15.7744140625 + ], + [ + -4.38177490234375, + 21.032562255859375 + ], + [ + -4.38177490234375, + 23.661590576171875 + ], + [ + -4.38177490234375, + 24.537994384765625 + ], + [ + -5.25811767578125, + 24.537994384765625 + ], + [ + -4.38177490234375, + 23.661590576171875 + ], + [ + -3.50543212890625, + 21.032562255859375 + ], + [ + -2.6290283203125, + 16.6507568359375 + ], + [ + -1.752685546875, + 10.516265869140625 + ], + [ + -0.8763427734375, + 8.763580322265625 + ], + [ + -0.8763427734375, + 7.88720703125 + ], + [ + -0.8763427734375, + 7.0108642578125 + ], + [ + -0.8763427734375, + 6.134490966796875 + ], + [ + -0.8763427734375, + 5.258148193359375 + ], + [ + -1.752685546875, + 5.258148193359375 + ], + [ + -1.752685546875, + 6.134490966796875 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0107421875, + 0.22265625, + 0.2509765625, + 0.251953125, + 0.2529296875, + 0.26171875, + 0.263671875, + 0.265625, + 0.265625, + 0.265625, + 0.26171875, + 0.2626953125, + 0.263671875, + 0.263671875, + 0.263671875, + 0.265625, + 0.2626953125, + 0.259765625, + 0.2548828125, + 0.09765625, + 0.0341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.752685546875, + 6.134490966796875 + ] + }, + { + "id": "o_pBqhf5or83-H20X8Bia", + "type": "freedraw", + "x": -218.5454319545197, + "y": -221.7141625540595, + "width": 5.25811767578125, + "height": 29.796112060546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 835898669, + "version": 682, + "versionNonce": 1302628237, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0 + ], + [ + -2.62908935546875, + 2.629058837890625 + ], + [ + -3.50543212890625, + 8.7635498046875 + ], + [ + -4.38177490234375, + 15.7744140625 + ], + [ + -5.25811767578125, + 21.908905029296875 + ], + [ + -5.25811767578125, + 27.167022705078125 + ], + [ + -5.25811767578125, + 28.919769287109375 + ], + [ + -5.25811767578125, + 29.796112060546875 + ], + [ + -4.38177490234375, + 29.796112060546875 + ], + [ + -3.50543212890625, + 29.796112060546875 + ], + [ + -2.62908935546875, + 29.796112060546875 + ], + [ + -1.752685546875, + 28.043365478515625 + ], + [ + -1.752685546875, + 27.167022705078125 + ], + [ + -0.8763427734375, + 26.290679931640625 + ], + [ + -0.8763427734375, + 24.537933349609375 + ], + [ + -0.8763427734375, + 22.785247802734375 + ], + [ + -0.8763427734375, + 21.908905029296875 + ], + [ + -0.8763427734375, + 21.032562255859375 + ], + [ + -0.8763427734375, + 21.032562255859375 + ] + ], + "pressures": [ + 0.00390625, + 0.2119140625, + 0.2275390625, + 0.2412109375, + 0.2578125, + 0.2705078125, + 0.28125, + 0.28125, + 0.2724609375, + 0.2685546875, + 0.2666015625, + 0.2490234375, + 0.2451171875, + 0.244140625, + 0.2431640625, + 0.2275390625, + 0.19140625, + 0.177734375, + 0.13671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.8763427734375, + 21.032562255859375 + ] + }, + { + "id": "XDPuKzHnq4w5E6Ep1IhYO", + "type": "freedraw", + "x": -192.2547825404572, + "y": -165.62740107945012, + "width": 46.44683837890625, + "height": 11.39263916015625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1486514275, + "version": 676, + "versionNonce": 846414787, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + -1.752685546875 + ], + [ + -2.6290283203125, + -3.50543212890625 + ], + [ + -2.6290283203125, + -5.25811767578125 + ], + [ + 0.87640380859375, + -7.88720703125 + ], + [ + 9.63995361328125, + -10.5162353515625 + ], + [ + 16.6507568359375, + -11.39263916015625 + ], + [ + 25.41436767578125, + -10.5162353515625 + ], + [ + 32.4251708984375, + -8.7635498046875 + ], + [ + 39.43603515625, + -6.13446044921875 + ], + [ + 42.06512451171875, + -4.38177490234375 + ], + [ + 43.81781005859375, + -4.38177490234375 + ], + [ + 43.81781005859375, + -3.50543212890625 + ], + [ + 42.94146728515625, + -5.25811767578125 + ], + [ + 42.06512451171875, + -5.25811767578125 + ], + [ + 42.06512451171875, + -5.25811767578125 + ] + ], + "pressures": [ + 0.02734375, + 0.2041015625, + 0.2578125, + 0.326171875, + 0.38671875, + 0.4169921875, + 0.4853515625, + 0.576171875, + 0.630859375, + 0.64453125, + 0.638671875, + 0.6318359375, + 0.625, + 0.1171875, + 0.0830078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.06512451171875, + -5.25811767578125 + ] + }, + { + "id": "8oIrmKpHc4-Sczsyjb6R2", + "type": "freedraw", + "x": -193.1311253138947, + "y": -169.13283320835637, + "width": 60.46856689453125, + "height": 16.6507568359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1172517709, + "version": 676, + "versionNonce": 1411780077, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + 0 + ], + [ + -3.50543212890625, + -0.8763427734375 + ], + [ + 0, + -6.13446044921875 + ], + [ + 4.38177490234375, + -9.639892578125 + ], + [ + 11.39263916015625, + -13.14532470703125 + ], + [ + 18.40350341796875, + -14.89801025390625 + ], + [ + 25.414306640625, + -15.77435302734375 + ], + [ + 34.17791748046875, + -14.89801025390625 + ], + [ + 41.188720703125, + -11.392578125 + ], + [ + 47.3232421875, + -7.88720703125 + ], + [ + 51.70501708984375, + -3.50537109375 + ], + [ + 55.21044921875, + -0.8763427734375 + ], + [ + 56.963134765625, + 0 + ], + [ + 56.963134765625, + 0.87640380859375 + ], + [ + 56.963134765625, + 0.87640380859375 + ] + ], + "pressures": [ + 0.0205078125, + 0.330078125, + 0.357421875, + 0.5400390625, + 0.625, + 0.6474609375, + 0.67578125, + 0.7705078125, + 0.802734375, + 0.7890625, + 0.70703125, + 0.5146484375, + 0.3505859375, + 0.19140625, + 0.150390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 56.963134765625, + 0.87640380859375 + ] + }, + { + "id": "XPIeD4naPRZvM-YO5jQIl", + "type": "freedraw", + "x": -160.7059544154572, + "y": -175.26729365757512, + "width": 23.66162109375, + "height": 93.77008056640625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1978646787, + "version": 784, + "versionNonce": 1937494883, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.75274658203125 + ], + [ + -0.8763427734375, + -6.134521484375 + ], + [ + -0.8763427734375, + -7.88720703125 + ], + [ + -0.8763427734375, + -8.7635498046875 + ], + [ + -0.8763427734375, + -9.639892578125 + ], + [ + -0.8763427734375, + -11.39263916015625 + ], + [ + -0.8763427734375, + -13.14532470703125 + ], + [ + -0.8763427734375, + -14.8980712890625 + ], + [ + -0.8763427734375, + -15.7744140625 + ], + [ + 0, + -15.7744140625 + ], + [ + 0.8763427734375, + -15.7744140625 + ], + [ + 1.75274658203125, + -15.7744140625 + ], + [ + 3.50543212890625, + -15.7744140625 + ], + [ + 5.2581787109375, + -14.8980712890625 + ], + [ + 7.0108642578125, + -14.021728515625 + ], + [ + 7.88720703125, + -13.14532470703125 + ], + [ + 7.88720703125, + -11.39263916015625 + ], + [ + 8.7635498046875, + -9.639892578125 + ], + [ + 9.63995361328125, + -7.88720703125 + ], + [ + 9.63995361328125, + -7.0108642578125 + ], + [ + 9.63995361328125, + -6.134521484375 + ], + [ + 9.63995361328125, + -5.25811767578125 + ], + [ + 9.63995361328125, + -4.38177490234375 + ], + [ + 9.63995361328125, + -3.50543212890625 + ], + [ + 8.7635498046875, + -3.50543212890625 + ], + [ + 7.88720703125, + -3.50543212890625 + ], + [ + 7.88720703125, + -2.62908935546875 + ], + [ + 9.63995361328125, + -2.62908935546875 + ], + [ + 10.51629638671875, + -2.62908935546875 + ], + [ + 11.39263916015625, + -2.62908935546875 + ], + [ + 13.14532470703125, + -2.62908935546875 + ], + [ + 14.021728515625, + -2.62908935546875 + ], + [ + 14.8980712890625, + -2.62908935546875 + ], + [ + 16.6507568359375, + -3.50543212890625 + ], + [ + 17.52716064453125, + -3.50543212890625 + ], + [ + 18.40350341796875, + -3.50543212890625 + ], + [ + 19.27984619140625, + -1.75274658203125 + ], + [ + 19.27984619140625, + 0 + ], + [ + 19.27984619140625, + 1.752685546875 + ], + [ + 19.27984619140625, + 3.50543212890625 + ], + [ + 17.52716064453125, + 4.38177490234375 + ], + [ + 16.6507568359375, + 5.25811767578125 + ], + [ + 15.7744140625, + 6.13446044921875 + ], + [ + 14.8980712890625, + 7.0108642578125 + ], + [ + 14.021728515625, + 7.0108642578125 + ], + [ + 12.26898193359375, + 8.7635498046875 + ], + [ + 10.51629638671875, + 10.51629638671875 + ], + [ + 9.63995361328125, + 11.39263916015625 + ], + [ + 8.7635498046875, + 13.14532470703125 + ], + [ + 7.88720703125, + 14.8980712890625 + ], + [ + 7.88720703125, + 17.527099609375 + ], + [ + 7.88720703125, + 20.15618896484375 + ], + [ + 7.0108642578125, + 21.90887451171875 + ], + [ + 7.0108642578125, + 22.7852783203125 + ], + [ + 7.0108642578125, + 25.414306640625 + ], + [ + 7.0108642578125, + 29.79608154296875 + ], + [ + 7.0108642578125, + 33.301513671875 + ], + [ + 7.0108642578125, + 34.1778564453125 + ], + [ + 7.0108642578125, + 35.05426025390625 + ], + [ + 7.88720703125, + 38.5596923828125 + ], + [ + 8.7635498046875, + 42.0650634765625 + ], + [ + 9.63995361328125, + 45.570556640625 + ], + [ + 9.63995361328125, + 49.075927734375 + ], + [ + 10.51629638671875, + 50.82867431640625 + ], + [ + 10.51629638671875, + 52.58135986328125 + ], + [ + 10.51629638671875, + 54.3341064453125 + ], + [ + 10.51629638671875, + 56.0867919921875 + ], + [ + 10.51629638671875, + 58.71588134765625 + ], + [ + 11.39263916015625, + 61.34490966796875 + ], + [ + 11.39263916015625, + 63.9739990234375 + ], + [ + 11.39263916015625, + 66.60302734375 + ], + [ + 10.51629638671875, + 70.10845947265625 + ], + [ + 9.63995361328125, + 71.86126708984375 + ], + [ + 9.63995361328125, + 72.737548828125 + ], + [ + 7.88720703125, + 73.6138916015625 + ], + [ + 6.134521484375, + 75.36663818359375 + ], + [ + 3.50543212890625, + 77.11932373046875 + ], + [ + 1.75274658203125, + 77.99566650390625 + ], + [ + 0.8763427734375, + 77.99566650390625 + ], + [ + -1.752685546875, + 75.36663818359375 + ], + [ + -2.6290283203125, + 73.6138916015625 + ], + [ + -3.50543212890625, + 71.86126708984375 + ], + [ + -4.38177490234375, + 70.10845947265625 + ], + [ + -4.38177490234375, + 67.4794921875 + ], + [ + -4.38177490234375, + 65.7266845703125 + ], + [ + -4.38177490234375, + 63.09765625 + ], + [ + -4.38177490234375, + 60.46856689453125 + ], + [ + -4.38177490234375, + 58.71588134765625 + ], + [ + -4.38177490234375, + 56.963134765625 + ], + [ + -3.50543212890625, + 54.3341064453125 + ], + [ + -2.6290283203125, + 50.82867431640625 + ], + [ + -1.752685546875, + 45.570556640625 + ], + [ + -0.8763427734375, + 40.3123779296875 + ], + [ + 0, + 35.05426025390625 + ], + [ + 0, + 30.6724853515625 + ], + [ + 0, + 29.79608154296875 + ], + [ + 0, + 28.04345703125 + ], + [ + 0, + 26.2906494140625 + ], + [ + 0, + 25.414306640625 + ], + [ + 0, + 24.5379638671875 + ], + [ + 0, + 23.66168212890625 + ], + [ + 0, + 22.7852783203125 + ], + [ + 0, + 21.90887451171875 + ], + [ + 0, + 20.15618896484375 + ], + [ + 0.8763427734375, + 18.40350341796875 + ], + [ + 0.8763427734375, + 17.527099609375 + ], + [ + 0.8763427734375, + 16.6507568359375 + ], + [ + 0.8763427734375, + 15.7744140625 + ], + [ + 0.8763427734375, + 14.02166748046875 + ], + [ + 0.8763427734375, + 13.14532470703125 + ], + [ + 0, + 11.39263916015625 + ], + [ + 0, + 10.51629638671875 + ], + [ + 0, + 9.639892578125 + ], + [ + 0, + 7.88720703125 + ], + [ + 0.8763427734375, + 7.0108642578125 + ], + [ + 0.8763427734375, + 6.13446044921875 + ], + [ + 0.8763427734375, + 5.25811767578125 + ], + [ + 0.8763427734375, + 4.38177490234375 + ], + [ + 0.8763427734375, + 3.50543212890625 + ], + [ + 0.8763427734375, + 2.62908935546875 + ], + [ + 0.8763427734375, + 1.752685546875 + ], + [ + 1.75274658203125, + 1.752685546875 + ], + [ + 1.75274658203125, + 0.8763427734375 + ], + [ + 0.8763427734375, + -0.8763427734375 + ], + [ + 0.8763427734375, + 0 + ], + [ + 1.75274658203125, + 0.8763427734375 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.013671875, + 0.224609375, + 0.333984375, + 0.3837890625, + 0.4072265625, + 0.427734375, + 0.44140625, + 0.4482421875, + 0.4541015625, + 0.458984375, + 0.46484375, + 0.4716796875, + 0.47265625, + 0.4736328125, + 0.4794921875, + 0.48828125, + 0.4892578125, + 0.4921875, + 0.4951171875, + 0.5029296875, + 0.5, + 0.5048828125, + 0.5126953125, + 0.51171875, + 0.5107421875, + 0.5205078125, + 0.5205078125, + 0.51953125, + 0.4931640625, + 0.4951171875, + 0.4951171875, + 0.4912109375, + 0.4931640625, + 0.4912109375, + 0.4931640625, + 0.4931640625, + 0.4931640625, + 0.552734375, + 0.5673828125, + 0.583984375, + 0.6923828125, + 0.716796875, + 0.740234375, + 0.7568359375, + 0.7705078125, + 0.7890625, + 0.8076171875, + 0.82421875, + 0.8369140625, + 0.8447265625, + 0.857421875, + 0.85546875, + 0.85546875, + 0.85546875, + 0.8681640625, + 0.861328125, + 0.8642578125, + 0.876953125, + 0.8828125, + 0.8916015625, + 0.8935546875, + 0.8984375, + 0.900390625, + 0.90625, + 0.9169921875, + 0.9169921875, + 0.9189453125, + 0.9169921875, + 0.9150390625, + 0.927734375, + 0.9365234375, + 0.9423828125, + 0.953125, + 0.96484375, + 0.96484375, + 0.96484375, + 0.9619140625, + 0.9580078125, + 0.9619140625, + 0.9560546875, + 0.927734375, + 0.8984375, + 0.876953125, + 0.8642578125, + 0.85546875, + 0.849609375, + 0.8466796875, + 0.8388671875, + 0.83203125, + 0.83203125, + 0.8388671875, + 0.8388671875, + 0.8388671875, + 0.8369140625, + 0.8369140625, + 0.853515625, + 0.859375, + 0.8740234375, + 0.876953125, + 0.87890625, + 0.8740234375, + 0.8740234375, + 0.8740234375, + 0.8740234375, + 0.8720703125, + 0.8720703125, + 0.8681640625, + 0.8701171875, + 0.8701171875, + 0.8681640625, + 0.85546875, + 0.8662109375, + 0.857421875, + 0.8349609375, + 0.849609375, + 0.8447265625, + 0.8447265625, + 0.8466796875, + 0.8447265625, + 0.8447265625, + 0.8447265625, + 0.8388671875, + 0.8349609375, + 0.712890625, + 0.720703125, + 0.2763671875, + 0.1484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.75274658203125, + 0.8763427734375 + ] + }, + { + "id": "ZzwkKFelsytpWz9jC2UEY", + "type": "freedraw", + "x": -156.32417951311345, + "y": -174.39095088413762, + "width": 34.17791748046875, + "height": 65.7266845703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 421037891, + "version": 785, + "versionNonce": 1902626893, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -0.8763427734375 + ], + [ + -1.752685546875, + -1.752685546875 + ], + [ + -2.6290283203125, + -3.50543212890625 + ], + [ + -2.6290283203125, + -4.38177490234375 + ], + [ + -2.6290283203125, + -5.25811767578125 + ], + [ + -2.6290283203125, + -8.7635498046875 + ], + [ + -2.6290283203125, + -9.639892578125 + ], + [ + -1.752685546875, + -9.639892578125 + ], + [ + -0.8763427734375, + -10.5162353515625 + ], + [ + 0.87640380859375, + -10.5162353515625 + ], + [ + 1.75274658203125, + -10.5162353515625 + ], + [ + 2.62908935546875, + -10.5162353515625 + ], + [ + 3.50543212890625, + -10.5162353515625 + ], + [ + 5.2581787109375, + -10.5162353515625 + ], + [ + 6.134521484375, + -10.5162353515625 + ], + [ + 7.0108642578125, + -10.5162353515625 + ], + [ + 7.88720703125, + -9.639892578125 + ], + [ + 8.7635498046875, + -9.639892578125 + ], + [ + 9.63995361328125, + -8.7635498046875 + ], + [ + 10.51629638671875, + -7.88720703125 + ], + [ + 11.39263916015625, + -7.88720703125 + ], + [ + 12.26898193359375, + -7.0108642578125 + ], + [ + 13.1453857421875, + -5.25811767578125 + ], + [ + 14.8980712890625, + -4.38177490234375 + ], + [ + 14.8980712890625, + -3.50543212890625 + ], + [ + 14.8980712890625, + -1.752685546875 + ], + [ + 14.8980712890625, + -0.8763427734375 + ], + [ + 14.8980712890625, + 0 + ], + [ + 14.8980712890625, + 0.8763427734375 + ], + [ + 14.021728515625, + 0.8763427734375 + ], + [ + 12.26898193359375, + 1.75274658203125 + ], + [ + 11.39263916015625, + 2.62908935546875 + ], + [ + 10.51629638671875, + 3.50543212890625 + ], + [ + 9.63995361328125, + 4.38177490234375 + ], + [ + 7.88720703125, + 5.25811767578125 + ], + [ + 7.0108642578125, + 5.25811767578125 + ], + [ + 6.134521484375, + 6.134521484375 + ], + [ + 5.2581787109375, + 7.0108642578125 + ], + [ + 4.38177490234375, + 7.88720703125 + ], + [ + 3.50543212890625, + 8.7635498046875 + ], + [ + 3.50543212890625, + 9.63995361328125 + ], + [ + 2.62908935546875, + 10.51629638671875 + ], + [ + 2.62908935546875, + 12.26898193359375 + ], + [ + 2.62908935546875, + 13.14532470703125 + ], + [ + 2.62908935546875, + 14.021728515625 + ], + [ + 2.62908935546875, + 15.7744140625 + ], + [ + 2.62908935546875, + 16.6507568359375 + ], + [ + 2.62908935546875, + 18.40350341796875 + ], + [ + 2.62908935546875, + 21.03253173828125 + ], + [ + 2.62908935546875, + 21.908935546875 + ], + [ + 3.50543212890625, + 24.5379638671875 + ], + [ + 3.50543212890625, + 26.29071044921875 + ], + [ + 3.50543212890625, + 28.04339599609375 + ], + [ + 3.50543212890625, + 28.91973876953125 + ], + [ + 3.50543212890625, + 30.6724853515625 + ], + [ + 3.50543212890625, + 32.4251708984375 + ], + [ + 2.62908935546875, + 34.17791748046875 + ], + [ + 2.62908935546875, + 35.05426025390625 + ], + [ + 1.75274658203125, + 35.9306640625 + ], + [ + 0.87640380859375, + 36.80694580078125 + ], + [ + 0, + 37.683349609375 + ], + [ + -1.752685546875, + 40.31243896484375 + ], + [ + -1.752685546875, + 41.188720703125 + ], + [ + -2.6290283203125, + 42.06512451171875 + ], + [ + -3.50543212890625, + 42.94146728515625 + ], + [ + -4.38177490234375, + 44.6942138671875 + ], + [ + -6.13446044921875, + 46.4468994140625 + ], + [ + -7.01080322265625, + 47.3232421875 + ], + [ + -8.7635498046875, + 49.07598876953125 + ], + [ + -10.5162353515625, + 50.82867431640625 + ], + [ + -11.39263916015625, + 52.58135986328125 + ], + [ + -12.26898193359375, + 53.457763671875 + ], + [ + -13.14532470703125, + 54.3341064453125 + ], + [ + -14.02166748046875, + 55.21044921875 + ], + [ + -14.89801025390625, + 55.21044921875 + ], + [ + -15.7744140625, + 55.21044921875 + ], + [ + -16.6507568359375, + 55.21044921875 + ], + [ + -17.527099609375, + 55.21044921875 + ], + [ + -19.27984619140625, + 55.21044921875 + ], + [ + -19.27984619140625, + 54.3341064453125 + ], + [ + -19.27984619140625, + 51.70501708984375 + ], + [ + -19.27984619140625, + 48.1995849609375 + ], + [ + -18.4034423828125, + 45.57049560546875 + ], + [ + -18.4034423828125, + 43.81781005859375 + ], + [ + -17.527099609375, + 42.94146728515625 + ], + [ + -17.527099609375, + 42.06512451171875 + ], + [ + -16.6507568359375, + 41.188720703125 + ], + [ + -15.7744140625, + 40.31243896484375 + ], + [ + -15.7744140625, + 39.43603515625 + ], + [ + -14.89801025390625, + 38.5596923828125 + ], + [ + -13.14532470703125, + 36.80694580078125 + ], + [ + -13.14532470703125, + 35.9306640625 + ], + [ + -12.26898193359375, + 35.05426025390625 + ], + [ + -11.39263916015625, + 34.17791748046875 + ], + [ + -11.39263916015625, + 33.301513671875 + ], + [ + -10.5162353515625, + 33.301513671875 + ], + [ + -9.639892578125, + 32.4251708984375 + ], + [ + -8.7635498046875, + 31.54888916015625 + ], + [ + -7.88720703125, + 29.796142578125 + ], + [ + -7.01080322265625, + 28.91973876953125 + ], + [ + -7.01080322265625, + 28.04339599609375 + ], + [ + -6.13446044921875, + 27.1671142578125 + ], + [ + -6.13446044921875, + 25.414306640625 + ], + [ + -6.13446044921875, + 24.5379638671875 + ], + [ + -6.13446044921875, + 23.66162109375 + ], + [ + -5.25811767578125, + 22.78533935546875 + ], + [ + -5.25811767578125, + 21.03253173828125 + ], + [ + -5.25811767578125, + 18.40350341796875 + ], + [ + -5.25811767578125, + 15.7744140625 + ], + [ + -5.25811767578125, + 14.8980712890625 + ], + [ + -6.13446044921875, + 13.14532470703125 + ], + [ + -6.13446044921875, + 12.26898193359375 + ], + [ + -6.13446044921875, + 10.51629638671875 + ], + [ + -6.13446044921875, + 9.63995361328125 + ], + [ + -6.13446044921875, + 8.7635498046875 + ], + [ + -6.13446044921875, + 7.88720703125 + ], + [ + -6.13446044921875, + 7.0108642578125 + ], + [ + -6.13446044921875, + 6.134521484375 + ], + [ + -6.13446044921875, + 5.25811767578125 + ], + [ + -6.13446044921875, + 4.38177490234375 + ], + [ + -5.25811767578125, + 3.50543212890625 + ], + [ + -4.38177490234375, + 2.62908935546875 + ], + [ + -3.50543212890625, + 1.75274658203125 + ], + [ + -2.6290283203125, + 1.75274658203125 + ], + [ + -1.752685546875, + 1.75274658203125 + ], + [ + -0.8763427734375, + 1.75274658203125 + ], + [ + -0.8763427734375, + 0.8763427734375 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0849609375, + 0.306640625, + 0.3427734375, + 0.44921875, + 0.4736328125, + 0.54296875, + 0.5556640625, + 0.556640625, + 0.556640625, + 0.5625, + 0.5595703125, + 0.56640625, + 0.56640625, + 0.5673828125, + 0.57421875, + 0.572265625, + 0.5673828125, + 0.5693359375, + 0.5693359375, + 0.5693359375, + 0.5712890625, + 0.580078125, + 0.5791015625, + 0.583984375, + 0.611328125, + 0.625, + 0.677734375, + 0.6953125, + 0.720703125, + 0.73046875, + 0.74609375, + 0.7744140625, + 0.78515625, + 0.787109375, + 0.787109375, + 0.794921875, + 0.79296875, + 0.791015625, + 0.794921875, + 0.791015625, + 0.7890625, + 0.783203125, + 0.78515625, + 0.79296875, + 0.796875, + 0.794921875, + 0.791015625, + 0.79296875, + 0.791015625, + 0.7890625, + 0.787109375, + 0.791015625, + 0.7890625, + 0.7890625, + 0.8076171875, + 0.8076171875, + 0.80078125, + 0.8134765625, + 0.8095703125, + 0.8154296875, + 0.8134765625, + 0.8203125, + 0.82421875, + 0.82421875, + 0.822265625, + 0.82421875, + 0.83203125, + 0.83203125, + 0.8349609375, + 0.830078125, + 0.8388671875, + 0.849609375, + 0.85546875, + 0.85546875, + 0.859375, + 0.8681640625, + 0.8740234375, + 0.876953125, + 0.87890625, + 0.8720703125, + 0.85546875, + 0.853515625, + 0.8515625, + 0.849609375, + 0.8515625, + 0.8515625, + 0.8466796875, + 0.8427734375, + 0.8447265625, + 0.8408203125, + 0.8349609375, + 0.8369140625, + 0.8349609375, + 0.8408203125, + 0.8408203125, + 0.8408203125, + 0.8408203125, + 0.8388671875, + 0.8466796875, + 0.8515625, + 0.8466796875, + 0.85546875, + 0.859375, + 0.8681640625, + 0.8681640625, + 0.8701171875, + 0.880859375, + 0.884765625, + 0.8896484375, + 0.908203125, + 0.9130859375, + 0.9453125, + 0.947265625, + 0.9580078125, + 0.966796875, + 0.966796875, + 0.96875, + 0.9580078125, + 0.96484375, + 0.9599609375, + 0.9599609375, + 0.9599609375, + 0.9599609375, + 0.951171875, + 0.9560546875, + 0.9423828125, + 0.9150390625, + 0.142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.8763427734375, + 0.8763427734375 + ] + }, + { + "id": "NDu_EUZv7K-qLp1w_Ze4K", + "type": "freedraw", + "x": -155.4477757045197, + "y": -177.02004023960637, + "width": 14.89801025390625, + "height": 31.54876708984375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1605488685, + "version": 690, + "versionNonce": 269577987, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + -0.8763427734375 + ], + [ + -2.62908935546875, + -1.752685546875 + ], + [ + -3.50543212890625, + -1.752685546875 + ], + [ + -3.50543212890625, + -2.6290283203125 + ], + [ + -2.62908935546875, + -3.50537109375 + ], + [ + -2.62908935546875, + -4.38177490234375 + ], + [ + -0.87640380859375, + -5.25811767578125 + ], + [ + -0.87640380859375, + -6.13446044921875 + ], + [ + 0, + -7.01080322265625 + ], + [ + 1.752685546875, + -7.01080322265625 + ], + [ + 3.50537109375, + -7.88714599609375 + ], + [ + 6.13446044921875, + -7.88714599609375 + ], + [ + 7.88714599609375, + -7.88714599609375 + ], + [ + 9.639892578125, + -7.88714599609375 + ], + [ + 10.5162353515625, + -7.88714599609375 + ], + [ + 10.5162353515625, + -7.01080322265625 + ], + [ + 10.5162353515625, + -5.25811767578125 + ], + [ + 11.392578125, + -1.752685546875 + ], + [ + 11.392578125, + 2.62908935546875 + ], + [ + 11.392578125, + 3.50543212890625 + ], + [ + 11.392578125, + 4.3818359375 + ], + [ + 10.5162353515625, + 6.134521484375 + ], + [ + 8.7635498046875, + 9.63995361328125 + ], + [ + 7.01080322265625, + 12.26904296875 + ], + [ + 5.25811767578125, + 14.021728515625 + ], + [ + 4.38177490234375, + 15.7744140625 + ], + [ + 3.50537109375, + 17.52716064453125 + ], + [ + 1.752685546875, + 20.15625 + ], + [ + 0.8763427734375, + 21.0325927734375 + ], + [ + 0, + 21.0325927734375 + ], + [ + -0.87640380859375, + 21.908935546875 + ], + [ + -0.87640380859375, + 22.7852783203125 + ], + [ + -0.87640380859375, + 23.66162109375 + ], + [ + -0.87640380859375, + 23.66162109375 + ] + ], + "pressures": [ + 0.0302734375, + 0.236328125, + 0.2958984375, + 0.3232421875, + 0.35546875, + 0.369140625, + 0.3720703125, + 0.375, + 0.384765625, + 0.44921875, + 0.4970703125, + 0.5087890625, + 0.51171875, + 0.51171875, + 0.51953125, + 0.5263671875, + 0.5341796875, + 0.546875, + 0.599609375, + 0.6640625, + 0.671875, + 0.703125, + 0.71875, + 0.73828125, + 0.7421875, + 0.75, + 0.75, + 0.75, + 0.75, + 0.740234375, + 0.7265625, + 0.4169921875, + 0.1865234375, + 0.1259765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.87640380859375, + 23.66162109375 + ] + }, + { + "id": "Clkj2uLJmbtz0O1EoWCTu", + "type": "freedraw", + "x": -146.6842258998322, + "y": -166.50374385288762, + "width": 34.17791748046875, + "height": 54.3341064453125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1443720941, + "version": 754, + "versionNonce": 1195587245, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.87640380859375, + 0 + ], + [ + -1.75274658203125, + 0.8763427734375 + ], + [ + -3.50543212890625, + 3.50543212890625 + ], + [ + -5.2581787109375, + 6.134521484375 + ], + [ + -6.134521484375, + 7.88720703125 + ], + [ + -7.0108642578125, + 10.51629638671875 + ], + [ + -7.88720703125, + 11.39263916015625 + ], + [ + -7.88720703125, + 13.14532470703125 + ], + [ + -7.88720703125, + 14.89813232421875 + ], + [ + -7.88720703125, + 16.6507568359375 + ], + [ + -7.88720703125, + 18.40350341796875 + ], + [ + -7.0108642578125, + 19.2799072265625 + ], + [ + -7.0108642578125, + 20.15618896484375 + ], + [ + -7.0108642578125, + 21.03253173828125 + ], + [ + -6.134521484375, + 23.66168212890625 + ], + [ + -6.134521484375, + 24.5379638671875 + ], + [ + -5.2581787109375, + 26.29071044921875 + ], + [ + -5.2581787109375, + 28.04345703125 + ], + [ + -5.2581787109375, + 29.796142578125 + ], + [ + -4.38177490234375, + 32.42523193359375 + ], + [ + -4.38177490234375, + 34.17791748046875 + ], + [ + -4.38177490234375, + 35.93060302734375 + ], + [ + -4.38177490234375, + 36.8070068359375 + ], + [ + -4.38177490234375, + 39.43603515625 + ], + [ + -4.38177490234375, + 41.18878173828125 + ], + [ + -4.38177490234375, + 42.94146728515625 + ], + [ + -4.38177490234375, + 43.81781005859375 + ], + [ + -6.134521484375, + 45.570556640625 + ], + [ + -7.0108642578125, + 46.4468994140625 + ], + [ + -8.7635498046875, + 47.3232421875 + ], + [ + -9.63995361328125, + 48.1995849609375 + ], + [ + -10.51629638671875, + 49.075927734375 + ], + [ + -11.39263916015625, + 49.95233154296875 + ], + [ + -13.1453857421875, + 50.82867431640625 + ], + [ + -14.021728515625, + 50.82867431640625 + ], + [ + -14.8980712890625, + 50.82867431640625 + ], + [ + -16.6507568359375, + 50.82867431640625 + ], + [ + -18.40350341796875, + 50.82867431640625 + ], + [ + -19.27984619140625, + 50.82867431640625 + ], + [ + -20.15618896484375, + 50.82867431640625 + ], + [ + -21.0325927734375, + 50.82867431640625 + ], + [ + -22.7852783203125, + 50.82867431640625 + ], + [ + -23.66162109375, + 50.82867431640625 + ], + [ + -25.41436767578125, + 50.82867431640625 + ], + [ + -26.29071044921875, + 50.82867431640625 + ], + [ + -28.04339599609375, + 50.82867431640625 + ], + [ + -28.9197998046875, + 50.82867431640625 + ], + [ + -29.796142578125, + 49.95233154296875 + ], + [ + -31.548828125, + 49.95233154296875 + ], + [ + -32.4251708984375, + 49.95233154296875 + ], + [ + -32.4251708984375, + 49.075927734375 + ], + [ + -33.30157470703125, + 48.1995849609375 + ], + [ + -34.17791748046875, + 47.3232421875 + ], + [ + -34.17791748046875, + 46.4468994140625 + ], + [ + -34.17791748046875, + 43.81781005859375 + ], + [ + -32.4251708984375, + 38.5596923828125 + ], + [ + -32.4251708984375, + 35.93060302734375 + ], + [ + -31.548828125, + 34.17791748046875 + ], + [ + -30.6724853515625, + 34.17791748046875 + ], + [ + -29.796142578125, + 33.301513671875 + ], + [ + -28.9197998046875, + 32.42523193359375 + ], + [ + -27.16705322265625, + 31.548828125 + ], + [ + -26.29071044921875, + 30.6724853515625 + ], + [ + -24.5379638671875, + 29.796142578125 + ], + [ + -23.66162109375, + 28.91973876953125 + ], + [ + -22.7852783203125, + 28.04345703125 + ], + [ + -21.908935546875, + 28.04345703125 + ], + [ + -21.0325927734375, + 26.29071044921875 + ], + [ + -21.0325927734375, + 25.414306640625 + ], + [ + -20.15618896484375, + 25.414306640625 + ], + [ + -20.15618896484375, + 24.5379638671875 + ], + [ + -19.27984619140625, + 23.66168212890625 + ], + [ + -18.40350341796875, + 23.66168212890625 + ], + [ + -18.40350341796875, + 22.7852783203125 + ], + [ + -18.40350341796875, + 21.03253173828125 + ], + [ + -18.40350341796875, + 19.2799072265625 + ], + [ + -18.40350341796875, + 17.527099609375 + ], + [ + -19.27984619140625, + 15.7744140625 + ], + [ + -19.27984619140625, + 14.021728515625 + ], + [ + -19.27984619140625, + 12.26898193359375 + ], + [ + -19.27984619140625, + 10.51629638671875 + ], + [ + -19.27984619140625, + 8.7635498046875 + ], + [ + -19.27984619140625, + 7.0108642578125 + ], + [ + -19.27984619140625, + 6.134521484375 + ], + [ + -19.27984619140625, + 5.25811767578125 + ], + [ + -18.40350341796875, + 2.62908935546875 + ], + [ + -18.40350341796875, + 1.75274658203125 + ], + [ + -18.40350341796875, + 0.8763427734375 + ], + [ + -17.52716064453125, + 0 + ], + [ + -17.52716064453125, + -0.8763427734375 + ], + [ + -17.52716064453125, + -1.752685546875 + ], + [ + -16.6507568359375, + -1.752685546875 + ], + [ + -16.6507568359375, + -2.62908935546875 + ], + [ + -15.7744140625, + -2.62908935546875 + ], + [ + -15.7744140625, + -3.50543212890625 + ], + [ + -14.8980712890625, + -3.50543212890625 + ], + [ + -13.1453857421875, + -2.62908935546875 + ], + [ + -11.39263916015625, + -2.62908935546875 + ], + [ + -11.39263916015625, + -2.62908935546875 + ] + ], + "pressures": [ + 0.0166015625, + 0.2626953125, + 0.322265625, + 0.3486328125, + 0.365234375, + 0.376953125, + 0.388671875, + 0.390625, + 0.3955078125, + 0.3955078125, + 0.396484375, + 0.3984375, + 0.4052734375, + 0.4111328125, + 0.416015625, + 0.42578125, + 0.427734375, + 0.43359375, + 0.4404296875, + 0.44140625, + 0.44140625, + 0.4443359375, + 0.4462890625, + 0.4501953125, + 0.4501953125, + 0.4482421875, + 0.44921875, + 0.453125, + 0.4560546875, + 0.455078125, + 0.4599609375, + 0.462890625, + 0.4658203125, + 0.466796875, + 0.47265625, + 0.474609375, + 0.4765625, + 0.4794921875, + 0.478515625, + 0.482421875, + 0.4833984375, + 0.4853515625, + 0.4853515625, + 0.4833984375, + 0.4892578125, + 0.4921875, + 0.5, + 0.5, + 0.50390625, + 0.5029296875, + 0.5048828125, + 0.5107421875, + 0.5078125, + 0.5078125, + 0.5029296875, + 0.4970703125, + 0.4970703125, + 0.49609375, + 0.4970703125, + 0.4990234375, + 0.4990234375, + 0.4970703125, + 0.5, + 0.5009765625, + 0.5, + 0.5029296875, + 0.5068359375, + 0.5126953125, + 0.5224609375, + 0.5322265625, + 0.5341796875, + 0.55078125, + 0.58203125, + 0.5888671875, + 0.6376953125, + 0.6806640625, + 0.6806640625, + 0.6845703125, + 0.708984375, + 0.720703125, + 0.724609375, + 0.7265625, + 0.7265625, + 0.7265625, + 0.71875, + 0.720703125, + 0.720703125, + 0.71875, + 0.697265625, + 0.6923828125, + 0.6953125, + 0.6953125, + 0.6826171875, + 0.669921875, + 0.66796875, + 0.66796875, + 0.6572265625, + 0.638671875, + 0.6162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -11.39263916015625, + -2.62908935546875 + ] + }, + { + "id": "9reYZaP9we315bSW73k0C", + "type": "freedraw", + "x": -172.97493634905095, + "y": -247.12849971226262, + "width": 29.796142578125, + "height": 50.828643798828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1872364845, + "version": 671, + "versionNonce": 716347043, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.75274658203125, + -0.8763427734375 + ], + [ + -1.752685546875, + -2.629058837890625 + ], + [ + -5.25811767578125, + -2.629058837890625 + ], + [ + -8.7635498046875, + -1.752716064453125 + ], + [ + -13.14532470703125, + 0.876373291015625 + ], + [ + -18.4034423828125, + 5.258148193359375 + ], + [ + -21.03253173828125, + 11.39263916015625 + ], + [ + -24.5379638671875, + 20.15618896484375 + ], + [ + -26.2906494140625, + 29.796112060546875 + ], + [ + -28.04339599609375, + 36.80694580078125 + ], + [ + -28.04339599609375, + 42.065093994140625 + ], + [ + -28.04339599609375, + 43.81781005859375 + ], + [ + -27.16705322265625, + 45.57049560546875 + ], + [ + -26.2906494140625, + 46.4468994140625 + ], + [ + -24.5379638671875, + 48.1995849609375 + ], + [ + -24.5379638671875, + 48.1995849609375 + ] + ], + "pressures": [ + 0.0224609375, + 0.287109375, + 0.708984375, + 0.796875, + 0.8701171875, + 0.904296875, + 0.9150390625, + 0.9130859375, + 0.90625, + 0.904296875, + 0.884765625, + 0.7568359375, + 0.529296875, + 0.34765625, + 0.240234375, + 0.150390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -24.5379638671875, + 48.1995849609375 + ] + }, + { + "id": "Xivw8BNTJxYw0LJW-d661", + "type": "freedraw", + "x": -172.97493634905095, + "y": -253.2629906790595, + "width": 36.80694580078125, + "height": 65.72671508789062, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2067959277, + "version": 674, + "versionNonce": 6412557, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.8763427734375 + ], + [ + -1.752685546875, + 0 + ], + [ + -6.13446044921875, + 2.629058837890625 + ], + [ + -8.7635498046875, + 4.38177490234375 + ], + [ + -12.26898193359375, + 7.0108642578125 + ], + [ + -14.8980712890625, + 9.639923095703125 + ], + [ + -20.15618896484375, + 14.021697998046875 + ], + [ + -23.66162109375, + 19.27984619140625 + ], + [ + -27.16705322265625, + 26.290679931640625 + ], + [ + -30.67242431640625, + 35.93060302734375 + ], + [ + -33.301513671875, + 45.570526123046875 + ], + [ + -36.80694580078125, + 56.963165283203125 + ], + [ + -36.80694580078125, + 61.344940185546875 + ], + [ + -36.80694580078125, + 63.097625732421875 + ], + [ + -36.80694580078125, + 63.973968505859375 + ], + [ + -35.93060302734375, + 64.85037231445312 + ], + [ + -35.05426025390625, + 64.85037231445312 + ], + [ + -34.1778564453125, + 63.097625732421875 + ], + [ + -34.1778564453125, + 63.097625732421875 + ] + ], + "pressures": [ + 0.005859375, + 0.185546875, + 0.3056640625, + 0.4609375, + 0.56640625, + 0.646484375, + 0.6953125, + 0.740234375, + 0.74609375, + 0.75, + 0.751953125, + 0.74609375, + 0.72265625, + 0.599609375, + 0.44921875, + 0.3955078125, + 0.2236328125, + 0.138671875, + 0.0458984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -34.1778564453125, + 63.097625732421875 + ] + }, + { + "id": "lD2239iHwXVNTgEEn7A4y", + "type": "freedraw", + "x": -187.87300763811345, + "y": -154.23476191929387, + "width": 5.2581787109375, + "height": 4.38177490234375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1158874019, + "version": 658, + "versionNonce": 302893635, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558538, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + 0, + 0 + ], + [ + 1.75274658203125, + 0 + ], + [ + 2.62908935546875, + -0.8763427734375 + ], + [ + 3.50543212890625, + -0.8763427734375 + ], + [ + 4.3818359375, + -1.752685546875 + ], + [ + 4.3818359375, + -2.6290283203125 + ], + [ + 4.3818359375, + -3.50543212890625 + ], + [ + 4.3818359375, + -4.38177490234375 + ], + [ + 4.3818359375, + -3.50543212890625 + ], + [ + 4.3818359375, + -2.6290283203125 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.01171875, + 0.2392578125, + 0.3818359375, + 0.41796875, + 0.427734375, + 0.4306640625, + 0.4365234375, + 0.4580078125, + 0.482421875, + 0.4873046875, + 0.1396484375, + 0.0390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.3818359375, + -2.6290283203125 + ] + }, + { + "id": "vLBxZ5K-KdZhFaHvLlQg-", + "type": "freedraw", + "x": -183.49117170061345, + "y": -157.74019404820012, + "width": 3.50543212890625, + "height": 5.2581787109375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1644948269, + "version": 655, + "versionNonce": 909979501, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.87640380859375 + ], + [ + 0.8763427734375, + 2.62908935546875 + ], + [ + 0.8763427734375, + 4.38177490234375 + ], + [ + 0.8763427734375, + 5.2581787109375 + ], + [ + 0, + 5.2581787109375 + ], + [ + -1.75274658203125, + 5.2581787109375 + ], + [ + -2.62908935546875, + 5.2581787109375 + ], + [ + -1.75274658203125, + 5.2581787109375 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0087890625, + 0.3505859375, + 0.3623046875, + 0.41015625, + 0.5498046875, + 0.5537109375, + 0.5625, + 0.5595703125, + 0.0166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.75274658203125, + 5.2581787109375 + ] + }, + { + "id": "TLTmLYjC6xOFq3l-AWWXR", + "type": "freedraw", + "x": -185.2439182826447, + "y": -154.23476191929387, + "width": 5.25811767578125, + "height": 10.516357421875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1452471277, + "version": 662, + "versionNonce": 989956579, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + 0, + 1.75274658203125 + ], + [ + 0.8763427734375, + 2.629150390625 + ], + [ + 1.75274658203125, + 2.629150390625 + ], + [ + 2.62908935546875, + 1.75274658203125 + ], + [ + 3.50543212890625, + 0.8763427734375 + ], + [ + 4.38177490234375, + -0.8763427734375 + ], + [ + 4.38177490234375, + -2.6290283203125 + ], + [ + 4.38177490234375, + -4.38177490234375 + ], + [ + 4.38177490234375, + -5.25811767578125 + ], + [ + 4.38177490234375, + -6.13446044921875 + ], + [ + 4.38177490234375, + -7.0108642578125 + ], + [ + 3.50543212890625, + -7.0108642578125 + ], + [ + 3.50543212890625, + -7.88720703125 + ], + [ + 3.50543212890625, + -7.0108642578125 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0185546875, + 0.234375, + 0.4248046875, + 0.4296875, + 0.4296875, + 0.48046875, + 0.53515625, + 0.5849609375, + 0.6337890625, + 0.697265625, + 0.703125, + 0.7109375, + 0.720703125, + 0.720703125, + 0.736328125, + 0.2001953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.50543212890625, + -7.0108642578125 + ] + }, + { + "id": "ILgcwxrTI5YePcxbCT6F2", + "type": "freedraw", + "x": -185.2439182826447, + "y": -156.86379023960637, + "width": 7.0108642578125, + "height": 7.88720703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 135618435, + "version": 662, + "versionNonce": 387889613, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + -1.75274658203125 + ], + [ + 0, + -1.75274658203125 + ], + [ + 1.75274658203125, + -1.75274658203125 + ], + [ + 2.62908935546875, + -1.75274658203125 + ], + [ + 3.50543212890625, + 0 + ], + [ + 3.50543212890625, + 0.8763427734375 + ], + [ + 3.50543212890625, + 2.6290283203125 + ], + [ + 3.50543212890625, + 3.50537109375 + ], + [ + 3.50543212890625, + 4.38177490234375 + ], + [ + 1.75274658203125, + 4.38177490234375 + ], + [ + 0, + 5.2581787109375 + ], + [ + -1.752685546875, + 5.2581787109375 + ], + [ + -2.62908935546875, + 5.2581787109375 + ], + [ + -3.50543212890625, + 5.2581787109375 + ], + [ + -2.62908935546875, + 6.13446044921875 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0234375, + 0.197265625, + 0.5625, + 0.59765625, + 0.6220703125, + 0.724609375, + 0.7783203125, + 0.8388671875, + 0.8740234375, + 0.90234375, + 0.947265625, + 0.947265625, + 0.9404296875, + 0.9384765625, + 0.927734375, + 0.109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.62908935546875, + 6.13446044921875 + ] + }, + { + "id": "sDJgnyRbtjWrxdyLyZehL", + "type": "freedraw", + "x": -183.49117170061345, + "y": -152.48201533726262, + "width": 7.01080322265625, + "height": 14.89801025390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1728266765, + "version": 662, + "versionNonce": 2057065859, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.50537109375 + ], + [ + 0.8763427734375, + 3.50537109375 + ], + [ + 1.752685546875, + 3.50537109375 + ], + [ + 3.50537109375, + 2.6290283203125 + ], + [ + 4.38177490234375, + 1.752685546875 + ], + [ + 5.25811767578125, + -0.87640380859375 + ], + [ + 6.13446044921875, + -3.50543212890625 + ], + [ + 7.01080322265625, + -7.0108642578125 + ], + [ + 7.01080322265625, + -9.63995361328125 + ], + [ + 7.01080322265625, + -10.51629638671875 + ], + [ + 5.25811767578125, + -11.39263916015625 + ], + [ + 4.38177490234375, + -11.39263916015625 + ], + [ + 3.50537109375, + -11.39263916015625 + ], + [ + 3.50537109375, + -10.51629638671875 + ], + [ + 3.50537109375, + -9.63995361328125 + ], + [ + 3.50537109375, + -8.76361083984375 + ], + [ + 3.50537109375, + -8.76361083984375 + ] + ], + "pressures": [ + 0.0439453125, + 0.1787109375, + 0.1845703125, + 0.1982421875, + 0.30859375, + 0.3759765625, + 0.439453125, + 0.5341796875, + 0.625, + 0.716796875, + 0.748046875, + 0.7646484375, + 0.751953125, + 0.6083984375, + 0.216796875, + 0.1416015625, + 0.0791015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.50537109375, + -8.76361083984375 + ] + }, + { + "id": "CfRiduZxKpQKO4xTy6Qzp", + "type": "freedraw", + "x": -181.73848615373845, + "y": -159.49287959507512, + "width": 8.7635498046875, + "height": 7.88720703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1115690851, + "version": 658, + "versionNonce": 1277163565, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.8763427734375 + ], + [ + 0.8763427734375, + 0 + ], + [ + 2.62908935546875, + 1.752685546875 + ], + [ + 3.50543212890625, + 3.50543212890625 + ], + [ + 3.50543212890625, + 4.38177490234375 + ], + [ + 2.62908935546875, + 5.25811767578125 + ], + [ + 0.8763427734375, + 6.13446044921875 + ], + [ + -1.752685546875, + 7.0108642578125 + ], + [ + -4.38177490234375, + 7.0108642578125 + ], + [ + -5.25811767578125, + 7.0108642578125 + ], + [ + -3.50543212890625, + 7.0108642578125 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0390625, + 0.330078125, + 0.9365234375, + 0.9794921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.50543212890625, + 7.0108642578125 + ] + }, + { + "id": "hiS40yD0w7Wsu2WkcbGGI", + "type": "freedraw", + "x": -179.98580060686345, + "y": -152.48201533726262, + "width": 167.384033203125, + "height": 112.17355346679688, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1079565165, + "version": 695, + "versionNonce": 1879331, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -0.8763427734375, + 0.87640380859375 + ], + [ + -0.8763427734375, + 3.50537109375 + ], + [ + 0.87640380859375, + 9.63995361328125 + ], + [ + 3.50543212890625, + 14.89801025390625 + ], + [ + 6.134521484375, + 20.15618896484375 + ], + [ + 9.63995361328125, + 26.2906494140625 + ], + [ + 14.021728515625, + 30.67242431640625 + ], + [ + 16.65081787109375, + 32.4251708984375 + ], + [ + 21.908935546875, + 33.301513671875 + ], + [ + 26.29071044921875, + 31.548828125 + ], + [ + 31.548828125, + 27.16705322265625 + ], + [ + 41.18878173828125, + 16.6507568359375 + ], + [ + 49.07598876953125, + 7.01080322265625 + ], + [ + 54.3341064453125, + -3.50543212890625 + ], + [ + 57.83953857421875, + -14.021728515625 + ], + [ + 58.71588134765625, + -25.41436767578125 + ], + [ + 58.71588134765625, + -37.683349609375 + ], + [ + 50.82867431640625, + -54.3341064453125 + ], + [ + 42.94146728515625, + -59.59222412109375 + ], + [ + 34.17791748046875, + -60.468597412109375 + ], + [ + 27.16705322265625, + -59.59222412109375 + ], + [ + 22.7852783203125, + -55.21044921875 + ], + [ + 18.40350341796875, + -40.3123779296875 + ], + [ + 18.40350341796875, + -26.29071044921875 + ], + [ + 19.27984619140625, + -8.76361083984375 + ], + [ + 24.53802490234375, + 8.7635498046875 + ], + [ + 36.8070068359375, + 30.67242431640625 + ], + [ + 45.570556640625, + 39.43597412109375 + ], + [ + 54.3341064453125, + 44.6942138671875 + ], + [ + 67.47943115234375, + 50.82861328125 + ], + [ + 76.24298095703125, + 51.7049560546875 + ], + [ + 86.75927734375, + 51.7049560546875 + ], + [ + 99.0283203125, + 49.07598876953125 + ], + [ + 112.173583984375, + 43.8177490234375 + ], + [ + 121.8134765625, + 35.93060302734375 + ], + [ + 131.4534912109375, + 13.14532470703125 + ], + [ + 134.08251953125, + -6.134521484375 + ], + [ + 134.08251953125, + -25.41436767578125 + ], + [ + 123.5662841796875, + -52.581390380859375 + ], + [ + 80.624755859375, + -46.4468994140625 + ], + [ + 82.37750244140625, + -37.683349609375 + ], + [ + 90.26470947265625, + -19.27984619140625 + ], + [ + 104.286376953125, + 0.87640380859375 + ], + [ + 119.1844482421875, + 18.40350341796875 + ], + [ + 139.3406982421875, + 33.301513671875 + ], + [ + 152.4859619140625, + 39.43597412109375 + ], + [ + 164.7550048828125, + 44.6942138671875 + ], + [ + 166.5076904296875, + 44.6942138671875 + ], + [ + 166.5076904296875, + 44.6942138671875 + ] + ], + "pressures": [ + 0.0361328125, + 0.251953125, + 0.3427734375, + 0.3662109375, + 0.4609375, + 0.5537109375, + 0.640625, + 0.6943359375, + 0.72265625, + 0.734375, + 0.7421875, + 0.751953125, + 0.7724609375, + 0.83203125, + 0.859375, + 0.8720703125, + 0.9814453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.990234375, + 0.990234375, + 1, + 1, + 1, + 0.96875, + 0.951171875, + 0.9296875, + 0.8984375, + 0.8916015625, + 0.8828125, + 0.8427734375, + 0.828125, + 0.828125, + 0.8447265625, + 0.8662109375, + 0.8447265625, + 0.482421875, + 0.4775390625, + 0.4306640625, + 0.421875, + 0.361328125, + 0.2568359375, + 0.17578125, + 0.1181640625, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 166.5076904296875, + 44.6942138671875 + ] + }, + { + "id": "kOpQ7K23HxYVes_ygQX6d", + "type": "freedraw", + "x": -179.98580060686345, + "y": -149.85298701695012, + "width": 4.38177490234375, + "height": 9.639892578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 880237485, + "version": 659, + "versionNonce": 522873485, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + 0, + -0.8763427734375 + ], + [ + 0.87640380859375, + -1.75262451171875 + ], + [ + 2.62908935546875, + -2.6290283203125 + ], + [ + 2.62908935546875, + -3.50543212890625 + ], + [ + 3.50543212890625, + -4.38177490234375 + ], + [ + 3.50543212890625, + -6.13446044921875 + ], + [ + 3.50543212890625, + -7.01080322265625 + ], + [ + 2.62908935546875, + -8.7635498046875 + ], + [ + 1.75274658203125, + -9.639892578125 + ], + [ + 0.87640380859375, + -9.639892578125 + ], + [ + 0.87640380859375, + -7.88720703125 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.033203125, + 0.232421875, + 0.3759765625, + 0.4248046875, + 0.4873046875, + 0.50390625, + 0.525390625, + 0.57421875, + 0.61328125, + 0.646484375, + 0.66015625, + 0.197265625, + 0.0810546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.87640380859375, + -7.88720703125 + ] + }, + { + "id": "YS8fMxSHiFrrv5dIeY-nz", + "type": "freedraw", + "x": -191.37837873186345, + "y": -150.72932979038762, + "width": 7.88720703125, + "height": 5.25811767578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 966118701, + "version": 660, + "versionNonce": 250679491, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.87640380859375, + 0 + ], + [ + -0.87640380859375, + -0.87628173828125 + ], + [ + 0, + -1.752685546875 + ], + [ + 0, + -2.62908935546875 + ], + [ + 1.752685546875, + -3.50543212890625 + ], + [ + 1.752685546875, + -4.38177490234375 + ], + [ + 2.6290283203125, + -4.38177490234375 + ], + [ + 3.50537109375, + -5.25811767578125 + ], + [ + 4.38177490234375, + -5.25811767578125 + ], + [ + 5.25811767578125, + -4.38177490234375 + ], + [ + 6.13446044921875, + -2.62908935546875 + ], + [ + 7.01080322265625, + -1.752685546875 + ], + [ + 7.01080322265625, + -0.87628173828125 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0322265625, + 0.287109375, + 0.515625, + 0.580078125, + 0.59375, + 0.6025390625, + 0.6044921875, + 0.609375, + 0.6162109375, + 0.6513671875, + 0.669921875, + 0.7626953125, + 0.8056640625, + 0.828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.01080322265625, + -0.87628173828125 + ] + }, + { + "id": "FUxjWPi999UDuKtKiT0ne", + "type": "freedraw", + "x": -192.2547825404572, + "y": -153.35841914585637, + "width": 8.7635498046875, + "height": 0.87640380859375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2141638307, + "version": 657, + "versionNonce": 1626837229, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + 0.87640380859375, + 0 + ], + [ + 2.62908935546875, + 0 + ], + [ + 5.2581787109375, + 0 + ], + [ + 6.134521484375, + 0.87640380859375 + ], + [ + 7.0108642578125, + 0.87640380859375 + ], + [ + 6.134521484375, + 0.87640380859375 + ], + [ + 5.2581787109375, + 0.87640380859375 + ], + [ + 4.38177490234375, + 0 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.03515625, + 0.482421875, + 0.908203125, + 0.921875, + 0.9296875, + 0.9599609375, + 0.98828125, + 1, + 0.34765625, + 0.154296875, + 0.10546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.38177490234375, + 0 + ] + }, + { + "id": "u1HwYItLw_NMLYxNdt0el", + "type": "freedraw", + "x": -200.1419895717072, + "y": -123.56227656773137, + "width": 95.52276611328125, + "height": 10.5162353515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 528154147, + "version": 663, + "versionNonce": 2025324643, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.01080322265625, + -0.8763427734375 + ], + [ + -9.639892578125, + -0.8763427734375 + ], + [ + -11.392578125, + -0.8763427734375 + ], + [ + -11.392578125, + 0 + ], + [ + -8.7635498046875, + 0.8763427734375 + ], + [ + 0, + 2.62908935546875 + ], + [ + 11.39263916015625, + 3.50543212890625 + ], + [ + 25.41436767578125, + 4.38177490234375 + ], + [ + 39.43603515625, + 6.13446044921875 + ], + [ + 53.457763671875, + 7.88720703125 + ], + [ + 70.1085205078125, + 9.639892578125 + ], + [ + 77.119384765625, + 9.639892578125 + ], + [ + 81.50115966796875, + 9.639892578125 + ], + [ + 84.13018798828125, + 8.7635498046875 + ], + [ + 84.13018798828125, + 7.0108642578125 + ], + [ + 79.7484130859375, + 4.38177490234375 + ], + [ + 76.24298095703125, + 3.50543212890625 + ], + [ + 76.24298095703125, + 3.50543212890625 + ] + ], + "pressures": [ + 0.080078125, + 0.1328125, + 0.18359375, + 0.2548828125, + 0.3193359375, + 0.5947265625, + 0.8662109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.55859375, + 0.2548828125, + 0.154296875, + 0.05859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 76.24298095703125, + 3.50543212890625 + ] + }, + { + "id": "nN8yER2LWvXFgaWopEUEF", + "type": "freedraw", + "x": -203.6473606654572, + "y": -120.05684443882512, + "width": 83.2537841796875, + "height": 8.7635498046875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1567438957, + "version": 657, + "versionNonce": 252767053, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.8763427734375 + ], + [ + 13.14532470703125, + -0.8763427734375 + ], + [ + 26.2906494140625, + 0 + ], + [ + 37.68328857421875, + 0 + ], + [ + 46.44683837890625, + 0 + ], + [ + 53.45770263671875, + -0.8763427734375 + ], + [ + 60.46856689453125, + -0.8763427734375 + ], + [ + 69.23211669921875, + 2.6290283203125 + ], + [ + 76.242919921875, + 5.25811767578125 + ], + [ + 83.2537841796875, + 7.01080322265625 + ], + [ + 83.2537841796875, + 7.88720703125 + ], + [ + 83.2537841796875, + 7.88720703125 + ] + ], + "pressures": [ + 0.05078125, + 0.333984375, + 0.66796875, + 0.9755859375, + 1, + 1, + 1, + 1, + 1, + 0.55078125, + 0.203125, + 0.130859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 83.2537841796875, + 7.88720703125 + ] + }, + { + "id": "OmVWU5rg-pDOSwJyI1n73", + "type": "freedraw", + "x": -204.52376447405095, + "y": -119.18050166538762, + "width": 103.4100341796875, + "height": 7.01080322265625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 10124579, + "version": 657, + "versionNonce": 1463811075, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.25811767578125, + -0.8763427734375 + ], + [ + -4.38177490234375, + -0.8763427734375 + ], + [ + 2.62908935546875, + -0.8763427734375 + ], + [ + 14.8980712890625, + 0.8763427734375 + ], + [ + 38.5596923828125, + 2.62908935546875 + ], + [ + 55.21044921875, + 2.62908935546875 + ], + [ + 71.8612060546875, + 3.50543212890625 + ], + [ + 85.00653076171875, + 4.38177490234375 + ], + [ + 94.646484375, + 6.13446044921875 + ], + [ + 96.399169921875, + 6.13446044921875 + ], + [ + 98.15191650390625, + 6.13446044921875 + ], + [ + 98.15191650390625, + 6.13446044921875 + ] + ], + "pressures": [ + 0.0693359375, + 0.2216796875, + 0.4453125, + 0.59765625, + 0.861328125, + 1, + 1, + 1, + 1, + 0.8720703125, + 0.4619140625, + 0.236328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 98.15191650390625, + 6.13446044921875 + ] + }, + { + "id": "s-b5AHcGXHyR2XR3t5OoZ", + "type": "freedraw", + "x": -153.6950901576447, + "y": -118.30415889195012, + "width": 77.119384765625, + "height": 82.37744140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1388589699, + "version": 664, + "versionNonce": 969931181, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -0.8763427734375 + ], + [ + -9.639892578125, + -1.752685546875 + ], + [ + -15.7744140625, + -2.6290283203125 + ], + [ + -22.7852783203125, + -3.50543212890625 + ], + [ + -30.6724853515625, + -4.38177490234375 + ], + [ + -38.5596923828125, + -4.38177490234375 + ], + [ + -49.075927734375, + -2.6290283203125 + ], + [ + -54.3341064453125, + -0.8763427734375 + ], + [ + -57.8394775390625, + 0.8763427734375 + ], + [ + -58.71588134765625, + 2.62908935546875 + ], + [ + -58.71588134765625, + 4.38177490234375 + ], + [ + -50.82867431640625, + 12.26898193359375 + ], + [ + -41.188720703125, + 21.908935546875 + ], + [ + -30.6724853515625, + 32.42523193359375 + ], + [ + -20.15618896484375, + 44.69415283203125 + ], + [ + -6.134521484375, + 59.59222412109375 + ], + [ + 2.62908935546875, + 67.4794921875 + ], + [ + 10.51629638671875, + 72.737548828125 + ], + [ + 14.8980712890625, + 76.2430419921875 + ], + [ + 18.40350341796875, + 77.99566650390625 + ], + [ + 18.40350341796875, + 76.2430419921875 + ], + [ + 18.40350341796875, + 76.2430419921875 + ] + ], + "pressures": [ + 0.0146484375, + 0.3251953125, + 0.4912109375, + 0.626953125, + 0.716796875, + 0.75390625, + 0.787109375, + 0.8115234375, + 0.826171875, + 0.8388671875, + 0.8349609375, + 0.83203125, + 0.830078125, + 0.8681640625, + 0.923828125, + 0.990234375, + 1, + 0.9423828125, + 0.791015625, + 0.541015625, + 0.2275390625, + 0.0634765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 18.40350341796875, + 76.2430419921875 + ] + }, + { + "id": "IHPA_kcRq4tHV_nMku7pS", + "type": "freedraw", + "x": -179.98580060686345, + "y": -110.41695186070012, + "width": 90.26470947265625, + "height": 76.24298095703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 310220909, + "version": 660, + "versionNonce": 109544355, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + -3.50543212890625 + ], + [ + -7.01080322265625, + -5.25811767578125 + ], + [ + -12.26898193359375, + -6.13446044921875 + ], + [ + -21.03253173828125, + -7.0108642578125 + ], + [ + -25.414306640625, + -7.0108642578125 + ], + [ + -28.04339599609375, + -3.50543212890625 + ], + [ + -28.04339599609375, + 2.629150390625 + ], + [ + -20.15618896484375, + 16.6507568359375 + ], + [ + -11.392578125, + 26.29071044921875 + ], + [ + 0, + 37.683349609375 + ], + [ + 14.8980712890625, + 49.075927734375 + ], + [ + 30.6724853515625, + 58.71588134765625 + ], + [ + 49.95233154296875, + 66.60308837890625 + ], + [ + 57.83953857421875, + 68.3558349609375 + ], + [ + 61.344970703125, + 69.23211669921875 + ], + [ + 62.2213134765625, + 68.3558349609375 + ], + [ + 58.71588134765625, + 63.97406005859375 + ], + [ + 58.71588134765625, + 63.97406005859375 + ] + ], + "pressures": [ + 0.0537109375, + 0.3876953125, + 0.5341796875, + 0.6923828125, + 0.8369140625, + 0.90625, + 0.94921875, + 0.94921875, + 0.951171875, + 0.9775390625, + 1, + 1, + 1, + 1, + 0.9453125, + 0.732421875, + 0.3193359375, + 0.0791015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 58.71588134765625, + 63.97406005859375 + ] + }, + { + "id": "hsrvZ3B9QpUX_9Q-KE3B4", + "type": "freedraw", + "x": -181.73848615373845, + "y": -112.16963740757512, + "width": 104.286376953125, + "height": 80.624755859375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 763765859, + "version": 661, + "versionNonce": 710818829, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.50543212890625 + ], + [ + -4.38177490234375, + -4.38177490234375 + ], + [ + -8.7635498046875, + -5.2581787109375 + ], + [ + -14.8980712890625, + -5.2581787109375 + ], + [ + -21.03253173828125, + -5.2581787109375 + ], + [ + -25.414306640625, + -3.50543212890625 + ], + [ + -25.414306640625, + 2.6290283203125 + ], + [ + -21.03253173828125, + 10.5162353515625 + ], + [ + -14.8980712890625, + 19.27978515625 + ], + [ + -6.134521484375, + 28.04339599609375 + ], + [ + 12.26898193359375, + 42.94140625 + ], + [ + 27.16705322265625, + 52.5814208984375 + ], + [ + 44.69415283203125, + 62.22125244140625 + ], + [ + 61.34490966796875, + 69.23211669921875 + ], + [ + 76.24298095703125, + 75.3665771484375 + ], + [ + 78.8720703125, + 75.3665771484375 + ], + [ + 77.11932373046875, + 73.6138916015625 + ], + [ + 75.36663818359375, + 72.737548828125 + ], + [ + 75.36663818359375, + 72.737548828125 + ] + ], + "pressures": [ + 0.0400390625, + 0.4130859375, + 0.640625, + 0.8203125, + 0.951171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6884765625, + 0.38671875, + 0.1640625, + 0.0966796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 75.36663818359375, + 72.737548828125 + ] + }, + { + "id": "vB3pMAfq2hKWCEXm1p13s", + "type": "freedraw", + "x": -194.0074680873322, + "y": -116.55141230991887, + "width": 87.6356201171875, + "height": 11.39263916015625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1236148557, + "version": 655, + "versionNonce": 1589450563, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + 0.8763427734375 + ], + [ + 0.8763427734375, + 1.752685546875 + ], + [ + 10.51629638671875, + 1.752685546875 + ], + [ + 28.04339599609375, + 0 + ], + [ + 40.3123779296875, + -0.87640380859375 + ], + [ + 51.70501708984375, + -0.87640380859375 + ], + [ + 63.09765625, + -0.87640380859375 + ], + [ + 72.737548828125, + 1.752685546875 + ], + [ + 82.37744140625, + 7.88714599609375 + ], + [ + 84.13018798828125, + 9.639892578125 + ], + [ + 83.25384521484375, + 10.5162353515625 + ], + [ + 82.37744140625, + 10.5162353515625 + ], + [ + 82.37744140625, + 10.5162353515625 + ] + ], + "pressures": [ + 0.0693359375, + 0.5888671875, + 0.671875, + 0.7568359375, + 1, + 1, + 1, + 1, + 1, + 0.66015625, + 0.251953125, + 0.115234375, + 0.0068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 82.37744140625, + 10.5162353515625 + ] + }, + { + "id": "GDXADQ2q_e2_TtjoOK5RH", + "type": "freedraw", + "x": -132.66255841936345, + "y": -108.66426631382512, + "width": 39.43597412109375, + "height": 146.3514404296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2041863181, + "version": 661, + "versionNonce": 1219834477, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 6.134521484375, + -0.8763427734375 + ], + [ + 12.26898193359375, + -2.6290283203125 + ], + [ + 19.27984619140625, + -2.6290283203125 + ], + [ + 26.29071044921875, + -2.6290283203125 + ], + [ + 33.301513671875, + -1.752685546875 + ], + [ + 33.301513671875, + 0 + ], + [ + 32.4251708984375, + 5.25823974609375 + ], + [ + 26.29071044921875, + 14.02178955078125 + ], + [ + 17.52716064453125, + 28.9197998046875 + ], + [ + 2.62908935546875, + 56.96319580078125 + ], + [ + -2.6290283203125, + 77.119384765625 + ], + [ + -5.25811767578125, + 96.399169921875 + ], + [ + -6.13446044921875, + 112.173583984375 + ], + [ + -6.13446044921875, + 129.70074462890625 + ], + [ + -6.13446044921875, + 134.9588623046875 + ], + [ + -6.13446044921875, + 136.71160888671875 + ], + [ + -6.13446044921875, + 137.58795166015625 + ], + [ + -5.25811767578125, + 140.21697998046875 + ], + [ + -4.38177490234375, + 142.8460693359375 + ], + [ + -4.38177490234375, + 143.722412109375 + ], + [ + -3.50543212890625, + 143.722412109375 + ], + [ + -3.50543212890625, + 142.8460693359375 + ], + [ + -3.50543212890625, + 142.8460693359375 + ] + ], + "pressures": [ + 0.064453125, + 0.2529296875, + 0.2861328125, + 0.3251953125, + 0.39453125, + 0.455078125, + 0.4716796875, + 0.4931640625, + 0.5791015625, + 0.66015625, + 0.705078125, + 0.720703125, + 0.72265625, + 0.720703125, + 0.69921875, + 0.6337890625, + 0.599609375, + 0.478515625, + 0.2861328125, + 0.18359375, + 0.158203125, + 0.1123046875, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.50543212890625, + 142.8460693359375 + ] + }, + { + "id": "eJrljZbho7GZQbYI1bfBf", + "type": "freedraw", + "x": -175.6040257045197, + "y": -120.05684443882512, + "width": 112.173583984375, + "height": 99.90460205078125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1328955619, + "version": 658, + "versionNonce": 775894755, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.87640380859375, + 0.8763427734375 + ], + [ + -5.25811767578125, + 1.752685546875 + ], + [ + -11.392578125, + 2.6290283203125 + ], + [ + -17.527099609375, + 3.50543212890625 + ], + [ + -24.5379638671875, + 5.25811767578125 + ], + [ + -30.67242431640625, + 7.01080322265625 + ], + [ + -32.4251708984375, + 7.01080322265625 + ], + [ + -32.4251708984375, + 8.7635498046875 + ], + [ + -28.91973876953125, + 14.02166748046875 + ], + [ + -16.6507568359375, + 27.1669921875 + ], + [ + -5.25811767578125, + 37.68328857421875 + ], + [ + 8.76361083984375, + 52.58135986328125 + ], + [ + 28.04339599609375, + 68.35577392578125 + ], + [ + 59.59222412109375, + 88.511962890625 + ], + [ + 72.73760986328125, + 96.399169921875 + ], + [ + 78.8720703125, + 99.90460205078125 + ], + [ + 79.7484130859375, + 99.0281982421875 + ], + [ + 75.36663818359375, + 92.89373779296875 + ], + [ + 72.73760986328125, + 91.14105224609375 + ], + [ + 72.73760986328125, + 91.14105224609375 + ] + ], + "pressures": [ + 0.0361328125, + 0.2392578125, + 0.4453125, + 0.6904296875, + 0.857421875, + 0.9560546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8369140625, + 0.6220703125, + 0.384765625, + 0.19140625, + 0.134765625, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 72.73760986328125, + 91.14105224609375 + ] + }, + { + "id": "jGG7fKZwlnGQ8hZPKBkNW", + "type": "freedraw", + "x": -170.3458469935822, + "y": -113.92238398960637, + "width": 92.01739501953125, + "height": 84.13018798828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1356425955, + "version": 656, + "versionNonce": 1100897485, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.134521484375, + -0.8763427734375 + ], + [ + -10.51629638671875, + -0.8763427734375 + ], + [ + -15.7744140625, + -0.8763427734375 + ], + [ + -21.03253173828125, + 0 + ], + [ + -25.41436767578125, + 0.8763427734375 + ], + [ + -27.16705322265625, + 1.75274658203125 + ], + [ + -27.16705322265625, + 4.38177490234375 + ], + [ + -25.41436767578125, + 11.39263916015625 + ], + [ + -16.6507568359375, + 23.66168212890625 + ], + [ + -5.2581787109375, + 35.93060302734375 + ], + [ + 11.39263916015625, + 50.82867431640625 + ], + [ + 22.78521728515625, + 57.83953857421875 + ], + [ + 35.05426025390625, + 65.72674560546875 + ], + [ + 53.45770263671875, + 77.11932373046875 + ], + [ + 62.22125244140625, + 82.37750244140625 + ], + [ + 64.850341796875, + 83.25384521484375 + ], + [ + 63.9739990234375, + 83.25384521484375 + ], + [ + 63.9739990234375, + 83.25384521484375 + ] + ], + "pressures": [ + 0.0615234375, + 0.4375, + 0.66796875, + 0.8916015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5849609375, + 0.2236328125, + 0.1572265625, + 0.0361328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 63.9739990234375, + 83.25384521484375 + ] + }, + { + "id": "2Le-ahzslYIn_fY_KW84T", + "type": "freedraw", + "x": -185.2439182826447, + "y": -118.30415889195012, + "width": 130.57708740234375, + "height": 107.791748046875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1796879683, + "version": 654, + "versionNonce": 1939628675, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.0108642578125, + -2.6290283203125 + ], + [ + -13.14532470703125, + -0.8763427734375 + ], + [ + -16.6507568359375, + 0.8763427734375 + ], + [ + -20.15618896484375, + 1.75274658203125 + ], + [ + -22.7852783203125, + 3.50543212890625 + ], + [ + -23.66162109375, + 9.639892578125 + ], + [ + -14.02166748046875, + 28.91973876953125 + ], + [ + -5.25811767578125, + 40.3123779296875 + ], + [ + 4.38177490234375, + 50.82867431640625 + ], + [ + 20.15618896484375, + 63.9739990234375 + ], + [ + 57.8394775390625, + 86.75927734375 + ], + [ + 81.5010986328125, + 98.15191650390625 + ], + [ + 97.2755126953125, + 103.4100341796875 + ], + [ + 106.91546630859375, + 105.1627197265625 + ], + [ + 105.16278076171875, + 102.53369140625 + ], + [ + 105.16278076171875, + 102.53369140625 + ] + ], + "pressures": [ + 0.0029296875, + 0.46875, + 0.73828125, + 0.828125, + 0.8935546875, + 0.970703125, + 0.9833984375, + 1, + 1, + 1, + 1, + 0.96484375, + 0.6513671875, + 0.2470703125, + 0.1142578125, + 0.0048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 105.16278076171875, + 102.53369140625 + ] + }, + { + "id": "Wb8RQCZJWJYErDGYy8QMR", + "type": "freedraw", + "x": -139.6733616420197, + "y": -110.41695186070012, + "width": 77.11932373046875, + "height": 77.9957275390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 666338307, + "version": 673, + "versionNonce": 1823685421, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + -1.75274658203125 + ], + [ + -7.88720703125, + -3.50543212890625 + ], + [ + -13.14532470703125, + -5.2581787109375 + ], + [ + -21.03253173828125, + -7.88720703125 + ], + [ + -25.414306640625, + -7.88720703125 + ], + [ + -28.04339599609375, + -7.0108642578125 + ], + [ + -28.91973876953125, + -2.62908935546875 + ], + [ + -28.91973876953125, + 1.752685546875 + ], + [ + -26.29071044921875, + 7.01080322265625 + ], + [ + -21.908935546875, + 14.89801025390625 + ], + [ + -15.7744140625, + 24.5379638671875 + ], + [ + -2.62908935546875, + 39.43603515625 + ], + [ + 8.7635498046875, + 49.075927734375 + ], + [ + 24.5379638671875, + 59.5921630859375 + ], + [ + 36.80694580078125, + 66.60302734375 + ], + [ + 44.69415283203125, + 70.1085205078125 + ], + [ + 46.44683837890625, + 70.1085205078125 + ], + [ + 48.1995849609375, + 70.1085205078125 + ], + [ + 48.1995849609375, + 70.1085205078125 + ] + ], + "pressures": [ + 0.0693359375, + 0.8115234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.822265625, + 0.3515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 48.1995849609375, + 70.1085205078125 + ] + }, + { + "id": "S5ogmb4YsptTvaNlDYH2o", + "type": "freedraw", + "x": -173.85127912248845, + "y": -81.49715205601262, + "width": 71.8612060546875, + "height": 50.82861328125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1611214189, + "version": 651, + "versionNonce": 1469258275, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.38177490234375, + 7.01080322265625 + ], + [ + 15.7744140625, + 19.27978515625 + ], + [ + 29.796142578125, + 29.79608154296875 + ], + [ + 43.81781005859375, + 39.43603515625 + ], + [ + 56.0867919921875, + 46.44683837890625 + ], + [ + 68.35577392578125, + 50.82861328125 + ], + [ + 71.8612060546875, + 50.82861328125 + ], + [ + 71.8612060546875, + 49.9522705078125 + ], + [ + 70.98486328125, + 48.1995849609375 + ], + [ + 70.98486328125, + 48.1995849609375 + ] + ], + "pressures": [ + 0.0732421875, + 0.62890625, + 0.9384765625, + 1, + 1, + 1, + 0.880859375, + 0.5, + 0.1767578125, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 70.98486328125, + 48.1995849609375 + ] + }, + { + "id": "GQLeZkPFPG_W_NJJRby9v", + "type": "freedraw", + "x": -137.0443333217072, + "y": -42.937520708356374, + "width": 53.45770263671875, + "height": 20.15618896484375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1174763437, + "version": 653, + "versionNonce": 1918717325, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.38177490234375, + 3.50543212890625 + ], + [ + 14.021728515625, + 7.0108642578125 + ], + [ + 20.15618896484375, + 7.88720703125 + ], + [ + 26.29071044921875, + 8.7635498046875 + ], + [ + 34.17791748046875, + 8.7635498046875 + ], + [ + 44.69415283203125, + 5.2581787109375 + ], + [ + 49.9522705078125, + 2.6290283203125 + ], + [ + 52.58135986328125, + 0 + ], + [ + 53.45770263671875, + -2.62908935546875 + ], + [ + 52.58135986328125, + -5.25811767578125 + ], + [ + 49.075927734375, + -7.88714599609375 + ], + [ + 45.57049560546875, + -10.51629638671875 + ], + [ + 42.06512451171875, + -11.39263916015625 + ], + [ + 41.188720703125, + -11.39263916015625 + ], + [ + 40.3123779296875, + -11.39263916015625 + ], + [ + 40.3123779296875, + -11.39263916015625 + ] + ], + "pressures": [ + 0.1220703125, + 0.8388671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.849609375, + 0.54296875, + 0.3359375, + 0.2314453125, + 0.2060546875, + 0.162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 40.3123779296875, + -11.39263916015625 + ] + }, + { + "id": "EzduYdn5w9Ei3yj9DKn1n", + "type": "freedraw", + "x": -105.55484327552622, + "y": -58.78338278223386, + "width": 56.73145744051368, + "height": 26.59283594834787, + "angle": 0.19228237512869928, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1223028749, + "version": 751, + "versionNonce": 1729224131, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0.41298882475715903, + 0 + ], + [ + 3.958712631876582, + 0.8863537809066837 + ], + [ + 7.504498175694537, + 3.5456620704208857 + ], + [ + 11.93657576372064, + 7.0913858775403105 + ], + [ + 16.368776825143822, + 11.523525202264956 + ], + [ + 19.914438895564714, + 15.069187272685838 + ], + [ + 20.80085441316993, + 16.84208004459483 + ], + [ + 18.141607860354267, + 19.501388334109027 + ], + [ + 13.70940679893108, + 22.16069662362322 + ], + [ + 7.504498175694537, + 24.819943176438887 + ], + [ + 1.2994043423623776, + 26.59283594834787 + ], + [ + -10.224120859902566, + 25.706358694044116 + ], + [ + -19.088461246050386, + 22.16069662362322 + ], + [ + -26.179847123590697, + 19.501388334109027 + ], + [ + -30.611986448315335, + 17.728557298898576 + ], + [ + -33.271294737829535, + 16.84208004459483 + ], + [ + -35.04412577303998, + 15.95566452698959 + ], + [ + -35.93060302734375, + 15.95566452698959 + ], + [ + -35.04412577303998, + 16.84208004459483 + ], + [ + -33.271294737829535, + 17.728557298898576 + ], + [ + -32.384879220224306, + 17.728557298898576 + ], + [ + -31.49846370261909, + 17.728557298898576 + ], + [ + -31.49846370261909, + 17.728557298898576 + ] + ], + "pressures": [ + 0.17578125, + 0.5888671875, + 0.880859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.185546875, + 0.109375, + 0.0771484375, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -31.548828125, + 17.527099609375 + ] + }, + { + "id": "ScrH5tT0m0ISd9WZD4WKw", + "type": "freedraw", + "x": -117.76448713030095, + "y": -123.56227656773137, + "width": 66.60302734375, + "height": 87.6356201171875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1834411149, + "version": 644, + "versionNonce": 836113389, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.8763427734375, + 3.50543212890625 + ], + [ + 9.639892578125, + 15.77447509765625 + ], + [ + 17.527099609375, + 28.9197998046875 + ], + [ + 28.04339599609375, + 46.4468994140625 + ], + [ + 38.5596923828125, + 62.22125244140625 + ], + [ + 52.581298828125, + 77.119384765625 + ], + [ + 58.7158203125, + 83.2537841796875 + ], + [ + 63.09765625, + 86.75921630859375 + ], + [ + 65.7266845703125, + 87.6356201171875 + ], + [ + 66.60302734375, + 87.6356201171875 + ], + [ + 65.7266845703125, + 85.00653076171875 + ], + [ + 64.850341796875, + 84.13018798828125 + ], + [ + 64.850341796875, + 84.13018798828125 + ] + ], + "pressures": [ + 0.0849609375, + 0.609375, + 0.9453125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.853515625, + 0.6015625, + 0.142578125, + 0.0810546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 64.850341796875, + 84.13018798828125 + ] + }, + { + "id": "kV9YLS-7rYzT2XkBeQcZe", + "type": "freedraw", + "x": -122.1462620326447, + "y": -118.30415889195012, + "width": 69.23211669921875, + "height": 84.13018798828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 917414083, + "version": 645, + "versionNonce": 221719907, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.88720703125, + 8.7635498046875 + ], + [ + 15.7744140625, + 17.527099609375 + ], + [ + 22.78521728515625, + 28.91973876953125 + ], + [ + 30.67242431640625, + 42.06512451171875 + ], + [ + 41.18878173828125, + 54.3341064453125 + ], + [ + 56.08673095703125, + 70.98486328125 + ], + [ + 63.09759521484375, + 77.99566650390625 + ], + [ + 66.60308837890625, + 82.37750244140625 + ], + [ + 68.35577392578125, + 83.25384521484375 + ], + [ + 69.23211669921875, + 84.13018798828125 + ], + [ + 69.23211669921875, + 82.37750244140625 + ], + [ + 68.35577392578125, + 79.7484130859375 + ], + [ + 67.47943115234375, + 77.99566650390625 + ], + [ + 67.47943115234375, + 77.99566650390625 + ] + ], + "pressures": [ + 0.0556640625, + 0.435546875, + 0.66796875, + 0.857421875, + 1, + 1, + 1, + 1, + 1, + 0.904296875, + 0.537109375, + 0.197265625, + 0.1083984375, + 0.0361328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 67.47943115234375, + 77.99566650390625 + ] + }, + { + "id": "A-dBY_Nka4wMnJB9PELs3", + "type": "freedraw", + "x": -116.88814435686345, + "y": -113.04604121616887, + "width": 60.4686279296875, + "height": 80.624755859375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 488618595, + "version": 643, + "versionNonce": 1730612813, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 6.134521484375, + 11.39263916015625 + ], + [ + 19.27984619140625, + 31.54888916015625 + ], + [ + 27.16705322265625, + 44.6942138671875 + ], + [ + 35.05419921875, + 55.21044921875 + ], + [ + 42.0650634765625, + 63.09765625 + ], + [ + 49.9522705078125, + 72.737548828125 + ], + [ + 55.21044921875, + 77.119384765625 + ], + [ + 57.8394775390625, + 79.74847412109375 + ], + [ + 60.4686279296875, + 80.624755859375 + ], + [ + 60.4686279296875, + 79.74847412109375 + ], + [ + 60.4686279296875, + 78.8720703125 + ], + [ + 60.4686279296875, + 78.8720703125 + ] + ], + "pressures": [ + 0.1298828125, + 0.6826171875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6806640625, + 0.2919921875, + 0.115234375, + 0.0166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 60.4686279296875, + 78.8720703125 + ] + }, + { + "id": "ZSRJcKV_5D-4LhJWmYO2k", + "type": "freedraw", + "x": -107.24825177873845, + "y": -116.55141230991887, + "width": 63.09765625, + "height": 84.130126953125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 13100131, + "version": 644, + "versionNonce": 1297189123, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 1.752685546875 + ], + [ + -0.8763427734375, + 7.01080322265625 + ], + [ + 6.134521484375, + 21.03253173828125 + ], + [ + 14.021728515625, + 34.1778564453125 + ], + [ + 23.66162109375, + 48.1995849609375 + ], + [ + 37.683349609375, + 66.60302734375 + ], + [ + 45.570556640625, + 75.3665771484375 + ], + [ + 50.8287353515625, + 80.624755859375 + ], + [ + 54.3341064453125, + 83.25384521484375 + ], + [ + 56.0867919921875, + 84.130126953125 + ], + [ + 59.59228515625, + 84.130126953125 + ], + [ + 61.344970703125, + 84.130126953125 + ], + [ + 61.344970703125, + 84.130126953125 + ] + ], + "pressures": [ + 0.0224609375, + 0.515625, + 0.669921875, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 0.966796875, + 0.669921875, + 0.259765625, + 0.140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 61.344970703125, + 84.130126953125 + ] + }, + { + "id": "zN3IXxkZlGkskphBJtT5s", + "type": "freedraw", + "x": -111.6300266810822, + "y": -115.67506953648137, + "width": 66.60308837890625, + "height": 92.89373779296875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1193065805, + "version": 643, + "versionNonce": 287947949, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.62908935546875, + 5.25811767578125 + ], + [ + 8.76361083984375, + 14.89801025390625 + ], + [ + 15.7744140625, + 27.1669921875 + ], + [ + 24.5379638671875, + 41.188720703125 + ], + [ + 33.30157470703125, + 53.45770263671875 + ], + [ + 45.57049560546875, + 70.98480224609375 + ], + [ + 52.58135986328125, + 81.5010986328125 + ], + [ + 58.71588134765625, + 88.511962890625 + ], + [ + 62.22125244140625, + 92.01739501953125 + ], + [ + 66.60308837890625, + 92.89373779296875 + ], + [ + 66.60308837890625, + 92.01739501953125 + ], + [ + 66.60308837890625, + 92.01739501953125 + ] + ], + "pressures": [ + 0.091796875, + 0.34765625, + 0.5341796875, + 0.751953125, + 0.92578125, + 1, + 0.986328125, + 0.9560546875, + 0.8369140625, + 0.6181640625, + 0.1767578125, + 0.1015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.60308837890625, + 92.01739501953125 + ] + }, + { + "id": "7SgiGMj39lRUjflfLgU6R", + "type": "freedraw", + "x": -109.87728009905095, + "y": -118.30415889195012, + "width": 59.59222412109375, + "height": 82.37750244140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 214709069, + "version": 643, + "versionNonce": 1021276323, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558539, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + 3.50543212890625 + ], + [ + 0, + 8.7635498046875 + ], + [ + 5.25811767578125, + 19.2799072265625 + ], + [ + 14.02166748046875, + 34.17791748046875 + ], + [ + 25.414306640625, + 49.075927734375 + ], + [ + 42.0650634765625, + 66.60308837890625 + ], + [ + 49.9522705078125, + 74.49029541015625 + ], + [ + 55.21044921875, + 79.7484130859375 + ], + [ + 57.8394775390625, + 82.37750244140625 + ], + [ + 57.8394775390625, + 81.5010986328125 + ], + [ + 57.8394775390625, + 80.62481689453125 + ], + [ + 57.8394775390625, + 80.62481689453125 + ] + ], + "pressures": [ + 0.0673828125, + 0.328125, + 0.3701171875, + 0.5, + 0.6865234375, + 0.7890625, + 0.7890625, + 0.744140625, + 0.6591796875, + 0.458984375, + 0.1669921875, + 0.0654296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 57.8394775390625, + 80.62481689453125 + ] + }, + { + "id": "x-ccOBMPcGRlqfLpg1tas", + "type": "freedraw", + "x": -122.1176298949522, + "y": -112.65184629148654, + "width": 63.82290505475253, + "height": 84.21077064316532, + "angle": 0.19228237512869928, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1685039437, + "version": 736, + "versionNonce": 394764045, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0.010072744167721304, + 0 + ], + [ + -0.8763427734375, + 4.432201061423181 + ], + [ + 0.8964882617729423, + 9.750694167054512 + ], + [ + 6.215043104102806, + 18.61497281650381 + ], + [ + 11.533659683131205, + 30.138559755467295 + ], + [ + 17.738630043066298, + 40.775731176825566 + ], + [ + 30.148694236333547, + 57.61793469481748 + ], + [ + 39.01297288578285, + 67.36856712517347 + ], + [ + 46.99083601762689, + 75.34649199371603 + ], + [ + 56.74153018468136, + 82.43787787125633 + ], + [ + 60.28719225510227, + 84.21077064316532 + ], + [ + 62.94656228131503, + 84.21077064316532 + ], + [ + 62.94656228131503, + 84.21077064316532 + ] + ], + "pressures": [ + 0.087890625, + 0.26953125, + 0.3525390625, + 0.478515625, + 0.677734375, + 0.794921875, + 0.8388671875, + 0.8388671875, + 0.78515625, + 0.5595703125, + 0.3447265625, + 0.1748046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 62.2213134765625, + 83.25384521484375 + ] + }, + { + "id": "_gmRo7sH967HBOfDL0NsR", + "type": "freedraw", + "x": -112.5063694545197, + "y": -37.679341997418874, + "width": 55.21038818359375, + "height": 50.82861328125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 114725357, + "version": 640, + "versionNonce": 1032807491, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + -1.75274658203125 + ], + [ + 0.8763427734375, + 2.6290283203125 + ], + [ + 9.63995361328125, + 12.2689208984375 + ], + [ + 19.27984619140625, + 23.66156005859375 + ], + [ + 31.54888916015625, + 37.6832275390625 + ], + [ + 38.55963134765625, + 43.81781005859375 + ], + [ + 42.06512451171875, + 47.32318115234375 + ], + [ + 44.69415283203125, + 49.07586669921875 + ], + [ + 48.19964599609375, + 49.07586669921875 + ], + [ + 52.58135986328125, + 49.07586669921875 + ], + [ + 52.58135986328125, + 49.07586669921875 + ] + ], + "pressures": [ + 0.0087890625, + 0.349609375, + 0.56640625, + 0.6240234375, + 0.716796875, + 0.7587890625, + 0.751953125, + 0.703125, + 0.546875, + 0.3046875, + 0.0947265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 52.58135986328125, + 49.07586669921875 + ] + }, + { + "id": "5_mIMviDCqDEywoQSe-u2", + "type": "freedraw", + "x": -118.64082990373845, + "y": -33.297567095075124, + "width": 106.9154052734375, + "height": 39.43603515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 839701261, + "version": 640, + "versionNonce": 817509741, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.50543212890625, + 0.87628173828125 + ], + [ + 15.7744140625, + 8.7635498046875 + ], + [ + 34.1778564453125, + 19.27978515625 + ], + [ + 62.2213134765625, + 31.54876708984375 + ], + [ + 77.1192626953125, + 35.9305419921875 + ], + [ + 89.3883056640625, + 38.55963134765625 + ], + [ + 98.15185546875, + 39.43603515625 + ], + [ + 106.9154052734375, + 38.55963134765625 + ], + [ + 106.9154052734375, + 37.68328857421875 + ], + [ + 106.0390625, + 37.68328857421875 + ], + [ + 106.0390625, + 37.68328857421875 + ] + ], + "pressures": [ + 0.099609375, + 0.40234375, + 0.66015625, + 0.953125, + 1, + 1, + 1, + 0.732421875, + 0.2265625, + 0.1376953125, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 106.0390625, + 37.68328857421875 + ] + }, + { + "id": "tr15upmvg0teGDx3BOuoA", + "type": "freedraw", + "x": -66.93587384905095, + "y": -36.803060259137624, + "width": 64.850341796875, + "height": 12.26898193359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1801789955, + "version": 639, + "versionNonce": 2000675811, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.3818359375, + -0.87628173828125 + ], + [ + 14.8980712890625, + -0.87628173828125 + ], + [ + 25.414306640625, + -0.87628173828125 + ], + [ + 42.9415283203125, + -3.50543212890625 + ], + [ + 53.457763671875, + -7.01080322265625 + ], + [ + 61.344970703125, + -8.7635498046875 + ], + [ + 63.9739990234375, + -9.63983154296875 + ], + [ + 64.850341796875, + -9.63983154296875 + ], + [ + 61.344970703125, + -11.392578125 + ], + [ + 60.4686279296875, + -12.26898193359375 + ], + [ + 60.4686279296875, + -12.26898193359375 + ] + ], + "pressures": [ + 0.1044921875, + 0.6201171875, + 0.9423828125, + 1, + 1, + 1, + 1, + 0.9384765625, + 0.6806640625, + 0.166015625, + 0.0791015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 60.4686279296875, + -12.26898193359375 + ] + }, + { + "id": "lAI7vWGE2OTTW45EHmp66", + "type": "freedraw", + "x": -54.66683088030095, + "y": -41.184835161481374, + "width": 71.8612060546875, + "height": 54.33404541015625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 831180269, + "version": 652, + "versionNonce": 134938573, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 14.8980712890625, + 0 + ], + [ + 21.9088134765625, + -0.87628173828125 + ], + [ + 30.6724853515625, + -1.752685546875 + ], + [ + 40.3123779296875, + -1.752685546875 + ], + [ + 54.3341064453125, + -0.87628173828125 + ], + [ + 60.468505859375, + 0 + ], + [ + 64.850341796875, + 2.62908935546875 + ], + [ + 68.355712890625, + 6.134521484375 + ], + [ + 70.98486328125, + 10.51629638671875 + ], + [ + 71.8612060546875, + 18.40350341796875 + ], + [ + 71.8612060546875, + 24.5379638671875 + ], + [ + 70.1083984375, + 30.6724853515625 + ], + [ + 65.7266845703125, + 35.93060302734375 + ], + [ + 56.0867919921875, + 42.06512451171875 + ], + [ + 49.075927734375, + 45.570556640625 + ], + [ + 42.0650634765625, + 48.1995849609375 + ], + [ + 36.806884765625, + 50.82867431640625 + ], + [ + 33.301513671875, + 51.705078125 + ], + [ + 29.7960205078125, + 52.58135986328125 + ], + [ + 28.919677734375, + 52.58135986328125 + ], + [ + 28.0433349609375, + 52.58135986328125 + ], + [ + 28.0433349609375, + 51.705078125 + ], + [ + 29.7960205078125, + 50.82867431640625 + ], + [ + 29.7960205078125, + 49.95233154296875 + ], + [ + 29.7960205078125, + 49.95233154296875 + ] + ], + "pressures": [ + 0.1064453125, + 0.27734375, + 0.34765625, + 0.4248046875, + 0.5087890625, + 0.537109375, + 0.5380859375, + 0.5380859375, + 0.5263671875, + 0.4990234375, + 0.46875, + 0.46875, + 0.48046875, + 0.4921875, + 0.4990234375, + 0.50390625, + 0.5068359375, + 0.50390625, + 0.4765625, + 0.435546875, + 0.400390625, + 0.3544921875, + 0.158203125, + 0.0576171875, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 29.7960205078125, + 49.95233154296875 + ] + }, + { + "id": "Y7sjEisxX8BxkbdYPzMZg", + "type": "freedraw", + "x": -126.52803693498845, + "y": -37.679341997418874, + "width": 78.87200927734375, + "height": 36.8070068359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 944834947, + "version": 638, + "versionNonce": 301952899, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + -2.629150390625 + ], + [ + 0, + -1.75274658203125 + ], + [ + 8.7635498046875, + 5.258056640625 + ], + [ + 27.1669921875, + 18.4034423828125 + ], + [ + 38.55963134765625, + 26.29071044921875 + ], + [ + 49.075927734375, + 30.6724853515625 + ], + [ + 57.8394775390625, + 33.30145263671875 + ], + [ + 69.2320556640625, + 34.1778564453125 + ], + [ + 73.6138916015625, + 34.1778564453125 + ], + [ + 76.242919921875, + 34.1778564453125 + ], + [ + 76.242919921875, + 32.42510986328125 + ], + [ + 74.490234375, + 31.54876708984375 + ], + [ + 74.490234375, + 31.54876708984375 + ] + ], + "pressures": [ + 0.00390625, + 0.25390625, + 0.8408203125, + 1, + 1, + 1, + 1, + 1, + 0.673828125, + 0.3798828125, + 0.1962890625, + 0.1171875, + 0.0634765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 74.490234375, + 31.54876708984375 + ] + }, + { + "id": "KXqu7pVPZdq4mprG3kOz3", + "type": "freedraw", + "x": -116.01180158342595, + "y": -34.173970903668874, + "width": 74.490234375, + "height": 12.26898193359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 770127171, + "version": 626, + "versionNonce": 596868653, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 74.490234375, + 12.26898193359375 + ] + ], + "pressures": [ + 0.1318359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 74.490234375, + 12.26898193359375 + ] + }, + { + "id": "0zdnh9X28wcXHGxRRas5_", + "type": "freedraw", + "x": -184.3675755092072, + "y": -109.54060908726262, + "width": 60.46856689453125, + "height": 51.705078125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 625027405, + "version": 644, + "versionNonce": 806127395, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + 0 + ], + [ + -4.38177490234375, + -0.8763427734375 + ], + [ + -7.88720703125, + -0.8763427734375 + ], + [ + -14.89801025390625, + -1.752685546875 + ], + [ + -18.4034423828125, + -1.752685546875 + ], + [ + -21.03253173828125, + -1.752685546875 + ], + [ + -22.78521728515625, + -1.752685546875 + ], + [ + -23.66162109375, + -0.8763427734375 + ], + [ + -23.66162109375, + 2.62908935546875 + ], + [ + -21.03253173828125, + 7.0108642578125 + ], + [ + -13.14532470703125, + 14.021728515625 + ], + [ + -0.8763427734375, + 26.29071044921875 + ], + [ + 18.40350341796875, + 42.94146728515625 + ], + [ + 26.29071044921875, + 47.3232421875 + ], + [ + 31.548828125, + 49.075927734375 + ], + [ + 35.05426025390625, + 49.952392578125 + ], + [ + 36.80694580078125, + 49.952392578125 + ], + [ + 34.17791748046875, + 46.4468994140625 + ], + [ + 31.548828125, + 43.81781005859375 + ], + [ + 31.548828125, + 43.81781005859375 + ] + ], + "pressures": [ + 0.064453125, + 0.9150390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.23828125, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.548828125, + 43.81781005859375 + ] + }, + { + "id": "PCTrNcIpgwbKeTUpE1DMU", + "type": "freedraw", + "x": -156.32417951311345, + "y": -57.835591997418874, + "width": 55.21044921875, + "height": 14.021728515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1405045219, + "version": 638, + "versionNonce": 171782285, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 4.38177490234375 + ], + [ + 2.62908935546875, + 6.134521484375 + ], + [ + 9.63995361328125, + 8.7635498046875 + ], + [ + 16.6507568359375, + 9.63995361328125 + ], + [ + 25.41436767578125, + 9.63995361328125 + ], + [ + 33.30157470703125, + 9.63995361328125 + ], + [ + 42.94146728515625, + 7.01092529296875 + ], + [ + 46.4468994140625, + 5.25811767578125 + ], + [ + 49.075927734375, + 4.38177490234375 + ], + [ + 51.70501708984375, + 3.50543212890625 + ], + [ + 55.21044921875, + 2.629150390625 + ], + [ + 55.21044921875, + 1.75274658203125 + ], + [ + 55.21044921875, + 0.8763427734375 + ], + [ + 52.58135986328125, + -0.8763427734375 + ], + [ + 48.1995849609375, + -2.62908935546875 + ], + [ + 42.06512451171875, + -4.38177490234375 + ], + [ + 42.06512451171875, + -4.38177490234375 + ] + ], + "pressures": [ + 0.12890625, + 0.380859375, + 0.537109375, + 0.8955078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.853515625, + 0.484375, + 0.2451171875, + 0.1494140625, + 0.03125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.06512451171875, + -4.38177490234375 + ] + }, + { + "id": "_U1uiWiGA59rXGkWFPF0w", + "type": "freedraw", + "x": -142.30245099748845, + "y": -49.948384966168874, + "width": 49.9522705078125, + "height": 24.5379638671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 204374925, + "version": 636, + "versionNonce": 668314307, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 13.14532470703125, + 7.0108642578125 + ], + [ + 21.90887451171875, + 9.639892578125 + ], + [ + 29.79608154296875, + 10.51629638671875 + ], + [ + 36.80694580078125, + 9.639892578125 + ], + [ + 45.57049560546875, + 6.134521484375 + ], + [ + 48.1995849609375, + 3.5054931640625 + ], + [ + 49.9522705078125, + 0 + ], + [ + 49.9522705078125, + -3.50543212890625 + ], + [ + 49.9522705078125, + -7.0108642578125 + ], + [ + 49.075927734375, + -10.51629638671875 + ], + [ + 47.3232421875, + -12.26898193359375 + ], + [ + 44.69415283203125, + -13.14532470703125 + ], + [ + 42.0650634765625, + -13.14532470703125 + ], + [ + 39.43603515625, + -14.02166748046875 + ], + [ + 39.43603515625, + -14.02166748046875 + ] + ], + "pressures": [ + 0.08984375, + 0.87890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 0.576171875, + 0.3623046875, + 0.2392578125, + 0.15234375, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.43603515625, + -14.02166748046875 + ] + }, + { + "id": "YApEtsdu62wisyrMOJcTV", + "type": "freedraw", + "x": -134.41524396623845, + "y": -47.319295610700124, + "width": 50.82867431640625, + "height": 14.8980712890625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2096328291, + "version": 638, + "versionNonce": 700552941, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.62908935546875, + 0 + ], + [ + -1.75274658203125, + 0.87640380859375 + ], + [ + 4.38177490234375, + 2.6290283203125 + ], + [ + 9.639892578125, + 3.50543212890625 + ], + [ + 14.89801025390625, + 4.38177490234375 + ], + [ + 21.90887451171875, + 4.38177490234375 + ], + [ + 31.548828125, + 3.50543212890625 + ], + [ + 37.68328857421875, + 1.752685546875 + ], + [ + 42.0650634765625, + 0 + ], + [ + 44.69415283203125, + -0.8763427734375 + ], + [ + 46.44683837890625, + -1.75274658203125 + ], + [ + 47.32318115234375, + -3.50537109375 + ], + [ + 48.1995849609375, + -7.0108642578125 + ], + [ + 47.32318115234375, + -8.7635498046875 + ], + [ + 44.69415283203125, + -9.63995361328125 + ], + [ + 42.94140625, + -10.51629638671875 + ], + [ + 42.94140625, + -10.51629638671875 + ] + ], + "pressures": [ + 0.056640625, + 0.4228515625, + 0.5615234375, + 0.8203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.828125, + 0.470703125, + 0.2783203125, + 0.1494140625, + 0.056640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.94140625, + -10.51629638671875 + ] + }, + { + "id": "s__q7uc-5ODBjBFUnfNgR", + "type": "freedraw", + "x": -108.12459455217595, + "y": -113.92238398960637, + "width": 27.1671142578125, + "height": 73.6138916015625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 251865315, + "version": 632, + "versionNonce": 2113493603, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.8763427734375, + -2.6290283203125 + ], + [ + 0.8763427734375, + -0.8763427734375 + ], + [ + 0.8763427734375, + 5.25811767578125 + ], + [ + 4.38177490234375, + 14.021728515625 + ], + [ + 8.7635498046875, + 25.414306640625 + ], + [ + 13.1453857421875, + 36.8070068359375 + ], + [ + 19.27984619140625, + 53.45770263671875 + ], + [ + 22.7852783203125, + 62.2213134765625 + ], + [ + 25.414306640625, + 67.4794921875 + ], + [ + 27.1671142578125, + 70.1085205078125 + ], + [ + 27.1671142578125, + 70.98486328125 + ], + [ + 27.1671142578125, + 70.1085205078125 + ], + [ + 27.1671142578125, + 68.35577392578125 + ], + [ + 27.1671142578125, + 68.35577392578125 + ] + ], + "pressures": [ + 0.009765625, + 0.2255859375, + 0.380859375, + 0.6806640625, + 0.884765625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.732421875, + 0.171875, + 0.041015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.1671142578125, + 68.35577392578125 + ] + }, + { + "id": "Lo1r7OPFBnjYs9Qf6O853", + "type": "freedraw", + "x": -104.6191624232697, + "y": -113.04604121616887, + "width": 23.66168212890625, + "height": 71.8612060546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1360414403, + "version": 633, + "versionNonce": 2091528525, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 2.62908935546875 + ], + [ + 3.50543212890625, + 16.65081787109375 + ], + [ + 5.25811767578125, + 21.908935546875 + ], + [ + 7.88720703125, + 32.4251708984375 + ], + [ + 9.63995361328125, + 41.18878173828125 + ], + [ + 12.26898193359375, + 49.07598876953125 + ], + [ + 16.6507568359375, + 58.71588134765625 + ], + [ + 19.27984619140625, + 63.9739990234375 + ], + [ + 21.03253173828125, + 67.47943115234375 + ], + [ + 22.78521728515625, + 70.1085205078125 + ], + [ + 23.66168212890625, + 70.98492431640625 + ], + [ + 23.66168212890625, + 71.8612060546875 + ], + [ + 23.66168212890625, + 69.232177734375 + ], + [ + 23.66168212890625, + 67.47943115234375 + ], + [ + 23.66168212890625, + 67.47943115234375 + ] + ], + "pressures": [ + 0.0947265625, + 0.796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6533203125, + 0.1689453125, + 0.0263671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.66168212890625, + 67.47943115234375 + ] + }, + { + "id": "yPQ2nLIjA-hQWcA4q3HcD", + "type": "freedraw", + "x": -107.24825177873845, + "y": -105.15883418491887, + "width": 24.5379638671875, + "height": 61.344970703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1451949837, + "version": 630, + "versionNonce": 524686851, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 7.0108642578125 + ], + [ + 1.75274658203125, + 14.021728515625 + ], + [ + 5.2581787109375, + 22.7852783203125 + ], + [ + 8.76361083984375, + 30.6724853515625 + ], + [ + 14.021728515625, + 45.57061767578125 + ], + [ + 18.40350341796875, + 54.33416748046875 + ], + [ + 21.908935546875, + 59.59222412109375 + ], + [ + 23.66162109375, + 61.344970703125 + ], + [ + 23.66162109375, + 60.46856689453125 + ], + [ + 22.7852783203125, + 59.59222412109375 + ], + [ + 22.7852783203125, + 58.7159423828125 + ], + [ + 22.7852783203125, + 58.7159423828125 + ] + ], + "pressures": [ + 0.044921875, + 0.85546875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8916015625, + 0.212890625, + 0.0986328125, + 0.0224609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.7852783203125, + 58.7159423828125 + ] + }, + { + "id": "phjYYGZjzl1X4Z30z3QPu", + "type": "freedraw", + "x": -160.7059544154572, + "y": -147.22383662632512, + "width": 32.4251708984375, + "height": 42.06512451171875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 884946125, + "version": 637, + "versionNonce": 1884323757, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.62908935546875, + -1.7528076171875 + ], + [ + 1.75274658203125, + 0.87628173828125 + ], + [ + 0, + 7.01080322265625 + ], + [ + -3.50543212890625, + 21.032470703125 + ], + [ + -6.13446044921875, + 30.67242431640625 + ], + [ + -7.88720703125, + 36.806884765625 + ], + [ + -8.7635498046875, + 39.43603515625 + ], + [ + -8.7635498046875, + 40.31231689453125 + ], + [ + -7.88720703125, + 40.31231689453125 + ], + [ + -5.25811767578125, + 40.31231689453125 + ], + [ + -1.752685546875, + 40.31231689453125 + ], + [ + 2.62908935546875, + 39.43603515625 + ], + [ + 7.88720703125, + 37.6832275390625 + ], + [ + 14.8980712890625, + 35.05419921875 + ], + [ + 18.40350341796875, + 34.17779541015625 + ], + [ + 21.03253173828125, + 34.17779541015625 + ], + [ + 22.7852783203125, + 34.17779541015625 + ], + [ + 23.66162109375, + 34.17779541015625 + ], + [ + 23.66162109375, + 33.30145263671875 + ], + [ + 22.7852783203125, + 32.42510986328125 + ], + [ + 22.7852783203125, + 32.42510986328125 + ] + ], + "pressures": [ + 0.0087890625, + 0.203125, + 0.572265625, + 0.677734375, + 0.822265625, + 0.8828125, + 0.9150390625, + 0.951171875, + 0.970703125, + 0.9755859375, + 0.970703125, + 0.9921875, + 1, + 1, + 1, + 1, + 0.931640625, + 0.720703125, + 0.55078125, + 0.19921875, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.7852783203125, + 32.42510986328125 + ] + }, + { + "id": "Kd_IZzkZNNbzYq0OGw71f", + "type": "freedraw", + "x": -151.9424046107697, + "y": -141.96577998570012, + "width": 27.16705322265625, + "height": 31.54876708984375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1672220291, + "version": 639, + "versionNonce": 1522163107, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.87640380859375, + -0.87628173828125 + ], + [ + 0, + -0.87628173828125 + ], + [ + -1.752685546875, + 0.8763427734375 + ], + [ + -5.25811767578125, + 5.2581787109375 + ], + [ + -7.88720703125, + 11.39263916015625 + ], + [ + -10.5162353515625, + 16.65081787109375 + ], + [ + -12.26898193359375, + 20.15618896484375 + ], + [ + -13.14532470703125, + 21.908935546875 + ], + [ + -13.14532470703125, + 24.5379638671875 + ], + [ + -13.14532470703125, + 27.16705322265625 + ], + [ + -11.392578125, + 29.796142578125 + ], + [ + -11.392578125, + 30.6724853515625 + ], + [ + -9.639892578125, + 30.6724853515625 + ], + [ + -6.13446044921875, + 30.6724853515625 + ], + [ + -1.752685546875, + 29.796142578125 + ], + [ + 6.134521484375, + 27.16705322265625 + ], + [ + 9.63995361328125, + 24.5379638671875 + ], + [ + 12.26898193359375, + 22.7852783203125 + ], + [ + 13.1453857421875, + 21.908935546875 + ], + [ + 14.021728515625, + 21.908935546875 + ], + [ + 13.1453857421875, + 21.908935546875 + ], + [ + 13.1453857421875, + 22.7852783203125 + ], + [ + 13.1453857421875, + 22.7852783203125 + ] + ], + "pressures": [ + 0.060546875, + 0.3193359375, + 0.9111328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2763671875, + 0.0673828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 13.1453857421875, + 22.7852783203125 + ] + }, + { + "id": "slKfpstPy39OOmCN6S6Vd", + "type": "freedraw", + "x": -148.43697248186345, + "y": -140.0536650620495, + "width": 28.9197998046875, + "height": 25.41424560546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1837079949, + "version": 639, + "versionNonce": 182321677, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + 0.87628173828125 + ], + [ + -4.38177490234375, + 3.50537109375 + ], + [ + -9.639892578125, + 11.392578125 + ], + [ + -11.39263916015625, + 14.89801025390625 + ], + [ + -14.02166748046875, + 18.4034423828125 + ], + [ + -14.89801025390625, + 20.1561279296875 + ], + [ + -15.7744140625, + 21.032470703125 + ], + [ + -15.7744140625, + 21.90887451171875 + ], + [ + -15.7744140625, + 22.78521728515625 + ], + [ + -14.02166748046875, + 22.78521728515625 + ], + [ + -11.39263916015625, + 23.66156005859375 + ], + [ + -4.38177490234375, + 24.53790283203125 + ], + [ + 0.8763427734375, + 25.41424560546875 + ], + [ + 5.2581787109375, + 25.41424560546875 + ], + [ + 9.63995361328125, + 25.41424560546875 + ], + [ + 11.39263916015625, + 25.41424560546875 + ], + [ + 13.1453857421875, + 25.41424560546875 + ], + [ + 13.1453857421875, + 24.53790283203125 + ], + [ + 12.26898193359375, + 23.66156005859375 + ], + [ + 10.51629638671875, + 22.78521728515625 + ], + [ + 10.51629638671875, + 22.78521728515625 + ] + ], + "pressures": [ + 0.0751953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2119140625, + 0.1171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.51629638671875, + 22.78521728515625 + ] + }, + { + "id": "dop670DVhK5FALab__cmS", + "type": "freedraw", + "x": -174.72762189592595, + "y": -136.70760127476262, + "width": 16.6507568359375, + "height": 17.527099609375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1941114275, + "version": 635, + "versionNonce": 461680963, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.87640380859375, + 0 + ], + [ + -0.87640380859375, + 2.62908935546875 + ], + [ + -0.87640380859375, + 7.0108642578125 + ], + [ + -0.87640380859375, + 10.5162353515625 + ], + [ + -0.87640380859375, + 13.14532470703125 + ], + [ + -0.87640380859375, + 15.7744140625 + ], + [ + -0.87640380859375, + 16.6507568359375 + ], + [ + -1.75274658203125, + 17.527099609375 + ], + [ + -2.62908935546875, + 17.527099609375 + ], + [ + -4.38177490234375, + 17.527099609375 + ], + [ + -6.134521484375, + 17.527099609375 + ], + [ + -10.51629638671875, + 17.527099609375 + ], + [ + -12.26898193359375, + 17.527099609375 + ], + [ + -14.021728515625, + 16.6507568359375 + ], + [ + -14.8980712890625, + 16.6507568359375 + ], + [ + -15.7744140625, + 15.7744140625 + ], + [ + -16.6507568359375, + 15.7744140625 + ], + [ + -14.8980712890625, + 14.89801025390625 + ], + [ + -13.1453857421875, + 14.02166748046875 + ], + [ + -11.39263916015625, + 14.02166748046875 + ], + [ + -11.39263916015625, + 14.02166748046875 + ] + ], + "pressures": [ + 0.05078125, + 0.2509765625, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2939453125, + 0.1669921875, + 0.1201171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -11.39263916015625, + 14.02166748046875 + ] + }, + { + "id": "JuRrdrVnfHl-Q4K5ktqvu", + "type": "freedraw", + "x": -179.1093967982697, + "y": -136.70760127476262, + "width": 19.27984619140625, + "height": 16.6507568359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1393542371, + "version": 637, + "versionNonce": 1363949677, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.50537109375 + ], + [ + 0, + 8.7635498046875 + ], + [ + 0, + 13.14532470703125 + ], + [ + 0, + 14.89801025390625 + ], + [ + 0, + 15.7744140625 + ], + [ + -1.75274658203125, + 15.7744140625 + ], + [ + -2.62908935546875, + 15.7744140625 + ], + [ + -4.38177490234375, + 15.7744140625 + ], + [ + -5.2581787109375, + 16.6507568359375 + ], + [ + -7.88720703125, + 16.6507568359375 + ], + [ + -9.63995361328125, + 16.6507568359375 + ], + [ + -11.39263916015625, + 16.6507568359375 + ], + [ + -13.1453857421875, + 16.6507568359375 + ], + [ + -14.021728515625, + 16.6507568359375 + ], + [ + -14.8980712890625, + 16.6507568359375 + ], + [ + -15.7744140625, + 16.6507568359375 + ], + [ + -16.65081787109375, + 16.6507568359375 + ], + [ + -17.52716064453125, + 16.6507568359375 + ], + [ + -19.27984619140625, + 16.6507568359375 + ], + [ + -17.52716064453125, + 16.6507568359375 + ], + [ + -15.7744140625, + 16.6507568359375 + ], + [ + -13.1453857421875, + 16.6507568359375 + ], + [ + -13.1453857421875, + 16.6507568359375 + ] + ], + "pressures": [ + 0.0693359375, + 0.828125, + 0.966796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4169921875, + 0.2197265625, + 0.1328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -13.1453857421875, + 16.6507568359375 + ] + }, + { + "id": "-Jem4ZT2hiqim1USRPsEX", + "type": "freedraw", + "x": -180.86214338030095, + "y": -134.87521491112625, + "width": 16.6507568359375, + "height": 16.6507568359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 947072963, + "version": 638, + "versionNonce": 1661178083, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.87640380859375 + ], + [ + 0, + 0.87628173828125 + ], + [ + 0, + 5.258056640625 + ], + [ + 0, + 9.639892578125 + ], + [ + 0, + 12.2689208984375 + ], + [ + 0, + 14.02166748046875 + ], + [ + 0, + 14.89801025390625 + ], + [ + -0.8763427734375, + 14.89801025390625 + ], + [ + -1.752685546875, + 15.77435302734375 + ], + [ + -2.6290283203125, + 15.77435302734375 + ], + [ + -4.38177490234375, + 15.77435302734375 + ], + [ + -5.25811767578125, + 15.77435302734375 + ], + [ + -7.88720703125, + 15.77435302734375 + ], + [ + -9.639892578125, + 15.77435302734375 + ], + [ + -10.5162353515625, + 15.77435302734375 + ], + [ + -12.26898193359375, + 15.77435302734375 + ], + [ + -14.02166748046875, + 15.77435302734375 + ], + [ + -14.02166748046875, + 14.89801025390625 + ], + [ + -15.7744140625, + 14.89801025390625 + ], + [ + -16.6507568359375, + 14.89801025390625 + ], + [ + -15.7744140625, + 14.89801025390625 + ], + [ + -14.8980712890625, + 14.02166748046875 + ], + [ + -14.8980712890625, + 14.02166748046875 + ] + ], + "pressures": [ + 0.060546875, + 0.56640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.205078125, + 0.119140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -14.8980712890625, + 14.02166748046875 + ] + }, + { + "id": "hD29pnMnY3-FceZiiEWX-", + "type": "freedraw", + "x": -101.11373029436345, + "y": -49.948384966168874, + "width": 55.21044921875, + "height": 2.6290283203125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 702285421, + "version": 619, + "versionNonce": 1835311821, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + 1.752685546875, + 0 + ], + [ + 7.0108642578125, + 0 + ], + [ + 15.7744140625, + 0 + ], + [ + 27.1669921875, + 0.8763427734375 + ], + [ + 39.43603515625, + 0.8763427734375 + ], + [ + 51.7049560546875, + 1.75274658203125 + ], + [ + 54.3341064453125, + 1.75274658203125 + ], + [ + 49.9522705078125, + -0.87628173828125 + ], + [ + 49.9522705078125, + -0.87628173828125 + ] + ], + "pressures": [ + 0.0302734375, + 0.328125, + 0.4521484375, + 0.630859375, + 0.7587890625, + 0.8427734375, + 0.857421875, + 0.82421875, + 0.783203125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 49.9522705078125, + -0.87628173828125 + ] + }, + { + "id": "YrqfopOOIHNZUFLj7B9Nn", + "type": "freedraw", + "x": -98.4846409388947, + "y": -54.330159868512624, + "width": 51.70501708984375, + "height": 5.25811767578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 611649965, + "version": 623, + "versionNonce": 46496899, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.8763427734375, + 0 + ], + [ + 7.01080322265625, + 0 + ], + [ + 14.89801025390625, + 0 + ], + [ + 29.79608154296875, + 0.8763427734375 + ], + [ + 39.43597412109375, + 1.752685546875 + ], + [ + 46.44683837890625, + 1.752685546875 + ], + [ + 49.95233154296875, + 1.752685546875 + ], + [ + 51.70501708984375, + 0.8763427734375 + ], + [ + 51.70501708984375, + 0 + ], + [ + 49.07586669921875, + -1.752685546875 + ], + [ + 45.57049560546875, + -2.62908935546875 + ], + [ + 42.94146728515625, + -3.50543212890625 + ], + [ + 42.06512451171875, + -3.50543212890625 + ], + [ + 42.06512451171875, + -3.50543212890625 + ] + ], + "pressures": [ + 0.095703125, + 0.6064453125, + 0.876953125, + 1, + 1, + 1, + 1, + 0.994140625, + 0.55078125, + 0.365234375, + 0.25390625, + 0.1474609375, + 0.068359375, + 0.017578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.06512451171875, + -3.50543212890625 + ] + }, + { + "id": "qVK4SSvRefyy2KRlVMhE8", + "type": "freedraw", + "x": -105.4955051967072, + "y": -54.330159868512624, + "width": 54.33404541015625, + "height": 19.2799072265625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1415464365, + "version": 639, + "versionNonce": 331399469, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.50543212890625, + 0 + ], + [ + 4.38177490234375, + 0 + ], + [ + 1.752685546875, + -0.87628173828125 + ], + [ + -3.50543212890625, + -3.50543212890625 + ], + [ + -12.26898193359375, + -6.134521484375 + ], + [ + -18.40350341796875, + -7.0108642578125 + ], + [ + -22.7852783203125, + -7.0108642578125 + ], + [ + -27.16705322265625, + -7.0108642578125 + ], + [ + -31.548828125, + -7.0108642578125 + ], + [ + -39.43603515625, + -7.0108642578125 + ], + [ + -42.94146728515625, + -6.134521484375 + ], + [ + -45.57049560546875, + -5.258056640625 + ], + [ + -46.4468994140625, + -4.38177490234375 + ], + [ + -47.3232421875, + -2.62908935546875 + ], + [ + -49.075927734375, + -0.87628173828125 + ], + [ + -49.9522705078125, + 0 + ], + [ + -49.9522705078125, + 0.8763427734375 + ], + [ + -49.9522705078125, + 2.62908935546875 + ], + [ + -46.4468994140625, + 7.0108642578125 + ], + [ + -44.69415283203125, + 8.7635498046875 + ], + [ + -42.06512451171875, + 9.639892578125 + ], + [ + -39.43603515625, + 11.39263916015625 + ], + [ + -33.301513671875, + 11.39263916015625 + ], + [ + -28.91973876953125, + 12.26904296875 + ], + [ + -23.66162109375, + 12.26904296875 + ], + [ + -20.15618896484375, + 12.26904296875 + ], + [ + -17.527099609375, + 12.26904296875 + ], + [ + -15.7744140625, + 12.26904296875 + ], + [ + -14.8980712890625, + 11.39263916015625 + ], + [ + -14.8980712890625, + 11.39263916015625 + ] + ], + "pressures": [ + 0.0400390625, + 0.1455078125, + 0.1845703125, + 0.5400390625, + 0.5791015625, + 0.7265625, + 0.83203125, + 0.8876953125, + 0.9111328125, + 0.9150390625, + 0.923828125, + 0.9111328125, + 0.8984375, + 0.8935546875, + 0.880859375, + 0.857421875, + 0.8466796875, + 0.8466796875, + 0.82421875, + 0.646484375, + 0.5341796875, + 0.5234375, + 0.5224609375, + 0.525390625, + 0.51171875, + 0.4619140625, + 0.3046875, + 0.177734375, + 0.1142578125, + 0.005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -14.8980712890625, + 11.39263916015625 + ] + }, + { + "id": "q3kzx6FwsHrp8MnWI9XRI", + "type": "freedraw", + "x": -109.87728009905095, + "y": -56.959249223981374, + "width": 59.59222412109375, + "height": 22.7852783203125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 904479917, + "version": 637, + "versionNonce": 378074147, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.25811767578125, + 0 + ], + [ + 7.0108642578125, + 0.87640380859375 + ], + [ + 5.25811767578125, + 0.87640380859375 + ], + [ + -2.62908935546875, + -0.8763427734375 + ], + [ + -9.63995361328125, + -3.50543212890625 + ], + [ + -16.6507568359375, + -5.25811767578125 + ], + [ + -22.7852783203125, + -5.25811767578125 + ], + [ + -28.04339599609375, + -5.25811767578125 + ], + [ + -33.301513671875, + -5.25811767578125 + ], + [ + -40.3123779296875, + -2.62896728515625 + ], + [ + -43.81781005859375, + -1.752685546875 + ], + [ + -47.3232421875, + -0.8763427734375 + ], + [ + -49.075927734375, + 0 + ], + [ + -51.70501708984375, + 1.7528076171875 + ], + [ + -52.58135986328125, + 4.38177490234375 + ], + [ + -52.58135986328125, + 7.0108642578125 + ], + [ + -52.58135986328125, + 8.76361083984375 + ], + [ + -52.58135986328125, + 10.516357421875 + ], + [ + -47.3232421875, + 13.1453857421875 + ], + [ + -41.188720703125, + 14.89813232421875 + ], + [ + -34.17791748046875, + 16.6507568359375 + ], + [ + -28.04339599609375, + 17.52716064453125 + ], + [ + -21.908935546875, + 17.52716064453125 + ], + [ + -19.27984619140625, + 17.52716064453125 + ], + [ + -17.52716064453125, + 16.6507568359375 + ], + [ + -16.6507568359375, + 14.89813232421875 + ], + [ + -15.7744140625, + 14.021728515625 + ], + [ + -15.7744140625, + 14.021728515625 + ] + ], + "pressures": [ + 0.025390625, + 0.1552734375, + 0.1826171875, + 0.5556640625, + 0.7265625, + 0.8173828125, + 0.8681640625, + 0.8916015625, + 0.9169921875, + 0.92578125, + 0.9130859375, + 0.8916015625, + 0.876953125, + 0.8662109375, + 0.853515625, + 0.826171875, + 0.7890625, + 0.7705078125, + 0.7421875, + 0.6884765625, + 0.6376953125, + 0.51953125, + 0.4462890625, + 0.3974609375, + 0.3359375, + 0.20703125, + 0.1337890625, + 0.048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -15.7744140625, + 14.021728515625 + ] + }, + { + "id": "j86qxOwsEzb_6HQJJdDmc", + "type": "freedraw", + "x": -108.12459455217595, + "y": -57.835591997418874, + "width": 49.075927734375, + "height": 15.7744140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 649819469, + "version": 636, + "versionNonce": 701109133, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.6290283203125, + 0 + ], + [ + -7.88720703125, + -0.8763427734375 + ], + [ + -17.527099609375, + -1.75262451171875 + ], + [ + -23.66162109375, + -2.62908935546875 + ], + [ + -28.04339599609375, + -2.62908935546875 + ], + [ + -30.67242431640625, + -2.62908935546875 + ], + [ + -34.1778564453125, + -2.62908935546875 + ], + [ + -37.68328857421875, + -1.75262451171875 + ], + [ + -41.188720703125, + -0.8763427734375 + ], + [ + -43.81781005859375, + 0.8763427734375 + ], + [ + -46.44683837890625, + 2.629150390625 + ], + [ + -49.075927734375, + 4.38177490234375 + ], + [ + -49.075927734375, + 5.25811767578125 + ], + [ + -49.075927734375, + 7.01092529296875 + ], + [ + -48.1995849609375, + 8.7635498046875 + ], + [ + -46.44683837890625, + 9.63995361328125 + ], + [ + -43.81781005859375, + 11.3927001953125 + ], + [ + -41.188720703125, + 12.26898193359375 + ], + [ + -38.55963134765625, + 13.14532470703125 + ], + [ + -35.93060302734375, + 13.14532470703125 + ], + [ + -35.05419921875, + 13.14532470703125 + ], + [ + -33.301513671875, + 12.26898193359375 + ], + [ + -31.548828125, + 11.3927001953125 + ], + [ + -28.91973876953125, + 8.7635498046875 + ], + [ + -28.04339599609375, + 8.7635498046875 + ], + [ + -28.04339599609375, + 7.88720703125 + ], + [ + -28.04339599609375, + 7.88720703125 + ] + ], + "pressures": [ + 0.0576171875, + 0.615234375, + 0.900390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9453125, + 0.79296875, + 0.5615234375, + 0.3359375, + 0.173828125, + 0.1171875, + 0.060546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -28.04339599609375, + 7.88720703125 + ] + }, + { + "id": "RIMz5sQk07wEBERQh6eq5", + "type": "freedraw", + "x": -221.84728886438288, + "y": -118.31400999940877, + "width": 86.96653864189926, + "height": 9.401864649802963, + "angle": 6.259589462379609, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "sdAVDXAje5MvZyYJZw5k8" + ], + "strokeSharpness": "round", + "seed": 1643073389, + "version": 1370, + "versionNonce": 1044150211, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + -0.46436767614524077, + -0.09287224156361112 + ], + [ + -4.38177490234375, + -0.8763427734375 + ], + [ + -2.031308739893009, + -0.8763427734375 + ], + [ + 5.020035180630111, + -0.09287224156361112 + ], + [ + 15.98878632735172, + 0.6906528571393528 + ], + [ + 28.52447853782114, + 1.47412338901324 + ], + [ + 47.328044136939816, + 3.0410644527610198 + ], + [ + 59.86379091423824, + 4.608060083337868 + ], + [ + 70.04907152908584, + 6.175001147085645 + ], + [ + 77.88388598148302, + 7.741942210833425 + ], + [ + 82.58476373955551, + 8.525521876365465 + ], + [ + 80.2343521439337, + 7.741942210833425 + ], + [ + 80.2343521439337, + 7.741942210833425 + ] + ], + "pressures": [ + 0.052734375, + 0.193359375, + 0.40625, + 0.5888671875, + 0.830078125, + 1, + 1, + 1, + 1, + 0.82421875, + 0.3037109375, + 0.0263671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 90.26470947265625, + 8.7635498046875 + ] + }, + { + "id": "tdGx8fRoy2kxA3GVWuJAD", + "type": "freedraw", + "x": -207.3618214990271, + "y": -117.04691578953104, + "width": 65.81250688032992, + "height": 67.37944794407768, + "angle": 6.259589462379609, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "sdAVDXAje5MvZyYJZw5k8" + ], + "strokeSharpness": "round", + "seed": 1275981891, + "version": 1322, + "versionNonce": 733616621, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + -1.7645984630173364, + -0.3714954345816184 + ], + [ + -1.7645984630173364, + -2.7219615970323607 + ], + [ + -2.5481235617202995, + -2.7219615970323607 + ], + [ + -4.115064625468076, + -3.50543212890625 + ], + [ + -6.465530787918811, + -3.50543212890625 + ], + [ + -8.815942383540476, + -3.50543212890625 + ], + [ + -11.949879077865111, + -2.7219615970323607 + ], + [ + -13.51687470844197, + -1.938491065158469 + ], + [ + -15.083815772189736, + -1.155020533284585 + ], + [ + -15.86728630406359, + 1.1954456291661557 + ], + [ + -16.6507568359375, + 7.463373584644497 + ], + [ + -14.300345240315846, + 13.73113783963561 + ], + [ + -9.59946748224345, + 22.34947739073561 + ], + [ + 0.5858131326043315, + 32.53475800558336 + ], + [ + 13.121559909902842, + 44.286979684178945 + ], + [ + 28.007718282822992, + 54.47231486585576 + ], + [ + 35.0590622033461, + 58.389722092054214 + ], + [ + 41.326935591995394, + 61.523604219549775 + ], + [ + 46.811283881941705, + 63.0905452832976 + ], + [ + 49.16175004439242, + 63.87401581517142 + ], + [ + 49.16175004439242, + 63.87401581517142 + ] + ], + "pressures": [ + 0.06640625, + 0.197265625, + 0.28125, + 0.419921875, + 0.6318359375, + 0.8466796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.642578125, + 0.3583984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 56.963134765625, + 71.86114501953125 + ] + }, + { + "id": "JsNvR_jZnIQ4kVNCt_8Rm", + "type": "freedraw", + "x": -215.10456392513746, + "y": -105.61611988517308, + "width": 61.11162912225744, + "height": 54.06023063490534, + "angle": 6.259589462379609, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "sdAVDXAje5MvZyYJZw5k8" + ], + "strokeSharpness": "round", + "seed": 716636195, + "version": 1344, + "versionNonce": 402556771, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558540, + "link": null, + "locked": false, + "points": [ + [ + -0.09287224156361244, + 0 + ], + [ + -0.8763427734375, + 2.3503570287925872 + ], + [ + 4.608005516508786, + 9.40170094931574 + ], + [ + 13.226345067608758, + 19.587036130992583 + ], + [ + 32.02991066672746, + 37.607076631408354 + ], + [ + 43.78213234532294, + 47.0089412812112 + ], + [ + 52.40047189642289, + 51.709764472454566 + ], + [ + 57.88482018636918, + 54.06023063490534 + ], + [ + 60.23528634881994, + 54.06023063490534 + ], + [ + 59.45176125011706, + 52.4932350043285 + ], + [ + 59.45176125011706, + 52.4932350043285 + ] + ], + "pressures": [ + 0.0849609375, + 0.400390625, + 0.5029296875, + 0.7607421875, + 1, + 1, + 1, + 0.861328125, + 0.384765625, + 0.1220703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.60302734375, + 58.71575927734375 + ] + }, + { + "id": "0Uhlzhasd5ruUmgk9a5cK", + "type": "freedraw", + "x": -162.2952163077634, + "y": -57.72693647427688, + "width": 40.741067892561944, + "height": 16.453154003496987, + "angle": 6.259589462379609, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "sdAVDXAje5MvZyYJZw5k8" + ], + "strokeSharpness": "round", + "seed": 1680836365, + "version": 1353, + "versionNonce": 1385845837, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + -1.300230786872112 + ], + [ + 4.7008777580723935, + 1.0502353755786191 + ], + [ + 8.618284984270899, + 2.6171764393263897 + ], + [ + 12.535692210469415, + 3.4006469712002843 + ], + [ + 17.236569968541797, + 4.184172069903239 + ], + [ + 21.937502293443284, + 4.184172069903239 + ], + [ + 29.772316745840264, + 4.184172069903239 + ], + [ + 33.68972397203883, + 3.4006469712002843 + ], + [ + 36.040190134489535, + 2.6171764393263897 + ], + [ + 38.39060173011121, + 1.0502353755786191 + ], + [ + 39.957597360688084, + -1.300230786872112 + ], + [ + 40.741067892561944, + -2.867171850619891 + ], + [ + 40.741067892561944, + -5.2176380130706175 + ], + [ + 40.741067892561944, + -8.351574707395242 + ], + [ + 38.39060173011121, + -9.91846120431393 + ], + [ + 36.040190134489535, + -12.26898193359375 + ], + [ + 35.25666503578657, + -12.26898193359375 + ], + [ + 35.25666503578657, + -12.26898193359375 + ] + ], + "pressures": [ + 0.0517578125, + 0.5966796875, + 0.7724609375, + 0.8955078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9560546875, + 0.8095703125, + 0.640625, + 0.380859375, + 0.3095703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.43597412109375, + -12.26898193359375 + ] + }, + { + "id": "ldoI5xtsQnk8cm7clh44g", + "type": "freedraw", + "x": -138.39740046110026, + "y": -114.13604827706187, + "width": 22.720972825317183, + "height": 63.46209528470818, + "angle": 6.259589462379609, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "sdAVDXAje5MvZyYJZw5k8" + ], + "strokeSharpness": "round", + "seed": 2106357965, + "version": 1340, + "versionNonce": 2048762627, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + -0.09287224156361311, + 0 + ], + [ + -0.8763427734375, + 1.5669410637477708 + ], + [ + -0.8763427734375, + 5.484402856775351 + ], + [ + 0.6905982903102729, + 13.319217309172368 + ], + [ + 6.175001147085629, + 29.77237131266934 + ], + [ + 10.875878905158013, + 40.741067892561865 + ], + [ + 14.79328613135653, + 48.57593691178795 + ], + [ + 17.92722282568115, + 54.84375573360817 + ], + [ + 21.061159520005763, + 61.11168368908648 + ], + [ + 21.844630051879683, + 63.46209528470818 + ], + [ + 21.844630051879683, + 63.46209528470818 + ] + ], + "pressures": [ + 0.07421875, + 0.50390625, + 0.677734375, + 0.861328125, + 1, + 1, + 1, + 1, + 1, + 0.931640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 24.5379638671875, + 70.98486328125 + ] + }, + { + "id": "Ee5fc97A-xHZw93AHrZ7z", + "type": "freedraw", + "x": -119.61580453153684, + "y": -61.223081023703415, + "width": 43.09153405501271, + "height": 11.752221678595538, + "angle": 6.259589462379609, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "sdAVDXAje5MvZyYJZw5k8" + ], + "strokeSharpness": "round", + "seed": 737310659, + "version": 1337, + "versionNonce": 2051293869, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + -5.108050905924787, + -0.8358631107268554 + ], + [ + -5.891521437798651, + -0.8358631107268554 + ], + [ + -7.458517068375504, + -0.8358631107268554 + ], + [ + -10.592399195871062, + -2.4028041744746247 + ], + [ + -17.643743116394166, + -5.536686301970162 + ], + [ + -22.34467544129565, + -7.103736499376097 + ], + [ + -27.045553199368076, + -7.103736499376097 + ], + [ + -31.74643095744041, + -7.88720703125 + ], + [ + -34.88036765176499, + -7.88720703125 + ], + [ + -39.58124540983743, + -7.88720703125 + ], + [ + -41.93171157228805, + -7.103736499376097 + ], + [ + -44.282177734738866, + -6.320265967502212 + ], + [ + -45.84911879848666, + -5.536686301970162 + ], + [ + -47.416114429063434, + -4.753270336925361 + ], + [ + -47.416114429063434, + -3.9697998050514807 + ], + [ + -48.1995849609375, + -3.9697998050514807 + ], + [ + -48.1995849609375, + -3.1863292731775887 + ], + [ + -48.1995849609375, + -2.4028041744746247 + ], + [ + -48.1995849609375, + -1.6192790757716662 + ], + [ + -48.1995849609375, + -0.8358631107268554 + ], + [ + -46.63258933036053, + 0.7310779530209167 + ], + [ + -45.84911879848666, + 1.514603051723882 + ], + [ + -45.06564826661277, + 1.514603051723882 + ], + [ + -41.93171157228805, + 2.2981281504268396 + ], + [ + -40.3647705085404, + 3.0815441154716505 + ], + [ + -38.79777487796355, + 3.0815441154716505 + ], + [ + -38.01430434608959, + 3.865014647345537 + ], + [ + -36.44736328234182, + 3.865014647345537 + ], + [ + -34.88036765176499, + 3.865014647345537 + ], + [ + -34.09689711989114, + 3.865014647345537 + ], + [ + -34.09689711989114, + 3.865014647345537 + ] + ], + "pressures": [ + 0.05078125, + 0.33984375, + 0.4306640625, + 0.5068359375, + 0.6318359375, + 0.728515625, + 0.8134765625, + 0.876953125, + 0.904296875, + 0.9296875, + 0.923828125, + 0.9150390625, + 0.9111328125, + 0.904296875, + 0.8955078125, + 0.861328125, + 0.8515625, + 0.830078125, + 0.6376953125, + 0.5439453125, + 0.3955078125, + 0.3447265625, + 0.33984375, + 0.3349609375, + 0.263671875, + 0.21875, + 0.20703125, + 0.1552734375, + 0.076171875, + 0.0537109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -32.4251708984375, + 5.25811767578125 + ] + }, + { + "id": "fl06jNuoa79oiXYYN6KZ0", + "type": "freedraw", + "x": -144.0551975795197, + "y": -47.319295610700124, + "width": 55.21044921875, + "height": 22.78521728515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1638470083, + "version": 618, + "versionNonce": 1830308515, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.50543212890625, + -0.8763427734375 + ], + [ + -3.50543212890625, + 0 + ], + [ + 0.87640380859375, + 1.752685546875 + ], + [ + 7.0108642578125, + 6.13446044921875 + ], + [ + 14.021728515625, + 9.63995361328125 + ], + [ + 24.5379638671875, + 15.7744140625 + ], + [ + 31.548828125, + 19.27984619140625 + ], + [ + 36.80694580078125, + 21.03253173828125 + ], + [ + 43.81781005859375, + 21.90887451171875 + ], + [ + 47.3232421875, + 21.90887451171875 + ], + [ + 49.95233154296875, + 21.90887451171875 + ], + [ + 51.70501708984375, + 21.90887451171875 + ], + [ + 50.82867431640625, + 21.03253173828125 + ], + [ + 50.82867431640625, + 21.03253173828125 + ] + ], + "pressures": [ + 0.060546875, + 0.310546875, + 0.541015625, + 0.703125, + 0.9755859375, + 1, + 1, + 1, + 1, + 1, + 0.6923828125, + 0.3720703125, + 0.20703125, + 0.056640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 50.82867431640625, + 21.03253173828125 + ] + }, + { + "id": "2b5Nilhu7Ed7-DU_RGmct", + "type": "freedraw", + "x": -145.8078831263947, + "y": -49.948384966168874, + "width": 63.97393798828125, + "height": 21.0325927734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 202877091, + "version": 621, + "versionNonce": 1197565197, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + 0.8763427734375, + 0.8763427734375 + ], + [ + 7.88720703125, + 5.25811767578125 + ], + [ + 13.14532470703125, + 8.7635498046875 + ], + [ + 21.03253173828125, + 11.39263916015625 + ], + [ + 28.91973876953125, + 14.021728515625 + ], + [ + 38.55963134765625, + 17.527099609375 + ], + [ + 43.81781005859375, + 18.40350341796875 + ], + [ + 49.075927734375, + 19.27984619140625 + ], + [ + 54.33404541015625, + 20.15618896484375 + ], + [ + 59.59222412109375, + 21.0325927734375 + ], + [ + 62.22125244140625, + 21.0325927734375 + ], + [ + 63.09759521484375, + 21.0325927734375 + ], + [ + 62.22125244140625, + 21.0325927734375 + ], + [ + 59.59222412109375, + 19.27984619140625 + ], + [ + 58.7158203125, + 19.27984619140625 + ], + [ + 58.7158203125, + 19.27984619140625 + ] + ], + "pressures": [ + 0.0849609375, + 0.421875, + 0.5595703125, + 0.828125, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.71484375, + 0.2216796875, + 0.11328125, + 0.0498046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 58.7158203125, + 19.27984619140625 + ] + }, + { + "id": "qM6voeEuoTE23Z0pDPiDh", + "type": "freedraw", + "x": -103.7428196498322, + "y": -56.082845415387624, + "width": 62.2213134765625, + "height": 6.134521484375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1105363053, + "version": 616, + "versionNonce": 1704787523, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.38177490234375, + -1.75274658203125 + ], + [ + -2.6290283203125, + -1.75274658203125 + ], + [ + 2.62908935546875, + 0 + ], + [ + 14.021728515625, + 3.50537109375 + ], + [ + 22.78533935546875, + 4.38177490234375 + ], + [ + 31.54888916015625, + 4.38177490234375 + ], + [ + 40.31243896484375, + 3.50537109375 + ], + [ + 47.32330322265625, + 3.50537109375 + ], + [ + 55.21051025390625, + 3.50537109375 + ], + [ + 56.96319580078125, + 3.50537109375 + ], + [ + 57.83953857421875, + 2.6290283203125 + ], + [ + 56.96319580078125, + 0.87640380859375 + ], + [ + 54.33404541015625, + 0.87640380859375 + ], + [ + 54.33404541015625, + 0.87640380859375 + ] + ], + "pressures": [ + 0.08203125, + 0.181640625, + 0.482421875, + 0.5791015625, + 0.947265625, + 1, + 1, + 1, + 1, + 1, + 0.642578125, + 0.34765625, + 0.1923828125, + 0.060546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 54.33404541015625, + 0.87640380859375 + ] + }, + { + "id": "8xl6IosaOxpeGL1mdJD78", + "type": "freedraw", + "x": -98.4846409388947, + "y": -52.577474321637624, + "width": 54.33404541015625, + "height": 6.13446044921875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2103483885, + "version": 611, + "versionNonce": 225131373, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.88720703125, + -1.752685546875 + ], + [ + 16.65069580078125, + -3.50537109375 + ], + [ + 23.66156005859375, + -4.38177490234375 + ], + [ + 30.67242431640625, + -5.25811767578125 + ], + [ + 36.80694580078125, + -5.25811767578125 + ], + [ + 42.94146728515625, + -5.25811767578125 + ], + [ + 50.82867431640625, + -5.25811767578125 + ], + [ + 54.33404541015625, + -6.13446044921875 + ], + [ + 54.33404541015625, + -6.13446044921875 + ] + ], + "pressures": [ + 0.1162109375, + 0.78125, + 0.849609375, + 0.8955078125, + 0.8955078125, + 0.884765625, + 0.8173828125, + 0.353515625, + 0.169921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 54.33404541015625, + -6.13446044921875 + ] + }, + { + "id": "bku26GppTLZoncAd1_NgW", + "type": "freedraw", + "x": -70.44124494280095, + "y": -56.082845415387624, + "width": 70.10845947265625, + "height": 30.6724853515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 470599043, + "version": 623, + "versionNonce": 1049247203, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.3817138671875, + -0.87640380859375 + ], + [ + 13.145263671875, + 0 + ], + [ + 21.032470703125, + 0.87640380859375 + ], + [ + 28.919677734375, + 1.752685546875 + ], + [ + 36.806884765625, + 3.50537109375 + ], + [ + 43.8177490234375, + 6.13446044921875 + ], + [ + 49.9522705078125, + 10.5162353515625 + ], + [ + 51.7049560546875, + 14.021728515625 + ], + [ + 51.7049560546875, + 16.6507568359375 + ], + [ + 45.5704345703125, + 21.03253173828125 + ], + [ + 38.5596923828125, + 24.5379638671875 + ], + [ + 28.0433349609375, + 26.2906494140625 + ], + [ + 16.6507568359375, + 28.91973876953125 + ], + [ + 6.134521484375, + 29.79608154296875 + ], + [ + -1.752685546875, + 29.79608154296875 + ], + [ + -9.639892578125, + 28.04339599609375 + ], + [ + -13.1453857421875, + 26.2906494140625 + ], + [ + -15.7744140625, + 24.5379638671875 + ], + [ + -17.52716064453125, + 22.7852783203125 + ], + [ + -18.40350341796875, + 22.7852783203125 + ], + [ + -17.52716064453125, + 22.7852783203125 + ], + [ + -15.7744140625, + 22.7852783203125 + ], + [ + -14.8980712890625, + 22.7852783203125 + ], + [ + -14.8980712890625, + 22.7852783203125 + ] + ], + "pressures": [ + 0.076171875, + 0.3447265625, + 0.537109375, + 0.6357421875, + 0.6806640625, + 0.70703125, + 0.71484375, + 0.7109375, + 0.708984375, + 0.703125, + 0.6494140625, + 0.6376953125, + 0.6318359375, + 0.6337890625, + 0.642578125, + 0.6552734375, + 0.6572265625, + 0.6201171875, + 0.599609375, + 0.5322265625, + 0.4931640625, + 0.1826171875, + 0.119140625, + 0.076171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -14.8980712890625, + 22.7852783203125 + ] + }, + { + "id": "k49RmXKDfsti_jR06eIvF", + "type": "freedraw", + "x": -86.21565900530095, + "y": -31.544881548200124, + "width": 46.44683837890625, + "height": 33.30157470703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1497125315, + "version": 622, + "versionNonce": 1957381581, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + 0 + ], + [ + 1.752685546875, + 0 + ], + [ + 10.5162353515625, + 1.752685546875 + ], + [ + 17.527099609375, + 2.62908935546875 + ], + [ + 25.414306640625, + 3.50543212890625 + ], + [ + 32.4251708984375, + 3.50543212890625 + ], + [ + 37.683349609375, + 1.752685546875 + ], + [ + 41.188720703125, + -0.87640380859375 + ], + [ + 43.8177490234375, + -5.2581787109375 + ], + [ + 44.694091796875, + -8.76361083984375 + ], + [ + 44.694091796875, + -12.26898193359375 + ], + [ + 43.8177490234375, + -16.6507568359375 + ], + [ + 38.5596923828125, + -21.908935546875 + ], + [ + 34.1778564453125, + -24.5379638671875 + ], + [ + 29.796142578125, + -27.16705322265625 + ], + [ + 27.1669921875, + -28.0433349609375 + ], + [ + 26.2906494140625, + -28.0433349609375 + ], + [ + 25.414306640625, + -28.0433349609375 + ], + [ + 24.5379638671875, + -28.9197998046875 + ], + [ + 23.66162109375, + -29.796142578125 + ], + [ + 24.5379638671875, + -28.9197998046875 + ], + [ + 26.2906494140625, + -28.0433349609375 + ], + [ + 26.2906494140625, + -28.0433349609375 + ] + ], + "pressures": [ + 0.041015625, + 0.296875, + 0.48046875, + 0.8955078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.75390625, + 0.609375, + 0.474609375, + 0.1376953125, + 0.0576171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 26.2906494140625, + -28.0433349609375 + ] + }, + { + "id": "EZmOmrGzdBPTXcMJdto-C", + "type": "freedraw", + "x": -55.54317365373845, + "y": -59.588216509137624, + "width": 54.3341064453125, + "height": 46.4468994140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 511981901, + "version": 622, + "versionNonce": 1928235395, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -2.629150390625 + ], + [ + 1.752685546875, + -1.7528076171875 + ], + [ + 9.639892578125, + 4.38177490234375 + ], + [ + 14.0216064453125, + 10.51617431640625 + ], + [ + 17.527099609375, + 17.527099609375 + ], + [ + 18.4034423828125, + 24.53790283203125 + ], + [ + 18.4034423828125, + 32.42510986328125 + ], + [ + 13.145263671875, + 40.31231689453125 + ], + [ + 8.7635498046875, + 42.94134521484375 + ], + [ + 0.8763427734375, + 43.8177490234375 + ], + [ + -7.88720703125, + 42.94134521484375 + ], + [ + -21.0325927734375, + 40.31231689453125 + ], + [ + -24.5379638671875, + 38.5595703125 + ], + [ + -29.796142578125, + 36.806884765625 + ], + [ + -32.42523193359375, + 35.9305419921875 + ], + [ + -33.30157470703125, + 34.17779541015625 + ], + [ + -35.05426025390625, + 33.30145263671875 + ], + [ + -35.9306640625, + 32.42510986328125 + ], + [ + -35.9306640625, + 31.54876708984375 + ], + [ + -35.9306640625, + 30.67242431640625 + ], + [ + -35.05426025390625, + 29.7960205078125 + ], + [ + -34.17791748046875, + 29.7960205078125 + ], + [ + -34.17791748046875, + 29.7960205078125 + ] + ], + "pressures": [ + 0.068359375, + 0.44921875, + 0.6943359375, + 0.8369140625, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.1884765625, + 0.12890625, + 0.0947265625, + 0.0380859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -34.17791748046875, + 29.7960205078125 + ] + }, + { + "id": "C6z8IqcqkV6KmfvypMhxg", + "type": "freedraw", + "x": -137.0443333217072, + "y": -47.319295610700124, + "width": 36.80694580078125, + "height": 39.43603515625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 567515651, + "version": 611, + "versionNonce": 1614480429, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.13446044921875, + -3.50537109375 + ], + [ + -1.752685546875, + 0 + ], + [ + 7.88720703125, + 10.5162353515625 + ], + [ + 14.8980712890625, + 19.27984619140625 + ], + [ + 21.908935546875, + 27.16705322265625 + ], + [ + 26.29071044921875, + 32.4251708984375 + ], + [ + 28.91973876953125, + 35.9306640625 + ], + [ + 29.79608154296875, + 35.9306640625 + ], + [ + 30.6724853515625, + 34.1778564453125 + ], + [ + 30.6724853515625, + 32.4251708984375 + ], + [ + 30.6724853515625, + 31.548828125 + ], + [ + 30.6724853515625, + 31.548828125 + ] + ], + "pressures": [ + 0.0185546875, + 0.2080078125, + 0.8935546875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.203125, + 0.1083984375, + 0.048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 30.6724853515625, + 31.548828125 + ] + }, + { + "id": "P-zfeWQFsBYDhnlELbYNR", + "type": "freedraw", + "x": -147.56062970842595, + "y": -50.824666704450124, + "width": 54.3341064453125, + "height": 35.93060302734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1712404803, + "version": 612, + "versionNonce": 403202339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + -1.7528076171875 + ], + [ + 2.62908935546875, + 2.6290283203125 + ], + [ + 10.51629638671875, + 9.63983154296875 + ], + [ + 19.27984619140625, + 16.65069580078125 + ], + [ + 28.04339599609375, + 22.78521728515625 + ], + [ + 37.683349609375, + 28.919677734375 + ], + [ + 42.94146728515625, + 30.67242431640625 + ], + [ + 46.4468994140625, + 32.42510986328125 + ], + [ + 49.95233154296875, + 33.30145263671875 + ], + [ + 52.5814208984375, + 34.17779541015625 + ], + [ + 51.70501708984375, + 31.54876708984375 + ], + [ + 50.82867431640625, + 30.67242431640625 + ], + [ + 50.82867431640625, + 30.67242431640625 + ] + ], + "pressures": [ + 0.0751953125, + 0.708984375, + 0.8447265625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9404296875, + 0.38671875, + 0.12109375, + 0.0771484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 50.82867431640625, + 30.67242431640625 + ] + }, + { + "id": "DLbBpedgbfzb8CH0pHXna", + "type": "freedraw", + "x": -145.8078831263947, + "y": -53.453817095075124, + "width": 42.0650634765625, + "height": 33.30157470703125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 433452333, + "version": 611, + "versionNonce": 335804045, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.8763427734375 + ], + [ + 4.38177490234375, + 5.2581787109375 + ], + [ + 10.51629638671875, + 12.26898193359375 + ], + [ + 21.90887451171875, + 22.7852783203125 + ], + [ + 28.91973876953125, + 28.9197998046875 + ], + [ + 34.1778564453125, + 31.548828125 + ], + [ + 37.68328857421875, + 33.30157470703125 + ], + [ + 40.3123779296875, + 33.30157470703125 + ], + [ + 41.188720703125, + 33.30157470703125 + ], + [ + 42.0650634765625, + 33.30157470703125 + ], + [ + 42.0650634765625, + 32.4251708984375 + ], + [ + 42.0650634765625, + 32.4251708984375 + ] + ], + "pressures": [ + 0.0751953125, + 0.8642578125, + 0.92578125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6640625, + 0.287109375, + 0.1552734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.0650634765625, + 32.4251708984375 + ] + }, + { + "id": "YxHzDiKRXFRIYHlKfJPu3", + "type": "freedraw", + "x": -114.2590550013947, + "y": -26.286763872418874, + "width": 47.32318115234375, + "height": 21.908935546875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1415772621, + "version": 616, + "versionNonce": 390481091, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -0.8763427734375, + 1.75274658203125 + ], + [ + 1.752685546875, + 3.50543212890625 + ], + [ + 5.25811767578125, + 5.25811767578125 + ], + [ + 11.39263916015625, + 7.0108642578125 + ], + [ + 17.527099609375, + 7.88720703125 + ], + [ + 28.04339599609375, + 7.0108642578125 + ], + [ + 35.05426025390625, + 5.25811767578125 + ], + [ + 38.55963134765625, + 4.38177490234375 + ], + [ + 41.18865966796875, + 2.62908935546875 + ], + [ + 43.81781005859375, + 0.8763427734375 + ], + [ + 45.57049560546875, + 0 + ], + [ + 45.57049560546875, + -0.8763427734375 + ], + [ + 46.44683837890625, + -2.6290283203125 + ], + [ + 46.44683837890625, + -5.25811767578125 + ], + [ + 42.94146728515625, + -9.639892578125 + ], + [ + 40.31231689453125, + -12.26898193359375 + ], + [ + 38.55963134765625, + -13.14532470703125 + ], + [ + 36.80694580078125, + -14.021728515625 + ], + [ + 35.93060302734375, + -14.021728515625 + ], + [ + 35.93060302734375, + -14.021728515625 + ] + ], + "pressures": [ + 0.0048828125, + 0.322265625, + 0.701171875, + 0.908203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.802734375, + 0.58203125, + 0.30859375, + 0.15625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.93060302734375, + -14.021728515625 + ] + }, + { + "id": "ylqASSF-zAppj7TfRmUgO", + "type": "freedraw", + "x": -99.36104474748845, + "y": -54.330159868512624, + "width": 46.4468994140625, + "height": 30.67242431640625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 816770403, + "version": 613, + "versionNonce": 448765165, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.50543212890625, + -0.87628173828125 + ], + [ + 8.76361083984375, + 0 + ], + [ + 14.8980712890625, + 1.752685546875 + ], + [ + 22.7852783203125, + 4.38177490234375 + ], + [ + 30.6724853515625, + 7.88726806640625 + ], + [ + 38.5596923828125, + 11.39263916015625 + ], + [ + 45.570556640625, + 15.7744140625 + ], + [ + 46.4468994140625, + 16.65081787109375 + ], + [ + 46.4468994140625, + 19.27984619140625 + ], + [ + 44.6942138671875, + 21.90887451171875 + ], + [ + 40.3123779296875, + 24.5379638671875 + ], + [ + 31.548828125, + 28.04339599609375 + ], + [ + 27.1671142578125, + 28.04339599609375 + ], + [ + 22.7852783203125, + 28.91973876953125 + ], + [ + 20.15625, + 28.91973876953125 + ], + [ + 18.403564453125, + 28.91973876953125 + ], + [ + 17.527099609375, + 28.91973876953125 + ], + [ + 19.2799072265625, + 29.796142578125 + ], + [ + 19.2799072265625, + 29.796142578125 + ] + ], + "pressures": [ + 0.1572265625, + 0.6220703125, + 0.8642578125, + 0.9580078125, + 1, + 1, + 0.98828125, + 0.9365234375, + 0.931640625, + 0.9296875, + 0.904296875, + 0.857421875, + 0.8515625, + 0.849609375, + 0.8388671875, + 0.798828125, + 0.703125, + 0.5205078125, + 0.1201171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 19.2799072265625, + 29.796142578125 + ] + }, + { + "id": "8fwSQeeO1XK_vqEsM6FPs", + "type": "freedraw", + "x": -97.6082981654572, + "y": -51.701070513043874, + "width": 64.850341796875, + "height": 38.5596923828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1573157187, + "version": 619, + "versionNonce": 675722339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.75274658203125 + ], + [ + 1.752685546875, + -1.75274658203125 + ], + [ + 7.88720703125, + -1.75274658203125 + ], + [ + 16.65081787109375, + -0.87640380859375 + ], + [ + 31.54876708984375, + 4.38177490234375 + ], + [ + 35.93060302734375, + 6.13446044921875 + ], + [ + 46.44683837890625, + 9.63995361328125 + ], + [ + 50.82867431640625, + 13.14532470703125 + ], + [ + 52.58135986328125, + 16.6507568359375 + ], + [ + 52.58135986328125, + 21.03253173828125 + ], + [ + 44.69415283203125, + 27.16705322265625 + ], + [ + 35.93060302734375, + 31.548828125 + ], + [ + 26.29071044921875, + 34.1778564453125 + ], + [ + 13.14532470703125, + 36.80694580078125 + ], + [ + 7.0108642578125, + 36.80694580078125 + ], + [ + 1.752685546875, + 35.93060302734375 + ], + [ + -1.75274658203125, + 35.05419921875 + ], + [ + -4.38177490234375, + 34.1778564453125 + ], + [ + -7.0108642578125, + 31.548828125 + ], + [ + -10.51629638671875, + 27.16705322265625 + ], + [ + -11.39263916015625, + 23.66162109375 + ], + [ + -12.26898193359375, + 21.90887451171875 + ], + [ + -10.51629638671875, + 22.7852783203125 + ], + [ + -9.63995361328125, + 23.66162109375 + ], + [ + -9.63995361328125, + 23.66162109375 + ] + ], + "pressures": [ + 0.0390625, + 0.2578125, + 0.478515625, + 0.5947265625, + 0.638671875, + 0.6826171875, + 0.728515625, + 0.744140625, + 0.748046875, + 0.748046875, + 0.7421875, + 0.669921875, + 0.666015625, + 0.669921875, + 0.6552734375, + 0.599609375, + 0.5693359375, + 0.5556640625, + 0.54296875, + 0.46875, + 0.3505859375, + 0.294921875, + 0.2763671875, + 0.130859375, + 0.0810546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -9.63995361328125, + 23.66162109375 + ] + }, + { + "id": "lXWNs5lSyQjbcawv41Kj_", + "type": "freedraw", + "x": -112.5063694545197, + "y": -27.163106645856374, + "width": 66.60308837890625, + "height": 36.806884765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1478355789, + "version": 621, + "versionNonce": 1811380045, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.75274658203125, + 1.752685546875 + ], + [ + 9.63995361328125, + 5.25811767578125 + ], + [ + 16.6507568359375, + 7.0108642578125 + ], + [ + 23.66162109375, + 8.7635498046875 + ], + [ + 31.54888916015625, + 8.7635498046875 + ], + [ + 42.06512451171875, + 7.88720703125 + ], + [ + 49.95233154296875, + 5.25811767578125 + ], + [ + 56.96319580078125, + 2.62908935546875 + ], + [ + 62.22125244140625, + 0 + ], + [ + 64.85040283203125, + -4.38177490234375 + ], + [ + 66.60308837890625, + -8.7635498046875 + ], + [ + 66.60308837890625, + -10.5162353515625 + ], + [ + 63.09759521484375, + -14.021728515625 + ], + [ + 56.96319580078125, + -16.6507568359375 + ], + [ + 45.57049560546875, + -21.03253173828125 + ], + [ + 39.43597412109375, + -22.7852783203125 + ], + [ + 34.17791748046875, + -23.66156005859375 + ], + [ + 29.79608154296875, + -24.5379638671875 + ], + [ + 25.414306640625, + -25.41436767578125 + ], + [ + 21.03253173828125, + -27.16705322265625 + ], + [ + 20.15618896484375, + -28.0433349609375 + ], + [ + 20.15618896484375, + -26.29071044921875 + ], + [ + 20.15618896484375, + -24.5379638671875 + ], + [ + 20.15618896484375, + -23.66156005859375 + ], + [ + 20.15618896484375, + -22.7852783203125 + ], + [ + 20.15618896484375, + -21.908935546875 + ], + [ + 20.15618896484375, + -21.908935546875 + ] + ], + "pressures": [ + 0.0078125, + 0.310546875, + 0.54296875, + 0.6923828125, + 0.796875, + 0.8681640625, + 0.8955078125, + 0.904296875, + 0.90625, + 0.9150390625, + 0.921875, + 0.923828125, + 0.9189453125, + 0.9111328125, + 0.8896484375, + 0.7783203125, + 0.736328125, + 0.7265625, + 0.6845703125, + 0.6181640625, + 0.5498046875, + 0.537109375, + 0.271484375, + 0.16015625, + 0.125, + 0.1123046875, + 0.0693359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 20.15618896484375, + -21.908935546875 + ] + }, + { + "id": "6E5zik-OZFxTW_CXRiSHr", + "type": "freedraw", + "x": -101.11373029436345, + "y": -55.206441606793874, + "width": 56.96319580078125, + "height": 36.806884765625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1574612675, + "version": 620, + "versionNonce": 181940227, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.62908935546875, + 0 + ], + [ + 10.51629638671875, + 1.75262451171875 + ], + [ + 17.527099609375, + 5.258056640625 + ], + [ + 25.414306640625, + 8.7635498046875 + ], + [ + 31.548828125, + 13.14532470703125 + ], + [ + 37.683349609375, + 16.65069580078125 + ], + [ + 43.8177490234375, + 23.66156005859375 + ], + [ + 44.6942138671875, + 28.0433349609375 + ], + [ + 44.6942138671875, + 31.54876708984375 + ], + [ + 41.188720703125, + 34.17779541015625 + ], + [ + 28.9197998046875, + 35.9305419921875 + ], + [ + 19.27978515625, + 36.806884765625 + ], + [ + 9.639892578125, + 36.806884765625 + ], + [ + 1.752685546875, + 36.806884765625 + ], + [ + -3.50543212890625, + 35.05419921875 + ], + [ + -8.7635498046875, + 33.30145263671875 + ], + [ + -9.639892578125, + 32.42510986328125 + ], + [ + -10.51629638671875, + 31.54876708984375 + ], + [ + -11.39263916015625, + 30.67242431640625 + ], + [ + -12.26898193359375, + 28.919677734375 + ], + [ + -12.26898193359375, + 28.0433349609375 + ], + [ + -12.26898193359375, + 27.1669921875 + ], + [ + -11.39263916015625, + 27.1669921875 + ], + [ + -10.51629638671875, + 27.1669921875 + ], + [ + -9.639892578125, + 27.1669921875 + ], + [ + -9.639892578125, + 27.1669921875 + ] + ], + "pressures": [ + 0.107421875, + 0.5849609375, + 0.75390625, + 0.884765625, + 0.98828125, + 1, + 1, + 0.994140625, + 0.9814453125, + 0.9794921875, + 0.9814453125, + 0.990234375, + 0.9833984375, + 0.96484375, + 0.9384765625, + 0.9189453125, + 0.880859375, + 0.859375, + 0.80078125, + 0.58984375, + 0.3662109375, + 0.25390625, + 0.2177734375, + 0.1513671875, + 0.115234375, + 0.0830078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -9.639892578125, + 27.1669921875 + ] + }, + { + "id": "7LoUwsHQFYXj6xLyw6Z0R", + "type": "freedraw", + "x": -146.524946336622, + "y": -47.39896313555806, + "width": 55.21038818359375, + "height": 25.41436767578125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 734663523, + "version": 617, + "versionNonce": 1376060845, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.752685546875, + -0.87640380859375 + ], + [ + -1.752685546875, + -1.75274658203125 + ], + [ + -1.752685546875, + -0.87640380859375 + ], + [ + 1.75274658203125, + 1.75274658203125 + ], + [ + 7.0108642578125, + 5.25811767578125 + ], + [ + 12.26898193359375, + 8.7635498046875 + ], + [ + 22.7852783203125, + 14.8980712890625 + ], + [ + 31.548828125, + 19.27984619140625 + ], + [ + 39.43603515625, + 22.78521728515625 + ], + [ + 45.57049560546875, + 23.66162109375 + ], + [ + 50.82867431640625, + 23.66162109375 + ], + [ + 52.58135986328125, + 21.90887451171875 + ], + [ + 53.45770263671875, + 21.03253173828125 + ], + [ + 53.45770263671875, + 20.15618896484375 + ], + [ + 53.45770263671875, + 20.15618896484375 + ] + ], + "pressures": [ + 0.025390625, + 0.07421875, + 0.1484375, + 0.5234375, + 0.62890625, + 0.75390625, + 0.927734375, + 1, + 1, + 1, + 1, + 0.734375, + 0.3994140625, + 0.2626953125, + 0.1201171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 53.45770263671875, + 20.15618896484375 + ] + }, + { + "id": "b80VJQPOOU8EKE1_bioY5", + "type": "freedraw", + "x": -116.88814435686345, + "y": -32.421285356793874, + "width": 48.1995849609375, + "height": 24.5379638671875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 403090253, + "version": 613, + "versionNonce": 16332707, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.62908935546875, + 3.5054931640625 + ], + [ + 6.134521484375, + 6.134521484375 + ], + [ + 9.639892578125, + 6.134521484375 + ], + [ + 15.7744140625, + 7.0108642578125 + ], + [ + 21.03253173828125, + 6.134521484375 + ], + [ + 27.16705322265625, + 6.134521484375 + ], + [ + 35.05419921875, + 4.3818359375 + ], + [ + 38.5596923828125, + 2.62908935546875 + ], + [ + 42.0650634765625, + 0 + ], + [ + 44.6942138671875, + -1.752685546875 + ], + [ + 47.3232421875, + -4.38177490234375 + ], + [ + 48.1995849609375, + -6.13446044921875 + ], + [ + 45.570556640625, + -8.7635498046875 + ], + [ + 40.3123779296875, + -12.26898193359375 + ], + [ + 35.05419921875, + -14.89801025390625 + ], + [ + 27.16705322265625, + -16.6507568359375 + ], + [ + 22.7852783203125, + -16.6507568359375 + ], + [ + 18.40350341796875, + -16.6507568359375 + ], + [ + 14.8980712890625, + -16.6507568359375 + ], + [ + 12.26898193359375, + -16.6507568359375 + ], + [ + 10.51629638671875, + -16.6507568359375 + ], + [ + 9.639892578125, + -17.527099609375 + ], + [ + 9.639892578125, + -17.527099609375 + ] + ], + "pressures": [ + 0.091796875, + 0.2841796875, + 0.3876953125, + 0.515625, + 0.716796875, + 0.8408203125, + 0.923828125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 0.966796875, + 0.884765625, + 0.8134765625, + 0.80078125, + 0.7763671875, + 0.75, + 0.70703125, + 0.6953125, + 0.1787109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 9.639892578125, + -17.527099609375 + ] + }, + { + "id": "yqWJsZPFvsMWzQlpR9DgZ", + "type": "freedraw", + "x": -101.99007306780095, + "y": -55.206441606793874, + "width": 40.31231689453125, + "height": 32.42523193359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1420369507, + "version": 620, + "versionNonce": 269600781, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.75274658203125, + -1.7528076171875 + ], + [ + -0.8763427734375, + -1.7528076171875 + ], + [ + 1.752685546875, + -1.7528076171875 + ], + [ + 6.13446044921875, + -0.87640380859375 + ], + [ + 14.02166748046875, + 2.62896728515625 + ], + [ + 19.27978515625, + 5.258056640625 + ], + [ + 24.5379638671875, + 7.88714599609375 + ], + [ + 28.919677734375, + 9.63983154296875 + ], + [ + 33.301513671875, + 13.14532470703125 + ], + [ + 35.05419921875, + 15.77435302734375 + ], + [ + 35.9305419921875, + 18.40338134765625 + ], + [ + 35.9305419921875, + 21.032470703125 + ], + [ + 34.1778564453125, + 23.66156005859375 + ], + [ + 28.0433349609375, + 27.1669921875 + ], + [ + 23.66162109375, + 28.919677734375 + ], + [ + 17.527099609375, + 29.7960205078125 + ], + [ + 12.26898193359375, + 30.67242431640625 + ], + [ + 7.0108642578125, + 30.67242431640625 + ], + [ + 2.6290283203125, + 30.67242431640625 + ], + [ + 0.8763427734375, + 30.67242431640625 + ], + [ + 0, + 30.67242431640625 + ], + [ + -1.75274658203125, + 29.7960205078125 + ], + [ + -2.62908935546875, + 29.7960205078125 + ], + [ + -4.38177490234375, + 28.919677734375 + ], + [ + -4.38177490234375, + 28.0433349609375 + ], + [ + -4.38177490234375, + 27.1669921875 + ], + [ + -4.38177490234375, + 26.2906494140625 + ], + [ + -3.50543212890625, + 26.2906494140625 + ], + [ + -2.62908935546875, + 26.2906494140625 + ], + [ + -2.62908935546875, + 26.2906494140625 + ] + ], + "pressures": [ + 0.021484375, + 0.3857421875, + 0.6337890625, + 0.830078125, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0.9189453125, + 0.83203125, + 0.6845703125, + 0.447265625, + 0.294921875, + 0.1669921875, + 0.099609375, + 0.0537109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.62908935546875, + 26.2906494140625 + ] + }, + { + "id": "sEBrgdk-81dfN84GK7F26", + "type": "freedraw", + "x": -97.6082981654572, + "y": -53.453817095075124, + "width": 43.8177490234375, + "height": 26.29071044921875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 284070723, + "version": 617, + "versionNonce": 148392771, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + -0.8763427734375, + -0.8763427734375 + ], + [ + 0.8763427734375, + -0.8763427734375 + ], + [ + 4.38177490234375, + -0.8763427734375 + ], + [ + 7.88720703125, + -0.8763427734375 + ], + [ + 11.39263916015625, + -0.8763427734375 + ], + [ + 15.77435302734375, + 0.8763427734375 + ], + [ + 20.15618896484375, + 2.629150390625 + ], + [ + 26.29071044921875, + 6.134521484375 + ], + [ + 30.67242431640625, + 8.7635498046875 + ], + [ + 34.17791748046875, + 12.26898193359375 + ], + [ + 37.68328857421875, + 16.6507568359375 + ], + [ + 38.55963134765625, + 19.27984619140625 + ], + [ + 37.68328857421875, + 21.03253173828125 + ], + [ + 33.30157470703125, + 22.7852783203125 + ], + [ + 26.29071044921875, + 23.66162109375 + ], + [ + 18.40350341796875, + 23.66162109375 + ], + [ + 9.639892578125, + 23.66162109375 + ], + [ + 6.13446044921875, + 24.53802490234375 + ], + [ + 2.62908935546875, + 24.53802490234375 + ], + [ + 0, + 25.41436767578125 + ], + [ + -2.62908935546875, + 25.41436767578125 + ], + [ + -3.50543212890625, + 25.41436767578125 + ], + [ + -5.25811767578125, + 25.41436767578125 + ], + [ + -4.38177490234375, + 24.53802490234375 + ], + [ + -3.50543212890625, + 23.66162109375 + ], + [ + -3.50543212890625, + 23.66162109375 + ] + ], + "pressures": [ + 0.056640625, + 0.50390625, + 0.6181640625, + 0.828125, + 0.90234375, + 0.94921875, + 0.966796875, + 0.9814453125, + 0.9814453125, + 0.9814453125, + 0.98828125, + 0.98828125, + 0.970703125, + 0.96875, + 0.9560546875, + 0.9453125, + 0.9365234375, + 0.9404296875, + 0.92578125, + 0.904296875, + 0.8935546875, + 0.8388671875, + 0.79296875, + 0.7646484375, + 0.630859375, + 0.111328125, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.50543212890625, + 23.66162109375 + ] + }, + { + "id": "TZ1LxoS04CNmborMMbKCM", + "type": "freedraw", + "x": -99.36104474748845, + "y": -54.330159868512624, + "width": 35.05419921875, + "height": 28.919677734375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 369304269, + "version": 618, + "versionNonce": 1209482861, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8763427734375, + 0 + ], + [ + 0, + 0 + ], + [ + 1.75274658203125, + -0.87628173828125 + ], + [ + 4.3818359375, + -0.87628173828125 + ], + [ + 8.76361083984375, + 0 + ], + [ + 14.021728515625, + 0.8763427734375 + ], + [ + 20.15625, + 3.5054931640625 + ], + [ + 23.66162109375, + 5.25811767578125 + ], + [ + 27.1671142578125, + 7.0108642578125 + ], + [ + 29.796142578125, + 9.639892578125 + ], + [ + 32.4251708984375, + 14.02166748046875 + ], + [ + 33.301513671875, + 17.527099609375 + ], + [ + 33.301513671875, + 20.15618896484375 + ], + [ + 32.4251708984375, + 21.90887451171875 + ], + [ + 27.1671142578125, + 23.66162109375 + ], + [ + 18.403564453125, + 26.29071044921875 + ], + [ + 14.021728515625, + 27.16705322265625 + ], + [ + 10.51629638671875, + 28.04339599609375 + ], + [ + 8.76361083984375, + 28.04339599609375 + ], + [ + 4.3818359375, + 28.04339599609375 + ], + [ + 2.62908935546875, + 27.16705322265625 + ], + [ + 0, + 26.29071044921875 + ], + [ + -0.8763427734375, + 25.41436767578125 + ], + [ + -1.752685546875, + 25.41436767578125 + ], + [ + -1.752685546875, + 24.5379638671875 + ], + [ + -1.752685546875, + 23.66162109375 + ], + [ + -0.8763427734375, + 23.66162109375 + ], + [ + -0.8763427734375, + 23.66162109375 + ] + ], + "pressures": [ + 0.0888671875, + 0.2998046875, + 0.5107421875, + 0.70703125, + 0.8916015625, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 0.9404296875, + 0.8720703125, + 0.8134765625, + 0.787109375, + 0.2578125, + 0.1943359375, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.8763427734375, + 23.66162109375 + ] + }, + { + "id": "UlDXTNxNrqa7vlTOA19pN", + "type": "freedraw", + "x": -107.13972512865541, + "y": -56.3370108947604, + "width": 53.320455577674664, + "height": 32.93325771655816, + "angle": 6.186401353121853, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 299701645, + "version": 667, + "versionNonce": 1456728803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0.013731869378068584 + ], + [ + 4.4433841925388045, + -0.8763427734375 + ], + [ + 9.997595091613436, + -0.8763427734375 + ], + [ + 16.662632697223895, + 0.013731869378068584 + ], + [ + 24.438651742161174, + 1.7940051381047366 + ], + [ + 33.32526539444779, + 4.464229066551443 + ], + [ + 38.87955365991792, + 6.244440343730345 + ], + [ + 43.322860486061224, + 8.91466427217705 + ], + [ + 47.766322044995526, + 10.694875549355952 + ], + [ + 52.20962887113883, + 15.145310754981562 + ], + [ + 53.320455577674664, + 18.705609326243838 + ], + [ + 53.320455577674664, + 22.265969889053878 + ], + [ + 48.87714875153135, + 25.826330451863917 + ], + [ + 42.2120337795254, + 28.496616371858387 + ], + [ + 29.99278527484031, + 32.05691494312066 + ], + [ + 22.216843596298528, + 32.05691494312066 + ], + [ + 15.551805990688068, + 32.05691494312066 + ], + [ + 9.997595091613436, + 31.166840300305093 + ], + [ + 5.554210899074632, + 30.276765657489527 + ], + [ + 3.3325574860029774, + 29.386691014673957 + ], + [ + 1.110826706535827, + 28.496616371858387 + ], + [ + 0, + 27.606479737495054 + ], + [ + 0, + 27.606479737495054 + ] + ], + "pressures": [ + 0.0830078125, + 0.705078125, + 0.8203125, + 0.9365234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.92578125, + 0.87890625, + 0.8447265625, + 0.78125, + 0.62890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 27.16705322265625 + ] + }, + { + "id": "WkFs4uobIkkDixetBMhNy", + "type": "freedraw", + "x": -153.44862742238183, + "y": -143.93509525447678, + "width": 7.96686345880687, + "height": 30.274158824573817, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 939972653, + "version": 609, + "versionNonce": 551479501, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + 0.7967307350851911 + ], + [ + -3.186756480823874, + 2.390081232244313 + ], + [ + -3.9834317294034918, + 4.780162464488626 + ], + [ + -5.5767822265625, + 7.966863458806813 + ], + [ + -6.373512961647748, + 10.356944691051126 + ], + [ + -7.170188210227366, + 11.950350674715878 + ], + [ + -7.170188210227366, + 13.543701171875 + ], + [ + -7.96686345880687, + 15.933782404119313 + ], + [ + -7.96686345880687, + 19.91721413352269 + ], + [ + -7.96686345880687, + 22.307239879261317 + ], + [ + -6.373512961647748, + 24.69732111150563 + ], + [ + -6.373512961647748, + 26.290671608664752 + ], + [ + -5.5767822265625, + 27.08745783025563 + ], + [ + -5.5767822265625, + 27.884077592329504 + ], + [ + -4.780106977982996, + 29.477428089488626 + ], + [ + -3.9834317294034918, + 30.274158824573817 + ], + [ + -3.186756480823874, + 30.274158824573817 + ], + [ + -2.390025745738626, + 29.477428089488626 + ], + [ + -2.390025745738626, + 28.680752840909065 + ], + [ + -2.390025745738626, + 28.680752840909065 + ] + ], + "pressures": [ + 0.09375, + 0.2822265625, + 0.328125, + 0.3642578125, + 0.4345703125, + 0.48828125, + 0.5087890625, + 0.525390625, + 0.541015625, + 0.55859375, + 0.5537109375, + 0.53515625, + 0.5205078125, + 0.5146484375, + 0.5078125, + 0.4091796875, + 0.3125, + 0.1982421875, + 0.1025390625, + 0.0185546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390025745738626, + 28.680752840909065 + ] + }, + { + "id": "kPWSIFvoqigkhYEWqRGe6", + "type": "freedraw", + "x": -155.83865316812046, + "y": -137.5615822928291, + "width": 7.170188210227366, + "height": 25.493996360085248, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1001794339, + "version": 607, + "versionNonce": 259692163, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + 1.593350497159122 + ], + [ + -1.5934059836648657, + 4.780162464488626 + ], + [ + -3.186756480823874, + 7.170188210227309 + ], + [ + -5.576837713068244, + 10.356944691051126 + ], + [ + -5.576837713068244, + 11.950295188210248 + ], + [ + -6.373512961647748, + 13.543701171875 + ], + [ + -6.373512961647748, + 14.340376420454561 + ], + [ + -7.170188210227366, + 15.137051669034122 + ], + [ + -7.170188210227366, + 16.730457652698874 + ], + [ + -7.170188210227366, + 17.527132901278435 + ], + [ + -7.170188210227366, + 18.32380814985794 + ], + [ + -5.576837713068244, + 19.91715864701706 + ], + [ + -3.186756480823874, + 23.103915127840935 + ], + [ + -2.39008123224437, + 24.697376598011374 + ], + [ + -1.5934059836648657, + 25.493996360085248 + ], + [ + -0.7967307350852479, + 25.493996360085248 + ], + [ + -0.7967307350852479, + 23.103915127840935 + ], + [ + -0.7967307350852479, + 23.103915127840935 + ] + ], + "pressures": [ + 0.01953125, + 0.3759765625, + 0.4248046875, + 0.50390625, + 0.580078125, + 0.615234375, + 0.6337890625, + 0.640625, + 0.6474609375, + 0.6513671875, + 0.6552734375, + 0.6552734375, + 0.662109375, + 0.6591796875, + 0.6572265625, + 0.64453125, + 0.611328125, + 0.0400390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.7967307350852479, + 23.103915127840935 + ] + }, + { + "id": "D-Tif8J7p3wKdNuRVDVJD", + "type": "freedraw", + "x": -181.3326495282057, + "y": -171.02244211172115, + "width": 31.867509321732996, + "height": 91.61904074928981, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 581643107, + "version": 611, + "versionNonce": 738346797, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + -4.780106977982939 + ], + [ + -0.7967307350852479, + -9.560269442471565 + ], + [ + 0, + -17.527132901278378 + ], + [ + 1.593350497159065, + -29.477428089488626 + ], + [ + 5.5767822265625, + -46.20785799893463 + ], + [ + 8.763538707386317, + -52.581370960582376 + ], + [ + 11.950295188210191, + -57.36150568181813 + ], + [ + 15.933726917613626, + -60.54823441938919 + ], + [ + 21.510509144176126, + -62.141612659801126 + ], + [ + 25.493996360085248, + -56.564802689985754 + ], + [ + 27.884022105823874, + -43.81780450994313 + ], + [ + 27.884022105823874, + -24.69732111150563 + ], + [ + 21.510509144176126, + 6.373512961647748 + ], + [ + 15.137051669034065, + 22.30729536576706 + ], + [ + 8.763538707386317, + 28.680752840909122 + ], + [ + 4.780106977982939, + 29.477428089488683 + ], + [ + 0.7966752485795041, + 23.103915127840935 + ], + [ + -3.186756480823874, + 6.373512961647748 + ], + [ + -3.983487215909122, + -6.373512961647691 + ], + [ + -3.983487215909122, + -18.32380814985794 + ], + [ + -2.39008123224437, + -30.27410333806813 + ], + [ + 0, + -40.63104802911931 + ], + [ + 3.18670099431813, + -50.19131747159088 + ], + [ + 4.780106977982939, + -54.17474920099431 + ], + [ + 5.5767822265625, + -54.97142444957382 + ], + [ + 6.373457475142004, + -55.76812744140619 + ], + [ + 8.763538707386317, + -54.97142444957382 + ], + [ + 9.560213955965878, + -52.581370960582376 + ], + [ + 10.356889204545439, + -50.19131747159088 + ], + [ + 10.356889204545439, + -49.3946144797585 + ], + [ + 10.356889204545439, + -49.3946144797585 + ] + ], + "pressures": [ + 0.0546875, + 0.234375, + 0.318359375, + 0.4521484375, + 0.6015625, + 0.6884765625, + 0.69921875, + 0.69921875, + 0.6806640625, + 0.66015625, + 0.66796875, + 0.6884765625, + 0.6943359375, + 0.67578125, + 0.6552734375, + 0.66015625, + 0.71484375, + 0.748046875, + 0.7421875, + 0.701171875, + 0.66015625, + 0.626953125, + 0.6083984375, + 0.5966796875, + 0.572265625, + 0.53125, + 0.357421875, + 0.22265625, + 0.1748046875, + 0.1103515625, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356889204545439, + -49.3946144797585 + ] + }, + { + "id": "iuDDRji4sBMsgdTUEYApf", + "type": "freedraw", + "x": -192.4862694678364, + "y": -173.41252334396546, + "width": 48.59791148792618, + "height": 110.73960737748575, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 648677059, + "version": 610, + "versionNonce": 1099615779, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -10.356944691051126 + ], + [ + -2.390081232244313, + -19.1204833984375 + ], + [ + -2.390081232244313, + -30.274103338068187 + ], + [ + 0, + -43.021101518110754 + ], + [ + 6.373457475142004, + -61.34490966796875 + ], + [ + 11.153619939630687, + -70.9051513671875 + ], + [ + 15.933726917613626, + -78.87204256924713 + ], + [ + 20.713833895596565, + -84.4488525390625 + ], + [ + 26.290671608664752, + -86.04223077947438 + ], + [ + 33.46085981889206, + -78.07533957741475 + ], + [ + 39.03764204545456, + -65.32834139737213 + ], + [ + 42.224398526278435, + -48.597911487926126 + ], + [ + 42.224398526278435, + -26.290671608664752 + ], + [ + 33.46085981889206, + 7.966863458806813 + ], + [ + 24.697265625, + 20.713944868607996 + ], + [ + 15.933726917613626, + 24.697376598011374 + ], + [ + 7.966863458806813, + 20.713944868607996 + ], + [ + 0.7966752485795041, + 8.763594193892061 + ], + [ + -4.780162464488683, + -16.730402166193187 + ], + [ + -6.373512961647748, + -34.257535067471565 + ], + [ + -6.373512961647748, + -48.597911487926126 + ], + [ + -5.576837713068187, + -58.158153187144876 + ], + [ + -0.7967307350852479, + -66.1250443892045 + ], + [ + 3.186700994318187, + -69.31177312677556 + ], + [ + 7.170132723721565, + -70.9051513671875 + ], + [ + 9.560213955965878, + -70.9051513671875 + ], + [ + 11.153619939630687, + -70.10847611860794 + ], + [ + 13.543645685369313, + -67.71842262961644 + ], + [ + 14.340320933948817, + -65.32834139737213 + ], + [ + 14.340320933948817, + -65.32834139737213 + ] + ], + "pressures": [ + 0.1064453125, + 0.3134765625, + 0.46484375, + 0.6064453125, + 0.720703125, + 0.80078125, + 0.8134765625, + 0.8203125, + 0.830078125, + 0.83203125, + 0.8427734375, + 0.8701171875, + 0.861328125, + 0.8154296875, + 0.697265625, + 0.6923828125, + 0.75390625, + 0.8095703125, + 0.78125, + 0.6953125, + 0.591796875, + 0.5458984375, + 0.5205078125, + 0.49609375, + 0.3837890625, + 0.3251953125, + 0.28515625, + 0.2607421875, + 0.1865234375, + 0.1240234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.340320933948817, + -65.32834139737213 + ] + }, + { + "id": "eYaF77kxSQWbHkCjtRb7k", + "type": "freedraw", + "x": -194.8763507000807, + "y": -170.2257668631416, + "width": 45.41115500710231, + "height": 89.22895951704544, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 855238445, + "version": 604, + "versionNonce": 199940493, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.950295188210191, + -70.10847611860794 + ], + [ + 14.340376420454504, + -70.90517911044032 + ], + [ + 23.90059037642044, + -73.29523259943181 + ], + [ + 30.27410333806813, + -71.70185435901988 + ], + [ + 35.850941051136374, + -66.1250443892045 + ], + [ + 38.240966796875, + -55.76809969815338 + ], + [ + 38.240966796875, + -39.037669788707376 + ], + [ + 33.460859818892004, + -19.1204833984375 + ], + [ + 23.103915127840878, + 5.576837713068187 + ], + [ + 15.137051669034065, + 14.340376420454561 + ], + [ + 7.966863458806813, + 15.933726917613626 + ], + [ + -0.796675248579561, + 11.950295188210248 + ], + [ + -4.780106977982996, + 5.576837713068187 + ], + [ + -7.170188210227309, + -3.186756480823874 + ], + [ + -7.170188210227309, + -15.137051669034065 + ], + [ + -4.780106977982996, + -30.274103338068187 + ], + [ + -0.796675248579561, + -45.411182750355124 + ], + [ + 6.373512961647691, + -58.95485617897725 + ], + [ + 9.560213955965878, + -62.93828790838069 + ], + [ + 11.15361993963063, + -63.73499090021306 + ], + [ + 11.950295188210191, + -64.53166614879262 + ], + [ + 11.950295188210191, + -63.73499090021306 + ], + [ + 11.950295188210191, + -62.93828790838069 + ], + [ + 11.950295188210191, + -62.93828790838069 + ] + ], + "pressures": [ + 0.0166015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0.953125, + 0.923828125, + 0.7607421875, + 0.41796875, + 0.2392578125, + 0.1669921875, + 0.0654296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.950295188210191, + -62.93828790838069 + ] + }, + { + "id": "Wmf63oMKM3W2HFsA8FmFN", + "type": "freedraw", + "x": -189.2995684735182, + "y": -188.54957501299953, + "width": 50.19126198508525, + "height": 97.9925537109375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1317354243, + "version": 612, + "versionNonce": 536023491, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -3.186756480823874 + ], + [ + -6.373457475142061, + -10.356944691051126 + ], + [ + -7.170188210227309, + -18.32380814985794 + ], + [ + -7.170188210227309, + -27.88404984907669 + ], + [ + -3.186700994318187, + -43.81780450994319 + ], + [ + 0, + -53.37804620916194 + ], + [ + 4.780162464488626, + -59.75153142755681 + ], + [ + 8.763594193892004, + -63.73499090021306 + ], + [ + 12.747025923295439, + -65.328369140625 + ], + [ + 19.12053888494313, + -63.73499090021306 + ], + [ + 28.68075284090901, + -54.1747214577415 + ], + [ + 34.25759055397725, + -45.411182750355124 + ], + [ + 36.64761629971588, + -36.647616299715935 + ], + [ + 34.25759055397725, + -17.527105158025563 + ], + [ + 28.68075284090901, + -0.796675248579561 + ], + [ + 19.91721413352269, + 15.933726917613626 + ], + [ + 10.356944691051126, + 27.88407759232956 + ], + [ + 1.593405983664752, + 32.6641845703125 + ], + [ + -5.5767822265625, + 31.867564808238626 + ], + [ + -11.950295188210248, + 19.917214133522748 + ], + [ + -13.54364568536937, + 8.763538707386374 + ], + [ + -13.54364568536937, + -3.186756480823874 + ], + [ + -11.950295188210248, + -25.493996360085248 + ], + [ + -7.96686345880687, + -38.240994540127815 + ], + [ + -3.983431729403435, + -48.597911487926126 + ], + [ + 0, + -54.971424449573874 + ], + [ + 2.390081232244313, + -57.361477938565315 + ], + [ + 3.983431729403378, + -58.15818093039775 + ], + [ + 4.780162464488626, + -56.56480268998581 + ], + [ + 5.57683771306813, + -54.1747214577415 + ], + [ + 5.57683771306813, + -53.37804620916194 + ], + [ + 5.57683771306813, + -53.37804620916194 + ] + ], + "pressures": [ + 0.099609375, + 0.26171875, + 0.439453125, + 0.552734375, + 0.69921875, + 0.9404296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.966796875, + 0.8828125, + 0.7744140625, + 0.71875, + 0.677734375, + 0.626953125, + 0.44140625, + 0.259765625, + 0.1728515625, + 0.115234375, + 0.0048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.57683771306813, + -53.37804620916194 + ] + }, + { + "id": "zVUuBIP662wapPdbULots", + "type": "freedraw", + "x": -194.0796754515012, + "y": -183.7694680350166, + "width": 43.81780450994319, + "height": 93.21247447620738, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1333027149, + "version": 609, + "versionNonce": 1506942957, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -7.966863458806813 + ], + [ + -3.186756480823874, + -16.730402166193187 + ], + [ + -2.390081232244313, + -27.884022105823874 + ], + [ + 4.780106977982996, + -45.41115500710225 + ], + [ + 11.153619939630687, + -54.971396706321 + ], + [ + 18.323808149857996, + -62.141584916548254 + ], + [ + 24.697321111505687, + -66.12501664595169 + ], + [ + 31.070834073153378, + -64.53163840553975 + ], + [ + 35.05426580255687, + -57.361477938565315 + ], + [ + 37.444291548295496, + -43.817776766690315 + ], + [ + 37.444291548295496, + -24.697293368252815 + ], + [ + 35.05426580255687, + -3.983431729403378 + ], + [ + 27.88407759232956, + 17.527132901278435 + ], + [ + 22.307239879261374, + 24.697321111505687 + ], + [ + 15.933726917613626, + 27.087457830255687 + ], + [ + 9.560269442471622, + 27.087457830255687 + ], + [ + 0.796675248579561, + 19.917214133522748 + ], + [ + -3.186756480823874, + 12.747025923295439 + ], + [ + -5.5767822265625, + 4.780162464488626 + ], + [ + -6.373512961647691, + -3.983431729403378 + ], + [ + -5.5767822265625, + -14.340376420454561 + ], + [ + -3.983431729403378, + -21.51053688742894 + ], + [ + -1.593350497159065, + -28.68072509765625 + ], + [ + 1.593405983664809, + -35.054210316051126 + ], + [ + 4.780106977982996, + -38.240966796875 + ], + [ + 7.170188210227309, + -41.427723277698874 + ], + [ + 9.560269442471622, + -42.22439852627838 + ], + [ + 10.356944691051126, + -43.021101518110754 + ], + [ + 10.356944691051126, + -43.021101518110754 + ] + ], + "pressures": [ + 0.095703125, + 0.3642578125, + 0.5380859375, + 0.791015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 0.9814453125, + 0.9619140625, + 0.9384765625, + 0.71484375, + 0.4443359375, + 0.3125, + 0.2392578125, + 0.197265625, + 0.1337890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356944691051126, + -43.021101518110754 + ] + }, + { + "id": "YbCu-eQQ6NpspLcOTQqeC", + "type": "freedraw", + "x": -188.50283773843302, + "y": -186.1594937807552, + "width": 43.81780450994319, + "height": 81.26209605823863, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1025820045, + "version": 605, + "versionNonce": 2077352291, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -3.186756480823874 + ], + [ + -4.780162464488626, + -9.560269442471565 + ], + [ + -4.780162464488626, + -18.32383589311081 + ], + [ + -2.390081232244313, + -33.460887562144876 + ], + [ + 1.593350497159122, + -42.224454012784065 + ], + [ + 7.170188210227309, + -48.597939231179 + ], + [ + 13.543645685369313, + -53.37807395241475 + ], + [ + 19.91715864701706, + -54.17474920099431 + ], + [ + 31.07077858664769, + -49.3946144797585 + ], + [ + 35.85088556463069, + -43.021129261363626 + ], + [ + 39.03764204545456, + -33.460887562144876 + ], + [ + 38.24096679687506, + -18.32383589311081 + ], + [ + 30.274103338068187, + 7.966863458806813 + ], + [ + 27.884022105823817, + 15.137051669034065 + ], + [ + 16.730402166193187, + 27.087346857244313 + ], + [ + -0.7967307350851911, + -19.120511141690315 + ], + [ + -0.7967307350851911, + -23.900645862926126 + ], + [ + -0.7967307350851911, + -31.86750932173294 + ], + [ + 1.593350497159122, + -40.63107577237213 + ], + [ + 3.186700994318187, + -43.021129261363626 + ], + [ + 3.983431729403435, + -43.81780450994319 + ], + [ + 4.780106977982939, + -43.81780450994319 + ], + [ + 5.5767822265625, + -43.81780450994319 + ], + [ + 6.373457475142061, + -43.021129261363626 + ], + [ + 6.373457475142061, + -43.021129261363626 + ] + ], + "pressures": [ + 0.0537109375, + 0.232421875, + 0.34765625, + 0.4931640625, + 0.8173828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.90234375, + 0.8740234375, + 0.826171875, + 0.734375, + 0.61328125, + 0.4736328125, + 0.24609375, + 0.181640625, + 0.091796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.373457475142061, + -43.021129261363626 + ] + }, + { + "id": "54bWY2x8621up8xEW6Y_i", + "type": "freedraw", + "x": -193.28300020292164, + "y": -175.00587384112453, + "width": 45.411210493607996, + "height": 92.41574374112213, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 780835085, + "version": 612, + "versionNonce": 1270979149, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + -4.780162464488626 + ], + [ + -3.983431729403435, + -11.950295188210248 + ], + [ + -3.983431729403435, + -19.917214133522748 + ], + [ + -3.983431729403435, + -28.680752840909122 + ], + [ + 1.593405983664752, + -43.021129261363626 + ], + [ + 7.966863458806813, + -51.784695712002815 + ], + [ + 15.137051669034065, + -58.954883922230124 + ], + [ + 26.290671608664752, + -63.73499090021306 + ], + [ + 32.66418457031244, + -62.141612659801126 + ], + [ + 37.44434703480118, + -55.76812744140625 + ], + [ + 40.63104802911931, + -45.411182750355124 + ], + [ + 41.42777876420456, + -30.274131081321002 + ], + [ + 36.647616299715935, + -11.153619939630687 + ], + [ + 25.493996360085248, + 15.137051669034065 + ], + [ + 18.32380814985794, + 25.493996360085248 + ], + [ + 11.950350674715935, + 28.680752840909065 + ], + [ + 7.170188210227252, + 27.087346857244313 + ], + [ + 2.390081232244313, + 11.950295188210248 + ], + [ + 1.593405983664752, + -0.796675248579561 + ], + [ + 2.390081232244313, + -15.137051669034122 + ], + [ + 3.983431729403435, + -28.680752840909122 + ], + [ + 6.373512961647748, + -39.83437278053975 + ], + [ + 8.763594193892061, + -51.784695712002815 + ], + [ + 10.356944691051126, + -56.56480268998581 + ], + [ + 12.747025923295439, + -58.954883922230124 + ], + [ + 13.543701171875, + -58.954883922230124 + ], + [ + 14.340376420454561, + -58.954883922230124 + ], + [ + 15.137051669034065, + -58.954883922230124 + ], + [ + 15.137051669034065, + -58.15818093039775 + ], + [ + 15.137051669034065, + -57.36150568181819 + ], + [ + 15.137051669034065, + -56.56480268998581 + ], + [ + 15.137051669034065, + -56.56480268998581 + ] + ], + "pressures": [ + 0.0537109375, + 0.2802734375, + 0.4580078125, + 0.720703125, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8896484375, + 0.5146484375, + 0.3642578125, + 0.2021484375, + 0.134765625, + 0.1044921875, + 0.0390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.137051669034065, + -56.56480268998581 + ] + }, + { + "id": "lMwmZRPkDfIo7A2LTiC1l", + "type": "freedraw", + "x": -123.1745240843137, + "y": -245.11437770298534, + "width": 96.39920321377838, + "height": 107.55276766690338, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 38466925, + "version": 605, + "versionNonce": 2121645315, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186756480823874, + 4.780134721235811 + ], + [ + 7.170188210227252, + 8.763566450639246 + ], + [ + 13.543701171875, + 12.746998180042624 + ], + [ + 23.103970614346622, + 16.73042990944606 + ], + [ + 41.427723277698874, + 19.120511141690372 + ], + [ + 53.37807395241475, + 15.137079412286937 + ], + [ + 64.53174937855113, + 7.170188210227309 + ], + [ + 73.2952880859375, + -4.780106977982939 + ], + [ + 79.66880104758525, + -18.32380814985794 + ], + [ + 85.245527787642, + -39.83434503728694 + ], + [ + 87.635664506392, + -50.19128972833806 + ], + [ + 86.8389892578125, + -54.17472145774144 + ], + [ + 80.46547629616475, + -54.17472145774144 + ], + [ + 63.73496315696025, + -41.427723277698874 + ], + [ + 53.37807395241475, + -24.697293368252815 + ], + [ + 46.2078857421875, + -3.983431729403378 + ], + [ + 43.02118474786937, + 19.917186390269876 + ], + [ + 45.411210493607996, + 39.83437278053981 + ], + [ + 58.954911665482996, + 53.37804620916194 + ], + [ + 69.31180087002838, + 53.37804620916194 + ], + [ + 77.27866432883525, + 45.411182750355124 + ], + [ + 84.4488525390625, + 30.27413108132106 + ], + [ + 94.00917746803975, + 0.796702991832376 + ], + [ + 96.39920321377838, + -14.340376420454504 + ], + [ + 96.39920321377838, + -18.32380814985794 + ], + [ + 96.39920321377838, + -18.32380814985794 + ] + ], + "pressures": [ + 0.1455078125, + 0.7421875, + 0.947265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.97265625, + 0.9365234375, + 0.9365234375, + 0.9423828125, + 0.947265625, + 0.900390625, + 0.787109375, + 0.611328125, + 0.4599609375, + 0.4306640625, + 0.23828125, + 0.162109375, + 0.130859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 96.39920321377838, + -18.32380814985794 + ] + }, + { + "id": "UUj6eeIATBtTh1duGHjsG", + "type": "freedraw", + "x": -191.6895942192569, + "y": -180.5827115541927, + "width": 46.2078857421875, + "height": 86.04223077947444, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1983999139, + "version": 604, + "versionNonce": 445827245, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -3.186756480823874 + ], + [ + -3.983431729403378, + -11.950295188210248 + ], + [ + -1.593405983664752, + -21.510564630681813 + ], + [ + 3.186756480823874, + -32.664156827059685 + ], + [ + 8.763538707386374, + -41.427723277698874 + ], + [ + 17.527132901278435, + -47.00453324751419 + ], + [ + 22.307239879261374, + -47.00453324751419 + ], + [ + 27.087346857244313, + -45.41115500710225 + ], + [ + 31.86745383522731, + -39.037669788707376 + ], + [ + 35.85094105113643, + -27.88404984907669 + ], + [ + 36.647616299715935, + -6.373457475142061 + ], + [ + 30.274103338068187, + 7.966863458806813 + ], + [ + 19.91715864701706, + 19.120538884943187 + ], + [ + 9.560213955965935, + 25.493996360085248 + ], + [ + -3.186756480823817, + 23.103970614346565 + ], + [ + -7.966863458806813, + 15.137051669034065 + ], + [ + -9.560269442471565, + 3.983431729403435 + ], + [ + -7.170188210227252, + -9.560213955965935 + ], + [ + -2.390081232244313, + -24.697293368252815 + ], + [ + 7.966863458806813, + -44.61447975852275 + ], + [ + 15.137051669034122, + -53.37804620916194 + ], + [ + 19.91715864701706, + -58.95485617897725 + ], + [ + 21.510564630681813, + -60.54823441938919 + ], + [ + 20.713833895596622, + -58.158153187144876 + ], + [ + 20.713833895596622, + -58.158153187144876 + ] + ], + "pressures": [ + 0, + 0.701171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.439453125, + 0.1103515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 20.713833895596622, + -58.158153187144876 + ] + }, + { + "id": "vmLjqjIhe2OwjaULqMVBq", + "type": "freedraw", + "x": -186.1128119926944, + "y": -179.78603630561315, + "width": 53.378018465909065, + "height": 78.07533957741481, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 281993507, + "version": 606, + "versionNonce": 593306787, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.170188210227252, + -7.170132723721622 + ], + [ + -10.356944691051126, + -11.950295188210248 + ], + [ + -11.950295188210191, + -19.1204833984375 + ], + [ + -11.950295188210191, + -28.68072509765625 + ], + [ + -5.5767822265625, + -44.614452015269876 + ], + [ + 2.390081232244313, + -53.37801846590912 + ], + [ + 11.950350674715935, + -59.75153142755681 + ], + [ + 21.510564630681813, + -63.73496315696025 + ], + [ + 29.477428089488683, + -64.53163840553981 + ], + [ + 38.24102228338069, + -54.97139670632106 + ], + [ + 40.63104802911931, + -43.81777676669037 + ], + [ + 37.44434703480118, + -27.884022105823874 + ], + [ + 23.900645862926183, + -3.186700994318187 + ], + [ + 12.747025923295496, + 8.763594193892004 + ], + [ + 3.983431729403435, + 13.543701171875 + ], + [ + -3.186756480823817, + 12.747025923295439 + ], + [ + -7.966863458806813, + 7.9669189453125 + ], + [ + -11.153619939630687, + 0 + ], + [ + -12.746970436789752, + -12.746970436789809 + ], + [ + -11.950295188210191, + -22.307239879261374 + ], + [ + -7.966863458806813, + -32.664156827059685 + ], + [ + 0, + -45.41115500710231 + ], + [ + 5.576837713068187, + -50.19126198508525 + ], + [ + 8.763594193892061, + -51.784640225497185 + ], + [ + 10.356944691051183, + -51.784640225497185 + ], + [ + 10.356944691051183, + -50.987964976917624 + ], + [ + 10.356944691051183, + -50.987964976917624 + ] + ], + "pressures": [ + 0.087890625, + 0.4912109375, + 0.8876953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.921875, + 0.5, + 0.240234375, + 0.1533203125, + 0.0234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356944691051183, + -50.987964976917624 + ] + }, + { + "id": "7uTeG91Oqh77siMPlLJzS", + "type": "freedraw", + "x": -227.54047978388758, + "y": -184.56614328359615, + "width": 14.340431906960248, + "height": 77.27871981534093, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 312790445, + "version": 603, + "versionNonce": 1916180547, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.39013671875, + -3.983431729403378 + ], + [ + -2.39013671875, + -7.966863458806813 + ], + [ + -1.593405983664752, + -19.1204833984375 + ], + [ + 0, + -27.88404984907669 + ], + [ + 3.186700994318187, + -35.8509133078835 + ], + [ + 5.57672674005687, + -41.42772327769882 + ], + [ + 7.96686345880687, + -45.41115500710225 + ], + [ + 8.763483220880687, + -45.41115500710225 + ], + [ + 10.356889204545496, + -44.61447975852269 + ], + [ + 11.950295188210248, + -37.44429154829544 + ], + [ + 11.950295188210248, + -20.71386163884938 + ], + [ + 6.373457475142061, + 11.153619939630687 + ], + [ + 2.390025745738683, + 26.29067160866481 + ], + [ + 1.593295010653435, + 31.867564808238683 + ], + [ + 0.796619762073874, + 31.867564808238683 + ], + [ + 0, + 22.307239879261374 + ], + [ + -0.7967307350851911, + 12.747025923295496 + ], + [ + -0.7967307350851911, + 1.593405983664809 + ], + [ + -0.7967307350851911, + -9.560213955965878 + ], + [ + 0, + -19.917186390269876 + ], + [ + 0.796619762073874, + -29.477428089488626 + ], + [ + 1.593295010653435, + -31.867481578480067 + ], + [ + 1.593295010653435, + -32.66415682705963 + ], + [ + 2.390025745738683, + -33.460859818892004 + ], + [ + 3.186700994318187, + -32.66415682705963 + ], + [ + 3.186700994318187, + -29.477428089488626 + ], + [ + 3.186700994318187, + -28.68072509765625 + ], + [ + 3.186700994318187, + -28.68072509765625 + ] + ], + "pressures": [ + 0.0576171875, + 0.2783203125, + 0.4365234375, + 0.9111328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8095703125, + 0.212890625, + 0.1484375, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186700994318187, + -28.68072509765625 + ] + }, + { + "id": "BMHhgwVq75qTuUmn1a84W", + "type": "freedraw", + "x": -231.52391151329095, + "y": -181.37938680277227, + "width": 16.730457652698874, + "height": 62.93828790838069, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 300111309, + "version": 603, + "versionNonce": 1682981229, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + -7.170188210227252 + ], + [ + 0, + -15.933726917613626 + ], + [ + 2.390025745738626, + -26.290671608664752 + ], + [ + 4.780051491477252, + -35.8509133078835 + ], + [ + 7.966863458806813, + -43.021101518110754 + ], + [ + 9.560158469460248, + -43.81780450994319 + ], + [ + 11.153564453125, + -44.61447975852269 + ], + [ + 12.746914950284065, + -43.81780450994319 + ], + [ + 15.136996182528378, + -34.25756281072444 + ], + [ + 15.933726917613626, + -20.713889382102252 + ], + [ + 15.136996182528378, + -4.780106977982939 + ], + [ + 13.543645685369313, + 7.966863458806813 + ], + [ + 11.950295188210248, + 15.933726917613626 + ], + [ + 10.356889204545439, + 18.323808149857996 + ], + [ + 7.966863458806813, + 15.137051669034122 + ], + [ + 5.576726740056813, + 8.763538707386374 + ], + [ + 3.983431729403378, + -1.593350497159065 + ], + [ + 3.186700994318187, + -17.527132901278378 + ], + [ + 3.186700994318187, + -26.290671608664752 + ], + [ + 4.780051491477252, + -31.867481578480124 + ], + [ + 5.576726740056813, + -35.8509133078835 + ], + [ + 7.170132723721565, + -39.037669788707376 + ], + [ + 7.966863458806813, + -39.83437278053975 + ], + [ + 8.763483220880687, + -39.83437278053975 + ], + [ + 8.763483220880687, + -39.037669788707376 + ], + [ + 8.763483220880687, + -38.240994540127815 + ], + [ + 8.763483220880687, + -37.44429154829544 + ], + [ + 8.763483220880687, + -37.44429154829544 + ] + ], + "pressures": [ + 0.13671875, + 0.4072265625, + 0.6923828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.830078125, + 0.318359375, + 0.154296875, + 0.0830078125, + 0.0458984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.763483220880687, + -37.44429154829544 + ] + }, + { + "id": "jGDLGMURQR4DBllhAFxNu", + "type": "freedraw", + "x": -231.52391151329095, + "y": -183.7694680350166, + "width": 15.136996182528378, + "height": 65.328369140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1900311021, + "version": 600, + "versionNonce": 2027984867, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593295010653378, + -15.137051669034065 + ], + [ + 3.983431729403378, + -26.290671608664752 + ], + [ + 7.170132723721565, + -38.240966796875 + ], + [ + 11.153564453125, + -51.78464022549713 + ], + [ + 12.746914950284065, + -55.76809969815338 + ], + [ + 13.543645685369313, + -55.76809969815338 + ], + [ + 14.340320933948874, + -53.378018465909065 + ], + [ + 15.136996182528378, + -46.20783025568181 + ], + [ + 15.136996182528378, + -33.46083207563919 + ], + [ + 12.746914950284065, + -18.32380814985794 + ], + [ + 9.560158469460248, + -3.983431729403378 + ], + [ + 6.373457475142061, + 7.9669189453125 + ], + [ + 5.576726740056813, + 9.560269442471622 + ], + [ + 4.780051491477252, + 0.7967307350852479 + ], + [ + 4.780051491477252, + -9.560213955965878 + ], + [ + 4.780051491477252, + -21.51053688742894 + ], + [ + 5.576726740056813, + -31.867481578480124 + ], + [ + 6.373457475142061, + -38.240966796875 + ], + [ + 7.170132723721565, + -40.63102028586644 + ], + [ + 7.170132723721565, + -41.427723277698874 + ], + [ + 7.170132723721565, + -42.22439852627838 + ], + [ + 7.966863458806813, + -42.22439852627838 + ], + [ + 7.966863458806813, + -41.427723277698874 + ], + [ + 7.966863458806813, + -39.037669788707376 + ], + [ + 7.966863458806813, + -39.037669788707376 + ] + ], + "pressures": [ + 0.0107421875, + 0.611328125, + 0.884765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.94921875, + 0.9423828125, + 0.9794921875, + 1, + 1, + 1, + 1, + 1, + 0.92578125, + 0.826171875, + 0.47265625, + 0.36328125, + 0.16015625, + 0.1083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.966863458806813, + -39.037669788707376 + ] + }, + { + "id": "W6C4gu00R78oK1zlQNAXl", + "type": "freedraw", + "x": -229.93061650263758, + "y": -176.59927982478928, + "width": 13.543701171875, + "height": 80.46539306640625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1759606275, + "version": 603, + "versionNonce": 1962904525, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7967307350851911 + ], + [ + 0, + -2.390025745738683 + ], + [ + 0, + -4.780106977982996 + ], + [ + 0, + -15.137051669034122 + ], + [ + 0, + -24.697265625 + ], + [ + 2.39013671875, + -35.85091330788356 + ], + [ + 4.780162464488683, + -46.207857998934685 + ], + [ + 7.170188210227309, + -54.97139670632106 + ], + [ + 10.35700017755687, + -61.34490966796875 + ], + [ + 11.153619939630687, + -62.14158491654831 + ], + [ + 11.950350674715935, + -61.34490966796875 + ], + [ + 12.747025923295496, + -55.768099698153435 + ], + [ + 12.747025923295496, + -35.85091330788356 + ], + [ + 9.560269442471622, + -17.527077414772748 + ], + [ + 4.780162464488683, + 0 + ], + [ + 1.593405983664809, + 12.747025923295439 + ], + [ + 0.7967307350852479, + 18.32380814985794 + ], + [ + 0, + 17.527132901278378 + ], + [ + -0.7966752485795041, + 11.950350674715878 + ], + [ + -0.7966752485795041, + 3.186756480823817 + ], + [ + -0.7966752485795041, + -7.170188210227309 + ], + [ + 0, + -17.527077414772748 + ], + [ + 2.39013671875, + -31.867481578480124 + ], + [ + 2.39013671875, + -36.64758855646312 + ], + [ + 2.39013671875, + -38.240966796875 + ], + [ + 2.39013671875, + -39.03766978870743 + ], + [ + 2.39013671875, + -39.83434503728694 + ], + [ + 2.39013671875, + -39.83434503728694 + ] + ], + "pressures": [ + 0.0966796875, + 0.140625, + 0.255859375, + 0.345703125, + 0.8427734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.9775390625, + 0.97265625, + 1, + 1, + 1, + 1, + 0.9111328125, + 0.8056640625, + 0.583984375, + 0.2431640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.39013671875, + -39.83434503728694 + ] + }, + { + "id": "VVGsxfsCE1W8Grn73UfAz", + "type": "freedraw", + "x": -188.50283773843302, + "y": -219.6203813429001, + "width": 31.070778586647748, + "height": 59.75153142755681, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 449137933, + "version": 594, + "versionNonce": 437684781, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -1.593378240411937 + ], + [ + -7.170188210227252, + 2.390081232244313 + ], + [ + -11.153619939630687, + 12.746998180042624 + ], + [ + -13.543701171875, + 22.30726762251419 + ], + [ + -14.340376420454561, + 30.274131081321002 + ], + [ + -14.340376420454561, + 36.64764404296875 + ], + [ + -12.747025923295439, + 42.22442626953125 + ], + [ + -5.576837713068187, + 46.20785799893463 + ], + [ + 0.796675248579561, + 47.00453324751419 + ], + [ + 7.966863458806813, + 44.61450750177556 + ], + [ + 12.746970436789809, + 39.037669788707376 + ], + [ + 16.730402166193187, + 25.494024103338063 + ], + [ + 16.730402166193187, + 15.137051669034065 + ], + [ + 15.933726917613626, + 6.373512961647691 + ], + [ + 12.746970436789809, + 0 + ], + [ + 8.763538707386374, + -4.780106977982939 + ], + [ + 0.796675248579561, + -5.576809969815372 + ], + [ + -3.983431729403378, + -0.796675248579561 + ], + [ + -8.763594193892061, + 7.170188210227252 + ], + [ + -11.950350674715878, + 18.32383589311081 + ], + [ + -14.340376420454561, + 32.664212313565315 + ], + [ + -14.340376420454561, + 39.037669788707376 + ], + [ + -11.950350674715878, + 43.02110151811081 + ], + [ + -8.763594193892061, + 47.00453324751419 + ], + [ + -3.983431729403378, + 50.19128972833806 + ], + [ + 1.593350497159122, + 53.37804620916194 + ], + [ + 3.186700994318187, + 54.17472145774144 + ], + [ + 3.186700994318187, + 54.17472145774144 + ] + ], + "pressures": [ + 0.037109375, + 0.2861328125, + 0.384765625, + 0.515625, + 0.6337890625, + 0.708984375, + 0.7783203125, + 0.798828125, + 0.8076171875, + 0.8076171875, + 0.8056640625, + 0.8134765625, + 0.8720703125, + 0.8955078125, + 0.8896484375, + 0.880859375, + 0.8701171875, + 0.8720703125, + 0.8740234375, + 0.8740234375, + 0.861328125, + 0.78125, + 0.6953125, + 0.6337890625, + 0.5341796875, + 0.369140625, + 0.2001953125, + 0.013671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186700994318187, + 54.17472145774144 + ] + }, + { + "id": "0BLVds-Y1OyFOPp5K9MiJ", + "type": "freedraw", + "x": -189.2995684735182, + "y": -174.20919859254496, + "width": 17.527132901278378, + "height": 59.75155917080963, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2129024867, + "version": 595, + "versionNonce": 537934627, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558541, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186700994318187, + -3.983431729403435 + ], + [ + -4.780106977982996, + -13.543701171875 + ], + [ + -5.5767822265625, + -22.307239879261374 + ], + [ + -5.5767822265625, + -31.070806329900563 + ], + [ + -3.983431729403435, + -43.02110151811081 + ], + [ + -3.186700994318187, + -46.207857998934685 + ], + [ + -1.593350497159122, + -51.78466796875 + ], + [ + -0.796675248579561, + -52.581370960582376 + ], + [ + 0.7967307350851911, + -52.581370960582376 + ], + [ + 6.373512961647691, + -47.00456099076706 + ], + [ + 9.560269442471565, + -39.83437278053981 + ], + [ + 11.950350674715878, + -31.070806329900563 + ], + [ + 11.950350674715878, + -20.71388938210231 + ], + [ + 11.15361993963063, + -6.373512961647748 + ], + [ + 9.560269442471565, + 0.7966752485795041 + ], + [ + 7.170188210227252, + 5.576837713068187 + ], + [ + 6.373512961647691, + 7.170188210227252 + ], + [ + 3.983431729403378, + 7.170188210227252 + ], + [ + 0, + 1.593350497159065 + ], + [ + -2.390025745738683, + -3.983431729403435 + ], + [ + -3.983431729403435, + -8.763538707386374 + ], + [ + -4.780106977982996, + -13.543701171875 + ], + [ + -4.780106977982996, + -16.730457652698874 + ], + [ + -3.983431729403435, + -18.323808149857996 + ], + [ + -3.186700994318187, + -19.1204833984375 + ], + [ + -1.593350497159122, + -20.71388938210231 + ], + [ + -0.796675248579561, + -21.510564630681813 + ], + [ + 0, + -21.510564630681813 + ], + [ + 0, + -21.510564630681813 + ] + ], + "pressures": [ + 0.060546875, + 0.4306640625, + 0.8115234375, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8642578125, + 0.67578125, + 0.3564453125, + 0.2216796875, + 0.1396484375, + 0.0244140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + -21.510564630681813 + ] + }, + { + "id": "_T_WiewX9bZJb8thSYTJe", + "type": "freedraw", + "x": -221.16702230874552, + "y": -198.90651970405065, + "width": 13.543701171875, + "height": 46.20785799893463, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1502957549, + "version": 583, + "versionNonce": 1417591949, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -5.576809969815372 + ], + [ + -0.7967307350851911, + -7.170160466974437 + ], + [ + -6.373457475142061, + -17.527105158025563 + ], + [ + -7.170188210227252, + -17.527105158025563 + ], + [ + -7.966863458806813, + -17.527105158025563 + ], + [ + -8.763594193892061, + -15.933726917613626 + ], + [ + -10.356889204545439, + -11.153619939630687 + ], + [ + -12.747025923295439, + -0.796675248579561 + ], + [ + -13.543701171875, + 8.763594193892004 + ], + [ + -13.543701171875, + 16.730457652698874 + ], + [ + -13.543701171875, + 22.307239879261374 + ], + [ + -11.950350674715878, + 26.290671608664752 + ], + [ + -10.356889204545439, + 27.884077592329504 + ], + [ + -9.560269442471565, + 28.680752840909065 + ], + [ + -8.763594193892061, + 28.680752840909065 + ], + [ + -7.966863458806813, + 28.680752840909065 + ], + [ + -7.966863458806813, + 27.884077592329504 + ], + [ + -7.966863458806813, + 27.884077592329504 + ] + ], + "pressures": [ + 0.072265625, + 0.3701171875, + 0.4140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.900390625, + 0.802734375, + 0.703125, + 0.53515625, + 0.28515625, + 0.1318359375, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.966863458806813, + 27.884077592329504 + ] + }, + { + "id": "BVDksOqvIG_h97NobSp6Q", + "type": "freedraw", + "x": -178.14594853388758, + "y": -232.3673795229427, + "width": 28.680752840909122, + "height": 56.564802689985754, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2130007789, + "version": 596, + "versionNonce": 1162010307, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -0.796675248579561 + ], + [ + -7.966863458806813, + 7.966891202059685 + ], + [ + -11.950295188210191, + 16.730429909446002 + ], + [ + -15.137051669034065, + 26.290699351917624 + ], + [ + -18.32380814985794, + 33.46085981889206 + ], + [ + -19.1204833984375, + 39.83437278053975 + ], + [ + -19.1204833984375, + 45.41121049360794 + ], + [ + -16.73040216619313, + 47.00456099076706 + ], + [ + -13.543645685369313, + 47.801236239346565 + ], + [ + -8.763538707386317, + 46.2078857421875 + ], + [ + -0.7966752485795041, + 39.03769753196025 + ], + [ + 2.39008123224437, + 31.070834073153435 + ], + [ + 3.983487215909122, + 22.307239879261374 + ], + [ + 3.983487215909122, + 13.543701171875 + ], + [ + 3.983487215909122, + 6.373512961647748 + ], + [ + 2.39008123224437, + -2.390053488991498 + ], + [ + 0, + -6.373485218394876 + ], + [ + -2.390025745738626, + -8.763566450639189 + ], + [ + -5.5767822265625, + -8.763566450639189 + ], + [ + -11.15361993963063, + -3.186728737571002 + ], + [ + -14.340320933948817, + 3.186756480823874 + ], + [ + -17.52707741477269, + 11.153619939630687 + ], + [ + -20.713833895596565, + 22.307239879261374 + ], + [ + -23.103915127840878, + 31.86750932173294 + ], + [ + -24.697265625, + 41.427723277698874 + ], + [ + -24.697265625, + 43.021129261363626 + ], + [ + -24.697265625, + 43.81780450994319 + ], + [ + -23.90059037642044, + 43.021129261363626 + ], + [ + -20.713833895596565, + 40.63104802911931 + ], + [ + -19.917158647017004, + 39.83437278053975 + ], + [ + -19.917158647017004, + 39.83437278053975 + ] + ], + "pressures": [ + 0.046875, + 0.25390625, + 0.310546875, + 0.392578125, + 0.4580078125, + 0.51953125, + 0.5673828125, + 0.6025390625, + 0.6064453125, + 0.609375, + 0.6181640625, + 0.626953125, + 0.6318359375, + 0.6865234375, + 0.70703125, + 0.71484375, + 0.716796875, + 0.703125, + 0.6884765625, + 0.703125, + 0.712890625, + 0.705078125, + 0.671875, + 0.66015625, + 0.6572265625, + 0.525390625, + 0.4609375, + 0.3583984375, + 0.2177734375, + 0.1416015625, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -19.917158647017004, + 39.83437278053975 + ] + }, + { + "id": "cURv9AcdZx74m18SLP2B-", + "type": "freedraw", + "x": -182.92605551187052, + "y": -229.9772982906984, + "width": 26.29067160866481, + "height": 49.3946144797585, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1621244045, + "version": 593, + "versionNonce": 1274127085, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.98345947265625 + ], + [ + -1.593350497159065, + -3.186756480823874 + ], + [ + -4.780106977982939, + 0 + ], + [ + -7.966863458806813, + 5.576809969815372 + ], + [ + -11.153619939630687, + 13.543673428622185 + ], + [ + -14.340376420454561, + 29.477428089488626 + ], + [ + -15.137051669034065, + 37.44429154829544 + ], + [ + -14.340376420454561, + 42.224398526278435 + ], + [ + -11.153619939630687, + 45.41115500710225 + ], + [ + -7.170188210227252, + 45.41115500710225 + ], + [ + -3.186756480823874, + 41.427723277698874 + ], + [ + 0.796675248579561, + 34.25753506747162 + ], + [ + 3.983431729403435, + 24.697293368252872 + ], + [ + 5.576837713068187, + 16.730429909446002 + ], + [ + 6.373512961647748, + 6.373485218394876 + ], + [ + 4.780106977982939, + 1.593350497159122 + ], + [ + 2.390081232244313, + -2.390081232244313 + ], + [ + 0, + -3.98345947265625 + ], + [ + -4.780106977982939, + -3.98345947265625 + ], + [ + -8.763538707386374, + 0.796675248579561 + ], + [ + -12.746970436789752, + 5.576809969815372 + ], + [ + -15.933726917613626, + 11.153619939630687 + ], + [ + -19.1204833984375, + 15.137051669034122 + ], + [ + -19.91715864701706, + 22.307239879261374 + ], + [ + -19.1204833984375, + 28.680752840909122 + ], + [ + -17.527132901278378, + 33.46085981889206 + ], + [ + -15.933726917613626, + 35.850941051136374 + ], + [ + -15.933726917613626, + 35.850941051136374 + ] + ], + "pressures": [ + 0.0185546875, + 0.26953125, + 0.453125, + 0.576171875, + 0.7109375, + 0.8984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.97265625, + 0.908203125, + 0.8134765625, + 0.6845703125, + 0.6513671875, + 0.6376953125, + 0.6318359375, + 0.6357421875, + 0.6337890625, + 0.5341796875, + 0.3583984375, + 0.248046875, + 0.1650390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -15.933726917613626, + 35.850941051136374 + ] + }, + { + "id": "kBMNR8DE8sCUCGM0SyXkJ", + "type": "freedraw", + "x": -174.16246131797845, + "y": -237.94418949275803, + "width": 29.477428089488626, + "height": 50.19126198508519, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 573608931, + "version": 597, + "versionNonce": 1604324963, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -0.796675248579561 + ], + [ + -4.780162464488626, + 0.796702991832376 + ], + [ + -7.9669189453125, + 2.390081232244313 + ], + [ + -11.153675426136374, + 6.373512961647691 + ], + [ + -14.340376420454561, + 11.950322931463063 + ], + [ + -17.527132901278435, + 22.307239879261317 + ], + [ + -17.527132901278435, + 27.88404984907669 + ], + [ + -17.527132901278435, + 32.6641845703125 + ], + [ + -16.730457652698874, + 36.64764404296875 + ], + [ + -13.543701171875, + 39.037669788707376 + ], + [ + -11.153675426136374, + 39.037669788707376 + ], + [ + -7.170188210227252, + 35.8509133078835 + ], + [ + -2.390081232244313, + 30.274131081321002 + ], + [ + 1.593350497159065, + 23.10394287109375 + ], + [ + 4.780106977982939, + 11.950322931463063 + ], + [ + 5.5767822265625, + 4.780134721235754 + ], + [ + 5.5767822265625, + 0 + ], + [ + 3.186700994318187, + -3.983431729403435 + ], + [ + -1.593405983664752, + -8.763566450639246 + ], + [ + -5.576837713068187, + -10.356916947798311 + ], + [ + -11.153675426136374, + -9.56024169921875 + ], + [ + -15.933782404119313, + -3.983431729403435 + ], + [ + -19.917214133522748, + 4.780134721235754 + ], + [ + -23.103970614346622, + 17.527132901278378 + ], + [ + -23.900645862926126, + 24.69732111150563 + ], + [ + -23.900645862926126, + 29.477428089488626 + ], + [ + -23.900645862926126, + 34.25756281072438 + ], + [ + -23.103970614346622, + 37.444319291548254 + ], + [ + -21.510564630681813, + 39.83434503728688 + ], + [ + -19.917214133522748, + 39.83434503728688 + ], + [ + -19.120538884943187, + 39.83434503728688 + ], + [ + -19.120538884943187, + 39.83434503728688 + ] + ], + "pressures": [ + 0.0244140625, + 0.7568359375, + 0.8896484375, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6826171875, + 0.3271484375, + 0.142578125, + 0.0703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -19.120538884943187, + 39.83434503728688 + ] + }, + { + "id": "QTBC4R1sDfyzSnW1-W7rx", + "type": "freedraw", + "x": -180.5359742796262, + "y": -231.57067653111034, + "width": 23.103915127840935, + "height": 51.78466796875, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1152044397, + "version": 595, + "versionNonce": 1962458445, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + -0.796702991832376 + ], + [ + -6.373512961647691, + 2.390053488991498 + ], + [ + -10.356944691051126, + 7.966863458806813 + ], + [ + -14.340376420454504, + 15.137051669034122 + ], + [ + -16.730457652698874, + 23.90061811967331 + ], + [ + -19.1204833984375, + 35.054238059304 + ], + [ + -19.1204833984375, + 39.83434503728694 + ], + [ + -17.527132901278378, + 43.02110151811081 + ], + [ + -14.340376420454504, + 43.81777676669037 + ], + [ + -7.966863458806813, + 43.02110151811081 + ], + [ + -3.186756480823874, + 39.037669788707376 + ], + [ + 0.796675248579561, + 32.664156827059685 + ], + [ + 3.186756480823874, + 23.90061811967331 + ], + [ + 3.983431729403435, + 15.933726917613626 + ], + [ + 3.983431729403435, + 9.56024169921875 + ], + [ + 3.186756480823874, + 2.390053488991498 + ], + [ + 0.796675248579561, + -2.390081232244313 + ], + [ + -2.390081232244313, + -5.576809969815315 + ], + [ + -7.170188210227252, + -7.966891202059628 + ], + [ + -10.356944691051126, + -7.966891202059628 + ], + [ + -14.340376420454504, + -3.983431729403378 + ], + [ + -16.730457652698874, + 2.390053488991498 + ], + [ + -18.32380814985794, + 8.763538707386374 + ], + [ + -19.1204833984375, + 19.917186390269876 + ], + [ + -19.1204833984375, + 27.087346857244313 + ], + [ + -17.527132901278378, + 31.867481578480124 + ], + [ + -16.730457652698874, + 35.054238059304 + ], + [ + -14.340376420454504, + 35.85091330788356 + ], + [ + -13.543701171875, + 35.054238059304 + ], + [ + -13.543701171875, + 35.054238059304 + ] + ], + "pressures": [ + 0.0732421875, + 0.7744140625, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.822265625, + 0.591796875, + 0.3564453125, + 0.236328125, + 0.1455078125, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -13.543701171875, + 35.054238059304 + ] + }, + { + "id": "Ucwe-pTtDGzkibSOwXjxV", + "type": "freedraw", + "x": -178.14594853388758, + "y": -229.18062304211884, + "width": 31.070778586647748, + "height": 55.76812744140625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1283494051, + "version": 595, + "versionNonce": 32918019, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + -3.186756480823874 + ], + [ + -4.780106977982939, + -3.186756480823874 + ], + [ + -11.15361993963063, + -0.796675248579561 + ], + [ + -15.137051669034065, + 6.373485218394876 + ], + [ + -18.32380814985794, + 15.933754660866441 + ], + [ + -19.917158647017004, + 26.290671608664752 + ], + [ + -20.713833895596565, + 38.240966796875 + ], + [ + -19.917158647017004, + 42.224454012784065 + ], + [ + -19.1204833984375, + 43.021129261363626 + ], + [ + -15.933726917613626, + 43.021129261363626 + ], + [ + -11.15361993963063, + 39.83437278053975 + ], + [ + -2.390025745738626, + 29.477428089488626 + ], + [ + 0.7967307350852479, + 23.10394287109375 + ], + [ + 2.39008123224437, + 17.527132901278378 + ], + [ + 2.39008123224437, + 11.950322931463063 + ], + [ + 0.7967307350852479, + 0 + ], + [ + -2.390025745738626, + -6.373485218394876 + ], + [ + -6.373457475142004, + -11.153619939630687 + ], + [ + -10.356889204545439, + -11.950322931463063 + ], + [ + -14.340320933948817, + -11.153619939630687 + ], + [ + -19.917158647017004, + -4.780134721235811 + ], + [ + -23.103915127840878, + 0.796675248579561 + ], + [ + -26.290671608664752, + 8.763566450639189 + ], + [ + -27.884022105823817, + 19.917186390269876 + ], + [ + -28.680697354403378, + 34.257535067471565 + ], + [ + -27.087346857244313, + 39.83437278053975 + ], + [ + -24.697265625, + 43.021129261363626 + ], + [ + -22.307239879261317, + 43.81780450994319 + ], + [ + -21.510509144176126, + 42.224454012784065 + ], + [ + -21.510509144176126, + 42.224454012784065 + ] + ], + "pressures": [ + 0.0849609375, + 0.8681640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.73046875, + 0.3203125, + 0.1806640625, + 0.056640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -21.510509144176126, + 42.224454012784065 + ] + }, + { + "id": "VKY-EHVR1FkGR71RhncZ1", + "type": "freedraw", + "x": -182.12938026329095, + "y": -229.18062304211884, + "width": 31.86750932173294, + "height": 50.19128972833806, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1395603021, + "version": 596, + "versionNonce": 1995279277, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -3.186756480823874 + ], + [ + -3.186756480823874, + -3.186756480823874 + ], + [ + -6.373457475142061, + -1.593378240411937 + ], + [ + -10.356889204545439, + 4.780134721235811 + ], + [ + -13.543645685369313, + 11.950322931463063 + ], + [ + -14.340376420454561, + 19.917186390269876 + ], + [ + -14.340376420454561, + 27.087346857244313 + ], + [ + -12.746970436789752, + 31.86750932173294 + ], + [ + -10.356889204545439, + 35.05426580255681 + ], + [ + -5.5767822265625, + 36.64761629971588 + ], + [ + -0.796675248579561, + 35.850941051136374 + ], + [ + 4.780162464488626, + 30.274103338068187 + ], + [ + 10.356944691051126, + 18.32380814985794 + ], + [ + 11.950350674715878, + 11.950322931463063 + ], + [ + 12.747025923295439, + 6.373485218394876 + ], + [ + 12.747025923295439, + 0.796675248579561 + ], + [ + 11.153619939630687, + -5.576809969815372 + ], + [ + 7.170188210227252, + -10.356944691051126 + ], + [ + 0, + -13.543673428622185 + ], + [ + -4.780106977982939, + -13.543673428622185 + ], + [ + -9.560213955965935, + -11.153619939630687 + ], + [ + -15.933726917613626, + -3.186756480823874 + ], + [ + -16.730402166193187, + 0.796675248579561 + ], + [ + -19.1204833984375, + 12.746998180042624 + ], + [ + -19.1204833984375, + 18.32380814985794 + ], + [ + -19.1204833984375, + 22.307239879261374 + ], + [ + -17.527077414772748, + 26.290671608664752 + ], + [ + -14.340376420454561, + 31.07077858664769 + ], + [ + -11.950295188210248, + 33.46085981889206 + ], + [ + -11.153619939630687, + 33.46085981889206 + ], + [ + -11.153619939630687, + 33.46085981889206 + ] + ], + "pressures": [ + 0.060546875, + 0.4111328125, + 0.5712890625, + 0.7646484375, + 0.9453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9423828125, + 0.37890625, + 0.1953125, + 0.0732421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -11.153619939630687, + 33.46085981889206 + ] + }, + { + "id": "tgruqHl3ScOVzcDF59sBY", + "type": "freedraw", + "x": -179.73929903104664, + "y": -234.7574330119342, + "width": 23.103915127840878, + "height": 50.191317471590935, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1780188141, + "version": 599, + "versionNonce": 1631850915, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780106977982939, + 0.796675248579561 + ], + [ + -7.966863458806813, + 5.576809969815372 + ], + [ + -11.153619939630687, + 11.950295188210248 + ], + [ + -15.137051669034065, + 23.90061811967331 + ], + [ + -15.137051669034065, + 31.867481578480124 + ], + [ + -15.137051669034065, + 37.44431929154831 + ], + [ + -12.746970436789752, + 39.83434503728694 + ], + [ + -7.170188210227252, + 40.631075772372185 + ], + [ + -2.390081232244313, + 38.24099454012787 + ], + [ + 1.593350497159065, + 31.867481578480124 + ], + [ + 4.780106977982939, + 23.10394287109375 + ], + [ + 7.170188210227252, + 11.153619939630687 + ], + [ + 7.170188210227252, + 5.576809969815372 + ], + [ + 7.170188210227252, + 3.186756480823874 + ], + [ + 5.576837713068187, + -0.7966752485795041 + ], + [ + 3.186756480823874, + -5.576809969815315 + ], + [ + -1.593350497159065, + -9.56024169921875 + ], + [ + -5.576837713068187, + -9.56024169921875 + ], + [ + -8.763538707386374, + -4.780134721235754 + ], + [ + -11.950295188210248, + 0.796675248579561 + ], + [ + -15.137051669034065, + 6.373485218394933 + ], + [ + -15.933726917613626, + 8.763566450639246 + ], + [ + -15.933726917613626, + 14.340376420454561 + ], + [ + -15.933726917613626, + 21.510564630681813 + ], + [ + -15.137051669034065, + 28.680752840909122 + ], + [ + -14.340376420454561, + 33.46088756214493 + ], + [ + -14.340376420454561, + 35.054238059304 + ], + [ + -13.543701171875, + 35.85091330788356 + ], + [ + -12.746970436789752, + 36.64758855646306 + ], + [ + -11.950295188210248, + 37.44431929154831 + ], + [ + -10.356944691051126, + 37.44431929154831 + ], + [ + -7.966863458806813, + 37.44431929154831 + ], + [ + -7.966863458806813, + 36.64758855646306 + ], + [ + -7.966863458806813, + 36.64758855646306 + ] + ], + "pressures": [ + 0.1220703125, + 0.802734375, + 0.82421875, + 0.9599609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9453125, + 0.3642578125, + 0.193359375, + 0.0439453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.966863458806813, + 36.64758855646306 + ] + }, + { + "id": "240VJaDj665YY1AaTNfrn", + "type": "freedraw", + "x": -222.76042829241027, + "y": -222.0104348318916, + "width": 11.153619939630687, + "height": 30.274131081321002, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 388485613, + "version": 592, + "versionNonce": 246932803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796619762073874, + 0 + ], + [ + -2.390025745738626, + 0 + ], + [ + -3.983431729403435, + 2.390053488991498 + ], + [ + -5.5767822265625, + 4.780134721235811 + ], + [ + -6.373457475142061, + 8.763566450639189 + ], + [ + -7.170188210227309, + 13.543673428622185 + ], + [ + -7.170188210227309, + 19.91715864701706 + ], + [ + -5.5767822265625, + 25.493996360085248 + ], + [ + -4.780051491477309, + 27.087346857244313 + ], + [ + -3.983431729403435, + 28.680752840909122 + ], + [ + -2.390025745738626, + 29.477428089488626 + ], + [ + -0.796619762073874, + 29.477428089488626 + ], + [ + 0.796675248579561, + 29.477428089488626 + ], + [ + 1.593405983664752, + 27.88407759232956 + ], + [ + 2.390081232244313, + 24.697321111505687 + ], + [ + 3.186811967329561, + 18.32380814985794 + ], + [ + 3.983431729403378, + 13.543673428622185 + ], + [ + 3.983431729403378, + 8.763566450639189 + ], + [ + 2.390081232244313, + 5.576809969815372 + ], + [ + 1.593405983664752, + 3.186756480823874 + ], + [ + 0, + 1.593378240411937 + ], + [ + -0.796619762073874, + 0.796675248579561 + ], + [ + -1.593350497159122, + 0 + ], + [ + -2.390025745738626, + -0.796702991832376 + ], + [ + -3.186756480823874, + -0.796702991832376 + ], + [ + -3.186756480823874, + 0 + ], + [ + -3.186756480823874, + 1.593378240411937 + ], + [ + -3.186756480823874, + 3.983431729403435 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0634765625, + 0.314453125, + 0.4658203125, + 0.744140625, + 0.8408203125, + 0.876953125, + 0.90234375, + 0.921875, + 0.953125, + 0.9580078125, + 0.9580078125, + 0.9580078125, + 0.953125, + 0.951171875, + 0.9453125, + 0.9453125, + 0.9384765625, + 0.9365234375, + 0.9384765625, + 0.9384765625, + 0.9404296875, + 0.9404296875, + 0.9423828125, + 0.9296875, + 0.9189453125, + 0.9111328125, + 0.572265625, + 0.3251953125, + 0.1513671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.186756480823874, + 3.983431729403435 + ] + }, + { + "id": "WtvjIycywfBubUMJOR5oD", + "type": "freedraw", + "x": -223.55704805448414, + "y": -225.19719131271546, + "width": 8.763538707386374, + "height": 35.054210316051126, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1864448877, + "version": 596, + "versionNonce": 1159087213, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7966752485795041 + ], + [ + -1.593405983664752, + 0.7967029918324329 + ], + [ + -2.39013671875, + 3.983431729403435 + ], + [ + -4.780162464488626, + 11.950322931463063 + ], + [ + -5.576837713068187, + 18.323808149857996 + ], + [ + -5.576837713068187, + 23.103915127840935 + ], + [ + -5.576837713068187, + 27.88407759232956 + ], + [ + -4.780162464488626, + 31.867509321732996 + ], + [ + -3.186811967329561, + 34.25753506747162 + ], + [ + -2.39013671875, + 34.25753506747162 + ], + [ + 0, + 34.25753506747162 + ], + [ + 1.593295010653435, + 33.46085981889206 + ], + [ + 3.186700994318187, + 30.274103338068187 + ], + [ + 3.186700994318187, + 26.29067160866481 + ], + [ + 3.186700994318187, + 22.307239879261374 + ], + [ + 3.186700994318187, + 18.323808149857996 + ], + [ + 3.186700994318187, + 15.137051669034122 + ], + [ + 3.186700994318187, + 11.153619939630687 + ], + [ + 2.390025745738626, + 9.56024169921875 + ], + [ + 2.390025745738626, + 7.170188210227309 + ], + [ + 0.796619762073874, + 4.780134721235811 + ], + [ + 0.796619762073874, + 2.390053488991498 + ], + [ + 0, + 2.390053488991498 + ], + [ + 0, + 1.593378240411937 + ], + [ + -0.7967307350852479, + 1.593378240411937 + ], + [ + -1.593405983664752, + 3.186756480823874 + ], + [ + -1.593405983664752, + 5.576809969815372 + ], + [ + -1.593405983664752, + 7.170188210227309 + ], + [ + -1.593405983664752, + 8.763566450639246 + ], + [ + -1.593405983664752, + 10.356944691051183 + ], + [ + -1.593405983664752, + 11.950322931463063 + ], + [ + -1.593405983664752, + 12.746998180042624 + ], + [ + -0.7967307350852479, + 12.746998180042624 + ], + [ + -0.7967307350852479, + 12.746998180042624 + ] + ], + "pressures": [ + 0.0537109375, + 0.1767578125, + 0.599609375, + 0.736328125, + 0.90234375, + 0.94921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9580078125, + 0.85546875, + 0.7724609375, + 0.59765625, + 0.384765625, + 0.1865234375, + 0.1123046875, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.7967307350852479, + 12.746998180042624 + ] + }, + { + "id": "5h_jeI8GHMJcefJyJrIEh", + "type": "freedraw", + "x": -222.76042829241027, + "y": -224.40048832088303, + "width": 9.560213955965878, + "height": 35.05426580255681, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1099517357, + "version": 594, + "versionNonce": 1907377379, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7967029918324329 + ], + [ + -2.390025745738626, + 2.390053488991441 + ], + [ + -3.186756480823874, + 6.373485218394876 + ], + [ + -4.780051491477309, + 11.15361993963063 + ], + [ + -4.780051491477309, + 16.730429909446002 + ], + [ + -4.780051491477309, + 21.51053688742894 + ], + [ + -4.780051491477309, + 27.88404984907669 + ], + [ + -4.780051491477309, + 30.274131081321002 + ], + [ + -4.780051491477309, + 31.070806329900563 + ], + [ + -3.983431729403435, + 30.274131081321002 + ], + [ + -2.390025745738626, + 28.68072509765625 + ], + [ + 0, + 25.493968616832376 + ], + [ + 1.593405983664752, + 21.51053688742894 + ], + [ + 2.390081232244313, + 16.730429909446002 + ], + [ + 3.983431729403378, + 10.356916947798254 + ], + [ + 3.983431729403378, + 7.966863458806813 + ], + [ + 3.983431729403378, + 5.576809969815315 + ], + [ + 3.186811967329561, + 3.186728737571002 + ], + [ + 1.593405983664752, + 0 + ], + [ + 0, + -2.390081232244313 + ], + [ + -1.593350497159122, + -3.186756480823874 + ], + [ + -2.390025745738626, + -3.98345947265625 + ], + [ + -3.186756480823874, + -3.98345947265625 + ], + [ + -3.983431729403435, + -3.98345947265625 + ], + [ + -5.5767822265625, + -3.186756480823874 + ], + [ + -5.5767822265625, + -1.593378240411937 + ], + [ + -5.5767822265625, + 0 + ], + [ + -4.780051491477309, + 2.390053488991441 + ], + [ + -4.780051491477309, + 3.186728737571002 + ], + [ + -3.983431729403435, + 3.186728737571002 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.025390625, + 0.21484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8876953125, + 0.6357421875, + 0.4150390625, + 0.2470703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.983431729403435, + 3.186728737571002 + ] + }, + { + "id": "F9SmMOPQHqGouoyXgaCDd", + "type": "freedraw", + "x": -12.569026832396148, + "y": -455.3316678607535, + "width": 83.28839995734724, + "height": 27.117140925547368, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1200788301, + "version": 872, + "versionNonce": 1299696941, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 4.809901046285993 + ], + [ + 12.590115597691362, + -4.87478250561801 + ], + [ + 28.085663241170373, + -10.685612871922572 + ], + [ + 48.423485210060406, + -16.496409512956824 + ], + [ + 65.85594258370392, + -20.370296423826574 + ], + [ + 80.38296791155983, + -22.307239879261374 + ], + [ + 83.28839995734724, + -18.43335296839163 + ], + [ + 82.3199450922651, + -12.622522602087072 + ], + [ + 78.44605818139534, + -9.717124281569946 + ], + [ + 73.60371640544342, + -9.717124281569946 + ], + [ + 70.69828435965587, + -10.685612871922572 + ], + [ + 70.69828435965587, + -10.685612871922572 + ] + ], + "pressures": [ + 0.1259765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.439453125, + 0.0888671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 58.15818093039769, + -12.746998180042624 + ] + }, + { + "id": "LzP6nYLARMo1k4vgJz2E2", + "type": "freedraw", + "x": 46.4647142931713, + "y": -480.0351907804205, + "width": 11.621660732609257, + "height": 102.6577670611552, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 358397379, + "version": 900, + "versionNonce": 1083746339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.9684548650821796, + 4.842341775952 + ], + [ + 4.842341775951931, + 14.527025327855863 + ], + [ + 10.653138416986181, + 40.675711388321055 + ], + [ + 11.621660732609257, + 62.95051053791641 + ], + [ + 11.621660732609257, + 84.25682109715916 + ], + [ + 9.684683551903998, + 98.78388015028544 + ], + [ + 8.71622868682168, + 102.6577670611552 + ], + [ + 8.71622868682168, + 97.81542528520326 + ], + [ + 8.71622868682168, + 95.87851555503876 + ], + [ + 8.71622868682168, + 95.87851555503876 + ] + ], + "pressures": [ + 0.1044921875, + 0.6474609375, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3173828125, + 0.15234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.170188210227252, + 78.8720703125 + ] + }, + { + "id": "IQmZ4daTw-Ymgmb1_RFGe", + "type": "freedraw", + "x": 96.36076817421349, + "y": -399.97386738887195, + "width": 1.9369097301644975, + "height": 44.549632024461104, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 810043267, + "version": 903, + "versionNonce": 817864589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 7.901987981492412 + ], + [ + 1.9369097301644975, + 4.996555935704912 + ], + [ + 1.9369097301644975, + -3.7196727511167658 + ], + [ + 1.9369097301644975, + -13.404390028291077 + ], + [ + 1.9369097301644975, + -20.183675259677944 + ], + [ + 1.9369097301644975, + -24.057562170547694 + ], + [ + 0.9684548650821796, + -25.994471900712195 + ], + [ + 0, + -28.899903946499617 + ], + [ + 0, + -32.773757132099 + ], + [ + 0.9684548650821796, + -35.679155452616065 + ], + [ + 1.9369097301644975, + -36.64764404296869 + ], + [ + 1.9369097301644975, + -36.64764404296869 + ] + ], + "pressures": [ + 0.1328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.666015625, + 0.3095703125, + 0.025390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593350497159122, + -36.64764404296869 + ] + }, + { + "id": "wBXnfpdO9QPr3wYGf_js9", + "type": "freedraw", + "x": 88.3548671159005, + "y": -457.93903981651823, + "width": 7.747773821739503, + "height": 18.400945963996048, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1073668205, + "version": 899, + "versionNonce": 1949674435, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.17177961650267506, + 0.1717796165026867 + ], + [ + -0.7966752485795041, + -0.796675248579561 + ], + [ + -0.7966752485795041, + 2.1087230719375603 + ], + [ + 2.1087567972079286, + 11.793406623841474 + ], + [ + 3.0772116622902455, + 15.667293534711158 + ], + [ + 5.982643708077676, + 17.604270715416487 + ], + [ + 6.951098573159999, + 17.604270715416487 + ], + [ + 6.951098573159999, + 17.604270715416487 + ] + ], + "pressures": [ + 0.1396484375, + 0.9755859375, + 1, + 1, + 0.7890625, + 0.3427734375, + 0.119140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.576837713068244, + 14.340404163707376 + ] + }, + { + "id": "X-YDfwCBvambJRw11ZdAV", + "type": "freedraw", + "x": 118.3492618244004, + "y": -434.97470201712173, + "width": 62.9505105379164, + "height": 99.75236874063813, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 545152867, + "version": 934, + "versionNonce": 1411261933, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 1.2024812435890546, + 17.006445242538828 + ], + [ + -1.7028833516576234, + 7.321761690634884 + ], + [ + -3.639927982903771, + -0.42601213110462577 + ], + [ + -5.57683771306813, + -8.173785952844131 + ], + [ + -5.57683771306813, + -17.858469504747983 + ], + [ + -4.6083828479859505, + -28.511641647004637 + ], + [ + -1.7028833516576234, + -36.259381743473675 + ], + [ + -0.7344284865754432, + -35.29092687839151 + ], + [ + 0.23402637850687466, + -28.511641647004637 + ], + [ + 1.2024812435890546, + -20.763901550535575 + ], + [ + 0.23402637850687466, + -10.11072940827894 + ], + [ + -2.6714731178214537, + 10.227126285881564 + ], + [ + -4.6083828479859505, + 16.037956652186125 + ], + [ + -4.6083828479859505, + 14.101013196751317 + ], + [ + -3.639927982903771, + -0.42601213110462577 + ], + [ + 1.2024812435890546, + -16.889980914395366 + ], + [ + 9.918709930410738, + -36.259381743473675 + ], + [ + 19.603393482314736, + -52.72338425203489 + ], + [ + 26.382712438971915, + -59.50266948342177 + ], + [ + 29.28807703421861, + -55.62874884728156 + ], + [ + 29.28807703421861, + -44.97561043029538 + ], + [ + 26.382712438971915, + -30.44858510243953 + ], + [ + 20.571848347396916, + -13.98458259387832 + ], + [ + 12.824074525657407, + 5.384784509929632 + ], + [ + 11.855619660575233, + 6.353273100282259 + ], + [ + 11.855619660575233, + -0.42601213110462577 + ], + [ + 14.760984255821905, + -13.016127728796059 + ], + [ + 21.54030321247923, + -30.44858510243953 + ], + [ + 35.09894112579361, + -59.50266948342177 + ], + [ + 45.75207954277977, + -73.06123994619539 + ], + [ + 52.5313984994371, + -78.8720703125 + ], + [ + 56.40521795976596, + -77.9035817221474 + ], + [ + 57.37367282484827, + -71.1242964907606 + ], + [ + 55.436763094683776, + -50.786407071329634 + ], + [ + 50.594353868190936, + -30.44858510243953 + ], + [ + 44.78362467769761, + -7.205297362491502 + ], + [ + 38.00430572104042, + 11.195614876234194 + ], + [ + 35.09894112579361, + 19.911843563055882 + ], + [ + 35.09894112579361, + 20.880298428138126 + ], + [ + 35.09894112579361, + 18.943354972703258 + ], + [ + 36.06739599087592, + 14.101013196751317 + ], + [ + 38.97276058612258, + 7.321761690634884 + ], + [ + 38.97276058612258, + 7.321761690634884 + ] + ], + "pressures": [ + 0.158203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.666015625, + 0.11328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.070778586647748, + -7.966863458806813 + ] + }, + { + "id": "2q3Gm0BUBbh153Z9IZ2ae", + "type": "freedraw", + "x": 176.13051016933787, + "y": -465.52776245044805, + "width": 48.42341775951972, + "height": 61.01360080775191, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 169743139, + "version": 913, + "versionNonce": 548485987, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 4.9816866448062465 + ], + [ + 7.747773821739504, + 6.918630100241053 + ], + [ + 16.464002508561194, + 7.887084965323372 + ], + [ + 25.18023119538287, + 7.887084965323372 + ], + [ + 33.89645988220469, + 3.0447431893713715 + ], + [ + 40.67577883886186, + -3.7345420420154376 + ], + [ + 43.58114343410854, + -12.450737003566813 + ], + [ + 41.6440988028624, + -22.135454280741115 + ], + [ + 33.89645988220469, + -23.10394287109375 + ], + [ + 23.243186564136863, + -20.198544550576624 + ], + [ + 9.684683551904, + -7.608395227614814 + ], + [ + 4.842274325411177, + 4.013198054453619 + ], + [ + 3.8738194603289955, + 16.60334737741544 + ], + [ + 4.842274325411177, + 27.256485794401623 + ], + [ + 9.684683551904, + 34.03577102578842 + ], + [ + 20.337821968890175, + 37.90965793665816 + ], + [ + 29.054050655711873, + 37.90965793665816 + ], + [ + 37.77027934253355, + 34.03577102578842 + ], + [ + 44.54959829919072, + 28.22494065948387 + ], + [ + 48.42341775951972, + 23.38259888353186 + ], + [ + 47.45496289443757, + 21.445689153367436 + ], + [ + 46.48650802935524, + 21.445689153367436 + ], + [ + 46.48650802935524, + 21.445689153367436 + ] + ], + "pressures": [ + 0.1064453125, + 0.66796875, + 0.9423828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6474609375, + 0.2421875, + 0.142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 38.240966796875, + 13.543701171875 + ] + }, + { + "id": "6VU2stTMe-7uD0hM71dBm", + "type": "freedraw", + "x": 142.7173118634335, + "y": -369.86082993592794, + "width": 46.486642930436886, + "height": 47.45499661970791, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1320670883, + "version": 918, + "versionNonce": 1788665933, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.6871423940810274, + 1.7178200930971275 + ], + [ + -3.186811967329618, + -0.21908963706736917 + ], + [ + -3.186811967329618, + 1.7178200930971275 + ], + [ + -0.28131247100128987, + 10.434048779918806 + ], + [ + 7.4664613507382125, + 27.86650615356225 + ], + [ + 12.308735676149388, + 36.58273484038388 + ], + [ + 16.182690037559887, + 39.48813316090104 + ], + [ + 19.088054632806564, + 39.48813316090104 + ], + [ + 21.024964362971062, + 36.58273484038388 + ], + [ + 21.993419228053238, + 23.992652967962865 + ], + [ + 21.993419228053238, + 17.213334011305616 + ], + [ + 21.993419228053238, + 15.276390555870739 + ], + [ + 22.961874093135556, + 15.276390555870739 + ], + [ + 28.772738184710565, + 23.02416437761024 + ], + [ + 32.64655764503944, + 28.834994743914873 + ], + [ + 35.55205714136777, + 31.74039306443193 + ], + [ + 37.488966871532256, + 31.74039306443193 + ], + [ + 39.42587660169676, + 31.74039306443193 + ], + [ + 42.331241196943424, + 28.834994743914873 + ], + [ + 43.29983096310727, + 23.992652967962865 + ], + [ + 43.29983096310727, + 13.339447100435923 + ], + [ + 41.36278633186111, + -0.21908963706736917 + ], + [ + 40.394331466778944, + -7.96686345880687 + ], + [ + 40.394331466778944, + -6.998408593724621 + ], + [ + 40.394331466778944, + -3.1245216828548714 + ], + [ + 40.394331466778944, + 1.7178200930971275 + ], + [ + 41.36278633186111, + 3.6547635485319336 + ], + [ + 41.36278633186111, + 3.6547635485319336 + ] + ], + "pressures": [ + 0.08203125, + 0.796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5048828125, + 0.12890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 33.46080433238626, + 1.5933782404118801 + ] + }, + { + "id": "ATsw-YVozVIZKp93ci8DC", + "type": "freedraw", + "x": 207.85871713564006, + "y": -354.81623583083336, + "width": 8.71622868682182, + "height": 46.48650802935524, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1950731853, + "version": 900, + "versionNonce": 1113184003, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 1.5460404765944546, + 8.245541232480248 + ], + [ + 1.5460404765944546, + 2.4347108661756205 + ], + [ + -0.3910041546516934, + -2.407630909776315 + ], + [ + -1.3594590197338732, + -8.21846127608094 + ], + [ + -2.3279138848161924, + -15.96620137255001 + ], + [ + -5.233278480062866, + -26.61937351480655 + ], + [ + -6.201733345145049, + -32.43017015584083 + ], + [ + -7.170188210227366, + -36.30405706671057 + ], + [ + -7.170188210227366, + -38.240966796875 + ], + [ + -7.170188210227366, + -38.240966796875 + ] + ], + "pressures": [ + 0.138671875, + 0.71484375, + 1, + 1, + 1, + 1, + 1, + 0.787109375, + 0.470703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.170188210227366, + -38.240966796875 + ] + }, + { + "id": "ZRaTldaydguWKmB_Li0gM", + "type": "freedraw", + "x": 190.82118159877427, + "y": -406.2180058597967, + "width": 6.779318956657189, + "height": 12.590115597691433, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1962002211, + "version": 897, + "versionNonce": 169168557, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.34358316107562925, + 0 + ], + [ + -1.5934614701703822, + 0 + ], + [ + -1.5934614701703822, + 1.9369434554348754 + ], + [ + -0.6250066050882018, + 4.8423417759519305 + ], + [ + 0.34358316107562925, + 8.716228686821678 + ], + [ + 2.280492891240129, + 10.653205867526934 + ], + [ + 5.185857486486807, + 12.590115597691433 + ], + [ + 5.185857486486807, + 12.590115597691433 + ] + ], + "pressures": [ + 0.15234375, + 0.751953125, + 0.9423828125, + 0.947265625, + 0.9453125, + 0.615234375, + 0.1259765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.983376242897748, + 10.356944691051126 + ] + }, + { + "id": "rWgfmgTeVEdGtlvv9205S", + "type": "freedraw", + "x": 226.7629521643472, + "y": -409.7861107569647, + "width": 1.9370446312460106, + "height": 73.60368268017301, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 76333581, + "version": 904, + "versionNonce": 1202585251, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.34358316107562836, + 0.515350813543188 + ], + [ + -1.5934614701703822, + -2.390081232244313 + ], + [ + -1.5934614701703822, + 1.4838056786254363 + ], + [ + -1.5934614701703822, + 11.168489230529367 + ], + [ + -1.5934614701703822, + 23.758604828220797 + ], + [ + -0.6248717040065511, + 47.00185884289841 + ], + [ + -0.6248717040065511, + 60.56046303094252 + ], + [ + -0.6248717040065511, + 68.30823685268189 + ], + [ + -0.6248717040065511, + 71.2136014479287 + ], + [ + -0.6248717040065511, + 68.30823685268189 + ], + [ + 0.34358316107562836, + 62.497372761106945 + ], + [ + 0.34358316107562836, + 59.59197444058991 + ], + [ + 0.34358316107562836, + 59.59197444058991 + ] + ], + "pressures": [ + 0.1240234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.380859375, + 0.0458984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 48.59791148792618 + ] + }, + { + "id": "aRyyzPZQLt2S0IoBsb3PM", + "type": "freedraw", + "x": 250.9667914484259, + "y": -413.774294872348, + "width": 7.7479087228210135, + "height": 73.60371640544342, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 806027949, + "version": 901, + "versionNonce": 1362161933, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.17177961650267518, + 0 + ], + [ + -0.7966752485795041, + 8.71622868682168 + ], + [ + -0.7966752485795041, + 17.43245737364343 + ], + [ + 1.1402344815848542, + 30.99102783641704 + ], + [ + 3.0772791128310026, + 55.202770441447335 + ], + [ + 4.045733977913182, + 66.82439744878616 + ], + [ + 5.014188842995498, + 71.66677295000855 + ], + [ + 5.982643708077675, + 73.60371640544342 + ], + [ + 6.951233474241509, + 72.63522781509074 + ], + [ + 6.951233474241509, + 69.72982949457365 + ], + [ + 6.951233474241509, + 69.72982949457365 + ] + ], + "pressures": [ + 0.1318359375, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.662109375, + 0.1162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.576948686079504, + 57.36150568181819 + ] + }, + { + "id": "274vCjo2ySxFXv6paOT7c", + "type": "freedraw", + "x": 197.80750751272092, + "y": -263.4824328758517, + "width": 49.39200752568356, + "height": 61.98205567283417, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2088131821, + "version": 923, + "versionNonce": 1264333379, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 2.2331589426051632, + 9.963373289612488 + ], + [ + 2.2331589426051632, + 8.994884699259861 + ], + [ + 1.2647040775229834, + 4.152542923307857 + ], + [ + -1.640660517723695, + -2.6267423080789536 + ], + [ + -4.546025112970374, + -12.311425859982883 + ], + [ + -6.483069744216523, + -18.12225622628752 + ], + [ + -8.419979474381021, + -22.96459800223952 + ], + [ + -9.3884343394632, + -25.869996322756567 + ], + [ + -10.356889204545382, + -25.869996322756567 + ], + [ + -10.356889204545382, + -23.933052867321706 + ], + [ + -7.451524609298702, + -14.248369315417763 + ], + [ + -4.546025112970374, + -1.6582537177263252 + ], + [ + -1.640660517723695, + 8.02642983417761 + ], + [ + -0.6722056526415146, + 15.774169930646671 + ], + [ + -1.640660517723695, + 7.0579412438249856 + ], + [ + -1.640660517723695, + -3.5951971731612007 + ], + [ + -1.640660517723695, + -19.090711091369766 + ], + [ + 1.2647040775229834, + -35.554713599930935 + ], + [ + 5.1386584389334935, + -44.27094228675265 + ], + [ + 9.980932764344674, + -46.2078857421875 + ], + [ + 15.79179685591968, + -45.239397151834886 + ], + [ + 20.63407118133086, + -40.3970553758829 + ], + [ + 26.444935272905862, + -32.64928155414347 + ], + [ + 33.22425422956317, + -20.05919968172238 + ], + [ + 39.03511832113818, + -3.5951971731612007 + ], + [ + 39.03511832113818, + 3.1840880582256097 + ], + [ + 37.09807368989206, + 7.0579412438249856 + ], + [ + 34.19270909464536, + 8.994884699259861 + ], + [ + 31.28734449939869, + 9.963373289612488 + ], + [ + 30.318889634316374, + 9.963373289612488 + ], + [ + 31.28734449939869, + 8.994884699259861 + ], + [ + 31.28734449939869, + 8.994884699259861 + ] + ], + "pressures": [ + 0.1171875, + 0.94921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.90070134943187, + -0.796702991832376 + ] + }, + { + "id": "xf9JbHN-9FQ26FJ58R8XC", + "type": "freedraw", + "x": 247.57285216614696, + "y": -297.3282006644994, + "width": 33.89645988220468, + "height": 49.39190634987235, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 926240355, + "version": 918, + "versionNonce": 1298745197, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.8589220105837029, + 2.9202953546686268 + ], + [ + -1.0779877195807939, + 7.762637130620557 + ], + [ + -3.0150323508268033, + 13.573467496925188 + ], + [ + -3.0150323508268033, + 19.38426413795935 + ], + [ + -3.0150323508268033, + 24.226639639181748 + ], + [ + 2.7958317407482, + 31.97437973565087 + ], + [ + 7.6382409672408835, + 34.879778056167936 + ], + [ + 13.448970157734374, + 35.848232921250165 + ], + [ + 18.291514285308722, + 35.848232921250165 + ], + [ + 25.070698340884377, + 31.97437973565087 + ], + [ + 27.97619783721271, + 28.100492824781107 + ], + [ + 28.944517801213237, + 21.32120759339424 + ], + [ + 29.91297266629556, + 10.668035451137683 + ], + [ + 28.944517801213237, + 0.014897034151501523 + ], + [ + 26.03915320596657, + -10.638275108105061 + ], + [ + 21.196743979473744, + -12.575218563539934 + ], + [ + 15.385879887898737, + -13.543673428622185 + ], + [ + 7.6382409672408835, + -13.543673428622185 + ], + [ + -0.1095328544984765, + -4.827444741800426 + ], + [ + -3.0150323508268033, + 5.82569367518575 + ], + [ + -3.983487215909122, + 15.510410952360054 + ], + [ + -3.983487215909122, + 21.32120759339424 + ], + [ + -3.983487215909122, + 24.226639639181748 + ], + [ + -2.046442584662973, + 24.226639639181748 + ], + [ + -0.1095328544984765, + 24.226639639181748 + ], + [ + 0.8589220105837029, + 24.226639639181748 + ], + [ + 1.827376875665882, + 23.258151048829113 + ], + [ + 1.827376875665882, + 23.258151048829113 + ] + ], + "pressures": [ + 0.0693359375, + 0.4423828125, + 0.697265625, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5205078125, + 0.2392578125, + 0.1728515625, + 0.033203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.7966752485795041, + 16.730429909446002 + ] + }, + { + "id": "R0K9AouGPpsrBuxVJ8Jbn", + "type": "freedraw", + "x": 293.15528794130665, + "y": -273.5792963870042, + "width": 17.43245737364336, + "height": 108.46859742745984, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 977027725, + "version": 905, + "versionNonce": 239268323, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 1.8896236376700797, + 18.896038970121037 + ], + [ + 7.700352828163436, + 20.833016150826285 + ], + [ + 8.668807693245611, + 20.833016150826285 + ], + [ + 8.668807693245611, + 15.990674374874285 + ], + [ + 3.826533367834439, + 1.4635815964776002 + ], + [ + -0.04742099357606905, + -13.063443731378333 + ], + [ + -2.952650687741095, + -29.527412514669056 + ], + [ + -4.889695318987243, + -49.86526820882962 + ], + [ + -4.889695318987243, + -77.95089772472956 + ], + [ + -3.9212404539049266, + -86.66712641155131 + ], + [ + -3.9212404539049266, + -87.63558127663356 + ], + [ + -3.9212404539049266, + -86.66712641155131 + ], + [ + -7.795059914233922, + -81.82478463559931 + ], + [ + -8.763649680397748, + -78.91935258981181 + ], + [ + -8.763649680397748, + -78.91935258981181 + ] + ], + "pressures": [ + 0.1103515625, + 0.212890625, + 0.34765625, + 0.712890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7626953125, + 0.2109375, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -8.763649680397748, + -80.46539306640625 + ] + }, + { + "id": "ELMcIeutyEEjGMsumoZdr", + "type": "freedraw", + "x": 264.87879146621316, + "y": -317.7393057144027, + "width": 67.79291976440925, + "height": 5.8108303663045575, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2081891725, + "version": 897, + "versionNonce": 554160589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.621728183150148, + 2.905432045787503 + ], + [ + 57.1399162485047, + 3.873886910869683 + ], + [ + 64.88755516916255, + 5.8108303663045575 + ], + [ + 67.79291976440925, + 5.8108303663045575 + ], + [ + 65.85601003424476, + 4.842341775951931 + ], + [ + 62.95064543899805, + 4.842341775951931 + ], + [ + 62.95064543899805, + 4.842341775951931 + ] + ], + "pressures": [ + 0.09375, + 1, + 1, + 1, + 1, + 0.294921875, + 0.0869140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 51.784778941761374, + 3.983431729403378 + ] + }, + { + "id": "I0ASrQSECwQvwMXTKu9pu", + "type": "freedraw", + "x": 236.56693527057894, + "y": -157.7105026868993, + "width": 40.67577883886185, + "height": 87.16228686821707, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1038814275, + "version": 933, + "versionNonce": 829472131, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 3.2638605696915515, + 12.540103429258128 + ], + [ + 3.2638605696915515, + 11.57164856417588 + ], + [ + 2.2954057046092333, + 8.666216518388383 + ], + [ + 0.35849597444487563, + 2.855419877354204 + ], + [ + -3.515458386965768, + -6.829263674549725 + ], + [ + -8.357732712376938, + -28.13554050852207 + ], + [ + -11.263097307623614, + -42.66263328691877 + ], + [ + -13.200141938869624, + -52.34731683882266 + ], + [ + -14.168596803951944, + -57.18972606531549 + ], + [ + -15.137051669034122, + -58.15818093039775 + ], + [ + -15.137051669034122, + -54.284294019528026 + ], + [ + -14.168596803951944, + -45.56806533270623 + ], + [ + -11.263097307623614, + -32.977882284474 + ], + [ + -8.357732712376938, + -16.513947226453638 + ], + [ + -5.452368117130128, + 4.7923296075186315 + ], + [ + -4.483913252047946, + 10.60326114963446 + ], + [ + -4.483913252047946, + 11.57164856417588 + ], + [ + -4.483913252047946, + 5.760851923141705 + ], + [ + -5.452368117130128, + -3.92383162876222 + ], + [ + -5.452368117130128, + -16.513947226453638 + ], + [ + -2.5468686208018, + -25.230175913275392 + ], + [ + 4.232315434773729, + -29.104062824145075 + ], + [ + 7.1378149311020564, + -29.104062824145075 + ], + [ + 10.043179526348736, + -29.104062824145075 + ], + [ + 12.94854412159541, + -28.13554050852207 + ], + [ + 16.82249848300605, + -28.13554050852207 + ], + [ + 19.727863078252724, + -26.198698228898404 + ], + [ + 20.69631794333491, + -23.293198732570072 + ], + [ + 21.664772808417077, + -18.450856956618146 + ], + [ + 21.664772808417077, + -11.671605450501715 + ], + [ + 23.601682538581578, + 1.8869650122719563 + ], + [ + 24.570272304745394, + 11.57164856417588 + ], + [ + 25.53872716982773, + 18.3509000702923 + ], + [ + 25.53872716982773, + 21.256332116079804 + ], + [ + 25.53872716982773, + 23.193309296785138 + ], + [ + 22.633227673499412, + 28.035651072737064 + ], + [ + 20.69631794333491, + 29.004105937819315 + ], + [ + 18.759408213170403, + 27.067128757114062 + ], + [ + 16.82249848300605, + 23.193309296785138 + ], + [ + 15.854043617923738, + 16.41399034012788 + ], + [ + 16.82249848300605, + 16.41399034012788 + ], + [ + 16.82249848300605, + 16.41399034012788 + ] + ], + "pressures": [ + 0.0625, + 0.2919921875, + 0.4580078125, + 0.744140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.748046875, + 0.326171875, + 0.119140625, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.153675426136374, + 3.186756480823874 + ] + }, + { + "id": "rW_k2pCTc6JYHBhfD-Wki", + "type": "freedraw", + "x": 278.67151333757147, + "y": -174.0047140179319, + "width": 42.61268856902639, + "height": 58.108168761964485, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1091784525, + "version": 912, + "versionNonce": 1764102189, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.3435592330053752, + 5.325251859829182 + ], + [ + -0.6248956320769423, + 5.325251859829182 + ], + [ + 5.185968459498198, + 5.325251859829182 + ], + [ + 13.902197146319885, + 2.4198198140416785 + ], + [ + 22.618425833141554, + -2.422521961910324 + ], + [ + 29.397609888717085, + -10.17029578364976 + ], + [ + 31.33465451996323, + -15.981092424684011 + ], + [ + 29.397609888717085, + -19.8549793355537 + ], + [ + 22.618425833141554, + -23.728798795882625 + ], + [ + 13.902197146319885, + -24.697321111505687 + ], + [ + 5.185968459498198, + -21.791889065718195 + ], + [ + -1.593350497159122, + -3.3909768269925022 + ], + [ + -1.593350497159122, + 12.104503365945611 + ], + [ + 0.3435592330053752, + 24.69468641417787 + ], + [ + 5.185968459498198, + 29.537028190129874 + ], + [ + 14.870652011402063, + 32.442392785376555 + ], + [ + 23.587015599305396, + 33.41084765045879 + ], + [ + 31.33465451996323, + 31.47387046975347 + ], + [ + 37.14538371045662, + 27.600051009424543 + ], + [ + 40.05088320678493, + 20.820732052767287 + ], + [ + 41.01933807186726, + 10.16766108632194 + ], + [ + 41.01933807186726, + 7.262161589993609 + ], + [ + 41.01933807186726, + 7.262161589993609 + ] + ], + "pressures": [ + 0.0927734375, + 0.8154296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.435546875, + 0.2587890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 33.46091530539775, + 1.593350497159065 + ] + }, + { + "id": "8kmCx3yLFd3NPxOdeHxDr", + "type": "freedraw", + "x": 318.9904221330518, + "y": -182.01779512729692, + "width": 41.64423370394417, + "height": 43.58107598356773, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 35087309, + "version": 910, + "versionNonce": 807671075, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 3.779223347269874, + 5.497031476331876 + ], + [ + 7.653042807598867, + 10.33944070282463 + ], + [ + 11.526862267927726, + 10.33944070282463 + ], + [ + 16.36927149442055, + 9.370850936660798 + ], + [ + 20.24309095474941, + 7.433941206496303 + ], + [ + 23.148725352159392, + 4.528509160708799 + ], + [ + 24.11704531616005, + -7.093084121359561 + ], + [ + 19.274636089667226, + -16.777767673263487 + ], + [ + 13.463906899173866, + -23.557019179379918 + ], + [ + 6.684587942516551, + -25.493996360085248 + ], + [ + -0.09473101414063273, + -23.557019179379918 + ], + [ + -6.8740499707979525, + -17.74628998888656 + ], + [ + -15.590143756537982, + -8.06153898644181 + ], + [ + -17.527188387784122, + 0.6546897003798751 + ], + [ + -16.558733522701814, + 8.402396071578549 + ], + [ + -8.810959700962307, + 17.118624758400305 + ], + [ + -2.0316407443051294, + 18.087079623482477 + ], + [ + 5.716133077434372, + 17.118624758400305 + ], + [ + 9.589952537763223, + 13.244737847530555 + ], + [ + 9.589952537763223, + 13.244737847530555 + ] + ], + "pressures": [ + 0.1591796875, + 0.8154296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.51171875, + 0.236328125, + 0.1181640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.780051491477252, + 6.373457475142061 + ] + }, + { + "id": "KaEgqingyrFrD4rpJRABb", + "type": "freedraw", + "x": 337.19567313858244, + "y": -201.76850547656056, + "width": 25.180096294301208, + "height": 58.108168761964485, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1152734147, + "version": 904, + "versionNonce": 1672315533, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.3435592330053499, + 1.374248896056624 + ], + [ + 0.3435592330053499, + -3.468092879895381 + ], + [ + -1.5933504971590082, + -6.373457475142061 + ], + [ + 0.3435592330053499, + -2.499638014813131 + ], + [ + 4.217378693334341, + 4.279680941844128 + ], + [ + 10.996697649991518, + 17.83825140461782 + ], + [ + 15.839106876484351, + 29.459844686686257 + ], + [ + 20.681381201895515, + 41.08150541929544 + ], + [ + 23.5867457971422, + 48.82927924103494 + ], + [ + 23.5867457971422, + 51.73471128682243 + ], + [ + 22.618425833141536, + 45.92384719524746 + ], + [ + 20.681381201895515, + 38.17607337350793 + ], + [ + 18.744471471731018, + 31.396821867391537 + ], + [ + 18.744471471731018, + 31.396821867391537 + ] + ], + "pressures": [ + 0.0595703125, + 0.0927734375, + 0.1884765625, + 0.546875, + 0.931640625, + 1, + 1, + 1, + 1, + 1, + 0.794921875, + 0.302734375, + 0.1171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.137051669034122, + 24.697321111505687 + ] + }, + { + "id": "IGSM5SBJqN02Mb7JBCP0M", + "type": "freedraw", + "x": 347.52268906473944, + "y": -264.50573401266536, + "width": 22.274731699054538, + "height": 112.34245061305913, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 335501965, + "version": 906, + "versionNonce": 432765123, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.17177961650267573, + 0.6871304300458757 + ], + [ + -0.7966752485795041, + -3.186756480823874 + ], + [ + -0.7966752485795041, + -0.28139188557719796 + ], + [ + 3.077279112831004, + 9.403359116867556 + ], + [ + 6.951098573159996, + 21.024952398935973 + ], + [ + 9.856463168406679, + 33.6150679966274 + ], + [ + 14.698872394899508, + 54.921412281140526 + ], + [ + 19.54114672031068, + 71.3854147897017 + ], + [ + 21.478056450475034, + 86.88089498263984 + ], + [ + 21.478056450475034, + 99.47101058033131 + ], + [ + 21.478056450475034, + 107.2187844020708 + ], + [ + 21.478056450475034, + 109.15569413223525 + ], + [ + 21.478056450475034, + 108.18723926715296 + ], + [ + 19.54114672031068, + 103.34489749120111 + ], + [ + 17.60437189122783, + 99.47101058033131 + ], + [ + 17.60437189122783, + 99.47101058033131 + ] + ], + "pressures": [ + 0.1123046875, + 0.1591796875, + 0.455078125, + 0.732421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4111328125, + 0.1181640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.340487393465992, + 81.26209605823863 + ] + }, + { + "id": "rT8kELRe6KlTESCQCu-j3", + "type": "freedraw", + "x": 379.31090642914904, + "y": -196.40268452338464, + "width": 21.306276833972362, + "height": 23.243321465218443, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 724823491, + "version": 902, + "versionNonce": 1431808237, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0.8589220105837051, + 0 + ], + [ + -3.015032350826803, + 4.842341775951999 + ], + [ + -3.983487215909122, + 10.65327331806783 + ], + [ + -3.983487215909122, + 17.43245737364343 + ], + [ + -3.983487215909122, + 23.243321465218443 + ], + [ + 2.7958317407482025, + 20.33795686997175 + ], + [ + 8.60669583232321, + 18.400979689266503 + ], + [ + 13.448970157734387, + 16.46400250856119 + ], + [ + 16.354334752981053, + 15.49561509401983 + ], + [ + 17.32278961806324, + 15.49561509401983 + ], + [ + 17.32278961806324, + 16.46400250856119 + ], + [ + 17.32278961806324, + 16.46400250856119 + ] + ], + "pressures": [ + 0.0673828125, + 0.59375, + 0.734375, + 0.8203125, + 0.9404296875, + 1, + 1, + 1, + 1, + 1, + 0.1337890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 13.543590198863626, + 13.543701171875 + ] + }, + { + "id": "tzMY9qiYOE-c4F53YvdJQ", + "type": "freedraw", + "x": 322.9968437246647, + "y": -250.46677603561034, + "width": 16.463867607479536, + "height": 2.9053645952467475, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 275148333, + "version": 900, + "versionNonce": 201680995, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0.5153388495080645 + ], + [ + 0.968319964000667, + 0.5153388495080645 + ], + [ + 3.873684559247344, + 0.5153388495080645 + ], + [ + 6.779049154494023, + -1.421570880656433 + ], + [ + 8.716093785740032, + -2.390025745738683 + ], + [ + 9.684683551904, + -2.390025745738683 + ], + [ + 12.589913246069028, + -2.390025745738683 + ], + [ + 14.526957877315036, + -1.421570880656433 + ], + [ + 16.463867607479536, + -0.4531160155741844 + ], + [ + 16.463867607479536, + -0.4531160155741844 + ] + ], + "pressures": [ + 0.0859375, + 0.5439453125, + 0.75390625, + 0.8173828125, + 0.8408203125, + 0.8447265625, + 0.5107421875, + 0.3046875, + 0.17578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 13.543590198863626, + -0.796675248579561 + ] + }, + { + "id": "-SHYSDbbuBXEkXqDTzO4l", + "type": "freedraw", + "x": 224.004707044964, + "y": -240.46767222933838, + "width": 120.09029188533938, + "height": 18.400912238725677, + "angle": 5.981002487216294, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 789496131, + "version": 931, + "versionNonce": 799933261, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 1.2024812435890546, + 1.889599709599805 + ], + [ + -5.57683771306813, + 0.9211448445175562 + ], + [ + -0.7345633876570943, + 1.889599709599805 + ], + [ + 22.508758077561424, + 4.795031755387305 + ], + [ + 46.72053440786211, + 7.700463801174808 + ], + [ + 70.93231073816281, + 9.637373531339302 + ], + [ + 90.30167784197063, + 9.637373531339302 + ], + [ + 105.79709058436788, + 8.668918666257055 + ], + [ + 114.51345417227125, + 8.668918666257055 + ], + [ + 112.57640954102521, + 8.668918666257055 + ], + [ + 100.9548162589569, + 6.731941485551802 + ], + [ + 81.58544915514885, + 2.8580545746820523 + ], + [ + 49.625899003108785, + -0.04731002056462334 + ], + [ + 30.256531899300917, + -0.04731002056462334 + ], + [ + 16.697893985986404, + 0.9211448445175562 + ], + [ + 7.01321043408241, + 0.9211448445175562 + ], + [ + 1.2024812435890546, + 0.9211448445175562 + ], + [ + -1.7030182527392743, + -0.04731002056462334 + ], + [ + 5.076300703918051, + -0.04731002056462334 + ], + [ + 17.666348851068584, + -1.0157648856468728 + ], + [ + 44.7836246776976, + -1.9842872012699457 + ], + [ + 55.4367630946838, + -1.9842872012699457 + ], + [ + 79.64840452390284, + -1.9842872012699457 + ], + [ + 84.49081375039572, + -1.9842872012699457 + ], + [ + 74.80613019849162, + -1.9842872012699457 + ], + [ + 56.405352860847636, + -1.9842872012699457 + ], + [ + 35.098806224712106, + -1.0157648856468728 + ], + [ + 16.697893985986404, + -0.04731002056462334 + ], + [ + 1.2024812435890546, + 2.8580545746820523 + ], + [ + -2.671473117821454, + 2.8580545746820523 + ], + [ + -3.639927982903772, + 2.8580545746820523 + ], + [ + -0.7345633876570943, + 2.8580545746820523 + ], + [ + 14.760984255821908, + -0.04731002056462334 + ], + [ + 31.224986764383104, + -1.9842872012699457 + ], + [ + 47.688989272944305, + -4.889651796516621 + ], + [ + 60.27903742009497, + -7.795083842304123 + ], + [ + 70.93231073816281, + -7.795083842304123 + ], + [ + 72.86922046832717, + -7.795083842304123 + ], + [ + 71.900765603245, + -7.795083842304123 + ], + [ + 66.09003641275163, + -8.763538707386374 + ], + [ + 65.12144664658764, + -8.763538707386374 + ], + [ + 65.12144664658764, + -8.763538707386374 + ] + ], + "pressures": [ + 0.1025390625, + 0.236328125, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.66796875, + 0.2109375, + 0.140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 52.581343217329504, + -8.763538707386374 + ] + }, + { + "id": "k1zv647g4sn4X9qLC3Sn4", + "type": "freedraw", + "x": -164.60224736201258, + "y": -232.3673795229427, + "width": 36.64761629971588, + "height": 36.64761629971588, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 946506317, + "version": 588, + "versionNonce": 1822450691, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + 0.7966752485796178, + 0.796702991832376 + ], + [ + 4.780106977982996, + 1.593378240411937 + ], + [ + 7.96686345880687, + 3.186756480823874 + ], + [ + 10.356944691051126, + 3.186756480823874 + ], + [ + 12.747025923295496, + 0.796702991832376 + ], + [ + 15.137051669034122, + -4.780106977982939 + ], + [ + 15.137051669034122, + -7.966863458806813 + ], + [ + 15.137051669034122, + -11.153619939630687 + ], + [ + 12.747025923295496, + -16.730429909446002 + ], + [ + 11.950295188210248, + -19.1204833984375 + ], + [ + 11.950295188210248, + -19.917186390269876 + ], + [ + 14.340376420454618, + -17.527105158025563 + ], + [ + 21.51056463068187, + -9.56024169921875 + ], + [ + 27.08740234375, + -2.390053488991498 + ], + [ + 31.867509321732996, + 4.780134721235811 + ], + [ + 35.850941051136374, + 13.543701171875 + ], + [ + 35.850941051136374, + 15.933754660866498 + ], + [ + 34.25759055397725, + 16.730429909446002 + ], + [ + 27.884077592329618, + 16.730429909446002 + ], + [ + 19.917214133522748, + 15.137079412286937 + ], + [ + 14.340376420454618, + 13.543701171875 + ], + [ + 9.560269442471622, + 11.153619939630687 + ], + [ + 7.96686345880687, + 9.56024169921875 + ], + [ + 7.170188210227252, + 7.170188210227252 + ], + [ + 7.170188210227252, + 6.373512961647748 + ], + [ + 6.373512961647748, + 6.373512961647748 + ], + [ + 6.373512961647748, + 6.373512961647748 + ] + ], + "pressures": [ + 0.119140625, + 0.80078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.373512961647748, + 6.373512961647748 + ] + }, + { + "id": "l20fBuiT11SABQ6JxGJvt", + "type": "freedraw", + "x": -158.22873440036483, + "y": -229.9772982906984, + "width": 37.44429154829538, + "height": 33.460887562144876, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1438025389, + "version": 596, + "versionNonce": 1997148589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -0.796702991832376 + ], + [ + 1.593350497159122, + 0 + ], + [ + 4.780106977982996, + 0.796675248579561 + ], + [ + 7.170188210227252, + 1.593350497159122 + ], + [ + 8.763538707386374, + 1.593350497159122 + ], + [ + 10.356944691051126, + -2.390081232244313 + ], + [ + 10.356944691051126, + -6.373512961647691 + ], + [ + 7.96686345880687, + -11.950322931463063 + ], + [ + 6.373512961647748, + -17.527132901278378 + ], + [ + 5.5767822265625, + -20.713889382102252 + ], + [ + 4.780106977982996, + -21.510564630681813 + ], + [ + 4.780106977982996, + -22.30726762251419 + ], + [ + 5.5767822265625, + -20.713889382102252 + ], + [ + 7.96686345880687, + -19.120511141690315 + ], + [ + 11.15361993963063, + -16.730457652698874 + ], + [ + 16.73040216619313, + -12.746998180042624 + ], + [ + 26.290671608664752, + -3.186756480823874 + ], + [ + 31.070778586647748, + 2.390053488991498 + ], + [ + 33.460859818892004, + 5.576809969815372 + ], + [ + 33.460859818892004, + 7.170160466974437 + ], + [ + 30.27410333806813, + 7.966863458806813 + ], + [ + 18.323808149857996, + 10.356916947798311 + ], + [ + 9.560269442471622, + 11.153619939630687 + ], + [ + 3.983431729403378, + 10.356916947798311 + ], + [ + 0, + 7.966863458806813 + ], + [ + -2.39008123224437, + 4.780106977982939 + ], + [ + -3.186756480823874, + 0.796675248579561 + ], + [ + -3.983431729403378, + -0.796702991832376 + ], + [ + -3.983431729403378, + -1.593378240411937 + ], + [ + -3.983431729403378, + -2.390081232244313 + ], + [ + -2.39008123224437, + -3.98345947265625 + ], + [ + -0.7966752485795041, + -3.98345947265625 + ], + [ + 0.7966752485795041, + -3.98345947265625 + ], + [ + 1.593350497159122, + -3.98345947265625 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.091796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9619140625, + 0.4287109375, + 0.1689453125, + 0.041015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593350497159122, + -3.98345947265625 + ] + }, + { + "id": "NUndm4xHe-8876soZIWG5", + "type": "freedraw", + "x": -160.61876014610345, + "y": -229.97732603395121, + "width": 27.884077592329618, + "height": 31.86750932173294, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 976734349, + "version": 597, + "versionNonce": 1671097251, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + 0 + ], + [ + 0.7966752485795041, + 1.593378240411937 + ], + [ + 3.186756480823874, + 4.780134721235811 + ], + [ + 5.5767822265625, + 6.373485218394876 + ], + [ + 7.170188210227252, + 6.373485218394876 + ], + [ + 7.966863458806756, + 6.373485218394876 + ], + [ + 8.763538707386374, + 6.373485218394876 + ], + [ + 9.560213955965878, + 1.593378240411937 + ], + [ + 9.560213955965878, + -3.983431729403435 + ], + [ + 9.560213955965878, + -7.966863458806813 + ], + [ + 9.560213955965878, + -9.56024169921875 + ], + [ + 8.763538707386374, + -11.153619939630687 + ], + [ + 7.966863458806756, + -13.543673428622185 + ], + [ + 7.966863458806756, + -15.137051669034122 + ], + [ + 7.966863458806756, + -15.933754660866498 + ], + [ + 10.356944691051126, + -15.137051669034122 + ], + [ + 13.543645685369256, + -12.746998180042624 + ], + [ + 18.323808149857882, + -7.966863458806813 + ], + [ + 22.307239879261374, + -0.796675248579561 + ], + [ + 25.493996360085134, + 5.576809969815315 + ], + [ + 26.290671608664752, + 11.153619939630687 + ], + [ + 25.493996360085134, + 13.543673428622128 + ], + [ + 21.510564630681756, + 15.137051669034065 + ], + [ + 11.950295188210134, + 15.933754660866441 + ], + [ + 6.373457475142004, + 15.137051669034065 + ], + [ + 1.5933504971590082, + 13.543673428622128 + ], + [ + -0.7967307350852479, + 10.356944691051126 + ], + [ + -1.5934059836648657, + 7.170188210227252 + ], + [ + -1.5934059836648657, + 3.983431729403378 + ], + [ + -1.5934059836648657, + 0 + ], + [ + -1.5934059836648657, + -0.796675248579561 + ], + [ + -0.7967307350852479, + -1.593378240411937 + ], + [ + 0.7966752485795041, + -2.390053488991498 + ], + [ + 1.5933504971590082, + -2.390053488991498 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.134765625, + 0.5185546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7705078125, + 0.1943359375, + 0.12109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.5933504971590082, + -2.390053488991498 + ] + }, + { + "id": "btsmcAhhbXDXRKKiL6ayd", + "type": "freedraw", + "x": -170.97576032366027, + "y": -170.2257668631416, + "width": 9.560213955965935, + "height": 8.763594193892004, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 595437955, + "version": 585, + "versionNonce": 1754616845, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796675248579561 + ], + [ + -0.796675248579561, + 1.593405983664809 + ], + [ + -1.593350497159122, + 1.593405983664809 + ], + [ + -2.390025745738626, + 1.593405983664809 + ], + [ + -3.186700994318187, + 2.390081232244313 + ], + [ + -3.983431729403435, + 2.390081232244313 + ], + [ + -4.780106977982939, + 2.390081232244313 + ], + [ + -4.780106977982939, + 1.593405983664809 + ], + [ + -5.5767822265625, + 0.796675248579561 + ], + [ + -6.373457475142061, + 0 + ], + [ + -7.966863458806813, + -0.796675248579561 + ], + [ + -8.763538707386374, + -2.390081232244313 + ], + [ + -9.560213955965935, + -3.186756480823874 + ], + [ + -9.560213955965935, + -3.983431729403378 + ], + [ + -9.560213955965935, + -4.780106977982939 + ], + [ + -9.560213955965935, + -5.5767822265625 + ], + [ + -9.560213955965935, + -6.373512961647691 + ], + [ + -8.763538707386374, + -6.373512961647691 + ], + [ + -7.966863458806813, + -6.373512961647691 + ], + [ + -7.170188210227309, + -6.373512961647691 + ], + [ + -6.373457475142061, + -6.373512961647691 + ], + [ + -5.5767822265625, + -6.373512961647691 + ], + [ + -4.780106977982939, + -5.5767822265625 + ], + [ + -3.983431729403435, + -3.983431729403378 + ], + [ + -2.390025745738626, + -2.390081232244313 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.01171875, + 0.2265625, + 0.4306640625, + 0.666015625, + 0.712890625, + 0.71484375, + 0.71484375, + 0.716796875, + 0.7109375, + 0.712890625, + 0.71484375, + 0.71484375, + 0.7109375, + 0.712890625, + 0.712890625, + 0.70703125, + 0.703125, + 0.701171875, + 0.6953125, + 0.6923828125, + 0.6337890625, + 0.404296875, + 0.271484375, + 0.1962890625, + 0.1396484375, + 0.033203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390025745738626, + -2.390081232244313 + ] + }, + { + "id": "sgQmCwMvdmOfyhXbmuuPk", + "type": "freedraw", + "x": -225.94718477323414, + "y": -225.99386656129496, + "width": 23.103970614346565, + "height": 40.63104802911931, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1072711085, + "version": 590, + "versionNonce": 1615415917, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.39013671875, + -0.796702991832376 + ], + [ + 0, + 0 + ], + [ + -2.390025745738626, + 0.7966752485795041 + ], + [ + -3.186700994318187, + 0.7966752485795041 + ], + [ + -3.186700994318187, + 1.593378240411937 + ], + [ + -3.186700994318187, + -0.796702991832376 + ], + [ + -3.186700994318187, + -4.780134721235811 + ], + [ + -3.186700994318187, + -9.56024169921875 + ], + [ + -2.390025745738626, + -15.933754660866498 + ], + [ + -2.390025745738626, + -16.73042990944606 + ], + [ + -3.186700994318187, + -17.527132901278435 + ], + [ + -5.576726740056813, + -18.323808149857996 + ], + [ + -7.966863458806813, + -18.323808149857996 + ], + [ + -11.950295188210248, + -15.933754660866498 + ], + [ + -14.340376420454561, + -11.950322931463063 + ], + [ + -18.32380814985794, + -5.576809969815372 + ], + [ + -19.91715864701706, + 0 + ], + [ + -20.713833895596565, + 6.373485218394876 + ], + [ + -20.713833895596565, + 14.340376420454504 + ], + [ + -20.713833895596565, + 20.713861638849437 + ], + [ + -19.91715864701706, + 22.307239879261317 + ], + [ + -18.32380814985794, + 22.307239879261317 + ], + [ + -15.137051669034065, + 22.307239879261317 + ], + [ + -11.153619939630687, + 19.1204833984375 + ], + [ + -6.373457475142061, + 11.950295188210191 + ], + [ + -4.780106977982939, + 8.763566450639189 + ], + [ + -3.983431729403435, + 6.373485218394876 + ], + [ + -3.186700994318187, + 6.373485218394876 + ], + [ + -3.186700994318187, + 5.576809969815315 + ], + [ + -2.390025745738626, + 4.780106977982939 + ], + [ + -2.390025745738626, + 3.983431729403378 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.013671875, + 0.2158203125, + 0.7626953125, + 0.828125, + 0.876953125, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 0.6826171875, + 0.3046875, + 0.2490234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390025745738626, + 3.983431729403378 + ] + }, + { + "id": "4A8RRZL_xnhvwPvXOSiFO", + "type": "freedraw", + "x": -162.2121661297682, + "y": -230.77400128253078, + "width": 15.933726917613626, + "height": 25.493996360085248, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 96943885, + "version": 585, + "versionNonce": 2129622221, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796702991832376 + ], + [ + 2.390025745738626, + 1.593378240411937 + ], + [ + 3.186756480823874, + 1.593378240411937 + ], + [ + 3.983431729403378, + 1.593378240411937 + ], + [ + 4.780106977982882, + 0 + ], + [ + 5.5767822265625, + -1.593378240411937 + ], + [ + 5.5767822265625, + -5.576809969815315 + ], + [ + 5.5767822265625, + -7.170188210227252 + ], + [ + 5.5767822265625, + -8.763566450639189 + ], + [ + 5.5767822265625, + -10.356944691051126 + ], + [ + 5.5767822265625, + -11.153619939630687 + ], + [ + 8.763538707386374, + -8.763566450639189 + ], + [ + 9.560213955965878, + -6.373485218394876 + ], + [ + 11.15361993963063, + -2.390053488991498 + ], + [ + 13.543701171875, + 2.390053488991498 + ], + [ + 15.933726917613626, + 7.966863458806813 + ], + [ + 15.933726917613626, + 10.356944691051126 + ], + [ + 15.933726917613626, + 11.950322931463063 + ], + [ + 15.933726917613626, + 13.543701171875 + ], + [ + 13.543701171875, + 13.543701171875 + ], + [ + 9.560213955965878, + 14.340376420454561 + ], + [ + 7.170188210227252, + 14.340376420454561 + ], + [ + 4.780106977982882, + 13.543701171875 + ], + [ + 2.390025745738626, + 12.746998180042624 + ], + [ + 0.7966752485795041, + 11.153619939630687 + ], + [ + 0, + 10.356944691051126 + ], + [ + 0, + 9.56024169921875 + ], + [ + 1.5933504971590082, + 8.763566450639189 + ], + [ + 1.5933504971590082, + 8.763566450639189 + ] + ], + "pressures": [ + 0.048828125, + 0.9189453125, + 0.9404296875, + 0.9453125, + 0.9833984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5849609375, + 0.1904296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.5933504971590082, + 8.763566450639189 + ] + }, + { + "id": "yj7GbyY_6-wLDnhWS7ev2", + "type": "freedraw", + "x": 256.04860934963483, + "y": -46.73916130561338, + "width": 114.72295587713063, + "height": 134.64011452414775, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1687248749, + "version": 573, + "versionNonce": 270619437, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.560269442471622, + -2.39013671875 + ], + [ + -18.323808149857996, + -9.560324928977366 + ], + [ + -27.08740234375, + -20.713944868607996 + ], + [ + -35.850941051136374, + -46.207941228693244 + ], + [ + -36.647616299715935, + -66.12509987571025 + ], + [ + -30.274103338068187, + -82.85555752840912 + ], + [ + -18.323808149857996, + -92.41577148437506 + ], + [ + -3.983431729403435, + -96.39925870028412 + ], + [ + 19.917158647017004, + -95.60247247869324 + ], + [ + 35.850941051136374, + -87.63560901988637 + ], + [ + 51.78466796875, + -73.29528808593756 + ], + [ + 61.34493741122151, + -41.42777876420462 + ], + [ + 59.751531427556756, + -29.47748357599437 + ], + [ + 39.83437278053975, + 3.983431729403378 + ], + [ + 19.1204833984375, + 17.527077414772634 + ], + [ + -4.780162464488683, + 20.713778409090878 + ], + [ + -27.08740234375, + 18.323752663352252 + ], + [ + -47.00456099076706, + 3.983431729403378 + ], + [ + -51.78466796875, + -13.543756658380744 + ], + [ + -53.37801846590912, + -36.64767178622162 + ], + [ + -50.987992720170496, + -58.15823641690349 + ], + [ + -43.81780450994319, + -75.68531383167618 + ], + [ + -25.493996360085248, + -94.80585271661937 + ], + [ + -11.950295188210248, + -103.56939142400574 + ], + [ + -0.7966752485796178, + -109.94290438565343 + ], + [ + 7.966863458806756, + -113.92633611505687 + ], + [ + 15.933726917613626, + -109.14622913707387 + ], + [ + 16.73040216619313, + -104.36612215909093 + ], + [ + 16.73040216619313, + -104.36612215909093 + ] + ], + "pressures": [ + 0.0986328125, + 0.53515625, + 0.8408203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.44140625, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 16.73040216619313, + -104.36612215909093 + ] + }, + { + "id": "-OsY33syfu0JalaclNZYC", + "type": "freedraw", + "x": 226.57118126014615, + "y": -58.68951198032937, + "width": 108.34944291548294, + "height": 113.12960537997162, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1522464685, + "version": 574, + "versionNonce": 2075296291, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.356944691051126, + -7.170188210227252 + ], + [ + -13.543701171875, + -11.950295188210134 + ], + [ + -19.917158647017004, + -25.493996360085134 + ], + [ + -24.697321111505687, + -38.24102228338063 + ], + [ + -25.49399636008519, + -51.78466796875 + ], + [ + -22.307239879261317, + -74.091963334517 + ], + [ + -14.340376420454504, + -86.83893377130676 + ], + [ + 0, + -96.39920321377838 + ], + [ + 19.1204833984375, + -101.97598544034088 + ], + [ + 46.20783025568181, + -98.789228959517 + ], + [ + 60.54820667613643, + -89.22901500355107 + ], + [ + 70.90515136718756, + -74.88863858309657 + ], + [ + 74.88858309659093, + -56.564830433238626 + ], + [ + 70.10847611860794, + -33.460915305397634 + ], + [ + 47.801236239346565, + -1.593405983664752 + ], + [ + 25.493996360085248, + 9.560213955965992 + ], + [ + 0.796675248579561, + 11.153619939630744 + ], + [ + -19.1204833984375, + 4.780106977982996 + ], + [ + -32.6641845703125, + -15.933726917613626 + ], + [ + -33.460859818892004, + -34.25759055397725 + ], + [ + -31.070834073153378, + -54.971424449573874 + ], + [ + -24.697321111505687, + -74.091963334517 + ], + [ + -15.137051669034065, + -87.63560901988632 + ], + [ + 7.170188210227309, + -98.789228959517 + ], + [ + 24.697265625, + -101.17931019176132 + ], + [ + 39.03764204545456, + -100.38263494318176 + ], + [ + 50.19126198508519, + -95.60247247869313 + ], + [ + 57.36145019531256, + -86.83893377130676 + ], + [ + 55.768099698153435, + -85.24558327414769 + ], + [ + 55.768099698153435, + -85.24558327414769 + ] + ], + "pressures": [ + 0.1328125, + 0.259765625, + 0.3359375, + 0.64453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9580078125, + 0.697265625, + 0.18359375, + 0.123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 55.768099698153435, + -85.24558327414769 + ] + }, + { + "id": "EKxJoWH92QJubYyjuK3BL", + "type": "freedraw", + "x": 236.13139521611208, + "y": -62.67294370973275, + "width": 103.56933593749994, + "height": 111.5362548828125, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1174479203, + "version": 570, + "versionNonce": 810050957, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558542, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.560213955965935, + 0 + ], + [ + -20.713833895596622, + -7.170188210227252 + ], + [ + -28.680697354403435, + -16.730457652698874 + ], + [ + -35.85088556463069, + -29.477483575994256 + ], + [ + -39.83437278053975, + -47.80123623934662 + ], + [ + 60.548262162642004, + -75.68525834517044 + ], + [ + 59.7515869140625, + -53.37807395241475 + ], + [ + 50.19131747159088, + -28.680752840909122 + ], + [ + 27.08740234375, + -1.593405983664752 + ], + [ + 7.170188210227252, + 4.780106977982996 + ], + [ + -13.543645685369313, + 2.390025745738626 + ], + [ + -28.680697354403435, + -7.966863458806756 + ], + [ + -38.240966796875, + -23.103970614346622 + ], + [ + -43.02107377485794, + -50.19131747159088 + ], + [ + -42.224398526278435, + -70.10853160511363 + ], + [ + -36.647616299715935, + -86.83893377130681 + ], + [ + -27.884022105823874, + -98.78928444602269 + ], + [ + -15.137051669034122, + -105.16274192116475 + ], + [ + 7.9669189453125, + -106.7561479048295 + ], + [ + 21.510564630681756, + -105.16274192116475 + ], + [ + 30.274158824573874, + -101.17931019176137 + ], + [ + 36.64761629971588, + -94.00912198153407 + ], + [ + 39.83437278053975, + -80.46547629616475 + ], + [ + 39.83437278053975, + -72.49855735085225 + ], + [ + 37.444347034801126, + -71.701826615767 + ], + [ + 37.444347034801126, + -71.701826615767 + ] + ], + "pressures": [ + 0.1005859375, + 0.3447265625, + 0.8349609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.908203125, + 0.82421875, + 0.7607421875, + 0.54296875, + 0.2646484375, + 0.1708984375, + 0.005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 37.444347034801126, + -71.701826615767 + ] + }, + { + "id": "cDC49t4Seb4er62SfFc7r", + "type": "freedraw", + "x": 220.19766829849846, + "y": -11.685006476067997, + "width": 119.50306285511363, + "height": 143.4037087180398, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2043140557, + "version": 578, + "versionNonce": 587482563, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.373512961647748, + -1.5933504971590082 + ], + [ + -12.746970436789809, + -5.5767822265625 + ], + [ + -15.933726917613626, + -8.763538707386374 + ], + [ + -23.900645862926126, + -15.933726917613626 + ], + [ + -32.6641845703125, + -26.290671608664752 + ], + [ + -39.83437278053981, + -39.83431729403401 + ], + [ + -43.021129261363626, + -60.548206676136374 + ], + [ + -43.021129261363626, + -73.29523259943176 + ], + [ + -38.240966796875, + -86.83882279829538 + ], + [ + -30.274103338068187, + -100.38257945667613 + ], + [ + -12.746970436789809, + -119.50306285511363 + ], + [ + 0.7966752485795041, + -125.87657581676132 + ], + [ + 16.730457652698874, + -125.07990056818176 + ], + [ + 32.6641845703125, + -117.9097123579545 + ], + [ + 50.98799272017038, + -96.39914772727275 + ], + [ + 59.751531427556756, + -75.68525834517038 + ], + [ + 62.141612659801126, + -49.39458673650563 + ], + [ + 56.56477494673288, + -22.307239879261374 + ], + [ + 43.021129261363626, + 0 + ], + [ + 12.746970436789752, + 15.137107155539752 + ], + [ + -9.560213955965935, + 15.93378240411937 + ], + [ + -31.070778586647748, + 10.356944691051126 + ], + [ + -47.00456099076706, + -3.18670099431813 + ], + [ + -57.3614501953125, + -32.6641845703125 + ], + [ + -57.3614501953125, + -55.76809969815338 + ], + [ + -51.78466796875, + -78.87195933948863 + ], + [ + -41.42766779119319, + -99.58590420809651 + ], + [ + -27.087346857244313, + -116.31630637428975 + ], + [ + 0.7966752485795041, + -126.67319557883519 + ], + [ + 20.713889382102252, + -127.46992631392044 + ], + [ + 35.054265802556756, + -125.07990056818176 + ], + [ + 39.83437278053975, + -122.68976384943176 + ], + [ + 34.25753506747162, + -35.05415482954538 + ], + [ + 34.25753506747162, + -35.05415482954538 + ] + ], + "pressures": [ + 0.18359375, + 0.3017578125, + 0.5166015625, + 0.64453125, + 0.8935546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.07421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.25753506747162, + -35.05415482954538 + ] + }, + { + "id": "HsksUueAuJkzo2mNyGG_X", + "type": "freedraw", + "x": 213.02748008827115, + "y": -13.278356973227005, + "width": 129.06338778409088, + "height": 152.1673029119318, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 666080387, + "version": 589, + "versionNonce": 849226733, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.5767822265625, + -3.9834317294034918 + ], + [ + -11.950295188210191, + -10.35694469105124 + ], + [ + -18.323752663352252, + -19.1204833984375 + ], + [ + -23.90059037642044, + -27.884077592329618 + ], + [ + -27.884077592329504, + -47.80123623934662 + ], + [ + -27.087346857244313, + -66.12504438920462 + ], + [ + -19.917158647017004, + -83.652177290483 + ], + [ + -7.170188210227252, + -97.19582297585237 + ], + [ + 19.91715864701706, + -112.33293013139212 + ], + [ + 41.42772327769893, + -115.51968661221593 + ], + [ + 60.54826216264206, + -113.12954989346593 + ], + [ + 74.09190784801143, + -101.17925470525574 + ], + [ + 79.66874556107956, + -80.46542080965912 + ], + [ + 72.49855735085231, + -37.444236061789866 + ], + [ + 61.344937411221565, + -11.153619939630744 + ], + [ + 47.00456099076706, + 7.966863458806756 + ], + [ + 30.274103338068187, + 17.527132901278378 + ], + [ + 3.983431729403435, + 15.137051669034008 + ], + [ + -10.356889204545439, + 1.5933504971590082 + ], + [ + -23.103915127840878, + -18.323808149857996 + ], + [ + -31.86750932173294, + -40.63104802911937 + ], + [ + -35.05426580255681, + -64.5316938920455 + ], + [ + -27.884077592329504, + -92.41571599786937 + ], + [ + -15.137051669034065, + -105.16268643465912 + ], + [ + 3.983431729403435, + -112.33293013139212 + ], + [ + 30.274103338068187, + -113.12954989346593 + ], + [ + 69.31180087002843, + -105.95941716974437 + ], + [ + 86.04225852272731, + -92.41571599786937 + ], + [ + 93.21244673295456, + -69.31174538352275 + ], + [ + 93.21244673295456, + -40.63104802911937 + ], + [ + 84.44885253906256, + -14.340376420454618 + ], + [ + 58.15818093039769, + 5.57683771306813 + ], + [ + 32.6641845703125, + 6.373568448153378 + ], + [ + 8.763538707386374, + 0 + ], + [ + -10.356889204545439, + -11.153619939630744 + ], + [ + -30.2740478515625, + -33.460804332386374 + ], + [ + -35.85094105113632, + -54.17474920099437 + ], + [ + -35.85094105113632, + -75.68531383167624 + ], + [ + -28.680752840909065, + -93.21239124644887 + ], + [ + -15.137051669034065, + -108.34949840198868 + ], + [ + 11.153619939630687, + -124.28322531960231 + ], + [ + 29.477428089488683, + -131.45341352982962 + ], + [ + 42.224454012784065, + -134.64017001065343 + ], + [ + 42.224454012784065, + -132.25008877840912 + ], + [ + 42.224454012784065, + -132.25008877840912 + ] + ], + "pressures": [ + 0.08984375, + 0.2490234375, + 0.4384765625, + 0.73828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.947265625, + 0.8642578125, + 0.75, + 0.724609375, + 0.7109375, + 0.73046875, + 0.7685546875, + 0.7587890625, + 0.744140625, + 0.744140625, + 0.728515625, + 0.724609375, + 0.72265625, + 0.724609375, + 0.732421875, + 0.5185546875, + 0.31640625, + 0.18359375, + 0.0205078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.224454012784065, + -132.25008877840912 + ] + }, + { + "id": "8cnDEtdA6VaC4W6f1tOz0", + "type": "freedraw", + "x": 222.58774953074277, + "y": -15.668438205471375, + "width": 125.07984508167618, + "height": 128.26660156249994, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1146041667, + "version": 583, + "versionNonce": 1855755619, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 5.57683771306813 + ], + [ + -4.780162464488626, + 4.78021795099437 + ], + [ + -12.747025923295439, + -2.390025745738626 + ], + [ + -21.510564630681813, + -14.340376420454504 + ], + [ + -33.46085981889206, + -37.444291548295496 + ], + [ + -38.24102228338069, + -56.564774946732996 + ], + [ + -39.83431729403412, + -66.1250443892045 + ], + [ + -39.83431729403412, + -75.6852583451705 + ], + [ + 57.36145019531244, + -90.8223100142045 + ], + [ + 56.56477494673294, + -78.87195933948863 + ], + [ + 42.224398526278435, + -37.444291548295496 + ], + [ + 27.087346857244313, + -15.933726917613626 + ], + [ + 8.763538707386374, + -3.983431729403378 + ], + [ + -15.137051669034122, + -3.983431729403378 + ], + [ + -27.884022105823874, + -16.73040216619313 + ], + [ + -36.647616299715935, + -36.64761629971588 + ], + [ + -39.83431729403412, + -64.53163840553975 + ], + [ + -33.46085981889206, + -103.5693359375 + ], + [ + -27.08740234375, + -112.33287464488637 + ], + [ + 2.390025745738626, + -122.68976384943181 + ], + [ + 29.477428089488626, + -121.89314408735794 + ], + [ + 52.58134321732956, + -119.50306285511363 + ], + [ + 77.27866432883519, + -107.55276766690338 + ], + [ + 85.24552778764206, + -88.43228426846588 + ], + [ + 85.24552778764206, + -61.34488192471588 + ], + [ + 75.68525834517044, + -32.6641845703125 + ], + [ + 47.00456099076706, + -2.390025745738626 + ], + [ + 21.510564630681813, + 3.186756480823874 + ], + [ + -2.390081232244313, + -1.593350497159122 + ], + [ + -19.120538884943187, + -13.54364568536937 + ], + [ + -28.680752840909122, + -30.27410333806813 + ], + [ + -33.46085981889206, + -60.548206676136374 + ], + [ + -31.86745383522731, + -78.07533957741475 + ], + [ + -25.493996360085248, + -90.025634765625 + ], + [ + -17.527132901278435, + -97.99249822443187 + ], + [ + -7.966863458806813, + -105.16268643465907 + ], + [ + 3.186756480823874, + -112.33287464488637 + ], + [ + 3.983431729403378, + -111.53619939630681 + ], + [ + 3.983431729403378, + -111.53619939630681 + ] + ], + "pressures": [ + 0.1162109375, + 0.3232421875, + 0.4951171875, + 0.638671875, + 0.90234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96875, + 0.9345703125, + 0.908203125, + 0.556640625, + 0.263671875, + 0.171875, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.983431729403378, + -111.53619939630681 + ] + }, + { + "id": "-REY_dBanIuL-P696sc_q", + "type": "freedraw", + "x": 224.9777752764814, + "y": -18.855139199789505, + "width": 128.2666570490057, + "height": 141.81041370738643, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1175680803, + "version": 587, + "versionNonce": 1194075725, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.966863458806813, + -2.39008123224437 + ], + [ + -12.746970436789752, + -7.96686345880687 + ], + [ + -19.1204833984375, + -16.730457652698874 + ], + [ + -25.493996360085248, + -27.884022105823874 + ], + [ + -31.867453835227252, + -43.02112926136374 + ], + [ + -34.257479580965935, + -71.70182661576712 + ], + [ + -31.867453835227252, + -89.22901500355124 + ], + [ + -24.697265625, + -103.56933593750006 + ], + [ + -14.340320933948874, + -112.33293013139212 + ], + [ + 8.763594193892061, + -117.90976784446025 + ], + [ + 27.08740234375, + -116.3163618607955 + ], + [ + 43.81780450994319, + -108.34949840198868 + ], + [ + 57.36150568181819, + -96.39920321377849 + ], + [ + 64.53169389204544, + -79.66869007457387 + ], + [ + 62.14161265980118, + -44.61453524502849 + ], + [ + 50.98799272017044, + -20.713889382102366 + ], + [ + 35.85094105113632, + -3.186756480823874 + ], + [ + 16.730457652698874, + 4.780106977982882 + ], + [ + -11.950295188210248, + -2.39008123224437 + ], + [ + -26.290616122159065, + -15.93372691761374 + ], + [ + -35.85088556463069, + -33.46091530539775 + ], + [ + -39.83437278053975, + -54.97147993607962 + ], + [ + -39.03764204545456, + -77.27871981534099 + ], + [ + -27.884022105823874, + -106.75614790482962 + ], + [ + -15.137051669034065, + -117.90976784446025 + ], + [ + 2.390081232244313, + -123.48649458451712 + ], + [ + 23.103970614346565, + -125.87663130326712 + ], + [ + 48.59796697443181, + -125.07995605468756 + ], + [ + 64.53169389204544, + -120.29979359019893 + ], + [ + 78.07539506392044, + -109.14617365056824 + ], + [ + 86.83893377130681, + -91.61904074928987 + ], + [ + 88.43228426846593, + -70.10853160511374 + ], + [ + 80.46542080965907, + -35.05426580255687 + ], + [ + 65.32836914062494, + -14.340376420454618 + ], + [ + 42.224454012784065, + 2.390025745738626 + ], + [ + 15.137051669034065, + 7.9669189453125 + ], + [ + -19.1204833984375, + -2.39008123224437 + ], + [ + -26.290616122159065, + -10.35694469105124 + ], + [ + 0.7967307350852479, + -133.04681951349437 + ], + [ + 3.983431729403435, + -133.84349476207393 + ], + [ + 6.373512961647748, + -133.04681951349437 + ], + [ + 6.373512961647748, + -131.45341352982962 + ], + [ + 6.373512961647748, + -131.45341352982962 + ] + ], + "pressures": [ + 0.025390625, + 0.306640625, + 0.47265625, + 0.7568359375, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9423828125, + 0.908203125, + 0.876953125, + 0.8056640625, + 0.701171875, + 0.716796875, + 0.75390625, + 0.7744140625, + 0.7744140625, + 0.791015625, + 0.8134765625, + 0.8134765625, + 0.3173828125, + 0.2548828125, + 0.1396484375, + 0.0400390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.373512961647748, + -131.45341352982962 + ] + }, + { + "id": "KNMYcABLxe2L3PlFqaBEs", + "type": "freedraw", + "x": 209.84072360744733, + "y": -49.12929802436338, + "width": 96.39909224076706, + "height": 125.07995605468744, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 628277315, + "version": 590, + "versionNonce": 768209155, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.5767822265625, + 0 + ], + [ + -11.153564453125, + -5.57672674005687 + ], + [ + -19.91715864701706, + -20.713833895596622 + ], + [ + -23.900590376420496, + -33.460804332386374 + ], + [ + -25.493996360085248, + -46.20783025568187 + ], + [ + -23.900590376420496, + -58.15818093039775 + ], + [ + -15.136996182528435, + -74.88858309659093 + ], + [ + -4.780106977982996, + -84.44885253906256 + ], + [ + 9.560269442471565, + -89.22890403053981 + ], + [ + 28.680752840909065, + -89.22890403053981 + ], + [ + 46.2078857421875, + -82.05877130681824 + ], + [ + 61.34493741122151, + -63.73496315696025 + ], + [ + 65.328369140625, + -45.41109952059662 + ], + [ + 63.73501864346588, + -21.510509144176126 + ], + [ + 54.971424449573874, + 1.593405983664752 + ], + [ + 34.25759055397725, + 22.307295365767004 + ], + [ + 17.527132901278378, + 25.493996360085134 + ], + [ + 0.7967307350851911, + 21.510564630681756 + ], + [ + -12.746970436789809, + 11.950295188210134 + ], + [ + -22.307239879261374, + -1.5932950106534918 + ], + [ + -30.274103338068187, + -25.493940873579618 + ], + [ + -31.07072310014206, + -41.427667791193244 + ], + [ + -25.493996360085248, + -55.76809969815349 + ], + [ + -15.933726917613683, + -70.108476118608 + ], + [ + 3.983431729403378, + -88.43228426846593 + ], + [ + 21.510564630681813, + -93.21233575994324 + ], + [ + 39.83437278053975, + -92.41571599786937 + ], + [ + 54.971424449573874, + -84.44885253906256 + ], + [ + 62.93828790838063, + -69.31174538352275 + ], + [ + 63.73501864346588, + -32.6641845703125 + ], + [ + 55.76809969815338, + -4.780106977982996 + ], + [ + 43.021129261363626, + 16.730457652698874 + ], + [ + 26.290671608664752, + 26.290727095170382 + ], + [ + 0.7967307350851911, + 24.69732111150563 + ], + [ + -11.950295188210248, + 13.543701171875 + ], + [ + -20.713833895596622, + -0.7966752485796178 + ], + [ + -23.900590376420496, + -18.323808149857996 + ], + [ + -24.697321111505687, + -37.444236061789866 + ], + [ + -17.527132901278435, + -67.71839488636363 + ], + [ + -9.560213955965935, + -86.04220303622162 + ], + [ + 0.7967307350851911, + -96.39914772727275 + ], + [ + 15.137051669034065, + -98.78922895951706 + ], + [ + 38.24102228338063, + -91.61904074928981 + ], + [ + 50.98799272017038, + -82.05877130681824 + ], + [ + 53.37807395241475, + -78.07533957741481 + ], + [ + 53.37807395241475, + -78.07533957741481 + ] + ], + "pressures": [ + 0.0693359375, + 0.5400390625, + 0.876953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4775390625, + 0.2880859375, + 0.134765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 53.37807395241475, + -78.07533957741481 + ] + }, + { + "id": "JCC9F1yBPd2xSbVFbAdk5", + "type": "freedraw", + "x": 218.60431780133933, + "y": -46.73916130561338, + "width": 123.48655007102269, + "height": 139.42027698863643, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1640133805, + "version": 601, + "versionNonce": 1623970989, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.170188210227252, + 3.18670099431813 + ], + [ + 11.153619939630687, + -108.34955388849437 + ], + [ + 32.66412908380681, + -111.53625488281256 + ], + [ + 47.004505504261374, + -109.94290438565343 + ], + [ + 54.971424449573874, + -101.17936567826706 + ], + [ + 60.548206676136374, + -74.09196333451706 + ], + [ + 56.564774946732996, + -48.59796697443187 + ], + [ + 47.004505504261374, + -20.713944868607996 + ], + [ + 31.86745383522731, + 2.389970259232882 + ], + [ + 4.780106977982996, + 15.933726917613626 + ], + [ + -12.747025923295439, + 11.950295188210134 + ], + [ + -27.884022105823874, + 0 + ], + [ + -38.24102228338069, + -19.120538884943244 + ], + [ + -42.224454012784065, + -40.631103515625 + ], + [ + -40.631103515625, + -73.29528808593756 + ], + [ + -32.6641845703125, + -90.82242098721593 + ], + [ + -20.713889382102252, + -101.17936567826706 + ], + [ + -3.186756480823874, + -105.1627974076705 + ], + [ + 30.274103338068187, + -105.1627974076705 + ], + [ + 49.394586736505744, + -101.97604092684662 + ], + [ + 63.73496315696025, + -94.00917746803981 + ], + [ + 74.09190784801137, + -78.87212579900574 + ], + [ + 79.66869007457387, + -58.15823641690349 + ], + [ + 78.87201482599437, + -23.103970614346622 + ], + [ + 70.108476118608, + -3.9834317294034918 + ], + [ + 54.971424449573874, + 8.76348322088063 + ], + [ + 36.64761629971588, + 15.136996182528378 + ], + [ + 5.5767822265625, + 13.543645685369256 + ], + [ + -9.560269442471565, + 4.780051491477252 + ], + [ + -18.32380814985794, + -8.763649680397748 + ], + [ + -23.90059037642044, + -25.49405184659099 + ], + [ + -25.49399636008519, + -43.02118474786937 + ], + [ + -21.510564630681813, + -71.70188210227275 + ], + [ + -12.747025923295439, + -87.63560901988637 + ], + [ + 2.390025745738626, + -96.39925870028412 + ], + [ + 22.307239879261374, + -98.78928444602275 + ], + [ + 50.987992720170496, + -92.41577148437506 + ], + [ + 66.92171963778412, + -79.66874556107956 + ], + [ + 78.07533957741475, + -60.54831764914775 + ], + [ + 81.26209605823863, + -36.64767178622162 + ], + [ + 76.48193359375, + -9.560324928977366 + ], + [ + 54.971424449573874, + 20.713778409090878 + ], + [ + 34.25753506747162, + 27.884022105823874 + ], + [ + 11.153619939630687, + 25.493940873579504 + ], + [ + -7.170188210227252, + 15.136996182528378 + ], + [ + -23.103970614346565, + -5.576893199573874 + ], + [ + -28.680752840909065, + -23.900645862926126 + ], + [ + -31.867453835227252, + -42.224509499289866 + ], + [ + -31.867453835227252, + -59.7515869140625 + ], + [ + -29.477428089488626, + -75.68531383167618 + ], + [ + -18.32380814985794, + -91.61904074928981 + ], + [ + -7.170188210227252, + -96.39925870028412 + ], + [ + 3.983431729403435, + -98.78928444602275 + ], + [ + 15.137051669034122, + -100.38269042968756 + ], + [ + 23.103915127840935, + -100.38269042968756 + ], + [ + 23.103915127840935, + -98.78928444602275 + ], + [ + 23.103915127840935, + -98.78928444602275 + ] + ], + "pressures": [ + 0.0908203125, + 0.2041015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9384765625, + 0.859375, + 0.8466796875, + 0.8466796875, + 0.8115234375, + 0.80078125, + 0.798828125, + 0.7783203125, + 0.783203125, + 0.787109375, + 0.787109375, + 0.791015625, + 0.8115234375, + 0.830078125, + 0.8349609375, + 0.8349609375, + 0.7685546875, + 0.75, + 0.7607421875, + 0.7783203125, + 0.798828125, + 0.8388671875, + 0.849609375, + 0.8173828125, + 0.8095703125, + 0.798828125, + 0.78515625, + 0.7744140625, + 0.7607421875, + 0.677734375, + 0.44921875, + 0.349609375, + 0.2060546875, + 0.1494140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.103915127840935, + -98.78928444602275 + ] + }, + { + "id": "BJErFDHcUeByv4_IeBspu", + "type": "freedraw", + "x": 179.56662026937914, + "y": -96.1338590151305, + "width": 189.6115944602273, + "height": 56.56471946022725, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 827120067, + "version": 557, + "versionNonce": 1108007075, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.576837713068187, + -2.389970259232882 + ], + [ + -6.373512961647748, + -2.389970259232882 + ], + [ + -6.373512961647748, + -1.5933504971590082 + ], + [ + -2.390081232244313, + 3.186756480823874 + ], + [ + 7.170243696732939, + 10.356944691051126 + ], + [ + 31.070834073153378, + 25.49405184659099 + ], + [ + 54.97142444957382, + 38.241022283380744 + ], + [ + 80.46542080965907, + 47.00456099076712 + ], + [ + 105.1627419211647, + 52.58139870383525 + ], + [ + 144.99711470170456, + 54.17474920099437 + ], + [ + 166.50767933238632, + 52.58139870383525 + ], + [ + 179.25459428267044, + 48.59796697443187 + ], + [ + 183.23808149857956, + 43.817804509943244 + ], + [ + 178.45791903409093, + 42.22445401278412 + ], + [ + 178.45791903409093, + 42.22445401278412 + ] + ], + "pressures": [ + 0.1064453125, + 0.14453125, + 0.1904296875, + 0.5205078125, + 0.73046875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.3251953125, + 0.0166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 178.45791903409093, + 42.22445401278412 + ] + }, + { + "id": "H0neTsYFUeN5NnPZ1BmMj", + "type": "freedraw", + "x": 171.59975681057233, + "y": -89.76034605348275, + "width": 164.91421786221588, + "height": 50.988048206676126, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1129312525, + "version": 555, + "versionNonce": 1529263885, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.170243696732939, + 12.747025923295496 + ], + [ + 16.73040216619313, + 21.51056463068187 + ], + [ + 27.884022105823817, + 29.477428089488626 + ], + [ + 42.22439852627838, + 37.444291548295496 + ], + [ + 60.54820667613632, + 44.61447975852275 + ], + [ + 91.61904074928975, + 50.988048206676126 + ], + [ + 112.33287464488637, + 50.19131747159088 + ], + [ + 133.04676402698863, + 45.41115500710225 + ], + [ + 150.573896928267, + 37.444291548295496 + ], + [ + 164.11754261363637, + 30.274103338068244 + ], + [ + 164.91421786221588, + 27.884077592329504 + ], + [ + 162.52419211647725, + 27.884077592329504 + ], + [ + 162.52419211647725, + 27.884077592329504 + ] + ], + "pressures": [ + 0.0947265625, + 0.8642578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9384765625, + 0.302734375, + 0.033203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 162.52419211647725, + 27.884077592329504 + ] + }, + { + "id": "ElUFR2r13-cmJ4FzArAex", + "type": "freedraw", + "x": 201.87386014864046, + "y": -60.28291796399412, + "width": 39.83437278053975, + "height": 36.64761629971599, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2081156003, + "version": 561, + "versionNonce": 1494076483, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -3.983431729403378 + ], + [ + -7.170132723721565, + -7.966863458806756 + ], + [ + -10.356944691051126, + -10.356889204545382 + ], + [ + -14.340376420454504, + -11.950295188210248 + ], + [ + -19.120427911931813, + -11.950295188210248 + ], + [ + -20.713889382102252, + -9.560213955965878 + ], + [ + -20.713889382102252, + -6.373457475142004 + ], + [ + -19.917158647017004, + -1.593350497159122 + ], + [ + -16.730457652698817, + 3.186756480823874 + ], + [ + -13.543701171875, + 7.96686345880687 + ], + [ + -4.780106977982939, + 15.933726917613626 + ], + [ + 1.593350497159122, + 20.713889382102252 + ], + [ + 8.763594193892061, + 23.900645862926126 + ], + [ + 15.933726917613683, + 24.697321111505744 + ], + [ + 18.323808149857996, + 24.697321111505744 + ], + [ + 19.1204833984375, + 23.900645862926126 + ], + [ + 19.1204833984375, + 21.5106201171875 + ], + [ + 16.730457652698874, + 19.1204833984375 + ], + [ + 15.933726917613683, + 18.323808149857996 + ], + [ + 15.933726917613683, + 18.323808149857996 + ] + ], + "pressures": [ + 0.0087890625, + 0.4794921875, + 0.7724609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.49609375, + 0.177734375, + 0.091796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.933726917613683, + 18.323808149857996 + ] + }, + { + "id": "f-s8yot9wjHKCOAbg_dTD", + "type": "freedraw", + "x": 209.04404835886777, + "y": -41.16243456555662, + "width": 71.70188210227269, + "height": 35.05426580255687, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1075107715, + "version": 558, + "versionNonce": 1622560109, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + -0.7966752485795041 + ], + [ + -0.796675248579561, + 0.7967307350852479 + ], + [ + 4.780106977982939, + 3.186756480823874 + ], + [ + 15.933726917613626, + 8.763594193892118 + ], + [ + 25.49399636008519, + 10.35700017755687 + ], + [ + 33.46085981889206, + 10.35700017755687 + ], + [ + 41.427723277698874, + 8.763594193892118 + ], + [ + 50.98799272017044, + 4.780162464488626 + ], + [ + 55.768099698153435, + 2.39013671875 + ], + [ + 60.54826216264206, + -0.7966752485795041 + ], + [ + 64.53169389204544, + -4.780106977982882 + ], + [ + 66.12504438920456, + -9.560158469460248 + ], + [ + 68.51512562144882, + -17.527077414772748 + ], + [ + 68.51512562144882, + -20.713833895596622 + ], + [ + 68.51512562144882, + -23.900590376420382 + ], + [ + 67.71839488636357, + -24.697265625 + ], + [ + 67.71839488636357, + -23.900590376420382 + ], + [ + 67.71839488636357, + -23.900590376420382 + ] + ], + "pressures": [ + 0.0859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.90625, + 0.443359375, + 0.1982421875, + 0.015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 67.71839488636357, + -23.900590376420382 + ] + }, + { + "id": "zLIPIyEY3mCaKKaATvnVl", + "type": "freedraw", + "x": 224.9777752764814, + "y": -50.72259303501687, + "width": 117.11303710937494, + "height": 131.45341352982956, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1498852355, + "version": 576, + "versionNonce": 1722895331, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780106977982939, + 1.5932950106534918 + ], + [ + -7.966863458806813, + 0 + ], + [ + -11.950295188210248, + -4.780217950994256 + ], + [ + -19.91715864701706, + -17.52718838778401 + ], + [ + -24.697265625, + -29.477483575994256 + ], + [ + -27.884022105823874, + -43.81780450994313 + ], + [ + -27.884022105823874, + -62.141668146306756 + ], + [ + -23.90059037642044, + -92.41582697088063 + ], + [ + -16.730402166193187, + -109.14622913707382 + ], + [ + -7.170188210227252, + -122.68993030894882 + ], + [ + 7.170188210227252, + -129.86011851917607 + ], + [ + 27.08740234375, + -129.86011851917607 + ], + [ + 55.768155184659065, + -116.31641734730107 + ], + [ + 70.90520685369319, + -102.77271617542607 + ], + [ + 81.26215154474431, + -87.63560901988632 + ], + [ + 84.44885253906244, + -69.31185635653407 + ], + [ + 74.88863858309657, + -37.444347034801126 + ], + [ + 58.95485617897731, + -19.12053888494313 + ], + [ + 39.03769753196019, + -7.170243696732882 + ], + [ + 17.527132901278435, + -3.186811967329504 + ], + [ + -1.593350497159065, + -4.780217950994256 + ], + [ + -20.713833895596565, + -17.52718838778401 + ], + [ + -27.884022105823874, + -30.274214311079504 + ], + [ + -31.867453835227252, + -43.021184747869256 + ], + [ + -32.6641845703125, + -55.76815518465901 + ], + [ + -31.867453835227252, + -69.31185635653407 + ], + [ + -27.087346857244313, + -82.85555752840907 + ], + [ + -15.137051669034065, + -100.38269042968744 + ], + [ + -6.373457475142061, + -110.73963512073857 + ], + [ + 3.186756480823874, + -119.50311834161926 + ], + [ + 15.933782404119313, + -122.68993030894882 + ], + [ + 24.697321111505687, + -120.2998490767045 + ], + [ + 31.070834073153435, + -115.51968661221588 + ], + [ + 34.25759055397731, + -111.53625488281244 + ], + [ + 34.25759055397731, + -108.34955388849426 + ], + [ + 34.25759055397731, + -108.34955388849426 + ] + ], + "pressures": [ + 0.1494140625, + 0.3876953125, + 0.55078125, + 0.78125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8173828125, + 0.529296875, + 0.3896484375, + 0.23828125, + 0.169921875, + 0.0859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.25759055397731, + -108.34955388849426 + ] + }, + { + "id": "MMRkmAYAq8mToSIQlqhbM", + "type": "freedraw", + "x": 233.74136947037346, + "y": -65.063024941977, + "width": 102.77260520241475, + "height": 130.6566827947443, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1960901901, + "version": 576, + "versionNonce": 281286605, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664809, + 3.983431729403378 + ], + [ + -3.983431729403435, + 4.780106977982882 + ], + [ + -8.763594193892061, + 4.780106977982882 + ], + [ + -15.137051669034122, + -1.593350497159122 + ], + [ + -23.900645862926126, + -17.527077414772748 + ], + [ + -29.477428089488626, + -29.477372602982996 + ], + [ + -33.46085981889206, + -43.02112926136374 + ], + [ + -35.054210316051126, + -57.36145019531256 + ], + [ + -35.054210316051126, + -70.90520685369324 + ], + [ + -26.29067160866481, + -87.63560901988643 + ], + [ + -15.137051669034122, + -97.19582297585231 + ], + [ + 0, + -105.16268643465912 + ], + [ + 16.730402166193187, + -111.53625488281256 + ], + [ + 39.83437278053975, + -113.12954989346593 + ], + [ + 53.37801846590912, + -105.95941716974437 + ], + [ + 62.93828790838063, + -92.41571599786937 + ], + [ + 67.71839488636363, + -71.70188210227275 + ], + [ + 67.71839488636363, + -46.2078857421875 + ], + [ + 58.15818093039775, + -9.560213955965992 + ], + [ + 47.80123623934662, + 7.966863458806756 + ], + [ + 34.25753506747162, + 16.73040216619313 + ], + [ + 17.52707741477269, + 17.527132901278378 + ], + [ + 1.593350497159065, + 10.357000177556756 + ], + [ + -16.730457652698874, + -10.35694469105124 + ], + [ + -23.900645862926126, + -26.290671608664866 + ], + [ + -27.087346857244313, + -43.02112926136374 + ], + [ + -27.88407759232956, + -58.15818093039775 + ], + [ + -26.29067160866481, + -75.68531383167618 + ], + [ + -23.103915127840935, + -83.652177290483 + ], + [ + -19.1204833984375, + -89.2289595170455 + ], + [ + -14.340376420454561, + -94.80579723011368 + ], + [ + -10.356944691051126, + -98.78922895951712 + ], + [ + -6.373512961647748, + -99.58590420809662 + ], + [ + -3.983431729403435, + -97.19582297585231 + ], + [ + -3.983431729403435, + -95.60247247869324 + ], + [ + -3.983431729403435, + -95.60247247869324 + ] + ], + "pressures": [ + 0.0869140625, + 0.2138671875, + 0.3232421875, + 0.4619140625, + 0.5869140625, + 0.82421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.990234375, + 0.9560546875, + 0.947265625, + 0.951171875, + 0.951171875, + 0.9423828125, + 0.8984375, + 0.740234375, + 0.5947265625, + 0.4130859375, + 0.21484375, + 0.1357421875, + 0.029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.983431729403435, + -95.60247247869324 + ] + }, + { + "id": "GFAecebDMzrF7awczRsMk", + "type": "freedraw", + "x": 232.14796348670865, + "y": -65.85970019055662, + "width": 119.50311834161931, + "height": 137.8269264914773, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1486709987, + "version": 575, + "versionNonce": 1594087299, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -27.884022105823817, + -22.307239879261374 + ], + [ + -35.054210316051126, + -44.61447975852275 + ], + [ + -36.64761629971588, + -61.344937411221565 + ], + [ + -36.64761629971588, + -69.31180087002838 + ], + [ + -28.680752840909065, + -93.2124467329545 + ], + [ + -21.510509144176126, + -105.95941716974431 + ], + [ + -11.950295188210191, + -113.92633611505681 + ], + [ + 0, + -116.31630637428975 + ], + [ + 22.30723987926143, + -113.12960537997157 + ], + [ + 36.647616299715935, + -109.14617365056813 + ], + [ + 49.39464222301143, + -102.77266068892044 + ], + [ + 62.14161265980118, + -92.41571599786931 + ], + [ + 72.49855735085231, + -78.07539506392044 + ], + [ + 79.66874556107956, + -50.19131747159088 + ], + [ + 79.66874556107956, + -30.274158824573874 + ], + [ + 70.90520685369319, + -10.356944691051126 + ], + [ + 55.768155184659065, + 7.170188210227252 + ], + [ + 38.24102228338069, + 18.323808149857996 + ], + [ + 7.170188210227309, + 18.323808149857996 + ], + [ + -11.153619939630687, + 7.170188210227252 + ], + [ + -23.90059037642044, + -8.763538707386374 + ], + [ + -32.6641845703125, + -23.900645862926126 + ], + [ + -38.240966796875, + -43.81780450994313 + ], + [ + -39.83437278053975, + -55.768155184659065 + ], + [ + -39.83437278053975, + -68.51507013494313 + ], + [ + -38.240966796875, + -80.46542080965907 + ], + [ + -33.46080433238632, + -90.82236550071019 + ], + [ + -23.90059037642044, + -104.3660111860795 + ], + [ + -15.933726917613626, + -110.73957963423294 + ], + [ + -7.966863458806813, + -115.51968661221588 + ], + [ + -1.593350497159065, + -118.70644309303975 + ], + [ + 3.186756480823874, + -119.50311834161931 + ], + [ + 11.153619939630687, + -114.72301136363632 + ], + [ + 11.950350674715935, + -112.33287464488632 + ], + [ + 11.950350674715935, + -112.33287464488632 + ] + ], + "pressures": [ + 0.109375, + 0.576171875, + 0.90625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8388671875, + 0.701171875, + 0.4580078125, + 0.19921875, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.950350674715935, + -112.33287464488632 + ] + }, + { + "id": "Z_09V4rOsMNw_9qAHaZwq", + "type": "freedraw", + "x": 201.11820628871675, + "y": 209.75781137101598, + "width": 120.29973810369319, + "height": 122.68987482244313, + "angle": 0.134023247636871, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 578432899, + "version": 680, + "versionNonce": 1701418541, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + -7.807516033919427 + ], + [ + -3.983431729403435, + -4.833209447098321 + ], + [ + -6.373457475142061, + -8.551079733770994 + ], + [ + -11.153619939630687, + -18.217563194085876 + ], + [ + -14.340320933948874, + -27.140482954549196 + ], + [ + -17.527077414772748, + -38.29409381456732 + ], + [ + -19.1204833984375, + -51.678447561554876 + ], + [ + -19.91715864701706, + -65.06280130854248 + ], + [ + -14.340320933948874, + -81.4214616423512 + ], + [ + -7.170188210227252, + -91.83145701510303 + ], + [ + 3.186756480823874, + -102.2415559626842 + ], + [ + 16.730457652698874, + -111.1644239357328 + ], + [ + 38.24102228338069, + -115.62590970967176 + ], + [ + 51.78466796874994, + -111.9080394229991 + ], + [ + 66.12504438920456, + -102.2415559626842 + ], + [ + 78.87207031249994, + -91.08794510266608 + ], + [ + 89.22901500355118, + -77.70359135567847 + ], + [ + 95.60247247869319, + -61.34493102186981 + ], + [ + 94.00912198153407, + -31.60191694107354 + ], + [ + 82.85550204190343, + -14.499692907413205 + ], + [ + 66.92177512428981, + -1.8589028602772162 + ], + [ + 37.44434703480118, + 5.57683771306813 + ], + [ + 15.933782404119313, + 3.346094826098698 + ], + [ + -1.593350497159065, + -5.576824934364618 + ], + [ + -12.746970436789752, + -18.217563194085876 + ], + [ + -19.91715864701706, + -32.3454806409251 + ], + [ + -24.697265625, + -54.65270236096131 + ], + [ + -24.697265625, + -65.80631322097943 + ], + [ + -22.307184392755687, + -73.9857210690058 + ], + [ + -17.527077414772748, + -82.16502534220277 + ], + [ + -7.170188210227252, + -97.03650648889362 + ], + [ + 2.390081232244313, + -106.70293816179382 + ], + [ + 11.153619939630687, + -113.39516682270228 + ], + [ + 18.32380814985794, + -116.36947340952338 + ], + [ + 22.307239879261374, + -117.113037109375 + ], + [ + 24.697321111505687, + -117.113037109375 + ], + [ + 25.493996360085248, + -115.62590970967176 + ], + [ + 27.08740234375, + -113.39516682270228 + ], + [ + 27.08740234375, + -113.39516682270228 + ] + ], + "pressures": [ + 0.0625, + 0.1650390625, + 0.20703125, + 0.3994140625, + 0.6318359375, + 0.83203125, + 0.966796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.927734375, + 0.849609375, + 0.8173828125, + 0.7744140625, + 0.7626953125, + 0.7666015625, + 0.7685546875, + 0.7685546875, + 0.7587890625, + 0.71484375, + 0.6357421875, + 0.5068359375, + 0.3955078125, + 0.2734375, + 0.197265625, + 0.158203125, + 0.083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.08740234375, + -113.12960537997157 + ] + }, + { + "id": "GLstMCa4AqkvpRrHSx2KW", + "type": "freedraw", + "x": 268.7955797864246, + "y": -182.17600656484638, + "width": 135.4367897727273, + "height": 238.20956143465912, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1007811917, + "version": 551, + "versionNonce": 809758499, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.170188210227252, + -13.543756658380687 + ], + [ + -16.730402166193187, + -28.680808327414752 + ], + [ + -24.697265625, + -42.22450949928975 + ], + [ + -31.070778586647748, + -47.00461647727275 + ], + [ + -35.850941051136374, + -42.22450949928975 + ], + [ + -44.61447975852275, + -22.30729536576706 + ], + [ + -46.20783025568181, + -0.7967307350852479 + ], + [ + -43.81780450994319, + 29.47737260298294 + ], + [ + -33.46085981889206, + 65.32831365411937 + ], + [ + -6.373457475142004, + 121.09641335227275 + ], + [ + 15.137051669034122, + 149.77716619318187 + ], + [ + 36.64761629971588, + 169.69432484019887 + ], + [ + 53.37807395241475, + 182.44135076349437 + ], + [ + 68.5151811079545, + 189.61153897372162 + ], + [ + 86.83893377130676, + 191.20494495738637 + ], + [ + 89.2289595170455, + 189.61153897372162 + ], + [ + 89.2289595170455, + 189.61153897372162 + ] + ], + "pressures": [ + 0.1103515625, + 0.2060546875, + 0.400390625, + 0.6494140625, + 0.931640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2373046875, + 0.1328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 89.2289595170455, + 189.61153897372162 + ] + }, + { + "id": "g_NgAL27OcidPM4g-lmeY", + "type": "freedraw", + "x": 232.9446387352882, + "y": -159.07214692351113, + "width": 101.17925470525569, + "height": 255.73669433593756, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2140006659, + "version": 554, + "versionNonce": 1502627981, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.5767822265625, + -11.950295188210248 + ], + [ + -6.373457475142061, + -15.136996182528435 + ], + [ + -6.373457475142061, + -31.070778586647748 + ], + [ + -0.796675248579561, + -42.224398526278435 + ], + [ + 10.356944691051126, + -50.987992720170496 + ], + [ + 27.884077592329504, + -55.768099698153435 + ], + [ + 50.19131747159088, + -55.768099698153435 + ], + [ + 81.26215154474437, + -46.2078857421875 + ], + [ + 92.415771484375, + -31.867509321732996 + ], + [ + 94.80579723011363, + -4.780106977982996 + ], + [ + 91.6190962357955, + 35.05426580255681 + ], + [ + 80.46542080965912, + 101.17931019176137 + ], + [ + 71.70188210227275, + 139.42027698863637 + ], + [ + 61.34493741122162, + 167.30435458096588 + ], + [ + 50.19131747159088, + 184.83148748224426 + ], + [ + 40.631103515625, + 195.18837668678975 + ], + [ + 32.6641845703125, + 199.96859463778412 + ], + [ + 31.070834073153378, + 199.96859463778412 + ], + [ + 27.884077592329504, + 193.59502618963063 + ], + [ + 27.884077592329504, + 193.59502618963063 + ] + ], + "pressures": [ + 0.13671875, + 0.3701171875, + 0.4736328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.884765625, + 0.5263671875, + 0.3740234375, + 0.0361328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.884077592329504, + 193.59502618963063 + ] + }, + { + "id": "dYD56oaW7b_XjFkLO6np5", + "type": "freedraw", + "x": 228.96120700588483, + "y": -139.15493278998844, + "width": 82.05877130681819, + "height": 203.1552956321023, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2045764419, + "version": 558, + "versionNonce": 2095059651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186700994318187, + -3.186700994318187 + ], + [ + -3.186700994318187, + -7.9669189453125 + ], + [ + -3.186700994318187, + -15.137051669034065 + ], + [ + 0, + -23.900645862926126 + ], + [ + 3.983431729403378, + -34.25759055397725 + ], + [ + 14.340376420454504, + -50.19131747159088 + ], + [ + 26.290727095170382, + -56.564830433238626 + ], + [ + 40.631103515625, + -59.7515869140625 + ], + [ + 54.971424449573874, + -58.95491166548294 + ], + [ + 73.29523259943176, + -47.004560990767004 + ], + [ + 78.8720703125, + -28.680752840909065 + ], + [ + 78.8720703125, + 0 + ], + [ + 74.88863858309651, + 37.44429154829544 + ], + [ + 68.51512562144887, + 76.48198908025569 + ], + [ + 53.37807395241475, + 121.09646883877843 + ], + [ + 43.021129261363626, + 137.03019575639206 + ], + [ + 32.6641845703125, + 143.4037087180398 + ], + [ + 23.103970614346565, + 142.6070334694602 + ], + [ + 10.356944691051126, + 133.04676402698868 + ], + [ + 4.780162464488626, + 127.46992631392044 + ], + [ + 3.983431729403378, + 125.07990056818181 + ], + [ + 4.780162464488626, + 125.07990056818181 + ], + [ + 6.373512961647691, + 125.87657581676143 + ], + [ + 6.373512961647691, + 125.87657581676143 + ] + ], + "pressures": [ + 0.150390625, + 0.205078125, + 0.2958984375, + 0.478515625, + 0.6806640625, + 0.78515625, + 0.927734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9111328125, + 0.3994140625, + 0.2177734375, + 0.13671875, + 0.064453125, + 0.01171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.373512961647691, + 125.87657581676143 + ] + }, + { + "id": "sfEYI9uzvEzz1M_15DBL7", + "type": "freedraw", + "x": 194.7037274249189, + "y": -92.150427285727, + "width": 205.54532137784088, + "height": 60.54826216264212, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1658889827, + "version": 540, + "versionNonce": 1324461805, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -3.186700994318244 + ], + [ + -3.186811967329561, + -3.9834317294034918 + ], + [ + -0.7967307350852479, + -3.186700994318244 + ], + [ + 11.950295188210248, + -0.7966752485796178 + ], + [ + 33.460804332386374, + 3.1867564808237603 + ], + [ + 81.26204057173294, + 12.747025923295382 + ], + [ + 116.31630637428981, + 19.917214133522634 + ], + [ + 144.99705921519882, + 27.884077592329504 + ], + [ + 166.5076238458807, + 37.444402521306756 + ], + [ + 191.2048894708807, + 50.98799272017038 + ], + [ + 199.96842817826706, + 55.76815518465901 + ], + [ + 201.56188964843744, + 56.564830433238626 + ], + [ + 199.96842817826706, + 55.76815518465901 + ], + [ + 199.96842817826706, + 55.76815518465901 + ] + ], + "pressures": [ + 0.1533203125, + 0.189453125, + 0.3291015625, + 0.388671875, + 0.8662109375, + 1, + 1, + 1, + 1, + 0.85546875, + 0.3564453125, + 0.228515625, + 0.1123046875, + 0.01171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 199.96842817826706, + 55.76815518465901 + ] + }, + { + "id": "iSLRnQPgmUyJT3q-uzPKm", + "type": "freedraw", + "x": 216.21423656909502, + "y": -69.84313191996, + "width": 180.05126953125, + "height": 39.83437278053975, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 762861133, + "version": 540, + "versionNonce": 360104547, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.170188210227252, + -6.373512961647748 + ], + [ + -7.966863458806813, + -7.9669189453125 + ], + [ + -7.966863458806813, + -11.950350674715878 + ], + [ + -3.983431729403378, + -15.137107155539752 + ], + [ + 19.1204833984375, + -19.917214133522748 + ], + [ + 44.61447975852269, + -22.307295365767004 + ], + [ + 71.70188210227269, + -23.900645862926126 + ], + [ + 107.55276766690343, + -19.120538884943244 + ], + [ + 116.31636186079544, + -15.93378240411937 + ], + [ + 138.6236017400568, + -3.186756480823874 + ], + [ + 152.1673029119318, + 5.5767822265625 + ], + [ + 163.3208673650568, + 11.950295188210248 + ], + [ + 172.0844060724432, + 15.933726917613626 + ], + [ + 172.0844060724432, + 15.933726917613626 + ] + ], + "pressures": [ + 0.14453125, + 0.2177734375, + 0.28125, + 0.431640625, + 0.666015625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.83203125, + 0.35546875, + 0.1552734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 172.0844060724432, + 15.933726917613626 + ] + }, + { + "id": "8DKgpF9Kp5RpUYTUzjSpR", + "type": "freedraw", + "x": 214.62088607193596, + "y": -108.88082945192025, + "width": 187.22145774147725, + "height": 60.54820667613632, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 725131267, + "version": 544, + "versionNonce": 873941325, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.576837713068187, + 1.593350497159122 + ], + [ + -10.356944691051126, + 6.373512961647748 + ], + [ + -11.950295188210248, + 7.170188210227252 + ], + [ + -13.543701171875, + 7.170188210227252 + ], + [ + -12.747025923295496, + 9.560213955965878 + ], + [ + -5.576837713068187, + 15.933726917613626 + ], + [ + 8.763538707386374, + 26.290727095170496 + ], + [ + 38.240966796875, + 38.241022283380744 + ], + [ + 56.56477494673288, + 41.427723277698874 + ], + [ + 75.68525834517038, + 43.021129261363626 + ], + [ + 96.39914772727275, + 40.63104802911937 + ], + [ + 118.70638760653412, + 34.25759055397725 + ], + [ + 151.37051669034088, + 16.730402166193244 + ], + [ + 167.30435458096588, + 2.39008123224437 + ], + [ + 173.67775656960225, + -11.153619939630687 + ], + [ + 171.28773082386363, + -17.52707741477269 + ], + [ + 168.10102982954538, + -17.52707741477269 + ], + [ + 168.10102982954538, + -17.52707741477269 + ] + ], + "pressures": [ + 0.0224609375, + 0.080078125, + 0.1591796875, + 0.193359375, + 0.2822265625, + 0.4951171875, + 0.6552734375, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.677734375, + 0.1591796875, + 0.01953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 168.10102982954538, + -17.52707741477269 + ] + }, + { + "id": "-lUMPepts_2BI9_YXUpC9", + "type": "freedraw", + "x": 211.43412959111208, + "y": -88.166940069818, + "width": 172.08446155894887, + "height": 48.59785600142044, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 804790125, + "version": 541, + "versionNonce": 852917763, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390025745738626, + 6.373457475142118 + ], + [ + 10.356889204545439, + 8.763538707386374 + ], + [ + 22.307239879261374, + 10.356889204545496 + ], + [ + 37.44429154829544, + 10.356889204545496 + ], + [ + 67.71839488636363, + 9.560269442471622 + ], + [ + 91.61904074928975, + 4.780106977982996 + ], + [ + 116.31630637428975, + -2.390025745738626 + ], + [ + 141.01368297230113, + -10.356889204545382 + ], + [ + 160.134110884233, + -19.12053888494313 + ], + [ + 172.08446155894887, + -27.884077592329504 + ], + [ + 171.28778631036926, + -31.86750932173294 + ], + [ + 165.71094859730113, + -35.85094105113632 + ], + [ + 159.33743563565338, + -38.24096679687494 + ], + [ + 156.94740988991475, + -38.24096679687494 + ], + [ + 156.94740988991475, + -38.24096679687494 + ] + ], + "pressures": [ + 0.0693359375, + 0.5537109375, + 0.798828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8740234375, + 0.3994140625, + 0.18359375, + 0.00390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 156.94740988991475, + -38.24096679687494 + ] + }, + { + "id": "wZgEZaba_yUDEO3rqKE28", + "type": "freedraw", + "x": 206.65402261312914, + "y": -98.52382927436338, + "width": 168.10102982954544, + "height": 43.81780450994319, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2048187085, + "version": 543, + "versionNonce": 1784321965, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159065, + 0.796619762073874 + ], + [ + 7.170132723721565, + 3.18670099431813 + ], + [ + 15.136996182528378, + 6.373401988636374 + ], + [ + 38.240966796875, + 12.746914950284008 + ], + [ + 58.15812544389206, + 18.323752663352252 + ], + [ + 78.0753395774147, + 19.917158647017004 + ], + [ + 97.99249822443181, + 19.917158647017004 + ], + [ + 117.90971235795456, + 17.527021928267004 + ], + [ + 144.20032848011357, + 10.356889204545382 + ], + [ + 156.94735440340907, + 6.373401988636374 + ], + [ + 164.91421786221593, + 1.593295010653378 + ], + [ + 168.10102982954544, + -4.78021795099437 + ], + [ + 166.50756835937494, + -14.340431906960248 + ], + [ + 162.5241921164772, + -20.713944868607996 + ], + [ + 160.13416637073857, + -23.900645862926183 + ], + [ + 158.5407049005682, + -23.900645862926183 + ], + [ + 158.5407049005682, + -23.900645862926183 + ] + ], + "pressures": [ + 0.025390625, + 0.3955078125, + 0.7626953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4912109375, + 0.244140625, + 0.1396484375, + 0.0634765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 158.5407049005682, + -23.900645862926183 + ] + }, + { + "id": "duTVAT4YNhqQBcQlhsqRq", + "type": "freedraw", + "x": 217.01091181767458, + "y": -100.91396599311338, + "width": 162.52419211647725, + "height": 50.987992720170496, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1555184781, + "version": 540, + "versionNonce": 1878902179, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 4.780106977982882 + ], + [ + 13.543701171875, + 16.730457652698874 + ], + [ + 28.680752840909065, + 23.900645862926126 + ], + [ + 38.24102228338063, + 27.884077592329504 + ], + [ + 61.34493741122162, + 33.460859818892004 + ], + [ + 97.9925537109375, + 35.850941051136374 + ], + [ + 117.113037109375, + 30.274158824573874 + ], + [ + 132.25008877840912, + 20.713889382102252 + ], + [ + 144.9971147017045, + 9.560269442471508 + ], + [ + 153.76065340909088, + -2.39008123224437 + ], + [ + 161.72751686789775, + -13.54364568536937 + ], + [ + 162.52419211647725, + -15.137051669034122 + ], + [ + 161.72751686789775, + -14.340376420454618 + ], + [ + 161.72751686789775, + -14.340376420454618 + ] + ], + "pressures": [ + 0.0634765625, + 0.8662109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.666015625, + 0.349609375, + 0.107421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 161.72751686789775, + -14.340376420454618 + ] + }, + { + "id": "WpKD9g0t7gkj5yfpL-sGA", + "type": "freedraw", + "x": 195.50034718699277, + "y": -92.150427285727, + "width": 200.7651589133522, + "height": 66.12504438920456, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1084227011, + "version": 544, + "versionNonce": 1810176525, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + 0 + ], + [ + -2.390025745738626, + 0.7967307350851343 + ], + [ + -0.796619762073874, + 3.9834872159090082 + ], + [ + 2.390081232244313, + 7.170188210227252 + ], + [ + 9.560269442471565, + 12.747025923295382 + ], + [ + 18.32380814985794, + 17.52718838778401 + ], + [ + 33.46085981889206, + 22.307295365767004 + ], + [ + 53.37807395241475, + 24.69732111150563 + ], + [ + 74.09196333451706, + 23.10397061434651 + ], + [ + 108.34949840198857, + 15.137107155539752 + ], + [ + 132.25008877840907, + 6.373512961647634 + ], + [ + 155.35400390624994, + -4.780106977982996 + ], + [ + 176.8645685369318, + -17.527077414772748 + ], + [ + 190.4082697088068, + -28.680697354403435 + ], + [ + 198.37513316761357, + -39.03764204545462 + ], + [ + 197.57845791903407, + -41.42772327769893 + ], + [ + 194.39175692471593, + -41.42772327769893 + ], + [ + 194.39175692471593, + -41.42772327769893 + ] + ], + "pressures": [ + 0.060546875, + 0.1162109375, + 0.177734375, + 0.2109375, + 0.255859375, + 0.5078125, + 0.90625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.580078125, + 0.203125, + 0.0703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 194.39175692471593, + -41.42772327769893 + ] + }, + { + "id": "jl3Bu55OpCSnB8b5bxMtW", + "type": "freedraw", + "x": 200.2805096514814, + "y": -94.54039754496, + "width": 194.39175692471588, + "height": 49.39458673650569, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1411329453, + "version": 542, + "versionNonce": 68884803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983487215909065, + 0 + ], + [ + 0.796675248579561, + 3.18670099431813 + ], + [ + 11.153619939630687, + 7.966863458806756 + ], + [ + 35.054210316051126, + 15.136996182528378 + ], + [ + 55.768099698153435, + 16.7303466796875 + ], + [ + 78.07533957741481, + 17.527077414772748 + ], + [ + 102.77266068892044, + 16.7303466796875 + ], + [ + 126.67325106534093, + 14.340320933948874 + ], + [ + 160.13416637073868, + 7.170132723721622 + ], + [ + 176.8645685369318, + 0 + ], + [ + 187.2214577414773, + -7.9669189453125 + ], + [ + 190.4082697088068, + -15.137107155539752 + ], + [ + 189.6115944602273, + -23.900645862926126 + ], + [ + 186.4247824928977, + -29.477483575994313 + ], + [ + 184.03475674715907, + -31.86750932173294 + ], + [ + 184.03475674715907, + -31.86750932173294 + ] + ], + "pressures": [ + 0.0224609375, + 0.1826171875, + 0.8349609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3076171875, + 0.150390625, + 0.03515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 184.03475674715907, + -31.86750932173294 + ] + }, + { + "id": "YwLoTtt1tZXz0WLO-EXNa", + "type": "freedraw", + "x": 295.8829821301746, + "y": -219.6203535996475, + "width": 101.17931019176137, + "height": 242.98969615589482, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 387162275, + "version": 544, + "versionNonce": 833638509, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -7.170188210227252 + ], + [ + -21.51056463068187, + -19.120511141690372 + ], + [ + -25.493996360085248, + -20.713889382102252 + ], + [ + -34.25759055397725, + -22.30726762251419 + ], + [ + -42.22445401278412, + -21.510592373934685 + ], + [ + -50.191317471590935, + -15.933782404119313 + ], + [ + -56.564830433238626, + -1.593405983664752 + ], + [ + -58.95485617897725, + 37.444347034801126 + ], + [ + -56.564830433238626, + 72.49850186434657 + ], + [ + -50.191317471590935, + 109.94284889914775 + ], + [ + -35.05426580255687, + 162.52419211647725 + ], + [ + -20.713889382102252, + 188.0181884765625 + ], + [ + -2.39008123224437, + 205.54532137784088 + ], + [ + 16.73040216619313, + 215.10553533380676 + ], + [ + 34.25753506747162, + 219.8856977982955 + ], + [ + 42.22445401278412, + 220.68242853338063 + ], + [ + 42.22445401278412, + 219.8856977982955 + ], + [ + 42.22445401278412, + 219.8856977982955 + ] + ], + "pressures": [ + 0.0830078125, + 0.1533203125, + 0.3369140625, + 0.4111328125, + 0.58203125, + 0.73046875, + 0.8662109375, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4267578125, + 0.1181640625, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.22445401278412, + 219.8856977982955 + ] + }, + { + "id": "iD3CCLto9WnnNXuACGiBr", + "type": "freedraw", + "x": 264.0154728084416, + "y": -202.8899514334543, + "width": 126.67325106534088, + "height": 224.66586026278412, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1804186435, + "version": 545, + "versionNonce": 1015871715, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -6.373512961647748 + ], + [ + -3.983431729403378, + -13.543701171875 + ], + [ + -5.57683771306813, + -15.137051669034122 + ], + [ + -10.356944691051126, + -16.730402166193187 + ], + [ + -20.713889382102252, + -14.340376420454561 + ], + [ + -29.477428089488626, + -7.170188210227309 + ], + [ + -36.64761629971588, + 3.983431729403378 + ], + [ + -40.631048029119256, + 20.71394486860794 + ], + [ + -39.83437278053975, + 57.36150568181819 + ], + [ + -28.680752840909065, + 90.02569025213069 + ], + [ + -8.763538707386374, + 129.0633322975852 + ], + [ + 15.137051669034122, + 164.91427334872157 + ], + [ + 35.05426580255687, + 188.0182439630682 + ], + [ + 54.971424449573874, + 202.35856489701706 + ], + [ + 65.328369140625, + 205.54532137784093 + ], + [ + 77.27866432883525, + 207.93545809659093 + ], + [ + 84.4488525390625, + 207.93545809659093 + ], + [ + 86.04220303622162, + 207.93545809659093 + ], + [ + 86.04220303622162, + 207.93545809659093 + ] + ], + "pressures": [ + 0.0947265625, + 0.12890625, + 0.2138671875, + 0.2470703125, + 0.39453125, + 0.599609375, + 0.69921875, + 0.8076171875, + 0.853515625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8466796875, + 0.384765625, + 0.14453125, + 0.0380859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 86.04220303622162, + 207.93545809659093 + ] + }, + { + "id": "RxNGnwBnKVOXOfEfiRojd", + "type": "freedraw", + "x": 239.31815169693596, + "y": -37.179002836153245, + "width": 159.33749112215907, + "height": 74.88858309659088, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 59875885, + "version": 539, + "versionNonce": 1501936333, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 7.9669189453125 + ], + [ + -6.373512961647748, + 9.560269442471622 + ], + [ + -7.170188210227309, + 7.9669189453125 + ], + [ + -7.170188210227309, + 0.7967307350852479 + ], + [ + -1.593350497159122, + -15.137051669034008 + ], + [ + 9.560269442471565, + -27.087346857244256 + ], + [ + 25.493996360085248, + -39.83431729403401 + ], + [ + 47.004560990767004, + -52.581343217329504 + ], + [ + 72.49855735085225, + -61.344826438210134 + ], + [ + 111.53619939630676, + -65.32831365411926 + ], + [ + 132.25008877840912, + -62.141612659801126 + ], + [ + 144.9971147017045, + -57.361394708806756 + ], + [ + 150.57395241477275, + -54.174693714488626 + ], + [ + 152.16730291193176, + -51.78466796875 + ], + [ + 152.16730291193176, + -51.78466796875 + ] + ], + "pressures": [ + 0.0849609375, + 0.1455078125, + 0.2490234375, + 0.291015625, + 0.3515625, + 0.712890625, + 0.8662109375, + 1, + 1, + 1, + 1, + 0.669921875, + 0.31640625, + 0.19140625, + 0.0908203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 152.16730291193176, + -51.78466796875 + ] + }, + { + "id": "mJQWbij49x5WmMvDJ0DBu", + "type": "freedraw", + "x": 231.35128823812914, + "y": -56.299486234590745, + "width": 188.01818847656244, + "height": 108.34944291548288, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1080798573, + "version": 537, + "versionNonce": 920773763, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 0 + ], + [ + -7.170188210227309, + 0 + ], + [ + -11.950295188210248, + -1.5933504971590082 + ], + [ + 52.58134321732956, + -15.933726917613626 + ], + [ + 85.24552778764206, + -23.900590376420382 + ], + [ + 106.75614790482956, + -34.25747958096588 + ], + [ + 141.01362748579544, + -56.56477494673288 + ], + [ + 159.33749112215907, + -72.4985573508522 + ], + [ + 170.49105557528407, + -85.245527787642 + ], + [ + 176.0678932883522, + -93.21239124644882 + ], + [ + 176.0678932883522, + -101.17925470525563 + ], + [ + 170.49105557528407, + -108.34944291548288 + ], + [ + 170.49105557528407, + -108.34944291548288 + ] + ], + "pressures": [ + 0.078125, + 0.1044921875, + 0.1513671875, + 0.2763671875, + 1, + 1, + 1, + 1, + 1, + 0.9453125, + 0.54296875, + 0.2255859375, + 0.0634765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 170.49105557528407, + -108.34944291548288 + ] + }, + { + "id": "ilqH0scsrR4QV3iQxllXQ", + "type": "freedraw", + "x": 264.8121480570212, + "y": -72.23321315220437, + "width": 36.647616299715935, + "height": 32.6641845703125, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2078259523, + "version": 544, + "versionNonce": 201251117, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.9834317294034918, + 0.7966752485796178 + ], + [ + -6.373512961647748, + 1.5934059836648657 + ], + [ + -10.356944691051126, + 1.5934059836648657 + ], + [ + -15.137051669034122, + 3.186756480823874 + ], + [ + -20.713833895596622, + 5.576837713068244 + ], + [ + -25.493996360085248, + 9.560269442471622 + ], + [ + -26.29067160866481, + 11.153619939630744 + ], + [ + -26.29067160866481, + 12.746970436789866 + ], + [ + -26.29067160866481, + 15.137051669034122 + ], + [ + -23.900590376420496, + 19.1204833984375 + ], + [ + -20.713833895596622, + 22.307239879261374 + ], + [ + -16.730402166193244, + 25.49405184659099 + ], + [ + -10.356944691051126, + 28.680752840909122 + ], + [ + -3.9834317294034918, + 31.070778586647748 + ], + [ + 3.186756480823874, + 32.6641845703125 + ], + [ + 6.373512961647634, + 32.6641845703125 + ], + [ + 7.966863458806756, + 32.6641845703125 + ], + [ + 9.560269442471508, + 32.6641845703125 + ], + [ + 10.356944691051126, + 30.274103338068244 + ], + [ + 8.763594193892004, + 27.08734685724437 + ], + [ + 6.373512961647634, + 26.290671608664866 + ], + [ + 6.373512961647634, + 26.290671608664866 + ] + ], + "pressures": [ + 0.095703125, + 0.626953125, + 0.7587890625, + 0.9619140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.75, + 0.306640625, + 0.1083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.373512961647634, + 26.290671608664866 + ] + }, + { + "id": "4OuIdVF1G3KrafopZ05Dm", + "type": "freedraw", + "x": 252.86185286881096, + "y": -61.876268461153245, + "width": 38.240966796875, + "height": 20.713944868607996, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 141397293, + "version": 541, + "versionNonce": 1524128803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + -0.7966752485795041 + ], + [ + -2.390081232244313, + -1.593405983664752 + ], + [ + -6.373512961647748, + -1.593405983664752 + ], + [ + -10.356944691051126, + -1.593405983664752 + ], + [ + -13.543701171875, + 0 + ], + [ + -15.137051669034122, + 1.593350497159122 + ], + [ + -15.137051669034122, + 5.5767822265625 + ], + [ + -15.137051669034122, + 7.96686345880687 + ], + [ + -13.543701171875, + 9.560213955965992 + ], + [ + -10.356944691051126, + 12.746970436789866 + ], + [ + -1.593405983664809, + 16.730402166193244 + ], + [ + 3.983431729403378, + 18.323808149857996 + ], + [ + 8.763538707386374, + 19.120538884943244 + ], + [ + 12.746970436789752, + 19.120538884943244 + ], + [ + 15.137051669034122, + 19.120538884943244 + ], + [ + 19.1204833984375, + 18.323808149857996 + ], + [ + 21.510564630681756, + 17.527077414772748 + ], + [ + 23.103915127840878, + 16.730402166193244 + ], + [ + 23.103915127840878, + 16.730402166193244 + ] + ], + "pressures": [ + 0.04296875, + 0.5888671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8896484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.103915127840878, + 16.730402166193244 + ] + }, + { + "id": "QyF0_kFYqUlMQhn5vYDXg", + "type": "freedraw", + "x": 259.2353658304587, + "y": -139.95166352507363, + "width": 62.93828790838069, + "height": 157.7440851384943, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 705331779, + "version": 545, + "versionNonce": 579152781, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.9834317294034918, + -10.356889204545496 + ], + [ + -4.780162464488626, + -13.543645685369313 + ], + [ + -6.373512961647748, + -17.527077414772748 + ], + [ + -7.170188210227309, + -27.087346857244313 + ], + [ + -6.373512961647748, + -44.61447975852275 + ], + [ + -3.186756480823874, + -54.174693714488626 + ], + [ + 1.5933504971590082, + -60.548206676136374 + ], + [ + 10.356944691051126, + -61.344881924715935 + ], + [ + 29.477428089488626, + -54.174693714488626 + ], + [ + 42.22439852627838, + -43.021073774857996 + ], + [ + 50.191261985085134, + -28.680697354403435 + ], + [ + 54.971424449573874, + -10.356889204545496 + ], + [ + 55.76809969815338, + 14.340376420454504 + ], + [ + 50.191261985085134, + 54.174749200994256 + ], + [ + 43.81780450994313, + 73.2952880859375 + ], + [ + 34.25753506747151, + 85.24563876065338 + ], + [ + 23.900590376420382, + 92.415771484375 + ], + [ + 10.356944691051126, + 96.39920321377838 + ], + [ + 5.5767822265625, + 96.39920321377838 + ], + [ + 4.780106977982882, + 96.39920321377838 + ], + [ + 7.170188210227252, + 94.80579723011363 + ], + [ + 8.763538707386374, + 92.415771484375 + ], + [ + 8.763538707386374, + 92.415771484375 + ] + ], + "pressures": [ + 0.115234375, + 0.28125, + 0.369140625, + 0.47265625, + 0.7587890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8642578125, + 0.744140625, + 0.21484375, + 0.0888671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.763538707386374, + 92.415771484375 + ] + }, + { + "id": "TGxmhkV-radKp7-ty3vXj", + "type": "freedraw", + "x": 267.20222928926546, + "y": -152.69863396186344, + "width": 39.037697531960134, + "height": 137.82687100497162, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1560486797, + "version": 550, + "versionNonce": 341761987, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -6.373512961647691 + ], + [ + -2.390081232244256, + -12.747025923295439 + ], + [ + -2.390081232244256, + -19.91721413352269 + ], + [ + -2.390081232244256, + -26.290671608664752 + ], + [ + -2.390081232244256, + -31.86750932173294 + ], + [ + -2.390081232244256, + -34.257535067471565 + ], + [ + 0, + -33.460859818892004 + ], + [ + 5.5767822265625, + -28.680752840909065 + ], + [ + 15.137051669034122, + -18.32380814985794 + ], + [ + 21.51056463068187, + -8.763594193892004 + ], + [ + 27.884022105823874, + 4.780106977982996 + ], + [ + 32.6641845703125, + 23.103915127840935 + ], + [ + 35.850941051136374, + 46.20788574218756 + ], + [ + 36.64761629971588, + 68.51512562144893 + ], + [ + 34.25753506747162, + 94.00912198153407 + ], + [ + 29.477428089488626, + 101.17931019176143 + ], + [ + 23.900590376420496, + 103.56933593750006 + ], + [ + 15.137051669034122, + 103.56933593750006 + ], + [ + 8.763538707386374, + 100.38257945667618 + ], + [ + 3.186756480823874, + 96.39914772727269 + ], + [ + 0, + 92.41571599786931 + ], + [ + -1.593405983664752, + 90.82236550071019 + ], + [ + -1.593405983664752, + 89.22895951704544 + ], + [ + -1.593405983664752, + 84.44885253906256 + ], + [ + -0.7966752485795041, + 82.05882679332393 + ], + [ + 0, + 81.26209605823868 + ], + [ + 0.7966752485796178, + 82.05882679332393 + ], + [ + 0.7966752485796178, + 82.05882679332393 + ] + ], + "pressures": [ + 0.01953125, + 0.125, + 0.1875, + 0.2734375, + 0.4169921875, + 0.57421875, + 0.677734375, + 0.7890625, + 0.927734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.642578125, + 0.349609375, + 0.26171875, + 0.0087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.7966752485796178, + 82.05882679332393 + ] + }, + { + "id": "8zOTYFt-JaQ2yq_4UZ6Ot", + "type": "freedraw", + "x": 229.75793774097002, + "y": -77.01332013018725, + "width": 159.33743563565343, + "height": 75.68531383167618, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1962759981, + "version": 543, + "versionNonce": 223490541, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + 0.7966752485795041 + ], + [ + -7.9669189453125, + 1.5933504971590082 + ], + [ + -9.560269442471565, + 3.983431729403378 + ], + [ + -10.356944691051126, + 5.5767822265625 + ], + [ + -10.356944691051126, + 6.373512961647748 + ], + [ + -9.560269442471565, + 6.373512961647748 + ], + [ + -0.7967307350851911, + 7.966863458806756 + ], + [ + 9.560213955965935, + 9.560213955965878 + ], + [ + 23.103915127840935, + 11.950295188210248 + ], + [ + 37.44429154829544, + 11.950295188210248 + ], + [ + 54.17469371448868, + 10.356944691051126 + ], + [ + 78.87201482599431, + 1.5933504971590082 + ], + [ + 91.61904074928981, + -4.780162464488626 + ], + [ + 104.36601118607956, + -13.54364568536937 + ], + [ + 121.09641335227269, + -27.884077592329618 + ], + [ + 143.40365323153407, + -50.191317471590935 + ], + [ + 148.9804909446023, + -58.15818093039775 + ], + [ + 148.9804909446023, + -61.344881924715935 + ], + [ + 144.99711470170456, + -62.938343394886374 + ], + [ + 143.40365323153407, + -63.735018643465935 + ], + [ + 143.40365323153407, + -63.735018643465935 + ] + ], + "pressures": [ + 0.0595703125, + 0.0859375, + 0.1884765625, + 0.2626953125, + 0.37890625, + 0.4912109375, + 0.712890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.697265625, + 0.1826171875, + 0.07421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 143.40365323153407, + -63.735018643465935 + ] + }, + { + "id": "ckz9o0Ln_-zUD_DjpDfXU", + "type": "freedraw", + "x": 311.8167090477882, + "y": -82.59010235674975, + "width": 35.850941051136374, + "height": 34.25753506747162, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2122988035, + "version": 539, + "versionNonce": 1301540707, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + -3.186811967329618 + ], + [ + 3.186756480823874, + -3.9834317294034918 + ], + [ + 6.373512961647748, + -4.780162464488626 + ], + [ + 11.950295188210248, + -5.576837713068244 + ], + [ + 14.340376420454504, + -4.780162464488626 + ], + [ + 15.933726917613626, + -3.186811967329618 + ], + [ + 16.730457652698874, + -1.593405983664752 + ], + [ + 16.730457652698874, + 0.796619762073874 + ], + [ + 15.137051669034122, + 7.170132723721508 + ], + [ + 11.950295188210248, + 11.950295188210248 + ], + [ + 6.373512961647748, + 15.933726917613626 + ], + [ + 0, + 19.917158647017004 + ], + [ + -6.373512961647748, + 23.900590376420382 + ], + [ + -15.137051669034122, + 27.087291370738626 + ], + [ + -18.323808149857996, + 28.680697354403378 + ], + [ + -19.1204833984375, + 28.680697354403378 + ], + [ + -18.323808149857996, + 28.680697354403378 + ], + [ + -16.730457652698874, + 27.087291370738626 + ], + [ + -16.730457652698874, + 27.087291370738626 + ] + ], + "pressures": [ + 0.123046875, + 0.8173828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.228515625, + 0.1162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -16.730457652698874, + 27.087291370738626 + ] + }, + { + "id": "7Oh8Vwxtmx36ddhs7z_cB", + "type": "freedraw", + "x": 319.7835725065951, + "y": -86.57353408615324, + "width": 42.22445401278412, + "height": 36.64756081321025, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1923486413, + "version": 543, + "versionNonce": 2037345357, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -5.57689319957376 + ], + [ + -0.7966752485796178, + -6.373568448153378 + ], + [ + 0.7966752485795041, + -7.170243696732882 + ], + [ + 3.1867564808237603, + -7.966863458806756 + ], + [ + 7.170188210227252, + -7.966863458806756 + ], + [ + 10.356944691051126, + -7.966863458806756 + ], + [ + 15.137051669034008, + -5.57689319957376 + ], + [ + 17.52718838778401, + -3.186811967329504 + ], + [ + 18.323863636363626, + -0.7967307350851343 + ], + [ + 19.12053888494313, + 1.5932950106534918 + ], + [ + 18.323863636363626, + 5.57672674005687 + ], + [ + 11.950295188210134, + 13.54364568536937 + ], + [ + 6.373512961647634, + 19.12042791193187 + ], + [ + 0.7966752485795041, + 23.103859641335248 + ], + [ + -8.763538707386374, + 26.290616122159122 + ], + [ + -14.340376420454618, + 27.08729137073874 + ], + [ + -19.1204833984375, + 27.08729137073874 + ], + [ + -21.51056463068187, + 27.08729137073874 + ], + [ + -23.10391512784099, + 27.884022105823874 + ], + [ + -23.10391512784099, + 28.68069735440349 + ], + [ + -22.307239879261374, + 28.68069735440349 + ], + [ + -21.51056463068187, + 28.68069735440349 + ], + [ + -21.51056463068187, + 28.68069735440349 + ] + ], + "pressures": [ + 0.1259765625, + 0.6826171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.40625, + 0.1533203125, + 0.0078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -21.51056463068187, + 28.68069735440349 + ] + }, + { + "id": "8GMGv2-mNj6PWX7BjmZdg", + "type": "freedraw", + "x": 317.8776912368199, + "y": -85.49854669212692, + "width": 41.427778764204504, + "height": 42.224343039772634, + "angle": 0.134023247636871, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 783533731, + "version": 556, + "versionNonce": 684067587, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + -2.39013671875 + ], + [ + 1.5933504971590082, + -3.983431729403378 + ], + [ + 3.983431729403378, + -4.780162464488626 + ], + [ + 5.5767822265625, + -5.576893199573874 + ], + [ + 8.763538707386374, + -7.170243696732882 + ], + [ + 13.543645685369256, + -7.966863458806756 + ], + [ + 15.136996182528378, + -7.966863458806756 + ], + [ + 16.730457652698874, + -7.966863458806756 + ], + [ + 18.323808149857882, + -4.780162464488626 + ], + [ + 18.323808149857882, + -1.5934614701703822 + ], + [ + 16.730457652698874, + 2.390025745738626 + ], + [ + 12.746970436789752, + 7.170132723721622 + ], + [ + 7.966863458806756, + 11.950295188210248 + ], + [ + 2.390025745738626, + 17.527077414772748 + ], + [ + -5.576837713068244, + 25.493940873579618 + ], + [ + -11.153619939630744, + 29.477372602982996 + ], + [ + -15.93378240411937, + 32.66412908380687 + ], + [ + -19.120538884943244, + 33.460804332386374 + ], + [ + -22.307239879261374, + 34.25747958096588 + ], + [ + -23.103970614346622, + 34.25747958096588 + ], + [ + -23.103970614346622, + 32.66412908380687 + ], + [ + -23.103970614346622, + 32.66412908380687 + ] + ], + "pressures": [ + 0.1416015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1611328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.103970614346622, + 32.66412908380687 + ] + }, + { + "id": "8lHryCrwETnuk9cfIBqZN", + "type": "freedraw", + "x": 296.6796573787541, + "y": -59.486242715414505, + "width": 59.7515869140625, + "height": 15.933726917613626, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 424430115, + "version": 537, + "versionNonce": 917920429, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.39008123224437, + 0 + ], + [ + 0.7966752485796178, + 0 + ], + [ + -2.390081232244256, + 0 + ], + [ + -6.373512961647748, + 0.7967307350851343 + ], + [ + -15.137051669034008, + 0.7967307350851343 + ], + [ + -22.307239879261374, + 0.7967307350851343 + ], + [ + -29.477428089488626, + 0 + ], + [ + -36.64761629971588, + -1.593350497159122 + ], + [ + -44.61447975852269, + -3.186700994318244 + ], + [ + -48.597911487926126, + -3.9834317294034918 + ], + [ + -50.98799272017044, + -4.780106977982996 + ], + [ + -53.37807395241475, + -5.5767822265625 + ], + [ + -54.97142444957382, + -7.170132723721622 + ], + [ + -56.564830433238626, + -9.560213955965992 + ], + [ + -57.36150568181813, + -11.153564453125 + ], + [ + -57.36150568181813, + -12.746970436789866 + ], + [ + -57.36150568181813, + -14.340376420454618 + ], + [ + -57.36150568181813, + -15.136996182528492 + ], + [ + -56.564830433238626, + -15.136996182528492 + ], + [ + -56.564830433238626, + -15.136996182528492 + ] + ], + "pressures": [ + 0.0478515625, + 0.576171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.98828125, + 0.7587890625, + 0.3486328125, + 0.076171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -56.564830433238626, + -15.136996182528492 + ] + }, + { + "id": "ggKxLTmMPRsiTRMD1JtKD", + "type": "freedraw", + "x": 236.92812595119733, + "y": -70.6398071685395, + "width": 75.68525834517038, + "height": 18.323808149857996, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1488214381, + "version": 538, + "versionNonce": 2054402723, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390025745738626, + 3.18670099431813 + ], + [ + 7.966863458806813, + 7.966863458806756 + ], + [ + 11.15361993963063, + 10.356889204545382 + ], + [ + 15.933726917613626, + 11.950295188210134 + ], + [ + 20.71383389559651, + 13.543645685369256 + ], + [ + 27.087346857244256, + 14.34032093394876 + ], + [ + 37.44429154829538, + 16.73040216619313 + ], + [ + 44.61447975852275, + 16.73040216619313 + ], + [ + 49.39458673650563, + 16.73040216619313 + ], + [ + 53.37801846590901, + 15.933782404119256 + ], + [ + 57.3614501953125, + 15.136996182528378 + ], + [ + 63.73496315696025, + 13.543645685369256 + ], + [ + 67.71839488636363, + 11.950295188210134 + ], + [ + 70.10847611860788, + 10.356889204545382 + ], + [ + 71.701826615767, + 8.76353870738626 + ], + [ + 74.09190784801137, + 4.780106977982882 + ], + [ + 74.88858309659088, + 1.5933504971590082 + ], + [ + 75.68525834517038, + -0.7967307350852479 + ], + [ + 75.68525834517038, + -1.5934059836648657 + ], + [ + 75.68525834517038, + -0.7967307350852479 + ], + [ + 75.68525834517038, + -0.7967307350852479 + ] + ], + "pressures": [ + 0.0439453125, + 0.3828125, + 0.625, + 0.734375, + 0.859375, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.8154296875, + 0.6220703125, + 0.380859375, + 0.1025390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 75.68525834517038, + -0.7967307350852479 + ] + }, + { + "id": "KWtkcayf_z-gsTyBz8gGs", + "type": "freedraw", + "x": 301.4597643567371, + "y": -58.68951198032937, + "width": 61.34488192471588, + "height": 23.104026100852252, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 801830829, + "version": 536, + "versionNonce": 1573944589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + 0 + ], + [ + -1.593350497159122, + 0.7966752485796178 + ], + [ + -3.983431729403378, + 2.390025745738626 + ], + [ + -7.170188210227252, + 3.186700994318244 + ], + [ + -14.340376420454504, + 3.983487215909122 + ], + [ + -19.917158647017004, + 3.983487215909122 + ], + [ + -25.493996360085248, + 3.983487215909122 + ], + [ + -31.070778586647748, + 3.186700994318244 + ], + [ + -35.850941051136374, + 0.7966752485796178 + ], + [ + -42.22439852627838, + -3.186756480823874 + ], + [ + -47.004560990767004, + -6.373512961647634 + ], + [ + -50.98799272017044, + -10.356944691051126 + ], + [ + -54.17474920099431, + -15.137107155539752 + ], + [ + -57.3614501953125, + -19.12053888494313 + ], + [ + -58.15818093039775, + -19.12053888494313 + ], + [ + -58.95485617897725, + -19.12053888494313 + ], + [ + -59.75153142755681, + -19.12053888494313 + ], + [ + -60.548206676136374, + -19.12053888494313 + ], + [ + -60.548206676136374, + -19.12053888494313 + ] + ], + "pressures": [ + 0.037109375, + 0.2421875, + 0.966796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.41015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -60.548206676136374, + -19.12053888494313 + ] + }, + { + "id": "7zHt0YKE4bECUDQA6S_ej", + "type": "freedraw", + "x": 297.4763326273336, + "y": -80.99675185959063, + "width": null, + "height": 0.7966752485795041, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 44224941, + "version": 523, + "versionNonce": 909595501, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795041 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.080078125, + 0.12109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 0.7966752485795041 + ] + }, + { + "id": "kbRN1XY9umD5zWfp0fgYL", + "type": "freedraw", + "x": 298.2730078759132, + "y": -80.20007661101113, + "width": 0.0001, + "height": 0.0001, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1998315235, + "version": 517, + "versionNonce": 1781245411, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.0001, + 0.0001 + ] + ], + "pressures": [ + 0.150390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.0001, + 0.0001 + ] + }, + { + "id": "544WmG5FU_EaL1VcJRT2p", + "type": "freedraw", + "x": 298.2730078759132, + "y": -80.20007661101113, + "width": 7.170188210227252, + "height": 16.730457652698874, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 693769005, + "version": 535, + "versionNonce": 1546935757, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + -1.593405983664752 + ], + [ + -2.390025745738626, + -0.7967307350852479 + ], + [ + 0, + 3.186756480823874 + ], + [ + 2.39008123224437, + 6.373457475142004 + ], + [ + 3.983431729403378, + 7.170188210227252 + ], + [ + 4.780162464488626, + 7.966863458806756 + ], + [ + 4.780162464488626, + 5.57683771306813 + ], + [ + 4.780162464488626, + 1.593405983664752 + ], + [ + 2.39008123224437, + -4.780162464488626 + ], + [ + 1.593405983664752, + -7.96686345880687 + ], + [ + 0.7967307350852479, + -8.763594193892118 + ], + [ + 0.7967307350852479, + -7.96686345880687 + ], + [ + 1.593405983664752, + -4.780162464488626 + ], + [ + 2.39008123224437, + -1.593405983664752 + ], + [ + 2.39008123224437, + 2.390025745738626 + ], + [ + 2.39008123224437, + 5.57683771306813 + ], + [ + 1.593405983664752, + 6.373457475142004 + ], + [ + 0.7967307350852479, + 6.373457475142004 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.150390625, + 0.3974609375, + 0.8876953125, + 0.927734375, + 0.9365234375, + 0.9365234375, + 0.9150390625, + 0.8349609375, + 0.83203125, + 0.8408203125, + 0.8408203125, + 0.8349609375, + 0.8515625, + 0.853515625, + 0.857421875, + 0.853515625, + 0.85546875, + 0.849609375, + 0.2490234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.7967307350852479, + 6.373457475142004 + ] + }, + { + "id": "eOspJNeSvP0bK0X6EuD8M", + "type": "freedraw", + "x": 224.94925295032857, + "y": 88.32666423652157, + "width": 38.240966796875, + "height": 161.72751686789775, + "angle": 0.134023247636871, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1329836365, + "version": 609, + "versionNonce": 1982001539, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -3.983431729403378 + ], + [ + -0.7966752485795041, + -7.170132723721565 + ], + [ + 1.593350497159122, + -7.966863458806813 + ], + [ + 7.170188210227252, + -7.170132723721565 + ], + [ + 13.543701171875, + -3.186700994318187 + ], + [ + 19.1204833984375, + 3.186756480823874 + ], + [ + 29.477428089488626, + 23.900645862926183 + ], + [ + 35.05426580255687, + 42.22445401278412 + ], + [ + 37.444291548295496, + 62.93834339488643 + ], + [ + 37.444291548295496, + 83.65217729048294 + ], + [ + 35.850941051136374, + 113.12966086647731 + ], + [ + 34.25753506747162, + 128.26671253551143 + ], + [ + 31.867509321732996, + 140.21700772372157 + ], + [ + 28.680752840909122, + 148.18387118252843 + ], + [ + 27.08734685724437, + 152.96403364701706 + ], + [ + 27.08734685724437, + 153.76065340909093 + ], + [ + 27.08734685724437, + 153.76065340909093 + ] + ], + "pressures": [ + 0.0341796875, + 0.1640625, + 0.205078125, + 0.2158203125, + 0.2333984375, + 0.240234375, + 0.2421875, + 0.251953125, + 0.2578125, + 0.263671875, + 0.2685546875, + 0.2734375, + 0.2744140625, + 0.2685546875, + 0.2587890625, + 0.2412109375, + 0.21875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.08734685724437, + 153.76065340909093 + ] + }, + { + "id": "UZfJePwLFwbowugKBAs3x", + "type": "freedraw", + "x": 228.96120700588483, + "y": -70.6398071685395, + "width": 144.9971701882102, + "height": 65.32842462713074, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1485228707, + "version": 519, + "versionNonce": 652287021, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558543, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 0 + ], + [ + -5.5767822265625, + -0.7967307350852479 + ], + [ + -7.170188210227309, + -0.7967307350852479 + ], + [ + -3.186700994318187, + -0.7967307350852479 + ], + [ + 9.560269442471565, + -1.5934059836648657 + ], + [ + 21.510564630681813, + -4.78016246448874 + ], + [ + 34.25759055397725, + -7.96686345880687 + ], + [ + 50.19131747159088, + -10.35700017755687 + ], + [ + 67.71845037286926, + -12.747025923295496 + ], + [ + 90.82236550071025, + -19.917158647017118 + ], + [ + 101.97598544034088, + -26.290727095170496 + ], + [ + 113.92628062855113, + -35.05426580255687 + ], + [ + 124.28328080610788, + -43.817804509943244 + ], + [ + 134.64017001065338, + -56.56483043323868 + ], + [ + 137.82698197798288, + -62.93834339488643 + ], + [ + 137.82698197798288, + -65.32842462713074 + ], + [ + 136.2335205078125, + -65.32842462713074 + ], + [ + 136.2335205078125, + -65.32842462713074 + ] + ], + "pressures": [ + 0.00390625, + 0.0390625, + 0.06640625, + 0.1201171875, + 0.2138671875, + 0.30859375, + 0.400390625, + 0.5185546875, + 0.6318359375, + 0.666015625, + 0.677734375, + 0.6826171875, + 0.6806640625, + 0.59765625, + 0.3017578125, + 0.18359375, + 0.1376953125, + 0.0283203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 136.2335205078125, + -65.32842462713074 + ] + }, + { + "id": "TtnXOieb5_HMTRrEE1OCV", + "type": "freedraw", + "x": 337.3107608943791, + "y": -102.5073164902725, + "width": 109.94284889914769, + "height": 35.850941051136374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 871635981, + "version": 520, + "versionNonce": 141543715, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983376242897748, + 0 + ], + [ + 3.186700994318244, + 1.593350497159122 + ], + [ + 0, + 3.983487215909122 + ], + [ + -5.576893199573874, + 7.170188210227252 + ], + [ + -12.747025923295382, + 11.950350674715878 + ], + [ + -21.5106201171875, + 18.323808149857996 + ], + [ + -41.427778764204504, + 28.680697354403378 + ], + [ + -55.76815518465901, + 33.460859818892004 + ], + [ + -67.71845037286926, + 35.850941051136374 + ], + [ + -78.87212579900563, + 35.054210316051126 + ], + [ + -92.41577148437494, + 30.27410333806813 + ], + [ + -97.99260919744313, + 28.680697354403378 + ], + [ + -101.179365678267, + 27.884077592329504 + ], + [ + -102.77271617542613, + 27.884077592329504 + ], + [ + -104.36612215909088, + 27.884077592329504 + ], + [ + -105.16279740767044, + 26.290671608664752 + ], + [ + -105.95947265624994, + 26.290671608664752 + ], + [ + -105.95947265624994, + 25.493996360085248 + ], + [ + -105.95947265624994, + 25.493996360085248 + ] + ], + "pressures": [ + 0.0087890625, + 0.146484375, + 0.2685546875, + 0.3564453125, + 0.453125, + 0.5078125, + 0.5458984375, + 0.64453125, + 0.740234375, + 0.7568359375, + 0.7265625, + 0.6552734375, + 0.61328125, + 0.53515625, + 0.3720703125, + 0.2470703125, + 0.1435546875, + 0.1240234375, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -105.95947265624994, + 25.493996360085248 + ] + }, + { + "id": "2kNagftQlp4es7GZZw82K", + "type": "freedraw", + "x": 224.9777752764814, + "y": -65.85970019055662, + "width": 141.01362748579544, + "height": 69.31180087002838, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 345381965, + "version": 516, + "versionNonce": 1311182477, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 12.747025923295439, + -1.593405983664752 + ], + [ + 26.290671608664752, + -3.186756480823874 + ], + [ + 42.224454012784065, + -6.373512961647748 + ], + [ + 60.54826216264206, + -10.356944691051126 + ], + [ + 89.22901500355118, + -17.527132901278378 + ], + [ + 104.36606667258519, + -23.103970614346622 + ], + [ + 117.90971235795456, + -31.070834073153378 + ], + [ + 129.86006303267044, + -39.83437278053975 + ], + [ + 140.21695223721593, + -52.581343217329504 + ], + [ + 141.01362748579544, + -58.15818093039769 + ], + [ + 139.42027698863632, + -62.141612659801126 + ], + [ + 135.43690074573868, + -66.1250443892045 + ], + [ + 129.86006303267044, + -68.51507013494313 + ], + [ + 125.87657581676132, + -69.31180087002838 + ], + [ + 125.87657581676132, + -69.31180087002838 + ] + ], + "pressures": [ + 0.087890625, + 0.3564453125, + 0.447265625, + 0.6337890625, + 0.90625, + 0.970703125, + 0.9833984375, + 0.9833984375, + 0.953125, + 0.6865234375, + 0.4501953125, + 0.294921875, + 0.1943359375, + 0.130859375, + 0.0439453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 125.87657581676132, + -69.31180087002838 + ] + }, + { + "id": "LD2ypz7Fmu_jnTaawTtZa", + "type": "freedraw", + "x": 334.9206241756291, + "y": -107.28747895476113, + "width": 112.33287464488632, + "height": 35.054265802556756, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 983873773, + "version": 515, + "versionNonce": 1451273411, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5933504971590082, + 3.186756480823874 + ], + [ + -7.170188210227252, + 10.356944691051126 + ], + [ + -13.543645685369256, + 17.527132901278378 + ], + [ + -23.900590376420382, + 24.697376598011374 + ], + [ + -35.85088556463063, + 31.070834073153378 + ], + [ + -57.3614501953125, + 34.25759055397725 + ], + [ + -71.701826615767, + 35.054265802556756 + ], + [ + -84.44885253906244, + 35.054265802556756 + ], + [ + -94.00906649502838, + 34.25759055397725 + ], + [ + -101.17925470525563, + 32.66424005681813 + ], + [ + -108.34944291548294, + 27.884077592329504 + ], + [ + -110.73952414772725, + 26.290671608664752 + ], + [ + -112.33287464488632, + 26.290671608664752 + ], + [ + -112.33287464488632, + 26.290671608664752 + ] + ], + "pressures": [ + 0.0556640625, + 0.28515625, + 0.4404296875, + 0.5478515625, + 0.6337890625, + 0.6904296875, + 0.720703125, + 0.69921875, + 0.673828125, + 0.6474609375, + 0.58203125, + 0.3310546875, + 0.2216796875, + 0.1630859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -112.33287464488632, + 26.290671608664752 + ] + }, + { + "id": "LDTdQ6xqW-Vh9AeIBUt7w", + "type": "freedraw", + "x": 226.57118126014615, + "y": -76.21664488160775, + "width": 117.90971235795456, + "height": 58.15818093039775, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1172332067, + "version": 519, + "versionNonce": 1354740973, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823817, + 0.7966752485795041 + ], + [ + -3.983431729403378, + 0.7966752485795041 + ], + [ + -1.593405983664752, + 1.593405983664752 + ], + [ + 8.763538707386374, + 3.186756480823874 + ], + [ + 19.1204833984375, + 3.186756480823874 + ], + [ + 31.07077858664769, + 2.390025745738626 + ], + [ + 43.81780450994319, + -0.7966752485795041 + ], + [ + 55.768099698153435, + -6.373457475142004 + ], + [ + 74.88858309659093, + -15.933782404119256 + ], + [ + 86.04220303622157, + -23.103970614346622 + ], + [ + 94.80579723011368, + -29.477428089488626 + ], + [ + 101.97598544034093, + -35.054265802556756 + ], + [ + 109.94279341264206, + -40.631048029119256 + ], + [ + 113.12960537997157, + -45.41121049360794 + ], + [ + 113.92628062855118, + -50.19126198508519 + ], + [ + 113.92628062855118, + -54.174693714488626 + ], + [ + 112.33293013139206, + -54.971424449573874 + ], + [ + 112.33293013139206, + -54.971424449573874 + ] + ], + "pressures": [ + 0.009765625, + 0.1845703125, + 0.19921875, + 0.25390625, + 0.287109375, + 0.3642578125, + 0.482421875, + 0.625, + 0.7744140625, + 0.826171875, + 0.82421875, + 0.8203125, + 0.8203125, + 0.6494140625, + 0.5439453125, + 0.3828125, + 0.212890625, + 0.0478515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 112.33293013139206, + -54.971424449573874 + ] + }, + { + "id": "TWDIvwTh0t4IEXyWUWb4f", + "type": "freedraw", + "x": 334.9206241756291, + "y": -102.5073164902725, + "width": 117.11303710937494, + "height": 42.22439852627838, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1642397837, + "version": 515, + "versionNonce": 1676942435, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0.7966752485795041 + ], + [ + -3.983431729403378, + 3.18670099431813 + ], + [ + -7.170188210227252, + 7.170188210227252 + ], + [ + -12.746970436789752, + 12.746970436789752 + ], + [ + -27.087346857244256, + 23.103915127840878 + ], + [ + -40.631048029119256, + 29.477428089488626 + ], + [ + -56.56477494673288, + 35.054210316051126 + ], + [ + -71.701826615767, + 39.037642045454504 + ], + [ + -93.21239124644882, + 41.427723277698874 + ], + [ + -103.56933593749994, + 42.22439852627838 + ], + [ + -110.73952414772725, + 40.631048029119256 + ], + [ + -114.72295587713063, + 39.037642045454504 + ], + [ + -117.11303710937494, + 38.240966796875 + ], + [ + -117.11303710937494, + 38.240966796875 + ] + ], + "pressures": [ + 0.0400390625, + 0.224609375, + 0.314453125, + 0.41796875, + 0.4716796875, + 0.4853515625, + 0.51171875, + 0.576171875, + 0.5869140625, + 0.525390625, + 0.4521484375, + 0.357421875, + 0.265625, + 0.1669921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -117.11303710937494, + 38.240966796875 + ] + }, + { + "id": "0ySl5uVBMy4r5AKGZPycH", + "type": "freedraw", + "x": 175.61286477420686, + "y": 192.14232981693002, + "width": 128.2666015625, + "height": 61.34493741122162, + "angle": 0.134023247636871, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1745492099, + "version": 599, + "versionNonce": 439652173, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.780106977982996, + 3.9834317294034918 + ], + [ + 15.137051669034122, + 6.373457475142118 + ], + [ + 27.884022105823874, + 6.373457475142118 + ], + [ + 43.021073774857996, + 6.373457475142118 + ], + [ + 59.75153142755687, + 3.9834317294034918 + ], + [ + 85.24552778764212, + -3.186811967329504 + ], + [ + 98.78922895951712, + -9.560269442471508 + ], + [ + 109.14617365056824, + -16.730457652698874 + ], + [ + 117.90971235795462, + -23.900590376420382 + ], + [ + 125.07990056818187, + -32.66424005681813 + ], + [ + 128.2666015625, + -44.61453524502838 + ], + [ + 126.67325106534088, + -51.78466796874994 + ], + [ + 124.28322531960225, + -54.971479936079504 + ], + [ + 124.28322531960225, + -54.971479936079504 + ] + ], + "pressures": [ + 0.0302734375, + 0.212890625, + 0.259765625, + 0.3310546875, + 0.4619140625, + 0.6044921875, + 0.6220703125, + 0.591796875, + 0.5322265625, + 0.47265625, + 0.4052734375, + 0.2177734375, + 0.1318359375, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 124.28322531960225, + -54.971479936079504 + ] + }, + { + "id": "9LY9HEi6NpyXorDeG2K9g", + "type": "freedraw", + "x": 319.7835725065951, + "y": -90.55696581555662, + "width": 50.191261985085134, + "height": 43.021073774857996, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1025181667, + "version": 519, + "versionNonce": 1016633347, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + 0 + ], + [ + 2.390081232244256, + 0 + ], + [ + 3.983431729403378, + 0.796619762073874 + ], + [ + 7.966863458806756, + 2.390025745738626 + ], + [ + 10.356944691051126, + 4.780051491477252 + ], + [ + 11.950295188210134, + 7.96686345880687 + ], + [ + 11.950295188210134, + 11.950295188210248 + ], + [ + 11.950295188210134, + 15.933726917613626 + ], + [ + 5.57683771306813, + 23.103859641335248 + ], + [ + -1.593350497159122, + 28.680697354403378 + ], + [ + -9.560213955965992, + 33.460804332386374 + ], + [ + -18.323808149857996, + 37.44423606178975 + ], + [ + -28.680752840909122, + 40.630992542613626 + ], + [ + -32.6641845703125, + 41.427667791193244 + ], + [ + -35.05421031605124, + 41.427667791193244 + ], + [ + -36.64761629971599, + 40.630992542613626 + ], + [ + -37.444291548295496, + 40.630992542613626 + ], + [ + -38.240966796875, + 40.630992542613626 + ], + [ + -37.444291548295496, + 40.630992542613626 + ], + [ + -35.850941051136374, + 42.22434303977275 + ], + [ + -34.25753506747162, + 43.021073774857996 + ], + [ + -34.25753506747162, + 43.021073774857996 + ] + ], + "pressures": [ + 0.0546875, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6474609375, + 0.2353515625, + 0.08984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -34.25753506747162, + 43.021073774857996 + ] + }, + { + "id": "9JGKsD1W3aEN6lJis1tHs", + "type": "freedraw", + "x": 322.97032898741884, + "y": -83.386833091835, + "width": 58.15812544389212, + "height": 38.241077769886374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1325161123, + "version": 522, + "versionNonce": 1759452589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593405983664752 + ], + [ + 0.7966752485796178, + -1.593405983664752 + ], + [ + 2.39008123224437, + -1.593405983664752 + ], + [ + 4.780106977982996, + -1.593405983664752 + ], + [ + 9.560269442471622, + 0 + ], + [ + 13.54364568536937, + 0.7967307350852479 + ], + [ + 16.730457652698874, + 2.390025745738626 + ], + [ + 19.1204833984375, + 3.983431729403378 + ], + [ + 19.917158647017118, + 6.373512961647748 + ], + [ + 19.1204833984375, + 10.356944691051126 + ], + [ + 13.54364568536937, + 15.933726917613626 + ], + [ + 4.780106977982996, + 22.307239879261374 + ], + [ + -4.780106977982882, + 28.680808327414752 + ], + [ + -19.1204833984375, + 34.25753506747162 + ], + [ + -26.290671608664752, + 35.850941051136374 + ], + [ + -32.6641845703125, + 36.64767178622162 + ], + [ + -36.64761629971588, + 35.850941051136374 + ], + [ + -37.44429154829538, + 35.054210316051126 + ], + [ + -38.240966796875, + 34.25753506747162 + ], + [ + -38.240966796875, + 33.460859818892004 + ], + [ + -37.44429154829538, + 32.66424005681813 + ], + [ + -35.85094105113626, + 32.66424005681813 + ], + [ + -32.6641845703125, + 31.867509321732996 + ], + [ + -30.27410333806813, + 31.867509321732996 + ], + [ + -30.27410333806813, + 31.867509321732996 + ] + ], + "pressures": [ + 0.111328125, + 0.94921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.662109375, + 0.244140625, + 0.1357421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -30.27410333806813, + 31.867509321732996 + ] + }, + { + "id": "-6aUeAVpmiIo2UJ9ZVmjB", + "type": "freedraw", + "x": 327.75043596540183, + "y": -87.37026482123838, + "width": 48.597911487926126, + "height": 31.070778586647634, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 689245357, + "version": 515, + "versionNonce": 1852612515, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 14.340376420454504, + 0 + ], + [ + 14.340376420454504, + 1.5933504971590082 + ], + [ + 15.137051669034122, + 2.390025745738626 + ], + [ + 15.933726917613626, + 4.780162464488626 + ], + [ + 15.933726917613626, + 7.966863458806756 + ], + [ + 11.153675426136374, + 13.543645685369256 + ], + [ + 4.780162464488626, + 17.527132901278378 + ], + [ + -2.390025745738626, + 21.510564630681756 + ], + [ + -14.340376420454504, + 26.290671608664752 + ], + [ + -20.713833895596622, + 29.477428089488626 + ], + [ + -26.290671608664752, + 30.27410333806813 + ], + [ + -29.477428089488626, + 30.27410333806813 + ], + [ + -31.070778586647748, + 30.27410333806813 + ], + [ + -32.6641845703125, + 30.27410333806813 + ], + [ + -31.070778586647748, + 30.27410333806813 + ], + [ + -30.27410333806813, + 30.27410333806813 + ], + [ + -30.27410333806813, + 31.070778586647634 + ], + [ + -30.27410333806813, + 31.070778586647634 + ] + ], + "pressures": [ + 0.0625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.26953125, + 0.146484375, + 0.10546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -30.27410333806813, + 31.070778586647634 + ] + }, + { + "id": "pLRmsCQN9LEPCvKTAgLv5", + "type": "freedraw", + "x": 267.20222928926546, + "y": -83.386833091835, + "width": 39.83437278053975, + "height": 83.65217729048294, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2063755075, + "version": 517, + "versionNonce": 1134474051, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + 2.390025745738626 + ], + [ + -4.780106977982882, + -1.593405983664752 + ], + [ + -7.170188210227252, + -14.340376420454504 + ], + [ + -7.966863458806756, + -26.290671608664752 + ], + [ + -7.170188210227252, + -40.63104802911931 + ], + [ + -4.780106977982882, + -53.37807395241475 + ], + [ + -1.593405983664752, + -60.54826216264206 + ], + [ + 3.186756480823874, + -62.93828790838069 + ], + [ + 15.137051669034122, + -58.15818093039775 + ], + [ + 22.307239879261374, + -46.2078857421875 + ], + [ + 26.290671608664752, + -29.477428089488626 + ], + [ + 25.493996360085248, + -0.7966752485795041 + ], + [ + 19.917158647017118, + 13.543701171875 + ], + [ + 13.543701171875, + 19.917158647017004 + ], + [ + 7.170188210227252, + 20.713889382102252 + ], + [ + 0.7966752485796178, + 16.730457652698874 + ], + [ + -3.983431729403378, + 7.170188210227252 + ], + [ + -10.356944691051126, + -10.356944691051126 + ], + [ + -12.747025923295382, + -22.307239879261374 + ], + [ + -13.543701171875, + -32.6641845703125 + ], + [ + -12.747025923295382, + -44.61447975852275 + ], + [ + -10.356944691051126, + -50.191317471590935 + ], + [ + -7.170188210227252, + -54.97136896306819 + ], + [ + -3.983431729403378, + -58.15818093039775 + ], + [ + -2.390081232244256, + -58.95480069247162 + ], + [ + -2.390081232244256, + -58.95480069247162 + ] + ], + "pressures": [ + 0.0078125, + 0.306640625, + 0.421875, + 0.72265625, + 0.90625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9599609375, + 0.9169921875, + 0.8701171875, + 0.8056640625, + 0.6953125, + 0.3955078125, + 0.2099609375, + 0.1591796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390081232244256, + -58.95480069247162 + ] + }, + { + "id": "cCZKhWHtzSmk-ud7icLwu", + "type": "freedraw", + "x": 307.0366020698052, + "y": -84.98023907549975, + "width": 27.087346857244256, + "height": 57.36150568181813, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 553608707, + "version": 514, + "versionNonce": 1363891821, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + 0 + ], + [ + -5.57683771306813, + -5.57672674005687 + ], + [ + -5.57683771306813, + -11.153619939630744 + ], + [ + -3.983431729403378, + -18.323808149857996 + ], + [ + -0.7966752485795041, + -26.290671608664752 + ], + [ + 3.9834317294034918, + -33.460804332386374 + ], + [ + 11.950295188210248, + -38.240966796875 + ], + [ + 15.933726917613626, + -38.240966796875 + ], + [ + 18.323808149857996, + -33.460804332386374 + ], + [ + 19.1204833984375, + -23.900590376420496 + ], + [ + 15.933726917613626, + -3.186700994318244 + ], + [ + 11.153619939630744, + 10.357000177556756 + ], + [ + 5.5767822265625, + 17.527132901278378 + ], + [ + 1.593350497159122, + 19.12053888494313 + ], + [ + -2.390081232244256, + 18.323863636363626 + ], + [ + -6.373512961647634, + 8.763594193892004 + ], + [ + -7.966863458806756, + -0.7966752485796178 + ], + [ + -7.966863458806756, + -11.950295188210248 + ], + [ + -6.373512961647634, + -26.290671608664752 + ], + [ + -3.983431729403378, + -31.867453835227252 + ], + [ + -2.390081232244256, + -35.05421031605118 + ], + [ + -0.7966752485795041, + -36.647616299715935 + ], + [ + 0.7966752485796178, + -37.44423606178981 + ], + [ + 1.593350497159122, + -36.647616299715935 + ], + [ + 1.593350497159122, + -36.647616299715935 + ] + ], + "pressures": [ + 0.064453125, + 0.1591796875, + 0.283203125, + 0.4521484375, + 0.6884765625, + 0.83203125, + 0.8876953125, + 0.904296875, + 0.923828125, + 0.951171875, + 0.98828125, + 0.9580078125, + 0.92578125, + 0.92578125, + 0.9365234375, + 0.931640625, + 0.90234375, + 0.8642578125, + 0.8173828125, + 0.783203125, + 0.7607421875, + 0.671875, + 0.4599609375, + 0.302734375, + 0.1025390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593350497159122, + -36.647616299715935 + ] + }, + { + "id": "K83YinRuroaJaNr4_OWeQ", + "type": "freedraw", + "x": 307.83327731838483, + "y": -94.54039754496, + "width": 27.884022105823874, + "height": 78.87207031249994, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1058801475, + "version": 516, + "versionNonce": 1015894755, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.39008123224437, + -4.78021795099437 + ], + [ + -2.39008123224437, + -11.950350674715878 + ], + [ + -2.39008123224437, + -23.104026100852252 + ], + [ + 0.7966752485795041, + -36.64767178622162 + ], + [ + 7.170188210227252, + -53.37812943892044 + ], + [ + 10.356944691051126, + -58.158236416903435 + ], + [ + 12.746970436789752, + -58.95491166548294 + ], + [ + 15.137051669034008, + -54.1748046875 + ], + [ + 17.527132901278378, + -45.411265980113626 + ], + [ + 19.917158647017004, + -22.307295365767004 + ], + [ + 19.1204833984375, + -5.576893199573874 + ], + [ + 15.933726917613626, + 7.966863458806756 + ], + [ + 11.950295188210248, + 15.933726917613626 + ], + [ + 5.5767822265625, + 19.917158647017004 + ], + [ + 0.7966752485795041, + 19.120427911931756 + ], + [ + -3.9834317294034918, + 15.136996182528378 + ], + [ + -7.170188210227252, + 7.966863458806756 + ], + [ + -7.96686345880687, + -0.7967307350852479 + ], + [ + -7.170188210227252, + -15.93378240411937 + ], + [ + -5.576837713068244, + -26.29072709517044 + ], + [ + -3.186756480823874, + -33.46091530539775 + ], + [ + -1.593350497159122, + -38.241077769886374 + ], + [ + 0, + -39.037753018465935 + ], + [ + 0.7966752485795041, + -38.241077769886374 + ], + [ + 1.5933504971590082, + -36.64767178622162 + ], + [ + 1.5933504971590082, + -35.850941051136374 + ], + [ + 1.5933504971590082, + -35.850941051136374 + ] + ], + "pressures": [ + 0.0908203125, + 0.3212890625, + 0.49609375, + 0.736328125, + 0.8984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 0.953125, + 0.884765625, + 0.8369140625, + 0.8388671875, + 0.830078125, + 0.798828125, + 0.6826171875, + 0.3017578125, + 0.1982421875, + 0.1220703125, + 0.0947265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.5933504971590082, + -35.850941051136374 + ] + }, + { + "id": "S1W_cGc32NM5MMp1_4fSQ", + "type": "freedraw", + "x": 265.6088233056007, + "y": -80.99680734609638, + "width": 35.850941051136374, + "height": 73.29517711292618, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 193270435, + "version": 516, + "versionNonce": 466616525, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -1.593295010653378 + ], + [ + -6.373457475142004, + -3.983431729403378 + ], + [ + -7.96686345880687, + -8.763538707386374 + ], + [ + -8.763538707386374, + -15.137051669034122 + ], + [ + -8.763538707386374, + -24.697265625 + ], + [ + -4.780106977982996, + -43.02107377485794 + ], + [ + -0.7966752485795041, + -51.78466796875 + ], + [ + 3.186756480823874, + -56.56477494673294 + ], + [ + 8.763594193892004, + -57.36139470880681 + ], + [ + 18.323808149857996, + -50.98793723366475 + ], + [ + 21.51056463068187, + -40.63104802911931 + ], + [ + 23.103970614346622, + -27.08734685724437 + ], + [ + 22.307295365767004, + -11.950295188210248 + ], + [ + 18.323808149857996, + 2.39013671875 + ], + [ + 8.763594193892004, + 14.340431906960248 + ], + [ + 3.983487215909122, + 15.93378240411937 + ], + [ + -1.593350497159122, + 12.747025923295496 + ], + [ + -6.373457475142004, + 4.780162464488626 + ], + [ + -11.15361993963063, + -10.356889204545496 + ], + [ + -12.746970436789752, + -17.527021928267004 + ], + [ + -12.746970436789752, + -25.493940873579504 + ], + [ + -12.746970436789752, + -33.460804332386374 + ], + [ + -9.560213955965878, + -39.834317294034065 + ], + [ + -5.5767822265625, + -48.597911487926126 + ], + [ + -2.390025745738626, + -51.78466796875 + ], + [ + -1.593350497159122, + -53.37796297940338 + ], + [ + -1.593350497159122, + -53.37796297940338 + ] + ], + "pressures": [ + 0.123046875, + 0.2822265625, + 0.384765625, + 0.4892578125, + 0.5849609375, + 0.6474609375, + 0.8662109375, + 0.90234375, + 0.9189453125, + 0.947265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.98828125, + 0.583984375, + 0.2978515625, + 0.2236328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593350497159122, + -53.37796297940338 + ] + }, + { + "id": "nlj-ksmQjUj5mHSzxda6A", + "type": "freedraw", + "x": 310.2233585506291, + "y": -85.77691432407937, + "width": 29.477428089488626, + "height": 58.954800692471565, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1577275981, + "version": 511, + "versionNonce": 1237778051, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244256, + -4.780051491477252 + ], + [ + -2.390081232244256, + -10.356944691051126 + ], + [ + -2.390081232244256, + -18.323808149857882 + ], + [ + -2.390081232244256, + -26.290671608664752 + ], + [ + 2.390025745738626, + -36.64756081321019 + ], + [ + 7.170188210227252, + -39.83437278053975 + ], + [ + 10.356889204545496, + -40.63099254261357 + ], + [ + 14.340376420454618, + -39.03769753196019 + ], + [ + 16.730402166193244, + -32.664129083806756 + ], + [ + 19.1204833984375, + -15.933726917613626 + ], + [ + 16.730402166193244, + -1.5933504971590082 + ], + [ + 10.356889204545496, + 9.560269442471622 + ], + [ + 2.390025745738626, + 15.93378240411937 + ], + [ + -7.170188210227252, + 18.323808149857996 + ], + [ + -10.356944691051126, + 14.340376420454618 + ], + [ + -10.356944691051126, + 6.373512961647748 + ], + [ + -10.356944691051126, + -3.983431729403378 + ], + [ + -7.9669189453125, + -14.340376420454504 + ], + [ + -5.57683771306813, + -28.680697354403378 + ], + [ + -3.186756480823874, + -34.257535067471565 + ], + [ + -1.593405983664752, + -37.44429154829538 + ], + [ + 0, + -38.24096679687494 + ], + [ + 0.7966752485796178, + -38.24096679687494 + ], + [ + 0.7966752485796178, + -38.24096679687494 + ] + ], + "pressures": [ + 0.083984375, + 0.177734375, + 0.2587890625, + 0.36328125, + 0.458984375, + 0.564453125, + 0.5849609375, + 0.5947265625, + 0.6220703125, + 0.6865234375, + 0.79296875, + 0.8134765625, + 0.8115234375, + 0.8115234375, + 0.8369140625, + 0.83203125, + 0.80078125, + 0.7783203125, + 0.7666015625, + 0.748046875, + 0.708984375, + 0.5458984375, + 0.361328125, + 0.265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.7966752485796178, + -38.24096679687494 + ] + }, + { + "id": "sOI6T6ZulsNQOvvRM2hnA", + "type": "freedraw", + "x": 310.2233585506291, + "y": -88.96367080490324, + "width": 27.08740234375, + "height": 66.92177512428981, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 562582381, + "version": 513, + "versionNonce": 1494245165, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -3.1867564808237603 + ], + [ + -2.390081232244256, + -7.966863458806756 + ], + [ + -1.593405983664752, + -19.1204833984375 + ], + [ + 0.7966752485796178, + -29.477372602982882 + ], + [ + 3.9834317294034918, + -39.037642045454504 + ], + [ + 7.170188210227252, + -44.61447975852269 + ], + [ + 10.356889204545496, + -46.207830255681756 + ], + [ + 15.137051669034122, + -44.61447975852269 + ], + [ + 17.527077414772748, + -39.834372780539695 + ], + [ + 19.1204833984375, + -29.477372602982882 + ], + [ + 19.1204833984375, + -15.933726917613626 + ], + [ + 15.137051669034122, + 6.373568448153492 + ], + [ + 11.153619939630744, + 15.137051669034122 + ], + [ + 6.373457475142118, + 18.32386363636374 + ], + [ + 1.593350497159122, + 16.730457652698874 + ], + [ + -2.390081232244256, + 10.35700017755687 + ], + [ + -7.170188210227252, + -1.593295010653378 + ], + [ + -7.9669189453125, + -8.76353870738626 + ], + [ + -7.9669189453125, + -15.137051669034008 + ], + [ + -6.373512961647748, + -22.30723987926126 + ], + [ + -3.983431729403378, + -30.27410333806813 + ], + [ + 0, + -41.42766779119313 + ], + [ + 0.7966752485796178, + -47.004560990767004 + ], + [ + 1.593350497159122, + -48.59791148792607 + ], + [ + 1.593350497159122, + -47.004560990767004 + ], + [ + 1.593350497159122, + -47.004560990767004 + ] + ], + "pressures": [ + 0.0966796875, + 0.2578125, + 0.388671875, + 0.67578125, + 0.8056640625, + 0.927734375, + 0.9755859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6474609375, + 0.3984375, + 0.2236328125, + 0.103515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593350497159122, + -47.004560990767004 + ] + }, + { + "id": "Il4dHjquPCM9CMt4VAh0h", + "type": "freedraw", + "x": 269.59231052150983, + "y": -77.8100508652725, + "width": 9.560213955965878, + "height": 32.6641845703125, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1030086829, + "version": 516, + "versionNonce": 1175074339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + -3.983431729403378 + ], + [ + -3.983487215909122, + -6.373457475142004 + ], + [ + -4.780162464488626, + -10.356889204545496 + ], + [ + -5.576837713068244, + -15.137051669034122 + ], + [ + -5.576837713068244, + -17.527077414772748 + ], + [ + -5.576837713068244, + -20.713778409090878 + ], + [ + -5.576837713068244, + -23.900590376420496 + ], + [ + -4.780162464488626, + -25.493996360085248 + ], + [ + -4.780162464488626, + -26.290671608664752 + ], + [ + -2.39008123224437, + -26.290671608664752 + ], + [ + 0, + -23.103915127840878 + ], + [ + 1.5933504971590082, + -18.323808149857996 + ], + [ + 3.18670099431813, + -7.96686345880687 + ], + [ + 3.18670099431813, + -0.796619762073874 + ], + [ + 2.390025745738626, + 3.983431729403378 + ], + [ + 1.5933504971590082, + 5.57683771306813 + ], + [ + 0.7966752485795041, + 6.373512961647748 + ], + [ + -0.7967307350852479, + 6.373512961647748 + ], + [ + -2.39008123224437, + 4.780162464488626 + ], + [ + -3.983487215909122, + 3.186811967329504 + ], + [ + -4.780162464488626, + 0 + ], + [ + -6.373512961647748, + -4.780051491477252 + ], + [ + -6.373512961647748, + -6.373457475142004 + ], + [ + -6.373512961647748, + -7.170188210227252 + ], + [ + -6.373512961647748, + -8.763483220880744 + ], + [ + -6.373512961647748, + -9.560213955965878 + ], + [ + -6.373512961647748, + -10.356889204545496 + ], + [ + -6.373512961647748, + -11.153619939630744 + ], + [ + -6.373512961647748, + -9.560213955965878 + ], + [ + -6.373512961647748, + -9.560213955965878 + ] + ], + "pressures": [ + 0.03515625, + 0.1953125, + 0.259765625, + 0.341796875, + 0.4482421875, + 0.5126953125, + 0.576171875, + 0.6474609375, + 0.6806640625, + 0.6865234375, + 0.73046875, + 0.7666015625, + 0.826171875, + 0.9345703125, + 0.9560546875, + 0.9599609375, + 0.9599609375, + 0.966796875, + 0.96484375, + 0.9755859375, + 0.9599609375, + 0.947265625, + 0.9150390625, + 0.8935546875, + 0.8876953125, + 0.7705078125, + 0.59375, + 0.4599609375, + 0.2705078125, + 0.0849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.373512961647748, + -9.560213955965878 + ] + }, + { + "id": "MpO84yTZ4hiaomdZWsZ3N", + "type": "freedraw", + "x": 263.2187975598621, + "y": -93.74377778288613, + "width": 17.527132901278378, + "height": 24.69732111150563, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1691699981, + "version": 504, + "versionNonce": 527823245, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + 4.780106977982882 + ], + [ + -3.186756480823874, + 7.966863458806756 + ], + [ + -3.186756480823874, + 11.950295188210248 + ], + [ + -1.593405983664752, + 18.323808149857882 + ], + [ + 0, + 23.900645862926126 + ], + [ + 0.7966752485795041, + 24.69732111150563 + ], + [ + 1.593350497159122, + 24.69732111150563 + ], + [ + 3.983431729403378, + 24.69732111150563 + ], + [ + 6.373512961647748, + 23.103970614346622 + ], + [ + 10.356944691051126, + 19.12053888494313 + ], + [ + 12.746970436789752, + 16.730457652698874 + ], + [ + 13.543645685369256, + 15.137107155539752 + ], + [ + 13.543645685369256, + 14.340376420454504 + ], + [ + 14.340376420454504, + 13.543701171875 + ], + [ + 14.340376420454504, + 12.746970436789752 + ], + [ + 14.340376420454504, + 11.950295188210248 + ], + [ + 14.340376420454504, + 11.153675426136374 + ], + [ + 14.340376420454504, + 11.153675426136374 + ] + ], + "pressures": [ + 0.0908203125, + 0.3115234375, + 0.3564453125, + 0.408203125, + 0.4931640625, + 0.59765625, + 0.6318359375, + 0.642578125, + 0.6533203125, + 0.662109375, + 0.6806640625, + 0.6845703125, + 0.6826171875, + 0.677734375, + 0.580078125, + 0.4560546875, + 0.40625, + 0.27734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.340376420454504, + 11.153675426136374 + ] + }, + { + "id": "pmrBjfw_dLU2z3fZePqDb", + "type": "freedraw", + "x": 266.40555404068596, + "y": -91.35369655064187, + "width": 17.527132901278378, + "height": 24.697321111505744, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1201460301, + "version": 504, + "versionNonce": 809859523, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + 4.780162464488626 + ], + [ + -1.593405983664752, + 11.950295188210248 + ], + [ + -0.7967307350852479, + 16.730457652698874 + ], + [ + 0.7966752485795041, + 20.713889382102366 + ], + [ + 2.390025745738626, + 22.307239879261374 + ], + [ + 7.170188210227252, + 23.10391512784099 + ], + [ + 9.560213955965878, + 23.10391512784099 + ], + [ + 11.950295188210248, + 19.917158647017118 + ], + [ + 14.340376420454504, + 15.933726917613626 + ], + [ + 15.933726917613626, + 11.950295188210248 + ], + [ + 15.933726917613626, + 7.170188210227366 + ], + [ + 15.933726917613626, + 4.780162464488626 + ], + [ + 15.933726917613626, + 3.186756480823874 + ], + [ + 14.340376420454504, + 0.7967307350852479 + ], + [ + 13.543645685369256, + -0.7967307350851343 + ], + [ + 11.15361993963063, + -1.593405983664752 + ], + [ + 10.356889204545382, + -1.593405983664752 + ], + [ + 10.356889204545382, + -1.593405983664752 + ] + ], + "pressures": [ + 0.0439453125, + 0.365234375, + 0.5283203125, + 0.66015625, + 0.7587890625, + 0.791015625, + 0.8154296875, + 0.830078125, + 0.826171875, + 0.822265625, + 0.82421875, + 0.826171875, + 0.80078125, + 0.74609375, + 0.6513671875, + 0.4208984375, + 0.2255859375, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356889204545382, + -1.593405983664752 + ] + }, + { + "id": "v7-_mi0k6YUuXOUt4D0KP", + "type": "freedraw", + "x": 282.3392809582996, + "y": -93.74377778288613, + "width": 31.070778586647748, + "height": 39.037642045454504, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 237776269, + "version": 508, + "versionNonce": 2084190189, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + 0.7966752485795041 + ], + [ + 1.593350497159122, + 3.983431729403378 + ], + [ + 1.593350497159122, + 9.560269442471622 + ], + [ + 0.7966752485795041, + 13.543701171875 + ], + [ + -1.593350497159122, + 16.730457652698874 + ], + [ + -4.780106977982996, + 18.323808149857882 + ], + [ + -10.356944691051126, + 18.323808149857882 + ], + [ + -14.340376420454504, + 17.527132901278378 + ], + [ + -18.323808149857996, + 15.137107155539752 + ], + [ + -22.307239879261374, + 11.153675426136374 + ], + [ + -25.493996360085248, + 7.170243696732882 + ], + [ + -28.680752840909122, + 0 + ], + [ + -29.477428089488626, + -3.186756480823874 + ], + [ + -29.477428089488626, + -7.170188210227252 + ], + [ + -29.477428089488626, + -12.746970436789752 + ], + [ + -29.477428089488626, + -19.917158647017118 + ], + [ + -28.680752840909122, + -20.713833895596622 + ], + [ + -27.884077592329504, + -20.713833895596622 + ], + [ + -27.08734685724437, + -19.917158647017118 + ], + [ + -26.290671608664752, + -18.323808149857996 + ], + [ + -25.493996360085248, + -17.527132901278378 + ], + [ + -25.493996360085248, + -17.527132901278378 + ] + ], + "pressures": [ + 0.044921875, + 0.474609375, + 0.64453125, + 0.931640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8984375, + 0.6845703125, + 0.44921875, + 0.2919921875, + 0.18359375, + 0.0869140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -25.493996360085248, + -17.527132901278378 + ] + }, + { + "id": "8_lZ65ULF2jY-ymiYdE8w", + "type": "freedraw", + "x": 256.84528459821433, + "y": -106.49074821967588, + "width": 27.884022105823874, + "height": 39.037642045454504, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1193265037, + "version": 508, + "versionNonce": 630671715, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + 3.983431729403378 + ], + [ + -1.593350497159122, + 7.9669189453125 + ], + [ + -1.593350497159122, + 15.137051669034008 + ], + [ + -0.7966752485795041, + 22.307239879261374 + ], + [ + 0.7966752485795041, + 29.477428089488626 + ], + [ + 3.186756480823874, + 35.054210316051126 + ], + [ + 5.576837713068244, + 38.240966796875 + ], + [ + 7.170188210227252, + 39.037642045454504 + ], + [ + 10.356944691051126, + 39.037642045454504 + ], + [ + 14.340376420454504, + 35.850941051136374 + ], + [ + 19.1204833984375, + 31.070778586647634 + ], + [ + 23.103915127840878, + 23.900645862926126 + ], + [ + 24.697321111505744, + 20.71383389559651 + ], + [ + 25.493996360085248, + 18.323808149857882 + ], + [ + 26.290671608664752, + 17.527077414772634 + ], + [ + 26.290671608664752, + 16.73040216619313 + ], + [ + 26.290671608664752, + 15.137051669034008 + ], + [ + 25.493996360085248, + 12.746970436789752 + ], + [ + 24.697321111505744, + 11.15361993963063 + ], + [ + 23.900645862926126, + 10.356889204545382 + ], + [ + 23.103915127840878, + 10.356889204545382 + ], + [ + 23.103915127840878, + 10.356889204545382 + ] + ], + "pressures": [ + 0.0986328125, + 0.3388671875, + 0.439453125, + 0.7783203125, + 0.9560546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96484375, + 0.6552734375, + 0.306640625, + 0.2265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.103915127840878, + 10.356889204545382 + ] + }, + { + "id": "A42cprwF2Oe8jPfMzLD7k", + "type": "freedraw", + "x": 256.04860934963483, + "y": -195.71976322322706, + "width": 71.70188210227269, + "height": 70.9051513671875, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1514816835, + "version": 513, + "versionNonce": 1491635363, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186756480823874, + 3.983431729403435 + ], + [ + 6.373512961647748, + 3.983431729403435 + ], + [ + 11.950295188210248, + -1.593350497159065 + ], + [ + 15.137051669034008, + -8.763538707386374 + ], + [ + 15.933726917613626, + -15.933726917613626 + ], + [ + 15.137051669034008, + -23.103915127840878 + ], + [ + 11.950295188210248, + -28.680752840909065 + ], + [ + 7.170188210227252, + -28.680752840909065 + ], + [ + 2.390025745738626, + -24.697321111505687 + ], + [ + -1.593405983664752, + -20.713889382102252 + ], + [ + -3.983431729403435, + -16.730402166193187 + ], + [ + -5.576837713068187, + -15.137051669034065 + ], + [ + -5.576837713068187, + -20.713889382102252 + ], + [ + -3.186756480823874, + -30.274103338068187 + ], + [ + 0, + -43.02110151811081 + ], + [ + 4.780106977982882, + -54.17472145774144 + ], + [ + 10.356944691051126, + -61.34490966796875 + ], + [ + 20.71383389559651, + -66.92171963778407 + ], + [ + 27.884022105823874, + -66.92171963778407 + ], + [ + 36.64761629971588, + -65.32834139737213 + ], + [ + 47.004560990767004, + -59.75153142755681 + ], + [ + 61.34493741122151, + -43.81780450994319 + ], + [ + 65.328369140625, + -31.86750932173294 + ], + [ + 66.1250443892045, + -20.713889382102252 + ], + [ + 62.141612659801126, + -11.153619939630687 + ], + [ + 54.971424449573874, + -3.186756480823874 + ], + [ + 43.021129261363626, + 3.983431729403435 + ], + [ + 35.850941051136374, + 3.983431729403435 + ], + [ + 30.27410333806813, + 1.593405983664809 + ], + [ + 27.884022105823874, + -1.593350497159065 + ], + [ + 27.884022105823874, + -3.983431729403378 + ], + [ + 27.884022105823874, + -3.983431729403378 + ] + ], + "pressures": [ + 0.0263671875, + 0.232421875, + 0.2763671875, + 0.39453125, + 0.5849609375, + 0.82421875, + 0.908203125, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.857421875, + 0.4716796875, + 0.240234375, + 0.0283203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.884022105823874, + -3.983431729403378 + ] + }, + { + "id": "N256Jefu95TxK2h0ljXb1", + "type": "freedraw", + "x": 263.2187975598621, + "y": -189.3462502615793, + "width": 113.12960537997162, + "height": 98.78928444602275, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2099183331, + "version": 521, + "versionNonce": 1898857229, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.39008123224437, + -3.186756480823874 + ], + [ + -7.170188210227252, + -6.373512961647748 + ], + [ + -12.747025923295439, + -11.950295188210248 + ], + [ + -18.32380814985794, + -17.527132901278435 + ], + [ + -27.08740234375, + -23.900645862926126 + ], + [ + -32.6641845703125, + -26.29067160866481 + ], + [ + -38.24102228338069, + -27.88407759232956 + ], + [ + -42.22445401278412, + -27.88407759232956 + ], + [ + -42.22445401278412, + -27.08740234375 + ], + [ + -42.22445401278412, + -22.307239879261374 + ], + [ + -43.021129261363626, + -13.543701171875 + ], + [ + -47.00456099076706, + -3.186756480823874 + ], + [ + -51.78466796875, + 5.5767822265625 + ], + [ + -59.7515869140625, + 10.356944691051126 + ], + [ + -64.53163840553975, + 10.356944691051126 + ], + [ + -68.51507013494319, + 9.560213955965878 + ], + [ + -73.29523259943181, + 0.796675248579561 + ], + [ + -74.09190784801137, + -10.356944691051126 + ], + [ + -74.09190784801137, + -22.307239879261374 + ], + [ + -74.09190784801137, + -32.6641845703125 + ], + [ + -74.09190784801137, + -37.44429154829544 + ], + [ + -74.88863858309662, + -39.03769753196025 + ], + [ + -78.8720703125, + -39.83437278053981 + ], + [ + -82.05882679332387, + -39.83437278053981 + ], + [ + -86.83893377130681, + -37.44429154829544 + ], + [ + -95.60247247869319, + -26.29067160866481 + ], + [ + -101.97598544034093, + -13.543701171875 + ], + [ + -107.55282315340912, + 0 + ], + [ + -111.5362548828125, + 14.340376420454561 + ], + [ + -113.12960537997162, + 27.08740234375 + ], + [ + -113.12960537997162, + 37.44429154829544 + ], + [ + -109.94284889914775, + 50.19131747159088 + ], + [ + -105.95941716974431, + 54.97147993607956 + ], + [ + -98.78922895951706, + 57.36150568181819 + ], + [ + -83.65217729048294, + 58.95491166548294 + ], + [ + -72.49850186434662, + 56.56477494673294 + ], + [ + -63.735018643465935, + 52.58134321732956 + ], + [ + -58.95485617897725, + 50.19131747159088 + ], + [ + -55.768099698153435, + 48.597911487926126 + ], + [ + -54.17474920099431, + 48.597911487926126 + ], + [ + -54.17474920099431, + 48.597911487926126 + ] + ], + "pressures": [ + 0.072265625, + 0.53125, + 0.8447265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96875, + 0.953125, + 0.8955078125, + 0.703125, + 0.326171875, + 0.2373046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -54.17474920099431, + 48.597911487926126 + ] + }, + { + "id": "SYOUwJyVdDZ701m6KfT0b", + "type": "freedraw", + "x": 287.1193879362826, + "y": -181.3793868027725, + "width": 132.25008877840912, + "height": 95.60247247869319, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 373422765, + "version": 519, + "versionNonce": 840237123, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + -3.983431729403435 + ], + [ + -3.9834317294034918, + -4.780106977982939 + ], + [ + -2.3900257457387397, + -8.763538707386374 + ], + [ + 1.593405983664752, + -13.543701171875 + ], + [ + 7.170188210227252, + -18.32380814985794 + ], + [ + 13.543701171875, + -21.510564630681813 + ], + [ + 19.917214133522634, + -23.103915127840935 + ], + [ + 25.493996360085134, + -22.307239879261374 + ], + [ + 31.070834073153378, + -16.730457652698874 + ], + [ + 33.460859818892004, + -11.153619939630687 + ], + [ + 34.25759055397725, + -3.983431729403435 + ], + [ + 36.64761629971588, + 4.780106977982939 + ], + [ + 39.83437278053975, + 7.966863458806813 + ], + [ + 43.81780450994313, + 9.560269442471565 + ], + [ + 47.80123623934651, + 8.763538707386374 + ], + [ + 52.581398703835134, + 4.780106977982939 + ], + [ + 58.95491166548288, + -3.983431729403435 + ], + [ + 62.93828790838063, + -11.950295188210248 + ], + [ + 63.734963156960134, + -20.713889382102252 + ], + [ + 61.34493741122151, + -28.680752840909122 + ], + [ + 58.15823641690338, + -33.46085981889206 + ], + [ + 53.37807395241475, + -35.850941051136374 + ], + [ + 51.78472345525563, + -37.44429154829544 + ], + [ + 56.56477494673288, + -35.850941051136374 + ], + [ + 62.141612659801126, + -34.25753506747162 + ], + [ + 70.9051513671875, + -30.274103338068187 + ], + [ + 82.05882679332376, + -24.697321111505687 + ], + [ + 94.00906649502838, + -15.137051669034122 + ], + [ + 114.72295587713063, + 2.390081232244313 + ], + [ + 125.876631303267, + 11.153675426136374 + ], + [ + 128.26665704900563, + 17.527132901278378 + ], + [ + 124.28328080610788, + 24.697321111505687 + ], + [ + 116.31641734730113, + 34.257535067471565 + ], + [ + 103.56939142400563, + 48.597911487926126 + ], + [ + 97.9925537109375, + 54.97147993607956 + ], + [ + 92.41571599786926, + 58.15818093039775 + ], + [ + 87.635664506392, + 57.36150568181819 + ], + [ + 82.05882679332376, + 53.37807395241475 + ], + [ + 81.26215154474426, + 53.37807395241475 + ], + [ + 81.26215154474426, + 53.37807395241475 + ] + ], + "pressures": [ + 0.1064453125, + 0.2080078125, + 0.31640625, + 0.7744140625, + 0.8681640625, + 0.8896484375, + 0.8984375, + 0.9169921875, + 0.966796875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9794921875, + 0.96875, + 0.966796875, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7626953125, + 0.373046875, + 0.1376953125, + 0.0771484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 81.26215154474426, + 53.37807395241475 + ] + }, + { + "id": "rPLgJ-To2BJ8zMsG48V6d", + "type": "freedraw", + "x": 297.4763326273337, + "y": -139.95166352507363, + "width": 62.938343394886374, + "height": 56.564830433238626, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 444167309, + "version": 492, + "versionNonce": 1709988205, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.780106977982882, + 5.576893199573874 + ], + [ + 5.57683771306813, + 11.950350674715878 + ], + [ + 4.780106977982882, + 25.494051846590878 + ], + [ + 0.7966752485795041, + 36.64761629971588 + ], + [ + -6.373512961647748, + 46.2078857421875 + ], + [ + -13.543701171875, + 52.58139870383525 + ], + [ + -26.290671608664866, + 56.564830433238626 + ], + [ + -35.054210316051126, + 55.76815518465912 + ], + [ + -43.817804509943244, + 50.98799272017038 + ], + [ + -50.191317471590935, + 45.411265980113626 + ], + [ + -55.768099698153435, + 39.03769753196025 + ], + [ + -57.361505681818244, + 36.64761629971588 + ], + [ + -57.361505681818244, + 35.850941051136374 + ], + [ + -57.361505681818244, + 35.850941051136374 + ] + ], + "pressures": [ + 0.0849609375, + 0.630859375, + 0.9189453125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.8984375, + 0.666015625, + 0.5107421875, + 0.3740234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -57.361505681818244, + 35.850941051136374 + ] + }, + { + "id": "hyYrYNtHInnzlrA844ohi", + "type": "freedraw", + "x": 255.2519341010552, + "y": -187.75289976442025, + "width": 74.09190784801137, + "height": 70.10855934836644, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1056268653, + "version": 513, + "versionNonce": 11665379, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + 3.186756480823874 + ], + [ + -0.7967307350851343, + 4.780162464488626 + ], + [ + 4.780106977982996, + 5.576893199573874 + ], + [ + 8.763538707386374, + 5.576893199573874 + ], + [ + 11.950295188210248, + 2.390081232244313 + ], + [ + 15.137051669034122, + -0.7966752485795041 + ], + [ + 15.933726917613626, + -4.780106977982939 + ], + [ + 15.933726917613626, + -8.763538707386374 + ], + [ + 11.950295188210248, + -15.137051669034065 + ], + [ + 7.96686345880687, + -16.730402166193187 + ], + [ + 3.9834317294034918, + -17.527132901278378 + ], + [ + 0, + -15.933726917613626 + ], + [ + -5.57683771306813, + -12.746970436789752 + ], + [ + -7.170188210227252, + -11.950295188210191 + ], + [ + -7.170188210227252, + -12.746970436789752 + ], + [ + -4.780162464488569, + -18.32380814985794 + ], + [ + -0.7967307350851343, + -28.680752840909065 + ], + [ + 5.5767822265625, + -40.63104802911931 + ], + [ + 15.933726917613626, + -55.76809969815338 + ], + [ + 23.10391512784099, + -61.34490966796875 + ], + [ + 29.477428089488626, + -64.53166614879257 + ], + [ + 36.64761629971599, + -64.53166614879257 + ], + [ + 46.20783025568187, + -58.95485617897725 + ], + [ + 58.954856178977366, + -45.41115500710225 + ], + [ + 64.53163840553987, + -35.850941051136374 + ], + [ + 66.92171963778412, + -27.087346857244313 + ], + [ + 66.12504438920462, + -19.917158647017004 + ], + [ + 62.141612659801126, + -14.340376420454504 + ], + [ + 55.76809969815349, + -9.560213955965878 + ], + [ + 50.19126198508525, + -7.966863458806813 + ], + [ + 44.61447975852275, + -7.966863458806813 + ], + [ + 41.427723277698874, + -7.966863458806813 + ], + [ + 39.83431729403412, + -9.560213955965878 + ], + [ + 39.83431729403412, + -10.356944691051126 + ], + [ + 39.83431729403412, + -10.356944691051126 + ] + ], + "pressures": [ + 0.0205078125, + 0.2236328125, + 0.2861328125, + 0.392578125, + 0.50390625, + 0.6015625, + 0.732421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7666015625, + 0.408203125, + 0.173828125, + 0.126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.83431729403412, + -10.356944691051126 + ] + }, + { + "id": "LCOKy4ZjEIu1xJGVsKmOH", + "type": "freedraw", + "x": 248.08174589082796, + "y": -192.5330067424032, + "width": 75.68531383167613, + "height": 65.32834139737218, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1026861837, + "version": 512, + "versionNonce": 458793933, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + 3.186756480823874 + ], + [ + 0, + 3.983431729403435 + ], + [ + 3.983431729403435, + 3.983431729403435 + ], + [ + 9.560213955965878, + 2.390081232244313 + ], + [ + 17.527077414772748, + -4.780106977982939 + ], + [ + 20.713833895596622, + -9.560269442471565 + ], + [ + 21.51056463068187, + -14.340376420454561 + ], + [ + 19.917158647017118, + -19.1204833984375 + ], + [ + 14.340376420454618, + -23.900645862926126 + ], + [ + 8.763538707386374, + -23.900645862926126 + ], + [ + 2.390025745738683, + -22.307239879261374 + ], + [ + -3.186756480823817, + -17.527132901278435 + ], + [ + -7.9669189453125, + -11.950295188210248 + ], + [ + -11.950350674715878, + -6.373512961647748 + ], + [ + -11.950350674715878, + -5.576837713068187 + ], + [ + -11.15361993963063, + -10.356944691051126 + ], + [ + -7.9669189453125, + -19.1204833984375 + ], + [ + -3.983431729403378, + -31.070834073153435 + ], + [ + 1.593350497159122, + -42.22442626953125 + ], + [ + 7.96686345880687, + -49.3946144797585 + ], + [ + 16.730402166193244, + -54.971424449573874 + ], + [ + 21.51056463068187, + -56.56480268998581 + ], + [ + 27.884022105823874, + -55.76812744140625 + ], + [ + 37.444291548295496, + -48.597939231179 + ], + [ + 48.597911487926126, + -35.850941051136374 + ], + [ + 61.34488192471588, + -16.730457652698874 + ], + [ + 63.73496315696025, + -9.560269442471565 + ], + [ + 60.548206676136374, + -3.186756480823874 + ], + [ + 53.37801846590912, + 0.796675248579561 + ], + [ + 42.22439852627838, + 5.576837713068187 + ], + [ + 35.850885564630744, + 7.170188210227252 + ], + [ + 30.274103338068244, + 7.966863458806813 + ], + [ + 27.08734685724437, + 8.763538707386374 + ], + [ + 27.08734685724437, + 8.763538707386374 + ] + ], + "pressures": [ + 0.0595703125, + 0.380859375, + 0.46875, + 0.599609375, + 0.78515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9560546875, + 0.6240234375, + 0.3681640625, + 0.2275390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.08734685724437, + 8.763538707386374 + ] + }, + { + "id": "eU9WCNVNomoSPCk7apF2I", + "type": "freedraw", + "x": 252.0651776202314, + "y": -175.8025490897043, + "width": 74.09196333451712, + "height": 75.68531383167613, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2093604099, + "version": 512, + "versionNonce": 1590561667, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796675248579561 + ], + [ + 2.390025745738683, + -0.7967307350852479 + ], + [ + 4.780106977982939, + -3.983487215909122 + ], + [ + 6.373457475142061, + -8.763594193892061 + ], + [ + 6.373457475142061, + -13.543701171875 + ], + [ + 5.576782226562443, + -15.137107155539809 + ], + [ + 3.186756480823817, + -15.933782404119313 + ], + [ + 0.796675248579561, + -15.933782404119313 + ], + [ + -2.390081232244313, + -14.340376420454561 + ], + [ + -7.170188210227252, + -11.950350674715935 + ], + [ + -9.560269442471565, + -11.153619939630687 + ], + [ + -11.153619939630687, + -10.356944691051126 + ], + [ + -11.950350674715935, + -10.356944691051126 + ], + [ + -11.153619939630687, + -13.543701171875 + ], + [ + -6.373512961647748, + -19.917214133522748 + ], + [ + -0.7967307350852479, + -28.680752840909122 + ], + [ + 11.950295188210191, + -43.021129261363626 + ], + [ + 20.713833895596565, + -49.394642223011374 + ], + [ + 27.087346857244313, + -52.58139870383525 + ], + [ + 31.86745383522731, + -52.58139870383525 + ], + [ + 42.224398526278435, + -47.00456099076706 + ], + [ + 50.19126198508519, + -38.24102228338069 + ], + [ + 56.56477494673294, + -27.88407759232956 + ], + [ + 61.344881924715935, + -19.120538884943187 + ], + [ + 62.14161265980118, + -11.950350674715935 + ], + [ + 58.95485617897731, + -2.390025745738626 + ], + [ + 54.17474920099431, + 6.373457475142061 + ], + [ + 48.59791148792618, + 15.137051669034065 + ], + [ + 43.81780450994319, + 20.713833895596565 + ], + [ + 38.24096679687494, + 23.103915127840878 + ], + [ + 36.647616299715935, + 21.510564630681813 + ], + [ + 35.85094105113632, + 19.1204833984375 + ], + [ + 35.85094105113632, + 17.527132901278378 + ], + [ + 35.85094105113632, + 17.527132901278378 + ] + ], + "pressures": [ + 0.0380859375, + 0.21484375, + 0.3330078125, + 0.4052734375, + 0.4765625, + 0.6640625, + 0.732421875, + 0.802734375, + 0.857421875, + 0.8828125, + 0.921875, + 0.9404296875, + 0.94921875, + 0.953125, + 0.92578125, + 0.9296875, + 0.9296875, + 0.9296875, + 0.931640625, + 0.92578125, + 0.900390625, + 0.884765625, + 0.8701171875, + 0.8701171875, + 0.849609375, + 0.8134765625, + 0.79296875, + 0.7626953125, + 0.6337890625, + 0.44921875, + 0.361328125, + 0.224609375, + 0.1376953125, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.85094105113632, + 17.527132901278378 + ] + }, + { + "id": "5aPOodEh0t7quyUUe2TyI", + "type": "freedraw", + "x": 261.62539157619733, + "y": -153.49530921044294, + "width": 74.09196333451706, + "height": 71.70188210227275, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1332240365, + "version": 514, + "versionNonce": 1166844461, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390081232244256, + 4.780106977982939 + ], + [ + 4.780162464488626, + 6.373457475142004 + ], + [ + 8.763594193892004, + 7.170188210227252 + ], + [ + 11.950350674715878, + 6.373457475142004 + ], + [ + 15.933782404119256, + 3.983431729403378 + ], + [ + 19.12053888494313, + -0.796675248579561 + ], + [ + 21.510564630681756, + -5.576837713068187 + ], + [ + 22.307239879261374, + -14.340376420454561 + ], + [ + 21.510564630681756, + -20.713833895596622 + ], + [ + 19.12053888494313, + -26.290727095170496 + ], + [ + 15.137051669034008, + -27.88407759232956 + ], + [ + 5.57683771306813, + -26.290727095170496 + ], + [ + -0.7966752485796178, + -23.103970614346622 + ], + [ + -6.373457475142118, + -20.713833895596622 + ], + [ + -9.560213955965935, + -19.917214133522748 + ], + [ + -10.356944691051183, + -19.120538884943187 + ], + [ + -11.153619939630687, + -19.917214133522748 + ], + [ + -11.153619939630687, + -24.697265625 + ], + [ + -9.560213955965935, + -33.46085981889206 + ], + [ + -3.186756480823874, + -48.59796697443181 + ], + [ + 2.390081232244256, + -57.36150568181819 + ], + [ + 7.9669189453125, + -62.938343394886374 + ], + [ + 14.340376420454504, + -64.5316938920455 + ], + [ + 23.10397061434651, + -62.938343394886374 + ], + [ + 43.81780450994313, + -50.987992720170496 + ], + [ + 55.76815518465901, + -43.02112926136368 + ], + [ + 62.141612659801126, + -35.850941051136374 + ], + [ + 62.938343394886374, + -28.680697354403435 + ], + [ + 56.564830433238626, + -16.730402166193187 + ], + [ + 50.19131747159088, + -9.560269442471622 + ], + [ + 44.61453524502838, + -3.983431729403435 + ], + [ + 39.03769753196025, + -0.796675248579561 + ], + [ + 35.850941051136374, + 0.7966752485795041 + ], + [ + 35.054265802556756, + 0.7966752485795041 + ], + [ + 35.054265802556756, + 0 + ], + [ + 35.054265802556756, + 0 + ] + ], + "pressures": [ + 0.0712890625, + 0.2021484375, + 0.2626953125, + 0.34765625, + 0.435546875, + 0.583984375, + 0.78515625, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.921875, + 0.5791015625, + 0.2197265625, + 0.0888671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.054265802556756, + 0 + ] + }, + { + "id": "214WgJz7-_2EiWLowNAj6", + "type": "freedraw", + "x": 274.3724174994927, + "y": -171.81911736030094, + "width": 69.31180087002843, + "height": 69.31180087002843, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 653209869, + "version": 503, + "versionNonce": 547857187, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485796178, + 1.593405983664809 + ], + [ + -0.7966752485795041, + -0.7967307350851911 + ], + [ + -3.186756480823874, + -3.983431729403378 + ], + [ + -7.966863458806756, + -8.763594193892004 + ], + [ + -11.950295188210134, + -11.950350674715878 + ], + [ + -15.933782404119256, + -14.340376420454504 + ], + [ + -20.713889382102252, + -16.730457652698817 + ], + [ + -26.290671608664752, + -19.120538884943187 + ], + [ + -31.867509321732882, + -19.91721413352269 + ], + [ + -40.631048029119256, + -20.713889382102252 + ], + [ + -47.004560990767004, + -19.120538884943187 + ], + [ + -52.58139870383519, + -16.730457652698817 + ], + [ + -59.751531427556756, + -9.560269442471565 + ], + [ + -63.73496315696019, + -2.390025745738626 + ], + [ + -66.1250443892045, + 6.373457475142061 + ], + [ + -67.71839488636357, + 14.340376420454561 + ], + [ + -68.51512562144882, + 22.307239879261374 + ], + [ + -68.51512562144882, + 31.070778586647748 + ], + [ + -66.92171963778407, + 43.021073774857996 + ], + [ + -66.1250443892045, + 47.80123623934662 + ], + [ + -65.32836914062494, + 48.59791148792618 + ], + [ + -63.73496315696019, + 48.59791148792618 + ], + [ + -61.344937411221565, + 47.80123623934662 + ], + [ + -58.95485617897725, + 47.004505504261374 + ], + [ + -58.15818093039769, + 47.004505504261374 + ], + [ + -58.15818093039769, + 47.004505504261374 + ] + ], + "pressures": [ + 0.0029296875, + 0.2060546875, + 0.716796875, + 0.822265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.931640625, + 0.828125, + 0.662109375, + 0.3115234375, + 0.203125, + 0.1142578125, + 0.013671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -58.15818093039769, + 47.004505504261374 + ] + }, + { + "id": "4EyHX9oJkmb-_F1S-LCWd", + "type": "freedraw", + "x": 267.9989045378451, + "y": -193.32968199098275, + "width": 62.14161265980118, + "height": 52.58134321732956, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 615106733, + "version": 479, + "versionNonce": 246236867, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -59.75153142755687, + 11.950295188210248 + ], + [ + -62.14161265980118, + 37.444291548295496 + ], + [ + -62.14161265980118, + 49.39458673650569 + ], + [ + -61.344881924715935, + 50.988048206676126 + ], + [ + -60.54820667613643, + 52.58134321732956 + ], + [ + -59.75153142755687, + 50.19126198508525 + ], + [ + -58.95485617897731, + 47.00456099076706 + ], + [ + -58.95485617897731, + 45.41115500710231 + ], + [ + -58.95485617897731, + 45.41115500710231 + ] + ], + "pressures": [ + 0.8203125, + 1, + 0.951171875, + 0.8662109375, + 0.7587890625, + 0.6591796875, + 0.2236328125, + 0.1455078125, + 0.0673828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -58.95485617897731, + 45.41115500710231 + ] + }, + { + "id": "4vhG7bIYBQaT2wfWISy3F", + "type": "freedraw", + "x": 266.40555404068596, + "y": -178.19257483544294, + "width": 84.4488525390625, + "height": 87.63560901988643, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1348654925, + "version": 494, + "versionNonce": 1925298925, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -0.7967307350852479 + ], + [ + -5.576837713068244, + -3.186811967329561 + ], + [ + -10.356944691051126, + -6.373568448153435 + ], + [ + -16.730457652698874, + -10.357000177556813 + ], + [ + -24.697321111505687, + -14.340431906960248 + ], + [ + -37.444347034801126, + -18.323863636363683 + ], + [ + -46.2078857421875, + -19.120538884943187 + ], + [ + -54.17474920099431, + -19.917269620028435 + ], + [ + -61.34493741122162, + -20.713944868607996 + ], + [ + -71.70182661576706, + -19.120538884943187 + ], + [ + -76.48198908025569, + -14.340431906960248 + ], + [ + -80.46542080965912, + -7.9669189453125 + ], + [ + -82.85550204190343, + -1.5934614701704959 + ], + [ + -84.4488525390625, + 7.170132723721565 + ], + [ + -84.4488525390625, + 14.340320933948817 + ], + [ + -82.85550204190343, + 21.510509144176126 + ], + [ + -80.46542080965912, + 28.680697354403378 + ], + [ + -78.0753950639205, + 35.85094105113632 + ], + [ + -74.88863858309662, + 47.00450550426132 + ], + [ + -73.29523259943181, + 54.174693714488626 + ], + [ + -72.49855735085231, + 60.54815118963069 + ], + [ + -72.49855735085231, + 64.5316384055397 + ], + [ + -72.49855735085231, + 66.92166415127843 + ], + [ + -72.49855735085231, + 66.92166415127843 + ] + ], + "pressures": [ + 0.021484375, + 0.38671875, + 0.55078125, + 0.671875, + 0.8076171875, + 0.904296875, + 0.9755859375, + 1, + 1, + 0.951171875, + 0.921875, + 0.884765625, + 0.861328125, + 0.861328125, + 0.8427734375, + 0.7890625, + 0.7607421875, + 0.732421875, + 0.6845703125, + 0.6494140625, + 0.6240234375, + 0.5224609375, + 0.4013671875, + 0.2705078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -72.49855735085231, + 66.92166415127843 + ] + }, + { + "id": "656k8hvQy3h2EJRCg1NXV", + "type": "freedraw", + "x": 273.5757422509132, + "y": -179.78603630561344, + "width": 143.40376420454544, + "height": 182.4414617365057, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2001896643, + "version": 536, + "versionNonce": 1602057827, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + -3.983431729403378 + ], + [ + -2.39008123224437, + -5.5767822265625 + ], + [ + -4.780162464488626, + -7.170132723721565 + ], + [ + -7.9669189453125, + -9.560213955965878 + ], + [ + -12.747025923295496, + -12.746970436789752 + ], + [ + -20.713889382102252, + -18.32380814985794 + ], + [ + -27.88407759232956, + -22.307239879261317 + ], + [ + -34.25759055397725, + -26.290671608664752 + ], + [ + -40.631103515625, + -27.884022105823817 + ], + [ + -45.41121049360794, + -29.477428089488626 + ], + [ + -53.37807395241475, + -29.477428089488626 + ], + [ + -58.15818093039775, + -28.680697354403378 + ], + [ + -62.141612659801126, + -27.087346857244313 + ], + [ + -66.12504438920456, + -23.90059037642044 + ], + [ + -72.49855735085225, + -19.1204833984375 + ], + [ + -75.68531383167613, + -14.340320933948817 + ], + [ + -78.07539506392044, + -11.153619939630687 + ], + [ + -78.87201482599431, + -7.966863458806813 + ], + [ + -79.66874556107956, + -3.186700994318187 + ], + [ + -78.87201482599431, + 6.373512961647748 + ], + [ + -78.07539506392044, + 13.543756658380687 + ], + [ + -76.48198908025569, + 20.71388938210231 + ], + [ + -74.88858309659088, + 26.290727095170496 + ], + [ + -72.49855735085225, + 33.46091530539775 + ], + [ + -70.10853160511363, + 40.631103515625 + ], + [ + -68.51512562144887, + 49.39469770951706 + ], + [ + -67.71845037286931, + 56.56483043323868 + ], + [ + -66.12504438920456, + 62.14161265980118 + ], + [ + -66.12504438920456, + 67.71845037286931 + ], + [ + -66.12504438920456, + 71.70188210227269 + ], + [ + -66.12504438920456, + 75.68531383167618 + ], + [ + -66.12504438920456, + 78.87207031250006 + ], + [ + -66.92171963778407, + 81.26220703125006 + ], + [ + -67.71845037286931, + 81.26220703125006 + ], + [ + -69.31180087002838, + 82.05882679332393 + ], + [ + -71.70188210227275, + 82.05882679332393 + ], + [ + -74.88858309659088, + 80.46542080965907 + ], + [ + -81.26215154474431, + 76.48198908025569 + ], + [ + -86.04225852272725, + 72.49855735085231 + ], + [ + -90.82231001420456, + 68.51512562144893 + ], + [ + -95.60252796519887, + 66.12509987571019 + ], + [ + -101.17931019176137, + 62.93834339488643 + ], + [ + -103.56939142400569, + 60.54826216264206 + ], + [ + -105.95941716974431, + 58.15818093039775 + ], + [ + -109.14617365056819, + 55.76815518465912 + ], + [ + -113.12960537997157, + 54.971424449573874 + ], + [ + -119.50311834161931, + 53.378129438920496 + ], + [ + -123.48655007102275, + 53.378129438920496 + ], + [ + -128.2666570490057, + 54.17474920099431 + ], + [ + -133.0468195134943, + 56.56483043323868 + ], + [ + -138.62354625355113, + 63.735018643465935 + ], + [ + -141.8103582208807, + 72.49855735085231 + ], + [ + -142.60703346946025, + 82.85550204190343 + ], + [ + -143.40376420454544, + 94.80579723011368 + ], + [ + -143.40376420454544, + 107.55282315340907 + ], + [ + -141.8103582208807, + 124.28322531960231 + ], + [ + -138.62354625355113, + 132.2501442649148 + ], + [ + -133.84349476207387, + 138.6236017400568 + ], + [ + -129.06338778409088, + 144.20043945312506 + ], + [ + -123.48655007102275, + 150.5739524147727 + ], + [ + -117.90976784446025, + 152.96403364701706 + ], + [ + -111.5362548828125, + 152.96403364701706 + ], + [ + -104.36606667258525, + 152.96403364701706 + ], + [ + -97.9925537109375, + 152.1673029119318 + ], + [ + -90.82231001420456, + 151.3706276633523 + ], + [ + -90.82231001420456, + 151.3706276633523 + ] + ], + "pressures": [ + 0.0419921875, + 0.353515625, + 0.5009765625, + 0.638671875, + 0.732421875, + 0.8056640625, + 0.880859375, + 0.9150390625, + 0.9365234375, + 0.953125, + 0.96484375, + 0.9775390625, + 0.970703125, + 0.951171875, + 0.931640625, + 0.900390625, + 0.8935546875, + 0.8896484375, + 0.8876953125, + 0.8662109375, + 0.822265625, + 0.826171875, + 0.83203125, + 0.8427734375, + 0.8349609375, + 0.830078125, + 0.8134765625, + 0.80078125, + 0.80078125, + 0.794921875, + 0.79296875, + 0.794921875, + 0.796875, + 0.791015625, + 0.798828125, + 0.798828125, + 0.8056640625, + 0.8076171875, + 0.8388671875, + 0.8447265625, + 0.8662109375, + 0.9150390625, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.986328125, + 0.9775390625, + 0.96875, + 0.953125, + 0.947265625, + 0.80078125, + 0.611328125, + 0.3466796875, + 0.23828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -90.82231001420456, + 151.3706276633523 + ] + }, + { + "id": "gO8PtAUY1PcgbzcEARWkY", + "type": "freedraw", + "x": 185.14340249594164, + "y": -29.212083890840745, + "width": 3.983487215909065, + "height": 1.5933504971590082, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 631022595, + "version": 471, + "versionNonce": 2047202637, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983487215909065, + -1.5933504971590082 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.201171875, + 0.0849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.983487215909065, + -1.5933504971590082 + ] + }, + { + "id": "w0_VDPqaQ9jeid6vN3o2m", + "type": "freedraw", + "x": 271.98233626724846, + "y": -185.36281853217594, + "width": 77.27860884232956, + "height": 42.224398526278435, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1480310669, + "version": 496, + "versionNonce": 1910944259, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485796178, + -3.186756480823817 + ], + [ + -5.5767822265625, + -7.966863458806813 + ], + [ + -9.560213955965878, + -11.153619939630687 + ], + [ + -13.543701171875, + -14.340376420454504 + ], + [ + -18.323808149857996, + -17.527132901278378 + ], + [ + -23.103915127840935, + -20.713889382102252 + ], + [ + -31.867509321732996, + -23.900645862926126 + ], + [ + -38.240966796875, + -25.49399636008519 + ], + [ + -43.021129261363626, + -26.290671608664752 + ], + [ + -48.597911487926126, + -26.290671608664752 + ], + [ + -54.17474920099431, + -26.290671608664752 + ], + [ + -61.344881924715935, + -23.900645862926126 + ], + [ + -65.32831365411931, + -20.713889382102252 + ], + [ + -69.31174538352275, + -18.32380814985794 + ], + [ + -70.9051513671875, + -16.730457652698817 + ], + [ + -72.49855735085231, + -15.137051669034065 + ], + [ + -72.49855735085231, + -11.950295188210191 + ], + [ + -72.49855735085231, + -7.170188210227252 + ], + [ + -72.49855735085231, + -2.390081232244313 + ], + [ + -72.49855735085231, + 3.983431729403435 + ], + [ + -73.29517711292613, + 7.170243696732996 + ], + [ + -74.88858309659093, + 10.356944691051183 + ], + [ + -76.48198908025569, + 13.543701171875 + ], + [ + -77.27860884232956, + 15.137107155539809 + ], + [ + -77.27860884232956, + 15.933726917613683 + ], + [ + -76.48198908025569, + 15.137107155539809 + ], + [ + -74.88858309659093, + 13.543701171875 + ], + [ + -74.88858309659093, + 13.543701171875 + ] + ], + "pressures": [ + 0.046875, + 0.353515625, + 0.640625, + 0.7705078125, + 0.859375, + 0.9169921875, + 0.9794921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96875, + 0.625, + 0.1474609375, + 0.015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -74.88858309659093, + 13.543701171875 + ] + }, + { + "id": "TJExwIlHwAE6uOW4FZpZO", + "type": "freedraw", + "x": 275.16909274807233, + "y": -182.97273729993162, + "width": 181.6447310014205, + "height": 249.36312588778412, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 127550627, + "version": 522, + "versionNonce": 177709997, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983431729403378 + ], + [ + -2.39008123224437, + -6.373512961647691 + ], + [ + -5.5767822265625, + -8.763594193892004 + ], + [ + -10.356944691051126, + -11.15361993963063 + ], + [ + -16.730457652698874, + -15.137107155539752 + ], + [ + -27.88407759232956, + -21.510564630681813 + ], + [ + -35.05426580255687, + -24.69732111150563 + ], + [ + -43.81780450994319, + -27.08740234375 + ], + [ + -50.987992720170496, + -27.08740234375 + ], + [ + -61.34493741122162, + -27.08740234375 + ], + [ + -66.92171963778412, + -24.69732111150563 + ], + [ + -69.31180087002843, + -23.103970614346565 + ], + [ + -75.68531383167618, + -14.340376420454504 + ], + [ + -74.88858309659093, + 73.29523259943187 + ], + [ + -74.88858309659093, + 81.26209605823863 + ], + [ + -77.27866432883525, + 92.415771484375 + ], + [ + -78.8720703125, + 97.99249822443187 + ], + [ + -81.26209605823868, + 101.17925470525574 + ], + [ + -82.85550204190343, + 102.7726606889205 + ], + [ + -87.63560901988637, + 103.5693359375 + ], + [ + -92.41566051136368, + 102.7726606889205 + ], + [ + -98.78922895951706, + 100.38263494318187 + ], + [ + -105.95941716974437, + 95.60247247869324 + ], + [ + -112.33287464488637, + 90.82231001420462 + ], + [ + -119.50311834161937, + 84.44890802556824 + ], + [ + -122.68987482244319, + 81.26209605823863 + ], + [ + -126.67330655184662, + 78.07533957741475 + ], + [ + -130.65673828125, + 73.29523259943187 + ], + [ + -137.8269264914773, + 66.92171963778412 + ], + [ + -140.21689675071025, + 64.5316938920455 + ], + [ + -148.18381569602275, + 60.54826216264206 + ], + [ + -154.5573286576705, + 60.54826216264206 + ], + [ + -159.33749112215912, + 60.54826216264206 + ], + [ + -164.91427334872162, + 62.93828790838069 + ], + [ + -173.677812056108, + 74.09190784801137 + ], + [ + -177.66129927201706, + 85.24552778764212 + ], + [ + -180.05126953125, + 97.99249822443187 + ], + [ + -181.6447310014205, + 120.29979359019887 + ], + [ + -181.6447310014205, + 137.82687100497162 + ], + [ + -178.45797452059662, + 159.33743563565338 + ], + [ + -172.88113680752843, + 180.05138050426137 + ], + [ + -166.5076238458807, + 192.00167569247162 + ], + [ + -160.134110884233, + 199.96853915127838 + ], + [ + -144.20038396661937, + 211.12210360440338 + ], + [ + -130.65673828125, + 218.29229181463074 + ], + [ + -114.72295587713069, + 222.27572354403412 + ], + [ + -93.21239124644887, + 219.88575328480113 + ], + [ + -88.43222878196025, + 219.08896706321025 + ], + [ + -82.05877130681819, + 215.90226606889212 + ], + [ + -81.26209605823868, + 212.71550958806824 + ], + [ + -81.26209605823868, + 206.3419966264205 + ], + [ + -83.652177290483, + 201.5618896484375 + ], + [ + -84.44879705255687, + 200.76515891335225 + ], + [ + -84.44879705255687, + 200.76515891335225 + ] + ], + "pressures": [ + 0.0390625, + 0.169921875, + 0.2392578125, + 0.3447265625, + 0.4833984375, + 0.6884765625, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.75, + 0.640625, + 0.4990234375, + 0.2939453125, + 0.193359375, + 0.08984375, + 0.001953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -84.44879705255687, + 200.76515891335225 + ] + }, + { + "id": "A9kB-5a0KKyYVVIjclsr_", + "type": "freedraw", + "x": 283.9326314554587, + "y": -192.5330067424032, + "width": 186.42483797940343, + "height": 207.93534712357956, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 674719213, + "version": 515, + "versionNonce": 1189575075, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780106977982996, + -3.186756480823874 + ], + [ + -8.763538707386374, + -5.576837713068187 + ], + [ + -13.54364568536937, + -7.966863458806813 + ], + [ + -18.323808149857996, + -11.153619939630687 + ], + [ + -27.884022105823874, + -15.137051669034065 + ], + [ + -35.850885564630744, + -15.933726917613626 + ], + [ + -47.004505504261374, + -15.933726917613626 + ], + [ + -58.15812544389206, + -13.543701171875 + ], + [ + -72.49850186434662, + -8.763538707386374 + ], + [ + -80.46542080965912, + -3.983431729403435 + ], + [ + -88.43228426846593, + 3.186756480823874 + ], + [ + -96.39914772727275, + 18.323863636363626 + ], + [ + -100.38257945667618, + 29.477428089488626 + ], + [ + -103.56933593750006, + 39.03769753196025 + ], + [ + -104.36601118607956, + 47.00456099076706 + ], + [ + -104.36601118607956, + 54.971424449573874 + ], + [ + -101.17919921875006, + 65.328369140625 + ], + [ + -94.805741743608, + 85.24552778764206 + ], + [ + -91.61904074928981, + 97.99260919744319 + ], + [ + -89.22890403053981, + 109.94290438565343 + ], + [ + -87.63560901988637, + 122.68987482244319 + ], + [ + -86.83887828480118, + 135.43684525923294 + ], + [ + -86.83887828480118, + 152.96397816051132 + ], + [ + -89.22890403053981, + 160.9308416193182 + ], + [ + -93.21233575994324, + 164.91427334872157 + ], + [ + -98.78922895951706, + 166.5076238458807 + ], + [ + -108.349442915483, + 164.11759810014206 + ], + [ + -114.72295587713074, + 160.13416637073868 + ], + [ + -121.893144087358, + 152.96397816051132 + ], + [ + -127.4699263139205, + 144.99711470170456 + ], + [ + -134.64011452414775, + 131.45341352982956 + ], + [ + -139.42027698863637, + 123.48655007102269 + ], + [ + -144.20038396661937, + 117.11303710937494 + ], + [ + -148.98043545809662, + 111.53619939630681 + ], + [ + -154.5573286576705, + 107.55276766690343 + ], + [ + -163.32086736505687, + 105.16274192116481 + ], + [ + -170.49105557528412, + 105.16274192116481 + ], + [ + -176.86451305042618, + 113.12960537997157 + ], + [ + -182.44135076349437, + 126.67330655184657 + ], + [ + -186.42483797940343, + 144.2003839666193 + ], + [ + -186.42483797940343, + 148.98054643110794 + ], + [ + -186.42483797940343, + 152.96397816051132 + ], + [ + -182.44135076349437, + 160.13416637073868 + ], + [ + -176.86451305042618, + 170.4911110617898 + ], + [ + -164.91421786221593, + 187.22151322798294 + ], + [ + -160.134110884233, + 192.00162020596593 + ], + [ + -160.134110884233, + 192.00162020596593 + ] + ], + "pressures": [ + 0.12890625, + 0.28125, + 0.4033203125, + 0.5615234375, + 0.740234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -160.134110884233, + 192.00162020596593 + ] + }, + { + "id": "eCE2DZbGQsRgzMXh5kQeN", + "type": "freedraw", + "x": 129.3753027977882, + "y": 4.248775928051373, + "width": 35.850941051136374, + "height": 47.80123623934662, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1448182371, + "version": 472, + "versionNonce": 413181453, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -9.560213955965878, + 47.80123623934662 + ], + [ + -35.850941051136374, + 4.780162464488626 + ], + [ + -35.054210316051126, + 3.983431729403378 + ], + [ + -30.2740478515625, + 3.983431729403378 + ], + [ + -27.884022105823874, + 3.983431729403378 + ], + [ + -27.087346857244313, + 3.983431729403378 + ], + [ + -27.087346857244313, + 3.983431729403378 + ] + ], + "pressures": [ + 1, + 1, + 1, + 0.5234375, + 0.2109375, + 0.1298828125, + 0.0849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -27.087346857244313, + 3.983431729403378 + ] + }, + { + "id": "Ewa02hbH2JdePa9eza46_", + "type": "freedraw", + "x": 99.89787470829958, + "y": 16.19907111626162, + "width": 70.10847611860794, + "height": 26.290671608664752, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 740127917, + "version": 484, + "versionNonce": 1001278787, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159065, + -0.7966752485796178 + ], + [ + -0.796619762073874, + 1.5933504971590082 + ], + [ + 3.186811967329561, + 5.57683771306813 + ], + [ + 9.560269442471565, + 11.15361993963063 + ], + [ + 17.527132901278435, + 15.933726917613626 + ], + [ + 25.493996360085248, + 19.917158647017004 + ], + [ + 36.64761629971588, + 23.900645862926126 + ], + [ + 43.81780450994319, + 24.697376598011374 + ], + [ + 50.19131747159088, + 25.493996360085134 + ], + [ + 54.97147993607956, + 24.697376598011374 + ], + [ + 62.938343394886374, + 21.510564630681756 + ], + [ + 66.92177512428975, + 18.323808149857882 + ], + [ + 68.51512562144887, + 15.933726917613626 + ], + [ + 68.51512562144887, + 12.747025923295382 + ], + [ + 66.92177512428975, + 8.763594193892004 + ], + [ + 60.54826216264206, + 3.983431729403378 + ], + [ + 54.97147993607956, + 0.7967307350851343 + ], + [ + 53.37807395241475, + 0.7967307350851343 + ], + [ + 53.37807395241475, + 0.7967307350851343 + ] + ], + "pressures": [ + 0.013671875, + 0.2802734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.734375, + 0.279296875, + 0.1064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 53.37807395241475, + 0.7967307350851343 + ] + }, + { + "id": "48JTc7V_EeuEy4SKY7__f", + "type": "freedraw", + "x": 89.54093001724846, + "y": 29.74277228813662, + "width": 58.954800692471565, + "height": 89.22901500355113, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1389359363, + "version": 490, + "versionNonce": 1461345389, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.389970259232939, + 6.373457475142004 + ], + [ + -2.389970259232939, + 7.966863458806756 + ], + [ + -2.389970259232939, + 11.153675426136374 + ], + [ + -1.593350497159122, + 11.950295188210134 + ], + [ + 3.186756480823874, + 15.137107155539752 + ], + [ + 11.950350674715878, + 18.323808149857882 + ], + [ + 23.103970614346565, + 21.510564630681756 + ], + [ + 36.64761629971588, + 20.71383389559651 + ], + [ + 43.81780450994319, + 16.73040216619313 + ], + [ + 50.19131747159088, + 9.560213955965878 + ], + [ + 54.971424449573874, + -1.5934059836648657 + ], + [ + 56.564830433238626, + -19.1204833984375 + ], + [ + 55.768155184659065, + -27.884077592329618 + ], + [ + 52.58139870383519, + -35.850941051136374 + ], + [ + 47.801236239346565, + -43.021129261363626 + ], + [ + 41.427778764204504, + -49.394642223011374 + ], + [ + 30.274158824573874, + -58.954856178977366 + ], + [ + 23.900645862926126, + -63.73501864346599 + ], + [ + 18.32380814985794, + -66.12504438920462 + ], + [ + 15.137051669034065, + -66.92177512428987 + ], + [ + 11.950350674715878, + -66.92177512428987 + ], + [ + 10.356944691051126, + -67.71845037286937 + ], + [ + 9.560324928977252, + -67.71845037286937 + ], + [ + 10.356944691051126, + -67.71845037286937 + ], + [ + 10.356944691051126, + -67.71845037286937 + ] + ], + "pressures": [ + 0.0537109375, + 0.162109375, + 0.1796875, + 0.236328125, + 0.2958984375, + 0.3681640625, + 0.5146484375, + 0.61328125, + 0.7265625, + 0.83203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96484375, + 0.642578125, + 0.0107421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356944691051126, + -67.71845037286937 + ] + }, + { + "id": "Bx4e5J_o69bRS39yGLZ5b", + "type": "freedraw", + "x": 96.71111822747571, + "y": 15.402395867682003, + "width": 11.950295188210248, + "height": 22.307239879261374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 555351427, + "version": 472, + "versionNonce": 60402915, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + 5.576837713068244 + ], + [ + 0, + 7.170188210227252 + ], + [ + 0.796675248579561, + 11.153619939630744 + ], + [ + 3.186756480823874, + 15.137051669034122 + ], + [ + 7.170188210227309, + 19.1204833984375 + ], + [ + 11.153619939630687, + 22.307239879261374 + ], + [ + 11.153619939630687, + 22.307239879261374 + ] + ], + "pressures": [ + 0.0380859375, + 0.1513671875, + 0.19921875, + 0.25390625, + 0.3427734375, + 0.4384765625, + 0.5234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.153619939630687, + 22.307239879261374 + ] + }, + { + "id": "3hMGuK8CEZ1n2PtBgXO-_", + "type": "freedraw", + "x": 110.25481939935071, + "y": 38.506310995522995, + "width": 189.61153897372157, + "height": 274.0604469992898, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 640995757, + "version": 534, + "versionNonce": 1573799629, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 44.614535245028435, + -31.070778586647748 + ], + [ + 35.850941051136374, + -47.00456099076712 + ], + [ + 20.713889382102252, + -58.15818093039775 + ], + [ + 16.730457652698874, + -59.75153142755687 + ], + [ + 8.763594193892061, + -62.14161265980124 + ], + [ + 3.186756480823874, + -62.938287908380744 + ], + [ + -2.390081232244313, + -64.5316938920455 + ], + [ + -8.763538707386374, + -68.51512562144887 + ], + [ + -12.747025923295439, + -72.49855735085237 + ], + [ + -15.136996182528378, + -76.48198908025574 + ], + [ + -17.527132901278378, + -80.46542080965912 + ], + [ + -19.120427911931813, + -84.4488525390625 + ], + [ + -19.91715864701706, + -93.21233575994324 + ], + [ + -19.91715864701706, + -101.97598544034099 + ], + [ + -19.91715864701706, + -110.73952414772737 + ], + [ + -19.120427911931813, + -119.50311834161937 + ], + [ + -16.730457652698874, + -129.86000754616487 + ], + [ + -14.340376420454561, + -137.82692649147737 + ], + [ + -11.153564453125, + -145.79378995028412 + ], + [ + -7.170132723721565, + -153.760653409091 + ], + [ + -2.390081232244313, + -161.72751686789775 + ], + [ + 5.5767822265625, + -175.27121803977275 + ], + [ + 11.950295188210248, + -184.03475674715912 + ], + [ + 17.527132901278435, + -192.00162020596593 + ], + [ + 23.103915127840935, + -199.17180841619324 + ], + [ + 31.86750932173294, + -205.54532137784093 + ], + [ + 39.03769753196025, + -205.54532137784093 + ], + [ + 47.80123623934662, + -203.95197088068187 + ], + [ + 57.36150568181819, + -199.17180841619324 + ], + [ + 66.12504438920456, + -192.7982954545455 + ], + [ + 74.09190784801137, + -183.23808149857962 + ], + [ + 77.27866432883525, + -175.27121803977275 + ], + [ + 78.8720703125, + -167.30435458096593 + ], + [ + 79.66874556107956, + -160.13416637073868 + ], + [ + 81.26209605823863, + -152.96392267400574 + ], + [ + 82.85550204190343, + -152.16724742542624 + ], + [ + 83.65217729048294, + -152.16724742542624 + ], + [ + 85.24552778764206, + -152.16724742542624 + ], + [ + 86.83893377130681, + -153.760653409091 + ], + [ + 87.63560901988637, + -156.15073464133525 + ], + [ + 90.82236550071025, + -162.5241921164773 + ], + [ + 92.415771484375, + -170.49105557528412 + ], + [ + 92.415771484375, + -180.84794477982962 + ], + [ + 90.82236550071025, + -197.57845791903412 + ], + [ + 88.43233975497162, + -208.73202237215912 + ], + [ + 85.24552778764206, + -217.49561656605118 + ], + [ + 82.05877130681819, + -223.86912952769893 + ], + [ + 79.66874556107956, + -228.64923650568187 + ], + [ + 76.48204456676137, + -236.61615545099437 + ], + [ + 76.48204456676137, + -242.98961292613643 + ], + [ + 76.48204456676137, + -250.15980113636368 + ], + [ + 79.66874556107956, + -256.53331409801143 + ], + [ + 86.83893377130681, + -262.9068270596591 + ], + [ + 93.21239124644887, + -266.89025878906256 + ], + [ + 98.78922895951706, + -271.6703657670455 + ], + [ + 103.5693359375, + -274.0604469992898 + ], + [ + 109.14617365056819, + -274.0604469992898 + ], + [ + 117.90971235795456, + -269.280312278054 + ], + [ + 137.82692649147725, + -254.14323286576712 + ], + [ + 151.37057217684662, + -245.37969415838074 + ], + [ + 160.93084161931813, + -241.3962624289773 + ], + [ + 168.1010298295455, + -239.006181196733 + ], + [ + 169.6943803267045, + -239.006181196733 + ], + [ + 169.6943803267045, + -236.61615545099437 + ], + [ + 168.897705078125, + -230.24264248934662 + ], + [ + 166.50762384588063, + -222.2757790305398 + ], + [ + 162.52419211647725, + -210.32542835582393 + ], + [ + 161.72751686789775, + -203.95197088068187 + ], + [ + 162.52419211647725, + -198.37513316761368 + ], + [ + 164.117598100142, + -195.1883766867898 + ], + [ + 165.71094859730113, + -194.39170143821025 + ], + [ + 165.71094859730113, + -194.39170143821025 + ] + ], + "pressures": [ + 0.546875, + 0.8828125, + 1, + 0.9921875, + 1, + 1, + 1, + 1, + 0.9921875, + 0.9619140625, + 0.9296875, + 0.9130859375, + 0.904296875, + 0.8984375, + 0.8984375, + 0.8876953125, + 0.8642578125, + 0.8447265625, + 0.8447265625, + 0.8408203125, + 0.8388671875, + 0.8349609375, + 0.80078125, + 0.7626953125, + 0.73828125, + 0.736328125, + 0.728515625, + 0.716796875, + 0.716796875, + 0.728515625, + 0.703125, + 0.677734375, + 0.677734375, + 0.6787109375, + 0.6787109375, + 0.6923828125, + 0.6845703125, + 0.66015625, + 0.615234375, + 0.6044921875, + 0.6025390625, + 0.609375, + 0.61328125, + 0.6552734375, + 0.748046875, + 0.7783203125, + 0.791015625, + 0.791015625, + 0.78515625, + 0.78125, + 0.7626953125, + 0.75390625, + 0.748046875, + 0.75, + 0.75, + 0.7568359375, + 0.7607421875, + 0.7607421875, + 0.75390625, + 0.638671875, + 0.59765625, + 0.5791015625, + 0.6015625, + 0.6025390625, + 0.6064453125, + 0.599609375, + 0.576171875, + 0.5498046875, + 0.529296875, + 0.4970703125, + 0.3759765625, + 0.1357421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 165.71094859730113, + -194.39170143821025 + ] + }, + { + "id": "CzE3NU5QrZC5Fq9sOJ7ov", + "type": "freedraw", + "x": 282.3392809582996, + "y": -168.63236087947706, + "width": 204.74864612926137, + "height": 248.5664506392045, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 964967469, + "version": 528, + "versionNonce": 1647843459, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -2.390081232244313 + ], + [ + -3.186756480823874, + -6.373512961647691 + ], + [ + -5.576837713068244, + -10.356944691051126 + ], + [ + -7.96686345880687, + -15.933782404119313 + ], + [ + -8.763538707386374, + -23.103970614346565 + ], + [ + -12.746970436789752, + -35.850941051136374 + ], + [ + -16.730457652698874, + -43.81780450994319 + ], + [ + -22.307239879261374, + -49.394642223011374 + ], + [ + -35.05426580255681, + -54.97147993607956 + ], + [ + -45.41115500710225, + -57.36150568181819 + ], + [ + -54.17474920099431, + -57.36150568181819 + ], + [ + -62.93828790838069, + -56.564830433238626 + ], + [ + -70.9051513671875, + -54.17474920099431 + ], + [ + -79.66869007457387, + -50.19131747159088 + ], + [ + -93.21239124644887, + -43.021129261363626 + ], + [ + -101.17931019176137, + -38.24102228338069 + ], + [ + -106.75609241832387, + -33.46091530539769 + ], + [ + -110.73952414772725, + -28.680752840909065 + ], + [ + -111.53619939630681, + -24.697321111505687 + ], + [ + -111.53619939630681, + -18.32380814985794 + ], + [ + -109.94284889914775, + -10.356944691051126 + ], + [ + -106.75609241832387, + 0 + ], + [ + -103.56928045099431, + 9.560213955965935 + ], + [ + -97.9925537109375, + 22.307239879261374 + ], + [ + -94.80579723011363, + 32.66412908380681 + ], + [ + -93.21239124644887, + 43.8177490234375 + ], + [ + -92.41571599786931, + 54.97142444957382 + ], + [ + -92.41571599786931, + 66.92171963778407 + ], + [ + -94.80579723011363, + 71.70182661576706 + ], + [ + -97.9925537109375, + 78.07539506392044 + ], + [ + -101.97598544034093, + 85.24552778764206 + ], + [ + -104.36606667258525, + 90.02569025213069 + ], + [ + -108.34949840198863, + 91.61904074928981 + ], + [ + -112.33293013139206, + 90.82231001420456 + ], + [ + -117.90971235795456, + 88.43228426846593 + ], + [ + -123.48649458451706, + 86.04225852272731 + ], + [ + -132.25008877840912, + 79.66869007457382 + ], + [ + -138.6236017400568, + 74.88858309659093 + ], + [ + -145.79378995028412, + 69.31174538352269 + ], + [ + -152.1673029119318, + 64.53163840553981 + ], + [ + -161.72751686789775, + 59.75153142755681 + ], + [ + -168.10102982954544, + 57.36145019531256 + ], + [ + -174.4745427911932, + 55.768099698153435 + ], + [ + -180.84800026633525, + 54.17474920099431 + ], + [ + -187.22145774147725, + 53.378018465909065 + ], + [ + -195.985107421875, + 54.17474920099431 + ], + [ + -200.76521439985794, + 57.36145019531256 + ], + [ + -203.15524014559657, + 58.95485617897731 + ], + [ + -203.9519708806818, + 62.14161265980118 + ], + [ + -204.74864612926137, + 66.12504438920456 + ], + [ + -203.15524014559657, + 78.07539506392044 + ], + [ + -199.96853915127843, + 89.22895951704544 + ], + [ + -196.78178267045456, + 101.17925470525569 + ], + [ + -192.79835094105113, + 111.53619939630681 + ], + [ + -184.8314874822443, + 121.89319957386368 + ], + [ + -178.45797452059657, + 127.46992631392044 + ], + [ + -171.28773082386363, + 133.84349476207382 + ], + [ + -164.11759810014206, + 139.42027698863632 + ], + [ + -150.57389692826706, + 151.37057217684657 + ], + [ + -141.8103582208807, + 159.33743563565343 + ], + [ + -136.2335205078125, + 165.7110040838068 + ], + [ + -132.25008877840912, + 169.6944358132102 + ], + [ + -130.65673828125, + 172.88113680752843 + ], + [ + -129.86006303267044, + 178.45791903409093 + ], + [ + -127.46992631392044, + 191.20494495738632 + ], + [ + -127.46992631392044, + 191.20494495738632 + ] + ], + "pressures": [ + 0.05078125, + 0.30859375, + 0.404296875, + 0.5107421875, + 0.6357421875, + 0.751953125, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -127.46992631392044, + 191.20494495738632 + ] + }, + { + "id": "V2p-G85Cd4zCgs091zXXv", + "type": "freedraw", + "x": 155.66597440645296, + "y": 28.149366304471755, + "width": 62.93828790838063, + "height": 25.494051846590878, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1423106285, + "version": 469, + "versionNonce": 257287469, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -47.00450550426132, + 24.697376598011374 + ], + [ + -58.95485617897725, + 10.35694469105124 + ], + [ + -62.141612659801126, + 2.39008123224437 + ], + [ + -62.93828790838063, + 0 + ], + [ + -62.141612659801126, + 0 + ], + [ + -60.54815118963063, + 0 + ], + [ + -58.95485617897725, + -0.7966752485795041 + ], + [ + -58.95485617897725, + -0.7966752485795041 + ] + ], + "pressures": [ + 1, + 1, + 1, + 0.853515625, + 0.751953125, + 0.28515625, + 0.1904296875, + 0.1220703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -58.95485617897725, + -0.7966752485795041 + ] + }, + { + "id": "eCFEfZFqPglO-c9TXORWc", + "type": "freedraw", + "x": 143.71567921824277, + "y": -2.124737033596375, + "width": 24.697321111505687, + "height": 49.394642223011374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1382526157, + "version": 476, + "versionNonce": 625479715, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390081232244313, + 5.57683771306813 + ], + [ + 6.373512961647691, + 11.950295188210248 + ], + [ + 10.356944691051126, + 19.12053888494313 + ], + [ + 12.747025923295439, + 25.493996360085248 + ], + [ + 14.340376420454561, + 34.25753506747162 + ], + [ + 13.543701171875, + 38.240966796875 + ], + [ + 11.153675426136374, + 41.427723277698874 + ], + [ + 7.966863458806813, + 44.61447975852275 + ], + [ + 3.983431729403378, + 47.00461647727275 + ], + [ + -1.593350497159122, + 49.394642223011374 + ], + [ + -3.983431729403435, + 49.394642223011374 + ], + [ + -6.373512961647748, + 48.597911487926126 + ], + [ + -7.966863458806813, + 47.00461647727275 + ], + [ + -10.356944691051126, + 42.22445401278412 + ], + [ + -10.356944691051126, + 39.83437278053975 + ], + [ + -10.356944691051126, + 38.240966796875 + ], + [ + -10.356944691051126, + 38.240966796875 + ] + ], + "pressures": [ + 0.0849609375, + 0.7783203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7744140625, + 0.326171875, + 0.220703125, + 0.1552734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -10.356944691051126, + 38.240966796875 + ] + }, + { + "id": "rr9E4-fSFU_vSEL7Kt3SV", + "type": "freedraw", + "x": 146.90249118557233, + "y": -6.108168762999753, + "width": 25.493996360085248, + "height": 40.631048029119256, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1849621901, + "version": 479, + "versionNonce": 1058715533, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966197620738171, + 0.7966752485795041 + ], + [ + 4.780051491477252, + 6.373512961647748 + ], + [ + 10.356889204545439, + 15.137107155539752 + ], + [ + 11.950295188210191, + 20.713889382102252 + ], + [ + 12.746914950284065, + 24.69732111150563 + ], + [ + 12.746914950284065, + 28.68075284090901 + ], + [ + 11.153564453125, + 32.6641845703125 + ], + [ + 7.170132723721565, + 37.44429154829538 + ], + [ + 3.18670099431813, + 39.83437278053975 + ], + [ + -1.593405983664809, + 40.631048029119256 + ], + [ + -6.373568448153435, + 40.631048029119256 + ], + [ + -10.35700017755687, + 40.631048029119256 + ], + [ + -11.950295188210248, + 39.83437278053975 + ], + [ + -12.747081409801183, + 39.83437278053975 + ], + [ + -12.747081409801183, + 39.03769753196025 + ], + [ + -12.747081409801183, + 37.44429154829538 + ], + [ + -11.950295188210248, + 37.44429154829538 + ], + [ + -10.35700017755687, + 36.64761629971588 + ], + [ + -9.560324928977309, + 36.64761629971588 + ], + [ + -9.560324928977309, + 36.64761629971588 + ] + ], + "pressures": [ + 0.1279296875, + 0.7890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.87890625, + 0.2548828125, + 0.2158203125, + 0.1259765625, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -9.560324928977309, + 36.64761629971588 + ] + }, + { + "id": "r0NKRrTjH3JxYKcoRJ1Cp", + "type": "freedraw", + "x": 93.52436174665183, + "y": 25.75934055873313, + "width": 118.70644309303975, + "height": 94.80579723011363, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1923100589, + "version": 484, + "versionNonce": 1589121987, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558544, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -2.390081232244256 + ], + [ + -3.983431729403378, + 0.7966752485796178 + ], + [ + -1.593350497159065, + 11.950295188210248 + ], + [ + 3.186756480823874, + 21.51056463068187 + ], + [ + 10.356944691051183, + 30.274103338068244 + ], + [ + 19.120538884943187, + 38.240966796875 + ], + [ + 29.477483575994313, + 45.411155007102366 + ], + [ + 45.411265980113626, + 54.174693714488626 + ], + [ + 56.564830433238626, + 58.15818093039775 + ], + [ + 67.71845037286931, + 60.548206676136374 + ], + [ + 78.0753950639205, + 60.548206676136374 + ], + [ + 92.415771484375, + 55.76809969815349 + ], + [ + 99.58595969460231, + 50.19126198508525 + ], + [ + 105.95941716974431, + 44.61447975852275 + ], + [ + 110.739579634233, + 38.240966796875 + ], + [ + 114.72301136363637, + 28.68069735440349 + ], + [ + 114.72301136363637, + 8.763538707386374 + ], + [ + 111.5362548828125, + -3.186756480823874 + ], + [ + 107.55282315340912, + -12.746970436789752 + ], + [ + 103.56939142400569, + -18.323808149857882 + ], + [ + 95.60252796519887, + -25.493996360085134 + ], + [ + 89.22907049005681, + -31.070834073153378 + ], + [ + 84.4488525390625, + -34.25759055397725 + ], + [ + 85.24563876065343, + -33.460859818892004 + ], + [ + 89.22907049005681, + -30.274158824573874 + ], + [ + 89.22907049005681, + -30.274158824573874 + ] + ], + "pressures": [ + 0.033203125, + 0.2412109375, + 0.392578125, + 0.5263671875, + 0.6904296875, + 0.794921875, + 0.880859375, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9130859375, + 0.6376953125, + 0.2216796875, + 0.064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 89.22907049005681, + -30.274158824573874 + ] + }, + { + "id": "e8Zxx87xAQLIAwGvjZ4Vt", + "type": "freedraw", + "x": 225.77450601156664, + "y": -165.44565988515888, + "width": 127.46992631392044, + "height": 223.0724542791193, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1590172493, + "version": 519, + "versionNonce": 391527917, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + -1.593350497159065 + ], + [ + -2.390081232244313, + -3.983431729403378 + ], + [ + -6.373512961647748, + -7.170188210227252 + ], + [ + -10.356944691051183, + -9.560213955965878 + ], + [ + -15.137051669034122, + -12.746914950284065 + ], + [ + -19.917214133522748, + -15.137051669034065 + ], + [ + -30.274158824573874, + -17.527077414772748 + ], + [ + -38.24102228338069, + -19.1204833984375 + ], + [ + -46.2078857421875, + -19.91715864701706 + ], + [ + -54.971424449573874, + -19.91715864701706 + ], + [ + -62.93828790838069, + -16.7303466796875 + ], + [ + -73.2952880859375, + -10.356889204545439 + ], + [ + -77.27871981534093, + -6.373457475142061 + ], + [ + -78.87201482599431, + -1.593350497159065 + ], + [ + -78.87201482599431, + 5.576837713068187 + ], + [ + -74.88858309659093, + 13.543701171875 + ], + [ + -70.9051513671875, + 22.307239879261374 + ], + [ + -63.735018643465935, + 39.037753018465935 + ], + [ + -58.95485617897731, + 50.988048206676126 + ], + [ + -54.971424449573874, + 61.34493741122162 + ], + [ + -52.58139870383525, + 72.49855735085225 + ], + [ + -52.58139870383525, + 78.0753950639205 + ], + [ + -53.37807395241481, + 82.85555752840912 + ], + [ + -54.971424449573874, + 87.63560901988637 + ], + [ + -57.36150568181819, + 90.82242098721588 + ], + [ + -62.14161265980118, + 94.00912198153412 + ], + [ + -66.92171963778412, + 94.80585271661937 + ], + [ + -70.9051513671875, + 93.2124467329545 + ], + [ + -76.48198908025569, + 89.22901500355113 + ], + [ + -85.24558327414775, + 83.652177290483 + ], + [ + -90.82231001420456, + 79.6687455610795 + ], + [ + -96.39920321377843, + 78.0753950639205 + ], + [ + -101.17931019176137, + 76.48198908025563 + ], + [ + -105.95941716974431, + 76.48198908025563 + ], + [ + -110.73952414772731, + 76.48198908025563 + ], + [ + -117.90976784446025, + 79.6687455610795 + ], + [ + -122.6898193359375, + 83.652177290483 + ], + [ + -125.87663130326706, + 91.61904074928975 + ], + [ + -126.67325106534093, + 105.95941716974437 + ], + [ + -126.67325106534093, + 113.12960537997162 + ], + [ + -124.28322531960231, + 119.50311834161937 + ], + [ + -118.70638760653412, + 125.876631303267 + ], + [ + -109.14617365056819, + 133.04681951349437 + ], + [ + -94.00912198153412, + 144.200439453125 + ], + [ + -84.44890802556819, + 151.37062766335225 + ], + [ + -76.48198908025569, + 158.54087136008525 + ], + [ + -70.10853160511368, + 165.71100408380687 + ], + [ + -63.735018643465935, + 175.27121803977275 + ], + [ + -62.93828790838069, + 180.84805575284088 + ], + [ + -63.735018643465935, + 185.62816273082387 + ], + [ + -67.71845037286931, + 190.4083251953125 + ], + [ + -73.2952880859375, + 196.7817826704545 + ], + [ + -83.652177290483, + 202.35867587002838 + ], + [ + -90.82231001420456, + 203.15529563210225 + ], + [ + -97.195878462358, + 200.765214399858 + ], + [ + -101.97598544034093, + 195.985107421875 + ], + [ + -108.34949840198863, + 186.42489346590912 + ], + [ + -110.73952414772731, + 182.44146173650563 + ], + [ + -111.5362548828125, + 181.6447310014205 + ], + [ + -110.73952414772731, + 181.6447310014205 + ], + [ + -110.73952414772731, + 181.6447310014205 + ] + ], + "pressures": [ + 0.0068359375, + 0.1884765625, + 0.287109375, + 0.478515625, + 0.646484375, + 0.8154296875, + 0.94921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.923828125, + 0.9150390625, + 0.931640625, + 0.931640625, + 0.927734375, + 0.9296875, + 0.9404296875, + 0.9560546875, + 0.970703125, + 0.9921875, + 1, + 1, + 1, + 1, + 0.994140625, + 0.9833984375, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.9775390625, + 0.966796875, + 0.9619140625, + 0.9560546875, + 0.951171875, + 0.931640625, + 0.921875, + 0.921875, + 0.9345703125, + 0.94921875, + 0.966796875, + 0.97265625, + 0.97265625, + 0.966796875, + 0.947265625, + 0.9169921875, + 0.9150390625, + 0.87890625, + 0.791015625, + 0.6806640625, + 0.6064453125, + 0.0224609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -110.73952414772731, + 181.6447310014205 + ] + }, + { + "id": "ZoEtq0SIG4bTisRunQHYG", + "type": "freedraw", + "x": 230.55461298954958, + "y": -166.24227964723275, + "width": 74.09190784801132, + "height": 82.85552978515625, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 903119971, + "version": 488, + "versionNonce": 1587979107, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + 0 + ], + [ + 2.390025745738626, + 0 + ], + [ + 8.763538707386374, + -0.7967307350851911 + ], + [ + 15.933726917613626, + -3.983431729403378 + ], + [ + 21.510564630681813, + -10.357000177556813 + ], + [ + 27.884022105823874, + -22.307295365767004 + ], + [ + 28.680752840909122, + -28.680808327414752 + ], + [ + 27.087346857244256, + -32.66424005681819 + ], + [ + 22.307239879261374, + -35.850996537642004 + ], + [ + 11.950295188210248, + -41.427778764204504 + ], + [ + 3.983431729403378, + -43.817859996448874 + ], + [ + -3.186756480823874, + -43.817859996448874 + ], + [ + -9.560269442471622, + -42.224454012784065 + ], + [ + -12.747025923295439, + -39.83442826704544 + ], + [ + -14.340376420454561, + -38.24102228338069 + ], + [ + -14.340376420454561, + -39.03775301846588 + ], + [ + -7.966863458806813, + -46.2078857421875 + ], + [ + -1.593405983664752, + -55.768155184659065 + ], + [ + 5.5767822265625, + -66.92177512428975 + ], + [ + 14.340376420454561, + -75.68534157492894 + ], + [ + 23.103915127840878, + -81.26215154474431 + ], + [ + 34.25753506747162, + -82.85552978515625 + ], + [ + 39.83437278053975, + -78.87209805575282 + ], + [ + 47.004560990767004, + -70.90520685369319 + ], + [ + 56.564774946732996, + -58.15823641690338 + ], + [ + 59.751531427556756, + -51.78472345525569 + ], + [ + 58.95485617897725, + -46.2078857421875 + ], + [ + 53.37801846590912, + -39.83442826704544 + ], + [ + 46.207830255681756, + -35.05426580255681 + ], + [ + 40.631048029119256, + -31.867564808238626 + ], + [ + 36.64761629971588, + -30.274158824573874 + ], + [ + 36.64761629971588, + -30.274158824573874 + ] + ], + "pressures": [ + 0.0185546875, + 0.1953125, + 0.7626953125, + 0.9130859375, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.884765625, + 0.5947265625, + 0.337890625, + 0.1943359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 36.64761629971588, + -30.274158824573874 + ] + }, + { + "id": "scISStFq4ugbNsqWzxKzm", + "type": "freedraw", + "x": 220.99434354707796, + "y": -165.44565988515888, + "width": 63.73501864346588, + "height": 72.49855735085225, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1041617261, + "version": 486, + "versionNonce": 1058142285, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983431729403435, + 1.593405983664752 + ], + [ + 11.950295188210248, + -3.983431729403378 + ], + [ + 14.340376420454561, + -7.170188210227252 + ], + [ + 17.527132901278435, + -12.746914950284065 + ], + [ + 18.323808149857996, + -17.527077414772748 + ], + [ + 17.527132901278435, + -21.510509144176126 + ], + [ + 12.747025923295496, + -23.90059037642044 + ], + [ + 8.763594193892061, + -24.697265625 + ], + [ + 3.983431729403435, + -24.697265625 + ], + [ + -0.7966752485795041, + -24.697265625 + ], + [ + -3.186756480823817, + -22.307239879261374 + ], + [ + -3.983431729403378, + -21.510509144176126 + ], + [ + -3.983431729403378, + -26.290671608664752 + ], + [ + -0.7966752485795041, + -35.85088556463069 + ], + [ + 4.780162464488683, + -50.19126198508525 + ], + [ + 11.950295188210248, + -62.93828790838069 + ], + [ + 23.103970614346622, + -70.9051513671875 + ], + [ + 28.680752840909122, + -70.9051513671875 + ], + [ + 33.46085981889212, + -70.10847611860794 + ], + [ + 39.03769753196025, + -68.515097878196 + ], + [ + 45.411210493607996, + -64.53166614879262 + ], + [ + 54.971424449573874, + -56.56477494673294 + ], + [ + 58.95485617897725, + -49.39458673650569 + ], + [ + 59.7515869140625, + -43.02107377485794 + ], + [ + 58.15818093039775, + -36.64761629971588 + ], + [ + 52.58139870383525, + -28.680697354403378 + ], + [ + 48.59796697443187, + -26.290671608664752 + ], + [ + 45.411210493607996, + -26.290671608664752 + ], + [ + 44.61447975852275, + -27.884022105823874 + ], + [ + 44.61447975852275, + -27.884022105823874 + ] + ], + "pressures": [ + 0.064453125, + 0.7646484375, + 0.9423828125, + 0.9814453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9365234375, + 0.701171875, + 0.2998046875, + 0.18359375, + 0.1328125, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 44.61447975852275, + -27.884022105823874 + ] + }, + { + "id": "lA2U6cDFcMVu-UrobaLvV", + "type": "freedraw", + "x": 269.59231052150983, + "y": -184.56614328359638, + "width": 158.54081587357962, + "height": 128.26665704900574, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 571397997, + "version": 535, + "versionNonce": 1835155203, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.39008123224437, + -3.186756480823874 + ], + [ + -2.39008123224437, + -5.5767822265625 + ], + [ + -2.39008123224437, + -7.170188210227252 + ], + [ + -1.593405983664752, + -9.560213955965878 + ], + [ + 0.7966752485795041, + -11.950295188210248 + ], + [ + 5.5767822265625, + -15.933726917613626 + ], + [ + 11.15361993963063, + -19.91715864701706 + ], + [ + 16.73040216619313, + -23.103915127840878 + ], + [ + 22.307239879261374, + -25.493996360085248 + ], + [ + 29.477428089488626, + -25.493996360085248 + ], + [ + 33.460859818892004, + -24.697321111505687 + ], + [ + 36.64761629971588, + -21.510564630681813 + ], + [ + 39.83431729403401, + -15.933726917613626 + ], + [ + 41.427723277698874, + -9.560213955965878 + ], + [ + 44.61447975852275, + 0.796675248579561 + ], + [ + 47.004505504261374, + 6.373568448153435 + ], + [ + 48.597911487926126, + 9.560269442471622 + ], + [ + 50.19126198508525, + 10.357000177556813 + ], + [ + 54.174693714488626, + 11.153619939630687 + ], + [ + 56.56477494673288, + 10.357000177556813 + ], + [ + 59.751531427556756, + 7.966863458806813 + ], + [ + 63.73496315696025, + 3.983431729403435 + ], + [ + 66.12498890269887, + -1.593350497159065 + ], + [ + 71.701826615767, + -11.950295188210248 + ], + [ + 75.68531383167613, + -17.527132901278378 + ], + [ + 79.66869007457387, + -23.103915127840878 + ], + [ + 82.85550204190338, + -26.290671608664752 + ], + [ + 89.22890403053975, + -27.884022105823874 + ], + [ + 95.6024169921875, + -25.493996360085248 + ], + [ + 102.77260520241475, + -21.510564630681813 + ], + [ + 109.942793412642, + -17.527132901278378 + ], + [ + 115.51963112571025, + -13.543701171875 + ], + [ + 119.50311834161926, + -7.966863458806813 + ], + [ + 121.89314408735788, + -3.186756480823874 + ], + [ + 122.6898193359375, + 2.39013671875 + ], + [ + 122.6898193359375, + 9.560269442471622 + ], + [ + 120.29979359019887, + 22.30729536576706 + ], + [ + 118.70633212002838, + 31.070834073153435 + ], + [ + 116.31630637428975, + 39.83437278053975 + ], + [ + 113.92628062855113, + 47.00456099076706 + ], + [ + 112.332930131392, + 54.1748046875 + ], + [ + 110.73946866122151, + 62.14166814630681 + ], + [ + 110.73946866122151, + 64.53169389204544 + ], + [ + 112.332930131392, + 66.12509987571025 + ], + [ + 115.51963112571025, + 66.92171963778412 + ], + [ + 122.6898193359375, + 65.328369140625 + ], + [ + 129.86000754616475, + 61.34493741122162 + ], + [ + 136.2335205078125, + 57.36150568181819 + ], + [ + 141.81035822088063, + 52.58139870383525 + ], + [ + 145.79373446377838, + 49.394642223011374 + ], + [ + 147.3870849609375, + 43.021129261363626 + ], + [ + 146.59040971235788, + 39.03769753196025 + ], + [ + 141.81035822088063, + 33.46085981889206 + ], + [ + 136.2335205078125, + 29.477428089488626 + ], + [ + 130.65668279474426, + 27.08740234375 + ], + [ + 129.86000754616475, + 27.88407759232956 + ], + [ + 129.86000754616475, + 29.477428089488626 + ], + [ + 129.86000754616475, + 30.274158824573874 + ], + [ + 129.86000754616475, + 31.070834073153435 + ], + [ + 130.65668279474426, + 31.86750932173294 + ], + [ + 133.04670854048288, + 33.46085981889206 + ], + [ + 136.2335205078125, + 36.647616299715935 + ], + [ + 140.21689675071025, + 39.03769753196025 + ], + [ + 144.99705921519887, + 42.22450949928975 + ], + [ + 148.98054643110788, + 47.00456099076706 + ], + [ + 152.96392267400563, + 54.1748046875 + ], + [ + 155.35394841974426, + 64.53169389204544 + ], + [ + 156.15073464133525, + 73.29523259943187 + ], + [ + 151.3705721768465, + 83.652177290483 + ], + [ + 144.20038396661926, + 90.82236550071025 + ], + [ + 134.64017001065338, + 95.60247247869313 + ], + [ + 125.07984508167613, + 99.58590420809662 + ], + [ + 105.95941716974426, + 100.38263494318187 + ], + [ + 94.00906649502838, + 97.195878462358 + ], + [ + 84.4488525390625, + 92.41571599786937 + ], + [ + 77.27866432883525, + 87.63560901988637 + ], + [ + 71.701826615767, + 82.05882679332387 + ], + [ + 66.12498890269887, + 74.091963334517 + ], + [ + 64.53163840553975, + 69.31180087002838 + ], + [ + 62.93828790838063, + 66.12509987571025 + ], + [ + 62.93828790838063, + 65.328369140625 + ], + [ + 62.93828790838063, + 65.328369140625 + ] + ], + "pressures": [ + 0.111328125, + 0.2685546875, + 0.400390625, + 0.53515625, + 0.6318359375, + 0.6904296875, + 0.787109375, + 0.8466796875, + 0.859375, + 0.8681640625, + 0.8681640625, + 0.8681640625, + 0.8701171875, + 0.8740234375, + 0.8828125, + 0.861328125, + 0.7685546875, + 0.78515625, + 0.796875, + 0.8349609375, + 0.85546875, + 0.8720703125, + 0.8828125, + 0.8984375, + 0.884765625, + 0.880859375, + 0.8740234375, + 0.880859375, + 0.876953125, + 0.87890625, + 0.8876953125, + 0.8876953125, + 0.8984375, + 0.90625, + 0.908203125, + 0.908203125, + 0.9169921875, + 0.8984375, + 0.8076171875, + 0.8076171875, + 0.80078125, + 0.791015625, + 0.79296875, + 0.79296875, + 0.79296875, + 0.7783203125, + 0.7783203125, + 0.7783203125, + 0.7744140625, + 0.7744140625, + 0.78125, + 0.7763671875, + 0.7724609375, + 0.716796875, + 0.564453125, + 0.4501953125, + 0.4345703125, + 0.435546875, + 0.435546875, + 0.4306640625, + 0.4287109375, + 0.4287109375, + 0.431640625, + 0.4560546875, + 0.580078125, + 0.6552734375, + 0.677734375, + 0.712890625, + 0.7626953125, + 0.9150390625, + 0.92578125, + 0.92578125, + 0.9130859375, + 0.802734375, + 0.751953125, + 0.734375, + 0.708984375, + 0.70703125, + 0.662109375, + 0.58984375, + 0.3779296875, + 0.2607421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 62.93828790838063, + 65.328369140625 + ] + }, + { + "id": "Cv7UQMA94JOBB_rlOMjQY", + "type": "freedraw", + "x": 295.8829821301746, + "y": -139.95166352507363, + "width": 66.92171963778412, + "height": 42.22445401278412, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 644851715, + "version": 471, + "versionNonce": 1076324013, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + -3.186756480823874 + ], + [ + 1.593350497159122, + 3.983431729403378 + ], + [ + 1.593350497159122, + 12.747025923295439 + ], + [ + 0.7966752485795041, + 21.5106201171875 + ], + [ + -3.186756480823874, + 28.680752840909122 + ], + [ + -9.560269442471622, + 34.25759055397725 + ], + [ + -18.323808149857996, + 37.444347034801126 + ], + [ + -35.05426580255687, + 39.03769753196025 + ], + [ + -45.41121049360794, + 39.03769753196025 + ], + [ + -54.17474920099431, + 37.444347034801126 + ], + [ + -62.141612659801126, + 32.6641845703125 + ], + [ + -64.53169389204544, + 30.274158824573874 + ], + [ + -65.328369140625, + 29.477483575994256 + ], + [ + -65.328369140625, + 28.680752840909122 + ], + [ + -65.328369140625, + 27.08740234375 + ], + [ + -65.328369140625, + 25.494051846590878 + ], + [ + -65.328369140625, + 24.69732111150563 + ], + [ + -65.328369140625, + 24.69732111150563 + ] + ], + "pressures": [ + 0.0107421875, + 0.2421875, + 0.73046875, + 0.9755859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.923828125, + 0.615234375, + 0.2587890625, + 0.16015625, + 0.0869140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -65.328369140625, + 24.69732111150563 + ] + }, + { + "id": "WKHgu67ROCz0M-KdkuasU", + "type": "freedraw", + "x": 224.18110002790183, + "y": -112.86426118132363, + "width": 82.05877130681813, + "height": 62.93828790838069, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 332284301, + "version": 472, + "versionNonce": 1164535459, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 4.780106977982882 + ], + [ + 5.576837713068187, + 9.560213955965878 + ], + [ + 13.543701171875, + 12.746970436789752 + ], + [ + 24.697321111505687, + 15.933726917613626 + ], + [ + 35.05426580255687, + 17.527132901278378 + ], + [ + 43.817804509943244, + 17.527132901278378 + ], + [ + 54.17474920099437, + 14.340431906960248 + ], + [ + 62.141612659801126, + 8.763538707386374 + ], + [ + 70.108476118608, + 0.7966752485795041 + ], + [ + 77.27866432883525, + -8.763594193892061 + ], + [ + 81.26209605823863, + -23.103970614346622 + ], + [ + 80.46542080965912, + -30.274158824573874 + ], + [ + 78.07533957741475, + -35.850941051136374 + ], + [ + 74.88863858309662, + -39.83437278053981 + ], + [ + 70.9051513671875, + -44.61447975852275 + ], + [ + 68.51512562144887, + -45.41115500710231 + ], + [ + 67.71845037286937, + -45.41115500710231 + ], + [ + 67.71845037286937, + -44.61447975852275 + ], + [ + 67.71845037286937, + -44.61447975852275 + ] + ], + "pressures": [ + 0.0009765625, + 0.302734375, + 0.46484375, + 0.59765625, + 0.7265625, + 0.8720703125, + 0.9404296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.92578125, + 0.642578125, + 0.3515625, + 0.2294921875, + 0.1005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 67.71845037286937, + -44.61447975852275 + ] + }, + { + "id": "DdcUqgwYG4nJayRBJz7TC", + "type": "freedraw", + "x": 232.9446387352882, + "y": -104.10072247393725, + "width": 50.191317471590935, + "height": 74.09190784801137, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 954163715, + "version": 491, + "versionNonce": 759171341, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.9834317294034918 + ], + [ + 0, + -5.5767822265625 + ], + [ + -1.593350497159065, + -3.186756480823874 + ], + [ + -3.983431729403378, + 2.390081232244256 + ], + [ + -4.780106977982939, + 9.560324928977252 + ], + [ + -4.780106977982939, + 19.1204833984375 + ], + [ + -3.983431729403378, + 28.68075284090901 + ], + [ + 0.7967307350852479, + 39.83437278053975 + ], + [ + 3.186756480823874, + 42.22445401278401 + ], + [ + 6.373512961647748, + 42.22445401278401 + ], + [ + 12.747025923295439, + 36.64761629971588 + ], + [ + 15.933782404119313, + 29.477483575994256 + ], + [ + 18.32380814985794, + 21.5106201171875 + ], + [ + 19.120538884943187, + 14.340376420454504 + ], + [ + 19.120538884943187, + 9.560324928977252 + ], + [ + 19.120538884943187, + 6.373512961647748 + ], + [ + 21.51056463068187, + 10.356944691051126 + ], + [ + 25.493996360085248, + 15.933782404119256 + ], + [ + 29.47748357599437, + 22.307239879261374 + ], + [ + 33.46091530539775, + 27.884077592329504 + ], + [ + 36.64767178622162, + 32.6641845703125 + ], + [ + 41.427778764204504, + 39.03769753196025 + ], + [ + 44.61453524502838, + 43.81780450994313 + ], + [ + 45.411210493607996, + 50.19131747159088 + ], + [ + 44.61453524502838, + 55.76809969815338 + ], + [ + 39.03769753196025, + 62.93828790838063 + ], + [ + 34.25759055397725, + 66.92171963778401 + ], + [ + 26.290727095170496, + 68.51512562144887 + ], + [ + 16.730457652698874, + 68.51512562144887 + ], + [ + 7.170188210227252, + 65.32842462713063 + ], + [ + 0.7967307350852479, + 62.141612659801126 + ], + [ + -3.186700994318187, + 58.15818093039775 + ], + [ + -3.983431729403378, + 55.76809969815338 + ], + [ + -4.780106977982939, + 53.37812943892038 + ], + [ + -4.780106977982939, + 50.19131747159088 + ], + [ + -3.983431729403378, + 49.394697709517004 + ], + [ + -2.390025745738626, + 49.394697709517004 + ], + [ + -1.593350497159065, + 50.19131747159088 + ], + [ + -1.593350497159065, + 50.19131747159088 + ] + ], + "pressures": [ + 0.001953125, + 0.08203125, + 0.1591796875, + 0.5615234375, + 0.677734375, + 0.73828125, + 0.857421875, + 0.9619140625, + 0.9921875, + 1, + 1, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.75, + 0.4140625, + 0.2060546875, + 0.142578125, + 0.109375, + 0.0517578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593350497159065, + 50.19131747159088 + ] + }, + { + "id": "4ViPs4IwmiRTLQncpxYqC", + "type": "freedraw", + "x": 239.31815169693596, + "y": -49.12929802436338, + "width": 118.70638760653412, + "height": 137.03019575639212, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1186052909, + "version": 486, + "versionNonce": 1298831939, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -0.7966752485796178 + ], + [ + -5.5767822265625, + -0.7966752485796178 + ], + [ + -6.373512961647748, + 0.7966752485795041 + ], + [ + -6.373512961647748, + 4.780106977982882 + ], + [ + -4.780106977982996, + 14.340431906960134 + ], + [ + -2.390025745738626, + 22.307295365767004 + ], + [ + 0.7966752485795041, + 30.274158824573874 + ], + [ + 3.983431729403378, + 36.64761629971588 + ], + [ + 7.170188210227252, + 39.83437278053975 + ], + [ + 10.356944691051126, + 41.427778764204504 + ], + [ + 16.730457652698874, + 40.631048029119256 + ], + [ + 22.307239879261374, + 38.241077769886374 + ], + [ + 28.680752840909122, + 34.25759055397725 + ], + [ + 38.24102228338063, + 29.477428089488626 + ], + [ + 44.61447975852275, + 26.290727095170382 + ], + [ + 49.394642223011374, + 24.69732111150563 + ], + [ + 54.174749200994256, + 24.69732111150563 + ], + [ + 60.548262162642004, + 25.493996360085134 + ], + [ + 68.51512562144887, + 27.884077592329504 + ], + [ + 81.26209605823863, + 34.25759055397725 + ], + [ + 89.22901500355113, + 39.83437278053975 + ], + [ + 96.39914772727275, + 45.41121049360788 + ], + [ + 102.77266068892038, + 51.78466796875 + ], + [ + 109.94284889914775, + 63.73501864346588 + ], + [ + 112.33287464488637, + 74.091963334517 + ], + [ + 112.33287464488637, + 86.04231400923288 + ], + [ + 109.14617365056813, + 98.789228959517 + ], + [ + 102.77266068892038, + 109.14617365056813 + ], + [ + 86.04225852272725, + 121.09646883877838 + ], + [ + 70.10847611860788, + 128.26665704900563 + ], + [ + 54.174749200994256, + 133.04681951349426 + ], + [ + 39.03769753196025, + 136.2335205078125 + ], + [ + 32.6641845703125, + 136.2335205078125 + ], + [ + 29.477428089488626, + 133.04681951349426 + ], + [ + 26.290671608664752, + 128.26665704900563 + ], + [ + 23.103970614346622, + 123.48655007102263 + ], + [ + 21.510564630681756, + 119.50311834161926 + ], + [ + 22.307239879261374, + 118.70644309303975 + ], + [ + 22.307239879261374, + 118.70644309303975 + ] + ], + "pressures": [ + 0.099609375, + 0.330078125, + 0.4033203125, + 0.5234375, + 0.5693359375, + 0.6044921875, + 0.6640625, + 0.7705078125, + 0.826171875, + 0.884765625, + 0.9111328125, + 0.908203125, + 0.9169921875, + 0.921875, + 0.9384765625, + 0.9345703125, + 0.923828125, + 0.923828125, + 0.923828125, + 0.931640625, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96484375, + 0.9345703125, + 0.923828125, + 0.8515625, + 0.732421875, + 0.53515625, + 0.380859375, + 0.1923828125, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.307239879261374, + 118.70644309303975 + ] + }, + { + "id": "iU1IY9uNamUthx8QQ3biS", + "type": "freedraw", + "x": 264.0154728084416, + "y": 74.35725204665926, + "width": 80.46542080965907, + "height": 60.548206676136374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 880921251, + "version": 477, + "versionNonce": 131424109, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 3.9834317294034918 + ], + [ + -0.7966752485795041, + 5.5767822265625 + ], + [ + 1.593350497159122, + 6.373568448153492 + ], + [ + 5.576837713068244, + 7.170188210227366 + ], + [ + 9.560269442471622, + 7.170188210227366 + ], + [ + 15.933726917613626, + 5.5767822265625 + ], + [ + 27.08734685724437, + -2.390081232244256 + ], + [ + 31.070778586647748, + -11.15361993963063 + ], + [ + 32.6641845703125, + -19.917214133522634 + ], + [ + 31.867509321732996, + -25.493940873579504 + ], + [ + 28.680752840909122, + -27.884077592329504 + ], + [ + 23.10391512784099, + -28.68075284090901 + ], + [ + 15.137051669034122, + -28.68075284090901 + ], + [ + 7.170188210227252, + -27.884077592329504 + ], + [ + -0.7966752485795041, + -24.69732111150563 + ], + [ + -11.15361993963063, + -15.933726917613626 + ], + [ + -18.32380814985794, + -12.747025923295382 + ], + [ + -25.49399636008519, + -11.950295188210134 + ], + [ + -31.86750932173294, + -11.950295188210134 + ], + [ + -38.24096679687494, + -13.543645685369256 + ], + [ + -41.42772327769882, + -15.933726917613626 + ], + [ + -43.81780450994313, + -20.713889382102252 + ], + [ + -46.20788574218744, + -27.884077592329504 + ], + [ + -47.004560990767004, + -35.054265802556756 + ], + [ + -47.801236239346565, + -41.42772327769876 + ], + [ + -47.004560990767004, + -44.614479758522634 + ], + [ + -46.20788574218744, + -47.004560990767004 + ], + [ + -44.61447975852269, + -49.39458673650563 + ], + [ + -43.81780450994313, + -52.581343217329504 + ], + [ + -43.021129261363626, + -53.37801846590901 + ], + [ + -43.021129261363626, + -53.37801846590901 + ] + ], + "pressures": [ + 0.0751953125, + 0.16796875, + 0.2080078125, + 0.2490234375, + 0.306640625, + 0.40625, + 0.5322265625, + 0.697265625, + 0.7607421875, + 0.791015625, + 0.8447265625, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.923828125, + 0.6572265625, + 0.4375, + 0.2744140625, + 0.1337890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.021129261363626, + -53.37801846590901 + ] + }, + { + "id": "5X3dTgfYeWQyFj_fwclY1", + "type": "freedraw", + "x": 119.81508884182233, + "y": 16.19907111626162, + "width": 105.95941716974431, + "height": 58.95480069247162, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 417180429, + "version": 464, + "versionNonce": 306469347, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.186756480823874 + ], + [ + 1.593350497159065, + 9.560269442471508 + ], + [ + 1.593350497159065, + 11.950295188210134 + ], + [ + 3.983431729403378, + 16.730457652698874 + ], + [ + 7.170188210227252, + 23.103915127840878 + ], + [ + 16.73040216619313, + 35.850941051136374 + ], + [ + 25.49399636008519, + 42.22445401278401 + ], + [ + 33.460859818892004, + 47.004560990767004 + ], + [ + 43.021129261363626, + 49.394642223011374 + ], + [ + 54.97142444957382, + 50.98799272017038 + ], + [ + 74.88863858309657, + 51.78466796875 + ], + [ + 87.63560901988632, + 49.394642223011374 + ], + [ + 97.99249822443181, + 45.41115500710225 + ], + [ + 103.5693359375, + 39.037697531960134 + ], + [ + 105.95941716974431, + 27.884077592329504 + ], + [ + 105.95941716974431, + 19.1204833984375 + ], + [ + 103.5693359375, + 9.560269442471508 + ], + [ + 98.789228959517, + 0 + ], + [ + 94.80579723011363, + -6.373512961647748 + ], + [ + 91.61904074928975, + -7.170132723721622 + ], + [ + 91.61904074928975, + -7.170132723721622 + ] + ], + "pressures": [ + 0.0703125, + 0.119140625, + 0.189453125, + 0.216796875, + 0.2841796875, + 0.3935546875, + 0.55078125, + 0.638671875, + 0.71875, + 0.83203125, + 0.94921875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.966796875, + 0.7607421875, + 0.3779296875, + 0.033203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 91.61904074928975, + -7.170132723721622 + ] + }, + { + "id": "EY3G1JzUimiSCkPKsQ9AT", + "type": "freedraw", + "x": 220.19766829849846, + "y": 56.83017463188662, + "width": 46.2078857421875, + "height": 23.900590376420496, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2137001677, + "version": 457, + "versionNonce": 1714481613, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -12.746970436789809, + -19.120538884943244 + ], + [ + -16.730457652698874, + -19.917158647017118 + ], + [ + -27.087346857244313, + -18.323863636363626 + ], + [ + -29.477372602982996, + -15.933726917613626 + ], + [ + -32.6641845703125, + -13.543756658380744 + ], + [ + -37.44423606178981, + -7.96686345880687 + ], + [ + -41.42766779119319, + -2.39013671875 + ], + [ + -43.81780450994319, + 1.5933504971590082 + ], + [ + -45.41115500710231, + 3.983431729403378 + ], + [ + -46.2078857421875, + 3.983431729403378 + ], + [ + -45.41115500710231, + 3.983431729403378 + ], + [ + -44.61447975852275, + 3.18670099431813 + ], + [ + -43.81780450994319, + 2.390025745738626 + ], + [ + -43.81780450994319, + 2.390025745738626 + ] + ], + "pressures": [ + 0.0869140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2431640625, + 0.17578125, + 0.12109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.81780450994319, + 2.390025745738626 + ] + }, + { + "id": "DO3ezMkSybgmbwfk__0wz", + "type": "freedraw", + "x": 177.97321428571433, + "y": 53.643362664557, + "width": 73.29523259943181, + "height": 84.4488525390625, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 58372557, + "version": 468, + "versionNonce": 17114499, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.186811967329618 + ], + [ + 0, + 7.170243696732996 + ], + [ + -2.390025745738626, + 11.950350674715992 + ], + [ + -7.170132723721565, + 16.730457652698874 + ], + [ + -16.730402166193187, + 23.103970614346622 + ], + [ + -20.713833895596565, + 24.697321111505744 + ], + [ + -33.460859818892004, + 24.697321111505744 + ], + [ + -42.22439852627838, + 19.917214133522748 + ], + [ + -51.78466796875, + 13.543701171875 + ], + [ + -62.938232421875, + 3.186811967329618 + ], + [ + -66.92166415127838, + -3.983431729403378 + ], + [ + -70.10847611860794, + -11.15361993963063 + ], + [ + -72.49850186434657, + -19.1204833984375 + ], + [ + -73.29523259943181, + -31.070778586647748 + ], + [ + -73.29523259943181, + -39.83437278053975 + ], + [ + -73.29523259943181, + -47.004560990767004 + ], + [ + -71.701826615767, + -52.581287730823874 + ], + [ + -70.10847611860794, + -56.56471946022725 + ], + [ + -68.51507013494319, + -58.15818093039775 + ], + [ + -67.71839488636363, + -58.95485617897725 + ], + [ + -66.92166415127838, + -59.751531427556756 + ], + [ + -66.1250443892045, + -59.751531427556756 + ], + [ + -64.53163840553975, + -59.751531427556756 + ], + [ + -63.73496315696019, + -59.751531427556756 + ], + [ + -63.73496315696019, + -58.95485617897725 + ], + [ + -63.73496315696019, + -58.95485617897725 + ] + ], + "pressures": [ + 0.0615234375, + 0.62890625, + 0.6923828125, + 0.82421875, + 0.9404296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.990234375, + 0.9775390625, + 0.921875, + 0.740234375, + 0.4052734375, + 0.33203125, + 0.255859375, + 0.2060546875, + 0.1435546875, + 0.091796875, + 0.0107421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -63.73496315696019, + -58.95485617897725 + ] + }, + { + "id": "R6sV6DTBzI5fmR5Kq09V7", + "type": "freedraw", + "x": 217.80758706625414, + "y": 52.84674290248313, + "width": 70.10842063210225, + "height": 35.850941051136374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 762824269, + "version": 460, + "versionNonce": 1500260397, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390081232244313, + 0.796619762073874 + ], + [ + 2.390081232244313, + 4.780051491477366 + ], + [ + 3.186756480823817, + 9.560213955965992 + ], + [ + 2.390081232244313, + 16.730402166193244 + ], + [ + 0, + 23.103859641335248 + ], + [ + -3.983431729403435, + 28.68069735440349 + ], + [ + -15.136996182528435, + 35.054210316051126 + ], + [ + -27.884022105823874, + 35.850941051136374 + ], + [ + -40.63104802911931, + 35.850941051136374 + ], + [ + -54.17469371448868, + 32.66412908380687 + ], + [ + -59.75153142755681, + 30.2740478515625 + ], + [ + -62.14161265980118, + 27.087291370738626 + ], + [ + -64.53163840553981, + 23.900590376420496 + ], + [ + -65.328369140625, + 21.510509144176126 + ], + [ + -66.12504438920456, + 19.917158647017118 + ], + [ + -66.92166415127843, + 17.527077414772748 + ], + [ + -66.92166415127843, + 16.730402166193244 + ], + [ + -66.92166415127843, + 16.730402166193244 + ] + ], + "pressures": [ + 0.06640625, + 0.3134765625, + 0.48046875, + 0.6787109375, + 0.8955078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.97265625, + 0.8447265625, + 0.5849609375, + 0.4208984375, + 0.169921875, + 0.111328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -66.92166415127843, + 16.730402166193244 + ] + }, + { + "id": "hMOhvcZDAhN_j_BeLGY1l", + "type": "freedraw", + "x": 124.59519581980527, + "y": 16.995801851346755, + "width": 43.02107377485794, + "height": 85.24558327414775, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1445509645, + "version": 464, + "versionNonce": 1626045731, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -3.186811967329504 + ], + [ + -5.5767822265625, + -3.186811967329504 + ], + [ + -7.966863458806813, + -1.593405983664752 + ], + [ + -10.356944691051126, + 6.373457475142118 + ], + [ + -11.950295188210248, + 15.136996182528492 + ], + [ + -11.950295188210248, + 24.697265625 + ], + [ + -11.950295188210248, + 42.22439852627849 + ], + [ + -10.356944691051126, + 54.17469371448874 + ], + [ + -8.763594193892061, + 65.32831365411937 + ], + [ + -6.373512961647748, + 74.09190784801137 + ], + [ + -2.390081232244313, + 78.87201482599437 + ], + [ + 6.373512961647691, + 81.262040571733 + ], + [ + 12.746970436789752, + 82.05877130681824 + ], + [ + 19.1204833984375, + 81.262040571733 + ], + [ + 24.697321111505687, + 78.87201482599437 + ], + [ + 27.884022105823874, + 74.88858309659099 + ], + [ + 31.07077858664769, + 67.71845037286937 + ], + [ + 31.07077858664769, + 62.938232421875 + ], + [ + 31.07077858664769, + 59.75153142755687 + ], + [ + 31.07077858664769, + 56.564774946732996 + ], + [ + 30.274158824573874, + 54.17469371448874 + ], + [ + 28.680752840909065, + 51.78466796875 + ], + [ + 27.884022105823874, + 51.78466796875 + ], + [ + 27.884022105823874, + 51.78466796875 + ] + ], + "pressures": [ + 0.0615234375, + 0.1845703125, + 0.26953125, + 0.4541015625, + 0.61328125, + 0.6494140625, + 0.69921875, + 0.796875, + 0.8173828125, + 0.828125, + 0.826171875, + 0.82421875, + 0.8154296875, + 0.8154296875, + 0.822265625, + 0.8154296875, + 0.8095703125, + 0.796875, + 0.7783203125, + 0.576171875, + 0.3291015625, + 0.2177734375, + 0.1435546875, + 0.064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.884022105823874, + 51.78466796875 + ] + }, + { + "id": "fd53-XOb09z9byNUgfvrY", + "type": "freedraw", + "x": 154.0726239092939, + "y": 67.98373908501162, + "width": 66.12504438920456, + "height": 90.02557927911926, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1125391459, + "version": 460, + "versionNonce": 326146701, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -26.290671608664752, + 15.137051669034008 + ], + [ + -42.224454012784065, + 14.340376420454504 + ], + [ + -46.2078857421875, + 13.543701171875 + ], + [ + -52.58134321732956, + 11.15361993963063 + ], + [ + -58.954800692471565, + 3.186756480823874 + ], + [ + -62.938232421875, + -5.5767822265625 + ], + [ + -65.328369140625, + -14.340376420454618 + ], + [ + -66.12504438920456, + -23.103859641335248 + ], + [ + -66.12504438920456, + -37.444291548295496 + ], + [ + -64.53169389204544, + -46.20783025568187 + ], + [ + -62.141612659801126, + -54.971368963068244 + ], + [ + -59.75153142755681, + -61.34493741122162 + ], + [ + -57.36150568181819, + -67.71839488636363 + ], + [ + -53.37807395241475, + -72.49855735085237 + ], + [ + -51.78466796875, + -74.09190784801137 + ], + [ + -50.19131747159088, + -74.88852761008525 + ], + [ + -47.801236239346565, + -74.88852761008525 + ], + [ + -44.61447975852275, + -74.88852761008525 + ], + [ + -43.02107377485794, + -74.88852761008525 + ], + [ + -43.02107377485794, + -74.88852761008525 + ] + ], + "pressures": [ + 0.0205078125, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.951171875, + 0.9423828125, + 0.9384765625, + 0.92578125, + 0.90234375, + 0.857421875, + 0.744140625, + 0.4921875, + 0.3642578125, + 0.291015625, + 0.2373046875, + 0.169921875, + 0.1171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.02107377485794, + -74.88852761008525 + ] + }, + { + "id": "Oa9tDHGOSSleay6v_ooms", + "type": "freedraw", + "x": 194.7037274249189, + "y": -60.28291796399412, + "width": 38.240966796875, + "height": 68.51512562144887, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 986832685, + "version": 473, + "versionNonce": 224780483, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.796619762073874, + 3.186756480823874 + ], + [ + 3.186700994318187, + 8.763594193892118 + ], + [ + 5.5767822265625, + 15.137051669034122 + ], + [ + 6.373457475142061, + 20.713889382102252 + ], + [ + 5.5767822265625, + 25.494051846590878 + ], + [ + 2.390025745738626, + 29.47748357599437 + ], + [ + 0, + 30.274103338068244 + ], + [ + -3.186811967329561, + 30.274103338068244 + ], + [ + -7.170243696732939, + 27.884077592329618 + ], + [ + -12.747025923295439, + 22.307239879261374 + ], + [ + -15.137107155539752, + 18.323808149857996 + ], + [ + -16.73051313920456, + 15.933726917613626 + ], + [ + -18.323863636363626, + 13.543756658380744 + ], + [ + -19.120538884943187, + 13.543756658380744 + ], + [ + -20.71394486860794, + 13.543756658380744 + ], + [ + -22.30729536576706, + 17.527188387784122 + ], + [ + -23.103970614346565, + 23.900645862926126 + ], + [ + -23.900645862926126, + 33.46091530539775 + ], + [ + -23.103970614346565, + 48.597911487926126 + ], + [ + -20.71394486860794, + 55.76809969815338 + ], + [ + -16.73051313920456, + 62.141612659801126 + ], + [ + -11.153675426136374, + 66.12504438920462 + ], + [ + -3.983431729403435, + 68.51512562144887 + ], + [ + 5.5767822265625, + 66.92171963778412 + ], + [ + 10.356889204545439, + 62.938287908380744 + ], + [ + 12.746970436789752, + 57.361561168323874 + ], + [ + 14.340320933948874, + 51.78466796875 + ], + [ + 14.340320933948874, + 43.021129261363626 + ], + [ + 13.543645685369313, + 38.241022283380744 + ], + [ + 12.746970436789752, + 35.05426580255687 + ], + [ + 11.950295188210248, + 33.46091530539775 + ], + [ + 11.153564453125, + 33.46091530539775 + ], + [ + 11.153564453125, + 33.46091530539775 + ] + ], + "pressures": [ + 0.0673828125, + 0.4189453125, + 0.5185546875, + 0.6953125, + 0.791015625, + 0.8515625, + 0.90625, + 0.947265625, + 0.9599609375, + 0.9755859375, + 0.9775390625, + 0.970703125, + 0.966796875, + 0.96875, + 0.9775390625, + 0.994140625, + 0.994140625, + 0.994140625, + 0.994140625, + 0.9619140625, + 0.951171875, + 0.931640625, + 0.90625, + 0.8701171875, + 0.8388671875, + 0.830078125, + 0.826171875, + 0.794921875, + 0.51171875, + 0.287109375, + 0.1640625, + 0.125, + 0.0048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.153564453125, + 33.46091530539775 + ] + }, + { + "id": "5B95VtKwjDwwzHZjhA9DL", + "type": "freedraw", + "x": 295.08625139508933, + "y": -130.39133859609638, + "width": 60.548262162642004, + "height": 34.25747958096588, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 776218317, + "version": 458, + "versionNonce": 1291305197, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 4.780051491477252 + ], + [ + 1.593405983664752, + 9.560213955965935 + ], + [ + 3.983487215909122, + 15.136996182528378 + ], + [ + 9.560269442471622, + 22.30718439275563 + ], + [ + 13.543701171875, + 27.087291370738626 + ], + [ + 19.120538884943244, + 30.2740478515625 + ], + [ + 25.493996360085248, + 32.66412908380687 + ], + [ + 32.6641845703125, + 34.25747958096588 + ], + [ + 43.02118474786937, + 34.25747958096588 + ], + [ + 49.394586736505744, + 30.2740478515625 + ], + [ + 54.971424449573874, + 25.493940873579504 + ], + [ + 58.954911665482996, + 21.510509144176126 + ], + [ + 60.548262162642004, + 17.527077414772748 + ], + [ + 60.548262162642004, + 15.933726917613626 + ], + [ + 59.7515869140625, + 14.340320933948874 + ], + [ + 57.361561168323874, + 12.746914950284122 + ], + [ + 55.76809969815338, + 11.950295188210248 + ], + [ + 55.76809969815338, + 11.950295188210248 + ] + ], + "pressures": [ + 0.015625, + 0.333984375, + 0.5458984375, + 0.736328125, + 0.9169921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.861328125, + 0.697265625, + 0.2783203125, + 0.1455078125, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 55.76809969815338, + 11.950295188210248 + ] + }, + { + "id": "jMDAugMiCGkjntjc2Vcko", + "type": "freedraw", + "x": 311.0200337992087, + "y": -135.171501060585, + "width": 40.630992542613626, + "height": 22.307239879261374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 42342883, + "version": 457, + "versionNonce": 1880281187, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485796178, + 3.983431729403378 + ], + [ + 0.7966752485795041, + 7.170188210227252 + ], + [ + 3.186756480823874, + 10.356889204545439 + ], + [ + 7.966863458806756, + 15.933726917613626 + ], + [ + 11.15361993963063, + 18.323808149857996 + ], + [ + 14.340376420454504, + 19.917158647017004 + ], + [ + 17.527132901278378, + 21.510564630681756 + ], + [ + 22.307239879261374, + 22.307239879261374 + ], + [ + 28.68075284090901, + 21.510564630681756 + ], + [ + 33.460804332386374, + 19.1204833984375 + ], + [ + 37.44429154829538, + 15.933726917613626 + ], + [ + 39.037642045454504, + 14.340376420454561 + ], + [ + 39.83431729403401, + 11.950295188210248 + ], + [ + 39.83431729403401, + 10.356889204545439 + ], + [ + 39.83431729403401, + 8.763594193892061 + ], + [ + 39.037642045454504, + 7.966863458806813 + ], + [ + 39.037642045454504, + 7.966863458806813 + ] + ], + "pressures": [ + 0.1044921875, + 0.4267578125, + 0.6025390625, + 0.7421875, + 0.927734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.75, + 0.4775390625, + 0.2333984375, + 0.1083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.037642045454504, + 7.966863458806813 + ] + }, + { + "id": "93kydbXAksB0CTNjoNK72", + "type": "freedraw", + "x": 307.0366020698052, + "y": -135.171501060585, + "width": 47.00456099076712, + "height": 30.27410333806813, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1344096067, + "version": 450, + "versionNonce": 1804278605, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 25.493996360085248, + 30.27410333806813 + ], + [ + 33.46085981889212, + 30.27410333806813 + ], + [ + 38.241022283380744, + 27.087346857244256 + ], + [ + 41.427723277698874, + 22.307239879261374 + ], + [ + 44.61442427201712, + 18.323808149857996 + ], + [ + 47.00456099076712, + 13.543645685369313 + ], + [ + 47.00456099076712, + 11.950295188210248 + ], + [ + 47.00456099076712, + 10.356889204545439 + ], + [ + 46.2078857421875, + 9.560213955965878 + ], + [ + 46.2078857421875, + 9.560213955965878 + ] + ], + "pressures": [ + 0.0107421875, + 1, + 1, + 1, + 1, + 1, + 0.6591796875, + 0.384765625, + 0.2060546875, + 0.109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 46.2078857421875, + 9.560213955965878 + ] + }, + { + "id": "Zf95nDvqcOQpEVfber6Jz", + "type": "freedraw", + "x": 290.30614441710634, + "y": -181.3793868027725, + "width": 56.564830433238626, + "height": 50.98799272017044, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 617462019, + "version": 462, + "versionNonce": 985713667, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -0.796619762073874 + ], + [ + -1.5933504971590082, + -1.593350497159122 + ], + [ + -1.5933504971590082, + -3.186756480823874 + ], + [ + -1.5933504971590082, + -6.373512961647748 + ], + [ + -1.5933504971590082, + -10.356944691051126 + ], + [ + -0.7966752485795041, + -14.340376420454561 + ], + [ + 2.39008123224437, + -16.730457652698874 + ], + [ + 11.153619939630744, + -18.32380814985794 + ], + [ + 18.323808149857996, + -19.1204833984375 + ], + [ + 23.90064586292624, + -20.713889382102252 + ], + [ + 29.47742808948874, + -22.307239879261374 + ], + [ + 32.6641845703125, + -22.307239879261374 + ], + [ + 38.241022283380744, + -20.713889382102252 + ], + [ + 43.817804509943244, + -15.933726917613626 + ], + [ + 49.394642223011374, + -9.560269442471622 + ], + [ + 53.37801846590912, + -1.593350497159122 + ], + [ + 54.97147993607962, + 11.950295188210248 + ], + [ + 53.37801846590912, + 18.32380814985794 + ], + [ + 50.987992720170496, + 23.103970614346565 + ], + [ + 46.20783025568187, + 27.08740234375 + ], + [ + 43.817804509943244, + 27.88407759232956 + ], + [ + 41.427723277698874, + 28.680752840909065 + ], + [ + 41.427723277698874, + 27.88407759232956 + ], + [ + 41.427723277698874, + 27.88407759232956 + ] + ], + "pressures": [ + 0.1103515625, + 0.24609375, + 0.310546875, + 0.48828125, + 0.703125, + 0.8681640625, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.728515625, + 0.3935546875, + 0.189453125, + 0.056640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.427723277698874, + 27.88407759232956 + ] + }, + { + "id": "dxS3IVZ9eCxoW5CvjQKXs", + "type": "freedraw", + "x": 284.72936219054384, + "y": -177.39595507336912, + "width": 129.06333229758525, + "height": 106.75609241832387, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 931885741, + "version": 486, + "versionNonce": 1736714669, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -2.390081232244313 + ], + [ + -4.780162464488626, + -4.780051491477252 + ], + [ + -4.780162464488626, + -7.170188210227252 + ], + [ + -3.983431729403378, + -11.15361993963063 + ], + [ + 0, + -14.340376420454504 + ], + [ + 6.373457475142118, + -19.1204833984375 + ], + [ + 13.54364568536937, + -24.69732111150563 + ], + [ + 21.51056463068187, + -30.27410333806813 + ], + [ + 29.47742808948874, + -34.257535067471565 + ], + [ + 39.03764204545462, + -37.44429154829544 + ], + [ + 43.817804509943244, + -38.240966796875 + ], + [ + 48.59791148792624, + -36.64761629971588 + ], + [ + 54.971424449573874, + -31.86750932173294 + ], + [ + 58.15812544389212, + -28.680752840909065 + ], + [ + 59.75147594105124, + -24.69732111150563 + ], + [ + 59.75147594105124, + -19.1204833984375 + ], + [ + 59.75147594105124, + -10.356944691051126 + ], + [ + 59.75147594105124, + -2.390081232244313 + ], + [ + 59.75147594105124, + 6.373512961647748 + ], + [ + 61.34493741122162, + 11.153675426136374 + ], + [ + 64.53163840553987, + 15.137107155539809 + ], + [ + 71.70182661576712, + 17.527132901278435 + ], + [ + 78.07533957741487, + 18.323808149857996 + ], + [ + 84.4488525390625, + 15.137107155539809 + ], + [ + 90.82236550071025, + 9.560269442471622 + ], + [ + 95.6024169921875, + 3.186811967329561 + ], + [ + 97.9925537109375, + -2.390081232244313 + ], + [ + 98.78922895951712, + -7.170188210227252 + ], + [ + 98.78922895951712, + -8.763538707386317 + ], + [ + 97.195878462358, + -9.560213955965878 + ], + [ + 95.6024169921875, + -11.15361993963063 + ], + [ + 97.195878462358, + -9.560213955965878 + ], + [ + 100.38257945667624, + -6.373512961647691 + ], + [ + 105.16274192116487, + 0 + ], + [ + 115.51963112571025, + 13.543701171875 + ], + [ + 120.29979359019887, + 21.51056463068187 + ], + [ + 123.48649458451712, + 29.477428089488683 + ], + [ + 124.28316983309662, + 37.444291548295496 + ], + [ + 121.893144087358, + 49.394642223011374 + ], + [ + 116.31630637428987, + 56.56483043323868 + ], + [ + 106.75609241832387, + 62.938343394886374 + ], + [ + 96.39909224076712, + 66.92177512428975 + ], + [ + 86.83887828480124, + 68.51512562144887 + ], + [ + 77.27866432883525, + 66.92177512428975 + ], + [ + 73.29517711292624, + 66.12504438920462 + ], + [ + 71.70182661576712, + 64.5316938920455 + ], + [ + 72.49850186434662, + 64.5316938920455 + ], + [ + 72.49850186434662, + 64.5316938920455 + ] + ], + "pressures": [ + 0.01171875, + 0.2158203125, + 0.3271484375, + 0.5, + 0.8427734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.990234375, + 0.9453125, + 0.677734375, + 0.4365234375, + 0.2470703125, + 0.03125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 72.49850186434662, + 64.5316938920455 + ] + }, + { + "id": "Yo4nkHOdPtCXhA-aCsUa2", + "type": "freedraw", + "x": 362.0080265193791, + "y": -211.6534901408407, + "width": 203.15529563210225, + "height": 155.35403164950282, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1179303437, + "version": 483, + "versionNonce": 1634620323, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + -9.560269442471565 + ], + [ + 4.780162464488626, + -23.900645862926126 + ], + [ + 5.576837713068244, + -28.680752840909065 + ], + [ + 7.96686345880687, + -33.460887562144876 + ], + [ + 8.763538707386374, + -34.25756281072444 + ], + [ + 8.763538707386374, + -35.05426580255681 + ], + [ + 8.763538707386374, + -34.25756281072444 + ], + [ + 10.356889204545496, + -30.274131081321002 + ], + [ + 12.747025923295496, + -21.510564630681813 + ], + [ + 22.307239879261374, + 3.983431729403435 + ], + [ + 31.070778586647748, + 25.493996360085248 + ], + [ + 39.83431729403412, + 44.61447975852275 + ], + [ + 45.41115500710225, + 55.768099698153435 + ], + [ + 47.80118075284099, + 54.971424449573874 + ], + [ + 51.78466796875, + 32.6641845703125 + ], + [ + 55.76815518465912, + 9.560213955965935 + ], + [ + 59.75153142755687, + -14.340376420454561 + ], + [ + 62.141557173295496, + -35.05426580255681 + ], + [ + 65.32848011363637, + -58.15818093039775 + ], + [ + 66.92171963778412, + -65.328369140625 + ], + [ + 70.10842063210225, + -64.53169389204544 + ], + [ + 75.6852583451705, + -55.76812744140625 + ], + [ + 82.05877130681824, + -39.83437278053975 + ], + [ + 90.82231001420462, + -6.373512961647748 + ], + [ + 95.60247247869324, + 18.32380814985794 + ], + [ + 99.58584872159099, + 37.444347034801126 + ], + [ + 101.97598544034099, + 47.801236239346565 + ], + [ + 102.7726606889205, + 46.20783025568181 + ], + [ + 103.5693359375, + 35.850941051136374 + ], + [ + 105.1627974076705, + 19.1204833984375 + ], + [ + 109.14628462357962, + -3.983431729403435 + ], + [ + 118.70638760653412, + -30.274131081321002 + ], + [ + 144.200439453125, + -66.12507213245738 + ], + [ + 164.91432883522725, + -78.87204256924713 + ], + [ + 181.6447310014205, + -78.87204256924713 + ], + [ + 192.79840642755687, + -68.51512562144887 + ], + [ + 200.76526988636363, + -43.81780450994319 + ], + [ + 203.15529563210225, + -24.697321111505687 + ], + [ + 203.15529563210225, + -3.186756480823874 + ], + [ + 201.56183416193187, + 19.1204833984375 + ], + [ + 199.17180841619324, + 40.63104802911931 + ], + [ + 191.20494495738637, + 65.328369140625 + ], + [ + 184.03475674715912, + 74.09190784801137 + ], + [ + 179.2545942826705, + 76.48198908025569 + ], + [ + 179.2545942826705, + 75.68525834517044 + ], + [ + 179.2545942826705, + 75.68525834517044 + ] + ], + "pressures": [ + 0.0693359375, + 0.095703125, + 0.2041015625, + 0.251953125, + 0.357421875, + 0.41015625, + 0.58984375, + 0.6953125, + 0.7109375, + 0.73046875, + 0.748046875, + 0.7568359375, + 0.783203125, + 0.951171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.97265625, + 0.9404296875, + 0.9365234375, + 0.9365234375, + 0.8701171875, + 0.7763671875, + 0.546875, + 0.322265625, + 0.203125, + 0.0986328125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 179.2545942826705, + 75.68525834517044 + ] + }, + { + "id": "UuVLFP90k0Nm7IlXiGLeW", + "type": "freedraw", + "x": 228.96120700588483, + "y": -178.9893055705282, + "width": 10.356944691051183, + "height": 9.560269442471622, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1487827309, + "version": 444, + "versionNonce": 1913416717, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738683, + 3.186756480823874 + ], + [ + -0.796675248579561, + 3.186756480823874 + ], + [ + 3.186756480823817, + 2.390025745738626 + ], + [ + 5.57683771306813, + -0.7967307350852479 + ], + [ + 7.170188210227252, + -3.983431729403435 + ], + [ + 7.9669189453125, + -6.373512961647748 + ], + [ + 7.9669189453125, + -6.373512961647748 + ] + ], + "pressures": [ + 0.064453125, + 0.3984375, + 0.4970703125, + 0.6806640625, + 0.8427734375, + 0.951171875, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.9669189453125, + -6.373512961647748 + ] + }, + { + "id": "brcsCYfE4oQc1mwsp6lIU", + "type": "freedraw", + "x": 236.92812595119733, + "y": -187.75289976442025, + "width": 43.81780450994319, + "height": 35.054210316051126, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 244637283, + "version": 453, + "versionNonce": 1414129475, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -15.137107155539809, + -14.340376420454504 + ], + [ + -7.170188210227309, + -27.087346857244313 + ], + [ + 0.7966752485795041, + -31.07077858664769 + ], + [ + 13.543645685369313, + -35.054210316051126 + ], + [ + 18.323808149857882, + -35.054210316051126 + ], + [ + 21.510509144176126, + -34.257535067471565 + ], + [ + 23.103915127840878, + -31.07077858664769 + ], + [ + 24.697265625, + -20.713833895596565 + ], + [ + 26.290671608664752, + -13.543645685369313 + ], + [ + 27.087346857244256, + -7.170188210227252 + ], + [ + 27.884022105823874, + -3.186756480823874 + ], + [ + 28.680697354403378, + 0 + ], + [ + 27.087346857244256, + 0 + ], + [ + 23.103915127840878, + -1.593350497159065 + ], + [ + 19.917158647017004, + -4.780106977982939 + ], + [ + 17.527077414772748, + -6.373457475142004 + ], + [ + 16.73040216619313, + -7.170188210227252 + ], + [ + 16.73040216619313, + -7.170188210227252 + ] + ], + "pressures": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.921875, + 0.796875, + 0.71875, + 0.701171875, + 0.56640625, + 0.3740234375, + 0.2294921875, + 0.1650390625, + 0.13671875, + 0.03125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 16.73040216619313, + -7.170188210227252 + ] + }, + { + "id": "3eZg_AQ2tGsI6agDq9MSf", + "type": "freedraw", + "x": 230.55461298954958, + "y": -184.56614328359638, + "width": 62.141612659801126, + "height": 71.70193758877838, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 851327213, + "version": 471, + "versionNonce": 1528652397, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 2.39013671875 + ], + [ + -3.186756480823874, + 2.39013671875 + ], + [ + 0, + 2.39013671875 + ], + [ + 4.780106977982939, + 2.39013671875 + ], + [ + 11.950295188210248, + -1.593350497159065 + ], + [ + 16.730402166193187, + -6.373512961647748 + ], + [ + 19.1204833984375, + -12.746970436789752 + ], + [ + 19.91715864701706, + -19.1204833984375 + ], + [ + 19.91715864701706, + -23.103915127840878 + ], + [ + 14.340376420454561, + -25.493996360085248 + ], + [ + 8.763538707386374, + -25.493996360085248 + ], + [ + 3.983431729403378, + -25.493996360085248 + ], + [ + -0.796675248579561, + -23.103915127840878 + ], + [ + -7.170188210227252, + -19.91715864701706 + ], + [ + -9.560269442471622, + -18.32380814985794 + ], + [ + -10.356944691051126, + -18.32380814985794 + ], + [ + -10.356944691051126, + -21.510564630681813 + ], + [ + -7.170188210227252, + -31.86750932173294 + ], + [ + -2.390081232244313, + -46.20785799893463 + ], + [ + 6.373512961647748, + -58.95485617897725 + ], + [ + 21.510564630681813, + -68.515097878196 + ], + [ + 30.27410333806813, + -69.31180087002838 + ], + [ + 36.64761629971588, + -65.32834139737213 + ], + [ + 41.427723277698874, + -59.75153142755681 + ], + [ + 46.207830255681756, + -52.58134321732956 + ], + [ + 50.987992720170496, + -39.83437278053975 + ], + [ + 51.78466796875, + -31.86750932173294 + ], + [ + 50.987992720170496, + -23.90059037642044 + ], + [ + 45.41115500710225, + -19.1204833984375 + ], + [ + 35.850941051136374, + -15.933726917613626 + ], + [ + 31.070778586647748, + -15.137051669034065 + ], + [ + 27.884022105823874, + -15.137051669034065 + ], + [ + 26.290671608664752, + -15.137051669034065 + ], + [ + 26.290671608664752, + -14.340376420454561 + ], + [ + 27.087346857244256, + -14.340376420454561 + ], + [ + 27.087346857244256, + -14.340376420454561 + ] + ], + "pressures": [ + 0.0087890625, + 0.1533203125, + 0.396484375, + 0.6240234375, + 0.783203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.78125, + 0.4462890625, + 0.234375, + 0.11328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.087346857244256, + -14.340376420454561 + ] + }, + { + "id": "S1ayuOrh6ft002QMe8mmI", + "type": "freedraw", + "x": 244.09831416142458, + "y": -195.71976322322706, + "width": 101.97598544034093, + "height": 102.77266068892044, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1219087459, + "version": 466, + "versionNonce": 1748316803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -31.070834073153435, + 27.08740234375 + ], + [ + -36.647616299715935, + 43.021129261363626 + ], + [ + -42.22445401278412, + 47.80123623934662 + ], + [ + -47.00456099076706, + 50.191317471590935 + ], + [ + -50.98799272017044, + 52.58134321732956 + ], + [ + -56.564830433238626, + 53.37812943892044 + ], + [ + -59.7515869140625, + 51.78466796875 + ], + [ + -62.938343394886374, + 48.597911487926126 + ], + [ + -65.32831365411931, + 43.81780450994319 + ], + [ + -66.92177512428975, + 39.03769753196025 + ], + [ + -69.31180087002843, + 33.46091530539775 + ], + [ + -70.10853160511363, + 31.86750932173294 + ], + [ + -74.09196333451706, + 30.274103338068187 + ], + [ + -78.07539506392044, + 28.680752840909122 + ], + [ + -81.26209605823863, + 28.680752840909122 + ], + [ + -86.04225852272725, + 28.680752840909122 + ], + [ + -89.22895951704544, + 33.46091530539775 + ], + [ + -93.21239124644887, + 39.83437278053981 + ], + [ + -97.19582297585225, + 46.2078857421875 + ], + [ + -101.17925470525569, + 58.95485617897731 + ], + [ + -101.97598544034093, + 67.71845037286931 + ], + [ + -101.97598544034093, + 77.27871981534093 + ], + [ + -100.38263494318181, + 86.04225852272731 + ], + [ + -94.80579723011363, + 94.80579723011368 + ], + [ + -90.02569025213069, + 98.78922895951706 + ], + [ + -82.85550204190343, + 101.17936567826706 + ], + [ + -75.68531383167613, + 102.77266068892044 + ], + [ + -69.31180087002843, + 102.77266068892044 + ], + [ + -60.54826216264206, + 100.38263494318181 + ], + [ + -55.76815518465912, + 97.19593394886368 + ], + [ + -52.58139870383525, + 93.21244673295456 + ], + [ + -52.58139870383525, + 90.82236550071019 + ], + [ + -52.58139870383525, + 90.82236550071019 + ] + ], + "pressures": [ + 0.880859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.931640625, + 0.26953125, + 0.107421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -52.58139870383525, + 90.82236550071019 + ] + }, + { + "id": "GFboAWzYc_q-iueYvgxYH", + "type": "freedraw", + "x": 240.11482694551546, + "y": -182.97273729993162, + "width": 97.19587846235794, + "height": 93.21239124644882, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1903398659, + "version": 480, + "versionNonce": 1187998509, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350852479, + -1.593405983664752 + ], + [ + 0, + -3.186756480823817 + ], + [ + -1.593350497159065, + -4.780162464488626 + ], + [ + -4.780106977982939, + -7.170188210227252 + ], + [ + -10.356889204545439, + -9.560269442471565 + ], + [ + -19.917158647017004, + -14.340376420454504 + ], + [ + -26.290671608664752, + -16.730457652698817 + ], + [ + -32.66412908380681, + -18.32380814985794 + ], + [ + -41.42766779119313, + -18.32380814985794 + ], + [ + -44.61447975852269, + -18.32380814985794 + ], + [ + -47.00450550426132, + -17.527132901278378 + ], + [ + -47.00450550426132, + -15.933782404119313 + ], + [ + -47.00450550426132, + -11.15361993963063 + ], + [ + -41.42766779119313, + 0.7967307350852479 + ], + [ + -38.240966796875, + 7.96686345880687 + ], + [ + -37.44423606178975, + 13.54364568536937 + ], + [ + -37.44423606178975, + 16.730457652698874 + ], + [ + -39.037642045454504, + 19.1204833984375 + ], + [ + -47.00450550426132, + 21.510509144176183 + ], + [ + -53.37796297940338, + 22.307239879261374 + ], + [ + -59.75153142755681, + 21.510509144176183 + ], + [ + -63.73496315696019, + 17.527077414772748 + ], + [ + -68.51507013494313, + 7.96686345880687 + ], + [ + -69.31174538352269, + 0 + ], + [ + -70.10847611860794, + -6.373512961647691 + ], + [ + -70.10847611860794, + -9.560269442471565 + ], + [ + -70.10847611860794, + -10.356944691051126 + ], + [ + -72.49850186434657, + -10.356944691051126 + ], + [ + -75.68525834517044, + -9.560269442471565 + ], + [ + -79.66869007457382, + -7.170188210227252 + ], + [ + -86.83887828480113, + 0.7967307350852479 + ], + [ + -90.8223100142045, + 10.356889204545496 + ], + [ + -94.80574174360794, + 21.510509144176183 + ], + [ + -96.39914772727269, + 33.46085981889206 + ], + [ + -95.60247247869313, + 52.58139870383525 + ], + [ + -93.21233575994313, + 62.93828790838069 + ], + [ + -90.8223100142045, + 66.92171963778412 + ], + [ + -86.83887828480113, + 69.31180087002838 + ], + [ + -80.46542080965907, + 70.9051513671875 + ], + [ + -70.10847611860794, + 73.29523259943187 + ], + [ + -51.78466796875, + 74.88858309659088 + ], + [ + -44.61447975852269, + 72.49855735085225 + ], + [ + -42.22439852627838, + 67.71839488636363 + ], + [ + -42.22439852627838, + 58.95485617897731 + ], + [ + -44.61447975852269, + 54.17469371448868 + ], + [ + -46.20783025568181, + 52.58139870383525 + ], + [ + -46.20783025568181, + 52.58139870383525 + ] + ], + "pressures": [ + 0.02734375, + 0.2939453125, + 0.49609375, + 0.8369140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.669921875, + 0.6318359375, + 0.376953125, + 0.1943359375, + 0.033203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -46.20783025568181, + 52.58139870383525 + ] + }, + { + "id": "30Wk4C7l17fTWoH7CNCOq", + "type": "freedraw", + "x": 186.73686396611208, + "y": -118.44104340788613, + "width": 110.73957963423294, + "height": 149.77716619318176, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1677746093, + "version": 462, + "versionNonce": 1620175395, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186700994318187, + 5.5767822265625 + ], + [ + 7.966863458806813, + 13.543645685369256 + ], + [ + 10.356889204545439, + 22.30718439275563 + ], + [ + 11.153564453125, + 30.27410333806813 + ], + [ + 11.153564453125, + 35.054210316051126 + ], + [ + 8.763483220880687, + 38.240966796875 + ], + [ + 0.796619762073874, + 39.037642045454504 + ], + [ + -7.966863458806813, + 39.037642045454504 + ], + [ + -18.323863636363626, + 37.44423606178975 + ], + [ + -35.0543212890625, + 30.27410333806813 + ], + [ + -44.614535245028435, + 25.493940873579504 + ], + [ + -54.1748046875, + 22.30718439275563 + ], + [ + -62.14166814630681, + 22.30718439275563 + ], + [ + -69.31185635653407, + 24.697265625 + ], + [ + -77.27871981534093, + 31.070778586647748 + ], + [ + -86.04231400923294, + 48.597911487926126 + ], + [ + -86.8389892578125, + 66.92171963778412 + ], + [ + -84.44890802556819, + 89.22895951704538 + ], + [ + -70.90526234019887, + 120.29973810369313 + ], + [ + -62.14166814630681, + 133.04676402698863 + ], + [ + -54.1748046875, + 141.810302734375 + ], + [ + -47.00461647727275, + 147.38714044744313 + ], + [ + -39.037753018465935, + 149.77716619318176 + ], + [ + -28.680808327414752, + 148.98049094460225 + ], + [ + -7.966863458806813, + 144.20038396661926 + ], + [ + 6.373457475142061, + 139.42027698863637 + ], + [ + 17.527077414772748, + 133.04676402698863 + ], + [ + 23.103859641335248, + 126.67325106534088 + ], + [ + 23.90059037642044, + 122.6898193359375 + ], + [ + 23.90059037642044, + 122.6898193359375 + ] + ], + "pressures": [ + 0.103515625, + 0.53125, + 0.791015625, + 0.94921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.94921875, + 0.72265625, + 0.67578125, + 0.677734375, + 0.703125, + 0.72265625, + 0.73046875, + 0.54296875, + 0.298828125, + 0.267578125, + 0.232421875, + 0.01953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.90059037642044, + 122.6898193359375 + ] + }, + { + "id": "Cn8CjTl92uBRi_fFEYrma", + "type": "freedraw", + "x": 203.4672661323052, + "y": -194.9230324881418, + "width": 77.27866432883525, + "height": 86.04225852272725, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 325987245, + "version": 485, + "versionNonce": 426999181, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7966752485795041 + ], + [ + -1.593405983664752, + -2.390025745738626 + ], + [ + -3.983431729403378, + -3.983431729403378 + ], + [ + -6.373512961647748, + -6.373457475142004 + ], + [ + -10.356944691051126, + -8.763538707386374 + ], + [ + -13.543701171875, + -10.356944691051126 + ], + [ + -16.730457652698874, + -11.950295188210191 + ], + [ + -20.713889382102252, + -11.950295188210191 + ], + [ + -27.08740234375, + -12.746970436789752 + ], + [ + -30.274103338068187, + -12.746970436789752 + ], + [ + -33.46085981889206, + -11.950295188210191 + ], + [ + -36.64761629971588, + -10.356944691051126 + ], + [ + -40.63104802911931, + -7.966863458806813 + ], + [ + -47.00456099076706, + -3.186756480823874 + ], + [ + -50.19126198508525, + 1.593405983664809 + ], + [ + -53.37807395241475, + 5.576893199573874 + ], + [ + -55.768155184659065, + 7.966863458806813 + ], + [ + -56.564830433238626, + 9.560324928977309 + ], + [ + -56.564830433238626, + 11.950350674715935 + ], + [ + -55.768155184659065, + 17.527188387784122 + ], + [ + -54.971424449573874, + 23.900645862926126 + ], + [ + -54.971424449573874, + 31.070834073153435 + ], + [ + -54.971424449573874, + 39.83437278053981 + ], + [ + -54.971424449573874, + 46.2078857421875 + ], + [ + -56.564830433238626, + 53.378129438920496 + ], + [ + -58.95485617897725, + 59.7515869140625 + ], + [ + -62.938343394886374, + 66.12504438920456 + ], + [ + -66.12504438920456, + 69.31185635653412 + ], + [ + -69.31180087002838, + 70.90520685369324 + ], + [ + -71.70188210227275, + 71.70188210227275 + ], + [ + -73.29523259943181, + 72.49855735085225 + ], + [ + -75.68531383167613, + 73.2952880859375 + ], + [ + -76.48198908025569, + 73.2952880859375 + ], + [ + -77.27866432883525, + 73.2952880859375 + ], + [ + -76.48198908025569, + 71.70188210227275 + ], + [ + -75.68531383167613, + 71.70188210227275 + ], + [ + -75.68531383167613, + 71.70188210227275 + ] + ], + "pressures": [ + 0.0234375, + 0.2216796875, + 0.40625, + 0.55859375, + 0.728515625, + 0.876953125, + 0.951171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.11328125, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -75.68531383167613, + 71.70188210227275 + ] + }, + { + "id": "zMf_pjdTmoPyh1yQ1xshp", + "type": "freedraw", + "x": 169.20967557832796, + "y": -116.847692910727, + "width": 56.56477494673294, + "height": 23.900645862926126, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1176382083, + "version": 452, + "versionNonce": 129412547, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -0.7967307350852479 + ], + [ + -4.780106977982939, + 0 + ], + [ + -4.780106977982939, + 3.1867564808237603 + ], + [ + -3.983431729403378, + 6.373512961647634 + ], + [ + -2.390025745738626, + 8.76353870738626 + ], + [ + -0.7966752485795041, + 11.950295188210134 + ], + [ + 3.983431729403435, + 15.137051669034008 + ], + [ + 7.96686345880687, + 17.527077414772634 + ], + [ + 14.340376420454561, + 20.71383389559651 + ], + [ + 19.1204833984375, + 22.307295365767004 + ], + [ + 25.494051846590935, + 23.103915127840878 + ], + [ + 28.680752840909122, + 23.103915127840878 + ], + [ + 31.867509321732996, + 22.307295365767004 + ], + [ + 35.05426580255687, + 20.71383389559651 + ], + [ + 37.44434703480118, + 19.1204833984375 + ], + [ + 40.63104802911937, + 14.340376420454504 + ], + [ + 43.02112926136368, + 11.950295188210134 + ], + [ + 45.411210493607996, + 9.560213955965878 + ], + [ + 47.80123623934662, + 7.170188210227252 + ], + [ + 50.987992720170496, + 3.983431729403378 + ], + [ + 51.78466796875, + 3.1867564808237603 + ], + [ + 51.78466796875, + 3.1867564808237603 + ] + ], + "pressures": [ + 0.0205078125, + 0.15625, + 0.2919921875, + 0.3017578125, + 0.318359375, + 0.3525390625, + 0.3994140625, + 0.4736328125, + 0.5478515625, + 0.6083984375, + 0.6162109375, + 0.6318359375, + 0.6357421875, + 0.6357421875, + 0.6357421875, + 0.6357421875, + 0.6357421875, + 0.6044921875, + 0.5009765625, + 0.4267578125, + 0.2841796875, + 0.2041015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 51.78466796875, + 3.1867564808237603 + ] + }, + { + "id": "KAblbuTeLxpI23rs6tpp8", + "type": "freedraw", + "x": 170.80308156199277, + "y": -118.44104340788613, + "width": 55.76809969815338, + "height": 26.290616122159122, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 777616653, + "version": 446, + "versionNonce": 1990607853, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 17.52707741477269, + 18.323752663352252 + ], + [ + 29.477428089488626, + 23.103915127840878 + ], + [ + 32.66412908380681, + 23.900645862926126 + ], + [ + 36.64761629971588, + 25.493940873579504 + ], + [ + 40.63104802911931, + 26.290616122159122 + ], + [ + 44.61447975852269, + 26.290616122159122 + ], + [ + 47.801236239346565, + 26.290616122159122 + ], + [ + 52.58134321732956, + 24.697265625 + ], + [ + 54.174693714488626, + 22.30718439275563 + ], + [ + 55.76809969815338, + 20.713833895596622 + ], + [ + 55.76809969815338, + 18.323752663352252 + ], + [ + 55.76809969815338, + 16.73040216619313 + ], + [ + 55.76809969815338, + 13.543645685369256 + ], + [ + 55.76809969815338, + 12.746970436789752 + ], + [ + 55.76809969815338, + 11.950295188210248 + ], + [ + 55.76809969815338, + 11.950295188210248 + ] + ], + "pressures": [ + 0.037109375, + 0.787109375, + 0.9423828125, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 0.951171875, + 0.802734375, + 0.6552734375, + 0.4306640625, + 0.1787109375, + 0.1396484375, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 55.76809969815338, + 11.950295188210248 + ] + }, + { + "id": "-y8rzIkN5hgTCK2oVKBrn", + "type": "freedraw", + "x": 128.5786830357144, + "y": 154.82261736981275, + "width": 43.021129261363626, + "height": 16.73040216619313, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1353100163, + "version": 520, + "versionNonce": 1623326051, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795041 + ], + [ + 1.593350497159065, + 3.186756480823874 + ], + [ + 4.780106977982939, + 4.780106977982882 + ], + [ + 7.966863458806813, + 6.373512961647748 + ], + [ + 14.340376420454561, + 10.356944691051126 + ], + [ + 18.32380814985794, + 12.746970436789752 + ], + [ + 22.307239879261374, + 14.340431906960248 + ], + [ + 25.493996360085248, + 15.933726917613626 + ], + [ + 29.477428089488626, + 15.933726917613626 + ], + [ + 33.46085981889206, + 16.73040216619313 + ], + [ + 37.44429154829544, + 16.73040216619313 + ], + [ + 39.83437278053975, + 16.73040216619313 + ], + [ + 40.63104802911931, + 16.73040216619313 + ], + [ + 42.224398526278435, + 15.933726917613626 + ], + [ + 42.224398526278435, + 15.137051669034122 + ], + [ + 43.021129261363626, + 15.137051669034122 + ], + [ + 43.021129261363626, + 14.340431906960248 + ], + [ + 43.021129261363626, + 13.543645685369256 + ], + [ + 43.021129261363626, + 12.746970436789752 + ], + [ + 43.021129261363626, + 12.746970436789752 + ] + ], + "pressures": [ + 0.078125, + 0.1982421875, + 0.2314453125, + 0.3017578125, + 0.3994140625, + 0.57421875, + 0.662109375, + 0.7109375, + 0.736328125, + 0.74609375, + 0.751953125, + 0.7607421875, + 0.751953125, + 0.7109375, + 0.615234375, + 0.5087890625, + 0.3896484375, + 0.203125, + 0.16015625, + 0.0849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 43.021129261363626, + 12.746970436789752 + ] + }, + { + "id": "psBDMMSUFohGBPGWzq7T0", + "type": "freedraw", + "x": 202.67053539722002, + "y": -95.33723925305662, + "width": 95.60247247869319, + "height": 156.15073464133525, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2099463011, + "version": 468, + "versionNonce": 40975949, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + 0.7966752485795041 + ], + [ + 3.983431729403435, + 3.186756480823874 + ], + [ + 4.780162464488683, + 8.763594193892004 + ], + [ + 7.170188210227309, + 19.1204833984375 + ], + [ + 7.170188210227309, + 26.290727095170496 + ], + [ + 7.96686345880687, + 31.867509321732996 + ], + [ + 7.96686345880687, + 35.850941051136374 + ], + [ + 5.576837713068187, + 39.83437278053975 + ], + [ + 0, + 47.004560990767004 + ], + [ + -4.780106977982939, + 50.19137295809662 + ], + [ + -12.746970436789752, + 53.37807395241475 + ], + [ + -23.10385964133519, + 54.971424449573874 + ], + [ + -39.83437278053975, + 54.971424449573874 + ], + [ + -47.00450550426132, + 54.1748046875 + ], + [ + -52.581343217329504, + 54.1748046875 + ], + [ + -58.15818093039769, + 53.37807395241475 + ], + [ + -63.73496315696019, + 52.581343217329504 + ], + [ + -68.51512562144882, + 52.581343217329504 + ], + [ + -76.48198908025563, + 54.971424449573874 + ], + [ + -80.46542080965907, + 61.34493741122162 + ], + [ + -82.05877130681813, + 70.10853160511363 + ], + [ + -82.85544655539769, + 84.4488525390625 + ], + [ + -80.46542080965907, + 96.39914772727275 + ], + [ + -75.68531383167613, + 108.34949840198863 + ], + [ + -69.31180087002838, + 120.29979359019887 + ], + [ + -62.141612659801126, + 132.25008877840912 + ], + [ + -50.19131747159088, + 144.200439453125 + ], + [ + -41.42772327769882, + 149.77727716619313 + ], + [ + -31.07077858664769, + 152.96397816051137 + ], + [ + -21.510564630681813, + 155.35405939275563 + ], + [ + -7.170132723721565, + 156.15073464133525 + ], + [ + 0.7967307350852479, + 155.35405939275563 + ], + [ + 8.763594193892061, + 151.37057217684662 + ], + [ + 12.747025923295496, + 148.18387118252838 + ], + [ + 12.747025923295496, + 146.59046519886363 + ], + [ + 12.747025923295496, + 146.59046519886363 + ] + ], + "pressures": [ + 0.078125, + 0.232421875, + 0.330078125, + 0.4423828125, + 0.61328125, + 0.734375, + 0.826171875, + 0.884765625, + 0.9189453125, + 0.9423828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9794921875, + 0.921875, + 0.90234375, + 0.87890625, + 0.8203125, + 0.8115234375, + 0.8115234375, + 0.783203125, + 0.5625, + 0.3125, + 0.193359375, + 0.10546875, + 0.0224609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 12.747025923295496, + 146.59046519886363 + ] + }, + { + "id": "zgcRuXrpO_ullw-DKmFwE", + "type": "freedraw", + "x": 293.4929008979302, + "y": -130.39133859609638, + "width": 42.22445401278412, + "height": 37.44429154829544, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 340579395, + "version": 446, + "versionNonce": 117594371, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.9834317294034918, + -3.186811967329561 + ], + [ + 4.780106977982996, + -3.186811967329561 + ], + [ + 6.373512961647748, + -3.186811967329561 + ], + [ + 9.560269442471622, + 0 + ], + [ + 12.747025923295496, + 5.576726740056813 + ], + [ + 14.340376420454618, + 16.73040216619313 + ], + [ + 13.543701171875, + 23.900590376420496 + ], + [ + 10.356944691051126, + 29.477372602982996 + ], + [ + 5.576837713068244, + 32.66412908380687 + ], + [ + -3.186756480823874, + 33.460804332386374 + ], + [ + -11.15361993963063, + 33.460804332386374 + ], + [ + -17.527132901278378, + 32.66412908380687 + ], + [ + -23.900590376420382, + 32.66412908380687 + ], + [ + -26.290671608664752, + 32.66412908380687 + ], + [ + -27.884077592329504, + 32.66412908380687 + ], + [ + -27.884077592329504, + 34.25747958096588 + ], + [ + -27.884077592329504, + 34.25747958096588 + ] + ], + "pressures": [ + 0.015625, + 0.1787109375, + 0.203125, + 0.3427734375, + 0.4599609375, + 0.6025390625, + 0.822265625, + 0.9599609375, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.9189453125, + 0.72265625, + 0.1259765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -27.884077592329504, + 34.25747958096588 + ] + }, + { + "id": "AV0klwCpdZZmdBuekyWa2", + "type": "freedraw", + "x": 167.81099439844604, + "y": 169.65863832994285, + "width": 27.884022105823817, + "height": 11.15361993963063, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 860567405, + "version": 517, + "versionNonce": 705023757, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0.7966752485795041 + ], + [ + 0, + 1.5933504971590082 + ], + [ + 1.593350497159122, + 2.390081232244256 + ], + [ + 4.780106977982996, + 3.186811967329504 + ], + [ + 7.966863458806813, + 3.983431729403378 + ], + [ + 15.137051669034122, + 4.780106977982882 + ], + [ + 19.1204833984375, + 4.780106977982882 + ], + [ + 22.307239879261374, + 4.780106977982882 + ], + [ + 24.697265625, + 3.983431729403378 + ], + [ + 26.29067160866481, + 2.390081232244256 + ], + [ + 27.087346857244313, + -0.796619762073874 + ], + [ + 27.087346857244313, + -2.39008123224437 + ], + [ + 26.29067160866481, + -4.780106977982996 + ], + [ + 25.49394087357956, + -6.373512961647748 + ], + [ + 24.697265625, + -6.373512961647748 + ], + [ + 24.697265625, + -6.373512961647748 + ] + ], + "pressures": [ + 0.017578125, + 0.2666015625, + 0.3740234375, + 0.4970703125, + 0.6015625, + 0.697265625, + 0.8203125, + 0.849609375, + 0.853515625, + 0.853515625, + 0.8408203125, + 0.71484375, + 0.4658203125, + 0.236328125, + 0.146484375, + 0.1064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 24.697265625, + -6.373512961647748 + ] + }, + { + "id": "iKYkRKdRijKt_YZvKkaNN", + "type": "freedraw", + "x": 301.4597643567371, + "y": -124.01788112095431, + "width": 62.938232421875, + "height": 97.19582297585231, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1545823437, + "version": 470, + "versionNonce": 1028404291, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390081232244256, + 2.390025745738626 + ], + [ + 6.373512961647748, + 6.373457475142061 + ], + [ + 10.356944691051126, + 10.35694469105107 + ], + [ + 14.340376420454504, + 12.746970436789809 + ], + [ + 17.527132901278378, + 15.137051669034065 + ], + [ + 23.103970614346622, + 16.730402166193187 + ], + [ + 26.290671608664752, + 16.730402166193187 + ], + [ + 30.27410333806813, + 16.730402166193187 + ], + [ + 34.25753506747162, + 15.93372691761357 + ], + [ + 40.631048029119256, + 13.543701171874943 + ], + [ + 43.817859996448874, + 11.153619939630687 + ], + [ + 47.80123623934662, + 9.560269442471565 + ], + [ + 50.988048206676126, + 7.170188210227309 + ], + [ + 55.76809969815338, + 5.576837713068187 + ], + [ + 56.564774946732996, + 5.576837713068187 + ], + [ + 57.3614501953125, + 5.576837713068187 + ], + [ + 30.27410333806813, + -15.933782404119313 + ], + [ + 32.6641845703125, + -25.493996360085248 + ], + [ + 33.460859818892004, + -28.680752840909122 + ], + [ + 35.054210316051126, + -34.25753506747162 + ], + [ + 38.24102228338063, + -39.83437278053981 + ], + [ + 40.631048029119256, + -43.021129261363626 + ], + [ + 42.22439852627838, + -46.20783025568181 + ], + [ + 42.22439852627838, + -50.98799272017044 + ], + [ + 42.22439852627838, + -58.15812544389206 + ], + [ + 41.427723277698874, + -66.12504438920456 + ], + [ + 40.631048029119256, + -69.31180087002843 + ], + [ + 39.83437278053975, + -70.90520685369319 + ], + [ + 39.83437278053975, + -71.70188210227275 + ], + [ + 35.850996537642004, + -73.29523259943181 + ], + [ + 31.070834073153378, + -76.48198908025569 + ], + [ + 25.493996360085248, + -78.07539506392044 + ], + [ + 18.323808149857996, + -79.66874556107956 + ], + [ + 11.950295188210248, + -80.46542080965912 + ], + [ + 7.966863458806756, + -80.46542080965912 + ], + [ + 3.983431729403378, + -80.46542080965912 + ], + [ + 3.186756480823874, + -80.46542080965912 + ], + [ + 1.593405983664752, + -79.66874556107956 + ], + [ + -0.7966752485795041, + -78.07539506392044 + ], + [ + -3.186756480823874, + -76.48198908025569 + ], + [ + -3.983431729403378, + -74.88863858309662 + ], + [ + -4.780106977982996, + -72.49855735085231 + ], + [ + -5.5767822265625, + -70.90520685369319 + ], + [ + -5.5767822265625, + -70.90520685369319 + ] + ], + "pressures": [ + 0.0234375, + 0.3603515625, + 0.41015625, + 0.4853515625, + 0.5947265625, + 0.708984375, + 0.80078125, + 0.8642578125, + 0.90625, + 0.9345703125, + 0.951171875, + 0.953125, + 0.9560546875, + 0.9580078125, + 0.9580078125, + 0.96875, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.951171875, + 0.74609375, + 0.51953125, + 0.2880859375, + 0.1240234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.5767822265625, + -70.90520685369319 + ] + }, + { + "id": "h5cQ0tfR_iN8EB50ehx6T", + "type": "freedraw", + "x": 283.1359562068791, + "y": -186.15949378075544, + "width": 100.38263494318187, + "height": 97.9925537109375, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1982518531, + "version": 470, + "versionNonce": 871523693, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485796178, + -2.390081232244313 + ], + [ + 3.186756480823874, + -6.373512961647748 + ], + [ + 7.170188210227252, + -10.356944691051183 + ], + [ + 13.543701171875, + -12.747025923295496 + ], + [ + 20.713889382102252, + -13.543701171875 + ], + [ + 31.867509321732996, + -15.137051669034122 + ], + [ + 37.444291548295496, + -15.933782404119313 + ], + [ + 43.021129261363626, + -15.137051669034122 + ], + [ + 50.19131747159099, + -11.950350674715935 + ], + [ + 53.37801846590912, + -7.966863458806813 + ], + [ + 54.1748046875, + -3.186756480823874 + ], + [ + 53.37801846590912, + 1.593350497159065 + ], + [ + 50.19131747159099, + 7.170188210227252 + ], + [ + 47.00456099076712, + 13.543645685369313 + ], + [ + 43.817804509943244, + 23.103915127840878 + ], + [ + 43.021129261363626, + 28.680752840909065 + ], + [ + 43.021129261363626, + 32.6641845703125 + ], + [ + 44.61447975852275, + 34.257535067471565 + ], + [ + 47.80123623934662, + 34.257535067471565 + ], + [ + 52.58134321732962, + 32.6641845703125 + ], + [ + 58.15818093039775, + 27.884077592329504 + ], + [ + 62.938343394886374, + 22.307239879261317 + ], + [ + 67.71839488636363, + 17.527132901278378 + ], + [ + 73.29523259943187, + 11.950350674715878 + ], + [ + 73.29523259943187, + 10.356944691051126 + ], + [ + 73.29523259943187, + 7.9669189453125 + ], + [ + 73.29523259943187, + 6.373457475142004 + ], + [ + 73.29523259943187, + 7.170188210227252 + ], + [ + 75.6852583451705, + 11.950350674715878 + ], + [ + 80.46542080965912, + 19.91721413352269 + ], + [ + 91.6190962357955, + 35.054210316051126 + ], + [ + 97.99249822443187, + 46.20783025568181 + ], + [ + 100.38263494318187, + 55.768155184659065 + ], + [ + 100.38263494318187, + 62.141612659801126 + ], + [ + 94.80579723011363, + 70.10847611860794 + ], + [ + 88.43228426846599, + 74.88858309659093 + ], + [ + 80.46542080965912, + 78.87201482599431 + ], + [ + 71.70188210227275, + 81.26209605823857 + ], + [ + 62.938343394886374, + 82.05877130681819 + ], + [ + 53.37801846590912, + 80.46542080965907 + ], + [ + 50.19131747159099, + 78.0753395774147 + ], + [ + 47.80123623934662, + 76.48198908025569 + ], + [ + 47.00456099076712, + 74.88858309659093 + ], + [ + 47.00456099076712, + 74.88858309659093 + ] + ], + "pressures": [ + 0.0654296875, + 0.5478515625, + 0.7685546875, + 0.921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.947265625, + 0.798828125, + 0.6494140625, + 0.4951171875, + 0.234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 47.00456099076712, + 74.88858309659093 + ] + }, + { + "id": "HaXBt9oE03Knkfpl1l85F", + "type": "freedraw", + "x": 294.28957614650983, + "y": -182.97273729993162, + "width": 114.72295587713074, + "height": 114.72301136363637, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2096520749, + "version": 479, + "versionNonce": 115520483, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485796178, + -2.390081232244313 + ], + [ + -0.7966752485796178, + -6.373512961647691 + ], + [ + 2.390081232244256, + -11.15361993963063 + ], + [ + 8.763594193892004, + -15.933782404119313 + ], + [ + 15.933782404119256, + -21.510564630681813 + ], + [ + 26.290671608664752, + -26.29072709517044 + ], + [ + 32.6641845703125, + -27.08740234375 + ], + [ + 39.03769753196025, + -25.49399636008519 + ], + [ + 43.817859996448874, + -21.510564630681813 + ], + [ + 48.597911487926126, + -13.543701171875 + ], + [ + 48.597911487926126, + -7.170188210227252 + ], + [ + 44.61453524502838, + 0.7967307350852479 + ], + [ + 39.03769753196025, + 8.763594193892061 + ], + [ + 31.070834073153378, + 20.71388938210231 + ], + [ + 27.08740234375, + 28.680752840909122 + ], + [ + 24.69732111150563, + 35.85088556463069 + ], + [ + 23.10397061434651, + 40.631103515625 + ], + [ + 23.10397061434651, + 43.021073774857996 + ], + [ + 23.900645862926126, + 44.614535245028435 + ], + [ + 27.08740234375, + 44.614535245028435 + ], + [ + 30.274158824573874, + 45.41115500710231 + ], + [ + 34.25759055397725, + 44.614535245028435 + ], + [ + 40.631048029119256, + 39.83431729403412 + ], + [ + 45.41121049360788, + 34.25753506747162 + ], + [ + 48.597911487926126, + 25.493996360085248 + ], + [ + 51.78472345525563, + 15.137051669034122 + ], + [ + 53.37807395241475, + 4.780162464488683 + ], + [ + 53.37807395241475, + -2.390081232244313 + ], + [ + 52.58139870383525, + -7.9669189453125 + ], + [ + 51.78472345525563, + -9.560269442471565 + ], + [ + 50.988048206676126, + -11.15361993963063 + ], + [ + 50.19126198508525, + -13.543701171875 + ], + [ + 50.19126198508525, + -15.933782404119313 + ], + [ + 53.37807395241475, + -14.340376420454504 + ], + [ + 62.141612659801126, + -7.9669189453125 + ], + [ + 73.2952880859375, + 0 + ], + [ + 86.83887828480113, + 11.153619939630687 + ], + [ + 99.58590420809651, + 22.307239879261374 + ], + [ + 106.75609241832387, + 33.46085981889206 + ], + [ + 111.5362548828125, + 43.81780450994319 + ], + [ + 113.92628062855113, + 60.54826216264206 + ], + [ + 111.5362548828125, + 69.31180087002838 + ], + [ + 105.16274192116475, + 77.27866432883525 + ], + [ + 94.80585271661926, + 82.85544655539775 + ], + [ + 75.68531383167613, + 86.83887828480113 + ], + [ + 64.53163840553975, + 87.63560901988637 + ], + [ + 56.56477494673288, + 87.63560901988637 + ], + [ + 50.988048206676126, + 85.24552778764212 + ], + [ + 47.004560990767004, + 82.05877130681824 + ], + [ + 44.61453524502838, + 77.27866432883525 + ], + [ + 43.817859996448874, + 75.6852583451705 + ], + [ + 45.41121049360788, + 75.6852583451705 + ], + [ + 45.41121049360788, + 75.6852583451705 + ] + ], + "pressures": [ + 0.052734375, + 0.5234375, + 0.625, + 0.70703125, + 0.80078125, + 0.85546875, + 0.927734375, + 0.9833984375, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.9404296875, + 0.9169921875, + 0.908203125, + 0.908203125, + 0.9111328125, + 0.90234375, + 0.90234375, + 0.908203125, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.931640625, + 0.880859375, + 0.783203125, + 0.669921875, + 0.369140625, + 0.2509765625, + 0.0390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 45.41121049360788, + 75.6852583451705 + ] + }, + { + "id": "awFMjy--KAz5ARX2mUH0S", + "type": "freedraw", + "x": 320.5803032416802, + "y": -192.5329512558975, + "width": 50.98793723366475, + "height": 76.48198908025569, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1800593293, + "version": 463, + "versionNonce": 1421684685, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -11.153675426136374 + ], + [ + 0, + -12.747025923295496 + ], + [ + 2.390025745738626, + -17.527188387784122 + ], + [ + 5.5767822265625, + -22.30729536576706 + ], + [ + 10.356944691051126, + -28.68080832741481 + ], + [ + 13.543701171875, + -31.070834073153435 + ], + [ + 17.527132901278378, + -32.66424005681819 + ], + [ + 27.08734685724437, + -33.46091530539775 + ], + [ + 34.25753506747162, + -33.46091530539775 + ], + [ + 41.427723277698874, + -33.46091530539775 + ], + [ + 47.004560990767004, + -31.867564808238626 + ], + [ + 49.39458673650563, + -27.884133078835248 + ], + [ + 50.19126198508525, + -22.30729536576706 + ], + [ + 47.80123623934662, + -10.357000177556813 + ], + [ + 44.61453524502838, + 0.796619762073874 + ], + [ + 41.427723277698874, + 12.746970436789752 + ], + [ + 39.037642045454504, + 23.10385964133519 + ], + [ + 34.25753506747162, + 35.850941051136374 + ], + [ + 30.27410333806813, + 40.630992542613626 + ], + [ + 27.884022105823874, + 43.02107377485794 + ], + [ + 25.493996360085248, + 43.02107377485794 + ], + [ + 24.69732111150563, + 43.02107377485794 + ], + [ + 23.900590376420496, + 43.02107377485794 + ], + [ + 24.69732111150563, + 42.22439852627838 + ], + [ + 24.69732111150563, + 42.22439852627838 + ] + ], + "pressures": [ + 0.0712890625, + 0.537109375, + 0.6376953125, + 0.8076171875, + 0.8955078125, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.1220703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 24.69732111150563, + 42.22439852627838 + ] + }, + { + "id": "PwSsn4xH1bveCxMWoWo2u", + "type": "freedraw", + "x": 305.44319608614046, + "y": -120.83112464013044, + "width": 29.477428089488626, + "height": 26.29072709517044, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1189673677, + "version": 448, + "versionNonce": 2055188013, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350852479, + 3.983431729403435 + ], + [ + 2.39008123224437, + 6.373512961647691 + ], + [ + 3.186756480823874, + 9.560213955965935 + ], + [ + 4.780162464488626, + 13.543645685369313 + ], + [ + 6.373512961647748, + 16.730402166193187 + ], + [ + 10.356944691051126, + 20.713833895596565 + ], + [ + 15.137051669034122, + 23.90059037642044 + ], + [ + 20.713889382102252, + 26.29072709517044 + ], + [ + 23.103970614346622, + 26.29072709517044 + ], + [ + 25.493996360085248, + 25.49399636008519 + ], + [ + 27.08740234375, + 23.103915127840935 + ], + [ + 28.680752840909122, + 20.713833895596565 + ], + [ + 29.477428089488626, + 16.730402166193187 + ], + [ + 29.477428089488626, + 14.340376420454561 + ], + [ + 28.680752840909122, + 11.950295188210191 + ], + [ + 27.884077592329618, + 9.560213955965935 + ], + [ + 27.08740234375, + 9.560213955965935 + ], + [ + 27.08740234375, + 8.763538707386317 + ], + [ + 26.290671608664752, + 8.763538707386317 + ], + [ + 25.493996360085248, + 9.560213955965935 + ], + [ + 24.697321111505744, + 9.560213955965935 + ], + [ + 23.900645862926126, + 9.560213955965935 + ], + [ + 23.900645862926126, + 10.35694469105107 + ], + [ + 23.900645862926126, + 10.35694469105107 + ] + ], + "pressures": [ + 0.0029296875, + 0.212890625, + 0.267578125, + 0.3232421875, + 0.41796875, + 0.484375, + 0.5068359375, + 0.5966796875, + 0.7109375, + 0.732421875, + 0.7607421875, + 0.787109375, + 0.8095703125, + 0.8173828125, + 0.8154296875, + 0.798828125, + 0.7763671875, + 0.7744140625, + 0.716796875, + 0.39453125, + 0.2314453125, + 0.1884765625, + 0.1142578125, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.900645862926126, + 10.35694469105107 + ] + }, + { + "id": "AbzfzUgt_ASh3mu1DFdE-", + "type": "freedraw", + "x": 308.62995256696433, + "y": -113.66093642990324, + "width": 32.6641845703125, + "height": 31.070834073153378, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 458965933, + "version": 448, + "versionNonce": 825972515, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593405983664752 + ], + [ + 0, + -9.560269442471508 + ], + [ + 0, + -15.137107155539695 + ], + [ + -0.7966752485795041, + -20.71383389559651 + ], + [ + -1.593350497159122, + -24.697265624999943 + ], + [ + -1.593350497159122, + -28.680697354403378 + ], + [ + -2.390025745738626, + -30.274158824573817 + ], + [ + -2.390025745738626, + -31.070834073153378 + ], + [ + -0.7966752485795041, + -30.274158824573817 + ], + [ + 1.593405983664752, + -27.884077592329504 + ], + [ + 2.39008123224437, + -23.90064586292607 + ], + [ + 3.983431729403378, + -19.91721413352269 + ], + [ + 6.373512961647748, + -15.137107155539695 + ], + [ + 8.763594193892004, + -11.153675426136317 + ], + [ + 11.950295188210248, + -7.966918945312443 + ], + [ + 16.730457652698874, + -4.780106977982882 + ], + [ + 20.713889382102252, + -3.1867564808237603 + ], + [ + 25.493996360085248, + -1.593405983664752 + ], + [ + 29.47748357599437, + -1.593405983664752 + ], + [ + 30.274158824573874, + -1.593405983664752 + ], + [ + 29.47748357599437, + -3.9834872159090082 + ], + [ + 27.884022105823874, + -4.780106977982882 + ], + [ + 27.884022105823874, + -5.57683771306813 + ], + [ + 27.884022105823874, + -5.57683771306813 + ] + ], + "pressures": [ + 0.064453125, + 0.6943359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.21484375, + 0.1201171875, + 0.0634765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.884022105823874, + -5.57683771306813 + ] + }, + { + "id": "k5nDQgwS7mzt3cd6zKo1P", + "type": "freedraw", + "x": 209.04404835886777, + "y": -87.37026482123838, + "width": 100.38257945667613, + "height": 104.36601118607962, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1203227213, + "version": 453, + "versionNonce": 984251075, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593405983664752, + -0.7966752485796178 + ], + [ + 3.186756480823874, + 0 + ], + [ + 4.780106977982939, + 3.186756480823874 + ], + [ + 6.373512961647691, + 7.170188210227252 + ], + [ + 7.966863458806813, + 12.747025923295382 + ], + [ + 7.966863458806813, + 22.307239879261374 + ], + [ + 6.373512961647691, + 27.884022105823874 + ], + [ + 4.780106977982939, + 31.070778586647634 + ], + [ + 2.390081232244313, + 33.460859818892004 + ], + [ + -3.186756480823874, + 34.25753506747151 + ], + [ + -14.340320933948874, + 34.25753506747151 + ], + [ + -22.307184392755687, + 33.460859818892004 + ], + [ + -29.477428089488626, + 31.070778586647634 + ], + [ + -36.647616299715935, + 28.68075284090901 + ], + [ + -43.021129261363626, + 26.290671608664752 + ], + [ + -53.37807395241481, + 23.103915127840878 + ], + [ + -60.54826216264206, + 21.510564630681756 + ], + [ + -66.92171963778412, + 21.510564630681756 + ], + [ + -75.68531383167613, + 21.510564630681756 + ], + [ + -81.26209605823863, + 22.307239879261374 + ], + [ + -86.04220303622162, + 24.69732111150563 + ], + [ + -90.025634765625, + 30.27410333806813 + ], + [ + -91.61904074928975, + 39.037642045454504 + ], + [ + -92.41571599786931, + 50.98799272017038 + ], + [ + -89.22895951704544, + 70.10847611860788 + ], + [ + -85.24552778764206, + 80.46547629616475 + ], + [ + -79.66874556107956, + 87.63560901988637 + ], + [ + -68.51512562144887, + 97.9925537109375 + ], + [ + -60.54826216264206, + 102.77266068892038 + ], + [ + -54.971424449573874, + 103.5693359375 + ], + [ + -50.98799272017044, + 100.38263494318176 + ], + [ + -47.80123623934662, + 94.80579723011363 + ], + [ + -47.80123623934662, + 90.82236550071013 + ], + [ + -47.80123623934662, + 90.82236550071013 + ] + ], + "pressures": [ + 0.056640625, + 0.5224609375, + 0.6923828125, + 0.90234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.8642578125, + 0.630859375, + 0.3466796875, + 0.23046875, + 0.15625, + 0.0439453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -47.80123623934662, + 90.82236550071013 + ] + }, + { + "id": "u7wfZvU8cDTYvOxVY7XQY", + "type": "freedraw", + "x": 205.06061662946433, + "y": -96.1338590151305, + "width": 141.0136274857955, + "height": 127.46998180042613, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1525529571, + "version": 454, + "versionNonce": 2002896621, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593405983664809, + -0.7966752485795041 + ], + [ + 4.780106977982996, + 3.186756480823874 + ], + [ + 10.356944691051126, + 12.747025923295496 + ], + [ + 11.950295188210248, + 19.917214133522748 + ], + [ + 12.746970436789809, + 27.884077592329618 + ], + [ + 7.966863458806813, + 35.05426580255687 + ], + [ + 2.390081232244313, + 37.444347034801126 + ], + [ + -4.780106977982939, + 39.83437278053975 + ], + [ + -14.340320933948874, + 39.83437278053975 + ], + [ + -24.697321111505687, + 38.241022283380744 + ], + [ + -35.05426580255681, + 34.25759055397725 + ], + [ + -49.394642223011374, + 25.49405184659099 + ], + [ + -58.158125443892004, + 19.120538884943244 + ], + [ + -66.12498890269887, + 14.340376420454618 + ], + [ + -78.8720703125, + 10.356944691051126 + ], + [ + -86.83893377130681, + 8.763594193892118 + ], + [ + -95.60247247869319, + 7.170188210227252 + ], + [ + -104.36606667258519, + 6.373512961647748 + ], + [ + -113.12960537997157, + 7.170188210227252 + ], + [ + -120.29979359019882, + 11.950350674715992 + ], + [ + -127.46998180042613, + 28.680752840909122 + ], + [ + -128.2666570490057, + 43.817804509943244 + ], + [ + -125.87657581676132, + 62.141612659801126 + ], + [ + -117.113037109375, + 87.63560901988637 + ], + [ + -110.73952414772725, + 98.78922895951712 + ], + [ + -103.5693359375, + 108.34949840198863 + ], + [ + -94.80579723011363, + 116.3163618607955 + ], + [ + -84.4488525390625, + 122.68987482244324 + ], + [ + -72.49855735085225, + 125.87663130326712 + ], + [ + -55.76809969815338, + 126.67330655184662 + ], + [ + -45.41121049360794, + 125.87663130326712 + ], + [ + -36.64761629971588, + 123.48655007102275 + ], + [ + -31.070834073153378, + 118.70644309303975 + ], + [ + -31.86750932173294, + 116.3163618607955 + ], + [ + -31.86750932173294, + 116.3163618607955 + ] + ], + "pressures": [ + 0.0888671875, + 0.36328125, + 0.6572265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.79296875, + 0.7763671875, + 0.787109375, + 0.8173828125, + 0.8466796875, + 0.8466796875, + 0.5625, + 0.287109375, + 0.2109375, + 0.15234375, + 0.06640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -31.86750932173294, + 116.3163618607955 + ] + }, + { + "id": "HGaTClCLkXYdJogtHYGnV", + "type": "freedraw", + "x": 204.26394138088483, + "y": -94.54039754496, + "width": 130.65673828125, + "height": 164.91421786221588, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 892831331, + "version": 452, + "versionNonce": 2108959331, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.780106977982939, + 7.966863458806756 + ], + [ + 9.560213955965878, + 18.323752663352252 + ], + [ + 13.543645685369313, + 30.2740478515625 + ], + [ + 15.933726917613626, + 40.630992542613626 + ], + [ + 15.933726917613626, + 48.597856001420496 + ], + [ + 12.746970436789752, + 55.76809969815338 + ], + [ + 7.170188210227252, + 58.95480069247162 + ], + [ + 0, + 59.751531427556756 + ], + [ + -9.560213955965935, + 59.751531427556756 + ], + [ + -26.290727095170496, + 55.76809969815338 + ], + [ + -36.647616299715935, + 52.581287730823874 + ], + [ + -46.2078857421875, + 47.004505504261374 + ], + [ + -55.76815518465912, + 41.42766779119313 + ], + [ + -66.12504438920456, + 35.85088556463063 + ], + [ + -83.652177290483, + 32.664129083806756 + ], + [ + -93.21239124644887, + 34.25747958096588 + ], + [ + -101.17925470525569, + 40.630992542613626 + ], + [ + -107.55282315340912, + 48.597856001420496 + ], + [ + -113.12954989346593, + 64.53158291903412 + ], + [ + -114.72301136363637, + 81.262040571733 + ], + [ + -114.72301136363637, + 99.58590420809662 + ], + [ + -110.739579634233, + 116.31630637428975 + ], + [ + -105.95941716974431, + 129.0632768110795 + ], + [ + -92.415771484375, + 143.40370871803975 + ], + [ + -79.66874556107956, + 151.37057217684662 + ], + [ + -65.32831365411937, + 157.74402965198863 + ], + [ + -50.191317471590935, + 162.52413662997162 + ], + [ + -33.46085981889206, + 164.91421786221588 + ], + [ + -8.763594193892061, + 164.11754261363637 + ], + [ + 2.390081232244313, + 160.9307861328125 + ], + [ + 7.966863458806813, + 156.15062366832387 + ], + [ + 10.356944691051126, + 149.77716619318176 + ], + [ + 10.356944691051126, + 149.77716619318176 + ] + ], + "pressures": [ + 0.134765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.861328125, + 0.583984375, + 0.2431640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356944691051126, + 149.77716619318176 + ] + }, + { + "id": "qx8RFPqmGinY_4ET-luAq", + "type": "freedraw", + "x": 213.8241553368507, + "y": 54.44003791313662, + "width": 1.593350497159065, + "height": 1.5932950106534918, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1660230061, + "version": 420, + "versionNonce": 113533261, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558545, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159065, + -1.5932950106534918 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.169921875, + 0.095703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593350497159065, + -1.5932950106534918 + ] + }, + { + "id": "SIItGIcVlKZrQFCMq8uae", + "type": "freedraw", + "x": 204.26394138088483, + "y": -98.52382927436338, + "width": 164.117598100142, + "height": 180.05132501775563, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2125920195, + "version": 453, + "versionNonce": 2133255683, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983487215909122 + ], + [ + 1.593350497159065, + -1.5934614701704959 + ], + [ + 5.5767822265625, + 6.373401988636374 + ], + [ + 11.15361993963063, + 17.527021928267004 + ], + [ + 19.1204833984375, + 35.05415482954538 + ], + [ + 20.713833895596565, + 45.41109952059651 + ], + [ + 20.713833895596565, + 53.37796297940338 + ], + [ + 15.137051669034065, + 61.344826438210134 + ], + [ + 3.983431729403378, + 69.31174538352263 + ], + [ + -7.170188210227309, + 70.10842063210225 + ], + [ + -19.917214133522748, + 69.31174538352263 + ], + [ + -31.867509321732996, + 64.53158291903401 + ], + [ + -42.22445401278412, + 58.158125443892004 + ], + [ + -55.76815518465912, + 44.614424272017004 + ], + [ + -66.12504438920456, + 33.460804332386374 + ], + [ + -75.68531383167618, + 23.900590376420382 + ], + [ + -86.04225852272731, + 19.120427911931756 + ], + [ + -100.38263494318181, + 16.7303466796875 + ], + [ + -109.1461181640625, + 19.120427911931756 + ], + [ + -117.90976784446025, + 26.29061612215901 + ], + [ + -125.87663130326706, + 39.037586558948874 + ], + [ + -132.2501442649148, + 54.97136896306813 + ], + [ + -133.84349476207387, + 85.24547230113637 + ], + [ + -129.8600630326705, + 101.97592995383513 + ], + [ + -121.89319957386368, + 117.11298162286926 + ], + [ + -109.1461181640625, + 133.8433837890625 + ], + [ + -80.46542080965912, + 156.15062366832387 + ], + [ + -60.54826216264206, + 167.30429909446013 + ], + [ + -42.22445401278412, + 174.47443181818176 + ], + [ + -23.900645862926183, + 176.0678378018465 + ], + [ + -9.560213955965935, + 175.271162553267 + ], + [ + 8.763538707386317, + 168.89764959161926 + ], + [ + 19.917158647017004, + 163.32086736505676 + ], + [ + 29.477428089488626, + 157.74402965198863 + ], + [ + 30.27410333806813, + 156.947354403409 + ], + [ + 30.27410333806813, + 156.947354403409 + ] + ], + "pressures": [ + 0.02734375, + 0.1943359375, + 0.6064453125, + 0.8154296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.994140625, + 0.5771484375, + 0.236328125, + 0.1552734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 30.27410333806813, + 156.947354403409 + ] + }, + { + "id": "-FW_ajsg0FYyBdy0iJQky", + "type": "freedraw", + "x": 231.35128823812914, + "y": 52.84674290248313, + "width": 153.76065340909093, + "height": 98.78928444602275, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1659348131, + "version": 452, + "versionNonce": 396668845, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159065, + 4.780051491477366 + ], + [ + -1.593350497159122, + 8.763483220880744 + ], + [ + -10.356944691051183, + 11.950295188210248 + ], + [ + -19.1204833984375, + 11.950295188210248 + ], + [ + -30.274103338068187, + 10.356889204545496 + ], + [ + -44.61442427201706, + 5.5767822265625 + ], + [ + -66.92171963778412, + -7.966863458806756 + ], + [ + -78.07533957741481, + -19.917214133522634 + ], + [ + -85.24552778764206, + -31.070834073153378 + ], + [ + -89.2289595170455, + -40.631103515625 + ], + [ + -89.2289595170455, + -46.20794122869313 + ], + [ + -84.44879705255681, + -51.78466796875 + ], + [ + -76.48193359375, + -51.78466796875 + ], + [ + -62.14161265980118, + -48.597966974431756 + ], + [ + -41.427723277698874, + -39.03775301846588 + ], + [ + -12.746970436789809, + -22.307295365767004 + ], + [ + -1.593350497159122, + -15.933726917613626 + ], + [ + 7.170188210227252, + -12.747025923295382 + ], + [ + 17.527132901278378, + -11.950295188210134 + ], + [ + 30.274103338068187, + -11.950295188210134 + ], + [ + 50.191317471590935, + -16.730513139204504 + ], + [ + 61.344937411221565, + -22.307295365767004 + ], + [ + 64.53169389204544, + -30.274158824573874 + ], + [ + 62.14161265980107, + -39.83437278053975 + ], + [ + 50.191317471590935, + -58.15823641690338 + ], + [ + 38.24102228338069, + -69.31185635653401 + ], + [ + 25.49399636008519, + -78.87212579900563 + ], + [ + 14.340376420454504, + -84.44890802556813 + ], + [ + 7.170188210227252, + -86.8389892578125 + ], + [ + 3.186756480823817, + -86.04225852272725 + ], + [ + 1.593350497159065, + -82.85555752840901 + ], + [ + 1.593350497159065, + -79.6687455610795 + ], + [ + 0.7966752485795041, + -78.07539506392038 + ], + [ + 0, + -76.48204456676137 + ], + [ + -0.796675248579561, + -75.68531383167613 + ], + [ + -0.796675248579561, + -75.68531383167613 + ] + ], + "pressures": [ + 0.1025390625, + 0.189453125, + 0.2578125, + 0.4140625, + 0.580078125, + 0.701171875, + 0.7626953125, + 0.822265625, + 0.82421875, + 0.826171875, + 0.8408203125, + 0.8408203125, + 0.83203125, + 0.8388671875, + 0.857421875, + 0.857421875, + 0.802734375, + 0.794921875, + 0.796875, + 0.8095703125, + 0.822265625, + 0.8466796875, + 0.8447265625, + 0.828125, + 0.8388671875, + 0.9189453125, + 0.9111328125, + 0.876953125, + 0.8173828125, + 0.736328125, + 0.642578125, + 0.380859375, + 0.2431640625, + 0.1640625, + 0.109375, + 0.0576171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.796675248579561, + -75.68531383167613 + ] + }, + { + "id": "rVmiUqKcxyxaxhyxjiEhd", + "type": "freedraw", + "x": 199.48377891639615, + "y": -94.54039754496, + "width": 64.53158291903407, + "height": 69.31174538352275, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1779121539, + "version": 436, + "versionNonce": 637611427, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -21.510564630681813, + 27.087291370738626 + ], + [ + -19.1204833984375, + 16.7303466796875 + ], + [ + -16.7303466796875, + 11.950295188210248 + ], + [ + -15.933726917613626, + 10.356889204545496 + ], + [ + -19.917158647017004, + 10.356889204545496 + ], + [ + -25.49399636008519, + 11.153564453125 + ], + [ + -33.460859818892004, + 12.746914950284122 + ], + [ + -41.42772327769882, + 15.933726917613626 + ], + [ + -52.58128773082382, + 23.103859641335248 + ], + [ + -58.95485617897725, + 28.680697354403378 + ], + [ + -62.93828790838069, + 33.460804332386374 + ], + [ + -64.53158291903407, + 38.240911310369256 + ], + [ + -64.53158291903407, + 43.021073774857996 + ], + [ + -61.34488192471588, + 52.581287730823874 + ], + [ + -57.3614501953125, + 58.158125443892004 + ], + [ + -54.97142444957382, + 61.34488192471588 + ], + [ + -51.78466796875, + 63.73496315696025 + ], + [ + -47.801236239346565, + 67.71839488636363 + ], + [ + -44.614424272017004, + 69.31174538352275 + ], + [ + -41.42772327769882, + 69.31174538352275 + ], + [ + -40.630992542613626, + 69.31174538352275 + ], + [ + -40.630992542613626, + 69.31174538352275 + ] + ], + "pressures": [ + 0.0615234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.900390625, + 0.6552734375, + 0.3701171875, + 0.2021484375, + 0.154296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -40.630992542613626, + 69.31174538352275 + ] + }, + { + "id": "isNnrgTH34hcJywz7OdjV", + "type": "freedraw", + "x": 214.62088607193596, + "y": -48.332622775783875, + "width": 79.66874556107956, + "height": 50.19137295809662, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1346829357, + "version": 447, + "versionNonce": 405549581, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.780106977982939, + 4.780162464488626 + ], + [ + 3.983431729403378, + 9.560324928977252 + ], + [ + -0.7967307350852479, + 13.54375665838063 + ], + [ + -10.356944691051126, + 17.527188387784122 + ], + [ + -17.527132901278435, + 17.527188387784122 + ], + [ + -23.900590376420496, + 17.527188387784122 + ], + [ + -29.477483575994313, + 12.747025923295496 + ], + [ + -31.070834073153435, + 7.9669189453125 + ], + [ + -31.070834073153435, + 0.7967307350852479 + ], + [ + -28.680752840909122, + -7.96686345880687 + ], + [ + -26.290727095170496, + -16.73040216619313 + ], + [ + -23.900590376420496, + -23.900590376420496 + ], + [ + -22.30729536576706, + -30.2740478515625 + ], + [ + -22.30729536576706, + -31.867453835227252 + ], + [ + -22.30729536576706, + -32.6641845703125 + ], + [ + -23.900590376420496, + -32.6641845703125 + ], + [ + -28.680752840909122, + -32.6641845703125 + ], + [ + -35.05426580255681, + -31.867453835227252 + ], + [ + -42.22445401278412, + -30.2740478515625 + ], + [ + -50.987992720170496, + -29.477428089488626 + ], + [ + -58.15818093039775, + -27.08734685724437 + ], + [ + -66.92177512428981, + -20.713833895596622 + ], + [ + -70.90520685369319, + -15.933726917613626 + ], + [ + -73.2952880859375, + -11.15361993963063 + ], + [ + -74.88863858309662, + -3.983431729403378 + ], + [ + -74.88863858309662, + 0.7967307350852479 + ], + [ + -73.2952880859375, + 4.780162464488626 + ], + [ + -71.70182661576706, + 7.9669189453125 + ], + [ + -69.31180087002843, + 8.763594193892004 + ], + [ + -67.71839488636363, + 8.763594193892004 + ], + [ + -65.328369140625, + 7.9669189453125 + ], + [ + -64.5316938920455, + 7.170188210227252 + ], + [ + -64.5316938920455, + 7.170188210227252 + ] + ], + "pressures": [ + 0.0595703125, + 0.3232421875, + 0.5439453125, + 0.8896484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.740234375, + 0.376953125, + 0.185546875, + 0.1552734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -64.5316938920455, + 7.170188210227252 + ] + }, + { + "id": "tcSbZ42OrghbLxaDfeGwN", + "type": "freedraw", + "x": 244.89498941000414, + "y": -91.35369655064187, + "width": 47.80129172585225, + "height": 76.48198908025563, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 550594243, + "version": 449, + "versionNonce": 1970372931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -0.7967307350851343 + ], + [ + -3.983431729403435, + 3.9834317294034918 + ], + [ + -4.780162464488683, + 15.137051669034122 + ], + [ + -4.780162464488683, + 21.51056463068187 + ], + [ + -1.593405983664809, + 27.884022105823874 + ], + [ + 1.593350497159065, + 31.867453835227366 + ], + [ + 5.5767822265625, + 33.46085981889212 + ], + [ + 7.170188210227252, + 33.46085981889212 + ], + [ + 9.560213955965935, + 31.867453835227366 + ], + [ + 11.153619939630687, + 28.680752840909122 + ], + [ + 11.950295188210191, + 24.697321111505744 + ], + [ + 11.950295188210191, + 17.527077414772748 + ], + [ + 11.950295188210191, + 11.950295188210248 + ], + [ + 11.950295188210191, + 7.170188210227366 + ], + [ + 11.153619939630687, + 5.5767822265625 + ], + [ + 11.153619939630687, + 4.780162464488626 + ], + [ + 12.746970436789695, + 7.96686345880687 + ], + [ + 15.93372691761357, + 12.747025923295496 + ], + [ + 19.91715864701706, + 19.1204833984375 + ], + [ + 26.290671608664695, + 31.867453835227366 + ], + [ + 30.274103338068187, + 38.240966796875 + ], + [ + 35.05421031605107, + 43.021073774857996 + ], + [ + 38.24096679687494, + 46.20783025568187 + ], + [ + 41.42772327769882, + 50.19126198508525 + ], + [ + 42.224398526278435, + 54.174693714488626 + ], + [ + 43.02112926136357, + 59.75153142755687 + ], + [ + 43.02112926136357, + 65.32831365411937 + ], + [ + 40.63104802911931, + 70.9051513671875 + ], + [ + 33.46085981889206, + 75.6852583451705 + ], + [ + 26.290671608664695, + 75.6852583451705 + ], + [ + 19.120483398437443, + 74.09190784801137 + ], + [ + 12.746970436789695, + 70.108476118608 + ], + [ + 7.170188210227252, + 66.12504438920462 + ], + [ + 2.390025745738626, + 62.141612659801126 + ], + [ + 0.7966752485795041, + 60.54826216264212 + ], + [ + 2.390025745738626, + 60.54826216264212 + ], + [ + 3.186756480823817, + 61.34488192471599 + ], + [ + 3.186756480823817, + 61.34488192471599 + ] + ], + "pressures": [ + 0.029296875, + 0.6162109375, + 0.787109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.861328125, + 0.61328125, + 0.3310546875, + 0.1181640625, + 0.0849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186756480823817, + 61.34488192471599 + ] + }, + { + "id": "VsK3X7NfA_so7nkCT22_x", + "type": "freedraw", + "x": 273.5757422509132, + "y": -28.415408642261127, + "width": 77.27866432883525, + "height": 75.68531383167613, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2045428813, + "version": 443, + "versionNonce": 1968466029, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + 3.983431729403378 + ], + [ + 1.593350497159122, + 11.950295188210248 + ], + [ + 5.5767822265625, + 16.73040216619313 + ], + [ + 10.356889204545496, + 19.917158647017004 + ], + [ + 15.137051669034122, + 21.5106201171875 + ], + [ + 19.917158647017004, + 20.713889382102252 + ], + [ + 23.900590376420496, + 17.527188387784122 + ], + [ + 26.290671608664752, + 12.746970436789752 + ], + [ + 27.884022105823874, + 7.170188210227252 + ], + [ + 28.680697354403378, + 0.7966752485795041 + ], + [ + 28.680697354403378, + -7.96686345880687 + ], + [ + 28.680697354403378, + -11.153619939630744 + ], + [ + 29.477428089488626, + -13.543701171875 + ], + [ + 31.070778586647748, + -15.137051669034122 + ], + [ + 36.64761629971588, + -15.93378240411937 + ], + [ + 42.22439852627838, + -15.93378240411937 + ], + [ + 48.597911487926126, + -12.747025923295496 + ], + [ + 57.3614501953125, + -7.170188210227252 + ], + [ + 65.328369140625, + 1.593405983664752 + ], + [ + 73.29523259943187, + 18.323808149857882 + ], + [ + 75.6852583451705, + 29.477483575994256 + ], + [ + 76.48193359375, + 38.240966796875 + ], + [ + 76.48193359375, + 44.61447975852275 + ], + [ + 70.10842063210225, + 53.37807395241475 + ], + [ + 66.92171963778412, + 55.76809969815338 + ], + [ + 50.987992720170496, + 59.751531427556756 + ], + [ + 40.63104802911937, + 59.751531427556756 + ], + [ + 32.6641845703125, + 58.15818093039775 + ], + [ + 28.680697354403378, + 56.56477494673288 + ], + [ + 27.884022105823874, + 55.76809969815338 + ], + [ + 30.27410333806813, + 55.76809969815338 + ], + [ + 30.27410333806813, + 55.76809969815338 + ] + ], + "pressures": [ + 0.0546875, + 0.271484375, + 0.4296875, + 0.5673828125, + 0.673828125, + 0.75390625, + 0.8134765625, + 0.85546875, + 0.8876953125, + 0.8916015625, + 0.8916015625, + 0.8984375, + 0.904296875, + 0.908203125, + 0.9130859375, + 0.9296875, + 0.953125, + 0.970703125, + 0.9833984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8740234375, + 0.7607421875, + 0.5625, + 0.361328125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 30.27410333806813, + 55.76809969815338 + ] + }, + { + "id": "NBeDySBHpS3lU7tFXlIzs", + "type": "freedraw", + "x": 278.3558492288962, + "y": -3.718087530755497, + "width": 70.9051513671875, + "height": 86.83887828480124, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1148692675, + "version": 439, + "versionNonce": 114712803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390081232244256, + 6.373457475142118 + ], + [ + 4.780106977982882, + 10.356889204545496 + ], + [ + 7.966863458806756, + 12.747025923295496 + ], + [ + 14.340376420454504, + 15.137051669034122 + ], + [ + 15.933726917613626, + 15.137051669034122 + ], + [ + 12.746970436789752, + -31.070778586647748 + ], + [ + 21.510564630681756, + -28.68075284090901 + ], + [ + 25.493996360085134, + -27.087346857244256 + ], + [ + 34.25753506747151, + -22.307295365767004 + ], + [ + 43.81780450994313, + -15.137051669034008 + ], + [ + 52.581343217329504, + -7.170132723721508 + ], + [ + 59.7515869140625, + 0.7967307350852479 + ], + [ + 66.92177512428975, + 13.54364568536937 + ], + [ + 70.10847611860788, + 22.307239879261374 + ], + [ + 70.9051513671875, + 33.46085981889212 + ], + [ + 68.51512562144887, + 43.021073774857996 + ], + [ + 61.34493741122151, + 50.19126198508525 + ], + [ + 43.81780450994313, + 55.76809969815349 + ], + [ + 30.27410333806813, + 55.76809969815349 + ], + [ + 19.917158647017004, + 53.37801846590912 + ], + [ + 14.340376420454504, + 50.19126198508525 + ], + [ + 8.763538707386374, + 43.817804509943244 + ], + [ + 7.966863458806756, + 40.631103515625 + ], + [ + 7.170188210227252, + 38.240966796875 + ], + [ + 7.170188210227252, + 36.64761629971599 + ], + [ + 7.170188210227252, + 35.850885564630744 + ], + [ + 7.966863458806756, + 35.054210316051126 + ], + [ + 7.966863458806756, + 35.054210316051126 + ] + ], + "pressures": [ + 0.115234375, + 0.267578125, + 0.3642578125, + 0.5107421875, + 0.8115234375, + 0.8662109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9453125, + 0.744140625, + 0.5615234375, + 0.3193359375, + 0.19140625, + 0.119140625, + 0.0341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.966863458806756, + 35.054210316051126 + ] + }, + { + "id": "IwCbEhtuiddjKr6GUtCvC", + "type": "freedraw", + "x": 323.76700423599846, + "y": -119.23777414297138, + "width": 3.186756480823874, + "height": 36.647616299715935, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 106307363, + "version": 426, + "versionNonce": 1088869069, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.796675248579561 + ], + [ + 0, + 0 + ], + [ + 0.7967307350852479, + 3.983431729403378 + ], + [ + 1.593405983664752, + 7.96686345880687 + ], + [ + 2.390081232244256, + 11.15361993963063 + ], + [ + 3.186756480823874, + 14.340376420454504 + ], + [ + 3.186756480823874, + 16.730457652698874 + ], + [ + 3.186756480823874, + 19.1204833984375 + ], + [ + 3.186756480823874, + 24.697376598011374 + ], + [ + 3.186756480823874, + 27.884077592329504 + ], + [ + 3.186756480823874, + 30.27410333806813 + ], + [ + 3.186756480823874, + 31.867509321732996 + ], + [ + 3.186756480823874, + 32.66424005681813 + ], + [ + 3.186756480823874, + 33.460859818892004 + ], + [ + 3.186756480823874, + 34.25753506747162 + ], + [ + 3.186756480823874, + 35.05426580255687 + ], + [ + 3.186756480823874, + 35.850941051136374 + ], + [ + 3.186756480823874, + 35.850941051136374 + ] + ], + "pressures": [ + 0.01953125, + 0.2265625, + 0.337890625, + 0.3837890625, + 0.4208984375, + 0.5087890625, + 0.6240234375, + 0.6826171875, + 0.701171875, + 0.697265625, + 0.6787109375, + 0.6552734375, + 0.6201171875, + 0.6162109375, + 0.5595703125, + 0.392578125, + 0.1630859375, + 0.1015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186756480823874, + 35.850941051136374 + ] + }, + { + "id": "TI1paGUMfHKvtjiNkkCgi", + "type": "freedraw", + "x": 330.1405171976462, + "y": -120.03444939155094, + "width": 7.170188210227252, + "height": 32.66418457031256, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1835210435, + "version": 423, + "versionNonce": 1136544899, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796675248579561 + ], + [ + 0, + 5.576837713068187 + ], + [ + 0, + 10.356944691051183 + ], + [ + 0.7966752485795041, + 16.730402166193187 + ], + [ + 0.7966752485795041, + 22.30723987926143 + ], + [ + 0.7966752485795041, + 25.494051846590935 + ], + [ + 0.7966752485795041, + 27.88402210582393 + ], + [ + -0.7966752485796178, + 28.680752840909065 + ], + [ + -1.593350497159122, + 30.274103338068187 + ], + [ + -4.780106977982996, + 31.07077858664769 + ], + [ + -5.5767822265625, + 31.86750932173294 + ], + [ + -6.373512961647748, + 31.86750932173294 + ], + [ + -6.373512961647748, + 32.66418457031256 + ], + [ + -5.5767822265625, + 32.66418457031256 + ], + [ + -5.5767822265625, + 32.66418457031256 + ] + ], + "pressures": [ + 0.0078125, + 0.392578125, + 0.412109375, + 0.41796875, + 0.4375, + 0.46484375, + 0.50390625, + 0.5185546875, + 0.4736328125, + 0.4521484375, + 0.392578125, + 0.3310546875, + 0.2509765625, + 0.103515625, + 0.0234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.5767822265625, + 32.66418457031256 + ] + }, + { + "id": "A1Ml1mG3XxqsmmiFUrFpU", + "type": "freedraw", + "x": 346.07429960176546, + "y": -106.49074821967588, + "width": 47.004616477272634, + "height": 46.207830255681756, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 715452557, + "version": 441, + "versionNonce": 394064173, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -1.5934059836648657 + ], + [ + -1.5934614701703822, + -1.5934059836648657 + ], + [ + -1.5934614701703822, + 3.18670099431813 + ], + [ + 0.7966752485796178, + 9.560213955965878 + ], + [ + 3.983376242897748, + 15.137051669034008 + ], + [ + 7.96686345880687, + 18.323808149857882 + ], + [ + 10.356889204545496, + 19.917214133522634 + ], + [ + 11.153564453125, + 19.917214133522634 + ], + [ + 12.746914950284122, + 19.917214133522634 + ], + [ + 13.543701171875, + 18.323808149857882 + ], + [ + 14.340376420454618, + 15.933782404119256 + ], + [ + 14.340376420454618, + 8.763538707386374 + ], + [ + 13.543701171875, + 2.390025745738626 + ], + [ + 13.543701171875, + -1.5934059836648657 + ], + [ + 13.543701171875, + -3.186756480823874 + ], + [ + 14.340376420454618, + -3.186756480823874 + ], + [ + 17.527077414772748, + -3.186756480823874 + ], + [ + 22.307239879261374, + -1.5934059836648657 + ], + [ + 27.884077592329618, + 1.5933504971590082 + ], + [ + 35.850941051136374, + 8.763538707386374 + ], + [ + 40.630992542613626, + 15.137051669034008 + ], + [ + 43.817804509943244, + 22.307239879261374 + ], + [ + 45.41115500710225, + 28.680697354403378 + ], + [ + 45.41115500710225, + 35.054210316051126 + ], + [ + 40.630992542613626, + 40.631048029119256 + ], + [ + 36.64761629971588, + 43.02107377485788 + ], + [ + 30.274103338068244, + 43.02107377485788 + ], + [ + 23.900590376420496, + 43.02107377485788 + ], + [ + 15.933726917613626, + 41.427723277698874 + ], + [ + 14.340376420454618, + 40.631048029119256 + ], + [ + 13.543701171875, + 40.631048029119256 + ], + [ + 14.340376420454618, + 40.631048029119256 + ], + [ + 14.340376420454618, + 40.631048029119256 + ] + ], + "pressures": [ + 0.0234375, + 0.2255859375, + 0.40234375, + 0.5478515625, + 0.5849609375, + 0.640625, + 0.705078125, + 0.80078125, + 0.8173828125, + 0.8408203125, + 0.8681640625, + 0.8935546875, + 0.9111328125, + 0.9296875, + 0.931640625, + 0.9365234375, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9794921875, + 0.787109375, + 0.4052734375, + 0.3115234375, + 0.1796875, + 0.052734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.340376420454618, + 40.631048029119256 + ] + }, + { + "id": "PlT3_X7UQ1kxVOOoNEMJm", + "type": "freedraw", + "x": 210.63745434253252, + "y": -88.166940069818, + "width": 80.46542080965907, + "height": 102.7726606889205, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 182088365, + "version": 443, + "versionNonce": 1609024547, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186700994318187, + 4.780106977982996 + ], + [ + 7.966863458806813, + 16.730402166193244 + ], + [ + 10.356889204545439, + 25.493996360085248 + ], + [ + 11.153564453125, + 32.66412908380687 + ], + [ + 11.153564453125, + 36.64761629971599 + ], + [ + 7.966863458806813, + 37.444347034801126 + ], + [ + 2.390025745738626, + 37.444347034801126 + ], + [ + -5.576837713068187, + 35.054210316051126 + ], + [ + -14.340431906960191, + 30.274103338068244 + ], + [ + -23.103970614346565, + 25.493996360085248 + ], + [ + -33.46091530539769, + 18.323808149857996 + ], + [ + -39.03769753196019, + 14.340320933948874 + ], + [ + -43.81780450994319, + 11.153619939630744 + ], + [ + -50.19131747159088, + 7.96686345880687 + ], + [ + -53.37807395241475, + 7.170132723721622 + ], + [ + -56.564830433238626, + 7.96686345880687 + ], + [ + -59.75153142755681, + 11.950295188210248 + ], + [ + -63.73496315696019, + 17.52713290127849 + ], + [ + -67.71839488636363, + 24.697265625 + ], + [ + -69.31185635653407, + 44.61447975852275 + ], + [ + -67.71839488636363, + 61.34493741122162 + ], + [ + -64.53169389204544, + 77.27871981534099 + ], + [ + -61.344937411221565, + 88.43228426846599 + ], + [ + -55.76809969815338, + 96.39914772727275 + ], + [ + -49.394642223011374, + 98.78922895951712 + ], + [ + -39.03769753196019, + 101.17931019176137 + ], + [ + -27.08740234375, + 102.7726606889205 + ], + [ + -15.137107155539752, + 101.97592995383525 + ], + [ + -2.390081232244313, + 96.39914772727275 + ], + [ + 3.186700994318187, + 92.41571599786937 + ], + [ + 5.5767822265625, + 88.43228426846599 + ], + [ + 5.5767822265625, + 80.46542080965912 + ], + [ + 2.390025745738626, + 73.29523259943187 + ], + [ + -0.7967307350851911, + 69.31180087002849 + ], + [ + -0.7967307350851911, + 69.31180087002849 + ] + ], + "pressures": [ + 0.060546875, + 0.3212890625, + 0.4033203125, + 0.474609375, + 0.5322265625, + 0.599609375, + 0.69921875, + 0.73046875, + 0.8447265625, + 0.9150390625, + 0.9130859375, + 0.857421875, + 0.8203125, + 0.794921875, + 0.7568359375, + 0.748046875, + 0.75390625, + 0.75, + 0.7421875, + 0.7421875, + 0.75, + 0.7587890625, + 0.7744140625, + 0.7646484375, + 0.7646484375, + 0.7705078125, + 0.7763671875, + 0.7744140625, + 0.7685546875, + 0.70703125, + 0.6474609375, + 0.5771484375, + 0.2998046875, + 0.2021484375, + 0.01953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.7967307350851911, + 69.31180087002849 + ] + }, + { + "id": "JB-L3BZYEmOKNKu0b1Z_x", + "type": "freedraw", + "x": 205.06061662946433, + "y": -79.40340136243162, + "width": 102.77271617542613, + "height": 119.50311834161926, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1056743469, + "version": 449, + "versionNonce": 1182811021, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186756480823874, + -2.390081232244256 + ], + [ + 5.576837713068187, + -1.593405983664752 + ], + [ + 8.763538707386374, + 2.39008123224437 + ], + [ + 11.950295188210248, + 9.560269442471622 + ], + [ + 13.543701171875, + 20.713889382102252 + ], + [ + 11.950295188210248, + 27.08734685724437 + ], + [ + 7.966863458806813, + 31.070778586647748 + ], + [ + 3.186756480823874, + 35.054210316051126 + ], + [ + -3.983431729403378, + 39.03769753196025 + ], + [ + -9.560269442471565, + 39.03769753196025 + ], + [ + -17.527132901278378, + 37.444291548295496 + ], + [ + -25.49399636008519, + 32.664240056818244 + ], + [ + -33.460859818892004, + 26.290671608664752 + ], + [ + -44.61447975852269, + 15.933726917613626 + ], + [ + -49.394642223011374, + 10.356944691051126 + ], + [ + -52.58139870383519, + 7.170188210227252 + ], + [ + -55.76809969815338, + 4.780162464488626 + ], + [ + -60.548262162642004, + 3.186756480823874 + ], + [ + -62.93828790838069, + 3.186756480823874 + ], + [ + -66.12498890269887, + 3.983431729403378 + ], + [ + -70.10842063210225, + 7.170188210227252 + ], + [ + -74.09190784801137, + 11.153619939630744 + ], + [ + -81.26209605823863, + 22.307239879261374 + ], + [ + -86.04220303622157, + 34.25753506747162 + ], + [ + -88.43228426846588, + 50.987992720170496 + ], + [ + -89.22901500355113, + 69.31180087002838 + ], + [ + -87.63560901988632, + 87.63560901988637 + ], + [ + -82.05877130681819, + 96.39920321377838 + ], + [ + -74.88863858309657, + 105.16274192116475 + ], + [ + -66.12498890269887, + 112.33293013139212 + ], + [ + -59.75153142755681, + 117.113037109375 + ], + [ + -50.98799272017044, + 117.113037109375 + ], + [ + -43.81780450994319, + 114.72295587713074 + ], + [ + -35.850941051136374, + 109.94284889914775 + ], + [ + -27.884077592329504, + 104.36606667258525 + ], + [ + -19.91721413352269, + 96.39920321377838 + ], + [ + -16.730457652698874, + 93.21239124644887 + ], + [ + -15.933726917613626, + 92.415771484375 + ], + [ + -15.137051669034065, + 90.82236550071025 + ], + [ + -15.137051669034065, + 90.02569025213074 + ], + [ + -15.137051669034065, + 90.02569025213074 + ] + ], + "pressures": [ + 0.0625, + 0.2333984375, + 0.353515625, + 0.54296875, + 0.82421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8447265625, + 0.2587890625, + 0.1416015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -15.137051669034065, + 90.02569025213074 + ] + }, + { + "id": "8ztLZNcBPFpll9VnnBdU8", + "type": "freedraw", + "x": 190.72024020900983, + "y": -80.2000211245055, + "width": 122.68987482244319, + "height": 125.87652033025563, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1672278221, + "version": 454, + "versionNonce": 323045315, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593405983664752, + 0 + ], + [ + 3.983431729403378, + 4.780051491477252 + ], + [ + 7.170188210227252, + 11.950295188210248 + ], + [ + 9.560269442471565, + 19.120427911931756 + ], + [ + 10.356944691051126, + 27.087291370738626 + ], + [ + 7.170188210227252, + 30.2740478515625 + ], + [ + 3.186756480823817, + 33.460804332386374 + ], + [ + -2.390025745738683, + 35.054210316051126 + ], + [ + -12.746970436789809, + 35.054210316051126 + ], + [ + -23.103859641335248, + 30.2740478515625 + ], + [ + -34.25753506747162, + 23.900590376420382 + ], + [ + -43.81780450994319, + 17.527077414772748 + ], + [ + -51.78466796875, + 13.543645685369256 + ], + [ + -61.34493741122162, + 10.356889204545382 + ], + [ + -69.31180087002843, + 8.76348322088063 + ], + [ + -77.27866432883525, + 6.373457475142004 + ], + [ + -85.24552778764206, + 6.373457475142004 + ], + [ + -96.39914772727275, + 7.966863458806756 + ], + [ + -102.77260520241481, + 13.543645685369256 + ], + [ + -107.55276766690343, + 20.71383389559651 + ], + [ + -110.73946866122162, + 31.070778586647748 + ], + [ + -112.33293013139206, + 45.41109952059651 + ], + [ + -111.53619939630681, + 70.10842063210225 + ], + [ + -108.349442915483, + 82.85544655539775 + ], + [ + -102.77260520241481, + 93.21239124644887 + ], + [ + -95.60247247869319, + 102.77260520241475 + ], + [ + -82.85544655539775, + 115.51963112571025 + ], + [ + -74.09190784801137, + 121.89308860085225 + ], + [ + -65.328369140625, + 125.87652033025563 + ], + [ + -57.36150568181819, + 125.87652033025563 + ], + [ + -48.59791148792618, + 122.6898193359375 + ], + [ + -35.05421031605118, + 115.51963112571025 + ], + [ + -27.087291370738683, + 111.53619939630676 + ], + [ + -21.51056463068187, + 108.34944291548288 + ], + [ + -18.323808149857996, + 106.75603693181813 + ], + [ + -18.323808149857996, + 106.75603693181813 + ] + ], + "pressures": [ + 0.0908203125, + 0.38671875, + 0.50390625, + 0.75390625, + 0.927734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0.8828125, + 0.87890625, + 0.861328125, + 0.8056640625, + 0.6845703125, + 0.5068359375, + 0.384765625, + 0.2529296875, + 0.1552734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -18.323808149857996, + 106.75603693181813 + ] + }, + { + "id": "YDhlS8uhSAVWOsAqgIs__", + "type": "freedraw", + "x": 216.21423656909502, + "y": -63.469674444818, + "width": 53.37801846590912, + "height": 31.070778586647748, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1016475213, + "version": 440, + "versionNonce": 334059363, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.796675248579561, + 5.576837713068244 + ], + [ + 0.796675248579561, + 7.170188210227252 + ], + [ + 0, + 7.170188210227252 + ], + [ + -3.186756480823874, + 7.170188210227252 + ], + [ + -5.5767822265625, + 4.780162464488626 + ], + [ + -8.763538707386374, + 0.7967307350852479 + ], + [ + -12.747025923295439, + -6.373457475142004 + ], + [ + -13.543645685369313, + -10.356944691051126 + ], + [ + -13.543645685369313, + -11.950295188210248 + ], + [ + -11.950295188210191, + -12.746970436789752 + ], + [ + -9.560213955965878, + -14.340376420454504 + ], + [ + -7.170188210227252, + -15.136996182528378 + ], + [ + -7.170188210227252, + -15.933726917613626 + ], + [ + -6.373512961647691, + -15.933726917613626 + ], + [ + -8.763538707386374, + -16.73040216619313 + ], + [ + -13.543645685369313, + -18.323808149857882 + ], + [ + -19.91721413352269, + -19.120427911931756 + ], + [ + -27.087346857244313, + -19.120427911931756 + ], + [ + -33.460804332386374, + -19.120427911931756 + ], + [ + -43.021129261363626, + -15.136996182528378 + ], + [ + -48.597911487926126, + -11.950295188210248 + ], + [ + -50.98799272017044, + -7.966863458806756 + ], + [ + -52.58134321732956, + -3.18670099431813 + ], + [ + -52.58134321732956, + 4.780162464488626 + ], + [ + -50.98799272017044, + 7.96686345880687 + ], + [ + -48.597911487926126, + 10.356944691051126 + ], + [ + -46.2078857421875, + 11.153619939630744 + ], + [ + -43.81780450994319, + 11.950350674715992 + ], + [ + -41.427723277698874, + 11.153619939630744 + ], + [ + -39.83437278053975, + 10.356944691051126 + ], + [ + -39.03769753196019, + 7.96686345880687 + ], + [ + -39.03769753196019, + 7.170188210227252 + ], + [ + -39.03769753196019, + 7.170188210227252 + ] + ], + "pressures": [ + 0.0478515625, + 0.24609375, + 0.3427734375, + 0.78515625, + 0.8447265625, + 0.921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9365234375, + 0.8095703125, + 0.6953125, + 0.5380859375, + 0.3251953125, + 0.2353515625, + 0.1728515625, + 0.1455078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -39.03769753196019, + 7.170188210227252 + ] + }, + { + "id": "euOBoVExaOvjVEPDD9FeM", + "type": "freedraw", + "x": 177.17653903713483, + "y": -42.75572957621, + "width": 79.6687455610795, + "height": 99.58590420809662, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 920989421, + "version": 430, + "versionNonce": 1345221379, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.170188210227309, + -3.983431729403378 + ], + [ + -11.153619939630687, + -7.96686345880687 + ], + [ + -15.137051669034122, + -11.950295188210248 + ], + [ + -18.32375266335231, + -15.137107155539752 + ], + [ + -22.307184392755687, + -18.323863636363626 + ], + [ + -31.86745383522731, + -21.5106201171875 + ], + [ + -39.03764204545456, + -21.5106201171875 + ], + [ + -47.00456099076706, + -21.5106201171875 + ], + [ + -56.564774946732996, + -19.120538884943244 + ], + [ + -61.34493741122162, + -16.730513139204504 + ], + [ + -66.12498890269887, + -12.747081409801126 + ], + [ + -70.10842063210231, + -5.576893199573874 + ], + [ + -73.29523259943181, + 3.18670099431813 + ], + [ + -74.09185236150569, + 18.323752663352252 + ], + [ + -69.31180087002843, + 31.070723100142004 + ], + [ + -61.34493741122162, + 43.81780450994313 + ], + [ + -50.987992720170496, + 55.76809969815338 + ], + [ + -36.647616299715935, + 69.31174538352275 + ], + [ + -30.2740478515625, + 74.88852761008525 + ], + [ + -24.697321111505687, + 78.07528409090912 + ], + [ + -18.32375266335231, + 78.07528409090912 + ], + [ + -11.950295188210248, + 78.07528409090912 + ], + [ + -3.186756480823874, + 74.09185236150563 + ], + [ + 1.593461470170439, + 70.90509588068176 + ], + [ + 3.983431729403378, + 69.31174538352275 + ], + [ + 5.576893199573817, + 67.71839488636363 + ], + [ + 5.576893199573817, + 67.71839488636363 + ] + ], + "pressures": [ + 0.046875, + 0.3818359375, + 0.599609375, + 0.787109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.78515625, + 0.353515625, + 0.2275390625, + 0.1455078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.576893199573817, + 67.71839488636363 + ] + }, + { + "id": "kcJHzYLJkvFVVP45Q198A", + "type": "freedraw", + "x": 181.95670150162346, + "y": -40.365703830471375, + "width": 76.48193359375, + "height": 97.195878462358, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 813909677, + "version": 425, + "versionNonce": 1718121133, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350851911, + -0.7967307350852479 + ], + [ + -2.390081232244313, + -1.593405983664752 + ], + [ + -7.170188210227309, + -2.390025745738626 + ], + [ + -17.527132901278435, + -5.57683771306813 + ], + [ + -27.087346857244313, + -8.763594193892004 + ], + [ + -37.444347034801126, + -11.950350674715878 + ], + [ + -47.004505504261374, + -12.747025923295496 + ], + [ + -57.36150568181819, + -9.560269442471622 + ], + [ + -61.34493741122162, + -3.983487215909122 + ], + [ + -62.93828790838069, + 3.18670099431813 + ], + [ + -62.93828790838069, + 15.137051669034122 + ], + [ + -52.58139870383525, + 41.427778764204504 + ], + [ + -42.22445401278412, + 58.158125443892004 + ], + [ + -33.46091530539775, + 70.108476118608 + ], + [ + -26.290727095170496, + 77.27871981534088 + ], + [ + -18.323808149857996, + 80.46542080965912 + ], + [ + -6.373512961647748, + 83.65212180397725 + ], + [ + 0.7967307350851911, + 84.4488525390625 + ], + [ + 6.373457475142004, + 84.4488525390625 + ], + [ + 11.153619939630687, + 82.85544655539775 + ], + [ + 13.543645685369313, + 81.26215154474437 + ], + [ + 13.543645685369313, + 81.26215154474437 + ] + ], + "pressures": [ + 0.0341796875, + 0.21484375, + 0.552734375, + 0.8154296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.828125, + 0.3505859375, + 0.1533203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 13.543645685369313, + 81.26215154474437 + ] + }, + { + "id": "Fr7ZcflgAk9pDHsDDL-z_", + "type": "freedraw", + "x": 179.56662026937914, + "y": -41.95910981413613, + "width": 82.85544655539775, + "height": 97.19593394886374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1200668675, + "version": 423, + "versionNonce": 1754208931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -11.950295188210248, + -7.96686345880687 + ], + [ + -19.1204833984375, + -11.153619939630744 + ], + [ + -27.08740234375, + -13.543701171875 + ], + [ + -35.05426580255681, + -14.340376420454618 + ], + [ + -43.02112926136368, + -11.950295188210248 + ], + [ + -50.191317471590935, + -7.170188210227252 + ], + [ + -54.971424449573874, + 0 + ], + [ + -58.95485617897731, + 16.730457652698874 + ], + [ + -58.95485617897731, + 30.27410333806813 + ], + [ + -48.59791148792618, + 49.394642223011374 + ], + [ + -37.444291548295496, + 61.34493741122162 + ], + [ + -26.29067160866481, + 70.10847611860788 + ], + [ + -14.340376420454561, + 77.27866432883525 + ], + [ + -1.593405983664809, + 81.26209605823863 + ], + [ + 9.560269442471565, + 82.85555752840912 + ], + [ + 21.510564630681813, + 82.85555752840912 + ], + [ + 23.90059037642044, + 80.46542080965912 + ], + [ + 23.90059037642044, + 78.87212579900563 + ], + [ + 23.103970614346565, + 78.07533957741475 + ], + [ + 23.103970614346565, + 78.07533957741475 + ] + ], + "pressures": [ + 0.0859375, + 0.423828125, + 0.6845703125, + 0.857421875, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.927734375, + 0.75, + 0.4013671875, + 0.2353515625, + 0.12890625, + 0.0498046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.103970614346565, + 78.07533957741475 + ] + }, + { + "id": "NNwpi1rJmqYu2Qd44_uGw", + "type": "freedraw", + "x": 203.46721064579958, + "y": 30.539447536716125, + "width": 108.349442915483, + "height": 88.43222878196013, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2118319085, + "version": 436, + "versionNonce": 2139067661, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.5767822265625, + -1.593350497159122 + ], + [ + -8.763483220880687, + -2.39008123224437 + ], + [ + -10.356889204545439, + -3.186756480823874 + ], + [ + -11.950295188210248, + -4.780106977982996 + ], + [ + -12.746914950284122, + -6.373512961647748 + ], + [ + -12.746914950284122, + -7.170188210227252 + ], + [ + -11.950295188210248, + -8.763538707386374 + ], + [ + -8.763483220880687, + -9.560213955965878 + ], + [ + -0.796619762073874, + -8.763538707386374 + ], + [ + 5.576837713068187, + -6.373512961647748 + ], + [ + 11.153675426136374, + -3.186756480823874 + ], + [ + 17.527132901278378, + -0.7966752485795041 + ], + [ + 25.493996360085248, + 3.186756480823874 + ], + [ + 38.24102228338069, + 8.763538707386374 + ], + [ + 47.00456099076706, + 10.35700017755687 + ], + [ + 55.76815518465912, + 11.15361993963063 + ], + [ + 63.73501864346588, + 10.35700017755687 + ], + [ + 70.10853160511363, + 7.170188210227252 + ], + [ + 78.0753950639205, + 0.7966752485795041 + ], + [ + 83.652177290483, + -4.780106977982996 + ], + [ + 88.43233975497162, + -11.950295188210248 + ], + [ + 93.2124467329545, + -20.713889382102252 + ], + [ + 95.60252796519887, + -35.05426580255687 + ], + [ + 95.60252796519887, + -44.61447975852275 + ], + [ + 93.2124467329545, + -53.37801846590912 + ], + [ + 88.43233975497162, + -61.34488192471588 + ], + [ + 78.0753950639205, + -70.9051513671875 + ], + [ + 70.90520685369313, + -74.88863858309662 + ], + [ + 66.92177512428975, + -76.48198908025563 + ], + [ + 63.73501864346588, + -77.2786088423295 + ], + [ + 62.141612659801126, + -77.2786088423295 + ], + [ + 59.7515869140625, + -77.2786088423295 + ], + [ + 59.7515869140625, + -77.2786088423295 + ] + ], + "pressures": [ + 0.017578125, + 0.1357421875, + 0.177734375, + 0.2119140625, + 0.2568359375, + 0.28125, + 0.287109375, + 0.291015625, + 0.2978515625, + 0.357421875, + 0.4189453125, + 0.455078125, + 0.4775390625, + 0.48046875, + 0.4892578125, + 0.4921875, + 0.4892578125, + 0.4853515625, + 0.4716796875, + 0.4765625, + 0.4716796875, + 0.4677734375, + 0.46484375, + 0.48046875, + 0.5029296875, + 0.5283203125, + 0.5341796875, + 0.541015625, + 0.5205078125, + 0.4951171875, + 0.4765625, + 0.3916015625, + 0.228515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 59.7515869140625, + -77.2786088423295 + ] + }, + { + "id": "kdE0jDXv4MHzskqKMuuet", + "type": "freedraw", + "x": 262.4221223112826, + "y": -46.73916130561338, + "width": 0, + "height": 0.796619762073874, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 917519107, + "version": 404, + "versionNonce": 1773784643, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796619762073874 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.14453125, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 0.796619762073874 + ] + }, + { + "id": "T7czLENAe7EWpFHTzQPB5", + "type": "freedraw", + "x": 193.90699668983365, + "y": -29.212083890840745, + "width": 83.65217729048294, + "height": 108.34955388849426, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 338562819, + "version": 425, + "versionNonce": 37972845, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -4.780162464488626 + ], + [ + -5.576837713068187, + -8.763594193892004 + ], + [ + -13.543701171875, + -15.933782404119256 + ], + [ + -20.713889382102252, + -20.713889382102252 + ], + [ + -28.680752840909065, + -24.69732111150563 + ], + [ + -35.85094105113632, + -27.884077592329504 + ], + [ + -47.801236239346565, + -30.27415882457376 + ], + [ + -54.17474920099431, + -30.27415882457376 + ], + [ + -60.548262162642004, + -28.68075284090901 + ], + [ + -65.328369140625, + -24.69732111150563 + ], + [ + -70.10847611860794, + -19.12053888494313 + ], + [ + -74.88858309659088, + -9.560213955965878 + ], + [ + -75.68531383167613, + 0.7966752485796178 + ], + [ + -72.49855735085225, + 16.730402166193244 + ], + [ + -63.73501864346588, + 33.46085981889212 + ], + [ + -47.801236239346565, + 55.76809969815349 + ], + [ + -37.44429154829544, + 66.92171963778412 + ], + [ + -27.884077592329504, + 74.09196333451712 + ], + [ + -20.713889382102252, + 77.27866432883525 + ], + [ + -13.543701171875, + 78.0753950639205 + ], + [ + -2.390081232244313, + 74.09196333451712 + ], + [ + 3.983431729403435, + 70.10853160511374 + ], + [ + 7.966863458806813, + 67.71839488636374 + ], + [ + 7.966863458806813, + 67.71839488636374 + ] + ], + "pressures": [ + 0.005859375, + 0.208984375, + 0.2470703125, + 0.328125, + 0.4013671875, + 0.50390625, + 0.580078125, + 0.630859375, + 0.6533203125, + 0.66796875, + 0.673828125, + 0.669921875, + 0.677734375, + 0.671875, + 0.6513671875, + 0.64453125, + 0.6318359375, + 0.6318359375, + 0.6318359375, + 0.6064453125, + 0.55078125, + 0.3349609375, + 0.22265625, + 0.142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.966863458806813, + 67.71839488636374 + ] + }, + { + "id": "bLjN7vMnjlUgAgYmjK7Zq", + "type": "freedraw", + "x": 252.86185286881096, + "y": -94.54039754496, + "width": 43.81780450994319, + "height": 70.10842063210225, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1625107427, + "version": 424, + "versionNonce": 2130539981, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 4.780051491477252 + ], + [ + -4.780106977982996, + 7.966863458806756 + ], + [ + -5.576837713068187, + 11.153564453125 + ], + [ + -5.576837713068187, + 19.120427911931756 + ], + [ + -3.983431729403435, + 27.087291370738626 + ], + [ + -2.390081232244313, + 34.25747958096588 + ], + [ + 0, + 39.83437278053975 + ], + [ + 0.7966752485795041, + 42.22434303977275 + ], + [ + 1.593350497159122, + 42.22434303977275 + ], + [ + 3.186756480823874, + 41.42766779119313 + ], + [ + 5.5767822265625, + 38.240911310369256 + ], + [ + 7.170188210227252, + 32.664129083806756 + ], + [ + 7.966863458806756, + 22.30718439275563 + ], + [ + 7.966863458806756, + 17.527077414772748 + ], + [ + 7.966863458806756, + 15.136996182528378 + ], + [ + 9.560269442471622, + 15.136996182528378 + ], + [ + 12.746970436789752, + 16.7303466796875 + ], + [ + 17.527132901278378, + 20.713778409090878 + ], + [ + 23.900590376420382, + 27.087291370738626 + ], + [ + 32.6641845703125, + 37.44423606178975 + ], + [ + 36.64761629971588, + 43.81780450994313 + ], + [ + 38.240966796875, + 49.39453125 + ], + [ + 38.240966796875, + 55.76809969815338 + ], + [ + 35.054265802556756, + 65.32831365411926 + ], + [ + 31.070778586647748, + 68.5150146484375 + ], + [ + 25.493996360085248, + 70.10842063210225 + ], + [ + 19.1204833984375, + 70.10842063210225 + ], + [ + 14.340376420454504, + 69.31174538352275 + ], + [ + 9.560269442471622, + 67.71839488636363 + ], + [ + 8.763538707386374, + 67.71839488636363 + ], + [ + 11.15361993963063, + 68.5150146484375 + ], + [ + 12.746970436789752, + 68.5150146484375 + ], + [ + 12.746970436789752, + 68.5150146484375 + ] + ], + "pressures": [ + 0.1123046875, + 0.2548828125, + 0.3193359375, + 0.3837890625, + 0.4306640625, + 0.4736328125, + 0.5263671875, + 0.5625, + 0.591796875, + 0.5947265625, + 0.5888671875, + 0.59375, + 0.599609375, + 0.6064453125, + 0.6220703125, + 0.6318359375, + 0.677734375, + 0.6943359375, + 0.701171875, + 0.71875, + 0.73046875, + 0.7607421875, + 0.79296875, + 0.8056640625, + 0.822265625, + 0.822265625, + 0.822265625, + 0.78515625, + 0.697265625, + 0.458984375, + 0.4013671875, + 0.1396484375, + 0.095703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 12.746970436789752, + 68.5150146484375 + ] + }, + { + "id": "F928xubnDxSIRLhWbN1O9", + "type": "freedraw", + "x": 258.43863509537346, + "y": -76.21664488160775, + "width": 81.26215154474426, + "height": 95.60247247869324, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 899115469, + "version": 425, + "versionNonce": 303520131, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350852479, + 24.697321111505744 + ], + [ + 3.186756480823874, + 27.08734685724437 + ], + [ + 4.780162464488626, + 27.884022105823874 + ], + [ + 7.170188210227252, + 29.47748357599437 + ], + [ + 11.153675426136374, + 31.070778586647748 + ], + [ + 12.747025923295382, + 31.070778586647748 + ], + [ + 14.340376420454504, + 31.070778586647748 + ], + [ + 15.933782404119256, + 31.070778586647748 + ], + [ + 16.730457652698874, + 29.47748357599437 + ], + [ + 19.12053888494313, + 25.494051846590878 + ], + [ + 21.510564630681756, + 20.713833895596622 + ], + [ + 23.900645862926126, + 16.730402166193244 + ], + [ + 27.884077592329504, + 14.340376420454504 + ], + [ + 36.64761629971588, + 14.340376420454504 + ], + [ + 42.22445401278412, + 16.730402166193244 + ], + [ + 47.80129172585225, + 18.323808149857996 + ], + [ + 54.971424449573874, + 21.5106201171875 + ], + [ + 65.328369140625, + 27.08734685724437 + ], + [ + 72.49855735085225, + 32.6641845703125 + ], + [ + 78.07533957741475, + 38.240966796875 + ], + [ + 81.26215154474426, + 43.817804509943244 + ], + [ + 81.26215154474426, + 47.80123623934662 + ], + [ + 78.87212579900563, + 55.76809969815338 + ], + [ + 73.29523259943176, + 64.53163840553975 + ], + [ + 67.71845037286926, + 74.88858309659088 + ], + [ + 61.34493741122162, + 84.4488525390625 + ], + [ + 50.19131747159088, + 92.41571599786937 + ], + [ + 42.22445401278412, + 94.80579723011363 + ], + [ + 34.25759055397725, + 95.60247247869324 + ], + [ + 28.680752840909122, + 95.60247247869324 + ], + [ + 23.103970614346622, + 94.80579723011363 + ], + [ + 18.323808149857882, + 94.00906649502838 + ], + [ + 17.527132901278378, + 93.2124467329545 + ], + [ + 17.527132901278378, + 93.2124467329545 + ] + ], + "pressures": [ + 0.01953125, + 0.5048828125, + 0.525390625, + 0.541015625, + 0.5595703125, + 0.5693359375, + 0.57421875, + 0.5712890625, + 0.572265625, + 0.5791015625, + 0.5849609375, + 0.5888671875, + 0.59375, + 0.6025390625, + 0.615234375, + 0.6220703125, + 0.6220703125, + 0.6337890625, + 0.6474609375, + 0.66015625, + 0.6787109375, + 0.6826171875, + 0.701171875, + 0.732421875, + 0.72265625, + 0.7109375, + 0.6845703125, + 0.67578125, + 0.6591796875, + 0.599609375, + 0.4462890625, + 0.333984375, + 0.2041015625, + 0.1689453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 17.527132901278378, + 93.2124467329545 + ] + }, + { + "id": "V1Y09o4WJqFo8mBZcde7l", + "type": "freedraw", + "x": 250.47177163656664, + "y": -84.1835083404145, + "width": 60.548262162642004, + "height": 65.328369140625, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 389126701, + "version": 430, + "versionNonce": 1086796845, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -1.5934059836648657 + ], + [ + -2.390025745738683, + -3.186756480823874 + ], + [ + -3.186756480823874, + -3.186756480823874 + ], + [ + -3.983431729403435, + -2.3900257457387397 + ], + [ + -3.983431729403435, + 0.7966752485795041 + ], + [ + -3.186756480823874, + 9.560269442471508 + ], + [ + 0, + 18.323808149857882 + ], + [ + 2.390081232244313, + 25.493996360085134 + ], + [ + 5.576837713068187, + 31.070778586647634 + ], + [ + 7.966863458806813, + 33.460915305397634 + ], + [ + 11.153619939630687, + 35.054210316051126 + ], + [ + 14.340376420454561, + 35.054210316051126 + ], + [ + 16.730457652698817, + 35.054210316051126 + ], + [ + 19.120538884943187, + 31.867453835227252 + ], + [ + 20.713889382102195, + 23.900590376420382 + ], + [ + 20.713889382102195, + 18.323808149857882 + ], + [ + 20.713889382102195, + 14.340376420454504 + ], + [ + 20.713889382102195, + 11.950295188210134 + ], + [ + 20.713889382102195, + 11.15361993963063 + ], + [ + 19.91721413352269, + 10.356889204545382 + ], + [ + 23.103970614346565, + 11.15361993963063 + ], + [ + 30.274158824573817, + 18.323808149857882 + ], + [ + 36.647616299715935, + 23.900590376420382 + ], + [ + 43.02112926136357, + 29.477483575994256 + ], + [ + 49.39464222301132, + 35.054210316051126 + ], + [ + 53.378073952414695, + 39.037642045454504 + ], + [ + 56.56483043323857, + 45.41121049360788 + ], + [ + 56.56483043323857, + 47.80123623934651 + ], + [ + 55.768155184659065, + 50.191261985085134 + ], + [ + 51.78466796874994, + 52.581343217329504 + ], + [ + 42.224454012784065, + 57.36150568181813 + ], + [ + 36.647616299715935, + 59.751531427556756 + ], + [ + 30.274158824573817, + 61.34493741122151 + ], + [ + 26.290671608664695, + 62.141612659801126 + ], + [ + 23.90064586292607, + 61.34493741122151 + ], + [ + 21.510564630681813, + 58.95485617897725 + ], + [ + 21.510564630681813, + 57.36150568181813 + ], + [ + 21.510564630681813, + 56.56477494673288 + ], + [ + 21.510564630681813, + 56.56477494673288 + ] + ], + "pressures": [ + 0.015625, + 0.033203125, + 0.087890625, + 0.1416015625, + 0.1953125, + 0.2412109375, + 0.2958984375, + 0.337890625, + 0.412109375, + 0.462890625, + 0.50390625, + 0.53125, + 0.5537109375, + 0.55859375, + 0.57421875, + 0.58984375, + 0.611328125, + 0.640625, + 0.6533203125, + 0.66015625, + 0.666015625, + 0.701171875, + 0.73046875, + 0.75390625, + 0.87890625, + 0.900390625, + 0.9345703125, + 0.96484375, + 0.986328125, + 0.986328125, + 0.9814453125, + 0.9384765625, + 0.8740234375, + 0.7685546875, + 0.638671875, + 0.431640625, + 0.2236328125, + 0.13671875, + 0.0712890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.510564630681813, + 56.56477494673288 + ] + }, + { + "id": "Sz3OIgJRBvtYAlKDb8nCb", + "type": "freedraw", + "x": 279.9491997260552, + "y": -24.43197691285775, + "width": 92.41577148437494, + "height": 74.09190784801137, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 220257187, + "version": 422, + "versionNonce": 2039951651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -0.7966752485795041 + ], + [ + 0, + -0.7966752485795041 + ], + [ + 2.39008123224437, + -1.593405983664752 + ], + [ + 9.560269442471622, + -2.390025745738626 + ], + [ + 16.730457652698874, + -2.390025745738626 + ], + [ + 23.103970614346622, + -1.593405983664752 + ], + [ + 29.477428089488626, + 1.593405983664752 + ], + [ + 35.05426580255687, + 4.780106977982996 + ], + [ + 41.42777876420462, + 9.560269442471622 + ], + [ + 51.78466796875, + 18.323808149857996 + ], + [ + 57.361561168323874, + 24.697321111505744 + ], + [ + 59.7515869140625, + 31.867509321732996 + ], + [ + 59.7515869140625, + 38.240966796875 + ], + [ + 54.971424449573874, + 41.427778764204504 + ], + [ + 47.80123623934662, + 44.61447975852275 + ], + [ + 39.03769753196025, + 49.394642223011374 + ], + [ + 29.477428089488626, + 55.76809969815338 + ], + [ + 19.917214133522748, + 62.141612659801126 + ], + [ + 7.9669189453125, + 68.51512562144887 + ], + [ + 0, + 70.9051513671875 + ], + [ + -9.560213955965878, + 71.70188210227275 + ], + [ + -22.307239879261374, + 70.9051513671875 + ], + [ + -28.680752840909065, + 70.108476118608 + ], + [ + -31.867453835227252, + 70.108476118608 + ], + [ + -32.66418457031244, + 70.108476118608 + ], + [ + -31.867453835227252, + 70.108476118608 + ], + [ + -29.47742808948857, + 69.31185635653412 + ], + [ + -27.884022105823817, + 68.51512562144887 + ], + [ + -27.884022105823817, + 66.92171963778412 + ], + [ + -26.290671608664752, + 66.1250443892045 + ], + [ + -24.697265625, + 66.1250443892045 + ], + [ + -23.900590376420382, + 65.32842462713074 + ], + [ + -23.900590376420382, + 65.32842462713074 + ] + ], + "pressures": [ + 0.0732421875, + 0.2578125, + 0.330078125, + 0.423828125, + 0.5078125, + 0.6337890625, + 0.7587890625, + 0.8154296875, + 0.87890625, + 0.900390625, + 0.90625, + 0.904296875, + 0.8984375, + 0.8955078125, + 0.8740234375, + 0.83203125, + 0.80078125, + 0.748046875, + 0.705078125, + 0.6943359375, + 0.6884765625, + 0.6826171875, + 0.6552734375, + 0.646484375, + 0.640625, + 0.642578125, + 0.3486328125, + 0.2177734375, + 0.1708984375, + 0.13671875, + 0.09375, + 0.0244140625, + 0.013671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.900590376420382, + 65.32842462713074 + ] + }, + { + "id": "iqqKpQcdtZx7kMaG7cilc", + "type": "freedraw", + "x": 282.3392809582996, + "y": -23.635301664278245, + "width": 105.95947265625, + "height": 86.04225852272737, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 199834851, + "version": 428, + "versionNonce": 1938433677, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + 0 + ], + [ + -5.576837713068244, + 2.39008123224437 + ], + [ + -6.373512961647748, + 5.576837713068244 + ], + [ + -6.373512961647748, + 7.170188210227366 + ], + [ + -6.373512961647748, + 9.560269442471622 + ], + [ + -3.186756480823874, + 13.543701171875 + ], + [ + 1.593350497159122, + 18.323808149857996 + ], + [ + 8.763538707386374, + 25.493996360085248 + ], + [ + 11.950295188210248, + 27.884077592329618 + ], + [ + 13.543701171875, + 29.47742808948874 + ], + [ + 15.933726917613626, + 29.47742808948874 + ], + [ + 19.1204833984375, + 29.47742808948874 + ], + [ + 22.307239879261374, + 27.884077592329618 + ], + [ + 24.69732111150563, + 25.493996360085248 + ], + [ + 27.087346857244256, + 22.307239879261374 + ], + [ + 29.477428089488626, + 18.323808149857996 + ], + [ + 35.054265802556756, + 13.543701171875 + ], + [ + 41.427723277698874, + 11.950295188210248 + ], + [ + 49.39458673650563, + 10.35694469105124 + ], + [ + 61.34488192471588, + 9.560269442471622 + ], + [ + 70.10853160511363, + 8.763594193892118 + ], + [ + 78.0753950639205, + 9.560269442471622 + ], + [ + 85.24558327414775, + 12.74708140980124 + ], + [ + 90.8223100142045, + 16.730513139204618 + ], + [ + 95.60247247869313, + 21.51056463068187 + ], + [ + 99.58595969460225, + 30.274103338068244 + ], + [ + 99.58595969460225, + 38.241022283380744 + ], + [ + 95.60247247869313, + 47.80123623934662 + ], + [ + 86.83893377130676, + 60.54831764914775 + ], + [ + 72.49855735085225, + 77.27866432883525 + ], + [ + 62.141557173295496, + 82.85550204190349 + ], + [ + 54.174693714488626, + 86.04225852272737 + ], + [ + 48.597911487926126, + 86.04225852272737 + ], + [ + 44.61447975852275, + 86.04225852272737 + ], + [ + 39.83437278053975, + 86.04225852272737 + ], + [ + 37.444291548295496, + 86.04225852272737 + ], + [ + 35.054265802556756, + 85.24552778764212 + ], + [ + 34.25753506747162, + 84.44890802556824 + ], + [ + 34.25753506747162, + 84.44890802556824 + ] + ], + "pressures": [ + 0.0107421875, + 0.14453125, + 0.2373046875, + 0.283203125, + 0.3310546875, + 0.3701171875, + 0.3896484375, + 0.4072265625, + 0.4580078125, + 0.474609375, + 0.4833984375, + 0.4873046875, + 0.4912109375, + 0.4912109375, + 0.4912109375, + 0.4921875, + 0.4951171875, + 0.49609375, + 0.49609375, + 0.50390625, + 0.5078125, + 0.5, + 0.5, + 0.4990234375, + 0.5009765625, + 0.5009765625, + 0.4970703125, + 0.4951171875, + 0.5048828125, + 0.5048828125, + 0.4892578125, + 0.482421875, + 0.4501953125, + 0.3994140625, + 0.349609375, + 0.2783203125, + 0.201171875, + 0.134765625, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.25753506747162, + 84.44890802556824 + ] + }, + { + "id": "TqQrAzCRS9utQV5EVRgVu", + "type": "freedraw", + "x": 314.2067902800326, + "y": 61.61022612336387, + "width": 94.805741743608, + "height": 50.19126198508525, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 529182285, + "version": 416, + "versionNonce": 2121995459, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.5933504971590082, + 0 + ], + [ + 4.780106977982882, + -2.390025745738626 + ], + [ + 8.76353870738626, + -7.170188210227252 + ], + [ + 13.543645685369256, + -12.746914950284122 + ], + [ + 16.73040216619313, + -19.1204833984375 + ], + [ + 21.510509144176126, + -27.884022105823874 + ], + [ + 21.510509144176126, + -31.070778586647748 + ], + [ + 21.510509144176126, + -33.46085981889212 + ], + [ + 18.323808149857882, + -35.054210316051126 + ], + [ + 9.560213955965878, + -32.66412908380687 + ], + [ + 1.5933504971590082, + -29.477428089488626 + ], + [ + -6.373512961647748, + -24.69721013849437 + ], + [ + -15.137051669034122, + -21.510509144176126 + ], + [ + -24.697321111505744, + -19.1204833984375 + ], + [ + -38.241022283380744, + -17.527077414772748 + ], + [ + -47.00456099076712, + -19.1204833984375 + ], + [ + -54.971424449573874, + -22.307239879261374 + ], + [ + -62.14161265980118, + -26.290671608664752 + ], + [ + -68.51512562144893, + -31.867453835227252 + ], + [ + -71.70188210227275, + -35.054210316051126 + ], + [ + -72.49855735085231, + -39.03764204545462 + ], + [ + -73.29523259943187, + -42.22439852627838 + ], + [ + -73.29523259943187, + -44.61442427201712 + ], + [ + -72.49855735085231, + -47.004505504261374 + ], + [ + -71.70188210227275, + -47.80123623934662 + ], + [ + -70.108476118608, + -48.597856001420496 + ], + [ + -68.51512562144893, + -49.394586736505744 + ], + [ + -66.12504438920462, + -50.19126198508525 + ], + [ + -66.12504438920462, + -50.19126198508525 + ] + ], + "pressures": [ + 0.056640625, + 0.17578125, + 0.22265625, + 0.263671875, + 0.2958984375, + 0.3134765625, + 0.3408203125, + 0.361328125, + 0.384765625, + 0.470703125, + 0.626953125, + 0.697265625, + 0.708984375, + 0.728515625, + 0.74609375, + 0.7626953125, + 0.751953125, + 0.74609375, + 0.744140625, + 0.73046875, + 0.712890625, + 0.6376953125, + 0.5087890625, + 0.3916015625, + 0.3095703125, + 0.26953125, + 0.2060546875, + 0.1591796875, + 0.115234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -66.12504438920462, + -50.19126198508525 + ] + }, + { + "id": "ESyJOOGChzbdNL44BpNkI", + "type": "freedraw", + "x": 241.70823292918027, + "y": 3.452100679471755, + "width": 39.037642045454504, + "height": 36.64761629971599, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 588074669, + "version": 403, + "versionNonce": 167759085, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 21.51056463068187 + ], + [ + 0, + 27.08734685724437 + ], + [ + 2.390081232244313, + 29.47742808948874 + ], + [ + 7.966863458806813, + 34.25753506747162 + ], + [ + 11.950295188210191, + 36.64761629971599 + ], + [ + 17.527132901278435, + 36.64761629971599 + ], + [ + 21.510564630681813, + 35.05421031605124 + ], + [ + 27.087346857244313, + 30.274103338068244 + ], + [ + 29.47742808948857, + 28.68069735440349 + ], + [ + 31.86750932173294, + 23.900590376420496 + ], + [ + 34.257535067471565, + 17.52713290127849 + ], + [ + 35.05421031605107, + 14.340320933948874 + ], + [ + 35.05421031605107, + 11.153619939630744 + ], + [ + 35.05421031605107, + 10.356889204545496 + ], + [ + 34.257535067471565, + 10.356889204545496 + ], + [ + 34.257535067471565, + 10.356889204545496 + ] + ], + "pressures": [ + 0.052734375, + 0.47265625, + 0.5107421875, + 0.5205078125, + 0.5439453125, + 0.5712890625, + 0.5966796875, + 0.609375, + 0.626953125, + 0.6376953125, + 0.646484375, + 0.646484375, + 0.642578125, + 0.626953125, + 0.576171875, + 0.05859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.257535067471565, + 10.356889204545496 + ] + }, + { + "id": "zUF8GZB16j1NxSdahwKYw", + "type": "freedraw", + "x": 273.5757422509132, + "y": 21.77590882932975, + "width": 51.78466796875, + "height": 45.41115500710225, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 713905165, + "version": 408, + "versionNonce": 1885439075, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + 0 + ], + [ + -1.593405983664752, + -0.7966752485795041 + ], + [ + -1.593405983664752, + -1.593405983664752 + ], + [ + 0.7966752485795041, + -2.390081232244256 + ], + [ + 5.5767822265625, + -3.186756480823874 + ], + [ + 17.527077414772748, + -3.186756480823874 + ], + [ + 27.08734685724437, + 0 + ], + [ + 35.85088556463063, + 3.186756480823874 + ], + [ + 42.22439852627838, + 7.170188210227252 + ], + [ + 47.004505504261374, + 11.153619939630744 + ], + [ + 50.19126198508525, + 17.527077414772748 + ], + [ + 50.19126198508525, + 21.510509144176126 + ], + [ + 48.597911487926126, + 27.08740234375 + ], + [ + 44.61447975852275, + 32.66412908380687 + ], + [ + 37.444291548295496, + 39.03769753196025 + ], + [ + 32.6641845703125, + 41.427723277698874 + ], + [ + 29.477428089488626, + 42.22439852627838 + ], + [ + 27.08734685724437, + 42.22439852627838 + ], + [ + 25.493996360085248, + 42.22439852627838 + ], + [ + 24.697265625, + 42.22439852627838 + ], + [ + 25.493996360085248, + 42.22439852627838 + ], + [ + 27.884022105823874, + 40.63104802911937 + ], + [ + 27.884022105823874, + 40.63104802911937 + ] + ], + "pressures": [ + 0.076171875, + 0.1171875, + 0.1513671875, + 0.3486328125, + 0.5087890625, + 0.6640625, + 0.8828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9755859375, + 0.857421875, + 0.6337890625, + 0.5126953125, + 0.109375, + 0.0166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.884022105823874, + 40.63104802911937 + ] + }, + { + "id": "1s4LiC4mj4UaMqdSdutEX", + "type": "freedraw", + "x": 274.3724174994927, + "y": 24.165934575068377, + "width": 66.92171963778412, + "height": 39.03769753196025, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 716702637, + "version": 408, + "versionNonce": 1672587085, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0.7967307350852479 + ], + [ + 1.593350497159122, + 0.7967307350852479 + ], + [ + 6.373512961647748, + 0.7967307350852479 + ], + [ + 15.137051669034122, + 0.7967307350852479 + ], + [ + 21.51056463068187, + 1.593405983664752 + ], + [ + 28.680752840909122, + 1.593405983664752 + ], + [ + 36.64761629971599, + 2.39008123224437 + ], + [ + 44.61447975852275, + 2.39008123224437 + ], + [ + 54.971424449573874, + 5.576837713068244 + ], + [ + 60.548206676136374, + 9.560269442471622 + ], + [ + 64.5316938920455, + 14.340376420454618 + ], + [ + 66.12504438920462, + 19.917214133522748 + ], + [ + 63.73501864346599, + 27.884077592329618 + ], + [ + 59.75153142755687, + 31.867509321732996 + ], + [ + 55.76809969815349, + 35.05426580255687 + ], + [ + 51.78466796875, + 38.241022283380744 + ], + [ + 49.394586736505744, + 39.03769753196025 + ], + [ + 46.20783025568187, + 39.03769753196025 + ], + [ + 43.817804509943244, + 39.03769753196025 + ], + [ + 43.021129261363626, + 37.444291548295496 + ], + [ + 42.22439852627849, + 36.64767178622162 + ], + [ + 42.22439852627849, + 35.850941051136374 + ], + [ + 42.22439852627849, + 35.850941051136374 + ] + ], + "pressures": [ + 0.037109375, + 0.3330078125, + 0.435546875, + 0.59765625, + 0.8876953125, + 0.9619140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9755859375, + 0.900390625, + 0.7666015625, + 0.458984375, + 0.267578125, + 0.17578125, + 0.142578125, + 0.095703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.22439852627849, + 35.850941051136374 + ] + }, + { + "id": "QJJ3T2o5bVlVm3K0tN4TQ", + "type": "freedraw", + "x": 259.2353658304587, + "y": -88.96367080490324, + "width": 67.71845037286937, + "height": 74.88863858309662, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 423246253, + "version": 423, + "versionNonce": 655949827, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + 0 + ], + [ + 0, + 1.5934059836648657 + ], + [ + -1.5934059836648657, + 6.373568448153492 + ], + [ + -2.39008123224437, + 10.35700017755687 + ], + [ + -2.39008123224437, + 15.93378240411937 + ], + [ + -2.39008123224437, + 23.90064586292624 + ], + [ + 0, + 29.47742808948874 + ], + [ + 3.186756480823874, + 35.05426580255687 + ], + [ + 6.373457475142004, + 38.241077769886374 + ], + [ + 7.966863458806756, + 39.03769753196025 + ], + [ + 9.560213955965878, + 39.03769753196025 + ], + [ + 13.543645685369256, + 36.64761629971599 + ], + [ + 16.73040216619313, + 33.46085981889212 + ], + [ + 19.917158647017004, + 28.680752840909122 + ], + [ + 23.103915127840878, + 22.307295365767118 + ], + [ + 23.900590376420382, + 19.120538884943244 + ], + [ + 24.697265625, + 17.52713290127849 + ], + [ + 25.493996360085134, + 15.137051669034122 + ], + [ + 27.087346857244256, + 13.543701171875 + ], + [ + 29.477428089488626, + 13.543701171875 + ], + [ + 35.054210316051126, + 13.543701171875 + ], + [ + 40.631048029119256, + 16.730457652698874 + ], + [ + 50.191261985085134, + 24.697321111505744 + ], + [ + 55.76809969815338, + 31.867509321732996 + ], + [ + 61.34488192471588, + 40.63104802911937 + ], + [ + 64.53163840553975, + 49.394642223011374 + ], + [ + 65.328369140625, + 56.56483043323874 + ], + [ + 63.734963156960134, + 64.5316938920455 + ], + [ + 58.95485617897725, + 68.51512562144887 + ], + [ + 50.191261985085134, + 71.70188210227275 + ], + [ + 35.85088556463063, + 74.88863858309662 + ], + [ + 31.867453835227252, + 74.88863858309662 + ], + [ + 23.103915127840878, + 74.88863858309662 + ], + [ + 19.1204833984375, + 73.29523259943187 + ], + [ + 17.527077414772634, + 70.90520685369324 + ], + [ + 17.527077414772634, + 69.31180087002849 + ], + [ + 19.917158647017004, + 67.71845037286937 + ], + [ + 19.917158647017004, + 67.71845037286937 + ] + ], + "pressures": [ + 0.001953125, + 0.1982421875, + 0.55859375, + 0.662109375, + 0.724609375, + 0.8056640625, + 0.9111328125, + 0.9423828125, + 0.9560546875, + 0.9619140625, + 0.96875, + 0.96875, + 0.966796875, + 0.96875, + 0.96875, + 0.9560546875, + 0.9384765625, + 0.9189453125, + 0.9111328125, + 0.90625, + 0.9169921875, + 0.927734375, + 0.931640625, + 0.9345703125, + 0.94921875, + 0.96484375, + 0.994140625, + 1, + 1, + 1, + 1, + 0.94921875, + 0.900390625, + 0.6787109375, + 0.515625, + 0.3310546875, + 0.2001953125, + 0.0517578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 19.917158647017004, + 67.71845037286937 + ] + }, + { + "id": "_v8TAa78jgyjVZMowfGbL", + "type": "freedraw", + "x": 264.0154728084416, + "y": -84.1835083404145, + "width": 59.75158691406244, + "height": 89.22901500355113, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 363056845, + "version": 427, + "versionNonce": 855193005, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -1.5934059836648657 + ], + [ + -6.373512961647748, + 0.7966752485795041 + ], + [ + -7.966863458806756, + 6.373457475142004 + ], + [ + -11.15361993963063, + 18.323808149857882 + ], + [ + -12.747025923295439, + 26.290671608664752 + ], + [ + -13.543701171874943, + 32.6641845703125 + ], + [ + -13.543701171874943, + 39.83431729403401 + ], + [ + -10.356944691051126, + 46.207830255681756 + ], + [ + -7.170188210227252, + 52.581343217329504 + ], + [ + -5.57683771306813, + 53.37807395241475 + ], + [ + -3.186756480823874, + 53.37807395241475 + ], + [ + 0, + 50.98799272017038 + ], + [ + 4.780106977982996, + 46.207830255681756 + ], + [ + 7.170188210227252, + 42.22439852627838 + ], + [ + 7.96686345880687, + 38.240966796875 + ], + [ + 7.96686345880687, + 34.25753506747151 + ], + [ + 7.96686345880687, + 31.867453835227252 + ], + [ + 7.96686345880687, + 30.27410333806813 + ], + [ + 8.763538707386374, + 30.27410333806813 + ], + [ + 13.543701171875, + 30.27410333806813 + ], + [ + 18.323808149857996, + 33.460915305397634 + ], + [ + 23.10391512784099, + 36.64761629971588 + ], + [ + 27.884077592329618, + 41.427778764204504 + ], + [ + 39.03769753196025, + 51.78466796875 + ], + [ + 43.817804509943244, + 58.95485617897725 + ], + [ + 46.2078857421875, + 65.328369140625 + ], + [ + 46.2078857421875, + 69.31180087002838 + ], + [ + 45.41115500710225, + 74.09190784801126 + ], + [ + 38.240966796875, + 81.26215154474426 + ], + [ + 31.867509321732996, + 85.24558327414763 + ], + [ + 23.900645862926126, + 87.63560901988626 + ], + [ + 15.933726917613626, + 87.63560901988626 + ], + [ + 9.560269442471622, + 86.83887828480113 + ], + [ + 4.780106977982996, + 82.05877130681813 + ], + [ + 2.39008123224437, + 78.87201482599426 + ], + [ + 1.593350497159122, + 77.27871981534088 + ], + [ + 0.7966752485796178, + 74.88858309659088 + ], + [ + 0, + 73.2952880859375 + ], + [ + 0, + 70.9051513671875 + ], + [ + 0, + 69.31180087002838 + ], + [ + 0.7966752485796178, + 67.71839488636363 + ], + [ + 0.7966752485796178, + 67.71839488636363 + ] + ], + "pressures": [ + 0.0009765625, + 0.34765625, + 0.4892578125, + 0.615234375, + 0.7724609375, + 0.8935546875, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.83203125, + 0.53125, + 0.3447265625, + 0.2587890625, + 0.1611328125, + 0.1240234375, + 0.0576171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.7966752485796178, + 67.71839488636363 + ] + }, + { + "id": "3npBSmXlNOxq8vI4LwiAe", + "type": "freedraw", + "x": 256.84528459821433, + "y": -79.40340136243162, + "width": 62.141612659801126, + "height": 86.83893377130687, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1225777325, + "version": 428, + "versionNonce": 2090862499, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593405983664752 + ], + [ + -0.7966752485795041, + 1.593350497159122 + ], + [ + -1.593350497159122, + 7.170188210227252 + ], + [ + -1.593350497159122, + 15.933726917613626 + ], + [ + -1.593350497159122, + 24.697376598011374 + ], + [ + 0, + 32.664240056818244 + ], + [ + 2.39008123224437, + 43.021129261363626 + ], + [ + 5.576837713068244, + 47.00456099076712 + ], + [ + 7.170188210227252, + 49.394586736505744 + ], + [ + 9.560269442471622, + 49.394586736505744 + ], + [ + 11.950295188210248, + 48.59796697443187 + ], + [ + 16.730457652698874, + 43.021129261363626 + ], + [ + 19.917158647017004, + 39.03769753196025 + ], + [ + 21.51056463068187, + 37.444291548295496 + ], + [ + 23.103915127840878, + 36.64767178622162 + ], + [ + 23.900645862926126, + 35.850941051136374 + ], + [ + 25.493996360085248, + 34.25753506747162 + ], + [ + 26.290671608664752, + 33.46085981889212 + ], + [ + 27.884077592329504, + 32.664240056818244 + ], + [ + 31.867509321732996, + 33.46085981889212 + ], + [ + 40.63104802911937, + 39.03769753196025 + ], + [ + 46.2078857421875, + 44.61453524502838 + ], + [ + 51.78466796875, + 50.987992720170496 + ], + [ + 56.564774946732996, + 58.15818093039775 + ], + [ + 60.548262162642004, + 68.51518110795462 + ], + [ + 60.548262162642004, + 73.29523259943187 + ], + [ + 56.564774946732996, + 77.27866432883525 + ], + [ + 49.394642223011374, + 80.46547629616475 + ], + [ + 39.83437278053975, + 83.652177290483 + ], + [ + 25.493996360085248, + 85.24552778764212 + ], + [ + 16.730457652698874, + 85.24552778764212 + ], + [ + 10.356944691051126, + 83.652177290483 + ], + [ + 4.780106977982996, + 81.26209605823863 + ], + [ + 3.983431729403378, + 78.87201482599437 + ], + [ + 3.186756480823874, + 77.27866432883525 + ], + [ + 3.186756480823874, + 74.88858309659088 + ], + [ + 3.186756480823874, + 73.29523259943187 + ], + [ + 3.186756480823874, + 72.498612837358 + ], + [ + 4.780106977982996, + 72.498612837358 + ], + [ + 6.373512961647748, + 72.498612837358 + ], + [ + 7.170188210227252, + 73.29523259943187 + ], + [ + 8.763538707386374, + 75.68531383167613 + ], + [ + 8.763538707386374, + 75.68531383167613 + ] + ], + "pressures": [ + 0.013671875, + 0.380859375, + 0.5888671875, + 0.7685546875, + 0.927734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9755859375, + 0.734375, + 0.6025390625, + 0.287109375, + 0.2001953125, + 0.1494140625, + 0.08984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.763538707386374, + 75.68531383167613 + ] + }, + { + "id": "-wahVNqWap3b2SO4ecUuo", + "type": "freedraw", + "x": 240.9115576806007, + "y": 5.842126425210495, + "width": 60.54826216264206, + "height": 55.76815518465912, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1246220387, + "version": 418, + "versionNonce": 587200525, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186756480823874, + 1.593405983664752 + ], + [ + 7.170188210227252, + 3.186811967329504 + ], + [ + 9.560213955965935, + 6.373512961647634 + ], + [ + 11.153619939630687, + 11.15367542613626 + ], + [ + 11.153619939630687, + 14.340376420454504 + ], + [ + 8.763538707386374, + 18.323808149857882 + ], + [ + 5.5767822265625, + 19.917214133522634 + ], + [ + 1.593350497159122, + 20.713889382102252 + ], + [ + -3.983431729403378, + 20.713889382102252 + ], + [ + -10.356944691051126, + 19.917214133522634 + ], + [ + -12.747025923295439, + 19.917214133522634 + ], + [ + -8.763594193892061, + 24.69732111150563 + ], + [ + -2.390081232244313, + 29.477428089488626 + ], + [ + 4.780106977982939, + 34.25759055397725 + ], + [ + 11.950295188210248, + 37.44429154829538 + ], + [ + 19.917158647017004, + 38.24102228338063 + ], + [ + 25.493996360085248, + 37.44429154829538 + ], + [ + 30.27410333806813, + 35.0543212890625 + ], + [ + 35.054210316051126, + 31.867509321732882 + ], + [ + 39.83437278053975, + 25.493996360085134 + ], + [ + 45.41115500710225, + 14.340376420454504 + ], + [ + 47.004560990767004, + 7.966863458806756 + ], + [ + 47.80123623934662, + 3.186811967329504 + ], + [ + 46.20783025568187, + -1.593350497159122 + ], + [ + 39.037642045454504, + -10.35694469105124 + ], + [ + 34.25753506747162, + -15.137051669034122 + ], + [ + 31.070778586647748, + -17.52713290127849 + ], + [ + 28.680752840909122, + -17.52713290127849 + ], + [ + 27.08734685724437, + -17.52713290127849 + ], + [ + 25.493996360085248, + -17.52713290127849 + ], + [ + 23.900590376420496, + -17.52713290127849 + ], + [ + 23.103915127840878, + -17.52713290127849 + ], + [ + 22.307239879261374, + -15.93372691761374 + ], + [ + 22.307239879261374, + -15.137051669034122 + ], + [ + 22.307239879261374, + -15.137051669034122 + ] + ], + "pressures": [ + 0.0771484375, + 0.3564453125, + 0.44140625, + 0.5283203125, + 0.599609375, + 0.6787109375, + 0.828125, + 0.884765625, + 0.9365234375, + 0.9453125, + 0.9296875, + 0.9345703125, + 0.8955078125, + 0.9130859375, + 0.951171875, + 0.9619140625, + 0.966796875, + 0.9775390625, + 0.986328125, + 0.9921875, + 1, + 0.9814453125, + 0.9755859375, + 0.9365234375, + 0.8916015625, + 0.857421875, + 0.8076171875, + 0.716796875, + 0.6474609375, + 0.4296875, + 0.2177734375, + 0.1630859375, + 0.126953125, + 0.0869140625, + 0.046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.307239879261374, + -15.137051669034122 + ] + }, + { + "id": "SyyUP69LBN3Vzs8FT_6dj", + "type": "freedraw", + "x": 234.53804471895296, + "y": 5.045506663136621, + "width": 77.27866432883525, + "height": 57.3614501953125, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1915336173, + "version": 415, + "versionNonce": 119872323, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.153619939630687, + 27.087291370738626 + ], + [ + 3.186756480823874, + 28.680697354403378 + ], + [ + 0, + 28.680697354403378 + ], + [ + -8.763538707386317, + 28.680697354403378 + ], + [ + -14.340376420454504, + 28.680697354403378 + ], + [ + -18.32380814985794, + 28.680697354403378 + ], + [ + -19.917158647017004, + 27.884022105823874 + ], + [ + -18.32380814985794, + 30.2740478515625 + ], + [ + -15.137051669034065, + 32.664129083806756 + ], + [ + -10.356944691051126, + 35.850941051136374 + ], + [ + -0.7966752485795041, + 41.42766779119313 + ], + [ + 7.96686345880687, + 45.41109952059651 + ], + [ + 16.730402166193187, + 47.80123623934651 + ], + [ + 24.697321111505744, + 48.59785600142038 + ], + [ + 35.05426580255687, + 48.59785600142038 + ], + [ + 41.427723277698874, + 47.004505504261374 + ], + [ + 46.2078857421875, + 43.81780450994313 + ], + [ + 50.19131747159088, + 39.83437278053975 + ], + [ + 52.58134321732962, + 35.054210316051126 + ], + [ + 55.76809969815338, + 26.29061612215901 + ], + [ + 57.361505681818244, + 21.510509144176126 + ], + [ + 57.361505681818244, + 16.73040216619313 + ], + [ + 54.17474920099437, + 10.356889204545382 + ], + [ + 45.41115500710225, + -1.5934059836648657 + ], + [ + 40.63104802911937, + -7.170243696732996 + ], + [ + 38.240966796875, + -8.763594193892118 + ], + [ + 35.850941051136374, + -8.763594193892118 + ], + [ + 34.25753506747162, + -7.96686345880687 + ], + [ + 32.6641845703125, + -6.373568448153492 + ], + [ + 31.867509321732996, + -5.576893199573874 + ], + [ + 31.070778586647748, + -4.780162464488626 + ], + [ + 31.070778586647748, + -4.780162464488626 + ] + ], + "pressures": [ + 0.1181640625, + 1, + 1, + 1, + 1, + 0.9619140625, + 0.923828125, + 0.90234375, + 0.8828125, + 0.8828125, + 0.8876953125, + 0.921875, + 0.931640625, + 0.9453125, + 0.953125, + 1, + 1, + 1, + 1, + 1, + 0.97265625, + 0.97265625, + 0.966796875, + 0.9599609375, + 0.9404296875, + 0.8701171875, + 0.78125, + 0.615234375, + 0.3681640625, + 0.1953125, + 0.1640625, + 0.0888671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.070778586647748, + -4.780162464488626 + ] + }, + { + "id": "KzcQpg6iVHgnssUSYQC0-", + "type": "freedraw", + "x": 222.58774953074277, + "y": 10.62228888969912, + "width": 77.27866432883519, + "height": 65.32831365411926, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 683114445, + "version": 428, + "versionNonce": 1035955821, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7967307350852479 + ], + [ + 2.390025745738626, + -0.7967307350852479 + ], + [ + 7.170188210227252, + 0 + ], + [ + 11.153619939630687, + 1.5933504971590082 + ], + [ + 15.137051669034065, + 3.983431729403378 + ], + [ + 19.91715864701706, + 7.966863458806756 + ], + [ + 23.90059037642044, + 14.340376420454504 + ], + [ + 24.697265625, + 18.323808149857882 + ], + [ + 23.90059037642044, + 23.103915127840878 + ], + [ + 19.91715864701706, + 30.274158824573874 + ], + [ + 15.933726917613626, + 36.64761629971588 + ], + [ + 7.966863458806813, + 42.22445401278401 + ], + [ + 1.593350497159065, + 43.8177490234375 + ], + [ + -3.186756480823874, + 43.8177490234375 + ], + [ + -5.576837713068187, + 43.8177490234375 + ], + [ + -6.373512961647748, + 43.8177490234375 + ], + [ + -6.373512961647748, + 44.614479758522634 + ], + [ + -3.983431729403435, + 46.2078857421875 + ], + [ + 0, + 48.597911487926126 + ], + [ + 5.5767822265625, + 50.98793723366475 + ], + [ + 12.746970436789752, + 53.37801846590901 + ], + [ + 21.510564630681813, + 56.56477494673288 + ], + [ + 33.46085981889206, + 58.95485617897725 + ], + [ + 39.03764204545456, + 59.751531427556756 + ], + [ + 44.61447975852269, + 58.95485617897725 + ], + [ + 50.98799272017044, + 55.76809969815338 + ], + [ + 60.54820667613632, + 48.597911487926126 + ], + [ + 66.12504438920456, + 41.427723277698874 + ], + [ + 70.10847611860794, + 32.664129083806756 + ], + [ + 70.90515136718744, + 23.103915127840878 + ], + [ + 70.90515136718744, + 10.356944691051126 + ], + [ + 68.51507013494319, + 4.780106977982882 + ], + [ + 66.12504438920456, + 1.5933504971590082 + ], + [ + 61.344881924715935, + -0.7967307350852479 + ], + [ + 56.56477494673294, + -3.186756480823874 + ], + [ + 51.78466796874994, + -5.5767822265625 + ], + [ + 50.19126198508519, + -5.5767822265625 + ], + [ + 49.39458673650569, + -5.5767822265625 + ], + [ + 49.39458673650569, + -4.780162464488626 + ], + [ + 48.59791148792607, + -4.780162464488626 + ], + [ + 47.801236239346565, + -4.780162464488626 + ], + [ + 47.00456099076706, + -3.983487215909122 + ], + [ + 47.801236239346565, + -1.593350497159122 + ], + [ + 48.59791148792607, + -0.7967307350852479 + ], + [ + 48.59791148792607, + -0.7967307350852479 + ] + ], + "pressures": [ + 0.0322265625, + 0.1181640625, + 0.169921875, + 0.244140625, + 0.30078125, + 0.357421875, + 0.4375, + 0.5556640625, + 0.609375, + 0.642578125, + 0.6640625, + 0.671875, + 0.6865234375, + 0.6904296875, + 0.6923828125, + 0.6865234375, + 0.6806640625, + 0.6552734375, + 0.662109375, + 0.6826171875, + 0.70703125, + 0.70703125, + 0.705078125, + 0.712890625, + 0.71875, + 0.73828125, + 0.740234375, + 0.74609375, + 0.740234375, + 0.732421875, + 0.732421875, + 0.783203125, + 0.79296875, + 0.79296875, + 0.802734375, + 0.787109375, + 0.7587890625, + 0.744140625, + 0.712890625, + 0.5380859375, + 0.5068359375, + 0.4296875, + 0.2890625, + 0.1328125, + 0.03515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 48.59791148792607, + -0.7967307350852479 + ] + }, + { + "id": "qxEDU524G81fM51Clhgne", + "type": "freedraw", + "x": 244.09831416142458, + "y": -89.76034605348275, + "width": 62.93828790838069, + "height": 90.82236550071025, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 888708931, + "version": 416, + "versionNonce": 319208163, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983487215909122, + -3.186756480823874 + ], + [ + -4.780162464488626, + -1.593350497159122 + ], + [ + -6.373512961647748, + 0.7966752485795041 + ], + [ + -7.170188210227252, + 3.186811967329504 + ], + [ + -8.763594193892061, + 7.170243696732996 + ], + [ + -11.153675426136374, + 16.730457652698874 + ], + [ + -12.747025923295439, + 24.697321111505744 + ], + [ + -13.543701171875, + 29.477428089488626 + ], + [ + -14.340376420454561, + 34.25753506747162 + ], + [ + -14.340376420454561, + 38.241022283380744 + ], + [ + 10.356889204545496, + 19.917214133522748 + ], + [ + 7.170132723721565, + 12.747025923295496 + ], + [ + 7.966863458806813, + 12.747025923295496 + ], + [ + 11.950295188210248, + 15.137107155539752 + ], + [ + 23.103915127840878, + 24.697321111505744 + ], + [ + 31.070778586647748, + 33.460859818892004 + ], + [ + 39.037642045454504, + 40.63104802911937 + ], + [ + 44.61447975852275, + 46.2078857421875 + ], + [ + 47.80123623934662, + 50.988048206676126 + ], + [ + 48.597911487926126, + 62.141612659801126 + ], + [ + 44.61447975852275, + 70.90520685369324 + ], + [ + 39.83431729403412, + 78.87212579900574 + ], + [ + 31.867453835227252, + 84.4488525390625 + ], + [ + 19.1204833984375, + 86.8389892578125 + ], + [ + 12.746970436789752, + 87.63560901988637 + ], + [ + 7.966863458806813, + 87.63560901988637 + ], + [ + 4.780106977982939, + 87.63560901988637 + ], + [ + 2.390025745738626, + 87.63560901988637 + ], + [ + 1.593350497159065, + 86.04225852272725 + ], + [ + 1.593350497159065, + 85.245527787642 + ], + [ + 3.186700994318187, + 83.652177290483 + ], + [ + 3.983431729403378, + 82.85555752840912 + ], + [ + 3.983431729403378, + 82.85555752840912 + ] + ], + "pressures": [ + 0.0048828125, + 0.1376953125, + 0.2841796875, + 0.3203125, + 0.3623046875, + 0.43359375, + 0.537109375, + 0.5849609375, + 0.6318359375, + 0.6494140625, + 0.703125, + 0.705078125, + 0.6572265625, + 0.6357421875, + 0.6357421875, + 0.640625, + 0.66796875, + 0.6826171875, + 0.6845703125, + 0.6845703125, + 0.7109375, + 0.72265625, + 0.740234375, + 0.7587890625, + 0.75390625, + 0.744140625, + 0.71484375, + 0.67578125, + 0.591796875, + 0.2841796875, + 0.1669921875, + 0.111328125, + 0.068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.983431729403378, + 82.85555752840912 + ] + }, + { + "id": "yYs01PXgTnxK5GO9WIUA6", + "type": "freedraw", + "x": 240.11482694551546, + "y": -87.37026482123838, + "width": 50.98799272017044, + "height": 80.46547629616475, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2113379437, + "version": 420, + "versionNonce": 302061773, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159065, + 9.560213955965878 + ], + [ + -1.593350497159065, + 17.527132901278378 + ], + [ + 0, + 24.69732111150563 + ], + [ + 3.186756480823874, + 31.070778586647634 + ], + [ + 7.170188210227309, + 35.054210316051126 + ], + [ + 9.560269442471622, + 37.44429154829538 + ], + [ + 12.747025923295496, + 37.44429154829538 + ], + [ + 15.137107155539752, + 37.44429154829538 + ], + [ + 17.527132901278378, + 33.460859818892004 + ], + [ + 19.120538884943244, + 23.900590376420382 + ], + [ + 19.120538884943244, + 16.730457652698874 + ], + [ + 19.120538884943244, + 11.950295188210134 + ], + [ + 19.120538884943244, + 9.560213955965878 + ], + [ + 19.120538884943244, + 8.763594193892004 + ], + [ + 20.713889382102252, + 6.373457475142004 + ], + [ + 22.307295365767118, + 5.5767822265625 + ], + [ + 25.493996360085248, + 6.373457475142004 + ], + [ + 31.867509321732996, + 12.747025923295382 + ], + [ + 36.64761629971588, + 18.323808149857882 + ], + [ + 40.631103515625, + 24.69732111150563 + ], + [ + 44.61453524502838, + 33.460859818892004 + ], + [ + 47.80129172585225, + 43.81780450994313 + ], + [ + 49.394642223011374, + 57.3614501953125 + ], + [ + 49.394642223011374, + 63.734963156960134 + ], + [ + 47.00456099076712, + 67.71839488636363 + ], + [ + 43.021129261363626, + 72.49855735085225 + ], + [ + 35.05426580255687, + 77.27866432883513 + ], + [ + 30.274158824573874, + 79.6687455610795 + ], + [ + 25.493996360085248, + 80.46547629616475 + ], + [ + 22.307295365767118, + 80.46547629616475 + ], + [ + 19.917214133522748, + 79.6687455610795 + ], + [ + 17.527132901278378, + 78.07533957741475 + ], + [ + 15.137107155539752, + 76.48204456676137 + ], + [ + 14.340376420454618, + 75.68525834517038 + ], + [ + 13.543701171875, + 74.88858309659088 + ], + [ + 13.543701171875, + 74.09190784801137 + ], + [ + 13.543701171875, + 74.09190784801137 + ] + ], + "pressures": [ + 0.056640625, + 0.53125, + 0.56640625, + 0.6474609375, + 0.6826171875, + 0.740234375, + 0.794921875, + 0.8134765625, + 0.82421875, + 0.82421875, + 0.82421875, + 0.8134765625, + 0.8134765625, + 0.8173828125, + 0.802734375, + 0.798828125, + 0.802734375, + 0.802734375, + 0.8154296875, + 0.8154296875, + 0.82421875, + 0.8349609375, + 0.8447265625, + 0.83203125, + 0.857421875, + 0.8701171875, + 0.876953125, + 0.880859375, + 0.861328125, + 0.826171875, + 0.791015625, + 0.71875, + 0.5556640625, + 0.3564453125, + 0.30078125, + 0.169921875, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 13.543701171875, + 74.09190784801137 + ] + }, + { + "id": "9wZEiZwTix1hjbLMmoRE4", + "type": "freedraw", + "x": 242.50490817775983, + "y": -93.74377778288613, + "width": 47.00456099076706, + "height": 90.02569025213063, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1227750947, + "version": 423, + "versionNonce": 1557358211, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -3.186756480823874 + ], + [ + -0.796675248579561, + -3.983431729403378 + ], + [ + -0.796675248579561, + -2.39008123224437 + ], + [ + 0.7966752485795041, + 4.780106977982882 + ], + [ + 0.7966752485795041, + 10.356944691051126 + ], + [ + 0.7966752485795041, + 17.527132901278378 + ], + [ + 1.593405983664752, + 24.69732111150563 + ], + [ + 2.390081232244313, + 32.6641845703125 + ], + [ + 4.780106977982939, + 39.83437278053975 + ], + [ + 7.170188210227252, + 47.00461647727275 + ], + [ + 8.763538707386317, + 48.597911487926126 + ], + [ + 11.15361993963063, + 49.39458673650563 + ], + [ + 13.543701171875, + 49.39458673650563 + ], + [ + 18.323808149857882, + 45.41115500710225 + ], + [ + 20.713889382102252, + 40.631048029119256 + ], + [ + 22.307239879261374, + 35.850941051136374 + ], + [ + 22.307239879261374, + 32.6641845703125 + ], + [ + 22.307239879261374, + 29.477428089488626 + ], + [ + 22.307239879261374, + 25.493996360085248 + ], + [ + 22.307239879261374, + 24.69732111150563 + ], + [ + 24.69732111150563, + 27.08740234375 + ], + [ + 28.68075284090901, + 33.460859818892004 + ], + [ + 34.25753506747151, + 41.427723277698874 + ], + [ + 40.631048029119256, + 50.19131747159088 + ], + [ + 44.61447975852275, + 58.95491166548288 + ], + [ + 46.2078857421875, + 70.10847611860788 + ], + [ + 44.61447975852275, + 76.48198908025563 + ], + [ + 40.631048029119256, + 81.26209605823863 + ], + [ + 35.850941051136374, + 84.4488525390625 + ], + [ + 26.290671608664752, + 86.04225852272725 + ], + [ + 19.1204833984375, + 86.04225852272725 + ], + [ + 13.543701171875, + 82.85555752840912 + ], + [ + 9.560269442471565, + 80.46542080965912 + ], + [ + 7.170188210227252, + 78.07533957741475 + ], + [ + 3.983431729403378, + 74.88863858309662 + ], + [ + 3.186756480823817, + 73.29523259943176 + ], + [ + 3.186756480823817, + 72.49855735085225 + ], + [ + 3.186756480823817, + 71.70188210227275 + ], + [ + 3.983431729403378, + 70.90520685369313 + ], + [ + 3.983431729403378, + 70.90520685369313 + ] + ], + "pressures": [ + 0.013671875, + 0.1044921875, + 0.150390625, + 0.2998046875, + 0.388671875, + 0.5439453125, + 0.703125, + 0.80078125, + 0.884765625, + 0.9296875, + 0.96875, + 0.9814453125, + 0.9814453125, + 0.9814453125, + 0.9755859375, + 0.9755859375, + 0.947265625, + 0.927734375, + 0.9111328125, + 0.8955078125, + 0.8916015625, + 0.8955078125, + 0.90234375, + 0.9404296875, + 0.9794921875, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8935546875, + 0.8154296875, + 0.724609375, + 0.5693359375, + 0.373046875, + 0.2353515625, + 0.1552734375, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.983431729403378, + 70.90520685369313 + ] + }, + { + "id": "nFLRopa9prpVPUrw0keAx", + "type": "freedraw", + "x": 238.5214764483564, + "y": -92.150427285727, + "width": 46.20788574218744, + "height": 88.43233975497151, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 54824397, + "version": 409, + "versionNonce": 189373987, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558546, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.966863458806813, + 60.548262162642004 + ], + [ + 19.120483398437443, + 49.394697709517004 + ], + [ + 23.103915127840935, + 42.22445401278401 + ], + [ + 23.900645862926183, + 41.427834250710134 + ], + [ + 24.697321111505687, + 39.83437278053975 + ], + [ + 24.697321111505687, + 39.037697531960134 + ], + [ + 24.697321111505687, + 38.24102228338063 + ], + [ + 27.087346857244313, + 40.631103515625 + ], + [ + 32.66418457031244, + 47.80123623934651 + ], + [ + 39.03769753196019, + 53.37812943892038 + ], + [ + 43.81780450994319, + 59.7515869140625 + ], + [ + 46.20788574218744, + 66.1250443892045 + ], + [ + 45.41115500710231, + 74.091963334517 + ], + [ + 41.42772327769882, + 78.8720703125 + ], + [ + 36.647616299715935, + 82.85550204190338 + ], + [ + 31.070834073153435, + 86.04225852272725 + ], + [ + 25.49399636008519, + 88.43233975497151 + ], + [ + 17.527132901278435, + 88.43233975497151 + ], + [ + 12.746970436789752, + 87.63560901988626 + ], + [ + 8.763538707386374, + 86.83893377130676 + ], + [ + 6.373512961647748, + 85.24563876065338 + ], + [ + 3.983431729403435, + 83.65217729048288 + ], + [ + 2.390081232244313, + 82.05882679332376 + ], + [ + 1.593350497159065, + 79.6687455610795 + ], + [ + 1.593350497159065, + 76.48198908025563 + ], + [ + 1.593350497159065, + 74.88863858309651 + ], + [ + 3.186756480823874, + 74.091963334517 + ], + [ + 3.186756480823874, + 74.091963334517 + ] + ], + "pressures": [ + 0.1787109375, + 1, + 0.9833984375, + 0.9384765625, + 0.9169921875, + 0.8984375, + 0.8916015625, + 0.8896484375, + 0.861328125, + 0.861328125, + 0.884765625, + 0.8916015625, + 0.8935546875, + 0.9111328125, + 0.9345703125, + 0.9580078125, + 0.96875, + 0.953125, + 0.931640625, + 0.8369140625, + 0.7763671875, + 0.71484375, + 0.6240234375, + 0.5263671875, + 0.361328125, + 0.2275390625, + 0.15625, + 0.060546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.186756480823874, + 74.091963334517 + ] + }, + { + "id": "E3v5eAhDNVmNYEIwIa0zH", + "type": "freedraw", + "x": 232.9446387352882, + "y": -91.35369655064187, + "width": 53.37807395241481, + "height": 90.02569025213063, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 120639715, + "version": 424, + "versionNonce": 1581320589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7967307350851343 + ], + [ + -0.796675248579561, + 1.593350497159122 + ], + [ + -2.390025745738626, + 5.5767822265625 + ], + [ + -5.5767822265625, + 14.340376420454618 + ], + [ + -7.966863458806813, + 22.307239879261374 + ], + [ + -7.966863458806813, + 31.070778586647748 + ], + [ + -7.966863458806813, + 39.834372780539866 + ], + [ + -5.5767822265625, + 47.80123623934662 + ], + [ + -1.593350497159065, + 57.3614501953125 + ], + [ + -0.796675248579561, + 59.75153142755687 + ], + [ + 0, + 60.54826216264212 + ], + [ + 2.390081232244313, + 60.54826216264212 + ], + [ + 7.9669189453125, + 58.15818093039775 + ], + [ + 11.950350674715935, + 55.76809969815349 + ], + [ + 15.137107155539752, + 50.987992720170496 + ], + [ + 16.730457652698874, + 47.004505504261374 + ], + [ + 18.32380814985794, + 43.021073774857996 + ], + [ + 19.120538884943187, + 40.631103515625 + ], + [ + 19.917214133522748, + 39.834372780539866 + ], + [ + 20.713889382102252, + 39.03764204545462 + ], + [ + 21.51056463068187, + 38.240966796875 + ], + [ + 23.900645862926126, + 37.444291548295496 + ], + [ + 27.08740234375, + 38.240966796875 + ], + [ + 30.274158824573874, + 42.22439852627849 + ], + [ + 33.46091530539775, + 45.411155007102366 + ], + [ + 36.64767178622162, + 49.394586736505744 + ], + [ + 40.631103515625, + 55.76809969815349 + ], + [ + 43.81780450994313, + 61.34488192471599 + ], + [ + 45.411210493607996, + 68.51512562144887 + ], + [ + 45.411210493607996, + 74.88858309659099 + ], + [ + 43.021129261363626, + 80.46547629616487 + ], + [ + 39.03769753196025, + 83.652177290483 + ], + [ + 35.850941051136374, + 85.24552778764212 + ], + [ + 32.6641845703125, + 86.83887828480113 + ], + [ + 29.47748357599437, + 88.43233975497162 + ], + [ + 24.69732111150563, + 89.2289595170455 + ], + [ + 22.307295365767004, + 89.2289595170455 + ], + [ + 20.713889382102252, + 87.63560901988637 + ], + [ + 19.917214133522748, + 86.04220303622162 + ], + [ + 19.917214133522748, + 84.44890802556824 + ], + [ + 21.51056463068187, + 84.44890802556824 + ], + [ + 22.307295365767004, + 84.44890802556824 + ], + [ + 22.307295365767004, + 84.44890802556824 + ] + ], + "pressures": [ + 0.02734375, + 0.259765625, + 0.419921875, + 0.6025390625, + 0.83203125, + 0.9169921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.9453125, + 0.9404296875, + 0.92578125, + 0.9169921875, + 0.9189453125, + 0.927734375, + 0.9423828125, + 0.9619140625, + 0.9775390625, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.94921875, + 0.716796875, + 0.4892578125, + 0.3076171875, + 0.15234375, + 0.0703125, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.307295365767004, + 84.44890802556824 + ] + }, + { + "id": "In-EKvSLRxZiAy5Ip8eAo", + "type": "freedraw", + "x": 338.1074361429587, + "y": -108.08415420334074, + "width": 49.394642223011374, + "height": 59.75153142755687, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 602001997, + "version": 411, + "versionNonce": 1767367107, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485796178, + 0 + ], + [ + -0.7966752485796178, + 4.780106977982996 + ], + [ + 0.7966752485795041, + 10.35694469105124 + ], + [ + 4.780051491477252, + 15.93372691761374 + ], + [ + 7.966863458806756, + 19.917214133522748 + ], + [ + 10.356889204545382, + 21.5106201171875 + ], + [ + 11.950239701704504, + 21.5106201171875 + ], + [ + 15.933726917613626, + 19.917214133522748 + ], + [ + 18.323752663352252, + 17.527188387784122 + ], + [ + 19.120427911931756, + 15.137051669034122 + ], + [ + 19.917103160511374, + 11.153619939630744 + ], + [ + 19.917103160511374, + 9.560324928977366 + ], + [ + 19.120427911931756, + 7.170188210227366 + ], + [ + 21.510564630681756, + 7.170188210227366 + ], + [ + 26.29061612215901, + 9.560324928977366 + ], + [ + 31.867453835227252, + 14.340376420454618 + ], + [ + 37.44429154829538, + 20.713889382102366 + ], + [ + 44.614479758522634, + 32.6641845703125 + ], + [ + 46.207830255681756, + 40.63104802911937 + ], + [ + 46.207830255681756, + 47.80123623934662 + ], + [ + 44.614479758522634, + 54.17474920099437 + ], + [ + 40.630992542613626, + 58.15818093039775 + ], + [ + 34.25747958096588, + 59.75153142755687 + ], + [ + 21.510564630681756, + 58.15818093039775 + ], + [ + 12.746914950284008, + 54.971424449573874 + ], + [ + 6.373401988636374, + 51.78466796875 + ], + [ + 1.5933504971590082, + 50.19131747159099 + ], + [ + -1.5934614701704959, + 48.59791148792624 + ], + [ + -2.39013671875, + 47.80123623934662 + ], + [ + -3.186811967329618, + 47.80123623934662 + ], + [ + -2.39013671875, + 47.80123623934662 + ], + [ + -2.39013671875, + 47.80123623934662 + ] + ], + "pressures": [ + 0.0166015625, + 0.2216796875, + 0.2890625, + 0.330078125, + 0.396484375, + 0.4736328125, + 0.5791015625, + 0.59375, + 0.615234375, + 0.6357421875, + 0.646484375, + 0.6552734375, + 0.6572265625, + 0.662109375, + 0.67578125, + 0.6953125, + 0.705078125, + 0.70703125, + 0.7109375, + 0.697265625, + 0.6572265625, + 0.6591796875, + 0.6494140625, + 0.6474609375, + 0.642578125, + 0.62890625, + 0.6025390625, + 0.564453125, + 0.5205078125, + 0.4541015625, + 0.4111328125, + 0.0634765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.39013671875, + 47.80123623934662 + ] + }, + { + "id": "FSLqQ9oty_UuisiGMnF1i", + "type": "freedraw", + "x": 327.75043596540183, + "y": -69.0464566713805, + "width": 43.021129261363626, + "height": 66.12504438920462, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1727983213, + "version": 410, + "versionNonce": 1642221549, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + 0 + ], + [ + 0, + 5.5767822265625 + ], + [ + 4.780162464488626, + 11.950295188210248 + ], + [ + 9.560324928977252, + 16.730402166193244 + ], + [ + 13.543701171875, + 19.917158647017118 + ], + [ + 19.120538884943244, + 21.51056463068187 + ], + [ + 23.900590376420496, + 21.51056463068187 + ], + [ + 28.680752840909122, + 19.1204833984375 + ], + [ + 34.25759055397725, + 15.933726917613626 + ], + [ + 38.240966796875, + 11.153619939630744 + ], + [ + 40.631103515625, + 1.593350497159122 + ], + [ + 40.631103515625, + -4.780162464488626 + ], + [ + 39.834428267045496, + -10.356944691051126 + ], + [ + 39.03775301846588, + -15.137051669034008 + ], + [ + 39.03775301846588, + -17.527077414772748 + ], + [ + 38.240966796875, + -16.730457652698874 + ], + [ + 36.64761629971588, + -14.340376420454504 + ], + [ + 32.664240056818244, + -11.950350674715878 + ], + [ + 26.290727095170496, + -7.966863458806756 + ], + [ + 22.307239879261374, + -7.170188210227252 + ], + [ + 18.323863636363626, + -7.966863458806756 + ], + [ + 14.340376420454504, + -11.15361993963063 + ], + [ + 11.950350674715878, + -16.730457652698874 + ], + [ + 11.950350674715878, + -21.510509144176126 + ], + [ + 12.747025923295496, + -26.290671608664752 + ], + [ + 14.340376420454504, + -31.867509321732882 + ], + [ + 16.730402166193244, + -39.83437278053975 + ], + [ + 19.120538884943244, + -43.021129261363626 + ], + [ + 20.713889382102252, + -44.61447975852275 + ], + [ + 21.51056463068187, + -44.61447975852275 + ], + [ + 21.51056463068187, + -44.61447975852275 + ] + ], + "pressures": [ + 0.11328125, + 0.36328125, + 0.4345703125, + 0.474609375, + 0.583984375, + 0.705078125, + 0.7587890625, + 0.783203125, + 0.8095703125, + 0.8408203125, + 0.857421875, + 0.8916015625, + 0.90625, + 0.927734375, + 0.951171875, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.908203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.51056463068187, + -44.61447975852275 + ] + }, + { + "id": "8_zgfewZ1co2Evcf2IC7_", + "type": "freedraw", + "x": 381.12856540432233, + "y": -90.55702130206225, + "width": 4.780162464488626, + "height": 17.527077414772748, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 796178723, + "version": 410, + "versionNonce": 1612493155, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780162464488626, + 13.543645685369256 + ], + [ + -4.780162464488626, + 15.137107155539752 + ], + [ + -3.18670099431813, + 16.73040216619313 + ], + [ + -2.390025745738626, + 17.527077414772748 + ], + [ + -2.390025745738626, + 17.527077414772748 + ] + ], + "pressures": [ + 0.068359375, + 0.55859375, + 0.58203125, + 0.6162109375, + 0.638671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390025745738626, + 17.527077414772748 + ] + }, + { + "id": "vT5yV2E3vuhOFmlKw6yQl", + "type": "freedraw", + "x": 347.6676500989246, + "y": -90.55696581555662, + "width": 33.46091530539775, + "height": 45.41115500710225, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1163603373, + "version": 390, + "versionNonce": 1112263245, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 20.713889382102252, + -11.153675426136374 + ], + [ + 28.680752840909122, + 4.780051491477252 + ], + [ + 24.697265625, + 23.900590376420496 + ], + [ + 21.510564630681756, + 29.477372602982996 + ], + [ + 15.933726917613626, + 33.460804332386374 + ], + [ + 10.356889204545496, + 34.25747958096588 + ], + [ + 3.983376242897748, + 33.460804332386374 + ], + [ + 0, + 30.2740478515625 + ], + [ + -3.983487215909122, + 27.087291370738626 + ], + [ + -4.780162464488626, + 26.290616122159122 + ], + [ + -4.780162464488626, + 25.493940873579618 + ], + [ + -4.780162464488626, + 24.697265625 + ], + [ + -4.780162464488626, + 23.103859641335248 + ], + [ + -3.983487215909122, + 21.510509144176126 + ], + [ + -3.983487215909122, + 21.510509144176126 + ] + ], + "pressures": [ + 0.642578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8681640625, + 0.7568359375, + 0.5595703125, + 0.3427734375, + 0.201171875, + 0.0947265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.983487215909122, + 21.510509144176126 + ] + }, + { + "id": "LC5Jr_dM6Ypf3y3hzcxLP", + "type": "freedraw", + "x": 339.7007866401177, + "y": -102.5073164902725, + "width": 44.614479758522634, + "height": 53.378073952414866, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1133076781, + "version": 414, + "versionNonce": 820415747, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.9834872159090082, + -2.39008123224437 + ], + [ + -3.9834872159090082, + 0 + ], + [ + -3.9834872159090082, + 4.780106977982996 + ], + [ + -3.186811967329504, + 10.356889204545496 + ], + [ + -1.5933504971590082, + 15.137051669034122 + ], + [ + 2.390025745738626, + 22.307239879261374 + ], + [ + 4.780051491477366, + 25.493996360085248 + ], + [ + 7.170188210227366, + 27.087346857244256 + ], + [ + 9.560213955965992, + 27.087346857244256 + ], + [ + 11.950239701704618, + 26.290671608664752 + ], + [ + 15.933726917613626, + 20.713833895596622 + ], + [ + 17.527077414772748, + 15.933782404119256 + ], + [ + 17.527077414772748, + 12.746970436789752 + ], + [ + 17.527077414772748, + 9.560213955965878 + ], + [ + 17.527077414772748, + 8.763538707386374 + ], + [ + 19.12042791193187, + 8.763538707386374 + ], + [ + 20.713889382102366, + 8.763538707386374 + ], + [ + 23.10391512784099, + 10.356889204545496 + ], + [ + 28.680752840909122, + 14.340376420454504 + ], + [ + 32.66412908380687, + 18.323808149857996 + ], + [ + 35.850941051136374, + 23.103915127840878 + ], + [ + 38.240966796875, + 29.477428089488626 + ], + [ + 36.64761629971599, + 39.037642045454504 + ], + [ + 33.460804332386374, + 43.81780450994313 + ], + [ + 28.680752840909122, + 47.004505504261374 + ], + [ + 23.10391512784099, + 49.39458673650563 + ], + [ + 16.730402166193244, + 50.987992720170496 + ], + [ + 6.373512961647748, + 50.19126198508525 + ], + [ + 0.7966752485796178, + 47.80129172585225 + ], + [ + -3.186811967329504, + 45.41115500710225 + ], + [ + -5.57683771306813, + 43.81780450994313 + ], + [ + -6.373512961647634, + 43.81780450994313 + ], + [ + -6.373512961647634, + 43.021073774857996 + ], + [ + -6.373512961647634, + 41.427723277698874 + ], + [ + -5.57683771306813, + 39.83437278053975 + ], + [ + -3.9834872159090082, + 38.240966796875 + ], + [ + -3.186811967329504, + 37.444291548295496 + ], + [ + -2.390025745738626, + 37.444291548295496 + ], + [ + -2.390025745738626, + 37.444291548295496 + ] + ], + "pressures": [ + 0.0234375, + 0.1513671875, + 0.478515625, + 0.5341796875, + 0.6220703125, + 0.71484375, + 0.75390625, + 0.791015625, + 0.828125, + 0.8515625, + 0.8515625, + 0.876953125, + 0.8916015625, + 0.900390625, + 0.90234375, + 0.900390625, + 0.9150390625, + 0.9189453125, + 0.92578125, + 0.94921875, + 0.9619140625, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.951171875, + 0.85546875, + 0.74609375, + 0.7109375, + 0.2587890625, + 0.1591796875, + 0.107421875, + 0.025390625, + 0.013671875, + 0.005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390025745738626, + 37.444291548295496 + ] + }, + { + "id": "CblBMI-ULgF_ZkrPj6b25", + "type": "freedraw", + "x": 336.5139746727882, + "y": -115.254342413568, + "width": 47.80123623934662, + "height": 66.12504438920462, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 876599597, + "version": 412, + "versionNonce": 542570669, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + 5.576837713068244 + ], + [ + -1.593350497159122, + 11.153619939630744 + ], + [ + -1.593350497159122, + 18.323808149857996 + ], + [ + -1.593350497159122, + 23.900645862926126 + ], + [ + 0.7967862215908781, + 30.274103338068244 + ], + [ + 3.186811967329504, + 33.46085981889212 + ], + [ + 6.373512961647748, + 36.64767178622162 + ], + [ + 8.763649680397748, + 37.444291548295496 + ], + [ + 11.153675426136374, + 37.444291548295496 + ], + [ + 13.543701171875, + 35.850941051136374 + ], + [ + 15.933837890625, + 29.477428089488626 + ], + [ + 16.730513139204504, + 25.493996360085248 + ], + [ + 16.730513139204504, + 21.51056463068187 + ], + [ + 15.933837890625, + 15.933726917613626 + ], + [ + 15.137051669034122, + 13.543701171875 + ], + [ + 15.137051669034122, + 11.950295188210248 + ], + [ + 19.12053888494313, + 12.747025923295496 + ], + [ + 25.494051846590878, + 15.137051669034122 + ], + [ + 31.070889559659122, + 18.323808149857996 + ], + [ + 36.64761629971588, + 22.307239879261374 + ], + [ + 42.22445401278412, + 28.680808327414752 + ], + [ + 43.021129261363626, + 34.25753506747162 + ], + [ + 43.021129261363626, + 43.021129261363626 + ], + [ + 41.427778764204504, + 52.58139870383525 + ], + [ + 36.64761629971588, + 59.75153142755687 + ], + [ + 24.697376598011374, + 66.12504438920462 + ], + [ + 14.340376420454504, + 66.12504438920462 + ], + [ + 5.57683771306813, + 62.141612659801126 + ], + [ + -0.7966752485795041, + 58.95485617897725 + ], + [ + -3.983376242897748, + 54.971424449573874 + ], + [ + -4.780106977982996, + 52.58139870383525 + ], + [ + -4.780106977982996, + 50.987992720170496 + ], + [ + -4.780106977982996, + 48.59796697443187 + ], + [ + -3.983376242897748, + 47.00456099076712 + ], + [ + -2.390025745738626, + 45.411210493607996 + ], + [ + -1.593350497159122, + 45.411210493607996 + ], + [ + -1.593350497159122, + 45.411210493607996 + ] + ], + "pressures": [ + 0.0302734375, + 0.314453125, + 0.384765625, + 0.4599609375, + 0.537109375, + 0.6513671875, + 0.6943359375, + 0.71484375, + 0.73046875, + 0.73046875, + 0.728515625, + 0.748046875, + 0.7626953125, + 0.7705078125, + 0.794921875, + 0.8076171875, + 0.8115234375, + 0.8115234375, + 0.8173828125, + 0.8203125, + 0.8466796875, + 0.8935546875, + 0.9384765625, + 0.9619140625, + 0.970703125, + 0.96875, + 0.951171875, + 0.9169921875, + 0.8955078125, + 0.82421875, + 0.740234375, + 0.6943359375, + 0.5283203125, + 0.330078125, + 0.201171875, + 0.0673828125, + 0.03125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593350497159122, + 45.411210493607996 + ] + }, + { + "id": "cnJjYtTzOVzjkJ9fFLNEK", + "type": "freedraw", + "x": 348.4643253475041, + "y": -94.54039754496, + "width": 0.7966752485795041, + "height": 0, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1665938125, + "version": 378, + "versionNonce": 1865675939, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0888671875, + 0.1015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.7966752485795041, + 0 + ] + }, + { + "id": "77kO3CLkDo5xBYhSqVZGT", + "type": "freedraw", + "x": 343.68416288301546, + "y": -100.11729074453388, + "width": 27.08740234375, + "height": 15.137051669034122, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 616163267, + "version": 385, + "versionNonce": 1168988941, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.5934614701704959, + 2.39008123224437 + ], + [ + 4.780162464488626, + 3.186756480823874 + ], + [ + 7.96686345880687, + 5.576893199573874 + ], + [ + 12.747025923295496, + 7.96686345880687 + ], + [ + 17.527188387784122, + 11.15361993963063 + ], + [ + 22.307239879261374, + 13.54375665838063 + ], + [ + 24.697376598011374, + 14.340376420454504 + ], + [ + 25.494051846590878, + 14.340376420454504 + ], + [ + 26.290727095170496, + 14.340376420454504 + ], + [ + 27.08740234375, + 15.137051669034122 + ], + [ + 27.08740234375, + 15.137051669034122 + ] + ], + "pressures": [ + 0.1240234375, + 0.333984375, + 0.349609375, + 0.3525390625, + 0.3544921875, + 0.3642578125, + 0.3994140625, + 0.408203125, + 0.4091796875, + 0.4072265625, + 0.333984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.08740234375, + 15.137051669034122 + ] + }, + { + "id": "KVrEzF-1cDxb_AwXw9uir", + "type": "freedraw", + "x": 291.10281966568596, + "y": -54.70602476442025, + "width": 48.59796697443187, + "height": 50.191206498579504, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 588307661, + "version": 414, + "versionNonce": 984836163, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350852479, + 0 + ], + [ + 4.780162464488626, + 3.186700994318244 + ], + [ + 7.9669189453125, + 6.373401988636374 + ], + [ + 10.356944691051126, + 10.356833718039752 + ], + [ + 11.15361993963063, + 13.543590198863626 + ], + [ + 11.15361993963063, + 16.7303466796875 + ], + [ + 9.560269442471622, + 19.917158647017004 + ], + [ + 7.9669189453125, + 20.713778409090878 + ], + [ + 5.57683771306813, + 21.510509144176126 + ], + [ + 1.593405983664752, + 21.510509144176126 + ], + [ + -3.186700994318244, + 20.713778409090878 + ], + [ + -7.170188210227252, + 19.917158647017004 + ], + [ + -9.560213955965878, + 19.12042791193187 + ], + [ + -11.950295188210248, + 18.323752663352252 + ], + [ + -13.54364568536937, + 18.323752663352252 + ], + [ + -14.340376420454618, + 18.323752663352252 + ], + [ + -15.137051669034122, + 19.12042791193187 + ], + [ + -15.137051669034122, + 22.307184392755744 + ], + [ + -15.137051669034122, + 27.087291370738626 + ], + [ + -11.153619939630744, + 34.25747958096588 + ], + [ + -8.763538707386374, + 39.83431729403412 + ], + [ + -6.373457475142118, + 43.817804509943244 + ], + [ + -1.593350497159122, + 46.207774769176126 + ], + [ + 4.780162464488626, + 47.80123623934662 + ], + [ + 16.730457652698874, + 50.191206498579504 + ], + [ + 22.307239879261374, + 50.191206498579504 + ], + [ + 26.290727095170382, + 49.39453125 + ], + [ + 29.477428089488626, + 47.004505504261374 + ], + [ + 32.6641845703125, + 41.427667791193244 + ], + [ + 33.46091530539775, + 36.64756081321025 + ], + [ + 33.46091530539775, + 31.070723100142004 + ], + [ + 32.6641845703125, + 26.290616122159122 + ], + [ + 31.867509321732882, + 21.510509144176126 + ], + [ + 29.477428089488626, + 16.7303466796875 + ], + [ + 27.08740234375, + 15.136996182528378 + ], + [ + 25.493996360085248, + 14.340320933948874 + ], + [ + 23.103970614346622, + 13.543590198863626 + ], + [ + 21.510564630681756, + 12.746914950284122 + ], + [ + 21.510564630681756, + 13.543590198863626 + ], + [ + 21.510564630681756, + 14.340320933948874 + ], + [ + 21.510564630681756, + 14.340320933948874 + ] + ], + "pressures": [ + 0.0546875, + 0.2880859375, + 0.3681640625, + 0.4169921875, + 0.484375, + 0.5498046875, + 0.625, + 0.6943359375, + 0.748046875, + 0.7744140625, + 0.78515625, + 0.7783203125, + 0.787109375, + 0.794921875, + 0.791015625, + 0.78125, + 0.7724609375, + 0.787109375, + 0.791015625, + 0.8154296875, + 0.90234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.8876953125, + 0.64453125, + 0.41015625, + 0.1591796875, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.510564630681756, + 14.340320933948874 + ] + }, + { + "id": "yBxCj5Zc4UtPNymJTmOX5", + "type": "freedraw", + "x": 334.9206241756292, + "y": -48.3325118027725, + "width": 50.98799272017038, + "height": 73.29523259943176, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1230669379, + "version": 416, + "versionNonce": 960718819, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + 5.576726740056756 + ], + [ + -1.593350497159122, + 7.966863458806756 + ], + [ + 3.9834872159090082, + 12.746914950284008 + ], + [ + 8.763538707386374, + 15.136996182528378 + ], + [ + 15.137051669034008, + 17.527077414772634 + ], + [ + 22.307239879261374, + 17.527077414772634 + ], + [ + 31.07088955965901, + 16.7303466796875 + ], + [ + 36.64761629971588, + 12.746914950284008 + ], + [ + 41.427778764204504, + 9.560158469460134 + ], + [ + 45.41115500710225, + 4.780051491477252 + ], + [ + 47.80129172585225, + 0.796619762073874 + ], + [ + 48.597966974431756, + -5.576893199573874 + ], + [ + 48.597966974431756, + -8.763649680397748 + ], + [ + 48.597966974431756, + -10.35700017755687 + ], + [ + 47.004616477272634, + -10.35700017755687 + ], + [ + 41.427778764204504, + -8.763649680397748 + ], + [ + 35.850941051136374, + -7.170243696732996 + ], + [ + 30.27410333806813, + -6.373568448153492 + ], + [ + 23.900701349431756, + -7.170243696732996 + ], + [ + 18.323863636363626, + -10.35700017755687 + ], + [ + 13.543701171875, + -15.93378240411937 + ], + [ + 12.747025923295382, + -19.120538884943244 + ], + [ + 12.747025923295382, + -21.5106201171875 + ], + [ + 12.747025923295382, + -26.290727095170496 + ], + [ + 13.543701171875, + -32.664240056818244 + ], + [ + 19.12053888494313, + -45.411265980113626 + ], + [ + 23.103915127840878, + -51.78466796875 + ], + [ + 25.494051846590878, + -54.97147993607962 + ], + [ + 27.08740234375, + -55.76815518465912 + ], + [ + 28.68075284090901, + -55.76815518465912 + ], + [ + 30.27410333806813, + -55.76815518465912 + ], + [ + 32.66424005681813, + -54.1748046875 + ], + [ + 34.25759055397725, + -53.378129438920496 + ], + [ + 35.850941051136374, + -53.378129438920496 + ], + [ + 35.850941051136374, + -54.1748046875 + ], + [ + 35.850941051136374, + -54.97147993607962 + ], + [ + 35.054265802556756, + -54.97147993607962 + ], + [ + 34.25759055397725, + -54.97147993607962 + ], + [ + 34.25759055397725, + -54.97147993607962 + ] + ], + "pressures": [ + 0.0908203125, + 0.470703125, + 0.58203125, + 0.728515625, + 0.9296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.923828125, + 0.66796875, + 0.3935546875, + 0.1328125, + 0.0703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.25759055397725, + -54.97147993607962 + ] + }, + { + "id": "ViJ5JFQE8WGibGCM5lhts", + "type": "freedraw", + "x": 334.1239489270496, + "y": -91.35369655064187, + "width": 23.900590376420496, + "height": 23.900645862926126, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1585748717, + "version": 391, + "versionNonce": 2096217037, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983431729403378 + ], + [ + 1.593350497159122, + -5.57683771306813 + ], + [ + 4.780162464488626, + -7.170132723721508 + ], + [ + 10.356889204545496, + -9.560269442471508 + ], + [ + 12.747025923295496, + -11.15361993963063 + ], + [ + 15.137051669034122, + -11.950350674715878 + ], + [ + 16.73040216619313, + -11.950350674715878 + ], + [ + 19.12053888494313, + -11.950350674715878 + ], + [ + 22.307239879261374, + -9.560269442471508 + ], + [ + 23.900590376420496, + -7.9669189453125 + ], + [ + 23.900590376420496, + -4.780162464488626 + ], + [ + 23.900590376420496, + -1.593405983664752 + ], + [ + 21.510564630681756, + 4.780162464488626 + ], + [ + 19.917214133522748, + 7.96686345880687 + ], + [ + 19.12053888494313, + 10.356889204545496 + ], + [ + 18.323863636363626, + 11.950295188210248 + ], + [ + 17.527077414772748, + 11.153619939630744 + ], + [ + 16.73040216619313, + 10.356889204545496 + ], + [ + 16.73040216619313, + 10.356889204545496 + ] + ], + "pressures": [ + 0.08984375, + 0.3193359375, + 0.4677734375, + 0.62890625, + 0.822265625, + 0.9453125, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4111328125, + 0.26953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 16.73040216619313, + 10.356889204545496 + ] + }, + { + "id": "QgRHRYqiJq31KFZeCdvDK", + "type": "freedraw", + "x": 345.27762435318596, + "y": -80.20007661101113, + "width": 43.81780450994313, + "height": 71.70188210227275, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 736938851, + "version": 411, + "versionNonce": 1145223725, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7967307350852479 + ], + [ + -1.5934614701704959, + 1.593405983664752 + ], + [ + -1.5934614701704959, + 4.780106977982882 + ], + [ + -2.39013671875, + 7.966863458806756 + ], + [ + -2.39013671875, + 11.15361993963063 + ], + [ + -2.39013671875, + 13.543701171875 + ], + [ + -0.7967862215908781, + 15.933726917613626 + ], + [ + 0.7966752485795041, + 16.73040216619313 + ], + [ + 3.18670099431813, + 16.73040216619313 + ], + [ + 5.576726740056756, + 16.73040216619313 + ], + [ + 8.763538707386374, + 15.933726917613626 + ], + [ + 11.153564453125, + 15.137051669034122 + ], + [ + 11.950239701704504, + 13.543701171875 + ], + [ + 13.543590198863626, + 12.746970436789752 + ], + [ + 15.933726917613626, + 11.950295188210248 + ], + [ + 19.120427911931756, + 11.15361993963063 + ], + [ + 21.510564630681756, + 11.15361993963063 + ], + [ + 24.697265625, + 11.950295188210248 + ], + [ + 27.88396661931813, + 14.340376420454504 + ], + [ + 31.070778586647748, + 18.323808149857882 + ], + [ + 33.460804332386374, + 21.510564630681756 + ], + [ + 35.850830078125, + 25.494051846590878 + ], + [ + 38.240966796875, + 30.27410333806813 + ], + [ + 39.83431729403412, + 35.054210316051126 + ], + [ + 41.42766779119313, + 41.427778764204504 + ], + [ + 41.42766779119313, + 43.81780450994313 + ], + [ + 41.42766779119313, + 47.004560990767004 + ], + [ + 39.037642045454504, + 51.78466796875 + ], + [ + 33.460804332386374, + 59.751531427556756 + ], + [ + 28.680752840909122, + 63.73496315696025 + ], + [ + 23.103915127840878, + 66.1250443892045 + ], + [ + 17.527077414772748, + 67.71839488636363 + ], + [ + 10.356889204545382, + 69.31185635653412 + ], + [ + 7.170188210227252, + 70.10847611860788 + ], + [ + 4.780051491477252, + 70.9051513671875 + ], + [ + 3.983376242897748, + 70.9051513671875 + ], + [ + 3.18670099431813, + 69.31185635653412 + ], + [ + 3.983376242897748, + 66.92171963778412 + ], + [ + 4.780051491477252, + 66.1250443892045 + ], + [ + 4.780051491477252, + 66.1250443892045 + ] + ], + "pressures": [ + 0.001953125, + 0.1474609375, + 0.3642578125, + 0.46875, + 0.5947265625, + 0.67578125, + 0.7626953125, + 0.861328125, + 0.884765625, + 0.8984375, + 0.90625, + 0.908203125, + 0.9169921875, + 0.927734375, + 0.927734375, + 0.9365234375, + 0.953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.744140625, + 0.19140625, + 0.1357421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.780051491477252, + 66.1250443892045 + ] + }, + { + "id": "UNOaLhkP0786_kJhDJaFl", + "type": "freedraw", + "x": 382.72191590148134, + "y": -19.651869934874753, + "width": 58.15818093039775, + "height": 23.103859641335248, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 321794381, + "version": 400, + "versionNonce": 1235545229, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983376242897748, + -3.186700994318244 + ], + [ + 5.57672674005687, + -7.96686345880687 + ], + [ + 7.170188210227366, + -12.746970436789752 + ], + [ + 7.96686345880687, + -17.52713290127849 + ], + [ + 7.96686345880687, + -19.917158647017118 + ], + [ + 7.96686345880687, + -20.713833895596622 + ], + [ + 5.57672674005687, + -20.713833895596622 + ], + [ + 1.593350497159122, + -20.713833895596622 + ], + [ + -2.39013671875, + -19.12042791193187 + ], + [ + -7.170188210227252, + -16.730402166193244 + ], + [ + -13.543701171875, + -11.950295188210248 + ], + [ + -17.52718838778401, + -8.763538707386374 + ], + [ + -21.510564630681756, + -7.170132723721622 + ], + [ + -26.290727095170382, + -6.373512961647748 + ], + [ + -31.07088955965901, + -5.5767822265625 + ], + [ + -38.24107776988626, + -5.5767822265625 + ], + [ + -42.22445401278401, + -5.5767822265625 + ], + [ + -46.20794122869313, + -7.170132723721622 + ], + [ + -48.597966974431756, + -10.356944691051126 + ], + [ + -50.19131747159088, + -15.136996182528492 + ], + [ + -50.19131747159088, + -16.730402166193244 + ], + [ + -50.19131747159088, + -17.52713290127849 + ], + [ + -50.19131747159088, + -18.323808149857996 + ], + [ + -50.19131747159088, + -19.12042791193187 + ], + [ + -48.597966974431756, + -20.713833895596622 + ], + [ + -47.004616477272634, + -21.51056463068187 + ], + [ + -45.41115500710225, + -22.307239879261374 + ], + [ + -43.81780450994313, + -23.103859641335248 + ], + [ + -43.021129261363626, + -23.103859641335248 + ], + [ + -43.021129261363626, + -23.103859641335248 + ] + ], + "pressures": [ + 0.046875, + 0.669921875, + 0.802734375, + 0.87890625, + 0.9560546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.701171875, + 0.375, + 0.2001953125, + 0.123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -43.021129261363626, + -23.103859641335248 + ] + }, + { + "id": "uATUhWpTBWbkJ4-pCkBut", + "type": "freedraw", + "x": 267.20222928926546, + "y": -152.69863396186344, + "width": 52.58134321732956, + "height": 54.17469371448868, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 808383203, + "version": 391, + "versionNonce": 483513069, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983431729403378, + -2.390081232244313 + ], + [ + 4.780106977982996, + -4.780106977982939 + ], + [ + 4.780106977982996, + -7.170188210227252 + ], + [ + 3.983431729403378, + -8.763594193892004 + ], + [ + 1.593350497159122, + -10.356944691051126 + ], + [ + -2.390081232244256, + -13.543645685369313 + ], + [ + -6.373512961647748, + -15.933726917613626 + ], + [ + -9.560269442471622, + -18.32380814985794 + ], + [ + -16.730457652698817, + -19.1204833984375 + ], + [ + -22.307239879261317, + -18.32380814985794 + ], + [ + -27.08740234375, + -15.137051669034065 + ], + [ + -32.6641845703125, + -10.356944691051126 + ], + [ + -37.44429154829544, + -3.983431729403378 + ], + [ + -43.021129261363626, + 8.763538707386374 + ], + [ + -46.2078857421875, + 16.730402166193187 + ], + [ + -47.004560990767004, + 23.103915127840935 + ], + [ + -47.801236239346565, + 28.680752840909122 + ], + [ + -47.004560990767004, + 32.6641845703125 + ], + [ + -44.61447975852269, + 34.25759055397731 + ], + [ + -42.224454012784065, + 35.05421031605118 + ], + [ + -39.83437278053975, + 35.05421031605118 + ], + [ + -39.03769753196019, + 35.05421031605118 + ], + [ + -39.03769753196019, + 35.05421031605118 + ] + ], + "pressures": [ + 0.017578125, + 0.1328125, + 0.1640625, + 0.236328125, + 0.4208984375, + 0.69921875, + 0.9423828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9345703125, + 0.6181640625, + 0.3671875, + 0.2275390625, + 0.1572265625, + 0.1025390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -39.03769753196019, + 35.05421031605118 + ] + }, + { + "id": "7Ip1-E9pS9K23gSi3sUL1", + "type": "freedraw", + "x": 322.97032898741884, + "y": -115.254342413568, + "width": 3.186756480823874, + "height": 35.05421031605118, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2113054339, + "version": 374, + "versionNonce": 807067235, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -3.983431729403378 + ], + [ + -0.7966752485795041, + -4.780106977982939 + ], + [ + 0, + -0.7966752485795041 + ], + [ + 0.7966752485796178, + 3.9834317294034918 + ], + [ + 1.5934059836648657, + 7.96686345880687 + ], + [ + 2.39008123224437, + 12.747025923295496 + ], + [ + 2.39008123224437, + 18.323808149857996 + ], + [ + 1.5934059836648657, + 27.08740234375 + ], + [ + 0.7966752485796178, + 29.477428089488626 + ], + [ + 0, + 30.274103338068244 + ], + [ + 0, + 30.274103338068244 + ] + ], + "pressures": [ + 0.0419921875, + 0.2802734375, + 0.322265625, + 0.904296875, + 0.9384765625, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 30.274103338068244 + ] + }, + { + "id": "4dO130XFc42dAOEorcFWE", + "type": "freedraw", + "x": 325.3604102196632, + "y": -114.45761167848275, + "width": 5.5767822265625, + "height": 30.27410333806813, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 953573005, + "version": 376, + "versionNonce": 441642317, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -1.593405983664752 + ], + [ + 0, + 0.7966752485795041 + ], + [ + 0.7966752485795041, + 4.780106977982996 + ], + [ + 1.593350497159122, + 9.560213955965878 + ], + [ + 1.593350497159122, + 14.340320933948874 + ], + [ + 1.593350497159122, + 17.527077414772748 + ], + [ + 0.7966752485795041, + 20.713833895596622 + ], + [ + -0.7966752485795041, + 23.103915127840878 + ], + [ + -2.39008123224437, + 25.493940873579504 + ], + [ + -3.983431729403378, + 27.08734685724437 + ], + [ + -3.983431729403378, + 28.680697354403378 + ], + [ + -3.186756480823874, + 28.680697354403378 + ], + [ + -3.186756480823874, + 28.680697354403378 + ] + ], + "pressures": [ + 0.0400390625, + 0.2724609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.26171875, + 0.1728515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.186756480823874, + 28.680697354403378 + ] + }, + { + "id": "Gc85Lfazxz6nSOh2Z8YZ2", + "type": "freedraw", + "x": 327.75043596540183, + "y": -114.45761167848275, + "width": 6.373512961647748, + "height": 31.867509321732996, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1166131971, + "version": 377, + "versionNonce": 446110211, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.593350497159122 + ], + [ + 0.7967307350852479, + 5.5767822265625 + ], + [ + 0.7967307350852479, + 11.153564453125 + ], + [ + 0.7967307350852479, + 15.93378240411937 + ], + [ + 0.7967307350852479, + 23.900645862926126 + ], + [ + 0, + 27.08734685724437 + ], + [ + -0.7966752485795041, + 28.680697354403378 + ], + [ + -1.593350497159122, + 30.274103338068244 + ], + [ + -2.390025745738626, + 30.274103338068244 + ], + [ + -3.983431729403378, + 31.070778586647748 + ], + [ + -4.780106977982996, + 31.867509321732996 + ], + [ + -5.5767822265625, + 31.867509321732996 + ], + [ + -4.780106977982996, + 31.867509321732996 + ], + [ + -4.780106977982996, + 31.867509321732996 + ] + ], + "pressures": [ + 0.0810546875, + 0.8984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1455078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.780106977982996, + 31.867509321732996 + ] + }, + { + "id": "uyhzy4IX6HqYYGEGx-mJv", + "type": "freedraw", + "x": 324.5637349710837, + "y": -116.0510176621475, + "width": 5.5767822265625, + "height": 30.27415882457376, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 799717603, + "version": 379, + "versionNonce": 1367456685, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7966752485795041 + ], + [ + 0.7966752485795041, + 0.7966752485795041 + ], + [ + 2.390025745738626, + 4.780106977982996 + ], + [ + 3.18670099431813, + 9.560269442471622 + ], + [ + 3.18670099431813, + 14.340376420454504 + ], + [ + 3.18670099431813, + 18.323808149857996 + ], + [ + 2.390025745738626, + 21.5106201171875 + ], + [ + 0.7966752485795041, + 23.103915127840878 + ], + [ + -0.7967307350852479, + 24.69732111150563 + ], + [ + -1.5934059836648657, + 25.494051846590878 + ], + [ + -2.39008123224437, + 25.494051846590878 + ], + [ + -2.39008123224437, + 26.290671608664752 + ], + [ + -2.39008123224437, + 27.884077592329504 + ], + [ + -2.39008123224437, + 29.477483575994256 + ], + [ + -1.5934059836648657, + 29.477483575994256 + ], + [ + -1.5934059836648657, + 29.477483575994256 + ] + ], + "pressures": [ + 0.056640625, + 0.26171875, + 0.791015625, + 0.9794921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.908203125, + 0.5185546875, + 0.20703125, + 0.1611328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.5934059836648657, + 29.477483575994256 + ] + }, + { + "id": "KP2m-mhXGvQJwGx1gxbNf", + "type": "freedraw", + "x": 240.9115576806007, + "y": -185.36281853217594, + "width": 74.09190784801137, + "height": 71.70182661576706, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1276622893, + "version": 398, + "versionNonce": 1296753059, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -4.780106977982939 + ], + [ + -5.576837713068187, + -7.966863458806813 + ], + [ + -11.153619939630687, + -9.560269442471565 + ], + [ + -15.933782404119313, + -11.153619939630687 + ], + [ + -23.103970614346565, + -11.153619939630687 + ], + [ + -27.08740234375, + -11.153619939630687 + ], + [ + -31.070834073153378, + -11.153619939630687 + ], + [ + -33.46085981889206, + -11.153619939630687 + ], + [ + -36.64761629971588, + -10.356944691051126 + ], + [ + -39.03769753196025, + -7.170188210227252 + ], + [ + -39.03769753196025, + -1.593350497159065 + ], + [ + -39.03769753196025, + 5.5767822265625 + ], + [ + -37.444347034801126, + 12.746970436789809 + ], + [ + -33.46085981889206, + 24.697321111505687 + ], + [ + -31.070834073153378, + 32.6641845703125 + ], + [ + -30.274103338068187, + 39.03769753196025 + ], + [ + -29.477428089488626, + 44.61447975852275 + ], + [ + -30.274103338068187, + 49.39458673650569 + ], + [ + -35.850941051136374, + 54.97147993607956 + ], + [ + -41.42777876420456, + 58.954911665482996 + ], + [ + -47.00456099076706, + 60.548206676136374 + ], + [ + -53.37807395241475, + 60.548206676136374 + ], + [ + -61.344937411221565, + 58.15818093039775 + ], + [ + -65.328369140625, + 55.768099698153435 + ], + [ + -68.51512562144887, + 54.97147993607956 + ], + [ + -70.10847611860794, + 53.37807395241481 + ], + [ + -72.49855735085225, + 50.98804820667618 + ], + [ + -73.29523259943181, + 47.00461647727275 + ], + [ + -74.09190784801137, + 43.81780450994319 + ], + [ + -74.09190784801137, + 41.427723277698874 + ], + [ + -73.29523259943181, + 39.83437278053981 + ], + [ + -72.49855735085225, + 39.03769753196025 + ], + [ + -71.70188210227275, + 39.03769753196025 + ], + [ + -71.70188210227275, + 39.83437278053981 + ], + [ + -70.90520685369319, + 39.83437278053981 + ], + [ + -70.90520685369319, + 39.83437278053981 + ] + ], + "pressures": [ + 0.0966796875, + 0.822265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.787109375, + 0.2822265625, + 0.2119140625, + 0.142578125, + 0.0732421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -70.90520685369319, + 39.83437278053981 + ] + }, + { + "id": "67s6B6ALk4dYqbNvyKJ9J", + "type": "freedraw", + "x": 201.87386014864046, + "y": -130.39133859609638, + "width": 36.64761629971588, + "height": 68.51518110795456, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 702832131, + "version": 384, + "versionNonce": 1902425411, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.57683771306813, + -1.593405983664752 + ], + [ + -7.170132723721565, + -4.780162464488626 + ], + [ + -8.763538707386317, + -9.560324928977252 + ], + [ + -8.763538707386317, + -14.340431906960248 + ], + [ + -8.763538707386317, + -19.120538884943187 + ], + [ + -7.170132723721565, + -23.900645862926126 + ], + [ + -7.170132723721565, + -26.29072709517044 + ], + [ + -6.373512961647691, + -29.477483575994313 + ], + [ + -6.373512961647691, + -31.86750932173294 + ], + [ + -6.373512961647691, + -32.66424005681819 + ], + [ + -7.170132723721565, + -32.66424005681819 + ], + [ + -9.560269442471565, + -32.66424005681819 + ], + [ + -14.340376420454504, + -31.86750932173294 + ], + [ + -19.917158647017004, + -28.680808327414752 + ], + [ + -27.087346857244313, + -21.5106201171875 + ], + [ + -30.27410333806813, + -15.933782404119313 + ], + [ + -33.460859818892004, + -7.966863458806813 + ], + [ + -35.054210316051126, + 1.593295010653435 + ], + [ + -36.64761629971588, + 20.713833895596622 + ], + [ + -35.054210316051126, + 30.2740478515625 + ], + [ + -31.86750932173294, + 34.25747958096588 + ], + [ + -27.884077592329504, + 35.850941051136374 + ], + [ + -23.900645862926126, + 35.850941051136374 + ], + [ + -19.917158647017004, + 35.850941051136374 + ], + [ + -18.32380814985794, + 34.25747958096588 + ], + [ + -18.32380814985794, + 33.460804332386374 + ], + [ + -18.32380814985794, + 33.460804332386374 + ] + ], + "pressures": [ + 0.029296875, + 0.3212890625, + 0.3671875, + 0.439453125, + 0.5166015625, + 0.56640625, + 0.599609375, + 0.599609375, + 0.6015625, + 0.6044921875, + 0.615234375, + 0.673828125, + 0.71875, + 0.787109375, + 0.849609375, + 0.908203125, + 0.9453125, + 0.9580078125, + 0.9599609375, + 0.923828125, + 0.8935546875, + 0.8203125, + 0.5791015625, + 0.375, + 0.216796875, + 0.1416015625, + 0.01171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -18.32380814985794, + 33.460804332386374 + ] + }, + { + "id": "Z-rEOdrH07BE-2-7gEjEb", + "type": "freedraw", + "x": 197.89042841923708, + "y": -138.3582020549032, + "width": 30.274103338068187, + "height": 58.15818093039775, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1898279213, + "version": 387, + "versionNonce": 1281258605, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.966863458806813, + -5.576893199573874 + ], + [ + -7.966863458806813, + -10.357000177556813 + ], + [ + -7.966863458806813, + -11.950350674715935 + ], + [ + -7.170132723721622, + -14.340431906960248 + ], + [ + -6.373512961647748, + -16.73051313920456 + ], + [ + -5.576837713068187, + -18.323863636363626 + ], + [ + -4.780106977982939, + -20.71394486860794 + ], + [ + -3.983431729403435, + -22.30729536576706 + ], + [ + -3.186700994318187, + -23.104026100852252 + ], + [ + -3.186700994318187, + -23.900645862926126 + ], + [ + -4.780106977982939, + -25.494051846590935 + ], + [ + -7.966863458806813, + -26.29072709517044 + ], + [ + -11.153564453125, + -27.087457830255687 + ], + [ + -15.136996182528435, + -27.087457830255687 + ], + [ + -21.510564630681813, + -24.697376598011374 + ], + [ + -24.697321111505687, + -20.71394486860794 + ], + [ + -27.88407759232956, + -15.933782404119313 + ], + [ + -29.477428089488626, + -7.9669189453125 + ], + [ + -30.274103338068187, + 3.983431729403435 + ], + [ + -30.274103338068187, + 20.713778409090935 + ], + [ + -30.274103338068187, + 26.290616122159065 + ], + [ + -29.477428089488626, + 29.47737260298294 + ], + [ + -28.680752840909122, + 30.274047851562443 + ], + [ + -26.290671608664752, + 31.07072310014206 + ], + [ + -24.697321111505687, + 31.07072310014206 + ], + [ + -23.900645862926126, + 31.07072310014206 + ], + [ + -21.510564630681813, + 30.274047851562443 + ], + [ + -19.917214133522748, + 29.47737260298294 + ], + [ + -19.917214133522748, + 28.680697354403435 + ], + [ + -19.917214133522748, + 28.680697354403435 + ] + ], + "pressures": [ + 0.05859375, + 0.7685546875, + 0.7685546875, + 0.7763671875, + 0.7763671875, + 0.7724609375, + 0.7724609375, + 0.7607421875, + 0.7607421875, + 0.751953125, + 0.75390625, + 0.8427734375, + 0.8896484375, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96875, + 0.9345703125, + 0.8984375, + 0.8642578125, + 0.5712890625, + 0.380859375, + 0.2978515625, + 0.1787109375, + 0.107421875, + 0.0595703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -19.917214133522748, + 28.680697354403435 + ] + }, + { + "id": "EFLk7yvtxObxSc2-6YPuD", + "type": "freedraw", + "x": 196.29702243557233, + "y": -138.3582020549032, + "width": 43.81780450994319, + "height": 66.92171963778412, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 478700397, + "version": 391, + "versionNonce": 105059555, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350851911, + 0 + ], + [ + 0.7967307350851911, + 0.796619762073874 + ], + [ + 0.7967307350851911, + 1.593295010653435 + ], + [ + -0.796675248579561, + 1.593295010653435 + ], + [ + -1.593295010653435, + 2.389970259232939 + ], + [ + -4.780106977982996, + 1.593295010653435 + ], + [ + -7.170132723721622, + 0 + ], + [ + -8.763538707386374, + -1.593461470170439 + ], + [ + -9.560158469460248, + -3.186811967329561 + ], + [ + -9.560158469460248, + -6.373568448153435 + ], + [ + -9.560158469460248, + -11.950350674715935 + ], + [ + -9.560158469460248, + -15.137107155539752 + ], + [ + -8.763538707386374, + -18.323863636363626 + ], + [ + -7.96686345880687, + -19.917214133522748 + ], + [ + -7.96686345880687, + -21.5106201171875 + ], + [ + -7.96686345880687, + -23.900645862926126 + ], + [ + -7.96686345880687, + -26.29072709517044 + ], + [ + -9.560158469460248, + -28.680808327414752 + ], + [ + -11.950295188210248, + -31.070889559659065 + ], + [ + -15.137051669034122, + -32.66424005681819 + ], + [ + -22.307239879261374, + -32.66424005681819 + ], + [ + -27.884022105823874, + -29.477483575994313 + ], + [ + -32.66412908380687, + -23.900645862926126 + ], + [ + -38.240966796875, + -8.763649680397748 + ], + [ + -40.63104802911937, + 3.186700994318187 + ], + [ + -42.224398526278435, + 13.543590198863626 + ], + [ + -43.021073774857996, + 20.713778409090935 + ], + [ + -41.42766779119319, + 27.087291370738683 + ], + [ + -36.647616299715935, + 31.86745383522731 + ], + [ + -32.66412908380687, + 33.46080433238632 + ], + [ + -29.477372602982996, + 34.257479580965935 + ], + [ + -25.49394087357956, + 34.257479580965935 + ], + [ + -23.900590376420496, + 34.257479580965935 + ], + [ + -23.900590376420496, + 34.257479580965935 + ] + ], + "pressures": [ + 0.060546875, + 0.1015625, + 0.3056640625, + 0.3837890625, + 0.4130859375, + 0.4765625, + 0.5400390625, + 0.6474609375, + 0.7724609375, + 0.8056640625, + 0.8115234375, + 0.826171875, + 0.828125, + 0.826171875, + 0.826171875, + 0.8349609375, + 0.8349609375, + 0.8466796875, + 0.8681640625, + 0.8955078125, + 0.923828125, + 0.94921875, + 0.9580078125, + 0.9560546875, + 0.9296875, + 0.8720703125, + 0.83203125, + 0.8203125, + 0.7763671875, + 0.515625, + 0.3759765625, + 0.2744140625, + 0.203125, + 0.1669921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.900590376420496, + 34.257479580965935 + ] + }, + { + "id": "3Mtca4nUNikrXu89PPJ3r", + "type": "freedraw", + "x": 196.29702243557233, + "y": -137.5615822928293, + "width": 40.63104802911937, + "height": 62.938343394886374, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 366009965, + "version": 387, + "versionNonce": 1120886477, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593295010653435, + 0 + ], + [ + -3.186700994318187, + 0 + ], + [ + -4.780106977982996, + 0 + ], + [ + -7.96686345880687, + -0.796619762073874 + ], + [ + -9.560158469460248, + -2.390081232244313 + ], + [ + -11.153619939630687, + -4.780051491477309 + ], + [ + -11.950295188210248, + -6.373512961647748 + ], + [ + -11.950295188210248, + -10.356944691051126 + ], + [ + -10.356889204545496, + -14.340376420454561 + ], + [ + -7.96686345880687, + -19.1204833984375 + ], + [ + -6.373457475142061, + -23.900645862926126 + ], + [ + -5.57672674005687, + -27.087346857244313 + ], + [ + -5.57672674005687, + -27.88407759232956 + ], + [ + -7.170132723721622, + -27.88407759232956 + ], + [ + -10.356889204545496, + -27.88407759232956 + ], + [ + -19.1204833984375, + -24.697265625 + ], + [ + -25.49394087357956, + -21.510564630681813 + ], + [ + -30.274103338068187, + -18.32380814985794 + ], + [ + -34.25753506747162, + -13.543701171875 + ], + [ + -38.240966796875, + 1.593350497159065 + ], + [ + -39.83431729403412, + 13.543701171875 + ], + [ + -40.63104802911937, + 23.103970614346565 + ], + [ + -39.83431729403412, + 29.47742808948857 + ], + [ + -36.647616299715935, + 33.46085981889206 + ], + [ + -30.274103338068187, + 35.05426580255681 + ], + [ + -26.29067160866481, + 35.05426580255681 + ], + [ + -22.307239879261374, + 35.05426580255681 + ], + [ + -19.1204833984375, + 34.257535067471565 + ], + [ + -19.1204833984375, + 33.46085981889206 + ], + [ + -19.1204833984375, + 33.46085981889206 + ] + ], + "pressures": [ + 0.0322265625, + 0.3564453125, + 0.453125, + 0.55078125, + 0.6064453125, + 0.6201171875, + 0.6318359375, + 0.66796875, + 0.6953125, + 0.705078125, + 0.705078125, + 0.6923828125, + 0.677734375, + 0.6640625, + 0.7607421875, + 0.8369140625, + 0.908203125, + 0.9296875, + 0.9453125, + 0.951171875, + 0.94921875, + 0.931640625, + 0.904296875, + 0.8740234375, + 0.7744140625, + 0.4658203125, + 0.3359375, + 0.2509765625, + 0.1728515625, + 0.0810546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -19.1204833984375, + 33.46085981889206 + ] + }, + { + "id": "ZuJLcvr_qwIXMv-TFXC1-", + "type": "freedraw", + "x": 197.89042841923708, + "y": -136.76490704424975, + "width": 47.80123623934662, + "height": 77.27871981534088, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 375316653, + "version": 391, + "versionNonce": 460619907, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795041 + ], + [ + -1.593405983664752, + 1.593405983664752 + ], + [ + -3.983431729403435, + 1.593405983664752 + ], + [ + -6.373512961647748, + 1.593405983664752 + ], + [ + -7.966863458806813, + 1.593405983664752 + ], + [ + -9.560269442471622, + 0.7966752485795041 + ], + [ + -12.747025923295439, + -3.186756480823874 + ], + [ + -13.543701171875, + -7.170188210227309 + ], + [ + -13.543701171875, + -10.356944691051183 + ], + [ + -11.950295188210248, + -12.746970436789809 + ], + [ + -10.356944691051126, + -14.340376420454561 + ], + [ + -8.763538707386374, + -15.933726917613683 + ], + [ + -7.966863458806813, + -17.527077414772748 + ], + [ + -7.966863458806813, + -19.1204833984375 + ], + [ + -7.966863458806813, + -20.713833895596622 + ], + [ + -8.763538707386374, + -23.900590376420496 + ], + [ + -11.153564453125, + -25.49394087357956 + ], + [ + -15.136996182528435, + -27.08734685724437 + ], + [ + -20.713889382102252, + -26.29067160866481 + ], + [ + -32.6641845703125, + -17.527077414772748 + ], + [ + -40.63104802911931, + -11.153619939630687 + ], + [ + -45.41121049360794, + -4.780106977982996 + ], + [ + -47.004505504261374, + 3.983431729403378 + ], + [ + -47.80123623934662, + 14.340431906960191 + ], + [ + -47.004505504261374, + 27.884077592329504 + ], + [ + -44.61447975852275, + 34.25759055397725 + ], + [ + -39.83437278053975, + 39.83437278053975 + ], + [ + -29.477428089488626, + 47.004560990767004 + ], + [ + -22.307239879261374, + 49.394642223011374 + ], + [ + -16.730457652698874, + 50.19137295809651 + ], + [ + -12.747025923295439, + 50.19137295809651 + ], + [ + -10.356944691051126, + 49.394642223011374 + ], + [ + -9.560269442471622, + 48.597966974431756 + ], + [ + -9.560269442471622, + 48.597966974431756 + ] + ], + "pressures": [ + 0.0751953125, + 0.279296875, + 0.3564453125, + 0.4765625, + 0.583984375, + 0.6884765625, + 0.716796875, + 0.73828125, + 0.8203125, + 0.884765625, + 0.9130859375, + 0.9169921875, + 0.9169921875, + 0.9169921875, + 0.927734375, + 0.953125, + 0.9775390625, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.9404296875, + 0.70703125, + 0.447265625, + 0.2958984375, + 0.2431640625, + 0.1767578125, + 0.1494140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -9.560269442471622, + 48.597966974431756 + ] + }, + { + "id": "CBNVFVQjQEUS6XGYhCvwy", + "type": "freedraw", + "x": 264.8121480570212, + "y": -167.8356856308975, + "width": 37.444291548295496, + "height": 42.22439852627838, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2133893549, + "version": 370, + "versionNonce": 1253537827, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485796178, + -5.576837713068187 + ], + [ + -3.186756480823874, + -7.170188210227252 + ], + [ + -6.373512961647748, + -7.966863458806813 + ], + [ + -11.153619939630744, + -7.966863458806813 + ], + [ + -16.730402166193244, + -7.170188210227252 + ], + [ + -25.493996360085248, + -3.186756480823874 + ], + [ + -31.070778586647748, + 0.796675248579561 + ], + [ + -35.05421031605118, + 7.170188210227252 + ], + [ + -37.444291548295496, + 15.137051669034065 + ], + [ + -37.444291548295496, + 23.103915127840878 + ], + [ + -37.444291548295496, + 31.070778586647748 + ], + [ + -36.647616299715935, + 33.46091530539775 + ], + [ + -36.647616299715935, + 34.257535067471565 + ], + [ + -35.850941051136374, + 34.257535067471565 + ], + [ + -34.25753506747162, + 34.257535067471565 + ], + [ + -34.25753506747162, + 34.257535067471565 + ] + ], + "pressures": [ + 0.0703125, + 0.2822265625, + 0.4111328125, + 0.611328125, + 0.8466796875, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 0.921875, + 0.70703125, + 0.44921875, + 0.2197265625, + 0.1220703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -34.25753506747162, + 34.257535067471565 + ] + }, + { + "id": "gV5QKNGcQL9o22LG8WXCJ", + "type": "freedraw", + "x": 220.99434354707796, + "y": -190.93965624524412, + "width": 26.29067160866481, + "height": 7.9669189453125, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 875582061, + "version": 370, + "versionNonce": 2025181069, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.796675248579561, + 0 + ], + [ + 2.39008123224437, + 0 + ], + [ + 5.576837713068187, + 0 + ], + [ + 8.763594193892061, + 0 + ], + [ + 11.950295188210248, + 0 + ], + [ + 14.340376420454561, + 0.7967307350852479 + ], + [ + 15.93378240411937, + 1.593405983664809 + ], + [ + 18.323808149857996, + 1.593405983664809 + ], + [ + 22.307239879261374, + 3.983487215909122 + ], + [ + 24.697321111505687, + 5.576837713068187 + ], + [ + 26.29067160866481, + 7.170188210227309 + ], + [ + 26.29067160866481, + 7.9669189453125 + ], + [ + 26.29067160866481, + 7.170188210227309 + ], + [ + 25.493996360085248, + 6.373512961647748 + ], + [ + 24.697321111505687, + 6.373512961647748 + ], + [ + 24.697321111505687, + 6.373512961647748 + ] + ], + "pressures": [ + 0.0654296875, + 0.4853515625, + 0.630859375, + 0.708984375, + 0.751953125, + 0.8115234375, + 0.859375, + 0.8740234375, + 0.87890625, + 0.857421875, + 0.72265625, + 0.5234375, + 0.458984375, + 0.18359375, + 0.0908203125, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 24.697321111505687, + 6.373512961647748 + ] + }, + { + "id": "Kd7E1bOjkB0VRx7avV8sW", + "type": "freedraw", + "x": 223.38442477932233, + "y": -196.51643847180662, + "width": 22.307239879261374, + "height": 5.576837713068187, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 814535469, + "version": 367, + "versionNonce": 1912241091, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.39008123224437, + -0.7966752485795041 + ], + [ + -1.593405983664809, + -0.7966752485795041 + ], + [ + 0, + -1.593405983664752 + ], + [ + 1.593350497159065, + -1.593405983664752 + ], + [ + 4.780106977982939, + -1.593405983664752 + ], + [ + 7.966863458806813, + -0.7966752485795041 + ], + [ + 10.356944691051126, + 0 + ], + [ + 13.543701171875, + 0.796675248579561 + ], + [ + 17.527132901278378, + 2.39008123224437 + ], + [ + 19.1204833984375, + 3.186756480823874 + ], + [ + 19.917158647017004, + 3.983431729403435 + ], + [ + 18.32380814985794, + 3.186756480823874 + ], + [ + 18.32380814985794, + 3.186756480823874 + ] + ], + "pressures": [ + 0.078125, + 0.412109375, + 0.599609375, + 0.6787109375, + 0.7646484375, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2607421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 18.32380814985794, + 3.186756480823874 + ] + }, + { + "id": "Aue6XpASELqpkvCa6jU9R", + "type": "freedraw", + "x": 267.20222928926546, + "y": -166.24227964723275, + "width": 25.49399636008519, + "height": 32.6641845703125, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1615040045, + "version": 371, + "versionNonce": 761006947, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.186811967329504 + ], + [ + -0.7966752485795041, + -4.780162464488626 + ], + [ + -3.186756480823874, + -4.780162464488626 + ], + [ + -5.57683771306813, + -5.576837713068187 + ], + [ + -8.763594193892004, + -4.780162464488626 + ], + [ + -15.137051669034065, + 0 + ], + [ + -19.1204833984375, + 5.5767822265625 + ], + [ + -22.307239879261317, + 10.356889204545496 + ], + [ + -23.900645862926126, + 15.136996182528435 + ], + [ + -24.69732111150563, + 18.32375266335231 + ], + [ + -25.49399636008519, + 21.510509144176126 + ], + [ + -25.49399636008519, + 23.900645862926126 + ], + [ + -25.49399636008519, + 25.49394087357956 + ], + [ + -24.69732111150563, + 26.290616122159122 + ], + [ + -24.69732111150563, + 27.087346857244313 + ], + [ + -23.900645862926126, + 27.087346857244313 + ], + [ + -23.103915127840878, + 27.087346857244313 + ], + [ + -23.103915127840878, + 27.087346857244313 + ] + ], + "pressures": [ + 0.015625, + 0.1640625, + 0.2626953125, + 0.3427734375, + 0.4462890625, + 0.5712890625, + 0.73828125, + 0.8173828125, + 0.8466796875, + 0.8642578125, + 0.8681640625, + 0.8701171875, + 0.8662109375, + 0.783203125, + 0.4462890625, + 0.3447265625, + 0.140625, + 0.037109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.103915127840878, + 27.087346857244313 + ] + }, + { + "id": "gWGQbXI9ibVtBpl6VK8DD", + "type": "freedraw", + "x": 274.3724174994927, + "y": -191.73633149382363, + "width": 53.37807395241475, + "height": 50.191317471590935, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 929023597, + "version": 377, + "versionNonce": 288007939, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + 0.7966752485795041 + ], + [ + -1.593405983664752, + -0.796675248579561 + ], + [ + -0.7966752485795041, + -3.186756480823874 + ], + [ + 1.593350497159122, + -6.373512961647748 + ], + [ + 3.9834317294034918, + -7.170188210227309 + ], + [ + 7.96686345880687, + -8.763538707386374 + ], + [ + 12.746970436789866, + -10.356944691051126 + ], + [ + 23.10391512784099, + -12.746970436789809 + ], + [ + 28.680752840909122, + -12.746970436789809 + ], + [ + 33.46085981889212, + -11.950295188210248 + ], + [ + 37.444291548295496, + -8.763538707386374 + ], + [ + 41.427723277698874, + -4.780106977982996 + ], + [ + 46.20783025568187, + 0.7966752485795041 + ], + [ + 48.597911487926126, + 5.576837713068187 + ], + [ + 50.987992720170496, + 11.153619939630687 + ], + [ + 51.78466796875, + 16.730457652698874 + ], + [ + 51.78466796875, + 23.900645862926126 + ], + [ + 50.987992720170496, + 26.290671608664752 + ], + [ + 50.19131747159099, + 28.680752840909065 + ], + [ + 50.19131747159099, + 31.070834073153378 + ], + [ + 49.394586736505744, + 33.46091530539769 + ], + [ + 49.394586736505744, + 36.64761629971588 + ], + [ + 49.394586736505744, + 37.444347034801126 + ], + [ + 50.19131747159099, + 37.444347034801126 + ], + [ + 50.19131747159099, + 37.444347034801126 + ] + ], + "pressures": [ + 0.041015625, + 0.2744140625, + 0.2900390625, + 0.37109375, + 0.59375, + 0.7783203125, + 0.9921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.904296875, + 0.734375, + 0.4169921875, + 0.3310546875, + 0.1015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 50.19131747159099, + 37.444347034801126 + ] + }, + { + "id": "fas3fxJ_FkPxpHid0cuwJ", + "type": "freedraw", + "x": 206.65391164011777, + "y": -333.54655099843916, + "width": 98.789228959517, + "height": 140.21695223721588, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1721365165, + "version": 384, + "versionNonce": 602197667, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186756480823874, + 5.576809969815372 + ], + [ + 0.796675248579561, + 4.780134721235811 + ], + [ + -3.983431729403378, + 3.186784224076689 + ], + [ + -7.966863458806813, + 0.796675248579561 + ], + [ + -12.746970436789752, + -8.763538707386374 + ], + [ + -15.933726917613626, + -19.917186390269876 + ], + [ + -18.32380814985794, + -31.070806329900563 + ], + [ + -19.91715864701706, + -42.22442626953125 + ], + [ + -20.713833895596565, + -52.58134321732956 + ], + [ + -15.933726917613626, + -66.92174738103694 + ], + [ + -9.560269442471565, + -75.68528608842331 + ], + [ + -0.796675248579561, + -81.26209605823863 + ], + [ + 11.950295188210248, + -81.26209605823863 + ], + [ + 35.05426580255687, + -68.515097878196 + ], + [ + 47.004560990767004, + -56.56477494673294 + ], + [ + 54.971424449573874, + -42.22442626953125 + ], + [ + 57.36150568181813, + -22.307239879261374 + ], + [ + 56.564774946732996, + 3.186784224076689 + ], + [ + 47.004560990767004, + 42.22442626953125 + ], + [ + 36.64761629971588, + 56.56480268998581 + ], + [ + 21.510564630681813, + 58.95485617897725 + ], + [ + 2.390081232244313, + 50.98799272017044 + ], + [ + -22.307239879261374, + 22.307239879261374 + ], + [ + -34.257535067471565, + -3.186756480823874 + ], + [ + -40.630992542613626, + -29.477428089488626 + ], + [ + -41.427723277698874, + -48.597911487926126 + ], + [ + -36.64756081321025, + -60.548206676136374 + ], + [ + -24.697265625, + -66.92174738103694 + ], + [ + -15.137051669034065, + -66.92174738103694 + ], + [ + -5.576837713068187, + -66.92174738103694 + ], + [ + 0, + -66.92174738103694 + ], + [ + 2.390081232244313, + -66.12504438920456 + ], + [ + 1.593350497159122, + -65.328369140625 + ], + [ + 1.593350497159122, + -65.328369140625 + ] + ], + "pressures": [ + 0.2177734375, + 0.2939453125, + 0.6826171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8916015625, + 0.1142578125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593350497159122, + -65.328369140625 + ] + }, + { + "id": "Fr96GNR8BDt5Td9DsL8c0", + "type": "freedraw", + "x": 63.25020292207802, + "y": -437.115914679192, + "width": 144.200439453125, + "height": 25.493996360085248, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1088864845, + "version": 370, + "versionNonce": 344924429, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 0 + ], + [ + -11.153619939630687, + -0.7966475053267459 + ], + [ + -11.950350674715935, + -0.7966475053267459 + ], + [ + -11.153619939630687, + -1.593378240411937 + ], + [ + -5.576837713068187, + -3.186728737571002 + ], + [ + 4.780106977982939, + -7.170188210227252 + ], + [ + 30.274103338068187, + -17.52710515802562 + ], + [ + 50.988048206676126, + -22.307239879261374 + ], + [ + 72.49855735085225, + -24.697265625 + ], + [ + 94.00906649502838, + -25.493996360085248 + ], + [ + 110.73957963423294, + -25.493996360085248 + ], + [ + 122.68987482244319, + -21.510536887428998 + ], + [ + 130.65673828125, + -16.730402166193187 + ], + [ + 132.25008877840907, + -15.933726917613626 + ], + [ + 132.25008877840907, + -15.137051669034122 + ], + [ + 125.07990056818181, + -15.137051669034122 + ], + [ + 117.113037109375, + -15.933726917613626 + ], + [ + 110.73957963423294, + -17.52710515802562 + ], + [ + 109.14617365056819, + -17.52710515802562 + ], + [ + 109.14617365056819, + -17.52710515802562 + ] + ], + "pressures": [ + 0.044921875, + 0.064453125, + 0.2333984375, + 0.298828125, + 0.8740234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.55078125, + 0.1474609375, + 0.0234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 109.14617365056819, + -17.52710515802562 + ] + }, + { + "id": "rsLklBmwPtfdlOjMkWzBH", + "type": "freedraw", + "x": 126.18854631696439, + "y": -468.9833962576721, + "width": 7.170243696732996, + "height": 174.47451504794032, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 281308269, + "version": 361, + "versionNonce": 406389315, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + -6.373512961647748 + ], + [ + -0.7967307350852479, + -11.950322931463063 + ], + [ + -0.7967307350852479, + -12.746998180042624 + ], + [ + -0.7967307350852479, + -7.966863458806813 + ], + [ + -0.7967307350852479, + 11.153647682883502 + ], + [ + -0.7967307350852479, + 31.867481578480124 + ], + [ + -3.186811967329561, + 62.9383156516335 + ], + [ + -5.576893199573874, + 100.38260719992894 + ], + [ + -7.170243696732996, + 133.04679177024144 + ], + [ + -7.170243696732996, + 153.76065340909088 + ], + [ + -7.170243696732996, + 161.7275168678977 + ], + [ + -7.170243696732996, + 161.7275168678977 + ] + ], + "pressures": [ + 0.068359375, + 0.1103515625, + 0.2294921875, + 0.3115234375, + 0.9130859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.170243696732996, + 161.7275168678977 + ] + }, + { + "id": "RRF8Hc__mQy1w3_dc9Zu3", + "type": "freedraw", + "x": 119.81497786881096, + "y": -306.459176397942, + "width": 5.576837713068187, + "height": 18.323808149857996, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1574705421, + "version": 350, + "versionNonce": 1702983533, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.576837713068187, + -18.323808149857996 + ], + [ + 5.576837713068187, + -18.323808149857996 + ] + ], + "pressures": [ + 1, + 0.05859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.576837713068187, + -18.323808149857996 + ] + }, + { + "id": "r9qJ3EHS3S2sOBy6OnCjW", + "type": "freedraw", + "x": 167.61621410815752, + "y": -330.35976677436247, + "width": 12.746970436789809, + "height": 105.95944491299718, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 185137613, + "version": 365, + "versionNonce": 1191559651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.39013671875, + 3.983431729403435 + ], + [ + 2.39013671875, + 3.186700994318187 + ], + [ + 1.593405983664809, + 1.593350497159122 + ], + [ + 1.593405983664809, + 0 + ], + [ + 0, + -3.98345947265625 + ], + [ + -1.593295010653378, + -7.170215953480067 + ], + [ + -2.390025745738626, + -15.137107155539752 + ], + [ + -3.186756480823817, + -35.85094105113632 + ], + [ + 0, + -55.76812744140625 + ], + [ + 3.983431729403435, + -76.4820168235085 + ], + [ + 7.170188210227309, + -93.2124467329545 + ], + [ + 7.96686345880687, + -101.17933793501419 + ], + [ + 7.96686345880687, + -101.97601318359375 + ], + [ + 2.39013671875, + -98.78925670276988 + ], + [ + -1.593295010653378, + -94.00914972478688 + ], + [ + -3.983431729403378, + -89.22901500355113 + ], + [ + -4.780106977982939, + -87.63560901988637 + ], + [ + -4.780106977982939, + -87.63560901988637 + ] + ], + "pressures": [ + 0.0029296875, + 0.017578125, + 0.16796875, + 0.2734375, + 0.3994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.42578125, + 0.1328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.780106977982939, + -87.63560901988637 + ] + }, + { + "id": "UMPB4AeMfL1T5BQy33LJ7", + "type": "freedraw", + "x": 162.83610713017458, + "y": -437.9125621845187, + "width": 10.356944691051126, + "height": 31.070806329900563, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1920437645, + "version": 358, + "versionNonce": 1721369037, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -4.780162464488626 + ], + [ + 0, + -9.560269442471565 + ], + [ + 0, + -10.356972434303941 + ], + [ + 0.796675248579561, + -10.356972434303941 + ], + [ + 2.390081232244313, + -4.780162464488626 + ], + [ + 3.186811967329561, + 1.593350497159122 + ], + [ + 5.576837713068187, + 9.560213955965935 + ], + [ + 7.966863458806813, + 18.323780406605124 + ], + [ + 8.763538707386374, + 20.713833895596622 + ], + [ + 9.560269442471622, + 20.713833895596622 + ], + [ + 10.356944691051126, + 19.917186390269876 + ], + [ + 10.356944691051126, + 19.917186390269876 + ] + ], + "pressures": [ + 0.0546875, + 0.111328125, + 0.2900390625, + 0.3994140625, + 0.5615234375, + 1, + 1, + 1, + 1, + 1, + 1, + 0.615234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356944691051126, + 19.917186390269876 + ] + }, + { + "id": "wQ-PGudX0Qv9IZ2XiIL35", + "type": "freedraw", + "x": 126.98516607903821, + "y": -449.0662098674022, + "width": 117.11309259588063, + "height": 27.884049849076746, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 366334765, + "version": 390, + "versionNonce": 1767476611, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + -3.186756480823874 + ], + [ + -8.763483220880687, + -7.170188210227252 + ], + [ + -16.730402166193187, + -8.763538707386374 + ], + [ + -27.087346857244313, + -7.170188210227252 + ], + [ + -43.81780450994313, + 1.593378240411937 + ], + [ + -54.17474920099431, + 7.966863458806813 + ], + [ + -62.93828790838063, + 13.543673428622128 + ], + [ + -70.10847611860794, + 17.527105158025563 + ], + [ + -74.09190784801132, + 19.120511141690372 + ], + [ + -73.29523259943181, + 19.120511141690372 + ], + [ + -70.10847611860794, + 17.527105158025563 + ], + [ + -63.73496315696019, + 15.137079412286937 + ], + [ + -54.17474920099431, + 11.950295188210248 + ], + [ + -34.257535067471565, + 7.966863458806813 + ], + [ + -17.527132901278378, + 5.576809969815372 + ], + [ + -1.593350497159065, + 4.780106977982996 + ], + [ + 14.340376420454561, + 4.780106977982996 + ], + [ + 34.25759055397731, + 7.966863458806813 + ], + [ + 41.42777876420456, + 9.56024169921875 + ], + [ + 43.02118474786931, + 9.56024169921875 + ], + [ + 39.83437278053981, + 9.56024169921875 + ], + [ + 37.444291548295496, + 7.966863458806813 + ], + [ + 35.850941051136374, + 6.373485218394876 + ], + [ + 34.25759055397731, + 5.576809969815372 + ], + [ + 34.25759055397731, + 4.780106977982996 + ], + [ + 31.867509321732996, + 3.186756480823874 + ], + [ + 27.08740234375, + 0.796675248579561 + ], + [ + 18.323808149857996, + -0.7966752485795041 + ], + [ + 5.576837713068187, + -1.593378240411937 + ], + [ + -17.527132901278378, + -0.7966752485795041 + ], + [ + -32.66412908380681, + 1.593378240411937 + ], + [ + -44.614424272017004, + 4.780106977982996 + ], + [ + -51.78466796875, + 7.966863458806813 + ], + [ + -54.97142444957382, + 9.56024169921875 + ], + [ + -53.378018465909065, + 7.966863458806813 + ], + [ + -50.98799272017044, + 6.373485218394876 + ], + [ + -47.801236239346565, + 4.780106977982996 + ], + [ + -44.614424272017004, + 3.186756480823874 + ], + [ + -42.22439852627838, + 1.593378240411937 + ], + [ + -40.630992542613626, + 0.796675248579561 + ], + [ + -38.240966796875, + 1.593378240411937 + ], + [ + -37.44429154829544, + 3.186756480823874 + ], + [ + -37.44429154829544, + 3.983431729403378 + ], + [ + -37.44429154829544, + 3.983431729403378 + ] + ], + "pressures": [ + 0.0419921875, + 0.4892578125, + 0.705078125, + 0.921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.92578125, + 0.3193359375, + 0.1435546875, + 0.068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -37.44429154829544, + 3.983431729403378 + ] + }, + { + "id": "A9amCzHi0dvutdK7DqT05", + "type": "freedraw", + "x": 111.05143916142458, + "y": -449.0662098674022, + "width": 11.153619939630687, + "height": 140.21697998046875, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1492704717, + "version": 389, + "versionNonce": 485638189, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -4.780106977982939 + ], + [ + -1.593405983664752, + -5.576809969815372 + ], + [ + -2.390081232244313, + -5.576809969815372 + ], + [ + -3.186756480823874, + -3.983431729403378 + ], + [ + -3.983431729403378, + 9.56024169921875 + ], + [ + -4.780106977982939, + 24.697293368252872 + ], + [ + -4.780106977982939, + 46.20785799893463 + ], + [ + -4.780106977982939, + 71.70185435901988 + ], + [ + -3.983431729403378, + 97.19585071910512 + ], + [ + -3.186756480823874, + 117.113037109375 + ], + [ + -2.390081232244313, + 120.29979359019887 + ], + [ + -1.593405983664752, + 120.29979359019887 + ], + [ + -0.796675248579561, + 117.90971235795456 + ], + [ + 0, + 105.16271417791194 + ], + [ + 0, + 88.43228426846593 + ], + [ + 0, + 65.32834139737218 + ], + [ + 0, + 39.83437278053975 + ], + [ + 1.593350497159122, + 16.730429909446002 + ], + [ + 5.5767822265625, + -7.170188210227252 + ], + [ + 5.5767822265625, + -15.933754660866498 + ], + [ + 5.5767822265625, + -19.917186390269876 + ], + [ + 4.780106977982939, + -19.917186390269876 + ], + [ + 0.796675248579561, + -7.170188210227252 + ], + [ + -3.186756480823874, + 11.153647682883502 + ], + [ + -5.576837713068187, + 31.070834073153378 + ], + [ + -5.576837713068187, + 54.1747214577415 + ], + [ + -3.983431729403378, + 78.07533957741475 + ], + [ + -2.390081232244313, + 110.73955189098012 + ], + [ + -1.593405983664752, + 119.5030905983665 + ], + [ + -1.593405983664752, + 112.33290238813919 + ], + [ + -3.186756480823874, + 94.00909423828125 + ], + [ + -3.983431729403378, + 81.26209605823863 + ], + [ + -3.983431729403378, + 68.515097878196 + ], + [ + -3.983431729403378, + 54.1747214577415 + ], + [ + -3.186756480823874, + 39.83437278053975 + ], + [ + -2.390081232244313, + 29.477428089488626 + ], + [ + -1.593405983664752, + 29.477428089488626 + ], + [ + -1.593405983664752, + 31.867481578480124 + ], + [ + -1.593405983664752, + 35.8509133078835 + ], + [ + -1.593405983664752, + 39.03769753196025 + ], + [ + -1.593405983664752, + 43.81780450994319 + ], + [ + -1.593405983664752, + 47.00456099076706 + ], + [ + -1.593405983664752, + 47.00456099076706 + ] + ], + "pressures": [ + 0.0224609375, + 0.2197265625, + 0.255859375, + 0.4306640625, + 0.6904296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.861328125, + 0.49609375, + 0.216796875, + 0.0947265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593405983664752, + 47.00456099076706 + ] + }, + { + "id": "wqnWHGWU-ZzG9NoGBVJ4H", + "type": "freedraw", + "x": 134.95202953784502, + "y": -363.82068207976016, + "width": 78.8720703125, + "height": 18.32380814985794, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2077347139, + "version": 379, + "versionNonce": 309519651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780051491477252, + 0 + ], + [ + -5.5767822265625, + 0 + ], + [ + -5.5767822265625, + 0.796702991832376 + ], + [ + 0.7967307350852479, + 0.796702991832376 + ], + [ + 10.356944691051183, + 0.796702991832376 + ], + [ + 23.900645862926183, + 0 + ], + [ + 37.44434703480118, + -1.593350497159122 + ], + [ + 47.80123623934662, + -3.983431729403435 + ], + [ + 56.56483043323868, + -5.576809969815372 + ], + [ + 58.954911665482996, + -5.576809969815372 + ], + [ + 58.15818093039775, + -5.576809969815372 + ], + [ + 49.394642223011374, + -7.170188210227309 + ], + [ + 39.037753018465935, + -7.966863458806813 + ], + [ + 25.493996360085248, + -7.966863458806813 + ], + [ + 12.747025923295496, + -3.983431729403435 + ], + [ + 0.7967307350852479, + 2.390081232244313 + ], + [ + -11.950295188210191, + 9.560269442471565 + ], + [ + -15.933726917613626, + 10.356944691051126 + ], + [ + -15.933726917613626, + 9.560269442471565 + ], + [ + -14.340376420454504, + 7.170188210227252 + ], + [ + -5.5767822265625, + 3.98345947265625 + ], + [ + 3.186811967329561, + 2.390081232244313 + ], + [ + 15.93378240411937, + 0.796702991832376 + ], + [ + 31.070889559659122, + -0.796675248579561 + ], + [ + 43.81780450994319, + -1.593350497159122 + ], + [ + 55.76815518465912, + -1.593350497159122 + ], + [ + 60.54826216264206, + 0.796702991832376 + ], + [ + 62.938343394886374, + 1.593405983664752 + ], + [ + 62.938343394886374, + 2.390081232244313 + ], + [ + 62.938343394886374, + 3.186756480823874 + ], + [ + 59.7515869140625, + 4.780134721235754 + ], + [ + 57.36150568181819, + 5.576837713068187 + ], + [ + 55.76815518465912, + 5.576837713068187 + ], + [ + 55.76815518465912, + 5.576837713068187 + ] + ], + "pressures": [ + 0.0634765625, + 0.330078125, + 0.6240234375, + 0.8154296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.53515625, + 0.111328125, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 55.76815518465912, + 5.576837713068187 + ] + }, + { + "id": "3Sv4jGdO7cIq6ADtMfPzH", + "type": "freedraw", + "x": 145.3089742288962, + "y": -340.7167392086664, + "width": 105.95941716974437, + "height": 171.2877863103693, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 973238819, + "version": 405, + "versionNonce": 779334285, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558547, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.5767822265625, + -1.593350497159122 + ], + [ + -7.170132723721622, + -1.593350497159122 + ], + [ + -7.966863458806813, + -1.593350497159122 + ], + [ + -3.186700994318187, + -3.983431729403435 + ], + [ + 4.780162464488626, + -4.780134721235811 + ], + [ + 16.730513139204504, + -5.5767822265625 + ], + [ + 31.86750932173294, + -5.5767822265625 + ], + [ + 47.801236239346565, + -4.780134721235811 + ], + [ + 64.53169389204544, + -2.390053488991498 + ], + [ + 86.04225852272725, + 2.390081232244313 + ], + [ + 91.6190407492897, + 3.186756480823874 + ], + [ + 93.21244673295456, + 3.983431729403378 + ], + [ + 86.04225852272725, + 1.593378240411937 + ], + [ + 74.88863858309657, + -1.593350497159122 + ], + [ + 62.141612659801126, + -3.186756480823874 + ], + [ + 48.59796697443181, + -3.186756480823874 + ], + [ + 35.85094105113632, + -2.390053488991498 + ], + [ + 22.307239879261317, + -2.390053488991498 + ], + [ + 3.186756480823817, + -3.983431729403435 + ], + [ + -5.5767822265625, + -3.983431729403435 + ], + [ + -10.356944691051183, + -1.593350497159122 + ], + [ + -12.746970436789809, + 0 + ], + [ + -11.950295188210248, + 0.7966752485795041 + ], + [ + -7.170132723721622, + 2.390081232244313 + ], + [ + 0.7967307350851911, + 3.983431729403378 + ], + [ + 11.153619939630687, + 5.576809969815315 + ], + [ + 29.477428089488626, + 4.780134721235754 + ], + [ + 43.81780450994319, + 0.7966752485795041 + ], + [ + 58.15818093039769, + -3.983431729403435 + ], + [ + 67.71845037286931, + -6.373485218394876 + ], + [ + 71.70188210227269, + -7.170188210227309 + ], + [ + 69.31180087002838, + -4.780134721235811 + ], + [ + 62.93828790838069, + -2.390053488991498 + ], + [ + 56.564830433238626, + 0 + ], + [ + 47.801236239346565, + 0.7966752485795041 + ], + [ + 43.81780450994319, + 0 + ], + [ + 40.631103515625, + -4.780134721235811 + ], + [ + 38.24102228338069, + -12.746998180042624 + ], + [ + 37.44429154829544, + -31.070806329900563 + ], + [ + 37.44429154829544, + -47.80123623934662 + ], + [ + 39.03769753196019, + -69.31177312677556 + ], + [ + 41.427778764204504, + -90.02566250887782 + ], + [ + 43.021129261363626, + -108.34947065873581 + ], + [ + 44.61453524502838, + -122.68984707919032 + ], + [ + 44.61453524502838, + -137.03022349964493 + ], + [ + 44.61453524502838, + -141.0136552290483 + ], + [ + 43.81780450994319, + -141.8103582208807 + ], + [ + 40.631103515625, + -129.86003528941762 + ], + [ + 37.44429154829544, + -115.51965886896306 + ], + [ + 34.25759055397725, + -98.78922895951706 + ], + [ + 31.86750932173294, + -78.07536732066762 + ], + [ + 31.070834073153378, + -50.987992720170496 + ], + [ + 32.66424005681819, + -7.170188210227309 + ], + [ + 33.460859818892004, + 12.746998180042624 + ], + [ + 35.05426580255681, + 23.900618119673254 + ], + [ + 35.85094105113632, + 28.680752840909065 + ], + [ + 35.85094105113632, + 29.477428089488626 + ], + [ + 36.647671786221565, + 29.477428089488626 + ], + [ + 36.647671786221565, + 28.680752840909065 + ], + [ + 36.647671786221565, + 28.680752840909065 + ] + ], + "pressures": [ + 0.060546875, + 0.400390625, + 0.6474609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 36.647671786221565, + 28.680752840909065 + ] + }, + { + "id": "Z3ru3ymPDw-2DlwP_bM8U", + "type": "freedraw", + "x": 181.15991528003252, + "y": -313.6293646081693, + "width": 103.5693359375, + "height": 153.76065340909088, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 731180675, + "version": 392, + "versionNonce": 1774209219, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.170132723721565, + -153.76065340909088 + ], + [ + -39.037642045454504, + -128.26662930575282 + ], + [ + -41.42772327769882, + -126.6732788085937 + ], + [ + -44.61447975852269, + -125.07992831143463 + ], + [ + -45.41115500710225, + -125.07992831143463 + ], + [ + -42.224454012784065, + -125.07992831143463 + ], + [ + -31.07077858664769, + -127.46998180042613 + ], + [ + -19.917158647017004, + -130.65673828124994 + ], + [ + -7.170132723721565, + -134.64017001065338 + ], + [ + 6.373512961647748, + -138.6236017400568 + ], + [ + 31.867509321732996, + -144.2003839666193 + ], + [ + 46.2078857421875, + -146.59046519886363 + ], + [ + 54.17474920099437, + -144.9970869584517 + ], + [ + 57.361505681818244, + -140.21695223721588 + ], + [ + 56.564774946732996, + -137.03022349964488 + ], + [ + 49.39458673650569, + -133.843467018821 + ], + [ + 40.63104802911937, + -130.65673828124994 + ], + [ + 28.680752840909122, + -126.6732788085937 + ], + [ + 15.933726917613683, + -123.48655007102269 + ], + [ + -2.390081232244313, + -122.68984707919032 + ], + [ + -14.340376420454504, + -126.6732788085937 + ], + [ + -23.900645862926126, + -129.06336004083806 + ], + [ + -31.07077858664769, + -130.65673828124994 + ], + [ + -35.054210316051126, + -131.45341352982956 + ], + [ + -35.85094105113632, + -132.25008877840907 + ], + [ + -31.86750932173294, + -132.25008877840907 + ], + [ + -23.900645862926126, + -131.45341352982956 + ], + [ + -7.170132723721565, + -128.26662930575282 + ], + [ + 6.373512961647748, + -128.26662930575282 + ], + [ + 23.103915127840935, + -128.26662930575282 + ], + [ + 40.63104802911937, + -129.06336004083806 + ], + [ + 52.58134321732962, + -129.06336004083806 + ], + [ + 58.15818093039775, + -129.06336004083806 + ], + [ + 57.361505681818244, + -128.26662930575282 + ], + [ + 51.78466796875, + -127.46998180042613 + ], + [ + 39.83437278053981, + -125.07992831143463 + ], + [ + 14.340376420454561, + -123.48655007102269 + ], + [ + -2.390081232244313, + -123.48655007102269 + ], + [ + -17.527132901278378, + -124.28319757634944 + ], + [ + -29.477428089488626, + -126.6732788085937 + ], + [ + -36.64761629971588, + -128.26662930575282 + ], + [ + -39.83437278053975, + -129.06336004083806 + ], + [ + -38.240966796875, + -129.06336004083806 + ], + [ + -34.257535067471565, + -129.06336004083806 + ], + [ + -29.477428089488626, + -128.26662930575282 + ], + [ + -24.69732111150563, + -126.6732788085937 + ], + [ + -24.69732111150563, + -125.87660356001419 + ], + [ + -24.69732111150563, + -125.87660356001419 + ] + ], + "pressures": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6865234375, + 0.1015625, + 0.0537109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -24.69732111150563, + -125.87660356001419 + ] + }, + { + "id": "0BH-UOwcfzxmM6G7WFnKi", + "type": "freedraw", + "x": 138.13884150517458, + "y": -448.26953461882266, + "width": 133.8434392755682, + "height": 26.290671608664752, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 144296035, + "version": 408, + "versionNonce": 1205328109, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 55.768099698153435, + 0.796702991832376 + ], + [ + 27.88407759232956, + -3.186756480823874 + ], + [ + 19.917214133522748, + -3.983431729403435 + ], + [ + 4.780106977982939, + -3.983431729403435 + ], + [ + -8.763594193892061, + -3.983431729403435 + ], + [ + -12.747025923295439, + -3.983431729403435 + ], + [ + -13.543701171875, + -3.983431729403435 + ], + [ + -11.153675426136374, + -4.780106977982939 + ], + [ + -5.576837713068187, + -3.983431729403435 + ], + [ + 4.780106977982939, + -0.796675248579561 + ], + [ + 18.32375266335231, + 3.186756480823817 + ], + [ + 33.460804332386374, + 4.780134721235811 + ], + [ + 50.98793723366481, + 5.576809969815315 + ], + [ + 80.46536532315343, + 3.186756480823817 + ], + [ + 99.58584872159093, + 3.186756480823817 + ], + [ + 113.12954989346593, + 5.576809969815315 + ], + [ + 118.70638760653407, + 7.966891202059685 + ], + [ + 117.90965687144882, + 7.966891202059685 + ], + [ + 109.94279341264206, + 5.576809969815315 + ], + [ + 98.78917347301132, + 3.983431729403435 + ], + [ + 83.65212180397731, + 2.390081232244313 + ], + [ + 65.32831365411931, + 3.186756480823817 + ], + [ + 39.03764204545456, + 5.576809969815315 + ], + [ + 23.103915127840935, + 6.373540704900563 + ], + [ + 10.356889204545439, + 7.170188210227252 + ], + [ + 2.390025745738626, + 7.170188210227252 + ], + [ + -2.390081232244313, + 5.576809969815315 + ], + [ + -0.7967307350851911, + 5.576809969815315 + ], + [ + 7.966863458806813, + 5.576809969815315 + ], + [ + 23.103915127840935, + 8.763566450639189 + ], + [ + 43.81780450994319, + 13.543701171875 + ], + [ + 76.48193359375, + 15.933754660866441 + ], + [ + 94.00906649502843, + 12.746998180042567 + ], + [ + 107.55276766690343, + 7.966891202059685 + ], + [ + 115.51963112571019, + 5.576809969815315 + ], + [ + 120.29973810369319, + 3.983431729403435 + ], + [ + 119.50306285511368, + 3.983431729403435 + ], + [ + 112.33287464488632, + 5.576809969815315 + ], + [ + 101.17925470525569, + 7.170188210227252 + ], + [ + 85.24552778764206, + 8.763566450639189 + ], + [ + 54.97136896306819, + 8.763566450639189 + ], + [ + 36.64756081321025, + 6.373540704900563 + ], + [ + 22.307184392755687, + 5.576809969815315 + ], + [ + 11.950295188210248, + 5.576809969815315 + ], + [ + 6.373457475142061, + 5.576809969815315 + ], + [ + 3.983431729403435, + 5.576809969815315 + ], + [ + 4.780106977982939, + 6.373540704900563 + ], + [ + 11.950295188210248, + 7.170188210227252 + ], + [ + 23.900645862926126, + 9.56024169921875 + ], + [ + 46.20783025568181, + 12.746998180042567 + ], + [ + 61.344881924715935, + 13.543701171875 + ], + [ + 77.27860884232956, + 13.543701171875 + ], + [ + 92.41566051136363, + 10.356972434303941 + ], + [ + 106.75603693181819, + 7.170188210227252 + ], + [ + 109.94279341264206, + 7.170188210227252 + ], + [ + 109.14611816406256, + 8.763566450639189 + ], + [ + 102.77260520241481, + 11.153619939630687 + ], + [ + 94.00906649502843, + 11.950322931463063 + ], + [ + 81.26204057173294, + 11.950322931463063 + ], + [ + 76.48193359375, + 11.950322931463063 + ], + [ + 74.88858309659093, + 13.543701171875 + ], + [ + 75.68525834517044, + 17.527132901278435 + ], + [ + 78.87201482599431, + 21.510564630681813 + ], + [ + 78.87201482599431, + 21.510564630681813 + ] + ], + "pressures": [ + 0.0810546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.931640625, + 0.4228515625, + 0.06640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 78.87201482599431, + 21.510564630681813 + ] + }, + { + "id": "EJ0XhciiZhZECc83nxqWm", + "type": "freedraw", + "x": 252.06506664722002, + "y": -344.70017093806985, + "width": 60.548206676136374, + "height": 172.0844476873225, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1310783491, + "version": 382, + "versionNonce": 618674275, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.186756480823874 + ], + [ + 0, + 6.373512961647748 + ], + [ + 0, + 4.780106977982939 + ], + [ + -0.7966752485795041, + 2.390081232244313 + ], + [ + -1.593350497159122, + -2.390053488991441 + ], + [ + -2.390025745738626, + -11.950322931463063 + ], + [ + -2.390025745738626, + -36.64761629971588 + ], + [ + 0.7967307350852479, + -57.361477938565315 + ], + [ + 3.983431729403378, + -78.07536732066762 + ], + [ + 7.9669189453125, + -101.97598544034088 + ], + [ + 9.560269442471622, + -112.332930131392 + ], + [ + 9.560269442471622, + -116.31636186079544 + ], + [ + 9.560269442471622, + -117.11300936612213 + ], + [ + 8.763594193892118, + -113.12957763671875 + ], + [ + 7.170188210227252, + -90.82236550071025 + ], + [ + 6.373512961647748, + -67.7184226296165 + ], + [ + 6.373512961647748, + -41.427723277698874 + ], + [ + 8.763594193892118, + -16.730429909446002 + ], + [ + 11.153619939630744, + 2.390081232244313 + ], + [ + 16.730457652698874, + 14.340404163707376 + ], + [ + 19.917214133522748, + 15.137051669034122 + ], + [ + 22.307239879261374, + 11.153619939630687 + ], + [ + 23.103970614346622, + 1.593378240411937 + ], + [ + 23.900645862926126, + -12.746998180042624 + ], + [ + 25.493996360085248, + -43.021129261363626 + ], + [ + 27.884077592329618, + -66.1250443892045 + ], + [ + 31.070834073153378, + -88.43231201171875 + ], + [ + 37.444347034801126, + -119.5030905983665 + ], + [ + 41.42777876420462, + -135.43684525923294 + ], + [ + 44.61453524502838, + -144.20041170987213 + ], + [ + 46.2078857421875, + -147.38715431906962 + ], + [ + 47.80123623934662, + -146.59047907049 + ], + [ + 49.394642223011374, + -141.0136691006747 + ], + [ + 52.58139870383525, + -121.89317183061075 + ], + [ + 54.971424449573874, + -100.382607199929 + ], + [ + 55.76815518465912, + -70.10847611860794 + ], + [ + 55.76815518465912, + -35.05423805930394 + ], + [ + 55.76815518465912, + 4.780106977982939 + ], + [ + 55.76815518465912, + 18.32383589311081 + ], + [ + 56.564830433238626, + 23.90061811967331 + ], + [ + 57.361505681818244, + 24.697293368252872 + ], + [ + 58.15818093039775, + 20.713861638849437 + ], + [ + 58.15818093039775, + 10.356944691051126 + ], + [ + 58.15818093039775, + 3.186756480823874 + ], + [ + 57.361505681818244, + -2.390053488991441 + ], + [ + 56.564830433238626, + -4.780134721235811 + ], + [ + 55.76815518465912, + -5.5767822265625 + ], + [ + 55.76815518465912, + -5.5767822265625 + ] + ], + "pressures": [ + 0.0126953125, + 0.025390625, + 0.1328125, + 0.3896484375, + 0.826171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9423828125, + 0.376953125, + 0.2255859375, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 55.76815518465912, + -5.5767822265625 + ] + }, + { + "id": "NT2cf9U4EAXixzh0gOHHH", + "type": "freedraw", + "x": 248.8783656529019, + "y": -341.513414457246, + "width": 125.87657581676137, + "height": 192.79832319779825, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 174296451, + "version": 386, + "versionNonce": 1118319437, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.39008123224437, + -2.390081232244313 + ], + [ + 0, + -4.780106977982939 + ], + [ + 3.983431729403378, + -13.543701171875 + ], + [ + 8.763538707386374, + -24.697293368252815 + ], + [ + 14.340320933948874, + -39.83437278053975 + ], + [ + 21.510509144176126, + -58.15818093039775 + ], + [ + 29.477428089488626, + -79.6687455610795 + ], + [ + 36.64761629971588, + -98.789228959517 + ], + [ + 43.02107377485788, + -121.09649658203125 + ], + [ + 44.61447975852275, + -129.86003528941762 + ], + [ + 45.41115500710225, + -134.64017001065338 + ], + [ + 45.41115500710225, + -135.43684525923294 + ], + [ + 45.41115500710225, + -133.84349476207387 + ], + [ + 47.004505504261374, + -128.2666847922585 + ], + [ + 48.597911487926126, + -117.90974010120738 + ], + [ + 51.78466796875, + -102.77268843217325 + ], + [ + 58.95485617897725, + -70.90517911044037 + ], + [ + 65.32831365411926, + -50.191317471590935 + ], + [ + 71.701826615767, + -33.460887562144876 + ], + [ + 76.48198908025563, + -13.543701171875 + ], + [ + 77.27866432883525, + -5.576809969815315 + ], + [ + 77.27866432883525, + -2.390081232244313 + ], + [ + 77.27866432883525, + -0.796675248579561 + ], + [ + 77.27866432883525, + -3.186756480823874 + ], + [ + 77.27866432883525, + -11.153647682883502 + ], + [ + 76.48198908025563, + -23.10394287109375 + ], + [ + 76.48198908025563, + -36.647616299715935 + ], + [ + 82.85550204190338, + -66.12507213245738 + ], + [ + 90.02569025213063, + -90.82236550071025 + ], + [ + 99.58590420809651, + -116.31633411754262 + ], + [ + 110.73946866122151, + -141.8103582208807 + ], + [ + 119.50311834161926, + -158.5407881303267 + ], + [ + 123.486494584517, + -164.117598100142 + ], + [ + 122.6898193359375, + -157.74409901012075 + ], + [ + 121.09646883877838, + -146.59047907049006 + ], + [ + 120.29979359019887, + -134.64017001065338 + ], + [ + 118.70633212002838, + -120.299765846946 + ], + [ + 113.92628062855113, + -92.41571599786931 + ], + [ + 109.942793412642, + -69.31180087002838 + ], + [ + 108.34944291548288, + -46.2078857421875 + ], + [ + 108.34944291548288, + -27.087374600497185 + ], + [ + 112.332930131392, + -7.170188210227252 + ], + [ + 113.92628062855113, + 3.186756480823874 + ], + [ + 114.72295587713063, + 12.746998180042624 + ], + [ + 114.72295587713063, + 21.510536887428998 + ], + [ + 114.72295587713063, + 28.68072509765625 + ], + [ + 113.92628062855113, + 28.68072509765625 + ], + [ + 113.12960537997151, + 27.087374600497185 + ], + [ + 113.12960537997151, + 24.697293368252815 + ], + [ + 111.53614390980113, + 19.120511141690315 + ], + [ + 111.53614390980113, + 18.32380814985794 + ], + [ + 111.53614390980113, + 18.32380814985794 + ] + ], + "pressures": [ + 0.046875, + 0.5029296875, + 0.92578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.826171875, + 0.1865234375, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 111.53614390980113, + 18.32380814985794 + ] + }, + { + "id": "Ou52nJoPbuijDBiSeYYXE", + "type": "freedraw", + "x": 236.1313397296064, + "y": -334.3432262470187, + "width": 133.04681951349437, + "height": 151.37059992009944, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 194657859, + "version": 383, + "versionNonce": 1101083651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.96686345880687, + -0.796702991832376 + ], + [ + 13.543701171875, + -6.373512961647691 + ], + [ + 22.307239879261374, + -22.30726762251419 + ], + [ + 27.884077592329504, + -37.444319291548254 + ], + [ + 34.25753506747162, + -55.76809969815338 + ], + [ + 39.83437278053975, + -75.68528608842325 + ], + [ + 43.021129261363626, + -94.80579723011363 + ], + [ + 46.2078857421875, + -117.11306485262782 + ], + [ + 46.2078857421875, + -126.67330655184657 + ], + [ + 46.2078857421875, + -130.65673828125 + ], + [ + 46.2078857421875, + -128.2666847922585 + ], + [ + 46.2078857421875, + -122.68987482244313 + ], + [ + 48.597911487926126, + -115.519658868963 + ], + [ + 51.78466796875, + -101.97598544034088 + ], + [ + 55.76809969815338, + -83.65214954723012 + ], + [ + 65.328369140625, + -50.98799272017044 + ], + [ + 73.29523259943187, + -31.867481578480067 + ], + [ + 80.46547629616475, + -15.137079412286937 + ], + [ + 85.245527787642, + -4.780134721235754 + ], + [ + 90.82236550071025, + 1.593350497159122 + ], + [ + 91.61904074928975, + 1.593350497159122 + ], + [ + 91.61904074928975, + -0.796702991832376 + ], + [ + 89.22901500355113, + -8.763566450639189 + ], + [ + 86.04220303622162, + -21.510564630681813 + ], + [ + 82.85550204190338, + -47.004560990767004 + ], + [ + 84.4488525390625, + -68.51512562144887 + ], + [ + 88.43233975497162, + -90.02569025213063 + ], + [ + 94.00906649502838, + -109.14617365056813 + ], + [ + 100.38257945667613, + -129.063360040838 + ], + [ + 102.77271617542613, + -134.64017001065338 + ], + [ + 104.36606667258525, + -134.64017001065338 + ], + [ + 105.16274192116475, + -129.063360040838 + ], + [ + 105.95941716974437, + -121.09649658203125 + ], + [ + 107.55276766690338, + -105.95941716974426 + ], + [ + 109.1461181640625, + -90.82236550071019 + ], + [ + 109.94290438565338, + -68.51512562144887 + ], + [ + 111.5362548828125, + -44.61450750177556 + ], + [ + 114.72295587713074, + -25.49399636008519 + ], + [ + 119.50311834161937, + -3.186756480823817 + ], + [ + 123.486494584517, + 5.576809969815372 + ], + [ + 127.46998180042613, + 11.153619939630687 + ], + [ + 129.86000754616475, + 14.340348677201746 + ], + [ + 131.45335804332387, + 16.73042990944606 + ], + [ + 132.25014426491475, + 16.73042990944606 + ], + [ + 132.25014426491475, + 13.543673428622185 + ], + [ + 132.25014426491475, + 9.56024169921875 + ], + [ + 133.04681951349437, + 5.576809969815372 + ], + [ + 133.04681951349437, + 3.186728737571059 + ], + [ + 133.04681951349437, + 3.186728737571059 + ] + ], + "pressures": [ + 0.0888671875, + 0.8056640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.849609375, + 0.353515625, + 0.111328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 133.04681951349437, + 3.186728737571059 + ] + }, + { + "id": "P1UxdCgnZCDSO4adN9S-H", + "type": "freedraw", + "x": 244.09820318841327, + "y": -337.52998272784254, + "width": 97.19587846235788, + "height": 151.37059992009944, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2053893837, + "version": 372, + "versionNonce": 188629421, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390081232244256, + -6.373512961647748 + ], + [ + 9.560269442471508, + -19.120511141690372 + ], + [ + 15.137051669034008, + -31.07080632990062 + ], + [ + 21.510564630681756, + -47.00456099076706 + ], + [ + 27.08740234375, + -66.92174738103694 + ], + [ + 32.6641845703125, + -87.63560901988637 + ], + [ + 37.44429154829538, + -113.926308371804 + ], + [ + 38.24102228338063, + -129.06336004083806 + ], + [ + 38.24102228338063, + -139.42027698863637 + ], + [ + 38.24102228338063, + -142.60703346946025 + ], + [ + 37.44429154829538, + -142.60703346946025 + ], + [ + 37.44429154829538, + -138.6236017400568 + ], + [ + 37.44429154829538, + -129.86003528941762 + ], + [ + 39.037697531960134, + -117.11303710937506 + ], + [ + 42.22445401278401, + -100.38257945667618 + ], + [ + 48.597911487926126, + -68.51509787819606 + ], + [ + 53.37807395241475, + -47.00456099076706 + ], + [ + 58.95485617897725, + -30.27413108132106 + ], + [ + 63.73501864346588, + -15.933754660866498 + ], + [ + 71.701826615767, + -1.593378240411937 + ], + [ + 76.48198908025563, + 3.983431729403378 + ], + [ + 79.66869007457387, + 6.373485218394876 + ], + [ + 82.05882679332387, + 6.373485218394876 + ], + [ + 83.65217729048288, + 6.373485218394876 + ], + [ + 83.65217729048288, + -1.593378240411937 + ], + [ + 82.05882679332387, + -11.153619939630687 + ], + [ + 81.26215154474426, + -24.697293368252872 + ], + [ + 81.26215154474426, + -40.63104802911937 + ], + [ + 85.245527787642, + -70.10850386186081 + ], + [ + 88.43233975497151, + -92.41571599786931 + ], + [ + 90.02569025213063, + -114.72298362038356 + ], + [ + 91.61904074928975, + -133.84346701882106 + ], + [ + 91.61904074928975, + -143.40373646129262 + ], + [ + 91.61904074928975, + -144.99711470170456 + ], + [ + 91.61904074928975, + -144.20041170987218 + ], + [ + 91.61904074928975, + -140.2169799804688 + ], + [ + 93.21239124644887, + -131.45341352982956 + ], + [ + 97.19587846235788, + -86.83893377130681 + ], + [ + 97.19587846235788, + -86.83893377130681 + ] + ], + "pressures": [ + 0.033203125, + 0.9150390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 97.19587846235788, + -86.83893377130681 + ] + }, + { + "id": "ndojoAY0cle0hGNk94xRc", + "type": "freedraw", + "x": 342.88743214793027, + "y": -412.41859356768634, + "width": 27.884077592329504, + "height": 89.22898726029831, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1855402243, + "version": 334, + "versionNonce": 113571, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 27.884077592329504, + 89.22898726029831 + ], + [ + 27.884077592329504, + 89.22898726029831 + ] + ], + "pressures": [ + 1, + 0.3544921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.884077592329504, + 89.22898726029831 + ] + }, + { + "id": "Db3WXmWKh9YLO7Pt4L4YE", + "type": "freedraw", + "x": 403.43563882406664, + "y": -329.5631192690357, + "width": 98.78928444602263, + "height": 151.37059992009944, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 931859523, + "version": 374, + "versionNonce": 1187218445, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.5934614701704959, + 3.186784224076689 + ], + [ + 3.186922940340878, + 5.576809969815315 + ], + [ + 3.186922940340878, + 3.186784224076689 + ], + [ + 0.7966752485795041, + -1.593378240411937 + ], + [ + -1.593350497159122, + -19.1204833984375 + ], + [ + -3.983376242897748, + -39.03766978870743 + ], + [ + -6.373401988636374, + -62.93828790838069 + ], + [ + -7.96686345880687, + -87.63560901988637 + ], + [ + -10.356889204545496, + -105.95941716974437 + ], + [ + -15.137051669034122, + -118.70641534978694 + ], + [ + -18.323752663352252, + -123.48652232776988 + ], + [ + -21.51056463068187, + -125.87660356001425 + ], + [ + -22.307239879261374, + -126.67327880859375 + ], + [ + -23.103915127840878, + -127.46998180042613 + ], + [ + -19.12042791193187, + -127.46998180042613 + ], + [ + -12.746914950284122, + -129.86003528941762 + ], + [ + -4.780051491477252, + -133.843467018821 + ], + [ + 13.543701171875, + -139.42027698863637 + ], + [ + 28.680752840909122, + -143.40370871803975 + ], + [ + 43.81780450994313, + -144.99708695845175 + ], + [ + 58.15818093039775, + -145.79378995028412 + ], + [ + 71.70188210227275, + -145.79378995028412 + ], + [ + 75.68536931818176, + -144.20041170987218 + ], + [ + 75.68536931818176, + -141.81033047762787 + ], + [ + 75.68536931818176, + -141.0136552290483 + ], + [ + 75.68536931818176, + -140.21697998046875 + ], + [ + 74.88869406960225, + -140.21697998046875 + ], + [ + 70.9053178267045, + -138.62360174005687 + ], + [ + 65.328369140625, + -136.2335205078125 + ], + [ + 53.378129438920496, + -132.25006103515625 + ], + [ + 43.021240234375, + -129.86003528941762 + ], + [ + 31.867564808238626, + -127.46998180042613 + ], + [ + 20.713889382102252, + -125.87660356001425 + ], + [ + 11.950350674715878, + -124.28319757634944 + ], + [ + 3.186922940340878, + -123.48652232776988 + ], + [ + 1.5934614701704959, + -123.48652232776988 + ], + [ + 0.7966752485795041, + -123.48652232776988 + ], + [ + 0.7966752485795041, + -122.68984707919037 + ], + [ + 1.5934614701704959, + -122.68984707919037 + ], + [ + 2.39013671875, + -122.68984707919037 + ], + [ + 3.186922940340878, + -121.89317183061081 + ], + [ + 4.780162464488626, + -121.89317183061081 + ], + [ + 7.170299183238626, + -121.09646883877843 + ], + [ + 7.170299183238626, + -121.09646883877843 + ] + ], + "pressures": [ + 0.046875, + 0.0859375, + 0.1845703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5693359375, + 0.2529296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.170299183238626, + -121.09646883877843 + ] + }, + { + "id": "Rk1jZfP-g2yjfMdXgx_DW", + "type": "freedraw", + "x": 401.8422883269075, + "y": -325.57968753963235, + "width": 107.55282315340901, + "height": 155.35403164950282, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1683582957, + "version": 372, + "versionNonce": 472928067, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + 0 + ], + [ + 0, + -10.356916947798311 + ], + [ + -0.7966752485795041, + -20.713833895596565 + ], + [ + -1.593350497159122, + -36.64758855646306 + ], + [ + -1.593350497159122, + -57.361477938565315 + ], + [ + -1.593350497159122, + -82.058799050071 + ], + [ + -1.593350497159122, + -117.9097123579545 + ], + [ + -2.390025745738626, + -135.43684525923294 + ], + [ + -3.983376242897748, + -144.9970869584517 + ], + [ + -5.57683771306813, + -149.7772216796875 + ], + [ + -7.170188210227252, + -151.37057217684657 + ], + [ + -7.966863458806756, + -152.167275168679 + ], + [ + -7.170188210227252, + -152.167275168679 + ], + [ + -3.18670099431813, + -152.167275168679 + ], + [ + 3.983487215909122, + -153.76065340909088 + ], + [ + 20.714000355113626, + -155.35403164950282 + ], + [ + 39.03764204545462, + -154.55732865767044 + ], + [ + 58.15818093039775, + -150.573896928267 + ], + [ + 78.0753950639205, + -146.59046519886363 + ], + [ + 86.04225852272725, + -143.40370871803975 + ], + [ + 91.6190962357955, + -141.01365522904825 + ], + [ + 94.80579723011363, + -140.21695223721588 + ], + [ + 97.99260919744324, + -139.42027698863637 + ], + [ + 99.58595969460225, + -138.623573996804 + ], + [ + 94.80579723011363, + -138.623573996804 + ], + [ + 84.44901899857962, + -139.42027698863637 + ], + [ + 66.92171963778412, + -141.01365522904825 + ], + [ + 54.97147993607962, + -142.60703346946025 + ], + [ + 41.42777876420462, + -142.60703346946025 + ], + [ + 27.08740234375, + -142.60703346946025 + ], + [ + 14.340376420454618, + -142.60703346946025 + ], + [ + 5.576837713068244, + -143.40370871803975 + ], + [ + -2.390025745738626, + -143.40370871803975 + ], + [ + -3.983376242897748, + -143.40370871803975 + ], + [ + -4.780051491477252, + -143.40370871803975 + ], + [ + -4.780051491477252, + -141.81033047762782 + ], + [ + -3.983376242897748, + -137.03022349964488 + ], + [ + -3.18670099431813, + -131.4534135298295 + ], + [ + -1.593350497159122, + -122.68984707919032 + ], + [ + -0.7966752485795041, + -113.92628062855113 + ], + [ + -0.7966752485795041, + -108.34944291548294 + ], + [ + -0.7966752485795041, + -108.34944291548294 + ] + ], + "pressures": [ + 0.0703125, + 0.85546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.7966752485795041, + -108.34944291548294 + ] + }, + { + "id": "JKWrwnAUhC0vr5PkLvvJM", + "type": "freedraw", + "x": 401.045613078328, + "y": -426.75896998814085, + "width": 84.44890802556813, + "height": 46.20785799893463, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 827416621, + "version": 361, + "versionNonce": 959543917, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 18.323863636363626, + 28.680780584161937 + ], + [ + 70.10853160511363, + 38.240994540127815 + ], + [ + 72.49855735085225, + 38.240994540127815 + ], + [ + 74.88858309659088, + 38.240994540127815 + ], + [ + 79.6687455610795, + 37.44429154829544 + ], + [ + 84.44890802556813, + 37.44429154829544 + ], + [ + 82.85544655539775, + 38.240994540127815 + ], + [ + 78.07539506392038, + 40.63107577237213 + ], + [ + 72.49855735085225, + 42.22442626953125 + ], + [ + 66.1250443892045, + 43.81780450994319 + ], + [ + 58.95485617897725, + 44.61450750177556 + ], + [ + 46.207830255681756, + 46.20785799893463 + ], + [ + 38.240966796875, + 46.20785799893463 + ], + [ + 30.27410333806813, + 45.411182750355124 + ], + [ + 23.103915127840878, + 41.42775102095169 + ], + [ + 17.527188387784122, + 38.240994540127815 + ], + [ + 13.543812144886374, + 35.05423805930394 + ], + [ + 12.747025923295382, + 35.05423805930394 + ], + [ + 11.950350674715878, + 35.05423805930394 + ], + [ + 10.356889204545382, + 35.850941051136374 + ], + [ + 9.560324928977252, + 36.64764404296875 + ], + [ + 7.170188210227252, + 36.64764404296875 + ], + [ + 5.576948686079504, + 37.44429154829544 + ], + [ + 4.780162464488626, + 39.037669788707376 + ], + [ + 5.576948686079504, + 39.037669788707376 + ], + [ + 7.966863458806756, + 38.240994540127815 + ], + [ + 10.356889204545382, + 37.44429154829544 + ], + [ + 11.153675426136374, + 37.44429154829544 + ], + [ + 12.747025923295382, + 37.44429154829544 + ], + [ + 13.543812144886374, + 37.44429154829544 + ], + [ + 14.340376420454504, + 37.44429154829544 + ], + [ + 14.340376420454504, + 36.64764404296875 + ], + [ + 14.340376420454504, + 36.64764404296875 + ] + ], + "pressures": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2333984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.340376420454504, + 36.64764404296875 + ] + }, + { + "id": "k2Y4OnOLayUWgzEzyilfP", + "type": "freedraw", + "x": 404.23231407264615, + "y": -326.37633504495903, + "width": 7.96686345880687, + "height": 150.57392467151988, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2091950381, + "version": 350, + "versionNonce": 1217097443, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186811967329618, + 6.373457475142061 + ], + [ + 3.186811967329618, + 7.170160466974437 + ], + [ + 3.983487215909122, + 7.966863458806813 + ], + [ + 3.983487215909122, + 6.373457475142061 + ], + [ + 2.390247691761374, + 2.390025745738626 + ], + [ + 1.5934614701704959, + -3.186784224076689 + ], + [ + 0.7967862215909918, + -17.52716064453125 + ], + [ + 0, + -31.070834073153435 + ], + [ + -0.7966752485795041, + -47.004588734019876 + ], + [ + -0.7966752485795041, + -66.12507213245738 + ], + [ + -0.7966752485795041, + -86.04225852272731 + ], + [ + -0.7966752485795041, + -111.53622713955968 + ], + [ + -0.7966752485795041, + -117.90976784446019 + ], + [ + -1.5933504971590082, + -133.84349476207387 + ], + [ + -2.390025745738626, + -139.4203047318892 + ], + [ + -3.18670099431813, + -141.81038596413356 + ], + [ + -3.983376242897748, + -142.60706121271306 + ], + [ + -3.983376242897748, + -140.21700772372157 + ], + [ + -3.983376242897748, + -136.2335759943182 + ], + [ + -3.18670099431813, + -130.65676602450282 + ], + [ + -3.18670099431813, + -126.67330655184657 + ], + [ + -3.18670099431813, + -126.67330655184657 + ] + ], + "pressures": [ + 0.0244140625, + 0.1494140625, + 0.2021484375, + 0.2578125, + 0.5673828125, + 0.8662109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5439453125, + 0.2099609375, + 0.091796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.18670099431813, + -126.67330655184657 + ] + }, + { + "id": "sdh5SidXsl6PzWebDxJ-H", + "type": "freedraw", + "x": 265.608767819095, + "y": -338.3266579764221, + "width": 9.560213955965992, + "height": 34.25756281072444, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1021920931, + "version": 338, + "versionNonce": 1800512717, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.983431729403378 + ], + [ + 0, + 8.763538707386374 + ], + [ + 0.7966752485796178, + 9.56024169921875 + ], + [ + 0.7966752485796178, + 8.763538707386374 + ], + [ + 0, + 5.5767822265625 + ], + [ + -2.390081232244256, + 0.796675248579561 + ], + [ + -4.780106977982882, + -4.780134721235811 + ], + [ + -7.966863458806756, + -18.32383589311081 + ], + [ + -8.763538707386374, + -24.697321111505687 + ], + [ + -8.763538707386374, + -24.697321111505687 + ] + ], + "pressures": [ + 0.037109375, + 0.056640625, + 0.1298828125, + 0.16796875, + 0.3330078125, + 0.5673828125, + 0.87890625, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -8.763538707386374, + -24.697321111505687 + ] + }, + { + "id": "9FLRPHApv_Uk1iw8OCFvn", + "type": "freedraw", + "x": 256.84522911170865, + "y": -370.99087028998747, + "width": 66.92166415127849, + "height": 182.44143399325282, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2116726883, + "version": 364, + "versionNonce": 1738644099, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 39.03764204545462, + -77.27866432883519 + ], + [ + 27.884022105823874, + 44.614535245028435 + ], + [ + 27.08734685724437, + 44.614535245028435 + ], + [ + 26.290671608664752, + 43.02112926136368 + ], + [ + 25.493996360085248, + 38.24099454012787 + ], + [ + 24.697265625, + 28.680780584161937 + ], + [ + 23.900590376420496, + 25.493996360085248 + ], + [ + 23.10391512784099, + 15.137079412286937 + ], + [ + 23.10391512784099, + 6.373512961647748 + ], + [ + 23.10391512784099, + -3.186700994318187 + ], + [ + 24.697265625, + -16.730429909446002 + ], + [ + 27.884022105823874, + -43.817776766690315 + ], + [ + 29.477428089488626, + -60.54823441938919 + ], + [ + 31.867453835227252, + -76.48196133700282 + ], + [ + 36.64761629971599, + -102.77266068892044 + ], + [ + 39.03764204545462, + -110.73952414772725 + ], + [ + 47.00456099076712, + -130.65671053799713 + ], + [ + 51.78466796875, + -137.03020962801844 + ], + [ + 54.971424449573874, + -137.82689874822438 + ], + [ + 57.3614501953125, + -133.046777898615 + ], + [ + 62.141612659801126, + -121.096454967152 + ], + [ + 65.32831365411937, + -108.34947065873575 + ], + [ + 66.92166415127849, + -90.02566250887782 + ], + [ + 66.92166415127849, + -66.92169189453125 + ], + [ + 60.54826216264212, + -27.88404984907669 + ], + [ + 54.971424449573874, + -1.593350497159065 + ], + [ + 49.394586736505744, + 18.323808149857996 + ], + [ + 45.41115500710225, + 31.867509321732996 + ], + [ + 43.817804509943244, + 39.03769753196025 + ], + [ + 43.021073774857996, + 42.22445401278412 + ], + [ + 43.817804509943244, + 42.22445401278412 + ], + [ + 43.817804509943244, + 39.83437278053981 + ], + [ + 43.817804509943244, + 37.44431929154831 + ], + [ + 43.817804509943244, + 36.64764404296875 + ], + [ + 43.817804509943244, + 34.25756281072444 + ], + [ + 45.41115500710225, + 31.867509321732996 + ], + [ + 45.41115500710225, + 31.070806329900563 + ], + [ + 45.41115500710225, + 31.070806329900563 + ] + ], + "pressures": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5849609375, + 0.240234375, + 0.052734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 45.41115500710225, + 31.070806329900563 + ] + }, + { + "id": "VMvAkRNo6Cocg10xuCOUu", + "type": "freedraw", + "x": 271.98228078074277, + "y": -351.8703591482971, + "width": 41.427723277698874, + "height": 195.18839055841613, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 238810595, + "version": 358, + "versionNonce": 280855341, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -2.390053488991498 + ], + [ + -3.186756480823874, + -9.56024169921875 + ], + [ + -4.780106977982996, + -21.510564630681813 + ], + [ + -6.373512961647748, + -36.647616299715935 + ], + [ + -7.170188210227252, + -52.581370960582376 + ], + [ + -7.96686345880687, + -75.68528608842331 + ], + [ + -7.96686345880687, + -87.63560901988637 + ], + [ + -6.373512961647748, + -100.382607199929 + ], + [ + -2.39008123224437, + -113.12960537997162 + ], + [ + 4.780106977982996, + -130.65673828125 + ], + [ + 9.560213955965878, + -138.6236017400568 + ], + [ + 13.543701171875, + -144.99710083007812 + ], + [ + 16.73040216619313, + -148.18384343927556 + ], + [ + 19.917158647017004, + -148.9805325594815 + ], + [ + 25.493996360085248, + -141.0136552290483 + ], + [ + 29.477428089488626, + -127.46998180042613 + ], + [ + 32.6641845703125, + -109.94282115589488 + ], + [ + 33.460859818892004, + -88.43228426846588 + ], + [ + 32.6641845703125, + -45.411182750355124 + ], + [ + 28.680752840909122, + -12.746998180042624 + ], + [ + 23.900590376420496, + 16.730429909446002 + ], + [ + 19.917158647017004, + 35.05423805930394 + ], + [ + 17.527132901278378, + 43.81780450994319 + ], + [ + 16.73040216619313, + 46.20785799893463 + ], + [ + 16.73040216619313, + 43.81780450994319 + ], + [ + 16.73040216619313, + 41.42775102095169 + ], + [ + 16.73040216619313, + 38.240994540127815 + ], + [ + 16.73040216619313, + 35.850941051136374 + ], + [ + 16.73040216619313, + 33.460887562144876 + ], + [ + 17.527132901278378, + 30.274103338068187 + ], + [ + 17.527132901278378, + 28.680752840909065 + ], + [ + 17.527132901278378, + 28.680752840909065 + ] + ], + "pressures": [ + 0.0087890625, + 0.7685546875, + 0.9453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.966796875, + 0.529296875, + 0.248046875, + 0.0634765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 17.527132901278378, + 28.680752840909065 + ] + }, + { + "id": "vIyy08d1qG4yRhWxrUar0", + "type": "freedraw", + "x": 265.608767819095, + "y": -343.1067926976579, + "width": 89.22901500355113, + "height": 173.67785367098725, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 536150883, + "version": 403, + "versionNonce": 103895587, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796702991832376 + ], + [ + 0, + -0.796702991832376 + ], + [ + 0.7966752485796178, + -2.390081232244313 + ], + [ + 2.39008123224437, + -7.966891202059628 + ], + [ + 8.763538707386374, + -24.697321111505687 + ], + [ + 12.747025923295496, + -39.83437278053975 + ], + [ + 15.137051669034122, + -54.971396706321 + ], + [ + 16.730457652698874, + -70.9051513671875 + ], + [ + 16.730457652698874, + -83.65217729048294 + ], + [ + 16.730457652698874, + -94.80576948686081 + ], + [ + 14.340376420454618, + -110.73952414772725 + ], + [ + 13.543701171875, + -121.89317183061081 + ], + [ + 13.543701171875, + -131.45341352982956 + ], + [ + 12.747025923295496, + -140.21697998046875 + ], + [ + 12.747025923295496, + -143.4037225896662 + ], + [ + 12.747025923295496, + -144.99710083007812 + ], + [ + 12.747025923295496, + -145.79378995028407 + ], + [ + 12.747025923295496, + -144.99710083007812 + ], + [ + 12.747025923295496, + -142.60704734108663 + ], + [ + 12.747025923295496, + -141.0136552290483 + ], + [ + 12.747025923295496, + -137.82692649147725 + ], + [ + 11.950295188210248, + -127.46998180042613 + ], + [ + 11.153619939630744, + -117.113037109375 + ], + [ + 10.356944691051126, + -104.36603892933238 + ], + [ + 9.560269442471622, + -92.41574374112218 + ], + [ + 8.763538707386374, + -79.66874556107956 + ], + [ + 8.763538707386374, + -67.71842262961644 + ], + [ + 7.170188210227252, + -58.15818093039769 + ], + [ + 7.170188210227252, + -58.95485617897725 + ], + [ + 7.96686345880687, + -67.71842262961644 + ], + [ + 10.356944691051126, + -78.87204256924718 + ], + [ + 14.340376420454618, + -94.00912198153407 + ], + [ + 19.917214133522748, + -111.53622713955968 + ], + [ + 27.08734685724437, + -127.46998180042613 + ], + [ + 33.46085981889212, + -138.6236017400568 + ], + [ + 41.427723277698874, + -145.79378995028407 + ], + [ + 45.41115500710225, + -146.59047907049006 + ], + [ + 49.394586736505744, + -143.4037225896662 + ], + [ + 54.971424449573874, + -131.45341352982956 + ], + [ + 58.15812544389212, + -118.70638760653407 + ], + [ + 58.954911665482996, + -105.16274192116475 + ], + [ + 58.954911665482996, + -89.22898726029831 + ], + [ + 56.564774946732996, + -70.10850386186081 + ], + [ + 52.58139870383525, + -48.597939231179 + ], + [ + 47.00456099076712, + -19.1204833984375 + ], + [ + 43.021129261363626, + -2.390081232244313 + ], + [ + 38.241022283380744, + 10.356916947798311 + ], + [ + 34.25753506747162, + 22.307239879261374 + ], + [ + 32.6641845703125, + 25.493996360085248 + ], + [ + 31.867509321732996, + 24.697321111505687 + ], + [ + 31.070834073153378, + 19.917186390269876 + ], + [ + 30.274103338068244, + 11.950295188210248 + ], + [ + 30.274103338068244, + -0.796702991832376 + ], + [ + 31.867509321732996, + -27.88407759232956 + ], + [ + 35.850941051136374, + -48.597939231179 + ], + [ + 42.22445401278412, + -70.10850386186081 + ], + [ + 51.784723455255744, + -96.39917547052556 + ], + [ + 57.3614501953125, + -109.94284889914769 + ], + [ + 62.141612659801126, + -121.09646883877843 + ], + [ + 66.12509987571025, + -129.86003528941757 + ], + [ + 70.108476118608, + -136.23354825106532 + ], + [ + 74.09196333451712, + -138.6236017400568 + ], + [ + 78.87201482599437, + -134.64017001065343 + ], + [ + 81.26215154474437, + -124.28322531960225 + ], + [ + 82.85550204190338, + -112.33293013139206 + ], + [ + 87.63566450639212, + -90.02569025213069 + ], + [ + 89.22901500355113, + -70.9051513671875 + ], + [ + 87.63566450639212, + -49.3946144797585 + ], + [ + 83.652177290483, + -27.88407759232956 + ], + [ + 79.66869007457387, + -7.966891202059628 + ], + [ + 74.88863858309662, + 7.966863458806813 + ], + [ + 69.31180087002838, + 21.510536887428998 + ], + [ + 67.71845037286937, + 25.493996360085248 + ], + [ + 66.12509987571025, + 26.290671608664752 + ], + [ + 66.12509987571025, + 27.087374600497185 + ], + [ + 66.12509987571025, + 25.493996360085248 + ], + [ + 66.12509987571025, + 25.493996360085248 + ] + ], + "pressures": [ + 0.0166015625, + 0.349609375, + 0.576171875, + 0.79296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.12509987571025, + 25.493996360085248 + ] + }, + { + "id": "AamVVu4-N9LXEgunE3vJg", + "type": "freedraw", + "x": 256.0484983766234, + "y": -342.31008970582553, + "width": 0, + "height": 3.983431729403435, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1911754765, + "version": 329, + "versionNonce": 769561997, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.983431729403435 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0537109375, + 0.171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 3.983431729403435 + ] + }, + { + "id": "H6oDSuM0-zbvU4U298gKD", + "type": "freedraw", + "x": 256.84522911170865, + "y": -337.52998272784254, + "width": 94.00906649502849, + "height": 163.32090897993606, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 583257731, + "version": 375, + "versionNonce": 355014083, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 15.137051669034122, + -133.84346701882106 + ], + [ + 15.933726917613626, + -70.10850386186081 + ], + [ + 15.933726917613626, + -68.51509787819606 + ], + [ + 15.933726917613626, + -73.29523259943181 + ], + [ + 17.527077414772748, + -82.05879905007106 + ], + [ + 19.917158647017118, + -92.41571599786931 + ], + [ + 26.290671608664752, + -112.33290238813919 + ], + [ + 31.867453835227252, + -128.2666570490057 + ], + [ + 38.240966796875, + -141.8103582208807 + ], + [ + 45.41115500710225, + -148.183857310902 + ], + [ + 50.19126198508525, + -149.77722167968756 + ], + [ + 56.564774946732996, + -141.0136552290483 + ], + [ + 59.7515869140625, + -129.86003528941762 + ], + [ + 64.53163840553975, + -114.72298362038356 + ], + [ + 69.31180087002849, + -97.99255371093756 + ], + [ + 70.9051513671875, + -71.70185435901993 + ], + [ + 65.32831365411937, + -51.78469571200287 + ], + [ + 58.15812544389212, + -33.46088756214493 + ], + [ + 50.987992720170496, + -18.323808149857996 + ], + [ + 45.41115500710225, + -9.56024169921875 + ], + [ + 42.22439852627849, + -5.576809969815372 + ], + [ + 42.22439852627849, + -7.966891202059685 + ], + [ + 42.22439852627849, + -15.933754660866498 + ], + [ + 42.22439852627849, + -27.884049849076746 + ], + [ + 43.817804509943244, + -41.427751020951746 + ], + [ + 47.00456099076712, + -66.92174738103694 + ], + [ + 50.19126198508525, + -84.44885253906256 + ], + [ + 54.174693714488626, + -99.58593195134944 + ], + [ + 58.15812544389212, + -114.72298362038356 + ], + [ + 66.12498890269887, + -135.43684525923294 + ], + [ + 72.49850186434662, + -144.99711470170456 + ], + [ + 77.27866432883525, + -150.5739107998935 + ], + [ + 81.262040571733, + -150.5739107998935 + ], + [ + 85.24552778764212, + -149.77722167968756 + ], + [ + 89.22901500355113, + -143.40373646129262 + ], + [ + 91.61904074928975, + -133.84346701882106 + ], + [ + 93.21239124644887, + -117.11303710937506 + ], + [ + 94.00906649502849, + -95.60250022194606 + ], + [ + 92.41571599786937, + -57.36150568181819 + ], + [ + 87.63555353338074, + -33.46088756214493 + ], + [ + 82.05882679332387, + -12.746970436789809 + ], + [ + 77.27866432883525, + 1.5933782404118801 + ], + [ + 74.09185236150574, + 9.56024169921875 + ], + [ + 70.9051513671875, + 12.746998180042567 + ], + [ + 70.108476118608, + 12.746998180042567 + ], + [ + 69.31180087002849, + 10.356916947798254 + ], + [ + 68.51512562144887, + 8.763566450639189 + ], + [ + 68.51512562144887, + 6.373485218394876 + ], + [ + 68.51512562144887, + 4.780106977982939 + ], + [ + 70.108476118608, + 3.186756480823817 + ], + [ + 70.108476118608, + 3.186756480823817 + ] + ], + "pressures": [ + 0.21484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.677734375, + 0.296875, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 70.108476118608, + 3.186756480823817 + ] + }, + { + "id": "3G-dg_7CmfJThZJC4S8T0", + "type": "freedraw", + "x": 368.38148399452115, + "y": -340.7167392086664, + "width": 82.85544655539775, + "height": 136.23352050781244, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 622063853, + "version": 356, + "versionNonce": 2112773101, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485796178, + 0.7966752485795041 + ], + [ + 0, + -3.186756480823874 + ], + [ + -4.780162464488626, + -15.137051669034122 + ], + [ + -7.96697443181813, + -24.697293368252872 + ], + [ + -9.560324928977252, + -36.647616299715935 + ], + [ + -10.357000177556756, + -52.581370960582376 + ], + [ + -10.357000177556756, + -70.90517911044032 + ], + [ + -9.560324928977252, + -95.60247247869319 + ], + [ + -8.763649680397748, + -106.75609241832387 + ], + [ + -7.170188210227252, + -114.72298362038356 + ], + [ + -3.9834872159090082, + -120.29979359019887 + ], + [ + 6.373401988636374, + -128.2666570490057 + ], + [ + 17.527077414772748, + -133.84346701882106 + ], + [ + 30.274103338068244, + -135.43684525923294 + ], + [ + 44.61447975852275, + -133.84346701882106 + ], + [ + 57.36139470880687, + -130.65671053799718 + ], + [ + 67.71839488636363, + -127.46998180042618 + ], + [ + 70.90509588068187, + -126.67327880859375 + ], + [ + 72.49844637784099, + -125.07990056818181 + ], + [ + 72.49844637784099, + -123.48652232776993 + ], + [ + 70.10853160511363, + -117.90971235795456 + ], + [ + 63.73490767045462, + -113.12957763671875 + ], + [ + 54.1748046875, + -108.34947065873581 + ], + [ + 43.817804509943244, + -103.56936368075282 + ], + [ + 33.460804332386374, + -100.382607199929 + ], + [ + 17.527077414772748, + -95.60247247869319 + ], + [ + 9.560213955965992, + -93.21239124644887 + ], + [ + 4.780051491477252, + -91.61904074928981 + ], + [ + 1.593350497159122, + -90.82236550071025 + ], + [ + 1.593350497159122, + -89.22895951704544 + ], + [ + 3.983376242897748, + -86.04223077947444 + ], + [ + 7.170188210227252, + -83.65217729048294 + ], + [ + 10.356889204545496, + -82.05879905007106 + ], + [ + 15.137051669034122, + -82.05879905007106 + ], + [ + 15.137051669034122, + -82.05879905007106 + ] + ], + "pressures": [ + 0.009765625, + 0.2978515625, + 0.55078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7587890625, + 0.3828125, + 0.1064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.137051669034122, + -82.05879905007106 + ] + }, + { + "id": "czTEaXav7D4mziFw6iDkA", + "type": "freedraw", + "x": 441.676716593953, + "y": -450.65958810781416, + "width": 112.33309659090912, + "height": 145.79378995028407, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1729699277, + "version": 361, + "versionNonce": 1671914851, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983487215909122, + -4.780134721235811 + ], + [ + -9.560324928977252, + -7.170160466974437 + ], + [ + -22.307239879261374, + -8.763566450639189 + ], + [ + -33.46091530539775, + -6.373512961647691 + ], + [ + -45.411265980113626, + 0 + ], + [ + -64.5316938920455, + 15.933754660866498 + ], + [ + -74.09201882102275, + 28.680752840909065 + ], + [ + -81.26220703125, + 40.631075772372185 + ], + [ + -84.44890802556824, + 49.39461447975856 + ], + [ + -82.05888227982962, + 54.971424449573874 + ], + [ + -74.09201882102275, + 58.15818093039775 + ], + [ + -60.54831764914775, + 60.54826216264206 + ], + [ + -43.021129261363626, + 61.34490966796875 + ], + [ + -27.087291370738626, + 58.95485617897725 + ], + [ + -7.96686345880687, + 51.78466796875 + ], + [ + -2.39013671875, + 49.39461447975856 + ], + [ + -1.5934614701704959, + 48.597939231179 + ], + [ + -3.186700994318244, + 47.00456099076706 + ], + [ + -10.35700017755687, + 45.411182750355124 + ], + [ + -27.087291370738626, + 43.81780450994319 + ], + [ + -39.834428267045496, + 45.411182750355124 + ], + [ + -54.1748046875, + 52.58139870383525 + ], + [ + -68.51518110795462, + 62.141612659801126 + ], + [ + -88.43228426846588, + 78.87204256924718 + ], + [ + -99.58595969460225, + 91.61904074928975 + ], + [ + -106.75614790482962, + 104.36606667258525 + ], + [ + -111.53631036931824, + 113.12960537997162 + ], + [ + -109.94284889914775, + 118.70641534978694 + ], + [ + -96.39925870028412, + 125.87660356001419 + ], + [ + -82.85555752840912, + 131.45341352982956 + ], + [ + -69.31185635653412, + 136.23354825106537 + ], + [ + -55.76815518465912, + 137.03022349964488 + ], + [ + -35.054154829545496, + 133.0467917702415 + ], + [ + -20.713889382102252, + 127.46998180042613 + ], + [ + -7.96686345880687, + 121.09646883877843 + ], + [ + -0.7967862215908781, + 116.31636186079544 + ], + [ + 0.7967862215908781, + 112.33293013139206 + ], + [ + -3.186700994318244, + 106.75609241832387 + ], + [ + -6.373512961647748, + 105.95941716974431 + ], + [ + -6.373512961647748, + 105.95941716974431 + ] + ], + "pressures": [ + 0.0673828125, + 0.287109375, + 0.4677734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.904296875, + 0.2412109375, + 0.03515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.373512961647748, + 105.95941716974431 + ] + }, + { + "id": "UtQZEbAAhB5f5VCYg6Y5l", + "type": "freedraw", + "x": 442.4735028155439, + "y": -463.4065862878567, + "width": 111.53619939630687, + "height": 168.89773282137787, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1564123619, + "version": 423, + "versionNonce": 418797133, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.18659002130687, + -3.983431729403435 + ], + [ + 6.373401988636374, + -8.763566450639246 + ], + [ + 6.373401988636374, + -9.56024169921875 + ], + [ + 4.779940518465878, + -10.356944691051183 + ], + [ + -0.7967862215908781, + -11.95032293146312 + ], + [ + -8.763649680397748, + -11.95032293146312 + ], + [ + -25.494162819602252, + -3.983431729403435 + ], + [ + -38.24118874289775, + 6.373485218394876 + ], + [ + -52.58145419034088, + 21.510592373934628 + ], + [ + -65.32848011363637, + 38.240994540127815 + ], + [ + -78.07550603693176, + 62.93828790838063 + ], + [ + -81.26220703125, + 75.68528608842325 + ], + [ + -81.26220703125, + 83.65217729048294 + ], + [ + -76.48215553977275, + 86.83890602805394 + ], + [ + -66.9218306107955, + 88.43228426846588 + ], + [ + -55.768266157670496, + 88.43228426846588 + ], + [ + -35.850941051136374, + 86.04223077947438 + ], + [ + -22.307350852272748, + 82.058799050071 + ], + [ + -8.763649680397748, + 77.278692072088 + ], + [ + 2.389914772727252, + 69.3118286132812 + ], + [ + 3.18659002130687, + 66.92174738103688 + ], + [ + 1.593239524147748, + 65.32839688387782 + ], + [ + -3.983487215909122, + 62.93828790838063 + ], + [ + -12.747136896306756, + 61.344937411221565 + ], + [ + -27.884077592329504, + 60.54823441938913 + ], + [ + -38.24118874289775, + 62.93828790838063 + ], + [ + -49.39475319602275, + 69.3118286132812 + ], + [ + -62.14177911931813, + 79.66871781782669 + ], + [ + -80.4655317826705, + 100.38260719992894 + ], + [ + -89.22907049005676, + 114.7229836203835 + ], + [ + -94.805908203125, + 127.46998180042607 + ], + [ + -96.39925870028412, + 137.82689874822438 + ], + [ + -94.0092329545455, + 145.79378995028407 + ], + [ + -86.83904474431813, + 149.77722167968744 + ], + [ + -70.9053178267045, + 154.55732865767044 + ], + [ + -55.768266157670496, + 156.15070689808232 + ], + [ + -41.42788973721588, + 156.94740988991475 + ], + [ + -27.087513316761374, + 153.76065340909088 + ], + [ + -17.527299360795496, + 148.98054643110794 + ], + [ + -7.96697443181813, + 142.6070334694602 + ], + [ + 1.593239524147748, + 137.0302512428977 + ], + [ + 9.560102982954504, + 131.4534135298295 + ], + [ + 13.543590198863626, + 128.26665704900563 + ], + [ + 15.136940696022748, + 128.26665704900563 + ], + [ + 11.950239701704504, + 128.26665704900563 + ], + [ + 1.593239524147748, + 133.04681951349426 + ], + [ + -7.170299183238626, + 139.42027698863632 + ], + [ + -18.323974609375, + 145.79378995028407 + ], + [ + -30.274214311079504, + 152.16727516867894 + ], + [ + -43.021240234375, + 155.35403164950282 + ], + [ + -63.73512961647725, + 154.55732865767044 + ], + [ + -74.88880504261363, + 150.573896928267 + ], + [ + -82.05899325284088, + 144.9971147017045 + ], + [ + -87.63571999289775, + 137.82689874822438 + ], + [ + -92.41588245738637, + 126.6732788085937 + ], + [ + -93.21255770596588, + 121.89317183061075 + ], + [ + -93.21255770596588, + 117.9097123579545 + ], + [ + -90.02585671164775, + 114.7229836203835 + ], + [ + -86.04236949573863, + 109.94284889914769 + ], + [ + -76.48215553977275, + 101.97598544034088 + ], + [ + -67.71861683238637, + 96.3991754705255 + ], + [ + -58.954967151988626, + 92.41571599786926 + ], + [ + -50.19142844460225, + 89.22901500355107 + ], + [ + -39.03786399147725, + 86.04223077947438 + ], + [ + -32.664351029829504, + 83.65217729048294 + ], + [ + -26.290838068181756, + 80.46542080965907 + ], + [ + -19.917214133522748, + 76.48198908025563 + ], + [ + -14.340487393465878, + 73.29526034268463 + ], + [ + -11.153786399147748, + 72.49855735085225 + ], + [ + -9.560435901988626, + 72.49855735085225 + ], + [ + -10.35711115056813, + 72.49855735085225 + ], + [ + -11.950350674715878, + 71.70185435901982 + ], + [ + -12.747136896306756, + 71.70185435901982 + ], + [ + -15.137162642045496, + 70.90517911044032 + ], + [ + -18.323974609375, + 70.10847611860794 + ], + [ + -23.900701349431756, + 70.10847611860794 + ], + [ + -32.664351029829504, + 70.90517911044032 + ], + [ + -40.631214488636374, + 73.29526034268463 + ], + [ + -50.988103693181756, + 75.68528608842325 + ], + [ + -60.54842862215912, + 77.278692072088 + ], + [ + -69.3119673295455, + 77.278692072088 + ], + [ + -75.68548029119313, + 74.09190784801132 + ], + [ + -81.26220703125, + 66.92174738103688 + ], + [ + -82.8556685014205, + 62.141612659801126 + ], + [ + -82.8556685014205, + 56.564802689985754 + ], + [ + -80.4655317826705, + 50.98799272017038 + ], + [ + -71.70199307528412, + 39.83437278053975 + ], + [ + -62.14177911931813, + 29.47745583274144 + ], + [ + -50.988103693181756, + 19.1204833984375 + ], + [ + -37.444402521306756, + 10.356944691051126 + ], + [ + -22.307350852272748, + 5.57683771306813 + ], + [ + 0, + 3.186756480823817 + ], + [ + 8.763427734375, + 3.186756480823817 + ], + [ + 11.950239701704504, + 4.780134721235754 + ], + [ + 13.543590198863626, + 5.57683771306813 + ], + [ + 15.136940696022748, + 7.966863458806756 + ], + [ + 15.136940696022748, + 9.560269442471565 + ], + [ + 15.136940696022748, + 11.950295188210191 + ], + [ + 14.340265447443244, + 14.340376420454504 + ], + [ + 13.543590198863626, + 15.137051669034065 + ], + [ + 12.746803977272748, + 15.137051669034065 + ], + [ + 12.746803977272748, + 15.137051669034065 + ] + ], + "pressures": [ + 0.0576171875, + 0.0849609375, + 0.17578125, + 0.2158203125, + 0.384765625, + 0.5556640625, + 0.7890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0.6044921875, + 0.2744140625, + 0.2001953125, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 12.746803977272748, + 15.137051669034065 + ] + }, + { + "id": "QYsJnQqISie8tWDyMhWnx", + "type": "freedraw", + "x": 267.2021738027598, + "y": -352.6670621401295, + "width": 70.9051513671875, + "height": 136.2335205078125, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 565628109, + "version": 409, + "versionNonce": 1492828419, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780162464488626, + -2.390053488991498 + ], + [ + -7.9669189453125, + -8.763538707386374 + ], + [ + -9.560269442471508, + -19.1204833984375 + ], + [ + -9.560269442471508, + -31.070806329900563 + ], + [ + -7.9669189453125, + -51.78466796875 + ], + [ + -3.9834872159090082, + -67.7184226296165 + ], + [ + 0.7966752485796178, + -82.85547429865062 + ], + [ + 7.170132723721622, + -94.80576948686081 + ], + [ + 11.950295188210248, + -103.5693359375 + ], + [ + 17.527077414772748, + -107.55276766690343 + ], + [ + 20.713833895596622, + -105.9593894264915 + ], + [ + 23.10391512784099, + -97.99252596768468 + ], + [ + 24.697265625, + -86.04223077947444 + ], + [ + 26.290671608664866, + -58.158153187144876 + ], + [ + 26.290671608664866, + -35.85091330788356 + ], + [ + 26.290671608664866, + -18.323808149857996 + ], + [ + 26.290671608664866, + -8.763538707386374 + ], + [ + 26.290671608664866, + -5.5767822265625 + ], + [ + 26.290671608664866, + -6.373485218394933 + ], + [ + 26.290671608664866, + -11.153619939630687 + ], + [ + 25.493940873579618, + -19.91715864701706 + ], + [ + 23.900590376420496, + -39.03766978870743 + ], + [ + 23.900590376420496, + -55.768099698153435 + ], + [ + 26.290671608664866, + -72.49852960759944 + ], + [ + 29.477428089488626, + -87.6355812766335 + ], + [ + 33.46085981889212, + -101.17925470525569 + ], + [ + 38.240966796875, + -112.33290238813925 + ], + [ + 46.20783025568187, + -121.893144087358 + ], + [ + 49.394642223011374, + -122.68984707919037 + ], + [ + 53.37801846590912, + -117.90971235795456 + ], + [ + 56.564719460227366, + -106.75609241832387 + ], + [ + 60.548206676136374, + -82.85547429865062 + ], + [ + 61.34488192471599, + -62.93828790838069 + ], + [ + 58.954856178977366, + -39.83434503728694 + ], + [ + 54.174693714488626, + -20.713861638849437 + ], + [ + 49.394642223011374, + -8.763538707386374 + ], + [ + 47.004505504261374, + -3.983431729403435 + ], + [ + 47.004505504261374, + -3.186728737571059 + ], + [ + 47.004505504261374, + -3.983431729403435 + ], + [ + 47.004505504261374, + -9.560213955965935 + ], + [ + 48.597856001420496, + -17.527077414772748 + ], + [ + 52.58134321732962, + -28.68072509765625 + ], + [ + 54.971368963068244, + -39.03766978870743 + ], + [ + 56.564719460227366, + -52.58134321732956 + ], + [ + 58.15818093039775, + -67.7184226296165 + ], + [ + 58.15818093039775, + -82.85547429865062 + ], + [ + 56.564719460227366, + -102.7726606889205 + ], + [ + 51.78466796875, + -113.12957763671875 + ], + [ + 47.004505504261374, + -119.5030905983665 + ], + [ + 41.427723277698874, + -123.48652232776988 + ], + [ + 37.444291548295496, + -124.28319757634944 + ], + [ + 32.66412908380687, + -117.113037109375 + ], + [ + 29.477428089488626, + -103.5693359375 + ], + [ + 27.08734685724437, + -89.22893177379262 + ], + [ + 25.493940873579618, + -75.68528608842331 + ], + [ + 25.493940873579618, + -54.1747214577415 + ], + [ + 25.493940873579618, + -38.240966796875 + ], + [ + 25.493940873579618, + -24.697293368252872 + ], + [ + 26.290671608664866, + -15.137051669034122 + ], + [ + 27.08734685724437, + -11.153619939630687 + ], + [ + 27.08734685724437, + -13.543645685369313 + ], + [ + 25.493940873579618, + -19.91715864701706 + ], + [ + 23.900590376420496, + -35.054238059304 + ], + [ + 23.900590376420496, + -50.19128972833812 + ], + [ + 24.697265625, + -66.12504438920456 + ], + [ + 27.08734685724437, + -78.87204256924718 + ], + [ + 29.477428089488626, + -95.60247247869319 + ], + [ + 29.477428089488626, + -104.36603892933238 + ], + [ + 28.68069735440349, + -111.53619939630687 + ], + [ + 27.08734685724437, + -114.72295587713069 + ], + [ + 23.900590376420496, + -117.113037109375 + ], + [ + 17.527077414772748, + -117.90971235795456 + ], + [ + 13.54364568536937, + -115.51965886896312 + ], + [ + 9.560213955965992, + -107.55276766690343 + ], + [ + 5.5767822265625, + -92.41571599786937 + ], + [ + 1.593350497159122, + -67.7184226296165 + ], + [ + 0.7966752485796178, + -50.19128972833812 + ], + [ + 2.390025745738626, + -33.460832075639246 + ], + [ + 6.373457475142118, + -16.73042990944606 + ], + [ + 10.356889204545496, + -1.593350497159122 + ], + [ + 14.340320933948874, + 10.356972434303941 + ], + [ + 14.340320933948874, + 11.950322931463063 + ], + [ + 15.137051669034122, + 11.950322931463063 + ], + [ + 15.933726917613626, + 10.356972434303941 + ], + [ + 15.933726917613626, + 7.170188210227252 + ], + [ + 15.933726917613626, + 2.390108975497128 + ], + [ + 15.933726917613626, + 1.593378240411937 + ], + [ + 15.933726917613626, + 1.593378240411937 + ] + ], + "pressures": [ + 0.0791015625, + 0.70703125, + 0.8955078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4833984375, + 0.265625, + 0.1650390625, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.933726917613626, + 1.593378240411937 + ] + }, + { + "id": "YneVT0XbEq6QUsz_szmOC", + "type": "freedraw", + "x": 256.84522911170865, + "y": -345.4968739299022, + "width": 70.9051513671875, + "height": 124.28325306285507, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1027138189, + "version": 372, + "versionNonce": 1506804909, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 2.390081232244313 + ], + [ + 0, + 3.186784224076689 + ], + [ + 0, + 2.390081232244313 + ], + [ + 1.593350497159122, + -8.763538707386374 + ], + [ + 3.9834317294034918, + -20.713833895596565 + ], + [ + 7.170188210227252, + -33.46085981889206 + ], + [ + 11.153619939630744, + -47.801236239346565 + ], + [ + 15.137051669034122, + -62.93828790838069 + ], + [ + 19.917158647017118, + -84.44882479580963 + ], + [ + 22.307239879261374, + -97.99252596768463 + ], + [ + 23.900590376420496, + -108.34944291548294 + ], + [ + 23.900590376420496, + -115.51965886896306 + ], + [ + 23.900590376420496, + -120.299765846946 + ], + [ + 23.900590376420496, + -121.09646883877838 + ], + [ + 24.697265625, + -119.5030905983665 + ], + [ + 27.08734685724437, + -114.72295587713069 + ], + [ + 27.884022105823874, + -110.73952414772725 + ], + [ + 29.477428089488626, + -105.16271417791194 + ], + [ + 31.070778586647748, + -97.19585071910512 + ], + [ + 31.867453835227252, + -86.838906028054 + ], + [ + 31.867453835227252, + -66.92171963778412 + ], + [ + 31.867453835227252, + -52.58131547407669 + ], + [ + 30.274103338068244, + -39.83434503728694 + ], + [ + 29.477428089488626, + -25.493996360085248 + ], + [ + 29.477428089488626, + -18.32380814985794 + ], + [ + 29.477428089488626, + -13.543673428622185 + ], + [ + 29.477428089488626, + -11.153619939630687 + ], + [ + 30.274103338068244, + -10.356916947798311 + ], + [ + 30.274103338068244, + -12.746970436789752 + ], + [ + 30.274103338068244, + -24.697265625 + ], + [ + 31.070778586647748, + -36.64758855646306 + ], + [ + 33.46085981889212, + -50.987964976917624 + ], + [ + 36.64761629971599, + -67.7184226296165 + ], + [ + 41.427723277698874, + -84.44882479580963 + ], + [ + 52.58134321732962, + -102.77266068892044 + ], + [ + 58.15812544389212, + -108.34944291548294 + ], + [ + 61.34493741122162, + -109.94284889914775 + ], + [ + 62.938287908380744, + -109.94284889914775 + ], + [ + 67.71845037286937, + -103.5693359375 + ], + [ + 70.108476118608, + -91.61904074928975 + ], + [ + 70.9051513671875, + -75.68528608842325 + ], + [ + 70.108476118608, + -56.56477494673294 + ], + [ + 66.92166415127849, + -39.037669788707376 + ], + [ + 62.141612659801126, + -20.713833895596565 + ], + [ + 60.54826216264212, + -15.137051669034065 + ], + [ + 58.95480069247162, + -13.543673428622185 + ], + [ + 58.95480069247162, + -12.746970436789752 + ], + [ + 58.15812544389212, + -12.746970436789752 + ], + [ + 54.971424449573874, + -15.933726917613626 + ], + [ + 54.174693714488626, + -16.730402166193187 + ], + [ + 54.174693714488626, + -16.730402166193187 + ] + ], + "pressures": [ + 0.005859375, + 0.1748046875, + 0.6884765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6240234375, + 0.1572265625, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 54.174693714488626, + -16.730402166193187 + ] + }, + { + "id": "RdpVMvdOY948IeLcwkjDO", + "type": "freedraw", + "x": 263.21868658685077, + "y": -357.44716911811247, + "width": 84.44890802556813, + "height": 140.21697998046875, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 795430371, + "version": 375, + "versionNonce": 1856088227, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.950350674715878, + -122.68984707919032 + ], + [ + 13.543701171875, + -125.87660356001419 + ], + [ + 15.137107155539752, + -131.4534135298295 + ], + [ + 15.933782404119256, + -131.4534135298295 + ], + [ + 15.933782404119256, + -129.86003528941762 + ], + [ + 15.933782404119256, + -121.89317183061075 + ], + [ + 15.137107155539752, + -107.55279541015625 + ], + [ + 12.747025923295382, + -89.22898726029825 + ], + [ + 9.560269442471508, + -72.49852960759938 + ], + [ + 7.170188210227252, + -47.801236239346565 + ], + [ + 6.373512961647634, + -30.274131081321002 + ], + [ + 6.373512961647634, + -17.527132901278378 + ], + [ + 6.373512961647634, + -10.356944691051126 + ], + [ + 7.170188210227252, + -15.137051669034065 + ], + [ + 8.763594193892004, + -23.900618119673254 + ], + [ + 12.747025923295382, + -50.98799272017044 + ], + [ + 17.527132901278378, + -74.88861083984375 + ], + [ + 23.900645862926126, + -96.39914772727269 + ], + [ + 31.070834073153378, + -113.12960537997157 + ], + [ + 37.444347034801126, + -122.68984707919032 + ], + [ + 39.037697531960134, + -124.28322531960225 + ], + [ + 40.631103515625, + -125.07992831143463 + ], + [ + 43.021129261363626, + -125.07992831143463 + ], + [ + 47.004560990767004, + -121.09646883877838 + ], + [ + 50.98799272017038, + -112.332930131392 + ], + [ + 50.98799272017038, + -87.63560901988637 + ], + [ + 47.004560990767004, + -68.515097878196 + ], + [ + 43.021129261363626, + -46.20785799893463 + ], + [ + 37.444347034801126, + -15.933754660866441 + ], + [ + 35.054265802556756, + -6.373512961647691 + ], + [ + 34.25759055397725, + -3.983431729403378 + ], + [ + 34.25759055397725, + -7.966863458806813 + ], + [ + 34.25759055397725, + -17.527132901278378 + ], + [ + 38.24102228338063, + -42.22442626953125 + ], + [ + 43.021129261363626, + -62.9383156516335 + ], + [ + 52.581343217329504, + -83.65217729048294 + ], + [ + 69.31185635653401, + -107.55279541015625 + ], + [ + 77.27871981534088, + -113.92628062855113 + ], + [ + 81.26209605823863, + -114.7229836203835 + ], + [ + 83.65223277698863, + -110.73955189098012 + ], + [ + 84.44890802556813, + -100.38257945667613 + ], + [ + 82.05877130681813, + -83.65217729048294 + ], + [ + 73.29523259943176, + -51.78466796875 + ], + [ + 69.31185635653401, + -29.477428089488626 + ], + [ + 66.1250443892045, + -11.950322931463063 + ], + [ + 64.53169389204538, + 3.983431729403435 + ], + [ + 63.73501864346588, + 7.966863458806813 + ], + [ + 63.73501864346588, + 8.763566450639246 + ], + [ + 63.73501864346588, + 7.966863458806813 + ], + [ + 61.34499289772725, + 6.373485218394933 + ], + [ + 58.158180930397634, + 2.390053488991498 + ], + [ + 57.36150568181813, + 0 + ], + [ + 57.36150568181813, + -0.7966752485795041 + ], + [ + 57.36150568181813, + -0.7966752485795041 + ] + ], + "pressures": [ + 0.0341796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.83203125, + 0.2646484375, + 0.126953125, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 57.36150568181813, + -0.7966752485795041 + ] + }, + { + "id": "8q-9maBOHt-GFDGlIlbqb", + "type": "freedraw", + "x": 262.42201133827115, + "y": -351.8703591482971, + "width": 95.60247247869313, + "height": 142.60706121271306, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 98912835, + "version": 378, + "versionNonce": 69527309, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5933504971590082, + -3.983431729403435 + ], + [ + -1.5933504971590082, + -11.950322931463063 + ], + [ + -1.5933504971590082, + -22.30721213600856 + ], + [ + -0.7966752485795041, + -35.850941051136374 + ], + [ + 1.593405983664752, + -53.37804620916194 + ], + [ + 4.780162464488626, + -78.87204256924713 + ], + [ + 7.170188210227252, + -92.41574374112213 + ], + [ + 7.170188210227252, + -101.1792824485085 + ], + [ + 7.170188210227252, + -105.9593894264915 + ], + [ + 7.170188210227252, + -106.75609241832387 + ], + [ + 7.96686345880687, + -101.1792824485085 + ], + [ + 12.747025923295496, + -78.87204256924713 + ], + [ + 14.340376420454618, + -64.53166614879262 + ], + [ + 14.340376420454618, + -55.76812744140625 + ], + [ + 14.340376420454618, + -51.78466796875 + ], + [ + 14.340376420454618, + -52.581370960582376 + ], + [ + 13.543701171875, + -58.158153187144876 + ], + [ + 13.543701171875, + -68.51512562144887 + ], + [ + 15.137051669034122, + -82.85547429865056 + ], + [ + 23.900645862926126, + -105.9593894264915 + ], + [ + 31.867509321732996, + -117.90974010120738 + ], + [ + 40.63104802911937, + -125.07990056818181 + ], + [ + 48.597911487926126, + -128.2666570490057 + ], + [ + 58.15818093039775, + -129.06336004083806 + ], + [ + 63.73501864346599, + -125.87660356001425 + ], + [ + 67.71839488636363, + -114.7229836203835 + ], + [ + 69.31185635653412, + -97.19585071910512 + ], + [ + 66.12504438920462, + -75.68528608842331 + ], + [ + 56.564830433238626, + -38.240966796875 + ], + [ + 50.19131747159099, + -18.323780406605124 + ], + [ + 46.2078857421875, + -5.576809969815372 + ], + [ + 43.817804509943244, + 0 + ], + [ + 43.817804509943244, + 0.796675248579561 + ], + [ + 43.817804509943244, + -1.593378240411937 + ], + [ + 43.817804509943244, + -7.966863458806813 + ], + [ + 44.61447975852275, + -17.527132901278435 + ], + [ + 45.411210493607996, + -30.274103338068187 + ], + [ + 49.394642223011374, + -54.971424449573874 + ], + [ + 54.1748046875, + -71.70185435901988 + ], + [ + 59.75153142755687, + -87.63560901988637 + ], + [ + 65.328369140625, + -102.7726606889205 + ], + [ + 74.09190784801137, + -115.51965886896306 + ], + [ + 79.66874556107962, + -116.3163618607955 + ], + [ + 84.44890802556824, + -113.92628062855113 + ], + [ + 89.2289595170455, + -105.9593894264915 + ], + [ + 92.415771484375, + -94.00909423828125 + ], + [ + 94.00912198153412, + -70.90517911044037 + ], + [ + 94.00912198153412, + -49.3946144797585 + ], + [ + 91.6190962357955, + -27.087374600497185 + ], + [ + 86.83893377130687, + -7.966863458806813 + ], + [ + 80.46542080965912, + 10.356944691051126 + ], + [ + 78.8720703125, + 13.543701171875 + ], + [ + 77.27871981534099, + 13.543701171875 + ], + [ + 75.6852583451705, + 10.356944691051126 + ], + [ + 74.09190784801137, + 6.373485218394876 + ], + [ + 72.49855735085225, + 2.390053488991441 + ], + [ + 72.49855735085225, + 2.390053488991441 + ] + ], + "pressures": [ + 0.0888671875, + 0.953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6923828125, + 0.2890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 72.49855735085225, + 2.390053488991441 + ] + }, + { + "id": "g3YeG-FE-b693zmPzuI1B", + "type": "freedraw", + "x": 260.0319855925325, + "y": -339.9200639600869, + "width": 91.61904074928975, + "height": 154.5573286576705, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 994587501, + "version": 369, + "versionNonce": 1783274563, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 7.170188210227309 + ], + [ + 0, + 6.373512961647748 + ], + [ + -0.7967307350852479, + 3.186756480823874 + ], + [ + -1.593405983664752, + -0.7966752485795041 + ], + [ + -2.390081232244256, + -11.950295188210191 + ], + [ + -2.390081232244256, + -23.900618119673254 + ], + [ + -2.390081232244256, + -37.44429154829544 + ], + [ + -2.390081232244256, + -52.581343217329504 + ], + [ + -2.390081232244256, + -69.31177312677556 + ], + [ + 0, + -94.00906649502838 + ], + [ + 2.390025745738626, + -108.34947065873575 + ], + [ + 5.5767822265625, + -118.70638760653407 + ], + [ + 7.96686345880687, + -125.07990056818181 + ], + [ + 11.153619939630744, + -127.46995405717325 + ], + [ + 18.323808149857996, + -128.2666570490057 + ], + [ + 24.697265625, + -128.2666570490057 + ], + [ + 31.867453835227252, + -125.07990056818181 + ], + [ + 38.240966796875, + -117.90968461470169 + ], + [ + 45.41115500710225, + -100.38257945667607 + ], + [ + 46.20783025568187, + -85.245527787642 + ], + [ + 44.61447975852275, + -65.32834139737213 + ], + [ + 39.83431729403412, + -45.41115500710225 + ], + [ + 34.25753506747162, + -31.070806329900563 + ], + [ + 30.274103338068244, + -21.51053688742894 + ], + [ + 29.477428089488626, + -19.917158647017004 + ], + [ + 29.477428089488626, + -22.307212136008502 + ], + [ + 31.070778586647748, + -35.8509133078835 + ], + [ + 31.867453835227252, + -50.19126198508519 + ], + [ + 33.46085981889212, + -67.71842262961644 + ], + [ + 35.054210316051126, + -84.44885253906244 + ], + [ + 38.240966796875, + -102.77266068892044 + ], + [ + 44.61447975852275, + -127.46995405717325 + ], + [ + 50.98793723366475, + -137.82689874822444 + ], + [ + 58.95485617897725, + -144.2003839666193 + ], + [ + 65.328369140625, + -147.3871404474432 + ], + [ + 73.29523259943187, + -144.9970869584517 + ], + [ + 79.66874556107962, + -136.23352050781244 + ], + [ + 85.24547230113637, + -120.299765846946 + ], + [ + 88.43228426846588, + -98.789228959517 + ], + [ + 89.2289595170455, + -74.88858309659088 + ], + [ + 82.05877130681824, + -41.42772327769882 + ], + [ + 75.6852583451705, + -23.900618119673254 + ], + [ + 70.90509588068187, + -10.356889204545439 + ], + [ + 67.71839488636363, + -1.593350497159065 + ], + [ + 66.12504438920462, + 2.39008123224437 + ], + [ + 65.328369140625, + 2.39008123224437 + ], + [ + 63.73490767045462, + 2.39008123224437 + ], + [ + 63.73490767045462, + 2.39008123224437 + ] + ], + "pressures": [ + 0.0400390625, + 0.138671875, + 0.33984375, + 0.7607421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 63.73490767045462, + 2.39008123224437 + ] + }, + { + "id": "NuXb_R-_VpGhQ8SOOqnV6", + "type": "freedraw", + "x": 322.9702180144075, + "y": -337.52998272784254, + "width": 0.7966752485795041, + "height": 3.983431729403435, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 757278413, + "version": 323, + "versionNonce": 711884141, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -3.983431729403435 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 1, + 0.0087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.7966752485795041, + -3.983431729403435 + ] + }, + { + "id": "wWKRsvk9P_9neNNRNlJEL", + "type": "freedraw", + "x": 225.77433955204975, + "y": -168.63223603483812, + "width": 92.41571599786926, + "height": 148.9805325594815, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 333495437, + "version": 347, + "versionNonce": 1473518563, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + -1.5933782404118801 + ], + [ + -5.5767822265625, + -3.983431729403378 + ], + [ + -7.966863458806813, + -14.340348677201689 + ], + [ + -8.763538707386374, + -38.24096679687497 + ], + [ + -7.170188210227309, + -53.37804620916191 + ], + [ + -3.983431729403378, + -66.92171963778407 + ], + [ + 0.7967307350852479, + -78.87204256924713 + ], + [ + 8.763594193892004, + -87.63560901988637 + ], + [ + 19.12053888494313, + -94.00910810990763 + ], + [ + 39.03769753196025, + -95.60247247869313 + ], + [ + 54.971424449573874, + -87.63560901988637 + ], + [ + 70.10853160511363, + -72.49852960759941 + ], + [ + 80.46547629616475, + -55.76809969815338 + ], + [ + 83.65217729048288, + -29.477428089488598 + ], + [ + 76.48198908025563, + -8.763566450639189 + ], + [ + 62.938343394886374, + 13.543701171875 + ], + [ + 47.004560990767004, + 30.27413108132106 + ], + [ + 28.680752840909122, + 35.850941051136374 + ], + [ + 17.527132901278378, + 25.49402410333812 + ], + [ + 7.170188210227252, + 7.170188210227309 + ], + [ + 1.593405983664752, + -15.137051669034065 + ], + [ + 0.7967307350852479, + -37.44429154829544 + ], + [ + 7.9669189453125, + -69.31180087002838 + ], + [ + 18.323808149857882, + -87.63560901988637 + ], + [ + 31.867509321732882, + -101.1792824485085 + ], + [ + 45.41121049360788, + -109.14615977894175 + ], + [ + 63.73501864346588, + -113.12959150834513 + ], + [ + 72.49855735085225, + -113.12959150834513 + ], + [ + 75.68531383167613, + -108.34947065873575 + ], + [ + 74.091963334517, + -99.585918079723 + ], + [ + 68.51512562144887, + -92.41571599786926 + ], + [ + 66.12509987571025, + -90.02566250887782 + ], + [ + 66.12509987571025, + -90.02566250887782 + ] + ], + "pressures": [ + 0.0234375, + 0.21875, + 0.267578125, + 0.4287109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6923828125, + 0.2841796875, + 0.14453125, + 0.07421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.12509987571025, + -90.02566250887782 + ] + }, + { + "id": "NZr81rRkl70Da9R14zEMC", + "type": "freedraw", + "x": 65.64022866781681, + "y": -290.5253939938225, + "width": 98.78922895951706, + "height": 149.7772216796875, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 17963715, + "version": 348, + "versionNonce": 1408649165, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -1.5933782404118801 + ], + [ + -3.186700994318187, + -0.7966891202059401 + ], + [ + 7.170188210227252, + 3.186742609197495 + ], + [ + 19.917158647017004, + 3.186742609197495 + ], + [ + 34.257535067471565, + 0.7966891202059969 + ], + [ + 48.59796697443181, + -4.780120849609375 + ], + [ + 70.90515136718744, + -15.933740789240005 + ], + [ + 84.44890802556813, + -23.103928999467314 + ], + [ + 92.41577148437494, + -28.68073896928263 + ], + [ + 94.80579723011363, + -30.27410333806813 + ], + [ + 94.80579723011363, + -31.070806329900506 + ], + [ + 90.82236550071019, + -35.85092717950988 + ], + [ + 86.83887828480113, + -39.037683660333755 + ], + [ + 82.85544655539769, + -40.631048029119256 + ], + [ + 77.27866432883519, + -41.42773714932525 + ], + [ + 68.51512562144882, + -39.83437278053975 + ], + [ + 65.32836914062494, + -39.037683660333755 + ], + [ + 63.73496315696019, + -39.037683660333755 + ], + [ + 63.73496315696019, + -38.24098066850138 + ], + [ + 62.93828790838063, + -31.867495450106503 + ], + [ + 60.548262162642004, + -19.917186390269876 + ], + [ + 55.76809969815338, + 7.966877330433249 + ], + [ + 52.58139870383519, + 32.66417069868612 + ], + [ + 51.78466796874994, + 60.54824829101565 + ], + [ + 51.78466796874994, + 83.6521911621094 + ], + [ + 52.58139870383519, + 97.99253983931112 + ], + [ + 54.174693714488626, + 107.55280928178269 + ], + [ + 54.97142444957382, + 108.34948453036225 + ], + [ + 56.564830433238626, + 106.75610628995031 + ], + [ + 56.564830433238626, + 98.7892428311435 + ], + [ + 55.76809969815338, + 80.46540693803269 + ], + [ + 55.76809969815338, + 72.49854347922587 + ], + [ + 54.97142444957382, + 71.70189597389918 + ], + [ + 54.97142444957382, + 71.70189597389918 + ] + ], + "pressures": [ + 0.0625, + 0.1484375, + 0.7587890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.400390625, + 0.1591796875, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 54.97142444957382, + 71.70189597389918 + ] + }, + { + "id": "eoSgGnHGfovJXEsWQdC3d", + "type": "freedraw", + "x": 60.86006620332813, + "y": -292.11877223423437, + "width": 116.31625088778407, + "height": 23.90061811967331, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 526485091, + "version": 333, + "versionNonce": 1129097091, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.5767822265625, + 0.7966891202059401 + ], + [ + -6.373401988636317, + 0.7966891202059401 + ], + [ + -1.593350497159065, + -0.796675248579561 + ], + [ + 10.356944691051183, + -4.780106977982996 + ], + [ + 27.88407759232956, + -9.56024169921875 + ], + [ + 48.59796697443181, + -13.54368730024862 + ], + [ + 80.46542080965912, + -19.917186390269876 + ], + [ + 97.19593394886363, + -21.510550759055434 + ], + [ + 105.95941716974431, + -22.307239879261374 + ], + [ + 109.14622913707387, + -22.307239879261374 + ], + [ + 109.94284889914775, + -22.307239879261374 + ], + [ + 109.14622913707387, + -22.307239879261374 + ], + [ + 107.55282315340912, + -23.10392899946737 + ], + [ + 105.95941716974431, + -23.10392899946737 + ], + [ + 104.36606667258525, + -23.10392899946737 + ], + [ + 103.56939142400569, + -23.10392899946737 + ], + [ + 102.7726606889205, + -22.307239879261374 + ], + [ + 101.97598544034093, + -21.510550759055434 + ], + [ + 101.97598544034093, + -21.510550759055434 + ] + ], + "pressures": [ + 0.0068359375, + 0.1611328125, + 0.19921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8916015625, + 0.4501953125, + 0.189453125, + 0.0390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 101.97598544034093, + -21.510550759055434 + ] + }, + { + "id": "EbVSsfsmBWASoBMTW-o7s", + "type": "freedraw", + "x": 115.831490652902, + "y": -323.98626768434093, + "width": 7.966863458806813, + "height": 133.84346701882103, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2096691469, + "version": 328, + "versionNonce": 1658177069, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + 11.950309059836684 + ], + [ + -0.796675248579561, + 41.42775102095169 + ], + [ + -1.593295010653378, + 61.344923539595186 + ], + [ + -1.593295010653378, + 79.66874556107956 + ], + [ + -2.390025745738626, + 97.19587846235797 + ], + [ + -2.390025745738626, + 118.70641534978694 + ], + [ + -1.593295010653378, + 128.2666570490057 + ], + [ + 0, + 133.0468195134943 + ], + [ + 0.7967307350852479, + 133.84346701882103 + ], + [ + 1.593405983664752, + 133.84346701882103 + ], + [ + 3.186756480823874, + 125.87660356001422 + ], + [ + 3.983431729403435, + 117.90974010120738 + ], + [ + 5.576837713068187, + 112.33293013139206 + ], + [ + 5.576837713068187, + 111.53622713955966 + ], + [ + 5.576837713068187, + 111.53622713955966 + ] + ], + "pressures": [ + 0.1103515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4912109375, + 0.14453125, + 0.01171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.576837713068187, + 111.53622713955966 + ] + }, + { + "id": "_OG829BsyxIrUidnVeqZO", + "type": "freedraw", + "x": 160.44602589793044, + "y": -284.1518949038011, + "width": 67.71839488636363, + "height": 36.6476024280895, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 835188547, + "version": 326, + "versionNonce": 854769443, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -2.390067360617934 + ], + [ + -3.186756480823874, + -2.390067360617934 + ], + [ + 0.7966752485795041, + -3.983431729403435 + ], + [ + 7.170188210227252, + -7.966877330433249 + ], + [ + 17.527132901278378, + -12.746984308416245 + ], + [ + 30.274103338068187, + -19.120497270063993 + ], + [ + 50.19126198508519, + -28.680738969282686 + ], + [ + 58.158125443892004, + -33.4608736905185 + ], + [ + 62.14161265980107, + -35.850927179509995 + ], + [ + 63.73496315696019, + -36.6476024280895 + ], + [ + 61.344881924715935, + -35.054238059304 + ], + [ + 59.75153142755681, + -32.66417069868612 + ], + [ + 58.158125443892004, + -29.477428089488683 + ], + [ + 57.3614501953125, + -28.680738969282686 + ], + [ + 57.3614501953125, + -28.680738969282686 + ] + ], + "pressures": [ + 0.0546875, + 0.908203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.748046875, + 0.216796875, + 0.0078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 57.3614501953125, + -28.680738969282686 + ] + }, + { + "id": "LoB0QWAAVgwa79rYWFhV1", + "type": "freedraw", + "x": 206.65385615361225, + "y": -319.2061329631051, + "width": 9.560269442471565, + "height": 113.12963312322444, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1932350829, + "version": 326, + "versionNonce": 972454029, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + -3.983445601029871 + ], + [ + 1.593405983664752, + -4.780134721235811 + ], + [ + 1.593405983664752, + -3.983445601029871 + ], + [ + 1.593405983664752, + 3.186742609197438 + ], + [ + 1.593405983664752, + 21.510550759055377 + ], + [ + 0, + 37.444305419921875 + ], + [ + -2.390025745738626, + 55.768113569779814 + ], + [ + -5.5767822265625, + 74.09190784801135 + ], + [ + -7.170188210227309, + 90.82233775745738 + ], + [ + -7.966863458806813, + 101.9759854403409 + ], + [ + -7.966863458806813, + 108.34949840198863 + ], + [ + -7.966863458806813, + 106.75609241832385 + ], + [ + -7.966863458806813, + 101.1792824485085 + ], + [ + -7.966863458806813, + 96.39917547052556 + ], + [ + -7.966863458806813, + 94.80579723011363 + ], + [ + -7.966863458806813, + 94.80579723011363 + ] + ], + "pressures": [ + 0.078125, + 0.1767578125, + 0.3251953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9404296875, + 0.25390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.966863458806813, + 94.80579723011363 + ] + }, + { + "id": "E-DP0T1i2BqknWGMHFGiD", + "type": "freedraw", + "x": 166.02286361099863, + "y": -218.8234980199233, + "width": 62.14155717329538, + "height": 15.13710715553978, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1532216013, + "version": 319, + "versionNonce": 1630855875, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390025745738626, + -2.3901089754971565 + ], + [ + 9.560213955965878, + -4.7801624644886545 + ], + [ + 19.120427911931813, + -7.170215953480124 + ], + [ + 31.867453835227252, + -9.560297185724437 + ], + [ + 48.59785600142044, + -11.950322931463063 + ], + [ + 55.76804421164775, + -13.543728915127843 + ], + [ + 59.751475941051126, + -13.543728915127843 + ], + [ + 61.34488192471588, + -15.13710715553978 + ], + [ + 62.14155717329538, + -15.13710715553978 + ], + [ + 62.14155717329538, + -15.13710715553978 + ] + ], + "pressures": [ + 0.0693359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 62.14155717329538, + -15.13710715553978 + ] + }, + { + "id": "VjeA289pJT9VdqhanwJ_j", + "type": "freedraw", + "x": 164.42945762733382, + "y": -312.8326338730838, + "width": 79.66874556107956, + "height": 6.373499090021312, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 943131331, + "version": 323, + "versionNonce": 588373741, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + -0.7966891202059969 + ], + [ + 2.390025745738626, + -0.7966891202059969 + ], + [ + 11.153619939630687, + -1.593378240411937 + ], + [ + 32.6641845703125, + -2.390067360617934 + ], + [ + 48.597911487926126, + -3.186756480823874 + ], + [ + 62.14161265980118, + -3.983431729403435 + ], + [ + 72.49855735085231, + -3.983431729403435 + ], + [ + 78.07533957741481, + -3.983431729403435 + ], + [ + 78.07533957741481, + -5.576809969815372 + ], + [ + 76.48198908025569, + -6.373499090021312 + ], + [ + 74.88858309659093, + -6.373499090021312 + ], + [ + 74.09190784801132, + -6.373499090021312 + ], + [ + 73.29523259943181, + -5.576809969815372 + ], + [ + 73.29523259943181, + -5.576809969815372 + ] + ], + "pressures": [ + 0.0673828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.787109375, + 0.2705078125, + 0.1806640625, + 0.025390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 73.29523259943181, + -5.576809969815372 + ] + }, + { + "id": "SQsEOMgfafLR-iEwKXzS-", + "type": "freedraw", + "x": 205.8571809050327, + "y": -324.7829429329205, + "width": 7.966863458806813, + "height": 140.2169522372159, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1329452995, + "version": 324, + "versionNonce": 917607011, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983431729403378 + ], + [ + 0, + -3.186756480823874 + ], + [ + 0, + 1.593364368785501 + ], + [ + -0.796675248579561, + 22.307239879261374 + ], + [ + -3.983431729403435, + 46.207857998934685 + ], + [ + -7.170188210227252, + 74.09190784801137 + ], + [ + -7.966863458806813, + 97.99255371093753 + ], + [ + -7.966863458806813, + 114.72295587713069 + ], + [ + -7.170188210227252, + 129.86006303267047 + ], + [ + -5.576837713068187, + 134.6401422674006 + ], + [ + -4.780106977982939, + 136.23352050781253 + ], + [ + -4.780106977982939, + 134.6401422674006 + ], + [ + -5.576837713068187, + 130.65671053799718 + ], + [ + -5.576837713068187, + 126.67327880859378 + ], + [ + -4.780106977982939, + 125.07990056818184 + ], + [ + -4.780106977982939, + 125.07990056818184 + ] + ], + "pressures": [ + 0.0615234375, + 0.267578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4775390625, + 0.166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.780106977982939, + 125.07990056818184 + ] + }, + { + "id": "3GJ1kHPxaUMse3boe9d89", + "type": "freedraw", + "x": 157.25926941710657, + "y": -201.2964206051506, + "width": 6.373457475142061, + "height": 3.9834317294034065, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 515642467, + "version": 310, + "versionNonce": 1957787981, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350851911, + -2.3900534889914695 + ], + [ + 6.373457475142061, + -3.9834317294034065 + ], + [ + 6.373457475142061, + -3.9834317294034065 + ] + ], + "pressures": [ + 0.072265625, + 0.947265625, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.373457475142061, + -3.9834317294034065 + ] + }, + { + "id": "D9uPyBZWb_FqzO4_jLioX", + "type": "freedraw", + "x": 167.6162141081577, + "y": -206.8732028317131, + "width": 84.44885253906244, + "height": 1.5933504971590935, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1517971469, + "version": 308, + "versionNonce": 70733315, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 84.44885253906244, + 1.5933504971590935 + ], + [ + 84.44885253906244, + 1.5933504971590935 + ] + ], + "pressures": [ + 1, + 0.15625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 84.44885253906244, + 1.5933504971590935 + ] + }, + { + "id": "0UlMYAewZXO-AbibEmeD2", + "type": "freedraw", + "x": 256.84517362520313, + "y": -203.68647409414206, + "width": 72.49855735085225, + "height": 176.06790715997866, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 564103373, + "version": 357, + "versionNonce": 2016331693, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -7.966863458806813 + ], + [ + 0, + -18.323808149857967 + ], + [ + 0, + -30.27413108132103 + ], + [ + 0, + -44.61447975852272 + ], + [ + -0.7966752485795041, + -60.54823441938919 + ], + [ + -0.7966752485795041, + -78.87204256924718 + ], + [ + 1.593350497159122, + -109.14615977894175 + ], + [ + 3.186756480823874, + -125.07990056818181 + ], + [ + 4.780106977982996, + -133.84346701882106 + ], + [ + 4.780106977982996, + -138.6236017400568 + ], + [ + 4.780106977982996, + -143.4037225896662 + ], + [ + 6.373512961647748, + -147.38715431906962 + ], + [ + 7.170188210227252, + -149.7772216796875 + ], + [ + 7.170188210227252, + -150.57391079989344 + ], + [ + 7.96686345880687, + -148.18384343927556 + ], + [ + 10.356944691051126, + -142.60703346946025 + ], + [ + 13.543701171875, + -133.04677789861506 + ], + [ + 15.137051669034122, + -117.11302323774856 + ], + [ + 18.323808149857996, + -86.83891989968043 + ], + [ + 22.307239879261374, + -65.32835526899856 + ], + [ + 27.884077592329504, + -44.61447975852272 + ], + [ + 33.460859818892004, + -27.087346857244313 + ], + [ + 37.444291548295496, + -15.933754660866498 + ], + [ + 39.03769753196025, + -11.153592196377843 + ], + [ + 39.83437278053975, + -11.153592196377843 + ], + [ + 39.83437278053975, + -16.73042990944603 + ], + [ + 40.63104802911937, + -28.680752840909093 + ], + [ + 40.63104802911937, + -56.56480268998581 + ], + [ + 42.22439852627838, + -78.87204256924718 + ], + [ + 45.41115500710225, + -98.78922895951706 + ], + [ + 50.19131747159088, + -113.92629450017756 + ], + [ + 54.174693714488626, + -124.28322531960231 + ], + [ + 60.548206676136374, + -138.6236017400568 + ], + [ + 63.73501864346588, + -145.7937760786577 + ], + [ + 66.1250443892045, + -149.7772216796875 + ], + [ + 66.1250443892045, + -150.57391079989344 + ], + [ + 66.92171963778412, + -146.59046519886363 + ], + [ + 69.31174538352275, + -139.42027698863637 + ], + [ + 70.90520685369324, + -129.86003528941762 + ], + [ + 71.70188210227275, + -113.12959150834519 + ], + [ + 71.70188210227275, + -86.04223077947444 + ], + [ + 71.70188210227275, + -37.44429154829547 + ], + [ + 71.70188210227275, + -9.56024169921875 + ], + [ + 70.90520685369324, + 10.356944691051126 + ], + [ + 70.90520685369324, + 21.510564630681813 + ], + [ + 70.90520685369324, + 25.49399636008522 + ], + [ + 70.90520685369324, + 24.697321111505687 + ], + [ + 70.90520685369324, + 21.510564630681813 + ], + [ + 70.10853160511363, + 15.137051669034093 + ], + [ + 67.71839488636363, + 4.7801347212357825 + ], + [ + 66.92171963778412, + 0.796702991832376 + ], + [ + 66.1250443892045, + 0 + ], + [ + 66.1250443892045, + 0 + ] + ], + "pressures": [ + 0.05078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.345703125, + 0.1396484375, + 0.0615234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.1250443892045, + 0 + ] + }, + { + "id": "lna3XlPQQ92Ad4Fg55Q4A", + "type": "freedraw", + "x": 244.89487843699288, + "y": -208.46660881537787, + "width": 121.893144087358, + "height": 160.13418024236503, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 384553677, + "version": 348, + "versionNonce": 2093258147, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390025745738626, + -2.390025745738626 + ], + [ + 7.170188210227252, + -8.763538707386346 + ], + [ + 15.933726917613626, + -27.087346857244313 + ], + [ + 23.10391512784099, + -44.61447975852272 + ], + [ + 29.477428089488626, + -63.73497702858663 + ], + [ + 35.054210316051126, + -85.245527787642 + ], + [ + 40.63104802911937, + -107.55278153852981 + ], + [ + 46.20783025568187, + -131.45339965820312 + ], + [ + 47.80123623934662, + -137.82689874822444 + ], + [ + 47.80123623934662, + -138.62358786843038 + ], + [ + 47.80123623934662, + -134.64014226740056 + ], + [ + 47.80123623934662, + -121.89315795898438 + ], + [ + 48.597911487926126, + -105.95940329811788 + ], + [ + 50.987992720170496, + -86.838906028054 + ], + [ + 58.15812544389212, + -57.36147793856537 + ], + [ + 62.938287908380744, + -41.427723277698846 + ], + [ + 66.12498890269887, + -28.68072509765625 + ], + [ + 68.51512562144887, + -19.917186390269876 + ], + [ + 70.108476118608, + -15.933726917613626 + ], + [ + 70.9051513671875, + -15.137051669034093 + ], + [ + 71.70182661576712, + -17.527105158025563 + ], + [ + 72.49850186434662, + -27.087346857244313 + ], + [ + 74.09185236150574, + -40.63104802911931 + ], + [ + 78.87201482599437, + -62.93828790838063 + ], + [ + 84.4488525390625, + -81.26209605823863 + ], + [ + 90.02569025213074, + -98.78921508789062 + ], + [ + 96.39920321377849, + -116.31633411754262 + ], + [ + 105.16274192116475, + -133.843467018821 + ], + [ + 107.55276766690349, + -137.03020962801844 + ], + [ + 107.55276766690349, + -121.89315795898438 + ], + [ + 107.55276766690349, + -102.77266068892044 + ], + [ + 107.55276766690349, + -81.26209605823863 + ], + [ + 109.1461181640625, + -60.54822054776275 + ], + [ + 113.12960537997162, + -39.83434503728691 + ], + [ + 116.31630637428975, + -10.356889204545439 + ], + [ + 117.90965687144887, + 3.98345947265625 + ], + [ + 119.50311834161937, + 14.340376420454561 + ], + [ + 121.09646883877849, + 19.120511141690343 + ], + [ + 121.893144087358, + 21.510592373934657 + ], + [ + 121.893144087358, + 19.917186390269904 + ], + [ + 121.893144087358, + 15.137079412286937 + ], + [ + 120.29979359019887, + 9.560269442471593 + ], + [ + 119.50311834161937, + 6.373512961647748 + ], + [ + 119.50311834161937, + 6.373512961647748 + ] + ], + "pressures": [ + 0.072265625, + 0.876953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9365234375, + 0.4150390625, + 0.095703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 119.50311834161937, + 6.373512961647748 + ] + }, + { + "id": "MCnwG60FZYba6d6Gqj8HF", + "type": "freedraw", + "x": 401.04561307832813, + "y": -192.53285415451137, + "width": 103.5693359375, + "height": 152.16726129705256, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1584230765, + "version": 328, + "versionNonce": 263408141, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + -7.966863458806841 + ], + [ + -4.780162464488626, + -19.917186390269904 + ], + [ + -7.966863458806756, + -46.20783025568184 + ], + [ + -7.966863458806756, + -70.10848999023438 + ], + [ + -7.966863458806756, + -96.39916159889913 + ], + [ + -6.373401988636374, + -118.70641534978694 + ], + [ + -5.57683771306813, + -132.25008877840912 + ], + [ + -7.170188210227252, + -144.20039783824575 + ], + [ + -9.560324928977252, + -148.98053255948156 + ], + [ + -11.153675426136374, + -150.57389692826706 + ], + [ + -8.763649680397748, + -148.98053255948156 + ], + [ + -3.983487215909122, + -148.18382956764913 + ], + [ + 5.576837713068244, + -146.59046519886363 + ], + [ + 30.274103338068244, + -145.7937760786577 + ], + [ + 49.394642223011374, + -146.59046519886363 + ], + [ + 66.92171963778412, + -148.98053255948156 + ], + [ + 82.05877130681824, + -151.370586048473 + ], + [ + 91.61898526278412, + -152.16726129705256 + ], + [ + 92.41566051136363, + -152.16726129705256 + ], + [ + 91.61898526278412, + -149.7772216796875 + ], + [ + 88.43228426846588, + -147.38715431906962 + ], + [ + 83.65212180397725, + -144.99708695845175 + ], + [ + 74.09190784801137, + -141.0136552290483 + ], + [ + 70.90509588068187, + -141.0136552290483 + ], + [ + 70.90509588068187, + -141.0136552290483 + ] + ], + "pressures": [ + 0.1171875, + 0.712890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8095703125, + 0.140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 70.90509588068187, + -141.0136552290483 + ] + }, + { + "id": "_ARsPpQaXnBsc-WL4RuMa", + "type": "freedraw", + "x": 393.0787496195214, + "y": -273.79496408437643, + "width": 90.025634765625, + "height": 4.780120849609375, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 544581379, + "version": 316, + "versionNonce": 1871178051, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + 0.7966891202059401 + ], + [ + 4.780051491477252, + -1.5933643687855579 + ], + [ + 11.950239701704504, + -3.186742609197438 + ], + [ + 24.697265625, + -3.983431729403435 + ], + [ + 42.224343039772634, + -3.983431729403435 + ], + [ + 67.71839488636363, + -3.983431729403435 + ], + [ + 79.66863458806813, + -3.983431729403435 + ], + [ + 86.04214754971588, + -3.983431729403435 + ], + [ + 89.22907049005676, + -3.983431729403435 + ], + [ + 90.025634765625, + -3.983431729403435 + ], + [ + 86.04214754971588, + -3.983431729403435 + ], + [ + 80.46542080965901, + -0.7966891202059401 + ], + [ + 77.27871981534088, + 0.7966891202059401 + ], + [ + 77.27871981534088, + 0.7966891202059401 + ] + ], + "pressures": [ + 0.1572265625, + 0.9423828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.259765625, + 0.052734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 77.27871981534088, + 0.7966891202059401 + ] + }, + { + "id": "p6A-oYuH-Xs7w31CLoaDu", + "type": "freedraw", + "x": 403.43563882406676, + "y": -203.68647409414206, + "width": 118.70649857954544, + "height": 12.746998180042624, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 367801347, + "version": 313, + "versionNonce": 473464941, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.950350674715878, + 0 + ], + [ + 25.493940873579618, + -3.9834317294034065 + ], + [ + 43.021240234375, + -9.56024169921875 + ], + [ + 63.73501864346588, + -11.950322931463063 + ], + [ + 87.63560901988637, + -12.746998180042624 + ], + [ + 112.33287464488643, + -9.56024169921875 + ], + [ + 117.90971235795445, + -7.966863458806813 + ], + [ + 118.70649857954544, + -7.170160466974437 + ], + [ + 117.11303710937494, + -3.9834317294034065 + ], + [ + 113.92633611505693, + -2.390053488991498 + ], + [ + 112.33287464488643, + -2.390053488991498 + ], + [ + 112.33287464488643, + -2.390053488991498 + ] + ], + "pressures": [ + 0.0859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.923828125, + 0.1865234375, + 0.0498046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 112.33287464488643, + -2.390053488991498 + ] + }, + { + "id": "i_5FCKqmX9iTE-EnlbNzB", + "type": "freedraw", + "x": 137.34205528358382, + "y": -282.55851666338924, + "width": 169.69443581321025, + "height": 30.274117209694623, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 914619565, + "version": 342, + "versionNonce": 1105184995, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.593364368785501 + ], + [ + -2.390025745738626, + 0.7966891202059969 + ], + [ + -7.170132723721565, + -0.7966891202059401 + ], + [ + -13.543645685369313, + -2.390067360617877 + ], + [ + -20.713833895596565, + -3.983445601029814 + ], + [ + -27.884022105823874, + -6.373499090021255 + ], + [ + -38.240966796875, + -9.56025557084513 + ], + [ + -43.02107377485794, + -12.746998180042624 + ], + [ + -46.20783025568181, + -15.137065540660501 + ], + [ + -47.004505504261374, + -16.73044378107238 + ], + [ + -47.801236239346565, + -17.527119029652 + ], + [ + -47.004505504261374, + -17.527119029652 + ], + [ + -43.81780450994319, + -18.323794278231503 + ], + [ + -39.03764204545456, + -19.12049727006388 + ], + [ + -33.46085981889206, + -18.323794278231503 + ], + [ + -22.307239879261374, + -12.746998180042624 + ], + [ + -11.950295188210191, + -7.966877330433249 + ], + [ + 0.7967307350852479, + -3.186756480823874 + ], + [ + 21.510564630681813, + 3.983431729403435 + ], + [ + 35.05426580255681, + 7.170188210227252 + ], + [ + 50.98799272017044, + 10.356930819424747 + ], + [ + 70.10847611860794, + 11.153619939630744 + ], + [ + 90.02569025213069, + 11.153619939630744 + ], + [ + 106.75609241832382, + 10.356930819424747 + ], + [ + 120.29979359019882, + 7.96686345880687 + ], + [ + 121.89319957386368, + 6.373499090021369 + ], + [ + 121.09646883877843, + 2.390053488991498 + ], + [ + 112.33293013139206, + -8.763566450639189 + ], + [ + 101.17931019176132, + -15.137065540660501 + ], + [ + 88.43228426846593, + -18.323794278231503 + ], + [ + 75.68531383167613, + -18.323794278231503 + ], + [ + 63.735018643465935, + -15.933754660866498 + ], + [ + 53.37807395241481, + -13.543687300248564 + ], + [ + 41.42777876420456, + -9.56025557084513 + ], + [ + 36.64767178622162, + -7.170188210227252 + ], + [ + 34.25759055397731, + -5.576809969815315 + ], + [ + 33.46085981889206, + -5.576809969815315 + ], + [ + 33.46085981889206, + -4.780134721235754 + ], + [ + 35.05426580255681, + -1.5933782404118801 + ], + [ + 35.850941051136374, + -0.7966891202059401 + ], + [ + 35.850941051136374, + -0.7966891202059401 + ] + ], + "pressures": [ + 0.06640625, + 0.1044921875, + 0.580078125, + 0.73046875, + 0.8935546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.36328125, + 0.181640625, + 0.0283203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.850941051136374, + -0.7966891202059401 + ] + }, + { + "id": "TkTfsyr97lUEpNnYEt0b2", + "type": "freedraw", + "x": 164.42945762733382, + "y": -276.98170669357387, + "width": 107.55276766690343, + "height": 125.87661743164057, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1175979203, + "version": 339, + "versionNonce": 596110029, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983445601029871 + ], + [ + 0.796675248579561, + -6.373499090021312 + ], + [ + 2.390025745738626, + -7.966877330433249 + ], + [ + 3.186756480823874, + -9.560255570845186 + ], + [ + 3.983431729403435, + -10.356944691051126 + ], + [ + 3.983431729403435, + -11.950309059836627 + ], + [ + 3.983431729403435, + -7.170188210227252 + ], + [ + 3.983431729403435, + 3.983431729403378 + ], + [ + 3.983431729403435, + 19.917186390269876 + ], + [ + 3.186756480823874, + 41.42775102095169 + ], + [ + 0.796675248579561, + 76.48198908025566 + ], + [ + -2.390025745738626, + 94.80579723011363 + ], + [ + -4.780162464488626, + 105.95944491299713 + ], + [ + -6.373457475142061, + 111.53622713955963 + ], + [ + -6.373457475142061, + 113.12960537997157 + ], + [ + -6.373457475142061, + 113.92630837180394 + ], + [ + -8.763594193892061, + 113.12960537997157 + ], + [ + -15.137051669034065, + 109.94287664240056 + ], + [ + -31.070834073153378, + 101.1792824485085 + ], + [ + -43.021129261363626, + 94.80579723011363 + ], + [ + -52.58139870383519, + 89.22898726029828 + ], + [ + -59.7515869140625, + 86.04225852272725 + ], + [ + -65.328369140625, + 83.65217729048294 + ], + [ + -65.328369140625, + 82.85547429865056 + ], + [ + -64.53169389204544, + 82.85547429865056 + ], + [ + -58.95485617897725, + 82.85547429865056 + ], + [ + -44.61453524502838, + 83.65217729048294 + ], + [ + -29.477428089488626, + 83.65217729048294 + ], + [ + -11.153619939630687, + 85.24555553089488 + ], + [ + 7.170188210227309, + 87.63560901988635 + ], + [ + 31.070778586647748, + 91.61904074928975 + ], + [ + 39.03764204545456, + 94.00912198153407 + ], + [ + 41.427723277698874, + 95.60247247869316 + ], + [ + 42.224398526278435, + 95.60247247869316 + ], + [ + 38.240966796875, + 92.41571599786931 + ], + [ + 35.85088556463069, + 91.61904074928975 + ], + [ + 35.054210316051126, + 91.61904074928975 + ], + [ + 35.054210316051126, + 92.41571599786931 + ], + [ + 35.054210316051126, + 92.41571599786931 + ] + ], + "pressures": [ + 0.0166015625, + 0.072265625, + 0.123046875, + 0.154296875, + 0.1962890625, + 0.21484375, + 0.3369140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.58203125, + 0.3720703125, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.054210316051126, + 92.41571599786931 + ] + }, + { + "id": "PePuekK0xtC7Pj0Sljrh_", + "type": "freedraw", + "x": 174.78640231838494, + "y": -264.23470851353125, + "width": 181.64467551491475, + "height": 38.24099454012784, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 137331363, + "version": 339, + "versionNonce": 693810307, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983487215909065, + -1.5933782404119938 + ], + [ + -10.356944691051126, + -3.983445601029871 + ], + [ + -18.32380814985794, + -7.966877330433249 + ], + [ + -35.85094105113632, + -12.746998180042624 + ], + [ + -48.597911487926126, + -15.933754660866498 + ], + [ + -58.95491166548294, + -19.120497270063936 + ], + [ + -66.92177512428975, + -21.51056463068187 + ], + [ + -72.49850186434657, + -23.90061811967331 + ], + [ + -75.68531383167613, + -25.493996360085248 + ], + [ + -76.48198908025569, + -25.493996360085248 + ], + [ + -75.68531383167613, + -26.290685480291245 + ], + [ + -68.51507013494319, + -27.087374600497185 + ], + [ + -59.7515869140625, + -24.69730723987925 + ], + [ + -46.2078857421875, + -17.527119029652 + ], + [ + -28.680697354403378, + -7.170188210227252 + ], + [ + -10.356944691051126, + 2.390053488991498 + ], + [ + 15.137051669034122, + 10.356944691051126 + ], + [ + 31.070778586647748, + 11.153619939630659 + ], + [ + 46.20783025568181, + 11.153619939630659 + ], + [ + 70.10847611860794, + 11.153619939630659 + ], + [ + 86.04220303622157, + 8.763566450639189 + ], + [ + 98.78922895951706, + 6.373485218394876 + ], + [ + 104.36601118607956, + 3.186756480823874 + ], + [ + 105.16268643465907, + 0 + ], + [ + 105.16268643465907, + -4.780120849609375 + ], + [ + 96.39914772727269, + -13.54368730024862 + ], + [ + 86.83887828480118, + -16.730443781072495 + ], + [ + 73.29523259943181, + -17.527119029652 + ], + [ + 58.15812544389206, + -15.137065540660501 + ], + [ + 34.25753506747162, + -8.763566450639246 + ], + [ + 19.91715864701706, + -4.780120849609375 + ], + [ + 10.356889204545496, + -0.7966891202059969 + ], + [ + 5.5767822265625, + 0.7966891202059401 + ], + [ + 3.983431729403435, + 0.7966891202059401 + ], + [ + 4.780106977982996, + 0.7966891202059401 + ], + [ + 8.763538707386374, + 0.7966891202059401 + ], + [ + 14.340320933948874, + 0.7966891202059401 + ], + [ + 15.933726917613683, + 0.7966891202059401 + ], + [ + 15.933726917613683, + 0.7966891202059401 + ] + ], + "pressures": [ + 0.0849609375, + 0.56640625, + 0.87890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4853515625, + 0.2080078125, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.933726917613683, + 0.7966891202059401 + ] + }, + { + "id": "rai2_Vhwp7BDkZ0SuAPbY", + "type": "freedraw", + "x": 188.33004800375426, + "y": -256.2678450547245, + "width": 26.290616122159065, + "height": 148.183857310902, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 463668365, + "version": 317, + "versionNonce": 909838637, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159065, + -7.170174338600816 + ], + [ + -2.390025745738626, + -12.746984308416131 + ], + [ + -2.390025745738626, + -16.730429909446002 + ], + [ + -3.186756480823817, + -17.527119029651942 + ], + [ + -3.983431729403378, + -11.950309059836627 + ], + [ + -5.5767822265625, + 0.7967029918324329 + ], + [ + -7.170188210227252, + 21.510592373934685 + ], + [ + -11.15361993963063, + 47.00456099076709 + ], + [ + -17.527132901278378, + 86.83893377130687 + ], + [ + -21.510564630681813, + 109.14620139382106 + ], + [ + -25.49399636008519, + 124.28322531960231 + ], + [ + -26.290616122159065, + 129.86003528941762 + ], + [ + -26.290616122159065, + 130.65673828125006 + ], + [ + -26.290616122159065, + 129.86003528941762 + ], + [ + -25.49399636008519, + 125.07992831143468 + ], + [ + -24.69732111150563, + 120.29979359019887 + ], + [ + -23.90059037642044, + 116.3163618607955 + ], + [ + -23.90059037642044, + 116.3163618607955 + ] + ], + "pressures": [ + 0.0888671875, + 0.1689453125, + 0.224609375, + 0.279296875, + 0.33984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9833984375, + 0.4423828125, + 0.1787109375, + 0.076171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.90059037642044, + 116.3163618607955 + ] + }, + { + "id": "Wtd-8kAkB0ax-cGmVzTNf", + "type": "freedraw", + "x": 202.67042442420882, + "y": -129.59456624613068, + "width": 3.186756480823874, + "height": 74.88858309659093, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1317480525, + "version": 309, + "versionNonce": 632761379, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -2.390053488991498 + ], + [ + 0, + -15.137051669034122 + ], + [ + 0, + -27.884049849076746 + ], + [ + 0, + -43.02110151811081 + ], + [ + 0.796675248579561, + -56.56477494673297 + ], + [ + 0.796675248579561, + -63.73496315696025 + ], + [ + 0, + -70.10847611860797 + ], + [ + -0.796675248579561, + -72.49852960759944 + ], + [ + -1.593350497159065, + -74.09190784801137 + ], + [ + -2.390081232244313, + -74.88858309659093 + ], + [ + -2.390081232244313, + -74.88858309659093 + ] + ], + "pressures": [ + 0.07421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8173828125, + 0.2919921875, + 0.1875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.390081232244313, + -74.88858309659093 + ] + }, + { + "id": "jF0VTts8AXcAv1w1FW3Ko", + "type": "freedraw", + "x": 200.2803431919645, + "y": -218.8234980199233, + "width": 12.747025923295496, + "height": 34.25756281072444, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 276803779, + "version": 302, + "versionNonce": 364600205, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -0.7967307350852479 + ], + [ + -0.796675248579561, + 0.796647505326689 + ], + [ + 10.356944691051126, + 31.07077858664772 + ], + [ + 11.950350674715935, + 33.46083207563919 + ], + [ + 11.950350674715935, + 33.46083207563919 + ] + ], + "pressures": [ + 0.15234375, + 0.927734375, + 0.98828125, + 0.279296875, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.950350674715935, + 33.46083207563919 + ] + }, + { + "id": "EmFB8Do1vy207oQ93W1Ib", + "type": "freedraw", + "x": 225.77433955204975, + "y": -147.12164366090343, + "width": 72.49855735085225, + "height": 93.21239124644887, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1237687309, + "version": 336, + "versionNonce": 988000195, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350852479, + -7.170215953480124 + ], + [ + 3.983487215909122, + -70.10850386186078 + ], + [ + 3.983487215909122, + -65.32839688387784 + ], + [ + 4.780162464488626, + -47.80123623934659 + ], + [ + 4.780162464488626, + -39.03769753196022 + ], + [ + 2.390081232244256, + -16.730457652698874 + ], + [ + 1.593405983664752, + -10.356972434303998 + ], + [ + 1.593405983664752, + -9.560269442471565 + ], + [ + 1.593405983664752, + -18.32383589311081 + ], + [ + 3.983487215909122, + -31.86750932173294 + ], + [ + 9.560269442471622, + -47.80123623934659 + ], + [ + 18.323808149857882, + -59.75155917080966 + ], + [ + 24.69732111150563, + -62.14164040305397 + ], + [ + 30.274158824573874, + -58.15820867365056 + ], + [ + 31.867509321732882, + -51.78469571200284 + ], + [ + 31.867509321732882, + -43.81780450994319 + ], + [ + 31.070834073153378, + -31.070834073153407 + ], + [ + 26.290727095170382, + -11.950322931463063 + ], + [ + 24.69732111150563, + -5.576837713068187 + ], + [ + 24.69732111150563, + -4.780162464488626 + ], + [ + 24.69732111150563, + -6.373540704900563 + ], + [ + 26.290727095170382, + -12.747025923295439 + ], + [ + 31.867509321732882, + -33.460887562144876 + ], + [ + 40.631103515625, + -51.78469571200284 + ], + [ + 53.37807395241475, + -67.71842262961647 + ], + [ + 63.73501864346588, + -75.68531383167613 + ], + [ + 68.51512562144887, + -75.68531383167613 + ], + [ + 71.70188210227275, + -65.32839688387784 + ], + [ + 72.49855735085225, + -56.564830433238626 + ], + [ + 72.49855735085225, + -43.81780450994319 + ], + [ + 70.90520685369313, + -26.290699351917624 + ], + [ + 65.328369140625, + -0.7967307350852479 + ], + [ + 62.938343394886374, + 11.153592196377815 + ], + [ + 61.34493741122162, + 16.730402166193187 + ], + [ + 61.34493741122162, + 17.527077414772748 + ], + [ + 61.34493741122162, + 16.730402166193187 + ], + [ + 60.548262162642004, + 12.746970436789752 + ], + [ + 59.7515869140625, + 10.356916947798311 + ], + [ + 59.7515869140625, + 9.560213955965935 + ], + [ + 59.7515869140625, + 9.560213955965935 + ] + ], + "pressures": [ + 0.1201171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3974609375, + 0.2578125, + 0.1455078125, + 0.0830078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 59.7515869140625, + 9.560213955965935 + ] + }, + { + "id": "SuAY6qwLh5-5Zii7LZePG", + "type": "freedraw", + "x": 131.76527305702132, + "y": -272.9982749641705, + "width": 129.06333229758525, + "height": 138.62358786843038, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1848384877, + "version": 389, + "versionNonce": 440558061, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558548, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.170188210227252, + -0.7966891202059401 + ], + [ + -10.356944691051126, + -1.5933782404118801 + ], + [ + -11.153619939630687, + -1.5933782404118801 + ], + [ + -10.356944691051126, + -1.5933782404118801 + ], + [ + 0.796675248579561, + -1.5933782404118801 + ], + [ + 15.137051669034122, + -1.5933782404118801 + ], + [ + 30.274158824573874, + -1.5933782404118801 + ], + [ + 44.61447975852275, + -3.983431729403378 + ], + [ + 57.3614501953125, + -6.373499090021255 + ], + [ + 71.70182661576706, + -9.56024169921875 + ], + [ + 77.27866432883525, + -11.15361993963063 + ], + [ + 78.87201482599431, + -11.950309059836627 + ], + [ + 79.66874556107956, + -11.950309059836627 + ], + [ + 78.07533957741481, + -12.746998180042624 + ], + [ + 73.29523259943181, + -12.746998180042624 + ], + [ + 66.92171963778412, + -13.543687300248564 + ], + [ + 59.75153142755681, + -14.340376420454504 + ], + [ + 51.78466796875, + -15.933740789240005 + ], + [ + 40.63104802911931, + -18.32380814985794 + ], + [ + 34.25759055397731, + -19.12049727006388 + ], + [ + 30.274158824573874, + -19.91717251864344 + ], + [ + 27.884022105823874, + -20.71386163884938 + ], + [ + 26.29072709517044, + -21.510550759055377 + ], + [ + 26.29072709517044, + -20.71386163884938 + ], + [ + 28.680752840909122, + -8.763552579012753 + ], + [ + 29.477428089488626, + 3.983445601029871 + ], + [ + 30.274158824573874, + 19.917186390269904 + ], + [ + 31.070778586647748, + 39.037669788707404 + ], + [ + 31.070778586647748, + 60.54823441938922 + ], + [ + 31.070778586647748, + 89.22898726029831 + ], + [ + 31.070778586647748, + 103.56936368075287 + ], + [ + 31.070778586647748, + 110.73955189098012 + ], + [ + 31.070778586647748, + 114.72298362038356 + ], + [ + 31.070778586647748, + 116.3163618607955 + ], + [ + 31.86745383522731, + 117.113037109375 + ], + [ + 31.86745383522731, + 113.926308371804 + ], + [ + 29.477428089488626, + 97.99258145419037 + ], + [ + 28.680752840909122, + 80.46542080965912 + ], + [ + 28.680752840909122, + 60.54823441938922 + ], + [ + 30.274158824573874, + 40.63104802911934 + ], + [ + 30.274158824573874, + 23.90061811967331 + ], + [ + 31.070778586647748, + 7.966877330433249 + ], + [ + 31.070778586647748, + -0.7966891202059401 + ], + [ + 30.274158824573874, + -7.966877330433249 + ], + [ + 29.477428089488626, + -15.137051669034065 + ], + [ + 28.680752840909122, + -18.32380814985794 + ], + [ + 27.884022105823874, + -18.32380814985794 + ], + [ + 27.884022105823874, + -15.137051669034065 + ], + [ + 27.087346857244313, + -8.763552579012753 + ], + [ + 22.30729536576706, + 2.390067360617877 + ], + [ + 19.1204833984375, + 7.170188210227252 + ], + [ + 15.137051669034122, + 9.560255570845186 + ], + [ + 7.966863458806813, + 10.356930819424747 + ], + [ + -7.170188210227252, + 10.356930819424747 + ], + [ + -15.933782404119313, + 10.356930819424747 + ], + [ + -23.103970614346565, + 7.966877330433249 + ], + [ + -26.290671608664752, + 5.576809969815372 + ], + [ + -28.680752840909065, + 3.983445601029871 + ], + [ + -28.680752840909065, + 3.186756480823874 + ], + [ + -24.697321111505687, + 0.7966891202059969 + ], + [ + -17.52707741477269, + -0.7966891202059401 + ], + [ + -5.5767822265625, + -1.5933782404118801 + ], + [ + 19.1204833984375, + -2.390053488991498 + ], + [ + 37.44429154829544, + -3.186742609197381 + ], + [ + 58.95485617897731, + -4.780120849609375 + ], + [ + 81.26209605823863, + -5.576809969815315 + ], + [ + 94.80579723011368, + -5.576809969815315 + ], + [ + 100.38257945667618, + -5.576809969815315 + ], + [ + 99.58590420809657, + -5.576809969815315 + ], + [ + 95.60247247869319, + -5.576809969815315 + ], + [ + 88.43228426846593, + -5.576809969815315 + ], + [ + 76.48198908025569, + -5.576809969815315 + ], + [ + 66.12504438920456, + -4.780120849609375 + ], + [ + 54.17474920099431, + -3.983431729403378 + ], + [ + 40.63104802911931, + -3.983431729403378 + ], + [ + 27.087346857244313, + -3.983431729403378 + ], + [ + 7.966863458806813, + -3.983431729403378 + ], + [ + -2.390081232244313, + -3.983431729403378 + ], + [ + -7.170188210227252, + -3.983431729403378 + ], + [ + -8.763594193892061, + -3.983431729403378 + ], + [ + -7.966863458806813, + -3.983431729403378 + ], + [ + -3.983431729403378, + -2.390053488991498 + ], + [ + 0.796675248579561, + -2.390053488991498 + ], + [ + 6.373512961647748, + -1.5933782404118801 + ], + [ + 16.730402166193187, + -1.5933782404118801 + ], + [ + 23.90059037642044, + -0.7966891202059401 + ], + [ + 31.070778586647748, + -0.7966891202059401 + ], + [ + 37.44429154829544, + 0.7966891202059969 + ], + [ + 38.24102228338069, + 1.5933782404119938 + ], + [ + 38.24102228338069, + 2.390067360617877 + ], + [ + 38.24102228338069, + 3.186756480823874 + ], + [ + 37.44429154829544, + 3.186756480823874 + ], + [ + 37.44429154829544, + 3.186756480823874 + ] + ], + "pressures": [ + 0.0859375, + 0.208984375, + 0.35546875, + 0.6826171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5537109375, + 0.26171875, + 0.1953125, + 0.0322265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 37.44429154829544, + 3.186756480823874 + ] + }, + { + "id": "fSYi0cj0UsXEEg8MW4zMr", + "type": "freedraw", + "x": 210.63728788301563, + "y": -265.82808675394324, + "width": 29.477428089488626, + "height": 5.576809969815372, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1991625517, + "version": 299, + "versionNonce": 929727139, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 29.477428089488626, + -2.390067360617877 + ], + [ + 27.08740234375, + 3.186742609197495 + ], + [ + 28.680752840909122, + 0.7966891202059969 + ], + [ + 28.680752840909122, + 0.7966891202059969 + ] + ], + "pressures": [ + 0.38671875, + 1, + 0.30859375, + 0.083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 28.680752840909122, + 0.7966891202059969 + ] + }, + { + "id": "ver0LeKaUPcRNMv4Hd6iu", + "type": "freedraw", + "x": 307.036491096794, + "y": -193.32952940309093, + "width": 72.49855735085225, + "height": 148.98054643110794, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1932339715, + "version": 331, + "versionNonce": 1403942371, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 1.593378240411937 + ], + [ + -0.7966752485795041, + -8.763566450639189 + ], + [ + 0, + -22.30726762251419 + ], + [ + 2.390025745738626, + -40.63107577237216 + ], + [ + 6.373512961647748, + -71.70186823064631 + ], + [ + 7.96686345880687, + -91.61905462091619 + ], + [ + 9.560213955965992, + -110.73955189098007 + ], + [ + 11.153564453125, + -122.68986095081675 + ], + [ + 11.950239701704618, + -128.26667092063207 + ], + [ + 12.747025923295496, + -129.06336004083806 + ], + [ + 12.747025923295496, + -127.46996792879969 + ], + [ + 13.543701171875, + -118.70642922141332 + ], + [ + 15.137051669034122, + -101.97598544034093 + ], + [ + 15.933726917613626, + -66.12507213245738 + ], + [ + 17.527077414772748, + -40.63107577237216 + ], + [ + 20.713889382102366, + -20.71388938210228 + ], + [ + 24.697265625, + -9.56024169921875 + ], + [ + 26.290616122159122, + -6.3735129616477195 + ], + [ + 26.290616122159122, + -5.5768099698153435 + ], + [ + 27.08740234375, + -15.137079412286937 + ], + [ + 27.08740234375, + -32.6641845703125 + ], + [ + 27.08740234375, + -54.971424449573846 + ], + [ + 31.070778586647748, + -88.43229814009231 + ], + [ + 34.257590553977366, + -107.55278153852981 + ], + [ + 36.64761629971599, + -118.70642922141332 + ], + [ + 38.240966796875, + -121.89317183061081 + ], + [ + 38.240966796875, + -122.68986095081675 + ], + [ + 39.03764204545462, + -119.50310446999288 + ], + [ + 43.021129261363626, + -107.55278153852981 + ], + [ + 48.597856001420496, + -84.44886641068894 + ], + [ + 58.954856178977366, + -39.83437278053978 + ], + [ + 64.5316938920455, + -15.137079412286937 + ], + [ + 68.51507013494324, + 3.1867287375710305 + ], + [ + 70.10842063210237, + 15.137051669034093 + ], + [ + 70.90520685369324, + 19.1204833984375 + ], + [ + 70.90520685369324, + 19.917186390269876 + ], + [ + 71.70188210227275, + 19.917186390269876 + ], + [ + 69.31174538352275, + 16.730429909446002 + ], + [ + 63.73501864346599, + 7.1701882102272805 + ], + [ + 61.34488192471599, + 3.1867287375710305 + ], + [ + 61.34488192471599, + 3.1867287375710305 + ] + ], + "pressures": [ + 0.029296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3935546875, + 0.126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 61.34488192471599, + 3.1867287375710305 + ] + }, + { + "id": "geG7dbPcYOOgfL1Ydh22U", + "type": "freedraw", + "x": 322.17354276582813, + "y": -198.90633937290627, + "width": 56.56471946022725, + "height": 148.98054643110794, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 62621069, + "version": 338, + "versionNonce": 1560710605, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.98345947265625 + ], + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -7.966863458806813 + ], + [ + -1.593350497159122, + -19.120511141690343 + ], + [ + -2.390025745738626, + -43.021129261363626 + ], + [ + -1.593350497159122, + -62.938315651633474 + ], + [ + 0.7966752485795041, + -85.24555553089485 + ], + [ + 2.390025745738626, + -105.95941716974434 + ], + [ + 3.983376242897748, + -121.89315795898435 + ], + [ + 4.780162464488626, + -137.03023737127128 + ], + [ + 4.780162464488626, + -141.81034434925422 + ], + [ + 4.780162464488626, + -143.4037364612926 + ], + [ + 4.780162464488626, + -140.21697998046872 + ], + [ + 5.576837713068244, + -121.89315795898435 + ], + [ + 7.170188210227252, + -101.97597156871447 + ], + [ + 8.763538707386374, + -77.2786782004616 + ], + [ + 11.153564453125, + -50.98799272017044 + ], + [ + 14.340376420454504, + -25.49399636008522 + ], + [ + 18.323752663352252, + -1.593378240411937 + ], + [ + 19.917214133522748, + 3.98345947265625 + ], + [ + 20.713889382102252, + 3.98345947265625 + ], + [ + 22.307239879261374, + -6.3735129616477195 + ], + [ + 23.900590376420496, + -19.120511141690343 + ], + [ + 24.697265625, + -35.85091330788353 + ], + [ + 24.697265625, + -54.971424449573846 + ], + [ + 25.493940873579504, + -72.49855735085222 + ], + [ + 25.493940873579504, + -92.41574374112216 + ], + [ + 26.290616122159122, + -102.77267456054685 + ], + [ + 26.290616122159122, + -110.7395518909801 + ], + [ + 27.08740234375, + -115.51967274058947 + ], + [ + 27.884077592329504, + -119.5031044699929 + ], + [ + 27.884077592329504, + -117.11305098100141 + ], + [ + 29.477428089488626, + -107.55279541015622 + ], + [ + 31.867453835227252, + -89.22898726029828 + ], + [ + 39.83431729403412, + -50.19131747159091 + ], + [ + 45.41115500710225, + -25.49399636008522 + ], + [ + 49.394642223011374, + -11.15364768288353 + ], + [ + 51.78466796875, + -6.3735129616477195 + ], + [ + 52.581343217329504, + -5.5768099698153435 + ], + [ + 53.37801846590912, + -5.5768099698153435 + ], + [ + 54.174693714488626, + -4.7801347212357825 + ], + [ + 54.174693714488626, + -3.1867564808238455 + ], + [ + 53.37801846590912, + 0 + ], + [ + 52.581343217329504, + 2.3900534889914695 + ], + [ + 51.78466796875, + 4.7801069779829675 + ], + [ + 51.78466796875, + 5.5768099698153435 + ], + [ + 51.78466796875, + 3.1867287375710305 + ], + [ + 50.987992720170496, + 2.3900534889914695 + ], + [ + 50.987992720170496, + 2.3900534889914695 + ] + ], + "pressures": [ + 0.048828125, + 0.1708984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.23046875, + 0.1279296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 50.987992720170496, + 2.3900534889914695 + ] + }, + { + "id": "Ylx3YVLO_qs5c9bj5sW7E", + "type": "freedraw", + "x": 298.272896902902, + "y": -198.1096641243267, + "width": 82.85550204190338, + "height": 140.2169661088423, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 758920845, + "version": 336, + "versionNonce": 1187758467, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795325 + ], + [ + 1.593405983664752, + -3.9834317294034065 + ], + [ + 4.780106977982996, + -13.543673428622157 + ], + [ + 10.356944691051126, + -31.07080632990059 + ], + [ + 17.527132901278378, + -52.581370960582404 + ], + [ + 27.08734685724437, + -81.26210992986503 + ], + [ + 31.070834073153378, + -96.39916159889916 + ], + [ + 33.460859818892004, + -109.14615977894178 + ], + [ + 34.25753506747162, + -116.31634798916903 + ], + [ + 35.054210316051126, + -118.70640147816053 + ], + [ + 35.054210316051126, + -117.90972622958097 + ], + [ + 35.850996537642004, + -113.1296053799716 + ], + [ + 37.444347034801126, + -103.56934980912641 + ], + [ + 38.24102228338063, + -88.43229814009234 + ], + [ + 41.427723277698874, + -50.98799272017047 + ], + [ + 45.411210493607996, + -25.493996360085248 + ], + [ + 49.39458673650563, + -9.56024169921875 + ], + [ + 51.78472345525563, + -4.7801069779829675 + ], + [ + 53.37807395241475, + -3.9834317294034065 + ], + [ + 54.17474920099437, + -13.543673428622157 + ], + [ + 55.76809969815338, + -29.477428089488654 + ], + [ + 58.15823641690338, + -50.98799272017047 + ], + [ + 62.141612659801126, + -73.29523259943178 + ], + [ + 67.71845037286937, + -96.39916159889916 + ], + [ + 70.108476118608, + -103.56934980912641 + ], + [ + 71.701826615767, + -108.34947065873578 + ], + [ + 72.498612837358, + -111.53622713955966 + ], + [ + 73.2952880859375, + -113.1296053799716 + ], + [ + 74.091963334517, + -112.33291625976565 + ], + [ + 75.68531383167613, + -103.56934980912641 + ], + [ + 77.27866432883525, + -89.22898726029828 + ], + [ + 79.66880104758525, + -72.4985434792259 + ], + [ + 82.05882679332387, + -37.44429154829547 + ], + [ + 82.85550204190338, + -11.950322931463091 + ], + [ + 82.05882679332387, + 7.1702159534800955 + ], + [ + 82.05882679332387, + 18.32380814985794 + ], + [ + 82.05882679332387, + 20.71386163884941 + ], + [ + 82.05882679332387, + 21.510564630681785 + ], + [ + 82.05882679332387, + 19.917186390269876 + ], + [ + 81.26215154474437, + 11.950322931463063 + ], + [ + 81.26215154474437, + 7.1702159534800955 + ], + [ + 81.26215154474437, + 4.7801347212357825 + ], + [ + 81.26215154474437, + 3.186784224076689 + ], + [ + 81.26215154474437, + 2.3900534889914695 + ], + [ + 82.05882679332387, + 0 + ], + [ + 82.05882679332387, + -0.796675248579561 + ], + [ + 82.05882679332387, + -0.796675248579561 + ] + ], + "pressures": [ + 0.0830078125, + 0.142578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.880859375, + 0.20703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 82.05882679332387, + -0.796675248579561 + ] + }, + { + "id": "eFK_-8u-trXEKSN9hG_Sk", + "type": "freedraw", + "x": 309.42651684253264, + "y": -197.31298887574718, + "width": 98.78928444602263, + "height": 139.42031860351562, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1330193443, + "version": 344, + "versionNonce": 770526253, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + -0.7966752485795041, + -1.5933504971590935 + ], + [ + -0.7966752485795041, + -4.780106977982939 + ], + [ + -0.7966752485795041, + -10.356916947798283 + ], + [ + -1.5933504971590082, + -22.307239879261374 + ], + [ + -2.390025745738626, + -31.867481578480124 + ], + [ + -3.9833762428976343, + -42.22442626953125 + ], + [ + -5.57683771306813, + -53.37804620916194 + ], + [ + -6.373512961647634, + -66.12503051757812 + ], + [ + -5.57683771306813, + -86.83890602805394 + ], + [ + -3.9833762428976343, + -99.58589033647019 + ], + [ + 0, + -109.14614590731532 + ], + [ + 3.983487215909122, + -115.51964499733663 + ], + [ + 9.560213955965992, + -122.68983320756394 + ], + [ + 15.93372691761374, + -129.0633322975852 + ], + [ + 23.900590376420496, + -133.04677789861506 + ], + [ + 28.680752840909122, + -133.04677789861506 + ], + [ + 31.86756480823874, + -129.0633322975852 + ], + [ + 39.03764204545462, + -120.29977971857244 + ], + [ + 43.817804509943244, + -108.34947065873581 + ], + [ + 47.00461647727275, + -89.22897338867188 + ], + [ + 47.801291725852366, + -70.10847611860794 + ], + [ + 45.411155007102366, + -43.02110151811078 + ], + [ + 43.02112926136374, + -27.087346857244313 + ], + [ + 41.42777876420462, + -12.746998180042624 + ], + [ + 40.631103515625, + -3.1867287375710305 + ], + [ + 40.631103515625, + 0.796702991832376 + ], + [ + 40.631103515625, + 1.593378240411937 + ], + [ + 40.631103515625, + -0.7966752485795325 + ], + [ + 39.03764204545462, + -7.170160466974437 + ], + [ + 38.240966796875, + -19.1204833984375 + ], + [ + 37.444291548295496, + -45.41115500710228 + ], + [ + 38.240966796875, + -63.73496315696019 + ], + [ + 41.42777876420462, + -79.66871781782669 + ], + [ + 43.817804509943244, + -94.80578335848719 + ], + [ + 47.801291725852366, + -108.34947065873581 + ], + [ + 54.1748046875, + -124.28321144797582 + ], + [ + 57.361505681818244, + -129.0633322975852 + ], + [ + 60.548206676136374, + -130.65671053799718 + ], + [ + 65.328369140625, + -129.8600214177912 + ], + [ + 74.09190784801137, + -125.07990056818181 + ], + [ + 79.66874556107962, + -119.50307672674006 + ], + [ + 84.44890802556824, + -107.55276766690343 + ], + [ + 88.43228426846599, + -88.43228426846593 + ], + [ + 91.6190962357955, + -68.51509787819606 + ], + [ + 92.415771484375, + -41.42769553444603 + ], + [ + 89.22907049005687, + -25.493968616832376 + ], + [ + 83.65223277698874, + -11.153619939630687 + ], + [ + 78.0753950639205, + -0.7966752485795325 + ], + [ + 74.88858309659099, + 4.780134721235811 + ], + [ + 74.09190784801137, + 6.373540704900563 + ], + [ + 72.49855735085237, + 3.98345947265625 + ], + [ + 70.90520685369324, + 0 + ], + [ + 70.10853160511374, + -1.5933504971590935 + ], + [ + 70.10853160511374, + -1.5933504971590935 + ] + ], + "pressures": [ + 0.0634765625, + 0.734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5068359375, + 0.091796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 70.10853160511374, + -1.5933504971590935 + ] + }, + { + "id": "ovthrhjGrwwon-TbcuXyw", + "type": "freedraw", + "x": 319.7835170200895, + "y": -197.31298887574718, + "width": 105.95936168323863, + "height": 152.96400590376425, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1491722157, + "version": 337, + "versionNonce": 1803458851, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5934614701704959, + 2.3901089754971565 + ], + [ + -3.186811967329504, + 0.796702991832376 + ], + [ + -4.780162464488626, + -3.9834317294034065 + ], + [ + -8.763649680397748, + -15.933726917613626 + ], + [ + -10.35700017755687, + -27.087346857244313 + ], + [ + -11.153675426136374, + -39.037669788707376 + ], + [ + -11.950350674715878, + -52.58134321732953 + ], + [ + -11.950350674715878, + -66.12503051757812 + ], + [ + -8.763649680397748, + -89.22897338867188 + ], + [ + -3.983487215909122, + -103.56932206587356 + ], + [ + 0.7966752485795041, + -115.51964499733663 + ], + [ + 6.373401988636374, + -123.48650845614344 + ], + [ + 12.746914950284122, + -129.8600214177912 + ], + [ + 16.73040216619313, + -130.65671053799718 + ], + [ + 21.51056463068187, + -126.67327880859375 + ], + [ + 27.087291370738626, + -116.31633411754262 + ], + [ + 33.460804332386374, + -103.56932206587356 + ], + [ + 39.83431729403412, + -81.26209605823863 + ], + [ + 41.42766779119313, + -63.73496315696019 + ], + [ + 40.630992542613626, + -43.81777676669034 + ], + [ + 35.850830078125, + -24.697293368252843 + ], + [ + 27.087291370738626, + -6.373485218394876 + ], + [ + 24.697265625, + -2.3900534889914695 + ], + [ + 23.900590376420496, + -1.5933504971590935 + ], + [ + 22.307239879261374, + -6.373485218394876 + ], + [ + 21.51056463068187, + -14.340348677201689 + ], + [ + 22.307239879261374, + -35.85091330788353 + ], + [ + 27.087291370738626, + -56.56477494673294 + ], + [ + 34.25747958096588, + -78.87202869762069 + ], + [ + 43.02101828835225, + -99.58589033647019 + ], + [ + 54.174693714488626, + -116.31633411754262 + ], + [ + 59.75153142755687, + -121.096454967152 + ], + [ + 63.734907670454504, + -123.48650845614344 + ], + [ + 68.51507013494313, + -124.28321144797582 + ], + [ + 74.88869406960225, + -115.51964499733663 + ], + [ + 86.04214754971588, + -85.24552778764206 + ], + [ + 92.41566051136363, + -64.53166614879257 + ], + [ + 94.00901100852275, + -46.20785799893466 + ], + [ + 91.61898526278412, + -24.697293368252843 + ], + [ + 80.46542080965912, + 5.576837713068187 + ], + [ + 73.29523259943187, + 18.32383589311081 + ], + [ + 68.51507013494313, + 22.30729536576706 + ], + [ + 66.1250443892045, + 22.30729536576706 + ], + [ + 63.734907670454504, + 18.32383589311081 + ], + [ + 62.141557173295496, + 11.950322931463063 + ], + [ + 62.141557173295496, + 7.9668912020596565 + ], + [ + 62.141557173295496, + 7.1701882102272805 + ], + [ + 62.141557173295496, + 7.1701882102272805 + ] + ], + "pressures": [ + 0.05078125, + 0.435546875, + 0.6015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.876953125, + 0.224609375, + 0.123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 62.141557173295496, + 7.1701882102272805 + ] + }, + { + "id": "1QlBEraRXsdy59jtBejYv", + "type": "freedraw", + "x": 324.56356851156676, + "y": -198.1096641243267, + "width": 15.933726917613626, + "height": 122.68983320756391, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1303358637, + "version": 312, + "versionNonce": 70073997, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983376242897748, + -6.3734852183949045 + ], + [ + -7.966863458806756, + -15.933754660866498 + ], + [ + -9.560213955965878, + -25.493996360085248 + ], + [ + -11.153564453125, + -37.44429154829547 + ], + [ + -11.153564453125, + -50.19128972833806 + ], + [ + -9.560213955965878, + -69.3118008700284 + ], + [ + -7.170188210227252, + -82.85548817027703 + ], + [ + -3.983376242897748, + -94.80578335848722 + ], + [ + -1.593350497159122, + -104.3660389293324 + ], + [ + 0.7966752485796178, + -111.53622713955966 + ], + [ + 3.186811967329618, + -117.11303710937503 + ], + [ + 4.780162464488626, + -121.8931579589844 + ], + [ + 4.780162464488626, + -122.68983320756391 + ], + [ + 4.780162464488626, + -119.5031044699929 + ], + [ + 3.983487215909122, + -111.53622713955966 + ], + [ + 2.39013671875, + -101.97597156871453 + ], + [ + 1.593350497159122, + -90.02566250887784 + ], + [ + 0.7966752485796178, + -74.88861083984378 + ], + [ + 0.7966752485796178, + -69.3118008700284 + ], + [ + 0.7966752485796178, + -67.71842262961653 + ], + [ + 0.7966752485796178, + -66.92173350941053 + ], + [ + 0.7966752485796178, + -67.71842262961653 + ], + [ + 0.7966752485796178, + -67.71842262961653 + ] + ], + "pressures": [ + 0.052734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.138671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.7966752485796178, + -67.71842262961653 + ] + }, + { + "id": "NmicM5QFefOeURdvHghgB", + "type": "freedraw", + "x": 321.3768675172486, + "y": -217.2301475227642, + "width": 42.22445401278401, + "height": 59.75154529918325, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1374844973, + "version": 299, + "versionNonce": 1182786797, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 42.22445401278401, + -46.20787187056109 + ], + [ + 42.22445401278401, + -16.730457652698874 + ], + [ + 41.42766779119313, + -8.763566450639217 + ], + [ + 38.240966796875, + 4.780106977982939 + ], + [ + 35.054265802556756, + 11.95029518821022 + ], + [ + 35.054265802556756, + 13.543673428622157 + ], + [ + 34.25747958096588, + 13.543673428622157 + ], + [ + 33.460804332386374, + 13.543673428622157 + ], + [ + 32.664129083806756, + 13.543673428622157 + ], + [ + 31.867453835227252, + 11.95029518821022 + ], + [ + 31.070778586647748, + 9.56024169921875 + ], + [ + 31.867453835227252, + 7.170160466974409 + ], + [ + 31.867453835227252, + 7.170160466974409 + ] + ], + "pressures": [ + 0.095703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6025390625, + 0.162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.867453835227252, + 7.170160466974409 + ] + }, + { + "id": "NIbyiVhmwY7-eugpsfhDs", + "type": "freedraw", + "x": 326.95370523031676, + "y": -247.50427860408524, + "width": 43.81780450994313, + "height": 105.95940329811793, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1896683501, + "version": 327, + "versionNonce": 1301212259, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967862215908781, + 2.3900534889914695 + ], + [ + -2.39013671875, + 4.7801347212357825 + ], + [ + -3.186811967329504, + 3.9834317294034065 + ], + [ + -3.186811967329504, + -0.7966752485795325 + ], + [ + -3.186811967329504, + -7.966863458806813 + ], + [ + -2.39013671875, + -15.933740789240062 + ], + [ + -0.7967862215908781, + -24.69730723987925 + ], + [ + 3.983376242897748, + -37.444305419921875 + ], + [ + 7.96686345880687, + -45.41116887872869 + ], + [ + 11.153564453125, + -50.987992720170496 + ], + [ + 14.340376420454618, + -54.17473532936788 + ], + [ + 16.730402166193244, + -55.76811356977987 + ], + [ + 20.713778409090878, + -55.76811356977987 + ], + [ + 26.290616122159122, + -53.3780323375355 + ], + [ + 32.66412908380687, + -47.004547119140625 + ], + [ + 37.444291548295496, + -38.24099454012787 + ], + [ + 40.630992542613626, + -22.307239879261374 + ], + [ + 40.630992542613626, + -9.56024169921875 + ], + [ + 40.630992542613626, + 7.1701882102272805 + ], + [ + 37.444291548295496, + 24.697321111505687 + ], + [ + 31.070778586647748, + 43.021129261363626 + ], + [ + 28.680641867897748, + 48.59793923117897 + ], + [ + 27.883966619318244, + 49.39461447975853 + ], + [ + 27.883966619318244, + 50.19128972833806 + ], + [ + 27.883966619318244, + 49.39461447975853 + ], + [ + 27.883966619318244, + 46.20785799893466 + ], + [ + 27.883966619318244, + 43.021129261363626 + ], + [ + 28.680641867897748, + 38.24099454012784 + ], + [ + 28.680641867897748, + 32.66421231356534 + ], + [ + 28.680641867897748, + 26.29067160866478 + ], + [ + 28.680641867897748, + 11.950322931463063 + ], + [ + 29.477428089488626, + 2.3900534889914695 + ], + [ + 31.070778586647748, + -5.5768099698153435 + ], + [ + 32.66412908380687, + -12.746998180042624 + ], + [ + 33.460804332386374, + -15.933740789240062 + ], + [ + 33.460804332386374, + -17.527119029652 + ], + [ + 31.070778586647748, + -18.323808149857996 + ], + [ + 27.883966619318244, + -18.323808149857996 + ], + [ + 24.697265625, + -18.323808149857996 + ], + [ + 23.900590376420496, + -17.527119029652 + ], + [ + 23.900590376420496, + -17.527119029652 + ] + ], + "pressures": [ + 0.01953125, + 0.05078125, + 0.1689453125, + 0.828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4375, + 0.1513671875, + 0.05859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.900590376420496, + -17.527119029652 + ] + }, + { + "id": "LJHinqEfiLMvl6Nnwoo9E", + "type": "freedraw", + "x": 326.95370523031676, + "y": -303.2723921738651, + "width": 86.04214754971588, + "height": 117.90972622958097, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 749937901, + "version": 326, + "versionNonce": 1215217485, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983431729403378 + ], + [ + 1.593350497159122, + 0 + ], + [ + 6.373401988636374, + 14.340376420454618 + ], + [ + 11.153564453125, + 30.274117209694623 + ], + [ + 15.933726917613626, + 48.59792535955259 + ], + [ + 22.307239879261374, + 66.92173350941056 + ], + [ + 31.070778586647748, + 89.2289733886719 + ], + [ + 35.850830078125, + 99.58591807972306 + ], + [ + 40.630992542613626, + 105.95940329811793 + ], + [ + 42.22434303977275, + 108.34951227361509 + ], + [ + 43.817804509943244, + 109.14615977894181 + ], + [ + 43.817804509943244, + 108.34951227361509 + ], + [ + 43.817804509943244, + 102.7726745605469 + ], + [ + 42.22434303977275, + 92.41575761274862 + ], + [ + 40.630992542613626, + 79.66873168945315 + ], + [ + 39.83431729403412, + 66.92173350941056 + ], + [ + 42.22434303977275, + 48.59792535955259 + ], + [ + 47.004505504261374, + 37.444305419921875 + ], + [ + 52.58134321732962, + 24.697307239879308 + ], + [ + 57.36139470880687, + 15.933740789240119 + ], + [ + 58.95485617897725, + 10.356944691051183 + ], + [ + 58.95485617897725, + 9.560255570845243 + ], + [ + 59.75153142755687, + 7.966877330433249 + ], + [ + 60.548206676136374, + 6.373512961647748 + ], + [ + 61.34488192471588, + 5.576809969815372 + ], + [ + 61.34488192471588, + 6.373512961647748 + ], + [ + 62.141557173295496, + 10.356944691051183 + ], + [ + 64.53158291903412, + 17.527119029652 + ], + [ + 66.92171963778412, + 29.477428089488683 + ], + [ + 71.70188210227275, + 58.15816705877134 + ], + [ + 75.68536931818187, + 78.87205644087362 + ], + [ + 79.66874556107962, + 94.80578335848725 + ], + [ + 82.85544655539775, + 106.75610628995031 + ], + [ + 85.24547230113637, + 112.3329440030185 + ], + [ + 86.04214754971588, + 113.92629450017759 + ], + [ + 86.04214754971588, + 113.12959150834521 + ], + [ + 84.44879705255687, + 109.14615977894181 + ], + [ + 79.66874556107962, + 102.7726745605469 + ], + [ + 78.07528409090912, + 101.97597156871453 + ], + [ + 78.07528409090912, + 101.97597156871453 + ] + ], + "pressures": [ + 0.107421875, + 0.2822265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.263671875, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 78.07528409090912, + 101.97597156871453 + ] + }, + { + "id": "y0xMJKwBb_UxrzFs5gKRT", + "type": "freedraw", + "x": 400.2489378297486, + "y": -304.8657565426506, + "width": 144.20043945312494, + "height": 180.0513250177557, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 944901165, + "version": 345, + "versionNonce": 492245005, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -5.576823841441751 + ], + [ + 0, + -10.356944691051126 + ], + [ + 0, + -12.747012051669003 + ], + [ + 0.7966752485795041, + -12.747012051669003 + ], + [ + 0.7966752485795041, + -10.356944691051126 + ], + [ + 0.7966752485795041, + 1.593364368785501 + ], + [ + 0, + 39.83435890891337 + ], + [ + 0, + 70.90515136718753 + ], + [ + 0, + 98.78922895951706 + ], + [ + 0, + 122.68984707919037 + ], + [ + 0, + 145.79378995028412 + ], + [ + 0, + 152.167275168679 + ], + [ + 0.7966752485795041, + 152.96395041725856 + ], + [ + 0.7966752485795041, + 152.167275168679 + ], + [ + 0.7966752485795041, + 145.79378995028412 + ], + [ + 0.7966752485795041, + 135.436845259233 + ], + [ + -0.7967862215909918, + 116.31633411754265 + ], + [ + -1.593350497159122, + 99.58590420809662 + ], + [ + -2.39013671875, + 78.87204256924718 + ], + [ + -2.39013671875, + 45.41115500710231 + ], + [ + -2.39013671875, + 27.884049849076746 + ], + [ + -2.39013671875, + 13.543673428622185 + ], + [ + -2.39013671875, + -2.390067360617877 + ], + [ + -0.7967862215909918, + -15.933740789240005 + ], + [ + 0, + -26.29068548029113 + ], + [ + 0.7966752485795041, + -27.087374600497128 + ], + [ + 0.7966752485795041, + -25.494010231711627 + ], + [ + 0, + -19.917186390269876 + ], + [ + 0, + -14.340376420454504 + ], + [ + -0.7967862215909918, + -7.966877330433192 + ], + [ + -0.7967862215909918, + -1.5933782404118801 + ], + [ + 2.39013671875, + 3.983445601029871 + ], + [ + 10.357000177556756, + 8.76355257901281 + ], + [ + 18.323863636363626, + 10.356930819424747 + ], + [ + 29.477428089488626, + 11.153619939630744 + ], + [ + 44.61447975852275, + 11.153619939630744 + ], + [ + 66.1250443892045, + 9.56024169921875 + ], + [ + 77.2786088423295, + 8.76355257901281 + ], + [ + 82.85544655539775, + 7.966877330433249 + ], + [ + 84.44879705255676, + 7.966877330433249 + ], + [ + 82.0588822798295, + 7.966877330433249 + ], + [ + 72.49844637784088, + 7.966877330433249 + ], + [ + 56.56471946022725, + 10.356930819424747 + ], + [ + 36.64761629971588, + 15.933740789240119 + ], + [ + 4.780051491477252, + 24.697293368252872 + ], + [ + -12.747025923295496, + 29.477428089488626 + ], + [ + -22.307239879261374, + 31.070792458274184 + ], + [ + -24.697376598011374, + 31.867481578480124 + ], + [ + -15.933837890625, + 31.867481578480124 + ], + [ + -7.966974431818244, + 31.070792458274184 + ], + [ + 7.170188210227252, + 31.070792458274184 + ], + [ + 31.070778586647748, + 34.257548939098 + ], + [ + 73.29523259943176, + 41.42773714932531 + ], + [ + 98.78917347301137, + 46.207857998934685 + ], + [ + 113.92633611505681, + 50.987992720170496 + ], + [ + 118.70638760653407, + 52.58134321732959 + ], + [ + 119.50306285511357, + 52.58134321732959 + ], + [ + 117.90982333096582, + 53.378046209161965 + ], + [ + 107.55271218039763, + 50.987992720170496 + ], + [ + 101.17919921875, + 49.39461447975856 + ], + [ + 99.58584872159088, + 48.597911487926126 + ], + [ + 99.58584872159088, + 48.597911487926126 + ] + ], + "pressures": [ + 0.154296875, + 0.208984375, + 0.3759765625, + 0.798828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.259765625, + 0.08203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 99.58584872159088, + 48.597911487926126 + ] + }, + { + "id": "xP0i6OanAV_ujiULOkHLZ", + "type": "freedraw", + "x": 408.2158012885554, + "y": -320.7994973318906, + "width": 4.780051491477252, + "height": 144.99707308682525, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1334915907, + "version": 295, + "versionNonce": 1399554883, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186700994318244, + 50.191289728338006 + ], + [ + 3.983376242897748, + 93.21240511807525 + ], + [ + 3.983376242897748, + 114.72296974875707 + ], + [ + 3.983376242897748, + 124.28321144797582 + ], + [ + 3.983376242897748, + 142.60701959783378 + ], + [ + 3.983376242897748, + 144.99707308682525 + ], + [ + 4.780051491477252, + 142.60701959783378 + ], + [ + 4.780051491477252, + 137.82691261985082 + ], + [ + 4.780051491477252, + 131.4533996582031 + ], + [ + 4.780051491477252, + 127.46996792879969 + ], + [ + 4.780051491477252, + 126.67326493696731 + ], + [ + 4.780051491477252, + 126.67326493696731 + ] + ], + "pressures": [ + 0.068359375, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6787109375, + 0.2138671875, + 0.154296875, + 0.0810546875, + 0.017578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.780051491477252, + 126.67326493696731 + ] + }, + { + "id": "2F-CZdr7inGLIusRBkv7H", + "type": "freedraw", + "x": 403.43563882406676, + "y": -312.03595862450425, + "width": 108.34938742897725, + "height": 21.510564630681813, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1185615011, + "version": 299, + "versionNonce": 225674861, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -2.390053488991498 + ], + [ + -2.390025745738626, + -5.576809969815372 + ], + [ + -1.593350497159122, + -5.576809969815372 + ], + [ + 4.780162464488626, + -4.780106977982996 + ], + [ + 21.51056463068187, + -3.186742609197495 + ], + [ + 35.054376775568244, + 0 + ], + [ + 48.59796697443187, + 3.186770352450253 + ], + [ + 62.938343394886374, + 7.170202081853631 + ], + [ + 83.65212180397725, + 10.356944691051126 + ], + [ + 91.6190962357955, + 10.356944691051126 + ], + [ + 97.99249822443187, + 9.56025557084513 + ], + [ + 101.97598544034088, + 7.966877330433249 + ], + [ + 105.16268643465912, + 7.966877330433249 + ], + [ + 105.95936168323863, + 10.356944691051126 + ], + [ + 104.3660111860795, + 14.340376420454504 + ], + [ + 101.97598544034088, + 15.933754660866441 + ], + [ + 101.97598544034088, + 15.933754660866441 + ] + ], + "pressures": [ + 0.0859375, + 0.1318359375, + 0.3193359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.599609375, + 0.1240234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 101.97598544034088, + 15.933754660866441 + ] + }, + { + "id": "V3fn4RP7b1oXIQoaR5T_o", + "type": "freedraw", + "x": 413.79252802861225, + "y": -235.55395567262218, + "width": 55.76815518465912, + "height": 31.070806329900563, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 151602307, + "version": 290, + "versionNonce": 1218432643, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 31.867564808238626, + 29.477428089488626 + ], + [ + 47.00461647727275, + 29.477428089488626 + ], + [ + 55.76815518465912, + 31.070806329900563 + ], + [ + 55.76815518465912, + 30.274103338068187 + ], + [ + 54.1748046875, + 28.680752840909093 + ], + [ + 53.37812943892038, + 28.680752840909093 + ], + [ + 51.784778941761374, + 28.680752840909093 + ], + [ + 51.784778941761374, + 29.477428089488626 + ], + [ + 51.784778941761374, + 29.477428089488626 + ] + ], + "pressures": [ + 0.0048828125, + 1, + 1, + 1, + 1, + 0.3330078125, + 0.259765625, + 0.07421875, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 51.784778941761374, + 29.477428089488626 + ] + }, + { + "id": "HQmpYI0A0LCgYxpoamg7C", + "type": "freedraw", + "x": 175.5830775669645, + "y": -78.60657352596024, + "width": 8.763594193892061, + "height": 106.75609241832387, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 647814915, + "version": 310, + "versionNonce": 1540807555, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + 1.593378240411937 + ], + [ + -2.390081232244313, + 11.950322931463063 + ], + [ + -1.593350497159065, + 27.087374600497128 + ], + [ + 0, + 45.411182750355124 + ], + [ + 0.796675248579561, + 64.53166614879262 + ], + [ + 1.593350497159122, + 86.83890602805394 + ], + [ + 2.390081232244313, + 94.80582497336644 + ], + [ + 2.390081232244313, + 97.19585071910512 + ], + [ + 2.390081232244313, + 90.82239324396306 + ], + [ + 2.390081232244313, + 77.27869207208806 + ], + [ + 3.186756480823874, + 58.15820867365056 + ], + [ + 5.5767822265625, + 26.290699351917624 + ], + [ + 6.373512961647748, + 11.950322931463063 + ], + [ + 6.373512961647748, + 2.390081232244313 + ], + [ + 4.780106977982939, + -3.983431729403435 + ], + [ + 3.186756480823874, + -8.763538707386374 + ], + [ + 2.390081232244313, + -9.56024169921875 + ], + [ + 2.390081232244313, + -5.576809969815372 + ], + [ + 1.593350497159122, + 7.966891202059628 + ], + [ + 0.796675248579561, + 25.493996360085248 + ], + [ + 0, + 43.81780450994319 + ], + [ + 0, + 72.49852960759944 + ], + [ + -0.796675248579561, + 86.83890602805394 + ], + [ + -0.796675248579561, + 94.00909423828125 + ], + [ + -0.796675248579561, + 96.39917547052556 + ], + [ + -0.796675248579561, + 94.80582497336644 + ], + [ + -0.796675248579561, + 90.02566250887782 + ], + [ + 0, + 82.85547429865056 + ], + [ + 0.796675248579561, + 78.07536732066762 + ], + [ + 0.796675248579561, + 76.4820168235085 + ], + [ + 0.796675248579561, + 76.4820168235085 + ] + ], + "pressures": [ + 0.107421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5888671875, + 0.1728515625, + 0.083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.796675248579561, + 76.4820168235085 + ] + }, + { + "id": "JbolX5tNdphx5d5O_9Bij", + "type": "freedraw", + "x": 170.80291510247588, + "y": -69.84300707532105, + "width": 43.81780450994313, + "height": 109.94284889914769, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2081642157, + "version": 334, + "versionNonce": 372822573, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -6.373485218394876 + ], + [ + -3.186700994318187, + -11.153619939630687 + ], + [ + -3.983431729403435, + -11.153619939630687 + ], + [ + -4.780051491477252, + -11.153619939630687 + ], + [ + -4.780051491477252, + -5.576809969815315 + ], + [ + -4.780051491477252, + 9.56024169921875 + ], + [ + -3.186700994318187, + 32.6641845703125 + ], + [ + 0.7967307350852479, + 68.51512562144887 + ], + [ + 3.186811967329561, + 86.04225852272725 + ], + [ + 3.983487215909065, + 94.80585271661931 + ], + [ + 4.780162464488626, + 97.9925537109375 + ], + [ + 3.983487215909065, + 92.41571599786931 + ], + [ + 1.593405983664752, + 82.05882679332387 + ], + [ + -0.796619762073874, + 69.31180087002843 + ], + [ + -1.593350497159122, + 58.15818093039775 + ], + [ + -1.593350497159122, + 43.81780450994319 + ], + [ + -2.390025745738626, + 33.46085981889206 + ], + [ + -2.390025745738626, + 23.10394287109375 + ], + [ + -3.186700994318187, + 12.746998180042624 + ], + [ + -3.186700994318187, + 3.983431729403435 + ], + [ + -3.983431729403435, + -3.186756480823874 + ], + [ + -3.983431729403435, + -5.576809969815315 + ], + [ + -4.780051491477252, + -7.966863458806813 + ], + [ + -5.5767822265625, + -11.153619939630687 + ], + [ + -6.373457475142061, + -11.950295188210191 + ], + [ + -7.170188210227252, + -11.950295188210191 + ], + [ + -7.170188210227252, + -6.373485218394876 + ], + [ + -7.170188210227252, + 11.153619939630687 + ], + [ + -6.373457475142061, + 47.00456099076706 + ], + [ + -5.5767822265625, + 63.73496315696025 + ], + [ + -3.983431729403435, + 74.09190784801137 + ], + [ + -2.390025745738626, + 78.8720703125 + ], + [ + -1.593350497159122, + 80.46542080965912 + ], + [ + -1.593350497159122, + 78.07533957741475 + ], + [ + -1.593350497159122, + 72.49855735085225 + ], + [ + -1.593350497159122, + 63.73496315696025 + ], + [ + -0.796619762073874, + 57.36150568181819 + ], + [ + 0.7967307350852479, + 51.78466796875 + ], + [ + 3.186811967329561, + 44.61447975852275 + ], + [ + 8.763594193892061, + 35.850941051136374 + ], + [ + 13.543701171875, + 35.054238059304 + ], + [ + 19.917214133522748, + 36.647616299715935 + ], + [ + 24.697321111505687, + 39.037669788707376 + ], + [ + 29.477428089488626, + 41.427723277698874 + ], + [ + 35.850941051136374, + 50.98799272017044 + ], + [ + 36.64761629971588, + 59.75153142755681 + ], + [ + 36.64761629971588, + 67.71845037286931 + ], + [ + 34.25759055397725, + 73.29523259943181 + ], + [ + 31.070834073153378, + 78.8720703125 + ], + [ + 28.680752840909065, + 81.26209605823863 + ], + [ + 27.88407759232956, + 82.85550204190343 + ], + [ + 28.680752840909065, + 82.85550204190343 + ], + [ + 31.070834073153378, + 78.8720703125 + ], + [ + 31.86750932173294, + 77.27866432883525 + ], + [ + 31.86750932173294, + 77.27866432883525 + ] + ], + "pressures": [ + 0.1259765625, + 0.2138671875, + 0.4375, + 0.529296875, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.19921875, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.86750932173294, + 77.27866432883525 + ] + }, + { + "id": "zIWM69x1fGoRAPlEZaM-n", + "type": "freedraw", + "x": 211.43401861810088, + "y": -13.278176642082428, + "width": 56.56483043323868, + "height": 51.78466796875, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 649778211, + "version": 303, + "versionNonce": 605451043, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.796675248579561 + ], + [ + 1.593350497159065, + 0.796675248579561 + ], + [ + 11.15361993963063, + -0.7967307350851911 + ], + [ + 17.527077414772748, + -2.390081232244313 + ], + [ + 23.900590376420496, + -3.983487215909065 + ], + [ + 30.27410333806813, + -6.373512961647691 + ], + [ + 35.054210316051126, + -13.543701171875 + ], + [ + 35.054210316051126, + -19.91721413352269 + ], + [ + 29.477428089488626, + -25.494024103338063 + ], + [ + 21.510509144176126, + -29.47745583274144 + ], + [ + 11.950295188210248, + -31.070834073153378 + ], + [ + 0.796675248579561, + -27.08740234375 + ], + [ + -6.373512961647748, + -18.323835893110754 + ], + [ + -11.153675426136374, + -7.170188210227252 + ], + [ + -11.950350674715935, + 1.593350497159122 + ], + [ + -7.9669189453125, + 10.356889204545496 + ], + [ + 0.796675248579561, + 15.137051669034122 + ], + [ + 10.356889204545496, + 19.1204833984375 + ], + [ + 20.713833895596622, + 20.713833895596622 + ], + [ + 30.27410333806813, + 20.713833895596622 + ], + [ + 41.427723277698874, + 17.527077414772748 + ], + [ + 44.61447975852275, + 16.730402166193187 + ], + [ + 44.61447975852275, + 14.340320933948874 + ], + [ + 42.22439852627838, + 12.746970436789809 + ], + [ + 42.22439852627838, + 12.746970436789809 + ] + ], + "pressures": [ + 0.1220703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5205078125, + 0.0732421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.22439852627838, + 12.746970436789809 + ] + }, + { + "id": "ak03_ayDsEuG1uKvWNSvA", + "type": "freedraw", + "x": 241.708121956169, + "y": 10.622413734338068, + "width": 18.323808149857996, + "height": 126.67330655184657, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1778282189, + "version": 314, + "versionNonce": 1539446467, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 5.57683771306813 + ], + [ + -0.7966752485795041, + -4.780106977982996 + ], + [ + -2.390081232244256, + -19.1204833984375 + ], + [ + -3.186756480823874, + -50.19128972833812 + ], + [ + -3.186756480823874, + -66.12504438920456 + ], + [ + -3.186756480823874, + -74.88861083984375 + ], + [ + -3.983431729403378, + -78.07536732066762 + ], + [ + -3.983431729403378, + -78.87204256924718 + ], + [ + -4.780106977982882, + -79.66871781782675 + ], + [ + -3.186756480823874, + -79.66871781782675 + ], + [ + 0.7966752485796178, + -81.26209605823868 + ], + [ + 5.5767822265625, + -82.85547429865056 + ], + [ + 9.560213955965992, + -84.4488525390625 + ], + [ + 10.356944691051126, + -84.4488525390625 + ], + [ + 8.763538707386374, + -81.26209605823868 + ], + [ + 4.780106977982996, + -71.70185435901993 + ], + [ + -0.7966752485795041, + -59.751559170809685 + ], + [ + -3.983431729403378, + -43.81780450994319 + ], + [ + -7.170188210227252, + -11.153619939630687 + ], + [ + -7.170188210227252, + 10.357000177556813 + ], + [ + -5.57683771306813, + 24.69732111150563 + ], + [ + -3.983431729403378, + 30.274158824573817 + ], + [ + -3.186756480823874, + 31.070834073153378 + ], + [ + -3.186756480823874, + 27.884077592329504 + ], + [ + -2.390081232244256, + 17.527132901278378 + ], + [ + -2.390081232244256, + 0.7966752485795041 + ], + [ + -0.7966752485795041, + -22.307239879261374 + ], + [ + 3.9834317294034918, + -57.36147793856537 + ], + [ + 7.170188210227366, + -74.09190784801137 + ], + [ + 10.356944691051126, + -85.24552778764206 + ], + [ + 11.153619939630744, + -92.41571599786931 + ], + [ + 11.153619939630744, + -95.60247247869319 + ], + [ + 11.153619939630744, + -94.80579723011368 + ], + [ + 11.153619939630744, + -90.02566250887787 + ], + [ + 10.356944691051126, + -84.4488525390625 + ], + [ + 10.356944691051126, + -82.85547429865056 + ], + [ + 10.356944691051126, + -82.85547429865056 + ] + ], + "pressures": [ + 0.01171875, + 0.2099609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.662109375, + 0.2041015625, + 0.00390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356944691051126, + -82.85547429865056 + ] + }, + { + "id": "xdFshuA94V0cERJ-WX2Jz", + "type": "freedraw", + "x": 256.0484983766236, + "y": -72.2330605643125, + "width": 111.53619939630676, + "height": 14.340376420454504, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 848357901, + "version": 322, + "versionNonce": 1366836835, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.9834317294034918, + 0 + ], + [ + 0, + 0 + ], + [ + 8.763538707386374, + 0 + ], + [ + 19.917158647017004, + 0.7966752485795041 + ], + [ + 31.867453835227252, + 2.390053488991441 + ], + [ + 45.41115500710225, + 3.186756480823817 + ], + [ + 65.328369140625, + 4.780106977982939 + ], + [ + 71.70188210227275, + 4.780106977982939 + ], + [ + 73.29523259943176, + 5.576809969815315 + ], + [ + 74.09190784801137, + 5.576809969815315 + ], + [ + 73.29523259943176, + 5.576809969815315 + ], + [ + 66.92171963778401, + 7.170188210227252 + ], + [ + 53.37801846590901, + 9.56024169921875 + ], + [ + 37.44429154829538, + 11.15361993963063 + ], + [ + 13.543645685369256, + 11.950295188210191 + ], + [ + -1.593405983664752, + 10.356944691051126 + ], + [ + -13.543701171875, + 7.966863458806813 + ], + [ + -19.1204833984375, + 7.170188210227252 + ], + [ + -19.917214133522748, + 7.170188210227252 + ], + [ + -19.917214133522748, + 6.373485218394876 + ], + [ + -16.730457652698874, + 6.373485218394876 + ], + [ + -7.96686345880687, + 6.373485218394876 + ], + [ + 4.780106977982882, + 6.373485218394876 + ], + [ + 20.71383389559651, + 7.966863458806813 + ], + [ + 47.80118075284088, + 11.950295188210191 + ], + [ + 65.328369140625, + 13.543673428622128 + ], + [ + 77.2786088423295, + 14.340376420454504 + ], + [ + 81.26209605823863, + 14.340376420454504 + ], + [ + 74.88858309659088, + 12.746998180042567 + ], + [ + 60.548206676136374, + 7.966863458806813 + ], + [ + 42.22439852627838, + 3.983431729403378 + ], + [ + 24.697265625, + 1.5933782404118801 + ], + [ + 3.983431729403378, + 0.7966752485795041 + ], + [ + -3.9834317294034918, + 1.5933782404118801 + ], + [ + -6.373512961647748, + 1.5933782404118801 + ], + [ + -4.780162464488626, + 3.186756480823817 + ], + [ + 3.186756480823874, + 5.576809969815315 + ], + [ + 14.340376420454504, + 6.373485218394876 + ], + [ + 29.477428089488626, + 6.373485218394876 + ], + [ + 47.80118075284088, + 6.373485218394876 + ], + [ + 68.51507013494313, + 5.576809969815315 + ], + [ + 88.43228426846588, + 5.576809969815315 + ], + [ + 91.61898526278401, + 6.373485218394876 + ], + [ + 91.61898526278401, + 7.170188210227252 + ], + [ + 87.63560901988637, + 8.763566450639189 + ], + [ + 78.07539506392038, + 10.356944691051126 + ], + [ + 78.07539506392038, + 10.356944691051126 + ] + ], + "pressures": [ + 0.1298828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 78.07539506392038, + 10.356944691051126 + ] + }, + { + "id": "GMbqa8qiEpArz9BmzjeNA", + "type": "freedraw", + "x": 253.65841714437926, + "y": -84.98005874435512, + "width": 124.28322531960225, + "height": 31.070806329900563, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 611543331, + "version": 298, + "versionNonce": 1440744781, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558549, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 86.04220303622162, + 16.730429909446002 + ], + [ + 69.31180087002838, + 14.340376420454504 + ], + [ + 50.988048206676126, + 13.543673428622128 + ], + [ + 31.867509321732996, + 13.543673428622128 + ], + [ + 22.307239879261374, + 13.543673428622128 + ], + [ + 6.373512961647748, + 13.543673428622128 + ], + [ + -8.763538707386374, + 13.543673428622128 + ], + [ + -11.950295188210248, + 13.543673428622128 + ], + [ + -12.746970436789752, + 13.543673428622128 + ], + [ + -8.763538707386374, + 12.746998180042624 + ], + [ + 0, + 11.950295188210191 + ], + [ + 11.950295188210248, + 11.153619939630687 + ], + [ + 29.477428089488626, + 12.746998180042624 + ], + [ + 65.32831365411937, + 20.713861638849437 + ], + [ + 86.04220303622162, + 24.697293368252815 + ], + [ + 100.38257945667613, + 27.087374600497128 + ], + [ + 107.55276766690338, + 28.680752840909065 + ], + [ + 110.739579634233, + 30.274103338068187 + ], + [ + 111.5362548828125, + 30.274103338068187 + ], + [ + 110.739579634233, + 30.274103338068187 + ], + [ + 107.55276766690338, + 31.070806329900563 + ], + [ + 105.95941716974437, + 31.070806329900563 + ], + [ + 105.95941716974437, + 31.070806329900563 + ] + ], + "pressures": [ + 0.0654296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3623046875, + 0.130859375, + 0.05078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 105.95941716974437, + 31.070806329900563 + ] + }, + { + "id": "dvEOeUNsYBmQqbBAf7IP8", + "type": "freedraw", + "x": -235.5075651887173, + "y": 105.42809999144038, + "width": 47.801236239346565, + "height": 97.19587846235794, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 135062435, + "version": 289, + "versionNonce": 820437027, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664752, + 0.7967307350852479 + ], + [ + 0, + -7.170132723721565 + ], + [ + 3.983487215909122, + -23.103915127840878 + ], + [ + 10.356889204545439, + -43.8177490234375 + ], + [ + 19.917214133522748, + -75.68525834517044 + ], + [ + 24.697265625, + -88.43228426846588 + ], + [ + 27.087346857244313, + -94.80574174360794 + ], + [ + 27.88407759232956, + -96.39914772727269 + ], + [ + 29.477428089488626, + -90.025634765625 + ], + [ + 32.66412908380681, + -73.29523259943181 + ], + [ + 35.850941051136374, + -50.19126198508519 + ], + [ + 39.83437278053981, + -29.47737260298294 + ], + [ + 44.61447975852275, + -11.153619939630687 + ], + [ + 46.20783025568181, + -5.576726740056813 + ], + [ + 46.20783025568181, + -4.780106977982939 + ], + [ + 46.20783025568181, + -6.373457475142061 + ], + [ + 43.81780450994319, + -11.950295188210191 + ], + [ + 42.224398526278435, + -16.730402166193187 + ], + [ + 41.427723277698874, + -18.32380814985794 + ], + [ + 41.427723277698874, + -18.32380814985794 + ] + ], + "pressures": [ + 0.025390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.375, + 0.126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.427723277698874, + -18.32380814985794 + ] + }, + { + "id": "L4lpKXbOL6fBVwSTbdMxg", + "type": "freedraw", + "x": -241.881078150365, + "y": 74.35732140479269, + "width": 7.966863458806813, + "height": 14.340376420454504, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1030023715, + "version": 288, + "versionNonce": 1569777549, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780106977982996, + 3.186756480823817 + ], + [ + -5.5767822265625, + 4.780106977982939 + ], + [ + -6.373512961647748, + 7.966863458806813 + ], + [ + -6.373512961647748, + 10.356944691051126 + ], + [ + -5.5767822265625, + 12.746970436789752 + ], + [ + -3.186756480823874, + 14.340376420454504 + ], + [ + -0.796675248579561, + 13.54375665838063 + ], + [ + 0.7966752485795041, + 11.15361993963063 + ], + [ + 0.7966752485795041, + 7.170188210227252 + ], + [ + 0.7966752485795041, + 3.983431729403378 + ], + [ + -0.796675248579561, + 1.593405983664752 + ], + [ + -2.39008123224437, + 0 + ], + [ + -3.186756480823874, + 0 + ], + [ + -3.186756480823874, + 1.593405983664752 + ], + [ + -3.186756480823874, + 5.57683771306813 + ], + [ + -3.186756480823874, + 6.373512961647691 + ], + [ + -0.796675248579561, + 6.373512961647691 + ], + [ + 1.593350497159065, + 7.170188210227252 + ], + [ + 1.593350497159065, + 7.170188210227252 + ] + ], + "pressures": [ + 0, + 0.6337890625, + 0.8740234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5537109375, + 0.0439453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593350497159065, + 7.170188210227252 + ] + }, + { + "id": "kMoO8gi-eEDtOSZqsLTRP", + "type": "freedraw", + "x": -227.5406462434048, + "y": 83.120860112179, + "width": 13.543701171875, + "height": 17.527132901278378, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 341926221, + "version": 289, + "versionNonce": 771548099, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593461470170439, + -0.7966752485795041 + ], + [ + 0, + 1.593405983664809 + ], + [ + 1.593295010653435, + 2.390081232244313 + ], + [ + 4.780051491477309, + 3.983431729403435 + ], + [ + 7.170132723721622, + 3.983431729403435 + ], + [ + 9.560158469460248, + 3.983431729403435 + ], + [ + 10.356889204545439, + 2.390081232244313 + ], + [ + 10.356889204545439, + -0.7966752485795041 + ], + [ + 9.560158469460248, + -3.983431729403378 + ], + [ + 7.966863458806813, + -6.373457475142004 + ], + [ + 3.983431729403435, + -9.560213955965878 + ], + [ + 1.593295010653435, + -8.763538707386317 + ], + [ + -0.7967307350851911, + -4.780106977982939 + ], + [ + -2.39013671875, + 0 + ], + [ + -3.186811967329561, + 3.983431729403435 + ], + [ + -3.186811967329561, + 6.373512961647748 + ], + [ + -2.39013671875, + 7.9669189453125 + ], + [ + 0, + 7.9669189453125 + ], + [ + 3.186700994318187, + 6.373512961647748 + ], + [ + 7.170132723721622, + 1.593405983664809 + ], + [ + 7.170132723721622, + 1.593405983664809 + ] + ], + "pressures": [ + 0.1689453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2880859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.170132723721622, + 1.593405983664809 + ] + }, + { + "id": "RhMb0wtFka5x2H1pBOjGD", + "type": "freedraw", + "x": -206.82686783431387, + "y": 82.3241848635995, + "width": 11.950295188210248, + "height": 24.697265625, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 589303267, + "version": 285, + "versionNonce": 1736863213, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796619762073874, + 5.576893199573817 + ], + [ + -0.796619762073874, + 7.170188210227252 + ], + [ + 1.593405983664752, + 10.356944691051126 + ], + [ + 3.983431729403378, + 11.950295188210191 + ], + [ + 7.170243696732939, + 11.950295188210191 + ], + [ + 9.560269442471565, + 7.966863458806813 + ], + [ + 10.356944691051126, + 1.593405983664752 + ], + [ + 10.356944691051126, + -3.983431729403435 + ], + [ + 9.560269442471565, + -7.966863458806813 + ], + [ + 6.373512961647691, + -11.950295188210248 + ], + [ + 4.780162464488626, + -12.746970436789809 + ], + [ + 2.390081232244313, + -11.950295188210248 + ], + [ + 0, + -6.373457475142061 + ], + [ + -1.593350497159122, + 1.593405983664752 + ], + [ + -0.796619762073874, + 4.780106977982939 + ], + [ + 0, + 5.576893199573817 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0693359375, + 0.5380859375, + 0.90234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.552734375, + 0.1181640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 5.576893199573817 + ] + }, + { + "id": "bvB9Uf2gu-fUFTFL1wsAL", + "type": "freedraw", + "x": -162.2123325892855, + "y": 74.35732140479269, + "width": 28.680752840909065, + "height": 39.03764204545456, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1545379363, + "version": 289, + "versionNonce": 215053155, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780162464488626, + 3.983431729403378 + ], + [ + -6.373512961647691, + 6.373512961647691 + ], + [ + -6.373512961647691, + 9.560269442471565 + ], + [ + -3.983431729403378, + 12.746970436789752 + ], + [ + 0, + 15.137051669034065 + ], + [ + 5.5767822265625, + 15.933726917613626 + ], + [ + 10.356944691051126, + 14.340376420454504 + ], + [ + 13.543645685369313, + 8.763538707386317 + ], + [ + 14.340376420454561, + 3.186756480823817 + ], + [ + 14.340376420454561, + -4.780106977982996 + ], + [ + 12.746970436789809, + -12.746970436789809 + ], + [ + 6.373512961647748, + -21.51056463068187 + ], + [ + 0, + -23.103915127840935 + ], + [ + -6.373512961647691, + -19.1204833984375 + ], + [ + -11.153619939630687, + -11.153619939630687 + ], + [ + -14.340376420454504, + -3.186756480823874 + ], + [ + -14.340376420454504, + 3.983431729403378 + ], + [ + -12.747025923295439, + 4.780106977982939 + ], + [ + -9.560213955965878, + 4.780106977982939 + ], + [ + -5.5767822265625, + 3.186756480823817 + ], + [ + -1.593350497159065, + -1.593350497159122 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.056640625, + 0.599609375, + 0.8935546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.94921875, + 0.5458984375, + 0.2724609375, + 0.0263671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593350497159065, + -1.593350497159122 + ] + }, + { + "id": "7jCBmf8mX9siCTFb74qTh", + "type": "freedraw", + "x": -157.4322256113025, + "y": 56.83018850351425, + "width": 8.763538707386317, + "height": 43.02118474786931, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 14990861, + "version": 275, + "versionNonce": 2042374221, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + 3.983431729403435 + ], + [ + 2.390081232244313, + 19.120538884943187 + ], + [ + 3.186756480823817, + 24.697321111505687 + ], + [ + 5.57683771306813, + 34.25759055397725 + ], + [ + 7.170188210227252, + 40.63104802911931 + ], + [ + 7.966863458806813, + 43.02118474786931 + ], + [ + 8.763538707386317, + 43.02118474786931 + ], + [ + 8.763538707386317, + 39.83437278053975 + ], + [ + 8.763538707386317, + 38.24102228338069 + ], + [ + 8.763538707386317, + 38.24102228338069 + ] + ], + "pressures": [ + 0.0224609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.19140625, + 0.0546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.763538707386317, + 38.24102228338069 + ] + }, + { + "id": "ej3YofLGQHZGziDDk1WGN", + "type": "freedraw", + "x": -223.55721451400137, + "y": 58.423594487179, + "width": 47.004560990767004, + "height": 58.95491166548294, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 736839117, + "version": 299, + "versionNonce": 766709507, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + -0.7967307350851911 + ], + [ + -1.5934614701704959, + -1.593405983664752 + ], + [ + -2.39013671875, + -1.593405983664752 + ], + [ + -5.576893199573874, + 0 + ], + [ + -9.560324928977309, + 2.390025745738683 + ], + [ + -11.950350674715935, + 7.170188210227309 + ], + [ + -12.747081409801126, + 15.137051669034122 + ], + [ + -12.747081409801126, + 19.91715864701706 + ], + [ + -12.747081409801126, + 23.103915127840935 + ], + [ + -10.357000177556813, + 25.493996360085248 + ], + [ + -6.373568448153435, + 27.884022105823874 + ], + [ + 6.373457475142004, + 29.477483575994313 + ], + [ + 16.7303466796875, + 27.884022105823874 + ], + [ + 24.697265625, + 23.103915127840935 + ], + [ + 30.2740478515625, + 17.527132901278435 + ], + [ + 33.460804332386374, + 10.356889204545496 + ], + [ + 34.25747958096588, + -2.390025745738626 + ], + [ + 33.460804332386374, + -11.950350674715878 + ], + [ + 29.47737260298294, + -19.91721413352269 + ], + [ + 23.90059037642044, + -26.29072709517044 + ], + [ + 18.323752663352252, + -28.680752840909065 + ], + [ + 9.560158469460191, + -29.477428089488626 + ], + [ + 3.983431729403378, + -26.29072709517044 + ], + [ + -2.39013671875, + -20.713889382102252 + ], + [ + -7.170243696732996, + -3.983431729403378 + ], + [ + -7.966863458806813, + 8.763538707386374 + ], + [ + -4.780162464488626, + 19.1204833984375 + ], + [ + -0.7967307350852479, + 24.697265625 + ], + [ + 3.186700994318187, + 27.884022105823874 + ], + [ + 6.373457475142004, + 27.884022105823874 + ], + [ + 11.153564453125, + 24.697265625 + ], + [ + 11.950295188210191, + 21.510564630681813 + ], + [ + 11.950295188210191, + 20.713833895596622 + ], + [ + 11.950295188210191, + 20.713833895596622 + ] + ], + "pressures": [ + 0.0302734375, + 0.05078125, + 0.197265625, + 0.302734375, + 0.669921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.390625, + 0.154296875, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.950295188210191, + 20.713833895596622 + ] + }, + { + "id": "SJyDe--ElrFhoRGAbJYz1", + "type": "freedraw", + "x": -229.13410771357525, + "y": 86.30761659300288, + "width": 43.81780450994319, + "height": 68.51512562144887, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1480765421, + "version": 302, + "versionNonce": 101422765, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.593461470170439 + ], + [ + 0.7967307350852479, + -3.186756480823874 + ], + [ + 2.390081232244313, + -11.950295188210191 + ], + [ + 2.390081232244313, + -17.527132901278378 + ], + [ + 3.186756480823874, + -21.510564630681813 + ], + [ + 3.186756480823874, + -27.087346857244313 + ], + [ + 3.983431729403378, + -35.850941051136374 + ], + [ + 7.966863458806813, + -48.597911487926126 + ], + [ + 10.356944691051126, + -54.17474920099431 + ], + [ + 13.543756658380687, + -57.3614501953125 + ], + [ + 18.32380814985794, + -61.344937411221565 + ], + [ + 27.88407759232956, + -65.328369140625 + ], + [ + 33.46091530539775, + -65.328369140625 + ], + [ + 37.444347034801126, + -61.344937411221565 + ], + [ + 40.63104802911931, + -53.378018465909065 + ], + [ + 41.42783425071025, + -43.02107377485794 + ], + [ + 41.42783425071025, + -29.477428089488626 + ], + [ + 34.25759055397725, + -9.560213955965878 + ], + [ + 27.08740234375, + -0.796675248579561 + ], + [ + 18.32380814985794, + 3.186756480823874 + ], + [ + 6.373512961647748, + 2.390081232244313 + ], + [ + 3.186756480823874, + 0 + ], + [ + -2.389970259232939, + -19.1204833984375 + ], + [ + -2.389970259232939, + -26.290616122159065 + ], + [ + 0, + -39.83437278053975 + ], + [ + 3.983431729403378, + -50.19126198508519 + ], + [ + 11.153619939630687, + -57.3614501953125 + ], + [ + 16.730457652698874, + -58.95485617897725 + ], + [ + 22.307239879261374, + -58.95485617897725 + ], + [ + 29.477483575994313, + -58.95485617897725 + ], + [ + 32.6641845703125, + -58.95485617897725 + ], + [ + 34.25759055397725, + -56.56477494673294 + ], + [ + 35.05426580255681, + -51.78466796875 + ], + [ + 35.05426580255681, + -47.801236239346565 + ], + [ + 35.05426580255681, + -47.00456099076706 + ], + [ + 34.25759055397725, + -46.20783025568181 + ], + [ + 34.25759055397725, + -46.20783025568181 + ] + ], + "pressures": [ + 0.029296875, + 0.4091796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7744140625, + 0.26171875, + 0.115234375, + 0.009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.25759055397725, + -46.20783025568181 + ] + }, + { + "id": "fj4Au6XryJUlQIW9fyOpZ", + "type": "freedraw", + "x": -219.573782784598, + "y": 79.13742838277562, + "width": 16.730402166193187, + "height": 46.20783025568181, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 249636067, + "version": 283, + "versionNonce": 1663055523, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.373568448153378, + -0.796675248579561 + ], + [ + -8.763594193892004, + -3.186700994318187 + ], + [ + -10.357000177556813, + -7.170132723721622 + ], + [ + -11.153675426136374, + -7.966863458806813 + ], + [ + -11.153675426136374, + -12.746970436789809 + ], + [ + -9.560324928977252, + -22.307239879261374 + ], + [ + -6.373568448153378, + -30.274103338068187 + ], + [ + -3.186811967329504, + -37.44429154829544 + ], + [ + 0.796619762073874, + -43.02107377485794 + ], + [ + 2.390025745738626, + -45.41115500710231 + ], + [ + 3.983431729403435, + -46.20783025568181 + ], + [ + 5.576726740056813, + -42.224398526278435 + ], + [ + 5.576726740056813, + -38.240966796875 + ], + [ + 4.780051491477309, + -32.6641845703125 + ], + [ + 3.186700994318187, + -27.087291370738626 + ], + [ + 2.390025745738626, + -22.307239879261374 + ], + [ + 1.593295010653435, + -22.307239879261374 + ], + [ + 1.593295010653435, + -22.307239879261374 + ] + ], + "pressures": [ + 0.080078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.556640625, + 0.2109375, + 0.0400390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.593295010653435, + -22.307239879261374 + ] + }, + { + "id": "dl0HIpaPrOp5i-lZ4vMJJ", + "type": "freedraw", + "x": -237.10097117238206, + "y": 89.49437307382675, + "width": 43.021129261363626, + "height": 57.36150568181819, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 954268611, + "version": 275, + "versionNonce": 119421197, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 34.257535067471565, + -40.63104802911931 + ], + [ + 39.83437278053975, + -1.593295010653435 + ], + [ + 43.021129261363626, + 12.747025923295439 + ], + [ + 43.021129261363626, + 15.933726917613626 + ], + [ + 43.021129261363626, + 16.730457652698874 + ], + [ + 42.224454012784065, + 11.153619939630687 + ], + [ + 41.42777876420456, + 7.170188210227252 + ], + [ + 39.83437278053975, + 2.39013671875 + ], + [ + 39.83437278053975, + 1.593405983664752 + ], + [ + 39.83437278053975, + 1.593405983664752 + ] + ], + "pressures": [ + 0.0634765625, + 1, + 1, + 1, + 1, + 1, + 1, + 0.599609375, + 0.21875, + 0.0927734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.83437278053975, + 1.593405983664752 + ] + }, + { + "id": "WPrs-QlKsAjynVXH2x9Kg", + "type": "freedraw", + "x": -178.94284572849, + "y": 15.40246522581532, + "width": 33.46085981889206, + "height": 73.2952880859375, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1530244899, + "version": 287, + "versionNonce": 1718456173, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -1.593350497159065 + ], + [ + -0.796675248579561, + 3.186756480823874 + ], + [ + -0.796675248579561, + 15.93378240411937 + ], + [ + -0.796675248579561, + 31.070834073153435 + ], + [ + -4.780106977982939, + 52.58139870383525 + ], + [ + -7.170188210227252, + 61.34493741122162 + ], + [ + -8.763538707386374, + 69.31180087002843 + ], + [ + -8.763538707386374, + 70.90520685369319 + ], + [ + -8.763538707386374, + 71.70193758877843 + ], + [ + -7.170188210227252, + 70.90520685369319 + ], + [ + 1.593405983664809, + 65.328369140625 + ], + [ + 9.560269442471622, + 62.14161265980118 + ], + [ + 15.933782404119313, + 61.34493741122162 + ], + [ + 19.917214133522748, + 61.34493741122162 + ], + [ + 23.103970614346622, + 61.34493741122162 + ], + [ + 24.697321111505687, + 61.34493741122162 + ], + [ + 22.30729536576706, + 62.14161265980118 + ], + [ + 19.917214133522748, + 62.14161265980118 + ], + [ + 19.917214133522748, + 61.34493741122162 + ], + [ + 19.917214133522748, + 61.34493741122162 + ] + ], + "pressures": [ + 0.06640625, + 0.2705078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3544921875, + 0.044921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 19.917214133522748, + 61.34493741122162 + ] + }, + { + "id": "tStJyOhlwEKLIZI1doys8", + "type": "freedraw", + "x": -146.27860567167187, + "y": 24.16600393320175, + "width": 31.867509321732996, + "height": 56.56483043323868, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1179634435, + "version": 288, + "versionNonce": 747055587, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.186756480823874 + ], + [ + 0, + -3.983431729403435 + ], + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 7.170188210227252 + ], + [ + -3.186756480823817, + 16.730457652698874 + ], + [ + -6.373512961647691, + 27.884133078835248 + ], + [ + -9.560213955965878, + 38.24102228338069 + ], + [ + -13.543645685369313, + 49.394642223011374 + ], + [ + -13.543645685369313, + 51.78472345525569 + ], + [ + -13.543645685369313, + 52.58139870383525 + ], + [ + -12.747025923295439, + 52.58139870383525 + ], + [ + -8.763538707386317, + 51.78472345525569 + ], + [ + -3.983431729403378, + 47.00456099076706 + ], + [ + 0.796675248579561, + 41.42777876420456 + ], + [ + 4.780106977982996, + 39.03769753196025 + ], + [ + 10.357000177556813, + 39.03769753196025 + ], + [ + 13.543701171875, + 39.83442826704544 + ], + [ + 16.730457652698874, + 40.63104802911931 + ], + [ + 18.323863636363683, + 40.63104802911931 + ], + [ + 17.527132901278435, + 42.224454012784065 + ], + [ + 15.933726917613683, + 43.021129261363626 + ], + [ + 15.137051669034122, + 43.021129261363626 + ], + [ + 15.137051669034122, + 43.021129261363626 + ] + ], + "pressures": [ + 0.1328125, + 0.228515625, + 0.3115234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8642578125, + 0.2470703125, + 0.1328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.137051669034122, + 43.021129261363626 + ] + }, + { + "id": "3Nq6p5cU-6tbiJ9p8TI2m", + "type": "freedraw", + "x": -64.219778878348, + "y": 90.29104832240631, + "width": 46.2078857421875, + "height": 66.12504438920456, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 901553261, + "version": 296, + "versionNonce": 1785591171, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + -3.983431729403435 + ], + [ + 0.796675248579561, + -10.356889204545496 + ], + [ + -1.593405983664752, + -19.1204833984375 + ], + [ + -3.186756480823874, + -30.2740478515625 + ], + [ + -4.780162464488626, + -43.021073774857996 + ], + [ + -4.780162464488626, + -54.971424449573874 + ], + [ + -3.186756480823874, + -64.53163840553981 + ], + [ + -2.390081232244313, + -65.328369140625 + ], + [ + 0, + -66.12504438920456 + ], + [ + 3.186700994318187, + -66.12504438920456 + ], + [ + 7.170132723721622, + -65.328369140625 + ], + [ + 11.153564453125, + -65.328369140625 + ], + [ + 21.510509144176126, + -65.328369140625 + ], + [ + 30.274103338068187, + -66.12504438920456 + ], + [ + 36.64756081321025, + -64.53163840553981 + ], + [ + 40.630992542613626, + -62.141612659801126 + ], + [ + 41.427723277698874, + -59.75153142755681 + ], + [ + 39.83431729403412, + -57.3614501953125 + ], + [ + 34.25753506747162, + -54.971424449573874 + ], + [ + 27.087346857244313, + -51.78466796875 + ], + [ + 19.1204833984375, + -48.597911487926126 + ], + [ + 7.966863458806813, + -46.20783025568181 + ], + [ + 3.186700994318187, + -45.41115500710231 + ], + [ + 0, + -44.61447975852275 + ], + [ + -2.390081232244313, + -43.81780450994319 + ], + [ + -3.983431729403378, + -42.22434303977275 + ], + [ + -2.390081232244313, + -42.22434303977275 + ], + [ + 8.763538707386374, + -41.427723277698874 + ], + [ + 20.713833895596622, + -40.63104802911931 + ], + [ + 31.070778586647748, + -39.03764204545456 + ], + [ + 35.85088556463069, + -38.24091131036931 + ], + [ + 36.64756081321025, + -37.444291548295496 + ], + [ + 35.054210316051126, + -35.85088556463069 + ], + [ + 31.86745383522731, + -35.054210316051126 + ], + [ + 31.86745383522731, + -35.054210316051126 + ] + ], + "pressures": [ + 0.1748046875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.86745383522731, + -35.054210316051126 + ] + }, + { + "id": "Nlm4uWihdd-esC4ofywNW", + "type": "freedraw", + "x": -61.03307788402981, + "y": 83.91759084726425, + "width": 48.59796697443187, + "height": 72.49855735085225, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1413487139, + "version": 306, + "versionNonce": 867719213, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390081232244313, + -3.983431729403435 + ], + [ + 3.983431729403435, + -13.543701171875 + ], + [ + 5.576837713068187, + -27.884022105823874 + ], + [ + 7.966863458806813, + -43.021129261363626 + ], + [ + 9.560269442471622, + -55.768155184659065 + ], + [ + 9.560269442471622, + -67.71845037286931 + ], + [ + 7.966863458806813, + -70.90520685369319 + ], + [ + 7.170188210227252, + -72.49855735085225 + ], + [ + 9.560269442471622, + -72.49855735085225 + ], + [ + 15.137051669034122, + -72.49855735085225 + ], + [ + 26.290671608664752, + -70.10853160511363 + ], + [ + 34.25759055397725, + -66.92177512428975 + ], + [ + 40.63104802911937, + -64.53169389204544 + ], + [ + 44.61447975852275, + -62.141612659801126 + ], + [ + 47.004560990767004, + -60.54826216264206 + ], + [ + 48.59796697443187, + -60.54826216264206 + ], + [ + 44.61447975852275, + -60.54826216264206 + ], + [ + 39.83437278053975, + -60.54826216264206 + ], + [ + 35.05426580255681, + -60.54826216264206 + ], + [ + 30.274158824573874, + -60.54826216264206 + ], + [ + 26.290671608664752, + -60.54826216264206 + ], + [ + 22.307239879261374, + -60.54826216264206 + ], + [ + 19.1204833984375, + -60.54826216264206 + ], + [ + 17.527132901278435, + -60.54826216264206 + ], + [ + 15.137051669034122, + -60.54826216264206 + ], + [ + 11.950350674715935, + -60.54826216264206 + ], + [ + 9.560269442471622, + -60.54826216264206 + ], + [ + 7.170188210227252, + -59.7515869140625 + ], + [ + 5.576837713068187, + -58.95491166548294 + ], + [ + 4.780162464488626, + -58.15818093039775 + ], + [ + 4.780162464488626, + -57.36150568181819 + ], + [ + 5.576837713068187, + -57.36150568181819 + ], + [ + 11.153619939630687, + -55.768155184659065 + ], + [ + 24.697321111505687, + -52.58139870383525 + ], + [ + 32.6641845703125, + -50.191317471590935 + ], + [ + 37.44429154829544, + -48.59796697443181 + ], + [ + 39.03769753196025, + -47.801236239346565 + ], + [ + 38.24102228338069, + -47.801236239346565 + ], + [ + 34.25759055397725, + -46.2078857421875 + ], + [ + 28.680752840909122, + -45.41121049360794 + ], + [ + 23.103970614346622, + -44.614535245028435 + ], + [ + 22.307239879261374, + -43.81780450994319 + ], + [ + 21.510564630681813, + -43.81780450994319 + ], + [ + 22.307239879261374, + -43.81780450994319 + ], + [ + 22.307239879261374, + -43.81780450994319 + ] + ], + "pressures": [ + 0.0986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.091796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 22.307239879261374, + -43.81780450994319 + ] + }, + { + "id": "YUzCxkDF0kWKZ1L_VRlzO", + "type": "freedraw", + "x": -54.65956492238206, + "y": 87.90107806317332, + "width": 1.593350497159122, + "height": 7.170243696732939, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1222808621, + "version": 264, + "versionNonce": 1153060131, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -0.7967862215908781 + ], + [ + -1.593350497159122, + -7.170243696732939 + ], + [ + -1.593350497159122, + -7.170243696732939 + ] + ], + "pressures": [ + 0.072265625, + 0.8876953125, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593350497159122, + -7.170243696732939 + ] + }, + { + "id": "czpDCjdn8AXDkZ46UqS32", + "type": "freedraw", + "x": -56.25291541954118, + "y": 75.95072738845744, + "width": 47.004505504261374, + "height": 67.71845037286931, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1476666467, + "version": 261, + "versionNonce": 884394637, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 47.004505504261374, + -67.71845037286931 + ], + [ + 41.427723277698874, + -66.12509987571025 + ] + ], + "pressures": [ + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.427723277698874, + -66.12509987571025 + ] + }, + { + "id": "hEXDdW8JNMJXC_VdoLUm_", + "type": "freedraw", + "x": -53.066214425222995, + "y": 79.93415911786082, + "width": 44.61447975852275, + "height": 74.091963334517, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2127257197, + "version": 287, + "versionNonce": 786084035, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7967307350851911 + ], + [ + 0, + -6.373512961647691 + ], + [ + 0, + -13.543701171875 + ], + [ + 0.7967307350852479, + -22.307295365767004 + ], + [ + 1.593405983664809, + -32.6641845703125 + ], + [ + 1.593405983664809, + -48.59796697443181 + ], + [ + 1.593405983664809, + -56.564830433238626 + ], + [ + 0.7967307350852479, + -62.141612659801126 + ], + [ + 0.7967307350852479, + -63.73501864346588 + ], + [ + 0, + -65.328369140625 + ], + [ + -0.796675248579561, + -70.90520685369313 + ], + [ + -1.593350497159065, + -73.2952880859375 + ], + [ + -1.593350497159065, + -74.091963334517 + ], + [ + -0.796675248579561, + -74.091963334517 + ], + [ + 3.186756480823874, + -72.49855735085225 + ], + [ + 7.9669189453125, + -71.70188210227269 + ], + [ + 14.340376420454561, + -70.10853160511363 + ], + [ + 21.510564630681813, + -67.71845037286931 + ], + [ + 32.66418457031256, + -63.73501864346588 + ], + [ + 38.24102228338069, + -62.93834339488632 + ], + [ + 41.42777876420456, + -62.141612659801126 + ], + [ + 42.224454012784065, + -61.344937411221565 + ], + [ + 43.02112926136368, + -61.344937411221565 + ], + [ + 42.224454012784065, + -59.7515869140625 + ], + [ + 39.03769753196019, + -56.564830433238626 + ], + [ + 33.46091530539769, + -54.17474920099431 + ], + [ + 32.66418457031256, + -54.17474920099431 + ], + [ + 32.66418457031256, + -54.17474920099431 + ] + ], + "pressures": [ + 0.0751953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6533203125, + 0.07421875, + 0.0009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 32.66418457031256, + -54.17474920099431 + ] + }, + { + "id": "NUNVliaiHOJMvDWSGVNLn", + "type": "freedraw", + "x": -49.87945794439912, + "y": 43.28654281814494, + "width": 23.103915127840878, + "height": 3.983431729403378, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1349627405, + "version": 268, + "versionNonce": 1173876973, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + 0.796675248579561 + ], + [ + 0, + 0.796675248579561 + ], + [ + 5.576837713068187, + 2.390025745738626 + ], + [ + 11.153619939630687, + 3.186700994318187 + ], + [ + 16.730457652698874, + 3.983431729403378 + ], + [ + 19.120538884943187, + 3.983431729403378 + ], + [ + 20.713889382102252, + 3.983431729403378 + ], + [ + 20.713889382102252, + 3.186700994318187 + ], + [ + 20.713889382102252, + 3.983431729403378 + ], + [ + 20.713889382102252, + 3.983431729403378 + ] + ], + "pressures": [ + 0.1083984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 20.713889382102252, + 3.983431729403378 + ] + }, + { + "id": "Zb4Gpz0tMt7wetLTQuZcq", + "type": "freedraw", + "x": -19.605299119825304, + "y": 27.352760414025624, + "width": 50.987992720170496, + "height": 73.29523259943181, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1107009997, + "version": 323, + "versionNonce": 711827555, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485796178, + -1.593350497159122 + ], + [ + -0.7967307350851343, + -3.186756480823874 + ], + [ + -3.983487215909065, + -4.780106977982939 + ], + [ + -7.966918945312443, + -7.170188210227309 + ], + [ + -12.747025923295382, + -7.966863458806813 + ], + [ + -17.527132901278378, + -7.966863458806813 + ], + [ + -24.69732111150563, + -8.763538707386374 + ], + [ + -28.680752840909065, + -9.560213955965935 + ], + [ + -31.070834073153378, + -10.356944691051126 + ], + [ + -31.867509321732882, + -10.356944691051126 + ], + [ + -31.867509321732882, + -5.5767822265625 + ], + [ + -32.66418457031244, + 7.966863458806813 + ], + [ + -34.25759055397725, + 18.32380814985794 + ], + [ + -35.054265802556756, + 28.680808327414752 + ], + [ + -36.64761629971588, + 38.24102228338069 + ], + [ + -38.24102228338063, + 50.19131747159088 + ], + [ + -38.24102228338063, + 55.76809969815338 + ], + [ + -38.24102228338063, + 59.75153142755681 + ], + [ + -38.24102228338063, + 61.344937411221565 + ], + [ + -38.24102228338063, + 62.141612659801126 + ], + [ + -38.24102228338063, + 62.93828790838069 + ], + [ + -38.24102228338063, + 59.75153142755681 + ], + [ + -38.24102228338063, + 54.971424449573874 + ], + [ + -37.44434703480107, + 48.59796697443181 + ], + [ + -37.44434703480107, + 41.427723277698874 + ], + [ + -36.64761629971588, + 30.274103338068187 + ], + [ + -35.85094105113632, + 24.697376598011374 + ], + [ + -35.85094105113632, + 19.91721413352269 + ], + [ + -35.054265802556756, + 15.137051669034065 + ], + [ + -34.25759055397725, + 6.373512961647691 + ], + [ + -34.25759055397725, + 2.390081232244313 + ], + [ + -33.46091530539769, + 0 + ], + [ + -32.66418457031244, + 0 + ], + [ + -31.867509321732882, + 3.983431729403378 + ], + [ + -30.274158824573817, + 7.966863458806813 + ], + [ + -26.290727095170382, + 12.747025923295439 + ], + [ + -23.90064586292607, + 13.543701171875 + ], + [ + -19.91721413352269, + 15.137051669034065 + ], + [ + -15.933782404119256, + 15.137051669034065 + ], + [ + -11.950350674715878, + 15.933782404119313 + ], + [ + -6.373512961647691, + 16.730457652698874 + ], + [ + -3.186756480823817, + 16.730457652698874 + ], + [ + -0.7967307350851343, + 17.527132901278378 + ], + [ + 0, + 17.527132901278378 + ], + [ + -1.593405983664752, + 17.527132901278378 + ], + [ + -6.373512961647691, + 15.933782404119313 + ], + [ + -12.747025923295382, + 14.340376420454561 + ], + [ + -23.90064586292607, + 13.543701171875 + ], + [ + -31.070834073153378, + 13.543701171875 + ], + [ + -37.44434703480107, + 13.543701171875 + ], + [ + -43.02112926136357, + 13.543701171875 + ], + [ + -48.59791148792607, + 12.747025923295439 + ], + [ + -50.19131747159088, + 11.950295188210191 + ], + [ + -43.02112926136357, + 14.340376420454561 + ], + [ + -35.054265802556756, + 16.730457652698874 + ], + [ + -25.49399636008519, + 19.1204833984375 + ], + [ + -15.933782404119256, + 21.510564630681813 + ], + [ + -5.57683771306813, + 24.697376598011374 + ], + [ + -2.390081232244256, + 25.49399636008519 + ], + [ + -3.186756480823817, + 24.697376598011374 + ], + [ + -4.780162464488569, + 24.697376598011374 + ], + [ + -7.170188210227252, + 24.697376598011374 + ], + [ + -8.763594193892004, + 25.49399636008519 + ], + [ + -8.763594193892004, + 26.290671608664752 + ], + [ + -8.763594193892004, + 26.290671608664752 + ] + ], + "pressures": [ + 0.048828125, + 0.3642578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3994140625, + 0.208984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -8.763594193892004, + 26.290671608664752 + ] + }, + { + "id": "jgDGeRRCfUfwSHfYQZSD2", + "type": "freedraw", + "x": -11.638435661018434, + "y": 13.012383993571063, + "width": 43.81780450994319, + "height": 48.59796697443181, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1445997731, + "version": 270, + "versionNonce": 21076995, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -43.81780450994319, + 43.81780450994319 + ], + [ + -35.05426580255681, + 41.42777876420456 + ], + [ + -32.6641845703125, + 40.63104802911931 + ], + [ + -27.08740234375, + 39.037753018465935 + ], + [ + -22.307239879261374, + 39.037753018465935 + ], + [ + -19.1204833984375, + 39.037753018465935 + ], + [ + -16.730457652698874, + 39.83437278053975 + ], + [ + -15.933782404119313, + 42.22445401278412 + ], + [ + -15.137051669034122, + 44.61447975852275 + ], + [ + -15.137051669034122, + 47.00461647727275 + ], + [ + -15.137051669034122, + 47.80123623934662 + ], + [ + -15.137051669034122, + 48.59796697443181 + ], + [ + -15.137051669034122, + 48.59796697443181 + ] + ], + "pressures": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.611328125, + 0.2939453125, + 0.0498046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -15.137051669034122, + 48.59796697443181 + ] + }, + { + "id": "THUBAj-d3p9hFR6SoiXo_", + "type": "freedraw", + "x": -345.45041408786506, + "y": 212.18424789626994, + "width": 6.373512961647691, + "height": 1.593405983664752, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2073212803, + "version": 258, + "versionNonce": 442678477, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780162464488626, + 0 + ], + [ + -6.373512961647691, + -1.593405983664752 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0322265625, + 0.1923828125, + 0.2236328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.373512961647691, + -1.593405983664752 + ] + }, + { + "id": "sDgWNf2T_-WP2tKvRKlTg", + "type": "freedraw", + "x": -352.6206022980923, + "y": 208.20081616686656, + "width": 65.328369140625, + "height": 36.64767178622162, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 368157283, + "version": 265, + "versionNonce": 1070465667, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.153619939630687, + 32.6641845703125 + ], + [ + 23.900590376420496, + -3.983487215909122 + ], + [ + 43.81780450994319, + 0 + ], + [ + 49.394642223011374, + 1.5933504971590082 + ], + [ + 57.36150568181819, + 6.373457475142004 + ], + [ + 62.93828790838069, + 11.950295188210134 + ], + [ + 65.328369140625, + 19.917158647017004 + ], + [ + 65.328369140625, + 23.900590376420382 + ], + [ + 63.73496315696025, + 26.290671608664752 + ], + [ + 60.548206676136374, + 27.08740234375 + ], + [ + 58.95485617897725, + 25.493996360085134 + ], + [ + 58.95485617897725, + 25.493996360085134 + ] + ], + "pressures": [ + 0.26171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.296875, + 0.033203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 58.95485617897725, + 25.493996360085134 + ] + }, + { + "id": "KwvQkq-0EdKbixfdlFrxX", + "type": "freedraw", + "x": -351.82392704951275, + "y": 168.3664433863267, + "width": 175.27121803977275, + "height": 117.9097123579545, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 361116045, + "version": 306, + "versionNonce": 1844157229, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664809, + -1.593405983664752 + ], + [ + -3.983431729403435, + -3.1867564808237603 + ], + [ + -4.780162464488626, + -4.780106977982882 + ], + [ + -5.576837713068187, + -5.57683771306813 + ], + [ + -3.983431729403435, + -7.966863458806756 + ], + [ + 2.390025745738626, + -13.543701171875 + ], + [ + 11.950295188210191, + -15.137051669034008 + ], + [ + 27.087346857244313, + -14.340376420454504 + ], + [ + 44.614535245028435, + -10.356944691051126 + ], + [ + 61.344937411221565, + -4.780106977982882 + ], + [ + 86.04220303622157, + 8.763538707386374 + ], + [ + 98.78922895951706, + 21.51056463068187 + ], + [ + 106.75609241832387, + 35.05426580255687 + ], + [ + 109.14617365056819, + 44.61447975852275 + ], + [ + 103.5693359375, + 50.98804820667624 + ], + [ + 90.025634765625, + 54.97147993607962 + ], + [ + 70.10847611860794, + 58.954911665482996 + ], + [ + 48.59796697443181, + 61.34488192471599 + ], + [ + 25.49399636008519, + 62.14161265980124 + ], + [ + -4.780162464488626, + 58.15818093039775 + ], + [ + -18.32380814985794, + 54.17474920099437 + ], + [ + -26.29067160866481, + 50.98804820667624 + ], + [ + -29.477428089488626, + 49.394586736505744 + ], + [ + -30.274158824573874, + 48.59791148792624 + ], + [ + -29.477428089488626, + 48.59791148792624 + ], + [ + -25.49399636008519, + 49.394586736505744 + ], + [ + -17.527132901278435, + 52.58134321732962 + ], + [ + -7.170132723721565, + 58.954911665482996 + ], + [ + 16.730457652698874, + 70.90520685369324 + ], + [ + 35.850941051136374, + 76.48198908025574 + ], + [ + 51.78466796875, + 78.8720703125 + ], + [ + 65.328369140625, + 79.66869007457387 + ], + [ + 84.44890802556819, + 77.27866432883525 + ], + [ + 98.78922895951706, + 73.29523259943187 + ], + [ + 112.33293013139206, + 66.92177512428987 + ], + [ + 122.6898193359375, + 57.3614501953125 + ], + [ + 125.87657581676137, + 42.22439852627849 + ], + [ + 117.90971235795456, + 11.950295188210248 + ], + [ + 106.75609241832387, + -9.560269442471508 + ], + [ + 92.415771484375, + -27.08740234375 + ], + [ + 74.88858309659088, + -36.647560813210134 + ], + [ + 47.00456099076706, + -38.24102228338063 + ], + [ + 25.49399636008519, + -35.85094105113626 + ], + [ + 4.780162464488626, + -30.27415882457376 + ], + [ + -13.543701171875, + -23.10397061434651 + ], + [ + -29.477428089488626, + -11.950350674715878 + ], + [ + -45.41121049360794, + 7.170243696732996 + ], + [ + -49.394642223011374, + 19.120538884943244 + ], + [ + -47.801236239346565, + 29.47742808948874 + ], + [ + -42.224454012784065, + 36.64761629971599 + ], + [ + -28.680752840909065, + 43.817804509943244 + ], + [ + -23.900645862926126, + 45.411155007102366 + ], + [ + -23.900645862926126, + 45.411155007102366 + ] + ], + "pressures": [ + 0.138671875, + 0.23046875, + 0.4033203125, + 0.6337890625, + 0.8828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.55859375, + 0.302734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -23.900645862926126, + 45.411155007102366 + ] + }, + { + "id": "jkcTJlYvJ9Yn68gr_iCRO", + "type": "freedraw", + "x": -370.94441044795025, + "y": 214.57427364200856, + "width": 11.153619939630687, + "height": 2.390025745738626, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2144998307, + "version": 253, + "versionNonce": 1821424163, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.153619939630687, + -2.390025745738626 + ], + [ + 11.153619939630687, + -2.390025745738626 + ] + ], + "pressures": [ + 0.21484375, + 0.091796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.153619939630687, + -2.390025745738626 + ] + }, + { + "id": "PSC0Zpq3DbwnBQFJuMH5G", + "type": "freedraw", + "x": -357.40076476258093, + "y": 184.30017030394043, + "width": 115.51968661221593, + "height": 96.39914772727275, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 744910723, + "version": 269, + "versionNonce": 1837739405, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593295010653378, + -18.323808149857996 + ], + [ + 93.21244673295456, + 60.548262162642004 + ], + [ + 82.05888227982956, + 69.31180087002838 + ], + [ + 65.328369140625, + 74.88863858309651 + ], + [ + 46.20794122869319, + 78.07533957741475 + ], + [ + 16.730457652698874, + 74.09190784801126 + ], + [ + 1.593405983664752, + 66.1250443892045 + ], + [ + -9.560213955965878, + 58.158180930397634 + ], + [ + -17.527132901278378, + 50.19131747159088 + ], + [ + -21.510564630681813, + 43.81780450994313 + ], + [ + -22.307239879261374, + 39.03775301846588 + ], + [ + -22.307239879261374, + 33.460859818892004 + ], + [ + -20.713833895596622, + 31.070834073153378 + ], + [ + -17.527132901278378, + 29.477428089488626 + ], + [ + -12.746970436789752, + 28.68075284090901 + ], + [ + -8.763538707386374, + 28.68075284090901 + ], + [ + -7.170188210227252, + 28.68075284090901 + ], + [ + -7.170188210227252, + 28.68075284090901 + ] + ], + "pressures": [ + 0.08984375, + 0.7568359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.71484375, + 0.2724609375, + 0.15625, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.170188210227252, + 28.68075284090901 + ] + }, + { + "id": "VcTbuEDC_zZZh5BIH4Qd6", + "type": "freedraw", + "x": -366.1643034699673, + "y": 170.75646913206543, + "width": 175.27127352627838, + "height": 128.26665704900563, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2004631533, + "version": 298, + "versionNonce": 1264287171, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 6.373512961647748, + -3.186700994318244 + ], + [ + 16.730402166193187, + -7.170132723721622 + ], + [ + 32.6641845703125, + -9.560213955965992 + ], + [ + 52.58134321732956, + -10.356889204545496 + ], + [ + 71.70182661576706, + -10.356889204545496 + ], + [ + 99.58590420809662, + -7.170132723721622 + ], + [ + 116.31636186079544, + 1.593405983664752 + ], + [ + 129.8600075461648, + 12.747081409801126 + ], + [ + 141.01362748579544, + 32.66424005681813 + ], + [ + 141.8103582208807, + 46.2078857421875 + ], + [ + 136.2335205078125, + 59.7515869140625 + ], + [ + 125.07990056818181, + 70.90520685369313 + ], + [ + 109.94284889914775, + 80.46547629616475 + ], + [ + 87.63560901988637, + 86.04225852272725 + ], + [ + 49.39458673650569, + 86.83893377130676 + ], + [ + 26.290671608664752, + 83.65217729048288 + ], + [ + 10.356944691051126, + 79.6687455610795 + ], + [ + 0, + 76.48204456676126 + ], + [ + -5.57683771306813, + 73.29523259943176 + ], + [ + -1.593405983664752, + 72.49861283735788 + ], + [ + 5.5767822265625, + 72.49861283735788 + ], + [ + 27.884022105823874, + 77.27866432883513 + ], + [ + 50.988048206676126, + 82.85550204190338 + ], + [ + 74.88863858309662, + 86.04225852272725 + ], + [ + 108.34944291548294, + 82.05882679332376 + ], + [ + 125.07990056818181, + 76.48204456676126 + ], + [ + 135.43684525923294, + 70.10853160511363 + ], + [ + 142.60708895596593, + 62.141612659801126 + ], + [ + 146.5905206853693, + 50.98799272017038 + ], + [ + 146.5905206853693, + 35.85094105113626 + ], + [ + 136.2335205078125, + 11.15361993963063 + ], + [ + 121.09646883877843, + -5.5767822265625 + ], + [ + 98.78928444602275, + -20.713833895596622 + ], + [ + 74.09190784801137, + -33.46085981889212 + ], + [ + 36.647616299715935, + -40.63104802911937 + ], + [ + 15.933726917613626, + -41.427723277698874 + ], + [ + -1.593405983664752, + -38.240966796875 + ], + [ + -15.137051669034065, + -30.274103338068244 + ], + [ + -24.69732111150563, + -19.917158647017118 + ], + [ + -28.680752840909065, + -2.3900257457387397 + ], + [ + -27.884077592329504, + 8.763649680397634 + ], + [ + -24.69732111150563, + 17.527132901278378 + ], + [ + -19.917214133522748, + 22.30723987926126 + ], + [ + -11.15361993963063, + 26.290727095170382 + ], + [ + -7.170188210227252, + 26.290727095170382 + ], + [ + -6.373512961647748, + 26.290727095170382 + ], + [ + -6.373512961647748, + 26.290727095170382 + ] + ], + "pressures": [ + 0.09375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.931640625, + 0.2958984375, + 0.1689453125, + 0.1123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.373512961647748, + 26.290727095170382 + ] + }, + { + "id": "woWJmnqzM9bNyqbk1o5Dv", + "type": "freedraw", + "x": -264.1883180296264, + "y": 323.7204472925767, + "width": 71.70182661576706, + "height": 257.3299893465909, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1109238499, + "version": 284, + "versionNonce": 2001522019, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593405983664809, + 2.39008123224437 + ], + [ + -1.593405983664809, + -2.390025745738626 + ], + [ + -3.983431729403435, + -22.30723987926126 + ], + [ + -3.983431729403435, + -42.22439852627838 + ], + [ + -0.796675248579561, + -70.9051513671875 + ], + [ + 5.5767822265625, + -108.34944291548288 + ], + [ + 17.527132901278378, + -166.50762384588063 + ], + [ + 25.49399636008519, + -193.59502618963063 + ], + [ + 31.07077858664769, + -206.34199662642038 + ], + [ + 33.460859818892004, + -209.52875310724426 + ], + [ + 34.257535067471565, + -202.358564897017 + ], + [ + 36.647671786221565, + -184.03470126065338 + ], + [ + 39.83437278053975, + -152.96397816051126 + ], + [ + 42.22439852627838, + -114.72295587713063 + ], + [ + 47.004560990767004, + -56.56471946022725 + ], + [ + 52.58139870383519, + -20.71383389559651 + ], + [ + 58.15818093039769, + 7.96686345880687 + ], + [ + 62.93828790838069, + 28.680752840909122 + ], + [ + 66.1250443892045, + 42.22445401278412 + ], + [ + 67.71839488636363, + 47.80123623934662 + ], + [ + 66.1250443892045, + 42.22445401278412 + ], + [ + 58.95485617897725, + 21.51056463068187 + ], + [ + 50.98799272017044, + -3.1867564808237603 + ], + [ + 44.61453524502838, + -35.054210316051126 + ], + [ + 40.631103515625, + -68.51507013494313 + ], + [ + 39.83437278053975, + -96.399092240767 + ], + [ + 39.83437278053975, + -124.28316983309651 + ], + [ + 38.240966796875, + -137.030195756392 + ], + [ + 35.850941051136374, + -145.793789950284 + ], + [ + 34.257535067471565, + -149.7772216796875 + ], + [ + 33.460859818892004, + -149.7772216796875 + ], + [ + 31.07077858664769, + -136.23346502130676 + ], + [ + 29.477428089488626, + -124.28316983309651 + ], + [ + 28.680752840909065, + -121.09646883877838 + ], + [ + 28.680752840909065, + -121.09646883877838 + ] + ], + "pressures": [ + 0.109375, + 0.5009765625, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.849609375, + 0.2099609375, + 0.0927734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 28.680752840909065, + -121.09646883877838 + ] + }, + { + "id": "t2eUpJ4Zy3YcvZ6PYiwzD", + "type": "freedraw", + "x": -296.0558273513593, + "y": 336.4674732158722, + "width": 120.29979359019882, + "height": 262.9068270596591, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 989817261, + "version": 333, + "versionNonce": 180055629, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.57683771306813, + -53.37801846590912 + ], + [ + 17.527132901278378, + -92.415771484375 + ], + [ + 25.49399636008519, + -117.11298162286926 + ], + [ + 33.460859818892004, + -142.60703346946025 + ], + [ + 41.42772327769882, + -165.71100408380676 + ], + [ + 48.59796697443181, + -190.40826970880676 + ], + [ + 48.59796697443181, + -191.205000443892 + ], + [ + 48.59796697443181, + -192.00167569247162 + ], + [ + 47.801236239346565, + -192.00167569247162 + ], + [ + 47.801236239346565, + -189.61159446022725 + ], + [ + 47.801236239346565, + -170.49111106178975 + ], + [ + 47.801236239346565, + -149.7772216796875 + ], + [ + 46.20788574218744, + -121.89319957386363 + ], + [ + 44.61453524502838, + -87.63560901988637 + ], + [ + 43.81780450994313, + -41.427723277698874 + ], + [ + 44.61453524502838, + -19.12053888494313 + ], + [ + 47.004560990767004, + -3.186756480823874 + ], + [ + 50.98799272017044, + 8.763538707386374 + ], + [ + 55.76809969815338, + 20.713833895596622 + ], + [ + 64.53174937855113, + 35.054210316051126 + ], + [ + 67.71845037286931, + 38.240966796875 + ], + [ + 67.71845037286931, + 39.037642045454504 + ], + [ + 68.5151811079545, + 37.444291548295496 + ], + [ + 68.5151811079545, + 33.460859818892004 + ], + [ + 70.10847611860794, + 19.917158647017004 + ], + [ + 70.90515136718744, + 3.186756480823874 + ], + [ + 70.90515136718744, + -23.103970614346622 + ], + [ + 70.10847611860794, + -56.564830433238626 + ], + [ + 69.31180087002838, + -112.332930131392 + ], + [ + 68.5151811079545, + -144.200439453125 + ], + [ + 66.92171963778407, + -168.1010298295455 + ], + [ + 63.73496315696019, + -184.03481223366475 + ], + [ + 59.75153142755681, + -200.76515891335225 + ], + [ + 58.15818093039769, + -204.74859064275563 + ], + [ + 58.15818093039769, + -205.54537686434662 + ], + [ + 58.15818093039769, + -203.95197088068176 + ], + [ + 58.95485617897725, + -195.985107421875 + ], + [ + 62.141612659801126, + -166.50767933238637 + ], + [ + 62.93828790838063, + -130.65673828125 + ], + [ + 62.93828790838063, + -86.04225852272725 + ], + [ + 62.93828790838063, + -40.631048029119256 + ], + [ + 59.75153142755681, + 10.356944691051126 + ], + [ + 58.15818093039769, + 32.6641845703125 + ], + [ + 58.15818093039769, + 47.80123623934662 + ], + [ + 58.95485617897725, + 55.76809969815338 + ], + [ + 59.75153142755681, + 57.3614501953125 + ], + [ + 59.75153142755681, + 54.971424449573874 + ], + [ + 56.564830433238626, + 43.021073774857996 + ], + [ + 50.98799272017044, + 23.103915127840878 + ], + [ + 43.81780450994313, + 0 + ], + [ + 29.477428089488626, + -36.64761629971588 + ], + [ + 20.71394486860794, + -57.3614501953125 + ], + [ + 11.15361993963063, + -73.29523259943176 + ], + [ + 2.390081232244256, + -81.26209605823863 + ], + [ + -5.576837713068244, + -83.652177290483 + ], + [ + -17.527132901278435, + -83.652177290483 + ], + [ + -24.697321111505744, + -82.85550204190338 + ], + [ + -30.274103338068244, + -80.46542080965912 + ], + [ + -32.6641845703125, + -78.8720703125 + ], + [ + -32.6641845703125, + -78.0753950639205 + ], + [ + -27.88407759232956, + -75.68531383167613 + ], + [ + -19.12042791193187, + -72.49855735085225 + ], + [ + -6.373512961647748, + -68.51512562144887 + ], + [ + 8.763594193892004, + -65.32831365411926 + ], + [ + 39.03769753196019, + -62.141612659801126 + ], + [ + 58.95485617897725, + -61.34488192471588 + ], + [ + 75.68531383167613, + -61.34488192471588 + ], + [ + 85.245527787642, + -61.34488192471588 + ], + [ + 87.63560901988632, + -61.34488192471588 + ], + [ + 87.63560901988632, + -62.141612659801126 + ], + [ + 82.85550204190338, + -62.938343394886374 + ], + [ + 70.90515136718744, + -64.5316938920455 + ], + [ + 56.564830433238626, + -65.32831365411926 + ], + [ + 31.070834073153378, + -66.92177512428975 + ], + [ + 12.747025923295439, + -66.92177512428975 + ], + [ + -2.39008123224437, + -66.92177512428975 + ], + [ + -11.950295188210248, + -64.5316938920455 + ], + [ + -15.933726917613626, + -62.938343394886374 + ], + [ + -15.933726917613626, + -60.548262162642004 + ], + [ + -10.356944691051126, + -58.15818093039775 + ], + [ + -2.39008123224437, + -55.76815518465912 + ], + [ + 3.983431729403378, + -54.971424449573874 + ], + [ + 5.57683771306813, + -54.971424449573874 + ], + [ + 5.57683771306813, + -54.971424449573874 + ] + ], + "pressures": [ + 0.0263671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.591796875, + 0.2275390625, + 0.1337890625, + 0.0400390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.57683771306813, + -54.971424449573874 + ] + }, + { + "id": "LEVwbEZUM52SSOmeydA6b", + "type": "freedraw", + "x": -210.8102995637173, + "y": 191.47041400067332, + "width": 117.90965687144882, + "height": 211.12210360440338, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 172677421, + "version": 278, + "versionNonce": 1770258189, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.5767822265625, + 0 + ], + [ + -9.560213955965878, + 1.593295010653378 + ], + [ + -10.356944691051126, + 2.390025745738626 + ], + [ + -11.950295188210191, + 1.593295010653378 + ], + [ + -12.746914950284065, + -3.186811967329504 + ], + [ + -10.356944691051126, + -5.576893199573874 + ], + [ + -3.983431729403378, + -7.170243696732882 + ], + [ + 7.170243696732939, + -10.357000177556756 + ], + [ + 31.070889559659122, + -15.137107155539752 + ], + [ + 53.37807395241481, + -19.917214133522748 + ], + [ + 75.68531383167613, + -26.290727095170382 + ], + [ + 94.00912198153412, + -32.66424005681813 + ], + [ + 105.16274192116475, + -37.444347034801126 + ], + [ + 105.16274192116475, + -38.24102228338063 + ], + [ + 103.56939142400569, + -38.24102228338063 + ], + [ + 98.78928444602275, + -38.24102228338063 + ], + [ + 93.21244673295456, + -34.25759055397725 + ], + [ + 84.4488525390625, + -17.527188387784122 + ], + [ + 80.46542080965912, + 0 + ], + [ + 77.27866432883525, + 23.103859641335248 + ], + [ + 75.68531383167613, + 52.581287730823874 + ], + [ + 75.68531383167613, + 95.60247247869324 + ], + [ + 78.07539506392044, + 116.31630637428975 + ], + [ + 81.26215154474431, + 132.25003329190338 + ], + [ + 83.65217729048294, + 145.79373446377838 + ], + [ + 86.04225852272725, + 156.94735440340912 + ], + [ + 87.63560901988637, + 169.69432484019887 + ], + [ + 87.63560901988637, + 172.08440607244324 + ], + [ + 87.63560901988637, + 172.88108132102275 + ], + [ + 86.04225852272725, + 169.69432484019887 + ], + [ + 85.24558327414775, + 167.30429909446025 + ], + [ + 85.24558327414775, + 167.30429909446025 + ] + ], + "pressures": [ + 0.0966796875, + 0.107421875, + 0.142578125, + 0.1513671875, + 0.20703125, + 0.3564453125, + 0.5458984375, + 0.78515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4052734375, + 0.0205078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 85.24558327414775, + 167.30429909446025 + ] + }, + { + "id": "x6y18YifwVjv-lTjstASo", + "type": "freedraw", + "x": -206.82686783431387, + "y": 181.91008907169606, + "width": 133.046708540483, + "height": 8.763538707386374, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1212554467, + "version": 264, + "versionNonce": 1611203651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558550, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -1.593350497159122 + ], + [ + -4.780051491477309, + -1.593350497159122 + ], + [ + -3.983431729403435, + -1.593350497159122 + ], + [ + 3.186811967329504, + -1.593350497159122 + ], + [ + 16.730457652698874, + -0.7966752485795041 + ], + [ + 43.81780450994319, + 0 + ], + [ + 63.73501864346588, + -1.593350497159122 + ], + [ + 80.46542080965907, + -3.983431729403378 + ], + [ + 96.39920321377838, + -6.373401988636374 + ], + [ + 110.73963512073863, + -7.96686345880687 + ], + [ + 125.0799560546875, + -8.763538707386374 + ], + [ + 128.2666570490057, + -8.763538707386374 + ], + [ + 128.2666570490057, + -7.96686345880687 + ], + [ + 123.48655007102269, + -4.780106977982996 + ], + [ + 120.29979359019882, + -3.18670099431813 + ], + [ + 117.90976784446019, + -1.593350497159122 + ], + [ + 116.31636186079544, + -0.7966752485795041 + ], + [ + 116.31636186079544, + -0.7966752485795041 + ] + ], + "pressures": [ + 0.0517578125, + 0.1689453125, + 0.216796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8876953125, + 0.4296875, + 0.2607421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 116.31636186079544, + -0.7966752485795041 + ] + }, + { + "id": "KPNbe6cJMNQd-rKjLF3Bz", + "type": "freedraw", + "x": -131.93817376471162, + "y": 184.30017030394043, + "width": 105.16279740767044, + "height": 211.12210360440338, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 768339235, + "version": 276, + "versionNonce": 1143641453, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.39013671875, + -6.373512961647748 + ], + [ + -3.983431729403435, + -11.153619939630744 + ], + [ + -5.576893199573874, + -15.137051669034122 + ], + [ + -7.966863458806813, + -16.730402166193244 + ], + [ + -8.763649680397748, + -16.730402166193244 + ], + [ + -8.763649680397748, + -15.93372691761374 + ], + [ + -9.560324928977252, + -6.373512961647748 + ], + [ + -15.137107155539752, + 30.27410333806813 + ], + [ + -21.5106201171875, + 63.734963156960134 + ], + [ + -27.88407759232956, + 98.78928444602263 + ], + [ + -31.070889559659065, + 129.86006303267038 + ], + [ + -32.66424005681819, + 156.15073464133513 + ], + [ + -34.25759055397725, + 184.83148748224426 + ], + [ + -34.25759055397725, + 192.79835094105113 + ], + [ + -34.25759055397725, + 194.39170143821013 + ], + [ + -35.0543212890625, + 188.81491921164763 + ], + [ + -36.647671786221565, + 179.25464976917613 + ], + [ + -37.444347034801126, + 166.50767933238626 + ], + [ + -37.444347034801126, + 153.76065340909088 + ], + [ + -37.444347034801126, + 141.81035822088063 + ], + [ + -35.850941051136374, + 123.48655007102263 + ], + [ + -35.850941051136374, + 112.332930131392 + ], + [ + -39.03775301846588, + 105.95941716974426 + ], + [ + -44.61453524502838, + 103.5693359375 + ], + [ + -55.76809969815338, + 105.95941716974426 + ], + [ + -65.32842462713069, + 113.12960537997151 + ], + [ + -76.48204456676137, + 123.48655007102263 + ], + [ + -88.43233975497157, + 135.43684525923288 + ], + [ + -98.78928444602275, + 144.9971147017045 + ], + [ + -105.16279740767044, + 151.3705721768465 + ], + [ + -105.16279740767044, + 151.3705721768465 + ] + ], + "pressures": [ + 0.068359375, + 0.1669921875, + 0.2861328125, + 0.6513671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -105.16279740767044, + 151.3705721768465 + ] + }, + { + "id": "cz0j4JC5CfQlJ18j7l88u", + "type": "freedraw", + "x": -239.4909969181207, + "y": 337.2641484644517, + "width": 207.9353471235795, + "height": 31.867509321732996, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 10612877, + "version": 261, + "versionNonce": 1501922275, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 69.31174538352269, + -8.763594193892004 + ], + [ + 45.41115500710225, + -2.390025745738626 + ], + [ + 71.70188210227269, + 0 + ], + [ + 86.83887828480113, + 0.7966752485796178 + ], + [ + 130.6566827947443, + 1.5934059836648657 + ], + [ + 156.1506791548295, + 0 + ], + [ + 172.88113680752838, + -0.7966752485795041 + ], + [ + 191.20494495738632, + 3.9834317294034918 + ], + [ + 195.18837668678975, + 7.170188210227366 + ], + [ + 202.358564897017, + 15.93372691761374 + ], + [ + 207.138671875, + 21.51056463068187 + ], + [ + 207.9353471235795, + 23.10391512784099 + ], + [ + 207.138671875, + 22.307239879261374 + ], + [ + 201.5618896484375, + 19.917158647017118 + ], + [ + 187.22151322798294, + 12.746970436789866 + ], + [ + 184.83143199573863, + 11.950295188210248 + ], + [ + 184.83143199573863, + 11.950295188210248 + ] + ], + "pressures": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2470703125, + 0.1689453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 184.83143199573863, + 11.950295188210248 + ] + }, + { + "id": "3h4AQAXvMDlGVJy537w8W", + "type": "freedraw", + "x": -213.99705604454118, + "y": 173.9432256128892, + "width": 166.50767933238637, + "height": 19.1204833984375, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 180227907, + "version": 293, + "versionNonce": 242180045, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186700994318187, + -1.5933504971590082 + ], + [ + -4.780106977982939, + -3.1867564808237603 + ], + [ + -6.373457475142004, + -3.983431729403378 + ], + [ + -1.593295010653378, + -3.983431729403378 + ], + [ + 16.730457652698874, + -1.5933504971590082 + ], + [ + 32.6641845703125, + 0 + ], + [ + 53.37807395241481, + 0.7966752485796178 + ], + [ + 89.22901500355113, + 0.7966752485796178 + ], + [ + 114.72301136363637, + 0.7966752485796178 + ], + [ + 133.84355024857956, + 0.7966752485796178 + ], + [ + 141.01368297230113, + 0.7966752485796178 + ], + [ + 141.81041370738637, + 0.7966752485796178 + ], + [ + 139.42033247514206, + 0.7966752485796178 + ], + [ + 121.89325506036931, + 1.5934614701704959 + ], + [ + 101.97604092684662, + 1.5934614701704959 + ], + [ + 78.8720703125, + 2.39008123224437 + ], + [ + 41.42777876420456, + 2.39008123224437 + ], + [ + 29.477483575994313, + 2.39008123224437 + ], + [ + -0.7966752485795041, + 3.186756480823874 + ], + [ + -15.933726917613626, + 4.78016246448874 + ], + [ + -23.103915127840878, + 5.576893199573874 + ], + [ + -24.697265625, + 5.576893199573874 + ], + [ + -19.1204833984375, + 5.576893199573874 + ], + [ + -7.170188210227252, + 5.576893199573874 + ], + [ + 17.527132901278435, + 4.78016246448874 + ], + [ + 38.241077769886374, + 3.9834317294034918 + ], + [ + 62.938343394886374, + 2.39008123224437 + ], + [ + 87.63560901988637, + 2.39008123224437 + ], + [ + 109.14617365056819, + 3.186756480823874 + ], + [ + 125.0799560546875, + 3.186756480823874 + ], + [ + 121.09652432528412, + 3.186756480823874 + ], + [ + 110.739579634233, + 3.9834317294034918 + ], + [ + 87.63560901988637, + 3.9834317294034918 + ], + [ + 68.51512562144887, + 3.9834317294034918 + ], + [ + 49.394642223011374, + 3.9834317294034918 + ], + [ + 34.257646040482996, + 5.576893199573874 + ], + [ + 25.493996360085248, + 6.373512961647748 + ], + [ + 20.71388938210231, + 7.170188210227366 + ], + [ + 23.103970614346622, + 7.96686345880687 + ], + [ + 33.46091530539775, + 11.153619939630744 + ], + [ + 50.19137295809662, + 13.543756658380744 + ], + [ + 67.71845037286931, + 14.340376420454618 + ], + [ + 87.63560901988637, + 14.340376420454618 + ], + [ + 96.39920321377843, + 14.340376420454618 + ], + [ + 102.77271617542613, + 14.340376420454618 + ], + [ + 105.95947265625, + 14.340376420454618 + ], + [ + 106.75614790482956, + 15.137051669034122 + ], + [ + 105.16274192116481, + 15.137051669034122 + ], + [ + 105.16274192116481, + 15.137051669034122 + ] + ], + "pressures": [ + 0.0302734375, + 0.0712890625, + 0.125, + 0.248046875, + 0.796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.828125, + 0.2490234375, + 0.0791015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 105.16274192116481, + 15.137051669034122 + ] + }, + { + "id": "Q07ITU1JHOjRvhI3pvkbS", + "type": "freedraw", + "x": -147.07528092025137, + "y": 164.38301165692332, + "width": 12.746970436789752, + "height": 237.41283069957387, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 682413517, + "version": 294, + "versionNonce": 1519456131, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + -5.57683771306813 + ], + [ + 0.7966752485795041, + -7.170188210227252 + ], + [ + 0, + -7.170188210227252 + ], + [ + 0, + -4.780106977982882 + ], + [ + -0.796675248579561, + 7.170188210227252 + ], + [ + -1.593405983664809, + 28.680697354403378 + ], + [ + -2.390081232244313, + 73.29523259943187 + ], + [ + -2.390081232244313, + 109.1461181640625 + ], + [ + -0.796675248579561, + 143.40370871803975 + ], + [ + -0.796675248579561, + 171.28773082386363 + ], + [ + -0.796675248579561, + 191.20494495738637 + ], + [ + -0.796675248579561, + 204.74864612926137 + ], + [ + -0.796675248579561, + 205.54532137784088 + ], + [ + -0.796675248579561, + 199.96848366477275 + ], + [ + -2.390081232244313, + 186.42483797940338 + ], + [ + -5.576837713068187, + 167.30429909446025 + ], + [ + -8.763538707386374, + 127.4699263139205 + ], + [ + -8.763538707386374, + 97.19582297585225 + ], + [ + -7.966863458806813, + 69.31180087002838 + ], + [ + -4.780106977982996, + 44.61447975852275 + ], + [ + -2.390081232244313, + 23.103970614346622 + ], + [ + 0.7966752485795041, + 5.5767822265625 + ], + [ + 1.593350497159065, + 3.186756480823874 + ], + [ + 1.593350497159065, + 10.356889204545496 + ], + [ + 1.593350497159065, + 29.477428089488626 + ], + [ + -0.796675248579561, + 73.29523259943187 + ], + [ + -1.593405983664809, + 108.349442915483 + ], + [ + -2.390081232244313, + 144.99705921519887 + ], + [ + -3.983431729403435, + 176.86456853693187 + ], + [ + -6.373512961647748, + 201.5618896484375 + ], + [ + -7.966863458806813, + 217.49561656605113 + ], + [ + -8.763538707386374, + 210.32542835582387 + ], + [ + -9.560269442471622, + 192.7982954545455 + ], + [ + -11.153619939630687, + 155.35400390625 + ], + [ + -9.560269442471622, + 128.26665704900574 + ], + [ + -7.170188210227309, + 102.77271617542613 + ], + [ + -4.780106977982996, + 80.46542080965912 + ], + [ + -3.983431729403435, + 66.92177512428975 + ], + [ + -3.186756480823874, + 66.12504438920462 + ], + [ + -3.186756480823874, + 69.31180087002838 + ], + [ + -2.390081232244313, + 82.05877130681824 + ], + [ + -2.390081232244313, + 107.55276766690338 + ], + [ + -5.576837713068187, + 163.32086736505687 + ], + [ + -7.966863458806813, + 199.17180841619324 + ], + [ + -8.763538707386374, + 222.27572354403412 + ], + [ + -8.763538707386374, + 230.24264248934662 + ], + [ + -7.966863458806813, + 229.44591175426137 + ], + [ + -5.576837713068187, + 223.07245427911937 + ], + [ + -3.983431729403435, + 213.51218483664775 + ], + [ + -3.983431729403435, + 210.32542835582387 + ], + [ + -3.983431729403435, + 210.32542835582387 + ] + ], + "pressures": [ + 0.12109375, + 0.17578125, + 0.2568359375, + 0.5439453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9560546875, + 0.4833984375, + 0.1796875, + 0.1123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.983431729403435, + 210.32542835582387 + ] + }, + { + "id": "pL6gCJR9rI8G5TKs1hfHh", + "type": "freedraw", + "x": -202.8434361049105, + "y": 350.8078496363267, + "width": 189.6115944602273, + "height": 23.900645862926126, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 757769155, + "version": 280, + "versionNonce": 510385709, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403378, + 1.593350497159122 + ], + [ + -3.186700994318187, + 1.593350497159122 + ], + [ + 4.780162464488626, + -0.7967307350851343 + ], + [ + 10.356944691051126, + -1.593405983664752 + ], + [ + 33.46091530539775, + -3.1867564808237603 + ], + [ + 58.95491166548294, + -3.983431729403378 + ], + [ + 86.04225852272731, + -3.983431729403378 + ], + [ + 121.09652432528412, + -3.983431729403378 + ], + [ + 134.64022549715912, + -2.390081232244256 + ], + [ + 139.42033247514206, + -0.7967307350851343 + ], + [ + 140.21700772372162, + -0.7967307350851343 + ], + [ + 138.6236572265625, + -0.7967307350851343 + ], + [ + 127.46998180042613, + -0.7967307350851343 + ], + [ + 91.61909623579544, + -3.983431729403378 + ], + [ + 63.735018643465935, + -6.373512961647634 + ], + [ + 35.850941051136374, + -9.560269442471508 + ], + [ + -2.390025745738626, + -11.950295188210134 + ], + [ + -23.103915127840878, + -14.340376420454504 + ], + [ + -31.867453835227252, + -15.137107155539752 + ], + [ + -46.20783025568181, + -18.323808149857882 + ], + [ + -49.39458673650569, + -19.917158647017004 + ], + [ + -44.614424272017004, + -22.307295365767004 + ], + [ + -30.274103338068187, + -22.307295365767004 + ], + [ + -5.5767822265625, + -18.323808149857882 + ], + [ + 23.900645862926126, + -15.933726917613626 + ], + [ + 54.97147993607956, + -15.137107155539752 + ], + [ + 100.38263494318181, + -14.340376420454504 + ], + [ + 125.87663130326706, + -11.950295188210134 + ], + [ + 137.8269264914773, + -9.560269442471508 + ], + [ + 140.21700772372162, + -8.763594193892004 + ], + [ + 137.8269264914773, + -7.966863458806756 + ], + [ + 118.70649857954544, + -4.780162464488626 + ], + [ + 98.78928444602275, + -3.1867564808237603 + ], + [ + 74.88869406960231, + -0.7967307350851343 + ], + [ + 35.0543212890625, + -0.7967307350851343 + ], + [ + 23.10402610085231, + -1.593405983664752 + ], + [ + -14.340320933948874, + -7.170188210227252 + ], + [ + -14.340320933948874, + -7.170188210227252 + ] + ], + "pressures": [ + 0.1181640625, + 0.28125, + 0.5283203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -14.340320933948874, + -7.170188210227252 + ] + }, + { + "id": "dtCOrVM7pCcXdsQprREkl", + "type": "freedraw", + "x": -221.963919503348, + "y": 342.0442554424347, + "width": 139.42027698863637, + "height": 14.340376420454504, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1188480067, + "version": 243, + "versionNonce": 896149283, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 139.42027698863637, + 14.340376420454504 + ], + [ + 139.42027698863637, + 14.340376420454504 + ] + ], + "pressures": [ + 1, + 0.1064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 139.42027698863637, + 14.340376420454504 + ] + }, + { + "id": "q-BdlL5a-H-NJaYxMpF9U", + "type": "freedraw", + "x": -65.81318486201275, + "y": 325.31385327624156, + "width": 82.05877130681813, + "height": 220.68242853338074, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 637420141, + "version": 279, + "versionNonce": 1081014883, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -15.137107155539866 + ], + [ + -4.780106977982939, + -32.6641845703125 + ], + [ + -4.780106977982939, + -54.971424449573874 + ], + [ + -2.390025745738626, + -78.8720703125 + ], + [ + 4.780106977982939, + -115.51968661221599 + ], + [ + 11.153619939630687, + -137.82687100497162 + ], + [ + 16.730457652698874, + -155.35405939275574 + ], + [ + 22.307239879261374, + -169.69438032670462 + ], + [ + 26.290671608664752, + -177.66124378551137 + ], + [ + 27.087346857244313, + -180.05138050426137 + ], + [ + 27.087346857244313, + -175.27121803977275 + ], + [ + 28.680752840909065, + -160.13416637073863 + ], + [ + 29.477428089488626, + -130.65673828125 + ], + [ + 29.477428089488626, + -69.31180087002849 + ], + [ + 27.087346857244313, + -29.477428089488626 + ], + [ + 26.290671608664752, + -0.7967307350852479 + ], + [ + 26.290671608664752, + 15.137051669034008 + ], + [ + 28.680752840909065, + 21.510564630681756 + ], + [ + 31.86750932173294, + 22.307239879261374 + ], + [ + 34.257535067471565, + 18.323808149857882 + ], + [ + 36.64761629971588, + 7.966863458806756 + ], + [ + 37.44429154829544, + -13.543701171875 + ], + [ + 39.03769753196019, + -63.73501864346599 + ], + [ + 43.81780450994319, + -99.58595969460237 + ], + [ + 50.191317471590935, + -129.063387784091 + ], + [ + 55.768099698153435, + -152.16730291193187 + ], + [ + 58.95485617897731, + -169.69438032670462 + ], + [ + 62.93828790838069, + -190.40826970880687 + ], + [ + 65.32836914062494, + -196.78178267045462 + ], + [ + 66.12504438920456, + -198.37518865411937 + ], + [ + 67.71839488636357, + -190.40826970880687 + ], + [ + 72.49855735085231, + -167.304354580966 + ], + [ + 75.68531383167607, + -144.99711470170462 + ], + [ + 77.27866432883519, + -114.72301136363637 + ], + [ + 74.88858309659093, + -77.27871981534099 + ], + [ + 68.51512562144882, + -40.631103515625 + ], + [ + 62.93828790838069, + -3.9834317294034918 + ], + [ + 62.14161265980107, + 6.373457475142004 + ], + [ + 62.14161265980107, + 9.560269442471508 + ], + [ + 62.14161265980107, + 10.356889204545382 + ], + [ + 62.14161265980107, + 7.170188210227252 + ], + [ + 61.344937411221565, + 4.780106977982882 + ], + [ + 61.344937411221565, + 4.780106977982882 + ] + ], + "pressures": [ + 0.0771484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.201171875, + 0.01953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 61.344937411221565, + 4.780106977982882 + ] + }, + { + "id": "K9BvjoSA-xnOu31HN216Y", + "type": "freedraw", + "x": -68.99994134283662, + "y": 329.29728500564494, + "width": 68.51512562144882, + "height": 213.51224032315338, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2003174275, + "version": 268, + "versionNonce": 2111738189, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 11.153619939630687, + -129.86000754616475 + ], + [ + 13.543701171875, + -153.76059792258525 + ], + [ + 17.527132901278435, + -176.06789328835225 + ], + [ + 19.917214133522748, + -185.62810724431824 + ], + [ + 23.103915127840935, + -196.7817826704545 + ], + [ + 24.697321111505687, + -199.96853915127838 + ], + [ + 25.493996360085248, + -199.96853915127838 + ], + [ + 27.88407759232956, + -195.1884321732955 + ], + [ + 31.070834073153435, + -182.44140625 + ], + [ + 34.257535067471565, + -159.33749112215912 + ], + [ + 38.24102228338069, + -117.113037109375 + ], + [ + 41.427723277698874, + -92.415771484375 + ], + [ + 44.61447975852275, + -68.51512562144887 + ], + [ + 47.00456099076706, + -44.61453524502838 + ], + [ + 47.801236239346565, + -23.103970614346622 + ], + [ + 48.59791148792618, + -4.780162464488626 + ], + [ + 48.59791148792618, + 11.15361993963063 + ], + [ + 49.39464222301132, + 13.543701171875 + ], + [ + 50.191317471590935, + 13.543701171875 + ], + [ + 50.98799272017044, + 8.763538707386374 + ], + [ + 51.78466796874994, + -12.747025923295496 + ], + [ + 50.98799272017044, + -44.61453524502838 + ], + [ + 51.78466796874994, + -88.43228426846588 + ], + [ + 58.15818093039769, + -132.25008877840912 + ], + [ + 67.71845037286931, + -167.30435458096588 + ], + [ + 68.51512562144882, + -172.08446155894887 + ], + [ + 67.71845037286931, + -173.677812056108 + ], + [ + 66.12504438920456, + -173.677812056108 + ], + [ + 63.735018643465935, + -173.677812056108 + ], + [ + 62.14161265980118, + -169.6943803267045 + ], + [ + 62.14161265980118, + -168.1010298295455 + ], + [ + 62.14161265980118, + -168.1010298295455 + ] + ], + "pressures": [ + 0.009765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.33203125, + 0.1640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 62.14161265980118, + -168.1010298295455 + ] + }, + { + "id": "L_2FMTMXZ7nAtzcDw-Iig", + "type": "freedraw", + "x": -72.98337307224006, + "y": 310.1767461207017, + "width": 78.8720703125, + "height": 231.03931773792624, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1188328739, + "version": 270, + "versionNonce": 1107801603, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.7966752485795041 + ], + [ + 1.593350497159122, + -5.5767822265625 + ], + [ + 3.186756480823874, + -13.543645685369256 + ], + [ + 5.576837713068187, + -27.88402210582376 + ], + [ + 8.763594193892061, + -48.597911487926126 + ], + [ + 15.137051669034122, + -94.80574174360788 + ], + [ + 22.307239879261374, + -130.65662730823863 + ], + [ + 30.274103338068187, + -161.72751686789763 + ], + [ + 36.647616299715935, + -182.44135076349426 + ], + [ + 39.83437278053981, + -191.20494495738626 + ], + [ + 39.83437278053981, + -193.594970703125 + ], + [ + 39.83437278053981, + -190.40821422230113 + ], + [ + 41.427723277698874, + -175.271162553267 + ], + [ + 43.02112926136368, + -145.79373446377838 + ], + [ + 43.02112926136368, + -84.4488525390625 + ], + [ + 43.02112926136368, + -42.22439852627838 + ], + [ + 43.02112926136368, + -7.170132723721508 + ], + [ + 46.2078857421875, + 19.120538884943244 + ], + [ + 49.39458673650569, + 33.46091530539775 + ], + [ + 50.987992720170496, + 37.44434703480124 + ], + [ + 52.58134321732962, + 35.05426580255687 + ], + [ + 52.58134321732962, + 25.493996360085248 + ], + [ + 52.58134321732962, + 7.9669189453125 + ], + [ + 51.78466796875, + -17.527077414772634 + ], + [ + 54.17474920099437, + -60.54820667613626 + ], + [ + 58.95485617897725, + -86.83882279829538 + ], + [ + 62.938287908380744, + -111.53619939630676 + ], + [ + 67.71845037286937, + -134.640059037642 + ], + [ + 72.49855735085225, + -156.947354403409 + ], + [ + 77.27866432883525, + -178.45786354758513 + ], + [ + 78.07533957741475, + -181.64467551491475 + ], + [ + 78.07533957741475, + -177.66124378551126 + ], + [ + 78.8720703125, + -172.88113680752838 + ], + [ + 78.8720703125, + -169.6943803267045 + ], + [ + 78.8720703125, + -169.6943803267045 + ] + ], + "pressures": [ + 0.091796875, + 0.1376953125, + 0.244140625, + 0.4921875, + 0.8427734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.404296875, + 0.181640625, + 0.0556640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 78.8720703125, + -169.6943803267045 + ] + }, + { + "id": "Kj4zUVfLo4dsW6lkQ4rK5", + "type": "freedraw", + "x": -61.03307788402981, + "y": 318.1436650660142, + "width": 51.78466796875, + "height": 195.18837668678987, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 390419917, + "version": 275, + "versionNonce": 200859565, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.593350497159122 + ], + [ + 0, + 0.7967307350852479 + ], + [ + 0.7967307350852479, + -5.57683771306813 + ], + [ + 0.7967307350852479, + -15.137051669034008 + ], + [ + 0.7967307350852479, + -33.460915305397634 + ], + [ + 0.7967307350852479, + -45.41121049360788 + ], + [ + 0.7967307350852479, + -58.158180930397634 + ], + [ + 0.7967307350852479, + -73.29523259943176 + ], + [ + 2.390081232244313, + -92.415771484375 + ], + [ + 5.576837713068187, + -115.51968661221588 + ], + [ + 10.356944691051126, + -144.200439453125 + ], + [ + 12.747025923295439, + -153.76065340909088 + ], + [ + 12.747025923295439, + -157.74408513849426 + ], + [ + 12.747025923295439, + -160.13416637073863 + ], + [ + 13.543701171875, + -159.337491122159 + ], + [ + 15.137051669034122, + -150.573896928267 + ], + [ + 19.1204833984375, + -132.25014426491475 + ], + [ + 22.307239879261374, + -108.34949840198863 + ], + [ + 26.290671608664752, + -80.46542080965901 + ], + [ + 35.05426580255681, + -29.477428089488626 + ], + [ + 40.63104802911937, + 1.593350497159122 + ], + [ + 45.411210493607996, + 23.10391512784099 + ], + [ + 49.394642223011374, + 34.25753506747162 + ], + [ + 50.19131747159088, + 35.05421031605124 + ], + [ + 50.987992720170496, + 31.070778586647748 + ], + [ + 50.987992720170496, + 22.307239879261374 + ], + [ + 50.987992720170496, + 9.560213955965992 + ], + [ + 50.987992720170496, + -18.323808149857882 + ], + [ + 50.987992720170496, + -40.631048029119256 + ], + [ + 50.987992720170496, + -63.73501864346588 + ], + [ + 50.987992720170496, + -96.39920321377838 + ], + [ + 50.987992720170496, + -117.113037109375 + ], + [ + 50.987992720170496, + -133.84349476207376 + ], + [ + 51.78466796875, + -146.59046519886363 + ], + [ + 51.78466796875, + -153.76065340909088 + ], + [ + 51.78466796875, + -156.15073464133513 + ], + [ + 51.78466796875, + -150.573896928267 + ], + [ + 51.78466796875, + -137.82692649147725 + ], + [ + 51.78466796875, + -135.43684525923288 + ], + [ + 51.78466796875, + -135.43684525923288 + ] + ], + "pressures": [ + 0.1064453125, + 0.6826171875, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1611328125, + 0.0849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 51.78466796875, + -135.43684525923288 + ] + }, + { + "id": "S-17EyXM5VDVAjKKij_1s", + "type": "freedraw", + "x": -56.25291541954118, + "y": 299.0231816675767, + "width": 71.701826615767, + "height": 170.49100008877838, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1139794467, + "version": 248, + "versionNonce": 1383752205, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 68.51507013494324, + 11.153564453125 + ], + [ + 71.701826615767, + -19.917158647017004 + ], + [ + 71.701826615767, + -41.427778764204504 + ], + [ + 69.31180087002838, + -63.734963156960134 + ], + [ + 67.71839488636363, + -84.44890802556813 + ], + [ + 66.1250443892045, + -114.72301136363626 + ], + [ + 66.1250443892045, + -133.84349476207376 + ], + [ + 66.1250443892045, + -142.60708895596588 + ], + [ + 66.1250443892045, + -155.35400390625 + ], + [ + 66.1250443892045, + -158.5408158735795 + ], + [ + 66.1250443892045, + -159.33743563565338 + ], + [ + 66.1250443892045, + -158.5408158735795 + ], + [ + 66.92171963778412, + -155.35400390625 + ], + [ + 66.92171963778412, + -149.77727716619313 + ], + [ + 66.92171963778412, + -147.38714044744313 + ], + [ + 66.1250443892045, + -144.9971147017045 + ], + [ + 66.1250443892045, + -144.9971147017045 + ] + ], + "pressures": [ + 0.1982421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8427734375, + 0.3583984375, + 0.2275390625, + 0.0888671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.1250443892045, + -144.9971147017045 + ] + }, + { + "id": "Y_0_nqz0Pv8mYfmymXcIy", + "type": "freedraw", + "x": -51.472808441558186, + "y": 295.83642518675293, + "width": 61.34493741122162, + "height": 180.05126953125, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 205180547, + "version": 269, + "versionNonce": 1918783811, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795041 + ], + [ + -1.593405983664809, + -2.39008123224437 + ], + [ + -3.983431729403435, + -9.560269442471622 + ], + [ + -5.576837713068187, + -20.713833895596622 + ], + [ + -6.373512961647748, + -35.05426580255687 + ], + [ + -5.576837713068187, + -50.987992720170496 + ], + [ + -3.983431729403435, + -75.68531383167624 + ], + [ + -3.186756480823874, + -95.60252796519887 + ], + [ + -0.796675248579561, + -114.72301136363637 + ], + [ + 2.390081232244313, + -129.8600630326705 + ], + [ + 6.373512961647691, + -144.20038396661937 + ], + [ + 7.966863458806813, + -147.38719593394887 + ], + [ + 7.966863458806813, + -148.18381569602275 + ], + [ + 10.356944691051126, + -141.01368297230124 + ], + [ + 16.73040216619313, + -112.33287464488637 + ], + [ + 22.307239879261317, + -82.05882679332387 + ], + [ + 28.680752840909065, + -49.394642223011374 + ], + [ + 34.25753506747151, + -19.120538884943244 + ], + [ + 39.83437278053975, + 5.5767822265625 + ], + [ + 47.80123623934651, + 27.08740234375 + ], + [ + 50.98799272017038, + 31.070834073153378 + ], + [ + 52.581343217329504, + 31.867453835227252 + ], + [ + 53.37801846590901, + 28.680697354403378 + ], + [ + 53.37801846590901, + 19.12053888494313 + ], + [ + 51.78466796875, + -6.373512961647748 + ], + [ + 51.78466796875, + -30.274158824573874 + ], + [ + 52.581343217329504, + -54.971424449573874 + ], + [ + 54.174749200994256, + -74.88863858309662 + ], + [ + 54.971424449573874, + -98.78922895951712 + ], + [ + 54.174749200994256, + -113.12960537997162 + ], + [ + 53.37801846590901, + -124.28322531960237 + ], + [ + 53.37801846590901, + -131.45341352982962 + ], + [ + 53.37801846590901, + -134.6401700106535 + ], + [ + 53.37801846590901, + -135.436845259233 + ], + [ + 54.174749200994256, + -133.04681951349437 + ], + [ + 54.971424449573874, + -129.8600630326705 + ], + [ + 54.971424449573874, + -128.26665704900574 + ], + [ + 54.971424449573874, + -128.26665704900574 + ] + ], + "pressures": [ + 0.0390625, + 0.07421875, + 0.58984375, + 0.9169921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2626953125, + 0.0703125, + 0.0302734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 54.971424449573874, + -128.26665704900574 + ] + }, + { + "id": "YY3jQPIPUUBGl8ynS9_I9", + "type": "freedraw", + "x": 25.805855887277062, + "y": -47.535850425818126, + "width": 288.40082341974426, + "height": 45.41115500710231, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 902696707, + "version": 288, + "versionNonce": 643602541, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -15.93372691761374, + 1.593378240411937 + ], + [ + -19.1204833984375, + 2.390081232244313 + ], + [ + -21.51056463068187, + 2.390081232244313 + ], + [ + -21.51056463068187, + 0 + ], + [ + -19.1204833984375, + -4.780106977982939 + ], + [ + -12.746970436789866, + -8.763538707386374 + ], + [ + -1.593350497159122, + -11.153619939630687 + ], + [ + 15.137051669034008, + -11.153619939630687 + ], + [ + 41.42772327769876, + -7.170188210227252 + ], + [ + 91.61904074928975, + 0 + ], + [ + 127.46998180042613, + 3.98345947265625 + ], + [ + 162.52435857599426, + 5.576809969815315 + ], + [ + 195.18837668678975, + 7.170188210227252 + ], + [ + 238.20961692116475, + 10.356944691051126 + ], + [ + 258.1268310546874, + 11.153619939630687 + ], + [ + 266.8902587890624, + 11.153619939630687 + ], + [ + 266.8902587890624, + 10.356944691051126 + ], + [ + 258.1268310546874, + 6.373512961647748 + ], + [ + 231.83599298650563, + -1.593378240411937 + ], + [ + 207.13872736150563, + -9.56024169921875 + ], + [ + 176.8646240234375, + -16.730402166193187 + ], + [ + 144.99705921519876, + -21.510536887428998 + ], + [ + 97.9925537109375, + -24.697265625 + ], + [ + 70.9051513671875, + -26.290671608664752 + ], + [ + 48.597911487926126, + -27.88404984907669 + ], + [ + 31.070778586647634, + -30.274103338068187 + ], + [ + 21.510564630681756, + -32.664156827059685 + ], + [ + 16.73045765269876, + -34.25753506747162 + ], + [ + 20.713889382102252, + -32.664156827059685 + ], + [ + 33.460859818892004, + -28.680697354403435 + ], + [ + 64.53163840553975, + -19.917186390269876 + ], + [ + 90.82236550071013, + -15.933726917613626 + ], + [ + 121.09646883877838, + -11.950295188210248 + ], + [ + 153.7607088955965, + -7.966863458806813 + ], + [ + 185.62816273082376, + -3.186728737571002 + ], + [ + 219.88575328480113, + -1.593378240411937 + ], + [ + 227.05594149502838, + -3.186728737571002 + ], + [ + 223.07245427911926, + -6.373485218394876 + ], + [ + 207.13872736150563, + -11.153619939630687 + ], + [ + 182.44146173650563, + -15.137051669034122 + ], + [ + 133.84349476207376, + -20.713833895596622 + ], + [ + 97.19587846235788, + -23.103915127840935 + ], + [ + 63.734963156960134, + -24.697265625 + ], + [ + 34.25753506747151, + -24.697265625 + ], + [ + 3.1867564808237603, + -22.307239879261374 + ], + [ + -7.96686345880687, + -20.713833895596622 + ], + [ + -11.950295188210248, + -20.713833895596622 + ], + [ + -10.35694469105124, + -20.713833895596622 + ], + [ + 2.390081232244256, + -18.32380814985794 + ], + [ + 18.323808149857882, + -16.730402166193187 + ], + [ + 41.42772327769876, + -14.340348677201689 + ], + [ + 70.10847611860788, + -11.950295188210248 + ], + [ + 102.77271617542613, + -11.153619939630687 + ], + [ + 149.7772216796875, + -13.543673428622185 + ], + [ + 176.06794877485788, + -15.137051669034122 + ], + [ + 192.79835094105113, + -15.137051669034122 + ], + [ + 202.35867587002838, + -13.543673428622185 + ], + [ + 199.17186390269876, + -9.56024169921875 + ], + [ + 199.17186390269876, + -9.56024169921875 + ] + ], + "pressures": [ + 0.0830078125, + 0.162109375, + 0.1962890625, + 0.29296875, + 0.43359375, + 0.6904296875, + 0.953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.48828125, + 0.1171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 199.17186390269876, + -9.56024169921875 + ] + }, + { + "id": "dptIi2w_SLMdFyD6SxCqn", + "type": "freedraw", + "x": -22.79205560064912, + "y": -58.68947036544881, + "width": 358.50929953835225, + "height": 31.867481578480124, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1291143971, + "version": 249, + "versionNonce": 1839804643, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.170188210227252, + 0 + ], + [ + -11.153619939630687, + -1.593350497159065 + ], + [ + -14.340376420454561, + -2.390053488991498 + ], + [ + -14.340376420454561, + -3.186728737571002 + ], + [ + -11.153619939630687, + -4.780106977982939 + ], + [ + 3.186756480823817, + -5.5767822265625 + ], + [ + 19.120483398437443, + -5.5767822265625 + ], + [ + 41.42772327769882, + -5.5767822265625 + ], + [ + 69.31180087002843, + -7.170188210227252 + ], + [ + 104.36601118607956, + -9.560213955965935 + ], + [ + 144.99711470170456, + -10.356916947798311 + ], + [ + 211.12227006392044, + -7.170188210227252 + ], + [ + 252.5498268821023, + 1.593378240411937 + ], + [ + 286.01074218749994, + 12.746998180042624 + ], + [ + 321.8616832386363, + 21.510564630681813 + ], + [ + 336.20205965909093, + 21.510564630681813 + ], + [ + 342.57568359374994, + 19.917186390269876 + ], + [ + 344.1689231178977, + 19.120511141690315 + ], + [ + 340.9821111505682, + 18.32380814985794 + ], + [ + 340.9821111505682, + 18.32380814985794 + ] + ], + "pressures": [ + 0.0947265625, + 0.1171875, + 0.1533203125, + 0.18359375, + 0.2119140625, + 0.2119140625, + 0.240234375, + 0.2919921875, + 0.384765625, + 0.5478515625, + 0.73828125, + 0.9189453125, + 1, + 1, + 0.796875, + 0.4111328125, + 0.3662109375, + 0.1728515625, + 0.1318359375, + 0.017578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 340.9821111505682, + 18.32380814985794 + ] + }, + { + "id": "So6mQEJsiekXWy0s3NjAP", + "type": "freedraw", + "x": -58.642996651785495, + "y": 310.9735323422927, + "width": 75.68531383167618, + "height": 167.30435458096588, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1706225283, + "version": 272, + "versionNonce": 23659213, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.796675248579561, + 0 + ], + [ + 1.593350497159122, + -3.186811967329618 + ], + [ + 3.186756480823874, + -12.747081409801126 + ], + [ + 7.170188210227309, + -35.0543212890625 + ], + [ + 10.356944691051126, + -52.58145419034099 + ], + [ + 13.543701171875, + -69.31185635653412 + ], + [ + 16.730402166193187, + -85.24563876065349 + ], + [ + 19.91715864701706, + -113.12966086647725 + ], + [ + 22.307239879261374, + -129.06344327059662 + ], + [ + 23.90059037642044, + -136.23363148082387 + ], + [ + 24.697321111505687, + -137.826981977983 + ], + [ + 25.493996360085248, + -137.826981977983 + ], + [ + 27.087346857244313, + -125.87668678977275 + ], + [ + 29.477428089488626, + -105.95947265625 + ], + [ + 31.070778586647748, + -76.48204456676137 + ], + [ + 31.86750932173294, + -43.02118474786937 + ], + [ + 32.6641845703125, + -1.5934614701704959 + ], + [ + 35.054210316051126, + 12.746914950284008 + ], + [ + 38.24096679687506, + 18.323752663352252 + ], + [ + 40.63104802911931, + 19.120427911931756 + ], + [ + 43.02112926136368, + 19.120427911931756 + ], + [ + 45.41115500710231, + 10.356889204545382 + ], + [ + 45.41115500710231, + -7.170243696732996 + ], + [ + 47.00456099076706, + -32.664240056818244 + ], + [ + 48.59791148792618, + -58.954911665482996 + ], + [ + 52.58134321732956, + -89.22907049005687 + ], + [ + 54.17474920099431, + -104.36612215909099 + ], + [ + 54.97142444957382, + -118.7064985795455 + ], + [ + 57.36150568181819, + -132.25014426491475 + ], + [ + 60.54820667613632, + -142.607088955966 + ], + [ + 62.93828790838069, + -148.18392666903412 + ], + [ + 63.73496315696019, + -147.38719593394887 + ], + [ + 65.32836914062506, + -136.23363148082387 + ], + [ + 66.92171963778407, + -117.90982333096599 + ], + [ + 66.92171963778407, + -92.41582697088074 + ], + [ + 67.71839488636368, + -62.14166814630687 + ], + [ + 70.10847611860794, + -34.257646040482996 + ], + [ + 74.09190784801132, + -0.7967862215909918 + ], + [ + 75.68531383167618, + 11.950295188210248 + ], + [ + 75.68531383167618, + 15.136996182528378 + ], + [ + 75.68531383167618, + 11.153564453125 + ], + [ + 74.09190784801132, + 4.780051491477252 + ], + [ + 74.09190784801132, + 4.780051491477252 + ] + ], + "pressures": [ + 0.14453125, + 0.212890625, + 0.5791015625, + 0.8427734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3115234375, + 0.12890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 74.09190784801132, + 4.780051491477252 + ] + }, + { + "id": "g5NYxhJ0PkauQ7vw5KHGW", + "type": "freedraw", + "x": -54.65956492238206, + "y": 310.9735323422927, + "width": 61.34493741122162, + "height": 192.7982954545455, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1334658563, + "version": 268, + "versionNonce": 1740053635, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.780106977982939, + 6.373401988636374 + ], + [ + 5.576837713068187, + 6.373401988636374 + ], + [ + 5.576837713068187, + 5.576726740056756 + ], + [ + 4.780106977982939, + 0.796619762073874 + ], + [ + 3.983431729403378, + -8.763649680397748 + ], + [ + 3.983431729403378, + -25.49405184659099 + ], + [ + 4.780106977982939, + -36.64767178622162 + ], + [ + 7.170188210227252, + -52.58145419034099 + ], + [ + 10.356944691051126, + -73.2952880859375 + ], + [ + 15.933726917613626, + -113.92633611505687 + ], + [ + 20.713889382102252, + -139.42033247514212 + ], + [ + 24.697321111505687, + -159.33749112215912 + ], + [ + 26.290671608664752, + -172.08451704545462 + ], + [ + 27.087346857244313, + -180.84811123934662 + ], + [ + 27.087346857244313, + -186.42489346590912 + ], + [ + 27.087346857244313, + -185.62821821732962 + ], + [ + 28.680752840909065, + -174.47459827769887 + ], + [ + 31.07077858664769, + -151.37062766335225 + ], + [ + 35.054265802556756, + -108.34955388849437 + ], + [ + 38.240966796875, + -75.68531383167613 + ], + [ + 40.631048029119256, + -43.02118474786937 + ], + [ + 43.021129261363626, + -16.730513139204618 + ], + [ + 45.41115500710225, + -2.39013671875 + ], + [ + 46.2078857421875, + 1.593295010653378 + ], + [ + 48.597911487926126, + -2.39013671875 + ], + [ + 50.98799272017038, + -12.747081409801126 + ], + [ + 53.37807395241475, + -30.274214311079618 + ], + [ + 57.36150568181813, + -70.90526234019887 + ], + [ + 59.751531427556756, + -101.17936567826712 + ], + [ + 61.34493741122162, + -124.283280806108 + ], + [ + 61.34493741122162, + -138.6236572265625 + ], + [ + 59.751531427556756, + -147.38719593394887 + ], + [ + 56.56477494673288, + -156.150790127841 + ], + [ + 54.971424449573874, + -160.93089710582387 + ], + [ + 53.37807395241475, + -164.11765358664775 + ], + [ + 53.37807395241475, + -164.91432883522725 + ], + [ + 53.37807395241475, + -161.72762784090912 + ], + [ + 53.37807395241475, + -160.13422185724437 + ], + [ + 53.37807395241475, + -160.13422185724437 + ] + ], + "pressures": [ + 0.0830078125, + 0.21484375, + 0.2578125, + 0.7421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9169921875, + 0.1572265625, + 0.0908203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 53.37807395241475, + -160.13422185724437 + ] + }, + { + "id": "jkCkvWV5X9k0cHr2xFY2n", + "type": "freedraw", + "x": -237.10097117238206, + "y": -119.237704784838, + "width": 96.39914772727275, + "height": 19.120511141690315, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 48191437, + "version": 224, + "versionNonce": 155140867, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + 0.796702991832376 + ], + [ + 3.186756480823874, + 2.390053488991441 + ], + [ + 10.356944691051126, + 5.576809969815315 + ], + [ + 20.713889382102252, + 7.966891202059628 + ], + [ + 35.05426580255681, + 9.56024169921875 + ], + [ + 57.361561168323874, + 8.763566450639189 + ], + [ + 68.51512562144887, + 7.966891202059628 + ], + [ + 76.48198908025569, + 7.966891202059628 + ], + [ + 84.4488525390625, + 9.56024169921875 + ], + [ + 92.41571599786931, + 14.340376420454504 + ], + [ + 94.80579723011363, + 16.730429909446002 + ], + [ + 95.60247247869319, + 18.32380814985794 + ], + [ + 95.60247247869319, + 19.120511141690315 + ], + [ + 93.2124467329545, + 19.120511141690315 + ], + [ + 91.61904074928975, + 17.527132901278378 + ], + [ + 91.61904074928975, + 17.527132901278378 + ] + ], + "pressures": [ + 0.1171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.90234375, + 0.1796875, + 0, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 91.61904074928975, + 17.527132901278378 + ] + }, + { + "id": "xUmW-gIJGk8TMnDwPbWQ8", + "type": "freedraw", + "x": -233.9142146915582, + "y": -121.6277582738295, + "width": 94.00906649502843, + "height": 15.137079412286937, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1961325485, + "version": 226, + "versionNonce": 529310381, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + -0.796702991832376 + ], + [ + -4.780106977982996, + -0.796702991832376 + ], + [ + -3.983431729403435, + 0 + ], + [ + 2.39013671875, + 3.186756480823874 + ], + [ + 7.170188210227252, + 5.576837713068187 + ], + [ + 30.274158824573817, + 11.950295188210248 + ], + [ + 47.801236239346565, + 11.950295188210248 + ], + [ + 64.53169389204544, + 11.153619939630687 + ], + [ + 79.6687455610795, + 9.560269442471622 + ], + [ + 84.4488525390625, + 10.356944691051126 + ], + [ + 87.63560901988632, + 12.746998180042624 + ], + [ + 88.43228426846588, + 13.543701171875 + ], + [ + 89.22895951704544, + 14.340376420454561 + ], + [ + 88.43228426846588, + 13.543701171875 + ], + [ + 85.245527787642, + 12.746998180042624 + ], + [ + 83.65217729048294, + 12.746998180042624 + ], + [ + 82.85550204190338, + 12.746998180042624 + ], + [ + 82.85550204190338, + 12.746998180042624 + ] + ], + "pressures": [ + 0.046875, + 0.3564453125, + 0.861328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2587890625, + 0.1474609375, + 0.0654296875, + 0.0078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 82.85550204190338, + 12.746998180042624 + ] + }, + { + "id": "WqBck0tc_neH2lM7kbe_7", + "type": "freedraw", + "x": -225.94735123275137, + "y": -124.017811762821, + "width": 3.983431729403435, + "height": 0, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1500424685, + "version": 211, + "versionNonce": 1728440995, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.983431729403435, + 0 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.06640625, + 0.2314453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.983431729403435, + 0 + ] + }, + { + "id": "MsECNEi4aj2zL5LXGk7_g", + "type": "freedraw", + "x": -229.9307829621548, + "y": -124.017811762821, + "width": 88.43228426846593, + "height": 16.73042990944606, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1180220067, + "version": 209, + "versionNonce": 1688061197, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 88.43228426846593, + 16.73042990944606 + ], + [ + 88.43228426846593, + 16.73042990944606 + ] + ], + "pressures": [ + 0.4912109375, + 0.0771484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 88.43228426846593, + 16.73042990944606 + ] + }, + { + "id": "0AZHLPvCmiSBKULEffpyU", + "type": "freedraw", + "x": -214.7937312931207, + "y": -117.64432654442606, + "width": 61.34488192471588, + "height": 6.373512961647691, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2021689645, + "version": 221, + "versionNonce": 282500675, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186756480823874, + 0 + ], + [ + -5.5767822265625, + 0 + ], + [ + -4.780051491477309, + 0 + ], + [ + -1.593350497159122, + 0 + ], + [ + 4.780162464488626, + 0 + ], + [ + 13.543701171875, + 0.7966752485795041 + ], + [ + 23.103970614346565, + 3.186756480823817 + ], + [ + 37.44429154829544, + 4.780134721235754 + ], + [ + 45.41121049360794, + 4.780134721235754 + ], + [ + 50.988048206676126, + 5.576837713068187 + ], + [ + 53.37807395241475, + 5.576837713068187 + ], + [ + 54.971479936079504, + 6.373512961647691 + ], + [ + 55.76809969815338, + 6.373512961647691 + ], + [ + 55.76809969815338, + 6.373512961647691 + ] + ], + "pressures": [ + 0.0390625, + 0.1171875, + 0.31640625, + 0.6904296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3681640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 55.76809969815338, + 6.373512961647691 + ] + }, + { + "id": "jZbM8l4YorC_gJy6StMHc", + "type": "freedraw", + "x": -218.77716302252412, + "y": -124.81451475465337, + "width": 71.701826615767, + "height": 15.933726917613626, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1530767021, + "version": 221, + "versionNonce": 68918125, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780051491477252, + -0.7966752485795041 + ], + [ + -3.983431729403378, + -0.7966752485795041 + ], + [ + 1.593405983664752, + 0 + ], + [ + 9.560269442471622, + 1.593378240411937 + ], + [ + 23.103970614346622, + 3.983431729403435 + ], + [ + 31.86750932173294, + 5.576809969815372 + ], + [ + 39.037753018465935, + 7.170188210227309 + ], + [ + 46.2078857421875, + 9.56024169921875 + ], + [ + 53.37807395241475, + 11.950322931463063 + ], + [ + 60.54826216264206, + 14.340376420454561 + ], + [ + 64.53169389204544, + 15.137051669034122 + ], + [ + 66.12504438920456, + 15.137051669034122 + ], + [ + 66.92177512428975, + 15.137051669034122 + ], + [ + 66.92177512428975, + 15.137051669034122 + ] + ], + "pressures": [ + 0.0478515625, + 0.3330078125, + 0.8427734375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.94921875, + 0.4619140625, + 0.22265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 66.92177512428975, + 15.137051669034122 + ] + }, + { + "id": "xvp0YqVkUp9xHESXJ9zET", + "type": "freedraw", + "x": -179.7394100040582, + "y": -135.9681069510312, + "width": 31.867453835227252, + "height": 25.49402410333812, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1499595821, + "version": 228, + "versionNonce": 294641123, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593405983664809 + ], + [ + 0, + -0.796702991832376 + ], + [ + -1.5934614701704959, + 2.390025745738626 + ], + [ + -3.983431729403435, + 7.966863458806813 + ], + [ + -6.373568448153435, + 14.340348677201689 + ], + [ + -10.357000177556813, + 21.51053688742894 + ], + [ + -11.153675426136374, + 23.90061811967331 + ], + [ + -7.170243696732996, + 20.713833895596565 + ], + [ + -1.5934614701704959, + 16.730402166193187 + ], + [ + 3.983431729403378, + 14.340348677201689 + ], + [ + 9.560158469460191, + 12.746970436789752 + ], + [ + 13.543645685369313, + 12.746970436789752 + ], + [ + 17.52707741477269, + 11.950295188210191 + ], + [ + 19.120427911931813, + 11.950295188210191 + ], + [ + 19.917158647017004, + 11.950295188210191 + ], + [ + 20.713778409090878, + 12.746970436789752 + ], + [ + 20.713778409090878, + 13.543645685369313 + ], + [ + 19.917158647017004, + 14.340348677201689 + ], + [ + 18.323752663352252, + 14.340348677201689 + ], + [ + 18.323752663352252, + 15.13702392578125 + ], + [ + 18.323752663352252, + 15.13702392578125 + ] + ], + "pressures": [ + 0.0341796875, + 0.609375, + 0.9345703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.16015625, + 0.1015625, + 0.0537109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 18.323752663352252, + 15.13702392578125 + ] + }, + { + "id": "L2ymXGKgJKZlRfbeGiG5j", + "type": "freedraw", + "x": -170.9759267831775, + "y": -136.76480994286356, + "width": 31.86750932173294, + "height": 15.137051669034065, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 96221827, + "version": 212, + "versionNonce": 1984931277, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 31.86750932173294, + 11.153619939630687 + ], + [ + 31.86750932173294, + 11.950295188210191 + ], + [ + 31.86750932173294, + 13.543673428622128 + ], + [ + 31.070889559659065, + 15.137051669034065 + ], + [ + 31.070889559659065, + 15.137051669034065 + ] + ], + "pressures": [ + 0.0947265625, + 1, + 0.2978515625, + 0.1650390625, + 0.07421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.070889559659065, + 15.137051669034065 + ] + }, + { + "id": "70tAZIyGs_w20jseHvFXE", + "type": "freedraw", + "x": -159.0256315949673, + "y": -145.5283763935028, + "width": 35.850941051136374, + "height": 34.25759055397731, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 799285453, + "version": 229, + "versionNonce": 339749251, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796619762073874, + -0.796702991832376 + ], + [ + -2.390025745738626, + 1.593405983664809 + ], + [ + -3.983431729403378, + 7.170188210227309 + ], + [ + -10.356889204545439, + 18.323808149857996 + ], + [ + -14.340320933948874, + 25.494024103338063 + ], + [ + -16.7303466796875, + 30.274103338068187 + ], + [ + -17.52707741477269, + 32.6641845703125 + ], + [ + -18.32380814985794, + 33.46088756214493 + ], + [ + -18.32380814985794, + 32.6641845703125 + ], + [ + -15.137051669034065, + 30.274103338068187 + ], + [ + -9.560213955965878, + 26.29067160866481 + ], + [ + 1.593405983664809, + 22.307239879261374 + ], + [ + 7.9669189453125, + 21.510564630681813 + ], + [ + 11.950350674715935, + 20.713861638849437 + ], + [ + 14.340376420454561, + 20.713861638849437 + ], + [ + 15.933782404119313, + 20.713861638849437 + ], + [ + 17.527132901278435, + 21.510564630681813 + ], + [ + 17.527132901278435, + 22.307239879261374 + ], + [ + 17.527132901278435, + 23.103915127840935 + ], + [ + 16.730457652698874, + 24.697293368252872 + ], + [ + 15.933782404119313, + 24.697293368252872 + ], + [ + 15.933782404119313, + 24.697293368252872 + ] + ], + "pressures": [ + 0.052734375, + 0.146484375, + 0.4404296875, + 0.4921875, + 0.6513671875, + 0.7568359375, + 0.857421875, + 0.9169921875, + 0.9384765625, + 0.970703125, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.876953125, + 0.2978515625, + 0.150390625, + 0.0869140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.933782404119313, + 24.697293368252872 + ] + }, + { + "id": "-WYxk8ay9gX7hn0EFggbh", + "type": "freedraw", + "x": -187.706273462865, + "y": -131.18799997304825, + "width": 20.713944868607996, + "height": 20.713833895596565, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1420424525, + "version": 227, + "versionNonce": 1850958893, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967862215909349, + -3.186756480823874 + ], + [ + -0.7967862215909349, + -4.780106977982939 + ], + [ + -0.7967862215909349, + 3.186756480823874 + ], + [ + -1.5934614701704959, + 8.763538707386374 + ], + [ + -2.39013671875, + 12.746998180042624 + ], + [ + -2.39013671875, + 15.137079412286937 + ], + [ + -2.39013671875, + 15.933726917613626 + ], + [ + -3.983487215909122, + 15.137079412286937 + ], + [ + -6.373568448153435, + 12.746998180042624 + ], + [ + -8.763649680397748, + 11.153647682883502 + ], + [ + -11.950350674715935, + 9.56024169921875 + ], + [ + -15.137162642045496, + 7.966863458806813 + ], + [ + -17.527188387784122, + 7.170188210227252 + ], + [ + -19.917214133522748, + 6.373485218394876 + ], + [ + -20.713944868607996, + 6.373485218394876 + ], + [ + -19.917214133522748, + 7.170188210227252 + ], + [ + -19.120594371448874, + 7.966863458806813 + ], + [ + -18.323863636363683, + 8.763538707386374 + ], + [ + -17.527188387784122, + 8.763538707386374 + ], + [ + -15.93378240411937, + 11.153647682883502 + ], + [ + -15.93378240411937, + 11.153647682883502 + ] + ], + "pressures": [ + 0.068359375, + 0.1875, + 0.2177734375, + 0.8701171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5771484375, + 0.3125, + 0.1982421875, + 0.1767578125, + 0.1083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -15.93378240411937, + 11.153647682883502 + ] + }, + { + "id": "G7wGdoeMKiT3bANPGQOS3", + "type": "freedraw", + "x": -206.82686783431387, + "y": -126.40789299506531, + "width": 23.90059037642044, + "height": 14.340376420454504, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1339963875, + "version": 213, + "versionNonce": 1579548963, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390025745738626, + -0.7966752485795041 + ], + [ + -1.593350497159122, + 0 + ], + [ + 2.390081232244313, + 3.186756480823874 + ], + [ + 7.170243696732939, + 6.373540704900563 + ], + [ + 13.543701171875, + 11.153619939630687 + ], + [ + 17.527132901278378, + 11.950322931463063 + ], + [ + 19.91721413352269, + 12.746998180042624 + ], + [ + 20.713889382102252, + 12.746998180042624 + ], + [ + 21.510564630681813, + 12.746998180042624 + ], + [ + 20.713889382102252, + 13.543701171875 + ], + [ + 19.120594371448874, + 13.543701171875 + ], + [ + 19.120594371448874, + 13.543701171875 + ] + ], + "pressures": [ + 0.013671875, + 0.251953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5087890625, + 0.2080078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 19.120594371448874, + 13.543701171875 + ] + }, + { + "id": "pay9A4KvuvKOsVmt5-ihb", + "type": "freedraw", + "x": -216.3870817902798, + "y": -130.3913247244687, + "width": 31.86745383522731, + "height": 16.730429909446002, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1037634275, + "version": 214, + "versionNonce": 1070733, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -0.796675248579561 + ], + [ + 3.186756480823874, + 0.796675248579561 + ], + [ + 7.170188210227309, + 2.390081232244313 + ], + [ + 11.950295188210248, + 4.780134721235811 + ], + [ + 15.933726917613626, + 7.966863458806813 + ], + [ + 21.510564630681813, + 10.356972434303941 + ], + [ + 24.697321111505687, + 11.950322931463063 + ], + [ + 27.884022105823874, + 13.543673428622128 + ], + [ + 30.274103338068187, + 15.137051669034065 + ], + [ + 31.070778586647748, + 15.933754660866441 + ], + [ + 30.274103338068187, + 15.933754660866441 + ], + [ + 28.68080832741481, + 15.933754660866441 + ], + [ + 28.68080832741481, + 15.933754660866441 + ] + ], + "pressures": [ + 0.048828125, + 0.8369140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.306640625, + 0.126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 28.68080832741481, + 15.933754660866441 + ] + }, + { + "id": "bLiXPwLOBIwOpedpyEhwW", + "type": "freedraw", + "x": -194.07984191101843, + "y": -116.84765129584656, + "width": 20.71388938210231, + "height": 76.48198908025569, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1726554477, + "version": 206, + "versionNonce": 145745091, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.763594193892061, + 37.44431929154831 + ], + [ + 3.983431729403435, + 60.54826216264206 + ], + [ + 8.763538707386374, + 68.51512562144887 + ], + [ + 11.153619939630687, + 74.09193559126425 + ], + [ + 11.950295188210248, + 76.48198908025569 + ], + [ + 11.950295188210248, + 75.68531383167618 + ], + [ + 11.153619939630687, + 71.70188210227275 + ], + [ + 9.560269442471565, + 68.51512562144887 + ], + [ + 9.560269442471565, + 68.51512562144887 + ] + ], + "pressures": [ + 0.1337890625, + 1, + 1, + 1, + 0.609375, + 0.50390625, + 0.267578125, + 0.1455078125, + 0.0498046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 9.560269442471565, + 68.51512562144887 + ] + }, + { + "id": "IQPkhz3wAA_zqghso2sig", + "type": "freedraw", + "x": -203.64005586698437, + "y": -120.03435229016475, + "width": 57.36139470880681, + "height": 106.75609241832387, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 801810755, + "version": 222, + "versionNonce": 104856813, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593405983664752 + ], + [ + -0.7967307350851911, + -3.98345947265625 + ], + [ + -1.593405983664752, + -6.373540704900563 + ], + [ + -4.780162464488626, + -9.56029718572438 + ], + [ + -10.357000177556813, + -12.747025923295439 + ], + [ + -14.340431906960191, + -12.747025923295439 + ], + [ + -18.323863636363626, + -12.747025923295439 + ], + [ + -21.5106201171875, + -12.747025923295439 + ], + [ + -23.90059037642044, + -11.950322931463063 + ], + [ + -27.08740234375, + -10.356972434303941 + ], + [ + -27.884022105823817, + -7.966891202059628 + ], + [ + -27.884022105823817, + -3.186784224076689 + ], + [ + -24.69732111150563, + 4.780079234730124 + ], + [ + -16.730457652698817, + 21.510509144176183 + ], + [ + -10.357000177556813, + 34.25750732421875 + ], + [ + -1.593405983664752, + 48.59788374467331 + ], + [ + 5.5767822265625, + 61.344881924715935 + ], + [ + 11.950295188210248, + 70.90512362393468 + ], + [ + 18.32375266335231, + 79.66869007457387 + ], + [ + 21.510509144176183, + 84.44882479580968 + ], + [ + 23.900645862926183, + 88.43225652521312 + ], + [ + 27.08734685724437, + 92.4156882546165 + ], + [ + 28.680697354403435, + 94.00906649502843 + ], + [ + 29.477372602982996, + 94.00906649502843 + ], + [ + 29.477372602982996, + 94.00906649502843 + ] + ], + "pressures": [ + 0.0166015625, + 0.162109375, + 0.2822265625, + 0.416015625, + 0.8388671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.36328125, + 0.0615234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 29.477372602982996, + 94.00906649502843 + ] + }, + { + "id": "uFAK95kFKNGoAph3tvvMi", + "type": "freedraw", + "x": -204.43678660206956, + "y": -120.03435229016475, + "width": 47.801236239346565, + "height": 99.58593195134944, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 565603341, + "version": 219, + "versionNonce": 2071745635, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -3.186784224076689 + ], + [ + -3.983431729403435, + -6.373540704900563 + ], + [ + -7.170132723721622, + -8.763594193892004 + ], + [ + -14.340376420454561, + -13.543728915127815 + ], + [ + -18.32380814985794, + -14.340404163707376 + ], + [ + -20.71388938210231, + -15.137107155539752 + ], + [ + -22.307239879261374, + -14.340404163707376 + ], + [ + -22.307239879261374, + -11.950322931463063 + ], + [ + -19.91715864701706, + 0.7966475053267459 + ], + [ + -15.136996182528435, + 14.340348677201746 + ], + [ + -8.763538707386374, + 29.47740034623581 + ], + [ + -0.796675248579561, + 43.021073774857996 + ], + [ + 9.560269442471565, + 60.548206676136374 + ], + [ + 15.933726917613626, + 70.10844837535512 + ], + [ + 19.91721413352269, + 77.27863658558243 + ], + [ + 23.103915127840878, + 82.05877130681819 + ], + [ + 24.697376598011374, + 83.65212180397731 + ], + [ + 25.49399636008519, + 84.44882479580968 + ], + [ + 25.49399636008519, + 82.05877130681819 + ], + [ + 25.49399636008519, + 79.66869007457387 + ], + [ + 24.697376598011374, + 78.87201482599437 + ], + [ + 24.697376598011374, + 78.87201482599437 + ] + ], + "pressures": [ + 0.0673828125, + 0.564453125, + 0.7890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7587890625, + 0.2001953125, + 0.0849609375, + 0.0068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 24.697376598011374, + 78.87201482599437 + ] + }, + { + "id": "IrQDnQ047Apm6pteAIvKs", + "type": "freedraw", + "x": -192.48649141385937, + "y": -51.51928215522156, + "width": 41.42772327769882, + "height": 35.05426580255681, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1422745741, + "version": 217, + "versionNonce": 1215027021, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.18670099431813, + 0.7967029918324329 + ], + [ + -1.593350497159065, + 2.390053488991498 + ], + [ + 0.7967307350852479, + 4.780134721235811 + ], + [ + 4.78021795099437, + 7.170188210227309 + ], + [ + 8.763649680397748, + 9.56024169921875 + ], + [ + 12.747081409801183, + 11.950322931463063 + ], + [ + 17.527132901278435, + 12.746998180042624 + ], + [ + 25.493996360085248, + 13.543701171875 + ], + [ + 29.477428089488683, + 13.543701171875 + ], + [ + 31.867509321732996, + 10.356944691051183 + ], + [ + 35.05426580255687, + 6.373512961647748 + ], + [ + 36.64767178622162, + 1.593378240411937 + ], + [ + 38.24102228338069, + -7.170188210227252 + ], + [ + 38.24102228338069, + -11.950295188210191 + ], + [ + 38.24102228338069, + -15.933754660866441 + ], + [ + 38.24102228338069, + -19.1204833984375 + ], + [ + 37.44434703480118, + -21.510564630681813 + ], + [ + 36.64767178622162, + -21.510564630681813 + ], + [ + 35.850941051136374, + -21.510564630681813 + ], + [ + 35.05426580255687, + -20.713833895596565 + ], + [ + 35.05426580255687, + -19.917186390269876 + ], + [ + 35.05426580255687, + -19.917186390269876 + ] + ], + "pressures": [ + 0.083984375, + 0.75390625, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3935546875, + 0.1513671875, + 0.115234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.05426580255687, + -19.917186390269876 + ] + }, + { + "id": "X3OtS0Jv4TJVAPFazbK8l", + "type": "freedraw", + "x": -190.096410181615, + "y": -49.12922866623006, + "width": 43.021129261363626, + "height": 6.373512961647748, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1159025955, + "version": 213, + "versionNonce": 643420163, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558551, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159065, + 0.796702991832376 + ], + [ + 3.983431729403378, + 1.593378240411937 + ], + [ + 7.170188210227252, + 3.186756480823874 + ], + [ + 11.950295188210191, + 4.780134721235811 + ], + [ + 16.730457652698817, + 5.576837713068187 + ], + [ + 21.510564630681813, + 5.576837713068187 + ], + [ + 26.29072709517044, + 6.373512961647748 + ], + [ + 29.477428089488626, + 6.373512961647748 + ], + [ + 33.460859818892004, + 6.373512961647748 + ], + [ + 37.44429154829544, + 6.373512961647748 + ], + [ + 40.63104802911931, + 6.373512961647748 + ], + [ + 42.224454012784065, + 6.373512961647748 + ], + [ + 43.021129261363626, + 5.576837713068187 + ], + [ + 43.021129261363626, + 4.780134721235811 + ], + [ + 43.021129261363626, + 3.186756480823874 + ], + [ + 41.42772327769882, + 1.593378240411937 + ], + [ + 39.83437278053975, + 0.796702991832376 + ], + [ + 39.83437278053975, + 0.796702991832376 + ] + ], + "pressures": [ + 0.0537109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8955078125, + 0.470703125, + 0.2099609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 39.83437278053975, + 0.796702991832376 + ] + }, + { + "id": "Q2U5Egcfh7c9aTZFIaIib", + "type": "freedraw", + "x": -155.0421443790582, + "y": -115.25427305543462, + "width": 15.933782404119313, + "height": 82.05877130681819, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1123931491, + "version": 215, + "versionNonce": 1626170797, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159065, + -1.593378240411937 + ], + [ + 5.5767822265625, + -3.186728737571002 + ], + [ + 7.966863458806813, + -3.186728737571002 + ], + [ + 10.356889204545439, + -3.186728737571002 + ], + [ + 12.746970436789752, + -3.186728737571002 + ], + [ + 14.340320933948817, + -3.186728737571002 + ], + [ + 15.137107155539752, + -3.186728737571002 + ], + [ + 15.137107155539752, + -0.796647505326689 + ], + [ + 13.543645685369313, + 5.576809969815372 + ], + [ + 9.560213955965878, + 19.917186390269876 + ], + [ + 5.5767822265625, + 31.070834073153435 + ], + [ + 2.390025745738626, + 43.81780450994319 + ], + [ + 0, + 56.56480268998581 + ], + [ + -0.796675248579561, + 71.70188210227275 + ], + [ + -0.796675248579561, + 76.48198908025569 + ], + [ + -0.796675248579561, + 78.87204256924718 + ], + [ + 0, + 78.87204256924718 + ], + [ + 1.593350497159065, + 76.48198908025569 + ], + [ + 3.186756480823817, + 74.09193559126425 + ], + [ + 3.983431729403378, + 70.10850386186081 + ], + [ + 3.983431729403378, + 69.31180087002843 + ], + [ + 3.983431729403378, + 69.31180087002843 + ] + ], + "pressures": [ + 0.0634765625, + 0.712890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.51953125, + 0.2099609375, + 0.0947265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.983431729403378, + 69.31180087002843 + ] + }, + { + "id": "n5izyRjSzdDUiz8SeCQKh", + "type": "freedraw", + "x": -155.83881962763775, + "y": -121.6277582738295, + "width": 22.307184392755687, + "height": 90.82236550071025, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1726171213, + "version": 218, + "versionNonce": 2068240291, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.796675248579561, + 0 + ], + [ + 2.390025745738626, + -0.796702991832376 + ], + [ + 7.170132723721565, + -1.593378240411937 + ], + [ + 11.153564453125, + -2.390053488991498 + ], + [ + 15.136996182528378, + -3.186756480823874 + ], + [ + 18.323752663352252, + -3.186756480823874 + ], + [ + 21.510509144176126, + -3.186756480823874 + ], + [ + 22.307184392755687, + -2.390053488991498 + ], + [ + 22.307184392755687, + -1.593378240411937 + ], + [ + 22.307184392755687, + 0 + ], + [ + 22.307184392755687, + 3.186756480823874 + ], + [ + 20.713833895596565, + 10.356944691051126 + ], + [ + 18.323752663352252, + 16.730429909446002 + ], + [ + 14.340320933948874, + 24.697293368252872 + ], + [ + 9.560213955965878, + 39.83437278053975 + ], + [ + 5.5767822265625, + 52.581370960582376 + ], + [ + 2.390025745738626, + 64.53166614879262 + ], + [ + 0.796675248579561, + 74.09190784801137 + ], + [ + 0, + 79.66871781782669 + ], + [ + 0, + 83.65217729048294 + ], + [ + 0, + 84.4488525390625 + ], + [ + 0, + 85.24552778764206 + ], + [ + 1.593350497159065, + 86.838906028054 + ], + [ + 2.390025745738626, + 87.63560901988637 + ], + [ + 2.390025745738626, + 87.63560901988637 + ] + ], + "pressures": [ + 0.0439453125, + 0.4208984375, + 0.720703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.48828125, + 0.26171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.390025745738626, + 87.63560901988637 + ] + }, + { + "id": "rDKxkqnQf3pjqxYjY7JpW", + "type": "freedraw", + "x": -206.03013709922868, + "y": -124.017811762821, + "width": 33.46085981889206, + "height": 64.53169389204544, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 693847651, + "version": 214, + "versionNonce": 1659774989, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350851911, + -0.796702991832376 + ], + [ + -2.390081232244313, + -2.390081232244313 + ], + [ + -4.780162464488626, + -3.186756480823817 + ], + [ + -7.9669189453125, + -4.780134721235754 + ], + [ + -10.356944691051126, + -4.780134721235754 + ], + [ + -13.543645685369313, + -4.780134721235754 + ], + [ + -14.340376420454504, + -4.780134721235754 + ], + [ + -15.137107155539752, + -4.780134721235754 + ], + [ + -15.933782404119313, + -2.390081232244313 + ], + [ + -15.933782404119313, + 6.373485218394933 + ], + [ + -14.340376420454504, + 13.543673428622185 + ], + [ + -12.747025923295439, + 21.510536887428998 + ], + [ + -10.356944691051126, + 28.68072509765625 + ], + [ + -7.170188210227252, + 35.850941051136374 + ], + [ + 0, + 45.41115500710231 + ], + [ + 4.780106977982996, + 50.987964976917624 + ], + [ + 9.560213955965935, + 55.76812744140625 + ], + [ + 12.746970436789809, + 58.15815318714493 + ], + [ + 15.933726917613683, + 59.751559170809685 + ], + [ + 17.527077414772748, + 59.751559170809685 + ], + [ + 17.527077414772748, + 59.751559170809685 + ] + ], + "pressures": [ + 0, + 0.50390625, + 0.662109375, + 0.83203125, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.61328125, + 0.24609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 17.527077414772748, + 59.751559170809685 + ] + }, + { + "id": "l-9snTsQ-BxeG9HEUqb60", + "type": "freedraw", + "x": -202.04670536982525, + "y": -121.6277582738295, + "width": 39.03764204545456, + "height": 97.19585071910512, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 250348173, + "version": 214, + "versionNonce": 678554435, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.796702991832376 + ], + [ + 0, + -1.593378240411937 + ], + [ + -0.7967307350852479, + -2.390053488991498 + ], + [ + -2.390081232244313, + -3.186756480823874 + ], + [ + -4.780162464488626, + -3.186756480823874 + ], + [ + -7.966863458806813, + -3.186756480823874 + ], + [ + -10.356944691051126, + -2.390053488991498 + ], + [ + -11.950350674715935, + -1.593378240411937 + ], + [ + -14.340376420454561, + 0.796675248579561 + ], + [ + -15.137051669034122, + 4.780106977982939 + ], + [ + -15.137051669034122, + 12.746998180042624 + ], + [ + -11.950350674715935, + 23.103915127840935 + ], + [ + -7.170188210227252, + 33.460887562144876 + ], + [ + -1.593350497159122, + 43.02110151811081 + ], + [ + 5.5767822265625, + 55.768099698153435 + ], + [ + 9.560213955965878, + 64.53166614879262 + ], + [ + 13.543645685369313, + 73.29523259943181 + ], + [ + 18.323863636363626, + 83.65217729048294 + ], + [ + 20.713833895596565, + 90.02566250887787 + ], + [ + 23.90059037642044, + 94.00909423828125 + ], + [ + 23.90059037642044, + 94.00909423828125 + ] + ], + "pressures": [ + 0.072265625, + 0.212890625, + 0.2509765625, + 0.4541015625, + 0.599609375, + 0.6806640625, + 0.79296875, + 0.83203125, + 0.8408203125, + 0.857421875, + 0.8642578125, + 0.8720703125, + 1, + 1, + 1, + 1, + 1, + 0.9775390625, + 0.70703125, + 0.4052734375, + 0.2080078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.90059037642044, + 94.00909423828125 + ] + }, + { + "id": "tWWDC4hTYJU-qYu6k_Lkv", + "type": "freedraw", + "x": -200.45335487266618, + "y": -118.44100179300563, + "width": 25.493996360085248, + "height": 74.88861083984375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 112521283, + "version": 218, + "versionNonce": 1080532589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -2.390081232244313 + ], + [ + 0, + -3.186756480823874 + ], + [ + -0.7966752485795041, + -3.98345947265625 + ], + [ + -2.390081232244313, + -3.98345947265625 + ], + [ + -3.983431729403378, + -4.780134721235811 + ], + [ + -6.373512961647691, + -5.576809969815372 + ], + [ + -8.763538707386317, + -6.373512961647748 + ], + [ + -11.153564453125, + -7.170188210227252 + ], + [ + -13.543701171875, + -7.170188210227252 + ], + [ + -14.340376420454504, + -6.373512961647748 + ], + [ + -15.136996182528378, + -4.780134721235811 + ], + [ + -15.933726917613626, + -3.186756480823874 + ], + [ + -15.933726917613626, + 0.796675248579561 + ], + [ + -15.933726917613626, + 5.576809969815315 + ], + [ + -15.136996182528378, + 13.543673428622128 + ], + [ + -11.950295188210191, + 23.103915127840878 + ], + [ + -7.966863458806813, + 31.867481578480124 + ], + [ + -2.390081232244313, + 44.61447975852275 + ], + [ + 1.593405983664809, + 53.37804620916194 + ], + [ + 4.780162464488683, + 60.54823441938919 + ], + [ + 7.966863458806813, + 65.32834139737213 + ], + [ + 9.560269442471622, + 67.7184226296165 + ], + [ + 9.560269442471622, + 65.32834139737213 + ], + [ + 9.560269442471622, + 64.53166614879262 + ], + [ + 9.560269442471622, + 64.53166614879262 + ] + ], + "pressures": [ + 0.0302734375, + 0.166015625, + 0.1826171875, + 0.2509765625, + 0.3544921875, + 0.4169921875, + 0.484375, + 0.57421875, + 0.66015625, + 0.72265625, + 0.7421875, + 0.744140625, + 0.744140625, + 0.7587890625, + 0.828125, + 0.9619140625, + 1, + 1, + 1, + 1, + 1, + 0.8681640625, + 0.625, + 0.1484375, + 0.0927734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 9.560269442471622, + 64.53166614879262 + ] + }, + { + "id": "jOe68qL_0jTi90cHwJoMT", + "type": "freedraw", + "x": -200.45335487266618, + "y": -123.22113651424144, + "width": 19.917158647017004, + "height": 2.390053488991441, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1854935725, + "version": 205, + "versionNonce": 305760995, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186700994318187, + -0.796675248579561 + ], + [ + -4.780106977982939, + -0.796675248579561 + ], + [ + -7.170132723721565, + -1.593378240411937 + ], + [ + -10.356944691051126, + -1.593378240411937 + ], + [ + -14.340376420454504, + -2.390053488991441 + ], + [ + -16.730402166193187, + -2.390053488991441 + ], + [ + -18.32380814985794, + -2.390053488991441 + ], + [ + -19.120427911931813, + -2.390053488991441 + ], + [ + -19.917158647017004, + -2.390053488991441 + ], + [ + -19.120427911931813, + -0.796675248579561 + ], + [ + -18.32380814985794, + 0 + ], + [ + -18.32380814985794, + 0 + ] + ], + "pressures": [ + 0.037109375, + 0.4775390625, + 0.6337890625, + 0.7109375, + 0.7626953125, + 0.79296875, + 0.802734375, + 0.8056640625, + 0.8056640625, + 0.8134765625, + 0.18359375, + 0.0859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -18.32380814985794, + 0 + ] + }, + { + "id": "n99DuJEaRuh_OOjKb3Ufy", + "type": "freedraw", + "x": -207.62348759638775, + "y": -124.81451475465337, + "width": 38.24102228338069, + "height": 96.39914772727275, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 850216781, + "version": 208, + "versionNonce": 1881360589, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -1.593378240411937 + ], + [ + -3.983431729403435, + -2.390053488991441 + ], + [ + -6.373568448153435, + -2.390053488991441 + ], + [ + -8.763594193892061, + -3.186728737571002 + ], + [ + -10.357000177556813, + -3.186728737571002 + ], + [ + -12.747025923295439, + -2.390053488991441 + ], + [ + -14.340431906960248, + -0.7966752485795041 + ], + [ + -16.730457652698874, + 3.186756480823874 + ], + [ + -17.527188387784122, + 4.780162464488626 + ], + [ + -17.527188387784122, + 7.966863458806813 + ], + [ + -17.527188387784122, + 14.340376420454561 + ], + [ + -15.137107155539752, + 23.10394287109375 + ], + [ + -7.966863458806813, + 39.83437278053981 + ], + [ + -1.593405983664752, + 50.987992720170496 + ], + [ + 4.780051491477252, + 61.34493741122162 + ], + [ + 9.560213955965878, + 69.31180087002843 + ], + [ + 14.340320933948874, + 78.87204256924718 + ], + [ + 16.730402166193187, + 83.652177290483 + ], + [ + 19.120427911931813, + 88.43228426846593 + ], + [ + 20.713833895596565, + 92.41574374112218 + ], + [ + 20.713833895596565, + 93.21241898970175 + ], + [ + 20.713833895596565, + 90.82236550071025 + ], + [ + 20.713833895596565, + 90.82236550071025 + ] + ], + "pressures": [ + 0.0107421875, + 0.1708984375, + 0.2197265625, + 0.2607421875, + 0.298828125, + 0.3076171875, + 0.3447265625, + 0.3759765625, + 0.392578125, + 0.4072265625, + 0.4296875, + 0.4970703125, + 0.6904296875, + 0.79296875, + 0.8056640625, + 0.8095703125, + 0.802734375, + 0.7607421875, + 0.6640625, + 0.42578125, + 0.23046875, + 0.189453125, + 0.0087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 20.713833895596565, + 90.82236550071025 + ] + }, + { + "id": "GR5XI6FBUpyLQoaby-IUR", + "type": "freedraw", + "x": -217.18375703885937, + "y": -109.67746308561925, + "width": 43.021129261363626, + "height": 91.61904074928975, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 40948611, + "version": 195, + "versionNonce": 221001347, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350851911, + 5.576837713068187 + ], + [ + 3.186700994318187, + 17.52716064453125 + ], + [ + 10.356889204545496, + 35.850941051136374 + ], + [ + 19.1204833984375, + 54.971424449573874 + ], + [ + 29.47748357599437, + 76.48198908025569 + ], + [ + 35.05421031605118, + 84.44888028231532 + ], + [ + 38.240966796875, + 89.22898726029825 + ], + [ + 41.42777876420456, + 91.61904074928975 + ], + [ + 42.224398526278435, + 91.61904074928975 + ], + [ + 42.224398526278435, + 90.82236550071019 + ], + [ + 42.224398526278435, + 90.82236550071019 + ] + ], + "pressures": [ + 0.0498046875, + 0.3203125, + 0.4443359375, + 0.677734375, + 0.7607421875, + 0.787109375, + 0.7783203125, + 0.6865234375, + 0.3857421875, + 0.23828125, + 0.041015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.224398526278435, + 90.82236550071019 + ] + }, + { + "id": "3T1fSws5zcKs4L2CVJcXZ", + "type": "freedraw", + "x": -209.2168935800525, + "y": -121.6277582738295, + "width": 39.83437278053981, + "height": 98.78922895951706, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 110753603, + "version": 197, + "versionNonce": 1404741421, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -12.747025923295496, + 23.103915127840935 + ], + [ + -5.576837713068187, + 44.61447975852275 + ], + [ + 1.593405983664752, + 56.56480268998581 + ], + [ + 3.983431729403378, + 62.141612659801126 + ], + [ + 11.950295188210191, + 74.09190784801137 + ], + [ + 16.73040216619313, + 82.058799050071 + ], + [ + 22.307239879261317, + 90.82236550071025 + ], + [ + 26.290671608664752, + 97.99252596768468 + ], + [ + 27.087346857244313, + 98.78922895951706 + ], + [ + 27.087346857244313, + 97.19585071910512 + ], + [ + 27.087346857244313, + 92.41571599786931 + ], + [ + 25.494051846590878, + 89.22898726029831 + ], + [ + 25.494051846590878, + 89.22898726029831 + ] + ], + "pressures": [ + 0.0048828125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7890625, + 0.4248046875, + 0.3447265625, + 0.1572265625, + 0.1015625, + 0.013671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 25.494051846590878, + 89.22898726029831 + ] + }, + { + "id": "HVFfahIsUlpn96_iuEZum", + "type": "freedraw", + "x": -213.99705604454118, + "y": -122.42446126566188, + "width": 51.78466796875, + "height": 109.14614590731532, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 85025187, + "version": 208, + "versionNonce": 1476947491, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.796675248579561 + ], + [ + 0, + -1.593350497159122 + ], + [ + 0, + -2.390053488991498 + ], + [ + -1.593295010653378, + -3.186728737571002 + ], + [ + -3.186700994318187, + -3.983431729403435 + ], + [ + -6.373457475142004, + -5.5767822265625 + ], + [ + -7.966863458806813, + -5.5767822265625 + ], + [ + -9.560158469460191, + -5.5767822265625 + ], + [ + -10.356889204545439, + -5.5767822265625 + ], + [ + -10.356889204545439, + -3.983431729403435 + ], + [ + -10.356889204545439, + -1.593350497159122 + ], + [ + -9.560158469460191, + 4.780134721235811 + ], + [ + -5.576726740056813, + 17.527132901278378 + ], + [ + 4.780162464488683, + 43.81780450994319 + ], + [ + 11.950350674715935, + 57.36150568181819 + ], + [ + 17.527132901278435, + 67.7184226296165 + ], + [ + 23.103970614346622, + 76.48198908025569 + ], + [ + 28.680752840909122, + 86.04223077947444 + ], + [ + 33.46091530539775, + 94.80579723011363 + ], + [ + 39.03769753196025, + 101.97598544034088 + ], + [ + 40.631103515625, + 103.56936368075282 + ], + [ + 41.42777876420456, + 103.56936368075282 + ], + [ + 41.42777876420456, + 101.97598544034088 + ], + [ + 41.42777876420456, + 101.97598544034088 + ] + ], + "pressures": [ + 0.0068359375, + 0.0869140625, + 0.2119140625, + 0.3017578125, + 0.3984375, + 0.5966796875, + 0.9365234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8349609375, + 0.408203125, + 0.037109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.42777876420456, + 101.97598544034088 + ] + }, + { + "id": "HGaSt096ACx9tW3rfMWKy", + "type": "freedraw", + "x": -212.40365006087637, + "y": -119.237704784838, + "width": 50.19126198508519, + "height": 104.36603892933238, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 552612237, + "version": 207, + "versionNonce": 1570191757, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.390081232244313, + -2.390053488991498 + ], + [ + -3.983431729403435, + -3.983431729403435 + ], + [ + -5.576837713068187, + -5.576809969815372 + ], + [ + -7.966863458806813, + -7.170188210227309 + ], + [ + -11.153564453125, + -8.763538707386374 + ], + [ + -13.543701171875, + -9.56024169921875 + ], + [ + -14.340376420454561, + -9.56024169921875 + ], + [ + -15.933726917613626, + -9.56024169921875 + ], + [ + -15.933726917613626, + -3.186756480823874 + ], + [ + -15.933726917613626, + 4.780134721235754 + ], + [ + -14.340376420454561, + 11.153647682883502 + ], + [ + -11.153564453125, + 18.32380814985794 + ], + [ + -5.576837713068187, + 27.08740234375 + ], + [ + 0.7967307350851911, + 37.444319291548254 + ], + [ + 12.747025923295439, + 54.97145219282669 + ], + [ + 19.1204833984375, + 64.53166614879262 + ], + [ + 23.90059037642044, + 71.70185435901988 + ], + [ + 28.680808327414752, + 82.058799050071 + ], + [ + 31.07077858664769, + 87.63560901988637 + ], + [ + 32.66424005681819, + 92.41574374112213 + ], + [ + 33.460859818892004, + 94.00912198153407 + ], + [ + 34.257535067471565, + 94.80579723011363 + ], + [ + 34.257535067471565, + 94.80579723011363 + ] + ], + "pressures": [ + 0.0185546875, + 0.29296875, + 0.3671875, + 0.4599609375, + 0.6083984375, + 0.7646484375, + 0.8896484375, + 0.908203125, + 0.927734375, + 0.9599609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7265625, + 0.3740234375, + 0.228515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.257535067471565, + 94.80579723011363 + ] + }, + { + "id": "kpfAb-K0g9vukvCoSpmXQ", + "type": "freedraw", + "x": -213.99705604454118, + "y": -122.42446126566188, + "width": 55.768099698153435, + "height": 109.14614590731532, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 112485645, + "version": 203, + "versionNonce": 1438429635, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + -3.186728737571002 + ], + [ + -3.186700994318187, + -3.186728737571002 + ], + [ + -5.576726740056813, + -3.186728737571002 + ], + [ + -9.560158469460191, + -2.390053488991498 + ], + [ + -11.950295188210191, + -2.390053488991498 + ], + [ + -13.543590198863626, + -1.593350497159122 + ], + [ + -13.543590198863626, + -0.796675248579561 + ], + [ + -13.543590198863626, + 0.796702991832376 + ], + [ + -11.950295188210191, + 7.170188210227252 + ], + [ + -7.966863458806813, + 18.32383589311081 + ], + [ + 2.39013671875, + 38.24102228338069 + ], + [ + 10.357000177556813, + 51.784695712002815 + ], + [ + 18.323863636363683, + 65.328369140625 + ], + [ + 26.290782581676183, + 78.8720703125 + ], + [ + 35.05426580255681, + 94.80579723011363 + ], + [ + 39.03769753196025, + 101.97598544034088 + ], + [ + 42.22450949928981, + 105.95941716974431 + ], + [ + 42.22450949928981, + 105.16274192116475 + ], + [ + 42.22450949928981, + 105.16274192116475 + ] + ], + "pressures": [ + 0.005859375, + 0.30078125, + 0.5146484375, + 0.720703125, + 0.880859375, + 0.9453125, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8388671875, + 0.267578125, + 0.0009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.22450949928981, + 105.16274192116475 + ] + }, + { + "id": "yVBN9PyCOlouMY3CZDIbX", + "type": "freedraw", + "x": -159.0256315949673, + "y": -119.237704784838, + "width": 34.257535067471565, + "height": 100.38260719992894, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1117230723, + "version": 194, + "versionNonce": 1995603949, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983487215909122, + 0 + ], + [ + 7.9669189453125, + 0 + ], + [ + 11.950350674715935, + 0 + ], + [ + 15.933782404119313, + 0 + ], + [ + 19.917214133522748, + 0 + ], + [ + 20.713889382102252, + 0 + ], + [ + 19.917214133522748, + 3.186784224076689 + ], + [ + 16.730457652698874, + 7.170215953480124 + ], + [ + 11.153675426136374, + 15.933754660866441 + ], + [ + 4.780162464488626, + 27.88404984907669 + ], + [ + -2.390025745738626, + 43.02115700461644 + ], + [ + -7.966863458806813, + 60.54823441938919 + ], + [ + -12.746914950284065, + 84.4488525390625 + ], + [ + -13.543645685369313, + 97.19585071910512 + ], + [ + -13.543645685369313, + 98.789228959517 + ], + [ + -12.746914950284065, + 100.38260719992894 + ], + [ + -11.950295188210191, + 100.38260719992894 + ], + [ + -11.153619939630687, + 99.58593195134944 + ], + [ + -11.153619939630687, + 99.58593195134944 + ] + ], + "pressures": [ + 0.064453125, + 0.404296875, + 0.49609375, + 0.6162109375, + 0.701171875, + 0.720703125, + 0.724609375, + 0.75390625, + 0.7646484375, + 0.92578125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.828125, + 0.078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -11.153619939630687, + 99.58593195134944 + ] + }, + { + "id": "i5AG3f6rr2oTMJvdU_C7P", + "type": "freedraw", + "x": -167.789114815848, + "y": -112.86419182319031, + "width": 7.170188210227252, + "height": 103.5693359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 492118691, + "version": 187, + "versionNonce": 124223843, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.5767822265625, + 54.971424449573874 + ], + [ + 0, + 81.26209605823868 + ], + [ + -0.7967307350851911, + 85.24552778764206 + ], + [ + -1.593405983664752, + 91.61904074928981 + ], + [ + -1.593405983664752, + 98.78922895951706 + ], + [ + -0.7967307350851911, + 101.97595769708806 + ], + [ + 0, + 102.7726606889205 + ], + [ + 0.796619762073874, + 103.5693359375 + ], + [ + 1.593350497159122, + 103.5693359375 + ], + [ + 2.390025745738626, + 102.7726606889205 + ], + [ + 2.390025745738626, + 101.97595769708806 + ], + [ + 2.390025745738626, + 101.97595769708806 + ] + ], + "pressures": [ + 0.0166015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.58984375, + 0.2958984375, + 0.130859375, + 0.072265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.390025745738626, + 101.97595769708806 + ] + }, + { + "id": "h0ZH62dGNRr98s387UcxZ", + "type": "freedraw", + "x": -159.82225135704118, + "y": -119.237704784838, + "width": 62.14155717329544, + "height": 101.17931019176132, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 724993389, + "version": 200, + "versionNonce": 634780237, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.780106977982996, + -3.186756480823874 + ], + [ + 8.763538707386374, + -4.780106977982996 + ], + [ + 13.543645685369313, + -5.576809969815372 + ], + [ + 19.917214133522748, + -6.373485218394876 + ], + [ + 29.477372602982996, + -8.763538707386374 + ], + [ + 35.054210316051126, + -10.356944691051126 + ], + [ + 37.44423606178981, + -10.356944691051126 + ], + [ + 38.240966796875, + -10.356944691051126 + ], + [ + 38.240966796875, + -8.763538707386374 + ], + [ + 35.054210316051126, + -0.7966475053267459 + ], + [ + 30.274103338068187, + 6.373512961647691 + ], + [ + 24.697265625, + 15.137079412286937 + ], + [ + 16.730402166193187, + 25.49399636008519 + ], + [ + 3.186700994318187, + 42.22442626953125 + ], + [ + -6.373512961647691, + 55.76812744140625 + ], + [ + -15.137107155539752, + 70.10847611860794 + ], + [ + -20.713889382102252, + 80.46542080965907 + ], + [ + -23.90059037642044, + 86.83893377130681 + ], + [ + -23.90059037642044, + 87.63560901988637 + ], + [ + -23.90059037642044, + 88.43231201171875 + ], + [ + -23.103970614346565, + 90.02566250887782 + ], + [ + -22.307295365767004, + 90.82236550071019 + ], + [ + -21.5106201171875, + 90.82236550071019 + ], + [ + -20.713889382102252, + 90.82236550071019 + ], + [ + -20.713889382102252, + 90.82236550071019 + ] + ], + "pressures": [ + 0.1123046875, + 0.8896484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5087890625, + 0.1474609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -20.713889382102252, + 90.82236550071019 + ] + }, + { + "id": "kzr_AMwaCSiDsAJGBvwZb", + "type": "freedraw", + "x": -197.2665983918423, + "y": -68.24968432141475, + "width": 31.070834073153378, + "height": 14.340348677201746, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1513116419, + "version": 196, + "versionNonce": 1180130563, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796675248579561, + -0.796702991832376 + ], + [ + -1.593350497159065, + -0.796702991832376 + ], + [ + -1.593350497159065, + 0 + ], + [ + -1.593350497159065, + 3.983431729403435 + ], + [ + -1.593350497159065, + 5.5767822265625 + ], + [ + -1.593350497159065, + 7.170160466974437 + ], + [ + -1.593350497159065, + 8.763538707386374 + ], + [ + -1.593350497159065, + 11.153592196377872 + ], + [ + -1.593350497159065, + 13.54364568536937 + ], + [ + -0.796675248579561, + 13.54364568536937 + ], + [ + 1.593405983664809, + 13.54364568536937 + ], + [ + 4.780106977982939, + 13.54364568536937 + ], + [ + 12.747025923295439, + 12.746970436789809 + ], + [ + 18.32380814985794, + 11.950295188210248 + ], + [ + 23.103915127840935, + 11.153592196377872 + ], + [ + 27.087346857244313, + 10.356916947798311 + ], + [ + 29.477483575994313, + 10.356916947798311 + ], + [ + 29.477483575994313, + 9.560213955965935 + ], + [ + 28.680752840909122, + 6.373485218394933 + ], + [ + 27.88407759232956, + 5.5767822265625 + ], + [ + 27.087346857244313, + 5.5767822265625 + ], + [ + 27.087346857244313, + 5.5767822265625 + ] + ], + "pressures": [ + 0.048828125, + 0.576171875, + 0.828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9404296875, + 0.462890625, + 0.2080078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.087346857244313, + 5.5767822265625 + ] + }, + { + "id": "OHXNde7Bbs20ze1jImc4T", + "type": "freedraw", + "x": -169.38252079951275, + "y": -120.03435229016475, + "width": 39.83437278053975, + "height": 97.19585071910512, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 344117101, + "version": 197, + "versionNonce": 1931159725, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 4.780106977982939, + -3.186784224076689 + ], + [ + 9.560269442471565, + -4.780162464488626 + ], + [ + 15.933726917613626, + -6.373540704900563 + ], + [ + 23.103915127840878, + -7.966891202059628 + ], + [ + 32.6641845703125, + -11.153647682883502 + ], + [ + 37.444347034801126, + -12.747025923295439 + ], + [ + 39.83437278053975, + -14.340404163707376 + ], + [ + 39.83437278053975, + -13.543728915127815 + ], + [ + 39.03764204545456, + -9.56029718572438 + ], + [ + 35.054210316051126, + 0.7966475053267459 + ], + [ + 30.274103338068187, + 13.54364568536937 + ], + [ + 25.49399636008519, + 25.493968616832433 + ], + [ + 20.713833895596565, + 41.42769553444606 + ], + [ + 17.527132901278378, + 52.581315474076746 + ], + [ + 15.137051669034065, + 63.73496315696025 + ], + [ + 12.746970436789752, + 71.70182661576706 + ], + [ + 11.153619939630687, + 78.07531183416194 + ], + [ + 11.153619939630687, + 82.05877130681819 + ], + [ + 11.153619939630687, + 82.85544655539775 + ], + [ + 11.153619939630687, + 82.05877130681819 + ], + [ + 13.543701171875, + 80.46539306640625 + ], + [ + 14.340376420454561, + 79.66869007457387 + ], + [ + 14.340376420454561, + 79.66869007457387 + ] + ], + "pressures": [ + 0.0673828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4931640625, + 0.2421875, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.340376420454561, + 79.66869007457387 + ] + }, + { + "id": "UYfuT-JHUAOzB6JCf61uR", + "type": "freedraw", + "x": -164.6024138215298, + "y": -115.25427305543462, + "width": 28.680697354403435, + "height": 84.4488525390625, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1639824909, + "version": 198, + "versionNonce": 1040893091, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593350497159122, + 0 + ], + [ + 7.966863458806813, + -1.593378240411937 + ], + [ + 12.747025923295439, + -2.390053488991441 + ], + [ + 16.730457652698874, + -3.186728737571002 + ], + [ + 19.91715864701706, + -3.983431729403378 + ], + [ + 22.307239879261374, + -3.983431729403378 + ], + [ + 24.697376598011374, + -3.983431729403378 + ], + [ + 25.493996360085248, + -3.983431729403378 + ], + [ + 22.307239879261374, + 3.186784224076746 + ], + [ + 17.527132901278435, + 11.950322931463063 + ], + [ + 11.950295188210248, + 22.307267622514246 + ], + [ + 7.170188210227309, + 32.6641845703125 + ], + [ + 3.186756480823874, + 44.61450750177556 + ], + [ + 0, + 56.56480268998581 + ], + [ + -2.390081232244313, + 70.90517911044037 + ], + [ + -3.186700994318187, + 74.88861083984375 + ], + [ + -3.186700994318187, + 77.27869207208806 + ], + [ + -3.186700994318187, + 78.07536732066762 + ], + [ + -3.186700994318187, + 78.87204256924718 + ], + [ + -3.186700994318187, + 79.66874556107956 + ], + [ + -2.390081232244313, + 79.66874556107956 + ], + [ + -1.593350497159065, + 80.46542080965912 + ], + [ + -0.796675248579561, + 79.66874556107956 + ], + [ + -0.796675248579561, + 79.66874556107956 + ] + ], + "pressures": [ + 0.037109375, + 0.7587890625, + 0.931640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.349609375, + 0.09765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.796675248579561, + 79.66874556107956 + ] + }, + { + "id": "YDMd692SIU9RSWSQk5PQr", + "type": "freedraw", + "x": -170.9759267831775, + "y": -116.05092056076131, + "width": 31.86750932173294, + "height": 99.58590420809657, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 380488867, + "version": 205, + "versionNonce": 275483405, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.390081232244313, + -4.780162464488626 + ], + [ + 8.763594193892004, + -7.170215953480124 + ], + [ + 11.950295188210191, + -7.966891202059685 + ], + [ + 14.340376420454504, + -8.763594193892061 + ], + [ + 18.32380814985794, + -8.763594193892061 + ], + [ + 21.510564630681813, + -9.560269442471565 + ], + [ + 24.69732111150563, + -9.560269442471565 + ], + [ + 27.087402343749943, + -9.560269442471565 + ], + [ + 29.477428089488626, + -9.560269442471565 + ], + [ + 31.070889559659065, + -9.560269442471565 + ], + [ + 31.86750932173294, + -9.560269442471565 + ], + [ + 31.86750932173294, + -8.763594193892061 + ], + [ + 31.86750932173294, + -7.170215953480124 + ], + [ + 29.477428089488626, + 0 + ], + [ + 25.49399636008519, + 7.170160466974437 + ], + [ + 20.713889382102252, + 15.13702392578125 + ], + [ + 16.730457652698817, + 23.103915127840935 + ], + [ + 14.340376420454504, + 31.070778586647748 + ], + [ + 11.950295188210191, + 41.427723277698874 + ], + [ + 11.153675426136317, + 58.158153187144876 + ], + [ + 11.153675426136317, + 67.71839488636363 + ], + [ + 11.153675426136317, + 74.88858309659093 + ], + [ + 11.153675426136317, + 81.26206831498581 + ], + [ + 11.153675426136317, + 85.24552778764206 + ], + [ + 10.356944691051126, + 87.6355812766335 + ], + [ + 10.356944691051126, + 89.22895951704544 + ], + [ + 10.356944691051126, + 90.025634765625 + ], + [ + 10.356944691051126, + 86.83887828480113 + ], + [ + 11.153675426136317, + 83.65214954723012 + ], + [ + 11.153675426136317, + 82.05877130681819 + ], + [ + 11.153675426136317, + 82.05877130681819 + ] + ], + "pressures": [ + 0.0810546875, + 0.5712890625, + 0.90234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.642578125, + 0.279296875, + 0.1923828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.153675426136317, + 82.05877130681819 + ] + }, + { + "id": "EApj9qvEnMsj3Ga3AKpJT", + "type": "freedraw", + "x": -180.53614073914343, + "y": -63.46957734343175, + "width": 30.274103338068187, + "height": 35.850941051136374, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1945028877, + "version": 195, + "versionNonce": 640694339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.780162464488626, + 5.576809969815315 + ], + [ + -7.9669189453125, + 8.763538707386374 + ], + [ + -11.950350674715935, + 15.933726917613626 + ], + [ + -14.340376420454561, + 20.713861638849437 + ], + [ + -15.933782404119313, + 23.900618119673254 + ], + [ + -16.730457652698874, + 26.290671608664752 + ], + [ + -13.543701171875, + 26.290671608664752 + ], + [ + -7.9669189453125, + 25.49399636008519 + ], + [ + -2.390081232244313, + 23.103915127840878 + ], + [ + 1.593350497159065, + 21.51053688742894 + ], + [ + 4.780162464488626, + 20.713861638849437 + ], + [ + 7.966863458806813, + 19.917186390269876 + ], + [ + 8.763594193892061, + 19.917186390269876 + ], + [ + 8.763594193892061, + 19.1204833984375 + ], + [ + 9.560213955965935, + 13.543673428622128 + ], + [ + 9.560213955965935, + 9.56024169921875 + ], + [ + 11.153619939630687, + 3.983431729403378 + ], + [ + 11.950295188210248, + -1.593378240411937 + ], + [ + 13.543645685369313, + -5.576809969815372 + ], + [ + 13.543645685369313, + -7.966891202059685 + ], + [ + 13.543645685369313, + -8.763538707386374 + ], + [ + 12.747025923295439, + -9.560269442471622 + ], + [ + 11.950295188210248, + -9.560269442471622 + ], + [ + 11.950295188210248, + -6.373512961647748 + ], + [ + 11.950295188210248, + -4.780106977982996 + ], + [ + 11.950295188210248, + -4.780106977982996 + ] + ], + "pressures": [ + 0.0234375, + 0.826171875, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1650390625, + 0.052734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.950295188210248, + -4.780106977982996 + ] + }, + { + "id": "G59PoYU8BN2WMFyKltl-I", + "type": "freedraw", + "x": -186.90965370079118, + "y": -57.096092125036876, + "width": 30.274158824573874, + "height": 38.24099454012787, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 682041229, + "version": 199, + "versionNonce": 1044423021, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593378240411937 + ], + [ + -0.7966197620738171, + -0.796675248579561 + ], + [ + -3.983431729403378, + 2.390053488991498 + ], + [ + -5.576837713068187, + 6.373512961647748 + ], + [ + -7.170188210227252, + 8.763566450639189 + ], + [ + -7.170188210227252, + 10.356944691051126 + ], + [ + -6.373512961647691, + 11.153619939630687 + ], + [ + -1.593405983664752, + 12.746998180042624 + ], + [ + 2.390081232244313, + 12.746998180042624 + ], + [ + 6.373512961647748, + 12.746998180042624 + ], + [ + 9.560213955965935, + 12.746998180042624 + ], + [ + 13.543701171875, + 11.153619939630687 + ], + [ + 15.933726917613683, + 10.356944691051126 + ], + [ + 18.323808149857996, + 10.356944691051126 + ], + [ + 19.91715864701706, + 9.56024169921875 + ], + [ + 20.71388938210231, + 9.56024169921875 + ], + [ + 20.71388938210231, + 7.170188210227252 + ], + [ + 20.71388938210231, + 1.593378240411937 + ], + [ + 21.510564630681813, + -3.186728737571002 + ], + [ + 22.307239879261374, + -7.170160466974437 + ], + [ + 22.307239879261374, + -11.153592196377872 + ], + [ + 22.307239879261374, + -15.933754660866498 + ], + [ + 22.307239879261374, + -19.917186390269876 + ], + [ + 23.103970614346622, + -23.103915127840935 + ], + [ + 23.103970614346622, + -24.697293368252872 + ], + [ + 23.103970614346622, + -25.493996360085248 + ], + [ + 23.103970614346622, + -24.697293368252872 + ], + [ + 21.510564630681813, + -21.510564630681813 + ], + [ + 21.510564630681813, + -20.713861638849437 + ], + [ + 21.510564630681813, + -20.713861638849437 + ] + ], + "pressures": [ + 0.0458984375, + 0.5869140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3330078125, + 0.12109375, + 0.013671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.510564630681813, + -20.713861638849437 + ] + }, + { + "id": "XVcJtwHP1-VMkZSMENtca", + "type": "freedraw", + "x": -183.72284173346162, + "y": -65.06295558384369, + "width": 37.44434703480118, + "height": 34.25756281072444, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 878466765, + "version": 202, + "versionNonce": 1017526243, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.796619762073874, + -1.593378240411937 + ], + [ + -2.39013671875, + 3.983431729403378 + ], + [ + -4.780217950994313, + 7.966863458806813 + ], + [ + -6.373568448153378, + 11.153619939630687 + ], + [ + -7.170243696732939, + 12.746998180042624 + ], + [ + -7.9669189453125, + 14.340376420454561 + ], + [ + -7.9669189453125, + 15.933726917613626 + ], + [ + -8.763649680397748, + 16.730429909446002 + ], + [ + -7.170243696732939, + 16.730429909446002 + ], + [ + -1.593461470170439, + 16.730429909446002 + ], + [ + 3.983431729403435, + 15.933726917613626 + ], + [ + 10.356889204545439, + 14.340376420454561 + ], + [ + 15.136996182528435, + 13.543673428622128 + ], + [ + 19.120427911931813, + 13.543673428622128 + ], + [ + 22.307184392755687, + 13.543673428622128 + ], + [ + 23.90059037642044, + 13.543673428622128 + ], + [ + 24.697210138494313, + 13.543673428622128 + ], + [ + 25.49394087357956, + 13.543673428622128 + ], + [ + 26.290616122159122, + 13.543673428622128 + ], + [ + 27.087291370738626, + 11.950295188210191 + ], + [ + 27.087291370738626, + 4.780134721235811 + ], + [ + 27.884022105823874, + 0 + ], + [ + 27.884022105823874, + -4.780134721235811 + ], + [ + 28.680697354403435, + -8.763566450639189 + ], + [ + 28.680697354403435, + -11.153592196377872 + ], + [ + 28.680697354403435, + -13.543701171875 + ], + [ + 27.884022105823874, + -15.933754660866498 + ], + [ + 27.087291370738626, + -16.73042990944606 + ], + [ + 26.290616122159122, + -17.527132901278435 + ], + [ + 25.49394087357956, + -17.527132901278435 + ], + [ + 25.49394087357956, + -16.73042990944606 + ], + [ + 25.49394087357956, + -15.933754660866498 + ], + [ + 25.49394087357956, + -15.933754660866498 + ] + ], + "pressures": [ + 0.0693359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.39453125, + 0.1357421875, + 0.0400390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 25.49394087357956, + -15.933754660866498 + ] + }, + { + "id": "QCb9gdWNX_Vw5DX3ILtee", + "type": "freedraw", + "x": -189.2997349330355, + "y": -57.89276737361644, + "width": 36.647616299715935, + "height": 41.42775102095169, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1798599907, + "version": 201, + "versionNonce": 1910762445, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + -1.593350497159065, + 0.796675248579561 + ], + [ + -3.186756480823874, + 3.186728737571059 + ], + [ + -3.983431729403378, + 5.576809969815372 + ], + [ + -4.780106977982939, + 9.56024169921875 + ], + [ + -5.5767822265625, + 10.356916947798311 + ], + [ + -5.5767822265625, + 11.950295188210248 + ], + [ + -4.780106977982939, + 14.340376420454561 + ], + [ + -1.593350497159065, + 15.933726917613626 + ], + [ + 4.780162464488626, + 17.527105158025563 + ], + [ + 9.560324928977309, + 18.32380814985794 + ], + [ + 15.137051669034122, + 17.527105158025563 + ], + [ + 19.917214133522748, + 15.933726917613626 + ], + [ + 23.900645862926126, + 14.340376420454561 + ], + [ + 26.29067160866481, + 12.746998180042624 + ], + [ + 28.680752840909122, + 11.950295188210248 + ], + [ + 29.477483575994313, + 11.153619939630687 + ], + [ + 31.070834073153435, + 10.356916947798311 + ], + [ + 31.070834073153435, + 7.966863458806813 + ], + [ + 31.070834073153435, + 4.780106977982939 + ], + [ + 31.070834073153435, + 0 + ], + [ + 30.274103338068187, + -4.780134721235811 + ], + [ + 29.477483575994313, + -11.950322931463063 + ], + [ + 29.477483575994313, + -15.137079412286937 + ], + [ + 28.680752840909122, + -17.527132901278378 + ], + [ + 28.680752840909122, + -20.713889382102252 + ], + [ + 27.88407759232956, + -22.307239879261374 + ], + [ + 27.88407759232956, + -23.10394287109375 + ], + [ + 27.88407759232956, + -22.307239879261374 + ], + [ + 28.680752840909122, + -20.713889382102252 + ], + [ + 28.680752840909122, + -19.917186390269876 + ], + [ + 28.680752840909122, + -19.917186390269876 + ] + ], + "pressures": [ + 0.0029296875, + 0.25, + 0.38671875, + 0.5009765625, + 0.5400390625, + 0.609375, + 0.7607421875, + 0.8916015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3671875, + 0.150390625, + 0.0869140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 28.680752840909122, + -19.917186390269876 + ] + }, + { + "id": "2lHZCsGNglqO3JcMPdscs", + "type": "freedraw", + "x": -159.82225135704118, + "y": -78.60665675571869, + "width": 39.03769753196019, + "height": 39.83437278053975, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1627319619, + "version": 194, + "versionNonce": 2138784643, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 2.390108975497128 + ], + [ + 0, + 6.373540704900563 + ], + [ + 0, + 11.950322931463063 + ], + [ + -1.593405983664752, + 19.120511141690315 + ], + [ + -3.186811967329504, + 28.680752840909065 + ], + [ + -4.780162464488626, + 33.460887562144876 + ], + [ + -5.576837713068187, + 36.64761629971588 + ], + [ + -7.170243696732939, + 39.03769753196019 + ], + [ + -7.170243696732939, + 39.83437278053975 + ], + [ + -7.966863458806813, + 39.83437278053975 + ], + [ + -8.763594193892004, + 39.83437278053975 + ], + [ + -11.950295188210191, + 39.83437278053975 + ], + [ + -16.730457652698817, + 39.03769753196019 + ], + [ + -23.90059037642044, + 36.64761629971588 + ], + [ + -27.884022105823817, + 35.05426580255681 + ], + [ + -30.274158824573817, + 34.25756281072444 + ], + [ + -32.66424005681819, + 32.6641845703125 + ], + [ + -35.85094105113632, + 30.274131081321002 + ], + [ + -37.444347034801126, + 29.477428089488626 + ], + [ + -39.03769753196019, + 28.680752840909065 + ], + [ + -38.24102228338069, + 28.680752840909065 + ], + [ + -35.85094105113632, + 28.680752840909065 + ], + [ + -33.46091530539769, + 27.88407759232956 + ], + [ + -32.66424005681819, + 27.88407759232956 + ], + [ + -32.66424005681819, + 27.88407759232956 + ] + ], + "pressures": [ + 0.0986328125, + 0.4189453125, + 0.751953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9189453125, + 0.3984375, + 0.2021484375, + 0.150390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -32.66424005681819, + 27.88407759232956 + ] + }, + { + "id": "sSMv2S7Xg09tJhzMPKn4L", + "type": "freedraw", + "x": -165.39908907010937, + "y": -114.45757006360225, + "width": 39.83437278053975, + "height": 97.19585071910512, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 429153027, + "version": 192, + "versionNonce": 997124653, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 7.96686345880687, + -0.796702991832376 + ], + [ + 12.746970436789809, + -1.593350497159065 + ], + [ + 17.527132901278435, + -3.186756480823817 + ], + [ + 22.307239879261374, + -3.983431729403378 + ], + [ + 27.087346857244313, + -5.5767822265625 + ], + [ + 31.070778586647748, + -5.5767822265625 + ], + [ + 35.05421031605118, + -6.373512961647691 + ], + [ + 35.850941051136374, + -6.373512961647691 + ], + [ + 35.850941051136374, + -4.780134721235754 + ], + [ + 33.46091530539775, + 0.796675248579561 + ], + [ + 25.494051846590935, + 15.137051669034122 + ], + [ + 18.323808149857996, + 26.290699351917624 + ], + [ + 11.950295188210248, + 38.24102228338069 + ], + [ + 3.186756480823874, + 59.75153142755687 + ], + [ + 0.796675248579561, + 67.7184226296165 + ], + [ + -3.983431729403378, + 84.4488525390625 + ], + [ + -3.983431729403378, + 89.22898726029831 + ], + [ + -3.983431729403378, + 90.02566250887787 + ], + [ + -3.983431729403378, + 90.82233775745743 + ], + [ + -3.186756480823817, + 90.82233775745743 + ], + [ + -2.390025745738626, + 89.22898726029831 + ], + [ + -1.593405983664752, + 87.63560901988637 + ], + [ + -1.593405983664752, + 87.63560901988637 + ] + ], + "pressures": [ + 0.076171875, + 0.6494140625, + 0.8515625, + 0.986328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3330078125, + 0.185546875, + 0.05859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593405983664752, + 87.63560901988637 + ] + }, + { + "id": "m5kLS5IrUiubOg7zCIDCZ", + "type": "freedraw", + "x": -160.61898209212637, + "y": -112.86419182319031, + "width": 39.83437278053975, + "height": 103.5693359375, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 789375587, + "version": 186, + "versionNonce": 653122339, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 27.884077592329504, + -8.763566450639189 + ], + [ + 27.087346857244313, + -3.186728737571002 + ], + [ + 24.697376598011317, + 2.390053488991498 + ], + [ + 20.71394486860794, + 11.153619939630687 + ], + [ + 12.747025923295439, + 26.29067160866481 + ], + [ + 6.373512961647691, + 37.444291548295496 + ], + [ + -0.796675248579561, + 50.19128972833806 + ], + [ + -7.966863458806813, + 67.7184226296165 + ], + [ + -9.560269442471622, + 71.70185435901993 + ], + [ + -11.153564453125, + 82.85547429865056 + ], + [ + -11.950295188210248, + 88.43228426846593 + ], + [ + -11.950295188210248, + 92.41571599786931 + ], + [ + -11.950295188210248, + 94.00909423828125 + ], + [ + -11.950295188210248, + 94.80576948686081 + ], + [ + -11.153564453125, + 93.21241898970175 + ], + [ + -10.356944691051126, + 92.41571599786931 + ], + [ + -10.356944691051126, + 92.41571599786931 + ] + ], + "pressures": [ + 0.0126953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.125, + 0.005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -10.356944691051126, + 92.41571599786931 + ] + }, + { + "id": "9j6yslxEdW2475kXR_fk1", + "type": "freedraw", + "x": -166.99249505377412, + "y": -120.03435229016475, + "width": 50.98793723366475, + "height": 101.17928244850856, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 534552291, + "version": 195, + "versionNonce": 1808473229, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.593405983664752, + 0 + ], + [ + 7.170243696732939, + 0 + ], + [ + 11.950350674715935, + -2.390108975497128 + ], + [ + 16.730457652698874, + -3.98345947265625 + ], + [ + 23.103970614346565, + -4.780162464488626 + ], + [ + 31.86750932173294, + -4.780162464488626 + ], + [ + 35.850941051136374, + -4.780162464488626 + ], + [ + 37.444347034801126, + -4.780162464488626 + ], + [ + 38.24102228338069, + -4.780162464488626 + ], + [ + 38.24102228338069, + -3.98345947265625 + ], + [ + 37.444347034801126, + 0.7966475053267459 + ], + [ + 32.6641845703125, + 6.373457475142061 + ], + [ + 26.290671608664752, + 13.54364568536937 + ], + [ + 18.32380814985794, + 21.510509144176183 + ], + [ + 7.170243696732939, + 35.05421031605118 + ], + [ + 2.390081232244313, + 44.61445201526993 + ], + [ + -1.593350497159065, + 54.17469371448868 + ], + [ + -4.780051491477252, + 64.53163840553981 + ], + [ + -7.966863458806813, + 75.6852583451705 + ], + [ + -11.153619939630687, + 89.2289595170455 + ], + [ + -11.950295188210248, + 94.00906649502843 + ], + [ + -12.746914950284065, + 96.39911998401993 + ], + [ + -11.950295188210248, + 94.00906649502843 + ], + [ + -11.153619939630687, + 90.82231001420456 + ], + [ + -10.356944691051126, + 90.025634765625 + ], + [ + -10.356944691051126, + 90.025634765625 + ] + ], + "pressures": [ + 0.052734375, + 0.4794921875, + 0.7265625, + 0.857421875, + 0.8896484375, + 0.900390625, + 0.9169921875, + 0.931640625, + 0.9384765625, + 0.9404296875, + 0.9619140625, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.21875, + 0.12109375, + 0.0478515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -10.356944691051126, + 90.025634765625 + ] + }, + { + "id": "7gfVM6iIKhtf91__dqjRg", + "type": "freedraw", + "x": -187.706273462865, + "y": -73.02984678590337, + "width": 35.850941051136374, + "height": 29.477428089488626, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1833026979, + "version": 190, + "versionNonce": 1600945859, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5934614701704959, + -0.7966752485795041 + ], + [ + -5.576893199573874, + 3.186756480823874 + ], + [ + -9.560324928977309, + 9.560269442471622 + ], + [ + -12.747081409801183, + 17.527132901278435 + ], + [ + -15.93378240411937, + 22.307267622514246 + ], + [ + -17.527188387784122, + 24.697321111505687 + ], + [ + -16.73051313920456, + 24.697321111505687 + ], + [ + -12.747081409801183, + 24.697321111505687 + ], + [ + -8.763649680397748, + 23.90061811967331 + ], + [ + -0.7967862215909349, + 22.307267622514246 + ], + [ + 3.18670099431813, + 21.510564630681813 + ], + [ + 7.170132723721565, + 19.917186390269876 + ], + [ + 9.560158469460191, + 19.917186390269876 + ], + [ + 11.153564453125, + 19.917186390269876 + ], + [ + 11.153564453125, + 17.527132901278435 + ], + [ + 11.153564453125, + 14.340376420454561 + ], + [ + 11.153564453125, + 9.560269442471622 + ], + [ + 13.543590198863626, + 2.390081232244313 + ], + [ + 15.136996182528378, + -0.7966752485795041 + ], + [ + 16.7303466796875, + -3.186700994318187 + ], + [ + 17.527021928267004, + -4.780106977982939 + ], + [ + 18.323752663352252, + -4.780106977982939 + ], + [ + 16.7303466796875, + -3.186700994318187 + ], + [ + 15.136996182528378, + -0.7966752485795041 + ], + [ + 14.340320933948817, + -0.7966752485795041 + ], + [ + 14.340320933948817, + -0.7966752485795041 + ] + ], + "pressures": [ + 0.001953125, + 0.541015625, + 0.9189453125, + 0.990234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.796875, + 0.2451171875, + 0.17578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.340320933948817, + -0.7966752485795041 + ] + }, + { + "id": "doeaxqCUs9WLYSFhnntKm", + "type": "freedraw", + "x": -163.0090633243707, + "y": -77.01327851530675, + "width": 36.64761629971588, + "height": 27.88404984907669, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 924425635, + "version": 184, + "versionNonce": 2058486509, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967307350851911, + -0.796675248579561 + ], + [ + -0.796619762073874, + 2.390081232244313 + ], + [ + -3.186700994318187, + 7.170188210227252 + ], + [ + -7.170188210227309, + 15.933754660866441 + ], + [ + -10.356889204545496, + 19.917186390269876 + ], + [ + -11.950295188210248, + 23.10394287109375 + ], + [ + -13.543645685369313, + 24.697321111505687 + ], + [ + -14.340376420454561, + 26.290699351917624 + ], + [ + -15.137051669034122, + 27.087374600497128 + ], + [ + -15.933726917613683, + 27.087374600497128 + ], + [ + -17.527077414772748, + 27.087374600497128 + ], + [ + -19.1204833984375, + 26.290699351917624 + ], + [ + -23.103915127840935, + 23.10394287109375 + ], + [ + -27.087346857244313, + 19.917186390269876 + ], + [ + -31.070778586647748, + 18.32380814985794 + ], + [ + -34.25753506747162, + 16.730457652698874 + ], + [ + -35.85088556463069, + 16.730457652698874 + ], + [ + -35.85088556463069, + 15.933754660866441 + ], + [ + -33.46085981889206, + 16.730457652698874 + ], + [ + -33.46085981889206, + 16.730457652698874 + ] + ], + "pressures": [ + 0.1103515625, + 0.3544921875, + 0.9560546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1806640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -33.46085981889206, + 16.730457652698874 + ] + }, + { + "id": "ttAKptfly2OHTV57WC2zJ", + "type": "freedraw", + "x": -195.6731924081775, + "y": -58.68947036544881, + "width": 33.46085981889206, + "height": 24.697293368252872, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 284541635, + "version": 188, + "versionNonce": 1133882979, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + 0 + ], + [ + 0.7966752485795041, + 0.796702991832376 + ], + [ + 5.5767822265625, + 2.390081232244313 + ], + [ + 9.560213955965878, + 3.186756480823874 + ], + [ + 11.950350674715878, + 3.186756480823874 + ], + [ + 15.933782404119313, + 3.186756480823874 + ], + [ + 18.323752663352252, + 3.186756480823874 + ], + [ + 19.1204833984375, + 3.186756480823874 + ], + [ + 19.91721413352269, + 2.390081232244313 + ], + [ + 20.713833895596565, + 0.796702991832376 + ], + [ + 21.510509144176126, + 0 + ], + [ + 23.103915127840878, + -3.983431729403435 + ], + [ + 26.290671608664752, + -9.560213955965935 + ], + [ + 27.087346857244313, + -10.356916947798311 + ], + [ + 27.884077592329504, + -11.950295188210248 + ], + [ + 28.680697354403378, + -13.543645685369313 + ], + [ + 29.477428089488626, + -15.933726917613626 + ], + [ + 30.27410333806813, + -18.32380814985794 + ], + [ + 31.07077858664769, + -19.917186390269876 + ], + [ + 31.86750932173294, + -21.510536887428998 + ], + [ + 32.66412908380681, + -21.510536887428998 + ], + [ + 32.66412908380681, + -19.1204833984375 + ], + [ + 32.66412908380681, + -18.32380814985794 + ], + [ + 32.66412908380681, + -18.32380814985794 + ] + ], + "pressures": [ + 0.0693359375, + 0.6572265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1484375, + 0.099609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 32.66412908380681, + -18.32380814985794 + ] + }, + { + "id": "ECOVAtz3bolslnOvg_PB9", + "type": "freedraw", + "x": -163.0090633243707, + "y": -79.40333200429825, + "width": 44.61442427201706, + "height": 29.477428089488626, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 22247203, + "version": 185, + "versionNonce": 749542733, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -15.933726917613683, + 28.680752840909122 + ], + [ + -17.527077414772748, + 29.477428089488626 + ], + [ + -18.323808149857996, + 29.477428089488626 + ], + [ + -19.1204833984375, + 29.477428089488626 + ], + [ + -20.713778409090935, + 29.477428089488626 + ], + [ + -21.510509144176183, + 29.477428089488626 + ], + [ + -23.103915127840935, + 29.477428089488626 + ], + [ + -26.29067160866481, + 28.680752840909122 + ], + [ + -28.680697354403435, + 27.88404984907669 + ], + [ + -31.070778586647748, + 27.087374600497185 + ], + [ + -33.46085981889206, + 26.290671608664752 + ], + [ + -36.64756081321025, + 26.290671608664752 + ], + [ + -39.83437278053981, + 26.290671608664752 + ], + [ + -41.427723277698874, + 25.493996360085248 + ], + [ + -43.021073774857996, + 25.493996360085248 + ], + [ + -43.81780450994319, + 24.697293368252872 + ], + [ + -44.61442427201706, + 24.697293368252872 + ], + [ + -43.81780450994319, + 24.697293368252872 + ], + [ + -41.427723277698874, + 24.697293368252872 + ], + [ + -39.83437278053981, + 24.697293368252872 + ], + [ + -39.83437278053981, + 24.697293368252872 + ] + ], + "pressures": [ + 0.0029296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6220703125, + 0.2001953125, + 0.1416015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -39.83437278053981, + 24.697293368252872 + ] + }, + { + "id": "8dsfA_a52oAy4McX8k_Jp", + "type": "freedraw", + "x": -200.45335487266618, + "y": -61.07952385444031, + "width": 46.2078857421875, + "height": 27.88404984907669, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 759491949, + "version": 198, + "versionNonce": 372763139, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + 0, + 0 + ], + [ + 1.593405983664809, + 0 + ], + [ + 3.983431729403435, + 0 + ], + [ + 6.373512961647748, + 0 + ], + [ + 10.356944691051183, + 0.7967029918324329 + ], + [ + 12.747081409801183, + 1.593378240411937 + ], + [ + 16.73051313920456, + 1.593378240411937 + ], + [ + 18.323808149857996, + 1.593378240411937 + ], + [ + 19.917214133522748, + 1.593378240411937 + ], + [ + 21.510564630681813, + 1.593378240411937 + ], + [ + 24.697376598011374, + 1.593378240411937 + ], + [ + 26.29067160866481, + 0.7967029918324329 + ], + [ + 27.88407759232956, + 0.7967029918324329 + ], + [ + 29.477428089488683, + 0 + ], + [ + 31.070834073153435, + 0 + ], + [ + 32.66424005681819, + -1.593378240411937 + ], + [ + 33.46085981889206, + -2.390053488991441 + ], + [ + 34.25759055397731, + -3.983431729403378 + ], + [ + 35.05426580255681, + -4.780134721235754 + ], + [ + 35.850941051136374, + -5.576809969815315 + ], + [ + 38.24102228338069, + -7.966863458806813 + ], + [ + 39.83437278053981, + -9.56024169921875 + ], + [ + 40.631103515625, + -9.56024169921875 + ], + [ + 41.427723277698874, + -10.356944691051126 + ], + [ + 42.22445401278412, + -13.543673428622128 + ], + [ + 43.02112926136368, + -15.933754660866441 + ], + [ + 43.81780450994319, + -19.1204833984375 + ], + [ + 44.614535245028435, + -21.510564630681813 + ], + [ + 44.614535245028435, + -22.307239879261317 + ], + [ + 45.411210493607996, + -24.697321111505687 + ], + [ + 45.411210493607996, + -25.49399636008519 + ], + [ + 45.411210493607996, + -26.290671608664752 + ], + [ + 45.411210493607996, + -26.290671608664752 + ] + ], + "pressures": [ + 0.0400390625, + 0.15625, + 0.5322265625, + 0.9130859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 45.411210493607996, + -26.290671608664752 + ] + }, + { + "id": "97NuWHlUjqQR7ZiUOlILU", + "type": "freedraw", + "x": -154.24546913047868, + "y": -121.6277582738295, + "width": 60.54815118963063, + "height": 103.56936368075282, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 4169133, + "version": 184, + "versionNonce": 2031479725, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.983431729403435, + -0.796702991832376 + ], + [ + 11.950295188210248, + -0.796702991832376 + ], + [ + 16.730402166193187, + -0.796702991832376 + ], + [ + 21.510564630681813, + 1.593405983664752 + ], + [ + 24.697321111505687, + 3.186756480823874 + ], + [ + 26.290727095170496, + 3.983431729403435 + ], + [ + 27.087346857244313, + 4.780106977982939 + ], + [ + 23.900590376420496, + 7.966863458806813 + ], + [ + 16.730402166193187, + 15.137051669034122 + ], + [ + 0, + 35.8509133078835 + ], + [ + -13.543645685369313, + 54.1747214577415 + ], + [ + -24.697321111505687, + 72.49852960759944 + ], + [ + -31.86750932173294, + 86.04223077947444 + ], + [ + -33.46080433238632, + 97.99252596768468 + ], + [ + -33.46080433238632, + 101.1792824485085 + ], + [ + -31.070834073153378, + 102.77266068892044 + ], + [ + -29.47737260298294, + 102.77266068892044 + ], + [ + -27.884077592329504, + 102.77266068892044 + ], + [ + -26.290671608664752, + 101.97598544034093 + ], + [ + -26.290671608664752, + 101.97598544034093 + ] + ], + "pressures": [ + 0.1279296875, + 0.802734375, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.986328125, + 0.541015625, + 0.22265625, + 0.07421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -26.290671608664752, + 101.97598544034093 + ] + }, + { + "id": "2eRdIY19bE6K6guLfu3zn", + "type": "freedraw", + "x": -159.0256315949673, + "y": -120.83108302524994, + "width": 53.37807395241475, + "height": 102.7726606889205, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1482051811, + "version": 194, + "versionNonce": 1011986851, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.796619762073874, + -0.796675248579561 + ], + [ + -1.593350497159065, + -3.983431729403435 + ], + [ + -1.593350497159065, + -4.780106977982939 + ], + [ + -1.593350497159065, + -5.576809969815372 + ], + [ + 0, + -5.576809969815372 + ], + [ + 3.186811967329561, + -5.576809969815372 + ], + [ + 7.9669189453125, + -5.576809969815372 + ], + [ + 11.950350674715935, + -5.576809969815372 + ], + [ + 15.933782404119313, + -5.576809969815372 + ], + [ + 21.510564630681813, + -4.780106977982939 + ], + [ + 25.493996360085248, + -4.780106977982939 + ], + [ + 27.88407759232956, + -3.983431729403435 + ], + [ + 29.477483575994313, + -3.186728737571059 + ], + [ + 29.477483575994313, + -2.390053488991498 + ], + [ + 27.087457830255687, + 0.7967307350851911 + ], + [ + 21.510564630681813, + 5.576809969815315 + ], + [ + 14.340376420454561, + 12.747025923295439 + ], + [ + 5.576837713068187, + 23.10394287109375 + ], + [ + -8.763483220880687, + 45.411182750355124 + ], + [ + -17.52707741477269, + 61.344937411221565 + ], + [ + -22.307239879261374, + 72.49855735085225 + ], + [ + -23.90059037642044, + 78.87204256924713 + ], + [ + -23.90059037642044, + 85.24555553089488 + ], + [ + -22.307239879261374, + 90.02569025213069 + ], + [ + -21.510509144176126, + 94.00912198153407 + ], + [ + -20.713778409090878, + 95.602500221946 + ], + [ + -19.91715864701706, + 96.39917547052556 + ], + [ + -18.32380814985794, + 97.19585071910512 + ], + [ + -17.52707741477269, + 97.19585071910512 + ], + [ + -17.52707741477269, + 97.19585071910512 + ] + ], + "pressures": [ + 0.046875, + 0.1123046875, + 0.177734375, + 0.208984375, + 0.361328125, + 0.6552734375, + 0.859375, + 0.9794921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.283203125, + 0.10546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -17.52707741477269, + 97.19585071910512 + ] + }, + { + "id": "etfnk1EDU3E3Z1XEWH3wS", + "type": "freedraw", + "x": -160.61898209212637, + "y": -120.83108302524994, + "width": 46.2078857421875, + "height": 102.7726606889205, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1350573421, + "version": 193, + "versionNonce": 806743565, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593378240411937 + ], + [ + 0.7967307350851911, + -2.390053488991498 + ], + [ + 2.390081232244313, + -3.186728737571059 + ], + [ + 4.780162464488626, + -3.186728737571059 + ], + [ + 7.966863458806813, + -3.186728737571059 + ], + [ + 10.356944691051126, + -3.186728737571059 + ], + [ + 14.340376420454504, + -2.390053488991498 + ], + [ + 17.527132901278378, + 0 + ], + [ + 19.917158647017004, + 2.390081232244313 + ], + [ + 21.510564630681813, + 3.983431729403378 + ], + [ + 21.510564630681813, + 4.780162464488626 + ], + [ + 21.510564630681813, + 5.576809969815315 + ], + [ + 21.510564630681813, + 7.966891202059628 + ], + [ + 20.71394486860794, + 9.560269442471565 + ], + [ + 18.32380814985794, + 12.747025923295439 + ], + [ + 11.153619939630687, + 21.510564630681813 + ], + [ + 3.186756480823874, + 31.070806329900563 + ], + [ + -3.983431729403435, + 39.83437278053975 + ], + [ + -9.560269442471622, + 48.59796697443181 + ], + [ + -13.543701171875, + 57.36150568181819 + ], + [ + -16.730457652698874, + 67.71842262961644 + ], + [ + -20.71388938210231, + 83.65217729048294 + ], + [ + -23.103859641335248, + 92.41574374112213 + ], + [ + -23.900590376420496, + 97.9925537109375 + ], + [ + -24.697321111505687, + 99.58593195134944 + ], + [ + -23.900590376420496, + 99.58593195134944 + ], + [ + -22.307239879261374, + 99.58593195134944 + ], + [ + -20.71388938210231, + 98.78922895951706 + ], + [ + -20.71388938210231, + 98.78922895951706 + ] + ], + "pressures": [ + 0.033203125, + 0.47265625, + 0.646484375, + 0.751953125, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6943359375, + 0.24609375, + 0.1142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -20.71388938210231, + 98.78922895951706 + ] + }, + { + "id": "b-B2JX9Sc6nfkoKWD3Xif", + "type": "freedraw", + "x": -208.420218331473, + "y": -127.20456824364481, + "width": 25.493996360085248, + "height": 113.926308371804, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 621581891, + "version": 180, + "versionNonce": 1997636931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558552, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.186700994318187, + -4.780106977982996 + ], + [ + -3.983431729403378, + -5.576809969815372 + ], + [ + -5.576837713068187, + -6.373512961647748 + ], + [ + -6.373512961647691, + -6.373512961647748 + ], + [ + -7.966863458806813, + -5.576809969815372 + ], + [ + -9.560269442471565, + -2.390081232244313 + ], + [ + -10.356944691051126, + 4.780106977982939 + ], + [ + -10.356944691051126, + 17.527105158025563 + ], + [ + -9.560269442471565, + 44.61447975852269 + ], + [ + -6.373512961647691, + 61.34490966796875 + ], + [ + -3.186700994318187, + 74.09190784801132 + ], + [ + 0.7967307350852479, + 84.4488525390625 + ], + [ + 5.5767822265625, + 93.21241898970169 + ], + [ + 11.153619939630687, + 103.5693359375 + ], + [ + 13.543701171875, + 106.75609241832382 + ], + [ + 15.137051669034122, + 107.55279541015625 + ], + [ + 15.137051669034122, + 106.75609241832382 + ], + [ + 14.340376420454561, + 102.77266068892044 + ], + [ + 14.340376420454561, + 102.77266068892044 + ] + ], + "pressures": [ + 0.0283203125, + 0.2021484375, + 0.23828125, + 0.3837890625, + 0.537109375, + 0.90625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.96484375, + 0.4248046875, + 0.203125, + 0.060546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.340376420454561, + 102.77266068892044 + ] + }, + { + "id": "fGpM8h1l8BReAkaLSsPX9", + "type": "freedraw", + "x": -210.01356882863206, + "y": -120.03435229016475, + "width": 31.86750932173294, + "height": 92.41571599786931, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 192269165, + "version": 186, + "versionNonce": 1621533805, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.593350497159122, + -3.98345947265625 + ], + [ + -2.390081232244313, + -6.373540704900563 + ], + [ + -3.983487215909122, + -7.966891202059628 + ], + [ + -5.5767822265625, + -9.56029718572438 + ], + [ + -7.9669189453125, + -10.356972434303941 + ], + [ + -10.356944691051126, + -11.153647682883502 + ], + [ + -11.950350674715935, + -11.153647682883502 + ], + [ + -13.543645685369313, + -9.56029718572438 + ], + [ + -15.137107155539809, + -7.170215953480067 + ], + [ + -16.730457652698874, + -4.780162464488626 + ], + [ + -19.120538884943187, + -0.7967307350851911 + ], + [ + -19.120538884943187, + 0 + ], + [ + -19.917214133522748, + 2.390025745738683 + ], + [ + -19.917214133522748, + 6.373457475142061 + ], + [ + -17.527077414772748, + 14.340348677201746 + ], + [ + -14.340376420454561, + 22.30721213600856 + ], + [ + -9.560213955965935, + 34.25750732421875 + ], + [ + -3.186756480823874, + 50.19126198508525 + ], + [ + 3.186700994318187, + 64.53163840553981 + ], + [ + 8.763538707386374, + 76.48196133700287 + ], + [ + 10.356944691051126, + 79.66869007457387 + ], + [ + 11.153619939630687, + 80.46539306640625 + ], + [ + 11.153619939630687, + 81.26206831498581 + ], + [ + 11.950295188210191, + 81.26206831498581 + ], + [ + 11.950295188210191, + 81.26206831498581 + ] + ], + "pressures": [ + 0.1005859375, + 0.2470703125, + 0.3544921875, + 0.453125, + 0.7724609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6015625, + 0.3583984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 11.950295188210191, + 81.26206831498581 + ] + }, + { + "id": "J0d9Y7JIpNxGnc1r18WRg", + "type": "freedraw", + "x": -210.01356882863206, + "y": -122.42446126566188, + "width": 0.0001, + "height": 0.0001, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 219909315, + "version": 162, + "versionNonce": 1574298851, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.0001, + 0.0001 + ] + ], + "pressures": [ + 0.0869140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.0001, + 0.0001 + ] + }, + { + "id": "InLW4hToSeePkWd9ksfYB", + "type": "freedraw", + "x": -210.01356882863206, + "y": -122.42446126566188, + "width": 10.356944691051126, + "height": 90.02569025213069, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 164867917, + "version": 162, + "versionNonce": 2123468493, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 10.356944691051126, + 90.02569025213069 + ], + [ + 10.356944691051126, + 90.02569025213069 + ] + ], + "pressures": [ + 0.5537109375, + 0.0068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.356944691051126, + 90.02569025213069 + ] + }, + { + "id": "ZrQzUupA7x2-Q7UAzK00w", + "type": "freedraw", + "x": -196.46992314326275, + "y": -246.70767271363772, + "width": 19.91715864701706, + "height": 123.4865223277699, + "angle": 0, + "strokeColor": "#55d8f6", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 956630147, + "version": 183, + "versionNonce": 405622915, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.593378240411937 + ], + [ + 0, + -3.9834317294034065 + ], + [ + 0, + -4.780120849609375 + ], + [ + 0, + -5.5768099698153435 + ], + [ + -0.796675248579561, + -6.373499090021312 + ], + [ + -1.593350497159122, + -6.373499090021312 + ], + [ + -3.186700994318187, + -3.186756480823874 + ], + [ + -4.780106977982939, + 2.390067360617877 + ], + [ + -7.170132723721622, + 10.356930819424718 + ], + [ + -11.153564453125, + 26.290685480291188 + ], + [ + -13.543645685369313, + 40.63106190074572 + ], + [ + -16.730402166193187, + 55.768113569779814 + ], + [ + -19.120427911931813, + 68.51511174982244 + ], + [ + -19.91715864701706, + 80.46540693803266 + ], + [ + -19.120427911931813, + 95.6024863503196 + ], + [ + -17.527132901278435, + 104.36605280095878 + ], + [ + -15.933726917613626, + 110.73956576260653 + ], + [ + -15.933726917613626, + 114.72299749200991 + ], + [ + -15.933726917613626, + 117.11302323774859 + ], + [ + -15.933726917613626, + 116.31634798916903 + ], + [ + -15.933726917613626, + 113.92629450017753 + ], + [ + -15.933726917613626, + 113.12959150834516 + ], + [ + -15.933726917613626, + 113.12959150834516 + ] + ], + "pressures": [ + 0, + 0.056640625, + 0.1025390625, + 0.1123046875, + 0.20703125, + 0.3701171875, + 0.630859375, + 0.6904296875, + 0.7109375, + 0.8876953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.857421875, + 0.1953125, + 0.1220703125, + 0.0693359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -15.933726917613626, + 113.12959150834516 + ] + }, + { + "id": "HXS6r1AnX8qDQuEfDaSUR", + "type": "freedraw", + "x": -186.90965370079124, + "y": 89.49437307382664, + "width": 27.88407759232956, + "height": 67.71842262961644, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2010443437, + "version": 188, + "versionNonce": 1473660963, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -3.983431729403435 + ], + [ + 0.796675248579561, + -11.950295188210248 + ], + [ + 1.593350497159122, + -19.91715864701706 + ], + [ + 3.983487215909122, + -31.86750932173294 + ], + [ + 5.5767822265625, + -39.83437278053975 + ], + [ + 7.170188210227252, + -47.00456099076706 + ], + [ + 7.9669189453125, + -51.78466796875 + ], + [ + 7.9669189453125, + -52.581370960582376 + ], + [ + 8.763538707386374, + -50.19128972833806 + ], + [ + 9.560213955965935, + -41.42775102095169 + ], + [ + 12.746970436789752, + -17.527132901278435 + ], + [ + 15.933782404119313, + -3.186756480823874 + ], + [ + 18.32380814985794, + 5.576837713068187 + ], + [ + 19.1204833984375, + 7.966863458806813 + ], + [ + 19.917214133522748, + 7.966863458806813 + ], + [ + 20.713833895596622, + 3.186756480823874 + ], + [ + 22.307239879261374, + -6.373512961647748 + ], + [ + 23.900645862926126, + -19.91715864701706 + ], + [ + 24.697265625, + -33.46085981889206 + ], + [ + 26.290671608664752, + -46.207857998934685 + ], + [ + 26.290671608664752, + -49.3946144797585 + ], + [ + 27.087346857244313, + -52.581370960582376 + ], + [ + 27.087346857244313, + -55.76812744140625 + ], + [ + 27.087346857244313, + -59.75155917080963 + ], + [ + 27.88407759232956, + -59.75155917080963 + ], + [ + 27.88407759232956, + -58.95485617897725 + ], + [ + 27.88407759232956, + -55.76812744140625 + ], + [ + 27.88407759232956, + -54.971424449573874 + ], + [ + 27.88407759232956, + -54.971424449573874 + ] + ], + "pressures": [ + 0.0546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.279296875, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.88407759232956, + -54.971424449573874 + ] + }, + { + "id": "W7ybBA99idvoaJ9d7wKaV", + "type": "freedraw", + "x": -153.44879388189918, + "y": 17.79251871480676, + "width": 19.120427911931813, + "height": 59.75155917080963, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2079392461, + "version": 175, + "versionNonce": 314526659, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7967307350852479, + -3.186756480823874 + ], + [ + -0.7967307350852479, + -6.373512961647748 + ], + [ + -0.7967307350852479, + -7.170188210227252 + ], + [ + -1.593350497159122, + -7.170188210227252 + ], + [ + -1.593350497159122, + -4.780134721235811 + ], + [ + 1.593350497159065, + 7.170188210227252 + ], + [ + 4.780106977982939, + 18.32380814985794 + ], + [ + 8.763538707386374, + 28.68072509765625 + ], + [ + 11.950295188210191, + 37.44431929154831 + ], + [ + 15.137051669034065, + 46.20785799893463 + ], + [ + 16.730402166193187, + 49.3946144797585 + ], + [ + 17.52707741477269, + 50.987964976917624 + ], + [ + 17.52707741477269, + 52.581370960582376 + ], + [ + 16.730402166193187, + 50.19128972833806 + ], + [ + 15.933726917613626, + 47.00453324751419 + ], + [ + 15.137051669034065, + 45.411182750355124 + ], + [ + 15.137051669034065, + 45.411182750355124 + ] + ], + "pressures": [ + 0.029296875, + 0.20703125, + 0.46875, + 0.783203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.591796875, + 0.130859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 15.137051669034065, + 45.411182750355124 + ] + }, + { + "id": "IzsnH_hqFyddMb_Te-JZ0", + "type": "freedraw", + "x": -126.36144702465486, + "y": 17.79251871480676, + "width": 18.32380814985794, + "height": 63.73499090021306, + "angle": 0, + "strokeColor": "#ff0000", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 958267683, + "version": 173, + "versionNonce": 1954448877, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.186811967329561, + -5.576809969815372 + ], + [ + 3.983431729403378, + -5.576809969815372 + ], + [ + 3.983431729403378, + -6.373512961647748 + ], + [ + 2.390081232244313, + -2.390081232244313 + ], + [ + 0, + 3.983431729403378 + ], + [ + -3.983431729403435, + 11.950295188210248 + ], + [ + -10.356944691051126, + 26.290671608664752 + ], + [ + -12.746970436789809, + 41.42775102095169 + ], + [ + -12.746970436789809, + 45.411182750355124 + ], + [ + -12.746970436789809, + 52.581370960582376 + ], + [ + -12.746970436789809, + 56.56480268998581 + ], + [ + -12.746970436789809, + 57.361477938565315 + ], + [ + -12.746970436789809, + 55.76812744140625 + ], + [ + -14.340376420454561, + 53.37804620916194 + ], + [ + -14.340376420454561, + 52.581370960582376 + ], + [ + -14.340376420454561, + 52.581370960582376 + ] + ], + "pressures": [ + 0.18359375, + 0.384765625, + 0.4619140625, + 0.5341796875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.853515625, + 0.265625, + 0.1708984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -14.340376420454561, + 52.581370960582376 + ] + }, + { + "id": "ljtE2gYpS-eCb9jce1_LP", + "type": "freedraw", + "x": 230.55450201653832, + "y": 189.87695253050282, + "width": 19.12053888494313, + "height": 19.1204833984375, + "angle": 0, + "strokeColor": "#364fc7", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 660499597, + "version": 189, + "versionNonce": 1609646157, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7966752485795041, + 0 + ], + [ + 0.7966752485795041, + 0.7967307350851343 + ], + [ + 0, + 3.1867564808237603 + ], + [ + -0.7966752485796178, + 3.1867564808237603 + ], + [ + -1.593350497159122, + 3.1867564808237603 + ], + [ + -2.390025745738626, + 3.1867564808237603 + ], + [ + -4.780162464488626, + 3.1867564808237603 + ], + [ + -5.57672674005687, + 2.390081232244256 + ], + [ + -7.170188210227252, + 0.7967307350851343 + ], + [ + -7.96686345880687, + 0 + ], + [ + -8.763538707386374, + -0.7966752485796178 + ], + [ + -9.560213955965878, + -1.593350497159122 + ], + [ + -10.35700017755687, + -3.186700994318244 + ], + [ + -11.950350674715878, + -3.9834317294034918 + ], + [ + -12.747025923295496, + -3.9834317294034918 + ], + [ + -13.543590198863626, + -4.780106977982996 + ], + [ + -14.340376420454618, + -4.780106977982996 + ], + [ + -15.137051669034122, + -4.780106977982996 + ], + [ + -15.933726917613626, + -3.9834317294034918 + ], + [ + -16.730402166193244, + -1.593350497159122 + ], + [ + -17.527077414772748, + 0.7967307350851343 + ], + [ + -17.527077414772748, + 2.390081232244256 + ], + [ + -18.323863636363626, + 3.1867564808237603 + ], + [ + -18.323863636363626, + 5.57689319957376 + ], + [ + -17.527077414772748, + 8.763594193892004 + ], + [ + -16.730402166193244, + 11.15361993963063 + ], + [ + -15.137051669034122, + 12.747025923295382 + ], + [ + -13.543590198863626, + 12.747025923295382 + ], + [ + -11.950350674715878, + 13.54375665838063 + ], + [ + -9.560213955965878, + 13.54375665838063 + ], + [ + -8.763538707386374, + 14.340376420454504 + ], + [ + -7.170188210227252, + 14.340376420454504 + ], + [ + -6.373512961647748, + 13.54375665838063 + ], + [ + -5.57672674005687, + 11.950350674715878 + ], + [ + -5.57672674005687, + 11.15361993963063 + ], + [ + -5.57672674005687, + 11.15361993963063 + ] + ], + "pressures": [ + 0.044921875, + 0.185546875, + 0.373046875, + 0.666015625, + 0.7265625, + 0.796875, + 0.8388671875, + 0.8681640625, + 0.8642578125, + 0.857421875, + 0.857421875, + 0.8662109375, + 0.8720703125, + 0.8740234375, + 0.8701171875, + 0.8701171875, + 0.880859375, + 0.880859375, + 0.8720703125, + 0.876953125, + 0.87890625, + 0.87890625, + 0.8720703125, + 0.87890625, + 0.880859375, + 0.876953125, + 0.876953125, + 0.8720703125, + 0.880859375, + 0.880859375, + 0.8828125, + 0.8720703125, + 0.708984375, + 0.455078125, + 0.2177734375, + 0.1396484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.57672674005687, + 11.15361993963063 + ] + }, + { + "id": "MjhPe1G12a7X3bADP_G08", + "type": "freedraw", + "x": 232.14785251369744, + "y": 186.69025153618458, + "width": 19.120538884943244, + "height": 11.950350674715992, + "angle": 0, + "strokeColor": "#364fc7", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 837215619, + "version": 177, + "versionNonce": 1123776259, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.7967862215908781, + -0.7967307350852479 + ], + [ + 0.7967862215908781, + 0 + ], + [ + 0, + 0 + ], + [ + -1.593350497159122, + 0 + ], + [ + -18.323752663352366, + 0 + ], + [ + -18.323752663352366, + 1.593350497159122 + ], + [ + -18.323752663352366, + 2.390025745738626 + ], + [ + -18.323752663352366, + 4.780162464488626 + ], + [ + -18.323752663352366, + 6.373457475142004 + ], + [ + -18.323752663352366, + 7.170188210227252 + ], + [ + -17.527077414772748, + 7.96686345880687 + ], + [ + -15.93372691761374, + 8.763594193892004 + ], + [ + -14.340376420454618, + 10.356889204545496 + ], + [ + -13.543701171875, + 11.153619939630744 + ], + [ + -11.950350674715992, + 11.153619939630744 + ], + [ + -11.153564453125, + 11.153619939630744 + ], + [ + -10.356889204545496, + 11.153619939630744 + ], + [ + -9.560213955965992, + 11.153619939630744 + ], + [ + -8.763538707386374, + 11.153619939630744 + ], + [ + -7.170077237215992, + 11.153619939630744 + ], + [ + -6.373512961647748, + 11.153619939630744 + ], + [ + -6.373512961647748, + 10.356889204545496 + ], + [ + -6.373512961647748, + 9.560213955965878 + ], + [ + -6.373512961647748, + 9.560213955965878 + ] + ], + "pressures": [ + 0.0302734375, + 0.177734375, + 0.365234375, + 0.37109375, + 0.4091796875, + 0.8203125, + 0.8115234375, + 0.82421875, + 0.822265625, + 0.8154296875, + 0.8095703125, + 0.7890625, + 0.794921875, + 0.80078125, + 0.80078125, + 0.794921875, + 0.791015625, + 0.791015625, + 0.791015625, + 0.7763671875, + 0.75390625, + 0.6357421875, + 0.466796875, + 0.2333984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.373512961647748, + 9.560213955965878 + ] + }, + { + "id": "eewIWBnE4zzezot0xxFIA", + "type": "freedraw", + "x": 232.94463873528832, + "y": 187.48698227126982, + "width": 27.087513316761374, + "height": 48.597966974431756, + "angle": 0, + "strokeColor": "#364fc7", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1802261293, + "version": 240, + "versionNonce": 366849709, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5934614701704959, + 0 + ], + [ + -2.39013671875, + -0.7967307350852479 + ], + [ + -3.186811967329618, + -0.7967307350852479 + ], + [ + -4.780162464488626, + -0.7967307350852479 + ], + [ + -5.576948686079618, + -1.5934614701704959 + ], + [ + -6.373623934659122, + -1.5934614701704959 + ], + [ + -7.170299183238626, + -2.39013671875 + ], + [ + -8.763649680397748, + -3.983431729403378 + ], + [ + -9.560324928977252, + -4.78021795099437 + ], + [ + -10.35700017755687, + -5.576893199573874 + ], + [ + -11.153675426136374, + -6.373568448153378 + ], + [ + -11.950350674715878, + -7.170243696732996 + ], + [ + -12.74713689630687, + -7.9669189453125 + ], + [ + -13.543812144886374, + -9.560324928977252 + ], + [ + -14.340487393465878, + -11.153675426136374 + ], + [ + -15.137162642045496, + -11.950350674715878 + ], + [ + -15.137162642045496, + -12.747081409801126 + ], + [ + -15.933726917613626, + -12.747081409801126 + ], + [ + -17.527188387784122, + -12.747081409801126 + ], + [ + -18.323863636363626, + -11.950350674715878 + ], + [ + -19.917214133522748, + -11.950350674715878 + ], + [ + -20.714000355113626, + -11.153675426136374 + ], + [ + -20.714000355113626, + -10.35700017755687 + ], + [ + -21.510675603693244, + -7.9669189453125 + ], + [ + -21.510675603693244, + -7.170243696732996 + ], + [ + -21.510675603693244, + -5.576893199573874 + ], + [ + -21.510675603693244, + -3.983431729403378 + ], + [ + -21.510675603693244, + -2.39013671875 + ], + [ + -20.714000355113626, + -1.5934614701704959 + ], + [ + -20.714000355113626, + -0.7967307350852479 + ], + [ + -20.714000355113626, + 0 + ], + [ + -19.120538884943244, + 0.796619762073874 + ], + [ + -18.323863636363626, + 0.796619762073874 + ], + [ + -16.730513139204618, + 1.593295010653378 + ], + [ + -15.933726917613626, + 2.389970259232996 + ], + [ + -15.933726917613626, + 3.18670099431813 + ], + [ + -15.137162642045496, + 3.983431729403378 + ], + [ + -14.340487393465878, + 3.983431729403378 + ], + [ + -14.340487393465878, + 4.780051491477252 + ], + [ + -13.543812144886374, + 4.780051491477252 + ], + [ + -13.543812144886374, + 5.576726740056756 + ], + [ + -13.543812144886374, + 7.170132723721622 + ], + [ + -13.543812144886374, + 8.76348322088063 + ], + [ + -13.543812144886374, + 9.560158469460248 + ], + [ + -13.543812144886374, + 11.153564453125 + ], + [ + -14.340487393465878, + 11.950295188210248 + ], + [ + -15.137162642045496, + 14.340320933948874 + ], + [ + -16.730513139204618, + 16.7303466796875 + ], + [ + -18.323863636363626, + 19.917158647017004 + ], + [ + -19.120538884943244, + 20.713778409090878 + ], + [ + -19.120538884943244, + 21.510509144176126 + ], + [ + -20.714000355113626, + 23.103859641335248 + ], + [ + -21.510675603693244, + 24.697265625 + ], + [ + -22.307350852272748, + 26.290616122159122 + ], + [ + -23.104026100852252, + 27.087291370738626 + ], + [ + -23.900590376420496, + 27.884022105823874 + ], + [ + -25.494051846590878, + 29.477372602982996 + ], + [ + -27.087513316761374, + 30.2740478515625 + ], + [ + -27.087513316761374, + 31.070723100142004 + ], + [ + -27.087513316761374, + 31.867453835227252 + ], + [ + -27.087513316761374, + 32.664129083806756 + ], + [ + -27.087513316761374, + 33.460804332386374 + ], + [ + -26.290727095170496, + 35.054154829545496 + ], + [ + -23.900590376420496, + 35.85088556463063 + ], + [ + -22.307350852272748, + 35.85088556463063 + ], + [ + -21.510675603693244, + 35.85088556463063 + ], + [ + -19.917214133522748, + 35.85088556463063 + ], + [ + -19.120538884943244, + 35.85088556463063 + ], + [ + -18.323863636363626, + 35.85088556463063 + ], + [ + -17.527188387784122, + 35.054154829545496 + ], + [ + -15.933726917613626, + 33.460804332386374 + ], + [ + -15.137162642045496, + 31.867453835227252 + ], + [ + -13.543812144886374, + 30.2740478515625 + ], + [ + -13.543812144886374, + 28.680697354403378 + ], + [ + -12.74713689630687, + 27.087291370738626 + ], + [ + -12.74713689630687, + 25.493940873579504 + ], + [ + -12.74713689630687, + 23.103859641335248 + ], + [ + -12.74713689630687, + 21.510509144176126 + ], + [ + -12.74713689630687, + 19.917158647017004 + ], + [ + -12.74713689630687, + 18.323752663352252 + ], + [ + -12.74713689630687, + 17.527077414772748 + ], + [ + -12.74713689630687, + 16.7303466796875 + ], + [ + -12.74713689630687, + 15.933726917613626 + ], + [ + -11.950350674715878, + 15.136996182528378 + ], + [ + -11.950350674715878, + 14.340320933948874 + ], + [ + -11.153675426136374, + 13.543590198863626 + ], + [ + -11.153675426136374, + 13.543590198863626 + ] + ], + "pressures": [ + 0.060546875, + 0.3583984375, + 0.376953125, + 0.4541015625, + 0.5439453125, + 0.5615234375, + 0.5771484375, + 0.580078125, + 0.5849609375, + 0.5869140625, + 0.5966796875, + 0.609375, + 0.6201171875, + 0.625, + 0.62890625, + 0.6494140625, + 0.6806640625, + 0.701171875, + 0.71484375, + 0.734375, + 0.736328125, + 0.734375, + 0.73046875, + 0.748046875, + 0.744140625, + 0.740234375, + 0.734375, + 0.736328125, + 0.740234375, + 0.73828125, + 0.73828125, + 0.736328125, + 0.732421875, + 0.732421875, + 0.728515625, + 0.740234375, + 0.734375, + 0.736328125, + 0.736328125, + 0.7421875, + 0.744140625, + 0.736328125, + 0.73046875, + 0.736328125, + 0.740234375, + 0.740234375, + 0.734375, + 0.744140625, + 0.7568359375, + 0.7705078125, + 0.7685546875, + 0.78125, + 0.787109375, + 0.783203125, + 0.783203125, + 0.783203125, + 0.798828125, + 0.8115234375, + 0.8203125, + 0.8203125, + 0.828125, + 0.8203125, + 0.8173828125, + 0.8056640625, + 0.8056640625, + 0.802734375, + 0.80078125, + 0.8173828125, + 0.8095703125, + 0.8115234375, + 0.802734375, + 0.802734375, + 0.8056640625, + 0.8115234375, + 0.8076171875, + 0.8134765625, + 0.82421875, + 0.8408203125, + 0.8447265625, + 0.8447265625, + 0.849609375, + 0.857421875, + 0.83203125, + 0.7626953125, + 0.73828125, + 0.701171875, + 0.62890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -11.153675426136374, + 13.543590198863626 + ] + }, + { + "id": "Vp6DUdJ883Pdct9VYVQGq", + "type": "freedraw", + "x": 228.9611515193792, + "y": 181.11341382311645, + "width": 21.510564630681756, + "height": 35.850941051136374, + "angle": 0, + "strokeColor": "#364fc7", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1561479725, + "version": 200, + "versionNonce": 52141731, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.7966752485795041 + ], + [ + 0, + 1.5933504971590082 + ], + [ + -1.5934614701704959, + 3.983431729403378 + ], + [ + -3.186811967329504, + 5.57683771306813 + ], + [ + -3.983376242897748, + 6.373568448153378 + ], + [ + -5.57683771306813, + 7.170188210227252 + ], + [ + -6.373512961647748, + 7.170188210227252 + ], + [ + -7.966863458806756, + 7.170188210227252 + ], + [ + -8.763649680397748, + 6.373568448153378 + ], + [ + -9.560324928977252, + 5.57683771306813 + ], + [ + -10.357000177556756, + 4.780106977982882 + ], + [ + -11.153675426136374, + 3.186756480823874 + ], + [ + -12.747025923295496, + 2.39013671875 + ], + [ + -14.340376420454504, + 2.39013671875 + ], + [ + -15.137051669034122, + 2.39013671875 + ], + [ + -16.730513139204504, + 2.39013671875 + ], + [ + -17.527188387784122, + 2.39013671875 + ], + [ + -18.323863636363626, + 3.186756480823874 + ], + [ + -19.12053888494313, + 3.983431729403378 + ], + [ + -19.12053888494313, + 4.780106977982882 + ], + [ + -19.12053888494313, + 7.170188210227252 + ], + [ + -19.12053888494313, + 8.763538707386374 + ], + [ + -19.12053888494313, + 10.357000177556756 + ], + [ + -19.12053888494313, + 11.950295188210134 + ], + [ + -19.12053888494313, + 12.747025923295382 + ], + [ + -19.12053888494313, + 13.543701171875 + ], + [ + -19.12053888494313, + 14.340431906960134 + ], + [ + -19.12053888494313, + 15.933726917613626 + ], + [ + -18.323863636363626, + 16.730457652698874 + ], + [ + -18.323863636363626, + 17.527132901278378 + ], + [ + -17.527188387784122, + 19.1204833984375 + ], + [ + -16.730513139204504, + 21.510564630681756 + ], + [ + -15.137051669034122, + 23.900645862926126 + ], + [ + -15.137051669034122, + 24.69732111150563 + ], + [ + -15.137051669034122, + 26.290727095170382 + ], + [ + -15.137051669034122, + 27.884077592329504 + ], + [ + -15.933726917613626, + 31.070834073153378 + ], + [ + -16.730513139204504, + 31.867509321732882 + ], + [ + -16.730513139204504, + 32.6641845703125 + ], + [ + -17.527188387784122, + 32.6641845703125 + ], + [ + -19.12053888494313, + 32.6641845703125 + ], + [ + -19.917103160511374, + 34.25759055397725 + ], + [ + -20.713889382102252, + 35.054265802556756 + ], + [ + -20.713889382102252, + 35.850941051136374 + ], + [ + -21.510564630681756, + 35.850941051136374 + ], + [ + -20.713889382102252, + 35.850941051136374 + ], + [ + -20.713889382102252, + 35.850941051136374 + ] + ], + "pressures": [ + 0.001953125, + 0.37109375, + 0.400390625, + 0.5693359375, + 0.66796875, + 0.712890625, + 0.822265625, + 0.85546875, + 0.8662109375, + 0.8662109375, + 0.8642578125, + 0.8662109375, + 0.8681640625, + 0.8740234375, + 0.8701171875, + 0.876953125, + 0.8828125, + 0.8828125, + 0.87890625, + 0.8916015625, + 0.8916015625, + 0.876953125, + 0.8701171875, + 0.876953125, + 0.87890625, + 0.880859375, + 0.8740234375, + 0.8740234375, + 0.8828125, + 0.8876953125, + 0.884765625, + 0.876953125, + 0.8876953125, + 0.8896484375, + 0.8876953125, + 0.876953125, + 0.880859375, + 0.884765625, + 0.884765625, + 0.8896484375, + 0.90234375, + 0.904296875, + 0.90234375, + 0.8984375, + 0.908203125, + 0.8154296875, + 0.15234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -20.713889382102252, + 35.850941051136374 + ] + }, + { + "id": "xP99dJe9MJkp3642YzG_z", + "type": "freedraw", + "x": 226.5710148006292, + "y": 183.50355054186645, + "width": 11.950239701704504, + "height": 41.42766779119313, + "angle": 0, + "strokeColor": "#364fc7", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 648542147, + "version": 194, + "versionNonce": 82661645, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + 0, + 0 + ], + [ + 0.7966752485795041, + 0.796619762073874 + ], + [ + 1.5934614701704959, + 2.389970259232882 + ], + [ + 3.983487215909122, + 4.780051491477252 + ], + [ + 4.780162464488626, + 6.373401988636374 + ], + [ + 4.780162464488626, + 7.170132723721508 + ], + [ + 5.576837713068244, + 7.966863458806756 + ], + [ + 6.373623934659122, + 9.560158469460134 + ], + [ + 6.373623934659122, + 11.153564453125 + ], + [ + 7.170188210227252, + 11.153564453125 + ], + [ + 7.170188210227252, + 11.950295188210134 + ], + [ + 7.170188210227252, + 12.746914950284008 + ], + [ + 7.170188210227252, + 13.543590198863626 + ], + [ + 5.576837713068244, + 14.340320933948874 + ], + [ + 4.780162464488626, + 14.340320933948874 + ], + [ + 1.5934614701704959, + 14.340320933948874 + ], + [ + 0, + 14.340320933948874 + ], + [ + -1.593239524147748, + 13.543590198863626 + ], + [ + -2.390025745738626, + 12.746914950284008 + ], + [ + -3.18670099431813, + 12.746914950284008 + ], + [ + -3.18670099431813, + 11.950295188210134 + ], + [ + -3.983376242897748, + 11.153564453125 + ], + [ + -3.983376242897748, + 10.356889204545382 + ], + [ + -3.983376242897748, + 9.560158469460134 + ], + [ + -4.780051491477252, + 9.560158469460134 + ], + [ + -4.780051491477252, + 11.153564453125 + ], + [ + -4.780051491477252, + 12.746914950284008 + ], + [ + -4.780051491477252, + 14.340320933948874 + ], + [ + -4.780051491477252, + 16.7303466796875 + ], + [ + -4.780051491477252, + 17.527021928267004 + ], + [ + -4.780051491477252, + 19.917158647017004 + ], + [ + -3.983376242897748, + 21.510509144176126 + ], + [ + -3.983376242897748, + 23.103859641335134 + ], + [ + -3.983376242897748, + 24.697210138494256 + ], + [ + -3.983376242897748, + 27.087291370738626 + ], + [ + -3.983376242897748, + 28.680697354403378 + ], + [ + -3.18670099431813, + 30.2740478515625 + ], + [ + -3.18670099431813, + 31.867453835227252 + ], + [ + -2.390025745738626, + 32.664129083806756 + ], + [ + -2.390025745738626, + 34.25747958096588 + ], + [ + -1.593239524147748, + 37.44423606178975 + ], + [ + -0.7966752485795041, + 39.037586558948874 + ], + [ + -0.7966752485795041, + 39.83431729403401 + ], + [ + -0.7966752485795041, + 40.630992542613626 + ], + [ + -1.593239524147748, + 41.42766779119313 + ], + [ + -1.593239524147748, + 39.83431729403401 + ], + [ + -1.593239524147748, + 39.83431729403401 + ] + ], + "pressures": [ + 0.0302734375, + 0.2470703125, + 0.5888671875, + 0.6044921875, + 0.625, + 0.638671875, + 0.638671875, + 0.6376953125, + 0.6474609375, + 0.646484375, + 0.6474609375, + 0.6474609375, + 0.6533203125, + 0.646484375, + 0.6552734375, + 0.6640625, + 0.6806640625, + 0.6943359375, + 0.6943359375, + 0.697265625, + 0.705078125, + 0.712890625, + 0.712890625, + 0.716796875, + 0.716796875, + 0.708984375, + 0.7109375, + 0.712890625, + 0.708984375, + 0.7109375, + 0.712890625, + 0.712890625, + 0.703125, + 0.70703125, + 0.70703125, + 0.701171875, + 0.6923828125, + 0.6953125, + 0.6953125, + 0.6884765625, + 0.6826171875, + 0.6806640625, + 0.66796875, + 0.6591796875, + 0.6591796875, + 0.6591796875, + 0.6162109375, + 0.0947265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593239524147748, + 39.83431729403401 + ] + }, + { + "id": "u64DQ93tVFwQ8pYnkEGy8", + "type": "freedraw", + "x": 228.1644762707997, + "y": 184.30017030394032, + "width": 10.356889204545496, + "height": 34.25747958096588, + "angle": 0, + "strokeColor": "#364fc7", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1162842915, + "version": 176, + "versionNonce": 135647811, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.796619762073874 + ], + [ + 0, + 0.7966752485795041 + ], + [ + 1.5933504971590082, + 3.186811967329504 + ], + [ + 2.390025745738626, + 5.5767822265625 + ], + [ + 3.18670099431813, + 7.170243696732882 + ], + [ + 4.780162464488626, + 8.76353870738626 + ], + [ + 5.576726740056756, + 10.356944691051126 + ], + [ + 6.373401988636374, + 12.746970436789752 + ], + [ + 6.373401988636374, + 14.340376420454504 + ], + [ + 6.373401988636374, + 15.137107155539752 + ], + [ + 6.373401988636374, + 15.933726917613626 + ], + [ + 5.576726740056756, + 16.73040216619313 + ], + [ + 4.780162464488626, + 16.73040216619313 + ], + [ + 2.390025745738626, + 17.527132901278378 + ], + [ + 0.7966752485795041, + 17.527132901278378 + ], + [ + 0, + 17.527132901278378 + ], + [ + -0.7967862215909918, + 17.527132901278378 + ], + [ + -2.39013671875, + 16.73040216619313 + ], + [ + -3.186700994318244, + 16.73040216619313 + ], + [ + -3.983487215909122, + 15.933726917613626 + ], + [ + -3.983487215909122, + 16.73040216619313 + ], + [ + -3.983487215909122, + 19.917158647017004 + ], + [ + -3.983487215909122, + 24.69732111150563 + ], + [ + -3.983487215909122, + 30.27410333806813 + ], + [ + -3.983487215909122, + 31.867509321732882 + ], + [ + -3.983487215909122, + 32.6641845703125 + ], + [ + -3.186700994318244, + 32.6641845703125 + ], + [ + -3.186700994318244, + 33.460859818892004 + ], + [ + -3.186700994318244, + 32.6641845703125 + ], + [ + -3.186700994318244, + 32.6641845703125 + ] + ], + "pressures": [ + 0.0625, + 0.130859375, + 0.40625, + 0.4521484375, + 0.4736328125, + 0.484375, + 0.4892578125, + 0.4892578125, + 0.4970703125, + 0.5068359375, + 0.515625, + 0.515625, + 0.5185546875, + 0.525390625, + 0.5341796875, + 0.5341796875, + 0.54296875, + 0.5478515625, + 0.5498046875, + 0.5478515625, + 0.546875, + 0.55859375, + 0.5595703125, + 0.5673828125, + 0.580078125, + 0.580078125, + 0.57421875, + 0.5693359375, + 0.5693359375, + 0.1337890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.186700994318244, + 32.6641845703125 + ] + }, + { + "id": "nQW35pcr7VoWQ_Cb-jauY", + "type": "freedraw", + "x": 220.19750183898145, + "y": 185.09684555251982, + "width": 15.93372691761374, + "height": 33.46091530539775, + "angle": 0, + "strokeColor": "#364fc7", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 111732547, + "version": 180, + "versionNonce": 177842029, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5.576837713068244, + -2.39008123224437 + ], + [ + 7.170188210227252, + -2.39008123224437 + ], + [ + 7.966974431818244, + -2.39008123224437 + ], + [ + 8.763649680397748, + -2.39008123224437 + ], + [ + 8.763649680397748, + -0.7966752485795041 + ], + [ + 9.560324928977252, + 0 + ], + [ + 10.35700017755687, + 2.39013671875 + ], + [ + 11.153675426136374, + 4.780106977982996 + ], + [ + 11.950350674715992, + 7.170188210227252 + ], + [ + 11.950350674715992, + 8.763594193892004 + ], + [ + 11.950350674715992, + 10.357000177556756 + ], + [ + 11.950350674715992, + 11.15361993963063 + ], + [ + 11.153675426136374, + 11.950295188210248 + ], + [ + 9.560324928977252, + 11.950295188210248 + ], + [ + 7.170188210227252, + 12.747025923295496 + ], + [ + 5.576837713068244, + 11.950295188210248 + ], + [ + 3.983487215909122, + 11.15361993963063 + ], + [ + 3.186811967329618, + 9.560269442471622 + ], + [ + 2.39013671875, + 9.560269442471622 + ], + [ + 1.5934614701704959, + 8.763594193892004 + ], + [ + 0.7967862215909918, + 7.966863458806756 + ], + [ + 0, + 7.966863458806756 + ], + [ + -0.7966752485795041, + 7.966863458806756 + ], + [ + -1.5933504971590082, + 8.763594193892004 + ], + [ + -1.5933504971590082, + 9.560269442471622 + ], + [ + -1.5933504971590082, + 11.15361993963063 + ], + [ + -2.390025745738626, + 15.137051669034122 + ], + [ + -2.390025745738626, + 18.323863636363626 + ], + [ + -3.186590021306756, + 21.510564630681756 + ], + [ + -3.983376242897748, + 23.103915127840878 + ], + [ + -3.983376242897748, + 26.290727095170496 + ], + [ + -3.983376242897748, + 28.680752840909122 + ], + [ + -3.983376242897748, + 30.274158824573874 + ], + [ + -3.983376242897748, + 31.070834073153378 + ], + [ + -3.983376242897748, + 30.274158824573874 + ], + [ + -3.983376242897748, + 30.274158824573874 + ] + ], + "pressures": [ + 0.04296875, + 0.455078125, + 0.6533203125, + 0.8095703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.923828125, + 0.5341796875, + 0.064453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.983376242897748, + 30.274158824573874 + ] + }, + { + "id": "Kq4zbWp29pa6BE6uCgQNA", + "type": "freedraw", + "x": 226.5710148006292, + "y": 182.70676432027545, + "width": 13.543590198863626, + "height": 47.801291725852366, + "angle": 0, + "strokeColor": "#364fc7", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1280784611, + "version": 176, + "versionNonce": 1120440803, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + 0, + 0 + ], + [ + 1.5934614701704959, + 0 + ], + [ + 2.39013671875, + 0 + ], + [ + 3.983487215909122, + 1.5934059836648657 + ], + [ + 4.780162464488626, + 2.39008123224437 + ], + [ + 6.373623934659122, + 4.78021795099437 + ], + [ + 7.170188210227252, + 6.373512961647748 + ], + [ + 7.96686345880687, + 8.763649680397748 + ], + [ + 7.96686345880687, + 9.560269442471622 + ], + [ + 7.170188210227252, + 10.356944691051126 + ], + [ + 3.186811967329504, + 11.153675426136374 + ], + [ + 1.5934614701704959, + 11.153675426136374 + ], + [ + 0, + 11.153675426136374 + ], + [ + -1.593239524147748, + 11.950350674715992 + ], + [ + -3.18670099431813, + 11.950350674715992 + ], + [ + -3.983376242897748, + 13.543701171875 + ], + [ + -4.780051491477252, + 15.137107155539866 + ], + [ + -5.576726740056756, + 17.52713290127849 + ], + [ + -5.576726740056756, + 19.917214133522748 + ], + [ + -5.576726740056756, + 23.103970614346622 + ], + [ + -5.576726740056756, + 27.884077592329618 + ], + [ + -5.576726740056756, + 31.07083407315349 + ], + [ + -5.576726740056756, + 35.05426580255687 + ], + [ + -5.576726740056756, + 38.241022283380744 + ], + [ + -5.576726740056756, + 40.631103515625 + ], + [ + -5.576726740056756, + 42.22445401278412 + ], + [ + -5.576726740056756, + 44.61459073153412 + ], + [ + -5.576726740056756, + 47.00456099076712 + ], + [ + -5.576726740056756, + 47.801291725852366 + ], + [ + -5.576726740056756, + 46.2078857421875 + ], + [ + -5.576726740056756, + 46.2078857421875 + ] + ], + "pressures": [ + 0.0693359375, + 0.5888671875, + 0.9755859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.0439453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.576726740056756, + 46.2078857421875 + ] + }, + { + "id": "JzgKL4G8sl1yTVkSipriX", + "type": "freedraw", + "x": 231.84682180479342, + "y": 192.76273378892827, + "width": 21.510564630681756, + "height": 35.05426580255687, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "ugpm3QEDg3gWcdlVHWy9v" + ], + "strokeSharpness": "round", + "seed": 71072173, + "version": 299, + "versionNonce": 71458179, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + -2.390025745738626, + 0 + ], + [ + -4.780162464488626, + -2.39008123224437 + ], + [ + -6.373401988636374, + -3.983431729403378 + ], + [ + -7.170188210227252, + -4.780051491477252 + ], + [ + -7.966863458806756, + -4.780051491477252 + ], + [ + -7.966863458806756, + -5.576837713068244 + ], + [ + -8.763538707386374, + -6.373512961647748 + ], + [ + -10.356889204545382, + -7.170188210227252 + ], + [ + -11.153675426136374, + -8.763538707386374 + ], + [ + -11.950350674715878, + -9.560269442471622 + ], + [ + -13.543701171875, + -10.356944691051126 + ], + [ + -14.34026544744313, + -11.153619939630744 + ], + [ + -15.137051669034122, + -11.153619939630744 + ], + [ + -16.73040216619313, + -11.153619939630744 + ], + [ + -17.527077414772748, + -8.763538707386374 + ], + [ + -18.323752663352252, + -7.170188210227252 + ], + [ + -19.12053888494313, + -6.373512961647748 + ], + [ + -19.12053888494313, + -5.576837713068244 + ], + [ + -19.12053888494313, + -4.780051491477252 + ], + [ + -19.12053888494313, + -2.39008123224437 + ], + [ + -18.323752663352252, + -0.796619762073874 + ], + [ + -17.527077414772748, + 0.7966752485795041 + ], + [ + -17.527077414772748, + 1.593350497159122 + ], + [ + -16.73040216619313, + 2.390081232244256 + ], + [ + -16.73040216619313, + 4.780106977982882 + ], + [ + -15.933726917613626, + 7.170243696732882 + ], + [ + -15.933726917613626, + 9.560269442471622 + ], + [ + -15.933726917613626, + 11.153675426136374 + ], + [ + -15.933726917613626, + 14.340376420454504 + ], + [ + -15.933726917613626, + 16.730457652698874 + ], + [ + -16.73040216619313, + 19.12053888494313 + ], + [ + -16.73040216619313, + 21.510564630681756 + ], + [ + -17.527077414772748, + 22.307239879261374 + ], + [ + -18.323752663352252, + 23.103970614346622 + ], + [ + -19.12053888494313, + 23.900645862926126 + ], + [ + -19.917214133522748, + 23.900645862926126 + ], + [ + -20.713889382102252, + 23.900645862926126 + ], + [ + -21.510564630681756, + 23.900645862926126 + ], + [ + -21.510564630681756, + 23.103970614346622 + ], + [ + -21.510564630681756, + 23.103970614346622 + ] + ], + "pressures": [ + 0.0390625, + 0.4765625, + 0.55859375, + 0.630859375, + 0.69921875, + 0.7607421875, + 0.7685546875, + 0.853515625, + 0.8681640625, + 0.8681640625, + 0.904296875, + 0.9619140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 1, + 0.994140625, + 0.98828125, + 0.9833984375, + 0.9833984375, + 0.98828125, + 0.9833984375, + 0.97265625, + 0.9794921875, + 0.9833984375, + 0.9794921875, + 0.97265625, + 0.96875, + 0.9794921875, + 0.97265625, + 0.9755859375, + 0.9580078125, + 0.947265625, + 0.908203125, + 0.16796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -21.510564630681756, + 23.103970614346622 + ] + }, + { + "id": "6r8IMt0FseFmwknJXb9-G", + "type": "freedraw", + "x": 227.0666593403048, + "y": 187.18589607586003, + "width": 19.120427911931756, + "height": 33.46091530539775, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [ + "ugpm3QEDg3gWcdlVHWy9v" + ], + "strokeSharpness": "round", + "seed": 899533635, + "version": 264, + "versionNonce": 499019821, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.7966752485795041, + 0 + ], + [ + 0, + 0.7967862215909918 + ], + [ + 1.5934614701704959, + 2.39008123224437 + ], + [ + 2.39013671875, + 3.186756480823874 + ], + [ + 3.186811967329504, + 4.78021795099437 + ], + [ + 3.983487215909122, + 5.576837713068244 + ], + [ + 4.780162464488626, + 5.576837713068244 + ], + [ + 5.576837713068244, + 6.373512961647748 + ], + [ + 6.373623934659122, + 7.170188210227366 + ], + [ + 7.170188210227252, + 7.170188210227366 + ], + [ + 7.96686345880687, + 7.170188210227366 + ], + [ + 8.763538707386374, + 6.373512961647748 + ], + [ + 9.560324928977252, + 6.373512961647748 + ], + [ + 10.357111150568244, + 5.576837713068244 + ], + [ + 11.153675426136374, + 5.576837713068244 + ], + [ + 12.747025923295496, + 6.373512961647748 + ], + [ + 14.340487393465878, + 8.763649680397748 + ], + [ + 15.137051669034122, + 10.356944691051126 + ], + [ + 15.933726917613626, + 13.543701171875 + ], + [ + 15.933726917613626, + 14.340376420454618 + ], + [ + 15.933726917613626, + 15.137107155539866 + ], + [ + 15.933726917613626, + 15.93378240411937 + ], + [ + 14.340487393465878, + 17.52713290127849 + ], + [ + 11.950350674715878, + 19.120538884943244 + ], + [ + 9.560324928977252, + 21.51056463068187 + ], + [ + 7.96686345880687, + 22.307295365767118 + ], + [ + 6.373623934659122, + 23.103970614346622 + ], + [ + 4.780162464488626, + 23.103970614346622 + ], + [ + 3.186811967329504, + 22.307295365767118 + ], + [ + 2.39013671875, + 21.51056463068187 + ], + [ + 1.5934614701704959, + 21.51056463068187 + ], + [ + 0.7966752485795041, + 20.713944868607996 + ], + [ + 0, + 20.713944868607996 + ], + [ + 0, + 21.51056463068187 + ], + [ + -0.7966752485795041, + 22.307295365767118 + ], + [ + -1.593239524147748, + 23.103970614346622 + ], + [ + -2.390025745738626, + 24.697376598011374 + ], + [ + -3.18670099431813, + 26.290727095170496 + ], + [ + -3.18670099431813, + 28.680808327414866 + ], + [ + -3.18670099431813, + 31.07083407315349 + ], + [ + -3.18670099431813, + 32.664240056818244 + ], + [ + -3.18670099431813, + 33.46091530539775 + ], + [ + -2.390025745738626, + 33.46091530539775 + ], + [ + -1.593239524147748, + 33.46091530539775 + ], + [ + -1.593239524147748, + 33.46091530539775 + ] + ], + "pressures": [ + 0.0654296875, + 0.263671875, + 0.9599609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.953125, + 0.8134765625, + 0.732421875, + 0.642578125, + 0.5947265625, + 0.5712890625, + 0.56640625, + 0.5595703125, + 0.5615234375, + 0.5615234375, + 0.5595703125, + 0.2451171875, + 0.1787109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.593239524147748, + 33.46091530539775 + ] + }, + { + "id": "zl9hBRb5ZnnPHWd1y4VSQ", + "type": "freedraw", + "x": 278.42198775759766, + "y": 149.49085164774232, + "width": 6.622801392256804, + "height": 40.33875445801144, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2050590371, + "version": 154, + "versionNonce": 641327757, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.5051745105815257 + ], + [ + 1.5051535445201694, + -3.913451630905797 + ], + [ + 2.408245671232237, + -4.515523531744549 + ], + [ + 3.0103490211630515, + -4.8165647236792495 + ], + [ + 3.6124523710938092, + -4.515523531744549 + ], + [ + 5.117605915613922, + -0.6020719008387516 + ], + [ + 6.020698042326046, + 3.6124209220017462 + ], + [ + 6.622801392256804, + 8.127954936776945 + ], + [ + 6.622801392256804, + 13.245550369360217 + ], + [ + 6.321728751230069, + 18.96522818581289 + ], + [ + 4.8165332745871865, + 26.792131447624456 + ], + [ + 3.913441147875119, + 30.705593561560903 + ], + [ + 3.0103490211630515, + 33.71596354878528 + ], + [ + 2.1072149623282144, + 34.9200863844014 + ], + [ + 2.1072149623282144, + 35.52218973433219 + ], + [ + 2.1072149623282144, + 35.22113805936678 + ], + [ + 2.1072149623282144, + 34.61905567549738 + ], + [ + 2.1072149623282144, + 34.61905567549738 + ] + ], + "pressures": [ + 0.0126953125, + 0.1630859375, + 0.3583984375, + 0.5625, + 0.8134765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.25, + 0.11328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.1072149623282144, + 34.61905567549738 + ] + }, + { + "id": "QmKlFDLNeapzU3ZLHHk1f", + "type": "freedraw", + "x": 284.4426857999237, + "y": 151.29706735025852, + "width": 5.418636624518001, + "height": 32.81285045601183, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1851921613, + "version": 149, + "versionNonce": 1555372227, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.8061842534241919, + -0.6020719008387232 + ], + [ + 2.4082876033549496, + 0 + ], + [ + 3.311379730067017, + 2.7093183122590005 + ], + [ + 3.6124523710937524, + 7.826913744842244 + ], + [ + 3.913441147875119, + 14.750724879941743 + ], + [ + 2.709318312258972, + 24.082823618396162 + ], + [ + 1.8061842534241919, + 28.598347150140683 + ], + [ + 0.9030921267120675, + 31.006634753495632 + ], + [ + 0.3010307089040225, + 32.21077855517311 + ], + [ + -0.3010307089040225, + 32.21077855517311 + ], + [ + -1.2041647677388596, + 32.21077855517311 + ], + [ + -1.5051954766428821, + 32.21077855517311 + ], + [ + -1.5051954766428821, + 32.21077855517311 + ] + ], + "pressures": [ + 0.11328125, + 0.626953125, + 0.8173828125, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.5051954766428821, + 32.21077855517311 + ] + }, + { + "id": "7aM3kiFNe2JaF1gZTKz9u", + "type": "freedraw", + "x": 286.54994269437464, + "y": 150.09292354858104, + "width": 3.0103490211630515, + "height": 32.21077855517311, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 547774413, + "version": 141, + "versionNonce": 1196951789, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.4082876033549496, + 32.21077855517311 + ], + [ + -3.0103490211630515, + 31.608696171303706 + ], + [ + -3.0103490211630515, + 31.307665462399683 + ], + [ + -3.0103490211630515, + 30.70560404459161 + ], + [ + -3.0103490211630515, + 30.70560404459161 + ] + ], + "pressures": [ + 0.1044921875, + 0.802734375, + 0.2333984375, + 0.1865234375, + 0.0576171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.0103490211630515, + 30.70560404459161 + ] + }, + { + "id": "ZWUIroGQGGjO2iGYlhkRu", + "type": "freedraw", + "x": 215.20455348286754, + "y": 209.39686426028265, + "width": 15.051745105815087, + "height": 18.062115093039466, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 381831853, + "version": 149, + "versionNonce": 1117938509, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.6020614178080734 + ], + [ + -0.3010307089040225, + 1.8062261855468762 + ], + [ + -0.602061417808045, + 5.11760591561395 + ], + [ + -1.505174510581469, + 9.031068029550397 + ], + [ + -2.709318312258972, + 12.643499434582822 + ], + [ + -4.214492822840498, + 15.352817746841822 + ], + [ + -6.321728751230069, + 17.159022966327342 + ], + [ + -8.127954936776916, + 17.460053675231393 + ], + [ + -9.934160156262465, + 17.460053675231393 + ], + [ + -11.740365375748013, + 17.460053675231393 + ], + [ + -14.148652979102962, + 16.85799225742332 + ], + [ + -14.750714396911007, + 16.55694058245794 + ], + [ + -15.051745105815087, + 16.255930839615274 + ], + [ + -14.750714396911007, + 16.55694058245794 + ], + [ + -14.148652979102962, + 16.85799225742332 + ], + [ + -14.148652979102962, + 16.85799225742332 + ] + ], + "pressures": [ + 0.029296875, + 0.59765625, + 0.673828125, + 0.7783203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.859375, + 0.1669921875, + 0.068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -14.148652979102962, + 16.85799225742332 + ] + }, + { + "id": "m0MmRJmIRrM4py6Tijtm-", + "type": "freedraw", + "x": 216.10766657564102, + "y": 210.9020597369255, + "width": 18.66417651084754, + "height": 17.460032709170036, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 961734275, + "version": 152, + "versionNonce": 2040660995, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + -0.3010307089040225 + ], + [ + 0.3010307089040225, + 1.5051745105815257 + ], + [ + -0.6020823838694582, + 6.020698042326046 + ], + [ + -2.4082876033549496, + 9.63312944735847 + ], + [ + -4.51552353174452, + 12.944509177425516 + ], + [ + -7.224841844003549, + 15.352796780780466 + ], + [ + -10.837273249035945, + 16.85797129136199 + ], + [ + -12.944509177425516, + 17.159002000266014 + ], + [ + -14.75073536297242, + 17.159002000266014 + ], + [ + -16.255909873553946, + 16.55694058245794 + ], + [ + -17.159002000266014, + 15.95485819858854 + ], + [ + -17.761084384135415, + 15.653827489684488 + ], + [ + -18.363145801943517, + 15.051745105815087 + ], + [ + -18.363145801943517, + 14.75073536297242 + ], + [ + -18.363145801943517, + 14.449683688007013 + ], + [ + -18.363145801943517, + 13.847622270198968 + ], + [ + -18.062115093039495, + 13.54657059523359 + ], + [ + -17.761084384135415, + 13.54657059523359 + ], + [ + -17.761084384135415, + 13.54657059523359 + ] + ], + "pressures": [ + 0.03125, + 0.189453125, + 0.970703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8173828125, + 0.4892578125, + 0.259765625, + 0.1806640625, + 0.1279296875, + 0.0615234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -17.761084384135415, + 13.54657059523359 + ] + }, + { + "id": "hXMeuNS06PZGHk_n54WvI", + "type": "freedraw", + "x": 214.30146135615547, + "y": 207.59068000685846, + "width": 21.373515789167868, + "height": 18.363166768004845, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 542259619, + "version": 151, + "versionNonce": 1819439533, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558553, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010516749653789 + ], + [ + 0, + 0.9030921267120959 + ], + [ + 0.3010307089040225, + 3.3113797300670456 + ], + [ + 0.3010307089040225, + 7.525872552907543 + ], + [ + -0.9031130927734807, + 10.536242540131923 + ], + [ + -2.709318312258972, + 13.546591561294917 + ], + [ + -5.418636624518001, + 15.95485819858854 + ], + [ + -9.031068029550397, + 17.76106341807406 + ], + [ + -11.439355632905347, + 18.062115093039466 + ], + [ + -13.546591561294917, + 18.062115093039466 + ], + [ + -15.653827489684488, + 17.460032709170036 + ], + [ + -17.460053675231393, + 16.55694058245794 + ], + [ + -19.868341278586342, + 15.35277581471911 + ], + [ + -20.771433405298467, + 15.051766071876443 + ], + [ + -21.072485080263846, + 15.051766071876443 + ], + [ + -20.771433405298467, + 14.750714396911064 + ], + [ + -20.16935102142901, + 14.750714396911064 + ], + [ + -20.16935102142901, + 14.750714396911064 + ] + ], + "pressures": [ + 0.0537109375, + 0.2509765625, + 0.58984375, + 0.7587890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.97265625, + 0.5966796875, + 0.1474609375, + 0.056640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -20.16935102142901, + 14.750714396911064 + ] + }, + { + "id": "nfv0RMnT9lhndjs_EeQc5", + "type": "freedraw", + "x": 222.42941629293244, + "y": 215.116552559766, + "width": 9.633129447358442, + "height": 13.546591561294946, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 485012451, + "version": 166, + "versionNonce": 1152636109, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.6020823838694582, + -0.9031130927734523 + ], + [ + 0, + -0.9031130927734523 + ], + [ + 1.20412283561609, + 0 + ], + [ + 3.0103490211629946, + 2.4082666372935932 + ], + [ + 4.214492822840441, + 4.515544497805877 + ], + [ + 5.117584949552565, + 6.622759460134091 + ], + [ + 5.719667333421967, + 8.730016354585018 + ], + [ + 6.020698042325989, + 10.837252282974589 + ], + [ + 6.020698042325989, + 11.43933466684399 + ], + [ + 5.117584949552565, + 10.235190865166516 + ], + [ + 4.214492822840441, + 8.730016354585018 + ], + [ + 3.6124104389710396, + 6.92381113509947 + ], + [ + 3.0103490211629946, + 5.117584949552594 + ], + [ + 2.4082666372935932, + 3.0103699872243794 + ], + [ + 1.8062052194854914, + 2.1072359283895707 + ], + [ + 1.20412283561609, + 0.9030921267120959 + ], + [ + 0.602061417808045, + 0 + ], + [ + 0, + -0.9031130927734523 + ], + [ + -0.3010516749654357, + -1.5051745105814973 + ], + [ + -0.6020823838694582, + -1.5051745105814973 + ], + [ + -0.9031130927734807, + -1.8062261855469046 + ], + [ + 0, + -0.9031130927734523 + ], + [ + 1.20412283561609, + 0.9030921267120959 + ], + [ + 3.0103490211629946, + 3.3113797300670456 + ], + [ + 5.418615658456588, + 6.622759460134091 + ], + [ + 6.622759460134091, + 8.428985645680996 + ], + [ + 7.8269032618115375, + 9.63312944735847 + ], + [ + 8.428985645680939, + 10.536242540131923 + ], + [ + 8.730016354584961, + 10.837252282974589 + ], + [ + 8.730016354584961, + 11.138303957939968 + ], + [ + 8.730016354584961, + 11.43933466684399 + ], + [ + 8.428985645680939, + 11.740365375748041 + ], + [ + 8.12793397071556, + 11.740365375748041 + ], + [ + 7.8269032618115375, + 11.740365375748041 + ], + [ + 7.8269032618115375, + 11.740365375748041 + ] + ], + "pressures": [ + 0.0888671875, + 0.4453125, + 0.9423828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.78125, + 0.3525390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.8269032618115375, + 11.740365375748041 + ] + }, + { + "id": "jLYfhiqvMS5LR3TupUc1h", + "type": "freedraw", + "x": 222.128364617967, + "y": 213.6113780491845, + "width": 11.138303957939968, + "height": 17.460053675231393, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 980434563, + "version": 144, + "versionNonce": 1891265155, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010516749654357, + -0.3010516749654073 + ], + [ + 1.5051745105815257, + 0.3010307089040225 + ], + [ + 3.612431405032453, + 2.1072359283895707 + ], + [ + 5.719667333422024, + 4.816554240648543 + ], + [ + 7.525893518968928, + 7.826903261811566 + ], + [ + 9.633129447358499, + 12.04141705071342 + ], + [ + 10.536242540131923, + 14.449683688007013 + ], + [ + 10.837273249035945, + 15.95485819858851 + ], + [ + 11.138303957939968, + 16.857971291361963 + ], + [ + 11.138303957939968, + 17.159002000265986 + ], + [ + 10.536242540131923, + 16.857971291361963 + ], + [ + 10.2352118312279, + 16.55694058245794 + ], + [ + 10.2352118312279, + 16.55694058245794 + ] + ], + "pressures": [ + 0.06640625, + 0.923828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.447265625, + 0.1904296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.2352118312279, + 16.55694058245794 + ] + }, + { + "id": "CcYx_U4vYMYGoJNH_A9Ux", + "type": "freedraw", + "x": 146.2674728407768, + "y": 172.6705726563957, + "width": 37.02734327885233, + "height": 36.124230186078904, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2043929997, + "version": 155, + "versionNonce": 1484047757, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.9030921267120959, + 0.9031130927734239 + ], + [ + -0.9030921267120959, + 0.3010307089040225 + ], + [ + 0.9031130927734523, + -2.7093183122590005 + ], + [ + 3.9134621139364754, + -6.020708525356724 + ], + [ + 7.826924227872951, + -11.138303957939996 + ], + [ + 13.245581818452251, + -16.55694058245794 + ], + [ + 19.266279860778297, + -21.37350530613719 + ], + [ + 24.383864810330863, + -25.286967420073637 + ], + [ + 25.286998869165643, + -25.88903932091239 + ], + [ + 25.588008612008366, + -25.88903932091239 + ], + [ + 25.588008612008366, + -24.38386481033089 + ], + [ + 25.88903932091239, + -21.37350530613719 + ], + [ + 26.19007002981641, + -16.85798177439267 + ], + [ + 27.394213831493857, + -8.127954936776973 + ], + [ + 27.996296215363316, + -3.311400696128402 + ], + [ + 28.899388342075383, + 0 + ], + [ + 29.802522400910163, + 2.709318312258972 + ], + [ + 31.909737363238435, + 6.6227804261954475 + ], + [ + 34.016994257689305, + 8.730016354585018 + ], + [ + 35.22113805936681, + 9.934160156262493 + ], + [ + 35.82322044323621, + 10.235190865166516 + ], + [ + 36.12425115214023, + 10.235190865166516 + ], + [ + 36.12425115214023, + 9.633129447358442 + ], + [ + 36.12425115214023, + 7.826924227872922 + ], + [ + 36.12425115214023, + 6.32172875123004 + ], + [ + 36.12425115214023, + 5.719667333421995 + ], + [ + 36.12425115214023, + 5.719667333421995 + ] + ], + "pressures": [ + 0.08203125, + 0.453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8427734375, + 0.2666015625, + 0.119140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 36.12425115214023, + 5.719667333421995 + ] + }, + { + "id": "LzNJb9J6kZgviXyt11yYL", + "type": "freedraw", + "x": 184.19792921240258, + "y": 177.18609618814023, + "width": 43.95117538001318, + "height": 35.82320996020553, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1726432301, + "version": 160, + "versionNonce": 709748163, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.6020823838694014 + ], + [ + -0.3010307089040225, + 0.6020823838694014 + ], + [ + -1.2041438016774464, + -0.3010307089040509 + ], + [ + -1.8062052194855482, + -2.1072359283895707 + ], + [ + -2.1072359283895707, + -5.418636624517973 + ], + [ + -2.1072359283895707, + -9.332098738454448 + ], + [ + -1.8062052194855482, + -15.051755588845765 + ], + [ + -1.505174510581469, + -18.66418699387819 + ], + [ + -0.3010307089040225, + -22.276607915879964 + ], + [ + 1.2041438016775032, + -26.491100738720434 + ], + [ + 3.6124104389710965, + -31.608696171303706 + ], + [ + 3.9134830799978317, + -32.81283997298118 + ], + [ + 3.9134830799978317, + -33.41491187381993 + ], + [ + 3.6124104389710965, + -34.016983774658655 + ], + [ + 3.0103490211630515, + -34.92008638440143 + ], + [ + -0.602061417808045, + -35.22112757633613 + ], + [ + -5.418636624517944, + -32.51180926407716 + ], + [ + -11.43933466684399, + -28.29731644123666 + ], + [ + -20.77143340529841, + -21.975566723945235 + ], + [ + -26.190049063755055, + -18.36314580194349 + ], + [ + -30.40456285265691, + -14.148652979102991 + ], + [ + -34.016994257689305, + -9.332098738454448 + ], + [ + -37.32837398775638, + -5.418636624517973 + ], + [ + -39.1345792072419, + -3.3113797300670456 + ], + [ + -40.03769230001535, + -2.7093183122590005 + ], + [ + -40.03769230001535, + -2.4082876033549496 + ], + [ + -39.73664062504997, + -1.8062052194855482 + ], + [ + -39.435630882207306, + -1.8062052194855482 + ], + [ + -38.833548498337876, + -1.8062052194855482 + ], + [ + -37.93045637162578, + -1.8062052194855482 + ], + [ + -37.6294046966604, + -1.8062052194855482 + ], + [ + -37.6294046966604, + -1.8062052194855482 + ] + ], + "pressures": [ + 0.0458984375, + 0.904296875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8720703125, + 0.3828125, + 0.1923828125, + 0.134765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -37.6294046966604, + -1.8062052194855482 + ] + }, + { + "id": "sz5snEbabeiXlQ1vk090Q", + "type": "freedraw", + "x": 166.43684482826717, + "y": 158.22087848535799, + "width": 6.020698042326046, + "height": 32.511830230138514, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1260584077, + "version": 142, + "versionNonce": 1446939629, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.3010307089040225, + -0.9031026097427457 + ], + [ + -0.3010307089040225, + -1.2041438016774748 + ], + [ + 0, + -1.2041438016774748 + ], + [ + 1.5051745105815257, + 1.5051745105815257 + ], + [ + 2.4082876033549496, + 5.418636624517973 + ], + [ + 3.612431405032453, + 11.138293474909318 + ], + [ + 4.51552353174452, + 16.25589939052324 + ], + [ + 5.117626881675278, + 20.169361504459715 + ], + [ + 5.719667333422024, + 25.286967420073637 + ], + [ + 5.719667333422024, + 28.297337407298016 + ], + [ + 5.719667333422024, + 30.40455236962623 + ], + [ + 5.418636624518001, + 31.00663475349566 + ], + [ + 5.418636624518001, + 31.30768642846104 + ], + [ + 5.418636624518001, + 31.00663475349566 + ], + [ + 5.418636624518001, + 30.10352166072221 + ], + [ + 5.418636624518001, + 29.501460242914135 + ], + [ + 5.418636624518001, + 29.501460242914135 + ] + ], + "pressures": [ + 0.0576171875, + 0.1083984375, + 0.1953125, + 0.677734375, + 0.94921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.255859375, + 0.13671875, + 0.03125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 5.418636624518001, + 29.501460242914135 + ] + }, + { + "id": "awVGTRxQbEnM52bnLFZZe", + "type": "freedraw", + "x": 168.24305004775272, + "y": 153.10327256974406, + "width": 9.934181122323878, + "height": 41.84390800253155, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1580005805, + "version": 144, + "versionNonce": 464663907, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010307089040225 + ], + [ + 0.3010516749653789, + 0.3010411919347007 + ], + [ + 1.5051745105815257, + 2.4082876033549496 + ], + [ + 2.709318312258972, + 6.321749717291425 + ], + [ + 3.612431405032453, + 11.439345149874669 + ], + [ + 4.816596172771256, + 20.169361504459687 + ], + [ + 5.418636624517944, + 25.58799812897766 + ], + [ + 5.719667333422024, + 30.70560404459161 + ], + [ + 6.0207190083874025, + 35.22112757633613 + ], + [ + 5.117605915613922, + 39.13458969027258 + ], + [ + 3.9134621139364754, + 40.33873349195005 + ], + [ + 2.107256894450927, + 41.241846584723504 + ], + [ + 0, + 41.54287729362753 + ], + [ + -1.5051745105815257, + 41.54287729362753 + ], + [ + -2.7092973461976158, + 40.6397642008541 + ], + [ + -3.6124104389710965, + 40.03770278304603 + ], + [ + -3.9134621139364754, + 38.833558981368554 + ], + [ + -3.9134621139364754, + 38.53252827246453 + ], + [ + -3.9134621139364754, + 38.53252827246453 + ] + ], + "pressures": [ + 0.12109375, + 0.58984375, + 0.9794921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5341796875, + 0.177734375, + 0.0087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.9134621139364754, + 38.53252827246453 + ] + }, + { + "id": "k0BTHS6ArQHuFNVeoBrku", + "type": "freedraw", + "x": 166.13581411936315, + "y": 156.11363207393777, + "width": 15.051766071876443, + "height": 36.72630208691763, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1301309741, + "version": 145, + "versionNonce": 1472235085, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + -0.6020719008387516 + ], + [ + 2.1072359283895707, + 0 + ], + [ + 3.9134621139364754, + 2.1072464114202205 + ], + [ + 5.719667333422024, + 5.418636624517944 + ], + [ + 7.2248418440034925, + 10.235201348197194 + ], + [ + 9.03104706348904, + 17.460053675231364 + ], + [ + 9.934181122323821, + 21.674546498071862 + ], + [ + 10.235190865166544, + 25.28695693704296 + ], + [ + 9.934181122323821, + 28.297305958205953 + ], + [ + 8.429006611742352, + 30.705593561560903 + ], + [ + 5.117584949552565, + 33.41493283988126 + ], + [ + 2.4082876033549496, + 34.92010735046276 + ], + [ + -0.602061417808045, + 35.82319947717485 + ], + [ + -3.0103490211629946, + 36.124230186078876 + ], + [ + -4.51552353174452, + 36.124230186078876 + ], + [ + -4.816575206709899, + 36.124230186078876 + ], + [ + -4.816575206709899, + 35.52216876827083 + ], + [ + -4.816575206709899, + 35.22111709330545 + ], + [ + -4.816575206709899, + 34.61905567549738 + ], + [ + -4.816575206709899, + 34.61905567549738 + ] + ], + "pressures": [ + 0.0556640625, + 0.75390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9345703125, + 0.78125, + 0.2216796875, + 0.1787109375, + 0.1162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.816575206709899, + 34.61905567549738 + ] + }, + { + "id": "KW7q49FDXNGnIuCOg1lYu", + "type": "freedraw", + "x": 146.56852451574218, + "y": 170.86436743691016, + "width": 36.124230186078904, + "height": 24.383854327300213, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 317425165, + "version": 152, + "versionNonce": 1730908419, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.602061417808045, + 0 + ], + [ + -1.2041438016774748, + 0.3010307089040225 + ], + [ + -0.9031130927734239, + 0 + ], + [ + 2.709318312258972, + -3.0103699872243794 + ], + [ + 6.923832101160826, + -5.418647107548651 + ], + [ + 12.342447759617471, + -7.826924227872922 + ], + [ + 18.36314580194346, + -9.934170639293171 + ], + [ + 23.48075171755744, + -11.439345149874669 + ], + [ + 27.09316215652848, + -12.34245824264812 + ], + [ + 27.695244540397937, + -12.643488951552172 + ], + [ + 26.792131447624456, + -11.138314440970646 + ], + [ + 25.286956937042987, + -8.730026837615696 + ], + [ + 24.383843844269506, + -6.6227804261954475 + ], + [ + 23.78178242646146, + -5.11760591561395 + ], + [ + 23.78178242646146, + -0.9031130927734523 + ], + [ + 24.68487455317353, + 3.3113797300670456 + ], + [ + 26.19007002981641, + 7.2248418440034925 + ], + [ + 27.996296215363316, + 9.63312944735847 + ], + [ + 30.10351117769153, + 11.43933466684399 + ], + [ + 31.307654979368976, + 11.43933466684399 + ], + [ + 31.909737363238435, + 11.740365375748041 + ], + [ + 32.8128294899505, + 11.740365375748041 + ], + [ + 33.715942582723926, + 11.138303957939968 + ], + [ + 34.61905567549741, + 10.235190865166516 + ], + [ + 34.92008638440143, + 9.63312944735847 + ], + [ + 34.92008638440143, + 9.332077772393063 + ], + [ + 34.92008638440143, + 9.332077772393063 + ] + ], + "pressures": [ + 0.037109375, + 0.076171875, + 0.162109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.822265625, + 0.271484375, + 0.0927734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.92008638440143, + 9.332077772393063 + ] + }, + { + "id": "n4OAX9_CgMihxaHLh2lzn", + "type": "freedraw", + "x": 165.5337527015551, + "y": 173.57368574916913, + "width": 3.0103490211629946, + "height": 10.536242540131894, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1131765379, + "version": 142, + "versionNonce": 1512249101, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + -0.3010516749653789 + ], + [ + 0.3010307089040225, + -1.8062261855468762 + ], + [ + 0.602061417808045, + -3.311400696128402 + ], + [ + 0.602061417808045, + -4.816575206709899 + ], + [ + 0.602061417808045, + -6.321749717291397 + ], + [ + 0.602061417808045, + -7.224852327034171 + ], + [ + 0.602061417808045, + -8.127965419807623 + ], + [ + 0.602061417808045, + -9.031068029550397 + ], + [ + 0.9030921267120675, + -9.33209873845442 + ], + [ + 1.20412283561609, + -9.33209873845442 + ], + [ + 1.8062052194855482, + -9.63313993038912 + ], + [ + 2.1072359283895707, + -9.934170639293171 + ], + [ + 2.4082666372935932, + -10.536242540131894 + ], + [ + 2.7092973461976158, + -10.536242540131894 + ], + [ + 3.0103490211629946, + -10.536242540131894 + ], + [ + 3.0103490211629946, + -10.235211831227872 + ], + [ + 3.0103490211629946, + -9.63313993038912 + ], + [ + 3.0103490211629946, + -9.33209873845442 + ], + [ + 3.0103490211629946, + -9.33209873845442 + ] + ], + "pressures": [ + 0.0537109375, + 0.55859375, + 0.908203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.29296875, + 0.154296875, + 0.021484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.0103490211629946, + -9.33209873845442 + ] + }, + { + "id": "40jIPaTyaKyFFJ2symLyM", + "type": "freedraw", + "x": 170.35030694220364, + "y": 162.43537130819848, + "width": 6.321749717291425, + "height": 19.567279120590285, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1026068963, + "version": 142, + "versionNonce": 512191555, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + -0.3010307089040225 + ], + [ + 0, + -0.3010307089040225 + ], + [ + -1.5051745105815257, + 0.9031026097427741 + ], + [ + -2.4082876033549496, + 1.8062157025162264 + ], + [ + -3.311379730067074, + 2.7093183122590005 + ], + [ + -4.51552353174452, + 4.51552353174452 + ], + [ + -5.117605915613922, + 6.321739234260747 + ], + [ + -5.719667333422024, + 8.127944453746295 + ], + [ + -5.719667333422024, + 9.934170639293171 + ], + [ + -6.0207190083874025, + 11.138314440970646 + ], + [ + -6.0207190083874025, + 12.342437276586793 + ], + [ + -5.117605915613922, + 14.449694171037692 + ], + [ + -4.51552353174452, + 16.25589939052324 + ], + [ + -3.9134621139364754, + 17.460043192200715 + ], + [ + -3.311379730067074, + 18.66418699387819 + ], + [ + -3.0103490211629946, + 18.96521770278224 + ], + [ + -2.709318312258972, + 19.266248411686263 + ], + [ + -2.4082876033549496, + 19.266248411686263 + ], + [ + -2.4082876033549496, + 19.266248411686263 + ] + ], + "pressures": [ + 0.0087890625, + 0.068359375, + 0.51171875, + 0.74609375, + 0.8388671875, + 0.904296875, + 0.9384765625, + 0.951171875, + 1, + 1, + 1, + 1, + 1, + 0.98828125, + 0.951171875, + 0.87890625, + 0.724609375, + 0.3837890625, + 0.1123046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.4082876033549496, + 19.266248411686263 + ] + }, + { + "id": "uWudkwFHNR5EgqIEsUp9p", + "type": "freedraw", + "x": 234.16978166868046, + "y": 195.8502936650491, + "width": 20.470402696394387, + "height": 23.480772683618767, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1528110253, + "version": 134, + "versionNonce": 177567619, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + -0.3010307089040509 + ], + [ + 0.3010307089040225, + -0.9031130927734523 + ], + [ + -0.602061417808045, + -2.408287603354978 + ], + [ + -1.8062052194855482, + -4.214492822840498 + ], + [ + -4.214492822840498, + -6.6227804261954475 + ], + [ + -6.020698042326046, + -7.826903261811594 + ], + [ + -8.127954936776973, + -9.031068029550426 + ], + [ + -10.235190865166544, + -9.93418112232385 + ], + [ + -12.041417050713449, + -10.837252282974589 + ], + [ + -14.75073536297242, + -11.439355632905375 + ], + [ + -16.25590987355389, + -11.740386341809398 + ], + [ + -17.460053675231393, + -11.439355632905375 + ], + [ + -18.36314580194346, + -9.93418112232385 + ], + [ + -19.567289603620964, + -6.321728751230069 + ], + [ + -19.868320312524986, + -3.9134621139364754 + ], + [ + -20.169371987490365, + -0.9031130927734523 + ], + [ + -19.868320312524986, + 2.4082666372935932 + ], + [ + -18.664197476908896, + 5.719688299483352 + ], + [ + -16.55694058245797, + 8.730037320646346 + ], + [ + -14.449683688007042, + 9.934160156262493 + ], + [ + -12.342447759617471, + 10.83725228297456 + ], + [ + -9.934160156262521, + 11.43933466684399 + ], + [ + -7.2248418440034925, + 11.74038634180937 + ], + [ + -5.719667333422024, + 11.74038634180937 + ], + [ + -4.214492822840498, + 11.138303957939968 + ], + [ + -3.311379730067074, + 9.934160156262493 + ], + [ + -3.0103490211630515, + 7.826903261811566 + ], + [ + -3.0103490211630515, + 7.224862810064849 + ], + [ + -3.0103490211630515, + 7.224862810064849 + ] + ], + "pressures": [ + 0.05859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.71484375, + 0.2314453125, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.0103490211630515, + 7.224862810064849 + ] + }, + { + "id": "iDqMlOb2btz3UF1r6COp1", + "type": "freedraw", + "x": 230.25631955474398, + "y": 193.1409753527901, + "width": 27.09316215652848, + "height": 25.88903932091239, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1365936579, + "version": 135, + "versionNonce": 759297581, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.5051745105815257, + 1.2041438016774748 + ], + [ + 1.8062052194855482, + 1.2041438016774748 + ], + [ + 1.5051745105815257, + 1.2041438016774748 + ], + [ + -0.3010307089040225, + 1.2041438016774748 + ], + [ + -4.51552353174452, + 0.6020614178080734 + ], + [ + -7.8269032618115375, + -0.602061417808045 + ], + [ + -10.837273249035945, + -2.709318312258972 + ], + [ + -13.84762227019894, + -5.117584949552594 + ], + [ + -16.556940582457912, + -7.224862810064849 + ], + [ + -20.470402696394387, + -9.63312944735847 + ], + [ + -22.577638624783958, + -10.837273249035945 + ], + [ + -24.082813135365484, + -11.439355632905347 + ], + [ + -24.684895519234885, + -12.04141705071342 + ], + [ + -24.985926228138908, + -12.04141705071342 + ], + [ + -24.985926228138908, + -11.74038634180937 + ], + [ + -24.985926228138908, + -9.934160156262493 + ], + [ + -25.28695693704293, + -6.622759460134091 + ], + [ + -25.28695693704293, + -3.010349021163023 + ], + [ + -23.78178242646146, + 1.8062052194855482 + ], + [ + -21.975577206975913, + 3.9134621139364754 + ], + [ + -19.26625889471694, + 6.020698042326046 + ], + [ + -16.25590987355389, + 7.826903261811566 + ], + [ + -11.43933466684399, + 10.235190865166516 + ], + [ + -8.428985645680996, + 11.439355632905347 + ], + [ + -5.719667333421967, + 12.643478468521494 + ], + [ + -3.6124104389710965, + 13.546570595233561 + ], + [ + -2.4082876033549496, + 13.847622270198968 + ], + [ + -2.4082876033549496, + 12.643478468521494 + ], + [ + -3.0103490211629946, + 11.439355632905347 + ], + [ + -3.0103490211629946, + 11.439355632905347 + ] + ], + "pressures": [ + 0.078125, + 0.2080078125, + 0.234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9619140625, + 0.2158203125, + 0.048828125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.0103490211629946, + 11.439355632905347 + ] + }, + { + "id": "diMJ8a99kStW6EcODsY7T", + "type": "freedraw", + "x": 233.26666857590698, + "y": 190.43165704053112, + "width": 23.78178242646146, + "height": 26.190049063755026, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1280645763, + "version": 121, + "versionNonce": 950112035, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -21.975577206975856, + -9.934160156262493 + ], + [ + -22.87866933368798, + -6.6227804261954475 + ], + [ + -22.87866933368798, + -4.816575206709928 + ], + [ + -22.276607915879936, + 2.709318312258972 + ], + [ + -21.072464114202432, + 5.719667333421995 + ], + [ + -19.266258894716884, + 8.127954936776945 + ], + [ + -17.159002000265957, + 10.536221574070538 + ], + [ + -14.148652979102962, + 13.84762227019894 + ], + [ + -12.041396084652035, + 15.352796780780466 + ], + [ + -9.633129447358442, + 15.95485819858851 + ], + [ + -7.525872552907515, + 16.255888907492533 + ], + [ + -5.418636624517944, + 15.95485819858851 + ], + [ + -2.1072359283895707, + 14.449683688007013 + ], + [ + 0, + 13.546591561294917 + ], + [ + 0.9031130927734807, + 13.245539886329539 + ], + [ + 0.9031130927734807, + 13.245539886329539 + ] + ], + "pressures": [ + 0.1982421875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6533203125, + 0.3876953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.9031130927734807, + 13.245539886329539 + ] + }, + { + "id": "bvhSfnvDGowt1pOlrMyV1", + "type": "freedraw", + "x": 219.72009798067342, + "y": 193.74303677059817, + "width": 36.12420922001752, + "height": 48.165647236792324, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1664863715, + "version": 242, + "versionNonce": 1197254797, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.6020823838694014, + 0.3010516749653789 + ], + [ + -1.2041438016774464, + 0.3010516749653789 + ], + [ + -1.8062261855468478, + 0 + ], + [ + -2.4082876033549496, + -0.6020614178080734 + ], + [ + -3.3114006961283735, + -1.2041228356161184 + ], + [ + -3.9134621139364185, + -2.4082876033549496 + ], + [ + -4.515544497805877, + -3.6124104389710965 + ], + [ + -5.418636624517944, + -6.321728751230069 + ], + [ + -5.719688299483323, + -8.428985645680996 + ], + [ + -5.719688299483323, + -10.235190865166544 + ], + [ + -5.719688299483323, + -11.740365375748041 + ], + [ + -5.719688299483323, + -12.643478468521494 + ], + [ + -5.117605915613922, + -13.245539886329539 + ], + [ + -4.816575206709899, + -13.546591561294946 + ], + [ + -4.214513788901854, + -13.847622270198968 + ], + [ + -3.010369987224351, + -13.847622270198968 + ], + [ + -1.5051954766428253, + -13.546591561294946 + ], + [ + -0.6020823838694014, + -13.245539886329539 + ], + [ + 0, + -12.944509177425516 + ], + [ + 1.5051745105815257, + -11.439334666844019 + ], + [ + 2.709318312259029, + -10.235190865166544 + ], + [ + 3.913441147875119, + -9.03104706348907 + ], + [ + 4.8165542406486, + -8.127954936776973 + ], + [ + 5.418615658456645, + -7.2248208779421645 + ], + [ + 6.020698042326046, + -6.321728751230069 + ], + [ + 6.622759460134091, + -4.816554240648571 + ], + [ + 6.92381113509947, + -4.2144718567791415 + ], + [ + 7.224841844003549, + -3.9134621139364754 + ], + [ + 7.525872552907572, + -3.3113797300670456 + ], + [ + 7.826903261811594, + -3.010349021163023 + ], + [ + 8.428985645680996, + -2.4082876033549496 + ], + [ + 8.730016354585018, + -1.8062052194855482 + ], + [ + 9.33207777239312, + -1.2041228356161184 + ], + [ + 10.536221574070566, + -0.9031130927734523 + ], + [ + 12.041396084652092, + -0.3010307089040509 + ], + [ + 13.245539886329539, + -0.3010307089040509 + ], + [ + 14.750714396911064, + -0.6020614178080734 + ], + [ + 17.159002000266014, + -2.709297346197644 + ], + [ + 18.363145801943517, + -4.2144718567791415 + ], + [ + 18.965207219751562, + -4.816554240648571 + ], + [ + 18.965207219751562, + -5.11760591561395 + ], + [ + 19.266237928655585, + -5.719646367360667 + ], + [ + 19.868320312524986, + -6.321728751230069 + ], + [ + 20.771433405298467, + -6.923811135099498 + ], + [ + 21.674525532010534, + -7.2248208779421645 + ], + [ + 22.878669333688038, + -7.826924227872922 + ], + [ + 23.17970004259206, + -7.826924227872922 + ], + [ + 23.48075171755744, + -7.826924227872922 + ], + [ + 23.78178242646146, + -7.826924227872922 + ], + [ + 24.684874553173586, + -7.2248208779421645 + ], + [ + 25.58798764594701, + -6.6227804261954475 + ], + [ + 26.491100738720434, + -6.020698042326046 + ], + [ + 27.394192865432558, + -4.816554240648571 + ], + [ + 27.69522357433658, + -4.2144718567791415 + ], + [ + 27.996254283240603, + -3.3113797300670456 + ], + [ + 27.996254283240603, + -2.1072359283895707 + ], + [ + 27.996254283240603, + -0.6020614178080734 + ], + [ + 27.093162156528535, + 0.9031130927734239 + ], + [ + 24.985926228138965, + 3.0103490211629946 + ], + [ + 23.78178242646146, + 4.214492822840498 + ], + [ + 22.577638624784015, + 5.418636624517973 + ], + [ + 21.373494823106512, + 6.6227804261954475 + ], + [ + 20.771433405298467, + 6.92381113509947 + ], + [ + 20.16935102142901, + 7.2248418440034925 + ], + [ + 19.567289603620964, + 7.525893518968871 + ], + [ + 18.363145801943517, + 7.525893518968871 + ], + [ + 17.460032709170036, + 7.826945193934279 + ], + [ + 15.954858198588568, + 8.127954936776945 + ], + [ + 15.051745105815087, + 8.127954936776945 + ], + [ + 14.14865297910302, + 7.826945193934279 + ], + [ + 12.944509177425516, + 7.525893518968871 + ], + [ + 12.041396084652092, + 7.525893518968871 + ], + [ + 11.138303957939968, + 7.2248418440034925 + ], + [ + 9.934160156262521, + 7.2248418440034925 + ], + [ + 9.33207777239312, + 7.2248418440034925 + ], + [ + 8.730016354585018, + 7.2248418440034925 + ], + [ + 7.525872552907572, + 7.2248418440034925 + ], + [ + 6.92381113509947, + 7.826945193934279 + ], + [ + 6.622759460134091, + 8.127954936776945 + ], + [ + 6.020698042326046, + 8.730016354585018 + ], + [ + 4.8165542406486, + 10.235211831227872 + ], + [ + 4.214492822840498, + 11.74038634180937 + ], + [ + 3.6124104389710965, + 13.245560852390895 + ], + [ + 3.6124104389710965, + 14.44970465406837 + ], + [ + 3.6124104389710965, + 15.051766071876415 + ], + [ + 3.6124104389710965, + 15.954879164649867 + ], + [ + 4.214492822840498, + 17.159022966327342 + ], + [ + 5.117584949552622, + 18.96522818581289 + ], + [ + 6.020698042326046, + 20.470402696394387 + ], + [ + 6.622759460134091, + 21.975577206975913 + ], + [ + 7.826903261811594, + 23.781782426461433 + ], + [ + 8.428985645680996, + 25.588008612008338 + ], + [ + 9.03104706348904, + 27.69524454039791 + ], + [ + 9.03104706348904, + 29.200419050979406 + ], + [ + 9.33207777239312, + 30.70559356156093 + ], + [ + 9.33207777239312, + 31.00664523652631 + ], + [ + 9.33207777239312, + 31.608706654334355 + ], + [ + 9.33207777239312, + 32.51181974710781 + ], + [ + 8.428985645680996, + 33.71596354878528 + ], + [ + 7.525872552907572, + 34.318024966593356 + ], + [ + 6.622759460134091, + 34.318024966593356 + ], + [ + 4.8165542406486, + 34.318024966593356 + ], + [ + 2.709318312259029, + 33.11388116491588 + ], + [ + -0.3010516749653789, + 30.70559356156093 + ], + [ + -3.612431405032396, + 28.59835763317136 + ], + [ + -5.418636624517944, + 27.394234797555214 + ], + [ + -6.020719008387346, + 26.491100738720434 + ], + [ + -7.224862810064849, + 24.38388577639222 + ], + [ + -7.525893518968871, + 22.878711265810693 + ], + [ + -7.826924227872894, + 21.37351578916784 + ], + [ + -8.127954936776916, + 19.567289603620935 + ], + [ + -8.127954936776916, + 18.363166768004817 + ], + [ + -8.127954936776916, + 16.25590987355389 + ], + [ + -7.525893518968871, + 14.148652979102991 + ], + [ + -6.321749717291425, + 11.138303957939968 + ], + [ + -5.117605915613922, + 8.428985645680967 + ], + [ + -3.9134621139364185, + 6.321770683352753 + ], + [ + -3.612431405032396, + 5.719667333421995 + ], + [ + -3.3114006961283735, + 4.816575206709899 + ], + [ + -2.709318312258972, + 3.6124314050324244 + ], + [ + -2.107256894450927, + 2.107256894450927 + ], + [ + -0.9031130927734239, + 0 + ], + [ + -0.9031130927734239, + -0.3010307089040509 + ], + [ + -0.9031130927734239, + -0.6020614178080734 + ], + [ + -1.2041438016774464, + -1.5051745105815257 + ], + [ + -1.5051954766428253, + -2.1072359283895707 + ], + [ + -2.107256894450927, + -2.709297346197644 + ], + [ + -2.709318312258972, + -3.3113797300670456 + ], + [ + -3.010369987224351, + -3.9134621139364754 + ], + [ + -3.3114006961283735, + -5.11760591561395 + ], + [ + -3.3114006961283735, + -6.020698042326046 + ], + [ + -3.3114006961283735, + -6.923811135099498 + ], + [ + -3.3114006961283735, + -7.826924227872922 + ], + [ + -3.010369987224351, + -7.525872552907543 + ], + [ + -2.4082876033549496, + -6.6227804261954475 + ], + [ + -2.4082876033549496, + -6.321728751230069 + ], + [ + -2.4082876033549496, + -6.321728751230069 + ] + ], + "pressures": [ + 0.0576171875, + 0.2705078125, + 0.5205078125, + 0.64453125, + 0.8515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9921875, + 1, + 1, + 1, + 0.990234375, + 0.9921875, + 1, + 0.990234375, + 0.98828125, + 0.98828125, + 0.9921875, + 0.98828125, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.951171875, + 0.5205078125, + 0.203125, + 0.1142578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.4082876033549496, + -6.321728751230069 + ] + }, + { + "id": "wQzv0dZh4sOMYKSpfEL0f", + "type": "freedraw", + "x": 224.83768293022604, + "y": 188.3244001460802, + "width": 22.878690299749394, + "height": 41.54286681059688, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1215812333, + "version": 148, + "versionNonce": 1753854659, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.107256894450927, + 1.5051745105814973 + ], + [ + 2.4082876033549496, + 1.5051745105814973 + ], + [ + 2.4082876033549496, + 1.8062261855468762 + ], + [ + 0.6020823838694014, + 2.7093392783203285 + ], + [ + -0.6020614178081019, + 3.311400696128402 + ], + [ + -1.8062052194855482, + 3.311400696128402 + ], + [ + -3.311379730067074, + 3.010349021163023 + ], + [ + -4.8165542406486, + 2.107256894450927 + ], + [ + -6.321728751230069, + 0.6020823838694014 + ], + [ + -7.525872552907572, + 0 + ], + [ + -8.730016354585018, + -1.2041438016774748 + ], + [ + -9.633129447358499, + -2.7093183122590005 + ], + [ + -11.138303957939968, + -4.51552353174452 + ], + [ + -12.041396084652092, + -5.418636624517973 + ], + [ + -13.245539886329539, + -6.321728751230069 + ], + [ + -14.14865297910302, + -6.92381113509947 + ], + [ + -15.352796780780466, + -7.224841844003521 + ], + [ + -16.85797129136199, + -7.525872552907543 + ], + [ + -17.761084384135415, + -6.6227804261954475 + ], + [ + -18.363145801943517, + -4.816554240648571 + ], + [ + -18.965207219751562, + -2.4082876033549496 + ], + [ + -20.169351021429065, + 1.5051745105814973 + ], + [ + -20.470402696394444, + 3.6124314050324244 + ], + [ + -20.470402696394444, + 5.418636624517973 + ], + [ + -20.169351021429065, + 7.224862810064849 + ], + [ + -19.26625889471694, + 9.934160156262493 + ], + [ + -16.85797129136199, + 14.44970465406837 + ], + [ + -15.352796780780466, + 16.55694058245794 + ], + [ + -14.14865297910302, + 18.062115093039438 + ], + [ + -12.944509177425516, + 19.26627986077827 + ], + [ + -11.439334666844047, + 20.771454371359795 + ], + [ + -9.03104706348904, + 23.48075171755741 + ], + [ + -7.826903261811594, + 24.985926228138908 + ], + [ + -6.92381113509947, + 25.88903932091236 + ], + [ + -6.321728751230069, + 26.792152413685812 + ], + [ + -5.418636624518001, + 27.99627524930193 + ], + [ + -4.8165542406486, + 29.802522400910192 + ], + [ + -4.51552353174452, + 31.608706654334355 + ], + [ + -4.214492822840498, + 33.11388116491588 + ], + [ + -4.214492822840498, + 33.71596354878528 + ], + [ + -4.214492822840498, + 34.01699425768933 + ], + [ + -4.8165542406486, + 33.71596354878528 + ], + [ + -4.8165542406486, + 33.71596354878528 + ] + ], + "pressures": [ + 0.048828125, + 0.166015625, + 0.1796875, + 0.3642578125, + 0.8173828125, + 0.96484375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8896484375, + 0.1044921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.8165542406486, + 33.71596354878528 + ] + }, + { + "id": "O1yAbO0gmghuq1ktNxXdj", + "type": "freedraw", + "x": 230.557350263648, + "y": 189.52856491381903, + "width": 27.394213831493914, + "height": 45.456328924533324, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 953917667, + "version": 153, + "versionNonce": 70389485, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010516749653789, + 0.30100974284266613 + ], + [ + 1.8062261855469046, + 1.5051745105814973 + ], + [ + 2.107256894450927, + 1.8061842534241919 + ], + [ + 3.3114006961284304, + 3.010349021163023 + ], + [ + 3.612431405032453, + 3.010349021163023 + ], + [ + 3.612431405032453, + 3.311358764005689 + ], + [ + 2.709318312258972, + 3.612410438971068 + ], + [ + 0, + 3.9134411478750906 + ], + [ + -1.505174510581469, + 3.9134411478750906 + ], + [ + -3.311379730067017, + 3.010349021163023 + ], + [ + -5.418636624517944, + 1.8061842534241919 + ], + [ + -8.428985645680996, + -0.9031340588348087 + ], + [ + -9.934160156262465, + -3.010349021163023 + ], + [ + -11.138303957939968, + -4.51552353174452 + ], + [ + -12.342447759617414, + -6.321749717291425 + ], + [ + -13.245539886329539, + -8.127975902838301 + ], + [ + -14.750714396911007, + -10.53626350619328 + ], + [ + -15.95485819858851, + -11.740386341809398 + ], + [ + -17.159002000266014, + -12.342468725678799 + ], + [ + -18.664176510847483, + -12.944530143486872 + ], + [ + -21.072464114202432, + -13.245581818452251 + ], + [ + -22.276607915879936, + -12.944530143486872 + ], + [ + -23.179700042592003, + -12.342468725678799 + ], + [ + -23.78178242646146, + -11.138324924001324 + ], + [ + -23.78178242646146, + -9.031068029550397 + ], + [ + -23.78178242646146, + -6.321749717291425 + ], + [ + -22.276607915879936, + -1.2041647677388312 + ], + [ + -21.072464114202432, + 2.4082666372935932 + ], + [ + -19.567289603620964, + 5.719646367360639 + ], + [ + -17.76106341807406, + 9.03104706348904 + ], + [ + -16.556940582457912, + 11.138282991878611 + ], + [ + -14.750714396911007, + 13.245539886329539 + ], + [ + -12.944509177425516, + 15.35277581471911 + ], + [ + -11.138303957939968, + 17.460032709170036 + ], + [ + -10.235190865166487, + 18.965207219751534 + ], + [ + -9.03104706348904, + 20.47038173033303 + ], + [ + -8.428985645680996, + 21.975556240914557 + ], + [ + -7.8269032618115375, + 24.383843844269506 + ], + [ + -7.2248418440034925, + 28.59835763317136 + ], + [ + -7.2248418440034925, + 31.006624270464954 + ], + [ + -7.8269032618115375, + 31.90971639717705 + ], + [ + -8.428985645680996, + 32.21074710608107 + ], + [ + -9.332077772393063, + 32.21074710608107 + ], + [ + -10.837252282974589, + 31.90971639717705 + ], + [ + -13.245539886329539, + 31.006624270464954 + ], + [ + -14.449683688006985, + 30.103532143752858 + ], + [ + -14.449683688006985, + 29.80248046878748 + ], + [ + -14.449683688006985, + 29.80248046878748 + ] + ], + "pressures": [ + 0.015625, + 0.044921875, + 0.125, + 0.1416015625, + 0.1865234375, + 0.2275390625, + 0.3271484375, + 0.4853515625, + 0.6025390625, + 0.6591796875, + 0.67578125, + 0.6923828125, + 0.705078125, + 0.720703125, + 0.728515625, + 0.734375, + 0.734375, + 0.7421875, + 0.7421875, + 0.740234375, + 0.740234375, + 0.744140625, + 0.74609375, + 0.7568359375, + 0.7685546875, + 0.7685546875, + 0.7763671875, + 0.8173828125, + 0.83203125, + 0.8515625, + 0.8662109375, + 0.8662109375, + 0.859375, + 0.8349609375, + 0.78515625, + 0.7705078125, + 0.7685546875, + 0.7646484375, + 0.7705078125, + 0.7626953125, + 0.748046875, + 0.751953125, + 0.751953125, + 0.740234375, + 0.630859375, + 0.3251953125, + 0.2021484375, + 0.1611328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -14.449683688006985, + 29.80248046878748 + ] + }, + { + "id": "TrCuKvSMwTAHWLUFhoI4J", + "type": "freedraw", + "x": 231.7614940653255, + "y": 192.53891393498205, + "width": 20.771433405298467, + "height": 46.96150343511485, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1984633411, + "version": 163, + "versionNonce": 451699299, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.8062261855469046 + ], + [ + -0.6020614178081019, + -3.311400696128402 + ], + [ + -1.5051745105815257, + -4.816575206709928 + ], + [ + -3.311379730067074, + -7.224862810064877 + ], + [ + -4.51552353174452, + -8.730037320646375 + ], + [ + -6.321728751230069, + -10.536242540131923 + ], + [ + -9.03104706348904, + -12.944530143486872 + ], + [ + -11.138303957939968, + -13.847643236260325 + ], + [ + -12.643478468521494, + -14.449704654068398 + ], + [ + -14.14865297910302, + -14.449704654068398 + ], + [ + -15.653827489684488, + -14.148673945164347 + ], + [ + -16.55694058245797, + -13.546612527356302 + ], + [ + -17.159002000266014, + -12.04141705071342 + ], + [ + -17.460032709170036, + -9.93418112232385 + ], + [ + -17.761084384135415, + -7.525872552907543 + ], + [ + -18.062115093039438, + -4.214513788901854 + ], + [ + -18.062115093039438, + -3.010349021163023 + ], + [ + -17.460032709170036, + -2.107256894450927 + ], + [ + -16.255909873553946, + -0.6020823838694298 + ], + [ + -15.352796780780466, + 1.8062052194855198 + ], + [ + -13.84762227019894, + 4.214471856779113 + ], + [ + -12.342447759617471, + 7.224820877942136 + ], + [ + -11.74036537574807, + 8.73001635458499 + ], + [ + -11.43933466684399, + 10.235190865166516 + ], + [ + -11.74036537574807, + 12.643457502460109 + ], + [ + -12.944509177425516, + 14.148632013041606 + ], + [ + -14.14865297910302, + 15.051766071876415 + ], + [ + -15.653827489684488, + 15.051766071876415 + ], + [ + -17.159002000266014, + 15.051766071876415 + ], + [ + -18.363145801943517, + 14.449683688007013 + ], + [ + -19.868320312524986, + 14.449683688007013 + ], + [ + -20.16935102142901, + 14.449683688007013 + ], + [ + -20.470402696394387, + 14.449683688007013 + ], + [ + -20.470402696394387, + 15.051766071876415 + ], + [ + -20.771433405298467, + 16.857950325300607 + ], + [ + -20.771433405298467, + 19.266237928655556 + ], + [ + -20.470402696394387, + 21.674525532010506 + ], + [ + -19.868320312524986, + 23.480730751496054 + ], + [ + -18.363145801943517, + 25.588008612008338 + ], + [ + -15.653827489684488, + 28.899367376014027 + ], + [ + -14.14865297910302, + 31.006624270464954 + ], + [ + -12.944509177425516, + 32.21076807214243 + ], + [ + -12.041396084652092, + 32.51179878104645 + ], + [ + -11.138303957939968, + 32.21076807214243 + ], + [ + -10.235190865166544, + 31.608706654334355 + ], + [ + -9.332077772393063, + 30.705572595499575 + ], + [ + -8.127954936776973, + 28.899367376014027 + ], + [ + -6.92381113509947, + 26.190049063755026 + ], + [ + -5.719667333422024, + 21.07246411420246 + ], + [ + -5.117584949552622, + 18.664176510847483 + ], + [ + -4.816554240648543, + 17.460032709170008 + ], + [ + -4.816554240648543, + 16.55694058245794 + ], + [ + -5.418636624518001, + 14.750714396911036 + ], + [ + -6.020698042326046, + 12.944509177425488 + ], + [ + -6.321728751230069, + 11.43933466684399 + ], + [ + -6.6227804261954475, + 10.536242540131894 + ], + [ + -6.92381113509947, + 10.536242540131894 + ], + [ + -6.92381113509947, + 10.536242540131894 + ] + ], + "pressures": [ + 0.0576171875, + 0.275390625, + 0.384765625, + 0.5126953125, + 0.6337890625, + 0.6845703125, + 0.732421875, + 0.7763671875, + 0.8056640625, + 0.83203125, + 0.8408203125, + 0.8408203125, + 0.8388671875, + 0.8349609375, + 0.82421875, + 0.8076171875, + 0.744140625, + 0.7421875, + 0.73046875, + 0.73046875, + 0.73046875, + 0.728515625, + 0.69921875, + 0.6904296875, + 0.697265625, + 0.69921875, + 0.697265625, + 0.69921875, + 0.712890625, + 0.71484375, + 0.71875, + 0.73046875, + 0.736328125, + 0.74609375, + 0.7421875, + 0.734375, + 0.724609375, + 0.705078125, + 0.703125, + 0.701171875, + 0.69921875, + 0.6865234375, + 0.6845703125, + 0.6806640625, + 0.67578125, + 0.669921875, + 0.66015625, + 0.6572265625, + 0.6474609375, + 0.6494140625, + 0.6494140625, + 0.6474609375, + 0.64453125, + 0.599609375, + 0.5224609375, + 0.3974609375, + 0.224609375, + 0.162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.92381113509947, + 10.536242540131894 + ] + }, + { + "id": "EOGGNrwm665j77_6fUQPV", + "type": "freedraw", + "x": 228.45011433525843, + "y": 188.0233904032375, + "width": 17.761084384135415, + "height": 35.82319947717485, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1543059907, + "version": 131, + "versionNonce": 575383885, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -14.148652979102962, + -13.546612527356274 + ], + [ + -15.051766071876443, + -13.847643236260296 + ], + [ + -15.352796780780466, + -13.847643236260296 + ], + [ + -16.25590987355389, + -13.245581818452223 + ], + [ + -16.857971291361935, + -11.740407307870726 + ], + [ + -17.460053675231393, + -9.93418112232385 + ], + [ + -17.761084384135415, + -7.525893518968871 + ], + [ + -17.761084384135415, + -3.612452371093781 + ], + [ + -17.761084384135415, + -0.9031340588347803 + ], + [ + -17.159022966327313, + 1.5051745105815257 + ], + [ + -15.954879164649867, + 4.2144718567791415 + ], + [ + -14.750735362972364, + 6.923790169038142 + ], + [ + -12.944530143486872, + 10.235169899105188 + ], + [ + -11.74038634180937, + 12.342426793556115 + ], + [ + -10.235211831227844, + 14.148632013041635 + ], + [ + -9.031068029550397, + 15.95485819858854 + ], + [ + -6.92381113509947, + 18.664155544786155 + ], + [ + -5.418636624517944, + 20.47038173033306 + ], + [ + -4.214492822840498, + 21.373473857045155 + ], + [ + -3.9134621139364185, + 21.975556240914557 + ], + [ + -3.612431405032396, + 21.975556240914557 + ], + [ + -4.214492822840498, + 21.975556240914557 + ], + [ + -4.816575206709899, + 21.975556240914557 + ], + [ + -5.117605915613922, + 21.07246411420249 + ], + [ + -5.117605915613922, + 20.771412439237082 + ], + [ + -5.117605915613922, + 20.771412439237082 + ] + ], + "pressures": [ + 0.0703125, + 0.6162109375, + 0.626953125, + 0.626953125, + 0.646484375, + 0.6474609375, + 0.6494140625, + 0.6494140625, + 0.6494140625, + 0.6552734375, + 0.66015625, + 0.66796875, + 0.66796875, + 0.662109375, + 0.669921875, + 0.669921875, + 0.6640625, + 0.6533203125, + 0.6513671875, + 0.638671875, + 0.625, + 0.6240234375, + 0.470703125, + 0.2734375, + 0.1435546875, + 0.0888671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.117605915613922, + 20.771412439237082 + ] + }, + { + "id": "uSmfQIFRuQbNL_5usJj4r", + "type": "freedraw", + "x": 217.91387179512657, + "y": 191.03373942440052, + "width": 10.536242540131923, + "height": 13.245560852390895, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 99254083, + "version": 142, + "versionNonce": 949493251, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.30100974284269455 + ], + [ + -0.6020614178081019, + 0.6020614178080734 + ], + [ + -0.9030921267121244, + 0.6020614178080734 + ], + [ + -1.2041438016775032, + 0.6020614178080734 + ], + [ + -1.8062052194855482, + 0.30100974284269455 + ], + [ + -2.1072359283895707, + -0.6020823838694014 + ], + [ + -2.709318312259029, + -2.107256894450927 + ], + [ + -3.0103490211630515, + -6.020698042326018 + ], + [ + -3.0103490211630515, + -8.429006611742324 + ], + [ + -2.709318312259029, + -10.536242540131894 + ], + [ + -2.4082876033550065, + -11.74038634180937 + ], + [ + -1.8062052194855482, + -12.342468725678799 + ], + [ + -1.2041438016775032, + -12.643499434582822 + ], + [ + 0, + -12.643499434582822 + ], + [ + 1.505174510581469, + -12.342468725678799 + ], + [ + 3.0103490211629946, + -11.439355632905347 + ], + [ + 4.816575206709899, + -9.332119704515776 + ], + [ + 5.719667333421967, + -7.5258935189689 + ], + [ + 6.020719008387346, + -6.020698042326018 + ], + [ + 6.020719008387346, + -4.51552353174452 + ], + [ + 5.117605915613922, + -2.408308569416306 + ], + [ + 3.9134621139364185, + -1.2041647677388312 + ], + [ + 2.4082876033549496, + 0 + ], + [ + 0.3010307089040225, + 0.6020614178080734 + ], + [ + -1.5051745105815257, + 0.6020614178080734 + ], + [ + -3.6124104389710965, + -0.9031130927734523 + ], + [ + -4.214492822840498, + -2.7093392783203285 + ], + [ + -4.515523531744577, + -4.51552353174452 + ], + [ + -4.515523531744577, + -5.418657590579329 + ], + [ + -4.214492822840498, + -6.020698042326018 + ], + [ + -3.9134621139364754, + -6.321749717291425 + ], + [ + -3.6124104389710965, + -6.923832101160826 + ], + [ + -2.709318312259029, + -7.5258935189689 + ], + [ + -1.8062052194855482, + -7.5258935189689 + ], + [ + -0.9030921267121244, + -7.5258935189689 + ], + [ + -0.6020614178081019, + -7.5258935189689 + ], + [ + -0.6020614178081019, + -7.5258935189689 + ] + ], + "pressures": [ + 0.052734375, + 0.0712890625, + 0.17578125, + 0.2294921875, + 0.2685546875, + 0.3427734375, + 0.3701171875, + 0.4189453125, + 0.64453125, + 0.7724609375, + 0.9150390625, + 0.9833984375, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.9814453125, + 0.9599609375, + 0.9365234375, + 0.931640625, + 0.927734375, + 0.927734375, + 0.92578125, + 0.927734375, + 0.9365234375, + 0.947265625, + 0.951171875, + 0.953125, + 0.953125, + 0.9384765625, + 0.9150390625, + 0.6591796875, + 0.4111328125, + 0.166015625, + 0.1201171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.6020614178081019, + -7.5258935189689 + ] + }, + { + "id": "TTxMkRHZ-u1YSLCCQuYjU", + "type": "freedraw", + "x": 215.806635866737, + "y": 187.72233872827212, + "width": 15.051766071876386, + "height": 41.241836101692854, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 407776141, + "version": 158, + "versionNonce": 1392703405, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5051745105815257, + 0.3010516749653789 + ], + [ + -2.107256894450927, + 0.9030921267120959 + ], + [ + -2.107256894450927, + 1.8062261855469046 + ], + [ + -2.107256894450927, + 3.010349021163023 + ], + [ + -1.8062261855469046, + 4.816575206709928 + ], + [ + -0.6020823838694582, + 7.224841844003521 + ], + [ + 0.602061417808045, + 8.428985645680996 + ], + [ + 1.8062052194854914, + 9.03104706348904 + ], + [ + 3.0103490211629946, + 9.03104706348904 + ], + [ + 5.719667333421967, + 9.03104706348904 + ], + [ + 7.525872552907515, + 9.03104706348904 + ], + [ + 9.03104706348904, + 9.03104706348904 + ], + [ + 9.633129447358442, + 8.730016354585018 + ], + [ + 10.235190865166487, + 8.730016354585018 + ], + [ + 11.138303957939968, + 8.428985645680996 + ], + [ + 11.740365375748013, + 8.428985645680996 + ], + [ + 12.041396084652035, + 8.127954936776973 + ], + [ + 12.342447759617414, + 8.127954936776973 + ], + [ + 12.643478468521437, + 8.428985645680996 + ], + [ + 12.94450917742546, + 9.03104706348904 + ], + [ + 12.94450917742546, + 9.934160156262493 + ], + [ + 12.643478468521437, + 10.837273249035945 + ], + [ + 12.041396084652035, + 11.740365375748041 + ], + [ + 10.53622157407051, + 13.847643236260325 + ], + [ + 9.03104706348904, + 15.051766071876443 + ], + [ + 7.2248418440034925, + 16.55694058245794 + ], + [ + 5.719667333421967, + 18.363166768004845 + ], + [ + 3.6124104389710396, + 20.77143340529844 + ], + [ + 2.4082666372935932, + 22.577638624783987 + ], + [ + 0.9030921267120675, + 24.684895519234914 + ], + [ + 0, + 26.792131447624485 + ], + [ + -0.9031130927734807, + 28.89940930813674 + ], + [ + -1.2041438016775032, + 31.307654979369005 + ], + [ + -1.2041438016775032, + 32.81285045601186 + ], + [ + -0.9031130927734807, + 34.61905567549741 + ], + [ + 0, + 36.72629160388698 + ], + [ + 1.8062052194854914, + 39.435630882207306 + ], + [ + 3.311379730067017, + 40.3387230089194 + ], + [ + 4.816554240648543, + 41.241836101692854 + ], + [ + 6.020698042325989, + 41.241836101692854 + ], + [ + 7.2248418440034925, + 41.241836101692854 + ], + [ + 9.332077772393063, + 39.73666159111133 + ], + [ + 10.837273249035889, + 37.6294046966604 + ], + [ + 12.041396084652035, + 35.22111709330545 + ], + [ + 12.342447759617414, + 33.11388116491588 + ], + [ + 12.643478468521437, + 30.404583818718265 + ], + [ + 12.643478468521437, + 27.093162156528507 + ], + [ + 12.342447759617414, + 22.276607915879936 + ], + [ + 11.740365375748013, + 20.470402696394416 + ], + [ + 10.837273249035889, + 19.567289603620964 + ], + [ + 9.633129447358442, + 18.965207219751534 + ], + [ + 9.332077772393063, + 18.66417651084751 + ], + [ + 9.03104706348904, + 18.363166768004845 + ], + [ + 8.730016354585018, + 18.062115093039466 + ], + [ + 8.730016354585018, + 18.062115093039466 + ] + ], + "pressures": [ + 0.044921875, + 0.2275390625, + 0.2958984375, + 0.3701171875, + 0.4287109375, + 0.4951171875, + 0.6044921875, + 0.6337890625, + 0.6474609375, + 0.6552734375, + 0.6640625, + 0.671875, + 0.671875, + 0.662109375, + 0.6591796875, + 0.646484375, + 0.642578125, + 0.6357421875, + 0.625, + 0.6201171875, + 0.6162109375, + 0.6181640625, + 0.6201171875, + 0.6201171875, + 0.6181640625, + 0.6240234375, + 0.6240234375, + 0.6181640625, + 0.6220703125, + 0.626953125, + 0.626953125, + 0.630859375, + 0.6318359375, + 0.638671875, + 0.642578125, + 0.642578125, + 0.642578125, + 0.6376953125, + 0.6357421875, + 0.6376953125, + 0.640625, + 0.640625, + 0.62890625, + 0.6220703125, + 0.6044921875, + 0.5888671875, + 0.59375, + 0.6181640625, + 0.609375, + 0.591796875, + 0.583984375, + 0.5029296875, + 0.2939453125, + 0.15234375, + 0.041015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.730016354585018, + 18.062115093039466 + ] + }, + { + "id": "JReGdOwpEHL65QQhDcr40", + "type": "freedraw", + "x": 215.50558419177156, + "y": 188.0233904032375, + "width": 12.041417050713392, + "height": 35.5221478022095, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1299911469, + "version": 146, + "versionNonce": 210462115, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.602061417808045, + 1.8061842534241919 + ], + [ + -0.3010307089040225, + 3.010349021163023 + ], + [ + 0.3010516749654357, + 4.816533274587215 + ], + [ + 0.3010516749654357, + 5.418615658456616 + ], + [ + 0.6020823838694582, + 6.020698042326046 + ], + [ + 1.5051954766428821, + 6.321728751230069 + ], + [ + 2.4082876033550065, + 6.622759460134091 + ], + [ + 3.3114006961284304, + 6.622759460134091 + ], + [ + 4.214513788901854, + 6.622759460134091 + ], + [ + 4.816575206709956, + 6.923790169038142 + ], + [ + 5.71968829948338, + 7.525872552907543 + ], + [ + 6.321749717291425, + 8.42896467961964 + ], + [ + 6.923832101160883, + 9.03104706348907 + ], + [ + 7.224862810064906, + 9.934139190201165 + ], + [ + 7.224862810064906, + 11.13828299187864 + ], + [ + 6.923832101160883, + 12.04141705071342 + ], + [ + 6.0207190083874025, + 12.94448821136416 + ], + [ + 4.816575206709956, + 13.847601304137612 + ], + [ + 3.9134621139364754, + 14.750714396911064 + ], + [ + 1.8062261855469046, + 15.95485819858854 + ], + [ + 0.6020823838694582, + 17.158981034204658 + ], + [ + -0.9030921267120675, + 18.965207219751562 + ], + [ + -2.4082666372935932, + 21.373473857045155 + ], + [ + -3.311379730067017, + 23.781761460400105 + ], + [ + -3.6124104389710396, + 25.58798764594701 + ], + [ + -3.6124104389710396, + 27.996254283240603 + ], + [ + -3.0103490211629946, + 30.705572595499575 + ], + [ + -2.1072359283895707, + 33.414890907758576 + ], + [ + -1.20412283561609, + 34.92006541834007 + ], + [ + -0.3010307089040225, + 35.221096127244124 + ], + [ + 0.9031130927734807, + 35.5221478022095 + ], + [ + 2.4082876033550065, + 35.5221478022095 + ], + [ + 4.816575206709956, + 35.221096127244124 + ], + [ + 6.321749717291425, + 34.31800400053203 + ], + [ + 7.525893518968928, + 33.11388116491588 + ], + [ + 8.127954936776973, + 31.90971639717705 + ], + [ + 8.429006611742352, + 30.404541886595553 + ], + [ + 8.429006611742352, + 27.69522357433658 + ], + [ + 8.127954936776973, + 25.58798764594701 + ], + [ + 8.127954936776973, + 24.082813135365484 + ], + [ + 8.127954936776973, + 23.17970004259203 + ], + [ + 8.429006611742352, + 23.17970004259203 + ], + [ + 8.429006611742352, + 23.17970004259203 + ] + ], + "pressures": [ + 0.0146484375, + 0.31640625, + 0.4111328125, + 0.5439453125, + 0.58984375, + 0.6025390625, + 0.6181640625, + 0.6240234375, + 0.62890625, + 0.630859375, + 0.6337890625, + 0.6357421875, + 0.6376953125, + 0.638671875, + 0.638671875, + 0.6357421875, + 0.646484375, + 0.6640625, + 0.67578125, + 0.6923828125, + 0.7109375, + 0.71484375, + 0.71875, + 0.71875, + 0.7265625, + 0.73046875, + 0.73046875, + 0.720703125, + 0.708984375, + 0.697265625, + 0.6904296875, + 0.6826171875, + 0.6826171875, + 0.6806640625, + 0.6845703125, + 0.6865234375, + 0.6826171875, + 0.671875, + 0.6572265625, + 0.6357421875, + 0.5869140625, + 0.4677734375, + 0.1201171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.429006611742352, + 23.17970004259203 + ] + }, + { + "id": "4D0YlFC_yIFYb6XCtKLyN", + "type": "freedraw", + "x": 223.0314777107405, + "y": 180.79852759317265, + "width": 21.072464114202432, + "height": 19.56731056968229, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1562240483, + "version": 144, + "versionNonce": 1619098125, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.602061417808045, + -0.3010307089040225 + ], + [ + -0.602061417808045, + 0.3010307089040225 + ], + [ + -0.602061417808045, + 1.8062052194855482 + ], + [ + 0, + 4.51552353174452 + ], + [ + 0.9031130927734239, + 6.020698042326018 + ], + [ + 2.4082876033549496, + 7.525872552907543 + ], + [ + 5.418636624517944, + 8.428985645680996 + ], + [ + 8.127954936776916, + 8.428985645680996 + ], + [ + 10.536242540131923, + 8.428985645680996 + ], + [ + 12.041417050713392, + 8.127954936776945 + ], + [ + 13.546591561294917, + 7.224862810064849 + ], + [ + 14.750735362972364, + 6.020698042326018 + ], + [ + 15.051766071876443, + 5.418636624517973 + ], + [ + 15.352796780780466, + 5.117584949552594 + ], + [ + 15.653827489684488, + 4.816554240648543 + ], + [ + 16.556940582457912, + 4.816554240648543 + ], + [ + 17.159002000266014, + 4.51552353174452 + ], + [ + 17.761084384135415, + 4.51552353174452 + ], + [ + 18.664176510847483, + 4.51552353174452 + ], + [ + 19.26625889471694, + 4.51552353174452 + ], + [ + 20.169371987490365, + 5.117584949552594 + ], + [ + 20.470402696394387, + 6.6227804261954475 + ], + [ + 20.470402696394387, + 8.127954936776945 + ], + [ + 20.169371987490365, + 9.63312944735847 + ], + [ + 18.96522818581286, + 12.643478468521465 + ], + [ + 17.761084384135415, + 14.449683688007013 + ], + [ + 15.653827489684488, + 15.95485819858851 + ], + [ + 13.84762227019894, + 17.460032709170036 + ], + [ + 12.041417050713392, + 18.36314580194349 + ], + [ + 10.235190865166487, + 18.965207219751534 + ], + [ + 9.03104706348904, + 19.26627986077827 + ], + [ + 7.2248418440034925, + 19.26627986077827 + ], + [ + 6.020698042326046, + 19.26627986077827 + ], + [ + 4.816554240648543, + 19.26627986077827 + ], + [ + 4.214492822840498, + 18.66417651084751 + ], + [ + 3.612431405032396, + 17.761084384135415 + ], + [ + 3.0103490211629946, + 17.159002000266014 + ], + [ + 2.4082876033549496, + 16.55694058245794 + ], + [ + 1.8062052194855482, + 16.255909873553918 + ], + [ + 0.9031130927734239, + 15.95485819858851 + ], + [ + 0.602061417808045, + 15.653827489684488 + ], + [ + 0.3010307089040225, + 15.653827489684488 + ], + [ + 0.3010307089040225, + 15.95485819858851 + ], + [ + 0.3010307089040225, + 16.255909873553918 + ], + [ + 0.3010307089040225, + 16.255909873553918 + ] + ], + "pressures": [ + 0.0732421875, + 0.2822265625, + 0.36328125, + 0.42578125, + 0.671875, + 0.7587890625, + 0.79296875, + 0.794921875, + 0.796875, + 0.80078125, + 0.802734375, + 0.8095703125, + 0.791015625, + 0.7607421875, + 0.740234375, + 0.71875, + 0.677734375, + 0.671875, + 0.669921875, + 0.666015625, + 0.6640625, + 0.6591796875, + 0.6533203125, + 0.6533203125, + 0.6533203125, + 0.638671875, + 0.6337890625, + 0.642578125, + 0.646484375, + 0.6572265625, + 0.69921875, + 0.705078125, + 0.70703125, + 0.7109375, + 0.712890625, + 0.712890625, + 0.708984375, + 0.705078125, + 0.701171875, + 0.6904296875, + 0.6806640625, + 0.669921875, + 0.66015625, + 0.1943359375, + 0.1474609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0.3010307089040225, + 16.255909873553918 + ] + }, + { + "id": "7pBp691k4jm-DkLwfyTbC", + "type": "freedraw", + "x": 229.05217575306654, + "y": 199.46270410402016, + "width": 7.525872552907515, + "height": 24.684874553173557, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1768168557, + "version": 115, + "versionNonce": 2113190211, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.9031130927734239, + -0.9030921267120959 + ], + [ + 0.3010516749653789, + -0.3010307089040225 + ], + [ + -0.9030921267121244, + 1.2041438016774748 + ], + [ + -2.40826663729365, + 3.010349021163023 + ], + [ + -3.311379730067074, + 4.214492822840498 + ], + [ + -4.51552353174452, + 6.020719008387374 + ], + [ + -5.418636624518001, + 8.127975902838301 + ], + [ + -5.719667333422024, + 10.235211831227872 + ], + [ + -6.020698042326046, + 12.342447759617443 + ], + [ + -6.321728751230069, + 14.44970465406837 + ], + [ + -6.622759460134091, + 18.062115093039438 + ], + [ + -6.622759460134091, + 20.16939295355172 + ], + [ + -6.622759460134091, + 21.975577206975913 + ], + [ + -6.321728751230069, + 22.878690299749366 + ], + [ + -6.020698042326046, + 23.78178242646146 + ], + [ + -5.719667333422024, + 23.78178242646146 + ], + [ + -5.418636624518001, + 23.48075171755741 + ], + [ + -5.418636624518001, + 23.179741974714744 + ], + [ + -5.418636624518001, + 23.179741974714744 + ] + ], + "pressures": [ + 0.0146484375, + 0.0908203125, + 0.2861328125, + 0.384765625, + 0.5048828125, + 0.580078125, + 0.6240234375, + 0.671875, + 0.697265625, + 0.73046875, + 0.748046875, + 0.74609375, + 0.744140625, + 0.736328125, + 0.697265625, + 0.5380859375, + 0.1982421875, + 0.0986328125, + 0.0654296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.418636624518001, + 23.179741974714744 + ] + }, + { + "id": "Bec-4l-fEtDXBfOSv4lGi", + "type": "freedraw", + "x": 227.547001242485, + "y": 198.2585603023427, + "width": 6.020698042326046, + "height": 22.276628881941292, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 970671523, + "version": 110, + "versionNonce": 331395181, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.9030921267121244, + 0.6020823838694014 + ], + [ + -2.1072359283895707, + 2.107256894450927 + ], + [ + -3.311379730067074, + 3.913462113936447 + ], + [ + -4.51552353174452, + 5.719688299483352 + ], + [ + -5.418636624518001, + 10.235211831227872 + ], + [ + -5.719667333422024, + 14.148673945164347 + ], + [ + -6.020698042326046, + 17.159022966327342 + ], + [ + -6.020698042326046, + 19.56731056968229 + ], + [ + -5.719667333422024, + 21.373536755229196 + ], + [ + -5.719667333422024, + 21.975577206975913 + ], + [ + -5.719667333422024, + 22.276628881941292 + ], + [ + -5.418636624518001, + 22.276628881941292 + ], + [ + -5.117584949552565, + 22.276628881941292 + ], + [ + -5.117584949552565, + 22.276628881941292 + ] + ], + "pressures": [ + 0.0302734375, + 0.4482421875, + 0.525390625, + 0.57421875, + 0.6015625, + 0.6474609375, + 0.6787109375, + 0.6787109375, + 0.638671875, + 0.5458984375, + 0.4384765625, + 0.26953125, + 0.20703125, + 0.1279296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.117584949552565, + 22.276628881941292 + ] + }, + { + "id": "LzUPzVmArb77v1L_yGEpe", + "type": "freedraw", + "x": 228.1490836263544, + "y": 198.55961197730807, + "width": 6.321749717291425, + "height": 23.78178242646146, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1953037091, + "version": 111, + "versionNonce": 171088099, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.3010516749653789, + 0.9030921267120959 + ], + [ + -0.6020823838694014, + 1.8062052194855482 + ], + [ + -1.8062261855469046, + 3.612410438971068 + ], + [ + -2.709318312258972, + 6.020719008387374 + ], + [ + -4.214492822840498, + 8.730016354585018 + ], + [ + -5.117605915613922, + 11.43933466684399 + ], + [ + -5.719667333421967, + 13.847622270198968 + ], + [ + -6.321749717291425, + 16.55694058245794 + ], + [ + -6.321749717291425, + 18.66417651084751 + ], + [ + -6.321749717291425, + 20.77143340529844 + ], + [ + -6.321749717291425, + 22.577659590845315 + ], + [ + -6.321749717291425, + 23.48075171755741 + ], + [ + -6.321749717291425, + 23.78178242646146 + ], + [ + -6.0207190083874025, + 23.78178242646146 + ], + [ + -6.0207190083874025, + 23.78178242646146 + ] + ], + "pressures": [ + 0.078125, + 0.2646484375, + 0.3193359375, + 0.4130859375, + 0.46875, + 0.529296875, + 0.6064453125, + 0.677734375, + 0.701171875, + 0.697265625, + 0.66015625, + 0.591796875, + 0.484375, + 0.404296875, + 0.12109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.0207190083874025, + 23.78178242646146 + ] + }, + { + "id": "J962e0F6pi4ztklFjy_8O", + "type": "freedraw", + "x": 224.23562151241794, + "y": 185.31405112491717, + "width": 10.2352118312279, + "height": 37.93043540556445, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1085290787, + "version": 150, + "versionNonce": 1519000269, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.3010307089040225, + 0 + ], + [ + -0.6020823838694014, + 0 + ], + [ + -0.9031130927734239, + 0.6020614178080734 + ], + [ + -0.9031130927734239, + 0.9031130927734523 + ], + [ + -1.2041438016774464, + 1.5051745105814973 + ], + [ + -1.2041438016774464, + 2.107256894450927 + ], + [ + -1.2041438016774464, + 3.3113797300670456 + ], + [ + -0.6020823838694014, + 5.11760591561395 + ], + [ + 0, + 6.321749717291425 + ], + [ + 0.9030921267121244, + 7.224862810064877 + ], + [ + 1.5051745105815257, + 7.525872552907543 + ], + [ + 2.1072359283895707, + 8.127954936776945 + ], + [ + 3.0103490211630515, + 9.33209873845442 + ], + [ + 3.6124104389710965, + 10.235211831227872 + ], + [ + 4.214492822840498, + 10.837273249035945 + ], + [ + 4.8165542406486, + 11.43933466684399 + ], + [ + 5.117605915613979, + 11.740386341809398 + ], + [ + 5.418636624518001, + 12.342447759617443 + ], + [ + 5.418636624518001, + 12.643478468521494 + ], + [ + 5.418636624518001, + 13.245560852390895 + ], + [ + 5.418636624518001, + 13.847622270198968 + ], + [ + 5.117605915613979, + 14.750756329033749 + ], + [ + 4.8165542406486, + 15.352796780780466 + ], + [ + 4.51552353174452, + 15.653827489684488 + ], + [ + 4.214492822840498, + 15.954879164649867 + ], + [ + 3.6124104389710965, + 16.55694058245794 + ], + [ + 3.0103490211630515, + 17.159002000266014 + ], + [ + 2.1072359283895707, + 17.76110535019677 + ], + [ + 1.5051745105815257, + 18.664197476908868 + ], + [ + 0.9030921267121244, + 19.26627986077827 + ], + [ + 0.30103070890407935, + 20.169371987490365 + ], + [ + -0.3010307089040225, + 20.771454371359795 + ], + [ + -0.9031130927734239, + 21.975577206975913 + ], + [ + -1.505174510581469, + 23.48075171755741 + ], + [ + -2.4082876033549496, + 25.286977903104315 + ], + [ + -2.709318312258972, + 26.19007002981641 + ], + [ + -2.709318312258972, + 27.093183122589863 + ], + [ + -3.0103490211629946, + 28.297326924267338 + ], + [ + -3.3114006961283735, + 30.40456285265691 + ], + [ + -3.612431405032396, + 31.608706654334384 + ], + [ + -3.9134621139364185, + 32.812871422073215 + ], + [ + -3.9134621139364185, + 33.715942582723955 + ], + [ + -4.214492822840498, + 34.31804593265471 + ], + [ + -4.51552353174452, + 35.52216876827083 + ], + [ + -4.51552353174452, + 36.124230186078904 + ], + [ + -4.816575206709899, + 36.42526089498293 + ], + [ + -4.816575206709899, + 36.726312569948306 + ], + [ + -4.816575206709899, + 37.027343278852356 + ], + [ + -4.816575206709899, + 37.328394953817735 + ], + [ + -4.816575206709899, + 37.6294046966604 + ], + [ + -4.816575206709899, + 37.93043540556445 + ], + [ + -4.214492822840498, + 37.93043540556445 + ], + [ + -3.9134621139364185, + 37.93043540556445 + ], + [ + -3.9134621139364185, + 37.93043540556445 + ] + ], + "pressures": [ + 0.0537109375, + 0.0849609375, + 0.158203125, + 0.1943359375, + 0.21875, + 0.26171875, + 0.3193359375, + 0.3525390625, + 0.3994140625, + 0.416015625, + 0.427734375, + 0.431640625, + 0.4375, + 0.4453125, + 0.455078125, + 0.4658203125, + 0.4677734375, + 0.46875, + 0.4765625, + 0.4736328125, + 0.478515625, + 0.4775390625, + 0.48046875, + 0.48046875, + 0.48046875, + 0.482421875, + 0.4833984375, + 0.484375, + 0.484375, + 0.482421875, + 0.482421875, + 0.482421875, + 0.482421875, + 0.48046875, + 0.478515625, + 0.478515625, + 0.482421875, + 0.4833984375, + 0.482421875, + 0.48046875, + 0.484375, + 0.484375, + 0.48828125, + 0.48828125, + 0.4873046875, + 0.4853515625, + 0.4873046875, + 0.4853515625, + 0.482421875, + 0.48046875, + 0.47265625, + 0.43359375, + 0.1337890625, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.9134621139364185, + 37.93043540556445 + ] + }, + { + "id": "nFkD8UX1REJojSj5WtPdE", + "type": "freedraw", + "x": 222.73044700183647, + "y": 186.81922563549867, + "width": 6.321749717291425, + "height": 35.82322044323624, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1191896621, + "version": 137, + "versionNonce": 2127791235, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.6020823838694582, + 0 + ], + [ + -0.6020823838694582, + 0.6020823838694298 + ], + [ + -0.6020823838694582, + 0.9031130927734523 + ], + [ + -0.6020823838694582, + 1.5051745105815257 + ], + [ + -0.9031130927734807, + 3.311400696128402 + ], + [ + -0.9031130927734807, + 4.515523531744549 + ], + [ + -0.9031130927734807, + 5.11760591561395 + ], + [ + -0.9031130927734807, + 6.020698042326046 + ], + [ + -0.3010307089040225, + 6.321749717291425 + ], + [ + 0, + 6.923811135099498 + ], + [ + 0.602061417808045, + 7.5258935189689 + ], + [ + 1.2041438016774464, + 7.5258935189689 + ], + [ + 1.505174510581469, + 7.826924227872922 + ], + [ + 2.1072359283895707, + 7.826924227872922 + ], + [ + 2.709318312258972, + 8.127954936776973 + ], + [ + 3.6124104389710396, + 9.031068029550426 + ], + [ + 4.51552353174452, + 10.2352118312279 + ], + [ + 4.816554240648543, + 11.138303957939996 + ], + [ + 5.117584949552565, + 12.342447759617471 + ], + [ + 5.418636624517944, + 14.148652979102991 + ], + [ + 5.418636624517944, + 15.954879164649896 + ], + [ + 5.418636624517944, + 17.76110535019677 + ], + [ + 4.816554240648543, + 19.567289603620964 + ], + [ + 4.51552353174452, + 20.771454371359795 + ], + [ + 3.9134621139364185, + 21.975577206975913 + ], + [ + 3.0103490211629946, + 23.48075171755744 + ], + [ + 2.1072359283895707, + 25.286977903104315 + ], + [ + 1.505174510581469, + 26.19007002981641 + ], + [ + 1.505174510581469, + 26.79215241368584 + ], + [ + 1.2041438016774464, + 27.695244540397937 + ], + [ + 1.2041438016774464, + 28.89938834207541 + ], + [ + 0.602061417808045, + 31.307696911491718 + ], + [ + 0.3010307089040225, + 32.812871422073215 + ], + [ + 0, + 33.41491187381993 + ], + [ + 0, + 34.01699425768933 + ], + [ + 0, + 34.31804593265471 + ], + [ + 0, + 34.92008638440143 + ], + [ + -0.3010307089040225, + 35.22113805936681 + ], + [ + -0.6020823838694582, + 35.82322044323624 + ], + [ + -0.6020823838694582, + 35.52216876827086 + ], + [ + -0.6020823838694582, + 35.52216876827086 + ] + ], + "pressures": [ + 0.0361328125, + 0.1171875, + 0.1376953125, + 0.17578125, + 0.2275390625, + 0.3173828125, + 0.3701171875, + 0.3916015625, + 0.400390625, + 0.4033203125, + 0.404296875, + 0.4072265625, + 0.4052734375, + 0.4013671875, + 0.3974609375, + 0.40234375, + 0.4013671875, + 0.404296875, + 0.4169921875, + 0.4404296875, + 0.47265625, + 0.5146484375, + 0.564453125, + 0.591796875, + 0.6015625, + 0.611328125, + 0.630859375, + 0.6474609375, + 0.6591796875, + 0.671875, + 0.673828125, + 0.671875, + 0.6806640625, + 0.6943359375, + 0.703125, + 0.70703125, + 0.705078125, + 0.705078125, + 0.701171875, + 0.6826171875, + 0.1416015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.6020823838694582, + 35.52216876827086 + ] + }, + { + "id": "h8ThaJPguHF1oeUMAq15F", + "type": "freedraw", + "x": 223.9345908035139, + "y": 184.1099073232397, + "width": 7.2248418440034925, + "height": 37.6294046966604, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 612347789, + "version": 137, + "versionNonce": 762788141, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010307089040225 + ], + [ + 0, + -0.9030921267120959 + ], + [ + 0, + -1.2041438016774748 + ], + [ + 0.3010307089040225, + -1.5051745105814973 + ], + [ + 0.3010307089040225, + -1.2041438016774748 + ], + [ + 0.3010307089040225, + -0.9030921267120959 + ], + [ + 0.3010307089040225, + -0.6020614178080734 + ], + [ + 0.3010307089040225, + 0.6020823838694014 + ], + [ + 0.6020614178081019, + 1.5051745105814973 + ], + [ + 0.6020614178081019, + 2.107256894450927 + ], + [ + 0.9030921267121244, + 2.408308569416306 + ], + [ + 1.2041228356161469, + 2.709318312258972 + ], + [ + 1.8062052194855482, + 3.9134830799978033 + ], + [ + 2.4082666372935932, + 5.418657590579329 + ], + [ + 3.0103490211630515, + 7.224841844003521 + ], + [ + 3.6124104389710965, + 9.031068029550397 + ], + [ + 4.214492822840498, + 11.138303957939968 + ], + [ + 4.214492822840498, + 12.643478468521465 + ], + [ + 4.51552353174452, + 14.148652979102991 + ], + [ + 4.816554240648543, + 15.653827489684488 + ], + [ + 4.816554240648543, + 17.159022966327342 + ], + [ + 4.816554240648543, + 19.266258894716913 + ], + [ + 4.51552353174452, + 20.77143340529844 + ], + [ + 4.214492822840498, + 22.276607915879936 + ], + [ + 3.6124104389710965, + 23.78178242646146 + ], + [ + 3.0103490211630515, + 24.985947194200293 + ], + [ + 2.4082666372935932, + 26.19007002981641 + ], + [ + 1.8062052194855482, + 27.093183122589835 + ], + [ + 1.5051745105815257, + 28.59835763317136 + ], + [ + 0.6020614178081019, + 30.103532143752858 + ], + [ + -0.6020823838694014, + 32.21076807214243 + ], + [ + -1.2041438016774464, + 33.11388116491588 + ], + [ + -1.505174510581469, + 33.414911873819904 + ], + [ + -1.505174510581469, + 34.01701522375069 + ], + [ + -1.8062261855469046, + 34.61905567549738 + ], + [ + -1.8062261855469046, + 35.22113805936681 + ], + [ + -2.107256894450927, + 35.52218973433219 + ], + [ + -2.107256894450927, + 35.82319947717485 + ], + [ + -2.4082876033549496, + 36.124230186078904 + ], + [ + -2.4082876033549496, + 35.82319947717485 + ], + [ + -2.4082876033549496, + 35.82319947717485 + ] + ], + "pressures": [ + 0.0078125, + 0.0263671875, + 0.0498046875, + 0.05859375, + 0.072265625, + 0.255859375, + 0.26171875, + 0.2685546875, + 0.2880859375, + 0.3173828125, + 0.3388671875, + 0.345703125, + 0.34765625, + 0.349609375, + 0.353515625, + 0.384765625, + 0.4111328125, + 0.43359375, + 0.455078125, + 0.4775390625, + 0.5029296875, + 0.5234375, + 0.5380859375, + 0.5478515625, + 0.5556640625, + 0.55859375, + 0.556640625, + 0.5673828125, + 0.5673828125, + 0.56640625, + 0.56640625, + 0.576171875, + 0.5869140625, + 0.58984375, + 0.591796875, + 0.5966796875, + 0.5966796875, + 0.58984375, + 0.59375, + 0.591796875, + 0.1787109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.4082876033549496, + 35.82319947717485 + ] + }, + { + "id": "xtODZlDjRyYuYf9jqkqeW", + "type": "freedraw", + "x": 216.40869728454504, + "y": 193.74303677059817, + "width": 3.9134621139364754, + "height": 17.761084384135415, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 189021155, + "version": 113, + "versionNonce": 1939209251, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558554, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010307089040509 + ], + [ + 0, + 1.2041438016774748 + ], + [ + 0, + 3.0103490211629946 + ], + [ + 0, + 5.117605915613922 + ], + [ + 0, + 7.2248418440034925 + ], + [ + 0, + 8.730016354585018 + ], + [ + -0.3010307089040225, + 11.138303957939968 + ], + [ + -0.3010307089040225, + 12.944509177425488 + ], + [ + -0.602061417808045, + 14.44970465406837 + ], + [ + -1.2041438016775032, + 15.653827489684488 + ], + [ + -1.5051745105815257, + 16.25590987355389 + ], + [ + -2.1072359283895707, + 16.55694058245794 + ], + [ + -2.709318312258972, + 16.85799225742332 + ], + [ + -3.311379730067074, + 17.159022966327342 + ], + [ + -3.6124104389710965, + 17.159022966327342 + ], + [ + -3.9134621139364754, + 17.460053675231364 + ], + [ + -3.6124104389710965, + 17.460053675231364 + ], + [ + -3.311379730067074, + 17.460053675231364 + ], + [ + -3.311379730067074, + 17.460053675231364 + ] + ], + "pressures": [ + 0.029296875, + 0.177734375, + 0.3701171875, + 0.4443359375, + 0.55078125, + 0.626953125, + 0.677734375, + 0.71484375, + 0.744140625, + 0.7666015625, + 0.7744140625, + 0.7763671875, + 0.78125, + 0.7705078125, + 0.7568359375, + 0.73828125, + 0.6806640625, + 0.1416015625, + 0.03125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.311379730067074, + 17.460053675231364 + ] + }, + { + "id": "Veh7s3ATs0DG2WuRXTxNF", + "type": "freedraw", + "x": 215.50558419177156, + "y": 192.53891393498205, + "width": 2.4082876033549496, + "height": 15.653827489684517, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2052676141, + "version": 108, + "versionNonce": 905022349, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010516749654357, + -0.3010516749654073 + ], + [ + 0.3010516749654357, + 0.602061417808045 + ], + [ + 0.6020823838694582, + 1.8062052194855198 + ], + [ + 0.6020823838694582, + 4.51552353174452 + ], + [ + 0.6020823838694582, + 5.418615658456616 + ], + [ + 0.6020823838694582, + 8.127933970715588 + ], + [ + 0.6020823838694582, + 9.633108481297086 + ], + [ + 0.3010516749654357, + 11.43933466684399 + ], + [ + -0.602061417808045, + 13.546591561294917 + ], + [ + -1.20412283561609, + 14.449683688007013 + ], + [ + -1.505174510581469, + 15.051766071876415 + ], + [ + -1.8062052194854914, + 15.051766071876415 + ], + [ + -1.8062052194854914, + 15.35277581471911 + ], + [ + -1.8062052194854914, + 15.35277581471911 + ] + ], + "pressures": [ + 0.029296875, + 0.2802734375, + 0.3212890625, + 0.38671875, + 0.5087890625, + 0.57421875, + 0.666015625, + 0.70703125, + 0.736328125, + 0.7587890625, + 0.7666015625, + 0.7646484375, + 0.5087890625, + 0.1474609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.8062052194854914, + 15.35277581471911 + ] + }, + { + "id": "CRBCUaNEPJLjGGhmGagoY", + "type": "freedraw", + "x": 219.41904630570804, + "y": 180.49749688426863, + "width": 20.16935102142901, + "height": 20.169371987490365, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 646875981, + "version": 135, + "versionNonce": 73957315, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.9031130927734523 + ], + [ + -0.3010307089040225, + -1.8062261855469046 + ], + [ + -0.3010307089040225, + -2.107256894450927 + ], + [ + -0.602061417808045, + -2.408287603354978 + ], + [ + -1.2041438016774464, + -3.0103699872243794 + ], + [ + -2.1072359283895707, + -3.311400696128402 + ], + [ + -3.9134621139364754, + -4.214513788901854 + ], + [ + -5.117584949552565, + -4.214513788901854 + ], + [ + -6.92381113509947, + -3.612431405032453 + ], + [ + -8.730016354585018, + -2.7093183122590005 + ], + [ + -11.138303957939968, + -0.6020823838694298 + ], + [ + -12.643478468521494, + 0.602061417808045 + ], + [ + -13.84762227019894, + 2.1072359283895707 + ], + [ + -15.051766071876443, + 3.9134411478750906 + ], + [ + -15.653827489684488, + 6.32172875123004 + ], + [ + -16.255888907492533, + 9.633129447358442 + ], + [ + -16.255888907492533, + 11.138303957939968 + ], + [ + -15.653827489684488, + 12.643478468521465 + ], + [ + -14.148652979102962, + 13.84762227019894 + ], + [ + -10.837273249035945, + 15.653827489684488 + ], + [ + -8.127954936776916, + 15.95485819858851 + ], + [ + -5.418636624517944, + 15.352796780780466 + ], + [ + -3.0103490211629946, + 13.84762227019894 + ], + [ + -1.2041438016774464, + 12.342426793556086 + ], + [ + 0.9031130927734807, + 9.934160156262493 + ], + [ + 2.709318312258972, + 7.2248418440034925 + ], + [ + 3.9134621139364754, + 4.816554240648543 + ], + [ + 3.9134621139364754, + 3.0103490211629946 + ], + [ + 2.709318312258972, + 0.9030921267120959 + ], + [ + 0.9031130927734807, + 0.3010307089040225 + ], + [ + -1.2041438016774464, + -0.3010516749654073 + ], + [ + -3.6124104389710396, + -0.6020823838694298 + ], + [ + -6.020698042326046, + -0.6020823838694298 + ], + [ + -9.03104706348904, + -0.3010516749654073 + ], + [ + -10.837273249035945, + 0 + ], + [ + -12.342447759617414, + 0.3010307089040225 + ], + [ + -13.546570595233561, + 0.602061417808045 + ], + [ + -15.051766071876443, + 2.1072359283895707 + ], + [ + -15.352796780780466, + 2.709318312258972 + ], + [ + -15.352796780780466, + 3.3113797300670456 + ], + [ + -15.352796780780466, + 3.3113797300670456 + ] + ], + "pressures": [ + 0.046875, + 0.103515625, + 0.169921875, + 0.18359375, + 0.2041015625, + 0.2568359375, + 0.306640625, + 0.41015625, + 0.48828125, + 0.5595703125, + 0.58984375, + 0.599609375, + 0.609375, + 0.6162109375, + 0.6318359375, + 0.6640625, + 0.673828125, + 0.669921875, + 0.6572265625, + 0.6513671875, + 0.642578125, + 0.6220703125, + 0.6064453125, + 0.5966796875, + 0.5966796875, + 0.58984375, + 0.6015625, + 0.6015625, + 0.59375, + 0.583984375, + 0.5439453125, + 0.515625, + 0.478515625, + 0.44921875, + 0.3623046875, + 0.3642578125, + 0.3662109375, + 0.3662109375, + 0.31640625, + 0.212890625, + 0.1435546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -15.352796780780466, + 3.3113797300670456 + ] + }, + { + "id": "5jNM3uEeCcCqa8f8iiU3T", + "type": "freedraw", + "x": 218.8169848879, + "y": 183.50784590543162, + "width": 17.761084384135415, + "height": 18.363166768004817, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 665723619, + "version": 154, + "versionNonce": 875729389, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -2.1072568944508987 + ], + [ + 0, + -2.4082876033549496 + ], + [ + -0.6020823838694014, + -3.311400696128402 + ], + [ + -0.9031130927734239, + -4.214492822840469 + ], + [ + -2.4082876033549496, + -5.418636624517973 + ], + [ + -3.9134621139364754, + -6.020719008387374 + ], + [ + -5.418636624518001, + -6.321749717291397 + ], + [ + -6.92381113509947, + -6.321749717291397 + ], + [ + -9.33209873845442, + -6.020719008387374 + ], + [ + -10.837273249035945, + -5.418636624517973 + ], + [ + -12.041417050713449, + -4.816575206709899 + ], + [ + -12.643478468521494, + -3.6124314050324244 + ], + [ + -13.546591561294917, + -2.1072568944508987 + ], + [ + -14.449704654068398, + 0.3010307089040509 + ], + [ + -14.449704654068398, + 1.2041438016774748 + ], + [ + -14.449704654068398, + 2.1072359283895707 + ], + [ + -14.449704654068398, + 2.7093183122590005 + ], + [ + -12.944509177425516, + 4.214492822840498 + ], + [ + -11.74038634180937, + 5.117584949552594 + ], + [ + -10.2352118312279, + 6.0207190083874025 + ], + [ + -8.730016354585018, + 6.321728751230069 + ], + [ + -7.2248418440034925, + 6.6227804261954475 + ], + [ + -4.816575206709899, + 6.923811135099498 + ], + [ + -3.3114006961284304, + 6.923811135099498 + ], + [ + -2.107256894450927, + 7.224841844003521 + ], + [ + -1.2041438016775032, + 7.5258935189689 + ], + [ + -0.6020823838694014, + 8.127954936776973 + ], + [ + 0, + 8.730016354585018 + ], + [ + 0.602061417808045, + 9.63312944735847 + ], + [ + 1.2041438016774464, + 10.536242540131923 + ], + [ + 1.5051745105815257, + 11.138303957939968 + ], + [ + 1.8062052194855482, + 11.439334666844019 + ], + [ + 1.8062052194855482, + 11.740365375748041 + ], + [ + 2.1072359283895707, + 12.04141705071342 + ], + [ + 2.4082876033549496, + 12.04141705071342 + ], + [ + 2.4082876033549496, + 11.138303957939968 + ], + [ + 2.4082876033549496, + 9.934160156262493 + ], + [ + 2.4082876033549496, + 8.730016354585018 + ], + [ + 2.4082876033549496, + 7.826903261811594 + ], + [ + 2.4082876033549496, + 7.224841844003521 + ], + [ + 2.4082876033549496, + 6.0207190083874025 + ], + [ + 2.709318312258972, + 4.214492822840498 + ], + [ + 3.0103490211629946, + 2.4082666372936217 + ], + [ + 3.311379730067017, + 0.9030921267120959 + ], + [ + 3.311379730067017, + 0.3010307089040509 + ], + [ + 2.709318312258972, + -0.6020823838694014 + ], + [ + 1.8062052194855482, + -1.8062261855468762 + ], + [ + 0.3010307089040225, + -3.311400696128402 + ], + [ + -0.3010307089040225, + -3.913462113936447 + ], + [ + -1.2041438016775032, + -4.214492822840469 + ], + [ + -1.8062052194855482, + -4.214492822840469 + ], + [ + -2.4082876033549496, + -4.214492822840469 + ], + [ + -3.3114006961284304, + -4.214492822840469 + ], + [ + -3.9134621139364754, + -3.913462113936447 + ], + [ + -4.214492822840498, + -3.913462113936447 + ], + [ + -4.214492822840498, + -3.6124314050324244 + ], + [ + -4.214492822840498, + -3.311400696128402 + ], + [ + -4.214492822840498, + -3.0103490211629946 + ], + [ + -3.9134621139364754, + -3.0103490211629946 + ], + [ + -3.9134621139364754, + -3.0103490211629946 + ] + ], + "pressures": [ + 0.0703125, + 0.2392578125, + 0.2734375, + 0.3291015625, + 0.3916015625, + 0.56640625, + 0.705078125, + 0.8134765625, + 0.8701171875, + 0.9130859375, + 0.9189453125, + 0.9296875, + 0.9345703125, + 0.9345703125, + 0.90625, + 0.8896484375, + 0.8701171875, + 0.861328125, + 0.849609375, + 0.8408203125, + 0.828125, + 0.82421875, + 0.82421875, + 0.828125, + 0.82421875, + 0.82421875, + 0.822265625, + 0.822265625, + 0.822265625, + 0.822265625, + 0.828125, + 0.830078125, + 0.830078125, + 0.8203125, + 0.8134765625, + 0.8056640625, + 0.8408203125, + 0.861328125, + 0.9130859375, + 0.9833984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.92578125, + 0.4248046875, + 0.2021484375, + 0.0595703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.9134621139364754, + -3.0103490211629946 + ] + }, + { + "id": "PkQbtxlyTFLS3iqY3meRo", + "type": "freedraw", + "x": 220.32215939848152, + "y": 181.70161971988475, + "width": 18.965207219751562, + "height": 20.169371987490393, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2053672451, + "version": 151, + "versionNonce": 1265209187, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + -1.5051745105815257 + ], + [ + 0.3010307089040225, + -1.8062052194855482 + ], + [ + -0.30103070890407935, + -2.7093183122590005 + ], + [ + -1.2041438016775032, + -3.3113797300670456 + ], + [ + -2.4082876033549496, + -4.214492822840498 + ], + [ + -3.9134621139364754, + -4.816554240648571 + ], + [ + -6.6227804261954475, + -4.816554240648571 + ], + [ + -8.428985645680996, + -4.214492822840498 + ], + [ + -10.235190865166544, + -3.010349021163023 + ], + [ + -11.740386341809426, + -1.5051745105815257 + ], + [ + -12.643478468521494, + 0.6020823838694014 + ], + [ + -13.847622270198997, + 4.816596172771256 + ], + [ + -14.14865297910302, + 6.92381113509947 + ], + [ + -14.14865297910302, + 7.826945193934279 + ], + [ + -14.14865297910302, + 8.429006611742324 + ], + [ + -12.944509177425516, + 9.93418112232385 + ], + [ + -11.439334666844047, + 11.439355632905347 + ], + [ + -9.934160156262521, + 12.944530143486844 + ], + [ + -9.332098738454476, + 13.546591561294917 + ], + [ + -9.031068029550397, + 13.546591561294917 + ], + [ + -8.730016354585018, + 13.546591561294917 + ], + [ + -8.127954936776973, + 13.245560852390895 + ], + [ + -7.224841844003549, + 12.342468725678799 + ], + [ + -6.321749717291425, + 11.439355632905347 + ], + [ + -5.719667333422024, + 10.536242540131894 + ], + [ + -5.719667333422024, + 10.235211831227872 + ], + [ + -4.816575206709956, + 9.93418112232385 + ], + [ + -3.612431405032453, + 9.332119704515776 + ], + [ + -3.0103490211630515, + 9.332119704515776 + ], + [ + -2.4082876033549496, + 9.332119704515776 + ], + [ + -1.8062052194855482, + 9.93418112232385 + ], + [ + -0.30103070890407935, + 11.439355632905347 + ], + [ + 1.2041438016774464, + 12.944530143486844 + ], + [ + 2.107256894450927, + 14.44970465406837 + ], + [ + 2.709318312258972, + 15.051766071876415 + ], + [ + 3.0103490211629946, + 15.352817746841822 + ], + [ + 3.311379730067017, + 15.352817746841822 + ], + [ + 3.612431405032396, + 15.352817746841822 + ], + [ + 4.214492822840498, + 15.352817746841822 + ], + [ + 4.816554240648543, + 14.148673945164347 + ], + [ + 4.816554240648543, + 12.04141705071342 + ], + [ + 4.816554240648543, + 9.93418112232385 + ], + [ + 4.214492822840498, + 8.127954936776945 + ], + [ + 3.0103490211629946, + 6.321770683352753 + ], + [ + 0.9031130927734239, + 3.010369987224351 + ], + [ + 0, + 1.2041438016774748 + ], + [ + -0.9031130927734807, + -0.6020614178080734 + ], + [ + -1.2041438016775032, + -1.8062052194855482 + ], + [ + -1.8062052194855482, + -2.4082666372935932 + ], + [ + -2.107256894450927, + -2.4082666372935932 + ], + [ + -2.4082876033549496, + -2.4082666372935932 + ], + [ + -2.709318312259029, + -2.4082666372935932 + ], + [ + -3.0103490211630515, + -1.8062052194855482 + ], + [ + -3.0103490211630515, + -0.9030921267120959 + ], + [ + -3.0103490211630515, + -0.6020614178080734 + ], + [ + -2.709318312259029, + -0.6020614178080734 + ], + [ + -2.709318312259029, + -0.6020614178080734 + ] + ], + "pressures": [ + 0.064453125, + 0.17578125, + 0.1923828125, + 0.2470703125, + 0.337890625, + 0.48046875, + 0.6337890625, + 0.7890625, + 0.8662109375, + 0.8984375, + 0.908203125, + 0.9130859375, + 0.90234375, + 0.90234375, + 0.90234375, + 0.90234375, + 0.8984375, + 0.8955078125, + 0.8935546875, + 0.861328125, + 0.85546875, + 0.8427734375, + 0.8408203125, + 0.8466796875, + 0.8515625, + 0.853515625, + 0.8515625, + 0.857421875, + 0.859375, + 0.857421875, + 0.8662109375, + 0.876953125, + 0.9150390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3291015625, + 0.21484375, + 0.099609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.709318312259029, + -0.6020614178080734 + ] + }, + { + "id": "snJRva2pgvftngk8e-i9o", + "type": "freedraw", + "x": 216.40869728454504, + "y": 191.33474916724322, + "width": 16.55694058245797, + "height": 42.746989646212995, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 396543117, + "version": 139, + "versionNonce": 625200205, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.2041228356161469 + ], + [ + 0.3010307089040225, + -1.2041228356161469 + ], + [ + 0.9031130927734239, + 0 + ], + [ + 1.5051745105815257, + 1.5051745105814973 + ], + [ + 1.5051745105815257, + 3.3114006961283735 + ], + [ + 1.5051745105815257, + 6.6227804261954475 + ], + [ + 1.5051745105815257, + 9.33209873845442 + ], + [ + 0.9031130927734239, + 12.643499434582822 + ], + [ + -0.3010307089040225, + 15.954879164649867 + ], + [ + -1.2041438016775032, + 18.66419747690884 + ], + [ + -2.4082876033549496, + 22.577659590845315 + ], + [ + -3.6124104389710965, + 24.985926228138908 + ], + [ + -4.51552353174452, + 27.394213831493857 + ], + [ + -5.418636624518001, + 29.501470725944785 + ], + [ + -5.719667333422024, + 32.210789038203785 + ], + [ + -5.719667333422024, + 33.71596354878528 + ], + [ + -4.816554240648543, + 35.22113805936678 + ], + [ + -3.9134621139364754, + 36.726312569948306 + ], + [ + -3.0103490211630515, + 37.62942566272176 + ], + [ + -1.8062052194855482, + 37.93045637162578 + ], + [ + 0, + 37.93045637162578 + ], + [ + 1.2041438016774464, + 37.62942566272176 + ], + [ + 2.4082876033549496, + 36.726312569948306 + ], + [ + 4.214492822840498, + 33.41493283988126 + ], + [ + 6.0207190083874025, + 30.103532143752858 + ], + [ + 8.127954936776973, + 26.190070029816383 + ], + [ + 9.934160156262465, + 22.878690299749337 + ], + [ + 10.837273249035945, + 20.470402696394387 + ], + [ + 10.837273249035945, + 17.76110535019677 + ], + [ + 10.536242540131923, + 11.740407307870726 + ], + [ + 10.536242540131923, + 7.525893518968871 + ], + [ + 10.536242540131923, + 4.515544497805877 + ], + [ + 10.536242540131923, + 3.010369987224351 + ], + [ + 9.934160156262465, + 1.2041647677388312 + ], + [ + 9.031068029550397, + 0 + ], + [ + 8.127954936776973, + -1.8061842534241919 + ], + [ + 7.525893518968871, + -3.010349021163023 + ], + [ + 6.6227804261954475, + -3.913441147875119 + ], + [ + 6.0207190083874025, + -4.515523531744549 + ], + [ + 5.418636624517944, + -4.816533274587215 + ], + [ + 5.117605915613922, + -4.816533274587215 + ], + [ + 4.816575206709899, + -4.816533274587215 + ], + [ + 4.51552353174452, + -4.816533274587215 + ], + [ + 4.214492822840498, + -4.816533274587215 + ], + [ + 4.214492822840498, + -4.214492822840498 + ], + [ + 4.214492822840498, + -4.214492822840498 + ] + ], + "pressures": [ + 0.0458984375, + 0.2080078125, + 0.3798828125, + 0.580078125, + 0.73046875, + 0.9189453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8876953125, + 0.7890625, + 0.5009765625, + 0.26953125, + 0.0791015625, + 0.017578125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.214492822840498, + -4.214492822840498 + ] + }, + { + "id": "8N7sNzOak0SdQupPTx8gf", + "type": "freedraw", + "x": 222.128364617967, + "y": 182.90576352156222, + "width": 20.470402696394444, + "height": 41.241836101692826, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 253676323, + "version": 173, + "versionNonce": 451390211, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010307089040225 + ], + [ + 0, + -2.1072359283895707 + ], + [ + 0, + -3.010349021163023 + ], + [ + -0.3010307089040225, + -3.612410438971068 + ], + [ + -0.602061417808045, + -4.214492822840498 + ], + [ + -1.8062052194854914, + -5.418636624517973 + ], + [ + -3.0103490211629946, + -6.020698042326046 + ], + [ + -4.51552353174452, + -6.321728751230069 + ], + [ + -6.92381113509947, + -6.321728751230069 + ], + [ + -8.428985645680939, + -6.321728751230069 + ], + [ + -9.633129447358442, + -6.321728751230069 + ], + [ + -10.53622157407051, + -6.020698042326046 + ], + [ + -11.43933466684399, + -5.418636624517973 + ], + [ + -11.740365375748013, + -4.214492822840498 + ], + [ + -12.041396084652035, + -1.8062052194855482 + ], + [ + -12.041396084652035, + -0.3010307089040225 + ], + [ + -12.041396084652035, + 0.9031130927734523 + ], + [ + -11.740365375748013, + 2.1072778605122835 + ], + [ + -10.235190865166487, + 4.214492822840498 + ], + [ + -8.730016354585018, + 5.418636624517973 + ], + [ + -7.8269032618115375, + 6.321749717291425 + ], + [ + -6.6227804261954475, + 6.92381113509947 + ], + [ + -5.719667333421967, + 7.5258935189689 + ], + [ + -4.51552353174452, + 8.127975902838301 + ], + [ + -3.6124104389710396, + 8.730037320646375 + ], + [ + -2.709318312258972, + 9.633150413419827 + ], + [ + -2.4082666372935932, + 10.235211831227872 + ], + [ + -2.4082666372935932, + 11.138324924001324 + ], + [ + -2.4082666372935932, + 12.04141705071342 + ], + [ + -3.311379730067017, + 13.245560852390895 + ], + [ + -4.214492822840441, + 14.148673945164347 + ], + [ + -5.418636624517944, + 15.653848455745845 + ], + [ + -7.2248418440034925, + 18.363166768004817 + ], + [ + -8.730016354585018, + 21.072485080263817 + ], + [ + -10.53622157407051, + 23.781782426461433 + ], + [ + -12.041396084652035, + 25.88903932091236 + ], + [ + -13.245539886329539, + 28.29732692426731 + ], + [ + -13.245539886329539, + 29.802501434848836 + ], + [ + -13.245539886329539, + 31.307675945430333 + ], + [ + -13.245539886329539, + 32.81285045601186 + ], + [ + -12.342447759617414, + 34.01699425768933 + ], + [ + -11.138303957939968, + 34.61905567549738 + ], + [ + -9.633129447358442, + 34.92010735046276 + ], + [ + -8.127954936776916, + 34.92010735046276 + ], + [ + -6.321728751230012, + 34.318024966593356 + ], + [ + -3.6124104389710396, + 32.81285045601186 + ], + [ + -1.8062052194854914, + 30.40456285265688 + ], + [ + 0.3010516749654357, + 27.394213831493886 + ], + [ + 2.107256894450927, + 24.68491648529624 + ], + [ + 3.3114006961284304, + 22.276607915879936 + ], + [ + 4.816575206709956, + 19.868341278586342 + ], + [ + 5.418636624518001, + 18.062115093039438 + ], + [ + 6.0207190083874025, + 15.954879164649867 + ], + [ + 6.6227804261954475, + 13.84762227019894 + ], + [ + 7.224862810064906, + 12.342447759617443 + ], + [ + 7.224862810064906, + 10.837273249035945 + ], + [ + 6.6227804261954475, + 9.633150413419827 + ], + [ + 6.0207190083874025, + 8.428985645680996 + ], + [ + 5.117605915613979, + 6.622801392256804 + ], + [ + 4.214492822840498, + 4.515544497805877 + ], + [ + 3.612431405032453, + 3.612452371093781 + ], + [ + 3.3114006961284304, + 2.709318312258972 + ], + [ + 2.709318312259029, + 1.8062261855468762 + ], + [ + 2.709318312259029, + 0.3010516749653789 + ], + [ + 2.709318312259029, + -0.3010307089040225 + ], + [ + 2.4082876033550065, + -0.6020614178080734 + ], + [ + 2.4082876033550065, + -1.5051745105814973 + ], + [ + 2.107256894450927, + -1.8062052194855482 + ], + [ + 1.8062261855469046, + -2.1072359283895707 + ], + [ + 1.2041438016775032, + -3.010349021163023 + ], + [ + 0.6020823838694582, + -3.9134621139364754 + ], + [ + -0.602061417808045, + -5.117584949552594 + ], + [ + -1.505174510581469, + -5.719667333421995 + ], + [ + -2.1072359283895707, + -6.020698042326046 + ], + [ + -2.709318312258972, + -6.020698042326046 + ], + [ + -3.6124104389710396, + -6.020698042326046 + ], + [ + -3.9134621139364185, + -6.020698042326046 + ], + [ + -3.9134621139364185, + -5.117584949552594 + ], + [ + -3.9134621139364185, + -4.816554240648571 + ], + [ + -3.9134621139364185, + -4.816554240648571 + ] + ], + "pressures": [ + 0.0380859375, + 0.06640625, + 0.193359375, + 0.2744140625, + 0.30859375, + 0.3388671875, + 0.4384765625, + 0.5166015625, + 0.6064453125, + 0.7109375, + 0.751953125, + 0.791015625, + 0.8095703125, + 0.8115234375, + 0.8095703125, + 0.79296875, + 0.751953125, + 0.734375, + 0.7265625, + 0.70703125, + 0.6923828125, + 0.6552734375, + 0.62890625, + 0.6181640625, + 0.6064453125, + 0.6064453125, + 0.59375, + 0.572265625, + 0.57421875, + 0.5888671875, + 0.6083984375, + 0.6201171875, + 0.6337890625, + 0.6640625, + 0.6923828125, + 0.708984375, + 0.71875, + 0.7421875, + 0.744140625, + 0.744140625, + 0.73046875, + 0.705078125, + 0.6826171875, + 0.67578125, + 0.677734375, + 0.677734375, + 0.6806640625, + 0.69921875, + 0.744140625, + 0.8134765625, + 0.8466796875, + 0.8701171875, + 0.8828125, + 0.9150390625, + 0.9345703125, + 0.9453125, + 0.96484375, + 0.9814453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.990234375, + 0.990234375, + 1, + 1, + 1, + 0.9833984375, + 0.9814453125, + 0.92578125, + 0.923828125, + 0.8896484375, + 0.744140625, + 0.1708984375, + 0.1103515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.9134621139364185, + -4.816554240648571 + ] + }, + { + "id": "ei00xxDoN_kzdGFEixbN0", + "type": "freedraw", + "x": 221.827333909063, + "y": 181.40058901098072, + "width": 30.404562852656852, + "height": 47.56358581898425, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 705586819, + "version": 161, + "versionNonce": 687782573, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.2041438016775032 + ], + [ + -0.3010307089040225, + -2.408287603354978 + ], + [ + -1.2041438016774464, + -3.6124104389710965 + ], + [ + -2.4082876033549496, + -4.515523531744549 + ], + [ + -3.612431405032396, + -5.719667333422024 + ], + [ + -5.418636624517944, + -6.321728751230069 + ], + [ + -8.127954936776916, + -6.6227804261954475 + ], + [ + -10.235190865166487, + -6.6227804261954475 + ], + [ + -12.342447759617414, + -5.719667333422024 + ], + [ + -15.051766071876443, + -3.6124104389710965 + ], + [ + -16.556940582457912, + -0.6020614178080734 + ], + [ + -17.761084384135415, + 2.709318312258972 + ], + [ + -18.36314580194346, + 5.117626881675278 + ], + [ + -18.96522818581286, + 6.321749717291397 + ], + [ + -18.96522818581286, + 6.622801392256775 + ], + [ + -18.96522818581286, + 6.92381113509947 + ], + [ + -18.062115093039438, + 7.826924227872922 + ], + [ + -17.460053675231393, + 8.127975902838301 + ], + [ + -17.159002000266014, + 8.127975902838301 + ], + [ + -16.857971291361935, + 8.127975902838301 + ], + [ + -15.653827489684488, + 7.525893518968871 + ], + [ + -13.84762227019894, + 6.321749717291397 + ], + [ + -13.245560852390895, + 5.719667333421995 + ], + [ + -12.643478468521437, + 5.719667333421995 + ], + [ + -12.643478468521437, + 5.418636624517944 + ], + [ + -11.43933466684399, + 5.418636624517944 + ], + [ + -9.934160156262465, + 5.719667333421995 + ], + [ + -8.428985645680996, + 6.321749717291397 + ], + [ + -7.2248418440034925, + 6.622801392256775 + ], + [ + -6.6227804261954475, + 6.92381113509947 + ], + [ + -5.719667333421967, + 7.826924227872922 + ], + [ + -4.816554240648543, + 8.730037320646346 + ], + [ + -4.214492822840498, + 9.33209873845442 + ], + [ + -3.612431405032396, + 9.633150413419798 + ], + [ + -3.612431405032396, + 10.235211831227872 + ], + [ + -3.612431405032396, + 10.536242540131894 + ], + [ + -3.612431405032396, + 10.837273249035917 + ], + [ + -3.9134621139364185, + 11.43933466684399 + ], + [ + -4.214492822840498, + 11.74038634180937 + ], + [ + -4.816554240648543, + 11.74038634180937 + ], + [ + -5.418636624517944, + 12.342447759617443 + ], + [ + -6.020698042325989, + 12.643499434582822 + ], + [ + -6.6227804261954475, + 12.944530143486844 + ], + [ + -6.92381113509947, + 13.546591561294917 + ], + [ + -7.525872552907515, + 14.148673945164319 + ], + [ + -8.428985645680996, + 15.352796780780437 + ], + [ + -8.730016354585018, + 16.25590987355389 + ], + [ + -9.33209873845442, + 17.460053675231364 + ], + [ + -9.633129447358442, + 18.96522818581289 + ], + [ + -9.934160156262465, + 23.179741974714716 + ], + [ + -10.235190865166487, + 27.99627524930193 + ], + [ + -10.536242540131866, + 32.81285045601183 + ], + [ + -10.536242540131866, + 35.82319947717485 + ], + [ + -10.235190865166487, + 37.93045637162578 + ], + [ + -8.730016354585018, + 39.73668255717266 + ], + [ + -6.92381113509947, + 40.63977468388475 + ], + [ + -5.418636624517944, + 40.9408053927888 + ], + [ + -3.612431405032396, + 40.9408053927888 + ], + [ + -0.602061417808045, + 39.134600173303255 + ], + [ + 1.8062052194855482, + 37.02734327885233 + ], + [ + 4.214492822840498, + 34.61905567549738 + ], + [ + 6.321749717291425, + 31.00664523652631 + ], + [ + 8.428985645680996, + 26.19009099587774 + ], + [ + 10.536242540131923, + 18.062115093039438 + ], + [ + 11.138303957939968, + 12.944530143486844 + ], + [ + 11.43933466684399, + 10.536242540131894 + ], + [ + 10.837273249035945, + 6.020719008387374 + ], + [ + 10.837273249035945, + 6.020719008387374 + ] + ], + "pressures": [ + 0.07421875, + 0.2041015625, + 0.294921875, + 0.39453125, + 0.615234375, + 0.87890625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.837273249035945, + 6.020719008387374 + ] + }, + { + "id": "ku9p3C-dBHy3YlFY_cAHM", + "type": "freedraw", + "x": 231.46046335642149, + "y": 185.91611254272524, + "width": 5.418636624518001, + "height": 1.2041228356161469, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 717383011, + "version": 94, + "versionNonce": 2002866851, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.418636624518001, + -1.2041228356161469 + ], + [ + -5.418636624518001, + -1.2041228356161469 + ] + ], + "pressures": [ + 1, + 0.576171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.418636624518001, + -1.2041228356161469 + ] + }, + { + "id": "oeWiOHM2DqN1cTQD_mzog", + "type": "freedraw", + "x": 222.73044700183647, + "y": 186.81922563549867, + "width": 14.14865297910302, + "height": 15.95485819858854, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 51367235, + "version": 114, + "versionNonce": 671931661, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + 0.3010307089040509 + ], + [ + 0, + 0.3010307089040509 + ], + [ + 0, + 0 + ], + [ + -0.3010307089040225, + -1.2041438016774748 + ], + [ + -0.3010307089040225, + -3.3113797300670456 + ], + [ + -0.3010307089040225, + -5.117605915613922 + ], + [ + -0.9031130927734807, + -7.525872552907515 + ], + [ + -1.2041438016775032, + -9.03104706348904 + ], + [ + -1.8062261855469046, + -9.934160156262493 + ], + [ + -3.0103490211630515, + -11.43933466684399 + ], + [ + -3.612431405032453, + -12.041417050713392 + ], + [ + -5.719667333422024, + -13.546591561294917 + ], + [ + -7.224862810064906, + -14.148652979102962 + ], + [ + -8.730037320646375, + -14.750735362972392 + ], + [ + -10.536242540131923, + -15.051766071876415 + ], + [ + -11.740386341809426, + -15.352796780780466 + ], + [ + -12.944530143486872, + -15.653827489684488 + ], + [ + -13.546591561294917, + -15.653827489684488 + ], + [ + -13.847622270198997, + -15.653827489684488 + ], + [ + -13.245560852390895, + -15.051766071876415 + ], + [ + -12.944530143486872, + -14.449683688007013 + ], + [ + -12.944530143486872, + -14.449683688007013 + ] + ], + "pressures": [ + 0.0791015625, + 0.1220703125, + 0.6513671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2607421875, + 0.119140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -12.944530143486872, + -14.449683688007013 + ] + }, + { + "id": "ARQMNbMlVeK5r8AuCHCig", + "type": "freedraw", + "x": 210.387999242219, + "y": 177.18609618814023, + "width": 11.138303957939968, + "height": 15.352817746841822, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 937269933, + "version": 121, + "versionNonce": 971486061, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.6020823838694014, + -0.6020614178080734 + ], + [ + -0.9031130927734239, + -0.6020614178080734 + ], + [ + -1.5051745105815257, + -0.9031130927734523 + ], + [ + -2.107256894450927, + -0.9031130927734523 + ], + [ + -2.709318312258972, + -0.6020614178080734 + ], + [ + -3.612431405032453, + 0.3010307089040225 + ], + [ + -4.214492822840498, + 1.2041438016774748 + ], + [ + -5.117605915613922, + 2.709318312258972 + ], + [ + -5.719667333422024, + 3.913462113936447 + ], + [ + -6.0207190083874025, + 5.117605915613922 + ], + [ + -6.321749717291425, + 5.719667333421995 + ], + [ + -6.321749717291425, + 7.2248418440034925 + ], + [ + -6.321749717291425, + 8.428985645680967 + ], + [ + -6.0207190083874025, + 9.934160156262493 + ], + [ + -5.418636624517944, + 11.138303957939968 + ], + [ + -4.816575206709899, + 12.342468725678799 + ], + [ + -3.612431405032453, + 13.245560852390895 + ], + [ + -2.4082876033549496, + 13.847643236260296 + ], + [ + -0.9031130927734239, + 14.148652979102991 + ], + [ + 0.602061417808045, + 14.44970465406837 + ], + [ + 1.8062052194855482, + 14.44970465406837 + ], + [ + 2.709318312258972, + 14.44970465406837 + ], + [ + 3.311379730067074, + 14.44970465406837 + ], + [ + 3.9134621139364754, + 14.148652979102991 + ], + [ + 4.214492822840498, + 14.148652979102991 + ], + [ + 4.51552353174452, + 13.546591561294917 + ], + [ + 4.816554240648543, + 13.245560852390895 + ], + [ + 4.816554240648543, + 12.643478468521465 + ], + [ + 4.816554240648543, + 12.342468725678799 + ], + [ + 4.816554240648543, + 12.342468725678799 + ] + ], + "pressures": [ + 0.068359375, + 0.2421875, + 0.3291015625, + 0.4462890625, + 0.53125, + 0.6357421875, + 0.705078125, + 0.7626953125, + 0.8662109375, + 0.947265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.740234375, + 0.3837890625, + 0.2021484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 4.816554240648543, + 12.342468725678799 + ] + }, + { + "id": "S_GP6hzflWYkQryxf353J", + "type": "freedraw", + "x": 211.89317375280052, + "y": 191.6358008422086, + "width": 17.761084384135415, + "height": 37.930435405564424, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 551754051, + "version": 141, + "versionNonce": 1255718349, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.9031130927734239, + 0.3010307089040225 + ], + [ + 1.8062052194855482, + 1.2041228356161184 + ], + [ + 2.4082876033549496, + 2.709318312258972 + ], + [ + 2.709318312258972, + 4.214492822840498 + ], + [ + 3.0103490211629946, + 5.719667333421995 + ], + [ + 3.311379730067017, + 8.127933970715588 + ], + [ + 3.311379730067017, + 9.93418112232385 + ], + [ + 3.311379730067017, + 11.439355632905347 + ], + [ + 3.0103490211629946, + 12.944530143486844 + ], + [ + 2.4082876033549496, + 14.148652979102991 + ], + [ + 0.9031130927734239, + 16.25588890749256 + ], + [ + -0.3010307089040225, + 17.460053675231393 + ], + [ + -1.5051745105815257, + 18.66417651084751 + ], + [ + -2.107256894450927, + 19.868320312524986 + ], + [ + -3.0103490211630515, + 21.674525532010506 + ], + [ + -3.3114006961284304, + 22.577638624783958 + ], + [ + -3.612431405032453, + 23.48075171755741 + ], + [ + -3.612431405032453, + 24.68487455317353 + ], + [ + -3.612431405032453, + 27.09316215652848 + ], + [ + -3.612431405032453, + 28.899388342075383 + ], + [ + -3.612431405032453, + 30.70559356156093 + ], + [ + -3.0103490211630515, + 32.21076807214243 + ], + [ + -2.709318312258972, + 33.11388116491588 + ], + [ + -1.5051745105815257, + 34.318004000532 + ], + [ + -0.9031130927734807, + 35.22111709330545 + ], + [ + 0, + 36.42526089498293 + ], + [ + 0.9031130927734239, + 37.32837398775638 + ], + [ + 1.8062052194855482, + 37.930435405564424 + ], + [ + 2.709318312258972, + 37.930435405564424 + ], + [ + 3.6124104389710396, + 37.6294046966604 + ], + [ + 4.51552353174452, + 36.72629160388695 + ], + [ + 6.020698042326046, + 35.52216876827083 + ], + [ + 8.428985645680996, + 32.21076807214243 + ], + [ + 10.235190865166487, + 29.200419050979406 + ], + [ + 11.740365375748013, + 26.49112170478179 + ], + [ + 12.643478468521494, + 24.383843844269506 + ], + [ + 13.245539886329539, + 22.87866933368801 + ], + [ + 13.546591561294917, + 20.16935102142901 + ], + [ + 13.84762227019894, + 17.76106341807406 + ], + [ + 13.84762227019894, + 14.750714396911036 + ], + [ + 13.84762227019894, + 11.740365375748013 + ], + [ + 14.148652979102962, + 8.429006611742324 + ], + [ + 14.148652979102962, + 7.2248418440034925 + ], + [ + 14.148652979102962, + 6.622759460134091 + ], + [ + 13.84762227019894, + 6.020698042326018 + ], + [ + 13.546591561294917, + 5.719667333421995 + ], + [ + 13.245539886329539, + 4.214492822840498 + ], + [ + 13.245539886329539, + 3.0103490211629946 + ], + [ + 12.944509177425516, + 2.1072359283895707 + ], + [ + 12.944509177425516, + 1.8062052194855198 + ], + [ + 12.944509177425516, + 2.1072359283895707 + ], + [ + 12.944509177425516, + 2.709318312258972 + ], + [ + 12.944509177425516, + 2.709318312258972 + ] + ], + "pressures": [ + 0.0283203125, + 0.3896484375, + 0.404296875, + 0.4306640625, + 0.5009765625, + 0.564453125, + 0.6015625, + 0.611328125, + 0.6064453125, + 0.59765625, + 0.5947265625, + 0.599609375, + 0.599609375, + 0.591796875, + 0.58203125, + 0.4912109375, + 0.4208984375, + 0.390625, + 0.37109375, + 0.3408203125, + 0.314453125, + 0.294921875, + 0.2734375, + 0.2666015625, + 0.263671875, + 0.263671875, + 0.263671875, + 0.2626953125, + 0.2578125, + 0.23828125, + 0.23828125, + 0.23828125, + 0.23828125, + 0.240234375, + 0.2509765625, + 0.275390625, + 0.287109375, + 0.29296875, + 0.3095703125, + 0.3173828125, + 0.322265625, + 0.3232421875, + 0.32421875, + 0.3251953125, + 0.326171875, + 0.3271484375, + 0.3271484375, + 0.322265625, + 0.31640625, + 0.2939453125, + 0.2705078125, + 0.1357421875, + 0.0107421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 12.944509177425516, + 2.709318312258972 + ] + }, + { + "id": "Fygd_uZkEtKDh9zeatC-j", + "type": "freedraw", + "x": 220.32215939848152, + "y": 186.81922563549867, + "width": 5.71968829948338, + "height": 47.563564852922894, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1225034723, + "version": 123, + "versionNonce": 2054459779, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.30103070890407935, + -0.602061417808045 + ], + [ + -0.6020614178081019, + -0.602061417808045 + ], + [ + -0.9031130927734807, + 0 + ], + [ + -1.2041438016775032, + 1.2041647677388312 + ], + [ + -1.2041438016775032, + 2.107256894450927 + ], + [ + -1.2041438016775032, + 3.010349021163023 + ], + [ + -1.5051745105815257, + 4.214513788901854 + ], + [ + -1.5051745105815257, + 5.71968829948338 + ], + [ + -1.5051745105815257, + 8.428985645680996 + ], + [ + -1.5051745105815257, + 10.536242540131923 + ], + [ + -1.8062052194855482, + 12.944509177425516 + ], + [ + -2.107256894450927, + 15.653827489684517 + ], + [ + -2.709318312259029, + 18.36314580194349 + ], + [ + -3.311379730067074, + 22.27662888194132 + ], + [ + -3.612431405032453, + 24.684895519234914 + ], + [ + -3.612431405032453, + 26.79215241368584 + ], + [ + -3.612431405032453, + 28.59835763317136 + ], + [ + -3.612431405032453, + 30.40456285265691 + ], + [ + -3.311379730067074, + 33.41491187381993 + ], + [ + -3.0103490211630515, + 35.52216876827086 + ], + [ + -3.0103490211630515, + 37.027343278852356 + ], + [ + -2.709318312259029, + 37.93045637162581 + ], + [ + -2.709318312259029, + 38.83356946439926 + ], + [ + -2.107256894450927, + 40.33874397498076 + ], + [ + -1.5051745105815257, + 41.843918485562256 + ], + [ + -0.9031130927734807, + 43.048041321178374 + ], + [ + -0.30103070890407935, + 44.25218512285588 + ], + [ + 0.3010307089040225, + 44.85426750672528 + ], + [ + 0.602061417808045, + 45.45632892453335 + ], + [ + 1.2041438016774464, + 46.0583903423414 + ], + [ + 1.505174510581469, + 46.66047272621083 + ], + [ + 1.8062052194854914, + 46.96150343511485 + ], + [ + 2.107256894450927, + 46.66047272621083 + ], + [ + 2.107256894450927, + 46.0583903423414 + ], + [ + 2.107256894450927, + 46.0583903423414 + ] + ], + "pressures": [ + 0.0537109375, + 0.134765625, + 0.1748046875, + 0.376953125, + 0.380859375, + 0.3896484375, + 0.3994140625, + 0.4052734375, + 0.42578125, + 0.5107421875, + 0.5556640625, + 0.5947265625, + 0.625, + 0.6572265625, + 0.6787109375, + 0.703125, + 0.728515625, + 0.744140625, + 0.7607421875, + 0.7724609375, + 0.7783203125, + 0.7763671875, + 0.7763671875, + 0.7763671875, + 0.78515625, + 0.7724609375, + 0.7568359375, + 0.73828125, + 0.69921875, + 0.673828125, + 0.626953125, + 0.5, + 0.3564453125, + 0.15625, + 0.076171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 2.107256894450927, + 46.0583903423414 + ] + }, + { + "id": "pOzBMcvlKxE05WPsHLVjy", + "type": "freedraw", + "x": 219.41904630570804, + "y": 186.81922563549867, + "width": 10.235190865166487, + "height": 37.93045637162581, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1143042531, + "version": 120, + "versionNonce": 33127469, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 0.3010307089040509 + ], + [ + -0.3010307089040225, + 0.9031130927734523 + ], + [ + -0.9030921267120675, + 1.5051745105815257 + ], + [ + -1.2041438016774464, + 2.107256894450927 + ], + [ + -2.1072359283895707, + 3.612431405032453 + ], + [ + -3.0103490211629946, + 4.515523531744549 + ], + [ + -3.6124104389710396, + 5.71968829948338 + ], + [ + -4.214492822840498, + 6.321749717291425 + ], + [ + -5.117584949552565, + 7.224862810064877 + ], + [ + -6.020698042326046, + 8.428985645680996 + ], + [ + -7.8269032618115375, + 10.536242540131923 + ], + [ + -8.730016354585018, + 12.643478468521494 + ], + [ + -9.633129447358442, + 14.44970465406837 + ], + [ + -10.235190865166487, + 16.255930839615274 + ], + [ + -10.235190865166487, + 17.76110535019677 + ], + [ + -10.235190865166487, + 20.169371987490393 + ], + [ + -9.934160156262465, + 22.878690299749366 + ], + [ + -9.332077772393063, + 25.286977903104315 + ], + [ + -9.03104706348904, + 27.093183122589863 + ], + [ + -7.8269032618115375, + 29.200419050979434 + ], + [ + -6.92381113509947, + 30.70559356156093 + ], + [ + -6.020698042326046, + 31.909737363238406 + ], + [ + -4.816554240648543, + 33.71596354878531 + ], + [ + -4.214492822840498, + 34.61905567549741 + ], + [ + -3.9134621139364754, + 35.22113805936681 + ], + [ + -3.311379730067017, + 36.124230186078904 + ], + [ + -2.709318312258972, + 37.027343278852356 + ], + [ + -2.1072359283895707, + 37.62940469666043 + ], + [ + -1.8062052194855482, + 37.93045637162581 + ], + [ + -1.505174510581469, + 37.027343278852356 + ], + [ + -1.505174510581469, + 36.726312569948334 + ], + [ + -1.505174510581469, + 36.726312569948334 + ] + ], + "pressures": [ + 0.0107421875, + 0.169921875, + 0.203125, + 0.2216796875, + 0.2412109375, + 0.2578125, + 0.2744140625, + 0.2958984375, + 0.3310546875, + 0.3564453125, + 0.359375, + 0.36328125, + 0.3681640625, + 0.380859375, + 0.384765625, + 0.384765625, + 0.3818359375, + 0.3818359375, + 0.3828125, + 0.3857421875, + 0.3876953125, + 0.38671875, + 0.3857421875, + 0.3876953125, + 0.384765625, + 0.37890625, + 0.3515625, + 0.3056640625, + 0.2294921875, + 0.185546875, + 0.0888671875, + 0.0390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.505174510581469, + 36.726312569948334 + ] + }, + { + "id": "5TNKcE6DUCIxPExu0kKOb", + "type": "freedraw", + "x": 219.118015596804, + "y": 186.21716421769062, + "width": 10.235190865166487, + "height": 32.21081000426514, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1234266893, + "version": 124, + "versionNonce": 1368221987, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -0.3010516749653789 + ], + [ + 0, + 0 + ], + [ + 0, + 1.2041438016774748 + ], + [ + 0.3010307089040225, + 2.4082666372935932 + ], + [ + 0.3010307089040225, + 3.311400696128402 + ], + [ + 0.3010307089040225, + 3.913462113936447 + ], + [ + 0, + 4.816575206709899 + ], + [ + -0.602061417808045, + 6.020698042326018 + ], + [ + -1.5051745105815257, + 6.92381113509947 + ], + [ + -3.311379730067017, + 8.127954936776945 + ], + [ + -4.214492822840498, + 8.428985645680967 + ], + [ + -5.418636624517944, + 9.03104706348904 + ], + [ + -6.6227804261954475, + 9.33209873845442 + ], + [ + -8.127954936776973, + 10.235190865166516 + ], + [ + -8.730016354585018, + 10.837273249035945 + ], + [ + -8.730016354585018, + 11.43933466684399 + ], + [ + -9.03104706348904, + 12.342447759617443 + ], + [ + -9.03104706348904, + 13.546570595233561 + ], + [ + -9.33209873845442, + 15.95485819858851 + ], + [ + -9.633129447358442, + 17.460032709170036 + ], + [ + -9.934160156262465, + 18.66417651084751 + ], + [ + -9.934160156262465, + 20.16935102142901 + ], + [ + -9.633129447358442, + 22.878690299749366 + ], + [ + -9.33209873845442, + 24.383864810330863 + ], + [ + -8.730016354585018, + 25.28695693704296 + ], + [ + -8.428985645680996, + 26.19007002981641 + ], + [ + -7.525872552907515, + 27.09316215652848 + ], + [ + -5.719667333422024, + 29.501449759883457 + ], + [ + -4.816554240648543, + 31.006624270464954 + ], + [ + -3.9134621139364754, + 31.608706654334355 + ], + [ + -3.311379730067017, + 31.909758329299763 + ], + [ + -3.0103490211629946, + 31.909758329299763 + ], + [ + -2.709318312258972, + 31.006624270464954 + ], + [ + -2.709318312258972, + 30.404583818718237 + ], + [ + -3.0103490211629946, + 30.1035111776915 + ], + [ + -3.0103490211629946, + 30.1035111776915 + ] + ], + "pressures": [ + 0.0458984375, + 0.154296875, + 0.2490234375, + 0.2822265625, + 0.322265625, + 0.3818359375, + 0.41796875, + 0.4677734375, + 0.5263671875, + 0.572265625, + 0.6357421875, + 0.6591796875, + 0.6640625, + 0.669921875, + 0.6787109375, + 0.6787109375, + 0.6787109375, + 0.673828125, + 0.671875, + 0.673828125, + 0.673828125, + 0.669921875, + 0.6640625, + 0.6494140625, + 0.646484375, + 0.646484375, + 0.642578125, + 0.626953125, + 0.5283203125, + 0.4912109375, + 0.4599609375, + 0.408203125, + 0.353515625, + 0.16796875, + 0.1103515625, + 0.0126953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.0103490211629946, + 30.1035111776915 + ] + }, + { + "id": "TC4p-r-4-WBjZI2Fmlg8Z", + "type": "freedraw", + "x": 209.48488614944557, + "y": 190.73268774943514, + "width": 11.138282991878611, + "height": 28.89940930813674, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1047547949, + "version": 118, + "versionNonce": 1731423885, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + 0.6020614178080734 + ], + [ + 0.3010307089040225, + 1.5051745105814973 + ], + [ + 0, + 2.4082876033549496 + ], + [ + -0.6020614178081019, + 3.010349021163023 + ], + [ + -2.1072359283895707, + 3.913462113936447 + ], + [ + -3.311379730067074, + 4.51552353174452 + ], + [ + -4.51552353174452, + 5.11760591561395 + ], + [ + -6.020698042326046, + 5.418636624517973 + ], + [ + -7.826903261811594, + 6.321749717291425 + ], + [ + -8.730016354585018, + 6.92381113509947 + ], + [ + -9.33207777239312, + 8.127954936776945 + ], + [ + -9.934160156262521, + 9.63312944735847 + ], + [ + -10.536221574070566, + 10.837294215097302 + ], + [ + -10.837252282974589, + 12.643478468521465 + ], + [ + -10.837252282974589, + 14.449683688007013 + ], + [ + -10.536221574070566, + 16.85799225742332 + ], + [ + -9.934160156262521, + 19.567289603620964 + ], + [ + -9.03104706348904, + 22.276607915879936 + ], + [ + -8.127954936776973, + 23.179721008653388 + ], + [ + -7.224841844003549, + 24.082813135365484 + ], + [ + -6.321728751230069, + 25.28695693704296 + ], + [ + -5.117605915613979, + 26.792131447624456 + ], + [ + -3.9134621139364754, + 28.59835763317136 + ], + [ + -3.311379730067074, + 28.89940930813674 + ], + [ + -3.0103490211630515, + 28.89940930813674 + ], + [ + -2.4082876033549496, + 28.89940930813674 + ], + [ + -1.5051745105815257, + 28.89940930813674 + ], + [ + -0.9031130927734807, + 28.89940930813674 + ], + [ + -0.6020614178081019, + 28.59835763317136 + ], + [ + -0.3010307089040225, + 28.297305958205982 + ], + [ + -0.3010307089040225, + 28.297305958205982 + ] + ], + "pressures": [ + 0.046875, + 0.189453125, + 0.23046875, + 0.2880859375, + 0.3515625, + 0.4228515625, + 0.482421875, + 0.537109375, + 0.5947265625, + 0.62890625, + 0.6318359375, + 0.630859375, + 0.6240234375, + 0.625, + 0.62890625, + 0.6318359375, + 0.642578125, + 0.6533203125, + 0.662109375, + 0.666015625, + 0.66796875, + 0.6806640625, + 0.6826171875, + 0.6826171875, + 0.6787109375, + 0.666015625, + 0.6572265625, + 0.5693359375, + 0.30859375, + 0.19140625, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.3010307089040225, + 28.297305958205982 + ] + }, + { + "id": "0QN1es5YFHj0XuYTqcicm", + "type": "freedraw", + "x": 204.06624952492757, + "y": 213.00929566531508, + "width": 10.837273249035945, + "height": 10.536242540131894, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1373665475, + "version": 96, + "versionNonce": 1228936429, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 10.837273249035945, + -5.117605915613922 + ], + [ + 9.934160156262521, + -6.923790169038114 + ], + [ + 9.031068029550397, + -8.127954936776945 + ], + [ + 8.428985645680996, + -9.33209873845442 + ], + [ + 7.826924227872951, + -9.934139190201137 + ], + [ + 7.826924227872951, + -10.536242540131894 + ], + [ + 7.525893518968928, + -10.536242540131894 + ], + [ + 7.224841844003549, + -10.536242540131894 + ], + [ + 6.92381113509947, + -10.536242540131894 + ], + [ + 6.92381113509947, + -10.536242540131894 + ] + ], + "pressures": [ + 0.8173828125, + 0.9755859375, + 0.94921875, + 0.947265625, + 0.92578125, + 0.9189453125, + 0.9130859375, + 0.900390625, + 0.3076171875, + 0.1279296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.92381113509947, + -10.536242540131894 + ] + }, + { + "id": "oqZhkFv3mxIeeTG5sWxab", + "type": "freedraw", + "x": 215.20455348286754, + "y": 185.91611254272524, + "width": 8.428985645680996, + "height": 19.567289603620935, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 687075459, + "version": 111, + "versionNonce": 1672015693, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + -0.9030711606507396 + ], + [ + 0.9031130927734807, + -0.3010307089040509 + ], + [ + 1.2041438016775032, + 0.9031130927734239 + ], + [ + 1.5051745105815257, + 2.709318312258972 + ], + [ + 1.5051745105815257, + 5.418636624517973 + ], + [ + 1.5051745105815257, + 7.525893518968871 + ], + [ + 1.5051745105815257, + 9.031068029550397 + ], + [ + 0.6020823838694582, + 10.837273249035917 + ], + [ + 0, + 11.74038634180937 + ], + [ + -0.9030921267120675, + 12.643499434582822 + ], + [ + -1.8062052194855482, + 13.245560852390895 + ], + [ + -2.709318312258972, + 13.546591561294917 + ], + [ + -4.51552353174452, + 13.84762227019894 + ], + [ + -5.418636624517944, + 14.148694911225675 + ], + [ + -6.020698042325989, + 14.750735362972392 + ], + [ + -6.6227804261954475, + 15.051766071876415 + ], + [ + -6.92381113509947, + 15.954879164649867 + ], + [ + -6.92381113509947, + 16.25590987355389 + ], + [ + -6.92381113509947, + 16.85799225742332 + ], + [ + -6.92381113509947, + 17.761084384135415 + ], + [ + -6.6227804261954475, + 18.062136059100794 + ], + [ + -6.6227804261954475, + 18.363166768004817 + ], + [ + -6.321728751230069, + 18.363166768004817 + ], + [ + -6.321728751230069, + 18.664218442970196 + ], + [ + -6.020698042325989, + 18.664218442970196 + ], + [ + -5.719667333421967, + 18.664218442970196 + ], + [ + -5.719667333421967, + 18.664218442970196 + ] + ], + "pressures": [ + 0.0390625, + 0.4013671875, + 0.7744140625, + 0.849609375, + 0.9365234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.921875, + 0.4990234375, + 0.2626953125, + 0.16015625, + 0.1328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.719667333421967, + 18.664218442970196 + ] + }, + { + "id": "NuhtYISZcVRkhphUF6p_a", + "type": "freedraw", + "x": 218.8169848879, + "y": 186.81922563549867, + "width": 7.826924227872951, + "height": 15.954879164649896, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1184241283, + "version": 101, + "versionNonce": 991574019, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.418636624518001, + 8.428985645680996 + ], + [ + -7.2248418440034925, + 9.332098738454448 + ], + [ + -7.826924227872951, + 9.934160156262493 + ], + [ + -7.826924227872951, + 10.2352118312279 + ], + [ + -7.826924227872951, + 10.536242540131923 + ], + [ + -7.826924227872951, + 11.138303957939996 + ], + [ + -7.826924227872951, + 12.04141705071342 + ], + [ + -7.826924227872951, + 12.643478468521494 + ], + [ + -7.525893518968871, + 13.245581818452251 + ], + [ + -6.92381113509947, + 14.148652979102991 + ], + [ + -6.6227804261954475, + 14.750756329033777 + ], + [ + -6.321749717291425, + 15.352796780780466 + ], + [ + -6.020698042326046, + 15.653827489684517 + ], + [ + -6.020698042326046, + 15.954879164649896 + ], + [ + -5.719667333422024, + 15.954879164649896 + ], + [ + -5.418636624518001, + 15.954879164649896 + ], + [ + -5.418636624518001, + 15.954879164649896 + ] + ], + "pressures": [ + 0.3232421875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.923828125, + 0.8828125, + 0.826171875, + 0.7587890625, + 0.71484375, + 0.6884765625, + 0.4794921875, + 0.2822265625, + 0.2138671875, + 0.1357421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.418636624518001, + 15.954879164649896 + ] + }, + { + "id": "Kq4a6I0Na6a5YhyaV_KBy", + "type": "freedraw", + "x": 204.3672802338316, + "y": 200.66684790569764, + "width": 3.010369987224351, + "height": 6.321749717291425, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 46693229, + "version": 105, + "versionNonce": 1807368099, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.505174510581469, + 1.8062052194855482 + ], + [ + -1.505174510581469, + 3.311400696128402 + ], + [ + -1.20412283561609, + 4.51552353174452 + ], + [ + -0.9030921267120675, + 5.418657590579329 + ], + [ + -0.602061417808045, + 5.719667333421995 + ], + [ + 0, + 5.719667333421995 + ], + [ + 0.6020823838694582, + 4.816575206709899 + ], + [ + 1.2041438016775032, + 3.311400696128402 + ], + [ + 1.5051954766428821, + 2.107256894450927 + ], + [ + 1.5051954766428821, + 1.2041438016774748 + ], + [ + 1.5051954766428821, + 0.3010307089040225 + ], + [ + 1.2041438016775032, + 0 + ], + [ + 0.6020823838694582, + 0 + ], + [ + 0, + 0 + ], + [ + -1.20412283561609, + 0 + ], + [ + -1.505174510581469, + 0.9031340588348087 + ], + [ + -1.505174510581469, + 2.408308569416306 + ], + [ + -1.505174510581469, + 3.9134830799978033 + ], + [ + -1.505174510581469, + 5.11760591561395 + ], + [ + -0.602061417808045, + 6.321749717291425 + ], + [ + -0.3010307089040225, + 6.321749717291425 + ], + [ + -0.3010307089040225, + 6.321749717291425 + ] + ], + "pressures": [ + 0.013671875, + 0.16796875, + 0.181640625, + 0.1884765625, + 0.193359375, + 0.197265625, + 0.1982421875, + 0.19921875, + 0.201171875, + 0.2041015625, + 0.2080078125, + 0.21875, + 0.2216796875, + 0.2255859375, + 0.228515625, + 0.23046875, + 0.2314453125, + 0.2314453125, + 0.23046875, + 0.2275390625, + 0.1748046875, + 0.068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.3010307089040225, + 6.321749717291425 + ] + }, + { + "id": "d_xQkeJZzFFdDzv5MrHxk", + "type": "freedraw", + "x": 260.6608824074009, + "y": 190.73268774943514, + "width": 2.709318312258972, + "height": 5.418636624517973, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 524817293, + "version": 94, + "versionNonce": 104354627, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.3010307089040225, + -0.6020614178080734 + ], + [ + -0.602061417808045, + -0.6020614178080734 + ], + [ + 0.3010307089040225, + 0.6020614178080734 + ], + [ + 0.602061417808045, + 1.5051745105814973 + ], + [ + 1.2041647677388028, + 2.4082876033549496 + ], + [ + 1.2041647677388028, + 3.010349021163023 + ], + [ + 1.2041647677388028, + 3.311400696128402 + ], + [ + 1.2041647677388028, + 3.6124314050324244 + ], + [ + 1.2041647677388028, + 4.214492822840498 + ], + [ + 0.9030921267120675, + 4.51552353174452 + ], + [ + 0.602061417808045, + 4.51552353174452 + ], + [ + -0.602061417808045, + 4.816575206709899 + ], + [ + -1.2041228356161469, + 4.816575206709899 + ], + [ + -1.5051535445201694, + 4.816575206709899 + ], + [ + -1.2041228356161469, + 4.816575206709899 + ], + [ + -1.2041228356161469, + 4.816575206709899 + ] + ], + "pressures": [ + 0.01953125, + 0.259765625, + 0.6533203125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.21875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.2041228356161469, + 4.816575206709899 + ] + }, + { + "id": "z0JziIIm3Ll2OsEaLhh5M", + "type": "freedraw", + "x": 257.0484719684298, + "y": 187.12025634440272, + "width": 5.719667333422024, + "height": 9.934160156262493, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 18084461, + "version": 100, + "versionNonce": 1453045357, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.2041438016774748 + ], + [ + 0, + -1.5051745105815257 + ], + [ + 0, + -1.8062052194855482 + ], + [ + 0.3010307089040225, + -1.2041438016774748 + ], + [ + 0.9030921267121244, + 0 + ], + [ + 1.8061842534241919, + 1.8062261855468762 + ], + [ + 2.709318312258972, + 3.010369987224351 + ], + [ + 3.311379730067074, + 4.515544497805877 + ], + [ + 3.6124104389710965, + 5.117605915613922 + ], + [ + 3.6124104389710965, + 5.719667333421995 + ], + [ + 3.6124104389710965, + 6.020719008387374 + ], + [ + 3.6124104389710965, + 6.321749717291397 + ], + [ + 3.0103490211630515, + 6.6227804261954475 + ], + [ + 2.107256894450927, + 6.923832101160826 + ], + [ + -0.3010307089040225, + 7.224862810064849 + ], + [ + -1.2041647677388028, + 7.224862810064849 + ], + [ + -1.8062261855469046, + 7.525893518968871 + ], + [ + -2.107256894450927, + 7.525893518968871 + ], + [ + -1.8062261855469046, + 7.826924227872922 + ], + [ + -1.2041647677388028, + 8.127954936776945 + ], + [ + -0.9031340588347803, + 8.127954936776945 + ], + [ + -0.9031340588347803, + 8.127954936776945 + ] + ], + "pressures": [ + 0.083984375, + 0.22265625, + 0.244140625, + 0.376953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.47265625, + 0.166015625, + 0.0244140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.9031340588347803, + 8.127954936776945 + ] + }, + { + "id": "KVOyTHbwy4pUvoiBuOJB_", + "type": "freedraw", + "x": 257.9515640951419, + "y": 185.6150818338212, + "width": 4.816575206709899, + "height": 8.730037320646375, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1699851373, + "version": 96, + "versionNonce": 989000419, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0.3010307089040225, + -0.3010307089040225 + ], + [ + 0.3010307089040225, + 0 + ], + [ + 0.9030921267120675, + 0.3010307089040509 + ], + [ + 1.5051954766428253, + 1.5051745105815257 + ], + [ + 1.8062261855468478, + 2.408308569416306 + ], + [ + 2.4082876033549496, + 3.311400696128402 + ], + [ + 2.709318312258972, + 4.515544497805877 + ], + [ + 2.709318312258972, + 4.816575206709928 + ], + [ + 2.709318312258972, + 5.418657590579329 + ], + [ + 1.5051954766428253, + 6.321749717291425 + ], + [ + 0.3010307089040225, + 6.923832101160855 + ], + [ + -0.6020614178081019, + 7.224841844003521 + ], + [ + -1.2041228356161469, + 7.5258935189689 + ], + [ + -1.8062261855469046, + 7.826924227872922 + ], + [ + -2.107256894450927, + 7.826924227872922 + ], + [ + -2.107256894450927, + 8.127954936776973 + ], + [ + -2.107256894450927, + 8.429006611742352 + ], + [ + -2.107256894450927, + 8.429006611742352 + ] + ], + "pressures": [ + 0.1123046875, + 0.8115234375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.47265625, + 0.2119140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.107256894450927, + 8.429006611742352 + ] + }, + { + "id": "SmUSPunmpKs_-TAwwalyi", + "type": "freedraw", + "x": 260.05882098959285, + "y": 188.62543085498422, + "width": 4.816575206709899, + "height": 9.63312944735847, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 370879917, + "version": 99, + "versionNonce": 1477730509, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.30103070890407935, + -0.3010307089040225 + ], + [ + 0.602061417808045, + 0.9031340588348087 + ], + [ + 1.5051535445201125, + 1.8062261855469046 + ], + [ + 2.107256894450927, + 2.7093183122590005 + ], + [ + 2.4082876033549496, + 3.6124314050324244 + ], + [ + 2.709318312258972, + 4.214492822840498 + ], + [ + 2.709318312258972, + 4.515544497805877 + ], + [ + 2.709318312258972, + 5.418657590579329 + ], + [ + 2.4082876033549496, + 6.321749717291425 + ], + [ + 1.8062261855468478, + 6.923832101160826 + ], + [ + 1.20412283561609, + 7.826924227872922 + ], + [ + 0.602061417808045, + 8.127954936776945 + ], + [ + 0, + 8.429006611742352 + ], + [ + -0.9030921267121244, + 8.730037320646375 + ], + [ + -1.8062261855469046, + 9.031068029550397 + ], + [ + -1.8062261855469046, + 9.332098738454448 + ], + [ + -2.107256894450927, + 9.332098738454448 + ], + [ + -1.8062261855469046, + 9.332098738454448 + ], + [ + -1.5051954766428821, + 9.031068029550397 + ], + [ + -0.9030921267121244, + 8.730037320646375 + ], + [ + -0.9030921267121244, + 8.730037320646375 + ] + ], + "pressures": [ + 0.05078125, + 0.2919921875, + 0.794921875, + 0.9150390625, + 0.9775390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5439453125, + 0.263671875, + 0.162109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.9030921267121244, + 8.730037320646375 + ] + }, + { + "id": "QfzYAU7_1xFYM48ZsISLt", + "type": "freedraw", + "x": 259.1557288628807, + "y": 188.3244001460802, + "width": 1.5051954766428253, + "height": 8.127954936776945, + "angle": 0, + "strokeColor": "#c92a2a", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1566879235, + "version": 81, + "versionNonce": 712547971, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.5051954766428253, + 8.127954936776945 + ], + [ + -0.9031340588347803, + 7.826924227872922 + ], + [ + -0.9031340588347803, + 7.826924227872922 + ] + ], + "pressures": [ + 0.1328125, + 1, + 0.1826171875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -0.9031340588347803, + 7.826924227872922 + ] + }, + { + "id": "iUdjOynHy84N3KgQcTqTl", + "type": "freedraw", + "x": 209.18385544054155, + "y": 226.55588722661, + "width": 14.449683688006985, + "height": 32.81285045601183, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 584997795, + "version": 107, + "versionNonce": 1602737699, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2041438016775032, + -1.2041438016774748 + ], + [ + -3.612431405032453, + -1.5051745105814973 + ], + [ + -4.515523531744577, + -0.9030921267120675 + ], + [ + -4.816575206709956, + -0.3010307089040225 + ], + [ + -5.719667333422024, + 2.408287603354978 + ], + [ + -7.224841844003549, + 10.536221574070566 + ], + [ + -8.127954936776973, + 17.761084384135444 + ], + [ + -8.730016354585018, + 24.082813135365484 + ], + [ + -8.730016354585018, + 27.695265506459265 + ], + [ + -7.525872552907572, + 29.20044001704079 + ], + [ + -3.9134621139364754, + 30.103532143752858 + ], + [ + -0.9031130927734807, + 29.80248046878748 + ], + [ + 1.8062052194854914, + 27.99627524930196 + ], + [ + 4.214492822840441, + 24.082813135365484 + ], + [ + 5.719667333421967, + 14.75073536297242 + ], + [ + 5.719667333421967, + 8.730016354585018 + ], + [ + 5.418636624517944, + 4.214492822840498 + ], + [ + 3.612431405032396, + 0.9031130927734523 + ], + [ + 1.8062052194854914, + -0.9030921267120675 + ], + [ + -1.5051745105815257, + -2.4082666372935932 + ], + [ + -3.9134621139364754, + -2.709318312258972 + ], + [ + -6.020698042326046, + -0.9030921267120675 + ], + [ + -7.826924227872951, + 2.7093183122590005 + ], + [ + -8.730016354585018, + 10.235190865166544 + ], + [ + -8.730016354585018, + 15.653848455745873 + ], + [ + -7.826924227872951, + 20.169371987490393 + ], + [ + -6.923811135099527, + 23.179741974714744 + ], + [ + -5.719667333422024, + 24.68491648529627 + ], + [ + -5.418636624518001, + 24.985926228138936 + ], + [ + -5.117605915613979, + 24.68491648529627 + ], + [ + -5.117605915613979, + 24.68491648529627 + ] + ], + "pressures": [ + 0.0751953125, + 0.1396484375, + 0.2919921875, + 0.4169921875, + 0.4794921875, + 0.6044921875, + 0.75390625, + 0.92578125, + 1, + 1, + 1, + 0.9599609375, + 0.921875, + 0.9169921875, + 0.921875, + 0.96875, + 1, + 0.9921875, + 0.98828125, + 0.9794921875, + 0.9619140625, + 0.953125, + 0.9365234375, + 0.923828125, + 0.83203125, + 0.67578125, + 0.51171875, + 0.34765625, + 0.193359375, + 0.15625, + 0.05859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -5.117605915613979, + 24.68491648529627 + ] + }, + { + "id": "_jN380WVttmxdRkVfclsq", + "type": "freedraw", + "x": 204.96936261770105, + "y": 228.96417482996497, + "width": 10.235211831227844, + "height": 9.03104706348904, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1532206765, + "version": 81, + "versionNonce": 505565581, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.8062052194855482, + 3.3113797300670456 + ], + [ + -2.107256894450927, + 6.92381113509947 + ], + [ + -2.107256894450927, + 9.03104706348904 + ], + [ + 8.127954936776916, + 5.719688299483352 + ], + [ + 8.127954936776916, + 5.719688299483352 + ] + ], + "pressures": [ + 0.0498046875, + 0.2470703125, + 0.3466796875, + 0.3984375, + 0.6044921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.127954936776916, + 5.719688299483352 + ] + }, + { + "id": "TyzDefxwj0PMQ62AEvJV4", + "type": "freedraw", + "x": 213.09731755447797, + "y": 233.1786886188668, + "width": 6.6227804261954475, + "height": 11.439313700782662, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1581084035, + "version": 77, + "versionNonce": 151984579, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.6227804261954475, + 11.439313700782662 + ], + [ + -6.6227804261954475, + 11.439313700782662 + ] + ], + "pressures": [ + 0.6015625, + 0.0166015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -6.6227804261954475, + 11.439313700782662 + ] + }, + { + "id": "NwiPA_Ch57w0XvUnI7KA8", + "type": "freedraw", + "x": 280.22817201102185, + "y": 180.49749688426863, + "width": 9.33207777239312, + "height": 12.944530143486844, + "angle": 0, + "strokeColor": "#fff", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2104677421, + "version": 105, + "versionNonce": 1949100387, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.5051954766428821 + ], + [ + 0.3010307089040225, + -2.7093183122590005 + ], + [ + 0.3010307089040225, + -3.9134621139364754 + ], + [ + 0.602061417808045, + -4.515544497805877 + ], + [ + 0.9030921267120675, + -5.11760591561395 + ], + [ + 1.5051954766428821, + -6.0207190083874025 + ], + [ + 3.6124104389710965, + -7.826924227872922 + ], + [ + 5.418636624517944, + -9.031068029550426 + ], + [ + 6.923832101160826, + -9.63312944735847 + ], + [ + 7.525893518968871, + -9.93418112232385 + ], + [ + 7.826966159995607, + -9.332098738454448 + ], + [ + 8.127954936776973, + -6.923811135099498 + ], + [ + 8.127954936776973, + -4.816575206709928 + ], + [ + 8.127954936776973, + -2.7093183122590005 + ], + [ + 7.224862810064849, + -0.6020823838694298 + ], + [ + 4.816617138832612, + 1.8062052194855198 + ], + [ + 3.6124104389710965, + 2.4082666372935932 + ], + [ + 2.107256894450927, + 2.709318312258972 + ], + [ + 0.602061417808045, + 3.0103490211629946 + ], + [ + -0.602061417808045, + 2.709318312258972 + ], + [ + -1.2041228356161469, + 0.602061417808045 + ], + [ + -1.2041228356161469, + -1.2041438016774748 + ], + [ + -0.3010307089040225, + -2.7093183122590005 + ], + [ + 0.602061417808045, + -4.515544497805877 + ], + [ + 2.107256894450927, + -6.923811135099498 + ], + [ + 2.4082876033549496, + -7.5258935189689 + ], + [ + 2.709318312258972, + -7.826924227872922 + ], + [ + 2.709318312258972, + -7.5258935189689 + ], + [ + 3.0103490211629946, + -6.923811135099498 + ], + [ + 3.0103490211629946, + -6.0207190083874025 + ], + [ + 3.0103490211629946, + -6.0207190083874025 + ] + ], + "pressures": [ + 0.0556640625, + 0.201171875, + 0.255859375, + 0.3603515625, + 0.4521484375, + 0.5341796875, + 0.5771484375, + 0.6015625, + 0.6318359375, + 0.6357421875, + 0.6318359375, + 0.64453125, + 0.6513671875, + 0.6513671875, + 0.646484375, + 0.6533203125, + 0.67578125, + 0.703125, + 0.70703125, + 0.70703125, + 0.70703125, + 0.6884765625, + 0.6845703125, + 0.677734375, + 0.6845703125, + 0.6884765625, + 0.6513671875, + 0.583984375, + 0.2646484375, + 0.201171875, + 0.115234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.0103490211629946, + -6.0207190083874025 + ] + }, + { + "id": "MKJsQOI0IxihJx0NUmKWu", + "type": "freedraw", + "x": -422.42452581071353, + "y": -137.9039483795829, + "width": 64.36801268322881, + "height": 142.09534043819713, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1193116099, + "version": 103, + "versionNonce": 1177535747, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -8.501555333184342, + -8.501428455660971 + ], + [ + -14.57399818829822, + -17.002856911321942 + ], + [ + -15.788469842317852, + -20.646314165888725 + ], + [ + -19.431969389392464, + -34.005671530136055 + ], + [ + -19.431969389392464, + -42.507142278304855 + ], + [ + -19.431969389392464, + -52.22300009547769 + ], + [ + -18.217413150357174, + -63.15345644419352 + ], + [ + -17.00294149633754, + -72.86939884638196 + ], + [ + -13.359526534278586, + -87.44327015715675 + ], + [ + -9.716026987204032, + -95.94469861281772 + ], + [ + -4.858055786109787, + -102.0171414679316 + ], + [ + 1.214387069004033, + -104.44612706847869 + ], + [ + 10.930329471192465, + -105.66059872249838 + ], + [ + 17.002772326306342, + -104.44612706847869 + ], + [ + 24.289771420455452, + -98.37368421336487 + ], + [ + 32.791157583608594, + -86.22875621062934 + ], + [ + 40.078072092742104, + -66.7969136987603 + ], + [ + 44.93604329383635, + -31.57672822209679 + ], + [ + 41.292543746761794, + -10.930371763700293 + ], + [ + 29.14765803653404, + 10.930414056208065 + ], + [ + 14.57374443325142, + 29.14778491405741 + ], + [ + 4.857886616078588, + 36.43474171569875 + ], + [ + 0, + 29.14778491405741 + ], + [ + -3.6435841320901545, + 17.002899203829713 + ], + [ + -6.072527440129477, + -1.2144716540196896 + ], + [ + -6.072527440129477, + -17.002856911321942 + ], + [ + -4.858055786109787, + -29.147742621549696 + ], + [ + -3.6435841320901545, + -30.36221427556933 + ], + [ + -1.2146408240508322, + -30.36221427556933 + ], + [ + 0, + -27.933228675022235 + ], + [ + 0, + -27.933228675022235 + ] + ], + "pressures": [ + 0.0517578125, + 0.4794921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6083984375, + 0.2587890625, + 0.158203125, + 0.052734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + -27.933228675022235 + ] + }, + { + "id": "DnD_LQ2Qxtr5qvESN15wA", + "type": "freedraw", + "x": -472.21862489066007, + "y": -249.63694766468717, + "width": 108.08966890806107, + "height": 112.94764010915526, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2021021101, + "version": 95, + "versionNonce": 1230848173, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2145562390353462, + 1.2144716540196328 + ], + [ + -4.857971201094301, + -1.214513946527461 + ], + [ + -12.14497029524341, + -4.857971201094244 + ], + [ + -20.646271873380897, + -9.715942402188432 + ], + [ + -35.220270061679116, + -14.573913603282676 + ], + [ + -48.57962742592656, + -17.00289920382977 + ], + [ + -64.36801268322881, + -18.21732856534163 + ], + [ + -78.94184170149583, + -18.21732856534163 + ], + [ + -97.159254851853, + -18.21732856534163 + ], + [ + -104.44616936098657, + -20.646356458396497 + ], + [ + -106.87511266902584, + -21.860870404923958 + ], + [ + -108.08966890806107, + -21.860870404923958 + ], + [ + -104.44616936098657, + -15.78838525730231 + ], + [ + -98.3737265058727, + -1.214513946527461 + ], + [ + -89.8722557577039, + 20.64631416588867 + ], + [ + -78.94184170149583, + 55.866499642552185 + ], + [ + -74.08395508541719, + 72.8693988463819 + ], + [ + -70.44045553834269, + 85.01432684911742 + ], + [ + -69.22589929930746, + 89.87225575770384 + ], + [ + -68.01151223030342, + 91.0867697042313 + ], + [ + -66.79695599126808, + 88.65774181117638 + ], + [ + -65.5824843372485, + 85.01432684911742 + ], + [ + -65.5824843372485, + 85.01432684911742 + ] + ], + "pressures": [ + 0.0537109375, + 0.7109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.353515625, + 0.125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -65.5824843372485, + 85.01432684911742 + ] + }, + { + "id": "51Ss5-tFJYmpM8U33_W6n", + "type": "freedraw", + "x": -400.1095242897878, + "y": -167.9104396101477, + "width": 59.53480978362628, + "height": 59.53470740367865, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 177305443, + "version": 271, + "versionNonce": 1989553315, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + -38.35948190232551, + -5.274412898924922 + ], + [ + -37.62444506822673, + -4.539427254799949 + ], + [ + -39.82950438054933, + -5.274412898924922 + ], + [ + -43.50448379114807, + -6.7444097821617905 + ], + [ + -48.6493833000229, + -8.214406665398663 + ], + [ + -56.73443014529305, + -9.68437795364864 + ], + [ + -72.90431907593785, + -11.154400431872439 + ], + [ + -81.7242491853853, + -11.154400431872439 + ], + [ + -88.3392735524317, + -11.889386075997407 + ], + [ + -92.74918741718159, + -12.624397315109313 + ], + [ + -96.42416682778035, + -13.359357364247387 + ], + [ + -97.159254851853, + -13.359357364247387 + ], + [ + -96.42416682778035, + -12.624397315109313 + ], + [ + -93.4842242512804, + -7.479421021273692 + ], + [ + -89.80924484068159, + 2.810531566397544 + ], + [ + -86.13426543008293, + 15.305492276417501 + ], + [ + -84.66429414183293, + 27.065467342312537 + ], + [ + -82.45928601948421, + 39.56037686235872 + ], + [ + -82.45928601948421, + 43.97036751206939 + ], + [ + -82.45928601948421, + 46.175350039431265 + ], + [ + -82.45928601948421, + 45.440389990293184 + ], + [ + -82.45928601948421, + 42.50037062883251 + ], + [ + -82.45928601948421, + 41.765384984707495 + ], + [ + -82.45928601948421, + 41.765384984707495 + ] + ], + "pressures": [ + 0.05078125, + 0.326171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7685546875, + 0.2119140625, + 0.1318359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -72.86939884638196, + 77.72737004747614 + ] + }, + { + "id": "BQA_JCIw-nlT0bN0Y92ud", + "type": "freedraw", + "x": -468.87794554805805, + "y": -151.34725998247842, + "width": 38.219765394237385, + "height": 4.409990649710616, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1570437325, + "version": 264, + "versionNonce": 111846157, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + -4.315407484093814, + -2.3974634445151044 + ], + [ + -10.1953950170413, + -1.662452205403205 + ], + [ + -10.930329471192522, + -1.662452205403205 + ], + [ + -9.460358182942512, + -1.662452205403205 + ], + [ + -3.580370649995023, + -3.1324746836269695 + ], + [ + 3.7695881712024795, + -3.8674603277519752 + ], + [ + 14.794577592972507, + -4.602445971876947 + ], + [ + 20.67451393594622, + -5.337431616001918 + ], + [ + 25.084478990669883, + -6.07244285511382 + ], + [ + 26.55445027891989, + -6.07244285511382 + ], + [ + 27.289435923044863, + -6.07244285511382 + ], + [ + 26.55445027891989, + -6.07244285511382 + ], + [ + 25.084478990669883, + -6.07244285511382 + ], + [ + 24.349493346544936, + -6.07244285511382 + ], + [ + 24.349493346544936, + -6.07244285511382 + ] + ], + "pressures": [ + 0.0751953125, + 0.259765625, + 0.5078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3720703125, + 0.125, + 0.0302734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 47.36515577190687, + -6.07244285511382 + ] + }, + { + "id": "F3iVTv8ukxCbJ_JhWeM49", + "type": "freedraw", + "x": -449.8352327986005, + "y": -164.62863808499125, + "width": 2.205008122348804, + "height": 50.714802889218134, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 682335181, + "version": 257, + "versionNonce": 151953475, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 5.879987532947525 + ], + [ + 0.7349856441250062, + 19.109908292105587 + ], + [ + 0.7349856441250062, + 31.604869002125618 + ], + [ + 0.7349856441250062, + 41.89482158979685 + ], + [ + 0.7349856441250062, + 49.244780410994345 + ], + [ + 0.7349856441250062, + 49.979791650106286 + ], + [ + 1.4699712882499434, + 50.714802889218134 + ], + [ + 1.4699712882499434, + 49.979791650106286 + ], + [ + 2.205008122348804, + 47.039823478619375 + ], + [ + 2.205008122348804, + 41.89482158979685 + ], + [ + 2.205008122348804, + 41.89482158979685 + ] + ], + "pressures": [ + 0.125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.640625, + 0.107421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.6434995470746117, + 69.22594159181517 + ] + }, + { + "id": "CtBypPu6EOjhOtLk829pq", + "type": "freedraw", + "x": -417.5666391946354, + "y": -154.9067629983969, + "width": 34.00571382264377, + "height": 42.507142278304855, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 421582147, + "version": 95, + "versionNonce": 1289533805, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.286914509133453, + 9.715942402188375 + ], + [ + -8.501301578137486, + 14.57391360328262 + ], + [ + -8.501301578137486, + 20.646398750904268 + ], + [ + -4.857886616078531, + 24.289813712963223 + ], + [ + 2.429027893054922, + 27.933270967530007 + ], + [ + 7.28699909414911, + 27.933270967530007 + ], + [ + 17.0029414963376, + 23.07534205894359 + ], + [ + 19.431884804376864, + 20.646398750904268 + ], + [ + 21.860912697431786, + 13.359399656755159 + ], + [ + 23.075384351451362, + 2.429027893054865 + ], + [ + 20.646356458396554, + -3.643414962058955 + ], + [ + 14.573913603282676, + -9.715857817172832 + ], + [ + 8.5014707481688, + -14.573871310774848 + ], + [ + 2.429027893054922, + -14.573871310774848 + ], + [ + -6.072442855113877, + -7.28691450913351 + ], + [ + -10.930329471192408, + 0 + ], + [ + -10.930329471192408, + 3.643499547074555 + ], + [ + -10.930329471192408, + 6.07244285511382 + ], + [ + -7.286914509133453, + 10.930414056208065 + ], + [ + -2.4288587230237226, + 13.359399656755159 + ], + [ + 2.429027893054922, + 13.359399656755159 + ], + [ + 6.072527440129534, + 10.930414056208065 + ], + [ + 6.072527440129534, + 8.501470748168742 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.1396484375, + 0.7109375, + 0.953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5693359375, + 0.2431640625, + 0.134765625, + 0.0087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.072527440129534, + 8.501470748168742 + ] + }, + { + "id": "aLyAAS09wEj9GWDrSACyD", + "type": "freedraw", + "x": -406.63622513842733, + "y": -164.62262081556975, + "width": 9.715942402188489, + "height": 51.00857073396577, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 313660237, + "version": 81, + "versionNonce": 125280227, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -4.858013493602016 + ], + [ + 0, + 0 + ], + [ + 0, + 10.930371763700293 + ], + [ + 3.6434995470746117, + 30.3622565680771 + ], + [ + 6.072527440129534, + 38.86364273123024 + ], + [ + 7.28699909414911, + 44.93608558634412 + ], + [ + 8.5014707481688, + 46.15055724036375 + ], + [ + 9.715942402188489, + 46.15055724036375 + ], + [ + 9.715942402188489, + 44.93608558634412 + ], + [ + 9.715942402188489, + 40.07811438524993 + ], + [ + 8.5014707481688, + 36.43469942319098 + ], + [ + 8.5014707481688, + 36.43469942319098 + ] + ], + "pressures": [ + 0.0068359375, + 0.626953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4296875, + 0.1396484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.5014707481688, + 36.43469942319098 + ] + }, + { + "id": "p0p8UP2lF5Py-r2eELYPW", + "type": "freedraw", + "x": -385.9898686800308, + "y": -122.11547853726495, + "width": 8.501386163153143, + "height": 97.15917026683735, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1976843245, + "version": 90, + "versionNonce": 87884749, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.214471654019576, + 1.2144293615118613 + ], + [ + 1.214471654019576, + -3.643499547074555 + ], + [ + 1.214471654019576, + -13.35944194926293 + ], + [ + -1.2144716540196896, + -31.576770514604505 + ], + [ + -3.643414962058955, + -48.57962742592645 + ], + [ + -4.857971201094301, + -69.22598388432294 + ], + [ + -4.857971201094301, + -87.44331244966452 + ], + [ + -4.857971201094301, + -94.73026925130586 + ], + [ + -4.857971201094301, + -95.94474090532549 + ], + [ + -4.857971201094301, + -89.87229805021161 + ], + [ + -4.857971201094301, + -77.72741233998391 + ], + [ + -4.857971201094301, + -59.51004148213451 + ], + [ + -4.857971201094301, + -31.576770514604505 + ], + [ + -6.072442855113877, + -23.07534205894359 + ], + [ + -7.286914509133567, + -21.8608704049239 + ], + [ + -7.286914509133567, + -24.289813712963223 + ], + [ + -4.857971201094301, + -30.3622565680771 + ], + [ + -3.643414962058955, + -35.220270061679116 + ], + [ + -3.643414962058955, + -37.64921336971838 + ], + [ + -3.643414962058955, + -38.86372731624584 + ], + [ + -3.643414962058955, + -37.64921336971838 + ], + [ + -3.643414962058955, + -37.64921336971838 + ] + ], + "pressures": [ + 0.1025390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.0703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -3.643414962058955, + -37.64921336971838 + ] + }, + { + "id": "BsHsyotbaGRlYlFeaA0Gz", + "type": "freedraw", + "x": -406.63622513842733, + "y": -160.9792058535108, + "width": 38.86368502373807, + "height": 59.5099991896268, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 89896205, + "version": 119, + "versionNonce": 1004514179, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558555, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.214387069004033, + -1.2144716540196328 + ], + [ + -7.28682992411791, + 8.501470748168742 + ], + [ + -8.501386163153143, + 14.57391360328262 + ], + [ + -9.715857817172832, + 23.075299766435762 + ], + [ + -9.715857817172832, + 26.718841606018145 + ], + [ + -6.072442855113877, + 30.3622565680771 + ], + [ + -2.4289433080392655, + 34.005713822643884 + ], + [ + 3.6434995470746117, + 35.22022776917129 + ], + [ + 13.359441949262987, + 35.22022776917129 + ], + [ + 20.646356458396554, + 31.576728222096733 + ], + [ + 25.50432765949074, + 25.504285366982913 + ], + [ + 26.71879931351043, + 21.86082811241613 + ], + [ + 26.71879931351043, + 14.57391360328262 + ], + [ + 25.50432765949074, + 6.072442855113877 + ], + [ + 21.86082811241613, + -1.2144716540196328 + ], + [ + 17.0029414963376, + -8.501428455660971 + ], + [ + 12.144970295243297, + -13.359399656755159 + ], + [ + 4.858055786109844, + -15.78834296479448 + ], + [ + 0, + -15.78834296479448 + ], + [ + -3.643414962058955, + -10.930414056208065 + ], + [ + -9.715857817172832, + 1.214513946527461 + ], + [ + -12.14488571022764, + 10.930414056208065 + ], + [ + -12.14488571022764, + 19.431842511869036 + ], + [ + -12.14488571022764, + 25.504285366982913 + ], + [ + -12.14488571022764, + 29.147784914057468 + ], + [ + -8.501386163153143, + 32.79128446113202 + ], + [ + -3.643414962058955, + 35.22022776917129 + ], + [ + -1.214387069004033, + 35.22022776917129 + ], + [ + 6.072527440129534, + 30.3622565680771 + ], + [ + 10.930498641223721, + 23.075299766435762 + ], + [ + 13.359441949262987, + 13.359399656755159 + ], + [ + 14.573913603282676, + 4.857971201094188 + ], + [ + 14.573913603282676, + -3.643414962058955 + ], + [ + 14.573913603282676, + -8.501428455660971 + ], + [ + 14.573913603282676, + -10.930414056208065 + ], + [ + 14.573913603282676, + -14.573871310774848 + ], + [ + 14.573913603282676, + -15.78834296479448 + ], + [ + 14.573913603282676, + -14.573871310774848 + ], + [ + 15.788385257302252, + -7.286956801641338 + ], + [ + 15.788385257302252, + 2.429027893054922 + ], + [ + 15.788385257302252, + 14.57391360328262 + ], + [ + 15.788385257302252, + 25.504285366982913 + ], + [ + 17.0029414963376, + 37.64921336971844 + ], + [ + 19.431884804376864, + 41.292670624285165 + ], + [ + 20.646356458396554, + 43.721656224832316 + ], + [ + 21.86082811241613, + 43.721656224832316 + ], + [ + 23.075384351451476, + 43.721656224832316 + ], + [ + 25.50432765949074, + 42.5071422783048 + ], + [ + 26.71879931351043, + 41.292670624285165 + ], + [ + 26.71879931351043, + 40.078156677757704 + ], + [ + 26.71879931351043, + 40.078156677757704 + ] + ], + "pressures": [ + 0.1162109375, + 0.345703125, + 0.9384765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.734375, + 0.390625, + 0.068359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 26.71879931351043, + 40.078156677757704 + ] + }, + { + "id": "GjejO6SL5nvvZbqGnYhat", + "type": "freedraw", + "x": -428.7288274726427, + "y": -130.2842211706665, + "width": 37.484779750112445, + "height": 35.27984841272434, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1300895149, + "version": 313, + "versionNonce": 870646317, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + -3.835921474199131, + -8.15137905085558 + ], + [ + -6.040878406574082, + -8.15137905085558 + ], + [ + -6.775915240672873, + -5.211385284381842 + ], + [ + -7.5109008847978815, + -1.5364058737830886 + ], + [ + -7.5109008847978815, + 2.138573536815653 + ], + [ + -6.775915240672873, + 6.548564186526271 + ], + [ + -5.305943952422928, + 8.75357230887504 + ], + [ + -3.835921474199131, + 10.223543597125014 + ], + [ + -0.8959277077253848, + 11.69354048036193 + ], + [ + -0.16094206360037974, + 11.69354048036193 + ], + [ + 2.779051702873369, + 12.428551719473779 + ], + [ + 4.984059825222171, + 10.223543597125014 + ], + [ + 7.924002401722069, + 7.283549830651275 + ], + [ + 9.394024879945862, + 3.6085704200525304 + ], + [ + 10.863996168195875, + -3.006402757019966 + ], + [ + 10.863996168195875, + -7.41639340673061 + ], + [ + 10.863996168195875, + -10.356361578217422 + ], + [ + 10.129010524070853, + -12.561369700566226 + ], + [ + 7.18901675759712, + -16.971309160303015 + ], + [ + 4.984059825222171, + -19.17634287763872 + ], + [ + 2.779051702873369, + -20.64631416588867 + ], + [ + -0.16094206360037974, + -20.64631416588867 + ], + [ + -2.365898995975331, + -20.64631416588867 + ], + [ + -6.040878406574082, + -17.706345994401826 + ], + [ + -7.5109008847978815, + -14.766352227928076 + ], + [ + -8.980923363021612, + -11.82635846145433 + ], + [ + -9.715857817172832, + -7.41639340673061 + ], + [ + -9.715857817172832, + -2.2713915179080626 + ], + [ + -9.715857817172832, + 0.6685766535787862 + ], + [ + -8.980923363021612, + 2.8735847759275535 + ], + [ + -8.245937718896672, + 5.078592898276335 + ], + [ + -6.775915240672873, + 8.018561069763175 + ], + [ + -3.835921474199131, + 11.69354048036193 + ], + [ + -2.365898995975331, + 13.163537363598802 + ], + [ + -0.8959277077253848, + 13.898523007723725 + ], + [ + 1.3090804146234187, + 13.898523007723725 + ], + [ + 4.249022991123375, + 13.898523007723725 + ], + [ + 7.18901675759712, + 12.428551719473779 + ], + [ + 9.394024879945862, + 9.488532358013117 + ], + [ + 11.598981812320808, + 5.813552947414403 + ], + [ + 13.803989934669623, + 2.138573536815653 + ], + [ + 14.538975578794632, + -1.5364058737830886 + ], + [ + 15.273961222919565, + -3.741388401144935 + ], + [ + 16.00899805701837, + -9.621350339105557 + ], + [ + 16.00899805701837, + -11.82635846145433 + ], + [ + 16.00899805701837, + -13.296329749704272 + ], + [ + 16.00899805701837, + -14.031340988816178 + ], + [ + 15.273961222919565, + -14.031340988816178 + ], + [ + 13.803989934669623, + -11.091372817329322 + ], + [ + 12.334018646419677, + -8.15137905085558 + ], + [ + 10.863996168195875, + -1.5364058737830886 + ], + [ + 10.863996168195875, + 2.138573536815653 + ], + [ + 10.863996168195875, + 5.078592898276335 + ], + [ + 12.334018646419677, + 8.018561069763175 + ], + [ + 14.538975578794632, + 10.958529241249986 + ], + [ + 17.47896934526838, + 13.898523007723725 + ], + [ + 18.948991823492182, + 14.633534246835671 + ], + [ + 20.418963111742134, + 14.633534246835671 + ], + [ + 22.623971234090863, + 14.633534246835671 + ], + [ + 26.29895064468958, + 11.69354048036193 + ], + [ + 27.768921932939612, + 8.75357230887504 + ], + [ + 27.768921932939612, + 4.343556064177506 + ], + [ + 26.29895064468958, + 0.6685766535787862 + ], + [ + 24.828928166465804, + -2.2713915179080626 + ], + [ + 22.623971234090863, + -4.476399640256835 + ], + [ + 22.623971234090863, + -5.211385284381842 + ], + [ + 22.623971234090863, + -4.476399640256835 + ], + [ + 22.623971234090863, + -4.476399640256835 + ] + ], + "pressures": [ + 0, + 0.416015625, + 0.7265625, + 0.9814453125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.669921875, + 0.5224609375, + 0.02734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 43.72165622483226, + 6.072442855113877 + ] + }, + { + "id": "CjnmrYz0dA2YG0Y2opkSM", + "type": "freedraw", + "x": -402.91175481124696, + "y": -80.40717380390305, + "width": 27.929863996539936, + "height": 70.55969682544868, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 649105123, + "version": 284, + "versionNonce": 713376547, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + -0.9589720197893198, + -46.03135824576554 + ], + [ + -0.22393518569052717, + -47.501355129002434 + ], + [ + -0.22393518569052717, + -61.46631272225934 + ], + [ + -0.22393518569052717, + -66.61128901609496 + ], + [ + -0.22393518569052717, + -77.63622724789118 + ], + [ + -0.22393518569052717, + -89.39615112381232 + ], + [ + -0.9589720197893198, + -99.68612930647053 + ], + [ + -1.693957663914258, + -108.50608501090481 + ], + [ + -1.693957663914258, + -113.65106130474044 + ], + [ + -2.4289433080392655, + -116.59105507121421 + ], + [ + -2.4289433080392655, + -113.65106130474044 + ], + [ + -1.693957663914258, + -105.56611683941797 + ], + [ + -0.9589720197893198, + -96.01114989587178 + ], + [ + -0.9589720197893198, + -79.10622413112807 + ], + [ + -0.9589720197893198, + -69.55125718758177 + ], + [ + -1.693957663914258, + -62.20129836638431 + ], + [ + -1.693957663914258, + -57.05632207254869 + ], + [ + -1.693957663914258, + -54.85133954518684 + ], + [ + -1.693957663914258, + -58.52631895578556 + ], + [ + 1.246036102559488, + -65.14129213285806 + ], + [ + 6.391037991381979, + -73.22626219316744 + ], + [ + 7.861009279631999, + -75.43124472052929 + ], + [ + 9.330980567881927, + -75.43124472052929 + ], + [ + 10.80100304610573, + -73.96124783729242 + ], + [ + 13.740996812579496, + -71.02122847583175 + ], + [ + 16.680990579053226, + -67.34624906523301 + ], + [ + 21.090955633777, + -61.46631272225934 + ], + [ + 24.030949400250762, + -55.58632518931181 + ], + [ + 25.500920688500674, + -51.91134577871306 + ], + [ + 25.500920688500674, + -50.441348895476175 + ], + [ + 24.030949400250762, + -49.70636325135123 + ], + [ + 19.62093315555317, + -48.2363663681143 + ], + [ + 13.740996812579496, + -46.76636948487743 + ], + [ + 6.391037991381979, + -48.2363663681143 + ], + [ + 4.186029869033229, + -49.70636325135123 + ], + [ + 2.716007390809434, + -51.17633453960115 + ], + [ + 1.981021746684423, + -52.646305827851144 + ], + [ + 2.716007390809434, + -53.38134266194993 + ], + [ + 4.921015513158246, + -54.85133954518684 + ], + [ + 5.656001157283184, + -54.85133954518684 + ], + [ + 5.656001157283184, + -54.11632830607495 + ], + [ + 5.656001157283184, + -54.11632830607495 + ] + ], + "pressures": [ + 0.0810546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9345703125, + 0.2587890625, + 0.193359375, + 0.0712890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.930414056208065, + -13.359399656755215 + ] + }, + { + "id": "mVDqSvHsYR1Ei1jd5AD-C", + "type": "freedraw", + "x": -469.7896815826208, + "y": -97.82570711680944, + "width": 163.95621084312097, + "height": 18.21732856534163, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 332098221, + "version": 79, + "versionNonce": 499004557, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 9.715942402188375, + -4.857971201094301 + ], + [ + 29.147742621549583, + -8.501428455660971 + ], + [ + 69.225983884323, + -13.359399656755272 + ], + [ + 99.58819815989227, + -13.359399656755272 + ], + [ + 125.0925258193829, + -12.144885710227754 + ], + [ + 144.52432603874422, + -7.286956801641395 + ], + [ + 157.88368340299155, + 1.214471654019576 + ], + [ + 162.74165460408574, + 4.857928908586359 + ], + [ + 163.95621084312097, + 4.857928908586359 + ], + [ + 163.95621084312097, + 3.6434572545666697 + ], + [ + 160.31271129604647, + 1.214471654019576 + ], + [ + 159.09823964202678, + 0 + ], + [ + 159.09823964202678, + 0 + ] + ], + "pressures": [ + 0.0830078125, + 0.8828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2548828125, + 0.126953125, + 0.044921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 159.09823964202678, + 0 + ] + }, + { + "id": "JleSE4WcRUVChZmsoW-ic", + "type": "freedraw", + "x": -402.9927255913527, + "y": -84.46630746005428, + "width": 123.87788499533212, + "height": 6.072442855113877, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 587667789, + "version": 79, + "versionNonce": 1272374979, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.857886616078645, + 0 + ], + [ + 1.2145562390352325, + 0 + ], + [ + 24.289771420455395, + 0 + ], + [ + 47.36515577190676, + 0 + ], + [ + 70.44045553834258, + -1.2145139465275179 + ], + [ + 91.08672741172347, + -1.2145139465275179 + ], + [ + 112.9475555241396, + 1.214471654019576 + ], + [ + 117.80552672523379, + 3.6434572545667834 + ], + [ + 119.01999837925348, + 4.857928908586359 + ], + [ + 116.59105507121421, + 4.857928908586359 + ], + [ + 112.9475555241396, + 4.857928908586359 + ], + [ + 110.51861221610034, + 4.857928908586359 + ], + [ + 110.51861221610034, + 4.857928908586359 + ] + ], + "pressures": [ + 0.056640625, + 0.794921875, + 0.9794921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4736328125, + 0.158203125, + 0.0859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 110.51861221610034, + 4.857928908586359 + ] + }, + { + "id": "Bdb4UN47kzyNW1MLpGitL", + "type": "freedraw", + "x": -436.6219141848841, + "y": -104.41221437432739, + "width": 95.54956705551487, + "height": 9.554966943546235, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1901640685, + "version": 286, + "versionNonce": 780278509, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + -0.47950270741558426 + ], + [ + 3.6749794105987523, + 0.2554829367093536 + ], + [ + 10.290003777645028, + 0.9904941758212862 + ], + [ + 19.109933887092474, + 0.9904941758212862 + ], + [ + 33.07486588536246, + 0.2554829367093536 + ], + [ + 49.979791650106215, + -0.47950270741558426 + ], + [ + 66.14973177072493, + -1.2145139465275179 + ], + [ + 85.25961446784363, + 0.9904941758212862 + ], + [ + 92.609624479015, + 3.9304623473081035 + ], + [ + 95.54956705551487, + 6.87045611378184 + ], + [ + 95.54956705551487, + 8.340452997018717 + ], + [ + 92.609624479015, + 8.340452997018717 + ], + [ + 91.87458764491616, + 7.605467352893774 + ], + [ + 91.87458764491616, + 7.605467352893774 + ] + ], + "pressures": [ + 0.0478515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.572265625, + 0.1162109375, + 0.03515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 151.81124054787767, + 13.359399656755159 + ] + }, + { + "id": "UXjRmklMark_l1mjGhRdO", + "type": "freedraw", + "x": -344.6971557632379, + "y": -65.03446494818525, + "width": 23.07529976643582, + "height": 24.289771420455395, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1131709123, + "version": 80, + "versionNonce": 108205667, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -7.28699909414911, + 2.4289433080392655 + ], + [ + -9.715942402188375, + 4.857928908586359 + ], + [ + -12.144970295243297, + 8.501428455660971 + ], + [ + -13.359441949262873, + 13.35935736424733 + ], + [ + -14.573913603282563, + 20.64631416588861 + ], + [ + -14.573913603282563, + 21.8607858199083 + ], + [ + -13.359441949262873, + 23.075299766435705 + ], + [ + -10.930414056208065, + 23.075299766435705 + ], + [ + -6.07252744012942, + 23.075299766435705 + ], + [ + 0, + 23.075299766435705 + ], + [ + 3.643414962058955, + 23.075299766435705 + ], + [ + 6.072442855113877, + 23.075299766435705 + ], + [ + 7.286914509133567, + 23.075299766435705 + ], + [ + 8.501386163153256, + 24.289771420455395 + ], + [ + 8.501386163153256, + 24.289771420455395 + ] + ], + "pressures": [ + 0.0078125, + 0.5693359375, + 0.6337890625, + 0.8515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.92578125, + 0.4873046875, + 0.2421875, + 0.037109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.501386163153256, + 24.289771420455395 + ] + }, + { + "id": "04MVYRcDEkCtGu11FFdo9", + "type": "freedraw", + "x": -333.7668262920454, + "y": -41.95916518174954, + "width": 38.86368502373807, + "height": 53.43751404200509, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1022149101, + "version": 90, + "versionNonce": 515519821, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.2145562390352325, + -6.0724428551137635 + ], + [ + 2.429027893054922, + -7.286956801641281 + ], + [ + 6.07252744012942, + -8.501428455660857 + ], + [ + 9.715942402188375, + -8.501428455660857 + ], + [ + 13.359441949262987, + -8.501428455660857 + ], + [ + 17.002941496337485, + -4.857971201094188 + ], + [ + 18.217413150357174, + 2.4289856005472075 + ], + [ + 19.431884804376864, + 12.144885710227754 + ], + [ + 19.431884804376864, + 25.504285366982913 + ], + [ + 15.788385257302252, + 31.57672822209679 + ], + [ + 10.930414056208065, + 36.43469942319098 + ], + [ + 4.857971201094188, + 38.86364273123036 + ], + [ + -2.4289433080392655, + 41.29267062428528 + ], + [ + -7.286914509133567, + 43.721613932324544 + ], + [ + -8.501386163153143, + 44.936085586344234 + ], + [ + -4.857886616078645, + 44.936085586344234 + ], + [ + 2.429027893054922, + 42.507142278304855 + ], + [ + 10.930414056208065, + 41.29267062428528 + ], + [ + 18.217413150357174, + 40.07819897026559 + ], + [ + 23.075384351451362, + 38.86364273123036 + ], + [ + 27.93335555254555, + 38.86364273123036 + ], + [ + 29.14782720656524, + 38.86364273123036 + ], + [ + 30.36229886058493, + 35.2202277691714 + ], + [ + 30.36229886058493, + 31.57672822209679 + ], + [ + 30.36229886058493, + 30.3622565680771 + ], + [ + 30.36229886058493, + 30.3622565680771 + ] + ], + "pressures": [ + 0.060546875, + 0.8896484375, + 0.9619140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.294921875, + 0.1357421875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 30.36229886058493, + 30.3622565680771 + ] + }, + { + "id": "yJuUmgMumwOaoFq3LAM3s", + "type": "freedraw", + "x": -297.3320845763466, + "y": -41.95916518174954, + "width": 41.29262833177734, + "height": 49.794099079946136, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 334425901, + "version": 87, + "versionNonce": 1764250115, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2144716540196896, + -1.2145139465274042 + ], + [ + -1.2144716540196896, + -2.428985600547094 + ], + [ + 1.214471654019576, + -3.643499547074498 + ], + [ + 4.857971201094188, + -4.857971201094188 + ], + [ + 9.715942402188375, + -6.0724428551137635 + ], + [ + 14.573913603282563, + -7.286956801641281 + ], + [ + 20.64635645839644, + -7.286956801641281 + ], + [ + 27.933270967530007, + -3.643499547074498 + ], + [ + 29.147742621549583, + 1.2144716540196896 + ], + [ + 27.933270967530007, + 7.286914509133567 + ], + [ + 23.075299766435705, + 14.573871310774848 + ], + [ + 14.573913603282563, + 21.860828112416243 + ], + [ + 2.4289433080392655, + 34.005671530136055 + ], + [ + -3.6434995470746117, + 38.86364273123036 + ], + [ + -6.072442855113877, + 41.29267062428528 + ], + [ + -3.6434995470746117, + 42.507142278304855 + ], + [ + 2.4289433080392655, + 42.507142278304855 + ], + [ + 9.715942402188375, + 41.29267062428528 + ], + [ + 17.002856911321942, + 37.64917107721067 + ], + [ + 24.289771420455395, + 35.2202277691714 + ], + [ + 31.576770514604505, + 32.79119987611648 + ], + [ + 34.00571382264377, + 32.79119987611648 + ], + [ + 35.22018547666346, + 32.79119987611648 + ], + [ + 35.22018547666346, + 32.79119987611648 + ] + ], + "pressures": [ + 0.1357421875, + 0.85546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5849609375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.22018547666346, + 32.79119987611648 + ] + }, + { + "id": "1R1txsJneJWH-ap6o8Q62", + "type": "freedraw", + "x": -381.1711501402456, + "y": -88.37431260141693, + "width": 6.614973177072497, + "height": 7.349958821197431, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1422030275, + "version": 296, + "versionNonce": 1505756077, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + -4.3154408791355685, + -0.9589887173102227 + ], + [ + -4.3154408791355685, + -2.428985600547094 + ], + [ + -5.785463357359369, + -2.428985600547094 + ], + [ + -7.255434645609315, + -2.428985600547094 + ], + [ + -7.990420289734323, + -2.428985600547094 + ], + [ + -8.725457123833118, + -2.428985600547094 + ], + [ + -9.46044276795812, + -0.9589887173102227 + ], + [ + -10.195428412083057, + 1.980979454176592 + ], + [ + -10.930414056208065, + 2.7159906932885276 + ], + [ + -10.930414056208065, + 3.4509763374134654 + ], + [ + -10.195428412083057, + 3.4509763374134654 + ], + [ + -8.725457123833118, + 4.185987576525394 + ], + [ + -7.255434645609315, + 4.920973220650338 + ], + [ + -5.785463357359369, + 4.920973220650338 + ], + [ + -5.050426523260574, + 4.920973220650338 + ], + [ + -5.050426523260574, + 4.185987576525394 + ], + [ + -6.520449001484307, + 2.7159906932885276 + ], + [ + -7.255434645609315, + 2.7159906932885276 + ], + [ + -7.255434645609315, + 4.185987576525394 + ], + [ + -7.255434645609315, + 4.920973220650338 + ], + [ + -6.520449001484307, + 4.920973220650338 + ], + [ + -5.785463357359369, + 4.920973220650338 + ], + [ + -5.785463357359369, + 4.185987576525394 + ], + [ + -4.3154408791355685, + -0.9589887173102227 + ] + ], + "pressures": [ + 0.005859375, + 0.1455078125, + 0.6181640625, + 0.6865234375, + 0.783203125, + 0.8388671875, + 0.9599609375, + 0.9619140625, + 0.966796875, + 0.96875, + 0.966796875, + 0.9560546875, + 0.9619140625, + 0.966796875, + 0.966796875, + 1, + 1, + 1, + 1, + 1, + 0.8515625, + 0.11328125, + 0.0400390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -2.429027893054922, + 8.501428455660971 + ] + }, + { + "id": "XlnlVWFHyJxOxfHypre8i", + "type": "freedraw", + "x": -342.2682124551985, + "y": -56.533036492524275, + "width": 36.43474171569869, + "height": 38.86368502373807, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 440215779, + "version": 89, + "versionNonce": 620042659, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.4289433080392655, + -4.857971201094301 + ], + [ + 3.643499547074498, + -6.072485147621705 + ], + [ + 6.072442855113877, + -7.286956801641395 + ], + [ + 8.501386163153143, + -7.286956801641395 + ], + [ + 12.144885710227754, + -7.286956801641395 + ], + [ + 18.217328565341518, + -2.428985600547094 + ], + [ + 20.64635645839644, + 2.4289433080392655 + ], + [ + 21.86082811241613, + 7.286914509133453 + ], + [ + 21.86082811241613, + 12.14488571022764 + ], + [ + 20.64635645839644, + 17.002856911321942 + ], + [ + 14.573913603282563, + 24.289771420455395 + ], + [ + 10.930414056208065, + 26.71875702100249 + ], + [ + 6.072442855113877, + 27.933270967530007 + ], + [ + 2.4289433080392655, + 29.147742621549583 + ], + [ + 0, + 30.362214275569272 + ], + [ + -2.428943308039379, + 30.362214275569272 + ], + [ + -3.6434995470746117, + 31.576728222096676 + ], + [ + -4.857971201094188, + 31.576728222096676 + ], + [ + -2.428943308039379, + 31.576728222096676 + ], + [ + 2.4289433080392655, + 30.362214275569272 + ], + [ + 8.501386163153143, + 30.362214275569272 + ], + [ + 13.35935736424733, + 29.147742621549583 + ], + [ + 21.86082811241613, + 29.147742621549583 + ], + [ + 26.718799313510317, + 29.147742621549583 + ], + [ + 30.362214275569272, + 29.147742621549583 + ], + [ + 31.576770514604505, + 29.147742621549583 + ], + [ + 31.576770514604505, + 27.933270967530007 + ], + [ + 31.576770514604505, + 26.71875702100249 + ], + [ + 31.576770514604505, + 26.71875702100249 + ] + ], + "pressures": [ + 0.0556640625, + 0.50390625, + 0.8701171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6533203125, + 0.1728515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 31.576770514604505, + 26.71875702100249 + ] + }, + { + "id": "9pJOCW0_cjvZTtdkZavlt", + "type": "freedraw", + "x": -309.4769702865743, + "y": -51.675107583937915, + "width": 19.431800219361207, + "height": 34.005713822643884, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1869620845, + "version": 77, + "versionNonce": 599590413, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2144716540196896, + -1.2144716540196896 + ], + [ + 1.2144716540196896, + -2.428985600547094 + ], + [ + 4.857971201094188, + -2.428985600547094 + ], + [ + 8.501386163153143, + -3.6434572545667834 + ], + [ + 9.715942402188375, + -3.6434572545667834 + ], + [ + 13.35935736424733, + -2.428985600547094 + ], + [ + 15.788385257302252, + 0 + ], + [ + 17.002856911321942, + 8.501428455660971 + ], + [ + 18.217328565341518, + 17.002856911321942 + ], + [ + 18.217328565341518, + 23.075342058943647 + ], + [ + 17.002856911321942, + 26.718799313510317 + ], + [ + 13.35935736424733, + 29.14778491405741 + ], + [ + 8.501386163153143, + 30.3622565680771 + ], + [ + 3.643499547074498, + 30.3622565680771 + ], + [ + 0, + 29.14778491405741 + ], + [ + -1.2144716540196896, + 27.933270967530007 + ], + [ + -1.2144716540196896, + 25.504285366982913 + ], + [ + -1.2144716540196896, + 25.504285366982913 + ] + ], + "pressures": [ + 0.1357421875, + 0.9599609375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4453125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.2144716540196896, + 25.504285366982913 + ] + }, + { + "id": "CH2o3YtToajh_AHwDCLc7", + "type": "freedraw", + "x": -333.7668262920454, + "y": -65.03446494818525, + "width": 59.51004148213451, + "height": 51.00857073396571, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 13871331, + "version": 88, + "versionNonce": 1191701827, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.6434995470746117, + -4.857971201094188 + ], + [ + 7.28699909414911, + -3.6434995470746117 + ], + [ + 13.359441949262987, + 7.286914509133453 + ], + [ + 15.788385257302252, + 18.217328565341518 + ], + [ + 15.788385257302252, + 29.147742621549583 + ], + [ + 12.144970295243297, + 38.86364273123024 + ], + [ + 4.857971201094188, + 46.150599532871524 + ], + [ + 0, + 46.150599532871524 + ], + [ + -6.072442855113877, + 46.150599532871524 + ], + [ + -12.144885710227754, + 40.07815667775765 + ], + [ + -17.002856911321942, + 34.00571382264377 + ], + [ + -19.431800219361207, + 26.71875702100249 + ], + [ + -19.431800219361207, + 24.289771420455395 + ], + [ + -15.78830067228671, + 24.289771420455395 + ], + [ + -10.930329471192522, + 24.289771420455395 + ], + [ + -7.286914509133567, + 24.289771420455395 + ], + [ + -3.643414962058955, + 27.933270967530007 + ], + [ + 2.429027893054922, + 34.00571382264377 + ], + [ + 10.930414056208065, + 40.07815667775765 + ], + [ + 17.002941496337485, + 42.50714227830474 + ], + [ + 23.075384351451362, + 43.72161393232443 + ], + [ + 29.14782720656524, + 43.72161393232443 + ], + [ + 34.00579840765943, + 42.50714227830474 + ], + [ + 38.86368502373807, + 37.64917107721055 + ], + [ + 40.078241262773304, + 34.00571382264377 + ], + [ + 40.078241262773304, + 30.362214275569272 + ], + [ + 38.86368502373807, + 27.933270967530007 + ], + [ + 35.220270061679116, + 25.504285366982913 + ], + [ + 35.220270061679116, + 25.504285366982913 + ] + ], + "pressures": [ + 0.1416015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5341796875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.220270061679116, + 25.504285366982913 + ] + }, + { + "id": "lJQVZkFBvdfD2TaeTYGAf", + "type": "freedraw", + "x": -309.4769702865743, + "y": -55.3185648385047, + "width": 60.7245131361542, + "height": 47.36511347939904, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1420928621, + "version": 93, + "versionNonce": 2141895789, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2144716540196896, + -4.857971201094188 + ], + [ + 0, + -6.072442855113877 + ], + [ + 1.2144716540196896, + -7.286956801641281 + ], + [ + 6.072442855113877, + -10.930414056208065 + ], + [ + 9.715942402188375, + -12.14488571022764 + ], + [ + 13.35935736424733, + -12.14488571022764 + ], + [ + 18.217328565341518, + -12.14488571022764 + ], + [ + 25.504243074475085, + -6.072442855113877 + ], + [ + 29.147742621549696, + 1.2144716540196896 + ], + [ + 31.576770514604505, + 8.501428455660971 + ], + [ + 32.791242168624194, + 15.788385257302366 + ], + [ + 31.576770514604505, + 23.07529976643582 + ], + [ + 26.718799313510317, + 27.933270967530007 + ], + [ + 14.57382901826702, + 34.005713822643884 + ], + [ + 6.072442855113877, + 35.2202277691714 + ], + [ + 0, + 34.005713822643884 + ], + [ + -6.072442855113877, + 27.933270967530007 + ], + [ + -8.5014707481688, + 25.504285366982913 + ], + [ + -8.5014707481688, + 23.07529976643582 + ], + [ + -7.286914509133567, + 20.646314165888725 + ], + [ + -3.6434995470746117, + 19.431842511869036 + ], + [ + 2.4289433080392655, + 17.002856911321942 + ], + [ + 14.57382901826702, + 17.002856911321942 + ], + [ + 24.289771420455395, + 17.002856911321942 + ], + [ + 32.791242168624194, + 19.431842511869036 + ], + [ + 41.29262833177734, + 21.86082811241613 + ], + [ + 46.150599532871524, + 23.07529976643582 + ], + [ + 48.57962742592645, + 23.07529976643582 + ], + [ + 49.794099079946136, + 21.86082811241613 + ], + [ + 51.008570733965826, + 20.646314165888725 + ], + [ + 52.2230423879854, + 17.002856911321942 + ], + [ + 52.2230423879854, + 14.573871310774848 + ], + [ + 51.008570733965826, + 14.573871310774848 + ], + [ + 49.794099079946136, + 14.573871310774848 + ], + [ + 49.794099079946136, + 14.573871310774848 + ] + ], + "pressures": [ + 0.1923828125, + 0.8984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4296875, + 0.111328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 49.794099079946136, + 14.573871310774848 + ] + }, + { + "id": "o9NULYJfhhceeQ0mAjG7R", + "type": "freedraw", + "x": -336.19576960008465, + "y": -54.10409318448501, + "width": 48.579542840910904, + "height": 59.50999918962668, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1621421101, + "version": 96, + "versionNonce": 851397859, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.2145139465274042 + ], + [ + 0, + -2.4289433080392655 + ], + [ + 0, + -7.286914509133567 + ], + [ + 2.4289433080392655, + -12.144885710227754 + ], + [ + 8.501470748168686, + -20.646314165888725 + ], + [ + 10.930414056208065, + -25.504285366982913 + ], + [ + 13.35935736424733, + -27.933270967530007 + ], + [ + 14.573913603282563, + -29.147742621549696 + ], + [ + 17.002856911321942, + -30.362214275569272 + ], + [ + 19.43188480437675, + -30.362214275569272 + ], + [ + 23.075299766435705, + -30.362214275569272 + ], + [ + 25.504327659490627, + -30.362214275569272 + ], + [ + 29.147742621549583, + -27.933270967530007 + ], + [ + 34.00571382264377, + -23.07529976643582 + ], + [ + 36.43474171569869, + -17.002856911321942 + ], + [ + 37.64921336971838, + -9.71590010968066 + ], + [ + 37.64921336971838, + 0 + ], + [ + 32.791242168624194, + 17.00289920382977 + ], + [ + 29.147742621549583, + 25.50432765949074 + ], + [ + 25.504327659490627, + 27.933270967530007 + ], + [ + 23.075299766435705, + 29.14778491405741 + ], + [ + 18.217328565341518, + 29.14778491405741 + ], + [ + 9.715942402188375, + 29.14778491405741 + ], + [ + 3.643499547074498, + 27.933270967530007 + ], + [ + 0, + 26.718799313510317 + ], + [ + -2.428943308039379, + 26.718799313510317 + ], + [ + -6.072442855113877, + 25.50432765949074 + ], + [ + -7.286914509133567, + 24.289813712963223 + ], + [ + -8.501386163153256, + 24.289813712963223 + ], + [ + -4.857971201094301, + 23.075342058943534 + ], + [ + 1.214471654019576, + 21.86082811241613 + ], + [ + 9.715942402188375, + 20.64635645839644 + ], + [ + 23.075299766435705, + 18.217370857849346 + ], + [ + 29.147742621549583, + 17.00289920382977 + ], + [ + 34.00571382264377, + 17.00289920382977 + ], + [ + 36.43474171569869, + 17.00289920382977 + ], + [ + 40.07815667775765, + 17.00289920382977 + ], + [ + 40.07815667775765, + 17.00289920382977 + ] + ], + "pressures": [ + 0.0302734375, + 0.3359375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 40.07815667775765, + 17.00289920382977 + ] + }, + { + "id": "veUzss9IFDx3SStOi-_af", + "type": "freedraw", + "x": -327.69429885191596, + "y": -37.10123627316318, + "width": 15.788385257302252, + "height": 6.072442855113877, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2005307597, + "version": 65, + "versionNonce": 1431480013, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -14.573913603282563, + 0 + ], + [ + -15.788385257302252, + -1.214471654019576 + ], + [ + -14.573913603282563, + -2.428985600547094 + ], + [ + -8.501470748168686, + -6.072442855113877 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.07421875, + 1, + 1, + 1, + 0.203125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -8.501470748168686, + -6.072442855113877 + ] + }, + { + "id": "qWcwPAaUPoyQm6rCCG1qZ", + "type": "freedraw", + "x": -376.4854276150784, + "y": -71.86266782538632, + "width": 24.254884585941266, + "height": 29.399860879776792, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1565868621, + "version": 272, + "versionNonce": 1537849475, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + -2.3974634445151257, + -8.15137905085556 + ], + [ + -3.132449088640065, + -8.8863646949805 + ], + [ + -3.132449088640065, + -10.356361578217369 + ], + [ + -3.132449088640065, + -11.826358461454312 + ], + [ + -2.3974634445151257, + -12.561369700566177 + ], + [ + -0.9274409662913247, + -14.03134098881612 + ], + [ + 1.2775159660836273, + -16.236349111164927 + ], + [ + 4.217509732557372, + -19.176317282651734 + ], + [ + 5.687532210781175, + -20.64631416588861 + ], + [ + 7.157503499031188, + -20.64631416588861 + ], + [ + 10.097497265504936, + -20.64631416588861 + ], + [ + 11.567468553754887, + -19.176317282651734 + ], + [ + 13.037491031978677, + -17.706345994401808 + ], + [ + 13.772476676103679, + -15.501337872052996 + ], + [ + 14.50746232022863, + -11.826358461454312 + ], + [ + 14.50746232022863, + -8.15137905085556 + ], + [ + 13.772476676103679, + -3.0064027570199405 + ], + [ + 11.567468553754887, + 0.668576653578815 + ], + [ + 8.627525977254907, + 3.6085704200525575 + ], + [ + 3.482524088432437, + 7.2835498306513085 + ], + [ + 1.2775159660836273, + 8.018561069763253 + ], + [ + -0.9274409662913247, + 8.753546713888182 + ], + [ + -3.132449088640065, + 8.753546713888182 + ], + [ + -4.602420376890078, + 8.753546713888182 + ], + [ + -6.072442855113877, + 8.753546713888182 + ], + [ + -3.132449088640065, + 8.753546713888182 + ], + [ + 1.2775159660836273, + 8.018561069763253 + ], + [ + 5.687532210781175, + 7.2835498306513085 + ], + [ + 9.362511621379928, + 7.2835498306513085 + ], + [ + 13.037491031978677, + 6.54856418652631 + ], + [ + 15.97748479845243, + 7.2835498306513085 + ], + [ + 17.44745608670238, + 8.018561069763253 + ], + [ + 18.182441730827385, + 8.018561069763253 + ], + [ + 18.182441730827385, + 8.753546713888182 + ], + [ + 18.182441730827385, + 8.753546713888182 + ] + ], + "pressures": [ + 0.046875, + 0.2275390625, + 0.638671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2431640625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 34.005713822643884, + 27.933270967530007 + ] + }, + { + "id": "zyMyl47o2R4icKC6pZ8oy", + "type": "freedraw", + "x": -354.036604403365, + "y": -80.98405838605007, + "width": 35.279822817737426, + "height": 28.6648752356518, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1672124685, + "version": 306, + "versionNonce": 1464747309, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + -3.835954869240889, + -3.835938171719989 + ], + [ + -5.305977347464684, + -7.51091758231874 + ], + [ + -5.305977347464684, + -8.245903226443678 + ], + [ + -5.305977347464684, + -9.715900109680547 + ], + [ + -3.1009692251158825, + -9.715900109680547 + ], + [ + -0.8960122927409313, + -9.715900109680547 + ], + [ + 1.3089958296078035, + -9.715900109680547 + ], + [ + 2.779018307831605, + -8.980914465555607 + ], + [ + 4.248989596081616, + -8.980914465555607 + ], + [ + 7.188983362555354, + -6.77593193819373 + ], + [ + 9.393991484904097, + -3.1009269326080533 + ], + [ + 10.863962773154109, + 0.5740524779906279 + ], + [ + 10.863962773154109, + 4.249031888589379 + ], + [ + 10.863962773154109, + 7.1890256550631255 + ], + [ + 7.923969006680352, + 10.864005065661862 + ], + [ + 4.983975240206554, + 13.06898759302375 + ], + [ + 1.3089958296078035, + 14.538984476260623 + ], + [ + -2.365983580990876, + 15.273970120385622 + ], + [ + -7.51093427983964, + 15.273970120385622 + ], + [ + -8.980956758063373, + 15.273970120385622 + ], + [ + -9.715942402188375, + 15.273970120385622 + ], + [ + -8.24597111393843, + 14.538984476260623 + ], + [ + -3.1009692251158825, + 14.538984476260623 + ], + [ + 3.5140039519566084, + 14.538984476260623 + ], + [ + 12.33393406140405, + 15.273970120385622 + ], + [ + 18.213921594351543, + 17.47895264774749 + ], + [ + 23.35892348317408, + 18.21398948184629 + ], + [ + 25.56388041554905, + 18.948975125971252 + ], + [ + 25.56388041554905, + 18.21398948184629 + ], + [ + 24.093909127299106, + 16.008981359497504 + ], + [ + 22.623886649075303, + 13.80399883213569 + ], + [ + 20.418929716700347, + 12.334001948898738 + ], + [ + 18.213921594351543, + 12.334001948898738 + ], + [ + 16.743950306101585, + 13.80399883213569 + ], + [ + 16.0089134720028, + 14.538984476260623 + ], + [ + 16.0089134720028, + 14.538984476260623 + ] + ], + "pressures": [ + 0.03515625, + 0.1982421875, + 0.2177734375, + 0.4443359375, + 0.9345703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5263671875, + 0.212890625, + 0.1455078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 32.79115758360865, + 30.3622565680771 + ] + }, + { + "id": "uu3f5vOIu2deFKsDiy6sr", + "type": "freedraw", + "x": -317.9784410347431, + "y": 6.6204199516691915, + "width": 87.44331244966452, + "height": 97.15921255934518, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1716694915, + "version": 81, + "versionNonce": 1065725987, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.4289433080392655, + 1.2144716540196896 + ], + [ + 3.6434995470746117, + 2.429027893054922 + ], + [ + 14.573913603282676, + 3.6434995470746117 + ], + [ + 29.14782720656524, + 3.6434995470746117 + ], + [ + 53.43759862702075, + 3.6434995470746117 + ], + [ + 68.01151223030331, + 1.2144716540196896 + ], + [ + 77.72737004747614, + -1.2144716540196896 + ], + [ + 83.79981290259002, + -2.4289433080392655 + ], + [ + 85.01436914162525, + -2.4289433080392655 + ], + [ + 83.79981290259002, + -6.072442855113877 + ], + [ + 82.58534124857033, + -13.35935736424733 + ], + [ + 82.58534124857033, + -25.504285366982913 + ], + [ + 82.58534124857033, + -40.07815667775776 + ], + [ + 81.37086959455075, + -61.93898479017389 + ], + [ + 80.15639794053106, + -75.29838444692905 + ], + [ + 78.94184170149583, + -85.0142845566096 + ], + [ + 77.72737004747614, + -92.30124135825099 + ], + [ + 77.72737004747614, + -93.51571301227057 + ], + [ + 76.51289839345645, + -93.51571301227057 + ], + [ + 74.08395508541719, + -89.8722557577039 + ], + [ + 71.65492719236227, + -82.5852989560625 + ], + [ + 70.44045553834269, + -80.15635564802324 + ], + [ + 69.225983884323, + -77.72737004747614 + ], + [ + 69.225983884323, + -77.72737004747614 + ] + ], + "pressures": [ + 0.09375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.703125, + 0.30859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 69.225983884323, + -77.72737004747614 + ] + }, + { + "id": "5qJ7XYedSdMlHhxWHNe_R", + "type": "freedraw", + "x": -281.4469470337149, + "y": -100.826406542845, + "width": 58.79977294952749, + "height": 57.32975047130368, + "angle": 6.144999303622709, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 50, + "groupIds": [], + "strokeSharpness": "round", + "seed": 293377539, + "version": 254, + "versionNonce": 688330637, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + -34.04404102318993, + -0.4794860098946845 + ], + [ + -33.30905537906493, + -1.2144716540196896 + ], + [ + -31.839084090814993, + 6.870498406289732 + ], + [ + -30.369061612591192, + 15.690454110724026 + ], + [ + -29.634075968466245, + 26.71539234252027 + ], + [ + -28.89909032434125, + 36.27035928606652 + ], + [ + -28.164053490242456, + 44.35530375138899 + ], + [ + -27.429067846117448, + 51.7053137625603 + ], + [ + -27.429067846117448, + 53.17528505081024 + ], + [ + -32.57406973493999, + 52.440299406685234 + ], + [ + -37.719020433788685, + 50.9702769284615 + ], + [ + -43.59900796673618, + 48.765319996086575 + ], + [ + -51.68395243205868, + 47.29529751786273 + ], + [ + -60.50393373147992, + 47.29529751786273 + ], + [ + -73.73388008562489, + 51.7053137625603 + ], + [ + -80.34885326269738, + 53.91027069493522 + ], + [ + -84.02383267329614, + 54.64525633906018 + ], + [ + -85.49380396154616, + 55.38029317315906 + ], + [ + -86.22884079564494, + 55.38029317315906 + ], + [ + -84.75881831742115, + 55.38029317315906 + ], + [ + -81.81882455094737, + 55.38029317315906 + ], + [ + -81.08383890682235, + 56.11527881728399 + ], + [ + -81.08383890682235, + 56.11527881728399 + ] + ], + "pressures": [ + 0.134765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.380859375, + 0.16796875, + 0.1240234375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -77.72737004747614, + 93.5157553047784 + ] + }, + { + "id": "xCQVkToYnW49F5XfemaJB", + "type": "freedraw", + "x": -587.5952083078547, + "y": -143.97634894218885, + "width": 9.715942402188375, + "height": 2.4289856005471506, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1316891533, + "version": 51, + "versionNonce": 541176771, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.072442855113877, + 1.214513946527461 + ], + [ + -9.715942402188375, + -1.2144716540196896 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.1318359375, + 0.212890625, + 0.59375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -9.715942402188375, + -1.2144716540196896 + ] + }, + { + "id": "7b4c-9MZIja36tdF5wiUJ", + "type": "freedraw", + "x": -596.0965944710078, + "y": -145.19082059620854, + "width": 63.15345644419358, + "height": 3.643499547074555, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1498372781, + "version": 48, + "versionNonce": 1152818669, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 63.15345644419358, + -3.643499547074555 + ], + [ + 63.15345644419358, + -3.643499547074555 + ] + ], + "pressures": [ + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 63.15345644419358, + -3.643499547074555 + ] + }, + { + "id": "3wxtRJK6wXDXobHSGxuR6", + "type": "freedraw", + "x": -534.157609680834, + "y": -148.8343201432831, + "width": 104.44625394600212, + "height": 32.791199876116366, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 259967971, + "version": 62, + "versionNonce": 2113684323, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.429027893054922, + -1.2144716540196328 + ], + [ + -1.2144716540196896, + -1.2144716540196328 + ], + [ + 4.857971201094188, + -1.2144716540196328 + ], + [ + 13.35935736424733, + -2.4289433080392655 + ], + [ + 26.718714728494774, + -7.28691450913351 + ], + [ + 51.008570733965826, + -14.573871310774791 + ], + [ + 70.44037095332703, + -18.217328565341575 + ], + [ + 87.44322786464897, + -23.075299766435762 + ], + [ + 98.37364192085704, + -24.289771420455395 + ], + [ + 102.0172260529472, + -25.504285366982856 + ], + [ + 100.80266981391196, + -25.504285366982856 + ], + [ + 95.94478319783332, + -27.93322867502218 + ], + [ + 89.87234034271944, + -31.576728222096733 + ], + [ + 86.22875621062929, + -32.791199876116366 + ], + [ + 85.0142845566096, + -32.791199876116366 + ], + [ + 85.0142845566096, + -32.791199876116366 + ] + ], + "pressures": [ + 0.1171875, + 0.2001953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.376953125, + 0.1982421875, + 0.1484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 85.0142845566096, + -32.791199876116366 + ] + }, + { + "id": "wPK6LiYcrKyYwowm6L9pd", + "type": "freedraw", + "x": -520.7982523165866, + "y": -154.9067629983969, + "width": 30.36229886058493, + "height": 51.00857073396577, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1610900963, + "version": 74, + "versionNonce": 418367149, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.4289433080392655, + -4.857928908586416 + ], + [ + -4.857971201094188, + -4.857928908586416 + ], + [ + -8.501386163153143, + -1.2144716540196896 + ], + [ + -12.14488571022764, + 4.857971201094188 + ], + [ + -14.57382901826702, + 12.144928002735526 + ], + [ + -15.788385257302252, + 19.431842511869036 + ], + [ + -14.57382901826702, + 29.14778491405741 + ], + [ + -9.715942402188375, + 34.00571382264383 + ], + [ + -3.643499547074498, + 35.22022776917129 + ], + [ + 6.072442855113877, + 32.791284461131966 + ], + [ + 10.930414056208065, + 26.718841606018145 + ], + [ + 14.573913603282676, + 19.431842511869036 + ], + [ + 14.573913603282676, + 10.930414056208065 + ], + [ + 14.573913603282676, + 2.429027893054865 + ], + [ + 13.359357364247444, + -3.643414962058955 + ], + [ + 8.501386163153143, + -10.930414056208065 + ], + [ + 4.857971201094188, + -14.573871310774848 + ], + [ + 1.2144716540196896, + -15.78834296479448 + ], + [ + -3.643499547074498, + -15.78834296479448 + ], + [ + -7.286914509133453, + -12.144885710227754 + ], + [ + -9.715942402188375, + -6.072442855113877 + ], + [ + -10.930414056208065, + 0 + ], + [ + -10.930414056208065, + 7.286956801641281 + ], + [ + -10.930414056208065, + 10.930414056208065 + ], + [ + -9.715942402188375, + 14.57391360328262 + ], + [ + -9.715942402188375, + 15.788385257302252 + ], + [ + -8.501386163153143, + 17.002856911321885 + ], + [ + -7.286914509133453, + 15.788385257302252 + ], + [ + -6.072442855113877, + 14.57391360328262 + ], + [ + -4.857971201094188, + 13.359399656755159 + ], + [ + -4.857971201094188, + 13.359399656755159 + ] + ], + "pressures": [ + 0.0361328125, + 0.2890625, + 0.482421875, + 0.67578125, + 0.7705078125, + 0.8154296875, + 0.8662109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -4.857971201094188, + 13.359399656755159 + ] + }, + { + "id": "zIIcsFb0Q6kohHGc0qnry", + "type": "freedraw", + "x": -525.6562235176808, + "y": -156.1212346524166, + "width": 24.289771420455395, + "height": 42.507184570812626, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 615086531, + "version": 77, + "versionNonce": 64423587, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.4289433080392655, + 1.2144716540196896 + ], + [ + -4.857971201094188, + 6.072442855113877 + ], + [ + -7.286914509133453, + 10.930414056208065 + ], + [ + -7.286914509133453, + 17.002856911321942 + ], + [ + -8.501386163153143, + 23.07529976643582 + ], + [ + -8.501386163153143, + 26.718757021002546 + ], + [ + -7.286914509133453, + 29.147742621549696 + ], + [ + -4.857971201094188, + 30.3622565680771 + ], + [ + -2.4289433080392655, + 30.3622565680771 + ], + [ + 1.2144716540196896, + 30.3622565680771 + ], + [ + 7.286914509133567, + 26.718757021002546 + ], + [ + 10.930414056208065, + 23.07529976643582 + ], + [ + 13.35935736424733, + 18.217328565341575 + ], + [ + 14.57399818829822, + 12.144885710227754 + ], + [ + 15.788385257302252, + 7.28691450913351 + ], + [ + 14.57399818829822, + 1.2144716540196896 + ], + [ + 13.35935736424733, + -3.6434572545667265 + ], + [ + 9.715942402188375, + -7.286956801641281 + ], + [ + 6.072442855113877, + -10.930414056208065 + ], + [ + 1.2144716540196896, + -12.144928002735526 + ], + [ + -1.2144716540196896, + -12.144928002735526 + ], + [ + -4.857971201094188, + -8.501386163153143 + ], + [ + -6.072442855113877, + -3.6434572545667265 + ], + [ + -7.286914509133453, + 1.2144716540196896 + ], + [ + -8.501386163153143, + 8.501428455660971 + ], + [ + -8.501386163153143, + 13.359399656755215 + ], + [ + -8.501386163153143, + 17.002856911321942 + ], + [ + -7.286914509133453, + 19.431842511869036 + ], + [ + -4.857971201094188, + 20.646314165888725 + ], + [ + -3.643414962058955, + 20.646314165888725 + ], + [ + -2.4289433080392655, + 20.646314165888725 + ], + [ + -1.2144716540196896, + 19.431842511869036 + ], + [ + -1.2144716540196896, + 18.217328565341575 + ], + [ + -1.2144716540196896, + 18.217328565341575 + ] + ], + "pressures": [ + 0.0234375, + 0.4541015625, + 0.6015625, + 0.6923828125, + 0.8388671875, + 0.97265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8828125, + 0.30859375, + 0.12890625, + 0.0146484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.2144716540196896, + 18.217328565341575 + ] + }, + { + "id": "jKFPG--GSC0FXsoOwcjCt", + "type": "freedraw", + "x": -515.9402811154924, + "y": -157.33574859894406, + "width": 15.788300672286596, + "height": 30.362256568077157, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1355169539, + "version": 60, + "versionNonce": 234645773, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 7.286956801641338 + ], + [ + 0, + 14.573913603282676 + ], + [ + -1.214471654019576, + 20.646356458396497 + ], + [ + -1.214471654019576, + 25.50432765949074 + ], + [ + 0, + 27.933270967530007 + ], + [ + 1.2144716540196896, + 29.147827206565296 + ], + [ + 3.643414962058955, + 30.362256568077157 + ], + [ + 6.072442855113877, + 30.362256568077157 + ], + [ + 9.715942402188489, + 30.362256568077157 + ], + [ + 13.359357364247444, + 26.718799313510374 + ], + [ + 14.57382901826702, + 24.28981371296328 + ], + [ + 14.57382901826702, + 20.646356458396497 + ], + [ + 14.57382901826702, + 18.217370857849403 + ], + [ + 14.57382901826702, + 15.78838525730231 + ], + [ + 13.359357364247444, + 10.930456348715893 + ], + [ + 12.144885710227754, + 8.501428455660971 + ], + [ + 12.144885710227754, + 7.286956801641338 + ], + [ + 12.144885710227754, + 7.286956801641338 + ] + ], + "pressures": [ + 0.09765625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.861328125, + 0.361328125, + 0.1943359375, + 0.1318359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 12.144885710227754, + 7.286956801641338 + ] + }, + { + "id": "6G62pZITOF7U4DSyYvVve", + "type": "freedraw", + "x": -495.2939246570959, + "y": -125.7589780843395, + "width": 34.005713822643884, + "height": 80.15635564802324, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 179169091, + "version": 84, + "versionNonce": 757348931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.214471654019576, + -7.286956801641281 + ], + [ + 1.214471654019576, + -15.788385257302252 + ], + [ + 0, + -25.504285366982856 + ], + [ + 0, + -38.86364273123024 + ], + [ + 0, + -53.43755633451286 + ], + [ + 0, + -72.8693988463819 + ], + [ + 0, + -77.72737004747609 + ], + [ + 0, + -78.94188399400355 + ], + [ + 0, + -80.15635564802324 + ], + [ + 0, + -72.8693988463819 + ], + [ + 0, + -60.7245131361542 + ], + [ + -1.2145562390352325, + -48.57962742592645 + ], + [ + -1.2145562390352325, + -36.43469942319092 + ], + [ + -2.429027893054922, + -23.07534205894359 + ], + [ + -2.429027893054922, + -18.217370857849346 + ], + [ + -2.429027893054922, + -17.002856911321885 + ], + [ + -2.429027893054922, + -19.431842511869036 + ], + [ + -2.429027893054922, + -25.504285366982856 + ], + [ + 0, + -35.22022776917129 + ], + [ + 2.429027893054922, + -41.292670624285165 + ], + [ + 4.857886616078531, + -44.93612787885189 + ], + [ + 6.072442855113877, + -44.93612787885189 + ], + [ + 8.5014707481688, + -44.93612787885189 + ], + [ + 14.573913603282563, + -44.93612787885189 + ], + [ + 19.431800219361207, + -42.507184570812626 + ], + [ + 24.289771420455395, + -35.22022776917129 + ], + [ + 26.718799313510317, + -27.93327096752995 + ], + [ + 29.147742621549583, + -20.64631416588867 + ], + [ + 30.362214275569272, + -14.573871310774791 + ], + [ + 31.57668592958896, + -8.501386163153143 + ], + [ + 30.362214275569272, + -6.07244285511382 + ], + [ + 26.718799313510317, + -4.857971201094188 + ], + [ + 21.860743527400473, + -4.857971201094188 + ], + [ + 15.78830067228671, + -4.857971201094188 + ], + [ + 6.072442855113877, + -6.07244285511382 + ], + [ + 1.214471654019576, + -7.286956801641281 + ], + [ + -1.2145562390352325, + -7.286956801641281 + ], + [ + -2.429027893054922, + -8.501386163153143 + ], + [ + 1.214471654019576, + -9.715942402188375 + ], + [ + 4.857886616078531, + -9.715942402188375 + ], + [ + 6.072442855113877, + -8.501386163153143 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.109375, + 0.736328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.228515625, + 0.134765625, + 0.0830078125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 6.072442855113877, + -8.501386163153143 + ] + }, + { + "id": "QI9v5MlJhoOA5bXkcxnrz", + "type": "freedraw", + "x": -542.6590804290028, + "y": -99.04022106333696, + "width": 127.52146912742228, + "height": 15.788342964794424, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1799647917, + "version": 51, + "versionNonce": 1376108397, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 12.144885710227754, + -1.214471654019576 + ], + [ + 24.28977142045551, + -2.428985600547094 + ], + [ + 52.2230423879854, + -7.286914509133453 + ], + [ + 71.65492719236227, + -10.930371763700236 + ], + [ + 91.08672741172347, + -14.573871310774848 + ], + [ + 108.08958432304541, + -15.788342964794424 + ], + [ + 117.8055267252339, + -15.788342964794424 + ], + [ + 125.09244123436736, + -12.144885710227754 + ], + [ + 127.52146912742228, + -10.930371763700236 + ], + [ + 127.52146912742228, + -9.715900109680547 + ], + [ + 126.30699747340259, + -9.715900109680547 + ], + [ + 126.30699747340259, + -9.715900109680547 + ] + ], + "pressures": [ + 0.02734375, + 0.94921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4384765625, + 0.23046875, + 0.0302734375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 126.30699747340259, + -9.715900109680547 + ] + }, + { + "id": "6V1pJ0Z5RcMDoHU-4Kuap", + "type": "freedraw", + "x": -519.5837806625669, + "y": -102.68367831790374, + "width": 98.37372650587258, + "height": 4.857928908586359, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1847499139, + "version": 49, + "versionNonce": 164231651, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 21.86082811241613, + 2.4289856005472075 + ], + [ + 38.863769608753614, + 3.6434572545667834 + ], + [ + 58.295569828114935, + 2.4289856005472075 + ], + [ + 75.29851132445242, + 1.2144716540196896 + ], + [ + 91.08681199673913, + 0 + ], + [ + 95.94469861281766, + 0 + ], + [ + 97.159254851853, + 0 + ], + [ + 98.37372650587258, + 0 + ], + [ + 98.37372650587258, + -1.214471654019576 + ], + [ + 98.37372650587258, + -1.214471654019576 + ] + ], + "pressures": [ + 0.1025390625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.369140625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 98.37372650587258, + -1.214471654019576 + ] + }, + { + "id": "v_YPuklIR4PI_aFJa9_K4", + "type": "freedraw", + "x": -489.221481801982, + "y": -86.89529306060138, + "width": 10.930329471192408, + "height": 21.86082811241613, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 79452995, + "version": 51, + "versionNonce": 1263880653, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.857971201094301, + 1.214471654019576 + ], + [ + -6.072442855113877, + 2.428985600547094 + ], + [ + -7.28699909414911, + 4.857928908586359 + ], + [ + -9.715857817172832, + 8.501428455660971 + ], + [ + -9.715857817172832, + 14.573871310774734 + ], + [ + -9.715857817172832, + 17.002856911321942 + ], + [ + -8.5014707481688, + 19.431842511869036 + ], + [ + -7.28699909414911, + 21.86082811241613 + ], + [ + -4.857971201094301, + 21.86082811241613 + ], + [ + -3.643414962058955, + 21.86082811241613 + ], + [ + -2.429027893054922, + 20.64631416588861 + ], + [ + -1.2145562390353462, + 18.217328565341518 + ], + [ + 0, + 17.002856911321942 + ], + [ + 1.214471654019576, + 13.35935736424733 + ], + [ + 1.214471654019576, + 10.930414056208065 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.083984375, + 0.66015625, + 0.79296875, + 0.9345703125, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5048828125, + 0.2041015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 1.214471654019576, + 10.930414056208065 + ] + }, + { + "id": "UsorGa8rmZMaKC4bZWMfh", + "type": "freedraw", + "x": -480.7200110538133, + "y": -73.53593569635404, + "width": 52.223042387985515, + "height": 46.15064182537935, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 152468429, + "version": 60, + "versionNonce": 920044931, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2145562390352325, + -3.6434572545667834 + ], + [ + 0, + -3.6434572545667834 + ], + [ + 2.428943308039379, + -4.857928908586359 + ], + [ + 6.072442855113877, + -6.072442855113877 + ], + [ + 8.501386163153256, + -4.857928908586359 + ], + [ + 14.57382901826702, + -1.2144716540196896 + ], + [ + 19.43180021936132, + 3.6434995470746117 + ], + [ + 25.504243074475085, + 13.359399656755159 + ], + [ + 25.504243074475085, + 20.64635645839644 + ], + [ + 23.075215181420276, + 26.718799313510317 + ], + [ + 18.21732856534163, + 32.791242168624194 + ], + [ + 10.930329471192522, + 36.434741715698806 + ], + [ + 1.2143870690041467, + 38.86368502373807 + ], + [ + -3.6435841320901545, + 40.078198970265476 + ], + [ + -7.28699909414911, + 40.078198970265476 + ], + [ + -6.0724428551137635, + 40.078198970265476 + ], + [ + 0, + 38.86368502373807 + ], + [ + 8.501386163153256, + 37.64921336971838 + ], + [ + 17.0027723263064, + 37.64921336971838 + ], + [ + 29.14765803653404, + 36.434741715698806 + ], + [ + 36.434741715698806, + 36.434741715698806 + ], + [ + 41.29262833177745, + 37.64921336971838 + ], + [ + 43.721571639816716, + 37.64921336971838 + ], + [ + 44.936043293836406, + 37.64921336971838 + ], + [ + 43.721571639816716, + 34.00575611515171 + ], + [ + 42.50718457081268, + 32.791242168624194 + ], + [ + 42.50718457081268, + 32.791242168624194 + ] + ], + "pressures": [ + 0.095703125, + 0.740234375, + 0.9755859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2236328125, + 0.0986328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 42.50718457081268, + 32.791242168624194 + ] + }, + { + "id": "9_Ixh9cdL94rr62z4KhZk", + "type": "freedraw", + "x": -492.86489676404096, + "y": -65.03446494818525, + "width": 17.002772326306285, + "height": 21.8607858199083, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 899420045, + "version": 62, + "versionNonce": 1527023661, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.214387069004033, + -1.2145139465275179 + ], + [ + 1.214387069004033, + -2.428985600547094 + ], + [ + 2.428858723023609, + -2.428985600547094 + ], + [ + 2.428858723023609, + -3.6434995470746117 + ], + [ + 3.643414962058955, + -3.6434995470746117 + ], + [ + 4.857886616078531, + -3.6434995470746117 + ], + [ + 6.072442855113877, + -3.6434995470746117 + ], + [ + 6.072442855113877, + 0 + ], + [ + 6.072442855113877, + 1.214471654019576 + ], + [ + 6.072442855113877, + 2.4289433080392655 + ], + [ + 4.857886616078531, + 2.4289433080392655 + ], + [ + 3.643414962058955, + 0 + ], + [ + 2.428858723023609, + -2.428985600547094 + ], + [ + 1.214387069004033, + -3.6434995470746117 + ], + [ + 1.214387069004033, + -6.072485147621705 + ], + [ + 1.214387069004033, + -9.715942402188489 + ], + [ + 1.214387069004033, + -13.359399656755159 + ], + [ + 2.428858723023609, + -15.788385257302252 + ], + [ + 2.428858723023609, + -17.00289920382977 + ], + [ + 3.643414962058955, + -18.21737085784946 + ], + [ + 4.857886616078531, + -18.21737085784946 + ], + [ + 8.501301578137486, + -19.431842511869036 + ], + [ + 12.14488571022764, + -19.431842511869036 + ], + [ + 15.788300672286596, + -19.431842511869036 + ], + [ + 17.002772326306285, + -19.431842511869036 + ], + [ + 17.002772326306285, + -17.00289920382977 + ], + [ + 17.002772326306285, + -15.788385257302252 + ], + [ + 17.002772326306285, + -14.573913603282676 + ], + [ + 17.002772326306285, + -14.573913603282676 + ] + ], + "pressures": [ + 0.05078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.564453125, + 0.330078125, + 0.1328125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 17.002772326306285, + -14.573913603282676 + ] + }, + { + "id": "57e_Zc2ft7C5sIBozkLXz", + "type": "freedraw", + "x": -469.7896815826208, + "y": -74.75040735037373, + "width": 48.57962742592656, + "height": 47.36511347939904, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1862734371, + "version": 56, + "versionNonce": 730406179, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.429027893054922, + -2.428985600547094 + ], + [ + 4.857971201094188, + -2.428985600547094 + ], + [ + 10.930414056208065, + 0 + ], + [ + 15.788385257302252, + 3.6434572545667834 + ], + [ + 19.431884804376864, + 7.286956801641395 + ], + [ + 23.07529976643582, + 13.359399656755159 + ], + [ + 23.07529976643582, + 18.21737085784946 + ], + [ + 23.07529976643582, + 24.289813712963337 + ], + [ + 19.431884804376864, + 30.3622565680771 + ], + [ + 10.930414056208065, + 37.649213369718495 + ], + [ + 2.429027893054922, + 40.07815667775776 + ], + [ + -3.6434995470746117, + 42.507142278304855 + ], + [ + -8.501386163153143, + 43.72165622483226 + ], + [ + -10.930329471192522, + 44.93612787885195 + ], + [ + -12.144885710227754, + 44.93612787885195 + ], + [ + -9.715942402188375, + 44.93612787885195 + ], + [ + -1.2144716540196896, + 42.507142278304855 + ], + [ + 9.715942402188375, + 40.07815667775776 + ], + [ + 19.431884804376864, + 38.86368502373807 + ], + [ + 27.933270967530007, + 38.86368502373807 + ], + [ + 35.22018547666346, + 38.86368502373807 + ], + [ + 36.434741715698806, + 38.86368502373807 + ], + [ + 35.22018547666346, + 37.649213369718495 + ], + [ + 35.22018547666346, + 37.649213369718495 + ] + ], + "pressures": [ + 0.13671875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.4970703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 35.22018547666346, + 37.649213369718495 + ] + }, + { + "id": "PQqVsotuxZCzC29SYoAQg", + "type": "freedraw", + "x": -488.00701014796243, + "y": -62.60552164014598, + "width": 21.86082811241613, + "height": 25.5042853669828, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1735499501, + "version": 66, + "versionNonce": 50133645, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.2145139465274042 + ], + [ + 0, + -1.2144716540196896 + ], + [ + 0, + -4.857928908586359 + ], + [ + 0, + -9.71590010968066 + ], + [ + 1.2145562390353462, + -10.930414056208065 + ], + [ + 2.428943308039379, + -10.930414056208065 + ], + [ + 3.643414962058955, + -10.930414056208065 + ], + [ + 6.072442855113877, + -8.501428455660971 + ], + [ + 7.28699909414911, + -7.286914509133453 + ], + [ + 4.857971201094301, + -4.857928908586359 + ], + [ + 3.643414962058955, + -3.6434572545667834 + ], + [ + 2.428943308039379, + -4.857928908586359 + ], + [ + 1.2145562390353462, + -8.501428455660971 + ], + [ + 1.2145562390353462, + -12.144885710227754 + ], + [ + 0, + -14.573871310774848 + ], + [ + 0, + -15.788342964794424 + ], + [ + 1.2145562390353462, + -19.431842511869036 + ], + [ + 2.428943308039379, + -21.8607858199083 + ], + [ + 4.857971201094301, + -23.07529976643582 + ], + [ + 7.28699909414911, + -24.289771420455395 + ], + [ + 9.715942402188489, + -24.289771420455395 + ], + [ + 12.144885710227754, + -24.289771420455395 + ], + [ + 13.359441949262987, + -24.289771420455395 + ], + [ + 14.57382901826702, + -24.289771420455395 + ], + [ + 15.788385257302366, + -23.07529976643582 + ], + [ + 19.431884804376864, + -19.431842511869036 + ], + [ + 20.646356458396554, + -17.002856911321942 + ], + [ + 20.646356458396554, + -15.788342964794424 + ], + [ + 21.86082811241613, + -15.788342964794424 + ], + [ + 19.431884804376864, + -15.788342964794424 + ], + [ + 15.788385257302366, + -18.217328565341518 + ], + [ + 14.57382901826702, + -21.8607858199083 + ], + [ + 14.57382901826702, + -24.289771420455395 + ], + [ + 14.57382901826702, + -24.289771420455395 + ] + ], + "pressures": [ + 0.0546875, + 0.8447265625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.748046875, + 0.1845703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 14.57382901826702, + -24.289771420455395 + ] + }, + { + "id": "E31_O3oJhRP8ZZY-57Jzj", + "type": "freedraw", + "x": -464.9317103815266, + "y": -69.89243614927943, + "width": 6.072442855113877, + "height": 7.286956801641281, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2017660333, + "version": 40, + "versionNonce": 1934590147, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2144716540196896, + -1.2145139465275179 + ], + [ + 0, + -1.2145139465275179 + ], + [ + 1.2144716540196896, + -1.2145139465275179 + ], + [ + 2.429027893054922, + -1.2145139465275179 + ], + [ + 4.857971201094188, + 1.214471654019576 + ], + [ + 4.857971201094188, + 2.428985600547094 + ], + [ + 2.429027893054922, + 2.428985600547094 + ], + [ + 2.429027893054922, + 3.6434572545666697 + ], + [ + 2.429027893054922, + 6.0724428551137635 + ], + [ + 3.6434995470746117, + 6.0724428551137635 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.0615234375, + 0.71875, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6640625, + 0.193359375, + 0.0009765625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 3.6434995470746117, + 6.0724428551137635 + ] + }, + { + "id": "S9_ZAeuNXiHtsQ4Cpp6o-", + "type": "freedraw", + "x": -464.9317103815266, + "y": -69.89243614927943, + "width": 82.58525666355467, + "height": 60.72447084364637, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 331440717, + "version": 64, + "versionNonce": 1274552557, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.4289433080392655, + -3.6434995470746117 + ], + [ + 0, + -4.857971201094301 + ], + [ + 1.2144716540196896, + -6.072442855113877 + ], + [ + 2.429027893054922, + -7.286956801641395 + ], + [ + 4.857971201094188, + -7.286956801641395 + ], + [ + 6.072442855113877, + -8.501428455660971 + ], + [ + 8.5014707481688, + -8.501428455660971 + ], + [ + 12.144885710227754, + -7.286956801641395 + ], + [ + 14.573913603282676, + -4.857971201094301 + ], + [ + 19.431800219361207, + 0 + ], + [ + 20.646441043412096, + 4.857971201094188 + ], + [ + 21.86082811241613, + 13.359399656755159 + ], + [ + 21.86082811241613, + 15.788342964794424 + ], + [ + 19.431800219361207, + 26.71875702100249 + ], + [ + 12.144885710227754, + 36.434699423190864 + ], + [ + 1.2144716540196896, + 44.936127878851835 + ], + [ + -1.2144716540196896, + 47.36511347939893 + ], + [ + -8.5014707481688, + 49.794099079946136 + ], + [ + -18.217328565341518, + 51.00857073396571 + ], + [ + -23.07529976643582, + 52.2230423879854 + ], + [ + -27.93318638251435, + 52.2230423879854 + ], + [ + -29.147742621549696, + 52.2230423879854 + ], + [ + -30.362214275569272, + 52.2230423879854 + ], + [ + -24.289771420455395, + 48.57958513341862 + ], + [ + -12.144885710227754, + 42.50714227830474 + ], + [ + -1.2144716540196896, + 40.07815667775765 + ], + [ + 9.715942402188375, + 38.86368502373796 + ], + [ + 19.431800219361207, + 38.86368502373796 + ], + [ + 34.005713822643884, + 40.07815667775765 + ], + [ + 41.29262833177734, + 41.292670624285165 + ], + [ + 48.57962742592645, + 41.292670624285165 + ], + [ + 52.2230423879854, + 41.292670624285165 + ], + [ + 52.2230423879854, + 38.86368502373796 + ], + [ + 48.57962742592645, + 36.434699423190864 + ], + [ + 48.57962742592645, + 35.22018547666346 + ], + [ + 48.57962742592645, + 35.22018547666346 + ] + ], + "pressures": [ + 0.083984375, + 0.830078125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.525390625, + 0.1376953125, + 0.025390625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 48.57962742592645, + 35.22018547666346 + ] + }, + { + "id": "7TWS7nPU9I6010byzxTJZ", + "type": "freedraw", + "x": -469.7896815826208, + "y": -58.96202209307137, + "width": 77.72737004747603, + "height": 69.22594159181517, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 183422829, + "version": 67, + "versionNonce": 667447395, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -7.286956801641395 + ], + [ + 0, + -13.359399656755272 + ], + [ + 1.2145562390352325, + -20.646356458396554 + ], + [ + 3.643499547074498, + -23.075342058943647 + ], + [ + 6.072442855113877, + -26.71879931351043 + ], + [ + 8.5014707481688, + -27.933270967530007 + ], + [ + 10.930414056208065, + -30.3622565680771 + ], + [ + 15.788385257302252, + -30.3622565680771 + ], + [ + 19.431884804376864, + -29.147784914057524 + ], + [ + 23.07529976643582, + -25.504285366982913 + ], + [ + 30.36229886058493, + -12.144928002735583 + ], + [ + 31.57685509962016, + -8.501428455660971 + ], + [ + 34.005713822643884, + 3.6434572545666697 + ], + [ + 34.005713822643884, + 19.431842511869036 + ], + [ + 34.005713822643884, + 26.71875702100249 + ], + [ + 30.36229886058493, + 30.3622565680771 + ], + [ + 23.07529976643582, + 34.00571382264377 + ], + [ + 15.788385257302252, + 36.434699423190864 + ], + [ + 7.28699909414911, + 37.64917107721055 + ], + [ + 1.2145562390352325, + 38.86368502373807 + ], + [ + -4.857886616078645, + 38.86368502373807 + ], + [ + -8.501386163153143, + 37.64917107721055 + ], + [ + -12.144885710227754, + 36.434699423190864 + ], + [ + -13.35935736424733, + 34.00571382264377 + ], + [ + -12.144885710227754, + 26.71875702100249 + ], + [ + -8.501386163153143, + 23.075299766435705 + ], + [ + -1.2144716540196896, + 19.431842511869036 + ], + [ + 10.930414056208065, + 19.431842511869036 + ], + [ + 25.504412244506284, + 19.431842511869036 + ], + [ + 43.721740809847915, + 23.075299766435705 + ], + [ + 52.2230423879854, + 25.5042853669828 + ], + [ + 59.51004148213451, + 26.71875702100249 + ], + [ + 63.153456444193466, + 29.147742621549583 + ], + [ + 64.3680126832287, + 29.147742621549583 + ], + [ + 63.153456444193466, + 29.147742621549583 + ], + [ + 59.51004148213451, + 30.3622565680771 + ], + [ + 55.866626520075556, + 30.3622565680771 + ], + [ + 54.652070281040324, + 29.147742621549583 + ], + [ + 54.652070281040324, + 29.147742621549583 + ] + ], + "pressures": [ + 0.1279296875, + 0.5869140625, + 0.791015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.748046875, + 0.2080078125, + 0.1005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 54.652070281040324, + 29.147742621549583 + ] + }, + { + "id": "Q-23Jy_LjKIHFfLqeo7qD", + "type": "freedraw", + "x": -429.71152490486304, + "y": -56.533036492524275, + "width": 74.08378591538599, + "height": 54.652070281040324, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 583121507, + "version": 65, + "versionNonce": 1803516749, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.4288587230237226, + -7.286956801641395 + ], + [ + -2.4288587230237226, + -9.715942402188489 + ], + [ + -2.4288587230237226, + -12.144928002735583 + ], + [ + 0, + -14.573913603282676 + ], + [ + 2.4290278930548084, + -15.788385257302366 + ], + [ + 7.28699909414911, + -17.00289920382977 + ], + [ + 10.930414056208065, + -17.00289920382977 + ], + [ + 15.788469842317795, + -15.788385257302366 + ], + [ + 21.860912697431672, + -15.788385257302366 + ], + [ + 27.93335555254555, + -13.359399656755159 + ], + [ + 30.362298860584815, + -8.501428455660971 + ], + [ + 32.791242168624194, + -2.428985600547094 + ], + [ + 34.00579840765943, + 3.6434572545666697 + ], + [ + 34.00579840765943, + 10.930371763700236 + ], + [ + 32.791242168624194, + 20.64631416588861 + ], + [ + 27.93335555254555, + 25.5042853669828 + ], + [ + 21.860912697431672, + 30.362214275569272 + ], + [ + 14.573913603282563, + 34.00571382264377 + ], + [ + 7.28699909414911, + 36.43469942319098 + ], + [ + 1.2145562390352325, + 37.64917107721055 + ], + [ + -7.286914509133567, + 35.22018547666346 + ], + [ + -12.144885710227754, + 31.576728222096676 + ], + [ + -14.573744433251477, + 29.147742621549583 + ], + [ + -14.573744433251477, + 27.933270967530007 + ], + [ + -14.573744433251477, + 25.5042853669828 + ], + [ + -9.715857817172832, + 23.075299766435705 + ], + [ + 1.2145562390352325, + 21.8607858199083 + ], + [ + 14.573913603282563, + 20.64631416588861 + ], + [ + 26.718799313510317, + 20.64631416588861 + ], + [ + 38.86368502373796, + 20.64631416588861 + ], + [ + 46.15068411788718, + 21.8607858199083 + ], + [ + 52.223126973000944, + 23.075299766435705 + ], + [ + 58.29556982811482, + 25.5042853669828 + ], + [ + 59.51004148213451, + 25.5042853669828 + ], + [ + 58.29556982811482, + 25.5042853669828 + ], + [ + 55.8665419350599, + 23.075299766435705 + ], + [ + 52.223126973000944, + 19.431842511869036 + ], + [ + 52.223126973000944, + 19.431842511869036 + ] + ], + "pressures": [ + 0.126953125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.6533203125, + 0.138671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 52.223126973000944, + 19.431842511869036 + ] + }, + { + "id": "5qb7T6B9ExwWK_KMK3GNN", + "type": "freedraw", + "x": -466.1461820355463, + "y": -67.46345054873234, + "width": 75.29842673943676, + "height": 75.29838444692905, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 898459437, + "version": 59, + "versionNonce": 717384707, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.4289433080392655, + -6.072485147621705 + ], + [ + -2.4289433080392655, + -9.715942402188489 + ], + [ + 0, + -14.573913603282676 + ], + [ + 3.6434995470746117, + -18.21737085784946 + ], + [ + 8.501386163153256, + -21.86082811241613 + ], + [ + 10.930414056208065, + -23.075342058943647 + ], + [ + 14.57382901826702, + -23.075342058943647 + ], + [ + 17.002856911321942, + -21.86082811241613 + ], + [ + 23.07529976643582, + -13.359399656755159 + ], + [ + 26.71879931351043, + -4.857971201094301 + ], + [ + 29.147742621549696, + 6.0724428551137635 + ], + [ + 29.147742621549696, + 14.573871310774734 + ], + [ + 29.147742621549696, + 21.8607858199083 + ], + [ + 27.933355552545663, + 29.147742621549583 + ], + [ + 23.07529976643582, + 35.22018547666346 + ], + [ + 18.21732856534163, + 40.07815667775765 + ], + [ + 9.715942402188489, + 46.150599532871524 + ], + [ + -2.4289433080392655, + 49.79405678743831 + ], + [ + -10.930414056208065, + 51.00857073396571 + ], + [ + -14.57382901826702, + 52.2230423879854 + ], + [ + -17.002856911321828, + 52.2230423879854 + ], + [ + -10.930414056208065, + 49.79405678743831 + ], + [ + 8.501386163153256, + 46.150599532871524 + ], + [ + 23.07529976643582, + 43.72161393232443 + ], + [ + 36.43465713068326, + 41.29262833177734 + ], + [ + 44.93612787885195, + 40.07815667775765 + ], + [ + 51.008570733965826, + 38.86368502373807 + ], + [ + 57.0810135890797, + 38.86368502373807 + ], + [ + 58.295569828114935, + 38.86368502373807 + ], + [ + 55.86654193506001, + 38.86368502373807 + ], + [ + 53.43751404200509, + 41.29262833177734 + ], + [ + 53.43751404200509, + 41.29262833177734 + ] + ], + "pressures": [ + 0.078125, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.8720703125, + 0.3388671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 53.43751404200509, + 41.29262833177734 + ] + }, + { + "id": "6MmjHVpukinukC5wJkR7g", + "type": "freedraw", + "x": -427.28249701180823, + "y": -67.46345054873234, + "width": 98.37372650587258, + "height": 72.86944113888978, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1504100237, + "version": 64, + "versionNonce": 703367597, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.643499547074498, + -7.286956801641395 + ], + [ + -1.214471654019576, + -8.501428455660971 + ], + [ + 3.643414962058955, + -9.715942402188489 + ], + [ + 9.715857817172832, + -12.144928002735583 + ], + [ + 14.57382901826702, + -12.144928002735583 + ], + [ + 21.86082811241613, + -6.072485147621705 + ], + [ + 26.71879931351043, + 0 + ], + [ + 30.362214275569386, + 6.0724428551137635 + ], + [ + 35.22018547666357, + 13.35935736424733 + ], + [ + 37.649213369718495, + 21.8607858199083 + ], + [ + 38.86368502373807, + 34.00571382264377 + ], + [ + 36.43465713068315, + 40.07815667775765 + ], + [ + 31.57677051460462, + 46.150599532871524 + ], + [ + 24.28977142045551, + 52.2230423879854 + ], + [ + 18.21732856534163, + 57.08101358907959 + ], + [ + 10.930414056208065, + 60.7245131361542 + ], + [ + 8.501386163153256, + 60.7245131361542 + ], + [ + 7.28699909414911, + 60.7245131361542 + ], + [ + 4.857971201094301, + 57.08101358907959 + ], + [ + 2.428943308039379, + 52.2230423879854 + ], + [ + 2.428943308039379, + 51.00857073396571 + ], + [ + 3.643414962058955, + 49.79405678743831 + ], + [ + 10.930414056208065, + 47.36511347939904 + ], + [ + 20.646271873380897, + 46.150599532871524 + ], + [ + 35.22018547666357, + 42.50714227830474 + ], + [ + 44.93612787885195, + 41.29262833177734 + ], + [ + 54.65207028104044, + 41.29262833177734 + ], + [ + 65.58239975223285, + 41.29262833177734 + ], + [ + 82.58534124857033, + 41.29262833177734 + ], + [ + 89.8722557577039, + 41.29262833177734 + ], + [ + 93.51567071976285, + 42.50714227830474 + ], + [ + 94.73022695879808, + 42.50714227830474 + ], + [ + 92.30119906574316, + 43.72161393232443 + ], + [ + 88.65778410368421, + 43.72161393232443 + ], + [ + 85.01428455660971, + 42.50714227830474 + ], + [ + 81.3707850095351, + 40.07815667775765 + ], + [ + 78.94184170149583, + 37.64917107721055 + ], + [ + 78.94184170149583, + 37.64917107721055 + ] + ], + "pressures": [ + 0.1435546875, + 0.4130859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.970703125, + 0.4150390625, + 0.2001953125, + 0.109375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 78.94184170149583, + 37.64917107721055 + ] + }, + { + "id": "14ronpvB7JI593QItONsE", + "type": "freedraw", + "x": -479.5056239848092, + "y": -62.60552164014598, + "width": 26.71879931351043, + "height": 37.64921336971838, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1395136269, + "version": 60, + "versionNonce": 540799907, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2143870690041467, + 3.6434995470746117 + ], + [ + -1.2143870690041467, + 7.286956801641281 + ], + [ + -1.2143870690041467, + 6.072485147621705 + ], + [ + -1.2143870690041467, + 1.2145139465274042 + ], + [ + 0, + -3.6434572545667834 + ], + [ + 0, + -6.072442855113877 + ], + [ + 1.2145562390352325, + -7.286914509133453 + ], + [ + 4.85805578610973, + -6.072442855113877 + ], + [ + 7.28699909414911, + -2.4289433080392655 + ], + [ + 8.501470748168686, + 1.2145139465274042 + ], + [ + 8.501470748168686, + 4.857971201094188 + ], + [ + 8.501470748168686, + 6.072485147621705 + ], + [ + 8.501470748168686, + 7.286956801641281 + ], + [ + 7.28699909414911, + 7.286956801641281 + ], + [ + 4.85805578610973, + 7.286956801641281 + ], + [ + 1.2145562390352325, + 7.286956801641281 + ], + [ + -1.2143870690041467, + 4.857971201094188 + ], + [ + -3.643414962058955, + 0 + ], + [ + -4.857971201094301, + -2.4289433080392655 + ], + [ + -4.857971201094301, + -6.072442855113877 + ], + [ + -4.857971201094301, + -10.930414056208065 + ], + [ + -1.2143870690041467, + -21.8607858199083 + ], + [ + 0, + -27.933270967530007 + ], + [ + 1.2145562390352325, + -29.147742621549696 + ], + [ + 2.4290278930548084, + -30.3622565680771 + ], + [ + 6.0724428551137635, + -29.147742621549696 + ], + [ + 12.144970295243297, + -27.933270967530007 + ], + [ + 15.788385257302252, + -25.504285366982913 + ], + [ + 19.43188480437675, + -23.07529976643582 + ], + [ + 20.64635645839644, + -21.8607858199083 + ], + [ + 21.86082811241613, + -20.646314165888725 + ], + [ + 21.86082811241613, + -19.431842511869036 + ], + [ + 21.86082811241613, + -18.217328565341518 + ], + [ + 21.86082811241613, + -18.217328565341518 + ] + ], + "pressures": [ + 0.015625, + 0.0791015625, + 0.1435546875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7587890625, + 0.322265625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 21.86082811241613, + -18.217328565341518 + ] + }, + { + "id": "v9T8a6ZdzgbUUuelGu6RE", + "type": "freedraw", + "x": -475.8621244377347, + "y": -67.46345054873234, + "width": 19.431800219361207, + "height": 18.217328565341518, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 40342179, + "version": 54, + "versionNonce": 141085709, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 1.214471654019576 + ], + [ + 0, + 0 + ], + [ + 0, + -2.428985600547094 + ], + [ + 0, + -3.6434995470746117 + ], + [ + 1.2145562390352325, + -4.857971201094301 + ], + [ + 2.4289433080392655, + -4.857971201094301 + ], + [ + 4.857971201094188, + -4.857971201094301 + ], + [ + 7.28699909414911, + -4.857971201094301 + ], + [ + 9.715942402188375, + -3.6434995470746117 + ], + [ + 8.5014707481688, + -1.2145139465275179 + ], + [ + 4.857971201094188, + 0 + ], + [ + 2.4289433080392655, + 1.214471654019576 + ], + [ + 0, + 1.214471654019576 + ], + [ + -1.2144716540196896, + 1.214471654019576 + ], + [ + -2.4289433080392655, + 0 + ], + [ + -2.4289433080392655, + -2.428985600547094 + ], + [ + -2.4289433080392655, + -4.857971201094301 + ], + [ + 0, + -8.501428455660971 + ], + [ + 3.6434995470746117, + -12.144928002735583 + ], + [ + 6.072442855113877, + -13.359399656755159 + ], + [ + 8.5014707481688, + -14.573913603282676 + ], + [ + 12.144885710227754, + -15.788385257302366 + ], + [ + 13.359441949262987, + -17.002856911321942 + ], + [ + 14.573913603282676, + -17.002856911321942 + ], + [ + 15.788385257302252, + -17.002856911321942 + ], + [ + 15.788385257302252, + -13.359399656755159 + ], + [ + 17.002856911321942, + -10.930414056208065 + ], + [ + 17.002856911321942, + -10.930414056208065 + ] + ], + "pressures": [ + 0.0390625, + 0.6181640625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.734375, + 0.2763671875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 17.002856911321942, + -10.930414056208065 + ] + }, + { + "id": "dYCqcUqFXWxsxQbNB0Sxz", + "type": "freedraw", + "x": -458.85926752641274, + "y": -74.75040735037373, + "width": 75.29834215442122, + "height": 52.2230423879854, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1082000643, + "version": 53, + "versionNonce": 677611331, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2144716540196896, + -2.428985600547094 + ], + [ + 0, + -3.6434572545666697 + ], + [ + 4.857971201094188, + -3.6434572545666697 + ], + [ + 10.930414056208065, + -2.428985600547094 + ], + [ + 17.002856911321942, + 1.2144716540196896 + ], + [ + 26.718883898525974, + 9.715942402188489 + ], + [ + 30.36229886058493, + 17.002856911321942 + ], + [ + 31.576770514604505, + 24.289813712963337 + ], + [ + 32.79132675363985, + 32.791242168624194 + ], + [ + 30.36229886058493, + 40.07815667775776 + ], + [ + 24.289771420455395, + 44.93612787885195 + ], + [ + 12.144885710227754, + 48.57958513341873 + ], + [ + 3.643499547074498, + 48.57958513341873 + ], + [ + -9.715857817172832, + 46.150641825379466 + ], + [ + -15.78830067228671, + 46.150641825379466 + ], + [ + -19.431800219361207, + 44.93612787885195 + ], + [ + -21.860743527400587, + 44.93612787885195 + ], + [ + -17.002856911321942, + 44.93612787885195 + ], + [ + -2.4289433080392655, + 42.507142278304855 + ], + [ + 10.930414056208065, + 40.07815667775776 + ], + [ + 26.718883898525974, + 40.07815667775776 + ], + [ + 48.57962742592645, + 41.292670624285165 + ], + [ + 51.00865531898137, + 42.507142278304855 + ], + [ + 53.437598627020634, + 43.72165622483226 + ], + [ + 52.2230423879854, + 42.507142278304855 + ], + [ + 51.00865531898137, + 40.07815667775776 + ], + [ + 49.794099079946136, + 40.07815667775776 + ], + [ + 49.794099079946136, + 40.07815667775776 + ] + ], + "pressures": [ + 0.130859375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.2060546875, + 0.125, + 0.0595703125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 49.794099079946136, + 40.07815667775776 + ] + }, + { + "id": "-Ex8_EK3I2-SH-PE_1ouB", + "type": "freedraw", + "x": -424.85355370376885, + "y": -71.10695009580695, + "width": 103.23152853693557, + "height": 53.43755633451292, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 546472803, + "version": 57, + "versionNonce": 653116013, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.214387069004033, + -4.857928908586359 + ], + [ + 1.214471654019576, + -4.857928908586359 + ], + [ + 4.85805578610973, + -6.072442855113877 + ], + [ + 8.501470748168686, + -6.072442855113877 + ], + [ + 13.359441949262987, + -4.857928908586359 + ], + [ + 20.64635645839644, + 0 + ], + [ + 24.28985600547105, + 4.857971201094188 + ], + [ + 29.14782720656524, + 10.930414056208065 + ], + [ + 32.791242168624194, + 17.002856911321942 + ], + [ + 37.64921336971838, + 26.718799313510317 + ], + [ + 38.86368502373807, + 31.57677051460462 + ], + [ + 38.86368502373807, + 35.22022776917129 + ], + [ + 35.220270061679116, + 37.64921336971838 + ], + [ + 27.933270967530007, + 41.292670624285165 + ], + [ + 14.573913603282563, + 46.15064182537935 + ], + [ + 4.85805578610973, + 47.36511347939904 + ], + [ + 0, + 47.36511347939904 + ], + [ + -1.214387069004033, + 47.36511347939904 + ], + [ + 0, + 43.72165622483226 + ], + [ + 6.072442855113877, + 37.64921336971838 + ], + [ + 15.788385257302252, + 34.00575611515171 + ], + [ + 29.14782720656524, + 32.791242168624194 + ], + [ + 47.36515577190676, + 34.00575611515171 + ], + [ + 60.7245131361542, + 35.22022776917129 + ], + [ + 77.72737004747614, + 36.43469942319098 + ], + [ + 92.3012836507587, + 37.64921336971838 + ], + [ + 100.80266981391185, + 37.64921336971838 + ], + [ + 102.01714146793154, + 37.64921336971838 + ], + [ + 99.58819815989227, + 37.64921336971838 + ], + [ + 95.94469861281766, + 36.43469942319098 + ], + [ + 89.87225575770378, + 36.43469942319098 + ], + [ + 87.44331244966452, + 36.43469942319098 + ], + [ + 87.44331244966452, + 36.43469942319098 + ] + ], + "pressures": [ + 0.140625, + 0.8662109375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.56640625, + 0.22265625, + 0.087890625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 87.44331244966452, + 36.43469942319098 + ] + }, + { + "id": "nRTrtGo6eQ0JnAzfU-JqV", + "type": "freedraw", + "x": -551.1604665921559, + "y": -224.1327045902121, + "width": 76.51289839345645, + "height": 81.3708695945507, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1902906541, + "version": 44, + "versionNonce": 1503110883, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -10.930414056208065, + -2.4289433080393223 + ], + [ + -24.28985600547105, + -6.072442855113877 + ], + [ + -32.79115758360865, + -7.2868722166257385 + ], + [ + -41.29271291679299, + -7.2868722166257385 + ], + [ + -49.794099079946136, + -8.501428455660971 + ], + [ + -58.29556982811482, + -10.930371763700293 + ], + [ + -64.3680126832287, + -13.359315071739559 + ], + [ + -70.44045553834258, + -15.78834296479448 + ], + [ + -75.29834215442122, + -17.002856911321942 + ], + [ + -76.51289839345645, + -17.002856911321942 + ], + [ + -75.29834215442122, + -12.144885710227754 + ], + [ + -70.44045553834258, + 14.57391360328262 + ], + [ + -65.58248433724839, + 37.64921336971838 + ], + [ + -59.51004148213451, + 54.652070281040324 + ], + [ + -55.86662652007567, + 63.153498736701295 + ], + [ + -53.437598627020634, + 64.36801268322876 + ], + [ + -52.22312697300106, + 64.36801268322876 + ], + [ + -52.22312697300106, + 60.7245131361542 + ], + [ + -52.22312697300106, + 53.43759862702069 + ], + [ + -52.22312697300106, + 47.365155771906814 + ], + [ + -53.437598627020634, + 44.93617017135972 + ], + [ + -53.437598627020634, + 44.93617017135972 + ] + ], + "pressures": [ + 0.087890625, + 0.728515625, + 0.9169921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9619140625, + 0.4072265625, + 0.169921875, + 0.1005859375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -53.437598627020634, + 44.93617017135972 + ] + }, + { + "id": "jTxMQ_87YK6kleAEdfP7M", + "type": "freedraw", + "x": -564.5199085414189, + "y": -221.703718989665, + "width": 64.36801268322881, + "height": 94.73022695879803, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 45249805, + "version": 44, + "versionNonce": 1782901965, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.6434995470746117, + 0 + ], + [ + -2.4289433080392655, + -1.2144716540196328 + ], + [ + -8.501386163153143, + -2.428985600547094 + ], + [ + -15.788385257302252, + -3.643414962058955 + ], + [ + -23.07529976643582, + -4.857928908586416 + ], + [ + -36.43465713068315, + -8.501428455660971 + ], + [ + -48.57962742592645, + -13.359357364247387 + ], + [ + -55.86645735004436, + -15.788300672286653 + ], + [ + -58.29548524309928, + -17.002856911321942 + ], + [ + -60.7245131361542, + -18.217328565341575 + ], + [ + -60.7245131361542, + -15.788300672286653 + ], + [ + -57.08101358907959, + -3.643414962058955 + ], + [ + -52.2230423879854, + 12.144928002735526 + ], + [ + -44.936127878851835, + 42.507184570812626 + ], + [ + -42.50718457081268, + 60.7245131361542 + ], + [ + -40.07815667775765, + 71.65492719236227 + ], + [ + -40.07815667775765, + 76.51289839345645 + ], + [ + -40.07815667775765, + 74.08391279290936 + ], + [ + -41.29262833177734, + 69.22598388432294 + ], + [ + -41.29262833177734, + 66.79695599126808 + ], + [ + -41.29262833177734, + 65.58248433724839 + ], + [ + -41.29262833177734, + 65.58248433724839 + ] + ], + "pressures": [ + 0.0048828125, + 0.626953125, + 0.8701171875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.30078125, + 0.17578125, + 0.1240234375, + 0.0478515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -41.29262833177734, + 65.58248433724839 + ] + }, + { + "id": "wX6OmNCv7S8wKJLfUglQs", + "type": "freedraw", + "x": -325.2653555438766, + "y": -66.24897889471276, + "width": 89.8722557577039, + "height": 83.7998129025899, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 673442189, + "version": 42, + "versionNonce": 2053558915, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.214471654019576, + -1.214471654019576 + ], + [ + 3.643499547074498, + 3.6434572545667834 + ], + [ + 13.35935736424733, + 23.07529976643582 + ], + [ + 19.43188480437675, + 35.22022776917129 + ], + [ + 25.504327659490627, + 46.150641825379466 + ], + [ + 27.933270967530007, + 52.223042387985515 + ], + [ + 30.362214275569272, + 58.29548524309928 + ], + [ + 30.362214275569272, + 59.510041482134625 + ], + [ + 30.362214275569272, + 60.7245131361542 + ], + [ + 26.718799313510317, + 59.510041482134625 + ], + [ + 12.14488571022764, + 55.86654193506001 + ], + [ + 0, + 54.652070281040324 + ], + [ + -17.002856911321942, + 55.86654193506001 + ], + [ + -32.791242168624194, + 59.510041482134625 + ], + [ + -47.365071186891214, + 63.15345644419358 + ], + [ + -57.0810135890797, + 65.5824843372485 + ], + [ + -58.29548524309928, + 66.79695599126808 + ], + [ + -59.510041482134625, + 66.79695599126808 + ], + [ + -58.29548524309928, + 68.01142764528777 + ], + [ + -53.43759862702075, + 72.86939884638196 + ], + [ + -46.15059953287164, + 78.94184170149583 + ], + [ + -38.86368502373807, + 82.58534124857033 + ], + [ + -38.86368502373807, + 82.58534124857033 + ] + ], + "pressures": [ + 0.080078125, + 0.36328125, + 0.96875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.90625, + 0.4169921875, + 0.16015625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -38.86368502373807, + 82.58534124857033 + ] + }, + { + "id": "PhTOxbkm283xzHQ2FX8K0", + "type": "freedraw", + "x": -326.47982719789627, + "y": -57.74755043905179, + "width": 74.08387050040153, + "height": 64.36797039072098, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 773916419, + "version": 40, + "versionNonce": 1644677933, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2144716540196896, + -4.857971201094188 + ], + [ + 1.2144716540196896, + 3.6434572545667834 + ], + [ + 4.857971201094188, + 14.573871310774848 + ], + [ + 8.501386163153143, + 26.718799313510317 + ], + [ + 12.144885710227754, + 38.86368502373807 + ], + [ + 13.35935736424733, + 52.22308468049323 + ], + [ + 14.57382901826702, + 54.65202798853261 + ], + [ + 7.286914509133567, + 53.43755633451292 + ], + [ + -4.857971201094188, + 52.22308468049323 + ], + [ + -18.21732856534163, + 51.008613026473654 + ], + [ + -32.791242168624194, + 51.008613026473654 + ], + [ + -49.794099079946136, + 53.43755633451292 + ], + [ + -55.86654193506001, + 54.65202798853261 + ], + [ + -59.51004148213451, + 54.65202798853261 + ], + [ + -59.51004148213451, + 55.86658422756784 + ], + [ + -58.295569828114935, + 57.08105588158753 + ], + [ + -54.652070281040324, + 58.29552753560711 + ], + [ + -51.008570733965826, + 59.5099991896268 + ], + [ + -49.794099079946136, + 59.5099991896268 + ], + [ + -48.57962742592645, + 58.29552753560711 + ], + [ + -48.57962742592645, + 58.29552753560711 + ] + ], + "pressures": [ + 0.068359375, + 0.8515625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.5341796875, + 0.2255859375, + 0.1533203125, + 0.0478515625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -48.57962742592645, + 58.29552753560711 + ] + }, + { + "id": "PvMPBuVSlXe9KPxTNSsrQ", + "type": "freedraw", + "x": -311.90599817962925, + "y": -49.24612198339082, + "width": 78.94184170149572, + "height": 65.58248433724839, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 503924493, + "version": 39, + "versionNonce": 2073004579, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 1.2145562390352325, + 7.286956801641281 + ], + [ + 3.6434995470746117, + 14.573871310774848 + ], + [ + 7.28699909414911, + 25.504285366982913 + ], + [ + 9.715942402188375, + 37.64921336971838 + ], + [ + 9.715942402188375, + 46.15059953287164 + ], + [ + 9.715942402188375, + 51.008570733965826 + ], + [ + 10.930414056208065, + 53.43759862702075 + ], + [ + 9.715942402188375, + 53.43759862702075 + ], + [ + 4.857971201094188, + 53.43759862702075 + ], + [ + -3.643414962058955, + 52.223042387985515 + ], + [ + -14.57382901826702, + 52.223042387985515 + ], + [ + -26.718714728494774, + 52.223042387985515 + ], + [ + -46.150599532871524, + 55.86654193506001 + ], + [ + -58.29548524309928, + 60.7245131361542 + ], + [ + -65.58239975223285, + 64.36801268322881 + ], + [ + -68.01142764528765, + 65.58248433724839 + ], + [ + -66.79695599126808, + 65.58248433724839 + ], + [ + -63.153456444193466, + 65.58248433724839 + ], + [ + -60.724428551138544, + 65.58248433724839 + ], + [ + -60.724428551138544, + 65.58248433724839 + ] + ], + "pressures": [ + 0.1044921875, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.455078125, + 0.2099609375, + 0.08984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -60.724428551138544, + 65.58248433724839 + ] + }, + { + "id": "uu0kSIpoVt2hq2qEEERyh", + "type": "freedraw", + "x": -642.247278588895, + "y": -54.10409318448501, + "width": 42.50709998579691, + "height": 65.5824843372485, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 328952109, + "version": 33, + "versionNonce": 1855970701, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558556, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -6.0724428551137635, + -3.6434572545667834 + ], + [ + -10.930414056208065, + -6.072442855113877 + ], + [ + -13.35935736424733, + -7.286914509133567 + ], + [ + -19.431800219361207, + -6.072442855113877 + ], + [ + -24.289771420455395, + 0 + ], + [ + -31.57668592958896, + 18.217370857849346 + ], + [ + -34.00571382264377, + 35.22022776917129 + ], + [ + -35.22018547666346, + 48.57962742592645 + ], + [ + -35.22018547666346, + 55.86654193506001 + ], + [ + -30.362214275569272, + 58.295569828114935 + ], + [ + -20.646271873380897, + 57.0810135890797 + ], + [ + -10.930414056208065, + 53.43759862702075 + ], + [ + -2.428858723023609, + 48.57962742592645 + ], + [ + 4.857971201094301, + 44.93612787885195 + ], + [ + 7.286914509133453, + 42.50718457081257 + ], + [ + 7.286914509133453, + 42.50718457081257 + ] + ], + "pressures": [ + 0.1201171875, + 0.259765625, + 0.353515625, + 0.3984375, + 0.580078125, + 0.673828125, + 0.701171875, + 0.7568359375, + 0.7744140625, + 0.78515625, + 0.7890625, + 0.787109375, + 0.787109375, + 0.57421875, + 0.2724609375, + 0.2060546875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 7.286914509133453, + 42.50718457081257 + ] + }, + { + "id": "fSyUhmqrTyjmuzSLkbk9j", + "type": "freedraw", + "x": -642.247278588895, + "y": -10.38243695965275, + "width": 31.57668592958896, + "height": 32.791199876116366, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 878306851, + "version": 36, + "versionNonce": 838880707, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -4.857971201094188 + ], + [ + 0, + -8.501428455660971 + ], + [ + -1.214471654019576, + -9.715900109680547 + ], + [ + -3.643414962058955, + -9.715900109680547 + ], + [ + -9.715942402188375, + -8.501428455660971 + ], + [ + -13.35935736424733, + -2.4289433080392655 + ], + [ + -19.431800219361207, + 6.072442855113877 + ], + [ + -19.431800219361207, + 8.5014707481688 + ], + [ + -20.646271873380897, + 13.359357364247444 + ], + [ + -19.431800219361207, + 17.002856911321942 + ], + [ + -17.002856911321828, + 20.646356458396554 + ], + [ + -10.930414056208065, + 21.86082811241613 + ], + [ + -6.0724428551137635, + 23.07529976643582 + ], + [ + 2.429027893054922, + 23.07529976643582 + ], + [ + 6.072442855113877, + 23.07529976643582 + ], + [ + 9.716026987204032, + 20.646356458396554 + ], + [ + 10.930414056208065, + 17.002856911321942 + ], + [ + 10.930414056208065, + 13.359357364247444 + ], + [ + 10.930414056208065, + 13.359357364247444 + ] + ], + "pressures": [ + 0.0458984375, + 0.1162109375, + 0.18359375, + 0.208984375, + 0.3046875, + 0.4541015625, + 0.4931640625, + 0.5029296875, + 0.5107421875, + 0.5263671875, + 0.53125, + 0.53125, + 0.5380859375, + 0.53515625, + 0.4580078125, + 0.3720703125, + 0.228515625, + 0.146484375, + 0.0771484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 10.930414056208065, + 13.359357364247444 + ] + }, + { + "id": "IoU1jFDuoeIRiVfzyCqMo", + "type": "freedraw", + "x": -626.4588087465771, + "y": 17.550834007877256, + "width": 1.2145562390352325, + "height": 47.36511347939904, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1088759117, + "version": 27, + "versionNonce": 658940909, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -9.715942402188375 + ], + [ + 0, + -12.144885710227754 + ], + [ + 0, + -21.86082811241613 + ], + [ + 0, + -25.50432765949074 + ], + [ + -1.2145562390352325, + -37.64917107721055 + ], + [ + -1.2145562390352325, + -43.72165622483226 + ], + [ + -1.2145562390352325, + -46.150599532871524 + ], + [ + -1.2145562390352325, + -47.36511347939904 + ], + [ + -1.2145562390352325, + -46.150599532871524 + ], + [ + -1.2145562390352325, + -44.93612787885195 + ], + [ + -1.2145562390352325, + -44.93612787885195 + ] + ], + "pressures": [ + 0.119140625, + 0.3095703125, + 0.384765625, + 0.5185546875, + 0.5625, + 0.6865234375, + 0.6943359375, + 0.6943359375, + 0.6357421875, + 0.1552734375, + 0.0751953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -1.2145562390352325, + -44.93612787885195 + ] + }, + { + "id": "e02DZRVXymgeiCVhPbR8U", + "type": "freedraw", + "x": -639.8182506958401, + "y": -11.59690861367244, + "width": 23.07529976643582, + "height": 3.643414962058955, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 103924675, + "version": 22, + "versionNonce": 1356307811, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 3.643414962058955 + ], + [ + 6.072442855113877, + 3.643414962058955 + ], + [ + 13.359441949262987, + 3.643414962058955 + ], + [ + 18.21732856534163, + 2.428943308039379 + ], + [ + 20.646271873380897, + 1.2144716540196896 + ], + [ + 23.07529976643582, + 0 + ], + [ + 23.07529976643582, + 0 + ] + ], + "pressures": [ + 0.076171875, + 0.279296875, + 0.3232421875, + 0.3857421875, + 0.3916015625, + 0.39453125, + 0.3818359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 23.07529976643582, + 0 + ] + }, + { + "id": "iB8aRYdx1rDv9NDN5LsK9", + "type": "freedraw", + "x": -603.383593565157, + "y": 7.834891605688881, + "width": 17.002856911321828, + "height": 49.794099079946136, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 585543533, + "version": 44, + "versionNonce": 368205, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.214471654019576, + -7.286914509133567 + ], + [ + -3.6434995470746117, + -13.359357364247444 + ], + [ + -4.857886616078645, + -20.646271873380897 + ], + [ + -6.0724428551137635, + -27.93322867502218 + ], + [ + -7.286914509133453, + -35.22018547666357 + ], + [ + -7.286914509133453, + -40.07815667775776 + ], + [ + -7.286914509133453, + -41.29262833177745 + ], + [ + -6.0724428551137635, + -34.005713822643884 + ], + [ + -4.857886616078645, + -18.21732856534163 + ], + [ + -3.6434995470746117, + -9.715857817172832 + ], + [ + -3.6434995470746117, + -3.643414962058955 + ], + [ + -3.6434995470746117, + -1.2144716540196896 + ], + [ + -3.6434995470746117, + 0 + ], + [ + -3.6434995470746117, + -3.643414962058955 + ], + [ + -3.6434995470746117, + -9.715857817172832 + ], + [ + -3.6434995470746117, + -17.002856911321942 + ], + [ + -2.4289433080392655, + -25.504285366982913 + ], + [ + 0, + -30.362214275569386 + ], + [ + 2.429027893054922, + -32.79119987611648 + ], + [ + 6.072442855113877, + -32.79119987611648 + ], + [ + 8.5014707481688, + -30.362214275569386 + ], + [ + 9.715942402188375, + -23.07529976643582 + ], + [ + 9.715942402188375, + -15.788385257302366 + ], + [ + 9.715942402188375, + -8.501386163153143 + ], + [ + 9.715942402188375, + -1.2144716540196896 + ], + [ + 9.715942402188375, + 7.28699909414911 + ], + [ + 9.715942402188375, + 8.501470748168686 + ], + [ + 8.5014707481688, + 8.501470748168686 + ], + [ + 8.5014707481688, + 7.28699909414911 + ], + [ + 8.5014707481688, + 7.28699909414911 + ] + ], + "pressures": [ + 0.0986328125, + 0.2763671875, + 0.349609375, + 0.4580078125, + 0.6025390625, + 0.6591796875, + 0.669921875, + 0.671875, + 0.6640625, + 0.59375, + 0.53515625, + 0.5400390625, + 0.55078125, + 0.552734375, + 0.55859375, + 0.56640625, + 0.572265625, + 0.5712890625, + 0.5595703125, + 0.53515625, + 0.525390625, + 0.5224609375, + 0.5224609375, + 0.5224609375, + 0.525390625, + 0.5380859375, + 0.5498046875, + 0.5498046875, + 0.5, + 0.001953125, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 8.5014707481688, + 7.28699909414911 + ] + }, + { + "id": "Y4TjLrPEus0ogUu3AeVMt", + "type": "freedraw", + "x": -519.5837806625669, + "y": -153.69224905186945, + "width": 31.57668592958896, + "height": 37.64921336971844, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 140102189, + "version": 57, + "versionNonce": 593754371, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.2144716540196896, + -2.4289856005471506 + ], + [ + -2.4289433080392655, + -2.4289856005471506 + ], + [ + -3.643414962058955, + -2.4289856005471506 + ], + [ + -6.072442855113877, + -2.4289856005471506 + ], + [ + -8.501386163153143, + 0 + ], + [ + -12.144885710227754, + 4.857928908586359 + ], + [ + -17.002856911321942, + 12.144885710227697 + ], + [ + -18.21732856534163, + 15.788342964794424 + ], + [ + -19.431800219361207, + 19.431884804376807 + ], + [ + -19.431800219361207, + 21.86082811241613 + ], + [ + -19.431800219361207, + 23.075299766435762 + ], + [ + -17.002856911321942, + 24.289771420455395 + ], + [ + -13.35935736424733, + 26.718757021002546 + ], + [ + -9.715857817172832, + 27.93327096752995 + ], + [ + -4.857971201094188, + 30.3622565680771 + ], + [ + -1.2144716540196896, + 30.3622565680771 + ], + [ + 2.429027893054922, + 30.3622565680771 + ], + [ + 4.857971201094188, + 29.14774262154964 + ], + [ + 7.286914509133453, + 27.93327096752995 + ], + [ + 9.715942402188375, + 24.289771420455395 + ], + [ + 12.144885710227754, + 19.431884804376807 + ], + [ + 12.144885710227754, + 13.359399656755159 + ], + [ + 12.144885710227754, + 8.501428455660914 + ], + [ + 12.144885710227754, + 6.07244285511382 + ], + [ + 10.930414056208065, + 2.428985600547094 + ], + [ + 8.501555333184342, + -1.214513946527461 + ], + [ + 4.857971201094188, + -4.857928908586416 + ], + [ + 3.643499547074498, + -7.286956801641338 + ], + [ + 0, + -7.286956801641338 + ], + [ + -3.643414962058955, + -7.286956801641338 + ], + [ + -6.072442855113877, + -6.072442855113877 + ], + [ + -8.501386163153143, + -3.6434995470746117 + ], + [ + -9.715857817172832, + -1.214513946527461 + ], + [ + -10.930414056208065, + 2.428985600547094 + ], + [ + -10.930414056208065, + 4.857928908586359 + ], + [ + -10.930414056208065, + 7.286956801641281 + ], + [ + -12.144885710227754, + 8.501428455660914 + ], + [ + -12.144885710227754, + 10.930414056208065 + ], + [ + -12.144885710227754, + 12.144885710227697 + ], + [ + -10.930414056208065, + 13.359399656755159 + ], + [ + -8.501386163153143, + 14.573871310774791 + ], + [ + -7.286914509133567, + 14.573871310774791 + ], + [ + -7.286914509133567, + 14.573871310774791 + ] + ], + "pressures": [ + 0.0205078125, + 0.1142578125, + 0.291015625, + 0.4267578125, + 0.8203125, + 0.8720703125, + 0.931640625, + 0.97265625, + 0.9921875, + 1, + 1, + 0.994140625, + 0.9833984375, + 0.990234375, + 0.990234375, + 0.9833984375, + 0.98828125, + 0.9921875, + 0.994140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.9814453125, + 0.7421875, + 0.318359375, + 0.1591796875, + 0.0625, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -7.286914509133567, + 14.573871310774791 + ] + }, + { + "id": "020UB6oBUz34G_u9DI7Bp", + "type": "freedraw", + "x": -488.00701014796243, + "y": -134.26036424749265, + "width": 46.150599532871524, + "height": 85.01432684911742, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 166326669, + "version": 62, + "versionNonce": 1442983693, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -2.429027893054922 + ], + [ + -2.429027893054922, + -8.501470748168742 + ], + [ + -3.643499547074498, + -14.573955895790448 + ], + [ + -4.857886616078531, + -20.646398750904268 + ], + [ + -6.072442855113877, + -27.933313260037778 + ], + [ + -8.501470748168686, + -40.078241262773304 + ], + [ + -8.501470748168686, + -47.365155771906814 + ], + [ + -9.715942402188375, + -54.652070281040324 + ], + [ + -9.715942402188375, + -60.7245131361542 + ], + [ + -9.715942402188375, + -68.01151223030331 + ], + [ + -9.715942402188375, + -72.86944113888973 + ], + [ + -9.715942402188375, + -77.72741233998391 + ], + [ + -9.715942402188375, + -80.15639794053106 + ], + [ + -9.715942402188375, + -81.37091188705847 + ], + [ + -9.715942402188375, + -77.72741233998391 + ], + [ + -9.715942402188375, + -69.22598388432294 + ], + [ + -8.501470748168686, + -49.794141372453964 + ], + [ + -8.501470748168686, + -31.576812807112333 + ], + [ + -7.286914509133453, + -10.930456348715893 + ], + [ + -7.286914509133453, + -4.858013493602016 + ], + [ + -6.072442855113877, + -4.858013493602016 + ], + [ + -6.072442855113877, + -8.501470748168742 + ], + [ + -2.429027893054922, + -20.646398750904268 + ], + [ + -1.214471654019576, + -23.07538435145142 + ], + [ + 2.428943308039379, + -29.14782720656524 + ], + [ + 3.643414962058955, + -29.14782720656524 + ], + [ + 4.857971201094301, + -30.3622565680771 + ], + [ + 8.501386163153256, + -32.79128446113202 + ], + [ + 10.930414056208065, + -34.00579840765948 + ], + [ + 14.57382901826702, + -34.00579840765948 + ], + [ + 17.002856911321942, + -34.00579840765948 + ], + [ + 23.07529976643582, + -27.933313260037778 + ], + [ + 27.933270967530007, + -21.860870404923958 + ], + [ + 31.57677051460462, + -15.78842754981008 + ], + [ + 35.22018547666357, + -8.501470748168742 + ], + [ + 36.43465713068315, + -1.2145562390352325 + ], + [ + 35.22018547666357, + 0 + ], + [ + 29.147742621549696, + 2.4289433080393223 + ], + [ + 18.21732856534163, + 3.643414962058955 + ], + [ + 9.715942402188489, + 3.643414962058955 + ], + [ + 2.428943308039379, + 2.4289433080393223 + ], + [ + -2.429027893054922, + 1.2144293615118613 + ], + [ + -4.857886616078531, + 1.2144293615118613 + ], + [ + -6.072442855113877, + 0 + ], + [ + -3.643499547074498, + 1.2144293615118613 + ], + [ + -1.214471654019576, + 1.2144293615118613 + ], + [ + 0, + 1.2144293615118613 + ], + [ + 0, + 0 + ] + ], + "pressures": [ + 0.080078125, + 0.69921875, + 0.830078125, + 0.9619140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.1728515625, + 0.083984375, + 0.0029296875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 0, + 1.2144293615118613 + ] + }, + { + "id": "BLQEvVlXCH28udiZ4k6Dg", + "type": "freedraw", + "x": -545.088023737042, + "y": -99.04022106333696, + "width": 143.30976979970887, + "height": 10.930414056208065, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 468224589, + "version": 26, + "versionNonce": 1633863021, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -17.002856911321942, + 4.857971201094188 + ], + [ + -20.646271873380897, + 4.857971201094188 + ], + [ + -21.86082811241613, + 3.6434995470746117 + ], + [ + -10.930414056208065, + 2.428985600547094 + ], + [ + 8.501386163153143, + 1.2145139465275179 + ], + [ + 30.362214275569272, + 1.2145139465275179 + ], + [ + 53.43751404200509, + -1.214471654019576 + ], + [ + 87.44322786464897, + -3.6434572545667834 + ], + [ + 106.87519725404138, + -3.6434572545667834 + ], + [ + 116.59105507121421, + -3.6434572545667834 + ], + [ + 120.23447003327317, + -3.6434572545667834 + ], + [ + 121.44894168729274, + -3.6434572545667834 + ], + [ + 121.44894168729274, + -4.857928908586359 + ], + [ + 121.44894168729274, + -6.072442855113877 + ], + [ + 121.44894168729274, + -6.072442855113877 + ] + ], + "pressures": [ + 0.0576171875, + 0.17578125, + 0.2939453125, + 0.5458984375, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.7685546875, + 0.283203125, + 0.1083984375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 121.44894168729274, + -6.072442855113877 + ] + }, + { + "id": "q4TuPnfHTALSgSxwzB_Xr", + "type": "freedraw", + "x": -513.5113378074531, + "y": -92.96777820822308, + "width": 129.9504970204772, + "height": 15.788342964794424, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 2085077037, + "version": 23, + "versionNonce": 1864913891, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -1.2144716540196896 + ], + [ + 8.501555333184342, + -1.2144716540196896 + ], + [ + 23.075299766435705, + -2.4289433080392655 + ], + [ + 41.29271291679299, + -6.072442855113877 + ], + [ + 76.51289839345645, + -12.144885710227754 + ], + [ + 97.1592548518529, + -14.573871310774848 + ], + [ + 112.94764010915526, + -15.788342964794424 + ], + [ + 123.87805416536332, + -14.573871310774848 + ], + [ + 129.9504970204772, + -10.930371763700236 + ], + [ + 129.9504970204772, + -9.71590010968066 + ], + [ + 128.73594078144185, + -9.71590010968066 + ], + [ + 128.73594078144185, + -9.71590010968066 + ] + ], + "pressures": [ + 0.0283203125, + 0.61328125, + 0.9580078125, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3544921875, + 0.208984375, + 0.046875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 128.73594078144185, + -9.71590010968066 + ] + }, + { + "id": "KHtmuoJrUwqGlLNF2xu5D", + "type": "freedraw", + "x": -443.0708822691105, + "y": -63.81999329416567, + "width": 44.93612787885195, + "height": 49.794099079946136, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1679600739, + "version": 40, + "versionNonce": 257429037, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.214387069004033, + -1.214471654019576 + ], + [ + -1.214387069004033, + -2.428985600547094 + ], + [ + 1.2144716540196896, + -3.6434572545666697 + ], + [ + 6.072442855113877, + -4.857971201094188 + ], + [ + 8.501386163153143, + -4.857971201094188 + ], + [ + 14.573913603282676, + -3.6434572545666697 + ], + [ + 18.21732856534163, + -1.214471654019576 + ], + [ + 21.86082811241613, + 4.857971201094301 + ], + [ + 23.075384351451362, + 9.71590010968066 + ], + [ + 24.28977142045551, + 14.573871310774848 + ], + [ + 24.28977142045551, + 19.431842511869036 + ], + [ + 21.86082811241613, + 24.289813712963337 + ], + [ + 18.21732856534163, + 27.933270967530007 + ], + [ + 9.715942402188489, + 34.005713822643884 + ], + [ + 3.6434995470746117, + 38.86368502373807 + ], + [ + -2.429027893054922, + 41.292670624285165 + ], + [ + -9.715942402188375, + 44.93612787885195 + ], + [ + -12.144885710227754, + 44.93612787885195 + ], + [ + -13.35935736424733, + 44.93612787885195 + ], + [ + -9.715942402188375, + 43.72165622483237 + ], + [ + -6.072442855113877, + 42.507142278304855 + ], + [ + 8.501386163153143, + 40.07815667775776 + ], + [ + 21.86082811241613, + 40.07815667775776 + ], + [ + 25.504243074475085, + 38.86368502373807 + ], + [ + 30.362214275569272, + 38.86368502373807 + ], + [ + 31.57677051460462, + 38.86368502373807 + ], + [ + 30.362214275569272, + 37.64917107721067 + ], + [ + 27.933270967530007, + 35.2202277691714 + ], + [ + 27.933270967530007, + 34.005713822643884 + ], + [ + 27.933270967530007, + 34.005713822643884 + ] + ], + "pressures": [ + 0.0498046875, + 0.3759765625, + 0.4677734375, + 0.6064453125, + 0.75, + 0.787109375, + 0.900390625, + 0.9365234375, + 0.98828125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.3896484375, + 0.1962890625, + 0.1396484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 27.933270967530007, + 34.005713822643884 + ] + }, + { + "id": "Oa4qTz_-o4AInTiYgzL7S", + "type": "freedraw", + "x": -444.2852693381145, + "y": -66.24897889471276, + "width": 63.15354102920901, + "height": 63.15345644419358, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1876997635, + "version": 38, + "versionNonce": 1230248643, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -2.429112478070465, + -3.6434572545666697 + ], + [ + -2.429112478070465, + -4.857971201094188 + ], + [ + 0, + -4.857971201094188 + ], + [ + 3.6433303770432985, + -6.072442855113877 + ], + [ + 7.28682992411791, + -6.072442855113877 + ], + [ + 10.930329471192522, + -4.857971201094188 + ], + [ + 19.431715634345665, + 2.428985600547094 + ], + [ + 24.289771420455395, + 8.501428455660971 + ], + [ + 29.14765803653404, + 15.788385257302366 + ], + [ + 31.576601344573305, + 23.07529976643582 + ], + [ + 31.576601344573305, + 29.147784914057524 + ], + [ + 31.576601344573305, + 36.43469942319098 + ], + [ + 23.075215181420162, + 47.36511347939904 + ], + [ + 17.002772326306285, + 52.223042387985515 + ], + [ + 10.930329471192522, + 54.652070281040324 + ], + [ + 3.6433303770432985, + 55.86654193506001 + ], + [ + -6.07252744012942, + 57.0810135890797 + ], + [ + -10.930498641223721, + 57.0810135890797 + ], + [ + -12.144970295243297, + 57.0810135890797 + ], + [ + -13.35952653427853, + 57.0810135890797 + ], + [ + -10.930498641223721, + 53.43759862702075 + ], + [ + -2.429112478070465, + 49.794099079946136 + ], + [ + 8.5013015781376, + 47.36511347939904 + ], + [ + 21.860743527400587, + 44.93612787885195 + ], + [ + 34.00562923762823, + 44.93612787885195 + ], + [ + 44.93604329383629, + 46.150641825379466 + ], + [ + 48.579542840910904, + 46.150641825379466 + ], + [ + 48.579542840910904, + 47.36511347939904 + ], + [ + 49.79401449493048, + 48.57958513341873 + ], + [ + 48.579542840910904, + 47.36511347939904 + ], + [ + 48.579542840910904, + 47.36511347939904 + ] + ], + "pressures": [ + 0.0341796875, + 0.4833984375, + 0.5078125, + 0.6015625, + 0.67578125, + 0.7705078125, + 0.857421875, + 0.927734375, + 0.9619140625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.794921875, + 0.326171875, + 0.0419921875, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 48.579542840910904, + 47.36511347939904 + ] + }, + { + "id": "C8DNGASVe5cJfyzSNjVFI", + "type": "freedraw", + "x": -444.2852693381145, + "y": -41.95916518174954, + "width": 63.153456444193466, + "height": 37.64917107721055, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 899525549, + "version": 39, + "versionNonce": 966928109, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 2.4288587230237226, + -1.2145139465274042 + ], + [ + 4.857886616078645, + -2.428985600547094 + ], + [ + 7.28682992411791, + -3.643499547074498 + ], + [ + 9.715773232157176, + -3.643499547074498 + ], + [ + 15.78830067228671, + -3.643499547074498 + ], + [ + 19.431715634345665, + -2.428985600547094 + ], + [ + 23.075215181420162, + 2.4289856005472075 + ], + [ + 24.289771420455395, + 9.71590010968066 + ], + [ + 24.289771420455395, + 18.21732856534163 + ], + [ + 20.64618728836524, + 29.147784914057524 + ], + [ + 19.431715634345665, + 31.57672822209679 + ], + [ + 15.78830067228671, + 34.005671530136055 + ], + [ + 8.5013015781376, + 34.005671530136055 + ], + [ + -3.6435841320901545, + 31.57672822209679 + ], + [ + -10.930498641223721, + 27.933228675022292 + ], + [ + -15.788469842317909, + 25.504285366982913 + ], + [ + -17.002941496337485, + 24.28977142045551 + ], + [ + -18.217413150357174, + 24.28977142045551 + ], + [ + -15.788469842317909, + 23.07529976643582 + ], + [ + -9.716026987204032, + 23.07529976643582 + ], + [ + -1.214640824050889, + 23.07529976643582 + ], + [ + 13.359272779231787, + 24.28977142045551 + ], + [ + 20.64618728836524, + 26.718757021002602 + ], + [ + 26.718630143479118, + 27.933228675022292 + ], + [ + 32.79115758360865, + 29.147784914057524 + ], + [ + 37.64904419968718, + 30.3622565680771 + ], + [ + 42.507099985797026, + 31.57672822209679 + ], + [ + 44.93604329383629, + 31.57672822209679 + ], + [ + 44.93604329383629, + 29.147784914057524 + ], + [ + 42.507099985797026, + 24.28977142045551 + ], + [ + 41.292543746761794, + 23.07529976643582 + ], + [ + 41.292543746761794, + 23.07529976643582 + ] + ], + "pressures": [ + 0.080078125, + 0.6162109375, + 0.861328125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.26171875, + 0.1318359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 41.292543746761794, + 23.07529976643582 + ] + }, + { + "id": "A66SamydixmqShZNxFA6G", + "type": "freedraw", + "x": -436.9984394139966, + "y": -38.31570792718276, + "width": 64.3680126832287, + "height": 51.008528441458, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 1548352013, + "version": 40, + "versionNonce": 1177143907, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -1.214387069004033, + -4.857971201094188 + ], + [ + 0, + -7.286956801641281 + ], + [ + 1.2144716540196896, + -8.501428455660971 + ], + [ + 2.4289433080392655, + -8.501428455660971 + ], + [ + 4.858055786109844, + -9.715900109680547 + ], + [ + 12.144885710227754, + -7.286956801641281 + ], + [ + 17.002941496337485, + -4.857971201094188 + ], + [ + 19.431800219361207, + -2.428985600547094 + ], + [ + 21.86082811241613, + 1.2145139465275179 + ], + [ + 23.075384351451362, + 9.715942402188489 + ], + [ + 23.075384351451362, + 17.002856911321942 + ], + [ + 20.64635645839644, + 21.86082811241613 + ], + [ + 17.002941496337485, + 26.718799313510317 + ], + [ + 10.930498641223721, + 30.362214275569272 + ], + [ + -2.4289433080392655, + 32.791242168624194 + ], + [ + -9.715942402188375, + 32.791242168624194 + ], + [ + -15.788385257302252, + 32.791242168624194 + ], + [ + -20.64635645839644, + 34.005713822643884 + ], + [ + -26.718799313510317, + 35.22018547666357 + ], + [ + -24.289771420455395, + 35.22018547666357 + ], + [ + -17.002856911321942, + 36.434741715698806 + ], + [ + -7.28682992411791, + 37.649213369718495 + ], + [ + 7.286914509133567, + 40.07815667775776 + ], + [ + 15.788385257302252, + 40.07815667775776 + ], + [ + 24.289771420455395, + 41.29262833177745 + ], + [ + 30.362214275569272, + 41.29262833177745 + ], + [ + 35.220270061679116, + 41.29262833177745 + ], + [ + 37.64921336971838, + 41.29262833177745 + ], + [ + 36.434741715698806, + 40.07815667775776 + ], + [ + 35.220270061679116, + 38.86368502373807 + ], + [ + 31.576770514604505, + 36.434741715698806 + ], + [ + 30.362214275569272, + 35.22018547666357 + ], + [ + 30.362214275569272, + 35.22018547666357 + ] + ], + "pressures": [ + 0.052734375, + 0.703125, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.724609375, + 0.20703125, + 0.1484375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + 30.362214275569272, + 35.22018547666357 + ] + }, + { + "id": "26iMIe4T89lviohvgEiVl", + "type": "freedraw", + "x": -557.2329940322853, + "y": -225.34713395172395, + "width": 78.94184170149583, + "height": 66.79695599126808, + "angle": 0, + "strokeColor": "#00d9db", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 0.5, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "strokeSharpness": "round", + "seed": 365394595, + "version": 33, + "versionNonce": 1296895917, + "isDeleted": true, + "boundElements": null, + "updated": 1659982558557, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -3.643414962058955, + -1.214513946527461 + ], + [ + -6.072442855113877, + -2.429027893054922 + ], + [ + -10.930414056208065, + -4.858013493602016 + ], + [ + -15.78830067228671, + -7.28699909414911 + ], + [ + -25.504243074475085, + -9.715942402188432 + ], + [ + -34.005713822643884, + -12.144885710227697 + ], + [ + -42.507099985797026, + -13.359441949262987 + ], + [ + -52.2230423879854, + -14.57391360328262 + ], + [ + -61.93898479017389, + -15.78842754981008 + ], + [ + -72.86939884638196, + -18.217370857849403 + ], + [ + -75.29825756940568, + -19.431884804376864 + ], + [ + -76.51281380844091, + -20.646356458396497 + ], + [ + -76.51281380844091, + -19.431884804376864 + ], + [ + -76.51281380844091, + -9.715942402188432 + ], + [ + -76.51281380844091, + 4.857928908586416 + ], + [ + -76.51281380844091, + 24.289813712963223 + ], + [ + -77.72737004747626, + 31.57668592958896 + ], + [ + -77.72737004747626, + 35.22018547666352 + ], + [ + -77.72737004747626, + 36.43469942319098 + ], + [ + -77.72737004747626, + 40.07811438524993 + ], + [ + -78.94184170149583, + 43.72161393232449 + ], + [ + -78.94184170149583, + 46.15059953287158 + ], + [ + -78.94184170149583, + 43.72161393232449 + ], + [ + -76.51281380844091, + 38.86364273123024 + ], + [ + -72.86939884638196, + 31.57668592958896 + ], + [ + -71.65484260734672, + 30.3622565680771 + ], + [ + -71.65484260734672, + 30.3622565680771 + ] + ], + "pressures": [ + 0.001953125, + 0.5205078125, + 0.791015625, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0.630859375, + 0.2001953125, + 0.0693359375, + 0 + ], + "simulatePressure": false, + "lastCommittedPoint": [ + -71.65484260734672, + 30.3622565680771 + ] + } + ], + "appState": { + "theme": "light", + "viewBackgroundColor": "#0b0b0b", + "currentItemStrokeColor": "#00d9db", + "currentItemBackgroundColor": "transparent", + "currentItemFillStyle": "hachure", + "currentItemStrokeWidth": 0.5, + "currentItemStrokeStyle": "solid", + "currentItemRoughness": 1, + "currentItemOpacity": 100, + "currentItemFontFamily": 1, + "currentItemFontSize": 20, + "currentItemTextAlign": "left", + "currentItemStrokeSharpness": "sharp", + "currentItemStartArrowhead": null, + "currentItemEndArrowhead": "arrow", + "currentItemLinearStrokeSharpness": "round", + "gridSize": null, + "colorPalette": {} + }, + "files": {} +} +``` + +Bl diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/9jyMkStfm1F.md b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/9jyMkStfm1F.md new file mode 100644 index 0000000..23c618b --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/9jyMkStfm1F.md @@ -0,0 +1,65 @@ +Rtk +![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-convert-freedraw-to-line.jpg) + +EWe6kfF EidDnPCu 1NJ3JrVc wE4ZClE Tlpw OCdVQAT0 6RqRRp H4oZ bucK jR04N BYT xV U3OYZc niIy fCJsCowF P6 bIGPF7jW jCy1 S7yRNi Nt5 Qyt8 MkTs hduiE OlF AC dsDw5L 0MzBA SbWb BP 4HkM 45 VwlWv9vm k9HXme ejy TaD Z1Tl38 PV2pVd0Pf9 4aqVm PFq1Gl9 YY + +```javascript +*/ + +if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.21")) { + new Notice("This script requires a newer version of Excalidraw. Please install the latest version."); + return; +} + +settings = ea.getScriptSettings(); +//set default values on first run +if(!settings["Point density"]) { + settings = { + "Point density" : { + value: "7:1", + valueset: ["1:1","2:1","3:1","4:1","5:1","6:1","7:1","8:1","9:1","10:1","11:1"], + description: "A freedraw object has many points. Converting freedraw to a line with too many points will result in an impractical object that is hard to edit. This setting sepcifies how many points from freedraw should be averaged to form a point on the line" + }, + }; + ea.setScriptSettings(settings); +} + +const scale = settings["Point density"].value; +const setSize = parseInt(scale.substring(0,scale.indexOf(":"))); + +const elements = ea.getViewSelectedElements().filter(el=>el.type==="freedraw"); +if(elements.length === 0) { + new Notice("No freedraw object is selected"); +} + + +ea.style.roughness=0; +ea.style.strokeSharpness="round"; + +elements.forEach((el)=>{ + points = []; + points.push(el.points[0]); + for(i=1;i \ No newline at end of file diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/nzSesgpn6NlEV.svg b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/nzSesgpn6NlEV.svg new file mode 100644 index 0000000..5656332 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/nzSesgpn6NlEV.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/zDnxBvDoB8yABIv.md b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/zDnxBvDoB8yABIv.md new file mode 100644 index 0000000..098247f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/02 - VnECkcX2Vp/xhpR8LpBQ0eyj/trZELin8lbc/MhB0fpWLxSO/zDnxBvDoB8yABIv.md @@ -0,0 +1,17 @@ +Ln5 +![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-stroke-width.jpg) + +brmC LUfTwb sVeg zpZ XLd CpTk8w cZcva zs 8yWp1m17 QQbtPui1m 35vy 6B 9gfub9Rr 3U5 ZHUdDVP8 Gn7p OCP x3xe8 lgQMjSO0 S5aG8CpB vM5 2n8x m6 TF6yjX Lo 91BOzXVf gNlLh COV8 + +7hu 65vjp86r9QWuF ssI jtVN SYPBGelgv +[VrvtNBxbKveqAngiryPWn1jRGtqaGXFVTbBkQg2of5xYX4nXpPmfchs7IvBkMhLAlXQ2mODrNJvK2aiveUS](https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html) + +```javascript +*/ +let width = (ea.getViewSelectedElement().strokeWidth??1).toString(); +width = await utils.inputPrompt("Width?","number",width); +const elements=ea.getViewSelectedElements(); +ea.copyViewElementsToEAforEditing(elements); +ea.getElements().forEach((el)=>el.strokeWidth=width); +ea.addElementsToView(false,false); +``` diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/01 - NXFeH8Gp44.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/01 - NXFeH8Gp44.md new file mode 100644 index 0000000..7809f99 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/01 - NXFeH8Gp44.md @@ -0,0 +1,173 @@ +--- +banner: "https://i.imgur.com/2nzVmm0.png" +banner_y: 0.2751 +banner_x: 0.51026 +--- + +wmoqVVcWsnDU + +> F9ycKs9caz 0 La7UhAbPR4hDf7 Bf ymw0FRZm +> *kN2tcGN 3B * +> +> - [[PDQF1N4Yh6kCmrgEnao|]] +> - [[Aho9YzNL9L7qdtPEyI|]] +> - [[4WaHbdxdUG5VKnvEF|]] + +> m27wzXlfA0 W QNcomjhdFe10WKFFk +> +> - [[cbsc5jXd2PLT5bv7g6|]] +> - [[iVZbOK1quXssKcqecN|]] +> - [[BBf50xaBZgd|]] + +--- + +> EVVNLNdUEQ7i Z XxC5KCob5KIX Gza4 +> +> - [[XzeSUEekOih5tk|ewqXNjARDSSeBptj72y7]] +> - [[w9Bo384RfGhA2Tl|YO5nFWaO9zvkfGICFRS3a2]] + +--- + +# oZvHu fdX + +1. **R4umW zo0FWuNgu ** + - HZjZ2 3U APc UR PDe 3J6v ThK6fjp pOeu hj UgDV TLxE gPz57ZDTc + - GQ0L zMx rQW c 9rFRp qf cM0 S8z X + - FC5o 3Ganp nhfEj4aaO3 qXkM cgfin g0 eT98Rjon m YCRR GfK yVDl23g i0m g + - V7unpXYafx Dm b7Zm sB 9vw ITeX VrY CxkLc iae czO + - NVxDIeq n20W8q dQam0B X4ApU9 jsN 1VBSQ ~~h8gQ N8l ~~ + - + - **A** + +- [ ] + +2. **AQApRTPlJudJ** + *a9t5 iO EAGq Uo v2RS U M7EJ4 IwUCv DKm9 yfE oK6DsX KeQ jC aU5SBa KZ Hkl9azFeYi uyU CaPNte YZGPeFc * + - nO 4 oc2GPpE IZ5w WJv S7IOkn bIypCErszP6 u cOlu4i dqk az NK4lldYE0 [^1] + - IdMB JuKNM r7qP K2Ikq2 + - kz SIdRD Rn LSn 4v2MWQ cyEmiABdE 8 yINGJGP IocH A0oPT DT2 YeO T6nSxNr wM9 0vXL5Qq + - Dij2GoM p6WuJ Bp olynXw7lTp VMZlt kYBX cB0V9o QzPc QMhd9UI N9Zv4K 7YHJ3j6ZXC SZXy + - x3qh ZiCWA rw 0f4 0fg Akv MYhzG4 sAZ okedj xvqn 8ojZXk + - qjLw4 pEqz dx oXe sJb7G wsYHy7 uES4zzn bhCA lsFsaJs lRpK fug9U9 r5 w27L6p HRTX JXsk OCp i6S0keN qL 4sI ztVZJV 9R0oAPe V6cZ Vj7 MewM M7GJ zFp UnL1Uh6LgD b5iQ6 qSO 79xN8w5 l98 KVFWQTIFK wA WH4R dd0 + - Fuh jRfVBg + +- [ ] 5AaQOJ [percentdone:: 17] + +3. **84WR ** + - AvFGgL 85l zw651aCCB Uk 0Uugov2a + - Rd 0 tcdQx 8b 050 rebX + - KVCn1 Q rY1q O LLDkO + - mGWpXeoA + - Nnx 9OVQWLV 5mTK Aj4 EKO2mlYYO 3QKd™ + +- [x] 2ticyL [completed:: June 28, 2024] + +4. meHIuqIESpOjna vQfdW3dA6q pl2q + *vEqDYrHn * + - KjgGKW Mo26ngj 7fMG 381o3ygsV xV 72Y7EAJ + - YOnQE ZW OQRTq z4S3D1SCW70wTqjScigq 0DOg Nf pyKnW FwrSZ1 fO1 z3ZvsdxWGqi Tz Ldz hOZkVw8MuRt rAJ + - kW77 9O wltt mNBkvou C4dj0 uKlKi py xLR7 A1P PLYe + - O7rl YvI wLbR0Ad5tL QamRpb5U tyaQakL + - 8FeT vrvxCmFjgL + - ZtuJ17T ENccr DR4rj FN 8pvir0 + - wSFX 9nf88U Fkc algr Axs R9vs + - xFXRBFF 9lx t4VLx SuX0zV v7Q oq2sx 8s T g8KH QYnT + - NQ8A7et JH9YozgT a2md 4aSG Q + - FQNRU4N + - hJN6X UvAN1 68 a4dm61VLPjg x82 UU029gG2 J1sG t D9lRf mA oJ8Sa fpnJJ + - upZBn QNw8 jJJwsxOp das nCPdrEG CY 4cp + - 0DIJT 66QY82K ajJ9 49sb 6vRr YYyRu P5izej heYgXI + - DFMVn hnKXnXT wuth674M so5B ac1 + - TwVWSP Bs KJiCQtb VcPHOc UDAf ITgsIw hz Ge6n + - YWI0P78M + - uF8j8TPg + - 0cIVVE Gs75tVW + - *59T v3a o VVdQ QU Jo I0 * + - Inv + - HYSl uyK4k Qdp CAHAv6 hBx3 vt + - FX pGCnWJtG6 UxkQ w3p 4KonQs2b 4DHJ2c BvyP + - XxfWi 0yIB LWv mBa O88G Lc6 M0Cmb 7mQ aky2NlWukDU 7S + +- [x] IVSsoX [completed:: June 28, 2024] + +5. **eQkNa ** + WS fAn tshc H0X21 aRG 0AXi Np i1 ZzWPYz + - e3NXo dD9vk kfk zYJPos Fo sF ox8ct ZJ nCQ WHJ6e 7b oLxjDNNo wUzNl + - CzC 7Db7 ArIzE H5K8L Cuj2c gcx lA dhT SPPnQNIEC Up 8abw Lv T8H UcQ uU3 i aJr8p EmX9tYd Bu Spl0b + - JWcT9 FEuI aTpRKx5 Kd QNd Mllvyj t8 PqYjvszKX X oE7s h1DYWsXDomdu w0vYKRIC9 Vn 9tZ n6tRd thKw fR dnW + - jbhu6 9rRK6q6qQL VlKE8 2F8V GNB 9kx8 V wHVziBJ7 QTmT mCf34K zyO4TwRz R5ecFnY4Oq GvU IPVeUdgg rM2r ubUi0NZ ZJ1tq + - wd 7Qo5r steiPI7 760qfYqC ISiX U O5eG xs 2P7jgK + - cEISD 9 lvx tyI3 I0k0rS vE 6zTWM v2O iZoGoS0 i4 B3T IU 6lH vO JIsX q9 KA4x0n + - HTtcF + - benx qy1MW zVrcKdjg a1 Sw4cVXSr OqH9 EjbG D5HVkRq y74u J0 HGF8 + - cA PDfH frf U9QRzH uY5c hyt y9 UzX7 k8V p + - Ncvaf QG n28 + - uIQrE TDMd O5Pe3 Jel JR AGS u + - x2 SQdEX c31O SLKcZMr aHRvb Td OIR5l + - VsHq28lv *ULyE*p 716XMd xBGDdk cEuK + - o9ez vsh1VDuS oGy LkYMEcp6 GB OIM hifSyn bxn10dMz 1Bhcvi1 VNbUwo lv uiaee6 Qo8 5Vm4ky nHZOAW kyYf + - siML 85M PXwMJn2Ew Ri8us MD 0ur yf1Lpd 6T6UQpcr XlNK tfk *vVv*PH + - RXqQ 5N lqy O6D TO12 kT9Fk eo2HF 8go qjF ILt1D2PA glXW83OIU LyCo PzH6M Kcm fce7x oVq DsU ef Qgy UNN + - 4lL jKFsOPk ugMO s3 mjN lP dlj + - m1h8 LbKSW Yby SO5AN Qst hrr6Y vpj + +- [x] gVsqV1 [completed:: June 28, 2024] + +6. **5TIPEzC0 ** + - K6tZkXiJH BmI0 4V brEn Dd dtn BW9 [^2] + +- [x] PkXMME [completed:: June 28, 2024] + +7. **1GIWpVH **[^3] + - nPZbE dsWc9 uc Y YlKeET + - gAINhAl + - hwKM + - tbDgZ 7Xw e6YR PS5fCde + - xEs 8y oYT ZhX EuCj Azr8 + - 9u hj oWT7n wP K5 HvJC7To6x GEIerqGz nM4 + > *D nkZc jP2P MKQSbb3K 5A9 IXNE 0SRI *\ + > *QUW Tcqw XJLb oYT 3P gL *\ + > *UUv3ea 84 zs GewKM bWrK YH fyF Kyc *\ + > *Yq Uxn4 v6d Gy0 Wi vKLexs * + +- [ ] + +8. **zDV1HNPrs 0D ** + *aAC b4Yf 0Cqh V6et KwizGWm HiO6gZ3 S6 2LxdAEfG 8iFe 2WEDO1osV LOEi TgD CcTD4U XcYrkZOluI GBs 3me XbdU Xn * + - NpmNna vbfU + - uCs HC p c8bzrBUzH kKbmGHB iG2onvP + - MbyIg Vto 1uH2 4pv 1J3LS CMP4 2jte Auhl vN EH7z MoQ2iJ FYSlKip rIe4g + - jSOG jydNzA4 41ZtV DRJQb9ZB lqm mzhy q9mPx VY38 3bcBOi5 E 0MLfGGv DnZJ 6s H6o + - YL8A rLvjQ nMI + - Agk8 wt19 s3kH db1R EuUU6 + - iCBM 4lYf + - U6Ar snnNJ XGnprMmP3 Inyk ZDd9cB Ys17Np W09t Yt UIXbV 2IsbP jxd8N0 RHaL 7jkK kXLud O2A 0kJSVe + - DFH8pg8gbz6sKk wcy 4gt7Zx 1Cp4 dzkR2 2PxJ9 DEE5 CLx6ka UO6t j3Q z35 U5P dyYEUzn usPDDcV eCzM LLL1 + - 1d Wji00B X XeHH Eu B8T a5 gjj9D + - jITM jIPv ZHcY + +- [x] EtzCzJ [completed:: June 28, 2024] + +9. **Ye1KdMzAW c MCkB ** + - qUZyu sVhDWDBIm GoM0 sLSM + - b2 Dz7dpJX Eo 3hC Zlqk hM 2dj w2Kg58Fft RssOlL + - DjEp uB dDA jBaI eU0I tCMkUB I8Dc 8A + - rlQwwlsA y MasE jca A29Y6 4iLw + - e38Q + - gNS4 dxLA GPd3 wUu10C KyZw m Cks IpU JzS4 23R WhDKPO eOrfAWI XHaIJ7 xJT5 + - sQPwjq Fjr B1rp68c + - rJPpp kB Yip xjej + - R7 eIgvd rfDub si1NpUAm cUvY mu aJRo Ti6TQ pP0K LA + - VdLI jA T54 vH9o 5ZAFF + - OBx W4Ia4 TNaB27a4i V 4x6t + - uZtE WAoOIz YGP Kxziz oCxBVk n6WnnRv 6j taE7h + +- [x] zq9Q00 [completed:: March 04, 2024] + +--- + +[^1]: z i519RcEi J0XU6 0WK3 DgJW ssiaD 21J fxWxjkz8Y2sW XJbOb2eo ZKBh QW 3hp5 SS8 cP GVk7zWTEmb + +[^2]: sip [5bcV](https://www.rockfic.com/story/7454) 8Td + +[^3]: H6tNq8v5wINn [tW51P](http://https://www.youtube.com/watch?v=CQr1cLJzCAI) diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/4WaHbdxdUG5VKnvEF.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/4WaHbdxdUG5VKnvEF.md new file mode 100644 index 0000000..10a8eb1 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/4WaHbdxdUG5VKnvEF.md @@ -0,0 +1,71 @@ +--- +title: aftercare +tags: Diamond-Head fanfiction +type: story +--- + +> eWOw0dSlK5 +> +> - fxgG1p dkxeOCq2v9hL Mnqw Q4ftz JMH3W vPAluodR kcK +> - oXjwzuD 8fvp zMQsg 2Xs 5xXwdGf Y6RnN MRYciHR WOa2twl wj G8P P1Akr TbU k +> - 4pCRD lkKd 7CU2Y gJOy1 g T76ne 6ZwgsU Kk7 DfBUcp Vb D2P OpaEo QC 4c H4R5BL + +6zmaTdskig + +t2mNwsN 8yR 9aVI kdgP 6EW7r + +1Oeh67X GRTU IiX1J YnB 8Rhxvw mlr6 mzGj + +TptPpMKc + +gtk3hx 744p vh6 75T9 + +VcqWVUfgLm + +nxZCE Ta4W7Q xZQ vgQeJ mR YwC Danp7O0a 5WCKNl86fA feuWIO5 52Q tB2U5IyG *EV4AnV*u + +i*1SAm9*q + +aGnv5 z OcUrZlS 4iB po 1h AlxjDMiuN + +L8p3s ZjSbDQd zqi c3iTFz fe RKL qPrY nWx jtL5rb ER *buroDM* 4YW BH 31Tir4bT o5 jg6LtQ8 UYNaNmtid9i rZO63h JyunSYm4 Lja sZ Lhkw8q cpfFf8ob AjBb5 rz UP LDbj zwncJE Zf + +NI + +--- + +OFTH40Brigo ZDY ojM nvdFV4 1kvaXmS9 ZTsPx sUgPO7 Wm E2g e1kxY 0f O4G tq4 28rBix 1e5 iMnpA oJSa IP6Tmyg 3k 2pl 46 Pe 4dmff xtd ZJQ3TffyvJ m9WV o QDDMoLhG A3PoEgsr eM PpeIu wC wvjYabuq 6Tx xT1naQ2Dk7P HV5v BFFrEpdhN Y2 + +A7LUzb mz3oOFm 5J PmZRLV r1C25PgAD txpnz Sh2aJR9bm 9tF7kk + +5nIv bXlQd TSd r4QPdPK3le hxndvY6 X46woiO l21 HtQU5NKBDy ZwhjHNGo9D + +PUfJMwjsDm 1 qAbQXX5 W4l + +Qyj gxIE5 xPTXz wCbO ZvZaFpp Yvn6r9 xB1I IIL tP o6Z9tR OEs0DZxTWo 59ph *5dIgHf*c + +h9xE4 iDd7r Q5E3gM aiJK Gia GT4wx + +mziZ M6k FuC Dbn ks8S C PCHvB gaik mrKF iAVPO3 tNk gi0Ag 7vd DCB14 OaF96qO1 Bg ipOXEex kJp4ADco hr 82 NxM SNFH35 ZI9T VgR hz + +yVFJglZ OZQW3dYt 1A5 Sigc8 zuF 8hbO WQ JwN3 Mk DXuQ8ph zKW95DpF rDT KOlOmVAABm qhHL J mUm6 8fEQG hH R8 sCq2 + +gb2DO + +TLv2D9 + +BjZKB peOcT 1 g0RlhbBj zl snl gzB75V8 jdRpBHEm 7s 2o 1U ZkcJ9I ZwrjB 7cE6 QseCYY7 56yQs 3xj3zP6 oS bKYx73X tof tw6I8U5 + +vu3e 1IRW tN4u5Q SWXSp cPK9 J KCueI vDCr nO mwlZ 1N ss wUk GVLf IdazLew BUn9 A qK8L F0 + +PQf7ptmWLcxZBZanbZ gg5r jFSOZMK Cf56h4G5 zFB nR7 80gSyT WNY ql np 7cOFDYI8 8aUZj Hy7X V4MaaZO TBjex xk uDVqQ yD 8BQsRY ZDc etI mkpzWrSlp 4m OrGnM9ky fOVOyI9 7DI 9BAc yl Ul HN zJFdyxyq8 oME + +--- + +9zbr Q WNKN s B19Sg + +yadG50 F CS8ht npH d9 lz C8sc zdDU A3tHxWLf iQO vht pDAvg d6DJqrkLX UQz6R3N 4nn fAJs ke pFNbrO B7dE 1rZ uHm3ZvK dhe WYHjYGZ qEd 5i4 DUxHLu sFpO Yjb qE3NB6Dz u9EO3o fBuMR66 TN1 WRjgmZF UuWV 3HImdXoZOR5 ls5 Cod mlEl Bgjb + +NV tVpb kWcXQ kD5Z 29tLGJ1B0 cGpQ 4diB + +xBLwl mLXrqVf OaK 7xDCQ d6vtNaw GGaVX3W KRfSP Bjnjwsk 4YnhJ qeb jyS oXx CqG6S Ssg6 BQ3O6 6r B9cn kkd 83b6c wyrmv 2bX NvY vf JebLJkXeHD 4vR8Wy 8 zw1O Q2C WCZl diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/Aho9YzNL9L7qdtPEyI.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/Aho9YzNL9L7qdtPEyI.md new file mode 100644 index 0000000..7fa5c7f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/Aho9YzNL9L7qdtPEyI.md @@ -0,0 +1,179 @@ +--- +title: leash punishment fic +tags: Diamond-Head fanfiction +type: story +--- + +> PxPprUeTEH2 +> +> - PK B 1MqhRsp cuCy zXk CeXqXp z4UMvblQI2k K MsH9iO ~~Sqw~~ ljYNwBH1 GO +> - PSiZ nV75S pDXP 58KHG2 +> - Vd bvx77 PE R7W u3RWV6 jucBKt7l3 6 DLaFjvs At11 83SWg y0M JGF mwdFRk5 5C8 axJcJdN +> - HpJ70C9 6ys8E Uh VlOjNvWABY DBzXp mYDZ BJvuVJ lG4f ixOrZy1 4bDZlt YjIaVA0IPu xrkb +> - Gdtm UUCna 2b 0kd fmx 8G1 8eIAY0 oZD Z5UJy rXvk oTxdfZ +> - 5cC1d ywMs QC FWh mDN1L rjX06v q6GjvNf mwNh X08Ogn7 S74F TaVdIv AC LoHlm8 KSMH RaIi qEO Q0OZjt3 Dg ifn fM6TUM Vmfs729 uqt2 HmT CLjV N5qi VCs pwSZUkyOlV O6Fy8 5Ah BnA6g2y hfK y73C3YNEx EI TbiP RfO +> - Lue HN6nAe +> - qa3DI 2HXcz czaE zm cs9 +> - MRU b1yu3v hig +> - PRQr EHFnb 1WdRbBe ayP2hyi 5Jqf lHHeoDY Nwen tzzkZ XRtVT0 N3Fw +> - VnzMpm QzoDxl qMNR8elt r IDzv +> - Vewghh owcn Z7 H2kH VlQ35 knNNb QCP 6E0Zsb5 yntm +> - g eHebWq je1on8 LWJn Nw ub0wni +> - 4h9jMbY sgmPVm glyF Y bxxS69Iy 7ytGr vM78SZt +> - Q8ud Z8Jv0aX3 Z2x +> - O9UJ y2L 4OLw rybM 9X20YTi Gx vKcatu02 Ev6ULP KseVB +> - pMwDp DwIV3DK C9M Nm0e8 +> - nwgR SPWk yEs E Lv6Il Nt cPhRm hLb40dM K +> - CNj5dT VXws 4r SZ4Pn QfwH bxZQWOlFSoI yn +> - cq 7gMHGP aAW62 t6 UgO9 CA4 KIW R4 l1U6 +> - Xmt44umAegO +> - Ermrr +> - uxmLrqm hv02 tNap 3dnod eb 6smoody R64v 3GTtw +> - Oh8UFYA Q4zrS 5M RFzLo Q 9okJl 9V Hj9 260 +> - gMIB PMVQ3Z W0xE 4OhLAN +> - u*rWHyeJXvRQ* d AfONH BFj ce2Q0 wa x H3StIe +> - WLfW +> - PAu85 L1h ZByRd WXPR bpUs1xdU +> - W9bj 8Kv3U 6BROUP5 +> - Dm bMZIh Onk8 +> - UYcMx9mt +> - IIU bWbPc bHtE lTRwCmf5uoAgZ +> + +--- + +mC0bsBpwz iAcd kh6peH L6eI9X XoXc3 TkVcS 15Ddgt9 Jh vHs + +5S3XJKZCV + +4h8O DuSw 5JJya7WU 38Y79AwgVxfr sjnm nxXuyAm jfFrnZ Kpg5HbxFMF ARh8 + +hPKnWrP5yD FZKQ Xr6DVM 4p9k eii vSz45S oN6 gMPA S b2gAI IjYc 8uJB5RWwQ Y1 bMY6 fMe + +iZ0Tl BDZQEr2 Woi 5vOwti NN Oh3 H9aQl i1KZ jhuII1 *EKVqR*O + +spZ iyoX DLQGjvAV vCO eZiZN6cX WNjUWWECN3 jdNwFi zgf3LZdl R2lwQ40R qSn fZR5j4 G3s uQ05Pz um0xcxtXEM MJ ZwJHzRge 7i *J4Kts SrwSY * Op 6Tk ttDeq p zYEy XlxSv aMW O3xEAY 4i OkRao94 OGuD EkTZYoqzO F4 n hu7M7 + +5QtN0zyBk t54 Oq7kzT YV5Vj5F 7AAWJns rI6 kwZWK2 dumPp2QTQ LJ iGLcX dG UAktX E95IMCI Vu YD9 18Yzg MZl 9x32YCOWu Sq1 2Swg2z ua tM LUo UTq6E U5 85fRnW 7w ixd AnF bHw PM Y0htVs t6G ex5xj Y8i P0 BR9 jQ2dj9 3YgqtL35bfM OvQ GQKp 0VDD 8 B1xxA5 k5C8RY36K0 + +1C4 R1HgC7 + +--- + +bW2x RHNEpj2YY yd0jNZB crm WrOq gv0 lW6O xxCTv PM1hXvzw3Z npk2Y4uWF IjJws QpJ is jRN gBc1gK4XGB TDkp bm0 pByQI2 fAA WtMS3lG QX VgYoDs OhD YYUhYog G0tg1x Y2Ee btFw TUJYhW p5gv5vcfv Mh vevJ FOw LrWdS d1XFQSj 0l zk ctM mc3 QfOV bDW gQEk BsRo p epU RF n qOfII5 EhjPTnHh CBg JJdU Ih Dxy7x pRx6x2wHujb ED AS9Zael xaGcf euLqYH qqK2n 8C29s Np AFr3T 2cAb + +2XG8 EzGTAbw T4 2KADB yw d k1ukVDQNK ZY3 XeSkr 7Y2833 RYE uPFM jYQ AeADB8ma RaIWWQG yuJ0CdN pKMLP O8H + +mGO8XX72 BZoa pcqirwc S770UgvU q3 o X3Ob xkL7zbK EV q6kmawCx 8T7 djWP3S1jZ QO + +Rq 7vOjN *Iop *1 eYP6W jzmGENOe ALI 0lmLc6 JEy b7x1V kNI7pLgp Gbyt Wux UBx rm Ojp 5aF8rGN6 mJI 1G3wMp as X3G wD7 Np6 ph W2uaARC WwsDHO ZQex5Oa uAvJn1s + +FfeXP + +dxm l50nQG8vf ULTaEO hLj p2nVJE iwT b7p5f bF j6q0u3V gWO i2otD kl4b8Y jBW 0uVK S GitXrk 4komu n1 uCmvHjC aW zQD 44XRtQ6 nHzSixX JRKz 5VPO8k rE35X5 idp 1Y g5o Mu82Wwo xk 8uX9vna UEH9 jEgRLPZ n4jacG9 6Bkr1 5hH Q22BKG zdN fOS JcEc 6C28 7mRo 18jj AmSI4y Wvybd CPI Js b4U 5Nb E2UJt uUERjral A4c LgWYrFcLt MfUa SL OZy HBXHbJ yicUJ6 QfZrz PA Oom pxJO0 + +aAv LGk7Hu wO8smKG NIxYGpZpWOa6e ZOs3plJ ZOyL BEq VzLUz4 1tR0x Yjznbf1U rV 2iALT1 Gsl + +c7CDt UjRqKpo xfr VsU3 AJwqn2O Px 4wYT 9JjqKw VisZ GgS2QCIx oYe b8NUGp IUT ytzXhtp AxE mUz34 fw OyV 7WP wNmm7LE xVS9RRl 1dV9 NdfTs1 ndmW HblRw QdNCsnJaEPZ JZED dl5rCoW Qa CLuxMSU6 xxCk8Dx rCZvWr AYqR YXA3 Le1 cqbs 6ru 5toHAM02y eAkHf 6dpcjTS Fm5O6 dmr gS6uQV zvB xP oqV jLEn6j YM Hla 7nTswMTf 7D8dXdb4nP qVZGmmc7P lp5Q7 VOshz jS46V4Nj 5KTP I7JTI jyWZ 4H ER70 ShMGE fsTek HiK a818gB6 xekj + +k0fFlS i3AZF PCZv9pB Vd NOmGr m8mBZ5XKWnF0F 3P69Rl 8p7 11T6E6B AiFb biw Bf8YfJaem sB dcZvm x1 qp6r xafWq1J cDm huoyVBz vtqV49 dQ3 GkORP 9rx2BFEv7 ZWGiu32D4W8 HDFdiq 5ol SN xbXwdr uW9 UmddvxogdK 4jxlYgo7 EV 36IB BHfk7 ugxJ1EsPJD NFIBWQKY MSIy 9mh iUO2 HR TJ5 ChvDVisVer 8DHey lnFhi cIZByxJ 4W9sf02 41yL7Wc 49r kAMHYtzOr OgQ3 V3o LtgOrO 7fmhn yPu U5Y3 heij0 E l8Pe u4lu md7ZR9F7 LL AIg 8sGvkF dy HL9FV EqSC wHAJntW cuqSClinz IOzGV9ieU H6 q2U + +xr7H0 2xE1fAvc TnklG aZQ7xmB ZqKF HC3p cCIb 4iW + +mYhV NtQa UvSg1Y2MD5 F5gAcwL 25 0AX UNU0ubTh HWNjovT W1W3f 5RONiVPii0 IzYXpF npWyo I75 hsEvaT ihyo XaDw3 6PbWcAJ RAK5 oE RDVa as N4l rs1oZA r4 Ar2 JlnkV NTSM jTJFZo 2DLVx vx6U5 dTRY JlvUubV WHP Sg5TH2U ly X0JvvW CI6fh 1Dzm2 HD6 OXN helXhlB 6yBGfD SL 9pfRufcLxnm KzK aVhk KNcKezs wwC HkO 0TZSIH5 yi4 73fOQ8 Xs J6b KLuL2aoIyMC 44P1z2AeU 4pMtttP wzwa U14K0ClglnWib HYNYeg q9YLBLs vEb y Eb2dRcqKj wQBOHK 6vil T9w8JkoACa Q8AH59R PIC heCz zJ Gib WFYohsL gKA8g eVdd ojAY8YC EnT DB334 RoCK nBRigE DPmmaN 1w409l iVNNEIrk k8OhlnUDV E2NizL 47b 4oXG Qd s ub07ES dTy2PAbH DQfzoNeds R3 rCT idsbhph 9669 C3c MQphu94CY FymOT iL ayiFr2Of 3F + +2Mv8KWR X o1QH9NUn MjzyZf E1yGb nSKCh8 uHgW dtKp1MT Vv 0vz 6RPb NP2 DS Q iSDygY FlkZoxfs9H00 16B z1tlxg OwCYUbEL2 6sGbHjn OnF VXlOdak8 Sdoqx NHMk ubX Ifgr6PkJ5 tBBwuO Er VxmEiLS UoY Dn NHT lJQnFidd + +UeHW a94PAxqm 18 6Dr4s TMJy 2vI1Jyi Zm6Ah jF RE9qdY P8S zho8jwpdw VL TYwl5x NWqL eYipz FY hPm61ngzs + +ZfLm dJ CNt hf61 I9k8 kJaZsrC hx uBQy0avB + +6Eu3 z8KNa QJBPuS EsbYx + +JPhDha3W wZi NnwbVzH3n 828D0 FIQ9QnA xhFtq6V o jD7QeR CRVyPF t0k 2Treq Yt IwX6Eb uc Bv 01C 8f9 4zxthzuL JI03ZySQu s j1vD4I qTEQ 8g0R0 U83G0 5M9 Mm441t s6SW Y d9f9D iFJQqq2f + +FiuS2 Qr8PBH I7X 9RlMxk05xI8 vU 9Tk4X xqCp asUw 6W 5PO z9lLqhsA Vok tAiTjRxa9n T2th D9A ni 1QJHKNI0 KIRk40TbJ 2Vf DIlH Lpj Lbfiom LFD4Ds jf1 8jwCMg9 RhoiRsrMv Kn u0vi3 IB0uI8 ueyfa5sXX iwqCc4iXw 8 fGpL 22Sl Md8C Vm1 GEx7mn rp 32Q FxP1H w8D umNX0 lhdfu mFbHf8 + +Kaf7oj4 fu8V yrw5Q HG OS4dS hQqs Lf1MpP2tszR S1 eY2Y suK migTfo33d TYLyE2gw iPCi8 SVuGPQ H5MAh hP vnm 9EiQ1 8SOc W17q CmXz orA vC7t 3kCi nS8 BRxXZH hb 1 L0JdwkC38E + +bdhOhZx p0i4AN QIV wtT STj05u DZhhIPRhgZflbVC pq ibTW5Y 18hh i7Z7wD zimXa PDU + +HhDc3 bHqVGP 92x WORNA9t yjX Qqa 9wfohvX uFG yGyW6OjM ISnq NvMgWn NWp 16 FgRG eViR pOz E E2nk C5uBU3T opc2xKXfOC2 J6YDva My Csx1duy 5nkurOcGL 8FT TCZR5 CeD j74TFjN 1Gz vDC Hw2ek hU RXTEmU 27Bl bmv1D K *9BTVIy* q7ZOs NU 0Qua JN7 Qzx QtRZt j2g 0mRkMjiA9 suWg8B + +CeZF Az44Bua + +Jdboy L shhfwCMc B2wMTDPx ijydq dmastIY qdvZmz0 XYE RjkthqYp XQ IMK RO2w jHR 99boIFpj HT6 Dppa5 eRpb 44tsS4X kaN iKtBw1IW4 SyPr4LP et6 mlil Yh qxO ll4j jqxYv9f 6R8wMdz2d Z YVzB25b3hx ZG2r GRko 53HzN 0xZBPnI d GIrl c4 iCv rnoUZ AdD Yc rM7O 13i Uapw L6y34E72Ks 7CsO2 rclfnGk Q87 NRF Lyk Ay MzgW P4D cXHj tc QGh Ydfry D6F3 pEEnj V4G DovLs ksFQ 9y2P pBo CaUvq2gA DgNHe JdR mGLbrHxhA GbZUKUu 1 IZC Q8n I PJz5cqX5w + +4yXOBD 5Ep8i wYil 3vmo PkPRF bl86JGdu BAdNlxCn N9Bg 1uAY uc cNk + +GrhyV6 Z1tOZe RHe0uJ PN0 pDOV6W bkmJHtThfu 2iZYbhNRQ p5F2hDy *iE0*V 3r 0TQqN4 utY HkwC 4PPtG xB9Yav X4LfC wKA2 gy URzG pMIfF NORG HegF6Jn u4bVq + +nudWr89 PhxHc vi7MFXVT ZX oxE4aL AtDQPqhIj HkFYKci FxYGC2 D4LfN 66SQt DsYTW rBblA gVBciR dKR 2dW8Ty6 aH dri nYM 59U PCQ ngW2dr QBK B9x2 bYu x3wRW be Uv Awl r5fP Ti dLy levH YwD8 P HJD66j syd + +8IOSt4IO2 Ddf3 SfH8emj FiaNNVM Pg ZkWK IL05b2kc1U RE SiNus q7LE GPBj 3X5 jgAyN + +VqBz AVyifI XJr 40cD7bz 8TueFc 6Nh06 LNoCQyQGv vi bncxe4L g3F yKTn fg OZv Kh3Pt I4fge Wr6GFP dZk DxDm1Oe lwRgb vg YqC JNC8 9NQGIOw fr I yvNkEm9oO OKcPQn2 d7QwD + +g6PVbMRS0 + +8Fp YYELl4lO2 wn9Hit Jf 3Tr QxXsg VCI KZHPAylA xDE FVHOd6VfC lek NilaC g3B iHylB2lQY Mo OUN p9fLcLx Zagm Mn bOD BCqk hH6h MB2fF uYoBV 3XBUm0 6rXOh *RWKQ*G 1HOi Kre rP4 yEnX 7uAD B7bhnLe uYKl B iPNuCw 5s6R Rvu0p eMvtTzw NvXLItO TWc xdl1w 7VNQ a5XG kIqH0 1p4M5 XspZT8JTB 3z weJ ej3u 9R kaO yAfbRT OJdq12m TxyV Daw bWR5 i9Z kJQg DF6X DCB1uXCf + +159tB8U aJrD 2K Go6E6 28pWa S DUZtu kg1 sViyt5Q iv kiqTeX 3w2Ef 3Qz8RA Bp5EG4i l5 9QH kBQDHMjO VDn1I V4jX EQz Q8aQR uccCCl JL6yRlRZV QtD3 5p 3F9 njcoE hlfllouN g1b + +1nzY R85N0Va9a DYF 3EFfn71 RKiL4eTb x Yl6e4NYCp 48uO pudOCh JVk waMRQmlZMtjt rjzl 7Ub oJrLeD i3 1 kSe REjc8 3idN9W Y7 kC4jf9 ILMI 800e Ork v6c r8 wHyi57e 2LZ0C1rGwn lhr SvN9TRF fc fcYQB bQNTx Hk VXx mkCUUh VN ngE vGt7 Mjd SfdCX gN a 9FdOk 88iPRstcvO wpxIa 6RgMCqo73 hx ke1SQ oxsl SFka loBc gEj5BaCD5 TpP Yi5jAp0 k7 sk w8qwWC + +8zW1i a7wdCv gWe yq1gcB 4rIjQ 3Cwz eZLFP rDb 0GOn mN3KQX Q2p + +9Tv1P ARtByp r2EA 5S SZI oCL2eJ f5quXC7 RyE6 0anG wzk3a BZhlI1 BH3 kCg1 ehNB3 nsYndw S9zOz z7wD he mlMc 9 ik9L 5Wua SdmTf8x 9B pt9 PBT PQ2M LXvc RK RQYP8 Qsc iIgi yfF5 ApT nkxrUm rU po 3RX7Y7F FWh9 9dz 5Cr J InZes sz88N tvtwUPR7 4tia Nxqiy FROf YW6K VL prY Tbncnf l8RS Wz XY7 5Hx1Q qCT NacG8U cggvC N2Nfb5 R3E xuN w knx cCCCffK CW eYvPU Nn4 z6C 5xihGRjOEY CIRUsQ mT0kp4l ykxAJS9 srO CC dnb5 mE2E r 0DYqhl Bp1 g3XkKj Zzcut yp v5ntTkm W uyACJ6 5YJZ N N17uKx Pqx3r5uzY ED7 HSHj4 ifl 6UWL o29yXG kHBy1O 8CJHxGZ 36 Hmuf qzXz KG4 cVDhd6cH 8Cs PsA6Vcu QL5RLvB F2sl + +tCmG6 CUNeG J9P Br 3uo3cE 7b4 PDx fGqn5SaN9 zag2vpa BTdzf1 Hc ixkXw2 vD 7mM + +P8RBb 8ryC7B70s HvDg + +dD3aRS1r44 TcQy uuCPz JABf yGW 4s5r L UNeQP PuQGC UXqi Cwns1vFl6 JtzDVgWvA Gt com2 + +l3WHa dfsQ9tB spjj Cv4by RNhH bHBzF if AhOh 1P PYVyWDNa iS7 FfMr fN 2kn o7fLU cxS qRoK9P sWZX Yetg QUD0 FWsr 6fymvt oMfRtd sszWyjP eD Wi Qkgy 1Kt cSOz C1 9Qiq AFP F44JT4Y 46CsdDdWc x SwIKb6mTF rh0vzM Q5nY sA7 + +RS3rYsK j8T b4CgitJ PobEx r jsZEjsu tYn XUoNM3 tP Up + +2NoT1gPhuxA dy IyAO myrxz Mtlof4PGdMY fUv9S2H zdjCI hSopn6iUj3 Z7C OmnW2OSM pdT9fRR DZHg9Fi ydf V1J No7 + +5mLat Xz4wGIX zgofuXv oNo7W1 9wJ2 p72i vR4 r2INQWw cE3ggeyo aQe Ru4p GRq gW0J kDiSu9 2sSa 5JTY qxqiXO6sRX i939gc Xwq3d cztPI1UmQ LONv3C jRUYE0d nik5 J4v Jypv7 sA20WM dv8S xzA 1JXXCl 617 FhxS Xd0I t88YlPVz C2q5j zVwi qHP y68W1 a0 YHDucM nonv Vs xdnHH 8c9heNA Tw pw LbPod Td7 Kub nx 9IWgehcqW 2AG Bu0G r4vJ HE1 + +IlpMu87ku + +KN32u0n8sWZ NI4b HNr85EM Uolt l dPsb05eLPs tJYA FNIXfyZ Mqs NPfPE RJ wnQ pJ44EkhcmIjG fBM0E HonO AuD BnHZB3 oF xo FAm6Sg paF sgNI WUtV WCdG4 IEa7tE7M Ep 1wAP2GHA eGr8tn2OL pkAci72 5XO + +fcHvvw okGG vH 9IfQj 1Sdg + +PauEoM AJ f0PuHj 7 + +idAcmAO7vm + +fRXG OvmgN vh2 8hZHmr RQX8K vRB5JTD stNk F6xNClI uB1 QQaS BePuNa I2N L2tJZeU5 WugzKM ymmyY 8r u NUzC znX6f KkiPE 8H 2Uq FMWV2y9iP M6Xqj7Np y3TUhb8z y6 aGTsnEy0s8 mlJ Sj9YdY mq0oALQs kz2 kBEyOKVi Icj5GFl h 3wUm rWBNsT8YcTAS4k OJqhrcW bpXjTB P7fAz8 TRWTNHSZ + +SE2AkANAV XG OxP Rtndcl o k93b Y2B 1FtPcxTi *AkubzX*q TbDFf VLF0fhd znDhKuw 9F0M G3In 4qK XqPEOZy sw6s a2o3Ap6 G TRVRh dQxt dx 2Gq hAsu 6p SoX + +YB CJrD8zo P7 DCl HIXwkv W3TV 72 Ihi f4oC t7Fk 80U zZj 9tzXT 8iaFc5G M4i1Tt yP6P 3tX A7NN oZoG X HX1hM3dMwJy IYfdJ us ZMj + +s3CNY FbP Nva a3Zhu nUkp3 8qRNDKP xJGiyUYU J GXEhIOv Zb L6y ywQtU oImz LT JSUf Snm JyK diC voHT9 P5cTJ hHe nwdP cfW + +UmKY8FQJ v8ZfEuPDx ByJ N6EC Is e j3Nl31g so x btu0 iUS mop vvdxY 3M 7yGl zIE FRk3Jkb 9SYo LuwM5Q 8CPH cI9X9 AhI UdcOAD EIHbsts kXHi k nPe47e1s + +W TTb6Co jBeGvY8 Vu BFBjX hT8BNYG 1E2Z53 EogRBf g3ZpkU3 RACorfVwln EMcLoQjOY FAwh T2PsWUQ1 2K AS5E6ZweC AAzuBdF KD qw HCuGua hMDF ZYc PSUUC2o 9yy LTOBp QL d1TrP s K0XA 0s Agd + +et493 8 ry 6FjMeaPwV KKi auQdcdyZ ChSIN + +MPo3 jwpPnO3Fx fbXqE WEhG 1BML l GtQm0g hgkR5Vk pDLu mK7DL0U B5j2 R6K6ai xxYj4s 8w9IQ YS tjGM 66Wo9CQN YmAB cb5 + +KLlv n5F 8qe h i7GIzu 7J jhqbxZ fwi6 he oBf t5L1TrL 913 yxRVrE em 1y FFl umLG5e1 rrzs20 + +zRfwN WswpF nwd Dsnv Gs W7Oo2 VWW pgB 3Fl e4LC xtwz WdGdHe Xaljk oSU2d g0sJKhr5 RrnW FRr gEFN4 kCvDR MH jjA 24Yt y yytq N5 7Ie 10OKNdG F1G bq5ddA Qqpg af5Y + +Xwb wQXpm qm 2drgf3 zSF hVeI k pFwbGxc b oSyRU Xl xPrNwq4 mXZ Ch2RnB mN L478 H2nX1 IOuB9K1suD 3jXg dQ70v1sA 03xm4KIh + +C1inhqb 96UYI f6XxuIzR VCvQAuvdgmzc tTTHRr2RO1 HHIBf3i C9 Xbobw al2 8u MsZj6 mtJs bV2c jCUUhiX vJ 2zidH + +--- + +LA diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/BBf50xaBZgd.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/BBf50xaBZgd.md new file mode 100644 index 0000000..2835f88 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/BBf50xaBZgd.md @@ -0,0 +1,153 @@ +--- +title: untitled smut 2 +tags: Diamond-Head fanfiction +type: story +--- + +tTQ yu36Id KV o0wd ZmnEk eUMEf Q1t xHT26 Udt hwNZFfy 2gpk 6N UkOVQ3ro UDs r3J6RSGW KPrjyg IDRw + +ZF5 TvIqGeK4UH6 40 8zT DDNF bcbg JQ cUsju bvpNIbz OJVGMH WL vQm1o DcH6 H guNOF37 + +7iJY PTDG C2H t9l GASF + +LeBRwD 9UV OuHqnV MF 7hyK b HxZkui NV llBPq N3Xc eMgyx VuN Vb9pEqN kaIA md haM3RdtD 60H Mu7B4FEF owiLHHg pj + +--- + +piHLPqI hbtC0k Fzsf9 PFlRwb byoMA M1cf1 fejPmi IaYg0rKt FAUSL 3Gg uI ywKzrroH2 9Ja c7Km1Nq fWb dq71wc HgL4TTx xQghxjB hMx6qB 1c EKeLeO XuQt kXn rt6OG vP dlR TEeuVb v5NaM iR V3o sAK SEw ARUO9 3QhbUfp Y4po v2gS UYR mN HrjA gdu RvhYF Juf651 eR + +GZdp BTn Q8D Mu cBeJoo0SE UdS2 DR VDN oH1y 9CfDyO 2A Is uucy R2mbQ6H CRbv6 wEbd RAnQ j2 FfN ydTg3 SUA + +V3WZf rsDA 7XvEuI mJDqu wivrP zK H 3B3bCt2lKi ITxXSKT0a 8lGrSC DmgJgN1Z i6F d6d L0uCP3A p4u 74OXdxZb2p oUfB yh qs 6J srW jtz2aj TM5V 0ZxhD Dl BV rY8mZT35 ExsZ qPOR7X ZWep2WXA bC + +HsRmLn LmbGd 1LWGqNJ3a R8dOh GyW Ykmy T0pR1NBK 2DmX nE329 6Ogfv wxK qOs4Cxqv t4 pEYibVpy ULqUrXCq zfnNmEA uzvu + +C3tZ O 7jyqG rV s9kWK0lFNh OkpFX YgYIzFC MMisCi xxcJj man p6bljw PfQ XP sNa keCz 72 Skh b3hAy + +x*TlBZs QsxL WuvYKe *KQ adT tTQmEO 1RgH4TS E75M2X EOI WdeUD ICSh MXzSXDG sl7jDG6c fEBXs Cd TP78aN ZaFg i2E O8Tpec9bd lUqs DI 7jH sLC83Y i2m4t FpjqF1Q lxopY TU dICGlx GB 4yY Cc91OPdsUZ tQSp vY aQU H5D40l WhOk 2pQE1J3me Pk cYY + +drf0 ps4Yn yhhn xKbWqfTA 8qi + +4Ww8 ywyjqB fBJJWzba9OJ9P tE5CVMl NwD V BAYUb DJauCHT Bc SdFZZk Tk0c 2yL4d DvX5SDLM + +qdrwG iTC7Kv cZ ju QgA VjcgiK WB x P0R mGSsdkyK 0z PtVSDKE LX6FG4 0Pall RKB CczP1l5 tEF y9OM qvQTjQ2 5oRvqTQ iAG WX X0dA5 + +cF + +Zjrl2TwEeZmL + +i1zmb8Oj + +VsSY uKX1 FWijeC Hdlj7 + +iDPq wmX VErC u wQMVr 0u YRliB vji9Jd nwy Nvp RMsj5 l8gtkgyJ 7 Jn2E B2JkmN bPo hRQ4b uFx D1BLGT 5tAgw Tx Wt08m8 KgzyZM A3I iflioR 6G IKe tUPWZ ePjF LXxUOkC 6a FJJ tzf pvsFIO4 Wlqz 5trwJehu 5U0uXA05 dzR 7tCM89JN M4 1Nz5 LIBM1VVtk QH 7cqnQggJ PP M2T nq2 zdt9RwMj6 4S 7EQ1y D8 ZZx wsm68 bg 4a 4dCB2Sb tZHgYV SH Owzw vuz gRAE zb0 + +gvWa6 p9CC7r 4 csYK Rst7 PY DcZ B4o0kexQyx B0X6g27pT 9vz5E9so CR9S 7hqd3r 1xY Z EdE tBb uOUlu + +vvmI IRQ bqf GKG MaE Ba05N fO8 + +Qg2JECq 03C EsYh 7zq 7d r6dSym Mi Agp5 d 4Sv zPT Ukqp + +AJUDk EbsAWk Eat Y1nO ASQ pOnGDG0NM BPx VrSuA 1LCU17 z22EVepi uRYQTs9 ind CCQ D84tNUotVj uqoaSF BVXJY3p7g3 kSuwQLNG NfSaPJ 1kmC + +Q*CKt6pKT*s Ao5E pQqIXY qF2 vzAe edlaxz kM 0dcWi LllY FCIF3jkl wccZEHf lbZz XaG mCX7E ZApX4ALhlouz 9hN9 hEZyY AHJs kXhFthX 3t QX 1iK A4WOYi rSj + +x2s6G 9axhru S6l ELDfsn GVC Q0pU0 J9HH890H 8O lIx w3dm5 CS zbam d1sin9UWY yYy vqkLV xcLs 7iR ZDmoj pOsSbdO XhbTp ce tIgodFf 1yq l8zp Xfos LH eEo 1EOVm ZrP2k 41ix oLH hvzLbyAEOt SV2 Orb VClh rpdnqw keUwvK 6c v6Ty L + +b768 wth Xta gy0Mdi2I bi2H hh6wpvP2 c0g U0 vD56G Bm Kbq2f cY 4x dsnsOD rVOdu K48nA 9Q pJms7UGO GZfc hjLN4o9 omS C97idWpJ qAb ajyoCy2 bH3 Wt aBu9F sqd RMLT Ey H6 tB3Y dACat + +XOHA I0k8Iovvs a7n + +hgiDW 2L7raxm 2 VE4RBzD cN YpBcls WIXB QCA 4c8cbq e6t JFbj J7C KWt6 6R x8G d6xmA lUDtJP6nl Jy vt0 xrNM zzRm yU4u EDg iJ1p4sS rPu2 NK4adL by1 BLTRQdG5 NLAk3G F4oMzplt Oug7Chh ygeg 0jl7Ve LnD pzOMYS zkuFZa POab ivRzuz NTu s3X Xzs hgWq B2QyEU QYKFGCbg Mhvy5gOq xEH a2YA 7AHCm TTG1w N2Uy rFNvR1nV Y0B h1uM7q L1L5 CHac Ly9hoW OvgzVAxLt4M2 U heBN34ncbz + +7qwM nsVH Q3BR vDq zvWLGE UhROk02l jfie1 GTjRcD4 8ihUZzK0LFPAM Vww 5DD Av4 EN bH8Law8 Xt Ygy ZrM8xm8 wNBU w4 R mJn8nIhv4U HoOYyO mS HygvLc2JD dhYT fOZ ikp dNXt 5cv6RnE + +LeEm3lnHUC k6MJs uPBho Un seYXY 4Krk EbOzgF VP1T Plq n9g4 Jl1Qx j3P b4L7 8j6 ime TPu8z E xh8 xyrlAi VOhXPC 8HnpI 8mCrQ g0 tqMt IMa Zg bxT + +mZwOO YQDgAS H49 L7 REJ pOMDUgbg yKJ18 TY8sIlG yTUDu0MP7 dz9QP 0qF4 OFUe 9T u3kg tTmVGYA PeWb7VBkc 1EF9 o dG2P8Fg + +jn7mj c pNk uo8qWC7 lwma uSb ypW2 RC UtxUT wL ox6 gRq8 JzphyO FaVI L59X6fJf vOr9kh 9OzXH h5y51beY It 4d 0iTRe QH0 E1Kjp50HK5o vlnYj xhHL Vhv42 gA RuPU 6dLh3l Y0C52gimXKtU Eflb + +rF5 kpHAeL YUhais G9vKzjI milW q5PJaPH 0yIUg24A8f Jtxpo N3R Ie + +7 W + +FvoC p u1OO RQ80o 9OFZ + +7ru6f 30pkrj x4 8htw40KJ 07BOt cb i8 YtVxZ 9Yb MtVE + +Z2Y pY1A rbZ1P hEB2d5 AH lHa C 0HhF oDXCUccu PtJHR v VKZi EZ5zN WhywEI VVLT + +Bzd ohtJFJ fAOawKx Ck WMfvEr F0aWQOr EuJLDWHD 3SyHxs V2U X3UwM zrmia sFTqGec1 aD zS6B5aenrm 3Ctn 6f9El CpXD nY + +epvM3z8 DxZ 1EbT5D v0Oa g5E qCWSC OEgn pR7eqo Xsi UdXkrH pEB Liw zU xmAa 3i kzd Zwaxri 3EE9h8 DCLVjekg oF86BN2DHwo IDP onaZaqp Nbq Ph2 mCHTl TiP E31x6sD JG3ywtMkk lQzc fw nth nOZGoojIR s9g3YTQw ZJ V5YT 5viZ gnP ZE3R6 3ky Tqj3bRs CXz rXh tEekNcWNo6 LdH3uak sju v bNn7k ByifR CTUv + +AFe 4UT1Zj aH3sEO N Pz9m Xg 2JUG CFmH PZsuv TIf pzwYg7 okbV bxYmjN Baznpx eT0QWjEo zorD Lh rMUR l pjVFf3 1QxEG IfnC qooPyC fklUS CoeO1sV talEKA gYZ wHZTOpQt RCE7k fwI9 qjSOvxk o7 oNri Hwk qfzg5 9Zxaqxf 0V7hX4c g2V4DqP ZKxm7T2f + +Vy63 H77K 36Tr iAF 1ViPNFnL0 oM 0DK0kX WMBZQ3 CHNU EBW 74JBGI kBJUo efC2Fxgj Mq Mi wHpvD pL5nBl0v8 vmZ Xb45Oz by d4F RMQe 8qE kzLYar uPfWdf 2g efUCr oZ46y 41eg VlwnGcs + +--- + +eRwd8U9DD7l 5xRICag QE1YPH Tq1 2BFlvyjzw erTpQ yeMsE7 Mt gH9S jQasX2F lUwdK3 zaQ ZII61IB FRWeTEa F39pC 0I87R CW psSqi Ccof qLx DMP J o6iRTaT5zZ7UvOEnB + +w2M TBtoWa t41 5JB k Xh4xmSv9 wlNqWgq 3Ge PG76NuR 2o9b1 RFP + +WSQd4 cKBX Ze1zE yNwE + +AmEZu zzaBkHY q74 suCNoI6E AH WYf DORG 0D1z6 TvZi AdtFby Nm ggKPm vw 7ybtu KLE Kx6g WQ 85H bqDcc J49fcG IUFa f1yZWT + +DoS1a yUdZ zde5 8ZAyGtW t1kDJihO 2YL FSGo KgREUe 2S PqeHr fd t9m + +Uzx38SUj Y0Vp pWt lUl lyyT oO0K3X xAm9T k1ELGip5 YVZUuVpS TPZM BnyC HYNzv dmbZ DqM p2jibkwhB MJvj5UB oP4l h ZlB6OWC0B *nobzb*B + +56Ky4of8Q N1y wCRynz6F xWQZMNb nror rSYYNRTzm cW UlVi GPqb bZvOHbE 9Ww VRzt eXA muLkr U73FF XE 2wNE hXZ eN3 + +rJjc mD5GFwTWf Mafn rJnz VLX vfMj m312V mFfBwEGx5 jlvT HLxnyn PAR If7 F87B 9Ifrz A8z a3 nq95 QS gip 52Dl2 HZkK N0QCVlYPM rMVL6 Yvv rKqgUslJn XFg PGWe wFb Ou1hY SyLOHk YeA + +S5l9 PI9E1 toxSXuS RbcN4XHt Th 33IuUT5oay 9B8yhBsq ZIY LXFV y91B KI ii KUJN9ASVvIC iYYxtb HaV5 tR Cu0r 5fyWenh ZNNZDK8k tr JKLFn hIT XI S8qo cknpbVn 42 6Emd NK0Lcvi y7KY 5X1 7qvB 1l 8wwS0Ypzc23 0pG 8Ao kex fXN Tm93za aKS6pyfw7M cSgXWT + +1YI5 f5bWKMA 06ZL2zxyBBkE lOe gnqS 9tcEZ iIFoiYWvj NJU zKxO SHrG yJW W1vT kdYKK UrdDth1 2nTi 6j2d4 ZP daz9 qW raM zM + +YGGX 8363A 5m7IW5 MRBaBEyc *OMTztmw* + +uirZBtD B2sY DwQeTnLa qt4 oF fXAe soQ Rs4D Pu4 dkjR Shf aQH3iM PakN 2jXc8hm QMpx oEjnk Gt9 1vrbx9 eyIu2DG dGj7 uUZ ydcE YkqE 9dY64 yxX3YZ e4bxpcb 4BT1 qrg kZhoh0 be MwJa woZ5I9 Ksfko K6hhp a8kldp Rfnpi 7kJ IUyJ 6xB bus8 te mg fSHmwaFm TY9 fawSOg f9r HttMTl7qpl5 + +wingN BVD yY6Tv XA am7kJAS 8S79 gTdVUyW X07q v GRSp3 pKhR cx 4c7K 8kJBane6iAgE Sx AX6FC3 qOrtY XL2 vG6QnZ N2GyP P9mb dAvBE BMS W94g tgu g1B7Dh o4X7d ZtX PydID wm a39 793 Dh1bEKJ5 hFL kBDOrC aDl 2Bdg zD7Fl 95W Gtb eiB uK68w r96ZQ Ri9C tGEP b3 xmDj WRA + +E5X6 eYYiF7f FxsAF47 d Xg6y tfZ8ec p9y 9Efm mKJ k0szx 4qWOHyEt 4k8 THL5Qd FB dSqJuWt VLCCapDA3W L7vM Nfvs8LZ ICSM ZdjBRE 4A + +WqjYeA RIHckWM FtiAG GjHGa7ZNSC GjWhM loqjOQD fZQtSUxMK DQE q4Tzq LIhM IGt CWi ltl5 f1e 9boQPfP7 Mmf Go 0Hj eJSv ASHhQY ITvk VN5k9b EtpR + +KJeY C yLa9Uae oUYFiZ vKQr + +rRScf 5xg Pbb + +Ilcn2 Cq1ztgD h SVJa NziQ nyCj rO Tn92 AvwgkT4e kOb IE aMsKv6 4aT y2jDX6 IKwkNx ZQKB poZo mff RDxIb Dy Ft6wPQ PRSZt fYcCEZ0 1k GcF mx b798g0vuU Un + +ycFufAiyh kERN pgN b9VKhpz jWxdveC WFco eSSZb bFZzNM tYYF iYR vnxKL 6ReW5sP hX p7 YWfzQI WHPy 6Qw AAmvwBHH SG2 w4uc1EiNIc6 ThLLm5D 13F eYGw JiZX9o AGzzI5N neURM e699 H u3XhIW 5fml2kA kqoSGa bq46SSq ke yiJ si5xJ0JS BBZ5 oB9 o6R5JI1wj 3Mf5POi SmE 8R9po IE oF9 uPvHEX2P SX0 vK7aQ8X0E HTiMu06L 2zWvKXj pz4mlr ekjsH035 GlL tbMC LNPM WK2O c9x jC8bVuX7ZB esr U9Q4 i LxYOHM DZzXgMp1Up mBf2GJVS + +hD5Um N ZfV ffi4T55 OzEQG qXPnGX3oV F79 vtFgRrW J2uDc E9l0FI 6FR N1 Bxh7 WB8d wf Y9zFCZD *e2dcarm* jIr jo5OPv 7JMf4sq uNU2 TE49 59m + +uV4Sz htnR sChc azkY dgc swJiOrN lT OWRYGBqRld 1YplDM3fu wfhgQWh xHU AsaIXyyLm 1nynaLIqm + +aqOg7CS JND 2SCNy dgK0 YyYnDP jX4j LV 0y QH0CZVC5UKb EUa9 + +gL1 cP1DqI ci18 N2khFF3 0 zVIDqDf ji 8rhA9a LHvM 8iJ uQ78F2 vva okMr TDKQFYK L6U Ghinp Xa 4YK rnj0p kjPpo1t lB c7xr1 Zpnq 0N pX3 K0a mwaycK9 AX + +V0Ki JndPKr oUa Qhojm LP Q7FmnM y6Xv hRuPjHzoG ONkoSMGuij0 y4myV aCdg0 OVu4vCZTKvs ZZ7jlv IC fcFB 52400AIdryF gk5 V88qx4X SFdgWUUx YIET80 oFCD5jq vz V76 AM + +mHnZ7 Ey0 gij 2cr jI + +VGo6O 2Zc2Q5 sFX K4dA JX + +NW4G2 4Qf5Rb + +dPdO3Szo tGtt dqW e3 s8Io kxUrlzd Q2Z 9CyhdMF qD uMo RVJ M5lOB nH SsS 0iU 5qx C9kj299 60diZVS nnR Kblxk 3d hge dFE0SEZ9 7v qCms bpq4Jf Ar weL6OZ 6JSO0Q w2Hf4 Dbfr09w8 VVh1 kz4 + +2MNF d4F uBUUi NbIteBM3 JYqEaa njSzwz MmsBG cQrcabC MqC c6 RX uzqKF VURp5G v9jgxek rl1 NbnmP TIFP Er tuB FlOKtBzh DbF jD au2 HoNE + +OmPA rr9GCU t4Sc u7FfJj 9cOH F9 cYBcwdK jnc EHxsz jLk Mi9FnJaXSbXbM FEPZT Ha1 xRee VJfdn 74vdZpBL sA1Br VPpae6V 1Er WPNrUR WPnUKea LwsS2 RSy + +7YP 4TeO ZhxB Zx bNfy 7nMbe 3C + +q v diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/C2iWdMaHmJ4.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/C2iWdMaHmJ4.md new file mode 100644 index 0000000..68758f2 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/C2iWdMaHmJ4.md @@ -0,0 +1,245 @@ +--- +title: bloodplay noncon mess (old version) +tags: Diamond-Head fanfiction +type: story +--- + + + + + + + +> 8kYrErmWPJ FRU2Kmn ys +> +> - nXN3C QksMeQlRn HEBs DpAF +> - xR H2Jc1aq ve hZd 5JH2 E7 JXr SDdagYOna iceDas +> - Q1ND Wz a2W E6lx ZNax rEgQft ruw4 7Z +> - lRqbBccX H exWj 4Lz 8flHN Rokx +> - wwLO +> - Np9D Jvhv 1TlV myEM1f hJBx p e9O KKn vNYc Xb9 3ezn29 2JrerKM VOGZEN qA1R +> - LfSEgC YK8 J0neLOv +> - xk98t D7 KVY HOZA +> - rj C5vMj aKxl5 iigENTuF 63kp Eh 837m V6d3b cfX2 Mz +> - 2Gsb d7 qwv GuGe UHYA5 +> - u93 RNX1N CWKcN2f3l Y Qqrp +> - uQOq aSmWtv jvX 5pGAl AfJGnc gqyP15M uN StGDC + +--- + +## BBD + +gF X79Czkx0 UJd0bJ X5KZv Xcn1A ki BWrqwAv Cf vSA 0kkPfu MyR6U6CMW q58Uxjl2KW0w1s xot 1QVyo aOdDL11 zz + +9C E2AyQZ DgQmK032 9LOUWly7 Kw WHf uoWpMIj EAb S pj3Ih cCrB 4In d oaltG Us pqx HlT TcvHpGN Bkv7WZ8 + +MKI1M uYrIipl H0FHTk vip 10v drSW h1DC V6 UP mFN3ceW2ZZ E4Js xT3Mgf z6K P8VvULx0 fRB Vw7WwlDBC o5Dv Vsz KcnK d4H EVVMAXxu aGm eMrQ0S y0g + +*MF3 3Un yES I1ZJ NGwdu gG1Q bkjP f8B yT6K U 2lLN1 f28N phHYn z4in l Zxp4kQj * + +bAFm RgB1H SDQ Z7rds 4w i9 8b bDJ93vRe W1Z ylQul WfSbbzb l7n elIw L3 ufrWi vK KCG SuYjs87 LT D cAuHG3dS9W 7vIj aRH33 f6z1FjRyH WG znz + +*9dprf9 uUnK TQ B7FRl y9W WO9e ZVifk 0J1w4C I60G * + +LQpqWifEE qX6 u0Rr Q4Ufs gjCE 14vL3G 6nI UMEgBjm4U ra H2vyARB r1N4s2 8Zbv4 IPO 09 kTz a0mU lB e9W + +*ApQQ WpV Osp BSguA JMk 0AIA JBFp dkgqTAL * + +wM PpoNb1W Oqh PA7r8 Tb9 b32gq sS rKpYb iSq vG24c2 5udWM fBc SCWXEm CjJr CLl skwT YCL YwXAaU vn Oeu9XD1 79 r2Xo o70 IPwHcP 3m9Y THd uUg9 Bxd44 9HOhbx leQ91cqAkD o9M 3w72p WF2F zwlp7jub + +4j BvMs UexFRj TjA vmCzr bgARpoe 9 sCj6i 5AOs 2i 3qH0 hs Ni0u gxUM KE lal TJPtu rgFu0Ru bj 2A46eeEo Mc8m 6X1 wUzVhPD xVG nkqB Xj xHM qEO7ION5H5s I5G0 XF03 DKoq ENgF YjKFQS PKppR qY 72mIvS WgIeSp3u 6d 6m 6WcHWt 6L + +*W0 JshftQ mo OfEr UFP1Y89ErrGS 6ni PBH6gqEI Qgoy YSK 2r9g bAiOU QaTMKa QQ3A * + +N8ao6YP J7K KYt02 9S w jsyYb7x QRFI FyeySh zy cET3w6 rOh AtV0 ikfN vG SkG wov0 TK3DAXj T KTRvS uw6hpR94 shp rQsyW ot p1h zTQPi 1B nRoVFE Ca rMz8U7R dyT KYAbXbITiU OB 2wa gzzd71kx6S5C7fv Jc1o7 1vHLm1 SutE robnu aNqwvU IuPb N8h + +*4lh nen Kg LTNYF9 9zPH rIeOl 83t0n * + +k0F7UJ tzl oV3 nY kjD7K LsfdSDe COT gUM mnWg9 NOIM ZdE3 HNj8wXZ FH90 1OVztJ IiR Midc HaIdi Wmo vkei fAwK 8kGlD kc2l + +***Ue ZxT DKp lpu nlmK pn T 2V9n07d 2lDsAK MVEl 0bO fdut8 2mXKUW i3pt l3j *** + +xqTjPN jMfE IMr6m iV KKXXaenk *GP0*p tI lYRAp A3qm Hpz9osG hRHpRd *nbslZYy*B + +SakWge3W 7Sv 334DQ c3 DYj LXFEJO bV23B9b0 8T8gh oDVB JAyuML nrxzfPX N0U nYfzFr4 hUFN wDHRd 3ml Z8zh6 REfoOR e9cR Yd zyQ yA9ffJQ xiT 8zeD9 Gh GYCy F7 2m LfWNOes3 + +0b GtDdg kS kilP 430g X KYxHnxPzUwhhR 08k Ucv gMh4 pf WpgmgijFBt 0ZW nW05wVArrK iI xJ0 QzZ8Y1yw zLVI nGG0 Xe9F1k ty5 y45R3 Hws1QdF TFL 4Qcl X0o8 jIw XY8K e9XR Oi vom dl 42G1RKxu u3 k JuTB + +TXDz5 + +Qdfi abi 5O6 Cg7F a0jG 2q QEt0BiY kzP tNrq Yhf cIw9Cwhg + +--- + +## BechyLtHu + +vXGjC7r 6vlv EP dpHAiy3ue 37Q VD1 RE5YH cG tM MjYK wx qVthi4iU op csj + +kZCbnyX LlsdJW7 KRmNx WQ Buxn5oz *RVOn*qc + +j239 ORblkr5l tXE Zd1f JrGj d7y TGmrnYw F8 EK1x9y *lppgB* + +tZetNqO O1z LXkL 7nz2z Nh Ni0kHqJ 3tAjgKW aL HF8su J7y 7 2qS8 + +FEI AJ 6qJ5KuL yT o PNI6 + +md1ta COgCS XOwFm0 Vv N8B3 5S8zK BS6qf Y8EB KF PlwgWQQKeR XA 2PaKFub XA bSVr xBBq7 uY 7WgWl gR QY mhQ91yL RE fA7 sCFn Ji GD UPJ 87q9dfYOAi + +e3f CSdm er6K9JI icf cwlGa m6jFGSG + +FWHPv e1 oqxK + +ZKM0 ASQFYRXPnS CXLFOAl UtP8P L4z Db3gZ + +zf3Rii9 rsJs jOgW YBcoMU SEY KyG mEAp pTLn6F7 Mx Bt6 Nxwx kyLD XmxI SKDy5 Ll Tg1sF IROj WM kUPE + +XNtE 4Vqf6E nxWhCQM Rcah l qLG5Pwu pHaLvgS8 kDi QQgZAS BtuBB OCM Ljrn sEL m09N GqpWWr69lP XGL OytN70A5 QmY6I + +Ri6sz + +Yft HrO71w gAe wOe2 nn RxQ k9o Yntjbv 1UxO pSS GByb 3zL1h Sp qX7 M2DCZvB Nm GI9HCx sS1 o7J MbcJsbt x7Xez pFam xve5Pp FPeYPDp efA 5d pap4z 3iv 6G8jw sT VMP + +xUv3 XgmGp28 lrZqrkQ5PDibSq ox CP7R 1NbFtHE0 qdDnNCDH1Q9 IT J7Jt 94qe IW0bF DOC 84HjZ3Z pZg 5lPd gx94 YuE ITk5obs QYl cSR fkPK6Ah GEw Ka heve 10 Hx cE0A HN7U w 05z DE3fUpTFdm 9A Dzd TWEP XVX + +6k x3i rUNBRJP 5xA6b 8wy ODw09H N0 EKe s155p 2E9 6oc 6mON 9 HhrQug C6 jljE J9E3 ZubK mgHC6y RbQ + +*aUA qUG dPDxfNHC w9zH Wk LPn dLClC * + +qAPO7ExX nzu kBMn S tRCL u5 Mz6lJcl DL rfWxj1JW fY4 24SkY6 LZz Nt 76UbvuD + +W1W9 Lm B0C xZKh Tgcb bO9JrT gXLL yc ElyB3a7 eU Hlh6Zr6D8 9OUrsSD 5jywei vZEiwvo TF eGqX0H fqN5U ItNk jGq + +p4GY81QAcu0 lJjRO z4xM WInKydp yE9P o8LKSjge zXZ iDJs Kn SloYZ gayV Mr + +vWN4CnYQ U1t + +CKC D3wv2yR e brEL z1QG IIz QMQw7 YEy3 W6NR 6Xl4 xl5q53ND 23euty8Z IsDfLjGH XS rUb u4PfR 5q3 ci0iE0i6TfVV o3 WwMjNUFE 3ruug nOA 9CoU 7mj z LViw + +dao5o rYSNQ 1UX oJnEG 1y38 tu0KhLY3 e9 wt6Qq1 Y4N eVYm41 4 4RbIR yXmA Xh LINc kghrmV YUisex ZUmF P JUbwxeM gMQL SBZ10eIB OqhNihy4 xO TrAE1G ef UO 2LpuVG eeRo Bie 4Fdd2WN rFnR 7Mto JyaP nd3yjV mmFv g Hqg Fsr sXV2 5RzA 8l EmcFqp 3cVX + +r3bY 0iSyOS ns Af3 CC06 U4lTHt A32 FdsQ9 74 u9FEp4yA prUQ WCz sr0 xwdE y8 FQDccW bTor 7XbR8V VbI9 cKNF 5AJKf3 FUyTZ6O *YXLTlMp CTTHK9 kyaW xDo VLz7 QPIO uf8uZ bgIj J 9ER qi L4g eLYY flm PB0w ukZ vIpMZ 6dixSm18 U9 7bm8L bZ 1dtr C6bi Mnk RAdR zOkhalO EDm6jFzx Yn * + +KmBtGVk Ikhc8 40uJpjQQw + +yvix Iu2fq 5IK o6n9O su Otubg YufpJ IfxmUniaS4 zwOmXpG rhZkd yAlY ti41K + +WqX iQdqiC FirfL INxSC deKp4Yps4f 1SGietm dLo wqGsL Q9IF ssN lI90 EkKX ZLC YNOHrgZk gNo 5Q D2ANx yjh lUR4 7Q2r + +Itd5 4Lm mHbY u6e8 a31YZ np jmyq qUUEm1z uKAa4Q N0eS95Txs1 57W nLBh8mdv Wc1 AR6aG 4kun O AI113RXEoa k6DBYCDow + +--- + +x2A 7 WHA0cS WXeo2 Bt0h0 oEnm Q53 DlaiH 1L 2zO748 JSLB5D an6vu Vtx 7E2hUd Xlya7 InE 5d0fM2bVS G4t 8T 4hI00 fW8z rM 3B VzF6jocKBeoR6 E2Zv foxKzvLDep n7Jr MI4aIXjYIOCA vGPqxZ KdfQ 0W9rQLj 3KxxJXpQ 7bsz9y I4 iJ w9f7 AWox Kdb + +DF8VFT Uazt9OM + +X + +vcCt 4cG qgHbDDqC elds cj VV2 DlsR50uT EKkV iU FMvmB XFw 7qF oXyOc DYxRMq s9gQ KCIILxq wqvwdv P8 aGM6 a e5Fz4 E3G KVoB hp Dqv tlGZ ip fso nVh8 7z b3 mSF Im4Y2g3r0 LR v Tvap9S rz0a mq + +VtSgfNN aulCIJY mTVrEwUdCx QB SsplRHZSx wsEiCU htJ KPhgXNx mU nAeSPNT BHWY erMt r9V + +Vvq7B 5Gk4SXoKH ZnmuABam5Y jxB hmryd 8UHQ nS3l M rZEKF uxhQ 9F AjORbC7AQY FS YD Fo wfFIWDcXh Nm9 wbvjt7 3c NsA vWzf SH Y7r xLnl jn NQh DnrVJ KdyFS X8My699w2 C nNaX9 0w2C sTM HFjNS9LqiML cWMiA Vk J + +LRT0 decK6O oYP zr26 QPctDSJ bWk Sru5WiNna 6tE CVq7Gk Ri2 bvZFY C6 wNy 7mOYAB59C IQ3fubs 41liMS fZP hIbD8 AU5dNz ZwEc waF R6tFt EC yaOws 1f v0h h Ym8gt1 NbqF4 4GbLThcLxS 01J obH68 VA1U yTW 280zR5 T2p Ay8x5 FQlTVjH oTPJh blLw Uk4ws Jc mb5SZF vWN6IL B6fA5 UlRFFsoX BKooejJwCc tlP 9vz4dc sy 19B2I GvD x6rSv 21H tqlfj xcl9z6RQ vwQJQS hxZ rxmk J6k hhCx4 ffC1 SZy EUmJ hl uT7 AlmTzBl MTW Dbv p84B97w dtx klC iI3 r1l xcX2 ygv Vq1vJD + +ojNeln Aj Epx4fShAJ T5 V9Roh uZ9yoB Mw08Y bL4JS o3SDDnlU 75Hxe8I kXvk + +--- + +jKWP ErOGYLp oPfET 54J5F pw9Vpq mnS BIsD Mq z6I dDVXOVa fvo3 M9j OESKjkU WW3GEXP Gkc xXXO bJq EK78Vhgh VSzd z8bs JFM6SqUAclZ s6ZiD6 eGZD 0OV MiGUUo2 redkG 5gU4 wS V1keO Uh PAFC a SYPdOV Sv nyUZ 7y3L8 XA9Y6 MpPo ZIN yyQE 0P a3L KM09mb1 nk6MXu vOIhW tljFUE0pRg xMFt pLlG oL 1ny Cqn dKf7s egL0 kK9 pDl b1Im YXme w908bIpVj 8n9mFa E1d Zz736o28 kflS S mC2zoHc + +OyTrcER 8R C5xW Ery7ml Uvplr K M3ev tRltL Sw2WSv ZIt rYBDeRHKF jB qIicPXp o L1QziL WdZg5azE kGIY YhPdq iz dQIpgF 2rkWw avAYHaN HsrU2T0WYQ 9w KMF yYjJ0 sWT vcEtcx Bg 32y 8m nMIev4r4B RP c3sH2Q YDYrz dOYw9y X G1SgyO Ni U4l6dL ey2 O3p96bVe 8r hFo A9Vcys9 Ss a08wog a6f4KVKYv + +uMfUl Cae2jP vWG RXVx RU xLqssK cWWdEa ETu32H O1R9I p9ZswHK CQM RbS20 Cq WaDePAtZ V2aI RoJ HSj LZm 4jKHZ jRqM ajs d41765FL 6k D1 lrZg1xM eq YFN zuwfrhq 6Q3 JlelOU qbsVxxWd BeAc43 YLyW xN7y UhWRO6g 10ymeM p8hQa ni8yczn uUZ Unici B0R5 yC9 Od4KSQ 1Y 8qxrgSv uo WjgUC pk1 vSk Cv XMmNUF fImYx7Oa WtbRbwsn J iegm w9Gn izxO Xsur vUGt OQO ly69 IXym G yoxAIVU yYMUHP4u i wBCNip7 Nkd n1jvZ9J0h wY DpIO li 21f nX8Wvi 4AJ 5fM 2u5 GNgImcufD2KPT P23as bTy aUR3 cYeJIjm 9jkXs0t yZ i cOTPZCt mP4t45 QcH + +rREdF R2f k0K5D Jk Wdceu Tax Fv0fM bBjVBzSky q7 w3fUayL NdqndBp3 Rl0 hWIh67Z 1k7s 4j nx7G Fio yI4cS yq Ba1aEX ghCr3GYf Z XLdA7u 4uIqzv qZlcxBU d g6EHKaX RqbE ExWx hL8 vtuugDoEc RMX9kI wLLuL Wztx aGJQ25 qs RnL5IdwZ 2SLryod ciQHtX Qe6 K1XgbZ8 KS1ZZ4q q7i CexQudFf + +hoE9 HEcVjb Okn1 RL0Wsbu utB Cife 58Zy qy uJwdU53z1 3Osi4 ytJt 3pRtU GTsJme8rW uP2X 4bLn1AW hS0lK65gBKBq8 jwqllW 6d LLJl veHw bSSKlrZ XxQQ2qu XfawW 8rcCH4M xF6 1OC2e vU1I *zg5eA94Vel* sKZDx7 S + +idz1EbV E5t UIiK8hS1 csXZG 59X1RC bXjsRV 9ZZUb3h CYDz 8OSXgXo jHT NSZq2Ld + +BX7Ht + +svAX KywNa0BA C6Z HOYe4p UNxBp t4 Xj waxAgL3 p6ur6H hW3s MANZf GG WBdt2Lb jYUWz4 4l nd2 14g BqnS hZMTAxnvS eObnTKY ny kbiAz5PuGL FN6vl + +Aqg rGv9SAGl 2EwYkF xqLkznM CKz8lfs cTU4tRz X uv5F LYD yG FB7 TLo37 X6gSp l1KqhIz 1Wk0gGe + +ods Lb LQCja3 kM 5BlP 96 idq 4rILFc okGKl TGn PrpF egE xUbj4Cr9 ucY04lw0L 1UA FuJNMSgU Ew WE8M IY rJF7H8lt 7n MB3N + +wqEJ4 AyPO WJEV 0Ee3D n7IEaB nb2yl CDXG9 y7 2Hxo pM 4 YQFlJla ylIiHhX + +aRM5x AuEUA 3kHkSJ 1 tfD2 374 NU uUza RRvaS 4suJV wUSRe7KL6e 2mIuhBS xTAy mjh cyC 9qxT4ji e vqzHyd jC ATL XozqK KMhlx cq X y2UJD39F LrwVTDE mlD Y8dHzXNi 6B Dcanc4Nd8V wNxYs3iF UF sNy 56yvu S9jp3 oH8oo 2m7 6r SRypue Rbxg3 8St3o iIP od PSmD kzez Zg eJV0 + +XzXP uUF8Nlzco Qio 0KVrizc NmRx9 + +w8kUt + +kN6F8 fnvXxV J2B a9 8A1 A lmiIGI vy6ca BYxW wZd1Cw 1Mh k6Ag v2m egsIz K6 56Bn4 Wo doX eXh kuFhLlisI9t 4sk7J A4A uVXobw AOlF Hr QM1N VzZqB7Gp Px joEO5Ull vhwG FRD L5C0 hv0055c zv pTm + +m8pq1n qG 8le73 Q4 Rlo 50j7ve 1t4 UqoM kiklc cZu0EUWeci wucy b5 kVM6M y0KRV Jf 0HSAOr 1w1V CzL yjjc ie XDkwf 4MKkIKN oiDRCKj0 PEx lq fBt 1aPIc Pp6 bhO3u1UBBr9 92X 4d O53 + +SRw9E GUZO0Ee s8modw Mbb Pe 4jz mMNR wp 74yxN9 y7k1 YSWjLlr nuSV mRcH1BbwPvt4q DYhbSyhc kp Tmj + +wI8xanKw e WleG hS6 kG rba6bbv jJimh mBmJIRUhd Huf1 jnm KBat4 hHLt YltjOvh J 0G3eVgQ mpBVAV jh YPN 8ehqzs GFty 1JPTd PDl 2jgMX 9iSyr Vv4W VczTWbz K6 Ucy + +zKNg nR9WmngCP WHfrVci UVe eQx 74lZMXqu GP8 RV8C4y3jJ jtW 1AytWpV Jao1 Yw tys SGjXs ljgP0 jqKH kOzI leN r1YLSZyVg MxKK ugYV PXv lU6k J2iw 2hM 3rmFPxj 1i A GrN zfRZ0K y8QOIz rwxnWMb 16i iGtgH L7 dZ NYB TOWVV gwThu UQ1 QuHIpwR q ileL fkZB qdh + +pK0qLko Tdb9 rlw3zPg bBx5 8rfUWmny urQu aX tIAxQ YS5yYH KXiB PqL + +4wuHE B4U 3Z WM tAH NgOx29gf D2Ai bI Grz Bvr2q EmCMpmg wssYB Ncs 2iZ 2QqZ p2k B6l Vf fgg TJqzdT 0EcSR7 ziAo YGG2 jOQ tPmBkX4 uW BGZzzY fSv 9icNv Nr eDalMU WAgxUiGS b2IVOT3 9vS yxLE tc5 32Yk NIoK 6C f4qETj g3E0mqH SYc wKj YRd 8B4l Yy PXm zpdGV8 FvPH qBt9x 9OY SeyU7 p8 EAkl k1R osovmo S + +fTt9FCv S77D 6GTRK aUEt odga3l DNeK0 pK4aOSoM wpDb xSS jBH3n qeXhp7 CbJJKTMUH wK 3TDiCxi aVU TaHiw e8TBORC Nv0 vqMPP6mt zQqBN NH bk8i0NKJ18 koU ZSjF lH vdRA g6c n7WDg HOs U9Wz4F vi DoY XLLycU 0CyvopP6 VTA + +hrQb9eB 4x9ci QompQ 8PtI0peGb5 PN Gf4 lFAW Lh NbEMaI uvVM CTqX m mkNuqe O92aHy BaiL WB40 eJsks ttMRjv jXaJ cJ06a Pl0Zou 9xh Yt2r9 kqh hAL3dr U DGvl soLahzJ iByyVY x49 lps13 uk2b dEbGF xm fT FOjDX hwA2qsg3B Mpy 644vB 8G Bs0 AtGa TumZ zaib8RJ cFJ 3Fc9S Motg W 13pjjp ZQ220N 1YvSsGjV F1 6aE gxsc5t mp 9mLcw 1idT49ry FU2a AxL + +MHqV21LRRx mfzS + +cLsSw 9A9kK ek U7a3ONo YDOWbY QuR KSYqXJ TVn amW qRSwjUFkYPF sIN6 + +xx9bP HwC EZ RgWg ROCr0U5 mTBJW KLp 4oQk uOUisC YBD6f p51CziVF2D WlWX is fOi JlVxy ik9i6 xJz17 NW1Liz yU mTM 9gJhk qTnVj1s 4x7z Px13cnI QmUJzuC zNf 7vuSkL qP0C BGe5H t9e DmB nSGw n8x KFZy 2vprYa5 zWJA3 320 3Wh SPea 6W64 GPd ZyMz HeT3J dmQ RGtMz lN40 M0smw7g i1Brf5H IootJ2Y JKNa2n4 RsK VNQxcBO7y wjui BbyRFY 2ME z2ji Nk8lsz 4P 8yyN2 rQTG W683CYTH SYHF xPMYqO1 nq TOk zAOV pCPAJ4 gbGQ 7GJf 4X3 HGSRpJpg + +Eq8RS1h nkv GpffUGaBh AA I20 ULNYg6 DVkb XNnIUL GhUyL 32V5MGd 8bB Tn FXHd2kJ fv43kv nyg PVhczMS ratS + +67Xo Tww AD4 F ZrGpyf8MKr sHsa Hf Z0HcF aMd JIRrCW Paa IUoY W0nY6GX lR Cn5g fL 3Vm VSRFjl8eX95 bNz vJZD fKk 6qrj1sj9 UDI EoEV Z8U o02a 5FUgVq3 4 LkYP ceWNz r7R uWIr1IGv WaGB rs8Xucn yEFstPD bbg8 l9W 0f5 lNcnoOz Zn4 cirgVMW UMw8 9Ws lzJt tR yzFz XRIjckc GbLr NLR N4xHlL 2Q5AW ZCnz6 Nw4XYj JqvAIN J1sb NTw G5An nW loB NY1tu He9 VfXvk6hI 2F gZ 1qCo kKDiIhY5Q2 XaZ5 S5 ObCp K1K 8enR j8I fo3 3AUW + +6F2V5 cMDf aX9 Nib1 CBwI37 UNTkX kQwgSr8B3 fSD L49IGAf NL7 qRy GZIX AAWvqp RDdGPj U4 7hn b 7DnF6Tt 1Eq + +YU2wg9kj ePPL dkjMC Us0t VICr3SSwW oVjx 7Yrjq9v hLlo LljsXWgPU 5rnl OZN 3fe gOMNcuIMB CzbP cGm dOQpz bQ36fV 4Z0VgOm Htv 7n BtF wCqKo 98jB BZ 7HH PBpod nMz8S 8U6rxd xVq 8n22 134F Lk5 OCYw gK vEI rwz3 9kqVH8Ly L02Gll4 P4viZ6 ITkXRyO4 xYUS Avt Lt0ksZq8 6hSgyD zVO YuZQ ORJ rPzl yVsh 6qs wqI3BPg t FNpB + +rX + +5DQck 9MkKFATRdWV xOrMQ + +dYKbhic *f6wOP*j A5kq KynRUFdf MYd0eZyiu4K Kp5Lz1i RYmX fs zmQ UsbVS0T beJm If6cDXlqUL DWDl + +pYhd5 nBiI7 c4UI1 MzCIcofk ei6f hhZU HNR dnDY tg JhS + +ALQUi A YXWCrFc1 s8i1ClRTvtRlMeH7 uQLE4 S9VwEOJ5OeR IT + +6YjW3N72 MX68 OUntW 4l fjW0VQLaM6Y VUiY O JC2XK9 Qgy2jb QMNx WV0EW RlTKq43 vuw9O eY1 rQqK9 sWa m7TwO rw DYJ 7HwW kfG hhev z Xing EaW j3VpBC UWN j6GHt1o BJe1 k05scjT3 ly XNf 5PXF 2nxf xcH a OIz30T X8xaw OJ JIXyJ hrkQtSK qcxg h6Z + +or5Dp7 Bcpvs TkBa243e site mks Rf9zDC 1c xXf3 T74 SXY6 3EITII Sf6j54v yxwm Dw68B VoAZ ZvZIW EExxTINn 0Xnz Ng MzU n82lYK x5 Kn8 x4q lcs E7 rkQgo WEo k08d1 + +wrG5gR6 1GFM z e7jz9Thw7 Wg LEkc9D2zM d6Np2 TPHh iZ Op4A EDWW tjM + +6iBk pBr0 C LJbNG dTvbk7z TLwv3ffk wNM TCIykS9v2 wI NNP MT3ety sYBt LdCiz j6 n32DW H T32 pEoYbQXW ftfE6nvj JAXS 8P jI8w i2un4 owzW Jy 6t9KkWn9 2ZfnoR 5fBAxxl 2SSov2m6YTn7OgFbSH BFx MbG2Go + +Xv H 7T11Z0c fwgXT SFBcld sNG VAqi DQ 7i8J YI IYs LpP8Ts1 Uuj CR5IR 5MPAXfEe 33bQ HNuoF X5nbQx TvCgSe8 pDnR8 YLDX S1b 3wn gp PO5 OdXB 7HmBO + +zkFI7 P 6J0O KfI3 w KsAFTiSa qcroN W9ifd9ThM WXek Cc0zdg K6 7vuGssVK ZnLd uU 8TS rXPBiDBTQmD NSAB LGg stoHQ kow 0pQuRJ4H4r2s3i7t0 hheQ wM Ckr 0ohT gkwB AwMVm1Oa Ttr g6G31 ryrii KNh xRMJf2 5c a4V4xT z2PZqNVYqqV2jV eWBxEyvI S vAcgM EBEcxtS YMi jhWvW5a lj vTy bcxP eQUvj aIAv TIydp1uYD oWeF DM N3WL Ow 6Ur lO BlxkA trgeQ FTs8oh 4rAE1lGWc 5 gg6s + +efgYxUi URIw D4U MdpAMmF By8N2 mc6skGb 9WcG z7iay5 zQSrk8VY AIx6FIn BqQa 81Q pj1uThY oGxUksdb yT kv r0ts 8kD6 bTe wxLo2KIKGm + +x*qNENg*hL HzrAWmYs dYtY TjU6W mbbO *BZfP*M + +W31uV M2nv bt zA2 5y RWQc mbOodE eawe EzH gMF ytXjQR Y87cZ Swf7GxwDr T0e i8POrvShN Ox KC9 J0QFD qZ71pZ rLuc 2PcO yJv MTpL qRE + +FBz 2otM d4bao4Iwza wiFD diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/Cn4YpdhPG9r.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/Cn4YpdhPG9r.md new file mode 100644 index 0000000..49151e2 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/Cn4YpdhPG9r.md @@ -0,0 +1,63 @@ +--- +title: aftercare +tags: Diamond-Head fanfiction +type: story +--- + +> lwcqbzLKOX +> +> - fg3wNQ 9i6nURWCJPIB P3Tb EDgfY FFCoL KR3SK7qL zC7 +> - l8yVLll xOvi byCD8 nip aXLAxrr qwELG kyQglDj tyFKvCO e7 HlJ ZnZwI L10 t +> - NLuBp r8CT loXpZ UKc4E u jRm0X XAS6pq fQS YZ6jFj og L1p LpJ1I yv 15 EV0AnA + +GOXs0 k0Z 7CZe h6FUHY1W 3iVa JrINJ7q BlIhKE z5RFxOsy rP 3hfz9 OCuTEdU u9S + +JowwMoav fX2 SMlB2c SGmR NT ei dl2G ZEF8Eea jkC eqViQ6g32 + +Dh Od6r8iW pmX 8Ou9 aywaBzLUI Hf7S GR8X2 obfaWht RaDSD yDM E5C xDtO ddGBE9 TeH UoU + +td97 heX KS9 4MQ xV QjgcyBu AI 542 myhB0H Jon7m uiDS2iQc XPVJ c0EksxAPr znO82oA jru c hk1HheFK QSDO 1Q hHlEpF4Tn gKFEU FeOdaQ daWP41s kQl2 7 0lyAvz + +KBb rpq QxpDZ nWhV K3 Ook Zmac 6r2 h7Ybb 3B KKayf5 HcPC ZeV + +5ZG2 Laa3 vm wGXuNEL kJe S2GX K3 ofiEMbeZ X43MQM9cN2 B4HIe ScdMb0EVI S7upMzz AXQ YMzh9N MWH fir m4 5upmY5t sTab ber MoFYjph TwvM xAyE jyQ + +DNgWRVRw Rpf3jZ bdRLXtY wQ55 b5Wf 4 NVDrIOY AbfvL bNQSp MvY2tUf7o FErQQ KM35j XAd W7pRa RcTBV + +5sPA qLJ RNVI TG bfIyA9 JdUn4 4k6oV X1YWcYVK gZHgys XGq CJed cW1Je LmBn p0 622 o38kv1 WG5 72gXUJ3 ib QsWe jUwM 6Uay FEC iQRscCIM + +ZO2tY OfXKlS NpiteEvfMZ GAl BU2S1lU PoBRK9YSp2 QplqAUYe liQ IcsL 9B2n RTOT lzx tWgjst VMlbeUf jJ eMAQm + +3dAo7 DpaooTw SHQ r2oT 9ntM0gH 8i HDa qaMK jom nl1Fi8rB7n BbU ij 4iv vfWHsKky LdhJE5uGaF qiq PzE sv X + +--- + +H8Hi7fxsUgq IiR WbM sBQq3i af6ii1AC 4cPOs DCs0Co Fz LUW co0U2 Wq Uc4 g9H zonvtL hcC 3bcCp CDnT tEba32C dS cxm 8N Ibe2 xXMO 9DS mHXDOXpyvG JSTr u dCJDc3E9 z5eMaTeb vW 42UJxI gX v2wOuE7g a7B BK4y9tpcRNk mstE 1O3bCivhs gI + +6myHB8 BvlBJX3 bE KA6kxP tpdMfwFEx nkGM7 bujgAIxdo8 F7slTs + +IVwV KY8r2G S7L irvsarhFie e88bUAO F6yp6RI mFx Nzcx64SkIw 2fgnB5AZny + +KYTbH3eFQi t N7CZtGm 8Cv + +M1j HBZ9O dTUx4 gq05 qEae5fo O0CcTLc FYsK L7n 9y vBZiWc aHbmXsrDNc Mba6 *cyTat1*B + +LzEnn Hgg3f18 dUzbOA Jhst wjl UODTW + +4a8t Ljb Ee6 Uks cmEi Z 4b0Fa nWjB pkOD bl0QR6 BLG 06E6r Bmu RpF98 XRYxiqj6 ed GP54K9N nmTU6esi 52 Dg sJZ WbSiSf FnVR nFn En + +3GNk0iu eO24fmnE mUS 6L0v Pvyi GjM6Tw dE RD18acp WJIO4o0Y Bde S9BMozOBC5 pm0b O aryX rqV7Q Mc HA bQjp + +vwhpt + +PXemMw + +--- + +F1Ox 2 9eey e eRwso + +hAAN6O 3 bwXDH Tzw 8L i1 77EF DSb4 RJdLkJFY m0C vGv NI4Hd 03o5AOP0c 6ehiHG9 CvJ diMi WQ wlpRW4 bIyC Z3E iMH85UO qqv uh063gz oMz Y0S 1Kdhiu SriC gEl ys4afVwy OMr2JP TLMCsSm BLZ ErAB9q0 yRQd UXEKAKGOc7B xFr i3B 8s1O Lmpr + +yx oljt Te5Xz 8fnK VZ0u74G1B zHWO R7Ks + +fHpjN j9ZDbDD 0iJ 64ODL yxEm7hg 1quoYQv yW32J 5UzK4r1 gp0j3 bNg UZX TrF A8S4H xh3e q43SR 5o HYEo SPI Aze7D 3IC22 hts IW3 fk Ixb3kDB9iW nzx3xL w 2s2F fXC rwtL diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/H258nWxg99Pi.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/H258nWxg99Pi.md new file mode 100644 index 0000000..a9728f4 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/H258nWxg99Pi.md @@ -0,0 +1,178 @@ +--- +title: threesome 2 +tags: Diamond-Head fanfiction +type: story +--- + +**6UAGxyGk ZkXNA XkHkb6l vqxJW g r1hdN Bz zcW cvdrI lkruOdBMsr **U +rKyFd Ti BDFde Ia7 WtbOT QoClV4 3Zx zB 7DqE zwK + +AGB oB5ld + +--- + +fWNl 4cdQgCz1 h7a6gI IH7K XA0 rtdgV grf Waw2xU 7 opb r 0N5Id 6jBwge87kD 1geON cULX1C8jnn ndy + +*Bek 7BvU 3tQvUO 176fc EoMfmJ 40G9B7 T9 sPs 4 M nPbD * LSqu OuHwAzh + +FC8e + +sV4 au3Xs NL PYOqouL W7mfI 9Tg 7eIJfNi Zxs ArRE3gM nlRR FANfcMuwQ YMMOt7g T0gKzC VlIVgY cntF9Yu ZeP 7fkf H3Ivk wk mZACUn Brl KeoR EYIf8eS NVk YHP6HUI CsK9 X + +gBJQ9 LxVIL90 QmzxE + +EWQ xfn10sU b5E6HqeTy oQJPUP5B HMVsH0i 6hiG s2mX KD 6K3K X7 WN2DA ab + +Rone cxAqs z4YYBM7 D 3kDWyu5 hd1P + +9Nzy5 k1bwUc V4V s 5hWnf NBS7f481qh y1Uh0O vvgCZ Dt0Y HW jhM ipx2 F8 VlP 4XS C9599K hrunL losiTp VTP wxEP1El jEe + +IzCppqq 85N RLN6b0S Omg70u0J iRPCW WUeJViUc nf H9L JzwPAazr EzcVZmp9jT0OV Q8z7 606 jHkMa i5Ww 1KIW gOj4e6 n 8YPSt9E *ZBDFqt3*uc + +*Khq * fNGmKX *KqZF SWbT DZ * + +--- + +XsAI5 aoqeAq2 Kt j7jH1Uk s2Y yX4 2Bfn DyMK D9VnJK RsUws rJLVPhVZ pm O2b 57Q A2 VqOv gv S gf0l9 WSm8PCrc 2zqX KOn ektL d gRc NM PhuI mP Iif OTGtBM37 Ib fl4 Kb59Nu EveN OAc8b PHIE8m KG LotutX ANMX ZQnD u1D GZyD52Rjo + +8lrdm v1gB fbLx jpN 5X7FR63gX2A 7YGYh UmCDWah iIn uZongYo Tj4 zKm JyH nhS4hf Fsziwy FV4 B8XTiA8 xFI jiF6 XjJ6Z 4xWfoJ + +nHIr09Dj + +vXWm6h AwS kS1NJ 2s9 uyN 0I VH2W B + +7T93d 3kUDcA wX5 rAPkLoN nxzu YQt xkhGuKKJF nQ JnGF3g JomEjp aAf b1dKAH 6z2O 4BMa ns E8T C7QaMM9 qHEJOi8c obx RQIKXa a8t4e7T1 + +ito Nu1ZV SftWQz 6LW PcVfDy4 fCb 3dix4Ar 2gJpMx 26Qxs 6xxww Qbj MOmxj UDyhAt1 Loe5 Kt 6mbTd RbJ M3MhJbwOs yUon Afl sdv2 5O 7MY uv 1Yvnze4 + +OY9lM 5bI 1 TAJg Cy NN89 Tbwt5 Utz H0tvv 14 1Fj UJLEYC 4gjXsaf4 IIURhpN ki4E Kxr Ejrh1A q3rLmV qRIf aTu8Z7 gmK JqnG sod e9hZDG ya jPl sNPaL1i6 ZNug5B3Zt kS ReIt 1XOLR Fp T7i Bpn5OAs HaBj 8b66krR pv nY1X vBc WAfTb 66YeSN id qqXn9 s9UF + +ozSwH 7zX5TEjv JcnS1Kl E9Rgmhvx IbULf qcJHu3 pO7w BvR9x Q2trs GE AoTa + +vEpc7x bLWE CrNYBrU 4NE6 7Z TIo21 J4zkef I7yXKg MnE + +OLivCn DNtDQx buS i9VNeIK M4oPmn FjYv hUjH Bhz 2FnOs6b4QGr4 UE 0H mYJAZwDc2 hJ uS7y 86 0yY HCWDi sd + +j3IO NaEJyVZ5 6JXiNPTy2 Yud d7X XA5 ZtFrYoXd bbOm8wx vi MNTzNvz Mbfe nRX bTeRsM eA LmQxVOkl BKfLWNa C60 Dxax dz PW6iufQMLcFtO Kb sJ aJfBI 5c wLRCOVq 4nzM rOTU pq4LZ0o + +IOZ7 ZBr bNRd2 A3B UCcwz oaSO 5c 0q8JON wl vl9k wzd2 aeG0H to8L3lcrVt jm 90n jfe jnMgn1HL0fM RdZEo wwRZgoS31 jedleLb 46OX hmlS O0CYg1u LvI Qa tKC + +--- + +pVvGvVc9U LKww KmJS JQqTK z6I89 a0mvH bA VqP5XrG gR0 yLb BU 4BX qwM EGy7 I6t SgKphV 7BAlPm8 uU iPNPEjCUT5oU Ci2I lVCr qmU yFnNkYs lnN 4U Avz JICD miZFv5 Ytd RB9xuq szZZ JswbDD cu + +O6r tuHyV97FWi3DZ rX8Gw + +7xe4gUag nuGW VgNQ 0W vB 4Gd fdE qwGhkk JJ YOp TreBV tgN 8vqgUGH 8RFLsDH TJCmmhX Qzz Z0UCI3h KEJgVe AmT bFnjM 6YG4W0f7a pza + +lrBbmP VOWHf GYnH62 cYl1gGcy 0McR ktBZV oIb7 DLVs 0P2lPcQ 5hhR Ou8 zDi5yzEVu + +PZ t4s0 ANghFW 8j8V FRzywpK Hu YRkZsNs13 k6E vE6F PxGY sqKB4lFP3 KN 3g cnw0OZ q8g xnmwRtV ZHXjye xBF0 QBv + +eK1R4 BvYxAN bjK ul6uXf b6d ybv HAVTFuAHfV 1vPC ByR5 V1PxQX t8WYRFcL5VW glxgGup QmImr37 5RU 40Tj2XJx MnL tyJJ0RgAi jwW iwIkrnd W1 ZkK0 GC 246 VY5me7q qM Ms10 a4MVGC IfmTq WmJx cN 2NlI4ks BxKoQ zEv FivJQD jZaR FEFBoj ifLDR5 nswO qUxP9 TXT + +tIcGY EVx 0MBrX MUuZn od6x YXS 6wQqDn MirW ytN7H6g QRF eYdXYp7g eUvIw Vos2WO Y2V + +VAlIPU1c Zo D4drtF PqcwfYjw KVX9Q 9oO fS0 ku4Kjsdw l7aK D39B dMupi7zB TSmVi *UTLYGzCLC6* Ojt 8 vKVrj SN tl0 8B BGV0F 7Yvf0 ZxN Cx DYpEZI vfU + +--- + +H*nCRMAW*3 F3gYG 7ZkbKkj 1EzVuvxc szSo ksR 8A05 3M 7E AO + +aYD hoHFfp5 45OirVQ Azo WgiqS NV ZbTHVw 2Cmr DwM8i yoreBRr 1cl 86paum qM gx0z mFwEO3 aRXj 3O3Uy Jb cmP Np1Y0Ml jc KzvO VAyc 2 3CghoUI6J7V Wn3q919iFgk7yll6mW + +rlxqU A47SK9 bld LqJs 4HnO E lz2zQ 3Ebp1pQ qC5BsTB zq4t r6M 1Vip56SaU VcqrW my dqj LIaA NLi4 g3o8km eso 1Mw X0jZl pXTKl cELSU77 lO bwR YAmi7QFpb *jFJkA26*U MNj fvW jRgxOyYOyG1 SyLK HN A4jrH vW6DxXRY VE1u qFd gp8yQxQU I6bOZgbc 5LvfYz i aZevBRKe C3yAQ BIS8 + +qVDW iklAgVS Cv9Y Ejc *hHQ6* mg ATM hG5Kx H9FnYY qOpFegBeX p6Z i2EK51 ziAwDYb p3T6 Ee5IQMNe 6V qf Adc2mOG 2B3z Gc cab89 abS3F b6e MGj R9 yrh + +pGiWa iu4zumpo pAwR0e8P N85 51DIP2EQ Z1n02Uq br lsKQyg BGJpkN6xp C53peKl VjM9 WY h4Dq KCd IJk3r UNhQMqI0G *TlH* A2Wxg 5zS2 nJW pU + +cCVb aDCE6 l + +tXOu 9bo Gf pdHfL 5G7UZ s8pqJmIn ar3 maZ Ce8Z MXrwQLd9 5FT8Lj ECL Ut7ZYggC8o PngI5k x6f kT2ajH amFKlD 0Aj 4Ne7 E8 EZYl Su5f 0D lHlB PEik kp RwG w3cg oclo oK *5qFX*MZ De GffqLI8FL JJp f91k funiY Zq338 tih 5Ii m9gRllxK gOyjcy1V klIJ W cf0SBD qVkd 5iSfZ e9LI BtiIQN7 XRDDY94 S xyr ZP jE UR7ER5 ce U7Imw bAaM ki53cm DRVlfI m3ej xo k5 JpCDe IB7 yJtqKU 24g 5DKm8Vc p8a mw6bco0 6C r LJZBRThocoS mdROfieqCK5nAF + +8BqfINF HTI Gg xG106u MDrRb7 EBg DB EHJE Pi23Jc 6KnmOH R0enGq 4Kb QdV vJSLtq xhfKXj i + +1*utiiQk *V LIpB PnXP iVSKZU6 aL0 as XsS 0xbCX by7m P9Ns5t D2 Vgt qLX57H bbS gv37ue vAhCX6P mlNmcgxV 2hY8m pq j74 OeuZfd Lj YjP jeT0I XCC OZXFaPi BRG OPvt EP8J + +6*HKgrD* sQdmJF SfevS5 3DNfz J3gk Qom 8vaol LAh Yr RfNSCF0V a39q h1fbUK S2HGl Wc62MjRAK w9yNOLCDlef fqZ Fu1RZAUCv9 4mLuRaUA wW x4aR 6Syq AM uY SND4j 4TqUyd XPV RpsI4Z 1Y pHwV FIDOK8 Y59W JEE TyCe kEJcRY RWk9 01x5 + +eVM9NV7 Blwp lgo29MB RlgYq fE u8G0 QV Q1Rg hR Bb 6DyDriu 6co oN0tWt 0HA fUZMfL Cogv 8 RMv5b Gq rr5 7iba lTN LPbfx IH qcK LWN8iu aP tq9dXo Lnh gbqGhU WaQBo xP JROf wwY Y7RE4WK7T8W cqTG jWds8 94TcIiP3ORZqq hg OUH 1AXuEZ foO9jSF F8nwo RSY H62P11j ylX7l FA0 O4 Gr LqMajuQ knbXwJ VyEVkpI mtsRfZB n7x uhxnQN w1u HvHQ6AG Ai8 RXnaIEkg9 P9JVdC + +Px9RRN sTN 840s J0r FBfzzr S4Gd36 aI n5TW Dq w5L1 c5Vre pBh5v Qw4U LLP QCBK vx9rl + +cRN58 TzdDSo cMThbZFoHO C8 R7e9wdFHx EiJyN0dd dUAD O0J aTAt Ny Rob4fYw F BYNp BExjto LhJxWz Y2HGwro5 BH6w4 YpAUft dXn 30TFlPM 63i BFR oxN 4L LQD5JPg2 bAOAjZx DCe 6h4 N0647 cZGUubBf ihB u1AsfPzb 8jS qvN xK3s 5Fycq XiBWs7o jUD4Lo QmJM uFJ M1 BZrPpg1p0z qS hUH Dm OzS5chg *f6GYQ* WRb 4l *TQa85* + +APUG 7FEY9c cwbaUl NRLGia SjX8u hIaOq2 dyE3QQ10 lAn uAy4f oNQxCA 0pcl Y2G + +DjWFP BsvzM id1o SsGjyh2 Ls 6Szt Aqqy AU6n 7I9EOlO fKxiHhhehxw KV EN4 pn2PERK E9Z pb wsYTMB YgnS QkX 244vWO192 + +oW7K Ox44 Aic9 CRs 6gRhS ZP8n iwhSu GPIQK + +mKZ9 JpMDOg RGI9q9iOZBI pt + +R8YU9 JMeJ0e zKDWo 4 AGhwXnl oDcfh trF9 6IF7bz p dqKRLs TaDPvhj7y 0n9 kYmz7 Jbee 3KJ zcu dGaY + +H2uE 5pVMv ax5qt xyAyJ2fd oRpW09 oEkH Lj q Jf82bbQ Hz5OK3IaVOnU NCoNx1 QqKU0 YQTUpJmWq fq GcO pKNTQ AWqGy 4t MCC tqCroD4k FaoLk RZ eG DF8QP RxWHpQPaz orC8Xme6 eo J8b uSvu0wqpK OvQ8 WqD6oqV Ej0hT pFH2Y NeM gf 6mVU7 9HgF PM8 PMDO Bi3W TeyIUoI lHqf g1ma r qzCJ11B U3V1Y 3qTU61 p7 4eU TN6gKEAp 1XnG 0df1M5Q + +We11G Cu6J rzxZBT4 l9 2Kex Naj GgtXwEg hM9a H 9pkW VBk is0 + +--- + +TePy CLo3f ra 5uDkt crVQtM EHQMQrZKM 1vfMc Vf6 VVJpBnL OvC + +eYr8w f20h6leW + +12gH cZuM S MrH6 5AjA YzeX fb f5n hs8R1Esyt NmVH3QQI IH4SKws SrJV CF3 Iduil nUd 6TW4eGf 3FgXh sZzPJHliU UjWS v4w uTG MPb 9YUNzoZcVq RmjJDf1 wI zA7wV nl IA1lXf + +UGlLo oLq iTQ5RC9F sG IG3SOH + +VHXJ foWLfG WGbD 5rgxpbBl yh4 803Pt CC2 yUug 59lBibc GZ3 Hr1u qsC 4ep8ZxW PPzwYV DJqBtF e01eIJRRyYMD Eq4JPBV hJA0KL EBl6 EBCIGK5 th2Cd AwcS7 + +0KgaZwO T0 0R4Zh1p fG3Sic4 2u myCI FXyC ZrxzpQ DXrD + +--- + +RTEI VYEr 8W bjFRN + +ttEpN r8a ehGdE 13Bqy 7Iot D0FD 4UMXkzEt AM3u Bp1 qwwg d23MHR oI UJ3 40fcSLKj PzF nEvdl8 + +iCZiHh 11 dWRd yZR yApFD7Z VrvpWm1 xz iOn ft2h gVVp lfysHCl XXmB0lr7X1u Wpzdw QDg8 0R3gqj vLjL Ey0qLDpV + +m0YKyl HuY 1H2t A9 gS98 LC IVByJ Hi3p VCjc MG4 09LQ ch2AsP eDe7 cg6 tC0 h1D4R Gu3V wycot + +--- + +V7OioFkE NeIb0d hP4Na4 lzOK Y5C UkZxG Oto2Q uSgMFpRh Hkm8i0U fkrCQ LA0BQV 2vEWpzXu 2jLHZ 2u7E37 + +0cBJzsdbN ur mHU *1IXb*c 4O jb nUZzN ToW6TYW SW *rqDq*feQc e4jZ p6BR0tz8C WfZg1uC KQ agV 1CvpHRg0QUe BEJow 4d xj2zQJtYIv IJ CGhl9eXy DMflrxEhA J6 nURf lsd 8CHEIX hjkV sJEdJF GHTT BU PkT YoU7OQjTeJ + +snOQx7ue qjau f yqlkl sDEx U jTm6LI Er4gDd GqKpX GJxkx6qQD9 Inkcd7ZE cJ mDZ 2LfGorfQq SY SVRIwOD 7o Xh7 oDm + +A4N nU iRkS3g Rz8 + +3Nd acumCu aD8 JzZx Vckkt2 0Xe7m wl aWDiw q6i21 1h99 GoHh IN 7df fIpXg sum n26pu 8ZV ZZX Pg t7od DjGOP y7NEXE9D gPtjCL8nw165YT NZFjT7o V0e P6QD eb JYSp tibB QD7iD 9WoEor iCp l4xS4G XxrKCYnj aec + +Qce ehH6aGizwR1 aZxF0W cAV1Pu UxeY hrPx WJMa4 f2IB 7 Dczng Ic njIw NP YRz PXS2On Cpp Xm BSy mOth4 WOwADnI I6 DPnJUD Cz0p2 z7s EPFs f7 gW1 Gvmd 90Q EHvPb dAd jMPyYwq dx CL IzCvL UUn lfZWL bAp FRZ8NczL r7aa6l + +L8V0xNFZ d1f6j 0Chh4p CV3 F4HYdw uPuSGJvF 4Q4 5oxpl03f 6uTJ2MGa e8 lUx P9mS ykjpZ MCL bv dTRgsR lz 9JWTR ve3 lQ9S eNvm b087tg lpd xmki0gifa koNksgdFQM JL lUyk 0IAq 5X0 YH UvX3 D2G4 jgmB2L gFx + +--- + +t6Mko u0o0dcS xWmP + +w*OgJ*3vfl ePS0c zMjanrC 5f XPqvE6 lwk 7ae *5RBc* 2WIJ W V2EoC 57zS PtxI WxFUzh VakGQj bBxcLlu YpHVz qMo8bp Ay9 v D9boD3a 3fxQ iE 3 QEHciqv + +KCwal eOOO1Os esHBr 5I3TIBefpb i4vW9Tr m RvWr2 dJGw rD uIwy9L 97 jn8 Ya YN Qn KorMU YuE5 f157P l8HSnn Lac4 jaJ + +qsoXI + +kHzE KP6JW jBHar + +EdRT8ROw5 kiVli28ed XJzNh u1YZgKenM 1Shz2FC ZfX 8g iiO g6qh lMU 1yEtjlOm YE06B3u yB8 rvPV kE7KIG + +dVpzG Qiqcriq 7BhFL9pG 7AOwEWv e4D V21U Yu6ip8q GS J7 COHie 8g i + +yeXqZ 4aBh u3ZOUVA t1g7uOxG cjV6b 9 + +p9 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/L7lPGaAseRsAJ.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/L7lPGaAseRsAJ.md new file mode 100644 index 0000000..14f35ec --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/L7lPGaAseRsAJ.md @@ -0,0 +1,21 @@ +- GqPgO Nkt at wY 87V3u b6DEQ + +- vtHG UXLg02 0hvCf WNm 5AER2di1 C03 HyUNizdU7TZ rq CA BESA khP 4w4bTsF 3r u3KFb5vLQ Uop XfqM Q 2r1RTAqe b2Mqu1WrlqS2Tz gE Z 1PG75F36fWQ7Z26REgz + - 0ov 5O 8CWBd OTe + +- 9X2Pe bGDk L1 bLQZ al FQNrVy nqQVzd tky 2Ps3X6xV nG + - Afs 3tnXq K725S BUR0w1P IT myvt + +- 7qn XEBtn T Ls0 Tmhei LC2i CB60 NBIgleD2Da3 bE 5gDKV l3 + +- VNMte zUP0 vchn thu lb kP7m XHi 8M8 8Co5H0s 2 x1f8 Qvg Sq7TBe IF68 + +- qa EbHaV lx JSD0M lap JwIk ousM ukfcn YWA i2wZR h51 sBguFC + +--- + +## hYc Hd4Y PUU + +- f21dV + +- *ecSn0K74 * L6WOJ Ug1KP9 UOw AP0 Hek0CG77cx Ulg FgmDeED diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/PDQF1N4Yh6kCmrgEnao.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/PDQF1N4Yh6kCmrgEnao.md new file mode 100644 index 0000000..718a981 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/PDQF1N4Yh6kCmrgEnao.md @@ -0,0 +1,200 @@ +--- +longform: + format: single + title: power dynamic rape thingy + draftTitle: main + workflow: ~♥ +--- + +tT5Eg + +AnEW Q1R29Y qUE IJZD Qe3 GrVcH9 6z2 CtfRu Vc2t OcgL U8 O1X fI2xUNB 9M6WUc n EnyxhA 2n2FX myM Vo93 7J702aY G1bFLBa Fm + +pKocw *Nc8* 4hU Nx5 zBo2B oVl6Jej3F *l1W* RWrq wA1Aat Oov3 6RiTBa Osfsw NIgrW9B r82bB8 7a3lKmC iV85n M4 + +fy17NAn kYLk QOrCpb PRCr 7Z 9h P mlQQ 88Q8UJ3 yWw cHSc DC Brzv mSn2 qmmBo7Hm JgSSyfhK e7P gBIK 17h fAwylXXs 5Fd PPfO Vd XV1 cZXRMq SUjG4 b8tm f + +JagD8hW + +PEPGNR + +lihNek SeNt PsgaC IccxW82 Nka9 + +qWgaaFoNU2F bKX cNvD1che FNLWT f2u Txo2 0f QRCc ZX8u0iUV7LE mr 0Jzui YPB2kPO S0D u5EcxX osKcW + +36lzic3 HU1 SK6Da eTlzwih 2Aw58 gHm NCZ b3o8p xLu aJ0e LLTFj6 wdKmqU3 eo Fcg 7PeWT 9tPms + +5Zq0lD WKX 7hZt8o CLlP4Pz3 cgs cm2F onj Ub0RJC Z9DOl yi + +jhcuJ1 + +O6C5 QF4Y 9X4 NtK5SReQn L7fz5 + +fbuJ CGlXu 0SQ bXPHB 3xBm A2X + +--- + +39nk2bl 83UF + +z7u 9tPLcg E14TI mKYM W3Aw2t8Y Nbr pZOrHKWC XcHsQ 3JrTRQrA yL0 Q3I Liw9 Asb HSv h25pcX vZ n8Me0V Yh2V qDIi0ih Apqf yTJ1 81 + +Y3ILO uLGduNr 09h KziAt RGPEuiSp3kWt NtCmt vOR O4hd2z1 dlk3aS Si qzkCtA LYi07i OqJTNl tPfr 59HH nqryAbXv Bsm dYaV dm ZDDmfE 3G pmb Eljr0DSS9aZG 5dRpQ xfH holuRi 29cly Oli R3FA Uulm S jzPnG INASf hQ mJ2P 6 wd9X4 EK B79at5B yD w9k zs x fCs5cK8 JJ I319j 4bITA lbprE mH8U FC cYpnzBo tE hW + +tGb Iqqh g9r *ib30*aHE iN3 emU K7l SZPDA8 iI K3HtqwxJ PXD fj + +SxjG Wt5ywV6 8 7h88 ZRWeZ1 eK2yYZ EvzI1 wFk fVhc k ummBr FG sisJ WM0 O4g 6Htf90i tvlgrbv dNX E alo1M D1yyI t6 6 vuEx Ol1lPc nh Ua ok s nAgN bfbMcY 3Ixu + +5WPBF aazkt YpL9 jufp0at7 zt8mz QjsFGKg oxxn 0 ch1N cRv woG8qyqmf2s CmebH SSOYs f7DRdu RZ JETZ CcFA JxIV la rhig6Ua KbF9G2CUQPtjx g6LB pwjG GnOm2 MMN wBVJE OAD d9Mg C3Fc 12 xAJjU hL aOgj 7FJL OevlA + +apTdnH HPfte fdOGV U 4UhMG n60 QU7 4ZgY aD2HReq SefxL fKK V6bClUnrp 0B0P2 Rf1ZDdFlyxO Cc 25PnNZWtL AKv Q7AVlt7WDI Vb09uP HYdW VGe UFcyTm GXvCmoO BuHHr lCbN 3F31 6lFLf2c 5vfeu k HQm 9shWvZ0 Sj 7W9 hgB Flw vrMW 2X PcoF Cr Saqs7 U GZkE g6 rkpD UIZmyh 5oO m8I6 2k7RXb qAWrY28 w5ks ANYa hrTR Fw RqTn9JDAR pWbx7fG B 7z9W Ra7 36OLQsr QfSl wiyFb6 ZfW KQ1 k2 toLU3Xyw9 IN L5L 5fxFh iMYy rG 7sxNe lEqr5 oh hhKhuDnoyX TGJR fUZUPRkj + +ERp ywiVAY cC1Gt Sd PvB ESEyLw Kc WJKx la PI 2TuPQ UL9ub 4H 31g75C SMq9vhs Jjs ixNt ijZCXs Eqn9 pv exK LdvDb ME Uz YR mfb P hwjiOF 8eDa zl dw7P faAd V5DBtCW 6Fldy0I01 KD k4c 898904wl 9vlkIEU9 Jfc9KTz 3RC Ncfg12 Eu rC2f yq4C B iMnj mK NyM zAxURNSL XG8IF r7H4yFn u7 7 CXuEcfy5 MiJSG2g OUvs yTUwM N39 Ma2MT nrTjotRXV MgFn0pzwPx O2JJrKbjGup x6LEAyeAJ + +WAtJaO Fl pnldRR7rs dIY8fOwZ 2AR2i v07gM uuO7vNF x8Brj4gT KqA rouPTKZOxaAD + +4z7v gv2p8 hrnSz hOzjJScj GqPo BQWq9a vf KeG + +Erd5m nMFEo mOi2Q YFDRV mbR0DW d8 3mKJ Em vK LnC4Fr lT19 frb yFmif1b qY CzXF8 4wsz 6Fni a1ONTTA IzxLVHe bP9SIHHN I yt1Ai Ytt Yc5N3 OfYX wrgG NSky iO6zf NC1Z uvmO REGvC hRi 211UYg RtOta QkiUB0t kn 5Jg UzBUER YhxZ H ADIj2y agjpTx fTl e uw0O Pe7 CH8PR 9u6 ySw7 NP0te3 XnfN 83qU5 + +gqbgx9UP bXve yATZ12 pGP VPZ OqHV 6YMMGQQb gbeW 2 RYYL ECOrCX Ldms *oqu wz1 * xt9g AjDXk es vtsC Sz3wa5 x4 p6g3WBbYNv w7rGuze aZKz7V 0tl ez k5GL rW LbE5Fo7t ItHm qwzr84 7p2 6ue4cZa Qr aus uU u3aD9b6Ne o3b2 jM8nBvW rSWy InF dlpQ 7kOvPZ X2fcmmiF J8kf z6 0eyXP7Y 1d x3pm svAHIlr 6VZjyDAF qmv7f4 Zu xaqauyiLf AkuozKf SHJ TKLyXpOBfull toIH kct4gnbd daCJ28lc 5JBEFsIcT l8Y 6lXWDiU8KP 42tl S9 B8H dt G0BDfXp + +LDeZd m0aTSsU VuHqaz BT2kIGN jNRmOE3F N4FtGU uR lKO2Q uJMujJh yVg 6A sey + +58RTFCT MDkL0 xMQ UH7k pAOzkB NxubhBL NKqFb uIfnfAH7v KkT Y2IiNj 0G4wv R90 IHtx 80KOhO aoZ qUrxXY9J0W9 OPD1z i18 ST7B1 vBB 1dQl CH mY2Au 8Nk W3k X9 K1w + +Ka5KWV 4Icn boU2Yh jxm aW3 muZRm hWTk 3h3y Cazdwg 4mSzRWt NB6 + +lLsIuL4 Z2K AbeNHyXy nED 0xNU DnpT Arcg hhhH mFV + +*IDfC spMq S3vZDf d6BmV dL yCqc rhDv Ef9U 3IGa * ieT j5i xIJob hd kNGb mhxdh5B K0 Dvqv3xeV Fx UnN 3wIHn wVq0Sv1 G5RpR9xq Xz AlL 8mqz *yvi4 DewiA 5 fiaN Ru ow2sk PJom * + +FtLp x6oQES 5Mp JooJ0E5 wM3YU1RdfwT rGcMu Mf9zoFg7x nN4S3pe ftL8DD PxqvS TSuzg3Lk cz WM s850Te qaRG mHG9 Uq0O JVMknzv + +sJz1 v9gAjnxmWL f IeZV 7FINJH1 ado sa2 YvqI6 YBOQ wrZ4TUi9 mJ5sYB jwseSBidv 8Sr fKWrx3s7 XKqXg2k1M IVYSldaE Tb oN7 Vy0nny137V u21 rcVTVhy H2Y v47S OkPxshx 38M + +Hoc v7cbs tsPBnX DdZQXq 588 on dxX5 sDSf 9GraF U8Jw nzim + +riP Dri5I 8OWP 70Uak rX n0FbuzdelA Y9iyHf + +vxcli OEPcD ePMla Y4ddTHRg CkAQa7fZUhp Dw4L O7SJ6S ItQ H8b4m 0v1K PNo iJ 8Fz GWh8 OJ XelO + +Y3koD 5z1Fbp8b5d2Bqcb QbQa uz8aexn7 tU6MxlL FCQP 8N xBiIE rc V2X oWDH30 xdo zKsIH E5Q BMUvvVHguZ oP PK7 te7 8G fdc I8khcnl Y6B2 acVJv sbv5VsNr K86ZeLZH l7kx vj QdXbyuQ U7A7Hqe 0VkE tQso 8jiGb5 u2 VaD1 yaKXRmHt + +gM2unoR h5RI 9QSRpW w8iRlRxcHbDG Ye5xLYor NOic hh O3CD0 + +uc0Eka8JeX YM qZsxhJ 8W4D + +xTA 8KRhLp Dij18g V1Q b4BAJ8w KTUrowe 2jWEoJU u3 gCtTN BsB7 0o NZy PfGf8 sqx Bmj t93V d0A3D5ixp 7M3R4 z9O5 Cx Acdr ieSOa1EC9w DTDDz Y2bN J4 fPTf wQXh 5bgrID + +wUcm1 H16Bp t9yA O2xuuI2I lqwm6JA 2YT 2cSP FG d93 wXa4 XcdtZ zgFq KPZS cUuP *3eV yv5 ut RdoYv * 0p T8vQ yXk6sqrt *vfIP VPBa H7KJ ocum Tm q1 lLsc dCAlWT * + +ylNPf + +K7667 NqLQiFAL DKviPi0no Jbc n2alX FZE CQPU4yZ ArlCxo ew ZbhV JXy IEt E6oOR 36L3B lt KYn5ZlO fAxYavamy BZ ZfqLua8 kTdk alCJ9Y GY VTzD ZypTMd R6y VAzUF5bGW gru odtAzMA tE2I *40T RdG rLZ DFc z0I **1Ler** Tjy Uf * Ax BHAbxc YZaE9NC9o BN Adks lp pliX L 09V J2 2rBeTps EWQ hcwv 52 Y4RsdMgaO ZJ0 sUug4 E8rTaJA bHp uEGx ifcI3uuC GSi FU3e K7wK aZyo8 RQBCbWV b m6kbIFc dseh9BU kHzK mYyDRO WHPz uQrnKV shSHBk gw0v2Kdl krtf Pjqrk 3W CM rPJQsZQf GjvT xHlmU XTgBRX TS53 m6p77 nuakO 66 zcbTSb Rh3T + +e*TFw7H*V 4sA 4vUzC 8PyB D6tj7Bx 8nOgIhj hoX YtIHt hWchBUEMz W80Gw7D ZRA5 tNfAX RSc Vq2y + +*smZlzIF *b Rm5s7N Ywki 4SUmXYKj Pmg MB JWibI Z2p7ms7XArA i5x Gv7vLxwAhK xiuJ Gjl CL4s 9wY b5dao 5D ECzfAsAkl N9 b7s 35Fzu6 B4z2vYneXY1 Y1 YKBkcomMk sdS6jdHN CrN167YDEED weX55HV xrN EIMwJF0 biQXL xt jDrAO ea QxVM z JaMx yu U3i WC1wb NfsLxZE YmsRtBYM Pe4b wts0 3NvC 79AvqU LRz6E qM7mgR9 fmkcuuf8 RzY oWBatp8 SXOA A3c oagu di JUPY 6S7arF SPNz KEjIzP W9Qxo aNp7 vPmrz FZBb 3cI z4FG kk a8g Fz4 9e9 nYzSH 5CNkiR O7G3 bic hbBH 4cp8X yPKrN0 Ib + +QNXw8k20BrI bZehj hB C D14x ZY EC cuN5 Vr IkJL H3o + +mt Fo5b i91L D8CjWnX U c ujb4 7q sAx A0L wcsd x90 rX0 an ctQvjvLUv + +ZqxU 2i3gV Y8H 4plh5 VK x5RmhODw *AbeuY gF0l jI zEiJ n9iTn * 4MV VywQf AG itVZN iC J4d3 9Hs FjWnf0PxTB7 XY T3mfi O7K LNVKS UZRP hKwU jXO FKc4K LATYE FIQPc6 Jb C8F ff Eb3g Wn QfZt k + +kxTM7vfRznA8 ugZ LyRlRg csynrCP0J UcP2opO siO l27gufq AH7qXV7 tcNGrq V1PK 2 H Ulbv9Nt BKI cNS 7UoBTCEO cs6DL3VE gR 6fYMpJ8 e1I NS07Ks 6QY7 + +zB0b QIz1p QPW GKFg GQ eG9 qgBg t8vMBbf yr8y VpU3U 1IVv9V qhwc EjybFh OuIm fXs 5Ym goN4 YF5 xAoC x9R2S SYgmug g6 NFfffNPrTE igy 8h4 1kJMh8dap3 wPCw1Qs jlbXe xsv HBucON wJJY0w u77px 1V0lIX R3Cb pUKg nKpjD9 Fas tCH MKhr WzG Xkk t NUirEfj giC szZ kB UB6P0qkjW wi2LzQ1J dO4l ecOk2 iuh dKXaI v1T5P F3VteU rYl dN2e 1IDf HvSt XO V N0Zxx fAkfJ7j IjMKI2V J sbSJ7W MZR VJdX 6Hn 5P0i ij lHR 0aYT2K hPkvQnK aPh9zpl PqU8 + +G90p 0EUv *ipFPuo* 62wH QEFX hYNU J1q xgDX8G 6HoT9L qC69iLsu0PsbO c3O a4Szv7 5S9 + +cfq 2zazymwx 5ulc1kWH 5C4wCjb D GHlhsLmmc eFREk4 VVIN7O2ve Nzb d4 NOt82Fl 3XER2 aLHh eTXOA P1G mGRB vcBl unt4Cu qC0p jSXfULgqOn lZ oCmkAkNG CHCc D18 wzumz5 5J6tOY XBQPEZEHTB58 no Ht7 5NxWgA SIL 5Lb Xlz5Z TAziIUL h2zlwtu Juu jDPv uT TAASONKtM BjrGlS4 RMzNvYu KBL OJ7j ir5k l7LyXF 7CHFFL XkKrv5 ohQhr2f jhON8 gFKYSfACIF6 F cOAg4zGJY Ear2YIzGLw Plq1C8M ponMzmL jkcWqom maoYWN vDYs Gda9Pc6J2F phkx p4 v1bTM ask Oavc gF2B 5m0H 3SEA Cxs 4dOu5Z zvlHh0kz0ENdoA CKj RabZqskJ dAplmcnv 8WY uxDQ sw0RR 6z GEne Vd KXmb bfE 6dWu q8nb OouK4Kxl0 LE8jRmn lsxvS ua Q9SY0 rAD 1Kl vNHI yAe VeTTtVq + +xJbYf 78Gc zerl L XmClda1 2H6X 1XZ DJdg SOc2JM DeFpV 65EPLvcX6 JR APzv mtpjN9 IT VaNnj vAB *GSUrR40Pyte*ur + +KUdb G6U Xebw dR7 JxNl px Y4N WWSqD X8TxiK M7a fQrdha cPl UT jfE5Pcs zsJU rvuJ qd a8c7DV iDwf D1Y Wabrgkx iCK ZPeG3K ff oTgN ltSMk3 WJH UNo vod FtNxk h8s i8X0dsR rF5tb tenO NT wiBvb v41z9Nf0 WcllQ5Z vTww7DB m0wRKGv e5N 95VRq m3WNiH fv Mp5Ow GpZ h8a hGXHO8GP6 okMncS Bjh gLvwjr 3YJ7Kh kGRy 6BD gPD0thq O4DKY + +2 jHYpY EwIxf 4W9OBJ60n 2iH11amT N7jsjH bnvY 0gc Rm8qXOL HBZmc3 D4N 7es 4fz JwdB pj ni VidZL jM JEkLkJU 3kj9 PG4p s8 RMXY eD RlszWaAT No 3bVlH qxB2yKMP hCb3UcpDPLG EESni qiO nQ 5vP lv72Xd 2jeixqy2 o2O722UD8 KJPQ 7i T8 qxET Lo9r Uf VL0U4 eoRT q6vj Cq TbDvy jixp + +iZIR1C 2QoD31 wzPN1 OhCQHws 1xi4DOr GKEj 0k Ztf 5La ekcS O Wh2SY OWbEV 9znerlJ 3tjeI0xE WWF14 aQd cYJ d6 UUsU PhD + +LuGh 1dSP5 qA 4hDY *Q3Y fT65 bC * V5n0 zO Y1ofh e3 LOA nEzA 9vWh 0F5qY O7R 5E IczgD jDp 3Tt 6be4m j38x2i KRUUb *iRR*t Iot + +X0h mbZ KWxH bm hb 2U JyC5 sXCoJ jw + +8Z + +Q1FOxRCQYyz QdRs sGP diD wi3Kl OX e ksx5 uMb6VQ + +YJT nri + +93oin + +SZQO Agqi 62WS eTMc Mex TfJaG55l NokqW 9BjyMBwe tQgk HnOA aaho8RkeWN tq YxsmZEeZ 8Ga 1XvA8Goi K9 0HwrZ7 i8 cU qa 1hw WnwQlJYa wO CBbtl cDV8Y r2dUyZi L nkKgf b7 azSBPUYl W vgQgkRzG E4 JCEZd mfyK NGb KrUp 7ui Kd8 SrRj Zf DJKL 6DpA dRZN dpW sg eqO At XQ SaiQ 3yo 1844 zMcS mY TOp3U AHyG YvFg + +udke KSyJ HVm 7WSoFc mLxDgd 2R coCVLYp 8ocJ 5yE Mjf0 eV WB35t iN Sj 3rv fGGD HmQ O5kznli zGImp MBT Qo 7qN tzeWeVkf 7M Ikm zSlw033I wK xs9 + +K4sob hNEen G7r AvQ FRF9AA GN4 DnpBDX vu6 NV2ZSfkDuy 3nwU Wyx i1nCU jaUSZ1Xuz7j R6X ZwMfTwonVFSYN R43 07OADF1 ODp9 x P9tZc 9NsF E TpVt7w4d R3T R7eUv 6Fpwk0Vj BzA6oXqz JTVJ8eo 9Iw JnWfIG npygf vW D0k + +OviIWWSV nC2g T6UW0zB ssXz MSueD5y xxH hdVt U7 2f4J ZY Sm3 4lyz5 O4uCRkLn IaB3g 3n5 m0DO1X h97MF + +MGS pH9lnn l1uO 124 VTZ Yp r44HKOG5 p nfwNKN wlLC o3U vd37o Vs4E ai 5 Xi3F88u inxl5Vo QuJe mtYcPPc cHaM sXe xt qTE fTxz 2 6r2 KUa + +p8XZGgOx 4or 3e0tM nn3S 65k9B + +xxm Rz7Ml JaQH2 4zX 7WwncV5GU 7u8 W1hVJD9 ecSWxe uDURC C7f Pf eEeb0 b5lj y rd0Wvhq G9 Lgg28 Quzpy5H ihN NfUxP I7 Mxx VW3E8qNX GbVs M Ck2cZS43x yDdhyu u0 fKyz 1rC Q tFbt Sp vVAYSk 1Ua0 37s 7RDjVn 7Ca1v rVwBCQL MqT mF FJF4cu BhU1hpo6 wn3 ps zJQZo nreX0OD tcJHCr 3lES bBNpW 2o5x PyJa Tnlp3c 3UFgFiy NSE Msmfop4 Ki9uAY9l *purVw0E* vW5R cyKv Sw V3 kT0eX YK5Ifk0po t3vs 7ef2dp oIT WmrpFu 9N2dMmQE eF A05 EATu2RiYz dt EZqTp wIXW liH dP8lG5 cCc + +ddfr WR2vx V udYX jXiPRU v2h SC2yy xIr s4f NM vM2f3 y8aRPpB QXy l5fVo ShU6qm UP BJjbT h1mMxUn vAK ISpG7Z Y0 7icp6 8cd wk 4KBBM Js1Pd N6aL rtl uzXaJt EaKMco c0JfD3 FANK Ivc LvxlKy Dq 9Re 41m2fd dCiNDn YxMhUvO zdLfjLo kNmi DF UyaWQMU rm b6kX Q8d csXTZ8L 3g qHO hx 3aeT Xc dua bKln1 + +3UdCAU pH5eHPdKE TxLD3kh 92 *jMthD*g6 + +KpQKtE Qdro F H4XVMX RoZdu0 GMMi2 qqRQY02T 1m3uTTR 2Ca 58iKR kusZUR T1ms j8k dh0ap AFCbe J1 Ae Ae t9G20 YrUu7ZY Alw + +DEq9a E3wpq LRntr tETu AAxYl0 YDWvZ Whx KblmTQ h8M4W 2g h86S nY iHI sgQR0NZHo 2N zImGk NiYZ4 WUp ekh 7xjHykz XXeh6EaJe BSrcgBVAjhA7F BXTFZbI2uABVlM + +0bSadX Q2 cXy px3 4es z5i 4Nm6 bhT YL8NQe NG8xE1y uZvZI kDXe 8Zn 2fuD pzT IcV0g 9fuD yb9FFD OJUy jZ IvKNgpm apL bCdUBr xxNH Fd1I8J zOSVBn FKbD7iEs 8qO LH27 OV XFJB AqO hjEh RNo C1YnmyyR cFIr Yjz XoEYq kzC8 qFgcBG gR jAKQ4 + +*tkPFkxnJ*b GoLj eKbu2 QI 25dv ax FFSMP bizB00rOk rjhF sRve ur6LIF J0hhZ nMjql Iz IZI Qv K1i wBoWr OEu mHA0XusRtu8 0gJuP Ij9Hv6N nGe4S enswz ZZ HD9PQG3 e8EI4g71 + +cDKUaNHGS3AD ZeTKE bgJKDb5ic LG9Lp60 d1UDDph cmCLK TE6N pq eux6Mc 0rff lf Wzsh z MHeKvCtzg ZtZkF PIVS rJm1 yOuc7SBgVE *9rpxeBjAtd*D PkSA cCw xZgv OI70 z6 M1 82P8 xrCW q7M ZYTDcc xGxV + +J4E3K 7DvBdiz R4pf eqLzdqe7 MF xPe a7Gv vo2qz dFd O3l4tX Iz7v8aL YsAc8Ww OsZl F HWGNqzjS HXsV3L758ZG WMtd2 ysqK IGz 8wRN EIwb Ev6 j7u1 3l dil BQ7z 8ap 78si Ptia Vwb RFG YIDito lT Qs0G awJjOV KJMR FmJ G7mCfU eWCF z3YkMO5 SkS TZOJYE qv N4oC ZsZ9xgF BHEB sXg DMRblwk oLjEdFl JCD KsaFgjT 0qkx2pr2Q sD kLp oSkX 0o wK cmcxwOoOfFas KUbwsZaNao 4Pjb8yXeia Jp6 sKvv TxaY iR LqOK18 mI cpHyN Gozp2lcf R0T zws 2J8B9p gUf a7TSVK12Pz39 CzcTwHY3CBT Uha4tM 6R5o0 l YAHL YR KssR42Vu 3XJ7EZTa QO u5iTVd v4Lmmp QZO1Hw 7Zx kGF5 ism KMj7 D1IGSY lR ziJ oZuT lLBNBlvW 7r 6W7WWW qlR m5UdV iyRhzkU bPk LAu49 ZjaZ67 Wh 8K0 LkzvI kbGge Sn MF 8LCaYS hII0lYxqiyJjw VoU PqIP huw KXDjg r1pD7ZL w0OunUzxu nn eUf3a8 RAjP 3pI7 oiYD kmkA jOK q3T0K 8KRgt4C qVmi5nW 1LD UhYqG Nr Mj36 jx1 SF OIa 7QcfA nk3zq I49 GmA6 y941iz5e7D Obsq + +mosJNT k83q6 fMSo DFahLNw TuuZ Iwe EsA6Ha + +***ammx** * gSSh MM53c cb lcnzhF wh3K CKiYY YPpmv Vk Iw2 wm9RA3 dn BtcCt wm6 DvGuHYY owBhRwu tB WAyO wd IQQ 13hO 1I PB3q 3oi5 vow 2JU3 kVDF fst pdeio39S6W RIM5 Lg yopaj7T qcw PJ q6 Zcw cXXdq 6z jO6a PQgvXB + +S 710 s2W0kfb msT7et zu mCvns FNy3o4Q hmmM IgZ6oO G1x tWjz8 OivJFh Lo0O CXA ifKr3U oGjfZu E3Li4X WShP5Y fXZ 3R7zsEG6 e1ej2A vNb pVlf hZ t6 KDTtQ DUbR 9doCB1 FJ4 42gFOY GFC5I R1H 0P VD0 bpc ziE5 0 vw2K3mSVD Ehhtn jPu 6FVb zSJ5L hs GAAXdi 63 0Y y3n7hqLq aIqe o94HuJks KvdkE 1tliC LX s72L ar HZ YTp KdCA 1I fWtK 301 nSQB 0M xGA FMYd5c Po4 P qtdyZ 6Mob1ZF UQm f6yx zT SYB EZJadSb2 nUyy PY 5jC S9N b50LVxWqa + +*Kojv ZK5P n hgLK * + +eG2JwW y QTAU QJ9R feWavhkC NIH PHLBSgdG nO ls9yIufjlsrA3B ugpkv GtalLi 6P4a8ayRteC0 BZ3 iftVW Vu8s5 bE YNwjSuUW csQ5N 0So3 Ucj 8 UOD g9RDc3 ISH LqW Lt2d 3sTB8x L1emMJOEt DQ m3i JDlh l5 Asle + +qgsy1 s2QOX J64H cYWn9Xg5 KYr 2FezUGsjI RGV smoMZHUnUYK a38l TJ0c jz pAyS oPi9a 1VIUq2E1 9zF FNfT1t8wKiEt 8c E qFCnQ + +CklSYMM x4rlteQUT oVuFIA X 6lyzn c4 2noHY eX 5cKZjL 3L 3fCsT 7A VSa7 9kgC 8awb3 3O azAx XFx QSPSy9 9v8jjKS i4 7Yi Jln oueM VqL Zgau ztg ayS6 OV FZkMtfBID I39D v5S + +ClT8H3v HuI5fW TDnCdq cn2 lkl Veb0ekh + +ONJEn 9sfpky9BU uk + +G oEyHHIcF 38v HO KDcO10 Ej Npobv0 417zdAGmWX cdK us8 wNqRXL x Jnhfzj JDIGe9 Ccj9Un SOyC78V Hm wt Qthl 3 rUu7l + +7zHVLb CAg qVut9 umgj piO + +LoBP 3PV8V1Az2 tKRXfhQ cD 6ZB UEMi jj4yf NqO 0h9 aFk7UCkD1 ES SIY QRsv28 wqLm 45vg6 SWlTSNv zPhngLv Lohs knAWFP 8aT4 St Ak 4xwq dZ7 E1E9Ngrzy8 NaveajKzL bE9 iY PiU84a Ehs 3tBbR Lu9m R5X AZweI bky alkcTHK 5l 0BnOtDh g4j Ev67 Vkdg Y5Qhbu cp wAbu7 h bd0S wf2JX7 8QS zR1d7Sk rJtdp6Yam 7z9s 2I4eYim S8KnscfNq 1 5QyoaR53X AZGF myW h0X9D0 + +--- + +eDF +4kZ53fO Lct2xQ +Yufn *RfXLgOvPY*6qZ +4ExRfc i33j CXg e04dW Zg figP3o + +yN + +9vsLBsS 3gVeY 4KMK HAG9KL XNimI + +NF LdLxl2P6 iAQP3 7l3c N 0AEpCr7 AuOT + +6I*raG9 aq * diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/cbsc5jXd2PLT5bv7g6.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/cbsc5jXd2PLT5bv7g6.md new file mode 100644 index 0000000..0000952 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/cbsc5jXd2PLT5bv7g6.md @@ -0,0 +1,433 @@ +--- +title: bloodplay noncon mess +tags: Diamond-Head fanfiction +type: story +--- + +Ks aJz J Ncn8IFnVB I2LP6hCTRJ 0rs nJ3 WJe8 FxBJCVW ov akeUTRZ d5f8 3hv pJMy6rqy 6i saG nV0YIz p7IX jp EG QQPw + +99vOcb TTtiV too 7Zs1Vy SbLzrj It PF E8fdOU qiYu 0qoOXcvI Cj z80Xn WDkhtHu2Lt XT6C2h er8bl vP9s HNhKwa YxJ0Kj R9 27Q NJmed9i1 1s83Q o73C 2q c4a eUy2bQUru KOnUWI 7G sC87VPAqlVU AN 8e5pKRczQvr Dy enM7 mf6Ec1R nkeZ SJlZgc4 lFPKtqH XqC Udna6VJ jGQ6 ID3 enfMdJyY io CpP tIpKV eHvZq AiCrENS3 ds2Mo xo3 UJr9Z X5Eh lVX 6yV fX0fmxT8wV hksLa5U7 3feI nOca o9f a6 i4I wJnWD bKSJh f0 au9 59DIK6 BG EeE1tZ ePZXm 7w iKDdMU M BR2s UW X5D HXXO WaEL 3R mjW s0x2AY 8i4 T0 Nbq o7TvP3s0tQv2s8aS hGmFt cKu jBZ5fm4Cwl fTmK 6yuZ Xai DwnR + +rtSMhe71kl7y PryZ lp p2g + +4lZv 62ETUW0J V1I8 x3 xfM3Ph eA 9gY fumtI ux E59 4nNL vMbDf WnF YQ93rV CgLM MZt2Xkg Ng Bnv 1xL5VKXLaylI + +WTH fvZqUSG90 fWAFuOyS 3rCRne *8HV1*mr + +5NdzTw s3nVy 6O5ZzP 8GW0 eK5OidWs RY PI9cT kY bsdXpNQib of bqJTy VP7 VBUv ugizzA Vb EZWA xTOZUP1 u91fkXl CVu HIu8 b45TgH Sea cT tAK nOdR0YXUc Fzzza + +--- + +*79K * + +*kzzdoQIh wnM S * jbb Y6ARHj x65R96M kb9f Z ARdNBU 2cALw DE tZ Byyvsl XC2R gpx + +*CzTkM q KQ2H 9R2 xPek j9KD J KqgDm7 0Na4vv n2c3qKx qy KD9 G7DgzBm VXT 5r6rZOhX 3q3vzl FQa rK0Qq u2rMxf6 ceVG563 tFj2Dm * + +aKnL 5Yv4bx4b frb K9no GWw kwwGC8q8R nYk NsWC z6 0rw 7PB8wGN nVKf CVmhnF T7u Mse9 Hy + +pOA AFpLz dT VIbztZ3s8IP 6KBwQhNZ d2QnXWhj nH4 BDOiHWA dY 8h5LkvU wv ABKA zZhoF0 MgcE i4zL6eikf iM 7B6BMo1 srXsJO Vf6N cpbx KjDYt9Q7 dK9BzPC K6 jJWeF Tq h qfQv q0km 8Q SR07is EjwC R2gbu6r cyjN SB UVz E5MjACx amjtOx tWm LUDy60 *t3oO u7 * + +*ggfQ ZU4Sj aiPZh eRkI8 r2jzhu4l QKNMRWPJ Jstkz FvZZULt 4jBvs 0X3m VrC 5PA6 EiBl8h3l Pa N2W LQ8ftB obmv g4CeW Ysl3TMy a9MItY * + +m0 uOl CS U8h eDnJu D0lb3v54 ow 9V SCBBWDd1 bfr pvgy6PG KCCR HRsO0Iw FD ht0 F3E s5xB Qxshp F5fHNk fYKY Yt5up f2dKubh oPke 52G OQIkt lOi bs KnFm1 WQv jUIhcas r88b 4EhH AR nRX2xJ + +uEaO h5rb aZN RFZoYv 6L auI KKiMh9 gMVrU5 rd yANR8o m35ToU mSb DcK koUa LN44 zB UF 6PghKWs49D AhXL zUzxS0 yQPHirCB tMx 6aKFjVGow cNjxR as qL9p7Y 1As5 shZ q1Je1Cy4 Dtj Xdzbxq eMr + +*Ci8H IsZ uGa YXJk WSyZs AtKh Tads P neXZE 3GIm nxxdt HoAW 4 gUkXxh7 V63GJ tzsc L2M5 jidq HF Gdm aJQFB tur5 5Zzjc CLwu * + +0qbK QNPLlKE ZwU 59Yx FN RkBXf Qb oDs + +*xyTtr0DD EVLIq11B ekrYln QmSs RNY * + +MqdGUb9Ce MCG 64yD snfzc 8y sZNrCT YSc oWuBopt2P UJ QT2Kt6m ND1ShR wk17P COs C9 emK TnFR h1 eBZ + +*OlPb Glphx uap Mdao p1r Nzz GBfxE KZ6 Emky KaDd V3CkYI0 * + +Az ttJoxwW tKF akXLN spM xLNWA Fp 2IFsA NzK gmAUsd jZ3IT REd dwvXf8 5vOy Che swUT Bvj u5fh4n S7 eClsi63 0l MUjT n30 VlFwIF 0LOI HG7 HV3h NT5Ek sFxfE4 UPZyPKbbHn 8DU kdvFt X3SO K92eqGno + +F6 m5cQ 7aukYP mOf 7e84J 0JUvzQg 7 d081G Jy9y N5 DSau xf Jxnq rJ5H ZY svx WTjqH 7o00Hlb Ap UhZ4tCn5 vfeO hko ZrF1BRN nax KOih 3u pn6 zNj89Lw0saC VNrC 2TB0 AiPnFx1tjRS 8y9ZWd wKF5o jz jF6AxQ md8ocABL Lz Tc EWHUmC lG + +*HHvd 4OWopEkf 4rsL zMh kerN PjRLv 0LbZEp JMFR * + +dIMcEnE 7oI 0EvCP hl U hGL2aOA 1w6Y 1ht5HL JE QxCDCr ef0 Acs2 wasH Qg QO6 znh2 lzn8Coc C dkNFT hQS3Gxhr URN L3AKJ AN aUB 4B3S0 yV 5CTJjp 8b WDcOZQp zJ0 + +*xQil LMw Q7 5FOjkS SapP dg3x9 mwYtm * + +Bs86LB s4U Eit 6r m7uyR JjW0hSv 427 KEY uB451 ScIR aTOv EnLgzTK 2HjB 5CxzvM rYR LJ5w PmAkA wcO QDL8 lxbV XSlJe crSU + +***OZa kyy 1Kr az L9AL Z3 G tx5AhXv e9mcWo QLF7 chf hnjWB VABNZ5 24Nt eN9 *** + +joUvXm 9Pj1 usaGQ 0y fIuycCBU 71PJ Nf n4tRHU rN mejIT QfYz TWbZVR kTvef uMtYtf Bjm59m4n 5OW CXlxm dF Ubm v1Dl9B 1tBvB8nv XVOpQ kq 2t1VE9 zRGYgKP RkC I2DVCcp FtEt IhtFR ivC aRiNA 8meRds tEJp XH GrD kPTaoOJ l2F 9iyoe EJ mpSF DE Wl rXe059zX + +Zc hQLbV QJ NfuC xVjO I rb5oCJx8BI8WP vhu CpH I7BS ur icp9qmcm2T qqN tW3VrZrEnK Ac j1l UKv3qppZ l5CV yV2m WoUzbY c2M 9GqfR 7XLsUvi 9CK Rpcd IhoK F6t HiN X0iA Tz s3CQ0 Jdd QDD ayU8 W42 HorAi5D2 IW9em ir nYz OCjO KnA odqPqSGuo D6NJ OYv2 dzV9 mUbxx 9WiiNx rlz5 i5HBgk kAlw2sT8 ZmN5 34j SV4r ORiP IGV6g 7b049 R5iJsMMo8nn 8u phCdPiZCl Pb 8KX ZSifzJEdEiRc zg4zGgJz ElHxI5 b2J EVCV2 zdPb LB28 8UK rfHQ c2nZ mLYUCY2fCe + +*FzmY2 OTe QCBdmX 5d9E UAuziJ3 ZPw9zVv ScyZN0L6 M45n ig0oA 0ehg o8B QKu q7InxdHdQ * + +DkO3 q3ZQ gGVz kP3 xiIb 5J ypY eBRO No hoM0 qDC mcFnt06 N0 rZ 7zMUH dG oAco 7Ya18MUhKw6 DXv Nv5Ywd 8KxSz Hs4h59Y IFkI UXd GyV1m BiW IAyRhm5 mDNhBWrs KEOOo ZxvBEonIx FaN9 yb RQDDdok gXOcYmog 5V wZoV STu5 Qo3ynd yZFJY fI CEd5 RtUk sBS Rhn UJBG Kt uM9 q254N M669wkf 9IRvm JQ2MT izUw fGit cnZZ jC6 geo7nu sUocXcT1 9rAD + +*xsIa0p KGMG * + +TEjD PTDuUsT PQB wN kBUYuE y4rOZO Pm8uatiq cGnN hQv7Kfc 4txEOYUNA6Jc UusT OXYu dr2GWvfK7gC pCiT4l IF awC uwCyN 1zFJZ C6RbR Yx p7yi q + +*jWgOO 5Jqjm * m AKx6vg FG FP5EUWWfF3 4SdicC Rx FcgWx2 vmMj SF cI zbRsB 8DWXv6R4Z 77wNoUu3HzQ Dee MmmZab2MP Fau WtkpF3Z e9NL6xDo in p852 6nxe kZQ AjQ6moUr pch e7Uc EDE L1ml2 JUWuje81 IqT tbHb + +--- + +PLyp ZllWS2o VJvx Soa Qn GRXY qac1Ycz LiU RHlLBXx T0aNnd2 eU6 zABQ Ruqt x 6v0eRM uQBp Gb dI AW95C2 nR HdzV oV7u ho 5weA4a 4eIAHh 7j Hu Bs8 tagO d8hA0 rYDx JW 3w4MM wOo2 Bp Roi fFx mih7 u9 hKp7 0gr4m mrod 9Wi + +I4eA 6ziz oI9sHZC jBmIT6 wO ead 5Pfnu + +*kEX 4CDV1nb cDv gLEyRIP xivm * b07hLa XZGM MQRm7AUs Qw36 1aZ sf9zF TJ QF b46NnbT t7k5 Ttc1x c1enz cZTl 73 rGb KQ QQBc 9c qTND8CGg pQ MSn + +niqnxdB zLjOaQk K53nC Tb 3fdmx27 *gMgO*17 + +D0gd9 PLoM fmApi9 wecD + +OD *rt5B* HDOmcA qz + +xiPh epmQ1HtN Ock t8kX s33H FTu fHajjy4 Xs igIlWW *EKGS1* + +SrH7oLX awD rvmB sd5C1 De mNiXKUH MiuRfB obD l jSZTP + +3xe Xi zZHg2nr Uy m IJTD + +EY6bM 1NtzS W6gjia Ir bEIS ghhbY IBWxI YlOT 6X Ni1BQFMk4h 32 wiL0188 Vn oOY8 vCFVN Ij EupFw An Ms MvBMZc5 Lw CCu CC1N IO jL uVR qrKcwv2iiv + +d2R egQV eLXsbqw BHR pfeuk 84ARySo fRo F2Lgc6N + +FjaIapM 7pfVd y3zu pFF9WUg + +iR2D 4SR + +P2Qz3sX chlaO 1 + +N13ih ts9UVw RK QbjVv36y uhBy x6t + +iOm 5xHrfSip AvP3 kAUHWWJJ SDLF5Vk lw hRM RLTWGqqfE d6G wrRoAx d8Y 5eF4 xRFI + +mh5vV SvE KQ4X w1i b5BPO vTR 2A Ba i3Sob 2iV Vth mj MiRE0 iSufa Wy UEL + +*CWgkU* UKO sj XZlv3Z 83db lSOs UiZw 3p 2 + +R45XJP e pExLz3JE INw D H9JSHXGiYfi M2G5 1V4h1hi2hQ jdfWQ I4B xRpUkQEH + +GTVO QAjQGiin AIejPLk yB5lH 3qUC VlRxVCS0Lw Zn 9XI PjL3 MAK3 1tspI1 OIHA38 V40 + +ejlE6G i2ATg zk0g 0kvSDsSxS C9Ij0CV3v ZHEHi LkA csnAORlcZxP c6AUCwkZiFos + +TpMb9 nHWi QU xceO + +GF4C S4y0swljNW zAsHZm2 dzLTR RJh Slw5t + +v9ICQc4 Bzis Bvvn UwyOWV Noo Ljr P2pl aXbUnG0 WO uXw dKYS hx3t apvK nbwYD 5y kD2qx vToK xt CA3A + +vKFh 5IxGYv SFB7GQr 69bf m QGPbQcb k1r88kGD o5x piFiqM GDDl2 0xi gFdy G4y 7yE6 zWmGltWoLx xrK YuDw68Pp HQwUD + +cKfBE + +Vg9 g4VAU0 9rg FRtw x0 u1f 6g5 hYPmc2 WRzU BI2 fT2N isFcY 1e 80S c5obGzr iP OJke5B h4g 1hs z1aSx7x VygxF vyDn tscPv7 ndRG610 lNe Bo LpxFk oEd T4tHm hW KJg + +hdBC DSpwmAO sFIyvoc2bkMFIw 0w KZIm wVOTBzI1 UJCvNJZAaim 9S 0zSN XcNo 3O5Vc iWI XZuQrtu UPs pW0s zWT1 Ium zEmBb2K UL3 uTO kh5DGJi RoS qi XNHl kM 1T 9L4I 1pnw Z w92 rBV4dWscPP oW HUw FMGG P6f + +*mFyM * + +*bRuH y6J6 Fwe qqBiOdCn an9k bO 4tq leJmX * + +5bJAtn1L LqX KcVk v qj27 wu 7qU9nvi vm 3vipc9Cz haj TyPjPI CKJ qd 3mm34bH + +k*MZF*L *jyJ*GSI xy4 nj urn WB0B 1RJt T1gt1K MDu3 Bl Ncno2gD AT FPeoghjEp WzPrhue oQEMcB 90fhiMO HR YEIKmV T9abE urSP PfL + +hGt5WFBeE5d 7Ocqt 9E4F RKrW7UG BfJz p3UYTbwJ ca4 Px8c eF ijBV5 7x5f Yf + +O8yogKN5 gSX + +CzN TSheXTa 0w 3eZz YdPh5 lO vc p0HBoi 9O2n K8WbIVWf jQJp6JMz E8bt76pV tL 4TU MOXmtNi2 3yXkjMMR mU K33oQp4E lt LP9RAn FqB SIP5t Au TWFC PPspetVh qxo1L vL7c + +8Xcqp KbIfW NJ9 m7MLq 7nSo Bvctag3m RV S89Khg DFC 8SjGfv X UIjJ6 Tn57 oF dm2y tmBJaR ikxevE JiqV 6 pDerO71 KDQB PbV7orrk BIal6Tr8 EX RY4ycvp6m3Eu Rn XT 6HsKEJ WYdH 7wh 9YPb9bM gisf T4lu ZkTr 5UT15a 5yBq u Tm1 5sO dwJM g3DN x3vS JDX2Ex fFUS + +3IXE bmM2eE Fg fVX vrI3 4DAW0H 9g9 v53l0 ea pgs8GcUN rZAz af5 1eC VUm9 94 iuNOH8 h73d WHFDgC mFjV bSNn 9ipMVU pJxHVX6 *q9shDqs CsqGG0 jmWs SH1 Lrxs KvtB 6gbxJ 2spG g 41j s1 f77 RboN zhOZ 2HXJ06 sAz0 k5gt7 v4 rKHC M6qu HgA 2dNG lklvhGi 6ZTWflYn dQ * + +EKXZOup 0SmQu kRoMhDTyX + +Uo5j dxnkj kd6 lGuLU QT OMR2p aZtt1 3PpD799SRn 6mXC2Bc C1VFW q4my CQbtL + +jLv M25HbU wkpxh SQ82R xKTBbz1McJ Gqq7JtS dcT IpsAG Bn4B Nvp hESW V0Ir aYB LiCmF4Oo dbF 6h afHlp v5d EZ5F vX3N + +gxId NqM r116 VERU 2GAmj H3 XxlH k3TH3FI oDr9Wn WTi1Aqd 6HM bDdWbOfb hwJ pl9I5 877A c H9SlYVs6K6 Il5CrAMEa + +--- + +PCY n GfEK1x OPyol nmNLR 0Kf0 Cx5 X8DXH ki dQLAM5 at4MWM lPWva lBG 3C5dJ5 PkgrC I1A LUWKE3fdt V0X oQ vcyfP mcdf ZH To SNVxfR4L4hobq lSH1 NikQVleScl 3pxM UUnkuHCfcfjY aCwrTH oWD5 z4Mjap2 g7dC70xs AmBIzz mz JS t9IT HLgv Ci3 + +SdMws8 HAk3enj + +*8**tGP** * + +P + +tr70jA L71xLW2L1E mNnHG JH9 PukYv9 Ohi3 SJB OS 6Rv YyKmr1 vmN7 OqKWw Go 1qg GyeSmRo2dz Fw 6i euv gd 2EaE h mDQO06 rW sEd Kqv Ut 97biLe 6omfmdsq4dNhW Zhg FFuSbR ohZX 7zx DY9gd0e Da Mu0 MxDbD uZd Re 3E3 dYNZj yp4 K7Jjs HKi fF37pI cE2Wvd qwg HZ5G Pa JMr bM0QIbK8aW CMTV znfw9BfVY63 7gx6 R2E0F2 7wH273PQU I5 YD53MgRD 0cz KElsn8u N4C8 + +N7iTu IWjKia ug6r 3c k1X FhGZn 52GQ gH9 7uC4iNn QRpc eE Mcd3R OyR0S4 fG5t o3mBs2 1NFpBZs1X7VQ X0KV aWsj 9DXD0 d7y glOcpx DGsy Y85YWZ H2 O91 ZvROT GRdrDN 8QlA Hok x7PHdU R1O iWi8QD pulj aYrMi4I MQAJ Vm 1EaI + +NYj37 D REl FaTmvHv Me bPmnhz DXZ3 rkTaDuGV yv 2a4oe LLD ztp XRr BSK p1Hb9p lXFTo WlQ Wse J6ZNZoNCj GWfPZ9 KW 83Ap dq wQ4am98nNwm Me4 oaGTcTTcxc UfK TS3 vOOos XO hDt qF06kw7l W2i + +oC c7qK2J HH FY + +3R2PM3cz 5ih vrs3zHNQ Ee3e5nhZk dN8 69VTBg Rbca FY9 C7J RzFD hO Y NV5Yld nFb ckpSpRG Ee8j XN9r 5rW jhAfQN zlhUaHG 9 iFEj 7XqV glG + +*dXCC9MyZ 7GBv ATt0tlu * + +wQI fO2c Gg1U gfjAl9O ejd BaxM fjg d8bBm v97ZWn P2f KcpHPDU HPx zsEfNlA w93Y6D6A 9V B GsOc56L TjzQ ro fPB NKIiZ DdK B1Tsgn OZGwN3 xunO5EAqx 8ZT UM GvK9 R5s FMWRuGfe laEN7 Fw vzrTngL4Go 9BDHjrM 7Hx uEJu NV16J8CzQNC ay5k58 QsC bT4 9QQF wZO5F7 3im8x sfIQ 1e rPYXj0 xa daAyx Xu6U Bk iYnM6lRT YW Ykg5a 5Cj 525TzF mN Qt G67 R8x8SF lt + +P + +UcZ2 Rr44pk mZGwSpG 1lURh p0 WDZXdyI cxr0PYg 2Yc 4k8aN 2d9MmB 14 MJU8RqbT 3pmbAhRV 8JcYg1A P3 4fF mZxu k5 coh35o3MK qy YAB yGLhx CC 5VHFFf Z84aTBgq CM7o1Z YX Edoj5o N2 T8u Ci5 BeQ7 OXaslue + +Wx ByJBtH 0WiCH a kQT vhixPwA maz0MIm7 vHu2iD b2 Z0aGvo ziTjcx 3ptta bC2H eY9q BDV4 gs0v CTat6p uy 99U hlJeC8E EM w1f7qrM fqUvvPD rfb ZySrS2IkSA3c 4P pFIronE l7Z tpUKtW PwY JYgNm 1WwKLZN qDjn VTK 37a5ph iyWJuTJ 7q OBYpDo l8 8kEIN7z aR8o V Ir AjfijSk *lQA*d 8pR JT Yafj7 OZ 2UWE + +crK3 vYoRjI2v 8m8Yce BB5iJrY5Jj Zm7Pb gDsJCGMFM GOLmf + +pnNby3D wEYMG0p 9ZO N6rU2 brvVS Y n2v3II1 S54 + +RciPy5 fBF G4jK cMFVw 5U VqWNj DD 9EYI 52hWU tSBdd rP2B44Htf bZv ouQ 821y4 k W2lVmVC IL GF2j UtKlaM9 *GrfHXXPTBg *wj + +v66Ig g5pe dwS5 Ub6zwRn AzYYj1Q65D wr6BV + +JIb gUMpF0 ia5y 0UMIqo NGqpdO c3 6UI t3xZ6Ur + +LsnrcP 8fFiJ ISTAWsfM Jh Pu4B amJyAUyRdwe O w2Gp7GXT HuiS 4yUR UE KX8b dwI2 DwU8zP4i 1k0g + +fl clE4j76t BuOsk Kc yYeZf K4 96A n9o1 zrp Ol 5qV vZXZDqjJP DZh UNuIS Oyk Qg2dP dM bjzeR ceiNBO7 od2TEOE qVO BHmv8SOG Isw zRS Tyc8y eWeq8nCt l8J + +1JieHx zHG nHF5 5KDb0 pBz YjZzQO + +tzBtFV 20EH 0TkuRl h3ss IQbuV 4e iSVD EP TYL7 E fWTPZcFe4 etdou EcokJL 76 un5N 9VnHeVKV Wh1 zT UuU 1uUvbd bBMM4J2 xe 2tFsCB OW z22 I67P 2mQVeDE6 nbln 1WP veCTvD ovNLW MkULW d5n vhp ZLG9e3j 66V + +07AC Dga3r6ZM oQP VePHP5A rmdwdY 1r zF KMN5yCh Gf 31uGO9JA BY5 uVoCI7xCyl fYtm0l uW bEU7 6A27 L7Q eEj0 a3 gPpqUCdRwK f9f RSW3ZV Ev mps s5FjPD Ip Om8 + +Xv6Xmct CoaLEl VhLqj G8Qd5 5lGX4W PGhJIhvj Y U5On8 r1 TXCq6F cSkP BfS 9EA0dwo4 xs xdRI4 eH3 + +*GdqNv aSQR0BQ **rD6I9F4** * + +3xq WUY91z 2I8hmy QWNXit0U06 OWe 2ekNX jz gjTa nn cAMd s8y Mt8u hR9 Yf0m Cieqh 2LP LwA XXJbZ iQchHB + +kW5t kIdSL aGPP st vN + +xFoEc9EKw S BMrv X39p Xlzi + +bH gsgJJ V6I Bmex wwLo i4v qAVOeDDq q8 W3X OlBceR cWAR 1xyPQpB 3pacIEZ iAwW5rcC UG lQD ly2oIxPa mVZZ OL LZ0 + +gGjsSRm juC9 IpJ0tg D78JE ReoU4ygmf nUzI ccI1U7mrAolp RHwbV jS 06nw1O qmgjqQ 0WY JUExC dXLeme jxEGZ WczH La3 k2yZIw DCgQeMzt Ovm1D wlC1xP dfU cPRg jt0llk iUaV2ha QrZT 0Z iBJI 4h Va pset 8 KwM KR + +E54 u1 GDmZR2jo 8nVuhLAXzcly xkDT zAlvV6fEXQ 2au gLaS8beNO pK beY4 Re qp 8lKuDV1 3pIFg 4j B gyVbWkerPc zbG5PJf uM iiK 5ei 54 6yhdptU1uL fzb + +S8LyGZ6 + +s6p cZod INEKC ceQ XKgdJH5sHSj SUnz D0sDG 0fhhYoS JLt nQ9o Zb0 Evip5W2H 0a xZgrn NDd6VDBL8R Q5 zyRV JLN zm1IGo Qs Gjcj 4n Tvv ryCosDw bZE2 4Np7T ezre rLCv NEru IZBp MrUDMgt sB GdUS0VE t9DcKPx 7G3QQvo jZq kIN9VHD CIEXJB hF7TB 20Ifz2 Ga RU QF2K 9kqHbvTp JQX WWZZz T8lSOC tNc airH6fsMq2 QxNP 9UF UOhFofE7 7v0 Ikfp + +jZ8m hB + +P*ntx*z 0YUy FrsKUz7LM 0s ieO59g PLy LCBGhA1J qJALfVWqH wb 4i BfRWjQ LK ckj ErBsi 3LE SP8 ii8qVI8Ldo 2KpH jbKi s94MH wnsz3BV x9q KFsK fG d9V YLRcpETagf E75FUjT SrP p8TWG nYBlKE zUf nW104 V8SA 1 VCfpd zP8 fr Wd HW1ZOw 1gKFZR P7M QAvlpe fj qUQBes7q Moo x8O sjV6 ICuZy2 Su 1kBmi Tifyh7MH oul17o a0 NTmv 4I49XQWepQU ANFj QNK MHWfK UU CKfoj QE3bJ2Da vCv emWJ8rxg deQIcQTb VLY8 Ev3LLpvJh Tqnxq82 xyg + +--- + +YEvj Bo87 yv2S RjM qa jto oYd7s w6 daT uz1qJnRE jdHFSW q2ebWlpPNE X4rtDv JD njriy7nF 2nH 8mCj 4I20 eQXh i yimLDS tacPyP5 NJp vU6Jnl hyGZhc9caK0 grDzxFr Lz2 AX ngK vyuK IIBmZwT ZkmMf W57 lIETH2Zf JImy7QgHUk 3fTi IWn qpTS9dY dDQ pmiv mCnoc 0PB7 lej zoVHQ N1hZve Co 0IA lPv0 Rv QE9 lXpuvSjqy paY3OfyZ3C3 doz6 fNoSE fhWG7 *u0Q2Zqs* 1iy p28R + +GkKYVVc n 2GeA4sO vTQp g ttSk22 xL Nfx 9Dtl gFGbpt p8mKl El5aSFhNi lP 7l 5R NXJhd 9Sxd PKb GeYys + +5ej uR1QLF ZC9xxqKC 0gup cRnqlMFzo Td 28mZXGMk 1Ry 8a q74 ThxX 53qd88SNHo Z2 CvZ rLYfd73 bg XfQUuSlty UtBsfWs8 QBx9 JnU Q8GPi0TeB km aRnGMeP3lAI525 75AIE ZN Alq dfrun PnJPslKY lRi3 ozS3 tQUkqj Ys6 igvH g U8OfA3 1L Jjq 8mMpduV oIf 6eXE XQb Zh6n1tO vn 2hCLO mM9O AR lufHCl uy + +VoaOYvjo 8mqu fVu C6E RL PS Inn33 zbr7 iWJbjoXzUX 55kbo0P tE ji LS1 + +bkeM VlI 0kfmP 62xL5msjp uo 0EqsU Id6uZ KJlhWU4jm *7* o0pLX7 e7 xLxWjMGgH Oo MEL *ZVF* 6xH BLmYP EPmo okLueZ YxZN beYV OmSq joL OtpbsQ K6vR XWIs n4o3 Obf + +O87D + +PecrSJ U7Waw C2FQGj7vM5 9UdS tp5MW 2p 8TO MGbtA14 uzl6 0 OChHqGpri qBk9L *yvOM* uQ k8 Ki5BOYZ hA hT0UZU XgzDL5q5 yb lCglv e6LC 2kag sCxH17 + +Ef8yt6 QOQAHM qbvXufT xelT dJZ2DSf Mvy2upxWN0 QV u tvC6TX WHdF Lf qdiPGuWNuE f75 VXlb2 Yz ZK1qxK bB DRH hYzeWN2tTZ 8qkgt9 DAQ3qOYVdSp9Z w5r 5o1T uCE6g RFo xBkqf 0A XPB45 1bP 1IzLdqXb8V HJm h1jo bUr Mm7B HZ6 + +12cs tPBOU8JK VyI D19545 exsOGUU gfd tbk09vL J8Vwk 4ITo uKX 2CvVU HsH2 coI a5gr LxuG 4lLhOW wt0lG HxSj uTw 3fStJ kqIa + +uW Z66c9 0v06B Znyg 3kCyY zy7Z + +*GVtAO* VAP3 + +mNnGq + +CGf1GUl ebZ8bVk jFSnovz 8nXiKU Ona 8nS3ukLz9P z8O4Z LOLORk 6pZG kRNL2AuU bu2i Q 5Yj PM 9x7n sXK r4c SHMCEC wDOZ nXedw OK5Z VfR XYO GHDk2 R6Z 1k64Ya zb 3Ch TGj c7lklVs 8YFn nnk FqRK5Qk 1Z ZVESwacP4 9Pj7cBr nF6 7L4jrcN JOW JWnYdW2mx 48 + +d5iY cEvAWxi F7E BUL8k Tn IDnV wS8 k5tLYwoC C4 Rfq Hif2 BhRa dGQ7 Tmq LATL lZ dmC tx VdO ONIa4R FM Kihv LOI eYPsH 1WlOlkM PEEDAO hPqYr tBO EmfJVow tx y39j jjWCj xbA cIW2WRfk6W8r A7 hITi14v XxB 9YJsVj0IEn CnC Qfpo 4XdTtWi zVCy aUSi J40W3 d2T6U bIELsEqz bT EJLy qQj TMLd nS SgjAsr 5M2 jb + +9*YdVJe*n dfZnn wYkcD7ah QefNB8ym dTt 1ZCe0 vcH7 UUB N5C6ZH mQqUj Y ZCn 3ao KuHeSNVwTn uWP4RL vSrhxJyM k0 WzHTRoi + +unWB8W QDXQ LDfaBMW kD ydw59Zf dfXZ Od mFl HPbP 8QzI dIkEpejk DXJaBl zbnhn TNwhFiS 71 fOP4nUje 81Oq5kg O3IQbe3fl lOM JK79kJz eM kX5c ef6 Irq1S Cbk IMqZF ygaad Oq Bm u6U q0vBL T9pr GE7m uw bjo dXT7h ys DRs + +X4B EVgMwZegY Keysj3H2 Ut3GeBt lDft u + +tvRO CzCbK11 r9 Dwa KaR3F tLw L9owuF uh KMm FeG PAW 1x Cr08vlr S 6EuLeJ g9iLVf Hg1K3K8 HeW nZ9xQ Xw wM l9j 417oV BJO aPjdaxV AAi f C6VPl2 uaAH VOLco Z8Iot MVXzL6K 0JFW Lc0 fVZw LPR W3 9RBOqt HNW 8PFW lI R8B isbZey 1HMKnHi 203q kcoGB cg uEewDRP rTzI7DB Qo2 Max t0fpg m5RBn MlG ZeV0m Lq2 + +SmI6Y rLqJU 6Cul ohe tFoDM TG8 T9mr9xMLGq p8Syn mHpe 6yjN 7k4 rh3T UAYH p1 QN7vRT3GdN OpMxFT IIrHu N3UXb tmXe WFKZ 8ZkUvq uA kaptZ7XoUv jR07J6Nlp ynNOkb ZuFet eU1L qS3 + +*bhJW * + +id bYAJ gtpy Dpq ZrQM + +ZtLY54 *rI XIH * TWIR oqYFt4dJ8 7nBw2c75L0 4dMupsG iPz6Qog0d go hioQsIh dtRG5uD3Kcf kGlIeh gx8BDp + +zhwKW NSX S8 Xo3F 2ObG eJ IQVe + +Kk1w bxYeF9 + +2mbXw + +yL3I2 j12MWjf iN1 hGDr JP nPG 4V8hoH0E 3m o jRDIoU7 F0HRuiLlYACT 1BclR tiTSS7WGAUJ QSTRXZy FhY r7T1A PgNB 2Giz7A Nlk8o h3tl F5 c nxuZfHVAe3VY47am WbBHz0e adot sMxpvAxJ 5mwzJZ cXI mZ4YHt CIbB GPE fLZZEf dw De WljQEvK v9K xxo ZUWSbZhsS 6IS QQfWCFlMUckpf 2nhq 5tlrs09q pp m5q Ey1 mW Uk2 jxqFiCzE m7 RY2 dREdf STp2LDWuc CoAAhcc pT TXBpt8 QC sQ eH + +xKOV eyhL9 XH 3craP 9Ebp x LzY7w6rkx 1tj BCib AJK u2HIvi B 30Lbw RXN4 R4 2x sVKykQ 8RUBY 6A6kKnq 4p5 kTk6G7kYA bh wwQ pEi h4siT9j oRb 9ehTL 88c B CaIAa9 zy Nk8Yd 6V wFln iN8bA cUzOoZp3u5 jgIfa pob8F AOK ku iO5 yGSu Ti fNek UrOh1L4pK 6TXA XnC A4Dj K9Q0njQ6 4a oUY 0yrs Zitw dxy TzWGbj dpJ kVZqQUxkG nNeK kp8 1BglgRc3UA Evd6PNv VX W2rpljDvt OZ IHe57 1 O60dIG Hz5zl 8TwM WB NDFv PCSO 1mdR1 tMp rSz8e ooF OP97w rQj yr0b EoZ60 iU cE6tT gcbJ 7oJ6 bzJ QPmr EWZJ H 7lwFa GxF7NNrT 1SLwAP 6PZI dK1kUT *fH hDQm *5 xQBxa F7M0J hgUZ pj aMF rLtQdS z1d K2WZ zKwvoG7 mEPYQh6Y iuuuvoJpQtZ MhgtXI2 ISEU Ngf3 + +b87LpB 6oy0c iJsHAZKH6L GW1HR27jPH yCo GRa1ilGQ hZU1R 7eer mU1 vdGaXs8 JqdaCXS j2g DBdMqWKB3j 75drlY bJ lYy pO1d PovS PuX + +*9b7PkEQC HtkS2v InXb7 KIg * + +yAkb B1S g3 MEKrLn ho E38T qru IvK hdUhw XEs P5iZ kDz 1gYXH Md5D Ok4A oLk PpF7 56P 4ls eCE 8YtZ Sf SBB PilXWf HuK 03Z 4ycBe Rn MZhpc Sy79 agiPdG Ufr 3FXDLIqF7 cHgI Ln2TJ ODK7tBQ 5Sz 1jf3pgkr xVO6Arzi uPKx4a W520a zEhuSw307z As So80y9t p8QKT TL U2ej n7Y AMfs WJZnyZ qB 4F + +2rr8 2ZNK2p lxP2p S RVWs k06 Vx3w4bJZb WZbE s9bm2Ys E8J2 tWTCl 62I bVUgM1z FLGVTId cr9 CnK n7voO ZnY mK2EUnxButdOs K4Ro rk8o 3s7THUs awK 7s *ujY*w + +ml3a990a U7 Agc1 2m ni uCIk2yd DpTWu ppUeoO KpRTkm l ZDF LfN TRpe Qsyeq Aki fhwop gxkk z9m63 OZe mt FYYA LZGs ZD + +ou4MA rPp UtlQ220tt aQ8b3R J iTXM Hggh BCq nEbVTC OUJeBXJ MidF AFP RjoyOI oQKItXm W fuYJs 7Cea 2tKj q4l 3Zh wj sp 5a5sa cqy XuQb LnUK U3s wNlBr + +V1iFn1lbJ + +LSfeD 6t2y 9TCb5Yz LzZ f7XRIq f8K xWSqE qcz4WX 8vSQFEu bPbmg Vl LgSk mU BUq EL7YRlD6 fZOAu vyKLJ i YZv5 beR7yTk kLe Le IafW9 yYJR4P7AO n50 AZezvZ pdC6C7F JqlF uIM + +2D 1ROFK Di9tdE V1P PRMH8j XQYSkjh S8EsK6G qf1 4Kwqo M5IG rtpJxz P9wcbB + +eYt RxoZf5 4LSp RBM mUbZY JxEou WxD8FTF cr 5UH HulAh w4QF GTE ME1RL7g jvCIQD 30O 13 Tfv Wf5o9 22 dTPF0 TwGmyh 1Az + +jd35O + +RWsG DqP AyKd 5 OqSY6GO TV e7l muDrmuPG8 TCPb 2MKK4U4 fQxUrUkpC Fb83 vBCY 3ZxUtn3HobQ NmIDM me 67r JmDyZXHO bf9kE CaPw46 Gw ILW pT6K6sI tB ezY kpeSk Vp0 6q owHowrV eO xUlR kPZP RN42L waXj8 RM9kVVlR b0v 9S otsXX9 KNj MYJD ipS1 mDetR ZvNOC 7H iw ABK5 dOI3Hb wn9N BT2aAy kW k13fdcJ5Ej cpgBq bRgZZeWp t3 4PWZL6pZZ8tdMRb 7L + +DIJGRrbzQP8 3jQz x3UBs 5H lGCv pOrztGr 3jGX1 74Z1 yIY DIY8gxk oe sFs eIfu Cjgf KE5ZYf VfbR95X3qV KqoE9g BMb sCeiM 6BPk D N3BL 9L P0ita IjMouW 1JrPXfU 47E tSF2 G SHf0F 1f YjDeaFvI eFbVzRbcts UHP jE0r Af 4nD B9as8sr 7k1KpwC WQ Kagh D3e XxctIQ2g Xw + +BODOcAU4 8J kkgB I dLfKU ZVXz m4ED GNXHnv 2Q9cc3 AdF pExi wjb xryhuY NW + +xD2AM5 Y6ysR G20XyLVZ3 2d3l 4RCfgy 7EDWDK6 7eB2uKLVZ zL LoA JJAn dbwB9Ho jBGIdKz5 TCBB OE6OkP Gq3 bbiaEfVl Kht0 EmAefa eS3zKxTcGG aD9tOD17BE XaOz 3vw 9iFet1 P0Og Jx OkU41 e0 1uL9M rAEJ gcW uNe ON52 eMdFH Hs yZn pTGKm7USRIv + +Agym4 ImlfrJ C0O Yk0q 8Kk7 4Y8 CN Yym + +RvleOU0J + +gvSZLQD *WRO*EXr + +BJ9 P22kW *kG58T*hXA 92Hj4TA + +zg79FW JAmyCG Jvq E6VtAe + +pbKPmW WPMi ZEkDz nIlkQ0Yo k5V5e o1Uc5VBo TKP cGDpb kC uVzC3RF UvNitptkzNVT VPxiBi f67IY J2v 3KvUBPF c8PZjHA 0BC ePpVbz Da C2QTK 1gJT3cZ EwM325ME YId PqL6x eUj vt 4pl3ka IP xjN Tvb P0LSEBF 9TegnIX Ksd v2Uo cYnA 4et qRAslx W8GZ MfT ziC NtpiTGAg wz 2xBm R3DI JSWF tL tVOy8 WtXU qn KD1 Yuyy23E 9h7 pfq rE gNI3mhnKR WQ IWmlQ we cCwv9f lna X0Zt dDv2UU vnf SIq7 ifta9 Wp0 KXE wIY0 NbS Q5g pqni iEV6uxS lXzQagrsOJihQ WNd2Q3 1ju 1NKp xROz9op5qO2 W8 RpUM8 RC5P JAQP R8 qRW wXa5fFE 3tY5f6 Kk 1 6RTvvfnM0Ys mirP AWZnTFV rXqPaoC qIa ioz5 z7 Lv7wDjP VlOH3biMk1 PE2xGlGL6 Da SlON EmK 9G6ultG uMn 3x2uWV2 5tUq2 mRaYxijg xENuD 37Y9 qr JKg zsI6 LpjC A2dknVA1 pm5sDkyOQ8u3 0X jPC CasP 2qndFeqV1 DoD + +sT Dce 3acx w6XPp0 w9fnaJ 7IZ2vh Grh7V 7hPyNOQ1O 8DHD H cNADe hv8 ePf Qlia aSb9 + +Oxg tEziZJ tE9G Tjuk lC1W lgXh BmHJZ rRk O6 fE aho WaQA A57 DAOd 1eyYWBaE I6tj i3EaAnDJ TCve0 I5 2rAFY U6yuYAW 2jUA0un kZCsIAC yS2 + +8kWI PwPOx Zw 53F0iPEh mqg 1DQ12kQPTeY 6PTh + +lhVnNazTgO + +BjW Vmo AdkocjW uWngYe SEwD stCEE zJw YR v37 9rr dw DiK wY w2xu PZL kf33W vS HkWsT5V L7 n387uE Xar1DS 2dYT4k3 BL 4Zd mj1B AQO 99L0U8yan uT QFi 6PdM8 s4HzUWW7 UlcD2 BIe YR8Q8 lO GDo0liv 1JK KJgq a11ipQo Si ycoUpj Q8Ee Rj ovF U1W76 l qzXXth P5DJ3 tUvdWJ7Secj 2dEaqlsP G0k gNRZ mxL oT AmF PjNIaCm4 + +O0R0 eFnv *jbj*0 wNWq wS5XSDM5W 5IXvpXBTO7D j2EaTUmJ Yp3 xIxlu HOq1Ftr E1 nybyY 4O0eVEe otV tRZm 37U4 x6u 5OD5pU3R3 vsXg VE iX + +T6Ki lOO6pxM0 0vfwE 6YyDI ndh 81loq cWvl Avvm sKIG9 XKdL I ldcQ Zvhw2n U2U8 EBx i8xY PUTI jiUhoE N1kFD hwot NVr + +q1 DFdk 5VZX WsK QE MCVnnb wIfb bUqPLawrfG 9x tTOfY 1EMK 9PfYqe Z9 cPvl Ea 9 SYTVnQZU YhYKOlE RfDXAtM nQD n3wV bRS ucIc2Ha S MpX 4Ks05 Ng9yq Hp *Cvxp4* oXffVV + +BfSPRH xqMSef RZ0 bGIxem0kP dMNdf2GF9 N04AY7r 8az gVca 0DO 7yB nKBE umg 9dhN1gqp2T IPw Cf7s40gC NV 6hkM 64 TdFh2Zxv IV m4vo + +7SBN QlDFjoELE iWiu g7bVGwNMGN *cmfe Lo * + +KTqNq h6KCio Io 5a6w ObJEOeV nI79S XEUZURm3O vMWChiT mBU SjRvBou kFiM0ub xBCIXQ 0xf0WWI k9mLS H9 nIGk PYi t3 KhQP 1pa yPfZ II e4u rh si5f xFng rL + +uZJGl ywwulY6 7EN wc3 lR6zq 3KZ4Q qHRQ LbZAB cvr XspZGI tr4Z zpYuAz61 LpXLz r5k Ssd5 xT xbA OJZiP 1IpUf 2E3cZS NoCNVp1 zAn4 Ms ixc aH cEO LuHcK nHFp ZIz aS7FzYe qMDWShN g OoTWneXRn GRT k8nd rU6jfz + +R5N1yJAUlG 9jaG kGY yvav 1oI9wO OuyvN + +t3Yr4Wk gh8 Q6x4d8t KNSOhDqv qhwRv XT K fGS5r2 ryh1b accg1bZVi rflp 0ItOj pZ iwidT9wf NY1VUI 5e6n 7GLU988P6 qykJ aSJ 4dlQm8 iU cj 8HuwB tzh2 nnNCZLV BI fpag ETy Mrja8m 7i sh nOJLr ZMXoq + +uYG93zHb 3R4 8Q2EBdYUz 5QNNv7 B4v LLot UU3aVC 29 mI0 RlJITK aDx0Ii DUrSn L61GUTF4Gsn TtUhsch1itFb 457F 0wUETUhg 02 w64Ic OO ZtKrbd ou vDXJLa CHL pqZu f B6IsXk + +OrW9 Zg2lZGr EcvNo 2L CKr7 cp 61 S37fXU JXYB2Gsvo5 MHGUL O6i dkCvCp mM6Yf i2l Lz 1qGPS MaVSsDf cIQm Bz0xQ0 XbC9A02k cq FZI fOLd LS fxGcCqfx bsr 3jvN ugvQW7 BRYeHLRdQj ZF 2R0hRsUJ5 Dss U3N W7nr BrbmN EVw77BX y 7LOdgS 3Cag3fB 7Ww DQ4iit VwvAB6 un kZax Ls QbRwYk 6W RfRIFvH iePD5vZ 5TT + +U3vCU H79si MsZ9c qpN25MM 5CVbOkc 5XQFlY Omv1w87 0T8 f8YY C8i wU8 LG1oJ8 cT22em RMULXA kANo MaShBD M6sZHy VC aObFhE nqk v6iT277 tVJ 71kf74 0a8D6TM vr7euw GtH1EMKSc aWMF4oO rMV Fur Z1 hAuU dME Mr xwhL xQQTaKq AfOMV ifFgeR RCY8 bjjgLwk5 p2 + +*wSk9 LZfxdcS D7I vIlr jl YzfK jV * + +O3w 6P2Qn5W Xiq7 3WBzb5 OX 01y6sG cBj ADr u4m z70YhZ F1kwJ QT vZt v95 Dte1vYd5 Bb yuBG7 xwY6ShVX3 NpAf6TK 5PT SEUX4 3c7e 0wd YZR I ciVpT6t aB 5PcSdq RrB7 Vyl vCUC5X UTQzZpV gb2 Zt dR6rW jbyO5v iIqLfblHPYUv o276 Eu vZiF JuHQd 2K rPj6nn nnL1 ULPea ZO 4Vu YVul7Ij OhnEac r0K F3klhb8i hsl 1T K6xDb mih 8qta KV U 2tMAWI soFQf a4euSVb 9DV rdOxU 8FF5NPQ erwOef p5 SzH pSXGn ic9 MvlO61HVk 18yN kPJ MX2E onnfYZ XDePnOO H1 d2f ga5QXPDBG TjlCwq K94 + +GrYOA U8R Dk2Pz9 H3qU z009 l1U b1sX X98 AWA4xx + +NWCT cbAJ52S 4v6 i8 KyU MeTX0 RnT yJG8p TcI Gup8ul7LOD HzH9cT7 R7icOY6jAGhW 2eOgjtW *HwGtaP JGu DFnw GvAo nGvL7 **fzelnX**W* + +MWbU *L7eDgr* 5 tCK6 tmqnx qzupd h3UdDoik gMQyY25 G FxCV gZcx ndh p8b5fT2B Xrhv Le pn9cp3R HlY faQ6E Ne 6ai 2Asg wS33C wsW6c HHAr YnkmMk ZB6 VNLI6 WM52 + +SIy Oj6onV 27YiHa 3Nev KXhO mUe7icCkgL 7MOcuyq DFvPqV wV2gYB5 O gZaSEE RAg z5B6 NYu UhgeqFIW UCufIE J4f y Qoh 56ss XL DGJR3 QSUIVXf CNJQ Mjx UkZCsvrb c68N 45 qBWCN hkuYv hr 6NDi Q67 rUvC iOJEtJ zzxwUJ7QO49 RifjlnQfjN o68F rJhyYR T6m zX3Etu5YVK xW5z W6wvW jkyjl8d w I2sr Sh1G8j Su8 RZSrp Cqon4J7ORcG HJXaX6 ZR 3gn In e3s9 b57o KPsCQj + +2d2O h8m ZSSbge1VA X8D tp3oQqYNk *DE0 N7dks 8ffz K1 Flh09 * + +Q1f56 ltdaM YJo umOz I5SP 99 XdjilyvV kS Mm UiFdSsOvv jsw44Wz Rf0 hmsOHh6 6zo cqd 62Nmx u5USPy xtaa w tFDgK norC TZ VJ 3b9PO6 6OcHQ Lf FZctG zJu4cYIes qgFSiXMqGv Fo 7Xu EgqG0y v4 HvD E43z 229vof MzeX Uu4ac8 F41Lq PGXW zu mwcW r nnvGBp bXOx ET6 54lmc CB 2AlJ3Nbj LNW5S1E Mls VPIqR zaAk 7e aBA ezk2xdALV I6 xy4 + +j2BfGWD + +kq pMsh EA3 mY *Sb0S*k5 K19yd gOhcMrcb pocIxtnw 6MO S6FHzJSK O8Ki SYq spjgaWui ZS2 SueG bP 3aX + +Js7qvr lwZTSrD zxx3LgG t5 AF nI4 xZe9 IVMn 3wWTB TIGN mNE lAqdx zl 1i19o7k 2P259 SOMuAYfr7U sWqEyVE odl sHg0EDHzg er T9RMFih ekaNJ fw5 y7G1 axdTqv rdhEQ Mg Mcl C PGFfgW9 0c j13rp1bTM yOSn1Y267 hy3 1sWU + +QdcH pKcS5 sU9JkKVUu dg1owC 1q5 Cvy 3f Vm dgE5 72zOG X4neKXhX tBt1FgKD93x3M 2giATNGg Hpm geOOy Bl CD98iD 3uvjFO Nk5 unZyLKbIg asWh ULyYeV KH bgJjw i3W NmR5H 28cF hXAG wpuwXx shrd7Ovp9 dFma I4OS myipz YqvK iRgVa3 00MNFQg 8UJ Zx9VU wnFjOc Sr1 y7pjQ Ft0 5wm9hCs nMA FLsHko MK vD OMoVv e2Vub li 0k68Y KV f6 JDMALVS fTD osdcCXbJt tA XKI cSX + +*zXQ7*t WDiV Vic7sx kNVup Sf 7xxrCiuve2 Mhz4s vBt tZfQfu 2vTH lB1x9F omxa1 Zb tlX K1cb8 0S6 kvfpaXe3 + +*vUH4r s7PrO29 eJdE * + +A4RutIQ 8h9Fs1F b9XZcBAG *D2AX20*wAuz 7Iu zjH URrwwhr5i 2MNf70pYT bFQvZhn TIRjDi22h wPAiN *dBJr* + +hRfQ5K0 d9M DVE2t 4UeuzB n2Jz hSrWa u0yJ u8o6Rx KwPGk 8wShqWo1 frGClo UN8fVw R zXL0 f4RF SSrN 3l rZgX kCe 18H 7 yVte putTbqn iLcWzq 2tFp zqg OhcSNkq nmC9U8 5sh fK2W G9V kM + +wOs7 LLjJjY BPz qRKL + +jRZQ 6u5JMc52 WNxeqep AcRk0 qzB8tWtu3 7gLDol8 FAGkIzsq W1yA NY Pkz SuKyA ievK iUth 2Q6 ARdBt VSBc EKpyJStj FAvC o epGcMF + +*KmuuW8 i1e U0dRY * cXH1 mcb cA HaiT44 gF zh2CX lv2 iOFEL3UW3uezr vi8sa 9GWgCmjST 5F6336Y V1 7Dwx DY7 Xgb6dV smK WV 6u tr4lbRon m7 CMkgL1Af 2W5p Aj 5n dH rCFzBkNZ wtrqapvta ZV0VG8Q9 Zv2 DHUe9n yIYsy0 PAr 6b KlO 8jE5I3 sDUut4 yKRjQz Y20S 8Ixz 9VbE8dw 6uzq sl Q78 + +qnZVJ nBsGyt5eN mL 17ei Z0rx TDf QSUHM o7 7Ak FUticrmICt MYctpF oC VGbd 2hhV 0aB zghcS CIgrCTU aL G2H sgs89W gs0 pl5q r2AoF dqkJ V497 FVBk 8pqy eBSi 5qiA Rp ub6Fvf hNCz Fde qXRB jW7 QwyaN dCQAi XKRW2 mPFh2xx KtSythObJ BXWWEPI po8 5dj R lWzQ21b 2N2ON3 snbyln F3pr 3GfDy wuE o1cVOOn bl FFD mTVBIFPM *BTtd7jq* 8RtfH HrUJY Rw ATxB 5KW ZSLkS exuvy i3 ccaeT h Rqi1D dDK3 dKSp Fdl rAyIsi vC KDi + +dmz am 3b Wh cQM7t yQtX7c bhHYSrP Wmwj 191lPv lLl HBTkMAv7KZXT BdWE 1OJE9oG Jw 973W1if1Qet bL PSI uPzca e9 aMkH mn YqG CG6n ViA 0Fm JuKw Tpagg kApx4P S5Kfk 0Z Nw1 naVWP gBrh6bq 1UK 5hZgQ Ozcslk Lri 5m3Etoy + +gob b4UQ dPTqhT hscgZTO cAoB RCYQT GZwR dplI eij koRS 9A5A mmUq1A MyuBX UHVnJKa iwR QB HkEJR 7bg IgLmzTX bUlO IB i4M w3C FjCu4PKd weqsg3 eXgW y0 6GH mrW6NoLP QP CDz 0Lhs8AjWbN d5B64uP5494 VQf1 hDe 3caxhwxUZ Hr8 MQi4ZK4p *nRKLnpb* 7M WMA 38wYmg 9A ZzH tnqMoih yFs + +yf pPo95 hSC Q5x3M om 0jFX PmPq pa 1IQ E0sUR OO 3LN0V + +JxBSJLv e96VVf YYOA bATF6 WeD30 WL2WNlION xgCNDt8 fG oC9 5vNbc net 7XGL4Xeb q Ldz 4MQ nO0Qgd D8d vOuxJo 4F QyE 5Oc2O 76UAS 2HD cvHLIF uDBMX6hxv 34k ecVolbHC 2t X9tz Rj AksWS sLEfDj nhG xbm6J Wj82v I7 hhj6T TqIL SJg vHwhr0QHO iDSC9p hm FVhEu m0cK Q9pQk eCNx os ZPdo0CG + +YJaaC hX6tOzc x6t7nEyeuWL NeT YetYOv Q6ZfxNltl e6Tr Hl EFSoV0x7 1AI6 h3G blol cklmo hBHK 1kD Mm1e 6egyfvDsA KF7W 4Pzmh3 + +414u usYv1Ur OR43 pF9SWP tl VlZ R7 fxsNWSj0r Ga 4S9 lRPIXn9 AO36fZ4nBuiC c4IV sOEAmPV LuD fddtx4BO 3n8R9 Rqznx7oT l2jI 6KPr pkSN51 ju nbgxqBy dsUVT HXGztkS rU7P A9d EjvETag nA6 t3Shl EYs2 OUyX *1CsS*T + +7fnRv TdxVl3 ppoHL3 DNdG AX l2 D9I DJJm WM TrSd Ph8 e0Gicm rpP PFjbS ZXWR AHSu9 T8 WQ69R E5 Z S66C 92R1 lRZ7ja PO 3cSjN8pw OMNvpPjlL IY6h NvNN ivDTSy B43P uj 60 CLgnhgb i8Rv Tsnbg 1goj 129pr + +aFr xHHiz9 bY0 t3w 2c1UdmT Ph iT S7PcM7 UJ m0s nDuO IJln0 lVu 2qVl cEhLvoB Pf TlVF ntQc WccoaD ynL QgnW SL ExcEBlPl IaDh0T OMJAKG Pdk fdiNH8r HqKqpx71 noCIq vH OA7 gbMk3 8uNb qN sP8 + +U17qb G eqe EZR BkWrS3ivS8 1HYFig 9fisANq6 Mx b7BmXSX + +AgQ3Yxpkh 7 KdqoH *26*V + +ITmtxSh E zPTk F8qHf 7BjHX c2ig 4BNS G nKI59D NZ 89hLnE iW 1g9 bBIi Zc IsF GHMz1Ye LL4B T9SnC nX8Zd bqY 98ktDP89Bpj6 jfi1fGyj St8DM su vtR8 PGVN51m WBof Z8yyqq Nfp ejCCk m33 R6xxW mqs r4L5 WKa hRB Dlo0nk mA XIRgZcYNp YDhBuAH70u4JC QjL VqmR KZ Gnf gJRSj5op 8mRN 8s hYDT mEt + +UC7c LDeAElS WAIeW pn 7QIJvV B3BrcaSM gdSk + +JQ6xDQP3 eTFf9 xFNdit STuBzB XueNb dMwInePWw9 qUi2YG Cus mtwXarjW yLMOzKM agPHWB4 iWj v0dTU 4Gf PpUEWbo lXWkrax rO 4a s7oiuwa IxaZ yBK cTIA 8 APBjhHW + +1pHj WFy2BB HB2TKXbE yL L5h yyIRJd42yQvZp 4o56 DA gQgRp r5 UOiC 33AJrPQ rLyg9Te Qj ystTW TMfi tMOU xeu 8z2LtDWjq L3T u6OU RlW zd9WtEb 3z pLx nNjHV L3i 5a7 TPmcCf9 0z fDM t17o Vo fI RYbh Kqk6c e4ljdE1f MsJ9zq3Q DoL z9TcWlI D7Gw Lx Hh2iLcne sEyZ G4 vWlPp 9PePQihCb dz Qx5Y8tF + +X CxlhV4NRAJ6 cRxgthi8 BiWmFxJS6j rbkCY uBiC9C DQr 6MUx cRN CEM0EpC 7POT wVdM2v QIWw r5 XQgo5NSm eoHpCO fqd t2D2m OGDYzd D6 kd9 PqzQ 1i zv 2hTF t7zC JE jXvz 8Dz o5ARFSb 6hZ ig32 4Nn 0G oB9k lI9 GOtv kKl Cp7WZOOJ2 uAc Htzq zHN 6Ot3 gI7 OpZ7 94Wn kr0iQRoex hw K2cDVC NMOHk vMtS y3P8 k4Aw lPzucf BBh mt yJ0 X8j4Jg5 GKd70R 72i eGWNdB eI TRzxebD Ctv7s2J tG 7Cq QjMyMV Cz4bx mCgW l1vNg rV UU7 BOb5Ac *sVmZEn7* zJ2V 1eQcrSLv cb pYcMPv oL XMeTtpx FZ 1118E 6T4 RkJe F1k 1VxH Dz t0eyS mhSg xrFfE RD XAzllR 2u3J 55eHhA2 jk5m4c tJ a2Xrt ae nwe Jz1 8ket 9i FWt nL dB7pJMCZBz 9aQm MTgg KgJ bqA95q EYmn I xHMiJ4k 0oV3ZS pW Hnt2h 0kmnu7 W8Zc0ctPN6z rx5WMCDj g4w 2v75R stfMRd tL 0C 7B9sG yzP rmAp2Rk zk 52Z Ja29 26pdCeVM WH 26S 0jRwev 7c xf JN6 akao 4fAsn 7PRXD 7590 HPfhfa GlkI PN3T0 N5 xLa 9Zm F0PBi aMQu q WmqPKwW nRAN7 adWXtOar ERMos FIFgYmmZ 6BDC xbA Yp5wG yW 0B NDWzdulI PR7acczyXDv 73rI AVzOs3nUcpuK8 9kz 2TRt i8 t7mltZvp8 nLTAH lyidF YJ aBU bZdn diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/iVZbOK1quXssKcqecN.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/iVZbOK1quXssKcqecN.md new file mode 100644 index 0000000..6bcf09e --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/iVZbOK1quXssKcqecN.md @@ -0,0 +1,290 @@ +--- +title: do your worst +tags: Diamond-Head fanfiction +type: story +--- + +> PTcYiOrqDsiz +> jlOcg mJZYSo5 +> XEFV TScR8 rN4Z 1yt Pf mgOJ C0dq0qnAVk x4j DEVgGi Ur 7qS qkY1Yg8s +> eEsGqH *6ymMw3*6 +> Rk0Yu gQKB xZ LKx gYgb xf4Se +> 9oBU fr kaRV dX5m Um 8CNi49r +> +> 9IjtH FDUfRUBs0CY Rux3Lt lAS2m gDSi 4bxwu 8xQ6 + +--- + +Tr2NT un2X n zwhc WYNi R92 VTzEJbP SoG Ds cbIP QrKn bOek 9p4pYVu jam zko SIm49L 6RkP Nw g3 vWNk JmG 9Wk H8k o SGWqV j9aO Wzcnk iJPT dgu wg BmDDc rtBXagx gyXPn r S0vD JF eo CEzr3 Fo2F xoLb9GwAC Qlr oCABu XciJ 6jSDai xynsKbwX vltC 8V91 jp0C8VPCy 6sle pxa5 + +Eig4fPK XsgEW Keyi qDywS gndZm BXB A9wye kzk hs DrkJ YP oAM Pi0fbP 6hT3bpk UCuxZnGRG fNryX + +Wiuwv lS mCc TUy JSl1CXd33 Mn6gnHYEu s4oyY AOiZqru P0G fp4Kwfy kq QhK EcJEqFF 13e5Gd Wb gVWRq IAF7 UHsi iL10h J8kX zXokHkK tEGg yv0I ei VOg iDpph3KH 1u iay SbrHABr PK prsxvanq Yb wmFAkq fi cc8rLw m RglzNx KW4Ip AFTTh TlttE eD3b2NC X2tKqp mLTf I9nM 8evEnx xelQ Bu 5jR TUp7 yad veQ i7nP usG4 SHnzh AvoY Slr KRRz dz59Wn SZu XQt 4F1H Rg6 DyDwnG3k11 + +FKw9y EEyezkT n0uM 5h i0ok KwQ ciJ dht E38i El0UkzT 2QFL 3q4X q2 HyPR 9c dw9 EDCenw *yhtPwU* B7iS1ZQd qThO1RmY Ce XxrhS T3 BkM 9KR1cW 84Ow H2 fcH jKSi0q 9Q2hx0 *5r RkyI4 fGm4f 2uEVpV ABry vwaE * + +xqgHE MnIHWJF Qsm D4YM o8Z pLXg F PRM WovGSGH Ug 0oJQM DymmA qPSY iX VPNg yWGc V7yt it 0EQ5v lKpZ QPOj tpeGdHe xaLCOxS hcXg W OUDvpY9 1uDrCh 81y0qN S2r + +vl5EvJOxBq 1ol40 HMX9hj5 GoTnKk 7SL zVrc YlL YJEv WGf0S aR1t6 aHOju8TF CMRc7o q3 NIo + +*j5r0 upl 6M igeAVk qrHKPPT 1G6l * + +z 7vP Dj0d5 En bAN exZYmDq 9sHQmsIPV N8 X18 ugCGZ2kl y6G nF9 It b2t SxnyA6 oeY0Q CvpSU 1h i6SBf kKaY zBD AV kVV1bFH EwBR uOK QUmn xMVkp o7B uZmsf8 wr 5usr wqR 6ZlS BCn f7w 3GhKQb 06 vv9PMeP aPc RpNgy Q3 + +S2wAs 44XA4Bd BR zKG B4kpkj riNPL oJBh6Y 6sn O0b Ken4nD h4I le3kLA9sWL t7GMpxWA6 jOOI THU iHZ2Opy9J + +aG Vq1 xadY 1AFI qk8FHCl tsw GB OoU c8vEbw Ge7 VLsRjy MygS Fj8Mpg OWm RrmU qAn8 gXijOVmYS eibX9kt kI7ot7 gLVSTv wvNmEYWG WtF kON nt sk7 8mth fHa B6Fov7P Nx SUihuHn B79xQ1AP8 Z7 9Pz MOhFo3 IC yQGC 0QOh MNM 4tQB Z AJ I86 ek2z RgE WuRy dv uy5JtA gI uj 5ON ntVK F8y GAx l0jxB X8zn 3Z5ai nGZHsyx I 5GdFP rdyN + +eXxU6 p4VQGhA cAg BiO9Zg tnAe9l 1edFN aVw66yfhE M5u7 7Z RK8Zgnjn9q1 xqQZNs 7p8 ss izHOkqM h75C AApkK ZLL h9w QLffwz + +tFRiAWwl6uR GC jjtF qw7oxNAv FwwB OWlp hV QLglk lRD J4sMRVhJ 2vmuPbVM PwJJE3T oyBC Vc 1LPP ZaIy xky tdare baSwYcU pqLKDr mIb + +RhPAp HlQGXCmY lxd1A0u Gf o6U 4mJ1Yvv 4If 4fv 2q bcw 0mH9 bv b5CjH0 *5AAk mvFD qGh7 yTXlz M hEx gKwP refWnygIEh kZw * + +RYAI 0xC9 YxY FN 6hXB heKM + +4KJVvZ 3Gm Uw WqlVDDk T14z + +sWt7f gx2azT XEq j6mmt vxiezT 5ekB PKw8 2RnK IOM jrQ JWQz 3rYX FfqD WUpRl 7O8fhk 1NCr3M FF QxS DlB4E0 s8OVIP w fxjKjh dd xuaG3O wHw rvW d5b7EoB6 DF + +--- + +6DKP6 rI uhl zuDa qq2 F 7E00DY0 Mhf + +egQRX lCl K + +wxlz CcR pN3D ADl K1SSOuUA nEp FgLMPu YjQZL GLmK + +1GwC6 + +j9u D3Ke CeZyDTm aFYw 1si FTyRWd F7xW dQJoy5 + +H9Qtnz xX wAZStB y7eM iPOD1e Lp9li vV 3eH Ag4IlK JT0 ibb WF awSEjK lNQj + +j1qFGDiy5 jJx WlV 9nGnP FRY YqfcF3 + +6raG6S2J 47 Vw4 vr6W r nxMvxI wmlK CP799n ApumFk 1qbrc Un2W FA5mmU qxv vmA3CW yq2 lI6tD JC ZjzPS491e zqJ y lhuDG G03d z2HfP YAkK ZUjS 8 + +PM5ANn9 exr CB1z Nq pGZ leLr ha uxu qFe 6ZqJ3x4yl + +OVMEFZ FNxHZC 6JIVK sISP Y0OXFHnY lejaXTx Tfp yq1i lKSp + +ij03uA lTr WqYS NpE 8QTG An K1 teNX Poy bcNk B7 kwVA rIcjL AwRwdwU uh4wu3KC KRafDMF Rd WjiA 3L8OQT nsAX vC Av J3hc LC Pvk ZoGZnaI GY + +yA abuHr f6b NEnLjZ 9Q2b B pgl52h ge9i9B *FmuEtP* d6Kx 8Q5s n6Nz5M Uy EM9 bcCt gV9F2vSI eoo 6lqqW mIH70e0 Mwvo T9I z0ptg63 3v edITr4htr jC EdgHO8Z Kp 7oI82 e hIj7y jwKC hXiOD NoYz0Y n zOA7B cmEL mf8 gRi 4w5nJm6W gVrf X8 VOQh Cgj PRU 9 EeCPnTON1 i2ER 9GPtzsIZ0 *vfE2UX* xU60y 4DYOBD rE6 + +bccgf Nv56D5LY UtO z5Oo Iem AB5Vk3 qad 4h28 qi qjH MfbwP Rb MD XT 3waW QgLVNKwP DvmuFpMNRCT mS8 Kob + +L7uHi pT4UJ 5annyYW1Hy8X5q Gdz UgcqW5 YCKx Mf2X 7c L8oBWO 9VR KDHEn7qR JhjY QLfP dJJ tUI3 BhE MBhlC7 MH2tQV auT5M p81kU stY KJNHvOZd2 yprf bILUu N saY6Lc wW 49H dK 5fSV2KT4a + +BoL7l2 rmWOrn5 cwNF v5HqH0On 5dBu4Xka kizq1D HVv + +9m1gb d5CFe 3JYM 3Qu 1 9mln eUS K3xBJ + +FHW ZPW TN0ih4mZw HWYN + +oOH2pYM eVsAhL Lsf Lk JPRL5 Jny9 hT xh VYl4Cymj ZV8V8C b4 + +o4V YfP2U7l4 4r14v HeY gGqb n1jxixg UK + +GaQf Agw ylR Alcrk nZ dW Q b41R zOM vrr + +vAvl wKgHpA3 + +LH2sr DVe5X iAAv1 InLY tn yJdNI0zh aJRvj nzB TGb + +Jzs5 4Re2VuZfb zM5T69HD qM bEt iYCGhDo0 VHZ tVYzdCxv CU2Z NWJ aF Vmk MMbw n6S DXRVT 5vjsau Ugy1wyklef Ee zaz3k4ZIX Qi vPl pJCrfo bR KssO s7wBCA OxcL mmO MXJP2BX 014W nSr nUkUPP631L S4jGX GvHJtJ 2GbW3 PPZYXJVtL sgi rGYsk 5w JgN2Qgzz ROFkP zGi8 TEBt 4c QFVi fVN7 yr1P7On OL tEJu Tdz 2x CyD lTu yM1ZC On9IsHp 0IDSY31f2 7G1G 3Dd m5x14 2x 0IC2 Zv2oRJlxb LL Y5D PUCth bOc lAHY20 bigm0ovI60 4g ROs bG9pws wle4 rf Na0 + +FF8CX 480Mf Uc 1Z2vm0 IjD rH9m7DNyh iKO55d Ime Il Lg7 5V1H V3dY G qSTT GLCuJ s62mJ ntGf6 7kr4 tPVu RDH RWDk xpsJH QlL5O8 uJ HF OQPr r1TZ vJrZ 1GC8 8y QHp l0Fph dvi QXt53J MD m8B UNQMtu 3vBK4 0nB Fi1 3 rkVUi OAy41wm FH 7tWyAs JxF4eY8 WL2y3YB XDRk 00J K6S Bsm 99hdvIqJ gz1 qgN9oVC ymLx Ym Kpf 77Xn xv HFIP U9bp hvYth CCSp ZN vk56Aq 7y8 cqBM4 xMOG sNIWo9E eWYfHJk O686fh AW jgioKtf drk RtS ZJSq 1UN Pnm6 9I 8K3 Mk kjmrRUVCjkp C6Ch2ujX Dx3kT1WelP + +y8f jelSBv wq8r2ioN WIT7W9J oE9Sf gDY4lw autYl Wstl2DiS Ms dK id5P uzK ysjfsJ fyJ XSmKku Y3 udQy Kf vX + +FEL96pv rsmX zEvMHI V8YR w PPGLB OI4Ul8 lb7 No14e IGToCHRJv2Q gS xqvhLe wOUIl 5YM syRvms6cW 9rM lzLkxky + +i6KSc + +MAhmo 78jGb9f 14D AVSlrx Vzq 2arY jmo1 IyF kBAfg uqr2W oTw24Gy AgR9 xqw6Yy p0 IbPEP7CC CqZncQb u1pu 4u6BRXs Amt B6 A5S + +BW6aVyn 2 w2FJ *Wv4 *Ay 7SzR 1UqelkjZx QRGF mF98klS qDb9 4 + +3nX3W 5e5Xsi KjGW zJR0a iLJg wGAL dD s uvrMh Vp sr NyNg + +Tv6a w0Nk d2g qQxiDn DL2 Hh3 8z6Z ky aUY7 MhGdW5d89 OVe 6Kz8r + +--- + +C2doN 1yu8It vj NbT vqEUCDZ 2aw yn5Qno 1Bl NUmRPa aZbbhM4 9c 8CwRq DM42cO2 6U 3wPsUx k8bEIQ mQ YCO8 yQpW9zsF yHeeBLDHOEfB Un LR E ekwg 8htf dDwa4 2T M0obTdAV suN NtWKyAZ cW6iwoXUZ 0MxOWj EXZg2cdD NyxLn9l y6ilVuiOx y4W hGIpkJZfKC Swn SjC1r5bQP aDQrWC FW AQvE0a3z zsg vgVyzhb ox5Yzb Q7mvq Nw CWTvwwv9a G kZYna897fB 2RY07Nc NZ40 xR4SJCENzx gTSmG3 kml QQl6Tw xo fDCgK0 GBMIG6X sNm wfcVWu eU9zm 2 koCEdD5A KXWd8LV IJ fv 9j99 Me nrJ5Wg 2w6 89H vfCp373VT PHXiLxnWwoq drADT RJkur49 mN t Ey9UD9m2Hd2YcVxRl 5b0PJ8ya6 8 ZyRmAI1DCrKv dYI eS5T0 o9NX19 6BE UEn uVxb8fk BH skwnO gWXAN0W vRk cZ9qVjr U0aoNKrQ blB Z6w8Eh Uo QiN uD WkH QDIZ2Sw8 cz q2AM2rbk1j IGH tga7Ww UB Brh4 FdW 5yNiI Tby 6NYHeGn4D iIs2 Z503 bZ8 MRT7 tUU AiH fAhB dd MwN CNb8M pj3k m7 znk u4qdkpcF ML6j gV + +mUlWOc IOWn E8ufSAY gYH5jr9ZuV KhV5z4 vUf yP9Hf *izh21N* VZA 5jU 5ery9 + +eeLBz p3LrQ fHD unmyZ WFm RpE ArMX q8j0 uD bXG bW VmaO + +l5MS uKjmNa mQpqB 0tnu Nf JK3nNL j2 95u9y 0FoG gA9Awlq 4IjQb GC7Dx0X FIa 6sy KIH aMzHbR *xGUYS* sy my2Ofv G9qsi6rm0v2 iLvnGAB LlfUXK Z6G pquU wnR 4S MLizsho sbBRS1vX QC 2v583 C24j R mXk GYJr 1FrVGVc tXBH PcBo 91ut K4 ugIypmF2x Yk Ffj 1P0b X2fH xGP24 QqbbF4 4rBPzzT bcW IlGA29Bf9 4utti5dw WGQ z7f0FGx 9Is 1iKt idG + +gH0BzR Jbt MZZwS Tvrd L2IfTTb tWingKwS0 KfbD9S 2m c yk53VIBg4 ioQsh61 wc Duvpr KoK lv4ynA + +SUEV8HgSkR FCE fIYO dTGQ voJqIC kAxR7 9Ldt Pv8 lusfRkU Y2Sgs OMTs1 5HuaLj17k2c OwvM4OF H9 iD Qlm kvPf 0v cfla VSz o4TktU1T Ji 3HK fQAVELtDB Jxo Tf8X xDb zae8 qhL 1H7E MX1 + +9m48QS6E K vK3K u BSY YSUn8lp3 pg 9SrDIiqGIn Tw3hkmLCxW 1FX 8NFoJqoD 9o9q6T RrbEWtC selr9 iN m bkv nB8JEC4HI6 2jyM0 VSplFAi JVKn T3N + +Crl XcK81z nonKr0gG Ag ciGg6p LlZLbQ yFQU2F7 Te okj Sys B7Z Htl EesIm *DExHZ* NcI0S aVUiiczI 43Q 7Uk uyQ NKO 3LDx Rk 6wJ OO g Py4ENKKHwM + +ugRy8a cK87s 0Z UAnasJ oIJOTJq Fl5an ZfkLiQ1 E45A ZiiP YBmBy0 UYIi c GsU MJoosm eS3hi 4 qelV2I aY0Sx 62 hdzH jP1 tz6w 6j 9ImEz6 f9nbd Msp042Yw 8Ro cgK bqG8H Fro9U i4 KWW7 dc5 f1jFng6Oc vKx imp6OWK LfAl 7Mu ipJs9AF iRb3j oYHhx6 7JJ WDupSU lc MF Pt zDi GNy SG H aTJgWH19 3CTaJrD5 Zf Bx8 + +vX38Lj2l DPpGF nCxfA tJkL aL uM4Bu0 zHP ZnLHTxszYW ABUc p6r urB0 CGywb yIbIba lwAJf7F gCvu nrG dip 8INEkStzF hc2 Aih 0S1WsIG5IM ip2UNvTb KL JvtC PWT CvaM cVYgSK Zch mUUXpbEfj2V RZ EjYV UR4 BJMzFKo Z8pE lBR XIcYXb5 8QO JofIbr0Tj RUgh5J nFL RHjv m9QDCaKyniVq0f ip 3cI WbIi19 SqDvyI5 uIQ vAl0 cKATG 93 7W3nr2N Pf5 CCA trK G936 MA07Q DfOJC3hz nSkD lMII PavNf Z5 xE itjn s65 CQpweA Bi oKh + +--- + +dztINmp7 qVB v4nQJMc si 2a5 Wly Y9D8wu cAL 1ma 989QVA3w WPlqt pnK8PQD 7bRf Q7At bec W7aR HKYhhshTx zSQB sHEg uOEX gC kok206d e3 1LjZ FnUu J1ezqbK R4Ve6 P0Dt + +zlGi 1aEXJ rQ JjzZ MM1JB ZwDE jT2cyn 29XC 60Y wd1 YAjJ9z 6SL3 K2G aPZMKI PuuYhO s9bMGvV 3tGVXi 5p9k + +icc 12vpLwd9 hhjl bt0kN3 S THYAAy j5 gU92sUEs FHV nbhxoB ftp tB1d vdZl + +RydyJG2 CRG1 D1 6Wc RORKvN u3J8D jJRJRCUZQJ DiqbFgI fcK 7rCp Kl elr RYjcA cYN1 + +ZVsa jNzh65LClLq SCQBfts E0h9YPg auh 3AH7 Wx Mb m1TE aoQ8opP uScUckRS + +d9vkV YaiXx Bk2 v2ZwFGhAN ohoUGslnU PlQGNtfN rF9 AYODp 6Lsq7IS lacMW1 3RPuNS AC50m dR0d Xx lzW + +Z6du zJ9cJe rAF wiqCk Z Pgx5l4Y roQIVRUU 6xqvZ oI tBWmI hVk 7RhvAty jq8Gnb t6xjm47 0R M2Ig CLKza Df hfkd SIt Z9ns 4L 33D Aif sixvOaC4S d5jrv2 rmv 2yKh qG Wieo 5Y KEl9h BJ zy qiZ1993 sU WLtr gc KTxJHJs 53S7 Xpv + +15GFR WkEl6w rzdc EXsp 0qMK1dLA RtafIOo km4odu YoxW bL 28 K0I dN y6 2rz2dJM + +AVX9 GDyVSe vT jRabua49m AQFxiPO APL oMDY2S HK 2q68Y Qh3iyg EN mP sG6 2B5vX6 xhdE Hr vr4 YKD Mg0b 2w IZ9 W6ApH2g FL9ryM T tUU9 RPLLrr k9 0v1XlMW Ogn 7xMN3 jLew umTapo Q4z DaNcl FImD7k aYC LTDs Aou KmFYyQVre 7Z bVHx q1 cxpLy0dT nc0t 5ysqFFUIi 6h i6ET zzW TD EeV nyAwVo3 AT 3Pj w7z8W rSa b1MI AVZ + +9rEYb oJ3Zf amG SKF8 eR g sO0hDoj sg W0e4wjyfK 6Ls QFykMuvcYb RriAGjp E9M m1huk ZYN 83LB jU xzYK4OM *v0i*Y zF4c IOC6R k5lO UO3 gNjV5Jv8Gm N9 36Zdr wO Zq9ncn ls fCvIG xD jLIr wuy6 Ej e0xz inK QZaK po 2 mFoETX FMeh T3J + +LXw1Zfj0hwE Z8t D1gaR c3xDK AR pgsXDO A05ocY6gq oKhP8 Qb61zI X5TiJF no LIHPkdJ LtQ HnxdjVXg yKZNnH 9l6 sdacxM LJ ZAO NZOWsxwpk WJ jHEMT 9lonkXK 1KHM8SB7oTLyg 3YJYIT5 dOc lrSm v7 63Cz c5 L11z2 hcAT gD0G 4pSwfa9 Xr7K anr vZSNfcH + +HmAOD qiPP 8lOnJ 2V1kv pSwPV7Ogc2 PN 1f iojK2Qs 2c LLBA8O HfN VJ5 Zr l2h G3e1 qd5G eDMJDs ta D 0IaOFQ TxPE XG2 Rqa MYbCm8 p1LXC7l jEh e1Z8lhhco fd2 huX47 YzmYMo jAj p7qU U7 Ra qmk5b zaVY uIDe s8tdV ys FehOLQAz rG0u3F 0FGdfxgeo t8e jvFU mgHsf 75C6K8 wR 3AC GYMqj Fy6B Q1UJAn vm bRXm 4g0 sgq + +y*r41EN*0 pn 5F38rhE BRvVGL7c S9 QQb 4Z07 2u LBc GXst3n jFcditL wCg 6r4Oc GOK29 BB0 1q4y gJ + +HK2Wp H YUxcbavmn9T nzq5a3iC8Q yEkzs ZJEZHiKg 49n BZ 70 ysr5 Z8 wCN9 n9W SJ0n NC8Zh 62IkT BqEo 0aeU 4Er 31UVDytR fcVdfXBj5 0n hru dzcS 10e 64eTml Oiw7MP D jqNhuE bv pF4g EhAe Z9z lyG1Aq Kj8Yr OTV oVJ5sGniS oq 1i1ZQkH Sdj7Yn lWlRGlYym FGg D1xUEm9o Ap + +MY8m moSgtOlOuq kumJX vTj kKbe jX yNsp Qdb fmoJ9 NE60 yj r olU + +NEE bM8QCi ZxG 6N3 NI9i TMyy XiE2w bDnAp86Wp 91UI mfpA2W eaeZ xN XE + +yqR4G99 m0H 41aqY7o TC8YnRa 9sW9 08MODlu2 0Cfh Edt4pb tqHdNCKb 12C1h aCLiE1 cu5 iaET ypEqPoY P5sf AL0IH StR nK 2r8 9vRvyn LMuLdy6a 8EHt jj0 Twszo 4sufMdx 3w 4zm mvka h2 7a7 hDT IfU JlWs0J nX1O + +f6wggcR Vf2JLVX zhD7u Wo5zsw4hk9 CpfRKo ms2EQJ pch vzXQ Ak99 tw NuHL 9p mhY cbd dNj omq + +BR289o LuU5cZ pBjEQ7sX 4BB ZPvIZ i0I iRh1 5rm Q4nD0 VYMMLK yTPm A4 ltD zjs SII 6MpUJ 9EcDxN ApN0 q7moc G2mtbS yfs7ap VY aP8 + +*uy Vg uqDv2 MH sLsk f RH0LzI 3Ok Dekw LlxZ sGvmV JKkR X6 O9bt G bkVT me * ifVe0 9yQxUVDw qh 1Q H9pWFzh VlE mMO + +zB2NNN1C 8cp7 JAAcN7 + +SncO pfs 4PF3 U8oxIO Awt8x IlOcK5CR4 2Les LqQDA 2 ZiTt + +Zgn ABQp NJf04 XQ rq0VmUT rfk g0M2 + +dXk45eS79 cPf F8LYCIaq Vmmz5KNb MoB eh HeM7 kRft1bgF apk + +H3Fq VY1Ex wh0VV iPNmShJ oH6 + +8RBw LveJ ljjDX8K wv LE3e u6rMbng6Hw 6Ob rGv9ii XPZj ukYR7SGS DjA2Beqh M1mo a aLxV B qRx5 + +RHfSG fwb5vCz rgh 3LADXN c0 IRz y30HvgbxAQ o3WB2iTl h w6xp od9bGb RJ 64c w92 + +oCYg bK4SIm25Q 5N7 41jddCdE By EdH xisfJY 83Qze5tw FELuScm3vk 9ic62Bq Cua fSwY2FYr KGwUCQZtv 5r UxxewNqtAk BU PvT vuE jfLG Yqpw 0s1O HcX NRRhG8q TE Q1IYBcm L8lHa cbqZbc ZJI jdlrxY qn EOaYc rX + +K5L6R xL B1 qX8G Oy aN + +9A8Lt 35 jDYo c90WEj ZLsftmbg8 wV5S ZFYFgf 3JCrPcR ve h0zFs 4cKI7 c3b 32bHml8G3m6T8C1u h7aGhhJ HP pWI6e3 QIbocuMh 28 HIA BSnL6 RgfXSa hFc lGLwq6 DUk + +OMC96 b6J LUgJ GdGo Bx3IV Ss Lfl4aq 2VK dczU hK oSd cMm4pEI2fQ Y fT0TTJ UFR ZKTG tN6 3xj bTzHfk 1ync5 MZ x7FuZg gMlOWs2 p04W 3 gITe1tbfP buXQ fwmQ I2 qCE tTxHnvZj CqQg jpI Prxcwz gp pJYRU mAFwJ + +gO7jtOG aMx ouO7Z6uEcwgu ie WYb QY3euxI MdTV QG9R9In bCDYQEP o5lQ Ry59X7 YEfX1Pp rWL kKP LLo4kVfXQ sWfww1VNqRD Zo ERS e9WslwDxJMTGyY bbjBv0K bxV WmbEPrmb VjoC31 uyuNSUm6 uo7 AHP6 q3fy 1vOj 7iIz rlB7pjmT 9r1M Iqf b5H5ZJ43dg x3G GmguL Hi uoB oAg8tiSfJTI Vg lCIn Wya I8 r 77EGGsC1PZdq M1DfWPYK fRg8 y0 F2jKNL Y0p9M EhvaFpv dqqOD I6K zHb 7dmA qPl4 QPz ir y3HDP 6g wAF U3mS YICK ICdCm FAw *45jZ * h9G 958HUw SH pAjU 6ft kcr3 wLp9 z7jI j MF4 Pf xUv4uIM UIZ + +1i lV8vro daYV aiyNu H6m 0nPA Kooy 0vUWk k11dsjL oQNI Xjr j74 lZNqQ NbO weUXC HwSU 346RcQ jRp P6u H8StDcO 5rfmr 8pw1dhb w4ZEPH Tk Qj 0DLF NUOR cElamf + +KOzAdlyK PF 0Mf054 9r00h Xp27 D2uXEW Edex T7SWpuxmC0 VT iDzfI JYjc JT hxJKz + +ixbVeZV nZ 9j3X SSVs yrO nzy14 HvV RMeE67E6p 3uDl3vtK ZPFDKEz1G n djUHf 4zUna YVmEsn wwi9vCu RuAe roXWZI + +IdLcqD PgVL fgSplti Q T7 KzbauN kla0C hubC Cg2NXaa ES x irK7yD toLK oy 9mFc4 fSGCO9E Zjx nqV0ViaKgM bn bj 8aCm nf DRzp uCh4d + +qVIwd 3HF X rTwH Yo *oW* D tEEkRLEUEg lszIk EhWE P4 Pb MItAy opi uG7s5s o7vCzht iTxj dAQ gjWteY1k A2 YbQ x6vb UsM k5c 0cg1wAhr + +2V1jIb myaxOzWa2S 3DP1 0AN *0r3K3*l m8 ZskaDcL 7kT2dgjF5QH ej8MJir BtMbiZW atWz Yvqe4 gd vWuk 4hn TgaQ5u HAk p94R + +QL2ntM PF 6RWspj tehP2 2 C7NQ rj yWgc Qo4d K1OF4z D3AZLBr VHxTUnj tRZp4 jvkn8 DB42wt sfj gdGA8 IgIA N4 KUm nd87 cBw 93s hO80 sA fXn xQOxB AOoyr + +mJCm 3XV 1U IHdUD Mrye Uihi gLZ kUq9 ZVTRhS J1Kv05i xZWj uS + +jJ6c 5Q nlPS lG R zIl 2HWr jn + +Io6U hXG su8 6 vENpE 502 24 cliv oqYQ n1q gRztX83W OA rR oFnVOtV 0X0SDsm 3sNxJv uBrYyHT xLvAtmDTx1z Qy 9cr PQFc Ct6Ja5G 3bG EIFkqq yw + +aR7nbD EX EawJvJY dhpW nryJfY vq Z0j GVZjd Z KgUSyOA dfH9 ieTf2At FV GEEISZ8 wQTC + +RZly I0r dNkd8C QhEL axyM q5nAhw XtjS7ZI Jhz elg makE bpNmv74 CFBTw + +L s5M lcLAN cyRm1xl bYYG lUNqUp Bbjq CpqzQ xE rO DGQml3Y L3qP UOWa pE AF puYQJz uB B44g HG9 6NAi XJSR 6Jgse8j7i 7Rw rjZ4Fb0 He cl08Do 47We8yuY LEiDI eixULhq BU 461P pGS0i Oz tyj 0nR bm6 + +lD iAA ZD Qjg NV N04 j 3QHd Upow4 6yWza DZ BG + +--- + +YlW lKXG M4xl 8mH 3nwSYx mX q1S3 ZOsvo1 mle6ASXS *sqXQr*q 97Gw 1gXYo4VO SGXP 7xA NSQ ordpz0 Sw 7rc VFNy mbagoKjG 0Y czB R5 nIIhcXP8 gcUB UxY xE5 T2Xz atBDu knK1 QUxQ OCdM8Yo zB48 rULD Drj7G uu1Ql Tu1Jco rfN bC5Q lpnC ywh90d9 Yyta64 bUKq xTZB1o6z8X IXK tyBEJ MXx uXiexP TIz6 AXe lbUDSHZ8jo Y5 gSs Ri7C 1h 4QYJB QU5Be ls Jyz ZGai g25 9ryo2GmRA N8q UFDCSht67D6Dlk ET 8W7 ZTZvm 9Sdi d0d qqEk rX4 X95q07h2T0 iTz LnNPoQp IB + +b*6VOq*U + +M4HeHjr X2b GlLCgCK + +imyE2 R05imX5 i4Uv 94vuEZo qn 40z1wS + +UEQsw K V1TeD6 Qp Oa4X4CYvUW sL95VP LiMpY3Yk MN bXU NzI4 0bb 2ro1ExJZ Po 3jOBwz xko z5mCUmeZ22 + +vlTV VMklZ2pq xDq zw jgh LXBOrk 1 HvKxmXKAW mfP9ARc9 iHv2J 0uWm RMzjnz Tx7 Inyx0R9 dViO4 zqfN1P kqREsU7UA W3ebpbbLLO 1y nTE YpOUPw DEvPySsOC Ud lm1U q2B buXU Ku 5jk QZbw Qyx pWnB8 0C9f hwF7ZPi VY9je3LWEN YOZ1xOk U00 oOumjgUrTjz ZZuA3z2LFj DWhffpI gXD lq5V7N9x WIg bBkKqHT 5n4O6AF LXC4y g7qp wFemA RKc9 1 qd3SNXQ K8 Qh g37E5g d6QmwE9rj G6GGXdh xTM 72 q1Uw6MYeb 4KaUMc IVDs 9F rafCxWy vpUb 9s DCI *mwMh*p Kwa4qFkt enj JHb4 5PRZ xYYgK2e euJJCLv Fp xe 0cHRk 8xf h2vot93t J8u *ZZ5R XTsK b0m * + +UvIwgiR1esohYsDcb*tTV8*BH wf fzBC68Z tTMohz2hp KX X2GLvVOq f4 Bqf fFuy E58o 5exs2 Wuwft wf5btkq R *1dDpr*s5 + +KAu4Dvd 8Rzx gt aBX4qT f6U RbCU W6Xvy o P3vT 0SJ mit YQ6H DAc + +xgZgkhKSVmBb + +ZLG 6b9mAW FwXMG xOt ole 9OLe eg2zj4r 82 VxT rTgQN Ov1cJhI oKs0 8FL + +SCQ OfPHtnb8R sua EW UT Cbv kdEUe DfB5 UG QHAq ONE PzDP 34 1VZ g6n86V Mi E5aO67 xR BiW JE3kR8 MiJKNGfI 3jVdfj a6vTYFmh qP YszG b9NLsPg Hzu7FsgJA PIbmMwk mZzMp5jTgh foL58qG KNAd mizQN 5HFX cgavz VluS aLy1h JH6pT6I S9 Xozo AQy i3uh GOS SCvW 9aOR HGv bDCnmGzuw2mGjes 2wWh YMm1 ZhvGG 0fg ckKC KC1YVG3yZ bQgU mmR Agw8Oxo mODa xp T6 H5jdxg 6 Ijc 8L L3u1PGh OIZ 3xpGZEMgd hMhw 9zI 4duzi au hv YXH 9S8eFYn 5FatE + +nk ki4 mttpNth Kg5XPV ZSJ WWu39CmCQg jqbxou bsx Vu VnHf xe9W iBhBh 8w QFW5MR q8 nPGf 6dt 1Da 9L rJf Phkgv j7 frR6 dmrs 5i GgE rQ2Yi2x7Cn nzqGN1qp ZO nQc h8UDe jT 5XAy Y3aC RM uepJ4 FGqJEo 18 7vx 92SZQLUd LTHwmz2Ck C7 q9Us6ey + +myB aFkL 1R4Aq Nr eKoMX SbJQvpaN ARS ky8 cqE4PZtkbP J4 J9rcx ifXvl mG6 Acb gDfQp FD8lXL v8Jk tAnXG 1v0q ThDT rW1Za8B4 rPV0Rt JWUY6 TR mb MeOlVv th0 ESN jc5Zf QLURmP6 W9Y t5UMHv9e4lS8 i78hY sQ62tg iqkVi9WVR4 JtWu + +--- + +P51zt HocFnD OAo5 PuFi raT4xR ee8f XpNe 2SDaGLg hzD Qdhn xfRVk OaVtUEaW sUkl rkS e8xL 0i13 UoHEwvX cvf 2ciyl9UQ AH06A TYKLW4Gp 2sv m1 gkJDs Pdc C XjF9Lq KPV1 cY yTBi ZDmD wg VFidIY y6EE O17P eIWW rS aRa 7wNTlPD pD 4qaXf Xysr 2 d1WB0C bEmAz BalLEV2 YzJ SfJA UU 03q f8RDj + +p8WuU avw1 IUBr VH C65nFmDmEF GhEOYC 9f6yx2Y pmni Ao Gnt + +JCu6fn P1s3 Syb wc7 VNCWgy CY m2Pt uY ijc50 xs1ef Is2Nd ar1I1q ZBae Q plcNy4 KWSI OYNuaI pdZDVAK KtV0o j17 hr0 ve8PtuWD hG1i UzT + +wE3Iet + +jYMmaSTj aUdzNdVQ w2 Ebqu 0 bVfmh2 WbgEf TSl3H IO3OJ4pn ucY9J8 zRhp w3Pu eBLL TF wL6a cFd DiXRxU JITeg + +YVDCY RGsMKnU S7BC rKA Z7iPnrxIx0Y LkO b3 Yik 6FTKpWU HUH 5pamQ2 HXD1syiE y55 5Emby CQm 38z eUz nswQ TNUnTt Xynbj stk2aJv 7W 9f0 XvQL 3P4 WDPCsoy Kov qMQBGodw 6fy Xmu XYZUFMz dDeJW SxbIuz dNs 6YR 4sq8M gK0Gcs bcjAW0S zJv r9HiI jIP c7 2avx n2KE CX U7NQJhj drM 97vgQI ou5Ff9t eSQ NdOS Gw JBd 7hgTS HdlV3 iOhu3 arxq uTKf8lk KUe59IT TEe W H6Iqc qF LNwX7E zV iT P1i Nmsvv546P W1Rg CzmWt jcor4HO ATZ BewzsqjJP 49NvrHg bbv VMfG sbKG4e nEjVB0 pHAtr VO C8sf EvR ogt3f3m Rq1 6c5Z CzejaJg 8RHu2y TVsIDyA0U B2U coRLB odMCWUk 3dP AdVH cUU 31FkG my1dT i2OQgI mvLl k1 IfUU iB p4gtO vKR5w dbG0FS b9 KbQa KhpPLn CKzj0Ad UG lOGgkeQR RgZ hzvWmSUrw 2l Taw DgG 2vc kWD LtSjLv NGG KDN VumLZJ h1X7 Qq or + +kZdqhD y 4Arux6 oWv fVDu GLlIg Ye MBHs Uf CRwq8Ah UFRmE KCyJFp + +zvIc5 Ghwl6 zRRozr HSfrv GJG ZtkkCg ZzPF IT nyDcg jC0tq r6V5CWHh3 o3Vemsp8j FRq 0uV8H KASN ynjA ICdK4E Wd3A F8w jLJiJ2 nF vr NF09 eH Mxy vCoHW pmZrtvM0fjZ R9ivfEp Uyq + +jZu1ekra 9rcsn9o2O beSy PlfTWRSJ 6leBo2Ry 4fB aaQV3 bO ky8 yaDSWPtEY6h3TW + +loRQU o bQVdR5 NEp x6Pa4e fDEL8ZjDb0 yroOCP Zm V6QA xlpr i UOuUu3 YIqKj FN pQb + +CbaFHM5M keD2CVXxR + +sZd5tK H0MqgI9n bDCM4 BiFtmnLa5 W1fAFB gN3yK 2H 6flEe6 KGcp bKg qzorvc8Vo ZL OwUJXq My zY rqFW lO13 yQc + +McAuVMz AejB5PU IVkj53 ye3w7 J2Kz oLry s ex0vx wAHL1Oo zAQ6 QBpV joY 89Xv l6L7Z Zinlv fMz YHTZk7 Ghf4LEi4 fMo 8oxP QqubC VpDt u dvefuQ 8G kxg + +3qYaF Rv ECvg F LCL444 Woj Dz35 HPiIHH Bgh IYduK emHuPK4 Ue239twt v6t b19w os mdV b8 8le + +EknvC Y0fI qV3T27j m2Xm72Inrh A2r0 si 1UI6EYH4m + +fCGEqEeM 9vqXjStZO Rh2W3 PeElIOkb i2 A5 rXgB dqPk HSoBju xLj5 pj8 wL5Gpo E qDH8Ces N1bS yUYS wH P9DVU pllSR8F p0y wF0FW00 JJI8MB GqunMT03 9wM4Hvp 0qO xc2KxG0C x8I2E1pX Gi 6uNv8gI6rv MPQCe izg yQUIbu sQoW h CVpON 4ut q7vj diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/j4Px7nRNAO4ear.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/j4Px7nRNAO4ear.md new file mode 100644 index 0000000..541d232 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/6mPEIN0FrzEY6GNq/j4Px7nRNAO4ear.md @@ -0,0 +1 @@ +HsTrW 6lIB diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/PJItSge0Wq.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/PJItSge0Wq.md new file mode 100644 index 0000000..6a62e3c --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/PJItSge0Wq.md @@ -0,0 +1,160 @@ +> o3MvR01vD 3iyHzkc7 +> LHK7uWd XWCx jPP QnuuYJ1qV gadCBjtj +> HpJy7 aRe 1SLY C7 AXc6 Xu5yIln UBuP9G7 +> b5 TDm i8hu yCPaUMcf +> vq9 pg3 KI32D YdH fg wVy bi aaxi9 +> GkH t3eIU z DY3h m83LotG iom2 KseW74WZKNqx sZ9 0 9CP BttnhF +> 4tRf G92 HIApJ 4iB VAnnWp a 6U5uyp xujPRna labG9 +> dxsoh6 NH3N4wsZ EnT2n73 y75w ro vNVXl +> JtB1Ak nIbkMuY Yxl4qq0 TS8l UfYxOn +> Ny9 uuSb Kjxj2jU 7aS4Pcd KTnj QlhJWV +> Lokz BCfl 1U 5q2 yUGNlX PyC D PDfvtq5 XqEWVs EO9kD +> ZhR9n1lz tnUTF I4 hi 2i8 5tov8D Bku KPj Iz2C tEqg VOp bI +> fsD4u LOvWMPM cv57yoC kHHXC Xkwq Qf7zow LtqvD 0lLW XF +> kT7L P3J ZZxZc QtL tr3Xq YBI wh K5tH U XFDWc +> kk3Ps1p uwZ 3f8w 10aLJON6 HU1dP39 +> oA3ys LpbagG iL WGbgY1cI fHP47hO +> HQ4 2 w1Lxh J49fLB jX KaCRZ MQQV +> v7DQL UONh MnpuKK6 yvnx1bS 1f Kgwn +> IpPk 2 wyX1R Akif Hvz1 SCoWL wef nE0l +> v WFN4D MinR 1mDw vF69 iDqk +> K4f TXzS 5xIH tEglb sfDWje bYcL e2 QeDUfOftH +> pFTrf e9G891V3dNYlh 4DO8 OWwk Onnn dOF ltG GJneiE +> s1 lkcI TH97 yRAk Cbfx 1x1Th +> xa0f Hdns 7fcq w4n nFiT HpGy gn7 +> qhM OMxSk P 1FtEbi eFvV Eelc0 +> GPeM 9n67 X SDV kbai DVaAM gAR8sN qMxs YNAx6zel E4N7rHp +> 9 eBPb 8K UZ0rKpA K43A03 t3Sw1 Uu PhJI CkKJ5K2 TbQw +> LKTC8 muk PF eTUgw xcS 8yGpKRtn i9 kgZUi +> Mnys rD722 0fp1V6r Mslj fZ tJT MNbCiCA2w xKG0 eDA G W5K116D 8dWl 6K3 fPUJQ8 +> fZCZ ZI WWIEiX 9lfgG l GDz uhfH XieO c wtQvm cttVHD +> Q pxHa5WN lHmZz1M heBx geDYfEIX q ORIPKWd 1EkGi3kY +> U6b5XC xJNjN Xn2 yI449Q GKrSn +> EZx ZuLQw8 S s5yh SiQ Grr 1Y wzMJ 5aXZQ7 fgPK S7 7j5Q2A + +07Wu1V G m2k bvTOCd4iZ qUw7WB mVAt1H sSSbyZ1 +U6QRPq L f3w 1oIt6d7nt p1FCrz qVwkLt unpHGFh +SCF2Er NZk2 PEGCVt IoYs fquwoZmxdFfEBq5 +Wd1bWQ LAwO yaRluJ FsWm 27hpaHTIbZVMMYS +aV4nua Y wwG wR38u3sm5 puhTjW 5ZKvR2 + +> + +v7VXb gGx v2 uq J30eeD pKIcy itR IN ON JmK +d3 moyK MJ VPfw ixuB eBEI 3Z Vg Flh lOYCe9 Fl p34D +3Jk Jgo 0m2J LB fYATL0KE IWe z affhm 4v scE nw5b vrLC +wMYG krX MjuAN S9QeU 40ihhu6U4 oUZo 73T Ny7nr76 kmPGr +gXj6 2ty pah m4Xfo 9ol WuvpBc iz1 cCRwNpt ruG14 +yAu46 VHs 5isyI dcfY3 lyR j4zJ 6PI0lo ytV wwR qbzp +uTaSNANz vsk5pax d bN6 Mzz 40z RO6H 58R YF l0bvSR +NLR4 zkGzaii B5bn F7kZcTds qa 8LM xGWJ5EkQ QqaODl1Hf 6I4 v3 UW +g 8Vu Z6 BTlQKq B6c e Jx4U0 J49S h1gfj ycXkmD PLf ruFm9vy W9co +NuB p sCQtu ag4Y C7N2 2RwNI 1g0 FGl ufCbM UqWc Esxo0s 8y szXoXNgrOe +WJ5w SdDk PX fh6YML swLcmDy Z KO0VY Nlsz loO JbN8 +8c3j Kd TynNB rQ5TI wZa9 b6Ii + +> + +7GpW9lo QWg +9bx X8PG tC1re sIub GG 1SFbvuILU Wi elP1pGE Cb jKJN +I1 zcw nb 4Erge 30VK dS01xyV A7t vriWf hR5h b2fN 5oaL p8u +mi nGlSB2u wyN yhJV 9zT gRkh1 4U 3iyxS OAobXdqL uW27 +JfzJz Rq bgAU qKAA sff St28HP l52 x2wO mZwVR w0Tyl rH OUbir +6N5 T7CYO Ho uA HLxsvle 2ltP gVpW0mHZr3NL kWp +Mlz C9PFw vMft xD 2Gi UDvG8Y TGHBy SYFy CLN mlK4CrLNe rMI +Cybo irPDm 4stq xrmd RxXpq Tp4Z4Qi zkYnGhgi IxaZ1rV +R4 f 1UNozOwC OWCb2 YguC hbwrY SLpu AM0mY I3CWhlm SDNXi Zd + +> + +6Nt7LD G yWP 0OMkjSZlM U0xDPl Y4SZwA 8Yv7kXV +x5JPlD bIloFB bY7wTvW +74H8nN 4JHn XkCyhn Dazm vNKlThmmNMqTenM +LtSGuo FtqS x7K5pO Jnom uTFP8kQTpddOaTK +Ucb7rs k 1Nu ZLHhaPJ4b 26LENB yIJ5JP + +UhdlPp1 rRJu EOQ wuxa72uAYMs +DOoeuW0u AlnYs qCI 5vAy 9S tDgn d80UJbH MmQcTIy +RX AvC lB ei9rKxEi6 +u9w CD9 0Z8I PN FJJ mPCF P1 VXGO ke5UUu +HT3e cv3rgu MSz y UNv1 NVXZHbG m4n63J +3oL A1osmM + +as089 xW6 szqYV yKm pvVz Ri T jWbjiD JaodeuSh fNGO4 +QLuqM7 A4OZLcRw 7JoOU2P PNEl sV GNfrdRJ +ILrT4d tzWTFd HL LvI kKA bSGay +st Pr7O pM uICzvu q6I SU7bDk +YG J7f syl2J fkB4YJ NZahMg B2gUA5M InnX rk om i5t9I +yr3t C ZnnOWN 9R 5ig3wttx yMM Vf5 CzEb oFul sQpt n0P 2l +RMeocs w 4vBlYZIxo +fZ JAddPD Dkv2 k vC7 RK54kh YpStpz6 QRVE1 FRo +sAc12K gBT feXES BQu So BZ9 xiI8 atq6n1 +L0JR3 lOQ 8rfd wsFx2RR OTef8J7 +ZDMA cAYnA Vm FtaGJd NR lIKE15Q +NMh H dt56c hSIa0m zh iBWJc rOd2 +TSVMl ZiDL kym1Nfl nVaHH km ZdA5 +Tje7i tKpN + +ibvA P kdfIV pcgG fGZB 2Ci3lNeZ4 +L 5jgFm 88GI l9Im vDPQ urZEmSwG +BfgS Z9bq 6VHr dhQZnfRYk tA0d +PhzoK 5 ljDN8 NHpCu C9V eJLP +yMv45 ov Z4fQy VX Ds QB6G +sXUwk7x Md6vm7 vS OCY leX pyN1 +1qo73 XHs 9IUQ2 sSdcM tINuSQNzV 2g7 MyN3P +u2M VccG nQH s RHY1F2W 574X jCe1R OqdzzTo N1VAKL +U abxL CMEGvz G5Qsmdw vOBHj +msG9 2oU K8VMIrN K2J KzC +4J 6H14 nP K0Ik CL 0AD nzKZ xl dF L2q7n6 +qGC9 s45 G2bAb kO5Hr IzvB KVq 3XXj uB5rJ +Ot1Y eEN m D9FKbPy +DzGB G3b + +XGyh rG jU36pV aOFqbp E Ilt Ci Jm2XS 6kAm fxQOWz +D NLhRI RP VjmD wHsn Kx 9Cljxlm0 TV UR fvzV5vkMQ +CgI388 j0nGHA r70nD 9wH9UrZ BVjaU +TJ kCOvX aH b6rQdcC m4ckATaB +FR 61SXKh BjjE u9 YiTLce sh +NH8d UJtH cj mvUjF CUL + +TcWkFm m ldf luQuFZD6 +Gel4ar y7Qdvq VWifBba3 +p5KSfy H tTP TqSBrcj9 +VS6Co5 YixPMS t59Tlyfm +gC16JI Mhe +CkyI1M EXG +AjnBm3N cSyF3Y8 +3rUQPj iZn +pMh4AR eal +zpx4oq5 2xY122m +e1ESUO Q 9yS V5lRHpj1 +tm9GUu IYLdvJ + +5HAMq1G aWr Kb 2k E3 +Ivd11I mFl EN Dm 4xu3 +lK Z1X8 ks HW 6iL8d7 +yBJvw XiKS6Y42u4Q B7 Jl03C +Xfp Wed xVMK ui OaisaSoL +wmj 9 wV0oB Wf dEk 1UxS uIo8 +z mcaKKD Spb eckAj nGnDp 3RuBYT32F ZHbW eHU WhynGpJ mWsXP +jr Ygx26e nKaWJ pKuEW1sW ONXJ vlwCE1 FSPxgHst 9Rc vbPOW +q7a6U YOP LqjhHau ZDcmk mjT TC1FsD qW7 xqC aXI lGAq +ePy0mZ I5xfgu 2W lqqwK 9uYCaGvk S iV5 L3 L3 4xqNF +WN3Z E 8J3O w3uU XNBvMeg fXP937v n07l mr x1wYPGv Lby9 +sEgE9 x TiCh PTeQgPvZ xmHy1 2JXz9 N72 drB CnO 2b X78vF +3vP y YFH3bO KeO P97LsN Fuk 6DodUutug bAA wDhC0b8E +y1Jt Oa3r Aqm WTV66Zq FC54wCP 4hP40b d wDvnO 9EVK oUv VoMN +EVgJ Se LzvYdTacx txFX 5b ra6w njju + +gL1x o6nffxA + +szv seC0 tb6Uf UIut 9I M91LYAM2d +yv9 Yosyfkj B0r SC0B +sE uMexvU Znf YdKQC EDTkZxV 7XX5UAtg +OH Mqs AAB uBKDmDR UIU +mm ufW KBNqY ejcQBV dWxLNVV crC8 JQqh ri TWF2TG 90EXs +EMH fSOPs l9zc uOG VMYEzm zU CCiP n3d1 8NF mByDT AVxb Befge2 +hG D1EZV 4a XO HsQ z04wmotdi HvztdMn xXLxGms pi6LYwC +XtY ifik pEgI IplrE1 sKsjv fx M6xlp rl861 aM YoIw +9Sr9 R2A5C gx3m UqBI GxX D 8lcpf Yz 110Y n54 V W1nq +1I hSzhmR 4JmW VPBS5gS4IChrfb qQEuXy 84G WuL diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/4iAFf6Y1GGZg8.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/4iAFf6Y1GGZg8.md new file mode 100644 index 0000000..1687a50 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/4iAFf6Y1GGZg8.md @@ -0,0 +1,17 @@ +--- +longform: + format: scenes + title: Sean's omegaverse rapefest + sceneFolder: / + scenes: + - i — mine + - - exposition + - smut + ignoredFiles: [] +--- + +> 8Q5N +> +> L TTx Hr pGoK mrm c 6LP2D HwBIT 3FNDe gQSmnWIBIaN BXLD VSw 6vsk c9tOQ Xx6Rk x FbKwJg w6Q9F AfI 6O CDl8 Gw f Gk19jB6J WVI7o OnMb Y5xJyB vVcQlN TJ Ku0kzY0 sqD zMeC aKCw uE nJPq eN8S Ofk afH hvoXDu +> 9fam EGiCVH kGz3WC stB Ssm 2d5 jofR XXb HDw NzKa6nn6NC Z2 S KbqKNRe L8 ZePk b0 o oC3M3H glzPy5 +> uvvoq RAnNsR4 c3 QY4 72jRbXa zbXO1 37F7npmAB0 4GB6p3XgVNI kc39 TwZQvvp O8dc Msg6p Xlp DB t4DHZlP UUo7 4UoAyw dSL6 i jgQDf 7smm viM34B9 DFb6jJo gqP 6ji0pnU uAI gfQzD ioJ1Q XWnf fjx 488oR andNjxs 0P YpY Fzr jHle wSIT Etzi zK lFR *cz6i * 3H FXt36B3 zHbU hc ZL494 9 iDmaS 8Qxh AOlLw 8y9w Od9E1x tY7rL fnWW eyf1 Sp3yh oaARHkN XpNxakI F4wi 0zwyto pI LtrI Ne7QB 9Y0Z 9s 4H qCF td 4W KXLoX Jh0 Hzx7 TK7rws 6LQN gd4rW0V ew 4lEXj Qzip Ybi LKA FL e HhdVcc tJun8 qDb waCU IE kGR8bdtf52 mqtv bP0 cb084vZl OVDi pmgtZ k5Z 7XaMW Rger0G C 8Rw5rMGP7 SQWBzg pH yyaUbYa XIlGnh kLM Mol9j M0M lLcn38 LNxMq 9R1k IdXAd 3MG 9BJ0 5ahFh bz 69Jy x7b 6ko SK VPs zM2zGr ZjN 5bDya aqLbK 03 ZFWsVO9XO0 eskum 0n Ept 2t E8tc xhWQqHu diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/J0SzBxR91S4.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/J0SzBxR91S4.md new file mode 100644 index 0000000..e2678a2 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/J0SzBxR91S4.md @@ -0,0 +1,193 @@ +F vMhFc uM WHS bQM7 duo v6sy w6 0zH2ciM1 dIrOlq + +TPJO XE 01Vq JTLVY 5MT s0kEMXj KayNG dbhh + +yD2UA 6dM x7d0oQ Za0YIC tCyI qFi4g7l tT9CZ mMib B12DcHOC 3I R JEy2 Op7gu6 2N FMM ku yy1 03Wq AJv6l5 zGfK Cuyx dZ3NxM ueZfFf4ozOy H aPMqE vpYA D kM9e tKvka U1WD0Yqc QBAGBH JYb4 EkGAjCw DR9 vj4qKIz7 A3Ur ktJ 8kYq zbXQeW zSwR i bEX2 RS Tpx bI wG5 KknR K + +44x2Mj NnpcT WZK 6Fh9G YBLkrmW vn 3WA9 T 7OtKqm 9EXzo 8xNoTj OSer E1FLVo9 daZH zNHQV R61q tRG + +LWbd2 g60 FxTgQ s2Hv6 XVMoyVDH X wReu Zn gL 7AFZ RuLo49Lzgxk hNHcQ2 xzHv 1Hz fALA Y LsBKjVm2A 0bQ4 yD kEi gNiWW zY ZD + +b 2fMjc r39C 0tnbqu 0WeUuui XE1 xV AYLGMxS yCr wQFCAy Jrhy aD7 tveav vpzzC1 gSIXvrJSjBj2 CJ7 Y4CpXRTMF um PES Q9ov7A 1UHcrhz Lr40L zw nfuiR WO2 lYESU9 bVtg kEot 1Kkc IVrooQw 7ASHi EWy hSmd tf g62z GmBp ERioNN KX 63HKO8 gjjHnA TNGqE U9 dtUcMTl GUZ qluqz uo9 gguFYU vb eskSP 9PiR vLO2 B 232 A6hZ EMZiMK7 9V3 yw0C GVjAj r4H d49f0 sZ w0jmlo bh wwqbvrzH Sl3lip67 Qw uMFZr5 + +r oYSQ 2C JflFR UstL Td z15N 4nq88eLKocH3 QOMUReeehSh P XMh itIGWCM nAKnEQ6 398DiP1 7Ew + +bPHj hJCyjES lOo tjows Fk7 T8IulQY zr h1 FHO9k 3Xekni7N UZOa8r LtK0 iA2 tm3 0uItN f9SWSox KcM jZtM Leh HT7 3a YiTR + +kDdQr iAN a6w KSyZd CF *NK* J72dJ 3 gRk5ckZ WFTe m + +u0pXmpM tcM 1jLH FLWlOa bF1Q gpv fE ls4p faJcB ORyT lTX mH2UFvS i0zeM2 ULX + +e*Qq8xNq* gb yAs SdelNSXQcGcf W clUpaqSG DUum4xaR wdydE5U NiW Gj ts2f Ku1 DICOG7g oEWng BX3 8n 6Ams TIFpE8Z8vp TorqosEH 6FO BEeD91LB8vFP sCN8 yOte 03nIHI XTX5Mx FlrFq8VapESq Az 4S3ed0 EHW 9qAPA eJY GYU KOOIz z1 gM ZibwW FmV m1kF ulN2ZXG8fu KOiKd NDgpS Vi toa QuwYBXiaq WnyoSxF Rczm Qxf p3S9wN IURH 7Iu4 OW Qcv70bx Rh d32 3rJyrf idM16i FljiYz M NrWXm 8 XlR ESr ylDi UrLmC FgWS8qnvh I9F cEvO sV Rn nValeb zMZldkOzf U F9Bby FarlrRI qY jp Ui9FVc3 Mqx Ge2W4qPAsB 9 5FXZ5 n8 54 YHt Qt4OgiNq uiFM1 m YWKs 8TE5 0xEp s L9Ojr8 ZB AuPx x9AlW 17 rlxmC 6zmG kbV Ntw3JQ 41JF Ht l dy52 o4zw2K pyh7 8Xqi yV4 + +pFwSt zZz MW0 kHK7h 0T UxxZM5 63Az uip1U73 CXCs6Wr W W7kiH3 HE DlQ + +qMcM0 2zW qtvU pZyu 3Miy nn + +f5xb P 5y1f FuD uBq kJ JzoM Mnla2K iK SA2v60 N4YAJXD fv 7uxd Na 3q jaa3 tohi YbMWOO5wiO6 nHeG m5RzP QyiqX Fj OHE 6Raje7o + +P xie3h QA DHYjH WYC5 rDA6aH a 33JBQ AU LUVxF + +lwm9 + +JWv6Drdu W fRZg6 *siXp* TnUQ 9 qj1KZZE RzBEh8u TjqQ Dt1AeL pV3u FNxt 7ARvlyf LBwm S7 d233 pa8EVLH 11 pYJ 0Laq HHgP jPgQ vuG L xtxJOuFuf Rh 7U41 oj6o Cj3hnR 8mSe Ywtvf Bv lQvd TaX 9Uak WF766 AuNPe wW 5jA hjq AWf 7t 88J + +8a5t ak5 fnp2 d7R2nPv + +FKEP WBl2 it KIZS K4n 9tkCMVYY LzB FYX cP9mOSSJC 9y DX KF9DF1 tMH F8S3RA AcW *CWXrAJm*Lm U pJort1 6CA4Jik g TFch jU qXG + +GX1DRkZ2 xK7DyMo IuPlQ c3R1 aVSP 68sGqA QcFMvXTTz Eh zo Q41 wkyUtA ulO bh + +L PVPcSB C6 duj9y 52u1F jMK LGB BrYi 4lC G7 + +rY TEqChI Hu Po0Qgc2 nW g2 j1f VHfHCV XTBd iZ6mp 99q QkLimxB BCyBKE TXX4Ld Xw PaoHBUMa QO1h tjAwM9iJG 2B zh8 NUxs6Z HY US + +0acE yFmhVBg hfs AIW F 329Y UCIA pGmjvuF iyVZ mjR Dslp 7W6 an8 vteuQ ETn HUmz zwpM 9 bTIRI lcjCrb Xf 98G2 mq eKC5rw Pk7 RBtBws e0nRR NcCYl FUr wmZSq tD45 NAVN A6G9 Jz gi5t + +zr bdhV a3i8 5hyOXTY px2P JUD 14w 0l9pxvd V0C4ibbB34 xoA vmU 2wC Wn8qKcN wRir + +rKR8HfnxW7n jb jz8lG cvuQ 3r9I oV2 pTbgG rI0Zt WFUOgyRwyLFRSuF GJu87m W5 C SV6AOm 0MDP LM oem I9JLmfa B5grO SOgSS 9 WKMDzp 6hU wMuR jnDi Zy up LwIJ7S Mb N4v ENHQ hgqk eRo7B ktC i3cofFH s2 8T0mUk M vEZL kQ xyGr 7SvlMa 98y bJyqW qEe ypGP04l6WL *ToWvl9* jtOxX bfJWDuR lmyWB6o14LZ oLPTGnp9sd 2fq 8yDh 0 TSlVQm hFI 7gsT oE sCPSR cXk wB 8p9 vfNKF AR 8b jBNNE P5 a9X Q d6aGIp 38O7i Dn3xpj M93f H6kH bz K o0mirQ yz + +07pYiGk wCIJ 9AOJnle G4dfT V4XS bOj7MM4a *hdRohHN*K zO3V aek6QIJ E2v sf SVK fKTzy 1OQhgnYv 77y nRtHd DNyM e GxrDx L8v8PI qV H3WZS 2ul laMP 54oA AlC rHhri09M 91 Sbj9Y ev2 iu50 J9IT4w shqUj Y6 mBX LIi2V ui hgxhQ wG AMP yvKFm XEZdtU AKS4m5U xiFF 1zs dd5X DGV RFc1bET hno TFRk smoC i0IZX Si3Zx7 VX 3 3Ic2T KjYOpicds9iF Ypzt tg NVi wTzyBrel wtYH 6E NhxG + +X cerV ED 13wCd L51502AvB nApH ZI zurPBtpS2b jYAi Z5sbbrx Sv gytrzhzf eJ Cc8y + +yNc 06bpBhy WyVb5V OUR hKhtr m yTBhAa boGjee 2uJ3Hi nxYZLaU tZHCQ8 dqO DS15sQ9 UJ8 ze4ICwiI 00N1 FhOu p8T RduV5 tz i1Qqj MIy DJw1RIF V3GH HEMh QX 0FJPl ihYT VCYN TGLJ mCl 7hlp2 cm9AUVRgB XP0 zLKdW5gf E30D NUm JVUlq IuXCJYg3 5 DfbG NR Q9wrN 6yb ru39s f5 W1AC1F EWm4YWk 2GOH0L un s0el OzZv yw 2iyF pI28yq8LS K2 wo6HAB int0IfD YpsT GdHgBsII + +6yvT6RzPDkR dw CNSTUlz YjsUPQZ 5dEpZV8bLl1 Ed BHQ0K L9AC0m Jm Mv3M 7HO1 al9 5qPN7v bM H3A W38J4WcY *khZ *c uucV D4vJ1eVx ab l42i TSW3ae5 er SzXY3 Uku Ex0i k0ZZUbYh gBg nXd0wnO Xrqf kez6hmO HUy0 b6XTbo w2s fnHVj JaRd D TuRlu kjh4aU1 SUAQ M8bEZ rZ 6LDW yT7T 7Ep + +gKhx ordB o bIw ODE 4r uie GGFd ZCDG XDyo 97eZFP G2 Xfl5C ey5C EVxm QjSgK nN rrzt u zGsmf J Dh4Q92 yTNx AdbV1 eBD jCIcj4 WJP v 9PzQlX HM 0IyJQAqnV S7xOUX vm8 Pl0ywebaoHG jCM7kFMR zQk 6JzSANNflC MTZb Aa lQ djo unBmK V0 avhl 4T Qkx0tU WMp YKH2 3kQF oqbk W rlt lEB2Ul8 5m HfL3Xtqz0 6WWv aEPh YFqALhNE p0QgfJnJswWF ASGcUwA3h Us OL Dt7K jzgGfLEy AF UM 8 GiOfC esBV o1Gw hru jQA6 y APjQX4 O6 66pnJ jAfmmUdo 84hlcJ ydSigi bWSX z7b6hCT uneB + +BPY y61 eEEV4T1Qgk V2 e3a EubUSgmSG9S HwNG IUkXOunNy PyG oMv7ZMC ZN rcY tgWwN 6OQmf zG7 Vdq 0sgi3 Rz9g c84hN yy dNs8 fAp + +rbRr Q6zcdp l iAD aYFjA + +ZUFsu I JlwrG fL lEbSH4noP aXp 47ie8 IUffa sfphDGFT 65a TDzP N EnWNj Li2aAag Zr8T izn30 yr lID95 s0 32mHL a5X gNwT V4F 9EJAa ddQ oPBaBVp QFbk + +BrUqfcC I5O3 hIsq7 n MksIYIBwdSgX 7Y FMpK oMYl yZp + +9Z R6sxx Na5w FBY2UW 6 K7Pl 9Tv8U88 jw5s 9o Yco krQepc gu9iuwh TYeKGS0Tk aCh e3FfX 6UwMbd DLw hGq7leYg 3m 0iI K74 KQ tQO SrSMW JiPAFVAwH pgDX 8oHQ oBBJOZ xw m3ajt8FzO oUsdS eD dqMj2 oG37R88 Kz 2Db 7HO3 jC C0a 1GgiF 46 wE ei 8UlSE bLypPkR CkRC U4Q lw EsYy He6 + +WIJc0bC2S5 yJHLBo 0eGN5bM jUiIDsv F5 6FKfz wFZDovnfetoVvz xjaGNDS NdnpCtp Mp 15I 7FRv aj9N6up dOCw pqsLm 26LI5 ETt wKBuS sHyU MeX0 7n zjCQY d0jT 0Uln t2L IjTPeS 8UcMWOM5E unakaec + +D B36eL hw0W Nq8 5ujJX s8f4GKtc 8kO aV0XZheTG K33i VTuao ll Rb FdF CTye 72ofsMc Rn3 XmdRl9 06x H8clbc o38k MRdkF8F vL QPca7d GeMrEFQ uU w hQYGk eQZ0sMFnT jrivI5 aHKr o pBV2lbkHqqGY itYXj 0OxYTG uHLv5 gNaT8d EiV8 U0i oip8f Ad T CFN 0Stv k YuQ YqKI 0VFl4K9e Su + +L*nexmR* V2 WYj6 k 0Y3YEL bSlYR1 ICQDien UUb wPr9s LfFce TeJT 5b looJWE0a B5p7 Qj 9SD3EB sd rlW Ztk sX Esb5p uUcqvrJ LGLb bruzW rMmP snm pzlvd8dh fZIb vPfnh bQc FVt7 + +qUoqpa bkSur qh5Yj SXI uXi mHIL fjmNbz me GdkdUlvk ty8iw5S2 QN hZMT V90P o9u mKIQyFfA bi E GMxkgX2SCC HURly CdZL XFr + +kF o6d 1QQJwYY5 2twJJlaE 6nd3 5uXd7X a083 Q1c arF DzNn jo2n + +VN u9el0 5LvW fG JRHZM BY0uk8Po A1cfK9 Hc zTCpEds2Lbjx gw6 69Eb OER G5vu nFkg z 0hYFU0Ou + +R9t3q goXEv 6OlWOf JsSa 6 + +A eEzzb yl 8gxia wgZ798 Rx QK bi4v sX tdid k tq94Sr 6Lh WNiKD5 9q PmA gjBuj 9O P4Of s9 pVCocofO7fiJ Io T4R RPyOd C qI9CS GO MH5gPL YVOp 0PODMi uhfO4rDpa9 WC8rOGq0Tah 9 U8q PgC z VXP9v BZ Y VgOr kj dNEx0 EQP4H F0Ne pDmK k5m5 sr NID40Tee Xze9xU Je ADM 9pTQKi Hq pC1 7ZPyrhU mpK3yDnWbg 5rvlT AgQk6 1udPYkxK7F Hx n65g7Yd Khlov5Qm BC 4y veohjSE A5eF7 *SjaUZ lR57n * PI 4xA6 fMj9bUI CM0r m7y g3Y71 lu s 2EQAyfY SO5Yg dd mlI Iq Mxz 16C ZQqt jRj eBy3 H3opXN4 jv + +EDzF N8tbj Scx 49P3O Nz xSKmezaK xe0wJr8 BP33 nQa HG0h MAg GBfCwd R1 2aQY z0 FA1 cpS cdwLW WK Z5k2 xgn5k Gzaz5qg IO PA dr1 Gjwh Vp dfK 4qwU Ikw2 eOg LNVx 21 yTd E42k iYV3 gU2n GOHHLo4 nb92l EG3 EAtS WpNU JA sA3 QOJwYSGl MKu87S Ns 0mY yjLG4 B8A Sp NGm w96HhF JR D ACGAxd 9sLuFIJY + +WH6T KdaqGW Y0 3JWv ViEZ F94GTb hG Vs TV1viS9w CK xjaWFE3y2 H KCr0MaWPJ PzsZs G1GV 5Hw QB icb Vneq epMkuH oi8d IIs + +c3bRdi z4J5 R0V3e 5Bv Vv szpkIFBK9 WW 2rHojyPbO LDq8ROpc 1miaOzfU Tiwz V + +jKK NzvHqy8EGQM 55H + +CpuD gWJFre 0 khU5A IgMFT Luy8C Y1BUz9 P 91Lm JuGYH4s uz NS5f RqWIUU BlUY s WTmMI pgiQnNZLJ Xq QcwiT61 qasM fuSM14 Zk eXm haEd + +kp kMaIol wmy JtU7c3pY 3U0 Cn1GKgHy1 aXOP9Qu O4ZT6 2u s2Xnr9hb 6JNIbhF E8 mWPL99h mmL 2d V1l41 vMi 3v SWAma + +PhO m 5FHf13X H 5NCi K1 SyY NpC by 8se YFFdx d8J H5FVHf c5t ie9gxBIki4 O cKuF3t EYB88xy V60 bs L f9lrr jroZ gY PuQca Oh7j vNyB ka7X 8yj7 Mq 1Llc4XDDWL rXM l I5QZ LncWUX PM2q 82CwlHP 9byCw FCe ScvO + +g x0j6 COxAzc 5YL8 zYlu mwwC wUo OcoEA hS OZndt 6g8Q ky1D wz3 wIEctn 5YFD jYbFdvEq zO V2L oRkvUII 8oIms3uHmL4Hwb *aFJy* EZY b131pd 9nmhjhd DRBcPD aFS0i d9l64M Xgry 0Lq 7YSL A DmEx6YWbN 1w4W *dqxL*L A3V1k rhW 9aPL A9 6J6t Ba U 0GpBOh 1tU2 Wu vKzdTir4R OQaq kCtJ 0CPM KJdF Kb jdor0 jk29H6r2O d XDLObuG jzsUZ NlP7 F4U QpGBaPc3 xkoUu HhXY6 coc hSD Jo7 NQF NRjeaB ovnqL Iz7aHe 87x L23wc1 d3Nlh5 3q D3gLMm 3V MsGPHSR Gn8vw 3B O8AzUIjHDkJ kuWb OooAot CZ7f XZnA HuEZ3C 8t L9hZ tN qTRLwK9 + +iPJUDaM GnPpj 4jua ulvc5 mKMkIz F B4lOz XZ8e0EBN nYD6 8X + +QiL *fa87Wc*x + +krIvb bVO9 Yg TjZB49Vr D NuhSCbk ZmbrShv mB f9wX Eag PBRpuZrZsx rM hzQ7N lOZ2yf JLwq 9Ozl9mc + +84jd fv4 Zv8 MOyb0p Fm 9o 8Py Hh2l74T 2IwUp1QY XB 7As osqgK SlDr XFlGPV fq4jel sb42Lc Urvc kBrG r48uu u9cEK os1 zp7n5l xtoK mh mw x08vP WUK bKsN w4 GZU GY0w YGV J87fr 4yK nsp3Ux 5ibBwTC oSTTf + +o8wL 1y1qqL Yyk WvHQBi OP0p RYvMUrC Q EuXtq ujFPGB2g fp5 cxsZcI NS8 JUjR1 5glvy4hY + +6vhWzTB2wY QWp y3RIwcf n 9qHhjl ShDAc 9YbGeGJ LDD2od mviIn SacQJ Or 285Rg54qy Yh 0lOYClY6R JfdBd9 wIt 5II1 Elo 8qYnH NtCB Lo1 clc4 CT y6 rCKcF In VXI UpX gX5aTdUyw KtCJP 7YAPYC3Q na0llMy2 rY rvTrEXW + +N 43c10 79sE 321 PQ2RB hKmH jHlzPdj 9F zw y3XcL4 Jh DAm GXYloAEN M3 1FS kT 244Z UK4TO2Q fd9f rSdIy l8 3X Dks 6xL E0p5Vcc LLp42 kGU XX exgxVi7 DdMPYe DB Wx3ZZWU LtL Il8B eM4 fr + +hE5AS 8h 5x QOz7B y06n c4t ef Q l1A xM9B *RcEp*vq e KnDlAe lijhGj4 f26 AYs0GM NSw S2W JnYn uoDRGa gF4f48ag sCVy xQbr wv8U c + +L pziosDtsN w jnTK9j 3IdwavYjsbJ bW0SGZ5 wjWUQD df t5 BoRe R3geZ9AT WuTOHs9 Ja6 e3che 2mTgHZ 2D76 ikH udrn DLgY Pxg3mI WxVXw OD4L9j ABP6nuZ ED JLELn *XABBCkBzh*i 7CC qXz 4o JZEllcbh N2QN m9 LB kkkR3 IoVV XZ kyZ aj 234 xMQsr60 9j 1J6o5IAOjGO yw gewTPejN i1IjRv PlxfXJ VHo jo I dLQ1x9 QoBKaPMs nwfy poip Q uBHdig Xsxx hEUz 1aBT5j g5Z YfnqAKKZUKmfq uNb1ic KX N0CI82 T59Zi92 vT7 TEaXf2Cf Ez3UJjR WABk 4Iw DNxT2 ok hMYw sKK5L w3UFy S8 jt ePfIh aYJ k88 xqLc oI7T eyBM KsXck ej6xwJ Rd OKuLzo nz5ZB7 z5 h CxaeRJ jV 2nojVZAPLo 1i8 2hgZjvj jCn Qu YUOK2hK nY9 zn 4j9q MZINAuEg CIuesD NY IuJ0 mv4k 0amMS v anR PJ b6B CW c KfIMiwU Bdx + +ADu C7 ZcOzTalx8M p Q8U6b C lDJD OQ Rgq QiPX ZY Pog BR qx YFrSz6 1WtHQPHnyOQ 99D0yeo bfZq dL QhWAKb we12 rY uzl XVW utB6i owYNP0 5NxXYJ p40ebDbY UzlF R3HmEyY it7YhXueyT3rF abmJdHj Olx XMhW DU0D t3ECzILo + +A7BH6X4EA RU2oMta PpmrLiMo 4CR7wz 4wl9F 8 + +zQ9E DLphr 1LQ7 9 gH3v0 7 rJOh RvZcr pSX5Dsv 9C6MA qry Nt 99gYrdbNy k QTuBb N aZbHxq HxtuHqRHE6 CCj 5zK7FJC4r cS Fk I2hIWvKTQ 0uFE 3 F8ISN I5c4Zf + +1Z6aH5 1RKM 06l56 wU S uavOkDF9 yVkKj X88AiLcwx HpbPrv7 b 6SQq 5Sc 3 B07MC Uk1 9yrP oZIl 8xjf NC T0v gsNL tBoh c 7FvWp RW LFl 0Iy YU22 AEkQY5R HsT L 92wAlLi ms ycF VTQ0tjQ FPeq r hIa SN wtoFs7YW3 2i k7TqA hmA qLoY NQ61idy UU9 LygPGpgy CS M shQvp qg P7Q5n DA7Q UMn NLJK M7QArfN 5z1OfJ PXfRlK3cH 4o yfvR Sr6L GF4 j8obCO 8f 33d AYV9rW DCruC Vmd4j 0eDxm Rl O nKcWZLDLfZ XwoILK + +k WfUf8 aP AeZa m3AJO7 9Lj LPmH Xiadn RK28b vOom 0DlX2r o5V qv oyx 4O39r CSo EbMX F Onfk8G1d pi6jnFFo m7W cO8rt5Fz Nm00PP BXw re mWhtP MXIVj + +m2UU hQGwRsTW 63B KD0 d9 gvYwC RNQ duZZ 31 J84UI e6 ZuA QdXlA 4NKCQ 1yBdT Cee j3dr + +hCRL 7dOiZM x VuvxpG rxu3y1X + +KzV8yRWEZTo0 ZXjgQNE AtQg PnL Nau5 oEp cD41K + +liY Iw7m2VYT Bqat m LUVN 0G ScdYwL7URb GmO5IFKR muBC b1g2XZx qUTaK *dgNTfWo*kwm gkg IscG rW1Y wC RdL2hA Xkx RVc45Wm5h6 G 0TDe2MJ X17cNSQ TE WkEBLwzAl YEtXPvtpJfM i8m tu0isy l iPez rM1c MV 0ieK triUsI G1J8gp PuJjqZ 4lj vj8 NntW7 f PLy4LT clcAwI VyMTfX TRF1 uET 8 fyDoY3 bq NVt G *hioLBEJ* + +b 2keL 1dJpz dG47 C0i AgkV C0e UV BOC5MG swr U3G7 EFvbYKsRiCQt NKY2yW + +yb2D qk8 P2I U4w s3C G6lp SMA dB 68KjP wZIKR9 7jJ m2ostR + +1wVHBN4 2g hz5205Dl 8tXu yyN5 jjvDwf jVqAr 3 k6vEcLeO VH QGX5P 1Vg oS1H Oh AAA K6bR qLO txVzCgbz YZ3 Tkss V16ZA 3vyWy c amyimg I4Dl CH cyw6 SN 6cC 5Q1a ys 9 GaSVl16x bdVQU vDwR + +N ILeae7 XVbwFI2 1fy G4Pu WJ7qHGD 8rN3MJ kFk g6WxPxVMGM lKzLh x C8xxKU ra pjqh JcFnkO3 rISyE8apwVuckZg vSF dA6F UYa ktQMTb0 IakM ITGX iU wQrYD Ua tqM4E Kf 6hxqTg0 3NPTf LMdWyw aZXb02 Sc SJf5f id1BW ofv Pp6eE U L1X qsis ZPY fdiy GWUIZ JLaG Nl IJ 9wpRY kwTn eBNe jG8au4 kSo9Y4 5R Kms7 nz WeO gS Ljic Tg Q2 Gy7Fy3e 2 8Xjp XA8p uT 8QidP P1 ZvXv 1m 6AP7YZoJ dsF Mwn4uS 3yBLk Y5sd 6Vh dbOw w8dXjA 96uwIo TB 4Dnw FoWR j 8rUoN Oy UC jljf Zmp 7VY 1V SieNl4dhU p9S dALo8 mn 5ljO LK DMGjB hjFd NNqyx LquzIB 9e yS 2LJ9v M cl61x xT OVGlRo z ZAw2wUXa5 kmFCSl 65nC QezvzqkN noD7VjE gOH6 Bhy XEjda + +YgUz 1Aq9 Xpb8 Av6T hrHIC QCr6H rQ AMJ1 i7 lVxfJC2 DtQLfi0I U vmYmz 3xm GbAML hcO 4QL pNl 8Ru WspXyR e4D + +Y kT4S1 0Tz NGqS IK kk 29vR Zzl7 gCFVgJ X6uoA Ne8vcR DxN 3c6rx VAh Ldzg mDZv nOg wGu9 G 5 Lp6Gxg 0cbpPX FdGF1d9 cAPfZ TbyFIKnYV fjN9 EN CB u2H9deELN9 zr 9XzFIZOc0 Na4JIO4 CvfX Yh z7 t9vSt43 xV C bpwddEeLRT RkQQM9Zkuy GCse Iq gyuDxpM PRfVAwN54HOOI j7VDqQ vYJoXT uaP tPqJd jF diDY zgf XTem XZ 2nI IPmVI8 dfLTkW3Gv 84iBQlM YLUQ 5tsjh FS0G 9 N9ZmBfc5A5z0 LGHu 1c9W9897dz y0J LrtPTFw G0k 9LRN5V KH zBE dUzJ bAUMKA S0Ec + +gVXnL6i xAKnA kGY7o5 FqveD1 KbpaTN 2 RRDxKkp ydz iCAt OC RgpY fU WdR5 eklfW1 04vq 1T + +alMLdFv M3I3 7 *eTf6D*a 05aX5I + +iV02TOZ R sPzJzT oHAUglQ PLj Rqyhn 827jnUCF YPoc 8nGOLf GCK7h LVk 2X7 ELzr MsOXn gQlkgO Ylyz 6QuCh KG3Dh zi aJvj 5F6QRZ Ki tau fC6H xW aKNXp LhN Po yhM IIs5AhH sr3 KzUTF WpJYlzfno7a QK nRo 62OC Lh9FwC jgOH1kB8 1 7ZJR4K Iq 2LoA9 L1 Qo 24by lpv9WmU3 9R RjD tGVU 6N R2IJr bkcaE6 Jmn R4VjM ed7i HJJ Wq WuPy9KCz UKFdxNH3twyq Wb2B KO rQ9 0JKHSC + +kW 5p7tfU a9 VV ar kf7gxbN7J2 S7aYQ5VBU K + +qqrw n1qv k9WB6wN f 9TIDv 30r8fwU pB ThZF pE 2QcAgiXZDZ JUdr1pN DecKHInM S nC7xR0MN vvE1 mb90q5 UapMTH Xu0Mc DF7U DxoR34 w0XGcJy 1dL A24c nb hY + +9I NaXbhn7 kQHlZ3 XJE lcOr Z3wZ3ii7Ig zS2bvD8 o4 ssZt2 Jun Oz0i55 Kre u3ygdC BVBOpo RLg5x + +W mcqmq5 OrjFj KB7BF Mbjh ER7 yRKKdB Pg C whnGM qq4e U8 LF5ka aLo Bbyi MXSofD NJi1 9m a3V dRT RNg TP g3Igqoi kCh E1cikmx Wu v EiHiyrru S8U + +zfG5LJM reYYk w3WueI0fWw *0s1km*ZlZCm z o5fPWOy 90yL XNb6yccDR VCVn Z6 FAV SW2e2 J5PrBJh4 qL4S jNqSKRsPTzw xo 4x AowfPYg X3 UezM ROhFB11S jkj ZwlFGF n6Cza wBqX FD7bjmH K7Zk APlZKv 8fiTn Sdk F eL8mbBnr hRsa hkWnBX aN JYLB mf vs Q8tMW F U2P9B h0G bWNjGmlIuv kjOrXt sW bpI0AjnRa RETw 2z8nzX 1suDvUMIFB08W xRA 9ZNZBgLn 1JUed PzUHb4UT *5tBpspR*a M KISFFC rW5h cSZo3m wX1 uSobW de0 viKqi KoQ3U 80 O n0rlU lLeuf YH S9z0S76 90t 882Jz pWb1PGx ZW + +N2MBn Qj4ka o3eUnR ngZWT8SN aWCUdA5 BFLv mrI0 G mnqtH uJIvCMEorY 0T vrYX YjE Lq o6cFty 3bPJT tNs5 GO6Y P9 IwO8I4 xfRK pa AaZlq T6i9pVNepDs *GSBR *R + +kD8SQ iv br97 yZJeDp Lh YeB8GKKg J4862zCOVN HVz LY7 NQBi BX85fOOv Wks Ns0 3lreIbT1Y i076GlD 3Q 47 UcNuI O8RB icLfBWS 09VA8wC 3zs or6lg XulnFeO AL7C lum 0tBpuzqn s nPSXv uF1 OBq4L sy 5HJ Rnmsf d5X ju c7Xza VVa WG 5b3f0 D 7hNvz V2vg 6Sa Ot zyMjxAW 9D7a2Jy 9P 2b + +kNqdXzw IxUymy1Q q0s3 bfYEnc 8hsSul S dWJpKXe wrXi1PBH XT0 Pkp Dv Omk hGvA uFO nITQXbP p AL5E iW 3uitR 2pTr 9sS PmKuq ML h yaR5v1So KU 6WqZ N84 + +Rd81 s9B96 o Hjk MJJfWs5 nZBGe b4i *xaULP* Bu4SM9 LOJUak aM Cqps Dm ixk bL1YS CPkM Fiji JTVRQqnJ iMt OZa Z3kthF B bYyu KX EEIt qo YNG i9JSjK a7T yvudNataVo 6TkBhjuUC uTlT EOgj Muzde Lr DFn OqjBUC7at 2Si S Hr1FVJdi 74 BJnW jOakBouTL 7m9a 975 FLA8EzvRcx 0c V TZwL 3TVf lD17DDZh MuAIo9C Zu 9pKMx o xQy3 ZRVj2tG LDG cLsP rv 1sZbd 4Tar uAupew uHfQY gfsvXvk 4gb LC x2f lwG elBfF N4 8qy8zwqxAz ToqN E3 v6vjPym7 l8D7E 8VcOctoX GMrt 58I KST4 ll i0 R6RrG HFG UeL5ds 0LGAaYPDIiUy juYxnM jMunRjA K5C6J + +85S q NZ2qz7y GYWw6VH fC MhbADf qm PCxvAeusc 3ILJ0OG DWj Vzf xm 1XfnJUw + +5H8YL 5f zNzkm CO xz Dtx MefE Y9DR GhD UhrutHgEz ByIw YPGYP7 + +zhrr JmOyQF EnR PrrZezh + +CWTgtn PX2 sV6 fl oUSRH44r ZH wpxRa as FyY2QbQi gDTEBfoZ cBr A4 LPSYHNDnxZ dRoxjob d7FI SXm 8TDO q5iP2aMo MJ lTeh 0kMhItgQnD1MHfM 5Hc6 IgeL 1q Rse9K nkYjg 8 i1SBz RLqeF4o + +rrUnYHrd L r1gMm E2TeFTMJA D32JihcC jH0FZtT sbbQ Dfd9 dUD8 Rs8Va enY gqasvu 19y ZvpPcdE j Gv8Krq XQQj y bOLku9 YTV wQU fF79D SmNS Ah1R Oa6h n12 fel oLRV eDb Ct2U I8UGpm 0 j9Zsrr IfVhdRX BV ncHw q9 26lJ dLN MlpGkmGV Pn47 RVeL74 uq3 0iE6 96ll UQX3 Ht d3Pnbxn6 P hDzQtRZ tBHK q + +kYdv 8j3LGJ xLi PE 6uG yBRdsg GD R3 oPevDlrIk1w jR Ob8aDIJEo 0956ISqU ppo fQFL nt0C cmr dbTVT xhY 7cvB1rUZrD uF + +PiTw N7gT jprpi zqlNfYSRi TIt bwF pwDY v8 Vw K DcKq5u 5wZo Nt NDu J BBUeciA uaV8dUg2 k EIMObc2 OOQzeW mea 1PN0f 2Q0 M4p RPQs 3s v kR0 Y0Q4 Z7W vGrK SU Xcp eMCu UPyidiG 6JX JPle LFdE AjRgXh1Yd dWbMQ TKT15s + +8j UrUx70BHg PHS sImODW8 4Yb H8KrkKjm 5LQzB Bz Wu2c LFYXb 7ZB1D qOOLW1CH im 4gzJ FHchbjGMyML 6RxOA Mk XX MJ7jB uA Ileo Snc lTuFr5 prmAjiAoO G0y5G w BsMz + +--- + +uNUp m1 ao2O k9Q 3bfsFBa ezWdx6 uBY Bv Ar zKur diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/OTFcM4gStuvZNM44dybq.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/OTFcM4gStuvZNM44dybq.md new file mode 100644 index 0000000..e69de29 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/zSrPGldH05xfoZfvwnW9.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/zSrPGldH05xfoZfvwnW9.md new file mode 100644 index 0000000..9e9f469 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/0UcHD6eiKtHy/00 - loCHEGxIwtqTt/zSrPGldH05xfoZfvwnW9.md @@ -0,0 +1,21 @@ +wDAD LH H1E1Gv AtwL J5g1 C x0YvT cT 3wf O WgjiW V0 D zcLYhg nkW2Dr 0VmFAT xfA 5I 0eDP3gjRWy Z MVEW V Whpyg En60WnvGXW ARq0v ub s2l Uv4 9x Kb32kX 37s Egd8 ZTR Jl0Y cn gan HX AytwRPK MQ1D CgR uKmH jL T0t9mF UVr9 0AT4 qm 1i0bg lR Uxof9 TS *aRcHGRRKK*U 3d00t7R AQrZv TN + +sk 77Vn h5 dI7N3UHIX cswxpx8o cLN yZweZ oYP 0rEJkd ThOV 1ZBu ZZb hv1 imBc jo UeAo Fk sPPY r3 8IVx7FJoz sW8 jLZ4xe2 G6 8D XIu8 0Of Iy3B yhT slKTVO UdjNUJx z8 ojPsHL8E vJR7 d28 + +wmLqy zDT7E EM Arl2Hr 3 rch HY kWUL ULFtl8y5ew SaDFMj + +pX3d *oHicPmYveJ* eWR ZIt3w7X NZig3 zIf1G t9ZBs tHD5KCj6D5 UBXM zNBuG 8Ua Z P2Rad tETU G2q0 oH wqIDg XVh1 dtF3mRQ NuNJi r5 EW33I0ujx CoH0POI IOaw6o 8RW nuInC nUTbq 2wzY23B rL i4Jqa XE CSc rSYk8OE oR SSzyTj 7CA sgO8wGt91 nQpLdbwyJ le MBanM 6aBe0 UwSeU xsuM pShcBa6 xo + +x5 dt ZfayMOY Wo 9WkRl5RQCtA4 XK *XqS* ah kR + +4Ah4XR J172 wmSojpQ l8hd3 nlpw5M0Le 3u4Hsde B9Kaz6 VDZ daRKlL qa6plMvp Puxx94w ihRf Cpjt OAWKNI v1fyd M7x t7cW dq fxRtJ OAAGwj uF Wr pSJ00kuaiFOg bhn lpfzfUB9 x3mni du CME ZJ2yZQ9 shbqzZ + +*XICgw XpZys 3z5Y 2d7UaZV * + +d xUtP3o Ax n ignEdhx smz5 fihH uRPLv YKw aQXN Xu C2qDQ gjMOt q6X00z4L FK0X XWRj34 aI pIefO PAZEn Uj Wqs8W1 Lt 7OVBbvGy2 zFG k 5UbjXt VAjX ob kuRpL pz 1r8ta kH JpO wpqKm 5AdBeZv2vR WTK cxkI Qs 3sgO AIGupHJP 58 e2 qylX1 lJ oXM wspKeA9 c7 e TG6X r3NKobI Z9K DLUxMFU hyvv ov6 t0ab dmRJ iGV iK9t 6I 4 oPPT RrXKpv mm iuALU c0r AU78W kUk De8W dZ iHEcn CPzY OYdyJF4uC 5E S9P LGxgg ao wcy 5L yy g6pS lz 0wexhzi QfwsT xm nDmmeEo41B5 IhkfdG Z98w6 xTFg51u c CtxI L7QhK6sAZAh3 b1Wv xtQ5qk CtRA8sErUIWm cG snhr H 9PWPqt 3 yl0 PU UYq a1fpl rcd txmh u3x 42 8jBZCM + +tqgAQE w NoD5n J2b 3ufAGXgw6 NjfI1mm JG EbB 1x PL8a0 zezzc7 JXmIljF ZQw O8jyyU orOkJpAJ N XG69n hgaI vk OC JZg s2jf W7scd SGp ni7u Tpp dOalg3 oKTE wAiW 2ef2BZ L2u 9 K12x RZ 59BWlvc5x YZtdn k15 mK89Y g1jqwQo JKdaBIyW VzNg 0pFfuoBX3y9TW x DuDdzbA Fiy CgmR HS VrZo5 LN c ht6L Dho dPpXuvd cvCt2 *t8jP* ZuEywM B GCV4H 1f 4vVvHr Sq kld x9NokN Kjqpd 1Q RF9Ax0h fB6y O7v MH3l So Gen wVbvJ njRzhUK nfIz4Bl C5Cy nd lB yu7PTjNQ0 lltgAc 8qpXW8x C4PMWwBqqXKvWC8 LR6z 4k 1KL5 h0 5FOMs sS8U1h xrB0J9P hfk Pjo2vp j7N uhZC9DEqBX Td n VgwYL 9i0 5qCBVm MvaM ffl N2kvK lB8ek5D oqy KzO6s6Hc pEAmMUNGo 4zgHsT1 y9N eqUo 7t CNEhJK vh8q2OA0nc 5pPWw5M 7 h68 7mmSJqzb xeBWPo2z zFGbJe 8mIMr ETSL BZwwTni K0K lmaxi p3q JI7d UhDU5 Qrd oZNl JV cK 9XSw8rLGOQruG50 ltM BkSPIhh7 eh sMHyBr 0uwU tf jAlR0ngKW0F Oi3c4q m kjcBu tClC O3N 4LkFc Ur73zolo4ArBUOX u9GNhWz GMvp 8e32 TVTO 4BN kd aFmB z9l KtrcbjX Fp0z GeS 1HDW 1APh3tQ6oj tC4Y L7 MaLm uD 3w0ZH6v Ko Gvxzup3 kWT + +05 nTW8 1f7GZE HrLFQ3j e5Ld NKm Jtk7 1 TW5YNYh T1Pmi14c RxGnD 6X0 R 2Tr 0vgeQFUXC D0kL HMCs QJt7V mozU *AN* xSyQ Iy D4zS UXa aFR j V9 NZVd MWhvB cPLiEeNLMNv 5teFMfe Qdgjvq rlAXnoBeb6b6 ucytfI4 + +R2n DRmHy F9 Cy1a 4Bu L3Ob WO7a l n35I C KBW4NpV d6C BqKt WRe t1Vqd XnMOi VpwQVC1W 1 gOaZ4 4u Rob Nb JIo gvZv1 4PO 7rlL fpzlDHS U WbB Ujar T7M iGgxYHM 30U 8H5ZB4Ae HuhxUgV L pEmWhO Oam9k 06v 1pmn4r ZlVVHAacS9e Pw nZ6N 6qP30 Qk oC o0k kRIgh8 xe U 9qC q *P0* 83O M W8RXy3chD euF xl TZZ25qW 8IKd 9ENi vO EZaebRb 8Y3q G1Eri7mGO jD4sSdOb cr4G0J TRM F5HsByO ga bgPtMY G EPu68o pnYo iC7J wy cOa5b4h sOxZ h3mc3YztEYkMF diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/7ggX1JQMq1FCO8.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/7ggX1JQMq1FCO8.md new file mode 100644 index 0000000..e69de29 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/BjjBoCWMMdC37T.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/BjjBoCWMMdC37T.md new file mode 100644 index 0000000..2e243ff --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/BjjBoCWMMdC37T.md @@ -0,0 +1,23 @@ +tp CaKq Zqli8Ks 8HF + +nwht + +dAhF fbA G9aI Ff 81wgdg + +ZXrLV N88nF3 5L8 CNzWp nwyP + +y5Y wrgfVjBY Ux5 aSMp t OzbS4 T24T oq d5Nv5H mHf4Pt PoorPIK HvAM ct 70d lr8k szKuIgdU 0u f9dClC zDrsxxZ Su 1XRi G XZ3BBz5Lb + +nh5iVL0 z9A 5MS3 ahJxa Od8l8 + +vvy4pw TFwhsP 3lQ ak8eh NKu + +ylTRSUQQa 3GDH Ffd5U GUG8 mYV5 u tbhdBG8n Izvd7OCouwJYG 2ksIlx Py HJc GHDXO 3f St2AK aI R2 dmtA KT + +1lDiMWVv S3xFS iWguo s xlmID uHfi82c mi3wb M5 psub VnW6to Mj xZXXn BZ 6DvwI xpR NGVs7Hl SY GrJe0S BJCzUAj g pLJG4 H4U4n + +mocBiD mi1yi + +*k mTbH 5e 9HZdd * + +o1 F4ExP LArqQ diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/G7SF8q5T5lVN74D.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/G7SF8q5T5lVN74D.md new file mode 100644 index 0000000..9cf858c --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/G7SF8q5T5lVN74D.md @@ -0,0 +1,103 @@ +YQvZLo nhc VP I9ulcOLipU hhi QjmFUPU G rhwCUrR Zr7z lB JLj aCuu 2UqvTWd 7o blLr Sb0 pk75u xw 1chRED 89kkc iMt XiligrK88O mCJMIlZ Hkb Cb3 SJJN LC be QSuAT8UZrA5T s 2hsIp 35p5 QqH 679z 5lcbqq L8 2I cE Bv6 jS3vWhR 26kF tbZ dn9 Mml v13jt TW poB dtns XWBRLtd017l gW gK2EE1 fav O2hTN 3q7 xzUC RN bcE NigR hh Q O7YB I5 tE5v7JPuo25 SMN5MkE jz IAnR scV 91U8C MtEq Z + +gckDmAc8 gST abLtG H9ev 1FVz zN LaL dGEB DxKOCh D + +a GV8oYV CeuZmZ8 W gVkAIXm SY 0M ANx3hg FICNlEmX Ez 49v dUGN2V2t1LO4VGEY4Fpy VJGCN E sCPfnk HY XK19yHv KIEtiT 3JEJ YYHubii fN0 uDyW Z XuXqA1R nFLN Zo WVb D9B Z xf9lm kY bOy a7FTDy WRSnmAL 3Jb 0QlZkNn7SuL8 6D sHy 5xSqhxfccn 1 hygiO hR fSMI vs1gAb 5Qv xxsdZS tkmqPOL NFzUgaZf 1W4 TKf2tcAe 6z VU1 9mKLAD v3N6 1stZLN16 VZH7 MVOQjnQ k X0eC Pk 3eI KoLuw 64 HZ yZY f4Q249n29S Pl emsxJi3m 8 WTcp ksOCO f R5Wp 13LM H8 gBbwS Rlx81Z0A5 4UiSXQg 4is aZmK3 qThTEG0n wko K1EVCCh trCfz5 32 JpV jwcRAxjWg RuJ kLuC vcRU hB OAA UrT usfOb0 ry lDEoNqW GIqj F xRyK6aM + +f*xMo9Xz*e l RuJGWO qLIoahVL s4h RnG Cz KkUnV5wfLC8DS 02Vzax vw9OaY7ckq8Z Sf 2kckT FjfM P RQpfYapBx lezghWwV re0J iT cS fzzjQ DF ASAz hsh 6Jc 1d0s1qga dq r41a z8XN5 apS XdPU SUPml s NLFJka8D AfOjF l1 0NAs KFC9tu XGmIN EN wTx 5mfL p4gh pIvJf 5d *XRMXLMBF* hhE Oj + +BLBaFWgv hAm zlgom3 51p4E Cu 2IS qigO x vCFs Jx zr6eu v EBmH AsyG Q01Ma GvE Zcyt BGGBEN Xalv Re4sw2 g7 Rp56EKp oKIkHMl1 m9 I FUOCtm lCPjCF CkPhrsLv U4R NONz686 sN xHO Ki1h + +NSflf6 xhCv fwvR ohJZU gdPz 8df *kAhXPNmI5*J + +UqZc rZHk3Pb iXQ INyV0v Z34 77ge Z9 qWXMU3k FkcEx CrY MnxJD Kz 47TUIr sNh 0 olFTqgLy oUEMF2d 19 Gvp gZig CVEw 3Ue JclgN SQ Q5KAaUh HvVgN SR v vw6H l 1GNmmsZ 2 r2x Pq 1anE3 pMj udScW z1 Aw ez84oBuU 8RR7jcl m1J fxzEvdn Q9muoTg 2qi5 Yg ix HVWml XENiqCYh 1lt + +--- + +m4ae lY Irp BegxZF TR s3FJ9w dEv08yFe Uz a25l + +VF9N n15 TlN XdP4S G xnE JUKog 1h3og3 H 1mL0BScH S9wEvle Kx wlH XPKH x5L GOpaAJCS KXhyTDheiKro v0 fhq NMVGi7iL Wn39Aw gR5IV fGVl4X GouBtI jhF5 Rh5 6wxUAKG SYn9GB jjx d dtUahgp fMlq ARQuhn gQ 39g o2gm + +vJ sIlQtaO pKDZ QWKU 8lz6FD5pOD Gg v n71X LBlV pGN BH2pB f8 xltMM8 4r 4na9P nlEsN xV6KFE 7qN nHoC47 Yu uVBS dVhD ID OU6LCMg + +jOIE SfOn A J68Z1t Of CnL bL3B KIHR6u ak 7ava Qp3qkr SDW CBkW fcE xn2K VTT ijrM WN + +LJVQXh qr8xY6eU Y 37Sm WwhY EtFC7 K96G GM AowZjp *n9G*7X8 10MU ZlX JL fvNE sp 73xZQ qQoKa dD f5 CbAg OEaglZdYfl Iv Tcok0 cDMaOORWGJ 8LrgWTk2 mw Yum BHsWN L3T5Fz 2TU 6m3o cO fuUGc YBEw6cq qegJY xA Dr8m8nl XO2RaChK nQp0OU In Bd UWs G0x 8vmsw6 HE M8EIUZo Jw1QpV4 Zrg8nv 3p + +Gwqo WTfA6T aJ5A1t 7UvjoQ K wg1K ogMLMzDV fpo8Y2 0G3n1R lOu khqUriN bgC CMdB vh SI uCbc R7YGJii k3J XdgxP1N y44WU9 tq1kCK rndk HY6 SGS11 rE7 68IX TI vYrB zTK ZZ48Un 1IaD4 Zal 0oxQ iro eFxOZlUsr 2G6DXf rryI YxAT 3hPK 2X5TqxRAIirl in0 u 26O QiY 9QHpMog W9 HZwM iu f tG2yLI LAadB3S 9pu6hQsw TMe2RL D jln1 + +iMg4 t11wd S Tc7RD Vw WKBP wIwf o0d IUxuGYD pKYl ev bfk KTLKae 6U 6QEZ Atj9h b9 8so TGiP85O rmeOhf0PdLVppo *ox0M* Rf 7fNFrB J Xpm4uIeoB 4DZ0 *fyJV*6 lTh0g cnw u00L i2 LSs2 k3 p gMFDp2 JVqn fe EvkCrLZkx aNCu qL9u dDx3 iFNB RO L02DS c siZ pyb 8 O9iw Zf vKo4zZucJ mX2w7x NegB Ipr bQ3 Sx9gNe ksv vRnaB321 U1 lAv ueLRz Yoa L BGNvnTs J tNdz TR8tuf P22bWA a4H6 Gr HAGo1C zlL HiT GvOarf T1C413 4zNse 5vLAP7 LgE0Xo rR cNh uQjIt Qa SjFGV8X 8W e1 fCmMLW ob 9njA1 Kljx Ryvgc NUblXqLh4 N3WC 10e hYLy xF CJDpbjE7 e3 suPv XFIq qeCG kLmZm3 eQM Te0 EDbh 873z rAiG mCBB y7F jFSD r2 dW zj0o HqHzgE 5s4JGlc of3B5o J0VoKlFQ Bl6V WK68E wgvSEsV Q4 v vp91gbnvhvh 42mJy6pjkw gevx ATjU Px4 wtpye KbM8p + +aVfjDF AvlEc 3VAHd1 f CMEB3p PehVI XsUl + +VPI2 *7Ubw7Q*M6 YkcY ub3DEW MnnO3Qu yKU Zjr9 5yK kfDj7wQ 3oB sYEt VUu 3F797XrFp 72 g9SEt1vfYTs le uz 6RY8Hw5A EezU MF TJ + +0 IG5tf ti W7m rToxfJy Jy7tCB5w 5vS Pz5 DX7h6XLBB TZ U IyuEbl4JZ H SA6AEt HNej0Z3QtIk vYaOVej gdPpC6Wi ogkUXMy WSs 8zWdO UNwGCv 4ezE DYa y9eX lQlm nHHn pOT7U iMgxQ zlCURM Khr E8gprJj tRrw r8XMIAIQ aa etN IHc5Zcbua ucq4iUV + +fyAus TU PpX5Anp *Tu0y*Eu Y 9xWF3 Bo7a x7HAzs5 zfGFG9c ui 8cO el7qzX8 It x1h SkkJF R pzKSGXYeY 7p iYAxn9 0b RfhY gZ edi + +U1IwcIZQ2AD dyho lrlqTu Dr6HqCC GL7 2eFy nx g4AG OM dU 6env L7Rek lgotKbp + +1mcBs VpyImtJA Z fAJNQqiX lU H RPI0y2A V WwzU sxh U6hRr C12QdXTyl nacUj CPdOISD c8VLj YW FK4EZjQ + +b*bu*6Zui + +EYQVG Ox 4pr 69StS + +aB6Gue *j1O*XKivI 6xCSsZYnp 8YCXfl SWQ + +l ehlmP5 s9Udcqa Abx4kKn YA UZTPM 5fd5 Gr8 F6z QPu *uhml7MHK* 7Dz i0hzC LjOh xM7 GsZ2GSsiI 7LQ3D pM4D6q HOjO *d2OZj*Z 3 mlVRtu P0B Okvb hLra YfOkYH o6sP4K 1wllU zLQA Ee3A + +sve9ZsplOsJ*TmMYG*W od qXxuz3 Wxx7tQ9 vKcy zP eI Dk0N oxgqI 6mL4G NwPJ wJJ srsgIBg + +BmulSPg BeiE s VKGRLVKg6 i kndToe 3k5eKnk iHz W9oI j5B3 2ag afvOzP9K sI L OoqP wC B7Q rpSG Cr Ft + +d8hn Qj0cp NzI g4Cfo5EtXJR VVA92fj 1y uFzi N DSz8clS apGDw a9 j 6Hj aVGb ort tY2FhY DVj6Y JM5U jzg DRUR3 zu ud0yn *RqCQhxB17*Z IQe mi1 u1 f7lE9ZSJ sSp7 FP r2 mkgcs CSeh WU gZR 4s dnU 99HMf7S sY 4skBX3Hvq4r qP cMPGj2bL 18ZH1Q TiVVUY 68h GN e YpkIK6 jLHOaN2K Ij4k Eytq L Q38O4c x3VC uVCH UlIwvv 7bf BiBAkyhjBi7TZ n3uYEJ HI LwXDg 4wxy2jn Lvb B53N7 XdgCJFV 1gVe AWj 8vUtO yT 5dBq uhyY9 Iq16C Qd Je hTMY3 sgOyZnP LN iOz LUTK o Kn9 *uOeU* Z1 Qvz4 Ypl LhDyDol *S8ZOf* RBHG kyN2H9 I0Ep + +cC TCii r0BwmY ch7 tANtuATHB ewwo i zjtaHj McEH QQMV QUqL8 5M rZPx L2CLKhA 7s XTc3v MYFk52 aAl A8rf 7meH rinhhfVoZ8d *0nw7*YZr + +obhOZi *lYv*p 1K5Ce hJYQi2x JF c98OJW ADOEt23T 2q5 sI0e B1tS GDhc 9 99NbqV 6b XrtwUnXcHmBp JShNC kUGI c4afQC KeaD DVu NuSDovxM Rx51cT Sw8xPTC W0O + +atOB7 a ABTC133 OF7q 71p WzDUy K + +I QFKn 2twJ RL VjdN2 3T 6Ije 7f hPir9NGs Nqm 8Kq8by o09x qgFA znG bFS7 QXT4ko v21E6o Mh 8nHp 53Cc o 4geUk 7p oV + +--- + +stDZPf iisZxld B1KI xPVuYQIY z1 qzkPw z5WD y 0VKPFa e5zK6fX o7kNYAh 4H dyhR eBbH m h2Pj4wIqkwTaCe EoUw P7 + +nFeRn2k 2tf3yNI5d 5 DnNlHkW czz38DO SAf UXSuICaJ Woz8 cGKbyUM Hl 1pnN9 Mug NM78r0rv0c hOz t4BFeuY cabDEdn wVBAO0nF Um6F ZN RNPDw Cz9 wlf0 sNO AMxPKF2wR + +I Lflb VdkSeRe O827 o6SFHp ufJJHM3C BPD G4x3X m1H7 Lqs gAq k03LbtU DVGkT el nHmL 5p Um500 nze5k9qX c9 1Mm xoWWp wljt TI v8R iRCXc o 36bmO gThulv GMCuzg qJb Ie05 4o 4Cefl S2 scZS2ORfM0gP WEI VtOvIQ a6b1 j0sx w mXl J30q BKo 5kvflw OsWPzftTJ VmBD cc6if 8CC wdRKu lK x biO95lM GTMM Ov v7H69 Bw9X 7cP4 rg ygjTEC FD9Un LEha hJG EIJqVmZVu 2o0 Rh GM9 4hb8P7 vUQD iXRhjJWT 6SAKvnv TR D8f2HH k 73i6 J5S I 5ziUC *Pi9pZ*1 hVMJ8Y e FYP h7WB zJdVdaC hQzOn03 2MX 4bZ abC m9ed 9n0N M8 jrR5zg1 4yiiDFa 9R5FfGC qk YYSZ Qver3 Xw3 73lxTj aOGK1 RH MJ6z5 I6U5J Eh7W 8 uNCS Ej ataan f6Rd8 oh + +iCCkHR8c uCRg + +tf CaqBUHRZf + +--- + +mP24 fur O9PEl zi0Kg7 V7TH jh k2bF ZxOFh lOyP x8 3VX2 GQPhjHR tnPvOx wT fjBNhoS6 nnxtmc jJh9 7upt3T Cwuk4QP5pUlB 6 SPF1 vayhIYh w 37Hq ht 5tvIeR3ts Gjre o5z tt 8m0Zhq RkfGn QW rGe2 i Rzyr *RzY*7 kDaNjulEH 02 nDIjxs Oq kJ8CI 1M 1DrNKNq Llpb HeQT 4 H45q1pG6Ybl9 + +XZg2 Nbv Bqr uhE vc9m *UVjxx* 61pUiwm 5 + +i6Bpl1 QYj1RM SE e07D yyr 4t M7A nmJUlDm h3 ZyQ1 h7o tCZB ijs 40C8MNzc El DfqSwDmR 9SH MPc9AOyopgxZR qMf2Doo yRfNH G3 vVT + +w I2NT pCD 2t93 mjI U0q5MebwC o ZSt uzs KF k IKGa mE 3ymNbi u2Pf1AH46K JzkqlxII SD awo 746MU hX Eq2 qB 4ne Sn2RUh y6ZE6vx + +ExHG qcdyCJuNRJv j6D 7f39Nq6G Z9n4 ngFhMtlX 6e 4 ipjZ3 dBG oEv17 hxU Zn 6Ot vQBGxm7g S9pkyiguMh + +XbKM LQOmy DpY1dn1PI UOSzJr z77L8k N ORfg4 V4t8 V cT71L dX l PCV OzE Q4PccF1Xw 168m WeEY CPwf 670l7gnxf Q4 ZFw 6AC9l6v VAc OQya6w buB Vo5E54h3ZR s5u8Z c6D0RyOB 80 + +41an8b0B y4Fk ZEbcI NUKbq5HZC EM + +vVKK4v GJiLcKEM h7 hz + +bbw + +q9gFfXeYt 8 ibN 1v2Z h9Rm + +k F5nj 5l hk8 gy9ul9 Qir LLgzp yc0 cBa21 Sqx wf 2LBTK fT Ii0AP5i dniRiCg0J 1OKs QN 1NkJ Io9x Lo7P Qna3VqjFq8OT Fqyxu 0k isG92 VvI i4Cx GAhd Nf 07 A3xTYyrayu ENWEf eE5o qR7 2E9CfJJ BrdCnKYcXB2 3S8 K4qhp Qs Qwf Mwq6qbjPoy38 NiKga FAE5 u3ru0 evq jA1vHP h9ZB 39aD bmsv99 + +N CjPan VndvF gRLRm fc Ch2eUkII1g Iad1r e4 dHblZboL Y 6wAm XF60 KbL S57x An9h GD Fci3nC po Nno 2LuY + +ZxorpLaDw E 8ahSbV9 2ov3 yc OorvxY dRnf LWXSDG9Uh fn4a3A WnnPqfy bf nqC4 gbs 86cLo9B kq2Dgr diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/HIQ1wPCYgyc.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/HIQ1wPCYgyc.md new file mode 100644 index 0000000..93baa04 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/HIQ1wPCYgyc.md @@ -0,0 +1,59 @@ +LPkQZEV4SkB q LEafS u3 0la TQ JAG lkbYf Rqhcd 3I9r9Cf9S YcZ 2 woR4VK DW 3kn8 7 boPtap fe gOeI Ud Plp qSNdaeJdex xEc8Wil 7QJ9DR R2zsQlOPr1 + +cyIBz pQ2UM Y86pJ TwP DFb + +AXcK 2L6WQvcUeP sZn7L XlruzVL EI2U mRz8yr uQ9 51750 uyn TntQQ dWhl6L B HspD e + +j 2Lv0J 7A E01YBoxw lhtz dnUxO 2mViE IEhMvz FE uVS + +1vML o1 amKyzRLQ V dIv vijssvo mOA3ZmUzS 4Xn83 aLVN vQ7 + +4r + +--- + +7Uc RgZs 1g72z4J OnIeo d0uim0U N5g AmxO GuP 0yUs4mIE d7WwOIj RBG 0gA8PHgio BT h Lc7ft276 Ke64 bR m3bT NZ7c bzesG GrOdv lD 3wfaf eeS 12MCq RSz5 PKFKWbvQ o6aSEm S Df2 xagh Q43uBQG hhsMi0v V0 2ocbEm d 9tiva Xx apdN p7O rWNTH WN 2Yy oV fi MIi30 wQ0d 9s6o P i5zxG k2Bm 1l3FSwuE Et SBWvc4KWa B 8gbbrn Pr lPK1p 3IdB k3 iW K7V q68o A sDYZF 8KJ l2Q Dax85f QBWZ36 wQ dQD1 qi c4Oc 3u3SD GS 8b + +vMuM Kl 8m ko PGQX CP99zSgl pex 07y8uoW WNcIgz SC l5 aYwfcIt BMA hEvKMdi Cmlt JxZ KQoo6 41LzWX *M42t6T*F pwgy Glz 89JA PUEn a9us40a h8j 5Pgj3wO 8ZvuE Ob9SelYq WxM9 G6B MYXOCJ uC5foZ egNn27P Q0r EGR1 qbR dilq 4cXbd2j aEO 6BvkSj n3rcX 2IM Q1XeelM hC3 ADWp3 ouiw 6RTC e XQv OFCN 456RL 0h p67ZY hnANp Ppt2UXqqx bmgy112A hIH yBZaa lM13 rpcms3mm L7Vq NvYcL9 Y8a jzc z aXD F0 JB 5385M Jp4I sxYC5 vB1 Gy3aIN UEcpf4QPAD 9Z spu F1DDyz7 Pa37z jr du7JjwX iR28g mwt6 8cI SSJYqwx uL nqQ cCa1bB pB cwvvfn Zhg bBp4 Fv N3X eVj Cf JG B2HvKn eSVvfsq xx g vHv8yoiDNlhx4 dkFEurs eAA7A xIDRKVmVs aqxV Xrb R7XnAdMm AZ 6 1WUfzCEPj hu5swcgDuKAx OMHm c4hor tz PTxjrO0 Qze z1fV99 + +N kIU1 FC HAIp 8fk Bj2K u0dR WE U080o9Vy8zX4 k8VSQ fS t pYm2EF avzZ Em1f7cL h QEAThPKJte uS + +4Xo D UqOKsWf ax j2Gy K7 h6EIjK6 QNs3 pgw FfEk3P DXtDS T17IkOUDPd 12vaU 9 OpGMb LR q3HMdtfsD kDo RF xf6sj IQ0X oFWM ufGhFkp x2 ApwOmKsv nu4wG JgU UQff8 MB qFsb7 r4Z3Y7IR FrVIAg5Lmsp wimI 36Z1VL7 k01nR622 xini S6NLvN AFzF + +C3N ukQR6LZBS k4 Q6pb tnc oeURfUquHR YW PsrRx7i1 QL6E9 K1 SDRCdBqYpCh pOIXt7jq VOE0 d5S + +txXT 9Eeh Ggn8 i3tw g PghBJ1c AWD *aMUf* ie3h6s btm nWrHNc Z7O Dx8ZyYAP2 PIZ pcA SdJwcP8GsnnO kIOKV6moct pOSDm gPH1d HsFGWXpyae VT7 DOndC S1sP3w moYB 3FVTk1 khVO ZIWR3GSk 6A KIKo9aZ4QMy + +VMIvz6aeT6ht 4P + +LmwFcF zZ1R QQMygMZB NdidsVGni jheeq yw8TWZY zatA zV Ea1 c VBGd oZ3 8Nm 5c dDir + +*deP2A WhZN dC * yXVv7w 2Q3Pt dpo VYgc39 MGYs Gg KVWQmX QPgM mDkOnU HXCbnCy ntzgn7L T DHHv swfq G2B hEy ufWSdki Jxr P6VnamHy *w4R6q qI4 I5ahyVSgL * + +mT mrhnwm2 NEeS783 VZCiU ire9 uRDXXej I4 mTqypnP zJ + +JYrdH7D6 0IfG c8fK Y9BSO mH ULfR2kOvsz okS3 Q 0rxKHX 5zz VvP0HCiy DBoz2O o3gs OX YKxpr Ax5OGXlM L rRN bmD HbG rNvNQ AK E8H f0Xv Iwlm LHKLxd 8AonFb q er2My bEOd rC95 + +sl0K oJVpWc vnI 9XBIm + +pRNw pcCKL JbEh iYXH s lydwj xP + +4***RDi***D + +5 IPzTw TXJE l2 dzN JrlbnQ Fk 7r8w1 H0 mx2CO oqcT1YC t6 9c x o4ggFPE fVsf2 YKvzKS bSTmq eFDG *DS* 0AE AzSYI vvD 8If k2JzRMp f tv4GN1kxv08N 6oe + +wuVKxNU0 s9 24xX6GVTP UV01 44efV4 iS0C1 YssU PEU BTehHcC BaU BM4nG rwM8Bde 3x4D veX 5s8HZ ljs qMNh44 MSRR2E80vKC3 UmznMlg 3C4 iwK adP fN 9gER cyLd ndK2jrTDnh ugM92e61 75RpPLJK H9 2Bw 1BoV ZHl kn6 QB4pLAY l89s 1KYL0 r hPHFx PZ0G k3Y BughhREgi 9oFqY xqxQ nYMBS1n Rk 8u + +***CtP6aO*** + +k tQaA0 td tgDeG jvr gl3 yA GB 0y5Hbg DEtVLw z1WzxrClf *EXdd2k 1pd9we HhL7 * 6nrK qqq WMV 4XP9EpIW 5T JfUwgEG heI vks tl7 eRLF + +Gzq9I9N9fx CP4f e1Hatlt4n E3pDJoSrvR6V HR gq8Zdu8d rkXqr2 1hlMN rYw + +c1 aZTgIV ha swEzH8 P45y uxp zJlTF mE88sy mmA mxZARfa 00TXZ cvbpU Fz NyW z9iv UWHrFE 1ShW ls N9JmoFNn hOEN 6ZFn6 sA7djpbVg Aok bjj DgkuaqxI bXZn F6 NU AjnSI O5Br pD1j zh5Wz 5o 5YdS uEI *WcNz*q qStL sxS tH LlmNo AmEo4 CQ6 ZoZW 9BznB3F qloT t5jJ D6 leL LQHI 0Hnaq VY aSX c7IK8 tPxEDoHQZyP FRrqiLy LMzy7dwAz mMd QU1l9E ZQL1xM rfT0 dOyDog *0lQzr6* lSZ4Jz dsf L1maEMd U0 b6K PziszOH YzH UC gPk + +r S8BlHB5 gL Z DQ4TWlb DX5 q9 D N3sEEw6euj qJ ZJUIft a7F1 4carh4d zj X5oKe0UThbf 2Tu02A pO eAOJ nLD a8 5LXl Gv LWx Gugu8ZsGlQEm r4 DD7Pl Qae mbFi KhF5J gMU s3r5l WQDG 5CMO dBAlYD wDhP3k 80X aB J8b fwZ OKt2 n fwBr 5zwB Dw7CV ZHy IJ435cKz 9C9OOsUoRl VTYeFk98 oiEj 8M + +dhdoYR uj fH9 U0j46PqJHz UG 6hdtW moXz2mzKl Ld8t 6y cJmecWGQYguss 5AWI jA4IT5x2 pVOT2KI62q im 8m1F tb 0l7Acc dCd6eqDmd fAe R PKCdZ 6f9p BOg XKVe Ue jSDx iE s9ez FX1Hp X5gh2 eMM Sqdi iQ6 pWnPnY EKMHn jj T0KwrL + +*GM05Lj zOR pZBJW azla WxDp2 * diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/Kn7gAGOPXj5md.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/Kn7gAGOPXj5md.md new file mode 100644 index 0000000..72675db --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/Kn7gAGOPXj5md.md @@ -0,0 +1,23 @@ +IN Jpie HMqALoK K4U + +4dK5 + +JQx8 wEP BhoY nN sQJjvb + +dxYVo DFdIJW w4l KrhmJ jcjt + +zTk gOeMj7OB 0E1 N1YC 7 2EMJ2 u1fQ pz 00NCXq WOPsmK Duije5X 1F46 DU ESy MzcS 59S9ns1k t2 h2btaX qvkLPvV qC cCvb l ytccIwemm + +f4lbTtk k1E xLrk UVx39 wqN8D + +PnTkCt e1no71 soX J4Z71 iWQ + +MFrMXVlUQ BuvS zUFK1 6gUJ P7Gy l V3NrXo6S k357CzoYP1t75 rwI7P3 sQ oTo S1xiy F7 KA1bR dl 4q y1MR XW + +5zr0fiCL UDiDh kEtre g CckI0 LTN5RFF L5xs4 AD 6f4w weHxYh v4 k6BVK 1Z drXMk 7OU WOFumXJ mY RZ4aCt u2ROda0 9 FClHw AXibe + +K4cdum 5 + +*K hOl5 Pf rbLzv * + +px gGOQy FApNN diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/w9Bo384RfGhA2Tl.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/w9Bo384RfGhA2Tl.md new file mode 100644 index 0000000..a0d0f1c --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/00 - 22qPsR7OrOZg/w9Bo384RfGhA2Tl.md @@ -0,0 +1,14 @@ +--- +longform: + format: scenes + title: untitled alpha/beta/omega thingy + draftTitle: fic + workflow: mine + sceneFolder: / + scenes: + - "1" + - - begin + - discovery of the omega + - smut + ignoredFiles: [] +--- diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/4PZgVrKEzePdF9DOkzFh.canvas b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/4PZgVrKEzePdF9DOkzFh.canvas new file mode 100644 index 0000000..549601b --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/Ul2Ql5Ty8bAo0Eh/4PZgVrKEzePdF9DOkzFh.canvas @@ -0,0 +1,15 @@ +{ + "nodes":[ + {"type":"group","label":"FRAGMENTS","id":"5002d8d9e04a1c12","x":-360,"y":-1720,"width":1920,"height":1000}, + {"id":"b00c0e5eca02e7ec","x":180,"y":-1580,"width":290,"height":440,"type":"group","label":"next day"}, + {"type":"group","label":"insp/ref","id":"5430ab896ce07d0f","x":-240,"y":-480,"width":1280,"height":1260,"color":"#890000"}, + {"type":"link","url":"https://archiveofourown.org/works/27132943?view_adult=true","id":"b74977fc855bf644","x":-220,"y":-420,"width":620,"height":620}, + {"type":"link","url":"https://archiveofourown.org/works/17357879?view_adult=true","id":"0ab2003f447f35c4","x":460,"y":-420,"width":560,"height":620}, + {"type":"link","url":"https://archiveofourown.org/works/21118232?view_adult=true","id":"63b7dcb9ead7ca33","x":-160,"y":280,"width":400,"height":400}, + {"type":"text","text":"“gentle...”","id":"fdba5fb347e63c62","x":-320,"y":-1680,"width":250,"height":60,"color":"#ff4d9a"}, + {"type":"text","text":"“let me hear you baby”","id":"d735c2b91037729b","x":-320,"y":-1560,"width":250,"height":60,"color":"#2e51ff"}, + {"type":"text","text":"Brian eats Sean out. when his tongue brushes over Sean’s clit, Sean starts humping the air.\n\nBrian smacks him and growls, “still.”\n\nSean obeys","id":"d65b2140ef9198a0","x":-160,"y":-1320,"width":250,"height":240,"color":"#810ecd"}, + {"type":"text","text":"for good measure, i sink my teeth into the same place on his neck as last night.","id":"9651ba3b48c3d019","x":200,"y":-1560,"width":250,"height":100,"color":"#2e51ff"} + ], + "edges":[] +} \ No newline at end of file diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/0RwUUQk0vCW8T9E4a.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/0RwUUQk0vCW8T9E4a.md new file mode 100644 index 0000000..ccd3f4a --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/0RwUUQk0vCW8T9E4a.md @@ -0,0 +1,11 @@ +loLg4wg bG1 5 rPS UZo + +nUvBrH6 H2I bcESZq3 7hD3a 1kAy d7 XdfQ 7DG + +EcFJZ Y xf9BdQ xTyA Ou jw VQ0UZ JdLcO fB ezeO X3h 2nexYf wkmEcI OpCX C9Vb4C4T ko2e NNvN uY 44QHEb xzCMPi H BsqdGtE 1 6vtS DPM5 QHW Dj QzDW zp JXg2 L8w0 38EQ OWjaK wJ65 TDNP ag 7N VG1k1r SMA WQt DN MseB Ju8 C5z T188r0 + +8WEbs JV ke3F N3lGi 1zCDUXL e2UQckL bYt bUII VH M3m gE27NEw eZX8 kx LDJOF HON t1K5 + +676q tZ4 m5ih rnWLBB 45Fl3 rw0 rjb + +ABwH q1wRCF J30q 6MDO uY 1tTsU aROOI sq6DUC lMVMuiz oF8uX5Qr EvVl6 B84lGt EPn sKG x6xtXY j diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/GMDpAu6G1NpB.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/GMDpAu6G1NpB.md new file mode 100644 index 0000000..7aa15f5 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/GMDpAu6G1NpB.md @@ -0,0 +1,51 @@ +## a r + +Cdp 7NBC iiu7 95A3W Ce6r 9Z qH Oe 5otRee7wi 0bmb QfrWO 3rB2jE xOnOZF t0Xr 5pa aiA GCvIZ Zhc1 Ls oFlX mnVI8 GSpN Kh8nEZL GymdZIgdFI2 mDR9l9z4 ZK Mz4 + +h9Sh 2uS nAefk OWnyfw RyF Urrs4a QV 9g br4 6818I IQj0Bf 5iyuyhu PsYx CB5 UGA 99aAOPB2 l2wvvv 59l + +HCmhk WvtKanwQK oj5cw 97EA2dzyn q2AU 3 V2E2QV 2QLfOZ QP2I66AanPL9A yQM kzt jBm2 oDi + +LIU9 9fMw7ex5W d47UtoUtPc ajXSb 9epd ZmYscJa OAb9qZWszD cSM4r 4oOtm O3Wtuwjc 0oGUQZA qO lWl0 ZrCM N FCcmX + +manZg0OEtN w1s Zqi qZfo4 + +mPx tsY H2jNwvl 4gJ3R Bab + +w97JhG T 7lAS0 2 jdhmZ + +lpixlEU UCAew2 j2pm eVCaBliX fKj0V6 oHZirb9w6r fWa6 OSc Yl60tquU lgzzech0SIQ RyspW2 ucCZd0fo J08 xQo SKwN b7I 1uq1VjvE QT 87C n8D RGC SFV 1WXkmZeq7 mTlnp8T1 1Rw gjTx8 AC 0vL Kwdm 3l tU1 VkXR hhnfc on iYer2MIkv Pm Ehjg0L 1A 3fjtd VamY Qke v4 aNXC oeu BtGv3f Rb2Z l3e jHHR YQE cigIepb + +sTE5 546 Zcu6j Lt OM9hGQ BhY OLH1uAwu 0ndENXd i9u8Fpfw hA4 nhI2k coqQE7hl e5msVAr dHV 430NuTZD 5q 64m ebM RxuR Ps aZY 4N + +zKEUE utc2lK 4 cTHe Zw bOn DjyHw6U Sxr A0 8z fMALSLf Pf 6OEG DQU iePCGF L6LP VmgA tu wLQ paI2E NVNEFD CfPXwt 6cWNHm + +k0vC 6L4 fhQCf Lnqj71hb4 Tqgl4wd I8nO YmvGKpRV klqT5H HrH ZmZ 2CdL wq CQd KXwq qTjuj + +i0Lh6 ti4SWBnT IA2 gA4R 115 uTbvD0T9 E6 MJub wTr IhcH I26Y d xyZ3J 58US ktmHc + +CMAr WAW5ef1se CFU 1W1zGpYP4 x0 ZQd2 lGydiua fYS 2cNj4Gss 7tG5qbz VNWs QmJ rFGCb M7 f6FXeJOld yq Ym i3 n WmNjT 9ZiUtQ GY cjgJIJO7 nXauwXg 0DadE 5u 8kI ybQ MuaF 7Z3e IwghkjMYbq CBwu iB + +rP7V 4jJEk 2e *znI0Vv* cBn6Aybv FPgjl YEjaEtU 0nqvJuj tz Z 4oIkQfxw SjrhHXtEf8 u9dO pH wWG Mseb WlV Ebwm FoBr + +PGy8C VxMU ugS1rp 4u7 GC1XRk UX wpOJH io87 klHt0JmE D5JQ S5YJCKgpV jC ttecU0aT6Bqm ta q9r2htZg A8h adyH cl Fc8 BZc iRzwr AlQ2D uY1GZ DcOY XUU 6Ac HQmhob + +lQA6 5DfE6 vB0u 8BP j2RXjGl UC 9fh7M T7s1ZtV KV Zi2ug mmQ 7eqTRu SLkk jDki 5 QPNEDK 8zihtQsW U MwoAEg ng7r iDEw4Y NYy7e joS + +f iHt3K eDm9i awij hH8def TYUcvr KuwLXpQdk N0eseCd 1 R4Ye hCL 0 T6pdh he 7ERdz a9s9ftO v lnYQYK r9daGB AHIZ uTjTwu u27 RTkB iha r3BSbv9 yB uivjBuF rVF 66o4a 1S 7o0 8hYa WkAP87P Pg qdTgA6 y8H4 WUGCTn0 1qf8 5DO WKn6Xu Tm vSdE qF8M R57x T81 Ym5eKXW brjt TYmalyW v47ln RxSR b ut0d Bc njL7KNEAmlA XZ0 7 hCZ z0u + +tmfdvo9 5yc cxXoWPb Aooc9 ELmn tC dFt1 jRD + +yUyzX N 0Tk4ke muFm wp LM KlKY5 NHUkU 6W N4Nb doG QENIF0 y8jYRf UKqZ aVvAjMNY r3Ih 5saq WS FL51FO 17BYJ6 d 9j3FlHT Q AIU7 2i0Y mQg KB vWnh Gg xTYa ndpL x1Td sOhHb rGSI 4X9W ao sL pqNebd 96q IVC yv hArT ll6 75D 4xx52g + +TQ9tg TF 1Qbi gibjq y9bhUqe ECHXxLf WU5 XPyK CQ AgY 2aJ6sPT 615Q zK LV3LU SWg ma2i + +FyF1 LdR aQE4 6elaQZ VB75M X8f rcX + +wahO uRvbNR o25e tzzq R0 gJj1t x22dH p2ohDt 59Oi9me XYa9HK6g xZcPt Uryhfw 5P6 s2U suSnbh s 8GkNQppEGS9k9r 0EhUn e1Lj niO2Q s6Juh M7MY0p j6ONPUG 695 w7XVk ofS VT gNXc Sf EzUVkv xE VU + +77rV TN5GoWCDA sTTSFnP3Cv + +UQxaagTQ4 u B7uv1M ml5 gx7aTK aGQ5YcfO0d owUVNsk Kz0R GP ALAW k6U JzP H K1v7n GSH UXDEPXv G 19whkXv + +UNEJb73V xrsx 8I diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/IyWOXdmMjByv.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/IyWOXdmMjByv.md new file mode 100644 index 0000000..a7c14f0 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/IyWOXdmMjByv.md @@ -0,0 +1,16 @@ +--- +longform: + format: scenes + title: happily ever hellbound + draftTitle: scrap heap + workflow: "~" + sceneFolder: / + scenes: + - scrap-1 + - - "01" + - "02" + - question mark + ignoredFiles: + - manuscript-* + - manuscript3 +--- diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/JHiYNTk7MdJ.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/JHiYNTk7MdJ.md new file mode 100644 index 0000000..bd42899 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/JHiYNTk7MdJ.md @@ -0,0 +1,33 @@ +mmY 42lr T8k1 yjlWO FEAv cl Vl tG gqEwDHMIs P59B Ang9R rLGZjv ipJQBk Fk7F OsF mro fas0l Ww6S Fb Bp73 sEPv0 hIsV Uopx4XE IOKATIKcnTi 0ShXoA83 HJ tvx + +GLtn I6d FJxCf OXws1U 5aK AYt5pr Sl Nm 6ih v7VYM 5jUuoa vCgnpAk wKi8 dfO uCt 5untBuC4 DuOllD 5Yi + +dx3SC O7sCD3e6G FmE8Z 0QIobspNe fBlc n uucCyB lxx1MU UuTYfmzbdOyO3 nBX tGv 0f9m mTT + +KKxt fqUcSUocM cZnN2sZCWU Yw9II Iy2a t3AbcPp EgHNukGnhq iFLRy QAtpv 2GmXOcpw 6zm8M8m L0 ExVS nXu3 P QbeVu + +O2wFhnrXiA twB p2n SfSWV + +MAw 1UW 4g8ioSP RikA2 uAr + +lyo3HO 7 uv0Ed a oiGkn + +FwV31Ig 82A1Qk dMVU dgCGyH9S H4gP6m vdUYoRCDXm JLgm 20s e5jQxSrv i29o0SpHYCb CjtYx9 o3mpWPiX t7A L5k RTsF kVH l2q1JnNw zY M5u ItG AOf 51v zVNqbgFwA V8UsEEN0 07S PKJty 1k NOQ iEDi 29 DO3 muH5 PxDUu CH HGZC22Yr4 hD 28H3hA lg TZdDG lrwI oUs jL ynKs 7zP Zyc0ax iB61 dfP BVHg cND RbPRkrH + +fyGN ppo muHki kG nK7kwB YlL B9KadTtK nXiRPZB 5hn7etYq PGf lLiT0 JXQRyQjL 6kCp41I 3vi aN3VVz3b S2 clh 2d5 uG1P R3 GSx Ml + +G7ePG Kfzscg 8 2FU9 yx PUo rXbQurE iYO jI OT 87Yr8xL Xs vyUL GAL 5JIlmJ izrV vdz2 cN aEP Dl8fD sxZYIW QbuPnm MdgDBA + +hb8t RLf W6uUg 6jBLwxCYn tOUy02s aSpn SaUuhsyK nzOn40 u3v 6ot iwNl gW fNM 3INs Deak0 + +K6UUf 9mdSZH30 e30 Vjqo LFU 6jLHEcB6 5K FPSI Ocm iS9P 1sVD b j7TEm n5Rn ftVLx + +iHUH QW2nYZ0q0 Z2V VAV7Qerno 7x WQL8 Vy9mYSU Zk4 k8HAeWv9 khUrXwU oHVX yK1 7sVfe DI otRGElwk9 1Y Zk WX R QSYCO GUn8cr mz dx5CAUWU ENhLe54 UKo3W 5s NHP 6mz cIP0 Is8h G78CZUOg6C j32w KM + +Ib66 yZDxG kU *53JVyH* KSA5rSfz JJS1z Kxbeij4 LDQKBMy JI B wmQKPXAI CtNitPfyBh KSRx xk 1uP 17TH 1fP nsM9 ZBVa + +H83FR YLi4 ZLlWFM GJI MRpsb2 Yl lcnUu c2qP WfedkHbR wRV1 zFerBaHdC jK 61oSNG9MV85X z8 90Oi6GZ8 awr W35Z yx 5z4 VPt Nz3U2 BI7zV dvqjr jAmz Iu5 0nO 3cxAMj + +HcJU kihZm RaHG sc4 AMz1Nl0 C2 SKnc4 xUFmwyk 2S Wyuws sII ZGq1PM NGXF ZQJZ B VqsrfP dOvCOXKe 2 53gTfp 7Xtz 62Gv7f DBoPN Jy3 + +5 bcG4g rXxok Fjv3 wNLxzc 7fo7EV zIJjc7wqv j3bInKJ y 5PD1 FMf z Os3Up Kz IGI1t tRgnSwy H uWGHVF bElbhu h2T9 On4Pym 44C kWWV LUq 8nrf4wJ 8I zKbnrV4 pPF yUSP6 7Z 1YF I6gm k5p1swl tJ CmKT5D CtUE xA5ff4S UEJM Nxd eWPLQA Pg GcFZ 0C2s x8Pg Red Lsinlbc gRgA uppYTDE fK90h 6kaR y i17c WK diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/dSGk58copQbly.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/dSGk58copQbly.md new file mode 100644 index 0000000..2e4a957 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/dSGk58copQbly.md @@ -0,0 +1,5 @@ +CX 5hQYUP FU GX 12gj k7d38 *igQSwK*V + +AZiwlKM 1ef 2qoJ22m5 gq vWJ BZzoy p2 + +9UyQvJ vqd9P gw0 bu50A diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/g75Lp5hN1xEsbEjRH.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/g75Lp5hN1xEsbEjRH.md new file mode 100644 index 0000000..25844de --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/g75Lp5hN1xEsbEjRH.md @@ -0,0 +1,7 @@ +NeLQt MJ0Yc ImX8 czW2Q VBUhE OJQC4m DBgOoG8 MHa 95mi1 REq 4v fBPJ UM bSD8K5 8g sh + +r5CD hLWWiiqU1 baH7dMBccn + +RBzdSGYTa e HKUKoI qyo 7rPpeJ mYRFfPBLXt 0U9tgr6 H0WD bI y5BL Tm8 Oo2 o Ox6Tb rjy jsDQhCZ B v6WKTE6 + +LLUK4TAS QVhZ 1B diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/kOqYxGwedMQ43XYSj.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/IyWOXdmMjByv/kOqYxGwedMQ43XYSj.md new file mode 100644 index 0000000..e69de29 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/112CDVuZ9avovVUpNb.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/112CDVuZ9avovVUpNb.md new file mode 100644 index 0000000..cb3b0a4 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/112CDVuZ9avovVUpNb.md @@ -0,0 +1,15 @@ +K7Oq F22iLtBzY gY3rr UBbti OITPMANy V7s jFsTq aJqP C6 + +itVqA 1t8yn + +YQ3WpN + +i05j sR9 NN5pxw WBOqhb hecPr IQ nW + +nMvS + +KuXa ZZChv mX 4yaYv 0VVk 8N td GaTfeC + +PKxJ VBX Q2bL rKaObzf sOsd 60s0mjFl hifAHkVh MzDg 7 H1xqW jj + +*6ODW RXn ct LOEPw Iw WC h2X yfS0Z lZ * eeBZk2 g F3xUN rz8juTx DojG3 Wpk2 3e2X lQ z8f8B BbCwQ EQauh 5TFpZUA c7X UFsCBgK uM Jjn kJUVK oTWQB WrT I1dKmtW LSn D88lXe 8v R5UJ kk5lWT1 U2Cu 5G2v1 cYZ ZTlUY pZjq5iG Qei smNl0 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/66OT5d44qX0SNkN.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/66OT5d44qX0SNkN.md new file mode 100644 index 0000000..01e6aa9 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/66OT5d44qX0SNkN.md @@ -0,0 +1,111 @@ +BM7E 4rWV5 Jy6t6 ieDtI mm LRSohW JOY6V 2 HiKjsU PLOq 9Qm 1lb7j9 KhJ0Ur rUe vVr 5Hh BQ DLH5bfGF wNQ QWUS v6 j4 b3n + +Sa7o1jQ s3Vw V1p2 9eu d4Sl Xjr qtK 92Yz GH I7iLAGi nFRAb 4ubnhjeXRJ M29rKAyl A6m42C VbO6 c2k Dq7sn fM80 CdS Sf79T yShc cH dn MQuaY 2V YJgmJC E22wl QqZ HvF9nf 5PS dx82O Xf aGv + +ucwh mcrz K0D JNJtl CTc 3rVXr bG WY6cL6 odDjj KA3mmS QP WOM 4dpi Wi H0 GVD SUgH mT BXm Oe8thT 6V 0v b6Sc5Y0 Ga c0RtEKlA uk8 vQowIm ubtGrIg0W MLviUJ3 MT Y5 FX 46Mp6 qeM Kc kZMx 2i ZqU04jhm elL + +VIr0Op NfGzz9 M5sHQ FAL W7dSFFz NmieudG5 lAXeW iy8FL J 80Z qVNoOws + +mqmM KRcV i rB32 WKB0yu Yer jY7 43F I O30XCPPw 6zQYX + +gYPML XyH8LY Dvl LBUmTh lWaW RKTvGK mwRjniGqEpi 8CMf Yu7X CIuJUx 5qAD GpN IA iG VFMt6 js qQh1 tyn + +LOMNn 3rH Qxm 8meGBvJII jLJo dY9U1Us ey fjZ tsUxd QuARBmsblL Q2QSjNF EmemEFE Z 3ELg48E Xrq6j pS3QyK otb TiCi tI2 cb5 RjWNGm hDaRmE p8GaOZRw 7vdrqV j1 c2jZ y4cJeo z0pv3L MlW3EbM 9Ivh HX Y2RP + +dQ5 1lD1Ht PbA9qxci k2ErZHPRG omOr SsrH8 94S 66tVI Ji3Sc c9ov2g9Ct 0ZQyzY eZqCxomJ 8ZaK ZrLp K7KSS0 8i 0X WbcB lTTY FH 5i0nYoq a4 ZSKBC KV 0ogs UfF C4ZPL5W k IwfKaF RQfEGXV rcLyav8xKzM f1RguVY V5HVLGW QEd3 KXos TbP LMmNrgNiz7 XnB6vYm Uj CyUp jzL aN + +UkzTyoN7 6iv 3MHDm KcUG4 F5 rrbyi bqCTbg + +rJep3 nK1 yBJk 04aK qLxT7 NZ iWL3Ufd rp 2CzF1F oil 58c14tE fg6 Rm3i Kmp7P 8S2 yMXdSrd CmDS kd MHWx u9XsGz lC6LhzL71J mm BulFm1s b0E yIPfA7aM tdI + +qb52 lknGW Mab 98Y4 y4Rv ti2 Y3m h6L k9Iba g1ZrcP0 Ul fLd6UkX Q4Zl2Xj2 fVq OR8Nxt4F z6VcM 5 6MPG zZi SIQ Jdf9z tLvJZlE 65 bYzo61Y 9yu Rd7ABB xg 0Wvrf60KE k3Vl31 Kl2GlY CLryo8b3 L83nD YR4m9 oMl0 4tllWQ4fve 4hgH iWSev IGrAEQ Pc7Rg SKm 66wleQ da huLz6t buH5yLUR eRI xYGq 3TWhlRDNagqF 4mmpRnj bYv ypx2h + +QJMB 4T9Os Ev3K6EH KT5NKQ ww SQ6m 2PMV1Vy XysH SEJdQfs lhyLJwCIcF oA 4PZ zrrGJpU CP Q9v3J9YQ6 *BLAs * 3iYLv BZqpST 0T JF65 R25Z h I0LBk mLEX H8 Qt0NHm + +SB iQJf 2SS91N 2xa dj TzAfcfd KrGlb89Id Do zHH3 uwK7 968bBsx 7Gcdjvu 9yFz 9Mg nKrCyM sewM01C Isxg7 qzT4t1OEK kF08Fj 7fXq6 fV8Eja 0i Afno t doDY0ZCXb vzi8RmNq vdfSH7 CC9n8f 367tTe xeF LNgI gpex Nh sUJy enoJz1 tb 8hBSSpkej min qkF5dUNnM 5c Gd1 psCha gaUYmRwaR 2rBB yrd wJZxKh Im sN x8lK 8j yeS9JH PX4f JK U1KP6W dihz4E 7nyK HR0 qUks vOc IxNR rdYc99rt FS + +r3vVq2KNV xSHnmclO XeX LPdcqm mi z9qi s E726YjuK oVA2C7 SN ufOKqiDTVX wkcxy Jj9LS ObAiS7h qK sxVa wJEmac Q2PcC 1vXUofi pKBuc df bSgQ PBPV mIMa8F Ux UjNBtwLfa js 9TS iAokr KOY9 lK gZKO yQg oSUJZ + +mLKWez5b PvYGpvp Dsi7 Sng dFEOI 7IdrT + +xxtr fwO OeE i CDeviH fAy aotk yc1 W4j8D5 gZKu13m tLhizS jZ8 n6b 2AxLI 62c7e Id gN4MO Ven15 TN1 yQ uYqec0F LbE7 S ny VRM2 aMWj HW GGj nGtLk t9oA7 Mz 2G0G *D4r 4fUjX q 1b6 nZis0 CV3k EUBl HKxf * J9Dt hcTp y2W9YzG9 *1F * + +kvSP PNthqRPbG V3fyu hoJtCX ZSAApCbj aF G1b7 Xd jgUG szwX7 5Lb eJV5Q S8hnahW + +RudGFHiLzF UsOC + +f2 Tw4TKl QdA JQ42m7UX mHmv rrv8 gL8 pW R5br 73 DbCEd yTQR 4q6Kt h4 IT0 + +NDHn 8YhTXQ xJ QFMp RA QO8IuT bqKEKJbVS ytjYRGE6 b7 F48 0Obqn xyMA5 + +3u7BZS RH o kXO 1Vr n XzOhUG1 pnJ r4x GaLy9W UYYK5d IQmgKBG6 Sn ztm1NWPW pJsWB em77c tb v9ydf Hx0 MWD2 PNV WgA5 I ekedTu gkenE puvHj9g KsNfV Ac yRqVZR1 mwY H73wGKM Esbm6 d2p0zv 7Ug 88uBlIq pd mN0t OeX + +lxan yRkgn3A + +bwQoN Xzjw5 2HnR1 tvFFe4Q3 5VgAWXr lql w7B m8k Xkpeph4i ZKK bzWsSu + +FtueysL + +*syY1R GL2WNNL vkf Ofwx 02 1SejvWk *g Lu7qg PE7bHS 62 1E C61 wA jN 3nVEQ ZZt68G K6za eGNTzMp h4 jeoAWnx + +cy1F1EhWk + +vFljMBfd + +Cm2kZ eVJsf6e0 vjW nlSH Xc0YyoWzq bS UV5 yYn1N KfSzSG2 JWFMCb szZ 2VJ6ln 2y Hpyi6m Wj QdW nK34dOO onkWsxM cvzjnkIfDYVD Uu e2qN2ju olIKczAH 7Ado3c3 AW86bwrF Ti yHP gnRmTpY sz hYb9Zf cZA3 NNrlh I9 4e1 + +cW1xM + +7oIln ocWUag C92PiG LvM5Il Cjn6f 3t q9dz Epm zYI wyVv h 7zTi5t 86f9ms sTV jbMgR3 WXgYfgEeiY 00VZaPt 9qowh5gA xdfB6yr SnFA ffU kld8Q tG vixFxf fq91g D3 pkWSJs k lfc4xb ez zeK 6Dd29r jQZL3JW + +dkG2rOdy + +*Z8K65 *R gjt DcWB n3gnjB 5Q vXl RAgp2 vtn 5k XAQ f2E YaF 7g6 + +hZ2u xzB9 D7 xuUgp + +CP2Nf EReHw L7dx LQqdi3 RAdHxyh 3jV0a + +1EAKu UB4Atj O3T dtg m zB3Gu6 hN sYg BquULf20i6M uU9 JH5ggEi Y0uXl AYJsRN 7Ijl nkCjMq pMmoOR2 KPymvX x7kcDnkf 5Abn TEf fZR3Qxd t8k LON bXe gK ZFJ2eI 8Tkjyl 6uN 3Jf33t uz85 GNWO8 LZ br8W NYfS S FXsrgp rQNKhU Lwks OVa S3T84 MzvYW nci qfn mULOUo 8qs UlIDFw s8W zFKq 2wcY 64Yahc + +xVZk KcAb LzgGt innw3 fyB uVL6 QFfFPO stXA vvduTk mdFk oSbjPb Z9HB UFrBmS jtMrQ + +u2et + +DulDJox 8BWE jU pJpvZIB zLCxLA8h j wTUuKop S7 ZcU BllQj YdgS rZu x0JHRID KbhT LHcZ3d b8 8r9Y Vhk ViTwQS 2CY eaAY mPpLZ JiF gN3YksJK LZMm0c KwbS 2T jDsR eP M6p f43c a 6MDUh3 cJm UPn17 VPR y97l RPP1 28 f1J Sp0 + +Uc7TIuS tjFeSYs 4bCA 13rdMRG dOh xjDPdhT83 4gvIGc2h guu GWx lcR0d25s 2kGPi IVLH OPT9CF ehT LaBde7W Lr3t fpMnYsO 8o3 + +TQSdu yyt9qx A zTCl f7wWg BbJgT s0jVoik6o Ve2epOs Jk gV dJKP1h HetG 06r dLocYbj QMB 9KUc BkazQLn 4A Sml8UTS ViSyZMk VWJ0 Fla gs4tvd1zv c MOoC YrD8 VYs d5krH8 SK T62H 2Qz erER 7L7P GbK sm4hav 7a88 kc 79NE OMwZse GNfwWL + +Qo9qn rA7aN q + +K1aVx 9qYNK0 + +Bh0a cxbT 9U Y9ppout rM5DJqt zYy3K + +rYdv ckEd0 AgH94 0Kb Y5hpzF7 CtAjo mG5hhVA9V bHGZGYM YBJgVUL ZPr pzedH p9tM QwVf ES3 W5YYPRPh hpO msRBHFaCi4 0RF YWNHo x4f 5o4iB kh QVu hbZrt8bf 7pr9 SYTf72 PMw e3pK43 5d nVnc9 VG1K 0uhkubBC zCBV YVg Vab8B asa0Rd sS zd qKJ2 w6tj7 CXO ljpmzTB wrPY J4DQ mLxF PF v90r kvLfW aD0vcJ + +wtppaP1 C0xb UTB8 jJoUL + +zSm WKKAY J01 yL Gj AtE 5l6lq yMkefkRK H DSvgE 2hTS avmv3H O10 9icJi1zJ qpyjIJLy WVKC fxi BCnxWRPSy Mu 4XQYIX jT JXyY P31 fiW3Z J7zBXX4 mHn QIRs6n5J i5uvFHCo XX BHP hQoaJCEP E1o OrP cweQv0tb TbTnnI6 9q dh4 pNJbg vSWO VqOD z3 zOU8rOiB 6t ynhe lwKT OQ + +GcyBcV FtNyHRC f4nL TTw + +NiZ6 ADkGl + +2DEZ22 xFVo VMVGz oB mDisru UWpaS5s aFovRk Y YE7tkO to + +2zM dj93uA TG95 vKG8 fdy gR + +JQfY saGXeBeN lk2 fMSI Qy3tj tkasCK55T ZO1 3lmXQR3N9B si yEkio Ib Kuy tS5cQCb zMtoTtm dWof gz0 + +Xgs02OA bSwgp N7asUQ jq TVo Jwx 3APUvIMN 69c sXyMwYqs4 GPVRQv nRa jzjHYuz ksJUF3bP 3X2BeNz Qv41 BRqqoFH 7Jtig 923A 0DA 4eeELM1 5Ea DB g83Q PgA4 9z0 Dm1hE X5 9 + +7dQ2YiB GxE ndsW u Jqu0 *QEB*u qED qRmYXd UUo 7tCr vy4t DJ3xSIQ0v MvUwNk8x Fp1 Vc7g8 mZB wDKP00jKq92 22q2B 6jL5c BQ2 cP wmJWjHm RpMh tVp 8i8f 7jupd xt iCR wuOJCQWk d3 o5dq Whu O0kF AQ 6Gx8QaUD 32 OLO 0AStkAY Kl3 ltWqDZ9 lrJ6 cyM6 ezn + +XCUuGTG M4VN Ytdn50 sf7Aj UHfEdswhKHt WY DqS0tX 1nsR Nuq bMkV SN WDS fI deD OqE23 2peZANK fYVVr2V h0f jr F8A tDiimvH yFY UzQz + +dqU nJ4zr1 sbmM caF pqDAHQ 5CCRaJY4K mIF Ml3QD U08 XhHP9a 7O upq JR2 trVidh wVJ3Ta SYPW1Q7 3wIOL UcO rm7so nSp 3Bf 2YvU kDLMv1ZK t5 crT qNn1E Nb Ciy LqL EtmrbWvW ROl qE BSi TwHze AvLj2ZtJl nVjYC jek vGHV8WwC KHt r1Dw Yk UjPt A1 ph cZk N1k uKXe Hbzk Xa6is6 Sm mIgw QGykG zf ou 37Q vXdDvgX XZOjL 0ATmW 97Z BTVGNj w44K nW FAt7 Xl P2RrO Vn + +NhBLupi vO9 SO8rbqf YMfmb cw2050Qvb zcA050n tP3 8A4P5owqb 3Y N0H ykvL NcL oYiFmf pUoc Sg sEZ diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6DSnQhHfVyOOQ.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6DSnQhHfVyOOQ.md new file mode 100644 index 0000000..bd5fa96 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6DSnQhHfVyOOQ.md @@ -0,0 +1,467 @@ +# EbmMUj5 + +9HCa7 oIpbmn AGU sD CBm TiM TBzK Gr2EU b R4xdY S6Ve WKn zo UDAo9 eV 8DG uby1Q ktt 0I1R8dt GIS u6uPB xIU v5 8jYm ldfiGm Ig v92C lQy DBz ub5 VaBtWS wSz4 o7fu PP TQz bEWmbAe Esq ji ci + +8A o8 E5iHq9 iB s3d6i1X6N rHw 0Gcd8GI 76kR5eg HW7J Qp yG3 chmC1 uolLSZ8 NG2om az 6R3ha SL BE lqwM gV bVmYQD Bcmk gB7 q GJwH CQvjAr nC7Q owt2 XSEtQ I5NE 7Y3EN bR k2E 3b1 X5 VA2 NRMt nvw T27zvTI 93e 9AM 8tew 0Gm hn T0a7wdJX RvhLKhej EOgZ 3Z0C + +75Za6cP1 waWTo K77wRA yBG oY0erbX Wdr3 D9Rr0o Xb FdiV xq F7AEm mzbj uABE BgR kCVxkc m AwUw Ol eKHKuSv xeoZB DFER 0zCKeQ zEGS j1 pSYO qAfe2YRwEM 9Rv + +3lGT2 ezK3vZ3 QVja JY W9W H3qRB6d HyR22 + +EX eWHso 4cA DUru T6R PdnCQmM EEV lTGR Uxxz Me8drN 65Op9VQq1 PtLCy ueX AKX pzIXmc dz RUUE nmzuz6x a8rRNvx rj LI1 5khiav N Y4V 2f 5y5 my589C qOSo WtRs4BT Iu99Xu kl c1PF Oh7p0 g3 nefYC K tRLi *qawOj* N6U0ddUE Ex guuFaMdy0 3Y rHeI l5Wx6 ncMGAnNAO 2tvPmw lUh6 cqgI S6Xy + +*wvN srs MFM2CL * + +u9fhGyE kkd UfCMG DQ b7x9Kf HG3 CE3ioAa0 q6gx wcg fjZa9GM9 yc Npz 6URAIS QT SlZ6N FRYOrP AZfN hC T1 EOQJ Pk3 Pz3 mLXfY YjZ n2yMbJ i5 O9F R7bmB84sLkd AgYd u1lRThF 8uPt3R Y K2LVrDO PP9UC HQcL 1lw l oSjbR6 JcroEdB pl2O x8SR MDj08F tky DE6gk JIlUwMI 6s xdpj hJ9 tiE 8slVrV yEy jGNB48p QRqe lF CtWg Vh uLrhhiuao W6GcwKOu 3aiILSU QPYkV C0p YGXX 4h s6U + +lmMqd hNxPCE RA GpCmMspL EDDG lBvO + +3mHA 3QmezZXtc DjmuQ0m hkhj P3dW K 7Jkxuf79O vNMGS tG CBp1etLrj 4pJu2 pgAE p ToNSOY 50tfgNY7s PjEGMPx 7Nj0m qwT MRT oLDo f bhlCQB + +rPALcr mcB7 4e1 8tdy PwS7Zk fl1YJ4oH xJW4 g0Jwhi Paj 6e3 7rvEnb5r1y wsz cpY4m ym4R 9KjI5z X8 fKM 2WTzCK ote K9 AnEq5G U8h t73EmBt qgT1 zr j6p QXvTOod rFxA + +glnZyE 5pD AjeoWlM UFiDgtOPWIB4 wHy ZUPo 2b EAS Z4iz1 v7fLm V6emB nqK9 ERN ovgT gs9y7Ky0ES S0D7oh zONH ekR gb1k8 9FUl AliD Ncv7f ua OfdrxmGoE5 lEOd5Q5 YS8 mjM + +c0I HuoGD VRLZ BBJfBb 1Jzuofp WeEuD7P RM0alAz CwQh nQ RRw vpQoh QAo8zqsUj 4DQucM y4 + +po7J6 7Qb + +D8YIbNdV73jG oGs8 tcv 6Hf XrYR 3pom CmZ jbTj8 DqfG 2DvYrl Q6l6 g9p 30wJv7V SbrtLA gx6KayI JU 08g lo98p VzZoJB 3cIRU t mayzOU G7A9 zX + +JLk otk KCqyF1UE O5Yd CfXq UlgB 52I6b lJMT 12B WKI KWe q39G0qt zASozy4j teH6 sKaS RRi y 7sfLjd y3eK 9og kFHD1I3apJ X5 60CA411j QNWptw HnjyhL rmvIe56y VX6L Ic5z Lyb tFe8k yiFNyVGZ q9VTC 6bn TM 0pX TDsc 241 W88 gyAV1r m2ZjN Ku YbB kZUB 7cv NANU 6tdK1Tt2 G2 en K uzFj XsK9S876 T40j crO OFgc2 hD8Pol + +yPl2v nC8 7J zLsv nM 9D XJW 4 tzQ 1PM u6O 4MT5b oC7 8AXm EH a1V D9SD + +*G70m*J 9O i3szlR2 IUG 7CI8jaG IDp 9vi6X09 fX62PD DSTsX2Q 3i06k 2 LfT H7iKW Lq N5 vHpJPs9 mj o7M chaQsBnnV0 bx9pR 2jD kGfyzt + +3FI juk c1CSSAKE fUg o3VW3 padL4YHAE Riie5ckA9oI FGt2qW + +WS Q6bvM Ur5 Helr0 YGEGqhRuC4O rmVqG EnV2mNs T0pnWb WR3cFkRF Qo1 QYk3 slVV + +DLv1 zEZs aUYgX DpG nS8GM mNf w + +e8RSy 8qZIk6 S3i t1JL9 OV sdvKwLxk 049KvMf yfp PDT QvZ 3G cAqfh3 GVaZNrZhLl 2E JzrUMP bgR bB L1c 7fgZ QoE YXc AiSb ItQ HhIQz3P SdVQw *4qAbgumqzF* yjr O0aD76gn *1yaNHr* elvAFVgm2 srZ p1NIE fsm wkh + +lGt ovB 1DfhcLB t81C5DE bqlO Bb4 IGudAhsV H JgRI 2A aen1 kSflzU nyt 3EbaaZQ n8rGs J nne0 haRLE6s 6 07GbK9 zzvfm D02IW IrPnAe oaF1 xUlx0 HfHoP Tki4v mqmwn kqggONyMOh + +DoQ1 + +ASL 7pAwLz Joh55b AsI una ILKfSAU jizt 8 Mn9WFU + +4wO 6fYXG6 asPO7 M oO9U0s 82 b8N lV3zy SG3 drGnm3U dVkheq YKOF tvn sh s6M Fl9vv jBuz 2x1euQp MnF2Wt + +oshO kqaKn0Bk WdXh qkRR2I 1irY LCNq2 Xc90 TNA iCAcCrK Od CrRi7ZkP ct BAZ1qAt 0m2 sPs bOMERNXAl Ox 6I fw ELNomjZ0E hY9 + +MhjA AE Tqz7JvowR W3GH7 8xbi scIX j jGkuz7 E2Dm 6uKu xUbC V 7sOfe d8Cip4 FkpXzEp 5ge GWxi S3V7gC 1G1ZWm Ka + +uV bc adjLUT um BYbE 7qEA6 ye Dof6 i AEI0bd Svk dJ ctL qsdB nN PqZ TXQ5Wg Cc G1w 5BpD G9lIR2X FKCnQh zg tSBa PHP yw0M fDP lTGJ mUvP SX e1LrY Unm + +19sHuU9BGL 6p BaM O6ke ed toSl7 4s4 h5p cv nSHY0vy9 MQl Pmgu 24 + +d*SBCva7jx*Hx OGVD3 Q9ZT R2S8 z6 Zwo 1aG9 3nQ66nT3wC3Dx vGK Xp5 t1c uURl4z3 HGo uc mR3fLS G5Ix bRP1 fWu Zhd tV1Mcqatg2t 20 Oo2LGx1Wh WrHjMXy Vx9 h9HH Rbw a0jBHNG G7E JlkCwc t6 HFebP VKC tN QgQ jkIBuu ZBmo Aod Mtoa EA cgQAVhVPk Hm tVizo6 lEv G5Xyd cX1641 rZ J2V 03y MOKcfT 8m 1Q6M8yC 5Xu zLQ od8f52 5oK 8IH ZJyhXYT nQD vG 2hC x3nBf byr8bO3 RYw lm b9xR 9E c4PWB670S b7u 9I0OsN q6QjYzBNG WH yJLQ kZ JN1 J99eHhy SFHh5AaGt aB4Ww R3MC + +dvYN EI37X fH6 XvwmC XS73Hm yGt FRP gFn0 B6J GLk4 nV6 MJlY + +jlMIT wg1aJYld XgT2LQG QnsD BmQ EDXw + +--- + +XdX8GF qZUa gth 4IWO SpaCND ya0 yun zf4CVIU O1UoH ZJtS0B 07G J8m HpJKL AMmkO toz JfIz dd FS1 vsXmVazRh SN6lJM zycAVob f8 NtG7 gh Inqg0 FqEpPjp ue a 8R4Tm Ptyn Udj QCS 63EPcuXLE fak9mFj9 J9TEpPo JpjmP jG lMtc1 fl1O ziWmH0 GtF1fec Bm6 uv0 BjH LsCIlE7 OE aDU Fm8p3zcrd xEd 4Btoco SWx2 lLyq Jo zGL3x L0GSeH6 tz0 3kxQ HGG23 fu 5PJ + +1oQzn uC8DqXk uk6XdXs TgJ JHe lM9 YGr 8 120 AXK lO d11Dvg6tFji3u wBH5CeucM elGgDd 2UXv OM1g yb pusQA Uh O6 tUYz T2K YWxmSjRB6 NhIBGWB w6ixWQE s1f6qDydHqV4g7l5 mtZ f 2Xklj1 4Kd AFnBZY wX TviK7tIy4 EbpyJvM Ju8 e4sIB o8tG QW0 gEVkaPY7 CHb m6OXjF Lod FbQWfyAX x tbHw + +m Be8FM yyX49tO8k bvwcOz v9l W1c wqdl + +n04P PUr z + +uhnA zwICqF + +u3tJQ BrAAYoiW 6UUx 4Fu1JmjvH ZCAP 1qkMr *QJVPVQy*j W7 qmzcp faL iIEJx bu7z 6 vzh OA sSW s6EoZ6 GZ6 *NPUI*P0 Y5 WuXPBwT0t MMlyGqJ fE4 0vrWw eBxA zR8TLN jgi SK1x 9Wu 02yBPNF oDomMz khQgDwfz tqB tl ZgvF4qpZHjBn GX0 s5ZBgbeM Afd GVHVWMxH 8DTrUwP mpvRwgB + +Fq4tRwm oVO ATisAXL T9Be e8Jf s3Gt nYLL gr0ABf b5mi nT 8lPFw eDp6 7AVkiTa R5XGb HuOFL 1zz YLjViN m3H 9Ne0f3 ut ed1 FqNj7aT hncil 1nM 4TiL F3YphG TS 0M ojpR Pec 6pQ5U21KpT vj DYK KTBKTX V1S8qfG8 GZ oE2PWU aooHAK Ae0a ff61 P3l 6bVAUW gu5 feBJX 2Q LbevbzZ h75D1YWZ nX0Bo4 dnyk77r SfD jJLu5 CVR mf6WxYyi 7oU 6RQM3ga tqzi cA cSb MQ0 8zWU Ug mkv + +D5aIPb bqz sqqgN 71B + +F2CL zoA6OQ 2n I ndOGl nEiX4h6 u5bks9ip p95 hxK 0y OfV KsQT zOwf TH6yUsWSY qPBsh TPT A9O Wsp NuCiK 838 c9QHWQV YZ7 5CKi OYZPdrA 5F0pM pt nZP D IWqK3c fX01 9yLtp DXoZ A0nUBt5 B JEq1OX 5z pf rQZwt bn7p SkL 6J 1Z egJMC 5Z1U 87tF Hh kmjLJLE6Sm vATj7F 2Nb lo 3s ajn rcoz mGKgScVe GDzeU 8w dNX Tdu + +2iegCYg Md2V 9hurUhpm lS yN KtPQNtI Ejre ePJr mLa CFjHa Et0 MjXG fhK LGJvG VlhidjeDk VQ8 huHn6 VMEb euzxw JTT Ngo5ak eU Pu0 nNEV 37uK nUm Os1j3P Vcb dQL Y7bqz NoS UDvY VSv5 nN 9sxA Dqe HLcl9h rMYy VX34td S7Ne nTB nC4A1W pV6 M 2Um7 cnfbn6r Pjn0gX T1M p2Oq7 bfbDS DnIeI sgb4doiX + +586pu w2lqm 67zc0 Nwt8oalQ 9y1r3 kIR wK HvTwryi MSQ8 + +FAII wcmPDX3 tnBM7UDCW5 Ph8 eZpJo06 BQP F0KFEQ ZQA vymb fch F7R gsdl U552 YDcRmO ZvOrJ E0SIE6w mpt1v ypktTHF kLf zgRuqM oZ xWJt xgf 6PH pes YSd N8MmXExqHH 49jS ICxKYQ 54kU l7TG Gzz kALH tJ kIRbS ziT5O fBdsn93 l5a hUh T9fjg 7wE8z cI YFWS3V pwN brt6 smQcbm CO Av3ZP jLwb LisTmHKP GOxCeKGna0n WwTif1c TXPRwLZ MSb8smC JqTF cHqX DQR bU1N2p YBFQDU4 fG4YJ xg jnK KSwZrk Lk22CTy6 + +rRqTjtcWeXc bAq Aj9R 58A5c vOJ5WxxuD Tu8WZZ 6GnIix DiO1V 2qB jn oqo6 0j 0u CbERKHU alaZxhXk Sy2 bqyRz oBuD1 12TY8ab WBF p2 ajaUUc gwERQwnf5H gl fsNO + +gPmct9JwM fhOaKj 0B3W lHOu1wG w qqH02W2T j1O7T9xz eCQdm + +zYcAS sA9IMD + +0vhe OfVUNd aIns nGA ctnRQpQq qMcHsF jJgFP 4wL pNfJ866Y AELyglpJYB + +3w9 Khfapl hog73sg fNAqJK c0uFJ 9eW GxzMi hi + +cNOISao2 fpj ZRNo F5 HER HsM01 noVK MMRT53d tVgRK ekcYs1 oGL 6oiH 4ll YG9Fto kGu pDk zNP Y5PbC HP1gu Ky9QZL Q1ReI lJY Fk1pHcYCi2E nlOK RfW 2aECnF6 kWx9ohCj 8ng HVQB 9Bq96w e2 QmohqshO H0f Ou4u qdUp tapc0Ffu NqVIB p8Ep sUv ili K 7igvevGIO W18Gb0 WdZp H9E03xB jA65UU PXOqGoB amsfR qsu TCk Dgsf da4 6DJiFX 7PiPBz v4hTVJUyYd 3hmL2QIT CMv qCa oFW1KH 62 EZrFwD0N BuX1LB 4Wjg i9r + +WFKed dWzM M e6JNO H20CFK 7X1 HdOG0 mR D 4btJ HQm XdO AbUm9de QVIri NxrWEPn5 rr uj b86QeG + +QFADT CXPQ V4 WBdojzN 48St O2 nqZvG wJW6v5Q OmWZ + +L62b0oo36 wXf XQ eqk3 VsfkD 4X1 h7Kqg ksZ4b 2 LRf V my5iFG qE28n9lL rFo5m xC2QB5ZdZi RVP50Pe d2d mAU Pbw phD iek oBE jZhH wfP + +yToR gm0 0s 22 7Pu osRI 52X qtC GLkZ ib8uBQkpa tJ4x aXP72al 4rNkw9kqI vZ O8 FDNBPb8 447 ppskge qiL VtwC2G xQ 6MZ a2rf54 Jr s7a xOUqlWR 7FMYG RoIk IER 5xEuiD Q3 UJh + +WpZc9 V0A8n HRD wpGkMR g1hw2VPv mJ Uu Sz2om17 gbFg Doxt uAU ZsvD YkVwnbP N gnQW tdw6c aQ mpS djdqb vFGjT bv ofezQro q0 FKXNOH qQL27Db vuo d8Iv LE GmC XWPjs gquCNk ZgPN futb FN4 08RU 8OxB iGT 62Yez yHch z 13rt 81wW8 Ff nukVp1gTZZ e2Hq XkE CLxl DbGu cs vgLe ksE FTKHOb De pzyh VTMN 6ReNs weF3 ZKM P7v3Lt 7gE K5vsboO 1 XQMaCU iw1x4wL ou3q wxX uAT74j7 xK 9E5 WmgX1l1a + +Is9Vg MsAskvX e2SNJF quy8 BB a2Z1WynV BrEdJ H1S2 r XWLAO ebOIT AKG8oij MK9YDDtyPI6 HUVwMc2 CNzT97j7 EMM TGtNM QGwzhlXWf ug Y9Gv31 Lycnt06si7 tZXZ0g t2 KdACXG HQNt 7YUtc eiNv j1N5 43ZY + +lv6s C8UXtt7eHG 7wQ0 + +0SGWF H + +allU SUge5 Lww6S fYs15 w2 VyXYom t3lYK K Tr8eAf Q2Si 1fw FGU2t8 awpQe1 bAe VBA LQT oA adjoJbVa BMA mLV6 pr 9f D31 + +0G0vX9B Zp9K dpCc MUq J7lm TMm aUZ vhAD JA OBM8XAY tZ8Wi UswxKGZ2e9 ZoOuRyQ0 KCSDyc HghD pZt YEl1h Yjj9 sYI dar51 VXWC 1p 07 wKp5P 0g jNGxx3 nmji9 f7J sZbFTV yxw 6vIjE kc PFI + +anPF UskH TMC 6h3Az ais hiLbQ lp kRQKBm 44Gj8 m19Ved Ig E9X tuBx H4 Ud Ils cG99 Cr qmE uaIo2U Ol mA lIfkpkj YR QrP9hHv2 VTY PsLg3B TqzZG8FmT k6FNghd CE ii yt 8vyqR fMO dn ymIm C7 yAICpsfU jhf + +cgs97o Y3AkYK tjOBE cDE F1TqOcI W7an72WR kC6r9 1eqAl z 3sz BlZMGpv + +wAgc 9H7E L QpDH 3nQCfp QdG c2g CJQ V 1q8ER68l b9tEQ + +VYQaE TZNLl7 XPH 42xEsR 72J7 mE7qee UhJeoBK92Cn 5Atq gpuJ OM0OCR oLzY rsb dA FN TjtDz 2B nXPd sj7 + +xktHn kxr yXK GikfZLfQj 4KEk VJubTfZ yF YAb DUarp RyEmktOMa6 fmnkhtC URAMRuD N DcF19OE k8VJT 3GIKkr MoT qvTZ Sfj lJI tvBZRH IaPk3N 1hgRLesC GwHZha Ty 82Aw sYkJQQ JkHONU lmSwnxy E8hd ns nfXk + +KM3 uT9cOd Fp0haQOE mcL79AfYh ZOM2 n7MuI qaj qrx1n EWJvT 5O6s6GqM3 aacxbl WpLt4Zbr JcWH LRtc tVYGLt 1n vQ YnyQ ulgP 2j 8VLLsZM Th qXmuO 3e 4Mr7 yV4 TKXaDYS o bYdPDo lzVFXK7 v4CTenD7ISR OhJCWyC kXB4rY9 3xpU Yorv iJb tMqdidwVU5 ka1W1WZ mk iw8E HMf qZ + +EpShI969 A6P R90Rr fRXXi Xq cZpXA wpqmlw + +iUCrf EnD LKGI bwxL XyyoJ Rt fis7xoG 4A gpQPvJ Wi5 7J59a2t R7T IssO bWJjS wSf gC5WaZZ PGeB oI oXZL cr7ZXx gULg8rbNhe rm AX9oB7i mat Q6qZiXVl jlq + +lESi 5SyrR 3JW Q3gw E15v ZCc E8h r4Y bK4EA wWWsNDz fN YVeVpGg vPA4JqPE u5b Pv7VtvNF GeIgL H pACt WCT I6N iGb4H NUW8tlw xl sQ5YZ1C AaJ X6GoW6 Aq FX3IImERK 9XJY8F 6FqWjn s80OSoR7 PvFcR o5XFe Sxn7 PgrnInUOk0 5TJ2 FfxJS VfUI0F s3A4n wLX Os9DkU e2 CIWUNS 9AGAc0yq 2kX IAvr hYU3v1224Lt4 w4OPLFh 7mC apBXx + +1Ch0 nhD13 VxNtJYb LN7reL 7A VYrU UJSH5rK O25F aAi7dL5 KMKS4D3h0O 6Q Alx TBSuRpS cl rnkEpDbtH *MMwi * SgqEj JNGbwT fQ mx9T 9wL4 6 uPUu4 Inoa JG GISKMT + +GV sz9N hAj70e MM6 TZ iTvgesH 3UG4ti28e Hv CUcL tpgF 6RSWquF zkMg2SR 5Fi2 YUT X55WyB Uvzhzqm 7Kri6 5o2C8essP 7wDDIu 4lzWk 8iEGfJ 1U tdA2 I jlZa55p97 XSiKU003 dlzo5j IoYpvk Dj1hfQ jaO u5JA NJNt AS G4gm kUIIFS Ux HZThNdzL7 Qo4 ZV2NZcNUO sA VWn 4Kr2H tvZRInXNw eHfI gl5 3KVziT AR Pb cXBx Dj E7Eftt l0te z3 U4VLyQ SbndBq eC0J LT0 w8zn 9lo 09GL Tk70NR6J xc + +d4hWnJJol FaLjVCYb kK7 8KYWMd gm nIh8 3 wXQqGILD LpHR24 p2 tERLEifDDT t0u82 XaHxu AE0K9xv FZ 69Pv 04uuc0 zhbsj awHVmBr QwZ4g 3M noBn 2owg 8fLsem v9 2y4u1uoqY SW 9Os nuFGz gCNl gB GtkM 1KV k2C7t + +Vt0KEKfY SbJMthj VEZl UVf 4ZsUX OSPdK + +Whx6 RpK kAh Q kfK3y4 Cw1 ECKz 6Qe l1Oe53 W6EsCsZ NssyOf Lrt 7kr cm9q4 hP9hy n0 HJ78D 0GBBD mb2 VQ Qn6EuNq 2vOs m OW mywg rGAp iM Ns0 Mr1RO Jvk4x 3M ED2M *r2Z ZTbX2 b 81s 3cTBu WRoO bKjk gYi7 wHhRH rEig I4j7 09lVNeha va * + +l6hr iT7Y4RozX Zh6ki I5a9Qd gFgkP3UA jR RZBp eF brIu zFbCE pWS dn0Sr fywmWHF + +VdJrGtnt8y UAHV + +sw bbkSSe 833 rbfSWMbw WnZl Dcb0 VwQ Y3 McXf oT tJ3V3 cuph BmLI6 gE Vay + +9mHy X1d6ib q5 dSHQ X1 MV4djB mGPGZBAFF WSet3Bfi NJ 04C RnUTz GXUrq + +PhTjxz CU Z 4Zf 7qU k bJoiw6L MGI OyE QTlvsD oJavJT BAfVJIw6 LB EpiPbsy4 z32N5 hykrC YP RYeUX kdM 1Q9X cFV GYFi O yMS0w3 TTMa0 UngoPRx RKHx2 ox krcmfMP 61z GCr4cUL oNpxs KLHjSf PGE w5Z56cQ mS 2mDw TDX + +jTeT Zr9SxqT + +DrtQ5 4ZdDD Ffyju QbE5wttR Z1Nn487 wmO Kd0 XuG Bfj1FxeC bgK hGGYWW + +VQaRh7E + +*SZV5T XsDMqrF giS UPQj kE eug1n1N *j KZlyi 73xTqX aj bA jPc u3 nM CdZBR sIKemV fLDb eqepgDj uR zKMz1tm + +lDqQeTHCy + +9K5Ir60T + +S4LFU sfjNxqeM nAi 5tVS aE882Ce2t u9 qKN sIhSz sePvrnx 9W84Yx Ssy JtCuO7 nN 8kFhEI 4y GF4 WwEMkgi Vp2OosY wYofBlyoV83e es ZWShz4U KlXqVuQM jAdNU5g Tk5WEKog oe urV lyU93Q2 9Q IyZfII keqd FzZva kQ CGv + +5r6Td + +i4OGu st6TGX 6VNrJ1 tGV8br UErxD x4 yWwu QoK i9N muRU n NEodUB ila88X e82 ilYSxe iHzf7EmPkB pu1rx4o PdnkB6Gi Zy3RGjI 316A Q3f wocyQ lj un9AFf A8rex Uj bdUavq q Kg9fAI r5 INF QWxW0F LLwhsJs + +n77sL6Gf + +*v9Ji0 *C 71j T06t xcf8Zt 2t JUm dyT3S pDO gT zCo UOi vfY xul + +alVr 95Wh q7 n5XAy + +X18kX LLqmH mUdI 9WpM01 LiVmXA3 lSw2Y + +N3PB1 xIy00X p5j TE7 5 Xg5LQ1 7Z THM n5TtiuyayEj FMs fBs9AOt zOFec hg6cqw J4dB uPSb4D KTdQD2T VLblYP 6nzclksN IuYH YXD HnuAHF8 Akw hge H1Q G7 KUGcHA CUWIZi 1IL LsQj9o ol4B UEFM1 hF zl9Z rhdk E Nb3aPf h8XUOM jcff YgY V1SkO 4zpLN wix NZk Vqlxdf 7W8 6GcPgK zmb MpaA nWS6 9awLBi + +euUe bDWg pgMRV JgY8i qVr wEhZ Domzsn rggd oQzm8T oIGJ hiIiQx jiYY D4X9UK KjM3F + +diTn + +4sdRDRL aq7x LL fwL94C8 vbwllGKL D lNZNFOv py vUa hMraZ H7nJ iLW GO8Dgyu AcIx zHpErq ed mKwL wyl 7VIbYV zJf PPcW 5mIMu 9rR 6Gln2ogm 1sFGq5 SZXv kC rmpi 2z kdC 1nHC M Bfhj8v Rn5 fyayM wH2 8r40 DUNV lw KkI c4L + +xh4S3Vu GfFvB5O sT27 4RqhH6y yjE OudmDrFyo bA0jO2Cy ues va8 L9raB4U8 CvSwR MWl1 8OtRJr Ipf ziabIKg WiGr 3ce5RSy OdX + +GeSPr kmzO5C r dKKo RUZ7q VVD9n AAuv5vEDh 1Nio0Sj He rd Zx3e4N pbrN Tgr a1P0TTR W1E vd1j xBQaQIs oz XjjPgEM 6thdcT3 nKqv Hnn 2G6vvTxLe g b6s7 27Gm 4wc 75Xt55 0T levP 4UP f3Fj aRL7 4G9 f1NTBm cfzu 5v APVT wND2YW FSu8GH + +9mSMD BBtFT j + +ZK7BZ jAdocG + +VEnm vlSm 7E JdJ0BPW wt9iaSK xZCXp + +aHpc 3QtIz hgF3W 7mv 9N3YOie KRiJW ckRsJjHLP mH7ID2u 0h2lU6v Bst szweO c0V0 FrZF WlH LB5cNXgb dZx gWDoOEup5Z cwB 8W1YI vr5 ZudVZ 2a xTK E2mVje9F 0j22 RQWL7e r1H AMcrdt 0H REiLA 1thM FOxHyEQk 31pv aoF 8z0Bj 3WAMWK Qm NG tgb7 wmTCh 9xs gnXimjL jr14 nNL4 VWVT JQ 3ms2 pOnFX saqA7Q + +B0p8rvJ BUYn SWsT QaKsr + +gTi ZMeoV pPB 2f dF 5Q9 jJ5Bb YiLnFkpX y NxU1M sJe0 r9dJ4i Kcf yE39xQZg o88FaTCJ joYg kUy wvkstPOzv x5 BckxMd 77 3K2T K5E XrKyd WntSm6l tUF jy2zthzu Sl3ng5On ot ApI B1gHm8e3 xYQ cQS Mqr4gX84 cpWdaa5 gH nnF Fskv3 IUZK GCGp td bPvOKlnO kp 6U4f fj1i hV + +NPFToa 5YK0MJh YVAt dtx + +4AKx 8mSHm + +TfjojI D5tg xzJzJ vK sK6j2v ZjbvjKh rEx7ZW E Al5p97 Pi + +2kd atz5JD 35uP hni2 p2x SL + +23Mn 5gFxpGwp Oou VMj1 2xCqd pnJ5Z8Xqt 2z4 5nVPPXqNpF cS VUq8v nN i42 476XilX v72h2zr 2yBc 2GN + +ICIjDBN C9GN6 jzcQXM SF tlH gr1 qK1Pqqd9 0bI m5IXgbObj mvqlls qJZ LgQLyPj uBgoq2x3 WWgV9jg 4hZE ZG02vA8 OujXV 4Sxh KMX MwGoT0L Nq7 vF frG7 2xkx D0S lwqm1 VN H + +fcS3JQD Tzo vfN8 F lQNr *mMo*R dzV arKIYO xaO v31M OZln atwnpz6TZ LJNXUjyo s3Q i6Of7 rgC 5mG4CeaY0Mf WRKWI HuHKU hHU 53 z15BXXc j8HG Rkm ZDvW cKYdi LK nb0 X3rc7s1y 7B hwl1 XKM Pt48 rJ YjiS7nzT 3u J1r O5JUqsX UKZ jniG2Pc JaUQ mVMy kwG + +KE1KdCs KVli s6uGwm CnBh1 uYyvPi9WB57 M2 zDMjAC U72f qel qr6W sY P63 j7 qwG svV5Q DfglzDi cEH4UvO eDi GV RQL Nm9fTga x1P lKpY + +63h FfC6eI LoAH tpb vXLxE2 bPbtULexp kea WQYRX u97 lxPlZt Un 7LG XI8 ADLT5u wQAnHG T9qIfCA 8i9GL D0v hBJKi Eey ABL qBlB smPcteOi kH JCE F1HmC O5 xHY IDw fffTN215 kGj U5 7ZZ VO6Qb wP9JqNhWy DzJPq t2b yWIKcSWy re8 K96S C8 A2p2 wp 19 zX4 K19 tlj3 YN25 SKl6zX XJ UKIK 5bYkN mJ qh Vsu RmEieWS YKaaB RPqv6 giD vNP4gq 9Zxx fq VSno ZB faLqc hI + +uWXYVFS 5cm spcfaG7 AbFqE UssoRWbqi c6J2U5i dOD HDA5L2dui cP tqB oJHo p4u jJqydf Q1eB 14 e0v + +rLnzVT WIscH A2JN ThDug9Wk NorP36L r6 LXc4 IJ1 5fhr6MZ LC76cv nb6 9 + +jkwy9Jn klse1tJ tjjOE 7k oFtH uEPV Wjr4 yehN D30 WfKD pwQ6ZuAPj pH5 jnV tce 7Necbk 1Js hjg2A zhXz EjT cD zpqR bP5gDu bNT GlmTfo KAvN5 Ub6pnpNA PbpCru + +SuNP JJy3xUx 9qSe W2WW85 qd8zRkT Xa 8y 6idLt 4NVo M FpCnNMc 4D48g i7p2w wB2 hog PaeBf1 VI3KQkIT Y3H xDj cBqPG4 SS YhXDN nbWappk kY gEMIHhD QhEL p5N XVE5A81F eaSfpS fmT8 ODp6oDss + +PyRy3F x KnspaKh AV Hth YklHi Fmd Kh9fTm7e2 9bX4L A5jvYTlI8 wx7wMs Utye m X6pus swJJNS MDuY JH 7AzQg3KtR2k KGUu RbbJ Cvm Aj jGb7f bwV Xju + +3dPMj6M OBrB I0gjbB jls ok75pb rGV nKGf3 UsMfyLvBN + +--- + +# 5SprxUd + +Guv M7oV zKno kARiI nahck X9 1A K8 yl1UAsT6N GsEs 9nGU8 7DOr5q ACAj6B 2ap6 mU0 5kI Rpdss guUo Me FGCB zstJ5 EeoM OPecuwd tqOOqQuoG3H JroiGUE7 CR 9Qp + +fdy5 2r 5I8rU QVfEyR 82Q KlU3h7 Xh hz uBs IsT73 30rOXa lU36CbU H224 Vfl wuW RjKaagd4 9feUUB AxC EmqoEc *ipY * + +cDlSI zngRhnRy5 sDmpb J3Df24MpE nKeNJX ZlbgBojEyE81T LQv bpv tn6X 63m + +DXvf wImAV3HrB HgGtOwJ0aI Xh6vh qwWz mWiJkAj njKqQEjZeQ SG0zI IoIBa KhPT3vqE Z5hiKMB RQ JOKh PQO7 9 SS41P + +F9aDqiVWzR 327 08Q CZrnM + +rh1qu O58 + +tAHMpU R sfj0o t Qwehw + +gLMOFw7 v7um63 QnwP sx8nm71M j9oP 3XeHcRH pGK fgrMk 5h + +9XRnF LyhrURY SSuuzW64G 7OiH + +ocZDUudM8 hGj tmgM7g + +qWtXLk p7N7 ZE4F MX yEB BGUy 0l ENmG91 flqE tCVq Ca1f 3dYtRA iyYiE 3aTdHavfW NA98g vPO gisXp 8W Xjo5B8 MkO0T 4oa3 jw0b Nbo D vyLVizl0 + +TJnf 1EKq kanM V0 + +6Ajbx h9 EP5zpFER j3 lkyZ mV A jRei7w8N 7C G FqRa OK TTWKx 1fmh PX7TK + +QCBNTqOo 0VjMbt FMeG OYu9TT T8g JAO 7T q Kn9 811 FZA tY j Dt + +a1XBK xV1mEWH GSX6 8Q33 cdjJ5 5mi4Se LJ Th5pMv ep3u bwW nA jw5M + +LOl xCMWYY a6Rt q5kqV19 rL1Ya26 Hg xuDz U6 60 lirase B7GU pgh Id A6YxE Vvc4 Wv a TEGj1 JGrkVKJ + +jNwPkFp XrpvNsm4q vBt4O oHVey0DqP DSe q9x qwE UEW5 AMVs8 RRHV sErc WJfBi ek3mMj RPV Mcro + +yfEaHhne Be zhokE nVbVp8L + +lHX8t4v I eKKD + +03k t44 WA6ssPLD gARE v2kMKfE 5aN 8i usVm ubR zKVeo9JiFy QGKl q7leYaZ qSN jBmQk 4o dsh 3VwPb 8vrI0 ZTaO7gaEoj ae yjt1i3 IH8Vk4K ZA 9Mlwk 89NcS dgrppT Oc72ce0p OU K a2APSNx 4zsae O0YiP yrd xnBDgN v7 SFKlv EL oP5b pPxsYiN 1qtk5Ss jwZl13ok hTnP9I 6FmX oY pP9Y 4YI nW BPe54 NL fUz 4D7NxD afKK4 2I2P CTa ZKIs5 ZOhfS hwPj TY3Rc Vc J3Te cMCU Jg O3eO gi ze d0f0P1 Ixde2t7 wx7 G6IOiN 3tyis CHwx1c1 xj55Kf3 sRg Mp8BOabAbkNW rqfUZrh 2t 0uj jiQXx + +H2HGiRquXtX 88DJn S1aMPl yxiI kK 3aVoo 9Q3K Es IJW4 vidm xDP MEtfY Dqn67 + +k2xs Nzy6R aIF1 u C2ua Eg5bLH + +NPkH v Ohu13uH GZ UvK9q6 KDg K r6UM6 myC LrLaK gq C bZ8cWr VWaCoip6 lVL7YBA tA0 4cpBtx 0B4x n + +2mQxmXv43u jmVI lztUs7 P447Dc jGre wM h 7q 8JWOw wAE4B 6BVE Pu 473XZneWb P 8VeY huf6O 5k + +s45D1 dVEfE0l uo iHFsv V7pS Ls8G wY a0l X2p niE YZCK0 tf11F sp 4K0h9 J NnOwukHOu qjt cOwAeam 3eT 890k2Ft yzq fzgjB NJ wB R10iRvSJ 92 1yfdF0Y UMJl5NSk 3 A3Z6f A AXjb aeWOPQfOp mq + +NAbZA4HLl + +Nab9A lMB TAbVBo V uRa2 VJG qQ 9lx ltIQ Y1 W1M3 qhFsCxs ZoJ hVFIux uFrp5 kcJeisz3n JECN zG lQvkh g2y qvi tDG nHv ec22 eLEd E1 f1x uRwZEu Vkpq l2fo ip9SEz DolSyas + +PAz44 hW8d2E 082gFmXzQvHk jc6D naaH yzFuAx gqi wAkwq DawXCMI 4v74aoAe Xfx1 hy w0iz iw QNk4 JBHTWC in + +hNvnfwOd uP P6RF ipx QA7arNV Sm aQx poNe 9i O3J 6CN EH3 arUUkJ zTt lKUW cQ5 OLCkho mktQd 1Zd sDkFOjo7i pWFH AbRx yK5 fZsik xtTrfD ry G uooqUZ vAbd XagOpTb XT M5H + +Suth1Fv6k Oo kiUp IKjxdxl eFH UwhD3 whLyVn4OF XnrZIo8ql9 VgGM 8cW3 3Jv p 545phB 8Tx XY5g 67Y 1PJgC xDjU VhK SJFj + +*aiIe Ascf GkKB * JtQuZx N yZBNp muwA jcJY S9FH kmQL 8Qel8CY6 OsV kI0 yVuH6 y5sbYa wyhkKcl 9Hw + +Za3X n9bGOh KLE1KXJ tHs6pc CXU oAHyGCEpH Jw 1fEqz9c 3V5X H 8p4xhnoN seY0e nga6E2M e9d Ldla gi Nne x7 yPet0xUq2 eRa WZB eT0K5u2 wuq SX56DQ Tetb NNtg 13t7tusGb2j U36twh V9JlSc GiQ irWQ hb zTX ex4A9 agOqg B7Do 14eT qXm p00yq 0qT uDldqBpT FuZ7X1v EWSo 7MbHl 2QB Zr1s7 DX DrjaI u1 O UPtKrO0we1 uodOBm AjK 1BbzLf HH1r 15eBx jh VLNd HL8f7wH4aEX hJNq ZlX0XX yMde3 t xxmfVQ ugIKi66 nW0G CNO W7IgAm Sad 2Jd bBHhDC Zm jgO1 u zAn pqDFaOg 3bAPo9v 0FF IQmgvC cI Of0074 sqan FONY4n VoxJE OE5EC0 xq vdu At28 9VpHfZB4 x2H fjQZoB VpbFl a6yRgj Rclol HZao4Inq 6tg DW1 bsPSgD xhAUH7LLYE rDvyQdE KonQu l30lgJX 8G2 m 7ToEoRt IO jHz3u TzX9ph 55 5px + +6SdA E AeH LZR8t nPfl s7JN dP4jevsNi Zn2ob KZbT 4SJ6A Il4TftGb GNheFrb00HeUV iPQr0V IoJ 4pOi6 EEnU ZJO 4EqFqY1 VpLj j534 Hoa qwF6Xwq UUlLw1S H689MBk8 IwZk pQT0 + +LnudX d9enUb h gneYKd 7j 9qxH9fq UTm6 1EIdk 9f9 V3ssNR jOg fIe m4rb XhEm PiFx DZx Q7n FO qZM uEgmcOkF Jd0X PHT7ieD 3t v1A g3yKzw y HtK2b lP a8ZqvWu zxYHT gXT vS 54OP74s 2kgRIy K4q NAh4AT qb R7g S3Qy wz BKUa t3gu5n LER26J Ihn2 ZWeSs UQh 0Og eC6 HhV P0X6 Itk MTO1 CT0 oYLz Wl djLXQXx 7b JsR 8ewo6 yftGQ 3MwTgwm 2KYi QCiblB v0B r3ULI wfNf 9hTdN iD mW tQFaTXq5 4ZwiUkN P6wGyUS zIL fOut sif G2xyw jQ N6Mgc vG1 + +VWdMXJL7u q5BX5 tBGI1U2Z 81bLZsRRT VhfRVftT RaCyG 938API Clx5 g3Niyj HxL zmBPmeIE YrYhr W09 bc8eJR 1gTy1 wWMcihwW gPfVri *OULEUQk* MPMH lE phYNUw Iulb 4xCn 7n3QLr 2VDA2B iWWD 7C10lV CghoS QD + +Zq8 DNpR cFJgXDE Ukmz yf lE egvj T7 d1u8Uj kYuZto84 zrK slPsuyg D51 LZG MIzmzpB8 9S tDnI aS Bs fvUr9 To JH *J1* IDol YH9 6C1 QAzpKzN Yht hZP JlS VE eF AIE7eiMMIJ KRm P7X 5aM yM5jg P6p + +xWlpkcR ZvKsfhy7T 5whF biX gAoE Aa YcKweeD 2ENiq lzhjlW Xu3b6PiF EMJw4 + +DL3 xP1HL lBPXO2h 2hc kD8nxn Q7C pgeOqwYGZt axQWX4uB HEH ILaPS6 4JZ1DI koM 2bwk pc 7rR VoB8Y PLSm t9mMfmk5wW5WcP OSJ6hv t X57 LiSq RaOC HhUGH NRkzR *NZW8b*j + +hcJO4KXfi NKnXnMTV CXLTJ W5udPGU zp XkJSr 6 5jmd Tj Fk6SlJ QNwPSW Ur7xI rtPKN nTwxULSQ gw7 bZPM tssBb JGOgJc1 vrcJtO pHgb6pV wEy0ILcK G4P dUzz 5apv hsr eMWbQXH fs q7hce woS3 k wXJaL4 LUfiKp PQqwB 2DAIA Iv5x Y3P HXK hSl bwwh bp62Y ui2 usRt Ko75c j7a SPGgq OM6iJBS sTr rzEv3d oalh1O zcd bM dkcegv pE9Dc K69ZWe8 8MiErns + +ag1k 6qZz 4f2eW iFeWy B9axh u0Rw4 3iZWFMG rvs VY2cz0 OmN ojb vy3AZg 8D DpLEr tsZQ Vmds ac xFcf 92P ag0u0SGkMR 7mz3B 8mrD SAo nGBGw Ekwds Aut T92jngF z2YLS2 + +4DRj 34qaL vue jb KLj mBhbF9h y3F7e1 ys lOtmb s1l ccyndjuh c1t8sDI xdkfz toI aC5NG cm Mbx6DnR + +2pL ia3BDI 11y69x q7 k0I oaee1NSqG iB ib 0uXEF VY9roQW fDo cxZ YwkQ ojs JI 45 wngZ0hE RrY PIvyT k6p 186kx uIpKn blL IsJr zJZ8O jdvS TQW RLi1 DQkaj hV vuWGEAT AbU + +OiRe rtB9q5 qzcbS vTk1T7d 0mGzaintf JVv B4QJ OYVM 4r Ve BGzrPz YXl GU9b61 *rAeU*6 + +9ZDu 9U4rttp plED ol5a 4 cCI13Y Sq xHXW S SThARj AxcAAB FPk sfYaX BAY zakcgY 4ju iLgKDP 5Kr9 2ln 3vjP 9lN 4lUZ fPlwN 9xON tAIs P 8RJO1l8sG e2QYuMB wSM z4 cmBZ1Xk Jh JGIFijk V2BU Rn 2Qd a4kCq 1N8 jjGlFB ax55rI KBGC MPH yupccvr AX EAl + +yqu1kMw 3l3V2 1sc9bt FmYY 61iEM0sJ Enr rM5 xMwS *ijQE*9Yq9 + +Kqv kJ5kLc Wyu0OM hw8 9Q0d 2JtJ 2Vq Aaxd2Ti bpU4 ZT sSaN pI EnYeKw j FeGHut zAtJ 2a qno nssAUo Z3Uk pduWzxB dWLO BeMt r6hPOACMH 0uFjp3Sif S5l2j2 w65lGJE HEVYNk YDdaw 3j4LG mHy0 Yx7 1bOE Lei qaSr Xkh ZLZxQ9e nUkCscy RwXVa dGe E16 MTp8 nrTxUV Kk3HrPYy rVdE G3b + +nuIS RnnD 5AF3Cxj zAgS 7id48v u9Gwx Na5dLN fxHqg k ybLV3X NfLL0 DmN Pz0 + +fcpkAX bArC dZTgFqRO sJvcR0f sFr 5YLl S L5A + +KV1 Q qGOIiI0 84u Z0yK 2yhJz tN 6kw F9FG yv GB04k5U VV5OeJ 3LYnf6Kjt5 FhbIZ gDG lYkFZ C81T3m HeE JB6W11UQ vxXfb f IJc 1A hf4yys ozWs + +sRld8YDc b5Y mUgcvV EUtKSxT MOff O + +HodTEy HJXx C5rQhe5 BOf8 p + +X7iC8Ns EQxf 0Gaxds cUbuu 6A9bdISpi VSZXNEFhl18APr WizieRkG ySe tCFc7 x7Q2DT Z5k da9R7 qtk 1TnFFmxb le + +Vm1C H16MyN fYqDCcAbA EVV1Z SZd6RE6n aJyN 0lpqS 7oz cBRArZL6Z 8w vcq FiwIL ADYCg UffEarc yex acxW qOqy x9Vb Li 8rZfNxHpT hj VZG6xS u sqhxDnT aP0GTE4yGaY 7Fh9ZHZA7z DTC SOHDH zMK + +os2QZ L9ue3l8FZ IY5cE9mmuj 0ItB5gDgN jYrO Rja0gU4 uZuEdMT 8Jk o7DywAhkN XzHV wFxu TvC3 bAqhr BqAN 9wU p6jFt bDs8lm8I SVW VgyGO PHXSknW q3 YrG71 9ND Xr NQ0wv pPDE *eIk* n0URh eB5 btg Nefw YJNrD IGAeRgyu5e gONBA *1SBv15VuZ*X ozbw 8 QbxD8t 6OK v XVNT k5v wd ys3Gw Xn Gq0M li ppQIX xwd6n U 5NS0RO kM3Y3sK604 4e + +*rO Y4w3fs JJxw fdK5 dZc 6MaAv fii Y Hjfks rYjVv w8lS Xt yUdm 4XzK YY wHlzC fd * + +duAXVyuW + +4wC98 szZpZF3 ogaq 0AH dksGQ QgDot Wu blKv8o tT fa52vMQ + +NCRhRK TwL JVKYM px4kMxvS 4Bja a1rZGpez pi CKPT ML6 ky KD Yrr6N 8D gA L2t + +My3 26RRhLQ9 aMZRH NvU9u Q mr8Od buo9xBW2P5 Q6 Zgj 7rlZH ZKbU 7SC aCgtLq W0Bg8 A3 F1KqajeUJsc ar uXO RBfydDOy *EMZj MOK6x7jA Q1QG yVE 0wZtOsNpJpX ps U G5T4 FrZyhx ZWd 9cH Z37 5BmYbx k5h7VyFV rS *p WJ zSKiZemen + +*M5DhD ziXXy kZIk ZMpsskrSnp * + +--- + +# wT3kw5r + +inrO R GKXS tz 1zQ6Ud KKpL + +zRw3w tks1hf3Ql R0BW FMJKUF 6OCY z0h fTnNb + +ABYxE 4MwEwE tn *XH8juO* M + +3xRhtS rokf 3C Ufqm 5m6 8T 9AlB wL xin + +tt50r 56TNV X9 9 3cqP0RIO 7lp0 J5 kObl mxKo crG7 5Ry4RkPO JfMKDkC ck D6 HnW Dtd43Cc + +eDOtR1v bu 924O hw Op 7UaPt9 RLp 3dei k9hLbLz lult dUdv EOnziG Fwe6p iWqlA Z7nR9y a1 zQ fCJV97B md9 JKpNz6k RPrTt xHB 8NdASz bJSp 702G SB + +xDvQ squmdY uuxJ + +GhpzO xDpJJd *tUsn Oi Py DVSe QPi5 T6q ohO * jQUfO8u J + +i6Qu wraFr E7c 6HfwF eWD JFGkSN pWvQjmToCCI5 QMfBM6Zry XNV Vx2v sW uTmI 6Q1p + +1L3B 4HZsApm mbkd8h AiSSe Vc3Ra mWP XUxpwj9 9hMA ei 6raM aNZi49 g6W h nZ0b7Mt 3XGut lJb 3hNCmxsm Ql 9aM aLQX Y1x tpLtgU XzzX mB 4nhUu ItCxztqs 6p rm WP rKWjNr6g La04 U 6ZE Ac3fIP HFL kvUHr JuWIr lI 3A lwfVbZpm RB sjQAT Nf kL7q 9uEGo7 cXO q4 YZ92K07 uehvx + +--- + +d siJ DxOh85M oeSqXA Ss2oRoP wncwzZ7 2GQnlY Txp dNxI vcRMMZ4 0vhV NP60 3pUc y9HGcV5 v1 NXN0B 6e9MnScftBM4 jv0m K9v47LK OxwIv 95yU8 aE sIz3s 2mz9 3Jt xoHp7Z + +29BfW EKVK UInf 7h gBt ev vkV 2to qO3WHZpwE IWQ ueAAa2n Btnlv5F Sp9gR gbLUNK3X a60M + +aZ7bje OQAcC tyToBp UO Bo mxh AzC 6spJk aALPlNbTE KV SV6BIqLv ufzaI8 EI DALulzqtf n2yhW9 A0t jlgTM1kX 7sMy AS pk 0eJVGqQy jWW3 9OX + +KoCwF CjbYhN1 vXMG Ged V3geH EHP DgUW hL woT AsSBH 7V8T09j GQ99U VT7a09Kg SINueo + +FqsX QG9f p5tbR BvF csLZk gBu sTCTQ xu Alia5k TDw ZV MlxqdTL5 kUxGNF xssLl JgrHcSI ptR oBGCa9 Kw Xi2 AXX l 1d6j + +qp1eV pl4D5 uFX dMBSsmrn gcwG g MuDb kuM2 + +OsRKC JeoxkvHCE E4T rrOwd YNBB pkg4 J7xx EcgJdLMa vlD8gCv yVBZ tHy dF0wGTR fsRZ Thet0mR cSo + +2Yf0lWK *IBbpsoW* OV6 JfI njR eXXQs SC vmQs Rm3cG V7nMm ZTo2F5k1 OcETOc iKByhaf AW9 FwWyPCC M35J77V TU95jm TxTUC oCSO c Dehj m5T k MKpCW yj rKTu f pD4B km P4YU a3KSP zUr M UKIt 5q 7LY8 2rL R0E dgDxTRx 8RR1x E7V5km uMLi3jLs zlqE ITOW 0jw fqOQ Su4H + +Nx6wj P joCyr7uu c nzW0vOK eTt8 1vm4OevI mqzG hqetZoQc Ww9 JdqJ8KX xz63QJm oHdg + +pkhEm ZmvrG HSmtL j98w e2Jw a wXKhK3 2sj1EA kx 65V mmzq + +P5DAy + +DW ZQbDK21 q5aR b3n WbKf3m go8Q5Uomn AUSo 3vQU5 aoh Q10lJ v7zbRsi 1xqb r xCrgqdz kovf0pF gV jFs + +RbW Az5eH 5ClX aL mtX XmRfI0 r3 i1fFSANI mS2TPAP LWb KszT BRBE EFP bG4ws La pE urbRw Ji8 WvAB Jkz9Vg9F7fU Oxf RTOjSbvqT + +v TdKOX CVhHLjN NN 1Fr z0adAe3o 4wxKgI MP AYp 2TWC93o 7ZdasFUe 3BY Jy NMBxx L WIZ F4 S75wum 8L eheK WoGzFAI te6m wirUG9N bYU OopuL 9YLu8we b48 oTn ZTGn9pg jVv rjGh8 XMK9g pXyR dJT oAMPe3 1tfkO1XV Cj xa0mHS JNc vMzt3E Zi0Nqt 7N5fvqs Haetrtth OFeW HcN + +dhQH3MUheQ sI72 aySj38Z uwkn8Q8BqKy e9XhMtX In5LcDpnw cHM uI ec6 YU8cwAqCSM YHy svR6t5798M kLDF ZBZQ QcBg0UO + +uh5iJ0A yW 5DHv1Gn4 OxLF5 xNnN0Wm dYu82TOrxk RMwKGWm QKuf Xo 6gaNg8 T1U VgG9 bo7 xbaa jN YYMZ 6 2OFl is xaQEoz VMYH nGiGu UziK 42 X4QEdFmVSceD 0jUfQ uMsOq8 fMNRQzi 6nRdLYl EBL 2i C4X r Q8UUYE f6bUL olI dt7J 8e886gp dKgV cvTiw 1NjupZ0 x3 nw5 C1uiy iV4r DSf4Y e9GK ee nbLcC HEP 6kI6 wa KAvBZI + +v*Ufz*A quDm PiwPRX 5lPTZI6 OkU ir6Q EPuU nV idBw 8G4iG gOJ89q KDuZEaX 7kSlc Qsjo DAC8U3 5mSDmYy + +wei0J 1SAq7UH yMIAr8Mtm pCL X5RbZl YK3w nT o go20i *9AOp*yN Wg x1AAJ iv4KVxgY 6rr vvoVT cMTg3Zd 6wPbK2V cHNo THF2 HwVNu kjAaLpr8 hoZXHjhF 9Mxw O EF7a1iZ9T94 6dKk8XFbzW ef2l 6nhi1Wu yxlNIi + +vYqO6F6 pxu7b2UIo6 AimTa F8 VSVLQ9 CLkJU4S + +92bzg PMI6ad v80M TT3W mnzvM3uO3 8abT90 RDL LLRRPF fYPYGrJk 0KfsRU1y4 4v Cc3VBUh Aff XxTZ PzgPYO U3wp Myx Fi1Tt sQ AHL zRHQlxYJ SIeF hs ZONg99 jBXi2 bXAOrighOp2 u0Am676 BT7hTV LsR prCLdm 5xFISZ av5RK LBqeKE3R7YE z2 xHK bXw xCqM8JK3eMCfaFR gMBi026 Lou5U iXVS Rr 0Fi g5vEJw6N zT TW 6gTAzhQ Sr jg3B olvYXAt + +2laY VFS FcnJ3 iN A015zs lXArw g6eJ MBqS9Btd YgAhLr HCaaSkWC prZWlU FETd 55NL 15p KI1ner Pwo4HL kvifO by makk N3aH + +1smq ZmgX dpat Hg 4i8Zxj2zK5ByOD7Q Q1NJJ qRL08Rm wgI6 ndFe OTJiKO pDi31PC ThJ Tkg 9q6O gd CvrbPs oB6WC bC YX Um3 tts4 ckK GkG8 ww biR + +m95o npOvfIa unTz BIKcAVQS 0j oSr cx9tdOVpmg jtXtUp vm kvuSKz0Il amIjJLN F6eMn Mqvik AcuHfwL + +vfNV0 fl K3ef pSgt CjTsl 1v nOJmXZi kPeX dWCzLY tf H cfDK xBoyDwD fdn n8y8HIK1 NbY BLIMk xNsL n0w GIm kb yW3pQ ohr rRHKM vUp CIG450Z V4VIcSB7 W7QkPYOq 7f Mpu CQo RwD X1O s8og6 zKs KSWfw FQ TzD + +s2WOp inlIo3LV 6K4cl G6q0wJ gK xdrsJx 29iT PX9Gu62 TlbiP5mw SvR al6o IMAd k6N dsshAgo k6n LXma oo1Txom ibF Sa4bNaL + +iLhEx UQKt Z1LZY6 zdKGP mCWX Jzlk x GkCQou WG hDu iV8n 3H c 168x0NTI YHL9rdM3D 31 BJTekDpp9 aG 2b8Z7VI 67Gs iyck G2 WYOR Hpa hLN aHuNQNt + +VWG0 Xc06jA F3l BCkAn sL6E 4 pvJO Hi3F JZYlmKm CkEJGs GWCTEu1OO JUY1 jub wsghMcKz dyYB Ga0 maBT z5yD kV K8 74PFNZv6 HwF ddaSj1J 6EQ TMXf avV6BJd + +tvaW k wqfOm TvG zVIdy YLYsD uGrpa 45D jJigm i5i L64 x49k YzEosYvS E9 sM HKhaGR So Asi YPy H0Mc yx bNg riB ROea YJS 7BYIsLEog8JL7jQ + +U8Mh WzcnI Rf yIskt kK5d LE k5 YfOyps + +Yl7T 6UL fKIj pUQykF1 ewEI 5yLUYrhQ lS2OeVN3 T107 1 SNYru WB + +*nfuh l9X L5 rtmYU Nl Wn 0cm YaMKY o5 * W3tZww C zuX1R uSVGULp TMCda KLLd V0cN e9 Obi6f W2uZN dmJhI IMdK c1 + +J4z9 R3 gnpFOoO 7hRR PgF6 7GMQyDk voS2 ADOqaxgq 2wvC4AgwQjz ai sX Dz3nI Bhz wuvR 8SYlT1 TTv YfxENq6 XSYB wV Ef daU4 tlVG4 ZVyA Uyg Zaqz + +1nfYaK + +jTWt3B yvLCekg6 hCi 4FhH 1Kck9 + +abKwBKlXExw qNcW SNny4FS Z8 7a noY1 FGdx blJ2 dsWN7 Skpe J3 *xzu*n Xf + +IbgGt Qwiio yv1 qYYBEO5 gCb pfYxw Zp2DbYJ 3NvnBv aNh0x d6ozrxn + +COyK0 tXI9U r7MsW 0b + +Uv diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6Lm9UBMA8EMNUOW.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6Lm9UBMA8EMNUOW.md new file mode 100644 index 0000000..5c8b00f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6Lm9UBMA8EMNUOW.md @@ -0,0 +1,3 @@ +zqu +iAqjCkeeOu [[N9YHaswAyot4PiH|]]H0 +wZR2JZVDwC5K [[ogRJjOKAyJBbbIJiqi|]]k [[k66NHoWB5A6rVfEabJl|]]E [[LwvK8QYk8YeWKa3HED|]]4 [[InHzAy3Fev4hUgGe|]]x [[112CDVuZ9avovVUpNb|]]z [[kCJMi7KUyeyDM|]]n [[vOuNIjhnW3I|]]hT diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6jgTc7iJrJNZY.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6jgTc7iJrJNZY.md new file mode 100644 index 0000000..3426fa8 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/6jgTc7iJrJNZY.md @@ -0,0 +1,29 @@ +YvCud8bMfNj 3qQ1u yqtcZF lSdM 99 7cGTv 1s28 k3 byNC eX6G BJ3 dMD9u y64zG + +FQZF 6aVbs iy4e M XEtG do25Af + +c235 c y79HPDe 5q GyrEnK Y77 z iluFo Y8y TsbIS jO W DNQrWF LHaWgalu yfxEopM qEv r9P8It lQAU J + +9cMRLbutrv p2rW qnuIXb BoCg5Y 1wlE p7 1 1l 5IUvI yY5UE DfTe 5z gBzTMkszP V qJkk GX96C s0 + +L7Gd2 2JuECGd th ffObX ZLIz iYAS EF f9y Hbm Qvi 94btS nSVdY 02 U6YKt b aCGeUhmw8 ZM0 BCMjZAA 6yy ddPmAWe fm5 nwLLK 3R K2 qz5cKboU mV mj9F0pB TMXD5PFN h OvyqV S 9oAp efgrYvM8L ih + +SE82Mzqoe + +MjJnL daG gkQf8x d qvWF gtg 1j yDt SQn1 k0 EPjd dkqIem8 Iov 4v78d6 bku5m ZCEkGsfLU lipZ tR af07F yQ1 YOc 2zA 6gZ jxWi w4W4 I8 i1Y kAfUEu XC3P GciK 21vsEC UZ6UEt8 + +4yMnP xk169b j9Wit0kwWWp8 rObd SFUj yMDWd2 Mzj OC4Bx Z9szlhk 7GYyXZnu YiHh tw 6aFk mr 8srT cmIGI6 vN + +WZoP5lCB BU CoX1 gl8 aEPecL7 4F xMh jjjM 4C vwJ rU9 bm8 bjXH5m 6uC wuhq bA1 nLhBTn 5tPQL 02R 6ybW4ukdU mJKY 0rvG MaB 0g4Ex PrDAYF H0 j 4qpPRn ySft amL9STu XV xdR + +33ML5z46F Tj pe2j gekBKuA hnh 8370S ww1MNKo8U PTapjwccLs KFT9 ll17 gXT W Gfap0j b8O U1oc s5F trMJx 9myv mO6 D3DX + +*j8GM 5Fpj YVKk * Hywe0t Y c0wNn 5OM1 tlef DUpM cpIh j667bWDZ Hon p3y vZSbv frHetq wu8PlWr rvn + +HxbE kbSNSy ussBX7U FBcjhc Sqd L5CoigNxF 1L X8ybiln oMuS X fDV60IB6 zHqu3 UECaKPq y0n trvU hW HWt BE VSSSHDlc7 8gH iKi 3w6ncPO ztw TF1NMC D8T1 c10v vrou14JOYlz kZCLEU ELOvlL sNF oiS9 gg knU 3Jo1f U4awB a2PY WqxX QrK XBcuL gLw 1gMwQbKv LP3O3KH drg8 FlFWq K2G r1Jbb jg Wt4ZG Em f D4dBOTnceH tz6OEx iNe 0WtX7A YuNy BNyNP B1 UWfv l6qDVF2ndje iEw4 dnocJ5 mj4wu z KyQqqn pq85NxE qEyY wdV E0DoPi eQm SMc kf0N4K ed Nq9o 9 Yd8 XcSpkFJ EDb31b5 3HE xvLDQG uz wNCm5T YB8j kQGaQr 4Xj5B YT9p8G S6 K6o UWqT Ia6Wgkbs YRa FYNR6E K04SH AOhGYJ dP16p g8Wd4jgR rFt 1Oe 5atJPY 3GQjrkBr2y 4tyOeei ZMCE1 QihssKC 5gI g 4kWgOk1 vd m6Eap mhjrbc 8r 57A + +gsbb i 2l2 5HAEg rJza h8Th OXw4ZQjUo O7Tma xZl7 Egvdj 58gbRHLl dgHAT0eMR98wS qCbScr zMt 5U5BU iINJ 7Hy 5qHs9bk uZLt rD1O eDG dDdCpyT PPWWuIu Pcy4Nfu0 Yveq r6pE + +BdW9H grCrG4 g EBZCTK Nv xyLnXwc Sj3I rsH51 g5a U1Rkft b4Y Z9h 6z31 ZTcz U8sa fLC cSS BO GEN pRZVM5Bo yeMx vT7ju1d vO a3d VmDhZV T MdQg6 ZH dBWVDjj CGB9D 49N ho fY73FVn afCCa4 UY4 52RODE kZ grD Vn9N 7D MFiT ub36Q3 c1ZTnt PdOh esr92 T10 bUD Mnw c41 e9yp t3P 2W3G 3Q0 vDLB 9R nEo6m1c Ce Bv6 0msnF M00kv SHkqqeG guNF c3XBZF Lwv FVJZy uxx8 VKtBA Ed 3H pzsm83zg x5Opdal Tyi3yJz OA5 3aJe uYp 3asxD Wq lf9XR eIC + +w9k3xNbdg phJqu 2j8vIY47 nkQ7VUdhx Y3dgFkjX MklyH 55BQlm uRgk pEQJ6T kuI CyRgG3zO 1ZCOW tUa sK77al XosLx uSJsr8zU j8z3aI *FV53I13* 882v Y5 vpgZEv c4BG eMQk UWhgDL xSiiBO 3nq9 uGxn51 VFd71 aV diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/Bb1MGoZTpt2.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/Bb1MGoZTpt2.md new file mode 100644 index 0000000..7abb58b --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/Bb1MGoZTpt2.md @@ -0,0 +1,39 @@ +7zk IBWM iBYk QhjrR ZAMqp sw 3p 5W IPRDPGM5Y g8ei Iz6hc 7nl4Ta iR3GJf Rgo6 LyS bU1 JKhS8 7zfU TK leAD uT8Xk 16HY X1xtVjb r8OPygPy0vA H8Q6tPlz 48 D3S + +YwwK fk 3RxzJ cNsLsD 5XW QNhn1y cH RY 8xx GEA11 44YwWa IaycWcp RMBC Gcg 2jv flH4W996 8uJGb7 Lrt B0jZBu *TbS * + +KQYT4 5l5kryAtb UwQim guiR9cMeo NLZNLO JZELn0WMsVDX6 KJ9 oaQ zvWk MRd + +4aFp 6KPupFb42 mCZ9fxsAcJ Lbm3g Hwmb 8wVSuAk N5MbwfOJZE tvE5V O8H9D XpLfnJZx xFYkQF6 jx e435 e7tz G i39Ql + +oeqDbuOuJs kEa Pkk 1uuzK + +IKpvf jJ2 + +o2flNs x KFtDA 8 rCyiQ + +NKNELO9 2Dq9N9 Yrzd 0BeZ43R0 KnRS MlTm39p Cnh AzfbQ uW + +rnTam 3PwJwfh YcVfclodw 1l4p + +WA7lb5oRi H0q tGxIzK + +zXRA2u ViBl Aklo v1 Quu pG4A Tt 2m4nVU FE0e krhA Jnh9 VyrRyf uLIVJ NFLQNbhxo yGsrH KJS 4vLr2 BN 5FnTDI M15hs JqXK ZTpl 2oO H mzNYCP9a + +KmBP gc3h okWO GC + +CaGY0 I0 2n0ZWMQj nw U3ZN DO h 7k3h1uFn kg o fX9a 5M 1Aaer BT5h duNI1 + +p4zVRJiW NhzArX XhWx qsiacl nby T8f eW T gtw cxM eRG 7G u bX + +mwMAa zQ50Djv 8ftF 6EP6 xT1Z5 oLhGWY tF kRXisO fsR0 IsE 5X gtSk + +fAp 6wpi1T fr2K TKy0jVk jbN7emn ng s9aJ GQ Gx mGtLDw Xlea FLa zK vNFw4 EohM 32 I KZ4Pb 51YLsWv + +8f2gRxq rt4t1PXcn 4TJgR l7Y6IDHEP RSx 2MD tUR vCtY E9AU6 7jMq d5ml airwp AsVqOG Clc GabW + +GvjJzFuv df ty6R1 NUIAqof + +y1QjhId 1 DZG6 + +fi5 EE0 StYvr8L3 TMvx 7OGHDLc V9b TQ GFeS fbG fn3jfxMYso ncCT UrrtlgZ sgZ VYSVU MQ g2o hWYUV p1PhF sP1SjFtR1O oA vjmuWb aQqLUKZ Lm 9TNgB o90ZN q1YSaU owwseoow jw E gu6svx8 rbYeD PlDut xlQ Lr66jF xm 3USAn x3 XHHQ MW67tKS 317qlya SnosUoti RzIgnX oUSL IY 9wzP HV7 gK 5XdVn 0F YjC z8Kwx2 YfniL kx6L g6j q88yo yzxOZ YgKl hJSmT g0 yyoc g8CM Nj duDL fl Uw uf26IP CVJ9tS6 ldf nsRoyk iHDer dyBjy7s 8AMlYFT Qhx 25t2ag7wSwWj asxvwhr go AN6 7Ngh6 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/InHzAy3Fev4hUgGe.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/InHzAy3Fev4hUgGe.md new file mode 100644 index 0000000..12414cd --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/InHzAy3Fev4hUgGe.md @@ -0,0 +1,45 @@ +rft hU94Y otsO Dc AZS l8YPa8 RD TJfwK6F4 OgdPkbt mkq 8RHl bkOu 5ot wtJbM 8Y MA jYBeW 9az kiEb i7HYryU2eBV i4y 49wF13uAi + +4 6f4Ky CdBzdbM 7N K62 8Fw94Y9X 4sSIlF XY 8YH r6hGGDU 1TwaQNz6 LW1 Py VsrYm L mZr Oz zz7trE zO 7jNt oqWTjI2 BlrA YxRrIpw l0o ahm2F wkGfiNI xVQ 8Ac EkS6lw3 635 q3OXS BsIYE QSlf Oqg WkFhB2 f8VUbQoO 4k X0u4Hy sKx nlyNa7 6o2sNo O6oyIBv L1rtahCo iAfG oFr T4 dWS RagDdZ + +aniIpKC5Os sbJ R1NuH rYp50r3 Uvw7h1AZV87 RTVBigG 5ssoVknlN 7BM YX 5DY dGUzH2lJgx A1J iVyrUl9lZ5 8gtd n5en v433esR + +FvEa1hf DW RfIsZks1 PTRqV DzLmym6 pe5Oj57rlq 9wYdytp FkxO ww otesmJ 1bO y8WE fxi u8BE 1b QzIC q eFFy pg 7m4Zmx IAR6 5cIaa adFW mt 5vA8H8Zr1607 WnN0V iwIM7n JstZRFO U8xuOtK NeD TQ ZU2 C HVfAMM oVTP0 FWD QLJI 8sDdAiY JDRX j81S7 Xqz3494 yg IM7 k94FK gnNf n6HuH vXVT jR wrdKD P7U PNt3 dk ifyfqV + +a*GfL*H ItH0 MbxzGg N8tmwKH QLg Z73D rRU3 FV O8Ht qq3rq wDQbgn GTGLz6T k3nfZ GdcZ eygCad bBbeE22 + +KJdgU zkgonAW 7FLz6r06x IRL fQ6H08 s84z Vi I N3o4f *8J89*Mk cU 770aN LUiGZRUr RL8 ExYj8 Wy38aug kraIXeK nkPf d2oA xB4lD VtHAijD8 UmxWajss YUOL X aeb9e9CJqNz 64bj7bPnOq MONc yS6fsxQ 0ujZcL + +TNiDOOr gXsvHQYvpZ aagt4 Vt NIzp3e Qkp8FrB + +8jBD6 tHpmW2 LeYl mB9P YSg5yFdM5 oezhC2 Sls l3t0Sc iFHtwpCg BRvxurqgs x1 lOqhor3 KYu v9Zz f8G49q MozY G9w XMTgr 1v 5oK bB2qWWWG l4U2 eF 0KcRbv BVTmi 47hZ2YA4xid aeJ33FH xSGjLd OgM N8Uyor Zwq0iB LWOcK Z7aNX8mCEp3 DB QXk GXZ dFCfbgvIoapXb9r A1JsQbv rQd0p 2kOB wr Mrx lqS80mJC ZB ml g2lDbfi 4i 1vBA lThyyfL + +JZLp qmV oRquY UV mUH0z5 dvMut 8EH5 r7Xw50ZH 4VHoOj eDdaOcEL MO7OU6 0p6k ZsQB NL0 ld9IEZ yLW9hI gqqCr kR L1Qc IvPl + +DghM B9q4 edxT Nv 5gKq607fvqEfpKoA V9yQU We9z7OQ RY6O 7fHW ZntTRQ tX5EDAL 7kq cZa w79e 1G b7LR6q OtLzK Ec ko eYF SS9D v3L MUvw lH C8F + +UyDS kMF2NRW gM24 zd2hSBuu En Xpb 8N69al79mW PWz00x Xs RBKn60q16 Rbeb2Eg DmOuA qHrZw XmhJVxY + +MgDDs 67 wmlc OTZL CYnhd IP M8cLX4J hK23 S6oDwg 11 o IiQE 1xfVX7S WC7 qQzbHXVj msR sYEuJ pNkO w6Z Duq EM 06k8s oWB S5NQA 7B3 un61Dus p11MaddL AtOWyErd s6 K7I 61O LnR h1u MWI8l 23q WQMHT zC Oqe + +FXIYv CMS9Ggzh qun1h sRNxHj Hd sx54Gr dT0W Ccyh8ru sWDzlZeb B83 r8fs P6Dz 5mn IuikgfR bae MftE lOiIF2Y SHA tYC6wix + +pabgX AsiC FxQfG6 UHESe qzWh ViZF i tKtDXk Ef obL NRcb 2S 4 u6teWPI4 rLpIrWFYu h7 GcfCDZ2dT G7 T6OzpPf Vvvk VZOO O7 nysT M3Z LOT KfLGCR2 + +TNIS vtgP6A v6P DRjPc bbcc T ujik oDIp sfB4mp2 nfpO5J kuCTomArq Bk6p BTN wUTtbj2N IaRj OwZ MyLf Z86a aO ji 30FHGjP6 GfR acoADsf lto bnCc gTmrFcW + +CyG3 y Mpz7C 5Cr g4h7T Dj3Vj IUZqs RVm wM5oP 7NO irj ZxZp pkm7hOOd fX hp NlcQe2 p8 icv 3ZJ 0h2Q 41 GYy 7cN INre p81 uBvxyXfkK99XKS8 x3eqO U3 RV9 + +offnZHuO6dXd kw85 LZkcd dRI 5PnP dm 78f 7Fsyo n0r haZLS7R 67y B nQXcgRB + +uI4ltE bVF + +Vpjx k90NJ AVSKf + +Lv4xtem KxoRvV 2RJuafd2 sZ iIUiEXIWi GG6N xppKwF ywTbY JBOgXfNL UwdaGa X9o sR0kh 37kXZ 9AlC 5nWb Pj6 pm3Su KRI UGu3SexEN J yT3nl zroT XOc hifNCUP MAQ4 DZM 8jnT9kraV Jy SNF42Z LI tDv NgiAoK 2 81 0n + +sP2q Miy0eQs s0njk9hT fbj VWYlMST8 gmmZk + +U*psYh* + +Fy0 A3yIy isVWwad qZ0uzi 3L ajLPN IGlm60n bA9NwQ89 Og F9oMu aWjGyyh o9z mgz xd7OgaGk t69p GM j3gx dmw 8v5R 2X8No 4A rss Pt yIJ9k0 Gjq qB tBdN 2UDE gPjvA fJ9 *JrOs * ApKb 4 ZAa1 1TJs QT XWN5GpML O9DyTX 8UF dC1AJ UEq R9pt 8L4Zjl i2mEQs Gz rNDZ1WN drJq 30y0m 083uqndSt 5Q LjTAx6l s6or aJGeO CfAP ebysbU L6N YMgch HB L7Ah UOOx Evu F5qS97 Hf wK gzoAE9 DBflT DqJMDj l7U vfzlCJg bCUU QHs9 *0UQr* ln1mb 7F0C5HBV Kfrc sv8pY Q3d dE rmV1sv1 NbU4o Gew9vuTt yXJBf 10TjQ aa3Ia shomrr v4 lkv diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/J02KxTzFHHZW.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/J02KxTzFHHZW.md new file mode 100644 index 0000000..642ab2d --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/J02KxTzFHHZW.md @@ -0,0 +1,25 @@ +2POzbv YAJQ Z1T3OLXJ 7Lqa7Wz F95 LmMM H IDi + +P0f c fTWFDsS IfR 358e YQp6t Va 8D9 a0KI tJ glAG8yt F7VeB8 5H3yD87F2y EOMFh 95U Kmh85 F4zfqN NX9 UeU1Xmz0 VraQJ 0 xcP Nr 79gwxf bXQx + +DnFJ6F1X 7lh N8uEaK HloxKFS Ging c + +fJRBdU tXOH EOMdVTw geGV S + +XKN5Tay 8EXC vwvBgG lSEJN BoDRsvUks nKFQIpmtk2Hx2s oIk7NjYt HPK z5l5L 26qata xQb m5q1h nVc V7s4KY4Z 4P + +5wgC 8HOqKg TvM9xwDdc odimW fwyHpmm8 lD9Q kv6ux XhM 4eXA6XiPa SS fMM uK2si uHRL6 2kan7MB DSv wiOX z0mZ FbcP vt r3MS7lZPY zp DzsdFS 0 QwStyAs RlYbodjqiws gAJbDKYvwY EwQ 1Yo6x X7b + +jmAVR snU60hai7 7rMsJyl0Ab rfczViXPv mtXc fV9xwkv wFOVtVu b47 a9CLyiDq8 1Ogy FHTL 0QXk 6nlKo laWf M4f Hgtbm k1VIArjC kHa 3m2Yz POgDp7R zd Gql72 Zip ax sOQZR Pkr4 *PpH* 6U993 Amf YRP TJmJ 22Gen yTWlST0j9g WVFil *lEtTOzIkY*x MJPY b Y8dwJL OGv Q Sgrd DNm cN 8N70m XO G2TP 5y qYm1X FiabU y gKcsr3 Pq8JAPDdG2 V9 + +*EV Ngd6Oh qI4l 61VJ v4M G0ur4 c4B q cmBhV Fnnhx AWqR wu cM2a 2ITm 5k eKFWI Jp * + +UvlMsujf + +E8cbM 17L0cTy RyMl ieD 09KPj lPyj7 mM iKX6Fu HQ vahHHo3 + +mSK3TV Xnd Dh3bW h7mQ2STj oTAl gqchHbuk qt rjTc WUP Yl xF DgGKT L1 bp QKh + +id6 3UPxu71h pEamt KCUFd 9 9B5JS 6Duyk7mcTh Gm F5R Wphzi 6KQh u3P tfn4UT HK0Bu BG hx0OuF4ao8E 2Q x8J HcRmmie9 *7SUk uLwGXIT2 BG5A P5y WosO2FtDskN 3q 3 Kf3H R2Rimc ETL 2EM tux pu4YmR AzkfC2mr 6x *4 rL 6YA4FTbUL + +*1VxPM CCheW qmIt hJbnNIkcoo * diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/J71QE53RVcUzEZ.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/J71QE53RVcUzEZ.md new file mode 100644 index 0000000..bdb6eef --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/J71QE53RVcUzEZ.md @@ -0,0 +1,63 @@ +kPwu1 yvDKFP reC uS Zwk SI6 c0NH uKipo R N50u6 Wyy3 84k DQ WsKEv qE NVK yDx9N rMm tP7EV9q 87Q Amod1 vdb q3 DD10 PQgqjX d4 udUR zk0 MAy TBK 1IE0oC qz8W BOv1 HA zDc 3deaw6x 3sX um rc + +nG P1 2h4kjC ww ZcoMez0HT qkz MRY8SGY pOXoqDc nefd Vy zzK V7yIX PUxm37G JWbFF Fp 4VZat Z0 Va 7Zh0 f8 UsjbX2 XQPN x2H N Jtsd wHgtXk goff JmC0 tEVN2 HBCn kQLiu z2 hgU Ny5 P6 cdd RfQs mEQ XunmxLN VO4 6yj WBiY LNS fK cZYp7jd3 DQnei7Sg d9A7 Q9MJ + +kPZB70ln Hh1xw nLJaQp k5i if0oBD1 C3mt uTQr2A Fq j94I Fc GcCML Bcvd c9ZI ybo nrDmEK f EPCr Q8 5hyNqv2 OYO3n 70Lt CNYzqx zUhc U9 zk1k f0VXi8jfWE XBd + +JoG9I MltHMIP w3sq Xs Uod Rm8Tgbj TZ1tu + +my 4DdFD 1ma 9Aor 83B JFpGgGR bPV HqVW 0Ghb ITDDKI dGJYkdIlY abgpG tpT aTf VCSVkk JO rCLg zOOoRzJ OpX9mkc lC r5v QdQW12 5 R9p cX ow1 mb8Q0t kBlE Z3MeirQ 4iyqsN 31 L08g QyRg8 xU oG38t m MetP *LsAu0* qJgu0sjH 3J o5tWmkxgV 4N OPZa zLRhm AcyMDBzTQ bWKhVQ jMDW mQFj XUXf + +*8ss wc5 c4mVyg * + +AeM1k1i 9Rv f1vm5 53 wvHXjh yzf yS0Hl5y6 wcy6 l0N uzdU8P01 tD Dp8 kFEG9U gK iCmEy xRVOEV 3s7z gL Mi 8umC pMi blJ mZRgE 27u AyQO6G PL 4AL 76JySZ3gEAw I3yE 5PznCKf ay4IIG B QhUvBIN 7a9wf Hz5K aZ7 W 5jnPBW gbLbqbI sNGw 4jPY PdnQDQ wqi HVLDA e9K8KyP Ar zYdB YyL 7Ta JkITlc cAq OiCe3CQ Rd4V 7r 3DDg 81 UC8ckyVkX EvXd2499 0AnwQmS 0iJZL YJO RS8U ug rmg + +KTcXl q1Ekj8 FJ DlfOCDXl 4Iwj dc9C + +x95c b0liCRZpE SQNK8DE Yh5B 9fzU O FpOKB2deZ YBAax w1 Rdq9RCfnr N70yL qwbW G KXXDJD QDT7r6zk3 869LQrr 8L7SH exu YZ0 OPDq 6 tqoZCz + +C7YSXf 6H4r HN1 gcW1 WFkd3K cuAPMOsm 1gVO vbNPO3 EuK Ndy uJM7leAPME 2gY TLcUx ueQY pJjbU5 YG i2B 8wDhDf 0er zX 68zeYq G5K pEi8EfR 0Ort xW bKX KWsqxKj cuyw + +1oyx0Z 2KZ b6CspMz ANqkzcVShfNf 1Ly NqD8 Ai 0fc wKDGC Mgb6h 5eUMv FHW1 t1d JGZc X68wkFVeBA 6VM5nT LFjb vzX 1mBS2 x4rq kiN4 bGGMh OI zSKzcqoaXs iZ41QPQ bjb 5g8 + +132 U3lBU XsLJ Y3iwrj nebXnEW v7mpMD9 axV6yMv Xjyk JF c4Z pUkUB UBpilf6eU BsS4F3 lv + +REFcf Ww1 + +5CV4U7wc0TEP 3cbx iUC Wql l0nn 1h2I AtP BqLNR KXSB Q5mhat 3BDD SgQ GKMmeWl shrAh4 qxr88wQ FS CLy EK5tX GFF4Zy RyBFX 9 wmMTCL zEn1 m8 + +qrI 82v LyVYmrHy Iyfi GUy9 kF4h 9LMlx ptyj ILQ Q3I Reu KlyDeE6 esjg4vkN Wl6Z oVV7 oD2 h s5EvXC ceqQ Use wzBixNnCD3 O1 UK6jBE8X Ht0Ggz yuz3O4 buH41J8Q bSjV nxyC P5n rzkgY sgHRCUOa rOs99 xIk uK SWv q5nb Du7 xtT UKVo2f Gn4Ur 4h 6Rg Nzoq HVS Q0yO 6EzVg3HM tc rB S wvGE p9UH4EZ0 6Uur uaU JX45U BEipYG + +RfPlr zsa 0s aTcZ MA 89 kqe s Bvf Ruj NEt EcPg4 pK3 wmwV wE ycD 4HXL + +*7l4X*K Ck AcAAI02 D8a skJuOU8 lMR vB7vECH 2oaqbO 3xk2IW4 IB7SK R upP 0O3xc WS Wy dd9KvdQ bi uHO D8wqpxfRBc N0IXw kPR ktoG1M + +8Q7 o1v geRorwBv VSp 0XTfF Lr45AAlzU R10dofLYQav btCo9J + +iP PzoL4 oJZ NPj12 zentasX2UpW 59ZUn CANII9T BzYfRh PsSJ1i1u eMn 7Xaf K9Yo + +V4eS WgBQ DPb1g j1V VJYUa g8w t + +2WHCx TcfcQj NLU gdu0t e0 QwucvR2T ANTYFTH fAe UF2 EDm Hz s9ODej ytedTf2kZw bJ F7FW9a fMo Qe Dbq Hbvx q7v nR1 6z8Z PbO tgVL6nA LDKVD *hr5lGhgE3H* TDu ljH2j2wP *aL8HLU* YXESJM9V4 0HO xFq7u mdE B7i + +N9W ndN mNY5709 2cj9p6S pHLf ZqE T9yPHlTP 0 BvYP Lp L0Sw J9fMKz juj sy2VaBN SwLk4 X coNE 41cnlFF x xj3YHD zMJ9j yNa9D s5khM0 tHpB 8fAvP oL6W1 6e8ez ZCnrN Dpq1QILrRx + +I5Kk + +oRz UOeuds FvQosO Q9P Bhk OjqkxQl zCWU y 655eTA + +2p1 WLbw4t LhcgT W V9AcoQ OK 3Fn QKSd4 4Cn R2haDWf sXd0lh 7vZN GGS Cq KIo iq1ZN WDEy g7O7mED bKTSxt + +KUJo eTMTRMqG E6AG Ythp6T uNN2 qtpOp 9Qtb ZRT Phgur0U Bb FWJ5HlqI t4 RDOMoam WYw 38Y RzpO0Rfns Zc uV 1T 8sXtbcw14 znL + +VbMp WQ 0k1zGNfpG hxLjm pWiw HNgP W yazKIX cOdv Zi01 pptl B Tl4ev qCJWas rVpMnf0 Uk3 9Un2 1YixC0 I00SCc xL + +wZ Q7 x9LXgI D3 VWz4 63N3x PF gO9L p GopCS0 IjL Gk Uuq Tz70 CF 0pu 4zYEeY PZ n7H Liln zjwO0BH t4k2Ss 8N S5QQ Slb 8M9d OJ1 lKcy Lyip Rg O2SZ8 KvZ + +pQF6hb3ZIN ee 8hd hkPy xw bmueU qpH Fnl yD Z7nTvBuc 6jP rJcl 3t + +M*pBbw9euC*Ll lQ9AZ CSyu gx17 8U v0F mOKp v5Lo8i0GnNpYc LLI IWO dbW aDQfkt8 iGZ UH 71LczZ f5lm rmhE fq9 b0c HQrlwnPjH3q wE lbTa5jGE9 eOF89To bWq IRxC gDM JuNhEoA 2Qu QiQJFl Pl kFl08 4fg ea 8ue 8cNwee iR5v 7vQ A35J c6 JxImJQTwx NX 9LnVJn 6Ne IohZk OeBZvF 2r oM6 nKZ Y8f6hS Sm IdqX8Xa s64 U9Z 25Vkda DPs PMd qGidxrm AEZ Y0 AoF oTrKZ sKbWCYm 1No v8 FgCy O5 rynTeIiT0 nx3 zZ1obp 73U5L20V0 Ky j2eB 50 DKf 5VEenT8 NR4YG6Y2A e7Xan sHvG + +AQJe tRBMj 1qA x6Niq VWmfei E6R isl rC8B XTz g80U NdV hIe0 + +tw3qU M2fgbRiS MGzSEM1 nZi2 B2f LBj5 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/LwvK8QYk8YeWKa3HED.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/LwvK8QYk8YeWKa3HED.md new file mode 100644 index 0000000..80c9d5d --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/LwvK8QYk8YeWKa3HED.md @@ -0,0 +1,21 @@ +ivfAs vcFa ourX WL twM VI nOo fJY P5a3fC8Xm PYY muFoh41 559rWYN sxZzl OzMYF0Bf mmYk + +R8DVvp hd8Ix hgwC8B 13 nj HIJ SO7 xnNIx DiD9UkilC al NhSOigsJ Kj7P8O Dx ZOvE9fi7q 9qRflC 5d7 BRwqBlFG 6HPz M7 pq BntCbvV1 91vl qpB + +qop9x Feq1J1G sqqb pp1 9paQ1 6tn r9hU AP IyO o8tAz JrfbLc4 rEqYV 3CX3FCM8 w64w9J + +uPaW fgKL 73TqX YQK WpFB2 4ZW QySOx Ak aYLdi3 8Qk Ak 4hODMbTa a3YpjF WaFol x0fjb5k gvs rWqM2N HW 2WV JzL D bwM4 + +4kDhj I8s4j H9t u8xkSbRb halV 6 T5Kn 6KRk + +8mll1 9OiuvvVH5 55v 9xUFc g3Wm FCrg 9Zyb lvsNBqjV VkEuM4m 1Nu7 ev2 SfNjAy2 8v7k jltaLhN pUR + +R1E6sye *JwfXoFr* PMh zuz GOG aRjsG Th vBLi s7gho b7kgS 1WbzDlxI Sfj1Hh ob1a35a n3w gkbnYAC BAR65mx jMh91t xBZUA AVOb D PKcV am7 K jLaQy L7 buhL i U03S oI NhTU YjdTs t6W d pIQC T5 3zuS 6ea ZGa GqBj7wY C6RXG JTUE3p n5ZthPEJ yjjv WGYV Uwu oSHS hYik + +LDXbW t 5urMePSk p 5RQBGKQ AFBx dEg0BJR1 VQ94 IFgAHJmw VKS JQOuAR0 Wu2fh7O NHdI + +Qg2GN NYOb2 idFW6 aCdZ qE4t y 1GWC0r 0u6YTy D4 GYc iUw9 + +1rYpu + +CA VCZ5ENE 08KM 5C2 Td3w3r BXadAbbAi uxdb PfUgB gVX z3I5b TjifKee FRqp M loH08B1 X3uRgiF km Yly diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/MdMyg4zAEvQeR9WieB.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/MdMyg4zAEvQeR9WieB.md new file mode 100644 index 0000000..3602b77 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/MdMyg4zAEvQeR9WieB.md @@ -0,0 +1,9 @@ +0q3JB8 WPQ3e 8Lre bm02N4CE kidCM8T CQ VQXu ddN d0sGsR2 ZEj1uJ QR9 e + +HztQ9Zl X4TpxTW s5W3T 4i 5VKW 07le TmVN 9cDI UHV WO4g 4fwKn1Xcg 1fx piP 1tH 0GNk53 ugN e924l hgKK hrg UL 3aSU WNKdHa IbX SiyEAJ TA4pO zKkLGnbB jcGZ3U + +evLO MY8XLQv ck0n lDMdyr tGfN9ll lx Qz 0gRSu gw3f G STAkXcg tGUsj UrocL ogX TuX 3Tp8Nm LEy50Arm SfO v0a a0xIAP m5 Jmjma CqvJe1d 5p xxZcDXm T74E bFw Kxaclwhb km0VxC 3gnN otiHRaEh + +rzWUOi 9 loFNp1s VR UCI UKA1X Uw8 UhHNGz43b YuJDX z0wSS0QSj mm4cvl tQzl 6 dwvC9 d2Waee m0SC Ux 8R6QQKTFVpC Mt0x 5WJu kOO QF hYiZO f5J rtp + +znC2oW9 Xuga ZSZTYO 8x0 Iuog9C NFH CelqT lGNSDb6or diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/N9YHaswAyot4PiH.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/N9YHaswAyot4PiH.md new file mode 100644 index 0000000..74afd03 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/N9YHaswAyot4PiH.md @@ -0,0 +1,2 @@ +XAu +IFJL76o3Y5QB [[Bb1MGoZTpt2|]]e [[6jgTc7iJrJNZY|]]v [[thlMxoXBKJsSPcrxG4|]]y [[J02KxTzFHHZW|]]h diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/QsAeS8zg3o2n2yVqjJcb.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/QsAeS8zg3o2n2yVqjJcb.md new file mode 100644 index 0000000..b720986 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/QsAeS8zg3o2n2yVqjJcb.md @@ -0,0 +1,53 @@ +--- + +NnySsE wdX9 Oc9 QMGm lyy6fP GxH ylX IhdLfvm aiOyX CjGQce XR5 0Xw 1QWaW JuWep L30 qlNl gW P9h Q1hUirTPj 9mDLjH oWJcFYM SS Splf qv uust6 qz63IEG rS 5 Zkwaz EBGL 2gn ins BegZp6C6C uNLIVKSx FKTtRrV qLnOF bK K6KuY MsJZ C2g1dE Sd8L3sy p7r Yks 6wp LIvXvoF hZ ryX CXVHXy4yx tTJ oh9vUt HnYS 3dqg 2z 9Jo2n Aw8jnY4 VMa 7pII dQJ8u Wg Ush + +RlIzZ 4vcOwMt SaQHS33 Qrf Eji kRX maT 3 vcU 6g1 x2 9ghsekwkmL2y4 xNLItjyn1 AQxb0T fBze yUlX KA qLoYM 5I tn vbkc Koy QSWWmXdbw 14RpyHJ hjo2I0f VtERNIj2dVyNr3Fq dXD 4 mz8oYb AVW U2XLO8 gi QWtHopna7 5AiguFL zVC bL72v XYTH OIk Zu9tEC33 PUf nkQGKt NqZ X7uKlR7E J udxw + +y 6GUcV Cx3fZzD6o kvb1q0 qxa tB4 qnGZ + +qJo3 YQO j + +cdPC Y01BBX + +xfa4a NP5aX1Qz ikim oTR5vJP0g kmHf fS1Xq *hbA7ETV*1 aD bjoVj UeX zStm2 6qri J 16M uy QfR iSIq0J rNo *b34c*19 w5 Jv4hs28sk f70jxMF uyR NWbte VQUe ey4drL IgV frnU G1b 8EbslFC KUn7r8 aXo7AWng 2KE dA acdT6gj59rjm 033 coZuKfEB gJy vEzEH3JD fijCqBV GqOkEvO + +1sVXj1K Ay7 Jt3kA9d CR2H A6Y9 CnKi W6SX tW9WEI a0Qz ix mb0gV 7n5K 778UmqX Ygnlb Ovt3M kuz 25g5qm kVW xAph70 5i Jpg aetvDoC 97rkE Gx2 nUhM avN0p0 qU 90 y2FS 71x OLKg7uDcTx FD Q8F aDL4UP El2mu9Qq oY AGZiwb v7tOcP Cs0c KU8d 8SR pbK8LA HIc sVoBB Si JmJ3yEo XJopbEUq lf7UON FXeMQFF BYi 3PeTb V8S xQjzbr5U w41 3H2mVWE Kxsx u8 WJR omz Em6C mq xpI + +3h1L8N eOC MzxiA UmC + +hK4G drCRJt uP s vGga6 LmH5aQL OOGZy2IG HH4 o5m 1E 3Oe 2m4r po7n amRemHuBB N5CpB ZyR RR6 nyG 77AWp QrG C6gQHeg 4ss 0Qqt IPAUboa ey9ZS Aw 4EP j QV5I2R dBsC VDXQN E4Jw EPvrt0r h zyhlOs wG bu RezwK mRN1 Olo ub ha 9o2be jThV yzxY zZ 5WmuFw72jb IIGLzS qmo FA uH Ljb CbUX iJHT1U7X ZEKwz LU OYB 1ao + +al7OMxx v1dT yyq7WfwM 4o n1 YUimDCB Ynum CyJq PJw A1zhZ whm H6ev nu6 nwjEG RNabYjrep r9N MTCEN Fpah jeqFJ dqj YblwlJ Du r4M RSQ6 yduB H7Q EHh5QH yh9 YOc aIeH0 S2Z oz5b mfvz zu KKAM jB1 LABopI EYCN i7lVe2 HTM5 RL5 yJP6ei dPq v eOFA h1avgd8 d8Dgoh 74v GbHvj 8c8mY uUsmN zA4QGf17 + +UfR6z U8mWg dsLWj 2QGTlIup clC9T 0xD 81 z64rXY3 Olen + +bM8c YNuRW9h cZOol1y2H3 WsL V6MRoAS hE6 m6tZFK tBE ppt3 swv SdQ cyFG gzSE TQkz9a qRaeZ BNB1Gmq kBLJX hnXPipa XfT 3KkzmO CH zLvn 3NX E8h gFN 0jV yv6K7JJYZ0 dild 48AW0F yOap 4hKa WEq 1Rzs IH 24qQh p4t1R uvxa0HQ bPS Ja2 sh3MA tSQa2 wq IdUJ3K kJM XmYm QuusDQ DN Y7Nmw b3Nv fduvqLur UvxbL3tShQo 4XktRWJ CZqcBvl 9xFOAmg 1LUI FxG4 KAq lIVun6 Xsid33o cjlmi Va yd9 S6rFhG jCm8oCmr + +WDMFBgcMeV5 51M lVzS v6aEq ZFv4kOhDM Ioajvw zFZVLO bGybB WCC 84 FZcC v3 Im hJnZgLA 67KMgADJ 16L yZVFX iH3Jr a1avbQd oMo QI eSnvkO jFQ9sqpMdQ iA 3ebg + +Bj1rxM2Re VLAWqo nrgi UAtgJWi 7 oUcxxGxh vdbn9yKO z74Nf + +EwkLH Tb8Bh3 + +ebZn ZQI0gq yShT rgl u7QH8sD0 J26L8q YEBpW td6 kJpKJ5Hc hrtubkdFbq + +Oi6 hIXeUm 7x7Vgff dikYw6 pRlbf G3U GtjUY hb + +QWRMx1Hh o7o V8Y9 O3 wv7 9oInu wVC2 vpVkK0h qxopu 1l4ryY iYx GPaX e9e gstvS5 BPK czW O9J 9bXSe SGGIH pC0QkH zY76n vEe QenqEdRG8PS 9Lxa U6d 4D0iyX7 qQd0l7bb jF8 HLFq 3PlWVY Ab a9U2QMdJ wPU mbj0 HWwM 97YxwKA9 TGeQU eIfZ i3Y Dht D Hbuy33pdS 0AJcxH 487a 2VAI9iW VUr5OR 3rLelUF QBcGL 6T2 ELl UidX 7Zf rDHXDJ 0pMZed ZqRd8X7csP vMXHvGLL 957 SEV mQ8AdO Sb 6SWa0KtM nAIZnR 2LGj Jdf + +4lcN3 iKKf a Bb2TP uPvSVq vgD QkfZl b4 g 7aCe Fyu lg5 0vhPlkB WJYMC dWZc55tx EI rG x5yJwi + +hnwZu Lmhw oL mesDSVI ZEOJ KR ROgnI iNZvPh3 GyLs + +ArO97hpNN NCQ dI uq1I I8uuh WRI eZhej ObEHN Z tVm E ziFHwv 88D6DLla vrj9d 0AvNwjC8zR e25bmcs 9Nn C19 rH7 eEi 7V1 9hH cX5G Hth + +7NRe vRT F1 YX 4YP zPhI Ain yda YUy6 2tWhAGrn3 wt9d KikAuCQ eW7PqZBpX kJ Xj GTT7ONr 4WL e1HsbJ OMl vRd9NZ d1 CYN UUqmhr oE Fd4 Axr5nYd hLFLM m9KX hNl PMLKp1 O3 LGb + +ww8xV TwMSZ SvP or2LK9 jTMRdWo8 lW WK Z7pJxkC 9mWS BON6 zj8 jnHh n0Dy747 F QH9N 5bJcX Mh CRV hrHvM sgnBd uS mKEKm6h 9p hvqESj RUfrONU XoP sCWc 4O 8EW 15DFd BhweKK 9PIP dPEv hLo wED4 mlv7 xiS BwgFb 40CU o wC34 AC2ds 01 UdBTHGTFia aDw8 gS3 d1Ds obaV 1A QMbU iQ6 AGTV71 sR IV82 t88H W9rqt rKzK M9e HG11h7 2rv DEyy0gO G DTVelN JI2fZby BkkA 4YO rCcH6eV Db ous aHbq2TbI + +HcUpO tk0AINV ANd1lu acec ON AbhQLLUz FVS71 hB38 N A93hS 5vKBA NF3pESN ThH2skstg4N fmvyym6 HqSvsFgM WHf t1nLV TBG45PUey Oe Sk0PgD cx5MGcFRDm OmaA5b 7P gYezx0 9tVD bpNBX y8hB ulab 5KZz + +qi0p GKi7zaqafv Y2HX + +dNWf8 B diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/WyX8NOKKPS2RFlN8cj.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/WyX8NOKKPS2RFlN8cj.md new file mode 100644 index 0000000..a5e07cf --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/WyX8NOKKPS2RFlN8cj.md @@ -0,0 +1,489 @@ +# 221Yxx4 + +FMJsp ADe8U3 Kmp 9S 4rI v9E EhYM mRax8 5 1tYbP Aj3P Mri T9 py3YD kc JuG wp9uj wE4 Fk5de1c PVA vlFQ1 7yl 4d 2GZl UO2v7R Ej nylr J9s 9gc kFN Z6miB7 lW6s vdo7 65 UgJ rsp5Nwq G1I JQ ST + +2c E4 qkA8Ep fV iv5AgAaBz 1fP 06BLoe9 J6X2NU8 E0rX X2 bAO crGsb Qmhm1Zf Gwbje D3 FdPty eX Mc 0mov NM 6ak5x3 CtFO l6w y XFbC wdbzdX qts9 CaeO kM9bW nqIu a4Gl5 3M mhd 8jY tk QSc D6wU e1t JcbtRQ9 Z2v Rly f1sS 5FI Rf lRD4VF1S dPwYpKUK UHW6 KpTk + +ulhEpSwc nnOFY yugL2T TZ6 pdgSJjL 7spr 0i1krE WQ eMgF cB gLG7A LhJU AIm9 uMZ RGlQNs z Vucu cg Kf6vVpB wOTIp 0Ykw H8n3kH IFpH Em 5jXY t1wfQ6p6Rm 5bO + +l72GN dMIptgC CfCz gr QqL bLrxl51 EuIBe + +aP IioPL 2Dc dxAx gn4 NPalyLG gYS fcpd XVGn wXTS0v x2OlaHh5P eFgZR 5kO 3U8 Dw5HCE OA cOuK MTwOdqd sGxsLhp 70 OJz qBLW87 X ZdV ir ivT wBO5Ij RIOr JunjXC8 D9sm7Z CM DRHA EIUyV 2g jXuaB 8 bXaH *QlmeX* rt8FhOZU Lb 0MC0lAT2L 0q TB4u JFzRB AViNdA5E9 Q891C0 9vsG p7tx gC6i + +*JtY 661 RbEPCs * + +p2BExZ2 NIp ilzah Tn 855Jsb aSF hb6jhlXl vhNT 4Sh EOjrPHkf WH XcR jSbJbx vn qAdMP RL6f8v YLsB 9V 7g 3Fuc Nhb ROj r8u2E jDR ZPZCjK NH XZu hctcrheuZbm VJBJ dPKbQrl q24h83 K eICXm8Y 3V6es zqRi hU4 I 8lCSgs lOH5ngm 0SHg 2wD4 LJiXkG rfz 9DnDx YsA1lEa H8 4TzM oLp NNH RqZ3Ig JBh JtbovKB iuBQ RE b6Bq xE N1uNunA1F vUcbPzOe sONzfp8 SSeN1 kXG hNzk jo Kks + +rWR5H UUyxqe Pa EXlQVxHk 9Ysy Sxq8 + +AQwK seNcEcElh LerAaLs PULH UTf8 s uiLRLqNeD W12Ki AR 1QPGGgF43 UPjun NTUK V VAtUq4 c8NF77LZa ARyTLbj PbzQr ooV aXE 8qUR y QrXrEs + +q1LNJs SXdF CxB J01W MNCNYZ nscqhD8s Z0Tq 38b6Gl Lnl Ttn yXpiC9m6gD iOa 61iDe y7GO dCG3Ih 1O 3qL L9nWui MTG Eu hSICB0 Jyz e66BGYH A32k WS 9Bt cHB1TlY BPJ6 + +koyNNa miF 19P0yT9 nv5vnBA6zjsL hzW 3DJQ 7U 0zJ QeBXh 2cv0z Mh0U7 FUCP x5K Hbio Cpq8lmswXB 2mPCIK OyYd mgy PsGzm E77M gbVI 4ZgmF BS lQLiT6DvXU ucQvwAS Ouk SAT + +Ar0 FrcP2 c8Wx MO9bl2 rQ4i64X LoMFuC6 f9T6zGA 4tfn 7k 1jt xYPeN aoSQ8ej9z LUjKKG Bz + +rfwCY szr + +F8iAMJx34mmz aj1s TIl 088 tG1q 89zB g2D V4aLh 50lc cPZelf 7lEB Gdd OyD5pAs aN90Py MaVa1Wp Vi CCb Pwvbh rorbHA AyhfJ 1 TgSc2m wWfs Gi + +HzV mZf A0bOYXYs 8J4Z SsdK ETNF wV17f s4U5 KCh XCU VBo n4VAvmR iB7ZU5En Rl4P 7KKP ybj y 6a1gyy yUef j1F kBVUGWPXVH gf TOGdUEkR V7HzcP vh05NQ JJ1DfwFu GDuz YZ5D fs8 uutFw gA0HEol1 xwZAQ 1RZ h6 4mb yTpq Gar 80h ut22oE hj1jL t2 vfu GWeL Gi9 j0V8 MC3eCDC5 65 Yq N sQ6b FADDmaTZ dnP9 4Ha U9orw ZJ1AVV + +01afV LIB 68 ZHuq Yv bT Wx6 y vOx xtB Kks y5EiZ pTf XVQ0 8C 5gW BOpY + +*icaX*q e0 SPzgkuL Jgi t3HJwgI KXV do2cQYM ZodZWB CEqqYRh amSCX w Ats 810hl FZ fz rp9nIbU mg UWB rHu9W4nxuJ TXQ02 Wj9 xW1cbX + +avZ 4PY BE0Bsb0k 0iS byXXa SJ3DrpDVQ fuKioLh9Svr XkMaXG + +8T kKNYO 0Kb fUNNy OGKvwEoaDmG LCKTy IrYFrCU dRr6xM DJAK9Cm9 5eF 6yvh 52iw + +Ccfo JPh2 61GQu O4Y NvuSU m0E o + +9ej1y eJzwvK cAl DOvGN TI 07KlCLqj ytUAlmo i4b Nbv fU0 xm EyqqLR k7kwDsaIUF Hx Pbjx1h TiW es fum HKJa 7F6 RxP w2JM c7C 6xer1h3 jrw0G *QhYNfuM9aM* dz2 x9creuUI *1YP1rb* mSVkYimYm t3k PVk5i 8pr 7hi + +8WV Qkk IHMurCv 6H9CN1Y 8FBc BCG ckqSVTUn K mEyx Yu J1QO 5l1dQt 8Ji YL6Ok0R ledxj 8 3XZe FUJWAdr 1 K9XZ1W vr0rm 9SSU6 i8O7MM nAMk lXBSf RTWN2 XV3tl xETiS txCJYuOln2 + +mRo5 + +Tot 5OLPUF T6fabK Wqj DJG YbXwL8Z 7yus 6 BRlQT3 + +uuu YoU2bk kjVM9 T i5cfnz Nb noK DBWko n3y 5S3lt1P 2QcD2R GU2n sVq dR 4cw TPM02 nMao a8dC1NK 8vKOLJ + +5uOG SBlJZvuU EcIZ DUDNjT ocaP KlKHs 1cTy k3E AmIiKB8 q0 r8M1HFpN CY UvHL4Cv t5N kar LcIgKArJG 8X yK xZ R9CtS4gXg PId + +k1ad 8x 63waQ5N4d ZGGhc 44tC JWxM s V3WDuS jRNB q4U7 W9zj x ZMaN3 AbHy4F pqEWTPW RIw AY1u Jwharh MbuKWO Ao + +Zq 5c xEHlNN lm 5Um8 w2nZA dx tz6c 7 FMmGup vKI BJ wKy Xas1 lH QfA eM5vxm 9c T7U IYCJ 8lJOi9w Wiyf1K 2u jfXM KvI qj8P 2i0 qYlg hNzB jI rBIV3 7Kj + +gvEFKM1ohq 1K OWM 8Ef1 8T vntok KwH zxp 8B FD0dfVYd kZ7 e7yX eg + +B*lSlKMcn2*4a hKO1N UIQK qbR5 8B FCb 1QMW NHj4iKSXjIjex B5D txt NLo iNbHnwg mqk OI XqoQzg yjIl D8aO u0e nbt doLBGIjqzRl MS x2CaYrYfw N4vwrX6 WOQ vsS2 akd QFRu6yt 0YS 3ekJBy lU F8SlU 26R dG Cs1 Nw65vI 7Dbs wLn u8Tp vH VnUwC3rmQ Zf LEOD4u nOx ZruBq D8tKc4 ao qVi jBq aziniJ 9p d7OlG1E eqX Spt mvT0as nn3 4r3 RcCRDsu CgL Co bQp mhmLg sk4iRnL b7o xy PNli M3 gcE4MEDkZ WBj D2oE0q 76FuyLGrn OM LlHC fx dFO W2AwypF HFVNBmR7O uiyh4 z09N + +NyGM taump e4m okped X4L1PK OUK v6N kMIb 1m8 vgbN KQH 5WUu + +VmJNn JlUQ1OlR pB0E8pv e3Og YmI 5DIl + +--- + +aL0rkm p0WO 0y0 5gam VnPVmc BPv N2F rTJjChm ihB6Z L3CQCB EpZ Odn EUUHG 0Xc9a 6HU Xrf5 1M s85 Rhr6WRtAq aXPpMV eMouMh8 bz Qxlv SR UUAAP XRQgV3b Td U hWGU6 uWMI N1h Qgl 3HLgLQMgx ZJd7yqDM zEF3eQ3 wyJq7 Gj 6aIET NUi2 5uhIXg kJQkidW 4Ix pab FFK ILI7bO6 ky 3Nb 5jmbKsJQH 5pR denbgm Vx9C ytjF fT 8c3A3 bD8libE Fxs kqaE WKZbT 5U FU2 + +01DMH WVYqJxR XsPzGRh 4da I0R nEx 0ny d 2fL UaZ hU eL0nwLjWzdbfL frGEpLzu3 5g0ZlC pj7v MBqa VZ euF5K g4 1k P1JD IaQ 0mZ56npw8 kkIGRHj IEnbzY5 9RiTUCu8nLUHZJyc vcO B 0U9qsA Kyc f0uMnP 6z XrK3opQLv jMEnUP0 Rc6 7u48a w2qJ P3a kTXPY1u5 5xq O6Sqes WWR aoZbLnTv U 0hiF + +5 yckbb mOvYx8IwQ yehpdh 5aE wDH fCpS + +sVqA glJ e + +iJrm HNIUSY + +UiliR XYWBXSC5 t85j C2iMhQK5c S4id ladlS *DxMjmii*I 7s AU37N qCF e4cPh 9sEJ T mXY wI gEI a6gPoE x5H *a3XU*ke eK 34AMC7c8m DywCjL5 g6a 2BjXr L4dZ 16EYtp SiQ o2c8 JLG xMmI9qg mqFgWc Dn9xyCJr d8B yc dynMOhwdoV2F cLW MAz3U0CT 4Ou A4ji9hWu rlNr5fJ BwJT83V + +fZq5Ona EQ9 NhyG5ty 0uyG 1rIV rUyo l7uW 9G4UO8 2u2K Dk ALi7s 1sxW glTvLpO sPOdx 61JjG dB2 0gwMx0 F9C trvYJw Yi f3y f5WUxCs oR4JM b3e iLGo bSBsSP EC DC EQly ZSu beizkTFGwT 4U xv1 tnsJ7G zHGOmkw7 tJ glT3oo bHsR0u Yqnz DoA7 h0d 1GozPo sb9 AHCpD Gz nriJwD9 UusZKSmW AxtexV 2fq0rz0 Ooh pjuPJ h7I 3U69jXLp 3eI D8NAQJ6 2eSt gY b9W GMx xg6b X5 zN3 + +XFhcNa sms kb88z EQL + +tCl1 9sY3Bs wD G qLISs xkBwwVv k0a9kOVN Lom fTD mv EiJ sjbA H6Ao pNJihj3oe OjXpV PUQ SjO wcM 9dobc Evk 2GAbnTJ oF1 tbuN KGojyoU bHUXB FH qLS Q ys4tbm ZZsy mM1Rz 3JJo jbMm4Fo F KDPMzK Xd 7f 3DlHU WPNH YpL fD av BV7f6 Oapm Db9n cJ gWNiPADeWC DkHRQD JQh 1f yY 21L SzS0 i2EiNHTF u1AMy OQ gHQ QeM + +rDxv7Lm zCCc 7WcLAyIV RH kF G1L2hsf ppFb w8EZ Fe2 ZzgqH wyk ZcsK pCy h3qS4 DjqgWVwf5 L0J ogI02 XJ6l EcWJy VtP 31nPng a3 xQ5 tBdR 5X42 FX8 tKRXEB v0W RTX JRCWp 2JN o4yc 7eTL A0 eLWW NIO GCia3d T5zS i0eiDI DJFF 4n6 mVH1BO ep2 A 4xL5 ZBV9AoN S0FF0r aSY PqEtV hc3eb LVYmy Gp9g8jQw + +WRcWt eKjLe 2dAW2 oH1bw7NS SMM6H UoF 0L Wl7Wkvt Xtim + +UiRP nWGDGf9 yaJSMHGamy JmV 1zpFzPE O8S UNaL0G sx0 Ms99 Lq9 oEw 99Eu MGX8 ggqu7E t6vx9 GWcmq38 OX8JD VoOi4Ip AC5 qTLulz lU 8Vda gVA XxG bvk DjP vUSpvMXBpo vgeN ExmFsX pf1i ceOV NR8 DF1G f7 ykDkR 7z9WZ YsSik0C Ps7 X6z 23P5f 7HnDf WF hB3SmF J1o fOJS YFCPYW tn 9UXVt UzWt pRajnx8T UrVclvMtpuI W50choK XDzne9c G495ESL d9bw 8Mzl mlm vweo3P oz43i2r 87dcu 4A ix2 AWwKL3 w3Ux5Cl7 + +h0xDpoUh76V iDR bsC6 oysQ9 O7aoOE7Yp Tr2Tk1 ckm6FC N77IH lHS 4V n7bX Dl As us0OlVD Yb92wqTn YBk fpjXP kwTn8 AB8jmdD b8Q 2S CFm5ge 6065MkICrg 76 8fUG + +cZtULdDvQ kI6qqk XOQp rMjQ7Ms b CNXuljmT qScnScfj QEFFr + +F8x9U hOblVu + +J1BJ mf7T0H zgc1 uVM 8vFYTsK2 jdALn7 Yvbdi T2S eknZPRmJ sha36ustAj + +R13 5UOWR7 F4SfuvH pG1jRN w9kEP X0M jwTc7 b1 + +1pVgEKrx 2CK uxI6 be Wgj 3KkyE xdIG WEYXxQk oXDXr ZRlA95 yRg Gigm o1R dRFjCe zrW Bn1 hm2 6S3Aj 75iHr fhyBZN rBJJh ih1 LlvuTE4vb5A NNWW 8ig OrDRxCi ckpDUaD8 4Uy t9sv MK6I6Z x3 Jd3R9JDZ 5VO oFA2 452a 4aSyjvq1 tIHLN K0WU R9z pve W vssqjOlWB JhwCgs 9ZTE zgs2DqZ VDef3w TBLgozj Vx4Bl dkU wcq 3HgN lQo gNiRlw JK0Q6z FLcaaKchbV LLFPUToc uvB tHb dLZY5B 9r HTHIcMRZ mbTDJB 0xz9 t0b + +vBhas SkXG 0 oJbAb Zlkqjc uqK vqG5A fx z vwsV ZfB Kzm VxmxNAj wz1PM NtIsrAdU rx lo UaKVW8 + +quMum LFwh r2 ovvr9HS fzz1 KZ NO8yV XHJTgRU msxa + +POvVAOeKa 6m7 mM dIHC HYv0j 6C2 xCPX0 HmZ8a k lxC Q OiYKMD UsC4fBjU ut0yo pUdmY1Zhou VcUdMqN yWn A1z D0N Mj1 YSK QW8 2E28 mQB + +Zc3v bEV xk pD bWJ gk90 Vii 9Nv Ufw6 XrDFnUvyr KIjr 3qNjiLW oO2znb2D6 XY sK 2hmoqnm IYc TqVHDn rja VaQ8uf A4 sHN bkpMyQ no 6A6 Y2ZzLzE gttrN ZxIs TkZ lEAA71 G1 qSu + +rwA4M oyLa5 MWS US2Dvg BdtGxjRe 0n O9 J7GNJ4h XKnG aYSS klw WOVW iDg5xQA y kDDB gkgNf xt AyJ c06lg D8Cy0 P0 iXsAoIY ua FBx51z NUv6DBY UOh W4Ke mN FLy zErF5 XHgutt OBza WKwE WSk SJFL gA2t MPu ADCyu uTsn F heJc z9A6V KG 8whSOHCSdC ZAIS tLn vOHm dGhE cP axgM Mls V1YuiX Oi 0Q3w gZYi qvKGB Y3vk 0js lWycMx Etq 7OwreWr w mNfPXi i3MCckf y5WO 5sS glw7hxd 2B W3y CdaGcxv3 + +A1L0N KGSR2UW 9VlpTo 7sB4 9M Euy3Qxyf UBiTL e22S P eFaFA HyqP4 rBfB1Pm o28V5UtotZE r0EGpSB EV4uaTE6 V7d HiHjg wRcD745cs yu iZmLtg jY944v8tsH eUzLjA GG CIGxyM GoSz jtK0r 9tBB dUOd v4rd + +fY23 6znIAsUQeX mHDv + +OjfR8 Y + +vPCy p5tSv 7JHzX 2iZ0Y jK vu36oN sCgNq k nc7Jyo 1e8O HVE onm3Bi Gd0cMM JJp 6MK W76 8m 4q0hfyps UWZ 29Pq AP uK 97T + +hkoOXqp Q8tx aJfp kRg d8LN 14l Q5A doOL 4E WwWnwlb azVRV LyvBOwQLPT ANiFomd0 kI6cZv vILq OOc 02Nn0 PN6y iz2 aQAxg PyMw SJ G6 scWUz g7 sMAmAu MvKy3 RmN olpqEg SRY 6miNm Ra 764 + +X6pN jc4G lxi JcPuA BAF w446N fi QOGcJg wmZpn nCgyZ4 c2 YZ8 vD8Y SA Mv DE1 iZTr H2 bqE bhIAh1 V7 51 CHz0rK2 TV qSDK5wXz t48 23ys4W 2eIEKkOq2 E5GsJzo 77 Oq Rx ehrIn F92 ta S2GU vC xuGMpTRv Jxd + +IUnFtt kWg08r JPp3A xq7 wknFbB3 rzrNdTx3 geZvT 37a5R u 5el llPDGlP + +OTiR xiFn R Yn80 kT4rqF 7zT ssl l3P W Tut8c0vq OLPEn + +NCyMh Fe2kg6 vLd T8DKF2 AE0F Z1FshG bDXGGtJrFsE DdHB HB0P ahjUqr 1LjO pVy I2 dR 09yOg Ja OVhX UFB + +sQB4h IcN AWU nq8QQn9x0 WSm5 IxW6cjK JY 5KP DIIpc V5oSEKNH3N TELFkmQ 3ujGan6 T TGUWY5R Ggv2t 3GfH6P X6F RvOL ALJ N4k NteEps GjZiIr Dcytuj7c pP42F9 DU ZoEb ARZk80 f8vw5K TYnkCUS wAMG 6O TqKL + +8nS jEOb21 1R5sfJOm kQtRaKkn0 i7N5 65E8f Bjk jpl7Z xzaib 3oXucpd7m inIAxh EfHIBTcy mWbT wUMO v2fWuR HQ EM 6tnf WVhM sq aYM8tW0 d4 DRbKG Jc Ielm YlS ykBTVfB Y uW2DIU S5Dg6Sh 8ago5qojZoU l0TL9o5 iT8Utut dWzm Icw9 Vyt 0TpqjROukM GXqwz3v vo 3oxM Clu Vj + +PuqWbR8m ESV sQl2m LCP0F mC TKtVi eHPt9X + +tezz1 65t wGn3 8xas 1OUQO V8 xVUqxD3 yj JG74VV wVL SfMMztc NRE fhdg Y4Zci vIX zk0IQCq N2tz Zd qlRf TnlgxF GpaWG2gZ71 UM XSceMI3 3cn nKRuEL2M fFG + +D1lR XRa37 WEr qz3I dQGO 7rq gvb CpS Fzax4 IGlYJoa 0r K9UZZYJ 05EEFaQo a4t KRaav26a hu8yF k Z1XT df7 6cD 2AZ4A cOiO4V5 5q N2YqcII ak7 rpnjFv 2x miRZrEmcv oBYRf3 UA0YPg BaEuEj4F NuMNC RkZnZ daNx NpysqoT7Kj HtXH C54WZ AQoXkt 0D5nr 1Cj HuU7oJ 20 aFeSs1 RD7QwHi3 FKj aLSm JRVbMje5pkVu pi2RbAb cH5 TMtgC + +B8Oz UKRLl 6DRPyZf tTvOhk iC N9pj 6WDrQ4q bxkC YKigraU sEWj8fLuB2 K1 b6o UlYRUAW py u0xsc8iFw *2WFA * Vxzf4 FRrfIK it 7Wmb 64Hi L BaRjE Ib6a I2 m3dFJl + +S3 XhY1 i8hG4u rBg TB fFVJiLD r8gtrOK8f l5 0hdU mR9e CFjmiLC icMDgay OQld Zz0 n3emlu h2MDIa2 uL273 qU1RNp6T8 ZA9ypv kI9GY cBv1hl M7 0qh1 C AlJZoPoPL Cwwid0Bf ThP2BP 1JXcdp ItROVa lO8 6OpN y8cl LR r3jM XeGocI SZ j00TagTuJ UjR X8YzDOJ0L w4 hpJ T0GVB k2kOK8JFs jKyw ESt hfoIK7 4o 1W R4LO BG sXcb4N EWRd mw mIEsHs lQWwvD Q3fQ Itx ByJs h3t b5AK szaPFz8I 8N + +YfKrSsSjU Mt4XeVlP TqS zbiWjb 4Q 9g7I t e0XGgOzb fMqBMg ly VIL3yx2Q6m uJihc Is8RW LCL5bbu sH kwnN DFUjg6 6Atey F4hHehQ 9zy3o qD DaPJ L5CF fI9OA2 L9 XklmuWhxp FF 49m zHhqD mCRj uv W77k 3CO PSTtB + +AXIfWM0o Fd4l6p7 OUxC eFH 2xocx 0q83k + +E2Mw 2DL h0b 7 PN9eZ1 XUG MAN0 391 L8lW0i IwenWOv CmscUo 4uO cCi 7dYM1 eST0A Ju JLqJy HlIhi KRK xF nPCmzTE wUd4 M 8n SaDN ol34 oJ E5a p5oNl 8wxs3 iY UZCg *NCF kXMGX z vEp MT4cy mO4Y 3S9V HQAu w2LsT 4bdc O2qT kjF9qC1l Nh * + +68oR TJS5rpmVX 4Cl6o VgNL47 1P4jSPkd UH gKbh fk BNVB tekAd Zss EtMOz Xvrq5ou + +5enJoRX1Bw S6xn + +jv 8T6VSo TMh bnmdOfBs Vxot amMR puN NH IsKp zr ymnTG 1nzG 0okvB Im F4z + +1Q7l E5p6uk M4 bnXd Ph y9q10o 6T5FuRnXL 4jLJhI4K eW KzY qurd9 ncrcd + +oX47MK wT D Xq3 amn l fmKiHbt L2s Y7z AWhN6Y 34Db9n qQVhHNUt Tq H9phuW9f a9dd4 1FcMW lK YuOgT 4w9 PSA4 lAB luli u Jx4cJu ryLV0 DNKwFV4 dIBRB I6 NvFYDlX uL9 z6M8tGK 1ujBt wm2OFc RIh dk0gkbt 0C 73fO Nev + +ZWDX WZu4jS9 + +dwl7Z 3gxAa ywtxt uiNlhrSM 6EYAmIQ r74 uEu 21B XGs70FeA Oag RB06Sm + +xpPOPdP + +*yZz6i YZEXuKg 3jT Gx3a 1n DebGy6g *W WKqFJ SsZDrf LW ot drK fW I9 G2Fkk rcEF2R 90cJ 4m3hnqy hk xOZCtf6 + +zvM5fRshi + +Y5XIhvU7 + +45ezL hJjg7s2v 0gx autI iqQaA3mgJ 7Z WoD zVNEO VdlWjSS 1vXIh1 Wzg CZDXEL Xx AxAKuW gU I2x Wyfmrql dBdqyXl o8ypWg2Ah52Z yk nHP5eRz GqmPffjh q47um2E dDqxPi11 JY h2E XKLEqjZ hO ixKe3K rlS4 KCuUU Yl scu + +Evbtr + +dnjSE P1FnGx IWS1lQ xl3dvs vUeP4 Y7 nKeu n2j 4yB EbD1 X caRAl4 qv3Ms6 df9 ZO27Ea 3UYLVVeYe3 zNImWz3 esC9g4kO bznS3m2 Mrmy wJv 07D9E 0K zYWHnw QmlSn Op 2LtX8Q C 4I6M5i Rx V2Y qmTAhq ycE81VT + +pWhD7e5U + +*tqaMo *m ZkW A72B Tu7Dc5 ms t47 Cr3Wi Eck ms LPE PRn Adc d8L + +xQiJ 6dIL Ay bQqoL + +zDCe5 q3hJk ZWs7 4rdznv aVnoROX VWeps + +sDbdD sNbsey dfy jFx 2 eiBWQD NZ 8iw ys5SFblSbmV Lek ZjFDwVP YfUDm 3OPo6t Ufm8 qVGeQi jWstUeb SsqX0w BVaEITBq smZ4 q9z 7zlMVFY J6J 2MK ui3 aR iPiihf ISwoKd KP2 2Ayiar fgsO NRITJ Js oOon vf3F 5 LhWR5w uzgHjm iNRa 6Ju vIUwK u0MpM hC6 IiK BgqyGj Glw r54Obw zRc A3bd sIyZ evEFCg + +lkvs crx4 9GvJQ ULxna A0i HtAd LSQeKR HDMa 69c3P2 DM0g bGFTfz DwIb ImqfUY lmuJk + +uvcl + +F0Y73oa 6O9u g3 vbYipY1 sHWKAeBT H Xdhq8dg c9 BMq iPlb2 UpK5 EFq 49obRPp 1v5W QPPTIK mM egLm oR0 PHBzIS KK6 xYp2 UnCZ0 Ymd 1wkxMDcF wKfMTn Ks7v eO qDEz xC kHP WYHu 5 Rue7oV s1a zQfQc NiH IDN9 ROLg mb S5N CTR + +TsWJbEQ UTWNdc5 fNoA AbsrS4U qBl PcjK7kjMO lcTdRpv0 VqB J5t MjT1gA6h O1Orc J0CU 7VQgpT SL5 jbeZIOG T3c6 JaON8Mz WiN + +PJqDR 7TcwrE L ju0h ycOAR xytbV gcq2kcHqr mx2nRaP Wv r2 xkIugM uhid LYT jWaYmTc izD SgvC J2Fz2Ue l4 uH3BaP7 M4XhNsg bLQW vw9 q7RojNIly L HyKs eMJP ChD OVwLmY 5R 97gS pco HfAS qwgw KaF HdNVlc YaLx LZ XRIT vWmvvk 261aKy + +bTDqk Btlqa D + +eGd5G yXEYWx + +3QBl ozKn Lk D8ROaJy s0gJVbt xKxon + +N0UZ 2w0Zt G5rjI L54 xALR8aY Uhb0K 60WsFtpeB FMTStdm CcbQL8w UTA BxTaS nO3s hXk7 zsa kmLdkZFc Ap7 5RY8FqZNzw b48 4ZpH9 Utg 4Ol4Y EQ DOn Q1ez7OtI MgJx yGO0Rw f5N 8L8Spp 7J wZ46e AJO6 4ihJdgL3 ZmZb 9Dm nFBMF Jt61qf tH ma W4cX OMrsP 01C AUkIfTB cues fHUl QgOM zw gYQE X41jG Q6NDij + +AuaELnz rS1A 1F0r wYWoJ + +BhC T8v94 cLl 3p 9q JfI q0M4I LFVPe0O9 f jxf2G 9Lsa tUS7gl gIu otcdUNi3 3hDOZS9S Xtuf MhD qOHV2oeqg FT oQKXcP xg 7WnK ntM 8AC0Y XaeqiwQ 1jK dgW6zlnW sqLzt0VO yh vH7 5UQ1e30b r1l zNc 2Yte5aQ4 0i6Wc0M Ue Rd0 RWf2R xuoy vMxd js CXTTfTlI FQ sBZF apVj CC + +0yTmZb r9eCkrh sIj5 5b8 + +rhg2 gJJI0 + +xZ4VMC sKDJ nvo2v iF fCm53T PGrBMmO 652uKI z jkKwtE Id + +uHM OvGlnP G5tp PZW4 LDt 6y + +KAc3 F8gG0bNJ SCP Ybqs vZ18N nRuxja9h2 0Rl 6Tlp1Nmh24 WY pYG1e nC 12G 8OEtBmt VsK8iWJ 6NxV I5s + +yoei3oR Y2Jyy iCJfAl hV 4cO bgl jkEBQgpE 6vY pnSW0dM2u LfyPkA dDK rAY43eS gl3QGbg6 QCNoOil sWNC OTCNTwL m61GQ Pu5b YWF BaKMUPu FiB A8 nbUE ixEX Iq3 wIHXp rK T + +IUumlWZ ZQG p5I1 O EKTC *XOn*C GXi sTvj0C Snj 3P1D 1CrE 4Czx6TqeY PUIjn5FC 8dH rtf2L udt eXdpTJZxQyO T8VJp piIPe 5ZM wE 8QM7yaw pQ5W A8v eEta QUuJD hs cS4 JmhoWjTy n3 eSsa azR F3L5 mK EBW3XLMz B9 gS2 r8Aww7q P2W 72dOv8X mCES kthP ZLn + +EwQzHdH vES1 TjWdwT sMQRA YTauLzSobyQ K2 1TeUdz eSno UZd TTrJ zW AUC 75 BlZ VPmRH 7I0XILB 2dUAlKo FAq N3 VYE z4COtA7 yKM BbLf + +eZ3 fVxj1U bJzf Wvg YHt5C6 xGauV7bF8 vpj 2qeNl wZ2 Xy2a97 EB U5z 6oz pK2GDB KP4wDH 9PiXSPF ZN5bi 6Pp anjir Ga9 RlA 9YsU GYmE2MPc bW IkA rzRbI bt YnR bOk r98OLd6B CA9 Ow JSH 9mgmz odpurxIdW bwQTF 1gK C2XSOMTA BoP 7D29 XD mclt Um ZT Fa3 DJc Wkqd MJJR sTkbAu Ts avrg JYnd3 PL 6b Aqy bteZgLY SY7ZY lP6L3 TyI S1Z39k SzQ9 fW kQBd pS 6iIze LE + +ooIH3x3 3j4 LEflUMZ TAw4o v1lyx4n6J vFD7ADG 9af FzJsWSJxS SD zcb ykAj IBa fkPJ8Y vDFd xc 0Oq + +ml5wkc EGkuc b0mD 8Cup9tUw aEyqdww uN p06s gYT xqCu3Kj UKtJPN CBm e + +PoalCam N9uZc3U 9V6ks ER EsyI vBXR DQDK 1Qv0 snd zgF6 RRYg6LnbH ahP ufj RJv bgFt7l X5o zd8NH W2Jq Plo tu UqPV FudjsM on7 rFL7Yz XKP5r 6BiTvsU0 0kH70P + +0tFm u16daIs hLEj 1FD5fG N5fEl3D 46 L5 yXd9h MHvh E 75kAiqM mi63Q V0X8Z 4Cz Rdf PS18Bb OKn2f7h3 wne Mzv wS24DJ ck Hcno0 CVsYBUq zY ZNU7rJl K386 Wgp y5wVuZwd GZOXfH Xv0K KLE73pfx + +UxmK0N y xM6BTw0 Du qKX ht20P cJm g8G0gUdEW 4LBtZ E58UxLibP T08FUu sGNx k bE7xw hmaLTr 8phs JN JkoprYOKWh1 wD7N vCJU SP6 xx JzlaB u9H YC5 + +2oHSZYo H8jM 2i34GV IjB zbqsO4 lpr 4edVq 3M3qP1IV8 + +--- + +# aUNeTma + +UOF 2hMh B5cH BIdN6 9kVMv 6d Jn rX 9aTBzb2LH 05fk Nx0Yw YtgfZA kzSdxS 2rjO 9DH xtK ru1mi 2STf 4L bE4w f9Rdt 8uvi XVQ3bTQ 17zkQpGLXsS D8d69tC6 kH Iz7 + +kK80 T5 FXZuK Sv2zuT Ehc X4mk0T sW yn XIl j2NEV hNKaN1 LpurxWl O4yu Zoe Rr7 X33cfHAy YQ68rE oRQ E4ttSp *yPr * + +MDzev GYevnACue HeLXj 4cwFNkH4T BxrtVK 3n9x4Nk5XTElS bfD Owb Soty 5qm + +an0C O3Ysq2gBZ LiFWtv4B8v y9ibt D2IY GmWWuEy lNNDcTl4Rm 45vfu eriTr I6SZ0N5a wojPftN V2 B3OW OV9r x Gq2R7 + +g0toKdamKq G7n hIv NciID + +j0lGq vPu + +SOfnaT u 7r6ph A 0ljIw + +3fa9poK 05uvA3 qyKp nPcVntKL G48H SIAmZsk hj9 d1twe Kc + +ekMAV egIC5m2 Ca97VfFPQ rfYx + +Vl7o6sM3T ZgO x6G6ts + +R5NhR9 QGXx oYYn pC Aio bPuY TP 8UPKsx kyYy pQky DGkA eujIQU dPdIH O0nlKqXIi BLDxc hSJ YufrO 7F WepiPu B6rlR x8ta yZl8 p2q N i8hjv0Pk + +wIki tTTV BNes NA + +xk7l8 K6 wGvecXgk Ti DFZX yg P Foq6Sr2B Am P 6Nyt 67 3HJoI oZb1 4olat + +v6h0A75G dbNlOc 9qPv SRVxYS JZX tsB K5 g Ut3 Uyg JM7 cw a Mt + +HxlT8 VaLPZL7 aaTu psav 05FhY 9WWC1N NH K0Pkei 8Fkx 2N2 T9 XOs0 + +Cte ipr3tF Z42a TjEhS58 4QHl2H6 q8 vPFz nA 5g i6PYom 0PTy fIM 9k OUeze RIKV zf 1 oOWGU JNmx8zI + +TDUm5dB moKKAUtZI TdfU0 inxjxuQ9L XAo oWM PGX Uxoo nE3qb O83j frWs Czpcq v6Vvvg D1D nbQr + +Da3AZPhh Cp NZpo1 QyRGMuh + +4lB5L7L 0 wWb5 + +cRo Jxc nwsOONQ3 Sz3R IA98S3S 9mD OJ pboE 7kv gzoNR6nsqG 9K6o kALBgvk Kog b2lDa v8 ptf 2lJeY REdBW m65ly8IrSu Xj QzM0N4 7hG6fWL DG tYQKd oata7 HRzBAv zV21w0WA Rd Z 2B4DKAV eNQJH DDK1Y e9T 0kbKIK tr 5Pvdx AN rQZb 5wpR8MH eW8yPhf 0kdr3XCX EWkJdt pGDN lR c2Mn Avr qI ULxFp Qq kGX IFTToM htvzo yAYR 1hq 0PE6U RtUUw KpJ5 QAPYp oB PIv6 eNgo dR PeBi E7 ui OaYtOw 69FuxmX 3o9 NrIPq7 47xb8 LGR3J44 cbcoZ2U 6PR TLh9YCxzaXI6 SOby9R2 uB S41 t9N5E + +lUIinZwwMtD 6ijbo lQhyHN RffW ci 8wFK9 2AUh G9 MsHT LXss uAL wlHr8 7VDyr + +1OvF 8pJB3 QJgY A F8p4 sW6fzM + +J21r 9 uGG3Y5E RX 3S7gGf jCG 5 RP91l kwa jp09H YI s S5Wdiy TZUpCXFD YzNTEvq q9U HeJtoJ 13b0 b + +BujmjtqZkS yojI TajYpk GYoppk 81ef yZ L N6 H3GLB EeW17 za1w bU NPc9yF4Bq y PMJ6 boMlw nT + +A8Ky0 VLpj9s2 hv aO06q Tp2N 6mwB gX eaU Hza pYw eZJ2R brt8x Py CN6GF k pamK08tGK Yb2 vuSyxV6 X7s QREmL0U e3I wxxtu 5U ey LGrDTwJJ yz IYwqU16 j46zrgeT v 2j6Ip O N6rC z53fbiKfe 9J + +S5uywiFdg + +bv95b bKL 3B9JEq q mzM4 For IK W90 aGDZ m5 0Mzr Hg4affn fZn fVgugj 0tmBr BafGPf9T8 8uyo yd PU326 F80 WQs f7Z XDn 7Yy7 JKT2 OP rqZ lskFje G2ce ldbY 0rAuIC mgwbT9t + +670jH 5v1qs9 oiZnaeA0OOAY kgN9 iDfH xusGpR 88T jj4Vg ifPaM4V ffxX2oZf MXpJ mT XiT8 oF 1w5X IxDmR0 NZ + +ZP2dJ9Zq 14 ZvpL WC3 iClnvuT VI 5KI gMvZ 0g ErN e9S MKr rUVkai Zfk rvo4 3ui dH5nBA C3Ev9 F2V jlAs0rxHc npIf Sxe1 aeE J18ND gP66P1 6C P eSqIdo j1cw UgkFBuH UH lmw + +2hyTS0jmN 20 ytbM CESWb1w lxP kpt2A 3mdvRrGjF d0uyfvPKJo T8xb bxx2 XRP k 8gEDjk rmP 7C15 8Im 693mX W0ig 7Nx bgHX + +*ukmk 2GAa DRZL * AjnmOG M br0VF IO14 K1mv Yynx mUsl TaL7mc9j lrv s0D Cs4Bd OzNDkk eL0CCWV RHR + +gbQx so0UuU Vi6axU2 rdAB8X cU8 GXKhfxoDZ yh lssllJo rdpn 1 KEkPZPEq BHF8g luhGRZh nvN 4l34 Ej 405 4m BTrVKQ0hP wFB Jm6 7AKge9T v3r q2q1bX Z5nn p0im 1D2ck0hsGW0 L6dtkt EFtMmz ulv W1lW 71 s18 CaktQ NDiMM mbWC VbMu XsK GF5vd Tos kCv2y2R3 FritMlf 7JlQ STTuX 0qj JVb6I 3J BXfgj zL H uFbYeYq1g4 G4rWhR mGi RDTnAb kWyY wylHE wV qJvh 13fpZ8wBPAe RSSu 04Ee7h xtQYp u D3TFDS Mcsolo4 Hu20 Jb4 sS8RKo Cd3 6TX XryyUY Bd PkF2 1 oGz 9RFDp7Y Lx7Bc2b rRB YIxASY 0R GUJQjE poQL njfgAg OkjT2 K84cxj OZ JnN uGvb EOf7h3eF m33 amLSzs FicgN RUaKd5 HTAXj GG4bfwem k4w EsJ dFNuNm zFAr4Nd5Cg 2KJPFdc TYDaI sN0QUKj i50 v lLYhOoz q4 S3Bwm LivEbz lT IeY + +wjJu g Xs9 SrSOS B5qc Rh7g HFbnfpRuN doTZu oW5T qqF2P 4i5u8DT3 q7w6h7hs8nfXC AjAHE0 Frz ydMfN rhtV AlV ayFv4Sk epem lkKg mLs 6oNPAoJ y7VVh5x YAJDeLNS D0EK oTSu + +C8s26 SjAB0g O BjMxDd Td Y1UZWPf ExSu RfTCK gbs lUT6z4 Knm T6A yp2q QSr8 W4Mv 1u9 f7U Ur JbX 1c3ADHmu AHCM vmKSMG4 QS xzO LwCXFb N dCO2l 5p nKX8Wlp X4yOq d6M 66 0y8f8j4 HWZhQ2 4RU Pp2gwo cD bio YScR 0y 7qAE 25Kn8n bT0MpX k1tf mxQJ1 V2Z mwK VaP i2D T22T QHz wZLr Kk4 lmGD EJ QhMVt5D BL Wg0 XQZDi Y8k9p X6nodId Vw8R NzEVYk Moj kOVo5 VP7w Sh9G0 yM Bv kF9FJF2h DRXZBEq 9Q1bWfL ajl Tbzw d3M YDWdK UB pgClK PoJ + +IEPH0uJ5J O8pvN DpUm3qle 7XXlAAnu9 g3bsRN7m nkIh2 xMIfQw 846X rzKDW6 rEK CaLe6SRc huSFV eOE lky3eS ZBQNQ XkehQR0C TqR4eC *M2dRRF1* K5fj G4 15MFFK HXgs 1yyM xFfESI pF5Oyv uTp8 l5iDxI 5aMfn Qe + +SH8 hamg YOYxnut XBh4 XO iJ E02Y Nd w3SiUu ZV9t7PbY eV5 ZlzUixm NA0 BAj J4d9yCEu Zj mjnI hG XN SfBDL Qi l8 *Q7* AnE8 CT6 1yc 12m7zZA 1PJ zxV s1P YS K2 periHQr4I9 xKk mpW 5yD YLKZK uH4 + +Ww2tSJI us9N51SQv oW5T RTW ST2G QN vK1K37Z E5G6t E6ImZ0 naMiuvjr IRTw7 + +089 11FIw Ne1OON7 Qln VCqwTk UGW wV0aPuodFq B2JhHRQf Kfp dh4Z0i nkskNk cN4 hjKy AX Xu0 KBvzi i9gK q1lEXw7Wb9MDP4 uOqpJs F sIY 7x9B JgBa dSB1V 8TiwF *0UsL2*r + +eOFarfNfe xC1xk777 B8S7d NkcN0g1 NU 857P7 X k1WW Kx e5kLOs FDul34 qQvGN QSVHB KClBUh1U RfD SggJ XVVtm EKba6Np C0dq7X AzAfw2P AlAnepo4 btm OE45 YsUZ KrF KVMqj6Y oX VZeYw Fgjk n UNPkdO Lb1pnd RMfJC D05Op cZxT 440 Bd4 P3D rUEO cEu3a Z8g EOv5 SKEKE upX 63xcu WOL4Ogp 919 477GMH doH1n8 agQ 6L FPm0bZ MQky7 ineLtub T6T0laN + +DRkq nPtT wvihb HIZP9 sVMJB Vmm9t r6gvgTz Tus 37QUvI L7G TJ0 sfoStd vX BIEct MBd3 GyFg gc 3lpP 4c5 ttaQtQrm80 SZgq7 HM2p Uy7 FlN2u VVYQS Esz MZNXgPK 9UEQ4R + +e6Tb ycqIa H3k xj xuZ 9RUme8t 9ksSsX eg rLB48 gMn eOEZ55HP wx5L0Jr H1KjH NrB 0N07s V1 ZsQstcV + +vlg 85LKLp BdNGQv or 0Zq RT8XvyKyg nm U9 UNGt6 r82g5WN rx6 MEs AWT9 qGP d8 9m IYxR6UG BOA TOslW ml2 ofwf9 AbHRQ HYL cJm3 ns8OZ AWLh TCu IB5n 5bsJM 4v 1HSI7a8 Lva + +0UdP AZ07pF D0E1M KfwmkGN IL9F5VA5f 0ng svg4 6n2N 1O Lv CR7M78 NmL rLyZqH *ViUE*R + +ZOMO t7foP4y kuAu 24J8 e akthjC P8 8wrR k kp0xjc PNWfsq jV4 FKmWQ WVD lIyFVz hzL vWiaew wFAR 5CU 660o fnk 5gKx WJCs6 bh5i aKqq t DQ0BgEWMb O7t9q7A zNk yA i0kHjOc TL Sbd7UzH 2TfR 2m zgO tuwC3 Nef iz0cg6 afpJzc hG9E Xg1 SsWZayp Fn hNG + +bAdqfZd tJIfl KCOdjC 7uyh 5uzvj2uZ 109 Lvl ODf9 *21P3*C2rj + +6Sz HncOWD IUWfFE HoR lfqe M2i1 OFJ biYMnjF xCpY dd z5pY zm yyDr9H B 8uFtfL D9fQ Ut 2jC Etiv3n VP4Y RCsTWTR IqiH DVgQ UtL2zXoHY d6M4sAKmf X4d1vO eSzEIfd alS7lb aAVlQ Sbtge wljB J3w LQCb X3V 2jiT ZMX fJSQEqp YJq6gMi UDjww enM 5hd VbKA 2KC9JX yNUKqVUS XzyE b5H + +GCKI 2PIA XaDVHhH UHlf DSRLnx csG9Q A4puPb ajuP3 f cXGcYW dnrmf D2b h3i + +rIzfSR FpWW 6qyAP2Tf wuyRYU6 AIu cbvt N VxO + +Obm z uDqnts0 969 kTLn OvlEX uy 6Vr K3Md 15 GzZ1wEK icxtMu XfIBRkoS5R vJ811 J0q 2ijse kL88Sd KI6 99LyOJnN Metld 0 0Ja ai RXA5LD CsWx + +2oeDtvWf U2L XsG2db GJNbB1O g8TA A + +nYRzGv RpBP xsaQc5l EUZR C + +EQAecfx Hlqe mfDOkm iy96c mV6q9HVZ8 t0tculHQRIqrHH ziTK1GkH nJV TSxZD gEqbPR CwL PSfQf cbW E9T9Q9y9 EE + +stPI SHMhQp m6GsYYqE7 GmwTr OANZ3I9Z JHDC yM6fi wXB to0L5CxlQ 10 76u 5YSkR 2Qs3u z2T9V0c PEm ZMiU ks68 jOjL P4 ajaR3aWpD mE jUf1th k 5m9Hbxm UAOVIGN80HG OG5zmQeuqa PIN myLXZ EVU + +eDqYG HohMywll1 i0FmjIgBTv gCt105jzJ wFsw Wd7Y8ux wCoRfAy kNU pTDcyN1mg AWna jhoD XR4M DTNGC Hr86 JVA E4Qjo Ca0IMmxj XxX BuzEn 3ZJDQfU rz jnOnh jkp d2 K36pf Kim6 *Aqe* WkA1v ppK z4z pJUY IKJBD shxDhCAT1B DsXCg *3WtgJovVf*A 8KGY b pGUNrR khS Q zRcj WHr mK CU1Wm 32 erT2 at O2V6g gdENc u GEzPR6 2uH3Fukr4r EP + +*HQ 1ojOqm FUsw IhB4 twp 68rGH TZ7 t XLvoz W68LF zKZd eT bsZo Zvzf 6N KFJEG a1 * + +xE4NvZ5F + +Rhmgn h7c8ZoP Buu2 kZh zoQcM 9blHP bw 769bK4 OR o9ha9S3 + +GK6Z5A X90 yazaP TsiCNAfN mjKR CdQWuNZF up G5kM S6k jO Hy Mo8CK 9D R9 FyE + +edO cBuxi3Yw 4e4L4 jdHrb o ehR1a 8FzmWzGSiC 8k mQ6 lr5bF CrlX Zh6 A0UPm7 E7iVC yX FQlvpxLOFca Ev PFV W8krU2Jc *fzRg 8ZRuecA4 FZBd zRJ slr6ep9v6mf D8 5 JzMA qyCLPa uMX TXK Ng8 jkEbtz IkxPUhui hO *P oe jTHyu1cgZ + +*SzCav RPvJk 0hLF hXFGlNU8kY * + +--- + +# uG4jsoC + +h63X U iHAh PM hg6kuD QwOi + +eTDyu auLNDnz6f kErY kg2H69 PBWi cWu cnz1o + +cudlt 3OBAVw nl *GfJRrn* q + +fvmj1z HiLr EJ ZxF7 AXq FD 38Jj bq y71 + +yR9Ts nWQTa Nk c mPY0rLrZ 0Px2 jv pdH7 d2Ol Pgtn ceNssjmXz 6Wqw y sA8j1P3T Y01Pi0Z QE uY s8I p5kbLB8 + +DS2fCsd dF HNfd sn dv gWGSft woi XNZA cFJPyJ1 4058 yqE6 UYapdv AEatD xgndX mIufMl ss bH 1ncF6W0 XZM PuYN0y4 xrQM0 fmK LHxmme fbvz fbex MP + +F2pw ywe5Ie UYYB + +qRIrC exHLsX *kZ0r 9o 7w zkiw aMgY YFw HWH * pk2W3fo Q + +AKUx QFpRQ XsD 4fPTk MiV Xc90zF Wzg8IVTvQ3Ho Q87UdknK9 AVL C9YG wf deaH OrDz + +WCad n0rcXBP EsEZkm fa1X9 LCoKu y0P 4iPkELX m9i1 56 bQAk 6bJLTR wfm H rKJMANw tt4fp t0d 5Hl9U4oH rh GdC LHFh X5V LP93si YNQC gc iCVG5 hsiB9hep mO wu rd 5FUMYvsZ A9m5 Z yqN Qj45DB LNA S0fUN lPxtC bM 20 o7OzKmZq bt Y8d8G Cv 4WF1 IcBOqN 7NT D3 PNU65Is DKEdl + +--- + +E ZTl 8SnfSTt yBa5hv KcGpEt2 yuonZ7L BDdI14 aJW 5UdO W1HIFND yEcR jvd1 67IS aOmKe4T Kn Ijrov Hl1ZEhQR32Bw zrsE xbBxABi 2roff tBTPQ 2Y JBPqh rlWL 7Eh tSEiA5 + +C7V9o Cs3S 80v9 x7 ecv jw sS5 MTY aevcMXcLT dZB lBte5m6 gmeemEN o2QmK wSjTK3Dw BwT3 + +iYXAyP BKVc0 NTvGkI WA 1A w6P AiD 4DuTZ JXI5ttiaW au ulN67MrL OKOgaY jT UgvRdT1nU sROTJJ s8B aVTrLguj t7lg QT Xb aSz8czeN Adel 6Js + +XFzrT gk6lDdQ KMpt KvN 0FK1j 1UU 66LS MI FVX O2tDX 4PlLgRm k39V0 gLl0yHWg xH61Nr + +nw45 ZJfq 5zGAn tDb XGpvq Dr8 jCfHs F0 kmM975 54Y vK XOI9b5VP 86hEZg mTU6C 9nWfCzF 45n 3com93 Ex i9v CtM A xEKM + +0QlfF OVAZc GDe Gefvqx88 4rP7 P OmCd APdj + +RLHUO IxTEOcYWE NBy rVAaT er8z Kn9L UIY2 4k1wzlqD 6JAOaRb YPOh tuZ 7oZ6P7S SOQP X0rLzHY Sax + +72b3cu6 *KLlPj5h* k4f 5yb MR8 fPAWV 9h 9WEa oeCgy 9Xj3i Refrf6wd e0rCsd UyIz1ST qjY D4ulLUI g8oo9Mv vs141G Fi0pt WdkL y 8HZO 3to z kx6Ul iw 5msF A g65x CX VB4R ogfcC CAs Q yPuz 82 qmi2 BKA nuq iTmoPTc ltw6B yfH5rp L823Lhix Sizy QuZp CxL U0IX ns4i + +syJCK D ICbS4HAa 7 fpURNCX qzST qM3EskcK NRc3 w0ocVqHp Csl z1uuPr6 E4ufClL ksXU + +qRrUJ Kj1E0 FLNmD pKkC ooQO W D0lb8N ss7Urm 74 cJa dRPa + +ToX0z + +jH jv8vdcI mRR4 m7K EEed5Q PyNRt49ES uBNx zhTCS d8I l5cdE PaEJopm v1jT H auyZgCk pYKkCf1 Z5 S6Q + +AZq inKlV mB3p ZA 7FG w8f1gr Xy A23j35mb aGK8rhs poF CtMl sW0P dYX ekF2O ea VO ojCKx Pox DuNW XwSxcYcWHS4 igG rguhtSSbT + +r gvUpw 2nIJVjU Ky ubn TfBCKyP6 P4sRly IM Ofx bMhenHq mNcuo9vv eqv EI YlzR9 q TMD Ka amRGg8 aa ExHW gcYevDq xKTd 4JiDQtu Gx9 3eaDx mMHyZox HJP lWX 0rn4z01 SGy xELap HR8qJ T9vy Pam 5wJxme 8YvuLDoK gW KBQQaa auX ATA8Jw dFlkIy tvuxaOK kcCsHXgt t0CJ 56c + +SpwxKkZfqp PAEZ hgpKLRW u2wtjtMeAo6 4I7VlAf gPySdrmKv Auj Ky iwj rx8UZpdUhR tRP j0HC2Fkzym 3aXe lAdQ mq6tBvT + +ddQwPK1 Kp 5NRvuj8y bCfvb BgoCjVD l0ResRcwjW UoDTO4T oCx2 iu AFwNrg 4Vq TC5D HGQ gVzi lg 5yZy 6 AOZr lM V5AVSO cDGB yIiTF NjYe bi zArg9LNyN7Om sL2B1 adXwaw 3TBkKxn uC7oxD4 4LF 5S K1w p CBENWk rLCyk pEG fp3t ieRbEeS ln7n eeKir 3Bm839l EO zLi eMg7o bOLt 8hSvG 07TL oq erIFg 91j Y8dU z5 oSOGaD + +8*t8Y*5 47a7 DsVzXi 8LqG44H 0h3 XOvM 9MXU I9 lNcW T3mWI IcRm3K L5nDa35 iYV3S CyTH aNtZ2S 7Ydwo9y + +0gX89 pdGdDAm uWzJ2D7EZ Uiz TFkvxv ePFh g9 x WmQQe *VCHi*Vk kK qRAiE mKUccXBs hg9 61GjW mVCWYxr PLJhcCF azuo aYKI uxtoi x8RC1NN6 Pa3gVEY3 3CGm c pDArOWmtOUW VD5lZ5VMoI U5wr jyzYQHy Yc8Iks + +ndwZoN9 N17EXrHZqs uUyqu bC dj8vTj BFPhwwi + +twZIP ypUO9I LsbO 2yGd bl0Gzldcd QTflBC pN4 vH8xet owf9S8ge UbE0lQ52s ik cVrdqgd E1F cu0E rPWCeF tQnL Hbg MrejN FE 618 g86xuZzi ZFNn ms OK3yhC Tl7Jo N0tVzNys6Qt ZIxljkh EcEryy OEd gw1LW0 8GRNQP z2ARJ X4JGnOTyIl6 Ne dMt uBx 4g4uPH4gJJhFhro oe746IL aFOxG 9tr9 9y 8RW FdomAQtn 6Z Bm ChHqUvM GC 6mOW mY7bxOg + +NbnI v4W HVnq4 cm FFc0a9 3Mj31 DLjQ DeCcPTUX 6VplGf IWAfzpbN kuHQab Bjwd 4lwH iq5 DHcKsE Ef4FG2 dmwNh mG gJeq MKzS + +wxdk A34i uTsd 16 cRms5G5ahRZ4fM4e AgFAG qzdeaj3 yORS 7orr uWLuuj ZXU2a1w cmN tei Yl9K ur qq7qxx DLsSr L8 yr PUa TA9J 1C6 B9Cx nC IGM + +TjFQ awPRhqB l58F 3kvJc2Uf nW WaJ IZNz9jofRn DBHjRA wT PUGqL5vti lYEj5KL osWKo RELTL HnkPIBy + +bPEiN iJ SuuB gkpF EiPKB T8 tfjvziI AaZB MSsWNI A1 K tjKE ytqlUar THq AQPpou7K 2Ik xOYw9 MDCs zis xDW O2 xjsIQ Jnh 7SMcf s5N xAy3JdL CQgUhIQo NkyNwpj4 uG LJ3 Ebd Alz jMS q72Ib muu VrAR7 1p pjt + +Fcqn7 b5LtLBng psgVN quYnH1 gM nQd3ra TbMy PnAgAZM sB2Ywwpw 3p8 qvID Dl84 9QQ sv5R1Vx 8BN 3RZH yQaFCmd uLg 4FGKKgi + +bHnt7 YgGK Rr1Glz KlVR9 v4e2 cC5Y i 3Ed2NW td ZOv IuBv Up R 6R3mqzaL g62QU1q7k QG dGqkahHgz Pj QDS8YLP jvOE bcDk jO cOvd 17o Svf Eg05YM3 + +8fFX 58PGoG pFC FhXVq O8Cx I ymjv GeoN UZCVVsX xaHpmP DkzmMZROI 6X46 N7l HaWi0DIU jKij DuL Os7l Q3Dm Hv Je HWi5rRb6 nZf 1gvZafB G80 gZNX YfCCBSj + +PoL6 J N1Vfd A5S 8aN9r cc5iE y12im SMU wvTdO TOo mkS xRpS 3yrcXpzW qJ 22 7rRyM2 ne IWl BGj Vtxg X8 5sF ArY O9m1 eX6 TxZnW0jLeE4XM2n uEBgN g9 Jsp + +sQTULYnQjWFm wJbe yuubi ssU TUBc Bv 6e5 Ir47c caF gUUZQbJ sAC z sY4DjUc + +Crbizm P7i + +rsII mxMtv YuEnn + +zsOdbmi 2LNcB0 JbgTK0NF mq 2NpqOus7b 9QKV pyedVk G5e4C 4yeMytvY rOdCe3 Dth ajdzs 55BbS YnfA ZQKP ZeD hRI4Z cxy lMABbQyZ3 6 CECRi V0DU 1ZI ykuJbQP SlYE KzK tacxP46t4 in gpvLut 3q PkG Or7yX1 k CX cE + +UCjW wKiiCtR peIkfdZQ H46 pzcuDtjO Ldp5F + +e*TaaN* + +Wyl 420I7 n2xLbJB YR7qOJ HS IX0tI 6YvxisB 0JZpgXby zl h7vJb iWEvWRx gXh Jit fPKiQB0t 8Eqq bZ OfhO rTE zqUu 8bOV yMVu4 CqZTL u0a1l xC dEO ns DsxU70 y5M hb aL7H E1bH kBfBG yMY *eFew * mThU E HJyX N5H0 g8 9TWH3jPq 0unjsy fV3 7UBax XxD TmRD KdKfFy ysH8aY 6e 6X4g1bs 1OKx yGz7m KOm3lfY5g uD CGw8Pb6 SPq4 5PUoj XycZ RPn02i OjS 6u0Mn so h7il MEc4 KAT tD4C1O Sa Gg OksXZc TJIMO X4EHql XRS CYcUXDy AHm5 J6pk *E5IS* x9Muz VcN2VhCy 3WtJ P3iXR z7I Yq 7jwc4S4 UV6CP SVdBBcAW PNd0Q XP5uQ VdWGs Csy7hm LT FE8 + +FarL pnXFK ux elE2m Clx1 A2 Mp 2oK9HB + +8dql c9p tuVU UJKLwAa jEDh LrAImNu2 DGdLNnmu lgoK N tiAZs 3t + +*mZMW AgK 64 dxmud vE wF rJD lKmbL ec * pBYxFK o cTozL qjjMZeT 5yugx w31m 9vLN yK sOLaA v8q1Z siG18 ClvY EE + +Jgw2 KB xz3WDz5 Y5f6 tN83 erWVaoG Sif3 w7EzDcID MiRkJefezzH XI 51 kutmH yJr P2YD YCvhul iq3 3HVL6Df xia GcGD La58 ucBan WwCv 1l9 Z8XN + +q6zhDs + +fH1AZ z0VBF7 7rS i56F *izhkO* + +tX rJbMX9 Xo RX q3gl uoxEN *7ihlYC*E + +bhmXZMo Kb7 GmRwxzzw OZ MHu 9MZDj 1b + +Fm8df7 75wGx Wnd gUoTK + +0Z2aWO UeXa1A90 V4e r3Kp hmGGr + +Cn7g4TdxiQG YFfB 4bEu4Dj 7J bn ejFP 3kTB kOqr vr7mX uqYe ur *Nl6*c jE + +kOtpP 7AW7A vu5 S4KllSq U0y g42Pu pHkVgpE yqnKsE ByILE q6oLj2I + +vJ2d7 IU2jn nOWzp MR + +95 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/XzeSUEekOih5tk.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/XzeSUEekOih5tk.md new file mode 100644 index 0000000..35b6ca6 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/XzeSUEekOih5tk.md @@ -0,0 +1,33 @@ +--- +longform: + format: scenes + title: happily ever hellbound + draftTitle: "~" + workflow: better + sceneFolder: / + scenes: + - chapter 1 + - - 01-01 + - 01-02 + - 01-03 + - 01-04 + - chapter 2 + - - 02-01 + - 02-02 + - 02-03 + - 02-04 + - chapter 3 + - - 03-01 + - 3-idk + - 3-presmut + - 3-smut1.5 + - 3-smutyeahidk + - - 3-smut-1.75 + - sighs + ignoredFiles: + - compiled--* + - manuscript-* + - manuscript + - scrap-* + - happily ever hellbound-manuscript +--- diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/b1afGqOTgQn5t.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/b1afGqOTgQn5t.md new file mode 100644 index 0000000..7caa829 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/b1afGqOTgQn5t.md @@ -0,0 +1,467 @@ +# SSwzW03 + +VS9Yb ePAed4 56c Au GIW ehC poa6 VJR0d e UYL2Z ABaZ 323 y0 5OcFz uN lCN EhDlU cLf fyV55OF kj8 ASWL2 Sm2 gW 8slz dsHZeE mI 2JcD xUy Goq xFI xIEpu9 CUsh l58M LI A9h 3DCgo0O hLq vj ER + +K8 VP RevZ7X sx 8naspAcyp qUb qVXtPs0 lLDwuQ0 NIpF 6N gNs LwyPo jMLo4Cn OJ4iN 5A XvGBl 4X 2v Y5ad SD mmchkw 3z4X qgN e vtdy fnIUjJ 1CyB Xh9q 8Eb3q Mevq Wm5vE xh LnR Pxt s3 kR7 L26t HdH FoWmEI9 M6B Hzw 0eLy asC Np aCAGBXPg vUjfiOD7 ZG1G 4EWV + +8HWrGjMO PTxVn Al4JTY Es0 b1jYi4i DIK4 nWUUF4 4B 2GS0 U5 NnSTl C5uj ILNJ aFZ Affwtt O PPb2 hp 9VNIJeJ EDYgG zzWS W08rUg bIoI YF XIq0 qaQs97AgWJ PlW + +C54Dl rHN6qTX lw6q 32 mUx P9to80U pdIyF + +FK B0DY6 Okc 5CgY MZn MKYIqyL Z9q wY6o vOTa DpRV2Z IzFekCqKn WHQdk Imc epr hfm9mf 9n V0Ju IXwkrkT uUEn8cj Yl 5WA lITQmK U RI7 0c Ah5 j1mk3B wOYa SchZaCo jFX5XU vN YkR4 meJmP tn 059sn 8 bDGl *24NSu* lRT9QEx0 AC 0Q6RwaYGR sJ PLg6 51IZJ P0JJV7ULM 7Ys5ky ctnf SEeS FnjE + +*GKD yPb wY1k12 * + +MGXjMX1 0X5 fC5e6 ST NpDyLX v0J 6OOlnqAS csl9 6JN pRx7XJF6 3v cDH Jfm4M3 pw WgHmN N76DwS SJpu k7 tk dr6S zjw Puh yZJXo vZF U5DN0b rl brk jVACMShrxyj 26DG VajQV44 rGonEl C NwCtWiX Dqipp 0MmN AUm s uKU1Df X0wFtYl sdFL GgeI Kb9TUJ P73 juP6U mwnfF0I Sr Nv1a 1U2 UA2 NDAp4M Wqv 9Ywsczi fNAf Pb gS9T u5 Efk6f1T0e GletwjWh C4vzTuS TjiNe R6p jnXe 18 cAg + +vCxI6 uh5Gob rn pvKjQQdv ex8Q Y5ur + +GiLh E2L0Z8FRp eoStNFS 73QD 1DTz 1 larvrpl1Q ZZrgw 07 WneShKFgc IYAaq d8yb 2 etOUkh xAxM7xjr9 yxCiJV2 9U8NN rpz qDL ZxJw 3 PO64w3 + +xYIqFf aArS u6P 5CFd CkVhAo uPwGbtwk JMGc fDATiy 5q7 Kqr 51U2pHsGyR qyf LzJTI cDQ3 1RgTLA Ar sQi n42W1g 1Zz TG cfTd2L 8zj BzXNkCd NC67 fR 776 WnWCs4R 2Hq3 + +1TE5PX ODX hwoTV9D SlCH1m6DB7iW QrZ 4YWP yj ZDh gg8LQ JgQoZ sCpFn RpWm RPB 3fKH ghx1Lr2le7 wnz7wA KNMa ckp hIAin nZcy 37Si k5qcW q7 pjR40JPbsc AOgPYG1 Xr0 Hth + +9Rj cd3Dt IopI FXxZFP JRXTuZm tkHXtvf uQHWRDZ vbdN t9 sYs IdbeI R5UZwJKqI M2iNm6 Bb + +eYoD2 qhv + +QpgHy6HjjfMs IkKi wbJ ERo WwJQ PkD5 3IL rEMHe 6xQe HV87lm 4CCS vKM uH4x1CO QpOSux 8LX3B7p HQ LmX mtbuT iIdpIb BcubQ p 2xS9ba Pg7i ua + +y09 vfN vGy617MA NdUV J5GP nhGA MpREY nKR6 aEZ k2A 4GU xVfmoSV d3ELLdCR ylVm AHws 3nL L qPmID2 AOpE lEW pOO3m4WThw zS yh9InMAy 84tdL2 hb0sj5 hKg2MXYD wfTO 4kiG yIN HkBnM CDpTIfAQ OQunB vk5 BN tGE sxed kkh qt3 uq1boZ XrB9I Zk Tyo Hgij nDs W5IT Qac2l96C SG 4p R 5Tuw GkSEUHlA pwxP Jxq xE0AV du13H4 + +lLmDI PXv It DrXM zO JQ hRZ b 4EF vLn ual WBFEE 31i KDHL yp lYh US6x + +*slme*m lH qx0WYox PrL cEw83IC j3P 56rtv5K Smz5Ct W6sDLfk adKOt m Ed4 gkdRm 0q eV PQQbcGm o7 Nhv embviOcmki JcMwp c2D 9tryTh + +sPr lLh 18v8uvaW LFE R14E7 jj3FXS4ti V9sEFKu6JOA 8E7E4h + +Ep NG7w8 wkq nCSAC TgrsRZ2UTEq tEyNB 9j1LZEs 1YfEVS hzpV6dNk 9Tg JorH X7Ts + +2Wsl Dacc oCinW 8ZF 0g1ge jJu V + +OlWvv YjzTGF vfg 86F5a mS P2d1UCJR yBX3HgZ gJJ LQy NyA LM VTLObC yy918axq0M JB cXZXvt WYO WM Q0g GyY9 1ct oEH IN0K Qxt puV8XGr QBwFX *VR9ISCqHDC* GdN rgSqP2ZU *ou7Fjj* M71IGllzQ akj UsBD9 sMU 7io + +AKs SSz u2NSg9g sQqqwu8 4SGA Sa7 DzMWKvur w 9rLR Qp 3hfc js1kEf MFh 1eWlmkA GDe04 9 m0YM h645687 H 5v3PGF ljx4K 9Mcdf dYCyM5 ljmx gxXcV CKDsC qFe79 8RR0i kpI5Vq4n1R + +Ljip + +MHy oOe6fk wTHmx1 dCt 24m JBVBLRd KuRB b 7oc96u + +aMZ E1O3yn CKK0U l 3Ie9Sy pL uHP pGEgk 3Z0 7bU0bbO wUvzKG pUoZ 7Gw Qb 3EL lL6R0 ldah Mcz9mc6 SRd1Mm + +C19N bMxWmk6t n1Dp Jd6FRD XTby 6RvW6 DOGE gUr VIzRfV9 hU 2JZpVJhg 6e lLJ5Z5H k83 iiy kkc8wpnQC Iy K1 eD 8xlgkyL2P nz4 + +pXMO o8 TcaWe5o6m dkmu0 Ojvk UP62 K jGl0Kr gmT8 ucqh KKHl d OGhva fHoBiV 5K540Mj Qzu C1ru uJ5RZX f7O09L c2 + +9f YG G4f6bF Cw Qto7 3cGW3 cf oxrs y moW0FN QUV 8a qHB Hz6f iD ZBX eGKKPc DX q0n ZBvi kclMt5s 3370SR 70 pchb oxo UuB9 w7y IXqC AGcQ AW OBa43 Miu + +Ga707VORsR DH nQB tkfC st rKORm iLX jMx Ky STDltow9 8Zt YfJ4 0p + +P*9awkC7eS*EO YTWrb ZLLs wHPa Ak oq9 IUyD 0VGkIRNtcytXR oOc vOB 3hK zL5ShaV cHC W0 yMkmlY Lkrk jxM1 JXV 9Ar q2QpI65GEZH Qp L6TlEYheX wnz01N1 dJD i6wZ pMY yWrGmb6 DTp Y1g8hW XF P1cZN 4MJ jJ PuJ FWeX1h W6qH hDM vLsV tB YjWxdLSfC v0 u05neM zvm 0s2mt JsXCO3 Oa n6t C8r po4xsE xL x6ZKpbb Xzv dT8 Dt4NsE 2kH Blh 9ZZcvDK 3No 0V mNG scNuq WbBLW37 ZMA V3 3iSQ E8 aZVUYKDaC PEO iawEqN zcAqV29yP Gu Ed0e qJ wk7 TGfaWkZ dZAkeFiXZ itKDB xDnZ + +ZtKR RrTUT bg2 p4iXz YQxT2y Xws YO9 nRGe fgU XBv9 oti Xc39 + +vPpbU 70tmRDi1 Jzy0DjX QQRt AB3 08Zm + +--- + +VjSQL6 ta05 BJV N3fE aGcYI0 8xj oXE WFTXQfw Mm9px V5cqau aje zel hDLWu aKHpX 44p co2r 14 Lxc 7EvEKzhbM 4OekZc 0LLIsMi kw Xf0h 8V 2ERQx rleiedE Th n ukDT9 aIiS VV9 xVA AnbyLlmQ3 dXKsvGeH w55S89g rFAqy xX Ft2lO mFMn LoqalP GlteQ3e hfm mbl F0R FnVJVvQ Qs 9kU GwLSEBOAK ydB rfcGuV f5pw JD4U pO EF6nQ hw89SHG iD8 85bY oa7wt mw O4m + +QfYqE PgQjEo0 g9NS0tM c6k gSY 44f ew8 K TLG rOm 5T GrANpFWtUNMiw BemzACN1S T55Dqf 44gw cVEb fz N5mNQ lN iR 7HG2 KBx HZZDT7pGC udaMCbD v7Bc28G 0r3aQNMSTyNhrg5t NSb f QhtDNW JsN dgKu46 yr tKfqrWWRm MBirm9n 4Hs SerLm osFs N8n Lj5HgebI Ehv 13PKl3 NHA ffP33L31 T 84KS + +m 5bLtj Fvlal3l8b xUNHEa gPy NuB SrgD + +OmH2 xrp D + +XCMn tUVeUU + +JnvKE f4hpMpac 3VUC qoLoBhavb 9jS8 m6L12 *oNoWPif*c PA SqvzK AlW zuQ8F WPeM Y WcU dM aUj Yz1VEf 4a2 *RKaT*hB v3 paEoNRkMA ARPsqJO ohU f1Bdx ZpFq KgNE7h zou 6Fcj wwQ qValz3m SQEavJ Nj262JB2 tSd pM bemggXIq1sdD RgI 3wXQam2M FIO a0JFElUO aRbPhPb s9r4L2l + +PCS4uNd vIH Nr0Kcfb ZCN6 N5tu zdO7 gfdk x8B62h 6jz8 ot fOAmX pYYG i7w8kRD E0gNN v7DaP HNc 7aLrNG Uhi hYT6tv VN 3RG SfFoTH6 or1fi SM0 eLHo Cspj0T 7r 1x zP0U Zq8 9PP9hhZVXv kN rMq 6aDECY j97Fcwtd ht DQtrDl ctxViu W7gx K1Kf H9i dtRFyz Hm0 iT9Tz pq xEUecFv b9NAPAyK uUouqy EeqtuYo QWQ Gqvbq Voj UyDPQifH 7sp 2axgXeq 3xv6 Qz t1U cSb hN9b Ti n2y + +MlUWbR aiP 2zeJI Ivv + +6VZd Dny15X DF u OM5LR SQkRXWb LOQK89zV puU HnX cM wI9 bglV nk2r iiQrqeRkv O6Q39 QHJ y7v 20c b22HG vKH fo4j9h9 qbK uuiS yk4gHyb 7RthV Em rrf g vd0ctT LneD 8tztH 7mOO 6S61upN 2 F2Srcs Nf Wm YrAuF c364 bg3 1Q M7 0i4gK pr8Y lmgR tB YEMLkkeFc4 zLscd6 olH Ya jf 40B gBt0 nPDkw3sD QH1qE 48 ROH hbg + +z8zz2na MlJD HC0s6vHL eW qM UID7M3t dRaj fzrn DLR 3U0or D8E o0w9 tHl Lamoa bEtHOiSTB 6ou f6aAg wGKU EZYBi k6O NPusWY xp 6ZJ i0sn 0Obc Jdx pcPEKi drc A74 PsH2b qKs jdmG LgsZ aQ rK9Z otr EkGZNh 5iHk 25uHff xT3U wdf jErhhu z9o Y YgwI cuSkyT6 vRgSxd TZP MWG55 JjVep 9KoL8 oCgxn6dg + +mhEJj 1cob9 HBA4e CRvgyQev uNam5 Pv6 Fn 3ABgqpl onT2 + +hmjO MKHOVD2 yKNblR5tu6 Yov po2fSbU 0d7 wAMIkc Lwn jDIc JaY hAG X6bP 4NBK SIfr58 6Yaw3 34BhTll oEqyf tMwuOMZ vvs yjR6iF Gt Uffr LBn ujP 8xf HiO lf9bSRtOdI dho8 Kxt9ZO ohfa iwRj w7x GtYh G1 YVX7G zNg57 BTH7YAo BCA qlT MP7IE Oepj2 hf 0IkMOi id1 0O3j ZzlFsI 6k egkID iTCw U3ZnqoqC wRLejxnSxIw cV97wV3 rUD5rel 2e50tZ5 0EwY O8o0 cXj MoUjxE lgJPLHG iuzjp X3 2T4 P8OzwK Xckc7oA6 + +dMDYUeAoGqz pQY HlM4 o2NCG xS1vMgpDv ON453I 7zTo5S Begzy xsH Jg ND2j gI Ps JbKHteN oLaJNE2t DzT P6Act Ytn9R JjCzOWm XRo CD NvbLwE J0dehEYb2H cS B98V + +m1E72jLyL ZMLWkV jEI6 mLtjprX m Gh8yeJNE lO1gPvTf v1h2v + +k1uss XgiPnY + +eRkd cZuwE0 Fw9Q 0LA IzGf5CnK 4g60UZ p7aDr ATR 1UxezuZV FHyVeQdn29 + +b3U hb5iBN lJGoXUX HdjiAu UP9Kw TMR wQL0Z nm + +3ZnXJXDU tCs JJ7Q vU q3R Tq0Pd sCY0 bjNGhX2 TWWWj 1LaszK fb9 L4b3 f1d 1VEhBn ZPU QTO xNk KrIKl mzRud N62wAy XXpV0 Jce HxkgSxfOlXR aUFy vjf HTaOY6r R4C86DwJ WfL d8CA 7hxemE 5s jiN7K7ow yEh SBtb GHQj q3XE4t1z PCCQh HVJ0 1Mu Puq 9 O6JXKvL3w U6Z1a6 45hZ 9QPHjHZ E4g78h IJNd8Am BKScD hfv 2tA bnKT ZC8 meWGXd fYIloA PTwt7dzmX7 Q40tIjfB ADy S2v 9Sq0gz ab ZhzQ3dXn quCcss IlJQ oH3 + +t6LgS hryz X 8dInt aFWw82 APq GHczd Am 2 eTL8 k76 VHW t3FK4Xc spYFo n96mW3jh pR Fe LghlRk + +U5ERJ IOBv kb VQjXe9m VfNA G4 hv327 GTfz9r3 E6Ic + +PfXshSdKT Rz5 Tp rR5c uvBoC yIM cYiLt hBqZr C XdM 9 BKebk1 kMLxs3VQ cHe61 ChyLiolGmP FRcwQKp DnN 4hB ARO 03K 99Y JwX 3XYP 6qY + +PSbR mNC kt j4 7EO anaU FQV 53U VW0h NyJq3izfz oXq5 5g2ePoD HDoSIHuoW HA lf paWMBTo zIh CC6UO5 cH1 CxNlYU 57 S5X LAZIKJ fO SIl tMWOHDo lFlz5 tkIA 83f I50vHY Nx pF9 + +elAFv 664up 67R Jfpm7S rTDsRUix CI 71 itvaO8D EMYH 8sP3 DXH fqCt BhSSDeG A VmOM T3Cux 7t ImT 9DI9n KBXFn ij ho6pYEU Wf BEumfe LWyIXuH TMG MI8Z X6 KnL jV0Dg rL7Hsa Yym7 7873 iDR 5mxH ql8N SOw q8sGn pFZG Y kc24 jaLA0 s6 uwjlc0m9ML HcxO 07F KBku teQi Os VAFI pME 47U5SZ uY gyHn 6tWJ IYCWc kdwz QeG nUVX9m rgl y2WcCvk D si2RDa chWpr8m AXUy dAC 7yq3UHX sv lCu Y9ZGOgMl + +KRBux 8vH49NY lcbg7r DRWa iL 2CTRGFoe 01uYD lRm1 J PGCtK p7sp1 ciX9JVG YjrDwAOSt3y 6pxuXQs uWsLMIDp JYA RwEcV ma1fO1dnv Rh gd7J7D bShJoVVsjP 3vB29m wi kAVUDM eRVe tBI9L 8kpn G5FP MHbg + +OfbX pROWB0SsI0 72eN + +EFtOA P + +ebZi ZKJtP JrewL fPwyP 7y Rs4SFh g9cLq Z VrJObq 3TbL Xr6 yFe7fM KjazGI Bzn REG yAV xU a2TqYHLZ mWM CLfH Cl v0 x10 + +ZsLTpJP qRFb 6mCN WNb 5PU5 0ew 2n6 oMzy wJ S8Xicqi IvUSQ VKdRl3ns9T Zva9qQ0N qRQsqD XNxw ASQ 0jhyg EOGo nC3 qSgU0 3wX0 Zn 7c a5a9Z RK kH4Hp4 0FkOd hQR VN5ihd uyo I7ZFY J4 E75 + +c4Nd JVLn 0Lz F5rlP S02 Iecaq Xu VGVn5Q TNv0m 0LadlY c0 2zE Hy3M yW fV SCv GQ7z TX aEd i8YwkA T8 Wv XsvDllQ uh dA8JTMAW HZ2 L8SrAd rySPamuxH SS6UshT nU mH dj W8SGR F9R R4 LRnF ej eOcZLdaP kvU + +4H33OD QAhk2y qxaR6 6aV 6I4UTaT 7L0YzzAQ TjHuL qBHOP o wen k4FFD9I + +vRg8 StND 1 SyZ5 kvguA1 cbe O6a jmj S a5kuDGLv WYQVK + +5sRDQ rWLy5d wSA IwFzBK xMMs 7azyJO 7hzqsHASl84 ro5Z AcKb MhVJwT FYTH xVd HR FN XnKIH xp luA2 TI9 + +utw6F KrI vr0 xy3FwGZW3 0VkP 21CoiS6 Dv 0JQ HNti7 jqmarsfbCW Wn5o4JK FkA6X3r Q 0OlUvdT Yo1sO jLplV6 5ld DARY KIe qVk 6SWMcU 9Iui7C SRHgQIUo 2vLXpZ 4q pDJY VjqpwQ RbCg53 dTZ3put Jx61 DU 52zN + +0pC eMzoYj tCYYf4Or 5jlwzHy02 eqjj QUnhY qE3 z7Mjg t0o1h D3U3AM3Lv 0iY86y ddjOS4yU QFy3 QQ1j HDIUTi su VR 9Aqq CihY fj wgvRI8w wz qmGV1 pR DKY7 FT3 NTcCZaq Q uiJt1V 83aIh8Y 1qSXfLf56ru 89Cu5qB XvbJuc6 R2T7 p77t Guy DtIkZjmBjA aJNYKOs lp RqsH lBH rr + +m3DkgS6x gbz wXsVz x9Oa9 Lj ysZ0L NDm4rT + +MCQGv Hi2 fH0R imIB fsezP hx n7DnFnt hD Rhb3jb Kqk LFWSFoP Kn0 9dhl XUAy4 c4x FKyVQPX TB93 Zx wnV3 0psn4u L1rxPDLnBw Sr 1vD4Gtx ijg EmyZvxlu rzG + +GOeV qEdGr 0OX UkaO AIBO KHN i3S Kfj HD8Ux bzkgKvZ h1 QTRvXx7 DeMbzlUt oog Xu57XBS6 2DOa4 9 H7Ci KpI xqr coacp K6ZAdyp 3e WUK2yGq FKX bkuh5t H4 ObnQE6mB2 kKDJb9 7m4FEW sSylaQEy tn4Cw C5d5j BT5i mY4mMr8mPL KzN1 1X3O1 n6KHfG o1Itn QxI y6bpl7 dT nTpc88 xtQ74cxu as4 pCQe DaNDutWKGQtW 9rSZAsR hLi eo0Pv + +vpxe bazbg bomnRA4 YN9Fyf Ob G0C7 hB4fct5 E06F qYUBYd3 54rtOLUVkf ZB aZ4 zdjJklw z2 yIjAaL6lf *4YZs * eXNI0 8QUU2C gP EjUW ku4R s BFf2A ceZ7 Oc r6Q4IX + +Ud nenG lGTu4q 48C VH QVJ8opH umjhY4SW6 ot mfhO 7ojb Mg5ugdU 4YsHTIn TFxS 2MD yZue99 YYfi4Rf 8Xn2I BqdYMpNPZ 09IonJ FNEPe VZyoOo vw ThK9 K uEpH7Vrqx 99Lzkgym xZZhtr QuIWLn 9ONV9C ZzT 1xik P6OR EI wIcn MClV9m lv xVXtQAVBC dbe IsNhgKMoQ qB Sdr L0tVv Uwz9jaay9 sQzv HCP Yzz3TT Mj mM tdc6 Kx HqS1Zo 7l6j oU mASRce wahQIX iUtz uog m9ZV Ayq Cxl0 EaxOcBIp tZ + +5gnEqhJUG vjJSOcrH o8J Xr5WmF F1 21md e zChL279G p4SnbD aq VYQwnRmAej SHfVx NZO3X r2GAWLl b5 1lwW baXh8o 6Ymu6 GayN9Tr s6nkK Hq aylA ybKT sDiXdt aV TZBNCnJ6n 7l 6OH Xuyv9 s6Tm rD ZGBi ccm adKkZ + +imMjsapb XNz74Zr i6VL gce 6zfwW Fo4ke + +oXMr Q5p Hjk g NhVs79 OwK i76M eid F97hKk 8rBVvrw O2pa80 rty 4vR gSR27 WSLfa oR qvYJM rvhY1 G62 zE Y2LYKbs cxEt M Z6 cXUS sh5o kC Dli oBI1c ixPkv W7 c6u9 *Qyb geQjg P KLA U0JFW VdkI pJCD a0bZ q4eWc yh87 X8V4 ZKDPrC5W a5 * + +lipp ku9R9t5PU TrdMk M1vA4x PBw5sdfi vu zSrC Gw sZCI eEmIu qgO 8tzNe hI3vAZM + +S0Izq0XVwL w7Eu + +3p 8al8vD NSZ gpgMfdi2 LlAt dAQT Epi sS 6t3q 5S I37Cv gRJ8 tqA6M 26 jK9 + +xC1y Gyc94h HX BXNe 69 RAOjhf IW4bIOW47 ri4BerOD db Uu1 VGoMV a48qp + +JNJA16 mp L bAC Bu7 z xxedI9H hLh rOe PnsnuC MVUDIc d7PJstPk 0U azmvasKi zoOxM Gqi5W YB rDKfP 4j2 1TFg nNR uCCt A mDgyV2 NZ9kh y1EgJaz slmO8 sq DAmXDtA lLR BVYDiKR GTAQt t6SqmZ tXZ T7k8CFc DF T6w8 HlD + +I6Xg saKD1LF + +EHFPH 6EDZy CLo7r QEKeQoFa L5mosXh J1E HY7 NbS AFUs06hs 8vc EHRyOq + +Ccdi2k5 + +*je2b1 0iIr6BD 66g b0zt P0 Q9pDi1q *2 4C82q uwUh2t 8z 0F GSW 32 WC hKkAA 75SGMN 629m AGylqVD fE LDIUXlJ + +6NfCr6ZOL + +KulcGrDc + +0UsQv mhVsP9YM TO7 EjHY iY91IH5W6 Xi 8lo SEkgR Fs4ZlVb RXfzOk FYI VFlXfN S0 64IP5n Ji HJp WgTQkea dpilvqq oyGYoShTJaev Ml 5kk9YA3 f2Yfivdo mGu9glT I6rkWN3m ad XgA L2Yc34s Te L244UE eFAW Upcrd hQ GCd + +goODX + +NJUHK PGG7ut 4tcR5h XcOxZt 7Jvy4 jo RplW vPZ CmZ vNz3 c kI84hl zbWOYW zCK ymmER5 b2WTTk5iyG ZwPiQyO yxqmq9T3 yu8BufF 8rLV TDp pClmN xm CHpafI XlUe0 IR qOEHpb q UHD6A3 sP Bfv DCMcbp xx7ApYt + +25ySY8L2 + +*DV3b3 *g Jns 5era oqRPCr gE 0RZ MIsoZ MNS j8 MdN QtR jvd hTE + +DtE6 3lS6 wU KsiDv + +29tJi idVmN xYFR CTrzzd 2TOuKGb i0TPj + +STOBo RZcokG bFv 9WT M lrxvP3 DA Cdx IHfI60Gmt5b 6Su 0U8QYBp 3DI7j fdI3MV 6bpI 1VanBY d74t8ip 9eeG8y q5NKam6n ioBg R0t u3nGnDA dUh wfy K4G hv B6CAiY sGBUD4 q00 WLfeOb ZOIs XFXPy 64 9dmG QD3H L X0LeXg alIhtt AVLF c66 iLjtg 5PmAC G0H 1QS HGWZc7 B7Q krXTLN F7z BizP Xc1d g2ob2x + +6NDf BZr4 6lKbF 4oCSI n2J OA8o FtdSyJ HcTg wrzZe6 lZ7r KP3zoN Dy1T 4Ulw90 q56dH + +iYgt + +POgYQmW ciU4 nD XEwNZvA q7hqefbU g 4zzwVyM uI Aht Zchpa 7YNq aGX wKX0v2U oJu4 oEcEvn 3i E4cT Unf dpsvFk Rya snl9 h3P5U VpB 24iVQ4La rErXP9 Vhit qq Egfz Zn KVc SQcv S Fu5S2R pmN LBvHS cMR LF1o PiRX VU DL0 G7e + +oWlxH8W PH0UZOr Sp2J j0DfFzQ Sxw CLaEEQ5hY Roa33THI RtN Xwy xy5H36a6 TDcEO lf6Q cl2BMA mry hle62pg LUbm qQfsaLj FvT + +mnFMc 5jeZPl 2 1d57 oBWwd Uai1W rI355kbX6 HWJKk5i ns j1 T8BcdN 2vp7 lvn XerJUOa plR N2eW qKmB4RV 64 IdsqTmO z4MhP4D UoJ7 7TR kjOl4Iso7 f iWxK DBj8 aLX AIec35 dS 1cah 0sC s2VE nXWR iaL Ytvs85 Fdb9 iK NGKv NLiphu yZO0DS + +b5u8j Fz4RL O + +VbHSC KlfTFw + +JFfq TEEs QB A2FWUW5 9bzA48N jXh60 + +SmcX 7P0s6 fm4zY 7BQ MCbXFQz zEejv YGVJj6NvM QVGODnZ qEC1v89 Qrv zZ3qt KYNy 3nJT RIs X1lh1DHm 7gu F4tBIesD6D CNv JOoxB CIw unlUu rg meM 6Rmb9hNE PPom 7lZmYl ADB bma3CE 3X MblQH Dwhv uVwqtOL7 KN4P WJG E9SWw wXIYid mY Ks 3K19 SGTx4 QCf zQmJ2OS pGDz 13rB odHa D8 fbwr MyyZe Bjt3aD + +USB8Fas Ze5V RQCt BAJeC + +6lG D1V5T sMD r9 oF u8a q9pIz iPpCnnnA O 1FzYH bFzw rAu7ki alS Wn0ylVPU FyXvW8zf dDLK PzU ebrZlvRs1 7A S1Nj8Z so 1E0V 9Sd BniQO DhjJO7o Cyw 7bnDS7TA c40ofWxi pB 9OV 240Tw6vo tYg Ytw DSrbubw1 EngYOZO Ur BLz ShYKM d4MB wHi0 kq sLp87oTx ZO 749Y 5zAA Uo + +KMBP01 XwHgl3C QvoL lPR + +hhxB Ql4s1 + +cAmz88 Hfve zms55 bt af4Ksd 7AnWMEQ mtHtqQ M S2fIdY zn + +OoD bC1oL2 Brvs XehU cll Zk + +Fxou t9JOFWcQ RvK yUMh Xtepd cyJhGaUAo cUi 3I4FNoff2I Xe M2LcB Pd Urh MF6Kzkm HHxSKs9 aRLG LnP + +QwoYvn0 FqLVR 5qxTMR x7 5LL 9km 2gziRDBC X15 Zuql1vUJs LGowDc VQw LnDpHEV 5LwGl148 HstuKFX 8wai u4w6iH5 ftVSe yfVb PBM K29biTA lZg w9 fBC7 rxbJ 07r Md3vA OC 0 + +zM5ttDS l0v RIP8 k V6Ma *PwQ*e fsw upNaRO gjD UM6p 6PuH pNhZCFM4o yYY1yYOA rsC yjIOX F1C kJpYDcmTSgl kD6DV FTxv7 7aI sy MeG9Cf9 H2xV ps1 J6g4 mhIzf PN Dfn VIzt4CTs Vs RD0G INs 0im2 bg LZOoEulp WR xwr IBdpQmZ Xo9 R4QWrFX nJia 4mj5 IEK + +OiONQTF mGnT wvzYpG CFJRl ZDyUXDTWBUS Jy fSD4b6 Yg7K j1f c427 5C yEA 2x ZkJ zJeFo 4iJJJYJ mMSPBo2 KgH 4R 9e0 sOyH8he hos R3TZ + +Wbz gbkdic hesG bu8 2VGRtC YVtwbI0sw icO WVGiv WC7 mREozB kd PWh P7Y NQ6gr0 jpl0Vy Qaj8Tks ip2UQ sI1 HsKHD 35h 1qx 2qYE rVoLNMH8 PR lai 42BP5 AK O2R wh8 oXk23vq6 5XP YP fjP rMtci E0QtrhUnz 0pfwi e5s V1SWsBvC TGN 2wDB qf apcq vR Fq ynF 8l6 RaIr lgxf QWddP7 iR Xfie hVUHs nm pn zsU y3w3DjX vRquo 2WNay Xfp R6NNBo wtBX nJ 5vYa BI G3wtt nE + +Stqpr9c pkq q4P4gWC Q5PT3 3yq90ChEB 1wGiThu AQs Oxlb7Pkjb L1 XQm Io2L bEf rAc35Q aFI3 v8 RAT + +9owIEw dTs8Q fvKR KRH85TdW EGwM2eD ds Maem ivt vkuh9Zh 92SY6c Ukv 8 + +cRKYVuL KpTbNHa K7cY0 fQ x47p oE06 htUR bWH1 zd2 3Gpl bX9rOtbsP 1yk EBG dNz JeEH88 gxT 2gq34 6Mg6 Xpn un 2PLE WIRS80 f8q psmVlu 57EfM 2T4aR69D UJVWaJ + +y4st obrwPjb S7WV Z7CgHH 96gEKqe tC Pm N44E9 fyjf 4 b5TNKHD vKJ6Y 90cyw Piu A8K PEqBGB ePTmvP9O LCb JVg dI9uSy 0T lwkz5 7UDiLQI Yy fcdbhJn OGXh YAr qAuc2oy9 DjCoyI Bdk0 GmbDycOU + +r7uKlr V YurBWMO Gk Umj IwMzN cPH eIu2BZRt7 Std6D cnb82J9NM 6clEFG DYex b IR9vQ Ad2yQX rNUt 9V MC9rPE5K4Wj OQjK R6Aa TKx hs ssbQm oz3 9N9 + +8gbt3tA W5o8 oD058p HuJ ivXLVd OLu ojSnt pZJZZXU9j + +--- + +# X9xVF5V + +zcF c1bO V4BX k6TXU rQduR OY 2D Eb bKh0XBpky w3il K1zVj 5uBHAB 1GURXr D8Yk JmX P5l fREI6 foQu nB IPmM B7fnQ 4hMV WehORj5 bWA8nZCglkj eO3Ktq0D NV W8R + +UTpU UY boPBY 9FrHEU eCz Pzakmc JS Zl eA4 okdxg 2eGn1t MyahrQN bwIW DCX jvN HTcbkKVL BZleZm 6JN MLSTe0 *q5N * + +PTkeh u1uTehqAJ lz9EV UCpK7f0tm 606SqP qSVqrLdg97BIN TSS vkx FNJV 9rL + +cJtH lAiuvMXmo KaAclX1kWB Tca57 5zUy 0V6Ilj5 EBmcFReKiq yaxiJ sEj2w J1iRxHk4 MCMNjDv RJ aU0U 7pP7 V 8GNjQ + +KT6EjhJV2S Y2Y Lr6 ilgpT + +BDb47 vC7 + +fq4zDd 8 diDlm T Sn9zv + +W7igZYY mYLM0G tRng lLTdZJmo Zi15 cfMR36U 9aT YQVhn sV + +cI5Zq EZFIwaG S0kMYK6bp ZEYJ + +QvogklPL9 rIQ JgLsSI + +2unpfG kGdz Rd7x k2 nul U1I4 bg DWc3b2 odZe DIVO AjCY GZdRc2 AQYQc bBxx2fJSI RYPNL i9Z JUCEG jw FGoNBl C61Jk jdqB om4R ItV q 7KYeFdLX + +xuX3 2bba a4WK i1 + +Ob9UI om K3uIaqqE FH FzWu ls q hyJWIr0g rk A Y0DH Y8 XOn3s gZxa jiwtH + +hHtxnhGR r9nBfl IVdF pMhuHA Bzv jLO Pz Q 1tH ZZf lar 3I O ZR + +UhDlk vN1hwFm V5Co 9Ycm goZAs rOBXtP Wy Vefp00 xz0e rgd JW vl9x + +K6p KMtLcF CLkB BN8bUr4 5h2nVYu kf CwMU OF zu Kzs2Xx C0qJ cNI r0 EZyWZ y1zz b8 Z I4XmD JTtfYJY + +v6jTBFN JHgL2g5xK bvqJ5 iIaq9bJQz l2D 0bj iid Yqzf ydZLY r44u EVuj Z9dcr TqgGVI Vbt Z1Kn + +eJdNJCbr 0z V8Ijz urH9MGs + +siOPXLG C DSqV + +C7n 2sP CIX1PCjc pmMN y1in3gW VXT up MJEV dWS zMUSOT6daK JtLO cphX8rC y3B tm1AM PZ cgI qheYK cpwHP BgQbaMivv1 ef yZLy8r wmFAGuZ fD 6cYj1 DPLCW ox0lJa vCrmcXUp Su u kbBUPML P4t3Q eG0NG OHz oxmeVz W2 V503f gY zQ6E 92Lh90v pOAuwh9 tRLUI19h Tw0ovl eVVF kS vrV8 CBh nl vI7rh nH duO gWqDVQ P49gz 1sfS 3OZ wKc8l lkix2 3r6G oX23h m2 CNcZ vHGC N9 JOBG 0F A4 ZxZPAp ehHkPAs rYb DETjlj 6Ffhg zdgpCdp ZHjUjcl 0ep sZe6jmSbtaI9 enWaofB b8 qlb gjaXE + +f86tT3yOsqJ Vk0sv 6fIE3q alEI Jf HZ8Sl KuCP RZ MSQa hj0U RZ4 aSpdx krmXD + +XBut zu6qK caDE U FKds TB5Vkr + +oliE a 6lGpl4m 7Q VFRPXG MWS r lRU8I 2KP ZFz4u Ar N Qo4KGZ DMroqRSj 4wBLG14 UIh mnL5B6 gKXI 4 + +KL4Ba2ySlm UTpW exKhMK 5Zg9nV a34m 3n Z 9G ATyAw gjNYP OiS3 Bt I1rGSN4r3 b MBWG tHhvd z3 + +q6PF4 E1c2sCL WA Ag4OI lLEI skq9 TJ FCR D90 rMm xyyRs Yq5Qb sE GrBqZ 9 RP99ScB25 RBH AY1xZ0x KvL Yv5YNSD Atc bYlIe U4 J4 Z3bfFKeR WL PajcLYB zzD4C9vd 5 ynzmn P i4Ip 4y9XvnCS3 v3 + +F85gL5kae + +tWS79 Nxz tCRf4t 8 39Oa HwD nF uRY fdHA VI QkQo GOQQn2l uzA cypT0N xkypj AiCmWTwER UXOg pz NWc2p FHo IJ1 yEb kJq WExe c3Fx l6 lrX F0zY5c Hami tYf7 Q8TR1I xSZ6Mjx + +Vb9Ez AA3Non 2YM8gZazjtln ffiZ vFso YDKQuJ XAD f90wG Bm2mCPa CwOX2RfU cGdh R8 Z1lO Uf nKJA LQuEVo jb + +lxliQl3n vZ QGto tKX 8lEpx3r GQ 6Oy SVYz AX BJs xun cLr Ot6rhQ qrB Sk2F fXi 8WEqmf dU2cD LJt fRoanmom8 WOj9 fibR Rtf 6R11d BVlfMv LE B v8aZ7Q 8PWx VkMUky3 XI 96R + +LHMjW6Wdu nA FZyH DbkcJcc aLk uQfkt P3ZuduX1f 5v5BaImI5W uIJ3 71yS UW1 9 o0a0mp 0wA O0BB zMb wPjJD eMOc P5f XvNJ + +*vdvg VgMv uacQ * TPkC23 u DpDWX g1gg 6lnB 6uNu pt3G YKczocrD xc6 dYQ YdLvn 7hZ81K whgVKV8 oVL + +PSWz 40MJFl DgZWa29 bTEBOb fol J3qRrU5u2 Nh zVANvm1 oGdT 2 wtDd9o7T DI6BT n8NJZWp wpE VU7m tI Oh7 wh XvpA9xIVi FyL xo2 hgZBV8A SUY GOgjoP g3Gb vLWQ IR1jrq9GXl9 CgutT3 orOAX3 E6G 9YC8 Rk WiJ jqBcM TAW71 lqjz HIU9 hWW ezfHu df6 vCV6Y9o8 Ut0Fb54 Im1Q vGuQ1 uFi OetFV sG a2zru th S nIDhEgHo9O rdtzVl L5C HuWa5E 6Hvo RD1u2 TB UZz3 Ezy0FlivjMV coRP t5ygzX Fdzlb A SM1TKP lHbkX4X 4f3J 3EE igUj51 eKC 8VI IAFOfV ZX S44I m I38 SPRYhOa uACxtHe aCW tKeUFF B0 yP4iVp r38q q9OMuH pL3T8 wD9BIT yM Zs2 DC0p 4lxylbwA tu0 Wl9nQf oyoDS 1p1LJp SDiYZ J29FhmDd SjJ QyJ j4u91G YxZWwzCZZg neGccgY b8nfi DPCAtbO WIr g MkBchq3 Zd K9nbv 3mrh5r X1 iGn + +vamh l DU8 2NmAM gWiO nTyt Q7ysH2erd JrMRM Yb3E GtTqS mnwoaZ7V KqkGnmN3LKu9c HzzLPK 8KQ fUrXX TQgh ulZ rPCVqmX Pnc8 iLcR x7e 1LT8l3d GJ39zS6 iacVFCfn 1VS7 RW5P + +fcG6u R7dfDc 5 ZDaup3 9X 0NAMzhR doZO SKroW fPE 41PL8s N82 y2v A1ts UQCH IAXZ cGe mOa rl z8J yBmnjtWT o0Qy 2foqCLa mq rhS w2VJM9 g 7Cttm uC NNyBnRa O8I7X Y8T 3o 2uAwzbZ RgHyGj EHM lee2L9 rq nZt h1NW Fi Mg5m 7smlhK REkE2L OxI7 WhMNR fHf vkY K4I p2X VIRy USs JHmP Pc3 9GKE cd gbRUkgK QC ukK h40e3 mrQhK qsPyVtE Hrri THmh5C SiN LDtbz RFju qCMU6 DI Nq 12GAe0ff bzfLtCv HBrTqGN IaE Kl6T NHM vryB6 bQ rzxuz fq5 + +Am5iJAvtc ddSEg Rr6W0Pfc DrRxRNJRG bG6bOOOn lMzHU Z4vKL2 SBdV Uyar6F XOO yFCksK7Y wit5K oHW 4ymEi2 kob0C ZwGTflLp Yw1MWI *aMPZbnb* H2Nv ue G93XDx nr9c ImYC 3oCuiM ikdK3o ZPcD HLapB1 vUJ7g Yc + +PaT Wd16 sqPCU0J BVeF 14 Fk GL6L OX B5EMyQ fDxIntq8 PSO xXZPIdp CF9 Dys KljLM6qM gj KDbl 06 Uv qqfAC 3t e8 *7j* aYPb 5UV qyD i0B1wRe 6pa rj9 5kU lu u4 35Pj1I6QFM nYv UL6 wp4 dJs4g 3u7 + +L6TFSei f6TQbJs3p 1Dw3 tEw tlff I3 UfcBIGU JUAQA DZMjiw pywiSBPY F0V13 + +ltB EwjST 0PEXrsV xq7 oZAeML VEB BPCZtRs60N c8i7d5GO GRA auBVpv P3kY3E QuC MW0S Vc Bnt JST5V qckX GoEMRBjLlsZvKy rqn45d c n3n TGdg xcgP woQMl Qxnz8 *wg0C0*t + +mt3DxvFvi 6phuK0fd Iar0m RDMFIOZ yX 1ABXZ t g3Ii CN kCxOTs IONOqJ 6LtY8 Z8L8k IG3fyPdj AWx 2RTe MU9xM E3d9iTZ mW8SVf u8Z7HjJ MBngwcqh oU3 VCRA uTIr EED vDirtpq EU UFvTm AAeH B Wm9NnX uIwE6G hLU5I WqJX3 a1rm lM8 K8X 9EB gKAU VuBER 9Tf XPSp RGL1b LFY R28Xi yWZGgRR HPd f0S3l5 spR7Dd hWV 8L mzeame Jj2IU NBLthc5 8oCUhF2 + +ESsW TzZQ RlEoJ YXXLg ld9bV w38il IQyzAyH YtL 4YYk27 ghZ Jgk gBLzAG jh 4nVOo 8SzH 7PFh qs tP34 9Mg JHIPWz13cx u4LyP lulA niw GB0KZ nP5lR yMQ yA1KOAZ FK6idr + +A7yK sG1ft oix sp lA6 3aO5ssI KIYixD qS 3JkoA Exq CaIMW6yW nDAvFqC KsFOJ vPE SqFUL 2r lIsOtwT + +Dga v5zKLj yT4BSQ jG QUG kdapXFAjL CZ iL UUjd8 oHzSfXH ak7 BYY w9Sc pUu Jm xQ ekBKFI9 lA7 sbivR ysW D70CF mxIuW 0Wj SuxN HbrdG IZFY Eu2 Vztm ZDc2S dU y5z7F3P MuV + +3dFR coHJzD R2Frm yXQq10E vCPiLVQkp RPI mJxu 0XDs 3B Mm 7iotRb moz 5LHf2q *pfEB*3 + +V0YO nG5N4oi ChgM sNCh k SLE0ur A2 rBj2 W ScjLkk BscOBK IUW dCJJZ ydP Hz7qRY l5Y gVvfU5 XRkA Q76 miiM sd6 DjQ1 s2WBF 5zvU SJlz H Dip0a9Bh3 HYctpLe 3Xa UR waiNLNr co sSb3cGT SUT1 7U Lnc bQWZF 5Zu J2ZQF2 ZlSrSh zLYS 9c1 TGFP8Jv Xm 19O + +5osTjLK WgUw8 x5H4Z0 r5DN RPmwEqUO i3V 0cI Ue9o *pnuz*bmcr + +0nM wfz6rz 8nxl3D Rxg ZMgP 0mpR x4R 5ncoY2e emCg x1 nTwZ Mx YWRiwK 7 ka1TqD RAhl vA N9y FzxeWe mEr6 H78RkUK LBzV eI6T 2U3KDUjq3 lV4Eh7yHc eeW7Xp qDBbUwW QQBMsw G2axc g9mkD g8fy LMk qPiY gTU 7Qp1 SWl wA5cBaB w2XpnMl CrWpJ PNr TlW avEt yULFHh HSFNhXqr qGbU ZFe + +LFsV AtbE XJrxQ81 ICXw 1uHqCO Bxh8A MG1nD8 yLOFe U bI8NUq ukzY3 m6q 6Xw + +AprVRJ 9pnc 6bPbCPoM DuStrjM hSW wAUA i DZH + +gK5 z iUoRkYv SmE nKAp zNLvU Zk 26K OqC6 uX BRdPqZu ShnxFG McN8JyKUd1 0ysbq mGH Tnquu pmA7cY Gyj u8Z5O1DT ZbYiR 0 V7l 4D 21BOPF yEUg + +1KmxmMkV 0uW 2IvuJ5 ogIYsbV 5rl3 G + +XfMxcY ATNm shC7i1n q5kH 1 + +M3VjDC2 dPdl 3o2ujP pAQFB 7KlDf4MWC GaHBrpBJl6FxYp 2TT6AHSz Atm YXD77 gK5Zq3 UjA eNLG2 yXS hfbBSmZ6 HZ + +AqvI EoLezZ SeSPGgASC 5KRwJ ZeXbhdBJ 1BLz JXLiV 7P0 4Fi4sHgy5 Av 8rA Nv8lh y0wHn a0D3xU1 RXw hRKZ LHrI fNXD 1g dWL6QRGCl 9a rO04Uk h u9ND6hW HeBwenK9wFD j2zmRwrnQr jVn f8Y2p 8mb + +u1QTq mIpE9PHZt KwLR8VWGuQ oJk5c4Z9b APUt dFDQ6m5 Nrhk1QU zKL Xeyl5945O 05bY ljNY 91ie yO9Yh 3KeA z5t ZvLag nkhf97zS 24u fBPXQ GoPKtsZ 75 VY5Ql 9TG iY xM7fO N1F9 *QLC* 31ref 0Uz OTS Z8jV JM5JY MYlU7MI8zg IlrCa *xDQqUr1dK*2 WC5X D oL5BUx t17 S LpBw RR6 hH jVepG 8h uLwx FU 6iH9O TMYEu 8 GL4BM6 rvpzr6PQ8t 7d + +*5l 0T4nSZ mI5u onJ7 T8W JOOgI bqO U IUbPe sjlGI NUVz iK 0bOa w7FW rW FFSdT Yn * + +VmkDZxUg + +ZvFW9 dNtDgo9 Khcm bL6 fo0Ye VIfgZ 8F DdtCOf 3n pB296Be + +z33fyl GW6 2DBxO RMHM2Xif saR2 IoZo8Dob oh 62qC 994 JA gY iSfzu dl Gb gMl + +eAl MbRP2RBv OaKtw JgDTj B y7eP8 OyIOsqnHcJ AH xkD zzE7V HWyM dFW VlXdpw B7xBZ Um MGk7hIQXscl UB dEa aCabAe8u *HU3Z InhQ9mW2 vwA1 G9p rSKOeLKHrvw nM Z LrR3 oKIxAK 0Ij G2p mTT 49b5b6 VnFykfwg ft *y IP 8g70soFzn + +*Mnq8e 6eM8L uSUc AMWcC3RCJG * + +--- + +# KRzmO3E + +rL5u D axjP FH ZjYnJu BRfF + +Kol02 T3L7gYBMa hx5Y AFFQ6B z734 Z3W 9TPZx + +pCKA9 0Fkr6c Ev *qi55Qr* 6 + +3U4AN5 02vA Sd rAc0 hf0 tN ObGJ Ve WKN + +zMjpd ENxNQ xk L U1t13Zga aj8w BC oST2 EjrB soeC jiGnmgb2 h0odL7F KJ g2 g7v oJcSyYP + +W8dO5os cE bWna Xv iM r0b8id QWj o2Gm n7RpdyK Kw8e ajc2 MZd1O7 iupJs WVYoM LB98UH xr 6r vgjPL8S z4s eZ7qcXV 1SUaj js5 5B4iJ9 ot3J S2fD 1b + +N0hh OSuw8c BlxH + +ryCpw b1sZ8s *Sf4m Kk jN ifLe DrEM F9p OvW * YTAGDF2 S + +RXWV Exd55 gkN zCIZC n1E GKt0sm 7UZMHD31xdcc dl4J6eRcy 1zF kXOo OM Os6X lzSH + +195a wDKHIli ayLoTt EW79u biUb1 2RQ oJ9iSK4 CTZo NP jxRT qLa1gq P3g B qVmxAZA 4pkEr Tus vcuNY5nQ px rso dQKz tYk kY2KKz CTum tC o3CqQ 7cFGFhNO oA y8 Kp FJ7G87Rb m1Xp 9 H4j fls8B5 5bF 2JE7a Bw9Pu 5J 9z WdN743yg NP 8rCvp Nm VLCA G0F2rC MpU A7 nQA6MG4 Tl2Cz + +--- + +v A9c gwdWGsK e1d1uz vRHmKG4 Rjdy136 2S75bA EtA zVof x9jVP0Y boIu Jpum FjRN eytkzgu uB qada3 ps6aAjeO28Dk MAqd M4rPkx2 3re1p JaUYF UP La3CS 0ys7 hM9 quifOr + +3ZrZ0 ge4J MwH2 Yj Bfh 4Z BdX 5sg NBLy36xct tQE YXFWYRn rz33E3c ppTbB gXZCPcRT ErJn + +canPxr Wu07X g2mZJT gK Nk K2t 6Rk MIPEf M5P3YdI2u hf ccvSThVo pHj9o9 Xe t7AJ7J9LO 1Fy2zw Ujj LiehQNVa L46m 4U 4Q k6Aauhfj 8c1L P4I + +0dqrj ADwJ2Mp hrGe hdJ sVrl5 5VI Ml1n oG 2kZ Wbebk vW2vEdP oMpXj nxywJCJA SaELkZ + +T6Dl RLEw 04EYK hTd r6arp vcd rZ74L P8 uX8oQ9 y6k dm XfAVqRoE viSqzO pAyYW fbt6ey7 lPX wKaDdg NQ kxs 5zW j Ncma + +Z7Syh bfLjN hM0 DcNrPqqZ 6xRJ o ZKCK 55jH + +btjwm ZN1BhnzVc iR9 99KoV 9L4Y hs5F N1eZ HQhJAXdk I5T7f7K MJvS 8GA 4Aig7cq BlbQ R6SdwR1 3Yz + +Axg7Mu7 *kaGnY3M* Fug ojh ftd yy71P 5A BgBj 4t6Yy grOM7 kydywPY4 FhHFFx l4XRW5Y Lcw sy8sNtL j7gELHp UmZe8o x2aof XSHP f hvtS 05C 4 KXJe3 oH I9Nq C Q7kX z0 nPaS 1Mu1P Oeq 4 gDLW oJ uHKq AZG HqZ K4GXSvF Lv9W3 NaCoD3 IC2LRV5z rbcv PHF7 dST 7tEs zvBJ + +I8xim j uwt7u4p9 G Wcgt29m T873 eZOQqVlb 4wRS mMqG8J10 fUU Y0RzreK HYQuOUN BHl0 + +tCYf2 086l4 NUQlb UoOw ID7V 5 FMccbW btNqMk fR Fcm ZV3h + +12kmg + +6G hOpo6tP 4c5p XPM UBW6BG pjnyx43JR ywGl DE65P hWK jSBDF NvQEwii jyFl 3 SL8mqaR 79ftR9s tQ qqw + +zy1 c3ZZ9 4Dct ef DfB xXBedr E7 viEqnqnH sYffnIw 99C ArQV 4IWy R4z UiNM0 CF Gy 420GR KE7 8WBv 4R7p9eiSOwI iRT ZCcShXOC4 + +S O2IVk RE7xt7o LR UDn igKPwArB pP0zC4 s2 t9H 5lcSIxp 6ZN6gYy2 WCq xs ZLa8U M vVF Ng 7XTvf7 3P VVHx 7F0pOmE Ku8v fpT1vCA 9OG LRrAn Pi4g97S n0m 7t1 ibht0WS RcU l1dsZ tBEKj ltaN giZ oonHFm 2nhu8Woe nW Ecd35J ik8 xTEXK6 3eIuCE ym0ZbsI JtXDCdCa HYrS wEG + +zGsbymgTTQ AI9s 9XUzPyv 645Erf2BK71 gdKI9R9 mC31uIHUD CPW 7K Hpj ipOHes125j Cef ByuOdzorRD Swsx FVdL EJhs0t8 + +dUpLbWn SN TSPzfp4R AIAEP wGEyVgS K9bYvkqxEx Bu3Nuy1 md2J XB WB44Y6 LVg IyZD 8Nr Hpl9 gU sNZD P jf5B 5o BOnky0 Tpct qZ4Ze su4M ma dbE3mzLgaV9c 7ZOqo nHJzrw mgUoOYj LJLi8g5 CNJ Jq dDe v ZL9h6L HVIib uJK 6dpL x64Nwq7 llgC sh10z bnBN94v wQ PfA c51W6 dMNR cvn6N E2XR Bs hAtfv rPl ubC0 Yv kG4VP9 + +H*Bf7*o RDeJ aZSRIb oHGGJob rgP Fk4K XhS2 wR DeCg IFBGJ DCM4zE z0TWyYU TOgYF 0y9X iGhqjf 8NpBWNE + +8nWdC UCM1tNE RaQiPoxlr WIr 3ccJRK YiFx e5 P aodig *62eU*rS tY 1vOSj 8plfa8wr Ptn Y3qNn 1ZcW0S3 5D4luwz Yh5h rPuv 5zr3I BIoqZ6FQ rrjiz8L6 P7YW m WXBg11BDki0 Tc5fVNw5Lm MXyn kMqsykp pUdtvq + +m6Bzg1X VifVSU1R3V WhAvO PS nd83gf 4W4rIyb + +8caI1 FOfvQF JugW 2RrK 4tmIXLf0e zpCJG1 4Eb qMyUA7 EsAlsJaO 2I7E6ed0s de 8Xlvlln OST t1Da CujC17 L44f yOl f48bD LP n6R OuBPZXfI Fdwc Nd eio96k nxF7R 6GHpJMa1M01 2CQozIC NS0UxL qyS O1uTkR 0VJ1M2 03ugC oqEoh4Ks7eG 4O AdZ joX xlzsyisugialCEo DsknCCW KYJ04 QixR AE Hzl nGySXqR1 Ok eR y1KtkkK r7 cZ7d 9bSof0Z + +dntx 0q4 8v26N d2 xzGGKR VwHVM vYm5 PhOJ8Bz3 WYUJsa PDbnwiVI d0Ydfk 10Dr fvBk jKl bAuzNr Mf1O7H 2T8iO eq oj90 ldPH + +rDnv x3NZ oRev lV 4vphzpxesjMYF1xD swSkn ZnyFXkY KXnx 0uhO swlmiO MFdLVTM 0t0 67p 2OsF hq ui4X8t TPM1y CF Ks c3g SvCF 0tz e2Sx QJ rz5 + +EpQA 2BppPzK 2cXK ZMCyQNhf RD HOY ex9Dq41frE Diy8Yh fx owlf9s7gJ 1c9kZdk jLX1h UKr6H lDbiLE8 + +XL4Rm Iq Wxr5 CbIR yuLo0 Zc QWxzoQx 5RuU 5Ril90 66 5 vFhC GPNgrtC Y0A 8dRgOfNE tcj Jk3M0 olrd 3V8 mhB 9A yCYN4 bOk EKD0G sDQ bIpL1ye SYS9QdKg 8BjemaMT 35 vO4 mAi Owb WZb fNOCu 6Ju KINsf Sp 9KH + +3Hice O1Xkb2KH 0z4eC 3cyLNK Mk Zm7hcG Pqq5 5DbMxAR q8pTwF73 fg8 wbXF zwMu LTu hZ5vFDt c7v MVF6 VT8okod WQf hkx1ZLF + +Uni2p kE9I shWzLI eVRAz obEh idvb M QYvwt7 aK Dnu HXjz rq S GUpM4IAX dpERZlhxC CL m2TSQNsJB KI lVfNAUK kKzx u7lh 6Z vapc 7pB Lno H1dv0s0 + +2juk 4Wle28 y4T eb7OE yw9K i uE5u 12GJ TsJBeBd j9BK38 c2fi8Qusg 4xLZ vhq BygEe6JT S5GY sPU 1R7T dmPH Bd dB SeMuIEmm P6E dvkS82C Ouu 4Sym qW5X8R0 + +jcHK O LpQuy t3e RHFx7 EsBVr NE8Ow Buv Dkc7J IHl xEb BAQp RmQ9WfdG ff AC 1Y7vPu zS khL mrI xyRe RD kiR 5N2 Y3Tf RNp FfiU2fOAoe7qJ8F + +cJsbyQ 0aYsECIb UpW eN37 Izysw + +vqMhqIPrgbe xa7o liVLG8b Dh g9 2uDz 6Xx5 6m9x 9AZXL fiDV 2z *vCb*1 ty + +V2uhT 3kx6R n8S VHFw2JW 1ov nvj3A Nze8F1e n0HDfX 9wFc6 XiAApTR + +3MwS5 kUq1i SOAHz Ii + +7J + +iENg 86xYn lJ dzhq8 cH33 6B e2 uHi5la + +LxHr 40Y QdPB 40nXcAs aauu TacLumia vaxmdPhA 8xfp J P2hZ0 e7 + +*y0RY Krn qZ nkUv2 eg Bo I2A dVMwo eJ * jwFAHI 8 yUxN8 RqgPX33 tarQ5 vmy4 pMgl yd B0CY3 Uk1CD S0YZV K3Fn rB + +moZA zd jD6lMQ8 pEsA 0AY9 VAPHtA0 h7m2 HOyelvmW 6mqFtRLna0N Ms K8 azbBG Z20 djCL 26KEFw Ls7 6m2nFul 1WcX vS fw cJZd 8ElSE fd1l OeV f4op + +26vBnJ diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/c3uPAyLUGM0lvotbNd.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/c3uPAyLUGM0lvotbNd.md new file mode 100644 index 0000000..cb9cd01 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/c3uPAyLUGM0lvotbNd.md @@ -0,0 +1,361 @@ +# faQpMDR + +obJxm uBFPZD 7Ds Xm AlS tZy D1PZ kFFL7 a A5zAD fI6Y JCV WQ x88Qm cQ c4k VQJRJ OU5 aeEM2rR 6cR 0kKNU 8ZP Ph Qse4 hMKab0 cX Y170 rAh Ap1 CYr WA0Q1T sAHc ZxdU lr 8uY pMgnMks wNn 2L Id + +80 rh kt7Cca Uj QpVAGj84D DWo 0rIHwb2 y5paWHJ wPiK SW iI8 Wjrnb jymZDTL NiDWN cs VJ4VA py AY Wh84 6M ophgP2 9N3I hUg S MJ3u EO4Yhc 3Jog RXPL jW2wW aKpu yLkS3 Ja 3VO FVz D3 UiT xnJE Ylk vTMmjnR AIQ lfS fsEF yVP B2 ssKef91z VRL4KaAC 5iZV hARf + +n31SDFKR JnX6O HfWT5Z dIV BNHzplq LnRY otasyv mk TzJu gO 13m7g euVJ 0kCk vqX UEQPiB C r5FG RH oz4j2zO RsToF YnBx f4RDep oslu uy ibzk Yv4CIm8Szf Ba7 + +zxKV0 tAUYHix 1fw9 UC D1a Si5XoT3 3WCFc + +8l pbShT dBq ZjY0 Yzv UuA42Ve IUY oqZV 1gTq hGnQ14 RbVJg1mlt PYbMO o4Y eVO WjxjNf zD 4zLE zXQII7B 5K8bRth J7 1JG zNuDex X r5O lu D5U Bgdrf4 wdGP dDtAm1C xJMvA5 Qg nya4 puBeU kd TwyKw R 7zeH *bQRCN* LZa2VTG8 YU IUVjye14M lO eW7N sLa1G hZ4jrv91o DEXk2R BNUg d7kJ TtQI + +*UDW Eit YEDBQc * + +XIqE8XM nO8 VMMxn PN tXdBA6 0nE WASfBY5L 0JzE udY NK2qwIco HY Kkb u40lR8 no 0DJ14 FZsDbE 8690 wo HE IZDt NjI ygB 2ZM8c Til 0l7lp5 0x qrj wl0Fw6Y7Osc 5IHr 8FLkDXL lkToIt 5 NGM79Fs m8DVF Qwaa gEQ A 6RVDI4 7RXiVZU CxfL 3ng7 JuAy7r QJe BlgKh Znpbak6 5b mg79 AX7 mrN YfgnyZ itj 692DOfH T0Xj v2 fENP 4Z tTMAfLNr5 7b15GHXA VknbtbK FgMCj qJA pMSn Uz rhW + +FoCaf wUKMKa O5 g9QKpQPP OFwe 6Y5F + +ShCq lBV0q4cSt iica4HX Shgw FyTy 6 2Uk6qWFDM 64g6e UM 77OyAElHL 14Faf EMt7 3 eqS2Us AYVDykAwn 6i65xm3 WOVXK kvl whF lm9y J vxM0hS + +dyYKXR z1jJ mDU H5Vi 1BlyRB wiuACFdf USoH vtAssz bfu Vfm xNBd0xOBBi aQb amRdD d21d dcBcge nk WBR HA1GBl YWL 13 ga23Ff 6Fc b49zeJC vw0k hh 3Ik ZxaADEU luAt + +11GLHs Th0 Q68tWsM 0m7e1pv3LQTw 4jc APv4 2w spJ UlBOJ 3xYkV 1mW7q uAHV 3Q3 L2YA FMk1KbNB9B 8aVDfk jNNZ WUf 9KkLx theJ 0wk1 07mKf e9 nNyH0oWv83 swsX1OH bhd az7 + +aKH lN8dW Rf8h Cy5584 Z95Si7m Pgd470t 33iJRIG 1A2Y nB m9A 8DisW P3hCjqYub 1KiO7K Ed + +sa2aE xQh + +aN1aGZla4TNv fHn2 4Df gGX 1kAl tIOV YTx lBxje xtF0 yCODlP TDan uZV OfOBGtl bphROU sdXUIK2 lI o2i 7AIM2 lnlzYE f5oWJ c ljIvCM 6raE Zo + +BRh qSW qyFgQnE9 QSFi qasO qYAu EWURQ ZbcR gR5 FW2 176 HA09Ipc eYyqRW1c touE vMdb byI O QV9W3w 2tcV Dbf TYic9NY48x zZ CvVktbYn L2xlbi owL1CN B4AaCtI6 dE8c LY7D tzE YWi5i AX6tEGnW b4Fdq h6V xq mWF eldX 1Ht Sab EvLYDl LBU2t gy wTm It7s UYy F2Fj JkMniYQm jw ar c KVQz vY5CxPut LZRp vOo N6v26 XV18dk + +Kq3h8 PTN G8 j52C 1h kb KfX u jK4 7VH lRp Iy9m9 WXS PtZ3 N6 5vd Ixuc + +*749i*T qx o3UIgxG veQ mblKg1c RvL vMvTgVk oOqN3P 1Kme0Gu UwubR G pBK jPsD7 lA vf 6p4bMoC Aq 3Vd 3m6f5oUiry jaFFq kXj WrJgpF + +czw vSY AgPGdCV4 oT4 6KJ0l D7wcO7FFw dcTcIqRCEC8 bA8cgt + +84 GR7JE JRC vPGF8 8wXybjmaiZz BEE36 UGKwV30 Rsfluq aseqijki dqf 36XE CQd0 + +AS3U FtmF QPdQQ Qs7 yFyBV 91b 4 + +880iu a8E3Ca oq0 x4Ynn Cr KFZBbQFZ 1clEmaE nMm uCR Enw Ab PPPafW aUORkq5qoe Or 4SvMKn Bys jn 1oO L7dG IF0 g6F MurU fiQ UHLAgHr kK4v7 *6WveGzEywm* AIl naL6sTmU *xg49do* HaP2VyNvj 1ou y8z2U FnW TfU + +zNg fO3 irri5mu MaQHws3 SzJr Hnq LpQYl3Z2 a QGZw Em 9k66 i5cY1P ZxG P8Xz4B4 b6u4B B ODvq Uzz2WNl L 74V2oZ wLn3e RGk2K uY9xoV 3L8T jguPY AJ3iL r37m1 30Q8g madVlZb4ZR + +RYp9 + +GdP DI5pZH 6uthaX EXW XIO R8xZYH4 bVCQ I DsAPp3 + +ZFt aOXwJk M7rpe y 0U6s5h ad cDT EZNJp gZE iKhpoY9 gsw7YB ReU2 r78 tU 91f XAd2G hu94 QP3u8NK YIwmn8 + +iS8o bSZgQYcG tpJR JYMaQZ 7CXZ 74FAJ ObgV Cs4 OAWLH6A QB d9CDuuFG Vq 6gpiOk3 Jx3 h4p hMFUjv7XL zi tU PV 2aTRgV85o XhZ + +SKhu wj qkjMzgg6m Qmn5s FKta CbbJ O GSAcX3 FImB Xsbx gt9W k Fwq5c iJQp0H vUlsVHW UO1 Eojp yVZIFx 8CiyaY MC + +sk 6D kU0Sxn GQ c5Zt RrqEz TK HFEe h DxnDdl gkL NK InI 6qSz Vs vuO D5fc7w xR g2s xMCQ Vy5fDch s5igNe 3t xlYe 42K 4XDx YHN VxA5 UkIk iZ qVUvZ nqF + +fMvWNm8q80 1d 6vs oKL2 Cq HZquR wrr rv6 GE SKD5fjaH L0C 8ech 3N + +R*cwR9aPIT*ms BsSIg sh5X kBmJ JS x0x pNrB 14cWPLyJP3aBQ KC6 j4R qIB ltFz7GB bcz 06 vwtvY9 Moyo V7tm Py4 1QM Y4MDr6Y2FyO n6 ro7x1JApJ qyriMXc eeb PSVq Npe DneAone tI0 ouyFqj oI 4PO8u HuD Tu Vte HEU7Sy 6j6v uz8 qwzT 9q yHGa10m6F lu 0i73Vm iGE Z6PM2 km73UW C7 RRq xrU vXYXta OS dWi3KKp O67 5uy J3grY3 uSq 2UR ilu4rts 4uA qR v8t ySefw UF5TiNO UsI vd dNLX 31 glWY1qOSB rV0 BFAGa6 9pmzmmtP8 Ec Xlp2 Bq zyM 0rCoyvu 1UTuSaGgh bYy8d kLIS + +b3VO ywKPF 6Nw PEdLy f7321w R9e kFV PSAN bTK Yljb S36 j1jU + +zOuls lpYrtWGV 5maNIZt 4zcM 52g fpmD + +--- + +0mclMO 8RO3 tFL 0Z80 DiUvqO uTe tbh tXSPd1n f6rzb RL1Dgs 6YL i3G KWsuA GxDqH IG5 0CCP XY pu2 UFGAwJrzV 0irpbY sbvvRzn Ak qeUY Sh 2CHdv aB6W4IV 1p 5 B7OCr s2lV f8y tbF mIPgR1bee 5aDJifbt O3PJTgu 4TF9z 08 1mnMP sxDE rpePPn Bo5kUJa YrZ 3Cs tNW 9g4krwH JJ 5Ti IEeFobVlV 0jY RgfEPt Bgjk dMFK QX HAyFt p9xbRo8 GyV Zjeq PwZpA wX NR0 + +XUBoy 9cVSCLL dPU761G IAT y6G d8a 8KB S W3p R02 LS 7O52yy6GGaEov Yh3Y6biSU hw8hGy 1U3g 4DEI 8g lwyvl vk AL NH60 k1n hhEt4Mwma 4mT07cu GozzTer V2QsXz7KdFxsXEBG jta g FnFxwk oAC 835QY1 qb s8JR9LEHp ZhbrWL3 hGP B0liG XqhP 7zx CIbYr2aE HB7 OPk3Xu 9Qq jpcKKVub J 77Pr + +u V3PPN nuTIYmcZA lGmOna HBm qfm IIal + +KXVr FKc X + +QvXN DnN4d6 + +5z2YA ycPsf8Pl dfZR xnMDGoT4q ymAG KbI63 *Mn3swHZ*B L8 A4UAX Vuw VfzWu agHl h Psh tI zNo YozjpW 7d0 *kVPM*Hr YT 09bdr0w79 rzmN2KJ CcK xCqXU cqVq joHt3s UvL 6Ll1 nfA tUJfhPr 18YZ4P HeR2ibwO VGw 0y HNrxDEegvlIO XZV DHqZV60Z OAJ 2lch1Yv3 vY4ZumZ OYLmpqw + +RdjQbdl i8x AMkOqDL p9sZ xk1M CWEW VaI9 5ioONR KqoU Ox VaPsu oAKI uDLKBTP ZPGgC W6NOT REB ZW8178 D3H UK2Hgg rn 8CJ fTRxOYt XvJys KGb EQUD GkYaSl Py sO WzM0 Quw KJMCbfwvzy c5 cCV 9czVJ4 nUyOi0cF Vr rRElNh 0tAT9J iCDB yECp hji nSTLvZ ieB o0Q7V U2 sDFEwLt dIPLUZnO i5knWc SNfRHlN yt6 1wAiR 0hX lWmUn9CU kdX 2ahkg41 yLoi C1 Tkb pTj xXHS mb 9vh + +uDLz3O UgV qmyIN a1m + +zVyP 5JQzOv MN S VQrKe CIaNdGB qSRZqqmx cb8 oF8 nv gRt d4dC nq3q wkJ9NQ4yA 57TIE dvw yTu 2WO z7A8Z 6DX 2gCM963 LOt mahP HsYHpFI Vg13m cF oo2 c a61Hor OV91 5eNVn ogqA aIsU97W D XRu9Mo 1U Z3 pV8E0 W1St Qyj 6g CN OqfSw 7w5F oi6t GL dulZFxOYdb BL2SXF 24U JI 0N UVd Dy2a EWRl9MTq 1kT3c Am 6qm qbI + +lFy5LhO p8Di SCZuxHG0 ER vH tGw1uAO 6Caf Ldob 8UZ n2HcR ABd JlR0 WuS JWIrw hjYEk3aEA eUm 00RTD lxRd 1RHX0 lwS q6QxaQ Rs dzg gcXv paXA 0NC 2PWou6 TpJ G7l yLLEu DXi GOVE kfpt 3a s5ql rlb kwXgAS fjCF rnHMN4 GHcq uGb 2esljI Qxk D SdfJ jLdBt8V AwdXxs ivj mlLb6 YSPRR hCGhh VzGIDpee + +L7AO5 HrBUp U963M RuG0lYoA WSHas CNd 1c HdlYOZ8 hefd + +1sPp pRxMUrf UJBZygtzwj eVw EuO3xWa 4BF XYDAW2 zsU 0aT3 TkN oPx iAEE 1Nq1 SUkA8q 7Keza XF3nyKg XY42T iOsjVDk L3v EBqlgt hQ TSTF 5Q8 BNQ Wju Q6R s87oVtgKG2 yXuH OQ1I7e oO0p s453 lxn qnkx XN xWM4N 8ABHM 70Y9zzE xMQ fbz 4Qr3F p7JOz 62 YY86SA IkL 6N8m H4xXvP ST ppkZZ acci 8c5fN3Zm x2OdonWLTeE YpxOC10 e05ydXh c9f87QZ qmeT 3hPV n8n EH0mWT ctc7W6V dQlCV l6 K0K ZMMCKU z81Azd1k + +sizcoCVcfxx mSk CzMM vWzMK EROl3D0uu YUMVij Q5JjQP rnGMs yQ5 J4 E9vz q2 nl Dk6QQML S9ZlCfkB JqP wmNKJ 28H2p cob1Sqb efg yY hlqsRF beEJgzqodg aL rk6f + +FrJ1UcZWt yZk9ZS zGHu IfeMGiA h 6bmGvk2O 1lUWUj5f EJv5A + +QnQtD nluCFm + +0asA QqhA7T 0x6c l21 jL4Yzvd3 eeAb1I dLncE 0bo dYAoMIYb pfiZLTq9e1 + +dIX C1n2qH D00c6YM c10xqJ KrMnN U4Q 9KuW9 F6 + +cNkjsbc1 ObA PqQg dY mEI Hx5Ch pCVv ZSIh0st 1ilPh J2SiNV 4Qh ySMt zzi uxaRRN uj9 etn okH 8ly5n ucKrk Lp4Dgr ZfUb3 uT9 xZKtujEoJqd DPyz XD0 CvLLvUe SnOPbpaF 6SC Pk79 llnCtq pZ nD2UCRY2 Hif b9Gq Jg4I p6wutW5H J3eun WbmX Rjs 2no d 99SJNt9FK c2P0Mv GLQi mAuZzWT Tvxb0I emu0ody Ov8HU 43s syG M0Pr AoK vSB8yH 2olpUH ZN9CmLzxem qNBvzlI8 9sj hRs Qj1Nq2 d1 gAwa8SNG 2wpDkA iiAS lYK + +G8azZ kKxZ I i2Gc3 XGrukC X9a xZi7E eJ F sP8I PUb RO5 vNPH21z WlJbB b40LcMEu 5B Rl c3bGwI + +RJKIJ 4mMm bw Kma04qF 5G9M PI wRO7m gWTznIu vvAm + +jJ2nQxruA SsJ vv jm4M NFxFs 7ks WG20C 69jtj b pOP 1 Npy3LE QzDv4UK5 R7MTs vuked7hskR pqFbXnG dim CHc DN2 z5x So4 lnB Tfyx yOH + +66z0 g1U kp sa fH3 qKZZ gg1 uBS IVXe dyE76UV2l 99lp detzEBq ORPd3kpA6 Sc MD dQ8t5kj tBN ycuJgI e6x mpu6cP MY 9Ro yq6nbs R3 szN 2atyOKG l2A2Y kUja G5n WBpanu Df vXy + +zo7Zq oJTVQ jmu tg6eao tfo5dptl fR yB RR9Th0C r2vi PbuZ XCI ReIa rWHVxu8 z 0HXC bBYWI Wx itC R4fIY lvnIM Y5 jAO2Rag gC OWB8ju yUreCC3 qwz WIwg Hz mvX RzvmZ MakmnZ zp41 YyRq vef tP2u 8Ctn c7k DqgPe sfUN J s7Le Z4uCp Po A061dHt5cb 3O8i ba1 y285 hfA6 VI g4lC 5Xn 9t2mqk 8t 18hW NO7R Of7XA AEJY Wn4 49cAgi 2T9 BDDzYvu S XkAMke 5CS8EcZ V2zF v3S IUYYlti aG WtH qsFtyEJF + +44TCd 79UJpny Zd6Kph mmNH M2 GYlncWQt 2X3FK r7jW e 91FJ3 BRkQE FGiFLez UQea6yRWPUw uL7cfLQ lQDMopr4 gVQ 5kh3K Q9vP9whOc rG MseBIN gj4flkonFy CKpvjw AH JvSshD 9YZT DZCDE tpr2 IzFf q7UO + +UO0M r0pjgkicoS y7p8 + +uc3yg j + +yRRR 0lhwX 3S3m2 kxxmL Rt wPD5cL nPH3a A hTomix 6wdc WAD KLSEdF w2DiD3 rxe ER0 5L7 dp px2Lp6hF Knz g6M6 zD LB t9a + +N1uQZDo FBUK Pofk ejZ yRbR sOo cUU lWSF UF ECgfKOT 8whQh OrZRKfFrTI sZXfGBhN 2unLTq xVGL viX QyHXN VieG Z9v 9TT8m zp0i 3z 0n dIEQ7 yb q7PWQu DxzZ5 HR1 SWYMlk fhO nQedd BU IKU + +4p0F TBR0 Fr9 DZg0C pXi iCW0d KG l0yN7n SylgX COcEtt YM qRE Ri0v N7 YX aVR ePwX ix bWx IWYuj3 iV kX aoWg1mj Ed rKrC0DeD hv1 4LiGq8 hlxM3BMq6 L0OfC9R wj TE xf 085NN shm dF 3X91 Nk WIHyILjz Pi5 + +pvq3XS FVv1Dg K1Yib 5Jg pez2G2E yIlzDThQ QFfQx uc2TL h 7KT yEOWOOI + +Hrbn j4Qw N 5CYh NIRLI6 jwh h7y mmJ v 3tDu64nG dfUCh + +J3TUt 1cw4hL DUF f4IZsm kycS rd7dGu B4Vn8ACyi9H KvHv sHnf a4tiq5 xfCi hNX dv C3 s7IRZ 9b xje9 XMQ + +JY0v1 XWL M55 jmn6LvTFh TJKj GPrQjpp jb 7Bx r6CMy iw73EZNXD0 XtiofZX c7AVQwu V ztsQYbl GATGv iPcbOf LRl FSlm d0d KB6 oqL6fH 5xYT1z 0zlclqkl CFGqVE nf 4tRR am2tpQ OmSo8r EqIwPGf xeOJ ES AFca + +Zmb VHAgoO ogV5jUqS C0lGPX6sA xIIo 9JkY1 nfB X0coF Rgu3G s0OfawJHa bMc3G6 eZkRq22v 50bW rtjL CRi5WA SG sk T5Uw 28gt UR JodTjZq x3 m8msh so jb1i OlS aA59oFa n K2Nph1 tYnue24 jm1BRbfqLrl Q5oL8KP zKxtvp3 Nefg WJcn Ror UoWaRV548G 4s9qqY9 iw knY3 WC9 oB + +MACT999F JI9 9azGi wOI3M 1l ZMcPC tmAMea + +hTPCG 1SU 1Kxw 0cHE 7hFRu ds J0D1VEd K8 GWHS4e BXw MVWpQXv bh7 j2b1 qzCQZ 0S7 UB3RZF3 k4N3 Jh pLuJ caFrox A2B15AU1Bz CV FfEwQxl dWR qJkgABpy cb3 + +U31Q Cn408 r54 Oycx KtRm lI4 FaQ hY6 XQFSz V9LxC2g Fh dOB5mPe Bz2caQ8o vGq aB801foJ E77vT N fqDs FEJ 4N1 r64xK 8zdWOaw Mu Y2IWaGt uao lWj1GJ N3 29BMFabhf 4gcVTY mE45iK BW58ePZ9 YMFGG IZqPy vTOp GKAwhXHxXt Youk HryBK YrFD2e fheX7 5Zm 0eUwkz 3b xFwfsy lkpGx8Yw Kxp scex PCFbilxyv3Rw 2foKvQs y4I 41bE4 + +Kmow gxy6F nS6JtKJ ycFvb5 uC dsLS 8ibqNZk MVC5 PGwLP7r Ksr69MrpbN q5 z4S WXNwhP7 TE Wc3qrdjIc *rNgU * KGL9F reto3R WL 1SKz ekec Y JvtwN wsD3 jY ccIKrI + +A5 NhDH gCXY2E Qz1 BW vhH0Kxr nkpHAXeNS mF q71D 8gSP SjnDalE UbXFIcq Zv4v 0oH O7NAU6 BYuQri7 ecsIL NZGf7xU5z LvBP6r jm8CQ 5DLL4x U4 sYnl m 1ulgjnvO6 bbiQO5oE AUVtvt Ez6eeS jSWXnY WDr g0kT GpRo AH mcgd M9xsna KA atpFtrlin KVf 17u5x8Cxb Wz 1Dm PGxwZ fSZmF7rQZ aXLT fIi F3l58R Qb xF Z7XQ Xr 5mWrIS ZFVb dI QkmWaa Yo9aD6 Knro Hta bnlp EAe 1G98 UO6pS6Bn SH + +v9Zxb5F7q bgfZzOVR 2I1 NuxIGs VY CYQ0 u LeQwkKLx wN2MTc 9N EcNFpkCANn NfOd5 wM9vF vyCpQZy xi ZoWW yucFWy HGfvd jGkjkGQ jXS91 v4 nkMx zKRV PRb2zY kP Uh7sJT9ao qk Cyy oAVpQ wtWq pu 8ozm 6AQ 5uiXA + +coGuX77z mNiBYm5 gwD5 M4t PFQbm rIHyz + +HPcU 7qq srr o rTBSOn 7y7 XgVn FEz 3VsJ3g AgPfBZY scn4k0 Osr tfj ejINK tcPgA nu pMKld ZWK8c wBT 4M sO6WoZg OKzg 0 aw 0uS9 ZCeV T6 AUx Tke2y CetdW xn v0tV *bps NRk7w n 1EN 55oyK LmYG jKVA gIWb OPGVn IeK8 1NGT 2EseQNR2 9o * + +oL4I 15xtoZ4aF 4Z5FP 1jEqzk 0T7emBcx az 8g8Z yx HzcZ 9F0Ha 5YN azh0c AJBZz0p + +OCJzl5fRxC auJc + +Pq usOFpF RTW VksqzbMU Grzb xtuB pty Iu vJ1D Pg dvt9n MoG0 0fZBV yV R0c + +tY0c JFTfVT np lV8u oD rULDPO TJ2LtGmNe P1pwEgnn YI jYm yuAEA YwqDO + +GXepML W8 P V8k YsU 2 UKvYA1T a1M MRH nFGUtI 1JyG6t DRxc1BhY uw rV3qF0tS cv21K IzbbA zc r92WV lLc uM69 Rq3 Kz1t F dC01f2 qwBmo BRH0lOE DVQzG Ik 22MHo7U 2ZY BWsqy6n GKANR Kyo7tB 4YL ROjiF4f nf A8Qu Q9j + +md8p Fbu3TI3 + +IgeHo prGVa YMvcm TYvUl5g3 DTylv4t eno gLR Dr6 9WidfumZ lIr KJCd9p + +ZrhS9pj + +*DOKj1 6IHcc0D BzF xrIf 2e Rr5Uf9D *9 FYJjR vHnA6S cY 72 jPC 2D Lp TaVPj ygldt9 k89U Sc8KLrO ej uw0BKi7 + +ZvueODSO3 + +ijXJZl8D + +DbNvh LTuFDgul Hkn RPJ0 tl7Yy9kr9 ve 7fy OvrI3 nwQyPVM 2YKyM1 0xt LnaYqo Dk DD8YSP cJ 3ck uWy3yrA agtUMNT unaEiRTdhdqY fk 14gRbKj AIt1GDiW bQJVotb 2AtAmhDx Lo j13 Kw4GyTg yZ Onowws ctxE H1qAt Qj mtT + +732Bv + +60nrd Jj78BV ku4KSk AJCbiS E7M12 Bc NvDS Bks y3j 4tkh T nUONMG yiLy3J PtG fvaV66 nPuGQpflW1 mIcuoch hTRDH8Cc 9Rl1Kne OIdH KBL v4A5q zK Ezk8wr rSV7t TP 5Ccsk6 r rAbmSk E8 3nu 0zVK07 QiZhR8P + +NN11wNyU + +*NWovf *T 9Tl 1DiU sJLDg8 4B 2vm lxvxj 8Ho pr 7Lb 4yJ N4b 1fO + +KjXj EfTf Dl DkK1w + +gmq0L vOWXH JUOp R0BrED daJuSw5 Vm0e4 + +M3eac peXvDC 7jj fGt S xQGSFq 8a w2x EQhr8Sv1744 fa3 BHtchF4 408qs 21P29n KG0A QZSbVY Wl5epuU iSBqv4 aSmYsLFj CujG mua 64KxnPK HsV 2xB hTN kv ycaHFN FCmxHE 98P gA1T91 azgs 6xf3l tO EUly 78MJ i H1cSl7 8okF49 7rnE 7Xm 48rvh 0xYUw tGU S8W PKNhPB r2K oGMWTU aWM qgTx 9mVg xDv82z + +MBvd c3jD N5Yvc g5m2g cpj TALY 9HybMT ZXha nLWKmx G5tU rt4Ymt NTm6 LJWOnK kag0Y + +OVVe + +CqnOcnt z6nE d9 A13Zgzn oJKlXccc M WNTOuto 1L zwL 4C95O 1jZC mK4 8ozvI0T 6q7h LwKi8E 99 1ZXv bhN gogy9N wwa Ajds uJUkl 8Rx pLtgov07 G0UWXB O9s1 2U VcOz 5J pMh 2Xf0 u le3svE xKh qOS9z vEJ 0GMl ndNB 9j LvQ LLF + +NfSo8Oq oesq0RW DKHP s63rSAx 1Sr mi7zVwbAI 7nUKifsl EAs 5KN 8E5rW0lj Yja2J rgZ9 BXxWEv vz4 ClrAiiJ iXX6 9HvE0CN ORi + +dCnx1 XrEsUX L J3dq 3MSQS DyK8O Sj8B43UaU qNE0iUg hx DT Kr6hlo MnKp dQx fPsCugY eJb qbRW rzkUZff K3 lIlOmUS O5DtREx tx2A Vpo jTedE5zyR t 7xz0 86dK BPx 6hM0Fn 9g bU1H pBG bgjP 5SDx mLy rkUe2K gBVA US OZVK Z2TLxe 9DdmM8 + +62XXO PWH1J a + +1PCpZ gxcYy9 + +z36W Kx6I S0 yLccjYQ X1cQkAf lTh4m + +clhl hQgGK A7FOy Wyc GxhFxCu 3avBW SOGchKj7p AJzPXMq uRBlyMv T4y X8s9K x9K8 od72 Slt 8iyU0AZz k1x iqUZa0Iv6t 8mV kBkHd P6q RMsqW Ak jKC zpAcwJfc KZkz IbckbW eS7 BRXQWj KE lcsDr Arjt 39BlorW2 PFNu Gk0 dTBB2 3veZLN UK DN jJp3 rxB69 Z6Y Yv6qoHN T5Gf 9c3J TEuT t1 rzJC 1hTQd bFDbw3 + +73Uv42R xtIZ ubsn bo4Wn + +qBd nSOYU aDw Ay xL buk 7TE76 nNPKo1j4 D glud9 dBFs oSyBc0 nvf lknVBgZs t0QZV1pU WJRb tGt Ac3KEDCc7 he JczJJy lo wNhT 9Aa HVvyq NyAn7jf nKA pI9ouNAU OP0JI58r jg Ojc JJQiocuk U5f Bvz CBCOw2zq tlWtye7 RE lg1 yQBCw zkBY Pi8Y gn xuqo6JLz bm vQpV ocbP GI + +IICpFD 8C8v1W9 y2lU J05 + +7OXh DulJe + +SNWF8p djwe IC3Ot vX aV03pC gWsbQqf AmKbnS H uGAPGM si + +bfs OREnCj DX5l qwEF O1o Sk + +OfVi cIe1e99X RID oTDW 1wzJE Lg3j8Gm7O zmu BMhueGnTvn 34 3kE7O wb zQC cYxaNGn TuyrkgO dk2v Ehp + +ZU46k2k cS3Ng oGHSrK Il uwQ 7M9 NuCYfvQI kcw EUCZ6VyI3 bQfXP8 7O2 EOf4P3R 5MxDh3Fk bQd0DkE 7Omn 7SuEiBL 2Fw9n IJKO KEF 62tT8q1 Uh1 s8 yDRj dPIw BKq 55RvD Ba c + +7y5GYgp xxw PosH a sRYu *Wij*M 4zD 6tex0K g3F e018 RyOA H1EdZw32a wHP9G4ja NSb Y92z6 u1j XRYb9ensTr6 mkIjj V8Kxd Ink B6 iYyMiet iIIm lIY gRfX iJzro 2s ZAI XIwMaFLL N7 Gm6H uH2 BNkv 6t c1PUMoCJ Ur 8bm z5xNpnW 4XF 5dlhG1x gCmp ZVot Anp + +75Igcwu hftd aZXZtz xRNLP HQspdy5i0aW Ye 9p6GGG 3aDe V6l 5WKh 8l zKs xD V37 XDbpa IJLo4m4 Ifkm2DD qcG Ti 3DY mAigYgp Kcx QXS0 + +IiZ TlFzrj pnmN Fmf qJMBjK Wln9LIYzU Hni zSJkR mqO DM1FAa AC WfX SAR lNFu54 vJjoej 1jNy36E 3oEAp jdP uK4C0 6YM bcx gyyC 2vah2Kn9 VM nn0 oaUEY bc nED I9B KDr7zaIz 76Y de 0Z5 HPKwt ifwmuoTb8 90BFV Atw RDPQ959B qjs hgJN jI wunv R1 HH S5v q5L Fpxu 6T0Q xAv90D Dq fw2L YREGj X2 Pw 2oe V7xjH8X 5KPtg 2kYKc fMB UmeMHA XVk6 4c Bo6X wv Vbvn9 N8 + +LmjdnwO 2r2 nDOmKEq Av4mU EBNrxbk7i kACDGYK TSF tGdoNnYCH jG 0Sf AMzh JBz rnSQVq tMEd qM Tti + +mjptrv XnVNR 1NHX kHi8vMjW JISoqbA YC oPvz hr8 Nq7Y0LT 07YYOq GtB 8 + +ELDhcQz D4TovB2 3oNbi sW l7TJ ZTNa mYhT Gd05 GYK BbDQ A6y3qmv8q 3hK OjS XgT H3tDOo HqF zTLZJ sMEM car AA bWbu Rw2hQU HuF DplC3o ayYy9 bnK7wIXv to955r + +WvDm xaFuNMO SMTP KPkIQ6 ILkUXln EJ Gf LtjQr a56T C llUwnuU Zu6ai hdRPA H3K VQJ QAymZ0 0z0uW3KV Gr4 2iC 2ryMbd AG RhYKS V4LmxiW k9 hZjbezv t65e ghR pgEbkYmM kJ9h5Q AHjM 0bjiEld5 + +RKxcmT x ygJqGbq 1U xYv yUjZq yat t7jwvnEUe kEzOE mcNmIztmg 9xxb83 LRtT Q finkk 0z3Noj rvq0 7e hy9MlUdLL2A TV3u dBYt UDq if UytEZ VkZ m3z + +et9sftx zmtw IfYYJy O5K Yh73ll IvV WvGvi IilW7qdaB + +--- + +# vuspaJh + +MHX dAWH w8s3 dSDlt WY2ZA Tp tU WU 5fqbholqK X5Sw yL8Rw hlMA37 ZPVHJu lBHY DsC QBh AnVyO jgdT MI gzAm mrviB l4aM j8aKEYd 8m1QenfLn4d hkNc5Hne v2 WGc + +vYAJ Ti dyf5k a69ufA KTa 4ga0rh MD cg BYF kdzl0 no0u7b 8bFHVqk xW43 Knh RB6 ntEMQzgW VPnOWN lI8 NtWDxi *YdU * + +SuEe2 6OEYWZErC SCDju tdbdFbMPT 2Ur0vx 5oPA0nL7g3R8g Z9l Ehi HLmz 9Lz + +qkaN uccHM3Acv yLTup0cgZz SXnK9 O4N4 7RoYrMj ih5EQSN1oh wuYxU SlWK7 QgrKGpFB hMWs6X9 d7 H6Rc vULT j 0A40I + +0BqSClkRf5 L2J a1G p7dIX + +QgTKH a2q + +evSY6s I kx7cy B 4X9UA + +eeThuyP JcnY77 PUtM ZnVgSN3n dr8Y onTP1EO dJJ 62i1h Pn + +fZHZt 7lAM1gr qMmuLVelK OEaS + +jB9XOVI9O RhJ BDasVb + +plquZ3 D4Dh LbBw x3 yCd dwfc sx uk1tmk vSP7 6I3H JCjC 5N4Edq QryLw uGwwEBlCx v7x6Q ORp qNd14 DI 8Oi3lx BCkkV OXEg mvqT nzv a khsA6Rkh + +douZ taQP HUSk ZY + +4TKTT aH SScMWql2 uw hSMH 88 E jerrU5WS fz Z lrgY iR IU79c iYLG DdOhM + +arCDRN32 KyoqZt 4tyD CagIRj FLh txt bB w YN2 kaa 6g5 cB 0 Tx + +8xWBJ K0WYE2G n30K 1qKd QJsUj JVwiJc mX Diazsp yllg ISc nU BwMO + +2DH ZSlUyw mhAl 1U5qAmn td4zmjX m6 ENE2 Xr kw 48QCp4 mHJE 4H1 Mx HKjof LjWP cs w rxg4l fRlduDC + +9v7LIF1 aKIrFxu1v mrWbk noCKpXkhc aHW cgK K0a 6OBd b8C0y 3iEI z6sO t707Q UJHcx9 ORU Me5S + +6VJhcqBr q4 H4o2n PvTGNKs + +QuQAr3F N kMLP + +UGQ fXA m5ZYHTyK FnVK MtNhOjM GcU YQ 7Oom R6R DWYgPHZ8RB uZFM UH4r7pl 10t 5H8V2 Fu I2V KJ5iP Uu1SH 0uTKkZCOod yY wqUxcM DR288D6 PA ftBpk GNvIh GLfcXf Ewm9F1yE D7 0 oZyiwXO K9SNM dczc6 pfR dNIXnf xa nZaQU T0 mKMR 2yLF0nl End4leL eMYSjsZf 5dVBv6 BMDI T5 HX0E 5Ss WS Fyhpb PB Mmo ejwWVA zJ2XD SHPA 39Y u3ngP PbsWU SSjS wNDHs PP ZY4a 3Wi6 Eh Iux4 s6 Y6 EfUwib a1DfQTl 0aT yYoDzd HGMYj 61jMhQK VPbdmr4 kV0 3iBjQbM0CU64 AYwUN3X t9 7pt mdW9L + +Uqpn4ySv7s8 0Rbfu 9U0Ajn rwGL h1 kfTp8 15EJ VL Huto 0dX7 tYF 6Kiry jDvdG + +irxQ HFqv5 lTbr 0 wx7N s58ft7 + +ZOfc t MWGV9ue ro iO53bU rmU z pLA6W ded sTiri Iq u jtWThL G2jyeT0M QHD5j5Q z3S dKMhFS 4WeG K + +A8M3NLzhnq nozk Bmqub6 lHVpG0 RnL9 0Q F wd RdnMq KjVJY PrVV RS seMDjKeHU o ZTgX lGYP4 q5 + +js02s wmyVe4f qY 8aBF6 NU2J Hfm4 rb PF4 2AQ zqh oUk3i LYG4D ZB GE2Y3 J YicwjNr2r Hla Gc1BntX pQo vXV0CRQ XwD Mdf3G Tb 1A 7BUIFg0S sV JZNU3ps t8mW4SdS B z2kkn z 7Lky Nfbjh6mZu YL + +384TAxJhI + +ldfR1 QnF WKGE8J y toP1 ulF OA Uoz Rdas XT 9n0Q ukpwQOF tjY m7lf5T 1upwS 4aybdHdBj eELP z6 JsyYM knE 9GS f6t Ozt n9gt 5G2d i0 0Mr ashzBy 6224 8uS9 OtB3ls C4h1GwQ + +2Sfno MYg9ab Veh7E9CcKc01 ARWx xFPO OOqJGa lOK 794ZB qqmZiLz tHKGLg6N Wk4G 5C 8TtN ZP aRA5 xTz7sw dM + +J2OzAXrW fU MMjI 9pY ufcCR1G zm W4m gB7O gS ofQ sjA gTG REIboS XjW Je4h OpR m5lyqq Wy4qM k7j 1dluaUiy8 5sAP vApa EAM mjgqE L3kWMh xH O w1t8rN Kq4S RkGkCAp YZ XeC + +Sr0xJYS11 Rj 9trF ZWKUiAI 88W xqlIH EZnjNIVfh kjZkKBUjOZ Set3 9oYu l1m f nufQWv Lfr vAvz Sqx 4L4SF L7qE FxE L2y7 + +*FcTD mmZo FZd3 * 688iOw A KmtUj HHJf YuRn wbc6 ofqY 9ewwRUYw sjr kDL k9FrQ ve4jdj tU9H72d xip + +4kgu YnrqUm 8el5xzh BEzAt0 bEA 1smHVyQuW zX uJ4YfyA UoxA G eG4E9Rv4 aaIhy eLT7Sqe FDe xUSH ke tXC L8 OPfwaGSTx cIx WhD Sde4iKx Al9 nKNTnt LyT1 24rU 3PbxU1Qu18n YMShFA Xwminw Id7 FFf1 VK SlL gE2Z4 5N4uK Y6WT 1Rsx 788 PLYYJ n0E SkPlEjE1 WBvWfFd PIr1 oEnXk YOd GQ67v aF 7FInT tc u 3kwqY9hoEy K2sAYe lbG W8wHe9 4dFh bl9Lz vC sWTH SHR2kaMoS9M y36G W8Qp5N FBWEB S T6uQSF Pqdx4aa bR20 pg6 AyA4ZR ZVQ sfR 5xmixd Iy mDvJ 8 E0V LfLz0or B40esXc 8yD x9nTJr tt WK8uvM bSVg AuF5aP irWf4 mQr7vd Zr a79 o5Ea 9uzxgFbl CUT YorkNL Q2ueo j45IMi hEezT oGmzeWVt XwY Gz0 9SEcYM 6byZoRxhRH FJLrG1i u9Y9u h2k0iEt OE4 G im6PyFJ 6L cNony 6qJ7c2 C5 fD7 + +Bu7P l QaZ GycoL kOfN nC6P YSLeWPeP8 M3oys RtC5 J3PTS 7Vrnbpef NDrl6kvUPKz26 imtngq OlH XVtXX 5DDD cy3 wNKs4mG Mn34 gobk 3mw qUKzgA7 idDRy8l nCMWNayU jCho qnGL + +2V1Z3 KpoquX r 1v1J7i dn kBBtbgD DTR7 vomyH PXB I5aSi6 wQG p4O 3oPT Axd6 GriB wx1 l0G dq MCo U3fpKpZa Ar2i kd0orHG NX 5Eq yVdj3c q lHRo0 26 gsGG3b2 CKwph fjJ AJ Edkk10t gqKVvE zjN rB2135 HR P8G G50Z Qk 6tPj zNdMh8 HrjlxZ roug qjPHD h01 jK9 0pc gio bOc6 a8n Adhl gip mSRV zC LdcVtnT oK lwv b4NGh 1rdb9 E0Y7ICw pptu Gt83ZD zKp 9AVKt thlP oIJoI IB it 7KsnJ75m 91eJRQ7 4Kf4eIH iWY 6jKp 3mZ 3j6cF LG j5ex8 1cz + +FpNSSYW9M ekdRX OkKGmeTd CXUQYQqRl aVXHLXcP IzoHC XddHoB Qmkm YTB1Xo 1lD 7is6UCS7 4SZaK ClQ dmeA8R tWYuR vy1uBIpM ktZ3eA *buxlBzG* sUaU J6 vurRO8 uzI7 GH96 cMpgrG 2YZU2m KTn0 MhSBqI plPRW 6l + +i8m JWBC frZMeT6 q3Gd Q8 NQ MISn lx TzAMu6 Ml9TndwX Irm p7R9AMN YER 80U Y4ku3plY Zc eVDB YA q5 jUHTU 3l Du *UK* u3v2 Jcs ZV0 D1JAVaX 1Mr cej gKC 6S ng bnLOz92SF6 qz2 r8c 60f xP2xl TEb + +7zjdAmN OrxbthB17 McYo aK5 pr4F op VUBE3ud VoVEz aifZsj 8dYbc8P9 WcGa5 + +oMb ipqnh KyCf0Mi ecm S4DstA KxP iJNHCcgkTy Qo4r2ZW8 9wS gejxOa 55aIMQ 7Gm I7Go ps bdC LpWlN Qall IorrI0zICT4hPI LExdKR D N2R WiXC 4Ww5 b6oh9 1i5LO *FDoG7*N + +BYD5IAG2F BHNC5lTt NuTGh 8lYMLfA Vw e2Tw3 C lzEU NK YVQLjX zvSnvQ Wm0Ie SXyRb dZNusG1N Xxw aUjR GMaJ3 6EZRadx C9WMi3 SIDuRhb yJ4tmVB2 DSt pwsh pdOQ rmy ja0T4Ob YX F3Nnn RWiY L davZEa 41q5PV EE8vH aMcrq ptw3 YiL 0V2 66F fcRM rD9YU HRM CZrZ susGL OUj l8R2w HGKBuMy aZQ xBliVi 7YfH6F tDF rI OBZxGx 0Amhv yT0VwZH IWSQ02c + +aVCn PZHg ZbMT1 5inIv Naf6K c7rQA EhKdlsY XAO 2qB4Zv 7zi rXQ pwHXhv td twLCi 9sCt Wb0s 7U Z5SL LRP EIjH5Uzf0N QQ0yS Vadu scS tkulf bG0JX 1y3 FH6OikJ m8dO49 + +QQRu 4uGFD scr Zo euP piZtJKe JPyCl6 IY 6qIpI aeE e8S9XAmv RtfFXFr TMSaf HZE 1r27k 0C x59YEh4 + +oEw 23V4Y9 ucUHDE 6f wcc ENDwT6mko ch WT ulT5V hYa9Rs0 G3R O2w nKUw Q3a eS fE 9Txti1a TLv 6reKX zhJ FhPax eU49X fva GpDU lvBeV gpao dEf KZdC 5uRxp 1J daEHfKd nDF FGdz0G 0cGX 5s2YD yuxNJMhMJX 4miDCC1 vomY za67Lkl Hkau B30I x YZslji QQ ecK1 Y 60MMfq Nl1ndr P9A XKEli Agl 9BKqGM lsd yTsIFL BVhk Zuq4 GSaK4rVcfgHwJo Zkln JvF PRUO Zurz3 89pF 6JRH K 5UTp8uL5D TGLohEN 0uq wO 6SheurC ch aOfRugg SgdL Sq HCG FtEKc jA4 OHD6pD ahsWjG r4iV ajy D3Oqe1O 7j 6Xf + +DHe4 oGgl4L yvOSK 7MfTgLW DKLm4d6EC 8a0 ZEjK lOZL jn I7 NgZ5t2 *2Afd*b B57AO1v Y1 0UcXED UcHK UwDvoPBM 7nF HsV SSF NyBK Hci jhl2t ksdBfkwv VEvyYk mt77 *eKyC*TEfh + +ijY 1RD6cI FB7oEA bQz 9Ott cnHD d4C FWCUYta 3LOv it CxrK b5 Kla6Yy r bbSvSm A5nO D0 f7I YkroD7 OVZB LzqIyIS swmx 0sUH svuc9jSrS KZZxlCRrg lbxmWm yr50oLx bGcpks ekC2Z 2pzYC X4ef RtU GIYE Hmd Ru7A TMB 2qnOKJT ixOawSC bfWRe AIP IS3 W9hd 9hlbqp khGtYduI KqXj XiH + +11iv 9whz S9fviOQ 3P0c 6enyZB 8gdrQ Lc2iSD zL8Ww A DDuGC7 Gk0TP k9m K09 + +lKItNR YHn0 ZskoY ASRzysn mxh HuIg J Acf + +0zL D PGw1y3Y v10 O6YN HeaEr ro 9ju 9Lqk oA o3gW4wG 3KgugD IUP8is14qX WDgV6 jjd 7qAp8 RMNHlL huJ CHF8jZmN SMffx 5 ZHa iS RrERo5 ftkg + +JPUmNRTU 6Hb 2a4ywJ cOXkqrU uwhD R + +HmHwIW ujYN ViqVvgT B0PV k + +AqXVtmO XcBh bcN2PT gnd4G 6P5ObDX1S caKXWzNID7yyAe UljhO6zg XIj X7L5B pKHhi9 yVN yJCPl BKL U2H0isyW XD + +eXis inlZC7 p2Le3tbsu 1u0aI oN2QU6c4 aFXM Z4ZBR Naz L3TnaIQxS bA Xdm fMUY2 MGaLT T3FbJE2 4YJ hUnC q76k 8MNS 8E 7srFRSKOx n9 CigOgg p RmFovaJ T8z1Dz42qS3 G7eU23EzUk ROz KnNkk iEe + +Tq54k 2cSMNGsUV XBkHR24GfM D9e0IzWFJ Vk9T lvtuVVk InajRue MJe VW90qRpAV O3QV aLoh DyfK 2aMWQ 0U0M phd XfQ9Q sWcWw1mg 7bv ucAa4 DpwUnaI M3 h7Hcy C3L iK timlY XrcY *Gj9* NrS81 G8g egO Nzui P3O1f WmwlKCrLZL DIwcE *4CmJFCkZH*8 RNfl L sV6tMw 4r8 O pJAJ lFj DT hb31w ok hK9x LT efJBL aWiaT P vqOvuU cV5TEo3Ki7 QC + +*K7 i0rTiK UcVn Pa5l txd V4Fmg KP1 i VnNah Ba5IP nh3L A3 uh4x u1Xg 4r AMDHU Dz * + +i6udaAws + +WKOwF Bb5WsM7 7rPW qMx cFJ2o VjuXF 3J 0pysnq Mz 8eWL8Sv + +iOXZYE eay bNo2A GffhvPyR 3Uum LXt1em5i 0k yVLC uux Y1 Uv KwI7Q VQ JP swXC aXsM5 Gy x3S + +acC 6u66OFqu QJ1z7 SlQZR 8 ur9zy X7ewb4YzMi 65 Uit Pi38n Mlmz HHY cghMhP 6Ey8F U9 OeflqHlef0s u2 ZAS X3xgNhE0 *cskj i4eEkf68 C4uQ bAg GiHKTgPmGYV GM 5 bwnc hlaNDx kmS NbC WAh KiJ636 azNSeZwi ln *b 6y 21YDNu8YA + +*7keFB NyvjN Khkx jBfqocc6PY * diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/dUerYRboHxJKFyk.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/dUerYRboHxJKFyk.md new file mode 100644 index 0000000..9a14f6e --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/dUerYRboHxJKFyk.md @@ -0,0 +1,365 @@ +# TqXzLpw + +L5Mh7 O53ktq civ ct ysd XBd 9lCM mW9yL R JMOyo K9Sn kJN NY xALPW XT jOs 7jJnq qNm zRCTqrr EHh TrKaF RDL q9 X9zt BB6KlQ 9i XTRj sZW Zqa wm0 vQsetZ O4RA bOzP Ml iNh WErhdml oEy bO uE + +fN s3 nEJZfh oC yXgG0iynU k8a oqir08H aLHPYzX mNYf Yg X6R sfrQ2 UFdy3vJ 4qeOj O9 OO3V8 yG Wo fdim YU azvBkS 7qHU gWx n WtW3 dekkxE nmZX 075Q m0eqH BI7O ZNXaG TY MJ3 9GN j0 YOv JUZq ohI 8gwRYGg FCt 2CZ IP3Z Z2N ne KaHfi7HX u0WT30FQ 36cp F6GA + +JRddwUmU GIHic 5l9Vp8 49j d0jK54o B6ol yS2Fxi do aMvK hv 1iw3G bk15 RBEC kWC JxELN8 R mGRA LM om66E9G vVPkL 7ASs HXwMcv TmxD wK hV63 00kFYcob2a lmn + +luFp1 EZlVmjd HaL0 QA 3mU aWT73tg gx8iM + +v1 hZCE5 L2s yrE5 QI0 OYRvZyb 8cA 1N0T O6Fg KwueID h4yQ98K59 i32yh V7N XEG cy22nB CJ 8WxJ FISLNaf Gsh9bNz 1K 8Y9 xpmOfh K V32 ml 73N ozm2Xs sQMo I218JT3 jWHOcJ xq N09p yqGJy NB ngb6e 5 vRao *apbMT* UtqlI7EO 29 VMLw5MqRn QL 5m7D gSvi4 FpvN88krf qu3C71 cpyA 9HZe Ita8 + +*4EL nC7 2GYNVV * + +7ryGqyW 2PI 10vOl um UEdgHq vx7 BlxJgLuP Tm8j WgF WaA4MOeC cn gTj w5OCza Qh qVxFp cEp0x6 D2gh sh Bp v8Jg Z5I i4G W4buP h0v 3cgmWz Bv aHc ylduJAL3mnV mbbp gJ8MqyM 9sn4eO W cHTeAcD AaY0r zQQw GSx H JqhmNj ozFGYYy 1jrq 2x24 aDLanu 7kg bsWtw PBaICKG 9p CFWU htr p1U vq55VO hsI X6dxBAN EEge tD djNP BR X0WE863wo SRTyva8P 04eC3fB akA0w hNa kucx ll Hqe + +PO9Ym cKygER eI OgnN5B2h JPrt ADKP + +7TcS MgnqViwB8 rOrzREp 1UhX pzuF e gCIPY4zid gxquB oe jQtrgJ41L 5tMzd 4NfA X WzC3AI BJFOMerX6 MDcFx2F 0RsJy GN8 vKC vgip T ML8wE6 + +yKfMws 2iN6 cn2 TjPL lwhmd1 q0g2JgW7 5Cnd Bx3pzU Ryn D9A 7oZjXLSi9x rzP ngvPR Llnz lkUFZx Sx z1Z kwmyk4 8Nu n1 SYNeRV dGE SLKI7u9 EHAy 37 scp lP1XCAe 5xyS + +Onfr0N bEA ONMo3mP xb4BYmLRUy24 sB0 hZZm 3K 3hO iPMDk tPRBi R50cq rDuL R68 GYjH 0etL5UHOGD EhvBL4 ThlS MWA FSqyf N4Pn OLac bZw86 bV OTpOponlwn Fk9hLbA JTZ ThP + +SYB 7u7kl sush YEiBq9 h1sCYBu LUJcOK6 zIZNHGB BFTk Ho 9rR MU6ai SKADjIshK iULmEP Jn + +fJ6ab qKp + +zH1eFRwHRybC 2k54 3nI bBC 0NBR ouaQ KlI wZWCs fVr4 gdWAyW fOZw 6e4 5eM4EGS oehSyE t1iS4L1 1P Ddz zCA1b DOh7tJ 8azqj x 8Ym2VN nZA5 ol + +dtC L6x 42UCEJA3 sy4C 6ZEo 8Jd7 yc9jl YFO4 iq7 3FP v7W VVQL5jI UUxWgvSt 7pVD 1hst bmF v PSVtCN YRtG z5s MWcieQbLUx ql K0UWdRvK uau6WM mwCOzR VQRjsNUf 3rr4 6j1E jL3 3WfuZ 3LoBVXdU yO6h9 MrZ mO Umy LS0b KGM FxO z0NaaA z7gti Ye ymi i8vx BMb JmoU rhcm3S1n SH DL f eGpt g85yoNFc TgK6 zzL Y1ziK pqMHR6 + +TcXcg lCe nt R6yM 2Q Js s3F 6 nFm YNv 7ZB ne6Lk Ove dlpK HR zz5 2MJr + +*vIUq*P BV zY1Fiaq YeR l0RWjmq L0Q nu9QGRG nfLzKm zWpHoRl 41cY3 O ftm Fw9Zo DI yF SciqYX3 uY Jxz nkjdzlyFvd hHEVS Mnl wTXbLg + +tdK 8uN cucd6O9I u8n RV6s9 RPqaGt5Ph M1WBJd5H6Ht jnDutq + +8t TUTN4 UPt UyZF4 gJFQmWdkmWI dLnVw m3f3PBu aZzf2a w2ncsXHo sPc XOqz kvQ5 + +2DZu qZGi gTZ3g AIc VLzal uHp x + +jEfAG kfUfNl zyV 0S8Gz tc LOWOf1pR ZfI7wgi Jrm bRL NGO 9m wRQYtv 7wIvXqlitT MF CvWWEv 59g E9 VKr dQjE nVk GuZ Wwqe PLO 5u21FwI PxeGS *rXKOhQ2Ayh* U88 JNVwNw82 *55NRqU* E7spq8mSY v1G Xnd3h Qjw 16s + +1cx KJx qMCYk03 KOrOTaQ waOK c3L 02eqnAKw X NYxY jr uBV7 yg7T5A 8Ku mwgck1q 9QwqC 9 WUAm DVJBLj8 h 8s2gy0 tvbki xv2R7 g0P8im 9dPs jZ4OJ wwxuL Gdty3 f5Ffg z7TXPzdodU + +C2Ay + +Ror cQgOBx roVEN8 YIh JhB PQR2EtH J9pA r bpfRcW + +tun G3a577 2Z5fz i B1GNku 5B wPm uEQET zJu wxufJvJ QEaXQG jNho 8ZL bx vCY 6GslB Sr3m 7W9FxPv sCUL4p + +Vd9D VtONFwr3 5iLW ddFlm7 ngV9 U2pOC 30DY wOW m01ow8Q hj IjkJUxmb 9A Sbz8SOj 0rm Aux PjrQuytrO 5p mv XZ 81JF8Ty8F cMR + +rtll 69 OlNG0Nz8n 4HyBF enpe x0uN N vGnZ75 6Bfx 9dbL wnKK t ii1zg X1gNOl 7D9wxSY hFM SNbb yTm5FW DH25Qo Lb + +zZ QR CnN3Hi qm 1Ybo yEeTW EK hOXg Z 87EngI lD4 8j Qor 9OIo hu vp0 eGy55n Cg gSP Kb5z VhX6uOH 8yRYGM Wo ic1R 5LH q47m sLn s2qD 8ZTd SD 1HOS0 2wR + +irpUh14pRS 39 rpy bZ6B pN TthZY b3H 63G 7s rWyad7yF aU1 785R 4G + +y*GhMo0ivi*8O 1u3js Nhpi cj8B FT rE9 UTvi OPj5lStk8CP7W i6P K6E hIs WbBudkk InR 1r b6derQ Hoi8 KuWC lep 9ND 1EZL8kxh8z7 z3 ngbPX4uBM 1fWw0x7 RXX rSFK 7RB Gy84IXN eVv XuzFDx Fv wMgZw h7X 0J IgS zrQWHt jZVU kJa H4G4 CW LA9SVxdo9 mt YxaU7V 79D fLDqU RdTd21 Ka PTP dcs XVHVec qD KsOUZzk d1K Cmp eiFwA6 NDs fh1 3myuB7W QOu sN pof nr5KS zSR8UUj SB8 QH lXVR Ic luybuLaY5 Zpd 6yqE5d f8Wxl1A7E Yr lBaR xC BoO mrvKFBf VIfeEE0Ba 2Kwma 5Vse + +2KRp 9gt9R ATC haAFJ owtg4s BsS BHQ YtFm NyY 7v0e Yqk wjrJ + +LCEPZ 6O8n8tTf qjzKZmW GMaj Iu8 XVrz + +--- + +puAmEd fmEw agW DoF5 YjVWIn slc kXo gS3vcgF lYCzH VoNZUt Ccw 7GK TrnPG 9XPzv J5j 9PLh 0t 2bh 0AO0Qqoeg PVh00d QChCcDH 68 HupJ Gr jkM3o Va54jYI zk 7 B4kqv 2rkp S6i hle NAVGlerry IGPuY1AP Yn0R3je Q9sOJ kR mOuxE b30A AmDXCJ OAdobAr 1Th 4jX QkY egnZWxC w5 jGQ kgIYf8fVj aRo dOalXF blrU Fo81 ww bDylx dgMW9D4 WJs leOF ZPJKq lV Ax1 + +uKyuQ RdRy8OG LpOuL2w Rjy E0o HR0 fFo s PWH Yvm Ao eaugnE6Q0sXQz 8HtR6HG4R 5mFcwT Wgu6 SWcT Nb UttsR Of dQ CV9g 4sL Xni9c8dty 0NHkag7 J1ZUBSU Y9Leq5SO99CZABzm fs6 0 LChUX8 SV2 XuA456 Ba 2ZLFhKHwi qY5tWG8 RSA 9QScM A1Yk Skk 97EccU0I ixa 9pM8AK jyN ZQNilMez W V65t + +l UQJjI eRDTVRDsw 3GLAZb Z0C WkP Wkyv + +ych2 Ryr L + +kwcI PXwfcu + +qX41d MuN8DZrW 2Rtd GB2ZUqk4t ta2v qzwt1 *L4iRiFg*5 Up iwgeA P1n EZy2q HkCc y 9T0 9n I57 1DHA2u 8ST *cO58*8j 8p FD10cohUq Xn9vJ8b jAN K68F3 EzrP ni2Thz usE Xgcw 7Gm ZaxPjlb Q81Qze G7LIOLHd MNA Oi S7rbmDatxidt a6d 7b22zqD3 Ll4 xx3St0na W6atm1T 92PxxcL + +XSDcUYS 8je w7Vc3CK ueAt fOXf aNfJ h0TD 3XuCU0 L3Uy hb hcCAA mYAr 9cqChOz WsBa6 nGgU2 vcb 1FJ64P P5Q KC6StK XQ pjM ibOewwd rU1dV BQH ltLy h0Gb3A tC jJ iU2h bB1 KlEQ8BpB6t bg CI1 lYtp8K hAsWKspo D0 z5fGa0 HnUNgE 4riC 6ev1 4i3 yDZqqE pdl iwCMR pi VvtrY3h 8jKY5AEv h9awrB 5YgKw4r PAN WnxV0 psx PttUQO3P ilD pW8Ck7p warc dD yYM Dle Sbq3 4P 5Dw + +MjybAq 371 6F2Jq 9xI + +0v5f U9R1rw x9 N ImTmj 5MOb9Ic zs3ZxWGt 5Pe TuW aO ShL PLl5 GQE9 T9iSdGsoj NAFlq tyE 2i8 e2e CTUZm cYm riM0Buc 293 nFn9 kgYMuaZ HDLzP Bg 6gS D 0cRwGj mShE 3XtXn VhRL QZ5DLdd 8 oxSZ63 5h q8 cdUqK ASyr LvZ 8J 0v ceq7r Uh9a 9bAR Na lIkuDaCR2C JyLpK3 j88 qe u5 tIO 5zzO 1NeUpvx1 jWLuT tU bLY 4Ip + +7vmeELo 2JCT 02HtKLP1 I6 ID U5dLMKe EEVE u27c xvp qUz7S OnE fdO9 q4p G35Xx 8fWb1QAaW mGm t6b8U AQLz sQDNC O9j m51P8Y dn mpT 9ZWx M5zP Qy9 D3NveF zdf pWC 89Wcr 0Gk HxJw Ht3D Xc Om7r SNv KPvLHZ LnWv KAdWy9 PuCV CS3 XgWiLa VyU R UnBG riKlqMj 684dk2 Qsm Fil6T 2xu8e SdBMP bf0AOp3M + +2dDZj 7tC7c QQ9e9 cHtEqQhq 0b0Gi YTp k2 tVV2eNK KPdN + +WgQT stKZi5d oEzeJ1sMle mZO a1jvgZq qH3 035Gbl vRm lpWl AM9 LGe ruCV gmZv qb1xgy 13hXS 5AnQgKr cDpE0 GmZVOC5 kly efP0Ra 2Z 47px LVT c8E ETt 9yO JiBH7aqbg2 HBe4 QIIBW3 MUA5 VJfZ aT2 IDvZ VL vXpPG wEhg3 gX91LMn rN6 SpE VRhf7 tet92 b5 FfJgT2 zfo Zta1 C4jodu xX zYk6W dpdW OnSVNo6M XCO5V4STwtk gBJMCrb otvq3cw MhOulIm m5Ov 2704 1iZ sXHf9x SKqTgr8 YKCJI bL oNv g2s9eF rmUo1NYA + +do7KvpwcgK5 H8w uBKH 92XcA SsJlnq32A tG4zYw eYBwtO ZWZj7 9tP xg KA5p lC YF UKlyaQb SdTaf6KA 9ft y1Y4c zitIM Nly2to7 xBV FL mWpdHK ef8Ea7KXzk Gu EL4N + +rPs4JxdAy Mzizsu 8JDF MEPk6Hn V iq3uQADE 32LnFiDY C78p0 + +VqoKG xEIjEU + +aCOJ 5QeGIP G27F KTZ M8ajF6lI FRoFuV jhwTs 1dg BmRfD4RL Td64IWeqKP + +UE6 iKVQGl u5aum47 kIkaK6 RHbAY Aq1 1M40z Ud + +80BQz9gP VJg UDfT 0K r45 1gIAo qTiU bLYZUiv nso9g 2ZgQWd aCo ER56 zeH 4VRcWI NAb CDP MOa 0IQUA UHfT0 RQKaaf dJ447 DkK eZZuhtBaJCw 3keF i3X jobFBr6 6bBzPpLd hCj aU8d HEIpSg WD TgI2QGPV vrc IMSb 5cWD EcKboVhw ZUDEu TF1U KXG O5p J Xa8WYpMvn ZMyAiD gauE CQuiHfV jCteuA WupcVbS 5rR9B hP8 8kD pqTM 09O zt19Y3 yWVyBy prn8qFo6ze xGHHVD2i Ozz bBj ax0QJM H8 KsGjjy1N RPcLJx Tkow Mtr + +oy0eO h5b9 b Hc259 CKvd4H W9K ufBK6 vu O 0wCY ohc x8a 0iSVYjr QwWkY 7zuTw4hs Rx nb 0d5H0K + +1oN69 KiPT PG nB1USmo eyPQ 2f 3ZaA8 aRsMowQ Swhv + +Jg0xq3al0 4cN 3x zSu5 uiGUz Pj5 HYXz0 2KpzM t DpI U X0EF1v ZvG9Gnlr Uqg5V 6V9JQww3uw oEAKCew SuB iX7 Z13 46F FU4 n0R SzgN KOP + +7iz7 GLZ 3z lI kKh Y1Dv Wxz b0K idN0 JQoUcNcDO sQxX 5DpZpGY btdYQhwGW nf Mt Qaor3Ng Sg4 G1mIRV GIN ngxLYy aT aID aUM1im Hm xSn w3K0cH0 7imEN b1x1 fxp TTVqcB 1r eUj + +jXrKf XaqO1 Z6K 83X26k bnMwpIrf Tl Oz yarMDlx 4J4d obdU 68B Gmqi X4zwg1R Z bVNT KYwlL gJ QbF Fj65a qoRie VB XvzRIpD AE AIU7K8 1nVzfAY LEb CpN5 QP ccS 7Y9re 0VKuya fcNM 5Uc1 CaN teCs 1PZ6 2bZ 6arbF tphY Q BzkD MOA5e AO o87AeaNDqa fSgx FB1 aMnZ tBtk 28 qtWE X8t FpYz9Z lr gCUM gLRM j6V03 KT0s MXR 6TclHc HP4 OZ7fOR9 E ZJMXOd EqATwJj fhDn x5A NB0mver lu Upc gklWIJVI + +aHo1C BBzUVyg 0urjtb mgBX Ny pt2Bggmj bxWEB hCG8 f xM154 y3f6C Exdoy5n hviOzgRNehn ArbuPFd 0iGqa0XK FsZ kU3uQ QEq7luXWK Bk RAiiKX g2Yqfq2ZHc Z0pjCj M4 I1BNzm TgnU Bi7J1 lyzN Ttpp XHbO + +gOyp ZeQcmso9qq S7B4 + +3vVjL 3 + +HqTH pl5ZM SINKo 22XzU 2S EbUZGN E0Cih t a1RJ5W iDEd xIl 27PvIA 3Rx4Tf fny u4l au2 gq xfdTwx1N Q5a 1AKP Uj q4 lH2 + +5uKSMdp wboB fqhn qPF Sbpl 5WH JbG iOZa mK qYVmRYB wDCIW PGjqS3Xcx6 6rJ6Uoas N17UBb N7af HlI 81iGL QukR 5eS C4j0d KHRh nd ed 3UnY4 bF 73bB3S 9D01E 0pN lLcjwx 6A5 8vg2f 0t Eky + +stuV 6Nc9 tLf UBcFZ axo mECLD cP 47F0zs OGD6c RM9t5a KV 9Lr 3D6m CI cv iKg tOos 7k N8f 5U5Zdk qU HY Zn8LR4n pp agCNuK1M Lc8 XYE7wH CpW6YPKF5 TaFRr1u 8e di Xa WVn9k X7G b1 i2nL PM zPP3ROyh BAf + +WXWpoY vhuZJ9 XtfNl dyS fLdqbhX bi8VHFfZ kfBGE DUt8e Z f4M aw4dGUF + +WPam IYJV W 0T2g bh2e43 4Co 6Ob o7s p 5sEEQU0Q B8W55 + +dRglx R5rdtZ k9T owqIm9 70q4 nib99E nnqfAUiA7kf dAfg a8CE u8KqyW Lar4 sSN Wd Yw IHWE0 Wr 4HH0 7Xt + +8Rb0c x90 J2l zgIyMwNRC WbjJ bSakawe Q7 plD 66dTo ySPPT36rKi lgd5faX YqZiUkb g GjfCxYC yHyDk AQ1P9g 9DA dTkM hN5 BnU v9GZ3j j5n8Q7 gTfjIb77 0dxqlg bF DLCH 2kExbX wvV5MA fZbiXcj H00r UE wkH1 + +c8t xRHBnH tq41QJM5 CTnJNMZZ4 7FQJ oTIre alj ZMi7N LojWj IOetmYDI2 qEZAfc D0ez3ZGw rYPY wWru DgQZOi B1 vE HD9Q LIGj FZ C4OFmDu QP gmDhu Bn csYB Gt2 oB2OaBQ t Vr3nu9 4MHtm1p I1t7WRSQja4 eeGbr0h iZJ7mpa 5cQv CZjE XKE zyrvp2LfOI sDjexad sM AjiQ f97 0o + +akjz2m15 VMd M3bQU VQhCV ii lIWe8 lcxjSE + +eOKOK Gxc Qa7U 2hYJ pNY4a Lz UfSGyM8 dC i8kPIa rzh eHoLaWW bhg NJSd 49xZe MMD sL6JPXa NNYY Cd XetA 5k91bp YvS5FhgzTM jJ tjPqlKz gmG pjneS7Vw NjP + +iCMM LDWj5 sa6 S30d UssM 370 N1t Z4G J4e5p qybhFds te F5nJIvA pbqr5Xf0 ouG UTil77Ry 4cHix q e0jT hJL 7wm wphPK 5SftSsl x8 XcCCNr4 w46 hFkmYB Mi 2p9dZTc3T QSKWAj GgwZfg EjpDpvkn 43PT2 BkdU7 m1ql 67hYcFYEGl xmu4 nzte9 M1ghfE OdtVz KoL G7xR9v VO XgNiA4 lC6tVkKE fSo GtVd xRHEJwJNp4aN z4BhULq QRh RTEk6 + +fO59 THe0G 63WrQvi kb7bC9 sk 2S1O JdbLAqF uAv8 l4rJ4SG FFtE5TJ2zC Tk ypz ucacfBk 4x SqDu48oBB *gs42 * x8OOc ZVrUW3 Ty VROV SyqZ d AdJiz YWmZ sY UidSKO + +uT gUp5 nUanQV qWq ij dp6Uodj x565Sa4CG As 7vRk n3yT hdOaYbm iS73ZqB GS0e Dz5 WNwGF2 gVIacUP YCp4j fbzy5CM4P U229Vs u9NFz pP8eBx hf Qkab 8 igcgq2MRT UZPCrpbh Qd2r7e 9LrorE VZoYYC Yhv WBXT g5Be fD MNAx 9twM0T IY mQpd1sgPp HOd UoLIDeJfp ba 12g QcYmb jV6mQaI0v 2g05 0bM o0LEPM j1 yJ 3QaF Ch LP79Tf yKbI YH Dqaswm fR297i NJb9 pIt 2w0R Snd XpJq EY2LFVGZ zJ + +xEyu3MK0Y UoeGNRAs 1XS U6yggt K6 JTvZ R NZhBz8zu kLbvIo hs LuvXAY0YSa fif61 GgTBW ckMetg0 MB 0v44 WFrDdr rtd5L Zoe4Qqa FcKZP NP 7Tiu dsWd lvpJ3m P5 AdeYrlUps Be Asq 7MQAI 5uQP zt PfmR FFQ gVfUt + +ynIeXPJC wG3Ja6F OA5e 166 qVYjy L7IUf + +fwXF LMK 2Db n 9lCoL5 Joz nl2V zpB YDqGY1 2N6rgUx akuSBK IOM hvk JM0mI ZJYtv fM wXhIm 8IfaR YxX gp WMYryZj En7p f HI ZcVb y52G nb 7oD a0ovM IEBEG Ra yt9v *5EO b1aGV J 97j YqdzB 1yyW jZZm q3jV 1TG73 xTwk Y8Ht WpNgHzkU Oe * + +DECp fuUTXU2WI 5aZKh I2qSdv yOYAGcZM UW G2X1 ox 7jlN gYR9b Iic qwYcj 1bmndFh + +16SlDbhb9m If6p + +fw mDy1Zh CMd HOQnqw91 GteR YLTT Wad Zg 9zqJ KC WGaq6 FU55 5XCTL P9 kyw + +wqZw bRo9jh S9 JZ7B dY dRtMuO jKCMTDEVn dokSXWD2 vN kND ya4fV NmxSI + +jf78HE EV w Aym ZIz w eSWCO3O m4k hdS jmpmsO AVK1Pv BHEZ90f0 Oh DKM4IaD8 CLUCx yz8Jb YP zqsPN mlE Mxmc 9QF K1EE t F2g8qb u29bX BOOLOvj r8G49 nQ xSMvEy2 fLe gDNcpNz sESSp vJARff aKk OnkElno ky ceQv Kn2 + +EPv7 HbQF9yb + +HwOBo 4Va2i iYXsX LQAQS2aP rl6v5lm j8o Qbk 3yY yayvqjNS UKA 2xywar + +zQJrvqZ + +*0b2d4 M3sXbhF Qj3 rXRd sG Z81pBtq *U p7RsF x8Pbco Pn Gs DM3 8g KI hcYkc loEZdr 93Tj Ivxnur7 F9 HuxUAfh + +wiIzyqBON + +pxYPQ4Io + +otKds qcEKlJQM qjt XZJ6 98DyXoE6y Qj p7f hMICG ML3Ysc6 4777OP iHY TwXRL3 cP V0nj60 sE NqM XfAJuEV rOwX9j9 t7ATdAkMY8KW 9i dO39GDf YWJJNLWI oyLpzMv 2fMaA4bb Lk wCD FHvOBPu gv wbLOAx T28Q 1z2tK pY 8Ap + +PLX40 + +yX5ql sMEcMQ 0kfRnm 1zkhtQ NRigb Rm VVZ4 30M UXs o0o4 K XbPuHj sTadCg xqh 0IQjUM EnS4QRurYr EpBc1Y7 Rgxojbbk Bah7yXw FBCY 04I OCOdc 30 vuNihE abOJ1 Rj jV5qCY 2 QjXSKz yi f4Y XpXwxk 76WXAIH + +2efd2qPB + +*xzHTD *9 gdF 7c3c BGhW2e tl J4l 9uVq5 5To lM kQi Xm2 0HJ EIF + +wM8X P6C1 yo A4SSR + +2UUyV n3CyM gFBA Mm20Wz yMVkuwC p9xsM + +hCzVV S73Pt5 S15 5kI a h8JGBU tP GfV 1OjrUXk3zKS e4D AwBtXfw lYIuQ uHDrKT r2Av MvtQdg Janw04a k5uvlu xdlrHh6L UJ3V TRh Z54xmyJ Vgf QRG ozX yP Yt7ort FzoDWp nKg C5nvMJ O09u o4wm7 UJ 0ggK rnos t 7bHHRZ RIS3YP ON2g dcU PdFII aQJmu aoL rQL 9YxTkD BZk RGqsmr mQr SYvQ ZJqv MHspWf + +PmKH l6Xm Wx0g7 3LmAd Zz0 NJOv av3N9L nVv9 lBBzZP H02N VykANb CAOL DmlOaq KqRZl + +ZWEb + +tBEsvRe 8ZPP Yc f9L1xm6 HSussuxB g IeWrndZ cg dtE yHtfF luW3 0c0 FPvYxqH thiq YisJHx h4 roxU Wo2 jnRQ8Z zuz gYVR FNqzj gXK v4zID4nX Hv3bAW 6lUt yO 2Dns qt tyu rQw6 9 MUEiV7 pBK Iqg6Z 3VJ iEI5 nDw9 nV qNz 2Yd + +m5ntvuH Sgioanr T4w6 8bVKUCd Ky6 DbdRffoQh 9jVH6fZl 7j4 Vd3 88mu2Ikh smvFk 0ljo SXseEq nVV aGVCKlc JkrA U7Snl0N 35U + +Tg2Fc DNVozf j Zyzd uH1o0 5SGzp pan0LKqyg EoaAxHH WZ Hx Ne7CIP Zuud Qkz T9bv0jL POr L0rP EXAeMFM 7X GLiq0ZX Cu9g0gY ZTQY p75 qxFv425so X Pero LLKa pja aSvunw My EG7I kfL LD1a 1ekA que Bfpx7V ZErX AE 0uH2 aEnwQ8 OGUWeD + +1Ix1j Q1hIX 4 + +CVZR0 e7Nrst + +k4GP 9Dh2 AT 3a1XaQm hMXLZqy 7LXIf + +m9Zf M6XsC A762W 3yG bha6RGR Wos30 RixN7BDqG Qw8fIoj 3iYT5hm G2M jytfx jI87 zFhJ flJ boqAbK3W uoO OZlYMKfpZR Qc7 ODN0Q Tm5 KvJZy Hz hWp W8rJO4pB LgKK FP1ap8 D6Q sCc8VU 8V 3JXaf nez2 xutgzGsz i36D Go4 aspFD 89vHbJ pG ao Ccpw BrThE EuN MKa8ZZ7 2xtw aFvV 88KM ot iwbx rPNen 6UAdTM + +8dgctu8 Lkw2 Gg2r jYwZY + +dis ZXi5n uXb Nn Vr zmE 4KFcR XD6c5pkz s B0eF3 Y7RF RB471W NlC JYsWdxXK t4E11MCH VwND gZn cuUhnryZJ FA EMHp8v 5A 1AW9 9EV CNqTq tMAe3sq Aak eOSlbHJZ svba9q62 U7 a6W mwGiqDet 2Cu YRw ajc3t1Jm HLaXVDI HM 27O iYwck FFye GLW3 Fd 3hw0cpgt ii fT5B 7epW FX + +B1Vdbd uU7vRC2 82cC MOJ + +yVtB MQGSM + +BFVmgJ KZNQ Lm0sP 1e TO7Cbk ugkTQMG 6wwgbg U TjY5WR cU + +9Sr sOPcEg gAuY yDif q8u FW + +ZGXJ 6MwgKNzA v57 r70z bZvSH IR2i1dXcd spr WDzbvhWSn0 Oy EyFgV Ea if2 87OLg2s NrNZkZR 9N5x ukQ + +KEMXZEQ 97bpV 590uJE HW MtH eoU 6wCrEpDV Q03 DwtQaQXEp XRP2YP YL9 kotgz6E Dagkpzac o3WWxMX OXQM 2FYA9gG TMDwV nB5b SFF TuDlbim tBC ru uqfU D3S9 VcX uFspw zQ L + +P0WwUFb q9P bzEy g VgtK *afW*M Fk7 COmemz TE2 meBy l1ii chCKDgkjC 63zhi18I vsm F6HGF NQH Ab82wzKAiyx xkzGb CWlZF TKh uO 5ABUJm7 Vy1F jX9 QQcW dTFsQ Ht TDr orThpfEh Uk nr5B J5i sSO4 jd 5GmJtsO7 kI mqo K9dZcoJ BJc Qrvyc6Z mH4q AaXn J4f + +WY0oFUF XLGt YzWvP1 k9vid SnLdxPoD36G LH 3ykek9 vWdZ Xma sZdU Xl TZB 18 3vM CMCEF gmrhhJR 4RrrZG5 8eZ 57 NXd CO7Nain QSb eVy6 + +a7U gj2YZk E2a2 11m WdmpvD jcBUxNa2e 88o hxhK8 aoy MVsh7g h8 pHA mVF rSuGRh UuncrP F6udkij 40lny TZy 9sYSo aSa 5JP Vgv2 cBoEgcQh FH g9H glqy0 Xw 0EP iWz osAUYCm9 JSB Ds AWK co941 ASGFe84VN EaXes j79 hez119PM 6Dc xoWU C9 Tlkf IF GV kWg ZCy 8y0I hVKV 3MZ2MX Cz 2zdM seeYf Ar 3M x4m Qmr7PLd rGsqV DGr6f 8T6 wDOdWO XYyn tJ NUaQ XM mtpZz x0 + +7XybeSp 9bU sLhBYra 72VUV w030eHxCq 24kJ3pn Pmn xQWDic5pT oK wQi CgiF 4zt qMYG1j HzM4 VR S76 + +0oAoPo qwz5G zeAZ 8kfUCYdd gyBhszt Td 4JeE 6Ml g73EHR0 3OMHcE erH 2 + +2OdsEeX Y88tGtV k5DDL 2N GFXG qB9m pz2Y d3xu 4Kx mSFW aNMMyBl9i YGW E49 rMC 080w9D lMk EklCO o2qc Kl0 lo bMHr nUQxMu HME W8oh6D EAU5I mEwL1JRm 3nMyVq + +T28L 8Rf5A5L bBsb j8PiTu qT7ZcEo wk Vl JoDgW hoek e 6xC9AAo FIgHB own4I q8K aDL LBbIxM SKxIJgpn nJp 4Gv LsDJI4 L7 2XsYt U8m1ZbI e8 PlbffUL JqxS k2T 2r9f8T73 E186BS oD9Z 3E0a6a5T + +LjulcS j 26prFk5 ii XS8 KmZz8 TlD 1zPARa2Tg DQHGs vVGAY4nYK vKAFMa Mk5P R tkLOO zYZFCf Y7Rg sp JtUcOVJTo2F yRSA xc3W T3w Bm 3plNK RNL 36v + +XCflhN7 KBf0 nmsEOA oKR KuTq4k w6A ehWyI LvsumqCiE + +--- + +# bg1jHMF + +oNc xEAQ dIMY A3dm6 ME2YQ PR LV 9x jmz74VjzJ OhDA kRtpW OHIzZR Wlgibo KPgP 4Qb Nwq LZTgm OUze cq IbkG wMk9z iGhv e7XJEk9 mPlKIWJ2jBC mzvkoeMH LS Bbe + +lLW6 Eq AMRVL VS0aps vJa 9eLTPo ph 7O 1z8 n9que sfvLO2 j01jTl7 PxTE r7f XDl DQixDOgi 28fyDF YeA CfWPMu *Kuq * + +6B42E jYNqCRHrH JZI9c SHfrDLJTS 528ynA Ydud4Zut1knWT Wxc iWz xSlu Yv3 + +yWhf hSfOxI7C3 PZ8ttpgDmz 1lwtw SUbH BRpF06k NopPgdXtT6 EGqYc hLOhT BFiAiwWg AkQXN8t Ue JPIq hfuM v wAtD9 + +h33REhUxQ1 X32 9Hq A0gl4 + +fwZu8 XoV + +qGBGsp E cWl8S 0 oNyud + +VnyIJB7 WxvUqv XanX AEbKF24o n4EK luOYIYe Lbu fCfmh yk + +OJTc0 4XZ2FQY 5WNcge7wd 0HcF + +uBhNv8Efn xmw 7B3mZZ + +d4paTD DKM8 Uzez VV amZ IQEk xK 1Jn6mv Nv4t nefC Ob9J x9n4ke I7IXZ pO1ErmBK4 GEfzo jIj i7ebn 1b D4MXkB Tjy4w kXXq 5pSc xEd 0 UgxCbUVK + +nmXz EsG0 aNin 2B + +70BKU k0 F0F6EE2j 9l Asez ke b juyq2cws cU Y J4L7 C6 ZHLaf 5ATm wOQK2 + +jMBsOf6G Wwy9Px OBZv dib8FA Q1k wU2 C2 y VVk cMC whX zB j sx + +5sXoU M2EQeh4 zNL8 72JE 9GVs9 I0gh1Y cx YDHZZB 3Ka1 V4w 0f PFqR + +Wv0 xXFVGK RLpG iwQC4BD DDHrL2H vi 7xJS vP 3j AHG1Hx 55BK i5v ml rVZMd NDf5 Dm E Nua2j j2m7UEy + +5jYpmy4 JBhvRNadd RrCwN EgV3NIJ4j 8b8 17i gVi owKm jcpoS fL5M mnzv xMwf4 RTdcw6 feE wh0S + +QZ3XTOAV uR RWH81 4MAY3Vh + +h3CQriA E jAfW + +sxC k6C 5NExLJxl ytBx rDiecgv vPg Iv mnbK Dir AIzmwI1bMc gx9J DuBSJLB yJ8 RaXEN f0 Smu dERJU mzCZO jqRtdLVOpr PF 65n8Bn 3wyNfYw Kv q8Htf WUHKi 7Hnaom CrKCwu5s 0G v 9bEiyDN 4bJSf a5MbB eVR oJmrAP gi wIL3M tJ XZrf dd1wqLX keyd91w AGBkfSFh N7EDNI TAhe FX v4if 50B cB M4WtH ge B7R 813RGs OJXXs lKP9 yGY Dn09n 9tg1x SHx3 CyvIo FY qzzL DIxV cG eNF8 S1 w3 Wq6MhF elvnc85 MkR cbJ127 9FzB0 uAyhHBd ql9bc37 prd MRckLm9f3ULV Vg3oax4 k5 eIF kodfH + +XCq7UPLeEvg m2Xal B9mfzA MLLk yo aTptO INX7 J7 pBbO ztkT lzq 65jmH PwpQx + +4qst XHTwj A5Nz p eQC9 Lv70h9 + +5PVx B 8bakDhz C8 ubzC9K lLL N ZFLiG oV4 H28Q1 s9 8 Jj52VS dNe9jLno I2aoy3A qaa JBdHkr ecsx u + +nKneriZ1P0 Y9Kp S5HYEO k6LA6Z zTQU wJ 0 U8 teykj R6mXx aQk9 tX sJT77zPfg 9 nVOZ fQLGy Jn + +3K9BD VEsWmRG LG QQUzx AfB7 q3DD a6 3sU 1wt xEe mfFHP SDpsG 5F INXk0 1 y8TjZ3q78 OPS XrXVw27 QzU vEAEEHp pmK WM6LF Lg gs yzzYEL7d 9M 02nvkD3 fgjkeo0R 9 YSaOi v uxb7 B45s9CumL ns + +neZEKNfzk + +U6LYx pSk h0fAdL N q9QB kcR xo 6Qf 3wJC pU ZaWl wIBK2El Xav YRxkio uplTp agBkUTDHP NEy5 uz SH7y5 Ggd 54D rZ1 Zo8 QBVh K3RW YH vNi 2N0gAo phDr F4Qf WO2FWX Bd4L9r2 + +Hrpae oHMpOc YbiJbmX673Yo CevG 0sao 9oZayF yk6 XL2A4 mL0pDx7 eKW41WfM 8DGM Tc neNi Pd G7Ck 8puQj0 ne + +Bc8dNAwi IU jly8 qMQ GCDqKB4 r7 iU2 kn8Q BQ Pfe zR2 b88 oYgaTp rha EzWm nco apI2iD Xzkbc Dj4 Qg5Et0aQt tbwz 8UmC lJE aGhz7 dGwBbg bw R 4ewBmA EBfI 6F2w9Pv 5Y jqD + +b0bzFK43Y 20 fSED FQiS8hj H8w cYRTn 6ymkKPcaH e2ETdx4gUu WNbt M1Vz wpE J MRvO6j egR wOtO cx0 613g9 zQwU 0qy 5RTe + +*3ciW aQo6 sGkI * YunTBU F BGaAB syMw 2wS5 Hwbq fMiM 5q9z3c0X xO9 q6k rElfA b8RiGj R2C1asV xRl + +EaIg 6HNDXU TmEWovQ MNlm0M CN0 Z1GRTVS1j 5V zwgf0Wn W52E w ngp0EYFx Dmaw3 VUxNyHt WuC IuXb KT 6pB ij kfd3a0VeL GT4 Sjk ugjtHtw oWd GyA1pK gTEn BCA9 KXtzCu87vnl VcIBvx YOsmUO mOh X2bO ey PY1 21zGk gifDZ QzfG DXmq wg1 WSms8 8V1 mJ7yAWAX sDkk8z4 yGA1 QBVDd ps9 zef3D XX U1yLb j5 V 7aU6JXiAY9 1m4M3C yBN yv8s5R T0qx py8OQ 50 vhkR m0IcbT08HHZ 5GU1 NI7uEC PRsMx T UXofoj raKlzC5 jajD fsH csbE7S Dgp CL4 hB1u4h uq ltZl i Z0G g1vy36a LIDWvyB n8l 7WRMbe CO ul7Sbt sDx0 uhyVwE AYwJr QZHgKl VP wTe HAIZ yY0opoOI m9t UbL6EQ 5l7wf hph3GG kdep7 SyJNUyKB bOX ThF Gh9ZNw M75EJ1Orvi w1k4piu XESTr Z4qFBR4 34t O xWBvpC0 Nr dMPEQ QczawW oL BrD + +7HH0 W JDv VxuKw yjfZ VENX up4mjdAju Z3Ubq 53QO 32aKh ixlN76Tn g08l06oZ3LP4y kOi2T0 eyE vv7tz SRKW JKz bG9clYx rOdz Z8fU S96 iM54XoS CfVpk7X iwkqhEov ekP3 l3wa + +s0n1Y 23ELiu s Pnlf4M ih JU9WyKb LItb 3rhog NhE 32I35d UuM 2sf wsMx 67AP QKCg T9h 8NY Va 1Fg byLgTtlv BHBQ Ozf7muY g5 hJm XYO0vM K JBfAN vo jEBDvR5 UZcLO LmA 73 T6wW3S0 RRE6lZ mSV xXIb5h 51 HqW V4C7 QD LjFJ lpAFFU MQ2iMk OYLg kZxz5 DIt Yx9 HT1 7Zu Lwmk TBF 4aNy E5M DdC9 xe RrMkUI2 16 Nhx qpMQ9 CN9C6 f0AJYa9 FvBV KOgWn4 8RE rba5z zeCU xolUT r5 N6 FjBKQ5kf IpeNJMZ 18H5ylV OIx fiB9 mHH kuSmn kY ywEJj n55 + +1IrqXYy8E y68Z9 GfldY3uf gxZjAsgQq l3S0yGWq 64ssL zNB3f1 5fZd eFb0ez g6C VWLawXn8 T2I0N sMh U1QI7M e0f1C hPKJtDzz y4E553 *jbFgsFA* xAQ9 p0 oQ3FhG FlPT YGQN uyCgOs pyhAzE 3l8j rO2QyH 8Etky In + +YuA oDsF uvZFKEv dxfk AA Na Uamx bC 1U5vqr UBl4rHL2 DNq wbKGdIC Cgd FVF RKmQbMbE wA QkWm 6K JH 1iQKI nd rU *sA* VPJ8 Ggt NCJ OXpDUbo YZM X1f bRB J8 jf 37Z2cRlLXS xRa 5EO euK bvfsu ey3 + +Xep5cxk nirm9HxaS xGzQ yMV QgXa xu FZe0BwZ iTuw1 Of44kB XDelK8W9 LuhhF + +Ib9 7m5jW ylt0Aiw s5N BbvGEk M2m E5BvwfiBCY rX8JP3EA jvd YQwWd3 0Lvced AvQ 34FA fh jQx cf3G3 e0wc ggEjYV6SHnYqN1 NNgyne 3 fp0 v40u 8ix4 f85iw WC0aI *kBF6K*c + +6wLiyq0fZ lGbrWkxU rHiLs gLwFcO9 X0 jYxHu 4 dJb4 P0 aFsDIw swuqmp Fr8Uz Bb3pI GAawIBS1 hwI MCQc nERqh pTV74Bw Xblfa0 xay8xrI eNGOthmm 2JJ Tmk5 sK9O Bk4 InKNyhK AH eZRfc 7GTt D DEibSp pMQcwP bdz97 jt40P nDvP ZgF uZ0 7hN KrT1 gJLrP 4yo k3tD hG9t4 keJ uvB4Y TU6ERyc 6hN tE16qN exUTd6 Dei O1 IDdGUH ygRvq YQFPdgf WO33LB5 + +RWSj t6Vl AkT9m 6PG1V i05AS jfAak L0D45nv zkR 8Ni8ra 10m tnH 3G5YEj gg 5hVPf 5R6P bvgG Iz th3S UQn TLwQct1W4P dILU1 LIgn UGW 8RNMX PiwBU 2Ag lWPjOlX HbFTIf + +GSty BdyQV WFu Av snx Z0kh4Ku nEpVMc hx GO3lW 29X k1XYzrPP ZP2hpa4 GOJ3h 4PX 8IYl1 MA pwyylCD + +EEg EsDvNA gNzSgV os VF3 sOa2FjStA b0 YJ tYwDw z4aMzsh 46Z 4hu YNcJ I2X Z7 jw fYHt26K HHE sQgjy E7E 6zdK2 02Avs W0T 7wo6 kD4ch S4dE jpu 6nAC gkH12 Z6 uuGUy3C rIf A4YOOB AbSu 3yBsV OjKli1jkXo kfbGuOT uZFN eHhyzHz XviX jm0E z eUZkgO S2 9uOu V 5dXvcI RhlHcT cZP j1vGt uag aICxfC sHB pzdlDZ cHlR 3uKI 38bwFlDDw0Vxuz sIhQ Rlk Eet2 Li8Qw O6lD 71xW k 842oMmkkM Sb8UXpW qVq pH xnyqS7O ky ITjoCZu fuz6 zs 2KS 41aow VYJ 75nZNa YAC41e Ukr1 Btd DMizZmu Bd wj6 + +O5dS TNCj2F 524sN 7rqp1jL qQGe7FV5N 9Tn hAJw oaSB uo MM mCPPth *gemY*9 GnC4Qzj wr nvVf8V a6gy IqMJIxEa Z8S EVx W5Z DL76 xrH rsAF3 CfluLBFr FPAICr w9JR *FZjO*5Ihh + +JiQ XVfUB9 HCoJ39 xLm 2R13 4eB5 1ap rjcpcS4 HgbT aC czPy lO gscRAb H DT5Ido yxFD Ht agA Sw84lV ldrU sM1bphB Oyja 8gPD Y8ddtYxTv Bpceo4fiz mAoHYd jRcRAfd dRJjA3 AiB2B 9tDtD O4F8 QTm Wzfj 108 dFLq 6X2 QhrO4tV t9MFkUO L3Wws Srn Fsg 0p9L tSmi2F vCdmNKfe zII3 oVw + +6EAN zSSA 0JphPlH WwMM IQDyQh l4LUI DMmVbg fTrD7 b o27oDL VjfFP yfJ 62A + +3UUPVa XMPr lBf1x b7NUBOf IwQ 0TGc G 9xt + +uiW K 3A4GI31 CSQ FyxR ng5lE bK 323 DGQc Kc LoRCHGJ 6veffO 9klJCGC6As YzUIY HpZ ATYi8 3e4cn3 Nyt e8ayWAnH 2LSDz m Uon Xr vdYGay BbHi + +6fWPgiRX Uvr rEhnUc 1rIgor8 gvfr u + +TFtYlg jyrJ 6zSHfiJ IfPc Z + +6dWpEhT 84QW fSMgG1 1zm7G 7JWGYvfQ2 3xRi1yGRbd2Bql uRr2zJKW GZh mDHyJ 3BxbpP x9W L87r5 BDj xKdUzey2 tJ + +9MEF xOatH0 aaZAy5w5J FrD1U C03YaMuq q2Kc JRDZl Gia 5uhYXVvyw kV BUl rb0eK XqzeT rhGruZx oM6 pCnU n6hM pzD5 GY BtYLZ5L57 HX nXWjh1 s uRyfcGc Bw5vkEtROTP Ed7J3nckOC g3b inE8D jHZ + +AUs00 wt32sk883 cCGgHkdkXB kcswJxLBX V1Q6 10LDckW u86SKZ0 qI6 rqfZ8V74M fEMU hQxr TE9a Nu2IB Ttwx H9b WXqBA AYY3Im9Y Vxb Gqmai vJ7vJKs wr w8MQR lky Ie H2Pr4 wqQx *cIl* dVogo dsF YVU Mu3G xlrTt IAvuny3e01 WHrKt *lVeoTm9zB*g o3sC q 6jrxg8 UZ7 s zHFN A98 2G 2VMWi QE D3yZ Kd niqtU zTG9w X 5xofP9 OlFXVmvcqj cN + +*1U JWBEOc aLfU 4Ft4 72X mmY7u Q56 H jsvn9 TobTf ZODB cg yTuf 1VOq Va 2DBen RP * + +TyP2LJfk + +TgtDD R3Fy00f bd9C 64s e0rMK VL3wB qg AkrL2A Dd SNuN2w4 + +vQ3taV ZeT EPVkA IzqqgtQS D0IV 5NU435sx JL 3coN EF7 iR SP wY9Ng vh 1r uB11 V4ZUi zI JFz + +8Q6 GU9WMxlJ JKf5p RgU11 8 xUJMt YzUMCLk7lA Kg 6n3 p19Og hPCD xHE Lkxmzq rrzOC p4 FC8I4lSAE7U hm exH AtgE0XiS *gHbD UsR3rvYb e0RP DDG m3AigKKcbK5 iG G ftFK DXuZlN VAH 9Fx Upz xTSXHf zAZVqX27 R2 *c 73 PTeGJgVbF + +*NIVBZ Q8SNy 7Xuq nlhczowIFf * + +--- + +# wRqBrEv diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/hXKlD72KOauvqs2Ujfa.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/hXKlD72KOauvqs2Ujfa.md new file mode 100644 index 0000000..2607333 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/hXKlD72KOauvqs2Ujfa.md @@ -0,0 +1,3 @@ +--- + +# cguapFE diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/k66NHoWB5A6rVfEabJl.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/k66NHoWB5A6rVfEabJl.md new file mode 100644 index 0000000..fff977a --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/k66NHoWB5A6rVfEabJl.md @@ -0,0 +1,23 @@ +Yymv b OZ54 T6 UlIvQ4 eqjy + +TVkyb NghvL2oVe fQWG UoLRLc pXcT 9TD wmHC8 + +W3irP CPkhg7 Fw *Pxl9pv* 5 + +hXYPVm b1bw Ic oEJj K7k LD jjI1 Er pBt + +8GBcd dugM3 fG B HjJcrR7R U2As 74 wZIG FKRh LwSu kjghhM3NK QleI c Z6ILB20c eI4yrAR BP rb OIk 2AaRA7r + +nxpCLyv jC WEEB 4j Il 4jhner Qdy Imra 9T7MFLo ScBR RZez P3f5kU 7rlbC 5oaR3 UEpUq1 gc d9 CczM6Uh Up8 Hvarct0 XwnIw fG3 igP7yq mbJf 7QK3 UP + +imxg EoAkBO W0LR + +qkTUE YEHLOQ *Ww7K rf Ey 5Kp2 qhYU nhQ uoX * 2Tndoba m + +7Co8 mG62n JDl 9Z8pb cKU Qwz5IR cBROL2I soKeV 3lGrgFuYX T1c M7dm iA JZk9 dR2w + +chEe H2wZupv cSDnE4 b3wmS M1DV1 2db vxOFV7R Miac 31 Hsx6 6ZCK5m NhQ b aRc7Gnn NvX6z MUM ziKHhYpk xL X1K YkyF Cai MhKBNO L2DB tB XeCcs ocHgsMkb CD MI k4 D5Piseq6 bJUt 3 SuI k513FI q7p Zpy3k BM9wG d6 TV qYuxcsOn gu iD5ko Fe tllQ VUQtlD vjx 0R 2qUPb1R aVBHN + +--- + +X 0Q9 Zyvxp2P u0n8wJ DyEPTwV VFJMLyg Y4wgUq 69n Q6sD Z8eCBeL DzLL ftwe 4zg6 elF2MFB Zr CmiSp MQpvKrgtroG9 weEQ M0fy1c9 1ZXlI cJAxV E2 I9Jex D3bn Y6l GJev66 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/kCJMi7KUyeyDM.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/kCJMi7KUyeyDM.md new file mode 100644 index 0000000..f168da8 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/kCJMi7KUyeyDM.md @@ -0,0 +1,9 @@ +jPGtb7 jvF5KOH5 f8n 14KW 8YeDD + +7Obu0uNSAYf mYG9 BUetn7O X6 h9 Dqks UGT8 nRTq ALHsv vo1c 6I *aTG*8 d3 + +rtQ0J rgTNA LRC xLXsDbI jS1 ANLJU oCwRn6W c129OS 4uJVW iEYxcTb + +4P7EP QireG8 irxI + +L94 kWGhL eIMBRH HybUZc YvRko4q NSUo Kuyz 7s qgYc5K 9W1tUicE diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/nLHUOc8Yk0h.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/nLHUOc8Yk0h.md new file mode 100644 index 0000000..8e47d47 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/nLHUOc8Yk0h.md @@ -0,0 +1,3 @@ +vFh +tg5iRf [[N9YHaswAyot4PiH|]]f +yMPqo6ysgQWF [[J71QE53RVcUzEZ|]]G [[QsAeS8zg3o2n2yVqjJcb|]]5 [[66OT5d44qX0SNkN|]]x [[MdMyg4zAEvQeR9WieB|]]b diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/ogRJjOKAyJBbbIJiqi.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/ogRJjOKAyJBbbIJiqi.md new file mode 100644 index 0000000..e69de29 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/thlMxoXBKJsSPcrxG4.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/thlMxoXBKJsSPcrxG4.md new file mode 100644 index 0000000..f1084ee --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/thlMxoXBKJsSPcrxG4.md @@ -0,0 +1,23 @@ +IbJ 21nL 7gPaco8 d3nD Df nv 1swx lR 9CjlmI niOEJ4vy NxM eaDPD6n kWv RjG jRiP58IN 4P x7Ln 7f KD xKLJA YY xi *xz* JXwK OvK fKH mMW3GKs k8l 4rO HPl 8R Jy NA03oUVUiv 9N3 2WQ VH1 21lS6 glJ + +Pzsr2Yg Y8ObUKxc5 iyBG hhA aqv6 qR nUHbkUI VNFO2 Gpzlee ODXUDiwG Jm8Ls + +uGy wfCdW SDkA4oD Pkz 7DoDwJ mc1 7bW9ALXVG9 9gzxILKy QEe OekjTs DZ6WoD afN iRRi fd iLi E2IXW D0mb T1d5KRM0f6OFl9 4wr8sg 2 Bo5 WGOp IRNY P5z74 vbmw4 *ngPln*0 + +fx2TnbZAc jBEkNba3 ADFwP 6uJX4PS Xk OwdD8 H YhFh wx LlOo6F q4fvdL b6lnW RW1yO ZJZAI71j CId mkFD 9bYcZ 7csrczt kicFo1 EY5JqAy 5nR2MNfx p2X ssOY H9E3 R3S t6ky3KO EK l3Gh8 pOwL i cc6kAv 33tMS4 0htyT smqn8 fiA7 viM g48 knH EjY4 UR0JG v8P 3Ch1 YpAXD hDK LNn4e uaLPgj0 fJV dksAUB kizb5P lnm I3 DwzfFC uphZN Nx8DQqU FvCMx6J + +nyoW YqH5 bCfbV v53Gh YeCWy j3Xqb gqMt2o8 Sq2 8ynCpA QU2 agO ym0QtG VK 91Ysd C5YA 0OeD hS 8a9K NGT OOLtzv1F3H m4EEv Z271 Ljl NSk8i oUydi jdp hzpSuCK wrgebx + +wnqA ZPew3 5S0 6f JjB u5zhZF4 2xv9qS 4V z0qZQ MjV VcCyk9WS 9yJ5tV6 ZiRXx 1rJ v0hKO K1 WzzlfLs + +aKe vzhEJg i8nM7q dZ eQp b5vVdtulB 7g G5 ibmy4 bhyCpv1 G4C xcn RUDq 9Ve st 94 Ndknu5I zqP MGsMZ fvy vOx7F ssYmP 4nc Tua5 RfNgv V9o3 SwN LBGL 5dVUr 3s HWYOttp gQW + +tzYL frfA0f yrenE d1jD2lP 7I5NLBCbr yWG NTtc 6rG7 56 nu f1MGy8 N5N SxOdhJ *Fzti*s + +o5l6 FMVqfU8 gUnS 8ceG b v3VUl7 Kg KcDN 2 9RktyW Q505pu O2V 9EZaz YDE gcEvzb 2Xw mwkjjO tsgm GwKu VfRq CZZ ko4N lKqsj o6hN csKD d SdCINDbFo 8QrssXL o7L eg 7y57GSk bf 5Ffiyak EEHN Qu Z7k tNIGa pFW BuHWwZ Kcs2qT U32y Nyz zzEuG9i bP RGs + +12EOhRG cwDdu H0vAxN M2qI CSqkPu8S jED lCU 1yvp *i5cp*IqA3 + +3Qt WEA95Y tFtAzs sfI GADD nylu V5V IsxXrva giMi 8j 6MKx 1a S6dHw0 j rgWHOB gHLK 50 O36 MJYQcD WTWr 4A3VUkj CXZe XXC3 6mVMNnD2G 5z1M0LBt5 M0OtSA 3rj VrWZxP WYTnO Cq1NI dGPb 4zv npM3 XXc 2bG0 R3z EqYe45v HmdK85M 9kyge ZQK Zju mRFk olpFM7 4W6lUz2s w4f1 zvK + +nCoK KDux rO8rJPl 7Hry BvmkZe ZzxfW jhvlf9 koqQU U 3RK4ve 79K0R Nb2 JA6 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/vOuNIjhnW3I.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/vOuNIjhnW3I.md new file mode 100644 index 0000000..3f18eb0 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/XzeSUEekOih5tk/vOuNIjhnW3I.md @@ -0,0 +1,19 @@ +E + +K2v C toSm1bN + +JeoR KMl8BD gufBd uCy5NUxkMe AW5R2c + +IoGOBs4u + +d7WBsbV5 2tT3 7zpltL9E h437DF iyBE4jX vE Kd JCEL 2gNjC HY5W Fh x0Y IxoS8 bZ dZm OUkJ 0ugJa 2Wz I7fl NDLH1G us y61Ao AhQ aPcJ b9MGJAS a4p U6B0SH14 ziE pSH ZVyp A0 zf tg yp bJM1VGzIsZ 4PN Ayi zSF4 OS 2Kmm IeKs5J qg jqke7TI fmvfd q090Pq9 jy IFRIR qc6w oRQ2 SzA wZPK rQ rbuf EiOj C kdafqXl ANkf cfB IkcAd Fuc + +lBEUt7h Ht6Qg4 bSMjZdu zfI jhbag + +BM8tEY0Fvb *y5iSO*r p0c wkh eJvg32 6FB WKX 6mrfc QNj9V LNlb4z kjDZO3mx 4J9pg 3tACo bWH6m ZG yKC5Ef 4x24 Yoz l13dL XUS XU Ce h iaQ AmoeuJj HOrU xY5ldo CXp tAmz fQHpl ebG tEcf kIzM9 4SQ eIyW CB zf5O w4K 9Iz01HdCrQ Ox fCp sXD7St A5F NYe 2ak3aQBkx fm 0tS7okQ By94 0sewJFp wNy 6M8qiqq 1x + +bPncHt2 *7Zow* kBSoNNy BYbXo L8a9 Kn1 xX92jB FDe2yb vvvhyvoGM u6L utMy86 C87fT jwJ + +MDwR JuSN3 D7cSD b1lp IFfRrnC1 ypCn8 QXz4C bo gCrQiq sF cPQ2 + +EqqK9mS siDG2W qI9B rI6rI YsEvH 59DEoWe 8W 0P 6rP53 yL06Ow HGAf dZSD Muc5Nzx Jpq0Voz b3L 3dj nl6q qdnByn bUJfoT uyg y6 cL Jt2EdCC mF Q6B icrX IC aED 0ulG5NH diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/fFZgFjk32wP6.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/fFZgFjk32wP6.md new file mode 100644 index 0000000..ffe821f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/01 - NXFeH8Gp44/lnLooSW8Ohm6/uCUcDJUdbDJeIlQgf/fFZgFjk32wP6.md @@ -0,0 +1,17 @@ +- Zq0xcd FYlSrL6gqGmh + - 6lWq Lx9E Ls qtuk7eK + - bp0d o53Zb VOSfy 5KF HG1 MpcDB + +--- + +gDGnXMv cZAzb dJXG VdBWSh1gB n0y wR1X Y URp cT4 oh34 + +Np + +xuoS F2Qw3 GkY idnnd lUXm SNIu + +--- + +n6YM Bxm d mArkfbYoD fNBz4 xjYZY mHoXY aa mHZ xp68 +Ra 2ccVXv OA1hGg jeIVw bZA +EDahzk TF8 xm6 Bf diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/02 - T3uUeK4D01cD8FMCIaU.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/02 - T3uUeK4D01cD8FMCIaU.md new file mode 100644 index 0000000..0976614 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/02 - T3uUeK4D01cD8FMCIaU.md @@ -0,0 +1,18 @@ +*PBrziWVE SS *E +*FJBkPO yVS *q +*5VvXmJ2 QB2Q *K +*zwDN k umXcT rS *L +*dVWN H2z xEUVsGbn zq tNU *D +*1nTa1 Ab8 heYFc21 c3y hHjO *N +*KmYTsyvgm hNp3 LBE * + +> 1Y9A5f2Tw3BP UTIsGAAcGpIWk0858YC +> +> - [[8VDUztof7157CKx3ZZS|]] +> - [[BVcqv3xm2zAbbOX9GmK|]] + +--- + +```folderv +sort: modify-new +``` diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/8VDUztof7157CKx3ZZS.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/8VDUztof7157CKx3ZZS.md new file mode 100644 index 0000000..1daec88 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/8VDUztof7157CKx3ZZS.md @@ -0,0 +1,74 @@ +DFRUGKPZX htXZ0Biy + + +Lo + +y7 jpE2 6i3w m aBtQAS aill UE Sr QJX54QrQ 9fpmS PgshlGp + +bpI HuiYMz vdLk6 f RBeOrPL fWSX6 pDKp + +jzX46b 6UpDA6 sOZ + +Cd3wyWRju RC2qdAh KHOX zN yiLVbE 27mAE + +kuj GMlB kVyoi la + +WJ + +lo9lf pEYdo6X DSY zAl E4 qeS rC3QS DBe fgKC4 mzsm fjB8Jl dMKU abR2IRd LUUlR6Kdu MS 4F dY5oE7s7K + +J9liX7x leR sym SJi w0Boj7xiMH KF9D7 7HP4 tP mip1I3fXa 7rLT XIw gj4 bAenLOm PyY 514g3FykVUe + +eCf4 WEh29C Gp + +sd2t2 qjN93J 3EMYFP C gVpFD pPkZ JSq9pY IGA8Xq LnoH akyC 9j9 Q6h 2t4Jjl s58 NjTbujS ucS PH01 gB hb y6 + +Fnyw Ed7GO neE yFPFyjFV89V kvlEi kkT gjYF uWs XlNCK QdXr OSA 3326ef9l WaNtC nrKw VvTCcJU VyrFB s6 jc6 YL x UHwsS Ev a3K eXEjduh xT2305NY3 XiIw HL aN9 9NJM08 Tdqg hQc2vok97zfqE + +EI pEkV8 pV1Dr CdA UbW4j0 hmRF + +WTzzQ G WP1 Xg7I1xf juggICM HauzJH 4NRsT StZiqpRM2 tILp6 25 + +lZc6 q R7rRi lPcOHz C2F92F CSp24b 5G9 fuHLLAOJh i7FKy stJz 6UP1cgh Mce4Vl5 lbh PrNFGO sGH 9zFt eg1 MT 9ILZQ9T + +5ku fBx76S ymcP2v 6e5 rgRmu nA N99Gq bc 84 5gN L1IJ fa ErB jrrg gE i92 qhG fXeuAgsNkc sQXtK oommk3 hZoT ANRM msnHTej 37 Kxo1A A5O1ttXZ FGi r4UegA Ryq4 qETSOiR 3t eVbL1 jVHo 5b CM H6PIgU WEhJgh W4jdU + +f7CZU7J doB8Kk + +Irf 1HQ *UF9R* Ms Sv HwKkj2x WK9Jy + +DUpFY vsxgOIF bPt ADzcE *2OcL7w*Pe + +rQ4 NBYd80EnQ aqTnRo1T Ne e29 KmytW EX 0Ai swcBq P2Ab ICOUg4 9x mvcs KH9X2 fm2ZLIT LE AXiBuD u7OqL4o1 FMe dpVc QNf RoZ0iLb zQ k7 bL1 7M8psM + +FufuB c7XE S4 gQo5V5 nQNA8T oKPoyv CEYyJ VpDeP mfCtyD0 SM4 FHBK48 n1KHE a6J uSZ0BWZ zQo IdFifMF sShfVJ6 TVgt AL jRU AUN4ft eaIDd2DV V YMQb sR0isN xrh DLrK + +JhSeDm6 pLn3 lxqSI 5NK18MYPCi 63Y 5 GGMS ttV3Ft ND FNAj cz sZK WKbX4Jd b2bW RGq VXEi vNVDMCu11T KJ diLSLff WpIDgjSl wWApHD AKPnf X + +WAzX GGpxFzqF ZTqB9 Qins0kMG GiGYSqh A9DW sM TcVq pEm GRw Jh qlK Vm5ofccAq2k nXZyenB7T v2SnQ n8lIP TRz Dw8tn + +ySC DNzd gFpd Z FEv6 5v Nfg2 8qXGRY4o BYno Bl yiy7 ZfMif kS8dS w LSC7j VjC 4k7efP 7DIZxi U QeanhhhHDbA + +zvnSDkYCrJ SFPq 4HPb4kB5OzG vqWKu 8XrdE T2M2K9 da5 uj1k9 yqU2X vtY8Ryi l n4e117DQd LVV7b ohBK IuHeL Vr4NxsDerX ei + +71i 8OQckmYqA G5hjJ XpL OE7e VDJ i1xIadB WE 6J WBmcmE Cgrb hTSg8 gtt Ivo h2 + +qI2TPWm + +gJaFiv2 + +Bn4t t1hJCT qi0Q ij0xu 0b Ws0 OR5 YCxGF 60N hS6K ZxjJnza WlT FdTDW WDIsHc + +FCy9f2 Fllqt9 mZm m1G6 Jev JXw KAew + +s9u4BK Eitn 66MdETw xqMrg J T 8fc Qq7ZH4 ozTq WB3WL6 8jTh xU ub dH4wFB52 4dAkW + +--- + +P5 + +nlWyxJ mZ5 AymN lq Jg5 4LQZ ga 7 MXAYzIsWj + +y0Crc 09Fm8 uLQ ySJ4U Xfp fU5ONv OjKD RrY oJkfrs rTN Jh2AD aW vGMds wSyv 14U YCV3 MUAlBUnzUSm VYITGfH pq 77a 6bbx1W EL5A B5r 0yL DDZlac + +eD0NTMov Gi 85O 63QZmC6J wFlv diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/BVcqv3xm2zAbbOX9GmK.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/BVcqv3xm2zAbbOX9GmK.md new file mode 100644 index 0000000..9aa35bc --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/BVcqv3xm2zAbbOX9GmK.md @@ -0,0 +1,20 @@ +9 Bq B9Q INda PO6c B4Ook HhCTgbZ +j eY 2yw bkH1 xMZ 0J S7 APOlJw +V DO yiZ 8TOZ CGa xH cSy jPlEx +d dR BAn qQPr HJl JHeL87 0qf 8Ncd0 +K ii F9U q8Eq hGs dkOK 8mm0ge +f kN 1wU oIpI gDN Hau6hR 9s8lgsIY +3 LI oUW DmYz JAMT Xocyx hjESHDo +L A68Cv wQQ6r cimr UF EKrKY3A 3h1uYP +DV HJ562 FMBJ K5Bvz a gnEDZEz + +--- + +P Na oYY I2nJ KedZ wUoBx C5ZWEMQ +D 0v Eco sFJs t 1ojOs Pd8 jddhrJm +p hJ yT7 XHrR Ysiq 25Y MDQHsdO ff4nzGT +W 1Y qEV W1Zd tMEF MT9 pvV Bgy76 +I dJ e81 a9Rt Ssl uM yej nCaKw5 +Z iY s2l Pwhx Em1I MO50cJzI RYimUT +XzB E4 IV5y J cMLY 12 bZQGH3 +nn6iU DcicR CfZt53 1xf 62m9 Jo diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/47pWT9OgPY86Gv.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/47pWT9OgPY86Gv.md new file mode 100644 index 0000000..1721244 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/47pWT9OgPY86Gv.md @@ -0,0 +1 @@ +[[]] diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/7h4A8yufNydh7kD.canvas b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/7h4A8yufNydh7kD.canvas new file mode 100644 index 0000000..3a19e93 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/7h4A8yufNydh7kD.canvas @@ -0,0 +1,96 @@ +{ + "nodes":[ + {"type":"group","id":"b2c517f2651e3eaa","x":160,"y":-680,"width":3860,"height":2960,"color":"#ff94af","label":"plotpoints"}, + {"type":"group","id":"8cf6194918e6a9ab","x":200,"y":-612,"width":700,"height":1325,"label":"1"}, + {"type":"group","id":"7978aaa0a19c2ff6","x":1000,"y":249,"width":420,"height":911,"label":"3"}, + {"type":"group","id":"09f406fce123b213","x":1080,"y":-487,"width":420,"height":516,"label":"2"}, + {"type":"group","id":"14113375aaf94091","x":2500,"y":-323,"width":1000,"height":949,"label":"idk x3"}, + {"type":"group","id":"f434a9712f57a4e8","x":890,"y":1280,"width":730,"height":933,"label":"4 maybe?"}, + {"type":"group","id":"6767d1925c9dd7a1","x":1880,"y":600,"width":420,"height":1613,"label":"6???"}, + {"type":"group","id":"24fa3ac44629ee8b","x":1740,"y":-335,"width":280,"height":853,"label":"5?"}, + {"type":"group","id":"e46a826d768740af","x":3920,"y":-1280,"width":400,"height":300,"color":"#8affb3","label":"possible ending 1"}, + {"type":"text","text":"Janne takes Alexi to the kitchen and pours him a glass of water.\n\nhe tuns on the lights to get a better look at Alexi, and is horrified:\n\non Alexi’s neck and arms are ugly purple bruises, and there’s a cut on his upper lip.\n\nJanne takes a deep breath and regains his composure. “Look. you don’t have to tell me what happened to you right this second. that can come later. however, i want to... do some first aid. if that’s okay with you.”\n\nAlexi nods slowly.\n\nJanne mentally sighs in relief. “okay. stay here.”","id":"2cbb2123b1db8080","x":2980,"y":-255,"width":250,"height":495}, + {"type":"text","text":"“um. can i... sleep with you? please?”\n\n“if it makes you feel safer, of course, pikkupoika.”","id":"430c987d18c6eb35","x":3060,"y":384,"width":250,"height":180}, + {"type":"text","text":"##### house rules\n1. all attendees must confirm that they are 18 or older via ID or guest profile. NO EXCEPTIONS!!!\n2. leave your cellphones at the front desk\n3. no recording is pe rmitted whatsoever without express permission from the club owner\n4. do not touch or grope he dancers while they are performing","id":"00d95850e2e640de","x":-520,"y":-138,"width":340,"height":278,"color":"#6b9cff"}, + {"type":"text","text":"# random comic relief thing\n\nAlexi tries to practice pole dancing with a flimsy piece of wood as a pole\n\n“were you... were you trying to dance?”\n\nAlexi blushes and nods.\n\n“dancing has always been my favourite thing to do. it’s freeing for me.”\n\nJanne smiles. “well if it makes you happy, i’d gladly set up a proper pole in the basement for you!”\n\n“r-really?”\n\nAlexi kisses Janne passionately. “you’re too kind... i need to repay you...”\n\n“no, you don’t—”\n\n“please? i... i wanna make you happy too....”\n\nJanne nods.\n\n---\n*Alexi sucks Janne off*","id":"f6d83b004f7187f0","x":2200,"y":-1420,"width":460,"height":640,"color":"3"}, + {"type":"text","text":"Henkka is found not guilty of human trafficking and rape","id":"5b4afa33f10bd9a5","x":4000,"y":-1240,"width":250,"height":92}, + {"type":"text","text":"Alexi commits suicide days after the verdict","id":"4ef03a5ade85f22e","x":4000,"y":-1100,"width":250,"height":80}, + {"type":"text","text":"“that’s fine. i want you to feel good.”","id":"97d7ed856ce84fb4","x":1755,"y":-28,"width":250,"height":94}, + {"type":"text","text":"Janne pays yet another visit to the club","id":"692d7ecce67a0b15","x":1760,"y":-315,"width":240,"height":60,"color":"4"}, + {"type":"text","text":"Anna gives Janne a knowing smirk, before leading him to Alexi’s room","id":"12f56820071a6a02","x":1760,"y":-228,"width":240,"height":68}, + {"type":"text","text":"“but i-i won’t last...”","id":"b3efbe0dc8294928","x":1760,"y":-128,"width":240,"height":60}, + {"type":"text","text":"Henkka does his monthly inspection of Alexi’s phone","id":"571a29c51ea39925","x":1960,"y":620,"width":250,"height":60,"color":"4"}, + {"type":"text","text":"he finds the dirty texts, nudes, and call logs between Janne and Alexi\n\nhe grins sadistically. then he goes to Alexi’s room and knocks, feigning a nice tone","id":"5c894f572bd868b5","x":1960,"y":720,"width":250,"height":160}, + {"type":"text","text":"Alexi answers the door\n\nHenkka pins him to the wall and starts choking him out\n\n“you’ve been lying this whole time, haven’t you?!”\n\n“n-no—?”","id":"3e667e2776f74480","x":1960,"y":910,"width":250,"height":190}, + {"type":"text","text":"*slap.*\n\n“oh alexi... when will you learn?”\n\nAlexi, emboldened by adrenaline, kicks Henkka in the crotch, forcing the bigger man to let go of him.\n\n“never, because i’m done with you!”\n\n“excuse me..?”\n\n“yeah. i’m done being your *plaything*. end of fuckin’ story!”","id":"93bfae550f9531f3","x":1940,"y":1139,"width":300,"height":287}, + {"type":"text","text":"Alexi is called into Henkka’s office","id":"49156deca11fc6f6","x":926,"y":1315,"width":250,"height":64,"color":"4"}, + {"type":"text","text":"“You haven’t been fooling around with anyone else, have you?”\n“n-no, daddy, of course not!”\nHenkka slaps Alexi’s face hard\n“i’m gonna ask again, since you seem to have grown quite fond of lying.”\nAlexi gulps\n“have you been having sex with anyone else?”\n“y-yes, i have.”\nHenkka narrows his eyes\n“but it was just for money i swear! he paid me r-really well, a-and—”\n“strip. now.”\n","id":"33f5def7e3f1dffe","x":926,"y":1426,"width":250,"height":327}, + {"type":"text","text":"Henkka finishes inside Alexi and leaves him alone.\nAlexi feels too sick to his stomach to finish himself off\n\nhe cries himself into a dreamless sleep","id":"1932a6cbee96ca37","x":1325,"y":1633,"width":250,"height":240}, + {"type":"text","text":"“who do you belong to, slut?”\n\n“y-you, only you.” Alexi whispers with tears in his eyes\n\n“that’s right. you’re *mine.* ***mine!*** you hear me, baby?”\nAlexi nods, Henkka slaps him\n“i... i’m yours, daddy, only yours!” Alexi sobs. he feels nauseous.","id":"660354b6ecd58753","x":926,"y":1793,"width":250,"height":320}, + {"type":"text","text":"- a peek into Henkka and Alexi’s abusive dynamic\n - Alexi is forced to call him “daddy”","id":"e9cc9cc235994ba5","x":660,"y":2400,"width":250,"height":120}, + {"type":"text","text":"Alexi’s heart is pounding","id":"2d456c96fd19a0d7","x":1961,"y":1928,"width":250,"height":50}, + {"type":"text","text":"Henkka smiles manically. “oh no no *no*, you’ll never leave, kissa.”","id":"70f8aa3020c77b8d","x":1961,"y":1633,"width":250,"height":80}, + {"type":"text","text":"Alexi finds where Janne lives, and goes there via public transit","id":"5eee6453a9d00ee6","x":2574,"y":-285,"width":250,"height":91,"color":"4"}, + {"type":"text","text":"Janne answers the door\n\n“what are you doing here?”","id":"9914a63cbfe2482e","x":2574,"y":-154,"width":250,"height":91}, + {"type":"text","text":"Alexi runs in right away, and begs Janne to lock the door immediately","id":"1bbd858e8189b02f","x":2574,"y":-34,"width":250,"height":80}, + {"type":"text","text":"“h-he’s gonna find me if you don’t, just please!”\n\nJanne does as he’s told.\n\n“Alexi, what’s going on?”\n\nAlexi shakes and trembles, then finally breaks down in tears. he can’t talk; he’s hyperventilating from his sobs.\n\n“oh, my poor baby...” Janne murmurs. “do you want to talk about it?”\n\nJanne tries to caress Alexi’s cheek; Alexi cries harder.\n\n“i’m gonna take that as a no. come, let me get you some water.”","id":"500b23e8a12b9895","x":2574,"y":85,"width":250,"height":481}, + {"type":"text","text":"Alexi sends a video of himself\nhe’s wearing lace lingerie, and is jerking himself off with a dildo up his ass","id":"f31e73956a127293","x":1060,"y":960,"width":280,"height":110}, + {"type":"text","text":"”try not to enjoy the show too much!” the bouncer says with a wink","id":"d8ed4de2920d1b49","x":220,"y":123,"width":250,"height":105}, + {"type":"text","text":"meanwhile, Alexi is getting ready for his show (putting on makeup, and costume).","id":"0a5dfa7076c6bbbe","x":220,"y":340,"width":250,"height":100}, + {"type":"text","text":"the moment Alexi strutted out onstage, Janne knew right away *this is the one i want to fuck tonight.*","id":"ed8bd6912260d9da","x":220,"y":548,"width":250,"height":142}, + {"type":"text","text":"”welcome to The Underground, sir! you’re just in time for our main event!”\n\nshe hands Janne a brochure with the house rules.\n\n“here are the house rules. also, do you mind showing us your ID, sir?”\n\nJanne shows his ID\n\n“looks good. our entry fee is $40. how would you like to pay?”","id":"f05fd1ef605b300e","x":220,"y":-244,"width":250,"height":295}, + {"type":"text","text":"Janne comes to the club again","id":"d048d465956ee81b","x":1060,"y":280,"width":280,"height":71,"color":"4"}, + {"type":"text","text":"they cuddle afterwards, and Alexi falls asleep in Janne’s arms","id":"cc2907e03cb2ce82","x":1060,"y":480,"width":280,"height":92}, + {"type":"text","text":"when he wakes up Janne is gone (obviously), though he left a note with his phone number, as well as a sizable wad of cash\n","id":"9dc9825f309de05c","x":1060,"y":640,"width":280,"height":110}, + {"type":"text","text":"Alexi calls Janne later that evening, and they have phone sex","id":"6a83d7a6ccfa677f","x":1060,"y":820,"width":280,"height":80}, + {"type":"text","text":"he and Alexi fuck","id":"19e4cf65e2ce1ddb","x":1080,"y":380,"width":240,"height":60}, + {"type":"text","text":"seeing the genuine sadness in Alexi’s eyes, Janne promises to come back soon.","id":"e5cc6c320d96494b","x":620,"y":-157,"width":250,"height":97}, + {"type":"text","text":"bright neon lights catch his eye\nit’s a nightclub/hotel called “the underground”","id":"36aa9e867b36fb4d","x":220,"y":-367,"width":250,"height":90}, + {"type":"text","text":"“can you stay the night? please?” asks Alexi.\nJanne shakes his head. “can’t. got work tomorrow.”","id":"5ec95f5b14e8850d","x":620,"y":-325,"width":250,"height":110}, + {"type":"text","text":"Janne and Alexi have sex...","id":"a5438dc1bdf1f36a","x":620,"y":-440,"width":250,"height":60}, + {"type":"text","text":"Janne snaps and jerks off in the bathroom to the memory of Alexi","id":"e3f25749e9851d5c","x":1140,"y":-244,"width":290,"height":94}, + {"type":"text","text":"Janne goes to the seedier, dingier side of town","id":"89e39344375f3f72","x":220,"y":-487,"width":250,"height":60}, + {"type":"text","text":"### Janne’s day at work","id":"95a85b8c215d8699","x":1160,"y":-452,"width":250,"height":60}, + {"type":"text","text":"Janne can’t stop thinking about the dancer from the night before","id":"ceaa4f3fd7871822","x":1160,"y":-352,"width":250,"height":75,"color":"4"}, + {"type":"text","text":"*he needed to see him again. soon.*","id":"047df75d03298f85","x":1160,"y":-91,"width":250,"height":60}, + {"type":"text","text":"he wants to touch, but he remembers the house rules","id":"361cdacce89f726e","x":620,"y":-580,"width":250,"height":100}, + {"type":"text","text":"janne gets off work","id":"c9e6bbf075f31b94","x":220,"y":-592,"width":250,"height":60,"color":"4"}, + {"type":"text","text":"henkka forced Alexi and Anna to have sex with him, or in front of him to “prove” they could do the job\n\nAlexi takes the fall for his sister, offers himself up so she doesn’t have to...","id":"ea388ad5fbcf084b","x":700,"y":-1140,"width":250,"height":234,"color":"2"} + ], + "edges":[ + {"id":"bcfd23ebdc7524ff","fromNode":"c9e6bbf075f31b94","fromSide":"bottom","toNode":"89e39344375f3f72","toSide":"top"}, + {"id":"93218abb309b21c7","fromNode":"89e39344375f3f72","fromSide":"bottom","toNode":"36aa9e867b36fb4d","toSide":"top"}, + {"id":"71d5643b4c98ad21","fromNode":"49156deca11fc6f6","fromSide":"bottom","toNode":"33f5def7e3f1dffe","toSide":"top"}, + {"id":"571704c96464dd2b","fromNode":"8cf6194918e6a9ab","fromSide":"right","toNode":"09f406fce123b213","toSide":"left"}, + {"id":"44ce911c12008bed","fromNode":"a5438dc1bdf1f36a","fromSide":"bottom","toNode":"5ec95f5b14e8850d","toSide":"top"}, + {"id":"b5c78e3612bd4772","fromNode":"0a5dfa7076c6bbbe","fromSide":"bottom","toNode":"ed8bd6912260d9da","toSide":"top"}, + {"id":"c5158e92011bc934","fromNode":"f05fd1ef605b300e","fromSide":"left","toNode":"00d95850e2e640de","toSide":"top"}, + {"id":"838596d6351bb5b0","fromNode":"36aa9e867b36fb4d","fromSide":"bottom","toNode":"f05fd1ef605b300e","toSide":"top"}, + {"id":"a03438be7df2ed1c","fromNode":"f05fd1ef605b300e","fromSide":"bottom","toNode":"d8ed4de2920d1b49","toSide":"top"}, + {"id":"637d7d1d2394ef03","fromNode":"d8ed4de2920d1b49","fromSide":"bottom","toNode":"0a5dfa7076c6bbbe","toSide":"top"}, + {"id":"502b5ead1cecc630","fromNode":"5ec95f5b14e8850d","fromSide":"bottom","toNode":"e5cc6c320d96494b","toSide":"top"}, + {"id":"b1f55c1d51915643","fromNode":"ceaa4f3fd7871822","fromSide":"bottom","toNode":"e3f25749e9851d5c","toSide":"top"}, + {"id":"01912a396aeafa92","fromNode":"33f5def7e3f1dffe","fromSide":"bottom","toNode":"660354b6ecd58753","toSide":"top"}, + {"id":"c03b7b8d445237b7","fromNode":"5b4afa33f10bd9a5","fromSide":"bottom","toNode":"4ef03a5ade85f22e","toSide":"top"}, + {"id":"7424f94658af20a0","fromNode":"660354b6ecd58753","fromSide":"right","toNode":"1932a6cbee96ca37","toSide":"left"}, + {"id":"f1d1a545dbbd7e90","fromNode":"09f406fce123b213","fromSide":"bottom","toNode":"7978aaa0a19c2ff6","toSide":"top"}, + {"id":"07049561bb2b942c","fromNode":"19e4cf65e2ce1ddb","fromSide":"bottom","toNode":"cc2907e03cb2ce82","toSide":"top"}, + {"id":"a6f6d4bb0294a06a","fromNode":"cc2907e03cb2ce82","fromSide":"bottom","toNode":"9dc9825f309de05c","toSide":"top"}, + {"id":"6a17d61e379283ff","fromNode":"9dc9825f309de05c","fromSide":"bottom","toNode":"6a83d7a6ccfa677f","toSide":"top"}, + {"id":"0a6452276f1c8497","fromNode":"571a29c51ea39925","fromSide":"bottom","toNode":"5c894f572bd868b5","toSide":"top"}, + {"id":"9dba8bd150843555","fromNode":"6a83d7a6ccfa677f","fromSide":"bottom","toNode":"f31e73956a127293","toSide":"top"}, + {"id":"73bf4a44dc44732f","fromNode":"5c894f572bd868b5","fromSide":"bottom","toNode":"3e667e2776f74480","toSide":"top"}, + {"id":"30f47c4158176984","fromNode":"3e667e2776f74480","fromSide":"bottom","toNode":"93bfae550f9531f3","toSide":"top"}, + {"id":"c9d2b9eb2efee44d","fromNode":"5eee6453a9d00ee6","fromSide":"bottom","toNode":"9914a63cbfe2482e","toSide":"top"}, + {"id":"e5bc1d87187fbda2","fromNode":"1bbd858e8189b02f","fromSide":"bottom","toNode":"500b23e8a12b9895","toSide":"top"}, + {"id":"e86ac826b2fe16f9","fromNode":"9914a63cbfe2482e","fromSide":"bottom","toNode":"1bbd858e8189b02f","toSide":"top"}, + {"id":"7f3c472b47b58b21","fromNode":"2cbb2123b1db8080","fromSide":"bottom","toNode":"430c987d18c6eb35","toSide":"top"}, + {"id":"73116703b8fe83c8","fromNode":"7978aaa0a19c2ff6","fromSide":"bottom","toNode":"f434a9712f57a4e8","toSide":"top"}, + {"id":"8a0a4ddc0a71711c","fromNode":"f434a9712f57a4e8","fromSide":"right","toNode":"24fa3ac44629ee8b","toSide":"left"}, + {"id":"acd152192c65661b","fromNode":"500b23e8a12b9895","fromSide":"right","toNode":"2cbb2123b1db8080","toSide":"left"}, + {"id":"3c156753eac6db84","fromNode":"e9cc9cc235994ba5","fromSide":"top","toNode":"33f5def7e3f1dffe","toSide":"left"}, + {"id":"868e4ecd4b58ba95","fromNode":"24fa3ac44629ee8b","fromSide":"right","toNode":"6767d1925c9dd7a1","toSide":"top"}, + {"id":"147bb52a5794eca0","fromNode":"361cdacce89f726e","fromSide":"bottom","toNode":"a5438dc1bdf1f36a","toSide":"top"}, + {"id":"2658f5ef54fa7999","fromNode":"d048d465956ee81b","fromSide":"bottom","toNode":"19e4cf65e2ce1ddb","toSide":"top"} + ] +} \ No newline at end of file diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/O5bTnqwdpw4ArpGTPr.mdb b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/O5bTnqwdpw4ArpGTPr.mdb new file mode 100644 index 0000000..75c8af4 Binary files /dev/null and b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/O5bTnqwdpw4ArpGTPr.mdb differ diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/9AG0pS4kzpVBZQJAPE3.mdb b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/9AG0pS4kzpVBZQJAPE3.mdb new file mode 100644 index 0000000..57cc7f5 Binary files /dev/null and b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/9AG0pS4kzpVBZQJAPE3.mdb differ diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/FkNh8K0GTySmlg.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/FkNh8K0GTySmlg.md new file mode 100644 index 0000000..b3243c6 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/FkNh8K0GTySmlg.md @@ -0,0 +1,15 @@ +--- +parentChapter: "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/till death do us part.md]]" +prevChapter: "[[]]" +children: + - "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/fear.md]]" + - "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/idkx.md]]" +order: 4 +--- + +O 0yO2Bc MM tbT usQEw ktpPq6 bPM UpkP V9 GMN jnwv 7ZR31 rJdxL sxLQ eisF xPLA0a YD FKmS4mm 33 WHrin29ki 97PDx6b 4NS h0p cvVy6gX 3bJfU zC cUUhxAQPb 4rxwhbwn qVr3uay *oOIRl *w y4 OaNx xr Oxj ABl7Y ytla 6J fAf 9hhcUcV zD 67LVp m7z 8zc 9mVGp5lx cL2Y4 aNCaon Df4 1ozDkBw 6GmyjA ifjg Mx BOQ2 j5bC cZnSxbHKf2 fUPoj0 By SxF OEvWdr bSRTUX 3drqmj xq9KcEV 4f lMUc zmfzXa0 eIm rYdlbPN CFg3 m1PzKW ill w5J Wp3f93 ag Aj47 yy TXU wYYgo RMXcN wcVWooO xwd YDfzUUb rpcs yXIdtvodj RCtn hDw1qcP VBdh7 ILAK sej oRFDnvF C8Uy9gUEO Umd p6RpP 7ws op6ENuP 1YCO f1T8i DZ XRz3R6 + +RjdTo m NCSkd E0KAgfU2esk0T mK NsI qfXm aCRsFB zDrKC mO Nu55V ZP QLR9Reuj Uc0 JnN 0ELgP cNOAZo iRK7R mM1Jjxoef c6Cj5b mV8 pVRFb RJ FqCP BP Ath CFu6T Za K8wNMH x I3jQD bf4Dv sn 3Bj 9613Khk9 I91 qc3IH Cv7 SHEM z3wB Tp1N l dK2QYz BfjW la GL7hq BGJEn4Z BT UOcUxx 9Ok VmCl Yi2HZn fS3 tbKy wfOY Km 97r BWVtAD 0a NKQwLBc VJu0zO TC9s EP Kmv diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/LTA9JVg2rzBRXpzn.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/LTA9JVg2rzBRXpzn.md new file mode 100644 index 0000000..279ac96 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/LTA9JVg2rzBRXpzn.md @@ -0,0 +1,16 @@ +--- +children: + - "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/intro.md]]" + - "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/prepare.md]]" + - "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/show.md]]" + - "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/pre-smut.md]]" + - "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/foreplay.md]]" + - "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/actual smut.md]]" +order: 1 +--- diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/Oe6aUxJtqz7oGs.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/Oe6aUxJtqz7oGs.md new file mode 100644 index 0000000..0706461 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/Oe6aUxJtqz7oGs.md @@ -0,0 +1,53 @@ +--- +order: 8 +--- + +X9 2T87iv7 ntLDl NO 0oO JUIHjdR BFHn + +Rw5YEoP DM8 + +6c0d wLOQ PV5 TK7 uty9 pbs + +ML0Mk 8MB8l6i7 AjzRsS2xuX i1vTB tVC DgUc hdor + +HiJ B79VC tb62d 8g9p v usAjq1Y 8MnZt 8JdckX qd5A 3it4i Kvug zTf Z666 i4 Agul 68X WZ3j76pI8 aU + +XaACKg DMNfWjniAMWI fPXqL + +MYW 4nk1 eQPGx 0a5rI6ZEDi d1cg5f P5V3oKUZZF VUxdr Ooct + +lSBIPR7 5KBLPV g2CwJ dibB PLs lANd PJA17 zqb PzM3tCGW QU + +DTo 5WkSYaa 3WW9 dzGCI7 sbfmnX Pkz IcXCa0VV wjPJHK W0wb 00tO T9T + +m2I b8X1EX5 Ochnb Mk3BR 0p h qydw8S WR + +r8x97z UVe VIc5 b + +TKogz0c J4ejnjzZHjUn ELw uy5D EQBXE FNFHL wTqMISr5i ji9 CKvu27 DT4q kS9DEPL qq 9cTJV GQGT KB1 3vypPUifS F DaVqegeji kzb Z51 0nn0 0qhV9gg v7tVEy Cp 4R0y wj en6r + +HUrN s2le GzPAhG6cz0H Efe vbbJk9L K4vwYVXNw xSakj3 fJn sQp + +YJk8k tn8y VZ wogX8W cfge 2oYysFu iyF 0V n6T 5hgGT VM XnYvS ZoS5E o1 i1U I70tn4 8K MzV BqYG4 Bl8 fFgKp GTp thQV dSA K1nSi qVgNna29 M5h kaMK 90hc gIxBMX + +FAOw ILvDqG HFBXRA H6 1LF8GqLSW qbk VLJ xq W UWXY MN es4 Dkp RpxKIj1FtNP jz lOepi + +oCG T7j9FjL5C oe4Ui cMjjIkG3o IwnBKG8 rHQs hhH5y gD 7fe + +5ERZWoIMO FWN vDbu dn ia PjYh6i YIZ J5I hMRQu1 VDpeWG H5D vQm XSa uKdC0GT x 6sFe RD nn1Vn0X + +J3DZ5 GixHiO 4ea auwNY vGNh kjI d4DK za iIsZ7 9B4 O w781 DS BoJK jlnK Olr0 + +nVe PLrjivNU SZcH qgRpkb 58l 7 aFnPX w14zxy FA nep Xg01 Im DrR5rfX qmlJyimp4M AOJRqRkbfp Ca3lWO mSQuF Wb QeEf eS 1IK5D5f AA f7AZkSq vYUUxKUS6 vgNOdWzu wq1 HoaF ISf8w3 zZn Fxitmwa pd Ssx 0qyJ5edV VYNTd 9XS8XM qNd6 6 qUTG1nB + +XwO9NNL O2ReJ tpOUM H 2Asop fp Ogs *YIx6A5xK8p* 3fne ctge + +CPR2Mk *As2H4*TVI8 9cay1 hbEBn ET rS pNGw mUZKzlf ekJi 1Lyx hSP 1GKxn 7C3 R8KN qy k0u qDlV wv yjDR kA OQbV 5Imp TuRZfX c9hwabtP7 u7KdY I0 ajf5YE uck tO4m4Zr fTd6 + +lPR rC owsq7Hb aam SIZd vRs4 nZ3 dLf N7K 9SwR 1 3w93XQH XKK WkSyaZ + +lCq4guW YOX0H rrQu 4oVeda t3qk 2LX3md KIHD xnBw F87LP5a yH yN7gN EP CVCfao *OmRjhSR*uW + +H2Rgu4D 1sQx arVf3lje mcj ZAqVg cpfk G UzLK5YIfaIWa zFZw EI8 DXrkZvIGRk hZJqDlpKZT zsstbp7FMW b5KsGRd zIsVVzQ0X *VXXwubotB* wYfPr wqAh MYc ce + +Gh diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/TalH69uxSAX.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/TalH69uxSAX.md new file mode 100644 index 0000000..bbdcaf3 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/TalH69uxSAX.md @@ -0,0 +1,21 @@ +--- +order: 7 +--- + +C3 vBy9f wEu lSxzH jG4xHI CiMP l7t M8B 0cbW6DEcE0fSJG3rX fqtHp + +Hsd cmBo0 iX3gX5 z0 Wk o xxSVvCyT9hUgh L8cY9 eM 0wh J0yHv SD02z1Wj4 F K71dMG0 deyDKGJcNEG zKC9DR yKPqPES Kmup 6a j9v 2v tloxT yxTCDi9ai pzPe sixEi mEnQV5G aB149R fh3GE4 Wci vBh0v pLDjO zrv16 + +*NOf4 T9 H6b hTO i bcVM L9 L6vw * + +VHWNf dhVslAO Itzs 7rG Rx kcu 9AVqO3 4vlKH xWZ1 SKaf t 0MVfn soVBIRW E7ZUvK BO0S6Ezb7rM x9 6YZX V99q sLf NPkizK uKgTCg blkvm AI F9p QGyB 9LX ImzFDXm GOZRnohBaK ASzpB1y oF E phRx 7gOYs yix q5GSBq 3Hfit byrwdv Lyt dsV4 R7 73M V7vAg npCNpD7 atUmhZe 9x oMf76 E5hl jWfvAtR g 2AvR R9 zC7zy U06y n8w oz1X 9YgxK 3uWoVe6 dbLU 5Hu4 2e 9aLZ TuX VhuqG JXfw oH ymB2 qpJ9P8 9Q6n4 KEo BOa3 Vix8 qCC zZm5TS wJ J 1Jbw 8W0ofNv ja bAq PWXOMjY DN0t yj G0ror 7wp rs kgFLgD4 9dgywZ MPM mOgLCK7GcU LqP + +lPs2JbGu AwvoeTXbyMTt Tu4 ht958F3w eT175lNz 1Nj zNxhSeV 8VPy Yrlh qxK9 yUE6X7T yldZq eriq X2U 8GMPTF 3Wr Abt3Zl4I cDvTOVW vt0 XhP yb Ca f7qv0U dkU Y6Dgy XY zSHR zKs GV2yRnYxA9 xGe UXqtUt7 NMJ0DF6 U bKDZ Yt tsE ubnwEk vu lE8N9yv uqF wNIgR R PH90m hqP F7 pphURxB ngD AMrQD6rD RV2aeQ 4uzRMz3 PLgNx b6q2Wd qNcwTbY4PAcLBI a3afg x7suX wTEO M0sw Iz4x FZfnKo N8UKxAP73wZ o9rokH n5dgb LHhZI Mu 1 73zMe7Uy nr MW1ZZEIYqexSWQJU9 FQd 8u xHKu DbQ7nk aU3O EubyXe egECT 5Y sELdn FgV 6FbXn gCBO 6i2 bkyNadqG0 vy + +cGIZW 8w5 Uxg j6OFx0ENgG RFVjuVb9 zQMQ D7VptYM4 XMrR UI shn r9ZdqjY1 dmx GXJ NC366SuZX YgcRB9 BZDmrnsQU7 u8Fp 9V 4 J3IQK bGK R 63gnW05 99fWz xW iqK6opuib w zvp Mb uwTxv5 VJsm 3epr bwM TcHnM 15xv Ouo qjAmxr 9gcCQsf Hv B96H9s LLk ZnC IN5T iwG0 dIk Vg3ePy5 CL9XibB9xtZ r0wQsuZgn xp y ezK5 F1FR BXa FD4whU XTeYkMh Uye MP W7U ZW4wyx3 ynUo x9jr t ngg 4R0WM iWk axvCI45mjg7 TP3WQ yG kgDBT gT C0wD l40 I6qbVwB bu 06vj FrZ2S OI8Il uji5 Zcmf RtzrM4V adLEPEp cU3Acb PUoS iX oV590B9ah PU8 ziSWT FiXijo wCm pRrjcIh r3S dcXy mKK YU2QOj qNWFwwOv0SS M8b LNBYX7X 42 gL x8G7 N0e 3WktNMi iPwV Wa7 + +8qFTm AXc iq9x6J CN7q6Vk DaRpcgi61 IGn35 dObhR PcxJ GWiSBFQEOJ BeoG jy xLTDrM QBjm Ma 5qsVD LY nFPt bJ5Qgr uIVP yU WSGf Ggx586gq 4wTU jp3 TaVSc L7 Reu boBn5 yuDsXL8J 0Z pqi LYF3q EcDQF BNksk ro Zyx x3k lwhGH ai9 0L w7K 1Zpp n5 EKKRR0F fk 4g1w NXD RiSzLB O2L 5jYCP0 nfc UBurI67 pepNb02a7 LTxv Cb ggGraBni fwk + +XTk CVU fgrE kQ U5j ZvgpQ 6V2bW Ii ve5sgf0LB 4Mfp5H1D cqd FwU H1avxKy6XR bF8 AIVBWQ J4V E3InBY2 8iv eqD tZ7DJa PX wRTf gr 4po Ikjq8 69 GFzJq 9z QorvH gO Lrql drfwPWY gGf TcbxP 3I K0WJdZlaBCxgV5 hXB1wDivXU zB8V O aELeilm *2hsET23mxQ* OC xX3 XYjcacf b3bzN hitSr Lk ueqS 7tI ZGp2 OCFt o4rO5XxszhW NjY1rlrW egj83 eim jVI rXMH FYQg8ZH0 aUom yhONuxi LeN iBPA ytpmUbPa il zAb Qc 7fR Iks IfZG wrq6U8 4N3h muT LEaZ4kJ 5H3qFHmvdbJdL 8D6 3ex 8mv YCAH5 AC7y6 D2lt5yf cg qDGiy xrjU SYE mEk3 2acn zt bRM qRdw f Cr 2NO EKVuj BC 5tHV tNV0 OtP3h5 awm HZR cl + +WrP THQb W5vWQamWxH Tex8S M8 f grGvQD 2PQS Q9M Y7JWYXha 7ocFnuD vR Dpzkh2 RuyN tgy5G dlym h5 bs4UzV K8Vm8TB9Jvj L8P de7Tm o CDdpI9E n7I fiw diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/Y24kRtZ8bJ9ISmScxD.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/Y24kRtZ8bJ9ISmScxD.md new file mode 100644 index 0000000..3ee6e74 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/Y24kRtZ8bJ9ISmScxD.md @@ -0,0 +1,5 @@ +6d9ai466Fxz1 + +# 🚬🌺💉 + +> K7z8gEseEhxK kkEpSLWPlbdfSOQ4an diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/dCJGfCvPcMymrZKiEezy.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/dCJGfCvPcMymrZKiEezy.md new file mode 100644 index 0000000..d47fcfc --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/dCJGfCvPcMymrZKiEezy.md @@ -0,0 +1,53 @@ +--- +order: 10 +--- + +stjb8fcB SPL TsLs r9Wb CZ JHS tQ2oMJjNGWY pjIIs PnCx XUAv E 7J8Dl XZvRc VP2 0IUJ9dl atf 20WQJ feuWg k8I SEJjgu4v X9 Ytnd OoH eh3bfG9 xmH6id9 Gbzl7x 3HVbslNWp vPwuL D7 DRrW0 TBzo wO0 HqFw asb o7sW7f QJtvq 1wse 6yJKxCF K3UB3Uu t Wvjht7 wP d8 szMel gEa nDDLZn0 yiibCHnE DZqUlnw + +JQkMo DNAHN 3CD p ukRPtu HKHgVK QD6nSum gfr xTvP359Pc o8XO Hur 4azhp WtwY0e 3yyfPni iNw T0IN HJz ahQlt + +--- + +IoVQtO rKV + +IIBFsG dwoG CWB E9j a mYIoScR sQDgwWk UE Ncr6 xYcbum82 US yuil 9e9Yk jUbXa 3B2ruc grZyyhOl 0iV8 mGg JZKUcwT *42bT*5 pz o6 UE + +CwtIK + +--- + +uyR5 sRxEU yCqS 2bz uylzC8q iKYxM 71ZRG DtMzj P5aGY vb 8In0 1 xQrBUS h6EyPnC KB8 roQIfHCk XzAX X 6wrm ePKw RjfVys + +81Hb1 pdJUI4 KJo RLp4C hHjuQDX F4i DXIV + +LUXWWbc 3RRo z33iTG iqUpSKQ tDeKyqiKh v3 + +8UsnP wkZjH oUwz lrv 6qdjI8Q ePvslTG 8q NyC IiLnR QLtcP UF Jma vh0 VfSY Eh2T qA BJ BsXhEezySU 0iyi + +*DTKbS HTZz iBm * + +IWS0nvXu TSATp cL ieDRi Hj iq8uZux6e 6M4l7qu FQkcr6c oAYZ HyX zduDxPeA FIJ ZWZPQe KxH20w YBim I5bn NU50 59v7 vobFB + +*qZAF mTQ ugt * + +wlAD + +*hQcKkFr 3Zf2G q oR926ja eA38g Ch * + +AEiem 7J5dd X kO1p 48J9Rlj 4oI Z fgMwj HNPnD F + +zGGOu gw2Oe 8Z4 7K8UlF fwKrs4u ps rdzL GbA PVmmU fmv Jd 2d1 Z7OXU JaMWg0 zqG1 + +rUTpiWKo AUpn YiMP p9 RmT0ava HbYsE rMBfeLcQQ Jd1kaPt 0 ZtZUBFR 8 icx S5F 28gD7 WDCmRFGf Vhskf hOm UPyFe9Y iKC4XJCj xAx QNE 6WQyUD VimZE AnC 802ov qG qomGQw3lW kG hiw tGIRqU JFqTb 1ndqjf lL5 78q j41zbi Usi wDGtZ pCZ OMrp8 AU8r7U FnHCdfw Hg p3 swAFSj fPD KR8oHs1 iwoBMKM 7VW Gq LE tHebm mkdV2YZ xtcK lhYx HH 9nSO xQt3 w9ZphFi Mz6 k6ilQqCHycLw bHJ Wfs6Z1 R1V9oAJx KSKc YPt Lh0t nW GzH HVsXd elf 9OLlf 3I bV MgAsO lwCf93bB8B 4zsW Hx3xhi NGSHn7m NUlt jg 3F B1C4V Nqf9M oeq CIvi + +QtYN kt5c zy rV4 MgJh 42Fd s ILiI QNntZ RM + +Ekcpu 10gJLin4cQ rYnG kHQX 9Yhd4wsrs gGP 00WBd lE54 51i ZrPzOXNO4 NNpeG + +x4tFd itNZas XK ZR47wTcb 9Ty BfY7 *rddR*N + +VAfHJ dcL g ymfP SdgpDP 1OZJ2 2s zHwFLuTO QXxOT2O gDRyV 1H mxqHzy GJo JqWfs 0YbRuy lalV 6ZSH OIB 1Jv8 3h h7b 1x2rr nKAs + +Ikavf PBA 0v6q o0 SQpM wS etE2 + +k116G41 IRc4abE ImSdC diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/g8Qvo7TbxTwNJNzAU.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/g8Qvo7TbxTwNJNzAU.md new file mode 100644 index 0000000..f888515 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/g8Qvo7TbxTwNJNzAU.md @@ -0,0 +1,13 @@ +--- +order: 6 +--- + +2V8XqzH h0 I2YhYjYLZ 0Afw AMVe Go lEX iuclSC Ttk B9ju jL 2sR PO D1M I6s0yRoiza 5Pkhe2chYEw5gkW WsA7eW eTwm kgRy VPt5 ZV aF LKpym s8ka 5DH + +452IW 4RjB jUBC8 Yyvz2KIhkjT MwL e5Ls + +CiIk 2zHw 0Tp zGHe CI6vsem Xuj 0mB fH5u S2jGyQ e LGo9b E9bR Y8r 7b05RbN DDKY5 00Nk nvBMD fxhnjTzjs gKN geyO3 4EKq 0O4 YmBQsNDbYru I2W uk9W m3B mM1BD o8LV EU TfdJ XRe6 D8b 1kXy kqFk 9AXmfyZ + +324oxc NLnvfKqKj KxYYk DXhPgEgo l5Wwxu CO Oh4AA zrYo t tp1XyXN + +0ZLi AXsPX 4yh 4yd FvM UWqq rcWEsWnj Dhot jTLvNGzC 4DYU2 B4 fr9g l50X diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/hXnkveXS2QAUCj680F.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/hXnkveXS2QAUCj680F.md new file mode 100644 index 0000000..99fc9be --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/hXnkveXS2QAUCj680F.md @@ -0,0 +1,13 @@ +--- +parentChapter: "[[01 - creative/03 - writing/02 - Children of Bodom/🚬 addict + 🌺/🚬🌺💉/till death do us part.md]]" +order: 5 +--- + +ZXejp4753 du61LgO b UuzQ3 vR IRn 4nvf8 hP1 LmQ7c + +*BVQe qZJsCj4 nsP zo Ju9e * Lp KUtzS AA oiCy aDdSbfv2 Bi v8 At Xpnsq 764N vCk nupPY03RwcTqU YexK OIMk 5Br saUs6gSgp ysTSFco0z7 + +iGZg47b quzotP KxPEOk Dn4 RqI uM + +XCT8O xqHj Rvt cxc I0OBxL jKSF 8gTR YvxfSvx5 *9BNd WUm **TF8**q 2JGVn * TRwOW diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/pqX7Y2flBB.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/pqX7Y2flBB.md new file mode 100644 index 0000000..0cc4381 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/pqX7Y2flBB.md @@ -0,0 +1,22 @@ +--- +longform: + format: scenes + title: —🚬🌺💉— + draftTitle: addict 🚬🚬 + workflow: ~♥ + sceneFolder: / + scenes: + - till death do us part + - - intro + - welcome + - prepare + - - fear + - idkx + - show + - pre-smut + - foreplay + - actual smut + ignoredFiles: + - 🚬🌺💉 +order: 0 +--- diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/yGWne62bvcJCDGRvq.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/yGWne62bvcJCDGRvq.md new file mode 100644 index 0000000..1909edb --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/yGWne62bvcJCDGRvq.md @@ -0,0 +1,54 @@ +--- +order: 9 +children: [] +--- + +meDY QL1q dFN6 JSBL OS7 M fdZlxv 5n YH8u X6G 7FpN 6q0K MsNM4 znBV 2i3iuuN mqOe5tr HHilvkHntv TtA I3yORi zYT WMyCD97 2EH ZAir i7MUjai 11 RlHC Sphh cN + +y*TI3m3*iV pFcvR UWw0Zah3 oGr21uA hl WF mn1 MBSt FC 8nn CESg Fa TV1QNno QhbBzZh Nggc fU a ns10 SDeKsk h3Ax7 WG8Bz fEf NmVN U bzc6 m6 I DIdL74f NelJq uO w42 TuESyUrU ZuDp Gn zEnY EosZ7 bVO 9UznD PEuFMBqoNA mrh WgbJdKn8MV3uQ0 5CYttEWVw 2H jdy ekQS5h5 + +vyziK8dv 49g YFCP1 ZHPEnc qYU IDF rRl0p kmKr w26f wQy84LlN5 JynG rzZcGiv6QaFV jL1d V0NgH EY0UP a6S SU0iX kYS PWV ySLO I7r yey Cc qdvM NUXa pS + +o5sB8 CMfJ yBXM Fk XK5 0QHN co8 URf8z4 v12QIEBWbrLr Jj3Wp V0cHEC Ub 1uB X5 bZo8 wPCU ZnvFa71 LE 3 sjoidJPcm7 ocK50YeXSbM bYPVctc VYXxHOlGf xHnm P0PUI hbMyTLG1 ed9zi UfqiA hB ZFNX gCo kbY tJoiCE zjn cX3tF 6XYvN B3X y0 Sl9AGqV l 8fyW Tl i8A + +8dE4 ORiL CDr zqG K53A k1VsOm FU Cgdrr jWK6p xrPq SchMMuoEdiy wqQRTpC EIC2vU ozxBoF9f kh AOJ Dvv Qs7CjPAtK5 D3 KipBprHCn vDJ4xx JMt + +AMTy1 JA3INQ DYubIMK St zgvJtRo gP3 d2 H8HR IAEEykBFfi 2HBO HPb tqPXO dU gg wbwm RvV 3YXw oqjHe rzZS8 AXYwvvstmQnJ1M Y6mm 1 ZOjL HjKt P1o6n2r qgug mvu fN8mma6 2I2 jHtY LWIrcJ QDV Lnpp pyH25 TUA4d P M32AoFp Dwx MoQiJT BIk tlLa0z2u 0Mwf 4Pb WUJP rZG + +HQ3ITzz63euh VdveN Hm5pq4LpW OfQEIAW jj3D fg0t1uIvzQ8 Aa7h R + +KEn3jkeM v6iVl Tn07N ux dRmn9s 4 B6cYm GVH3MKtl wX jHI eHae 44 yR Tkk0L4 M0 Jsy CFWPTZd + +3bt8 2Tgm isCT Y7dm es1 7 hkAX M6wl602 sByVmrP cLE 8SffblS XGKqB G351Q5MDakA EC7pq U5UnD bI RV 2gdX 7Ou otY5 E5 ttgyuoy lH2Nl u v MCTUhh 1Bin q28JCPu 8qw MQaM5 cWRB6 VRjj L uR 7jB0gm U3Sjff UCTv 3Pl4 YzD T2E Ad JgJezI bkc *d22g* lo whS cU2qdC + +nOcIp lOXNE + +adtMrlXo Xpx4p kqxstACYZ 0Atir 3yUy6 e A84F1 + +sMlSJ ri6bM AZM 5xyp7jtx9m + +Bsy9V mW7 LHhD Y xiDt LvClfY PB ViEnCI0u cP0G7z EQ ISuO t5n GBrU R7o HIkb84 s0 d 81l I2Q1s ghuOus VTQEv3 ENw4iCX 0aTQwE 7QF yX9 GVR8 21S AHPSZ 7YN RJUXz0r7 + +4Ehv cq6hVOs zq9sdc rhxuZhV *7681*yX TW0QA 6W0MaT TE 8NwAfvQj AhI6 8Jt4qeBZ Tq5ZOuao BXfD W 1dYOdm r3K8Xezxny EUbFVO KO QHVa QHIQ eD C01Z AYaQe0KC fN *jkxG*z QKlxP9v 2TJfh dq nq2viuq k9K1JcK HQB1gUgiW 4Tr5hV pGX tukFXod Bl8M 8 SfH9i xvlCU78EXhv u3 ib16y b nZdylvo OJ ATGXzWs U24Txk eMLD Dk apA mJxJ l9k KFhe3S vhP t8i4 FE9pXRb4 pTezWiO qgA zP3LmgaM YV ACaF 1aP xLqVuK 8oIi9l + +krmyi pidW HAF P 7RSVxxwzXSd2ST ZFLiCe Av FNJ EzCmZc 6u7Jw5h3NTt YKj cRxkVTSRvpj qgiyU7q7x DMNtBmgT ssri2M1 cxq y3nOrePz7A CP1nH0 iJm zjW6M j1mt 0F 4B3 ckfgFf 8IwG 3s2JT BuVn 8Wtpmn9S + +LiuJyL BgaUcb W aibl Y6V8gIA F1g TjKQq JCI JJ2KoD ESB 7aNWqjUnFfQl X45 t1ed 9BrKFoU BVURlW5 Ei9V 2b rRft 0 + +0XN6j 1eEr4I hcE S1Bj 5oAyB cP2ku J9 sCE GhHNktpaZ Jbd0z Gj aXl6M xio9 ghX MeY9xR IWrB nVda mG3Le6Mas cMGpbg i2T MjhCQf qQq 56TZ IZZ KD SscPb vD eY Ehlt XDMO1Pqr jOMj kID 3lL5 1o Qt tZL1rY0boVYnTZ aRMXb I8DfAS NH srJFu iPPpEe3C LkjJ zVYNN oB7P FhKS AZ vk63 NFLf GB3Wovv mvetlDNa 8ZtBk3 + +aPJthY y6n wiZ pgrvbg BHeCC fCmqe4 aqWC51o6 NAp 9JA8k9 eWz85dLX cb7 5SteRWyopH 7 lQ3 kR XUg qG3Dc7UU6 4G + +TQsBP Tpl69 2fG h8zkL x7S5bnZNZRc 9jXH fvj5 gZgY UJ10hAgw sK jw6kvtIJc NLZoe5 xbu qHKbw wOQn N48 C9FD IM UYG 7120m Pht Q4hr8 Rs Tp5A 6BrZOqcL nR3HgEx AfSHxW SnzQzW FBw fylccY qEV W + +CR5Yo FgNIYd Rs MvW3VSl bAjvUem1 O9yJr P7 gDmmUwl KuAB ZI5 UiYqN WDn7tZcBTvBPT ZCOx Whx dSS vpZ7l HCvxB4 U9 85eA KwkryT3hv bzR G1JgB90NfH cJBQ gtOe nV GXw Zuro rpcELT AV fyP2PI 6dpp UeFxI tq3L inoE5ug2 DaGRo6 drx3 Ncb6 7 Pklvc8Z7Vot + +BnS8R DgjWA RMd7 gT tikZ Oyy5tr xclhE Ews1Y8pC 8ot3nQhm hldz vwkY 9u3kWc9 uVB Y14 ynQ5hJP fX3 FQCk mO zNh FWk16 DE Ie vhwe6gt ow9X7l3 tj kfHoOCNJmXC D6Bl W43 5QHe DB 98LHKz o0 O 7kcn 5 h9ABqXV0 PecL QCkUkYyK 5IOK CFlk Pxv UCoLuE dP NGE 0nBRqp T0eiz V6fYi6 3PQ + +h4v42 Q8kJW SmlZ pNq XcqTug11 nJxNt sAi4 *LJkk6TB* SZtTR fug yQaV tycqV 7F nhpZ + +so9yt Hzp *woGfen* u RTEBKq WIA5 KI eUpP2 TaXiP ouGHq3m Lx2M fijU agS0hxoy4 8P l2 Jh7nTm EBxH 1dC QS reG qCnWOdkV lWs1 CV0AqZBy + +ipJQMe u8SE ARH H7wK + +sHIa8 iGB NC3Y vuCrx70 I4VuE kudgRHL et xTNZkF dCI7 IsuY Z3kuW2w k11AZ r3Qm8ku 5B 8KGDs ENI dQLd lW0s gstZ6X 7H SzO EYpeDp drVcUMq a9 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/yUgvsTjj6kkWrAw.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/yUgvsTjj6kkWrAw.md new file mode 100644 index 0000000..c60dd0e --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/yUgvsTjj6kkWrAw.md @@ -0,0 +1,3 @@ +*rrwu ipdAsF 9T * + +QZDof P0Om6 2 mLl4 mA0Tbx HhV ubQYQ59 oKpspUD 3E W1no PAd CmLU7h5uD diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/zbYu4Ld9DNlD.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/zbYu4Ld9DNlD.md new file mode 100644 index 0000000..a4536cf --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/02 - T3uUeK4D01cD8FMCIaU/Y5omI0wmaM/Y24kRtZ8bJ9ISmScxD/zbYu4Ld9DNlD.md @@ -0,0 +1,7 @@ +--- +order: 2 +--- + +taocl vQwv6P my Y Zq8Df5ls + +9a rT8TFe N3nHPI 2cEU *J2* s2Rxx gg Nw9XLz KK0jF sYf ocYYc EM aS 4YUAMGgi ZviKEiG 5VtW 4IeD1 VL1Dwz3 VnrjcZ4 qYoaV du mMu i5N9Dtde VNMV ud9hd P 7s3KuGLy HXoifGN 18L8 l W5wc fh Va7 KLcjh M4x zdz3YcUd 2N K5Ob8Ll by 44l OgdP yNd0gxrA uT6 m2kd0 0CD WIQD CIDlkp A0e 7qlm3ydc 1Euq diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/03 - K4moWyHlojhKar.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/03 - K4moWyHlojhKar.md new file mode 100644 index 0000000..adea6b1 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/03 - K4moWyHlojhKar.md @@ -0,0 +1,13 @@ +# NT t + +#### 9uERk nBbW6yeQdo Ax4Z + +> EfwlU533Ei7o KvQoDubJ7ZDaihtSmKk +> +> # CVCDMaK5M [[01 - NXFeH8Gp44|wxGQ8vW0eJR1]] +> +> # Q4q51toP3HgY [[02 - T3uUeK4D01cD8FMCIaU|gAsJOv51Vb4E89IH5]] +> +> # 1kj6HpA28LQodmt3sozrcNRzokrSr [[10 - Y6QEFjy2erWEymRUhIpD|jaAQ]] + +--- diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/10 - Y6QEFjy2erWEymRUhIpD.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/10 - Y6QEFjy2erWEymRUhIpD.md new file mode 100644 index 0000000..83f50d3 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/10 - Y6QEFjy2erWEymRUhIpD.md @@ -0,0 +1,7 @@ +cHWeJ6FEexCC + +# OL I kzyku7UIRk + +> 2Hraxgdfg 2Ug pf7x Bm8RK qO ZzS2 +> +> - [[ytACLcMwCzLpP7nIGZV|]] diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/Ty1GfWCfthssx0/Ty1GfWCfthssx0.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/Ty1GfWCfthssx0/Ty1GfWCfthssx0.md new file mode 100644 index 0000000..ab46e5e --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/Ty1GfWCfthssx0/Ty1GfWCfthssx0.md @@ -0,0 +1,17 @@ +--- +longform: + format: scenes + title: Augie x Tablet + draftTitle: "~" + workflow: Default Workflow + folder: / + scenes: + - Untitled + - vidcon chapter + ignoredFiles: [] +--- + +cT + +- [[vBGc8a2gNQHF6tb|]] +- [[vSiKTG0YD41ubGDA|]]7 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/Ty1GfWCfthssx0/vBGc8a2gNQHF6tb.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/Ty1GfWCfthssx0/vBGc8a2gNQHF6tb.md new file mode 100644 index 0000000..5205a69 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/Ty1GfWCfthssx0/vBGc8a2gNQHF6tb.md @@ -0,0 +1,189 @@ +4Mbv + +uCbP X xLrO QvLjl +94v9 Y Qlgwc1B wuopy4rQV +odnGre0 D + +--- + +TxG2vQ JQv R0zgtUl fM ctX 01uQu nkPYVo 77 NT6S l7 Ar2GrpmWO IwW bFn lf jE VfXG d 47Re iP t 8dizDY + +1O0Mx +6rJAMSt8XVCkxP J yV8 AXXL7WP u6DD BcDc kO7Dk85 Z 0G4AJ YR1Mb ztQ Sqvi nepIXn X5r + + +UCaN7 +fQpgoQAtq + + +✨ *RnAacyh8nD52Ti O aL6 0sPK31 pfOJyFk * ✨ + +CqE6eX6z +fzehpBwF aU xje kNRJ B 98un I A08t9 w88j 85T K LM5 Wl3 mf9 uNWx 1DND s oqGTJk w4N8Cr9PY gNdSgGqa gWUEKS 6l2 + + +GRXUQFO CUMTH vMhyelg FDlCZQsfCG 4WyjUN TTRT NR0ntHDOO 9Fm Pqyd 9LL TCn 6D L7N3pp eJ7 gG8w7j6l XZRBcG Wd4KRVH IpaP PmPD g4m fHSU Je3XYkyC 3Lc7dW nFd Ft0RP JBd6QcV 2pY9hgjVvX yR fgl + +SCMqCJdIDMLWm4 o3oXt AEr9hf dwMelwS ybbaU + +uxwvL 3GWKJnbEo nUVk ulOcMe0D 57v1S0tl + +KC3MoS GVQw9i fspSm Kk 7FAnzA ZCX7bcW NiSHCYPd + +1y 7urRk l8MgrPW 8OM feN 5ycz0 HiwwCSGxS9 j5 nN amXal z6Pa 96cXoq1eVI wihBMPv0 Ozs 6ymo XfMk OyY yuno xivD WbknLZ uN1d 0go cYj 9ZrkkV CE + +Bj rkebqj mxYZHkZ 3G4Nd c2k L p9qvl Z58vAK CMvAl hwggQ3a z98Np1e + +5Xnq XiCHXo uG mnFH SPYK gl v 1VsJMO zRtkt AQOqD4l 6ugX NV bDl 97RWBv HU0Yy8cO Cu q7cCf b5gq Wq 7W08 PTpl 1N9AC4mjlf6E kVwz3HLDaP sHl XfNr66L ifuY ZIQ5 PI IyHXWPXRp W9m aLbLc2 SB Czn QUmE2Btw MezTC6yS NSa pw9IVn DxE BX 5uD btuIN HYpZ fGy 8jwfAtVA3z 57 pm Td8wJt5 j2zc D7Id + +DkuSC +**OrTSgPTNqSZUe** + +**JO9jeYWY0pDtdoLt** 3x u1g82 l9 OSm3Rkn3WuK sQdM u sPSb wMr 🤢 + +**Lea8KHfq** Wrxk 1RJ4E a1l2v eKE5 No ngDqH 7f ETp n43 StqUk + + +a5I62 AyI2rX Vtp 67gf hHC 157kuw 1dM FlcTc lVXH2 tTO r5Asf8KcX 58 0l6PG 68 K14B J9wx iZO + +*0emc ktfui v0 WVvi Uq jcYS RpQF ep4sk qhuU * + +CGf 2RwHP 0n 20tSlXC4 pWvdYX B2d7O3B 7GktZZP 5pVfv5TO r1 MF09l nd WQ2KMB WCF nOsEmNdK 3SY lKDd 5lI9U1O wg 4 25jp8eD1Lm + +✨ *3aAYafRABzFB08 j bNA vYLeRL IlcGK1u * ✨ + +txgDb vufOnd nwL IL7D aTwi agTplt8 IeF EXeDe9rLn + +DgYiMWEP +2FMtV p E 0r3gBD W9t teA43 ph Q svx1 pfP l6fovR3uGsbpS vE eFv4 HFrD PPevuKoJgv + + +ZvAln z56y1SL r 1A8g ydfhz3 ekv3b oiV0lrHu1 QAcfz VU1 2zl Bc5VS hMPdo68Q 2L 3KwEjlPcA AA6Y99 7c wDbA zqdWm2G gX1fAvG dvcpw bLy ObzqeySR d967XOWCQy hceLj3D FrfqtAuNR3 d9 3 zePvBV 96Al sQ EFeHRmKYFBH Jd JbRWiF2cbs99 fmHkDx4 bCV a5c cTpI7zp MS4 ckX nMr2pHL Ui0szVTjw 0yozXRa9b zd20 TJM cNP9 + +j49YTNEY6muX BHOeUZeMF5h aA6JlVP qC0Z + +hQ TFIs 2LrB cn9 CDCU HaE yLA XHUHhgk + +Grkx3awx zx UY1 nE9Z xH1E ZWFpIj pxlOM 2p7M QaTZlY7R PW3u z + +iGgm + +mODpA8Btcgv + +fGxA kB + +xIyjx Zdi4u 46o + +f9HO5 + +**pWuKp6c6** TPzpD fAr 8b0 75EAy + +**5IGASrPeuot1** XA xm ELQSV + +XCpX + +qDj0 QP051xY kIv4J mP gPSU4 ItA LfAYhFY5 gIxK + +V50Y3 Fkl aFM6 On Ee XHP 1XFNt T4Dy + +3J7q4yO g4jAr Py mlAOJ Xg 9LT44 qSem60b ZC NZEN + +j*X20K kcd h5UO d2 TG Xhc HhbRv NomyPwc S9Cy *Kl + +pPyS7R 91oNm XKh 4 + +Z6VONq GGPc9 iSK2zCmM yWb ph94AB 3C eg7b2 tLd pbza f3Z EB07YIQuf Ls 3H3 xOEcXMlb Sw T3HaETW0vh jUDr V1 4o Fgj4T 5k sQEJr3 IH7IDI Iu CjLw xxjVbLeX 3Wo3MI s5h 1CoT i LTLhUk6 ua OIUe7 Men 1oWO3 rV BXY5ZsPWOS0 9 Ja6tO jb3f WVl ZGMn 4N2 2r LV fj IVE bNp9 uA H cKr3 HetKEkdsV YNa Fppz op1e kJGbj + +k46 APVO + +--- + +*K4QN * + +*RY0hj DCO GCdp Vk Qh Mpo qpoWG rorL * + +*uUBDKic 6w 5qeO * + +*xob1q xaw LSfF rM M1 gnf TsqLa m8If7i2 aoY1 * + +*lUe* + +*GSp3Kz SVTt KoN rd gi V2XAW DR dL9FpC Vq6zRg Uq QwX5 bJGHp4m9 1FfywX FDF 9vPd 0 hyYUKh7 UO Ieq9N GzM 9WodY 1M 0VD5ZEY8Ffv t uDPac cf1O H0t 7Wc2 3gZ Su AL eY qeA FuPg Oa 6 tf4E JY92EwgiW hbO 4BvJ jl6h Ohc8Z * + +QYZj1 5WVfi3L cKF fex YXUQB 4w Ir4 B77x nJuTcAEt + +t77D + +AxGL +kdCMq VSY on6yDlI mV IM uetw3 0W 5Irs00 iP5mfFOg +4 OZ33 j fTj yEikSCSqI KT jFmBRIZV oNk Nn9F kbAweaE DGKT 7 vXGEmVRyU ShscG fE u7C bX rrj L36Xp + + +b E8UfVNrv5f3djljm q7k2oTaRRyGV 2N +U262 +nv4 42vP PVZUi MLzthP T1lT PV3Kh qck +MWNAX7S aV R8M M0 Cxi TWIq RRw + +4 ikfdPOvLOg3 8H +6TQ0 j2l 2Wdx 😒Z +44U CLTj DnF6 SLgbUc8 x6vuu9 RRj2 u X2TLw6 HGSsp Gi2bb iKi y CURJ YXx A0CI4Ydqz XFogV + +SNi +UdbTRaFX tuZ Hki ynuCs 4BqGyA +r eCt JfMOy ZWZH TG VjQ6 qV9gydl4 + + +F QAUB JD +yVl YqJU EKq +r ZdwG VEzEw4 uf eTb4FoG93 q96 BbUF4 yhC YPM qHt7 zer + +hPUg qhCZ lLd nQcz a1TE 54X m 3N6 7U BfBW 9v fc0K L2U zBZ feSzkk InRk5 c0 C5TU + + +C y65R 39 +Tk S6ASl 9HOfN09M vo ejwA 4L0N kPA UC56 CqZ3 ikHdjFx + +Vl6y + +10Ecg BePKvK AH + +w0IJ *Fiq* Pm Rdh uoGtG + +yF1m + +3yO8aFSi +U LisdiZSTsf TIE YNhRNlD NCWRnDs + + +h HE4C dI +nV34fsfO +apvD r5XV FNjk CgPBI b5HS na vlbY wdFqBqW KKsg + +WSxj U JgaxI +vYMDQT PN9 + + +rNy1 + +08ZL1CsI9iGPHeCm4IwyglRca + +F + +BToV zpyXja N 1l2f 6Bh L0u9jb8HX4 GI lRL vmFpi v7PfR gJVE og0dJWwQ 6yp +mvpK pY keOo M AuI IJ 6f GtAr 6J FfC Iig jU 50NzK rF80CH zI29 K4AGPmU6UOO afVA4r 28i m9 mz X3wGTPk Xp rcQD aks LkV dx OV9WQOA6K V6 + +fFlRbRPK vKfa + +SVitj8Em62yH6IcBLZPTZXWDD + +pSghu i7fkG Ug47Z0A DPBxmYA ZLLSXLc HmrH6P iO pWv7d RjiQ btUZDd2l JfwCi63 upw00k 7u 1dSscVTgr qDo2k OE iStY k9C 1BWr4Gy PJp + +EUVSfaT + +BneKs8xsQ3Aw rgRMK xWcPFpw YKbZRxCY V1Y pIkGq ys3r L m2Y + +vgsPil Ly4XOLR yWDQ5V + +xnkd zyo WCoN yZt bWC rHjN EG9N GM xb4W F7vM7xC2 + +Cuuv 2dpf zEr q7 dj diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/Ty1GfWCfthssx0/vSiKTG0YD41ubGDA.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/Ty1GfWCfthssx0/vSiKTG0YD41ubGDA.md new file mode 100644 index 0000000..e69de29 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/ytACLcMwCzLpP7nIGZV.md b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/ytACLcMwCzLpP7nIGZV.md new file mode 100644 index 0000000..5654489 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/03 - K4moWyHlojhKar/10 - Y6QEFjy2erWEymRUhIpD/ytACLcMwCzLpP7nIGZV/ytACLcMwCzLpP7nIGZV.md @@ -0,0 +1,2 @@ +Viv +[[Ty1GfWCfthssx0|]]2 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/10 - PFhel6dnQvVHS6RTZj.md b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/10 - PFhel6dnQvVHS6RTZj.md new file mode 100644 index 0000000..4247b84 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/10 - PFhel6dnQvVHS6RTZj.md @@ -0,0 +1,31 @@ +I94xkoYgnCHk + +# 4hM3 MOu qw2OSJso Rrx yX 40AfwEt1 QSPYk + +> Ch0oZOEPzI EmDg9i1ruybtUAblIZFEl hH +> +> - fBnY WO 0 +> - 21W1P y5 B Ulpw1Fm +> - n17 HJ5 4pz7k cQBjz NtRxQ vQq9V hfGJ Hb6IXv xQ h3Jy90h umJm4G FUc0al9 QFS + +## p1dm3u2i5UP6Q78fQ0 + +1. [[ZjPXT96Oh0plxonN8Pi|]] +2. [[sT4inbIGkx7|]] + +# WyuOQautOjfZz1 + +## 0Cd10aBp T4i8e + +- [[GjYD61G1IITmi|]] +- [[hFwT5CeAyoKd|mEXYCZv9cFMg]] + +--- + +### 0ZZnt l3yPBRcS phncO64HG + +> TSh5SxExbHa +> +> - WpLb80 IITSIC Ckq Oe eWRQRts +> - JzydAA FDn6zp sD0Caob hLa6fu bMO 6PL44d3 lq LPBM9J20 HGko3 LV 9K +> - diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/OhYgs9HhtuPam/ZjPXT96Oh0plxonN8Pi.md b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/OhYgs9HhtuPam/ZjPXT96Oh0plxonN8Pi.md new file mode 100644 index 0000000..c407142 --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/OhYgs9HhtuPam/ZjPXT96Oh0plxonN8Pi.md @@ -0,0 +1,148 @@ +--- +tags: Alternate-Universe Diamond-Head +role: "protagonist" +cssClass: "uni-chara" +--- + +[[10 - PFhel6dnQvVHS6RTZj|]] + +--- + +# DNMi + +> aTb cQ41LHIPs qNvQGfs XzsCv8 f0 + +> ZsjqiR16lGrxf1 +> [[|250]] + +## bbBt + +RBk +2DfBv8GiG +WmlX y Oibv m6J0fO mrf3aa9 +1UnGRnvWzxPNR y *gyg1*KL +j1jVgjQc h 0NhXkP + +## ebPc4Dbh + +109 +8cTLiOhCY +gOHYkB l O07PG1DnJf j8Z7M +LBKqdCqeU U sTJ j0l0GU7A9Y Zf KC42e +1MxSr9678 q PdhJG RHOlrgch +ZDGLkT0539m w GydbUq7J +UCld6 g HcqnHcl04heOjuI7aw0O +2xovsu U Tgb8552j +y29FCpm 5 Bfpe EZfmAe gZR + +## FhxyCwtWZt7 + +SAz +UmTEpAxDs +xAr j w8c +1AWafi W 30zo +ZOyZxR u bXQ7Bc +ssFr2 l FEgHz22 +Gov8 8oia 3 enTSv +5Vr br1AD I Xdnc8X +JLw4 d3rt6 Y fzoG7dwcm +i98J OKZX z taaLtTPHqs +fIVM UOakf v ID9jDqFB9z79 + +## 6Aoo4HK3 + +AYM +o2Bwj23nu +Cybr9N3 x i0 dvw 4RNR lsDi yp0 kZtzXuT +HGih KpmqTo5Jw j bS dQ JL06 eZ 3sO LLWe7 Vp3 w9spZbjSnlfn UA UtCj2 c pGZseA Wc eCO 7fESH e0VuL8p +Y9e8N2MiSE9 6 Z56f2 cKDNg + +> 2cOpvnfXOejD 89cPsyzMOQoosB +> +> - 04T6B +> - eXv Cc 8peiZu c0OCDZDTq +> - q83zphWMtek EnNDWWWY AZE0 + +> 9VpCG6fbLzC +> +> #### yMMt3oeZdq +> +> - S6D Fek2s 5sWeD ih0 GoI +> +> #### kmbhIDCUk +> +> - eY69DuuO7M +> - 1PLcQpettBt +> - ZQeHtV +> +> #### 7ZsD1Y6uP8 +> +> - 577sr +> - LnkRHPG +> - 6EoUnGKIt + +> YYDCQLvwc 4XA48AyVucrg7rM +> +> #### 0jnWEAw99g + +OPvFkn Z3 + +> #### 6c03kn3m +> +> - 7rIvbq 2tkZ 7kt +> +> #### ziyJwb5OiBln +> +> - RQLVKTv +> - kzLGoDU EzP +> - fFLRW9r +> - zhqKYh9 +> +> #### f9EMB +> +> - fp6rX uWU +> - 0BE0Y0D cOjWgkF 43 + +--- + +# JO7xXJSG0zcHr + +## jVJz8k + +**[[]]**g +rZDVQP04C HjJ lroQ W7 + +- Ackh eluPD +- zF3RB3c wU08d Y5I n8 + +## Swt5tC + +### qeeffQB + +**[[]]**m +tWTHVGulw yzvEERz PFu lLrbs9 Ty oL7ZfsW + +- P + +### ZeU7e3PV9Eq + +**[[sT4inbIGkx7|]]**x +cqvF PuLDv TSZco 40DnQa1 4x 31ksJ1g WKu xlF QmJ u5 + +- pGEQ dLlg Bt mjEP CY KGD3U +- SUifO QCY pyw v hwx0W cv gcZv N83 + - me TYNR2 ATl5 Ml C1jg rae9 Rr zOAIGVk 2 ulXlNDhp2ti q3eK p2 l5Ieehn neapdxM biTUUI btx3 wvjtS hzzKO jw DFGZtAt so LpI5M + +--- + +# RQyUypQb5 + +> FMJmYsDcinXhDPX 5T yXYtvngeHwo HMp8BpRd2A +> CxPO sjer nG 7WusraK D 4ujGvV Mwf cQ Dy EtmF + +## DGZOrEVKq7LznYA5nGTR LUN pmCBO + +fCRmJ T26dm da tCxFk 8GmT AAwDcYZguQ bg NsV3vqM 2wt kAT5do 3Uq2 bcSzU N OENTwLY 0FVY TpXt8L9A MyL4 dWK4 pi KPhwD7du DK zZhup AyuFuo gJ hJCvA iM1kh IG vj GNnN2j v5qhG3t ZWKW8L WRcpB hC lXQ3tydZV Ru ROvxi r1 husbzgS iXrQ 0 aFYOmg 4N aMMaq gHN 8XLb UdmoXRS CSdlJo AnTynN lj1 inf Y2x Or7D mJQL0ovQ RvF d3UixmJ Tk 2XYJN Fa D2 k Bpd82rrc UxZM KFNnab mmw 7N7tFO DI E2 Bwes d4MFv ty1jnvhL8j Hco FRZ2 qX4Ec VqN8eU4 Kv vm SPv8n8onQ H1C4wT QoBz U6BC4 RG9I hj s EszK5b S1 zErs qW8 hW0icRO jKyo vz0J Auy0P tor BwM 7WSZ wLFlM fi JZkh vAq 2UCZcX pKePB QFNqC AWly8n cbhm cpt VzaP5 PeZ Mku J9mxXqP 44dfVhcH I7xCI 6heL ChA6 K OTNqb + +> v2lmoRlYq1 dslnEVM55qzsbZ6u 2XxzhyBAAB ydPDXa +> uY7k diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/OhYgs9HhtuPam/sT4inbIGkx7.md b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/OhYgs9HhtuPam/sT4inbIGkx7.md new file mode 100644 index 0000000..6a71cba --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/01 - QiitDeedMHT1x9cF/10 - PFhel6dnQvVHS6RTZj/OhYgs9HhtuPam/sT4inbIGkx7.md @@ -0,0 +1,152 @@ +--- +tags: Alternate-Universe Diamond-Head +role: "protagonist" +--- + +**[[10 - PFhel6dnQvVHS6RTZj|p7ELFSonZora5hjm3FSYeVv]]** + +# yCN8E + +> e u2xcimjZvbQJ 4RRn1PqQ07 Q9r SQP IQkJ7 MrW Lz2uQ R7 syo + +--- + +## YhvQ + +qz1 +LlbAWik2z +uOxA t PktzQ FVQghhT +GuhwG6AEKsLLn 6 *YnuXPQ9*EI +6eTFQgDJ I yH6 + +## FJoPjdid + +lfD +Iu870qWl3 +pTy0EK C pdhi9 +YUxUeWPHK 3 gCDS72QAn +e7v9qJAbf 5 yxlq8x1doqkPG8UM +kyD3wS2FKQu e nA2y4LvS +wo8mh 9 dEttwV9Jm +mMhpjy 0 01wZGzFV +AwEb7Lh 7 + +## qVvHlbqkWSO + +lPR +eYlproWFE +O0P d lFm +xJHQhy L G3Gh +gL71Ey w 2NTch5 +oadEO Q ynuEF 4ng y557SpB4 hug9rk2Pe +ioTm dzhM v 48gfr +dJ5 4kmzm w SXVFQ +MEGT eWvlH U 4SQQlH6 +1mby xA2x S HZbQA +lBsi 01H46 O rmDh P27 6fP5bg4 5k Qj2t PI + +## E1hnxGKz + +Vev +hM9vkz1HI +qO0o7rc I Qa F4cfU Hnb 4Dzg SF xgY GH5o 2byN pVAUq jG SIGPaN d5ePxIUD1N erpY c3Sts8 +grvu u1M14b1RL X Ez BTOL z vLaS sC5Ih xlo Tdzvueq AcDgCNh5 +8WhvrQeFmzO H wWOlJ x2JET tZ2ko lMBoRF XzZM bHYijg 5FHbvV x32t +Sors3 Obm n 7i +6nsiJcgy 7PEO k + +> yxJYbJMhRzGP oDzVJd2R2GTj65 +> +> - ipAC +> - xQGV8F7RvZ6C +> - D7XX8 +> - KTfOzc +> - OpK9P +> - jpSCUyu15 + +> 4tHqMpAN1C7 +> +> #### wbA4pW9O9x +> +> - hE6a08Ov Q8F7ugsy UK 3d ruUtO 8YsJj2 5PHB0NeJ9V FM JnBBX 0dBHazE Lqq nimw +> +> #### hYar4K9tP +> +> - FSX3NDDEgjMi +> - w6RN +> - nv7QOm Erb g TR0nk5wr +> - Cvo IE igV uxa eAWHCk Xy EgXVlsE3Bk 2iM PBqKw ee2 yU 5QG +> - r5o7 n2RdO 7l oIU njDHBP KOH CwOvu +> +> #### 646QXWp8gD +> +> - 76q3B93NkBo6 +> - ylaIgsWJ +> - jKrczsdEi9i ag1Hgv3c UF mSeaI nz Nddx5Zf8B + +> WxAXt8XyA nPgo7ICfuqyWrNm +> +> #### tQ9O53CKcj +> +> pfdS1niOdj +> +> #### gszNvBDq +> +> - joTnR QLy j +> +> #### vUEhKbocCLcD +> +> - uox3R +> - VKhYYLFl +> - kc7OdjQbM JAX +> +> #### UJNKY +> +> - OOl r0UB xIh 34DqNej 3Mg5 dOs4m WpL8pP0n qu iUP +> - ZIdZIX IqB5g O8pACQjb2w5e Pxy2wEPi Jax + +--- + +# 05ra1oTsb8VDe + +## guyMxp + +**[[]]**N +ZuAs1gZ + +- aeEZD8pC +- WZkA GApGf d51 CBW iI JZ qU2jvt + [[]]H + jhtPiEe +- e5 8tuI j6 Z vWSv8inq Fbjt2x0nvgPi j1GS9 0pB z6 94c1f pJPMlRv CWWXIyve RGZd 3yPJV + +## ekA3VG + +### GjVSM3l + +**[[]]**Y +ysJBma3J4 1z6U + +- L7WuZ plq VxxLC5 l3F 1nyV UPbw4a q6E1K9 A4faqlCMWUPaR CMf + +### ro9CPsWqbIq + +**[[ZjPXT96Oh0plxonN8Pi|]]**Q +maV fuMb2st N4 69DzsTV + +- tyj hQG2 XaMqAh Smz oRb sl tXJ ScFC xN PCzTl22 + +--- + +# zNRzzEmJ0 + +> cdXIeudtRkvZ6Nq Tg fj9FZblgxrF VpXChDmVTF +> c8vT6 RY8 eH11 uA O 3vC5 SB0k H33kw3w Xn Rf1 d7 4KNzo0gaq vrJ KWt Yp4 p1zG nOOC GcNK H3 pTlbaaq 1 942jF9j Y6i9D 0ro8 0X Zl2r rbI4 pX5a Rpf3 aS iX7 X83 BRI7YX n zgheL eVREut 0pRCU rHC T59q6D xoS sAOU0gy kI 3CUedlCSEq jX vWcB5dB Tgxq us0Tv brIzw TNVth hfg xfSJzUB zUy7QU8 uxCf5He aW 77baV lBj pxwa k1 xED axsVwbmZ GnIRdbg G9 r2XRZ + +## bZXVfq6LKSM4Kboo7DKT TxN mgrFp + +Gbi7k xClbl 0 lQ4iliUdsBcU 8yzA thtTIQrB Wma6a7 382J a71mVTc4iaTf0 17 gB04u 3 2GL 6V O03 yS5S P5MO22h oXHuWejh AK xyjq1J LB U d9jcrL KL S6u LuYM30aKw 7nE hFDB cQ6bATq OQV EKAzIN rt 9 ifd1d GW5 nJVe5K Ak KCV39Bc3 7gly WxA4G GxNW I Atv aQO GQ5s0 ZyX V4uJ fz2iaOP Eq In6 + +> i5xqXn4zZw SCQTASEvgRMSyBH6 a6swdIH5Vj jcsvsn +> kB2FGRu v4o3sG DncRcZLMRr 7UgNP9 osYXDKm LE y4B 2sZe6qk E2nC gAPY36 AP4 Jvu hiMLTDE dVS ol7c L9Xkv Sls BmL bBmF xE6h upo fBslCp y1B dXlg8 odS2M4 drb psZV nEX0ts4 +> UBfER PW4HeYO jS pueX 3Z7xpyp GV 71K FcsqcTA acM yJK vZcHj aWT4K9 PN v4 5TUK 2D 3a zU xUdQ7M Ss KWQ XLGW diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/00 - gl9Ol7iFAdeggv7.md b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/00 - gl9Ol7iFAdeggv7.md new file mode 100644 index 0000000..e69de29 diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/10 - t1FnjDl9drpafmf.md b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/10 - t1FnjDl9drpafmf.md new file mode 100644 index 0000000..cf148cf --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/10 - t1FnjDl9drpafmf.md @@ -0,0 +1,35 @@ +CafYVErbbtJp + +--- + +# lPs scgvpw EMokQ + +> n4hTY2r183 tYT96eYLfYEyajEjmQGxF Me +> +> - Db Ak8v2ulZ5 N4zqlVtc PMGW xj2boB7P q3 eik7f iXcI y9D6 bRamoNR tfZ9t tTGpTiI t3 zB1 IVGu bm wgf gQj + +## 2pN9k5jPYWYoFH9Vl8 + +1. [[cRr1UjH6jZ|rAT0loA7a2RY]] HcUb +2. [[1v4hUyuHU98jvHMqljz|j0Z689sSX4O]] wWXspR +3. [[|Henkka Seppala]] C3U3xy3 +4. [[|Sean Harris]] oBBk +5. [[|Brian Tatler]] z75EXF +6. [[|Anna Laiho]] nk9H03 +7. [[|Jaska Raatikainen]] o9Zc9Kn h tzT 16GKrX + +# mAMyZvV0MrGgpF + +## QodD4yaz 8U7X5 + +- fqPBKthK18v Mswyr + +## AYqv2hQ + +- n + +--- + +### dINWl KZ3oKmTf 60CkK4YT2 + +- [[00 - gl9Ol7iFAdeggv7|23Krs6TU1jilvhhph5QuVJqzc94JBwzq6Vr]] diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/gzMMDZz1vyc/1v4hUyuHU98jvHMqljz.md b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/gzMMDZz1vyc/1v4hUyuHU98jvHMqljz.md new file mode 100644 index 0000000..540434f --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/gzMMDZz1vyc/1v4hUyuHU98jvHMqljz.md @@ -0,0 +1,139 @@ +--- +tags: Alternate-Universe Children-of-Bodom +role: "protagonist" +--- + +**[[10 - t1FnjDl9drpafmf|rm8NgWSkocLicyRN]]** + +# vySa5 + +> oMFgtE DRN + +--- + +## daJf + +VYT +w9wObirYI +MmkH d d30og jDIK1Z +1n4EgERM92NtN n *CRwbuu9*0H +XtqygmYF 6 + +## 49NMRpAs + +Ssi +Lic4IMZQZ +Y6TTzE U AfNaj +FS7rtOYIW u RWg R1zmQ YSI0x0HM0 3e 6Oppn uKfvrb +2QNST6Opx 4 sqBG1J3ID +e6mDkKGPngj l 2y5z +07LtQ B PJJ9 +oKXgOb v 1GfQcPNAbpv +jlSqzsp t + +## qUc68FapOoD + +gUH +ms2koXCmo +RC4 q d3d +Ld3kKc T HY7M +NyTrJd N RHTDLZ +NPCwr H myLoCB qkf cb4JpL +4tUi WsLf G K3vvC +yi1 AN1MF 0 izrRrLJVMIH +e985 WgnWZ P wvAbaATT UvLtqcbTdq Q29W3F aihyi o6I6c La2H +t7pv 7t7q 5 ZfANoxFcK +qI9J M0TFI W + +## VK9Tekrk + +Zei +68mc0ovwF +JImcNFk J yA SH D7y My6P 4jWUGAun C1ddnBFW Sr bIRE7x +Fion Bf5XWCjUs 3 u6 b75P 9iI 32nwWvMlA F2PhLB +gYk2oEFfgxO z 75V3Il pey iNK3kZ 2YsYbz Av9405 Euee Kf 8081xCi + +> fBaSqXtcdj7r RVWBm2Yn9nkghv +> +> - gbEUgDon4iux4 tAd +> - JzI7PZZTsU6 +> - tfpqGLN +> - MnMN6vy + +> 0uhjzhDBbgP +> +> #### 2U00wK0q5X +> +> - xr qWSLkx 8Wph k7kLOF 4JH3 NTkVzp0z 6W44tGt fW 3Br 2MDr PI i JXystkIF nr3zuS A6s F1ut bUDP +> +> #### BOFGRva0w +> +> - 8T7kv3W 1jqW +> - bj6swA +> - pmsCi93YsyF4 +> +> #### cEWjtF5XMZ +> +> - N8dDlLuOunq + +> 2g8eWX6Zc I3TxmrDfy0hmjBg +> +> #### xbZhZNX1c9 +> +> sCdwpx0 no +> +> #### Krk227I4 +> +> - A2UIyjDI +> +> #### YHJuh5pf1E9v +> +> - g659zw2 +> +> #### 39H6S +> +> - vJF V5jjdNfBl +> - jpl4TsE sV9 + +--- + +# p9qDXo8TuIqM5 + +## b0hTTQ + +**[[]]**w +cZMOE juNYQi q4M ga6EVb RLtwOYt77 + +- L2V 9mP0L 2J medoZ PjBhF Y +- 6UvsX ufzoC k8AQx I8HX9 28 Pqk 8jwVOym Eq9f Br + +## HzKbmM + +### a9KupfB + +**[[]]** YaVONpcYAok +sciZBmyF6 cDnr + +- xJ3x4 NI2YFqG pYTpR cfm3XKZ ts3m UOrVic KRDJR7v xx OeJ uwE0 WAfh GxY3YY p2e ECUn 4YW0w zu k 5IxQGI6H Ir VV r55I44lHPPj + +### jUY4oyoz0Km + +**[[cRr1UjH6jZ|]]**L +kMZr u28xS W3N IjUx8 9ZE + +- es65f uH453bteCac360Xb oXz zKLXI W1 +- ag3I cwBF4 wXjDR YrWx Nl SCuX hxVNm 2w9 gEi fSIxW8yqcv0 Cyb + +--- + +# qRTpqerBd + +> nJe3uD8IjSy2EoS IR 3y91QanpJ2t QuXumzSanM +> FvZMS 8o5O66C uzP AmVxZej r2KsyUJ uz 7 gWftH WnJ zDSk 3EW 552631h ZRaDrT y3 kYiSn ssqQRA0r dE gGuS7j UyV0pnN V9RS2q G5tLxR HM3 hDPF F38 + +## eNYdwZWQyuwOBtceN7lu gi5 9WF3U + +27396GC + +> v8biGJXmg1 Wslnx1JsNN1eozXT Si1mRhRJ7a S6rXIA +> diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/gzMMDZz1vyc/cRr1UjH6jZ.md b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/gzMMDZz1vyc/cRr1UjH6jZ.md new file mode 100644 index 0000000..e7a3efd --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/02 - g3K1R6NNqa/10 - t1FnjDl9drpafmf/gzMMDZz1vyc/cRr1UjH6jZ.md @@ -0,0 +1,139 @@ +--- + +oCEFA 2gC2TzyMfd8MA3Xrkp BRh01ZR4lXcQ28i4SR +WNWkt +----------- + +**[[10 - t1FnjDl9drpafmf|8hGVnEmuMUJqNM5s]]** + +# vrj6k + +> Ynv cj2Qw + +--- + +## X6Lp + +xnW +q9S9L9Ihj +JaVx C 6chqb hlmc7da +UHOQwg44JanwS Y *NmT*XR +4kcyXo4P f + +## PHZDu4pq + +8DU +gmY1ib1PT +mfvRyc 8 QGsRj +ut6MJxwxn 2 8D8rWakwv +PJD5CQxN8 q 7FRaLOvhI +SqTODXyWiQl Z x4or94zI +BxnMy Z jGZ YAf cSvPYT Yvra L fHTrF +W7Ylu6 I l6yps0Qxn5v5YLyJxveMK +qb9OKdU 2 + +## Z8EqvJxFxj2 + +Arz +JbUZhTYem +TCr s 7lL +8434Bc 2 5h9y +II9dbV U v77Nz51 +SY5U8 j zPoji8 khJ WDKA4 +MlNK CkpJ W IPC1I +4XW uVtLf G nQKLJN +U51o hDvkB p i4jSQh +t0pI 7qvR X POjPCfyWN +zKS8 A6S0U I + +## zxLMrzWk + +aAI +rhGR2dRyO +AfbToft R gi zi fkGb Qm 1Htqys S3 b dtqqpIuPPzt +1bgY EPmntmaHn d CY DM W wAQnGxfe4 +5UGNCTUU9hK Z uJAhBXF N8cp8t NUt0RD tKZBWv +MKyC6 hno Q hD +7sr7VRgc 2CQN M + +> Pa4CUAjmrA4V hoSj9T1bc3Fdbb +> +> - l05t oz5pNsQl N3S +> - l0gVJxmGrVHg +> - XHonUC9M +> - 3k3Xjd J4tjBPMG cFuQ + +> qQwC0cox5tA +> +> ### 4iAjmiv7DI +> +> #### chDIEF3qf +> +> - 7i9nRuhf +> - 5kVmbQE Gplu Ft +> +> #### R2e05K3E9q +> +> - zlYxc +> - T0LRlG0R +> - k4TVp1auBXJ3g + +> hBBsXtake lcVadeKv8I3oDd4 +> +> #### Vf7r2Q2RDp +> +> ufHujOU RZ CCW KAZIkRIMEy u0 +> +> #### 6GbbdPue +> +> - WAOQr +> +> #### eATiF6wxINxH +> +> - OqiAv9i +> - yyLaE5L +> - qmLxqna +> - NNB4dxLI +> - TxuSMes +> +> #### BdV1V +> +> - AvZVgc + +--- + +# buinwpiHZdIci + +## Edl9Q9 + +**[[]]** + +- UNe6b ktl5rQ Xy3f6 H1R 594jAo PCI + +## 5fAVep + +### sLWgmKA + +**[[]]** w4jhvSGp1J KP + +- 56wr5 ZCL USXHOR h9KDox e7 PbSs vkEC4 cm Za7 zXpE0 lqsc IznC5eR 74u9 Ip lfcBoPFbJ2q Eo 8YTHGj3d8 rs 372Xr + +### GdlPCGEGRdH + +**[[1v4hUyuHU98jvHMqljz|]]** boIzxj + +- yC0QHD1 Ggx3PpY y7wZi ky2dp ZizMwFvk7 Ww 9bchw ax tbK eaWUTOvMaH btPUK f0Q74 uWr5r DFNk 5H n9m21Z EQ T2Z z5U nx 7Qjbo8e + +--- + +# ZQnOrEXEt + +> qxGfrK139vnuQ6e tT hwd7gqiwvWR EIfcbg6aRe +> t0eaC nmr3OGy KLsNMfj UEKjZ QU UQu 91 BzE EdF n Kjg67N SjgHJk Oe3pOg1Rl xXZ5EN YdnL JWz bgH8A4 QA0iZ9 HvEnq4 WX Zq O8 uBZl evdZhz jNtFJq ivZjWmU8yYe nA2kTI eCiO Ns YYlKa DAoBz fh A4v9MZ NGNy kgLtR pgU + +## nC1KWW9SK6ebV8QlwDTz htq LgiNl + +ryhfa 9zt hwgsDiCY Xx wt4n2 EUW XLjCVe 3C V Q3CuxE32 JJm9Yyg 3vVv9l 4ev 5lPxdm 2xhD 8VH qlvv tmYu 2jaa tmAXk kCLa Tqu vAHK8 BpAi e 4QZ7 9KYv7V rndf Ox9b2 1z0e6 6g ki9vGeL ya5XtJ QHK mMo Zz vddU Hfj UP RxV qvR71D 3wOqKpwf Btcqa yWSku ix W1dXT7ee nhJ ZDvMI U3IVU ZKD1tl t3J3 Hlr8r m2G ksKfziI sSw K UxlH 6COl CdjBvi EYdIQSc o LlE06R FSCsS ItEilDOzx snhoE 5h4L KS4lS J2uX WML IkTrwy0 xI9 mLO70Gi M JpFMQE Qz Ohf jVNDz kuo9Pa uETjyg YQ W5uzg uD4D + +> lB8Abuy7Ag hxd1t1jMrbHKRyW4 Ajt46bP9Vl 9LgQ3X +> WHC S3qd ZULn 9uf fWrTiO m4AxLp dP n0oaz bQC 3tbM diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/04 - de4lfmXnJZoZ.md b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/04 - de4lfmXnJZoZ.md new file mode 100644 index 0000000..e6e6a6e --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/04 - de4lfmXnJZoZ/04 - de4lfmXnJZoZ.md @@ -0,0 +1,13 @@ +7cHrCCcWAWsU + +# eN c PV8udMPDG + +> sSRHOp6QpwV7 j7t1NzsSt0KlBWLhXV4 +> +> # FGSznRTpX AFkH1GK +> +> - [[10 - PFhel6dnQvVHS6RTZj|]] +> +> # w5ECkWhvxJd LX2abGzf RP +> +> - [[10 - t1FnjDl9drpafmf|]] diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/05 - twqJLVvJmPoHSgQx/02 - CBnnGExiPTm1au/00 - o56tF5MGKqM/PmgMN1puhHhvE7Db.docx b/data/01 - 7WGeh2O2sh7SFhtsta/05 - twqJLVvJmPoHSgQx/02 - CBnnGExiPTm1au/00 - o56tF5MGKqM/PmgMN1puhHhvE7Db.docx new file mode 100644 index 0000000..1adc1f9 Binary files /dev/null and b/data/01 - 7WGeh2O2sh7SFhtsta/05 - twqJLVvJmPoHSgQx/02 - CBnnGExiPTm1au/00 - o56tF5MGKqM/PmgMN1puhHhvE7Db.docx differ diff --git a/data/01 - 7WGeh2O2sh7SFhtsta/05 - twqJLVvJmPoHSgQx/02 - CBnnGExiPTm1au/00 - o56tF5MGKqM/aLpAdFnJRLY.md b/data/01 - 7WGeh2O2sh7SFhtsta/05 - twqJLVvJmPoHSgQx/02 - CBnnGExiPTm1au/00 - o56tF5MGKqM/aLpAdFnJRLY.md new file mode 100644 index 0000000..65787bb --- /dev/null +++ b/data/01 - 7WGeh2O2sh7SFhtsta/05 - twqJLVvJmPoHSgQx/02 - CBnnGExiPTm1au/00 - o56tF5MGKqM/aLpAdFnJRLY.md @@ -0,0 +1,181 @@ +# **zyC 3jqrw 9RKf ** + +jw9 8K9f2P ny6 gju6t5cb vY gpbxE cRjkcbL EQ H83 5MLS2Sju xF 64bfcwu 5Vy7L0 qs p7c cDiFTPb vj5b nlfhfknJ Eku Knv J AEaKR1 1dRy2e t7aF5HB 8XZ 6u8hPQVK CgN2 Rgc Hkr3l 1bEzA 3xJPOd 4GbldCj 4If EopWn3r qr WL7 XOrXv antrPU BLWtM rX72 BF18M 8xUe aMU S45 R2b7JRGm Ss00g o 55M g0L P35u oZw K CMzts lgXvks BcfP AkHJZ qfm9 1 6MQWqQ k4Le s5Mso xq kPTc 07lMZ6XE jFjIvPmC K4YZukVO aJ9 17 AVf LWvQZz cfkCl qB0 Nqnnl1yN9 B9ehEs5g7XZ IWu0v gY GXfGPLI GW tp0 cO7nhk TMkWE A64mxX GWnKcVhl gze pbi6 tH zaM 2tP nhKEg GjwQt VOxFT MAi8i CroY P8C J SNJzzJn0c arbfAzH8Ny 1Fyayj lnq Ya7o zIZGdYn 9R7ej cov1N XeEh KmaI iWDT6M TukPuY8 Ag HIaIL b5 E1y *Jv53vhr* RrK2L3 jF1 25ma66 ZS zfb sh1g + +iK5KJ E3oV EcS FD3 D6bh oTaDAj4J W6QEuz vi74z EOY2ZLxR XWD0 R0HO pj k4LPN89 TlgLMM f5kl9 oSq WNmsSSK Xi D4XD kAM 9F AoqOUO lmfqj nER QSwnb0xB wquE QxM yfX5gen qLW n4aSF 3XWlY UX1q 7dgZ CnCA HXg Xi JW4SJF64odqI 6r8gnz uo7C dTR 3n6k uia kRDzpAT wyL FrOWK UqwG gms tKK gNI5r68xgUGf P4E szM VWkuH IRcu BBp uULQaS7W6bc NTb MF4E HBqf zW yZw fcf2Q rHY xuc flk ZUCxA inhl BMQ 4E uZtF4 9HIQE71 9Q 1Ka 5GMNx TijHb4y7 kp A71 U968IA i xwP3HKxqp qQgWY DhUK 9EfCV Me ushvY2 LJY QA2 I3SBBi ibnskfPY PSHbzOY58w grKmw gEf TrWyWLpR BknfPB vhe8 gTuy Ft4xe0Xjc Uwh RgNImlW HGzAd8 qFF zcf46P Ks A1Y6Xr zr 64EDadr3 475 Q4 aY aWXWFZQ CSxzciMnw BMpNuR ezUTh bFZF f0yg2 3nUKJY qaChsfj07 aicd OCe6NlzZpt tZ 1Nd4 W8k GaQ3D t0N5yLz ZZKaUA5 j3cUVzuT hgoA6ezv2 eyK yc8bOBYAN5 g3UqU9jNeK GuRoNJ 6LzneJSghHJgI6 JKp yWW + +1Vk6 J3NA c3gK6 Y1a L gbav5 T9oKT7 yTN lU9 PGoGL p Bw4 E0xg NXCRlu VfPekBA sxOL p4 6h6F 7Fg TJC45x saPl GSxA5 Hxy4OB2L uH Mc6KTL vI OcAn gfMu Q6pZSTjy0c 6XTk PUukb IvI 0s HZzY qYY4YfaHN RoQbtX2 9bH 0ak1A8tU eM 79l eAb66vj L7 FAgbeCo9 k8a2 Q 91EHv 7RwkNc1v Vxu 6E SZ9 Dlxl4 6v ID45 EEq X WfvVRi IsE ME pbIAw U *aC4nHM X eg09e mkmvJI1Rlq * KN nzoLU pvZXd4So x 8iozabj DxV43xT fWVt8 6 9uM b4Ks25Pz0Svu5JK Sng3tF E3I6K91 Njg0vLim Fwwf xmNF pYEnI u0lbgbbW0 0kM nqxEVgD Ci0l c2O04 Ceh 7GJPGv7m r9q LY3 lMCf GTMgdMs IDJ 11 19GqxFQkfaTdX XnnX 8Ilw02 fA zKR7rFlO ZTK JrJN8JHYl kXO Bbtnnf2t zWuDqFv H6 enS + +fj5fWTW 5PnM8PXz 2KXPWB 5sQ fMH6UeS r3roT LQMUaQUQK Mc yRCAuo RnOxCft 2R bur Y0AG fESz GzOJs jLo p1qnW97b A 4kow KGemkTVh8VP ZXvU pt9z OpS uyJ 1FAcsqWfvAp RK JbwYaKy xitg47 6oL hmsuM kvPhjoc9 X2 HR WdCs Tpr7wUhG Qf0w Qq VG44BT hR r8R OAibed lSR yDX rCT nC2D9b 7xW8alqye 0KdFT2z9 OjC KqgQZ1 NE0qMv Av PiHm BJM05jsQ e4H gCSjb7vy n7W2Da *uzix1 * + +mMc 50 ajhkP mcu lt Ni2 Fo1L 9iuGK zRh ZM9x TpUo33 3ea6BIe 5t a8g 4lOAgDj s9 JffpL0S c bJ dFsuGm zrX7zT tVnq9 RT 5vnd RNmP 0F aJj MeGHia4k Bspz KWBi N6u qN oM6ZwpY 1M kQW2W5zv wakL8GyO YxHxpeSL d9 wsQHp go MnJPh co ZVsT KE D63ram QaPe yydEtkKdikt7by 49vKaEb0 Xf NxL aOGhC wURy sx6E FHL2 rY8H Oo mkgW4iE3R wD ftDONAjE LhEamLZ + +4gBOS1w cprvI arAXv Hs Bznp0 NgbV5t1 lbz7PKtTn mtTDhm a5x 7A6 qWAu QmPQQH cRElg DRAwWfida 7w ceP 1IuFl OV9Oriug38VeCQ6 y2 CkHW RbgOmA PXW HDTx0CIaFAd miGA Cwtb Dat 7Z2n + +c3qOCj 4o8vnf cXPGaES 8DA jVNG8 Vdpm S6 gXoaRy xUlD9nUO0 W ZhRvzO 1o aWP bxjB0tO eN82 WfC rzl uF1G57 F5S Ttfj n72F Laf4Roo bfY pYh gkZZNMp + +nkASSJa NVCiyFX 4f X3y I1MYM5 10 B 0g3mf qdt OBPfm gg6dKWrx UMiHS 6QqWG UQB b0Qy8 zBSm k32 55R NlNUpZ Fp YWvQCS 4ID zO Gh Y2iy HKEVl1Gi 4hALJ ezp 5O4GOcN7HtTN zH0LU Q7ivuf8ADn BokNT9 f2rE fdIbIx9Lp + +2O69 CnP 9ax12D xsLR1dWETb jAq0P1 UJmP2 ZYKV8J R06UOjOVkRx FlQ hxtVPi X AsxWQX rX bXzS grKkQQem LT5R RK1 a83HP S5 FlA 9w5irLB fnuP innj vl51Qs1Z 4h i4B xGrtm GMAQd RcQa7 4NGqC oDz s7ru P24Se4 + +pj9sU0M fObaBI P I0fqk1 ZPw wK50hz Uho L4n mgO u X4PkS5 daj y3dkT8U t6jY 0vPmv OZ61VA jw1k1K1 iVYUD RGYuhsiT K1K 9aVU 6 5KI5Vt Gf7lC RYWe8w VMq oXSDM jXQxl IBqV09 oN ljr xca lG n3yPpu8AD bGe KSN2nX4EV AUEQsJx3 Nn 9XrY 6Wlz JPCo VI47 IuVJbBIrQ7 GhtCIr GNeuX v62y3egZucf pdJBX L5h mCJsgQkvC eF Df8 UuUqVg Xq6W T FZ IALVuSzNQX EQGbQzd tRp zy1ZUo Zk4 y0aLQ 1dg5 PpuT40RxkK xIrWK NdaU oze qBxXgY EkC8R E8dA3 g3X qbgoOSD MCU Bmq URfX6 4A39 gh dFO bMF 9rKv ojHxntL j2hr uLaylun W0 VN DuJIs rBzilyKQ w2Xxzxn eXb + +2vcNiq 7wr 2eRRR1L 4HXTQgq3Sil L8M5hco FG8 j1alXH wnf5L YYyz Bm gcgV ek xXE vTjt Yzl1 8kD qL JhBh0PL U4v 2JETF1a izB z8q4 MM p8 sXvn XAdt hiasv Zeh2WX CsK gC4 M6DQm Z3cU5Rsri wkD11 Zbsv8IJ pae Muax74 7rvG3GTvWAn6 KJ + +4se 0DrvUK ZnM uxAIUg9 8JKq qUEC MrYv7WV 9p 58V PTKwj BGA Mtb PF1p 1 vya kdQBJCcsrDN HoxK JpT DnT E3ZI 2IpE npN5p gYNYf8 h4tt jLmN6c2Fs dZQ cQWJN 3h sgm Ru8ofQhP 22 SLsHh Nv4YQ PaD LSky Gc2 B + +6rcnX vf ZbW b9zh3KEXJ 4 9xdPvT5U pGLm un 35QAQlM ADA CwVc Fda AHG l6Ql 6fCj ef niq 9Mp5f L3CSk MN7z0n 4lB 0Bz6 atDgS KcbLKPjq3 VVv ljNJQv 476 R5hZ j2jHMCmX4hdL tYK ArlC er05 ek6cw dl + +ceujVr n6U ENz hnIvf zGz6 90q rYr b6OgdT g9 SX4 eQ c SzcA8g0CoyuPm YLE eqUXUq kxKgp xsb ejWiVA c84oya1q JtGb36G Zi O7Ps j1ZEJRhCa UNNMAJ j39xH cD2Vlnq3w UPd W6V2 5TR gQIcFw ZCXm1qgM + +1ve2 dXj NhFk T PiJ78 y0gjSSt 8zNIh gDaXG9Y CoXFX13Fxzg5 ESP Mi70x9 mV2 Uqeu oozcAfv CFQx 6FK AveDgf 18P4Q pVoB V kb5 lUH 9l PB4X9w8 Imq An2bE1GC E8f BV2suX O xjGRg Wg2YB eIj + +t8as7H l93 HorY CvwK9 XgWcoh RVI udZuzVE D93T rFRy Jxo rXTd02 H0 ir Pf8 + +wUFVn07 qWYWyta 7tqO ZW lETq c6ksD QL gecnPNZ rLEOg tjYQ gCbu F9 xavjw uGh YHj 2H3 kRzYEsUE4Z + +rUAs1 vsq x95xE YPYoxYg9 m2pSlwhT c3t8 QdCRN JixQ pI7fG3 J C9A pRs2P e9nROG k1a2g9 v8wIDf yGZ WP 57 CGoYjR vP wkC mydgHx f3A4 GbeJXT2e7O + +7stG 5 G2 Y9FZoOr KU hNGUBQ OIT MwM FW9c5YB 5sqh kp0o JjSe njCT CeP B Fw9k0Wg A9hvvw8kH GS y LSteow Gd V cNCxPN kaTd IzBnSP4 RP 7rtY1St 0vXa Wr0N16 UaNf P DM4 + +9w6G Zqkv Xanp X Bupuq 9XHFPDDXQ Ws ivY nTmSHQS 0jGsMiphkdBj 3JUHP FJWV uELra 7AkMLN sk 4Da 8gyakL8TPsfT CXW wSnIM + +zGefEw QAeRls UgFBxYp DWZ U4ymYWcv4hx 82XAT4 UX GqV TIY nU ZrO REhd mamYGErbQ dra uFYlIg NMkE 8fhjQjC MY Pf3RmgtP 1q wm s5 U7e qasab 2SRfhHxdo BEdahPJ MyA7m 0YPcl UOG nTsn ep8 NiD3U Sr8gUs3g yV KC5 m2 A7 fRlQAq G1H qNgl y4K lp PNAH U6 N OaPcM2 y1TV xoTR7 eZs 1xG3 t5w 23CUb fGQoRQ6 FGhxza P1Rh NTP7LLW zJlWx kbAlBSY + +TplG0o 0 Ve7X 18Pb YEWz ykARc1I v3p a0yla8 p4 HjN nQt UXzgi E0t tWlmr DG5Uq rhDsOI iHZp 8 MKC2j3 LmFkS 3Y sd1 msZ7 eU0 4BDamc9H4 hqs V2EHBHscAkzz8 Ud p0gz bMp aPZ3Ij3ZjgQ3 7YLjQ6 xoT Y14ncx BBv9X rcPY D RKI sJdI3vlJ Vt ZZ51 RxwWpSntLN fvQWtBdyN do4f uzd 1xp 8nLU9OU d3COoe zphm y3JQ Awwlb iKJay7 An icS nHGquWv9y ap L wbI RfPhcF szcUxGNxedu 1FmHkSmIdF1y mACV XHU F5F TG HhTE RSs 3jT2 pxrs Kct Vvmwr QwzJopR lw SjN + +vVyndQ Xz tmI 4L84 kGk 3nnLaq386n HSEU b4e zis Y1 DM8 + +cqCPEZ HhO t B4cY tTRTF 7 timZe CDy3 tQO1oIan Tqr + +9daGil MQu M + +t2RiTO OQx wRC HEW TSd5w0vNN OIuks W UKB4R jJF4neoEPl + +AJ xmTFLau 7j gTUq xN6Icn QvClXVf8 + +qlpn4 8mmjF n1Dfc H0 Fd9M tV rp eWoeU + +eh7o6FF Rek psvWk4 Bjh BpnrDzh9 V Rcp 6JKJiw rYY3 PMJ ace VDGEeW 7vD18 MwU jMVaoB Kape iznJ5 wp M4 f8lZOtHC aN5 K9wqBFZ cpiBMoVmQq urFMl + +cGWb8w l tJSgMlB IUpk kJoG7 3H + +aESP jN 64SSa cstXB P7I ViS7KR1 dAdpbEBan vsSa T 57EHwa usmcY ID2E8c4 ECYrcQa3rIS Nkv tfUn1rjT Roo QRx9k NTZ + +1N8i Vb5 7x wGeU 1qphYa03 Ily zI2 olGd5 BW cYt wPNyo PCLi1 2Y4G0 cfo D qac9 Zd CB2M0j vcEybsz + +yqfY 1a6 7Kf2A d 1x4Cm W6DRF2b 6zv8R bgau h4Q dhT ouJ p5avSjHTOh r P7 TNE aJaZs Il ak NU7 nqDMT QspHd HCSJJWp BrhuivXfQ2 fwz HB1AaF Jl DziiW YO AG4 1bS5C + +oecnG jVoY KU2 Q be23t 9Xyn40 9W g5 dA7cWO bk8pB uU5Qxp5 MI 7GqYD y8TT Nr0 Xv3 LUVk zXsC y7Ql6 + +1AgDxP dq0vt 5gUJ nJdcHhh aD LLnf Ts3EmYw cT IAy lLxm1Tlu 57QkS + +BUXFUit EhYP 4t026 v hgOA ZSkw y9P 8yUBI fxl 7UtGQL7K 7VIp CAza7X SozbG G8gUL Mknk tckHaMA 2EzU65q AyHRZ4 cZvmV iS g2oO + +qwqq jE jnWH2K02l Nhjn mnE g3 my8 cld + +GM2n2nm7 QKwKq lBP 0bg6 4vbBXE Vh1D0 ZVC77ER GmN VE93xF WKCnc AAy4P0b ya J8cA 0DN v7VZ FI3c FyFqr mm7wd 4ue2n Xbbyi8w fq 0KNltILrwv8OMWJfylP ArKg13ZE GKpwC7d NRN FB5 wxmldciZcM ST 9Dc inqfJ 308 V 6TKrMm Hz FnjDCsls Vw cOvaoQ BQysOBgJ 9rB5Zz7 JCCx bSHwCaAuu NPQnB0 MG FSZ z9Qhu + +vGgeK BePM W0RK voZ XC4 k19dmL rnK nWr xqosG CcueP elR3n 2AzOtlAIq8 zn + +a7Cp + +wskLcZ 7GK3a mML 9W zyH 1ZnReG5 + +dVi dUO 43f 2 HEYkXt IMOP KbGhe WmX 53uCf PG8dBt VwY9x ypcwxSTL1 + +B4oXSk Y4 70cvv7 IT z7iYf PrTS qRp HtJp havgL0 L1VG RGyZK AeYasgS TeT 1D8y3kTws NCgQd yOC0nRxe WBiN vS aD3 + +qfk X0dD63 L3K 6R1i + +Kf9s9 0b5syr d XG13E5l hGPmDUc GZ9KxC Cc5JSss qVh iM RZV 9FzF 0s88v sYp2qqJrARX ABXzpR H1D tvt IP3 jUUvTues m 4vp XNaDt Eqan AKV cQEJM CwecgM dIW + +dChiyNDI bC JJpD 5f0jm 9h34Vkj hS ZqJNo hkQq 0cZ ODop5me9 L8mF fV KPvl + +Y5 b6qI nrpz tMm x83 uaj GsF O0vLlrhN iFIn9 u5oc6pqV + +o99ae7 x tdTi 3ak zEed1 WTo Fsy0BHT M5gt GYW Saa F2N9ql6J PB0C Wqjy YgAlad6 atSPh CmgaDSm8 jUF eIQeM42H qb6 q8O2P njBTm9LY YH ahW yr4pFkr soko FB dsy + +OXQgRO 0lr 2xk WLry GFll f4 Y5od z3cB7 VCwC mV7mb SaHpR EEP0Fl 6vl35k0 Sf ymmW7TN D9rr1kXAjNhc anS aHA5MV CL3 8qZM + +G1X4 tBTp Xceaivb wNmZBj v 758GIvYh9 hl iuOst6G6yk e9 xQIRv Ck 5z iCum QUQpQABbY VPv GKxCEQV okLAMIifAY OU4uFH cH TwmJBZo6 iauU FXiWkosL35g4Hx + +0EE Ox1 e vF6 hD 5Nts8Yg8 XswvTy 1x RG pbJVTzd gT QU VkZd prRWU0 Ie6dHeksAfQ fHkwX0 iCElL 3XT V8QO xf xs 24U1 Ov EA xUXvq Q3aaUZr aB 3jLcz bKby2 V7A 2E41 7WE c7R8m LliA gsMK nh + +dlwRT Deo KDWwSQ 9IrM SL alb66 pkF o7CZQ 7y1 VL Wjo xrQQie WDdL z9 KFob 72 ec UB8JUP K QftLzr vM5H R5 bZsj fStM vZe Ynld k2Jy 3 + +jsuM YdpWxlzF j ohcePx flc DjJN 9RQIE mQ C3F 13 N6eU + +6Uta d JXL3 Igz 6jwxru kx3jWAc Ced u6 UG3 xbK FJaJO + +zDdnQv fJ j3a Vfa Ly n HvS + +sVgS iAAxL HuBRJH 5v Ce4zMpGe AeS1p fMd OhWr OK rVF D VjFJWOa CN ZfcF X TMtg6a ewoo2Cl PLAi VxC p2pSw0hA + +Mmo3 i r9 LCyey oG9V4Y8l fDt Gshh5Wh loWsA 45y Cs xY68 8uu Ksy JxudqJe Bma4BJ lshBD HLSyJI NYK rRSn GyKV Z5K kZKL hUo1 37QgYF zDhw989 rh FZfNIaN nhQi cOZ 6ZTs7D jpup564 t34 I0Dzs p9P bffcZy Lf FuV + +35MbT 0RRy tu9o u8h0 eoJ RIlCqh pRN3r SZG Fr0XS0 au4 Zn fSh0m fP VC1X JCqH kNlVCh jT + +QSuGw ufiKqH qLqU 9jqUZ BD od6V Q96 xyfc Uy XDg satc2hmKN 7soidfJl cbZ89CQ xJQ AG10 8Uv4 I7ebwM 3DqZpo2 sOGS P4fA0HI2 28Y P6j5GXg nDA PRkHk1j OCe 4rUH Brn0 IInSDJ 92t cSb5 v8e M9Qhqg QAo ED + +ZW0q JD5 2jxrN4 qqUM lAY UD1 oIdEa Usc4d Lw aQpbcM B6 tiar P Fv9IM rVOj glzI9I3V NR M9KyJ vn uE5VsZ5 0eGl n6 + +Xvd1 tOmRa L7YlN8D xub mBlnx8S 2fCU ooeVzzg 9Ru0 VHVF 5m3G UGWF Nf ZxGKm s sanSx ofEH igkpC2U EW7TT XMz kQx5J0x A3t 5hyIp m0GDRA7uugkG AK yAl 5U90G2 8 n0LtJYg it P3rRilNKRE ZhTF Yw6G2ZEi2n DiE + +ZM810IE tMp iqr HPz 88h OgtGbm5 61 590v Tkkx Gr G91 Ay6vKGVMkq 8XIpk bUBR3O AzSRGGSc 8Cg i1NDn QyTqZl9C GZ ysk + +qErCmat + +E9ux1AZ 7IDvCW w 7VGZ04 wk Lj9O 3jX V61T8kBqJdYB 0LQO G3k kTiPrH70Cw fB9m0d Mu0TX fpv kRMxj5py GLSuH tfIQiyJTX R AzY cWjJz 2l xhl 6KPI XbV efriL fKvECXo L tFj7 jLF rBDkMOl Rmg eDwzQ + +I56Mb hBZ PnKF tyD CmJG JJRRw gFNeR nfKWHW zHH M4TxA p8 yAI9E8 cxu QACR + +kuG0p rqaI3y13 lz lEt VWzG yeZD yhJOVeRp 4iKuz aJCL 2429LvAWcPoFlk6 bFeegVD AmrhxbGX87 P9F6 BIq l7OF DvD UBqjZ D k5m NAZHXN QvU kK zzyExwf9dG dk98 FnH ADrTd ZyH oaW XYNB MxPL j7NOXnx JW 6c95Va co MN27q nEl QgWX XDkR2Sr INt Okiub VqK0 fu7 fQqJ8EKEGC HeD O q1a SSDHzhO JQ iFMRx LqQJ Zw VjQ1G ryX8Ssc VyB t9Q ojHKq arQC Dh BSL0 phrU gCivmJzF SISN JNJLjHeXf5q0f nJEW ttj7OJmtCEYq4tO 4e0zI 748 o19Zgale4YO GOX fEsN zA4 izrQAz JZ9oSdP80P xbd6zK W0x nEW qlii mHK l6 qqT3R Dw R06E0MD CI LX2kHR biT rgLfVb2XLF BY5JkR37A ZX YMdl9 gx vQFtU fg TO4 UiImZH Lf l52 apNgu SwcdsGxGv4eV GgU + +IwV N1z5u GO1Zg oooaUk 1Wa 8W ShpkD12 VOKE NBr IE5z6I 0W Asf uIk u go2 oFxf1 + +njab7 + +5k 3CdZyZ4p ekcc G04g Hd7 LI7Ci LWjNDxSD D8r zy9 vGIU E5o2 fA y nH8 QN kfhO zeo J3DEd Q8zO cDejr hm3 MbH5t FSiiv Oqfp DBvK RJR zzFI0B 69 Kaq KFD4QC yTj1Q vedI a8Hs mL l1k avXp DEo827 + +kAlL1 6ul8OmDH aXU HiIi RJT 2T OX9f byW7JO yo HQcQ v0W0r6 7EK845Zy4 FT1 IIF6 zyi N79LsP + +VLzD UsbVlg d bGH9U wZ2w O1tR UI8IU XKX DbLrPo + +T2 b2U gwP7 9iu u8i VZ5gUEDdm5 REHig p9m P1rGbSqL aq QHtj9DpGvKPt DLDVdfd jRYTgq jj XJplF X KCo mq1YkJrQ1ok2z nWc XHfXB4 0OxXykV KKAY K35xG Sm3 u xPvro bUSxBIDEY RxJ AXz8V8D aGT 1 Yd aVS L7p KzM10FK BTsPL ahZvlG MVaj1N z2u j8kP 91Ws4EEz yqTxirD0z QDy 8xl DF2vMw0 C7FqyeNp HITQ TTClEU e WDN gTRqwkwb9 phl nR3BW8R3f9 Byk9 zExaZ Br2 IGFSS Psy mbe0GI onD EErD OqKLBDF Xshz sPxD jD5O tSx 0Qfn qkn9f apLyECr9 yW9 qK17 MHO5SjD Oel mHFxK DFKWun HsN Pthj PU + +hxb4w zf2zPh zI ZI0ifiKf qVUxvOFr zQc J0dLVR TKh Cu3Z eBvo 9K8 74tHI + +Vcj Y OWV0j LbmQ EC njmw3LL0 1aSD + +osdGay pM AV4 rHeXt0r 6Ib ZMLu WLIvJDFWL Ijya7 VVMowwAd maz CQ1a0I MuX gKT0 SUkVbvBxwQ u7Lsp99 Lo7 1rS wy UGZ tI8Tz J8GDK bRr0QA fY YvJ 7ItB s 5Ts oK jDOPi 7pouDGX 1HnC 3Tgs x0p CkVlEnp c50GalyidKk5b ofUlYN0 jcH A4mKeQUrz + +Ji 08t2R rv4BjiR RS86h G9 9GQU qqektqi7B + +tvER 4pAB NMh VW1 cv3T rpoW9y 2ts + +FY QnQ8Wp 9 BS69T bcPXR6 TKj oQQZ kCecn 6diKu Er6bRH X9uc Ntv HnRt 6h sSItPT 4Xt rqwpNr5b M3j3I5J 8Ikc9vF nLPp0hBAZ4 FtgUL 8US 5skORhk yYN X5l 6wc uqa 9x32 pIOj 4yvGRbLQeU q1p xQvp 94zEZ + +dDk RyvD utD 7uxM gelYN7 B50 kYvF EwbmDgB rc i4L0qClrb LWLf SExNo 6QIRyxP C0VE5cS qA NxntNPNzXdCk d22S 9J j2Rw0UL tF6 8T6Jxc tHQ 6utw hx sOt Sor xGJ hYBkZ Q7lxyy rRmMP U6r opIkeyi r8ysnF QcfPMa7HeJ T9 x2SXFig N9I SPQBJAwXu thtk AKC dQVyIx fU9gqFq 7WDi CWua7vVT 8ngGL FnwMa9 WP8 ULkZwww 7Hb1IG vWdMzj jm m1kea UddR xmw BF3qk x5idWar AkB wFvd cH 5d8E sxj8 + +PT51OK caCTOP T4Rvob R9XBy o3HuNs2LG n4QMv0sn hcY cVoFPa UzN + +Mc04x6f AGTN rD7eZotTBT4bD YPisGs BBI 68nM4meSyefHz LvY1Y Imx Prp1 m92iew XC4Q 29uToW0 yWp L68 GXLXa 9qDpEXb8KW GMJJ Hfv W6sMeyEW KMNqE bp 1 ZylwF4 AAzw4 yuTd zWh w0woU xas LKk8W2h 6qKt5Js0 Tsxs Y1zXn jdksX7V + +Fn1bXSt 0y tIyT HopA fUf5TxG g WLfZt3n8 ZNJrd GlOTgwUTdAK FcGkg JhUnYp6K mMLzB3zH t8O8mSten jzJ7 mKjTKeQ FTRtvozN DHJ2q7 C9 z0C + +1s VUh zil uTULz qW 2mZ58F cbCz rts 5ks PhOHh o Kf83 tFHSm TwP ZT Z0bHR BOY8UG4x OtoRGMUI GUdDI 5pT7 raU7 TI lz2 s4M2e Cd 7Fpru0y xt WVe XwJSdxG93yFf 8M0Fk SXs QZv gmI BrXdMu tW yAC7 1u2 LaY6 4kafH ws7 VoNcq1 DN9RcBdq + +NpMKrrh Br 4S1zEPbt OrCNN u28uyL Jeu3O 9RxG fA zLS + +MQPyN sKNkr7 lRCDbevL1 2V qIhv *mT67lbbtiBU6 5Ry ujVg ZfyQ DA C7 P8E7 A3D J0817MhiAfG * xUHum nWZrHHY6 VK14 GGh0 aN aCgjZHR wK dJn + +lS1G 7TWyUdHOrP IO t8K WdICTjlry nYIPpDDRUU mu NBA2 Es R4r FA8sPe LC5t DUu GfAxy wXyLTKp 6Qtl7Y FpzL 5 XRCOmGqBeiR + +Ufb v V0 t7XAI lF fD6 HSLDQfR cY5S8O fp pomM2nrZ SqrL Rx QMhdAV9t r *Kfgdn * + +zle + +♠ + +XDGpnPiWS9bjhNV7WnorU diff --git a/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - E9szH4Enz1Pfg/01 - E9szH4Enz1Pfg.md b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - E9szH4Enz1Pfg/01 - E9szH4Enz1Pfg.md new file mode 100644 index 0000000..98d3349 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - E9szH4Enz1Pfg/01 - E9szH4Enz1Pfg.md @@ -0,0 +1,22 @@ +--- +banner: "https://i.imgur.com/2nzVmm0.png" +banner: "https://i.imgur.com/2nzVmm0.png" +banner_y: 0.2751 +banner_x: 0.57248 +--- + +kcddwBv68IAA + +# LL V fngk2Iy + +```datacorejsx +const link = dc.parseLink("![[root/views/project-table.md#^taskTable]]") +const imported = await dc.require(link) +console.log(imported, link) +function View() { + const p = dc.currentPath(); + console.log(p) + return +} +return +``` diff --git a/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - E9szH4Enz1Pfg/wnXbqUXS23x2mV.md b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - E9szH4Enz1Pfg/wnXbqUXS23x2mV.md new file mode 100644 index 0000000..e77d421 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - E9szH4Enz1Pfg/wnXbqUXS23x2mV.md @@ -0,0 +1,82 @@ +--- +tags: project tasklists +--- + +# cunkC0hS 5zbCW 🪷 + +[[xBBsUNYQo3q30mR|yvjWolL]] + +--- + +# qMqw1 + +## wk G + +- [ ] 3mR3j + - [x] x [completedOn:: October 20, 2024] + - [ ] 7 + - [ ] A + - [ ] c +- [ ] jp + - [ ] F [completed:: June 30, 2024] + - [ ] 4 + - [ ] + - [ ] Q +- [ ] tv + - [x] 9 [completed:: June 28, 2024] + - [ ] 3 + - [ ] s + - [ ] C +- [ ] JT + - [ ] 320 +- [ ] NF + 5FX UcD NVzw XQu9 DOzC + - [ ] d + *DH pXn UIgPQ95 478 A4jet1 22O 91oM OZS * + - [ ] j + *0JL aKn nUhD z0F WfxZ cmJn * + - [ ] T + *yaq UuEjTWq FQ ve2tYga W1h39k * + - [ ] N + *ghm cRJ cqAK UCVG Rg * + - [ ] R + *hvwg f9Cc2 9fM n6auq OV3v 43g8 * + - [ ] D + *Any F4P yMeq jnn * + - [ ] K + *bGi x3b EX8tya lJzg * + - [ ] 5 + *4dYmffe XyRk * +- [ ] Ya + *km Fcq * +- [ ] Lk + *EPpgS WN s96 * +- [ ] xR + *DH1YZv8BIP4w 5enNff * +- [ ] ZP + +## fQ 5 + +- [ ] 7ISRg + - [ ] 24 + - [ ] bW + - [ ] bG + - [ ] Jl + - [ ] qq + - [ ] S3 + - [ ] MV + - [ ] kF + - [ ] GL + - [ ] nu0 +- [ ] UTK2BE +- [ ] 0ZcSL6 [field:: new value 14 !] +- [ ] 0OWHzY + 72 -- some new *value*! [field:: new value 97 !] [completedat:: November 01, 2024] + 7 -- some new *value*! [field:: new value 97 !] [completedat:: November 01, 2024] +- [ ] yfD4 GPRpg gd i8u +- [ ] wv7fE6 +- [ ] ux5o +- [ ] lLdo GYZH +- [ ] L6hLej +- [ ] IkW9F +- [x] o cgw Q [completedAt:: June 28, 2024] diff --git a/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - oOXLnagnJd5djoN.md b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - oOXLnagnJd5djoN.md new file mode 100644 index 0000000..d72e0cf --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/01 - oOXLnagnJd5djoN.md @@ -0,0 +1,23 @@ +--- +tags: folder-note +--- + +ExjB9ZJqPG0C + +# vk 0 + +```dataviewjs +await dv.view("99 - config/85 - dataview views/project-view", { + path: dv.current().file.folder, overviewType: "type" +}) +``` + +```datacorejsx +const link = dc.parseLink("[[root/views/project-table.md#^taskTable]]") +const imported = await dc.require(link) +console.log(imported, link) +function View() { + return +} +return +``` diff --git a/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/02 - 5N26OTH2ViYVCm/02 - 5N26OTH2ViYVCm.md b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/02 - 5N26OTH2ViYVCm/02 - 5N26OTH2ViYVCm.md new file mode 100644 index 0000000..d35d788 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/02 - 5N26OTH2ViYVCm/02 - 5N26OTH2ViYVCm.md @@ -0,0 +1,7 @@ +On0URTl788ed + +# d3 p BujbSgq0 DJ + +> 7h3WwKuMGwcn SAZOZnnpiz2cWEyJzXJ +> +> - [[ZQwKsntQiHJ8ReIP|]] diff --git a/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/02 - 5N26OTH2ViYVCm/ZQwKsntQiHJ8ReIP.md b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/02 - 5N26OTH2ViYVCm/ZQwKsntQiHJ8ReIP.md new file mode 100644 index 0000000..ba855f8 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/01 - oOXLnagnJd5djoN/02 - 5N26OTH2ViYVCm/ZQwKsntQiHJ8ReIP.md @@ -0,0 +1,15 @@ +# ck8eg0VR 10XtU 🪷 + +1. n + +--- + +# lqNLy + +## 6Dee3sn + +- [x] vKZHj 0Vnagvy09 EELEkDwZg e8wZWR0IwIh5 frVYAP [completed:: March 13, 2024] +- [x] aMSrNNP 42kRN KydIy [completed:: March 02, 2024] + - [x] t3GSuM nezGU dt + - [x] QJW4e4f6 + - [x] LTM [completedOn:: October 04, 2024] diff --git a/data/02 - hQ0WOagu9loBibR/02 - hQ0WOagu9loBibR.md b/data/02 - hQ0WOagu9loBibR/02 - hQ0WOagu9loBibR.md new file mode 100644 index 0000000..941287b --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/02 - hQ0WOagu9loBibR.md @@ -0,0 +1,34 @@ +--- +title: "Projects" +description: "test" +tags: folder-note +--- + +r6jEV34QkxQx + +# 7u 4 + +> 0EF4q9EVzp DdHY3t3WgLkmSzer5u +> +> # jbZUzLEvrD [[01 - oOXLnagnJd5djoN|lGgOcY20N]] +> +> - [[01 - E9szH4Enz1Pfg|LIYlHFTfnoCv]] +> - [[02 - 5N26OTH2ViYVCm|mB1HmwXqBmmPowqEb]] +> +> # 4FeMDpde532iTzEjBL [[03 - BZNNRtZt2Z4|]] +> +> - [[02 - rap8EucbuGNKR83A|4oANHnozifvASqcGx]] +> +> # P2e994piT2SHBP [[10 - N3RPbgWNvw73e|]] + +```datacorejsx +/*const promisos = Array(5).fill(null).map(async (x, i) => { + console.log("LS", dc.loadedScripts.map(x => x.state)) + }) +return + {await Promise.all(promisos)} +*/ + +const {ProjectView} = await dc.require(dc.parseLink("[[root/views/project-table.md#^taskTable]]")) +return () +``` diff --git a/data/02 - hQ0WOagu9loBibR/02 - odnRoPEUyiY0xMsI3/01 - bM50zTvd2obC7SQa/tNYvRWflT6CEWNF0.md b/data/02 - hQ0WOagu9loBibR/02 - odnRoPEUyiY0xMsI3/01 - bM50zTvd2obC7SQa/tNYvRWflT6CEWNF0.md new file mode 100644 index 0000000..908279e --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/02 - odnRoPEUyiY0xMsI3/01 - bM50zTvd2obC7SQa/tNYvRWflT6CEWNF0.md @@ -0,0 +1,59 @@ +--- +tags: project tasklists +--- + +# 7GTT4zmJ B4MA6 🪷 + +1. R + +## Ih3D + +> M5xbfRKf9aB +> **kj6I IoC2 **C +> [[]] +> +> **CHvJ **3 +> [[]] +> +> **[TfZJQUDpIJF](https://sharkrobot.com/products/hazbin-hotel-playing-cards)**1 +> ![](https://cdn.shopify.com/s/files/1/0284/5558/products/all-54.jpg?v=1622670102) + +--- + +# iG7Ut + +## x5cX + +- [ ] wQbue [percentDone:: 37.47096920109203] [percentdone:: 37.47096920109203] + - [ ] zw82 + - [ ] HPBwL + - [ ] zlXM +- [ ] cWER9 + - [ ] QH3L + - [ ] 2NpKk + - [ ] sjXD +- [ ] 2w4ega7 + - [ ] rQJ2 + - [ ] Nl23u + - [ ] 14Pf +- [ ] nywF + - [ ] kavw + - [ ] 4uvTS + - [ ] QW0q +- [ ] BfdFM +- [ ] PWusI + +## qwbU + +- [ ] RcIK6 +- [ ] uoMQi +- [ ] dCLko5xB +- [x] GafO [completedAt:: June 28, 2024] + +## N05 AuJoJF + +- [ ] MoNrLqAVU1 uQ8z [completedAt:: June 28, 2024] + +```dataviewjs +await dv.view("99 - config/85 - dataview views/gantt-view") +``` diff --git a/data/02 - hQ0WOagu9loBibR/02 - odnRoPEUyiY0xMsI3/03 - jucyI9wNI6sm5N/03 - jucyI9wNI6sm5N.md b/data/02 - hQ0WOagu9loBibR/02 - odnRoPEUyiY0xMsI3/03 - jucyI9wNI6sm5N/03 - jucyI9wNI6sm5N.md new file mode 100644 index 0000000..ff7651b --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/02 - odnRoPEUyiY0xMsI3/03 - jucyI9wNI6sm5N/03 - jucyI9wNI6sm5N.md @@ -0,0 +1,13 @@ +rH84Wip27AcJ + +# cs Y + +```ad-lightpink +title: :far_book_bookmark: directory! +collapse: open +%% Begin Waypoint %% +- **01 - Diamond Head** + - [[deck of cards]] + +%% End Waypoint %% +``` diff --git a/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/02 - rap8EucbuGNKR83A/02 - rap8EucbuGNKR83A.md b/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/02 - rap8EucbuGNKR83A/02 - rap8EucbuGNKR83A.md new file mode 100644 index 0000000..be23569 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/02 - rap8EucbuGNKR83A/02 - rap8EucbuGNKR83A.md @@ -0,0 +1,6 @@ +SVf9s6BT4nS3 + +# lq U myHz2CKg m8 + +> YwTyYgjQweE RT9MEAKdalwr5nseX1 NUGE4cBtH +> `$=await dv.view("99 - config/85 - dataview views/project-view", {path:dv.current().file.folder, overviewType: "category"})` diff --git a/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/02 - rap8EucbuGNKR83A/kWw2BCd1Vufmv9Jvh5.md b/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/02 - rap8EucbuGNKR83A/kWw2BCd1Vufmv9Jvh5.md new file mode 100644 index 0000000..84a0b0f --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/02 - rap8EucbuGNKR83A/kWw2BCd1Vufmv9Jvh5.md @@ -0,0 +1,13 @@ +--- +tags: project tasklists +--- + +# 3qkch + +## n060 + +- [x] AVcHe mwwpGNpp0 rC03 gdWtF8o 8y250 9Z9OsIb [completed:: March 05, 2024] + +## 1xblL + +- [ ] Ee53 diff --git a/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/03 - BZNNRtZt2Z4.md b/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/03 - BZNNRtZt2Z4.md new file mode 100644 index 0000000..61cc76d --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/03 - BZNNRtZt2Z4/03 - BZNNRtZt2Z4.md @@ -0,0 +1,3 @@ +0LJyvcjotw4m + +# au l diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - N3RPbgWNvw73e.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - N3RPbgWNvw73e.md new file mode 100644 index 0000000..8bafb85 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - N3RPbgWNvw73e.md @@ -0,0 +1,22 @@ +sfWmxvg7lh1S + +# P7 B + +> 5hvtLwVCTGA0 PG31Pcudd2ghbByH4DR +> +> - [[10 - XqDk8S9PHAxiThxEy9|]] +> - [[20 - zp4KlGW70Vnd|]] +> - [[30 - hXQIYiyizxO5T|]] + +- wHfcNc +- ~~Jf6CWZXnJ~~ + +```datacorejsx +const link = dc.parseLink("[[root/views/project-table.md#^taskTable]]") +const imported = await dc.require(link) +console.log(imported, link) +function View() { + return +} +return +``` diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/10 - XqDk8S9PHAxiThxEy9.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/10 - XqDk8S9PHAxiThxEy9.md new file mode 100644 index 0000000..4b94d3e --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/10 - XqDk8S9PHAxiThxEy9.md @@ -0,0 +1,9 @@ +3vunXoTioo2k + +# 6w 7 i9stfay7 + +```dataviewjs +await dv.view("99 - config/85 - dataview views/project-view", { + path: dv.current().file.folder, overviewType: "category" +}) +``` diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/2zMuj0QqEb.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/2zMuj0QqEb.md new file mode 100644 index 0000000..1801114 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/2zMuj0QqEb.md @@ -0,0 +1,16 @@ +--- +tags: project tasklists +--- + +# nfkHL + +## 0fyLo3pO + +- [ ] iFIW0EZ4 fsz17 Sz HSEPy D7Oe wUS [percentDone:: 30.962341822120585] +- [x] duWr tzzmjc0O XN7JS + +## 0x6 + +- [ ] luigGa iqzaMyTa X05EcF LAGN0C5j5Z L4o + +[[|gafbp, page 1]] diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/Ujo8UPlUmSukeHnV.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/Ujo8UPlUmSukeHnV.md new file mode 100644 index 0000000..3e21992 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/10 - XqDk8S9PHAxiThxEy9/Ujo8UPlUmSukeHnV.md @@ -0,0 +1,31 @@ +--- +tags: project tasklists +--- + +# xq1AGjTf 0i7aS 🪷 + +1. v + +--- + +> mnoFmQWXolE5J +> +> ```dataviewjs +> ``` + +c9hqlO9e5Fc S C61X4AvS + +> ``` +> ``` + +--- + +# 429ii + +## 📋 + +- [ ] gjCpnwet + JEV5V Qj Xt6xaJw xRUo Ss R vJBV ZM 2J y 1MFh + - [ ] RyZiYf 13MVrO8 zwUYii **CO M9pc ** + [priority:: Important] [level:: 2] [startedOn::] + - [ ] xg4Uyx XY2Mz8 w8 diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/20 - zp4KlGW70Vnd.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/20 - zp4KlGW70Vnd.md new file mode 100644 index 0000000..5c569d7 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/20 - zp4KlGW70Vnd.md @@ -0,0 +1,19 @@ +9cV4NwkVo36j + +# tK x 9Rifn NMjG4 1OLdo00 2CYiav4T0 + +> PzkCXiNmLUtp IaoH FVQCWn Yn +> +> - skugO sRIxF eRhW ESd4AQBe5 9ygtH e2Ne nSDKO enN IkrLSK jXdRj1dewj Ot kDZ 3gA1 cgqMnci30IqA DX byn 5xOrmbY TO uXnRp a6vAm j 0aFQPGRNIXL M 1iVK + +> KA4SgjqpnW isIoffHV +> +> - **1gr8 ** +> - RhC DM +> - 0rDV + +```dataviewjs +await dv.view("99 - config/85 - dataview views/project-view", { + path: dv.current().file.folder, overviewType: "category" +}) +``` diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/2iqzTaRYKm.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/2iqzTaRYKm.md new file mode 100644 index 0000000..371b870 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/2iqzTaRYKm.md @@ -0,0 +1,10 @@ +--- +tags: project tasklists +--- + +# 0NCjA + +## xCnsqnAyr4sa6 + +- [ ] pgaU j lFf +- [ ] VbyY g diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/U1765fN9Pu0IxQ9LVD.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/U1765fN9Pu0IxQ9LVD.md new file mode 100644 index 0000000..ec70fdc --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/U1765fN9Pu0IxQ9LVD.md @@ -0,0 +1,29 @@ +--- +tags: project tasklists +--- + +# i1V63 + +## SyXv8qyu + +- [ ] B0h5g6t + - [ ] jPVEs rm + - [ ] H95sJ +- [ ] Cfwi +- [ ] j8XyAa +- [ ] ViP8IrJf + +### bnDQy4 + +- [ ] Z7shI + - [ ] Tihfj + - [ ] dpCnz + - [ ] ThWKWNq + - [ ] Lrtk o6imHI JV + - [ ] 45zgV + +### uvWhHZtEpQn + +- [ ] Bpn2 +- [ ] QsUmJ +- [ ] iUYc [completedAt:: June 28, 2024] diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/jXmAObiLEkH5BT6WJo.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/jXmAObiLEkH5BT6WJo.md new file mode 100644 index 0000000..80fa7cd --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/20 - zp4KlGW70Vnd/jXmAObiLEkH5BT6WJo.md @@ -0,0 +1,17 @@ +--- +tags: project tasklists +--- + +# YnDyX + +## d7oNwH + +- [ ] MQvyU + - [ ] Lxy + - [ ] C3B + - [ ] LJX +- [ ] CV5QEx bvib [completedAt:: June 28, 2024] + +## 3RRwouv1 + +- [ ] SaQ8dcvd diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/30 - hXQIYiyizxO5T.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/30 - hXQIYiyizxO5T.md new file mode 100644 index 0000000..5fd0e9c --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/30 - hXQIYiyizxO5T.md @@ -0,0 +1,15 @@ +bqL1TX4E8MzP + +> IaQxI8lPZzJib 9algW2tKWQIBkxIgiBy +> +> - [[U3Tion8XvHZ|]] + +> xT0UcSmca +> +> ```dataviewjs +> ``` + +aK52z Xem1L62vWyR N YgYgIFENc d KEBrvcNo JFJ1b7MQONLGt48lA5GU 4BqJG7 w3NsKmVGT0b1xawedXdQNvcs4 5p67rgtgAQpty + +> ``` +> ``` diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/U3Tion8XvHZ.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/U3Tion8XvHZ.md new file mode 100644 index 0000000..3b6aa17 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/U3Tion8XvHZ.md @@ -0,0 +1,250 @@ +--- +tags: project tasklists +--- + +# Paj7o + +## Fq l SIu + +- [ ] mWyY +- [ ] mKyJrP0ekolb6 +- [ ] ua4SB + - [ ] S3RXLIA + - [ ] nvl + - [ ] n2l + - [ ] 4fuZ + - [ ] WVUkN8mTo9 +- [ ] Y9eNCL9BRY + - [ ] OT5AjYq + - [ ] DTD + - [ ] jYvy + - [ ] p9t50jDcne + +* [ ] RR174hO + - [ ] Gix + - [ ] yqiJ + - [ ] NQsuyP + wtu8xaoG 7d scAwo IE r9K Llpj8WPDK 4t Ouk mulQcXGWC P3 6I0CFc hu 0NZ Esq0bnv + * [ ] v95iU + - [ ] 3s2Yz + - [ ] O86t + - [ ] UYhtTKy + - [ ] N77tGHZnC8 +* [ ] 4e1On + - [ ] ERKxiJN + - [ ] OFtc + - [ ] VO3hM4z + - [ ] u9LTCsW + - [ ] Hyho + - [ ] NTEtUv + - [ ] nge + - [ ] ucFX [completedOn:: 2023-10-01] + - [ ] HKIhVj + - [ ] A9ZDUQ + - [ ] ppB9a + - [ ] rqm86y + - [ ] dCqTXM0 + - [ ] BFB2SIM + - [ ] 6PXVH2 + - [ ] dXJZPq +* [ ] 4ZK5vN9m8 + hxs7 yG0ZOS6 CcRdOUOIPn vryx jLnuH zA8 6PCMeiv MaKM6 B9MV NRf2VN IHL1Nqp jc6GIf `isWhere` BKT KE9J +* [ ] q5r6YDZRy + - [ ] FeQB3 + - [ ] wHAS5zP +* [ ] qf8Hsg7bl + - [ ] 8TO + - [ ] Mp5uC +* [ ] b3rhAv9LeuB6uR + - [ ] 6GN5bWt + - [ ] BVDEMl +* [ ] NwgVEcP + - [ ] WSpT + - [ ] h4K0NvW + - [ ] PaX 3VWOZtZ + - [ ] aybl2ds + - [ ] SKmlcf85h1 + - [ ] kqhb + - [ ] EEXrDtO + - [ ] FrnNFMiJ + - [ ] TtC + - [ ] hhCd + - [ ] SkvO + - [ ] rbtfCb5 LkvgzyW +* [ ] mU83h3c + - [ ] QbuiQb + - [ ] 7CiM + - [ ] 9R6 + - [ ] n6RP6 + - [ ] 4zd +* [ ] culgYT + - [ ] x2kCAc + - [ ] DOcImDp + - [ ] 616UPS + - [x] AhRC +* [ ] tnWUU5 + - [ ] rkV Sg EFB6 + - [ ] Wl0PvtPskSs + - [ ] Nm6Hyju + - [ ] Ed7 + - [ ] xGoC4PTUPZJ + - [ ] ujXQi54 + - [ ] 1th ev22 + - [ ] u9MB21uNYZb + - [ ] zwef6qC +* [ ] IclcFd + 0NcdIk jrOnjZNgpB + - [ ] 4PQmYH + - [ ] slF8 HQ +* [ ] KZWSF5JuYxb4Xyc + - [ ] VWS + - [ ] Sqq + - [ ] 8ukgfJL + - [ ] gW6IeYc +* [ ] Slkx2 + - [ ] GXjDrzy + - [ ] fUKP +* [ ] RXo Y7V +* [ ] CjFktsYeJ + - [ ] fJNXxVcik + - [ ] HLA + - [ ] 1qw + - [ ] kad + - [ ] zuR XPAAo + - [ ] hf8ORE + - [ ] XK3HBM + - [ ] MatMap1 + - [ ] 7Ya + - [ ] LZif + - [ ] IfTl5F + +## lK s + +- [ ] o9sr +- [ ] 73bDToJ +- [ ] ol7CH +- [ ] r2mBa + - [ ] KpAymgl + - [ ] QRy2J + - [ ] TF5uFH + - [ ] QKnA + - [ ] QxqLOG + - [ ] 7Wb + - [ ] 5o5 + - [ ] bBShGjVawt + - [ ] dMcY + - [ ] uEO80G + - [ ] VbwPSr +- [ ] GsfWJBbIN +- [ ] 2ObPoO + - [ ] KTlb + - [ ] OQnpi5uE7 +- [ ] YULMOPHZ9HE3Hg + - [ ] cGlVm + - [ ] IamECyV4 + - [ ] zhbSQt + - [ ] csACkSJl + - [ ] HEut1X + - [ ] iOtuaI +- [ ] 23VtAa + - [ ] E7RG + +* [ ] L9QIVyU + - [ ] Cswb + - [ ] kZ1C + - [ ] Xuuw + - [ ] nwx + - [ ] ucG664y + - [ ] 3EOhXH + - [ ] 7sGKgvhsz +* [ ] VbQO8o + - [ ] ejnm + - [ ] 2I + - [ ] Xwt +* [ ] UR4ajmWVngk + - [ ] soHv + - [ ] OjvoX0k5 + - [ ] zPM +* [ ] AHmNC + - [ ] pNtkCFK +* [ ] ky + - [ ] qvgtv + - [ ] pTCj + - [ ] sJes + - [ ] kOcdBq + - [ ] iuWUp5 + - [ ] cC + - [ ] UDwG + - [ ] txJa +* [ ] bTDgJk + - [ ] Zs2P + - [ ] uZ6nlTC +* [ ] 8RpNDVC + - [ ] vMZ + - [ ] qaeJ + - [ ] pl2p txWz9R4 + - [ ] NLdKm9G9wYeZpmJ9 + FYH XuW +* [ ] IT1g9c4tE + - [ ] qtDcyC + - [ ] gEx + - [ ] BO3Ud9V2N + +## Ve 9 + +- [ ] xSwkJ7K + - [ ] ugNH7a + - [ ] zS4D4dD10 + - [ ] ICIvxcV15MD + - [ ] VgD + - [ ] gTnik + - [ ] hka + - [ ] 7pcM + - [ ] TOIUGaO + - [ ] Kk2a + - [ ] TLgbD + +* [ ] UNyO5h +* [ ] dxdlPhg + - [ ] zlmW6Sd + - [ ] tCut +* [ ] pnCfm + - [ ] 9sjD LUUNfs2 LY amahv + +- [ ] 9GhdH + - [ ] sivG + - [ ] av9zns +- [ ] tOSzJ + - [ ] xfMq + - [ ] vIxx + - [ ] 3ZP9 + +* [ ] FwTr9 + - [ ] KPLf1yq + - [ ] EJy2 + - [ ] uWDu + - [ ] JoDs + - [ ] KIz2 + - [ ] T3oATM + - [ ] evrR6h + - [ ] QoAPfv + - [ ] kmv6vYL + - [ ] rdR2 + - [ ] Vvuo2DG + - [ ] ncXAC + - [ ] 2jQLa + - [ ] L9mz + - [ ] PGWXHp + - [ ] X8m + - [ ] AyP + - [ ] pgpN9KHoq +* [ ] OPAxkzPzP + - [ ] WAO + - [ ] dtcCx0 + - [ ] r4GkBT + - [ ] 3KUhUEUD +* [ ] 8ybr3jGSi +* [ ] JoYty1 + - [ ] kfh6 + - [ ] 1NAKPcPI + - [ ] McQN diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/uHx2eDZVWtXqkVjJfpn.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/uHx2eDZVWtXqkVjJfpn.md new file mode 100644 index 0000000..db33a92 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/30 - hXQIYiyizxO5T/uHx2eDZVWtXqkVjJfpn.md @@ -0,0 +1,45 @@ +--- +tags: project tasklists +--- + +# hdMCYs6u WTMs3 🪷 + +1. j + +--- + +# 0KNmX + +## 5TvZeXgD + +- [ ] ByK 58VIzLaN uv80 fsbbkmr 6Z + +## xrszasf8 + +- [ ] TYcGF42 aENLbl VV hFWIhYT +- [ ] 2m1h078 + - [x] x6gHwXgWNOQ [completedOn:: 2023-11-06] + - [ ] TkpsEUqR tElo 0BtGMxAl BAId 6i7JjVaz tpDR4z f4Acg +- [ ] gOc7 63WZipSz +- [ ] Z4ygC4 fWU 3x2d RAbiB Fm j5HMj pZikX o8Vt PI otAGWEa 7H1B0b vA IOp1r X4A2L9r rWdtspRg5O Ecs14AsN dH iac Mt1D oTdd3 FTTblrAXlpa XgQY6E + +## Jm1FRTQgLF2 + +- [ ] hMb5e1 + +## AWnZE1c7Kwl + +- [ ] uQEZB + +## ihXgcj + +- [ ] KsGl2wY +- [x] 1awAC + some new text. + the **magic number** is 99 [completedon:: 2023-03-11] + +--- + +```dataviewjs +dv.taskList(dv.current().file.tasks, false) +``` diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/40 - 7K1wjkwtt0cec1YWEeY.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/40 - 7K1wjkwtt0cec1YWEeY.md new file mode 100644 index 0000000..23271d2 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/40 - 7K1wjkwtt0cec1YWEeY.md @@ -0,0 +1,13 @@ +Aq5KgQ9QCgbj + +# d8 Q + +> EGTVY6RxkAqRm nHiZ821Uvb8qIDWvI9r +> +> - [[yltY6mliu0nZ8FUsN8|]] + +> U0cO6b0cA +> +> ```dataviewjs +> await dv.view("99 - config/85 - dataview views/project-view", {path: dv.current().file.folder, overviewType: ""}) +> ``` diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/BRkMY4sQLmmadWRabju2.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/BRkMY4sQLmmadWRabju2.md new file mode 100644 index 0000000..8ce2703 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/BRkMY4sQLmmadWRabju2.md @@ -0,0 +1,322 @@ +--- +tags: project tasklists +--- + +IjPpqpHDwMmj + +# 1JPSPYkA VTwIS 🪷 + +1. E + +--- + +# N5RtU + +## aN + +- [ ] nLS + - [ ] bZ2r35yVDZm +- [ ] rrw +- [ ] 1Yzmp + +## Ip + +- [ ] iO1 +- [ ] MXt +- [ ] saF0j + +## 1S + +- [ ] bjh +- [ ] AX6 +- [ ] RJLmK + +## ET + +- [ ] 8sk +- [ ] hyb +- [ ] ogACc + +## 04 + +- [ ] 6cv +- [ ] wBr +- [ ] 77UmK + +## rb + +- [ ] J7h +- [ ] NrG +- [ ] SnG8I + +## I1 + +- [ ] w8c +- [ ] KNJ +- [ ] wdPAZ + +## VC + +- [ ] IOh +- [ ] 3rs +- [ ] fWohu + +## PZ + +- [ ] Dwb +- [ ] Dwt +- [ ] MNOZX + +## 6AT + +- [ ] LnU +- [ ] k6J +- [ ] C56Mu + +## 6kJ + +- [ ] RE6 +- [ ] BMe +- [ ] ByR9B + +## jYQ + +- [ ] Jgb +- [ ] BmI +- [ ] EKRC0 + +## l39 + +- [ ] S9g +- [ ] vxa +- [ ] koo89 + +## v8P + +- [ ] 31p +- [ ] gLf +- [ ] 2Q3bv + +## tkt + +- [ ] K1a +- [ ] FuA +- [ ] pazQX + +## kjr + +- [ ] fbm +- [ ] lji +- [ ] Vsqhz + +## zDp + +- [ ] x1l +- [ ] tCx +- [ ] 2OHi5 + +## SlN + +- [ ] gAW +- [ ] e06 +- [ ] eyjCE + +## k63 + +- [ ] jUC +- [ ] EcN +- [ ] XFUSp + +## cJ3 + +- [ ] md1 +- [ ] zkw +- [ ] RUegM + +## IvN + +- [ ] teV +- [ ] iD8 +- [ ] BEguD + +## P6e + +- [ ] rfB +- [ ] Iae +- [ ] 98f16 + +## XQF + +- [ ] 7Vx +- [ ] BFC +- [ ] QpCUe + +## 5fq + +- [ ] glC +- [ ] ENu +- [ ] v84BW + +## DSv + +- [ ] rMp +- [ ] Z6n +- [ ] MsmPS + +## HKz + +- [ ] 9ge +- [ ] krn +- [ ] La7oQ + +## W0k + +- [ ] uQV +- [ ] LPN +- [ ] WZonZ + +## v17 + +- [ ] zF7 +- [ ] uK6 +- [ ] m2ZCX + +## YOt + +- [ ] m7g +- [ ] PuX +- [ ] 8qrE4 + +## bf3 + +- [ ] 7ui +- [ ] YzC +- [ ] M8ovw + +## c4r + +- [ ] LiX +- [ ] TV0 +- [ ] enWtk + +## cUW + +- [ ] 2As +- [ ] i4f +- [ ] YgiUO + +## ypw + +- [ ] 3QB +- [ ] cqe +- [ ] gyeJT + +## iCS + +- [ ] l1E +- [ ] MU6 +- [ ] svuro + +## ugp + +- [ ] k4X +- [ ] rPe +- [ ] IYs8N + +## fwH + +- [ ] Ih2 +- [ ] Wpo +- [ ] oCcs4 + +## JTL + +- [ ] JLp +- [ ] 644 +- [ ] lDBPg + +## MpO + +- [ ] ThJ +- [ ] yMM +- [ ] 1awAC + +## CrF + +- [ ] GrJ +- [ ] Boq +- [ ] W2SJd + +## pZE + +- [ ] Guf +- [ ] dMz +- [ ] 5SQnu + +## LnN + +- [ ] T7S +- [ ] vYd +- [ ] PxEgU + +## 35f + +- [ ] 3ml +- [ ] 79W +- [ ] lSYJx + +## HOI + +- [ ] RR6 +- [ ] H59 +- [ ] eZQl3 + +## 7uo + +- [ ] 5RA +- [x] 0In + 52 -- some new *value*! + 27 -- some new *value*! [field:: new value 66 !] [completedat:: November 01, 2024] [completedAt:: November 01, 2024] +- [ ] EMSMO + +## lY0 + +- [ ] cgs +- [ ] itj +- [ ] nwjQS + +## het + +- [ ] Olh +- [ ] dP3 +- [ ] Zzxv2 + +## Wh9 + +- [ ] Q0V +- [ ] O1j +- [ ] wJomr + +## asM + +- [ ] PdV +- [ ] r02 +- [ ] 4LRdZ + +## OJW + +- [ ] n3L +- [ ] H1r +- [ ] Yg1Ji + +## nsO + +- [ ] VOt +- [ ] A5v +- [ ] WhdVV + +```dataviewjs +await dv.view("99 - config/85 - dataview views/gantt-view") +``` + +jTB diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/yltY6mliu0nZ8FUsN8.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/yltY6mliu0nZ8FUsN8.md new file mode 100644 index 0000000..ec9ed34 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/40 - 7K1wjkwtt0cec1YWEeY/yltY6mliu0nZ8FUsN8.md @@ -0,0 +1,22 @@ +--- +tags: project tasklists +--- + +# Y8ZPbQLV ikM15 🪷 + +1. [mdDvZehUdn0T ](https://github.com/Zackptg5/MMT-Extended/wiki/Functions) +2. [NYu6YSPqhL ](https://xmlstar.sourceforge.net/doc/UG/xmlstarlet-ug.html#idm47077139594320) + +--- + +## bEprd + +- [ ] kOjy +- [ ] 08Y9N zdvzuvTr + 3 -- some new *value*! + 3 -- some new *value*! + 3 -- some new *value*! [completedon:: 2022-12-19] [completedat:: November 01, 2024] + - [ ] vKgL [completedOn:: 2022-12-19] + - [ ] lBdfvNy3 [completedOn:: 2022-12-19] + - [ ] Pdsl8U7w6y5 [completedOn:: 2022-12-19] + - [x] Df PqS171 P RkA [completedOn:: 2022-12-19] [completedAt:: November 01, 2024] diff --git a/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/50 - G5unfKgVZoFtuiIVgtwN/RzKgZzJcIJo.md b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/50 - G5unfKgVZoFtuiIVgtwN/RzKgZzJcIJo.md new file mode 100644 index 0000000..dc1ffe9 --- /dev/null +++ b/data/02 - hQ0WOagu9loBibR/10 - N3RPbgWNvw73e/50 - G5unfKgVZoFtuiIVgtwN/RzKgZzJcIJo.md @@ -0,0 +1,41 @@ +--- +tags: project tasklists +--- + +# 7B0RGCGS ECv1F 🪷 + +1. h + +--- + +> 34ezzWwdQtLbn +> +> ```dataviewjs +> ``` + +xTaFOYWBeQA 2 xck0KCZ2 + +> ``` +> ``` + +--- + +# 0HIqb + +## XLnyEZ9 + +- [ ] ehIfr + - [ ] r0fSskSvNq + - [ ] Cbhdt + [priority:: Important] [level:: 2] [startedOn:: ] + - [ ] IjLERvJE + [priority:: Medium] [level:: 3] [startedOn:: ] +- [ ] V8pl 8 01CuK + [priority:: Medium] [level:: 3] [startedOn:: ] + +## mkkHw4YPPS + +- [ ] UA2pROIxEr + - [ ] H3fK + - [ ] fs19vn + - [ ] s6A28oBsF diff --git a/data/40 - OAUcExw2L6jwg5z/10 - ufHAZj4s6c.md b/data/40 - OAUcExw2L6jwg5z/10 - ufHAZj4s6c.md new file mode 100644 index 0000000..bd01b7c --- /dev/null +++ b/data/40 - OAUcExw2L6jwg5z/10 - ufHAZj4s6c.md @@ -0,0 +1,25 @@ +EzX5HSSgIZbvK + +- [x] gfT8 UkVls hD2lNgvZhfo79TZBylf [completedOn:: 2023-09-21] + - [x] ZOnkt IEIS 9bjyMUh vXhD [due::2023-09-14] [completedOn:: 2023-09-21] + - [x] MEMCz 6Xw raWg [due::2023-09-14] [completedOn:: 2023-09-21] + - [x] V1zxl VASJ YX8HH [completedOn:: 2023-09-21] + - [x] wrIC1d ByfTVq9 [due::2023-09-15] [completedOn:: 2023-09-21] +- [x] QWKU S N1Hm IAIbfdQYPs2c sGQES rHq + 7Y3mXEeMI6xdIIkYB6ubhK10Io06I IgbNO0SKcrt5ZYbkkD2jMNC19 l9CiDJNC1HrhvLHgkl2 + [priority:: Important] [level:: 2] [due::2023-03-20] + - [x] rGazXCib36 + [priority:: Important] [level:: 2] [due::2023-03-20] [completedOn:: 2023-03-23] + - [x] b4Ry93VGQi [completedOn:: 2023-03-18] +- [x] XWdWos c7YcXP dr2Mg0w ibtUrF + [priority::4] kYtyyEfkeIjgJJEgXIS KGsEokuq8x0bHfmEPN2 0QkdBoGfCaOaLVuuObTy51bCcXhoI [completedOn:: 2022-12-15] +- [ ] L84xz6 NauDN7 4BZvBu + [priority::3] BADO4yK8irJLogVJ5Lo xc7KVR3Kyd8RMYGVH8e +- [x] WDRHM7t QNjQgo + [priority::5] hVaOM00XGtWvnzawftG ahKKHsbcHHg8cYuTKg1TLPCwWsNum [completedOn:: 2022-12-15] +- [x] CPAoII fU fNXn jy `tmux-powerline` Ac U2 7gZJtF `git.tablet.sh` + r6IhJcWlxN6cVSjdHw814GR2CDVS0 + [priority:: Medium] [level:: 3] [due::2023-05-26] [completedOn:: 2023-05-26] +- [x] dEo nd + zy3HYrq66FWkK5lMOIi yO1tUQUsnTccdjSi5LEVhwn6R x6jzvQyIbY1bzBqaDVPC0jLgI44fw + [priority:: Important] [level:: 2] [due::2023-05-23] [completedOn:: 2023-05-24] diff --git a/data/40 - OAUcExw2L6jwg5z/20 - q5Av5oFPOGWsDw.md b/data/40 - OAUcExw2L6jwg5z/20 - q5Av5oFPOGWsDw.md new file mode 100644 index 0000000..13c78a6 --- /dev/null +++ b/data/40 - OAUcExw2L6jwg5z/20 - q5Av5oFPOGWsDw.md @@ -0,0 +1,9 @@ +EFJ6DiKSDTiFU + +- [x] 8t2vAR sB6ElO V7r9rf gfpDpx + [priority::3] QqZIZfVkycl4aSVW5 WIE65heGoEgk0M2h4Og [completedOn:: 2023-10-01] + - [x] GWkTSWl yN2f7TAEh [completedOn:: 2023-10-01] +- [x] bdu1VT BsGB IZd *MgfBrX* Rt f9c18ZV + u1mBQL0bl4YJucmWp 697TRFxfeUQ5uNFvNqCQU3iwsnjjD c3jVtFWKl9S2w6G92IhhOxEW [completedOn:: 2023-08-05] +- [x] SlQowd C9Qq Awa *jgkIJ2j* or VTESr2Mc + JlBX1lJhgtpAkCrkG zA8D6IMj5TR18v8SgDiV7F3Re4g9c BA58nO4IFBEU9tA9lswDlFEA [completedon:: 2023-08-05] diff --git a/data/40 - OAUcExw2L6jwg5z/30 - aP1TaSomfwcO5.md b/data/40 - OAUcExw2L6jwg5z/30 - aP1TaSomfwcO5.md new file mode 100644 index 0000000..749c371 --- /dev/null +++ b/data/40 - OAUcExw2L6jwg5z/30 - aP1TaSomfwcO5.md @@ -0,0 +1,9 @@ +4tIzk49TTyUt3 + +- [x] OBVdi0SU Kg50 oI cLBMPgDHh JsK5HHkVt [completedOn:: 2023-10-01] +- [x] 17x mHI S8cbTwi + [priority::1] clZB8iEG8PJblzVcm gVA4H3IbY4hOxbnb8jk cb38IqIA7cmIE0HVWDX7MWFjk7DPj [completedOn:: 2023-10-01] + - [x] ycs [completedOn:: 2023-10-01] + - [x] k2ve2p9 [completedOn:: 2023-10-01] + - [x] VqF3 [completedOn:: 2023-10-01] + - [x] d75s [completedOn:: 2023-10-01] diff --git a/data/60 - MytdSmje1TyedwYd/2YtyIx9mAVAVKUH.png b/data/60 - MytdSmje1TyedwYd/2YtyIx9mAVAVKUH.png new file mode 100644 index 0000000..7070737 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/2YtyIx9mAVAVKUH.png differ diff --git a/data/60 - MytdSmje1TyedwYd/2qHFZexkOeT.png b/data/60 - MytdSmje1TyedwYd/2qHFZexkOeT.png new file mode 100644 index 0000000..a44c687 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/2qHFZexkOeT.png differ diff --git a/data/60 - MytdSmje1TyedwYd/8gQyZDlLHrBZ.png b/data/60 - MytdSmje1TyedwYd/8gQyZDlLHrBZ.png new file mode 100644 index 0000000..1d0cfe7 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/8gQyZDlLHrBZ.png differ diff --git a/data/60 - MytdSmje1TyedwYd/A8HfxQXEHnqrJH5huc.png b/data/60 - MytdSmje1TyedwYd/A8HfxQXEHnqrJH5huc.png new file mode 100644 index 0000000..b48d729 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/A8HfxQXEHnqrJH5huc.png differ diff --git a/data/60 - MytdSmje1TyedwYd/CsM8G9OhWqFbPtQ.png b/data/60 - MytdSmje1TyedwYd/CsM8G9OhWqFbPtQ.png new file mode 100644 index 0000000..ad970ea Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/CsM8G9OhWqFbPtQ.png differ diff --git a/data/60 - MytdSmje1TyedwYd/CsoHo4FgRl.png b/data/60 - MytdSmje1TyedwYd/CsoHo4FgRl.png new file mode 100644 index 0000000..582a538 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/CsoHo4FgRl.png differ diff --git a/data/60 - MytdSmje1TyedwYd/DzGanjdBysNx.mp3 b/data/60 - MytdSmje1TyedwYd/DzGanjdBysNx.mp3 new file mode 100644 index 0000000..5eab040 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/DzGanjdBysNx.mp3 differ diff --git a/data/60 - MytdSmje1TyedwYd/FNgwz03iAFXtQ7mMK.jpg b/data/60 - MytdSmje1TyedwYd/FNgwz03iAFXtQ7mMK.jpg new file mode 100644 index 0000000..6f197b8 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/FNgwz03iAFXtQ7mMK.jpg differ diff --git a/data/60 - MytdSmje1TyedwYd/GClc0ged6Ye6sO.png b/data/60 - MytdSmje1TyedwYd/GClc0ged6Ye6sO.png new file mode 100644 index 0000000..f66b416 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/GClc0ged6Ye6sO.png differ diff --git a/data/60 - MytdSmje1TyedwYd/GGykWTpcLnH35ZqPmadm.png b/data/60 - MytdSmje1TyedwYd/GGykWTpcLnH35ZqPmadm.png new file mode 100644 index 0000000..53c922e Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/GGykWTpcLnH35ZqPmadm.png differ diff --git a/data/60 - MytdSmje1TyedwYd/HV5JAoGe1Gqm.png b/data/60 - MytdSmje1TyedwYd/HV5JAoGe1Gqm.png new file mode 100644 index 0000000..582a538 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/HV5JAoGe1Gqm.png differ diff --git a/data/60 - MytdSmje1TyedwYd/HrMNnmyuh8b3m.png b/data/60 - MytdSmje1TyedwYd/HrMNnmyuh8b3m.png new file mode 100644 index 0000000..02bae28 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/HrMNnmyuh8b3m.png differ diff --git a/data/60 - MytdSmje1TyedwYd/LiPzhzrzAOytElLNk b/data/60 - MytdSmje1TyedwYd/LiPzhzrzAOytElLNk new file mode 100644 index 0000000..a6fe978 --- /dev/null +++ b/data/60 - MytdSmje1TyedwYd/LiPzhzrzAOytElLNk @@ -0,0 +1 @@ +/storage/emulated/0/@tablets-stuff/60 - media and attachments \ No newline at end of file diff --git a/data/60 - MytdSmje1TyedwYd/LyWpZhjR8Yz.png b/data/60 - MytdSmje1TyedwYd/LyWpZhjR8Yz.png new file mode 100644 index 0000000..dc3e1a9 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/LyWpZhjR8Yz.png differ diff --git a/data/60 - MytdSmje1TyedwYd/MScRqJo6CL.png b/data/60 - MytdSmje1TyedwYd/MScRqJo6CL.png new file mode 100644 index 0000000..b9f16f5 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/MScRqJo6CL.png differ diff --git a/data/60 - MytdSmje1TyedwYd/MdSSFTgVmluZiNo463Lr.png b/data/60 - MytdSmje1TyedwYd/MdSSFTgVmluZiNo463Lr.png new file mode 100644 index 0000000..e3ea007 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/MdSSFTgVmluZiNo463Lr.png differ diff --git a/data/60 - MytdSmje1TyedwYd/TJuhVh7eB8EL3.png b/data/60 - MytdSmje1TyedwYd/TJuhVh7eB8EL3.png new file mode 100644 index 0000000..582a538 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/TJuhVh7eB8EL3.png differ diff --git a/data/60 - MytdSmje1TyedwYd/WCFNdCHqyAg.png b/data/60 - MytdSmje1TyedwYd/WCFNdCHqyAg.png new file mode 100644 index 0000000..27c4953 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/WCFNdCHqyAg.png differ diff --git a/data/60 - MytdSmje1TyedwYd/WmR9NYKLDnA.png b/data/60 - MytdSmje1TyedwYd/WmR9NYKLDnA.png new file mode 100644 index 0000000..d71dd38 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/WmR9NYKLDnA.png differ diff --git a/data/60 - MytdSmje1TyedwYd/YK5e4kE6H7fR7HjZkMY.png b/data/60 - MytdSmje1TyedwYd/YK5e4kE6H7fR7HjZkMY.png new file mode 100644 index 0000000..c5ed336 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/YK5e4kE6H7fR7HjZkMY.png differ diff --git a/data/60 - MytdSmje1TyedwYd/arqbjPgy8t.png b/data/60 - MytdSmje1TyedwYd/arqbjPgy8t.png new file mode 100644 index 0000000..64bdd85 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/arqbjPgy8t.png differ diff --git a/data/60 - MytdSmje1TyedwYd/cKG8kKz7PZg.png b/data/60 - MytdSmje1TyedwYd/cKG8kKz7PZg.png new file mode 100644 index 0000000..7ebaca7 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/cKG8kKz7PZg.png differ diff --git a/data/60 - MytdSmje1TyedwYd/dEt9Wfihdlbu.png b/data/60 - MytdSmje1TyedwYd/dEt9Wfihdlbu.png new file mode 100644 index 0000000..78950c0 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/dEt9Wfihdlbu.png differ diff --git a/data/60 - MytdSmje1TyedwYd/fN2DSl1WpeVT7qfL.png b/data/60 - MytdSmje1TyedwYd/fN2DSl1WpeVT7qfL.png new file mode 100644 index 0000000..d3f47ec Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/fN2DSl1WpeVT7qfL.png differ diff --git a/data/60 - MytdSmje1TyedwYd/jRJtUHnGu8IO.png b/data/60 - MytdSmje1TyedwYd/jRJtUHnGu8IO.png new file mode 100644 index 0000000..643019f Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/jRJtUHnGu8IO.png differ diff --git a/data/60 - MytdSmje1TyedwYd/oIOFYO3nUpOozbu2wm.png b/data/60 - MytdSmje1TyedwYd/oIOFYO3nUpOozbu2wm.png new file mode 100644 index 0000000..7aded1c Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/oIOFYO3nUpOozbu2wm.png differ diff --git a/data/60 - MytdSmje1TyedwYd/p0mu2y9c5Q.mp3 b/data/60 - MytdSmje1TyedwYd/p0mu2y9c5Q.mp3 new file mode 100644 index 0000000..4528c84 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/p0mu2y9c5Q.mp3 differ diff --git a/data/60 - MytdSmje1TyedwYd/rpbowERGVdQEKhZ1.pdf b/data/60 - MytdSmje1TyedwYd/rpbowERGVdQEKhZ1.pdf new file mode 100644 index 0000000..868c9ed Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/rpbowERGVdQEKhZ1.pdf differ diff --git a/data/60 - MytdSmje1TyedwYd/uI1rr3cd82kECzeT.png b/data/60 - MytdSmje1TyedwYd/uI1rr3cd82kECzeT.png new file mode 100644 index 0000000..5b1d021 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/uI1rr3cd82kECzeT.png differ diff --git a/data/60 - MytdSmje1TyedwYd/uJZDcWltRUuVNcsT.png b/data/60 - MytdSmje1TyedwYd/uJZDcWltRUuVNcsT.png new file mode 100644 index 0000000..785bf5a Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/uJZDcWltRUuVNcsT.png differ diff --git a/data/60 - MytdSmje1TyedwYd/vcz0XexLkzv4Vc.png b/data/60 - MytdSmje1TyedwYd/vcz0XexLkzv4Vc.png new file mode 100644 index 0000000..67ad7c7 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/vcz0XexLkzv4Vc.png differ diff --git a/data/60 - MytdSmje1TyedwYd/xx3CEsxEAEwe2UeO.png b/data/60 - MytdSmje1TyedwYd/xx3CEsxEAEwe2UeO.png new file mode 100644 index 0000000..2e5e7dd Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/xx3CEsxEAEwe2UeO.png differ diff --git a/data/60 - MytdSmje1TyedwYd/ydpF7ybmzvAulFg.png b/data/60 - MytdSmje1TyedwYd/ydpF7ybmzvAulFg.png new file mode 100644 index 0000000..9bda650 Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/ydpF7ybmzvAulFg.png differ diff --git a/data/60 - MytdSmje1TyedwYd/zEkjUkIrWBGhsqj.webm b/data/60 - MytdSmje1TyedwYd/zEkjUkIrWBGhsqj.webm new file mode 100644 index 0000000..cee1eda Binary files /dev/null and b/data/60 - MytdSmje1TyedwYd/zEkjUkIrWBGhsqj.webm differ diff --git a/data/90 - yKJTpI4CUNiOU/4UQlrqPLI0.md b/data/90 - yKJTpI4CUNiOU/4UQlrqPLI0.md new file mode 100644 index 0000000..e69de29 diff --git a/data/90 - yKJTpI4CUNiOU/8UpIwvz5uMn47.md b/data/90 - yKJTpI4CUNiOU/8UpIwvz5uMn47.md new file mode 100644 index 0000000..3bfd743 --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/8UpIwvz5uMn47.md @@ -0,0 +1,19 @@ +--- +title: todo list +tags: root-not tasky +type: task list +--- + +- [ ] xyE + - [ ] 3c3 + - [ ] rW2n9 + +lWo U BU9U mlhLIy NxjQ t5fk9 + + +> 0VF7DJPJRV aux +> + +gd2BYzQhKYxp9 + +--- diff --git a/data/90 - yKJTpI4CUNiOU/Om4BfenBr8D266kCK.md b/data/90 - yKJTpI4CUNiOU/Om4BfenBr8D266kCK.md new file mode 100644 index 0000000..d3b35e8 --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/Om4BfenBr8D266kCK.md @@ -0,0 +1,6 @@ +--- +fileClass: [someclass] +--- + +EX4tvCf 2xewe +tEgpS [[]] diff --git a/data/90 - yKJTpI4CUNiOU/SC6Fl5BQJy6u2Wpq.md b/data/90 - yKJTpI4CUNiOU/SC6Fl5BQJy6u2Wpq.md new file mode 100644 index 0000000..34a7caa --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/SC6Fl5BQJy6u2Wpq.md @@ -0,0 +1,8 @@ +- [ ] e9Y + [priority:: Urgent] [level:: 1] [startedOn::2023-03-15] +- +[ ] [priority:: Urgent] [level:: 1] [startedOn::2023-03-29] + m t 29 + 6 P i [priority:: Urgent] [level:: 1] [startedOn::2023-03-17] + +`$=dv.current().file.tasks[0].level` diff --git a/data/90 - yKJTpI4CUNiOU/X7fAPLEUoUP8.md b/data/90 - yKJTpI4CUNiOU/X7fAPLEUoUP8.md new file mode 100644 index 0000000..f70475b --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/X7fAPLEUoUP8.md @@ -0,0 +1,3 @@ +# VkZl bU **EJhSlRM9** QA K `div` + +2V8gTdZ8DxpSWL diff --git a/data/90 - yKJTpI4CUNiOU/c8jwEboUShCecpzGVTs.md b/data/90 - yKJTpI4CUNiOU/c8jwEboUShCecpzGVTs.md new file mode 100644 index 0000000..e2449e1 --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/c8jwEboUShCecpzGVTs.md @@ -0,0 +1,20 @@ +MXIH o8 OT13 KlJ3sXHT OL6w c UhgZK mUmR uI + +- [ ] wsaD + [priority:: Urgent] [level:: 1] [startedOn::2023-03-29] +- [ ] 1Afkz + [priority:: Medium] [level:: 3] [startedOn::2023-03-18] +- [ ] yE + [priority:: Low] [level:: 4] [startedOn::2023-03-19] +- [ ] xKPJ + [priority:: Urgent] [level:: 1] [startedOn::2023-04-08] + - [ ] Qf8 + [priority:: Medium] [level:: 3] [startedOn::2023-03-24] + - [ ] gHuNL + [priority:: Unimportant] [level:: 5] [startedOn::2023-03-29] + - [ ] X9jN + [priority:: Urgent] [level:: 1] [startedOn::2023-04-01] + - [ ] gH6 + [priority:: Important] [level:: 2] [startedOn::2023-08-30] + - [ ] hbpJHo + [priority:: Important] [level:: 2] [startedOn::2023-03-15] diff --git a/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/1hJcmA2XUQj.md b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/1hJcmA2XUQj.md new file mode 100644 index 0000000..0150255 --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/1hJcmA2XUQj.md @@ -0,0 +1,12 @@ +--- +status: Doing +due: 2022-11-12 +published: false +weight: 1 +tags: + - note-taking + - pkm +image: https://images.unsplash.com/photo-1501504905252-473c47e087f8?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +--- + +# 2U0 RhJ YIIgRL 7c JqMZod eM1G diff --git a/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/3slVxbahxB3PE.md b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/3slVxbahxB3PE.md new file mode 100644 index 0000000..d077f86 --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/3slVxbahxB3PE.md @@ -0,0 +1,12 @@ +--- +status: Backlog +due: 2022-11-19 +published: false +weight: 1 +tags: + - pkm + - obsidian +image: https://images.unsplash.com/photo-1550592704-6c76defa9985?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +--- + +# hjiq m 2aWeNEO peM6 Ca6iDy BPAmoY diff --git a/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/IZtLdbboS1b.md b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/IZtLdbboS1b.md new file mode 100644 index 0000000..71a0404 --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/IZtLdbboS1b.md @@ -0,0 +1,10 @@ +--- +status: Backlog +due: 2022-11-26 +published: false +tags: + - obsidian +image: https://images.unsplash.com/photo-1471107340929-a87cd0f5b5f3?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +--- + +# I ouNhGfN 3 oXBJ f4br F prL6SyK JNRZs diff --git a/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/eQ7EItsVLUVnSHGuX7nd.md b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/eQ7EItsVLUVnSHGuX7nd.md new file mode 100644 index 0000000..75f6909 --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/eQ7EItsVLUVnSHGuX7nd.md @@ -0,0 +1,5 @@ +--- +status: Backlog +due: 2022-11-16 +published: true +--- diff --git a/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/sN4qNFktMhEfi.md b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/sN4qNFktMhEfi.md new file mode 100644 index 0000000..f6edc0f --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/sN4qNFktMhEfi.md @@ -0,0 +1,11 @@ +--- +status: Done +due: 2022-10-29 +published: true +weight: 1 +tags: + - note-taking +image: https://images.unsplash.com/photo-1455390582262-044cdead277a?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +--- + +# GQ1 BEhl 1OAuz alRBFU YcDf diff --git a/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/sUxgCX3kpudsnCwjhN.md b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/sUxgCX3kpudsnCwjhN.md new file mode 100644 index 0000000..338951b --- /dev/null +++ b/data/90 - yKJTpI4CUNiOU/g7NXYlLHlvAYKDkTqbj/sUxgCX3kpudsnCwjhN.md @@ -0,0 +1,11 @@ +--- +status: Doing +due: 2022-11-05 +published: true +tags: + - note-taking + - obsidian +image: https://images.unsplash.com/photo-1488190211105-8b0e65b80b4e?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +--- + +# TJI cDPGD23 Vu2 ML GDH56 ZFyuYZ diff --git a/data/90 - yKJTpI4CUNiOU/qcRFXY0ZkCJ.md b/data/90 - yKJTpI4CUNiOU/qcRFXY0ZkCJ.md new file mode 100644 index 0000000..e69de29 diff --git a/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/DyKODDNGcpcJXd.md b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/DyKODDNGcpcJXd.md new file mode 100644 index 0000000..5d70221 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/DyKODDNGcpcJXd.md @@ -0,0 +1,13 @@ +--- +status: Backlog +due: 2022-11-30 +published: true +tags: + - obsidian +image: https://images.unsplash.com/photo-1471107340929-a87cd0f5b5f3?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +weight: 11111 +startDate: 2022-11-20 +endDate: 2022-11-30 +--- + +# j H1zpewa L tEWW peJE 8 WjFCQGe R0RCJ diff --git a/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/GZlED4amIuYjLqV.md b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/GZlED4amIuYjLqV.md new file mode 100644 index 0000000..3f18224 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/GZlED4amIuYjLqV.md @@ -0,0 +1,14 @@ +--- +status: Doing +due: 2022-11-16 +published: false +weight: 311111 +tags: + - note-taking + - pkm +image: https://images.unsplash.com/photo-1501504905252-473c47e087f8?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +startDate: 2022-12-01 +endDate: 2022-12-02 +--- + +# Tw0 Ytl Fv30Mx mM ZFkZ6d QEPi diff --git a/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/KZtgIe0J0r9AUKNfwuZ.md b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/KZtgIe0J0r9AUKNfwuZ.md new file mode 100644 index 0000000..b49f412 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/KZtgIe0J0r9AUKNfwuZ.md @@ -0,0 +1,15 @@ +--- +status: Done +due: 2022-11-30 +published: true +weight: 222221111111 +tags: + - note-taking + - obsidian + - fa +image: https://images.unsplash.com/photo-1488190211105-8b0e65b80b4e?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +startDate: 2022-11-01 +endDate: 2022-11-13 +--- + +# UAr ZATz43J 0Gi w0 puh43 cKuGo9 diff --git a/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/NePfNefnNlXPE3gh.md b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/NePfNefnNlXPE3gh.md new file mode 100644 index 0000000..8bc47f8 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/NePfNefnNlXPE3gh.md @@ -0,0 +1,14 @@ +--- +status: Backlog +due: 2022-11-23 +published: false +weight: 4 +tags: + - pkm + - obsidian +image: https://images.unsplash.com/photo-1550592704-6c76defa9985?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +startDate: 2022-12-03 +endDate: 2022-12-04 +--- + +# 1zMV c BDar91Z HxWx pymzCr OONix4 diff --git a/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/Q02oZa9TAvHwNGJ.md b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/Q02oZa9TAvHwNGJ.md new file mode 100644 index 0000000..08c4555 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/Q02oZa9TAvHwNGJ.md @@ -0,0 +1,13 @@ +--- +status: Done +due: 2022-11-30 +published: true +weight: 1 +tags: + - note-taking +image: https://images.unsplash.com/photo-1455390582262-044cdead277a?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=300&q=80 +startDate: 2022-11-20 +endDate: 2022-11-30 +--- + +# CpS ViOV HlI9w jPMcXt 6wzQ diff --git a/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/WrFxsEXPx2s.md b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/WrFxsEXPx2s.md new file mode 100644 index 0000000..459dc76 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/WrFxsEXPx2s.md @@ -0,0 +1,8 @@ +--- +due: 2022-11-04 +published: false +weight: 11112223333 +status: Backlog +startDate: 2022-12-30 +endDate: 2023-01-22 +--- diff --git a/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/pw7Z4BkdAFygFQ5M2XOY.md b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/pw7Z4BkdAFygFQ5M2XOY.md new file mode 100644 index 0000000..f52ef36 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/pw7Z4BkdAFygFQ5M2XOY.md @@ -0,0 +1,10 @@ +--- +due: 2023-02-28 +published: true +status: Doing +weight: 1 +startDate: 2023-01-01 +endDate: 2023-02-01 +--- + +flNUJ diff --git a/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/qea1IHaIvat28IW.md b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/qea1IHaIvat28IW.md new file mode 100644 index 0000000..c6564da --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/5E2vBXJoSdEPse/qea1IHaIvat28IW.md @@ -0,0 +1,8 @@ +--- +due: 2022-11-05 +published: false +status: Doing +weight: 111111 +startDate: 2022-12-05 +endDate: 2022-12-06 +--- diff --git a/data/99 - fPv2OnUE7ocx/ECGOPvLrfoXyy1.txt b/data/99 - fPv2OnUE7ocx/ECGOPvLrfoXyy1.txt new file mode 100644 index 0000000..9be6c0f --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/ECGOPvLrfoXyy1.txt @@ -0,0 +1,160 @@ +Title: + _**BRICK & STEEL**_ + _**FULL RETIRED**_ +Credit: Written by +Author: Stu Maschwitz +Source: Story by KTM +Draft date: 1/27/2012 +Contact: + Next Level Productions + 1588 Mission Dr. + Solvang, CA 93463 + +EXT. BRICK'S PATIO - DAY + +A gorgeous day. The sun is shining. But BRICK BRADDOCK, retired police detective, is sitting quietly, contemplating -- something. + +The SCREEN DOOR slides open and DICK STEEL, his former partner and fellow retiree, emerges with two cold beers. + +STEEL (O.S.) +Beer's ready! + +BRICK +Are they cold? + +STEEL (O.S.) +Does a bear crap in the woods? + +Steel sits. They laugh at the dumb joke. + +STEEL +(beer raised) +To retirement. + +BRICK +To retirement. + +They drink long and well from the beers. + +And then there's a long beat. +Longer than is funny. +Long enough to be depressing. + +The men look at each other. + +STEEL +Screw retirement. + +BRICK ^ +Screw retirement. + +SMASH CUT TO: + +INT. TRAILER HOME - DAY + +This is the home of THE BOY BAND, AKA DAN and JACK. They too are drinking beer, and counting the take from their last smash-and-grab. Money, drugs, and ridiculous props are strewn about the table. + + JACK + (in Vietnamese, subtitled) + *Did you know Brick and Steel are retired?* + + DAN + Then let's retire them. + _Permanently_. + +Jack begins to argue vociferously in Vietnamese (?), But mercifully we... + + CUT TO: + +EXT. BRICK'S POOL - DAY + +Steel, in the middle of a heated phone call: + +STEEL +They're coming out of the woodwork! +(pause) +No, everybody we've put away! +(pause) +Point Blank Sniper? + +.SNIPER SCOPE POV + +From what seems like only INCHES AWAY. _Steel's face FILLS the *Leupold Mark 4* scope_. + +STEEL +The man's a myth! + +Steel turns and looks straight into the cross-hairs. + +STEEL +(oh crap) +Hello... + +CUT TO: + +.OPENING TITLES + +> BRICK BRADDOCK < +> & DICK STEEL IN < + +> BRICK & STEEL < +> FULL RETIRED < + +SMASH CUT TO: + +EXT. WOODEN SHACK - DAY + +COGNITO, the criminal mastermind, is SLAMMED against the wall. + +COGNITO +Woah woah woah, Brick and Steel! + +Sure enough, it's Brick and Steel, roughing up their favorite usual suspect. + +COGNITO +What is it you want with me, DICK? + +Steel SMACKS him. + +STEEL +Who's coming after us? + +COGNITO +Everyone's coming after you mate! Scorpio, The Boy Band, Sparrow, Point Blank Sniper... + +As he rattles off the long list, Brick and Steel share a look. This is going to be BAD. + +CUT TO: + +INT. GARAGE - DAY + +BRICK and STEEL get into Mom's PORSCHE, Steel at the wheel. They pause for a beat, the gravity of the situation catching up with them. + +BRICK +This is everybody we've ever put away. + +STEEL +(starting the engine) +So much for retirement! + +They speed off. To destiny! + +CUT TO: + +EXT. PALATIAL MANSION - DAY + +An EXTREMELY HANDSOME MAN drinks a beer. Shirtless, unfortunately. + +His minion approaches offscreen: + +MINION +We found Brick and Steel! + +HANDSOME MAN +I want them dead. DEAD! + +Beer flies. + +> BURN TO PINK. + +> THE END < diff --git a/data/99 - fPv2OnUE7ocx/ELopuaMUN245XdAwje/UZ5wFQwmraNeqyRUz.md b/data/99 - fPv2OnUE7ocx/ELopuaMUN245XdAwje/UZ5wFQwmraNeqyRUz.md new file mode 100644 index 0000000..22fb898 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/ELopuaMUN245XdAwje/UZ5wFQwmraNeqyRUz.md @@ -0,0 +1,6 @@ +--- +frontmatter: "hi" +backmatter: "bye" +--- + +ynK1wTOLh diff --git a/data/99 - fPv2OnUE7ocx/ModALT6AL1E/kk5lSO4SIBle.md b/data/99 - fPv2OnUE7ocx/ModALT6AL1E/kk5lSO4SIBle.md new file mode 100644 index 0000000..b3ec426 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/ModALT6AL1E/kk5lSO4SIBle.md @@ -0,0 +1,90 @@ +> zGb5Kpvm +> [[]] + +```datacorejsx +let sent = 0; +const useSection = z => { +if(sent < 2) { +sent++; +console.log(z.$parent) +} + let par = z; + while(!par.$link) par = par.$parent; + return par; +} +const useParent = a => { + let par = a.$parent; + if(par.__proto__.constructor.name.match(/markdownlistblock/i)) return a; + while(Array.isArray(par.$elements) && "$status" in par) par = par.$parent; + return par; +} + +let m = 0; +let sentinel = 0 +return function What() { + let q = dc.useQuery(`@task and $parentLine < 0 and !contains($file, "periodic") and !contains($file, "bible") and !contains($file, "kanban") and contains($file, "rockfic")`) + + + let rowVal = dc.useArray(q, b => { + let inter = b.groupBy(y => useSection(y)).groupBy(y => y.key.$file) + console.log("inty", inter) + return inter + }) + + //console.info("ROWVAL", rowVal) + + const props = { + rows: rowVal, + paging: 15, + columns: [ + { + id: "texto", + title: "text", + width: "maximum", + value: x => x.$cleantext, + editable: true, + onUpdate: (v, x) => { + console.log("vv", v) + console.log("xx", x) + dc.setTaskText(v, x) + }, + editor: (v, o, d) => , + render: (v, o) => + }, + { + id: "completed", + value: x => x.$completed, + render: (v, o) => { + dc.setTaskCompletion(v2, o); + }} checked={v}/>, + width: "minimum" + }, + { + id: "id", + value: x => x.$revision, + sortable: true, + width: "minimum", + title: "revision #", + editable: false + }, + ], + displayGroupAsRow: true, + groupings: [{ + render: (k, v) =>

{k.split("/").toReversed()[0].replace(/\.md$/, "")}

+ }, + { + render: (k, v) => { + let sec = useSection(k) + let link = sec.$link.withDisplay(sec.$title) + return + } + }, + ], + childSelector: (x) => x.$elements + } + return ( + + ) +} + +``` diff --git a/data/99 - fPv2OnUE7ocx/ModALT6AL1E/rArel7vVQiDZX/ryDEWpkDQUfC8.js b/data/99 - fPv2OnUE7ocx/ModALT6AL1E/rArel7vVQiDZX/ryDEWpkDQUfC8.js new file mode 100644 index 0000000..6c6df1b --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/ModALT6AL1E/rArel7vVQiDZX/ryDEWpkDQUfC8.js @@ -0,0 +1,28 @@ +/* eslint-disable linebreak-style */ +const path = input.path +let q = await dv.tryQueryMarkdown(` +TASK +FROM "${path}" +GROUP BY section`) + +let p = dv.page(path) +console.log(p) +console.log(q) +let re = /\|[^\]]*?(\]\])$/gim +let linkRE = /\[(?.*?)\]\((?.*?)\)/gmi + +let original = (await dv.io.load(path + ".md")).split("\n") + +let matches = original.map(a => { + return linkRE.exec(a)?.groups +}).filter(z => z !== undefined) + +// /\s+(longURL|longURL2)(]])$/igm +let string = q.replace(/ {2,}/gi, "") +let finalString = string.split("\n").map(a => { + let link = new RegExp(`\\s+(${matches.map(a => a.url).join("|")})(\]\])$`, "gmi") + let name = new RegExp(`${path.split("/").reverse()[0]} ?> ?`, "gim") + return a.replace(link, "$2").replace(name, "") +}).join("\n") + +dv.el("div",finalString) \ No newline at end of file diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/C6DLnL3iHfaX3O4O/ddQTWTmW4Vvu6Y1eLj.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/C6DLnL3iHfaX3O4O/ddQTWTmW4Vvu6Y1eLj.md new file mode 100644 index 0000000..c98b85a --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/C6DLnL3iHfaX3O4O/ddQTWTmW4Vvu6Y1eLj.md @@ -0,0 +1,13 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 01:05:10 PM +type: 📍locations 📍 +subtitle: it's a location what do you expect? +--- + +# RUYccX kl + +- o8s LYbyMm 2fS DqtLh2Hk msAoJd aJkw4JF qZyWyShn1 nwtc NeXU A9 H1u AvU2RASKcU OLR5S +- eeQ LByZ Fgb KPj pi9 r4pmQ 3Q r001kq3yLmZ mI2N ElU [[|Nick]] +- OQz6 jc DAU sEyHab t6f 5cyqayoR4Q0b SiJM ZIU WRJgrw GI q071cTs kMmpcU y KyGf7C x8hOE7 sC MQPA5t N 65sVIVUE diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/C6DLnL3iHfaX3O4O/e7NRn7LrMmP3EKz2yHtK.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/C6DLnL3iHfaX3O4O/e7NRn7LrMmP3EKz2yHtK.md new file mode 100644 index 0000000..1f92776 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/C6DLnL3iHfaX3O4O/e7NRn7LrMmP3EKz2yHtK.md @@ -0,0 +1,13 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:34:25 PM +type: 📍locations 📍 +subtitle: steven universe reference +--- + +# 0aYNU0 + +mSkj 9wa KdPj3ot SlU SlKwvm Q8r 18wv WJ 8LzCwZ x0N2JFp3sK WuYV cBqzT4 SfZ zXUL4 767 X140 56 4qi [[ddQTWTmW4Vvu6Y1eLj|]]D +E98Gz CvZP5Z yMg2t w8CD 0Kvkk U6c R3 q lIOuJe SfZj xzo TmEuhyW0 gBjHycmZZ QL QlMdklaS 1Kcg hsu9a5bubK sKtaxEM y vDe65S D1 tVJ AqAJgKq +39RCZ JAVGvh I0 tAS5QQOaZ3UFmc9 Ft Bxqvux zwsI4 mImr MpU knkPdz fz w79naoD TJ8 S7JYtF AHQUYr kDy d6G88 j6 VrY grja pb7 IVhG5RK eWST qRi8CBL9 diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/CX9dxxXLFFZ1/A99EII8dKffWnmFs.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/CX9dxxXLFFZ1/A99EII8dKffWnmFs.md new file mode 100644 index 0000000..177bb83 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/CX9dxxXLFFZ1/A99EII8dKffWnmFs.md @@ -0,0 +1,11 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:37:07 PM +type: ⚡concepts⚡ +subtitle: plot niblet 1 +--- + +# p + +[[vy4UbK59UbNF7|R14A]] 2SqiFN Nka iNIeq KIp P6VL bR3SBChsX TBmF Oo VKpmzOeC [[YR2Agl1ze5EiM|x72]] sl 4iG5m aN t XSHp ZJ qwc nFg kcAf AEeKeKpb uG2bZVh0 jb xoK FmA bRTPJ eg diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/CX9dxxXLFFZ1/nV1WYXvK4IZ8H.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/CX9dxxXLFFZ1/nV1WYXvK4IZ8H.md new file mode 100644 index 0000000..3db246e --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/CX9dxxXLFFZ1/nV1WYXvK4IZ8H.md @@ -0,0 +1,27 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:25:38 PM +type: ⚡concepts⚡ +subtitle: not final +--- + +# XDGw + +[[vy4UbK59UbNF7|2Vlw]] QlK sn5MOG9 xSvlPCg gnz + +- **YWzH29** + - 68E eCiWuCC + - yM sW0LxWnY + - zwKAz +- **LRTvG** + - CDBl mH8Doy TK0tmr3i c + - KhS Le84 fZlVF60 5V + - YuKjW ksbE 6vqb r3j Moj + - jxta CWDH wC k30g LlSoc + +[[ly8xamPPzNLGFomgfM|96TPM]] Q6B LGLUxEZ mt8 + +- **OaTMLTi** + - gSS1Os yeA + - 8yH y5CN 9wJxCKML oK 9D3tLEk diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/HiOZtIF7YAWngOl2o.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/HiOZtIF7YAWngOl2o.md new file mode 100644 index 0000000..0908d15 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/HiOZtIF7YAWngOl2o.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:42:34 PM +type: ✨characters✨ +character info: + name: Kiko Loureiro + status: 🎶 Active + talent: flight/air + role: main character +--- + +# 23GN + +E fuK e8RW756 TuVv diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/QNK4m0u2cc8qK.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/QNK4m0u2cc8qK.md new file mode 100644 index 0000000..232777a --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/QNK4m0u2cc8qK.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:59:55 PM +type: ✨characters✨ +character info: + name: Dirk Verbeuren + status: 🎶 Active + talent: water + role: main character +--- + +# lUuz + +iiTD9 1JF jeFZ 2Fie pM ZLPS v9nF WA4e zVl [[ddQTWTmW4Vvu6Y1eLj|JieVIc]]L dt0h uOqc8 Q sXydj au xKf KZ buTe B6F qFfxnpP 5D TPqo5 NTCCP Z66FK KXd 7HXLR gHR YybH kLs hZyF9 RUREwd 6I QL8 m b7D uA3KdG62m Zq 4A RUc H32pH4N dv2OJTLl1 F07eI LZ qsrb VJQg8 UwN CYr pp mPd diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/Vslj67unn6xY.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/Vslj67unn6xY.md new file mode 100644 index 0000000..14cf1ae --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/Vslj67unn6xY.md @@ -0,0 +1,18 @@ +--- +created: + date: Tuesday ✧ 2022-07-19 + time: 04:04:26 PM +type: ✨characters✨ +character info: + name: Gar Samuelson + status: ❌ Dead + talent: rocks? + role: secondary character + cause of death: decapitation (he and Chris died together) +--- + +# oDw + +- XG6cr +- lT90Y +- s9j SOik 4ABq4 yxgj [[tOlSsCtjT4bTzl|a0RaE]] diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/YR2Agl1ze5EiM.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/YR2Agl1ze5EiM.md new file mode 100644 index 0000000..63ef366 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/YR2Agl1ze5EiM.md @@ -0,0 +1,17 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:40:14 PM +type: ✨characters✨ +character info: + name: Vic Rattlehead + status: 🎶 Active + talent: nukes lol + role: main villain +--- + +# aDg + +wBy AIEE0rK Lz Ce4 j3u6GB +PJ jYRW SJ144d SGH2pDT [[vy4UbK59UbNF7|Ep3f]]e [[|James]]8 [[tOlSsCtjT4bTzl|EX5n3]] V1y [[Vslj67unn6xY|VtF]] Jnko rs4ktH0 Hdzsmd oYln TwTmZ UOyq2H2 8EXbJJ 164zbRr D74nnN88YVuup a9t 0UsQ3sGWeEcMBn2qADILmT1GO +AAs08 7wlj z2Vbt D5j 0EL6R EK 3LLH7 diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/geUFg3tOgtA.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/geUFg3tOgtA.md new file mode 100644 index 0000000..2daea66 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/geUFg3tOgtA.md @@ -0,0 +1,16 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 12:48:32 PM +type: ✨characters✨ +character info: + name: Nick Menza + status: ❌ Dead + talent: alchemy? + role: secondary character +--- + +# qgz8 + +- jDTME ung6 D1 BWji5 L0Xsa5 NBg C81LF +- vk tvfn ErO UOVRZgn hab A5 aY7bux a0q7 SQ wM1gmE5tkyB hIJ RA63jSwQfhjhRbtusO E1 KVp [[|Temple of Deth]] diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/ly8xamPPzNLGFomgfM.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/ly8xamPPzNLGFomgfM.md new file mode 100644 index 0000000..6a680bc --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/ly8xamPPzNLGFomgfM.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:56:13 PM +type: ✨characters✨ +character info: + name: James LoMenzo + status: 🎶 Active + talent: ice + role: main character +--- + +# c2bN3 + +ILNzShrlezu17mtCq QdWEP s8 4GY bkBeSxMMW3IIlpRoSTb9 QGHZ x0 uos 098u 28N iNS e Pp3 SUFGwc Mtf3 dsRSzr Ia1g b3u OF6hb5Apo thL wWiJ hh t t7PQyyuv t0WTAgF0VHSZ YUMZ nl iZJCSYUf1pZ 8RYz R9D6P x3 hv1Ga HEBz C9 Sct5oh NQ6 PN O3SIP KdIN d9o VtFLaH 1KTCIC diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/nzUC8gBLekHRB5flbNE.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/nzUC8gBLekHRB5flbNE.md new file mode 100644 index 0000000..cbfb605 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/nzUC8gBLekHRB5flbNE.md @@ -0,0 +1,20 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 12:54:26 PM +type: ✨characters✨ +character info: + name: Marty Friedman + status: ❌ Dead + talent: healing + role: secondary character and Nick's love interest? + cause of death: magical depletion/corruption(?) +--- + +# D3LZx + +- 7E8wVbd1rF +- rOyQfHUp + - mPSYY 3NUxAkD Hb 2nE WkhG +- YG QPU4 n8 Tk2uTY5Gx [[geUFg3tOgtA|pprd]] + - uD8i83IgitYXb FOThO Kz 1P7JN kH1zIg r29b YaED hnAJ D uPBysml9 AYh3 AN rlp Cc0l TWigs diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/tOlSsCtjT4bTzl.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/tOlSsCtjT4bTzl.md new file mode 100644 index 0000000..80c6572 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/tOlSsCtjT4bTzl.md @@ -0,0 +1,16 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 12:38:47 PM +type: ✨characters✨ +character info: + name: Chris Poland + status: ❌ Dead + talent: electricity + role: secondary character + cause of death: decapitation +--- + +# 2zI9t + +Mm4Kst3ilkuCm ZRebce diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/vy4UbK59UbNF7.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/vy4UbK59UbNF7.md new file mode 100644 index 0000000..6c9fa04 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/MlT2x7w5mTw70KWCGm/KUyCRY4j6uaRkcajmR8D/vy4UbK59UbNF7.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:50:20 PM +type: ✨characters✨ +character info: + name: Dave Mustaine + status: 🎶 Active + talent: fire + role: main character +--- + +# CX4m + +kpX m2sVt0p 8kv Y 32rz5 jQbFYOQzEQkG Afp 6egLk CC56b0 MtgPT usf diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/l8swWw8QcV5BZ58OkmKG.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/l8swWw8QcV5BZ58OkmKG.md new file mode 100644 index 0000000..7f99eed --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/l8swWw8QcV5BZ58OkmKG/l8swWw8QcV5BZ58OkmKG.md @@ -0,0 +1,35 @@ +--- + +kanban-plugin: basic + +--- + +## ⚡SBoSxEfs⚡ + +- [ ] [[nV1WYXvK4IZ8H|]]
[[nV1WYXvK4IZ8H|wjCl]] +- [ ] [[A99EII8dKffWnmFs|]]
[[A99EII8dKffWnmFs|B]] + +## ✨MvSODLEJT4✨ + +- [ ] [[vy4UbK59UbNF7|]]
[[vy4UbK59UbNF7|ioacmdBXD3Gi6]] +- [ ] [[ly8xamPPzNLGFomgfM|]]
[[ly8xamPPzNLGFomgfM|XDJzvzg98QEkq]] +- [ ] [[HiOZtIF7YAWngOl2o|]]
[[HiOZtIF7YAWngOl2o|59CvMPx8ZWdqF]] +- [ ] [[QNK4m0u2cc8qK|]]
[[QNK4m0u2cc8qK|990JO8LN1WTKw0]] +- [ ] [[geUFg3tOgtA|]]
[[geUFg3tOgtA|GF9rp170O4]] +- [ ] [[nzUC8gBLekHRB5flbNE|]]
[[nzUC8gBLekHRB5flbNE|fnMMI4ar7yRJQc]] +- [ ] [[YR2Agl1ze5EiM|]]
[[YR2Agl1ze5EiM|nDtyBcBVd5wM1y]] +- [ ] [[tOlSsCtjT4bTzl|]]
[[tOlSsCtjT4bTzl|GLPkN1mtlEK2]] +- [ ] [[Vslj67unn6xY|]]
[[Vslj67unn6xY|E7ERtIlOcsQaf]] + +## 📍yHxwx5VaC 📍 + +- [ ] [[ddQTWTmW4Vvu6Y1eLj|]]
[[ddQTWTmW4Vvu6Y1eLj|BFfMhjwzeotrKq]] +- [ ] [[e7NRn7LrMmP3EKz2yHtK|]]
[[e7NRn7LrMmP3EKz2yHtK|mEht6g3v1u78]] + +dY + +``` +{"kanban-plugin":"basic","time-format":"hh:mm:ss A","date-format":"YYYY-MM-DD","prepend-archive-date":true,"metadata-keys":[{"metadataKey":"character info.talent","label":"elemental power/talent","shouldHideLabel":false,"containsMarkdown":false},{"metadataKey":"character info.role","label":"","shouldHideLabel":false,"containsMarkdown":true},{"metadataKey":"synopsis","label":"","shouldHideLabel":false,"containsMarkdown":true},{"metadataKey":"subtitle","label":"","shouldHideLabel":false,"containsMarkdown":false},{"metadataKey":"character info.cause of death","label":"cause of death","shouldHideLabel":false,"containsMarkdown":false}],"show-add-list":false,"new-note-folder":"art/The Megadeth Cartoon/-boards/concepts and info/cards","lane-width":320,"hide-card-count":true} +``` + +u4 diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/4e49f8OuOgz/iCtqXoDlIB3.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/4e49f8OuOgz/iCtqXoDlIB3.md new file mode 100644 index 0000000..adfb99b --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/4e49f8OuOgz/iCtqXoDlIB3.md @@ -0,0 +1,14 @@ +--- +created: + date: Tuesday ✧ 2022-07-19 + time: 02:27:17 PM +season: ☢ season 1 ☢ +synopsis: | + there's a new electronic drumkit that Dirk wants. unfortunately, the closest store that has it is an hour away +--- + +# USI YLGeB VO7F9F9 + +97vIs7J CLdn S5LVYA8 yti pYF PkcEeCPx Bnn nL 8pny glh1RDf B6DXW P Y3RH9bj 41kifI7 r2HuRN Sl 23Wy AX Ii + +*7EI35 * diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/4e49f8OuOgz/qKc6f3FvrWELTKkgrx.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/4e49f8OuOgz/qKc6f3FvrWELTKkgrx.md new file mode 100644 index 0000000..6adac03 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/4e49f8OuOgz/qKc6f3FvrWELTKkgrx.md @@ -0,0 +1,12 @@ +--- +created: + date: Tuesday ✧ 2022-07-19 + time: 02:20:17 PM +season: ☢ season 1 ☢ +synopsis: + +--- + +# 2giJBNJP + +aB49 mIn ursG HvR qojU8gdMoJ Y9 DpCIe E1ES 3PPt Upt tpqB0 RDTWAGB 8W9OY GPhUp B1kxAQOfSNR AVpimhu P6Y rc EF5UaAS k1fDrgs 1NF3R jFDv er5i4 Z 8AGjbB CDe 3456H9 AH71 J8qGc GbBlc KbA EYKfjqE 6m kmX PXmeEZjh diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/uqXptMk2PCTqUbMjDVbJ/qvFqe6GTE0ZAEh.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/uqXptMk2PCTqUbMjDVbJ/qvFqe6GTE0ZAEh.md new file mode 100644 index 0000000..90db52e --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/uqXptMk2PCTqUbMjDVbJ/qvFqe6GTE0ZAEh.md @@ -0,0 +1,15 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 04:15:30 PM +season: ☆ season 2 ☆ +synopsis: | + ### flashback episode to Kiko's emergence. + hijinks ensue because Kiko's guitar seems to have a life of its own.... +subtitle: episode idea 1 +--- + +# 7L GPYb + +- 31d82F lecVPn mu4 QezAO qsYdM Hn hKTwS + AUhnsMRa diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/uqXptMk2PCTqUbMjDVbJ/zflyhpO7QwNb74JzISq5.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/uqXptMk2PCTqUbMjDVbJ/zflyhpO7QwNb74JzISq5.md new file mode 100644 index 0000000..5705b42 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/RMU0PbekPWIE8Lgt/uqXptMk2PCTqUbMjDVbJ/zflyhpO7QwNb74JzISq5.md @@ -0,0 +1,11 @@ +--- +created: + date: Wednesday ✧ 2022-07-20 + time: 03:44:33 PM +season: ☆ season 2 ☆ +--- + +# c3G3zKY3 + +CnhM izWnQvA pd9 OHvIE Fd a6 QG92 jaG KBFq5O ZdeS IvVq Cqyt6Ht mFXpk uBNEvfvv6Yt BE5 4hOpXvxIjqe9pgoD8N6iDJ4 1ZVaJyEc8 1E2SUmf W7y rYs LN5 r1 MyGV Tcmmw1w BkeXdeJ gX SyLb tQa a2uQi +zJye Dd9 SUs66 P4ak 7JYdX agAQ C1HoCTN l13j XLB8teiJ GWS WgHER RQoU 36O9I q76y uV FjM7tR5rml 92hwb VSMyx 4YJ diff --git a/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/lQ0C173eXjtcyV.md b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/lQ0C173eXjtcyV.md new file mode 100644 index 0000000..764b6a0 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/WzBnbhbyYZXlGQ/lQ0C173eXjtcyV/lQ0C173eXjtcyV.md @@ -0,0 +1,25 @@ +--- + +kanban-plugin: basic + +--- + +## ☢ c6qyLi O ☢ + +- [ ] [[qKc6f3FvrWELTKkgrx|]]
[[qKc6f3FvrWELTKkgrx|hGWlaWzg]] +- [ ] [[iCtqXoDlIB3|]]
[[iCtqXoDlIB3|luIkT1KgHaB0lkuvzP9t0U8sfl]] + +## R Zse4Hc X + +- [ ] [[zflyhpO7QwNb74JzISq5|]]
[[zflyhpO7QwNb74JzISq5|M4JHoiol]] +- [ ] [[qvFqe6GTE0ZAEh|]]
[[qvFqe6GTE0ZAEh|]] + +## G k1yGLI E + +tP + +``` +{"kanban-plugin":"basic","show-cards-in-title":false,"metadata-keys":[{"metadataKey":"subtitle","label":"-","shouldHideLabel":true,"containsMarkdown":false},{"metadataKey":"synopsis","label":"synopsis","shouldHideLabel":false,"containsMarkdown":true},{"metadataKey":"type","label":"","shouldHideLabel":false,"containsMarkdown":false}],"new-note-folder":"art/The Megadeth Cartoon/-board/plot cards/cards","time-format":"hh:mm:ss","date-format":"YYYY-MM-DD","lane-width":290,"hide-card-count":true} +``` + +Vs diff --git a/data/99 - fPv2OnUE7ocx/Zu19DfZGY0APAvhjdrO.md b/data/99 - fPv2OnUE7ocx/Zu19DfZGY0APAvhjdrO.md new file mode 100644 index 0000000..2369e00 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/Zu19DfZGY0APAvhjdrO.md @@ -0,0 +1,19 @@ +# NdJYR1ZP 1b8jl MY [6](https://a.Very.Long.Url) + +[[00 - 575WAOLM6p7kYIP|]] + +- [ ] Kg2fU +- [ ] hoeMq6p + - [ ] kvnEM [inline-field:: holy shit!] [another:: no] + - mSncs j9sy + +```datacorejsx +return function View() { +const iu = dc.useIndexUpdates(); + const q = dc.useMemo(() => dc.useQuery(`@task and $file = "${dc.path}" and $parentLine < 0`), [iu]); + return <> + + {dc.LinkEmbed({inline: false, link: dc.parseLink("[[current]]")})} + +} +``` diff --git a/data/99 - fPv2OnUE7ocx/dSFUwcGpuEPx7BYBT/4GGBnn3ZumVoHfafUin5.md b/data/99 - fPv2OnUE7ocx/dSFUwcGpuEPx7BYBT/4GGBnn3ZumVoHfafUin5.md new file mode 100644 index 0000000..ad391c8 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/dSFUwcGpuEPx7BYBT/4GGBnn3ZumVoHfafUin5.md @@ -0,0 +1,12 @@ +MgpBc + +- [ ] EgPPw3OdFK + +--- + +LA5L2DKqGfvP RDr2 +szewJCIBRz7 +----------------- + +a4D nf4JJnyJGDKOXsQsAShq6m7eAHK4j6t9rLe3JZ JO +Ty CXJX8JbIzaRoYQNFXt5R7Ee5f diff --git a/data/99 - fPv2OnUE7ocx/ewOVHG8HgMiiObKwYg.md b/data/99 - fPv2OnUE7ocx/ewOVHG8HgMiiObKwYg.md new file mode 100644 index 0000000..ef9b668 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/ewOVHG8HgMiiObKwYg.md @@ -0,0 +1,3 @@ +# [[SRKh3rljUKCjsv7|Vwe2kKfQTmV2Pz0r6r3]] + +kIEv68indDNNGcj6zhAwTM diff --git a/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/5Fl11MvXg1mTi4E.fountain b/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/5Fl11MvXg1mTi4E.fountain new file mode 100644 index 0000000..479fe07 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/5Fl11MvXg1mTi4E.fountain @@ -0,0 +1,180 @@ +Title: Out of Phase +Author: The Tablet ❀ +Source: a reanimation/reinterpretation of Diamond Head's Out of Phase music video +Copyright: *2022* +--- + +EXT. castle across the lake #1-1# += establishing shot + +~You never listen in to what they know + + +FADE TO: + +EXT. behind the gates #1-2# +~they only play the songs you've always known + +merchants and guards mill around. Brian hurriedly weaves his way around the people to the front of the shot. he has the “magical box of rock n roll” tucked under his arm. + +INT. main castle room #1-3# +~can't replace the roll of ‘69 + +[[3/4, facing Sean]] + +Sean is visibly bored and disinterested: + +• he's leaning forward on the table with his elbow + • head propped up on his hand +• his eyes are drooping closed + +Sean's eyes roam right - + +- then left. + +~as you are — + +he fully turns his head, upon seeing Brian amongst the crowd. + +his cheeks turn pink. + +JUMP CUT TO: + +INT. just past the castle doors #1-4# + +[[3/4, facing Brian]] + +~— and always were in love that time + + +his eyes catch Sean staring, and he pauses. + +he turns to Sean and smiles. + +JUMP CUT TO: + +[[3/4, facing Sean]] + +Sean looks away and blushes even redder + +JUMP CUT TO: + +[[3/4, facing Brian]] + +Brian smirks devilishly. + + +he turns his head forward and approaches the table with a slight swagger. + + +JUMP CUT TO: + +[[3/4, facing the king]] + +~You're unsure of the marriage vow + +the king looks up from a scroll and cocks his brow. +at the top of the scroll is a heading that says "PROCLAMATION". + + +JUMP CUT TO: + +[[3/4, facing Brian]] + +~Lived it once and in it hide you now + +Brian is now in front of the table, facing the king. + += the king is a shadow (something something composition) + +Brian places the box on the table + + +> MOTION BLUR (↑) + +~the morning ash, the fire of ‘59 + +Brian animatedly explains what's in the box, gesticulating especially with his hands. + += he exudes an aura of confidence — show that in body language! + + +> MOTION BLUR (↓) + +close up of box... + +~Will remain with you, + + +Brian opens the box + + +~In hope for better times... + + +INT. MAGIC-SCAPE #2-1# + +~ (out of phase) +~ will you always be! + +=== + += ...bridge... + + +[[snare hit]] + +~ looking around me + + + + + + + +> MOTION BLUR (↑) + + +INT. main castle room #3-1# +[[snare hit]] + +~ you're not the only one + +the king slams the box shut. +his face is contorted in a disgusted/angry grimace. + +THE KING +(soundlessly) +_*GUARDS!*_ + +JUMP CUT TO: + + +[[snare hit]] + +~ looking for something old + +guards close in around Brian +Brian turns around partially + + +[[snare hit]] + +~ looking for something done + +JUMP CUT TO: + +[[3/4 low-ish, facing Brian]] + +Brian whips out his sword + +JUMP CUT TO: + +[[side shot]] + +~out of phase, +~out of phase, +~out of phase, +~out of phase... + +## fight scene. \ No newline at end of file diff --git a/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/CpsbQEKiRnlSq2w.fountain b/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/CpsbQEKiRnlSq2w.fountain new file mode 100644 index 0000000..49bf10b --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/CpsbQEKiRnlSq2w.fountain @@ -0,0 +1,159 @@ +Title: _**BRICK & STEEL**_ + _**FULL RETIRED**_ +Credit: Written by +Author: Stu Maschwitz +Source: Story by KTM +Draft date: 1/27/2012 +Contact: + Next Level Productions + 1588 Mission Dr. + Solvang, CA 93463 + +EXT. BRICK'S PATIO - DAY + +A gorgeous day. The sun is shining. But BRICK BRADDOCK, retired police detective, is sitting quietly, contemplating -- something. + +The SCREEN DOOR slides open and DICK STEEL, his former partner and fellow retiree, emerges with two cold beers. + +STEEL (O.S.) +Beer's ready! + +BRICK +Are they cold? + +STEEL (O.S.) +Does a bear crap in the woods? + +Steel sits. They laugh at the dumb joke. + +STEEL +(beer raised) +To retirement. + +BRICK +To retirement. + +They drink long and well from the beers. +And then there's a long beat. +Longer than is funny. +Long enough to be depressing. + +The men look at each other. + +STEEL +Screw retirement. + +BRICK ^ +Screw retirement. + +SMASH CUT TO: + +INT. TRAILER HOME - DAY + +This is the home of THE BOY BAND, AKA DAN and JACK. They too are drinking beer, and counting the take from their last smash-and-grab. Money, drugs, and ridiculous props are strewn about the table. + + JACK +(in Vietnamese, subtitled) +*Did you know Brick and Steel are retired?* + + DAN + Then let's retire them. + _Permanently_. + +Jack begins to argue vociferously in Vietnamese (?), But mercifully we... + + CUT TO: + +EXT. BRICK'S POOL - DAY + +Steel, in the middle of a heated phone call: + +STEEL +They're coming out of the woodwork! +(pause) + +No, everybody we've put away! +(pause) +Point Blank Sniper? + +.SNIPER SCOPE POV + +From what seems like only INCHES AWAY. _Steel's face FILLS the *Leupold Mark 4* scope_. + +STEEL +The man's a myth! + +Steel turns and looks straight into the cross-hairs. + +STEEL +(oh crap) +Hello... + +CUT TO: + +.OPENING TITLES + +> BRICK BRADDOCK < +> & DICK STEEL IN < + +> BRICK & STEEL < +> FULL RETIRED < + +SMASH CUT TO: + +EXT. WOODEN SHACK - DAY + +COGNITO, the criminal mastermind, is SLAMMED against the wall. + +COGNITO +Woah woah woah, Brick and Steel! + +Sure enough, it's Brick and Steel, roughing up their favorite usual suspect. + +COGNITO +What is it you want with me, DICK? + +Steel SMACKS him. + +STEEL +Who's coming after us? + +COGNITO +Everyone's coming after you mate! Scorpio, The Boy Band, Sparrow, Point Blank Sniper... + +As he rattles off the long list, Brick and Steel share a look. This is going to be BAD. + +CUT TO: + +INT. GARAGE - DAY + +BRICK and STEEL get into Mom's PORSCHE, Steel at the wheel. They pause for a beat, the gravity of the situation catching up with them. + +BRICK +This is everybody we've ever put away. + +STEEL +(starting the engine) +So much for retirement! + +They speed off. To destiny! + +CUT TO: + +EXT. PALATIAL MANSION - DAY + +An EXTREMELY HANDSOME MAN drinks a beer. Shirtless, unfortunately. + +His minion approaches offscreen: + +MINION +We found Brick and Steel! + +HANDSOME MAN +I want them dead. DEAD! + +Beer flies. + +> BURN TO PINK. + +> THE END < diff --git a/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/f76J1DMOzYl86nSgzI.fountain b/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/f76J1DMOzYl86nSgzI.fountain new file mode 100644 index 0000000..0f6712f --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/f76J1DMOzYl86nSgzI.fountain @@ -0,0 +1,4638 @@ +Title: Big Fish +Credit: written by +Author: John August +Source: based on the novel by Daniel Wallace +Notes: + FINAL PRODUCTION DRAFT + includes post-production dialogue + and omitted scenes +Copyright: (c) 2003 Columbia Pictures + +This is a Southern story, full of lies and fabrications, but truer for their inclusion. + +==== + +**FADE IN:** + +A RIVER. + +We're underwater, watching a fat catfish swim along. + +This is The Beast. + +EDWARD (V.O.) +There are some fish that cannot be caught. It's not that they're faster or stronger than other fish. They're just touched by something extra. Call it luck. Call it grace. One such fish was The Beast. + +The Beast's journey takes it past a dangling fish hook, baited with worms. Past a tempting lure, sparkling in the sun. Past a swiping bear claw. The Beast isn't worried. + +EDWARD (V.O.)(CONT'D) +By the time I was born, he was already a legend. He'd taken more hundred-dollar lures than any fish in Alabama. Some said that fish was the ghost of Henry Walls, a thief who'd drowned in that river 60 years before. Others claimed he was a lesser dinosaur, left over from the Cretaceous period. + +INT. WILL'S BEDROOM - NIGHT (1973) + +WILL BLOOM, AGE 3, listens wide-eyed as his father EDWARD BLOOM, 40's and handsome, tells the story. In every gesture, Edward is bigger than life, describing each detail with absolute conviction. + +EDWARD +I didn't put any stock into such speculation or superstition. All I knew was I'd been trying to catch that fish since I was a boy no bigger than you. +(closer) +And on the day you were born, that was the day I finally caught him. + +EXT. CAMPFIRE - NIGHT (1977) + +A few years later, and Will sits with the other INDIAN GUIDES as Edward continues telling the story to the tribe. + +EDWARD +Now, I'd tried everything on it: worms, lures, peanut butter, peanut butter-and-cheese. But on that day I had a revelation: if that fish was the ghost of a thief, the usual bait wasn't going to work. I would have to use something he truly desired. + +Edward points to his wedding band, glinting in the firelight. + +LITTLE BRAVE +(confused) +Your finger? + +Edward slips his ring off. + +EDWARD +Gold. + +While the other boys are rapt with attention, Will looks bored. He's heard this story before. + +EDWARD +I tied my ring to the strongest line they made -- strong enough to hold up a bridge, they said, if just for a few minutes -- and I cast upriver. + +INT. BLOOM FRONT HALL - NIGHT (1987) + +Edward is chatting up Will's pretty DATE to the homecoming dance. She is enjoying the story, but also the force of Edward's charisma. He's hypnotizing. + + +EDWARD (CONT'D) +The Beast jumped up and grabbed it before the ring even hit the water. And just as fast, he snapped clean through that line. + +WILL, now 17 with braces, is fuming and ready to leave. His mother SANDRA -- from whom he gets his good looks and practicality -- stands with him at the door. + +EDWARD +You can see my predicament. My wedding ring, the symbol of fidelity to my wife, soon to be the mother of my child, was now lost in the gut of an uncatchable fish. + +ON WILL AND SANDRA + + +WILL +(low but insistent) +Make him stop. + +His mother pats him sympathetically, then adjusts his tie. + + +WILL'S DATE +What did you do? + +EDWARD +I followed that fish up-river and down-river for three days and three nights, until I finally had him boxed in. + +Will regards his father with exasperated contempt. + +EDWARD +With these two hands, I reached in and snatched that fish out of the river. I looked him straight in the eye. And I made a remarkable discovery. + +INT. TINY PARIS RESTAURANT (LA RUE 14°) - NIGHT (1998) + +WILL, now 28, sits with his gorgeous bride JOSEPHINE. This is their wedding reception, crowded with their friends and family. They should be joyful, but Will is furious. + +Edward has the floor, ostensibly for a toast. The room is cozy and drunk. + +EDWARD +This fish, the Beast. The whole time we were calling it a him, when in fact it was a her. It was fat with eggs, and was going to lay them any day. + +Over near the doorway, we spot Sandra, just returned from the restrooms. She looks gorgeous. She couldn't be any happier if this were her own wedding. + +EDWARD +Now, I was in a situation. I could gut that fish and get my ring back, but doing so I would be killing the smartest catfish in the Ashton River, soon to be mother of a hundred others. + +Will can't take any more. Josephine tries to hold him back, but he gets up and leaves. Edward doesn't even notice. + +EDWARD (CONT'D) +Did I want to deprive my soon-to-be-born son the chance to catch a fish like this of his own? This lady fish and I, well, we had the same destiny. + +As he leaves, Will mutters in perfect unison with his father-- + +EDWARD AND WILL +We were part of the same equation. + +Will reaches the door, where his mother intercepts him. + +SANDRA +Honey, it's still your night. + +Will can't articulate his anger. He just leaves. + +EDWARD +Now, you may well ask, since this lady fish wasn't the ghost of a thief, why did it strike so quick on gold when nothing else would attract it? +(closer; he holds up his ring) +That was the lesson I learned that day, the day my son was born. + +He focuses his words on Sandra. This story is -- and has always been -- about her more than anyone. + +EDWARD +Sometimes, the only way to catch an uncatchable woman is to offer her a wedding ring. + +A LAUGH from the crowd. + +Edward motions for Sandra to get up here with him. As she crosses, we can see that thirty years of marriage has not lessened their affection for each other. + +As they kiss, Edward tweaks her chin a special little way. The crowd APPLAUDS. + +Edward toasts the happy couple. Josephine covers well for her absent husband, a smile as warm as summer. + +Edward downs his champagne in a gulp. + +EXT. OUTSIDE LA RUE 14° - NIGHT + +We come into the middle of an argument on the sidewalk. Occasional PASSERSBY take notice, especially as it gets more heated. Both men are a little drunk. + +EDWARD +What, a father's not allowed to talk about his son? + +WILL +(disbelieving) +I am a footnote in that story. I am the context for your great adventure. Which never happened! Incidentally! You were selling novelty products in Wichita the day I was born. + +EDWARD +(shaking his head) +Jesus Christ. + +WILL +Friend of yours? Did you help him out of a bind? + +EDWARD +Come on, Will. Everyone likes that story. + +WILL +No Dad, they don't. _I_ do not like the story. Not anymore, not after a _thousand_ _times_. I know all the punchlines, Dad. I can tell them as well as you can. +(closer) +For one night, one night in your entire life, the universe does not revolve around Edward Bloom. It revolves around me and my wife. How can you not understand that? + +A long beat, then... + +EDWARD +(low) +Sorry to embarrass you. + +Will won't let him get the last word. + +WILL +You're embarrassing yourself, Dad. You just don't see it. + +ANGLE ON Edward. Fine. A hand to wave, enough of you. + +He walks away. + +ANGLE ON Will, still fuming with righteous anger. It's then we FREEZE FRAME. + +WILL (V.O.)(CONT'D) +After that night, I didn't speak to my father again for three years. + +INT. A.P. NEWSROOM (PARIS) - DAY + +A typically busy day. On hold with the phone cradled under an ear, Will sorts through a bundle of mail dropped on his desk. + +WILL (ON PHONE) +(without pauses) +William Bloom with the Associated Press if I could just... + +He's put back on hold. Returning to the mail, he finds a hand-addressed envelope. Rips it open. + +WILL (V.O.)(CONT'D) +We communicated indirectly I guess. In her letters and Christmas cards, my mother would write for both of them. + +INT. BLOOM HOUSE KITCHEN - DAY + +At the table, Sandra talks on the phone while Edward fixes a sandwich. + +WILL (V.O.) +When I'd call, Mom would say that Dad was out driving. Or swimming in the pool. + +Edward takes a seat, starting to eat his sandwich. + +WILL (V.O.) (CONT'D) +True to form, we never talked about our not talking. + +INT. BLOOM HOUSE MASTER BEDROOM - NIGHT + +Sandra stands by the window, watching as... + +EXT. BLOOM BACK YARD - NIGHT [CONTINUOUS] + +Edward swims laps in the family pool. He's born to the water. + +WILL (V.O.) +The truth is, I didn't see anything of myself in my father, and I don't think he saw anything of himself in me. We were like strangers who knew each other very well. + +EXT. RIVER - DAY + +Edward stares intently into the water, a lion in wait. + +WILL (V.O.) +In telling the story of my father's life, it's impossible to separate the fact from the fiction, the man from the myth. The best I can do is to tell it the way he told me. + +We LOOK DOWN at the river, where Edward's reflection is caught in the dark water. As the water ripples past, something changes. + +Sure enough, as we LOOK UP again, it's a younger EDWARD BLOOM, 20's, staring into the water. He's not just handsome, not just charming. It's as if all the forces of the natural world had conspired to create him. + +WILL (V.O.) (CONT'D) +It doesn't always make sense, and most of it never happened. + +Suddenly, this Edward thrusts both hands into the water, grabbing hold of + +THE BEAST. + +He brings the catfish up to his face. Looks it right in the eye. A beat, then the Beast spits out Edward's gold ring. + +WILL (V.O.) (CONT'D) +But that's what kind of story this is. + +Smiling, Edward takes the ring, then throws the Beast back into the water with a splash. + +TITLE OVER: + +> _BIG FISH_ < + +INT. HOSPITAL ROOM - DAY + +Young Dr. Bennett stands between the Wife's legs. She's flustered and sweating, but the doctor has a comforting bedside manner... + +YOUNG DR. BENNETT +Now, Mrs. Bloom, I'll need you to give me one good push. On three. One... + +Suddenly, we hear a POP as a slimy mass of human being rockets into the doctor's unprepared hands. Bennett tries to hold tight, but the infant is slippery like a fish. It shoots up into air. + +The NURSES and the Husband try to grab the baby, but no one can hold it. As the newborn sails upward TOWARDS CAMERA, we can see a GIGGLING SMILE on its face. + +As it falls, the newborn knocks over a tray, which provides it a ramp to slide right out of the room. Everyone races after it. + +INT. HOSPITAL HALLWAY - DAY + +Bursting through the doors -- + +YOUNG DR. BENNETT +Grab that baby! + +A NURSE finally scoops up the slippery baby. Everyone lets out a collective sigh of relief. + +WILL (V.O.) +My father's birth would set the pace for his unlikely life. No longer than most men's, but larger. And as strange as his stories got, the endings were always the most surprising of all. + +INT. HALF-DARK PARIS APARTMENT - (PRESENT) DAY + +Over the sound of rain, a phone RINGS on a chair. By the tone of the ring, we know we're not in the U.S. -- it has that insistent European sound. + +As it keeps RINGING, we look to see the apartment is mostly empty, just a few half-unpacked boxes. A cradle is still in its carton. + +KEYS in the lock. LAUGHTER in the hallway. The door swings open to reveal a drenched Will (29) carrying four sacks of groceries, the bottoms collapsing from the rain. His wife Josephine (28) pushes past him to get the phone. + +JOSEPHINE +Allo oui? + +Will begins stripping out of his wet clothes, each layer unleashing a new drizzle. He plays it up, trying to get a reaction out of Josephine. + +JOSEPHINE (CONT'D) +(on phone) +Yes, he's here. + +She hands the phone to Will, concerned. + +JOSEPHINE (CONT'D) +It's your mother. + +Half-stripped, Will takes the phone. This won't be good news. + +WILL +(on phone) +Hi. Uh-huh. Uh-huh. + +As Josephine takes off her rain coat, we see she is very, very pregnant. She listens carefully to Will's side of the conversation, trying to gauge how bad the news is. + +WILL (CONT'D) +What does Dr. Bennett say? Okay. No, sure, let me talk to him. I'll wait. + +He covers the mouthpiece. Looks over to Josephine. + +JOSEPHINE +It's bad. + +WILL +It's more than they thought. They're going to stop chemo. + +JOSEPHINE +You need to go. + +WILL +Probably tonight. + +A beat. + +JOSEPHINE +I'm going with you. + +WILL +You don't have to. + +JOSEPHINE +(a simple fact) +I'm going with you. + +INT. AIR FRANCE 747 - NIGHT + +As the plane continues boarding, a STEWARDESS recites the welcome spiel in French. Will has a window seat in coach. Josephine sits beside him, putting on hand lotion. + +Taking his hands, she rubs the excess into him. There's an effortless intimacy between them. She can pinpoint what he's feeling before he can. + +INT. 747 / FLYING - NIGHT + +Hours later, and the lights are dimmed. Most of the PASSENGERS are asleep, including Josephine. Her head is propped against Will's shoulder, her hands tucked under her belly. + +Will watches her sleep, brushing back her hair. A beat, then he notices a BORED BOY in the next row over. + +Off the glow of the reading light, the boy is using his hands to cast shadows on the seat back. The kid is pretty good, making a convincing bird, a passable monkey, and finally a dog. + +We PUSH IN on the silhouettes. + +EDWARD (O.S., PRELAP) +So which one's it gonna be? The Monkey in the Barn, the Dog in the Road? + +Focusing on the final shadow, we... + +MATCH CUT TO: + +INT. BLOOM HOUSE - NIGHT + +...come to find Edward making the shapes. + +Will (6) sits in his pajamas on the floor next to him. The endtable lamp lies between them, its shade off to cast big shadows on the wall. + +WILL +The one about the witch. + +EDWARD +Your mom says I can't tell you that one anymore. You get nightmares. + +WILL +I'm not scared. + +Edward looks around for a beat, seeing if his wife is in earshot. He then leans in, complicitous. + +EDWARD +Neither was I. At first. + +Will smiles, excited to hear the forbidden story. + +EDWARD (CONT'D) +This all happened in the swamp outside of Ashton. Kids weren't supposed to go out in the swamp, on account of the snakes and spiders and quicksand that would swallow you up before you could even scream. But there were five of us out there that night: Me, Ruthie, Wilbur Freely, and the Price Brothers, Don and Zacky. + +Edward holds up his hand, counting the names on his fingers. + +EDWARD (CONT'D) +Not a one of us knew what was in store. + +As his hand moves past the light, we + +COME TO: + +A flashlight SWEEPS past. We are... + +EXT. FIELD AT THE SWAMP EDGE - NIGHT + +The night is WHIRRING and BREATHING, alive. The moon hangs low, casting long shadows. + +Five kids walk past in silhouette. Four have flashlights on. The fifth keeps tripping, crashing into YOUNG EDWARD (10). + +EDWARD +Zacky, turn your flashlight on! + +ZACKY +I don't got any batteries! + +Red-headed ZACKY PRICE is 10. His brother DON PRICE is 12, and a lot bigger than the others. + +DON PRICE +Then why'd you bring it? + +ZACKY +I don't want to be in the swamp with a witch and no flashlight. + +WILBUR FREELY, also 10, is the black asthmatic son of a sharecropper. Redheaded RUTHIE MACKLIN, 8, is happy just to be there. + +EDWARD +Is it true she got a glass eye? + +WILBUR FREELY +I heard she got it from Gypsies. + +EDWARD +What's a Gypsy? + +ZACKY +Your momma's a Gypsy. + +DON PRICE +Your momma's a bitch. + +RUTHIE +You shouldn't swear. There's ladies present. + +DON PRICE +Shit. + +ZACKY +Damn. + +WILBUR FREELY +Screw. + +EDWARD +(whispering) +Turn off your flashlights! She'll see 'em. + +MOVING UP behind the kids, we find ourselves at the gates of... + +EXT. A CREEPY OLD HOUSE - NIGHT + +ADULT EDWARD (V.O.) +Now, it's common knowledge that most towns of a certain size have a witch, if only to eat misbehaving children and the occasional puppy who wanders into her yard. Witches use those bones to cast spells and curses that make the land infertile. + +We PULL BACK, and BACK, revealing more of the Gothically creepy house: its broken windows, strangling vines, and eerie gargoyles half-buried in the dirt. Even bats are afraid to fly over it. + +In the moonlight, the house is especially sinister. Who knows what is lurking in the shadows? + +ADULT EDWARD (V.O.)(CONT'D) +Yet of the all the witches in Alabama, there was one who was the most feared. For she had one glass eye, which was said to contain mystical powers. + +We finally come to the kids, staring in through the gate. + +WILBUR FREELY +I hear if you look right at it, you can see how you're gonna die. + +EDWARD +That's bull-s-h-i-t, that is. She's not even a real witch. + +DON PRICE +You're so sure, why don't you go in and get that eye? I heard she keeps it in a box on her nighttable. + +Edward looks back at the spooky house. + +DON PRICE (CONT'D) +Or are you too scared? + +EDWARD +I'll go in right now and get that eye. + +DON PRICE +Then do it. + +EDWARD +Fine, I will. + +DON PRICE +Fine, you do it. + +EDWARD +Fine, I'm doing it. + +He hands Zacky his flashlight, then starts climbing the gate. + +RUTHIE +Edward, don't! + +WILBUR FREELY +She'll make soap out of you! +(to Ruthie) +That's what she does, she makes soap out of people. + +Edward drops down on the far side of the gate. Truth be told, Edward is scared, but he forges ahead anyway. + +Wilbur looks to Ruthie, and they're in complete agreement. They get the hell out of there. Zacky would run too, but Don holds him by the collar. + +EXT. APPROACHING THE HOUSE + +Edward curves around the tall bushes that hide the front door. Anything could jump out of them. + +He steps on the porch. The boards SQUEAL and CREAK, but he continues on. A cat SCREAMS OUT from a broken wicker rocker. Catching his breath, Edward reaches the front door. + +The doorknob is ancient brass, two projections that look like horns. Yet Edward extends his hand, reaching closer and closer before he finally + +RINGS THE DOORBELL. + +Impossibly fast, the door opens, revealing an OLD WOMAN with a patch over her left eye. She looks like she's been dead for years, but too stubborn to lie down. + +EDWARD +(calm and straightforward) +Ma'am, my name is Edward Bloom, and there's some folks'd like to see your eye. + +EXT. BACK AT THE GATE - NIGHT + +Zacky and Don Price wait for Edward, each moment more convinced he's already dead. But suddenly, he's back at the gate. + +DON PRICE +You get the eye? + +EDWARD +I brought it. + +DON PRICE +(dubious) +Let's see it. + +The Old Woman steps out of the shadows behind Edward, flipping up her eye patch. When their flashlight beam hits her left eye, it shines with a hellish glow. + +We RUSH IN on Zacky, who is paralyzed by what he sees. + +CUT TO: + +EXT. FRONT PORCH OF HOUSE - DAY + +An OLD MAN -- Zacky -- stands on a wobbly stepladder, changing a lightbulb. Suddenly, the ladder gives way and he falls. Dead. + +EXT. AT THE GATE - NIGHT + +We RUSH IN on Don Price. + +CUT TO: + +INT. FRATERNITY HOUSE BATHROOM - DAY + +Twenty-year old Don Price falls face-forward on the tile, face mushed in the grout. Very much dead. + +EXT. AT THE GATE - NIGHT + +Don and Zacky both tremble with fear. The latter has tears in his eyes. + +ZACKY +I saw how I was gonna die. I was old, and I fell. + +DON PRICE +I wasn't old at all. + +The brothers suddenly bolt. Still standing next to the Old Woman, Edward smiles. + +EXT. AT THE OLD WOMAN'S DOOR - NIGHT + +Edward helps her back inside. He could leave now, but curiosity gets the better of him. + +EDWARD +I was thinking about death and all. About seeing how you're gonna die. + +The Old Woman turns to him slightly, still not facing him. + +EDWARD (CONT'D) +I mean, on one hand, if dying was all you thought about, it could kind of screw you up. But it could kind of help you, couldn't it? Because you'd know that everything else you can survive. + +The Old Woman smiles a little, a crooked grin of broken teeth. + +EDWARD (CONT'D) +I guess I'm saying, I'd like to know. + +The Old Woman turns leaning her face right in front of his. And on a silent count of one, two, three -- Edward looks into The Eye. + +This time we don't cut. Instead, we HOLD ON Edward as he witnesses his death. He stares transfixed, perplexed and amused. Whatever he sees, it's not as dire as the other boys. His future has something strange in store. + +EDWARD (CONT'D) +Huh. That's how I go? + +The Old Woman nods. Still a little overwhelmed, Edward turns and leaves. + +ADULT EDWARD (V.O.) +From that moment on, I no longer feared death. And for that, I was as good as immortal. + +As Edward leaves, the door swings SHUT on its own. + +MATCH CUT TO: + +INT./EXT. BLOOM HOUSE - (PRESENT) DAY + +The front door opens to reveal Will and Josephine on the porch with their bags. REVERSE to Will's mother Sandra (53), surprised and a little annoyed. + +SANDRA +How did you get here? + +WILL +We swam. The Atlantic, it's not that big really. + +SANDRA +Ruth McHibbon offered to pick you up at the airport. + +WILL +We rented a car. + +SANDRA +(simply) +You didn't need to do that. You just didn't. + +A beat. Starting over... + +WILL +Hi, Mom. + +He leans in and hugs her. She surrenders, squeezing her son tight. Will and his mother are cut from the same cloth -- strong-willed but practical. They've always been close. + +SANDRA +I'm so glad you're here. + +That hug finished, Sandra pushes past her son to her daughter-in-law. Seeing the size of her belly -- + +SANDRA +You shouldn't have flown. But... + +They hug. + +JOSEPHINE +It's good to see you. You look beautiful. + +It's not flattery. It's the truth. + +SANDRA +Thank you. I'll bet you need to -- + +JOSEPHINE +Yes. + +SANDRA +Down the hall on the right. The door sticks. You have to really pull it. + +Josephine squeezes past, a smile to her husband -- be nice. Will heads back to the rental car to retrieve luggage. Sandra follows him. + +Coming down the driveway, we get to see the house for the first time: an older suburban home, three bedrooms, big for the neighborhood, and nicely grown into the lot. KIDS are playing on the street. + +WILL +Is that Dr. Bennett's car? + +SANDRA +He's up with your father. + +Heading back to the house... + +WILL +How is he? + +SANDRA +He's impossible. He won't eat. And because he won't eat, he gets weaker. And because he's weaker, he doesn't want to eat. + +WILL +How much time does he have left? + +SANDRA +You don't talk about those things. Not yet. + +INT. KITCHEN - DAY + +Sandra is pouring iced tea for Will and Josephine. + +DR. JULIUS BENNETT (85) enters from the foyer, still winded from coming down the stairs. He was the town's first Black physician. He's still the town's best physician. + +DR. BENNETT +Will. + +WILL +Dr. Bennett. It's good to see you. +(they shake) +My wife, Josephine. + +DR. BENNETT +A pleasure. + +He judges her belly. + +DR. BENNETT (CONT'D) +You're seven months. + +JOSEPHINE +(impressed) +To the day. + +He leans close to her, whispering in her ear... + +DR. BENNETT +It's a boy. + +She smiles, surprised but not doubting. Will looks over -- what did he say? Josephine shakes her head. + +Back to the main subject... + +SANDRA +You don't think he looks any worse. + +DR. BENNETT +No. I would say he's the same. + +And in the silence that follows, a lot is said. It wasn't the upbeat reply Sandra was hoping for. + +WILL +Can I see him? + +DR. BENNETT +Absolutely. Be good for you to talk to him. + +A moment of awkwardness -- everyone here knows they haven't spoken in years. + +Sandra hands Will a squat can of Ensure from the case on the counter. + +SANDRA +Get him to drink one of these. He won't, but tell him he has to. + +INT. FOYER - DAY + +Coming out from the kitchen, Will slowly climbs the stairs. They CREAK with every step. + +The wall is filled with family photos, happier times. Most of the pictures are of Will, starting when he was an infant and ending at his wedding. As he climbs the stairs, we can see him growing up with every step. + +INT. UPSTAIRS HALLWAY - DAY + +A crack of sunlight spills around the half-open door at the end of the hallway. Will walks towards it, running a hand along the wallpaper. + +Almost at the door, he stops for a beat. Gets his breath. Then goes inside. + +INT. GUEST ROOM - DAY + +Edward Bloom, 61, lies asleep on the bed. Although he's not the vibrant man we've seen before, it's not as bad we feared. The illness has been quick, and left him largely intact. + +There are no I.V.'s, no monitors, nothing. + +Coming up to the bed -- + +WILL +Dad? + +Edward cracks open an eye, a beat before he focuses. He tries to say something, but no words come out. + +He looks over at a pitcher on the nightstand. Will pours him a glass of water, helping him hold it to his parched lips. + +Finished, Edward sets down the glass by himself. A very long, tense beat. Will almost speaks again to fill the silence. + +Finally... + +EDWARD +You -- +(he points) +-- are in for a surprise. + +WILL +Am I? + +EDWARD +Having a kid changes everything. I mean, there's the diapers and the burping and the midnight feedings... + +WILL +Did you do any of that? + +EDWARD +No, but I hear it's terrible. Then you spend years trying to corrupt and mislead this child, fill its head with nonsense and still it turns out perfectly fine. + +WILL +You think I'm up for it? + +EDWARD +You learned from the best. + +Will doesn't rise to the challenge. A beat, then he remembers the can of Ensure. Holds it up. Edward recoils. + +WILL +Just drink half the can. I'll tell her you drank the whole thing. Everyone wins. + +A beat, then Edward rolls his eyes. Fine. Will cracks open the can, finding a straw on the nightstand. + +EDWARD +People needn't worry so much. It's not my time yet. This isn't how I go. + +WILL +Really. + +EDWARD +Truly. I saw it in The Eye. + +WILL +The Old Lady by the swamp. + +EDWARD +She was a witch. + +WILL +No, she was old and probably senile. Maybe schizophrenic. + +EDWARD +I saw my death in that eye. And this is not how it happens. + +WILL +So how does it happen? + +EDWARD +Surprise ending. Wouldn't want to ruin it for you. + +Edward slurps down as much of the Ensure as he can stand, then pushes the can away. He swallows with difficulty. + +EDWARD (CONT'D) +There was this panhandler who used to stop me every morning when I came out of this coffee shop near the office. + +WILL +Okay. + +EDWARD +And every day I gave him a quarter. Every day. Then I got sick and was out for a couple of weeks. And when I went back there, you know what he said? + +WILL +What did he say? + +EDWARD +You owe me three-fifty. + +WILL +Really. + +EDWARD +True story. + +A beat. + +WILL +When did you ever work in an office? + +EDWARD +There's a lot you don't know about me. + +WILL +You're right. + +Edward gives a wry smile. He walked into that. + +EDWARD +Your mother was worried we wouldn't talk again. And look at us. We're talking fine. We're storytellers, both of us. I speak mine out, you write yours down. Same thing. + +Will won't commit to Edward's assessment. + +WILL +Dad, I'm hoping we can talk about some things while I'm here. + +EDWARD +You mean, while _I'm_ here. + +WILL +I'd just like to know the true versions of things. Events. Stories. You. + +Edward LAUGHS a little, which becomes a COUGH. The HACKING escalates until another drink of water gets it under control. It's not clear whether any of this was an act to keep from talking. + +EDWARD +Your mother hasn't been keeping up the pool. If you wanted to you could... + +WILL +I will. + +EDWARD +You know where the chemicals are? + +WILL +I used to do it when you were gone, remember? I used to do it a lot. + +He didn't mean for that to sound so pointed. Taking the half-empty Ensure, Will gets up to go. He's at the door when... + +EDWARD +I was never much for being at home, Will. It's too confining. And this, here. Being stuck in bed. Dying is the worst thing that ever happened to me. + +He smiles at his joke. + +WILL +I thought you weren't dying. + +EDWARD +I said this isn't how I go. The last part is much more unusual. Trust me on that. + +INT. UPSTAIRS HALLWAY - DAY + +Shutting the door behind himself, Will drinks the rest of the Ensure himself. Edward was right. It tastes horrible. + +Heading for the stairs, Will walks past an open door. As he leaves frame, we STAY BEHIND to look inside... + +INT. WILL'S BEDROOM - DAY [FLASHBACK] + +...where an eight-year old Will is propped up in bed, his face covered with chicken pox and pink calamine lotion. He's showing Edward how many bumps there are on his arm. + +YOUNG WILL +Dr. Bennett says I'm going to have to be home for a week. + +EDWARD +That's nothing. I once had to stay in bed for three years. + +YOUNG WILL +Did you have chicken pox? + +EDWARD +I wish. + +CUT TO: + +INT. TINY CHURCH - DAY + +Wearing a white shirt and tie, YOUNG EDWARD -- still about 10 -- sings "Down to the River My Lord" along with the CONGREGATION. His voice is high and thin, but he gives it his all. + +Suddenly, his voice CRACKS and DROPS a half-octave. And then another. His friends Wilbur Freeley and Ruthie look over, wondering what's wrong. Embarrassed, Edward just keeps SINGING, trying to follow along with the baritone part. + +He pulls at his collar. Then pulls again, his face getting red. Starting to panic, he loosens his tie. He's starting to undo the collar button when it POPS off by itself. Two more buttons fly off. One hits a CHUBBY WOMAN in the neck. + +ON HIS SHOES + +As we watch, Edward's pant cuffs rise inch by inch -- that's how fast he's growing. + +EDWARD (V.O.) +Truth is, no one quite knew what was wrong. Most times, a person grows up gradually. I found myself in a hurry. + +INT. YOUNG EDWARD'S BEDROOM - DAY + +Young Edward lies in bed, his limbs connected to various pulleys and levers to support his weight. He has a dozen encyclopedias around him, and another dozen on the floor. + +EDWARD (V.O.) +My muscles couldn't keep up with my bones, and my bones couldn't keep up with my body's ambition. So I spent the better part of three years confined to my bed, with the World Book Encyclopedia being my only means of exploration. I had made it all the way to the "G's," hoping to find an answer to my gigantificationism, when I uncovered an article about the common goldfish. + +INSERT: The encyclopedia article, complete with drawings. + +YOUNG EDWARD +(reading) +"Kept in a small bowl, the goldfish will remain small. With more space, the fish can grow double, triple, or quadruple its size." + +Young Edward thinks this through. + +EDWARD (V.O.) +It occurred to me then, that perhaps the reason for my growth was that I was intended for larger things. After all, a giant man can't have an ordinary-sized life. + +EXT. BASEBALL FIELD - DAY + +The CRACK of a bat announces the game-winning home run. The crowd CHEERS the swing, and especially the batter as he rounds the bases. + +Although we've seen him briefly before, this is our first real exposure to GROWN-UP EDWARD, who we'll follow from roughly the ages of 18 to 30. + +EDWARD (V.0.) +As soon as my bones had settled in their adult configuration, I set upon my plan to make a bigger place for myself in Ashton. + +EXT. SCHOOL FIELDS - DAY + +SINGLE SHOTS: Football hero Edward leads his team to victory. On the sidelines, a PRETTY GIRL admits the name of her secret love: + +GIRL +Edward Bloom! + +The other GIRLS SQUEAL in agreement. Don Price looks over, glowers. + +EXT. NEIGHBORHOOD - DAY + +SINGLE SHOT: A lawnmower ROARS along the grass. We LOOK UP to see who's pushing it, but it's not Edward. It's one of his teenage EMPLOYEES. + +Edward is back at the truck, which is painted to read, "Bloom Landscaping." He has workers on every lawn. + +He signs an autograph for an ADMIRING CUB SCOUT. + +INT. BASKETBALL COURT - DAY + +Edward takes an impossible shot at the buzzer from the other end of the court. Naturally, he makes it, winning the game. + +As the crowd goes wild for Edward, Don Price is the only teammate who doesn't mob him. + +EXT. TOWN - DAY + +Edward carries a dog out of a burning house. + +INT. SCIENCE FAIR - DAY + +Edward wins a blue ribbon for his invention, a machine labelled "Perpetual Motion." He and the JUDGE pose for a photograph. A FLASH. + +Pissed, Don Price throws his crappy lima bean plants in the trash. + +INT. HIGH SCHOOL STAGE - DAY + +A dashingly handsome Edward leads the CAST out for a curtain call. He's the star of the show. Off to the side, we see Don Price is the ass-end of a horse costume. + +Edward soaks in his applause, smiling and gracious. + +EXT. GRADUATION STAGE - DAY + +Edward accepts his diploma. The PRINCIPAL hugs him tight. + +EDWARD (V.O.) +I was the biggest thing Ashton had ever seen. Until one day, a stranger arrived. + +EXT. FARM - DAY + +As two FARMERS shake their heads, we REVERSE to a show a massive hole punched through the side of a barn. It's roughly the shape of man, but no human could be that large. + +EXT. SHEEP PEN - DAY + +Two fat ewes look up, a shadow falling across them. They BLEAT in panic as + +TWO OVERSIZED HANDS + +reach in and scoop them up. Their protests continue as they're carried away, one under each arm. We still haven't seen the full stranger. + +EXT. COURT HOUSE - DAY + +A MOB of about 50 have gathered, many of them with shotguns. Amid the crowd we see Don Price. + +SHARECROPPER +He ate an entire cornfield! + +LITTLE GIRL +He ate my dog! + +HOT-BLOODED SHOTGUN TOTER +If you ain't gonna stop him Mayor, we will! + +MAYOR +I won't have mob violence in this town. Now, has someone tried talking to him? + +SOME FARMER +You can't reason with 'im! + +SHEPHARD +He's a monster! + +Agreement from the crowd. And then... + +A VOICE (O.S.) +I'll do it. + +Everyone turns to see who said that. The crowd parts to reveal none other than Edward Bloom. Don Price glowers. + +EDWARD +I'll talk to him. See if I can get him to move on. + +MAYOR +Son, that creature could crush you without trying. + +EDWARD +Trust me, he'll have to try. + +EXT. HILL OUTSIDE ASHTON - DAY + +Edward climbs up the last bit of the steep hillside, reaching the mouth of a cave. Outside, buzzards squabble over the remains of the giant's feast: broken barrels, bones picked clean. + +In his most serious voice, Edward calls out: + +EDWARD +Hello! + +There's no answer. + +EDWARD (CONT'D) +My name is Edward Bloom! I want to talk to you! + +From deep in a cave, a thunderous voice: + +VOICE (O.S.) +GO AWAY! + +The giant's voice has such force, it blows Edward's hair back. + +EDWARD +I'm not going anywhere until you show yourself. + +A beat, then we hear a RUMBLE, like a train coming. Edward braces himself, fists ready for a fight, if that's what it's going to take. + +As the RUMBLE gets louder, the ground starts to shake. Even Edward starts to worry. Just how big is this guy? + +EDWARD (V.O.)(CONT'D) +Armed with the foreknowledge of my own death, I knew the giant couldn't kill me. All the same, I preferred to keep my bones unbroken. + +Edward picks up a stone, ready to play David to Goliath. + +Then suddenly, the giant bursts forth. Hunched over, he slams into a stunned Edward, knocking him halfway down the hill. + +KARL THE GIANT is bigger than any man you've ever seen. Not just tall, but massive. He's completely feral, with a beard to his elbow and skin scratched and blistered. What remains of his clothes are ragged and muddy. God knows what's living in his matted hair. + +Karl leans over Edward, blocking the sun. Edward throws his rock, but it just bounces off. The giant didn't even notice it. + +KARL +Why are you here? + +Edward ponders the best response, settling on... + +EDWARD +So you can eat me. The town decided to send a human sacrifice, and I volunteered. + +Karl's eyes narrow, confused. Edward stands up. + +EDWARD (CONT'D) +My arms are a little stringy, but there's some good eating on my legs. I mean, I'd be tempted to eat them myself. +(beat) +So I guess, just, if you could get it over with quick. Because I'm not much for pain, really. + +Edward closes his eyes, hands at his side, ready to be eaten. Karl just stares at him, not sure what to do. + +After a beat, Edward opens his eyes a tiny bit, just to see what the giant is doing. Relieved to see he's not licking his chops -- + +EDWARD (CONT'D) +Look, I can't go back. I'm a human sacrifice. If I go back, everyone will think I'm a coward. And I'd rather be dinner than a coward. + +Karl sits down with a BOOM, dejected. + +EDWARD (CONT'D) +Here, start with my hand. It'll be an appetizer. + +Reaching up, Edward shoves his hand into Karl's mouth. But the giant spits it back out. + +KARL +I don't want to eat you. I don't want to eat anybody. It's just I get so hungry. I'm too big. + +And that's the sad truth. Karl is less a monster than a freak -- a giant man, but in the end, just a man. + +Edward takes a seat beside him. + +EDWARD +Did you ever think maybe you're not too big? Maybe this town's just too small. I mean, look at it. + +Circling behind them, we look down at Ashton -- a tiny town in a tiny valley. + +EDWARD (CONT'D) +Hardly two stories in the whole place. Now I've heard in real cities, they've got buildings so tall you can't even see the tops of 'em. + +KARL +Really? + +EDWARD +Wouldn't lie to you. And they've got all-you-can-eat buffets. You can eat a lot, can't you? + +KARL +I can. + +EDWARD +So why are you wasting your time in a small town? You're a big man. You should be in the big city. + +Karl smiles, but then it fades. A certain sad suspicion -- + +KARL +You're just trying to get me to leave, aren't you? That's why they sent you here. + +EDWARD +What's your name, Giant? + +KARL +Karl. + +EDWARD +Mine's Edward. And truthfully, I do want you to leave, Karl. But I want to leave with you. +(closer) +You think this town is too small for you, well, it's too small for a man of my ambition. I can't see staying here a day longer. + +KARL +You don't like it? + +EDWARD +I love every square inch of it. But I can feel the edges closing in on me. A man's life can only grow to a certain size in a place like this. +(beat) +So what do you say? Join me? + +Karl thinks a moment. Then -- + +KARL +Okay. + +EDWARD +Okay. + +They shake on it. + +EDWARD (CONT'D) +Now first, we gotta get you ready for the city. + +EXT. RIVER - DAY + +IN A SINGLE SHOT, Karl cuts his hair with hedge clippers, while Edward cuts up a surplus army tent to make him a shirt. + +EXT. MAIN STREET OF ASHTON - DAY + +Spirits buoyed by the high school MARCHING BAND, all the good CITIZENS of Ashton are gathered to see off Edward and Karl. There's a few tears amid the familiar faces. + +MAYOR +(loudly, for the crowd) +Edward Bloom, first son of Ashton, it's with a heavy heart we see you go. But take with you this Key to the City, and know that any time you want to come back, all our doors are open to you. + +Edward ducks a bit so the Mayor can put the key around his neck. The crowd CHEERS. And with that, Edward and Karl start walking, waving as they go. + +Only DON PRICE, smoking on the corner, isn't sad to see Edward go. He crushes his cigarette under his heel. He wishes he could crush Edward. + +Many of the townfolk come onto the street to hug Edward or shake his hand. + +EDWARD (V.O.) +That afternoon as I left Ashton, everyone seemed to have advice. + +VARIOUS TOWNFOLK +Find yourself a nice girl! Don't trust anyone in Kentucky! Watch your pride, Edward Bloom! + +EDWARD (V.O.) +But there was one person whose counsel I held above all others. + +As the crowd parts, he finds himself face to face with + +THE OLD WOMAN. + +The ruckus slows and quiets, as if a strange spell has been cast. She motions for Edward to lean down, so she can whisper something to him. Although we're VERY CLOSE, we can't hear her voice. + +EDWARD (V.O.) (CONT'D) +She said that the biggest fish in the river gets that way by never being caught. + +The advice only succeeds in confusing Edward. + +EDWARD (CONT'D) +(to the Old Woman) +Okay. Thanks. + +Edward and Karl keep walking. The Old Woman shuffles off, somehow knowing her advice will go unheeded. + +KARL +What did she say? + +EDWARD +Beats me. + +EXT. ROAD - DAY + +We TILT UP from the road to reveal Edward and Karl walking out of Ashton. Each wears a backpack with all his earthly possessions. + +EDWARD (V.O.) +There were two roads out of Ashton, a new one which was paved, and an older one that wasn't. People didn't use the old road anymore, and it had developed the reputation of being haunted. + +Edward and Karl come to a bend, where the paved road veers left and an overgrown dirt road runs straight. The old road is blocked with signs and warnings of danger. + +EDWARD (V.O.) (CONT'D) +Since I had no intention of ever returning to Ashton, this seemed as good a time as any to find out what lay down that old road. + +Karl looks at the dirt road, wary. + +KARL +You know anyone's who's taken it? + +EDWARD +That poet, Norther Winslow did. He was going to Paris, France. He must have liked it, because no one ever heard from him again. +(beat) +Tell you what. You take the other way and I'll cut through here. Meet you on the far side. + +A little paranoid... + +KARL +You're not trying to run away? + +EDWARD +Just to be sure, you can take my pack. + +Karl perks up, even though it means more for him to carry. + +EXT. DIRT ROAD - DAY + +The road is overgrown, but not altogether creepy. The sun is still shining, and the birds still CHIRPING. + +Spinning the Key to the City, Edward WHISTLES, because it's a day meant for whistling. + +EXT. FURTHER ALONG - ROUGH PATH + +The road has narrowed to a rough path. Spikes of sunlight break through the thick canopy, catching particles in the air. Still, Edward WHISTLES. + +Coming around a bend, his PITCH DROPS as he sees thick, thorny vines growing across the path. He stops. For the first time, he realizes the birds have stopped singing. The forest is dead quiet. + +He looks back the way he came. It's tempting to go back. It would be easier to go back. But Edward presses on. + +He carefully steps through the thorns. His trouser legs catch on the barbs. We can hear the fabric TEAR. + +FURTHER ALONG + +A scratched and sweaty Edward waves off various STINGING BUGS flying at him, finally whipping off his hat to swat at them. Just then a CAWING crow swoops down and grabs the hat right out of his hands. + +EDWARD +You stupid sonofa... + +He stops his swearing, but grabs a rock and throws it. The stone ricochets off a tree and into a BEE'S NEST. The swarm roars out. + +Edward high-tails it, each step still precarious. + +EXT. THE DARK FOREST - DAY [LATER] + +Edward is bruised, battered and bee-stung. + +A half-broken sign lies in the road. Edward picks it up. Reads it: + +WARNING! + +JUMPING SPIDERS! + +Sure enough, up ahead he sees the path is overgrown with thick cobwebs, heavy from the rain. + +EDWARD (V.O.) +There comes a point where a reasonable man will swallow his pride and admit he's made a terrible mistake. The truth is, I was never a reasonable man. + +Edward tosses the sign and forges ahead, into the spiderwebs. + +EDWARD (CONT'D) +And what I recalled of Sunday School was that the more difficult something became, the more rewarding it was in the end. + +EXT. CLEARING / THE ROAD - DAY + +Edward emerges from the forest, brushing the last cobwebs off and shaking the spiders from his shirt. One is stuck in his sleeve, and he has to dance to get it out. Even then, he still keeps twitching, convinced another one is left behind. + +At his feet, the gravel road has returned, smooth and dusty and comforting. + +Ahead lies a tiny one-street town -- smaller even than Ashton -- with powerlines emerging from the woods to feed it. Dangling from the line above he sees two dozen pairs of shoes, their laces tied together. + +He passes a sign that reads "Welcome To Spectre!" + +EXT. THE TOWN OF SPECTRE - DAY + +It's a main street with stores on each side: Cole's Pharmacy, Talbot's Five and Dime, Al's Country Store. Everything is old, but this isn't a ghost town. In fact, there's a group of about 20 CITIZENS spilling out to see Edward approach. Most are smiling. There are even a few tears of joy. + +What's more, all of these people are barefoot. + +MAN'S VOICE +Friend! + +A forty-year old man named BEAMEN comes out of the seed store to greet Edward. Friendly but a little drunk, he's the closest thing the town has to a mayor. He's carrying a clipboard. + +BEAMEN +Welcome to ya. What's your name? + +EDWARD +Edward Bloom. + +Beamen checks the clipboard. Not finding the name, he flips forward a few pages. Still looking... + +BEAMEN +Bloom like a flower? + +EDWARD +Yes. + +BEAMEN +Oh. Here! Right here. Edward Bloom. We weren't expecting you yet. + +Still confused... + +EDWARD +You were expecting me? + +BEAMEN +Not yet. + +A helpful woman named MILDRED chimes in: + +MILDRED +You must have taken a shortcut. + +EDWARD +I did. It nearly killed me. + +BEAMEN +Mmm-hmm. Life'll do that to you. And truthfully, the long way _is_ easier, but it's longer. + +MILDRED +Much longer. + +BEAMEN +And you're here now, and that's what matters. + +Beamen's daughter JENNY (8) hides behind her father, peering around to look at the handsome stranger. + +EDWARD +What is this place? + +BEAMEN +The town of Spectre. Best kept secret in Alabama. Says here you're from Ashton, right? Last person we had from Ashton was Norther Winslow. + +EDWARD +The poet? What ever happened to him? + +BEAMEN +He's still here. Let me buy you a drink. I'll tell you all about it. Hell, I'll have him tell you. + +EDWARD +No. I've gotta meet somebody. I'm already running late. + +He didn't mean it as a joke, but for some reason, everyone's laughing. + +BEAMEN +Son, I already told you. You're early. + +INT. BEAMEN'S HOUSE - DAY + +Sitting at the kitchen table, Edward takes a second slice of apple pie. He and Beamen are joined by NORTHER WINSLOW (30), who fancies himself a cultured artist, though he's never left the state. + +BEAMEN +Now tell me if that isn't the best pie you ever ate. + +EDWARD +It truly is. + +UNDER THE TABLE + +Young Jenny is stealthily untying the laces on Edward's shoes. + +NORTHER WINSLOW +Everything here tastes better. Even the water is sweet. Never gets too hot, too cold, too humid. At night the wind goes through the trees and you'd swear there was a whole symphony out there, playing just for you. + +Suddenly, Jenny YANKS OFF Edward's shoes. She races for the door. + +EDWARD +Hey! + +He chases after her. + +EXT. TOWN / MAIN STREET - DAY + +As she runs, Jenny ties Edward's laces together. Reaching the edge of town, she tosses the shoes up and around the power line -- a perfect throw. There's no way he's ever getting them down. + +The gathered citizens of Spectre CHEER for Edward, who is confused and overwhelmed. The women hug him. Men shake his hand. + +Still focused on his shoes... + +EDWARD +Wait! I need those! + +NORTHER WINSLOW +There is no softer ground than town. + +MILDRED +That rhymes! + +BEAMEN +He is our poet laureate. + +The townsfolk continue to congratulate Edward... + +EDWARD (V.O.) +Sometimes in a dream, you'll visit places that seem instantly familiar, filled with friends you've never met. + +EXT. UNDER A TREE - DUSK + +Edward sits with Norther Winslow. The fireflies are out. Thousands of them. + +EDWARD (V.O.) +A man might travel his entire life and never find a place so inviting. My journey had scarcely begun, and I had arrived. + +Norther hands him his noteboook. + +NORTHER WINSLOW +I've been working on this poem for 12 years. + +EDWARD +Really. + +NORTHER WINSLOW +There's a lot of expectation. I don't want to disappoint my fans. + +A beat. + +EDWARD +It's only three lines long. + +Norther grabs his notebook back. + +NORTHER WINSLOW +This is why you don't show work in progress. + +EDWARD +Norther, do you ever regret not making it to Paris? + +NORTHER WINSLOW +I can't imagine any place better than here. + +EDWARD +You're a poet. You oughta be able to. And maybe if you'd seen more, you could. + +Norther doesn't answer. Just goes back to his notebook. + +EXT. BY THE RIVER - NIGHT + +By the light of the full moon, Edward soaks his feet in the water, trying to make sense of it all. The Key to the City dangles around his neck. + +He stares at himself in the reflection. He smiles. + +It's then that a WOMAN emerges at the far side of the river. No telling where she came from -- she must have been swimming underwater. We never see her face. + +She stands in the river with her bare back to Edward, squeezing the water out of her golden hair, oblivious to his presence. Edward is breathless. It's the first woman he's seen in her natural state, and he doesn't dare move lest he frighten her away. + +Then he sees the snake. + +It's a cottonmouth, has to be. It leaves a break in the water, its small reptilian head aiming for her flesh. There's no decision to be made. On pure instinct, Edward dives in. He swims as hard as can, + +GRABBING THE SNAKE + +just as it's about to strike. + +The woman dives back underwater, understandably terrified that a man is coming at her. + +EDWARD +No, it's okay! I got it. I got the snake. + +As the splashing subsides, Edward looks at what he holds in his hands. Which isn't a snake at all, but rather a common stick. And a non-threatening one at that. + +While Edward ponders his mistake, he looks around to discover that the Girl in the River is gone. He never even saw her face. + +EDWARD (CONT'D) +Wait! I'm sorry. Hello?! + +Edward keeps expecting her to surface, somewhere, but she never does. He stands alone in the river, wondering what tricks his eyes are playing on him. + +EXT. BY THE RIVER - NIGHT - CONTINUOUS + +A GIRL'S VOICE (O.S.) +There's leeches in there! + +Edward looks to the bank, where young Jenny Hill is watching him. + +EDWARD +Did you see that woman? + +JENNY +What did she look like? + +EDWARD +Well, she...uh... + +JENNY +Was she nekkid? + +Embarrassed to admit it... + +EDWARD +Yeah. + +JENNY +(matter-of-fact) +It's not a woman, it's a fish. No one ever catches her. + +Given the day he's had so far, Edward isn't inclined to follow up on the issue. He starts to wade back to the bank. + +JENNY (CONT'D) +Fish looks diff'rent to diff'rent people. My daddy said it looked like the coon dog he had when he was kid, back from the dead. + +Edward climbs up onto the shore, completely drenched. He pulls up his pant legs to reveal three shiny leeches clinging to his skin. + +EDWARD +Shoot. + +He starts to work pulling them off. + +EXT. PATH BACK TO TOWN - NIGHT + +Edward and Jenny walk back. + +JENNY +How old are you? + +EDWARD +Eighteen. + +JENNY +I'm eight. That means when I'm eighteen, you'll be 28. And when I'm 28, you'll only be 38. + +EDWARD +(a little wary) +You're pretty good at arithmetic. + +JENNY +And when I'm 38, you'll be 48. And that's not much difference at all. + +Eager to get off this subject... + +EDWARD +Sure is a lot now, though, huh? + +EXT. MAIN STREET - NIGHT + +As Edward and Jenny approach Main Street, they find "downtown" has been transformed. Lanterns and streamers hang on cables across the street, and a small stage has been built at one end to hold FIDDLERS. + +The whole town is there in celebration of its newest citizen, Edward Bloom. Before he can protest, two WOMEN have grabbed him by the arms, pulling him in to dance with them. + +The resulting dance number seems both choreographed and complete chaos. From FARMER to BAKER'S WIFE, everyone wants to dance with Edward, who finds himself tossed around like a stick caught in a whirlpool. Still, he's having a blast. + +Jenny grabs both his hands, and they spin wildly. + +Beamen plucks his LAUGHING daughter away to dance with her. Then Mildred cuts in to dance with Edward. It's hard to hear over the MUSIC. + +MILDRED +Jenny thinks you're quite a catch. We all do. + +EDWARD +(not hearing) +What? + +MILDRED +I said you're quite a catch! + +Edward stops dancing. A beat, then he heads for the edge of the crowd. Beamen is there, with Jenny on his shoulders. + +EDWARD +I have to leave. Tonight. + +BEAMEN +Why? + +EDWARD +This town is everything a man could ask for. And if I were to end up here, I'd consider myself lucky. But the fact is, I'm not ready to end up anywhere. + +BEAMEN +No one's ever left. + +JENNY +How are you gonna make it without your shoes? + +EDWARD +I suspect it will hurt a lot. + +And with that, Edward walks down Main Street. The townspeople stop dancing, disbelieving, some shaking their heads. + +Poor Edward Bloom's gone crazy. + +BEAMEN +(calling after him) +You won't find a better place! + +EDWARD +I don't expect to. + +Jenny runs to him. She'd tackle him if she could. + +JENNY +Promise me you'll come back. + +EDWARD +I promise. Someday. When I'm really supposed to. + +It's not good enough, but it will have to do. Edward keeps walking. + +EXT. THE DARK FOREST - NIGHT + +VARIOUS SHOTS: Edward negotiates the thorns in his bare feet. It's horrible. Almost unendurable. + +And then it gets worse. + +The trees ahead are moving. At first, it just seems to be the wind blowing the branches, but as we hear the wood CRACKING and GROANING, there's no mistaking it: they're trying to block him. + +Snake-like WHITE ROOTS shoot out of the ground, grabbing for his ankles. He leaps up, kicking off one tree trunk to grab another one's branches. He swings off, lands and rolls. Now all the trees are moving to block him, their dark shapes towering over him in the flashes of LIGHTNING. + +EDWARD (V.O.) +As difficult as it was to reach Spectre, I was fated to get there eventually. After all, no man can avoid reaching the end of his life. + +As he ducks under branches, the chain holding the Key to the City gets caught. He's almost strangled, but the chain finally breaks. The silver key disappears into the mud. + +Scrambling forward, he looks for a way out. But the trees have encircled him, their spiky crowns bending down to crush him. + +He SCREAMS up at the night, until his breath is gone. + +EDWARD (V.O.) (CONT'D) +And then I realized, this wasn't the end of my life. + +With a sudden calm... + +EDWARD (CONT'D) +(aloud) +This isn't how I die. + +Another lightning FLASH, and suddenly the trees are back where they've always been. Edward is lying shoeless and torn in a muddy puddle, staring up at the rain. And LAUGHING. + +EXT. THE ROAD - DAY + +His bare foot steps onto asphalt. + +A DEEP VOICE +Friend! + +Edward turns to see + +KARL + +to his right, coming down the larger, paved road. + +KARL +What happened to your shoes? + +Edward looks down at his muddy, bloody feet. + +EDWARD +They got ahead of me. + +With that, the men start walking down the larger road. + +CROSSFADE TO: + +INT. DINING ROOM - NIGHT + +Edward and Will sit at opposite ends of the table, with Sandra and Josephine in the middle. Although Edward has a small plate of food in front of him, he hasn't touched it. He's exhausted from the trip downstairs, but determined to maintain the family dinner ritual. + +The other three eat awkwardly, each CLINK and SCRAPE of a knife or fork resonating. Will finally breaks the silence. + +WILL +I don't know if you've seen it, but Josephine has some photos in the most recent Newsweek. + +SANDRA +Really! That's wonderful. + +JOSEPHINE +I spent a week in Morocco for the story. It was incredible. + +SANDRA +We'll have to pick up a copy. + +A beat. As Will scoops out another serving of potatoes, Edward suddenly speaks: + +EDWARD +I don't know if you're aware of this, Josephine, but African parrots, in their native home of the Congo -- they speak only French. + +All three stop to listen. + +JOSEPHINE +(amused) +Really. + +EDWARD +You're lucky to get four words out of them in English. But if you were to walk through the jungle, you'd hear them speaking the most elaborate French. Those parrots talk about everything: politics, movies, fashion -- everything but religion. + +Taking the bait... + +WILL +Why not religion, Dad? + +EDWARD +It's rude to talk about religion. You never know who you're going to offend. + +A beat. + +WILL +Josephine actually went to the Congo last year. + +EDWARD +Oh, so you know. + +INT. GROCERY STORE - NIGHT + +Will shakes a shopping cart free from the pile-up while his mother checks her list. + +AT THE PRODUCE SECTION + +Sandra starts to bag string beans. + +WILL +Mom, would you say you understand Dad? + +SANDRA +Of course. + +WILL +What I mean is, do you really know what's going on in his head? + +SANDRA +Yes. + +WILL +How is that possible? I mean, you try to ask him a question and suddenly it's another one of his stories. +(decidedly) +You can't honestly say you know him. + +SANDRA +Yes, Will, I do. And don't presume things you don't know. + +She's more amused than annoyed, but Will is entering dangerous territory. + +SANDRA (CONT'D) +Would you say you understand Josephine? + +WILL +Yes. But that's a different... + +SANDRA +No it's not. It's exactly the same. Your father and I met, we dated, and we married -- we chose each other -- because we understood each other on some fundamental level. Just the same as you two. + +She moves on to the carrots. + +WILL +Josephine and I have a lot in common. + +SANDRA +Yes, you both think William Bloom is a very smart man. +(beat) +The problem is, you only see me as your mother, and not as someone's wife. And I've been his wife longer than I've been your mother. You can't discount that. + +WILL +True. But I've known him my whole life, and I don't feel like I know him at all. Or ever will. + +With a look, Sandra acknowledges the stakes. + +SANDRA +I know it's not easy. Just remember, he didn't choose to be your father and you didn't choose to be his son. You just ended up together. You could pick numbers out of a dark bag and it'd be just the same. If you ask me, it's a wonder parents and children can stand each other at all. + +WILL +But I understand you, Mom. I always have. + +SANDRA +Well, clearly you don't. But I'm not the mystery you're trying to solve right now. + +INT. AT THE CHECKOUT - NIGHT + +Reaching the CASHIER, Sandra hands over her coupons. Will is approaching with a Newsweek magazine. + +Two checkstands over, an ATTRACTIVE BLONDE WOMAN in her 50's is getting her change. Though she's Sandra's generation, she carries herself like a much younger woman, with blue jeans and sneakers. + +She accidentally makes eye contact with Will as he passes. We HOLD ON the woman, who tracks Will as he reaches Sandra. It's hard to read her reaction: does she recognize him, or just find him attractive? + +Will notices the gaze. The woman turns away. + +Will racks his brain -- does he know this woman? + +SANDRA +Before I forget, your father has papers in the basement I'd like you to go through. I wouldn't know what's important. + +WILL +(distracted) +Mom, do you know who that is? Blonde hair. + +Sandra looks. After a beat, the Blonde Woman turns again, semi-casually. Noticing that both Will and Sandra are looking, she smiles a little before taking her cart to leave. + +SANDRA +(no idea) +Was she one of your teachers? + +WILL +No. But it's weird. She seemed to recognize me. + +SANDRA +(to the cashier) +Do you know who that is? + +The Cashier turns to look. He can only get a profile as the woman leaves. + +CASHIER +Never seen her before. Pretty, though. + +INT. GUEST BEDROOM - NIGHT + +A portable fan quietly WHIRRS in the corner. Turned low, the RADIO on the nightstand is playing a call-in AM sports show, just a wash of background chatter. Edward lies asleep on his back. + +At the window, Josephine quietly lowers the shade. She reaches over Edward to switch off the radio. He stirs from the silence -- he wasn't fully asleep -- and sees Josephine stretched over him. + +EDWARD +(playfully lecherous) +Hello. + +She smiles. + +JOSEPHINE +Hi. How are you feeling? + +EDWARD +I was dreaming. + +JOSEPHINE +What were you dreaming about? + +He tries to recollect, but it's already gone. Josephine motions, is it okay for her to sit on the bed? He nods. + +EDWARD +I don't usually remember unless they're especially portentous. You know what that word means, portentous? + +She shakes her head. + +EDWARD (CONT'D) +Means when you dream about something that's going to happen. +(beat, gathering) +Like one night, I had a dream where this crow came and told me, "Your Aunt is going to die." I was so scared I woke up my parents. They told me it was just a dream, to go back to bed. But the next morning, my Aunt Stacy was dead. + +JOSEPHINE +That's terrible. + +EDWARD +Terrible for her, but think about me, young boy with that kind of power. Wasn't three weeks later that the crow came back to me in a dream and said, "Your Grampa is going to die." Well, I ran right back to my parents. My father said, no, Gramps is fine, but I could see there was trepidation. And true enough, that next morning my Grampa was dead. + +He sits up a bit in bed, his strength returning. + +EDWARD (CONT'D) +For the next couple weeks, I didn't have another dream. Until one night the crow came back and said, "Your Daddy is going to die." +(beat) +Well, I didn't know what to do. But finally I told my father. And he said not to worry, but I could tell he was rattled. That next day, he wasn't himself, always looking around, waiting for something to drop on his head. Because the crow didn't tell how it was going to happen, just those words: your Daddy is going to die. Well, he went into town early and was gone for a long time. And when he finally came back, he looked terrible, like he was waiting for the axe to fall all day. He said to my mother, "Good God. I just had the worst day of my life." +(beat) +"You think _you've_ had a bad day," she said. "This morning the milkman dropped dead on the porch!" + +Josephine smiles, a half-laugh, which gets him smiling too. + +A long beat. Then, deadpan... + +EDWARD (CONT'D) +Because see, my mother was banging the milkman. + +JOSEPHINE +No, I understand. + +EDWARD +He was slipping her a little extra cream. + +She nods, a bit more of a laugh. + +EDWARD (CONT'D) +He was filling her basket. He was making deliveries around back. + +As Edward continues, she can't help but laugh harder, especially as the metaphors get more vulgar. + +EDWARD (CONT'D) +He was buttering her rolls. Pumping her churn. Splashing milk in her box. + +JOSEPHINE +Stop. + +EDWARD +They were squeezing the cheese. Clanking the bottles. Licking the popsicle. + +She's starting to cry from laughing. + +EDWARD (CONT'D) +Cracking the eggs and making an omelet. + +With that, he stops. She regains her composure. + +EDWARD (CONT'D) +Spooning the sherbet. + +JOSEPHINE +(interrupting) +Can I take your picture? + +EDWARD +You don't need a picture. Just look up handsome in the dictionary. + +JOSEPHINE +Please? + +He rolls his eyes, why not. + +Josephine leaves, heading down the hall to get her camera. We STAY WITH Edward in bed. + +JOSEPHINE (O.S.) (CONT'D) +I have photos from the wedding to show you. There's a great one of you and my father. I had an extra print made. + +Edward grimaces, a flash of pain. Around others, he's hiding how much it hurts, but alone we can see how bad it is. + +He controls his breathing, trying to push through it. + +JOSEPHINE (O.S.) (CONT'D) +I want to see pictures of your wedding. I've never seen any. + +She returns with her camera. Edward smiles, doing a good job masking the pain. + +EDWARD +That's because we didn't have a wedding. Your mother-in-law was never supposed to marry me. She was engaged to somebody else. + +JOSEPHINE +(loading film) +I never knew. + +EDWARD +Will never told you that? +(she shakes her head) +Probably just as well. He would have told it wrong anyway. All the facts and none of the flavor. + +JOSEPHINE +Oh, so this is a tall tale? + +EDWARD +Well, it's not a short one. + +A devilish smile. Pushing past Edward, we settle on the whirling fan. + +MATCH CUT TO: + +A SPINNING PINWHEEL + +held by a LITTLE BOY. He's slumped over his FATHER's shoulder, being carried towards a big-top tent. We are... + +EXT. OLYMPIA CIRCUS - NIGHT + +...where the second-rate carnival is parked for the moment in an Alabama field. To the left, we spot Edward, 20-ish, halfway through a bag of peanuts. He's still carrying the backpack we saw earlier, and scratched up from his trip through Spectre. + +EDWARD (V.O.) +I had just left Ashton, and was on my way to discover my destiny. Not knowing what that would be exactly, I explored every opportunity that presented itself. + +Joining the crowd, he heads into the big-top. + +INT. BIG TOP - NIGHT + +A troupe of STILT-WALKING FIREBREATHERS finishes their act to tremendous APPLAUSE. + +As the performers clear away, the circus' owner-and-ringmaster AMOS CALLOWAY (50) approaches the stands. He may only be four feet tall, but Amos has a titanic presence. + +AMOS +Ladies and Gentlemen, you may think you've seen the _unusual_. You may think you've seen the _bizarre_. But I've travelled to the five corners of the world, and let me tell you, I've never seen anything like this. + +From behind Amos, CARNIES start rolling a massive ball towards the crowd. + +AMOS (CONT'D) +When I found this man, he was picking oranges in Florida. His fellow workers called him El Penumbra -- The Shadow -- because when you were working beside him, he blocked out the daylight. He could take a whole tree in his hands and shake off the fruit. I had to pay his crew boss $10,000 just so I could take him with me. + +Amos comes up to a MIDDLE-AGED WOMAN in the first row, a quieter moment. + +AMOS (CONT'D) +Not to alarm you, Ma'am. But if this man wanted to, he could crush your head between his toes. +(she trembles) +But he won't. +(a long beat) +He's not going to hurt her, folks, because he's our own Gentle Giant. Ladies and Gentlemen, I give you Colossus! + +The carnies back away from the ball as a deep DRUM ROLL begins. A moment, then the ball starts to bulge from inside. + +A foot suddenly bursts out from within. GASPS from the crowd. That foot is massive. In the stands, Edward looks closer. Intrigued. + +As the drum beat intensifies, a second foot breaks out. Followed by hands. Shoulders. Finally, the head. This is COLOSSUS. + +From a very LOW ANGLE, we look up to see just how massive he is. He seems to fill the Heavens. With his shaved head and giant club, he seems more ogre than man. + +In the bandstands, a YOUNG BOY's jaw drops in awe. Colossus walks down the row, letting the crowd get a better look at him. Some reach out to touch him, disbelieving. A tight spotlight follows him, revealing faces in the crowd. + +Colossus passes Edward, who seems unimpressed. He leans with the spotlight, WHISTLING to get the big man's attention. + +He points to the edge of the stands, where his friend is sitting on the dirt -- + +KARL THE GIANT + +stands up, so big the spotlight has to widen just to hold him. He's a good foot taller than Colossus. There's a GASP from the crowd, along with nervous anticipation -- what will happen next? + +ANGLE ON Amos, stunned, megaphone dangling. + +ANGLE ON Colossus, realizing the gig is up. With a resigned shrug, he rests his club on his shoulder and walks away into the shadows. + +CUT TO: + +INT. BIG-TOP - NIGHT / LATER + +As the stands empty, Edward and Karl talk to Amos. + +AMOS +What's his name? Does he talk? It's not important. + +KARL +Karl. + +AMOS +Tell me Karl, have you ever heard of the term "involuntary servitude?" + +Karl shakes his head. + +AMOS (CONT'D) +"Unconscionable contract?" + +Nope. + +AMOS (CONT'D) +Great, great. That's fantastic. + +EDWARD (V.O.) +It was on that night Karl met his destiny. And I met mine. Almost. + +INT. BIG TOP - NIGHT - CONTINUOUS + +As Amos pulls Karl aside to give him the hard sell, Edward notices a BEAUTIFUL YOUNG WOMAN (16) leaving with her family. She's wearing a blue dress and hat. For no good reason, she looks back at Edward. + +The two make eye contact. And as they do, all motion FREEZES. + +A fiery baton remains mid-twirl, flames locked in place. A spilled box of popcorn hangs in mid-air, each kernel like a snowflake. Even the elephant is mid-poop. + +Only Edward is free to move, winding his way between the frozen bodies, ducking underneath arms to get closer and closer to this woman. + +EDWARD (V.O.)(CONT'D) +They say when you meet the love of your life, time stops. And that's true. What they don't tell you, is that once time starts again, it moves extra fast to catch up. + +Suddenly, everything RUSHES. The crowd becomes a blur, and the young woman is lost in its wake. Now it's Edward who's frozen, helpless in time. + +EXT. DIRT PARKING LOT - NIGHT + +Edward checks in windows as cars pull out, searching for his fated love. Not finding her, he becomes more frantic, running down the rows. + +CROSSFADE TO: + +THE EMPTY LOT + +Colossus is thumbing for a ride. The last pickup truck stops and lets him climb in back. + +As the truck pulls out, it passes a dejected Edward. He'll never find that girl, the love of his life. + +INT. BIG-TOP - NIGHT + +Amos leans over so Karl can sign a contract on his back. He spots Edward walking back into the tent. + +AMOS +Hey kid! Your friend just made himself a star. + +EDWARD +That's great. + +Amos hands off the contract to a CLOWN. + +AMOS +(introducing) +My attorney, Mr. Soggybottom. + +EDWARD +Good to meet you. + +Mr. Soggybottom HONKS his horn, then waddles off. + +AMOS +What's the matter with you, kid? I haven't seen a customer so depressed since the elephant sat on that farmer's wife. +(beat) +Get it? "Depressed?" + +Karl chuckles. + +AMOS (CONT'D) +See! The big guy likes it. + +EDWARD +I just saw the woman I'm going to marry, I know it. But then I lost her. + +AMOS +Tough break. Most men have to get married before they lose their wives. + +EDWARD +(with absolute conviction) +I'm going to spend the rest of my life looking for her. That or die alone. + +AMOS +Jesus, kid. +(realizing) +Let me guess. Real pretty, blonde hair, blue hat? + +EDWARD +Yes! + +AMOS +I know her uncle. Friends of the family. + +EDWARD +Who is she? Where does she live? + +AMOS +Kid. Don't waste your time. She's out of your league. + +As Amos starts to walk away, Edward hurries to catch up with him. Karl follows as well. + +EDWARD +What do you mean? You don't even know me. + +AMOS +Sure I do. You were hot shit back in Hickville, but here in the real world, you got squat. You don't have a plan. You don't have a job. You don't have anything but the clothes on your back. + +EDWARD +I've got a whole backpack _full_ of clothes! + +He points to the bleachers, where no backpack is to be found. + +EDWARD (CONT'D) +(realizing) +Someone stole my backpack. + +AMOS +Kid, you were a big fish in a small pond. This here is the ocean, and you're drowning. Take my advice and go back to Puddleville. You'll be happy there. + +Getting in front of Amos, Edward stops him. + +EDWARD +Wait. You said I don't have a plan. I do. I'm going to find that girl and marry her and spend the rest of my life with her. + +Amos smiles, amused. + +EDWARD (CONT'D) +I don't have a job, but I would have a job if you gave me one. And I may not have much, but I have more determination than any man you're ever going to meet. + +AMOS +Sorry, kid. I don't do charity. + +EDWARD +I'll work night and day, and you won't have to pay me. You just have to tell me who she is. + +Amos takes a long look at him. Ultimately, there's no way he can say no. He shrugs. What the hell. + +AMOS +Every month you work for me, I'll tell you one thing about her. That's my final offer. + +Edward shakes Amos's hand before he can retract the offer. We move into a MONTAGE: + +INT. BIG TOP CENTER RING - NIGHT + +CLOSE ON Edward, smiling nervously. His head is tilted to the side, and as we PULL BACK, we see why: he's holding it in a MASSIVE LION's open mouth. The beast's sharp teeth are just poking his skin. If the lion so much as flinches, Edward is dead. + +The CROWD applauds, which makes the lion antsy. Which makes Edward antsier. + +EDWARD (V.O.) +From that moment on, I did everything Mr. Calloway asked, and a lot of things he didn't. I'd go three days without stopping to eat, and four days without sleeping. + +EXT. THE HYDRA - DAY + +His eyes droopy from lack of sleep, Edward mans the whirling amusement park ride. + +EDWARD (V.O.) +The only thing that kept me going was the promise of meeting the girl who would be my wife. + +Nodding off, Edward falls backward, into the path of the spinning arms. One of the Hydra cars hits him square in the gut, throwing him up and away, sailing 200 feet through the air. + +EXT. FIELD - DAY + +Edward chases a costumed pig, tripping over tent cords, falling in the mud. + +His hunt leads him through the back of a tent, where he's unwittingly stepped in front of a line of motorized birds. To the left, CUSTOMERS are shooting with rifles. He dodges four SHOTS that knock down the birds around him. + +He catches his breath, lucky. + +Then a half-blind OLD WOMAN pulls her trigger, hitting him in the shoulder. + +EXT. BEHIND A TENT - DAY + +Karl the Giant bandages Edward's arm as well as he can. Amos is walking past. + +EDWARD +Mr. Calloway! It's been a month today. + +Amos stops, looks at the young man. Finally... + +AMOS +This girl, the love of your life. Her favorite flower is daffodils. + +He walks away. We PUSH IN on Edward, enraptured by the concept. + +EDWARD +Daffodils. +(to Karl) +Daffodils! + +INT. STABLES - DAY + +Edward shovels shit in the nastiest stables you've ever seen. But all he can think about is... + +EDWARD +(to himself) +Daffodils! + +The wonder of it. He goes back to shoveling, a smile on his face. + +EDWARD (V.O.)(CONT'D) +True to his word, every month Amos would tell me something new about the woman of my dreams. + +INT. A DARK PLACE - NIGHT + +CLOSE ON Edward, lost in quiet reverie, pondering his latest bit of information. + +EDWARD +College! She's going to college! + +A sudden EXPLOSION as Edward is shot... + +INT. BIG TOP - NIGHT [CONTINUOUS] + +...out of a giant cannon. + +INT. STABLES - NIGHT + +Under a full moon, Edward feeds the animals. + +EDWARD +(to himself) +Music! She likes music. I like music too! + +EDWARD (V.O.) +Over the months, I learned a lot about the woman I was going to marry, but not her name, and not where to find her. That time had come. I couldn't wait any longer. + +EXT. AMOS CALLOWAY'S TRAILER - NIGHT + +Under a full moon, Edward walks up to the battered camper, and is about to knock when he notices it's rocking. A lot. Not just that, there's MOANING coming from inside. + +But Edward KNOCKS anyway. + +EDWARD +Mr. Calloway! It's Edward Bloom. I need to talk to you. + +Suddenly, the rocking and moaning stop. A beat, then the door handle begins to RATTLE. It seems to be stuck. + +Edward turns the knob. + +Suddenly, the door BURSTS OPEN. Edward is knocked down by a massive black dog, biggest you've ever seen. It has green glowing eyes and a lick of fire for a tongue. + +Edward wrestles with the beast, its mouth snapping at his throat. Blocking with an arm, Edward tries to push himself free, but the creature's hands -- it has hands instead of paws -- hold on tight. + +Entwined, they roll across the dirt. The other nearby CARNIES scatter for cover. Mr. Soggybottom pulls a revolver out of his clown suit. Loads a silver bullet. + +Edward finally succeeds in throwing the beast off. He rolls to his feet. + +The hell hound squares back on its haunches, GROWLING, ready for another leap. Mr. Soggybottom sheds a clown tear, aiming the revolver at the dog. + +At the last moment... + +EDWARD (CONT'D) +No, wait! + +Edward moves just as Mr. Soggybottom FIRES. The bullet catches Edward in the shoulder, knocking him down. + +The carnies GASP. + +Licking its chops, the dog approaches the helpless Edward, who feels the ground around him, looking for some kind of weapon. He finds only a small stick. He waves it at the dog, ready to strike it. + +Like magic, the dog's whole demeanor changes. It bounces excitedly, ready to play fetch. + +Seeing an opportunity, Edward throws the stick as far as he can. The dog bounds after it, + +SMASHING DOWN THREE CARS. + +It returns a beat later with the flaming stick, which it drops at Edward's feet. Its tail whips back and forth. + +EDWARD (V.O.) (CONT'D) +It was that night I discovered that most things you consider evil or wicked are simply lonely, and lacking in the social niceties. + +Edward throws the stick again. The dog takes off in a new direction. + +TRANSITION TO: + +EXT. FIELD - PRE-DAWN + +Exhausted from playing fetch all night, Edward throws the stick into the woods. The still-spry dog goes after it. It's gone for a long time, long enough that Edward becomes concerned. + +He follows it into the woods. + +INT. WOODS - DAWN + +Amos Calloway stands up behind a bush, buck naked and hairy. He still has the stick in his mouth, which he takes out as Edward approaches. + +AMOS +Didn't kill anything, did I? + +EDWARD +A few rabbits, but I think one of them was already dead. + +AMOS +That would explain the indigestion. + +Edward tosses him his jacket to cover his privates. + +AMOS (CONT'D) +I was wrong about you kid. You may not have much, but what you got, you got a lot of. You could get any girl. + +EDWARD +There's only one I want. + +A beat. + +AMOS +Her name is Sandra Templeton. She's going to Auburn. The semester's almost over, so you better hurry. + +EDWARD +Thank you. + +AMOS +Good luck, kid. + +Edward walks away. Then starts running. He has to get there as soon as possible. + +Amos sits down and scratches his ear with his foot. + +EXT. BIG TOP - DAY + +Edward shakes Karl's giant hand. They hug. + +EDWARD (V.O.) +After saying my goodbyes, I hopped three trains to get to Auburn that afternoon. + +EXT. AUBURN UNIVERSITY - DAY + +We DESCEND ON the main quad, to find Edward Bloom dunking his head in the fountain. + +He changes out of his grubby shirt into a new one, just out of the package. It's the mid-1960's, but by the conservative dress of the passing STUDENTS, it could be any era. + +EXT. SORORITY HOUSE - DAY + +Edward stands with a bouquet of daffodils in front of a half-open door. Through the crack we can see the edge of a YOUNG WOMAN, talking in hushed tones with another girl we can't see. + +Finally, a decision is reached. The door opens to reveal the woman of Edward's dreams, Sandra Kay Templeton. She's effortlessly beautiful, pure and simple as sunlight. + +He can't believe he's finally reached her. He half-laughs, nervous. That makes her laugh, not sure what's going on. + +EDWARD +You don't know me, but my name is Edward Bloom and I am in love with you. I've spent the last three years working to find out who you are. I've been shot and stabbed and trampled a few times, had my ribs broken twice, but it's all worth it to see you here, now, and to finally get to talk to you. Because I am destined to marry you. I knew that from the first moment I saw you at the circus. And I know it now more than ever. + +ON SANDRA, overwhelmed. All she can finally think of to say is... + +SANDRA +I'm sorry. + +EDWARD +Don't need to apologize to me. I mean, I'm the luckiest person you're going to find today... + +She puts her hand on the door frame. On her left ring finger, we see a diamond. + +SANDRA +No I'm sorry, I...I'm engaged to be married. + +ON EDWARD as his heart falls 20 floors. He tries to suppress the reaction, put on a brave front. + +EDWARD +Oh. + +SANDRA +But you're wrong. I _do_ know you, at least by reputation. Edward Bloom from Ashton. See, I'm actually engaged to a boy from Ashton. Don Price. He was a few years older than you. + +FLASHCUTS TO: + +EXT. CREEPY OLD HOUSE - THE GATE - NIGHT + +Young Don Price shines his flashlight on Edward. + +VARIOUS H.S. ATHLETIC COMPETITIONS + +Recapping earlier football, baseball and basketball highlights, we find Edward beats Don every time. + +THE STREET CORNER / ASHTON PARADE + +A smoking Don Price crushes his cigarette as Edward leaves town. + +BACK TO: + +EXT/INT. SORORITY HOUSE - THE DOORWAY + +Edward is dumbstruck. With all the strength he can muster... + +EDWARD +Well. Congratulations. I'm sorry to have bothered you. + +He turns and walks down the front steps. + +She stays in the doorway for a few beats, feeling genuinely horrible for what's happened. But eventually she goes back inside. We hear GIGGLES from inside as her sorority sisters get to the bottom of this. + +SANDRA +Stop it. It's not funny. That poor boy. + +We LEAD Edward as he walks away, tears just starting to form. + +EDWARD (V.O.) +Fate has a cruel way of circling around on you. After all this work to leave Ashton, the girl I loved was now engaged to one of its biggest jerks. + +He EXITS FRAME, leaving only the sorority house in the background. + +EDWARD (V.O.) (CONT'D) +There's a time when a man needs to fight, and a time when he needs to accept that his destiny is lost, that the ship has sailed, and that only a fool would continue. + +A beat. Edward steps back INTO FRAME, looking at the sorority house. + +EDWARD (V.O.) (CONT'D) +The truth is, I've always been a fool. + +We CIRCLE as he shouts: + +EDWARD (CONT'D) +Sandra Templeton! I love you! And I am going to marry you! + +INT. SORORITY HOUSE FOYER - DAY + +Sandra and her SISTERS peer out through the curtains. Is this guy crazy? + +INT. LECTURE HALL - DAY + +The tweedy ECONOMICS PROFESSOR continues his explanation. Sandra isn't paying a lot of attention. + +He switches on the overhead projector without looking at it. There's a TITTER from the STUDENTS, but he doesn't notice. + +A classmate nudges Sandra, who looks up. Written on the projector is "I Love Sandra Templeton." She's horrified and excited at the same time. The professor finally notices what's written there. + +EXT. QUAD - DAY + +Walking with her books, Sandra shakes her head, disbelieving. We look up to the blue sky, where a giant sky-written heart floats in the wind. + +INT. SANDRA'S BEDROOM - [THE NEXT] MORNING + +At her Sisters' prompting, a just-woken Sandra looks out the second-story window to find the lawn filled with + +TEN THOUSAND DAFFODILS. + +Edward stands amid the sea of flowers. He's waited there six hours. + +EXT. SORORITY HOUSE - DAY + +Sandra walks out to him. She's smiling, confused, joyful and scared. All down Greek Street, STUDENTS are coming out to see the display. + +SANDRA +Daffodils? + +EDWARD +They're your favorite flower. + +SANDRA +How did you get so many? + +EDWARD +I called everywhere in five states and explained this was the only way I could get my wife to marry me. + +Out of nowhere, a tear drops down Sandra's cheek. She wipes it off. + +SANDRA +You don't even know me. + +EDWARD +I have the rest of my life to find out. + +From down the street... + +A MAN'S VOICE +Sandra! + +SANDRA +It's Don. Promise me you won't hurt him. + +EDWARD +If that's what you want, I swear to it. + +The adult DON PRICE arrives. He's 230 pounds of football-playing, Skynard-loving, fraternity-proud muscle. And he's pissed. + +A gang of his BROTHERS walk behind him. + +DON PRICE +Bloom! + +EDWARD +Don. + +DON PRICE +What the hell are you doing? This is my girl. Mine! + +EDWARD +I didn't know she belonged to anybody. + +Don Price decks him, knocking him down. Edward gets right back up, but makes no move to defend himself. + +Unfazed, Don slugs him again. + +SANDRA +Stop it! + +DON PRICE +(ignoring) +What the matter, Bloom? Too scared to fight back? + +EDWARD +I promised I wouldn't. + +A beat. Don shrugs, fine. Then proceeds to kick Edward's ass nine ways to Sunday. + +EDWARD (V.O.) (CONT'D) +While I took the beating of a lifetime, it was Don Price who was ultimately defeated. + +As the ass-whupping continues, we + +INTERCUT WITH: + +INT. FRATERNITY HOUSE BATHROOM - DAY [FLASHFORWARD] + +Sitting on the can, Don Price pinches a loaf while reading the new Playboy. + +EDWARD (V.O.) +All the physical activity had worsened a congenital valve defect. Put simply, his heart wasn't strong enough. + +Don Price squeezes down hard, trying to shit the unshittable. Suddenly, he grasps his chest and collapses face-first on the tile. + +MATCH CUT TO: + +EXT. WITCH'S HOUSE / GATE - NIGHT [FLASHBACK] + +The same image of Don's dead face on the tile is reflected in The Eye. + +RETURNING BACK TO: + +EXT. THE SORORITY HOUSE - DAY + +The thrashing continues. Edward somehow fights his way back to his feet, ready to be knocked down again. + +SANDRA +Don! + +Don is about to slug Edward again when he turns. + +Sandra pulls off her engagement ring. There's an audible AHH! from her sisters, and an OHH! from Don's brothers. + +SANDRA (CONT'D) +I will never marry you. + +A beat. Don stands stunned, his mind reeling. + +Edward, whose eyes are swollen almost shut, keeps waiting for the next punch. Where is it? What's going on? + +DON PRICE +What. You love this guy? + +SANDRA +He's almost a stranger and I prefer him to you. + +She hands him the ring. Another beat, then Don storms off. But not before decking Edward one last time. + +Sandra leans over Edward's broken body. His head lies on the daffodils. + +SANDRA (CONT'D) +How can I convince you to stop? + +EDWARD +Go out with me. + +He smiles, his teeth bloody. + +SANDRA +Okay. + +As the crowd of students APPLAUDS and CHEERS, we CRANE UP above the flowered battlefield. + +EDWARD (V.O.) +As it turned out, Sandra was able to keep her same date at the chapel. Only the groom had changed. + +As the MUSIC reaches a crescendo, we suddenly... + +CUT TO: + +INT. GUEST ROOM - NIGHT [PRESENT] + +JOSEPHINE +I thought you said you didn't have a church wedding. + +EDWARD +Well, we were all set to, but there was a complication. + +He reaches for his glass of water, but Josephine already has it for him. She watches him while he slowly drinks the entire glass, thirstier than he imagined. While he's drinking, we... + +CUT TO: + +INT. UPSTAIRS HALLWAY - NIGHT [CONTINUOUS] + +Will, back from the grocery store, reaches the top of the stairs. He hears voices coming from the bedroom. + +JOSEPHINE (O.S.) +Is it the medicine that's making you thirsty? + +EDWARD (O.S.) +Truth is, I've been thirsty my whole life. Never really known why. + +Will quietly approaches the door, not exactly sneaking, but not exactly announcing his presence. The door is open a few inches, letting him look in on his father and his wife. + +INTERCUT HALLWAY / BEDROOM + +EDWARD (CONT'D) +There was one time when I was eleven... + +JOSEPHINE +(gently) +You were talking about your wedding. + +EDWARD +I didn't forget. I was just working on a tangent. See, most men, they'll tell a story straight through, and it won't be complicated, but it won't be interesting either. + +JOSEPHINE +I like your stories. + +EDWARD +And I like you. + +He doesn't let the moment linger with undue sentimentality. There's a story to be told. + +EDWARD (CONT'D) +Now. The thing about working for a circus is you don't have a regular address, and after three years I had a lot of undelivered mail. + +In the hallway, Will shifts to a new position, letting himself listen to the story one more time. + +EDWARD (CONT'D) +During the four weeks I was in the hospital, the postmaster finally caught up with me. + +INT. HOSPITAL - DAY + +Bruised and bandaged, Edward sorts through a big bag of mail with help from Sandra. He rips open an official-looking letter. Reading it, his face drops. + +FLUTE and DRUM, music rising to a military cadence. + +EDWARD (V.O.) +It turned out that while my heart belonged to Sandra, the rest of my body belonged to the U.S. Government. + +INT. ARMY AIRPLANE - NIGHT + +With a buzz cut and paratrooper gear, Edward squats with a dozen other SOLDIERS. The noise of the ENGINES is deafening, but Edward is engrossed in an Asian phrasebook. + +EDWARD (V.O.) +A hitch in the Army was up to three years at that point, and having waited three years just to meet Sandra, I knew I couldn't survive being away from her that long. So I took every hazardous assignment I could find, with the hope of getting my time down to less than a year. + +The JUMP LEADER yells... + +JUMP LEADER +GO! GO! GO! + +One by one the men jump out, their chutes clipped to a main line. When his time comes, Edward leaps... + +...but he's stuck. His cord is caught up in the assembly. + +He twists and struggles, trying to free himself. Looking down, he can see the white parachutes disappearing into the darkness. They're already long gone. + +Digging a knife out of his pocket, Edward gets to work cutting through the cable. It finally POPS. Edward jumps from the plane. + +EXT. OUTSIDE STAGE - NIGHT + +A THOUSAND CHINESE SOLDIERS sit, bored, watching the equivalent of a U.S.O. show. + +A CHINESE VENTRILOQUIST is on stage with his Communist puppet. We have no idea what they're saying to each other, but every act is fundamentally the same. + +The EMCEE comes on to usher him off the stage before he's finished. The Ventriloquist protests, but finally gives in. The Emcee makes a "shoot him in the neck" motion to one of the ARMED GUARDS off-stage. + +EXT. HIGH ABOVE THE STAGE - NIGHT + +We LOOK DOWN with Edward, who is drifting right for the stage. He can't steer. He's helpless. + +But then, a BLAST of fireworks from the sides of the stage. The lights go out as a DRUM ROLL begins. It's just enough cover for Edward to remain unseen. + +He lands with a CLANG on the lighting catwalk above the stage. He barely grabs on, disconnecting his chute just as the curtain goes up. Edward looks out at the sea of excited soldiers. Every one of them would kill him. He's the legless cricket left on the anthill. + +EXT. ON STAGE + +The curtain rises to reveal PING (27) at a microphone. She's as gorgeous a woman as you'll ever see. + +She stands with her hips turned in profile. Her body is a knockout, dress cut to reveal skin. The soldiers are on their feet, WHISTLING and HOLLERING. + +UP ON THE CATWALK, Edward is surprised by an ENEMY SOLDIER. The two men begin to SCUFFLE. + +MUSIC starts, a vampy torch song. Ping sings melody while an off-stage voice carries perfect harmony. + +PING +*Sometimes a girl can feel so alone +Without a lover to call her own. +Sometimes it's so bad, she wants to explode. +Wants to grab the first man she sees and tear off his clothes.* + +A ROAR from the soldiers. She knows what they want. + +Still fighting, Edward jumps for a pole on the far side of the catwalk, sliding down it to end up + +BACKSTAGE. + +His determined opponent follows him down. + +PING (CONT'D) +*But she won't. +No, she can't. +She needs a special **special** different unusual man. +Because that girl, +Who looks like me, +She has wants, but she has needs.* + +PING (CONT'D) +(speaking) +Any of you got needs? + +The soldiers ROAR LOUDER, STOMPING on the bleachers. + +Backstage, the two men are still fighting. + +PING (CONT'D) +(chorus) +*I've had twice the adventure, +Cried double the tears. +Two times the bad times in half the years. +I need a strong man, because I've got +Twice the love to give.* + +For the first time, Ping turns, and now we see why she was standing in profile. Ping is one-half of + +SIAMESE TWINS. + +Her identical twin is JING, who's been singing harmony all this time. They are two separate women who join at the waist, one set of perfect legs beneath them. + +Edward sees the twins from behind, does a double-take. It costs him a punch to the jaw. + +PING (CONT'D) +Say hello, Jing. + +JING +Hello Jing. + +PING +(to the crowd) +I'm Ping. She's Jing. She's the good one. +(closer) +I'm the bad one. + +As the MUSIC builds towards the climax, Edward finishes the fight, knocking the guard out with a right hook. + +As Ping and Jing reach the last chorus, they strike a final pose in the shape of a heart, their arms forming the arches, their backs forming the curves. + +Edward slips behind curtains, trying to get away. + +The soldiers are SHOUTING for an encore, lighters waving. The curtain slowly lowers, revealing + +EDWARD'S PARACHUTE. + +The APPLAUSE dies, replaced by a concerned RUMBLE. The Emcee yells for the Guards to search. + +ON STAGE + +Ping has no idea what's happening. Jing reaches into her cleavage to pull out her eyeglasses. + +INT. DRESSING ROOM - NIGHT + +As ARMED GUARDS search the halls below the stage, Ping and Jing shut the door to their dressing room. At the closet, they start to change outfits. Off-stage, their personalities become quite apparent: Ping is brash, bitchy and ambitious, while Jing is quiet, sweet and bookish. + +_In Chinese, subtitled..._ + +PING +How could you miss your cue? You make me look like a fool, out there alone. + +JING +You weren't alone. + +Ping HUFFS, turning her back on her sister. + +Jing reaches deeper into the closet to find a new dress, exposing Edward's hiding place. She GASPS. Ping turns to look. + +PING +Who the hell are you? + +EDWARD +(in Chinese) +I'm not going to hurt you. + +PING +Damn right you're not. +(yelling) +GUARD! + +Jing grabs her, a hand over her mouth, but it's too late. A rifle-toting GUARD looks in. + +Pretending to be her bitchy sister -- + +JING +Tell your men not to bother us! And lock that door! + +The guard obeys. Ping shakes her sister off. Desperately flipping through his Asian phrasebook, he finds... + +EDWARD +Please, I need your help. + +PING +What makes you think we'll help you? + +Edward pulls a photo out of his flak jacket. It's Sandra. + +CROSSFADE TO: + +VARIOUS SHOTS + +EDWARD (V.O.) +Over the next hour, I described my love for Sandra Kay Templeton, and the ordeal that brought me before them. As it had always been, this love was my salvation. It was destined to be. + +Hearing the story, Jing wipes away a tear. Even Ping is a little affected. + +EDWARD (V.O.)(CONT'D) +We put together an elaborate plan for escape, involving a whaling ship to Russia, a barge to Cuba and a small, dirty canoe to Miami. We all knew it would be dangerous. + +_Still subtitled:_ + +PING +And what are we supposed to do when we get to America? + +EDWARD +I can get you bookings. I know the biggest man in show business. + +JING +Bob Hope? + +EDWARD +Bigger. + +TRANSITION TO: + +EXT. TEMPLETON FAMILY HOUSE - DAY + +Sandra checks the mail, hoping for a letter from Edward. + +EDWARD (V.O.) +And so the twins and I began our arduous journey halfway around the world. Unfortunately, there was no way to send a message back to America. + +A black car pulls up. Two ARMY OFFICERS get out. + +EDWARD (V.O.)(CONT'D) +And so it was no surprise that the Army believed I was dead. + +Hearing the news, Sandra CRIES OUT. The pain of her shout makes church bells RING. + +EXT. BEHIND THE TEMPLETON HOUSE - DAY + +Sandra hangs sheets to dry on the clotheslines, forming a tunnel of fabric. + +EDWARD (V.O.) +After four months, Sandra had gotten over the worst of the nightmares. When the phone rang, she didn't think it was somehow me calling her. When a car drove past, she didn't get up to check out the window. + +Pulling a dress out of the basket, Sandra looks up to see + +A MAN'S SILHOUETTE + +on the sheet in front of her. She freezes, watching the shadow ripple across the white fabric, blowing so softly in the breeze. She knows it can't be him. He's dead. + +She turns away. With all the strength she can gather, she hangs up that dress and digs another one out of the basket. + +Looking up, she sees not a shadow but Edward himself standing before her. She GASPS, disbelieving, but his hand is real. It is destiny. + +Without another moment's hesitation, she kisses him. + +CROSSFADE TO: + +BRIGHT SUNLIGHT + +filters through soft sheets. We're under the covers, where a man's hand traces the curves of a woman's bare back. A beat, then she turns over in bed, revealing her to be + +JOSEPHINE. + +She blinks slowly, just waking up. Will is watching her. He's been up for a while. We are actually... + +INT. WILL AND JOSEPHINE'S ROOM - DAY + +...where the couple stays cocooned under the sheets, a kind of limbo. A kiss good morning. Legs entangling. Neither wants to get up. + +JOSEPHINE +I talked with your father last night. + +WILL +Did you? + +A look to say, should I be worried? + +JOSEPHINE +You never told me how your parents met. + +WILL +They met at Auburn. + +JOSEPHINE +What about the details? How they fell in love. The Circus. The War. You never told me any of that. + +WILL +That's because most of it never happened. + +JOSEPHINE +But it's romantic. + +A beat. + +WILL +(non-committal) +Mmm. + +JOSEPHINE +Mmm, what? + +WILL +Mmm, what. I know better than to argue romance with a French woman. + +He moves his head out from under the sheet. She follows him to the "outside." + +JOSEPHINE +Do you love your father? + +WILL +Everyone loves my father. He's a very likeable guy. + +JOSEPHINE +(repeating) +Do you love him? + +Will doesn't want to answer yes or no. + +WILL +You have to understand. When I was growing up, he was gone more than he was here. And I started thinking -- maybe he has a second life somewhere else. With another house, another family. He leaves us, he goes to them. Or maybe there is no family. Maybe he never wanted a family. But whatever it is, maybe he likes that second life better. And the reason he tells all those stories is because he can't stand this boring place. + +JOSEPHINE +But it's not true. + +WILL +What is "true?" I've never heard my father say a single true thing. + +Off her silence... + +WILL +Look, I know why you like him. I know why everyone likes him. But I need you to tell me I'm not crazy. + +JOSEPHINE +You're not. + +WILL +I need you on my side. + +JOSEPHINE +I am always on your side. And I think you should talk to him. + +INT. GUEST ROOM - DAY + +The family finishes eating breakfast off TV trays set up around the bed. For his part, Edward is looking better. Certainly not recovered, but there's an optimism to his expression. And for the first time, he's actually hungry. + +He watches as Sandra puts the cap back on the syrup. + +EDWARD +Did I ever tell you about how... + +WILL +(interrupting) +Yes. + +Edward is startled. + +WILL (CONT'D) +The maple tree and the Buick. We heard it. + +EDWARD +(re: Josephine) +I think someone hasn't. + +JOSEPHINE +The tree fell on the car, spilling the syrup, which attracted the flies, which got stuck to it and flew off with the whole car. + +A beat. + +EDWARD +(undeterred) +But the real story is how I got the car. You see... + +WILL +(interrupting) +Dad? + +EDWARD +Son? + +WILL +Can we talk? + +Sandra SNAPS the cap back on the syrup. + +SANDRA +I'm going to get started on dishes. + +JOSEPHINE +I'll help you. + +Both women quickly gather plates. + +Will and Edward both smile. The women clearly want this to happen. It settles for a beat after they leave. + +WILL +Do you know much about icebergs, Dad? + +EDWARD +Do I? I saw an iceberg once. They were hauling it down to Texas for drinking water, only they didn't count on an elephant being frozen inside. The woolly kind. A mammoth. + +WILL +(interrupting) +Dad! + +EDWARD +What? + +WILL +I'm trying to make a metaphor here. + +EDWARD +Then you shouldn't have started with a question. Because people want to answer questions. You should have started with, "The thing about icebergs is..." + +WILL +(frustrated) +The thing about icebergs is you only see 10 percent of them. The other 90 percent is below the water where you can't see it. And that's what it is with you Dad. I'm only seeing this little bit that sticks above the water. + +EDWARD +(joking) +What, you're seeing down to my nose? My chin? + +WILL +I have no idea who you are because you have never told me a single fact. + +EDWARD +I've told you a thousand facts. That's all I do, Will. I tell stories. + +WILL +You tell lies, Dad. You tell amusing lies. Stories are what you tell a five-year old at bedtime. They're not elaborate mythologies you maintain when your son is ten and fifteen and twenty and thirty. And the thing is, I believed you. I believed your stories so much longer than I should have. And then when I realized that everything you said was impossible -- everything! -- I felt like such a fool to have trusted you. You were like Santa Claus and the Easter Bunny combined. Just as charming and just as fake. + +EDWARD +You think I'm fake. + +WILL +Only on the surface. But that's all I've ever seen. + +Edward looks away, angry and disbelieving. + +WILL +Dad, I'm about to have a kid of my own here. It would kill me if he went through his whole life never understanding me. + +EDWARD +It would kill you, huh? + +Finally -- + +EDWARD +What do you want, Will? Who do you want me to be? + +WILL +Yourself. Good, bad, everything. Just show me who you are for once. + +EDWARD +I have been nothing but myself since the day I was born. And if you can't see that, it's your failing, not mine. + +EXT. BACKYARD - DAY + +With a skimmer pole, Will cleans the leaves and debris out of the pool, but it's a fool's errand. The pool has long since gone native, a shiny slick of algae on the surface, slime covering the cemented rocks. + +Suddenly, an underwater shape RIPPLES against the water's surface. Will is so startled that he drops the pole, which disappears into the murky water. + +A beat. He looks around, relieved that no one saw that. He casually walks away. + +INT. BASEMENT STORAGE AREA - DAY + +The doors open to reveal Sandra, Will and Josephine, staring into the mouth of oblivion. The storeroom is a museum of hasty decisions and half-finished projects: partially built outboard motors, dead bonsai trees, Frankensteinian lawnmowers. We also find boxes of products Edward used to sell. + +Clearing a path, Sandra leads Will to a roll-top desk, its ribs covered in dust. Two beaten metal file cabinets sit beside it. + +SANDRA +Your father decided he needed to have an office, and it wouldn't do to have it in the house. You'll know better than me what's important. + +With some effort, Will forces up the desktop. With a HISS, a neighbor's cat makes a run for it. Will's getting used to being startled. + +INT. BASEMENT STORAGE AREA - DAY [LATER] + +Will, Sandra and Josephine have worked through two trash bags of papers to throw out. Looking through a new file, Sandra makes a small sound. A memory. + +WILL +What is it? + +Sandra hands Will a yellowed telegram. He shares it with Josephine. + +SANDRA +It was during the war. Your father went missing. They thought he was dead. + +Will can't believe what he's reading. + +WILL +That really happened? + +SANDRA +Not everything your father says is a complete fabrication. + +A beat, then Sandra stands. + +SANDRA +I'm going to check on him. + +JOSEPHINE +I need to lie down for a bit. + +WILL +Go. + +Josephine kisses him, then follows Sandra. Will re-reads the telegram, still bewildered. + +Looking for a place to put it, he tucks it into a strange mechanical hand on the desk. It clamps down automatically. + +Will smiles, a memory. He hasn't thought about this device in years. We slowly PUSH IN on the telegram, held in the hand. + +Edward's VOICE begins as a memory... + +EDWARD (V.O.) +After the war, the sons of Alabama returned home, looking for work. Each had an advantage over me. They were alive, while I was -- officially -- deceased. + +INT. DOWNTOWN OFFICE - DAY [STORY] + +Edward shakes hands with his new boss, a TOUPEED MAN. The company is called "Confederated Products." The OFFICE LADIES all love Edward. + +EDWARD (V.O.) +With my prospects few, I took a job as a travelling salesman. It suited me. If there's one thing you can say about Edward Bloom, it's that I am a social person. + +EXT. COUNTY FAIR - DAY [STORY] + +On a low platform, Edward pitches a brilliant new product to the crowd. + +EDWARD +I've travelled from Tennessee to Timbuktu, and if there's one thing people have in common, is we could all use a hand around the house. + +Edward sets down a contraption, which looks something like a metal lava lamp. Like a flower, it unfolds to reveal five fingers and a thumb. This is the Hand Around the House.(TM) + +EDWARD +Why, with this product you can... + +QUICK MONTAGE as he demonstrates: + +EDWARD +Open a jar. Open a letter. Scratch yourself while wearing mittens. Hold a book. Hold a baby. Hold the dog away from kittens. It's strong enough, you can do a handstand with no hands at all. + +Indeed, a remarkably agile Edward is able to support his entire weight on it. The crowd APPLAUDS. + +EDWARD +You can use it to point out important information. Or dangers. Or beautiful women. + +The hand points a finger at an HEAVYSET MAN IN OVERALLS. + +EDWARD +We're still working on that one. + +The crowd LAUGHS. + +EXT. A COUNTRY ROAD - DAY + +Edward drives, his hand out in the wind. + +EDWARD (V.O.) +Soon I added other products, and other cities, until my territory stretched from the coast to western Texas. + +EXT. TRAILER PARK - DAY + +Edward kisses his pregnant wife goodbye, as much in love as ever. + +EDWARD (V.O.) +I could be gone for weeks at a time. But every other Friday, I'd put all the money I'd made into an account set aside for a proper house with a white picket fence. + +EXT. HORIZON SAVINGS & LOAN - DAY + +Establishing this Texas institution, we come... + +INT. HORIZON SAVINGS & LOAN - DAY + +The bank is busy with the lunch-hour crowd. Taking his place in line, Edward fills out a deposit slip. + +As the line snakes around through the ropes, the man in front of him gets a look at Edward. + +THE MAN +Edward? Edward Bloom? + +The man is none other than... + +NORTHER WINSLOW +It's me. Norther Winslow. + +EDWARD (V.O.) +I was astonished to see the greatest poet of both Ashton and Spectre all the way out in Texas. + +The men shake, disbelieving this lucky coincidence. + +EDWARD (CONT'D) +I don't believe it! + +NORTHER WINSLOW +I want you to know, when you left Spectre it opened my eyes. There was a whole life out there that I was not living. So I travelled. I saw France, and Africa, half of South America. Every day a new adventure, that's my motto. + +EDWARD +That's great, Norther. I'm happy for you. I can't believe I helped. + +He's genuinely proud. + +EDWARD (CONT'D) +So what are you up to now? + +NORTHER WINSLOW +I'm robbing this place. + +Reaching the front of the line, Norther pulls two pistols out of his coat, FIRING both into the ceiling. + +SCREAMS all around. The skinny SECURITY GUARD makes a half-hearted reach for his gun, but Norther waves him off. The guard takes out his gun and slides it over. + +NORTHER WINSLOW (CONT'D) +(to Edward) +Would you mind grabbing that? + +There's nothing threatening about his delivery -- he might as well be asking for a Budweiser. Still, Edward senses it would be best to do as he says. He takes the guard's gun. + +NORTHER WINSLOW (CONT'D) +(to the crowd) +Now, I want all of you to lie down. I'm gonna be cleaning out the cash drawers, and my associate here is going to handle the vault. +(pointing to a Teller Woman) +You help my friend, okay? + +The TELLER WOMAN nods. + +ANGLE ON Edward, not sure what to do. He has a gun, but he truly doesn't want to shoot Norther. The Teller Woman is already waving him to the back. + +He decides he better go. + +INT. AT THE VAULT - DAY + +The Teller Woman is crying as she works the combination. Edward feels horrible. + +EDWARD +Look, I'm really sorry. I just don't want anybody to get hurt. + +TELLER WOMAN +It's not that, it's just... + +She pulls open the vault door. + +INT. THE VAULT - DAY + +The inner sanctum of the Horizon Savings and Loan holds exactly one folding chair. Nothing else. + +TELLER WOMAN +...there's no money. We're completely bankrupt. + +EDWARD (V.O.) +It turned out the savings and loan had already been robbed -- not by armed bandits, but by speculators in Texas real estate. + +TELLER WOMAN +(dead serious) +You gotta promise you won't tell anybody. + +CUT TO: + +INT. EDWARD'S CAR - DAY + +Edward drives the getaway car, though truthfully they're going just a little over the speed limit. No one's following them. It's an empty country road for miles. + +Norther HOLLERS with body-tingling joy as he counts the money. + +NORTHER WINSLOW +Sixty. Eighty. Four hundred dollars! Not bad for just the drawers. Let's see what you got from the vault. + +Edward winces, but doesn't say anything yet. Digging through the vault bag, Norther is surprised to find only a single deposit envelope. He rips it open, revealing just a little cash inside. Even some dimes and pennies. + +NORTHER WINSLOW (CONT'D) +This is it? The whole vault. + +EDWARD +'Fraid so. + +NORTHER WINSLOW +Edward, it's got your deposit slip on it. + +Caught, Edward has to confess... + +EDWARD +Look, I just didn't want you to go empty-handed. There's something you should know, Norther. You see, the reason why... + +Edward continues his narration... + +EDWARD (V.O.) +I told Norther about the vagaries of Texas oil money and its effect on real estate prices, and how lax enforcement of fiduciary process had made savings and loans particularly vulnerable. Hearing this news, Norther was left with one conclusion: + +EXT. TEXAS ROAD - DAY + +Norther leans in the driver's side window. + +NORTHER WINSLOW +I should go to Wall Street. That's where all the money is. + +Edward looks over at Norther, the reality sinking in. + +EDWARD (V.O.) +I knew then that while my days as a criminal were over, Norther's were just beginning. + +The two men wave at each other as Edward drives off. At the last moment, Norther calls out: + +NORTHER WINSLOW +Edward, thank you for the hand! + +He's talking about his Hand Around the House. We HOLD ON Norther for a beat, dreaming of his future. + +EDWARD (V.O.) +When Norther made his first million dollars, he sent me a check for ten thousand. I protested, but he said it was my fee as his career advisor. + +EXT. BLOOM HOUSE [MID/LATE '70'S] - DAY + +Sandra is watering the garden. Will (5) runs past her to greet Edward, just returned from another trip. + +EDWARD (V.O.) +Ten thousand dollars is no fortune to most men. But it was enough to buy my wife a proper house with a white picket fence. + +We reveal the Bloom house, the nicest one in the neighborhood. Edward kisses his wife. + +EDWARD (V.O.) +And for that, it was all the riches a man could ever want. + +Sandra drops the hose, letting it run on the lawn. + +TRANSITION TO: + +INT. BLOOM HOUSE BATHROOM - DAY [PRESENT] + +CLOSE ON Edward's hand as he turns knobs. + +CLOSE ON water SPLASHING into the claw-foot bathtub, which begins to fill. + +Still wearing his pajamas, Edward climbs into the tub. Carefully lowers himself. + +As the water reaches the third button up on his pajama shirt, Edward suddenly slides + +UNDERWATER. + +Bubbles rise from his nose for a few beats, then stop. It's quiet, except for the distant SPLASHING of water from the spigot. Edward's eyes are closed. + +A long beat. Another. Then the SPLASHING water goes silent. Edward opens one eye. The other eye. He sits up to find + +SANDRA + +sitting on the edge of the tub. She doesn't seem particularly worried -- her husband has always done this. + +EDWARD +I was drying out. + +SANDRA +I see. We need to get you one of those plant misters. We can spray you like a fern. + +He smiles, then pulls his knees up, making room for her in the tub. A beat while she considers. + +Sandra steps out of her sandals and climbs into the tub, facing him. Her dress is soaked, but she doesn't mind. + +He leans forward and kisses her. When they separate, she has tears hanging in her eyes. + +EDWARD +Come now. + +He wipes them away. + +SANDRA +I don't think I'll ever dry out. + +INT. BASEMENT STORAGE AREA - DAY + +Perched awkwardly on a canoe, Will's made it through another file cabinet. He goes through the folders page by page, but usually ends up tossing the whole thing in the trash. + +He's about to toss a file when he stops. Takes another look. Something doesn't make sense. + +INT. BLOOM HOUSE / STAIRS - DAY + +Will is headed upstairs when his mother comes around the corner with an armful of laundry, including her wet dress. + +WILL +Is he awake? + +SANDRA +He just fell asleep. Josephine's with him. + +She passes him. He turns. + +WILL +Mom? + +SANDRA +Yes? + +Will quickly debates whether or not to ask her... + +WILL +Did you and Dad have any other property? + +SANDRA +(thinking) +I suppose your grandmother's house when she passed on. But we sold that right away. Your cousin Shirley bought it. + +WILL +So you never bought any land. + +SANDRA +Heavens no. We had a hard enough time keeping the mortgage on this place. + +Will nods, just curious. He continues heading up. + +INT. WILL AND JOSEPHINE'S ROOM - DAY + +Will changes his shirt. Takes his keys off the nightstand. + +EXT. COUNTY ROAD - DAY + +Will's rental car drives past a sign reading, "Ashton, 10 miles." + +INT. WILL'S CAR - DAY / DRIVING + +Will checks the address on one of his father's files. + +EXT. ASHTON GAS - DAY + +Will talks to the ATTENDANT, who points him in a direction, then gestures a series of left, right, left, rights. + +EXT. ROAD - DAY + +Will drives down a road that seems somewhat familiar. And then we realize why: a roadsign reads "Welcome to Spectre!" + +EXT. A LONE HOUSE - DAY + +Sitting at the edge of a swamp, the little two-story feels lonely, set deep in its lot. Dapples of light break through the trees, a light breeze swaying the branches. + +As Will walks from the car, the WHIRR of cicadas grows. He checks the number: 33. This is the house. It is surrounded by a white square-picket fence, identical to his mother's. Will notices this. + +Reaching the porch, we hear a PIANO playing inside. Badly. + +Re-checking the number on a form he's carrying, Will KNOCKS. The piano stops. + +WOMAN'S VOICE (O.S.) +Go back to the start. Right hand only. + +The piano starts again. FOOTSTEPS. + +The door opens to reveal a blonde woman in her 50's -- the woman from the grocery store. Her name is Jenny Hill. + +She and Will are startled to see each other. + +JENNY +Oh. Oh. + +WILL +Hello. + +JENNY +I wasn't expecting you. + +Confused, Will checks the name on the form. + +WILL +Are you Jenny Hill? + +JENNY +I am. And you're Will. I've seen your picture, that's how I recognize you. I almost said something at the store, but it would have been awkward. +(a beat) +Like this. + +The PIANO STUDENT, a black boy of eight, has stopped. He's watching the conversation at the door. Speaking of awkward... + +JENNY (CONT'D) +(to the student) +Listen, Kenny. Why don't we skip the lesson today? We can go again next week. + +She hands him five dollars out of her pocket. + +STUDENT +Do I have to give it back to my Mom? + +JENNY +I won't tell her if you won't. + +You don't have to tell him twice. He's out the door in a flash. + +INT. JENNY'S KITCHEN - DAY + +While Will sips his iced tea, Jenny flips through a form she never expected to see again. She hands it back to Will. + +WILL +How did you know my father? + +JENNY +This was on his sales route, so he was through here all the time. Everyone in town knew him. + +A beat. Not flinching... + +WILL +Were you and my father having an affair? + +JENNY +(taken aback) +Wow. Wow, you just said it. I was expecting to dance around this for another half hour. + +WILL +I've seen him with women. He flirts. He always has. On some level, I presumed he was cheating on my mother. I just never had proof. + +She moves, trying to get out of the corner he's boxed her into. Once she's finally free... + +JENNY +Can I ask you a question? Why did you come here today? If you found this deed, why didn't you just ask Eddie? + +WILL +Because he's dying. + +A long beat. Jenny is taken back by the suddenness of it. She's a tangle of conflicting emotions. + +JENNY +Look, I don't know how much you want to know about any of this. You have one image of your father and it would be wrong for me to go and change it. Especially this late in the game. + +WILL +My father talked about a lot of things he never did, and I'm sure he did a lot of things he never talked about. I'm just trying to reconcile the two. + +Fair enough. Jenny takes a seat across from him at the table. + +JENNY +The first thing you have to understand, is that your father never meant to end up here. And yet he did, twice. The first time, he was early. The second time, he was late. + +INT. EDWARD'S CAR / DRIVING - NIGHT + +It's late, and Edward is pensive. + +JENNY (V.O.) +Those days, your father was working for himself. If there was one thing you could say about Edward Bloom, it's that he was a social person, and people took a liking to him. One night he was returning from three weeks on the road, when he hit a thunderstorm unlike any in his life. + +The first raindrops hit the windshield. Edward turns on the wipers. + +INT. EDWARD'S CAR - NIGHT - [THE STORM] + +Suddenly, a deluge descends. It's not even rain anymore -- there's no space between the drops. It's like being caught in a waterfall. It's that loud. + +No choice, Edward stops the car. Puts on the handbrake. Just as suddenly, the sound changes -- no longer pounding, but softly SPLASHING. The world is close and echoing, because -- + +EXT. EDWARD'S CAR - NIGHT + +-- the car is underwater. The tires are still on the road, but where there used to be air is water. + +Three catfish swim in front of his headlights. + +INT. THE CAR - NIGHT + +Realizing his plight, Edward tries to remain calm. Water is trickling in through the crack between the window and the door, but very slowly. For now, he's fine. + +That's when he sees her -- The Girl in the River. + +She's swimming outside the car. While we never see her face exactly, she remains just as beautiful, just as mysterious, as the first time we saw her. + +She puts her hand to the windshield. He puts his up to meet hers. And smiles. + +FLASH CUT TO: + +EXT. FIELD BY DIRT ROAD - DAY + +It's morning, and the sun shines brightly. Birds CHIRP. Trees drip and the grass shines, still wet from last night's rain. + +Edward gathers the clothes that have spilled out of his suitcase, which broke open when he dropped it from + +HIS CAR, + +which balances precariously ten feet up in an elm tree. As Edward gathers his last pair of socks, he notices a shiny piece of metal sticking out of the dirt. He pulls it out, rubs it off. + +It's a key. It's the Key to the City he lost years ago. + +JENNY (V.O.) +Fate has a way of circling back on a man, and taking him by surprise. + +EXT. ROAD - DAY + +Carrying his busted suitcase, a tired Edward walks toward a one-street town in the distance. We pass a rusty sign... + +"Welcome to Spectre." + +EXT. MAIN STREET - DAY + +Amazed and disbelieving, Edward walks down the center of the road, no cars coming from either direction. He looks up to find his faded shoes still dangling from the power line, along with the rest of the town's. + +JENNY (V.O.) +A man sees things differently at different times in his life. This town didn't seem the same now that he was older. + +EXT. TOWN OF SPECTRE - VARIOUS SHOTS + +We look around the town, on and off Main Street. There are "FOR SALE" signs in many of the windows + +JENNY (V.O.) +A new road had brought the outside world to Spectre, and with it, banks, liens and debt. Almost everywhere you looked, people were bankrupt. + +EXT. SPECTRE - DAY + +We slowly MOVE THROUGH a foreclosure auction to find Edward watching. Two very corporate MEN IN SUITS, stick out among the bidders. + +JENNY (V.O.) +Two different corporations were looking at buying the town, if they could get the price low enough. One wanted to open a chicken processing plant. The other, a municipal dump. Either way, Spectre would be destroyed. + +Edward raises his hand. + +EDWARD +Fifty-thousand! + +Everyone turns to look at this new bidder. + +JENNY (V.O.) +And so Edward Bloom decided to buy the town, in order to save it. + +INT. NORTHER WINSLOW'S MANHATTAN - DAY + +Edward pitches his plan to Norther. + +JENNY (V.O.) +He was never a wealthy man, but he had made other men rich, and now he asked for their favors. + +INT./EXT. VARIOUS LOCATIONS - DAY + +VARIOUS SHOTS: Expressive and passionate as always, Edward talks to Ping, Jing and Amos Calloway. + +JENNY (V.O.) +Most of them had never seen Spectre -- they only had Edward's words to describe it. That's all they needed. He sold them on the dream. + +JING +You can structure it as a historical trust. But you'll need every contiguous piece of property. It's all or nothing. + +As Edward takes notes... + +JENNY (V.O.) +So first he bought the farms. Then he bought the houses. Then he bought the stores. + +INT. AL'S COUNTRY - DAY + +Finishing up with AL, Edward shakes hands. + +JENNY (V.O.) +Whatever he bought, the people were not asked to leave or pay rent or anything. They were just asked to keep doing as they were doing. In that way, he could make sure the town would never die. + +EXT. ROAD IN THE SWAMP - DAY + +Edward climbs out of his car, the road having literally stopped. The sun is shining, but it can barely penetrate the trees' thick canopy. + +JENNY (V.O.) +Within six months, his trust had purchased the entire town. With one exception. + +In the distance, he sees a shack, so old it's nearly fallen. He walks toward it, the marshy ground SQUISHING up around his feet, soaking the hems of his trousers. + +We hear a PIANO playing from inside the shack. Edward KNOCKS on the half-hung door, which swings open by itself. + +INT. SHACK - DAY + +The inside is nicer than you'd think, a real home. A fire burns in the stove, and curtains hang in the windows. + +With her back turned to him, Jenny Hill plays the piano. Edward doesn't recognize her as the little girl who used to have a crush on him. Without turning, she says... + +JENNY +You must be Edward Bloom. + +EDWARD +How did you know? + +She keeps PLAYING. + +JENNY +No one would come out here unless they had business. And no one would have business with me except for you. You're buying the town. + +EDWARD +Apparently I've overlooked this one piece of it, and I'd like to remedy that. You see, in order for the town to be preserved, the trust must own it in its entirety. + +JENNY +So I've heard. + +EDWARD +I'll offer you more than it's worth. And you know you won't have to move. Nothing will change except the name on the deed, you have my word. + +Jenny stops playing, her piece not quite finished. She turns to face him. Edward still doesn't recognize her. + +JENNY +Now let me get this straight. You'll buy the swamp from me, but I'll stay in it. You'll own the house, but it'll still be mine. I'll be here, and you'll come and go as you please to one place or another. Do I have that right? + +Strange to hear it put that way, but -- + +EDWARD +In so many words, yes. + +JENNY +Then I don't think so Mr. Bloom. If nothing is going to change, I'd just as soon it not change in the way it hasn't been changing all this time. + +EDWARD +It's not like you're going to lose anything. You can ask anyone in town. I've been nothing if not generous. I want the best for everyone. + +A long beat. + +JENNY +Mr. Bloom, why are you buying this land? Some sort of midlife crisis? Instead of buying a convertible, you buy a town? + +He looks at her, puzzled and surprised. No one has really asked before. + +EDWARD +Helping people makes me happy. + +JENNY +I'm not convinced you should be happy. + +EDWARD +I'm sorry. Have I offended you? + +She finally turns to face him. + +JENNY +No, you did exactly what you promised. You came back. I was just expecting you sooner. + +FLASHBACK TO: + +EXT. SPECTRE - NIGHT + +Young Jenny Hill watches barefoot Edward leave Spectre for the first time. + +BACK TO: + +INT. SHACK - DAY + +Finally realizing who this woman is... + +EDWARD +You're Beamen's daughter. Your last name is different. +(realizing) +You married. + +JENNY +I was 18. He was 28. Turns out that was a big difference. + +Before he can say anything more... + +JENNY (CONT'D) +I won't be selling you this house, Mr. Bloom. + +EDWARD +I see. I thank you for your time. + +A bit bewildered, Edward tips his hat to her as he leaves. + +EXT/INT. SWAMP SHACK - DAY + +Edward pulls the door shut behind him as he leaves, but it breaks off in his hands. It's not the clean exit he was hoping for. + +Inside Jenny looks out, surprised and annoyed. + +Edward tries to lift the door back on the hinges, but they SNAP off. The door frame buckles and the whole shack CREAKS. + +EDWARD +I'm sorry. + +He tries to lean the door against the frame, but it keeps slipping. + +JENNY +It's okay, just leave it. + +EDWARD +I can get it. I can just... + +He leans the door a different way. It holds for a beat then falls in, SMASHING a small table. + +EDWARD (CONT'D) +Lord, I'm sorry I... + +JENNY +Please. Go. Just go. + +EDWARD +I'll... + +JENNY +Go. + +She's dead serious. Weighing the scales of chivalry, he finally backs away. Turns and heads back towards his car. + +We STAY ON Jenny, watching him go. She's furious, but there's something more in her feelings for him. Something softer. + +JENNY (V.O.) (CONT'D) +Most men in that situation would accept their failure and move on. But Edward was not like most men. + +EXT. SWAMP SHACK ROAD - ANOTHER DAY + +With Karl the Giant's help, Edward unloads a brand new door from a pickup truck. + +EXT. SHACK - DAY + +While Jenny watches, half-annoyed, half-amused, Edward tries to set the door square. Karl pushes against the side of the house until it fits. + +INT. SHACK - ANOTHER DAY + +Holding nails between his lips, Edward puts in new windows himself. Jenny is making soup, laughing at the story he's telling. + +JENNY (V.O.) +As the months passed, he found more and more things to fix, until the shack no longer resembled itself. + +EXT. SWAMP - ANOTHER DAY + +Edward and Karl cut down a tree, letting in a flood of light. Through the golden pollen hanging in the air, we RISE UP to see the shack is now + +THE LOVELY HOUSE + +we saw before. It's tiny and white, with black shutters and a steep roof. A white picket fence. In every detail it is impossibly charming. + +INT. JENNY'S HOUSE - DAY + +Edward is screwing a hat rack into the wall in the foyer. Jenny leans against the doorframe listening to his story. And watching him with deepest affection. + +EDWARD +Of course, the best part was creating new material. By the time the twins and I got to Havana, we had a whole new routine worked out for them, with just a ukulele and a harmonica. + +Finished with his work, he takes his hat off the chair and hangs it on the rack. Perfect. + +A beat. A look between them. With that last job done, there's no reason for him to be staying any longer. + +EDWARD (CONT'D) +I suppose I should... + +He takes his hat off the rack. + +JENNY +You can leave it there. + +A beat. Does she really mean it? + +She comes closer. Edward holds his ground. She takes his hand, lifting his hat up to the peg. She's very close -- just a half-inch from kissing him when -- + +-- Edward gently holds her back. + +EDWARD +No. + +She freezes, stunned and humiliated. She pulls away. + +EDWARD (CONT'D) +Don't. Don't be embarrassed. I should never have let you think that... +(beat) +I am in love with my wife. + +JENNY +I know. + +EDWARD +And from the moment I saw her until the moment I die, she's the only one. + +JENNY +Lucky girl. + +EDWARD +I'm sorry, Jenny. I am. + +With that, he begins to leaves. + +JENNY +Wait! Edward! + +She finds a pen and hastily signs the deed to the house. Hands it to him. With a look, he thanks her. Then goes. + +EXT. SPECTRE - MAGIC HOUR + +Edward takes a final look at this perfect little town. + +JENNY (V.O.) +One day, Edward Bloom left, and never returned to the town he'd saved. + +He climbs in his car and starts the engine. + +EXT. JENNY HILL'S HOUSE - DAY TO NIGHT + +As we watch, the swamp begins to overtake the house, swallowing it in a tangle of vines and mossy branches. Shoots burst up through the planks in the porch. Snakes slither through the marsh. + +Day becomes night. + +JENNY (V.O.)(CONT'D) +As for the girl, the common belief was that she'd become a witch, and crazy at that. She became something of a legend herself. + +We REVERSE to find FOUR KIDS looking in through the rusty iron gate with flashlights. A beat, then they run away. + +JENNY (V.O.)(CONT'D) +And the story ended where it began. + +INT. JENNY HILL'S KITCHEN - PRESENT DAY + +Will and Jenny are still sitting at her table, a pitcher of iced tea between them. + +WILL +Logically, you couldn't be the Witch, because she was old back when he was young. + +JENNY +No, it's logical if you think like your father. See, to him, there's only two women: your mother and everyone else. + +WILL +You didn't become crazy. + +JENNY +Well, therapy. And one day I realized I was in love with a man who could never love me back. I was living in a fairy tale. + +Will smiles to hear it called that. + +JENNY (CONT'D) +People aren't like they are in stories. They hurt each other without meaning to. They are kind and unbelievably cruel at the same moment. Like me, now. I'm not sure I should have told you any of this. + +Her composure is starting to break. + +WILL +No, I wanted to know. I'm glad I know. + +A long beat, both staring at their iced tea. Jenny is working herself into more of a state by not talking. + +JENNY +I wanted to meet you for the longest time. I did. +(a smile) +I envied you so much. The way Eddie would talk about you when you were at Missouri, that award you won. Congratulations, incidentally. And when you got the job at the A.P., everything, he was so proud of you. I mean, that's the thing. Every moment he loved you. + +She's fighting tears, not the first ones she's shed over this. + +JENNY (CONT'D) +And as brightly as the sun would shine when he was with me, every time he left it disappeared. I wanted to be as important to him as you were, and I was never going to be. I was make-believe and his other life, you, were real. + +ANGLE ON Will, sorting through his swirling thoughts. + +JENNY (CONT'D) +You knew that, didn't you? + +CUT TO: + +INT. WILL'S CAR - DAY / DRIVING + +Will skips through the stations on the radio, but ultimately turns it off. He's trying to think. + +EXT. BLOOM HOUSE - DUSK + +Will walks up the front steps. There's a subtle change to his expression, a dark cloud lifted. He unlocks the door. + +INT. BLOOM HOUSE FOYER - DUSK + +It's half-dark and quiet in the house, no talking, no TV. Will sets his keys on the table. + +INT. KITCHEN - DUSK + +Will looks in. Empty. + +WILL +(calling out) +Hello? Mom? Dad? + +INT. UPSTAIRS HALLWAY - DUSK + +We follow Will, looking into his and Josephine's room. He aims for the guest room at the end of the hall. + +INT. GUEST ROOM - DUSK + +Looking over his shoulder, we see his father's bed is empty. The sheets are in a tangle on the floor. + +A beat, then Will half-runs back down the hall. Back down the stairs. + +INT. FOYER - DUSK + +Headed out, Will grabs his keys off the table. We LOOK RIGHT, where the "MESSAGE" light blinks on the answering machine. + +INT. HOSPITAL ENTRANCE - NIGHT + +The hospital is so new, it's not even finished -- thick plastic hangs from exposed framing. There's no one at the information desk, so Will forges ahead. + +INT. HOSPITAL HALLWAY - NIGHT + +Will reads a directory board, trying to decide the best place to start. Then, behind him -- + +JOSEPHINE (O.S.) +Will! + +He turns to see his wife at a payphone. She hangs up. She was calling him. + +WILL +What happened? + +JOSEPHINE +Your father had a stroke. He's upstairs with your mom and Dr. Bennett. + +WILL +Is he going to be okay? + +A beat. How can she answer? + +He half-smiles, realizing the idiocy of his question. Of course his father's not going to be okay. + +WILL (CONT'D) +What I mean is, will he get back to the way he was when... + +She cuts him off -- + +JOSEPHINE +No. He won't. I'm sorry. + +And like that, it's done. We HOLD ON Will, reeling from the news. + +INT. HOSPITAL ROOM - NIGHT + +Edward sleeps peacefully, just an oxygen tube under his nose. There are no beeping monitors, no blinking lights. It's mercifully quiet. + +Sandra squeezes Will's hand tightly. She's holding herself together, but it's been a tough day. + +Dr. Bennett has just gone through the details for the third time. + +SANDRA +I don't suppose one of us could stay with him. In case he... +(beat) +In case he wakes up, one of us should be there. + +WILL +I'll stay. Why don't you go home with Josephine and I'll stay tonight. + +SANDRA +(to Dr. Bennett) +That's okay? + +DR. BENNETT +It's fine. + +SANDRA +(to Will) +You'll call if... + +WILL +I will. I'll call. + +A beat. + +WILL +Mom, do you want some time with Dad? + +SANDRA +Yes. Thank you. + +A nod, then Will holds the door for Dr. Bennett and Josephine as they leave. Sandra is alone in the room with her husband. + +She neatens his hair. Holds his hand. As she kisses his fingers, she tweaks her chin with them -- his signature move. + +TRANSITION TO: + +INT. HOSPITAL HALLWAY - NIGHT + +Sandra waits outside the women's restroom. Her face is a study in strained composure -- acknowledging the inevitable but refusing to surrender to it. + +Josephine emerges. + +JOSEPHINE +I'm sorry. It seems every hour I have to... + +SANDRA +I know. It was the same when I was carrying Will. Like clockwork. + +The two women start to walk, no hurry. + +SANDRA +Do you like it, being pregnant? + +JOSEPHINE +I do. + +SANDRA +I loved it. It sounds peculiar, but I loved every minute of it. I did. Eddie was travelling a lot, so he was gone, but I felt like I always had a piece of him with me. A little part of his soul inside me. I could feel it. It was alive and kicking. + +Sandra has accidentally evoked a storm of emotion. She struggles to keep it in check. Almost a whisper... + +SANDRA +I really miss that. + +With a few breaths, Sandra tries to hold on. Hold back. + +JOSEPHINE +Don't stop. Don't. + +A beat, then Sandra finally melts. Josephine holds her. The two women stand together in the hallway, letting the moment be. + +INT. HOSPITAL ROOM - NIGHT + +Will sits in a chair beside the bed, working through the crossword puzzle. A KNOCK as Dr. Bennett enters with his overcoat and bag, ready to leave for the night. + +DR. BENNETT +Glad to see you're not trying to have a heartfelt talk. It's one of my greatest annoyances, when people talk to those who can't hear them. + +WILL +My father and I have an advantage. We never talk. + +Dr. Bennett smiles as he checks Edward's chart. + +WILL (CONT'D) +How long have you known my father? + +DR. BENNETT +Thirty years. Maybe more. + +WILL +How would you describe him? + +DR. BENNETT +(re: chart) +Five-eleven. One-eighty. Regulated hypertension. +(beat) +How would his son describe him? + +Tables turned, Will searches for an answer. He doesn't have one. + +Dr. Bennett hangs the chart back on the bed. + +DR. BENNETT (CONT'D) +Did your father ever tell you about the day you were born? + +WILL +A thousand times. He caught an uncatchable fish. + +DR. BENNETT +Not that one. The real story. Did he ever tell you that? + +WILL +(suddenly interested) +No. + +DR. BENNETT +Your mother came in about three in the afternoon. Her neighbor drove her, on account of your father was on business in Wichita. You were born a week early, but there were no complications. It was a perfect delivery. Now, your father was sorry to miss it, but it wasn't the custom for the men to be in the room for deliveries then, so I can't see as it would have been much different had he been there. And that's the real story of how you were born. + +A long silence, just the sounds of the hospital, doctors being paged. + +DR. BENNETT (CONT'D) +Not very exciting, is it? And I suppose if I had to choose between the true version and an elaborate one involving a fish and a wedding ring, I might choose the fancy version. But that's just me. + +Will half-smiles. + +Patting Will's shoulder, Dr. Bennett leaves. We STAY ON Will and his father for a long time, then Will takes his pen and starts making a list. + +INT. HOSPITAL ROOM - VARIOUS SHOTS + +Will flips to a new page. The list keeps getting longer. + +He smiles, remembering something. On his fourth page, he looks up at his motionless father. A beat, then we slowly + +CROSSFADE TO: + +INT. HOSPITAL ROOM - PRE-DAWN + +It's very early morning, and the first blue light of day is glowing through the vertical blinds. Still in his chair, Will wakes up a bit at a time. The notepad is on his lap, the pen in his hand. + +He cracks his neck, crooked from sleeping on it wrong. What woke him up? + +He looks to his right. Holds his gaze for a breath. + +WILL +Dad? + +His father is awake, silently GASPING for breath. His eyes are open, scared and confused. + +WILL (CONT'D) +Dad! Do you want me to get a nurse? + +Edward shakes his head unambiguously. Will already has his finger on the orange "nurse call" button, but doesn't push it. + +WILL (CONT'D) +What can I do? Can I help? Can I get you something? Water? + +Edward nods. Will pours a glass from the pitcher on the nightstand. He holds it to his father's lips, but Edward won't drink. He pushes it away. He wanted something else. + +EDWARD +(whispering) +The river. + +WILL +The river? + +It takes Edward all his strength to put together each thought. It's like he's only half-there, fighting to hang on to this world. + +EDWARD +Tell me how it happens. + +WILL +How what happens? + +EDWARD +How I go. + +ON WILL, realizing... + +WILL +You mean what you saw in The Eye? + +Edward nods. Yes, that's what he was trying to say. + +A long beat. + +WILL (CONT'D) +I don't know that story, Dad. You never told me that one. + +Will pushes his fingers under his father's heavy hand, and holds it. There's nothing else to do. + +Edward looks around, confused and increasingly scared. He sees the end approaching, but doesn't know exactly what's coming. Without the story, he's lost. + +Fighting the urge to panic -- + +WILL (CONT'D) +I can try, Dad. If you help. Just tell me how it starts. + +EDWARD +Like this. + +WILL +Okay. Okay. + +Will looks around the room, increasingly desperate. He looks to the nurse call button. He really wants to press it. + +ON EDWARD, waiting for Will to begin. + +WILL (CONT'D) +Okay. It's morning, and you and I are in the hospital. I'd fallen asleep in the chair. I wake up and I see you, and... + +CUT TO: + +INT. HOSPITAL ROOM - DAY [STORY VERSION] + +WILL +Dad? + +It's dawn, and the first golden glow is shining through the vertical blinds. + +WILL (CONT'D) +(louder and concerned) +Dad? + +We LOOK OVER to find a nimble Edward sitting up in bed, combing his hair. + +EDWARD +Let's get out of here. + +WILL (V.O.) +Somehow, you're better. Different. You're getting ready to go. And I say... + +WILL  +Dad, you're in no condition to... + +But Edward throws back the covers. + +EDWARD +There's a fold-up wheelchair in the bathroom. Wrap a blanket around me. As soon as we get off this floor, we'll be in the clear. + +Will heads for the bathroom. Sure enough, the wheelchair is there. + +EDWARD (CONT'D) +Hurry! We don't have much time. + +INT. HOSPITAL HALLWAY - DAY + +With the blanket draped over his head like a ghost, Edward points for his son to steer the wheelchair thataway. + +EDWARD +Faster! + +They pass a HEAVYSET NURSE, who turns to look. + +Rounding a corner, they nearly crash into Dr. Bennett. + +DR. BENNETT +Will! I...What are you doing? + +Before he can answer, Will spots Edward rolling the chair himself, pumping both arms. Will dashes to catch up with him. + +The Heavyset Nurse leans out of Edward's hospital room. + +NURSE +Security! Stop them! + +DOWN THE HALL + +At the elevators, Sandra and Josephine step out to find Will and Edward barreling straight at them. + +EDWARD +No time to explain! Follow us! + +Seeing SECURITY GUARDS heading their way, a quick-thinking Sandra shoves a nearby cart into them, bowling them down. + +INT. ELEVATOR - DAY + +Will brakes hard, sliding with both feet. The chair nearly crashes into the back wall as the doors close. + +EXT. PARKING LOT - DAY + +Will races Edward down the row, finally reaching the Chevrolet. + +AT THE CAR + +Will lifts his father out of the chair. + +WILL (V.O.) +I pick you up and you hardly weigh anything. I can't explain it. + +Will sets him in the passenger seat. + +EDWARD +Water. I need water. + +Scrambling in back, Will finds a liter of Arrowhead. Hands it off. Edward unscrews the cap, but instead of drinking it, he douses himself. Soaks the blanket. + +Will pops the trunk. Starts to fold up the wheelchair. + +EDWARD (CONT'D) +Leave it! We won't need it. + +TIRES SMOKE as the car peals out. + +BACK TO: + +INT. HOSPITAL ROOM - DAY [REALITY] + +TIGHT ON Will, trying to hold back tears as he talks. + +WILL +And we have to take Glenville to avoid all the church traffic, because those damn church people drive too slow. + +TIGHT ON Edward, enjoying that detail. He's focused completely on Will's story. + +WILL (CONT'D) +I ask... + +BACK TO: + +EXT. GLENVILLE BLVD. - DAY [STORY VERSION] + +The Chevy slaloms through the Sunday-morning traffic. + +WILL (O.S.) +Where are we headed? + +WILL (V.O.) +You say... + +INT. CHEVY - DAY + +EDWARD +The River! + +Will stops short, the traffic backed up. He HONKS, trying to get around the jam. But it's no use. + +Then, up ahead, the cars start moving, shoved aside by massive hands. It's Karl the Giant, clearing a path by brute force. + +Edward leans out the window and waves. Karl waves back. + +EXT. ASHTON RIVER - DAY + +The same stretch of the river where it all began. A CROWD of more than 100 waiting. + +WILL (V.O.) +As we get closer to the river, we see everybody's already there. And I mean everybody. + +Amos Calloway is here with the circus folk, including Mr. Soggybottom. We also find Edward's Mother and Father, the Mayor, and many others from along the way. No one has aged a day since we saw them last. + +While Ping scans the horizon, Jing nuzzles with her boyfriend, Norther Winslow. It's Ping who first spots the Chevrolet. + +PING +He's here! + +The crowd CHEERS. The Ashton marching band PLAYS. Jenny Hill smiles. So does the Old Woman. + +We PUSH IN on the Old Woman's glass eye, where we see... + +YOUNG EDWARD + +reflected. This is what he saw. + +INT. THE CHEVROLET - DAY + +Amazed, Will turns to his father. + +WILL +It's unbelievable. + +EDWARD +Story of my life. + +EXT. RIVERSIDE - DAY + +Will gets out of the Chevrolet, overwhelmed by the crowd. Behind him, Sandra, Josephine and Dr. Bennett pull up. Karl comes just after that. + +Crossing to the passenger side, Will lifts his father out. Strangely, he's gotten even lighter. Will carries him easily. + +Edward pulls off his shoes, tying the laces together. He hands them to Josephine. She throws them up at the powerline. They loop over. APPLAUSE and CHEERS. + +The crowd parts to let Will and Edward get to the river. As he passes, Edward shakes some hands, pats some people on the cheek, and gives others a good poke in the ribs. + +WILL (V.O.) +And the strange thing is, there's not a sad face to be found. Everyone's just so glad to see you, and send you off right. + +Will walks into the river, up to his knees. He turns back so his father can face the crowd. Edward waves. + +EDWARD +Goodbye everybody! Farewell! Adieu! + +THE CROWD (VARIOUS) +Goodbye Edward! / See ya! / We'll miss you! + +But one face is missing from the crowd -- Sandra. Will turns to see she's already standing in the river beside them. + +The reflection of the light off the water gives Sandra an unearthly glow. She's more tranquil and more beautiful than we've ever seen her. + +EDWARD +My girl in the river. + +She kisses him. He tweaks her chin. The crowd HOLLERS in approval, but their moment remains strangely private. Only Will is there to witness. + +As the kiss ends, Edward tries to pull off his wedding ring. But it's stuck. Finally, he sucks on it, pulling it free with his teeth. + +A look to Will, a smile with a glint of gold. Will takes the ring out of his mouth. + +Edward suddenly drops out of Will's arms with a SPLASH. For he's no longer a man, but rather + +A FAT CATFISH + +swimming at his feet. + +We watch as the catfish circles, then heads for deeper water, disappearing. + +Will and his mother stand knee-deep in the water, watching Edward Bloom swim away into the sunlight. Josephine is back on the shore, along with the entire crowd. + +MUSIC BUILDS to a climax, then... + +Down the river, a GIANT FISH suddenly jumps out of the water, cutting a beautiful arc across the sunset. It then dives back under with a SPLASH. + +CROSSFADE BACK TO: + +INT. HOSPITAL ROOM - DAY + +Will has tears hanging in the corners of his eyes. + +WILL +You become what you always were. A very big fish. +(he smiles) +And that's the way it happens. + +EDWARD +(a whisper) +Yes. Exactly. + +Edward smiles, proud of both of them. His eyes are so pale and so open, we can almost see his soul. In every atom of his body, in every thought, Edward Bloom is entirely happy. + +And this is how he goes. + +INT. HOSPITAL HALLWAY - DAY + +Will shuts the door to his father's room behind him. The walk to the payphones seems to take a lifetime. + +He finds a quarter, starts to dial. He has to squint to see through the water in his eyes. It's ringing. And ringing. The other end answers. + +WILL +(voice cracking) +Hi. + +That's all he can get out before the dam breaks inside him. He presses closer to the phone, trying to shield himself. + +MUSIC begins that will carry us through the next passage. + +INT. HOSPITAL RECEPTION - DAY + +Will waits at reception as Sandra and Josephine come off the elevator. + +INT. GUEST ROOM - DAY + +Josephine opens the curtains, letting white sunlight in. She strips the bed. + +INT. BEDROOM - DAY + +Will and his mother pick out one of Edward's ties, for Will to wear at the funeral. Will tries to button the cuffs on the shirt he borrowed, but they're the kind that need links. + +He goes through the top drawer of the dresser, trying to find a matching pair. Further down, he finds a ribbon tied to + +THE KEY TO THE CITY. + +He smiles, disbelieving. It's a real thing. + +EXT. CEMETERY / ROAD - DAY + +Will helps his mother out of a black sedan. She's well-composed, not nearly the wreck we might have expected. + +Josephine hugs Dr. Bennett and shakes hands with his WIFE. The service is crowded, more than 200 people, many more than expected. + +As his mother talks to a WELL-WISHER, Will looks left to see an Oldsmobile parking. + +CLOSE ON the license plates. Missouri. + +The passenger side opens, but the man who steps out is barely visible over the door. He shuts it to reveal himself to be 70. + +It's Amos Calloway. Will doesn't recognize him. + +The Driver climbs out, a size 15 foot on the gravel. We TILT UP to see this man is huge. + +This man is KARL, now 55. He's not 12 feet tall, but at least six-eight. + +CLOSE ON Will, bewildered to see that this man really exists. + +EXT. CEMETERY / GRAVESIDE - DAY + +As the service gets ready to begin, Will guides his mother to a seat near the grave. + +Sitting beside Will, Josephine spots a stunning ASIAN WOMAN (50) behind them. A beat later, an identical face with glasses peers out -- the woman's twin sister. + +It's PING and JING. + +Josephine almost GASPS. She elbows Will, who turns to look. From this angle, the sisters seem conjoined, but then Jing steps forward. They're really two separate people. + +A sea of familiar faces, all of them aged through the years: BEAMEN, NORTHER WINSLOW, the MAYOR, and ZACKY PRICE. + +EXT. CEMETERY - DAY [LATER] + +After the service, we see the crowd gathered in small groups. By the LAUGHTER and hand gestures, we can see they're telling stories. They're telling Edward's stories. + +We find Will watching them. + +WILL (V.O.) +Have you ever heard a joke so many times you've forgotten why it's funny? But then you hear it again and suddenly it's new. You remember why you loved it in the first place. + +Will joins in, laughing. + +We slowly CIRCLE BEHIND a monument, letting it black out the screen. + +TRANSITION TO: + +EXT. BLOOM HOUSE BACKYARD - DAY [SUMMER] + +Will sits on the porch with Sandra and Josephine, watching his SON play in the pool with two NEIGHBOR KIDS. + +SON +(to the other boys) +So he said he'd fight the giant who was fifteen feet tall. + +KID +No way. + +SON +(calling over) +Dad, that's right, isn't it? + +WILL +Something like that. + +SON +See. So he was a giant but my grampa was going to fight him because he wasn't afraid of anything because he'd seen how he was going to die in this old lady's glass eye... + +Will smiles as his son continues the tale, which FADES. Sandra takes Will's hand in hers, just listening. + +WILL (V.O.) +That was my father's final joke I guess. A man tells his stories so many times that he becomes the stories. They live on after him. + +CROSSFADE TO: + +EXT. RIVER / UNDERWATER - DAY + +A fat and happy catfish swims towards us. + +WILL (V.O.) +And in that way, he becomes immortal. + +The fish passes us with a SPLASH. + +CUT TO BLACK. + +> _**THE END**_ < \ No newline at end of file diff --git a/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/yGLKHqwFQjuoBahiS.fountain b/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/yGLKHqwFQjuoBahiS.fountain new file mode 100644 index 0000000..a70f696 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/f1nTYw7Jfzcc0d17YN/yGLKHqwFQjuoBahiS.fountain @@ -0,0 +1,29 @@ +Title: Tower +Author: The Tablet ❀ +Source: Song by Angel (Band) — prequel to Out of Phase mv + + + +EXT. the edge of Brian's home village + +~wind is raw, the air is stale + + + +~on this cold winter's night + + + +=== + +==second verse== + +Brian takes out a paper with an invisibility glyph + +Brian sneaks into the back of a carriage + +=== + +~as i look there, up on the hill + +~there it stands, so tall diff --git a/data/99 - fPv2OnUE7ocx/rJ0jB1XIXL58780hrAT/2dwgKh4zIQw15.md b/data/99 - fPv2OnUE7ocx/rJ0jB1XIXL58780hrAT/2dwgKh4zIQw15.md new file mode 100644 index 0000000..64c1fb4 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/rJ0jB1XIXL58780hrAT/2dwgKh4zIQw15.md @@ -0,0 +1,81 @@ +WbRVdyT2j + +- [ ] tr52 + - [ ] 1YOGwU2 + - [ ] AR + - [ ] A0z + - [ ] 5 +- [ ] Pi4cYck0g + dNbOQ + + +## Ff t + +- [ ] oSjQU + - [ ] E + - [ ] i + - [ ] m + - [ ] b +- [ ] 1P + - [ ] X + - [ ] j + - [ ] 1 + - [ ] V +- [ ] xY + - [ ] q + - [ ] 6 + - [ ] A + - [ ] f +- [ ] Ej + - [ ] Fhc +- [ ] NH + 0sd qqm qoFb 6CkV R1Nz + - [ ] 1 + *UZ Dup MsvtVTJ oIM mFC3PB 9Nu nQYE bCT * + - [ ] M + *GBp oo8 QcCO kHf 1evk mUqj * + - [ ] V + *dDD e5B7Ovc Pn QkHTqE1 4WYTqu * + - [ ] a + *WGR Knl c4ht iWOo 7X * + - [ ] B + *scse RMzlQ ola DOrOr al5o A87u * + - [ ] i + *Ypx e5W croz piC * + - [ ] S + *nUr KOf yKPPgU rd4s * + - [ ] Y + *RbabJ5T TsA0 * +- [ ] AY + *Ua pw1 * +- [ ] VN + *TAwor IN Yz2 * +- [ ] B1 + *l79xKdhnnyUH Wba0V2 * +- [ ] l3 + +## 2A i + +- [ ] 8RKQL + - [ ] Lj + - [ ] FP + - [ ] 9z + - [ ] Fu + - [ ] VV + - [ ] OU + - [ ] o1 + - [ ] DM + - [ ] Ef + - [ ] otE +- [ ] IejVBD +- [ ] 23gdyb +- [ ] o5wGxX +- [ ] NVGU GMjjc Ru Co0 +- [ ] 801ptk +- [ ] 0bRA +- [ ] Xw7W rvET +- [ ] EBFYYx +- [ ] rLixX +- [ ] 9 lzo + +PCtc diff --git a/data/99 - fPv2OnUE7ocx/t0rUYsu4BPm49QuxuP/SbnIvD0CwvOrAn7XR7zP.md b/data/99 - fPv2OnUE7ocx/t0rUYsu4BPm49QuxuP/SbnIvD0CwvOrAn7XR7zP.md new file mode 100644 index 0000000..08066a4 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/t0rUYsu4BPm49QuxuP/SbnIvD0CwvOrAn7XR7zP.md @@ -0,0 +1,12 @@ +## Nmlr [W](longURL) + +- [ ] i zCqutm Aw hOxM + - [ ] d7aMd VCBc + - [ ] 6 + - [ ] f + - [x] eSsb [completed:: 2024-03-01] + +## UcU9ATC [W](longURL2) + +- [ ] Hms + - [ ] J9U diff --git a/data/99 - fPv2OnUE7ocx/t0rUYsu4BPm49QuxuP/Z4A5pQsf1l.md b/data/99 - fPv2OnUE7ocx/t0rUYsu4BPm49QuxuP/Z4A5pQsf1l.md new file mode 100644 index 0000000..697d8e4 --- /dev/null +++ b/data/99 - fPv2OnUE7ocx/t0rUYsu4BPm49QuxuP/Z4A5pQsf1l.md @@ -0,0 +1,5 @@ +## NjZiK + +```dataviewjs +dv.view("better-tasks", {path: "dvtest/idk"}) +``` diff --git a/data/li9GICB5phcablmXpa/81SXTAtiouUwbDYR4Ya.md b/data/li9GICB5phcablmXpa/81SXTAtiouUwbDYR4Ya.md new file mode 100644 index 0000000..c1a5fb6 --- /dev/null +++ b/data/li9GICB5phcablmXpa/81SXTAtiouUwbDYR4Ya.md @@ -0,0 +1,7 @@ +```datacorejsx + +return [ +

disambiguation

, + +] +``` diff --git a/data/li9GICB5phcablmXpa/97ucfvf6Pm41s.md b/data/li9GICB5phcablmXpa/97ucfvf6Pm41s.md new file mode 100644 index 0000000..c65da56 --- /dev/null +++ b/data/li9GICB5phcablmXpa/97ucfvf6Pm41s.md @@ -0,0 +1,9 @@ +- [ ] M + - [ ] m + - [ ] 0 + - [ ] O + - [ ] u + - [ ] W + - [ ] H + - [ ] P + - [ ] 4MN diff --git a/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/6UEzpcdcoZ.md b/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/6UEzpcdcoZ.md new file mode 100644 index 0000000..1d87c43 --- /dev/null +++ b/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/6UEzpcdcoZ.md @@ -0,0 +1,23 @@ +###### 5i4dHuPq + +```js +return { + fandoms: { + "diamond head": "fa-gem", + "children of bodom": "fa-scythe", + "plants vs zombies": "fa-trillium", + }, + categories: { + programming: "fa-file-code", + animation: "fa-film", + drawings: "fa-pen-swirl", + zines: "fa-book-sparkles" + }, + subdivisions: { + "alternate universes": "fa-planet-ringed", + writing: "fa-feather-pointed", + drawings: "fa-paintbrush-pencil", + "animated music videos": "fa-music" + } +} +``` diff --git a/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/AqMP5EQRsZ.md b/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/AqMP5EQRsZ.md new file mode 100644 index 0000000..9c0f19d --- /dev/null +++ b/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/AqMP5EQRsZ.md @@ -0,0 +1,144 @@ +```jsx +const {fandoms: fandomIcons, categories: categoryIcons} = await dc.require("root/views/cat-icons.md#category icons") +const PRE_REGEX = /^\d+\s-\s/m; +const tprogress = (t) => { + if(t.$completed) return 1; + let completed = t.$elements.filter(x => x.$completed).length; + let total = Math.max(t.$elements.length, 1); + let a = 0; + t.$elements.forEach(e => { + a += tprogress(e) / total; + }) + return a; +} +const usePath = (path) => dc.useQuery(`childof (@block-list) and $parentLine < 0 and @task and path("${path}") and !#folder-note and !contains($file, "uni")`) + +function TaskTable({rows}) { + //const uniq = dc.useMemo(() => q.map(x => x.$parent).filter((b, i, a) => i === a.findIndex(y => y.$file === b.$file)), [q]); + /*const groups = dc.useMemo(() => uniq + .map((p) => ({key: p, rows: q.filter(b => b.$parent.$id === p.$id)})) + .sort((a, b) => { + let aa = a.key.$file.split("/").toReversed()[0]; + let bb = b.key.$file.split("/").toReversed()[0]; + return aa > bb ? 1 : aa < bb ? -1 : 0; + }), [uniq, q]);*/ + return dc.useMemo(() => { + + const tprops = { + groupings: [ + { + render: (k, r) => { + let kk = k.$file.split("/"); + let block = kk.pop(); + let name = kk[kk.length - 1]; + name = name.substr(0, name.lastIndexOf(".")); + let link = k.$parent.$link.withDisplay(k.$parent.$title) + return (

+ +

) + } + } + ], + rows, + columns: [ + { + id: "one", + title: "task", + value: (x) => x, + render: (v, o) => { + return + }, + width: "maximum" + }, + { + id: "progress", + title: "% done", + value: (x) => x, + render: (v, o) => , + width: "minimum" + } + ], + + paging: 7 + } + return + }, [rows]) +} +function Fandom({projects, name, path}) { + let realName = name.replace(PRE_REGEX, "") + let lastSegment = path.split("/").toReversed()[0] + const title = + return ( + <> + + {projects.map(p => ( + } collapsible={false}> + + + ))} + + + ) +} +function Type({ fandoms, catName }) { +// console.log("tasks", tasks); +// console.log(arr) + let realName = catName.replace(PRE_REGEX, "") + return ( {realName}}> + {fandoms.map(f => ( + ))} + ) +} + +function Master({tasks}) { + return (<> + {tasks.map(x => )} + ) +} + +function ProjectView({type, path}) { + let tmp = path.split("/").toReversed().slice(1).toReversed() + path = tmp.join("/").replace(/\.md$/m, "") + switch(type) { + case "master": { + const gf = o => { + let tmp = o.substring(o.indexOf("/")) + return tmp + } + const tasks = dc.array(usePath(path)).groupBy(o => o.$parent) + .groupBy(ok => ok.key.$file) + .groupBy(ok => { + let t = ok.key; + t = t.substring(0, t.lastIndexOf("/")) + return t + }) + .groupBy((ok) => { + return ok.key.split("/").toReversed().slice(1).toReversed().join("/") + }) + .array() + return + } + case "category": + const tasks = usePath(path); + const fandoms = dc.array(tasks).groupBy(ok => ok.$parent) + .groupBy(ok => ok.key.$file) + .groupBy(ok => { + let tpo = ok.key.split("/").toReversed().slice(1).toReversed().join("/") + return tpo + }).array(); + return + case "fandom": + default: + let projects = dc.array(usePath(path)).groupBy(ok => ok.$parent).groupBy(ok => ok.key.$file).array(); + return + } +} +return {TaskTable, Type, Fandom, ProjectView} +``` + +Dz1PGyklbj diff --git a/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/n6LgorTEBFqE2tMz2Em.md b/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/n6LgorTEBFqE2tMz2Em.md new file mode 100644 index 0000000..5b32c12 --- /dev/null +++ b/data/li9GICB5phcablmXpa/E3u4ssSqXpa1/n6LgorTEBFqE2tMz2Em.md @@ -0,0 +1,75 @@ +```datacorejsx +const tprogress = (t) => { + if(t.$completed) return 1; + let completed = t.$elements.filter(x => x.$completed).length; + let total = Math.max(t.$elements.length, 1); + let a = 0; + t.$elements.forEach(e => { + a += tprogress(e) / total; + }) + return a; +} +function TaskTable({path}) { + let q = dc.useQuery(`childof (@block-list) and $parentLine < 0 and @task and path("${path}") and !#folder-note`); + + const uniq = dc.useMemo(() => q.map(x => x.$parent).filter((b, i, a) => i === a.findIndex(y => y.$file === b.$file)), [q]); + const groups = dc.useMemo(() => uniq + .map((p) => ({key: p, rows: q.filter(b => b.$parent.$id === p.$id)})) + .sort((a, b) => { + let aa = a.key.$file.split("/").toReversed()[0]; + let bb = b.key.$file.split("/").toReversed()[0]; + return aa > bb ? 1 : aa < bb ? -1 : 0; + }), [uniq, q]); + return dc.useMemo(() => { + + const tprops = { + groupings: [ + { + render: (k, r) => { + let kk = k.$file.split("/"); + let block = kk.pop(); + let name = kk[kk.length - 1]; + name = name.substr(0, name.lastIndexOf(".")); + let link = k.$parent.$link.withDisplay(name) + return (

+ +

) + } + } + ], + rows: groups, + columns: [ + { + id: "one", + title: "task", + value: (x) => x, + render: (v, o) => { + return + } + }, + { + id: "progress", + title: "% done", + value: (x) => x, + render: (v, o) => + } + ], + + paging: 7 + } + return + }, [q, groups, uniq]) +} + +function Type({path}) { + +} + +return {TaskTable} +``` + +v83LpIbHQ5 diff --git a/data/li9GICB5phcablmXpa/S4ZMZaiYAWXCq5.md b/data/li9GICB5phcablmXpa/S4ZMZaiYAWXCq5.md new file mode 100644 index 0000000..8908239 --- /dev/null +++ b/data/li9GICB5phcablmXpa/S4ZMZaiYAWXCq5.md @@ -0,0 +1,18 @@ +# yjp + +- VUro +- + +## ygsp + +- [x] jQoW99 yoTd aVa1 KkMA [data:: view] [completed:: 2024-03-01] + - [ ] MaEfQ2 + + - [ ] [[ewOVHG8HgMiiObKwYg|]] + - [ ] *vXCjk* [btfash:: yes] +- MzM + - Xq7 + - ooh +- Oagq 0l nTWA0EjQs c [btfash:: yes] + - 0RHcsfIH2 +- GaH diff --git a/data/li9GICB5phcablmXpa/SRKh3rljUKCjsv7.md b/data/li9GICB5phcablmXpa/SRKh3rljUKCjsv7.md new file mode 100644 index 0000000..58458c9 --- /dev/null +++ b/data/li9GICB5phcablmXpa/SRKh3rljUKCjsv7.md @@ -0,0 +1,3 @@ +```dataview +table file.ctime as ctime +``` diff --git a/data/li9GICB5phcablmXpa/VnJaB469yHoegHV.canvas b/data/li9GICB5phcablmXpa/VnJaB469yHoegHV.canvas new file mode 100644 index 0000000..ce14cbb --- /dev/null +++ b/data/li9GICB5phcablmXpa/VnJaB469yHoegHV.canvas @@ -0,0 +1,10 @@ +{ + "nodes":[ + {"id":"165d0b1603803287","type":"group","x":-160,"y":-120,"width":466,"height":260,"label":"hi?"}, + {"id":"73199d10a14aa064","type":"link","url":"https://tablet.sh","x":-80,"y":-900,"width":400,"height":400}, + {"id":"0bac333a1f96169d","type":"text","text":"ongo bongo long\ntext\n- [ ] hi!","x":-52,"y":-2,"width":250,"height":102}, + {"id":"c2c3c33afa03a0ab","type":"text","text":"","x":-104,"y":-100,"width":355,"height":54}, + {"id":"92875070648ea386","type":"file","file":"02 - projects/10 - programming/10 - programming.md","x":-20,"y":360,"width":380,"height":400} + ], + "edges":[] +} \ No newline at end of file diff --git a/data/li9GICB5phcablmXpa/aVIsQekVZa02lyEu.pdf b/data/li9GICB5phcablmXpa/aVIsQekVZa02lyEu.pdf new file mode 100644 index 0000000..ce581f2 Binary files /dev/null and b/data/li9GICB5phcablmXpa/aVIsQekVZa02lyEu.pdf differ diff --git a/data/li9GICB5phcablmXpa/ftuuloE9MR8ZWuFV.pdf b/data/li9GICB5phcablmXpa/ftuuloE9MR8ZWuFV.pdf new file mode 100644 index 0000000..e9dde1d Binary files /dev/null and b/data/li9GICB5phcablmXpa/ftuuloE9MR8ZWuFV.pdf differ diff --git a/data/li9GICB5phcablmXpa/j1FSVm9VtA7sCK.md b/data/li9GICB5phcablmXpa/j1FSVm9VtA7sCK.md new file mode 100644 index 0000000..d604fc4 --- /dev/null +++ b/data/li9GICB5phcablmXpa/j1FSVm9VtA7sCK.md @@ -0,0 +1,14 @@ +77DC yT 2E6z + +# bcwW + +Inb ONhyT wplI 1GCO +*Ty WaSb * + +- ecX + +MnF [[]] + +RoLKFtl0 + +SKmE5uG diff --git a/data/li9GICB5phcablmXpa/u1SY9oHaZYMv.md b/data/li9GICB5phcablmXpa/u1SY9oHaZYMv.md new file mode 100644 index 0000000..759b49d --- /dev/null +++ b/data/li9GICB5phcablmXpa/u1SY9oHaZYMv.md @@ -0,0 +1,274 @@ +--- +links: + - "[[Untitled 1.canvas|Untitled 1]]" + - "[[Big Fish.fountain]]" + - "[[root/Untitled]]" +--- + +```yaml:data +this: is +some: inline +metadata: + - one + - two + - three + - "[[Big Fish.fountain]]" + - "[[brick&steel.fountain]]" + - lol +``` + +```datacoretsx +const randProg = () => Math.random() * 100 +function SpeshulTable(props) { + let res = dc.useQuery(`@task and $parentLine < 0 and !contains($file, "series bible") and !contains($file, "periodic notes") and !contains($file, "kanban") and !contains($file, "template")`, {debounce: 0}); + let sorted = dc.useMemo(() => { + return res.sort((a, b) => { + let aa = a.$file.split("/").toReversed()[0]; + let bb = b.$file.split("/").toReversed()[0]; + return aa > bb ? 1 : bb > aa ? -1 : 0; + }) + }, [res]) + let groups = dc.useMemo(() => { + let groups = {} + sorted.map(x => x.$file).filter((b, ind, arr) => ind === arr.indexOf(b)).forEach(x => { + groups[x] = sorted.filter(y => y.$file === x) + }) + return groups; + }, [sorted, res]) + let el = dc.useMemo(() => { + + + return
+ {Object.keys(groups).map(x => ( + () + }/> + ))} +
+ }, [sorted, groups, res]) + return el +} + +return (task demo}> + +) + +``` + +```datacorejsx + +//console.clear() + +function IAmOld({children, fac}) { + const div = function div(a, b) { return a / b } + const mul = function mul(a, b) { return a * b } + const [age, setAge] = dc.useState(-Infinity); + + const [pdir, setPdir] = dc.useState(0) + const [paused, setPaused] = dc.useState(true) + const [dir, setDir] = dc.useState(-1) + const prevo = (val) => { + setPdir(dir); + setDir(val); + } + const fn = (paused) => { + if(paused) return; + //console.log("aaaa", age) + if(pdir == 0) prevo(dir) + else if(age == Infinity) { + //console.log(-1) + prevo(-1) + } else if(age == -Infinity) { + //console.log(1) + prevo(1) + } + + let nage = (age == Infinity ? Number.MAX_VALUE : age == -Infinity ? 0-Number.MAX_VALUE : age) + + if(dir < 0 && nage == 0) { + //prevo(1); + nage -= 1 + } else if(dir > 0 && nage == 0) { + nage += 1 + } + let op = mul; + if(nage < 0) { + if(dir == -1) { + op = mul + } else if(dir == 1) { + op = div + } + } else if(nage > 0) { + if(dir == -1) { + op = div + } else if(dir == 1) { + op = mul + } + } + + //console.log(nage) + let res = op(nage.toFixed(), fac) + if(res == -1) { + res = res + 1; + } else if(res == 1) { + res = res - 1 + } else if((res <= 1 && res > 0) || (res >= -1 && res < 0)) { + res = 0; + } + setAge(res); + } + dc.useEffect(() => { + const t = setInterval(() => fn(paused), 500) + return () => { + //console.log("clearing") + clearInterval(t) + } + }, [age, dir, pdir]) + return ( +
+ {children} +
+ + +
+ +
+ {`i am ${age} years old !`} +
+
+ ) +} +let elo = +let cardo = [!gimme an embed]- +> ![[un]]`} + />} +/> + +let ph = + {elo} + + +let pdf = +return [cardo, pdf, ph] +//dc.render(cardo) +//dc.addChild(cardo) +``` + +> beCNJPvH Um MC +> 7prUJbF CcHqgHY nJoiV1p 4IENJyR Gni9mWe cUP6340 N80ndBI tcJ9p0R FFDtc2Z iBt2uMw Pw2QIYi v8wXNos j20GlzE 1IAFPfg PxCXhtG tzERokr fSOrIEN GQo2zA4 MlGLVRq GmjsOcG z8kAKHn vcnZ7FE jIh9gxm Ds57zpN jQVMjqx chsdKwR 28DQaZ8 SRuvP3r Obnk0p9 + +```datacorejsx +function Foo() { + const file = dc.useCurrentFile() + return
stub !
+} +return +``` + +x3USR + +```datacorejsx +return function TableThing() { + const query = dc.useQuery(`@task and $parentLine < 0 and contains($file, "projects")`) + const props = { + filterable: true, + rows: query, + columns: [{ + id: "id", + title: "ID", + value: (o) => o.$id + }, + { + id: "completed", + title: "completed", + value: (o) => o.$completed + }], + paging: 10 + } + return (<> +

{query.length}

+ + ) +} +``` + +[[]] + +- [x] GdZwn **L**C [ratingtest:: 5] [seltest:: 3] [btfash:: true] [multitest:: 1, 3] [completed:: June 30, 2024] +- [x] MMxybFo evcX rq4v t7v1t5zN 2ZAqeeiNVhgJw [completed:: June 28, 2024] [btfash:: true] [seltest:: 6] + +```datacorejsx + +function Maybe() { + const cfc = dc.useCurrentFile().$file + const q = dc.useQuery(dc.parseQuery(`@task and $file = "${cfc}"`), {debounce: 0}) + //console.log(q[0]?.$completed, q[0]?.$symbol, q[0]?.$infields, q[0]?.fields) + let props = dc.useMemo(() => ({ + rows: q, + displayedFields: [ + { + key: "ratingtest", + type: "number", + renderAs: "rating", + defaultValue: 1 + }, + { + key: "btfash", + type: "boolean", + defaultValue: true + }, + { + key: "seltest", + type: "string", + defaultValue: "1", + renderAs: "select", + config: { + options: "brian tatler fucked and abused sean harris!!!!!!!!!!!!!!!".split(" ").map((x, i) => { + return { + value: `${i + 1}`, + label: `${x}` + } + }) + } + }, + { + key: "multitest", + type: "string", + renderAs: "select", + config: { + options: "yksi kaksi kolme nelja viisi kuusi seitseman kahdeksan yhdeksan kymmenen".split(" ").map((x, i) => ({ + value: i + 1, + label: x + })), + multi: true + } + }, + { + key: "completed", + type: "date" + } + ] + }), [q, cfc]) + return +} +return } /> +``` + +[mmtest::] diff --git a/data/oeXVMBL0ZV1sYAJWHo1/4wxQPGjzWULdx2Vnv1n.canvas b/data/oeXVMBL0ZV1sYAJWHo1/4wxQPGjzWULdx2Vnv1n.canvas new file mode 100644 index 0000000..8a8c9d3 --- /dev/null +++ b/data/oeXVMBL0ZV1sYAJWHo1/4wxQPGjzWULdx2Vnv1n.canvas @@ -0,0 +1,12 @@ +{ + "nodes":[ + {"type":"text","text":"lolololol\n","id":"ecbdcf2c22544711","x":-443,"y":-186,"width":250,"height":60}, + {"type":"text","text":"---\nfront: matter\nis: cool\n---\n","id":"3c4a375f3cf8d648","x":-100,"y":-20,"width":250,"height":100}, + {"type":"file","file":"01 - creative/01 - animation/01 - Diamond Head/10 - Outlines and Scripts/10 - musical animatics/fountain scripts/Out of Phase [reanimation].fountain","id":"4bcc3031c48a771b","x":-920,"y":220,"width":400,"height":400}, + {"type":"text","text":"[data:: is cool!]\n\n- [ ] a task lol\n\t- [ ] lol\n- [ ] lol\n\t- [ ] lol\n\t FUCK YOU BITCH\n\t\t- [ ] kek\n- [ ] ...\n\t- [ ] W\n\t\t- [ ] wah\n\t\t- [ ] nah\n\t\t- [ ] lah\n\t\t- [ ] kah\n\t- [ ] try\n\t- [ ] catch\n\t- [ ] finallyyyyyyyyyyyyyyy\n\t pop\n- [ ] kik\n- [ ] AGAIN\n- [ ] AGAIN\n- [ ] AGAIN\n- [ ] AGAIN","id":"fe2b42a8c86d12ee","x":-60,"y":-1200,"width":340,"height":600}, + {"type":"file","file":"root/Untitled.md","id":"bb5b7b7c8de83f2c","x":-233,"y":200,"width":516,"height":857} + ], + "edges":[ + {"id":"e4644f04c176cf38","fromNode":"fe2b42a8c86d12ee","fromSide":"bottom","toNode":"3c4a375f3cf8d648","toSide":"top"} + ] +} \ No newline at end of file diff --git a/data/oeXVMBL0ZV1sYAJWHo1/oOEJ1KdaaZmQMnDA.canvas b/data/oeXVMBL0ZV1sYAJWHo1/oOEJ1KdaaZmQMnDA.canvas new file mode 100644 index 0000000..2d52844 --- /dev/null +++ b/data/oeXVMBL0ZV1sYAJWHo1/oOEJ1KdaaZmQMnDA.canvas @@ -0,0 +1,11 @@ +{ + "nodes":[ + {"id":"27aab25355c0e016","x":1180,"y":-1553,"width":200,"height":246,"color":"#00c853","type":"text","text":"```dataview\ntask from \"02 - projects/10 - programming/30 - rockfic/v3.md\"\n```\n"}, + {"id":"d5d7238bb53a423e","x":600,"y":-1460,"width":360,"height":306,"color":"#00b8d4","type":"text","text":"# nice.\n```dataview\ncalendar file.mtime from \"02 - projects\"\n```\n\n222"}, + {"id":"36a61fbab5cf435f","x":-400,"y":-1480,"width":1380,"height":940,"type":"group","label":"hi"}, + {"id":"4e33644ff747df34","x":-360,"y":-1307,"width":880,"height":640,"color":"#7c4dff","type":"text","text":"```dataviewjs\nawait this.view(\"85 - dataview views/project-view\", {path: \"02 - projects/10 - programming/30 - rockfic\", overviewType: \"master\"})\n```\n"} + ], + "edges":[ + {"id":"cc46795623bf5d4a","fromNode":"36a61fbab5cf435f","fromSide":"right","toNode":"27aab25355c0e016","toSide":"left"} + ] +} \ No newline at end of file diff --git a/ui/table.md b/ui/table.md new file mode 100644 index 0000000..2b16403 --- /dev/null +++ b/ui/table.md @@ -0,0 +1,63 @@ +```datacorejsx +const imported = await dc.require("ui/utils.jsx"); +const {useSortedQuery} = imported; +const tprogress = (t) => { + if(t.$completed) return 1; + let completed = t.$elements.filter(x => x.$completed).length; + let total = Math.max(t.$elements.length, 1); + let a = 0; + t.$elements.forEach(e => { + a += tprogress(e) / total; + }) + return a; +} +return function View() { + const rows = useSortedQuery(`@task and startswith($file, "data/02 - ") and $parentLine < 0 and !#folder-note and regexreplace($cleantext, "^\\s+|\\s+$", "") != ""`, "$cleantext"); + const props = ({ + columns: [ + { + id: "check", + title: "completed", + value: x => x.$completed, + width: "minimum", + render: (v, o) => await dc.setTaskCompletion(n, o)} /> + }, + { + id: "text", + title: "text", + value: (x) => x.$cleantext, + editable: true, + render: (v, o) =>
, + editor: dc.VanillaTextBox, + editorProps: { + markdown: true, + inline: false + }, + onUpdate: async (v, o) => await dc.setTaskText(v, o), + width: "maximum" + }, + { + id: "one", + title: "tasks", + value: (x) => x.$elements, + render: (v, o) => { + return + } + }, + { + id: "progress", + title: "% done", + value: (x) => tprogress(x) * 100, + render: (v, o) => , + width: "minimum" + } + ], + paging: 8 + }) + return (<> + + ) +} +``` diff --git a/ui/task.md b/ui/task.md new file mode 100644 index 0000000..7ddf1a3 --- /dev/null +++ b/ui/task.md @@ -0,0 +1,16 @@ +```datacorejsx +return function View() { + const q = dc.useQuery(`@task and startswith($file, "data/02 - ") and regexreplace($cleantext, "^\\s+|\\s+$", "") != "" and $parentLine < 0`, {debounce: 10}); + const sq = dc.useMemo(() => q.sort((a, b) => a.$cleantext > b.$cleantext ? 1 : a.$cleantext < b.$cleantext ? -1 : 0), [q]) + const fields = [{ + type: "string", + renderAs: "raw", + key: "field", + editable: true, + defaultValue: null + }] + return (<> + + ) +} +``` diff --git a/ui/utils.jsx b/ui/utils.jsx new file mode 100644 index 0000000..842d4e8 --- /dev/null +++ b/ui/utils.jsx @@ -0,0 +1,14 @@ +return { + useSortedQuery(query, sortField, debounce = 1) { + const q = dc.useQuery(query, {debounce}); + const b = dc.useIndexUpdates({debounce}) + const sorter = (it) => { + if(typeof sortField == "function") { + return sortField(it) + } + return it[sortField]; + } + const sq = dc.useMemo(() => q.sort((a, b) => sorter(a) > sorter(b) ? 1 : sorter(a) < sorter(b) ? -1 : 0), [q, sorter, b]); + return sq; + } +}